[
  {
    "path": ".gitattributes",
    "content": "conf/* merge=ours\nDockerfiles/* merge=ours\nssl-self-signed/* merge=ours\ndocker-compose.yml merge=ours"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/00-bug.yaml",
    "content": "# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms\n# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema\nname: Bugs\ndescription: Report a bug to help us improve\ntitle: \"Bug title\"\nlabels:\n  - bug\n\nbody:\n  - type: markdown\n    attributes:\n      value: |\n        Thanks for helping us improve! 🙏 Please answer these questions and provide as much information as possible about your problem.\n\n  # 1. Environment Information (Structured)\n  - type: dropdown\n    id: os\n    attributes:\n      label: Operating System\n      description: Select or specify the exact distribution\n      options:\n        - Windows\n        - macOS\n        - Linux\n        - Other\n    validations:\n      required: true\n\n  - type: input\n    id: os_version\n    attributes:\n      label: OS Version\n      placeholder: e.g., \"Ubuntu 22.04 LTS\" or \"Windows 11 23H2\"\n    validations:\n      required: true\n\n  - type: dropdown\n    id: arch\n    attributes:\n      label: System Architecture\n      options:\n        - x86_64\n        - ARM64\n        - Other\n    validations:\n      required: true\n\n  # 2. Docker Environment\n  - type: input\n    id: docker_version\n    attributes:\n      label: Docker Version\n      placeholder: Output of `docker --version`\n    validations:\n      required: true\n\n  - type: input\n    id: compose_version\n    attributes:\n      label: Docker Compose Version\n      placeholder: Output of `docker-compose --version`\n    validations:\n      required: false\n\n  - type: dropdown\n    id: reproduce_latest\n    attributes:\n      label: Reproducible in Latest Version?\n      options:\n        - \"Yes, occurs in the latest stable release\"\n        - \"No, only in older versions (specify version)\"\n    validations:\n      required: true\n\n  # 3. Core Bug Description (Required)\n  - type: textarea\n    id: steps\n    attributes:\n      label: Reproduction Steps\n      description: Clear sequence to trigger the bug (commands/operations)\n      placeholder: |\n        1. Run `docker-compose up -d`\n        2. Access http://localhost:8080\n        3. ...\n    validations:\n      required: true\n\n  - type: textarea\n    id: observed\n    attributes:\n      label: Observed Behavior\n      description: Error logs, screenshots, or unexpected behavior\n      placeholder: |\n        - Container logs show `ERROR: Permission denied`\n        - Service returns 500 error with headers...\n    validations:\n      required: true\n\n  - type: textarea\n    id: expected\n    attributes:\n      label: Expected Behavior\n      description: Correct behavior or suggested fix\n      placeholder: \"Service should return 200 status with JSON output\"\n    validations:\n      required: true\n\n  # 4. Additional Context (Optional)\n  - type: textarea\n    id: additional\n    attributes:\n      label: Supplemental Information\n      placeholder: Relevant config snippets, stack traces, etc.\n      render: markdown\n    validations:\n      required: false\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/01-enhancement.yaml",
    "content": "# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms\n# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema\nname: Enhancement\ndescription: Suggest an idea for this project\ntitle: \"A good idea\"\nlabels:\n  - Enhancement\n\nbody:\n  - type: markdown\n    attributes:\n      value: |\n        Thanks for helping us improve! 🙏 Please answer these questions and provide as much information as possible about your problem. \n\n  - type: dropdown\n    id: is-problem\n    attributes:\n      label: Is your feature request related to a problem?\n      options:\n        - Option Yes\n        - Option No\n    validations:\n      required: true\n\n  - type: textarea\n    id: description-solution\n    attributes:\n      label: \"Describe the solution you'd like\"\n    validations:\n      required: true\n\n  - type: textarea\n    id: description-considered\n    attributes:\n      label: \"Describe alternatives you've considered\"\n    validations:\n      required: true\n\n  - type: textarea\n    id: additional\n    attributes:\n      label: \"Additional\"\n    validations:\n      required: false"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/02-documentation.yaml",
    "content": "# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms\n# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema\nname: Documentation\ndescription: Suggest improvements or additions to our documentation\ntitle: \"A good idea\"\nlabels:\n  - documentation\n\nbody:\n  - type: markdown\n    attributes:\n      value: |\n        Thanks for helping us improve! 🙏 Please answer these questions and provide as much information as possible about your problem.\n\n  - type: textarea\n    id: description\n    attributes:\n      label: \"Description\"\n      description: \"Please describe your idea in detail.\"\n    validations:\n      required: true\n\n  - type: textarea\n    id: additional\n    attributes:\n      label: \"Additional\"\n    validations:\n      required: false"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/03-question.yaml",
    "content": "# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms\n# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema\nname: Questions\ndescription: I want to ask a question\ntitle: \"Question title\"\nlabels:\n  - question\n\nbody:\n  - type: markdown\n    attributes:\n      value: |\n        Please read the document carefully.\n\n  - type: textarea\n    id: ask\n    attributes:\n      label: \"What do you want to ask?\"\n      description: \"Please describe the details of your questions.\"\n    validations:\n      required: true"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.MD",
    "content": "# BillionMail Pull Request Template\n\n## PR Title Format\n`<type>(<scope>): <description>`  \n**Examples**:\n- `fix(smtp): handle connection timeout during bulk send`\n- `feat(campaign-ui): add A/B testing template selector`\n\n### Type Guidelines\n```\nfix      : Bug fixes (e.g., `fix(auth): prevent login loop`)  \nfeat     : New features (e.g., `feat(analytics): add real-time dashboard`)  \nbuild    : Build system changes (Docker/dependencies)  \nci       : CI/CD workflows (GitHub Actions)  \ndocs     : Documentation updates  \nstyle    : Code formatting (non-functional changes)  \nrefactor : Code restructuring (no functionality change)  \nperf     : Performance improvements  \ntest     : Test-related changes  \nchore    : Maintenance/tooling changes  \n```\n\n**Rules**:\n- **Scope**: Specify module (e.g., `smtp`) or layer (e.g., `frontend`)\n- **Description**:\n    - Use **present tense verbs** (e.g., `add` not `added`)\n    - No ending punctuation, max 76 chars\n\n---\n\n## Linked Issues\nAdd one of these at the PR description's start:\n- `Fixes #1234` → Complete resolution\n- `Updates #1234` → Partial fix/related update\n\n---\n\n## Branch Management\n### Frontend Specific\n- **Target Branch**: `dev-frontend` (All frontend PRs must use this)\n- **Naming Convention**:\n```bash\n# Feature development\nfeat/[description]  # e.g., feat/ab-test-ui\n# Bug fixes\nfix/[issue-id]-[desc]  # e.g., fix/4567-template-render\n```\n\n### Backend/Core\n- **Target Branch**: `main`\n- **Naming Convention**:\n```bash\n# Mail engine\nsmtp/[feature]  # e.g., smtp/rate-limit\n# Infrastructure\ninfra/[change]  # e.g., infra/redis-cluster\n```\n\n---\n\n## PR Description Template\n```markdown\n### Purpose  \n<!-- Why this change is needed (reference project goals) -->\n\n### Implementation  \n<!-- Key code/architecture changes, especially for SMTP/Rspamd -->\n\n### Testing  \n- [ ] Unit tests passed (`npm test`/`go test`)  \n- [ ] Manual steps:  \n~~~bash\n# Example: Test bulk send\nbm send --campaign test --list 1000\n~~~\n- [ ] Impact analysis (e.g., template compatibility/sending rate)\n\n### Additional Context\n<!-- Screenshots, performance metrics, or related docs -->\n```\n\n---\n\n## Automation Integration\n1. **Commit Validation**:  \n   Use `husky` + `commitlint` to enforce conventions:  \n```javascript\n// commitlint.config.js\nmodule.exports = { extends: ['@commitlint/config-conventional'] };\n```\n\n2. **PR Title Check**:  \n   Add GitHub Action to validate PR titles:\n```yaml\n# .github/workflows/pr-check.yml\nuses: amannn/action-semantic-pull-request@v5\n```\n\n> **Tip**: For mail-sending logic changes, verify SPF/DKIM signing\n```\n\n### Key Features\n- **Frontend Isolation**: Explicit `dev-frontend` branch for frontend changes  \n- **Modular Scopes**: Clear module boundaries (e.g., `smtp`, `analytics`) for automated changelogs  \n- **Compliance Ready**: GDPR/SPF checks emphasized for critical components  \n\nThis template can be saved to `.github/PULL_REQUEST_TEMPLATE.md` for automatic application."
  },
  {
    "path": ".gitignore",
    "content": "# IntelliJ project files\n*.iml\n.idea/\nidea/*\n.vscode/*\n.cursor/\ntest/*\nconfig/*\ntemp/\nssl/*\nbm\n.env\nbillionmail.conf\nDBPASS_file.pl\nlogs/\nbackup/\nvmail-data/\npostfix-data/\nrspamd-data/\npostgresql-data/\npostgresql-socket/\nredis-data/\nphp-sock/\nwebmail-data/\ncore-data/\nconf/postfix/conf/vmail_ssl.map\nconf/postfix/conf/vmail_ssl.map.db\nconf/postfix/conf/extra.cf\nconf/postfix/sql/\nconf/core/fail2ban/\nconf/dovecot/conf.d/dovecot-sql.conf.ext\nconf/dovecot/conf.d/extra.cf\nconf/rspamd/local.d/dkim_signing.conf\nconf/rspamd/local.d/redis.conf\nssl-self-signed/cert.pem\nssl-self-signed/key.pem\ncore/billionmail*\n"
  },
  {
    "path": "Dockerfiles/core/Dockerfile",
    "content": "FROM alpine:3.20\n\nLABEL maintainer=\"https://github.com/aaPanel/BillionMail\"\n\n# Set environment variables\nENV LANG=C.UTF-8\nENV LC_ALL=C.UTF-8\n\n\n# Platform-specific binary copy\nARG TARGETARCH\nCOPY core/billionmail-${TARGETARCH} /opt/billionmail/core/billionmail\nCOPY core/manifest /opt/billionmail/core/manifest\nCOPY core/languages /opt/billionmail/core/languages\nCOPY core/public /opt/billionmail/core/public\nCOPY core/resource /opt/billionmail/core/resource\nCOPY core/template /opt/billionmail/core/template\n\n# Copy file\n# COPY repositories /etc/apk/repositories\nCOPY stop-supervisor.sh /stop-supervisor.sh\nCOPY core.sh /core.sh\nCOPY restart_fail2ban.sh /restart_fail2ban.sh\n\n# Install dependencies (using Alpine's apk package manager)\nRUN apk add --no-cache \\\n    bash \\\n    ca-certificates \\\n    curl \\\n    supervisor \\\n    rsyslog \\\n    tzdata \\\n    busybox-extras \\\n    postgresql-client \\\n    fail2ban \\\n    iptables \\\n    ipset \\\n    && rm -rf /var/cache/apk/* \\\n    && chmod +x /stop-supervisor.sh /core.sh /restart_fail2ban.sh /opt/billionmail/core/billionmail\n\n# Copy file\n\nCOPY supervisord.conf /etc/supervisor/supervisord.conf\nCOPY fail2ban.conf /etc/fail2ban/fail2ban.conf\n\n\nENTRYPOINT [\"/core.sh\"]\nCMD [\"/usr/bin/supervisord\", \"-c\", \"/etc/supervisor/supervisord.conf\"]"
  },
  {
    "path": "Dockerfiles/core/core.sh",
    "content": "#!/bin/bash\n\nif [ -f \"/opt/billionmail/.env\" ]; then\n    if ! grep -q \"ADMIN_USERNAME\" /opt/billionmail/.env; then\n        ADMIN_USERNAME=$(LC_ALL=C </dev/urandom tr -dc A-Za-z0-9 2> /dev/null | head -c 8)\n\n        # Default administrator account password \n        echo \"ADMIN_USERNAME=${ADMIN_USERNAME}\" >> /opt/billionmail/.env\n    fi\n\n    if ! grep -q \"ADMIN_PASSWORD\" /opt/billionmail/.env; then\n        ADMIN_PASSWORD=$(LC_ALL=C </dev/urandom tr -dc A-Za-z0-9 2> /dev/null | head -c 8)\n        # Default administrator account password \n        echo \"ADMIN_PASSWORD=${ADMIN_PASSWORD}\" >> /opt/billionmail/.env\n    fi\nfi\n\n# Generate DH params\nif [ ! -f \"/etc/ssl/mail/dh.pem\" ]; then\n    cp -d -n /etc/ssl/ssl-self-signed/* /etc/ssl/mail/\nfi\n\n# # Generate DH params\n# if [ ! -f \"/etc/ssl/mail/dh.pem\" ]; then\n#     openssl dhparam -out /etc/ssl/mail/dh.pem 2048\n# fi\n\n# Remove defaults-debian.conf\nif [ -f \"/etc/fail2ban/jail.d/defaults-debian.conf\" ]; then\n    rm -f /etc/fail2ban/jail.d/defaults-debian.conf\nfi\n\n\n## Initialize fail2ban when y, otherwise delete the rule\n# Enable fail2ban Access restrictions, specify that the IP exceeds the access limit\nif [[ ${FAIL2BAN_INIT} == \"y\" ]]; then\n    ## Copy fail2ban Jail\n    cp -rf /opt/billionmail/conf/core/fail2ban_init/jail.d/*-accesslimit.conf /etc/fail2ban/jail.d/\n\n    if ! grep -q \"restart_fail2ban.sh\" /var/spool/cron/crontabs/root; then\n        chmod +x /restart_fail2ban.sh\n        echo \"02 0,12 * * * bash /restart_fail2ban.sh\" >> /var/spool/cron/crontabs/root\n        chmod 600 /var/spool/cron/crontabs/root\n        chown root:crontab /var/spool/cron/crontabs/root    \n        pkill -9 crond\n    fi\n    bash /restart_fail2ban.sh\n\nelse\n    rm -f /etc/fail2ban/jail.d/*-accesslimit.conf\n    echo -e \"fail2ban: delete the rule\"\nfi\n\n## Copy fail2ban Filter\n# if [ ! -f \"/etc/fail2ban/filter.d/core-limit-filter.conf\" ]; then\n#     cp -f /opt/billionmail/conf/core/fail2ban_init/filter.d/core-limit-filter.conf /etc/fail2ban/filter.d/core-limit-filter.conf\n# fi\ncp -rf /opt/billionmail/conf/core/fail2ban_init/filter.d/*.conf /etc/fail2ban/filter.d/\n\nif [ ! -d \"/opt/billionmail/core/template/\" ]; then\n    mkdir /opt/billionmail/core/template\nfi\n\nif [ ! -d \"/opt/billionmail/core/logs/\" ]; then\n    mkdir /opt/billionmail/core/logs\nfi\n\nif [ ! -f \"/opt/billionmail/core/logs/access-$(date -u +\"%Y%m%d\").log\" ]; then\n    touch /opt/billionmail/core/logs/access-$(date -u +\"%Y%m%d\").log\nfi\n\ncd /opt/billionmail/core/\nchmod +x billionmail\n\n\nexec \"$@\""
  },
  {
    "path": "Dockerfiles/core/fail2ban.conf",
    "content": "# Fail2Ban main configuration file\n#\n# Comments: use '#' for comment lines and ';' (following a space) for inline comments\n#\n# Changes:  in most of the cases you should not modify this\n#           file, but provide customizations in fail2ban.local file, e.g.:\n#\n# [DEFAULT]\n# loglevel = DEBUG\n#\n\n[DEFAULT]\n\n# Option: loglevel\n# Notes.: Set the log level output.\n#         CRITICAL\n#         ERROR\n#         WARNING\n#         NOTICE\n#         INFO\n#         DEBUG\n# Values: [ LEVEL ]  Default: INFO\n#\nloglevel = INFO\n\n# Option: logtarget\n# Notes.: Set the log target. This could be a file, SYSTEMD-JOURNAL, SYSLOG, STDERR or STDOUT.\n#         Only one log target can be specified.\n#         If you change logtarget from the default value and you are\n#         using logrotate -- also adjust or disable rotation in the\n#         corresponding configuration file\n#         (e.g. /etc/logrotate.d/fail2ban on Debian systems)\n# Values: [ STDOUT | STDERR | SYSLOG | SYSOUT | SYSTEMD-JOURNAL | FILE ]  Default: STDERR\n#\nlogtarget = /var/log/fail2ban/fail2ban.log\n\n# Option: syslogsocket\n# Notes: Set the syslog socket file. Only used when logtarget is SYSLOG\n#        auto uses platform.system() to determine predefined paths\n# Values: [ auto | FILE ]  Default: auto\nsyslogsocket = auto\n\n# Option: socket\n# Notes.: Set the socket file. This is used to communicate with the daemon. Do\n#         not remove this file when Fail2ban runs. It will not be possible to\n#         communicate with the server afterwards.\n# Values: [ FILE ]  Default: /var/run/fail2ban/fail2ban.sock\n#\nsocket = /var/run/fail2ban/fail2ban.sock\n\n# Option: pidfile\n# Notes.: Set the PID file. This is used to store the process ID of the\n#         fail2ban server.\n# Values: [ FILE ]  Default: /var/run/fail2ban/fail2ban.pid\n#\npidfile = /var/run/fail2ban/fail2ban.pid\n\n# Option: allowipv6\n# Notes.: Allows IPv6 interface:\n#         Default: auto\n# Values: [ auto yes (on, true, 1) no (off, false, 0) ] Default: auto\n#allowipv6 = auto\n\n# Options: dbfile\n# Notes.: Set the file for the fail2ban persistent data to be stored.\n#         A value of \":memory:\" means database is only stored in memory \n#         and data is lost when fail2ban is stopped.\n#         A value of \"None\" disables the database.\n# Values: [ None :memory: FILE ] Default: /var/lib/fail2ban/fail2ban.sqlite3\ndbfile = /var/lib/fail2ban/fail2ban.sqlite3\n\n# Options: dbpurgeage\n# Notes.: Sets age at which bans should be purged from the database\n# Values: [ SECONDS ] Default: 86400 (24hours)\ndbpurgeage = 1d\n\n# Options: dbmaxmatches\n# Notes.: Number of matches stored in database per ticket (resolvable via \n#         tags <ipmatches>/<ipjailmatches> in actions)\n# Values: [ INT ] Default: 10\ndbmaxmatches = 10\n\n[Definition]\n\n\n[Thread]\n\n# Options: stacksize\n# Notes.: Specifies the stack size (in KiB) to be used for subsequently created threads,\n#         and must be 0 or a positive integer value of at least 32.\n# Values: [ SIZE ] Default: 0 (use platform or configured default)\n#stacksize = 0\n"
  },
  {
    "path": "Dockerfiles/core/repositories",
    "content": "https://mirrors.ustc.edu.cn/alpine/v3.20/main\nhttps://mirrors.ustc.edu.cn/alpine/v3.20/community"
  },
  {
    "path": "Dockerfiles/core/restart_fail2ban.sh",
    "content": "#!/bin/bash\nif [[ ${FAIL2BAN_INIT} == \"y\" ]]; then\n    /usr/bin/fail2ban-client reload core-accesslimit\n    /usr/bin/fail2ban-client reload roundcube-accesslimit\nfi\n"
  },
  {
    "path": "Dockerfiles/core/stop-supervisor.sh",
    "content": "#!/bin/bash\n\nprintf \"Start\\n\";\n\nwhile read line; do\n  echo \"PROCESS event: $line\" >&2;\n  kill -3 $(cat \"/var/run/supervisord.pid\")\ndone < /dev/stdin\n"
  },
  {
    "path": "Dockerfiles/core/supervisord.conf",
    "content": "[supervisord]\nnodaemon=true\nlogfile=/dev/stdout\nlogfile_maxbytes=0\npidfile=/var/run/supervisord.pid\nuser=root\n\n[program:core]\ncommand=/opt/billionmail/core/billionmail\ndirectory=/opt/billionmail/core/\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\nuser=root\nstartsecs=10\npriority=100\n\n[program:fail2ban]\ncommand=/usr/bin/fail2ban-server -xf start\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\nuser=root\nstartsecs=10\npriority=200\n\n\n[program:crond]\ncommand=/usr/sbin/crond -f\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\nuser=root\n\n[eventlistener:processes]\ncommand=/stop-supervisor.sh\nevents=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL\n\n[supervisorctl]\nserverurl=unix:///var/run/supervisord.sock\n\n[unix_http_server]\nfile=/var/run/supervisord.sock\nchmod=0700\n\n[rpcinterface:supervisor]\nsupervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface"
  },
  {
    "path": "Dockerfiles/dovecot/Dockerfile",
    "content": "FROM debian:bookworm-slim\n\nLABEL maintainer=\"https://github.com/aaPanel/BillionMail\"\n\nARG DEBIAN_FRONTEND=noninteractive\nENV LC_ALL=C\n\n## Copy file\nCOPY stop-supervisor.sh /stop-supervisor.sh\nCOPY dovecot.sh /dovecot.sh\nCOPY rotate_log.sh /rotate_log.sh\n\n# COPY debian.sources /etc/apt/sources.list.d/debian.sources\n\n# install dovecot\nRUN apt-get update && apt-get install -y --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages \\\n\tdovecot-core \\\n\tdovecot-dev \\\n\tdovecot-pop3d \\\n\tdovecot-imapd \\\n\tdovecot-lmtpd \\\n\tdovecot-pgsql \\\n\tdovecot-sieve \\\n\tdovecot-ldap \\\n\tsasl2-bin \\\n\tlibsasl2-modules \\\n\tpostgresql-client \\\n\tca-certificates \\\n\tcurl \\\n\tsudo \\\n\tsupervisor \\\n\trsyslog \\\n\ttzdata \\\n\ttelnet \\\n\tcron \\\n\t&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \\\n\t&& mkdir -p /usr/lib/dovecot/sieve \\\n\t&& chmod +x /stop-supervisor.sh /dovecot.sh /rotate_log.sh\n\n\n## Copy the supervisord configuration file\nCOPY supervisord.conf /etc/supervisor/supervisord.conf\n\nCOPY spam-to-folder.sieve /usr/lib/dovecot/sieve/spam-to-folder.sieve\nCOPY report-spam.sieve /usr/lib/dovecot/sieve/report-spam.sieve\nCOPY report-ham.sieve /usr/lib/dovecot/sieve/report-ham.sieve\nCOPY sa-learn-spam.sh /usr/lib/dovecot/sieve/sa-learn-spam.sh\nCOPY sa-learn-ham.sh /usr/lib/dovecot/sieve/sa-learn-ham.sh\n\nENTRYPOINT [\"/dovecot.sh\"]\n# EXPOSE 110 143 993 995\n\nCMD [\"/usr/bin/supervisord\", \"-c\", \"/etc/supervisor/supervisord.conf\"]\n"
  },
  {
    "path": "Dockerfiles/dovecot/debian.sources",
    "content": "Types: deb\nURIs: http://mirrors.ustc.edu.cn/debian\nSuites: bookworm bookworm-updates\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\nTypes: deb\nURIs: http://mirrors.ustc.edu.cn/debian-security\nSuites: bookworm-security\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n"
  },
  {
    "path": "Dockerfiles/dovecot/dovecot.sh",
    "content": "#!/bin/bash\n\n\nid vmail || useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c \"Virtual Mail User\" vmail\nchown -R vmail:mail /var/vmail\n\nif [ ! -f \"/etc/ssl/mail/dh.pem\" ] || [ ! -f \"/etc/ssl/mail/cert.pem\" ] || [ ! -f \"/etc/ssl/mail/key.pem\" ]; then\n    cp -d -n /etc/ssl/ssl-self-signed/* /etc/ssl/mail/\nfi\n\nif ! grep -q \"rotate_log.sh\" /var/spool/cron/crontabs/root; then\n    chmod +x /rotate_log.sh\n    echo \"05 00 * * * bash /rotate_log.sh >> /var/log/mail/rotate_log.log 2>&1\" >> /var/spool/cron/crontabs/root\n    chmod 600 /var/spool/cron/crontabs/root\n    chown root:crontab /var/spool/cron/crontabs/root     \n    /usr/bin/supervisorctl restart cron\nfi\n\ncat <<EOF > /etc/dovecot/conf.d/dovecot-sql.conf.ext\ndriver = pgsql\nconnect = host=pgsql dbname=${DBNAME} user=${DBUSER} password=${DBPASS}\n\ndefault_pass_scheme = MD5-CRYPT\n\nuser_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as mail, 150 AS uid, 8 AS gid, 'maildir:storage=' || quota AS quota FROM mailbox WHERE username = '%u' AND active = 1\n\npassword_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 8 as userdb_gid FROM mailbox WHERE username = '%u' AND active = 1\n\n\nEOF\n\nchmod +x /usr/lib/dovecot/sieve/sa-learn-spam.sh\nchmod +x /usr/lib/dovecot/sieve/sa-learn-ham.sh\nsievec /usr/lib/dovecot/sieve/spam-to-folder.sieve\nsievec /usr/lib/dovecot/sieve/report-spam.sieve\nsievec /usr/lib/dovecot/sieve/report-ham.sieve\n\nexec \"$@\""
  },
  {
    "path": "Dockerfiles/dovecot/report-ham.sieve",
    "content": "require [\"vnd.dovecot.pipe\", \"copy\", \"imapsieve\", \"environment\", \"variables\"];\n\nif environment :matches \"imap.mailbox\" \"*\" {\n  set \"mailbox\" \"${1}\";\n}\n\nif string \"${mailbox}\" \"Trash\" {\n  stop;\n}\n\nif environment :matches \"imap.user\" \"*\" {\n  set \"username\" \"${1}\";\n}\n\npipe :copy \"sa-learn-ham.sh\" [ \"${username}\" ];\n"
  },
  {
    "path": "Dockerfiles/dovecot/report-spam.sieve",
    "content": "require [\"vnd.dovecot.pipe\", \"copy\", \"imapsieve\", \"environment\", \"variables\"];\n\nif environment :matches \"imap.user\" \"*\" {\n  set \"username\" \"${1}\";\n}\n\npipe :copy \"sa-learn-spam.sh\" [ \"${username}\" ];\n"
  },
  {
    "path": "Dockerfiles/dovecot/rotate_log.sh",
    "content": "#!/bin/bash\necho \" ---- $(date) START ----\"\n\nLOG_DIR=\"/var/log/mail\"\nLOG_FILE=\"${LOG_DIR}/mail.log\"\nDATE=$(date +%Y%m%d)\nBACKUP_FILE=\"${LOG_DIR}/mail-${DATE}.log\"\n\n# Retention days\nRETENTION_DAYS=${RETENTION_DAYS:-7}\n# echo \"Retention days: ${RETENTION_DAYS}\"\n\n# backup log\nif [ -f \"${LOG_FILE}\" ]; then\n  echo \"Backup log: ${LOG_FILE}\"\n\tmv \"${LOG_FILE}\" \"${BACKUP_FILE}\"\n\n  # Restart rsyslog\n  if [ -f \"/var/run/rsyslogd.pid\" ]; then\n      kill -HUP $(cat /var/run/rsyslogd.pid) >/dev/null 2>&1\n      if [ $? -ne 0 ]; then\n          echo \"Restart rsyslogd\"\n          /usr/bin/supervisorctl restart rsyslog\n      fi\n  else\n      /usr/bin/supervisorctl restart rsyslog\n  fi\n\nelse\n\techo \"The log file does not exist: ${LOG_FILE}\"\n  echo \"\"\n\texit 1\nfi\n\n\n# sleep 2\n# CHECK_RSYSLOG=$(/usr/bin/supervisorctl status rsyslog|grep RUNNING)\n# if [ -z \"${CHECK_RSYSLOG}\" ]; then\n#   echo \"rsyslog is not running, Starting...\"\n#   /usr/bin/supervisorctl restart rsyslog\n# fi\n\n# CHECK_dovecot=$(/usr/bin/supervisorctl status dovecot|grep RUNNING)\n# if [ -z \"${CHECK_dovecot}\" ]; then\n#   echo \"dovecot is not running, Starting...\"\n#   /usr/bin/supervisorctl restart dovecot\n# fi\n\n# Compress backup files\nif [ -f \"${BACKUP_FILE}.gz\" ]; then\n  mv \"${BACKUP_FILE}.gz\" \"${BACKUP_FILE}_1.gz\"\nfi\necho \"Compressing: \"${BACKUP_FILE}\"\"\ngzip \"${BACKUP_FILE}\"\n\n# Clean up expiration logs\necho \"Cleaning up expiration logs:\"\nfind \"${LOG_DIR}\" -name \"mail-*.log.gz\" -type f -mtime +${RETENTION_DAYS} -print -delete\n\necho \" ---- $(date) END ----\"\necho \"\"\n\n# 10MB in bytes\nSIZE_THRESHOLD=$((10 * 1024 * 1024))\nTARGET_LOG=\"${LOG_DIR}/rotate_log.log\"\nGZIP_LOG=\"${LOG_DIR}/rotate_log-${DATE}.log\"\n# Check whether the target log file exceeds 10 m, if so, compress\nif [ -f \"${TARGET_LOG}\" ]; then\n    FILE_SIZE=$(stat -c %s \"${TARGET_LOG}\")\n    \n    if [ ${FILE_SIZE} -gt ${SIZE_THRESHOLD} ]; then\n        echo \"Log file ${TARGET_LOG} exceeds 10M, compress...\"\n        mv \"${TARGET_LOG}\" \"${GZIP_LOG}\"\n        gzip \"${GZIP_LOG}\"\n    fi\nfi\nfind \"${LOG_DIR}\" -name \"rotate_log-*.gz\" -type f -mtime +${RETENTION_DAYS} -delete\n"
  },
  {
    "path": "Dockerfiles/dovecot/sa-learn-ham.sh",
    "content": "#!/bin/sh\n# exec /usr/bin/rspamc -h rspamd:11334 learn_ham\n\n\nUSERNAME=\"$1\"\necho \"$USERNAME\" >> /tmp/learnham\n\n/usr/bin/curl -X POST --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd:11334/learnham\n"
  },
  {
    "path": "Dockerfiles/dovecot/sa-learn-spam.sh",
    "content": "#!/bin/sh\n# exec /usr/bin/rspamc -h rspamd:11334 learn_spam\n\nUSERNAME=\"$1\"\necho \"$USERNAME\" >> /tmp/learnspam\n/usr/bin/curl -X POST --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd:11334/learnspam\n"
  },
  {
    "path": "Dockerfiles/dovecot/spam-to-folder.sieve",
    "content": "require [\"fileinto\"];\n\nif header :is \"X-Spam\" \"Yes\" {\n        fileinto \"Junk\";\n}\n"
  },
  {
    "path": "Dockerfiles/dovecot/stop-supervisor.sh",
    "content": "#!/bin/bash\n\nprintf \"Start\\n\";\n\nwhile read line; do\n  echo \"PROCESS event: $line\" >&2;\n  kill -3 $(cat \"/var/run/supervisord.pid\")\ndone < /dev/stdin\n"
  },
  {
    "path": "Dockerfiles/dovecot/supervisord.conf",
    "content": "[supervisord]\nnodaemon=true\nlogfile=/dev/stdout\nlogfile_maxbytes=0\npidfile=/var/run/supervisord.pid\nuser=root\n\n[program:rsyslog]\ncommand=/bin/sh -c \"rm -f /run/rsyslogd.pid && exec /usr/sbin/rsyslogd -n -i /run/rsyslogd.pid\"\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\n\n[program:dovecot]\ncommand=/bin/sh -c \"rm -f /run/dovecot/master.pid && exec /usr/sbin/dovecot -F\"\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\nstartsecs=10\nstopasgroup=true\nkillasgroup=true\n\n[program:cron]\ncommand=/usr/sbin/cron -f\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\nuser=root\n\n\n[eventlistener:processes]\ncommand=/stop-supervisor.sh\nevents=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL\n\n[supervisorctl]\nserverurl=unix:///var/run/supervisor.sock\n\n[unix_http_server]\nfile=/var/run/supervisor.sock\nchmod=0700\n\n[rpcinterface:supervisor]\nsupervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface"
  },
  {
    "path": "Dockerfiles/postfix/Dockerfile",
    "content": "FROM debian:bookworm-slim\n\nLABEL maintainer=\"https://github.com/aaPanel/BillionMail\"\n\nARG DEBIAN_FRONTEND=noninteractive\nENV LC_ALL=C\n\nRUN dpkg-divert --local --rename --add /sbin/initctl \\\n\t&& dpkg-divert --local --rename --add /usr/bin/ischroot \\\n\t&& ln -sf /bin/true /sbin/initctl \\\n\t&& ln -sf /bin/true /usr/bin/ischroot\n\n## Copy postfix file\nCOPY postfix.sh /postfix.sh\nCOPY stop-supervisor.sh /stop-supervisor.sh\nCOPY rotate_log.sh /rotate_log.sh\n\n# COPY debian.sources /etc/apt/sources.list.d/debian.sources\n\n# Add groups and users install Postfix\nRUN groupadd -g 102 postfix \\\n  && groupadd -g 103 postdrop \\\n  && useradd -g postfix -u 101 -d /var/spool/postfix -s /usr/sbin/nologin postfix \\\n  && apt-get update && apt-get install -y --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages \\\n\tca-certificates \\\n\tcurl \\\n\tdirmngr \\\n\tdnsutils \\\n\tgnupg \\\n\tlibsasl2-modules \\\n\tpostgresql-client \\\n\tpostfix \\\n\tpostfix-pgsql \\\n\tpostfix-pcre \\\n\tsasl2-bin \\\n\tsudo \\\n\tsupervisor \\\n\trsyslog \\\n\ttelnet \\\n\tnet-tools \\\n\ttzdata \\\n\tcron \\\n\t&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \\\n\t&& chmod +x /postfix.sh /stop-supervisor.sh /rotate_log.sh\n\n## Copy the supervisord configuration file\n\nCOPY supervisord.conf /etc/supervisor/supervisord.conf\n\n# EXPOSE 25 465 587\n\nCMD [\"/usr/bin/supervisord\", \"-c\", \"/etc/supervisor/supervisord.conf\"]\n"
  },
  {
    "path": "Dockerfiles/postfix/debian.sources",
    "content": "Types: deb\nURIs: http://mirrors.ustc.edu.cn/debian\nSuites: bookworm bookworm-updates\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\nTypes: deb\nURIs: http://mirrors.ustc.edu.cn/debian-security\nSuites: bookworm-security\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n"
  },
  {
    "path": "Dockerfiles/postfix/postfix.sh",
    "content": "#!/bin/bash\n\ntrap \"postfix stop\" EXIT\n\nif ! grep -q \"rotate_log.sh\" /var/spool/cron/crontabs/root; then\n    chmod +x /rotate_log.sh\n    echo \"00 00 * * * bash /rotate_log.sh >> /var/log/mail/rotate_log.log 2>&1\" >> /var/spool/cron/crontabs/root\n    chmod 600 /var/spool/cron/crontabs/root\n    chown root:crontab /var/spool/cron/crontabs/root     \n    /usr/bin/supervisorctl restart cron\nfi\n\ncat <<EOF > /etc/postfix/btrule.cf\n\nuser = ${DBUSER}\npassword = ${DBPASS}\nhosts = pgsql\ndbname = ${DBNAME}\n\nquery = select s.goto from( select address, goto, 1 as stype from alias union select username,username,2 as stype from mailbox union select address, goto, 3 as stype from alias_domain a left join alias b on b.address = '@' || a.alias_domain and a.alias_domain ='%d' order by stype) s where s.address='%s' or s.stype=3 limit 0,1\n\nEOF\n\ncat <<EOF > /etc/postfix/sql/pgsql_virtual_alias_domain_catchall_maps.cf\n\nuser = ${DBUSER}\npassword = ${DBPASS}\nhosts = pgsql\ndbname = ${DBNAME}\n\nquery = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = '@' || alias_domain.target_domain AND alias.active = 1 AND alias_domain.active = 1\n\nEOF\n\ncat <<EOF > /etc/postfix/sql/pgsql_virtual_alias_domain_mailbox_maps.cf\nuser = ${DBUSER}\npassword = ${DBPASS}\nhosts = pgsql\ndbname = ${DBNAME}\n\nquery = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = '%u' || '@' || alias_domain.target_domain AND mailbox.active = 1 AND alias_domain.active = 1\n\nEOF\n\ncat <<EOF > /etc/postfix/sql/pgsql_virtual_alias_domain_maps.cf\nuser = ${DBUSER}\npassword = ${DBPASS}\nhosts = pgsql\ndbname = ${DBNAME}\n\nquery = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = '%u' || '@' || alias_domain.target_domain AND alias.active = 1 AND alias_domain.active = 1\n\nEOF\n\n\ncat <<EOF > /etc/postfix/sql/pgsql_virtual_alias_maps.cf\nuser = ${DBUSER}\npassword = ${DBPASS}\nhosts = pgsql\ndbname = ${DBNAME}\n\nquery = (select username from mailbox where username like '%s' and active = 1 limit 1) union (select goto from alias where address like '%s' and active = 1 limit 1)\n\nEOF\n\n\n\ncat <<EOF > /etc/postfix/sql/pgsql_virtual_domains_maps.cf\nuser = ${DBUSER}\npassword = ${DBPASS}\nhosts = pgsql\ndbname = ${DBNAME}\n\nquery = SELECT domain FROM domain WHERE domain='%s' AND active = 1\n\nEOF\n\n\n\ncat <<EOF > /etc/postfix/sql/pgsql_virtual_mailbox_maps.cf\nuser = ${DBUSER}\npassword = ${DBPASS}\nhosts = pgsql\ndbname = ${DBNAME}\n\nquery = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1\n\nEOF\n\n\n# Append myhostname and User configuration\nif [ -z \"${BILLIONMAIL_HOSTNAME}\" ]; then\n  BILLIONMAIL_HOSTNAME=mail.example.com\nfi\n\n\nif [ -f \"/etc/postfix/conf/extra.cf\" ]; then\n  # Delete all contents of Overrides-configuration matching line to the end of the file\n  sed '/Overrides-configuration/q' /etc/postfix/main.cf > /tmp/main.cf.tmp\n\n  if [ -s \"/tmp/main.cf.tmp\" ]; then\n      cat /tmp/main.cf.tmp > /etc/postfix/main.cf\n      # rm -f /tmp/main.cf.tmp\n      echo >> /etc/postfix/main.cf\n      echo -e \"\\n# User Overrides-configuration\" >> /etc/postfix/main.cf\n      # Append User configuration\n      sed -i '/\\$myhostname/! { /myhostname/d }' /etc/postfix/conf/extra.cf\n      echo -e \"myhostname = ${BILLIONMAIL_HOSTNAME}\\n$(cat /etc/postfix/conf/extra.cf)\" > /etc/postfix/conf/extra.cf\n      cat /etc/postfix/conf/extra.cf >> /etc/postfix/main.cf\n      rm -f /etc/postfix/conf/extra.cf\n  else\n      echo \"Rewriting /etc/postfix/main.cf failed, /tmp/main.cf.tmp is empty.\"\n  fi\nfi\n\nCHECK_MYHOSTNAME=$(grep \"myhostname\" /etc/postfix/main.cf | grep -v '$myhostname')\nif [ -z \"${CHECK_MYHOSTNAME}\" ]; then\n  echo >> /etc/postfix/main.cf\n  echo -e \"\\n# User Overrides-configuration\" >> /etc/postfix/main.cf\n  echo \"myhostname = ${BILLIONMAIL_HOSTNAME}\" >> /etc/postfix/main.cf\nfi\n\nif [ ! -f \"/etc/postfix/conf/vmail_ssl.map\" ]; then\n  touch /etc/postfix/conf/vmail_ssl.map\nfi\npostmap -F hash:/etc/postfix/conf/vmail_ssl.map;\n\n\n\n# Fix Postfix permissions\nchgrp -R postdrop /var/spool/postfix/public\nchgrp -R postdrop /var/spool/postfix/maildrop\n#postfix set-permissions\n\nif [ -e \"/var/spool/postfix/pid/master.pid\" ]; then\n  rm -rf /var/spool/postfix/pid/master.pid\nfi\n\nif [ -d \"/var/spool/postfix/\" ]; then\n  [ ! -d \"/var/spool/postfix/dev/\" ] && mkdir /var/spool/postfix/dev\nfi\n\n# Check Postfix configuration\npostconf -c /etc/postfix/ > /dev/null\n\nif [[ $? != 0 ]]; then\n  echo \"Postfix configuration error, Startup failed.\"\n  exit 1\nelse\n  postfix start-fg\nfi\n"
  },
  {
    "path": "Dockerfiles/postfix/rotate_log.sh",
    "content": "#!/bin/bash\necho \" ---- $(date) START ----\"\n\nLOG_DIR=\"/var/log/mail\"\nLOG_FILE=\"${LOG_DIR}/mail.log\"\nDATE=$(date +%Y%m%d)\nBACKUP_FILE=\"${LOG_DIR}/mail-${DATE}.log\"\n\n# Retention days\nRETENTION_DAYS=${RETENTION_DAYS:-7}\n# echo \"Retention days: ${RETENTION_DAYS}\"\n\n# backup log\nif [ -f \"${LOG_FILE}\" ]; then\n  echo \"Backup log: ${LOG_FILE}\"\n\tmv \"${LOG_FILE}\" \"${BACKUP_FILE}\"\n\n  # Restart rsyslog\n  if [ -f \"/var/run/rsyslogd.pid\" ]; then\n      kill -HUP $(cat /var/run/rsyslogd.pid) >/dev/null 2>&1\n      if [ $? -ne 0 ]; then\n          echo \"Restart rsyslogd\"\n          /usr/bin/supervisorctl restart rsyslog\n      fi\n  else\n      /usr/bin/supervisorctl restart rsyslog\n  fi\n\nelse\n\techo \"The log file does not exist: ${LOG_FILE}\"\n  echo \"\"\n\texit 1\nfi\n\n\n# sleep 2\n# CHECK_RSYSLOG=$(/usr/bin/supervisorctl status rsyslog|grep RUNNING)\n# if [ -z \"${CHECK_RSYSLOG}\" ]; then\n#   echo \"rsyslog is not running, Starting...\"\n#   /usr/bin/supervisorctl restart rsyslog\n# fi\n\n# CHECK_POSTFIX=$(/usr/bin/supervisorctl status postfix|grep RUNNING)\n# if [ -z \"${CHECK_POSTFIX}\" ]; then\n#   echo \"Postfix is not running, Starting...\"\n#   /usr/bin/supervisorctl restart postfix\n# fi\n\n# Compress backup files\nif [ -f \"${BACKUP_FILE}.gz\" ]; then\n  mv \"${BACKUP_FILE}.gz\" \"${BACKUP_FILE}_1.gz\"\nfi\necho \"Compressing: \"${BACKUP_FILE}\"\"\ngzip \"${BACKUP_FILE}\"\n\n# Clean up expiration logs\necho \"Cleaning up expiration logs:\"\nfind \"${LOG_DIR}\" -name \"mail-*.log.gz\" -type f -mtime +${RETENTION_DAYS} -print -delete\n\necho \" ---- $(date) END ----\"\necho \"\"\n\n# 10MB in bytes\nSIZE_THRESHOLD=$((10 * 1024 * 1024))\nTARGET_LOG=\"${LOG_DIR}/rotate_log.log\"\nGZIP_LOG=\"${LOG_DIR}/rotate_log-${DATE}.log\"\n# Check whether the target log file exceeds 10 m, if so, compress\nif [ -f \"${TARGET_LOG}\" ]; then\n    FILE_SIZE=$(stat -c %s \"${TARGET_LOG}\")\n    \n    if [ ${FILE_SIZE} -gt ${SIZE_THRESHOLD} ]; then\n        echo \"Log file ${TARGET_LOG} exceeds 10M, compress...\"\n        mv \"${TARGET_LOG}\" \"${GZIP_LOG}\"\n        gzip \"${GZIP_LOG}\"\n    fi\nfi\nfind \"${LOG_DIR}\" -name \"rotate_log-*.gz\" -type f -mtime +${RETENTION_DAYS} -delete\n"
  },
  {
    "path": "Dockerfiles/postfix/stop-supervisor.sh",
    "content": "#!/bin/bash\n\nprintf \"Start\\n\";\n\nwhile read line; do\n  echo \"PROCESS event: $line\" >&2;\n  kill -3 $(cat \"/var/run/supervisord.pid\")\ndone < /dev/stdin\n"
  },
  {
    "path": "Dockerfiles/postfix/supervisord.conf",
    "content": "[supervisord]\nnodaemon=true\nlogfile=/dev/stdout\nlogfile_maxbytes=0\npidfile=/var/run/supervisord.pid\nuser=root\n\n[program:rsyslog]\ncommand=/bin/sh -c \"rm -f /run/rsyslogd.pid && exec /usr/sbin/rsyslogd -n -i /run/rsyslogd.pid\"\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\n\n[program:postfix]\ncommand=/postfix.sh\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\nstartsecs=10\n\n[program:cron]\ncommand=/usr/sbin/cron -f\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\nuser=root\n\n\n[eventlistener:processes]\ncommand=/stop-supervisor.sh\nevents=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL\n\n[supervisorctl]\nserverurl=unix:///var/run/supervisor.sock\n\n[unix_http_server]\nfile=/var/run/supervisor.sock\nchmod=0700\n\n[rpcinterface:supervisor]\nsupervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface\n"
  },
  {
    "path": "Dockerfiles/rspamd/Dockerfile",
    "content": "FROM debian:bookworm-slim\n\nLABEL maintainer=\"https://github.com/aaPanel/BillionMail\"\n\nARG DEBIAN_FRONTEND=noninteractive\nARG RSPAMD_VER=rspamd_3.11.1-1~ab0b44951\nARG CODENAME=bookworm\nENV LC_ALL=C\n\nCOPY rspamd.sh /rspamd.sh\nCOPY stop-supervisor.sh /stop-supervisor.sh\nCOPY rotate_log.sh /rotate_log.sh\n\n# COPY debian.sources /etc/apt/sources.list.d/debian.sources\n\n\nRUN apt-get update && apt-get install -y \\\n  tzdata \\\n  ca-certificates \\\n  gnupg2 \\\n  apt-transport-https \\\n  dnsutils \\\n  netcat-traditional \\\n  wget \\\n  redis-tools \\ \n  procps \\ \n  vim-tiny \\\n  lua-cjson \\\n  cron \\\n  supervisor \\\n  && arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \\\n  && wget -O /tmp/${RSPAMD_VER}~${CODENAME}_${arch}.deb https://rspamd.com/apt-stable/pool/main/r/rspamd/${RSPAMD_VER}~${CODENAME}_${arch}.deb \\\n  && apt install -y /tmp/${RSPAMD_VER}~${CODENAME}_${arch}.deb \\\n  && rm -rf /var/lib/apt/lists/* /tmp/*\\\n  && apt-get autoremove --purge \\\n  && apt-get clean \\\n  && mkdir -p /run/rspamd \\\n  && chown _rspamd:_rspamd /run/rspamd \\\n  && chmod +x /rspamd.sh /stop-supervisor.sh /rotate_log.sh \\\n  && echo 'alias ll=\"ls -la --color\"' >> ~/.bashrc\n\nCOPY supervisord.conf /etc/supervisor/supervisord.conf\n\nENTRYPOINT [\"/rspamd.sh\"]\n\nSTOPSIGNAL SIGTERM\n\n# CMD [\"/usr/bin/rspamd\", \"-f\", \"-u\", \"_rspamd\", \"-g\", \"_rspamd\"]\nCMD [\"/usr/bin/supervisord\", \"-c\", \"/etc/supervisor/supervisord.conf\"]\n"
  },
  {
    "path": "Dockerfiles/rspamd/debian.sources",
    "content": "Types: deb\nURIs: http://mirrors.ustc.edu.cn/debian\nSuites: bookworm bookworm-updates\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\nTypes: deb\nURIs: http://mirrors.ustc.edu.cn/debian-security\nSuites: bookworm-security\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n"
  },
  {
    "path": "Dockerfiles/rspamd/rotate_log.sh",
    "content": "#!/bin/bash\necho \" ---- $(date) START ----\"\n\nLOG_DIR=\"/var/log/rspamd\"\nLOG_FILE=\"${LOG_DIR}/rspamd.log\"\nDATE=$(date +%Y%m%d)\nBACKUP_FILE=\"${LOG_DIR}/rspamd-${DATE}.log\"\n\n# Retention days\nRETENTION_DAYS=${RETENTION_DAYS:-7}\n# echo \"Retention days: ${RETENTION_DAYS}\"\n\n# backup log\nif [ -f \"${LOG_FILE}\" ]; then\n  echo \"Backup log: ${LOG_FILE}\"\n\tmv \"${LOG_FILE}\" \"${BACKUP_FILE}\"\n\n  # Restart rspamd\n  /usr/bin/pkill -USR1 rspamd\n  if [ $? -ne 0 ]; then\n    echo \"Restart rspamd\"\n    /usr/bin/supervisorctl restart rspamd\n  fi\n\nelse\n\techo \"The log file does not exist: ${LOG_FILE}\"\n  echo \"\"\n\texit 1\nfi\n\n# Compress backup files\nif [ -f \"${BACKUP_FILE}.gz\" ]; then\n  mv \"${BACKUP_FILE}.gz\" \"${BACKUP_FILE}_1.gz\"\nfi\necho \"Compressing: \"${BACKUP_FILE}\"\"\ngzip \"${BACKUP_FILE}\"\n\n# Clean up expiration logs\necho \"Cleaning up expiration logs:\"\nfind \"${LOG_DIR}\" -name \"rspamd-*.log.gz\" -type f -mtime +${RETENTION_DAYS} -print -delete\n\necho \" ---- $(date) END ----\"\necho \"\"\n\n# 10MB in bytes\nSIZE_THRESHOLD=$((10 * 1024 * 1024))\nTARGET_LOG=\"${LOG_DIR}/rotate_log.log\"\nGZIP_LOG=\"${LOG_DIR}/rotate_log-${DATE}.log\"\n# Check whether the target log file exceeds 10 m, if so, compress\nif [ -f \"${TARGET_LOG}\" ]; then\n    FILE_SIZE=$(stat -c %s \"${TARGET_LOG}\")\n    \n    if [ ${FILE_SIZE} -gt ${SIZE_THRESHOLD} ]; then\n        echo \"Log file ${TARGET_LOG} exceeds 10M, compress...\"\n        mv \"${TARGET_LOG}\" \"${GZIP_LOG}\"\n        gzip \"${GZIP_LOG}\"\n    fi\nfi\nfind \"${LOG_DIR}\" -name \"rotate_log-*.gz\" -type f -mtime +${RETENTION_DAYS} -delete\n"
  },
  {
    "path": "Dockerfiles/rspamd/rspamd.sh",
    "content": "#!/bin/bash\n\n\nif ! grep -q \"rotate_log.sh\" /var/spool/cron/crontabs/root; then\n    chmod +x /rotate_log.sh\n    echo \"10 00 * * * bash /rotate_log.sh >> /var/log/rspamd/rotate_log.log 2>&1\" >> /var/spool/cron/crontabs/root\n    chmod 600 /var/spool/cron/crontabs/root\n    chown root:crontab /var/spool/cron/crontabs/root     \n    /usr/bin/supervisorctl restart cron\nfi\n\n\nchmod 755 /var/lib/rspamd\nchown -R _rspamd:_rspamd /var/lib/rspamd\n\ncat <<EOF > /etc/rspamd/local.d/redis.conf\nservers = \"redis:6379\"; # Read servers (unless write_servers are unspecified)\nwrite_servers = \"redis:6379\"; # Servers to write data\ndisabled_modules = [\"ratelimit\"]; # List of modules that should not use redis from this section\ntimeout = 10s;\ndb = \"0\";\npassword = \"${REDISPASS}\";\nEOF\n\nexec \"$@\"\n"
  },
  {
    "path": "Dockerfiles/rspamd/stop-supervisor.sh",
    "content": "#!/bin/bash\n\nprintf \"Start\\n\";\n\nwhile read line; do\n  echo \"PROCESS event: $line\" >&2;\n  kill -3 $(cat \"/var/run/supervisord.pid\")\ndone < /dev/stdin\n"
  },
  {
    "path": "Dockerfiles/rspamd/supervisord.conf",
    "content": "[supervisord]\nnodaemon=true\nlogfile=/dev/stdout\nlogfile_maxbytes=0\npidfile=/var/run/supervisord.pid\nuser=root\n\n[program:rspamd]\ncommand=/usr/bin/rspamd -f -u _rspamd -g _rspamd\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\n\n[program:cron]\ncommand=/usr/sbin/cron -f\nautostart=true\nautorestart=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\nuser=root\n\n\n[eventlistener:processes]\ncommand=/stop-supervisor.sh\nevents=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL\n\n[supervisorctl]\nserverurl=unix:///var/run/supervisor.sock\n\n[unix_http_server]\nfile=/var/run/supervisor.sock\nchmod=0700\n\n[rpcinterface:supervisor]\nsupervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n\n  A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate.  Many developers of free software are heartened and\nencouraged by the resulting cooperation.  However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n\n  The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community.  It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server.  Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n\n  An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals.  This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU Affero General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Remote Network Interaction; Use with the GNU General Public License.\n\n  Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software.  This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time.  Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU Affero General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU Affero General Public License for more details.\n\n    You should have received a copy of the GNU Affero General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source.  For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code.  There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\n<https://www.gnu.org/licenses/>."
  },
  {
    "path": "README-ja.md",
    "content": "<div align=\"center\">\n  <a name=\"readme-top\"></a>\n  <h1><a href=\"https://www.billionmail.com/\" target=\"_blank\">BillionMail 📧</a></h1>\n\n\n## スマートなキャンペーンのためのオープンソースメールサーバー／メールマガジン／Eメールマーケティングソリューション\n\n[![][license-shield]][license-link] [![][docs-shield]][docs-link] [![][github-release-shield]][github-release-link] [![][github-stars-shield]][github-stars-link]\n\n[English](README.md) | [简体中文](README-zh_CN.md) | 日本語 | [Türkçe](README-ja.md)\n</div>\n<br/>\n\n<div align=\"center\">\n<a href=\"https://trendshift.io/repositories/13842\" target=\"_blank\"><img src=\"https://trendshift.io/api/badge/repositories/13842\" alt=\"aaPanel%2FBillionMail | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/></a>\n</div>\n\n## BillionMailとは？\n\nBillionMailは、ビジネスや個人がメールキャンペーンを簡単に管理できるよう設計された**オープンソースのメールサーバー兼Eメールマーケティングプラットフォーム**です。ニュースレター、プロモーションメール、取引通知などを送信する際に、メールマーケティングのすべてを**完全にコントロール**できます。**高度な分析機能**や**顧客管理機能**を活用し、プロフェッショナルのようにメールを作成、送信、トラッキングできます。\n\n![BillionMailバナー](https://www.billionmail.com/home.png?v1)\n\n# たった3ステップで10億通のメールを送信！\n**10億通のメール。あらゆるビジネスに。保証付き。**\n\n### Step 1️⃣ BillionMailのインストール \n✅ インストールから**8分**で**✅ メール送信成功**まで完了します\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh\n````\n\n### Step 2️⃣ ドメインを接続する\n\n* 送信ドメインを追加\n* DNSレコードを検証\n* 無料SSLを自動有効化\n\n### Step 3️⃣ キャンペーンを構築する\n\n* メールを作成または貼り付け\n* リストとタグを選択\n* 送信日時を設定または今すぐ送信\n\n<div align=\"center\">\n  <a href=\"https://www.youtube.com/embed/UHgxZa_9jGs?si=0-f1B5hDtcWImvQv\" target=\"_blank\">\n    <img src=\"https://img.youtube.com/vi/UHgxZa_9jGs/maxresdefault.jpg\" alt=\"\" width=\"80%\">\n    <br />\n    <img src=\"https://www.iconfinder.com/icons/317714/download/png/16\" alt=\"YouTube\" width=\"16\"/>\n    <b>YouTubeで視聴</b>\n  </a>\n</div>\n\n## その他のインストール方法\n\n👉 [https://www.aapanel.com/new/download.html](https://www.aapanel.com/new/download.html)\n\n### aaPanelでワンクリックインストール\n\n**Docker**\n\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -d\n```\n\n## 管理スクリプト\n\n* 管理ヘルプ\n\n  `bm help`\n\n* デフォルトログイン情報を表示\n\n  `bm default`\n\n* ドメインのDNSレコードを表示\n\n  `bm show-record`\n\n* BillionMailを更新\n\n  `bm update`\n\n## ライブデモ\n\nBillionMailデモ: [https://demo.billionmail.com/billionmail](https://demo.billionmail.com/billionmail)\n\nユーザー名: `billionmail`\n\nパスワード: `billionmail`\n\n## Webメール\n\nBillionMailには**RoundCube**が統合されており、`/roundcube/`からWebメールにアクセスできます。\n\n## なぜBillionMailを選ぶのか？\n\nほとんどのEメールマーケティングプラットフォームは**高価**、**クローズドソース**、または**基本機能が不足**しています。BillionMailはこれらと異なります：\n\n✅ **完全オープンソース** – 隠れたコストなし、ベンダーロックインなし。\n📊 **高度な分析機能** – メール配信、開封率、クリック率などを追跡。\n📧 **送信数無制限** – 送信メール数に制限なし。\n🎨 **カスタマイズ可能なテンプレート** – プロフェッショナルなマーケティングテンプレートを再利用可能。\n🔒 **プライバシーファースト** – データは自分のサーバーにあり、サードパーティによる追跡なし。\n🚀 **セルフホスト** – 自分のサーバーで実行し、完全にコントロール可能。\n\n## どうすれば貢献できるか 🌟\n\nBillionMailは**コミュニティ主導のプロジェクト**であり、立ち上げには皆さんのサポートが必要です！以下の方法でご参加ください：\n\n1. **このリポジトリにスターを付ける**：スターを付けて関心を示しましょう。\n2. **情報を拡散する**：開発者、マーケター、オープンソース愛好家にBillionMailを紹介しましょう。\n3. **フィードバックを共有する**：Issueを立てるかディスカッションに参加して、どんな機能がほしいか教えてください。\n4. **コントリビュートする**：開発が始まったら、コミュニティからの貢献を歓迎します。今後のアップデートをお待ちください！\n\n---\n\n📧 **BillionMail – オープンソースEメールマーケティングの未来。**\n\n## Issues\n\n問題が発生したり機能リクエストがある場合は、[Issueを作成](https://github.com/aaPanel/BillionMail/issues)してください。以下を含めると助かります：\n\n* 問題またはリクエストの明確な説明\n* 再現手順（該当する場合）\n* スクリーンショットやエラーログ（該当する場合）\n\n## 今すぐインストール\n\n✅ インストールから**8分**で**メール送信成功**まで完了します\n\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh\n```\n\n**Dockerでインストール:**（Dockerとdocker-compose-pluginを手動でインストールし、.envファイルを編集してください）\n\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -d\n```\n\n## ライセンス\n\nBillionMailは**AGPLv3ライセンス**のもとで公開されています。これにより以下が可能です：\n\n✅ ソフトウェアを無料で使用する\n✅ コードを改変・再配布する\n✅ プライベート利用に制限なし\n\n詳細は[LICENSE](LICENSE)ファイルをご覧ください。\n\n---\n\n<!-- BillionMail公式リンク -->\n\n[docs-link]: https://www.billionmail.com/\n\n<!-- その他のリンク -->\n[license-link]: https://www.gnu.org/licenses/gpl-3.0.html\n[github-release-link]: https://github.com/aaPanel/BillionMail/releases/latest\n[github-stars-link]: https://github.com/aaPanel/BillionMail\n[github-issues-link]: https://github.com/aaPanel/BillionMail/issues\n\n<!-- シールドリンク -->\n[docs-shield]: https://img.shields.io/badge/documentation-148F76\n[github-release-shield]: https://img.shields.io/github/v/release/aaPanel/BillionMail\n[github-stars-shield]: https://img.shields.io/github/stars/aaPanel/BillionMail?color=%231890FF&style=flat-square\n[license-shield]: https://img.shields.io/github/license/aaPanel/BillionMail\n"
  },
  {
    "path": "README-tr.md",
    "content": "<div align=\"center\">\n  <a name=\"readme-top\"></a>\n  <h1><a href=\"https://www.billionmail.com/\" target=\"_blank\">BillionMail 📧</a></h1>\n\n\n## Daha Akıllı Kampanyalar İçin Açık Kaynaklı Bir Posta Sunucusu, Bülten ve E-posta Pazarlama Çözümü\n\n[![][license-shield]][license-link] [![][docs-shield]][docs-link] [![][github-release-shield]][github-release-link] [![][github-stars-shield]][github-stars-link]\n\nEnglish | [简体中文](README-zh_CN.md) | [日本語](README-ja.md) | [Türkçe](README-ja.md)\n</div>\n<br/>\n\n<div align=\"center\">\n<a href=\"https://trendshift.io/repositories/13842\" target=\"_blank\"><img src=\"https://trendshift.io/api/badge/repositories/13842\" alt=\"aaPanel%2FBillionMail | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/></a>\n</div>\n\n## BillionMail Nedir?\n\nBillionMail, işletmelerin ve bireylerin e-posta kampanyalarını kolayca yönetmelerine yardımcı olmak için tasarlanmış **geleceğe yönelik açık kaynaklı bir Posta sunucusu ve E-posta pazarlama platformudur**. İster bültenler, ister tanıtım e-postaları veya işlem mesajları gönderiyor olun, bu araç e-posta pazarlama çabalarınız üzerinde **tam kontrol sağlar**. **Gelişmiş analitik** ve **müşteri yönetimi** gibi özelliklerle, e-postaları bir profesyonel gibi oluşturabilir, gönderebilir ve takip edebilirsiniz.\n\n![BillionMail Banner](https://www.billionmail.com/home.png?v1)\n\n# Bir Milyar E-posta Göndermek İçin Sadece 3 Adım!\n**Bir milyar e-posta. Her işletme. Garantili.**\n\n### Adım 1️⃣ BillionMail'i Kurun: \n✅ ✅ Kurulumdan ✅ **başarılı e-posta gönderimine** geçmek **sadece 8️⃣ dakika** sürer\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh\n```\n\n\n### Adım 2️⃣: Alan Adınızı Bağlayın\n\n- Gönderim alan adını ekleyin\n- DNS kayıtlarını doğrulayın\n- Ücretsiz SSL'yi otomatik etkinleştirin\n\n\n### Adım 3️⃣: Kampanyanızı Oluşturun\n\n- E-postanızı yazın veya yapıştırın\n- Liste ve etiketleri seçin\n- Gönderim zamanını ayarlayın veya hemen gönderin\n\n\n<div align=\"center\">\n  <a href=\"https://www.youtube.com/embed/UHgxZa_9jGs?si=0-f1B5hDtcWImvQv\" target=\"_blank\">\n    <img src=\"https://img.youtube.com/vi/UHgxZa_9jGs/maxresdefault.jpg\" alt=\"\" width=\"80%\">\n    <br />\n    <img src=\"https://www.iconfinder.com/icons/317714/download/png/16\" alt=\"YouTube\" width=\"16\"/>\n    <b>Youtube'da İzle</b>\n  </a>\n</div>\n\n\n## Diğer Kurulum Yöntemleri\n\n### aaPanel'de Tek Tıkla Kurulum\n👉 https://www.aapanel.com/new/download.html (✅aaPanel'e giriş yapın --> 🐳Docker --> 1️⃣Tek Tıkla Kurulum)\n\n\n\n\n**Docker**\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -d\n```\n\n## Yönetim Scripti\n- Yönetim yardımı\n\n  `bm help`\n\n- Varsayılan oturum açma bilgilerini görüntüleme\n\n  `bm default`\n\n- Alan adı DNS kaydını gösterme\n\n  `bm show-record`\n\n- BillionMail'i güncelleme\n\n  `bm update`\n\n## Canlı Demo\nBillionMail Demo: [https://demo.billionmail.com/billionmail](https://demo.billionmail.com/billionmail)\n\nKullanıcı Adı: `billionmail` \n\nŞifre: `billionmail` \n\n\n## WebMail\n\nBillionMail, **RoundCube**'u entegre etmiştir, WebMail'e `/roundcube/` üzerinden erişebilirsiniz. .\n\n## Neden BillionMail?\n\nÇoğu e-posta pazarlama platformu ya **pahalı**, ya **kapalı kaynaklı** ya da **temel özelliklerden yoksundur**. BillionMail farklı olmayı hedefliyor::\n\n✅ **Tamamen Açık Kaynaklı** – Gizli maliyetler yok, tedarikçi bağımlılığı yok.\n📊 **Gelişmiş Analitik** – E-posta teslimatını, açılma oranlarını, tıklanma oranlarını ve daha fazlasını takip edin.\n📧 **Sınırsız Gönderim** – Gönderebileceğiniz e-posta sayısında kısıtlama yok.\n🎨 **Özelleştirilebilir** Şablonlar – Yeniden kullanım için özel profesyonel pazarlama şablonları.\n🔒 **Gizlilik Öncelikli** – Verileriniz sizde kalır, üçüncü taraf takibi yok.\n🚀 **Kendi Sunucunuzda Barındırma** – Tam kontrol için kendi sunucunuzda çalıştırın.\n\n## Nasıl Yardımcı Olabilirsiniz 🌟\n\nBillionMail **topluluk odaklı bir projedir** ve başlamak için desteğinize ihtiyacımız var! İşte nasıl yardımcı olabileceğiniz:\n\n1. **Bu Depoyu Yıldızlayın**: Bu depoyu yıldızlayarak ilginizi gösterin.\n2. **Haberi Yayın:** BillionMail'i ağınızla (geliştiriciler, pazarlamacılar ve açık kaynak meraklıları) paylaşın.\n3. **Geri Bildirim Paylaşın:** Bir sorun açarak veya tartışmaya katılarak BillionMail'de görmek istediğiniz özellikleri bize bildirin.\n4. **Katkıda Bulunun:** Geliştirme başladığında, topluluktan gelen katkıları memnuniyetle karşılayacağız. Güncellemeler için takipte kalın!\n\n---\n\n📧 **BillionMail – Açık Kaynaklı E-posta Pazarlamasının Geleceği.**\n\n## Sorunlar\n\nHerhangi bir sorunla karşılaşırsanız veya özellik talepleriniz olursa, lütfen [bir sorun açın](https://github.com/aaPanel/BillionMail/issues). Şunları eklediğinizden emin olun:\n\n- Sorunun veya talebin açık bir açıklaması.\n- Sorunu yeniden oluşturma adımları (varsa).\n- Ekran görüntüleri veya hata günlükleri (varsa).\n\n## Şimdi Kurun:\n✅Kurulumdan **başarılı e-posta gönderimine** geçmek **sadece 8 dakika** sürer\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh\n```\n\n\n**Docker ile Kurulum**: (Lütfen Docker ve docker-compose-plugin'i manuel olarak kurun ve .env dosyasını değiştirin)\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -d\n```\n\n## Yıldız Geçmişi\n\n[![Star History Chart](https://api.star-history.com/svg?repos=aapanel/billionmail&type=Date)](https://www.star-history.com/#aapanel/billionmail&Date)\n\n## Lisans\n\nBillionMail, **AGPLv3 Lisansı** altında lisanslanmıştır. Bu, şunları yapabileceğiniz anlamına gelir\n\n✅ Yazılımı ücretsiz kullanma.\n✅ Kodu değiştirme ve dağıtma.\n✅ Özel olarak kısıtlama olmaksızın kullanma.\n\nDaha fazla ayrıntı için [LICENSE](LICENSE) dosyasına bakın.\n\n---\n\n<!-- BillionMail official link -->\n[docs-link]: https://www.billionmail.com/\n\n<!-- BillionMail Other link-->\n[license-link]: https://www.gnu.org/licenses/agpl-3.0.html\n[github-release-link]: https://github.com/aaPanel/BillionMail/releases/latest\n[github-stars-link]: https://github.com/aaPanel/BillionMail\n[github-issues-link]: https://github.com/aaPanel/BillionMail/issues\n\n<!-- Shield link-->\n[docs-shield]: https://img.shields.io/badge/documentation-148F76\n[github-release-shield]: https://img.shields.io/github/v/release/aaPanel/BillionMail\n[github-stars-shield]: https://img.shields.io/github/stars/aaPanel/BillionMail?color=%231890FF&style=flat-square   \n[license-shield]: https://img.shields.io/github/license/aaPanel/BillionMail\n"
  },
  {
    "path": "README-zh_CN.md",
    "content": "<div align=\"center\">\n  <a name=\"readme-top\"></a>\n  <h1><a href=\"https://www.billionmail.com/\" target=\"_blank\">BillionMail 📧</a></h1>\n\n\n## 一个开源的邮件服务器，为智能营销提供电子邮件解决方案\n\n[![][license-shield]][license-link] [![][docs-shield]][docs-link] [![][github-release-shield]][github-release-link] [![][github-stars-shield]][github-stars-link]\n\n[English](README.md) | 简体中文 | [日本語](README-ja.md) | [Türkçe](README-ja.md)\n</div>\n<br/>\n\n<div align=\"center\">\n<a href=\"https://trendshift.io/repositories/13842\" target=\"_blank\"><img src=\"https://trendshift.io/api/badge/repositories/13842\" alt=\"aaPanel%2FBillionMail | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/></a>\n</div>\n\n## 在线演示\nBillionMail 演示: [https://demo.billionmail.com/billionmail](https://demo.billionmail.com/billionmail)\n\n用户名: `billionmail` \n\n密码: `billionmail` \n\n## 什么是 BillionMail？\n\nBillionMail 是一个**未来的开源邮件服务器和电子邮件营销平台**，旨在帮助企业和个人轻松管理他们的电子邮件营销活动。无论您是发送新闻通讯、促销邮件还是交易消息，这个工具都将为您的电子邮件营销工作提供**完全控制**。通过**高级分析**和**客户管理**等功能，您将能够像专业人士一样创建、发送和跟踪电子邮件。\n\n![BillionMail Banner](https://www.billionmail.com/home.png?v1)\n\n## 如何使用？\n**安装脚本：** (✅该脚本会自动安装所有必需的运行环境，包括Docker)\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh\n```\n\n\n**使用Docker安装：** (请手动安装Docker和docker-compose-plugin，并修改.env文件)\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -d\n```\n\n<div align=\"center\">\n  <a href=\"https://www.bilibili.com/video/BV1JiTNzUE5m/\" target=\"_blank\">\n    <img src=\"https://i1.hdslb.com/bfs/archive/9065dbdf7645fa5cadb8a34e1ae3e287481fb862.jpg\" alt=\"\" width=\"80%\">\n    <br />\n    <b>在BiliBili上观看</b>\n  </a>\n</div>\n\n\n## 管理脚本\n- 管理帮助\n\n  `bm help`\n\n- 查看默认登录信息\n\n  `bm default`\n\n- 显示域名DNS记录\n\n  `bm show-record`\n\n- 更新BillionMail\n\n  `bm update`\n\n\n\n## 网页邮箱\n\nBillionMail已集成**RoundCube**，您可以通过`/roundcube/`访问网页邮箱。\n\n## 为什么选择BillionMail？\n\n### 大多数电子邮件营销平台要么**昂贵**，要么**闭源**，或者**缺乏基本功能**。BillionMail的目标是与众不同：\n\n✅ **完全开源** – 没有隐藏成本，没有供应商锁定。  \n📊 **高级分析** – 跟踪电子邮件投递、打开率、点击率等。  \n📧 **无限发送** – 对您可以发送的电子邮件数量没有限制。  \n🎨 **可定制模板** – 可重复使用的专业营销模板。\n🔒 **隐私优先** – 您的数据保留在您这里，没有第三方跟踪。  \n🚀 **自托管** – 在您自己的服务器上运行，完全控制。  \n\n## 您如何提供帮助 🌟\n\nBillionMail是一个**社区驱动的项目**，我们需要您的支持才能开始！以下是您可以提供帮助的方式：\n\n1. **为此仓库加星标**：通过为此仓库加星表示您的兴趣。  \n2. **传播消息**：与您的网络分享BillionMail—开发者、营销人员和开源爱好者。  \n3. **分享反馈**：通过提出问题或加入讨论，让我们知道您希望在BillionMail中看到哪些功能。  \n4. **贡献**：一旦开发开始，我们将欢迎社区的贡献。敬请关注更新！\n\n---\n\n📧 **BillionMail – 开源电子邮件营销的未来。**\n\n## 问题\n\n如果您遇到任何问题或有功能请求，请[提交issue](https://github.com/aaPanel/BillionMail/issues)。请确保包括：\n\n- 问题或请求的清晰描述。\n- 重现问题的步骤（如适用）。\n- 截图或错误日志（如适用）。\n\n## 许可证\n\nBillionMail根据**AGPLv3许可证**授权。这意味着您可以：\n\n✅ 免费使用该软件。  \n✅ 修改和分发代码。  \n✅ 私下使用，没有限制。\n\n有关更多详细信息，请参阅[LICENSE](LICENSE)文件。\n\n\n<!-- BillionMail official link -->\n[docs-link]: https://www.billionmail.com/\n\n<!-- BillionMail Other link-->\n[license-link]: https://www.gnu.org/licenses/gpl-3.0.html\n[github-release-link]: https://github.com/aaPanel/BillionMail/releases/latest\n[github-stars-link]: https://github.com/aaPanel/BillionMail\n[github-issues-link]: https://github.com/aaPanel/BillionMail/issues\n\n<!-- Shield link-->\n[docs-shield]: https://img.shields.io/badge/documentation-148F76\n[github-release-shield]: https://img.shields.io/github/v/release/aaPanel/BillionMail\n[github-stars-shield]: https://img.shields.io/github/stars/aaPanel/BillionMail?color=%231890FF&style=flat-square   \n[license-shield]: https://img.shields.io/github/license/aaPanel/BillionMail\n"
  },
  {
    "path": "README.md",
    "content": "<div align=\"center\">\n  <a name=\"readme-top\"></a>\n  <h1><a href=\"https://www.billionmail.com/\" target=\"_blank\">BillionMail 📧</a></h1>\n\n\n## An Open-Source MailServer, NewsLetter, Email Marketing Solution for Smarter Campaigns\n\n[![][license-shield]][license-link] [![][docs-shield]][docs-link] [![][github-release-shield]][github-release-link] [![][github-stars-shield]][github-stars-link]\n\nEnglish | [简体中文](README-zh_CN.md) | [日本語](README-ja.md) | [Türkçe](README-ja.md)\n</div>\n<br/>\n\n<div align=\"center\">\n<a href=\"https://trendshift.io/repositories/13842\" target=\"_blank\"><img src=\"https://trendshift.io/api/badge/repositories/13842\" alt=\"aaPanel%2FBillionMail | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/></a>\n</div>\n\n## What is BillionMail?\n\nBillionMail is a **future open-source Mail server, Email marketing platform** designed to help businesses and individuals manage their email campaigns with ease. Whether you're sending newsletters, promotional emails, or transactional messages, this tool will provide **full control** over your email marketing efforts. With features like **advanced analytics**, and **customer management**, you'll be able to create, send, and track emails like a pro.\n\n![BillionMail Banner](https://www.billionmail.com/home.png?v1)\n\n# Just 3 steps to send a billion emails!\n**Billion emails. Any business. Guaranteed.**\n\n### Step 1️⃣ Install BillionMail: \n✅ It takes **only 8️⃣ minutes** from installation to **✅ successful email sending**\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh\n```\n\n\n### Step 2️⃣: Connect Your Domain\n- Add the sending domain\n- Verify DNS records\n- Auto-enable free SSL\n\n\n### Step 3️⃣: Build Your Campaign\n\n- Write or paste your email\n- Choose list & tags\n- Set send time or send now\n\n\n<div align=\"center\">\n  <a href=\"https://www.youtube.com/embed/UHgxZa_9jGs?si=0-f1B5hDtcWImvQv\" target=\"_blank\">\n    <img src=\"https://img.youtube.com/vi/UHgxZa_9jGs/maxresdefault.jpg\" alt=\"\" width=\"80%\">\n    <br />\n    <img src=\"https://www.iconfinder.com/icons/317714/download/png/16\" alt=\"YouTube\" width=\"16\"/>\n    <b>Watch on Youtube</b>\n  </a>\n</div>\n\n\n## Other installation methods\n\n### One-click installation on aaPanel\n👉 https://www.aapanel.com/new/download.html  (Log in to ✅aaPanel --> 🐳Docker --> 1️⃣OneClick install)\n\n\n\n\n**Docker**\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -d\n```\n\n## Management script\n- Management help\n\n  `bm help`\n\n- View Login default info\n\n  `bm default`\n\n- Show domain DNS record\n\n  `bm show-record`\n\n- Update BillionMail\n\n  `bm update`\n\n## Live Demo\nBillionMail Demo: [https://demo.billionmail.com/billionmail](https://demo.billionmail.com/billionmail)\n\nUsername: `billionmail` \n\nPassword: `billionmail` \n\n\n## WebMail\n\nBillionMail has integrated **RoundCube**, you can access WebMail via `/roundcube/`.\n\n## Why BillionMail?\n\nMost email marketing platforms are either **expensive**, **closed-source**, or **lack essential features**. BillionMail aims to be different:\n\n✅ **Fully Open-Source** – No hidden costs, no vendor lock-in.  \n📊 **Advanced Analytics** – Track email delivery, open rates, click-through rates, and more.  \n📧 **Unlimited Sending** – No restrictions on the number of emails you can send.  \n🎨 **Customizable Templates** – Custom professional marketing templates for reuse.\n🔒 **Privacy-First** – Your data stays with you, no third-party tracking.  \n🚀 **Self-Hosted** – Run it on your own server for complete control.  \n\n## How You Can Help 🌟\n\nBillionMail is a **community-driven project**, and we need your support to get started! Here's how you can help:\n\n1. **Star This Repository**: Show your interest by starring this repo.  \n2. **Spread the Word**: Share BillionMail with your network—developers, marketers, and open-source enthusiasts.  \n3. **Share Feedback**: Let us know what features you'd like to see in BillionMail by opening an issue or joining the discussion.  \n4. **Contribute**: Once development begins, we'll welcome contributions from the community. Stay tuned for updates!\n\n---\n\n📧 **BillionMail – The Future of Open-Source Email Marketing.**\n\n## Issues\n\nIf you encounter any issues or have feature requests, please [open an issue](https://github.com/aaPanel/BillionMail/issues). Be sure to include:\n\n- A clear description of the problem or request.\n- Steps to reproduce the issue (if applicable).\n- Screenshots or error logs (if applicable).\n\n## Install Now:\n✅It takes **only 8 minutes** from installation to **successful email sending**\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh\n```\n\n\n**Install with Docker:** (Please install Docker and docker-compose-plugin manually, and modify .env file)\n```shell\ncd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -d\n```\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=aapanel/billionmail&type=Date)](https://www.star-history.com/#aapanel/billionmail&Date)\n\n## License\n\nBillionMail is licensed under the **AGPLv3 License**. This means you can:\n\n✅ Use the software for free.  \n✅ Modify and distribute the code.  \n✅ Use it privately without restrictions.\n\nSee the [LICENSE](LICENSE) file for more details.\n\n---\n\n<!-- BillionMail official link -->\n[docs-link]: https://www.billionmail.com/\n\n<!-- BillionMail Other link-->\n[license-link]: https://www.gnu.org/licenses/agpl-3.0.html\n[github-release-link]: https://github.com/aaPanel/BillionMail/releases/latest\n[github-stars-link]: https://github.com/aaPanel/BillionMail\n[github-issues-link]: https://github.com/aaPanel/BillionMail/issues\n\n<!-- Shield link-->\n[docs-shield]: https://img.shields.io/badge/documentation-148F76\n[github-release-shield]: https://img.shields.io/github/v/release/aaPanel/BillionMail\n[github-stars-shield]: https://img.shields.io/github/stars/aaPanel/BillionMail?color=%231890FF&style=flat-square   \n[license-shield]: https://img.shields.io/github/license/aaPanel/BillionMail\n\n"
  },
  {
    "path": "SECURITY.md",
    "content": "# Security Policy\n\n## Reporting a Vulnerability\n\nPlease report security issues to `1249648969@qq.com`\n"
  },
  {
    "path": "bm.sh",
    "content": "#!/bin/bash\nPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin\nexport PATH\n\n# Add domain name and email\n\nCONTAINER_PROJECT_NAME=billionmail\nPGSQL_CONTAINER_NAME=\"${CONTAINER_PROJECT_NAME}-pgsql-billionmail-1\"\nDOVECOT_CONTAINER_NAME=\"${CONTAINER_PROJECT_NAME}-dovecot-billionmail-1\"\nPOSTFIX_CONTAINER_NAME=\"${CONTAINER_PROJECT_NAME}-postfix-billionmail-1\"\nRSPAMD_CONTAINER_NAME=\"${CONTAINER_PROJECT_NAME}-rspamd-billionmail-1\"\ncreate_time=$(date +%s)\ntime=$(date +%Y_%m_%d_%H_%M_%S)\n\nif [ $(whoami) != \"root\" ];then\n    echo -e \"Non-root install, please try the following solutions: \\n   1.Please switch to root user install \\n   2.Try executing the following install commands: \\n     sudo bash $0 $@\"\n    exit 1\nfi\n\nPWD_d=`pwd`\n\nSWITCH_TO_BILLIONMAIL_DIR(){\n    if [ -f \"/opt/PWD-Billion-Mail.txt\" ]; then\n        DIR=$(cat /opt/PWD-Billion-Mail.txt)\n        if [ -d \"${DIR}\" ]; then\n            cd \"${DIR}\"\n            echo \"Enter the BillionMail project directory: ${DIR}\"\n        fi\n    fi\n}\n\nif [ -s \".env\" ]; then\n   CHECK_BILLIONMAIL=$(grep \"BILLIONMAIL_HOSTNAME\" .env)\n   if [ -z \"${CHECK_BILLIONMAIL}\" ]; then\n        SWITCH_TO_BILLIONMAIL_DIR\n   fi\nelse\n    SWITCH_TO_BILLIONMAIL_DIR\nfi\n\nif [ ! -s \".env\" ]; then\n    ls -al\n    echo \" The .env file does not exist. Cannot continue operation, please operate in the BillionMail project directory\"\n    exit 1\nfi\n\nsource .env\nif [ -z \"${DBUSER}\" ] || [ -z \"${DBNAME}\" ] || [ -z \"${DBPASS}\" ]; then\n    echo \"The obtained .env configuration exception is empty.\"   \n    exit 1\nfi\n\nRed_Error(){\n    echo '=================================================';\n    printf '\\033[1;31;40m%b\\033[0m\\n' \"$@\";\n    exit 1;\n}\n\nCommand_Exists() {\n    command -v \"$@\" >/dev/null 2>&1\n}\n\n\nDocker_Compose_Check(){\n\n    if Command_Exists docker-compose ; then\n        DOCKER_COMPOSE=\"docker-compose\"\n    else \n        if Command_Exists docker; then\n            Docker_compose=\"docker compose version\"\n            if $Docker_compose >/dev/null 2>&1; then\n                DOCKER_COMPOSE=\"docker compose\"\n            fi\n        else\n            Red_Error \"ERROR: Docker Compose does not exist\"\n        fi\n\n    fi\n}\nDocker_Compose_Check\n\nGET_SERVICE_NAME() {\n\n    # ALL_SERVICE_NAME=$(${DOCKER_COMPOSE} config --services |grep \"${SERVICE}\")\n    # echo \"${ALL_SERVICE_NAME}\"\n\n    if [[ \"${SERVICE}\" == \"core\" ]] || [[ \"${SERVICE}\" == \"manage\" ]]; then\n        #echo \"Getting the \"${SERVICE}\" service...\"\n        SERVICE_NAME=$(${DOCKER_COMPOSE} ps -a --format \" {{.Service}} {{.ID}} {{.Image}}\" |grep \"/core:\" | awk '{print $1}' )\n    \n    elif [[ \"${SERVICE}\" == \"postfix\" ]] || [[ \"${SERVICE}\" == \"postfix-billionmail\" ]]; then\n        SERVICE_NAME=\"postfix-billionmail\"\n    \n    elif [[ \"${SERVICE}\" == \"dovecot\" ]] || [[ \"${SERVICE}\" == \"dovecot-billionmail\" ]]; then\n        SERVICE_NAME=\"dovecot-billionmail\"\n    \n    elif [[ \"${SERVICE}\" == \"rspamd\" ]] || [[ \"${SERVICE}\" == \"rspamd-billionmail\" ]]; then\n        SERVICE_NAME=\"rspamd-billionmail\"\n    \n    elif [[ \"${SERVICE}\" == \"pgsql\" ]] || [[ \"${SERVICE}\" == \"postgres\" ]] || [[ \"${SERVICE}\" == \"pgsql-billionmail\" ]]; then\n        SERVICE_NAME=\"pgsql-billionmail\"\n    \n    elif [[ \"${SERVICE}\" == \"redis\" ]] || [[ \"${SERVICE}\" == \"redis-billionmail\" ]]; then\n        SERVICE_NAME=\"redis-billionmail\"\n\n    elif [[ \"${SERVICE}\" == \"webmail\" ]] || [[ \"${SERVICE}\" == \"roundcube\" ]] || [[ \"${SERVICE}\" == \"webmail-billionmail\" ]]; then\n        SERVICE_NAME=\"webmail-billionmail\"\n    \n    else\n        echo \"Please use: core|postfix|dovecot|rspamd|pgsql|redis|webmail\"\n        Red_Error \"ERROR: The \"${SERVICE}\" service does not exist\"\n\n    fi\n\n    if [ -z \"${SERVICE_NAME}\" ]; then\n        Red_Error \"ERROR: The \"${SERVICE}\" service does not exist\"\n    fi\n\n}\n\n\nGET_CONTAINER_ID() {\n\n    if [ -z \"${CONTAINER}\" ]; then\n        CONTAINER=\"$1\"\n    fi\n\n    if [[ \"${CONTAINER}\" == \"core\" ]] || [[ \"${CONTAINER}\" == \"manage\" ]]; then\n        CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/core:\" | awk '{print $1}' )\n    \n    elif [[ \"\"${CONTAINER}\"\" == \"postfix\" ]] || [[ \"\"${CONTAINER}\"\" == \"postfix-billionmail\" ]]; then\n        CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/postfix:\" | awk '{print $1}' )\n    \n    elif [[ \"\"${CONTAINER}\"\" == \"dovecot\" ]] || [[ \"\"${CONTAINER}\"\" == \"dovecot-billionmail\" ]]; then\n        CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/dovecot:\" | awk '{print $1}' )\n    \n    elif [[ \"\"${CONTAINER}\"\" == \"rspamd\" ]] || [[ \"\"${CONTAINER}\"\" == \"rspamd-billionmail\" ]]; then\n        CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/rspamd:\" | awk '{print $1}' )\n    \n    elif [[ \"\"${CONTAINER}\"\" == \"pgsql\" ]] || [[ \"\"${CONTAINER}\"\" == \"postgres\" ]] || [[ \"\"${CONTAINER}\"\" == \"pgsql-billionmail\" ]]; then\n        CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"postgres:\" | awk '{print $1}' )\n    \n    elif [[ \"\"${CONTAINER}\"\" == \"redis\" ]] || [[ \"\"${CONTAINER}\"\" == \"redis-billionmail\" ]]; then\n        CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"redis:\" | awk '{print $1}' )\n\n    elif [[ \"\"${CONTAINER}\"\" == \"webmail\" ]] || [[ \"\"${CONTAINER}\"\" == \"roundcube\" ]] || [[ \"\"${CONTAINER}\"\" == \"webmail-billionmail\" ]]; then\n        CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"roundcubemail:\" | awk '{print $1}' )\n    \n    else\n        echo \"Please use: core|postfix|dovecot|rspamd|pgsql|redis|webmail\"\n        Red_Error \"ERROR: The \"\"${CONTAINER}\"\" container does not exist\"\n    fi\n\n}\n\n\nInit_Email() {\n    input=\"$2\"\n\n    # Regular expression verification email address format\n    if [[ \"$input\" =~ ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$ ]]; then\n        mailbox=$(echo \"$input\" | cut -d '@' -f 1 | tr '[:upper:]' '[:lower:]')\n        BILLIONMAIL_HOSTNAME=$(echo \"$input\" | cut -d '@' -f 2 | tr '[:upper:]' '[:lower:]')\n        \n    else\n        echo \"Enter an email address that is not a legal one: $input\"\n        echo \"Example: user@example.com\"\n        exit 1\n    fi\n}\n\n\nInit_Domain() {\n    BILLIONMAIL_HOSTNAME=\"$2\"\n\n    # Regular expression check domain name format\n    # if [[ ! \"${BILLIONMAIL_HOSTNAME}\" =~ ^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9](\\.[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])*$ ]]; then\n    if [[ ! \"${BILLIONMAIL_HOSTNAME}\" =~ ^([a-zA-Z0-9]([a-zA-Z0-9-]{0,62}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$ ]]; then\n        echo -e \"\\e[31m(${BILLIONMAIL_HOSTNAME}) is not a FQDN!\\e[0m\"\n        echo \"Please change it to a FQDN\"\n        exit 1\n    elif [[ \"${BILLIONMAIL_HOSTNAME: -1}\" == \".\" ]]; then\n        echo \"(${BILLIONMAIL_HOSTNAME}) is ending with a dot. This is not a valid FQDN!\"\n        exit 1\n\n    fi\n\n    # Convert to lowercase\n    BILLIONMAIL_HOSTNAME=$(echo \"${BILLIONMAIL_HOSTNAME}\" | tr '[:upper:]' '[:lower:]')\n\n}\n\nDomain_DKIM_record(){\n    if [ -z \"${BILLIONMAIL_HOSTNAME}\" ]; then\n        echo \"Please enter the domain name\"\n        exit 1\n    fi\n\n    Check_domain=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM domain WHERE domain = '${BILLIONMAIL_HOSTNAME}';\" | grep -w \"^ ${BILLIONMAIL_HOSTNAME}\")\n    if [ -z \"${Check_domain}\" ]; then\n        echo \"Error: ${BILLIONMAIL_HOSTNAME} Domain does not exist.\"\n        exit 1\n    fi\n\n    ## DKIM key generation\n    docker exec -i -e BILLIONMAIL_HOSTNAME=${BILLIONMAIL_HOSTNAME} ${RSPAMD_CONTAINER_NAME} bash -c 'cat << \"EOF\" > /tmp/1.sh\n#!/bin/bash\nif [ ! -d \"/var/lib/rspamd/dkim/${BILLIONMAIL_HOSTNAME}/\" ]; then\n    mkdir -p \"/var/lib/rspamd/dkim/${BILLIONMAIL_HOSTNAME}/\"\nfi\nif [ -f \"/var/lib/rspamd/dkim/${BILLIONMAIL_HOSTNAME}/default.private\" ] && [ -f \"/var/lib/rspamd/dkim/${BILLIONMAIL_HOSTNAME}/default.pub\" ]; then\n    #echo \"DKIM key already exists, skipping generation.\"\n    exit 0\nfi\n\nrspamadm dkim_keygen -s 'default' -b 1024 -d {domain} -k \"/var/lib/rspamd/dkim/${BILLIONMAIL_HOSTNAME}/default.private\" > \"/var/lib/rspamd/dkim/${BILLIONMAIL_HOSTNAME}/default.pub\"\nif [ $? -eq 0 ]; then\n    # Define the root directory for private keys\n    DKIM_KEYS_DIR=\"/var/lib/rspamd/dkim\"\n    # Configuration file path\n    CONFIG_FILE=\"/etc/rspamd/local.d/dkim_signing.conf\"\n    # Check if the configuration file exists, if not, create it\n    if [ ! -f \"${CONFIG_FILE}\" ]; then\n        touch \"${CONFIG_FILE}\"\n        echo \"${CONFIG_FILE}\"\n        echo \"domain {\" > \"${CONFIG_FILE}\"\n        echo \"#BT_DOMAIN_DKIM_BEGIN\" >> \"${CONFIG_FILE}\"\n        echo \"#BT_DOMAIN_DKIM_END\" >> \"${CONFIG_FILE}\"\n        echo \"}\" >> \"${CONFIG_FILE}\"\n    fi\n    # Scan the DKIM_KEYS_DIR directory to get all domains\n    DOMAINS=()\n    for DOMAIN_DIR in \"${DKIM_KEYS_DIR}\"/*; do\n        if [ -d \"${DOMAIN_DIR}\" ]; then\n            DOMAIN_NAME=$(basename \"${DOMAIN_DIR}\")\n            PRIVATE_KEY_PATH=\"${DOMAIN_DIR}/default.private\"\n            if [ -f \"${PRIVATE_KEY_PATH}\" ]; then\n                DOMAINS+=(\"${DOMAIN_NAME}:${PRIVATE_KEY_PATH}\")\n            else\n                echo \"Warning: Private key file ${PRIVATE_KEY_PATH} for domain ${DOMAIN_NAME} does not exist, skipping configuration.\"\n            fi\n        fi\n    done\n    # Add domain configurations\n    for DOMAIN in \"${DOMAINS[@]}\"; do\n        DOMAIN_NAME=$(echo \"${DOMAIN}\" | cut -d':' -f1)\n        PRIVATE_KEY_PATH=$(echo \"${DOMAIN}\" | cut -d':' -f2)\n        # Check if the domain already exists\n        if grep -wq \"${DOMAIN_NAME}\" \"${CONFIG_FILE}\"; then\n            # echo \"Domain ${DOMAIN_NAME} already exists, skipping configuration.\"\n            continue\n        fi\n        # Insert domain configuration between #BT_DOMAIN_DKIM_BEGIN and #BT_DOMAIN_DKIM_END\n        sed -i \"/^#BT_DOMAIN_DKIM_BEGIN$/a #${DOMAIN_NAME}_DKIM_BEGIN\\n  ${DOMAIN_NAME} {\\n    selectors [\\n     {\\n       path: \\\"${PRIVATE_KEY_PATH}\\\";\\n       selector: \\\"default\\\"\\n     }\\n   ]\\n }\\n#${DOMAIN_NAME}_DKIM_END\" \"${CONFIG_FILE}\"\n        # echo \"Domain ${DOMAIN_NAME} has been successfully added to the configuration file.\"\n    done\n    # echo \"DKIM configuration update completed.\"\nelse\n    echo -e \"DKIM key generation failed!\"\n    exit 1\nfi\nchmod 755 -R \"/var/lib/rspamd/dkim/${BILLIONMAIL_HOSTNAME}/\"\nEOF'\n    docker exec -i -e BILLIONMAIL_HOSTNAME=${BILLIONMAIL_HOSTNAME} ${RSPAMD_CONTAINER_NAME} bash /tmp/1.sh && rm -f /tmp/1.sh\n    DKIM_RECORD=$(docker exec ${RSPAMD_CONTAINER_NAME} cat \"/var/lib/rspamd/dkim/${BILLIONMAIL_HOSTNAME}/default.pub\")\n    # echo \"DKIM RECORD: ${DKIM_RECORD}\"\n    \n}\n\n\nDomain_record() {\n\n    Check_domain=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM domain WHERE domain = '${BILLIONMAIL_HOSTNAME}';\" | grep -w \"^ ${BILLIONMAIL_HOSTNAME}\")\n    if [ \"${Check_domain}\" ]; then\n\n        IPV4_ADDRESS=$(curl -sS -4 --connect-timeout 10 -m 20 https://ifconfig.me)\n        if [ -z \"${IPV4_ADDRESS}\" ]; then\n            IPV4_ADDRESS=$(curl -sSk --connect-timeout 10 -m 20 https://www.aapanel.com/api/common/getClientIP)\n        fi\n        ipv4_regex=\"^([0-9]{1,3}\\.){3}[0-9]{1,3}$\"\n        if [[ ${IPV4_ADDRESS} =~ ${ipv4_regex} ]]; then        \n            echo \"${IPV4_ADDRESS}\" >/dev/null 2>&1\n        elif [ -z \"${IPV4_ADDRESS}\" ]; then\n            IPV4_ADDRESS=\"YOUR_SERVER_IPV4_ADDRESS\"\n        fi\n        echo -e \"\"\n        echo -e \"\\e[31mPlease add the following record to your domain name\\e[0m\"\n        echo -e \"===========================================================\"\n        echo -e \" Type | Host record    |    IPv4 address   |\"\n        echo -e \"  \\e[1;33mA\\e[0m   | \\e[1;33mmail.${BILLIONMAIL_HOSTNAME}\\e[0m | \\e[1;33m${IPV4_ADDRESS}\\e[0m |\"\n        echo -e \"===========================================================\"\n        echo -e \" Type | Host record | MX priority |  Record value    \"\n        echo -e \"  \\e[1;33mMX\\e[0m  |     \\e[1;33m@\\e[0m       |      \\e[1;33m10\\e[0m     | \\e[1;33mmail.${BILLIONMAIL_HOSTNAME}\\e[0m \"\n        echo -e \"===========================================================\"\n        if [ \"${IPV4_ADDRESS}\" ]; then\n            echo -e \" Type | Host record |    Record value   |\"\n            echo -e \"  \\e[1;33mTXT\\e[0m |     \\e[1;33m@\\e[0m       | \\e[1;33mv=spf1 +a +mx +ip4:${IPV4_ADDRESS} -all\\e[0m |\"\n        else\n            echo -e \" Type | Host record |    Record value   |\"\n            echo -e \"  \\e[1;33mTXT\\e[0m |     \\e[1;33m@\\e[0m       | \\e[1;33mv=spf1 +a +mx -all\\e[0m |\"\n        fi\n        echo -e \"===========================================================\"\n        echo -e \" Type | Host record |    Record value     |\"\n        echo -e \"  \\e[1;33mTXT\\e[0m |   \\e[1;33m_dmarc\\e[0m    | \\e[1;33mv=DMARC1;p=quarantine;rua=mailto:admin@${BILLIONMAIL_HOSTNAME}\\e[0m |\"\n        echo -e \"===========================================================\"\n\n        Domain_DKIM_record\n\n        if [ \"${DKIM_RECORD}\" ]; then\n            DKIM_RECORD=$(echo \"${DKIM_RECORD}\" | awk -F'\"' '{print $2 $4}' | tr -d '[:space:]')\n            #echo \"DKIM RECORD: ${DKIM_RECORD}\"\n            echo -e \" Type |  Host record       |    Record value     |\"\n            echo -e \"  \\e[1;33mTXT\\e[0m | \\e[1;33mdefault._domainkey\\e[0m | \\e[1;33m${DKIM_RECORD}\\e[0m |<-- Start from \\\"v=DKIM1\\\" end, A single line.\"\n            echo -e \"===========================================================\"\n        else\n            echo -e \"${BILLIONMAIL_HOSTNAME} DKIM key generation failed!\"\n        fi\n    else\n        echo -e \"Domain ${BILLIONMAIL_HOSTNAME} does not exist.\"\n    fi\n}\n\n\nSelect_Domain_data(){\n\n    # Check_domain=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM domain;\")\n    # echo \"${Check_domain}\"\n    Check_domain=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT domain FROM domain;\")\n    echo \"${Check_domain}\"\n}\n\nSelect_Email_data(){\n\n    Check_mailbox=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT username FROM mailbox;\")\n    echo \"${Check_mailbox}\"\n}\n\nAdd_Domain() {\n\n    echo \"Creating domain...\"\n    \n    Check_domain=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM domain WHERE domain = '${BILLIONMAIL_HOSTNAME}';\" | grep -w \"^ ${BILLIONMAIL_HOSTNAME}\")\n    if [ -z \"${Check_domain}\" ]; then\n        # Create a domain\n        \n        docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"INSERT INTO domain (domain, a_record, mailboxes, mailbox_quota, quota, rate_limit, create_time, active)\n        VALUES ('${BILLIONMAIL_HOSTNAME}', 'mail.${BILLIONMAIL_HOSTNAME}', 500, 5368709120, 5368709120, 12, ${create_time}, 1);\"\n        if [ $? -eq 0 ]; then\n            echo \"${BILLIONMAIL_HOSTNAME} Domain creation was successful!\"\n            Domain_record\n        else\n            Red_Error \"Domain creation failed!\"\n        fi\n    else\n        echo \"\"${Check_domain}\" Domain already exists!\"\n    fi\n}\n\nDel_Domain() {\n    echo \"Deleting domain...\"\n\n    Check_domain=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM domain WHERE domain = '${BILLIONMAIL_HOSTNAME}';\" | grep -w \"^ ${BILLIONMAIL_HOSTNAME}\")\n    \n    if [ -z \"${Check_domain}\" ]; then\n        echo \"Domain '${BILLIONMAIL_HOSTNAME}' does not exist!\"\n    else\n        # Delete the domain\n        docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"DELETE FROM domain WHERE domain = '${BILLIONMAIL_HOSTNAME}';\"\n        if [ $? -eq 0 ]; then\n            echo \"Domain '${BILLIONMAIL_HOSTNAME}' deleted successfully!\"\n        else\n            Red_Error \"Failed to delete domain '${BILLIONMAIL_HOSTNAME}'!\"\n        fi\n    fi\n}\n\n\nAdd_Email() {\n    echo \"Creating mailbox...\"\n\n    Check_domain=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM domain WHERE domain = '${BILLIONMAIL_HOSTNAME}';\" | grep -w \"^ ${BILLIONMAIL_HOSTNAME}\")\n    if [ -z \"${Check_domain}\" ]; then\n        Red_Error \"Domain '${BILLIONMAIL_HOSTNAME}' does not exist, please create it first!\"\n    fi\n\n    # Create a mailbox\n    if [ -z \"${mailbox}\" ]; then\n        mailbox=$(LC_ALL=C </dev/urandom tr -dc a-z0-9 2> /dev/null | head -c 6)\n        echo \"Generate mailbox: ${mailbox}\"\n    else\n        mailbox=$(echo \"${mailbox}\" | tr '[:upper:]' '[:lower:]')\n    fi\n    Generate_mailbox_password=$(LC_ALL=C </dev/urandom tr -dc A-Za-z0-9 2> /dev/null | head -c 16)\n    #echo \"Generate_mailbox_password: ${Generate_mailbox_password}\"\n    Encrypt_mailbox_password=$(docker exec -i ${DOVECOT_CONTAINER_NAME} doveadm pw -s MD5-CRYPT -p \"${Generate_mailbox_password}\" | sed 's/{MD5-CRYPT}//')\n    if [ $? -eq 0 ]; then\n        echo \"Generate_mailbox_password: ${Generate_mailbox_password}\"\n        echo \"mailbox_password: ${Encrypt_mailbox_password}\"\n    else\n        # Generate the default password after failure: BILLIONMAIL\n        Generate_mailbox_password=\"BILLIONMAIL\"\n        Encrypt_mailbox_password='$1$ELBUCcYE$TbdGKBvLkFbjQguDbi3s01'\n        echo \"Generate_mailbox_password--default: ${Generate_mailbox_password}\"\n        Default_password=1\n    fi\n\n    if [ \"${Default_password}\" != 1 ]; then\n        # password_encode \n        # Base64 encoding of strings\n        b64_data=$(echo -n \"${Generate_mailbox_password}\" | base64)\n        # Convert characters to hexadecimal\n        password_encode=$(echo -n \"${b64_data}\" | while IFS= read -r -n1 char; do printf \"%02x\" \"'$char\"; done)\n        echo \"password_encode: ${password_encode}\"\n        if [ -z ${password_encode} ]; then\n            b64_data=$(echo -n \"${Generate_mailbox_password}\" | base64)\n            password_encode=$(echo -n \"${b64_data}\" | od -A n -t x1 | tr -d ' \\n')\n            echo \"password_encode: ${password_encode}\"\n        fi\n    else\n        password_encode=\"516b6c4d54456c50546b31425355773d\"\n    fi\n\n    Check_mailbox=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM mailbox WHERE username = '${mailbox}@${BILLIONMAIL_HOSTNAME}';\" | grep -w \"${mailbox}@${BILLIONMAIL_HOSTNAME}\")\n    if [ -z \"${Check_mailbox}\" ]; then\n        INSERT_mailbox='INSERT INTO mailbox (username, password, password_encode, full_name, is_admin, maildir, quota, local_part, domain, create_time, update_time, active)\n        VALUES (\n            '\\'${mailbox}@${BILLIONMAIL_HOSTNAME}\\'',\n            '\\'${Encrypt_mailbox_password}\\'',\n            '\\'${password_encode}\\'',\n            '\\'${mailbox}\\'',\n            0,\n            '\\'${mailbox}@${BILLIONMAIL_HOSTNAME}/\\'',\n            5368709120,\n            '\\'${mailbox}\\'',\n            '\\'${BILLIONMAIL_HOSTNAME}\\'',\n            '${create_time}',\n            '${create_time}',\n            1\n        );'\n        echo \"$INSERT_mailbox\"\n        docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"$INSERT_mailbox\"\n        if [ $? -eq 0 ]; then\n            echo \"Mailbox creation was successful!\"\n        else\n            Red_Error \"Mailbox creation failed!\"\n        fi\n        #docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM mailbox WHERE username = '${mailbox}@${BILLIONMAIL_HOSTNAME}';\"\n    else\n        echo \"\"${Check_mailbox}\" Mailbox already exists!\"\n    fi\n    \n    echo -e \"\\e[31mPlease save the following information:\\e[0m\"\n    echo -e \"Mailbox (e-mail): \\e[33m${mailbox}@${BILLIONMAIL_HOSTNAME}\\e[0m \\nPassword: \\e[33m${Generate_mailbox_password}\\e[0m\" \n}\n\n\nDel_Email() {\n    \n    echo \"Deleting mailbox...\"\n\n    Check_mailbox=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT * FROM mailbox WHERE username = '${mailbox}@${BILLIONMAIL_HOSTNAME}';\" | grep -w \"${mailbox}@${BILLIONMAIL_HOSTNAME}\")\n    \n    if [ -z \"${Check_mailbox}\" ]; then\n        echo \"Mailbox '${mailbox}@${BILLIONMAIL_HOSTNAME}' does not exist!\"\n    else\n        docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"DELETE FROM mailbox WHERE username = '${mailbox}@${BILLIONMAIL_HOSTNAME}';\"\n        if [ $? -eq 0 ]; then\n            echo \"Mailbox '${mailbox}@${BILLIONMAIL_HOSTNAME}' deleted successfully!\"\n        else\n            Red_Error \"Failed to delete mailbox '${mailbox}@${BILLIONMAIL_HOSTNAME}'!\"\n        fi\n    fi\n}\n\nUpdate_BillionMail() {\n    BRANCH=\"main\"\n    if [ -f \"update.sh\" ]; then\n        echo -e \"Checking for update.sh script...\"\n        MD5_1=\"$(md5sum update.sh)\"\n        git fetch origin\n        git checkout \"origin/${BRANCH}\" update.sh\n        MD5_2=$(md5sum update.sh)\n        if [[ \"${MD5_1}\" != \"${MD5_2}\" ]]; then\n            #echo -e \"\\033[33m update.sh is changed, please run update.sh script again.\\033[0m\"\n            chmod +x update.sh\n            echo y | ./update.sh\n            #exit 1\n        else\n            chmod +x update.sh\n            echo y | ./update.sh\n        fi\n    else\n        Red_Error \"Error: update.sh script does not exist!\"\n    fi\n}\n\n\nDefault_info() {\n\n    ipv4_address=\"\"\n    ipv6_address=\"\"\n    if [ \"$address\" = \"\" ];then\n            \n        ipv4_address=$(curl -4 -sSf --connect-timeout 10 -m 15 https://ifconfig.me 2>&1)\n        if [ -z \"${ipv4_address}\" ];then\n                ipv4_address=$(curl -4 -sSf --connect-timeout 10 -m 15 https://www.aapanel.com/api/common/getClientIP 2>&1)\n                if [ -z \"${ipv4_address}\" ];then\n                    ipv4_address=$(curl -4 -sSf --connect-timeout 10 -m 15 https://www.bt.cn/Api/getIpAddress 2>&1)\n                fi\n        fi\n        IPV4_REGEX=\"^([0-9]{1,3}\\.){3}[0-9]{1,3}$\"\n        if ! [[ $ipv4_address =~ $IPV4_REGEX ]]; then\n                ipv4_address=\"\"\n        fi\n        \n        ipv6_address=$(curl -6 -sSf --connect-timeout 10 -m 15 https://ifconfig.me 2>&1)\n        IPV6_REGEX=\"^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}$\"\n        if ! [[ $ipv6_address =~ $IPV6_REGEX ]]; then\n                ipv6_address=\"\"\n        else\n            if [[ ! $ipv6_address =~ ^\\[ ]]; then\n                ipv6_address=\"[$ipv6_address]\"\n            fi\n        fi\n\n        if [ \"$address\" = \"\" ] && [ \"$ipv4_address\" = \"\" ] && [ \"$ipv6_address\" = \"\" ];then\n            address=\"SERVER_IP\"\n            echo -e \"\\033[33mFailed to obtain Internet IP, please use the server Internet IP+PORT to access.\\033[0m\"\n        fi\n    fi\n\n    LOCAL_IP=$(ip addr | grep -E -o '[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}' | grep -E -v \"^127\\.|^255\\.|^0\\.\" | head -n 1)\n    echo -e \"==================================================================\"\n    echo -e \"\\033[32mBillionMail default info!\\033[0m\"\n    echo -e \"==================================================================\"\n    pool=https\n\n    if [ -f \"core-data/billionmail_hostname.txt\" ];then\n        BILLIONMAIL_Domain=$(cat core-data/billionmail_hostname.txt)\n        if [ \"${HTTPS_PORT}\" = \"443\" ];then\n            echo  \"BillionMail Domain Address:        ${pool}://${BILLIONMAIL_Domain}/${SafePath}\"\n        else\n            echo  \"BillionMail Domain Address:        ${pool}://${BILLIONMAIL_Domain}:${HTTPS_PORT}/${SafePath}\"\n        fi\n    fi\n    \n    if [ \"${ipv6_address}\" ];then\n        if [ \"${HTTPS_PORT}\" = \"443\" ];then\n            echo  \"BillionMail Internet IPv6 Address: ${pool}://${ipv6_address}/${SafePath}\"\n        else\n            echo  \"BillionMail Internet IPv6 Address: ${pool}://${ipv6_address}:${HTTPS_PORT}/${SafePath}\"\n        fi\n    fi\n    if [ \"${ipv4_address}\" ];then\n        if [ \"${HTTPS_PORT}\" = \"443\" ];then\n            echo  \"BillionMail Internet IPv4 Address: ${pool}://${ipv4_address}/${SafePath}\"\n        else\n            echo  \"BillionMail Internet IPv4 Address: ${pool}://${ipv4_address}:${HTTPS_PORT}/${SafePath}\"\n        fi\n    fi\n    if [ \"${address}\" ];then\n        if [ \"${HTTPS_PORT}\" = \"443\" ];then\n            echo  \"BillionMail Internet Address:      ${pool}://${address}/${SafePath}\"\n        else\n            echo  \"BillionMail Internet Address:      ${pool}://${address}:${HTTPS_PORT}/${SafePath}\"\n        fi\n\n    fi\n\n    if [ \"${HTTPS_PORT}\" = \"443\" ];then\n        echo  \"BillionMail Internal Address:      ${pool}://${LOCAL_IP}/${SafePath}\"\n    else\n        echo  \"BillionMail Internal Address:      ${pool}://${LOCAL_IP}:${HTTPS_PORT}/${SafePath}\"\n    fi\n    \n    echo -e \"Username: ${ADMIN_USERNAME} \\nPassword: ${ADMIN_PASSWORD}\"\n    echo -e \"\\033[33mWarning:\\033[0m\"\n    echo -e \"\\033[33mIf you cannot access the BillionMail, \\033[0m\"\n    echo -e \"\\033[33mrelease the following port ${SMTP_PORT}|${SMTPS_PORT}|${SUBMISSION_PORT}|${POP_PORT}|${IMAP_PORT}|${IMAPS_PORT}|${POPS_PORT}|${HTTP_PORT}|${HTTPS_PORT} in the security group\\033[0m\"\n    echo -e \"==================================================================\"\n}\n\n# Modify the apply SSL interface access port\nMODIFY_HTTP_SSL_PORT() { \n\n    NEW_PORT=\"$2\"\n    if [ -z \"${NEW_PORT}\" ]; then\n        echo -e \"\\033[31m Let's Encrypt SSL certificate can only be applied using port 80, other ports cannot be applied.\\033[0m\"\n        read -p \"Please enter the new apply SSL port: \" NEW_PORT\n    fi\n\n    # Verify that the input is a number\n    if ! echo \"${NEW_PORT}\" | grep -qE '^[0-9]+$' || ((NEW_PORT < 1 || NEW_PORT > 65535)); then\n        echo -e \"\\033[31m Error: The port number must be a number between 1-65535 \\033[0m\"\n        exit 1\n    fi\n\n    Check_Port=$(ss -tlnp | grep -E \":(${NEW_PORT})\\b\")\n    if [ ! -z \"${Check_Port}\" ]; then\n        echo \"${Check_Port}\"\n        echo -e \"\\033[31m Error: The ${NEW_PORT} port is already in use. \\033[0m\"\n        exit 1\n    fi\n\n    # Perform modification\n    sed -i 's/^HTTP_PORT=.*/HTTP_PORT='\"${NEW_PORT}\"'/' .env\n    echo -e \"The BillionMail apply SSL port has been modified to: ${NEW_PORT} \\n Rebuild the container, please wait...\"\n\n    sleep 3\n    # Find the container ID of the core image in the current project and rebuild the container\n    # CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/core:\" | awk '{print $1}' )\n    CONTAINER=\"core\"\n    GET_CONTAINER_ID ${CONTAINER}\n    if [ \"${CONTAINER_ID}\" ]; then\n        echo \"Rebuilding Manage Container...\"\n        docker stop ${CONTAINER_ID}\n        docker rm -f ${CONTAINER_ID}\n        ${DOCKER_COMPOSE} up -d\n    else\n        echo \"The \"core\" container does not exist\"\n        echo \"Starting BillionMail...\"\n        ${DOCKER_COMPOSE} up -d\n    fi\n\n    if [ -f \"/usr/sbin/ufw\" ]; then\n        /usr/sbin/ufw allow ${NEW_PORT}/tcp >/dev/null 2>&1\n        /usr/sbin/ufw reload\n    elif [ -f \"/usr/sbin/firewall-cmd\" ]; then\n        /usr/sbin/firewall-cmd --permanent --zone=public --add-port=${NEW_PORT}/tcp >/dev/null 2>&1\n        /usr/sbin/firewall-cmd --reload\n    elif [ -f \"/etc/sysconfig/iptables\" ]; then\n        iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport ${NEW_PORT} -j ACCEPT\n        service iptables save\n    fi\n\n    if [[ ${NEW_PORT} != \"80\" ]]; then \n        echo -e \"\\033[31m Let's Encrypt SSL certificate can only be applied using port 80, other ports cannot be applied.\\033[0m\"\n    fi\n}\n\n# Modify the management interface access port\nMODIFY_HTTPS_PORT() { \n\n    NEW_PORT=\"$2\"\n    if [ -z \"${NEW_PORT}\" ]; then\n        read -p \"Please enter the new BillionMail management port: \" NEW_PORT\n    fi\n\n    # Verify that the input is a number\n    if ! echo \"${NEW_PORT}\" | grep -qE '^[0-9]+$' || ((NEW_PORT < 1 || NEW_PORT > 65535)); then\n        echo -e \"\\033[31m Error: The port number must be a number between 1-65535 \\033[0m\"\n        exit 1\n    fi\n\n    Check_Port=$(ss -tlnp | grep -E \":(${NEW_PORT})\\b\")\n    if [ ! -z \"${Check_Port}\" ]; then\n        echo \"${Check_Port}\"\n        echo -e \"\\033[31m Error: The ${NEW_PORT} port is already in use. \\033[0m\"\n        exit 1\n    fi\n\n    # Perform modification\n    sed -i 's/^HTTPS_PORT=.*/HTTPS_PORT='\"${NEW_PORT}\"'/' .env\n    if [ $? -ne 0 ]; then\n        echo -e \"\\033[31m Error: The BillionMail management port modification failed! \\033[0m\"\n        exit 1\n    fi\n    \n    echo -e \"The BillionMail management port has been modified to: ${NEW_PORT} \\n Rebuild the container, please wait...\"\n    sleep 3\n    # Find the container ID of the core image in the current project and rebuild the container\n    # CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/core:\" | awk '{print $1}' )\n    CONTAINER=\"core\"\n    GET_CONTAINER_ID ${CONTAINER}\n    if [ \"${CONTAINER_ID}\" ]; then\n        echo \"Rebuilding Manage Container...\"\n        docker stop ${CONTAINER_ID}\n        docker rm -f ${CONTAINER_ID}\n        ${DOCKER_COMPOSE} up -d\n    else\n        echo \"The \"core\" container does not exist\"\n        echo \"Starting BillionMail...\"\n        ${DOCKER_COMPOSE} up -d\n    fi\n\n    if [ -f \"/usr/sbin/ufw\" ]; then\n        /usr/sbin/ufw allow ${NEW_PORT}/tcp >/dev/null 2>&1\n        /usr/sbin/ufw reload\n    elif [ -f \"/usr/sbin/firewall-cmd\" ]; then\n        /usr/sbin/firewall-cmd --permanent --zone=public --add-port=${NEW_PORT}/tcp >/dev/null 2>&1\n        /usr/sbin/firewall-cmd --reload\n    elif [ -f \"/etc/sysconfig/iptables\" ]; then\n        iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport ${NEW_PORT} -j ACCEPT\n        service iptables save\n    fi\n\n    # Display login information\n    bash bm.sh default\n}\n\n# Modify time zone\nMODIFY_TZ() { \n    if [ -a /etc/timezone ]; then\n        SYSTEM_TIME_ZONE=$(cat /etc/timezone)\n    elif [ -a /etc/localtime ]; then\n        SYSTEM_TIME_ZONE=$(readlink /etc/localtime|sed -n 's|^.*zoneinfo/||p')\n    fi\n    NEW_TZ=\"$2\"\n    echo -e \"\"\n    echo -e \"See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for a list of timezones\"\n    echo -e \"Use a column named \"TZ identifier\" + note the column named \"Notes\"\"\n    echo -e \"Please enter your time zone\"\n    echo -e \"\"\n    if [ -z \"${SYSTEM_TIME_ZONE}\" ]; then\n        read -p \"Timezone: \" -e NEW_TZ\n    else\n        read -p \"Timezone [${SYSTEM_TIME_ZONE}]: \" -e NEW_TZ\n        [ -z \"${NEW_TZ}\" ] && NEW_TZ=${SYSTEM_TIME_ZONE}\n    fi\n\n    if [ -z \"${NEW_TZ}\" ]; then\n        echo -e \"\\033[31m Error: Please enter the time zone \\033[0m\"\n        exit 1\n    fi\n\n    # Perform modification\n    sed -i \"s|^TZ=.*|TZ=${NEW_TZ}|\" .env\n    if [ $? -ne 0 ]; then\n        echo -e \"\\033[31m Error: The BillionMail time zone modification failed! \\033[0m\"\n        exit 1\n    fi\n\n    if [ -f \"postgresql-data/postgresql.conf\" ]; then\n        cp -arpf postgresql-data/postgresql.conf  postgresql-data/postgresql.conf_${time}\n        sed -i \"s|^log_timezone = .*|log_timezone = \\'${NEW_TZ}\\'|\" postgresql-data/postgresql.conf\n        sed -i \"s|^timezone = .*|timezone = \\'${NEW_TZ}\\'|\" postgresql-data/postgresql.conf\n    fi\n\n    echo -e \"The BillionMail time zone has been modified to: ${NEW_TZ} \\n Rebuild the container, please wait...\"\n    sleep 3\n    ${DOCKER_COMPOSE} down\n    ${DOCKER_COMPOSE} up -d\n\n}\n\n\n# Modify Admin Username\nMODIFY_ADMIN_USERNAME() { \n\n    NEW_ADMIN=\"$2\"\n    if [ -z \"${NEW_ADMIN}\" ]; then\n        read -p \"Please enter the new BillionMail administrator username (minimum 5 characters): \" NEW_ADMIN\n    fi\n    if [ -z \"${NEW_ADMIN}\" ]; then\n        echo -e \"\\033[31mError: Administrator username is required!\\033[0m\"\n        exit 1\n    fi\n    if [ ${#NEW_ADMIN} -lt 5 ]; then\n        echo -e \"\\033[31mError: Username must be at least 5 characters long!\\033[0m\"\n        exit 1\n    fi\n    if ! [[ \"${NEW_ADMIN}\" =~ ^[a-zA-Z0-9@#_.!+-]+$ ]]; then\n        echo -e \"\\033[31mError: Username can only contain letters, numbers, symbols: @ # _ - + . !\\033[0m\"\n        exit 1\n    fi\n    # Perform modification\n    sed -i \"s|^ADMIN_USERNAME=.*|ADMIN_USERNAME=\"${NEW_ADMIN}\"|\" .env\n    if [ $? -ne 0 ]; then\n        echo -e \"\\033[31mError: Failed to update BillionMail administrator username!\\033[0m\"\n        exit 1\n    fi\n    echo -e \"BillionMail administrator username has been updated. Restarting container, please wait...\"\n    sleep 3\n    # Find the container ID of the core image in the current project and rebuild the container\n    # CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/core:\" | awk '{print $1}' )\n    CONTAINER=\"core\"\n    GET_CONTAINER_ID ${CONTAINER}\n    if [ \"${CONTAINER_ID}\" ]; then\n        echo \"Restarting Manage Container...\"\n        docker restart ${CONTAINER_ID}\n    else\n        echo \"The \"core\" container does not exist\"\n        echo \"Starting BillionMail...\"\n        ${DOCKER_COMPOSE} up -d\n    fi\n    # Display login information\n    bash bm.sh default\n}\n\n\n# Modify Admin Password\nMODIFY_ADMIN_PASSWORD() { \n\n    NEW_PASSWORD=\"$2\"\n    if [ -z \"${NEW_PASSWORD}\" ]; then\n        read -p \"Please enter the new BillionMail administrator password (minimum 5 characters): \" NEW_PASSWORD\n    fi\n    if [ -z \"${NEW_PASSWORD}\" ]; then\n        echo -e \"\\033[31mError: Administrator password is required!\\033[0m\"\n        exit 1\n    fi\n    if [ ${#NEW_PASSWORD} -lt 5 ]; then\n        echo -e \"\\033[31mError: Password must be at least 5 characters long!\\033[0m\"\n        exit 1\n    fi\n    if ! [[ \"${NEW_PASSWORD}\" =~ ^[a-zA-Z0-9@#_.!+-]+$ ]]; then\n        echo -e \"\\033[31mError: Password can only contain letters, numbers, symbols: @ # _ - + . !\\033[0m\"\n        exit 1\n    fi\n    # Perform modification\n    sed -i \"s|^ADMIN_PASSWORD=.*|ADMIN_PASSWORD=\"${NEW_PASSWORD}\"|\" .env\n    if [ $? -ne 0 ]; then\n        echo -e \"\\033[31mError: Failed to update BillionMail administrator password!\\033[0m\"\n        exit 1\n    fi\n    echo -e \"BillionMail administrator password has been updated. Restarting container, please wait...\"\n    sleep 3\n    # Find the container ID of the core image in the current project and rebuild the container\n    #CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/core:\" | awk '{print $1}' )\n    CONTAINER=\"core\"\n    GET_CONTAINER_ID ${CONTAINER}\n    if [ \"${CONTAINER_ID}\" ]; then\n        echo \"Restarting Manage Container...\"\n        docker restart ${CONTAINER_ID}\n    else\n        echo \"The \"core\" container does not exist\"\n        echo \"Starting BillionMail...\"\n        ${DOCKER_COMPOSE} up -d\n    fi\n    # Display login information\n    bash bm.sh default\n\n}\n\n\n# Modify Safe entrance\nMODIFY_SAFE_ENTRANCE() { \n\n    NEW_ENTRANCE=\"$2\"\n    if [ -z \"${NEW_ENTRANCE}\" ]; then\n        read -p \"Please enter the new BillionMail security entrance path (minimum 5 characters): \" NEW_ENTRANCE\n    fi\n    if [ -z \"${NEW_ENTRANCE}\" ]; then\n        echo -e \"\\033[31mError: Security entrance path is required!\\033[0m\"\n        exit 1\n    fi\n    if [ ${#NEW_ENTRANCE} -lt 5 ]; then\n        echo -e \"\\033[31mError: Security entrance path must be at least 5 characters long!\\033[0m\"\n        exit 1\n    fi\n    if ! [[ \"${NEW_ENTRANCE}\" =~ ^[a-zA-Z0-9]+$ ]]; then\n        echo -e \"\\033[31mError: Security entrance path can only contain letters and numbers!\\033[0m\"\n        exit 1\n    fi\n    # Perform modification\n    sed -i \"s|^SafePath=.*|SafePath=${NEW_ENTRANCE}|\" .env\n    if [ $? -ne 0 ]; then\n        echo -e \"\\033[31mError: Failed to update BillionMail security entrance path!\\033[0m\"\n        exit 1\n    fi\n    echo -e \"BillionMail security entrance path has been updated. Restarting container, please wait...\"\n    sleep 3\n    # Find the container ID of the core image in the current project and rebuild the container\n    # CONTAINER_ID=$(${DOCKER_COMPOSE} ps -a --format \"{{.ID}} {{.Image}}\" |grep \"/core:\" | awk '{print $1}' )\n    CONTAINER=\"core\"\n    GET_CONTAINER_ID ${CONTAINER}\n    if [ \"${CONTAINER_ID}\" ]; then\n        echo \"Restarting Manage Container...\"\n        docker restart ${CONTAINER_ID}\n    else\n        echo \"The \"core\" container does not exist\"\n        echo \"Starting BillionMail...\"\n        ${DOCKER_COMPOSE} up -d\n    fi\n    # Display login information\n    bash bm.sh default\n}\n\n# Rebuild the BillionMail project\n REBUILD_PROJECT() {\n    echo \"Rebuilding BillionMail...\"\n    echo -e \"\\033[31mWarning: This operation will rebuild all containers, service will be unavailable during the rebuild process. \\033[0m\"\n    read -p \"Are you sure you want to continue? (yes/no): \" NEW_REBUILD\n    if [[ \"$NEW_REBUILD\" =~ ^(yes|y|Y)$ ]]; then\n        sleep 3\n        ${DOCKER_COMPOSE} down\n        ${DOCKER_COMPOSE} up -d\n        echo \"Rebuild completed.\"\n    else\n        echo \"Rebuild cancel.\"\n    fi\n }\n\n# Restart the BillionMail project\nRESTART_PROJECT() {\n    echo \"Restarting BillionMail...\"\n    sleep 1\n    ${DOCKER_COMPOSE} restart\n}\n\n# Stop the BillionMail project\nSTOP_PROJECT() {\n    echo \"Stop BillionMail...\"\n    sleep 1\n    ${DOCKER_COMPOSE} stop\n}\n\nSTART_PROJECT() {\n    echo \"Start BillionMail...\"\n    sleep 1\n    ${DOCKER_COMPOSE} up -d\n}\n\nDOWN_PROJECT() {\n    echo \"Stop all BillionMail services and delete all BillionMail containers...\"\n    sleep 3\n    ${DOCKER_COMPOSE} down\n}\n\n# Restart the specified service\nRESTART_SERVICE() { \n    SERVICE=\"$2\"\n    if [ -z \"${SERVICE}\" ]; then\n        echo \"\"\n        echo \"Support input: postfix|core|dovecot|rspamd|redis|webmail|pgsql\"\n        read -p \"Please enter service: \" SERVICE\n    fi\n\n    GET_SERVICE_NAME ${SERVICE}\n    echo \"Restarting ${SERVICE} service...\"\n    sleep 3\n    ${DOCKER_COMPOSE} restart ${SERVICE_NAME}\n}\n\nRESTART_SERVICE_ADMIN() { \n    SERVICE=\"core\"\n    GET_SERVICE_NAME ${SERVICE}\n    echo \"Restarting ${SERVICE} service...\"\n    sleep 3\n    ${DOCKER_COMPOSE} restart ${SERVICE_NAME}\n}\n\n# Get container log \nGET_CONTAINER_LOG() { \n    CONTAINER=\"$2\"\n    if [ -z \"${CONTAINER}\" ]; then\n        echo \"\"\n        echo \"Support input: postfix|core|dovecot|rspamd|redis|webmail|pgsql\"\n        read -p \"Please enter container: \" CONTAINER\n    fi\n\n    log_num=\"$3\"\n    follow=\"\"\n\n    if [ \"$log_num\" == \"-f\" ]; then\n        follow=\"-f\"\n        log_num=\"$4\"\n    elif [ \"$4\" == \"-f\" ]; then\n        follow=\"-f\"\n    fi\n\n    if [[ \"$log_num\" =~ ^[0-9]+$ ]]; then\n        log_num=\"${log_num}\"\n    else\n        log_num=25\n    fi\n\n    GET_CONTAINER_ID ${CONTAINER}\n    if [ -z \"${CONTAINER_ID}\" ]; then\n        Red_Error \"ERROR: The \"${CONTAINER}\" container does not exist, Please execute '${DOCKER_COMPOSE} up -d' to start BillionMail\"\n    fi\n    docker logs ${follow} --tail=\"${log_num}\" ${CONTAINER_ID}\n}\n\n# Get file log\nGET_FILE_LOG() {\n    NAME_FILE=\"$2\"\n    \n    if [ -z \"${NAME_FILE}\" ]; then\n        echo \"\"\n        echo \"Support input: postfix|core|core-access|core-error|dovecot|rspamd|fail2ban\"\n        read -p \"Please enter name: \" NAME_FILE\n    fi\n\n    log_num=\"$3\"\n    follow=\"\"\n\n    if [ \"$log_num\" == \"-f\" ]; then\n        follow=\"-f\"\n        log_num=\"$4\"\n    elif [ \"$4\" == \"-f\" ]; then\n        follow=\"-f\"\n    fi\n\n    if [[ \"$log_num\" =~ ^[0-9]+$ ]]; then\n        log_num=\"${log_num}\"\n    else\n        log_num=25\n    fi\n\n    # Define log files\n    declare -A LOG_FILES=(\n        [\"core\"]=\"$(date +%Y-%m-%d).log\"\n        [\"core-access\"]=\"access-$(date +%Y%m%d).log\"\n        [\"core-error\"]=\"error-$(date +%Y%m%d).log\"\n        [\"postfix\"]=\"mail.log\"\n        [\"dovecot\"]=\"mail.log\"\n        [\"rspamd\"]=\"rspamd.log\"\n        [\"fail2ban\"]=\"fail2ban.log\"\n    )\n\n    # Define log directory mapping \n    declare -A LOG_DIRS=(\n        [\"core\"]=\"core\"\n        [\"core-access\"]=\"core\"\n        [\"core-error\"]=\"core\"\n        [\"postfix\"]=\"postfix\"\n        [\"dovecot\"]=\"dovecot\"\n        [\"rspamd\"]=\"rspamd\"\n        [\"fail2ban\"]=\"fail2ban\"\n    )\n\n    # Check whether the service name is valid\n    if [[ ! \" ${!LOG_FILES[@]} \" =~ \" ${NAME_FILE} \" ]]; then\n        echo \"How to use: $0 log_file core 100\"\n        Red_Error \"Error: Invalid name. Please enter name: (postfix|core|core-access|core-error|dovecot|rspamd|fail2ban) \"\n    fi\n\n    # Get log file name and directory\n    LOG_FILE=\"${LOG_FILES[$NAME_FILE]}\"\n    LOG_DIR=\"${LOG_DIRS[$NAME_FILE]}\"\n    \n    # Check and display log files\n    if [ -f \"logs/${LOG_DIR}/${LOG_FILE}\" ]; then\n        tail ${follow} -n ${log_num} \"logs/${LOG_DIR}/${LOG_FILE}\"\n    elif [ -f \"data/logs/${LOG_DIR}/${LOG_FILE}\" ]; then\n        tail ${follow} -n ${log_num} \"data/logs/${LOG_DIR}/${LOG_FILE}\"\n    else\n        Red_Error \"logs file does not exist!\"\n    fi\n}\n\n# Get service TOP \nGET_SERVICE_TOP() {\n\n    SERVICE=\"$2\"\n    if [ -z \"${SERVICE}\" ]; then\n        read -p \"Please enter service: \" SERVICE\n    fi\n\n    GET_SERVICE_NAME ${SERVICE}\n    ${DOCKER_COMPOSE} top ${SERVICE_NAME}\n}\n\nGET_SERVICE_TOP_ALL() {\n\n    ${DOCKER_COMPOSE} top\n\n}\n\nGET_SERVICE_PS() {\n\n    ${DOCKER_COMPOSE} ps\n\n}\n\n# Get containers status\nGET_CONTAINER_STATUS() {\n    CONTAINERS=(\"core\" \"postfix\" \"dovecot\" \"rspamd\" \"pgsql\" \"redis\" \"webmail\")\n        \n    for cc in \"${CONTAINERS[@]}\"; do\n        \n        CONTAINER=\"${cc}\"\n        GET_CONTAINER_ID \"${CONTAINER}\"\n                \n        status=$(docker inspect --format='{{.State.Status}}' \"${CONTAINER_ID}\" 2>/dev/null)\n        if [ \"$status\" = \"running\" ]; then\n            echo -e \"\\033[32m ${CONTAINER} container is running\\033[0m\"\n        else\n            echo -e \"\\033[31m ${CONTAINER} container is not running. Status: ${status} \\033[0m\"\n        fi\n        \n    done\n}\n\nCLEAR_OLD_IMAGE() {\n    # Remove only outdated versions of images defined in docker-compose.yml\n\n    # Check if docker-compose.yml exists\n    if [ ! -f \"docker-compose.yml\" ]; then\n        Red_Error \"Error: docker-compose.yml file not found\"      \n    fi\n\n    # Extract complete image names (including tags) defined in compose file\n    # echo \"Extracting billionmail images from docker-compose.yml...\"\n    # COMPOSE_IMAGES=$(grep -oP 'image:\\s*\\K[^\"\\s]+' docker-compose.yml | sort -u)\n    COMPOSE_IMAGES=$(grep -oP 'image:\\s*\\K(?:billionmail|ghcr\\.io/aapanel)[^\"\\s]+' docker-compose.yml | sort -u)\n\n    # Check if any images were found\n    if [ -z \"${COMPOSE_IMAGES}\" ]; then\n        echo \"Warning: No image definitions found in docker-compose.yml\"\n        exit 1\n    fi\n\n    # Get all local Docker images (excluding <none> images)\n    # echo \"Getting all local Docker images...\"\n    ALL_IMAGES=$(docker images --format \"{{.Repository}}:{{.Tag}}\" | grep -v \"<none>:<none>\")\n\n    # Find outdated images to remove\n    IMAGES_TO_REMOVE=\"\"\n\n    while IFS= read -r compose_image; do\n        # Extract image name (without tag)\n        image_name=$(echo \"${compose_image}\" | awk -F: '{print $1}')\n        \n        # Extract tag defined in compose file\n        compose_tag=$(echo \"${compose_image}\" | awk -F: '{print $2}')\n        \n        # Find all local images with the same name\n        local_images=$(echo \"${ALL_IMAGES}\" | grep \"^${image_name}:\")\n        \n        # Filter images with different tags\n        for local_image in ${local_images}; do\n            local_tag=$(echo \"${local_image}\" | awk -F: '{print $2}')\n            \n            # If local tag differs from compose tag, add to removal list\n            if [ \"${local_tag}\" != \"${compose_tag}\" ]; then\n                IMAGES_TO_REMOVE=\"${IMAGES_TO_REMOVE} ${local_image}\"\n            fi\n        done\n    done <<< \"${COMPOSE_IMAGES}\"\n\n    # Display results\n    if [ -z \"${IMAGES_TO_REMOVE}\" ]; then\n        echo \"\"\n        echo \"No outdated images found to remove\"\n        exit 0\n    fi\n\n    echo -e \"\\n--- Outdated images to remove ---\"\n    echo \"${IMAGES_TO_REMOVE}\" | tr ' ' '\\n' | grep -v '^$'\n    IMAGE_COUNT=$(echo \"${IMAGES_TO_REMOVE}\" | wc -w)\n    echo -e \"\\nTotal: ${IMAGE_COUNT} outdated images to remove\"\n\n    # Ask for confirmation\n    read -p \"Remove these outdated images? (y/n): \" confirm\n    if [ \"${confirm}\" = \"y\" ] || [ \"${confirm}\" = \"Y\" ]; then\n        sleep 5\n        for image in ${IMAGES_TO_REMOVE}; do\n            echo \"Removing image: ${image}\"\n            docker rmi \"${image}\" || echo \"Warning: Failed to remove ${image}\"\n        done\n        echo \"Outdated images removed successfully\"\n        echo -e \"For deeper Docker system cleanup, ensure all containers to keep are running before executing:\\n docker system prune\"\n    else\n        echo \"Operation cancelled\"\n    fi\n}\n\n# Turn off IP access whitelist restrictions\nCANCEL_IP_WHITELIST_LIMIT() { \n\n    # Perform modification\n    sed -i 's/^IP_WHITELIST_ENABLE=.*/IP_WHITELIST_ENABLE=false/' .env\n    \n    echo -e \"The BillionMail IP access whitelist Restrictions: Closed \\n Restart the container, please wait...\"\n    sleep 3\n    CONTAINER=\"core\"\n    GET_CONTAINER_ID ${CONTAINER}\n    if [ \"${CONTAINER_ID}\" ]; then\n        echo \"Rebuilding Manage Container...\"\n        docker stop ${CONTAINER_ID}\n        docker rm -f ${CONTAINER_ID}\n        ${DOCKER_COMPOSE} up -d\n    else\n        echo \"The \"core\" container does not exist\"\n        echo \"Starting BillionMail...\"\n        ${DOCKER_COMPOSE} up -d\n    fi\n}\n\n\nAPPLY_MULTI_IP() {\n    echo \"🚀 Starting multi-IP configuration application...\"\n\n    # Initialize_Project\n\n    echo \"📁 Current directory: $PWD_d\"\n    PROJECT_DIR=\"$PWD_d\"\n\n    # Temporary backup path (under project root)\n    BACKUP_COMPOSE=\"docker-compose.yml.bak.$(date +%Y%m%d-%H%M%S)\"\n\n    # 🔐 Load .env file\n    ENV_FILE=\"./.env\"\n    if [ -f \"$ENV_FILE\" ]; then\n        echo \"🔐 Loading environment variables: $ENV_FILE\"\n        source \"$ENV_FILE\"\n        if [ -z \"${DBUSER}\" ] || [ -z \"${DBNAME}\" ] || [ -z \"${DBPASS}\" ]; then\n            Red_Error \"❌ .env configuration error, database settings are empty\"\n        fi\n    else\n        Red_Error \"❌ .env file not found: $ENV_FILE, please ensure configuration exists\"\n    fi\n\n    # Database configuration\n    DB_HOST=\"127.0.0.1\"\n    DB_PORT=\"25432\"\n    DB_NAME=\"${DBNAME}\"\n    DB_USER=\"${DBUSER}\"\n    DB_PASS=\"${DBPASS}\"\n\n    # Record initial state for rollback\n    ORIGINAL_COMPOSE=\"docker-compose.yml\"\n    ADDNETWORK_COMPOSE=\"docker-compose_addnetwork.yml\"\n\n    # Create temporary file\n    TEMP_FILE=$(mktemp) || { Red_Error \"❌ Unable to create temporary file\"; }\n\n    # ============ Cleanup and rollback functions ============\n    cleanup_apply() {\n        if [[ -n \"$TEMP_FILE\" && -f \"$TEMP_FILE\" ]]; then\n            rm -f \"$TEMP_FILE\"\n        fi\n    }\n\n    rollback_compose() {\n        echo \"⚠️ Error detected, rolling back docker-compose.yml...\"\n        if [[ -f \"$BACKUP_COMPOSE\" ]]; then\n            cp \"$BACKUP_COMPOSE\" \"$ORIGINAL_COMPOSE\"\n            echo \"✅ Successfully rolled back to original configuration\"\n        else\n            echo \"❌ Backup file $BACKUP_COMPOSE does not exist, unable to rollback!\"\n        fi\n    }\n\n    # Set trap to handle exceptions and cleanup\n    trap 'echo \"💥 Script execution failed, triggering rollback\"; rollback_compose; cleanup_apply; exit 1' ERR\n    trap 'cleanup_apply' EXIT\n\n    # ============ 1. Check if new compose file exists ============\n    echo \"🔍 Checking if docker-compose_addnetwork.yml exists...\"\n    if [ ! -f \"${ADDNETWORK_COMPOSE}\" ]; then\n        Red_Error \"❌ Error: ${ADDNETWORK_COMPOSE} file does not exist, please verify\"\n    fi\n\n    # ============ 2. Backup and replace docker-compose.yml ============\n    echo \"🔄 Backing up and replacing docker-compose.yml\"\n    if [[ -f \"$ORIGINAL_COMPOSE\" ]]; then\n        cp \"$ORIGINAL_COMPOSE\" \"$BACKUP_COMPOSE\"\n        echo \"✅ Backup created as: $BACKUP_COMPOSE\"\n    fi\n\n    # Use cp instead of mv to keep original file for repeated execution\n    cp \"$ADDNETWORK_COMPOSE\" \"$ORIGINAL_COMPOSE\"\n    echo \"✅ docker-compose.yml has been updated\"\n\n    # ============ 3. Insert domain → smtp_name mapping into bm_domain_smtp_transport ============\n    echo \"🔄 Reading data from bm_multi_ip_domain and inserting into bm_domain_smtp_transport...\"\n\n    # Query database for domain and smtp_server_name using secure query method\n    if ! docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A -F'|' \\\n        -c \"SELECT domain, smtp_server_name FROM bm_multi_ip_domain WHERE active = 1;\" > \"$TEMP_FILE\"; then\n        Red_Error \"❌ Database query failed, please check connection or table structure\"\n    fi\n\n    # Check if temporary file has content\n    if [[ ! -s \"$TEMP_FILE\" ]]; then\n        echo \"⚠️ No active multi-IP domain configurations found, skipping sender rule setup\"\n    else\n        echo \"📋 Found $(wc -l < \"$TEMP_FILE\") configuration records\"\n\n        # Safely process query results\n        while IFS='|' read -r domain smtp_name; do\n            # Clean whitespace and validate\n            domain=$(echo \"$domain\" | xargs)\n            smtp_name=$(echo \"$smtp_name\" | xargs)\n\n            # Skip empty lines or invalid data\n            [[ -z \"$domain\" || -z \"$smtp_name\" ]] && continue\n\n            # Validate domain format (basic security check)\n            if [[ ! \"$domain\" =~ ^[a-zA-Z0-9.-]+$ ]]; then\n                echo \"⚠️ Skipping invalid domain format: $domain\"\n                continue\n            fi\n\n            atype=\"dedicated_ip\"\n            domain_with_at=\"@${domain}\"\n\n            echo \"🔍 Checking if sender rule exists for domain: $domain_with_at...\"\n\n            # Use secure SQL query\n            escaped_domain=$(printf '%s\\n' \"$domain_with_at\" | sed \"s/'/''/g\")\n            EXISTS=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A \\\n                -c \"SELECT 1 FROM bm_domain_smtp_transport WHERE domain = '$escaped_domain';\")\n\n            # If exists, delete it\n            if [[ -n \"$EXISTS\" && \"$EXISTS\" != \"\" ]]; then\n                echo \"🟡 Sender rule already exists for domain: $domain_with_at, deleting...\"\n                if ! docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} \\\n                    -c \"DELETE FROM bm_domain_smtp_transport WHERE domain = '$escaped_domain';\"; then\n                    Red_Error \"❌ Failed to delete old record: $domain_with_at\"\n                fi\n                echo \"✅ Old rule deleted: $domain_with_at\"\n            fi\n\n            # Execute insertion (using secure string escaping)\n            echo \"📝 Inserting: $domain_with_at → $smtp_name\"\n            escaped_smtp=$(printf '%s\\n' \"$smtp_name\" | sed \"s/'/''/g\")\n            escaped_atype=$(printf '%s\\n' \"$atype\" | sed \"s/'/''/g\")\n            if ! docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} \\\n                -c \"INSERT INTO bm_domain_smtp_transport (atype, domain, smtp_name) VALUES ('$escaped_atype', '$escaped_domain', '$escaped_smtp');\"; then\n                Red_Error \"❌ Insertion failed: $domain_with_at\"\n            fi\n\n            echo \"✅ Successfully inserted: $domain_with_at → $smtp_name\"\n\n        done < \"$TEMP_FILE\"\n\n        echo \"📝 All domain mappings have been successfully written to bm_domain_smtp_transport\"\n    fi\n\n    # Update status of all records in bm_multi_ip_domain table to 'applied'\n      echo \"🔄 Resetting multi-IP domain status to 'applied'...\"\n\n      # First, query how many records need updating\n      CURRENT_DOMAIN_COUNT=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A \\\n          -c \"SELECT COUNT(*) FROM bm_multi_ip_domain WHERE status != 'applied';\" 2>/dev/null || echo \"0\")\n\n      echo \"📊 Current number of domains needing status reset: ${CURRENT_DOMAIN_COUNT}\"\n\n      if [[ \"${CURRENT_DOMAIN_COUNT}\" -gt 0 ]]; then\n          # Execute update operation\n          if docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} \\\n              -c \"UPDATE bm_multi_ip_domain SET status = 'applied';\" >/dev/null 2>&1; then\n              echo \"✅ Successfully reset ${CURRENT_DOMAIN_COUNT} multi-IP domain statuses to 'applied'\"\n          else\n              echo \"❌ Failed to reset multi-IP domain statuses\"\n              exit 1\n          fi\n      else\n          echo \"✅ All multi-IP domain statuses are already 'applied'\"\n      fi\n\n    # ============ 4. Restart services ============\n    echo \"🔄 Restarting BillionMail services\"\n    if ! ${DOCKER_COMPOSE} down; then\n        Red_Error \"❌ docker-compose down failed\"\n    fi\n\n    if ! ${DOCKER_COMPOSE} up -d; then\n        Red_Error \"❌ docker-compose up -d failed: docker-compose.yml has errors, please check\"\n    fi\n\n    # Wait for services to start and check health status\n    echo \"🔄 Waiting for services to start...\"\n    sleep 5\n\n    echo \"📊 Checking service status...\"\n    ${DOCKER_COMPOSE} ps\n\n    # Check if critical services are running properly\n    CORE_STATUS=$(${DOCKER_COMPOSE} ps core-billionmail --format \"{{.State}}\" 2>/dev/null || echo \"missing\")\n    POSTFIX_STATUS=$(${DOCKER_COMPOSE} ps postfix-billionmail --format \"{{.State}}\" 2>/dev/null || echo \"missing\")\n\n    if [[ \"$CORE_STATUS\" != \"running\" || \"$POSTFIX_STATUS\" != \"running\" ]]; then\n        echo \"⚠️ Warning: Some critical services may not have started properly\"\n        echo \"   Core status: $CORE_STATUS\"\n        echo \"   Postfix status: $POSTFIX_STATUS\"\n        echo \"💡 Please check 'docker compose logs' for details\"\n    fi\n\n    # ============ 5. Execution Summary ============\n    echo \"\"\n    echo \"🎉 =============== Execution Summary ===============\"\n    echo \"✅ All operations completed! Services have been successfully restarted\"\n    echo \"📁 Original configuration backed up as: $BACKUP_COMPOSE\"\n    echo \"🔄 New configuration applied: $ORIGINAL_COMPOSE\"\n    echo \"📋 Source configuration file preserved: $ADDNETWORK_COMPOSE\"\n    echo \"🕐 Completion time: $(date '+%Y-%m-%d %H:%M:%S')\"\n\n    # Optional: Clean up old backups (keep latest 3)\n    OLD_BACKUPS=$(find . -name 'docker-compose.yml.bak.*' -type f | wc -l)\n    if [[ $OLD_BACKUPS -gt 3 ]]; then\n        echo \"🧹 Cleaning up old backup files (keeping latest 3)...\"\n        find . -name 'docker-compose.yml.bak.*' -type f | sort -r | tail -n +4 | xargs rm -f 2>/dev/null || true\n    fi\n\n    echo \"=========================================\"\n\n    # Successfully completed, remove ERR trap\n    trap - ERR\n}\n\n\nFIX_MULTI_IP() {\n    echo \"🔧 Starting multi-IP configuration fix...\"\n\n    # ============ Initialization: Automatically locate project root directory ============\n    # Initialize_Project\n\n    # Load environment variables\n    if [ ! -f \".env\" ]; then\n        Red_Error \"❌ .env file not found, please ensure execution from project root directory\"\n    fi\n\n    source .env\n    if [ -z \"${DBUSER}\" ] || [ -z \"${DBNAME}\" ] || [ -z \"${DBPASS}\" ]; then\n        Red_Error \"❌ .env configuration error, database settings are empty\"\n    fi\n\n    echo \"📁 Project directory: ${PWD_d}\"\n\n    # ============ 1. Find the latest backup file ============\n    echo \"🔍 Searching for the latest docker-compose.yml backup file...\"\n    LATEST_BACKUP=$(find . -name 'docker-compose.yml.bak.*' -type f | sort -r | head -n 1)\n\n    if [ -z \"${LATEST_BACKUP}\" ]; then\n        echo \"⚠️ No docker-compose.yml backup file found\"\n        echo \"📋 List of available backup files:\"\n        find . -name 'docker-compose.yml.bak.*' -type f 2>/dev/null || echo \"   No backup files\"\n\n        read -p \"Proceed with database cleanup operation? (y/n): \" continue_cleanup\n        if [[ \"$continue_cleanup\" != \"y\" && \"$continue_cleanup\" != \"Y\" ]]; then\n            echo \"❌ Operation cancelled\"\n            exit 1\n        fi\n    else\n        echo \"✅ Found latest backup: ${LATEST_BACKUP}\"\n        echo \"🔄 Restoring docker-compose.yml...\"\n\n        # Create a backup of current file (in case rollback fails)\n        cp docker-compose.yml \"docker-compose.yml.before-fix.$(date +%Y%m%d-%H%M%S)\" 2>/dev/null || true\n\n        # Restore from backup\n        if cp \"${LATEST_BACKUP}\" docker-compose.yml; then\n            echo \"✅ docker-compose.yml has been restored\"\n        else\n            Red_Error \"❌ Failed to restore docker-compose.yml\"\n        fi\n    fi\n\n    # ============ 2. Clean up multi-IP configurations in database ============\n    echo \"🗄️ Starting database configuration cleanup...\"\n\n    # Check database connection (using container method)\n    echo \"🔗 Testing database connection...\"\n    if ! docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -c \"SELECT 1;\" >/dev/null 2>&1; then\n        Red_Error \"❌ Database connection failed, please check if service is running properly\"\n    fi\n    echo \"✅ Database connection is normal\"\n\n    # Delete records with atype=\"dedicated_ip\" from bm_domain_smtp_transport table\n    echo \"🗑️ Deleting dedicated IP records from bm_domain_smtp_transport table...\"\n\n    # First, query the current number of records\n    CURRENT_SMTP_COUNT=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A \\\n        -c \"SELECT COUNT(*) FROM bm_domain_smtp_transport WHERE atype = 'dedicated_ip';\" 2>/dev/null || echo \"0\")\n\n    echo \"📊 Current number of dedicated IP sender rules: ${CURRENT_SMTP_COUNT}\"\n\n    if [[ \"${CURRENT_SMTP_COUNT}\" -gt 0 ]]; then\n        # Execute deletion\n        if docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} \\\n            -c \"DELETE FROM bm_domain_smtp_transport WHERE atype = 'dedicated_ip';\" >/dev/null 2>&1; then\n            echo \"✅ Deleted ${CURRENT_SMTP_COUNT} dedicated IP sender rules\"\n        else\n            echo \"❌ Failed to delete dedicated IP sender rules\"\n            exit 1\n        fi\n    else\n        echo \"✅ No dedicated IP sender rules found to delete\"\n    fi\n\n    # Update status of all records in bm_multi_ip_domain table to 'pending'\n    echo \"🔄 Resetting multi-IP domain status to 'pending'...\"\n\n    # First, query the current number of records needing update\n    CURRENT_DOMAIN_COUNT=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A \\\n        -c \"SELECT COUNT(*) FROM bm_multi_ip_domain WHERE status != 'pending';\" 2>/dev/null || echo \"0\")\n\n    echo \"📊 Current number of domains needing status reset: ${CURRENT_DOMAIN_COUNT}\"\n\n    if [[ \"${CURRENT_DOMAIN_COUNT}\" -gt 0 ]]; then\n        # Execute update operation\n        if docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} \\\n            -c \"UPDATE bm_multi_ip_domain SET status = 'pending';\" >/dev/null 2>&1; then\n            echo \"✅ Reset ${CURRENT_DOMAIN_COUNT} multi-IP domain statuses to 'pending'\"\n        else\n            echo \"❌ Failed to reset multi-IP domain statuses\"\n            exit 1\n        fi\n    else\n        echo \"✅ All multi-IP domain statuses are already 'pending'\"\n    fi\n\n    # ============ 3. Verify cleanup results ============\n    echo \"🔍 Verifying cleanup results...\"\n\n    # Verify dedicated IP sender rules have been cleaned\n    REMAINING_SMTP_COUNT=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A \\\n        -c \"SELECT COUNT(*) FROM bm_domain_smtp_transport WHERE atype = 'dedicated_ip';\" 2>/dev/null || echo \"unknown\")\n\n    # Verify multi-IP domain statuses have been reset\n    REMAINING_APPLIED_COUNT=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A \\\n        -c \"SELECT COUNT(*) FROM bm_multi_ip_domain WHERE status = 'applied';\" 2>/dev/null || echo \"unknown\")\n\n    echo \"📊 Verification results:\"\n    echo \"   Remaining dedicated IP sender rules: ${REMAINING_SMTP_COUNT}\"\n    echo \"   Remaining applied status domains: ${REMAINING_APPLIED_COUNT}\"\n\n    # ============ 4. Restart services ============\n    echo \"🔄 Restarting BillionMail services...\"\n\n    echo \"🛑 Stopping services...\"\n    if ! ${DOCKER_COMPOSE} down; then\n        echo \"⚠️ Warning during service stop, continuing execution...\"\n    fi\n\n    echo \"🚀 Starting services...\"\n    if ! ${DOCKER_COMPOSE} up -d; then\n        Red_Error \"❌ Failed to start services, please check docker-compose.yml configuration\"\n    fi\n\n    # Wait for services to start\n    echo \"⏳ Waiting for services to start...\"\n    sleep 5\n\n    # Check service status\n    echo \"📊 Checking service status...\"\n    ${DOCKER_COMPOSE} ps\n\n    # ============ 5. Final verification ============\n    echo \"🔍 Final verification of database status...\"\n    sleep 2\n\n    # Final verification of dedicated IP sender rules\n    FINAL_SMTP_COUNT=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A \\\n        -c \"SELECT COUNT(*) FROM bm_domain_smtp_transport WHERE atype = 'dedicated_ip';\" 2>/dev/null || echo \"unknown\")\n\n    # Final verification of multi-IP domain statuses\n    FINAL_APPLIED_COUNT=$(docker exec -i -e PGPASSWORD=${DBPASS} ${PGSQL_CONTAINER_NAME} psql -U ${DBUSER} -d ${DBNAME} -t -A \\\n        -c \"SELECT COUNT(*) FROM bm_multi_ip_domain WHERE status = 'applied';\" 2>/dev/null || echo \"unknown\")\n\n    # ============ 6. Execution Summary ============\n    echo \"\"\n    echo \"🎉 =============== Fix Summary ===============\"\n    echo \"✅ Multi-IP configuration fix completed!\"\n    if [ -n \"${LATEST_BACKUP}\" ]; then\n        echo \"📁 Restored backup: ${LATEST_BACKUP} → docker-compose.yml\"\n    fi\n    echo \"🗑️ Dedicated IP sender rule cleanup result: ${CURRENT_SMTP_COUNT} → ${FINAL_SMTP_COUNT}\"\n    echo \"🔄 applied status domain reset result: ${CURRENT_DOMAIN_COUNT} → ${FINAL_APPLIED_COUNT}\"\n    echo \"🚀 Services restarted\"\n    echo \"🕐 Completion time: $(date '+%Y-%m-%d %H:%M:%S')\"\n    echo \"=========================================\"\n\n    # Provide detailed verification information\n    if [[ \"${FINAL_SMTP_COUNT}\" == \"0\" && \"${FINAL_APPLIED_COUNT}\" == \"0\" ]]; then\n        echo \"\"\n        echo \"🎉 Congratulations! Database cleanup completed successfully:\"\n        echo \"   ✅ All dedicated IP sender rules have been deleted\"\n        echo \"   ✅ All multi-IP domain statuses have been reset to pending\"\n    else\n        echo \"\"\n        echo \"⚠️ Note: Some data may not have been fully cleaned:\"\n        if [[ \"${FINAL_SMTP_COUNT}\" != \"0\" ]]; then\n            echo \"   ❌ Still ${FINAL_SMTP_COUNT} dedicated IP sender rules remaining\"\n        fi\n        if [[ \"${FINAL_APPLIED_COUNT}\" != \"0\" ]]; then\n            echo \"   ❌ Still ${FINAL_APPLIED_COUNT} domains with applied status\"\n        fi\n        echo \"   💡 Suggest manually checking the database or re-running the fix command\"\n    fi\n\n    echo \"\"\n    echo \"💡 Tips:\"\n    echo \"   1. To reconfigure multi-IP, please re-run: bm.sh multi_ip\"\n    echo \"   2. Suggest checking email sending functionality\"\n    echo \"   3. If issues occur, check container logs: bm.sh l-c core\"\n}\n\n\n\nSHOW_HELP() {\n        echo \"Help Information:\"\n        echo \"  default                   - Show BillionMail login default info: $0 default\"\n        echo \"  update                    - Update BillionMail: $0 update\"\n        echo \"  change-port               - Modify BillionMail access management port: $0 change-port\"\n        echo \"  change-tz                 - Modify BillionMail time zone: $0 change-tz\"\n        echo \"  change-user               - Modify BillionMail Administrator user: $0 change-user\"\n        echo \"  change-password           - Modify BillionMail Administrator password: $0 change-password\"\n        echo \"  change-safe-path          - Modify BillionMail security entrance path: $0 change-safe-path\"\n        echo \"  change-apply-ssl-port     - Modify BillionMail apply ssl port: $0 change-apply-ssl-port\"\n        echo \"  start                     - Start BillionMail: $0 start\"\n        echo \"  stop                      - Stop BillionMail: $0 stop\"\n        echo \"  restart                   - Restart BillionMail: $0 restart\"\n        echo \"  status                    - Show BillionMail containers running status : $0 status\"\n        echo \"  down                      - Stop and remove containers, networks: $0 down\"\n        echo \"  rebuild                   - Rebuild all BillionMail containers: $0 rebuild\"\n        echo \"  top                       - Show all BillionMail processes: $0 top\"\n        echo \"  ps                        - Show all BillionMail containers: $0 ps\"\n        echo \"  service-top               - Show processes of a specific BillionMail service: $0 s-t postfix\"\n        echo \"  log-file <service>            - View logs of a specific service: $0 l-f postfix\"\n        echo \"  log-container <container>     - View logs of a specific container: $0 l-c postfix\"\n        echo \"  restart-service <service>     - Restart a specific service and its container: $0 r-s postfix\"\n        echo \"  clear                     - Clear BillionMail old images: $0 clear\"\n        echo \"  cancel-ip-limit           - Cancel IP access limit : $0 c-i-l\"\n        # echo \"  add-domain <domain>       - Add domain. Example: $0 add-domain example.com\"\n        # echo \"  del-domain <domain>       - Delete domain. Example: $0 del-domain example.com\"\n        # echo \"  add-email <email>         - Add email. Example: $0 add-email user@example.com\"\n        # echo \"  del-email <email>         - Delete email. Example: $0 del-email user@example.com\"\n        echo \"  show-domain               - Show domain data.\"\n        echo \"  show-email                - Show email data.\"\n        # echo \"  show-record               - Show domain DNS record.\"\n        \n        exit\n}\n\n\ncase \"$1\" in\n    h | -h | help | --help | -help)\n        SHOW_HELP\n        ;;\n    default | info)\n        Default_info\n        ;;\n    update)\n        Update_BillionMail\n        ;;\n    add-domain)\n        Init_Domain \"$@\"\n        Add_Domain\n        ;;\n    del-domain)\n        Init_Domain \"$@\"\n        Del_Domain\n        ;;\n    add-email)\n        Init_Email \"$@\"\n        Add_Email\n        ;;\n    del-email)\n        Init_Email \"$@\"\n        Del_Email\n        ;;\n    show-domain)\n        Select_Domain_data\n        ;;\n    show-email)\n        Select_Email_data\n        ;;\n    show-record|show_dns_record)\n        Init_Domain \"$@\"\n        Domain_record\n        ;;\n    MODIFY_HTTP_PORT|modify_http_port|change-apply-ssl-port)\n        MODIFY_HTTP_SSL_PORT\n        ;;\n    MODIFY_HTTPS_PORT|modify_https_port|change-port)\n        MODIFY_HTTPS_PORT\n        ;;\n    MODIFY_TZ|modify_tz|change-tz)\n        MODIFY_TZ\n        ;;\n    MODIFY_ADMIN_USERNAME|modify_user|change-user)\n        MODIFY_ADMIN_USERNAME\n        ;;\n    MODIFY_ADMIN_PASSWORD|modify_password|change-password)\n        MODIFY_ADMIN_PASSWORD\n        ;;\n    MODIFY_SAFE_ENTRANCE|modify_safe_path|change-safe-path)\n        MODIFY_SAFE_ENTRANCE\n        ;;\n    REBUILD_PROJECT|rebuild_project|rebuild)\n        REBUILD_PROJECT\n        ;;\n    RESTART_PROJECT|restart_project|restart)\n        RESTART_PROJECT\n        ;;\n    START_PROJECT|start_project|start)\n        START_PROJECT\n        ;;\n    STOP_PROJECT|stop_project|stop)\n        STOP_PROJECT\n        ;;\n    GET_CONTAINER_STATUS|get_container_status|status)\n        GET_CONTAINER_STATUS\n        ;;\n    DOWN_PROJECT|down_project|down)\n        DOWN_PROJECT\n        ;;\n    RESTART_SERVICE|restart_service|restart-service|r-s)\n        RESTART_SERVICE \"$@\"\n        ;;\n    GET_CONTAINER_LOG|log_container|log-container|l-c)\n        GET_CONTAINER_LOG \"$@\"\n        ;;\n    GET_FILE_LOG|log_file|log-file|l-f)\n        GET_FILE_LOG \"$@\"\n        ;;\n    GET_SERVICE_TOP|service_top|service-top|s-t)\n        GET_SERVICE_TOP \"$@\"\n        ;;\n    GET_SERVICE_TOP_ALL|service_top_all|service-top-all|top)\n        GET_SERVICE_TOP_ALL\n        ;;    \n    GET_SERVICE_PS|service-ps|ps)\n        GET_SERVICE_PS\n        ;;  \n    RESTART_SERVICE_ADMIN|restart_service_admin|restart-service-admin|restart-admin)\n        RESTART_SERVICE_ADMIN\n        ;;\n    clear)\n    CLEAR_OLD_IMAGE\n    ;;    \n    cancel-ip-limit|c-i-l)\n    CANCEL_IP_WHITELIST_LIMIT\n    ;;  \n\n\n    Domain_multi_send_IP|apply_multi_ip|multi_ip)\n        APPLY_MULTI_IP\n        ;;\n\n    fix_multi_ip|fix-multi-ip)\n        FIX_MULTI_IP\n        ;;\n\n\n    *)\n        echo \"=============== BillionMail CLI ==================\"\n        echo \"1) Restart BillionMail          2) View login info\"\n        echo \"\"\n        echo \"3) View running status          4) Stop BillionMail\"\n        echo \"\"\n        echo \"5) Start BillionMail            6) Restart manage only (mail unaffected)\"\n        echo \"\"\n        echo \"7) Change manage password       8) Change manage username\"\n        echo \"\"\n        echo \"9) Change secure entry          10) Change manage access port\"\n        echo \"\"\n        echo \"11) View all processes          12) Update BillionMail\"\n        echo \"\"\n        echo \"13) Cancel IP access limit          \"\n        echo \"\"\n        echo \"0) Exit      For more commands: help\"\n        echo \"==================================================\"\n        read -p \"Enter number to execute command [0-12]: \" input  \n        case ${input} in\n        1)\n            RESTART_PROJECT\n            ;;\n        2)\n            Default_info\n            ;;\n        3)\n            GET_CONTAINER_STATUS\n            ;;\n        4)\n            STOP_PROJECT\n            ;;\n        5)\n            START_PROJECT\n            ;;\n        6)\n            RESTART_SERVICE_ADMIN\n            ;;\n        7)\n            MODIFY_ADMIN_PASSWORD\n            ;;\n        8)\n            MODIFY_ADMIN_USERNAME\n            ;;\n        9)\n            MODIFY_SAFE_ENTRANCE\n            ;;\n        10)\n            MODIFY_HTTPS_PORT\n            ;;\n        11)\n            GET_SERVICE_TOP_ALL\n            ;;\n        12)\n            Update_BillionMail\n            ;;\n        13)\n            CANCEL_IP_WHITELIST_LIMIT\n            ;;            \n        help)\n            SHOW_HELP\n            ;;\n        0 | * )\n            echo \"Cancelled!\"\n            exit\n            ;;\n        esac\n        ;;\nesac"
  },
  {
    "path": "conf/core/fail2ban_init/filter.d/core-limit-filter.conf",
    "content": "[Definition]\nfailregex = ^.*? \\d+ \"(GET|POST|HEAD|PUT|DELETE|PATCH|OPTIONS|CONNECT|TRACE) (http|https) [^ ]+ \\S+ HTTP.*\" .*, <HOST>, \".*?\", \".*?\"$\n\nignoreregex = .*/roundcube.*\n"
  },
  {
    "path": "conf/core/fail2ban_init/filter.d/roundcube-limit-filter.conf",
    "content": "[Definition]\n# Only match roundcube logs\nfailregex = ^.*? \\d+ \"(GET|POST|HEAD|PUT|DELETE|PATCH|OPTIONS|CONNECT|TRACE) (http|https) [^ ]+ /roundcube(?:[/?][^ \\\"]*)? HTTP.*\" .*, <HOST>, \".*?\", \".*?\"$\n# Exclude static resource interference\nignoreregex = ^.* /roundcube/(?:skins|plugins|assets|images)/"
  },
  {
    "path": "conf/core/fail2ban_init/jail.d/core-accesslimit.conf",
    "content": "[core-accesslimit]\nignoreip = 127.0.0.1/8\nenabled = true\nport = 80,443\nfilter = core-limit-filter\nlogpath = /opt/billionmail/core/logs/access-*.log\nmaxretry = 1000\nfindtime = 60\nbantime = 60\naction = %(action_)s\n"
  },
  {
    "path": "conf/core/fail2ban_init/jail.d/roundcube-accesslimit.conf",
    "content": "[roundcube-accesslimit]\nignoreip = 127.0.0.1/8\nenabled = true\nport = 80,443\nfilter = roundcube-limit-filter\nlogpath = /opt/billionmail/core/logs/access-*.log\nmaxretry = 600\nfindtime = 60\nbantime = 60\naction = %(action_)s"
  },
  {
    "path": "conf/dovecot/conf.d/10-auth.conf",
    "content": "##\n## Authentication processes\n##\n\n# Disable LOGIN command and all other plaintext authentications unless\n# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP\n# matches the local IP (ie. you're connecting from the same computer), the\n# connection is considered secure and plaintext authentication is allowed.\n# See also ssl=required setting.\ndisable_plaintext_auth = no\n\n# Authentication cache size (e.g. 10M). 0 means it's disabled. Note that\n# bsdauth, PAM and vpopmail require cache_key to be set for caching to be used.\n#auth_cache_size = 0\n# Time to live for cached data. After TTL expires the cached record is no\n# longer used, *except* if the main database lookup returns internal failure.\n# We also try to handle password changes automatically: If user's previous\n# authentication was successful, but this one wasn't, the cache isn't used.\n# For now this works only with plaintext authentication.\n#auth_cache_ttl = 1 hour\n# TTL for negative hits (user not found, password mismatch).\n# 0 disables caching them completely.\n#auth_cache_negative_ttl = 1 hour\n\n# Space separated list of realms for SASL authentication mechanisms that need\n# them. You can leave it empty if you don't want to support multiple realms.\n# Many clients simply use the first one listed here, so keep the default realm\n# first.\n#auth_realms =\n\n# Default realm/domain to use if none was specified. This is used for both\n# SASL realms and appending @domain to username in plaintext logins.\n#auth_default_realm = \n\n# List of allowed characters in username. If the user-given username contains\n# a character not listed in here, the login automatically fails. This is just\n# an extra check to make sure user can't exploit any potential quote escaping\n# vulnerabilities with SQL/LDAP databases. If you want to allow all characters,\n# set this value to empty.\n#auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@\n\n# Username character translations before it's looked up from databases. The\n# value contains series of from -> to characters. For example \"#@/@\" means\n# that '#' and '/' characters are translated to '@'.\n#auth_username_translation =\n\n# Username formatting before it's looked up from databases. You can use\n# the standard variables here, eg. %Lu would lowercase the username, %n would\n# drop away the domain if it was given, or \"%n-AT-%d\" would change the '@' into\n# \"-AT-\". This translation is done after auth_username_translation changes.\n#auth_username_format = %Lu\n\n# If you want to allow master users to log in by specifying the master\n# username within the normal username string (ie. not using SASL mechanism's\n# support for it), you can specify the separator character here. The format\n# is then <username><separator><master username>. UW-IMAP uses \"*\" as the\n# separator, so that could be a good choice.\n#auth_master_user_separator =\n\n# Username to use for users logging in with ANONYMOUS SASL mechanism\n#auth_anonymous_username = anonymous\n\n# Maximum number of dovecot-auth worker processes. They're used to execute\n# blocking passdb and userdb queries (eg. MySQL and PAM). They're\n# automatically created and destroyed as needed.\n#auth_worker_max_count = 30\n\n# Host name to use in GSSAPI principal names. The default is to use the\n# name returned by gethostname(). Use \"$ALL\" (with quotes) to allow all keytab\n# entries.\n#auth_gssapi_hostname =\n\n# Kerberos keytab to use for the GSSAPI mechanism. Will use the system\n# default (usually /etc/krb5.keytab) if not specified. You may need to change\n# the auth service to run as root to be able to read this file.\n#auth_krb5_keytab = \n\n# Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and\n# ntlm_auth helper. <doc/wiki/Authentication/Mechanisms/Winbind.txt>\n#auth_use_winbind = no\n\n# Path for Samba's ntlm_auth helper binary.\n#auth_winbind_helper_path = /usr/bin/ntlm_auth\n\n# Time to delay before replying to failed authentications.\n#auth_failure_delay = 2 secs\n\n# Require a valid SSL client certificate or the authentication fails.\n#auth_ssl_require_client_cert = no\n\n# Take the username from client's SSL certificate, using \n# X509_NAME_get_text_by_NID() which returns the subject's DN's\n# CommonName. \n#auth_ssl_username_from_cert = no\n\n# Space separated list of wanted authentication mechanisms:\n#   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey\n#   gss-spnego\n# NOTE: See also disable_plaintext_auth setting.\nauth_mechanisms = plain login\n\n##\n## Password and user databases\n##\n\n#\n# Password database is used to verify user's password (and nothing more).\n# You can have multiple passdbs and userdbs. This is useful if you want to\n# allow both system users (/etc/passwd) and virtual users to login without\n# duplicating the system users into virtual database.\n#\n# <doc/wiki/PasswordDatabase.txt>\n#\n# User database specifies where mails are located and what user/group IDs\n# own them. For single-UID configuration use \"static\" userdb.\n#\n# <doc/wiki/UserDatabase.txt>\n\n#!include auth-deny.conf.ext\n#!include auth-master.conf.ext\n\n#!include auth-system.conf.ext\n!include auth-sql.conf.ext\n#!include auth-ldap.conf.ext\n#!include auth-passwdfile.conf.ext\n#!include auth-checkpassword.conf.ext\n#!include auth-vpopmail.conf.ext\n#!include auth-static.conf.ext\n"
  },
  {
    "path": "conf/dovecot/conf.d/10-director.conf",
    "content": "##\n## Director-specific settings.\n##\n\n# Director can be used by Dovecot proxy to keep a temporary user -> mail server\n# mapping. As long as user has simultaneous connections, the user is always\n# redirected to the same server. Each proxy server is running its own director\n# process, and the directors are communicating the state to each others.\n# Directors are mainly useful with NFS-like setups.\n\n# List of IPs or hostnames to all director servers, including ourself.\n# Ports can be specified as ip:port. The default port is the same as\n# what director service's inet_listener is using.\n#director_servers = \n\n# List of IPs or hostnames to all backend mail servers. Ranges are allowed\n# too, like 10.0.0.10-10.0.0.30.\n#director_mail_servers = \n\n# How long to redirect users to a specific server after it no longer has\n# any connections.\n#director_user_expire = 15 min\n\n# How the username is translated before being hashed. Useful values include\n# %Ln if user can log in with or without @domain, %Ld if mailboxes are shared\n# within domain.\n#director_username_hash = %Lu\n\n# To enable director service, uncomment the modes and assign a port.\nservice director {\n  unix_listener login/director {\n    #mode = 0666\n  }\n  fifo_listener login/proxy-notify {\n    #mode = 0666\n  }\n  unix_listener director-userdb {\n    #mode = 0600\n  }\n  inet_listener {\n    #port = \n  }\n}\n\n# Enable director for the wanted login services by telling them to\n# connect to director socket instead of the default login socket:\nservice imap-login {\n  #executable = imap-login director\n}\nservice pop3-login {\n  #executable = pop3-login director\n}\nservice submission-login {\n  #executable = submission-login director\n}\n\n# Enable director for LMTP proxying:\nprotocol lmtp {\n  #auth_socket_path = director-userdb\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/10-logging.conf",
    "content": "##\n## Log destination.\n##\n\n# Log file to use for error messages. \"syslog\" logs to syslog,\n# /dev/stderr logs to stderr.\n#log_path = syslog\n\n# Log file to use for informational messages. Defaults to log_path.\n#info_log_path = \n# Log file to use for debug messages. Defaults to info_log_path.\n#debug_log_path = \n\n# Syslog facility to use if you're logging to syslog. Usually if you don't\n# want to use \"mail\", you'll use local0..local7. Also other standard\n# facilities are supported.\n#syslog_facility = mail\n\n##\n## Logging verbosity and debugging.\n##\n\n# Log filter is a space-separated list conditions. If any of the conditions\n# match, the log filter matches (i.e. they're ORed together). Parenthesis\n# are supported if multiple conditions need to be matched together.\n#\n# See https://doc.dovecot.org/configuration_manual/event_filter/ for details.\n#\n# For example: event=http_request_* AND category=error AND category=storage\n#\n# Filter to specify what debug logging to enable. This will eventually replace\n# mail_debug and auth_debug settings.\n#log_debug = \n\n# Crash after logging a matching event. For example category=error will crash\n# any time an error is logged, which can be useful for debugging.\n#log_core_filter = \n\n# Log unsuccessful authentication attempts and the reasons why they failed.\n#auth_verbose = no\n\n# In case of password mismatches, log the attempted password. Valid values are\n# no, plain and sha1. sha1 can be useful for detecting brute force password\n# attempts vs. user simply trying the same password over and over again.\n# You can also truncate the value to n chars by appending \":n\" (e.g. sha1:6).\n#auth_verbose_passwords = no\n\n# Even more verbose logging for debugging purposes. Shows for example SQL\n# queries.\n#auth_debug = no\n\n# In case of password mismatches, log the passwords and used scheme so the\n# problem can be debugged. Enabling this also enables auth_debug.\n#auth_debug_passwords = no\n\n# Enable mail process debugging. This can help you figure out why Dovecot\n# isn't finding your mails.\n#mail_debug = no\n\n# Show protocol level SSL errors.\n#verbose_ssl = no\n\n# mail_log plugin provides more event logging for mail processes.\nplugin {\n  # Events to log. Also available: flag_change append\n  #mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename\n  # Available fields: uid, box, msgid, from, subject, size, vsize, flags\n  # size and vsize are available only for expunge and copy events.\n  #mail_log_fields = uid box msgid size\n}\n\n##\n## Log formatting.\n##\n\n# Prefix for each line written to log file. % codes are in strftime(3)\n# format.\n#log_timestamp = \"%b %d %H:%M:%S \"\n\n# Space-separated list of elements we want to log. The elements which have\n# a non-empty variable value are joined together to form a comma-separated\n# string.\n#login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c\n\n# Login log format. %s contains login_log_format_elements string, %$ contains\n# the data we want to log.\n#login_log_format = %$: %s\n \n# Log prefix for mail processes. See doc/wiki/Variables.txt for list of\n# possible variables you can use.\n#mail_log_prefix = \"%s(%u)<%{pid}><%{session}>: \"\n\n# Format to use for logging mail deliveries:\n#  %$ - Delivery status message (e.g. \"saved to INBOX\")\n#  %m / %{msgid} - Message-ID\n#  %s / %{subject} - Subject\n#  %f / %{from} - From address\n#  %p / %{size} - Physical size\n#  %w / %{vsize} - Virtual size\n#  %e / %{from_envelope} - MAIL FROM envelope\n#  %{to_envelope} - RCPT TO envelope\n#  %{delivery_time} - How many milliseconds it took to deliver the mail\n#  %{session_time} - How long LMTP session took, not including delivery_time\n#  %{storage_id} - Backend-specific ID for mail, e.g. Maildir filename\n#deliver_log_format = msgid=%m: %$\n"
  },
  {
    "path": "conf/dovecot/conf.d/10-mail.conf",
    "content": "##\n## Mailbox locations and namespaces\n##\n\n# Location for users' mailboxes. The default is empty, which means that Dovecot\n# tries to find the mailboxes automatically. This won't work if the user\n# doesn't yet have any mail, so you should explicitly tell Dovecot the full\n# location.\n#\n# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u)\n# isn't enough. You'll also need to tell Dovecot where the other mailboxes are\n# kept. This is called the \"root mail directory\", and it must be the first\n# path given in the mail_location setting.\n#\n# There are a few special variables you can use, eg.:\n#\n#   %u - username\n#   %n - user part in user@domain, same as %u if there's no domain\n#   %d - domain part in user@domain, empty if there's no domain\n#   %h - home directory\n#\n# See doc/wiki/Variables.txt for full list. Some examples:\n#\n#   mail_location = maildir:~/Maildir\n#   mail_location = mbox:~/mail:INBOX=/var/mail/%u\n#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n\n#\n# <doc/wiki/MailLocation.txt>\n#\nmail_location = maildir:/var/vmail/%d/%n\n\n# If you need to set multiple mailbox locations or want to change default\n# namespace settings, you can do it by defining namespace sections.\n#\n# You can have private, shared and public namespaces. Private namespaces\n# are for user's personal mails. Shared namespaces are for accessing other\n# users' mailboxes that have been shared. Public namespaces are for shared\n# mailboxes that are managed by sysadmin. If you create any shared or public\n# namespaces you'll typically want to enable ACL plugin also, otherwise all\n# users can access all the shared mailboxes, assuming they have permissions\n# on filesystem level to do so.\nnamespace inbox {\n  # Namespace type: private, shared or public\n  #type = private\n\n  # Hierarchy separator to use. You should use the same separator for all\n  # namespaces or some clients get confused. '/' is usually a good one.\n  # The default however depends on the underlying mail storage format.\n  #separator = \n\n  # Prefix required to access this namespace. This needs to be different for\n  # all namespaces. For example \"Public/\".\n  #prefix = \n\n  # Physical location of the mailbox. This is in same format as\n  # mail_location, which is also the default for it.\n  #location =\n\n  # There can be only one INBOX, and this setting defines which namespace\n  # has it.\n  inbox = yes\n\n  # If namespace is hidden, it's not advertised to clients via NAMESPACE\n  # extension. You'll most likely also want to set list=no. This is mostly\n  # useful when converting from another server with different namespaces which\n  # you want to deprecate but still keep working. For example you can create\n  # hidden namespaces with prefixes \"~/mail/\", \"~%u/mail/\" and \"mail/\".\n  #hidden = no\n\n  # Show the mailboxes under this namespace with LIST command. This makes the\n  # namespace visible for clients that don't support NAMESPACE extension.\n  # \"children\" value lists child mailboxes, but hides the namespace prefix.\n  #list = yes\n\n  # Namespace handles its own subscriptions. If set to \"no\", the parent\n  # namespace handles them (empty prefix should always have this as \"yes\")\n  #subscriptions = yes\n\n  # See 15-mailboxes.conf for definitions of special mailboxes.\n}\n\n# Example shared namespace configuration\n#namespace {\n  #type = shared\n  #separator = /\n\n  # Mailboxes are visible under \"shared/user@domain/\"\n  # %%n, %%d and %%u are expanded to the destination user.\n  #prefix = shared/%%u/\n\n  # Mail location for other users' mailboxes. Note that %variables and ~/\n  # expands to the logged in user's data. %%n, %%d, %%u and %%h expand to the\n  # destination user's data.\n  #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u\n\n  # Use the default namespace for saving subscriptions.\n  #subscriptions = no\n\n  # List the shared/ namespace only if there are visible shared mailboxes.\n  #list = children\n#}\n# Should shared INBOX be visible as \"shared/user\" or \"shared/user/INBOX\"?\n#mail_shared_explicit_inbox = no\n\n# System user and group used to access mails. If you use multiple, userdb\n# can override these by returning uid or gid fields. You can use either numbers\n# or names. <doc/wiki/UserIds.txt>\nmail_uid = vmail\nmail_gid = mail\n\n# Group to enable temporarily for privileged operations. Currently this is\n# used only with INBOX when either its initial creation or dotlocking fails.\n# Typically this is set to \"mail\" to give access to /var/mail.\nmail_privileged_group = mail\n\n# Grant access to these supplementary groups for mail processes. Typically\n# these are used to set up access to shared mailboxes. Note that it may be\n# dangerous to set these if users can create symlinks (e.g. if \"mail\" group is\n# set here, ln -s /var/mail ~/mail/var could allow a user to delete others'\n# mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it).\n#mail_access_groups =\nmail_access_groups = mail\n\n# Allow full filesystem access to clients. There's no access checks other than\n# what the operating system does for the active UID/GID. It works with both\n# maildir and mboxes, allowing you to prefix mailboxes names with eg. /path/\n# or ~user/.\n#mail_full_filesystem_access = no\n\n# Dictionary for key=value mailbox attributes. This is used for example by\n# URLAUTH and METADATA extensions.\n#mail_attribute_dict =\n\n# A comment or note that is associated with the server. This value is\n# accessible for authenticated users through the IMAP METADATA server\n# entry \"/shared/comment\". \n#mail_server_comment = \"\"\n\n# Indicates a method for contacting the server administrator. According to\n# RFC 5464, this value MUST be a URI (e.g., a mailto: or tel: URL), but that\n# is currently not enforced. Use for example mailto:admin@example.com. This\n# value is accessible for authenticated users through the IMAP METADATA server\n# entry \"/shared/admin\".\n#mail_server_admin = \n\n##\n## Mail processes\n##\n\n# Don't use mmap() at all. This is required if you store indexes to shared\n# filesystems (NFS or clustered filesystem).\n#mmap_disable = no\n\n# Rely on O_EXCL to work when creating dotlock files. NFS supports O_EXCL\n# since version 3, so this should be safe to use nowadays by default.\n#dotlock_use_excl = yes\n\n# When to use fsync() or fdatasync() calls:\n#   optimized (default): Whenever necessary to avoid losing important data\n#   always: Useful with e.g. NFS when write()s are delayed\n#   never: Never use it (best performance, but crashes can lose data)\n#mail_fsync = optimized\n\n# Locking method for index files. Alternatives are fcntl, flock and dotlock.\n# Dotlocking uses some tricks which may create more disk I/O than other locking\n# methods. NFS users: flock doesn't work, remember to change mmap_disable.\n#lock_method = fcntl\n\n# Directory in which LDA/LMTP temporarily stores incoming mails >128 kB.\n#mail_temp_dir = /tmp\n\n# Valid UID range for users, defaults to 500 and above. This is mostly\n# to make sure that users can't log in as daemons or other system users.\n# Note that denying root logins is hardcoded to dovecot binary and can't\n# be done even if first_valid_uid is set to 0.\nfirst_valid_uid = 150\nlast_valid_uid = 150\n\n# Valid GID range for users, defaults to non-root/wheel. Users having\n# non-valid GID as primary group ID aren't allowed to log in. If user\n# belongs to supplementary groups with non-valid GIDs, those groups are\n# not set.\n#first_valid_gid = 1\n#last_valid_gid = 0\n\n# Maximum allowed length for mail keyword name. It's only forced when trying\n# to create new keywords.\n#mail_max_keyword_length = 50\n\n# ':' separated list of directories under which chrooting is allowed for mail\n# processes (ie. /var/mail will allow chrooting to /var/mail/foo/bar too).\n# This setting doesn't affect login_chroot, mail_chroot or auth chroot\n# settings. If this setting is empty, \"/./\" in home dirs are ignored.\n# WARNING: Never add directories here which local users can modify, that\n# may lead to root exploit. Usually this should be done only if you don't\n# allow shell access for users. <doc/wiki/Chrooting.txt>\n#valid_chroot_dirs = \n\n# Default chroot directory for mail processes. This can be overridden for\n# specific users in user database by giving /./ in user's home directory\n# (eg. /home/./user chroots into /home). Note that usually there is no real\n# need to do chrooting, Dovecot doesn't allow users to access files outside\n# their mail directory anyway. If your home directories are prefixed with\n# the chroot directory, append \"/.\" to mail_chroot. <doc/wiki/Chrooting.txt>\n#mail_chroot = \n\n# UNIX socket path to master authentication server to find users.\n# This is used by imap (for shared users) and lda.\n#auth_socket_path = /var/run/dovecot/auth-userdb\n\n# Directory where to look up mail plugins.\n#mail_plugin_dir = /usr/lib/dovecot\n\n# Space separated list of plugins to load for all services. Plugins specific to\n# IMAP, LDA, etc. are added to this list in their own .conf files.\n#mail_plugins = \n\n##\n## Mailbox handling optimizations\n##\n\n# Mailbox list indexes can be used to optimize IMAP STATUS commands. They are\n# also required for IMAP NOTIFY extension to be enabled.\n#mailbox_list_index = no\n\n# Trust mailbox list index to be up-to-date. This reduces disk I/O at the cost\n# of potentially returning out-of-date results after e.g. server crashes.\n# The results will be automatically fixed once the folders are opened.\n#mailbox_list_index_very_dirty_syncs = yes\n\n# Should INBOX be kept up-to-date in the mailbox list index? By default it's\n# not, because most of the mailbox accesses will open INBOX anyway.\n#mailbox_list_index_include_inbox = no\n\n# The minimum number of mails in a mailbox before updates are done to cache\n# file. This allows optimizing Dovecot's behavior to do less disk writes at\n# the cost of more disk reads.\n#mail_cache_min_mail_count = 0\n\n# When IDLE command is running, mailbox is checked once in a while to see if\n# there are any new mails or other changes. This setting defines the minimum\n# time to wait between those checks. Dovecot can also use inotify and\n# kqueue to find out immediately when changes occur.\n#mailbox_idle_check_interval = 30 secs\n\n# Save mails with CR+LF instead of plain LF. This makes sending those mails\n# take less CPU, especially with sendfile() syscall with Linux and FreeBSD.\n# But it also creates a bit more disk I/O which may just make it slower.\n# Also note that if other software reads the mboxes/maildirs, they may handle\n# the extra CRs wrong and cause problems.\n#mail_save_crlf = no\n\n# Max number of mails to keep open and prefetch to memory. This only works with\n# some mailbox formats and/or operating systems.\n#mail_prefetch_count = 0\n\n# How often to scan for stale temporary files and delete them (0 = never).\n# These should exist only after Dovecot dies in the middle of saving mails.\n#mail_temp_scan_interval = 1w\n\n# How many slow mail accesses sorting can perform before it returns failure.\n# With IMAP the reply is: NO [LIMIT] Requested sort would have taken too long.\n# The untagged SORT reply is still returned, but it's likely not correct.\n#mail_sort_max_read_count = 0\n\nprotocol !indexer-worker {\n  # If folder vsize calculation requires opening more than this many mails from\n  # disk (i.e. mail sizes aren't in cache already), return failure and finish\n  # the calculation via indexer process. Disabled by default. This setting must\n  # be 0 for indexer-worker processes.\n  #mail_vsize_bg_after_count = 0\n}\n\n##\n## Maildir-specific settings\n##\n\n# By default LIST command returns all entries in maildir beginning with a dot.\n# Enabling this option makes Dovecot return only entries which are directories.\n# This is done by stat()ing each entry, so it causes more disk I/O.\n# (For systems setting struct dirent->d_type, this check is free and it's\n# done always regardless of this setting)\n#maildir_stat_dirs = no\n\n# When copying a message, do it with hard links whenever possible. This makes\n# the performance much better, and it's unlikely to have any side effects.\n#maildir_copy_with_hardlinks = yes\n\n# Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only\n# when its mtime changes unexpectedly or when we can't find the mail otherwise.\n#maildir_very_dirty_syncs = no\n\n# If enabled, Dovecot doesn't use the S=<size> in the Maildir filenames for\n# getting the mail's physical size, except when recalculating Maildir++ quota.\n# This can be useful in systems where a lot of the Maildir filenames have a\n# broken size. The performance hit for enabling this is very small.\n#maildir_broken_filename_sizes = no\n\n# Always move mails from new/ directory to cur/, even when the \\Recent flags\n# aren't being reset.\n#maildir_empty_new = no\n\n##\n## mbox-specific settings\n##\n\n# Which locking methods to use for locking mbox. There are four available:\n#  dotlock: Create <mailbox>.lock file. This is the oldest and most NFS-safe\n#           solution. If you want to use /var/mail/ like directory, the users\n#           will need write access to that directory.\n#  dotlock_try: Same as dotlock, but if it fails because of permissions or\n#               because there isn't enough disk space, just skip it.\n#  fcntl  : Use this if possible. Works with NFS too if lockd is used.\n#  flock  : May not exist in all systems. Doesn't work with NFS.\n#  lockf  : May not exist in all systems. Doesn't work with NFS.\n#\n# You can use multiple locking methods; if you do the order they're declared\n# in is important to avoid deadlocks if other MTAs/MUAs are using multiple\n# locking methods as well. Some operating systems don't allow using some of\n# them simultaneously.\n#mbox_read_locks = fcntl\n#mbox_write_locks = dotlock fcntl\nmbox_write_locks = fcntl\n\n# Maximum time to wait for lock (all of them) before aborting.\n#mbox_lock_timeout = 5 mins\n\n# If dotlock exists but the mailbox isn't modified in any way, override the\n# lock file after this much time.\n#mbox_dotlock_change_timeout = 2 mins\n\n# When mbox changes unexpectedly we have to fully read it to find out what\n# changed. If the mbox is large this can take a long time. Since the change\n# is usually just a newly appended mail, it'd be faster to simply read the\n# new mails. If this setting is enabled, Dovecot does this but still safely\n# fallbacks to re-reading the whole mbox file whenever something in mbox isn't\n# how it's expected to be. The only real downside to this setting is that if\n# some other MUA changes message flags, Dovecot doesn't notice it immediately.\n# Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK \n# commands.\n#mbox_dirty_syncs = yes\n\n# Like mbox_dirty_syncs, but don't do full syncs even with SELECT, EXAMINE,\n# EXPUNGE or CHECK commands. If this is set, mbox_dirty_syncs is ignored.\n#mbox_very_dirty_syncs = no\n\n# Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK\n# commands and when closing the mailbox). This is especially useful for POP3\n# where clients often delete all mails. The downside is that our changes\n# aren't immediately visible to other MUAs.\n#mbox_lazy_writes = yes\n\n# If mbox size is smaller than this (e.g. 100k), don't write index files.\n# If an index file already exists it's still read, just not updated.\n#mbox_min_index_size = 0\n\n# Mail header selection algorithm to use for MD5 POP3 UIDLs when\n# pop3_uidl_format=%m. For backwards compatibility we use apop3d inspired\n# algorithm, but it fails if the first Received: header isn't unique in all\n# mails. An alternative algorithm is \"all\" that selects all headers.\n#mbox_md5 = apop3d\n\n##\n## mdbox-specific settings\n##\n\n# Maximum dbox file size until it's rotated.\n#mdbox_rotate_size = 2M\n\n# Maximum dbox file age until it's rotated. Typically in days. Day begins\n# from midnight, so 1d = today, 2d = yesterday, etc. 0 = check disabled.\n#mdbox_rotate_interval = 0\n\n# When creating new mdbox files, immediately preallocate their size to\n# mdbox_rotate_size. This setting currently works only in Linux with some\n# filesystems (ext4, xfs).\n#mdbox_preallocate_space = no\n\n##\n## Mail attachments\n##\n\n# sdbox and mdbox support saving mail attachments to external files, which\n# also allows single instance storage for them. Other backends don't support\n# this for now.\n\n# Directory root where to store mail attachments. Disabled, if empty.\n#mail_attachment_dir =\n\n# Attachments smaller than this aren't saved externally. It's also possible to\n# write a plugin to disable saving specific attachments externally.\n#mail_attachment_min_size = 128k\n\n# Filesystem backend to use for saving attachments:\n#  posix : No SiS done by Dovecot (but this might help FS's own deduplication)\n#  sis posix : SiS with immediate byte-by-byte comparison during saving\n#  sis-queue posix : SiS with delayed comparison and deduplication\n#mail_attachment_fs = sis posix\n\n# Hash format to use in attachment filenames. You can add any text and\n# variables: %{md4}, %{md5}, %{sha1}, %{sha256}, %{sha512}, %{size}.\n# Variables can be truncated, e.g. %{sha256:80} returns only first 80 bits\n#mail_attachment_hash = %{sha1}\n\n# Settings to control adding $HasAttachment or $HasNoAttachment keywords.\n# By default, all MIME parts with Content-Disposition=attachment, or inlines\n# with filename parameter are consired attachments.\n#   add-flags-on-save - Add the keywords when saving new mails.\n#   content-type=type or !type - Include/exclude content type. Excluding will\n#     never consider the matched MIME part as attachment. Including will only\n#     negate an exclusion (e.g. content-type=!foo/* content-type=foo/bar).\n#   exclude-inlined - Exclude any Content-Disposition=inline MIME part.\n#mail_attachment_detection_options =\n"
  },
  {
    "path": "conf/dovecot/conf.d/10-master.conf",
    "content": "#default_process_limit = 100\n#default_client_limit = 1000\n\n# Default VSZ (virtual memory size) limit for service processes. This is mainly\n# intended to catch and kill processes that leak memory before they eat up\n# everything.\n#default_vsz_limit = 256M\n\n# Login user is internally used by login processes. This is the most untrusted\n# user in Dovecot system. It shouldn't have access to anything at all.\n#default_login_user = dovenull\n\n# Internal user is used by unprivileged processes. It should be separate from\n# login user, so that login processes can't disturb other processes.\n#default_internal_user = dovecot\n\nservice imap-login {\n  inet_listener imap {\n    #port = 143\n  }\n  inet_listener imaps {\n    #port = 993\n    #ssl = yes\n  }\n\n  # Number of connections to handle before starting a new process. Typically\n  # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0\n  # is faster. <doc/wiki/LoginProcess.txt>\n  #service_count = 1\n\n  # Number of processes to always keep waiting for more connections.\n  #process_min_avail = 0\n\n  # If you set service_count=0, you probably need to grow this.\n  #vsz_limit = $default_vsz_limit\n}\n\nservice pop3-login {\n  inet_listener pop3 {\n    #port = 110\n  }\n  inet_listener pop3s {\n    #port = 995\n    #ssl = yes\n  }\n}\n\n# service lmtp {\n#   unix_listener /var/spool/postfix/private/dovecot-lmtp {\n#     #mode = 0666\n#     mode = 0600\n#     user = postfix\n#     group = postfix\n#   }\nservice lmtp {\n  inet_listener lmtp-inet {\n    port = 26\n  }\n  user = vmail\n}\n\n  # Create inet listener only if you can't use the above UNIX socket\n  #inet_listener lmtp {\n    # Avoid making LMTP visible for the entire internet\n    #address =\n    #port = \n  #}\n\n\nservice imap {\n  # Most of the memory goes to mmap()ing files. You may need to increase this\n  # limit if you have huge mailboxes.\n  #vsz_limit = $default_vsz_limit\n\n  # Max. number of IMAP processes (connections)\n  #process_limit = 1024\n}\n\nservice pop3 {\n  # Max. number of POP3 processes (connections)\n  #process_limit = 1024\n}\nservice auth {\n  inet_listener auth-inet {\n    port = 10002\n  }\n  unix_listener auth-master {\n    mode = 0600\n    user = vmail\n  }\n  unix_listener auth-userdb {\n    mode = 0600\n    user = vmail\n  }\n  vsz_limit = 2G\n}\n# service auth {\n#   # auth_socket_path points to this userdb socket by default. It's typically\n#   # used by dovecot-lda, doveadm, possibly imap process, etc. Users that have\n#   # full permissions to this socket are able to get a list of all usernames and\n#   # get the results of everyone's userdb lookups.\n#   #\n#   # The default 0666 mode allows anyone to connect to the socket, but the\n#   # userdb lookups will succeed only if the userdb returns an \"uid\" field that\n#   # matches the caller process's UID. Also if caller's uid or gid matches the\n#   # socket's uid or gid the lookup succeeds. Anything else causes a failure.\n#   #\n#   # To give the caller full permissions to lookup all users, set the mode to\n#   # something else than 0666 and Dovecot lets the kernel enforce the\n#   # permissions (e.g. 0777 allows everyone full permissions).\n#   unix_listener auth-userdb {\n#     mode = 0600\n#     user = vmail\n#     #group = vmail\n#   }\n\n#   # Postfix smtp-auth\n#   unix_listener /var/spool/postfix/private/auth {\n#     mode = 0666\n#     user = postfix\n#     group = postfix\n#   }\n\n#   # Auth process is run as this user.\n#   #user = $default_internal_user\n#   user = dovecot\n# }\n\nservice auth-worker {\n  # Auth worker process is run as root by default, so that it can access\n  # /etc/shadow. If this isn't necessary, the user should be changed to\n  # $default_internal_user.\n  #user = root\n  user = vmail\n}\n\nservice dict {\n  # If dict proxy is used, mail processes should have access to its socket.\n  # For example: mode=0660, group=vmail and global mail_access_groups=vmail\n  unix_listener dict {\n    #mode = 0600\n    #user = \n    #group = \n  }\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/10-ssl.conf",
    "content": "##\n## SSL settings\n##\n\n# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>\n# disable plain pop3 and imap, allowed are only pop3+TLS, pop3s, imap+TLS and imaps\n# plain imap and pop3 are still allowed for local connections\nssl = yes\n\n# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before\n# dropping root privileges, so keep the key file unreadable by anyone but\n# root. Included doc/mkcert.sh can be used to easily generate self-signed\n# certificate, just make sure to update the domains in dovecot-openssl.cnf\nssl_cert = </etc/ssl/mail/cert.pem\nssl_key = </etc/ssl/mail/key.pem\nssl_dh = </etc/ssl/mail/dh.pem\n# If key file is password protected, give the password here. Alternatively\n# give it when starting dovecot with -p parameter. Since this file is often\n# world-readable, you may want to place this setting instead to a different\n# root owned 0600 file by using ssl_key_password = <path.\n#ssl_key_password =\n\n# PEM encoded trusted certificate authority. Set this only if you intend to use\n# ssl_verify_client_cert=yes. The file should contain the CA certificate(s)\n# followed by the matching CRL(s). (e.g. ssl_ca = </etc/pki/dovecot/certs/ca.pem)\n#ssl_ca = \n\n# Require that CRL check succeeds for peer certificates.\n#ssl_require_crl = yes\n\n# Directory and/or file for trusted SSL CA certificates. These are used only\n# when Dovecot needs to act as an SSL client (e.g. imapc backend). The\n# directory is usually /etc/pki/dovecot/certs in Debian-based systems and the file is\n# /etc/pki/tls/cert.pem in RedHat-based systems.\n#ssl_client_ca_dir =\n#ssl_client_ca_file =\n\n# Request client to send a certificate. If you also want to require it, set\n# auth_ssl_require_client_cert=yes in auth section.\n#ssl_verify_client_cert = no\n\n# Which field from certificate to use for username. commonName and\n# x500UniqueIdentifier are the usual choices. You'll also need to set\n# auth_ssl_username_from_cert=yes.\n#ssl_cert_username_field = commonName\n\n# DH parameters length to use.\n#ssl_dh_parameters_length = 1024\n\n# SSL protocols to use\n#ssl_protocols = !SSLv3\n\n# SSL ciphers to use\n#ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL\n\n# Prefer the server's order of ciphers over client's.\n#ssl_prefer_server_ciphers = no\n\n# SSL crypto device to use, for valid values run \"openssl engine\"\n#ssl_crypto_device =\n\n# SSL extra options. Currently supported options are:\n#   no_compression - Disable compression.\n#   no_ticket - Disable SSL session tickets.\n#ssl_options =\n"
  },
  {
    "path": "conf/dovecot/conf.d/10-tcpwrapper.conf",
    "content": "# 10-tcpwrapper.conf\n#\n# service name for hosts.{allow|deny} are those defined as\n# inet_listener in master.conf\n#\n#login_access_sockets = tcpwrap\n#\n#service tcpwrap {\n#  unix_listener login/tcpwrap {\n#    group = $default_login_user\n#    mode = 0600\n#    user = $default_login_user\n#  }\n#}\n"
  },
  {
    "path": "conf/dovecot/conf.d/15-lda.conf",
    "content": "##\n## LDA specific settings (also used by LMTP)\n##\n\n# Address to use when sending rejection mails.\n# Default is postmaster@%d. %d expands to recipient domain.\n#postmaster_address =\n\n# Hostname to use in various parts of sent mails (e.g. in Message-Id) and\n# in LMTP replies. Default is the system's real hostname@domain.\n#hostname = \n\n# If user is over quota, return with temporary failure instead of\n# bouncing the mail.\n#quota_full_tempfail = no\n\n# Binary to use for sending mails.\n#sendmail_path = /usr/sbin/sendmail\n\n# If non-empty, send mails via this SMTP host[:port] instead of sendmail.\n#submission_host =\n\n# Subject: header to use for rejection mails. You can use the same variables\n# as for rejection_reason below.\n#rejection_subject = Rejected: %s\n\n# Human readable error message for rejection mails. You can use variables:\n#  %n = CRLF, %r = reason, %s = original subject, %t = recipient\n#rejection_reason = Your message to <%t> was automatically rejected:%n%r\n\n# Delimiter character between local-part and detail in email address.\n#recipient_delimiter = +\n\n# Header where the original recipient address (SMTP's RCPT TO: address) is taken\n# from if not available elsewhere. With dovecot-lda -a parameter overrides this. \n# A commonly used header for this is X-Original-To.\n#lda_original_recipient_header =\n\n# Should saving a mail to a nonexistent mailbox automatically create it?\n#lda_mailbox_autocreate = no\n\n# Should automatically created mailboxes be also automatically subscribed?\n#lda_mailbox_autosubscribe = no\n\nprotocol lda {\n  # Space separated list of plugins to load (default is global mail_plugins).\n  #mail_plugins = $mail_plugins\n  mail_plugins = $mail_plugins sieve\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/15-mailboxes.conf",
    "content": "##\n## Mailbox definitions\n##\n\n# Each mailbox is specified in a separate mailbox section. The section name\n# specifies the mailbox name. If it has spaces, you can put the name\n# \"in quotes\". These sections can contain the following mailbox settings:\n#\n# auto:\n#   Indicates whether the mailbox with this name is automatically created\n#   implicitly when it is first accessed. The user can also be automatically\n#   subscribed to the mailbox after creation. The following values are\n#   defined for this setting:\n# \n#     no        - Never created automatically.\n#     create    - Automatically created, but no automatic subscription.\n#     subscribe - Automatically created and subscribed.\n#  \n# special_use:\n#   A space-separated list of SPECIAL-USE flags (RFC 6154) to use for the\n#   mailbox. There are no validity checks, so you could specify anything\n#   you want in here, but it's not a good idea to use flags other than the\n#   standard ones specified in the RFC:\n#\n#     \\All      - This (virtual) mailbox presents all messages in the\n#                 user's message store. \n#     \\Archive  - This mailbox is used to archive messages.\n#     \\Drafts   - This mailbox is used to hold draft messages.\n#     \\Flagged  - This (virtual) mailbox presents all messages in the\n#                 user's message store marked with the IMAP \\Flagged flag.\n#     \\Junk     - This mailbox is where messages deemed to be junk mail\n#                 are held.\n#     \\Sent     - This mailbox is used to hold copies of messages that\n#                 have been sent.\n#     \\Trash    - This mailbox is used to hold messages that have been\n#                 deleted.\n#\n# comment:\n#   Defines a default comment or note associated with the mailbox. This\n#   value is accessible through the IMAP METADATA mailbox entries\n#   \"/shared/comment\" and \"/private/comment\". Users with sufficient\n#   privileges can override the default value for entries with a custom\n#   value.\n\n# NOTE: Assumes \"namespace inbox\" has been defined in 10-mail.conf.\nnamespace inbox {\n  # These mailboxes are widely used and could perhaps be created automatically:\n  mailbox Drafts {\n  auto = subscribe\n    special_use = \\Drafts\n  }\n  mailbox Junk {\n  auto = subscribe\n    special_use = \\Junk\n  }\n  mailbox Trash {\n  auto = subscribe\n    special_use = \\Trash\n  }\n\n  # For \\Sent mailboxes there are two widely used names. We'll mark both of\n  # them as \\Sent. User typically deletes one of them if duplicates are created.\n  mailbox Sent {\n  auto = subscribe\n    special_use = \\Sent\n  }\n  mailbox \"Sent Messages\" {\n    special_use = \\Sent\n  }\n\n  # If you have a virtual \"All messages\" mailbox:\n  #mailbox virtual/All {\n  #  special_use = \\All\n  #  comment = All my messages\n  #}\n\n  # If you have a virtual \"Flagged\" mailbox:\n  #mailbox virtual/Flagged {\n  #  special_use = \\Flagged\n  #  comment = All my flagged messages\n  #}\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/20-imap.conf",
    "content": "##\n## IMAP specific settings\n##\n\n# If nothing happens for this long while client is IDLEing, move the connection\n# to imap-hibernate process and close the old imap process. This saves memory,\n# because connections use very little memory in imap-hibernate process. The\n# downside is that recreating the imap process back uses some resources.\n#imap_hibernate_timeout = 0\n\n# Maximum IMAP command line length. Some clients generate very long command\n# lines with huge mailboxes, so you may need to raise this if you get\n# \"Too long argument\" or \"IMAP command line too large\" errors often.\n#imap_max_line_length = 64k\n\n# IMAP logout format string:\n#  %i - total number of bytes read from client\n#  %o - total number of bytes sent to client\n#  %{fetch_hdr_count} - Number of mails with mail header data sent to client\n#  %{fetch_hdr_bytes} - Number of bytes with mail header data sent to client\n#  %{fetch_body_count} - Number of mails with mail body data sent to client\n#  %{fetch_body_bytes} - Number of bytes with mail body data sent to client\n#  %{deleted} - Number of mails where client added \\Deleted flag\n#  %{expunged} - Number of mails that client expunged, which does not\n#                include automatically expunged mails\n#  %{autoexpunged} - Number of mails that were automatically expunged after\n#                    client disconnected\n#  %{trashed} - Number of mails that client copied/moved to the\n#               special_use=\\Trash mailbox.\n#  %{appended} - Number of mails saved during the session\n#imap_logout_format = in=%i out=%o deleted=%{deleted} expunged=%{expunged} \\\n#  trashed=%{trashed} hdr_count=%{fetch_hdr_count} \\\n#  hdr_bytes=%{fetch_hdr_bytes} body_count=%{fetch_body_count} \\\n#  body_bytes=%{fetch_body_bytes}\n\n# Override the IMAP CAPABILITY response. If the value begins with '+',\n# add the given capabilities on top of the defaults (e.g. +XFOO XBAR).\n#imap_capability = \n\n# How long to wait between \"OK Still here\" notifications when client is\n# IDLEing.\n#imap_idle_notify_interval = 2 mins\n\n# ID field names and values to send to clients. Using * as the value makes\n# Dovecot use the default value. The following fields have default values\n# currently: name, version, os, os-version, support-url, support-email.\n#imap_id_send = \n\n# ID fields sent by client to log. * means everything.\n#imap_id_log =\n\n# Workarounds for various client bugs:\n#   delay-newmail:\n#     Send EXISTS/RECENT new mail notifications only when replying to NOOP\n#     and CHECK commands. Some clients ignore them otherwise, for example OSX\n#     Mail (<v2.1). Outlook Express breaks more badly though, without this it\n#     may show user \"Message no longer in server\" errors. Note that OE6 still\n#     breaks even with this workaround if synchronization is set to\n#     \"Headers Only\".\n#   tb-extra-mailbox-sep:\n#     Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and\n#     adds extra '/' suffixes to mailbox names. This option causes Dovecot to\n#     ignore the extra '/' instead of treating it as invalid mailbox name.\n#   tb-lsub-flags:\n#     Show \\Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox).\n#     This makes Thunderbird realize they aren't selectable and show them\n#     greyed out, instead of only later giving \"not selectable\" popup error.\n#\n# The list is space-separated.\n#imap_client_workarounds = \n\n# Host allowed in URLAUTH URLs sent by client. \"*\" allows all.\n#imap_urlauth_host =\n\n# Enable IMAP LITERAL- extension (replaces LITERAL+)\n#imap_literal_minus = no\n\n# What happens when FETCH fails due to some internal error:\n#   disconnect-immediately:\n#     The FETCH is aborted immediately and the IMAP client is disconnected.\n#   disconnect-after:\n#     The FETCH runs for all the requested mails returning as much data as\n#     possible. The client is finally disconnected without a tagged reply.\n#   no-after:\n#     Same as disconnect-after, but tagged NO reply is sent instead of\n#     disconnecting the client. If the client attempts to FETCH the same failed\n#     mail more than once, the client is disconnected. This is to avoid clients\n#     from going into infinite loops trying to FETCH a broken mail.\n#imap_fetch_failure = disconnect-immediately\n\nprotocol imap {\n  # Space separated list of plugins to load (default is global mail_plugins).\n  #mail_plugins = $mail_plugins\n\n  # Maximum number of IMAP connections allowed for a user from each IP address.\n  # NOTE: The username is compared case-sensitively.\n  #mail_max_userip_connections = 10\n  mail_plugins = imap_sieve\n\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/20-lmtp.conf",
    "content": "##\n## LMTP specific settings\n##\n\n# Support proxying to other LMTP/SMTP servers by performing passdb lookups.\n#lmtp_proxy = no\n\n# When recipient address includes the detail (e.g. user+detail), try to save\n# the mail to the detail mailbox. See also recipient_delimiter and\n# lda_mailbox_autocreate settings.\n#lmtp_save_to_detail_mailbox = no\n\n# Verify quota before replying to RCPT TO. This adds a small overhead.\n#lmtp_rcpt_check_quota = no\n\n# Add \"Received:\" header to mails delivered.\n#lmtp_add_received_header = yes\n\n# Which recipient address to use for Delivered-To: header and Received:\n# header. The default is \"final\", which is the same as the one given to\n# RCPT TO command. \"original\" uses the address given in RCPT TO's ORCPT\n# parameter, \"none\" uses nothing. Note that \"none\" is currently always used\n# when a mail has multiple recipients.\n#lmtp_hdr_delivery_address = final\n\n# Workarounds for various client bugs:\n#   whitespace-before-path:\n#     Allow one or more spaces or tabs between `MAIL FROM:' and path and between\n#     `RCPT TO:' and path.\n#   mailbox-for-path:\n#     Allow using bare Mailbox syntax (i.e., without <...>) instead of full path\n#     syntax.\n#\n# The list is space-separated.\n#lmtp_client_workarounds =\n\nprotocol lmtp {\n  # Space separated list of plugins to load (default is global mail_plugins).\n  #mail_plugins = $mail_plugins\n  mail_plugins = $mail_plugins sieve\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/20-pop3.conf",
    "content": "##\n## POP3 specific settings\n##\n\n# Don't try to set mails non-recent or seen with POP3 sessions. This is\n# mostly intended to reduce disk I/O. With maildir it doesn't move files\n# from new/ to cur/, with mbox it doesn't write Status-header.\n#pop3_no_flag_updates = no\n\n# Support LAST command which exists in old POP3 specs, but has been removed\n# from new ones. Some clients still wish to use this though. Enabling this\n# makes RSET command clear all \\Seen flags from messages.\n#pop3_enable_last = no\n\n# If mail has X-UIDL header, use it as the mail's UIDL.\n#pop3_reuse_xuidl = no\n\n# Allow only one POP3 session to run simultaneously for the same user.\n#pop3_lock_session = no\n\n# POP3 requires message sizes to be listed as if they had CR+LF linefeeds.\n# Many POP3 servers violate this by returning the sizes with LF linefeeds,\n# because it's faster to get. When this setting is enabled, Dovecot still\n# tries to do the right thing first, but if that requires opening the\n# message, it fallbacks to the easier (but incorrect) size.\n#pop3_fast_size_lookups = no\n\n# POP3 UIDL (unique mail identifier) format to use. You can use following\n# variables, along with the variable modifiers described in\n# doc/wiki/Variables.txt (e.g. %Uf for the filename in uppercase)\n#\n#  %v - Mailbox's IMAP UIDVALIDITY\n#  %u - Mail's IMAP UID\n#  %m - MD5 sum of the mailbox headers in hex (mbox only)\n#  %f - filename (maildir only)\n#  %g - Mail's GUID\n#\n# If you want UIDL compatibility with other POP3 servers, use:\n#  UW's ipop3d         : %08Xv%08Xu\n#  Courier             : %f or %v-%u (both might be used simultaneously)\n#  Cyrus (<= 2.1.3)    : %u\n#  Cyrus (>= 2.1.4)    : %v.%u\n#  Dovecot v0.99.x     : %v.%u\n#  tpop3d              : %Mf\n#\n# Note that Outlook 2003 seems to have problems with %v.%u format which was\n# Dovecot's default, so if you're building a new server it would be a good\n# idea to change this. %08Xu%08Xv should be pretty fail-safe.\n#\n#pop3_uidl_format = %08Xu%08Xv\n\n# Permanently save UIDLs sent to POP3 clients, so pop3_uidl_format changes\n# won't change those UIDLs. Currently this works only with Maildir.\n#pop3_save_uidl = no\n\n# What to do about duplicate UIDLs if they exist?\n#   allow: Show duplicates to clients.\n#   rename: Append a temporary -2, -3, etc. counter after the UIDL.\n#pop3_uidl_duplicates = allow\n\n# This option changes POP3 behavior so that it's not possible to actually\n# delete mails via POP3, only hide them from future POP3 sessions. The mails\n# will still be counted towards user's quota until actually deleted via IMAP.\n# Use e.g. \"$POP3Deleted\" as the value (it will be visible as IMAP keyword).\n# Make sure you can legally archive mails before enabling this setting.\n#pop3_deleted_flag =\n\n# POP3 logout format string:\n#  %i - total number of bytes read from client\n#  %o - total number of bytes sent to client\n#  %t - number of TOP commands\n#  %p - number of bytes sent to client as a result of TOP command\n#  %r - number of RETR commands\n#  %b - number of bytes sent to client as a result of RETR command\n#  %d - number of deleted messages\n#  %{deleted_bytes} - number of bytes in deleted messages\n#  %m - number of messages (before deletion)\n#  %s - mailbox size in bytes (before deletion)\n#  %u - old/new UIDL hash. may help finding out if UIDLs changed unexpectedly\n#pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s\n\n# Workarounds for various client bugs:\n#   outlook-no-nuls:\n#     Outlook and Outlook Express hang if mails contain NUL characters.\n#     This setting replaces them with 0x80 character.\n#   oe-ns-eoh:\n#     Outlook Express and Netscape Mail breaks if end of headers-line is\n#     missing. This option simply sends it if it's missing.\n# The list is space-separated.\n#pop3_client_workarounds = \n\nprotocol pop3 {\n  # Space separated list of plugins to load (default is global mail_plugins).\n  #mail_plugins = $mail_plugins\n\n  # Maximum number of POP3 connections allowed for a user from each IP address.\n  # NOTE: The username is compared case-sensitively.\n  #mail_max_userip_connections = 10\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/90-acl.conf",
    "content": "##\n## Mailbox access control lists.\n##\n\n# vfile backend reads ACLs from \"dovecot-acl\" file from mail directory.\n# You can also optionally give a global ACL directory path where ACLs are\n# applied to all users' mailboxes. The global ACL directory contains\n# one file for each mailbox, eg. INBOX or sub.mailbox. cache_secs parameter\n# specifies how many seconds to wait between stat()ing dovecot-acl file\n# to see if it changed.\nplugin {\n  #acl = vfile:/etc/dovecot/global-acls:cache_secs=300\n}\n\n# To let users LIST mailboxes shared by other users, Dovecot needs a\n# shared mailbox dictionary. For example:\nplugin {\n  #acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/90-plugin.conf",
    "content": "##\n## Plugin settings\n##\n\n# All wanted plugins must be listed in mail_plugins setting before any of the\n# settings take effect. See <doc/wiki/Plugins.txt> for list of plugins and\n# their configuration. Note that %variable expansion is done for all values.\n\nplugin {\n  #setting_name = value\n  sieve = /etc/dovecot/sieve/default.sieve\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/90-quota.conf",
    "content": "##\n## Quota configuration.\n##\n\n# Note that you also have to enable quota plugin in mail_plugins setting.\n# <doc/wiki/Quota.txt>\n\n##\n## Quota limits\n##\n\n# Quota limits are set using \"quota_rule\" parameters. To get per-user quota\n# limits, you can set/override them by returning \"quota_rule\" extra field\n# from userdb. It's also possible to give mailbox-specific limits, for example\n# to give additional 100 MB when saving to Trash:\n\nplugin {\n  #quota_rule = *:storage=1G\n  #quota_rule2 = Trash:storage=+100M\n\n  # LDA/LMTP allows saving the last mail to bring user from under quota to\n  # over quota, if the quota doesn't grow too high. Default is to allow as\n  # long as quota will stay under 10% above the limit. Also allowed e.g. 10M.\n  #quota_grace = 10%%\n\n  # Quota plugin can also limit the maximum accepted mail size.\n  #quota_max_mail_size = 100M\n}\n\n##\n## Quota warnings\n##\n\n# You can execute a given command when user exceeds a specified quota limit.\n# Each quota root has separate limits. Only the command for the first\n# exceeded limit is executed, so put the highest limit first.\n# The commands are executed via script service by connecting to the named\n# UNIX socket (quota-warning below).\n# Note that % needs to be escaped as %%, otherwise \"% \" expands to empty.\n\nplugin {\n  #quota_warning = storage=95%% quota-warning 95 %u\n  #quota_warning2 = storage=80%% quota-warning 80 %u\n}\n\n# Example quota-warning service. The unix listener's permissions should be\n# set in a way that mail processes can connect to it. Below example assumes\n# that mail processes run as vmail user. If you use mode=0666, all system users\n# can generate quota warnings to anyone.\n#service quota-warning {\n#  executable = script /usr/local/bin/quota-warning.sh\n#  user = dovecot\n#  unix_listener quota-warning {\n#    user = vmail\n#  }\n#}\n\n##\n## Quota backends\n##\n\n# Multiple backends are supported:\n#   dirsize: Find and sum all the files found from mail directory.\n#            Extremely SLOW with Maildir. It'll eat your CPU and disk I/O.\n#   dict: Keep quota stored in dictionary (eg. SQL)\n#   maildir: Maildir++ quota\n#   fs: Read-only support for filesystem quota\n\nplugin {\n  #quota = dirsize:User quota\n  #quota = maildir:User quota\n  #quota = dict:User quota::proxy::quota\n  #quota = fs:User quota\n}\n\n# Multiple quota roots are also possible, for example this gives each user\n# their own 100MB quota and one shared 1GB quota within the domain:\nplugin {\n  #quota = dict:user::proxy::quota\n  #quota2 = dict:domain:%d:proxy::quota_domain\n  #quota_rule = *:storage=102400\n  #quota2_rule = *:storage=1048576\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/90-sieve-extprograms.conf",
    "content": "# Sieve Extprograms plugin configuration\n\n# Don't forget to add the sieve_extprograms plugin to the sieve_plugins setting.\n# Also enable the extensions you need (one or more of vnd.dovecot.pipe,\n# vnd.dovecot.filter and vnd.dovecot.execute) by adding these\tto the\n# sieve_extensions or sieve_global_extensions settings. Restricting these\n# extensions to a global context using sieve_global_extensions is recommended.\n\nplugin {\n\n  # The directory where the program sockets are located for the\n  # vnd.dovecot.pipe, vnd.dovecot.filter and vnd.dovecot.execute extension\n  # respectively. The name of each unix socket contained in that directory\n  # directly maps to a program-name referenced from the Sieve script.\n  #sieve_pipe_socket_dir = sieve-pipe\n  #sieve_filter_socket_dir = sieve-filter\n  #sieve_execute_socket_dir = sieve-execute\n\n  # The directory where the scripts are located for direct execution by the\n  # vnd.dovecot.pipe, vnd.dovecot.filter and vnd.dovecot.execute extension\n  # respectively. The name of each script contained in that directory\n  # directly maps to a program-name referenced from the Sieve script.\n  #sieve_pipe_bin_dir = /usr/lib/dovecot/sieve-pipe\n  #sieve_filter_bin_dir = /usr/lib/dovecot/sieve-filter\n  #sieve_execute_bin_dir = /usr/lib/dovecot/sieve-execute\n}\n\n# An example program service called 'do-something' to pipe messages to\n#service do-something {\n  # Define the executed script as parameter to the sieve service\n  #executable = script /usr/lib/dovecot/sieve-pipe/do-something.sh\n\n  # Use some unprivileged user for executing the program\n  #user = dovenull\n\n  # The unix socket located in the sieve_pipe_socket_dir (as defined in the \n  # plugin {} section above)\n  #unix_listener sieve-pipe/do-something {\n    # LDA/LMTP must have access\n  #  user = vmail  \n  #  mode = 0600\n  #}\n#}\n\n"
  },
  {
    "path": "conf/dovecot/conf.d/90-sieve.conf",
    "content": "##\n## Settings for the Sieve interpreter\n##\n\n# Do not forget to enable the Sieve plugin in 15-lda.conf and 20-lmtp.conf\n# by adding it to the respective mail_plugins= settings.\n\n# The Sieve interpreter can retrieve Sieve scripts from several types of\n# locations. The default `file' location type is a local filesystem path\n# pointing to a Sieve script file or a directory containing multiple Sieve\n# script files. More complex setups can use other location types such as\n# `ldap' or `dict' to fetch Sieve scripts from remote databases.\n#\n# All settings that specify the location of one ore more Sieve scripts accept\n# the following syntax:\n#\n# location = [<type>:]path[;<option>[=<value>][;...]]\n#\n# If the type prefix is omitted, the script location type is 'file' and the \n# location is interpreted as a local filesystem path pointing to a Sieve script\n# file or directory. Refer to Pigeonhole wiki or INSTALL file for more\n# information.\n\nplugin {\n  # The location of the user's main Sieve script or script storage. The LDA\n  # Sieve plugin uses this to find the active script for Sieve filtering at\n  # delivery. The \"include\" extension uses this location for retrieving\n  # :personal\" scripts. This is also where the  ManageSieve service will store\n  # the user's scripts, if supported.\n  # \n  # Currently only the 'file:' location type supports ManageSieve operation.\n  # Other location types like 'dict:' and 'ldap:' can currently only\n  # be used as a read-only script source ().\n  #\n  # For the 'file:' type: use the ';active=' parameter to specify where the\n  # active script symlink is located.\n  # For other types: use the ';name=' parameter to specify the name of the\n  # default/active script.\n  sieve_plugins = sieve_imapsieve sieve_extprograms\n  sieve = file:~/sieve;active=~/.dovecot.sieve\n  sieve_before = /usr/lib/dovecot/sieve/spam-to-folder.sieve\n\n  # From elsewhere to Spam folder\n  imapsieve_mailbox1_name = Junk\n  imapsieve_mailbox1_causes = COPY\n  imapsieve_mailbox1_before = file:/usr/lib/dovecot/sieve/report-spam.sieve\n\n  # From Spam folder to elsewhere\n  imapsieve_mailbox2_name = *\n  imapsieve_mailbox2_from = Junk\n  imapsieve_mailbox2_causes = COPY\n  imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve\n\n  sieve_pipe_bin_dir = /usr/lib/dovecot/sieve\n\n  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment\n  # The default Sieve script when the user has none. This is the location of a\n  # global sieve script file, which gets executed ONLY if user's personal Sieve\n  # script doesn't exist. Be sure to pre-compile this script manually using the\n  # sievec command line tool if the binary is not stored in a global location.\n  # --> See sieve_before for executing scripts before the user's personal\n  #     script.\n  #sieve_default = /var/lib/dovecot/sieve/default.sieve\n\n  # The name by which the default Sieve script (as configured by the \n  # sieve_default setting) is visible to the user through ManageSieve. \n  #sieve_default_name = \n\n  # Location for \":global\" include scripts as used by the \"include\" extension.\n  #sieve_global =\n\n  # The location of a Sieve script that is run for any message that is about to\n  # be discarded; i.e., it is not delivered anywhere by the normal Sieve\n  # execution. This only happens when the \"implicit keep\" is canceled, by e.g.\n  # the \"discard\" action, and no actions that deliver the message are executed.\n  # This \"discard script\" can prevent discarding the message, by executing\n  # alternative actions. If the discard script does nothing, the message is\n\t# still discarded as it would be when no discard script is configured.\n  #sieve_discard =\n\n  # Location Sieve of scripts that need to be executed before the user's\n  # personal script. If a 'file' location path points to a directory, all the \n  # Sieve scripts contained therein (with the proper `.sieve' extension) are\n  # executed. The order of execution within that directory is determined by the\n  # file names, using a normal 8bit per-character comparison.\n  #\n  # Multiple script locations can be specified by appending an increasing number\n  # to the setting name. The Sieve scripts found from these locations are added\n  # to the script execution sequence in the specified order. Reading the\n  # numbered sieve_before settings stops at the first missing setting, so no\n  # numbers may be skipped.\n  #sieve_before = /var/lib/dovecot/sieve.d/\n  #sieve_before2 = ldap:/etc/sieve-ldap.conf;name=ldap-domain\n  #sieve_before3 = (etc...)\n\n  # Identical to sieve_before, only the specified scripts are executed after the\n  # user's script (only when keep is still in effect!). Multiple script\n  # locations can be specified by appending an increasing number.\n  #sieve_after =\n  #sieve_after2 =\n  #sieve_after2 = (etc...)\n\n  # Which Sieve language extensions are available to users. By default, all\n  # supported extensions are available, except for deprecated extensions or\n  # those that are still under development. Some system administrators may want\n  # to disable certain Sieve extensions or enable those that are not available\n  # by default. This setting can use '+' and '-' to specify differences relative\n  # to the default. For example `sieve_extensions = +imapflags' will enable the\n  # deprecated imapflags extension in addition to all extensions were already\n  # enabled by default.\n  #sieve_extensions = +notify +imapflags\n\n  # Which Sieve language extensions are ONLY available in global scripts. This\n  # can be used to restrict the use of certain Sieve extensions to administrator\n  # control, for instance when these extensions can cause security concerns.\n  # This setting has higher precedence than the `sieve_extensions' setting\n  # (above), meaning that the extensions enabled with this setting are never\n  # available to the user's personal script no matter what is specified for the\n  # `sieve_extensions' setting. The syntax of this setting is similar to the\n  # `sieve_extensions' setting, with the difference that extensions are\n  # enabled or disabled for exclusive use in global scripts. Currently, no\n  # extensions are marked as such by default.\n  #sieve_global_extensions =\n\n  # The Pigeonhole Sieve interpreter can have plugins of its own. Using this\n  # setting, the used plugins can be specified. Check the Dovecot wiki\n  # (wiki2.dovecot.org) or the pigeonhole website\n  # (http://pigeonhole.dovecot.org) for available plugins.\n  # The sieve_extprograms plugin is included in this release.\n  #sieve_plugins =\n\n  # The maximum size of a Sieve script. The compiler will refuse to compile any\n  # script larger than this limit. If set to 0, no limit on the script size is\n  # enforced.\n  #sieve_max_script_size = 1M\n\n  # The maximum number of actions that can be performed during a single script\n  # execution. If set to 0, no limit on the total number of actions is enforced.\n  #sieve_max_actions = 32\n\n  # The maximum number of redirect actions that can be performed during a single\n  # script execution. If set to 0, no redirect actions are allowed.\n  #sieve_max_redirects = 4\n\n  # The maximum number of personal Sieve scripts a single user can have. If set\n  # to 0, no limit on the number of scripts is enforced.\n  # (Currently only relevant for ManageSieve)\n  #sieve_quota_max_scripts = 0\n\n  # The maximum amount of disk storage a single user's scripts may occupy. If\n  # set to 0, no limit on the used amount of disk storage is enforced.\n  # (Currently only relevant for ManageSieve)\n  #sieve_quota_max_storage = 0\n\n  # The primary e-mail address for the user. This is used as a default when no\n  # other appropriate address is available for sending messages. If this setting\n  # is not configured, either the postmaster or null \"<>\" address is used as a\n  # sender, depending on the action involved. This setting is important when\n  # there is no message envelope to extract addresses from, such as when the\n  # script is executed in IMAP.\n  #sieve_user_email =\n\n  # The path to the file where the user log is written. If not configured, a\n  # default location is used. If the main user's personal Sieve (as configured\n  # with sieve=) is a file, the logfile is set to <filename>.log by default. If\n  # it is not a file, the default user log file is ~/.dovecot.sieve.log.\n  #sieve_user_log =\n\n  # Specifies what envelope sender address is used for redirected messages.\n  # The following values are supported for this setting:\n  #\n  #   \"sender\"         - The sender address is used (default).\n  #   \"recipient\"      - The final recipient address is used.\n  #   \"orig_recipient\" - The original recipient is used.\n  #   \"user_email\"     - The user's primary address is used. This is\n  #                      configured with the \"sieve_user_email\" setting. If\n  #                      that setting is unconfigured, \"user_mail\" is equal to\n  #                      \"recipient\".\n  #   \"postmaster\"     - The postmaster_address configured for the LDA.\n  #   \"<user@domain>\"  - Redirected messages are always sent from user@domain.\n  #                      The angle brackets are mandatory. The null \"<>\" address\n  #                      is also supported.\n  #\n  # This setting is ignored when the envelope sender is \"<>\". In that case the\n  # sender of the redirected message is also always \"<>\".\n  #sieve_redirect_envelope_from = sender\n\n  ## TRACE DEBUGGING\n  # Trace debugging provides detailed insight in the operations performed by\n  # the Sieve script. These settings apply to both the LDA Sieve plugin and the\n  # IMAPSIEVE plugin. \n  #\n  # WARNING: On a busy server, this functionality can quickly fill up the trace\n  # directory with a lot of trace files. Enable this only temporarily and as\n  # selective as possible.\n  \n  # The directory where trace files are written. Trace debugging is disabled if\n  # this setting is not configured or if the directory does not exist. If the \n  # path is relative or it starts with \"~/\" it is interpreted relative to the\n  # current user's home directory.\n  #sieve_trace_dir =\n  \n  # The verbosity level of the trace messages. Trace debugging is disabled if\n  # this setting is not configured. Possible values are:\n  #\n  #   \"actions\"        - Only print executed action commands, like keep,\n  #                      fileinto, reject and redirect.\n  #   \"commands\"       - Print any executed command, excluding test commands.\n  #   \"tests\"          - Print all executed commands and performed tests.\n  #   \"matching\"       - Print all executed commands, performed tests and the\n  #                      values matched in those tests.\n  #sieve_trace_level =\n  \n  # Enables highly verbose debugging messages that are usually only useful for\n  # developers.\n  #sieve_trace_debug = no\n  \n  # Enables showing byte code addresses in the trace output, rather than only\n  # the source line numbers.\n  #sieve_trace_addresses = no \n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/90-sieve_rspamd.conf",
    "content": "##\n## Settings for the Sieve interpreter\n##\n\n# Do not forget to enable the Sieve plugin in 15-lda.conf and 20-lmtp.conf\n# by adding it to the respective mail_plugins= settings.\n\n# The Sieve interpreter can retrieve Sieve scripts from several types of\n# locations. The default `file' location type is a local filesystem path\n# pointing to a Sieve script file or a directory containing multiple Sieve\n# script files. More complex setups can use other location types such as\n# `ldap' or `dict' to fetch Sieve scripts from remote databases.\n#\n# All settings that specify the location of one ore more Sieve scripts accept\n# the following syntax:\n#\n# location = [<type>:]path[;<option>[=<value>][;...]]\n#\n# If the type prefix is omitted, the script location type is 'file' and the \n# location is interpreted as a local filesystem path pointing to a Sieve script\n# file or directory. Refer to Pigeonhole wiki or INSTALL file for more\n# information.\n\nplugin {\n  # The location of the user's main Sieve script or script storage. The LDA\n  # Sieve plugin uses this to find the active script for Sieve filtering at\n  # delivery. The \"include\" extension uses this location for retrieving\n  # :personal\" scripts. This is also where the  ManageSieve service will store\n  # the user's scripts, if supported.\n  # \n  # Currently only the 'file:' location type supports ManageSieve operation.\n  # Other location types like 'dict:' and 'ldap:' can currently only\n  # be used as a read-only script source ().\n  #\n  # For the 'file:' type: use the ';active=' parameter to specify where the\n  # active script symlink is located.\n  # For other types: use the ';name=' parameter to specify the name of the\n  # default/active script.\n  sieve_plugins = sieve_imapsieve sieve_extprograms\n  sieve = file:~/sieve;active=~/.dovecot.sieve\n  sieve_before = /usr/lib/dovecot/sieve/spam-to-folder.sieve\n\n  # From elsewhere to Spam folder\n  imapsieve_mailbox1_name = Junk\n  imapsieve_mailbox1_causes = COPY\n  imapsieve_mailbox1_before = file:/usr/lib/dovecot/sieve/report-spam.sieve\n\n  # From Spam folder to elsewhere\n  imapsieve_mailbox2_name = *\n  imapsieve_mailbox2_from = Junk\n  imapsieve_mailbox2_causes = COPY\n  imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve\n\n  sieve_pipe_bin_dir = /usr/lib/dovecot/sieve\n\n  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment\n  # The default Sieve script when the user has none. This is the location of a\n  # global sieve script file, which gets executed ONLY if user's personal Sieve\n  # script doesn't exist. Be sure to pre-compile this script manually using the\n  # sievec command line tool if the binary is not stored in a global location.\n  # --> See sieve_before for executing scripts before the user's personal\n  #     script.\n  #sieve_default = /var/lib/dovecot/sieve/default.sieve\n\n  # The name by which the default Sieve script (as configured by the \n  # sieve_default setting) is visible to the user through ManageSieve. \n  #sieve_default_name = \n\n  # Location for \":global\" include scripts as used by the \"include\" extension.\n  #sieve_global =\n\n  # The location of a Sieve script that is run for any message that is about to\n  # be discarded; i.e., it is not delivered anywhere by the normal Sieve\n  # execution. This only happens when the \"implicit keep\" is canceled, by e.g.\n  # the \"discard\" action, and no actions that deliver the message are executed.\n  # This \"discard script\" can prevent discarding the message, by executing\n  # alternative actions. If the discard script does nothing, the message is\n\t# still discarded as it would be when no discard script is configured.\n  #sieve_discard =\n\n  # Location Sieve of scripts that need to be executed before the user's\n  # personal script. If a 'file' location path points to a directory, all the \n  # Sieve scripts contained therein (with the proper `.sieve' extension) are\n  # executed. The order of execution within that directory is determined by the\n  # file names, using a normal 8bit per-character comparison.\n  #\n  # Multiple script locations can be specified by appending an increasing number\n  # to the setting name. The Sieve scripts found from these locations are added\n  # to the script execution sequence in the specified order. Reading the\n  # numbered sieve_before settings stops at the first missing setting, so no\n  # numbers may be skipped.\n  #sieve_before = /var/lib/dovecot/sieve.d/\n  #sieve_before2 = ldap:/etc/sieve-ldap.conf;name=ldap-domain\n  #sieve_before3 = (etc...)\n\n  # Identical to sieve_before, only the specified scripts are executed after the\n  # user's script (only when keep is still in effect!). Multiple script\n  # locations can be specified by appending an increasing number.\n  #sieve_after =\n  #sieve_after2 =\n  #sieve_after2 = (etc...)\n\n  # Which Sieve language extensions are available to users. By default, all\n  # supported extensions are available, except for deprecated extensions or\n  # those that are still under development. Some system administrators may want\n  # to disable certain Sieve extensions or enable those that are not available\n  # by default. This setting can use '+' and '-' to specify differences relative\n  # to the default. For example `sieve_extensions = +imapflags' will enable the\n  # deprecated imapflags extension in addition to all extensions were already\n  # enabled by default.\n  #sieve_extensions = +notify +imapflags\n\n  # Which Sieve language extensions are ONLY available in global scripts. This\n  # can be used to restrict the use of certain Sieve extensions to administrator\n  # control, for instance when these extensions can cause security concerns.\n  # This setting has higher precedence than the `sieve_extensions' setting\n  # (above), meaning that the extensions enabled with this setting are never\n  # available to the user's personal script no matter what is specified for the\n  # `sieve_extensions' setting. The syntax of this setting is similar to the\n  # `sieve_extensions' setting, with the difference that extensions are\n  # enabled or disabled for exclusive use in global scripts. Currently, no\n  # extensions are marked as such by default.\n  #sieve_global_extensions =\n\n  # The Pigeonhole Sieve interpreter can have plugins of its own. Using this\n  # setting, the used plugins can be specified. Check the Dovecot wiki\n  # (wiki2.dovecot.org) or the pigeonhole website\n  # (http://pigeonhole.dovecot.org) for available plugins.\n  # The sieve_extprograms plugin is included in this release.\n  #sieve_plugins =\n\n  # The maximum size of a Sieve script. The compiler will refuse to compile any\n  # script larger than this limit. If set to 0, no limit on the script size is\n  # enforced.\n  #sieve_max_script_size = 1M\n\n  # The maximum number of actions that can be performed during a single script\n  # execution. If set to 0, no limit on the total number of actions is enforced.\n  #sieve_max_actions = 32\n\n  # The maximum number of redirect actions that can be performed during a single\n  # script execution. If set to 0, no redirect actions are allowed.\n  #sieve_max_redirects = 4\n\n  # The maximum number of personal Sieve scripts a single user can have. If set\n  # to 0, no limit on the number of scripts is enforced.\n  # (Currently only relevant for ManageSieve)\n  #sieve_quota_max_scripts = 0\n\n  # The maximum amount of disk storage a single user's scripts may occupy. If\n  # set to 0, no limit on the used amount of disk storage is enforced.\n  # (Currently only relevant for ManageSieve)\n  #sieve_quota_max_storage = 0\n\n  # The primary e-mail address for the user. This is used as a default when no\n  # other appropriate address is available for sending messages. If this setting\n  # is not configured, either the postmaster or null \"<>\" address is used as a\n  # sender, depending on the action involved. This setting is important when\n  # there is no message envelope to extract addresses from, such as when the\n  # script is executed in IMAP.\n  #sieve_user_email =\n\n  # The path to the file where the user log is written. If not configured, a\n  # default location is used. If the main user's personal Sieve (as configured\n  # with sieve=) is a file, the logfile is set to <filename>.log by default. If\n  # it is not a file, the default user log file is ~/.dovecot.sieve.log.\n  #sieve_user_log =\n\n  # Specifies what envelope sender address is used for redirected messages.\n  # The following values are supported for this setting:\n  #\n  #   \"sender\"         - The sender address is used (default).\n  #   \"recipient\"      - The final recipient address is used.\n  #   \"orig_recipient\" - The original recipient is used.\n  #   \"user_email\"     - The user's primary address is used. This is\n  #                      configured with the \"sieve_user_email\" setting. If\n  #                      that setting is unconfigured, \"user_mail\" is equal to\n  #                      \"recipient\".\n  #   \"postmaster\"     - The postmaster_address configured for the LDA.\n  #   \"<user@domain>\"  - Redirected messages are always sent from user@domain.\n  #                      The angle brackets are mandatory. The null \"<>\" address\n  #                      is also supported.\n  #\n  # This setting is ignored when the envelope sender is \"<>\". In that case the\n  # sender of the redirected message is also always \"<>\".\n  #sieve_redirect_envelope_from = sender\n\n  ## TRACE DEBUGGING\n  # Trace debugging provides detailed insight in the operations performed by\n  # the Sieve script. These settings apply to both the LDA Sieve plugin and the\n  # IMAPSIEVE plugin. \n  #\n  # WARNING: On a busy server, this functionality can quickly fill up the trace\n  # directory with a lot of trace files. Enable this only temporarily and as\n  # selective as possible.\n  \n  # The directory where trace files are written. Trace debugging is disabled if\n  # this setting is not configured or if the directory does not exist. If the \n  # path is relative or it starts with \"~/\" it is interpreted relative to the\n  # current user's home directory.\n  #sieve_trace_dir =\n  \n  # The verbosity level of the trace messages. Trace debugging is disabled if\n  # this setting is not configured. Possible values are:\n  #\n  #   \"actions\"        - Only print executed action commands, like keep,\n  #                      fileinto, reject and redirect.\n  #   \"commands\"       - Print any executed command, excluding test commands.\n  #   \"tests\"          - Print all executed commands and performed tests.\n  #   \"matching\"       - Print all executed commands, performed tests and the\n  #                      values matched in those tests.\n  #sieve_trace_level =\n  \n  # Enables highly verbose debugging messages that are usually only useful for\n  # developers.\n  #sieve_trace_debug = no\n  \n  # Enables showing byte code addresses in the trace output, rather than only\n  # the source line numbers.\n  #sieve_trace_addresses = no \n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-checkpassword.conf.ext",
    "content": "# Authentication for checkpassword users. Included from 10-auth.conf.\n#\n# <doc/wiki/AuthDatabase.CheckPassword.txt>\n\npassdb {\n  driver = checkpassword\n  args = /usr/bin/checkpassword\n}\n\n# passdb lookup should return also userdb info\nuserdb {\n  driver = prefetch\n}\n\n# Standard checkpassword doesn't support direct userdb lookups.\n# If you need checkpassword userdb, the checkpassword must support\n# Dovecot-specific extensions.\n#userdb {\n#  driver = checkpassword\n#  args = /usr/bin/checkpassword\n#}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-deny.conf.ext",
    "content": "# Deny access for users. Included from 10-auth.conf.\n\n# Users can be (temporarily) disabled by adding a passdb with deny=yes.\n# If the user is found from that database, authentication will fail.\n# The deny passdb should always be specified before others, so it gets\n# checked first.\n\n# Example deny passdb using passwd-file. You can use any passdb though.\npassdb {\n  driver = passwd-file\n  deny = yes\n\n  # File contains a list of usernames, one per line\n  args = /etc/dovecot/deny-users\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-dict.conf.ext",
    "content": "# Authentication via dict backend. Included from 10-auth.conf.\n#\n# <doc/wiki/AuthDatabase.Dict.txt>\n\npassdb {\n  driver = dict\n\n  # Path for dict configuration file, see\n  # example-config/dovecot-dict-auth.conf.ext\n  args = /etc/dovecot/dovecot-dict-auth.conf.ext\n}\n\nuserdb {\n  driver = dict\n  args = /etc/dovecot/dovecot-dict-auth.conf.ext\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-ldap.conf.ext",
    "content": "# Authentication for LDAP users. Included from 10-auth.conf.\n#\n# <doc/wiki/AuthDatabase.LDAP.txt>\n\npassdb {\n  driver = ldap\n\n  # Path for LDAP configuration file, see example-config/dovecot-ldap.conf.ext\n  args = /etc/dovecot/dovecot-ldap.conf.ext\n}\n\n# \"prefetch\" user database means that the passdb already provided the\n# needed information and there's no need to do a separate userdb lookup.\n# <doc/wiki/UserDatabase.Prefetch.txt>\n#userdb {\n#  driver = prefetch\n#}\n\nuserdb {\n  driver = ldap\n  args = /etc/dovecot/dovecot-ldap.conf.ext\n  \n  # Default fields can be used to specify defaults that LDAP may override\n  #default_fields = home=/home/virtual/%u\n}\n\n# If you don't have any user-specific settings, you can avoid the userdb LDAP\n# lookup by using userdb static instead of userdb ldap, for example:\n# <doc/wiki/UserDatabase.Static.txt>\n#userdb {\n  #driver = static\n  #args = uid=vmail gid=vmail home=/var/vmail/%u\n#}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-master.conf.ext",
    "content": "# Authentication for master users. Included from 10-auth.conf.\n\n# By adding master=yes setting inside a passdb you make the passdb a list\n# of \"master users\", who can log in as anyone else.\n# <doc/wiki/Authentication.MasterUsers.txt>\n\n# Example master user passdb using passwd-file. You can use any passdb though.\npassdb {\n  driver = passwd-file\n  master = yes\n  args = /etc/dovecot/master-users\n\n  # Unless you're using PAM, you probably still want the destination user to\n  # be looked up from passdb that it really exists. pass=yes does that.\n  pass = yes\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-passwdfile.conf.ext",
    "content": "# Authentication for passwd-file users. Included from 10-auth.conf.\n#\n# passwd-like file with specified location.\n# <doc/wiki/AuthDatabase.PasswdFile.txt>\n\npassdb {\n  driver = passwd-file\n  args = scheme=CRYPT username_format=%u /etc/dovecot/users\n}\n\nuserdb {\n  driver = passwd-file\n  args = username_format=%u /etc/dovecot/users\n\n  # Default fields that can be overridden by passwd-file\n  #default_fields = quota_rule=*:storage=1G\n\n  # Override fields from passwd-file\n  #override_fields = home=/home/virtual/%u\n}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-sql.conf.ext",
    "content": "# Authentication for SQL users. Included from 10-auth.conf.\n#\n# <doc/wiki/AuthDatabase.SQL.txt>\n\npassdb {\n  driver = sql\n\n  # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext\n  args = /etc/dovecot/conf.d/dovecot-sql.conf.ext\n}\n\n# \"prefetch\" user database means that the passdb already provided the\n# needed information and there's no need to do a separate userdb lookup.\n# <doc/wiki/UserDatabase.Prefetch.txt>\n#userdb {\n#  driver = prefetch\n#}\n\nuserdb {\n  driver = sql\n  args = /etc/dovecot/conf.d/dovecot-sql.conf.ext\n}\n\n# If you don't have any user-specific settings, you can avoid the user_query\n# by using userdb static instead of userdb sql, for example:\n# <doc/wiki/UserDatabase.Static.txt>\n#userdb {\n  #driver = static\n  #args = uid=vmail gid=vmail home=/var/vmail/%u\n#}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-static.conf.ext",
    "content": "# Static passdb. Included from 10-auth.conf.\n\n# This can be used for situations where Dovecot doesn't need to verify the\n# username or the password, or if there is a single password for all users:\n#\n#  - proxy frontend, where the backend verifies the password\n#  - proxy backend, where the frontend already verified the password\n#  - authentication with SSL certificates\n#  - simple testing\n\n#passdb {\n#  driver = static\n#  args = proxy=y host=%1Mu.example.com nopassword=y\n#}\n\n#passdb {\n#  driver = static\n#  args = password=test\n#}\n\n#userdb {\n#  driver = static\n#  args = uid=vmail gid=vmail home=/home/%u\n#}\n"
  },
  {
    "path": "conf/dovecot/conf.d/auth-system.conf.ext",
    "content": "# Authentication for system users. Included from 10-auth.conf.\n#\n# <doc/wiki/PasswordDatabase.txt>\n# <doc/wiki/UserDatabase.txt>\n\n# PAM authentication. Preferred nowadays by most systems.\n# PAM is typically used with either userdb passwd or userdb static.\n# REMEMBER: You'll need /etc/pam.d/dovecot file created for PAM\n# authentication to actually work. <doc/wiki/PasswordDatabase.PAM.txt>\npassdb {\n  driver = pam\n  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]\n  # [cache_key=<key>] [<service name>]\n  #args = dovecot\n}\n\n# System users (NSS, /etc/passwd, or similar).\n# In many systems nowadays this uses Name Service Switch, which is\n# configured in /etc/nsswitch.conf. <doc/wiki/AuthDatabase.Passwd.txt>\n#passdb {\n  #driver = passwd\n  # [blocking=no]\n  #args = \n#}\n\n# Shadow passwords for system users (NSS, /etc/shadow or similar).\n# Deprecated by PAM nowadays.\n# <doc/wiki/PasswordDatabase.Shadow.txt>\n#passdb {\n  #driver = shadow\n  # [blocking=no]\n  #args = \n#}\n\n# PAM-like authentication for OpenBSD.\n# <doc/wiki/PasswordDatabase.BSDAuth.txt>\n#passdb {\n  #driver = bsdauth\n  # [blocking=no] [cache_key=<key>]\n  #args =\n#}\n\n##\n## User databases\n##\n\n# System users (NSS, /etc/passwd, or similar). In many systems nowadays this\n# uses Name Service Switch, which is configured in /etc/nsswitch.conf.\nuserdb {\n  # <doc/wiki/AuthDatabase.Passwd.txt>\n  driver = passwd\n  # [blocking=no]\n  #args = \n\n  # Override fields from passwd\n  #override_fields = home=/home/virtual/%u\n}\n\n# Static settings generated from template <doc/wiki/UserDatabase.Static.txt>\n#userdb {\n  #driver = static\n  # Can return anything a userdb could normally return. For example:\n  #\n  #  args = uid=500 gid=500 home=/var/mail/%u\n  #\n  # LDA and LMTP needs to look up users only from the userdb. This of course\n  # doesn't work with static userdb because there is no list of users.\n  # Normally static userdb handles this by doing a passdb lookup. This works\n  # with most passdbs, with PAM being the most notable exception. If you do\n  # the user verification another way, you can add allow_all_users=yes to\n  # the args in which case the passdb lookup is skipped.\n  #\n  #args =\n#}\n"
  },
  {
    "path": "conf/dovecot/dovecot.conf",
    "content": "## Dovecot configuration file\n\n# If you're in a hurry, see http://wiki2.dovecot.org/QuickConfiguration\n\n# \"doveconf -n\" command gives a clean output of the changed settings. Use it\n# instead of copy&pasting files when posting to the Dovecot mailing list.\n\n# '#' character and everything after it is treated as comments. Extra spaces\n# and tabs are ignored. If you want to use either of these explicitly, put the\n# value inside quotes, eg.: key = \"# char and trailing whitespace  \"\n\n# Most (but not all) settings can be overridden by different protocols and/or\n# source/destination IPs by placing the settings inside sections, for example:\n# protocol imap { }, local 127.0.0.1 { }, remote 10.0.0.0/8 { }\n\n# Default values are shown for each setting, it's not required to uncomment\n# those. These are exceptions to this though: No sections (e.g. namespace {})\n# or plugin settings are added by default, they're listed only as examples.\n# Paths are also just examples with the real defaults being based on configure\n# options. The paths listed here are for configure --prefix=/usr\n# --sysconfdir=/etc --localstatedir=/var\n\n# Protocols we want to be serving.\nprotocols = imap pop3 lmtp\n\n# A comma separated list of IPs or hosts where to listen in for connections. \n# \"*\" listens in all IPv4 interfaces, \"::\" listens in all IPv6 interfaces.\n# If you want to specify non-default ports or anything more complex,\n# edit conf.d/master.conf.\n#listen = *, ::\n\n# Base directory where to store runtime data.\n#base_dir = /var/run/dovecot/\n\n# Name of this instance. In multi-instance setup doveadm and other commands\n# can use -i <instance_name> to select which instance is used (an alternative\n# to -c <config_path>). The instance name is also added to Dovecot processes\n# in ps output.\n#instance_name = dovecot\n\n# Greeting message for clients.\n#login_greeting = Dovecot ready.\n\n# Space separated list of trusted network ranges. Connections from these\n# IPs are allowed to override their IP addresses and ports (for logging and\n# for authentication checks). disable_plaintext_auth is also ignored for\n# these networks. Typically you'd specify your IMAP proxy servers here.\n#login_trusted_networks =\n\n# Space separated list of login access check sockets (e.g. tcpwrap)\n#login_access_sockets = \n\n# With proxy_maybe=yes if proxy destination matches any of these IPs, don't do\n# proxying. This isn't necessary normally, but may be useful if the destination\n# IP is e.g. a load balancer's IP.\n#auth_proxy_self =\n\n# Show more verbose process titles (in ps). Currently shows user name and\n# IP address. Useful for seeing who are actually using the IMAP processes\n# (eg. shared mailboxes or if same uid is used for multiple accounts).\n#verbose_proctitle = no\n\n# Should all processes be killed when Dovecot master process shuts down.\n# Setting this to \"no\" means that Dovecot can be upgraded without\n# forcing existing client connections to close (although that could also be\n# a problem if the upgrade is e.g. because of a security fix).\n#shutdown_clients = yes\n\n# If non-zero, run mail commands via this many connections to doveadm server,\n# instead of running them directly in the same process.\n#doveadm_worker_count = 0\n# UNIX socket or host:port used for connecting to doveadm server\n#doveadm_socket_path = doveadm-server\n\n# Space separated list of environment variables that are preserved on Dovecot\n# startup and passed down to all of its child processes. You can also give\n# key=value pairs to always set specific settings.\n#import_environment = TZ\n\n##\n## Dictionary server settings\n##\n\n# Dictionary can be used to store key=value lists. This is used by several\n# plugins. The dictionary can be accessed either directly or though a\n# dictionary server. The following dict block maps dictionary names to URIs\n# when the server is used. These can then be referenced using URIs in format\n# \"proxy::<name>\".\n\ndict {\n  #quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext\n  #expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext\n}\n\n\nnamespace inbox {\n  inbox = yes\n\n  mailbox Trash {\n    auto = subscribe # autocreate and autosubscribe the Trash mailbox\n    special_use = \\Trash\n  }\n  mailbox Sent {\n    auto = subscribe # autocreate and autosubscribe the Sent mailbox\n    special_use = \\Sent\n  }\n  mailbox Junk {\n    auto = subscribe # autocreate and autosubscribe the Sent mailbox\n    special_use = \\Junk\n  }\n  mailbox Drafts {\n    auto = subscribe\n    special_use = \\Drafts\n  }\n}\n\n# Most of the actual configuration gets included below. The filenames are\n# first sorted by their ASCII value and parsed in that order. The 00-prefixes\n# in filenames are intended to make it easier to understand the ordering.\n!include conf.d/*.conf\n\n# A config file can also tried to be included without giving an error if\n# it's not found:\n!include_try local.conf\n"
  },
  {
    "path": "conf/dovecot/rsyslog.conf",
    "content": "# /etc/rsyslog.conf configuration file for rsyslog\n#\n# For more information install rsyslog-doc and see\n# /usr/share/doc/rsyslog-doc/html/configuration/index.html\n\n\n#################\n#### MODULES ####\n#################\n\nmodule(load=\"imuxsock\") # provides support for local system logging\n#module(load=\"imklog\")   # provides kernel logging support\n#module(load=\"immark\")  # provides --MARK-- message capability\n\n# provides UDP syslog reception\n#module(load=\"imudp\")\n#input(type=\"imudp\" port=\"514\")\n\n# provides TCP syslog reception\n#module(load=\"imtcp\")\n#input(type=\"imtcp\" port=\"514\")\n\n\n###########################\n#### GLOBAL DIRECTIVES ####\n###########################\n\n#\n# Set the default permissions for all log files.\n#\n$FileOwner root\n$FileGroup adm\n$FileCreateMode 0640\n$DirCreateMode 0755\n$Umask 0022\n\n#\n# Where to place spool and state files\n#\n$WorkDirectory /var/spool/rsyslog\n\n#\n# Include all config files in /etc/rsyslog.d/\n#\n$IncludeConfig /etc/rsyslog.d/*.conf\n\n\n###############\n#### RULES ####\n###############\n\n#\n# Log anything besides private authentication messages to a single log file\n#\n*.*;auth,authpriv.none\t\t-/var/log/syslog\n\n#\n# Log commonly used facilities to their own log file\n#\nauth,authpriv.*\t\t\t/var/log/auth.log\ncron.*\t\t\t\t-/var/log/cron.log\nkern.*\t\t\t\t-/var/log/kern.log\nmail.*\t\t\t\t-/var/log/mail/mail.log\nuser.*\t\t\t\t-/var/log/user.log\n\n#\n# Emergencies are sent to everybody logged in.\n#\n*.emerg\t\t\t\t:omusrmsg:*\n"
  },
  {
    "path": "conf/php/pear.conf",
    "content": "#PEAR_Config 0.9\na:33:{s:9:\"cache_dir\";s:15:\"/tmp/pear/cache\";s:15:\"default_channel\";s:12:\"pear.php.net\";s:16:\"preferred_mirror\";s:12:\"pear.php.net\";s:13:\"remote_config\";s:0:\"\";s:13:\"auto_discover\";i:0;s:13:\"master_server\";s:12:\"pear.php.net\";s:10:\"http_proxy\";s:0:\"\";s:7:\"php_dir\";s:18:\"/usr/local/lib/php\";s:7:\"ext_dir\";s:55:\"/usr/local/lib/php/extensions/no-debug-non-zts-20210902\";s:7:\"doc_dir\";s:22:\"/usr/local/lib/php/doc\";s:7:\"bin_dir\";s:14:\"/usr/local/bin\";s:8:\"data_dir\";s:23:\"/usr/local/lib/php/data\";s:7:\"cfg_dir\";s:22:\"/usr/local/lib/php/cfg\";s:7:\"www_dir\";s:25:\"/usr/local/lib/php/htdocs\";s:7:\"man_dir\";s:28:\"/usr/local/lib/php/local/man\";s:8:\"test_dir\";s:23:\"/usr/local/lib/php/test\";s:8:\"temp_dir\";s:14:\"/tmp/pear/temp\";s:12:\"download_dir\";s:18:\"/tmp/pear/download\";s:7:\"php_bin\";s:18:\"/usr/local/bin/php\";s:10:\"php_prefix\";s:0:\"\";s:10:\"php_suffix\";s:0:\"\";s:7:\"php_ini\";s:0:\"\";s:12:\"metadata_dir\";s:0:\"\";s:8:\"username\";s:0:\"\";s:8:\"password\";s:0:\"\";s:7:\"verbose\";i:1;s:15:\"preferred_state\";s:6:\"stable\";s:5:\"umask\";i:18;s:9:\"cache_ttl\";i:3600;s:8:\"sig_type\";s:3:\"gpg\";s:7:\"sig_bin\";s:18:\"/usr/local/bin/gpg\";s:9:\"sig_keyid\";s:0:\"\";s:10:\"sig_keydir\";s:23:\"/usr/local/etc/pearkeys\";}"
  },
  {
    "path": "conf/php/php/conf.d/docker-fpm.ini",
    "content": "; https://github.com/docker-library/php/issues/878#issuecomment-938595965\nfastcgi.logging = Off\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-exif.ini",
    "content": "extension=exif.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-gd.ini",
    "content": "extension=gd.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-imagick.ini",
    "content": "extension=imagick.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-intl.ini",
    "content": "extension=intl.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-ldap.ini",
    "content": "extension=ldap.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-opcache.ini",
    "content": "zend_extension=opcache\nopcache.enable = 1\nopcache.memory_consumption=128\nopcache.interned_strings_buffer=32\nopcache.max_accelerated_files=80000\nopcache.revalidate_freq=3\nopcache.fast_shutdown=1\nopcache.enable_cli=1"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-pdo_mysql.ini",
    "content": "extension=pdo_mysql.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-pdo_pgsql.ini",
    "content": "extension=pdo_pgsql.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-pspell.ini",
    "content": "extension=pspell.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-redis.ini",
    "content": "extension=redis.so\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-sodium.ini",
    "content": "extension=sodium\n"
  },
  {
    "path": "conf/php/php/conf.d/docker-php-ext-zip.ini",
    "content": "extension=zip.so\n"
  },
  {
    "path": "conf/php/php/conf.d/roundcube-defaults.ini",
    "content": "memory_limit=128M\ndisplay_errors=Off\nlog_errors=On\nupload_max_filesize=10M\npost_max_size=10M\nzlib.output_compression=Off\nsession.auto_start=Off\nsession.gc_maxlifetime=21600\nsession.gc_divisor=500\nsession.gc_probability=1\n"
  },
  {
    "path": "conf/php/php-fpm.conf",
    "content": ";;;;;;;;;;;;;;;;;;;;;\n; FPM Configuration ;\n;;;;;;;;;;;;;;;;;;;;;\n\n; All relative paths in this configuration file are relative to PHP's install\n; prefix (/usr/local). This prefix can be dynamically changed by using the\n; '-p' argument from the command line.\n\n;;;;;;;;;;;;;;;;;;\n; Global Options ;\n;;;;;;;;;;;;;;;;;;\n\n[global]\n; Pid file\n; Note: the default prefix is /usr/local/var\n; Default Value: none\n;pid = run/php-fpm.pid\n\n; Error log file\n; If it's set to \"syslog\", log is sent to syslogd instead of being written\n; into a local file.\n; Note: the default prefix is /usr/local/var\n; Default Value: log/php-fpm.log\n;error_log = log/php-fpm.log\n\n; syslog_facility is used to specify what type of program is logging the\n; message. This lets syslogd specify that messages from different facilities\n; will be handled differently.\n; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)\n; Default Value: daemon\n;syslog.facility = daemon\n\n; syslog_ident is prepended to every message. If you have multiple FPM\n; instances running on the same server, you can change the default value\n; which must suit common needs.\n; Default Value: php-fpm\n;syslog.ident = php-fpm\n\n; Log level\n; Possible Values: alert, error, warning, notice, debug\n; Default Value: notice\n;log_level = notice\n\n; Log limit on number of characters in the single line (log entry). If the\n; line is over the limit, it is wrapped on multiple lines. The limit is for\n; all logged characters including message prefix and suffix if present. However\n; the new line character does not count into it as it is present only when\n; logging to a file descriptor. It means the new line character is not present\n; when logging to syslog.\n; Default Value: 1024\n;log_limit = 4096\n\n; Log buffering specifies if the log line is buffered which means that the\n; line is written in a single write operation. If the value is false, then the\n; data is written directly into the file descriptor. It is an experimental\n; option that can potentially improve logging performance and memory usage\n; for some heavy logging scenarios. This option is ignored if logging to syslog\n; as it has to be always buffered.\n; Default value: yes\n;log_buffering = no\n\n; If this number of child processes exit with SIGSEGV or SIGBUS within the time\n; interval set by emergency_restart_interval then FPM will restart. A value\n; of '0' means 'Off'.\n; Default Value: 0\n;emergency_restart_threshold = 0\n\n; Interval of time used by emergency_restart_interval to determine when\n; a graceful restart will be initiated.  This can be useful to work around\n; accidental corruptions in an accelerator's shared memory.\n; Available Units: s(econds), m(inutes), h(ours), or d(ays)\n; Default Unit: seconds\n; Default Value: 0\n;emergency_restart_interval = 0\n\n; Time limit for child processes to wait for a reaction on signals from master.\n; Available units: s(econds), m(inutes), h(ours), or d(ays)\n; Default Unit: seconds\n; Default Value: 0\n;process_control_timeout = 0\n\n; The maximum number of processes FPM will fork. This has been designed to control\n; the global number of processes when using dynamic PM within a lot of pools.\n; Use it with caution.\n; Note: A value of 0 indicates no limit\n; Default Value: 0\n; process.max = 128\n\n; Specify the nice(2) priority to apply to the master process (only if set)\n; The value can vary from -19 (highest priority) to 20 (lowest priority)\n; Note: - It will only work if the FPM master process is launched as root\n;       - The pool process will inherit the master process priority\n;         unless specified otherwise\n; Default Value: no set\n; process.priority = -19\n\n; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.\n; Default Value: yes\n;daemonize = yes\n\n; Set open file descriptor rlimit for the master process.\n; Default Value: system defined value\n;rlimit_files = 1024\n\n; Set max core size rlimit for the master process.\n; Possible Values: 'unlimited' or an integer greater or equal to 0\n; Default Value: system defined value\n;rlimit_core = 0\n\n; Specify the event mechanism FPM will use. The following is available:\n; - select     (any POSIX os)\n; - poll       (any POSIX os)\n; - epoll      (linux >= 2.5.44)\n; - kqueue     (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)\n; - /dev/poll  (Solaris >= 7)\n; - port       (Solaris >= 10)\n; Default Value: not set (auto detection)\n;events.mechanism = epoll\n\n; When FPM is built with systemd integration, specify the interval,\n; in seconds, between health report notification to systemd.\n; Set to 0 to disable.\n; Available Units: s(econds), m(inutes), h(ours)\n; Default Unit: seconds\n; Default value: 10\n;systemd_interval = 10\n\n;;;;;;;;;;;;;;;;;;;;\n; Pool Definitions ;\n;;;;;;;;;;;;;;;;;;;;\n\n; Multiple pools of child processes may be started with different listening\n; ports and different management options.  The name of the pool will be\n; used in logs and stats. There is no limitation on the number of pools which\n; FPM can handle. Your system will tell you anyway :)\n\n; Include one or more files. If glob(3) exists, it is used to include a bunch of\n; files from a glob(3) pattern. This directive can be used everywhere in the\n; file.\n; Relative path can also be used. They will be prefixed by:\n;  - the global prefix if it's been set (-p argument)\n;  - /usr/local otherwise\ninclude=etc/php-fpm.d/*.conf\n"
  },
  {
    "path": "conf/php/php-fpm.conf.default",
    "content": ";;;;;;;;;;;;;;;;;;;;;\n; FPM Configuration ;\n;;;;;;;;;;;;;;;;;;;;;\n\n; All relative paths in this configuration file are relative to PHP's install\n; prefix (/usr/local). This prefix can be dynamically changed by using the\n; '-p' argument from the command line.\n\n;;;;;;;;;;;;;;;;;;\n; Global Options ;\n;;;;;;;;;;;;;;;;;;\n\n[global]\n; Pid file\n; Note: the default prefix is /usr/local/var\n; Default Value: none\n;pid = run/php-fpm.pid\n\n; Error log file\n; If it's set to \"syslog\", log is sent to syslogd instead of being written\n; into a local file.\n; Note: the default prefix is /usr/local/var\n; Default Value: log/php-fpm.log\n;error_log = log/php-fpm.log\n\n; syslog_facility is used to specify what type of program is logging the\n; message. This lets syslogd specify that messages from different facilities\n; will be handled differently.\n; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)\n; Default Value: daemon\n;syslog.facility = daemon\n\n; syslog_ident is prepended to every message. If you have multiple FPM\n; instances running on the same server, you can change the default value\n; which must suit common needs.\n; Default Value: php-fpm\n;syslog.ident = php-fpm\n\n; Log level\n; Possible Values: alert, error, warning, notice, debug\n; Default Value: notice\n;log_level = notice\n\n; Log limit on number of characters in the single line (log entry). If the\n; line is over the limit, it is wrapped on multiple lines. The limit is for\n; all logged characters including message prefix and suffix if present. However\n; the new line character does not count into it as it is present only when\n; logging to a file descriptor. It means the new line character is not present\n; when logging to syslog.\n; Default Value: 1024\n;log_limit = 4096\n\n; Log buffering specifies if the log line is buffered which means that the\n; line is written in a single write operation. If the value is false, then the\n; data is written directly into the file descriptor. It is an experimental\n; option that can potentially improve logging performance and memory usage\n; for some heavy logging scenarios. This option is ignored if logging to syslog\n; as it has to be always buffered.\n; Default value: yes\n;log_buffering = no\n\n; If this number of child processes exit with SIGSEGV or SIGBUS within the time\n; interval set by emergency_restart_interval then FPM will restart. A value\n; of '0' means 'Off'.\n; Default Value: 0\n;emergency_restart_threshold = 0\n\n; Interval of time used by emergency_restart_interval to determine when\n; a graceful restart will be initiated.  This can be useful to work around\n; accidental corruptions in an accelerator's shared memory.\n; Available Units: s(econds), m(inutes), h(ours), or d(ays)\n; Default Unit: seconds\n; Default Value: 0\n;emergency_restart_interval = 0\n\n; Time limit for child processes to wait for a reaction on signals from master.\n; Available units: s(econds), m(inutes), h(ours), or d(ays)\n; Default Unit: seconds\n; Default Value: 0\n;process_control_timeout = 0\n\n; The maximum number of processes FPM will fork. This has been designed to control\n; the global number of processes when using dynamic PM within a lot of pools.\n; Use it with caution.\n; Note: A value of 0 indicates no limit\n; Default Value: 0\n; process.max = 128\n\n; Specify the nice(2) priority to apply to the master process (only if set)\n; The value can vary from -19 (highest priority) to 20 (lowest priority)\n; Note: - It will only work if the FPM master process is launched as root\n;       - The pool process will inherit the master process priority\n;         unless specified otherwise\n; Default Value: no set\n; process.priority = -19\n\n; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.\n; Default Value: yes\n;daemonize = yes\n\n; Set open file descriptor rlimit for the master process.\n; Default Value: system defined value\n;rlimit_files = 1024\n\n; Set max core size rlimit for the master process.\n; Possible Values: 'unlimited' or an integer greater or equal to 0\n; Default Value: system defined value\n;rlimit_core = 0\n\n; Specify the event mechanism FPM will use. The following is available:\n; - select     (any POSIX os)\n; - poll       (any POSIX os)\n; - epoll      (linux >= 2.5.44)\n; - kqueue     (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)\n; - /dev/poll  (Solaris >= 7)\n; - port       (Solaris >= 10)\n; Default Value: not set (auto detection)\n;events.mechanism = epoll\n\n; When FPM is built with systemd integration, specify the interval,\n; in seconds, between health report notification to systemd.\n; Set to 0 to disable.\n; Available Units: s(econds), m(inutes), h(ours)\n; Default Unit: seconds\n; Default value: 10\n;systemd_interval = 10\n\n;;;;;;;;;;;;;;;;;;;;\n; Pool Definitions ;\n;;;;;;;;;;;;;;;;;;;;\n\n; Multiple pools of child processes may be started with different listening\n; ports and different management options.  The name of the pool will be\n; used in logs and stats. There is no limitation on the number of pools which\n; FPM can handle. Your system will tell you anyway :)\n\n; Include one or more files. If glob(3) exists, it is used to include a bunch of\n; files from a glob(3) pattern. This directive can be used everywhere in the\n; file.\n; Relative path can also be used. They will be prefixed by:\n;  - the global prefix if it's been set (-p argument)\n;  - /usr/local otherwise\ninclude=NONE/etc/php-fpm.d/*.conf\n"
  },
  {
    "path": "conf/php/php-fpm.d/docker.conf",
    "content": "[global]\nerror_log = /proc/self/fd/2\n\n; https://github.com/docker-library/php/pull/725#issuecomment-443540114\nlog_limit = 8192\n\n[www]\n; php-fpm closes STDOUT on startup, so sending logs to /proc/self/fd/1 does not work.\n; https://bugs.php.net/bug.php?id=73886\naccess.log = /proc/self/fd/2\n\nclear_env = no\n\n; Ensure worker stdout and stderr are sent to the main error log.\ncatch_workers_output = yes\ndecorate_workers_output = no\n"
  },
  {
    "path": "conf/php/php-fpm.d/www.conf",
    "content": "[global]\ndaemonize = no\n\n[www]\nuser = www-data\ngroup = www-data\npm = dynamic\npm.max_children = 50\npm.start_servers = 5\npm.min_spare_servers = 5\npm.max_spare_servers = 20\n\nlisten = /run/php-fpm.sock\nlisten.mode = 0777\nlisten.backlog = 8192\npm.status_path = /phpfpm_status\n\nphp_admin_value[memory_limit] = 512M\nphp_admin_value[disable_functions] = passthru,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv\n\n"
  },
  {
    "path": "conf/php/php-fpm.d/www.conf.default",
    "content": "; Start a new pool named 'www'.\n; the variable $pool can be used in any directive and will be replaced by the\n; pool name ('www' here)\n[www]\n\n; Per pool prefix\n; It only applies on the following directives:\n; - 'access.log'\n; - 'slowlog'\n; - 'listen' (unixsocket)\n; - 'chroot'\n; - 'chdir'\n; - 'php_values'\n; - 'php_admin_values'\n; When not set, the global prefix (or NONE) applies instead.\n; Note: This directive can also be relative to the global prefix.\n; Default Value: none\n;prefix = /path/to/pools/$pool\n\n; Unix user/group of the child processes. This can be used only if the master\n; process running user is root. It is set after the child process is created.\n; The user and group can be specified either by their name or by their numeric\n; IDs.\n; Note: If the user is root, the executable needs to be started with\n;       --allow-to-run-as-root option to work.\n; Default Values: The user is set to master process running user by default.\n;                 If the group is not set, the user's group is used.\nuser = www-data\ngroup = www-data\n\n; The address on which to accept FastCGI requests.\n; Valid syntaxes are:\n;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on\n;                            a specific port;\n;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on\n;                            a specific port;\n;   'port'                 - to listen on a TCP socket to all addresses\n;                            (IPv6 and IPv4-mapped) on a specific port;\n;   '/path/to/unix/socket' - to listen on a unix socket.\n; Note: This value is mandatory.\nlisten = 127.0.0.1:9000\n\n; Set listen(2) backlog.\n; Default Value: 511 (-1 on FreeBSD and OpenBSD)\n;listen.backlog = 511\n\n; Set permissions for unix socket, if one is used. In Linux, read/write\n; permissions must be set in order to allow connections from a web server. Many\n; BSD-derived systems allow connections regardless of permissions. The owner\n; and group can be specified either by name or by their numeric IDs.\n; Default Values: Owner is set to the master process running user. If the group\n;                 is not set, the owner's group is used. Mode is set to 0660.\n;listen.owner = www-data\n;listen.group = www-data\n;listen.mode = 0660\n\n; When POSIX Access Control Lists are supported you can set them using\n; these options, value is a comma separated list of user/group names.\n; When set, listen.owner and listen.group are ignored\n;listen.acl_users =\n;listen.acl_groups =\n\n; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect.\n; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original\n; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address\n; must be separated by a comma. If this value is left blank, connections will be\n; accepted from any ip address.\n; Default Value: any\n;listen.allowed_clients = 127.0.0.1\n\n; Specify the nice(2) priority to apply to the pool processes (only if set)\n; The value can vary from -19 (highest priority) to 20 (lower priority)\n; Note: - It will only work if the FPM master process is launched as root\n;       - The pool processes will inherit the master process priority\n;         unless it specified otherwise\n; Default Value: no set\n; process.priority = -19\n\n; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user\n; or group is different than the master process user. It allows to create process\n; core dump and ptrace the process for the pool user.\n; Default Value: no\n; process.dumpable = yes\n\n; Choose how the process manager will control the number of child processes.\n; Possible Values:\n;   static  - a fixed number (pm.max_children) of child processes;\n;   dynamic - the number of child processes are set dynamically based on the\n;             following directives. With this process management, there will be\n;             always at least 1 children.\n;             pm.max_children      - the maximum number of children that can\n;                                    be alive at the same time.\n;             pm.start_servers     - the number of children created on startup.\n;             pm.min_spare_servers - the minimum number of children in 'idle'\n;                                    state (waiting to process). If the number\n;                                    of 'idle' processes is less than this\n;                                    number then some children will be created.\n;             pm.max_spare_servers - the maximum number of children in 'idle'\n;                                    state (waiting to process). If the number\n;                                    of 'idle' processes is greater than this\n;                                    number then some children will be killed.\n;             pm.max_spawn_rate    - the maximum number of rate to spawn child\n;                                    processes at once.\n;  ondemand - no children are created at startup. Children will be forked when\n;             new requests will connect. The following parameter are used:\n;             pm.max_children           - the maximum number of children that\n;                                         can be alive at the same time.\n;             pm.process_idle_timeout   - The number of seconds after which\n;                                         an idle process will be killed.\n; Note: This value is mandatory.\npm = dynamic\n\n; The number of child processes to be created when pm is set to 'static' and the\n; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.\n; This value sets the limit on the number of simultaneous requests that will be\n; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.\n; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP\n; CGI. The below defaults are based on a server without much resources. Don't\n; forget to tweak pm.* to fit your needs.\n; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'\n; Note: This value is mandatory.\npm.max_children = 5\n\n; The number of child processes created on startup.\n; Note: Used only when pm is set to 'dynamic'\n; Default Value: (min_spare_servers + max_spare_servers) / 2\npm.start_servers = 2\n\n; The desired minimum number of idle server processes.\n; Note: Used only when pm is set to 'dynamic'\n; Note: Mandatory when pm is set to 'dynamic'\npm.min_spare_servers = 1\n\n; The desired maximum number of idle server processes.\n; Note: Used only when pm is set to 'dynamic'\n; Note: Mandatory when pm is set to 'dynamic'\npm.max_spare_servers = 3\n\n; The number of rate to spawn child processes at once.\n; Note: Used only when pm is set to 'dynamic'\n; Note: Mandatory when pm is set to 'dynamic'\n; Default Value: 32\n;pm.max_spawn_rate = 32\n\n; The number of seconds after which an idle process will be killed.\n; Note: Used only when pm is set to 'ondemand'\n; Default Value: 10s\n;pm.process_idle_timeout = 10s;\n\n; The number of requests each child process should execute before respawning.\n; This can be useful to work around memory leaks in 3rd party libraries. For\n; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.\n; Default Value: 0\n;pm.max_requests = 500\n\n; The URI to view the FPM status page. If this value is not set, no URI will be\n; recognized as a status page. It shows the following information:\n;   pool                 - the name of the pool;\n;   process manager      - static, dynamic or ondemand;\n;   start time           - the date and time FPM has started;\n;   start since          - number of seconds since FPM has started;\n;   accepted conn        - the number of request accepted by the pool;\n;   listen queue         - the number of request in the queue of pending\n;                          connections (see backlog in listen(2));\n;   max listen queue     - the maximum number of requests in the queue\n;                          of pending connections since FPM has started;\n;   listen queue len     - the size of the socket queue of pending connections;\n;   idle processes       - the number of idle processes;\n;   active processes     - the number of active processes;\n;   total processes      - the number of idle + active processes;\n;   max active processes - the maximum number of active processes since FPM\n;                          has started;\n;   max children reached - number of times, the process limit has been reached,\n;                          when pm tries to start more children (works only for\n;                          pm 'dynamic' and 'ondemand');\n; Value are updated in real time.\n; Example output:\n;   pool:                 www\n;   process manager:      static\n;   start time:           01/Jul/2011:17:53:49 +0200\n;   start since:          62636\n;   accepted conn:        190460\n;   listen queue:         0\n;   max listen queue:     1\n;   listen queue len:     42\n;   idle processes:       4\n;   active processes:     11\n;   total processes:      15\n;   max active processes: 12\n;   max children reached: 0\n;\n; By default the status page output is formatted as text/plain. Passing either\n; 'html', 'xml' or 'json' in the query string will return the corresponding\n; output syntax. Example:\n;   http://www.foo.bar/status\n;   http://www.foo.bar/status?json\n;   http://www.foo.bar/status?html\n;   http://www.foo.bar/status?xml\n;\n; By default the status page only outputs short status. Passing 'full' in the\n; query string will also return status for each pool process.\n; Example:\n;   http://www.foo.bar/status?full\n;   http://www.foo.bar/status?json&full\n;   http://www.foo.bar/status?html&full\n;   http://www.foo.bar/status?xml&full\n; The Full status returns for each process:\n;   pid                  - the PID of the process;\n;   state                - the state of the process (Idle, Running, ...);\n;   start time           - the date and time the process has started;\n;   start since          - the number of seconds since the process has started;\n;   requests             - the number of requests the process has served;\n;   request duration     - the duration in µs of the requests;\n;   request method       - the request method (GET, POST, ...);\n;   request URI          - the request URI with the query string;\n;   content length       - the content length of the request (only with POST);\n;   user                 - the user (PHP_AUTH_USER) (or '-' if not set);\n;   script               - the main script called (or '-' if not set);\n;   last request cpu     - the %cpu the last request consumed\n;                          it's always 0 if the process is not in Idle state\n;                          because CPU calculation is done when the request\n;                          processing has terminated;\n;   last request memory  - the max amount of memory the last request consumed\n;                          it's always 0 if the process is not in Idle state\n;                          because memory calculation is done when the request\n;                          processing has terminated;\n; If the process is in Idle state, then informations are related to the\n; last request the process has served. Otherwise informations are related to\n; the current request being served.\n; Example output:\n;   ************************\n;   pid:                  31330\n;   state:                Running\n;   start time:           01/Jul/2011:17:53:49 +0200\n;   start since:          63087\n;   requests:             12808\n;   request duration:     1250261\n;   request method:       GET\n;   request URI:          /test_mem.php?N=10000\n;   content length:       0\n;   user:                 -\n;   script:               /home/fat/web/docs/php/test_mem.php\n;   last request cpu:     0.00\n;   last request memory:  0\n;\n; Note: There is a real-time FPM status monitoring sample web page available\n;       It's available in: /usr/local/share/php/fpm/status.html\n;\n; Note: The value must start with a leading slash (/). The value can be\n;       anything, but it may not be a good idea to use the .php extension or it\n;       may conflict with a real PHP file.\n; Default Value: not set\n;pm.status_path = /status\n\n; The address on which to accept FastCGI status request. This creates a new\n; invisible pool that can handle requests independently. This is useful\n; if the main pool is busy with long running requests because it is still possible\n; to get the status before finishing the long running requests.\n;\n; Valid syntaxes are:\n;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on\n;                            a specific port;\n;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on\n;                            a specific port;\n;   'port'                 - to listen on a TCP socket to all addresses\n;                            (IPv6 and IPv4-mapped) on a specific port;\n;   '/path/to/unix/socket' - to listen on a unix socket.\n; Default Value: value of the listen option\n;pm.status_listen = 127.0.0.1:9001\n\n; The ping URI to call the monitoring page of FPM. If this value is not set, no\n; URI will be recognized as a ping page. This could be used to test from outside\n; that FPM is alive and responding, or to\n; - create a graph of FPM availability (rrd or such);\n; - remove a server from a group if it is not responding (load balancing);\n; - trigger alerts for the operating team (24/7).\n; Note: The value must start with a leading slash (/). The value can be\n;       anything, but it may not be a good idea to use the .php extension or it\n;       may conflict with a real PHP file.\n; Default Value: not set\n;ping.path = /ping\n\n; This directive may be used to customize the response of a ping request. The\n; response is formatted as text/plain with a 200 response code.\n; Default Value: pong\n;ping.response = pong\n\n; The access log file\n; Default: not set\n;access.log = log/$pool.access.log\n\n; The access log format.\n; The following syntax is allowed\n;  %%: the '%' character\n;  %C: %CPU used by the request\n;      it can accept the following format:\n;      - %{user}C for user CPU only\n;      - %{system}C for system CPU only\n;      - %{total}C  for user + system CPU (default)\n;  %d: time taken to serve the request\n;      it can accept the following format:\n;      - %{seconds}d (default)\n;      - %{milliseconds}d\n;      - %{milli}d\n;      - %{microseconds}d\n;      - %{micro}d\n;  %e: an environment variable (same as $_ENV or $_SERVER)\n;      it must be associated with embraces to specify the name of the env\n;      variable. Some examples:\n;      - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e\n;      - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e\n;  %f: script filename\n;  %l: content-length of the request (for POST request only)\n;  %m: request method\n;  %M: peak of memory allocated by PHP\n;      it can accept the following format:\n;      - %{bytes}M (default)\n;      - %{kilobytes}M\n;      - %{kilo}M\n;      - %{megabytes}M\n;      - %{mega}M\n;  %n: pool name\n;  %o: output header\n;      it must be associated with embraces to specify the name of the header:\n;      - %{Content-Type}o\n;      - %{X-Powered-By}o\n;      - %{Transfert-Encoding}o\n;      - ....\n;  %p: PID of the child that serviced the request\n;  %P: PID of the parent of the child that serviced the request\n;  %q: the query string\n;  %Q: the '?' character if query string exists\n;  %r: the request URI (without the query string, see %q and %Q)\n;  %R: remote IP address\n;  %s: status (response code)\n;  %t: server time the request was received\n;      it can accept a strftime(3) format:\n;      %d/%b/%Y:%H:%M:%S %z (default)\n;      The strftime(3) format must be encapsulated in a %{<strftime_format>}t tag\n;      e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t\n;  %T: time the log has been written (the request has finished)\n;      it can accept a strftime(3) format:\n;      %d/%b/%Y:%H:%M:%S %z (default)\n;      The strftime(3) format must be encapsulated in a %{<strftime_format>}t tag\n;      e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t\n;  %u: remote user\n;\n; Default: \"%R - %u %t \\\"%m %r\\\" %s\"\n;access.format = \"%R - %u %t \\\"%m %r%Q%q\\\" %s %f %{milli}d %{kilo}M %C%%\"\n\n; The log file for slow requests\n; Default Value: not set\n; Note: slowlog is mandatory if request_slowlog_timeout is set\n;slowlog = log/$pool.log.slow\n\n; The timeout for serving a single request after which a PHP backtrace will be\n; dumped to the 'slowlog' file. A value of '0s' means 'off'.\n; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)\n; Default Value: 0\n;request_slowlog_timeout = 0\n\n; Depth of slow log stack trace.\n; Default Value: 20\n;request_slowlog_trace_depth = 20\n\n; The timeout for serving a single request after which the worker process will\n; be killed. This option should be used when the 'max_execution_time' ini option\n; does not stop script execution for some reason. A value of '0' means 'off'.\n; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)\n; Default Value: 0\n;request_terminate_timeout = 0\n\n; The timeout set by 'request_terminate_timeout' ini option is not engaged after\n; application calls 'fastcgi_finish_request' or when application has finished and\n; shutdown functions are being called (registered via register_shutdown_function).\n; This option will enable timeout limit to be applied unconditionally\n; even in such cases.\n; Default Value: no\n;request_terminate_timeout_track_finished = no\n\n; Set open file descriptor rlimit.\n; Default Value: system defined value\n;rlimit_files = 1024\n\n; Set max core size rlimit.\n; Possible Values: 'unlimited' or an integer greater or equal to 0\n; Default Value: system defined value\n;rlimit_core = 0\n\n; Chroot to this directory at the start. This value must be defined as an\n; absolute path. When this value is not set, chroot is not used.\n; Note: you can prefix with '$prefix' to chroot to the pool prefix or one\n; of its subdirectories. If the pool prefix is not set, the global prefix\n; will be used instead.\n; Note: chrooting is a great security feature and should be used whenever\n;       possible. However, all PHP paths will be relative to the chroot\n;       (error_log, sessions.save_path, ...).\n; Default Value: not set\n;chroot =\n\n; Chdir to this directory at the start.\n; Note: relative path can be used.\n; Default Value: current directory or / when chroot\n;chdir = /var/www\n\n; Redirect worker stdout and stderr into main error log. If not set, stdout and\n; stderr will be redirected to /dev/null according to FastCGI specs.\n; Note: on highloaded environment, this can cause some delay in the page\n; process time (several ms).\n; Default Value: no\n;catch_workers_output = yes\n\n; Decorate worker output with prefix and suffix containing information about\n; the child that writes to the log and if stdout or stderr is used as well as\n; log level and time. This options is used only if catch_workers_output is yes.\n; Settings to \"no\" will output data as written to the stdout or stderr.\n; Default value: yes\n;decorate_workers_output = no\n\n; Clear environment in FPM workers\n; Prevents arbitrary environment variables from reaching FPM worker processes\n; by clearing the environment in workers before env vars specified in this\n; pool configuration are added.\n; Setting to \"no\" will make all environment variables available to PHP code\n; via getenv(), $_ENV and $_SERVER.\n; Default Value: yes\n;clear_env = no\n\n; Limits the extensions of the main script FPM will allow to parse. This can\n; prevent configuration mistakes on the web server side. You should only limit\n; FPM to .php extensions to prevent malicious users to use other extensions to\n; execute php code.\n; Note: set an empty value to allow all extensions.\n; Default Value: .php\n;security.limit_extensions = .php .php3 .php4 .php5 .php7\n\n; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from\n; the current environment.\n; Default Value: clean env\n;env[HOSTNAME] = $HOSTNAME\n;env[PATH] = /usr/local/bin:/usr/bin:/bin\n;env[TMP] = /tmp\n;env[TMPDIR] = /tmp\n;env[TEMP] = /tmp\n\n; Additional php.ini defines, specific to this pool of workers. These settings\n; overwrite the values previously defined in the php.ini. The directives are the\n; same as the PHP SAPI:\n;   php_value/php_flag             - you can set classic ini defines which can\n;                                    be overwritten from PHP call 'ini_set'.\n;   php_admin_value/php_admin_flag - these directives won't be overwritten by\n;                                     PHP call 'ini_set'\n; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.\n\n; Defining 'extension' will load the corresponding shared extension from\n; extension_dir. Defining 'disable_functions' or 'disable_classes' will not\n; overwrite previously defined php.ini values, but will append the new value\n; instead.\n\n; Note: path INI options can be relative and will be expanded with the prefix\n; (pool, global or /usr/local)\n\n; Default Value: nothing is defined by default except the values in php.ini and\n;                specified at startup with the -d argument\n;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com\n;php_flag[display_errors] = off\n;php_admin_value[error_log] = /var/log/fpm-php.www.log\n;php_admin_flag[log_errors] = on\n;php_admin_value[memory_limit] = 32M\n"
  },
  {
    "path": "conf/postfix/main.cf",
    "content": "# See /usr/share/postfix/main.cf.dist for a commented, more complete version\n\n\n# Debian specific:  Specifying a file name will cause the first\n# line of that file to be used as the name.  The Debian default\n# is /etc/mailname.\n#myorigin = /etc/mailname\n\nsmtpd_banner = $myhostname ESMTP $mail_name \nbiff = no\n\n# appending .domain is the MUA's job.\nappend_dot_mydomain = no\n\n# Uncomment the next line to generate \"delayed mail\" warnings\n#delay_warning_time = 4h\n\nreadme_directory = no\n\n# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 3.6 on\n# fresh installs.\ncompatibility_level = 3.6\n\n\n# TLS parameters\nsmtpd_tls_cert_file = /etc/ssl/mail/cert.pem\nsmtpd_tls_key_file = /etc/ssl/mail/key.pem\ntls_server_sni_maps = hash:/etc/postfix/conf/vmail_ssl.map\nsmtpd_tls_security_level=may\n\nsmtp_tls_CApath=/etc/ssl/certs\nsmtp_tls_security_level=may\nsmtp_tls_session_cache_database = btree:${data_directory}/smtp_scache\n\n\nsmtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination\n\nalias_maps = hash:/etc/aliases\nalias_database = hash:/etc/aliases\nmydestination = localhost.localdomain, localhost\nrelayhost = \nmynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128\nmailbox_size_limit = 0\nrecipient_delimiter = +\ninet_interfaces = all\ninet_protocols = all\n\n# Sql configuration\nvirtual_mailbox_domains = pgsql:/etc/postfix/sql/pgsql_virtual_domains_maps.cf\nvirtual_alias_maps = pgsql:/etc/postfix/sql/pgsql_virtual_alias_maps.cf, pgsql:/etc/postfix/sql/pgsql_virtual_alias_domain_maps.cf, pgsql:/etc/postfix/sql/pgsql_virtual_alias_domain_catchall_maps.cf\nvirtual_mailbox_maps = pgsql:/etc/postfix/sql/pgsql_virtual_mailbox_maps.cf, pgsql:/etc/postfix/sql/pgsql_virtual_alias_domain_mailbox_maps.cf\n\n# dovecot rspamd\nsmtpd_sasl_type = dovecot\nsmtpd_sasl_authenticated_header = yes\nsmtpd_sasl_path = inet:dovecot:10002\nsmtpd_sasl_auth_enable = yes\nvirtual_transport = lmtp:inet:dovecot:26\nsmtpd_milters = inet:rspamd:11332\nnon_smtpd_milters = inet:rspamd:11332\n\nsmtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination\nsmtpd_use_tls = yes\nmilter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}\nmilter_protocol = 6\nmilter_default_action = accept\nmessage_size_limit = 102400000\n\n\n## Do not add configurations to the following configurations and will be deleted\n## Do not delete the following identification configuration\n# Overrides-configuration #\n"
  },
  {
    "path": "conf/postfix/master.cf",
    "content": "#\n# Postfix master process configuration file.  For details on the format\n# of the file, see the master(5) manual page (command: \"man 5 master\" or\n# on-line: http://www.postfix.org/master.5.html).\n#\n# Do not forget to execute \"postfix reload\" after editing this file.\n#\n# ==========================================================================\n# service type  private unpriv  chroot  wakeup  maxproc command + args\n#               (yes)   (yes)   (no)    (never) (100)\n# ==========================================================================\nsmtp      inet  n       -       n       -       -       smtpd\n#smtp      inet  n       -       n       -       1       postscreen\n#smtpd     pass  -       -       n       -       -       smtpd\n#dnsblog   unix  -       -       n       -       0       dnsblog\n#tlsproxy  unix  -       -       n       -       0       tlsproxy\nsubmission inet n       -       n       -       -       smtpd\n  -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject\n  -o smtpd_enforce_tls=yes\n  -o smtpd_tls_security_level=encrypt\n#  -o smtpd_tls_mandatory_protocols=$submission_smtpd_tls_mandatory_protocols\n  -o tls_preempt_cipherlist=yes\n#  -o cleanup_service_name=smtp_sender_cleanup\n  -o syslog_name=postfix/submission\n#  -o smtpd_tls_auth_only=yes\n#  -o smtpd_reject_unlisted_recipient=no\n#  -o smtpd_client_restrictions=$mua_client_restrictions\n#  -o smtpd_helo_restrictions=$mua_helo_restrictions\n#  -o smtpd_sender_restrictions=$mua_sender_restrictions\n#  -o smtpd_recipient_restrictions=\n#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject\n  -o milter_macro_daemon_name=ORIGINATING\nsmtps    inet  n       -       n       -       -       smtpd\n  -o smtpd_tls_wrappermode=yes\n  -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject\n#  -o smtpd_tls_mandatory_protocols=$smtps_smtpd_tls_mandatory_protocols\n  -o tls_preempt_cipherlist=yes\n#  -o cleanup_service_name=smtp_sender_cleanup\n  -o syslog_name=postfix/smtps\n#  -o smtpd_tls_wrappermode=yes\n#  -o smtpd_sasl_auth_enable=yes\n#  -o smtpd_reject_unlisted_recipient=no\n#  -o smtpd_client_restrictions=$mua_client_restrictions\n#  -o smtpd_helo_restrictions=$mua_helo_restrictions\n#  -o smtpd_sender_restrictions=$mua_sender_restrictions\n#  -o smtpd_recipient_restrictions=\n#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject\n  -o milter_macro_daemon_name=ORIGINATING\n\n\n#628       inet  n       -       n       -       -       qmqpd\npickup    unix  n       -       n       60      1       pickup\ncleanup   unix  n       -       n       -       0       cleanup\nqmgr      unix  n       -       n       300     1       qmgr\n#qmgr     unix  n       -       n       300     1       oqmgr\ntlsmgr    unix  -       -       n       1000?   1       tlsmgr\nrewrite   unix  -       -       n       -       -       trivial-rewrite\nbounce    unix  -       -       n       -       0       bounce\ndefer     unix  -       -       n       -       0       bounce\ntrace     unix  -       -       n       -       0       bounce\nverify    unix  -       -       n       -       1       verify\nflush     unix  n       -       n       1000?   0       flush\nproxymap  unix  -       -       n       -       -       proxymap\nproxywrite unix -       -       n       -       1       proxymap\nsmtp      unix  -       -       n       -       -       smtp\nrelay     unix  -       -       n       -       -       smtp\n        -o syslog_name=postfix/$service_name\n#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5\nshowq     unix  n       -       n       -       -       showq\nerror     unix  -       -       n       -       -       error\nretry     unix  -       -       n       -       -       error\ndiscard   unix  -       -       n       -       -       discard\nlocal     unix  -       n       n       -       -       local\nvirtual   unix  -       n       n       -       -       virtual\nlmtp      unix  -       -       n       -       -       lmtp\nanvil     unix  -       -       n       -       1       anvil\nscache    unix  -       -       n       -       1       scache\n#\n# ====================================================================\n# Interfaces to non-Postfix software. Be sure to examine the manual\n# pages of the non-Postfix software to find out what options it wants.\n#\n# Many of the following services use the Postfix pipe(8) delivery\n# agent.  See the pipe(8) man page for information about ${recipient}\n# and other message envelope options.\n# ====================================================================\n#\n# maildrop. See the Postfix MAILDROP_README file for details.\n# Also specify in main.cf: maildrop_destination_recipient_limit=1\n#\n#maildrop  unix  -       n       n       -       -       pipe\n#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}\n#\n# ====================================================================\n#\n# Recent Cyrus versions can use the existing \"lmtp\" master.cf entry.\n#\n# Specify in cyrus.conf:\n#   lmtp    cmd=\"lmtpd -a\" listen=\"localhost:lmtp\" proto=tcp4\n#\n# Specify in main.cf one or more of the following:\n#  mailbox_transport = lmtp:inet:localhost\n#  virtual_transport = lmtp:inet:localhost\n#\n# ====================================================================\n#\n# Cyrus 2.1.5 (Amos Gouaux)\n# Also specify in main.cf: cyrus_destination_recipient_limit=1\n#\n#cyrus     unix  -       n       n       -       -       pipe\n#  user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}\n#\n# ====================================================================\n#\n# Old example of delivery via Cyrus.\n#\n#old-cyrus unix  -       n       n       -       -       pipe\n#  flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}\n#\n# ====================================================================\n#\n# See the Postfix UUCP_README file for configuration details.\n#\n#uucp      unix  -       n       n       -       -       pipe\n#  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)\n#\n# ====================================================================\n#\n# Other external delivery methods.\n#\n#ifmail    unix  -       n       n       -       -       pipe\n#  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)\n#\n#bsmtp     unix  -       n       n       -       -       pipe\n#  flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient\n#\n#scalemail-backend unix -       n       n       -       2       pipe\n#  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store\n#  ${nexthop} ${user} ${extension}\n#\n#mailman   unix  -       n       n       -       -       pipe\n#  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py\n#  ${nexthop} ${user}\n"
  },
  {
    "path": "conf/postfix/rsyslog.conf",
    "content": "# /etc/rsyslog.conf configuration file for rsyslog\n#\n# For more information install rsyslog-doc and see\n# /usr/share/doc/rsyslog-doc/html/configuration/index.html\n\n\n#################\n#### MODULES ####\n#################\n\nmodule(load=\"imuxsock\") # provides support for local system logging\n#module(load=\"imklog\")   # provides kernel logging support\n#module(load=\"immark\")  # provides --MARK-- message capability\n\n# provides UDP syslog reception\n#module(load=\"imudp\")\n#input(type=\"imudp\" port=\"514\")\n\n# provides TCP syslog reception\n#module(load=\"imtcp\")\n#input(type=\"imtcp\" port=\"514\")\n\n\n###########################\n#### GLOBAL DIRECTIVES ####\n###########################\n\n#\n# Set the default permissions for all log files.\n#\n$FileOwner root\n$FileGroup adm\n$FileCreateMode 0640\n$DirCreateMode 0755\n$Umask 0022\n\n#\n# Where to place spool and state files\n#\n$WorkDirectory /var/spool/rsyslog\n\n#\n# Include all config files in /etc/rsyslog.d/\n#\n$IncludeConfig /etc/rsyslog.d/*.conf\n\n\n###############\n#### RULES ####\n###############\n\n#\n# Log anything besides private authentication messages to a single log file\n#\n*.*;auth,authpriv.none\t\t-/var/log/syslog\n\n#\n# Log commonly used facilities to their own log file\n#\nauth,authpriv.*\t\t\t/var/log/auth.log\ncron.*\t\t\t\t-/var/log/cron.log\nkern.*\t\t\t\t-/var/log/kern.log\nmail.*\t\t\t\t-/var/log/mail/mail.log\nuser.*\t\t\t\t-/var/log/user.log\n\n#\n# Emergencies are sent to everybody logged in.\n#\n*.emerg\t\t\t\t:omusrmsg:*\n"
  },
  {
    "path": "conf/redis/redis-conf.sh",
    "content": "#!/bin/sh\n\n# Generate redis.conf for Redis\ncat <<EOF > /redis.conf\nrequirepass $REDISPASS\nEOF\n\n# Start Redis\nexec redis-server /redis.conf\n"
  },
  {
    "path": "conf/rspamd/local.d/milter_headers.conf",
    "content": "extended_spam_headers = true;"
  },
  {
    "path": "conf/rspamd/rspamd.conf",
    "content": "# System V init adopted top level configuration\n\n# Please don't modify this file as your changes might be overwritten with\n# the next update.\n#\n# You can modify '$LOCAL_CONFDIR/rspamd.conf.local.override' to redefine\n# parameters defined on the top level\n#\n# You can modify '$LOCAL_CONFDIR/rspamd.conf.local' to add\n# parameters defined on the top level\n#\n# For specific modules or configuration you can also modify\n# '$LOCAL_CONFDIR/local.d/file.conf' - to add your options or rewrite defaults\n# '$LOCAL_CONFDIR/override.d/file.conf' - to override the defaults\n#\n# See https://rspamd.com/doc/tutorials/writing_rules.html for details\n\n.include \"$CONFDIR/common.conf\"\n\noptions {\n    pidfile = \"$RUNDIR/rspamd.pid\";\n    .include \"$CONFDIR/options.inc\"\n    .include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/options.inc\"\n    .include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/options.inc\"\n}\n\nlang_detection {\n    .include \"$CONFDIR/lang_detection.inc\"\n    .include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/lang_detection.inc\"\n    .include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/lang_detection.inc\"\n}\n\n.include(try=true; duplicate=merge) \"$CONFDIR/cgp.inc\"\n.include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/cgp.inc\"\n\nlogging {\n    type = \"file\";\n    filename = \"$LOGDIR/rspamd.log\";\n    .include \"$CONFDIR/logging.inc\"\n    .include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/logging.inc\"\n    .include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/logging.inc\"\n}\n\nworker \"normal\" {\n    bind_socket = \"localhost:11333\";\n    .include \"$CONFDIR/worker-normal.inc\"\n    .include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/worker-normal.inc\"\n    .include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/worker-normal.inc\"\n}\n\nworker \"controller\" {\n    bind_socket = \"*:11334\";\n    .include \"$CONFDIR/worker-controller.inc\"\n    .include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/worker-controller.inc\"\n    .include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/worker-controller.inc\"\n}\n\nworker \"rspamd_proxy\" {\n    bind_socket = \"*:11332\";\n    .include \"$CONFDIR/worker-proxy.inc\"\n    .include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/worker-proxy.inc\"\n    .include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/worker-proxy.inc\"\n}\n\n# Local fuzzy storage is disabled by default\n\nworker \"fuzzy\" {\n    bind_socket = \"localhost:11335\";\n    count = -1; # Disable by default, see #4677 for details\n    .include \"$CONFDIR/worker-fuzzy.inc\"\n    .include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/worker-fuzzy.inc\"\n    .include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/worker-fuzzy.inc\"\n}\n"
  },
  {
    "path": "conf/rspamd/statistic.conf",
    "content": "# Statistics setup\n# Please don't modify this file as your changes might be overwritten with\n# the next update.\n#\n# You can modify 'local.d/statistics.conf' to add and merge\n# parameters defined inside this section\n#\n# You can modify 'override.d/statistics.conf' to strictly override all\n# parameters defined inside this section\n#\n# If you just need to change the default bayes classifier, you can also use\n# 'local.d/classifier-bayes.conf' or 'override.d/classifier-bayes.conf'. But\n# never ever use both `statistics.conf` and `classifier-bayes.conf` locals files\n# together!\n#\n# See https://rspamd.com/doc/faq.html#what-are-the-locald-and-overrided-directories\n# for details\n#\n# Module documentation: https://rspamd.com/doc/configuration/statistic.html\n\nclassifier \"bayes\" {\n  tokenizer {\n    name = \"osb\";\n  }\n  cache {\n  }\n  new_schema = true; # Always use new schema\n  store_tokens = false; # Redefine if storing of tokens is desired\n  signatures = false; # Store learn signatures\n  #per_user = true; # Enable per user classifier\n  min_tokens = 11;\n  backend = \"redis\";\n  services = \"redis:6379\"\n  min_learns = 200;\n\n  statfile {\n    symbol = \"BAYES_HAM\";\n    spam = false;\n  }\n  statfile {\n    symbol = \"BAYES_SPAM\";\n    spam = true;\n  }\n  learn_condition = 'return require(\"lua_bayes_learn\").can_learn';\n\n  # Autolearn sample\n  # autolearn {\n  #  spam_threshold = 6.0; # When to learn spam (score >= threshold)\n  #  ham_threshold = -0.5; # When to learn ham (score <= threshold)\n  #  check_balance = true; # Check spam and ham balance\n  #  min_balance = 0.9; # Keep diff for spam/ham learns for at least this value\n  #}\n\n  .include(try=true; priority=1) \"$LOCAL_CONFDIR/local.d/classifier-bayes.conf\"\n  .include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/classifier-bayes.conf\"\n}\n\n.include(try=true; priority=1) \"$LOCAL_CONFDIR/local.d/statistic.conf\"\n.include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/statistic.conf\"\n"
  },
  {
    "path": "conf/supplier/template/Anthropic/config.json",
    "content": "{\n    \"supplierTitle\": \"Anthropic\",\n    \"supplierName\": \"Anthropic\",\n    \"baseUrl\": \"\",\n    \"baseUrlExample\": \"https://api.anthropic.com/v1/\",\n    \"isUseUrlExample\": true,\n    \"apiKey\": \"\",\n    \"home\": \"https://www.anthropic.com\",\n    \"help\": \"https://docs.anthropic.com/en/api/openai-sdk\",\n    \"status\": true,\n    \"sort\": 3,\n    \"icon\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAB3VBMVEX6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf6+vf5+fb7+/j4+PXp6ebm5uTm5uPu7uvx8e78/PnPz8xISEc9PTw7OzpnZ2bv7+z9/frAwL5CQkE8PDyGhoUUFBQWFhYVFRUiIiL+/vvk5OI/Pz4YGBh3d3aGhoStrasdHR0ZGRkXFxc3Nzfd3dvMzMkpKSn19fJjY2JOTk01NTWfn5309PFfX17Pz80rKyuwsK54eHdVVVXw8O2pqaccHBuKiolCQkLq6ue+vrshISElJSXDw8Hj4+Ho6OVFRUSFhYTt7epNTUwVFRZ7e3qCgoCxsa8eHh4qKirOzsz///2WlpU6Ojng4N3JycYoKCf29vM2NjaZmZegoJ6ioqAgICAaGhqjo6Hz8/BbW1vS0tAuLi1ZWVjy8u+lpaQbGxuOjo0mJibHx8Th4d48PDtQUE+BgYB/f36AgH58fHs0NDR+fny1tbMfHx+/v73///yFhYPi4t/FxcNoaGcSEhITExNOTk7KysekpKJXV1bi4uBdXVxzc3JERENDQ0OEhIL39/SsrKpGRkXs7Ors7Onu7uz///+QUuYeAAAAGHRSTlMAD3XY+/zaeRGW+pv5fNfe/f7Z34CgE+HQwITTAAAAAWJLR0Sen7KjCwAAAAd0SU1FB+cBBBE2Mim4Ns8AAAHoSURBVDjLhZJpUxNBEIYHDBKDqAjizACBIRiXSHpYGSXbHqAoeGK8WKMCiteqeIFR4hVUUBTwAG/ifzWVZEkMYfN8marut57ummpCSkrXuGhBytaWuwkpWeehq+KqcJPS9dQBTyXZQB3ZSFzOgU2EFiEbYJRzbj+sQIDW1Td4Gylt8jbU1xUwMNHsa9nm3661Bnb4mgVbaeBtQZDtrfrOjmCwja80cG8AlJK7GN8NEPDy/ADTOkPKMHDPXn3ffgx1aizf0NUt8cBBNHq0Q4el7O7KMzDR24ehI0elPHZcP3ES+3rtNW2D6Ec4FT59Bs+e0893APaL/w18wAS4ICIX4dJlygcBzAGeG2Da0DBeuToyck3B9Rv6zVs4PJRZM2Ow/BJv37k7OnhP3X+gPXwkpd/KMTAxNo7KUEkMJR9HtSdPcXwsvWbaICZQgUyBKvZMf/4CcEJkDTzsA3z5Kh6PT75+gxDn9C2AL8ztANOmprH93XuRRJsBaPmgf4zh9FRqzZTBmp2b/9SYHvY5FlRftKav83Ozlm3gC4umOZr5uui37z9+/hK//5iLC3zZEFlasuy7iiYSf1mylIgsG1imlUO2VPxoi5x9FdnsHKgm5R6nvquGuCschpRtqSXEXVldtcr8rTW15B8LiprxbD6EzwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMy0wMS0wNFQxNzo1NDo1MCswMDowMOYX4h8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjMtMDEtMDRUMTc6NTQ6NTArMDA6MDCXSlqjAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC\"\n}"
  },
  {
    "path": "conf/supplier/template/Anthropic/embedding.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/Anthropic/models.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/DeepSeek/config.json",
    "content": "{\n    \"supplierTitle\": \"DeepSeek\",\n    \"supplierName\": \"DeepSeek\",\n    \"baseUrl\": \"\",\n    \"baseUrlExample\": \"https://api.deepseek.com/v1\",\n    \"isUseUrlExample\": true,\n    \"apiKey\": \"\",\n    \"home\": \"https://www.deepseek.com\",\n    \"help\": \"https://api-docs.deepseek.com\",\n    \"status\": true,\n    \"sort\": 4,\n    \"icon\":\"data:image/gif;base64,R0lGODlhGAAYAPe6AE1s/k1q/kxr/k5r/v39/01u/kts/kxq/k1t/k5t/lZw/ktq/kxu/t/k/09q/vv8/09o/vn5/3qQ/mWA/kxt/k9s/k5s/k5u/rzC/09u/vP1/1Bj/tPW/1Nk/aOx/rvC/qa0/sjS/4qc/mN+/lF0/qa1/oaZ/0Zj/lNz/tDS/lBw/k5q/uPr/5ur/k1p/rPA/oOb/k9w/v7+/1Fs/tXc/1Bv/lNt/bzH/9nf/ufo/+br/nyU/vn6/3WU/tre/3mJ/mJp/nmQ/lx4/qy2/rTC/1Vy/vT4/2+G/lFe/lp3/ba//1Z6/rrJ/7G9/9HZ/6q5/01y/mpz/qKl/nWO/mV9/k9t/1Zj/qnU/01s/0xs/oaX/k9n/k1r/1tq/n2s/mp4/lFp/pqr/nWP/0pp/ll5/lJo/lNo/oyd/GJ8/k5v/mN8/tvn/lFn/unt/1+F/qe3/lBo/lVw/sTU/6Cz/5Sh/mCT/tnf/19+/myC/ufv/97i/09v/qKr/pGk/tLU/3+J/u/0//b4//v9/7/K/8fQ/k5s/+3z/+7x/5yu/uzw/1Jq/tTh/8nQ/05n/tPX/0po/nqT/lJp/m6K/2N9/qq5/U1v/m2F/ktu/kxn/k9l/lp1/k9t/n6V/m6H/p+r/rPI/6Cv/qO9/8/c/+zt/2N//lt1/k5p/nqR/r7E/7DB/ktp/vb6/+Tm/26I/ou4/oGR/k1x/k1w/tbb/1Fq/lhy/k9j/tje/mqJ/Yqe/E1r/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjc2ZjM0YWZmLWUyOTctYjQ0Yi1hNDc4LTU3MWJmMmM2NjY5MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBM0E5ODFENUZFNTgxMUVGOTM5OEE5NTBFNkREQ0I5NiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBM0E5ODFENEZFNTgxMUVGOTM5OEE5NTBFNkREQ0I5NiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzZmMzRhZmYtZTI5Ny1iNDRiLWE0NzgtNTcxYmYyYzY2NjkwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc2ZjM0YWZmLWUyOTctYjQ0Yi1hNDc4LTU3MWJmMmM2NjY5MCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAALoALAAAAAAYABgAAAj/AHUJHEiwoMGDCBMqXMiQIA9RhAaiMqLQx4swLZr00aQKg8AHW1wVNCSQFYwsAgbkEpALgIKBGhDUkiDQFqUiunLcoWAhl8+fASTp0CUDSKUDkDpVwURK160EAX5KzXXABg5dV6xEBTDgEaNBKrAUmiqVS4c1uvhkyGWAxBNdRxScwWUpQYyoPxHACTCLg649B4YkEgjAxMAGdAyk9KlFjhsIm0rlSkNgYIUpBe18aUQh1w8WgbogAABASGWBFxKcHriqzoZcBf7oymMm1xgRBFstkGUQEAoHuSKF+lQm1wwmBEFA6HHQERIGAhSBMRBgwgOCowAsUXLQC5ufFaDcYjCIKNYJPwIXiUkhMIoLnw6IIDzFgMwHgXEKvBE4wWeSQwhFsEMBl7wixSQAZMJJAzTQsoIFsOARAUIe1GDKAgD4NIAAVITgRAmepCJIQm3MIYEaaIwQBCh6NOTiizDGeFBAADs=\"\n}"
  },
  {
    "path": "conf/supplier/template/DeepSeek/embedding.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/DeepSeek/models.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/Gemini/config.json",
    "content": "{\n    \"supplierTitle\": \"Gemini\",\n    \"supplierName\": \"Gemini\",\n    \"baseUrl\": \"\",\n    \"baseUrlExample\": \"https://generativelanguage.googleapis.com/v1beta/openai/\",\n    \"isUseUrlExample\": true,\n    \"apiKey\": \"\",\n    \"home\": \"https://ai.google.dev\",\n    \"help\": \"https://ai.google.dev/gemini-api/docs/openai\",\n    \"status\": true,\n    \"sort\": 2,\n    \"icon\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDODNGQUNBOTYxMjgxMUYwQTZBRkIwNDE2MTZERUU1MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDODNGQUNBQTYxMjgxMUYwQTZBRkIwNDE2MTZERUU1MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkM4M0ZBQ0E3NjEyODExRjBBNkFGQjA0MTYxNkRFRTUyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkM4M0ZBQ0E4NjEyODExRjBBNkFGQjA0MTYxNkRFRTUyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WEOEmwAAAwBQTFRFZ7x8xWiLe4TVSZXoOoj7psv95agshsxi92ho++KN+8p9851aR6qpQon6xsY46MYkVprV+/r8Mob/+MpHQrWH16k3KK2X9MEa0WR8vdj/+LkVO472Kbh63Fxv6mlY6XhHt5lyiLn/iIfH3Mgst3eaOpLrFrhqNof+NYj9qHer5FZjOpXlPp3MU4j0WIjvl5yVnqGBMYb/+qWm2/PquNFEx6dJs8lELsR5N7p2uKdZPIf9o8NOTbt8xXeI9UlKPZrUZpzIN5/Ies90OqmmQqHINon7R5rZSLGWmHu7mNJZh6qE/eXjJbGG/urRO5nb+/LH2odXzolobIzewYt6aqSu/Pbdkctad6eZG7V3V5z/868d0uP/6PXXptVTSIj5+tzeRZH/Naax3HVnaqj/0Xh37VFW08syS5/MNbKLRIv2N431YYno+o2NNq2atISVmMP/hLdupYWnQ6a0XLuDRq6flOG5KLtrlrtcWKqnxt3/a8F1TYr0QqO9WcNtzeL/l4a4/bOyUbOSiX/JO6K9M6K+3mZsbMZt61Bad67/csRvP5HvZIfpeslqLamoDrpk+URDV7aMOpfe90ZGOJzU8ktPboXfPaW1y/DfgJ6r7/PFfNWb9+3x4pU4Q8Z+X7eExtpbsuKgvc363uz/w5W9os1QpbLvMKa1HbKAk5Cw//TnWqHAytM7/eKdd5LN2JdFhdWUhNuwT6+crqJsvb0+QIj8+b16Vbu74e3/4/fsPr9p4o+iwGmS43ZVw+vdc5u/3vPdc7SA5d/wVZDpcITihJO+kZinxrY897qZ37gpQJfkwOPr+s+/6Lkj8aAjV8WoftiwrLtMpLJctbVL8boeeLrqZ62WYLCR5og+X5Pf7pIsXMF01LcyOY/xYI3m+snHNIf+0+aRN4v4j8NbYL96pXWxtm+czJdV3e62fcxl7/rxkbBvfb5pT6W5511g701U0u3A7llUopCesZCKfsJnecZq+sgyapLX/+3tU7iHSpDvnqlvXrSKRr9x5uBzkInU////CgYMBAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAALdSURBVHjaYvhPImDAId5gRKIGDg7SNHzv748nSUNDv50RSRo4Jk3hIEWD9yS7d1rxJGjIsZvSrrWLeA2CIPWyjLOJ1pAzJVVLVmL3YmI1eEPUP31ykEgNHCD1jE+fePwjToMRTH0T01JiNNz78BakXhOo/nD3QsIavD+8bYWr19ONJqTBW06uVcJWBaZeNy4avwag+qQUiPqpQPVxcbxbovFpOC2/B6g+r7BeiWlqtl41UPkWKytW3BqOy+8JCAwGqw+CqLeyslK3UsShwZf7+nWg+k8fVxxZG3T3UHUmULk6i7q6+v3ISiwaVm69eXPOumcKCvpHj6z9BlLPawVWfV9IyFCoYzuaBl+us2fPsq0ztdxkoD9jn8ONQz8zeVnA6oXAwNBQsQ6hIXSNcBQQsIneNrX85RUe4iAgwPwzk4VFQ10Irt7QUCiSdRFYwxphKSC4fPnMidvHLl18BdSwSsCNuUuaxVXjPlw1FESyAjVwfhUHAX7+E3ybL5QXHLha8Sbd7WSX9EOwBkMUkJAPdpI/pzA/P79yGp8ZSMO1ijcubie172BoSAB7A+pp/7/Kaav5zKwfvWb4vZGnRsdPWzXrIdhJUNX3kyXRgjX072oTkyWPPlfNa+QpcrE/qXonC+oJkPrkOiwRN3O+yZKwz50ME+BWwHQkSOJIGg9iPcO+VBWDrZiofQemo0MQZ+J7Hhv2AmzFNB17bVWwDg2NfHzJO8aTvQdoRUlRM8hRIB2ukvgzEFBH5+Mf7jzTmidPBOqQlpYklEVjIFY4NzuCdHRVEi4E3r9ou/XD3TmxxXGy30lWYoqZBW23bERynZcBdVwhriBzqrURycjtXdbiIkichv21fywyxMR6l50itjBe/8dCxkdMbBvRpffLnUANPmLGxFcos8rKIpafI6EGMi5Ti4jYS0qlOFdNTYakWrRUre88SRp29PVNJ63pYG5OYlujdAOJGnACgAADAA2AKFD5t3eSAAAAAElFTkSuQmCC\"\n}"
  },
  {
    "path": "conf/supplier/template/Gemini/embedding.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/Gemini/models.json",
    "content": "[\n]"
  },
  {
    "path": "conf/supplier/template/Grok/config.json",
    "content": "{\n    \"supplierTitle\": \"Grok\",\n    \"supplierName\": \"Grok\",\n    \"baseUrl\": \"\",\n    \"baseUrlExample\": \"https://api.moonshot.cn/v1\",\n    \"isUseUrlExample\": true,\n    \"apiKey\": \"\",\n    \"home\": \"https://www.x.ai\",\n    \"help\": \"https://docs.x.ai/docs/guides/migration\",\n    \"status\": true,\n    \"sort\": 6,\n    \"icon\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAw9pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QkY0RjYxODM2MTJGMTFGMDkzMjdEQjI3REJDRUY2MjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QkY0RjYxODI2MTJGMTFGMDkzMjdEQjI3REJDRUY2MjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0iQTM1NTg4RjJFNDkwNUI4NUFDMzVDRjI3RjZEOTk4MzMiIHN0UmVmOmRvY3VtZW50SUQ9IkEzNTU4OEYyRTQ5MDVCODVBQzM1Q0YyN0Y2RDk5ODMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+w3t+gAAAAwBQTFRFCQ0QDg8RERISLi4vOTk7JicpDQ4QTU1NAAACNjc5CgoMDAwOBgcJLC4uCAgLBAUGDg4PFhYWMjM0GRkbMTEyHx8eCgwMExQWCgsOJSYnHR4gAwQFGRobCAoLAQIDBQYIBwgJBwgKP0BACQ0OGRocGhsdCAkLCwwPSEhKCQoNLi4wSklLCg4Q+/v74+PkPj4/CQsN9/f38/Pz5+fn/Pz80NDQDA0QSEhIQEBAQEBBBwkLsLCwIiMlqqus+fn5MTEwLS0vLC0vRUVF9fX1pqamXmBf4uPj8fHxBAQFdHV3goKDysvMdnZ2S0tLubm5ra+x1dXVkZKSvLy8+vr6W1tcz8/OMjIzwsLD6Ojp5ubmeHl7lZaXCQwN5OTk0dDRtre3OTo7UVFRUVJS0tPSmJmZdHV1SEhLf4CBUVJUoKGjCgsK4N/gdHV0FBUWSEhJSUlJFRUVBQgJLCwrSkpLLCwuPT0+iYmJKS0sKywuBwcIIyEiBAUHtra1CAoMPz9ABwgLBwkKCg0QCw0OS0xPeXp6GBgX0dLSg4SFPj49SktMIyQmVlhXu7u619fYLS0txsbGaWttZmdpLi0tTU5Qvb6+xcXFxMTGYWFib29w7e3uvL2+eHp88vLyGhocCw0Pq6ysT09PrKys6enpOzs5lZWVSEdKlJSW8fL08/P0vb7Aw8TEubu6ycrL6urq/P39tra2c3R2t7a3cHFzOjo6tri3UFNRUlJToaOlQ0VE4ODg4eHh3N7c1NTUFhcZqKioHyIeBQgGSUlLbGxt8PHy2NnZ2dnaqamplJOUTE1PCwsLP0BDQEBCrq+ysrKydXV0jY6QQEJEWlpaJCUo6ejoy8vMKi4rFxYW8/T2KysrBgoLSkpK8O/vLC4wiIqMGRgZjI2OX2BhPz8/PDw+PT0/iImJ4uHhGhscw8TD3d3d6urpBAYH/P3/ISIhIiIjAwYJm5ydmZqcMjM2Pj5AtbW1Pj9BZGRkZGVkXV5gmpqaDA0PCQoMCwwOCgsN////AAAA/////A4SlwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAMySURBVHjaXJN3lBRFEMZ7Dm4Z7lYO7+BYb3GO8bxe11vOJSM5GDArJgQFFRU9wZxgRMnBnBMoKIg5AQIGgoIBAyrqqSjmiBFUdKamvqV6Zp9/+L153TNVv6nqrupWBdEH496s2ru+3jyi+nozV5368p+dxacKhU9PA3BhsjaZdEXxqPUnYryohwEebkaf/OR8IApF8Ujhyfm6EPYrAryLbBuxFgGtw6LKyrHaruiuTkFFqGNAiyRTHx0FSaDy1gB91bfIiJPIBHcRi4j8BK4459dhOEKdjjBOGmqg5Yw1Tx1w+EBA/Nc89DoSTmu1XwwEGRvXjuFInW982kL79cuRIW+QujQGUrCPibxDzbAS37/Aa9GTkpcUIwSes0Acjx6yo903XyzZA7tv4OObXPJrW8RAkMdW5icPLC4Szc8xP2NTBFwVAfZf8v8qrKMy7WYx4Xn5ehthz4S3r9oLIZGL/szjMaVJtprBzEazjtsntqGERDBA4HQ4ib9LOzobBCl8/hPftawb/9hckfU73WCA0MV05n/hSjUIVTxgEfAqdxlo5+/bdksEBLiJeSe0JEMpn9gWG7GYeYvE9qIUgcZS5veggwwqP5oNJDTeYV6ILMWLFOAf5k0IQrR8ay5cXxL9wdwbexYB2eVnXfg6uMM231wKXxrn4jA++Bd78n/A1fY9fGw7lG22YMlCCMcx/+BMSZleGEA6cSjziJp0ujYVhOSj5H3mZzGNyBus9pfuyzbuZO5aagNaS1vvHcv8GJrIjwDbHBaM48c7AK1bSCM6nnk387kdnWryU95uao7pieP8fEcS827j+Uf2vbKb1Hn0JFhip20fqq8gPcNRj9go6c9FDTjjAlgp8n2quFytAGln5O+wEyG2j+rR+MBBs147AU6J7FYAp1Jdhur0lyORtoLQkuNa069GJssUwxxdtFKNcL4+G54xEZUlPSedDCOvAVK4XxXeQD/PbSvhqDykcjIn3I+8RAlM7K4KXdvjNyuXq6urm5rLqanyEn2oXK4auN5c3ieGAI6D/8mWqn38YnS7C4WjN7XqffGDLzU0NJzXq9c+Rmc1DDn/7+Hm+u8SYABKi5wgnR135gAAAABJRU5ErkJggg==\"\n}"
  },
  {
    "path": "conf/supplier/template/Grok/embedding.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/Grok/models.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/Kimi/config.json",
    "content": "{\n    \"supplierTitle\": \"Kimi\",\n    \"supplierName\": \"Kimi\",\n    \"baseUrl\": \"\",\n    \"baseUrlExample\": \"https://api.moonshot.cn/v1\",\n    \"isUseUrlExample\": true,\n    \"apiKey\": \"\",\n    \"home\": \"https://platform.moonshot.cn\",\n    \"help\": \"https://platform.moonshot.cn/docs/guide/start-using-kimi-api\",\n    \"status\": true,\n    \"sort\": 5,\n    \"icon\":\"data:image/gif;base64,R0lGODlhGAAYAOZvAIuLi3Z2dk1NTU9PT42NjQwMDEtLSxoaGs7OzhgYGLi4uJCQkA4ODhwcHKGhoZ2dndHR0SoqKnNzcwAjSh0dHXl5eXh4eDMzMzAwMKSkpObm5iwsLOrq6r29vYyMjEBAQABTrLm5udfX17CwsAAkTGtra/Ly8oODgwDE/62trWRiX6+vr46Oju7u7igoKFhYWAB71H9/f7y8vMzMzE5OTt/Y0D8/PxMTExISEhcXF11dXS4uLgBgyENDQxEREVtbW7e3t2pqallZWQACAyMjI1xcXNra2uLi4pWVlUJCQi8vLwA2ejs7O3x8fLS0tD06NwB+3FpaWmdnZ/f39z09PT4+PgBx+b6+vl5eXpiYmPv7+xQUFJeXl1ZWVgUDATw8PBYWFtTU1CYmJrq6ugcEAqqqqmlpafX19Zqamunp6bu7u+Dg4A0NDf///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjU2OWMwNWI1LTM3ZTQtZTI0ZS1hOWQ0LTYwZGM2M2MwNTg1YyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCQkU1NzRGNEZFNTgxMUVGOTUzQkM1MDUxRUJDRTM5MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCQkU1NzRGM0ZFNTgxMUVGOTUzQkM1MDUxRUJDRTM5MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTY5YzA1YjUtMzdlNC1lMjRlLWE5ZDQtNjBkYzYzYzA1ODVjIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU2OWMwNWI1LTM3ZTQtZTI0ZS1hOWQ0LTYwZGM2M2MwNTg1YyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAG8ALAAAAAAYABgAAAf/gG+Cb2ELZlEDBgKLAgYDL1IECIODUz9umJmam240HINnEZyjmwcagjakqpkubwqrsG4PQrGrSReaSjpVmg1FKmRLMCSaYg2aD20QmghtNV5WKDyaCTiaBG0ymTttbU9uIFATmj5smgBtQJllbTOYQ5xsBedtTphbbWk5qmzmmegtrqhZ08aEgiCk+tHrxrCNljZdRin818aIBAtNKmw40caBxHkUU2xC0gbNqAIM6IXYxKINl1EMwGjy0GbMJmxZRt0goslBGxGbMrRZMYoCFU1MAgzY9CXAh1EYAtRSheXIVFIQ3iy4uinAoBhcMZWg9KaDgQP90qpNm6DHiEGBAQAAOw==\"\n}"
  },
  {
    "path": "conf/supplier/template/Kimi/embedding.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/Kimi/models.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/OpenAI/config.json",
    "content": "{\n    \"supplierTitle\": \"OpenAI\",\n    \"supplierName\": \"OpenAI\",\n    \"baseUrl\": \"\",\n    \"baseUrlExample\":\"https://api.openai.com/v1\",\n    \"isUseUrlExample\": true,\n    \"apiKey\": \"\",\n    \"home\": \"https://openai.com\",\n    \"help\": \"https://platform.openai.com/docs/api-reference/introduction\",\n    \"status\": true,\n    \"sort\": 1,\n    \"icon\":\"data:image/gif;base64,R0lGODlhGAAYAPecALq6us/PzwcHBzExMVZWVjQ0NDc3NyoqKvf397u7uwwMDPz8/M7OzlFRUUlJSevr6/b29k5OToSEhA8PD01NTTw8PDU1NeTk5BwcHAYGBnt7eykpKV1dXVhYWCMjI+Hh4efn5wsLC6Ojo0VFRbKysqKiom5ubu/v73h4eJmZmcXFxcLCwnNzc66urrGxsXJycre3t/r6+mFhYZiYmOXl5UhISAEBAVRUVHBwcKioqEJCQmVlZaurq1tbW+zs7NXV1d3d3ePj42xsbGlpac3NzWZmZkBAQJ2dnZubm1lZWX5+fj8/P/39/Ts7Oz4+PoGBgYaGhiQkJHR0dBkZGby8vCwsLHd3d4uLiw0NDRgYGBcXF46OjicnJ09PT319ffHx8aSkpK2trbCwsCsrKwkJCczMzMjIyLi4uNzc3FNTUwgICAoKCsnJyZycnKenpwQEBHl5eVVVVWRkZIqKiuDg4FpaWiIiInZ2dkxMTHx8fB4eHjY2NkRERJOTk5GRkcTExKmpqdTU1OLi4gMDAxMTE2hoaEpKSurq6pWVlRYWFvPz8z09PQICAvDw8MPDw7m5ucbGxoeHhyAgINPT05eXl3V1db+/vygoKKamppaWlqCgoAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjVjYzU4ZjlkLTU5MTctYWU0Ny05ZDM2LTJlZmVhNDE0M2FmOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNUU5RDExMUZFNTgxMUVGQTY5NkFDNUQwMjVCNUVFNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNUU5RDExMEZFNTgxMUVGQTY5NkFDNUQwMjVCNUVFNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NWNjNThmOWQtNTkxNy1hZTQ3LTlkMzYtMmVmZWE0MTQzYWY5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjVjYzU4ZjlkLTU5MTctYWU0Ny05ZDM2LTJlZmVhNDE0M2FmOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAJwALAAAAAAYABgAAAj/ADkJHMgphgYymzYdSECwoUNODARsStRhSUICnBRBeEjwQ0IqBI0kTIgBBkdOeDaVGXgozSYFHTQQYLRpiEMiETZxGMgioYwFBAls8kLQxMgcnFRIHHBBIJovAxdtoiPwxSYWLTYB4NRg0yOBIDZsIrRCIIBNczhN2mSIUwKtnAbc4MQEzqYGM9RsaoKA0yYHnAptCsSJBFwDOxwlHCFwgZyEVhtwshNCoOGtMhIiMpNhAgOBggok3MIpixaBLuDqmECwi0IaAsFsMsAp5wNOMDZl4mRh7sBIGGpsUiLQz6Y2YTZBEYhiU48NOwhKOcBJxKYSBWdzqrAJKScgHjZRwyBYYQynAJtmCLSwiVOJhE5uc/qjYNAPSBLHo08hcIANTs31kBAOAyWR0BVWFHDeJvydsAljQmyCAAIDbBKCGBLY4ABslXCx4BGc3LGJC5wgsQkPAp2hwCYZMMRJEG/ssSAgmGxSg0A+bKKgQI2ssBEnHCSkSVIj6UCQBJvU0VAfCfEh3xObeOCGQ0VssoYJlORxySZRsDFQjpKcxAMWI21SBVACXaDHJpacBBYDJwglQBw4iLaJCG461MIUIznwwUMBAQA7\"\n}"
  },
  {
    "path": "conf/supplier/template/OpenAI/embedding.json",
    "content": "[]"
  },
  {
    "path": "conf/supplier/template/OpenAI/models.json",
    "content": "[]"
  },
  {
    "path": "conf/webmail/custom.inc.php",
    "content": "<?php\n    # Product name\n    $config['product_name'] = 'BillionMail';\n\n    $config['mime_types'] = '/var/roundcube/config/mime.types';\n       \n    # Plugins\n    $config['plugins'] = array('password','userinfo','newmail_notifier','emoticons','zipdownload');\n\n    # Password\n    $config['password_query'] = 'update mailbox set password = %P where username = %u';\n    $config['password_algorithm'] = 'md5-crypt';\n\n\n# Please create an extra file: extra.php. Used to persist overrides Configuration\n"
  },
  {
    "path": "conf/webmail/mime.types",
    "content": "# This file maps Internet media types to unique file extension(s).\n# Although created for httpd, this file is used by many software systems\n# and has been placed in the public domain for unlimited redistribution.\n#\n# The table below contains both registered and (common) unregistered types.\n# A type that has no unique extension can be ignored -- they are listed\n# here to guide configurations toward known types and to make it easier to\n# identify \"new\" types.  File extensions are also commonly used to indicate\n# content languages and encodings, so choose them carefully.\n#\n# Internet media types should be registered as described in RFC 4288.\n# The registry is at <http://www.iana.org/assignments/media-types/>.\n#\n# MIME type (lowercased)\t\t\tExtensions\n# ============================================\t==========\n# application/1d-interleaved-parityfec\n# application/3gpdash-qoe-report+xml\n# application/3gpp-ims+xml\n# application/a2l\n# application/activemessage\n# application/alto-costmap+json\n# application/alto-costmapfilter+json\n# application/alto-directory+json\n# application/alto-endpointcost+json\n# application/alto-endpointcostparams+json\n# application/alto-endpointprop+json\n# application/alto-endpointpropparams+json\n# application/alto-error+json\n# application/alto-networkmap+json\n# application/alto-networkmapfilter+json\n# application/aml\napplication/andrew-inset\t\t\tez\n# application/applefile\napplication/applixware\t\t\t\taw\n# application/atf\n# application/atfx\napplication/atom+xml\t\t\t\tatom\napplication/atomcat+xml\t\t\t\tatomcat\n# application/atomdeleted+xml\n# application/atomicmail\napplication/atomsvc+xml\t\t\t\tatomsvc\n# application/atxml\n# application/auth-policy+xml\n# application/bacnet-xdd+zip\n# application/batch-smtp\n# application/beep+xml\n# application/calendar+json\n# application/calendar+xml\n# application/call-completion\n# application/cals-1840\n# application/cbor\n# application/ccmp+xml\napplication/ccxml+xml\t\t\t\tccxml\n# application/cdfx+xml\napplication/cdmi-capability\t\t\tcdmia\napplication/cdmi-container\t\t\tcdmic\napplication/cdmi-domain\t\t\t\tcdmid\napplication/cdmi-object\t\t\t\tcdmio\napplication/cdmi-queue\t\t\t\tcdmiq\n# application/cdni\n# application/cea\n# application/cea-2018+xml\n# application/cellml+xml\n# application/cfw\n# application/cms\n# application/cnrp+xml\n# application/coap-group+json\n# application/commonground\n# application/conference-info+xml\n# application/cpl+xml\n# application/csrattrs\n# application/csta+xml\n# application/cstadata+xml\n# application/csvm+json\napplication/cu-seeme\t\t\t\tcu\n# application/cybercash\n# application/dash+xml\n# application/dashdelta\napplication/davmount+xml\t\t\tdavmount\n# application/dca-rft\n# application/dcd\n# application/dec-dx\n# application/dialog-info+xml\n# application/dicom\n# application/dii\n# application/dit\n# application/dns\napplication/docbook+xml\t\t\t\tdbk\n# application/dskpp+xml\napplication/dssc+der\t\t\t\tdssc\napplication/dssc+xml\t\t\t\txdssc\n# application/dvcs\napplication/ecmascript\t\t\t\tecma\n# application/edi-consent\n# application/edi-x12\n# application/edifact\n# application/efi\n# application/emergencycalldata.comment+xml\n# application/emergencycalldata.deviceinfo+xml\n# application/emergencycalldata.providerinfo+xml\n# application/emergencycalldata.serviceinfo+xml\n# application/emergencycalldata.subscriberinfo+xml\napplication/emma+xml\t\t\t\temma\n# application/emotionml+xml\n# application/encaprtp\n# application/epp+xml\napplication/epub+zip\t\t\t\tepub\n# application/eshop\n# application/example\napplication/exi\t\t\t\t\texi\n# application/fastinfoset\n# application/fastsoap\n# application/fdt+xml\n# application/fits\napplication/font-tdpfr\t\t\t\tpfr\n# application/framework-attributes+xml\n# application/geo+json\napplication/gml+xml\t\t\t\tgml\napplication/gpx+xml\t\t\t\tgpx\napplication/gxf\t\t\t\t\tgxf\n# application/gzip\n# application/h224\n# application/held+xml\n# application/http\napplication/hyperstudio\t\t\t\tstk\n# application/ibe-key-request+xml\n# application/ibe-pkg-reply+xml\n# application/ibe-pp-data\n# application/iges\n# application/im-iscomposing+xml\n# application/index\n# application/index.cmd\n# application/index.obj\n# application/index.response\n# application/index.vnd\napplication/inkml+xml\t\t\t\tink inkml\n# application/iotp\napplication/ipfix\t\t\t\tipfix\n# application/ipp\n# application/isup\n# application/its+xml\napplication/java-archive\t\t\tjar\napplication/java-serialized-object\t\tser\napplication/java-vm\t\t\t\tclass\n# application/javascript\n# application/jose\n# application/jose+json\n# application/jrd+json\napplication/json\t\t\t\tjson\n# application/json-patch+json\n# application/json-seq\napplication/jsonml+json\t\t\t\tjsonml\n# application/jwk+json\n# application/jwk-set+json\n# application/jwt\n# application/kpml-request+xml\n# application/kpml-response+xml\n# application/ld+json\n# application/lgr+xml\n# application/link-format\n# application/load-control+xml\napplication/lost+xml\t\t\t\tlostxml\n# application/lostsync+xml\n# application/lxf\napplication/mac-binhex40\t\t\thqx\napplication/mac-compactpro\t\t\tcpt\n# application/macwriteii\napplication/mads+xml\t\t\t\tmads\napplication/marc\t\t\t\tmrc\napplication/marcxml+xml\t\t\t\tmrcx\napplication/mathematica\t\t\t\tma nb mb\napplication/mathml+xml\t\t\t\tmathml\n# application/mathml-content+xml\n# application/mathml-presentation+xml\n# application/mbms-associated-procedure-description+xml\n# application/mbms-deregister+xml\n# application/mbms-envelope+xml\n# application/mbms-msk+xml\n# application/mbms-msk-response+xml\n# application/mbms-protection-description+xml\n# application/mbms-reception-report+xml\n# application/mbms-register+xml\n# application/mbms-register-response+xml\n# application/mbms-schedule+xml\n# application/mbms-user-service-description+xml\napplication/mbox\t\t\t\tmbox\n# application/media-policy-dataset+xml\n# application/media_control+xml\napplication/mediaservercontrol+xml\t\tmscml\n# application/merge-patch+json\napplication/metalink+xml\t\t\tmetalink\napplication/metalink4+xml\t\t\tmeta4\napplication/mets+xml\t\t\t\tmets\n# application/mf4\n# application/mikey\napplication/mods+xml\t\t\t\tmods\n# application/moss-keys\n# application/moss-signature\n# application/mosskey-data\n# application/mosskey-request\napplication/mp21\t\t\t\tm21 mp21\napplication/mp4\t\t\t\t\tmp4s\n# application/mpeg4-generic\n# application/mpeg4-iod\n# application/mpeg4-iod-xmt\n# application/mrb-consumer+xml\n# application/mrb-publish+xml\n# application/msc-ivr+xml\n# application/msc-mixer+xml\napplication/msword\t\t\t\tdoc dot\napplication/mxf\t\t\t\t\tmxf\n# application/nasdata\n# application/news-checkgroups\n# application/news-groupinfo\n# application/news-transmission\n# application/nlsml+xml\n# application/nss\n# application/ocsp-request\n# application/ocsp-response\napplication/octet-stream\tbin dms lrf mar so dist distz pkg bpk dump elc deploy\napplication/oda\t\t\t\t\toda\n# application/odx\napplication/oebps-package+xml\t\t\topf\napplication/ogg\t\t\t\t\togx\napplication/omdoc+xml\t\t\t\tomdoc\napplication/onenote\t\t\t\tonetoc onetoc2 onetmp onepkg\napplication/oxps\t\t\t\toxps\n# application/p2p-overlay+xml\n# application/parityfec\napplication/patch-ops-error+xml\t\t\txer\napplication/pdf\t\t\t\t\tpdf\n# application/pdx\napplication/pgp-encrypted\t\t\tpgp\n# application/pgp-keys\napplication/pgp-signature\t\t\tasc sig\napplication/pics-rules\t\t\t\tprf\n# application/pidf+xml\n# application/pidf-diff+xml\napplication/pkcs10\t\t\t\tp10\n# application/pkcs12\napplication/pkcs7-mime\t\t\t\tp7m p7c\napplication/pkcs7-signature\t\t\tp7s\napplication/pkcs8\t\t\t\tp8\napplication/pkix-attr-cert\t\t\tac\napplication/pkix-cert\t\t\t\tcer\napplication/pkix-crl\t\t\t\tcrl\napplication/pkix-pkipath\t\t\tpkipath\napplication/pkixcmp\t\t\t\tpki\napplication/pls+xml\t\t\t\tpls\n# application/poc-settings+xml\napplication/postscript\t\t\t\tai eps ps\n# application/ppsp-tracker+json\n# application/problem+json\n# application/problem+xml\n# application/provenance+xml\n# application/prs.alvestrand.titrax-sheet\napplication/prs.cww\t\t\t\tcww\n# application/prs.hpub+zip\n# application/prs.nprend\n# application/prs.plucker\n# application/prs.rdf-xml-crypt\n# application/prs.xsf+xml\napplication/pskc+xml\t\t\t\tpskcxml\n# application/qsig\n# application/raptorfec\n# application/rdap+json\napplication/rdf+xml\t\t\t\trdf\napplication/reginfo+xml\t\t\t\trif\napplication/relax-ng-compact-syntax\t\trnc\n# application/remote-printing\n# application/reputon+json\napplication/resource-lists+xml\t\t\trl\napplication/resource-lists-diff+xml\t\trld\n# application/rfc+xml\n# application/riscos\n# application/rlmi+xml\napplication/rls-services+xml\t\t\trs\napplication/rpki-ghostbusters\t\t\tgbr\napplication/rpki-manifest\t\t\tmft\napplication/rpki-roa\t\t\t\troa\n# application/rpki-updown\napplication/rsd+xml\t\t\t\trsd\napplication/rss+xml\t\t\t\trss\napplication/rtf\t\t\t\t\trtf\n# application/rtploopback\n# application/rtx\n# application/samlassertion+xml\n# application/samlmetadata+xml\napplication/sbml+xml\t\t\t\tsbml\n# application/scaip+xml\n# application/scim+json\napplication/scvp-cv-request\t\t\tscq\napplication/scvp-cv-response\t\t\tscs\napplication/scvp-vp-request\t\t\tspq\napplication/scvp-vp-response\t\t\tspp\napplication/sdp\t\t\t\t\tsdp\n# application/sep+xml\n# application/sep-exi\n# application/session-info\n# application/set-payment\napplication/set-payment-initiation\t\tsetpay\n# application/set-registration\napplication/set-registration-initiation\t\tsetreg\n# application/sgml\n# application/sgml-open-catalog\napplication/shf+xml\t\t\t\tshf\n# application/sieve\n# application/simple-filter+xml\n# application/simple-message-summary\n# application/simplesymbolcontainer\n# application/slate\n# application/smil\napplication/smil+xml\t\t\t\tsmi smil\n# application/smpte336m\n# application/soap+fastinfoset\n# application/soap+xml\napplication/sparql-query\t\t\trq\napplication/sparql-results+xml\t\t\tsrx\n# application/spirits-event+xml\n# application/sql\napplication/srgs\t\t\t\tgram\napplication/srgs+xml\t\t\t\tgrxml\napplication/sru+xml\t\t\t\tsru\napplication/ssdl+xml\t\t\t\tssdl\napplication/ssml+xml\t\t\t\tssml\n# application/tamp-apex-update\n# application/tamp-apex-update-confirm\n# application/tamp-community-update\n# application/tamp-community-update-confirm\n# application/tamp-error\n# application/tamp-sequence-adjust\n# application/tamp-sequence-adjust-confirm\n# application/tamp-status-query\n# application/tamp-status-response\n# application/tamp-update\n# application/tamp-update-confirm\napplication/tei+xml\t\t\t\ttei teicorpus\napplication/thraud+xml\t\t\t\ttfi\n# application/timestamp-query\n# application/timestamp-reply\napplication/timestamped-data\t\t\ttsd\n# application/ttml+xml\n# application/tve-trigger\n# application/ulpfec\n# application/urc-grpsheet+xml\n# application/urc-ressheet+xml\n# application/urc-targetdesc+xml\n# application/urc-uisocketdesc+xml\n# application/vcard+json\n# application/vcard+xml\n# application/vemmi\n# application/vividence.scriptfile\n# application/vnd.3gpp-prose+xml\n# application/vnd.3gpp-prose-pc3ch+xml\n# application/vnd.3gpp.access-transfer-events+xml\n# application/vnd.3gpp.bsf+xml\n# application/vnd.3gpp.mid-call+xml\napplication/vnd.3gpp.pic-bw-large\t\tplb\napplication/vnd.3gpp.pic-bw-small\t\tpsb\napplication/vnd.3gpp.pic-bw-var\t\t\tpvb\n# application/vnd.3gpp.sms\n# application/vnd.3gpp.sms+xml\n# application/vnd.3gpp.srvcc-ext+xml\n# application/vnd.3gpp.srvcc-info+xml\n# application/vnd.3gpp.state-and-event-info+xml\n# application/vnd.3gpp.ussd+xml\n# application/vnd.3gpp2.bcmcsinfo+xml\n# application/vnd.3gpp2.sms\napplication/vnd.3gpp2.tcap\t\t\ttcap\n# application/vnd.3lightssoftware.imagescal\napplication/vnd.3m.post-it-notes\t\tpwn\napplication/vnd.accpac.simply.aso\t\taso\napplication/vnd.accpac.simply.imp\t\timp\napplication/vnd.acucobol\t\t\tacu\napplication/vnd.acucorp\t\t\t\tatc acutc\napplication/vnd.adobe.air-application-installer-package+zip\tair\n# application/vnd.adobe.flash.movie\napplication/vnd.adobe.formscentral.fcdt\t\tfcdt\napplication/vnd.adobe.fxp\t\t\tfxp fxpl\n# application/vnd.adobe.partial-upload\napplication/vnd.adobe.xdp+xml\t\t\txdp\napplication/vnd.adobe.xfdf\t\t\txfdf\n# application/vnd.aether.imp\n# application/vnd.ah-barcode\napplication/vnd.ahead.space\t\t\tahead\napplication/vnd.airzip.filesecure.azf\t\tazf\napplication/vnd.airzip.filesecure.azs\t\tazs\napplication/vnd.amazon.ebook\t\t\tazw\n# application/vnd.amazon.mobi8-ebook\napplication/vnd.americandynamics.acc\t\tacc\napplication/vnd.amiga.ami\t\t\tami\n# application/vnd.amundsen.maze+xml\napplication/vnd.android.package-archive\t\tapk\n# application/vnd.anki\napplication/vnd.anser-web-certificate-issue-initiation\tcii\napplication/vnd.anser-web-funds-transfer-initiation\tfti\napplication/vnd.antix.game-component\t\tatx\n# application/vnd.apache.thrift.binary\n# application/vnd.apache.thrift.compact\n# application/vnd.apache.thrift.json\n# application/vnd.api+json\napplication/vnd.apple.installer+xml\t\tmpkg\napplication/vnd.apple.mpegurl\t\t\tm3u8\n# application/vnd.arastra.swi\napplication/vnd.aristanetworks.swi\t\tswi\n# application/vnd.artsquare\napplication/vnd.astraea-software.iota\t\tiota\napplication/vnd.audiograph\t\t\taep\n# application/vnd.autopackage\n# application/vnd.avistar+xml\n# application/vnd.balsamiq.bmml+xml\n# application/vnd.balsamiq.bmpr\n# application/vnd.bekitzur-stech+json\n# application/vnd.biopax.rdf+xml\napplication/vnd.blueice.multipass\t\tmpm\n# application/vnd.bluetooth.ep.oob\n# application/vnd.bluetooth.le.oob\napplication/vnd.bmi\t\t\t\tbmi\napplication/vnd.businessobjects\t\t\trep\n# application/vnd.cab-jscript\n# application/vnd.canon-cpdl\n# application/vnd.canon-lips\n# application/vnd.cendio.thinlinc.clientconf\n# application/vnd.century-systems.tcp_stream\napplication/vnd.chemdraw+xml\t\t\tcdxml\n# application/vnd.chess-pgn\napplication/vnd.chipnuts.karaoke-mmd\t\tmmd\napplication/vnd.cinderella\t\t\tcdy\n# application/vnd.cirpack.isdn-ext\n# application/vnd.citationstyles.style+xml\napplication/vnd.claymore\t\t\tcla\napplication/vnd.cloanto.rp9\t\t\trp9\napplication/vnd.clonk.c4group\t\t\tc4g c4d c4f c4p c4u\napplication/vnd.cluetrust.cartomobile-config\t\tc11amc\napplication/vnd.cluetrust.cartomobile-config-pkg\tc11amz\n# application/vnd.coffeescript\n# application/vnd.collection+json\n# application/vnd.collection.doc+json\n# application/vnd.collection.next+json\n# application/vnd.comicbook+zip\n# application/vnd.commerce-battelle\napplication/vnd.commonspace\t\t\tcsp\napplication/vnd.contact.cmsg\t\t\tcdbcmsg\n# application/vnd.coreos.ignition+json\napplication/vnd.cosmocaller\t\t\tcmc\napplication/vnd.crick.clicker\t\t\tclkx\napplication/vnd.crick.clicker.keyboard\t\tclkk\napplication/vnd.crick.clicker.palette\t\tclkp\napplication/vnd.crick.clicker.template\t\tclkt\napplication/vnd.crick.clicker.wordbank\t\tclkw\napplication/vnd.criticaltools.wbs+xml\t\twbs\napplication/vnd.ctc-posml\t\t\tpml\n# application/vnd.ctct.ws+xml\n# application/vnd.cups-pdf\n# application/vnd.cups-postscript\napplication/vnd.cups-ppd\t\t\tppd\n# application/vnd.cups-raster\n# application/vnd.cups-raw\n# application/vnd.curl\napplication/vnd.curl.car\t\t\tcar\napplication/vnd.curl.pcurl\t\t\tpcurl\n# application/vnd.cyan.dean.root+xml\n# application/vnd.cybank\napplication/vnd.dart\t\t\t\tdart\napplication/vnd.data-vision.rdz\t\t\trdz\n# application/vnd.debian.binary-package\napplication/vnd.dece.data\t\t\tuvf uvvf uvd uvvd\napplication/vnd.dece.ttml+xml\t\t\tuvt uvvt\napplication/vnd.dece.unspecified\t\tuvx uvvx\napplication/vnd.dece.zip\t\t\tuvz uvvz\napplication/vnd.denovo.fcselayout-link\t\tfe_launch\n# application/vnd.desmume.movie\n# application/vnd.dir-bi.plate-dl-nosuffix\n# application/vnd.dm.delegation+xml\napplication/vnd.dna\t\t\t\tdna\n# application/vnd.document+json\napplication/vnd.dolby.mlp\t\t\tmlp\n# application/vnd.dolby.mobile.1\n# application/vnd.dolby.mobile.2\n# application/vnd.doremir.scorecloud-binary-document\napplication/vnd.dpgraph\t\t\t\tdpg\napplication/vnd.dreamfactory\t\t\tdfac\n# application/vnd.drive+json\napplication/vnd.ds-keypoint\t\t\tkpxx\n# application/vnd.dtg.local\n# application/vnd.dtg.local.flash\n# application/vnd.dtg.local.html\napplication/vnd.dvb.ait\t\t\t\tait\n# application/vnd.dvb.dvbj\n# application/vnd.dvb.esgcontainer\n# application/vnd.dvb.ipdcdftnotifaccess\n# application/vnd.dvb.ipdcesgaccess\n# application/vnd.dvb.ipdcesgaccess2\n# application/vnd.dvb.ipdcesgpdd\n# application/vnd.dvb.ipdcroaming\n# application/vnd.dvb.iptv.alfec-base\n# application/vnd.dvb.iptv.alfec-enhancement\n# application/vnd.dvb.notif-aggregate-root+xml\n# application/vnd.dvb.notif-container+xml\n# application/vnd.dvb.notif-generic+xml\n# application/vnd.dvb.notif-ia-msglist+xml\n# application/vnd.dvb.notif-ia-registration-request+xml\n# application/vnd.dvb.notif-ia-registration-response+xml\n# application/vnd.dvb.notif-init+xml\n# application/vnd.dvb.pfr\napplication/vnd.dvb.service\t\t\tsvc\n# application/vnd.dxr\napplication/vnd.dynageo\t\t\t\tgeo\n# application/vnd.dzr\n# application/vnd.easykaraoke.cdgdownload\n# application/vnd.ecdis-update\napplication/vnd.ecowin.chart\t\t\tmag\n# application/vnd.ecowin.filerequest\n# application/vnd.ecowin.fileupdate\n# application/vnd.ecowin.series\n# application/vnd.ecowin.seriesrequest\n# application/vnd.ecowin.seriesupdate\n# application/vnd.emclient.accessrequest+xml\napplication/vnd.enliven\t\t\t\tnml\n# application/vnd.enphase.envoy\n# application/vnd.eprints.data+xml\napplication/vnd.epson.esf\t\t\tesf\napplication/vnd.epson.msf\t\t\tmsf\napplication/vnd.epson.quickanime\t\tqam\napplication/vnd.epson.salt\t\t\tslt\napplication/vnd.epson.ssf\t\t\tssf\n# application/vnd.ericsson.quickcall\napplication/vnd.eszigno3+xml\t\t\tes3 et3\n# application/vnd.etsi.aoc+xml\n# application/vnd.etsi.asic-e+zip\n# application/vnd.etsi.asic-s+zip\n# application/vnd.etsi.cug+xml\n# application/vnd.etsi.iptvcommand+xml\n# application/vnd.etsi.iptvdiscovery+xml\n# application/vnd.etsi.iptvprofile+xml\n# application/vnd.etsi.iptvsad-bc+xml\n# application/vnd.etsi.iptvsad-cod+xml\n# application/vnd.etsi.iptvsad-npvr+xml\n# application/vnd.etsi.iptvservice+xml\n# application/vnd.etsi.iptvsync+xml\n# application/vnd.etsi.iptvueprofile+xml\n# application/vnd.etsi.mcid+xml\n# application/vnd.etsi.mheg5\n# application/vnd.etsi.overload-control-policy-dataset+xml\n# application/vnd.etsi.pstn+xml\n# application/vnd.etsi.sci+xml\n# application/vnd.etsi.simservs+xml\n# application/vnd.etsi.timestamp-token\n# application/vnd.etsi.tsl+xml\n# application/vnd.etsi.tsl.der\n# application/vnd.eudora.data\napplication/vnd.ezpix-album\t\t\tez2\napplication/vnd.ezpix-package\t\t\tez3\n# application/vnd.f-secure.mobile\n# application/vnd.fastcopy-disk-image\napplication/vnd.fdf\t\t\t\tfdf\napplication/vnd.fdsn.mseed\t\t\tmseed\napplication/vnd.fdsn.seed\t\t\tseed dataless\n# application/vnd.ffsns\n# application/vnd.filmit.zfc\n# application/vnd.fints\n# application/vnd.firemonkeys.cloudcell\napplication/vnd.flographit\t\t\tgph\napplication/vnd.fluxtime.clip\t\t\tftc\n# application/vnd.font-fontforge-sfd\napplication/vnd.framemaker\t\t\tfm frame maker book\napplication/vnd.frogans.fnc\t\t\tfnc\napplication/vnd.frogans.ltf\t\t\tltf\napplication/vnd.fsc.weblaunch\t\t\tfsc\napplication/vnd.fujitsu.oasys\t\t\toas\napplication/vnd.fujitsu.oasys2\t\t\toa2\napplication/vnd.fujitsu.oasys3\t\t\toa3\napplication/vnd.fujitsu.oasysgp\t\t\tfg5\napplication/vnd.fujitsu.oasysprs\t\tbh2\n# application/vnd.fujixerox.art-ex\n# application/vnd.fujixerox.art4\napplication/vnd.fujixerox.ddd\t\t\tddd\napplication/vnd.fujixerox.docuworks\t\txdw\napplication/vnd.fujixerox.docuworks.binder\txbd\n# application/vnd.fujixerox.docuworks.container\n# application/vnd.fujixerox.hbpl\n# application/vnd.fut-misnet\napplication/vnd.fuzzysheet\t\t\tfzs\napplication/vnd.genomatix.tuxedo\t\ttxd\n# application/vnd.geo+json\n# application/vnd.geocube+xml\napplication/vnd.geogebra.file\t\t\tggb\napplication/vnd.geogebra.slides\t\tggs\napplication/vnd.geogebra.tool\t\t\tggt\napplication/vnd.geometry-explorer\t\tgex gre\napplication/vnd.geonext\t\t\t\tgxt\napplication/vnd.geoplan\t\t\t\tg2w\napplication/vnd.geospace\t\t\tg3w\n# application/vnd.gerber\n# application/vnd.globalplatform.card-content-mgt\n# application/vnd.globalplatform.card-content-mgt-response\napplication/vnd.gmx\t\t\t\tgmx\napplication/vnd.google-earth.kml+xml\t\tkml\napplication/vnd.google-earth.kmz\t\tkmz\n# application/vnd.gov.sk.e-form+xml\n# application/vnd.gov.sk.e-form+zip\n# application/vnd.gov.sk.xmldatacontainer+xml\napplication/vnd.grafeq\t\t\t\tgqf gqs\n# application/vnd.gridmp\napplication/vnd.groove-account\t\t\tgac\napplication/vnd.groove-help\t\t\tghf\napplication/vnd.groove-identity-message\t\tgim\napplication/vnd.groove-injector\t\t\tgrv\napplication/vnd.groove-tool-message\t\tgtm\napplication/vnd.groove-tool-template\t\ttpl\napplication/vnd.groove-vcard\t\t\tvcg\n# application/vnd.hal+json\napplication/vnd.hal+xml\t\t\t\thal\napplication/vnd.handheld-entertainment+xml\tzmm\napplication/vnd.hbci\t\t\t\thbci\n# application/vnd.hcl-bireports\n# application/vnd.hdt\n# application/vnd.heroku+json\napplication/vnd.hhe.lesson-player\t\tles\napplication/vnd.hp-hpgl\t\t\t\thpgl\napplication/vnd.hp-hpid\t\t\t\thpid\napplication/vnd.hp-hps\t\t\t\thps\napplication/vnd.hp-jlyt\t\t\t\tjlt\napplication/vnd.hp-pcl\t\t\t\tpcl\napplication/vnd.hp-pclxl\t\t\tpclxl\n# application/vnd.httphone\napplication/vnd.hydrostatix.sof-data\t\tsfd-hdstx\n# application/vnd.hyperdrive+json\n# application/vnd.hzn-3d-crossword\n# application/vnd.ibm.afplinedata\n# application/vnd.ibm.electronic-media\napplication/vnd.ibm.minipay\t\t\tmpy\napplication/vnd.ibm.modcap\t\t\tafp listafp list3820\napplication/vnd.ibm.rights-management\t\tirm\napplication/vnd.ibm.secure-container\t\tsc\napplication/vnd.iccprofile\t\t\ticc icm\n# application/vnd.ieee.1905\napplication/vnd.igloader\t\t\tigl\napplication/vnd.immervision-ivp\t\t\tivp\napplication/vnd.immervision-ivu\t\t\tivu\n# application/vnd.ims.imsccv1p1\n# application/vnd.ims.imsccv1p2\n# application/vnd.ims.imsccv1p3\n# application/vnd.ims.lis.v2.result+json\n# application/vnd.ims.lti.v2.toolconsumerprofile+json\n# application/vnd.ims.lti.v2.toolproxy+json\n# application/vnd.ims.lti.v2.toolproxy.id+json\n# application/vnd.ims.lti.v2.toolsettings+json\n# application/vnd.ims.lti.v2.toolsettings.simple+json\n# application/vnd.informedcontrol.rms+xml\n# application/vnd.informix-visionary\n# application/vnd.infotech.project\n# application/vnd.infotech.project+xml\n# application/vnd.innopath.wamp.notification\napplication/vnd.insors.igm\t\t\tigm\napplication/vnd.intercon.formnet\t\txpw xpx\napplication/vnd.intergeo\t\t\ti2g\n# application/vnd.intertrust.digibox\n# application/vnd.intertrust.nncp\napplication/vnd.intu.qbo\t\t\tqbo\napplication/vnd.intu.qfx\t\t\tqfx\n# application/vnd.iptc.g2.catalogitem+xml\n# application/vnd.iptc.g2.conceptitem+xml\n# application/vnd.iptc.g2.knowledgeitem+xml\n# application/vnd.iptc.g2.newsitem+xml\n# application/vnd.iptc.g2.newsmessage+xml\n# application/vnd.iptc.g2.packageitem+xml\n# application/vnd.iptc.g2.planningitem+xml\napplication/vnd.ipunplugged.rcprofile\t\trcprofile\napplication/vnd.irepository.package+xml\t\tirp\napplication/vnd.is-xpr\t\t\t\txpr\napplication/vnd.isac.fcs\t\t\tfcs\napplication/vnd.jam\t\t\t\tjam\n# application/vnd.japannet-directory-service\n# application/vnd.japannet-jpnstore-wakeup\n# application/vnd.japannet-payment-wakeup\n# application/vnd.japannet-registration\n# application/vnd.japannet-registration-wakeup\n# application/vnd.japannet-setstore-wakeup\n# application/vnd.japannet-verification\n# application/vnd.japannet-verification-wakeup\napplication/vnd.jcp.javame.midlet-rms\t\trms\napplication/vnd.jisp\t\t\t\tjisp\napplication/vnd.joost.joda-archive\t\tjoda\n# application/vnd.jsk.isdn-ngn\napplication/vnd.kahootz\t\t\t\tktz ktr\napplication/vnd.kde.karbon\t\t\tkarbon\napplication/vnd.kde.kchart\t\t\tchrt\napplication/vnd.kde.kformula\t\t\tkfo\napplication/vnd.kde.kivio\t\t\tflw\napplication/vnd.kde.kontour\t\t\tkon\napplication/vnd.kde.kpresenter\t\t\tkpr kpt\napplication/vnd.kde.kspread\t\t\tksp\napplication/vnd.kde.kword\t\t\tkwd kwt\napplication/vnd.kenameaapp\t\t\thtke\napplication/vnd.kidspiration\t\t\tkia\napplication/vnd.kinar\t\t\t\tkne knp\napplication/vnd.koan\t\t\t\tskp skd skt skm\napplication/vnd.kodak-descriptor\t\tsse\napplication/vnd.las.las+xml\t\t\tlasxml\n# application/vnd.liberty-request+xml\napplication/vnd.llamagraphics.life-balance.desktop\tlbd\napplication/vnd.llamagraphics.life-balance.exchange+xml\tlbe\napplication/vnd.lotus-1-2-3\t\t\t123\napplication/vnd.lotus-approach\t\t\tapr\napplication/vnd.lotus-freelance\t\t\tpre\napplication/vnd.lotus-notes\t\t\tnsf\napplication/vnd.lotus-organizer\t\t\torg\napplication/vnd.lotus-screencam\t\t\tscm\napplication/vnd.lotus-wordpro\t\t\tlwp\napplication/vnd.macports.portpkg\t\tportpkg\n# application/vnd.mapbox-vector-tile\n# application/vnd.marlin.drm.actiontoken+xml\n# application/vnd.marlin.drm.conftoken+xml\n# application/vnd.marlin.drm.license+xml\n# application/vnd.marlin.drm.mdcf\n# application/vnd.mason+json\n# application/vnd.maxmind.maxmind-db\napplication/vnd.mcd\t\t\t\tmcd\napplication/vnd.medcalcdata\t\t\tmc1\napplication/vnd.mediastation.cdkey\t\tcdkey\n# application/vnd.meridian-slingshot\napplication/vnd.mfer\t\t\t\tmwf\napplication/vnd.mfmp\t\t\t\tmfm\n# application/vnd.micro+json\napplication/vnd.micrografx.flo\t\t\tflo\napplication/vnd.micrografx.igx\t\t\tigx\n# application/vnd.microsoft.portable-executable\n# application/vnd.miele+json\napplication/vnd.mif\t\t\t\tmif\n# application/vnd.minisoft-hp3000-save\n# application/vnd.mitsubishi.misty-guard.trustweb\napplication/vnd.mobius.daf\t\t\tdaf\napplication/vnd.mobius.dis\t\t\tdis\napplication/vnd.mobius.mbk\t\t\tmbk\napplication/vnd.mobius.mqy\t\t\tmqy\napplication/vnd.mobius.msl\t\t\tmsl\napplication/vnd.mobius.plc\t\t\tplc\napplication/vnd.mobius.txf\t\t\ttxf\napplication/vnd.mophun.application\t\tmpn\napplication/vnd.mophun.certificate\t\tmpc\n# application/vnd.motorola.flexsuite\n# application/vnd.motorola.flexsuite.adsi\n# application/vnd.motorola.flexsuite.fis\n# application/vnd.motorola.flexsuite.gotap\n# application/vnd.motorola.flexsuite.kmr\n# application/vnd.motorola.flexsuite.ttc\n# application/vnd.motorola.flexsuite.wem\n# application/vnd.motorola.iprm\napplication/vnd.mozilla.xul+xml\t\t\txul\n# application/vnd.ms-3mfdocument\napplication/vnd.ms-artgalry\t\t\tcil\n# application/vnd.ms-asf\napplication/vnd.ms-cab-compressed\t\tcab\n# application/vnd.ms-color.iccprofile\napplication/vnd.ms-excel\t\t\txls xlm xla xlc xlt xlw\napplication/vnd.ms-excel.addin.macroenabled.12\t\txlam\napplication/vnd.ms-excel.sheet.binary.macroenabled.12\txlsb\napplication/vnd.ms-excel.sheet.macroenabled.12\t\txlsm\napplication/vnd.ms-excel.template.macroenabled.12\txltm\napplication/vnd.ms-fontobject\t\t\teot\napplication/vnd.ms-htmlhelp\t\t\tchm\napplication/vnd.ms-ims\t\t\t\tims\napplication/vnd.ms-lrm\t\t\t\tlrm\n# application/vnd.ms-office.activex+xml\napplication/vnd.ms-officetheme\t\t\tthmx\n# application/vnd.ms-opentype\n# application/vnd.ms-package.obfuscated-opentype\napplication/vnd.ms-pki.seccat\t\t\tcat\napplication/vnd.ms-pki.stl\t\t\tstl\n# application/vnd.ms-playready.initiator+xml\napplication/vnd.ms-powerpoint\t\t\tppt pps pot\napplication/vnd.ms-powerpoint.addin.macroenabled.12\t\tppam\napplication/vnd.ms-powerpoint.presentation.macroenabled.12\tpptm\napplication/vnd.ms-powerpoint.slide.macroenabled.12\t\tsldm\napplication/vnd.ms-powerpoint.slideshow.macroenabled.12\t\tppsm\napplication/vnd.ms-powerpoint.template.macroenabled.12\t\tpotm\n# application/vnd.ms-printdevicecapabilities+xml\n# application/vnd.ms-printing.printticket+xml\n# application/vnd.ms-printschematicket+xml\napplication/vnd.ms-project\t\t\tmpp mpt\n# application/vnd.ms-tnef\n# application/vnd.ms-windows.devicepairing\n# application/vnd.ms-windows.nwprinting.oob\n# application/vnd.ms-windows.printerpairing\n# application/vnd.ms-windows.wsd.oob\n# application/vnd.ms-wmdrm.lic-chlg-req\n# application/vnd.ms-wmdrm.lic-resp\n# application/vnd.ms-wmdrm.meter-chlg-req\n# application/vnd.ms-wmdrm.meter-resp\napplication/vnd.ms-word.document.macroenabled.12\tdocm\napplication/vnd.ms-word.template.macroenabled.12\tdotm\napplication/vnd.ms-works\t\t\twps wks wcm wdb\napplication/vnd.ms-wpl\t\t\t\twpl\napplication/vnd.ms-xpsdocument\t\t\txps\n# application/vnd.msa-disk-image\napplication/vnd.mseq\t\t\t\tmseq\n# application/vnd.msign\n# application/vnd.multiad.creator\n# application/vnd.multiad.creator.cif\n# application/vnd.music-niff\napplication/vnd.musician\t\t\tmus\napplication/vnd.muvee.style\t\t\tmsty\napplication/vnd.mynfc\t\t\t\ttaglet\n# application/vnd.ncd.control\n# application/vnd.ncd.reference\n# application/vnd.nervana\n# application/vnd.netfpx\napplication/vnd.neurolanguage.nlu\t\tnlu\n# application/vnd.nintendo.nitro.rom\n# application/vnd.nintendo.snes.rom\napplication/vnd.nitf\t\t\t\tntf nitf\napplication/vnd.noblenet-directory\t\tnnd\napplication/vnd.noblenet-sealer\t\t\tnns\napplication/vnd.noblenet-web\t\t\tnnw\n# application/vnd.nokia.catalogs\n# application/vnd.nokia.conml+wbxml\n# application/vnd.nokia.conml+xml\n# application/vnd.nokia.iptv.config+xml\n# application/vnd.nokia.isds-radio-presets\n# application/vnd.nokia.landmark+wbxml\n# application/vnd.nokia.landmark+xml\n# application/vnd.nokia.landmarkcollection+xml\n# application/vnd.nokia.n-gage.ac+xml\napplication/vnd.nokia.n-gage.data\t\tngdat\napplication/vnd.nokia.n-gage.symbian.install\tn-gage\n# application/vnd.nokia.ncd\n# application/vnd.nokia.pcd+wbxml\n# application/vnd.nokia.pcd+xml\napplication/vnd.nokia.radio-preset\t\trpst\napplication/vnd.nokia.radio-presets\t\trpss\napplication/vnd.novadigm.edm\t\t\tedm\napplication/vnd.novadigm.edx\t\t\tedx\napplication/vnd.novadigm.ext\t\t\text\n# application/vnd.ntt-local.content-share\n# application/vnd.ntt-local.file-transfer\n# application/vnd.ntt-local.ogw_remote-access\n# application/vnd.ntt-local.sip-ta_remote\n# application/vnd.ntt-local.sip-ta_tcp_stream\napplication/vnd.oasis.opendocument.chart\t\todc\napplication/vnd.oasis.opendocument.chart-template\totc\napplication/vnd.oasis.opendocument.database\t\todb\napplication/vnd.oasis.opendocument.formula\t\todf\napplication/vnd.oasis.opendocument.formula-template\todft\napplication/vnd.oasis.opendocument.graphics\t\todg\napplication/vnd.oasis.opendocument.graphics-template\totg\napplication/vnd.oasis.opendocument.image\t\todi\napplication/vnd.oasis.opendocument.image-template\toti\napplication/vnd.oasis.opendocument.presentation\t\todp\napplication/vnd.oasis.opendocument.presentation-template\totp\napplication/vnd.oasis.opendocument.spreadsheet\t\tods\napplication/vnd.oasis.opendocument.spreadsheet-template\tots\napplication/vnd.oasis.opendocument.text\t\t\todt\napplication/vnd.oasis.opendocument.text-master\t\todm\napplication/vnd.oasis.opendocument.text-template\tott\napplication/vnd.oasis.opendocument.text-web\t\toth\n# application/vnd.obn\n# application/vnd.oftn.l10n+json\n# application/vnd.oipf.contentaccessdownload+xml\n# application/vnd.oipf.contentaccessstreaming+xml\n# application/vnd.oipf.cspg-hexbinary\n# application/vnd.oipf.dae.svg+xml\n# application/vnd.oipf.dae.xhtml+xml\n# application/vnd.oipf.mippvcontrolmessage+xml\n# application/vnd.oipf.pae.gem\n# application/vnd.oipf.spdiscovery+xml\n# application/vnd.oipf.spdlist+xml\n# application/vnd.oipf.ueprofile+xml\n# application/vnd.oipf.userprofile+xml\napplication/vnd.olpc-sugar\t\t\txo\n# application/vnd.oma-scws-config\n# application/vnd.oma-scws-http-request\n# application/vnd.oma-scws-http-response\n# application/vnd.oma.bcast.associated-procedure-parameter+xml\n# application/vnd.oma.bcast.drm-trigger+xml\n# application/vnd.oma.bcast.imd+xml\n# application/vnd.oma.bcast.ltkm\n# application/vnd.oma.bcast.notification+xml\n# application/vnd.oma.bcast.provisioningtrigger\n# application/vnd.oma.bcast.sgboot\n# application/vnd.oma.bcast.sgdd+xml\n# application/vnd.oma.bcast.sgdu\n# application/vnd.oma.bcast.simple-symbol-container\n# application/vnd.oma.bcast.smartcard-trigger+xml\n# application/vnd.oma.bcast.sprov+xml\n# application/vnd.oma.bcast.stkm\n# application/vnd.oma.cab-address-book+xml\n# application/vnd.oma.cab-feature-handler+xml\n# application/vnd.oma.cab-pcc+xml\n# application/vnd.oma.cab-subs-invite+xml\n# application/vnd.oma.cab-user-prefs+xml\n# application/vnd.oma.dcd\n# application/vnd.oma.dcdc\napplication/vnd.oma.dd2+xml\t\t\tdd2\n# application/vnd.oma.drm.risd+xml\n# application/vnd.oma.group-usage-list+xml\n# application/vnd.oma.lwm2m+json\n# application/vnd.oma.lwm2m+tlv\n# application/vnd.oma.pal+xml\n# application/vnd.oma.poc.detailed-progress-report+xml\n# application/vnd.oma.poc.final-report+xml\n# application/vnd.oma.poc.groups+xml\n# application/vnd.oma.poc.invocation-descriptor+xml\n# application/vnd.oma.poc.optimized-progress-report+xml\n# application/vnd.oma.push\n# application/vnd.oma.scidm.messages+xml\n# application/vnd.oma.xcap-directory+xml\n# application/vnd.omads-email+xml\n# application/vnd.omads-file+xml\n# application/vnd.omads-folder+xml\n# application/vnd.omaloc-supl-init\n# application/vnd.onepager\n# application/vnd.openblox.game+xml\n# application/vnd.openblox.game-binary\n# application/vnd.openeye.oeb\napplication/vnd.openofficeorg.extension\t\toxt\n# application/vnd.openxmlformats-officedocument.custom-properties+xml\n# application/vnd.openxmlformats-officedocument.customxmlproperties+xml\n# application/vnd.openxmlformats-officedocument.drawing+xml\n# application/vnd.openxmlformats-officedocument.drawingml.chart+xml\n# application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\n# application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\n# application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\n# application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\n# application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\n# application/vnd.openxmlformats-officedocument.extended-properties+xml\n# application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\n# application/vnd.openxmlformats-officedocument.presentationml.comments+xml\n# application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\n# application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\n# application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\napplication/vnd.openxmlformats-officedocument.presentationml.presentation\tpptx\n# application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\n# application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\napplication/vnd.openxmlformats-officedocument.presentationml.slide\tsldx\n# application/vnd.openxmlformats-officedocument.presentationml.slide+xml\n# application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\n# application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\napplication/vnd.openxmlformats-officedocument.presentationml.slideshow\tppsx\n# application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\n# application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\n# application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\n# application/vnd.openxmlformats-officedocument.presentationml.tags+xml\napplication/vnd.openxmlformats-officedocument.presentationml.template\tpotx\n# application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\n# application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\napplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet\txlsx\n# application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\napplication/vnd.openxmlformats-officedocument.spreadsheetml.template\txltx\n# application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\n# application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\n# application/vnd.openxmlformats-officedocument.theme+xml\n# application/vnd.openxmlformats-officedocument.themeoverride+xml\n# application/vnd.openxmlformats-officedocument.vmldrawing\n# application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\napplication/vnd.openxmlformats-officedocument.wordprocessingml.document\tdocx\n# application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\napplication/vnd.openxmlformats-officedocument.wordprocessingml.template\tdotx\n# application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\n# application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\n# application/vnd.openxmlformats-package.core-properties+xml\n# application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\n# application/vnd.openxmlformats-package.relationships+xml\n# application/vnd.oracle.resource+json\n# application/vnd.orange.indata\n# application/vnd.osa.netdeploy\napplication/vnd.osgeo.mapguide.package\t\tmgp\n# application/vnd.osgi.bundle\napplication/vnd.osgi.dp\t\t\t\tdp\napplication/vnd.osgi.subsystem\t\t\tesa\n# application/vnd.otps.ct-kip+xml\n# application/vnd.oxli.countgraph\n# application/vnd.pagerduty+json\napplication/vnd.palm\t\t\t\tpdb pqa oprc\n# application/vnd.panoply\n# application/vnd.paos.xml\napplication/vnd.pawaafile\t\t\tpaw\n# application/vnd.pcos\napplication/vnd.pg.format\t\t\tstr\napplication/vnd.pg.osasli\t\t\tei6\n# application/vnd.piaccess.application-licence\napplication/vnd.picsel\t\t\t\tefif\napplication/vnd.pmi.widget\t\t\twg\n# application/vnd.poc.group-advertisement+xml\napplication/vnd.pocketlearn\t\t\tplf\napplication/vnd.powerbuilder6\t\t\tpbd\n# application/vnd.powerbuilder6-s\n# application/vnd.powerbuilder7\n# application/vnd.powerbuilder7-s\n# application/vnd.powerbuilder75\n# application/vnd.powerbuilder75-s\n# application/vnd.preminet\napplication/vnd.previewsystems.box\t\tbox\napplication/vnd.proteus.magazine\t\tmgz\napplication/vnd.publishare-delta-tree\t\tqps\napplication/vnd.pvi.ptid1\t\t\tptid\n# application/vnd.pwg-multiplexed\n# application/vnd.pwg-xhtml-print+xml\n# application/vnd.qualcomm.brew-app-res\n# application/vnd.quarantainenet\napplication/vnd.quark.quarkxpress\t\tqxd qxt qwd qwt qxl qxb\n# application/vnd.quobject-quoxdocument\n# application/vnd.radisys.moml+xml\n# application/vnd.radisys.msml+xml\n# application/vnd.radisys.msml-audit+xml\n# application/vnd.radisys.msml-audit-conf+xml\n# application/vnd.radisys.msml-audit-conn+xml\n# application/vnd.radisys.msml-audit-dialog+xml\n# application/vnd.radisys.msml-audit-stream+xml\n# application/vnd.radisys.msml-conf+xml\n# application/vnd.radisys.msml-dialog+xml\n# application/vnd.radisys.msml-dialog-base+xml\n# application/vnd.radisys.msml-dialog-fax-detect+xml\n# application/vnd.radisys.msml-dialog-fax-sendrecv+xml\n# application/vnd.radisys.msml-dialog-group+xml\n# application/vnd.radisys.msml-dialog-speech+xml\n# application/vnd.radisys.msml-dialog-transform+xml\n# application/vnd.rainstor.data\n# application/vnd.rapid\n# application/vnd.rar\napplication/vnd.realvnc.bed\t\t\tbed\napplication/vnd.recordare.musicxml\t\tmxl\napplication/vnd.recordare.musicxml+xml\t\tmusicxml\n# application/vnd.renlearn.rlprint\napplication/vnd.rig.cryptonote\t\t\tcryptonote\napplication/vnd.rim.cod\t\t\t\tcod\napplication/vnd.rn-realmedia\t\t\trm\napplication/vnd.rn-realmedia-vbr\t\trmvb\napplication/vnd.route66.link66+xml\t\tlink66\n# application/vnd.rs-274x\n# application/vnd.ruckus.download\n# application/vnd.s3sms\napplication/vnd.sailingtracker.track\t\tst\n# application/vnd.sbm.cid\n# application/vnd.sbm.mid2\n# application/vnd.scribus\n# application/vnd.sealed.3df\n# application/vnd.sealed.csf\n# application/vnd.sealed.doc\n# application/vnd.sealed.eml\n# application/vnd.sealed.mht\n# application/vnd.sealed.net\n# application/vnd.sealed.ppt\n# application/vnd.sealed.tiff\n# application/vnd.sealed.xls\n# application/vnd.sealedmedia.softseal.html\n# application/vnd.sealedmedia.softseal.pdf\napplication/vnd.seemail\t\t\t\tsee\napplication/vnd.sema\t\t\t\tsema\napplication/vnd.semd\t\t\t\tsemd\napplication/vnd.semf\t\t\t\tsemf\napplication/vnd.shana.informed.formdata\t\tifm\napplication/vnd.shana.informed.formtemplate\titp\napplication/vnd.shana.informed.interchange\tiif\napplication/vnd.shana.informed.package\t\tipk\napplication/vnd.simtech-mindmapper\t\ttwd twds\n# application/vnd.siren+json\napplication/vnd.smaf\t\t\t\tmmf\n# application/vnd.smart.notebook\napplication/vnd.smart.teacher\t\t\tteacher\n# application/vnd.software602.filler.form+xml\n# application/vnd.software602.filler.form-xml-zip\napplication/vnd.solent.sdkm+xml\t\t\tsdkm sdkd\napplication/vnd.spotfire.dxp\t\t\tdxp\napplication/vnd.spotfire.sfs\t\t\tsfs\n# application/vnd.sss-cod\n# application/vnd.sss-dtf\n# application/vnd.sss-ntf\napplication/vnd.stardivision.calc\t\tsdc\napplication/vnd.stardivision.draw\t\tsda\napplication/vnd.stardivision.impress\t\tsdd\napplication/vnd.stardivision.math\t\tsmf\napplication/vnd.stardivision.writer\t\tsdw vor\napplication/vnd.stardivision.writer-global\tsgl\napplication/vnd.stepmania.package\t\tsmzip\napplication/vnd.stepmania.stepchart\t\tsm\n# application/vnd.street-stream\n# application/vnd.sun.wadl+xml\napplication/vnd.sun.xml.calc\t\t\tsxc\napplication/vnd.sun.xml.calc.template\t\tstc\napplication/vnd.sun.xml.draw\t\t\tsxd\napplication/vnd.sun.xml.draw.template\t\tstd\napplication/vnd.sun.xml.impress\t\t\tsxi\napplication/vnd.sun.xml.impress.template\tsti\napplication/vnd.sun.xml.math\t\t\tsxm\napplication/vnd.sun.xml.writer\t\t\tsxw\napplication/vnd.sun.xml.writer.global\t\tsxg\napplication/vnd.sun.xml.writer.template\t\tstw\napplication/vnd.sus-calendar\t\t\tsus susp\napplication/vnd.svd\t\t\t\tsvd\n# application/vnd.swiftview-ics\napplication/vnd.symbian.install\t\t\tsis sisx\napplication/vnd.syncml+xml\t\t\txsm\napplication/vnd.syncml.dm+wbxml\t\t\tbdm\napplication/vnd.syncml.dm+xml\t\t\txdm\n# application/vnd.syncml.dm.notification\n# application/vnd.syncml.dmddf+wbxml\n# application/vnd.syncml.dmddf+xml\n# application/vnd.syncml.dmtnds+wbxml\n# application/vnd.syncml.dmtnds+xml\n# application/vnd.syncml.ds.notification\napplication/vnd.tao.intent-module-archive\ttao\napplication/vnd.tcpdump.pcap\t\t\tpcap cap dmp\n# application/vnd.tmd.mediaflex.api+xml\n# application/vnd.tml\napplication/vnd.tmobile-livetv\t\t\ttmo\napplication/vnd.trid.tpt\t\t\ttpt\napplication/vnd.triscape.mxs\t\t\tmxs\napplication/vnd.trueapp\t\t\t\ttra\n# application/vnd.truedoc\n# application/vnd.ubisoft.webplayer\napplication/vnd.ufdl\t\t\t\tufd ufdl\napplication/vnd.uiq.theme\t\t\tutz\napplication/vnd.umajin\t\t\t\tumj\napplication/vnd.unity\t\t\t\tunityweb\napplication/vnd.uoml+xml\t\t\tuoml\n# application/vnd.uplanet.alert\n# application/vnd.uplanet.alert-wbxml\n# application/vnd.uplanet.bearer-choice\n# application/vnd.uplanet.bearer-choice-wbxml\n# application/vnd.uplanet.cacheop\n# application/vnd.uplanet.cacheop-wbxml\n# application/vnd.uplanet.channel\n# application/vnd.uplanet.channel-wbxml\n# application/vnd.uplanet.list\n# application/vnd.uplanet.list-wbxml\n# application/vnd.uplanet.listcmd\n# application/vnd.uplanet.listcmd-wbxml\n# application/vnd.uplanet.signal\n# application/vnd.uri-map\n# application/vnd.valve.source.material\napplication/vnd.vcx\t\t\t\tvcx\n# application/vnd.vd-study\n# application/vnd.vectorworks\n# application/vnd.vel+json\n# application/vnd.verimatrix.vcas\n# application/vnd.vidsoft.vidconference\napplication/vnd.visio\t\t\t\tvsd vst vss vsw\napplication/vnd.visionary\t\t\tvis\n# application/vnd.vividence.scriptfile\napplication/vnd.vsf\t\t\t\tvsf\n# application/vnd.wap.sic\n# application/vnd.wap.slc\napplication/vnd.wap.wbxml\t\t\twbxml\napplication/vnd.wap.wmlc\t\t\twmlc\napplication/vnd.wap.wmlscriptc\t\t\twmlsc\napplication/vnd.webturbo\t\t\twtb\n# application/vnd.wfa.p2p\n# application/vnd.wfa.wsc\n# application/vnd.windows.devicepairing\n# application/vnd.wmc\n# application/vnd.wmf.bootstrap\n# application/vnd.wolfram.mathematica\n# application/vnd.wolfram.mathematica.package\napplication/vnd.wolfram.player\t\t\tnbp\napplication/vnd.wordperfect\t\t\twpd\napplication/vnd.wqd\t\t\t\twqd\n# application/vnd.wrq-hp3000-labelled\napplication/vnd.wt.stf\t\t\t\tstf\n# application/vnd.wv.csp+wbxml\n# application/vnd.wv.csp+xml\n# application/vnd.wv.ssp+xml\n# application/vnd.xacml+json\napplication/vnd.xara\t\t\t\txar\napplication/vnd.xfdl\t\t\t\txfdl\n# application/vnd.xfdl.webform\n# application/vnd.xmi+xml\n# application/vnd.xmpie.cpkg\n# application/vnd.xmpie.dpkg\n# application/vnd.xmpie.plan\n# application/vnd.xmpie.ppkg\n# application/vnd.xmpie.xlim\napplication/vnd.yamaha.hv-dic\t\t\thvd\napplication/vnd.yamaha.hv-script\t\thvs\napplication/vnd.yamaha.hv-voice\t\t\thvp\napplication/vnd.yamaha.openscoreformat\t\t\tosf\napplication/vnd.yamaha.openscoreformat.osfpvg+xml\tosfpvg\n# application/vnd.yamaha.remote-setup\napplication/vnd.yamaha.smaf-audio\t\tsaf\napplication/vnd.yamaha.smaf-phrase\t\tspf\n# application/vnd.yamaha.through-ngn\n# application/vnd.yamaha.tunnel-udpencap\n# application/vnd.yaoweme\napplication/vnd.yellowriver-custom-menu\t\tcmp\napplication/vnd.zul\t\t\t\tzir zirz\napplication/vnd.zzazz.deck+xml\t\t\tzaz\napplication/voicexml+xml\t\t\tvxml\n# application/vq-rtcpxr\napplication/wasm\t\t\t\twasm\n# application/watcherinfo+xml\n# application/whoispp-query\n# application/whoispp-response\napplication/widget\t\t\t\twgt\napplication/winhlp\t\t\t\thlp\n# application/wita\n# application/wordperfect5.1\napplication/wsdl+xml\t\t\t\twsdl\napplication/wspolicy+xml\t\t\twspolicy\napplication/x-7z-compressed\t\t\t7z\napplication/x-abiword\t\t\t\tabw\napplication/x-ace-compressed\t\t\tace\n# application/x-amf\napplication/x-apple-diskimage\t\t\tdmg\napplication/x-authorware-bin\t\t\taab x32 u32 vox\napplication/x-authorware-map\t\t\taam\napplication/x-authorware-seg\t\t\taas\napplication/x-bcpio\t\t\t\tbcpio\napplication/x-bittorrent\t\t\ttorrent\napplication/x-blorb\t\t\t\tblb blorb\napplication/x-bzip\t\t\t\tbz\napplication/x-bzip2\t\t\t\tbz2 boz\napplication/x-cbr\t\t\t\tcbr cba cbt cbz cb7\napplication/x-cdlink\t\t\t\tvcd\napplication/x-cfs-compressed\t\t\tcfs\napplication/x-chat\t\t\t\tchat\napplication/x-chess-pgn\t\t\t\tpgn\n# application/x-compress\napplication/x-conference\t\t\tnsc\napplication/x-cpio\t\t\t\tcpio\napplication/x-csh\t\t\t\tcsh\napplication/x-debian-package\t\t\tdeb udeb\napplication/x-dgc-compressed\t\t\tdgc\napplication/x-director\t\t\tdir dcr dxr cst cct cxt w3d fgd swa\napplication/x-doom\t\t\t\twad\napplication/x-dtbncx+xml\t\t\tncx\napplication/x-dtbook+xml\t\t\tdtb\napplication/x-dtbresource+xml\t\t\tres\napplication/x-dvi\t\t\t\tdvi\napplication/x-envoy\t\t\t\tevy\napplication/x-eva\t\t\t\teva\napplication/x-font-bdf\t\t\t\tbdf\n# application/x-font-dos\n# application/x-font-framemaker\napplication/x-font-ghostscript\t\t\tgsf\n# application/x-font-libgrx\napplication/x-font-linux-psf\t\t\tpsf\napplication/x-font-pcf\t\t\t\tpcf\napplication/x-font-snf\t\t\t\tsnf\n# application/x-font-speedo\n# application/x-font-sunos-news\napplication/x-font-type1\t\t\tpfa pfb pfm afm\n# application/x-font-vfont\napplication/x-freearc\t\t\t\tarc\napplication/x-futuresplash\t\t\tspl\napplication/x-gca-compressed\t\t\tgca\napplication/x-glulx\t\t\t\tulx\napplication/x-gnumeric\t\t\t\tgnumeric\napplication/x-gramps-xml\t\t\tgramps\napplication/x-gtar\t\t\t\tgtar\n# application/x-gzip\napplication/x-hdf\t\t\t\thdf\napplication/x-install-instructions\t\tinstall\napplication/x-iso9660-image\t\t\tiso\napplication/x-java-jnlp-file\t\t\tjnlp\napplication/x-latex\t\t\t\tlatex\napplication/x-lzh-compressed\t\t\tlzh lha\napplication/x-mie\t\t\t\tmie\napplication/x-mobipocket-ebook\t\t\tprc mobi\napplication/x-ms-application\t\t\tapplication\napplication/x-ms-shortcut\t\t\tlnk\napplication/x-ms-wmd\t\t\t\twmd\napplication/x-ms-wmz\t\t\t\twmz\napplication/x-ms-xbap\t\t\t\txbap\napplication/x-msaccess\t\t\t\tmdb\napplication/x-msbinder\t\t\t\tobd\napplication/x-mscardfile\t\t\tcrd\napplication/x-msclip\t\t\t\tclp\napplication/x-msdownload\t\t\texe dll com bat msi\napplication/x-msmediaview\t\t\tmvb m13 m14\napplication/x-msmetafile\t\t\twmf wmz emf emz\napplication/x-msmoney\t\t\t\tmny\napplication/x-mspublisher\t\t\tpub\napplication/x-msschedule\t\t\tscd\napplication/x-msterminal\t\t\ttrm\napplication/x-mswrite\t\t\t\twri\napplication/x-netcdf\t\t\t\tnc cdf\napplication/x-nzb\t\t\t\tnzb\napplication/x-pkcs12\t\t\t\tp12 pfx\napplication/x-pkcs7-certificates\t\tp7b spc\napplication/x-pkcs7-certreqresp\t\t\tp7r\napplication/x-rar-compressed\t\t\trar\napplication/x-research-info-systems\t\tris\napplication/x-sh\t\t\t\tsh\napplication/x-shar\t\t\t\tshar\napplication/x-shockwave-flash\t\t\tswf\napplication/x-silverlight-app\t\t\txap\napplication/x-sql\t\t\t\tsql\napplication/x-stuffit\t\t\t\tsit\napplication/x-stuffitx\t\t\t\tsitx\napplication/x-subrip\t\t\t\tsrt\napplication/x-sv4cpio\t\t\t\tsv4cpio\napplication/x-sv4crc\t\t\t\tsv4crc\napplication/x-t3vm-image\t\t\tt3\napplication/x-tads\t\t\t\tgam\napplication/x-tar\t\t\t\ttar\napplication/x-tcl\t\t\t\ttcl\napplication/x-tex\t\t\t\ttex\napplication/x-tex-tfm\t\t\t\ttfm\napplication/x-texinfo\t\t\t\ttexinfo texi\napplication/x-tgif\t\t\t\tobj\napplication/x-ustar\t\t\t\tustar\napplication/x-wais-source\t\t\tsrc\n# application/x-www-form-urlencoded\napplication/x-x509-ca-cert\t\t\tder crt\napplication/x-xfig\t\t\t\tfig\napplication/x-xliff+xml\t\t\t\txlf\napplication/x-xpinstall\t\t\t\txpi\napplication/x-xz\t\t\t\txz\napplication/x-zmachine\t\t\t\tz1 z2 z3 z4 z5 z6 z7 z8\n# application/x400-bp\n# application/xacml+xml\napplication/xaml+xml\t\t\t\txaml\n# application/xcap-att+xml\n# application/xcap-caps+xml\napplication/xcap-diff+xml\t\t\txdf\n# application/xcap-el+xml\n# application/xcap-error+xml\n# application/xcap-ns+xml\n# application/xcon-conference-info+xml\n# application/xcon-conference-info-diff+xml\napplication/xenc+xml\t\t\t\txenc\napplication/xhtml+xml\t\t\t\txhtml xht\n# application/xhtml-voice+xml\napplication/xml\t\t\t\t\txml xsl\napplication/xml-dtd\t\t\t\tdtd\n# application/xml-external-parsed-entity\n# application/xml-patch+xml\n# application/xmpp+xml\napplication/xop+xml\t\t\t\txop\napplication/xproc+xml\t\t\t\txpl\napplication/xslt+xml\t\t\t\txslt\napplication/xspf+xml\t\t\t\txspf\napplication/xv+xml\t\t\t\tmxml xhvml xvml xvm\napplication/yang\t\t\t\tyang\napplication/yin+xml\t\t\t\tyin\napplication/zip\t\t\t\t\tzip\n# application/zlib\n# audio/1d-interleaved-parityfec\n# audio/32kadpcm\n# audio/3gpp\n# audio/3gpp2\n# audio/ac3\naudio/adpcm\t\t\t\t\tadp\n# audio/amr\n# audio/amr-wb\n# audio/amr-wb+\n# audio/aptx\n# audio/asc\n# audio/atrac-advanced-lossless\n# audio/atrac-x\n# audio/atrac3\naudio/basic\t\t\t\t\tau snd\n# audio/bv16\n# audio/bv32\n# audio/clearmode\n# audio/cn\n# audio/dat12\n# audio/dls\n# audio/dsr-es201108\n# audio/dsr-es202050\n# audio/dsr-es202211\n# audio/dsr-es202212\n# audio/dv\n# audio/dvi4\n# audio/eac3\n# audio/encaprtp\n# audio/evrc\n# audio/evrc-qcp\n# audio/evrc0\n# audio/evrc1\n# audio/evrcb\n# audio/evrcb0\n# audio/evrcb1\n# audio/evrcnw\n# audio/evrcnw0\n# audio/evrcnw1\n# audio/evrcwb\n# audio/evrcwb0\n# audio/evrcwb1\n# audio/evs\n# audio/example\n# audio/fwdred\n# audio/g711-0\n# audio/g719\n# audio/g722\n# audio/g7221\n# audio/g723\n# audio/g726-16\n# audio/g726-24\n# audio/g726-32\n# audio/g726-40\n# audio/g728\n# audio/g729\n# audio/g7291\n# audio/g729d\n# audio/g729e\n# audio/gsm\n# audio/gsm-efr\n# audio/gsm-hr-08\n# audio/ilbc\n# audio/ip-mr_v2.5\n# audio/isac\n# audio/l16\n# audio/l20\n# audio/l24\n# audio/l8\n# audio/lpc\naudio/midi\t\t\t\t\tmid midi kar rmi\n# audio/mobile-xmf\naudio/mp4\t\t\t\t\tm4a mp4a\n# audio/mp4a-latm\n# audio/mpa\n# audio/mpa-robust\naudio/mpeg\t\t\t\t\tmpga mp2 mp2a mp3 m2a m3a\n# audio/mpeg4-generic\n# audio/musepack\naudio/ogg\t\t\t\t\toga ogg spx opus\n# audio/opus\n# audio/parityfec\n# audio/pcma\n# audio/pcma-wb\n# audio/pcmu\n# audio/pcmu-wb\n# audio/prs.sid\n# audio/qcelp\n# audio/raptorfec\n# audio/red\n# audio/rtp-enc-aescm128\n# audio/rtp-midi\n# audio/rtploopback\n# audio/rtx\naudio/s3m\t\t\t\t\ts3m\naudio/silk\t\t\t\t\tsil\n# audio/smv\n# audio/smv-qcp\n# audio/smv0\n# audio/sp-midi\n# audio/speex\n# audio/t140c\n# audio/t38\n# audio/telephone-event\n# audio/tone\n# audio/uemclip\n# audio/ulpfec\n# audio/vdvi\n# audio/vmr-wb\n# audio/vnd.3gpp.iufp\n# audio/vnd.4sb\n# audio/vnd.audiokoz\n# audio/vnd.celp\n# audio/vnd.cisco.nse\n# audio/vnd.cmles.radio-events\n# audio/vnd.cns.anp1\n# audio/vnd.cns.inf1\naudio/vnd.dece.audio\t\t\t\tuva uvva\naudio/vnd.digital-winds\t\t\t\teol\n# audio/vnd.dlna.adts\n# audio/vnd.dolby.heaac.1\n# audio/vnd.dolby.heaac.2\n# audio/vnd.dolby.mlp\n# audio/vnd.dolby.mps\n# audio/vnd.dolby.pl2\n# audio/vnd.dolby.pl2x\n# audio/vnd.dolby.pl2z\n# audio/vnd.dolby.pulse.1\naudio/vnd.dra\t\t\t\t\tdra\naudio/vnd.dts\t\t\t\t\tdts\naudio/vnd.dts.hd\t\t\t\tdtshd\n# audio/vnd.dvb.file\n# audio/vnd.everad.plj\n# audio/vnd.hns.audio\naudio/vnd.lucent.voice\t\t\t\tlvp\naudio/vnd.ms-playready.media.pya\t\tpya\n# audio/vnd.nokia.mobile-xmf\n# audio/vnd.nortel.vbk\naudio/vnd.nuera.ecelp4800\t\t\tecelp4800\naudio/vnd.nuera.ecelp7470\t\t\tecelp7470\naudio/vnd.nuera.ecelp9600\t\t\tecelp9600\n# audio/vnd.octel.sbc\n# audio/vnd.qcelp\n# audio/vnd.rhetorex.32kadpcm\naudio/vnd.rip\t\t\t\t\trip\n# audio/vnd.sealedmedia.softseal.mpeg\n# audio/vnd.vmx.cvsd\n# audio/vorbis\n# audio/vorbis-config\naudio/webm\t\t\t\t\tweba\naudio/x-aac\t\t\t\t\taac\naudio/x-aiff\t\t\t\t\taif aiff aifc\naudio/x-caf\t\t\t\t\tcaf\naudio/x-flac\t\t\t\t\tflac\naudio/x-matroska\t\t\t\tmka\naudio/x-mpegurl\t\t\t\t\tm3u\naudio/x-ms-wax\t\t\t\t\twax\naudio/x-ms-wma\t\t\t\t\twma\naudio/x-pn-realaudio\t\t\t\tram ra\naudio/x-pn-realaudio-plugin\t\t\trmp\n# audio/x-tta\naudio/x-wav\t\t\t\t\twav\naudio/xm\t\t\t\t\txm\nchemical/x-cdx\t\t\t\t\tcdx\nchemical/x-cif\t\t\t\t\tcif\nchemical/x-cmdf\t\t\t\t\tcmdf\nchemical/x-cml\t\t\t\t\tcml\nchemical/x-csml\t\t\t\t\tcsml\n# chemical/x-pdb\nchemical/x-xyz\t\t\t\t\txyz\nfont/collection\t\t\t\t\tttc\nfont/otf\t\t\t\t\totf\n# font/sfnt\nfont/ttf\t\t\t\t\tttf\nfont/woff\t\t\t\t\twoff\nfont/woff2\t\t\t\t\twoff2\nimage/avif\t\t\t\t\tavif\nimage/bmp\t\t\t\t\tbmp\nimage/cgm\t\t\t\t\tcgm\n# image/dicom-rle\n# image/emf\n# image/example\n# image/fits\nimage/g3fax\t\t\t\t\tg3\nimage/gif\t\t\t\t\tgif\nimage/ief\t\t\t\t\tief\n# image/jls\n# image/jp2\nimage/jpeg\t\t\t\t\tjpeg jpg jpe\n# image/jpm\n# image/jpx\nimage/jxl\t\t\t\t\tjxl\nimage/ktx\t\t\t\t\tktx\n# image/naplps\nimage/png\t\t\t\t\tpng\nimage/prs.btif\t\t\t\t\tbtif\n# image/prs.pti\n# image/pwg-raster\nimage/sgi\t\t\t\t\tsgi\nimage/svg+xml\t\t\t\t\tsvg svgz\n# image/t38\nimage/tiff\t\t\t\t\ttiff tif\n# image/tiff-fx\nimage/vnd.adobe.photoshop\t\t\tpsd\n# image/vnd.airzip.accelerator.azv\n# image/vnd.cns.inf2\nimage/vnd.dece.graphic\t\t\t\tuvi uvvi uvg uvvg\nimage/vnd.djvu\t\t\t\t\tdjvu djv\nimage/vnd.dvb.subtitle\t\t\t\tsub\nimage/vnd.dwg\t\t\t\t\tdwg\nimage/vnd.dxf\t\t\t\t\tdxf\nimage/vnd.fastbidsheet\t\t\t\tfbs\nimage/vnd.fpx\t\t\t\t\tfpx\nimage/vnd.fst\t\t\t\t\tfst\nimage/vnd.fujixerox.edmics-mmr\t\t\tmmr\nimage/vnd.fujixerox.edmics-rlc\t\t\trlc\n# image/vnd.globalgraphics.pgb\n# image/vnd.microsoft.icon\n# image/vnd.mix\n# image/vnd.mozilla.apng\nimage/vnd.ms-modi\t\t\t\tmdi\nimage/vnd.ms-photo\t\t\t\twdp\nimage/vnd.net-fpx\t\t\t\tnpx\n# image/vnd.radiance\n# image/vnd.sealed.png\n# image/vnd.sealedmedia.softseal.gif\n# image/vnd.sealedmedia.softseal.jpg\n# image/vnd.svf\n# image/vnd.tencent.tap\n# image/vnd.valve.source.texture\nimage/vnd.wap.wbmp\t\t\t\twbmp\nimage/vnd.xiff\t\t\t\t\txif\n# image/vnd.zbrush.pcx\nimage/webp\t\t\t\t\twebp\n# image/wmf\nimage/x-3ds\t\t\t\t\t3ds\nimage/x-cmu-raster\t\t\t\tras\nimage/x-cmx\t\t\t\t\tcmx\nimage/x-freehand\t\t\t\tfh fhc fh4 fh5 fh7\nimage/x-icon\t\t\t\t\tico\nimage/x-mrsid-image\t\t\t\tsid\nimage/x-pcx\t\t\t\t\tpcx\nimage/x-pict\t\t\t\t\tpic pct\nimage/x-portable-anymap\t\t\t\tpnm\nimage/x-portable-bitmap\t\t\t\tpbm\nimage/x-portable-graymap\t\t\tpgm\nimage/x-portable-pixmap\t\t\t\tppm\nimage/x-rgb\t\t\t\t\trgb\nimage/x-tga\t\t\t\t\ttga\nimage/x-xbitmap\t\t\t\t\txbm\nimage/x-xpixmap\t\t\t\t\txpm\nimage/x-xwindowdump\t\t\t\txwd\n# message/cpim\n# message/delivery-status\n# message/disposition-notification\n# message/example\n# message/external-body\n# message/feedback-report\n# message/global\n# message/global-delivery-status\n# message/global-disposition-notification\n# message/global-headers\n# message/http\n# message/imdn+xml\n# message/news\n# message/partial\nmessage/rfc822\t\t\t\t\teml mime\n# message/s-http\n# message/sip\n# message/sipfrag\n# message/tracking-status\n# message/vnd.si.simp\n# message/vnd.wfa.wsc\n# model/example\n# model/gltf+json\nmodel/iges\t\t\t\t\tigs iges\nmodel/mesh\t\t\t\t\tmsh mesh silo\nmodel/vnd.collada+xml\t\t\t\tdae\nmodel/vnd.dwf\t\t\t\t\tdwf\n# model/vnd.flatland.3dml\nmodel/vnd.gdl\t\t\t\t\tgdl\n# model/vnd.gs-gdl\n# model/vnd.gs.gdl\nmodel/vnd.gtw\t\t\t\t\tgtw\n# model/vnd.moml+xml\n# model/vnd.mts\n# model/vnd.opengex\n# model/vnd.parasolid.transmit.binary\n# model/vnd.parasolid.transmit.text\n# model/vnd.rosette.annotated-data-model\n# model/vnd.valve.source.compiled-map\nmodel/vnd.vtu\t\t\t\t\tvtu\nmodel/vrml\t\t\t\t\twrl vrml\nmodel/x3d+binary\t\t\t\tx3db x3dbz\n# model/x3d+fastinfoset\nmodel/x3d+vrml\t\t\t\t\tx3dv x3dvz\nmodel/x3d+xml\t\t\t\t\tx3d x3dz\n# model/x3d-vrml\n# multipart/alternative\n# multipart/appledouble\n# multipart/byteranges\n# multipart/digest\n# multipart/encrypted\n# multipart/example\n# multipart/form-data\n# multipart/header-set\n# multipart/mixed\n# multipart/parallel\n# multipart/related\n# multipart/report\n# multipart/signed\n# multipart/voice-message\n# multipart/x-mixed-replace\n# text/1d-interleaved-parityfec\ntext/cache-manifest\t\t\t\tappcache\ntext/calendar\t\t\t\t\tics ifb\ntext/css\t\t\t\t\tcss\ntext/csv\t\t\t\t\tcsv\n# text/csv-schema\n# text/directory\n# text/dns\n# text/ecmascript\n# text/encaprtp\n# text/enriched\n# text/example\n# text/fwdred\n# text/grammar-ref-list\ntext/html\t\t\t\t\thtml htm\ntext/javascript\t\t\t\t\tjs mjs\n# text/jcr-cnd\n# text/markdown\n# text/mizar\ntext/n3\t\t\t\t\t\tn3\n# text/parameters\n# text/parityfec\ntext/plain\t\t\t\t\ttxt text conf def list log in\n# text/provenance-notation\n# text/prs.fallenstein.rst\ntext/prs.lines.tag\t\t\t\tdsc\n# text/prs.prop.logic\n# text/raptorfec\n# text/red\n# text/rfc822-headers\ntext/richtext\t\t\t\t\trtx\n# text/rtf\n# text/rtp-enc-aescm128\n# text/rtploopback\n# text/rtx\ntext/sgml\t\t\t\t\tsgml sgm\n# text/t140\ntext/tab-separated-values\t\t\ttsv\ntext/troff\t\t\t\t\tt tr roff man me ms\ntext/turtle\t\t\t\t\tttl\n# text/ulpfec\ntext/uri-list\t\t\t\t\turi uris urls\ntext/vcard\t\t\t\t\tvcard\n# text/vnd.a\n# text/vnd.abc\ntext/vnd.curl\t\t\t\t\tcurl\ntext/vnd.curl.dcurl\t\t\t\tdcurl\ntext/vnd.curl.mcurl\t\t\t\tmcurl\ntext/vnd.curl.scurl\t\t\t\tscurl\n# text/vnd.debian.copyright\n# text/vnd.dmclientscript\ntext/vnd.dvb.subtitle\t\t\t\tsub\n# text/vnd.esmertec.theme-descriptor\ntext/vnd.fly\t\t\t\t\tfly\ntext/vnd.fmi.flexstor\t\t\t\tflx\ntext/vnd.graphviz\t\t\t\tgv\ntext/vnd.in3d.3dml\t\t\t\t3dml\ntext/vnd.in3d.spot\t\t\t\tspot\n# text/vnd.iptc.newsml\n# text/vnd.iptc.nitf\n# text/vnd.latex-z\n# text/vnd.motorola.reflex\n# text/vnd.ms-mediapackage\n# text/vnd.net2phone.commcenter.command\n# text/vnd.radisys.msml-basic-layout\n# text/vnd.si.uricatalogue\ntext/vnd.sun.j2me.app-descriptor\t\tjad\n# text/vnd.trolltech.linguist\n# text/vnd.wap.si\n# text/vnd.wap.sl\ntext/vnd.wap.wml\t\t\t\twml\ntext/vnd.wap.wmlscript\t\t\t\twmls\ntext/x-asm\t\t\t\t\ts asm\ntext/x-c\t\t\t\t\tc cc cxx cpp h hh dic\ntext/x-fortran\t\t\t\t\tf for f77 f90\ntext/x-java-source\t\t\t\tjava\ntext/x-nfo\t\t\t\t\tnfo\ntext/x-opml\t\t\t\t\topml\ntext/x-pascal\t\t\t\t\tp pas\ntext/x-setext\t\t\t\t\tetx\ntext/x-sfv\t\t\t\t\tsfv\ntext/x-uuencode\t\t\t\t\tuu\ntext/x-vcalendar\t\t\t\tvcs\ntext/x-vcard\t\t\t\t\tvcf\n# text/xml\n# text/xml-external-parsed-entity\n# video/1d-interleaved-parityfec\nvideo/3gpp\t\t\t\t\t3gp\n# video/3gpp-tt\nvideo/3gpp2\t\t\t\t\t3g2\n# video/bmpeg\n# video/bt656\n# video/celb\n# video/dv\n# video/encaprtp\n# video/example\nvideo/h261\t\t\t\t\th261\nvideo/h263\t\t\t\t\th263\n# video/h263-1998\n# video/h263-2000\nvideo/h264\t\t\t\t\th264\n# video/h264-rcdo\n# video/h264-svc\n# video/h265\n# video/iso.segment\nvideo/jpeg\t\t\t\t\tjpgv\n# video/jpeg2000\nvideo/jpm\t\t\t\t\tjpm jpgm\nvideo/mj2\t\t\t\t\tmj2 mjp2\n# video/mp1s\n# video/mp2p\nvideo/mp2t\t\t\t\t\tts m2t m2ts mts\nvideo/mp4\t\t\t\t\tmp4 mp4v mpg4\n# video/mp4v-es\nvideo/mpeg\t\t\t\t\tmpeg mpg mpe m1v m2v\n# video/mpeg4-generic\n# video/mpv\n# video/nv\nvideo/ogg\t\t\t\t\togv\n# video/parityfec\n# video/pointer\nvideo/quicktime\t\t\t\t\tqt mov\n# video/raptorfec\n# video/raw\n# video/rtp-enc-aescm128\n# video/rtploopback\n# video/rtx\n# video/smpte292m\n# video/ulpfec\n# video/vc1\n# video/vnd.cctv\nvideo/vnd.dece.hd\t\t\t\tuvh uvvh\nvideo/vnd.dece.mobile\t\t\t\tuvm uvvm\n# video/vnd.dece.mp4\nvideo/vnd.dece.pd\t\t\t\tuvp uvvp\nvideo/vnd.dece.sd\t\t\t\tuvs uvvs\nvideo/vnd.dece.video\t\t\t\tuvv uvvv\n# video/vnd.directv.mpeg\n# video/vnd.directv.mpeg-tts\n# video/vnd.dlna.mpeg-tts\nvideo/vnd.dvb.file\t\t\t\tdvb\nvideo/vnd.fvt\t\t\t\t\tfvt\n# video/vnd.hns.video\n# video/vnd.iptvforum.1dparityfec-1010\n# video/vnd.iptvforum.1dparityfec-2005\n# video/vnd.iptvforum.2dparityfec-1010\n# video/vnd.iptvforum.2dparityfec-2005\n# video/vnd.iptvforum.ttsavc\n# video/vnd.iptvforum.ttsmpeg2\n# video/vnd.motorola.video\n# video/vnd.motorola.videop\nvideo/vnd.mpegurl\t\t\t\tmxu m4u\nvideo/vnd.ms-playready.media.pyv\t\tpyv\n# video/vnd.nokia.interleaved-multimedia\n# video/vnd.nokia.videovoip\n# video/vnd.objectvideo\n# video/vnd.radgamettools.bink\n# video/vnd.radgamettools.smacker\n# video/vnd.sealed.mpeg1\n# video/vnd.sealed.mpeg4\n# video/vnd.sealed.swf\n# video/vnd.sealedmedia.softseal.mov\nvideo/vnd.uvvu.mp4\t\t\t\tuvu uvvu\nvideo/vnd.vivo\t\t\t\t\tviv\n# video/vp8\nvideo/webm\t\t\t\t\twebm\nvideo/x-f4v\t\t\t\t\tf4v\nvideo/x-fli\t\t\t\t\tfli\nvideo/x-flv\t\t\t\t\tflv\nvideo/x-m4v\t\t\t\t\tm4v\nvideo/x-matroska\t\t\t\tmkv mk3d mks\nvideo/x-mng\t\t\t\t\tmng\nvideo/x-ms-asf\t\t\t\t\tasf asx\nvideo/x-ms-vob\t\t\t\t\tvob\nvideo/x-ms-wm\t\t\t\t\twm\nvideo/x-ms-wmv\t\t\t\t\twmv\nvideo/x-ms-wmx\t\t\t\t\twmx\nvideo/x-ms-wvx\t\t\t\t\twvx\nvideo/x-msvideo\t\t\t\t\tavi\nvideo/x-sgi-movie\t\t\t\tmovie\nvideo/x-smv\t\t\t\t\tsmv\nx-conference/x-cooltalk\t\t\t\tice\n"
  },
  {
    "path": "core/.gitattributes",
    "content": "* linguist-language=GO\n*.txt linguist-language=Markdown\n*.md linguist-language=Markdown\n*.json linguist-language=JSON\n*.yml linguist-language=YAML\n*.yaml linguist-language=YAML\n*.xml linguist-language=XML\n*.html linguist-language=HTML\n*.css linguist-language=CSS\n*.js linguist-language=JavaScript\n*.sh linguist-language=Shell\n*.Dockerfile linguist-language=Dockerfile\nREADME linguist-language=Markdown\nLICENSE linguist-language=Markdown\nLICENSE.txt linguist-language=Markdown\nCONTRIBUTING.md linguist-language=Markdown\nCHANGELOG.md linguist-language=Markdown\nCODE_OF_CONDUCT.md linguist-language=Markdown\n.gitignore linguist-language=GitIgnore\n"
  },
  {
    "path": "core/.gitignore",
    "content": ".buildpath\n.hgignore.swp\n.project\n.orig\n.swp\n.idea/\n.settings/\n.vscode/\nbin/\n**/.DS_Store\ngf\nmain\nmain.exe\noutput/\nmanifest/output/\ntemp/\ntemp.yaml\nbin\n**/config/config.yaml\ndata/\n/test.go\n"
  },
  {
    "path": "core/Makefile",
    "content": "ROOT_DIR    = $(shell pwd)\nNAMESPACE   = \"default\"\nDEPLOY_NAME = \"template-single\"\nDOCKER_NAME = \"template-single\"\n\ninclude ./hack/hack-cli.mk\ninclude ./hack/hack.mk"
  },
  {
    "path": "core/README.MD",
    "content": "# GoFrame Template For SingleRepo\n\nQuick Start: \n- https://goframe.org/quick"
  },
  {
    "path": "core/api/abnormal_recipient/abnormal_recipient.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage abnormal_recipient\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n)\n\ntype IAbnormalRecipientV1 interface {\n\tListAbnormalRecipient(ctx context.Context, req *v1.ListAbnormalRecipientReq) (res *v1.ListAbnormalRecipientRes, err error)\n\tAddAbnormalRecipient(ctx context.Context, req *v1.AddAbnormalRecipientReq) (res *v1.AddAbnormalRecipientRes, err error)\n\tDeleteAbnormalRecipient(ctx context.Context, req *v1.DeleteAbnormalRecipientReq) (res *v1.DeleteAbnormalRecipientRes, err error)\n\tCheckGroup(ctx context.Context, req *v1.CheckGroupReq) (res *v1.CheckGroupRes, err error)\n\tAbnormalSwitch(ctx context.Context, req *v1.AbnormalSwitchReq) (res *v1.AbnormalSwitchRes, err error)\n\tSetAbnormalSwitch(ctx context.Context, req *v1.SetAbnormalSwitchReq) (res *v1.SetAbnormalSwitchRes, err error)\n\tClearabnormalRecipient(ctx context.Context, req *v1.ClearabnormalRecipientReq) (res *v1.ClearabnormalRecipientRes, err error)\n\tGetScanLog(ctx context.Context, req *v1.GetScanLogReq) (res *v1.GetScanLogRes, err error)\n}\n"
  },
  {
    "path": "core/api/abnormal_recipient/v1/abnormal_recipient.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype AbnormalRecipient struct {\n\tId          int    `json:\"id\"          dc:\"Group ID\"`\n\tRecipient   string `json:\"recipient\"   dc:\"Recipient Email\"`\n\tCreateTime  int    `json:\"create_time\" dc:\"Create Time\"`\n\tDescription string `json:\"description\" dc:\"Description\"`\n\tCount       int    `json:\"count\"       dc:\"Count\"`\n\tAddType     int    `json:\"add_type\"    dc:\"Add Type\"`\n\t// AddType:Description     1: Manually added, 2: Automatically scanned, 3: Manually scanned\n}\n\ntype ListAbnormalRecipientReq struct {\n\tg.Meta        `path:\"/abnormal_recipient/list\" method:\"get\" tags:\"Abnormal Recipient\" summary:\"List abnormal recipients\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPage          int    `json:\"page\" v:\"required|min:1\" dc:\"Page Number\"`\n\tPageSize      int    `json:\"page_size\" v:\"required|min:1\" dc:\"Page Size\"`\n\tKeyword       string `json:\"keyword\" dc:\"Search Keyword\"`\n\tAddType       int    `json:\"add_type\" dc:\"Add Type\"`\n}\n\ntype ListAbnormalRecipientRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int                  `json:\"total\" dc:\"Total Count\"`\n\t\tList  []*AbnormalRecipient `json:\"list\" dc:\"Abnormal Recipient List\"`\n\t} `json:\"data\"`\n}\n\ntype AddAbnormalRecipientReq struct {\n\tg.Meta        `path:\"/abnormal_recipient/add\" method:\"post\" tags:\"Abnormal Recipient\" summary:\"Add abnormal recipient\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tRecipient     string `json:\"recipient\" v:\"required|email\" dc:\"Recipient Email\"`\n}\n\ntype AddAbnormalRecipientRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteAbnormalRecipientReq struct {\n\tg.Meta        `path:\"/abnormal_recipient/delete\" method:\"post\" tags:\"Abnormal Recipient\" summary:\"Delete abnormal recipient\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required|min:1\" dc:\"ID\"`\n}\n\ntype DeleteAbnormalRecipientRes struct {\n\tapi_v1.StandardRes\n}\n\ntype CheckGroupReq struct {\n\tg.Meta        `path:\"/abnormal_recipient/check_group\" method:\"post\" tags:\"Abnormal Recipient\" summary:\"Check group emails and handle abnormal\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" v:\"required|min:1\" dc:\"Contact Group ID\"`\n\tOper          int    `json:\"oper\" v:\"required|in:1,2,3\" dc:\"Operation type (1: only check, 2: add to exception table, 3: delete within group)\"`\n}\n\ntype CheckGroupRes struct {\n\tapi_v1.StandardRes\n}\n\ntype AbnormalSwitchReq struct {\n\tg.Meta        `path:\"/abnormal_recipient/check_switch\" method:\"get\" tags:\"Abnormal Recipient\" summary:\"Abnormal Switch\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype AbnormalSwitchRes struct {\n\tapi_v1.StandardRes\n}\n\ntype SetAbnormalSwitchReq struct {\n\tg.Meta        `path:\"/abnormal_recipient/set_check_switch\" method:\"post\" tags:\"Abnormal Recipient\" summary:\"Set Check Abnormal Switch\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tOper          int    `json:\"oper\" v:\"required|in:0,1\" dc:\"Operation type (1 for on, 0 for off)\"`\n}\n\ntype SetAbnormalSwitchRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ClearabnormalRecipientReq struct {\n\tg.Meta        `path:\"/abnormal_recipient/clear_abnormal\" method:\"post\" tags:\"Abnormal Recipient\" summary:\"Check group emails and handle abnormal\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype ClearabnormalRecipientRes struct {\n\tapi_v1.StandardRes\n}\n\ntype GetScanLogReq struct {\n\tg.Meta        `path:\"/abnormal_recipient/get_scan_log\" method:\"post\" tags:\"Abnormal Recipient\" summary:\"Get Scan Log\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype GetScanLogRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/askai/askai.go",
    "content": "package askai\n\nimport (\n\tv1 \"billionmail-core/api/askai/v1\"\n\t\"billionmail-core/utility/types/api_v1\"\n)\n\ntype IAskAiV1 interface {\n\t// Supplier related methods\n\tList(req *v1.ListReq) (res *v1.ListRes, err error)\n\tModels(req *v1.ModelsReq) (res *v1.ModelsRes, err error)\n\tAddModel(req *v1.AddModelReq) (res *v1.AddModelRes, err error)\n\tRemoveModel(req *v1.RemoveModelReq) (res *v1.RemoveModelRes, err error)\n\tSetSupplierConfig(req *v1.SetSupplierConfigReq) (res *api_v1.StandardRes, err error)\n\tTesting(req *v1.TestingReq) (res *v1.TestingRes, err error)\n\tGetSupplierConfig(req *v1.GetSupplierConfigReq) (res *v1.GetSupplierConfigRes, err error)\n\tSetSupplierStatus(req *v1.SetSupplierStatusReq) (res *api_v1.StandardRes, err error)\n\tSetModelStatus(req *v1.SetModelStatusReq) (res *api_v1.StandardRes, err error)\n\tAddSupplier(req *v1.AddSupplierReq) (res *v1.AddSupplierRes, err error)\n\tRemoveSupplier(req *v1.RemoveSupplierReq) (res *v1.RemoveSupplierRes, err error)\n\tSetModelTitle(req *v1.SetModelTitleReq) (res *v1.SetModelTitleRes, err error)\n\tSetModelCapability(req *v1.SetModelCapabilityReq) (res *v1.SetModelCapabilityRes, err error)\n\tModifyModel(req *v1.ModifyModelReq) (res *v1.ModifyModelRes, err error)\n\tStatus(req *v1.StatusReq) (res *v1.StatusRes, err error)\n\n\t// Project related methods\n\tCreate(req *v1.CreateReq) (res *v1.CreateRes, err error)\n\tGetBaseInfo(req *v1.GetBaseInfoReq) (res *v1.GetBaseInfoRes, err error)\n\tModifyBaseInfo(req *v1.ModifyBaseInfoReq) (res *v1.ModifyBaseInfoRes, err error)\n\tModifyKnowledgeBaseFile(req *v1.ModifyKnowledgeBaseFileReq) (res *v1.ModifyKnowledgeBaseFileRes, err error)\n\tCreateKnowledgeBaseFile(req *v1.CreateKnowledgeBaseFileReq) (res *v1.CreateKnowledgeBaseFileRes, err error)\n\tRemoveKnowledgeBaseFile(req *v1.RemoveKnowledgeBaseFileReq) (res *v1.RemoveKnowledgeBaseFileRes, err error)\n\tGetCompanyProfile(req *v1.GetCompanyProfileReq) (res *v1.GetCompanyProfileRes, err error)\n\tModifyCompanyProfile(req *v1.ModifyCompanyProfileReq) (res *v1.ModifyCompanyProfileRes, err error)\n\tGetStyleConfig(req *v1.GetStyleConfigReq) (res *v1.GetStyleConfigRes, err error)\n\tModifyStyleConfig(req *v1.ModifyStyleConfigReq) (res *v1.ModifyStyleConfigRes, err error)\n\tGetSitemap(req *v1.GetSitemapReq) (res *v1.GetSitemapRes, err error)\n\tRemoveSitemapNode(req *v1.RemoveSitemapNodeReq) (res *v1.RemoveSitemapNodeRes, err error)\n\tAddSitemapNode(req *v1.AddSitemapNodeReq) (res *v1.AddSitemapNodeRes, err error)\n\tGetFooter(req *v1.GetFooterReq) (res *v1.GetFooterRes, err error)\n\tModifyFooter(req *v1.ModifyFooterReq) (res *v1.ModifyFooterRes, err error)\n\tGetPrompt(req *v1.GetPromptReq) (res *v1.GetPromptRes, err error)\n\tModifyPrompt(req *v1.ModifyPromptReq) (res *v1.ModifyPromptRes, err error)\n\tUploadImage(req *v1.UploadImageReq) (res *v1.UploadImageRes, err error)\n\tRemoveImage(req *v1.RemoveImageReq) (res *v1.RemoveImageRes, err error)\n\tModifyImage(req *v1.ModifyImageReq) (res *v1.ModifyImageRes, err error)\n\tGetImages(req *v1.GetImagesReq) (res *v1.GetImagesRes, err error)\n\tGetProjectStatus(req *v1.GetProjectStatusReq) (res *v1.GetProjectStatusRes, err error)\n\tSetProjectStatus(req *v1.SetProjectStatusReq) (res *v1.SetProjectStatusRes, err error)\n\n\t// Chat related methods\n\tCreateChat(req *v1.CreateChatReq) (res *v1.CreateChatRes, err error)\n\tGetChatList(req *v1.GetChatListReq) (res *v1.GetChatListRes, err error)\n\tInfo(req *v1.InfoReq) (res *v1.InfoRes, err error)\n\tChat(req *v1.ChatReq) (res *v1.ChatRes, err error)\n\tStop(req *v1.StopReq) (res *v1.StopRes, err error)\n\tGetHtml(req *v1.GetHtmlReq) (res *v1.GetHtmlRes, err error)\n\tModifyHtml(req *v1.ModifyHtmlReq) (res *v1.ModifyHtmlRes, err error)\n\tRemoveChat(req *v1.RemoveChatReq) (res *v1.RemoveChatRes, err error)\n\tCopyChat(req *v1.CopyChatReq) (res *v1.CopyChatRes, err error)\n}\n"
  },
  {
    "path": "core/api/askai/v1/chat.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype CreateChatReq struct {\n\tg.Meta        `path:\"/askai/chat/create_chat\" method:\"post\" tags:\"AskAi\" summary:\"create chat\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tAddType       int    `json:\"add_type\" dc:\"add type\" v:\"required#add type is required\"`              // 1: add chat, 2: add knowledge base file\n\tTempName      string `json:\"temp_name\" dc:\"temporary name\" v:\"required#temporary name is required\"` // Temporary name for the chat or knowledge base file\n}\n\ntype CreateChatRes struct {\n\tapi_v1.StandardRes\n}\n\ntype GetChatListReq struct {\n\tg.Meta        `path:\"/askai/chat/get_chat_list\" method:\"post\" tags:\"AskAi\" summary:\"get chat list\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype GetChatListRes struct {\n\tapi_v1.StandardRes\n}\n\n// InfoReq is the request structure for retrieving chat information in AskAi.\ntype InfoReq struct {\n\tg.Meta        `path:\"/askai/chat/info\" method:\"post\" tags:\"AskAi\" summary:\"get chat info\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tChatId        string `json:\"chatId\" dc:\"chat id\" v:\"required#chat id is required\"`\n}\n\ntype InfoRes struct {\n\tapi_v1.StandardRes\n}\n\n// ChatReq is the request structure for sending a chat message in AskAi.\ntype ChatReq struct {\n\tg.Meta        `path:\"/askai/chat/chat\" method:\"post,get\" tags:\"AskAi\" summary:\"send chat message\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tChatId        string `json:\"chatId\" dc:\"chat id\" v:\"required#chat id is required\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tModelId       string `json:\"model_id\" dc:\"model id\" v:\"required#model id is required\"`\n\tContent       string `json:\"content\" dc:\"content\" v:\"required#content is required\"`\n\tIsText        bool   `json:\"is_text\" dc:\"is text\"` // true: text, false: json\n}\ntype ChatRes struct {\n\tapi_v1.StandardRes\n}\n\ntype RemoveChatReq struct {\n\tg.Meta        `path:\"/askai/chat/remove_chat\" method:\"post\" tags:\"AskAi\" summary:\"remove chat\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tChatId        string `json:\"chatId\" dc:\"chat id\" v:\"required#chat id is required\"`\n}\ntype RemoveChatRes struct {\n\tapi_v1.StandardRes\n}\n\n// StopReq is the request structure for stopping a chat in AskAi.\ntype StopReq struct {\n\tg.Meta        `path:\"/askai/chat/stop\" method:\"post\" tags:\"AskAi\" summary:\"stop chat\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tChatId        string `json:\"chatId\" dc:\"chat id\" v:\"required#chat id is required\"`\n}\ntype StopRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetHtmlReq is the request structure for retrieving HTML content in AskAi.\ntype GetHtmlReq struct {\n\tg.Meta        `path:\"/askai/chat/get_html\" method:\"post\" tags:\"AskAi\" summary:\"get html content\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tChatId        string `json:\"chatId\" dc:\"chat id\" v:\"required#chat id is required\"`\n}\ntype GetHtmlRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyHtmlReq is the request structure for modifying HTML content in AskAi.\ntype ModifyHtmlReq struct {\n\tg.Meta        `path:\"/askai/chat/modify_html\" method:\"post\" tags:\"AskAi\" summary:\"modify html content\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tChatId        string `json:\"chatId\" dc:\"chat id\" v:\"required#chat id is required\"`\n\tContent       string `json:\"content\" dc:\"content\" v:\"required#content is required\"`\n}\ntype ModifyHtmlRes struct {\n\tapi_v1.StandardRes\n}\n\n// CopyChatReq is the request structure for copying a chat in AskAi.\ntype CopyChatReq struct {\n\tg.Meta        `path:\"/askai/chat/copy_chat\" method:\"post\" tags:\"AskAi\" summary:\"copy chat\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tChatId        string `json:\"chatId\" dc:\"chat id\" v:\"required#chat id is required\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\n\ntype CopyChatRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/askai/v1/project.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// CreateReq is the request structure for creating a new project configuration in AskAi.\ntype CreateReq struct {\n\tg.Meta        `path:\"/askai/project/create\" method:\"post\" tags:\"AskAi\" summary:\"create project config\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string   `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tUrls          []string `json:\"urls\" dc:\"urls\"`\n}\ntype CreateRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetBaseInfoReq is the request structure for retrieving the base information of a project in AskAi.\ntype GetBaseInfoReq struct {\n\tg.Meta        `path:\"/askai/project/get_base_info\" method:\"post\" tags:\"AskAi\" summary:\"get project base info\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\ntype GetBaseInfoRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyBaseInfoReq is the request structure for modifying the base information of a project in AskAi.\ntype ModifyBaseInfoReq struct {\n\tg.Meta        `path:\"/askai/project/modify_base_info\" method:\"post\" tags:\"AskAi\" summary:\"modify project base info\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string   `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tProjectName   string   `json:\"project_name\" dc:\"project name\" v:\"required#project name is required\"`\n\tDescription   string   `json:\"description\" dc:\"project description\"`\n\tIndustry      string   `json:\"industry\" dc:\"project industry\"`\n\tPrimaryLogo   string   `json:\"primary_logo\" dc:\"primary logo\"`\n\tSecondaryLogo string   `json:\"secondary_logo\" dc:\"secondary logo\"`\n\tFavicon       string   `json:\"favicon\" dc:\"favicon\"`\n\tUrls          []string `json:\"urls\" dc:\"urls\"`\n}\ntype ModifyBaseInfoRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyKnowledgeBaseFileReq is the request structure for modifying a knowledge base file in AskAi.\ntype ModifyKnowledgeBaseFileReq struct {\n\tg.Meta        `path:\"/askai/project/modify_knowledge_base_file\" method:\"post\" tags:\"AskAi\" summary:\"modify knowledge base file\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tKid           string `json:\"kid\" dc:\"knowledge base file id\" v:\"required#knowledge base file id is required\"`\n\tTitle         string `json:\"title\" dc:\"title\" v:\"required#title is required\"`\n\tContent       string `json:\"content\" dc:\"content\" v:\"required#content is required\"`\n}\ntype ModifyKnowledgeBaseFileRes struct {\n\tapi_v1.StandardRes\n}\n\n// CreateKnowledgeBaseFileReq is the request structure for creating a new knowledge base file in AskAi.\ntype CreateKnowledgeBaseFileReq struct {\n\tg.Meta        `path:\"/askai/project/create_knowledge_base_file\" method:\"post\" tags:\"AskAi\" summary:\"create knowledge base file\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tTitle         string `json:\"title\" dc:\"title\" v:\"required#title is required\"`\n\tContent       string `json:\"content\" dc:\"content\" v:\"required#content is required\"`\n}\ntype CreateKnowledgeBaseFileRes struct {\n\tapi_v1.StandardRes\n}\n\n// RemoveKnowledgeBaseFileReq is the request structure for removing a knowledge base file in AskAi.\ntype RemoveKnowledgeBaseFileReq struct {\n\tg.Meta        `path:\"/askai/project/remove_knowledge_base_file\" method:\"post\" tags:\"AskAi\" summary:\"remove knowledge base file\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tKid           string `json:\"kid\" dc:\"knowledge base file id\" v:\"required#knowledge base file id is required\"`\n}\ntype RemoveKnowledgeBaseFileRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetCompanyProfileReq is the request structure for retrieving the company profile in AskAi.\ntype GetCompanyProfileReq struct {\n\tg.Meta        `path:\"/askai/project/get_company_profile\" method:\"post\" tags:\"AskAi\" summary:\"get company profile\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\ntype GetCompanyProfileRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyCompanyProfileReq is the request structure for modifying the company profile in AskAi.\ntype ModifyCompanyProfileReq struct {\n\tg.Meta           `path:\"/askai/project/modify_company_profile\" method:\"post\" tags:\"AskAi\" summary:\"modify company profile\"`\n\tAuthorization    string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain           string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tLegalCompanyName string `json:\"legal_company_name\" dc:\"legal company name\"`\n\tWebsite          string `json:\"website\" dc:\"website\"`\n\tCompanyProfile   string `json:\"company_profile\" dc:\"company profile\"`\n\tEmail            string `json:\"email\" dc:\"email\"`\n\tPhone            string `json:\"phone\" dc:\"phone\"`\n\tSupportUrl       string `json:\"support_url\" dc:\"support url\"`\n}\n\ntype ModifyCompanyProfileRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetStyleConfigReq is the request structure for retrieving the style configuration of a project in AskAi.\ntype GetStyleConfigReq struct {\n\tg.Meta        `path:\"/askai/project/get_style_config\" method:\"post\" tags:\"AskAi\" summary:\"get style config\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\n\ntype GetStyleConfigRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyStyleConfigReq is the request structure for modifying the style configuration of a project in AskAi.\ntype ModifyStyleConfigReq struct {\n\tg.Meta              `path:\"/askai/project/modify_style_config\" method:\"post\" tags:\"AskAi\" summary:\"modify style config\"`\n\tAuthorization       string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain              string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tAccentColor         string `json:\"accent_color\" dc:\"accent color\"`\n\tTextColor           string `json:\"text_color\" dc:\"text color\"`\n\tPageBackground      string `json:\"page_background\" dc:\"page background\"`\n\tContainerBackground string `json:\"container_background\" dc:\"container background\"`\n\tLinkSocialColor     string `json:\"link_social_color\" dc:\"link social color\"`\n\tLinkFooterColor     string `json:\"link_footer_color\" dc:\"link footer color\"`\n\tHeadingFont         string `json:\"heading_font\" dc:\"heading font\"`\n\tBodyFont            string `json:\"body_font\" dc:\"body font\"`\n}\ntype ModifyStyleConfigRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetSitemapReq is the request structure for retrieving the sitemap of a project in AskAi.\ntype GetSitemapReq struct {\n\tg.Meta        `path:\"/askai/project/get_sitemap\" method:\"post\" tags:\"AskAi\" summary:\"get sitemap\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\ntype GetSitemapRes struct {\n\tapi_v1.StandardRes\n}\n\n// RemoveSitemapNodeReq is the request structure for removing a node from the sitemap of a project in AskAi.\ntype RemoveSitemapNodeReq struct {\n\tg.Meta        `path:\"/askai/project/remove_sitemap_node\" method:\"post\" tags:\"AskAi\" summary:\"remove sitemap node\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tUriPath       string `json:\"uri_path\" dc:\"uri path\" v:\"required#uri path is required\"`\n}\n\ntype RemoveSitemapNodeRes struct {\n\tapi_v1.StandardRes\n}\n\n// AddSitemapNodeReq is the request structure for adding a node to the sitemap of a project in AskAi.\ntype AddSitemapNodeReq struct {\n\tg.Meta        `path:\"/askai/project/add_sitemap_node\" method:\"post\" tags:\"AskAi\" summary:\"add sitemap node\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tTitle         string `json:\"title\" dc:\"title\" v:\"required#title is required\"`\n\tUriPath       string `json:\"uri_path\" dc:\"uri path\" v:\"required#uri path is required\"`\n}\ntype AddSitemapNodeRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetFooterReq is the request structure for retrieving the footer configuration of a project in AskAi.\ntype GetFooterReq struct {\n\tg.Meta        `path:\"/askai/project/get_footer\" method:\"post\" tags:\"AskAi\" summary:\"get footer config\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\ntype GetFooterRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyFooterReq is the request structure for modifying the footer configuration of a project in AskAi.\ntype ModifyFooterReq struct {\n\tg.Meta        `path:\"/askai/project/modify_footer\" method:\"post\" tags:\"AskAi\" summary:\"modify footer config\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tCopyrightText string `json:\"copyright_text\" dc:\"copyright text\" v:\"required#copyright text is required\"`\n\tDisclaimer    string `json:\"disclaimer\" dc:\"disclaimer\" v:\"required#disclaimer is required\"`\n}\ntype ModifyFooterRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetPromptReq is the request structure for retrieving the prompt configuration of a project in AskAi.\ntype GetPromptReq struct {\n\tg.Meta        `path:\"/askai/project/get_prompt\" method:\"post\" tags:\"AskAi\" summary:\"get prompt config\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\ntype GetPromptRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyPromptReq is the request structure for modifying the prompt configuration of a project in AskAi.\ntype ModifyPromptReq struct {\n\tg.Meta        `path:\"/askai/project/modify_prompt\" method:\"post\" tags:\"AskAi\" summary:\"modify prompt config\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tPrompt        string `json:\"prompt\" dc:\"prompt\" v:\"required#prompt is required\"`\n}\ntype ModifyPromptRes struct {\n\tapi_v1.StandardRes\n}\n\n// UploadImageReq is the request structure for uploading an image to a project in AskAi.\ntype UploadImageReq struct {\n\tg.Meta        `path:\"/askai/project/upload_image\" method:\"post\" tags:\"AskAi\" summary:\"upload image\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tImage         string `json:\"image\" dc:\"image\" v:\"required#image is required\"`\n\tFilename      string `json:\"filename\" dc:\"filename\" v:\"required#filename is required\"`\n\tAltText       string `json:\"alt_text\" dc:\"alt text\" v:\"required#alt text is required\"`\n\tImageTag      string `json:\"image_tag\" dc:\"image tag\" v:\"required#image tag is required\" d:\"Image tag is used to identify the image in the project, e.g., 'logo', 'banner', etc.\"`\n}\n\ntype UploadImageRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyImageReq is the request structure for modifying an existing image in a project in AskAi.\ntype ModifyImageReq struct {\n\tg.Meta        `path:\"/askai/project/modify_image\" method:\"post\" tags:\"AskAi\" summary:\"modify image\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tImageId       string `json:\"image_id\" dc:\"image id\" v:\"required#image id is required\"`\n\tAltText       string `json:\"alt_text\" dc:\"alt text\" v:\"required#alt text is required\"`\n\tImageTag      string `json:\"image_tag\" dc:\"image tag\" v:\"required#image tag is required\" d:\"Image tag is used to identify the image in the project, e.g., 'logo', 'banner', etc.\"`\n}\ntype ModifyImageRes struct {\n\tapi_v1.StandardRes\n}\n\n// RemoveImageReq is the request structure for removing an image from a project in AskAi.\ntype RemoveImageReq struct {\n\tg.Meta        `path:\"/askai/project/remove_image\" method:\"post\" tags:\"AskAi\" summary:\"remove image\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tImageId       string `json:\"image_id\" dc:\"image id\" v:\"required#image id is required\"`\n}\n\ntype RemoveImageRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetImagesReq is the request structure for retrieving images associated with a project in AskAi.\ntype GetImagesReq struct {\n\tg.Meta        `path:\"/askai/project/get_images\" method:\"post\" tags:\"AskAi\" summary:\"get images\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\n\ntype GetImagesRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetProjectStatusReq is the request structure for retrieving the status of a project in AskAi.\ntype GetProjectStatusReq struct {\n\tg.Meta        `path:\"/askai/project/get_project_status\" method:\"post\" tags:\"AskAi\" summary:\"get project status\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n}\ntype GetProjectStatusRes struct {\n\tapi_v1.StandardRes\n}\n\n// SetProjectStatusReq is the request structure for setting the status of a project in AskAi.\ntype SetProjectStatusReq struct {\n\tg.Meta        `path:\"/askai/project/set_project_status\" method:\"post\" tags:\"AskAi\" summary:\"set project status\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"domain\" v:\"required#domain is required\"`\n\tStatus        bool   `json:\"status\" dc:\"status\" v:\"required#status is required\"`\n}\n\ntype SetProjectStatusRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/askai/v1/supplier.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// ListReq is the request structure for listing AI model suppliers.\ntype ListReq struct {\n\tg.Meta `path:\"/askai/supplier/list\" method:\"get,post\" tags:\"AskAi\" summary:\"list ai models supplier\"`\n}\n\ntype ListRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModelsReq is the request structure for listing AI models of a specific supplier.\ntype ModelsReq struct {\n\tg.Meta        `path:\"/askai/supplier/models\" method:\"get,post\" tags:\"AskAi\" summary:\"list ai models\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\"`\n}\n\ntype ModelsRes struct {\n\tapi_v1.StandardRes\n}\n\n// AddModelReq is the request structure for adding a new AI model to a supplier.\ntype AddModelReq struct {\n\tg.Meta        `path:\"/askai/supplier/add_model\" method:\"post\" tags:\"AskAi\" summary:\"add ai model\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string   `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tTitle         string   `json:\"title\" dc:\"model title\" v:\"required#model title is required\"`\n\tModelId       string   `json:\"model_id\" dc:\"model id\" v:\"required#model id is required\"`\n\tMaxTokens     int      `json:\"max_tokens\" dc:\"max tokens\" v:\"required#max tokens is required\"`\n\tCapability    []string `json:\"capability\" dc:\"capability\" v:\"required#capability is required\"`\n}\n\ntype AddModelRes struct {\n\tapi_v1.StandardRes\n}\n\n// RemoveModelReq is the request structure for removing an AI model from a supplier.\ntype RemoveModelReq struct {\n\tg.Meta        `path:\"/askai/supplier/remove_model\" method:\"post\" tags:\"AskAi\" summary:\"remove ai model\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tModelId       string `json:\"model_id\" dc:\"model id\" v:\"required#model id is required\"`\n}\n\ntype RemoveModelRes struct {\n\tapi_v1.StandardRes\n}\n\n// SetSupplierConfigReq is the request structure for setting the configuration of an AI model supplier.\ntype SetSupplierConfigReq struct {\n\tg.Meta        `path:\"/askai/supplier/set_supplier_config\" method:\"post\" tags:\"AskAi\" summary:\"set supplier config\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tBaseUrl       string `json:\"base_url\" dc:\"base url\" v:\"required#base url is required\"`\n\tApiKey        string `json:\"api_key\" dc:\"api key\" v:\"required#api key is required\"`\n}\n\ntype SetSupplierConfigRes struct {\n\tapi_v1.StandardRes\n}\n\n// TestingReq is the request structure for testing the configuration of an AI model supplier.\ntype TestingReq struct {\n\tg.Meta        `path:\"/askai/supplier/testing\" method:\"post\" tags:\"AskAi\" summary:\"test supplier config\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tBaseUrl       string `json:\"base_url\" dc:\"base url\" v:\"required#base url is required\"`\n\tApiKey        string `json:\"api_key\" dc:\"api key\" v:\"required#api key is required\"`\n}\ntype TestingRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetSupplierConfigReq is the request structure for retrieving the configuration of an AI model supplier.\ntype GetSupplierConfigReq struct {\n\tg.Meta        `path:\"/askai/supplier/get_supplier_config\" method:\"post\" tags:\"AskAi\" summary:\"get supplier config\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n}\n\ntype GetSupplierConfigRes struct {\n\tapi_v1.StandardRes\n}\n\n// SetSupplierStatusReq is the request structure for setting the status of an AI model supplier.\ntype SetSupplierStatusReq struct {\n\tg.Meta        `path:\"/askai/supplier/set_supplier_status\" method:\"post\" tags:\"AskAi\" summary:\"set supplier status\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tStatus        bool   `json:\"status\" dc:\"status\" v:\"required#status is required\"`\n}\n\ntype SetSupplierStatusRes struct {\n\tapi_v1.StandardRes\n}\n\n// SetModelStatusReq is the request structure for setting the status of an AI model.\ntype SetModelStatusReq struct {\n\tg.Meta        `path:\"/askai/supplier/set_model_status\" method:\"post\" tags:\"AskAi\" summary:\"set model status\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tModelId       string `json:\"model_id\" dc:\"model id\" v:\"required#model id is required\"`\n\tStatus        bool   `json:\"status\" dc:\"status\" v:\"required#status is required\"`\n}\ntype SetModelStatusRes struct {\n\tapi_v1.StandardRes\n}\n\n// AddSupplierReq is the request structure for adding a new AI supplier.\ntype AddSupplierReq struct {\n\tg.Meta        `path:\"/askai/supplier/add_supplier\" method:\"post\" tags:\"AskAi\" summary:\"add ai supplier\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierTitle string `json:\"supplier_title\" dc:\"supplier title\" v:\"required#supplier title is required\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tBaseUrl       string `json:\"base_url\" dc:\"base url\" v:\"required#base url is required\"`\n\tApiKey        string `json:\"api_key\" dc:\"api key\" v:\"required#api key is required\"`\n}\n\ntype AddSupplierRes struct {\n\tapi_v1.StandardRes\n}\n\n// RemoveSupplierReq is the request structure for removing an AI supplier.\ntype RemoveSupplierReq struct {\n\tg.Meta        `path:\"/askai/supplier/remove_supplier\" method:\"post\" tags:\"AskAi\" summary:\"remove ai supplier\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n}\n\ntype RemoveSupplierRes struct {\n\tapi_v1.StandardRes\n}\n\n// SetModelTitleReq is the request structure for setting the title of an AI model.\ntype SetModelTitleReq struct {\n\tg.Meta        `path:\"/askai/supplier/set_model_title\" method:\"post\" tags:\"AskAi\" summary:\"set model title\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tModelId       string `json:\"model_id\" dc:\"model id\" v:\"required#model id is required\"`\n\tTitle         string `json:\"title\" dc:\"title\" v:\"required#title is required\"`\n}\n\ntype SetModelTitleRes struct {\n\tapi_v1.StandardRes\n}\n\n// SetModelCapabilityReq is the request structure for setting the capabilities of an AI model.\ntype SetModelCapabilityReq struct {\n\tg.Meta        `path:\"/askai/supplier/set_model_capability\" method:\"post\" tags:\"AskAi\" summary:\"set model capability\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string   `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tModelId       string   `json:\"model_id\" dc:\"model id\" v:\"required#model id is required\"`\n\tCapability    []string `json:\"capability\" dc:\"capability\" v:\"required#capability is required\" d:\"llm,vision,tools,text-to-image\"`\n}\ntype SetModelCapabilityRes struct {\n\tapi_v1.StandardRes\n}\n\n// ModifyModelReq is the request structure for modifying an AI model's details.\ntype ModifyModelReq struct {\n\tg.Meta        `path:\"/askai/supplier/modify_model\" method:\"post\" tags:\"AskAi\" summary:\"modify model\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSupplierName  string   `json:\"supplier_name\" dc:\"supplier name\" v:\"required#supplier name is required\"`\n\tModelId       string   `json:\"model_id\" dc:\"model id\" v:\"required#model id is required\"`\n\tMaxTokens     int      `json:\"max_tokens\" dc:\"max tokens\" v:\"required#max tokens is required\"`\n\tCapability    []string `json:\"capability\" dc:\"capability\" v:\"required#capability is required\" d:\"llm,vision,tools,text-to-image\"`\n\tTitle         string   `json:\"title\" dc:\"title\" v:\"required#title is required\"`\n}\n\ntype ModifyModelRes struct {\n\tapi_v1.StandardRes\n}\n\n// StatusReq is the request structure for retrieving the status of an AI model supplier's configuration.\ntype StatusReq struct {\n\tg.Meta        `path:\"/askai/supplier/status\" method:\"get,post\" tags:\"AskAi\" summary:\"get supplier config status\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\ntype StatusRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/batch_mail/batch_mail.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage batch_mail\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\ntype IBatchMailV1 interface {\n\tApiTemplatesList(ctx context.Context, req *v1.ApiTemplatesListReq) (res *v1.ApiTemplatesListRes, err error)\n\tApiOverviewStats(ctx context.Context, req *v1.ApiOverviewStatsReq) (res *v1.ApiOverviewStatsRes, err error)\n\tApiTemplatesCreate(ctx context.Context, req *v1.ApiTemplatesCreateReq) (res *v1.ApiTemplatesCreateRes, err error)\n\tApiTemplatesUpdate(ctx context.Context, req *v1.ApiTemplatesUpdateReq) (res *v1.ApiTemplatesUpdateRes, err error)\n\tApiTemplatesDelete(ctx context.Context, req *v1.ApiTemplatesDeleteReq) (res *v1.ApiTemplatesDeleteRes, err error)\n\tApiMailSend(ctx context.Context, req *v1.ApiMailSendReq) (res *v1.ApiMailSendRes, err error)\n\tApiMailBatchSend(ctx context.Context, req *v1.ApiMailBatchSendReq) (res *v1.ApiMailBatchSendRes, err error)\n\tListTasks(ctx context.Context, req *v1.ListTasksReq) (res *v1.ListTasksRes, err error)\n\tTaskInfo(ctx context.Context, req *v1.TaskInfoReq) (res *v1.TaskInfoRes, err error)\n\tTaskOverview(ctx context.Context, req *v1.TaskOverviewReq) (res *v1.TaskOverviewRes, err error)\n\tDeleteTask(ctx context.Context, req *v1.DeleteTaskReq) (res *v1.DeleteTaskRes, err error)\n\tCreateTask(ctx context.Context, req *v1.CreateTaskReq) (res *v1.CreateTaskRes, err error)\n\tGetTaskSendCount(ctx context.Context, req *v1.GetTaskSendCountReq) (res *v1.GetTaskSendCountRes, err error)\n\tTaskMailProviderStat(ctx context.Context, req *v1.TaskMailProviderStatReq) (res *v1.TaskMailProviderStatRes, err error)\n\tGetTaskMailLogs(ctx context.Context, req *v1.GetTaskMailLogsReq) (res *v1.GetTaskMailLogsRes, err error)\n\tSendTestEmail(ctx context.Context, req *v1.SendTestEmailReq) (res *v1.SendTestEmailRes, err error)\n\tTaskStatChart(ctx context.Context, req *v1.TaskStatChartReq) (res *v1.TaskStatChartRes, err error)\n\tUpdateTaskInfo(ctx context.Context, req *v1.UpdateTaskInfoReq) (res *v1.UpdateTaskInfoRes, err error)\n\tUpdateTaskSpeed(ctx context.Context, req *v1.UpdateTaskSpeedReq) (res *v1.UpdateTaskSpeedRes, err error)\n\tPauseTask(ctx context.Context, req *v1.PauseTaskReq) (res *v1.PauseTaskRes, err error)\n\tResumeTask(ctx context.Context, req *v1.ResumeTaskReq) (res *v1.ResumeTaskRes, err error)\n\tUnsubscribe(ctx context.Context, req *v1.UnsubscribeReq) (res *v1.UnsubscribeRes, err error)\n\tGetUserGroups(ctx context.Context, req *v1.GetUserGroupsReq) (res *v1.GetUserGroupsRes, err error)\n\tUnsubscribeNew(ctx context.Context, req *v1.UnsubscribeNewReq) (res *v1.UnsubscribeNewRes, err error)\n}\n"
  },
  {
    "path": "core/api/batch_mail/v1/api_mail.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype ApiTemplates struct {\n\tId                int    `json:\"id\" dc:\"id\"`\n\tApiKey            string `json:\"api_key\" dc:\"api key\"`\n\tApiName           string `json:\"api_name\" dc:\"api name\"`\n\tTemplateId        int    `json:\"template_id\" dc:\"template id\"`\n\tGroupId           int    `json:\"group_id\" dc:\"group id\"`\n\tSubject           string `json:\"subject\" dc:\"subject\"`\n\tAddresser         string `json:\"addresser\" dc:\"addresser\"`\n\tFullName          string `json:\"full_name\" dc:\"full name\"`\n\tUnsubscribe       int    `json:\"unsubscribe\" dc:\"unsubscribe\"`\n\tTrackOpen         int    `json:\"track_open\" dc:\"track open\"`\n\tTrackClick        int    `json:\"track_click\" dc:\"track click\"`\n\tActive            int    `json:\"active\" dc:\"active\"`\n\tCreateTime        int    `json:\"create_time\" dc:\"create time\"`\n\tUpdateTime        int    `json:\"update_time\" dc:\"update time\"`\n\tExpireTime        int    `json:\"expire_time\" dc:\"expire time\"`\n\tLastKeyUpdateTime int    `json:\"last_key_update_time\" dc:\"last key update time\"`\n}\n\ntype ApiMailLogs struct {\n\tId        int    `json:\"id\" dc:\"id\"`\n\tApiId     int    `json:\"api_id\" dc:\"api id\"`\n\tRecipient string `json:\"recipient\" dc:\"recipient\"`\n\tMessageId string `json:\"message_id\" dc:\"message id\"`\n\tAddresser string `json:\"addresser\" dc:\"addresser\"`\n\tSendTime  int    `json:\"send_time\" dc:\"send time\"`\n}\n\ntype ApiTemplatesListReq struct {\n\tg.Meta        `path:\"/batch_mail/api/list\" method:\"get\" tags:\"ApiMail\" summary:\"api list\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPage          int    `json:\"page\" dc:\"page\"`\n\tPageSize      int    `json:\"page_size\" dc:\"page size\"`\n\tKeyword       string `json:\"keyword\" dc:\"Search Keyword\"`\n\tActive        int    `json:\"active\" dc:\"active\"`\n\tStartTime     int    `json:\"start_time\" dc:\"start time\"`\n\tEndTime       int    `json:\"end_time\" dc:\"end time\"`\n}\n\ntype ApiTemplatesInfo struct {\n\tApiTemplates\n\tGroupId      int     `json:\"group_id\" dc:\"group id\"`\n\tSendCount    int     `json:\"send_count\" dc:\"send count\"`\n\tSuccessCount int     `json:\"success_count\" dc:\"success count\"`\n\tFailCount    int     `json:\"fail_count\" dc:\"fail count\"`\n\tOpenRate     float64 `json:\"open_rate\" dc:\"open rate\"`\n\tClickRate    float64 `json:\"click_rate\" dc:\"click rate\"`\n\tDeliveryRate float64 `json:\"delivery_rate\" dc:\"delivery rate\"`\n\tBounceRate   float64 `json:\"bounce_rate\" dc:\"bounce rate\"`\n\t//UnsubscribeCount int      `json:\"unsubscribe_count\" dc:\"unsubscribe count\"`\n\tIpWhitelist     []string `json:\"ip_whitelist\" dc:\"IP whitelist\"`\n\tServerAddresser string   `json:\"server_addresser\" dc:\"server addresser\"`\n}\n\ntype ApiTemplatesListRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int                 `json:\"total\" dc:\"total\"`\n\t\tList  []*ApiTemplatesInfo `json:\"list\"  dc:\"api templates list\"`\n\t} `json:\"data\"`\n}\n\ntype ApiSummaryStats struct {\n\tTotalSend       int     `json:\"total_send\" dc:\"total send count\"`\n\tAvgDeliveryRate float64 `json:\"avg_delivery_rate\" dc:\"average delivery rate\"`\n\tAvgOpenRate     float64 `json:\"avg_open_rate\" dc:\"average open rate\"`\n\tAvgClickRate    float64 `json:\"avg_click_rate\" dc:\"average click rate\"`\n\tAvgBounceRate   float64 `json:\"avg_bounce_rate\" dc:\"average bounce rate\"`\n\t//AvgUnsubRate     float64 `json:\"avg_unsub_rate\" dc:\"average unsubscribe rate\"`\n\t//TotalUnsubscribe int     `json:\"total_unsubscribe\" dc:\"total unsubscribe count\"`\n}\n\ntype ApiOverviewStatsReq struct {\n\tg.Meta        `path:\"/batch_mail/api/overview_stats\" method:\"get\" tags:\"ApiMail\" summary:\"api Overview\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tStartTime     int    `json:\"start_time\" dc:\"start time\"`\n\tEndTime       int    `json:\"end_time\" dc:\"end time\"`\n}\n\ntype ApiOverviewStatsRes struct {\n\tapi_v1.StandardRes\n\tData ApiSummaryStats `json:\"data\"`\n}\n\ntype ApiTemplatesCreateReq struct {\n\tg.Meta        `path:\"/batch_mail/api/create\" method:\"post\" tags:\"ApiMail\" summary:\"api create\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tApiName       string `json:\"api_name\" dc:\"api name\"`\n\tTemplateId    int    `json:\"template_id\" dc:\"template id\"`\n\tGroupId       int    `json:\"group_id\" dc:\"Associated group ID\"`\n\tSubject       string `json:\"subject\" dc:\"subject\"`\n\tAddresser     string `json:\"addresser\" dc:\"addresser\"`\n\tFullName      string `json:\"full_name\" dc:\"full name\"`\n\tUnsubscribe   int    `json:\"unsubscribe\" dc:\"unsubscribe\"`\n\tActive        int    `json:\"active\" dc:\"active\"`\n\tExpireTime    int    `json:\"expire_time\" dc:\"expire time\"` // 0 is a permanently valid unit of seconds\n\t//IpWhitelistEnabled int      `json:\"ip_whitelist_enabled\" dc:\"ip whitelist enabled\"`\n\tIpWhitelist []string `json:\"ip_whitelist\" dc:\"ip whitelist\"`\n\tTrackOpen   int      `json:\"track_open\" v:\"in:0,1\" dc:\"track open\" default:\"1\"`\n\tTrackClick  int      `json:\"track_click\" v:\"in:0,1\" dc:\"track click\" default:\"1\"`\n}\n\ntype ApiTemplatesCreateRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ApiTemplatesUpdateReq struct {\n\tg.Meta        `path:\"/batch_mail/api/update\" method:\"post\" tags:\"ApiMail\" summary:\"api update\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tID            int    `json:\"id\" dc:\"id\"`\n\tApiName       string `json:\"api_name\" dc:\"api name\"`\n\tTemplateId    int    `json:\"template_id\" dc:\"template id\"`\n\tGroupId       int    `json:\"group_id\" dc:\"Associated group ID\"`\n\tSubject       string `json:\"subject\" dc:\"subject\"`\n\tAddresser     string `json:\"addresser\" dc:\"addresser\"`\n\tFullName      string `json:\"full_name\" dc:\"full name\"`\n\tUnsubscribe   int    `json:\"unsubscribe\" dc:\"unsubscribe\"`\n\tTrackOpen     int    `json:\"track_open\" dc:\"track open\"`\n\tTrackClick    int    `json:\"track_click\" dc:\"track click\"`\n\tActive        int    `json:\"active\" dc:\"active\"`\n\tExpireTime    int    `json:\"expire_time\" dc:\"Key expiration time (0 is permanent)\"`\n\tResetKey      bool   `json:\"reset_key\" dc:\"reset key\"`\n\t//IpWhitelistEnabled int      `json:\"ip_whitelist_enabled\" dc:\"ip whitelist enabled\"`\n\tIpWhitelist []string `json:\"ip_whitelist\" dc:\"ip whitelist\"`\n}\n\ntype ApiTemplatesUpdateRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ApiTemplatesDeleteReq struct {\n\tg.Meta        `path:\"/batch_mail/api/delete\" method:\"post\" tags:\"ApiMail\" summary:\"api delete\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tID            int    `json:\"id\" dc:\"id\"`\n}\n\ntype ApiTemplatesDeleteRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ApiMailSendReq struct {\n\tg.Meta        `path:\"/batch_mail/api/send\" method:\"post\" tags:\"ApiMail\" summary:\"call api send mail\"`\n\tAuthorization string            `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tApiKey        string            `json:\"x-api-key\" dc:\"API Key\" in:\"header\"`\n\tAddresser     string            `json:\"addresser\" dc:\"addresser\"`\n\tRecipient     string            `json:\"recipient\" dc:\"recipient\"`\n\tAttribs       map[string]string `json:\"attribs\" dc:\"Custom properties\"`\n}\n\ntype ApiMailSendRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ApiMailBatchSendReq struct {\n\tg.Meta        `path:\"/batch_mail/api/batch_send\" method:\"post\" tags:\"ApiMail\" summary:\"call api batch send mail\"`\n\tAuthorization string            `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tApiKey        string            `json:\"x-api-key\" dc:\"API Key\" in:\"header\"`\n\tAddresser     string            `json:\"addresser\" dc:\"addresser\"`\n\tRecipients    []string          `json:\"recipients\" dc:\"recipients\"`\n\tAttribs       map[string]string `json:\"attribs\" dc:\"Custom properties\"`\n}\n\ntype ApiMailBatchSendRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/batch_mail/v1/batch_mail.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype TagInfo struct {\n\tId         int    `json:\"id\"          dc:\"Tag ID\"`\n\tName       string `json:\"name\"        dc:\"Tag Name\"`\n\tCreateTime int    `json:\"create_time\" dc:\"Create Time\"`\n}\n\ntype EmailTask struct {\n\tId             int    `json:\"id\"              dc:\"task id\"`\n\tTaskName       string `json:\"task_name\"       dc:\"task name\"`\n\tAddresser      string `json:\"addresser\"       dc:\"addresser\"`\n\tSubject        string `json:\"subject\"         dc:\"subject\"`\n\tFullName       string `json:\"full_name\"       dc:\"full name\"`\n\tRecipientCount int    `json:\"recipient_count\" dc:\"recipient count\"`\n\tTaskProcess    int    `json:\"task_process\"    dc:\"task process\"`\n\tPause          int    `json:\"pause\"           dc:\"pause\"`\n\tTemplateId     int    `json:\"template_id\"     dc:\"template id\"`\n\tIsRecord       int    `json:\"is_record\"       dc:\"is record\"`\n\tUnsubscribe    int    `json:\"unsubscribe\"     dc:\"unsubscribe\"`\n\tThreads        int    `json:\"threads\"         dc:\"threads\"`\n\t//Etypes                  string `json:\"etypes\"          dc:\"etypes\"`\n\tTrackOpen               int       `json:\"track_open\"      dc:\"track open\"`\n\tTrackClick              int       `json:\"track_click\"     dc:\"track click\"`\n\tStartTime               int       `json:\"start_time\"      dc:\"start time\"`\n\tCreateTime              int       `json:\"create_time\"     dc:\"create time\"`\n\tUpdateTime              int       `json:\"update_time\"     dc:\"update time\"`\n\tRemark                  string    `json:\"remark\"          dc:\"remark\"`\n\tActive                  int       `json:\"active\"          dc:\"status\"`\n\tAddType                 int       `json:\"add_type\"        dc:\"add type\"`\n\tEstimatedTimeWithWarmup int64     `json:\"estimated_time_with_warmup\" dc:\"estimated time for warmup (if applicable)\"`\n\tSendsCount              int       `json:\"sendsCount\"       description:\"\"`\n\tDeliveredCount          int       `json:\"deliveredCount\"   description:\"\"`\n\tBouncedCount            int       `json:\"bouncedCount\"     description:\"\"`\n\tDeferredCount           int       `json:\"deferredCount\"    description:\"\"`\n\tStatsUpdateTime         int       `json:\"statsUpdateTime\"  description:\"\"`\n\tGroupId                 int       `json:\"group_id\"        dc:\"Group ID\"`\n\tGroupName               string    `json:\"group_name\"      dc:\"Group Name\"`\n\tTags                    []TagInfo `json:\"tags\"           dc:\"Task Tags\"`\n\tUseTagFilter            int       `json:\"use_tag_filter\" dc:\"Whether to use tag filter (1: yes, 0: no)\"`\n\tTagLogic                string    `json:\"tag_logic\" dc:\"Tag logic (AND: must have all tags, OR: have any tag, NOT)\"`\n\tTagIdsRaw               string    `json:\"-\"              dc:\"Tag IDs raw data for internal processing\"`\n}\n\ntype GroupInfo struct {\n\tId          int    `json:\"id\"    dc:\"group id\"`\n\tName        string `json:\"name\"  dc:\"group name\"`\n\tDescription string `json:\"description\" dc:\"group description\"`\n\tCount       int    `json:\"count\" dc:\"contact count\"`\n}\n\ntype TaskDetail struct {\n\tEmailTask\n\tGroups       GroupInfo `json:\"groups\"         dc:\"groups\"`\n\tSentCount    int       `json:\"sent_count\"     dc:\"sent count\"`\n\tUnsentCount  int       `json:\"unsent_count\"   dc:\"unsent count\"`\n\tProgress     int       `json:\"progress\"      dc:\"progress\"`\n\tTemplateName string    `json:\"template_name\"  dc:\"template name\"`\n\tSuccessCount int       `json:\"success_count\"  dc:\"success count\"`\n\tErrorCount   int       `json:\"error_count\"    dc:\"error count\"`\n\tDeferred     int       `json:\"deferred\"       dc:\"deferred count\"`\n\t//Opened       int          `json:\"opened\"        dc:\"opened count\"`\n\t//Clicked      int          `json:\"clicked\"       dc:\"clicked count\"`\n\t//DeliveryRate float64      `json:\"delivery_rate\" dc:\"delivery rate\"`\n\t//BounceRate   float64      `json:\"bounce_rate\"  dc:\"bounce rate\"`\n\t//OpenRate     float64      `json:\"open_rate\"    dc:\"open rate\"`\n\t//ClickRate    float64      `json:\"click_rate\"   dc:\"click rate\"`\n}\n\ntype ListTasksReq struct {\n\tg.Meta        `path:\"/batch_mail/task/list\" method:\"get\" tags:\"BatchMail\" summary:\"get task list\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPage          int    `json:\"page\" v:\"required|min:1\" dc:\"page\"`\n\tPageSize      int    `json:\"page_size\" v:\"required|min:1\" dc:\"page size\"`\n\tKeyword       string `json:\"keyword\" dc:\"search keyword\"`\n\tStatus        int    `json:\"status\" dc:\"task status\" default:\"-1\"`\n}\n\ntype ListTasksRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int           `json:\"total\" dc:\"total\"`\n\t\tList  []*TaskDetail `json:\"list\"  dc:\"task list\"`\n\t} `json:\"data\"`\n}\n\ntype TaskInfoReq struct {\n\tg.Meta        `path:\"/batch_mail/task/find\" method:\"get\" tags:\"BatchMail\" summary:\"get task info by id\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required\" dc:\"task id\"`\n}\n\ntype TaskInfoRes struct {\n\tapi_v1.StandardRes\n\tData *entity.EmailTask `json:\"data\"`\n}\n\ntype TaskSummaryStats struct {\n\tSends        int     `json:\"sends\"`\n\tDelivered    int     `json:\"delivered\"`\n\tBounced      int     `json:\"bounced\"`\n\tOpened       int     `json:\"opened\"`\n\tClicked      int     `json:\"clicked\"`\n\tDeliveryRate float64 `json:\"delivery_rate\"`\n\tBounceRate   float64 `json:\"bounce_rate\"`\n\tOpenRate     float64 `json:\"open_rate\"`\n\tClickRate    float64 `json:\"click_rate\"`\n}\n\ntype TaskOverviewReq struct {\n\tg.Meta        `path:\"/batch_mail/task/overview\" method:\"get\" tags:\"BatchMail\" summary:\"get task overview\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tStartTime     int    `json:\"start_time\" dc:\"start time\"`\n\tEndTime       int    `json:\"end_time\" dc:\"end time\"`\n}\n\ntype TaskOverviewRes struct {\n\tapi_v1.StandardRes\n\tData TaskSummaryStats `json:\"data\"`\n}\n\ntype DeleteTaskReq struct {\n\tg.Meta        `path:\"/batch_mail/task/delete\" method:\"post\" tags:\"BatchMail\" summary:\"delete task\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required\" dc:\"task id\"`\n}\n\ntype DeleteTaskRes struct {\n\tapi_v1.StandardRes\n}\n\ntype CreateTaskReq struct {\n\tg.Meta        `path:\"/batch_mail/task/create\" method:\"post\" tags:\"BatchMail\" summary:\"create task\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tAddresser     string `json:\"addresser\" v:\"required\" dc:\"addresser\"`\n\tSubject       string `json:\"subject\" v:\"required\" dc:\"subject\"`\n\tFullName      string `json:\"full_name\" dc:\"full name\"`\n\tTemplateId    int    `json:\"template_id\" v:\"required\" dc:\"template id\"`\n\tGroupId       int    `json:\"group_id\" v:\"required\" dc:\"group id\"`\n\tIsRecord      int    `json:\"is_record\" v:\"in:0,1\" dc:\"is record\" default:\"1\"`\n\tUnsubscribe   int    `json:\"unsubscribe\" v:\"in:0,1\" dc:\"unsubscribe\" default:\"1\"`\n\tThreads       int    `json:\"threads\" v:\"min:0\" dc:\"threads\" default:\"5\"`\n\tTrackOpen     int    `json:\"track_open\" v:\"in:0,1\" dc:\"track open\" default:\"1\"`\n\tTrackClick    int    `json:\"track_click\" v:\"in:0,1\" dc:\"track click\" default:\"1\"`\n\tStartTime     int    `json:\"start_time\" v:\"required\" dc:\"start time\"`\n\tWarmup        int    `json:\"warmup\" v:\"in:0,1\" dc:\"warmup\" default:\"0\"`\n\tRemark        string `json:\"remark\" dc:\"remark\"`\n\n\tTagIds   []int  `json:\"tag_ids\" dc:\"tag ids for filtering contacts\"`\n\tTagLogic string `json:\"tag_logic\" v:\"in:AND,OR,NOT\" dc:\"tag logic (AND: must have all tags, OR: have any tag, NOT)\" default:\"AND\"`\n}\n\ntype CreateTaskRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tId int `json:\"id\" dc:\"task id\"`\n\t} `json:\"data\"`\n}\n\ntype TaskSendCountData struct {\n\tTaskId        int         `json:\"task_id\"         dc:\"Task ID\"`\n\tStartTime     int64       `json:\"start_time\"      dc:\"Start time (unix timestamp)\"`\n\tEndTime       int64       `json:\"end_time\"        dc:\"End time (unix timestamp)\"`\n\tTotalSent     int         `json:\"total_sent\"      dc:\"Total sent count in time range\"`\n\tMaxPerMinute  int         `json:\"max_per_minute\"  dc:\"Maximum emails sent per minute\"`\n\tAvgPerMinute  float64     `json:\"avg_per_minute\"  dc:\"Average emails sent per minute\"`\n\tMinuteDetails interface{} `json:\"minute_details\"  dc:\"Details of emails sent per minute\"`\n}\n\n// TaskLogItem Task log item\ntype TaskLogItem struct {\n\tPostfixMessageId string  `json:\"postfix_message_id\"`\n\tStatus           string  `json:\"status\"`\n\tRecipient        string  `json:\"recipient\"`\n\tMailProvider     string  `json:\"mail_provider\"`\n\tDelay            float64 `json:\"delay\"`\n\tDelays           string  `json:\"delays\"`\n\tDsn              string  `json:\"dsn\"`\n\tRelay            string  `json:\"relay\"`\n\tDescription      string  `json:\"description\"`\n\tLogTime          int64   `json:\"log_time\"`\n}\n\ntype GetTaskSendCountReq struct {\n\tg.Meta        `path:\"/batch_mail/task/send_count\" method:\"get\" tags:\"BatchMail\" summary:\"get task send count\"`\n\tAuthorization string `json:\"authorization\"  dc:\"Authorization\" in:\"header\"`\n\tTaskId        int    `json:\"task_id\"        dc:\"Task ID\"        v:\"min:1#Task ID is required\" in:\"query\"`\n\tStartTime     int64  `json:\"start_time\"     dc:\"Start time (unix timestamp)\" in:\"query\"`\n\tEndTime       int64  `json:\"end_time\"       dc:\"End time (unix timestamp)\"   in:\"query\"`\n}\n\ntype GetTaskSendCountRes struct {\n\tapi_v1.StandardRes\n\tData *TaskSendCountData `json:\"data\" dc:\"Task send count data\"`\n}\n\n// Request for task email service provider statistics\ntype TaskMailProviderStatReq struct {\n\tg.Meta        `path:\"/batch_mail/tracking/mail_provider\" method:\"get\" tags:\"MailProviderStat\" summary:\"Task email service provider statistics\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tTaskId        int    `json:\"task_id\" v:\"required\" dc:\"Task ID\"`\n\tStatus        int    `json:\"status\" dc:\"Status filter, (1:success 0:failure)\"`\n}\n\ntype TaskMailProviderStatRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetTaskMailLogsReq Request for task email logs\ntype GetTaskMailLogsReq struct {\n\tg.Meta        `path:\"/batch_mail/tracking/logs\" method:\"get\" tags:\"EmailTracking\" summary:\"Get task email sending logs\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tTaskId        int    `json:\"task_id\" v:\"required\" dc:\"Task ID\"`\n\tStatus        int    `json:\"status\" dc:\"Status filter, (1:success 0:failure)\"`\n\tDomain        string `json:\"domain\" dc:\"Domain filter\"`\n\tPage          int    `json:\"page\" dc:\"Page number\"`\n\tPageSize      int    `json:\"page_size\" dc:\"Items per page\"`\n}\n\ntype GetTaskMailLogsRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int            `json:\"total\" dc:\"Total records\"`\n\t\tList  []*TaskLogItem `json:\"list\" dc:\"Email log list\"`\n\t} `json:\"data\" dc:\"Data\"`\n}\n\ntype SendTestEmailReq struct {\n\tg.Meta        `path:\"/batch_mail/task/send_test\" method:\"post\" tags:\"BatchMail\" summary:\"Send test email\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tAddresser     string `json:\"addresser\" v:\"required\" dc:\"Addresser\"`\n\tSubject       string `json:\"subject\" v:\"required\" dc:\"Subject\"`\n\tRecipient     string `json:\"recipient\" v:\"required\" dc:\"Recipient\"`\n\tTemplateId    int    `json:\"template_id\" v:\"required\" dc:\"Template ID\"`\n}\n\ntype SendTestEmailRes struct {\n\tapi_v1.StandardRes\n}\n\ntype TaskStatChartReq struct {\n\tg.Meta        `path:\"/batch_mail/task/stat_chart\" method:\"get\" tags:\"BatchMail\" summary:\"get task stat chart\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tTaskId        int64  `json:\"task_id\" v:\"required\" dc:\"task id\"`\n\tDomain        string `json:\"domain\" v:\"domain\" dc:\"domain\"`\n\tStartTime     int64  `json:\"start_time\" v:\"required\" dc:\"start time\"`\n\tEndTime       int64  `json:\"end_time\" v:\"required\" dc:\"end time\"`\n}\n\ntype TaskStatChartRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tDashboard       interface{} `json:\"dashboard\" dc:\"dashboard\"`\n\t\tMailProviders   interface{} `json:\"mail_providers\" dc:\"mail providers\"`\n\t\tSendMailChart   interface{} `json:\"send_mail_chart\" dc:\"send mail chart\"`\n\t\tBounceRateChart interface{} `json:\"bounce_rate_chart\" dc:\"bounce rate chart\"`\n\t\tOpenRateChart   interface{} `json:\"open_rate_chart\" dc:\"open rate chart\"`\n\t\tClickRateChart  interface{} `json:\"click_rate_chart\" dc:\"click rate chart\"`\n\t} `json:\"data\"`\n}\n\ntype UpdateTaskInfoReq struct {\n\tg.Meta        `path:\"/batch_mail/task/update\" method:\"post\" tags:\"BatchMail\" summary:\"update task info\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tTaskId        int    `json:\"task_id\" v:\"required\" dc:\"task id\"`\n\tAddresser     string `json:\"addresser\" dc:\"addresser\"`\n\tSubject       string `json:\"subject\" dc:\"subject\"`\n\tFullName      string `json:\"full_name\" dc:\"full name\"`\n\tRemark        string `json:\"remark\" dc:\"remark\"`\n\tTemplateId    int    `json:\"template_id\" dc:\"template id\"`\n\tUnsubscribe   int    `json:\"unsubscribe\" v:\"in:0,1\" dc:\"unsubscribe\"`\n\tWarmup        int    `json:\"warmup\" v:\"in:0,1\" dc:\"warmup\"`\n\tThreads       int    `json:\"threads\" v:\"min:0\" dc:\"threads\"`\n\tStartTime     int    `json:\"start_time\" dc:\"start time\"`\n\tTagIds        []int  `json:\"tag_ids\" dc:\"tag ids for filtering contacts\"`\n\tTagLogic      string `json:\"tag_logic\" v:\"in:AND,OR,NOT\" dc:\"tag logic (AND: must have all tags, OR: have any tag, NOT)\"`\n}\ntype UpdateTaskInfoRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/batch_mail/v1/task_executor.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"github.com/panjf2000/ants/v2\"\n\t\"golang.org/x/time/rate\"\n\t\"sync\"\n\t\"time\"\n)\n\ntype TaskExecutor struct {\n\tctx context.Context\n\n\trateLimiter *rate.Limiter\n\tspeedMeter  *SpeedMeter\n\ttaskConfig  *TaskConfig\n\tpauseChan   chan struct{}\n\tisPaused    bool\n\tpauseMutex  sync.Mutex\n\tpool        *ants.Pool\n}\n\n// TaskConfig task config\ntype TaskConfig struct {\n\tThreads      int     // pool count\n\tMaxPerMinute int     // max emails per minute\n\tCurrentSpeed float64 // current speed\n\tMinSpeed     float64 // min speed\n\tMaxSpeed     float64 // max speed\n\tSpeedAdjust  float64 // speed adjust factor\n}\n\n// SpeedMeter speed meter\ntype SpeedMeter struct {\n\tsentCount    int64\n\tstartTime    time.Time\n\tlastCheck    time.Time\n\tcurrentSpeed float64\n\tmu           sync.Mutex\n}\n\n// UpdateTaskSpeedReq update task speed request\ntype UpdateTaskSpeedReq struct {\n\tg.Meta        `path:\"/batch_mail/task/speed\" method:\"post\" tags:\"BatchMail\" summary:\"update task speed\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tTaskId        int    `json:\"task_id\" v:\"required\" dc:\"task id\"`\n\tThreads       int    `json:\"threads\" v:\"required|min:1|max:100\" dc:\"thread count (1-100), decide the number of emails sent concurrently\"`\n}\n\n// UpdateTaskSpeedRes update task speed response\ntype UpdateTaskSpeedRes struct {\n\tapi_v1.StandardRes\n}\n\n// PauseTaskReq pause task request\ntype PauseTaskReq struct {\n\tg.Meta        `path:\"/batch_mail/task/pause\" method:\"post\" tags:\"BatchMail\" summary:\"pause task\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tTaskId        int    `json:\"task_id\" v:\"required\" dc:\"task id\"`\n}\n\n// PauseTaskRes pause task response\ntype PauseTaskRes struct {\n\tapi_v1.StandardRes\n}\n\n// ResumeTaskReq resume task request\ntype ResumeTaskReq struct {\n\tg.Meta        `path:\"/batch_mail/task/resume\" method:\"post\" tags:\"BatchMail\" summary:\"resume task\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tTaskId        int    `json:\"task_id\" v:\"required\" dc:\"task id\"`\n}\n\n// ResumeTaskRes resume task response\ntype ResumeTaskRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/batch_mail/v1/unsubscribe.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// UnsubscribeReq defines the unsubscribe request parameters\ntype UnsubscribeReq struct {\n\tg.Meta        `path:\"/unsubscribe\" method:\"post\" tags:\"Unsubscribe\" summary:\"Unsubscribe from mailing lists\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tJwt           string `json:\"jwt\" v:\"required\" dc:\"JWT token containing unsubscribe information\"`\n\tGroupId       []int  `json:\"group_id\" dc:\"Group IDs to unsubscribe from (optional, if empty will unsubscribe from all groups)\"`\n}\n\n// UnsubscribeRes defines the unsubscribe response\ntype UnsubscribeRes struct {\n\tapi_v1.StandardRes\n}\n\ntype GetUserGroupsReq struct {\n\tg.Meta        `path:\"/unsubscribe/user_group\" method:\"post\" tags:\"Unsubscribe\" summary:\"get user groups\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tEmail         string `json:\"email\" dc:\"user email\"`\n}\n\ntype GetUserGroupsRes struct {\n\tapi_v1.StandardRes\n\tData []*GroupInfo `json:\"data\" dc:\"user groups\"`\n}\n\ntype UnsubscribeNewReq struct {\n\tg.Meta        `path:\"/unsubscribe_new\" method:\"post\" tags:\"Unsubscribe\" summary:\"New unsubscribe API - direct unsubscribe\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tJwt           string `json:\"jwt\" v:\"required\" dc:\"JWT token containing unsubscribe information\"`\n}\n\ntype UnsubscribeNewRes struct {\n\tapi_v1.StandardRes\n\tData UnsubscribeResult `json:\"data\" dc:\"Unsubscribe result\"`\n}\n\ntype UnsubscribeResult struct {\n\tEmail       string `json:\"email\" dc:\"Email address\"`\n\tGroupName   string `json:\"group_name\" dc:\"Group name\"`\n\tRedirectUrl string `json:\"redirect_url\" dc:\"Redirect URL after unsubscribe\"`\n}\n"
  },
  {
    "path": "core/api/campaign/campaign.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage campaign\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/campaign/v1\"\n)\n\ntype ICampaignV1 interface {\n\tForm(ctx context.Context, req *v1.FormReq) (res *v1.FormRes, err error)\n}\n"
  },
  {
    "path": "core/api/campaign/v1/subscription.go",
    "content": "package v1\n\nimport \"github.com/gogf/gf/v2/frame/g\"\n\ntype FormReq struct {\n\tg.Meta   `path:\"/subscription/form\" tags:\"Campaign - Subscription\" method:\"get,post\" summary:\"Subscription Form\"`\n\tEmail    string `json:\"email\" v:\"email#Lang{Email is required}|Lang{Invalid email format}\"`\n\tName     string `json:\"name\"`\n\tGroupIds []int  `json:\"group_ids\"`\n\tToken    string `json:\"token\"`\n}\n\ntype FormRes struct {\n\tg.Meta `mime:\"text/html\"`\n}\n"
  },
  {
    "path": "core/api/contact/contact.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage contact\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\ntype IContactV1 interface {\n\tCreateGroup(ctx context.Context, req *v1.CreateGroupReq) (res *v1.CreateGroupRes, err error)\n\tImportContacts(ctx context.Context, req *v1.ImportContactsReq) (res *v1.ImportContactsRes, err error)\n\tExportContacts(ctx context.Context, req *v1.ExportContactsReq) (res *v1.ExportContactsRes, err error)\n\tDeleteGroup(ctx context.Context, req *v1.DeleteGroupReq) (res *v1.DeleteGroupRes, err error)\n\tUpdateGroup(ctx context.Context, req *v1.UpdateGroupReq) (res *v1.UpdateGroupRes, err error)\n\tUpdateGroupUnsubscribe(ctx context.Context, req *v1.UpdateGroupUnsubscribeReq) (res *v1.UpdateGroupUnsubscribeRes, err error)\n\tListGroups(ctx context.Context, req *v1.ListGroupsReq) (res *v1.ListGroupsRes, err error)\n\tListContacts(ctx context.Context, req *v1.ListContactsReq) (res *v1.ListContactsRes, err error)\n\tListContactsGroups(ctx context.Context, req *v1.ListContactsGroupsReq) (res *v1.ListContactsGroupsRes, err error)\n\tMergeContactsGroups(ctx context.Context, req *v1.MergeContactsGroupsReq) (res *v1.MergeContactsGroupsRes, err error)\n\tDeleteContacts(ctx context.Context, req *v1.DeleteContactsReq) (res *v1.DeleteContactsRes, err error)\n\tUpdateContactsGroup(ctx context.Context, req *v1.UpdateContactsGroupReq) (res *v1.UpdateContactsGroupRes, err error)\n\tGetContactsTrend(ctx context.Context, req *v1.GetContactsTrendReq) (res *v1.GetContactsTrendRes, err error)\n\tGetGroupContactCount(ctx context.Context, req *v1.GetGroupContactCountReq) (res *v1.GetGroupContactCountRes, err error)\n\tGetSingleGroupTagContactCount(ctx context.Context, req *v1.GetSingleGroupTagContactCountReq) (res *v1.GetSingleGroupTagContactCountRes, err error)\n\tGetGroupInfo(ctx context.Context, req *v1.GetGroupInfoReq) (res *v1.GetGroupInfoRes, err error)\n\tEditContacts(ctx context.Context, req *v1.EditContactsReq) (res *v1.EditContactsRes, err error)\n\tListContactsNDP(ctx context.Context, req *v1.ListContactsNDPReq) (res *v1.ListContactsNDPRes, err error)\n\tEditContactsNDP(ctx context.Context, req *v1.EditContactsNDPReq) (res *v1.EditContactsNDPRes, err error)\n\tDeleteContactsNDP(ctx context.Context, req *v1.DeleteContactsNDPReq) (res *v1.DeleteContactsNDPRes, err error)\n\tBatchTagContacts(ctx context.Context, req *v1.BatchTagContactsReq) (res *v1.BatchTagContactsRes, err error)\n}\n"
  },
  {
    "path": "core/api/contact/v1/contact.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype ContactGroup struct {\n\tId          int    `json:\"id\"          dc:\"Group ID\"`\n\tName        string `json:\"name\"        dc:\"Group Name\"`\n\tDescription string `json:\"description\" dc:\"Description\"`\n\tCreateTime  int    `json:\"create_time\" dc:\"Create Time\"`\n\tUpdateTime  int    `json:\"update_time\" dc:\"Update Time\"`\n\tToken       string `json:\"token\"      dc:\"Subscription Token\"`\n\tDoubleOptin int    `json:\"double_optin\" dc:\"Double Opt-in Status(0: Single Opt-in 1: Double Opt-in)\"`\n\n\tWelcomeHtml string `json:\"welcome_mail_html\" dc:\"Welcome Email Html\"`\n\tWelcomeDrag string `json:\"welcome_mail_drag\" dc:\"Welcome Email Drag\"`\n\n\tWelcomeSubject   string `json:\"welcome_subject\" dc:\"Welcome Email Subject\"`\n\tSendWelcomeEmail int    `json:\"send_welcome_email\" dc:\"Whether to send a welcome email\"`\n\tConfirmSubject   string `json:\"confirm_subject\" dc:\"Confirmation Email Subject\"`\n\n\tConfirmHtml string `json:\"confirm_mail_html\" dc:\"Confirmation Email Html\"`\n\tConfirmDrag string `json:\"confirm_mail_drag\" dc:\"Confirmation Email Drag\"`\n\n\tSuccessUrl    string `json:\"success_url\" dc:\"Success URL\"`\n\tConfirmUrl    string `json:\"confirm_url\" dc:\"Confirmation URL\"`\n\tAlreadyUrl    string `json:\"already_url\" dc:\"Already Subscribed URL\"`\n\tSubscribeForm string `json:\"subscribe_form\" dc:\"Subscription Form HTML\"`\n\t// New unsubscribe related fields\n\tUnsubscribeMailHtml    string `json:\"unsubscribe_mail_html\" dc:\"Unsubscribe Email Html\"`\n\tUnsubscribeMailDrag    string `json:\"unsubscribe_mail_drag\" dc:\"Unsubscribe EmailDrag\"`\n\tUnsubscribeSubject     string `json:\"unsubscribe_subject\" dc:\"Unsubscribe Email Subject\"`\n\tUnsubscribeRedirectUrl string `json:\"unsubscribe_redirect_url\" dc:\"Unsubscribe Success RedirectURL\"`\n\tSendUnsubscribeEmail   int    `json:\"send_unsubscribe_email\" dc:\"Whether to send unsubscribe email\"`\n}\n\ntype ContactGroupInfo struct {\n\tContactGroup\n\tTotalCount       int    `json:\"total_count\" dc:\"Total Contacts\"`\n\tActiveCount      int    `json:\"active_count\" dc:\"Subscribed Contacts\"`\n\tUnsubscribeCount int    `json:\"unsubscribe_count\" dc:\"Unsubscribed Contacts\"`\n\tSubscribeLink    string `json:\"subscribe_link\" dc:\"Subscription Link\"`\n\tSender           string `json:\"sender\" dc:\"Sender\"`\n}\n\ntype GroupInfo struct {\n\tId   int    `json:\"id\"   dc:\"Group ID\"`\n\tName string `json:\"name\" dc:\"Group Name\"`\n}\n\ntype TagInfo struct {\n\tId         int    `json:\"id\"          dc:\"Tag ID\"`\n\tName       string `json:\"name\"        dc:\"Tag Name\"`\n\tCreateTime int    `json:\"create_time\" dc:\"Create Time\"`\n}\n\ntype Contact struct {\n\tId           int               `json:\"id\"          dc:\"Contact ID\"`\n\tEmail        string            `json:\"email\"       dc:\"Email Address\"`\n\tGroupId      int               `json:\"group_id\"    dc:\"Group ID\"`\n\tActive       int               `json:\"active\"      dc:\"Status(1:Subscribed 0:Unsubscribed)\"`\n\tTaskId       int               `json:\"task_id\"     dc:\"Bulk Mail Task ID\"`\n\tCreateTime   int               `json:\"create_time\" dc:\"Create Time\"`\n\tGroups       []GroupInfo       `json:\"groups\"      dc:\"Contact Groups\"`\n\tStatus       int               `json:\"status\"      dc:\"Status( 1:Confirmed   0:Unconfirmed)\"`\n\tGroupName    string            `json:\"group_name\"      dc:\"Contact Group Name\"`\n\tAttribs      map[string]string `json:\"attribs\"`\n\tLastActiveAt int               `json:\"last_active_at\" dc:\"Last Active At\"`\n\tTags         []TagInfo         `json:\"tags\"        dc:\"Contact Tags\"`\n}\n\ntype CreateGroupReq struct {\n\tg.Meta        `path:\"/contact/group/create\" method:\"post\" tags:\"Contact\" summary:\"Create new contact group\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" dc:\"GroupID to import contacts into\"`\n\tName          string `json:\"name\"  dc:\"name\"`\n\tDescription   string `json:\"description\" dc:\"description\"`\n\tFileData      string `json:\"file_data\" dc:\"file data\"`\n\tFileType      string `json:\"file_type\" v:\"in:csv,excel,txt\" dc:\"file type, default:txt\"`\n\tCreateType    int    `json:\"create_type\" v:\"required|in:1,2,3\" dc:\"Create type (1: Create group only 2: Create new group and import contacts 3: Import files into existing groups)\"`\n\tDoubleOptin   int    `json:\"double_optin\" v:\"in:0,1\" dc:\"Data confirmation ( 0: Single Opt-in, 1: Double Opt-in) Default:0\"`\n}\n\ntype CreateGroupRes struct {\n\tapi_v1.StandardRes\n}\n\n// ImportContactsReq Import contacts request\ntype ImportContactsReq struct {\n\tg.Meta        `path:\"/contact/group/import\" method:\"post\" tags:\"Contact\" summary:\"Import contacts\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupIds      []int  `json:\"group_ids\" v:\"required\" dc:\"Group IDs to import contacts into\"`\n\tFileData      string `json:\"file_data\" dc:\"file data\"`\n\tFileType      string `json:\"file_type\" v:\"in:csv,excel,txt\" dc:\"file type, default:txt\"`\n\tContacts      string `json:\"contacts\" dc:\"paste content, one email per line, optional with subscription status, format: email[,status]\"`\n\tImportType    int    `json:\"import_type\" v:\"required|in:1,2\" dc:\"Import type (1: Upload file content 2: Paste content)\"`\n\tDefaultActive int    `json:\"default_active\" v:\"in:0,1\" dc:\"Default subscription status (1: Subscribed 0: Unsubscribed) Default:1\"`\n\tStatus        int    `json:\"status\" v:\"in:0,1\" dc:\"Data confirmation (1:Confirmed   0:Unconfirmed) Default:0\"`\n\tOverwrite     int    `json:\"overwrite\" v:\"in:0,1\" dc:\"Overwrite attribs, subscription status of existing  (1:overwrite   0:unoverwrite) Default:0\"`\n}\n\n// ImportContactsRes Import contacts response\ntype ImportContactsRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tImportedCount int `json:\"imported_count\" dc:\"Number of successfully imported contacts\"`\n\t} `json:\"data\"`\n}\n\ntype ExportContactsReq struct {\n\tg.Meta          `path:\"/contact/group/export\" method:\"post\" tags:\"Contact\" summary:\"Export contacts\"`\n\tAuthorization   string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupIds        []int  `json:\"group_ids\" v:\"required\" dc:\"Group IDs\"`\n\tExportType      int    `json:\"export_type\" v:\"required|in:1,2\" dc:\"Export Type(1:Merged 2:Separate)\"`\n\tFormat          string `json:\"format\" v:\"required|in:csv,excel,txt\" dc:\"Export Format\"`\n\tIncludeInactive bool   `json:\"include_unsubscribe\" dc:\"Include Unsubscribed(Default:true)\"`\n}\n\ntype ExportContactsRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteGroupReq struct {\n\tg.Meta        `path:\"/contact/group/delete\" method:\"post\" tags:\"Contact\" summary:\"Delete contact group\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupIds      []int  `json:\"group_ids\" v:\"required\" dc:\"Group IDs\"`\n}\n\ntype DeleteGroupRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tSuccessCount int `json:\"success_count\" dc:\"Successfully Deleted Groups\"`\n\t\tFailedCount  int `json:\"failed_count\" dc:\"Failed Deleted Groups\"`\n\t} `json:\"data\"`\n}\n\ntype UpdateGroupReq struct {\n\tg.Meta        `path:\"/contact/group/update\" method:\"post\" tags:\"Contact\" summary:\"Update contact group\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" v:\"required\" dc:\"Group ID\"`\n\tName          string `json:\"name\" dc:\"Group Name\"`\n\tDescription   string `json:\"description\" dc:\"Description\"`\n\tDoubleOptin   int    `json:\"double_optin\" v:\"in:0,1\" dc:\"Double Opt-in Status(0: Single Opt-in 1: Double Opt-in) Default:0\"`\n\tWelcomeHtml   string `json:\"welcome_mail_html\" dc:\"Welcome Email Html\"`\n\tWelcomeDrag   string `json:\"welcome_mail_drag\" dc:\"Welcome Email Drag\"`\n\tConfirmHtml   string `json:\"confirm_mail_html\" dc:\"Confirmation Email Html\"`\n\tConfirmDrag   string `json:\"confirm_mail_drag\" dc:\"Confirmation Email Drag\"`\n\tSuccessUrl    string `json:\"success_url\" dc:\"Success URL\"`\n\tConfirmUrl    string `json:\"confirm_url\" dc:\"Confirmation URL\"`\n\tAlreadyUrl    string `json:\"already_url\" dc:\"Already Subscribed URL\"`\n\tSubscribeForm string `json:\"subscribe_form\" dc:\"Subscription Form HTML\"`\n\n\tWelcomeSubject   string `json:\"welcome_subject\" dc:\"Welcome Email Subject\"`\n\tSendWelcomeEmail int    `json:\"send_welcome_email\" dc:\"Whether to send a welcome email\"`\n\tConfirmSubject   string `json:\"confirm_subject\" dc:\"Confirmation Email Subject\"`\n}\n\ntype UpdateGroupRes struct {\n\tapi_v1.StandardRes\n}\n\ntype UpdateGroupUnsubscribeReq struct {\n\tg.Meta        `path:\"/contact/group/update_unsubscribe\" method:\"post\" tags:\"Contact\" summary:\"Update contact group Unsubscribe settings\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" v:\"required\" dc:\"Group ID\"`\n\n\tUnsubscribeMailHtml    string `json:\"unsubscribe_mail_html\" dc:\"Unsubscribe EmailHtml\"`\n\tUnsubscribeMailDrag    string `json:\"unsubscribe_mail_drag\" dc:\"Unsubscribe EmailDrag\"`\n\tUnsubscribeSubject     string `json:\"unsubscribe_subject\" dc:\"Unsubscribe Email Subject\"`\n\tUnsubscribeRedirectUrl string `json:\"unsubscribe_redirect_url\" dc:\"Unsubscribe Success RedirectURL\"`\n\tSendUnsubscribeEmail   int    `json:\"send_unsubscribe_email\" dc:\"Whether to send unsubscribe email\"`\n}\n\ntype UpdateGroupUnsubscribeRes struct {\n\tapi_v1.StandardRes\n}\ntype ListGroupsReq struct {\n\tg.Meta        `path:\"/contact/group/list\" method:\"get\" tags:\"Contact\" summary:\"List contact groups\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPage          int    `json:\"page\" v:\"required|min:1\" dc:\"Page Number\"`\n\tPageSize      int    `json:\"page_size\" v:\"required|min:1\" dc:\"Page Size\"`\n\tKeyword       string `json:\"keyword\" dc:\"Search Keyword\"`\n}\n\ntype ListGroupsRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int                 `json:\"total\" dc:\"Total Count\"`\n\t\tList  []*ContactGroupInfo `json:\"list\" dc:\"Group List\"`\n\t} `json:\"data\"`\n}\n\ntype ListContactsReq struct {\n\tg.Meta        `path:\"/contact/list\" method:\"get\" tags:\"Contact\" summary:\"List all contacts\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPage          int    `json:\"page\" v:\"required|min:1\" dc:\"Page Number\"`\n\tPageSize      int    `json:\"page_size\" v:\"required|min:1\" dc:\"Page Size\"`\n\tGroupId       int    `json:\"group_id\" dc:\"Group ID(Optional)\"`\n\tKeyword       string `json:\"keyword\" dc:\"Search Email\"`\n\tStatus        int    `json:\"status\" v:\"required|in:0,1\" dc:\"Status(1:Subscribed 0:Unsubscribed)\" default:\"1\"`\n}\n\ntype ListContactsRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int        `json:\"total\" dc:\"Total Count\"`\n\t\tList  []*Contact `json:\"list\" dc:\"Contact List\"`\n\t} `json:\"data\"`\n}\n\ntype ListContactsGroupsReq struct {\n\tg.Meta        `path:\"/contact/group/all\" method:\"get\" tags:\"Contact\" summary:\"List all contact groups\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tKeyword       string `json:\"keyword\" dc:\"Search Keyword\"`\n}\n\ntype ListContactsGroupsRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tList []*ContactGroup `json:\"list\" dc:\"Group List\"`\n\t} `json:\"data\"`\n}\n\ntype MergeContactsGroupsReq struct {\n\tg.Meta        `path:\"/contact/group/merge_contacts\" method:\"post\" tags:\"Contact\" summary:\"Merge contact groups\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSourceGroups  []int  `json:\"source_groups\" v:\"required\" dc:\"Source Group IDs\"`\n\tTargetGroup   int    `json:\"target_group\" v:\"required\" dc:\"Target Group ID\"`\n}\n\ntype MergeContactsGroupsRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteContactsReq struct {\n\tg.Meta        `path:\"/contact/delete\" method:\"post\" tags:\"Contact\" summary:\"Delete contacts\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tEmails        []string `json:\"emails\" v:\"required\" dc:\"Email Addresses\"`\n\tStatus        int      `json:\"status\" v:\"required|in:0,1\" dc:\"Status to Delete(1:Subscribed 0:Unsubscribed)\"`\n}\n\ntype DeleteContactsRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tDeletedCount int `json:\"deleted_count\" dc:\"Number of Deleted Contacts\"`\n\t} `json:\"data\"`\n}\n\ntype UpdateContactsGroupReq struct {\n\tg.Meta        `path:\"/contact/update_group\" method:\"post\" tags:\"Contact\" summary:\"Update contact group\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tEmails        []string `json:\"emails\" v:\"required\" dc:\"Email Addresses\"`\n\tStatus        int      `json:\"status\" v:\"required|in:0,1\" dc:\"Contact Status(1:Subscribed 0:Unsubscribed)\"`\n\tGroupIds      []int    `json:\"group_ids\" v:\"required\" dc:\"New Group IDs\"`\n}\n\ntype UpdateContactsGroupRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tUpdatedCount int `json:\"updated_count\" dc:\"Number of Updated Contacts\"`\n\t} `json:\"data\"`\n}\n\ntype GetContactsTrendReq struct {\n\tg.Meta           `path:\"/contact/trend\" method:\"get\" tags:\"Contact\" summary:\"Get contact trend\"`\n\tAuthorization    string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId          int    `json:\"group_id\" dc:\"Group ID\"`\n\tActive           int    `json:\"active\" v:\"in:0,1,-1\" dc:\"Active(1:Subscribed 0:Unsubscribed -1:all)\" default:\"-1\"`\n\tLastActiveStatus int    `json:\"last_active_status\" v:\"in:0,1,-1\" dc:\"Status(1:active 0:inactive -1:all)\" default:\"-1\"`\n\tTimeInterval     int    `json:\"time_interval\" dc:\"TimeInterval(7 : last 7 days, 30: last 30 days, 90: last 90 days, 180: last half year, 365: last year, 0: all)\" default:\"0\"`\n\tTags             string `json:\"tags\" dc:\"Tags(-1:all or tag IDs, multiple IDs separated by commas)\" default:\"-1\"`\n}\n\ntype MonthlyTrend struct {\n\tMonth            string `json:\"month\"               dc:\"Month Format: YYYY-MM\"`\n\tSubscribeCount   int    `json:\"subscribe_count\"    dc:\"Subscribe Count\"`\n\tUnsubscribeCount int    `json:\"unsubscribe_count\"  dc:\"Unsubscribe Count\"`\n}\n\ntype DailyTrend struct {\n\tDate             string `json:\"date\"                dc:\"Date Format: YYYY-MM-DD\"`\n\tSubscribeCount   int    `json:\"subscribe_count\"    dc:\"Subscribe Count\"`\n\tUnsubscribeCount int    `json:\"unsubscribe_count\"  dc:\"Unsubscribe Count\"`\n}\n\ntype GetContactsTrendRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTimeGranularity string          `json:\"time_granularity\" dc:\"Time Granularity (daily/monthly)\"`\n\t\tMonthlyData     []*MonthlyCount `json:\"monthly_data\" dc:\"Monthly Trend Data\"`\n\t\tDailyData       []*DailyCount   `json:\"daily_data\" dc:\"Daily Trend Data\"`\n\t} `json:\"data\"`\n}\n\ntype MonthlyCount struct {\n\tDate  string `json:\"date\" dc:\"Month Format: YYYY-MM\"`\n\tCount int    `json:\"count\" dc:\"Count\"`\n}\n\ntype DailyCount struct {\n\tDate  string `json:\"date\" dc:\"Date Format: YYYY-MM-DD\"`\n\tCount int    `json:\"count\" dc:\"Count\"`\n}\n\ntype GetGroupContactCountReq struct {\n\tg.Meta        `path:\"/contact/group/contact_count\" method:\"post\" tags:\"Contact\" summary:\"Get group contact count\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupIds      []int  `json:\"group_ids\" v:\"required\" dc:\"Group IDs\"`\n}\n\ntype GetGroupContactCountRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int `json:\"total\" dc:\"Total contact count\"`\n\t} `json:\"data\" dc:\"Data\"`\n}\n\ntype GetSingleGroupTagContactCountReq struct {\n\tg.Meta        `path:\"/contact/group/tag_contact_count\" method:\"post\" tags:\"Contact\" summary:\"Get single group contact count with tag ids\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" v:\"required\" dc:\"Group ID\"`\n\tTagIds        []int  `json:\"tag_ids\"  dc:\"Tag IDs\"`\n\tTagLogic      string `json:\"tag_logic\" v:\"required|in:AND,OR,NOT\" dc:\"Tag Logic (AND/OR/NOT)\"`\n}\n\ntype GetSingleGroupTagContactCountRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int `json:\"total\" dc:\"Total contact count with given tag ids in the group\"`\n\t} `json:\"data\" dc:\"Data\"`\n}\n\ntype GetGroupInfoReq struct {\n\tg.Meta        `path:\"/contact/group/info\" method:\"get\" tags:\"Contact\" summary:\"Get group info\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" v:\"required\" dc:\"Group ID\"`\n}\n\ntype GetGroupInfoRes struct {\n\tapi_v1.StandardRes\n\tData *ContactGroupInfo `json:\"data\" dc:\"Group Info\"`\n}\n\ntype EditContactsReq struct {\n\tg.Meta        `path:\"/contact/edit\" method:\"post\" tags:\"Contact\" summary:\"Edit contact\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tEmails        string `json:\"emails\"   v:\"required\"`\n\tActive        int    `json:\"active\"`\n\tGroupIds      []int  `json:\"group_ids\"`\n\tAttribs       string `json:\"attribs\"`\n}\n\ntype EditContactsRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ListContactsNDPReq struct {\n\tg.Meta           `path:\"/contact/list_ndp\" method:\"get\" tags:\"Contact\" summary:\"List all contacts\"`\n\tAuthorization    string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPage             int    `json:\"page\" v:\"required|min:1\" dc:\"Page Number\"`\n\tPageSize         int    `json:\"page_size\" v:\"required|min:1\" dc:\"Page Size\"`\n\tGroupId          int    `json:\"group_id\" dc:\"Group ID(Optional)\"`\n\tKeyword          string `json:\"keyword\" dc:\"Search Email\"`\n\tActive           int    `json:\"active\" v:\"required|in:0,1,-1\" dc:\"Active(1:Subscribed 0:Unsubscribed -1:all)\" default:\"-1\"`\n\tLastActiveStatus int    `json:\"last_active_status\" v:\"in:0,1,-1\" dc:\"Status(1:active 0:inactive -1:all)\" default:\"-1\"`\n\tTimeInterval     int    `json:\"time_interval\" dc:\"TimeInterval(7 : last 7 days, 30: last 30 days, 90: last 90 days, 180: last half year, 365: last year, 0: all)\" default:\"0\"`\n\tTags             string `json:\"tags\" dc:\"Tags(-1:all or tag IDs, multiple IDs separated by commas)\" default:\"-1\"`\n\tSortBy           string `json:\"sort_by\" v:\"in:create_time,last_active_at\" dc:\"Sort field (create_time: creation time, last_active_at: last active time)\" default:\"create_time\"`\n\tSortOrder        string `json:\"sort_order\" v:\"in:asc,desc\" dc:\"Sort order (asc: ascending, desc: descending)\" default:\"desc\"`\n}\n\ntype ListContactsNDPRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int        `json:\"total\" dc:\"Total Count\"`\n\t\tList  []*Contact `json:\"list\" dc:\"Contact List\"`\n\t} `json:\"data\"`\n}\n\ntype EditContactsNDPReq struct {\n\tg.Meta        `path:\"/contact/edit_ndp\" method:\"post\" tags:\"Contact\" summary:\"Edit contact\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\"   v:\"required\"`\n\tActive        int    `json:\"active\"`\n\tStatus        int    `json:\"status\"`\n\tAttribs       string `json:\"attribs\"`\n}\n\ntype EditContactsNDPRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteContactsNDPReq struct {\n\tg.Meta        `path:\"/contact/delete_ndp\" method:\"post\" tags:\"Contact\" summary:\"Delete contacts\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tIds           []string `json:\"ids\" v:\"required\" dc:\"contacts id\"`\n}\n\ntype DeleteContactsNDPRes struct {\n\tapi_v1.StandardRes\n}\n\ntype BatchTagContactsReq struct {\n\tg.Meta        `path:\"/contact/batch_tags_opt\" method:\"post\" tags:\"Contact\" summary:\"Tag contacts in bulk\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tIds           []int  `json:\"ids\" v:\"required\" dc:\"Contact IDs\"`\n\tTagIds        []int  `json:\"tag_ids\" v:\"required\" dc:\"Tag IDs\"`\n\tAction        int    `json:\"action\" v:\"required|in:1,2\" dc:\"Action (1: Add Tag, 2: Remove Tag)\"`\n}\ntype BatchTagContactsRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/dockerapi/dockerapi.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage dockerapi\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/dockerapi/v1\"\n)\n\ntype IDockerapiV1 interface {\n\tListContainer(ctx context.Context, req *v1.ListContainerReq) (res *v1.ListContainerRes, err error)\n\tContainerState(ctx context.Context, req *v1.ContainerStateReq) (res *v1.ContainerStateRes, err error)\n\tRestartContainer(ctx context.Context, req *v1.RestartContainerReq) (res *v1.RestartContainerRes, err error)\n}\n"
  },
  {
    "path": "core/api/dockerapi/v1/dockerapi.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/docker/docker/api/types/container\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// ContainerStats container status struct\ntype ContainerStats struct {\n\tCPU      float64 `json:\"cpu_percent\"`\n\tMemory   float64 `json:\"memory_percent\"`\n\tMemoryMB float64 `json:\"memory_mb\"`\n\tNetIO    struct {\n\t\tIn  float64 `json:\"in\"`\n\t\tOut float64 `json:\"out\"`\n\t} `json:\"net_io\"`\n\tBlockIO struct {\n\t\tIn  float64 `json:\"in\"`\n\t\tOut float64 `json:\"out\"`\n\t} `json:\"block_io\"`\n}\n\n// DockerStatsJSON container statistics JSON struct\ntype DockerStatsJSON struct {\n\tCPUStats struct {\n\t\tCPUUsage struct {\n\t\t\tTotalUsage        uint64   `json:\"total_usage\"`\n\t\t\tPercpuUsage       []uint64 `json:\"percpu_usage\"`\n\t\t\tUsageInKernelmode uint64   `json:\"usage_in_kernelmode\"`\n\t\t\tUsageInUsermode   uint64   `json:\"usage_in_usermode\"`\n\t\t} `json:\"cpu_usage\"`\n\t\tSystemUsage    uint64 `json:\"system_usage\"`\n\t\tOnlineCPUs     uint32 `json:\"online_cpus\"`\n\t\tThrottlingData struct {\n\t\t\tPeriods          uint64 `json:\"periods\"`\n\t\t\tThrottledPeriods uint64 `json:\"throttled_periods\"`\n\t\t\tThrottledTime    uint64 `json:\"throttled_time\"`\n\t\t} `json:\"throttling_data\"`\n\t} `json:\"cpu_stats\"`\n\tPreCPUStats struct {\n\t\tCPUUsage struct {\n\t\t\tTotalUsage        uint64   `json:\"total_usage\"`\n\t\t\tPercpuUsage       []uint64 `json:\"percpu_usage\"`\n\t\t\tUsageInKernelmode uint64   `json:\"usage_in_kernelmode\"`\n\t\t\tUsageInUsermode   uint64   `json:\"usage_in_usermode\"`\n\t\t} `json:\"cpu_usage\"`\n\t\tSystemUsage    uint64 `json:\"system_usage\"`\n\t\tOnlineCPUs     uint32 `json:\"online_cpus\"`\n\t\tThrottlingData struct {\n\t\t\tPeriods          uint64 `json:\"periods\"`\n\t\t\tThrottledPeriods uint64 `json:\"throttled_periods\"`\n\t\t\tThrottledTime    uint64 `json:\"throttled_time\"`\n\t\t} `json:\"throttling_data\"`\n\t} `json:\"precpu_stats\"`\n\tMemoryStats struct {\n\t\tUsage    uint64 `json:\"usage\"`\n\t\tMaxUsage uint64 `json:\"max_usage\"`\n\t\tLimit    uint64 `json:\"limit\"`\n\t} `json:\"memory_stats\"`\n\tNetworks map[string]struct {\n\t\tRxBytes   uint64 `json:\"rx_bytes\"`\n\t\tRxPackets uint64 `json:\"rx_packets\"`\n\t\tRxErrors  uint64 `json:\"rx_errors\"`\n\t\tRxDropped uint64 `json:\"rx_dropped\"`\n\t\tTxBytes   uint64 `json:\"tx_bytes\"`\n\t\tTxPackets uint64 `json:\"tx_packets\"`\n\t\tTxErrors  uint64 `json:\"tx_errors\"`\n\t\tTxDropped uint64 `json:\"tx_dropped\"`\n\t} `json:\"networks\"`\n\tBlkioStats struct {\n\t\tIoServiceBytesRecursive []struct {\n\t\t\tMajor uint64 `json:\"major\"`\n\t\t\tMinor uint64 `json:\"minor\"`\n\t\t\tOp    string `json:\"op\"`\n\t\t\tValue uint64 `json:\"value\"`\n\t\t} `json:\"io_service_bytes_recursive\"`\n\t} `json:\"blkio_stats\"`\n}\n\n// ExecResult execution result\ntype ExecResult struct {\n\tExitCode int    `json:\"exit_code\"`\n\tOutput   string `json:\"output\"`\n}\n\ntype ListContainerReq struct {\n\tg.Meta        `path:\"/docker_api/list\" tags:\"DockerApi\" method:\"get\" summary:\"list containers\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype ListContainerRes struct {\n\tapi_v1.StandardRes\n\tData []container.Summary `json:\"data\"`\n}\n\ntype ContainerStateReq struct {\n\tg.Meta        `path:\"/docker_api/state\" tags:\"DockerApi\" method:\"get\" summary:\"get container status\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tContainerID   string `json:\"container_id\" v:\"required|min-length:1\" dc:\"Container ID\" dc:\"Container ID\"`\n}\n\ntype ContainerStateRes struct {\n\tapi_v1.StandardRes\n\tData *ContainerStats `json:\"data\"`\n}\n\ntype RestartContainerReq struct {\n\tg.Meta        `path:\"/docker_api/restart\" tags:\"DockerApi\" method:\"post\" summary:\"restart container\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tContainerID   string `json:\"container_id\" v:\"required|min-length:1\" dc:\"Container ID\" dc:\"Container ID\"`\n}\n\ntype RestartContainerRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/domains/domains.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage domains\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\ntype IDomainsV1 interface {\n\tCheckBlacklist(ctx context.Context, req *v1.CheckBlacklistReq) (res *v1.CheckBlacklistRes, err error)\n\tGetBlocklistCheckLogs(ctx context.Context, req *v1.GetBlocklistCheckLogsReq) (res *v1.GetBlocklistCheckLogsRes, err error)\n\tAddDomain(ctx context.Context, req *v1.AddDomainReq) (res *v1.AddDomainRes, err error)\n\tUpdateDomain(ctx context.Context, req *v1.UpdateDomainReq) (res *v1.UpdateDomainRes, err error)\n\tUpdateDomainBrandinfo(ctx context.Context, req *v1.UpdateDomainBrandinfoReq) (res *v1.UpdateDomainBrandinfoRes, err error)\n\tDeleteDomain(ctx context.Context, req *v1.DeleteDomainReq) (res *v1.DeleteDomainRes, err error)\n\tGetDomain(ctx context.Context, req *v1.GetDomainReq) (res *v1.GetDomainRes, err error)\n\tGetDomainAll(ctx context.Context, req *v1.GetDomainAllReq) (res *v1.GetDomainAllRes, err error)\n\tFreshDNSRecords(ctx context.Context, req *v1.FreshDNSRecordsReq) (res *v1.FreshDNSRecordsRes, err error)\n\tSetSSL(ctx context.Context, req *v1.SetSSLReq) (res *v1.SetSSLRes, err error)\n\tGetSSL(ctx context.Context, req *v1.GetSSLReq) (res *v1.GetSSLRes, err error)\n\tSetDefaultDomain(ctx context.Context, req *v1.SetDefaultDomainReq) (res *v1.SetDefaultDomainRes, err error)\n\tApplyMultiIPDomainConfig(ctx context.Context, req *v1.ApplyMultiIPDomainConfigReq) (res *v1.ApplyMultiIPDomainConfigRes, err error)\n\tTestMultiIPDomainConfig(ctx context.Context, req *v1.TestMultiIPDomainConfigReq) (res *v1.TestMultiIPDomainConfigRes, err error)\n\tApplyCert(ctx context.Context, req *v1.ApplyCertReq) (res *v1.ApplyCertRes, err error)\n\tGetCertList(ctx context.Context, req *v1.GetCertListReq) (res *v1.GetCertListRes, err error)\n\tConsoleApplyCert(ctx context.Context, req *v1.ConsoleApplyCertReq) (res *v1.ConsoleApplyCertRes, err error)\n}\n"
  },
  {
    "path": "core/api/domains/v1/domain_blocklist.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// 手动调用黑名单检查\ntype CheckBlacklistReq struct {\n\tg.Meta        `path:\"/domain_blocklist/check\" tags:\"Domain\" method:\"post\" sm:\"CheckBlacklist\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tARecord       string `json:\"a_record\" v:\"required|domain\"`\n}\n\ntype CheckBlacklistRes struct {\n\tapi_v1.StandardRes\n}\n\n// 获取检查日志\ntype GetBlocklistCheckLogsReq struct {\n\tg.Meta        `path:\"/domain_blocklist/logs\" tags:\"Domain\" method:\"get\" sm:\"GetBlocklistCheckLogs\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPath          string `json:\"path\" v:\"required\"`\n}\n\ntype GetBlocklistCheckLogsRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/domains/v1/domains.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// DNSRecord defines the DNS record entity\ntype DNSRecord struct {\n\tType  string `json:\"type\"`\n\tHost  string `json:\"host\"`\n\tValue string `json:\"value\"`\n\tValid bool   `json:\"valid\"`\n}\n\ntype DNSRecords struct {\n\tSPF       DNSRecord `json:\"spf\"          dc:\"SPF record\"`\n\tDKIM      DNSRecord `json:\"dkim\"         dc:\"DKIM record\"`\n\tDKIMShort DNSRecord `json:\"dkim_short\"   dc:\"DKIM short record\"`\n\tDMARC     DNSRecord `json:\"dmarc\"        dc:\"DMARC record\"`\n\tMX        DNSRecord `json:\"mx\"           dc:\"MX record\"`\n\tA         DNSRecord `json:\"a\"            dc:\"A record\"`\n\tPTR       DNSRecord `json:\"ptr\"          dc:\"PTR record\"`\n}\n\ntype CertInfo struct {\n\tSubject   string   `json:\"subject\" dc:\"Primary domain\"`\n\tIssuer    string   `json:\"issuer\" dc:\"Certificate brand information\"`\n\tNotBefore string   `json:\"not_before\" dc:\"Validity start time\"`\n\tNotAfter  string   `json:\"not_after\" dc:\"Validity end time\"`\n\tDNSNames  []string `json:\"dns\" dc:\"Optional domain list\"`\n\tEndtime   int      `json:\"endtime\" dc:\"Expiration time, timestamp\"`\n\tKeyPem    string   `json:\"key_pem\" dc:\"Key pem file\"`\n\tCertPem   string   `json:\"cert_pem\" dc:\"Certificate pem file\"`\n}\n\n// Domain defines the domain entity\ntype Domain struct {\n\tDomain         string         `json:\"domain\"        dc:\"Domain name\"`\n\tARecord        string         `json:\"a_record\"      dc:\"A record\"`\n\tMailboxes      int            `json:\"mailboxes\"     dc:\"Number of mailboxes created\"`\n\tMailboxQuota   int64          `json:\"mailbox_quota\" dc:\"Default mailbox space size\"`\n\tQuota          int64          `json:\"quota\"         dc:\"Domain quota\"`\n\tRateLimit      int            `json:\"rate_limit\"    dc:\"Rate limit for sending emails per second\"`\n\tCreateTime     int64          `json:\"create_time\"   dc:\"Creation time\"`\n\tActive         int            `json:\"active\"        dc:\"Status: 1-enabled, 0-disabled\"`\n\tDNSRecords     DNSRecords     `json:\"dns_records\" dc:\"DNS records\"`\n\tCertInfo       CertInfo       `json:\"cert_info\" dc:\"Certificate information\"`\n\tCatchall       string         `json:\"email\"      dc:\"Cache all DNS records, used for domain verification\"`\n\tDefault        int            `json:\"default\"      dc:\"Default sender domain, 1-yes, 0-no\"`\n\tUrls           []string       `json:\"urls\" dc:\"Additional URLs associated with the domain\"`\n\tHasBrandInfo   int            `json:\"hasbrandinfo\"        dc:\"Brand information : 1-exist, 0-not exist\"`\n\tMultiIPDomains *MultiIPDomain `json:\"multi_ip_domains\" dc:\"Multiple IP domains\"`\n\tCurrentUsage   int64          `json:\"current_usage\" dc:\"Domain Current usage\"`\n\n\tBlackCheckResult *BlacklistCheckResult `json:\"black_check_result\" dc:\"Last blacklist check result\"`\n\tBlackCheckLog    string                `json:\"black_check_log\" dc:\"Path to blacklist check log file\"`\n}\n\ntype BlacklistCheckResult struct {\n\tTime        int64             `json:\"time\"`\n\tResults     string            `json:\"results\"`\n\tIP          string            `json:\"ip\"`\n\tTested      int               `json:\"tested\"`\n\tPassed      int               `json:\"passed\"`\n\tInvalid     int               `json:\"invalid\"`\n\tBlacklisted int               `json:\"blacklisted\"`\n\tBlackList   []BlacklistDetail `json:\"black_list\"`\n}\n\n// BlacklistDetail\ntype BlacklistDetail struct {\n\tBlacklist string `json:\"blacklist\"`\n\tResponse  string `json:\"response\"`\n\tTime      int64  `json:\"time\"`\n}\n\ntype AddDomainReq struct {\n\tg.Meta        `path:\"/domains/create\" tags:\"Domain\" method:\"post\" sm:\"Add domain\" in:\"body\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string   `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n\tHostname      string   `json:\"hostname\" v:\"domain\" dc:\"Hostname, used for A record\"`\n\tMailboxes     int      `json:\"mailboxes\" v:\"min:1\" dc:\"Mailboxes\" d:\"50\"`\n\tMailboxQuota  int      `json:\"mailboxQuota\" v:\"min:1\" dc:\"MailboxQuota\" d:\"5242880\"`\n\tQuota         int      `json:\"quota\" v:\"required\" dc:\"Quota\" d:\"10485760\"`\n\tRateLimit     int      `json:\"rateLimit\" v:\"min:1\" dc:\"RateLimit\" d:\"12\"`\n\tCatchall      string   `json:\"email\" v:\"email\" dc:\"Catch all email address, used for domain verification\"`\n\tUrls          []string `json:\"urls\" dc:\"Additional URLs associated with the domain\"`\n\tHasBrandInfo  int      `json:\"hasbrandinfo\"        dc:\"Brand information : 1-exist, 0-not exist\"`\n\tOutboundIp    string   `json:\"outbound_ip\" v:\"ipv4\" dc:\"Exclusive IP address for the domain, used for sending emails\"`\n}\n\ntype AddDomainRes struct {\n\tapi_v1.StandardRes\n}\n\ntype UpdateDomainReq struct {\n\tg.Meta        `path:\"/domains/update\" tags:\"Domain\" method:\"post\" sm:\"Update domain\" in:\"body\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string   `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n\tHostname      string   `json:\"hostname\" v:\"domain\" dc:\"Hostname, used for A record\"`\n\tMailboxes     int      `json:\"mailboxes\" v:\"min:1\" dc:\"Mailboxes\" d:\"50\"`\n\tMailboxQuota  int      `json:\"mailboxQuota\" v:\"min:1\" dc:\"MailboxQuota\" d:\"5242880\"`\n\tQuota         int      `json:\"quota\" dc:\"Quota\" d:\"10485760\"`\n\tRateLimit     int      `json:\"rateLimit\" v:\"min:1\" dc:\"RateLimit\" d:\"12\"`\n\tActive        int      `json:\"active\" dc:\"Active\" d:\"1\"`\n\tCatchall      string   `json:\"email\" v:\"email\" dc:\"Catch all email address, used for domain verification\"`\n\tUrls          []string `json:\"urls\" dc:\"Additional URLs associated with the domain\"`\n\tHasBrandInfo  int      `json:\"hasbrandinfo\"        dc:\"Brand information : 1-exist, 0-not exist\"`\n\tOutboundIp    string   `json:\"outbound_ip\" v:\"ipv4\" dc:\"Exclusive IP address for the domain, used for sending emails\"`\n}\n\ntype UpdateDomainRes struct {\n\tapi_v1.StandardRes\n}\n\ntype UpdateDomainBrandinfoReq struct {\n\tg.Meta        `path:\"/domains/update_brandinfo\" tags:\"Domain\" method:\"post\" sm:\"Update domain brandinfo\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n\tHasBrandInfo  int    `json:\"hasbrandinfo\"        dc:\"Brand information : 1-exist, 0-not exist\"`\n}\n\ntype UpdateDomainBrandinfoRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteDomainReq struct {\n\tg.Meta        `path:\"/domains/delete\" tags:\"Domain\" method:\"post\" sm:\"Delete domain\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n}\n\ntype DeleteDomainRes struct {\n\tapi_v1.StandardRes\n}\ntype MultiIPDomain struct {\n\tID             int    `json:\"id\"`\n\tDomain         string `json:\"domain\"`\n\tOutboundIP     string `json:\"outbound_ip\"`\n\tNetworkName    string `json:\"network_name\"`\n\tSubnet         string `json:\"subnet\"`\n\tPostfixIP      string `json:\"postfix_ip\"`\n\tAliases        string `json:\"aliases\"`\n\tSMTPServerName string `json:\"smtp_server_name\"`\n\tActive         int    `json:\"active\"`\n\tCreateTime     int    `json:\"create_time\"`\n\tUpdateTime     int    `json:\"update_time\"`\n\tStatus         string `json:\"status\"`\n}\n\ntype GetDomainReq struct {\n\tg.Meta        `path:\"/domains/list\" tags:\"Domain\" method:\"get\" sm:\"Get domain\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tKeyword       string `json:\"keyword\" dc:\"Keyword\"`\n\tPage          int    `json:\"page\" dc:\"Page\" d:\"1\"`\n\tPageSize      int    `json:\"page_size\" dc:\"Page size\" d:\"20\"`\n}\n\ntype GetDomainRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int      `json:\"total\"`\n\t\tList  []Domain `json:\"list\"`\n\t} `json:\"data\"`\n}\n\ntype GetDomainAllReq struct {\n\tg.Meta        `path:\"/domains/all\" tags:\"Domain\" method:\"get\" sm:\"Get all domains\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype GetDomainAllRes struct {\n\tapi_v1.StandardRes\n\tData []Domain `json:\"data\"`\n}\n\ntype FreshDNSRecordsReq struct {\n\tg.Meta        `path:\"/domains/fresh_dns_records\" tags:\"Domain\" method:\"post\" sm:\"Refresh DNS records\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n}\n\ntype FreshDNSRecordsRes struct {\n\tapi_v1.StandardRes\n\tData DNSRecords `json:\"data\" dc:\"DNS records\"`\n}\n\ntype SetSSLReq struct {\n\tg.Meta        `path:\"/domains/set_ssl\" tags:\"Domain\" method:\"post\" sm:\"Set SSL\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n\tCertificate   string `json:\"certificate\" v:\"required\" dc:\"Certificate\"`\n\tKey           string `json:\"key\" v:\"required\" dc:\"Key\"`\n}\n\ntype SetSSLRes struct {\n\tapi_v1.StandardRes\n}\n\ntype GetSSLReq struct {\n\tg.Meta        `path:\"/domains/get_ssl\" tags:\"Domain\" method:\"get\" sm:\"Get SSL\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n}\n\ntype GetSSLRes struct {\n\tapi_v1.StandardRes\n\tData CertInfo `json:\"data\" dc:\"Certificate information\"`\n}\n\ntype SetDefaultDomainReq struct {\n\tg.Meta        `path:\"/domains/set_default_domain\" tags:\"Domain\" method:\"post\" sm:\"Set default sender domain\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n}\ntype SetDefaultDomainRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/domains/v1/multi_ip_domain.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// ApplyMultiIPDomainConfigReq\ntype ApplyMultiIPDomainConfigReq struct {\n\tg.Meta        `path:\"/multi_ip_domain/apply\" method:\"post\" summary:\"Apply multi-IP domain configuration\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\n// ApplyMultiIPDomainConfigRes\ntype ApplyMultiIPDomainConfigRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tAppliedConfigs []string `json:\"applied_configs\" dc:\"Applied configurations\"`\n\t\tFailedConfigs  []string `json:\"failed_configs\" dc:\"Failed configurations\"`\n\t\tWarnings       []string `json:\"warnings\" dc:\"Warning messages\"`\n\t\tCommand        string   `json:\"command\" dc:\"Utility command\"`\n\t\tFixCommand     string   `json:\"fix_command\" dc:\"Recovery command\"`\n\t} `json:\"data\"`\n}\n\n// TestMultiIPDomainConfigReq Request to test multi-IP domain configuration\ntype TestMultiIPDomainConfigReq struct {\n\tg.Meta        `path:\"/multi_ip_domain/test\" method:\"post\" summary:\"Test multi-IP domain configuration\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required\" dc:\"Domain name\"`\n\tOutboundIP    string `json:\"outbound_ip\" v:\"required\" dc:\"Outbound IP\"`\n}\n\n// TestMultiIPDomainConfigRes Response for testing multi-IP domain configuration\ntype TestMultiIPDomainConfigRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/domains/v1/ssl.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype ApplyCertReq struct {\n\tg.Meta        `path:\"/ssl/apply_cert\" tags:\"SSL\" method:\"post\" sm:\"ApplyCert\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\"`\n}\n\ntype ApplyCertRes struct {\n\tapi_v1.StandardRes\n}\n\ntype GetCertListReq struct {\n\tg.Meta        `path:\"/ssl/get_cert_list\" tags:\"SSL\" method:\"post\" sm:\"GetCertList\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype GetCertListRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ConsoleApplyCertReq struct {\n\tg.Meta        `path:\"/ssl/console_apply_cert\" tags:\"SSL\" method:\"post\" sm:\"ConsoleApplyCert\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\ntype ConsoleApplyCertRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/email_template/email_template.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage email_template\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/email_template/v1\"\n)\n\ntype IEmailTemplateV1 interface {\n\tCreateTemplate(ctx context.Context, req *v1.CreateTemplateReq) (res *v1.CreateTemplateRes, err error)\n\tDeleteTemplate(ctx context.Context, req *v1.DeleteTemplateReq) (res *v1.DeleteTemplateRes, err error)\n\tUpdateTemplate(ctx context.Context, req *v1.UpdateTemplateReq) (res *v1.UpdateTemplateRes, err error)\n\tListTemplates(ctx context.Context, req *v1.ListTemplatesReq) (res *v1.ListTemplatesRes, err error)\n\tCopyTemplate(ctx context.Context, req *v1.CopyTemplateReq) (res *v1.CopyTemplateRes, err error)\n\tGetTemplate(ctx context.Context, req *v1.GetTemplateReq) (res *v1.GetTemplateRes, err error)\n\tGetAllTemplates(ctx context.Context, req *v1.GetAllTemplatesReq) (res *v1.GetAllTemplatesRes, err error)\n\tCheckEmailContent(ctx context.Context, req *v1.CheckEmailContentReq) (res *v1.CheckEmailContentRes, err error)\n}\n"
  },
  {
    "path": "core/api/email_template/v1/email_template.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// EmailTemplate defines the email template entity\ntype EmailTemplate struct {\n\tId         int    `json:\"id\"          description:\"Template ID\"     orm:\"id\"`\n\tTempName   string `json:\"temp_name\"   description:\"Template Name\"   orm:\"temp_name\"`\n\tAddType    int    `json:\"add_type\"    description:\"Type\"           orm:\"add_type\"`\n\tContent    string `json:\"html_content\"     description:\"Email Content\"   orm:\"content\"`\n\tRender     string `json:\"drag_data\"      description:\"Render Data\"     orm:\"render\"`\n\tCreateTime int    `json:\"create_time\" description:\"Create Time\"     orm:\"create_time\"`\n\tUpdateTime int    `json:\"update_time\" description:\"Update Time\"     orm:\"update_time\"`\n\tChat_id    string `json:\"chat_id\"     description:\"Exclusive AI Email\"   orm:\"chat_id\"`\n}\n\n// CreateTemplateReq Create template request\ntype CreateTemplateReq struct {\n\tg.Meta        `path:\"/email_template/create\" method:\"post\" tags:\"EmailTemplate\" summary:\"Create email template\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tTempName      string `json:\"temp_name\" v:\"required\" dc:\"Template Name\"`\n\tAddType       int    `json:\"add_type\" v:\"required|in:0,1,2\" dc:\"Add Type(0:HTML 1:Drag 2:AI)\"`\n\tContent       string `json:\"html_content\" dc:\"HTML Content(Required when add_type=0,1)\"`\n\tRender        string `json:\"drag_data\" dc:\"Drag and Drop Render Data(Required when add_type=1)\"`\n\tChat_id       string `json:\"chat_id\" dc:\"Exclusive AI Email\"`\n}\n\ntype CreateTemplateRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tId int `json:\"id\" dc:\"Template ID\"`\n\t} `json:\"data\"`\n}\n\n// DeleteTemplateReq Delete template request\ntype DeleteTemplateReq struct {\n\tg.Meta        `path:\"/email_template/delete\" method:\"post\" tags:\"EmailTemplate\" summary:\"Delete email template\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required\" dc:\"Template ID\"`\n}\n\ntype DeleteTemplateRes struct {\n\tapi_v1.StandardRes\n}\n\n// UpdateTemplateReq Update template request\ntype UpdateTemplateReq struct {\n\tg.Meta        `path:\"/email_template/update\" method:\"post\" tags:\"EmailTemplate\" summary:\"Update email template\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required\" dc:\"Template ID\"`\n\tTempName      string `json:\"temp_name\" dc:\"Template Name\"`\n\tContent       string `json:\"html_content\" dc:\"HTML Content\"`\n\tRender        string `json:\"drag_data\" dc:\"Render Data\"`\n}\n\ntype UpdateTemplateRes struct {\n\tapi_v1.StandardRes\n}\n\n// ListTemplatesReq List templates request\ntype ListTemplatesReq struct {\n\tg.Meta        `path:\"/email_template/list\" method:\"get\" tags:\"EmailTemplate\" summary:\"Get email template list\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPage          int    `json:\"page\" v:\"required|min:1\" dc:\"Page Number\"`\n\tPageSize      int    `json:\"page_size\" v:\"required|min:1\" dc:\"Page Size\"`\n\tKeyword       string `json:\"keyword\" dc:\"Search Keyword(Template Name)\"`\n\tAddType       int    `json:\"add_type\" dc:\"Add Type Filter(0:Upload 1:Drag and Drop 2:AI -1:All)\" default:\"-1\"`\n}\n\ntype ListTemplatesRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int              `json:\"total\" dc:\"Total Count\"`\n\t\tList  []*EmailTemplate `json:\"list\" dc:\"Template List\"`\n\t} `json:\"data\"`\n}\n\n// CopyTemplateReq Copy template request\ntype CopyTemplateReq struct {\n\tg.Meta        `path:\"/email_template/copy\" method:\"post\" tags:\"EmailTemplate\" summary:\"Copy email template\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required\" dc:\"Template ID\"`\n\tChat_id       string `json:\"chat_id\" dc:\"Exclusive AI Email\"`\n}\n\ntype CopyTemplateRes struct {\n\tapi_v1.StandardRes\n}\n\n// GetTemplateReq Req Get template request\ntype GetTemplateReq struct {\n\tg.Meta        `path:\"/email_template/get\" method:\"get\" tags:\"EmailTemplate\" summary:\"Get email template\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required\" dc:\"Template ID\"`\n}\ntype GetTemplateRes struct {\n\tapi_v1.StandardRes\n\tData *EmailTemplate `json:\"data\" dc:\"Template Data\"`\n}\n\ntype GetAllTemplatesReq struct {\n\tg.Meta        `path:\"/email_template/all\" method:\"get\" tags:\"EmailTemplate\" summary:\"Get all email templates\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\ntype GetAllTemplatesRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ScoreItem struct {\n\tName   string  `json:\"name\"`\n\tDetail string  `json:\"detail\"`\n\tScore  float64 `json:\"score\"`\n}\n\ntype CheckEmailContentReq struct {\n\tg.Meta        `path:\"/email_template/check\" method:\"post\" tags:\"EmailTemplate\" summary:\"Check email content\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tContent       string `json:\"content\" dc:\"Email Content\"`\n}\n\ntype CheckEmailContentRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tScore float64     `json:\"score\"`\n\t\tItems []ScoreItem `json:\"items\"`\n\t} `json:\"data\"`\n}\n"
  },
  {
    "path": "core/api/files/files.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage files\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/files/v1\"\n)\n\ntype IFilesV1 interface {\n\tDownloadFile(ctx context.Context, req *v1.DownloadFileReq) (res *v1.DownloadFileRes, err error)\n\tReadFile(ctx context.Context, req *v1.ReadFileReq) (res *v1.ReadFileRes, err error)\n}\n"
  },
  {
    "path": "core/api/files/v1/files.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// DownloadFileReq File download request\ntype DownloadFileReq struct {\n\tg.Meta        `path:\"/file/download\" method:\"get\" tags:\"Files\" summary:\"Download file by path\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\" v:\"required\"`\n\tFilePath      string `json:\"file_path\"    v:\"required\" dc:\"File path for download\"`\n}\n\n// DownloadFileRes File download response\ntype DownloadFileRes struct {\n\tapi_v1.StandardRes\n}\n\ntype ReadFileReq struct {\n\tg.Meta        `path:\"/file/read\" method:\"get\" tags:\"Files\" summary:\"Read file by path\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\" v:\"required\"`\n\tFilePath      string `json:\"file_path\"    v:\"required\" dc:\"File path for read\"`\n}\n\n// ReadFileRes File read response\ntype ReadFileRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/languages/languages.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage languages\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/languages/v1\"\n)\n\ntype ILanguagesV1 interface {\n\tSetLanguage(ctx context.Context, req *v1.SetLanguageReq) (res *v1.SetLanguageRes, err error)\n\tGetLanguage(ctx context.Context, req *v1.GetLanguageReq) (res *v1.GetLanguageRes, err error)\n}\n"
  },
  {
    "path": "core/api/languages/v1/languages.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype SetLanguageReq struct {\n\tg.Meta        `path:\"/languages/set\" method:\"post\" tags:\"Languages\" summary:\"Set Language\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tLanguage      string `json:\"language\"  v:\"required\" dc:\"Language\"`\n}\n\ntype SetLanguageRes struct {\n\tapi_v1.StandardRes\n}\n\ntype LanguageInfo struct {\n\tName      string `json:\"name\"`\n\tGoogle    string `json:\"google\"`\n\tTitle     string `json:\"title\"`\n\tLocalName string `json:\"cn\"`\n}\n\ntype GetLanguageReq struct {\n\tg.Meta        `path:\"/languages/get\" method:\"get\" tags:\"Languages\" summary:\"Get Language\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype GetLanguageRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tCurrentLanguage    string         `json:\"current_language\"`\n\t\tAvailableLanguages []LanguageInfo `json:\"available_languages\"`\n\t} `json:\"data\"`\n}\n"
  },
  {
    "path": "core/api/mail_boxes/mail_boxes.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage mail_boxes\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/mail_boxes/v1\"\n)\n\ntype IMailBoxesV1 interface {\n\tAddMailbox(ctx context.Context, req *v1.AddMailboxReq) (res *v1.AddMailboxRes, err error)\n\tBatchAddMailbox(ctx context.Context, req *v1.BatchAddMailboxReq) (res *v1.BatchAddMailboxRes, err error)\n\tUpdateMailbox(ctx context.Context, req *v1.UpdateMailboxReq) (res *v1.UpdateMailboxRes, err error)\n\tDeleteMailbox(ctx context.Context, req *v1.DeleteMailboxReq) (res *v1.DeleteMailboxRes, err error)\n\tGetMailbox(ctx context.Context, req *v1.GetMailboxReq) (res *v1.GetMailboxRes, err error)\n\tGetAllMailbox(ctx context.Context, req *v1.GetAllMailboxReq) (res *v1.GetAllMailboxRes, err error)\n\tGetAllEmail(ctx context.Context, req *v1.GetAllEmailReq) (res *v1.GetAllEmailRes, err error)\n\tExportMailbox(ctx context.Context, req *v1.ExportMailboxReq) (res *v1.ExportMailboxRes, err error)\n\tImportMailbox(ctx context.Context, req *v1.ImportMailboxReq) (res *v1.ImportMailboxRes, err error)\n}\n"
  },
  {
    "path": "core/api/mail_boxes/v1/mailboxes.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// Mailbox defines the mailbox entity\ntype Mailbox struct {\n\tUsername       string `json:\"username\"        dc:\"Email address\"`\n\tPassword       string `json:\"password\"        dc:\"Password\"`\n\tPasswordEncode string `json:\"password_encode\" dc:\"Encoded password\"`\n\tFullName       string `json:\"full_name\"       dc:\"Full name\"`\n\tIsAdmin        int    `json:\"is_admin\"        dc:\"Is administrator: 1-yes, 0-no\"`\n\tMaildir        string `json:\"maildir\"         dc:\"Mailbox directory\"`\n\tQuota          int64  `json:\"quota\"           dc:\"Mailbox quota\"`\n\tLocalPart      string `json:\"local_part\"      dc:\"Local part (username)\"`\n\tDomain         string `json:\"domain\"          dc:\"Domain name\"`\n\tCreateTime     int64  `json:\"create_time\"     dc:\"Creation time\"`\n\tUpdateTime     int64  `json:\"update_time\"     dc:\"Update time\"`\n\tActive         int    `json:\"active\"          dc:\"Status: 1-enabled, 0-disabled\"`\n\tUsedQuota      int64  `json:\"used_quota\"           dc:\"Used Mailbox quota\"`\n\tQuotaActive    int    `json:\"quota_active\"    dc:\"Quota switch 1: On 0: Off\"`\n}\n\ntype AddMailboxReq struct {\n\tg.Meta        `path:\"/mailbox/create\" tags:\"MailBox\" method:\"post\" summary:\"Create mailbox\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n\tFullName      string `json:\"full_name\" v:\"min-length:1\" dc:\"username\"`\n\tLocalPart     string `json:\"local_part\" v:\"required|min-length:1|regex:[\\\\w-]{1,}\" dc:\"local_part\"`\n\tPassword      string `json:\"password\" v:\"required|min-length:8\" dc:\"Password\"`\n\tActive        int    `json:\"active\" v:\"required\" dc:\"Status\" d:\"1\"`\n\tIsAdmin       int    `json:\"isAdmin\" v:\"required\" dc:\"IsAdmin\" d:\"0\"`\n\tQuota         int    `json:\"quota\"  dc:\"Quota\" d:\"5242880\"`\n\tQuotaActive   int    `json:\"quota_active\" v:\"in:0,1\" dc:\"Quota switch 1: On 0: Off\" d:\"1\"`\n}\n\ntype AddMailboxRes struct {\n\tapi_v1.StandardRes\n}\n\ntype BatchAddMailboxReq struct {\n\tg.Meta        `path:\"/mailbox/batch_create\" tags:\"MailBox\" method:\"post\" summary:\"Batch create mailbox\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n\tQuota  int    `json:\"quota\"   dc:\"Quota\" d:\"5242880\"`\n\tCount  int    `json:\"count\" v:\"required|min:2\" dc:\"Count\" d:\"10\"`\n\tPrefix string `json:\"prefix\" v:\"regex:[\\\\w-]{0,}\" dc:\"Email name prefix, optional\" d:\"user\"`\n\tQuotaActive   int    `json:\"quota_active\" v:\"in:0,1\" dc:\"Quota switch 1: On 0: Off\" d:\"1\"`\n}\n\ntype BatchAddMailboxRes struct {\n\tapi_v1.StandardRes\n}\n\ntype UpdateMailboxReq struct {\n\tg.Meta        `path:\"/mailbox/update\" tags:\"MailBox\" method:\"post\" summary:\"Update mailbox\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"required|domain\" dc:\"Domain\"`\n\tFullName      string `json:\"full_name\" v:\"min-length:1\" dc:\"username\"`\n\tLocalPart     string `json:\"local_part\" v:\"required|min-length:1|regex:[\\\\w-]{1,}\" dc:\"local_part\"`\n\tPassword      string `json:\"password\" v:\"required|min-length:8\" dc:\"Password\"`\n\tActive        int    `json:\"active\" v:\"required\" dc:\"Status\" d:\"1\"`\n\tIsAdmin       int    `json:\"isAdmin\" v:\"required\" dc:\"IsAdmin\" d:\"0\"`\n\tQuota         int    `json:\"quota\"  dc:\"Quota\" d:\"5242880\"`\n\tQuotaActive   int    `json:\"quota_active\" v:\"in:0,1\" dc:\"Quota switch 1: On 0: Off\" d:\"1\"`\n}\n\ntype UpdateMailboxRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteMailboxReq struct {\n\tg.Meta        `path:\"/mailbox/delete\" tags:\"MailBox\" method:\"post\" summary:\"Delete mailbox (batch supported)\" in:\"body\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tEmails        []string `json:\"emails\" v:\"required\" dc:\"Email address list for delete\"`\n}\n\ntype DeleteMailboxRes struct {\n\tapi_v1.StandardRes\n}\ntype MailboxWithMxRecord struct {\n\tMailbox\n\tMxRecord string `json:\"mx\" dc:\"MX record for the domain\"`\n}\ntype GetMailboxReq struct {\n\tg.Meta        `path:\"/mailbox/list\" tags:\"MailBox\" method:\"get\" summary:\"Get mailbox\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tKeyword       string `json:\"keyword\" dc:\"Keyword\"`\n\tDomain        string `json:\"domain\" v:\"domain\" dc:\"Domain\"`\n\tPage          int    `json:\"page\" v:\"min:1\" dc:\"Page\" d:\"1\"`\n\tPageSize      int    `json:\"page_size\" v:\"min:1\" dc:\"Page size\" d:\"20\"`\n}\n\ntype GetMailboxRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int                   `json:\"total\"`\n\t\tList  []MailboxWithMxRecord `json:\"list\"`\n\t} `json:\"data\"`\n}\n\ntype GetAllMailboxReq struct {\n\tg.Meta        `path:\"/mailbox/all\" tags:\"MailBox\" method:\"get\" summary:\"Get all mailbox\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"domain\" dc:\"Domain\"`\n}\n\ntype GetAllMailboxRes struct {\n\tapi_v1.StandardRes\n\tData []Mailbox `json:\"data\"`\n}\n\ntype GetAllEmailReq struct {\n\tg.Meta        `path:\"/mailbox/all_email\" tags:\"MailBox\" method:\"get\" summary:\"Get all email\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"domain\" dc:\"Domain\"`\n}\n\ntype GetAllEmailRes struct {\n\tapi_v1.StandardRes\n\tData []string `json:\"data\"` // List of email addresses\n}\n\n// 导出邮箱\ntype ExportMailboxReq struct {\n\tg.Meta        `path:\"/mailbox/export\" tags:\"MailBox\" method:\"post\" summary:\"Export mailbox\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" v:\"domain\" dc:\"Domain\"`\n\tFileType      string `json:\"file_type\" v:\"in:csv,txt,json\" dc:\"File type to export, csv or txt or json (default: csv)\"`\n}\n\ntype ExportMailboxRes struct {\n\tapi_v1.StandardRes\n}\n\n// 导入邮箱\ntype ImportMailboxReq struct {\n\tg.Meta        `path:\"/mailbox/import\" tags:\"MailBox\" method:\"post\" summary:\"Import mailbox\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tFileData      string `json:\"file_data\" v:\"required\" dc:\"File data in base64 format\"`\n\tFileType      string `json:\"file_type\" v:\"in:csv,txt,json\" dc:\"File type to import, csv or txt or json (default: csv)\"`\n}\n\ntype ImportMailboxRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/mail_services/mail_services.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage mail_services\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/mail_services/v1\"\n)\n\ntype IMailServicesV1 interface {\n\tGetConfigFile(ctx context.Context, req *v1.GetConfigFileReq) (res *v1.GetConfigFileRes, err error)\n\tSaveConfigFile(ctx context.Context, req *v1.SaveConfigFileReq) (res *v1.SaveConfigFileRes, err error)\n\tGetBccList(ctx context.Context, req *v1.GetBccListReq) (res *v1.GetBccListRes, err error)\n\tAddBcc(ctx context.Context, req *v1.AddBccReq) (res *v1.AddBccRes, err error)\n\tEditBcc(ctx context.Context, req *v1.EditBccReq) (res *v1.EditBccRes, err error)\n\tDeleteBcc(ctx context.Context, req *v1.DeleteBccReq) (res *v1.DeleteBccRes, err error)\n\tGetMailForwardList(ctx context.Context, req *v1.GetMailForwardListReq) (res *v1.GetMailForwardListRes, err error)\n\tAddMailForward(ctx context.Context, req *v1.AddMailForwardReq) (res *v1.AddMailForwardRes, err error)\n\tEditMailForward(ctx context.Context, req *v1.EditMailForwardReq) (res *v1.EditMailForwardRes, err error)\n\tDeleteMailForward(ctx context.Context, req *v1.DeleteMailForwardReq) (res *v1.DeleteMailForwardRes, err error)\n\tGetPostfixQueueList(ctx context.Context, req *v1.GetPostfixQueueListReq) (res *v1.GetPostfixQueueListRes, err error)\n\tGetPostfixQueueInfo(ctx context.Context, req *v1.GetPostfixQueueInfoReq) (res *v1.GetPostfixQueueInfoRes, err error)\n\tDeletePostfixQueueById(ctx context.Context, req *v1.DeletePostfixQueueByIdReq) (res *v1.DeletePostfixQueueByIdRes, err error)\n\tDeleteAllDeferredQueue(ctx context.Context, req *v1.DeleteAllDeferredQueueReq) (res *v1.DeleteAllDeferredQueueRes, err error)\n\tFlushPostfixQueue(ctx context.Context, req *v1.FlushPostfixQueueReq) (res *v1.FlushPostfixQueueRes, err error)\n\tFlushPostfixQueueById(ctx context.Context, req *v1.FlushPostfixQueueByIdReq) (res *v1.FlushPostfixQueueByIdRes, err error)\n\tSetPostfixConfig(ctx context.Context, req *v1.SetPostfixConfigReq) (res *v1.SetPostfixConfigRes, err error)\n\tSetAllPostfixConfig(ctx context.Context, req *v1.SetAllPostfixConfigReq) (res *v1.SetAllPostfixConfigRes, err error)\n\tGetPostfixConfig(ctx context.Context, req *v1.GetPostfixConfigReq) (res *v1.GetPostfixConfigRes, err error)\n}\n"
  },
  {
    "path": "core/api/mail_services/v1/common.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/internal/service/public\"\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype ServiceType string\n\nvar (\n\tBaseConfigDir       = public.AbsPath(\"../conf\")\n\tServiceType_Postfix = BaseConfigDir + \"/postfix/main.cf\"\n\tServiceType_Dovecot = BaseConfigDir + \"/dovecot/dovecot.conf\"\n\tServiceType_Rspamd  = BaseConfigDir + \"/rspamd/rspamd.conf\"\n)\n\ntype GetConfigFileReq struct {\n\tg.Meta        `path:\"/services/get_config\" method:\"post\" summary:\"get config file\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tServiceType   string `json:\"service_type\" v:\"required\" desc:\"service type\"`\n}\n\ntype GetConfigFileRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tConfigPath   string `json:\"config_path\"`   // config file path\n\t\tContent      string `json:\"content\"`       // file content\n\t\tEncoding     string `json:\"encoding\"`      // file encoding\n\t\tLastModified int64  `json:\"last_modified\"` // last modified time\n\t\tSize         int64  `json:\"size\"`          // file size\n\t\tOnlyRead     bool   `json:\"only_read\"`     // only read (file too large)\n\t} `json:\"data\"`\n}\n\ntype SaveConfigFileReq struct {\n\tg.Meta        `path:\"/services/save_config\" method:\"post\" summary:\"save config file\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tServiceType   string `json:\"service_type\" v:\"required\" desc:\"service type\"`\n\tContent       string `json:\"content\" v:\"required\" desc:\"file content\"`\n}\n\ntype SaveConfigFileRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/mail_services/v1/mail_bcc.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype BmBcc struct {\n\tID         int    `json:\"id\"         dc:\"ID\"`\n\tType       string `json:\"type\"       dc:\"type: sender/recipient\"`\n\tAddress    string `json:\"address\"    dc:\"address\"`\n\tGoto       string `json:\"goto\"       dc:\"Forwarding target\"`\n\tDomain     string `json:\"domain\"     dc:\"domain\"`\n\tCreateTime int64  `json:\"create_time\" dc:\"create time\"`\n\tUpdateTime int64  `json:\"update_time\" dc:\"update time\"`\n\tActive     int    `json:\"active\"     dc:\"Status: 1-enabled, 0-disabled\"`\n}\n\ntype GetBccListReq struct {\n\tg.Meta        `path:\"/mail_bcc/list\" method:\"get\" summary:\"get mail bcc list\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tType          string `json:\"type\" desc:\"bcc type: sender/recipient, not set means get all\"`\n\tDomain        string `json:\"domain\" desc:\"domain filter\"`\n\tSearchKey     string `json:\"search_key\" desc:\"search key\"`\n\tPageNum       int    `json:\"page_num\" d:\"1\" desc:\"page num\"`\n\tPageSize      int    `json:\"page_size\" d:\"20\" desc:\"page size\"`\n}\n\ntype GetBccListRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tList  []BmBcc `json:\"list\" dc:\"BCC list\"`\n\t\tTotal int     `json:\"total\" dc:\"total\"`\n\t} `json:\"data\"`\n}\n\ntype AddBccReq struct {\n\tg.Meta        `path:\"/mail_bcc/add\" method:\"post\" summary:\"add mail bcc\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tType          string `json:\"type\" v:\"required|in:sender,recipient\" dc:\"bcc type: sender or recipient\"`\n\tAddress       string `json:\"address\" v:\"required\" dc:\"email address or domain\"`\n\tGoto          string `json:\"goto\" v:\"required|email\" dc:\"forward target address\"`\n\tDomain        string `json:\"domain\" dc:\"domain\"`\n\tActive        int    `json:\"active\" d:\"1\" dc:\"status: 1-enabled, 0-disabled\"`\n}\n\ntype AddBccRes struct {\n\tapi_v1.StandardRes\n}\n\ntype EditBccReq struct {\n\tg.Meta        `path:\"/mail_bcc/edit\" method:\"post\" summary:\"edit mail bcc\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tID            int    `json:\"id\" v:\"required\" dc:\"record id\"`\n\tType          string `json:\"type\" v:\"in:sender,recipient\" dc:\"bcc typeype: sen or er or recipient\"`\n\tAddress       string `json:\"address\"  dc:\"email address or domainddress or domain\"`\n\tGoto          string `json:\"goto\" v:\"required|email\" dc:\"forward target addressd target address\"`\n\tDomain        string `json:\"domain\" dc:\"domain\"`\n\tActive        int    `json:\"active\" v:\"required\" d:\"1\" dc:\"status: 1-enabled, 0-disabled\"`\n}\n\ntype EditBccRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteBccReq struct {\n\tg.Meta        `path:\"/mail_bcc/delete\" method:\"post\" summary:\"delete mail bcc\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tID            int    `json:\"id\" v:\"required\" dc:\"ID\"`\n}\n\ntype DeleteBccRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/mail_services/v1/mail_forward.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype Alias struct {\n\tAddress    string `json:\"address\"     dc:\"Alias address\"`\n\tGoto       string `json:\"goto\"        dc:\"Forwarding target\"`\n\tDomain     string `json:\"domain\"      dc:\"Domain name\"`\n\tCreateTime int64  `json:\"create_time\" dc:\"Creation time\"`\n\tUpdateTime int64  `json:\"update_time\" dc:\"Update time\"`\n\tActive     int    `json:\"active\"      dc:\"Status: 1-enabled, 0-disabled\"`\n}\n\ntype GetMailForwardListReq struct {\n\tg.Meta        `path:\"/mail_forward/list\" method:\"get\" summary:\"get mail forward list\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\"  desc:\"domain filter\"`\n\tPage          int    `json:\"page\" v:\"min:1\" desc:\"page num\" default:\"1\"`\n\tPageSize      int    `json:\"page_size\" v:\"min:1\" desc:\"page size\" default:\"20\"`\n\tSearchKey     string `json:\"search_key\" desc:\"search key, can search address\"`\n}\n\ntype GetMailForwardListRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int      `json:\"total\" desc:\"total records\"`\n\t\tList  []*Alias `json:\"list\" desc:\"mail forward list\"`\n\t} `json:\"data\"`\n}\n\ntype AddMailForwardReq struct {\n\tg.Meta        `path:\"/mail_forward/add\" method:\"post\" summary:\"add mail forward\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tAddress       string `json:\"address\" v:\"required\" desc:\"forwarded email address, e.g. user@example.com\"`\n\tGoto          string `json:\"goto\" v:\"required\" desc:\"forward target address, multiple addresses separated by newline\"`\n\tActive        int    `json:\"active\" v:\"in:0,1\" desc:\"status: 1-enabled, 0-disabled\" default:\"1\"`\n}\n\ntype AddMailForwardRes struct {\n\tapi_v1.StandardRes\n}\n\ntype EditMailForwardReq struct {\n\tg.Meta        `path:\"/mail_forward/edit\" method:\"post\" summary:\"edit mail forward\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tAddress       string `json:\"address\" v:\"required\" desc:\"forwarded email address\"`\n\tGoto          string `json:\"goto\" v:\"email\" desc:\"forward target address, multiple addresses separated by newline. not set means only modify status\"`\n\tActive        int    `json:\"active\" v:\"in:0,1\" desc:\"status: 1-enabled, 0-disabled\"`\n}\n\ntype EditMailForwardRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteMailForwardReq struct {\n\tg.Meta        `path:\"/mail_forward/delete\" method:\"post\" summary:\"delete mail forward\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tAddress       string `json:\"address\" v:\"required\" desc:\"forwarded email address\"`\n}\n\ntype DeleteMailForwardRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/mail_services/v1/postfix_queue.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype QueueMailItem struct {\n\tQueueID      string      `json:\"queue_id\" dc:\"Queue ID\"`\n\tSender       string      `json:\"sender\" dc:\"Sender\"`\n\tRecipients   []Recipient `json:\"recipients\" dc:\"Recipient list\"`\n\tArrivalTime  int64       `json:\"arrival_time\" dc:\"Arrival timestamp\"`\n\tDelayReason  string      `json:\"delay_reason,omitempty\" dc:\"Delay reason\"`\n\tMessageSize  int         `json:\"message_size,omitempty\" dc:\"Message size in bytes\"`\n\tQueueName    string      `json:\"queue_name\" dc:\"Queue name\"`\n\tForcedExpire bool        `json:\"forced_expire\" dc:\"Forced expire flag\"`\n\tRecipient    string      `json:\"recipient\" dc:\"Recipient\"`\n}\n\ntype Recipient struct {\n\tAddress     string `json:\"address\" dc:\"Recipient address\"`\n\tDelayReason string `json:\"delay_reason,omitempty\" dc:\"Delay reason\"`\n}\n\ntype GetPostfixQueueListReq struct {\n\tg.Meta        `path:\"/postfix_queue/list\" method:\"get\" summary:\"Get postfix queue list\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" desc:\"Domain filter\"`\n}\n\ntype GetPostfixQueueListRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tList  []QueueMailItem `json:\"list\" dc:\"Postfix queue list\"`\n\t\tTotal int             `json:\"total\" dc:\"Total count\"`\n\t} `json:\"data\"`\n}\n\ntype GetPostfixQueueInfoReq struct {\n\tg.Meta        `path:\"/postfix_queue/queue_info\" method:\"get\" summary:\"View mail content of specified queue\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tQueueID       string `json:\"queue_id\" v:\"required\" dc:\"Queue ID\"`\n}\n\ntype GetPostfixQueueInfoRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeletePostfixQueueByIdReq struct {\n\tg.Meta        `path:\"/postfix_queue/delete_by_id\" method:\"post\" summary:\"Delete specified queue mails (batch supported)\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tQueueIDs      []string `json:\"queue_ids\" v:\"required\" dc:\"Queue ID list\"`\n}\n\ntype DeletePostfixQueueByIdRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteAllDeferredQueueReq struct {\n\tg.Meta        `path:\"/postfix_queue/delete\" method:\"post\" summary:\"Clear all deferred queue\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype DeleteAllDeferredQueueRes struct {\n\tapi_v1.StandardRes\n}\n\ntype FlushPostfixQueueReq struct {\n\tg.Meta        `path:\"/postfix_queue/flush\" method:\"post\" summary:\"Force send all mail queue\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tDomain        string `json:\"domain\" dc:\"Optional, specify domain to force send\"`\n}\n\ntype FlushPostfixQueueRes struct {\n\tapi_v1.StandardRes\n}\n\ntype FlushPostfixQueueByIdReq struct {\n\tg.Meta        `path:\"/postfix_queue/flush_by_id\" method:\"post\" summary:\"Flush specified queue mails (batch supported)\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tQueueIDs      []string `json:\"queue_ids\" v:\"required\" dc:\"Queue ID list\"`\n}\n\ntype FlushPostfixQueueByIdRes struct {\n\tapi_v1.StandardRes\n}\n\ntype SetPostfixConfigReq struct {\n\tg.Meta        `path:\"/postfix_queue/set_config\" method:\"post\" summary:\"Set Postfix queue-related configuration items\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tKey           string `json:\"key\" dc:\"Configuration key\"`\n\tValue         string `json:\"value\" dc:\"Configuration value\"`\n}\n\ntype SetPostfixConfigRes struct {\n\tapi_v1.StandardRes\n}\n\ntype SetAllPostfixConfigReq struct {\n\tg.Meta               `path:\"/postfix_queue/set_all_config\" method:\"post\" summary:\"批量设置Postfix队列相关配置项\"`\n\tAuthorization        string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tBounceQueueLifetime  string `json:\"bounce_queue_lifetime\" dc:\"Bounce queue lifetime\"`\n\tMaximalBackoffTime   string `json:\"maximal_backoff_time\" dc:\"Maximal backoff time\"`\n\tMaximalQueueLifetime string `json:\"maximal_queue_lifetime\" dc:\"Maximal queue lifetime\"`\n\tMinimalBackoffTime   string `json:\"minimal_backoff_time\" dc:\"Minimal backoff time\"`\n\tQueueRunDelay        string `json:\"queue_run_delay\" dc:\"Queue run delay\"`\n\tTriggerTimeout       string `json:\"trigger_timeout\" dc:\"Trigger timeout\"`\n}\n\ntype SetAllPostfixConfigRes struct {\n\tapi_v1.StandardRes\n}\n\ntype GetPostfixConfigReq struct {\n\tg.Meta        `path:\"/postfix_queue/get_config\" method:\"get\" summary:\"Get Postfix queue-related configuration items\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype GetPostfixConfigRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/operation_log/operation_log.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage operation_log\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/operation_log/v1\"\n)\n\ntype IOperationLogV1 interface {\n\tGetOperationLog(ctx context.Context, req *v1.GetOperationLogReq) (res *v1.GetOperationLogRes, err error)\n\tGetOperationType(ctx context.Context, req *v1.GetOperationTypeReq) (res *v1.GetOperationTypeRes, err error)\n\tGetOutputLog(ctx context.Context, req *v1.GetOutputLogReq) (res *v1.GetOutputLogRes, err error)\n\tGetLatestOutputLog(ctx context.Context, req *v1.GetLatestOutputLogReq) (res *v1.GetLatestOutputLogRes, err error)\n}\n"
  },
  {
    "path": "core/api/operation_log/v1/operation_log.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype GetOperationLogReq struct {\n\tg.Meta        `path:\"/operation_log/list\" method:\"get\" tags:\"Operation Log\" summary:\"List operation logs\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tPage          int    `json:\"page\" v:\"required|min:1\" dc:\"Page Number\"`\n\tPageSize      int    `json:\"page_size\" v:\"required|min:1\" dc:\"Page Size\"`\n\tKeyword       string `json:\"keyword\" dc:\"Search Keyword\"`\n\tType          string `json:\"type\"`\n\tStartTime     int    `json:\"start_time\" dc:\"start time\"`\n\tEndTime       int    `json:\"end_time\" dc:\"end time\"`\n}\n\ntype GetOperationLogRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int                   `json:\"total\" dc:\"Total Count\"`\n\t\tList  []entity.OperationLog `json:\"list\" dc:\"Operation Log List\"`\n\t} `json:\"data\"`\n}\n\ntype GetOperationTypeReq struct {\n\tg.Meta        `path:\"/operation_log/type_list\" method:\"get\" tags:\"Operation Type\" summary:\"Operation Type\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype GetOperationTypeRes struct {\n\tapi_v1.StandardRes\n}\ntype GetOutputLogReq struct {\n\tg.Meta        `path:\"/operation_log/output/list\" method:\"get\" tags:\"Output Log\" summary:\"List output logs\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tStartDate     string `json:\"start_date\" v:\"required\" dc:\"Start date(YYYY-MM-DD)\"`\n\tEndDate       string `json:\"end_date\" v:\"required\" dc:\"End date(YYYY-MM-DD)\"`\n\tKeyword       string `json:\"keyword\" dc:\"keyword\"`\n\tPage          int    `json:\"page\" v:\"min:1\" dc:\"Page Number\" d:\"1\"`\n\tPageSize      int    `json:\"page_size\" dc:\"page size\"`\n}\n\ntype GetOutputLogRes struct {\n\tapi_v1.StandardRes\n}\n\ntype GetLatestOutputLogReq struct {\n\tg.Meta        `path:\"/operation_log/output/latest\" method:\"get\" tags:\"Output Log\" summary:\"Get latest output log\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\ntype GetLatestOutputLogRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/overview/overview.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage overview\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/overview/v1\"\n)\n\ntype IOverviewV1 interface {\n\tOverview(ctx context.Context, req *v1.OverviewReq) (res *v1.OverviewRes, err error)\n\tFailedList(ctx context.Context, req *v1.FailedListReq) (res *v1.FailedListRes, err error)\n}\n"
  },
  {
    "path": "core/api/overview/v1/overview.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype OverviewReq struct {\n\tg.Meta        `path:\"/overview\" tags:\"Overview\" method:\"get\" summary:\"Get overview information\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tCampaignId    int64  `json:\"campaign_id\" v:\"min:1\" dc:\"CampaignId\" dc:\"CampaignId\"`\n\tDomain        string `json:\"domain\" v:\"domain\" dc:\"Domains\" dc:\"Domain\"`\n\tStartTime     int64  `json:\"start_time\" v:\"required\" dc:\"StartTime\" dc:\"StartTime\"`\n\tEndTime       int64  `json:\"end_time\" v:\"required\" dc:\"EndTime\" dc:\"EndTime\"`\n}\n\ntype OverviewRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tDashboard       interface{} `json:\"dashboard\" dc:\"Dashboard\"`\n\t\tMailProviders   interface{} `json:\"mail_providers\" dc:\"Mail Providers\"`\n\t\tSendMailChart   interface{} `json:\"send_mail_chart\" dc:\"Send Mail Chart\"`\n\t\tBounceRateChart interface{} `json:\"bounce_rate_chart\" dc:\"Bounce Rate Chart\"`\n\t\tOpenRateChart   interface{} `json:\"open_rate_chart\" dc:\"Open Rate Chart\"`\n\t\tClickRateChart  interface{} `json:\"click_rate_chart\" dc:\"Click Rate Chart\"`\n\t} `json:\"data\" dc:\"Data\" dc:\"Data\"`\n}\n\ntype FailedListReq struct {\n\tg.Meta        `path:\"/overview/failed\" tags:\"Overview\" method:\"get\" summary:\"Get failed list\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tCampaignId    int64  `json:\"campaign_id\" v:\"min:1\" dc:\"CampaignId\" dc:\"CampaignId\"`\n\tDomain        string `json:\"domain\" v:\"domain\" dc:\"Domains\" dc:\"Domain\"`\n\tStartTime     int64  `json:\"start_time\" v:\"required\" dc:\"StartTime\" dc:\"StartTime\"`\n\tEndTime       int64  `json:\"end_time\" v:\"required\" dc:\"EndTime\" dc:\"EndTime\"`\n}\n\ntype FailedListRes struct {\n\tapi_v1.StandardRes\n\tData []struct {\n\t\tPostfixMessageID string `json:\"postfix_message_id\" dc:\"Postfix Message ID\"`\n\t\tSender           string `json:\"sender\" dc:\"Sender\"`\n\t\tRecipient        string `json:\"recipient\" dc:\"Recipient\"`\n\t\tStatus           string `json:\"status\" dc:\"Status\"`\n\t\tDsn              string `json:\"dsn\" dc:\"Dsn\"`\n\t\tRelay            string `json:\"relay\" dc:\"Relay\"`\n\t\tDescription      string `json:\"description\" dc:\"Description\"`\n\t\tDelay            string `json:\"delay\" dc:\"Delay\"`\n\t\tDelays           string `json:\"delays\" dc:\"Delays\"`\n\t\tLogTime          string `json:\"log_time\" dc:\"Log Time\"`\n\t} `json:\"data\" dc:\"Data\"`\n}\n"
  },
  {
    "path": "core/api/rbac/rbac.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage rbac\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/rbac/v1\"\n)\n\ntype IRbacV1 interface {\n\t//AccountList(ctx context.Context, req *v1.AccountListReq) (res *v1.AccountListRes, err error)\n\t//AccountDetail(ctx context.Context, req *v1.AccountDetailReq) (res *v1.AccountDetailRes, err error)\n\t//AccountCreate(ctx context.Context, req *v1.AccountCreateReq) (res *v1.AccountCreateRes, err error)\n\t//AccountUpdate(ctx context.Context, req *v1.AccountUpdateReq) (res *v1.AccountUpdateRes, err error)\n\t//AccountPassword(ctx context.Context, req *v1.AccountPasswordReq) (res *v1.AccountPasswordRes, err error)\n\t//AccountDelete(ctx context.Context, req *v1.AccountDeleteReq) (res *v1.AccountDeleteRes, err error)\n\tLogin(ctx context.Context, req *v1.LoginReq) (res *v1.LoginRes, err error)\n\tLogout(ctx context.Context, req *v1.LogoutReq) (res *v1.LogoutRes, err error)\n\tRefreshToken(ctx context.Context, req *v1.RefreshTokenReq) (res *v1.RefreshTokenRes, err error)\n\tGetValidateCode(ctx context.Context, req *v1.GetValidateCodeReq) (res *v1.GetValidateCodeRes, err error)\n\t//CurrentUser(ctx context.Context, req *v1.CurrentUserReq) (res *v1.CurrentUserRes, err error)\n\t//PermissionList(ctx context.Context, req *v1.PermissionListReq) (res *v1.PermissionListRes, err error)\n\t//PermissionDetail(ctx context.Context, req *v1.PermissionDetailReq) (res *v1.PermissionDetailRes, err error)\n\t//PermissionCreate(ctx context.Context, req *v1.PermissionCreateReq) (res *v1.PermissionCreateRes, err error)\n\t//PermissionUpdate(ctx context.Context, req *v1.PermissionUpdateReq) (res *v1.PermissionUpdateRes, err error)\n\t//PermissionDelete(ctx context.Context, req *v1.PermissionDeleteReq) (res *v1.PermissionDeleteRes, err error)\n\t//PermissionCheck(ctx context.Context, req *v1.PermissionCheckReq) (res *v1.PermissionCheckRes, err error)\n\t//RoleList(ctx context.Context, req *v1.RoleListReq) (res *v1.RoleListRes, err error)\n\t//RoleDetail(ctx context.Context, req *v1.RoleDetailReq) (res *v1.RoleDetailRes, err error)\n\t//RoleCreate(ctx context.Context, req *v1.RoleCreateReq) (res *v1.RoleCreateRes, err error)\n\t//RoleUpdate(ctx context.Context, req *v1.RoleUpdateReq) (res *v1.RoleUpdateRes, err error)\n\t//RoleDelete(ctx context.Context, req *v1.RoleDeleteReq) (res *v1.RoleDeleteRes, err error)\n}\n"
  },
  {
    "path": "core/api/rbac/v1/account.go",
    "content": "package v1\n\n// AccountInfoItem defines the account information structure\ntype AccountInfoItem struct {\n\tId         int64  `json:\"id\" dc:\"Account ID\"`\n\tUsername   string `json:\"username\" dc:\"Username\"`\n\tEmail      string `json:\"email\" dc:\"Email\"`\n\tStatus     int    `json:\"status\" dc:\"Status(0:disabled, 1:enabled)\"`\n\tLanguage   string `json:\"language\" dc:\"Language setting\"`\n\tCreateTime int64  `json:\"create_time\" dc:\"Creation time\"`\n}\n\n//// AccountListReq defines the request for getting account list\n//type AccountListReq struct {\n//\tg.Meta        `path:\"/account/list\" method:\"get\" tags:\"RBAC\" summary:\"Get account list\" sm:\"Get account list\" in:\"query\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tPage          int    `p:\"page\" d:\"1\" v:\"min:1#Page number must be greater than 0\" dc:\"Page number\"`\n//\tPageSize      int    `p:\"pageSize\" d:\"10\" v:\"min:1#Items per page must be greater than 0\" dc:\"Items per page\"`\n//\tUsername      string `p:\"username\" dc:\"Username filter\"`\n//\tEmail         string `p:\"email\" dc:\"Email filter\"`\n//\tStatus        int    `p:\"status\" dc:\"Status filter\"`\n//}\n//\n//// AccountListRes is the response for getting account list\n//type AccountListRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tList  []AccountInfoItem `json:\"list\" dc:\"Account list\"`\n//\t\tTotal int               `json:\"total\" dc:\"Total\"`\n//\t\tPage  int               `json:\"page\" dc:\"Current page\"`\n//\t} `json:\"data\"`\n//}\n//\n//// AccountDetailReq is the request for getting account details\n//type AccountDetailReq struct {\n//\tg.Meta        `path:\"/account/detail\" method:\"get\" tags:\"RBAC\" summary:\"Get account details\" sm:\"Get account details\" in:\"query\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tAccountId     int64  `p:\"accountId\" v:\"required#Please provide account ID\" dc:\"Account ID\"`\n//}\n//\n//// AccountDetailRes is the response for getting account details\n//type AccountDetailRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tAccount  AccountInfoItem `json:\"account\" dc:\"Account information\"`\n//\t\tRoles    []RoleInfoItem  `json:\"roles\" dc:\"Account roles list\"`\n//\t\tAllRoles []RoleInfoItem  `json:\"allRoles\" dc:\"All available roles\"`\n//\t} `json:\"data\"`\n//}\n//\n//// AccountCreateReq is the request for creating account\n//type AccountCreateReq struct {\n//\tg.Meta        `path:\"/account/create\" method:\"post\" tags:\"RBAC\" summary:\"Create account\" sm:\"Create account\" in:\"body\"`\n//\tAuthorization string  `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tUsername      string  `p:\"username\" v:\"required#User name can not be empty\" dc:\"User name\"`\n//\tPassword      string  `p:\"password\" v:\"required#Password can not be empty\" dc:\"Password\"`\n//\tEmail         string  `p:\"email\" v:\"required|email#Email can not be empty|Email format is not correct\" dc:\"Email\"`\n//\tRoleIds       []int64 `p:\"roleIds\" dc:\"Role ID list\"`\n//\tStatus        int     `p:\"status\" d:\"1\" dc:\"Status(0:disabled, 1:enabled)\"`\n//\tLang          string  `p:\"lang\" d:\"en\" dc:\"Language setting\"`\n//}\n//\n//// AccountCreateRes is the response for creating account\n//type AccountCreateRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tAccountId int64 `json:\"accountId\" dc:\"New account ID\"`\n//\t} `json:\"data\"`\n//}\n//\n//// AccountUpdateReq is the request for updating account\n//type AccountUpdateReq struct {\n//\tg.Meta        `path:\"/account/update\" method:\"post\" tags:\"RBAC\" summary:\"Update account\" sm:\"Update account\" in:\"body\"`\n//\tAuthorization string  `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tAccountId     int64   `p:\"accountId\" v:\"required#Account ID can not be empty\" dc:\"Account ID\"`\n//\tUsername      string  `p:\"username\" dc:\"User name\"`\n//\tEmail         string  `p:\"email\" v:\"email#Email format is not correct\" dc:\"Email\"`\n//\tRoleIds       []int64 `p:\"roleIds\" dc:\"Role ID list\"`\n//\tStatus        int     `p:\"status\" dc:\"Status(0:disabled, 1:enabled)\"`\n//\tLang          string  `p:\"lang\" dc:\"Language setting\"`\n//}\n//\n//// AccountUpdateRes is the response for updating account\n//type AccountUpdateRes struct {\n//\tapi_v1.StandardRes\n//}\n//\n//// AccountPasswordReq is the request for updating account password\n//type AccountPasswordReq struct {\n//\tg.Meta        `path:\"/account/password\" method:\"post\" tags:\"RBAC\" summary:\"Update account password\" sm:\"Update account password\" in:\"body\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tAccountId     int64  `p:\"accountId\" v:\"required#Account ID can not be empty\" dc:\"Account ID\"`\n//\tOldPassword   string `p:\"oldPassword\" dc:\"Old password(administrator optional)\"`\n//\tNewPassword   string `p:\"newPassword\" v:\"required#New password can not be empty\" dc:\"New password\"`\n//}\n//\n//// AccountPasswordRes is the response for updating account password\n//type AccountPasswordRes struct {\n//\tapi_v1.StandardRes\n//}\n//\n//// AccountDeleteReq is the request for deleting account\n//type AccountDeleteReq struct {\n//\tg.Meta        `path:\"/account/delete\" method:\"post\" tags:\"RBAC\" summary:\"Delete account\" sm:\"Delete account\" in:\"body\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tAccountId     int64  `p:\"accountId\" v:\"required#Account ID can not be empty\" dc:\"Account ID\"`\n//}\n//\n//// AccountDeleteRes is the response for deleting account\n//type AccountDeleteRes struct {\n//\tapi_v1.StandardRes\n//}\n"
  },
  {
    "path": "core/api/rbac/v1/auth.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// LoginReq defines the request for user login\ntype LoginReq struct {\n\tg.Meta         `path:\"/login\" method:\"post\" tags:\"Authentication\" summary:\"User login\" sm:\"User login\" in:\"body\"`\n\tUsername       string `p:\"username\" v:\"required#Username cannot be empty\" dc:\"Username\"`\n\tPassword       string `p:\"password\" v:\"required#Password cannot be empty\" dc:\"Password\"`\n\tValidateCodeId string `p:\"validate_code_id\" v:\"min-length:1\" dc:\"Validation code ID\"`\n\tValidateCode   string `p:\"validate_code\" v:\"min-length:1\" dc:\"Validation code\"`\n}\n\n// LoginRes defines the response for user login\ntype LoginRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tToken        string `json:\"token\" dc:\"JWT token\"`\n\t\tRefreshToken string `json:\"refreshToken\" dc:\"Refresh token\"`\n\t\tTTL          int64  `json:\"ttl\" dc:\"Token lifetime (in seconds)\"`\n\t\tAccountInfo  struct {\n\t\t\tId       int64  `json:\"id\" dc:\"Account ID\"`\n\t\t\tUsername string `json:\"username\" dc:\"Username\"`\n\t\t\tEmail    string `json:\"email\" dc:\"Email address\"`\n\t\t\tStatus   int    `json:\"status\" dc:\"Account status\"`\n\t\t\tLang     string `json:\"lang\" dc:\"Preferred language\"`\n\t\t} `json:\"accountInfo\" dc:\"Basic account information\"`\n\t} `json:\"data\"`\n}\n\n// LogoutReq defines the request for user logout\ntype LogoutReq struct {\n\tg.Meta        `path:\"/logout\" method:\"post\" tags:\"Authentication\" summary:\"User logout\" sm:\"User logout\" in:\"body\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\n// LogoutRes defines the response for user logout\ntype LogoutRes struct {\n\tapi_v1.StandardRes\n}\n\n// RefreshTokenReq defines the request for token refresh\ntype RefreshTokenReq struct {\n\tg.Meta       `path:\"/refresh-token\" method:\"post\" tags:\"Authentication\" summary:\"Refresh access token\" sm:\"Refresh access token\" in:\"body\"`\n\tRefreshToken string `p:\"refreshToken\" v:\"required#Refresh token cannot be empty\" dc:\"Refresh token\"`\n}\n\n// RefreshTokenRes defines the response for token refresh\ntype RefreshTokenRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tToken        string `json:\"token\" dc:\"New JWT token\"`\n\t\tRefreshToken string `json:\"refreshToken\" dc:\"New refresh token\"`\n\t\tTTL          int64  `json:\"ttl\" dc:\"Token lifetime (in seconds)\"`\n\t} `json:\"data\"`\n}\n\n// GetValidateCodeReq defines the request for getting validation code\ntype GetValidateCodeReq struct {\n\tg.Meta `path:\"/get_validate_code\" method:\"get\" tags:\"Authentication\" summary:\"Get validation code\" sm:\"Get validation code\" in:\"query\"`\n}\n\n// GetValidateCodeRes defines the response for getting validation code\ntype GetValidateCodeRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tMustValidateCode   bool   `json:\"mustValidateCode\" dc:\"Must Validate Code\"`\n\t\tLoginRetries       int    `json:\"loginRetries\" dc:\"Login retries\"`\n\t\tMaxLoginRetries    int    `json:\"maxLoginRetries\" dc:\"Max login retries\"`\n\t\tValidateCodeBase64 string `json:\"validateCodeBase64\" dc:\"Validation code in base64 format\"`\n\t\tValidateCodeId     string `json:\"validateCodeId\" dc:\"Validation code ID\"`\n\t} `json:\"data\"`\n}\n\n//// CurrentUserReq defines the request for getting current user info\n//type CurrentUserReq struct {\n//\tg.Meta        `path:\"/current-user\" method:\"get\" tags:\"Authentication\" summary:\"Get current user info\" sm:\"Get current user info\" in:\"query\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//}\n//\n//// CurrentUserRes defines the response for getting current user info\n//type CurrentUserRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tAccount struct {\n//\t\t\tId       int64  `json:\"id\" dc:\"Account ID\"`\n//\t\t\tUsername string `json:\"username\" dc:\"Username\"`\n//\t\t\tEmail    string `json:\"email\" dc:\"Email address\"`\n//\t\t\tStatus   int    `json:\"status\" dc:\"Account status\"`\n//\t\t\tLang     string `json:\"lang\" dc:\"Preferred language\"`\n//\t\t} `json:\"account\" dc:\"Account information\"`\n//\t\tRoles       []string `json:\"roles\" dc:\"User roles\"`\n//\t\tPermissions []string `json:\"permissions\" dc:\"User permissions\"`\n//\t} `json:\"data\"`\n//}\n"
  },
  {
    "path": "core/api/rbac/v1/permission.go",
    "content": "package v1\n\n// PermissionInfoItem defines the permission information structure\ntype PermissionInfoItem struct {\n\tId          int64  `json:\"id\" dc:\"Permission ID\"`\n\tName        string `json:\"name\" dc:\"Permission name\"`\n\tDescription string `json:\"description\" dc:\"Permission description\"`\n\tModule      string `json:\"module\" dc:\"Module name\"`\n\tAction      string `json:\"action\" dc:\"Action name (create/read/update/delete)\"`\n\tResource    string `json:\"resource\" dc:\"Resource name\"`\n\tStatus      int    `json:\"status\" dc:\"Status (0:disabled, 1:enabled)\"`\n\tCreateTime  int64  `json:\"create_time\" dc:\"Creation time\"`\n\tUpdateTime  int64  `json:\"update_time\" dc:\"Update time\"`\n}\n\n//// PermissionListReq defines the request for getting permission list\n//type PermissionListReq struct {\n//\tg.Meta        `path:\"/permission/list\" method:\"get\" tags:\"RBAC\" summary:\"Get permission list\" sm:\"Get permission list\" in:\"query\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tPage          int    `p:\"page\" d:\"1\" v:\"min:1#Page number must be greater than 0\" dc:\"Page number\"`\n//\tPageSize      int    `p:\"pageSize\" d:\"10\" v:\"min:1#Items per page must be greater than 0\" dc:\"Items per page\"`\n//\tModule        string `p:\"module\" dc:\"Module name filter\"`\n//\tAction        string `p:\"action\" dc:\"Action name filter\"`\n//\tStatus        int    `p:\"status\" dc:\"Status filter\"`\n//}\n//\n//// PermissionListRes defines the response for getting permission list\n//type PermissionListRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tList  []PermissionInfoItem `json:\"list\" dc:\"Permission list\"`\n//\t\tTotal int                  `json:\"total\" dc:\"Total count\"`\n//\t\tPage  int                  `json:\"page\" dc:\"Current page number\"`\n//\t} `json:\"data\"`\n//}\n//\n//// PermissionDetailReq defines the request for getting permission details\n//type PermissionDetailReq struct {\n//\tg.Meta        `path:\"/permission/detail\" method:\"get\" tags:\"RBAC\" summary:\"Get permission details\" sm:\"Get permission details\" in:\"query\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tPermissionId  int64  `p:\"permissionId\" v:\"required#Please provide permission ID\" dc:\"Permission ID\"`\n//}\n//\n//// PermissionDetailRes defines the response for getting permission details\n//type PermissionDetailRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tPermission PermissionInfoItem `json:\"permission\" dc:\"Permission information\"`\n//\t} `json:\"data\"`\n//}\n//\n//// PermissionCreateReq defines the request for creating permission\n//type PermissionCreateReq struct {\n//\tg.Meta        `path:\"/permission/create\" method:\"post\" tags:\"RBAC\" summary:\"Create permission\" sm:\"Create permission\" in:\"body\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tName          string `p:\"name\" v:\"required#Permission name cannot be empty\" dc:\"Permission name\"`\n//\tModule        string `p:\"module\" v:\"required#Module name cannot be empty\" dc:\"Module name\"`\n//\tAction        string `p:\"action\" v:\"required#Action name cannot be empty\" dc:\"Action name\"`\n//\tResource      string `p:\"resource\" v:\"required#Resource name cannot be empty\" dc:\"Resource name\"`\n//\tDescription   string `p:\"description\" dc:\"Permission description\"`\n//\tStatus        int    `p:\"status\" d:\"1\" dc:\"Status (0:disabled, 1:enabled)\"`\n//}\n//\n//// PermissionCreateRes defines the response for creating permission\n//type PermissionCreateRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tPermissionId int64 `json:\"permissionId\" dc:\"New permission ID\"`\n//\t} `json:\"data\"`\n//}\n//\n//// PermissionUpdateReq defines the request for updating permission\n//type PermissionUpdateReq struct {\n//\tg.Meta        `path:\"/permission/update\" method:\"post\" tags:\"RBAC\" summary:\"Update permission\" sm:\"Update permission\" in:\"body\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tPermissionId  int64  `p:\"permissionId\" v:\"required#Permission ID cannot be empty\" dc:\"Permission ID\"`\n//\tName          string `p:\"name\" dc:\"Permission name\"`\n//\tModule        string `p:\"module\" dc:\"Module name\"`\n//\tAction        string `p:\"action\" dc:\"Action name\"`\n//\tResource      string `p:\"resource\" dc:\"Resource name\"`\n//\tDescription   string `p:\"description\" dc:\"Permission description\"`\n//\tStatus        int    `p:\"status\" dc:\"Status (0:disabled, 1:enabled)\"`\n//}\n//\n//// PermissionUpdateRes defines the response for updating permission\n//type PermissionUpdateRes struct {\n//\tapi_v1.StandardRes\n//}\n//\n//// PermissionDeleteReq defines the request for deleting permission\n//type PermissionDeleteReq struct {\n//\tg.Meta        `path:\"/permission/delete\" method:\"post\" tags:\"RBAC\" summary:\"Delete permission\" sm:\"Delete permission\" in:\"body\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tPermissionId  int64  `p:\"permissionId\" v:\"required#Permission ID cannot be empty\" dc:\"Permission ID\"`\n//}\n//\n//// PermissionDeleteRes defines the response for deleting permission\n//type PermissionDeleteRes struct {\n//\tapi_v1.StandardRes\n//}\n//\n//// PermissionCheckReq defines the request for checking permission\n//type PermissionCheckReq struct {\n//\tg.Meta        `path:\"/permission/check\" method:\"post\" tags:\"RBAC\" summary:\"Check permission\" sm:\"Check permission\" in:\"body\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tModule        string `p:\"module\" v:\"required#Module name cannot be empty\" dc:\"Module name\"`\n//\tAction        string `p:\"action\" v:\"required#Action name cannot be empty\" dc:\"Action name\"`\n//\tResource      string `p:\"resource\" v:\"required#Resource name cannot be empty\" dc:\"Resource name\"`\n//}\n//\n//// PermissionCheckRes defines the response for checking permission\n//type PermissionCheckRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tHasPermission bool `json:\"hasPermission\" dc:\"Whether has permission\"`\n//\t} `json:\"data\"`\n//}\n"
  },
  {
    "path": "core/api/rbac/v1/role.go",
    "content": "package v1\n\n// RoleInfoItem defines the role information structure\ntype RoleInfoItem struct {\n\tId          int64  `json:\"id\" dc:\"Role ID\"`\n\tName        string `json:\"name\" dc:\"Role name\"`\n\tDescription string `json:\"description\" dc:\"Role description\"`\n\tStatus      int    `json:\"status\" dc:\"Status (0:disabled, 1:enabled)\"`\n\tCreateTime  int64  `json:\"create_time\" dc:\"Creation time\"`\n}\n\n//// RoleListReq defines the request for getting role list\n//type RoleListReq struct {\n//\tg.Meta        `path:\"/role/list\" method:\"get\" tags:\"RBAC\" summary:\"Get role list\" sm:\"Get role list\" in:\"query\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tPage          int    `p:\"page\" d:\"1\" v:\"min:1#Page number must be greater than 0\" dc:\"Page number\"`\n//\tPageSize      int    `p:\"pageSize\" d:\"10\" v:\"min:1#Items per page must be greater than 0\" dc:\"Items per page\"`\n//\tName          string `p:\"name\" dc:\"Role name filter\"`\n//\tStatus        int    `p:\"status\" dc:\"Status filter\"`\n//}\n//\n//// RoleListRes defines the response for getting role list\n//type RoleListRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tList  []RoleInfoItem `json:\"list\" dc:\"Role list\"`\n//\t\tTotal int            `json:\"total\" dc:\"Total count\"`\n//\t\tPage  int            `json:\"page\" dc:\"Current page number\"`\n//\t} `json:\"data\"`\n//}\n//\n//// RoleDetailReq defines the request for getting role details\n//type RoleDetailReq struct {\n//\tg.Meta        `path:\"/role/detail\" method:\"get\" tags:\"RBAC\" summary:\"Get role details\" sm:\"Get role details\" in:\"query\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tRoleId        int64  `p:\"roleId\" v:\"required#Please provide role ID\" dc:\"Role ID\"`\n//}\n//\n//// RoleDetailRes defines the response for getting role details\n//type RoleDetailRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tRole           RoleInfoItem         `json:\"role\" dc:\"Role information\"`\n//\t\tPermissions    []PermissionInfoItem `json:\"permissions\" dc:\"Role permissions list\"`\n//\t\tAllPermissions []PermissionInfoItem `json:\"allPermissions\" dc:\"All available permissions\"`\n//\t} `json:\"data\"`\n//}\n//\n//// RoleCreateReq defines the request for creating role\n//type RoleCreateReq struct {\n//\tg.Meta        `path:\"/role/create\" method:\"post\" tags:\"RBAC\" summary:\"Create role\" sm:\"Create role\" in:\"body\"`\n//\tAuthorization string  `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tName          string  `p:\"name\" v:\"required#Role name cannot be empty\" dc:\"Role name\"`\n//\tDescription   string  `p:\"description\" dc:\"Role description\"`\n//\tPermissionIds []int64 `p:\"permissionIds\" dc:\"Permission IDs list\"`\n//\tStatus        int     `p:\"status\" d:\"1\" dc:\"Status (0:disabled, 1:enabled)\"`\n//}\n//\n//// RoleCreateRes defines the response for creating role\n//type RoleCreateRes struct {\n//\tapi_v1.StandardRes\n//\tData struct {\n//\t\tRoleId int64 `json:\"roleId\" dc:\"New role ID\"`\n//\t} `json:\"data\"`\n//}\n//\n//// RoleUpdateReq defines the request for updating role\n//type RoleUpdateReq struct {\n//\tg.Meta        `path:\"/role/update\" method:\"post\" tags:\"RBAC\" summary:\"Update role\" sm:\"Update role\" in:\"body\"`\n//\tAuthorization string  `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tRoleId        int64   `p:\"roleId\" v:\"required#Role ID cannot be empty\" dc:\"Role ID\"`\n//\tName          string  `p:\"name\" dc:\"Role name\"`\n//\tDescription   string  `p:\"description\" dc:\"Role description\"`\n//\tPermissionIds []int64 `p:\"permissionIds\" dc:\"Permission IDs list\"`\n//\tStatus        int     `p:\"status\" dc:\"Status (0:disabled, 1:enabled)\"`\n//}\n//\n//// RoleUpdateRes defines the response for updating role\n//type RoleUpdateRes struct {\n//\tapi_v1.StandardRes\n//}\n//\n//// RoleDeleteReq defines the request for deleting role\n//type RoleDeleteReq struct {\n//\tg.Meta        `path:\"/role/delete\" method:\"post\" tags:\"RBAC\" summary:\"Delete role\" sm:\"Delete role\" in:\"body\"`\n//\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n//\tRoleId        int64  `p:\"roleId\" v:\"required#Role ID cannot be empty\" dc:\"Role ID\"`\n//}\n//\n//// RoleDeleteRes defines the response for deleting role\n//type RoleDeleteRes struct {\n//\tapi_v1.StandardRes\n//}\n"
  },
  {
    "path": "core/api/relay/relay.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage relay\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/relay/v1\"\n)\n\ntype IRelayV1 interface {\n\tCreateRelayConfig(ctx context.Context, req *v1.CreateRelayConfigReq) (res *v1.CreateRelayConfigRes, err error)\n\tListRelayConfigs(ctx context.Context, req *v1.ListRelayConfigsReq) (res *v1.ListRelayConfigsRes, err error)\n\tUpdateRelayConfig(ctx context.Context, req *v1.UpdateRelayConfigReq) (res *v1.UpdateRelayConfigRes, err error)\n\tDeleteRelayConfig(ctx context.Context, req *v1.DeleteRelayConfigReq) (res *v1.DeleteRelayConfigRes, err error)\n\tGetUnboundDomains(ctx context.Context, req *v1.GetUnboundDomainsReq) (res *v1.GetUnboundDomainsRes, err error)\n\tTestSmtpConnection(ctx context.Context, req *v1.TestSmtpConnectionReq) (res *v1.TestSmtpConnectionRes, err error)\n}\n"
  },
  {
    "path": "core/api/relay/v1/relay.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// BmRelay\ntype BmRelay struct {\n\tId             int      `json:\"id\"`\n\tRemark         string   `json:\"remark\"`          // Remark, e.g., \"AWS SES Japan Region\"\n\tRtype          string   `json:\"rtype\"`           // type: gmail, sendgrid, custom, aws, mailgun, local\n\tRelayHost      string   `json:\"relay_host\"`      // Relay server address,\n\tRelayPort      string   `json:\"relay_port\"`      // Relay server port, e.g., \"587\"\n\tAuthUser       string   `json:\"auth_user\"`       // SMTP authentication username\n\tAuthPassword   string   `json:\"auth_password\"`   // SMTP authentication password (consider encrypted storage)\n\tIp             string   `json:\"ip\"`              // IP for reminding users to update SPF record (optional)\n\tHost           string   `json:\"host\"`            // Host for reminding users to update SPF record (optional)\n\tActive         int      `json:\"active\"`          // Whether this relay configuration is active: 1-enabled, 0-disabled\n\tCreateTime     int      `json:\"create_time\"`     // Creation time\n\tUpdateTime     int      `json:\"update_time\"`     // Update time\n\tAuthMethod     string   `json:\"auth_method\"`     // Authentication method: LOGIN, PLAIN, CRAM-MD5, NONE\n\tTlsProtocol    string   `json:\"tls_protocol\"`    // TLS protocol: STARTTLS, SSL/TLS, NONE\n\tSkipTlsVerify  int      `json:\"skip_tls_verify\"` // Whether to skip TLS verification: 1-skip, 0-do not skip\n\tHeloName       string   `json:\"helo_name\"`       // HELO hostname\n\tSmtpName       string   `json:\"smtp_name\"`       // Unique name of the SMTP server\n\tHeaderJson     string   `json:\"header_json\"`     // Custom email headers in JSON format\n\tMaxConcurrency int      `json:\"max_concurrency\"` // Maximum concurrent connections\n\tMaxRetries     int      `json:\"max_retries\"`     // Maximum retry attempts\n\tMaxIdleTime    string   `json:\"max_idle_time\"`   // Maximum idle connection time\n\tMaxWaitTime    string   `json:\"max_wait_time\"`   // Maximum wait time\n\tSenderDomains  []string `json:\"sender_domains\"`  // Array of sender domains associated with this relay config\n\t//RelayDomains   []*RelayDomainMapping `json:\"relay_domains\"`   // Domain mapping details\n}\n\n//type RelayDomainMapping struct {\n//\tId           int    `json:\"id\"`\n//\tRelayId      int    `json:\"relay_id\"`\n//\tSenderDomain string `json:\"sender_domain\"`\n//\tCreateTime   int    `json:\"create_time\"`\n//}\n\n// DNSRecord struct represents a DNS record\ntype DNSRecord struct {\n\tType  string `json:\"type\"`\n\tHost  string `json:\"host\"`\n\tValue string `json:\"value\"`\n}\n\n// SmtpStatus SMTP connection status\ntype SmtpStatus struct {\n\tStatus bool   `json:\"status\"` // Whether the connection is successful\n\tMsg    string `json:\"msg\"`    // Status description\n\t//LastTime int64  `json:\"lastTime\"` // Last test time (Unix timestamp)\n}\n\n// BmRelayWithSPF\ntype BmRelayWithSPF struct {\n\t*BmRelay\n\tSPFRecords []*SPFStatus `json:\"spf_records\"`\n\tSmtpStatus SmtpStatus   `json:\"smtp_status\"`\n\tCheckSPF   int          `json:\"check_spf\"` // Whether to check SPF record: 1-check, 0-do not check\n}\n\ntype SPFStatus struct {\n\tDNSRecord DNSRecord `json:\"dns_record\"` // SPF\n\tCheck     int       `json:\"check\"`      // Verification status (0: Correct, 1: Incorrect/Needs modification)\n}\n\n// CreateRelayConfigReq Request to add a relay configuration\ntype CreateRelayConfigReq struct {\n\tg.Meta        `path:\"/relay/add\" method:\"post\" tags:\"Relay Configs\" summary:\"Create a new relay configuration\"`\n\tAuthorization string    `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n\tRemark        string    `json:\"remark\" v:\"max-length:255\" dc:\"Remark, e.g., AWS SES Japan Region\"`\n\tRtype         string    `json:\"rtype\" v:\"max-length:30\" dc:\"Relay type: gmail, sendgrid, custom, aws, mailgun, local\"`\n\tSenderDomains []string  `json:\"sender_domains\" v:\"required\" dc:\"Array of sender domains\"`\n\tRelayHost     string    `json:\"relay_host\" v:\"required|max-length:255\" dc:\"Relay server address\"`\n\tRelayPort     string    `json:\"relay_port\" v:\"required|max-length:10\" dc:\"Relay server port, e.g., 587\"`\n\tAuthUser      string    `json:\"auth_user\" v:\"max-length:255\" dc:\"SMTP authentication username (optional for no-auth relays)\"`\n\tAuthPassword  string    `json:\"auth_password\" v:\"max-length:255\" dc:\"SMTP authentication password (optional for no-auth relays)\"`\n\tIP            string    `json:\"ip\" v:\"max-length:255\" dc:\"IP for reminding users to update SPF record, e.g., +ip4:23.158.104.237\"`\n\tHost          string    `json:\"host\" v:\"max-length:255\" dc:\"Host for reminding users to update SPF record, e.g., include:lootk.cn\"`\n\tActive        int       `json:\"active\" d:\"1\" v:\"in:0,1\" dc:\"Whether enabled: 1-enabled, 0-disabled (default is 1)\"`\n\tAuthMethod    string    `json:\"auth_method\" v:\"max-length:20\" dc:\"Authentication method: LOGIN, PLAIN, CRAM-MD5, NONE\"`\n\tTlsProtocol   string    `json:\"tls_protocol\" v:\"max-length:20\" dc:\"TLS protocol: STARTTLS, SSL/TLS, NONE\"`\n\tSkipTlsVerify int       `json:\"skip_tls_verify\" v:\"in:0,1\" dc:\"Whether to skip TLS verification: 1-skip, 0-do not skip\"`\n\tHeloName      string    `json:\"helo_name\" v:\"max-length:255\" dc:\"HELO hostname\"`\n\tSmtpName      string    `json:\"smtp_name\" v:\"max-length:50\" dc:\"Unique name of the SMTP server\"`\n\tSPFRecord     DNSRecord `json:\"spf_record\"` // Generated SPF record suggestion\n}\ntype CreateRelayConfigRes struct {\n\tapi_v1.StandardRes\n\tSPFRecord DNSRecord `json:\"spf_record\"`\n}\n\n// ListRelayConfigsReq Request to get a list of relay configurations\ntype ListRelayConfigsReq struct {\n\tg.Meta        `path:\"/relay/list\" method:\"get\" tags:\"Relay Configs\" summary:\"Get the list of relay configurations\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n\tKeyword       string `json:\"keyword\" dc:\"search\"`\n\tRtype         string `json:\"rtype\" dc:\"gmail, sendgrid, custom, aws, mailgun, local\"`\n}\n\ntype ListRelayConfigsRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int               `json:\"total\" dc:\"Total records count\"`\n\t\tList  []*BmRelayWithSPF `json:\"list\" dc:\"Relay configuration list\"`\n\t} `json:\"data\"`\n}\n\n// UpdateRelayConfigReq Request to update a relay configuration\ntype UpdateRelayConfigReq struct {\n\tg.Meta        `path:\"/relay/edit\" method:\"post\" tags:\"Relay Configs\" summary:\"Update a relay configuration\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n\tID            int    `json:\"id\" v:\"required|min:1\" dc:\"The ID of the configuration to update\"`\n\tRtype         string `json:\"rtype,omitempty\" v:\"max-length:30\" dc:\"rtype: gmail, sendgrid, custom, aws, mailgun, local\"`\n\tRemark        string `json:\"remark,omitempty\" v:\"max-length:255\" dc:\"Remark, e.g., AWS SES Japan Region\"`\n\tRelayHost     string `json:\"relay_host,omitempty\" v:\"max-length:255\" dc:\"Relay server address\"`\n\tRelayPort     string `json:\"relay_port,omitempty\" v:\"max-length:10\" dc:\"Relay server port, e.g., 587\"`\n\tAuthUser      string `json:\"auth_user,omitempty\" v:\"max-length:255\" dc:\"SMTP authentication username (optional for no-auth relays)\"`\n\tAuthPassword  string `json:\"auth_password,omitempty\" v:\"max-length:255\" dc:\"SMTP authentication password (no update if not provided)\"`\n\tIP            string `json:\"ip,omitempty\" v:\"max-length:255\" dc:\"IP for reminding users to update SPF record, e.g., +ip4:23.158.104.237\"`\n\tHost          string `json:\"host,omitempty\" v:\"max-length:255\" dc:\"Host for reminding users to update SPF record, e.g., include:lootk.cn\"`\n\tActive        int    `json:\"active,omitempty\" v:\"in:0,1\" dc:\"Whether enabled: 1-enabled, 0-disabled\"`\n\n\tSenderDomains []string `json:\"sender_domains,omitempty\" dc:\"Domains to add to this relay configuration\"`\n\n\t// Advanced options\n\tAuthMethod    string `json:\"auth_method,omitempty\" v:\"max-length:20\" dc:\"Authentication method: LOGIN, PLAIN, CRAM-MD5, NONE\"`\n\tSkipTlsVerify int    `json:\"skip_tls_verify,omitempty\" v:\"in:0,1\" dc:\"Whether to skip TLS verification: 1-skip, 0-do not skip\"`\n\tHeloName      string `json:\"helo_name,omitempty\" v:\"max-length:255\" dc:\"HELO hostname\"`\n\tSmtpName      string `json:\"smtp_name,omitempty\" v:\"max-length:50\" dc:\"Unique name of the SMTP server\"`\n}\n\ntype UpdateRelayConfigRes struct {\n\tapi_v1.StandardRes\n\tSPFRecord DNSRecord `json:\"spf_record\"`\n}\n\n// DeleteRelayConfigReq Request to delete a relay configuration\ntype DeleteRelayConfigReq struct {\n\tg.Meta        `path:\"/relay/delete\" method:\"post\" tags:\"Relay Configs\" summary:\"Delete a relay configuration\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n\tID            int64  `json:\"id\" v:\"required|min:1\" dc:\"The ID of the configuration to delete\"`\n}\n\ntype DeleteRelayConfigRes struct {\n\tapi_v1.StandardRes\n}\n\n// DomainInfo Represents domain information\ntype DomainInfo struct {\n\tDomain  string `json:\"domain\"`\n\tIsBound bool   `json:\"is_bound\"`\n}\n\ntype GetUnboundDomainsReq struct {\n\tg.Meta        `path:\"/relay/get_unbound_domains\" method:\"get\" tags:\"Relay Configs\" summary:\"Get domains without bound relay services\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n}\n\ntype GetUnboundDomainsRes struct {\n\tapi_v1.StandardRes\n\tData []*DomainInfo `json:\"data\" dc:\"List of domain info\"`\n}\n\n// TestSmtpConnectionReq Test SMTP connection request\ntype TestSmtpConnectionReq struct {\n\tg.Meta        `path:\"/relay/test_connection\" method:\"post\" tags:\"Relay Configs\" summary:\"Test if the SMTP relay connection is normal\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n\tRelayHost     string `json:\"relay_host\" v:\"required|max-length:255\" dc:\"Relay server address\"`\n\tRelayPort     string `json:\"relay_port\" v:\"required|max-length:10\" dc:\"Relay server port, e.g., 587\"`\n\tAuthUser      string `json:\"auth_user\" v:\"max-length:255\" dc:\"SMTP authentication username (optional for no-auth relays)\"`\n\tAuthPassword  string `json:\"auth_password\" v:\"max-length:255\" dc:\"SMTP authentication password (optional for no-auth relays)\"`\n}\n\n// TestSmtpConnectionRes Test SMTP connection response\ntype TestSmtpConnectionRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tServerInfo      string `json:\"server_info\" dc:\"Server information\"`\n\t\tTlsStatus       string `json:\"tls_status\" dc:\"TLS status\"`\n\t\tAuthStatus      string `json:\"auth_status\" dc:\"Authentication status\"`\n\t\tConnectionTime  int64  `json:\"connection_time\" dc:\"Connection establishment time (milliseconds)\"`\n\t\tSupportedAuth   string `json:\"supported_auth\" dc:\"Authentication methods supported by the server\"`\n\t\tRecommendConfig bool   `json:\"recommend_config\" dc:\"Whether this configuration is recommended\"`\n\t} `json:\"data\"`\n}\n"
  },
  {
    "path": "core/api/settings/settings.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage settings\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/settings/v1\"\n)\n\ntype ISettingsV1 interface {\n\tGetVersion(ctx context.Context, req *v1.GetVersionReq) (res *v1.GetVersionRes, err error)\n\tGetSystemConfig(ctx context.Context, req *v1.GetSystemConfigReq) (res *v1.GetSystemConfigRes, err error)\n\tSetSystemConfig(ctx context.Context, req *v1.SetSystemConfigReq) (res *v1.SetSystemConfigRes, err error)\n\tSetSystemConfigKey(ctx context.Context, req *v1.SetSystemConfigKeyReq) (res *v1.SetSystemConfigKeyRes, err error)\n\tSetSSLConfig(ctx context.Context, req *v1.SetSSLConfigReq) (res *v1.SetSSLConfigRes, err error)\n\tGetTimeZoneList(ctx context.Context, req *v1.GetTimeZoneListReq) (res *v1.GetTimeZoneListRes, err error)\n\tSetIPWhitelist(ctx context.Context, req *v1.SetIPWhitelistReq) (res *v1.SetIPWhitelistRes, err error)\n\tDeleteIPWhitelist(ctx context.Context, req *v1.DeleteIPWhitelistReq) (res *v1.DeleteIPWhitelistRes, err error)\n\tAddIPWhitelist(ctx context.Context, req *v1.AddIPWhitelistReq) (res *v1.AddIPWhitelistRes, err error)\n\tSetReverseProxyDomain(ctx context.Context, req *v1.SetReverseProxyDomainReq) (res *v1.SetReverseProxyDomainRes, err error)\n\tDeleteReverseProxyDomain(ctx context.Context, req *v1.DeleteReverseProxyDomainReq) (res *v1.DeleteReverseProxyDomainRes, err error)\n\tRegenerateAPIToken(ctx context.Context, req *v1.RegenerateAPITokenReq) (res *v1.RegenerateAPITokenRes, err error)\n\tSetAPIDocSwagger(ctx context.Context, req *v1.SetAPIDocSwaggerReq) (res *v1.SetAPIDocSwaggerRes, err error)\n\tSetBlacklistAutoScan(ctx context.Context, req *v1.SetBlacklistAutoScanReq) (res *v1.SetBlacklistAutoScanRes, err error)\n\tSetBlacklistAlert(ctx context.Context, req *v1.SetBlacklistAlertReq) (res *v1.SetBlacklistAlertRes, err error)\n\tSetBlacklistAlertSettings(ctx context.Context, req *v1.SetBlacklistAlertSettingsReq) (res *v1.SetBlacklistAlertSettingsRes, err error)\n}\n"
  },
  {
    "path": "core/api/settings/v1/settings.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\n// SSLConfig\ntype SSLConfig struct {\n\tCertPath          string   `json:\"cert_path\" dc:\"cert path\"`\n\tKeyPath           string   `json:\"key_path\" dc:\"key path\"`\n\tCertData          string   `json:\"certPem\" dc:\"cert data\"`\n\tKeyData           string   `json:\"privateKey\" dc:\"key data\"`\n\tValidUntil        string   `json:\"notAfter\" dc:\"cert not after\"`\n\tValidFrom         string   `json:\"notBefore\" dc:\"cert not before\"`\n\tIssuer            string   `json:\"issuer\" dc:\"cert issuer\"`\n\tSubject           string   `json:\"subject\" dc:\"cert subject\"`\n\tDNSNames          []string `json:\"dns_names\" dc:\"dns names\"`\n\tSerialNumber      string   `json:\"serial_number\" dc:\"serial number\"`\n\tIsCA              bool     `json:\"is_ca\" dc:\"is ca certificate\"`\n\tIssuerCommonName  string   `json:\"issuer_common_name\" dc:\"issuer common name\"`\n\tSubjectCommonName string   `json:\"subject_common_name\" dc:\"subject common name\"`\n\tVersion           int      `json:\"version\" dc:\"version\"`\n\tStatus            bool     `json:\"status\" dc:\"ssl certificate status\"`\n}\n\n// SystemConfig\ntype SystemConfig struct {\n\tServerIP string `json:\"server_ip\" dc:\"server ip\"`\n\t// Basic configuration\n\tAdminUsername string `json:\"admin_username\" dc:\"admin username\"`\n\tAdminPassword string `json:\"admin_password\" dc:\"admin password\"`\n\tSafePath      string `json:\"safe_path\" dc:\"safe path\"`\n\n\t// Domain name configuration\n\tHostname string `json:\"billionmail_hostname\" dc:\"billionmail hostname\"`\n\n\t// Database configuration\n\tDBName string `json:\"db_name\" dc:\"db name\"`\n\tDBUser string `json:\"db_user\" dc:\"db user\"`\n\tDBPass string `json:\"db_pass\" dc:\"db password\"`\n\n\t// Redis configuration\n\tRedisPass string `json:\"redis_pass\" dc:\"redis password\"`\n\tRedisPort string `json:\"redis_port\" dc:\"redis port\"`\n\n\t// Port configuration\n\tMailPorts struct {\n\t\tSMTP       int `json:\"smtp\" dc:\"smtp port\"`\n\t\tSMTPS      int `json:\"smtps\" dc:\"smtps port\"`\n\t\tSubmission int `json:\"submission\" dc:\"submission port\"`\n\t\tIMAP       int `json:\"imap\" dc:\"imap port\"`\n\t\tIMAPS      int `json:\"imaps\" dc:\"imaps port\"`\n\t\tPOP        int `json:\"pop\" dc:\"pop port\"`\n\t\tPOPS       int `json:\"pops\" dc:\"pops port\"`\n\t} `json:\"mail_ports\" dc:\"mail ports configuration\"`\n\n\t// Management port configuration\n\tManagePorts struct {\n\t\tHTTP     int    `json:\"http\" dc:\"http port\"`\n\t\tHTTPS    int    `json:\"https\" dc:\"https port\"`\n\t\tCommand1 string `json:\"command_https\" dc:\"command https\"`\n\t\tCommand2 string `json:\"command_http\" dc:\"command http\"`\n\t} `json:\"manage_ports\" dc:\"management ports configuration\"`\n\n\t// Time zone configuration\n\tManageTimeZone struct {\n\t\tTimeZone string `json:\"timezone\" dc:\"time zone\"`\n\t\tCommand  string `json:\"command\" dc:\"command\"`\n\t} `json:\"manage_timezone\" dc:\"time zone configuration\"`\n\n\t// IPv4 network configuration\n\tIPv4Network string `json:\"ipv4_network\" dc:\"ipv4 network\"`\n\tFail2ban    bool   `json:\"fail2ban\" dc:\"fail2ban\"`\n\n\t// SSL certificate configuration\n\tSSL SSLConfig `json:\"ssl\" dc:\"ssl certificate configuration\"`\n\n\t// IP whitelist configuration\n\tIPWhitelist        []g.Map `json:\"ip_whitelist\" dc:\"ip whitelist\"`\n\tIPWhitelistEnabled bool    `json:\"ip_whitelist_enable\" dc:\"ip whitelist enabled\"`\n\t// Reverse proxy domain configuration\n\n\tReverseProxyDomain struct {\n\t\tCurrentUrl   string `json:\"current_url\" dc:\"current url\"`\n\t\tReverseProxy string `json:\"reverse_proxy\" dc:\"reverse proxy\"`\n\t} `json:\"reverse_proxy_domain\" dc:\"reverse proxy domain\"`\n\n\t// API configuration\n\tAPIDocSwagger struct {\n\t\tAPIDocURL     string `json:\"api_doc_url\" dc:\"api doc url\"`\n\t\tSwaggerURL    string `json:\"swagger_url\" dc:\"swagger url\"`\n\t\tAPIDocEnabled bool   `json:\"api_doc_enabled\" dc:\"enable API documentation and Swagger UI\"`\n\t\tAPIToken      string `json:\"api_token\" dc:\"API access token\"`\n\t} `json:\"api_doc_swagger\" dc:\"API doc and Swagger UI configuration\"`\n\n\t// blacklist config\n\tBlacklistConfig BlacklistConfig `json:\"blacklist_config\" dc:\"blacklist configuration\"`\n\t// Data retention days\n\tRetentionDays int `json:\"retention_days\" dc:\"Number of days to keep log backup\"`\n}\n\ntype BlacklistConfig struct {\n\tAutoScanEnabled bool                    `json:\"auto_scan_enabled\" dc:\"Automatic scanning switch\"`\n\tAlertEnabled    bool                    `json:\"alert_enabled\" dc:\"Alarm switch\"`\n\tAlertSettings   *BlacklistAlertSettings `json:\"alert_settings\" dc:\"Alarm settings\"`\n}\n\ntype BlacklistAlertSettings struct {\n\tName          string   `json:\"name\" dc:\"Alarm sender's name\"`\n\tSenderEmail   string   `json:\"sender_email\" dc:\"sender email\" v:\"required|email\"`\n\tSMTPPassword  string   `json:\"smtp_password\" dc:\"SMTP password\" v:\"required\"`\n\tSMTPServer    string   `json:\"smtp_server\" dc:\"SMTP server\" v:\"required\"`\n\tSMTPPort      int      `json:\"smtp_port\" dc:\"SMTP port\" v:\"required|between:1,65535\" d:\"587\"`\n\tRecipientList []string `json:\"recipient_list\" dc:\"recipient list\" v:\"required\"`\n}\n\ntype GetVersionReq struct {\n\tg.Meta        `path:\"/settings/get_version\" tags:\"Version\" method:\"get\" summary:\"Get current version information\" in:\"query\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\ntype GetVersionRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tVersion       string `json:\"version\" dc:\"Version\"`\n\t\tLatestVersion string `json:\"latest_version\" dc:\"Latest version\"`\n\t\tReleaseDate   string `json:\"release_date\" dc:\"Release date\"`\n\t\tCanUpdate     bool   `json:\"can_update\" dc:\"CanUpdate\"`\n\t} `json:\"data\" dc:\"Data\"`\n}\n\n// Get system configuration request\ntype GetSystemConfigReq struct {\n\tg.Meta        `path:\"/settings/get_system_config\" tags:\"Settings\" method:\"get\" summary:\"Get system configuration\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\n\n// Get system configuration response\ntype GetSystemConfigRes struct {\n\tapi_v1.StandardRes\n\tData *SystemConfig `json:\"data\" dc:\"system configuration data\"`\n}\n\n// Set system configuration request\ntype SetSystemConfigReq struct {\n\tg.Meta        `path:\"/settings/set_system_config\" tags:\"Settings\" method:\"post\" summary:\"Set system configuration\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tSystemConfig\n}\n\n// Set system configuration response\ntype SetSystemConfigRes struct {\n\tapi_v1.StandardRes\n}\n\n// Set system configuration request\ntype SetSystemConfigKeyReq struct {\n\tg.Meta        `path:\"/settings/set_system_config_key\" tags:\"Settings\" method:\"post\" summary:\"Set system configuration\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tKey           string `json:\"key\" dc:\"configuration key\"`\n\tValue         string `json:\"value\" dc:\"configuration value\"`\n}\n\ntype SetSystemConfigKeyRes struct {\n\tapi_v1.StandardRes\n}\n\n// Set SSL certificate request\ntype SetSSLConfigReq struct {\n\tg.Meta        `path:\"/settings/set_ssl_config\" tags:\"Settings\" method:\"post\" summary:\"Set SSL certificate configuration\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tCertData      string `json:\"certPem\" dc:\"certificate data\"`\n\tKeyData       string `json:\"privateKey\" dc:\"private key data\"`\n}\n\ntype SetSSLConfigRes struct {\n\tapi_v1.StandardRes\n}\n\ntype GetTimeZoneListReq struct {\n\tg.Meta        `path:\"/settings/get_timezone_list\" tags:\"Settings\" method:\"get\" summary:\"Get available time zones\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\ntype GetTimeZoneListRes struct {\n\tapi_v1.StandardRes\n\tData map[string][]string `json:\"data\" dc:\"available time zones\"`\n}\n\ntype SetIPWhitelistReq struct {\n\tg.Meta        `path:\"/settings/set_ip_whitelist\" tags:\"Settings\" method:\"post\" summary:\"Set IP whitelist\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tIPList        []string `json:\"ip_list\" dc:\"IP list\"`\n}\n\ntype SetIPWhitelistRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteIPWhitelistReq struct {\n\tg.Meta        `path:\"/settings/delete_ip_whitelist\" tags:\"Settings\" method:\"post\" summary:\"Delete IP whitelist\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tID            int    `json:\"id\" dc:\"ID\"`\n}\n\ntype DeleteIPWhitelistRes struct {\n\tapi_v1.StandardRes\n}\n\ntype AddIPWhitelistReq struct {\n\tg.Meta        `path:\"/settings/add_ip_whitelist\" tags:\"Settings\" method:\"post\" summary:\"Add IP whitelist\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tIP            string `json:\"ip\" dc:\"IP\"`\n}\n\ntype AddIPWhitelistRes struct {\n\tapi_v1.StandardRes\n}\n\ntype SetReverseProxyDomainReq struct {\n\tg.Meta        `path:\"/settings/set_reverse_proxy_domain\" tags:\"Settings\" method:\"post\" summary:\"Set reverse proxy domain\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n\tDomain        string `json:\"domain\" dc:\"Domain\" v:\"required\"`\n}\n\ntype SetReverseProxyDomainRes struct {\n\tapi_v1.StandardRes\n}\n\ntype DeleteReverseProxyDomainReq struct {\n\tg.Meta        `path:\"/settings/delete_reverse_proxy_domain\" tags:\"Settings\" method:\"post\" summary:\"Delete reverse proxy domain\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n}\ntype DeleteReverseProxyDomainRes struct {\n\tapi_v1.StandardRes\n}\n\n// Regenerate API Token request\ntype RegenerateAPITokenReq struct {\n\tg.Meta        `path:\"/settings/regenerate_api_token\" tags:\"Settings\" method:\"post\" summary:\"Regenerate API Token\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n}\n\n// Regenerate API Token response\ntype RegenerateAPITokenRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tAPIToken string `json:\"api_token\" dc:\"New API Token\"`\n\t} `json:\"data\" dc:\"Generated API Token\"`\n}\n\n// Set the status of the API documentation and Swagger\ntype SetAPIDocSwaggerReq struct {\n\tg.Meta        `path:\"/settings/set_api_doc_swagger\" tags:\"Settings\" method:\"post\" summary:\"Set API Doc and Swagger UI configuration\"`\n\tAuthorization string `json:\"authorization\" in:\"header\" dc:\"Authorization\" v:\"required\"`\n\tAPIDocEnabled bool   `json:\"api_doc_enabled\" dc:\"Enable API documentation and Swagger UI\"`\n}\ntype SetAPIDocSwaggerRes struct {\n\tapi_v1.StandardRes\n}\n\ntype SetBlacklistAutoScanReq struct {\n\tg.Meta        `path:\"/settings/set_blacklist_auto_scan\" tags:\"Settings\" method:\"post\" summary:\"Set blacklist auto scan switch\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tEnabled       bool   `json:\"enabled\" dc:\"Automatic scanning switch\" v:\"required\"`\n}\n\ntype SetBlacklistAutoScanRes struct {\n\tapi_v1.StandardRes\n}\n\ntype SetBlacklistAlertReq struct {\n\tg.Meta        `path:\"/settings/set_blacklist_alert\" tags:\"Settings\" method:\"post\" summary:\"Set blacklist alert switch\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tEnabled       bool   `json:\"enabled\" dc:\"Blacklist alarm switch\" v:\"required\"`\n}\n\ntype SetBlacklistAlertRes struct {\n\tapi_v1.StandardRes\n}\n\ntype SetBlacklistAlertSettingsReq struct {\n\tg.Meta        `path:\"/settings/set_blacklist_alert_settings\" tags:\"Settings\" method:\"post\" summary:\"Set blacklist alert settings\"`\n\tAuthorization string   `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tName          string   `json:\"name\" dc:\"Alarm sender's name\" v:\"required\"`\n\tSenderEmail   string   `json:\"sender_email\" dc:\"sender email\" v:\"required|email\" v:\"required\"`\n\tSMTPPassword  string   `json:\"smtp_password\" dc:\"SMTP password\" v:\"required\" v:\"required\"`\n\tSMTPServer    string   `json:\"smtp_server\" dc:\"SMTP server\" v:\"required\" v:\"required\"`\n\tSMTPPort      int      `json:\"smtp_port\" dc:\"SMTP port\" v:\"required|between:1,65535\" d:\"587\" v:\"required\"`\n\tRecipientList []string `json:\"recipient_list\" dc:\"recipient list\" v:\"required\"`\n}\n\ntype SetBlacklistAlertSettingsRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/subscribe_list/subscribe_list.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage subscribe_list\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/subscribe_list/v1\"\n)\n\ntype ISubscribeListV1 interface {\n\tSubscribeSubmit(ctx context.Context, req *v1.SubscribeSubmitReq) (res *v1.SubscribeSubmitRes, err error)\n\tSubscribeConfirm(ctx context.Context, req *v1.SubscribeConfirmReq) (res *v1.SubscribeConfirmRes, err error)\n}\n"
  },
  {
    "path": "core/api/subscribe_list/v1/subscribe_list.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype ContactGroup struct {\n\tId          int    `json:\"id\"          dc:\"Group ID\"`\n\tName        string `json:\"name\"        dc:\"Group Name\"`\n\tDescription string `json:\"description\" dc:\"Description\"`\n\tCreateTime  int    `json:\"create_time\" dc:\"Create Time\"`\n\tUpdateTime  int    `json:\"update_time\" dc:\"Update Time\"`\n\tToken       string `json:\"token\"      dc:\"Subscription Token\"`\n\tDoubleOptin int    `json:\"double_optin\" dc:\"Double Opt-in Status(0: Single Opt-in 1: Double Opt-in)\"`\n\n\tWelcomeHtml string `json:\"welcome_mail_html\" dc:\"Welcome Email Html\"`\n\tWelcomeDrag string `json:\"welcome_mail_drag\" dc:\"Welcome Email Drag\"`\n\n\tWelcomeSubject   string `json:\"welcome_subject\" dc:\"Welcome Email Subject\"`\n\tSendWelcomeEmail int    `json:\"send_welcome_email\" dc:\"Whether to send a welcome email\"`\n\tConfirmSubject   string `json:\"confirm_subject\" dc:\"Confirmation Email Subject\"`\n\n\tConfirmHtml   string `json:\"confirm_mail_html\" dc:\"Confirmation Email Html\"`\n\tConfirmDrag   string `json:\"confirm_mail_drag\" dc:\"Confirmation Email Drag\"`\n\tSuccessUrl    string `json:\"success_url\" dc:\"Success URL\"`\n\tConfirmUrl    string `json:\"confirm_url\" dc:\"Confirmation URL\"`\n\tAlreadyUrl    string `json:\"already_url\" dc:\"Already Subscribed URL\"`\n\tSubscribeForm string `json:\"subscribe_form\" dc:\"Subscription Form HTML\"`\n}\ntype Contact struct {\n\tId           int               `json:\"id\"          dc:\"Contact ID\"`\n\tEmail        string            `json:\"email\"       dc:\"Email Address\"`\n\tGroupId      int               `json:\"group_id\"    dc:\"Group ID\"`\n\tActive       int               `json:\"active\"      dc:\"Status(1:Subscribed 0:Unsubscribed)\"`\n\tTaskId       int               `json:\"task_id\"     dc:\"Bulk Mail Task ID\"`\n\tCreateTime   int               `json:\"create_time\" dc:\"Create Time\"`\n\tStatus       int               `json:\"status\"      dc:\"Status( 1:Confirmed   0:Unconfirmed)\"`\n\tAttribs      map[string]string `json:\"attribs\"`\n\tLastActiveAt int               `json:\"last_active_at\" dc:\"Last Active At\"`\n}\n\ntype SubscribeSubmitReq struct {\n\tg.Meta        `path:\"/subscribe/submit\" tags:\"Subscribe\" method:\"post\" summary:\"Subscribe to the service\"`\n\tAuthorization string            `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tEmail         string            `json:\"email\" dc:\"Email address for subscription\"`\n\tToken         string            `json:\"token\" dc:\"Subscription token\"`\n\tAttribs       map[string]string `json:\"attribs\" dc:\"Additional attributes for subscription, e.g., {'name': 'John Doe', 'phone': '1234567890'}\"`\n}\n\ntype SubscribeSubmitRes struct {\n\tapi_v1.StandardRes\n}\n\ntype SubscribeConfirmReq struct {\n\tg.Meta        `path:\"/subscribe/confirm\" tags:\"Subscribe\" method:\"get\" summary:\"Confirm subscription\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tToken         string `json:\"token\" dc:\"Subscription token\"`\n\tEmail         string `json:\"email\" dc:\"Email address for subscription\"`\n}\n\ntype SubscribeConfirmRes struct {\n\tapi_v1.StandardRes\n}\n"
  },
  {
    "path": "core/api/tags/tags.go",
    "content": "// =================================================================================\n// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.\n// =================================================================================\n\npackage tags\n\nimport (\n\t\"context\"\n\n\t\"billionmail-core/api/tags/v1\"\n)\n\ntype ITagsV1 interface {\n\tTagList(ctx context.Context, req *v1.TagListReq) (res *v1.TagListRes, err error)\n\tTagCreate(ctx context.Context, req *v1.TagCreateReq) (res *v1.TagCreateRes, err error)\n\tTagUpdate(ctx context.Context, req *v1.TagUpdateReq) (res *v1.TagUpdateRes, err error)\n\tTagDelete(ctx context.Context, req *v1.TagDeleteReq) (res *v1.TagDeleteRes, err error)\n\tBatchTagContacts(ctx context.Context, req *v1.BatchTagContactsReq) (res *v1.BatchTagContactsRes, err error)\n\tTagAll(ctx context.Context, req *v1.TagAllReq) (res *v1.TagAllRes, err error)\n}\n"
  },
  {
    "path": "core/api/tags/v1/tags.go",
    "content": "package v1\n\nimport (\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\ntype TagInfo struct {\n\tId         int    `json:\"id\"          dc:\"Tag ID\"`\n\tGroupId    int    `json:\"group_id\"    dc:\"Group ID\"`\n\tName       string `json:\"name\"       dc:\"Tag Name\"`\n\tCreateTime int    `json:\"create_time\" dc:\"Create Time\"`\n}\n\ntype TagListReq struct {\n\tg.Meta        `path:\"/tags/list\" method:\"get\" tags:\"Tag\" summary:\"Get tag list\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" v:\"min:1\" dc:\"Group ID\"`\n\tKeyword       string `json:\"keyword\" dc:\"Search keyword\"`\n\tPage          int    `json:\"page\" dc:\"Page\" d:\"1\"`\n\tPageSize      int    `json:\"page_size\" dc:\"Page size\" d:\"20\"`\n}\ntype TagListRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int           `json:\"total\" dc:\"Total Count\"`\n\t\tList  []*entity.Tag `json:\"list\" dc:\"Tag list\"`\n\t} `json:\"data\"`\n}\n\ntype TagCreateReq struct {\n\tg.Meta        `path:\"/tags/create\" method:\"post\" tags:\"Tag\" summary:\"Create a new tag\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" v:\"required|min:1\" dc:\"Group ID\"`\n\tName          string `json:\"name\" v:\"required|max-length:50\" dc:\"Tag Name\"`\n}\ntype TagCreateRes struct {\n\tapi_v1.StandardRes\n}\n\ntype TagUpdateReq struct {\n\tg.Meta        `path:\"/tags/update\" method:\"post\" tags:\"Tag\" summary:\"Update a tag\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required|min:1\" dc:\"Tag ID\"`\n\tName          string `json:\"name\" v:\"required|max-length:50\" dc:\"Tag Name\"`\n}\ntype TagUpdateRes struct {\n\tapi_v1.StandardRes\n}\n\ntype TagDeleteReq struct {\n\tg.Meta        `path:\"/tags/delete\" method:\"post\" tags:\"Tag\" summary:\"Delete a tag\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tId            int    `json:\"id\" v:\"required|min:1\" dc:\"Tag ID\"`\n}\ntype TagDeleteRes struct {\n\tapi_v1.StandardRes\n}\n\ntype BatchTagContactsReq struct {\n\tg.Meta        `path:\"/tags/batch_contacts\" method:\"post\" tags:\"Tag\" summary:\"Tag contacts in bulk\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n\tGroupId       int    `json:\"group_id\" v:\"required|min:1\" dc:\"Group ID\"`\n\tTagIds        []int  `json:\"tag_ids\" v:\"required|min-length:1\" dc:\"Tag IDs\"`\n\tData          string `json:\"data\" v:\"required\" dc:\"Contact emails, separated by new lines\"`\n\tMarkInclude   int    `json:\"mark_include\" v:\"required|in:0,1\" dc:\"Mark include (1) or exclude (0)\"`\n}\ntype BatchTagContactsRes struct {\n\tapi_v1.StandardRes\n}\n\ntype TagAllReq struct {\n\tg.Meta        `path:\"/tags/all\" method:\"get\" tags:\"Tag\" summary:\"Get tags all\"`\n\tAuthorization string `json:\"authorization\" dc:\"Authorization\" in:\"header\"`\n}\ntype TagAllRes struct {\n\tapi_v1.StandardRes\n\tData struct {\n\t\tTotal int           `json:\"total\" dc:\"Total Count\"`\n\t\tList  []*entity.Tag `json:\"list\" dc:\"Tag list\"`\n\t} `json:\"data\"`\n}\n"
  },
  {
    "path": "core/cmd/acme/Makefile",
    "content": "# Makefile for ACME CLI tool\n\n# Go parameters\nGOCMD=go\nGOBUILD=$(GOCMD) build\nGOCLEAN=$(GOCMD) clean\nBINARY_NAME=acme-cli\n\n# Default target is to build the binary\nall: build\n\n# Build the binary\nbuild:\n\t$(GOBUILD) -o $(BINARY_NAME) -v\n\n# Clean build artifacts\nclean:\n\t$(GOCLEAN)\n\trm -f $(BINARY_NAME)\n\n# Cross-platform builds\nbuild-linux:\n\tGOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BINARY_NAME)-linux-amd64 -v\n\nbuild-windows:\n\tGOOS=windows GOARCH=amd64 $(GOBUILD) -o $(BINARY_NAME)-windows-amd64.exe -v\n\nbuild-mac:\n\tGOOS=darwin GOARCH=amd64 $(GOBUILD) -o $(BINARY_NAME)-darwin-amd64 -v\n\n# Build for all platforms\nbuild-all: build-linux build-windows build-mac\n\n# Install to GOPATH/bin\ninstall:\n\t$(GOBUILD) -o $(GOPATH)/bin/$(BINARY_NAME) -v\n\n.PHONY: all build clean build-linux build-windows build-mac build-all install "
  },
  {
    "path": "core/cmd/acme/main.go",
    "content": "package main\n\nimport (\n\t\"billionmail-core/internal/service/acme\"\n\t\"os\"\n)\n\nfunc main() {\n\t// Run ACME CLI with command line arguments\n\texitCode := acme.RunCLI(os.Args[1:])\n\tos.Exit(exitCode)\n}\n"
  },
  {
    "path": "core/frontend/.eslintrc-auto-import.json",
    "content": "{\n  \"globals\": {\n    \"Component\": true,\n    \"ComponentPublicInstance\": true,\n    \"ComputedRef\": true,\n    \"DirectiveBinding\": true,\n    \"EffectScope\": true,\n    \"ExtractDefaultPropTypes\": true,\n    \"ExtractPropTypes\": true,\n    \"ExtractPublicPropTypes\": true,\n    \"InjectionKey\": true,\n    \"MaybeRef\": true,\n    \"MaybeRefOrGetter\": true,\n    \"PropType\": true,\n    \"Ref\": true,\n    \"Slot\": true,\n    \"Slots\": true,\n    \"VNode\": true,\n    \"WritableComputedRef\": true,\n    \"computed\": true,\n    \"createApp\": true,\n    \"customRef\": true,\n    \"defineAsyncComponent\": true,\n    \"defineComponent\": true,\n    \"effectScope\": true,\n    \"getCurrentInstance\": true,\n    \"getCurrentScope\": true,\n    \"h\": true,\n    \"inject\": true,\n    \"isProxy\": true,\n    \"isReactive\": true,\n    \"isReadonly\": true,\n    \"isRef\": true,\n    \"markRaw\": true,\n    \"nextTick\": true,\n    \"onActivated\": true,\n    \"onBeforeMount\": true,\n    \"onBeforeRouteLeave\": true,\n    \"onBeforeRouteUpdate\": true,\n    \"onBeforeUnmount\": true,\n    \"onBeforeUpdate\": true,\n    \"onDeactivated\": true,\n    \"onErrorCaptured\": true,\n    \"onMounted\": true,\n    \"onRenderTracked\": true,\n    \"onRenderTriggered\": true,\n    \"onScopeDispose\": true,\n    \"onServerPrefetch\": true,\n    \"onUnmounted\": true,\n    \"onUpdated\": true,\n    \"onWatcherCleanup\": true,\n    \"provide\": true,\n    \"reactive\": true,\n    \"readonly\": true,\n    \"ref\": true,\n    \"resolveComponent\": true,\n    \"shallowReactive\": true,\n    \"shallowReadonly\": true,\n    \"shallowRef\": true,\n    \"toRaw\": true,\n    \"toRef\": true,\n    \"toRefs\": true,\n    \"toValue\": true,\n    \"triggerRef\": true,\n    \"unref\": true,\n    \"useAttrs\": true,\n    \"useCssModule\": true,\n    \"useCssVars\": true,\n    \"useI18n\": true,\n    \"useId\": true,\n    \"useLink\": true,\n    \"useModel\": true,\n    \"useRoute\": true,\n    \"useRouter\": true,\n    \"useSlots\": true,\n    \"useTemplateRef\": true,\n    \"watch\": true,\n    \"watchEffect\": true,\n    \"watchPostEffect\": true,\n    \"watchSyncEffect\": true\n  }\n}\n"
  },
  {
    "path": "core/frontend/.gitignore",
    "content": "# Local\n.DS_Store\n*.local\n*.log*\n!logs\n\n# Dist\nnode_modules\ndist/\n\n# IDE\n.vscode/*\n!.vscode/extensions.json\n.idea\n\ndeploy.js\n\n# build/config.ts\n\npnpm-lock.yaml\nyarn.lock\n"
  },
  {
    "path": "core/frontend/.prettierignore",
    "content": "# Lock files\npackage-lock.json\npnpm-lock.yaml\nyarn.lock\n"
  },
  {
    "path": "core/frontend/.prettierrc",
    "content": "{\n  \"printWidth\": 100,\n  \"tabWidth\": 2,\n  \"useTabs\": true,\n  \"semi\": false,\n  \"singleQuote\": true,\n  \"quoteProps\": \"as-needed\",\n  \"jsxSingleQuote\": false,\n  \"trailingComma\": \"es5\",\n  \"bracketSpacing\": true,\n  \"jsxBracketSameLine\": true,\n  \"bracketSameLine\": true,\n  \"arrowParens\": \"avoid\",\n  \"rangeStart\": 0,\n  \"rangeEnd\": 99999,\n  \"requirePragma\": false,\n  \"insertPragma\": false,\n  \"proseWrap\": \"preserve\",\n  \"htmlWhitespaceSensitivity\": \"css\",\n  \"vueIndentScriptAndStyle\": false,\n  \"endOfLine\": \"lf\"\n}\n"
  },
  {
    "path": "core/frontend/README.md",
    "content": "# Rsbuild project\n\n## Setup\n\nInstall the dependencies:\n\n```bash\npnpm install\n```\n\n## Get started\n\nStart the dev server:\n\n```bash\npnpm dev\n```\n\nBuild the app for production:\n\n```bash\npnpm build\n```\n\nPreview the production build locally:\n\n```bash\npnpm preview\n```\n"
  },
  {
    "path": "core/frontend/build/config.ts",
    "content": "interface ServerConfig {\n\thttps: boolean\n\taddress: string\n\thost: string\n}\n\nconst serverConfig: Record<string, ServerConfig> = {\n\t'192.168.66.66': {\n\t\thttps: false,\n\t\taddress: 'http://192.168.66.66:64325',\n\t\thost: '192.168.66.66',\n\t},\n\t'192.168.66.124': {\n\t\thttps: true,\n\t\taddress: 'https://192.168.66.124',\n\t\thost: '192.168.66.124',\n\t},\n\t'192.168.168.27': {\n\t\thttps: true,\n\t\taddress: 'https://192.168.168.27:5679',\n\t\thost: '192.168.168.27',\n\t},\n\t'192.168.10.35': {\n\t\thttps: true,\n\t\taddress: 'https://192.168.10.35',\n\t\thost: '192.168.10.35',\n\t},\n\t'103.179.242.193': {\n\t\thttps: true,\n\t\taddress: 'https://103.179.242.193',\n\t\thost: '103.179.242.193',\n\t},\n}\n\nexport default serverConfig\n"
  },
  {
    "path": "core/frontend/build/utils.ts",
    "content": "import { loadEnv } from '@rsbuild/core'\nimport serverConfig from './config'\n\n/**\n * @description 获取环境变量\n * @param key\n * @returns\n */\nexport function getEnv(key: string) {\n\tconst { parsed } = loadEnv()\n\treturn parsed[key]\n}\n\n/**\n * @description 获取服务器配置\n * @returns\n */\nexport function getServer() {\n\tconst name = getEnv('SERVER_NAME') || '192.168.66.124'\n\treturn serverConfig[name]\n}\n"
  },
  {
    "path": "core/frontend/build-for-git.js",
    "content": "import fs from 'fs'\nimport path from 'path'\nimport ora from 'ora'\nimport chalk from 'chalk'\n\n// 前端打包文件的本地路径\nconst localPath = './dist'\n\n// 复制本地文件到指定位置\nasync function copyLocalFiles(targetPath) {\n\tconst spinner = ora(chalk.cyan('正在准备复制文件...')).start()\n\n\treturn new Promise((resolve, reject) => {\n\t\ttry {\n\t\t\t// 如果目标目录存在，先删除它\n\t\t\tif (fs.existsSync(targetPath)) {\n\t\t\t\tspinner.info(chalk.blue(`正在删除目标位置的原有文件: ${targetPath}`))\n\t\t\t\tdeleteFolderRecursive(targetPath)\n\t\t\t\tspinner.succeed(chalk.green(`原有文件已删除: ${targetPath}`))\n\t\t\t}\n\n\t\t\t// 创建目标目录\n\t\t\tfs.mkdirSync(targetPath, { recursive: true })\n\t\t\tspinner.info(chalk.blue(`已创建目标目录: ${targetPath}`))\n\n\t\t\tspinner.start(chalk.cyan(`正在将文件从 ${localPath} 复制到 ${targetPath}...`))\n\n\t\t\t// 递归复制函数\n\t\t\tconst copyRecursive = (source, target) => {\n\t\t\t\t// 获取源目录中的所有文件和文件夹\n\t\t\t\tconst items = fs.readdirSync(source)\n\n\t\t\t\t// 遍历所有文件和文件夹\n\t\t\t\titems.forEach(item => {\n\t\t\t\t\tconst sourcePath = path.join(source, item)\n\t\t\t\t\tconst targetItemPath = path.join(target, item)\n\n\t\t\t\t\t// 检查是文件还是目录\n\t\t\t\t\tconst stat = fs.statSync(sourcePath)\n\n\t\t\t\t\tif (stat.isDirectory()) {\n\t\t\t\t\t\t// 如果是目录，创建对应的目标目录并递归复制\n\t\t\t\t\t\tif (!fs.existsSync(targetItemPath)) {\n\t\t\t\t\t\t\tfs.mkdirSync(targetItemPath, { recursive: true })\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcopyRecursive(sourcePath, targetItemPath)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 如果是文件，直接复制\n\t\t\t\t\t\tfs.copyFileSync(sourcePath, targetItemPath)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// 开始复制\n\t\t\tcopyRecursive(localPath, targetPath)\n\n\t\t\tspinner.succeed(chalk.green(`文件已成功复制到: ${targetPath}`))\n\t\t\tresolve()\n\t\t} catch (error) {\n\t\t\tspinner.fail(chalk.red('复制文件时出现错误'))\n\t\t\t// console.error(error)\n\t\t\treject(error)\n\t\t}\n\t})\n}\n\n// 递归删除文件夹及其内容\nfunction deleteFolderRecursive(folderPath) {\n\tif (fs.existsSync(folderPath)) {\n\t\tfs.readdirSync(folderPath).forEach(file => {\n\t\t\tconst curPath = path.join(folderPath, file)\n\t\t\tif (fs.lstatSync(curPath).isDirectory()) {\n\t\t\t\t// 递归删除子目录\n\t\t\t\tdeleteFolderRecursive(curPath)\n\t\t\t} else {\n\t\t\t\t// 删除文件\n\t\t\t\tfs.unlinkSync(curPath)\n\t\t\t}\n\t\t})\n\t\t// 删除空目录\n\t\tfs.rmdirSync(folderPath)\n\t}\n}\n\n// 主执行逻辑\nasync function main() {\n\t// 再执行文件复制\n\tawait copyLocalFiles('../public/dist')\n}\n\nmain()\n"
  },
  {
    "path": "core/frontend/eslint.config.mjs",
    "content": "import { readFileSync } from 'fs'\nimport js from '@eslint/js'\nimport globals from 'globals'\nimport vueParser from 'vue-eslint-parser'\nimport vuePlugin from 'eslint-plugin-vue'\nimport tsParser from '@typescript-eslint/parser'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport prettier from 'eslint-plugin-prettier'\n\nconst autoImport = JSON.parse(readFileSync('./.eslintrc-auto-import.json', 'utf8'))\n\nexport default [\n\t// Basic JavaScript rules\n\t{\n\t\trules: {\n\t\t\t...js.configs.recommended.rules,\n\t\t},\n\t},\n\t// Node.js environment configuration\n\t{\n\t\tlanguageOptions: {\n\t\t\tglobals: {\n\t\t\t\t...globals.node,\n\t\t\t\t...globals.browser,\n\t\t\t\t...globals.es2020,\n\t\t\t\t...autoImport.globals,\n\t\t\t},\n\t\t},\n\t\trules: {\n\t\t\t'no-console': ['warn', { allow: ['warn', 'error'] }], // Disallow console\n\t\t\t'no-unused-vars': 'warn', // Warn on unused variables\n\t\t\t'no-fallthrough': 'off', // Allow fallthrough\n\t\t},\n\t},\n\t// Vue 3 configuration\n\t{\n\t\tfiles: ['**/*.vue'],\n\t\tlanguageOptions: {\n\t\t\tparser: vueParser,\n\t\t\tparserOptions: {\n\t\t\t\tparser: tsParser,\n\t\t\t\tecmaVersion: 'latest',\n\t\t\t\tsourceType: 'module',\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tplugins: {\n\t\t\tvue: vuePlugin,\n\t\t},\n\t\trules: {\n\t\t\t...vuePlugin.configs['recommended'].rules,\n\t\t\t'vue/multi-word-component-names': 'off', // Allow multi-word component names\n\t\t\t'vue/no-required-prop-with-default': 'off', // Allow required props with default values\n\t\t\t'vue/no-v-html': 'off',\n\t\t},\n\t},\n\t// TypeScript configuration\n\t{\n\t\tfiles: ['**/*.ts', '**/*.tsx'],\n\t\tlanguageOptions: {\n\t\t\tparser: tsParser,\n\t\t},\n\t\tplugins: {\n\t\t\t'@typescript-eslint': tsPlugin,\n\t\t},\n\t\trules: {\n\t\t\t...tsPlugin.configs.recommended.rules,\n\t\t\t'@typescript-eslint/no-unused-vars': 'warn', // Warn on unused variables\n\t\t\t'@typescript-eslint/no-explicit-any': 'off', // Allow any type\n\t\t\t'@typescript-eslint/no-unsafe-function-type': 'off', // Allow unsafe function types\n\t\t},\n\t},\n\t// Prettier configuration (must be last)\n\t{\n\t\tplugins: {\n\t\t\tprettier,\n\t\t},\n\t\trules: {\n\t\t\t// 'prettier/prettier': 'error',\n\t\t},\n\t},\n]\n"
  },
  {
    "path": "core/frontend/git-pull.js",
    "content": "import { execSync } from 'child_process'\nimport chalk from 'chalk'\nimport ora from 'ora'\n\nasync function getPull() {\n\ttry {\n\t\t// 在当前目录执行git pull命令，并同步输出结果\n\t\tconst spinner = ora(chalk.cyan('正在拉取git...')).start()\n\t\texecSync('git pull', { stdio: 'inherit', cwd: process.cwd() })\n\t\tspinner.succeed(chalk.green('git pull 执行成功'))\n\t\treturn true\n\t} catch (error) {\n\t\tconsole.error('git pull 执行失败:', error.message)\n\t\tprocess.exit(1)\n\t}\n}\n\ngetPull()\n"
  },
  {
    "path": "core/frontend/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"UTF-8\" />\n\t\t<meta name=\"referer\" content=\"never\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n\t\t<meta http-equiv=\"Content-Security-Policy\" content=\"upgrade-insecure-requests\" />\n\t\t<link rel=\"shortcut icon\" href=\"/favicon.ico\" type=\"image/x-icon\" />\n\t\t<meta name=\"naive-ui-style\" />\n\t\t<title>BillionMail</title>\n\t</head>\n\t<body>\n\t\t<div id=\"root\"></div>\n\t</body>\n</html>\n"
  },
  {
    "path": "core/frontend/package.json",
    "content": "{\n\t\"name\": \"frontend\",\n\t\"version\": \"1.0.0\",\n\t\"private\": true,\n\t\"type\": \"module\",\n\t\"scripts\": {\n\t\t\"build\": \"rsbuild build\",\n\t\t\"build:git\": \"node git-pull.js && rsbuild build && node build-for-git.js\",\n\t\t\"build:deploy\": \"rsbuild build && node deploy.js\",\n\t\t\"dev\": \"rsbuild dev\",\n\t\t\"operation\": \"rsbuild dev RSBUILD_MODE=operation --open --mode=development\",\n\t\t\"preview\": \"rsbuild preview\",\n\t\t\"format\": \"prettier --write .\",\n\t\t\"lint\": \"eslint . --ext .vue,.ts,.tsx\",\n\t\t\"lint:fix\": \"eslint . --ext .vue,.ts,.tsx --fix\"\n\t},\n\t\"dependencies\": {\n\t\t\"@monaco-editor/loader\": \"^1.5.0\",\n\t\t\"@unocss/reset\": \"66.1.0-beta.7\",\n\t\t\"@vueuse/core\": \"^13.0.0\",\n\t\t\"@wangeditor/core\": \"^1.1.19\",\n\t\t\"@wangeditor/editor\": \"5.1.23\",\n\t\t\"axios\": \"^1.8.4\",\n\t\t\"date-fns\": \"^4.1.0\",\n\t\t\"echarts\": \"^5.6.0\",\n\t\t\"github-markdown-css\": \"^5.8.1\",\n\t\t\"highlight.js\": \"^11.11.1\",\n\t\t\"lodash-es\": \"^4.17.21\",\n\t\t\"markdown-it\": \"^14.1.0\",\n\t\t\"marked\": \"^16.0.0\",\n\t\t\"monaco-editor\": \"^0.52.2\",\n\t\t\"monaco-editor-nginx\": \"^2.0.2\",\n\t\t\"pinia\": \"^3.0.1\",\n\t\t\"pinia-plugin-persistedstate\": \"^4.2.0\",\n\t\t\"prismjs\": \"^1.30.0\",\n\t\t\"react-dnd-html5-backend\": \"^16.0.1\",\n\t\t\"resize-observer-polyfill\": \"^1.5.1\",\n\t\t\"vue\": \"^3.5.13\",\n\t\t\"vue-i18n\": \"11.1.3\",\n\t\t\"vue-router\": \"^4.5.0\",\n\t\t\"vue3-dnd\": \"^2.1.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@eslint/js\": \"^9.23.0\",\n\t\t\"@iconify-json/fa\": \"^1.2.1\",\n\t\t\"@iconify-json/mdi\": \"^1.2.3\",\n\t\t\"@iconify-json/ri\": \"^1.2.5\",\n\t\t\"@iconify/json\": \"^2.2.352\",\n\t\t\"@iconify/utils\": \"^3.0.1\",\n\t\t\"@rsbuild/core\": \"^1.3.22\",\n\t\t\"@rsbuild/plugin-babel\": \"^1.0.4\",\n\t\t\"@rsbuild/plugin-basic-ssl\": \"^1.1.1\",\n\t\t\"@rsbuild/plugin-eslint\": \"^1.1.1\",\n\t\t\"@rsbuild/plugin-sass\": \"^1.2.2\",\n\t\t\"@rsbuild/plugin-vue\": \"^1.0.7\",\n\t\t\"@rsbuild/plugin-vue-jsx\": \"^1.1.0\",\n\t\t\"@types/lodash-es\": \"^4.17.12\",\n\t\t\"@types/markdown-it\": \"^14.1.2\",\n\t\t\"@types/prismjs\": \"^1.26.5\",\n\t\t\"@typescript-eslint/eslint-plugin\": \"^8.28.0\",\n\t\t\"@typescript-eslint/parser\": \"^8.28.0\",\n\t\t\"@unocss/preset-attributify\": \"66.1.2\",\n\t\t\"@unocss/preset-icons\": \"66.1.2\",\n\t\t\"@unocss/preset-uno\": \"66.1.2\",\n\t\t\"@unocss/transformer-directives\": \"66.1.2\",\n\t\t\"@unocss/webpack\": \"66.1.2\",\n\t\t\"archiver\": \"^7.0.1\",\n\t\t\"chalk\": \"^5.4.1\",\n\t\t\"eslint\": \"^9.21.0\",\n\t\t\"eslint-config-prettier\": \"^10.1.1\",\n\t\t\"eslint-plugin-prettier\": \"^5.2.5\",\n\t\t\"eslint-plugin-vue\": \"^10.0.0\",\n\t\t\"glob\": \"^11.0.3\",\n\t\t\"globals\": \"^16.0.0\",\n\t\t\"naive-ui\": \"^2.41.0\",\n\t\t\"ora\": \"^8.2.0\",\n\t\t\"prettier\": \"^3.5.2\",\n\t\t\"sass\": \"^1.86.1\",\n\t\t\"ssh2\": \"^1.16.0\",\n\t\t\"ssh2-sftp-client\": \"^12.0.0\",\n\t\t\"typescript\": \"^5.8.2\",\n\t\t\"typescript-eslint\": \"^8.25.0\",\n\t\t\"unocss\": \"66.1.2\",\n\t\t\"unplugin-auto-import\": \"^19.1.2\",\n\t\t\"unplugin-vue-components\": \"^28.4.1\",\n\t\t\"vue-eslint-parser\": \"^10.1.1\"\n\t}\n}\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/base/worker/workerMain.js",
    "content": "/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/(function(){var J=[\"require\",\"exports\",\"vs/editor/common/core/range\",\"vs/base/common/errors\",\"vs/editor/common/core/position\",\"vs/editor/common/core/offsetRange\",\"vs/base/common/strings\",\"vs/base/common/arrays\",\"vs/base/common/lifecycle\",\"vs/base/common/event\",\"vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm\",\"vs/base/common/platform\",\"vs/base/common/assert\",\"vs/editor/common/core/lineRange\",\"vs/base/common/uri\",\"vs/base/common/arraysFind\",\"vs/editor/common/diff/defaultLinesDiffComputer/utils\",\"vs/editor/common/diff/rangeMapping\",\"vs/base/common/functional\",\"vs/base/common/iterator\",\"vs/base/common/linkedList\",\"vs/base/common/map\",\"vs/base/common/stopwatch\",\"vs/base/common/cancellation\",\"vs/base/common/diff/diff\",\"vs/base/common/types\",\"vs/base/common/codiconsUtil\",\"vs/base/common/objects\",\"vs/base/common/uint\",\"vs/editor/common/core/characterClassifier\",\"vs/editor/common/core/textLength\",\"vs/editor/common/core/wordHelper\",\"vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm\",\"vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence\",\"vs/editor/common/diff/linesDiffComputer\",\"vs/nls.messages\",\"vs/nls\",\"vs/base/common/path\",\"vs/base/common/network\",\"vs/base/common/cache\",\"vs/base/common/color\",\"vs/base/common/diff/diffChange\",\"vs/base/common/keyCodes\",\"vs/base/common/lazy\",\"vs/base/common/hash\",\"vs/base/common/symbols\",\"vs/base/common/codiconsLibrary\",\"vs/base/common/codicons\",\"vs/editor/common/core/selection\",\"vs/editor/common/core/positionToOffset\",\"vs/editor/common/core/textEdit\",\"vs/editor/common/core/wordCharacterClassifier\",\"vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations\",\"vs/editor/common/diff/defaultLinesDiffComputer/lineSequence\",\"vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing\",\"vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines\",\"vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer\",\"vs/editor/common/diff/legacyLinesDiffComputer\",\"vs/editor/common/diff/linesDiffComputers\",\"vs/editor/common/languages/defaultDocumentColorsComputer\",\"vs/editor/common/languages/linkComputer\",\"vs/editor/common/languages/supports/inplaceReplaceSupport\",\"vs/editor/common/model\",\"vs/editor/common/model/prefixSumComputer\",\"vs/editor/common/model/mirrorTextModel\",\"vs/editor/common/model/textModelSearch\",\"vs/editor/common/services/editorWorkerHost\",\"vs/editor/common/services/findSectionHeaders\",\"vs/editor/common/services/unicodeTextModelHighlighter\",\"vs/editor/common/standalone/standaloneEnums\",\"vs/editor/common/tokenizationRegistry\",\"vs/base/common/async\",\"vs/base/common/process\",\"vs/editor/common/languages\",\"vs/editor/common/services/editorBaseApi\",\"vs/editor/common/services/textModelSync/textModelSync.impl\",\"vs/base/common/worker/simpleWorker\",\"vs/editor/common/services/editorSimpleWorker\"],Z=function(W){for(var n=[],i=0,x=W.length;i<x;i++)n[i]=J[W[i]];return n};const Re=this,Me=typeof global==\"object\"?global:{};var ie;(function(W){W.global=Re;class n{get isWindows(){return this._detect(),this._isWindows}get isNode(){return this._detect(),this._isNode}get isElectronRenderer(){return this._detect(),this._isElectronRenderer}get isWebWorker(){return this._detect(),this._isWebWorker}get isElectronNodeIntegrationWebWorker(){return this._detect(),this._isElectronNodeIntegrationWebWorker}constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,this._isElectronRenderer=!1,this._isWebWorker=!1,this._isElectronNodeIntegrationWebWorker=!1}_detect(){this._detected||(this._detected=!0,this._isWindows=n._isWindows(),this._isNode=typeof module<\"u\"&&!!module.exports,this._isElectronRenderer=typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.electron<\"u\"&&process.type===\"renderer\",this._isWebWorker=typeof W.global.importScripts==\"function\",this._isElectronNodeIntegrationWebWorker=this._isWebWorker&&typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.electron<\"u\"&&process.type===\"worker\")}static _isWindows(){return typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.indexOf(\"Windows\")>=0?!0:typeof process<\"u\"?process.platform===\"win32\":!1}}W.Environment=n})(ie||(ie={}));var ie;(function(W){class n{constructor(d,f,p){this.type=d,this.detail=f,this.timestamp=p}}W.LoaderEvent=n;class i{constructor(d){this._events=[new n(1,\"\",d)]}record(d,f){this._events.push(new n(d,f,W.Utilities.getHighPerformanceTimestamp()))}getEvents(){return this._events}}W.LoaderEventRecorder=i;class x{record(d,f){}getEvents(){return[]}}x.INSTANCE=new x,W.NullLoaderEventRecorder=x})(ie||(ie={}));var ie;(function(W){class n{static fileUriToFilePath(x,A){if(A=decodeURI(A).replace(/%23/g,\"#\"),x){if(/^file:\\/\\/\\//.test(A))return A.substr(8);if(/^file:\\/\\//.test(A))return A.substr(5)}else if(/^file:\\/\\//.test(A))return A.substr(7);return A}static startsWith(x,A){return x.length>=A.length&&x.substr(0,A.length)===A}static endsWith(x,A){return x.length>=A.length&&x.substr(x.length-A.length)===A}static containsQueryString(x){return/^[^\\#]*\\?/gi.test(x)}static isAbsolutePath(x){return/^((http:\\/\\/)|(https:\\/\\/)|(file:\\/\\/)|(\\/))/.test(x)}static forEachProperty(x,A){if(x){let d;for(d in x)x.hasOwnProperty(d)&&A(d,x[d])}}static isEmpty(x){let A=!0;return n.forEachProperty(x,()=>{A=!1}),A}static recursiveClone(x){if(!x||typeof x!=\"object\"||x instanceof RegExp||!Array.isArray(x)&&Object.getPrototypeOf(x)!==Object.prototype)return x;let A=Array.isArray(x)?[]:{};return n.forEachProperty(x,(d,f)=>{f&&typeof f==\"object\"?A[d]=n.recursiveClone(f):A[d]=f}),A}static generateAnonymousModule(){return\"===anonymous\"+n.NEXT_ANONYMOUS_ID+++\"===\"}static isAnonymousModule(x){return n.startsWith(x,\"===anonymous\")}static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=W.global.performance&&typeof W.global.performance.now==\"function\"),this.HAS_PERFORMANCE_NOW?W.global.performance.now():Date.now()}}n.NEXT_ANONYMOUS_ID=1,n.PERFORMANCE_NOW_PROBED=!1,n.HAS_PERFORMANCE_NOW=!1,W.Utilities=n})(ie||(ie={}));var ie;(function(W){function n(A){if(A instanceof Error)return A;const d=new Error(A.message||String(A)||\"Unknown Error\");return A.stack&&(d.stack=A.stack),d}W.ensureError=n;class i{static validateConfigurationOptions(d){function f(p){if(p.phase===\"loading\"){console.error('Loading \"'+p.moduleId+'\" failed'),console.error(p),console.error(\"Here are the modules that depend on it:\"),console.error(p.neededBy);return}if(p.phase===\"factory\"){console.error('The factory function of \"'+p.moduleId+'\" has thrown an exception'),console.error(p),console.error(\"Here are the modules that depend on it:\"),console.error(p.neededBy);return}}if(d=d||{},typeof d.baseUrl!=\"string\"&&(d.baseUrl=\"\"),typeof d.isBuild!=\"boolean\"&&(d.isBuild=!1),typeof d.paths!=\"object\"&&(d.paths={}),typeof d.config!=\"object\"&&(d.config={}),typeof d.catchError>\"u\"&&(d.catchError=!1),typeof d.recordStats>\"u\"&&(d.recordStats=!1),typeof d.urlArgs!=\"string\"&&(d.urlArgs=\"\"),typeof d.onError!=\"function\"&&(d.onError=f),Array.isArray(d.ignoreDuplicateModules)||(d.ignoreDuplicateModules=[]),d.baseUrl.length>0&&(W.Utilities.endsWith(d.baseUrl,\"/\")||(d.baseUrl+=\"/\")),typeof d.cspNonce!=\"string\"&&(d.cspNonce=\"\"),typeof d.preferScriptTags>\"u\"&&(d.preferScriptTags=!1),d.nodeCachedData&&typeof d.nodeCachedData==\"object\"&&(typeof d.nodeCachedData.seed!=\"string\"&&(d.nodeCachedData.seed=\"seed\"),(typeof d.nodeCachedData.writeDelay!=\"number\"||d.nodeCachedData.writeDelay<0)&&(d.nodeCachedData.writeDelay=1e3*7),!d.nodeCachedData.path||typeof d.nodeCachedData.path!=\"string\")){const p=n(new Error(\"INVALID cached data configuration, 'path' MUST be set\"));p.phase=\"configuration\",d.onError(p),d.nodeCachedData=void 0}return d}static mergeConfigurationOptions(d=null,f=null){let p=W.Utilities.recursiveClone(f||{});return W.Utilities.forEachProperty(d,(c,a)=>{c===\"ignoreDuplicateModules\"&&typeof p.ignoreDuplicateModules<\"u\"?p.ignoreDuplicateModules=p.ignoreDuplicateModules.concat(a):c===\"paths\"&&typeof p.paths<\"u\"?W.Utilities.forEachProperty(a,(m,e)=>p.paths[m]=e):c===\"config\"&&typeof p.config<\"u\"?W.Utilities.forEachProperty(a,(m,e)=>p.config[m]=e):p[c]=W.Utilities.recursiveClone(a)}),i.validateConfigurationOptions(p)}}W.ConfigurationOptionsUtil=i;class x{constructor(d,f){if(this._env=d,this.options=i.mergeConfigurationOptions(f),this._createIgnoreDuplicateModulesMap(),this._createSortedPathsRules(),this.options.baseUrl===\"\"&&this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode){let p=this.options.nodeRequire.main.filename,c=Math.max(p.lastIndexOf(\"/\"),p.lastIndexOf(\"\\\\\"));this.options.baseUrl=p.substring(0,c+1)}}_createIgnoreDuplicateModulesMap(){this.ignoreDuplicateModulesMap={};for(let d=0;d<this.options.ignoreDuplicateModules.length;d++)this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[d]]=!0}_createSortedPathsRules(){this.sortedPathsRules=[],W.Utilities.forEachProperty(this.options.paths,(d,f)=>{Array.isArray(f)?this.sortedPathsRules.push({from:d,to:f}):this.sortedPathsRules.push({from:d,to:[f]})}),this.sortedPathsRules.sort((d,f)=>f.from.length-d.from.length)}cloneAndMerge(d){return new x(this._env,i.mergeConfigurationOptions(d,this.options))}getOptionsLiteral(){return this.options}_applyPaths(d){let f;for(let p=0,c=this.sortedPathsRules.length;p<c;p++)if(f=this.sortedPathsRules[p],W.Utilities.startsWith(d,f.from)){let a=[];for(let m=0,e=f.to.length;m<e;m++)a.push(f.to[m]+d.substr(f.from.length));return a}return[d]}_addUrlArgsToUrl(d){return W.Utilities.containsQueryString(d)?d+\"&\"+this.options.urlArgs:d+\"?\"+this.options.urlArgs}_addUrlArgsIfNecessaryToUrl(d){return this.options.urlArgs?this._addUrlArgsToUrl(d):d}_addUrlArgsIfNecessaryToUrls(d){if(this.options.urlArgs)for(let f=0,p=d.length;f<p;f++)d[f]=this._addUrlArgsToUrl(d[f]);return d}moduleIdToPaths(d){if(this._env.isNode&&this.options.amdModulesPattern instanceof RegExp&&!this.options.amdModulesPattern.test(d))return this.isBuild()?[\"empty:\"]:[\"node|\"+d];let f=d,p;if(!W.Utilities.endsWith(f,\".js\")&&!W.Utilities.isAbsolutePath(f)){p=this._applyPaths(f);for(let c=0,a=p.length;c<a;c++)this.isBuild()&&p[c]===\"empty:\"||(W.Utilities.isAbsolutePath(p[c])||(p[c]=this.options.baseUrl+p[c]),!W.Utilities.endsWith(p[c],\".js\")&&!W.Utilities.containsQueryString(p[c])&&(p[c]=p[c]+\".js\"))}else!W.Utilities.endsWith(f,\".js\")&&!W.Utilities.containsQueryString(f)&&(f=f+\".js\"),p=[f];return this._addUrlArgsIfNecessaryToUrls(p)}requireToUrl(d){let f=d;return W.Utilities.isAbsolutePath(f)||(f=this._applyPaths(f)[0],W.Utilities.isAbsolutePath(f)||(f=this.options.baseUrl+f)),this._addUrlArgsIfNecessaryToUrl(f)}isBuild(){return this.options.isBuild}shouldInvokeFactory(d){return!!(!this.options.isBuild||W.Utilities.isAnonymousModule(d)||this.options.buildForceInvokeFactory&&this.options.buildForceInvokeFactory[d])}isDuplicateMessageIgnoredFor(d){return this.ignoreDuplicateModulesMap.hasOwnProperty(d)}getConfigForModule(d){if(this.options.config)return this.options.config[d]}shouldCatchError(){return this.options.catchError}shouldRecordStats(){return this.options.recordStats}onError(d){this.options.onError(d)}}W.Configuration=x})(ie||(ie={}));var ie;(function(W){class n{constructor(a){this._env=a,this._scriptLoader=null,this._callbackMap={}}load(a,m,e,h){if(!this._scriptLoader)if(this._env.isWebWorker)this._scriptLoader=new A;else if(this._env.isElectronRenderer){const{preferScriptTags:s}=a.getConfig().getOptionsLiteral();s?this._scriptLoader=new i:this._scriptLoader=new d(this._env)}else this._env.isNode?this._scriptLoader=new d(this._env):this._scriptLoader=new i;let r={callback:e,errorback:h};if(this._callbackMap.hasOwnProperty(m)){this._callbackMap[m].push(r);return}this._callbackMap[m]=[r],this._scriptLoader.load(a,m,()=>this.triggerCallback(m),s=>this.triggerErrorback(m,s))}triggerCallback(a){let m=this._callbackMap[a];delete this._callbackMap[a];for(let e=0;e<m.length;e++)m[e].callback()}triggerErrorback(a,m){let e=this._callbackMap[a];delete this._callbackMap[a];for(let h=0;h<e.length;h++)e[h].errorback(m)}}class i{attachListeners(a,m,e){let h=()=>{a.removeEventListener(\"load\",r),a.removeEventListener(\"error\",s)},r=o=>{h(),m()},s=o=>{h(),e(o)};a.addEventListener(\"load\",r),a.addEventListener(\"error\",s)}load(a,m,e,h){if(/^node\\|/.test(m)){let r=a.getConfig().getOptionsLiteral(),s=f(a.getRecorder(),r.nodeRequire||W.global.nodeRequire),o=m.split(\"|\"),u=null;try{u=s(o[1])}catch(S){h(S);return}a.enqueueDefineAnonymousModule([],()=>u),e()}else{let r=document.createElement(\"script\");r.setAttribute(\"async\",\"async\"),r.setAttribute(\"type\",\"text/javascript\"),this.attachListeners(r,e,h);const{trustedTypesPolicy:s}=a.getConfig().getOptionsLiteral();s&&(m=s.createScriptURL(m)),r.setAttribute(\"src\",m);const{cspNonce:o}=a.getConfig().getOptionsLiteral();o&&r.setAttribute(\"nonce\",o),document.getElementsByTagName(\"head\")[0].appendChild(r)}}}function x(c){const{trustedTypesPolicy:a}=c.getConfig().getOptionsLiteral();try{return(a?self.eval(a.createScript(\"\",\"true\")):new Function(\"true\")).call(self),!0}catch{return!1}}class A{constructor(){this._cachedCanUseEval=null}_canUseEval(a){return this._cachedCanUseEval===null&&(this._cachedCanUseEval=x(a)),this._cachedCanUseEval}load(a,m,e,h){if(/^node\\|/.test(m)){const r=a.getConfig().getOptionsLiteral(),s=f(a.getRecorder(),r.nodeRequire||W.global.nodeRequire),o=m.split(\"|\");let u=null;try{u=s(o[1])}catch(S){h(S);return}a.enqueueDefineAnonymousModule([],function(){return u}),e()}else{const{trustedTypesPolicy:r}=a.getConfig().getOptionsLiteral();if(!(/^((http:)|(https:)|(file:))/.test(m)&&m.substring(0,self.origin.length)!==self.origin)&&this._canUseEval(a)){fetch(m).then(o=>{if(o.status!==200)throw new Error(o.statusText);return o.text()}).then(o=>{o=`${o}\n//# sourceURL=${m}`,(r?self.eval(r.createScript(\"\",o)):new Function(o)).call(self),e()}).then(void 0,h);return}try{r&&(m=r.createScriptURL(m)),importScripts(m),e()}catch(o){h(o)}}}}class d{constructor(a){this._env=a,this._didInitialize=!1,this._didPatchNodeRequire=!1}_init(a){this._didInitialize||(this._didInitialize=!0,this._fs=a(\"fs\"),this._vm=a(\"vm\"),this._path=a(\"path\"),this._crypto=a(\"crypto\"))}_initNodeRequire(a,m){const{nodeCachedData:e}=m.getConfig().getOptionsLiteral();if(!e||this._didPatchNodeRequire)return;this._didPatchNodeRequire=!0;const h=this,r=a(\"module\");function s(o){const u=o.constructor;let S=function(N){try{return o.require(N)}finally{}};return S.resolve=function(N,P){return u._resolveFilename(N,o,!1,P)},S.resolve.paths=function(N){return u._resolveLookupPaths(N,o)},S.main=process.mainModule,S.extensions=u._extensions,S.cache=u._cache,S}r.prototype._compile=function(o,u){const S=r.wrap(o.replace(/^#!.*/,\"\")),L=m.getRecorder(),N=h._getCachedDataPath(e,u),P={filename:u};let E;try{const y=h._fs.readFileSync(N);E=y.slice(0,16),P.cachedData=y.slice(16),L.record(60,N)}catch{L.record(61,N)}const v=new h._vm.Script(S,P),l=v.runInThisContext(P),b=h._path.dirname(u),g=s(this),w=[this.exports,g,this,u,b,process,Me,Buffer],M=l.apply(this.exports,w);return h._handleCachedData(v,S,N,!P.cachedData,m),h._verifyCachedData(v,S,N,E,m),M}}load(a,m,e,h){const r=a.getConfig().getOptionsLiteral(),s=f(a.getRecorder(),r.nodeRequire||W.global.nodeRequire),o=r.nodeInstrumenter||function(S){return S};this._init(s),this._initNodeRequire(s,a);let u=a.getRecorder();if(/^node\\|/.test(m)){let S=m.split(\"|\"),L=null;try{L=s(S[1])}catch(N){h(N);return}a.enqueueDefineAnonymousModule([],()=>L),e()}else{m=W.Utilities.fileUriToFilePath(this._env.isWindows,m);const S=this._path.normalize(m),L=this._getElectronRendererScriptPathOrUri(S),N=!!r.nodeCachedData,P=N?this._getCachedDataPath(r.nodeCachedData,m):void 0;this._readSourceAndCachedData(S,P,u,(E,v,l,b)=>{if(E){h(E);return}let g;v.charCodeAt(0)===d._BOM?g=d._PREFIX+v.substring(1)+d._SUFFIX:g=d._PREFIX+v+d._SUFFIX,g=o(g,S);const w={filename:L,cachedData:l},M=this._createAndEvalScript(a,g,w,e,h);this._handleCachedData(M,g,P,N&&!l,a),this._verifyCachedData(M,g,P,b,a)})}}_createAndEvalScript(a,m,e,h,r){const s=a.getRecorder();s.record(31,e.filename);const o=new this._vm.Script(m,e),u=o.runInThisContext(e),S=a.getGlobalAMDDefineFunc();let L=!1;const N=function(){return L=!0,S.apply(null,arguments)};return N.amd=S.amd,u.call(W.global,a.getGlobalAMDRequireFunc(),N,e.filename,this._path.dirname(e.filename)),s.record(32,e.filename),L?h():r(new Error(`Didn't receive define call in ${e.filename}!`)),o}_getElectronRendererScriptPathOrUri(a){if(!this._env.isElectronRenderer)return a;let m=a.match(/^([a-z])\\:(.*)/i);return m?`file:///${(m[1].toUpperCase()+\":\"+m[2]).replace(/\\\\/g,\"/\")}`:`file://${a}`}_getCachedDataPath(a,m){const e=this._crypto.createHash(\"md5\").update(m,\"utf8\").update(a.seed,\"utf8\").update(process.arch,\"\").digest(\"hex\"),h=this._path.basename(m).replace(/\\.js$/,\"\");return this._path.join(a.path,`${h}-${e}.code`)}_handleCachedData(a,m,e,h,r){a.cachedDataRejected?this._fs.unlink(e,s=>{r.getRecorder().record(62,e),this._createAndWriteCachedData(a,m,e,r),s&&r.getConfig().onError(s)}):h&&this._createAndWriteCachedData(a,m,e,r)}_createAndWriteCachedData(a,m,e,h){let r=Math.ceil(h.getConfig().getOptionsLiteral().nodeCachedData.writeDelay*(1+Math.random())),s=-1,o=0,u;const S=()=>{setTimeout(()=>{u||(u=this._crypto.createHash(\"md5\").update(m,\"utf8\").digest());const L=a.createCachedData();if(!(L.length===0||L.length===s||o>=5)){if(L.length<s){S();return}s=L.length,this._fs.writeFile(e,Buffer.concat([u,L]),N=>{N&&h.getConfig().onError(N),h.getRecorder().record(63,e),S()})}},r*Math.pow(4,o++))};S()}_readSourceAndCachedData(a,m,e,h){if(!m)this._fs.readFile(a,{encoding:\"utf8\"},h);else{let r,s,o,u=2;const S=L=>{L?h(L):--u===0&&h(void 0,r,s,o)};this._fs.readFile(a,{encoding:\"utf8\"},(L,N)=>{r=N,S(L)}),this._fs.readFile(m,(L,N)=>{!L&&N&&N.length>0?(o=N.slice(0,16),s=N.slice(16),e.record(60,m)):e.record(61,m),S()})}}_verifyCachedData(a,m,e,h,r){h&&(a.cachedDataRejected||setTimeout(()=>{const s=this._crypto.createHash(\"md5\").update(m,\"utf8\").digest();h.equals(s)||(r.getConfig().onError(new Error(`FAILED TO VERIFY CACHED DATA, deleting stale '${e}' now, but a RESTART IS REQUIRED`)),this._fs.unlink(e,o=>{o&&r.getConfig().onError(o)}))},Math.ceil(5e3*(1+Math.random()))))}}d._BOM=65279,d._PREFIX=\"(function (require, define, __filename, __dirname) { \",d._SUFFIX=`\n});`;function f(c,a){if(a.__$__isRecorded)return a;const m=function(h){c.record(33,h);try{return a(h)}finally{c.record(34,h)}};return m.__$__isRecorded=!0,m}W.ensureRecordedNodeRequire=f;function p(c){return new n(c)}W.createScriptLoader=p})(ie||(ie={}));var ie;(function(W){class n{constructor(c){let a=c.lastIndexOf(\"/\");a!==-1?this.fromModulePath=c.substr(0,a+1):this.fromModulePath=\"\"}static _normalizeModuleId(c){let a=c,m;for(m=/\\/\\.\\//;m.test(a);)a=a.replace(m,\"/\");for(a=a.replace(/^\\.\\//g,\"\"),m=/\\/(([^\\/])|([^\\/][^\\/\\.])|([^\\/\\.][^\\/])|([^\\/][^\\/][^\\/]+))\\/\\.\\.\\//;m.test(a);)a=a.replace(m,\"/\");return a=a.replace(/^(([^\\/])|([^\\/][^\\/\\.])|([^\\/\\.][^\\/])|([^\\/][^\\/][^\\/]+))\\/\\.\\.\\//,\"\"),a}resolveModule(c){let a=c;return W.Utilities.isAbsolutePath(a)||(W.Utilities.startsWith(a,\"./\")||W.Utilities.startsWith(a,\"../\"))&&(a=n._normalizeModuleId(this.fromModulePath+a)),a}}n.ROOT=new n(\"\"),W.ModuleIdResolver=n;class i{constructor(c,a,m,e,h,r){this.id=c,this.strId=a,this.dependencies=m,this._callback=e,this._errorback=h,this.moduleIdResolver=r,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}static _safeInvokeFunction(c,a){try{return{returnedValue:c.apply(W.global,a),producedError:null}}catch(m){return{returnedValue:null,producedError:m}}}static _invokeFactory(c,a,m,e){return c.shouldInvokeFactory(a)?c.shouldCatchError()?this._safeInvokeFunction(m,e):{returnedValue:m.apply(W.global,e),producedError:null}:{returnedValue:null,producedError:null}}complete(c,a,m,e){this._isComplete=!0;let h=null;if(this._callback)if(typeof this._callback==\"function\"){c.record(21,this.strId);let r=i._invokeFactory(a,this.strId,this._callback,m);h=r.producedError,c.record(22,this.strId),!h&&typeof r.returnedValue<\"u\"&&(!this.exportsPassedIn||W.Utilities.isEmpty(this.exports))&&(this.exports=r.returnedValue)}else this.exports=this._callback;if(h){let r=W.ensureError(h);r.phase=\"factory\",r.moduleId=this.strId,r.neededBy=e(this.id),this.error=r,a.onError(r)}this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null}onDependencyError(c){return this._isComplete=!0,this.error=c,this._errorback?(this._errorback(c),!0):!1}isComplete(){return this._isComplete}}W.Module=i;class x{constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId(\"exports\"),this.getModuleId(\"module\"),this.getModuleId(\"require\")}getMaxModuleId(){return this._nextId}getModuleId(c){let a=this._strModuleIdToIntModuleId.get(c);return typeof a>\"u\"&&(a=this._nextId++,this._strModuleIdToIntModuleId.set(c,a),this._intModuleIdToStrModuleId[a]=c),a}getStrModuleId(c){return this._intModuleIdToStrModuleId[c]}}class A{constructor(c){this.id=c}}A.EXPORTS=new A(0),A.MODULE=new A(1),A.REQUIRE=new A(2),W.RegularDependency=A;class d{constructor(c,a,m){this.id=c,this.pluginId=a,this.pluginParam=m}}W.PluginDependency=d;class f{constructor(c,a,m,e,h=0){this._env=c,this._scriptLoader=a,this._loaderAvailableTimestamp=h,this._defineFunc=m,this._requireFunc=e,this._moduleIdProvider=new x,this._config=new W.Configuration(this._env),this._hasDependencyCycle=!1,this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[],this._requireFunc.moduleManager=this}reset(){return new f(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)}getGlobalAMDDefineFunc(){return this._defineFunc}getGlobalAMDRequireFunc(){return this._requireFunc}static _findRelevantLocationInStack(c,a){let m=r=>r.replace(/\\\\/g,\"/\"),e=m(c),h=a.split(/\\n/);for(let r=0;r<h.length;r++){let s=h[r].match(/(.*):(\\d+):(\\d+)\\)?$/);if(s){let o=s[1],u=s[2],S=s[3],L=Math.max(o.lastIndexOf(\" \")+1,o.lastIndexOf(\"(\")+1);if(o=o.substr(L),o=m(o),o===e){let N={line:parseInt(u,10),col:parseInt(S,10)};return N.line===1&&(N.col-=53),N}}}throw new Error(\"Could not correlate define call site for needle \"+c)}getBuildInfo(){if(!this._config.isBuild())return null;let c=[],a=0;for(let m=0,e=this._modules2.length;m<e;m++){let h=this._modules2[m];if(!h)continue;let r=this._buildInfoPath[h.id]||null,s=this._buildInfoDefineStack[h.id]||null,o=this._buildInfoDependencies[h.id];c[a++]={id:h.strId,path:r,defineLocation:r&&s?f._findRelevantLocationInStack(r,s):null,dependencies:o,shim:null,exports:h.exports}}return c}getRecorder(){return this._recorder||(this._config.shouldRecordStats()?this._recorder=new W.LoaderEventRecorder(this._loaderAvailableTimestamp):this._recorder=W.NullLoaderEventRecorder.INSTANCE),this._recorder}getLoaderEvents(){return this.getRecorder().getEvents()}enqueueDefineAnonymousModule(c,a){if(this._currentAnonymousDefineCall!==null)throw new Error(\"Can only have one anonymous define call per script file\");let m=null;this._config.isBuild()&&(m=new Error(\"StackLocation\").stack||null),this._currentAnonymousDefineCall={stack:m,dependencies:c,callback:a}}defineModule(c,a,m,e,h,r=new n(c)){let s=this._moduleIdProvider.getModuleId(c);if(this._modules2[s]){this._config.isDuplicateMessageIgnoredFor(c)||console.warn(\"Duplicate definition of module '\"+c+\"'\");return}let o=new i(s,c,this._normalizeDependencies(a,r),m,e,r);this._modules2[s]=o,this._config.isBuild()&&(this._buildInfoDefineStack[s]=h,this._buildInfoDependencies[s]=(o.dependencies||[]).map(u=>this._moduleIdProvider.getStrModuleId(u.id))),this._resolve(o)}_normalizeDependency(c,a){if(c===\"exports\")return A.EXPORTS;if(c===\"module\")return A.MODULE;if(c===\"require\")return A.REQUIRE;let m=c.indexOf(\"!\");if(m>=0){let e=a.resolveModule(c.substr(0,m)),h=a.resolveModule(c.substr(m+1)),r=this._moduleIdProvider.getModuleId(e+\"!\"+h),s=this._moduleIdProvider.getModuleId(e);return new d(r,s,h)}return new A(this._moduleIdProvider.getModuleId(a.resolveModule(c)))}_normalizeDependencies(c,a){let m=[],e=0;for(let h=0,r=c.length;h<r;h++)m[e++]=this._normalizeDependency(c[h],a);return m}_relativeRequire(c,a,m,e){if(typeof a==\"string\")return this.synchronousRequire(a,c);this.defineModule(W.Utilities.generateAnonymousModule(),a,m,e,null,c)}synchronousRequire(c,a=new n(c)){let m=this._normalizeDependency(c,a),e=this._modules2[m.id];if(!e)throw new Error(\"Check dependency list! Synchronous require cannot resolve module '\"+c+\"'. This is the first mention of this module!\");if(!e.isComplete())throw new Error(\"Check dependency list! Synchronous require cannot resolve module '\"+c+\"'. This module has not been resolved completely yet.\");if(e.error)throw e.error;return e.exports}configure(c,a){let m=this._config.shouldRecordStats();a?this._config=new W.Configuration(this._env,c):this._config=this._config.cloneAndMerge(c),this._config.shouldRecordStats()&&!m&&(this._recorder=null)}getConfig(){return this._config}_onLoad(c){if(this._currentAnonymousDefineCall!==null){let a=this._currentAnonymousDefineCall;this._currentAnonymousDefineCall=null,this.defineModule(this._moduleIdProvider.getStrModuleId(c),a.dependencies,a.callback,null,a.stack)}}_createLoadError(c,a){let m=this._moduleIdProvider.getStrModuleId(c),e=(this._inverseDependencies2[c]||[]).map(r=>this._moduleIdProvider.getStrModuleId(r));const h=W.ensureError(a);return h.phase=\"loading\",h.moduleId=m,h.neededBy=e,h}_onLoadError(c,a){const m=this._createLoadError(c,a);this._modules2[c]||(this._modules2[c]=new i(c,this._moduleIdProvider.getStrModuleId(c),[],()=>{},null,null));let e=[];for(let s=0,o=this._moduleIdProvider.getMaxModuleId();s<o;s++)e[s]=!1;let h=!1,r=[];for(r.push(c),e[c]=!0;r.length>0;){let s=r.shift(),o=this._modules2[s];o&&(h=o.onDependencyError(m)||h);let u=this._inverseDependencies2[s];if(u)for(let S=0,L=u.length;S<L;S++){let N=u[S];e[N]||(r.push(N),e[N]=!0)}}h||this._config.onError(m)}_hasDependencyPath(c,a){let m=this._modules2[c];if(!m)return!1;let e=[];for(let r=0,s=this._moduleIdProvider.getMaxModuleId();r<s;r++)e[r]=!1;let h=[];for(h.push(m),e[c]=!0;h.length>0;){let s=h.shift().dependencies;if(s)for(let o=0,u=s.length;o<u;o++){let S=s[o];if(S.id===a)return!0;let L=this._modules2[S.id];L&&!e[S.id]&&(e[S.id]=!0,h.push(L))}}return!1}_findCyclePath(c,a,m){if(c===a||m===50)return[c];let e=this._modules2[c];if(!e)return null;let h=e.dependencies;if(h)for(let r=0,s=h.length;r<s;r++){let o=this._findCyclePath(h[r].id,a,m+1);if(o!==null)return o.push(c),o}return null}_createRequire(c){let a=(m,e,h)=>this._relativeRequire(c,m,e,h);return a.toUrl=m=>this._config.requireToUrl(c.resolveModule(m)),a.getStats=()=>this.getLoaderEvents(),a.hasDependencyCycle=()=>this._hasDependencyCycle,a.config=(m,e=!1)=>{this.configure(m,e)},a.__$__nodeRequire=W.global.nodeRequire,a}_loadModule(c){if(this._modules2[c]||this._knownModules2[c])return;this._knownModules2[c]=!0;let a=this._moduleIdProvider.getStrModuleId(c),m=this._config.moduleIdToPaths(a),e=/^@[^\\/]+\\/[^\\/]+$/;this._env.isNode&&(a.indexOf(\"/\")===-1||e.test(a))&&m.push(\"node|\"+a);let h=-1,r=s=>{if(h++,h>=m.length)this._onLoadError(c,s);else{let o=m[h],u=this.getRecorder();if(this._config.isBuild()&&o===\"empty:\"){this._buildInfoPath[c]=o,this.defineModule(this._moduleIdProvider.getStrModuleId(c),[],null,null,null),this._onLoad(c);return}u.record(10,o),this._scriptLoader.load(this,o,()=>{this._config.isBuild()&&(this._buildInfoPath[c]=o),u.record(11,o),this._onLoad(c)},S=>{u.record(12,o),r(S)})}};r(null)}_loadPluginDependency(c,a){if(this._modules2[a.id]||this._knownModules2[a.id])return;this._knownModules2[a.id]=!0;let m=e=>{this.defineModule(this._moduleIdProvider.getStrModuleId(a.id),[],e,null,null)};m.error=e=>{this._config.onError(this._createLoadError(a.id,e))},c.load(a.pluginParam,this._createRequire(n.ROOT),m,this._config.getOptionsLiteral())}_resolve(c){let a=c.dependencies;if(a)for(let m=0,e=a.length;m<e;m++){let h=a[m];if(h===A.EXPORTS){c.exportsPassedIn=!0,c.unresolvedDependenciesCount--;continue}if(h===A.MODULE){c.unresolvedDependenciesCount--;continue}if(h===A.REQUIRE){c.unresolvedDependenciesCount--;continue}let r=this._modules2[h.id];if(r&&r.isComplete()){if(r.error){c.onDependencyError(r.error);return}c.unresolvedDependenciesCount--;continue}if(this._hasDependencyPath(h.id,c.id)){this._hasDependencyCycle=!0,console.warn(\"There is a dependency cycle between '\"+this._moduleIdProvider.getStrModuleId(h.id)+\"' and '\"+this._moduleIdProvider.getStrModuleId(c.id)+\"'. The cyclic path follows:\");let s=this._findCyclePath(h.id,c.id,0)||[];s.reverse(),s.push(h.id),console.warn(s.map(o=>this._moduleIdProvider.getStrModuleId(o)).join(` => \n`)),c.unresolvedDependenciesCount--;continue}if(this._inverseDependencies2[h.id]=this._inverseDependencies2[h.id]||[],this._inverseDependencies2[h.id].push(c.id),h instanceof d){let s=this._modules2[h.pluginId];if(s&&s.isComplete()){this._loadPluginDependency(s.exports,h);continue}let o=this._inversePluginDependencies2.get(h.pluginId);o||(o=[],this._inversePluginDependencies2.set(h.pluginId,o)),o.push(h),this._loadModule(h.pluginId);continue}this._loadModule(h.id)}c.unresolvedDependenciesCount===0&&this._onModuleComplete(c)}_onModuleComplete(c){let a=this.getRecorder();if(c.isComplete())return;let m=c.dependencies,e=[];if(m)for(let o=0,u=m.length;o<u;o++){let S=m[o];if(S===A.EXPORTS){e[o]=c.exports;continue}if(S===A.MODULE){e[o]={id:c.strId,config:()=>this._config.getConfigForModule(c.strId)};continue}if(S===A.REQUIRE){e[o]=this._createRequire(c.moduleIdResolver);continue}let L=this._modules2[S.id];if(L){e[o]=L.exports;continue}e[o]=null}const h=o=>(this._inverseDependencies2[o]||[]).map(u=>this._moduleIdProvider.getStrModuleId(u));c.complete(a,this._config,e,h);let r=this._inverseDependencies2[c.id];if(this._inverseDependencies2[c.id]=null,r)for(let o=0,u=r.length;o<u;o++){let S=r[o],L=this._modules2[S];L.unresolvedDependenciesCount--,L.unresolvedDependenciesCount===0&&this._onModuleComplete(L)}let s=this._inversePluginDependencies2.get(c.id);if(s){this._inversePluginDependencies2.delete(c.id);for(let o=0,u=s.length;o<u;o++)this._loadPluginDependency(c.exports,s[o])}}}W.ModuleManager=f})(ie||(ie={}));var X,ie;(function(W){const n=new W.Environment;let i=null;const x=function(p,c,a){typeof p!=\"string\"&&(a=c,c=p,p=null),(typeof c!=\"object\"||!Array.isArray(c))&&(a=c,c=null),c||(c=[\"require\",\"exports\",\"module\"]),p?i.defineModule(p,c,a,null,null):i.enqueueDefineAnonymousModule(c,a)};x.amd={jQuery:!0};const A=function(p,c=!1){i.configure(p,c)},d=function(){if(arguments.length===1){if(arguments[0]instanceof Object&&!Array.isArray(arguments[0])){A(arguments[0]);return}if(typeof arguments[0]==\"string\")return i.synchronousRequire(arguments[0])}if((arguments.length===2||arguments.length===3)&&Array.isArray(arguments[0])){i.defineModule(W.Utilities.generateAnonymousModule(),arguments[0],arguments[1],arguments[2],null);return}throw new Error(\"Unrecognized require call\")};d.config=A,d.getConfig=function(){return i.getConfig().getOptionsLiteral()},d.reset=function(){i=i.reset()},d.getBuildInfo=function(){return i.getBuildInfo()},d.getStats=function(){return i.getLoaderEvents()},d.define=x;function f(){if(typeof W.global.require<\"u\"||typeof require<\"u\"){const p=W.global.require||require;if(typeof p==\"function\"&&typeof p.resolve==\"function\"){const c=W.ensureRecordedNodeRequire(i.getRecorder(),p);W.global.nodeRequire=c,d.nodeRequire=c,d.__$__nodeRequire=c}}n.isNode&&!n.isElectronRenderer&&!n.isElectronNodeIntegrationWebWorker?module.exports=d:(n.isElectronRenderer||(W.global.define=x),W.global.require=d)}W.init=f,(typeof W.global.define!=\"function\"||!W.global.define.amd)&&(i=new W.ModuleManager(n,W.createScriptLoader(n),x,d,W.Utilities.getHighPerformanceTimestamp()),typeof W.global.require<\"u\"&&typeof W.global.require!=\"function\"&&d.config(W.global.require),X=function(){return x.apply(null,arguments)},X.amd=x.amd,typeof doNotInitLoader>\"u\"&&f())})(ie||(ie={})),function(){const W=globalThis.MonacoEnvironment,n=W&&W.baseUrl?W.baseUrl:\"../../../\";function i(e,h){if(W?.createTrustedTypesPolicy)try{return W.createTrustedTypesPolicy(e,h)}catch(r){console.warn(r);return}try{return self.trustedTypes?.createPolicy(e,h)}catch(r){console.warn(r);return}}const x=i(\"amdLoader\",{createScriptURL:e=>e,createScript:(e,...h)=>{const r=h.slice(0,-1).join(\",\"),s=h.pop().toString();return`(function anonymous(${r}) { ${s}\n})`}});function A(){try{return(x?globalThis.eval(x.createScript(\"\",\"true\")):new Function(\"true\")).call(globalThis),!0}catch{return!1}}function d(){return new Promise((e,h)=>{if(typeof globalThis.define==\"function\"&&globalThis.define.amd)return e();const r=n+\"vs/loader.js\";if(!(/^((http:)|(https:)|(file:))/.test(r)&&r.substring(0,globalThis.origin.length)!==globalThis.origin)&&A()){fetch(r).then(o=>{if(o.status!==200)throw new Error(o.statusText);return o.text()}).then(o=>{o=`${o}\n//# sourceURL=${r}`,(x?globalThis.eval(x.createScript(\"\",o)):new Function(o)).call(globalThis),e()}).then(void 0,h);return}x?importScripts(x.createScriptURL(r)):importScripts(r),e()})}function f(){require.config({baseUrl:n,catchError:!0,trustedTypesPolicy:x,amdModulesPattern:/^vs\\//})}function p(e){return d().then(()=>(f(),new Promise((h,r)=>{require([e],h,r)})))}function c(e){setTimeout(function(){const h=e.create((r,s)=>{globalThis.postMessage(r,s)});for(self.onmessage=r=>h.onmessage(r.data,r.ports);m.length>0;)self.onmessage(m.shift())},0)}typeof globalThis.define==\"function\"&&globalThis.define.amd&&f();let a=!0;const m=[];globalThis.onmessage=e=>{if(!a){m.push(e);return}a=!1,p(e.data).then(h=>{c(h)},h=>{console.error(h)})}}(),X(J[7],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Permutation=n.CallbackIterable=n.ArrayQueue=n.booleanComparator=n.numberComparator=n.CompareResult=void 0,n.tail=i,n.tail2=x,n.equals=A,n.removeFastWithoutKeepingOrder=d,n.binarySearch=f,n.binarySearch2=p,n.quickSelect=c,n.groupBy=a,n.groupAdjacentBy=m,n.forEachAdjacent=e,n.forEachWithNeighbors=h,n.coalesce=r,n.coalesceInPlace=s,n.isFalsyOrEmpty=o,n.isNonEmptyArray=u,n.distinct=S,n.firstOrDefault=L,n.range=N,n.arrayInsert=P,n.pushToStart=E,n.pushToEnd=v,n.pushMany=l,n.asArray=b,n.insertInto=g,n.splice=w,n.compareBy=_,n.tieBreakComparators=C,n.reverseOrder=T;function i(F,q=0){return F[F.length-(1+q)]}function x(F){if(F.length===0)throw new Error(\"Invalid tail call\");return[F.slice(0,F.length-1),F[F.length-1]]}function A(F,q,B=(G,$)=>G===$){if(F===q)return!0;if(!F||!q||F.length!==q.length)return!1;for(let G=0,$=F.length;G<$;G++)if(!B(F[G],q[G]))return!1;return!0}function d(F,q){const B=F.length-1;q<B&&(F[q]=F[B]),F.pop()}function f(F,q,B){return p(F.length,G=>B(F[G],q))}function p(F,q){let B=0,G=F-1;for(;B<=G;){const $=(B+G)/2|0,U=q($);if(U<0)B=$+1;else if(U>0)G=$-1;else return $}return-(B+1)}function c(F,q,B){if(F=F|0,F>=q.length)throw new TypeError(\"invalid index\");const G=q[Math.floor(q.length*Math.random())],$=[],U=[],ee=[];for(const re of q){const ue=B(re,G);ue<0?$.push(re):ue>0?U.push(re):ee.push(re)}return F<$.length?c(F,$,B):F<$.length+ee.length?ee[0]:c(F-($.length+ee.length),U,B)}function a(F,q){const B=[];let G;for(const $ of F.slice(0).sort(q))!G||q(G[0],$)!==0?(G=[$],B.push(G)):G.push($);return B}function*m(F,q){let B,G;for(const $ of F)G!==void 0&&q(G,$)?B.push($):(B&&(yield B),B=[$]),G=$;B&&(yield B)}function e(F,q){for(let B=0;B<=F.length;B++)q(B===0?void 0:F[B-1],B===F.length?void 0:F[B])}function h(F,q){for(let B=0;B<F.length;B++)q(B===0?void 0:F[B-1],F[B],B+1===F.length?void 0:F[B+1])}function r(F){return F.filter(q=>!!q)}function s(F){let q=0;for(let B=0;B<F.length;B++)F[B]&&(F[q]=F[B],q+=1);F.length=q}function o(F){return!Array.isArray(F)||F.length===0}function u(F){return Array.isArray(F)&&F.length>0}function S(F,q=B=>B){const B=new Set;return F.filter(G=>{const $=q(G);return B.has($)?!1:(B.add($),!0)})}function L(F,q){return F.length>0?F[0]:q}function N(F,q){let B=typeof q==\"number\"?F:0;typeof q==\"number\"?B=F:(B=0,q=F);const G=[];if(B<=q)for(let $=B;$<q;$++)G.push($);else for(let $=B;$>q;$--)G.push($);return G}function P(F,q,B){const G=F.slice(0,q),$=F.slice(q);return G.concat(B,$)}function E(F,q){const B=F.indexOf(q);B>-1&&(F.splice(B,1),F.unshift(q))}function v(F,q){const B=F.indexOf(q);B>-1&&(F.splice(B,1),F.push(q))}function l(F,q){for(const B of q)F.push(B)}function b(F){return Array.isArray(F)?F:[F]}function g(F,q,B){const G=M(F,q),$=F.length,U=B.length;F.length=$+U;for(let ee=$-1;ee>=G;ee--)F[ee+U]=F[ee];for(let ee=0;ee<U;ee++)F[ee+G]=B[ee]}function w(F,q,B,G){const $=M(F,q);let U=F.splice($,B);return U===void 0&&(U=[]),g(F,$,G),U}function M(F,q){return q<0?Math.max(q+F.length,0):Math.min(q,F.length)}var y;(function(F){function q(U){return U<0}F.isLessThan=q;function B(U){return U<=0}F.isLessThanOrEqual=B;function G(U){return U>0}F.isGreaterThan=G;function $(U){return U===0}F.isNeitherLessOrGreaterThan=$,F.greaterThan=1,F.lessThan=-1,F.neitherLessOrGreaterThan=0})(y||(n.CompareResult=y={}));function _(F,q){return(B,G)=>q(F(B),F(G))}function C(...F){return(q,B)=>{for(const G of F){const $=G(q,B);if(!y.isNeitherLessOrGreaterThan($))return $}return y.neitherLessOrGreaterThan}}const R=(F,q)=>F-q;n.numberComparator=R;const D=(F,q)=>(0,n.numberComparator)(F?1:0,q?1:0);n.booleanComparator=D;function T(F){return(q,B)=>-F(q,B)}class O{constructor(q){this.items=q,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(q){let B=this.firstIdx;for(;B<this.items.length&&q(this.items[B]);)B++;const G=B===this.firstIdx?null:this.items.slice(this.firstIdx,B);return this.firstIdx=B,G}takeFromEndWhile(q){let B=this.lastIdx;for(;B>=0&&q(this.items[B]);)B--;const G=B===this.lastIdx?null:this.items.slice(B+1,this.lastIdx+1);return this.lastIdx=B,G}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const q=this.items[this.firstIdx];return this.firstIdx++,q}takeCount(q){const B=this.items.slice(this.firstIdx,this.firstIdx+q);return this.firstIdx+=q,B}}n.ArrayQueue=O;class z{static{this.empty=new z(q=>{})}constructor(q){this.iterate=q}toArray(){const q=[];return this.iterate(B=>(q.push(B),!0)),q}filter(q){return new z(B=>this.iterate(G=>q(G)?B(G):!0))}map(q){return new z(B=>this.iterate(G=>B(q(G))))}findLast(q){let B;return this.iterate(G=>(q(G)&&(B=G),!0)),B}findLastMaxBy(q){let B,G=!0;return this.iterate($=>((G||y.isGreaterThan(q($,B)))&&(G=!1,B=$),!0)),B}}n.CallbackIterable=z;class j{constructor(q){this._indexMap=q}static createSortPermutation(q,B){const G=Array.from(q.keys()).sort(($,U)=>B(q[$],q[U]));return new j(G)}apply(q){return q.map((B,G)=>q[this._indexMap[G]])}inverse(){const q=this._indexMap.slice();for(let B=0;B<this._indexMap.length;B++)q[this._indexMap[B]]=B;return new j(q)}}n.Permutation=j}),X(J[15],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.MonotonousArray=void 0,n.findLast=i,n.findLastIdx=x,n.findLastMonotonous=A,n.findLastIdxMonotonous=d,n.findFirstMonotonous=f,n.findFirstIdxMonotonousOrArrLen=p,n.findFirstMax=a,n.findLastMax=m,n.findFirstMin=e,n.findMaxIdx=h,n.mapFindFirst=r;function i(s,o){const u=x(s,o);if(u!==-1)return s[u]}function x(s,o,u=s.length-1){for(let S=u;S>=0;S--){const L=s[S];if(o(L))return S}return-1}function A(s,o){const u=d(s,o);return u===-1?void 0:s[u]}function d(s,o,u=0,S=s.length){let L=u,N=S;for(;L<N;){const P=Math.floor((L+N)/2);o(s[P])?L=P+1:N=P}return L-1}function f(s,o){const u=p(s,o);return u===s.length?void 0:s[u]}function p(s,o,u=0,S=s.length){let L=u,N=S;for(;L<N;){const P=Math.floor((L+N)/2);o(s[P])?N=P:L=P+1}return L}class c{static{this.assertInvariants=!1}constructor(o){this._array=o,this._findLastMonotonousLastIdx=0}findLastMonotonous(o){if(c.assertInvariants){if(this._prevFindLastPredicate){for(const S of this._array)if(this._prevFindLastPredicate(S)&&!o(S))throw new Error(\"MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.\")}this._prevFindLastPredicate=o}const u=d(this._array,o,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=u+1,u===-1?void 0:this._array[u]}}n.MonotonousArray=c;function a(s,o){if(s.length===0)return;let u=s[0];for(let S=1;S<s.length;S++){const L=s[S];o(L,u)>0&&(u=L)}return u}function m(s,o){if(s.length===0)return;let u=s[0];for(let S=1;S<s.length;S++){const L=s[S];o(L,u)>=0&&(u=L)}return u}function e(s,o){return a(s,(u,S)=>-o(u,S))}function h(s,o){if(s.length===0)return-1;let u=0;for(let S=1;S<s.length;S++){const L=s[S];o(L,s[u])>0&&(u=S)}return u}function r(s,o){for(const u of s){const S=o(u);if(S!==void 0)return S}}}),X(J[39],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.CachedFunction=n.LRUCachedFunction=void 0,n.identity=i;function i(d){return d}class x{constructor(f,p){this.lastCache=void 0,this.lastArgKey=void 0,typeof f==\"function\"?(this._fn=f,this._computeKey=i):(this._fn=p,this._computeKey=f.getCacheKey)}get(f){const p=this._computeKey(f);return this.lastArgKey!==p&&(this.lastArgKey=p,this.lastCache=this._fn(f)),this.lastCache}}n.LRUCachedFunction=x;class A{get cachedValues(){return this._map}constructor(f,p){this._map=new Map,this._map2=new Map,typeof f==\"function\"?(this._fn=f,this._computeKey=i):(this._fn=p,this._computeKey=f.getCacheKey)}get(f){const p=this._computeKey(f);if(this._map2.has(p))return this._map2.get(p);const c=this._fn(f);return this._map.set(f,c),this._map2.set(p,c),c}}n.CachedFunction=A}),X(J[40],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Color=n.HSVA=n.HSLA=n.RGBA=void 0;function i(p,c){const a=Math.pow(10,c);return Math.round(p*a)/a}class x{constructor(c,a,m,e=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,c))|0,this.g=Math.min(255,Math.max(0,a))|0,this.b=Math.min(255,Math.max(0,m))|0,this.a=i(Math.max(Math.min(1,e),0),3)}static equals(c,a){return c.r===a.r&&c.g===a.g&&c.b===a.b&&c.a===a.a}}n.RGBA=x;class A{constructor(c,a,m,e){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,c),0)|0,this.s=i(Math.max(Math.min(1,a),0),3),this.l=i(Math.max(Math.min(1,m),0),3),this.a=i(Math.max(Math.min(1,e),0),3)}static equals(c,a){return c.h===a.h&&c.s===a.s&&c.l===a.l&&c.a===a.a}static fromRGBA(c){const a=c.r/255,m=c.g/255,e=c.b/255,h=c.a,r=Math.max(a,m,e),s=Math.min(a,m,e);let o=0,u=0;const S=(s+r)/2,L=r-s;if(L>0){switch(u=Math.min(S<=.5?L/(2*S):L/(2-2*S),1),r){case a:o=(m-e)/L+(m<e?6:0);break;case m:o=(e-a)/L+2;break;case e:o=(a-m)/L+4;break}o*=60,o=Math.round(o)}return new A(o,u,S,h)}static _hue2rgb(c,a,m){return m<0&&(m+=1),m>1&&(m-=1),m<1/6?c+(a-c)*6*m:m<1/2?a:m<2/3?c+(a-c)*(2/3-m)*6:c}static toRGBA(c){const a=c.h/360,{s:m,l:e,a:h}=c;let r,s,o;if(m===0)r=s=o=e;else{const u=e<.5?e*(1+m):e+m-e*m,S=2*e-u;r=A._hue2rgb(S,u,a+1/3),s=A._hue2rgb(S,u,a),o=A._hue2rgb(S,u,a-1/3)}return new x(Math.round(r*255),Math.round(s*255),Math.round(o*255),h)}}n.HSLA=A;class d{constructor(c,a,m,e){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,c),0)|0,this.s=i(Math.max(Math.min(1,a),0),3),this.v=i(Math.max(Math.min(1,m),0),3),this.a=i(Math.max(Math.min(1,e),0),3)}static equals(c,a){return c.h===a.h&&c.s===a.s&&c.v===a.v&&c.a===a.a}static fromRGBA(c){const a=c.r/255,m=c.g/255,e=c.b/255,h=Math.max(a,m,e),r=Math.min(a,m,e),s=h-r,o=h===0?0:s/h;let u;return s===0?u=0:h===a?u=((m-e)/s%6+6)%6:h===m?u=(e-a)/s+2:u=(a-m)/s+4,new d(Math.round(u*60),o,h,c.a)}static toRGBA(c){const{h:a,s:m,v:e,a:h}=c,r=e*m,s=r*(1-Math.abs(a/60%2-1)),o=e-r;let[u,S,L]=[0,0,0];return a<60?(u=r,S=s):a<120?(u=s,S=r):a<180?(S=r,L=s):a<240?(S=s,L=r):a<300?(u=s,L=r):a<=360&&(u=r,L=s),u=Math.round((u+o)*255),S=Math.round((S+o)*255),L=Math.round((L+o)*255),new x(u,S,L,h)}}n.HSVA=d;class f{static fromHex(c){return f.Format.CSS.parseHex(c)||f.red}static equals(c,a){return!c&&!a?!0:!c||!a?!1:c.equals(a)}get hsla(){return this._hsla?this._hsla:A.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:d.fromRGBA(this.rgba)}constructor(c){if(c)if(c instanceof x)this.rgba=c;else if(c instanceof A)this._hsla=c,this.rgba=A.toRGBA(c);else if(c instanceof d)this._hsva=c,this.rgba=d.toRGBA(c);else throw new Error(\"Invalid color ctor argument\");else throw new Error(\"Color needs a value\")}equals(c){return!!c&&x.equals(this.rgba,c.rgba)&&A.equals(this.hsla,c.hsla)&&d.equals(this.hsva,c.hsva)}getRelativeLuminance(){const c=f._relativeLuminanceForComponent(this.rgba.r),a=f._relativeLuminanceForComponent(this.rgba.g),m=f._relativeLuminanceForComponent(this.rgba.b),e=.2126*c+.7152*a+.0722*m;return i(e,4)}static _relativeLuminanceForComponent(c){const a=c/255;return a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(c){const a=this.getRelativeLuminance(),m=c.getRelativeLuminance();return a>m}isDarkerThan(c){const a=this.getRelativeLuminance(),m=c.getRelativeLuminance();return a<m}lighten(c){return new f(new A(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*c,this.hsla.a))}darken(c){return new f(new A(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*c,this.hsla.a))}transparent(c){const{r:a,g:m,b:e,a:h}=this.rgba;return new f(new x(a,m,e,h*c))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new f(new x(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}makeOpaque(c){if(this.isOpaque()||c.rgba.a!==1)return this;const{r:a,g:m,b:e,a:h}=this.rgba;return new f(new x(c.rgba.r-h*(c.rgba.r-a),c.rgba.g-h*(c.rgba.g-m),c.rgba.b-h*(c.rgba.b-e),1))}toString(){return this._toString||(this._toString=f.Format.CSS.format(this)),this._toString}static getLighterColor(c,a,m){if(c.isLighterThan(a))return c;m=m||.5;const e=c.getRelativeLuminance(),h=a.getRelativeLuminance();return m=m*(h-e)/h,c.lighten(m)}static getDarkerColor(c,a,m){if(c.isDarkerThan(a))return c;m=m||.5;const e=c.getRelativeLuminance(),h=a.getRelativeLuminance();return m=m*(e-h)/e,c.darken(m)}static{this.white=new f(new x(255,255,255,1))}static{this.black=new f(new x(0,0,0,1))}static{this.red=new f(new x(255,0,0,1))}static{this.blue=new f(new x(0,0,255,1))}static{this.green=new f(new x(0,255,0,1))}static{this.cyan=new f(new x(0,255,255,1))}static{this.lightgrey=new f(new x(211,211,211,1))}static{this.transparent=new f(new x(0,0,0,0))}}n.Color=f,function(p){let c;(function(a){let m;(function(e){function h(v){return v.rgba.a===1?`rgb(${v.rgba.r}, ${v.rgba.g}, ${v.rgba.b})`:p.Format.CSS.formatRGBA(v)}e.formatRGB=h;function r(v){return`rgba(${v.rgba.r}, ${v.rgba.g}, ${v.rgba.b}, ${+v.rgba.a.toFixed(2)})`}e.formatRGBA=r;function s(v){return v.hsla.a===1?`hsl(${v.hsla.h}, ${(v.hsla.s*100).toFixed(2)}%, ${(v.hsla.l*100).toFixed(2)}%)`:p.Format.CSS.formatHSLA(v)}e.formatHSL=s;function o(v){return`hsla(${v.hsla.h}, ${(v.hsla.s*100).toFixed(2)}%, ${(v.hsla.l*100).toFixed(2)}%, ${v.hsla.a.toFixed(2)})`}e.formatHSLA=o;function u(v){const l=v.toString(16);return l.length!==2?\"0\"+l:l}function S(v){return`#${u(v.rgba.r)}${u(v.rgba.g)}${u(v.rgba.b)}`}e.formatHex=S;function L(v,l=!1){return l&&v.rgba.a===1?p.Format.CSS.formatHex(v):`#${u(v.rgba.r)}${u(v.rgba.g)}${u(v.rgba.b)}${u(Math.round(v.rgba.a*255))}`}e.formatHexA=L;function N(v){return v.isOpaque()?p.Format.CSS.formatHex(v):p.Format.CSS.formatRGBA(v)}e.format=N;function P(v){const l=v.length;if(l===0||v.charCodeAt(0)!==35)return null;if(l===7){const b=16*E(v.charCodeAt(1))+E(v.charCodeAt(2)),g=16*E(v.charCodeAt(3))+E(v.charCodeAt(4)),w=16*E(v.charCodeAt(5))+E(v.charCodeAt(6));return new p(new x(b,g,w,1))}if(l===9){const b=16*E(v.charCodeAt(1))+E(v.charCodeAt(2)),g=16*E(v.charCodeAt(3))+E(v.charCodeAt(4)),w=16*E(v.charCodeAt(5))+E(v.charCodeAt(6)),M=16*E(v.charCodeAt(7))+E(v.charCodeAt(8));return new p(new x(b,g,w,M/255))}if(l===4){const b=E(v.charCodeAt(1)),g=E(v.charCodeAt(2)),w=E(v.charCodeAt(3));return new p(new x(16*b+b,16*g+g,16*w+w))}if(l===5){const b=E(v.charCodeAt(1)),g=E(v.charCodeAt(2)),w=E(v.charCodeAt(3)),M=E(v.charCodeAt(4));return new p(new x(16*b+b,16*g+g,16*w+w,(16*M+M)/255))}return null}e.parseHex=P;function E(v){switch(v){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(m=a.CSS||(a.CSS={}))})(c=p.Format||(p.Format={}))}(f||(n.Color=f={}))}),X(J[41],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.DiffChange=void 0;class i{constructor(A,d,f,p){this.originalStart=A,this.originalLength=d,this.modifiedStart=f,this.modifiedLength=p}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}n.DiffChange=i}),X(J[3],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.BugIndicatingError=n.ErrorNoTelemetry=n.NotSupportedError=n.CancellationError=n.errorHandler=n.ErrorHandler=void 0,n.onUnexpectedError=x,n.onUnexpectedExternalError=A,n.transformErrorForSerialization=d,n.isCancellationError=p,n.canceled=a,n.illegalArgument=m,n.illegalState=e;class i{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(u){setTimeout(()=>{throw u.stack?r.isErrorNoTelemetry(u)?new r(u.message+`\n\n`+u.stack):new Error(u.message+`\n\n`+u.stack):u},0)}}emit(u){this.listeners.forEach(S=>{S(u)})}onUnexpectedError(u){this.unexpectedErrorHandler(u),this.emit(u)}onUnexpectedExternalError(u){this.unexpectedErrorHandler(u)}}n.ErrorHandler=i,n.errorHandler=new i;function x(o){p(o)||n.errorHandler.onUnexpectedError(o)}function A(o){p(o)||n.errorHandler.onUnexpectedExternalError(o)}function d(o){if(o instanceof Error){const{name:u,message:S}=o,L=o.stacktrace||o.stack;return{$isError:!0,name:u,message:S,stack:L,noTelemetry:r.isErrorNoTelemetry(o)}}return o}const f=\"Canceled\";function p(o){return o instanceof c?!0:o instanceof Error&&o.name===f&&o.message===f}class c extends Error{constructor(){super(f),this.name=this.message}}n.CancellationError=c;function a(){const o=new Error(f);return o.name=o.message,o}function m(o){return o?new Error(`Illegal argument: ${o}`):new Error(\"Illegal argument\")}function e(o){return o?new Error(`Illegal state: ${o}`):new Error(\"Illegal state\")}class h extends Error{constructor(u){super(\"NotSupported\"),u&&(this.message=u)}}n.NotSupportedError=h;class r extends Error{constructor(u){super(u),this.name=\"CodeExpectedError\"}static fromError(u){if(u instanceof r)return u;const S=new r;return S.message=u.message,S.stack=u.stack,S}static isErrorNoTelemetry(u){return u.name===\"CodeExpectedError\"}}n.ErrorNoTelemetry=r;class s extends Error{constructor(u){super(u||\"An unexpected bug occurred.\"),Object.setPrototypeOf(this,s.prototype)}}n.BugIndicatingError=s}),X(J[12],Z([0,1,3]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.ok=x,n.assertNever=A,n.softAssert=d,n.assertFn=f,n.checkAdjacentItems=p;function x(c,a){if(!c)throw new Error(a?`Assertion failed (${a})`:\"Assertion Failed\")}function A(c,a=\"Unreachable\"){throw new Error(a)}function d(c){c||(0,i.onUnexpectedError)(new i.BugIndicatingError(\"Soft Assertion Failed\"))}function f(c){if(!c()){debugger;c(),(0,i.onUnexpectedError)(new i.BugIndicatingError(\"Assertion Failed\"))}}function p(c,a){let m=0;for(;m<c.length-1;){const e=c[m],h=c[m+1];if(!a(e,h))return!1;m++}return!0}}),X(J[18],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.createSingleCallFunction=i;function i(x,A){const d=this;let f=!1,p;return function(){if(f)return p;if(f=!0,A)try{p=x.apply(d,arguments)}finally{A()}else p=x.apply(d,arguments);return p}}}),X(J[19],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Iterable=void 0;var i;(function(x){function A(l){return l&&typeof l==\"object\"&&typeof l[Symbol.iterator]==\"function\"}x.is=A;const d=Object.freeze([]);function f(){return d}x.empty=f;function*p(l){yield l}x.single=p;function c(l){return A(l)?l:p(l)}x.wrap=c;function a(l){return l||d}x.from=a;function*m(l){for(let b=l.length-1;b>=0;b--)yield l[b]}x.reverse=m;function e(l){return!l||l[Symbol.iterator]().next().done===!0}x.isEmpty=e;function h(l){return l[Symbol.iterator]().next().value}x.first=h;function r(l,b){let g=0;for(const w of l)if(b(w,g++))return!0;return!1}x.some=r;function s(l,b){for(const g of l)if(b(g))return g}x.find=s;function*o(l,b){for(const g of l)b(g)&&(yield g)}x.filter=o;function*u(l,b){let g=0;for(const w of l)yield b(w,g++)}x.map=u;function*S(l,b){let g=0;for(const w of l)yield*b(w,g++)}x.flatMap=S;function*L(...l){for(const b of l)yield*b}x.concat=L;function N(l,b,g){let w=g;for(const M of l)w=b(w,M);return w}x.reduce=N;function*P(l,b,g=l.length){for(b<0&&(b+=l.length),g<0?g+=l.length:g>l.length&&(g=l.length);b<g;b++)yield l[b]}x.slice=P;function E(l,b=Number.POSITIVE_INFINITY){const g=[];if(b===0)return[g,l];const w=l[Symbol.iterator]();for(let M=0;M<b;M++){const y=w.next();if(y.done)return[g,x.empty()];g.push(y.value)}return[g,{[Symbol.iterator](){return w}}]}x.consume=E;async function v(l){const b=[];for await(const g of l)b.push(g);return Promise.resolve(b)}x.asyncToArray=v})(i||(n.Iterable=i={}))}),X(J[42],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.KeyCodeUtils=n.IMMUTABLE_KEY_CODE_TO_CODE=n.IMMUTABLE_CODE_TO_KEY_CODE=n.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE=n.EVENT_KEY_CODE_MAP=void 0,n.KeyChord=m;class i{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(h,r){this._keyCodeToStr[h]=r,this._strToKeyCode[r.toLowerCase()]=h}keyCodeToStr(h){return this._keyCodeToStr[h]}strToKeyCode(h){return this._strToKeyCode[h.toLowerCase()]||0}}const x=new i,A=new i,d=new i;n.EVENT_KEY_CODE_MAP=new Array(230),n.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE={};const f=[],p=Object.create(null),c=Object.create(null);n.IMMUTABLE_CODE_TO_KEY_CODE=[],n.IMMUTABLE_KEY_CODE_TO_CODE=[];for(let e=0;e<=193;e++)n.IMMUTABLE_CODE_TO_KEY_CODE[e]=-1;for(let e=0;e<=132;e++)n.IMMUTABLE_KEY_CODE_TO_CODE[e]=-1;(function(){const e=\"\",h=[[1,0,\"None\",0,\"unknown\",0,\"VK_UNKNOWN\",e,e],[1,1,\"Hyper\",0,e,0,e,e,e],[1,2,\"Super\",0,e,0,e,e,e],[1,3,\"Fn\",0,e,0,e,e,e],[1,4,\"FnLock\",0,e,0,e,e,e],[1,5,\"Suspend\",0,e,0,e,e,e],[1,6,\"Resume\",0,e,0,e,e,e],[1,7,\"Turbo\",0,e,0,e,e,e],[1,8,\"Sleep\",0,e,0,\"VK_SLEEP\",e,e],[1,9,\"WakeUp\",0,e,0,e,e,e],[0,10,\"KeyA\",31,\"A\",65,\"VK_A\",e,e],[0,11,\"KeyB\",32,\"B\",66,\"VK_B\",e,e],[0,12,\"KeyC\",33,\"C\",67,\"VK_C\",e,e],[0,13,\"KeyD\",34,\"D\",68,\"VK_D\",e,e],[0,14,\"KeyE\",35,\"E\",69,\"VK_E\",e,e],[0,15,\"KeyF\",36,\"F\",70,\"VK_F\",e,e],[0,16,\"KeyG\",37,\"G\",71,\"VK_G\",e,e],[0,17,\"KeyH\",38,\"H\",72,\"VK_H\",e,e],[0,18,\"KeyI\",39,\"I\",73,\"VK_I\",e,e],[0,19,\"KeyJ\",40,\"J\",74,\"VK_J\",e,e],[0,20,\"KeyK\",41,\"K\",75,\"VK_K\",e,e],[0,21,\"KeyL\",42,\"L\",76,\"VK_L\",e,e],[0,22,\"KeyM\",43,\"M\",77,\"VK_M\",e,e],[0,23,\"KeyN\",44,\"N\",78,\"VK_N\",e,e],[0,24,\"KeyO\",45,\"O\",79,\"VK_O\",e,e],[0,25,\"KeyP\",46,\"P\",80,\"VK_P\",e,e],[0,26,\"KeyQ\",47,\"Q\",81,\"VK_Q\",e,e],[0,27,\"KeyR\",48,\"R\",82,\"VK_R\",e,e],[0,28,\"KeyS\",49,\"S\",83,\"VK_S\",e,e],[0,29,\"KeyT\",50,\"T\",84,\"VK_T\",e,e],[0,30,\"KeyU\",51,\"U\",85,\"VK_U\",e,e],[0,31,\"KeyV\",52,\"V\",86,\"VK_V\",e,e],[0,32,\"KeyW\",53,\"W\",87,\"VK_W\",e,e],[0,33,\"KeyX\",54,\"X\",88,\"VK_X\",e,e],[0,34,\"KeyY\",55,\"Y\",89,\"VK_Y\",e,e],[0,35,\"KeyZ\",56,\"Z\",90,\"VK_Z\",e,e],[0,36,\"Digit1\",22,\"1\",49,\"VK_1\",e,e],[0,37,\"Digit2\",23,\"2\",50,\"VK_2\",e,e],[0,38,\"Digit3\",24,\"3\",51,\"VK_3\",e,e],[0,39,\"Digit4\",25,\"4\",52,\"VK_4\",e,e],[0,40,\"Digit5\",26,\"5\",53,\"VK_5\",e,e],[0,41,\"Digit6\",27,\"6\",54,\"VK_6\",e,e],[0,42,\"Digit7\",28,\"7\",55,\"VK_7\",e,e],[0,43,\"Digit8\",29,\"8\",56,\"VK_8\",e,e],[0,44,\"Digit9\",30,\"9\",57,\"VK_9\",e,e],[0,45,\"Digit0\",21,\"0\",48,\"VK_0\",e,e],[1,46,\"Enter\",3,\"Enter\",13,\"VK_RETURN\",e,e],[1,47,\"Escape\",9,\"Escape\",27,\"VK_ESCAPE\",e,e],[1,48,\"Backspace\",1,\"Backspace\",8,\"VK_BACK\",e,e],[1,49,\"Tab\",2,\"Tab\",9,\"VK_TAB\",e,e],[1,50,\"Space\",10,\"Space\",32,\"VK_SPACE\",e,e],[0,51,\"Minus\",88,\"-\",189,\"VK_OEM_MINUS\",\"-\",\"OEM_MINUS\"],[0,52,\"Equal\",86,\"=\",187,\"VK_OEM_PLUS\",\"=\",\"OEM_PLUS\"],[0,53,\"BracketLeft\",92,\"[\",219,\"VK_OEM_4\",\"[\",\"OEM_4\"],[0,54,\"BracketRight\",94,\"]\",221,\"VK_OEM_6\",\"]\",\"OEM_6\"],[0,55,\"Backslash\",93,\"\\\\\",220,\"VK_OEM_5\",\"\\\\\",\"OEM_5\"],[0,56,\"IntlHash\",0,e,0,e,e,e],[0,57,\"Semicolon\",85,\";\",186,\"VK_OEM_1\",\";\",\"OEM_1\"],[0,58,\"Quote\",95,\"'\",222,\"VK_OEM_7\",\"'\",\"OEM_7\"],[0,59,\"Backquote\",91,\"`\",192,\"VK_OEM_3\",\"`\",\"OEM_3\"],[0,60,\"Comma\",87,\",\",188,\"VK_OEM_COMMA\",\",\",\"OEM_COMMA\"],[0,61,\"Period\",89,\".\",190,\"VK_OEM_PERIOD\",\".\",\"OEM_PERIOD\"],[0,62,\"Slash\",90,\"/\",191,\"VK_OEM_2\",\"/\",\"OEM_2\"],[1,63,\"CapsLock\",8,\"CapsLock\",20,\"VK_CAPITAL\",e,e],[1,64,\"F1\",59,\"F1\",112,\"VK_F1\",e,e],[1,65,\"F2\",60,\"F2\",113,\"VK_F2\",e,e],[1,66,\"F3\",61,\"F3\",114,\"VK_F3\",e,e],[1,67,\"F4\",62,\"F4\",115,\"VK_F4\",e,e],[1,68,\"F5\",63,\"F5\",116,\"VK_F5\",e,e],[1,69,\"F6\",64,\"F6\",117,\"VK_F6\",e,e],[1,70,\"F7\",65,\"F7\",118,\"VK_F7\",e,e],[1,71,\"F8\",66,\"F8\",119,\"VK_F8\",e,e],[1,72,\"F9\",67,\"F9\",120,\"VK_F9\",e,e],[1,73,\"F10\",68,\"F10\",121,\"VK_F10\",e,e],[1,74,\"F11\",69,\"F11\",122,\"VK_F11\",e,e],[1,75,\"F12\",70,\"F12\",123,\"VK_F12\",e,e],[1,76,\"PrintScreen\",0,e,0,e,e,e],[1,77,\"ScrollLock\",84,\"ScrollLock\",145,\"VK_SCROLL\",e,e],[1,78,\"Pause\",7,\"PauseBreak\",19,\"VK_PAUSE\",e,e],[1,79,\"Insert\",19,\"Insert\",45,\"VK_INSERT\",e,e],[1,80,\"Home\",14,\"Home\",36,\"VK_HOME\",e,e],[1,81,\"PageUp\",11,\"PageUp\",33,\"VK_PRIOR\",e,e],[1,82,\"Delete\",20,\"Delete\",46,\"VK_DELETE\",e,e],[1,83,\"End\",13,\"End\",35,\"VK_END\",e,e],[1,84,\"PageDown\",12,\"PageDown\",34,\"VK_NEXT\",e,e],[1,85,\"ArrowRight\",17,\"RightArrow\",39,\"VK_RIGHT\",\"Right\",e],[1,86,\"ArrowLeft\",15,\"LeftArrow\",37,\"VK_LEFT\",\"Left\",e],[1,87,\"ArrowDown\",18,\"DownArrow\",40,\"VK_DOWN\",\"Down\",e],[1,88,\"ArrowUp\",16,\"UpArrow\",38,\"VK_UP\",\"Up\",e],[1,89,\"NumLock\",83,\"NumLock\",144,\"VK_NUMLOCK\",e,e],[1,90,\"NumpadDivide\",113,\"NumPad_Divide\",111,\"VK_DIVIDE\",e,e],[1,91,\"NumpadMultiply\",108,\"NumPad_Multiply\",106,\"VK_MULTIPLY\",e,e],[1,92,\"NumpadSubtract\",111,\"NumPad_Subtract\",109,\"VK_SUBTRACT\",e,e],[1,93,\"NumpadAdd\",109,\"NumPad_Add\",107,\"VK_ADD\",e,e],[1,94,\"NumpadEnter\",3,e,0,e,e,e],[1,95,\"Numpad1\",99,\"NumPad1\",97,\"VK_NUMPAD1\",e,e],[1,96,\"Numpad2\",100,\"NumPad2\",98,\"VK_NUMPAD2\",e,e],[1,97,\"Numpad3\",101,\"NumPad3\",99,\"VK_NUMPAD3\",e,e],[1,98,\"Numpad4\",102,\"NumPad4\",100,\"VK_NUMPAD4\",e,e],[1,99,\"Numpad5\",103,\"NumPad5\",101,\"VK_NUMPAD5\",e,e],[1,100,\"Numpad6\",104,\"NumPad6\",102,\"VK_NUMPAD6\",e,e],[1,101,\"Numpad7\",105,\"NumPad7\",103,\"VK_NUMPAD7\",e,e],[1,102,\"Numpad8\",106,\"NumPad8\",104,\"VK_NUMPAD8\",e,e],[1,103,\"Numpad9\",107,\"NumPad9\",105,\"VK_NUMPAD9\",e,e],[1,104,\"Numpad0\",98,\"NumPad0\",96,\"VK_NUMPAD0\",e,e],[1,105,\"NumpadDecimal\",112,\"NumPad_Decimal\",110,\"VK_DECIMAL\",e,e],[0,106,\"IntlBackslash\",97,\"OEM_102\",226,\"VK_OEM_102\",e,e],[1,107,\"ContextMenu\",58,\"ContextMenu\",93,e,e,e],[1,108,\"Power\",0,e,0,e,e,e],[1,109,\"NumpadEqual\",0,e,0,e,e,e],[1,110,\"F13\",71,\"F13\",124,\"VK_F13\",e,e],[1,111,\"F14\",72,\"F14\",125,\"VK_F14\",e,e],[1,112,\"F15\",73,\"F15\",126,\"VK_F15\",e,e],[1,113,\"F16\",74,\"F16\",127,\"VK_F16\",e,e],[1,114,\"F17\",75,\"F17\",128,\"VK_F17\",e,e],[1,115,\"F18\",76,\"F18\",129,\"VK_F18\",e,e],[1,116,\"F19\",77,\"F19\",130,\"VK_F19\",e,e],[1,117,\"F20\",78,\"F20\",131,\"VK_F20\",e,e],[1,118,\"F21\",79,\"F21\",132,\"VK_F21\",e,e],[1,119,\"F22\",80,\"F22\",133,\"VK_F22\",e,e],[1,120,\"F23\",81,\"F23\",134,\"VK_F23\",e,e],[1,121,\"F24\",82,\"F24\",135,\"VK_F24\",e,e],[1,122,\"Open\",0,e,0,e,e,e],[1,123,\"Help\",0,e,0,e,e,e],[1,124,\"Select\",0,e,0,e,e,e],[1,125,\"Again\",0,e,0,e,e,e],[1,126,\"Undo\",0,e,0,e,e,e],[1,127,\"Cut\",0,e,0,e,e,e],[1,128,\"Copy\",0,e,0,e,e,e],[1,129,\"Paste\",0,e,0,e,e,e],[1,130,\"Find\",0,e,0,e,e,e],[1,131,\"AudioVolumeMute\",117,\"AudioVolumeMute\",173,\"VK_VOLUME_MUTE\",e,e],[1,132,\"AudioVolumeUp\",118,\"AudioVolumeUp\",175,\"VK_VOLUME_UP\",e,e],[1,133,\"AudioVolumeDown\",119,\"AudioVolumeDown\",174,\"VK_VOLUME_DOWN\",e,e],[1,134,\"NumpadComma\",110,\"NumPad_Separator\",108,\"VK_SEPARATOR\",e,e],[0,135,\"IntlRo\",115,\"ABNT_C1\",193,\"VK_ABNT_C1\",e,e],[1,136,\"KanaMode\",0,e,0,e,e,e],[0,137,\"IntlYen\",0,e,0,e,e,e],[1,138,\"Convert\",0,e,0,e,e,e],[1,139,\"NonConvert\",0,e,0,e,e,e],[1,140,\"Lang1\",0,e,0,e,e,e],[1,141,\"Lang2\",0,e,0,e,e,e],[1,142,\"Lang3\",0,e,0,e,e,e],[1,143,\"Lang4\",0,e,0,e,e,e],[1,144,\"Lang5\",0,e,0,e,e,e],[1,145,\"Abort\",0,e,0,e,e,e],[1,146,\"Props\",0,e,0,e,e,e],[1,147,\"NumpadParenLeft\",0,e,0,e,e,e],[1,148,\"NumpadParenRight\",0,e,0,e,e,e],[1,149,\"NumpadBackspace\",0,e,0,e,e,e],[1,150,\"NumpadMemoryStore\",0,e,0,e,e,e],[1,151,\"NumpadMemoryRecall\",0,e,0,e,e,e],[1,152,\"NumpadMemoryClear\",0,e,0,e,e,e],[1,153,\"NumpadMemoryAdd\",0,e,0,e,e,e],[1,154,\"NumpadMemorySubtract\",0,e,0,e,e,e],[1,155,\"NumpadClear\",131,\"Clear\",12,\"VK_CLEAR\",e,e],[1,156,\"NumpadClearEntry\",0,e,0,e,e,e],[1,0,e,5,\"Ctrl\",17,\"VK_CONTROL\",e,e],[1,0,e,4,\"Shift\",16,\"VK_SHIFT\",e,e],[1,0,e,6,\"Alt\",18,\"VK_MENU\",e,e],[1,0,e,57,\"Meta\",91,\"VK_COMMAND\",e,e],[1,157,\"ControlLeft\",5,e,0,\"VK_LCONTROL\",e,e],[1,158,\"ShiftLeft\",4,e,0,\"VK_LSHIFT\",e,e],[1,159,\"AltLeft\",6,e,0,\"VK_LMENU\",e,e],[1,160,\"MetaLeft\",57,e,0,\"VK_LWIN\",e,e],[1,161,\"ControlRight\",5,e,0,\"VK_RCONTROL\",e,e],[1,162,\"ShiftRight\",4,e,0,\"VK_RSHIFT\",e,e],[1,163,\"AltRight\",6,e,0,\"VK_RMENU\",e,e],[1,164,\"MetaRight\",57,e,0,\"VK_RWIN\",e,e],[1,165,\"BrightnessUp\",0,e,0,e,e,e],[1,166,\"BrightnessDown\",0,e,0,e,e,e],[1,167,\"MediaPlay\",0,e,0,e,e,e],[1,168,\"MediaRecord\",0,e,0,e,e,e],[1,169,\"MediaFastForward\",0,e,0,e,e,e],[1,170,\"MediaRewind\",0,e,0,e,e,e],[1,171,\"MediaTrackNext\",124,\"MediaTrackNext\",176,\"VK_MEDIA_NEXT_TRACK\",e,e],[1,172,\"MediaTrackPrevious\",125,\"MediaTrackPrevious\",177,\"VK_MEDIA_PREV_TRACK\",e,e],[1,173,\"MediaStop\",126,\"MediaStop\",178,\"VK_MEDIA_STOP\",e,e],[1,174,\"Eject\",0,e,0,e,e,e],[1,175,\"MediaPlayPause\",127,\"MediaPlayPause\",179,\"VK_MEDIA_PLAY_PAUSE\",e,e],[1,176,\"MediaSelect\",128,\"LaunchMediaPlayer\",181,\"VK_MEDIA_LAUNCH_MEDIA_SELECT\",e,e],[1,177,\"LaunchMail\",129,\"LaunchMail\",180,\"VK_MEDIA_LAUNCH_MAIL\",e,e],[1,178,\"LaunchApp2\",130,\"LaunchApp2\",183,\"VK_MEDIA_LAUNCH_APP2\",e,e],[1,179,\"LaunchApp1\",0,e,0,\"VK_MEDIA_LAUNCH_APP1\",e,e],[1,180,\"SelectTask\",0,e,0,e,e,e],[1,181,\"LaunchScreenSaver\",0,e,0,e,e,e],[1,182,\"BrowserSearch\",120,\"BrowserSearch\",170,\"VK_BROWSER_SEARCH\",e,e],[1,183,\"BrowserHome\",121,\"BrowserHome\",172,\"VK_BROWSER_HOME\",e,e],[1,184,\"BrowserBack\",122,\"BrowserBack\",166,\"VK_BROWSER_BACK\",e,e],[1,185,\"BrowserForward\",123,\"BrowserForward\",167,\"VK_BROWSER_FORWARD\",e,e],[1,186,\"BrowserStop\",0,e,0,\"VK_BROWSER_STOP\",e,e],[1,187,\"BrowserRefresh\",0,e,0,\"VK_BROWSER_REFRESH\",e,e],[1,188,\"BrowserFavorites\",0,e,0,\"VK_BROWSER_FAVORITES\",e,e],[1,189,\"ZoomToggle\",0,e,0,e,e,e],[1,190,\"MailReply\",0,e,0,e,e,e],[1,191,\"MailForward\",0,e,0,e,e,e],[1,192,\"MailSend\",0,e,0,e,e,e],[1,0,e,114,\"KeyInComposition\",229,e,e,e],[1,0,e,116,\"ABNT_C2\",194,\"VK_ABNT_C2\",e,e],[1,0,e,96,\"OEM_8\",223,\"VK_OEM_8\",e,e],[1,0,e,0,e,0,\"VK_KANA\",e,e],[1,0,e,0,e,0,\"VK_HANGUL\",e,e],[1,0,e,0,e,0,\"VK_JUNJA\",e,e],[1,0,e,0,e,0,\"VK_FINAL\",e,e],[1,0,e,0,e,0,\"VK_HANJA\",e,e],[1,0,e,0,e,0,\"VK_KANJI\",e,e],[1,0,e,0,e,0,\"VK_CONVERT\",e,e],[1,0,e,0,e,0,\"VK_NONCONVERT\",e,e],[1,0,e,0,e,0,\"VK_ACCEPT\",e,e],[1,0,e,0,e,0,\"VK_MODECHANGE\",e,e],[1,0,e,0,e,0,\"VK_SELECT\",e,e],[1,0,e,0,e,0,\"VK_PRINT\",e,e],[1,0,e,0,e,0,\"VK_EXECUTE\",e,e],[1,0,e,0,e,0,\"VK_SNAPSHOT\",e,e],[1,0,e,0,e,0,\"VK_HELP\",e,e],[1,0,e,0,e,0,\"VK_APPS\",e,e],[1,0,e,0,e,0,\"VK_PROCESSKEY\",e,e],[1,0,e,0,e,0,\"VK_PACKET\",e,e],[1,0,e,0,e,0,\"VK_DBE_SBCSCHAR\",e,e],[1,0,e,0,e,0,\"VK_DBE_DBCSCHAR\",e,e],[1,0,e,0,e,0,\"VK_ATTN\",e,e],[1,0,e,0,e,0,\"VK_CRSEL\",e,e],[1,0,e,0,e,0,\"VK_EXSEL\",e,e],[1,0,e,0,e,0,\"VK_EREOF\",e,e],[1,0,e,0,e,0,\"VK_PLAY\",e,e],[1,0,e,0,e,0,\"VK_ZOOM\",e,e],[1,0,e,0,e,0,\"VK_NONAME\",e,e],[1,0,e,0,e,0,\"VK_PA1\",e,e],[1,0,e,0,e,0,\"VK_OEM_CLEAR\",e,e]],r=[],s=[];for(const o of h){const[u,S,L,N,P,E,v,l,b]=o;if(s[S]||(s[S]=!0,f[S]=L,p[L]=S,c[L.toLowerCase()]=S,u&&(n.IMMUTABLE_CODE_TO_KEY_CODE[S]=N,N!==0&&N!==3&&N!==5&&N!==4&&N!==6&&N!==57&&(n.IMMUTABLE_KEY_CODE_TO_CODE[N]=S))),!r[N]){if(r[N]=!0,!P)throw new Error(`String representation missing for key code ${N} around scan code ${L}`);x.define(N,P),A.define(N,l||P),d.define(N,b||l||P)}E&&(n.EVENT_KEY_CODE_MAP[E]=N),v&&(n.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[v]=N)}n.IMMUTABLE_KEY_CODE_TO_CODE[3]=46})();var a;(function(e){function h(L){return x.keyCodeToStr(L)}e.toString=h;function r(L){return x.strToKeyCode(L)}e.fromString=r;function s(L){return A.keyCodeToStr(L)}e.toUserSettingsUS=s;function o(L){return d.keyCodeToStr(L)}e.toUserSettingsGeneral=o;function u(L){return A.strToKeyCode(L)||d.strToKeyCode(L)}e.fromUserSettings=u;function S(L){if(L>=98&&L<=113)return null;switch(L){case 16:return\"Up\";case 18:return\"Down\";case 15:return\"Left\";case 17:return\"Right\"}return x.keyCodeToStr(L)}e.toElectronAccelerator=S})(a||(n.KeyCodeUtils=a={}));function m(e,h){const r=(h&65535)<<16>>>0;return(e|r)>>>0}}),X(J[43],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Lazy=void 0;class i{constructor(A){this.executor=A,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(A){this._error=A}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}n.Lazy=i}),X(J[8],Z([0,1,18,19]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.DisposableMap=n.ImmortalReference=n.RefCountedDisposable=n.MutableDisposable=n.Disposable=n.DisposableStore=void 0,n.setDisposableTracker=f,n.trackDisposable=p,n.markAsDisposed=c,n.markAsSingleton=e,n.isDisposable=h,n.dispose=r,n.combinedDisposable=s,n.toDisposable=o;const A=!1;let d=null;function f(v){d=v}if(A){const v=\"__is_disposable_tracked__\";f(new class{trackDisposable(l){const b=new Error(\"Potentially leaked disposable\").stack;setTimeout(()=>{l[v]||console.log(b)},3e3)}setParent(l,b){if(l&&l!==S.None)try{l[v]=!0}catch{}}markAsDisposed(l){if(l&&l!==S.None)try{l[v]=!0}catch{}}markAsSingleton(l){}})}function p(v){return d?.trackDisposable(v),v}function c(v){d?.markAsDisposed(v)}function a(v,l){d?.setParent(v,l)}function m(v,l){if(d)for(const b of v)d.setParent(b,l)}function e(v){return d?.markAsSingleton(v),v}function h(v){return typeof v==\"object\"&&v!==null&&typeof v.dispose==\"function\"&&v.dispose.length===0}function r(v){if(x.Iterable.is(v)){const l=[];for(const b of v)if(b)try{b.dispose()}catch(g){l.push(g)}if(l.length===1)throw l[0];if(l.length>1)throw new AggregateError(l,\"Encountered errors while disposing of store\");return Array.isArray(v)?[]:v}else if(v)return v.dispose(),v}function s(...v){const l=o(()=>r(v));return m(v,l),l}function o(v){const l=p({dispose:(0,i.createSingleCallFunction)(()=>{c(l),v()})});return l}class u{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,p(this)}dispose(){this._isDisposed||(c(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{r(this._toDispose)}finally{this._toDispose.clear()}}add(l){if(!l)return l;if(l===this)throw new Error(\"Cannot register a disposable on itself!\");return a(l,this),this._isDisposed?u.DISABLE_DISPOSED_WARNING||console.warn(new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\").stack):this._toDispose.add(l),l}deleteAndLeak(l){l&&this._toDispose.has(l)&&(this._toDispose.delete(l),a(l,null))}}n.DisposableStore=u;class S{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new u,p(this),a(this._store,this)}dispose(){c(this),this._store.dispose()}_register(l){if(l===this)throw new Error(\"Cannot register a disposable on itself!\");return this._store.add(l)}}n.Disposable=S;class L{constructor(){this._isDisposed=!1,p(this)}get value(){return this._isDisposed?void 0:this._value}set value(l){this._isDisposed||l===this._value||(this._value?.dispose(),l&&a(l,this),this._value=l)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,c(this),this._value?.dispose(),this._value=void 0}}n.MutableDisposable=L;class N{constructor(l){this._disposable=l,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}n.RefCountedDisposable=N;class P{constructor(l){this.object=l}dispose(){}}n.ImmortalReference=P;class E{constructor(){this._store=new Map,this._isDisposed=!1,p(this)}dispose(){c(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{r(this._store.values())}finally{this._store.clear()}}get(l){return this._store.get(l)}set(l,b,g=!1){this._isDisposed&&console.warn(new Error(\"Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!\").stack),g||this._store.get(l)?.dispose(),this._store.set(l,b)}deleteAndDispose(l){this._store.get(l)?.dispose(),this._store.delete(l)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}n.DisposableMap=E}),X(J[20],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.LinkedList=void 0;class i{static{this.Undefined=new i(void 0)}constructor(d){this.element=d,this.next=i.Undefined,this.prev=i.Undefined}}class x{constructor(){this._first=i.Undefined,this._last=i.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===i.Undefined}clear(){let d=this._first;for(;d!==i.Undefined;){const f=d.next;d.prev=i.Undefined,d.next=i.Undefined,d=f}this._first=i.Undefined,this._last=i.Undefined,this._size=0}unshift(d){return this._insert(d,!1)}push(d){return this._insert(d,!0)}_insert(d,f){const p=new i(d);if(this._first===i.Undefined)this._first=p,this._last=p;else if(f){const a=this._last;this._last=p,p.prev=a,a.next=p}else{const a=this._first;this._first=p,p.next=a,a.prev=p}this._size+=1;let c=!1;return()=>{c||(c=!0,this._remove(p))}}shift(){if(this._first!==i.Undefined){const d=this._first.element;return this._remove(this._first),d}}pop(){if(this._last!==i.Undefined){const d=this._last.element;return this._remove(this._last),d}}_remove(d){if(d.prev!==i.Undefined&&d.next!==i.Undefined){const f=d.prev;f.next=d.next,d.next.prev=f}else d.prev===i.Undefined&&d.next===i.Undefined?(this._first=i.Undefined,this._last=i.Undefined):d.next===i.Undefined?(this._last=this._last.prev,this._last.next=i.Undefined):d.prev===i.Undefined&&(this._first=this._first.next,this._first.prev=i.Undefined);this._size-=1}*[Symbol.iterator](){let d=this._first;for(;d!==i.Undefined;)yield d.element,d=d.next}}n.LinkedList=x}),X(J[21],Z([0,1]),function(W,n){\"use strict\";var i,x;Object.defineProperty(n,\"__esModule\",{value:!0}),n.SetMap=n.BidirectionalMap=n.LRUCache=n.LinkedMap=n.ResourceMap=void 0;class A{constructor(r,s){this.uri=r,this.value=s}}function d(h){return Array.isArray(h)}class f{static{this.defaultToKey=r=>r.toString()}constructor(r,s){if(this[i]=\"ResourceMap\",r instanceof f)this.map=new Map(r.map),this.toKey=s??f.defaultToKey;else if(d(r)){this.map=new Map,this.toKey=s??f.defaultToKey;for(const[o,u]of r)this.set(o,u)}else this.map=new Map,this.toKey=r??f.defaultToKey}set(r,s){return this.map.set(this.toKey(r),new A(r,s)),this}get(r){return this.map.get(this.toKey(r))?.value}has(r){return this.map.has(this.toKey(r))}get size(){return this.map.size}clear(){this.map.clear()}delete(r){return this.map.delete(this.toKey(r))}forEach(r,s){typeof s<\"u\"&&(r=r.bind(s));for(const[o,u]of this.map)r(u.value,u.uri,this)}*values(){for(const r of this.map.values())yield r.value}*keys(){for(const r of this.map.values())yield r.uri}*entries(){for(const r of this.map.values())yield[r.uri,r.value]}*[(i=Symbol.toStringTag,Symbol.iterator)](){for(const[,r]of this.map)yield[r.uri,r.value]}}n.ResourceMap=f;class p{constructor(){this[x]=\"LinkedMap\",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(r){return this._map.has(r)}get(r,s=0){const o=this._map.get(r);if(o)return s!==0&&this.touch(o,s),o.value}set(r,s,o=0){let u=this._map.get(r);if(u)u.value=s,o!==0&&this.touch(u,o);else{switch(u={key:r,value:s,next:void 0,previous:void 0},o){case 0:this.addItemLast(u);break;case 1:this.addItemFirst(u);break;case 2:this.addItemLast(u);break;default:this.addItemLast(u);break}this._map.set(r,u),this._size++}return this}delete(r){return!!this.remove(r)}remove(r){const s=this._map.get(r);if(s)return this._map.delete(r),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error(\"Invalid list\");const r=this._head;return this._map.delete(r.key),this.removeItem(r),this._size--,r.value}forEach(r,s){const o=this._state;let u=this._head;for(;u;){if(s?r.bind(s)(u.value,u.key,this):r(u.value,u.key,this),this._state!==o)throw new Error(\"LinkedMap got modified during iteration.\");u=u.next}}keys(){const r=this,s=this._state;let o=this._head;const u={[Symbol.iterator](){return u},next(){if(r._state!==s)throw new Error(\"LinkedMap got modified during iteration.\");if(o){const S={value:o.key,done:!1};return o=o.next,S}else return{value:void 0,done:!0}}};return u}values(){const r=this,s=this._state;let o=this._head;const u={[Symbol.iterator](){return u},next(){if(r._state!==s)throw new Error(\"LinkedMap got modified during iteration.\");if(o){const S={value:o.value,done:!1};return o=o.next,S}else return{value:void 0,done:!0}}};return u}entries(){const r=this,s=this._state;let o=this._head;const u={[Symbol.iterator](){return u},next(){if(r._state!==s)throw new Error(\"LinkedMap got modified during iteration.\");if(o){const S={value:[o.key,o.value],done:!1};return o=o.next,S}else return{value:void 0,done:!0}}};return u}[(x=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(r){if(r>=this.size)return;if(r===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>r;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}trimNew(r){if(r>=this.size)return;if(r===0){this.clear();return}let s=this._tail,o=this.size;for(;s&&o>r;)this._map.delete(s.key),s=s.previous,o--;this._tail=s,this._size=o,s&&(s.next=void 0),this._state++}addItemFirst(r){if(!this._head&&!this._tail)this._tail=r;else if(this._head)r.next=this._head,this._head.previous=r;else throw new Error(\"Invalid list\");this._head=r,this._state++}addItemLast(r){if(!this._head&&!this._tail)this._head=r;else if(this._tail)r.previous=this._tail,this._tail.next=r;else throw new Error(\"Invalid list\");this._tail=r,this._state++}removeItem(r){if(r===this._head&&r===this._tail)this._head=void 0,this._tail=void 0;else if(r===this._head){if(!r.next)throw new Error(\"Invalid list\");r.next.previous=void 0,this._head=r.next}else if(r===this._tail){if(!r.previous)throw new Error(\"Invalid list\");r.previous.next=void 0,this._tail=r.previous}else{const s=r.next,o=r.previous;if(!s||!o)throw new Error(\"Invalid list\");s.previous=o,o.next=s}r.next=void 0,r.previous=void 0,this._state++}touch(r,s){if(!this._head||!this._tail)throw new Error(\"Invalid list\");if(!(s!==1&&s!==2)){if(s===1){if(r===this._head)return;const o=r.next,u=r.previous;r===this._tail?(u.next=void 0,this._tail=u):(o.previous=u,u.next=o),r.previous=void 0,r.next=this._head,this._head.previous=r,this._head=r,this._state++}else if(s===2){if(r===this._tail)return;const o=r.next,u=r.previous;r===this._head?(o.previous=void 0,this._head=o):(o.previous=u,u.next=o),r.next=void 0,r.previous=this._tail,this._tail.next=r,this._tail=r,this._state++}}}toJSON(){const r=[];return this.forEach((s,o)=>{r.push([o,s])}),r}fromJSON(r){this.clear();for(const[s,o]of r)this.set(s,o)}}n.LinkedMap=p;class c extends p{constructor(r,s=1){super(),this._limit=r,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(r){this._limit=r,this.checkTrim()}get(r,s=2){return super.get(r,s)}peek(r){return super.get(r,0)}set(r,s){return super.set(r,s,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class a extends c{constructor(r,s=1){super(r,s)}trim(r){this.trimOld(r)}set(r,s){return super.set(r,s),this.checkTrim(),this}}n.LRUCache=a;class m{constructor(r){if(this._m1=new Map,this._m2=new Map,r)for(const[s,o]of r)this.set(s,o)}clear(){this._m1.clear(),this._m2.clear()}set(r,s){this._m1.set(r,s),this._m2.set(s,r)}get(r){return this._m1.get(r)}getKey(r){return this._m2.get(r)}delete(r){const s=this._m1.get(r);return s===void 0?!1:(this._m1.delete(r),this._m2.delete(s),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}n.BidirectionalMap=m;class e{constructor(){this.map=new Map}add(r,s){let o=this.map.get(r);o||(o=new Set,this.map.set(r,o)),o.add(s)}delete(r,s){const o=this.map.get(r);o&&(o.delete(s),o.size===0&&this.map.delete(r))}forEach(r,s){const o=this.map.get(r);o&&o.forEach(s)}get(r){const s=this.map.get(r);return s||new Set}}n.SetMap=e}),X(J[22],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.StopWatch=void 0;const i=globalThis.performance&&typeof globalThis.performance.now==\"function\";class x{static create(d){return new x(d)}constructor(d){this._now=i&&d===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}n.StopWatch=x}),X(J[9],Z([0,1,3,18,8,20,22]),function(W,n,i,x,A,d,f){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Relay=n.EventBufferer=n.EventMultiplexer=n.MicrotaskEmitter=n.DebounceEmitter=n.PauseableEmitter=n.createEventDeliveryQueue=n.Emitter=n.ListenerRefusalError=n.ListenerLeakError=n.EventProfiling=n.Event=void 0;const p=!1,c=!1,a=!1;var m;(function(C){C.None=()=>A.Disposable.None;function R(K){if(a){const{onDidAddListener:Q}=K,k=s.create();let I=0;K.onDidAddListener=()=>{++I===2&&(console.warn(\"snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here\"),k.print()),Q?.()}}}function D(K,Q){return ee(K,()=>{},0,void 0,!0,void 0,Q)}C.defer=D;function T(K){return(Q,k=null,I)=>{let V=!1,H;return H=K(Y=>{if(!V)return H?H.dispose():V=!0,Q.call(k,Y)},null,I),V&&H.dispose(),H}}C.once=T;function O(K,Q){return C.once(C.filter(K,Q))}C.onceIf=O;function z(K,Q,k){return $((I,V=null,H)=>K(Y=>I.call(V,Q(Y)),null,H),k)}C.map=z;function j(K,Q,k){return $((I,V=null,H)=>K(Y=>{Q(Y),I.call(V,Y)},null,H),k)}C.forEach=j;function F(K,Q,k){return $((I,V=null,H)=>K(Y=>Q(Y)&&I.call(V,Y),null,H),k)}C.filter=F;function q(K){return K}C.signal=q;function B(...K){return(Q,k=null,I)=>{const V=(0,A.combinedDisposable)(...K.map(H=>H(Y=>Q.call(k,Y))));return U(V,I)}}C.any=B;function G(K,Q,k,I){let V=k;return z(K,H=>(V=Q(V,H),V),I)}C.reduce=G;function $(K,Q){let k;const I={onWillAddFirstListener(){k=K(V.fire,V)},onDidRemoveLastListener(){k?.dispose()}};Q||R(I);const V=new E(I);return Q?.add(V),V.event}function U(K,Q){return Q instanceof Array?Q.push(K):Q&&Q.add(K),K}function ee(K,Q,k=100,I=!1,V=!1,H,Y){let te,ne,ae,le=0,oe;const se={leakWarningThreshold:H,onWillAddFirstListener(){te=K(he=>{le++,ne=Q(ne,he),I&&!ae&&(ce.fire(ne),ne=void 0),oe=()=>{const be=ne;ne=void 0,ae=void 0,(!I||le>1)&&ce.fire(be),le=0},typeof k==\"number\"?(clearTimeout(ae),ae=setTimeout(oe,k)):ae===void 0&&(ae=0,queueMicrotask(oe))})},onWillRemoveListener(){V&&le>0&&oe?.()},onDidRemoveLastListener(){oe=void 0,te.dispose()}};Y||R(se);const ce=new E(se);return Y?.add(ce),ce.event}C.debounce=ee;function re(K,Q=0,k){return C.debounce(K,(I,V)=>I?(I.push(V),I):[V],Q,void 0,!0,void 0,k)}C.accumulate=re;function ue(K,Q=(I,V)=>I===V,k){let I=!0,V;return F(K,H=>{const Y=I||!Q(H,V);return I=!1,V=H,Y},k)}C.latch=ue;function de(K,Q,k){return[C.filter(K,Q,k),C.filter(K,I=>!Q(I),k)]}C.split=de;function ge(K,Q=!1,k=[],I){let V=k.slice(),H=K(ne=>{V?V.push(ne):te.fire(ne)});I&&I.add(H);const Y=()=>{V?.forEach(ne=>te.fire(ne)),V=null},te=new E({onWillAddFirstListener(){H||(H=K(ne=>te.fire(ne)),I&&I.add(H))},onDidAddFirstListener(){V&&(Q?setTimeout(Y):Y())},onDidRemoveLastListener(){H&&H.dispose(),H=null}});return I&&I.add(te),te.event}C.buffer=ge;function t(K,Q){return(I,V,H)=>{const Y=Q(new pe);return K(function(te){const ne=Y.evaluate(te);ne!==me&&I.call(V,ne)},void 0,H)}}C.chain=t;const me=Symbol(\"HaltChainable\");class pe{constructor(){this.steps=[]}map(Q){return this.steps.push(Q),this}forEach(Q){return this.steps.push(k=>(Q(k),k)),this}filter(Q){return this.steps.push(k=>Q(k)?k:me),this}reduce(Q,k){let I=k;return this.steps.push(V=>(I=Q(I,V),I)),this}latch(Q=(k,I)=>k===I){let k=!0,I;return this.steps.push(V=>{const H=k||!Q(V,I);return k=!1,I=V,H?V:me}),this}evaluate(Q){for(const k of this.steps)if(Q=k(Q),Q===me)break;return Q}}function Le(K,Q,k=I=>I){const I=(...te)=>Y.fire(k(...te)),V=()=>K.on(Q,I),H=()=>K.removeListener(Q,I),Y=new E({onWillAddFirstListener:V,onDidRemoveLastListener:H});return Y.event}C.fromNodeEventEmitter=Le;function we(K,Q,k=I=>I){const I=(...te)=>Y.fire(k(...te)),V=()=>K.addEventListener(Q,I),H=()=>K.removeEventListener(Q,I),Y=new E({onWillAddFirstListener:V,onDidRemoveLastListener:H});return Y.event}C.fromDOMEventEmitter=we;function Ce(K){return new Promise(Q=>T(K)(Q))}C.toPromise=Ce;function ve(K){const Q=new E;return K.then(k=>{Q.fire(k)},()=>{Q.fire(void 0)}).finally(()=>{Q.dispose()}),Q.event}C.fromPromise=ve;function fe(K,Q){return K(k=>Q.fire(k))}C.forward=fe;function Se(K,Q,k){return Q(k),K(I=>Q(I))}C.runAndSubscribe=Se;class _e{constructor(Q,k){this._observable=Q,this._counter=0,this._hasChanged=!1;const I={onWillAddFirstListener:()=>{Q.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{Q.removeObserver(this)}};k||R(I),this.emitter=new E(I),k&&k.add(this.emitter)}beginUpdate(Q){this._counter++}handlePossibleChange(Q){}handleChange(Q,k){this._hasChanged=!0}endUpdate(Q){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function ye(K,Q){return new _e(K,Q).emitter.event}C.fromObservable=ye;function Ee(K){return(Q,k,I)=>{let V=0,H=!1;const Y={beginUpdate(){V++},endUpdate(){V--,V===0&&(K.reportChanges(),H&&(H=!1,Q.call(k)))},handlePossibleChange(){},handleChange(){H=!0}};K.addObserver(Y),K.reportChanges();const te={dispose(){K.removeObserver(Y)}};return I instanceof A.DisposableStore?I.add(te):Array.isArray(I)&&I.push(te),te}}C.fromObservableLight=Ee})(m||(n.Event=m={}));class e{static{this.all=new Set}static{this._idPool=0}constructor(R){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${R}_${e._idPool++}`,e.all.add(this)}start(R){this._stopWatch=new f.StopWatch,this.listenerCount=R}stop(){if(this._stopWatch){const R=this._stopWatch.elapsed();this.durations.push(R),this.elapsedOverall+=R,this.invocationCount+=1,this._stopWatch=void 0}}}n.EventProfiling=e;let h=-1;class r{static{this._idPool=1}constructor(R,D,T=(r._idPool++).toString(16).padStart(3,\"0\")){this._errorHandler=R,this.threshold=D,this.name=T,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(R,D){const T=this.threshold;if(T<=0||D<T)return;this._stacks||(this._stacks=new Map);const O=this._stacks.get(R.value)||0;if(this._stacks.set(R.value,O+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=T*.5;const[z,j]=this.getMostFrequentStack(),F=`[${this.name}] potential listener LEAK detected, having ${D} listeners already. MOST frequent listener (${j}):`;console.warn(F),console.warn(z);const q=new o(F,z);this._errorHandler(q)}return()=>{const z=this._stacks.get(R.value)||0;this._stacks.set(R.value,z-1)}}getMostFrequentStack(){if(!this._stacks)return;let R,D=0;for(const[T,O]of this._stacks)(!R||D<O)&&(R=[T,O],D=O);return R}}class s{static create(){const R=new Error;return new s(R.stack??\"\")}constructor(R){this.value=R}print(){console.warn(this.value.split(`\n`).slice(2).join(`\n`))}}class o extends Error{constructor(R,D){super(R),this.name=\"ListenerLeakError\",this.stack=D}}n.ListenerLeakError=o;class u extends Error{constructor(R,D){super(R),this.name=\"ListenerRefusalError\",this.stack=D}}n.ListenerRefusalError=u;class S{constructor(R){this.value=R}}const L=2,N=(C,R)=>{if(C instanceof S)R(C);else for(let D=0;D<C.length;D++){const T=C[D];T&&R(T)}};let P;if(p){const C=[];setInterval(()=>{C.length!==0&&(console.warn(\"[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:\"),console.warn(C.join(`\n`)),C.length=0)},3e3),P=new FinalizationRegistry(R=>{typeof R==\"string\"&&C.push(R)})}class E{constructor(R){this._size=0,this._options=R,this._leakageMon=h>0||this._options?.leakWarningThreshold?new r(R?.onListenerError??i.onUnexpectedError,this._options?.leakWarningThreshold??h):void 0,this._perfMon=this._options?._profName?new e(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(c){const R=this._listeners;queueMicrotask(()=>{N(R,D=>D.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(R,D,T)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const q=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(q);const B=this._leakageMon.getMostFrequentStack()??[\"UNKNOWN stack\",-1],G=new u(`${q}. HINT: Stack shows most frequent listener (${B[1]}-times)`,B[0]);return(this._options?.onListenerError||i.onUnexpectedError)(G),A.Disposable.None}if(this._disposed)return A.Disposable.None;D&&(R=R.bind(D));const O=new S(R);let z,j;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(O.stack=s.create(),z=this._leakageMon.check(O.stack,this._size+1)),c&&(O.stack=j??s.create()),this._listeners?this._listeners instanceof S?(this._deliveryQueue??=new l,this._listeners=[this._listeners,O]):this._listeners.push(O):(this._options?.onWillAddFirstListener?.(this),this._listeners=O,this._options?.onDidAddFirstListener?.(this)),this._size++;const F=(0,A.toDisposable)(()=>{P?.unregister(F),z?.(),this._removeListener(O)});if(T instanceof A.DisposableStore?T.add(F):Array.isArray(T)&&T.push(F),P){const q=new Error().stack.split(`\n`).slice(2,3).join(`\n`).trim(),B=/(file:|vscode-file:\\/\\/vscode-app)?(\\/[^:]*:\\d+:\\d+)/.exec(q);P.register(F,B?.[2]??q,F)}return F},this._event}_removeListener(R){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const D=this._listeners,T=D.indexOf(R);if(T===-1)throw console.log(\"disposed?\",this._disposed),console.log(\"size?\",this._size),console.log(\"arr?\",JSON.stringify(this._listeners)),new Error(\"Attempted to dispose unknown listener\");this._size--,D[T]=void 0;const O=this._deliveryQueue.current===this;if(this._size*L<=D.length){let z=0;for(let j=0;j<D.length;j++)D[j]?D[z++]=D[j]:O&&(this._deliveryQueue.end--,z<this._deliveryQueue.i&&this._deliveryQueue.i--);D.length=z}}_deliver(R,D){if(!R)return;const T=this._options?.onListenerError||i.onUnexpectedError;if(!T){R.value(D);return}try{R.value(D)}catch(O){T(O)}}_deliverQueue(R){const D=R.current._listeners;for(;R.i<R.end;)this._deliver(D[R.i++],R.value);R.reset()}fire(R){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof S)this._deliver(this._listeners,R);else{const D=this._deliveryQueue;D.enqueue(this,R,this._listeners.length),this._deliverQueue(D)}this._perfMon?.stop()}hasListeners(){return this._size>0}}n.Emitter=E;const v=()=>new l;n.createEventDeliveryQueue=v;class l{constructor(){this.i=-1,this.end=0}enqueue(R,D,T){this.i=0,this.end=T,this.current=R,this.value=D}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class b extends E{constructor(R){super(R),this._isPaused=0,this._eventQueue=new d.LinkedList,this._mergeFn=R?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const R=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(R))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(R){this._size&&(this._isPaused!==0?this._eventQueue.push(R):super.fire(R))}}n.PauseableEmitter=b;class g extends b{constructor(R){super(R),this._delay=R.delay??100}fire(R){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(R)}}n.DebounceEmitter=g;class w extends E{constructor(R){super(R),this._queuedEvents=[],this._mergeFn=R?.merge}fire(R){this.hasListeners()&&(this._queuedEvents.push(R),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(D=>super.fire(D)),this._queuedEvents=[]}))}}n.MicrotaskEmitter=w;class M{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new E({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(R){const D={event:R,listener:null};this.events.push(D),this.hasListeners&&this.hook(D);const T=()=>{this.hasListeners&&this.unhook(D);const O=this.events.indexOf(D);this.events.splice(O,1)};return(0,A.toDisposable)((0,x.createSingleCallFunction)(T))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(R=>this.hook(R))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(R=>this.unhook(R))}hook(R){R.listener=R.event(D=>this.emitter.fire(D))}unhook(R){R.listener?.dispose(),R.listener=null}dispose(){this.emitter.dispose();for(const R of this.events)R.listener?.dispose();this.events=[]}}n.EventMultiplexer=M;class y{constructor(){this.data=[]}wrapEvent(R,D,T){return(O,z,j)=>R(F=>{const q=this.data[this.data.length-1];if(!D){q?q.buffers.push(()=>O.call(z,F)):O.call(z,F);return}const B=q;if(!B){O.call(z,D(T,F));return}B.items??=[],B.items.push(F),B.buffers.length===0&&q.buffers.push(()=>{B.reducedResult??=T?B.items.reduce(D,T):B.items.reduce(D),O.call(z,B.reducedResult)})},void 0,j)}bufferEvents(R){const D={buffers:new Array};this.data.push(D);const T=R();return this.data.pop(),D.buffers.forEach(O=>O()),T}}n.EventBufferer=y;class _{constructor(){this.listening=!1,this.inputEvent=m.None,this.inputEventListener=A.Disposable.None,this.emitter=new E({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(R){this.inputEvent=R,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=R(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}n.Relay=_}),X(J[23],Z([0,1,9]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.CancellationTokenSource=n.CancellationToken=void 0,n.cancelOnDispose=p;const x=Object.freeze(function(c,a){const m=setTimeout(c.bind(a),0);return{dispose(){clearTimeout(m)}}});var A;(function(c){function a(m){return m===c.None||m===c.Cancelled||m instanceof d?!0:!m||typeof m!=\"object\"?!1:typeof m.isCancellationRequested==\"boolean\"&&typeof m.onCancellationRequested==\"function\"}c.isCancellationToken=a,c.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),c.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:x})})(A||(n.CancellationToken=A={}));class d{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?x:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class f{constructor(a){this._token=void 0,this._parentListener=void 0,this._parentListener=a&&a.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new d),this._token}cancel(){this._token?this._token instanceof d&&this._token.cancel():this._token=A.Cancelled}dispose(a=!1){a&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof d&&this._token.dispose():this._token=A.None}}n.CancellationTokenSource=f;function p(c){const a=new f;return c.add({dispose(){a.cancel()}}),a.token}}),X(J[6],Z([0,1,39,43]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.InvisibleCharacters=n.AmbiguousCharacters=n.noBreakWhitespace=n.UTF8_BOM_CHARACTER=n.UNUSUAL_LINE_TERMINATORS=n.GraphemeIterator=n.CodePointIterator=void 0,n.isFalsyOrWhitespace=A,n.format=f,n.htmlAttributeEncodeValue=p,n.escape=c,n.escapeRegExpCharacters=a,n.trim=m,n.ltrim=e,n.rtrim=h,n.convertSimple2RegExpPattern=r,n.stripWildcards=s,n.createRegExp=o,n.regExpLeadsToEndlessLoop=u,n.splitLines=S,n.splitLinesIncludeSeparators=L,n.firstNonWhitespaceIndex=N,n.getLeadingWhitespace=P,n.lastNonWhitespaceIndex=E,n.compare=v,n.compareSubstring=l,n.compareIgnoreCase=b,n.compareSubstringIgnoreCase=g,n.isAsciiDigit=w,n.isLowerAsciiLetter=M,n.isUpperAsciiLetter=y,n.equalsIgnoreCase=_,n.startsWithIgnoreCase=C,n.commonPrefixLength=R,n.commonSuffixLength=D,n.isHighSurrogate=T,n.isLowSurrogate=O,n.computeCodePoint=z,n.getNextCodePoint=j,n.nextCharLength=G,n.prevCharLength=$,n.getCharContainingOffset=U,n.containsRTL=ue,n.isBasicASCII=ge,n.containsUnusualLineTerminators=t,n.isFullWidthCharacter=me,n.isEmojiImprecise=pe,n.startsWithUTF8BOM=Le,n.containsUppercaseCharacter=we,n.singleLetterHash=Ce,n.getLeftDeleteOffset=_e;function A(k){return!k||typeof k!=\"string\"?!0:k.trim().length===0}const d=/{(\\d+)}/g;function f(k,...I){return I.length===0?k:k.replace(d,function(V,H){const Y=parseInt(H,10);return isNaN(Y)||Y<0||Y>=I.length?V:I[Y]})}function p(k){return k.replace(/[<>\"'&]/g,I=>{switch(I){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";case\"'\":return\"&apos;\";case\"&\":return\"&amp;\"}return I})}function c(k){return k.replace(/[<>&]/g,function(I){switch(I){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case\"&\":return\"&amp;\";default:return I}})}function a(k){return k.replace(/[\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)]/g,\"\\\\$&\")}function m(k,I=\" \"){const V=e(k,I);return h(V,I)}function e(k,I){if(!k||!I)return k;const V=I.length;if(V===0||k.length===0)return k;let H=0;for(;k.indexOf(I,H)===H;)H=H+V;return k.substring(H)}function h(k,I){if(!k||!I)return k;const V=I.length,H=k.length;if(V===0||H===0)return k;let Y=H,te=-1;for(;te=k.lastIndexOf(I,Y-1),!(te===-1||te+V!==Y);){if(te===0)return\"\";Y=te}return k.substring(0,Y)}function r(k){return k.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g,\"\\\\$&\").replace(/[\\*]/g,\".*\")}function s(k){return k.replace(/\\*/g,\"\")}function o(k,I,V={}){if(!k)throw new Error(\"Cannot create regex from empty string\");I||(k=a(k)),V.wholeWord&&(/\\B/.test(k.charAt(0))||(k=\"\\\\b\"+k),/\\B/.test(k.charAt(k.length-1))||(k=k+\"\\\\b\"));let H=\"\";return V.global&&(H+=\"g\"),V.matchCase||(H+=\"i\"),V.multiline&&(H+=\"m\"),V.unicode&&(H+=\"u\"),new RegExp(k,H)}function u(k){return k.source===\"^\"||k.source===\"^$\"||k.source===\"$\"||k.source===\"^\\\\s*$\"?!1:!!(k.exec(\"\")&&k.lastIndex===0)}function S(k){return k.split(/\\r\\n|\\r|\\n/)}function L(k){const I=[],V=k.split(/(\\r\\n|\\r|\\n)/);for(let H=0;H<Math.ceil(V.length/2);H++)I.push(V[2*H]+(V[2*H+1]??\"\"));return I}function N(k){for(let I=0,V=k.length;I<V;I++){const H=k.charCodeAt(I);if(H!==32&&H!==9)return I}return-1}function P(k,I=0,V=k.length){for(let H=I;H<V;H++){const Y=k.charCodeAt(H);if(Y!==32&&Y!==9)return k.substring(I,H)}return k.substring(I,V)}function E(k,I=k.length-1){for(let V=I;V>=0;V--){const H=k.charCodeAt(V);if(H!==32&&H!==9)return V}return-1}function v(k,I){return k<I?-1:k>I?1:0}function l(k,I,V=0,H=k.length,Y=0,te=I.length){for(;V<H&&Y<te;V++,Y++){const le=k.charCodeAt(V),oe=I.charCodeAt(Y);if(le<oe)return-1;if(le>oe)return 1}const ne=H-V,ae=te-Y;return ne<ae?-1:ne>ae?1:0}function b(k,I){return g(k,I,0,k.length,0,I.length)}function g(k,I,V=0,H=k.length,Y=0,te=I.length){for(;V<H&&Y<te;V++,Y++){let le=k.charCodeAt(V),oe=I.charCodeAt(Y);if(le===oe)continue;if(le>=128||oe>=128)return l(k.toLowerCase(),I.toLowerCase(),V,H,Y,te);M(le)&&(le-=32),M(oe)&&(oe-=32);const se=le-oe;if(se!==0)return se}const ne=H-V,ae=te-Y;return ne<ae?-1:ne>ae?1:0}function w(k){return k>=48&&k<=57}function M(k){return k>=97&&k<=122}function y(k){return k>=65&&k<=90}function _(k,I){return k.length===I.length&&g(k,I)===0}function C(k,I){const V=I.length;return I.length>k.length?!1:g(k,I,0,V)===0}function R(k,I){const V=Math.min(k.length,I.length);let H;for(H=0;H<V;H++)if(k.charCodeAt(H)!==I.charCodeAt(H))return H;return V}function D(k,I){const V=Math.min(k.length,I.length);let H;const Y=k.length-1,te=I.length-1;for(H=0;H<V;H++)if(k.charCodeAt(Y-H)!==I.charCodeAt(te-H))return H;return V}function T(k){return 55296<=k&&k<=56319}function O(k){return 56320<=k&&k<=57343}function z(k,I){return(k-55296<<10)+(I-56320)+65536}function j(k,I,V){const H=k.charCodeAt(V);if(T(H)&&V+1<I){const Y=k.charCodeAt(V+1);if(O(Y))return z(H,Y)}return H}function F(k,I){const V=k.charCodeAt(I-1);if(O(V)&&I>1){const H=k.charCodeAt(I-2);if(T(H))return z(H,V)}return V}class q{get offset(){return this._offset}constructor(I,V=0){this._str=I,this._len=I.length,this._offset=V}setOffset(I){this._offset=I}prevCodePoint(){const I=F(this._str,this._offset);return this._offset-=I>=65536?2:1,I}nextCodePoint(){const I=j(this._str,this._len,this._offset);return this._offset+=I>=65536?2:1,I}eol(){return this._offset>=this._len}}n.CodePointIterator=q;class B{get offset(){return this._iterator.offset}constructor(I,V=0){this._iterator=new q(I,V)}nextGraphemeLength(){const I=fe.getInstance(),V=this._iterator,H=V.offset;let Y=I.getGraphemeBreakType(V.nextCodePoint());for(;!V.eol();){const te=V.offset,ne=I.getGraphemeBreakType(V.nextCodePoint());if(ve(Y,ne)){V.setOffset(te);break}Y=ne}return V.offset-H}prevGraphemeLength(){const I=fe.getInstance(),V=this._iterator,H=V.offset;let Y=I.getGraphemeBreakType(V.prevCodePoint());for(;V.offset>0;){const te=V.offset,ne=I.getGraphemeBreakType(V.prevCodePoint());if(ve(ne,Y)){V.setOffset(te);break}Y=ne}return H-V.offset}eol(){return this._iterator.eol()}}n.GraphemeIterator=B;function G(k,I){return new B(k,I).nextGraphemeLength()}function $(k,I){return new B(k,I).prevGraphemeLength()}function U(k,I){I>0&&O(k.charCodeAt(I))&&I--;const V=I+G(k,I);return[V-$(k,V),V]}let ee;function re(){return/(?:[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E-\\u088E\\u08A0-\\u08C9\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFD3D\\uFD50-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFEFC]|\\uD802[\\uDC00-\\uDD1B\\uDD20-\\uDE00\\uDE10-\\uDE35\\uDE40-\\uDEE4\\uDEEB-\\uDF35\\uDF40-\\uDFFF]|\\uD803[\\uDC00-\\uDD23\\uDE80-\\uDEA9\\uDEAD-\\uDF45\\uDF51-\\uDF81\\uDF86-\\uDFF6]|\\uD83A[\\uDC00-\\uDCCF\\uDD00-\\uDD43\\uDD4B-\\uDFFF]|\\uD83B[\\uDC00-\\uDEBB])/}function ue(k){return ee||(ee=re()),ee.test(k)}const de=/^[\\t\\n\\r\\x20-\\x7E]*$/;function ge(k){return de.test(k)}n.UNUSUAL_LINE_TERMINATORS=/[\\u2028\\u2029]/;function t(k){return n.UNUSUAL_LINE_TERMINATORS.test(k)}function me(k){return k>=11904&&k<=55215||k>=63744&&k<=64255||k>=65281&&k<=65374}function pe(k){return k>=127462&&k<=127487||k===8986||k===8987||k===9200||k===9203||k>=9728&&k<=10175||k===11088||k===11093||k>=127744&&k<=128591||k>=128640&&k<=128764||k>=128992&&k<=129008||k>=129280&&k<=129535||k>=129648&&k<=129782}n.UTF8_BOM_CHARACTER=\"\\uFEFF\";function Le(k){return!!(k&&k.length>0&&k.charCodeAt(0)===65279)}function we(k,I=!1){return k?(I&&(k=k.replace(/\\\\./g,\"\")),k.toLowerCase()!==k):!1}function Ce(k){return k=k%(2*26),k<26?String.fromCharCode(97+k):String.fromCharCode(65+k-26)}function ve(k,I){return k===0?I!==5&&I!==7:k===2&&I===3?!1:k===4||k===2||k===3||I===4||I===2||I===3?!0:!(k===8&&(I===8||I===9||I===11||I===12)||(k===11||k===9)&&(I===9||I===10)||(k===12||k===10)&&I===10||I===5||I===13||I===7||k===1||k===13&&I===14||k===6&&I===6)}class fe{static{this._INSTANCE=null}static getInstance(){return fe._INSTANCE||(fe._INSTANCE=new fe),fe._INSTANCE}constructor(){this._data=Se()}getGraphemeBreakType(I){if(I<32)return I===10?3:I===13?2:4;if(I<127)return 0;const V=this._data,H=V.length/3;let Y=1;for(;Y<=H;)if(I<V[3*Y])Y=2*Y;else if(I>V[3*Y+1])Y=2*Y+1;else return V[3*Y+2];return 0}}function Se(){return JSON.parse(\"[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]\")}function _e(k,I){if(k===0)return 0;const V=ye(k,I);if(V!==void 0)return V;const H=new q(I,k);return H.prevCodePoint(),H.offset}function ye(k,I){const V=new q(I,k);let H=V.prevCodePoint();for(;Ee(H)||H===65039||H===8419;){if(V.offset===0)return;H=V.prevCodePoint()}if(!pe(H))return;let Y=V.offset;return Y>0&&V.prevCodePoint()===8205&&(Y=V.offset),Y}function Ee(k){return 127995<=k&&k<=127999}n.noBreakWhitespace=\"\\xA0\";class K{static{this.ambiguousCharacterData=new x.Lazy(()=>JSON.parse('{\"_common\":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],\"_default\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"cs\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"de\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"es\":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"fr\":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"it\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"ja\":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],\"ko\":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"pl\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"pt-BR\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"qps-ploc\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"ru\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"tr\":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"zh-hans\":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],\"zh-hant\":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))}static{this.cache=new i.LRUCachedFunction({getCacheKey:JSON.stringify},I=>{function V(se){const ce=new Map;for(let he=0;he<se.length;he+=2)ce.set(se[he],se[he+1]);return ce}function H(se,ce){const he=new Map(se);for(const[be,Ne]of ce)he.set(be,Ne);return he}function Y(se,ce){if(!se)return ce;const he=new Map;for(const[be,Ne]of se)ce.has(be)&&he.set(be,Ne);return he}const te=this.ambiguousCharacterData.value;let ne=I.filter(se=>!se.startsWith(\"_\")&&se in te);ne.length===0&&(ne=[\"_default\"]);let ae;for(const se of ne){const ce=V(te[se]);ae=Y(ae,ce)}const le=V(te._common),oe=H(le,ae);return new K(oe)})}static getInstance(I){return K.cache.get(Array.from(I))}static{this._locales=new x.Lazy(()=>Object.keys(K.ambiguousCharacterData.value).filter(I=>!I.startsWith(\"_\")))}static getLocales(){return K._locales.value}constructor(I){this.confusableDictionary=I}isAmbiguous(I){return this.confusableDictionary.has(I)}getPrimaryConfusable(I){return this.confusableDictionary.get(I)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}n.AmbiguousCharacters=K;class Q{static getRawData(){return JSON.parse(\"[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]\")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(Q.getRawData())),this._data}static isInvisibleCharacter(I){return Q.getData().has(I)}static get codePoints(){return Q.getData()}}n.InvisibleCharacters=Q}),X(J[44],Z([0,1,6]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.StringSHA1=void 0,n.hash=x,n.doHash=A,n.numberHash=d,n.stringHash=p,n.toHexString=r;function x(o){return A(o,0)}function A(o,u){switch(typeof o){case\"object\":return o===null?d(349,u):Array.isArray(o)?c(o,u):a(o,u);case\"string\":return p(o,u);case\"boolean\":return f(o,u);case\"number\":return d(o,u);case\"undefined\":return d(937,u);default:return d(617,u)}}function d(o,u){return(u<<5)-u+o|0}function f(o,u){return d(o?433:863,u)}function p(o,u){u=d(149417,u);for(let S=0,L=o.length;S<L;S++)u=d(o.charCodeAt(S),u);return u}function c(o,u){return u=d(104579,u),o.reduce((S,L)=>A(L,S),u)}function a(o,u){return u=d(181387,u),Object.keys(o).sort().reduce((S,L)=>(S=p(L,S),A(o[L],S)),u)}function m(o,u,S=32){const L=S-u,N=~((1<<L)-1);return(o<<u|(N&o)>>>L)>>>0}function e(o,u=0,S=o.byteLength,L=0){for(let N=0;N<S;N++)o[u+N]=L}function h(o,u,S=\"0\"){for(;o.length<u;)o=S+o;return o}function r(o,u=32){return o instanceof ArrayBuffer?Array.from(new Uint8Array(o)).map(S=>S.toString(16).padStart(2,\"0\")).join(\"\"):h((o>>>0).toString(16),u/4)}class s{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(u){const S=u.length;if(S===0)return;const L=this._buff;let N=this._buffLen,P=this._leftoverHighSurrogate,E,v;for(P!==0?(E=P,v=-1,P=0):(E=u.charCodeAt(0),v=0);;){let l=E;if(i.isHighSurrogate(E))if(v+1<S){const b=u.charCodeAt(v+1);i.isLowSurrogate(b)?(v++,l=i.computeCodePoint(E,b)):l=65533}else{P=E;break}else i.isLowSurrogate(E)&&(l=65533);if(N=this._push(L,N,l),v++,v<S)E=u.charCodeAt(v);else break}this._buffLen=N,this._leftoverHighSurrogate=P}_push(u,S,L){return L<128?u[S++]=L:L<2048?(u[S++]=192|(L&1984)>>>6,u[S++]=128|(L&63)>>>0):L<65536?(u[S++]=224|(L&61440)>>>12,u[S++]=128|(L&4032)>>>6,u[S++]=128|(L&63)>>>0):(u[S++]=240|(L&1835008)>>>18,u[S++]=128|(L&258048)>>>12,u[S++]=128|(L&4032)>>>6,u[S++]=128|(L&63)>>>0),S>=64&&(this._step(),S-=64,this._totalLen+=64,u[0]=u[64],u[1]=u[65],u[2]=u[66]),S}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),r(this._h0)+r(this._h1)+r(this._h2)+r(this._h3)+r(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,e(this._buff,this._buffLen),this._buffLen>56&&(this._step(),e(this._buff));const u=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(u/4294967296),!1),this._buffDV.setUint32(60,u%4294967296,!1),this._step()}_step(){const u=s._bigBlock32,S=this._buffDV;for(let w=0;w<64;w+=4)u.setUint32(w,S.getUint32(w,!1),!1);for(let w=64;w<320;w+=4)u.setUint32(w,m(u.getUint32(w-12,!1)^u.getUint32(w-32,!1)^u.getUint32(w-56,!1)^u.getUint32(w-64,!1),1),!1);let L=this._h0,N=this._h1,P=this._h2,E=this._h3,v=this._h4,l,b,g;for(let w=0;w<80;w++)w<20?(l=N&P|~N&E,b=1518500249):w<40?(l=N^P^E,b=1859775393):w<60?(l=N&P|N&E|P&E,b=2400959708):(l=N^P^E,b=3395469782),g=m(L,5)+l+v+b+u.getUint32(w*4,!1)&4294967295,v=E,E=P,P=m(N,30),N=L,L=g;this._h0=this._h0+L&4294967295,this._h1=this._h1+N&4294967295,this._h2=this._h2+P&4294967295,this._h3=this._h3+E&4294967295,this._h4=this._h4+v&4294967295}}n.StringSHA1=s}),X(J[24],Z([0,1,41,44]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.LcsDiff=n.StringDiffSequence=void 0,n.stringDiff=d;class A{constructor(e){this.source=e}getElements(){const e=this.source,h=new Int32Array(e.length);for(let r=0,s=e.length;r<s;r++)h[r]=e.charCodeAt(r);return h}}n.StringDiffSequence=A;function d(m,e,h){return new a(new A(m),new A(e)).ComputeDiff(h).changes}class f{static Assert(e,h){if(!e)throw new Error(h)}}class p{static Copy(e,h,r,s,o){for(let u=0;u<o;u++)r[s+u]=e[h+u]}static Copy2(e,h,r,s,o){for(let u=0;u<o;u++)r[s+u]=e[h+u]}}class c{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new i.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,h){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,h),this.m_originalCount++}AddModifiedElement(e,h){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,h),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class a{constructor(e,h,r=null){this.ContinueProcessingPredicate=r,this._originalSequence=e,this._modifiedSequence=h;const[s,o,u]=a._getElements(e),[S,L,N]=a._getElements(h);this._hasStrings=u&&N,this._originalStringElements=s,this._originalElementsOrHash=o,this._modifiedStringElements=S,this._modifiedElementsOrHash=L,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]==\"string\"}static _getElements(e){const h=e.getElements();if(a._isStringArray(h)){const r=new Int32Array(h.length);for(let s=0,o=h.length;s<o;s++)r[s]=(0,x.stringHash)(h[s],0);return[h,r,!0]}return h instanceof Int32Array?[[],h,!1]:[[],new Int32Array(h),!1]}ElementsAreEqual(e,h){return this._originalElementsOrHash[e]!==this._modifiedElementsOrHash[h]?!1:this._hasStrings?this._originalStringElements[e]===this._modifiedStringElements[h]:!0}ElementsAreStrictEqual(e,h){if(!this.ElementsAreEqual(e,h))return!1;const r=a._getStrictElement(this._originalSequence,e),s=a._getStrictElement(this._modifiedSequence,h);return r===s}static _getStrictElement(e,h){return typeof e.getStrictElement==\"function\"?e.getStrictElement(h):null}OriginalElementsAreEqual(e,h){return this._originalElementsOrHash[e]!==this._originalElementsOrHash[h]?!1:this._hasStrings?this._originalStringElements[e]===this._originalStringElements[h]:!0}ModifiedElementsAreEqual(e,h){return this._modifiedElementsOrHash[e]!==this._modifiedElementsOrHash[h]?!1:this._hasStrings?this._modifiedStringElements[e]===this._modifiedStringElements[h]:!0}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,h,r,s,o){const u=[!1];let S=this.ComputeDiffRecursive(e,h,r,s,u);return o&&(S=this.PrettifyChanges(S)),{quitEarly:u[0],changes:S}}ComputeDiffRecursive(e,h,r,s,o){for(o[0]=!1;e<=h&&r<=s&&this.ElementsAreEqual(e,r);)e++,r++;for(;h>=e&&s>=r&&this.ElementsAreEqual(h,s);)h--,s--;if(e>h||r>s){let E;return r<=s?(f.Assert(e===h+1,\"originalStart should only be one more than originalEnd\"),E=[new i.DiffChange(e,0,r,s-r+1)]):e<=h?(f.Assert(r===s+1,\"modifiedStart should only be one more than modifiedEnd\"),E=[new i.DiffChange(e,h-e+1,r,0)]):(f.Assert(e===h+1,\"originalStart should only be one more than originalEnd\"),f.Assert(r===s+1,\"modifiedStart should only be one more than modifiedEnd\"),E=[]),E}const u=[0],S=[0],L=this.ComputeRecursionPoint(e,h,r,s,u,S,o),N=u[0],P=S[0];if(L!==null)return L;if(!o[0]){const E=this.ComputeDiffRecursive(e,N,r,P,o);let v=[];return o[0]?v=[new i.DiffChange(N+1,h-(N+1)+1,P+1,s-(P+1)+1)]:v=this.ComputeDiffRecursive(N+1,h,P+1,s,o),this.ConcatenateChanges(E,v)}return[new i.DiffChange(e,h-e+1,r,s-r+1)]}WALKTRACE(e,h,r,s,o,u,S,L,N,P,E,v,l,b,g,w,M,y){let _=null,C=null,R=new c,D=h,T=r,O=l[0]-w[0]-s,z=-1073741824,j=this.m_forwardHistory.length-1;do{const F=O+e;F===D||F<T&&N[F-1]<N[F+1]?(E=N[F+1],b=E-O-s,E<z&&R.MarkNextChange(),z=E,R.AddModifiedElement(E+1,b),O=F+1-e):(E=N[F-1]+1,b=E-O-s,E<z&&R.MarkNextChange(),z=E-1,R.AddOriginalElement(E,b+1),O=F-1-e),j>=0&&(N=this.m_forwardHistory[j],e=N[0],D=1,T=N.length-1)}while(--j>=-1);if(_=R.getReverseChanges(),y[0]){let F=l[0]+1,q=w[0]+1;if(_!==null&&_.length>0){const B=_[_.length-1];F=Math.max(F,B.getOriginalEnd()),q=Math.max(q,B.getModifiedEnd())}C=[new i.DiffChange(F,v-F+1,q,g-q+1)]}else{R=new c,D=u,T=S,O=l[0]-w[0]-L,z=1073741824,j=M?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const F=O+o;F===D||F<T&&P[F-1]>=P[F+1]?(E=P[F+1]-1,b=E-O-L,E>z&&R.MarkNextChange(),z=E+1,R.AddOriginalElement(E+1,b+1),O=F+1-o):(E=P[F-1],b=E-O-L,E>z&&R.MarkNextChange(),z=E,R.AddModifiedElement(E+1,b+1),O=F-1-o),j>=0&&(P=this.m_reverseHistory[j],o=P[0],D=1,T=P.length-1)}while(--j>=-1);C=R.getChanges()}return this.ConcatenateChanges(_,C)}ComputeRecursionPoint(e,h,r,s,o,u,S){let L=0,N=0,P=0,E=0,v=0,l=0;e--,r--,o[0]=0,u[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const b=h-e+(s-r),g=b+1,w=new Int32Array(g),M=new Int32Array(g),y=s-r,_=h-e,C=e-r,R=h-s,T=(_-y)%2===0;w[y]=e,M[_]=h,S[0]=!1;for(let O=1;O<=b/2+1;O++){let z=0,j=0;P=this.ClipDiagonalBound(y-O,O,y,g),E=this.ClipDiagonalBound(y+O,O,y,g);for(let q=P;q<=E;q+=2){q===P||q<E&&w[q-1]<w[q+1]?L=w[q+1]:L=w[q-1]+1,N=L-(q-y)-C;const B=L;for(;L<h&&N<s&&this.ElementsAreEqual(L+1,N+1);)L++,N++;if(w[q]=L,L+N>z+j&&(z=L,j=N),!T&&Math.abs(q-_)<=O-1&&L>=M[q])return o[0]=L,u[0]=N,B<=M[q]&&O<=1448?this.WALKTRACE(y,P,E,C,_,v,l,R,w,M,L,h,o,N,s,u,T,S):null}const F=(z-e+(j-r)-O)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(z,F))return S[0]=!0,o[0]=z,u[0]=j,F>0&&O<=1448?this.WALKTRACE(y,P,E,C,_,v,l,R,w,M,L,h,o,N,s,u,T,S):(e++,r++,[new i.DiffChange(e,h-e+1,r,s-r+1)]);v=this.ClipDiagonalBound(_-O,O,_,g),l=this.ClipDiagonalBound(_+O,O,_,g);for(let q=v;q<=l;q+=2){q===v||q<l&&M[q-1]>=M[q+1]?L=M[q+1]-1:L=M[q-1],N=L-(q-_)-R;const B=L;for(;L>e&&N>r&&this.ElementsAreEqual(L,N);)L--,N--;if(M[q]=L,T&&Math.abs(q-y)<=O&&L<=w[q])return o[0]=L,u[0]=N,B>=w[q]&&O<=1448?this.WALKTRACE(y,P,E,C,_,v,l,R,w,M,L,h,o,N,s,u,T,S):null}if(O<=1447){let q=new Int32Array(E-P+2);q[0]=y-P+1,p.Copy2(w,P,q,1,E-P+1),this.m_forwardHistory.push(q),q=new Int32Array(l-v+2),q[0]=_-v+1,p.Copy2(M,v,q,1,l-v+1),this.m_reverseHistory.push(q)}}return this.WALKTRACE(y,P,E,C,_,v,l,R,w,M,L,h,o,N,s,u,T,S)}PrettifyChanges(e){for(let h=0;h<e.length;h++){const r=e[h],s=h<e.length-1?e[h+1].originalStart:this._originalElementsOrHash.length,o=h<e.length-1?e[h+1].modifiedStart:this._modifiedElementsOrHash.length,u=r.originalLength>0,S=r.modifiedLength>0;for(;r.originalStart+r.originalLength<s&&r.modifiedStart+r.modifiedLength<o&&(!u||this.OriginalElementsAreEqual(r.originalStart,r.originalStart+r.originalLength))&&(!S||this.ModifiedElementsAreEqual(r.modifiedStart,r.modifiedStart+r.modifiedLength));){const N=this.ElementsAreStrictEqual(r.originalStart,r.modifiedStart);if(this.ElementsAreStrictEqual(r.originalStart+r.originalLength,r.modifiedStart+r.modifiedLength)&&!N)break;r.originalStart++,r.modifiedStart++}const L=[null];if(h<e.length-1&&this.ChangesOverlap(e[h],e[h+1],L)){e[h]=L[0],e.splice(h+1,1),h--;continue}}for(let h=e.length-1;h>=0;h--){const r=e[h];let s=0,o=0;if(h>0){const E=e[h-1];s=E.originalStart+E.originalLength,o=E.modifiedStart+E.modifiedLength}const u=r.originalLength>0,S=r.modifiedLength>0;let L=0,N=this._boundaryScore(r.originalStart,r.originalLength,r.modifiedStart,r.modifiedLength);for(let E=1;;E++){const v=r.originalStart-E,l=r.modifiedStart-E;if(v<s||l<o||u&&!this.OriginalElementsAreEqual(v,v+r.originalLength)||S&&!this.ModifiedElementsAreEqual(l,l+r.modifiedLength))break;const g=(v===s&&l===o?5:0)+this._boundaryScore(v,r.originalLength,l,r.modifiedLength);g>N&&(N=g,L=E)}r.originalStart-=L,r.modifiedStart-=L;const P=[null];if(h>0&&this.ChangesOverlap(e[h-1],e[h],P)){e[h-1]=P[0],e.splice(h,1),h++;continue}}if(this._hasStrings)for(let h=1,r=e.length;h<r;h++){const s=e[h-1],o=e[h],u=o.originalStart-s.originalStart-s.originalLength,S=s.originalStart,L=o.originalStart+o.originalLength,N=L-S,P=s.modifiedStart,E=o.modifiedStart+o.modifiedLength,v=E-P;if(u<5&&N<20&&v<20){const l=this._findBetterContiguousSequence(S,N,P,v,u);if(l){const[b,g]=l;(b!==s.originalStart+s.originalLength||g!==s.modifiedStart+s.modifiedLength)&&(s.originalLength=b-s.originalStart,s.modifiedLength=g-s.modifiedStart,o.originalStart=b+u,o.modifiedStart=g+u,o.originalLength=L-o.originalStart,o.modifiedLength=E-o.modifiedStart)}}}return e}_findBetterContiguousSequence(e,h,r,s,o){if(h<o||s<o)return null;const u=e+h-o+1,S=r+s-o+1;let L=0,N=0,P=0;for(let E=e;E<u;E++)for(let v=r;v<S;v++){const l=this._contiguousSequenceScore(E,v,o);l>0&&l>L&&(L=l,N=E,P=v)}return L>0?[N,P]:null}_contiguousSequenceScore(e,h,r){let s=0;for(let o=0;o<r;o++){if(!this.ElementsAreEqual(e+o,h+o))return 0;s+=this._originalStringElements[e+o].length}return s}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,h){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(h>0){const r=e+h;if(this._OriginalIsBoundary(r-1)||this._OriginalIsBoundary(r))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,h){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(h>0){const r=e+h;if(this._ModifiedIsBoundary(r-1)||this._ModifiedIsBoundary(r))return!0}return!1}_boundaryScore(e,h,r,s){const o=this._OriginalRegionIsBoundary(e,h)?1:0,u=this._ModifiedRegionIsBoundary(r,s)?1:0;return o+u}ConcatenateChanges(e,h){const r=[];if(e.length===0||h.length===0)return h.length>0?h:e;if(this.ChangesOverlap(e[e.length-1],h[0],r)){const s=new Array(e.length+h.length-1);return p.Copy(e,0,s,0,e.length-1),s[e.length-1]=r[0],p.Copy(h,1,s,e.length,h.length-1),s}else{const s=new Array(e.length+h.length);return p.Copy(e,0,s,0,e.length),p.Copy(h,0,s,e.length,h.length),s}}ChangesOverlap(e,h,r){if(f.Assert(e.originalStart<=h.originalStart,\"Left change is not less than or equal to right change\"),f.Assert(e.modifiedStart<=h.modifiedStart,\"Left change is not less than or equal to right change\"),e.originalStart+e.originalLength>=h.originalStart||e.modifiedStart+e.modifiedLength>=h.modifiedStart){const s=e.originalStart;let o=e.originalLength;const u=e.modifiedStart;let S=e.modifiedLength;return e.originalStart+e.originalLength>=h.originalStart&&(o=h.originalStart+h.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=h.modifiedStart&&(S=h.modifiedStart+h.modifiedLength-e.modifiedStart),r[0]=new i.DiffChange(s,o,u,S),!0}else return r[0]=null,!1}ClipDiagonalBound(e,h,r,s){if(e>=0&&e<s)return e;const o=r,u=s-r-1,S=h%2===0;if(e<0){const L=o%2===0;return S===L?0:1}else{const L=u%2===0;return S===L?s-1:s-2}}}n.LcsDiff=a}),X(J[45],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.MicrotaskDelay=void 0,n.MicrotaskDelay=Symbol(\"MicrotaskDelay\")}),X(J[25],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.isString=i,n.isObject=x,n.isTypedArray=A,n.isNumber=d,n.isIterable=f,n.isBoolean=p,n.isUndefined=c,n.isDefined=a,n.isUndefinedOrNull=m,n.assertType=e,n.assertIsDefined=h,n.isFunction=r,n.validateConstraints=s,n.validateConstraint=o;function i(u){return typeof u==\"string\"}function x(u){return typeof u==\"object\"&&u!==null&&!Array.isArray(u)&&!(u instanceof RegExp)&&!(u instanceof Date)}function A(u){const S=Object.getPrototypeOf(Uint8Array);return typeof u==\"object\"&&u instanceof S}function d(u){return typeof u==\"number\"&&!isNaN(u)}function f(u){return!!u&&typeof u[Symbol.iterator]==\"function\"}function p(u){return u===!0||u===!1}function c(u){return typeof u>\"u\"}function a(u){return!m(u)}function m(u){return c(u)||u===null}function e(u,S){if(!u)throw new Error(S?`Unexpected type, expected '${S}'`:\"Unexpected type\")}function h(u){if(m(u))throw new Error(\"Assertion Failed: argument is undefined or null\");return u}function r(u){return typeof u==\"function\"}function s(u,S){const L=Math.min(u.length,S.length);for(let N=0;N<L;N++)o(u[N],S[N])}function o(u,S){if(i(S)){if(typeof u!==S)throw new Error(`argument does not match constraint: typeof ${S}`)}else if(r(S)){try{if(u instanceof S)return}catch{}if(!m(u)&&u.constructor===S||S.length===1&&S.call(void 0,u)===!0)return;throw new Error(\"argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true\")}}}),X(J[26],Z([0,1,25]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.register=A,n.getCodiconFontCharacters=d;const x=Object.create(null);function A(f,p){if((0,i.isString)(p)){const c=x[p];if(c===void 0)throw new Error(`${f} references an unknown codicon: ${p}`);p=c}return x[f]=p,{id:f}}function d(){return x}}),X(J[46],Z([0,1,26]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.codiconsLibrary=void 0,n.codiconsLibrary={add:(0,i.register)(\"add\",6e4),plus:(0,i.register)(\"plus\",6e4),gistNew:(0,i.register)(\"gist-new\",6e4),repoCreate:(0,i.register)(\"repo-create\",6e4),lightbulb:(0,i.register)(\"lightbulb\",60001),lightBulb:(0,i.register)(\"light-bulb\",60001),repo:(0,i.register)(\"repo\",60002),repoDelete:(0,i.register)(\"repo-delete\",60002),gistFork:(0,i.register)(\"gist-fork\",60003),repoForked:(0,i.register)(\"repo-forked\",60003),gitPullRequest:(0,i.register)(\"git-pull-request\",60004),gitPullRequestAbandoned:(0,i.register)(\"git-pull-request-abandoned\",60004),recordKeys:(0,i.register)(\"record-keys\",60005),keyboard:(0,i.register)(\"keyboard\",60005),tag:(0,i.register)(\"tag\",60006),gitPullRequestLabel:(0,i.register)(\"git-pull-request-label\",60006),tagAdd:(0,i.register)(\"tag-add\",60006),tagRemove:(0,i.register)(\"tag-remove\",60006),person:(0,i.register)(\"person\",60007),personFollow:(0,i.register)(\"person-follow\",60007),personOutline:(0,i.register)(\"person-outline\",60007),personFilled:(0,i.register)(\"person-filled\",60007),gitBranch:(0,i.register)(\"git-branch\",60008),gitBranchCreate:(0,i.register)(\"git-branch-create\",60008),gitBranchDelete:(0,i.register)(\"git-branch-delete\",60008),sourceControl:(0,i.register)(\"source-control\",60008),mirror:(0,i.register)(\"mirror\",60009),mirrorPublic:(0,i.register)(\"mirror-public\",60009),star:(0,i.register)(\"star\",60010),starAdd:(0,i.register)(\"star-add\",60010),starDelete:(0,i.register)(\"star-delete\",60010),starEmpty:(0,i.register)(\"star-empty\",60010),comment:(0,i.register)(\"comment\",60011),commentAdd:(0,i.register)(\"comment-add\",60011),alert:(0,i.register)(\"alert\",60012),warning:(0,i.register)(\"warning\",60012),search:(0,i.register)(\"search\",60013),searchSave:(0,i.register)(\"search-save\",60013),logOut:(0,i.register)(\"log-out\",60014),signOut:(0,i.register)(\"sign-out\",60014),logIn:(0,i.register)(\"log-in\",60015),signIn:(0,i.register)(\"sign-in\",60015),eye:(0,i.register)(\"eye\",60016),eyeUnwatch:(0,i.register)(\"eye-unwatch\",60016),eyeWatch:(0,i.register)(\"eye-watch\",60016),circleFilled:(0,i.register)(\"circle-filled\",60017),primitiveDot:(0,i.register)(\"primitive-dot\",60017),closeDirty:(0,i.register)(\"close-dirty\",60017),debugBreakpoint:(0,i.register)(\"debug-breakpoint\",60017),debugBreakpointDisabled:(0,i.register)(\"debug-breakpoint-disabled\",60017),debugHint:(0,i.register)(\"debug-hint\",60017),terminalDecorationSuccess:(0,i.register)(\"terminal-decoration-success\",60017),primitiveSquare:(0,i.register)(\"primitive-square\",60018),edit:(0,i.register)(\"edit\",60019),pencil:(0,i.register)(\"pencil\",60019),info:(0,i.register)(\"info\",60020),issueOpened:(0,i.register)(\"issue-opened\",60020),gistPrivate:(0,i.register)(\"gist-private\",60021),gitForkPrivate:(0,i.register)(\"git-fork-private\",60021),lock:(0,i.register)(\"lock\",60021),mirrorPrivate:(0,i.register)(\"mirror-private\",60021),close:(0,i.register)(\"close\",60022),removeClose:(0,i.register)(\"remove-close\",60022),x:(0,i.register)(\"x\",60022),repoSync:(0,i.register)(\"repo-sync\",60023),sync:(0,i.register)(\"sync\",60023),clone:(0,i.register)(\"clone\",60024),desktopDownload:(0,i.register)(\"desktop-download\",60024),beaker:(0,i.register)(\"beaker\",60025),microscope:(0,i.register)(\"microscope\",60025),vm:(0,i.register)(\"vm\",60026),deviceDesktop:(0,i.register)(\"device-desktop\",60026),file:(0,i.register)(\"file\",60027),fileText:(0,i.register)(\"file-text\",60027),more:(0,i.register)(\"more\",60028),ellipsis:(0,i.register)(\"ellipsis\",60028),kebabHorizontal:(0,i.register)(\"kebab-horizontal\",60028),mailReply:(0,i.register)(\"mail-reply\",60029),reply:(0,i.register)(\"reply\",60029),organization:(0,i.register)(\"organization\",60030),organizationFilled:(0,i.register)(\"organization-filled\",60030),organizationOutline:(0,i.register)(\"organization-outline\",60030),newFile:(0,i.register)(\"new-file\",60031),fileAdd:(0,i.register)(\"file-add\",60031),newFolder:(0,i.register)(\"new-folder\",60032),fileDirectoryCreate:(0,i.register)(\"file-directory-create\",60032),trash:(0,i.register)(\"trash\",60033),trashcan:(0,i.register)(\"trashcan\",60033),history:(0,i.register)(\"history\",60034),clock:(0,i.register)(\"clock\",60034),folder:(0,i.register)(\"folder\",60035),fileDirectory:(0,i.register)(\"file-directory\",60035),symbolFolder:(0,i.register)(\"symbol-folder\",60035),logoGithub:(0,i.register)(\"logo-github\",60036),markGithub:(0,i.register)(\"mark-github\",60036),github:(0,i.register)(\"github\",60036),terminal:(0,i.register)(\"terminal\",60037),console:(0,i.register)(\"console\",60037),repl:(0,i.register)(\"repl\",60037),zap:(0,i.register)(\"zap\",60038),symbolEvent:(0,i.register)(\"symbol-event\",60038),error:(0,i.register)(\"error\",60039),stop:(0,i.register)(\"stop\",60039),variable:(0,i.register)(\"variable\",60040),symbolVariable:(0,i.register)(\"symbol-variable\",60040),array:(0,i.register)(\"array\",60042),symbolArray:(0,i.register)(\"symbol-array\",60042),symbolModule:(0,i.register)(\"symbol-module\",60043),symbolPackage:(0,i.register)(\"symbol-package\",60043),symbolNamespace:(0,i.register)(\"symbol-namespace\",60043),symbolObject:(0,i.register)(\"symbol-object\",60043),symbolMethod:(0,i.register)(\"symbol-method\",60044),symbolFunction:(0,i.register)(\"symbol-function\",60044),symbolConstructor:(0,i.register)(\"symbol-constructor\",60044),symbolBoolean:(0,i.register)(\"symbol-boolean\",60047),symbolNull:(0,i.register)(\"symbol-null\",60047),symbolNumeric:(0,i.register)(\"symbol-numeric\",60048),symbolNumber:(0,i.register)(\"symbol-number\",60048),symbolStructure:(0,i.register)(\"symbol-structure\",60049),symbolStruct:(0,i.register)(\"symbol-struct\",60049),symbolParameter:(0,i.register)(\"symbol-parameter\",60050),symbolTypeParameter:(0,i.register)(\"symbol-type-parameter\",60050),symbolKey:(0,i.register)(\"symbol-key\",60051),symbolText:(0,i.register)(\"symbol-text\",60051),symbolReference:(0,i.register)(\"symbol-reference\",60052),goToFile:(0,i.register)(\"go-to-file\",60052),symbolEnum:(0,i.register)(\"symbol-enum\",60053),symbolValue:(0,i.register)(\"symbol-value\",60053),symbolRuler:(0,i.register)(\"symbol-ruler\",60054),symbolUnit:(0,i.register)(\"symbol-unit\",60054),activateBreakpoints:(0,i.register)(\"activate-breakpoints\",60055),archive:(0,i.register)(\"archive\",60056),arrowBoth:(0,i.register)(\"arrow-both\",60057),arrowDown:(0,i.register)(\"arrow-down\",60058),arrowLeft:(0,i.register)(\"arrow-left\",60059),arrowRight:(0,i.register)(\"arrow-right\",60060),arrowSmallDown:(0,i.register)(\"arrow-small-down\",60061),arrowSmallLeft:(0,i.register)(\"arrow-small-left\",60062),arrowSmallRight:(0,i.register)(\"arrow-small-right\",60063),arrowSmallUp:(0,i.register)(\"arrow-small-up\",60064),arrowUp:(0,i.register)(\"arrow-up\",60065),bell:(0,i.register)(\"bell\",60066),bold:(0,i.register)(\"bold\",60067),book:(0,i.register)(\"book\",60068),bookmark:(0,i.register)(\"bookmark\",60069),debugBreakpointConditionalUnverified:(0,i.register)(\"debug-breakpoint-conditional-unverified\",60070),debugBreakpointConditional:(0,i.register)(\"debug-breakpoint-conditional\",60071),debugBreakpointConditionalDisabled:(0,i.register)(\"debug-breakpoint-conditional-disabled\",60071),debugBreakpointDataUnverified:(0,i.register)(\"debug-breakpoint-data-unverified\",60072),debugBreakpointData:(0,i.register)(\"debug-breakpoint-data\",60073),debugBreakpointDataDisabled:(0,i.register)(\"debug-breakpoint-data-disabled\",60073),debugBreakpointLogUnverified:(0,i.register)(\"debug-breakpoint-log-unverified\",60074),debugBreakpointLog:(0,i.register)(\"debug-breakpoint-log\",60075),debugBreakpointLogDisabled:(0,i.register)(\"debug-breakpoint-log-disabled\",60075),briefcase:(0,i.register)(\"briefcase\",60076),broadcast:(0,i.register)(\"broadcast\",60077),browser:(0,i.register)(\"browser\",60078),bug:(0,i.register)(\"bug\",60079),calendar:(0,i.register)(\"calendar\",60080),caseSensitive:(0,i.register)(\"case-sensitive\",60081),check:(0,i.register)(\"check\",60082),checklist:(0,i.register)(\"checklist\",60083),chevronDown:(0,i.register)(\"chevron-down\",60084),chevronLeft:(0,i.register)(\"chevron-left\",60085),chevronRight:(0,i.register)(\"chevron-right\",60086),chevronUp:(0,i.register)(\"chevron-up\",60087),chromeClose:(0,i.register)(\"chrome-close\",60088),chromeMaximize:(0,i.register)(\"chrome-maximize\",60089),chromeMinimize:(0,i.register)(\"chrome-minimize\",60090),chromeRestore:(0,i.register)(\"chrome-restore\",60091),circleOutline:(0,i.register)(\"circle-outline\",60092),circle:(0,i.register)(\"circle\",60092),debugBreakpointUnverified:(0,i.register)(\"debug-breakpoint-unverified\",60092),terminalDecorationIncomplete:(0,i.register)(\"terminal-decoration-incomplete\",60092),circleSlash:(0,i.register)(\"circle-slash\",60093),circuitBoard:(0,i.register)(\"circuit-board\",60094),clearAll:(0,i.register)(\"clear-all\",60095),clippy:(0,i.register)(\"clippy\",60096),closeAll:(0,i.register)(\"close-all\",60097),cloudDownload:(0,i.register)(\"cloud-download\",60098),cloudUpload:(0,i.register)(\"cloud-upload\",60099),code:(0,i.register)(\"code\",60100),collapseAll:(0,i.register)(\"collapse-all\",60101),colorMode:(0,i.register)(\"color-mode\",60102),commentDiscussion:(0,i.register)(\"comment-discussion\",60103),creditCard:(0,i.register)(\"credit-card\",60105),dash:(0,i.register)(\"dash\",60108),dashboard:(0,i.register)(\"dashboard\",60109),database:(0,i.register)(\"database\",60110),debugContinue:(0,i.register)(\"debug-continue\",60111),debugDisconnect:(0,i.register)(\"debug-disconnect\",60112),debugPause:(0,i.register)(\"debug-pause\",60113),debugRestart:(0,i.register)(\"debug-restart\",60114),debugStart:(0,i.register)(\"debug-start\",60115),debugStepInto:(0,i.register)(\"debug-step-into\",60116),debugStepOut:(0,i.register)(\"debug-step-out\",60117),debugStepOver:(0,i.register)(\"debug-step-over\",60118),debugStop:(0,i.register)(\"debug-stop\",60119),debug:(0,i.register)(\"debug\",60120),deviceCameraVideo:(0,i.register)(\"device-camera-video\",60121),deviceCamera:(0,i.register)(\"device-camera\",60122),deviceMobile:(0,i.register)(\"device-mobile\",60123),diffAdded:(0,i.register)(\"diff-added\",60124),diffIgnored:(0,i.register)(\"diff-ignored\",60125),diffModified:(0,i.register)(\"diff-modified\",60126),diffRemoved:(0,i.register)(\"diff-removed\",60127),diffRenamed:(0,i.register)(\"diff-renamed\",60128),diff:(0,i.register)(\"diff\",60129),diffSidebyside:(0,i.register)(\"diff-sidebyside\",60129),discard:(0,i.register)(\"discard\",60130),editorLayout:(0,i.register)(\"editor-layout\",60131),emptyWindow:(0,i.register)(\"empty-window\",60132),exclude:(0,i.register)(\"exclude\",60133),extensions:(0,i.register)(\"extensions\",60134),eyeClosed:(0,i.register)(\"eye-closed\",60135),fileBinary:(0,i.register)(\"file-binary\",60136),fileCode:(0,i.register)(\"file-code\",60137),fileMedia:(0,i.register)(\"file-media\",60138),filePdf:(0,i.register)(\"file-pdf\",60139),fileSubmodule:(0,i.register)(\"file-submodule\",60140),fileSymlinkDirectory:(0,i.register)(\"file-symlink-directory\",60141),fileSymlinkFile:(0,i.register)(\"file-symlink-file\",60142),fileZip:(0,i.register)(\"file-zip\",60143),files:(0,i.register)(\"files\",60144),filter:(0,i.register)(\"filter\",60145),flame:(0,i.register)(\"flame\",60146),foldDown:(0,i.register)(\"fold-down\",60147),foldUp:(0,i.register)(\"fold-up\",60148),fold:(0,i.register)(\"fold\",60149),folderActive:(0,i.register)(\"folder-active\",60150),folderOpened:(0,i.register)(\"folder-opened\",60151),gear:(0,i.register)(\"gear\",60152),gift:(0,i.register)(\"gift\",60153),gistSecret:(0,i.register)(\"gist-secret\",60154),gist:(0,i.register)(\"gist\",60155),gitCommit:(0,i.register)(\"git-commit\",60156),gitCompare:(0,i.register)(\"git-compare\",60157),compareChanges:(0,i.register)(\"compare-changes\",60157),gitMerge:(0,i.register)(\"git-merge\",60158),githubAction:(0,i.register)(\"github-action\",60159),githubAlt:(0,i.register)(\"github-alt\",60160),globe:(0,i.register)(\"globe\",60161),grabber:(0,i.register)(\"grabber\",60162),graph:(0,i.register)(\"graph\",60163),gripper:(0,i.register)(\"gripper\",60164),heart:(0,i.register)(\"heart\",60165),home:(0,i.register)(\"home\",60166),horizontalRule:(0,i.register)(\"horizontal-rule\",60167),hubot:(0,i.register)(\"hubot\",60168),inbox:(0,i.register)(\"inbox\",60169),issueReopened:(0,i.register)(\"issue-reopened\",60171),issues:(0,i.register)(\"issues\",60172),italic:(0,i.register)(\"italic\",60173),jersey:(0,i.register)(\"jersey\",60174),json:(0,i.register)(\"json\",60175),kebabVertical:(0,i.register)(\"kebab-vertical\",60176),key:(0,i.register)(\"key\",60177),law:(0,i.register)(\"law\",60178),lightbulbAutofix:(0,i.register)(\"lightbulb-autofix\",60179),linkExternal:(0,i.register)(\"link-external\",60180),link:(0,i.register)(\"link\",60181),listOrdered:(0,i.register)(\"list-ordered\",60182),listUnordered:(0,i.register)(\"list-unordered\",60183),liveShare:(0,i.register)(\"live-share\",60184),loading:(0,i.register)(\"loading\",60185),location:(0,i.register)(\"location\",60186),mailRead:(0,i.register)(\"mail-read\",60187),mail:(0,i.register)(\"mail\",60188),markdown:(0,i.register)(\"markdown\",60189),megaphone:(0,i.register)(\"megaphone\",60190),mention:(0,i.register)(\"mention\",60191),milestone:(0,i.register)(\"milestone\",60192),gitPullRequestMilestone:(0,i.register)(\"git-pull-request-milestone\",60192),mortarBoard:(0,i.register)(\"mortar-board\",60193),move:(0,i.register)(\"move\",60194),multipleWindows:(0,i.register)(\"multiple-windows\",60195),mute:(0,i.register)(\"mute\",60196),noNewline:(0,i.register)(\"no-newline\",60197),note:(0,i.register)(\"note\",60198),octoface:(0,i.register)(\"octoface\",60199),openPreview:(0,i.register)(\"open-preview\",60200),package:(0,i.register)(\"package\",60201),paintcan:(0,i.register)(\"paintcan\",60202),pin:(0,i.register)(\"pin\",60203),play:(0,i.register)(\"play\",60204),run:(0,i.register)(\"run\",60204),plug:(0,i.register)(\"plug\",60205),preserveCase:(0,i.register)(\"preserve-case\",60206),preview:(0,i.register)(\"preview\",60207),project:(0,i.register)(\"project\",60208),pulse:(0,i.register)(\"pulse\",60209),question:(0,i.register)(\"question\",60210),quote:(0,i.register)(\"quote\",60211),radioTower:(0,i.register)(\"radio-tower\",60212),reactions:(0,i.register)(\"reactions\",60213),references:(0,i.register)(\"references\",60214),refresh:(0,i.register)(\"refresh\",60215),regex:(0,i.register)(\"regex\",60216),remoteExplorer:(0,i.register)(\"remote-explorer\",60217),remote:(0,i.register)(\"remote\",60218),remove:(0,i.register)(\"remove\",60219),replaceAll:(0,i.register)(\"replace-all\",60220),replace:(0,i.register)(\"replace\",60221),repoClone:(0,i.register)(\"repo-clone\",60222),repoForcePush:(0,i.register)(\"repo-force-push\",60223),repoPull:(0,i.register)(\"repo-pull\",60224),repoPush:(0,i.register)(\"repo-push\",60225),report:(0,i.register)(\"report\",60226),requestChanges:(0,i.register)(\"request-changes\",60227),rocket:(0,i.register)(\"rocket\",60228),rootFolderOpened:(0,i.register)(\"root-folder-opened\",60229),rootFolder:(0,i.register)(\"root-folder\",60230),rss:(0,i.register)(\"rss\",60231),ruby:(0,i.register)(\"ruby\",60232),saveAll:(0,i.register)(\"save-all\",60233),saveAs:(0,i.register)(\"save-as\",60234),save:(0,i.register)(\"save\",60235),screenFull:(0,i.register)(\"screen-full\",60236),screenNormal:(0,i.register)(\"screen-normal\",60237),searchStop:(0,i.register)(\"search-stop\",60238),server:(0,i.register)(\"server\",60240),settingsGear:(0,i.register)(\"settings-gear\",60241),settings:(0,i.register)(\"settings\",60242),shield:(0,i.register)(\"shield\",60243),smiley:(0,i.register)(\"smiley\",60244),sortPrecedence:(0,i.register)(\"sort-precedence\",60245),splitHorizontal:(0,i.register)(\"split-horizontal\",60246),splitVertical:(0,i.register)(\"split-vertical\",60247),squirrel:(0,i.register)(\"squirrel\",60248),starFull:(0,i.register)(\"star-full\",60249),starHalf:(0,i.register)(\"star-half\",60250),symbolClass:(0,i.register)(\"symbol-class\",60251),symbolColor:(0,i.register)(\"symbol-color\",60252),symbolConstant:(0,i.register)(\"symbol-constant\",60253),symbolEnumMember:(0,i.register)(\"symbol-enum-member\",60254),symbolField:(0,i.register)(\"symbol-field\",60255),symbolFile:(0,i.register)(\"symbol-file\",60256),symbolInterface:(0,i.register)(\"symbol-interface\",60257),symbolKeyword:(0,i.register)(\"symbol-keyword\",60258),symbolMisc:(0,i.register)(\"symbol-misc\",60259),symbolOperator:(0,i.register)(\"symbol-operator\",60260),symbolProperty:(0,i.register)(\"symbol-property\",60261),wrench:(0,i.register)(\"wrench\",60261),wrenchSubaction:(0,i.register)(\"wrench-subaction\",60261),symbolSnippet:(0,i.register)(\"symbol-snippet\",60262),tasklist:(0,i.register)(\"tasklist\",60263),telescope:(0,i.register)(\"telescope\",60264),textSize:(0,i.register)(\"text-size\",60265),threeBars:(0,i.register)(\"three-bars\",60266),thumbsdown:(0,i.register)(\"thumbsdown\",60267),thumbsup:(0,i.register)(\"thumbsup\",60268),tools:(0,i.register)(\"tools\",60269),triangleDown:(0,i.register)(\"triangle-down\",60270),triangleLeft:(0,i.register)(\"triangle-left\",60271),triangleRight:(0,i.register)(\"triangle-right\",60272),triangleUp:(0,i.register)(\"triangle-up\",60273),twitter:(0,i.register)(\"twitter\",60274),unfold:(0,i.register)(\"unfold\",60275),unlock:(0,i.register)(\"unlock\",60276),unmute:(0,i.register)(\"unmute\",60277),unverified:(0,i.register)(\"unverified\",60278),verified:(0,i.register)(\"verified\",60279),versions:(0,i.register)(\"versions\",60280),vmActive:(0,i.register)(\"vm-active\",60281),vmOutline:(0,i.register)(\"vm-outline\",60282),vmRunning:(0,i.register)(\"vm-running\",60283),watch:(0,i.register)(\"watch\",60284),whitespace:(0,i.register)(\"whitespace\",60285),wholeWord:(0,i.register)(\"whole-word\",60286),window:(0,i.register)(\"window\",60287),wordWrap:(0,i.register)(\"word-wrap\",60288),zoomIn:(0,i.register)(\"zoom-in\",60289),zoomOut:(0,i.register)(\"zoom-out\",60290),listFilter:(0,i.register)(\"list-filter\",60291),listFlat:(0,i.register)(\"list-flat\",60292),listSelection:(0,i.register)(\"list-selection\",60293),selection:(0,i.register)(\"selection\",60293),listTree:(0,i.register)(\"list-tree\",60294),debugBreakpointFunctionUnverified:(0,i.register)(\"debug-breakpoint-function-unverified\",60295),debugBreakpointFunction:(0,i.register)(\"debug-breakpoint-function\",60296),debugBreakpointFunctionDisabled:(0,i.register)(\"debug-breakpoint-function-disabled\",60296),debugStackframeActive:(0,i.register)(\"debug-stackframe-active\",60297),circleSmallFilled:(0,i.register)(\"circle-small-filled\",60298),debugStackframeDot:(0,i.register)(\"debug-stackframe-dot\",60298),terminalDecorationMark:(0,i.register)(\"terminal-decoration-mark\",60298),debugStackframe:(0,i.register)(\"debug-stackframe\",60299),debugStackframeFocused:(0,i.register)(\"debug-stackframe-focused\",60299),debugBreakpointUnsupported:(0,i.register)(\"debug-breakpoint-unsupported\",60300),symbolString:(0,i.register)(\"symbol-string\",60301),debugReverseContinue:(0,i.register)(\"debug-reverse-continue\",60302),debugStepBack:(0,i.register)(\"debug-step-back\",60303),debugRestartFrame:(0,i.register)(\"debug-restart-frame\",60304),debugAlt:(0,i.register)(\"debug-alt\",60305),callIncoming:(0,i.register)(\"call-incoming\",60306),callOutgoing:(0,i.register)(\"call-outgoing\",60307),menu:(0,i.register)(\"menu\",60308),expandAll:(0,i.register)(\"expand-all\",60309),feedback:(0,i.register)(\"feedback\",60310),gitPullRequestReviewer:(0,i.register)(\"git-pull-request-reviewer\",60310),groupByRefType:(0,i.register)(\"group-by-ref-type\",60311),ungroupByRefType:(0,i.register)(\"ungroup-by-ref-type\",60312),account:(0,i.register)(\"account\",60313),gitPullRequestAssignee:(0,i.register)(\"git-pull-request-assignee\",60313),bellDot:(0,i.register)(\"bell-dot\",60314),debugConsole:(0,i.register)(\"debug-console\",60315),library:(0,i.register)(\"library\",60316),output:(0,i.register)(\"output\",60317),runAll:(0,i.register)(\"run-all\",60318),syncIgnored:(0,i.register)(\"sync-ignored\",60319),pinned:(0,i.register)(\"pinned\",60320),githubInverted:(0,i.register)(\"github-inverted\",60321),serverProcess:(0,i.register)(\"server-process\",60322),serverEnvironment:(0,i.register)(\"server-environment\",60323),pass:(0,i.register)(\"pass\",60324),issueClosed:(0,i.register)(\"issue-closed\",60324),stopCircle:(0,i.register)(\"stop-circle\",60325),playCircle:(0,i.register)(\"play-circle\",60326),record:(0,i.register)(\"record\",60327),debugAltSmall:(0,i.register)(\"debug-alt-small\",60328),vmConnect:(0,i.register)(\"vm-connect\",60329),cloud:(0,i.register)(\"cloud\",60330),merge:(0,i.register)(\"merge\",60331),export:(0,i.register)(\"export\",60332),graphLeft:(0,i.register)(\"graph-left\",60333),magnet:(0,i.register)(\"magnet\",60334),notebook:(0,i.register)(\"notebook\",60335),redo:(0,i.register)(\"redo\",60336),checkAll:(0,i.register)(\"check-all\",60337),pinnedDirty:(0,i.register)(\"pinned-dirty\",60338),passFilled:(0,i.register)(\"pass-filled\",60339),circleLargeFilled:(0,i.register)(\"circle-large-filled\",60340),circleLarge:(0,i.register)(\"circle-large\",60341),circleLargeOutline:(0,i.register)(\"circle-large-outline\",60341),combine:(0,i.register)(\"combine\",60342),gather:(0,i.register)(\"gather\",60342),table:(0,i.register)(\"table\",60343),variableGroup:(0,i.register)(\"variable-group\",60344),typeHierarchy:(0,i.register)(\"type-hierarchy\",60345),typeHierarchySub:(0,i.register)(\"type-hierarchy-sub\",60346),typeHierarchySuper:(0,i.register)(\"type-hierarchy-super\",60347),gitPullRequestCreate:(0,i.register)(\"git-pull-request-create\",60348),runAbove:(0,i.register)(\"run-above\",60349),runBelow:(0,i.register)(\"run-below\",60350),notebookTemplate:(0,i.register)(\"notebook-template\",60351),debugRerun:(0,i.register)(\"debug-rerun\",60352),workspaceTrusted:(0,i.register)(\"workspace-trusted\",60353),workspaceUntrusted:(0,i.register)(\"workspace-untrusted\",60354),workspaceUnknown:(0,i.register)(\"workspace-unknown\",60355),terminalCmd:(0,i.register)(\"terminal-cmd\",60356),terminalDebian:(0,i.register)(\"terminal-debian\",60357),terminalLinux:(0,i.register)(\"terminal-linux\",60358),terminalPowershell:(0,i.register)(\"terminal-powershell\",60359),terminalTmux:(0,i.register)(\"terminal-tmux\",60360),terminalUbuntu:(0,i.register)(\"terminal-ubuntu\",60361),terminalBash:(0,i.register)(\"terminal-bash\",60362),arrowSwap:(0,i.register)(\"arrow-swap\",60363),copy:(0,i.register)(\"copy\",60364),personAdd:(0,i.register)(\"person-add\",60365),filterFilled:(0,i.register)(\"filter-filled\",60366),wand:(0,i.register)(\"wand\",60367),debugLineByLine:(0,i.register)(\"debug-line-by-line\",60368),inspect:(0,i.register)(\"inspect\",60369),layers:(0,i.register)(\"layers\",60370),layersDot:(0,i.register)(\"layers-dot\",60371),layersActive:(0,i.register)(\"layers-active\",60372),compass:(0,i.register)(\"compass\",60373),compassDot:(0,i.register)(\"compass-dot\",60374),compassActive:(0,i.register)(\"compass-active\",60375),azure:(0,i.register)(\"azure\",60376),issueDraft:(0,i.register)(\"issue-draft\",60377),gitPullRequestClosed:(0,i.register)(\"git-pull-request-closed\",60378),gitPullRequestDraft:(0,i.register)(\"git-pull-request-draft\",60379),debugAll:(0,i.register)(\"debug-all\",60380),debugCoverage:(0,i.register)(\"debug-coverage\",60381),runErrors:(0,i.register)(\"run-errors\",60382),folderLibrary:(0,i.register)(\"folder-library\",60383),debugContinueSmall:(0,i.register)(\"debug-continue-small\",60384),beakerStop:(0,i.register)(\"beaker-stop\",60385),graphLine:(0,i.register)(\"graph-line\",60386),graphScatter:(0,i.register)(\"graph-scatter\",60387),pieChart:(0,i.register)(\"pie-chart\",60388),bracket:(0,i.register)(\"bracket\",60175),bracketDot:(0,i.register)(\"bracket-dot\",60389),bracketError:(0,i.register)(\"bracket-error\",60390),lockSmall:(0,i.register)(\"lock-small\",60391),azureDevops:(0,i.register)(\"azure-devops\",60392),verifiedFilled:(0,i.register)(\"verified-filled\",60393),newline:(0,i.register)(\"newline\",60394),layout:(0,i.register)(\"layout\",60395),layoutActivitybarLeft:(0,i.register)(\"layout-activitybar-left\",60396),layoutActivitybarRight:(0,i.register)(\"layout-activitybar-right\",60397),layoutPanelLeft:(0,i.register)(\"layout-panel-left\",60398),layoutPanelCenter:(0,i.register)(\"layout-panel-center\",60399),layoutPanelJustify:(0,i.register)(\"layout-panel-justify\",60400),layoutPanelRight:(0,i.register)(\"layout-panel-right\",60401),layoutPanel:(0,i.register)(\"layout-panel\",60402),layoutSidebarLeft:(0,i.register)(\"layout-sidebar-left\",60403),layoutSidebarRight:(0,i.register)(\"layout-sidebar-right\",60404),layoutStatusbar:(0,i.register)(\"layout-statusbar\",60405),layoutMenubar:(0,i.register)(\"layout-menubar\",60406),layoutCentered:(0,i.register)(\"layout-centered\",60407),target:(0,i.register)(\"target\",60408),indent:(0,i.register)(\"indent\",60409),recordSmall:(0,i.register)(\"record-small\",60410),errorSmall:(0,i.register)(\"error-small\",60411),terminalDecorationError:(0,i.register)(\"terminal-decoration-error\",60411),arrowCircleDown:(0,i.register)(\"arrow-circle-down\",60412),arrowCircleLeft:(0,i.register)(\"arrow-circle-left\",60413),arrowCircleRight:(0,i.register)(\"arrow-circle-right\",60414),arrowCircleUp:(0,i.register)(\"arrow-circle-up\",60415),layoutSidebarRightOff:(0,i.register)(\"layout-sidebar-right-off\",60416),layoutPanelOff:(0,i.register)(\"layout-panel-off\",60417),layoutSidebarLeftOff:(0,i.register)(\"layout-sidebar-left-off\",60418),blank:(0,i.register)(\"blank\",60419),heartFilled:(0,i.register)(\"heart-filled\",60420),map:(0,i.register)(\"map\",60421),mapHorizontal:(0,i.register)(\"map-horizontal\",60421),foldHorizontal:(0,i.register)(\"fold-horizontal\",60421),mapFilled:(0,i.register)(\"map-filled\",60422),mapHorizontalFilled:(0,i.register)(\"map-horizontal-filled\",60422),foldHorizontalFilled:(0,i.register)(\"fold-horizontal-filled\",60422),circleSmall:(0,i.register)(\"circle-small\",60423),bellSlash:(0,i.register)(\"bell-slash\",60424),bellSlashDot:(0,i.register)(\"bell-slash-dot\",60425),commentUnresolved:(0,i.register)(\"comment-unresolved\",60426),gitPullRequestGoToChanges:(0,i.register)(\"git-pull-request-go-to-changes\",60427),gitPullRequestNewChanges:(0,i.register)(\"git-pull-request-new-changes\",60428),searchFuzzy:(0,i.register)(\"search-fuzzy\",60429),commentDraft:(0,i.register)(\"comment-draft\",60430),send:(0,i.register)(\"send\",60431),sparkle:(0,i.register)(\"sparkle\",60432),insert:(0,i.register)(\"insert\",60433),mic:(0,i.register)(\"mic\",60434),thumbsdownFilled:(0,i.register)(\"thumbsdown-filled\",60435),thumbsupFilled:(0,i.register)(\"thumbsup-filled\",60436),coffee:(0,i.register)(\"coffee\",60437),snake:(0,i.register)(\"snake\",60438),game:(0,i.register)(\"game\",60439),vr:(0,i.register)(\"vr\",60440),chip:(0,i.register)(\"chip\",60441),piano:(0,i.register)(\"piano\",60442),music:(0,i.register)(\"music\",60443),micFilled:(0,i.register)(\"mic-filled\",60444),repoFetch:(0,i.register)(\"repo-fetch\",60445),copilot:(0,i.register)(\"copilot\",60446),lightbulbSparkle:(0,i.register)(\"lightbulb-sparkle\",60447),robot:(0,i.register)(\"robot\",60448),sparkleFilled:(0,i.register)(\"sparkle-filled\",60449),diffSingle:(0,i.register)(\"diff-single\",60450),diffMultiple:(0,i.register)(\"diff-multiple\",60451),surroundWith:(0,i.register)(\"surround-with\",60452),share:(0,i.register)(\"share\",60453),gitStash:(0,i.register)(\"git-stash\",60454),gitStashApply:(0,i.register)(\"git-stash-apply\",60455),gitStashPop:(0,i.register)(\"git-stash-pop\",60456),vscode:(0,i.register)(\"vscode\",60457),vscodeInsiders:(0,i.register)(\"vscode-insiders\",60458),codeOss:(0,i.register)(\"code-oss\",60459),runCoverage:(0,i.register)(\"run-coverage\",60460),runAllCoverage:(0,i.register)(\"run-all-coverage\",60461),coverage:(0,i.register)(\"coverage\",60462),githubProject:(0,i.register)(\"github-project\",60463),mapVertical:(0,i.register)(\"map-vertical\",60464),foldVertical:(0,i.register)(\"fold-vertical\",60464),mapVerticalFilled:(0,i.register)(\"map-vertical-filled\",60465),foldVerticalFilled:(0,i.register)(\"fold-vertical-filled\",60465),goToSearch:(0,i.register)(\"go-to-search\",60466),percentage:(0,i.register)(\"percentage\",60467),sortPercentage:(0,i.register)(\"sort-percentage\",60467),attach:(0,i.register)(\"attach\",60468)}}),X(J[47],Z([0,1,26,46]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Codicon=n.codiconsDerived=void 0,n.codiconsDerived={dialogError:(0,i.register)(\"dialog-error\",\"error\"),dialogWarning:(0,i.register)(\"dialog-warning\",\"warning\"),dialogInfo:(0,i.register)(\"dialog-info\",\"info\"),dialogClose:(0,i.register)(\"dialog-close\",\"close\"),treeItemExpanded:(0,i.register)(\"tree-item-expanded\",\"chevron-down\"),treeFilterOnTypeOn:(0,i.register)(\"tree-filter-on-type-on\",\"list-filter\"),treeFilterOnTypeOff:(0,i.register)(\"tree-filter-on-type-off\",\"list-selection\"),treeFilterClear:(0,i.register)(\"tree-filter-clear\",\"close\"),treeItemLoading:(0,i.register)(\"tree-item-loading\",\"loading\"),menuSelection:(0,i.register)(\"menu-selection\",\"check\"),menuSubmenu:(0,i.register)(\"menu-submenu\",\"chevron-right\"),menuBarMore:(0,i.register)(\"menubar-more\",\"more\"),scrollbarButtonLeft:(0,i.register)(\"scrollbar-button-left\",\"triangle-left\"),scrollbarButtonRight:(0,i.register)(\"scrollbar-button-right\",\"triangle-right\"),scrollbarButtonUp:(0,i.register)(\"scrollbar-button-up\",\"triangle-up\"),scrollbarButtonDown:(0,i.register)(\"scrollbar-button-down\",\"triangle-down\"),toolBarMore:(0,i.register)(\"toolbar-more\",\"more\"),quickInputBack:(0,i.register)(\"quick-input-back\",\"arrow-left\"),dropDownButton:(0,i.register)(\"drop-down-button\",60084),symbolCustomColor:(0,i.register)(\"symbol-customcolor\",60252),exportIcon:(0,i.register)(\"export\",60332),workspaceUnspecified:(0,i.register)(\"workspace-unspecified\",60355),newLine:(0,i.register)(\"newline\",60394),thumbsDownFilled:(0,i.register)(\"thumbsdown-filled\",60435),thumbsUpFilled:(0,i.register)(\"thumbsup-filled\",60436),gitFetch:(0,i.register)(\"git-fetch\",60445),lightbulbSparkleAutofix:(0,i.register)(\"lightbulb-sparkle-autofix\",60447),debugBreakpointPending:(0,i.register)(\"debug-breakpoint-pending\",60377)},n.Codicon={...x.codiconsLibrary,...n.codiconsDerived}}),X(J[27],Z([0,1,25]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.deepClone=x,n.deepFreeze=A,n.cloneAndChange=f,n.mixin=c,n.equals=a,n.getAllPropertyNames=m,n.getAllMethodNames=e,n.createProxyObject=h;function x(r){if(!r||typeof r!=\"object\"||r instanceof RegExp)return r;const s=Array.isArray(r)?[]:{};return Object.entries(r).forEach(([o,u])=>{s[o]=u&&typeof u==\"object\"?x(u):u}),s}function A(r){if(!r||typeof r!=\"object\")return r;const s=[r];for(;s.length>0;){const o=s.shift();Object.freeze(o);for(const u in o)if(d.call(o,u)){const S=o[u];typeof S==\"object\"&&!Object.isFrozen(S)&&!(0,i.isTypedArray)(S)&&s.push(S)}}return r}const d=Object.prototype.hasOwnProperty;function f(r,s){return p(r,s,new Set)}function p(r,s,o){if((0,i.isUndefinedOrNull)(r))return r;const u=s(r);if(typeof u<\"u\")return u;if(Array.isArray(r)){const S=[];for(const L of r)S.push(p(L,s,o));return S}if((0,i.isObject)(r)){if(o.has(r))throw new Error(\"Cannot clone recursive data-structure\");o.add(r);const S={};for(const L in r)d.call(r,L)&&(S[L]=p(r[L],s,o));return o.delete(r),S}return r}function c(r,s,o=!0){return(0,i.isObject)(r)?((0,i.isObject)(s)&&Object.keys(s).forEach(u=>{u in r?o&&((0,i.isObject)(r[u])&&(0,i.isObject)(s[u])?c(r[u],s[u],o):r[u]=s[u]):r[u]=s[u]}),r):s}function a(r,s){if(r===s)return!0;if(r==null||s===null||s===void 0||typeof r!=typeof s||typeof r!=\"object\"||Array.isArray(r)!==Array.isArray(s))return!1;let o,u;if(Array.isArray(r)){if(r.length!==s.length)return!1;for(o=0;o<r.length;o++)if(!a(r[o],s[o]))return!1}else{const S=[];for(u in r)S.push(u);S.sort();const L=[];for(u in s)L.push(u);if(L.sort(),!a(S,L))return!1;for(o=0;o<S.length;o++)if(!a(r[S[o]],s[S[o]]))return!1}return!0}function m(r){let s=[];for(;Object.prototype!==r;)s=s.concat(Object.getOwnPropertyNames(r)),r=Object.getPrototypeOf(r);return s}function e(r){const s=[];for(const o of m(r))typeof r[o]==\"function\"&&s.push(o);return s}function h(r,s){const o=S=>function(){const L=Array.prototype.slice.call(arguments,0);return s(S,L)},u={};for(const S of r)u[S]=o(S);return u}}),X(J[28],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.toUint8=i,n.toUint32=x;function i(A){return A<0?0:A>255?255:A|0}function x(A){return A<0?0:A>4294967295?4294967295:A|0}}),X(J[29],Z([0,1,28]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.CharacterSet=n.CharacterClassifier=void 0;class x{constructor(f){const p=(0,i.toUint8)(f);this._defaultValue=p,this._asciiMap=x._createAsciiMap(p),this._map=new Map}static _createAsciiMap(f){const p=new Uint8Array(256);return p.fill(f),p}set(f,p){const c=(0,i.toUint8)(p);f>=0&&f<256?this._asciiMap[f]=c:this._map.set(f,c)}get(f){return f>=0&&f<256?this._asciiMap[f]:this._map.get(f)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}n.CharacterClassifier=x;class A{constructor(){this._actual=new x(0)}add(f){this._actual.set(f,1)}has(f){return this._actual.get(f)===1}clear(){return this._actual.clear()}}n.CharacterSet=A}),X(J[5],Z([0,1,3]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.OffsetRangeSet=n.OffsetRange=void 0;class x{static addRange(f,p){let c=0;for(;c<p.length&&p[c].endExclusive<f.start;)c++;let a=c;for(;a<p.length&&p[a].start<=f.endExclusive;)a++;if(c===a)p.splice(c,0,f);else{const m=Math.min(f.start,p[c].start),e=Math.max(f.endExclusive,p[a-1].endExclusive);p.splice(c,a-c,new x(m,e))}}static tryCreate(f,p){if(!(f>p))return new x(f,p)}static ofLength(f){return new x(0,f)}static ofStartAndLength(f,p){return new x(f,f+p)}constructor(f,p){if(this.start=f,this.endExclusive=p,f>p)throw new i.BugIndicatingError(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(f){return new x(this.start+f,this.endExclusive+f)}deltaStart(f){return new x(this.start+f,this.endExclusive)}deltaEnd(f){return new x(this.start,this.endExclusive+f)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(f){return this.start<=f&&f<this.endExclusive}join(f){return new x(Math.min(this.start,f.start),Math.max(this.endExclusive,f.endExclusive))}intersect(f){const p=Math.max(this.start,f.start),c=Math.min(this.endExclusive,f.endExclusive);if(p<=c)return new x(p,c)}intersects(f){const p=Math.max(this.start,f.start),c=Math.min(this.endExclusive,f.endExclusive);return p<c}isBefore(f){return this.endExclusive<=f.start}isAfter(f){return this.start>=f.endExclusive}slice(f){return f.slice(this.start,this.endExclusive)}substring(f){return f.substring(this.start,this.endExclusive)}clip(f){if(this.isEmpty)throw new i.BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,f))}clipCyclic(f){if(this.isEmpty)throw new i.BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return f<this.start?this.endExclusive-(this.start-f)%this.length:f>=this.endExclusive?this.start+(f-this.start)%this.length:f}forEach(f){for(let p=this.start;p<this.endExclusive;p++)f(p)}}n.OffsetRange=x;class A{constructor(){this._sortedRanges=[]}addRange(f){let p=0;for(;p<this._sortedRanges.length&&this._sortedRanges[p].endExclusive<f.start;)p++;let c=p;for(;c<this._sortedRanges.length&&this._sortedRanges[c].start<=f.endExclusive;)c++;if(p===c)this._sortedRanges.splice(p,0,f);else{const a=Math.min(f.start,this._sortedRanges[p].start),m=Math.max(f.endExclusive,this._sortedRanges[c-1].endExclusive);this._sortedRanges.splice(p,c-p,new x(a,m))}}toString(){return this._sortedRanges.map(f=>f.toString()).join(\", \")}intersectsStrict(f){let p=0;for(;p<this._sortedRanges.length&&this._sortedRanges[p].endExclusive<=f.start;)p++;return p<this._sortedRanges.length&&this._sortedRanges[p].start<f.endExclusive}intersectWithRange(f){const p=new A;for(const c of this._sortedRanges){const a=c.intersect(f);a&&p.addRange(a)}return p}intersectWithRangeLength(f){return this.intersectWithRange(f).length}get length(){return this._sortedRanges.reduce((f,p)=>f+p.length,0)}}n.OffsetRangeSet=A}),X(J[4],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Position=void 0;class i{constructor(A,d){this.lineNumber=A,this.column=d}with(A=this.lineNumber,d=this.column){return A===this.lineNumber&&d===this.column?this:new i(A,d)}delta(A=0,d=0){return this.with(this.lineNumber+A,this.column+d)}equals(A){return i.equals(this,A)}static equals(A,d){return!A&&!d?!0:!!A&&!!d&&A.lineNumber===d.lineNumber&&A.column===d.column}isBefore(A){return i.isBefore(this,A)}static isBefore(A,d){return A.lineNumber<d.lineNumber?!0:d.lineNumber<A.lineNumber?!1:A.column<d.column}isBeforeOrEqual(A){return i.isBeforeOrEqual(this,A)}static isBeforeOrEqual(A,d){return A.lineNumber<d.lineNumber?!0:d.lineNumber<A.lineNumber?!1:A.column<=d.column}static compare(A,d){const f=A.lineNumber|0,p=d.lineNumber|0;if(f===p){const c=A.column|0,a=d.column|0;return c-a}return f-p}clone(){return new i(this.lineNumber,this.column)}toString(){return\"(\"+this.lineNumber+\",\"+this.column+\")\"}static lift(A){return new i(A.lineNumber,A.column)}static isIPosition(A){return A&&typeof A.lineNumber==\"number\"&&typeof A.column==\"number\"}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}n.Position=i}),X(J[2],Z([0,1,4]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Range=void 0;class x{constructor(d,f,p,c){d>p||d===p&&f>c?(this.startLineNumber=p,this.startColumn=c,this.endLineNumber=d,this.endColumn=f):(this.startLineNumber=d,this.startColumn=f,this.endLineNumber=p,this.endColumn=c)}isEmpty(){return x.isEmpty(this)}static isEmpty(d){return d.startLineNumber===d.endLineNumber&&d.startColumn===d.endColumn}containsPosition(d){return x.containsPosition(this,d)}static containsPosition(d,f){return!(f.lineNumber<d.startLineNumber||f.lineNumber>d.endLineNumber||f.lineNumber===d.startLineNumber&&f.column<d.startColumn||f.lineNumber===d.endLineNumber&&f.column>d.endColumn)}static strictContainsPosition(d,f){return!(f.lineNumber<d.startLineNumber||f.lineNumber>d.endLineNumber||f.lineNumber===d.startLineNumber&&f.column<=d.startColumn||f.lineNumber===d.endLineNumber&&f.column>=d.endColumn)}containsRange(d){return x.containsRange(this,d)}static containsRange(d,f){return!(f.startLineNumber<d.startLineNumber||f.endLineNumber<d.startLineNumber||f.startLineNumber>d.endLineNumber||f.endLineNumber>d.endLineNumber||f.startLineNumber===d.startLineNumber&&f.startColumn<d.startColumn||f.endLineNumber===d.endLineNumber&&f.endColumn>d.endColumn)}strictContainsRange(d){return x.strictContainsRange(this,d)}static strictContainsRange(d,f){return!(f.startLineNumber<d.startLineNumber||f.endLineNumber<d.startLineNumber||f.startLineNumber>d.endLineNumber||f.endLineNumber>d.endLineNumber||f.startLineNumber===d.startLineNumber&&f.startColumn<=d.startColumn||f.endLineNumber===d.endLineNumber&&f.endColumn>=d.endColumn)}plusRange(d){return x.plusRange(this,d)}static plusRange(d,f){let p,c,a,m;return f.startLineNumber<d.startLineNumber?(p=f.startLineNumber,c=f.startColumn):f.startLineNumber===d.startLineNumber?(p=f.startLineNumber,c=Math.min(f.startColumn,d.startColumn)):(p=d.startLineNumber,c=d.startColumn),f.endLineNumber>d.endLineNumber?(a=f.endLineNumber,m=f.endColumn):f.endLineNumber===d.endLineNumber?(a=f.endLineNumber,m=Math.max(f.endColumn,d.endColumn)):(a=d.endLineNumber,m=d.endColumn),new x(p,c,a,m)}intersectRanges(d){return x.intersectRanges(this,d)}static intersectRanges(d,f){let p=d.startLineNumber,c=d.startColumn,a=d.endLineNumber,m=d.endColumn;const e=f.startLineNumber,h=f.startColumn,r=f.endLineNumber,s=f.endColumn;return p<e?(p=e,c=h):p===e&&(c=Math.max(c,h)),a>r?(a=r,m=s):a===r&&(m=Math.min(m,s)),p>a||p===a&&c>m?null:new x(p,c,a,m)}equalsRange(d){return x.equalsRange(this,d)}static equalsRange(d,f){return!d&&!f?!0:!!d&&!!f&&d.startLineNumber===f.startLineNumber&&d.startColumn===f.startColumn&&d.endLineNumber===f.endLineNumber&&d.endColumn===f.endColumn}getEndPosition(){return x.getEndPosition(this)}static getEndPosition(d){return new i.Position(d.endLineNumber,d.endColumn)}getStartPosition(){return x.getStartPosition(this)}static getStartPosition(d){return new i.Position(d.startLineNumber,d.startColumn)}toString(){return\"[\"+this.startLineNumber+\",\"+this.startColumn+\" -> \"+this.endLineNumber+\",\"+this.endColumn+\"]\"}setEndPosition(d,f){return new x(this.startLineNumber,this.startColumn,d,f)}setStartPosition(d,f){return new x(d,f,this.endLineNumber,this.endColumn)}collapseToStart(){return x.collapseToStart(this)}static collapseToStart(d){return new x(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn)}collapseToEnd(){return x.collapseToEnd(this)}static collapseToEnd(d){return new x(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn)}delta(d){return new x(this.startLineNumber+d,this.startColumn,this.endLineNumber+d,this.endColumn)}static fromPositions(d,f=d){return new x(d.lineNumber,d.column,f.lineNumber,f.column)}static lift(d){return d?new x(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn):null}static isIRange(d){return d&&typeof d.startLineNumber==\"number\"&&typeof d.startColumn==\"number\"&&typeof d.endLineNumber==\"number\"&&typeof d.endColumn==\"number\"}static areIntersectingOrTouching(d,f){return!(d.endLineNumber<f.startLineNumber||d.endLineNumber===f.startLineNumber&&d.endColumn<f.startColumn||f.endLineNumber<d.startLineNumber||f.endLineNumber===d.startLineNumber&&f.endColumn<d.startColumn)}static areIntersecting(d,f){return!(d.endLineNumber<f.startLineNumber||d.endLineNumber===f.startLineNumber&&d.endColumn<=f.startColumn||f.endLineNumber<d.startLineNumber||f.endLineNumber===d.startLineNumber&&f.endColumn<=d.startColumn)}static compareRangesUsingStarts(d,f){if(d&&f){const a=d.startLineNumber|0,m=f.startLineNumber|0;if(a===m){const e=d.startColumn|0,h=f.startColumn|0;if(e===h){const r=d.endLineNumber|0,s=f.endLineNumber|0;if(r===s){const o=d.endColumn|0,u=f.endColumn|0;return o-u}return r-s}return e-h}return a-m}return(d?1:0)-(f?1:0)}static compareRangesUsingEnds(d,f){return d.endLineNumber===f.endLineNumber?d.endColumn===f.endColumn?d.startLineNumber===f.startLineNumber?d.startColumn-f.startColumn:d.startLineNumber-f.startLineNumber:d.endColumn-f.endColumn:d.endLineNumber-f.endLineNumber}static spansMultipleLines(d){return d.endLineNumber>d.startLineNumber}toJSON(){return this}}n.Range=x}),X(J[13],Z([0,1,3,5,2,15]),function(W,n,i,x,A,d){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.LineRangeSet=n.LineRange=void 0;class f{static fromRangeInclusive(a){return new f(a.startLineNumber,a.endLineNumber+1)}static joinMany(a){if(a.length===0)return[];let m=new p(a[0].slice());for(let e=1;e<a.length;e++)m=m.getUnion(new p(a[e].slice()));return m.ranges}static join(a){if(a.length===0)throw new i.BugIndicatingError(\"lineRanges cannot be empty\");let m=a[0].startLineNumber,e=a[0].endLineNumberExclusive;for(let h=1;h<a.length;h++)m=Math.min(m,a[h].startLineNumber),e=Math.max(e,a[h].endLineNumberExclusive);return new f(m,e)}static ofLength(a,m){return new f(a,a+m)}static deserialize(a){return new f(a[0],a[1])}constructor(a,m){if(a>m)throw new i.BugIndicatingError(`startLineNumber ${a} cannot be after endLineNumberExclusive ${m}`);this.startLineNumber=a,this.endLineNumberExclusive=m}contains(a){return this.startLineNumber<=a&&a<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(a){return new f(this.startLineNumber+a,this.endLineNumberExclusive+a)}deltaLength(a){return new f(this.startLineNumber,this.endLineNumberExclusive+a)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(a){return new f(Math.min(this.startLineNumber,a.startLineNumber),Math.max(this.endLineNumberExclusive,a.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(a){const m=Math.max(this.startLineNumber,a.startLineNumber),e=Math.min(this.endLineNumberExclusive,a.endLineNumberExclusive);if(m<=e)return new f(m,e)}intersectsStrict(a){return this.startLineNumber<a.endLineNumberExclusive&&a.startLineNumber<this.endLineNumberExclusive}overlapOrTouch(a){return this.startLineNumber<=a.endLineNumberExclusive&&a.startLineNumber<=this.endLineNumberExclusive}equals(a){return this.startLineNumber===a.startLineNumber&&this.endLineNumberExclusive===a.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new A.Range(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new A.Range(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(a){const m=[];for(let e=this.startLineNumber;e<this.endLineNumberExclusive;e++)m.push(a(e));return m}forEach(a){for(let m=this.startLineNumber;m<this.endLineNumberExclusive;m++)a(m)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}includes(a){return this.startLineNumber<=a&&a<this.endLineNumberExclusive}toOffsetRange(){return new x.OffsetRange(this.startLineNumber-1,this.endLineNumberExclusive-1)}}n.LineRange=f;class p{constructor(a=[]){this._normalizedRanges=a}get ranges(){return this._normalizedRanges}addRange(a){if(a.length===0)return;const m=(0,d.findFirstIdxMonotonousOrArrLen)(this._normalizedRanges,h=>h.endLineNumberExclusive>=a.startLineNumber),e=(0,d.findLastIdxMonotonous)(this._normalizedRanges,h=>h.startLineNumber<=a.endLineNumberExclusive)+1;if(m===e)this._normalizedRanges.splice(m,0,a);else if(m===e-1){const h=this._normalizedRanges[m];this._normalizedRanges[m]=h.join(a)}else{const h=this._normalizedRanges[m].join(this._normalizedRanges[e-1]).join(a);this._normalizedRanges.splice(m,e-m,h)}}contains(a){const m=(0,d.findLastMonotonous)(this._normalizedRanges,e=>e.startLineNumber<=a);return!!m&&m.endLineNumberExclusive>a}intersects(a){const m=(0,d.findLastMonotonous)(this._normalizedRanges,e=>e.startLineNumber<a.endLineNumberExclusive);return!!m&&m.endLineNumberExclusive>a.startLineNumber}getUnion(a){if(this._normalizedRanges.length===0)return a;if(a._normalizedRanges.length===0)return this;const m=[];let e=0,h=0,r=null;for(;e<this._normalizedRanges.length||h<a._normalizedRanges.length;){let s=null;if(e<this._normalizedRanges.length&&h<a._normalizedRanges.length){const o=this._normalizedRanges[e],u=a._normalizedRanges[h];o.startLineNumber<u.startLineNumber?(s=o,e++):(s=u,h++)}else e<this._normalizedRanges.length?(s=this._normalizedRanges[e],e++):(s=a._normalizedRanges[h],h++);r===null?r=s:r.endLineNumberExclusive>=s.startLineNumber?r=new f(r.startLineNumber,Math.max(r.endLineNumberExclusive,s.endLineNumberExclusive)):(m.push(r),r=s)}return r!==null&&m.push(r),new p(m)}subtractFrom(a){const m=(0,d.findFirstIdxMonotonousOrArrLen)(this._normalizedRanges,s=>s.endLineNumberExclusive>=a.startLineNumber),e=(0,d.findLastIdxMonotonous)(this._normalizedRanges,s=>s.startLineNumber<=a.endLineNumberExclusive)+1;if(m===e)return new p([a]);const h=[];let r=a.startLineNumber;for(let s=m;s<e;s++){const o=this._normalizedRanges[s];o.startLineNumber>r&&h.push(new f(r,o.startLineNumber)),r=o.endLineNumberExclusive}return r<a.endLineNumberExclusive&&h.push(new f(r,a.endLineNumberExclusive)),new p(h)}toString(){return this._normalizedRanges.map(a=>a.toString()).join(\", \")}getIntersection(a){const m=[];let e=0,h=0;for(;e<this._normalizedRanges.length&&h<a._normalizedRanges.length;){const r=this._normalizedRanges[e],s=a._normalizedRanges[h],o=r.intersect(s);o&&!o.isEmpty&&m.push(o),r.endLineNumberExclusive<s.endLineNumberExclusive?e++:h++}return new p(m)}getWithDelta(a){return new p(this._normalizedRanges.map(m=>m.delta(a)))}}n.LineRangeSet=p}),X(J[48],Z([0,1,4,2]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Selection=void 0;class A extends x.Range{constructor(f,p,c,a){super(f,p,c,a),this.selectionStartLineNumber=f,this.selectionStartColumn=p,this.positionLineNumber=c,this.positionColumn=a}toString(){return\"[\"+this.selectionStartLineNumber+\",\"+this.selectionStartColumn+\" -> \"+this.positionLineNumber+\",\"+this.positionColumn+\"]\"}equalsSelection(f){return A.selectionsEqual(this,f)}static selectionsEqual(f,p){return f.selectionStartLineNumber===p.selectionStartLineNumber&&f.selectionStartColumn===p.selectionStartColumn&&f.positionLineNumber===p.positionLineNumber&&f.positionColumn===p.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(f,p){return this.getDirection()===0?new A(this.startLineNumber,this.startColumn,f,p):new A(f,p,this.startLineNumber,this.startColumn)}getPosition(){return new i.Position(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new i.Position(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(f,p){return this.getDirection()===0?new A(f,p,this.endLineNumber,this.endColumn):new A(this.endLineNumber,this.endColumn,f,p)}static fromPositions(f,p=f){return new A(f.lineNumber,f.column,p.lineNumber,p.column)}static fromRange(f,p){return p===0?new A(f.startLineNumber,f.startColumn,f.endLineNumber,f.endColumn):new A(f.endLineNumber,f.endColumn,f.startLineNumber,f.startColumn)}static liftSelection(f){return new A(f.selectionStartLineNumber,f.selectionStartColumn,f.positionLineNumber,f.positionColumn)}static selectionsArrEqual(f,p){if(f&&!p||!f&&p)return!1;if(!f&&!p)return!0;if(f.length!==p.length)return!1;for(let c=0,a=f.length;c<a;c++)if(!this.selectionsEqual(f[c],p[c]))return!1;return!0}static isISelection(f){return f&&typeof f.selectionStartLineNumber==\"number\"&&typeof f.selectionStartColumn==\"number\"&&typeof f.positionLineNumber==\"number\"&&typeof f.positionColumn==\"number\"}static createWithDirection(f,p,c,a,m){return m===0?new A(f,p,c,a):new A(c,a,f,p)}}n.Selection=A}),X(J[30],Z([0,1,4,2]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.TextLength=void 0;class A{static{this.zero=new A(0,0)}static betweenPositions(f,p){return f.lineNumber===p.lineNumber?new A(0,p.column-f.column):new A(p.lineNumber-f.lineNumber,p.column-1)}static ofRange(f){return A.betweenPositions(f.getStartPosition(),f.getEndPosition())}static ofText(f){let p=0,c=0;for(const a of f)a===`\n`?(p++,c=0):c++;return new A(p,c)}constructor(f,p){this.lineCount=f,this.columnCount=p}isGreaterThanOrEqualTo(f){return this.lineCount!==f.lineCount?this.lineCount>f.lineCount:this.columnCount>=f.columnCount}createRange(f){return this.lineCount===0?new x.Range(f.lineNumber,f.column,f.lineNumber,f.column+this.columnCount):new x.Range(f.lineNumber,f.column,f.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(f){return this.lineCount===0?new i.Position(f.lineNumber,f.column+this.columnCount):new i.Position(f.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}n.TextLength=A}),X(J[49],Z([0,1,5,30]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.PositionOffsetTransformer=void 0;class A{constructor(f){this.text=f,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let p=0;p<f.length;p++)f.charAt(p)===`\n`&&this.lineStartOffsetByLineIdx.push(p+1)}getOffset(f){return this.lineStartOffsetByLineIdx[f.lineNumber-1]+f.column-1}getOffsetRange(f){return new i.OffsetRange(this.getOffset(f.getStartPosition()),this.getOffset(f.getEndPosition()))}get textLength(){const f=this.lineStartOffsetByLineIdx.length-1;return new x.TextLength(f,this.text.length-this.lineStartOffsetByLineIdx[f])}}n.PositionOffsetTransformer=A}),X(J[50],Z([0,1,12,3,4,49,2,30]),function(W,n,i,x,A,d,f,p){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.StringText=n.AbstractText=n.SingleTextEdit=n.TextEdit=void 0;class c{constructor(s){this.edits=s,(0,i.assertFn)(()=>(0,i.checkAdjacentItems)(s,(o,u)=>o.range.getEndPosition().isBeforeOrEqual(u.range.getStartPosition())))}apply(s){let o=\"\",u=new A.Position(1,1);for(const L of this.edits){const N=L.range,P=N.getStartPosition(),E=N.getEndPosition(),v=m(u,P);v.isEmpty()||(o+=s.getValueOfRange(v)),o+=L.text,u=E}const S=m(u,s.endPositionExclusive);return S.isEmpty()||(o+=s.getValueOfRange(S)),o}applyToString(s){const o=new h(s);return this.apply(o)}getNewRanges(){const s=[];let o=0,u=0,S=0;for(const L of this.edits){const N=p.TextLength.ofText(L.text),P=A.Position.lift({lineNumber:L.range.startLineNumber+u,column:L.range.startColumn+(L.range.startLineNumber===o?S:0)}),E=N.createRange(P);s.push(E),u=E.endLineNumber-L.range.endLineNumber,S=E.endColumn-L.range.endColumn,o=L.range.endLineNumber}return s}}n.TextEdit=c;class a{constructor(s,o){this.range=s,this.text=o}toSingleEditOperation(){return{range:this.range,text:this.text}}}n.SingleTextEdit=a;function m(r,s){if(r.lineNumber===s.lineNumber&&r.column===Number.MAX_SAFE_INTEGER)return f.Range.fromPositions(s,s);if(!r.isBeforeOrEqual(s))throw new x.BugIndicatingError(\"start must be before end\");return new f.Range(r.lineNumber,r.column,s.lineNumber,s.column)}class e{get endPositionExclusive(){return this.length.addToPosition(new A.Position(1,1))}}n.AbstractText=e;class h extends e{constructor(s){super(),this.value=s,this._t=new d.PositionOffsetTransformer(this.value)}getValueOfRange(s){return this._t.getOffsetRange(s).substring(this.value)}get length(){return this._t.textLength}}n.StringText=h}),X(J[51],Z([0,1,21,29]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.WordCharacterClassifier=void 0,n.getMapForWordSeparators=f;class A extends x.CharacterClassifier{constructor(c,a){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=a,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:\"word\"}):this._segmenter=null;for(let m=0,e=c.length;m<e;m++)this.set(c.charCodeAt(m),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(c,a){let m=null;for(const e of this._getIntlSegmenterWordsOnLine(c)){if(e.index>a)break;m=e}return m}findNextIntlWordAtOrAfterOffset(c,a){for(const m of this._getIntlSegmenterWordsOnLine(c))if(!(m.index<a))return m;return null}_getIntlSegmenterWordsOnLine(c){return this._segmenter?this._cachedLine===c?this._cachedSegments:(this._cachedLine=c,this._cachedSegments=this._filterWordSegments(this._segmenter.segment(c)),this._cachedSegments):[]}_filterWordSegments(c){const a=[];for(const m of c)this._isWordLike(m)&&a.push(m);return a}_isWordLike(c){return!!c.isWordLike}}n.WordCharacterClassifier=A;const d=new i.LRUCache(10);function f(p,c){const a=`${p}/${c.join(\",\")}`;let m=d.get(a);return m||(m=new A(p,c),d.set(a,m)),m}}),X(J[31],Z([0,1,19,20]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.DEFAULT_WORD_REGEXP=n.USUAL_WORD_SEPARATORS=void 0,n.ensureValidWordDefinition=d,n.getWordAtText=p,n.USUAL_WORD_SEPARATORS=\"`~!@#$%^&*()-=+[{]}\\\\|;:'\\\",.<>/?\";function A(a=\"\"){let m=\"(-?\\\\d*\\\\.\\\\d\\\\w*)|([^\";for(const e of n.USUAL_WORD_SEPARATORS)a.indexOf(e)>=0||(m+=\"\\\\\"+e);return m+=\"\\\\s]+)\",new RegExp(m,\"g\")}n.DEFAULT_WORD_REGEXP=A();function d(a){let m=n.DEFAULT_WORD_REGEXP;if(a&&a instanceof RegExp)if(a.global)m=a;else{let e=\"g\";a.ignoreCase&&(e+=\"i\"),a.multiline&&(e+=\"m\"),a.unicode&&(e+=\"u\"),m=new RegExp(a.source,e)}return m.lastIndex=0,m}const f=new x.LinkedList;f.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function p(a,m,e,h,r){if(m=d(m),r||(r=i.Iterable.first(f)),e.length>r.maxLen){let L=a-r.maxLen/2;return L<0?L=0:h+=L,e=e.substring(L,a+r.maxLen/2),p(a,m,e,h,r)}const s=Date.now(),o=a-1-h;let u=-1,S=null;for(let L=1;!(Date.now()-s>=r.timeBudget);L++){const N=o-r.windowSize*L;m.lastIndex=Math.max(0,N);const P=c(m,e,o,u);if(!P&&S||(S=P,N<=0))break;u=N}if(S){const L={word:S[0],startColumn:h+1+S.index,endColumn:h+1+S.index+S[0].length};return m.lastIndex=0,L}return null}function c(a,m,e,h){let r;for(;r=a.exec(m);){const s=r.index||0;if(s<=e&&a.lastIndex>=e)return r;if(h>0&&s>h)return null}return null}}),X(J[10],Z([0,1,7,3,5]),function(W,n,i,x,A){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.DateTimeout=n.InfiniteTimeout=n.OffsetPair=n.SequenceDiff=n.DiffAlgorithmResult=void 0;class d{static trivial(e,h){return new d([new f(A.OffsetRange.ofLength(e.length),A.OffsetRange.ofLength(h.length))],!1)}static trivialTimedOut(e,h){return new d([new f(A.OffsetRange.ofLength(e.length),A.OffsetRange.ofLength(h.length))],!0)}constructor(e,h){this.diffs=e,this.hitTimeout=h}}n.DiffAlgorithmResult=d;class f{static invert(e,h){const r=[];return(0,i.forEachAdjacent)(e,(s,o)=>{r.push(f.fromOffsetPairs(s?s.getEndExclusives():p.zero,o?o.getStarts():new p(h,(s?s.seq2Range.endExclusive-s.seq1Range.endExclusive:0)+h)))}),r}static fromOffsetPairs(e,h){return new f(new A.OffsetRange(e.offset1,h.offset1),new A.OffsetRange(e.offset2,h.offset2))}static assertSorted(e){let h;for(const r of e){if(h&&!(h.seq1Range.endExclusive<=r.seq1Range.start&&h.seq2Range.endExclusive<=r.seq2Range.start))throw new x.BugIndicatingError(\"Sequence diffs must be sorted\");h=r}}constructor(e,h){this.seq1Range=e,this.seq2Range=h}swap(){return new f(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new f(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new f(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new f(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new f(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const h=this.seq1Range.intersect(e.seq1Range),r=this.seq2Range.intersect(e.seq2Range);if(!(!h||!r))return new f(h,r)}getStarts(){return new p(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new p(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}n.SequenceDiff=f;class p{static{this.zero=new p(0,0)}static{this.max=new p(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,h){this.offset1=e,this.offset2=h}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return e===0?this:new p(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}n.OffsetPair=p;class c{static{this.instance=new c}isValid(){return!0}}n.InfiniteTimeout=c;class a{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new x.BugIndicatingError(\"timeout must be positive\")}isValid(){if(!(Date.now()-this.startTime<this.timeout)&&this.valid){this.valid=!1;debugger}return this.valid}}n.DateTimeout=a}),X(J[32],Z([0,1,5,10]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.MyersDiffAlgorithm=void 0;class A{compute(a,m,e=x.InfiniteTimeout.instance){if(a.length===0||m.length===0)return x.DiffAlgorithmResult.trivial(a,m);const h=a,r=m;function s(l,b){for(;l<h.length&&b<r.length&&h.getElement(l)===r.getElement(b);)l++,b++;return l}let o=0;const u=new f;u.set(0,s(0,0));const S=new p;S.set(0,u.get(0)===0?null:new d(null,0,0,u.get(0)));let L=0;e:for(;;){if(o++,!e.isValid())return x.DiffAlgorithmResult.trivialTimedOut(h,r);const l=-Math.min(o,r.length+o%2),b=Math.min(o,h.length+o%2);for(L=l;L<=b;L+=2){let g=0;const w=L===b?-1:u.get(L+1),M=L===l?-1:u.get(L-1)+1;g++;const y=Math.min(Math.max(w,M),h.length),_=y-L;if(g++,y>h.length||_>r.length)continue;const C=s(y,_);u.set(L,C);const R=y===w?S.get(L+1):S.get(L-1);if(S.set(L,C!==y?new d(R,y,_,C-y):R),u.get(L)===h.length&&u.get(L)-L===r.length)break e}}let N=S.get(L);const P=[];let E=h.length,v=r.length;for(;;){const l=N?N.x+N.length:0,b=N?N.y+N.length:0;if((l!==E||b!==v)&&P.push(new x.SequenceDiff(new i.OffsetRange(l,E),new i.OffsetRange(b,v))),!N)break;E=N.x,v=N.y,N=N.prev}return P.reverse(),new x.DiffAlgorithmResult(P,!1)}}n.MyersDiffAlgorithm=A;class d{constructor(a,m,e,h){this.prev=a,this.x=m,this.y=e,this.length=h}}class f{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(a){return a<0?(a=-a-1,this.negativeArr[a]):this.positiveArr[a]}set(a,m){if(a<0){if(a=-a-1,a>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(e.length*2),this.negativeArr.set(e)}this.negativeArr[a]=m}else{if(a>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(e.length*2),this.positiveArr.set(e)}this.positiveArr[a]=m}}}class p{constructor(){this.positiveArr=[],this.negativeArr=[]}get(a){return a<0?(a=-a-1,this.negativeArr[a]):this.positiveArr[a]}set(a,m){a<0?(a=-a-1,this.negativeArr[a]=m):this.positiveArr[a]=m}}}),X(J[52],Z([0,1,7,5,10]),function(W,n,i,x,A){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.optimizeSequenceDiffs=d,n.removeShortMatches=a,n.extendDiffsToEntireWordIfAppropriate=m,n.removeVeryShortMatchingLinesBetweenDiffs=h,n.removeVeryShortMatchingTextBetweenLongDiffs=r;function d(s,o,u){let S=u;return S=f(s,o,S),S=f(s,o,S),S=p(s,o,S),S}function f(s,o,u){if(u.length===0)return u;const S=[];S.push(u[0]);for(let N=1;N<u.length;N++){const P=S[S.length-1];let E=u[N];if(E.seq1Range.isEmpty||E.seq2Range.isEmpty){const v=E.seq1Range.start-P.seq1Range.endExclusive;let l;for(l=1;l<=v&&!(s.getElement(E.seq1Range.start-l)!==s.getElement(E.seq1Range.endExclusive-l)||o.getElement(E.seq2Range.start-l)!==o.getElement(E.seq2Range.endExclusive-l));l++);if(l--,l===v){S[S.length-1]=new A.SequenceDiff(new x.OffsetRange(P.seq1Range.start,E.seq1Range.endExclusive-v),new x.OffsetRange(P.seq2Range.start,E.seq2Range.endExclusive-v));continue}E=E.delta(-l)}S.push(E)}const L=[];for(let N=0;N<S.length-1;N++){const P=S[N+1];let E=S[N];if(E.seq1Range.isEmpty||E.seq2Range.isEmpty){const v=P.seq1Range.start-E.seq1Range.endExclusive;let l;for(l=0;l<v&&!(!s.isStronglyEqual(E.seq1Range.start+l,E.seq1Range.endExclusive+l)||!o.isStronglyEqual(E.seq2Range.start+l,E.seq2Range.endExclusive+l));l++);if(l===v){S[N+1]=new A.SequenceDiff(new x.OffsetRange(E.seq1Range.start+v,P.seq1Range.endExclusive),new x.OffsetRange(E.seq2Range.start+v,P.seq2Range.endExclusive));continue}l>0&&(E=E.delta(l))}L.push(E)}return S.length>0&&L.push(S[S.length-1]),L}function p(s,o,u){if(!s.getBoundaryScore||!o.getBoundaryScore)return u;for(let S=0;S<u.length;S++){const L=S>0?u[S-1]:void 0,N=u[S],P=S+1<u.length?u[S+1]:void 0,E=new x.OffsetRange(L?L.seq1Range.endExclusive+1:0,P?P.seq1Range.start-1:s.length),v=new x.OffsetRange(L?L.seq2Range.endExclusive+1:0,P?P.seq2Range.start-1:o.length);N.seq1Range.isEmpty?u[S]=c(N,s,o,E,v):N.seq2Range.isEmpty&&(u[S]=c(N.swap(),o,s,v,E).swap())}return u}function c(s,o,u,S,L){let P=1;for(;s.seq1Range.start-P>=S.start&&s.seq2Range.start-P>=L.start&&u.isStronglyEqual(s.seq2Range.start-P,s.seq2Range.endExclusive-P)&&P<100;)P++;P--;let E=0;for(;s.seq1Range.start+E<S.endExclusive&&s.seq2Range.endExclusive+E<L.endExclusive&&u.isStronglyEqual(s.seq2Range.start+E,s.seq2Range.endExclusive+E)&&E<100;)E++;if(P===0&&E===0)return s;let v=0,l=-1;for(let b=-P;b<=E;b++){const g=s.seq2Range.start+b,w=s.seq2Range.endExclusive+b,M=s.seq1Range.start+b,y=o.getBoundaryScore(M)+u.getBoundaryScore(g)+u.getBoundaryScore(w);y>l&&(l=y,v=b)}return s.delta(v)}function a(s,o,u){const S=[];for(const L of u){const N=S[S.length-1];if(!N){S.push(L);continue}L.seq1Range.start-N.seq1Range.endExclusive<=2||L.seq2Range.start-N.seq2Range.endExclusive<=2?S[S.length-1]=new A.SequenceDiff(N.seq1Range.join(L.seq1Range),N.seq2Range.join(L.seq2Range)):S.push(L)}return S}function m(s,o,u){const S=A.SequenceDiff.invert(u,s.length),L=[];let N=new A.OffsetPair(0,0);function P(v,l){if(v.offset1<N.offset1||v.offset2<N.offset2)return;const b=s.findWordContaining(v.offset1),g=o.findWordContaining(v.offset2);if(!b||!g)return;let w=new A.SequenceDiff(b,g);const M=w.intersect(l);let y=M.seq1Range.length,_=M.seq2Range.length;for(;S.length>0;){const C=S[0];if(!(C.seq1Range.intersects(w.seq1Range)||C.seq2Range.intersects(w.seq2Range)))break;const D=s.findWordContaining(C.seq1Range.start),T=o.findWordContaining(C.seq2Range.start),O=new A.SequenceDiff(D,T),z=O.intersect(C);if(y+=z.seq1Range.length,_+=z.seq2Range.length,w=w.join(O),w.seq1Range.endExclusive>=C.seq1Range.endExclusive)S.shift();else break}y+_<(w.seq1Range.length+w.seq2Range.length)*2/3&&L.push(w),N=w.getEndExclusives()}for(;S.length>0;){const v=S.shift();v.seq1Range.isEmpty||(P(v.getStarts(),v),P(v.getEndExclusives().delta(-1),v))}return e(u,L)}function e(s,o){const u=[];for(;s.length>0||o.length>0;){const S=s[0],L=o[0];let N;S&&(!L||S.seq1Range.start<L.seq1Range.start)?N=s.shift():N=o.shift(),u.length>0&&u[u.length-1].seq1Range.endExclusive>=N.seq1Range.start?u[u.length-1]=u[u.length-1].join(N):u.push(N)}return u}function h(s,o,u){let S=u;if(S.length===0)return S;let L=0,N;do{N=!1;const P=[S[0]];for(let E=1;E<S.length;E++){let b=function(w,M){const y=new x.OffsetRange(l.seq1Range.endExclusive,v.seq1Range.start);return s.getText(y).replace(/\\s/g,\"\").length<=4&&(w.seq1Range.length+w.seq2Range.length>5||M.seq1Range.length+M.seq2Range.length>5)};const v=S[E],l=P[P.length-1];b(l,v)?(N=!0,P[P.length-1]=P[P.length-1].join(v)):P.push(v)}S=P}while(L++<10&&N);return S}function r(s,o,u){let S=u;if(S.length===0)return S;let L=0,N;do{N=!1;const E=[S[0]];for(let v=1;v<S.length;v++){let g=function(M,y){const _=new x.OffsetRange(b.seq1Range.endExclusive,l.seq1Range.start);if(s.countLinesIn(_)>5||_.length>500)return!1;const R=s.getText(_).trim();if(R.length>20||R.split(/\\r\\n|\\r|\\n/).length>1)return!1;const D=s.countLinesIn(M.seq1Range),T=M.seq1Range.length,O=o.countLinesIn(M.seq2Range),z=M.seq2Range.length,j=s.countLinesIn(y.seq1Range),F=y.seq1Range.length,q=o.countLinesIn(y.seq2Range),B=y.seq2Range.length,G=2*40+50;function $(U){return Math.min(U,G)}return Math.pow(Math.pow($(D*40+T),1.5)+Math.pow($(O*40+z),1.5),1.5)+Math.pow(Math.pow($(j*40+F),1.5)+Math.pow($(q*40+B),1.5),1.5)>(G**1.5)**1.5*1.3};const l=S[v],b=E[E.length-1];g(b,l)?(N=!0,E[E.length-1]=E[E.length-1].join(l)):E.push(l)}S=E}while(L++<10&&N);const P=[];return(0,i.forEachWithNeighbors)(S,(E,v,l)=>{let b=v;function g(R){return R.length>0&&R.trim().length<=3&&v.seq1Range.length+v.seq2Range.length>100}const w=s.extendToFullLines(v.seq1Range),M=s.getText(new x.OffsetRange(w.start,v.seq1Range.start));g(M)&&(b=b.deltaStart(-M.length));const y=s.getText(new x.OffsetRange(v.seq1Range.endExclusive,w.endExclusive));g(y)&&(b=b.deltaEnd(y.length));const _=A.SequenceDiff.fromOffsetPairs(E?E.getEndExclusives():A.OffsetPair.zero,l?l.getStarts():A.OffsetPair.max),C=b.intersect(_);P.length>0&&C.getStarts().equals(P[P.length-1].getEndExclusives())?P[P.length-1]=P[P.length-1].join(C):P.push(C)}),P}}),X(J[53],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.LineSequence=void 0;class i{constructor(d,f){this.trimmedHash=d,this.lines=f}getElement(d){return this.trimmedHash[d]}get length(){return this.trimmedHash.length}getBoundaryScore(d){const f=d===0?0:x(this.lines[d-1]),p=d===this.lines.length?0:x(this.lines[d]);return 1e3-(f+p)}getText(d){return this.lines.slice(d.start,d.endExclusive).join(`\n`)}isStronglyEqual(d,f){return this.lines[d]===this.lines[f]}}n.LineSequence=i;function x(A){let d=0;for(;d<A.length&&(A.charCodeAt(d)===32||A.charCodeAt(d)===9);)d++;return d}}),X(J[16],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.LineRangeFragment=n.Array2D=void 0,n.isSpace=x;class i{constructor(f,p){this.width=f,this.height=p,this.array=[],this.array=new Array(f*p)}get(f,p){return this.array[f+p*this.width]}set(f,p,c){this.array[f+p*this.width]=c}}n.Array2D=i;function x(d){return d===32||d===9}class A{static{this.chrKeys=new Map}static getKey(f){let p=this.chrKeys.get(f);return p===void 0&&(p=this.chrKeys.size,this.chrKeys.set(f,p)),p}constructor(f,p,c){this.range=f,this.lines=p,this.source=c,this.histogram=[];let a=0;for(let m=f.startLineNumber-1;m<f.endLineNumberExclusive-1;m++){const e=p[m];for(let r=0;r<e.length;r++){a++;const s=e[r],o=A.getKey(s);this.histogram[o]=(this.histogram[o]||0)+1}a++;const h=A.getKey(`\n`);this.histogram[h]=(this.histogram[h]||0)+1}this.totalCount=a}computeSimilarity(f){let p=0;const c=Math.max(this.histogram.length,f.histogram.length);for(let a=0;a<c;a++)p+=Math.abs((this.histogram[a]??0)-(f.histogram[a]??0));return 1-p/(this.totalCount+f.totalCount)}}n.LineRangeFragment=A}),X(J[54],Z([0,1,5,10,16]),function(W,n,i,x,A){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.DynamicProgrammingDiffing=void 0;class d{compute(p,c,a=x.InfiniteTimeout.instance,m){if(p.length===0||c.length===0)return x.DiffAlgorithmResult.trivial(p,c);const e=new A.Array2D(p.length,c.length),h=new A.Array2D(p.length,c.length),r=new A.Array2D(p.length,c.length);for(let P=0;P<p.length;P++)for(let E=0;E<c.length;E++){if(!a.isValid())return x.DiffAlgorithmResult.trivialTimedOut(p,c);const v=P===0?0:e.get(P-1,E),l=E===0?0:e.get(P,E-1);let b;p.getElement(P)===c.getElement(E)?(P===0||E===0?b=0:b=e.get(P-1,E-1),P>0&&E>0&&h.get(P-1,E-1)===3&&(b+=r.get(P-1,E-1)),b+=m?m(P,E):1):b=-1;const g=Math.max(v,l,b);if(g===b){const w=P>0&&E>0?r.get(P-1,E-1):0;r.set(P,E,w+1),h.set(P,E,3)}else g===v?(r.set(P,E,0),h.set(P,E,1)):g===l&&(r.set(P,E,0),h.set(P,E,2));e.set(P,E,g)}const s=[];let o=p.length,u=c.length;function S(P,E){(P+1!==o||E+1!==u)&&s.push(new x.SequenceDiff(new i.OffsetRange(P+1,o),new i.OffsetRange(E+1,u))),o=P,u=E}let L=p.length-1,N=c.length-1;for(;L>=0&&N>=0;)h.get(L,N)===3?(S(L,N),L--,N--):h.get(L,N)===1?L--:N--;return S(-1,-1),s.reverse(),new x.DiffAlgorithmResult(s,!1)}}n.DynamicProgrammingDiffing=d}),X(J[33],Z([0,1,15,5,4,2,16]),function(W,n,i,x,A,d,f){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.LinesSliceCharSequence=void 0;class p{constructor(r,s,o){this.lines=r,this.range=s,this.considerWhitespaceChanges=o,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let u=this.range.startLineNumber;u<=this.range.endLineNumber;u++){let S=r[u-1],L=0;u===this.range.startLineNumber&&this.range.startColumn>1&&(L=this.range.startColumn-1,S=S.substring(L)),this.lineStartOffsets.push(L);let N=0;if(!o){const E=S.trimStart();N=S.length-E.length,S=E.trimEnd()}this.trimmedWsLengthsByLineIdx.push(N);const P=u===this.range.endLineNumber?Math.min(this.range.endColumn-1-L-N,S.length):S.length;for(let E=0;E<P;E++)this.elements.push(S.charCodeAt(E));u<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: \"${this.text}\"`}get text(){return this.getText(new x.OffsetRange(0,this.length))}getText(r){return this.elements.slice(r.start,r.endExclusive).map(s=>String.fromCharCode(s)).join(\"\")}getElement(r){return this.elements[r]}get length(){return this.elements.length}getBoundaryScore(r){const s=e(r>0?this.elements[r-1]:-1),o=e(r<this.elements.length?this.elements[r]:-1);if(s===7&&o===8)return 0;if(s===8)return 150;let u=0;return s!==o&&(u+=10,s===0&&o===1&&(u+=1)),u+=m(s),u+=m(o),u}translateOffset(r,s=\"right\"){const o=(0,i.findLastIdxMonotonous)(this.firstElementOffsetByLineIdx,S=>S<=r),u=r-this.firstElementOffsetByLineIdx[o];return new A.Position(this.range.startLineNumber+o,1+this.lineStartOffsets[o]+u+(u===0&&s===\"left\"?0:this.trimmedWsLengthsByLineIdx[o]))}translateRange(r){const s=this.translateOffset(r.start,\"right\"),o=this.translateOffset(r.endExclusive,\"left\");return o.isBefore(s)?d.Range.fromPositions(o,o):d.Range.fromPositions(s,o)}findWordContaining(r){if(r<0||r>=this.elements.length||!c(this.elements[r]))return;let s=r;for(;s>0&&c(this.elements[s-1]);)s--;let o=r;for(;o<this.elements.length&&c(this.elements[o]);)o++;return new x.OffsetRange(s,o)}countLinesIn(r){return this.translateOffset(r.endExclusive).lineNumber-this.translateOffset(r.start).lineNumber}isStronglyEqual(r,s){return this.elements[r]===this.elements[s]}extendToFullLines(r){const s=(0,i.findLastMonotonous)(this.firstElementOffsetByLineIdx,u=>u<=r.start)??0,o=(0,i.findFirstMonotonous)(this.firstElementOffsetByLineIdx,u=>r.endExclusive<=u)??this.elements.length;return new x.OffsetRange(s,o)}}n.LinesSliceCharSequence=p;function c(h){return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57}const a={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function m(h){return a[h]}function e(h){return h===10?8:h===13?7:(0,f.isSpace)(h)?6:h>=97&&h<=122?0:h>=65&&h<=90?1:h>=48&&h<=57?2:h===-1?3:h===44||h===59?5:4}}),X(J[34],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.MovedText=n.LinesDiff=void 0;class i{constructor(d,f,p){this.changes=d,this.moves=f,this.hitTimeout=p}}n.LinesDiff=i;class x{constructor(d,f){this.lineRangeMapping=d,this.changes=f}}n.MovedText=x}),X(J[17],Z([0,1,3,13,4,2,50]),function(W,n,i,x,A,d,f){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.RangeMapping=n.DetailedLineRangeMapping=n.LineRangeMapping=void 0;class p{static inverse(r,s,o){const u=[];let S=1,L=1;for(const P of r){const E=new p(new x.LineRange(S,P.original.startLineNumber),new x.LineRange(L,P.modified.startLineNumber));E.modified.isEmpty||u.push(E),S=P.original.endLineNumberExclusive,L=P.modified.endLineNumberExclusive}const N=new p(new x.LineRange(S,s+1),new x.LineRange(L,o+1));return N.modified.isEmpty||u.push(N),u}static clip(r,s,o){const u=[];for(const S of r){const L=S.original.intersect(s),N=S.modified.intersect(o);L&&!L.isEmpty&&N&&!N.isEmpty&&u.push(new p(L,N))}return u}constructor(r,s){this.original=r,this.modified=s}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new p(this.modified,this.original)}join(r){return new p(this.original.join(r.original),this.modified.join(r.modified))}toRangeMapping(){const r=this.original.toInclusiveRange(),s=this.modified.toInclusiveRange();if(r&&s)return new e(r,s);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new i.BugIndicatingError(\"not a valid diff\");return new e(new d.Range(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new d.Range(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new e(new d.Range(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new d.Range(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(r,s){if(a(this.original.endLineNumberExclusive,r)&&a(this.modified.endLineNumberExclusive,s))return new e(new d.Range(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new d.Range(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new e(d.Range.fromPositions(new A.Position(this.original.startLineNumber,1),c(new A.Position(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),r)),d.Range.fromPositions(new A.Position(this.modified.startLineNumber,1),c(new A.Position(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),s)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new e(d.Range.fromPositions(c(new A.Position(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),r),c(new A.Position(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),r)),d.Range.fromPositions(c(new A.Position(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),s),c(new A.Position(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),s)));throw new i.BugIndicatingError}}n.LineRangeMapping=p;function c(h,r){if(h.lineNumber<1)return new A.Position(1,1);if(h.lineNumber>r.length)return new A.Position(r.length,r[r.length-1].length+1);const s=r[h.lineNumber-1];return h.column>s.length+1?new A.Position(h.lineNumber,s.length+1):h}function a(h,r){return h>=1&&h<=r.length}class m extends p{static fromRangeMappings(r){const s=x.LineRange.join(r.map(u=>x.LineRange.fromRangeInclusive(u.originalRange))),o=x.LineRange.join(r.map(u=>x.LineRange.fromRangeInclusive(u.modifiedRange)));return new m(s,o,r)}constructor(r,s,o){super(r,s),this.innerChanges=o}flip(){return new m(this.modified,this.original,this.innerChanges?.map(r=>r.flip()))}withInnerChangesFromLineRanges(){return new m(this.original,this.modified,[this.toRangeMapping()])}}n.DetailedLineRangeMapping=m;class e{static assertSorted(r){for(let s=1;s<r.length;s++){const o=r[s-1],u=r[s];if(!(o.originalRange.getEndPosition().isBeforeOrEqual(u.originalRange.getStartPosition())&&o.modifiedRange.getEndPosition().isBeforeOrEqual(u.modifiedRange.getStartPosition())))throw new i.BugIndicatingError(\"Range mappings must be sorted\")}}constructor(r,s){this.originalRange=r,this.modifiedRange=s}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new e(this.modifiedRange,this.originalRange)}toTextEdit(r){const s=r.getValueOfRange(this.modifiedRange);return new f.SingleTextEdit(this.originalRange,s)}}n.RangeMapping=e}),X(J[55],Z([0,1,10,17,7,15,21,13,33,16,32,2]),function(W,n,i,x,A,d,f,p,c,a,m,e){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.computeMovedLines=h;function h(N,P,E,v,l,b){let{moves:g,excludedChanges:w}=s(N,P,E,b);if(!b.isValid())return[];const M=N.filter(_=>!w.has(_)),y=o(M,v,l,P,E,b);return(0,A.pushMany)(g,y),g=S(g),g=g.filter(_=>{const C=_.original.toOffsetRange().slice(P).map(D=>D.trim());return C.join(`\n`).length>=15&&r(C,D=>D.length>=2)>=2}),g=L(N,g),g}function r(N,P){let E=0;for(const v of N)P(v)&&E++;return E}function s(N,P,E,v){const l=[],b=N.filter(M=>M.modified.isEmpty&&M.original.length>=3).map(M=>new a.LineRangeFragment(M.original,P,M)),g=new Set(N.filter(M=>M.original.isEmpty&&M.modified.length>=3).map(M=>new a.LineRangeFragment(M.modified,E,M))),w=new Set;for(const M of b){let y=-1,_;for(const C of g){const R=M.computeSimilarity(C);R>y&&(y=R,_=C)}if(y>.9&&_&&(g.delete(_),l.push(new x.LineRangeMapping(M.range,_.range)),w.add(M.source),w.add(_.source)),!v.isValid())return{moves:l,excludedChanges:w}}return{moves:l,excludedChanges:w}}function o(N,P,E,v,l,b){const g=[],w=new f.SetMap;for(const R of N)for(let D=R.original.startLineNumber;D<R.original.endLineNumberExclusive-2;D++){const T=`${P[D-1]}:${P[D+1-1]}:${P[D+2-1]}`;w.add(T,{range:new p.LineRange(D,D+3)})}const M=[];N.sort((0,A.compareBy)(R=>R.modified.startLineNumber,A.numberComparator));for(const R of N){let D=[];for(let T=R.modified.startLineNumber;T<R.modified.endLineNumberExclusive-2;T++){const O=`${E[T-1]}:${E[T+1-1]}:${E[T+2-1]}`,z=new p.LineRange(T,T+3),j=[];w.forEach(O,({range:F})=>{for(const B of D)if(B.originalLineRange.endLineNumberExclusive+1===F.endLineNumberExclusive&&B.modifiedLineRange.endLineNumberExclusive+1===z.endLineNumberExclusive){B.originalLineRange=new p.LineRange(B.originalLineRange.startLineNumber,F.endLineNumberExclusive),B.modifiedLineRange=new p.LineRange(B.modifiedLineRange.startLineNumber,z.endLineNumberExclusive),j.push(B);return}const q={modifiedLineRange:z,originalLineRange:F};M.push(q),j.push(q)}),D=j}if(!b.isValid())return[]}M.sort((0,A.reverseOrder)((0,A.compareBy)(R=>R.modifiedLineRange.length,A.numberComparator)));const y=new p.LineRangeSet,_=new p.LineRangeSet;for(const R of M){const D=R.modifiedLineRange.startLineNumber-R.originalLineRange.startLineNumber,T=y.subtractFrom(R.modifiedLineRange),O=_.subtractFrom(R.originalLineRange).getWithDelta(D),z=T.getIntersection(O);for(const j of z.ranges){if(j.length<3)continue;const F=j,q=j.delta(-D);g.push(new x.LineRangeMapping(q,F)),y.addRange(F),_.addRange(q)}}g.sort((0,A.compareBy)(R=>R.original.startLineNumber,A.numberComparator));const C=new d.MonotonousArray(N);for(let R=0;R<g.length;R++){const D=g[R],T=C.findLastMonotonous($=>$.original.startLineNumber<=D.original.startLineNumber),O=(0,d.findLastMonotonous)(N,$=>$.modified.startLineNumber<=D.modified.startLineNumber),z=Math.max(D.original.startLineNumber-T.original.startLineNumber,D.modified.startLineNumber-O.modified.startLineNumber),j=C.findLastMonotonous($=>$.original.startLineNumber<D.original.endLineNumberExclusive),F=(0,d.findLastMonotonous)(N,$=>$.modified.startLineNumber<D.modified.endLineNumberExclusive),q=Math.max(j.original.endLineNumberExclusive-D.original.endLineNumberExclusive,F.modified.endLineNumberExclusive-D.modified.endLineNumberExclusive);let B;for(B=0;B<z;B++){const $=D.original.startLineNumber-B-1,U=D.modified.startLineNumber-B-1;if($>v.length||U>l.length||y.contains(U)||_.contains($)||!u(v[$-1],l[U-1],b))break}B>0&&(_.addRange(new p.LineRange(D.original.startLineNumber-B,D.original.startLineNumber)),y.addRange(new p.LineRange(D.modified.startLineNumber-B,D.modified.startLineNumber)));let G;for(G=0;G<q;G++){const $=D.original.endLineNumberExclusive+G,U=D.modified.endLineNumberExclusive+G;if($>v.length||U>l.length||y.contains(U)||_.contains($)||!u(v[$-1],l[U-1],b))break}G>0&&(_.addRange(new p.LineRange(D.original.endLineNumberExclusive,D.original.endLineNumberExclusive+G)),y.addRange(new p.LineRange(D.modified.endLineNumberExclusive,D.modified.endLineNumberExclusive+G))),(B>0||G>0)&&(g[R]=new x.LineRangeMapping(new p.LineRange(D.original.startLineNumber-B,D.original.endLineNumberExclusive+G),new p.LineRange(D.modified.startLineNumber-B,D.modified.endLineNumberExclusive+G)))}return g}function u(N,P,E){if(N.trim()===P.trim())return!0;if(N.length>300&&P.length>300)return!1;const l=new m.MyersDiffAlgorithm().compute(new c.LinesSliceCharSequence([N],new e.Range(1,1,1,N.length),!1),new c.LinesSliceCharSequence([P],new e.Range(1,1,1,P.length),!1),E);let b=0;const g=i.SequenceDiff.invert(l.diffs,N.length);for(const _ of g)_.seq1Range.forEach(C=>{(0,a.isSpace)(N.charCodeAt(C))||b++});function w(_){let C=0;for(let R=0;R<N.length;R++)(0,a.isSpace)(_.charCodeAt(R))||C++;return C}const M=w(N.length>P.length?N:P);return b/M>.6&&M>10}function S(N){if(N.length===0)return N;N.sort((0,A.compareBy)(E=>E.original.startLineNumber,A.numberComparator));const P=[N[0]];for(let E=1;E<N.length;E++){const v=P[P.length-1],l=N[E],b=l.original.startLineNumber-v.original.endLineNumberExclusive,g=l.modified.startLineNumber-v.modified.endLineNumberExclusive;if(b>=0&&g>=0&&b+g<=2){P[P.length-1]=v.join(l);continue}P.push(l)}return P}function L(N,P){const E=new d.MonotonousArray(N);return P=P.filter(v=>{const l=E.findLastMonotonous(w=>w.original.startLineNumber<v.original.endLineNumberExclusive)||new x.LineRangeMapping(new p.LineRange(1,1),new p.LineRange(1,1)),b=(0,d.findLastMonotonous)(N,w=>w.modified.startLineNumber<v.modified.endLineNumberExclusive);return l!==b}),P}}),X(J[56],Z([0,1,7,12,13,5,2,10,54,32,55,52,53,33,34,17]),function(W,n,i,x,A,d,f,p,c,a,m,e,h,r,s,o){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.DefaultLinesDiffComputer=void 0,n.lineRangeMappingFromRangeMappings=S,n.getLineRangeMapping=L;class u{constructor(){this.dynamicProgrammingDiffing=new c.DynamicProgrammingDiffing,this.myersDiffingAlgorithm=new a.MyersDiffAlgorithm}computeDiff(E,v,l){if(E.length<=1&&(0,i.equals)(E,v,($,U)=>$===U))return new s.LinesDiff([],[],!1);if(E.length===1&&E[0].length===0||v.length===1&&v[0].length===0)return new s.LinesDiff([new o.DetailedLineRangeMapping(new A.LineRange(1,E.length+1),new A.LineRange(1,v.length+1),[new o.RangeMapping(new f.Range(1,1,E.length,E[E.length-1].length+1),new f.Range(1,1,v.length,v[v.length-1].length+1))])],[],!1);const b=l.maxComputationTimeMs===0?p.InfiniteTimeout.instance:new p.DateTimeout(l.maxComputationTimeMs),g=!l.ignoreTrimWhitespace,w=new Map;function M($){let U=w.get($);return U===void 0&&(U=w.size,w.set($,U)),U}const y=E.map($=>M($.trim())),_=v.map($=>M($.trim())),C=new h.LineSequence(y,E),R=new h.LineSequence(_,v),D=C.length+R.length<1700?this.dynamicProgrammingDiffing.compute(C,R,b,($,U)=>E[$]===v[U]?v[U].length===0?.1:1+Math.log(1+v[U].length):.99):this.myersDiffingAlgorithm.compute(C,R,b);let T=D.diffs,O=D.hitTimeout;T=(0,e.optimizeSequenceDiffs)(C,R,T),T=(0,e.removeVeryShortMatchingLinesBetweenDiffs)(C,R,T);const z=[],j=$=>{if(g)for(let U=0;U<$;U++){const ee=F+U,re=q+U;if(E[ee]!==v[re]){const ue=this.refineDiff(E,v,new p.SequenceDiff(new d.OffsetRange(ee,ee+1),new d.OffsetRange(re,re+1)),b,g);for(const de of ue.mappings)z.push(de);ue.hitTimeout&&(O=!0)}}};let F=0,q=0;for(const $ of T){(0,x.assertFn)(()=>$.seq1Range.start-F===$.seq2Range.start-q);const U=$.seq1Range.start-F;j(U),F=$.seq1Range.endExclusive,q=$.seq2Range.endExclusive;const ee=this.refineDiff(E,v,$,b,g);ee.hitTimeout&&(O=!0);for(const re of ee.mappings)z.push(re)}j(E.length-F);const B=S(z,E,v);let G=[];return l.computeMoves&&(G=this.computeMoves(B,E,v,y,_,b,g)),(0,x.assertFn)(()=>{function $(ee,re){if(ee.lineNumber<1||ee.lineNumber>re.length)return!1;const ue=re[ee.lineNumber-1];return!(ee.column<1||ee.column>ue.length+1)}function U(ee,re){return!(ee.startLineNumber<1||ee.startLineNumber>re.length+1||ee.endLineNumberExclusive<1||ee.endLineNumberExclusive>re.length+1)}for(const ee of B){if(!ee.innerChanges)return!1;for(const re of ee.innerChanges)if(!($(re.modifiedRange.getStartPosition(),v)&&$(re.modifiedRange.getEndPosition(),v)&&$(re.originalRange.getStartPosition(),E)&&$(re.originalRange.getEndPosition(),E)))return!1;if(!U(ee.modified,v)||!U(ee.original,E))return!1}return!0}),new s.LinesDiff(B,G,O)}computeMoves(E,v,l,b,g,w,M){return(0,m.computeMovedLines)(E,v,l,b,g,w).map(C=>{const R=this.refineDiff(v,l,new p.SequenceDiff(C.original.toOffsetRange(),C.modified.toOffsetRange()),w,M),D=S(R.mappings,v,l,!0);return new s.MovedText(C,D)})}refineDiff(E,v,l,b,g){const M=N(l).toRangeMapping2(E,v),y=new r.LinesSliceCharSequence(E,M.originalRange,g),_=new r.LinesSliceCharSequence(v,M.modifiedRange,g),C=y.length+_.length<500?this.dynamicProgrammingDiffing.compute(y,_,b):this.myersDiffingAlgorithm.compute(y,_,b),R=!1;let D=C.diffs;R&&p.SequenceDiff.assertSorted(D),D=(0,e.optimizeSequenceDiffs)(y,_,D),R&&p.SequenceDiff.assertSorted(D),D=(0,e.extendDiffsToEntireWordIfAppropriate)(y,_,D),R&&p.SequenceDiff.assertSorted(D),D=(0,e.removeShortMatches)(y,_,D),R&&p.SequenceDiff.assertSorted(D),D=(0,e.removeVeryShortMatchingTextBetweenLongDiffs)(y,_,D),R&&p.SequenceDiff.assertSorted(D);const T=D.map(O=>new o.RangeMapping(y.translateRange(O.seq1Range),_.translateRange(O.seq2Range)));return R&&o.RangeMapping.assertSorted(T),{mappings:T,hitTimeout:C.hitTimeout}}}n.DefaultLinesDiffComputer=u;function S(P,E,v,l=!1){const b=[];for(const g of(0,i.groupAdjacentBy)(P.map(w=>L(w,E,v)),(w,M)=>w.original.overlapOrTouch(M.original)||w.modified.overlapOrTouch(M.modified))){const w=g[0],M=g[g.length-1];b.push(new o.DetailedLineRangeMapping(w.original.join(M.original),w.modified.join(M.modified),g.map(y=>y.innerChanges[0])))}return(0,x.assertFn)(()=>!l&&b.length>0&&(b[0].modified.startLineNumber!==b[0].original.startLineNumber||v.length-b[b.length-1].modified.endLineNumberExclusive!==E.length-b[b.length-1].original.endLineNumberExclusive)?!1:(0,x.checkAdjacentItems)(b,(g,w)=>w.original.startLineNumber-g.original.endLineNumberExclusive===w.modified.startLineNumber-g.modified.endLineNumberExclusive&&g.original.endLineNumberExclusive<w.original.startLineNumber&&g.modified.endLineNumberExclusive<w.modified.startLineNumber)),b}function L(P,E,v){let l=0,b=0;P.modifiedRange.endColumn===1&&P.originalRange.endColumn===1&&P.originalRange.startLineNumber+l<=P.originalRange.endLineNumber&&P.modifiedRange.startLineNumber+l<=P.modifiedRange.endLineNumber&&(b=-1),P.modifiedRange.startColumn-1>=v[P.modifiedRange.startLineNumber-1].length&&P.originalRange.startColumn-1>=E[P.originalRange.startLineNumber-1].length&&P.originalRange.startLineNumber<=P.originalRange.endLineNumber+b&&P.modifiedRange.startLineNumber<=P.modifiedRange.endLineNumber+b&&(l=1);const g=new A.LineRange(P.originalRange.startLineNumber+l,P.originalRange.endLineNumber+1+b),w=new A.LineRange(P.modifiedRange.startLineNumber+l,P.modifiedRange.endLineNumber+1+b);return new o.DetailedLineRangeMapping(g,w,[P])}function N(P){return new o.LineRangeMapping(new A.LineRange(P.seq1Range.start+1,P.seq1Range.endExclusive+1),new A.LineRange(P.seq2Range.start+1,P.seq2Range.endExclusive+1))}}),X(J[57],Z([0,1,24,34,17,6,2,12,13]),function(W,n,i,x,A,d,f,p,c){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.DiffComputer=n.LegacyLinesDiffComputer=void 0;const a=3;class m{computeDiff(v,l,b){const w=new S(v,l,{maxComputationTime:b.maxComputationTimeMs,shouldIgnoreTrimWhitespace:b.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),M=[];let y=null;for(const _ of w.changes){let C;_.originalEndLineNumber===0?C=new c.LineRange(_.originalStartLineNumber+1,_.originalStartLineNumber+1):C=new c.LineRange(_.originalStartLineNumber,_.originalEndLineNumber+1);let R;_.modifiedEndLineNumber===0?R=new c.LineRange(_.modifiedStartLineNumber+1,_.modifiedStartLineNumber+1):R=new c.LineRange(_.modifiedStartLineNumber,_.modifiedEndLineNumber+1);let D=new A.DetailedLineRangeMapping(C,R,_.charChanges?.map(T=>new A.RangeMapping(new f.Range(T.originalStartLineNumber,T.originalStartColumn,T.originalEndLineNumber,T.originalEndColumn),new f.Range(T.modifiedStartLineNumber,T.modifiedStartColumn,T.modifiedEndLineNumber,T.modifiedEndColumn))));y&&(y.modified.endLineNumberExclusive===D.modified.startLineNumber||y.original.endLineNumberExclusive===D.original.startLineNumber)&&(D=new A.DetailedLineRangeMapping(y.original.join(D.original),y.modified.join(D.modified),y.innerChanges&&D.innerChanges?y.innerChanges.concat(D.innerChanges):void 0),M.pop()),M.push(D),y=D}return(0,p.assertFn)(()=>(0,p.checkAdjacentItems)(M,(_,C)=>C.original.startLineNumber-_.original.endLineNumberExclusive===C.modified.startLineNumber-_.modified.endLineNumberExclusive&&_.original.endLineNumberExclusive<C.original.startLineNumber&&_.modified.endLineNumberExclusive<C.modified.startLineNumber)),new x.LinesDiff(M,[],w.quitEarly)}}n.LegacyLinesDiffComputer=m;function e(E,v,l,b){return new i.LcsDiff(E,v,l).ComputeDiff(b)}class h{constructor(v){const l=[],b=[];for(let g=0,w=v.length;g<w;g++)l[g]=L(v[g],1),b[g]=N(v[g],1);this.lines=v,this._startColumns=l,this._endColumns=b}getElements(){const v=[];for(let l=0,b=this.lines.length;l<b;l++)v[l]=this.lines[l].substring(this._startColumns[l]-1,this._endColumns[l]-1);return v}getStrictElement(v){return this.lines[v]}getStartLineNumber(v){return v+1}getEndLineNumber(v){return v+1}createCharSequence(v,l,b){const g=[],w=[],M=[];let y=0;for(let _=l;_<=b;_++){const C=this.lines[_],R=v?this._startColumns[_]:1,D=v?this._endColumns[_]:C.length+1;for(let T=R;T<D;T++)g[y]=C.charCodeAt(T-1),w[y]=_+1,M[y]=T,y++;!v&&_<b&&(g[y]=10,w[y]=_+1,M[y]=C.length+1,y++)}return new r(g,w,M)}}class r{constructor(v,l,b){this._charCodes=v,this._lineNumbers=l,this._columns=b}toString(){return\"[\"+this._charCodes.map((v,l)=>(v===10?\"\\\\n\":String.fromCharCode(v))+`-(${this._lineNumbers[l]},${this._columns[l]})`).join(\", \")+\"]\"}_assertIndex(v,l){if(v<0||v>=l.length)throw new Error(\"Illegal index\")}getElements(){return this._charCodes}getStartLineNumber(v){return v>0&&v===this._lineNumbers.length?this.getEndLineNumber(v-1):(this._assertIndex(v,this._lineNumbers),this._lineNumbers[v])}getEndLineNumber(v){return v===-1?this.getStartLineNumber(v+1):(this._assertIndex(v,this._lineNumbers),this._charCodes[v]===10?this._lineNumbers[v]+1:this._lineNumbers[v])}getStartColumn(v){return v>0&&v===this._columns.length?this.getEndColumn(v-1):(this._assertIndex(v,this._columns),this._columns[v])}getEndColumn(v){return v===-1?this.getStartColumn(v+1):(this._assertIndex(v,this._columns),this._charCodes[v]===10?1:this._columns[v]+1)}}class s{constructor(v,l,b,g,w,M,y,_){this.originalStartLineNumber=v,this.originalStartColumn=l,this.originalEndLineNumber=b,this.originalEndColumn=g,this.modifiedStartLineNumber=w,this.modifiedStartColumn=M,this.modifiedEndLineNumber=y,this.modifiedEndColumn=_}static createFromDiffChange(v,l,b){const g=l.getStartLineNumber(v.originalStart),w=l.getStartColumn(v.originalStart),M=l.getEndLineNumber(v.originalStart+v.originalLength-1),y=l.getEndColumn(v.originalStart+v.originalLength-1),_=b.getStartLineNumber(v.modifiedStart),C=b.getStartColumn(v.modifiedStart),R=b.getEndLineNumber(v.modifiedStart+v.modifiedLength-1),D=b.getEndColumn(v.modifiedStart+v.modifiedLength-1);return new s(g,w,M,y,_,C,R,D)}}function o(E){if(E.length<=1)return E;const v=[E[0]];let l=v[0];for(let b=1,g=E.length;b<g;b++){const w=E[b],M=w.originalStart-(l.originalStart+l.originalLength),y=w.modifiedStart-(l.modifiedStart+l.modifiedLength);Math.min(M,y)<a?(l.originalLength=w.originalStart+w.originalLength-l.originalStart,l.modifiedLength=w.modifiedStart+w.modifiedLength-l.modifiedStart):(v.push(w),l=w)}return v}class u{constructor(v,l,b,g,w){this.originalStartLineNumber=v,this.originalEndLineNumber=l,this.modifiedStartLineNumber=b,this.modifiedEndLineNumber=g,this.charChanges=w}static createFromDiffResult(v,l,b,g,w,M,y){let _,C,R,D,T;if(l.originalLength===0?(_=b.getStartLineNumber(l.originalStart)-1,C=0):(_=b.getStartLineNumber(l.originalStart),C=b.getEndLineNumber(l.originalStart+l.originalLength-1)),l.modifiedLength===0?(R=g.getStartLineNumber(l.modifiedStart)-1,D=0):(R=g.getStartLineNumber(l.modifiedStart),D=g.getEndLineNumber(l.modifiedStart+l.modifiedLength-1)),M&&l.originalLength>0&&l.originalLength<20&&l.modifiedLength>0&&l.modifiedLength<20&&w()){const O=b.createCharSequence(v,l.originalStart,l.originalStart+l.originalLength-1),z=g.createCharSequence(v,l.modifiedStart,l.modifiedStart+l.modifiedLength-1);if(O.getElements().length>0&&z.getElements().length>0){let j=e(O,z,w,!0).changes;y&&(j=o(j)),T=[];for(let F=0,q=j.length;F<q;F++)T.push(s.createFromDiffChange(j[F],O,z))}}return new u(_,C,R,D,T)}}class S{constructor(v,l,b){this.shouldComputeCharChanges=b.shouldComputeCharChanges,this.shouldPostProcessCharChanges=b.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=b.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=b.shouldMakePrettyDiff,this.originalLines=v,this.modifiedLines=l,this.original=new h(v),this.modified=new h(l),this.continueLineDiff=P(b.maxComputationTime),this.continueCharDiff=P(b.maxComputationTime===0?0:Math.min(b.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};const v=e(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),l=v.changes,b=v.quitEarly;if(this.shouldIgnoreTrimWhitespace){const y=[];for(let _=0,C=l.length;_<C;_++)y.push(u.createFromDiffResult(this.shouldIgnoreTrimWhitespace,l[_],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:b,changes:y}}const g=[];let w=0,M=0;for(let y=-1,_=l.length;y<_;y++){const C=y+1<_?l[y+1]:null,R=C?C.originalStart:this.originalLines.length,D=C?C.modifiedStart:this.modifiedLines.length;for(;w<R&&M<D;){const T=this.originalLines[w],O=this.modifiedLines[M];if(T!==O){{let z=L(T,1),j=L(O,1);for(;z>1&&j>1;){const F=T.charCodeAt(z-2),q=O.charCodeAt(j-2);if(F!==q)break;z--,j--}(z>1||j>1)&&this._pushTrimWhitespaceCharChange(g,w+1,1,z,M+1,1,j)}{let z=N(T,1),j=N(O,1);const F=T.length+1,q=O.length+1;for(;z<F&&j<q;){const B=T.charCodeAt(z-1),G=T.charCodeAt(j-1);if(B!==G)break;z++,j++}(z<F||j<q)&&this._pushTrimWhitespaceCharChange(g,w+1,z,F,M+1,j,q)}}w++,M++}C&&(g.push(u.createFromDiffResult(this.shouldIgnoreTrimWhitespace,C,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),w+=C.originalLength,M+=C.modifiedLength)}return{quitEarly:b,changes:g}}_pushTrimWhitespaceCharChange(v,l,b,g,w,M,y){if(this._mergeTrimWhitespaceCharChange(v,l,b,g,w,M,y))return;let _;this.shouldComputeCharChanges&&(_=[new s(l,b,l,g,w,M,w,y)]),v.push(new u(l,l,w,w,_))}_mergeTrimWhitespaceCharChange(v,l,b,g,w,M,y){const _=v.length;if(_===0)return!1;const C=v[_-1];return C.originalEndLineNumber===0||C.modifiedEndLineNumber===0?!1:C.originalEndLineNumber===l&&C.modifiedEndLineNumber===w?(this.shouldComputeCharChanges&&C.charChanges&&C.charChanges.push(new s(l,b,l,g,w,M,w,y)),!0):C.originalEndLineNumber+1===l&&C.modifiedEndLineNumber+1===w?(C.originalEndLineNumber=l,C.modifiedEndLineNumber=w,this.shouldComputeCharChanges&&C.charChanges&&C.charChanges.push(new s(l,b,l,g,w,M,w,y)),!0):!1}}n.DiffComputer=S;function L(E,v){const l=d.firstNonWhitespaceIndex(E);return l===-1?v:l+1}function N(E,v){const l=d.lastNonWhitespaceIndex(E);return l===-1?v:l+2}function P(E){if(E===0)return()=>!0;const v=Date.now();return()=>Date.now()-v<E}}),X(J[58],Z([0,1,57,56]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.linesDiffComputers=void 0,n.linesDiffComputers={getLegacy:()=>new i.LegacyLinesDiffComputer,getDefault:()=>new x.DefaultLinesDiffComputer}}),X(J[59],Z([0,1,40]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.computeDefaultDocumentColors=e;function x(h){const r=[];for(const s of h){const o=Number(s);(o||o===0&&s.replace(/\\s/g,\"\")!==\"\")&&r.push(o)}return r}function A(h,r,s,o){return{red:h/255,blue:s/255,green:r/255,alpha:o}}function d(h,r){const s=r.index,o=r[0].length;if(!s)return;const u=h.positionAt(s);return{startLineNumber:u.lineNumber,startColumn:u.column,endLineNumber:u.lineNumber,endColumn:u.column+o}}function f(h,r){if(!h)return;const s=i.Color.Format.CSS.parseHex(r);if(s)return{range:h,color:A(s.rgba.r,s.rgba.g,s.rgba.b,s.rgba.a)}}function p(h,r,s){if(!h||r.length!==1)return;const u=r[0].values(),S=x(u);return{range:h,color:A(S[0],S[1],S[2],s?S[3]:1)}}function c(h,r,s){if(!h||r.length!==1)return;const u=r[0].values(),S=x(u),L=new i.Color(new i.HSLA(S[0],S[1]/100,S[2]/100,s?S[3]:1));return{range:h,color:A(L.rgba.r,L.rgba.g,L.rgba.b,L.rgba.a)}}function a(h,r){return typeof h==\"string\"?[...h.matchAll(r)]:h.findMatches(r)}function m(h){const r=[],o=a(h,/\\b(rgb|rgba|hsl|hsla)(\\([0-9\\s,.\\%]*\\))|(#)([A-Fa-f0-9]{3})\\b|(#)([A-Fa-f0-9]{4})\\b|(#)([A-Fa-f0-9]{6})\\b|(#)([A-Fa-f0-9]{8})\\b/gm);if(o.length>0)for(const u of o){const S=u.filter(E=>E!==void 0),L=S[1],N=S[2];if(!N)continue;let P;if(L===\"rgb\"){const E=/^\\(\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*\\)$/gm;P=p(d(h,u),a(N,E),!1)}else if(L===\"rgba\"){const E=/^\\(\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\\s*\\)$/gm;P=p(d(h,u),a(N,E),!0)}else if(L===\"hsl\"){const E=/^\\(\\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\\s*,\\s*(100|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*,\\s*(100|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*\\)$/gm;P=c(d(h,u),a(N,E),!1)}else if(L===\"hsla\"){const E=/^\\(\\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\\s*,\\s*(100|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*,\\s*(100|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*,\\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\\s*\\)$/gm;P=c(d(h,u),a(N,E),!0)}else L===\"#\"&&(P=f(d(h,u),L+N));P&&r.push(P)}return r}function e(h){return!h||typeof h.getValue!=\"function\"||typeof h.positionAt!=\"function\"?[]:m(h)}}),X(J[60],Z([0,1,29]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.LinkComputer=n.StateMachine=void 0,n.computeLinks=m;class x{constructor(h,r,s){const o=new Uint8Array(h*r);for(let u=0,S=h*r;u<S;u++)o[u]=s;this._data=o,this.rows=h,this.cols=r}get(h,r){return this._data[h*this.cols+r]}set(h,r,s){this._data[h*this.cols+r]=s}}class A{constructor(h){let r=0,s=0;for(let u=0,S=h.length;u<S;u++){const[L,N,P]=h[u];N>r&&(r=N),L>s&&(s=L),P>s&&(s=P)}r++,s++;const o=new x(s,r,0);for(let u=0,S=h.length;u<S;u++){const[L,N,P]=h[u];o.set(L,N,P)}this._states=o,this._maxCharCode=r}nextState(h,r){return r<0||r>=this._maxCharCode?0:this._states.get(h,r)}}n.StateMachine=A;let d=null;function f(){return d===null&&(d=new A([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),d}let p=null;function c(){if(p===null){p=new i.CharacterClassifier(0);const e=` \t<>'\"\\u3001\\u3002\\uFF61\\uFF64\\uFF0C\\uFF0E\\uFF1A\\uFF1B\\u2018\\u3008\\u300C\\u300E\\u3014\\uFF08\\uFF3B\\uFF5B\\uFF62\\uFF63\\uFF5D\\uFF3D\\uFF09\\u3015\\u300F\\u300D\\u3009\\u2019\\uFF40\\uFF5E\\u2026`;for(let r=0;r<e.length;r++)p.set(e.charCodeAt(r),1);const h=\".,;:\";for(let r=0;r<h.length;r++)p.set(h.charCodeAt(r),2)}return p}class a{static _createLink(h,r,s,o,u){let S=u-1;do{const L=r.charCodeAt(S);if(h.get(L)!==2)break;S--}while(S>o);if(o>0){const L=r.charCodeAt(o-1),N=r.charCodeAt(S);(L===40&&N===41||L===91&&N===93||L===123&&N===125)&&S--}return{range:{startLineNumber:s,startColumn:o+1,endLineNumber:s,endColumn:S+2},url:r.substring(o,S+1)}}static computeLinks(h,r=f()){const s=c(),o=[];for(let u=1,S=h.getLineCount();u<=S;u++){const L=h.getLineContent(u),N=L.length;let P=0,E=0,v=0,l=1,b=!1,g=!1,w=!1,M=!1;for(;P<N;){let y=!1;const _=L.charCodeAt(P);if(l===13){let C;switch(_){case 40:b=!0,C=0;break;case 41:C=b?0:1;break;case 91:w=!0,g=!0,C=0;break;case 93:w=!1,C=g?0:1;break;case 123:M=!0,C=0;break;case 125:C=M?0:1;break;case 39:case 34:case 96:v===_?C=1:v===39||v===34||v===96?C=0:C=1;break;case 42:C=v===42?1:0;break;case 124:C=v===124?1:0;break;case 32:C=w?0:1;break;default:C=s.get(_)}C===1&&(o.push(a._createLink(s,L,u,E,P)),y=!0)}else if(l===12){let C;_===91?(g=!0,C=0):C=s.get(_),C===1?y=!0:l=13}else l=r.nextState(l,_),l===0&&(y=!0);y&&(l=1,b=!1,g=!1,M=!1,E=P+1,v=_),P++}l===13&&o.push(a._createLink(s,L,u,E,N))}return o}}n.LinkComputer=a;function m(e){return!e||typeof e.getLineCount!=\"function\"||typeof e.getLineContent!=\"function\"?[]:a.computeLinks(e)}}),X(J[61],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.BasicInplaceReplace=void 0;class i{constructor(){this._defaultValueSet=[[\"true\",\"false\"],[\"True\",\"False\"],[\"Private\",\"Public\",\"Friend\",\"ReadOnly\",\"Partial\",\"Protected\",\"WriteOnly\"],[\"public\",\"protected\",\"private\"]]}static{this.INSTANCE=new i}navigateValueSet(A,d,f,p,c){if(A&&d){const a=this.doNavigateValueSet(d,c);if(a)return{range:A,value:a}}if(f&&p){const a=this.doNavigateValueSet(p,c);if(a)return{range:f,value:a}}return null}doNavigateValueSet(A,d){const f=this.numberReplace(A,d);return f!==null?f:this.textReplace(A,d)}numberReplace(A,d){const f=Math.pow(10,A.length-(A.lastIndexOf(\".\")+1));let p=Number(A);const c=parseFloat(A);return!isNaN(p)&&!isNaN(c)&&p===c?p===0&&!d?null:(p=Math.floor(p*f),p+=d?f:-f,String(p/f)):null}textReplace(A,d){return this.valueSetsReplace(this._defaultValueSet,A,d)}valueSetsReplace(A,d,f){let p=null;for(let c=0,a=A.length;p===null&&c<a;c++)p=this.valueSetReplace(A[c],d,f);return p}valueSetReplace(A,d,f){let p=A.indexOf(d);return p>=0?(p+=f?1:-1,p<0?p=A.length-1:p%=A.length,A[p]):null}}n.BasicInplaceReplace=i}),X(J[62],Z([0,1,27]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.ApplyEditsResult=n.SearchData=n.ValidAnnotatedEditOperation=n.FindMatch=n.TextModelResolvedOptions=n.InjectedTextCursorStops=n.GlyphMarginLane=n.OverviewRulerLane=void 0,n.isITextSnapshot=c,n.shouldSynchronizeModel=h;var x;(function(r){r[r.Left=1]=\"Left\",r[r.Center=2]=\"Center\",r[r.Right=4]=\"Right\",r[r.Full=7]=\"Full\"})(x||(n.OverviewRulerLane=x={}));var A;(function(r){r[r.Left=1]=\"Left\",r[r.Center=2]=\"Center\",r[r.Right=3]=\"Right\"})(A||(n.GlyphMarginLane=A={}));var d;(function(r){r[r.Both=0]=\"Both\",r[r.Right=1]=\"Right\",r[r.Left=2]=\"Left\",r[r.None=3]=\"None\"})(d||(n.InjectedTextCursorStops=d={}));class f{get originalIndentSize(){return this._indentSizeIsTabSize?\"tabSize\":this.indentSize}constructor(s){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,s.tabSize|0),s.indentSize===\"tabSize\"?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,s.indentSize|0),this._indentSizeIsTabSize=!1),this.insertSpaces=!!s.insertSpaces,this.defaultEOL=s.defaultEOL|0,this.trimAutoWhitespace=!!s.trimAutoWhitespace,this.bracketPairColorizationOptions=s.bracketPairColorizationOptions}equals(s){return this.tabSize===s.tabSize&&this._indentSizeIsTabSize===s._indentSizeIsTabSize&&this.indentSize===s.indentSize&&this.insertSpaces===s.insertSpaces&&this.defaultEOL===s.defaultEOL&&this.trimAutoWhitespace===s.trimAutoWhitespace&&(0,i.equals)(this.bracketPairColorizationOptions,s.bracketPairColorizationOptions)}createChangeEvent(s){return{tabSize:this.tabSize!==s.tabSize,indentSize:this.indentSize!==s.indentSize,insertSpaces:this.insertSpaces!==s.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==s.trimAutoWhitespace}}}n.TextModelResolvedOptions=f;class p{constructor(s,o){this._findMatchBrand=void 0,this.range=s,this.matches=o}}n.FindMatch=p;function c(r){return r&&typeof r.read==\"function\"}class a{constructor(s,o,u,S,L,N){this.identifier=s,this.range=o,this.text=u,this.forceMoveMarkers=S,this.isAutoWhitespaceEdit=L,this._isTracked=N}}n.ValidAnnotatedEditOperation=a;class m{constructor(s,o,u){this.regex=s,this.wordSeparators=o,this.simpleSearch=u}}n.SearchData=m;class e{constructor(s,o,u){this.reverseEdits=s,this.changes=o,this.trimAutoWhitespaceLineNumbers=u}}n.ApplyEditsResult=e;function h(r){return!r.isTooLargeForSyncing()&&!r.isForSimpleWidget}}),X(J[63],Z([0,1,7,28]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.PrefixSumIndexOfResult=n.ConstantTimePrefixSumComputer=n.PrefixSumComputer=void 0;class A{constructor(c){this.values=c,this.prefixSum=new Uint32Array(c.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(c,a){c=(0,x.toUint32)(c);const m=this.values,e=this.prefixSum,h=a.length;return h===0?!1:(this.values=new Uint32Array(m.length+h),this.values.set(m.subarray(0,c),0),this.values.set(m.subarray(c),c+h),this.values.set(a,c),c-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=c-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(e.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(c,a){return c=(0,x.toUint32)(c),a=(0,x.toUint32)(a),this.values[c]===a?!1:(this.values[c]=a,c-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=c-1),!0)}removeValues(c,a){c=(0,x.toUint32)(c),a=(0,x.toUint32)(a);const m=this.values,e=this.prefixSum;if(c>=m.length)return!1;const h=m.length-c;return a>=h&&(a=h),a===0?!1:(this.values=new Uint32Array(m.length-a),this.values.set(m.subarray(0,c),0),this.values.set(m.subarray(c+a),c),this.prefixSum=new Uint32Array(this.values.length),c-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=c-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(e.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(c){return c<0?0:(c=(0,x.toUint32)(c),this._getPrefixSum(c))}_getPrefixSum(c){if(c<=this.prefixSumValidIndex[0])return this.prefixSum[c];let a=this.prefixSumValidIndex[0]+1;a===0&&(this.prefixSum[0]=this.values[0],a++),c>=this.values.length&&(c=this.values.length-1);for(let m=a;m<=c;m++)this.prefixSum[m]=this.prefixSum[m-1]+this.values[m];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],c),this.prefixSum[c]}getIndexOf(c){c=Math.floor(c),this.getTotalSum();let a=0,m=this.values.length-1,e=0,h=0,r=0;for(;a<=m;)if(e=a+(m-a)/2|0,h=this.prefixSum[e],r=h-this.values[e],c<r)m=e-1;else if(c>=h)a=e+1;else break;return new f(e,c-r)}}n.PrefixSumComputer=A;class d{constructor(c){this._values=c,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(c){return this._ensureValid(),c===0?0:this._prefixSum[c-1]}getIndexOf(c){this._ensureValid();const a=this._indexBySum[c],m=a>0?this._prefixSum[a-1]:0;return new f(a,c-m)}removeValues(c,a){this._values.splice(c,a),this._invalidate(c)}insertValues(c,a){this._values=(0,i.arrayInsert)(this._values,c,a),this._invalidate(c)}_invalidate(c){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,c-1)}_ensureValid(){if(!this._isValid){for(let c=this._validEndIndex+1,a=this._values.length;c<a;c++){const m=this._values[c],e=c>0?this._prefixSum[c-1]:0;this._prefixSum[c]=e+m;for(let h=0;h<m;h++)this._indexBySum[e+h]=c}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(c,a){this._values[c]!==a&&(this._values[c]=a,this._invalidate(c))}}n.ConstantTimePrefixSumComputer=d;class f{constructor(c,a){this.index=c,this.remainder=a,this._prefixSumIndexOfResultBrand=void 0,this.index=c,this.remainder=a}}n.PrefixSumIndexOfResult=f}),X(J[64],Z([0,1,6,4,63]),function(W,n,i,x,A){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.MirrorTextModel=void 0;class d{constructor(p,c,a,m){this._uri=p,this._lines=c,this._eol=a,this._versionId=m,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(p){p.eol&&p.eol!==this._eol&&(this._eol=p.eol,this._lineStarts=null);const c=p.changes;for(const a of c)this._acceptDeleteRange(a.range),this._acceptInsertText(new x.Position(a.range.startLineNumber,a.range.startColumn),a.text);this._versionId=p.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const p=this._eol.length,c=this._lines.length,a=new Uint32Array(c);for(let m=0;m<c;m++)a[m]=this._lines[m].length+p;this._lineStarts=new A.PrefixSumComputer(a)}}_setLineText(p,c){this._lines[p]=c,this._lineStarts&&this._lineStarts.setValue(p,this._lines[p].length+this._eol.length)}_acceptDeleteRange(p){if(p.startLineNumber===p.endLineNumber){if(p.startColumn===p.endColumn)return;this._setLineText(p.startLineNumber-1,this._lines[p.startLineNumber-1].substring(0,p.startColumn-1)+this._lines[p.startLineNumber-1].substring(p.endColumn-1));return}this._setLineText(p.startLineNumber-1,this._lines[p.startLineNumber-1].substring(0,p.startColumn-1)+this._lines[p.endLineNumber-1].substring(p.endColumn-1)),this._lines.splice(p.startLineNumber,p.endLineNumber-p.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(p.startLineNumber,p.endLineNumber-p.startLineNumber)}_acceptInsertText(p,c){if(c.length===0)return;const a=(0,i.splitLines)(c);if(a.length===1){this._setLineText(p.lineNumber-1,this._lines[p.lineNumber-1].substring(0,p.column-1)+a[0]+this._lines[p.lineNumber-1].substring(p.column-1));return}a[a.length-1]+=this._lines[p.lineNumber-1].substring(p.column-1),this._setLineText(p.lineNumber-1,this._lines[p.lineNumber-1].substring(0,p.column-1)+a[0]);const m=new Uint32Array(a.length-1);for(let e=1;e<a.length;e++)this._lines.splice(p.lineNumber+e-1,0,a[e]),m[e-1]=a[e].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(p.lineNumber,m)}}n.MirrorTextModel=d}),X(J[65],Z([0,1,6,51,4,2,62]),function(W,n,i,x,A,d,f){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Searcher=n.TextModelSearch=n.SearchParams=void 0,n.isMultilineRegexSource=a,n.createFindMatch=m,n.isValidMatch=o;const p=999;class c{constructor(L,N,P,E){this.searchString=L,this.isRegex=N,this.matchCase=P,this.wordSeparators=E}parseSearchRequest(){if(this.searchString===\"\")return null;let L;this.isRegex?L=a(this.searchString):L=this.searchString.indexOf(`\n`)>=0;let N=null;try{N=i.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:L,global:!0,unicode:!0})}catch{return null}if(!N)return null;let P=!this.isRegex&&!L;return P&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(P=this.matchCase),new f.SearchData(N,this.wordSeparators?(0,x.getMapForWordSeparators)(this.wordSeparators,[]):null,P?this.searchString:null)}}n.SearchParams=c;function a(S){if(!S||S.length===0)return!1;for(let L=0,N=S.length;L<N;L++){const P=S.charCodeAt(L);if(P===10)return!0;if(P===92){if(L++,L>=N)break;const E=S.charCodeAt(L);if(E===110||E===114||E===87)return!0}}return!1}function m(S,L,N){if(!N)return new f.FindMatch(S,null);const P=[];for(let E=0,v=L.length;E<v;E++)P[E]=L[E];return new f.FindMatch(S,P)}class e{constructor(L){const N=[];let P=0;for(let E=0,v=L.length;E<v;E++)L.charCodeAt(E)===10&&(N[P++]=E);this._lineFeedsOffsets=N}findLineFeedCountBeforeOffset(L){const N=this._lineFeedsOffsets;let P=0,E=N.length-1;if(E===-1||L<=N[0])return 0;for(;P<E;){const v=P+((E-P)/2>>0);N[v]>=L?E=v-1:N[v+1]>=L?(P=v,E=v):P=v+1}return P+1}}class h{static findMatches(L,N,P,E,v){const l=N.parseSearchRequest();return l?l.regex.multiline?this._doFindMatchesMultiline(L,P,new u(l.wordSeparators,l.regex),E,v):this._doFindMatchesLineByLine(L,P,l,E,v):[]}static _getMultilineMatchRange(L,N,P,E,v,l){let b,g=0;E?(g=E.findLineFeedCountBeforeOffset(v),b=N+v+g):b=N+v;let w;if(E){const C=E.findLineFeedCountBeforeOffset(v+l.length)-g;w=b+l.length+C}else w=b+l.length;const M=L.getPositionAt(b),y=L.getPositionAt(w);return new d.Range(M.lineNumber,M.column,y.lineNumber,y.column)}static _doFindMatchesMultiline(L,N,P,E,v){const l=L.getOffsetAt(N.getStartPosition()),b=L.getValueInRange(N,1),g=L.getEOL()===`\\r\n`?new e(b):null,w=[];let M=0,y;for(P.reset(0);y=P.next(b);)if(w[M++]=m(this._getMultilineMatchRange(L,l,b,g,y.index,y[0]),y,E),M>=v)return w;return w}static _doFindMatchesLineByLine(L,N,P,E,v){const l=[];let b=0;if(N.startLineNumber===N.endLineNumber){const w=L.getLineContent(N.startLineNumber).substring(N.startColumn-1,N.endColumn-1);return b=this._findMatchesInLine(P,w,N.startLineNumber,N.startColumn-1,b,l,E,v),l}const g=L.getLineContent(N.startLineNumber).substring(N.startColumn-1);b=this._findMatchesInLine(P,g,N.startLineNumber,N.startColumn-1,b,l,E,v);for(let w=N.startLineNumber+1;w<N.endLineNumber&&b<v;w++)b=this._findMatchesInLine(P,L.getLineContent(w),w,0,b,l,E,v);if(b<v){const w=L.getLineContent(N.endLineNumber).substring(0,N.endColumn-1);b=this._findMatchesInLine(P,w,N.endLineNumber,0,b,l,E,v)}return l}static _findMatchesInLine(L,N,P,E,v,l,b,g){const w=L.wordSeparators;if(!b&&L.simpleSearch){const _=L.simpleSearch,C=_.length,R=N.length;let D=-C;for(;(D=N.indexOf(_,D+C))!==-1;)if((!w||o(w,N,R,D,C))&&(l[v++]=new f.FindMatch(new d.Range(P,D+1+E,P,D+1+C+E),null),v>=g))return v;return v}const M=new u(L.wordSeparators,L.regex);let y;M.reset(0);do if(y=M.next(N),y&&(l[v++]=m(new d.Range(P,y.index+1+E,P,y.index+1+y[0].length+E),y,b),v>=g))return v;while(y);return v}static findNextMatch(L,N,P,E){const v=N.parseSearchRequest();if(!v)return null;const l=new u(v.wordSeparators,v.regex);return v.regex.multiline?this._doFindNextMatchMultiline(L,P,l,E):this._doFindNextMatchLineByLine(L,P,l,E)}static _doFindNextMatchMultiline(L,N,P,E){const v=new A.Position(N.lineNumber,1),l=L.getOffsetAt(v),b=L.getLineCount(),g=L.getValueInRange(new d.Range(v.lineNumber,v.column,b,L.getLineMaxColumn(b)),1),w=L.getEOL()===`\\r\n`?new e(g):null;P.reset(N.column-1);const M=P.next(g);return M?m(this._getMultilineMatchRange(L,l,g,w,M.index,M[0]),M,E):N.lineNumber!==1||N.column!==1?this._doFindNextMatchMultiline(L,new A.Position(1,1),P,E):null}static _doFindNextMatchLineByLine(L,N,P,E){const v=L.getLineCount(),l=N.lineNumber,b=L.getLineContent(l),g=this._findFirstMatchInLine(P,b,l,N.column,E);if(g)return g;for(let w=1;w<=v;w++){const M=(l+w-1)%v,y=L.getLineContent(M+1),_=this._findFirstMatchInLine(P,y,M+1,1,E);if(_)return _}return null}static _findFirstMatchInLine(L,N,P,E,v){L.reset(E-1);const l=L.next(N);return l?m(new d.Range(P,l.index+1,P,l.index+1+l[0].length),l,v):null}static findPreviousMatch(L,N,P,E){const v=N.parseSearchRequest();if(!v)return null;const l=new u(v.wordSeparators,v.regex);return v.regex.multiline?this._doFindPreviousMatchMultiline(L,P,l,E):this._doFindPreviousMatchLineByLine(L,P,l,E)}static _doFindPreviousMatchMultiline(L,N,P,E){const v=this._doFindMatchesMultiline(L,new d.Range(1,1,N.lineNumber,N.column),P,E,10*p);if(v.length>0)return v[v.length-1];const l=L.getLineCount();return N.lineNumber!==l||N.column!==L.getLineMaxColumn(l)?this._doFindPreviousMatchMultiline(L,new A.Position(l,L.getLineMaxColumn(l)),P,E):null}static _doFindPreviousMatchLineByLine(L,N,P,E){const v=L.getLineCount(),l=N.lineNumber,b=L.getLineContent(l).substring(0,N.column-1),g=this._findLastMatchInLine(P,b,l,E);if(g)return g;for(let w=1;w<=v;w++){const M=(v+l-w-1)%v,y=L.getLineContent(M+1),_=this._findLastMatchInLine(P,y,M+1,E);if(_)return _}return null}static _findLastMatchInLine(L,N,P,E){let v=null,l;for(L.reset(0);l=L.next(N);)v=m(new d.Range(P,l.index+1,P,l.index+1+l[0].length),l,E);return v}}n.TextModelSearch=h;function r(S,L,N,P,E){if(P===0)return!0;const v=L.charCodeAt(P-1);if(S.get(v)!==0||v===13||v===10)return!0;if(E>0){const l=L.charCodeAt(P);if(S.get(l)!==0)return!0}return!1}function s(S,L,N,P,E){if(P+E===N)return!0;const v=L.charCodeAt(P+E);if(S.get(v)!==0||v===13||v===10)return!0;if(E>0){const l=L.charCodeAt(P+E-1);if(S.get(l)!==0)return!0}return!1}function o(S,L,N,P,E){return r(S,L,N,P,E)&&s(S,L,N,P,E)}class u{constructor(L,N){this._wordSeparators=L,this._searchRegex=N,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(L){this._searchRegex.lastIndex=L,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(L){const N=L.length;let P;do{if(this._prevMatchStartIndex+this._prevMatchLength===N||(P=this._searchRegex.exec(L),!P))return null;const E=P.index,v=P[0].length;if(E===this._prevMatchStartIndex&&v===this._prevMatchLength){if(v===0){i.getNextCodePoint(L,N,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=E,this._prevMatchLength=v,!this._wordSeparators||o(this._wordSeparators,L,N,E,v))return P}while(P);return null}}n.Searcher=u}),X(J[66],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.EditorWorkerHost=void 0;class i{static{this.CHANNEL_NAME=\"editorWorkerHost\"}static getChannel(A){return A.getChannel(i.CHANNEL_NAME)}static setChannel(A,d){A.setChannel(i.CHANNEL_NAME,d)}}n.EditorWorkerHost=i}),X(J[67],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.findSectionHeaders=A;const i=new RegExp(\"\\\\bMARK:\\\\s*(.*)$\",\"d\"),x=/^-+|-+$/g;function A(a,m){let e=[];if(m.findRegionSectionHeaders&&m.foldingRules?.markers){const h=d(a,m);e=e.concat(h)}if(m.findMarkSectionHeaders){const h=f(a);e=e.concat(h)}return e}function d(a,m){const e=[],h=a.getLineCount();for(let r=1;r<=h;r++){const s=a.getLineContent(r),o=s.match(m.foldingRules.markers.start);if(o){const u={startLineNumber:r,startColumn:o[0].length+1,endLineNumber:r,endColumn:s.length+1};if(u.endColumn>u.startColumn){const S={range:u,...c(s.substring(o[0].length)),shouldBeInComments:!1};(S.text||S.hasSeparatorLine)&&e.push(S)}}}return e}function f(a){const m=[],e=a.getLineCount();for(let h=1;h<=e;h++){const r=a.getLineContent(h);p(r,h,m)}return m}function p(a,m,e){i.lastIndex=0;const h=i.exec(a);if(h){const r=h.indices[1][0]+1,s=h.indices[1][1]+1,o={startLineNumber:m,startColumn:r,endLineNumber:m,endColumn:s};if(o.endColumn>o.startColumn){const u={range:o,...c(h[1]),shouldBeInComments:!0};(u.text||u.hasSeparatorLine)&&e.push(u)}}}function c(a){a=a.trim();const m=a.startsWith(\"-\");return a=a.replace(x,\"\"),{text:a,hasSeparatorLine:m}}}),X(J[68],Z([0,1,2,65,6,12,31]),function(W,n,i,x,A,d,f){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.UnicodeTextModelHighlighter=void 0;class p{static computeUnicodeHighlights(h,r,s){const o=s?s.startLineNumber:1,u=s?s.endLineNumber:h.getLineCount(),S=new a(r),L=S.getCandidateCodePoints();let N;L===\"allNonBasicAscii\"?N=new RegExp(\"[^\\\\t\\\\n\\\\r\\\\x20-\\\\x7E]\",\"g\"):N=new RegExp(`${c(Array.from(L))}`,\"g\");const P=new x.Searcher(null,N),E=[];let v=!1,l,b=0,g=0,w=0;e:for(let M=o,y=u;M<=y;M++){const _=h.getLineContent(M),C=_.length;P.reset(0);do if(l=P.next(_),l){let R=l.index,D=l.index+l[0].length;if(R>0){const j=_.charCodeAt(R-1);A.isHighSurrogate(j)&&R--}if(D+1<C){const j=_.charCodeAt(D-1);A.isHighSurrogate(j)&&D++}const T=_.substring(R,D);let O=(0,f.getWordAtText)(R+1,f.DEFAULT_WORD_REGEXP,_,0);O&&O.endColumn<=R+1&&(O=null);const z=S.shouldHighlightNonBasicASCII(T,O?O.word:null);if(z!==0){if(z===3?b++:z===2?g++:z===1?w++:(0,d.assertNever)(z),E.length>=1e3){v=!0;break e}E.push(new i.Range(M,R+1,M,D+1))}}while(l)}return{ranges:E,hasMore:v,ambiguousCharacterCount:b,invisibleCharacterCount:g,nonBasicAsciiCharacterCount:w}}static computeUnicodeHighlightReason(h,r){const s=new a(r);switch(s.shouldHighlightNonBasicASCII(h,null)){case 0:return null;case 2:return{kind:1};case 3:{const u=h.codePointAt(0),S=s.ambiguousCharacters.getPrimaryConfusable(u),L=A.AmbiguousCharacters.getLocales().filter(N=>!A.AmbiguousCharacters.getInstance(new Set([...r.allowedLocales,N])).isAmbiguous(u));return{kind:0,confusableWith:String.fromCodePoint(S),notAmbiguousInLocales:L}}case 1:return{kind:2}}}}n.UnicodeTextModelHighlighter=p;function c(e,h){return`[${A.escapeRegExpCharacters(e.map(s=>String.fromCodePoint(s)).join(\"\"))}]`}class a{constructor(h){this.options=h,this.allowedCodePoints=new Set(h.allowedCodePoints),this.ambiguousCharacters=A.AmbiguousCharacters.getInstance(new Set(h.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return\"allNonBasicAscii\";const h=new Set;if(this.options.invisibleCharacters)for(const r of A.InvisibleCharacters.codePoints)m(String.fromCodePoint(r))||h.add(r);if(this.options.ambiguousCharacters)for(const r of this.ambiguousCharacters.getConfusableCodePoints())h.add(r);for(const r of this.allowedCodePoints)h.delete(r);return h}shouldHighlightNonBasicASCII(h,r){const s=h.codePointAt(0);if(this.allowedCodePoints.has(s))return 0;if(this.options.nonBasicASCII)return 1;let o=!1,u=!1;if(r)for(const S of r){const L=S.codePointAt(0),N=A.isBasicASCII(S);o=o||N,!N&&!this.ambiguousCharacters.isAmbiguous(L)&&!A.InvisibleCharacters.isInvisibleCharacter(L)&&(u=!0)}return!o&&u?0:this.options.invisibleCharacters&&!m(h)&&A.InvisibleCharacters.isInvisibleCharacter(s)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(s)?3:0}}function m(e){return e===\" \"||e===`\n`||e===\"\t\"}}),X(J[69],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.WrappingIndent=n.TrackedRangeStickiness=n.TextEditorCursorStyle=n.TextEditorCursorBlinkingStyle=n.SymbolTag=n.SymbolKind=n.SignatureHelpTriggerKind=n.ShowLightbulbIconMode=n.SelectionDirection=n.ScrollbarVisibility=n.ScrollType=n.RenderMinimap=n.RenderLineNumbersType=n.PositionAffinity=n.PartialAcceptTriggerKind=n.OverviewRulerLane=n.OverlayWidgetPositionPreference=n.NewSymbolNameTriggerKind=n.NewSymbolNameTag=n.MouseTargetType=n.MinimapSectionHeaderStyle=n.MinimapPosition=n.MarkerTag=n.MarkerSeverity=n.KeyCode=n.InlineEditTriggerKind=n.InlineCompletionTriggerKind=n.InlayHintKind=n.InjectedTextCursorStops=n.IndentAction=n.HoverVerbosityAction=n.GlyphMarginLane=n.EndOfLineSequence=n.EndOfLinePreference=n.EditorOption=n.EditorAutoIndentStrategy=n.DocumentHighlightKind=n.DefaultEndOfLine=n.CursorChangeReason=n.ContentWidgetPositionPreference=n.CompletionTriggerKind=n.CompletionItemTag=n.CompletionItemKind=n.CompletionItemInsertTextRule=n.CodeActionTriggerType=n.AccessibilitySupport=void 0;var i;(function(t){t[t.Unknown=0]=\"Unknown\",t[t.Disabled=1]=\"Disabled\",t[t.Enabled=2]=\"Enabled\"})(i||(n.AccessibilitySupport=i={}));var x;(function(t){t[t.Invoke=1]=\"Invoke\",t[t.Auto=2]=\"Auto\"})(x||(n.CodeActionTriggerType=x={}));var A;(function(t){t[t.None=0]=\"None\",t[t.KeepWhitespace=1]=\"KeepWhitespace\",t[t.InsertAsSnippet=4]=\"InsertAsSnippet\"})(A||(n.CompletionItemInsertTextRule=A={}));var d;(function(t){t[t.Method=0]=\"Method\",t[t.Function=1]=\"Function\",t[t.Constructor=2]=\"Constructor\",t[t.Field=3]=\"Field\",t[t.Variable=4]=\"Variable\",t[t.Class=5]=\"Class\",t[t.Struct=6]=\"Struct\",t[t.Interface=7]=\"Interface\",t[t.Module=8]=\"Module\",t[t.Property=9]=\"Property\",t[t.Event=10]=\"Event\",t[t.Operator=11]=\"Operator\",t[t.Unit=12]=\"Unit\",t[t.Value=13]=\"Value\",t[t.Constant=14]=\"Constant\",t[t.Enum=15]=\"Enum\",t[t.EnumMember=16]=\"EnumMember\",t[t.Keyword=17]=\"Keyword\",t[t.Text=18]=\"Text\",t[t.Color=19]=\"Color\",t[t.File=20]=\"File\",t[t.Reference=21]=\"Reference\",t[t.Customcolor=22]=\"Customcolor\",t[t.Folder=23]=\"Folder\",t[t.TypeParameter=24]=\"TypeParameter\",t[t.User=25]=\"User\",t[t.Issue=26]=\"Issue\",t[t.Snippet=27]=\"Snippet\"})(d||(n.CompletionItemKind=d={}));var f;(function(t){t[t.Deprecated=1]=\"Deprecated\"})(f||(n.CompletionItemTag=f={}));var p;(function(t){t[t.Invoke=0]=\"Invoke\",t[t.TriggerCharacter=1]=\"TriggerCharacter\",t[t.TriggerForIncompleteCompletions=2]=\"TriggerForIncompleteCompletions\"})(p||(n.CompletionTriggerKind=p={}));var c;(function(t){t[t.EXACT=0]=\"EXACT\",t[t.ABOVE=1]=\"ABOVE\",t[t.BELOW=2]=\"BELOW\"})(c||(n.ContentWidgetPositionPreference=c={}));var a;(function(t){t[t.NotSet=0]=\"NotSet\",t[t.ContentFlush=1]=\"ContentFlush\",t[t.RecoverFromMarkers=2]=\"RecoverFromMarkers\",t[t.Explicit=3]=\"Explicit\",t[t.Paste=4]=\"Paste\",t[t.Undo=5]=\"Undo\",t[t.Redo=6]=\"Redo\"})(a||(n.CursorChangeReason=a={}));var m;(function(t){t[t.LF=1]=\"LF\",t[t.CRLF=2]=\"CRLF\"})(m||(n.DefaultEndOfLine=m={}));var e;(function(t){t[t.Text=0]=\"Text\",t[t.Read=1]=\"Read\",t[t.Write=2]=\"Write\"})(e||(n.DocumentHighlightKind=e={}));var h;(function(t){t[t.None=0]=\"None\",t[t.Keep=1]=\"Keep\",t[t.Brackets=2]=\"Brackets\",t[t.Advanced=3]=\"Advanced\",t[t.Full=4]=\"Full\"})(h||(n.EditorAutoIndentStrategy=h={}));var r;(function(t){t[t.acceptSuggestionOnCommitCharacter=0]=\"acceptSuggestionOnCommitCharacter\",t[t.acceptSuggestionOnEnter=1]=\"acceptSuggestionOnEnter\",t[t.accessibilitySupport=2]=\"accessibilitySupport\",t[t.accessibilityPageSize=3]=\"accessibilityPageSize\",t[t.ariaLabel=4]=\"ariaLabel\",t[t.ariaRequired=5]=\"ariaRequired\",t[t.autoClosingBrackets=6]=\"autoClosingBrackets\",t[t.autoClosingComments=7]=\"autoClosingComments\",t[t.screenReaderAnnounceInlineSuggestion=8]=\"screenReaderAnnounceInlineSuggestion\",t[t.autoClosingDelete=9]=\"autoClosingDelete\",t[t.autoClosingOvertype=10]=\"autoClosingOvertype\",t[t.autoClosingQuotes=11]=\"autoClosingQuotes\",t[t.autoIndent=12]=\"autoIndent\",t[t.automaticLayout=13]=\"automaticLayout\",t[t.autoSurround=14]=\"autoSurround\",t[t.bracketPairColorization=15]=\"bracketPairColorization\",t[t.guides=16]=\"guides\",t[t.codeLens=17]=\"codeLens\",t[t.codeLensFontFamily=18]=\"codeLensFontFamily\",t[t.codeLensFontSize=19]=\"codeLensFontSize\",t[t.colorDecorators=20]=\"colorDecorators\",t[t.colorDecoratorsLimit=21]=\"colorDecoratorsLimit\",t[t.columnSelection=22]=\"columnSelection\",t[t.comments=23]=\"comments\",t[t.contextmenu=24]=\"contextmenu\",t[t.copyWithSyntaxHighlighting=25]=\"copyWithSyntaxHighlighting\",t[t.cursorBlinking=26]=\"cursorBlinking\",t[t.cursorSmoothCaretAnimation=27]=\"cursorSmoothCaretAnimation\",t[t.cursorStyle=28]=\"cursorStyle\",t[t.cursorSurroundingLines=29]=\"cursorSurroundingLines\",t[t.cursorSurroundingLinesStyle=30]=\"cursorSurroundingLinesStyle\",t[t.cursorWidth=31]=\"cursorWidth\",t[t.disableLayerHinting=32]=\"disableLayerHinting\",t[t.disableMonospaceOptimizations=33]=\"disableMonospaceOptimizations\",t[t.domReadOnly=34]=\"domReadOnly\",t[t.dragAndDrop=35]=\"dragAndDrop\",t[t.dropIntoEditor=36]=\"dropIntoEditor\",t[t.emptySelectionClipboard=37]=\"emptySelectionClipboard\",t[t.experimentalWhitespaceRendering=38]=\"experimentalWhitespaceRendering\",t[t.extraEditorClassName=39]=\"extraEditorClassName\",t[t.fastScrollSensitivity=40]=\"fastScrollSensitivity\",t[t.find=41]=\"find\",t[t.fixedOverflowWidgets=42]=\"fixedOverflowWidgets\",t[t.folding=43]=\"folding\",t[t.foldingStrategy=44]=\"foldingStrategy\",t[t.foldingHighlight=45]=\"foldingHighlight\",t[t.foldingImportsByDefault=46]=\"foldingImportsByDefault\",t[t.foldingMaximumRegions=47]=\"foldingMaximumRegions\",t[t.unfoldOnClickAfterEndOfLine=48]=\"unfoldOnClickAfterEndOfLine\",t[t.fontFamily=49]=\"fontFamily\",t[t.fontInfo=50]=\"fontInfo\",t[t.fontLigatures=51]=\"fontLigatures\",t[t.fontSize=52]=\"fontSize\",t[t.fontWeight=53]=\"fontWeight\",t[t.fontVariations=54]=\"fontVariations\",t[t.formatOnPaste=55]=\"formatOnPaste\",t[t.formatOnType=56]=\"formatOnType\",t[t.glyphMargin=57]=\"glyphMargin\",t[t.gotoLocation=58]=\"gotoLocation\",t[t.hideCursorInOverviewRuler=59]=\"hideCursorInOverviewRuler\",t[t.hover=60]=\"hover\",t[t.inDiffEditor=61]=\"inDiffEditor\",t[t.inlineSuggest=62]=\"inlineSuggest\",t[t.inlineEdit=63]=\"inlineEdit\",t[t.letterSpacing=64]=\"letterSpacing\",t[t.lightbulb=65]=\"lightbulb\",t[t.lineDecorationsWidth=66]=\"lineDecorationsWidth\",t[t.lineHeight=67]=\"lineHeight\",t[t.lineNumbers=68]=\"lineNumbers\",t[t.lineNumbersMinChars=69]=\"lineNumbersMinChars\",t[t.linkedEditing=70]=\"linkedEditing\",t[t.links=71]=\"links\",t[t.matchBrackets=72]=\"matchBrackets\",t[t.minimap=73]=\"minimap\",t[t.mouseStyle=74]=\"mouseStyle\",t[t.mouseWheelScrollSensitivity=75]=\"mouseWheelScrollSensitivity\",t[t.mouseWheelZoom=76]=\"mouseWheelZoom\",t[t.multiCursorMergeOverlapping=77]=\"multiCursorMergeOverlapping\",t[t.multiCursorModifier=78]=\"multiCursorModifier\",t[t.multiCursorPaste=79]=\"multiCursorPaste\",t[t.multiCursorLimit=80]=\"multiCursorLimit\",t[t.occurrencesHighlight=81]=\"occurrencesHighlight\",t[t.overviewRulerBorder=82]=\"overviewRulerBorder\",t[t.overviewRulerLanes=83]=\"overviewRulerLanes\",t[t.padding=84]=\"padding\",t[t.pasteAs=85]=\"pasteAs\",t[t.parameterHints=86]=\"parameterHints\",t[t.peekWidgetDefaultFocus=87]=\"peekWidgetDefaultFocus\",t[t.placeholder=88]=\"placeholder\",t[t.definitionLinkOpensInPeek=89]=\"definitionLinkOpensInPeek\",t[t.quickSuggestions=90]=\"quickSuggestions\",t[t.quickSuggestionsDelay=91]=\"quickSuggestionsDelay\",t[t.readOnly=92]=\"readOnly\",t[t.readOnlyMessage=93]=\"readOnlyMessage\",t[t.renameOnType=94]=\"renameOnType\",t[t.renderControlCharacters=95]=\"renderControlCharacters\",t[t.renderFinalNewline=96]=\"renderFinalNewline\",t[t.renderLineHighlight=97]=\"renderLineHighlight\",t[t.renderLineHighlightOnlyWhenFocus=98]=\"renderLineHighlightOnlyWhenFocus\",t[t.renderValidationDecorations=99]=\"renderValidationDecorations\",t[t.renderWhitespace=100]=\"renderWhitespace\",t[t.revealHorizontalRightPadding=101]=\"revealHorizontalRightPadding\",t[t.roundedSelection=102]=\"roundedSelection\",t[t.rulers=103]=\"rulers\",t[t.scrollbar=104]=\"scrollbar\",t[t.scrollBeyondLastColumn=105]=\"scrollBeyondLastColumn\",t[t.scrollBeyondLastLine=106]=\"scrollBeyondLastLine\",t[t.scrollPredominantAxis=107]=\"scrollPredominantAxis\",t[t.selectionClipboard=108]=\"selectionClipboard\",t[t.selectionHighlight=109]=\"selectionHighlight\",t[t.selectOnLineNumbers=110]=\"selectOnLineNumbers\",t[t.showFoldingControls=111]=\"showFoldingControls\",t[t.showUnused=112]=\"showUnused\",t[t.snippetSuggestions=113]=\"snippetSuggestions\",t[t.smartSelect=114]=\"smartSelect\",t[t.smoothScrolling=115]=\"smoothScrolling\",t[t.stickyScroll=116]=\"stickyScroll\",t[t.stickyTabStops=117]=\"stickyTabStops\",t[t.stopRenderingLineAfter=118]=\"stopRenderingLineAfter\",t[t.suggest=119]=\"suggest\",t[t.suggestFontSize=120]=\"suggestFontSize\",t[t.suggestLineHeight=121]=\"suggestLineHeight\",t[t.suggestOnTriggerCharacters=122]=\"suggestOnTriggerCharacters\",t[t.suggestSelection=123]=\"suggestSelection\",t[t.tabCompletion=124]=\"tabCompletion\",t[t.tabIndex=125]=\"tabIndex\",t[t.unicodeHighlighting=126]=\"unicodeHighlighting\",t[t.unusualLineTerminators=127]=\"unusualLineTerminators\",t[t.useShadowDOM=128]=\"useShadowDOM\",t[t.useTabStops=129]=\"useTabStops\",t[t.wordBreak=130]=\"wordBreak\",t[t.wordSegmenterLocales=131]=\"wordSegmenterLocales\",t[t.wordSeparators=132]=\"wordSeparators\",t[t.wordWrap=133]=\"wordWrap\",t[t.wordWrapBreakAfterCharacters=134]=\"wordWrapBreakAfterCharacters\",t[t.wordWrapBreakBeforeCharacters=135]=\"wordWrapBreakBeforeCharacters\",t[t.wordWrapColumn=136]=\"wordWrapColumn\",t[t.wordWrapOverride1=137]=\"wordWrapOverride1\",t[t.wordWrapOverride2=138]=\"wordWrapOverride2\",t[t.wrappingIndent=139]=\"wrappingIndent\",t[t.wrappingStrategy=140]=\"wrappingStrategy\",t[t.showDeprecated=141]=\"showDeprecated\",t[t.inlayHints=142]=\"inlayHints\",t[t.editorClassName=143]=\"editorClassName\",t[t.pixelRatio=144]=\"pixelRatio\",t[t.tabFocusMode=145]=\"tabFocusMode\",t[t.layoutInfo=146]=\"layoutInfo\",t[t.wrappingInfo=147]=\"wrappingInfo\",t[t.defaultColorDecorators=148]=\"defaultColorDecorators\",t[t.colorDecoratorsActivatedOn=149]=\"colorDecoratorsActivatedOn\",t[t.inlineCompletionsAccessibilityVerbose=150]=\"inlineCompletionsAccessibilityVerbose\"})(r||(n.EditorOption=r={}));var s;(function(t){t[t.TextDefined=0]=\"TextDefined\",t[t.LF=1]=\"LF\",t[t.CRLF=2]=\"CRLF\"})(s||(n.EndOfLinePreference=s={}));var o;(function(t){t[t.LF=0]=\"LF\",t[t.CRLF=1]=\"CRLF\"})(o||(n.EndOfLineSequence=o={}));var u;(function(t){t[t.Left=1]=\"Left\",t[t.Center=2]=\"Center\",t[t.Right=3]=\"Right\"})(u||(n.GlyphMarginLane=u={}));var S;(function(t){t[t.Increase=0]=\"Increase\",t[t.Decrease=1]=\"Decrease\"})(S||(n.HoverVerbosityAction=S={}));var L;(function(t){t[t.None=0]=\"None\",t[t.Indent=1]=\"Indent\",t[t.IndentOutdent=2]=\"IndentOutdent\",t[t.Outdent=3]=\"Outdent\"})(L||(n.IndentAction=L={}));var N;(function(t){t[t.Both=0]=\"Both\",t[t.Right=1]=\"Right\",t[t.Left=2]=\"Left\",t[t.None=3]=\"None\"})(N||(n.InjectedTextCursorStops=N={}));var P;(function(t){t[t.Type=1]=\"Type\",t[t.Parameter=2]=\"Parameter\"})(P||(n.InlayHintKind=P={}));var E;(function(t){t[t.Automatic=0]=\"Automatic\",t[t.Explicit=1]=\"Explicit\"})(E||(n.InlineCompletionTriggerKind=E={}));var v;(function(t){t[t.Invoke=0]=\"Invoke\",t[t.Automatic=1]=\"Automatic\"})(v||(n.InlineEditTriggerKind=v={}));var l;(function(t){t[t.DependsOnKbLayout=-1]=\"DependsOnKbLayout\",t[t.Unknown=0]=\"Unknown\",t[t.Backspace=1]=\"Backspace\",t[t.Tab=2]=\"Tab\",t[t.Enter=3]=\"Enter\",t[t.Shift=4]=\"Shift\",t[t.Ctrl=5]=\"Ctrl\",t[t.Alt=6]=\"Alt\",t[t.PauseBreak=7]=\"PauseBreak\",t[t.CapsLock=8]=\"CapsLock\",t[t.Escape=9]=\"Escape\",t[t.Space=10]=\"Space\",t[t.PageUp=11]=\"PageUp\",t[t.PageDown=12]=\"PageDown\",t[t.End=13]=\"End\",t[t.Home=14]=\"Home\",t[t.LeftArrow=15]=\"LeftArrow\",t[t.UpArrow=16]=\"UpArrow\",t[t.RightArrow=17]=\"RightArrow\",t[t.DownArrow=18]=\"DownArrow\",t[t.Insert=19]=\"Insert\",t[t.Delete=20]=\"Delete\",t[t.Digit0=21]=\"Digit0\",t[t.Digit1=22]=\"Digit1\",t[t.Digit2=23]=\"Digit2\",t[t.Digit3=24]=\"Digit3\",t[t.Digit4=25]=\"Digit4\",t[t.Digit5=26]=\"Digit5\",t[t.Digit6=27]=\"Digit6\",t[t.Digit7=28]=\"Digit7\",t[t.Digit8=29]=\"Digit8\",t[t.Digit9=30]=\"Digit9\",t[t.KeyA=31]=\"KeyA\",t[t.KeyB=32]=\"KeyB\",t[t.KeyC=33]=\"KeyC\",t[t.KeyD=34]=\"KeyD\",t[t.KeyE=35]=\"KeyE\",t[t.KeyF=36]=\"KeyF\",t[t.KeyG=37]=\"KeyG\",t[t.KeyH=38]=\"KeyH\",t[t.KeyI=39]=\"KeyI\",t[t.KeyJ=40]=\"KeyJ\",t[t.KeyK=41]=\"KeyK\",t[t.KeyL=42]=\"KeyL\",t[t.KeyM=43]=\"KeyM\",t[t.KeyN=44]=\"KeyN\",t[t.KeyO=45]=\"KeyO\",t[t.KeyP=46]=\"KeyP\",t[t.KeyQ=47]=\"KeyQ\",t[t.KeyR=48]=\"KeyR\",t[t.KeyS=49]=\"KeyS\",t[t.KeyT=50]=\"KeyT\",t[t.KeyU=51]=\"KeyU\",t[t.KeyV=52]=\"KeyV\",t[t.KeyW=53]=\"KeyW\",t[t.KeyX=54]=\"KeyX\",t[t.KeyY=55]=\"KeyY\",t[t.KeyZ=56]=\"KeyZ\",t[t.Meta=57]=\"Meta\",t[t.ContextMenu=58]=\"ContextMenu\",t[t.F1=59]=\"F1\",t[t.F2=60]=\"F2\",t[t.F3=61]=\"F3\",t[t.F4=62]=\"F4\",t[t.F5=63]=\"F5\",t[t.F6=64]=\"F6\",t[t.F7=65]=\"F7\",t[t.F8=66]=\"F8\",t[t.F9=67]=\"F9\",t[t.F10=68]=\"F10\",t[t.F11=69]=\"F11\",t[t.F12=70]=\"F12\",t[t.F13=71]=\"F13\",t[t.F14=72]=\"F14\",t[t.F15=73]=\"F15\",t[t.F16=74]=\"F16\",t[t.F17=75]=\"F17\",t[t.F18=76]=\"F18\",t[t.F19=77]=\"F19\",t[t.F20=78]=\"F20\",t[t.F21=79]=\"F21\",t[t.F22=80]=\"F22\",t[t.F23=81]=\"F23\",t[t.F24=82]=\"F24\",t[t.NumLock=83]=\"NumLock\",t[t.ScrollLock=84]=\"ScrollLock\",t[t.Semicolon=85]=\"Semicolon\",t[t.Equal=86]=\"Equal\",t[t.Comma=87]=\"Comma\",t[t.Minus=88]=\"Minus\",t[t.Period=89]=\"Period\",t[t.Slash=90]=\"Slash\",t[t.Backquote=91]=\"Backquote\",t[t.BracketLeft=92]=\"BracketLeft\",t[t.Backslash=93]=\"Backslash\",t[t.BracketRight=94]=\"BracketRight\",t[t.Quote=95]=\"Quote\",t[t.OEM_8=96]=\"OEM_8\",t[t.IntlBackslash=97]=\"IntlBackslash\",t[t.Numpad0=98]=\"Numpad0\",t[t.Numpad1=99]=\"Numpad1\",t[t.Numpad2=100]=\"Numpad2\",t[t.Numpad3=101]=\"Numpad3\",t[t.Numpad4=102]=\"Numpad4\",t[t.Numpad5=103]=\"Numpad5\",t[t.Numpad6=104]=\"Numpad6\",t[t.Numpad7=105]=\"Numpad7\",t[t.Numpad8=106]=\"Numpad8\",t[t.Numpad9=107]=\"Numpad9\",t[t.NumpadMultiply=108]=\"NumpadMultiply\",t[t.NumpadAdd=109]=\"NumpadAdd\",t[t.NUMPAD_SEPARATOR=110]=\"NUMPAD_SEPARATOR\",t[t.NumpadSubtract=111]=\"NumpadSubtract\",t[t.NumpadDecimal=112]=\"NumpadDecimal\",t[t.NumpadDivide=113]=\"NumpadDivide\",t[t.KEY_IN_COMPOSITION=114]=\"KEY_IN_COMPOSITION\",t[t.ABNT_C1=115]=\"ABNT_C1\",t[t.ABNT_C2=116]=\"ABNT_C2\",t[t.AudioVolumeMute=117]=\"AudioVolumeMute\",t[t.AudioVolumeUp=118]=\"AudioVolumeUp\",t[t.AudioVolumeDown=119]=\"AudioVolumeDown\",t[t.BrowserSearch=120]=\"BrowserSearch\",t[t.BrowserHome=121]=\"BrowserHome\",t[t.BrowserBack=122]=\"BrowserBack\",t[t.BrowserForward=123]=\"BrowserForward\",t[t.MediaTrackNext=124]=\"MediaTrackNext\",t[t.MediaTrackPrevious=125]=\"MediaTrackPrevious\",t[t.MediaStop=126]=\"MediaStop\",t[t.MediaPlayPause=127]=\"MediaPlayPause\",t[t.LaunchMediaPlayer=128]=\"LaunchMediaPlayer\",t[t.LaunchMail=129]=\"LaunchMail\",t[t.LaunchApp2=130]=\"LaunchApp2\",t[t.Clear=131]=\"Clear\",t[t.MAX_VALUE=132]=\"MAX_VALUE\"})(l||(n.KeyCode=l={}));var b;(function(t){t[t.Hint=1]=\"Hint\",t[t.Info=2]=\"Info\",t[t.Warning=4]=\"Warning\",t[t.Error=8]=\"Error\"})(b||(n.MarkerSeverity=b={}));var g;(function(t){t[t.Unnecessary=1]=\"Unnecessary\",t[t.Deprecated=2]=\"Deprecated\"})(g||(n.MarkerTag=g={}));var w;(function(t){t[t.Inline=1]=\"Inline\",t[t.Gutter=2]=\"Gutter\"})(w||(n.MinimapPosition=w={}));var M;(function(t){t[t.Normal=1]=\"Normal\",t[t.Underlined=2]=\"Underlined\"})(M||(n.MinimapSectionHeaderStyle=M={}));var y;(function(t){t[t.UNKNOWN=0]=\"UNKNOWN\",t[t.TEXTAREA=1]=\"TEXTAREA\",t[t.GUTTER_GLYPH_MARGIN=2]=\"GUTTER_GLYPH_MARGIN\",t[t.GUTTER_LINE_NUMBERS=3]=\"GUTTER_LINE_NUMBERS\",t[t.GUTTER_LINE_DECORATIONS=4]=\"GUTTER_LINE_DECORATIONS\",t[t.GUTTER_VIEW_ZONE=5]=\"GUTTER_VIEW_ZONE\",t[t.CONTENT_TEXT=6]=\"CONTENT_TEXT\",t[t.CONTENT_EMPTY=7]=\"CONTENT_EMPTY\",t[t.CONTENT_VIEW_ZONE=8]=\"CONTENT_VIEW_ZONE\",t[t.CONTENT_WIDGET=9]=\"CONTENT_WIDGET\",t[t.OVERVIEW_RULER=10]=\"OVERVIEW_RULER\",t[t.SCROLLBAR=11]=\"SCROLLBAR\",t[t.OVERLAY_WIDGET=12]=\"OVERLAY_WIDGET\",t[t.OUTSIDE_EDITOR=13]=\"OUTSIDE_EDITOR\"})(y||(n.MouseTargetType=y={}));var _;(function(t){t[t.AIGenerated=1]=\"AIGenerated\"})(_||(n.NewSymbolNameTag=_={}));var C;(function(t){t[t.Invoke=0]=\"Invoke\",t[t.Automatic=1]=\"Automatic\"})(C||(n.NewSymbolNameTriggerKind=C={}));var R;(function(t){t[t.TOP_RIGHT_CORNER=0]=\"TOP_RIGHT_CORNER\",t[t.BOTTOM_RIGHT_CORNER=1]=\"BOTTOM_RIGHT_CORNER\",t[t.TOP_CENTER=2]=\"TOP_CENTER\"})(R||(n.OverlayWidgetPositionPreference=R={}));var D;(function(t){t[t.Left=1]=\"Left\",t[t.Center=2]=\"Center\",t[t.Right=4]=\"Right\",t[t.Full=7]=\"Full\"})(D||(n.OverviewRulerLane=D={}));var T;(function(t){t[t.Word=0]=\"Word\",t[t.Line=1]=\"Line\",t[t.Suggest=2]=\"Suggest\"})(T||(n.PartialAcceptTriggerKind=T={}));var O;(function(t){t[t.Left=0]=\"Left\",t[t.Right=1]=\"Right\",t[t.None=2]=\"None\",t[t.LeftOfInjectedText=3]=\"LeftOfInjectedText\",t[t.RightOfInjectedText=4]=\"RightOfInjectedText\"})(O||(n.PositionAffinity=O={}));var z;(function(t){t[t.Off=0]=\"Off\",t[t.On=1]=\"On\",t[t.Relative=2]=\"Relative\",t[t.Interval=3]=\"Interval\",t[t.Custom=4]=\"Custom\"})(z||(n.RenderLineNumbersType=z={}));var j;(function(t){t[t.None=0]=\"None\",t[t.Text=1]=\"Text\",t[t.Blocks=2]=\"Blocks\"})(j||(n.RenderMinimap=j={}));var F;(function(t){t[t.Smooth=0]=\"Smooth\",t[t.Immediate=1]=\"Immediate\"})(F||(n.ScrollType=F={}));var q;(function(t){t[t.Auto=1]=\"Auto\",t[t.Hidden=2]=\"Hidden\",t[t.Visible=3]=\"Visible\"})(q||(n.ScrollbarVisibility=q={}));var B;(function(t){t[t.LTR=0]=\"LTR\",t[t.RTL=1]=\"RTL\"})(B||(n.SelectionDirection=B={}));var G;(function(t){t.Off=\"off\",t.OnCode=\"onCode\",t.On=\"on\"})(G||(n.ShowLightbulbIconMode=G={}));var $;(function(t){t[t.Invoke=1]=\"Invoke\",t[t.TriggerCharacter=2]=\"TriggerCharacter\",t[t.ContentChange=3]=\"ContentChange\"})($||(n.SignatureHelpTriggerKind=$={}));var U;(function(t){t[t.File=0]=\"File\",t[t.Module=1]=\"Module\",t[t.Namespace=2]=\"Namespace\",t[t.Package=3]=\"Package\",t[t.Class=4]=\"Class\",t[t.Method=5]=\"Method\",t[t.Property=6]=\"Property\",t[t.Field=7]=\"Field\",t[t.Constructor=8]=\"Constructor\",t[t.Enum=9]=\"Enum\",t[t.Interface=10]=\"Interface\",t[t.Function=11]=\"Function\",t[t.Variable=12]=\"Variable\",t[t.Constant=13]=\"Constant\",t[t.String=14]=\"String\",t[t.Number=15]=\"Number\",t[t.Boolean=16]=\"Boolean\",t[t.Array=17]=\"Array\",t[t.Object=18]=\"Object\",t[t.Key=19]=\"Key\",t[t.Null=20]=\"Null\",t[t.EnumMember=21]=\"EnumMember\",t[t.Struct=22]=\"Struct\",t[t.Event=23]=\"Event\",t[t.Operator=24]=\"Operator\",t[t.TypeParameter=25]=\"TypeParameter\"})(U||(n.SymbolKind=U={}));var ee;(function(t){t[t.Deprecated=1]=\"Deprecated\"})(ee||(n.SymbolTag=ee={}));var re;(function(t){t[t.Hidden=0]=\"Hidden\",t[t.Blink=1]=\"Blink\",t[t.Smooth=2]=\"Smooth\",t[t.Phase=3]=\"Phase\",t[t.Expand=4]=\"Expand\",t[t.Solid=5]=\"Solid\"})(re||(n.TextEditorCursorBlinkingStyle=re={}));var ue;(function(t){t[t.Line=1]=\"Line\",t[t.Block=2]=\"Block\",t[t.Underline=3]=\"Underline\",t[t.LineThin=4]=\"LineThin\",t[t.BlockOutline=5]=\"BlockOutline\",t[t.UnderlineThin=6]=\"UnderlineThin\"})(ue||(n.TextEditorCursorStyle=ue={}));var de;(function(t){t[t.AlwaysGrowsWhenTypingAtEdges=0]=\"AlwaysGrowsWhenTypingAtEdges\",t[t.NeverGrowsWhenTypingAtEdges=1]=\"NeverGrowsWhenTypingAtEdges\",t[t.GrowsOnlyWhenTypingBefore=2]=\"GrowsOnlyWhenTypingBefore\",t[t.GrowsOnlyWhenTypingAfter=3]=\"GrowsOnlyWhenTypingAfter\"})(de||(n.TrackedRangeStickiness=de={}));var ge;(function(t){t[t.None=0]=\"None\",t[t.Same=1]=\"Same\",t[t.Indent=2]=\"Indent\",t[t.DeepIndent=3]=\"DeepIndent\"})(ge||(n.WrappingIndent=ge={}))}),X(J[70],Z([0,1,9,8]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.TokenizationRegistry=void 0;class A{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new i.Emitter,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(p){this._onDidChange.fire({changedLanguages:p,changedColorMap:!1})}register(p,c){return this._tokenizationSupports.set(p,c),this.handleChange([p]),(0,x.toDisposable)(()=>{this._tokenizationSupports.get(p)===c&&(this._tokenizationSupports.delete(p),this.handleChange([p]))})}get(p){return this._tokenizationSupports.get(p)||null}registerFactory(p,c){this._factories.get(p)?.dispose();const a=new d(this,p,c);return this._factories.set(p,a),(0,x.toDisposable)(()=>{const m=this._factories.get(p);!m||m!==a||(this._factories.delete(p),m.dispose())})}async getOrCreate(p){const c=this.get(p);if(c)return c;const a=this._factories.get(p);return!a||a.isResolved?null:(await a.resolve(),this.get(p))}isResolved(p){if(this.get(p))return!0;const a=this._factories.get(p);return!!(!a||a.isResolved)}setColorMap(p){this._colorMap=p,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}n.TokenizationRegistry=A;class d extends x.Disposable{get isResolved(){return this._isResolved}constructor(p,c,a){super(),this._registry=p,this._languageId=c,this._factory=a,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const p=await this._factory.tokenizationSupport;this._isResolved=!0,p&&!this._isDisposed&&this._register(this._registry.register(this._languageId,p))}}}),X(J[35],Z([0,1]),function(W,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.getNLSMessages=i,n.getNLSLanguage=x;function i(){return globalThis._VSCODE_NLS_MESSAGES}function x(){return globalThis._VSCODE_NLS_LANGUAGE}}),X(J[36],Z([0,1,35,35]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.getNLSMessages=n.getNLSLanguage=void 0,n.localize=f,n.localize2=c,Object.defineProperty(n,\"getNLSLanguage\",{enumerable:!0,get:function(){return x.getNLSLanguage}}),Object.defineProperty(n,\"getNLSMessages\",{enumerable:!0,get:function(){return x.getNLSMessages}});const A=(0,i.getNLSLanguage)()===\"pseudo\"||typeof document<\"u\"&&document.location&&document.location.hash.indexOf(\"pseudo=true\")>=0;function d(a,m){let e;return m.length===0?e=a:e=a.replace(/\\{(\\d+)\\}/g,(h,r)=>{const s=r[0],o=m[s];let u=h;return typeof o==\"string\"?u=o:(typeof o==\"number\"||typeof o==\"boolean\"||o===void 0||o===null)&&(u=String(o)),u}),A&&(e=\"\\uFF3B\"+e.replace(/[aouei]/g,\"$&$&\")+\"\\uFF3D\"),e}function f(a,m,...e){return d(typeof a==\"number\"?p(a,m):m,e)}function p(a,m){const e=(0,i.getNLSMessages)()?.[a];if(typeof e!=\"string\"){if(typeof m==\"string\")return m;throw new Error(`!!! NLS MISSING: ${a} !!!`)}return e}function c(a,m,...e){let h;typeof a==\"number\"?h=p(a,m):h=m;const r=d(h,e);return{value:r,original:m===h?r:d(m,e)}}}),X(J[11],Z([0,1,36]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.isAndroid=n.isEdge=n.isSafari=n.isFirefox=n.isChrome=n.OS=n.setTimeout0=n.setTimeout0IsFaster=n.language=n.userAgent=n.isMobile=n.isIOS=n.webWorkerOrigin=n.isWebWorker=n.isWeb=n.isNative=n.isLinux=n.isMacintosh=n.isWindows=n.LANGUAGE_DEFAULT=void 0,n.isLittleEndian=g,n.LANGUAGE_DEFAULT=\"en\";let x=!1,A=!1,d=!1,f=!1,p=!1,c=!1,a=!1,m=!1,e=!1,h=!1,r,s=n.LANGUAGE_DEFAULT,o=n.LANGUAGE_DEFAULT,u,S;const L=globalThis;let N;typeof L.vscode<\"u\"&&typeof L.vscode.process<\"u\"?N=L.vscode.process:typeof process<\"u\"&&typeof process?.versions?.node==\"string\"&&(N=process);const P=typeof N?.versions?.electron==\"string\",E=P&&N?.type===\"renderer\";if(typeof N==\"object\"){x=N.platform===\"win32\",A=N.platform===\"darwin\",d=N.platform===\"linux\",f=d&&!!N.env.SNAP&&!!N.env.SNAP_REVISION,a=P,e=!!N.env.CI||!!N.env.BUILD_ARTIFACTSTAGINGDIRECTORY,r=n.LANGUAGE_DEFAULT,s=n.LANGUAGE_DEFAULT;const w=N.env.VSCODE_NLS_CONFIG;if(w)try{const M=JSON.parse(w);r=M.userLocale,o=M.osLocale,s=M.resolvedLanguage||n.LANGUAGE_DEFAULT,u=M.languagePack?.translationsConfigFile}catch{}p=!0}else typeof navigator==\"object\"&&!E?(S=navigator.userAgent,x=S.indexOf(\"Windows\")>=0,A=S.indexOf(\"Macintosh\")>=0,m=(S.indexOf(\"Macintosh\")>=0||S.indexOf(\"iPad\")>=0||S.indexOf(\"iPhone\")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,d=S.indexOf(\"Linux\")>=0,h=S?.indexOf(\"Mobi\")>=0,c=!0,s=i.getNLSLanguage()||n.LANGUAGE_DEFAULT,r=navigator.language.toLowerCase(),o=r):console.error(\"Unable to resolve platform.\");let v=0;A?v=1:x?v=3:d&&(v=2),n.isWindows=x,n.isMacintosh=A,n.isLinux=d,n.isNative=p,n.isWeb=c,n.isWebWorker=c&&typeof L.importScripts==\"function\",n.webWorkerOrigin=n.isWebWorker?L.origin:void 0,n.isIOS=m,n.isMobile=h,n.userAgent=S,n.language=s,n.setTimeout0IsFaster=typeof L.postMessage==\"function\"&&!L.importScripts,n.setTimeout0=(()=>{if(n.setTimeout0IsFaster){const w=[];L.addEventListener(\"message\",y=>{if(y.data&&y.data.vscodeScheduleAsyncWork)for(let _=0,C=w.length;_<C;_++){const R=w[_];if(R.id===y.data.vscodeScheduleAsyncWork){w.splice(_,1),R.callback();return}}});let M=0;return y=>{const _=++M;w.push({id:_,callback:y}),L.postMessage({vscodeScheduleAsyncWork:_},\"*\")}}return w=>setTimeout(w)})(),n.OS=A||m?2:x?1:3;let l=!0,b=!1;function g(){if(!b){b=!0;const w=new Uint8Array(2);w[0]=1,w[1]=2,l=new Uint16Array(w.buffer)[0]===513}return l}n.isChrome=!!(n.userAgent&&n.userAgent.indexOf(\"Chrome\")>=0),n.isFirefox=!!(n.userAgent&&n.userAgent.indexOf(\"Firefox\")>=0),n.isSafari=!!(!n.isChrome&&n.userAgent&&n.userAgent.indexOf(\"Safari\")>=0),n.isEdge=!!(n.userAgent&&n.userAgent.indexOf(\"Edg/\")>=0),n.isAndroid=!!(n.userAgent&&n.userAgent.indexOf(\"Android\")>=0)}),X(J[71],Z([0,1,23,3,9,8,11,45]),function(W,n,i,x,A,d,f,p){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.CancelableAsyncIterableObject=n.AsyncIterableObject=n.Promises=n.DeferredPromise=n.GlobalIdleValue=n.AbstractIdleValue=n._runWhenIdle=n.runWhenGlobalIdle=n.RunOnceScheduler=n.IntervalTimer=n.TimeoutTimer=n.ThrottledDelayer=n.Delayer=n.Throttler=void 0,n.isThenable=c,n.createCancelablePromise=a,n.raceCancellation=m,n.timeout=u,n.disposableTimeout=S,n.first=L,n.createCancelableAsyncIterable=y;function c(_){return!!_&&typeof _.then==\"function\"}function a(_){const C=new i.CancellationTokenSource,R=_(C.token),D=new Promise((T,O)=>{const z=C.token.onCancellationRequested(()=>{z.dispose(),O(new x.CancellationError)});Promise.resolve(R).then(j=>{z.dispose(),C.dispose(),T(j)},j=>{z.dispose(),C.dispose(),O(j)})});return new class{cancel(){C.cancel(),C.dispose()}then(T,O){return D.then(T,O)}catch(T){return this.then(void 0,T)}finally(T){return D.finally(T)}}}function m(_,C,R){return new Promise((D,T)=>{const O=C.onCancellationRequested(()=>{O.dispose(),D(R)});_.then(D,T).finally(()=>O.dispose())})}class e{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(C){if(this.isDisposed)return Promise.reject(new Error(\"Throttler is disposed\"));if(this.activePromise){if(this.queuedPromiseFactory=C,!this.queuedPromise){const R=()=>{if(this.queuedPromise=null,this.isDisposed)return;const D=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,D};this.queuedPromise=new Promise(D=>{this.activePromise.then(R,R).then(D)})}return new Promise((R,D)=>{this.queuedPromise.then(R,D)})}return this.activePromise=C(),new Promise((R,D)=>{this.activePromise.then(T=>{this.activePromise=null,R(T)},T=>{this.activePromise=null,D(T)})})}dispose(){this.isDisposed=!0}}n.Throttler=e;const h=(_,C)=>{let R=!0;const D=setTimeout(()=>{R=!1,C()},_);return{isTriggered:()=>R,dispose:()=>{clearTimeout(D),R=!1}}},r=_=>{let C=!0;return queueMicrotask(()=>{C&&(C=!1,_())}),{isTriggered:()=>C,dispose:()=>{C=!1}}};class s{constructor(C){this.defaultDelay=C,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(C,R=this.defaultDelay){this.task=C,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((T,O)=>{this.doResolve=T,this.doReject=O}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const T=this.task;return this.task=null,T()}}));const D=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=R===p.MicrotaskDelay?r(D):h(R,D),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new x.CancellationError),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}n.Delayer=s;class o{constructor(C){this.delayer=new s(C),this.throttler=new e}trigger(C,R){return this.delayer.trigger(()=>this.throttler.queue(C),R)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}n.ThrottledDelayer=o;function u(_,C){return C?new Promise((R,D)=>{const T=setTimeout(()=>{O.dispose(),R()},_),O=C.onCancellationRequested(()=>{clearTimeout(T),O.dispose(),D(new x.CancellationError)})}):a(R=>u(_,R))}function S(_,C=0,R){const D=setTimeout(()=>{_(),R&&T.dispose()},C),T=(0,d.toDisposable)(()=>{clearTimeout(D),R?.deleteAndLeak(T)});return R?.add(T),T}function L(_,C=D=>!!D,R=null){let D=0;const T=_.length,O=()=>{if(D>=T)return Promise.resolve(R);const z=_[D++];return Promise.resolve(z()).then(F=>C(F)?Promise.resolve(F):O())};return O()}class N{constructor(C,R){this._isDisposed=!1,this._token=-1,typeof C==\"function\"&&typeof R==\"number\"&&this.setIfNotSet(C,R)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(C,R){if(this._isDisposed)throw new x.BugIndicatingError(\"Calling 'cancelAndSet' on a disposed TimeoutTimer\");this.cancel(),this._token=setTimeout(()=>{this._token=-1,C()},R)}setIfNotSet(C,R){if(this._isDisposed)throw new x.BugIndicatingError(\"Calling 'setIfNotSet' on a disposed TimeoutTimer\");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,C()},R))}}n.TimeoutTimer=N;class P{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(C,R,D=globalThis){if(this.isDisposed)throw new x.BugIndicatingError(\"Calling 'cancelAndSet' on a disposed IntervalTimer\");this.cancel();const T=D.setInterval(()=>{C()},R);this.disposable=(0,d.toDisposable)(()=>{D.clearInterval(T),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}n.IntervalTimer=P;class E{constructor(C,R){this.timeoutToken=-1,this.runner=C,this.timeout=R,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(C=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,C)}get delay(){return this.timeout}set delay(C){this.timeout=C}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}n.RunOnceScheduler=E,function(){typeof globalThis.requestIdleCallback!=\"function\"||typeof globalThis.cancelIdleCallback!=\"function\"?n._runWhenIdle=(_,C)=>{(0,f.setTimeout0)(()=>{if(R)return;const D=Date.now()+15;C(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,D-Date.now())}}))});let R=!1;return{dispose(){R||(R=!0)}}}:n._runWhenIdle=(_,C,R)=>{const D=_.requestIdleCallback(C,typeof R==\"number\"?{timeout:R}:void 0);let T=!1;return{dispose(){T||(T=!0,_.cancelIdleCallback(D))}}},n.runWhenGlobalIdle=_=>(0,n._runWhenIdle)(globalThis,_)}();class v{constructor(C,R){this._didRun=!1,this._executor=()=>{try{this._value=R()}catch(D){this._error=D}finally{this._didRun=!0}},this._handle=(0,n._runWhenIdle)(C,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}n.AbstractIdleValue=v;class l extends v{constructor(C){super(globalThis,C)}}n.GlobalIdleValue=l;class b{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((C,R)=>{this.completeCallback=C,this.errorCallback=R})}complete(C){return new Promise(R=>{this.completeCallback(C),this.outcome={outcome:0,value:C},R()})}error(C){return new Promise(R=>{this.errorCallback(C),this.outcome={outcome:1,value:C},R()})}cancel(){return this.error(new x.CancellationError)}}n.DeferredPromise=b;var g;(function(_){async function C(D){let T;const O=await Promise.all(D.map(z=>z.then(j=>j,j=>{T||(T=j)})));if(typeof T<\"u\")throw T;return O}_.settled=C;function R(D){return new Promise(async(T,O)=>{try{await D(T,O)}catch(z){O(z)}})}_.withAsyncBody=R})(g||(n.Promises=g={}));class w{static fromArray(C){return new w(R=>{R.emitMany(C)})}static fromPromise(C){return new w(async R=>{R.emitMany(await C)})}static fromPromises(C){return new w(async R=>{await Promise.all(C.map(async D=>R.emitOne(await D)))})}static merge(C){return new w(async R=>{await Promise.all(C.map(async D=>{for await(const T of D)R.emitOne(T)}))})}static{this.EMPTY=w.fromArray([])}constructor(C,R){this._state=0,this._results=[],this._error=null,this._onReturn=R,this._onStateChanged=new A.Emitter,queueMicrotask(async()=>{const D={emitOne:T=>this.emitOne(T),emitMany:T=>this.emitMany(T),reject:T=>this.reject(T)};try{await Promise.resolve(C(D)),this.resolve()}catch(T){this.reject(T)}finally{D.emitOne=void 0,D.emitMany=void 0,D.reject=void 0}})}[Symbol.asyncIterator](){let C=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(C<this._results.length)return{done:!1,value:this._results[C++]};if(this._state===1)return{done:!0,value:void 0};await A.Event.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(C,R){return new w(async D=>{for await(const T of C)D.emitOne(R(T))})}map(C){return w.map(this,C)}static filter(C,R){return new w(async D=>{for await(const T of C)R(T)&&D.emitOne(T)})}filter(C){return w.filter(this,C)}static coalesce(C){return w.filter(C,R=>!!R)}coalesce(){return w.coalesce(this)}static async toPromise(C){const R=[];for await(const D of C)R.push(D);return R}toPromise(){return w.toPromise(this)}emitOne(C){this._state===0&&(this._results.push(C),this._onStateChanged.fire())}emitMany(C){this._state===0&&(this._results=this._results.concat(C),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(C){this._state===0&&(this._state=2,this._error=C,this._onStateChanged.fire())}}n.AsyncIterableObject=w;class M extends w{constructor(C,R){super(R),this._source=C}cancel(){this._source.cancel()}}n.CancelableAsyncIterableObject=M;function y(_){const C=new i.CancellationTokenSource,R=_(C.token);return new M(C,async D=>{const T=C.token.onCancellationRequested(()=>{T.dispose(),C.dispose(),D.reject(new x.CancellationError)});try{for await(const O of R){if(C.token.isCancellationRequested)return;D.emitOne(O)}T.dispose(),C.dispose()}catch(O){T.dispose(),C.dispose(),D.reject(O)}})}}),X(J[72],Z([0,1,11]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.platform=n.env=n.cwd=void 0;let x;const A=globalThis.vscode;if(typeof A<\"u\"&&typeof A.process<\"u\"){const d=A.process;x={get platform(){return d.platform},get arch(){return d.arch},get env(){return d.env},cwd(){return d.cwd()}}}else typeof process<\"u\"&&typeof process?.versions?.node==\"string\"?x={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:x={get platform(){return i.isWindows?\"win32\":i.isMacintosh?\"darwin\":\"linux\"},get arch(){},get env(){return{}},cwd(){return\"/\"}};n.cwd=x.cwd,n.env=x.env,n.platform=x.platform}),X(J[37],Z([0,1,72]),function(W,n,i){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.sep=n.extname=n.basename=n.dirname=n.relative=n.resolve=n.join=n.normalize=n.posix=n.win32=void 0;const x=65,A=97,d=90,f=122,p=46,c=47,a=92,m=58,e=63;class h extends Error{constructor(b,g,w){let M;typeof g==\"string\"&&g.indexOf(\"not \")===0?(M=\"must not be\",g=g.replace(/^not /,\"\")):M=\"must be\";const y=b.indexOf(\".\")!==-1?\"property\":\"argument\";let _=`The \"${b}\" ${y} ${M} of type ${g}`;_+=`. Received type ${typeof w}`,super(_),this.code=\"ERR_INVALID_ARG_TYPE\"}}function r(l,b){if(l===null||typeof l!=\"object\")throw new h(b,\"Object\",l)}function s(l,b){if(typeof l!=\"string\")throw new h(b,\"string\",l)}const o=i.platform===\"win32\";function u(l){return l===c||l===a}function S(l){return l===c}function L(l){return l>=x&&l<=d||l>=A&&l<=f}function N(l,b,g,w){let M=\"\",y=0,_=-1,C=0,R=0;for(let D=0;D<=l.length;++D){if(D<l.length)R=l.charCodeAt(D);else{if(w(R))break;R=c}if(w(R)){if(!(_===D-1||C===1))if(C===2){if(M.length<2||y!==2||M.charCodeAt(M.length-1)!==p||M.charCodeAt(M.length-2)!==p){if(M.length>2){const T=M.lastIndexOf(g);T===-1?(M=\"\",y=0):(M=M.slice(0,T),y=M.length-1-M.lastIndexOf(g)),_=D,C=0;continue}else if(M.length!==0){M=\"\",y=0,_=D,C=0;continue}}b&&(M+=M.length>0?`${g}..`:\"..\",y=2)}else M.length>0?M+=`${g}${l.slice(_+1,D)}`:M=l.slice(_+1,D),y=D-_-1;_=D,C=0}else R===p&&C!==-1?++C:C=-1}return M}function P(l){return l?`${l[0]===\".\"?\"\":\".\"}${l}`:\"\"}function E(l,b){r(b,\"pathObject\");const g=b.dir||b.root,w=b.base||`${b.name||\"\"}${P(b.ext)}`;return g?g===b.root?`${g}${w}`:`${g}${l}${w}`:w}n.win32={resolve(...l){let b=\"\",g=\"\",w=!1;for(let M=l.length-1;M>=-1;M--){let y;if(M>=0){if(y=l[M],s(y,`paths[${M}]`),y.length===0)continue}else b.length===0?y=i.cwd():(y=i.env[`=${b}`]||i.cwd(),(y===void 0||y.slice(0,2).toLowerCase()!==b.toLowerCase()&&y.charCodeAt(2)===a)&&(y=`${b}\\\\`));const _=y.length;let C=0,R=\"\",D=!1;const T=y.charCodeAt(0);if(_===1)u(T)&&(C=1,D=!0);else if(u(T))if(D=!0,u(y.charCodeAt(1))){let O=2,z=O;for(;O<_&&!u(y.charCodeAt(O));)O++;if(O<_&&O!==z){const j=y.slice(z,O);for(z=O;O<_&&u(y.charCodeAt(O));)O++;if(O<_&&O!==z){for(z=O;O<_&&!u(y.charCodeAt(O));)O++;(O===_||O!==z)&&(R=`\\\\\\\\${j}\\\\${y.slice(z,O)}`,C=O)}}}else C=1;else L(T)&&y.charCodeAt(1)===m&&(R=y.slice(0,2),C=2,_>2&&u(y.charCodeAt(2))&&(D=!0,C=3));if(R.length>0)if(b.length>0){if(R.toLowerCase()!==b.toLowerCase())continue}else b=R;if(w){if(b.length>0)break}else if(g=`${y.slice(C)}\\\\${g}`,w=D,D&&b.length>0)break}return g=N(g,!w,\"\\\\\",u),w?`${b}\\\\${g}`:`${b}${g}`||\".\"},normalize(l){s(l,\"path\");const b=l.length;if(b===0)return\".\";let g=0,w,M=!1;const y=l.charCodeAt(0);if(b===1)return S(y)?\"\\\\\":l;if(u(y))if(M=!0,u(l.charCodeAt(1))){let C=2,R=C;for(;C<b&&!u(l.charCodeAt(C));)C++;if(C<b&&C!==R){const D=l.slice(R,C);for(R=C;C<b&&u(l.charCodeAt(C));)C++;if(C<b&&C!==R){for(R=C;C<b&&!u(l.charCodeAt(C));)C++;if(C===b)return`\\\\\\\\${D}\\\\${l.slice(R)}\\\\`;C!==R&&(w=`\\\\\\\\${D}\\\\${l.slice(R,C)}`,g=C)}}}else g=1;else L(y)&&l.charCodeAt(1)===m&&(w=l.slice(0,2),g=2,b>2&&u(l.charCodeAt(2))&&(M=!0,g=3));let _=g<b?N(l.slice(g),!M,\"\\\\\",u):\"\";return _.length===0&&!M&&(_=\".\"),_.length>0&&u(l.charCodeAt(b-1))&&(_+=\"\\\\\"),w===void 0?M?`\\\\${_}`:_:M?`${w}\\\\${_}`:`${w}${_}`},isAbsolute(l){s(l,\"path\");const b=l.length;if(b===0)return!1;const g=l.charCodeAt(0);return u(g)||b>2&&L(g)&&l.charCodeAt(1)===m&&u(l.charCodeAt(2))},join(...l){if(l.length===0)return\".\";let b,g;for(let y=0;y<l.length;++y){const _=l[y];s(_,\"path\"),_.length>0&&(b===void 0?b=g=_:b+=`\\\\${_}`)}if(b===void 0)return\".\";let w=!0,M=0;if(typeof g==\"string\"&&u(g.charCodeAt(0))){++M;const y=g.length;y>1&&u(g.charCodeAt(1))&&(++M,y>2&&(u(g.charCodeAt(2))?++M:w=!1))}if(w){for(;M<b.length&&u(b.charCodeAt(M));)M++;M>=2&&(b=`\\\\${b.slice(M)}`)}return n.win32.normalize(b)},relative(l,b){if(s(l,\"from\"),s(b,\"to\"),l===b)return\"\";const g=n.win32.resolve(l),w=n.win32.resolve(b);if(g===w||(l=g.toLowerCase(),b=w.toLowerCase(),l===b))return\"\";let M=0;for(;M<l.length&&l.charCodeAt(M)===a;)M++;let y=l.length;for(;y-1>M&&l.charCodeAt(y-1)===a;)y--;const _=y-M;let C=0;for(;C<b.length&&b.charCodeAt(C)===a;)C++;let R=b.length;for(;R-1>C&&b.charCodeAt(R-1)===a;)R--;const D=R-C,T=_<D?_:D;let O=-1,z=0;for(;z<T;z++){const F=l.charCodeAt(M+z);if(F!==b.charCodeAt(C+z))break;F===a&&(O=z)}if(z!==T){if(O===-1)return w}else{if(D>T){if(b.charCodeAt(C+z)===a)return w.slice(C+z+1);if(z===2)return w.slice(C+z)}_>T&&(l.charCodeAt(M+z)===a?O=z:z===2&&(O=3)),O===-1&&(O=0)}let j=\"\";for(z=M+O+1;z<=y;++z)(z===y||l.charCodeAt(z)===a)&&(j+=j.length===0?\"..\":\"\\\\..\");return C+=O,j.length>0?`${j}${w.slice(C,R)}`:(w.charCodeAt(C)===a&&++C,w.slice(C,R))},toNamespacedPath(l){if(typeof l!=\"string\"||l.length===0)return l;const b=n.win32.resolve(l);if(b.length<=2)return l;if(b.charCodeAt(0)===a){if(b.charCodeAt(1)===a){const g=b.charCodeAt(2);if(g!==e&&g!==p)return`\\\\\\\\?\\\\UNC\\\\${b.slice(2)}`}}else if(L(b.charCodeAt(0))&&b.charCodeAt(1)===m&&b.charCodeAt(2)===a)return`\\\\\\\\?\\\\${b}`;return l},dirname(l){s(l,\"path\");const b=l.length;if(b===0)return\".\";let g=-1,w=0;const M=l.charCodeAt(0);if(b===1)return u(M)?l:\".\";if(u(M)){if(g=w=1,u(l.charCodeAt(1))){let C=2,R=C;for(;C<b&&!u(l.charCodeAt(C));)C++;if(C<b&&C!==R){for(R=C;C<b&&u(l.charCodeAt(C));)C++;if(C<b&&C!==R){for(R=C;C<b&&!u(l.charCodeAt(C));)C++;if(C===b)return l;C!==R&&(g=w=C+1)}}}}else L(M)&&l.charCodeAt(1)===m&&(g=b>2&&u(l.charCodeAt(2))?3:2,w=g);let y=-1,_=!0;for(let C=b-1;C>=w;--C)if(u(l.charCodeAt(C))){if(!_){y=C;break}}else _=!1;if(y===-1){if(g===-1)return\".\";y=g}return l.slice(0,y)},basename(l,b){b!==void 0&&s(b,\"suffix\"),s(l,\"path\");let g=0,w=-1,M=!0,y;if(l.length>=2&&L(l.charCodeAt(0))&&l.charCodeAt(1)===m&&(g=2),b!==void 0&&b.length>0&&b.length<=l.length){if(b===l)return\"\";let _=b.length-1,C=-1;for(y=l.length-1;y>=g;--y){const R=l.charCodeAt(y);if(u(R)){if(!M){g=y+1;break}}else C===-1&&(M=!1,C=y+1),_>=0&&(R===b.charCodeAt(_)?--_===-1&&(w=y):(_=-1,w=C))}return g===w?w=C:w===-1&&(w=l.length),l.slice(g,w)}for(y=l.length-1;y>=g;--y)if(u(l.charCodeAt(y))){if(!M){g=y+1;break}}else w===-1&&(M=!1,w=y+1);return w===-1?\"\":l.slice(g,w)},extname(l){s(l,\"path\");let b=0,g=-1,w=0,M=-1,y=!0,_=0;l.length>=2&&l.charCodeAt(1)===m&&L(l.charCodeAt(0))&&(b=w=2);for(let C=l.length-1;C>=b;--C){const R=l.charCodeAt(C);if(u(R)){if(!y){w=C+1;break}continue}M===-1&&(y=!1,M=C+1),R===p?g===-1?g=C:_!==1&&(_=1):g!==-1&&(_=-1)}return g===-1||M===-1||_===0||_===1&&g===M-1&&g===w+1?\"\":l.slice(g,M)},format:E.bind(null,\"\\\\\"),parse(l){s(l,\"path\");const b={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(l.length===0)return b;const g=l.length;let w=0,M=l.charCodeAt(0);if(g===1)return u(M)?(b.root=b.dir=l,b):(b.base=b.name=l,b);if(u(M)){if(w=1,u(l.charCodeAt(1))){let O=2,z=O;for(;O<g&&!u(l.charCodeAt(O));)O++;if(O<g&&O!==z){for(z=O;O<g&&u(l.charCodeAt(O));)O++;if(O<g&&O!==z){for(z=O;O<g&&!u(l.charCodeAt(O));)O++;O===g?w=O:O!==z&&(w=O+1)}}}}else if(L(M)&&l.charCodeAt(1)===m){if(g<=2)return b.root=b.dir=l,b;if(w=2,u(l.charCodeAt(2))){if(g===3)return b.root=b.dir=l,b;w=3}}w>0&&(b.root=l.slice(0,w));let y=-1,_=w,C=-1,R=!0,D=l.length-1,T=0;for(;D>=w;--D){if(M=l.charCodeAt(D),u(M)){if(!R){_=D+1;break}continue}C===-1&&(R=!1,C=D+1),M===p?y===-1?y=D:T!==1&&(T=1):y!==-1&&(T=-1)}return C!==-1&&(y===-1||T===0||T===1&&y===C-1&&y===_+1?b.base=b.name=l.slice(_,C):(b.name=l.slice(_,y),b.base=l.slice(_,C),b.ext=l.slice(y,C))),_>0&&_!==w?b.dir=l.slice(0,_-1):b.dir=b.root,b},sep:\"\\\\\",delimiter:\";\",win32:null,posix:null};const v=(()=>{if(o){const l=/\\\\/g;return()=>{const b=i.cwd().replace(l,\"/\");return b.slice(b.indexOf(\"/\"))}}return()=>i.cwd()})();n.posix={resolve(...l){let b=\"\",g=!1;for(let w=l.length-1;w>=-1&&!g;w--){const M=w>=0?l[w]:v();s(M,`paths[${w}]`),M.length!==0&&(b=`${M}/${b}`,g=M.charCodeAt(0)===c)}return b=N(b,!g,\"/\",S),g?`/${b}`:b.length>0?b:\".\"},normalize(l){if(s(l,\"path\"),l.length===0)return\".\";const b=l.charCodeAt(0)===c,g=l.charCodeAt(l.length-1)===c;return l=N(l,!b,\"/\",S),l.length===0?b?\"/\":g?\"./\":\".\":(g&&(l+=\"/\"),b?`/${l}`:l)},isAbsolute(l){return s(l,\"path\"),l.length>0&&l.charCodeAt(0)===c},join(...l){if(l.length===0)return\".\";let b;for(let g=0;g<l.length;++g){const w=l[g];s(w,\"path\"),w.length>0&&(b===void 0?b=w:b+=`/${w}`)}return b===void 0?\".\":n.posix.normalize(b)},relative(l,b){if(s(l,\"from\"),s(b,\"to\"),l===b||(l=n.posix.resolve(l),b=n.posix.resolve(b),l===b))return\"\";const g=1,w=l.length,M=w-g,y=1,_=b.length-y,C=M<_?M:_;let R=-1,D=0;for(;D<C;D++){const O=l.charCodeAt(g+D);if(O!==b.charCodeAt(y+D))break;O===c&&(R=D)}if(D===C)if(_>C){if(b.charCodeAt(y+D)===c)return b.slice(y+D+1);if(D===0)return b.slice(y+D)}else M>C&&(l.charCodeAt(g+D)===c?R=D:D===0&&(R=0));let T=\"\";for(D=g+R+1;D<=w;++D)(D===w||l.charCodeAt(D)===c)&&(T+=T.length===0?\"..\":\"/..\");return`${T}${b.slice(y+R)}`},toNamespacedPath(l){return l},dirname(l){if(s(l,\"path\"),l.length===0)return\".\";const b=l.charCodeAt(0)===c;let g=-1,w=!0;for(let M=l.length-1;M>=1;--M)if(l.charCodeAt(M)===c){if(!w){g=M;break}}else w=!1;return g===-1?b?\"/\":\".\":b&&g===1?\"//\":l.slice(0,g)},basename(l,b){b!==void 0&&s(b,\"ext\"),s(l,\"path\");let g=0,w=-1,M=!0,y;if(b!==void 0&&b.length>0&&b.length<=l.length){if(b===l)return\"\";let _=b.length-1,C=-1;for(y=l.length-1;y>=0;--y){const R=l.charCodeAt(y);if(R===c){if(!M){g=y+1;break}}else C===-1&&(M=!1,C=y+1),_>=0&&(R===b.charCodeAt(_)?--_===-1&&(w=y):(_=-1,w=C))}return g===w?w=C:w===-1&&(w=l.length),l.slice(g,w)}for(y=l.length-1;y>=0;--y)if(l.charCodeAt(y)===c){if(!M){g=y+1;break}}else w===-1&&(M=!1,w=y+1);return w===-1?\"\":l.slice(g,w)},extname(l){s(l,\"path\");let b=-1,g=0,w=-1,M=!0,y=0;for(let _=l.length-1;_>=0;--_){const C=l.charCodeAt(_);if(C===c){if(!M){g=_+1;break}continue}w===-1&&(M=!1,w=_+1),C===p?b===-1?b=_:y!==1&&(y=1):b!==-1&&(y=-1)}return b===-1||w===-1||y===0||y===1&&b===w-1&&b===g+1?\"\":l.slice(b,w)},format:E.bind(null,\"/\"),parse(l){s(l,\"path\");const b={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(l.length===0)return b;const g=l.charCodeAt(0)===c;let w;g?(b.root=\"/\",w=1):w=0;let M=-1,y=0,_=-1,C=!0,R=l.length-1,D=0;for(;R>=w;--R){const T=l.charCodeAt(R);if(T===c){if(!C){y=R+1;break}continue}_===-1&&(C=!1,_=R+1),T===p?M===-1?M=R:D!==1&&(D=1):M!==-1&&(D=-1)}if(_!==-1){const T=y===0&&g?1:y;M===-1||D===0||D===1&&M===_-1&&M===y+1?b.base=b.name=l.slice(T,_):(b.name=l.slice(T,M),b.base=l.slice(T,_),b.ext=l.slice(M,_))}return y>0?b.dir=l.slice(0,y-1):g&&(b.dir=\"/\"),b},sep:\"/\",delimiter:\":\",win32:null,posix:null},n.posix.win32=n.win32.win32=n.win32,n.posix.posix=n.win32.posix=n.posix,n.normalize=o?n.win32.normalize:n.posix.normalize,n.join=o?n.win32.join:n.posix.join,n.resolve=o?n.win32.resolve:n.posix.resolve,n.relative=o?n.win32.relative:n.posix.relative,n.dirname=o?n.win32.dirname:n.posix.dirname,n.basename=o?n.win32.basename:n.posix.basename,n.extname=o?n.win32.extname:n.posix.extname,n.sep=o?n.win32.sep:n.posix.sep}),X(J[14],Z([0,1,37,11]),function(W,n,i,x){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.URI=void 0,n.uriToFsPath=N;const A=/^\\w[\\w\\d+.-]*$/,d=/^\\//,f=/^\\/\\//;function p(b,g){if(!b.scheme&&g)throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${b.authority}\", path: \"${b.path}\", query: \"${b.query}\", fragment: \"${b.fragment}\"}`);if(b.scheme&&!A.test(b.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(b.path){if(b.authority){if(!d.test(b.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(f.test(b.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}}function c(b,g){return!b&&!g?\"file\":b}function a(b,g){switch(b){case\"https\":case\"http\":case\"file\":g?g[0]!==e&&(g=e+g):g=e;break}return g}const m=\"\",e=\"/\",h=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;class r{static isUri(g){return g instanceof r?!0:g?typeof g.authority==\"string\"&&typeof g.fragment==\"string\"&&typeof g.path==\"string\"&&typeof g.query==\"string\"&&typeof g.scheme==\"string\"&&typeof g.fsPath==\"string\"&&typeof g.with==\"function\"&&typeof g.toString==\"function\":!1}constructor(g,w,M,y,_,C=!1){typeof g==\"object\"?(this.scheme=g.scheme||m,this.authority=g.authority||m,this.path=g.path||m,this.query=g.query||m,this.fragment=g.fragment||m):(this.scheme=c(g,C),this.authority=w||m,this.path=a(this.scheme,M||m),this.query=y||m,this.fragment=_||m,p(this,C))}get fsPath(){return N(this,!1)}with(g){if(!g)return this;let{scheme:w,authority:M,path:y,query:_,fragment:C}=g;return w===void 0?w=this.scheme:w===null&&(w=m),M===void 0?M=this.authority:M===null&&(M=m),y===void 0?y=this.path:y===null&&(y=m),_===void 0?_=this.query:_===null&&(_=m),C===void 0?C=this.fragment:C===null&&(C=m),w===this.scheme&&M===this.authority&&y===this.path&&_===this.query&&C===this.fragment?this:new o(w,M,y,_,C)}static parse(g,w=!1){const M=h.exec(g);return M?new o(M[2]||m,l(M[4]||m),l(M[5]||m),l(M[7]||m),l(M[9]||m),w):new o(m,m,m,m,m)}static file(g){let w=m;if(x.isWindows&&(g=g.replace(/\\\\/g,e)),g[0]===e&&g[1]===e){const M=g.indexOf(e,2);M===-1?(w=g.substring(2),g=e):(w=g.substring(2,M),g=g.substring(M)||e)}return new o(\"file\",w,g,m,m)}static from(g,w){return new o(g.scheme,g.authority,g.path,g.query,g.fragment,w)}static joinPath(g,...w){if(!g.path)throw new Error(\"[UriError]: cannot call joinPath on URI without path\");let M;return x.isWindows&&g.scheme===\"file\"?M=r.file(i.win32.join(N(g,!0),...w)).path:M=i.posix.join(g.path,...w),g.with({path:M})}toString(g=!1){return P(this,g)}toJSON(){return this}static revive(g){if(g){if(g instanceof r)return g;{const w=new o(g);return w._formatted=g.external??null,w._fsPath=g._sep===s?g.fsPath??null:null,w}}else return g}}n.URI=r;const s=x.isWindows?1:void 0;class o extends r{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=N(this,!1)),this._fsPath}toString(g=!1){return g?P(this,!0):(this._formatted||(this._formatted=P(this,!1)),this._formatted)}toJSON(){const g={$mid:1};return this._fsPath&&(g.fsPath=this._fsPath,g._sep=s),this._formatted&&(g.external=this._formatted),this.path&&(g.path=this.path),this.scheme&&(g.scheme=this.scheme),this.authority&&(g.authority=this.authority),this.query&&(g.query=this.query),this.fragment&&(g.fragment=this.fragment),g}}const u={58:\"%3A\",47:\"%2F\",63:\"%3F\",35:\"%23\",91:\"%5B\",93:\"%5D\",64:\"%40\",33:\"%21\",36:\"%24\",38:\"%26\",39:\"%27\",40:\"%28\",41:\"%29\",42:\"%2A\",43:\"%2B\",44:\"%2C\",59:\"%3B\",61:\"%3D\",32:\"%20\"};function S(b,g,w){let M,y=-1;for(let _=0;_<b.length;_++){const C=b.charCodeAt(_);if(C>=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57||C===45||C===46||C===95||C===126||g&&C===47||w&&C===91||w&&C===93||w&&C===58)y!==-1&&(M+=encodeURIComponent(b.substring(y,_)),y=-1),M!==void 0&&(M+=b.charAt(_));else{M===void 0&&(M=b.substr(0,_));const R=u[C];R!==void 0?(y!==-1&&(M+=encodeURIComponent(b.substring(y,_)),y=-1),M+=R):y===-1&&(y=_)}}return y!==-1&&(M+=encodeURIComponent(b.substring(y))),M!==void 0?M:b}function L(b){let g;for(let w=0;w<b.length;w++){const M=b.charCodeAt(w);M===35||M===63?(g===void 0&&(g=b.substr(0,w)),g+=u[M]):g!==void 0&&(g+=b[w])}return g!==void 0?g:b}function N(b,g){let w;return b.authority&&b.path.length>1&&b.scheme===\"file\"?w=`//${b.authority}${b.path}`:b.path.charCodeAt(0)===47&&(b.path.charCodeAt(1)>=65&&b.path.charCodeAt(1)<=90||b.path.charCodeAt(1)>=97&&b.path.charCodeAt(1)<=122)&&b.path.charCodeAt(2)===58?g?w=b.path.substr(1):w=b.path[1].toLowerCase()+b.path.substr(2):w=b.path,x.isWindows&&(w=w.replace(/\\//g,\"\\\\\")),w}function P(b,g){const w=g?L:S;let M=\"\",{scheme:y,authority:_,path:C,query:R,fragment:D}=b;if(y&&(M+=y,M+=\":\"),(_||y===\"file\")&&(M+=e,M+=e),_){let T=_.indexOf(\"@\");if(T!==-1){const O=_.substr(0,T);_=_.substr(T+1),T=O.lastIndexOf(\":\"),T===-1?M+=w(O,!1,!1):(M+=w(O.substr(0,T),!1,!1),M+=\":\",M+=w(O.substr(T+1),!1,!0)),M+=\"@\"}_=_.toLowerCase(),T=_.lastIndexOf(\":\"),T===-1?M+=w(_,!1,!0):(M+=w(_.substr(0,T),!1,!0),M+=_.substr(T))}if(C){if(C.length>=3&&C.charCodeAt(0)===47&&C.charCodeAt(2)===58){const T=C.charCodeAt(1);T>=65&&T<=90&&(C=`/${String.fromCharCode(T+32)}:${C.substr(3)}`)}else if(C.length>=2&&C.charCodeAt(1)===58){const T=C.charCodeAt(0);T>=65&&T<=90&&(C=`${String.fromCharCode(T+32)}:${C.substr(2)}`)}M+=w(C,!0,!1)}return R&&(M+=\"?\",M+=w(R,!1,!1)),D&&(M+=\"#\",M+=g?D:S(D,!1,!1)),M}function E(b){try{return decodeURIComponent(b)}catch{return b.length>3?b.substr(0,3)+E(b.substr(3)):b}}const v=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function l(b){return b.match(v)?b.replace(v,g=>E(g)):b}}),X(J[38],Z([0,1,3,11,6,14,37]),function(W,n,i,x,A,d,f){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.COI=n.FileAccess=n.VSCODE_AUTHORITY=n.RemoteAuthorities=n.connectionTokenQueryName=n.Schemas=void 0,n.matchesScheme=c,n.matchesSomeScheme=a;var p;(function(r){r.inMemory=\"inmemory\",r.vscode=\"vscode\",r.internal=\"private\",r.walkThrough=\"walkThrough\",r.walkThroughSnippet=\"walkThroughSnippet\",r.http=\"http\",r.https=\"https\",r.file=\"file\",r.mailto=\"mailto\",r.untitled=\"untitled\",r.data=\"data\",r.command=\"command\",r.vscodeRemote=\"vscode-remote\",r.vscodeRemoteResource=\"vscode-remote-resource\",r.vscodeManagedRemoteResource=\"vscode-managed-remote-resource\",r.vscodeUserData=\"vscode-userdata\",r.vscodeCustomEditor=\"vscode-custom-editor\",r.vscodeNotebookCell=\"vscode-notebook-cell\",r.vscodeNotebookCellMetadata=\"vscode-notebook-cell-metadata\",r.vscodeNotebookCellMetadataDiff=\"vscode-notebook-cell-metadata-diff\",r.vscodeNotebookCellOutput=\"vscode-notebook-cell-output\",r.vscodeNotebookCellOutputDiff=\"vscode-notebook-cell-output-diff\",r.vscodeNotebookMetadata=\"vscode-notebook-metadata\",r.vscodeInteractiveInput=\"vscode-interactive-input\",r.vscodeSettings=\"vscode-settings\",r.vscodeWorkspaceTrust=\"vscode-workspace-trust\",r.vscodeTerminal=\"vscode-terminal\",r.vscodeChatCodeBlock=\"vscode-chat-code-block\",r.vscodeChatCodeCompareBlock=\"vscode-chat-code-compare-block\",r.vscodeChatSesssion=\"vscode-chat-editor\",r.webviewPanel=\"webview-panel\",r.vscodeWebview=\"vscode-webview\",r.extension=\"extension\",r.vscodeFileResource=\"vscode-file\",r.tmp=\"tmp\",r.vsls=\"vsls\",r.vscodeSourceControl=\"vscode-scm\",r.commentsInput=\"comment\",r.codeSetting=\"code-setting\",r.outputChannel=\"output\"})(p||(n.Schemas=p={}));function c(r,s){return d.URI.isUri(r)?(0,A.equalsIgnoreCase)(r.scheme,s):(0,A.startsWithIgnoreCase)(r,s+\":\")}function a(r,...s){return s.some(o=>c(r,o))}n.connectionTokenQueryName=\"tkn\";class m{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema=\"http\",this._delegate=null,this._serverRootPath=\"/\"}setPreferredWebSchema(s){this._preferredWebSchema=s}get _remoteResourcesPath(){return f.posix.join(this._serverRootPath,p.vscodeRemoteResource)}rewrite(s){if(this._delegate)try{return this._delegate(s)}catch(P){return i.onUnexpectedError(P),s}const o=s.authority;let u=this._hosts[o];u&&u.indexOf(\":\")!==-1&&u.indexOf(\"[\")===-1&&(u=`[${u}]`);const S=this._ports[o],L=this._connectionTokens[o];let N=`path=${encodeURIComponent(s.path)}`;return typeof L==\"string\"&&(N+=`&${n.connectionTokenQueryName}=${encodeURIComponent(L)}`),d.URI.from({scheme:x.isWeb?this._preferredWebSchema:p.vscodeRemoteResource,authority:`${u}:${S}`,path:this._remoteResourcesPath,query:N})}}n.RemoteAuthorities=new m,n.VSCODE_AUTHORITY=\"vscode-app\";class e{static{this.FALLBACK_AUTHORITY=n.VSCODE_AUTHORITY}asBrowserUri(s){const o=this.toUri(s,W);return this.uriToBrowserUri(o)}uriToBrowserUri(s){return s.scheme===p.vscodeRemote?n.RemoteAuthorities.rewrite(s):s.scheme===p.file&&(x.isNative||x.webWorkerOrigin===`${p.vscodeFileResource}://${e.FALLBACK_AUTHORITY}`)?s.with({scheme:p.vscodeFileResource,authority:s.authority||e.FALLBACK_AUTHORITY,query:null,fragment:null}):s}toUri(s,o){if(d.URI.isUri(s))return s;if(globalThis._VSCODE_FILE_ROOT){const u=globalThis._VSCODE_FILE_ROOT;if(/^\\w[\\w\\d+.-]*:\\/\\//.test(u))return d.URI.joinPath(d.URI.parse(u,!0),s);const S=f.join(u,s);return d.URI.file(S)}return d.URI.parse(o.toUrl(s))}}n.FileAccess=new e;var h;(function(r){const s=new Map([[\"1\",{\"Cross-Origin-Opener-Policy\":\"same-origin\"}],[\"2\",{\"Cross-Origin-Embedder-Policy\":\"require-corp\"}],[\"3\",{\"Cross-Origin-Opener-Policy\":\"same-origin\",\"Cross-Origin-Embedder-Policy\":\"require-corp\"}]]);r.CoopAndCoep=Object.freeze(s.get(\"3\"));const o=\"vscode-coi\";function u(L){let N;typeof L==\"string\"?N=new URL(L).searchParams:L instanceof URL?N=L.searchParams:d.URI.isUri(L)&&(N=new URL(L.toString(!0)).searchParams);const P=N?.get(o);if(P)return s.get(P)}r.getHeadersFromQuery=u;function S(L,N,P){if(!globalThis.crossOriginIsolated)return;const E=N&&P?\"3\":P?\"2\":\"1\";L instanceof URLSearchParams?L.set(o,E):L[o]=E}r.addSearchParam=S})(h||(n.COI=h={}))}),X(J[76],Z([0,1,3,9,8,38,11,6]),function(W,n,i,x,A,d,f,p){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.SimpleWorkerServer=n.SimpleWorkerClient=void 0,n.logOnceWebWorkerWarning=h,n.create=l;const c=!1,a=\"default\",m=\"$initialize\";let e=!1;function h(b){f.isWeb&&(e||(e=!0,console.warn(\"Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq\")),console.warn(b.message))}class r{constructor(g,w,M,y,_){this.vsWorker=g,this.req=w,this.channel=M,this.method=y,this.args=_,this.type=0}}class s{constructor(g,w,M,y){this.vsWorker=g,this.seq=w,this.res=M,this.err=y,this.type=1}}class o{constructor(g,w,M,y,_){this.vsWorker=g,this.req=w,this.channel=M,this.eventName=y,this.arg=_,this.type=2}}class u{constructor(g,w,M){this.vsWorker=g,this.req=w,this.event=M,this.type=3}}class S{constructor(g,w){this.vsWorker=g,this.req=w,this.type=4}}class L{constructor(g){this._workerId=-1,this._handler=g,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(g){this._workerId=g}sendMessage(g,w,M){const y=String(++this._lastSentReq);return new Promise((_,C)=>{this._pendingReplies[y]={resolve:_,reject:C},this._send(new r(this._workerId,y,g,w,M))})}listen(g,w,M){let y=null;const _=new x.Emitter({onWillAddFirstListener:()=>{y=String(++this._lastSentReq),this._pendingEmitters.set(y,_),this._send(new o(this._workerId,y,g,w,M))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(y),this._send(new S(this._workerId,y)),y=null}});return _.event}handleMessage(g){!g||!g.vsWorker||this._workerId!==-1&&g.vsWorker!==this._workerId||this._handleMessage(g)}createProxyToRemoteChannel(g,w){const M={get:(y,_)=>(typeof _==\"string\"&&!y[_]&&(E(_)?y[_]=C=>this.listen(g,_,C):P(_)?y[_]=this.listen(g,_,void 0):_.charCodeAt(0)===36&&(y[_]=async(...C)=>(await w?.(),this.sendMessage(g,_,C)))),y[_])};return new Proxy(Object.create(null),M)}_handleMessage(g){switch(g.type){case 1:return this._handleReplyMessage(g);case 0:return this._handleRequestMessage(g);case 2:return this._handleSubscribeEventMessage(g);case 3:return this._handleEventMessage(g);case 4:return this._handleUnsubscribeEventMessage(g)}}_handleReplyMessage(g){if(!this._pendingReplies[g.seq]){console.warn(\"Got reply to unknown seq\");return}const w=this._pendingReplies[g.seq];if(delete this._pendingReplies[g.seq],g.err){let M=g.err;g.err.$isError&&(M=new Error,M.name=g.err.name,M.message=g.err.message,M.stack=g.err.stack),w.reject(M);return}w.resolve(g.res)}_handleRequestMessage(g){const w=g.req;this._handler.handleMessage(g.channel,g.method,g.args).then(y=>{this._send(new s(this._workerId,w,y,void 0))},y=>{y.detail instanceof Error&&(y.detail=(0,i.transformErrorForSerialization)(y.detail)),this._send(new s(this._workerId,w,void 0,(0,i.transformErrorForSerialization)(y)))})}_handleSubscribeEventMessage(g){const w=g.req,M=this._handler.handleEvent(g.channel,g.eventName,g.arg)(y=>{this._send(new u(this._workerId,w,y))});this._pendingEvents.set(w,M)}_handleEventMessage(g){if(!this._pendingEmitters.has(g.req)){console.warn(\"Got event for unknown req\");return}this._pendingEmitters.get(g.req).fire(g.event)}_handleUnsubscribeEventMessage(g){if(!this._pendingEvents.has(g.req)){console.warn(\"Got unsubscribe for unknown req\");return}this._pendingEvents.get(g.req).dispose(),this._pendingEvents.delete(g.req)}_send(g){const w=[];if(g.type===0)for(let M=0;M<g.args.length;M++)g.args[M]instanceof ArrayBuffer&&w.push(g.args[M]);else g.type===1&&g.res instanceof ArrayBuffer&&w.push(g.res);this._handler.sendMessage(g,w)}}class N extends A.Disposable{constructor(g,w){super(),this._localChannels=new Map,this._worker=this._register(g.create({amdModuleId:\"vs/base/common/worker/simpleWorker\",esmModuleLocation:w.esmModuleLocation,label:w.label},_=>{this._protocol.handleMessage(_)},_=>{(0,i.onUnexpectedError)(_)})),this._protocol=new L({sendMessage:(_,C)=>{this._worker.postMessage(_,C)},handleMessage:(_,C,R)=>this._handleMessage(_,C,R),handleEvent:(_,C,R)=>this._handleEvent(_,C,R)}),this._protocol.setWorkerId(this._worker.getId());let M=null;const y=globalThis.require;typeof y<\"u\"&&typeof y.getConfig==\"function\"?M=y.getConfig():typeof globalThis.requirejs<\"u\"&&(M=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(a,m,[this._worker.getId(),JSON.parse(JSON.stringify(M)),w.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(a,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(_=>{this._onError(\"Worker failed to load \"+w.amdModuleId,_)})}_handleMessage(g,w,M){const y=this._localChannels.get(g);if(!y)return Promise.reject(new Error(`Missing channel ${g} on main thread`));if(typeof y[w]!=\"function\")return Promise.reject(new Error(`Missing method ${w} on main thread channel ${g}`));try{return Promise.resolve(y[w].apply(y,M))}catch(_){return Promise.reject(_)}}_handleEvent(g,w,M){const y=this._localChannels.get(g);if(!y)throw new Error(`Missing channel ${g} on main thread`);if(E(w)){const _=y[w].call(y,M);if(typeof _!=\"function\")throw new Error(`Missing dynamic event ${w} on main thread channel ${g}.`);return _}if(P(w)){const _=y[w];if(typeof _!=\"function\")throw new Error(`Missing event ${w} on main thread channel ${g}.`);return _}throw new Error(`Malformed event name ${w}`)}setChannel(g,w){this._localChannels.set(g,w)}_onError(g,w){console.error(g),console.info(w)}}n.SimpleWorkerClient=N;function P(b){return b[0]===\"o\"&&b[1]===\"n\"&&p.isUpperAsciiLetter(b.charCodeAt(2))}function E(b){return/^onDynamic/.test(b)&&p.isUpperAsciiLetter(b.charCodeAt(9))}class v{constructor(g,w){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=w,this._requestHandler=null,this._protocol=new L({sendMessage:(M,y)=>{g(M,y)},handleMessage:(M,y,_)=>this._handleMessage(M,y,_),handleEvent:(M,y,_)=>this._handleEvent(M,y,_)})}onmessage(g){this._protocol.handleMessage(g)}_handleMessage(g,w,M){if(g===a&&w===m)return this.initialize(M[0],M[1],M[2]);const y=g===a?this._requestHandler:this._localChannels.get(g);if(!y)return Promise.reject(new Error(`Missing channel ${g} on worker thread`));if(typeof y[w]!=\"function\")return Promise.reject(new Error(`Missing method ${w} on worker thread channel ${g}`));try{return Promise.resolve(y[w].apply(y,M))}catch(_){return Promise.reject(_)}}_handleEvent(g,w,M){const y=g===a?this._requestHandler:this._localChannels.get(g);if(!y)throw new Error(`Missing channel ${g} on worker thread`);if(E(w)){const _=y[w].call(y,M);if(typeof _!=\"function\")throw new Error(`Missing dynamic event ${w} on request handler.`);return _}if(P(w)){const _=y[w];if(typeof _!=\"function\")throw new Error(`Missing event ${w} on request handler.`);return _}throw new Error(`Malformed event name ${w}`)}getChannel(g){if(!this._remoteChannels.has(g)){const w=this._protocol.createProxyToRemoteChannel(g);this._remoteChannels.set(g,w)}return this._remoteChannels.get(g)}async initialize(g,w,M){if(this._protocol.setWorkerId(g),this._requestHandlerFactory){this._requestHandler=this._requestHandlerFactory(this);return}if(w&&(typeof w.baseUrl<\"u\"&&delete w.baseUrl,typeof w.paths<\"u\"&&typeof w.paths.vs<\"u\"&&delete w.paths.vs,typeof w.trustedTypesPolicy<\"u\"&&delete w.trustedTypesPolicy,w.catchError=!0,globalThis.require.config(w)),c){const y=d.FileAccess.asBrowserUri(`${M}.js`).toString(!0);return new Promise((_,C)=>{W([`${y}`],_,C)}).then(_=>{if(this._requestHandler=_.create(this),!this._requestHandler)throw new Error(\"No RequestHandler!\")})}return new Promise((y,_)=>{(globalThis.require||W)([M],R=>{if(this._requestHandler=R.create(this),!this._requestHandler){_(new Error(\"No RequestHandler!\"));return}y()},_)})}}n.SimpleWorkerServer=v;function l(b){return new v(b,null)}}),X(J[73],Z([0,1,47,14,2,70,36]),function(W,n,i,x,A,d,f){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.InlineEditTriggerKind=n.TreeSitterTokenizationRegistry=n.TokenizationRegistry=n.LazyTokenizationSupport=n.InlayHintKind=n.Command=n.NewSymbolNameTriggerKind=n.NewSymbolNameTag=n.FoldingRangeKind=n.TextEdit=n.SymbolKinds=n.symbolKindNames=n.DocumentHighlightKind=n.SignatureHelpTriggerKind=n.DocumentPasteTriggerKind=n.SelectedSuggestionInfo=n.InlineCompletionTriggerKind=n.CompletionItemKinds=n.HoverVerbosityAction=n.EncodedTokenizationResult=n.TokenizationResult=n.Token=void 0,n.isLocationLink=S,n.getAriaLabelForSymbol=L;class p{constructor(_,C,R){this.offset=_,this.type=C,this.language=R,this._tokenBrand=void 0}toString(){return\"(\"+this.offset+\", \"+this.type+\")\"}}n.Token=p;class c{constructor(_,C){this.tokens=_,this.endState=C,this._tokenizationResultBrand=void 0}}n.TokenizationResult=c;class a{constructor(_,C){this.tokens=_,this.endState=C,this._encodedTokenizationResultBrand=void 0}}n.EncodedTokenizationResult=a;var m;(function(y){y[y.Increase=0]=\"Increase\",y[y.Decrease=1]=\"Decrease\"})(m||(n.HoverVerbosityAction=m={}));var e;(function(y){const _=new Map;_.set(0,i.Codicon.symbolMethod),_.set(1,i.Codicon.symbolFunction),_.set(2,i.Codicon.symbolConstructor),_.set(3,i.Codicon.symbolField),_.set(4,i.Codicon.symbolVariable),_.set(5,i.Codicon.symbolClass),_.set(6,i.Codicon.symbolStruct),_.set(7,i.Codicon.symbolInterface),_.set(8,i.Codicon.symbolModule),_.set(9,i.Codicon.symbolProperty),_.set(10,i.Codicon.symbolEvent),_.set(11,i.Codicon.symbolOperator),_.set(12,i.Codicon.symbolUnit),_.set(13,i.Codicon.symbolValue),_.set(15,i.Codicon.symbolEnum),_.set(14,i.Codicon.symbolConstant),_.set(15,i.Codicon.symbolEnum),_.set(16,i.Codicon.symbolEnumMember),_.set(17,i.Codicon.symbolKeyword),_.set(27,i.Codicon.symbolSnippet),_.set(18,i.Codicon.symbolText),_.set(19,i.Codicon.symbolColor),_.set(20,i.Codicon.symbolFile),_.set(21,i.Codicon.symbolReference),_.set(22,i.Codicon.symbolCustomColor),_.set(23,i.Codicon.symbolFolder),_.set(24,i.Codicon.symbolTypeParameter),_.set(25,i.Codicon.account),_.set(26,i.Codicon.issues);function C(T){let O=_.get(T);return O||(console.info(\"No codicon found for CompletionItemKind \"+T),O=i.Codicon.symbolProperty),O}y.toIcon=C;const R=new Map;R.set(\"method\",0),R.set(\"function\",1),R.set(\"constructor\",2),R.set(\"field\",3),R.set(\"variable\",4),R.set(\"class\",5),R.set(\"struct\",6),R.set(\"interface\",7),R.set(\"module\",8),R.set(\"property\",9),R.set(\"event\",10),R.set(\"operator\",11),R.set(\"unit\",12),R.set(\"value\",13),R.set(\"constant\",14),R.set(\"enum\",15),R.set(\"enum-member\",16),R.set(\"enumMember\",16),R.set(\"keyword\",17),R.set(\"snippet\",27),R.set(\"text\",18),R.set(\"color\",19),R.set(\"file\",20),R.set(\"reference\",21),R.set(\"customcolor\",22),R.set(\"folder\",23),R.set(\"type-parameter\",24),R.set(\"typeParameter\",24),R.set(\"account\",25),R.set(\"issue\",26);function D(T,O){let z=R.get(T);return typeof z>\"u\"&&!O&&(z=9),z}y.fromString=D})(e||(n.CompletionItemKinds=e={}));var h;(function(y){y[y.Automatic=0]=\"Automatic\",y[y.Explicit=1]=\"Explicit\"})(h||(n.InlineCompletionTriggerKind=h={}));class r{constructor(_,C,R,D){this.range=_,this.text=C,this.completionKind=R,this.isSnippetText=D}equals(_){return A.Range.lift(this.range).equalsRange(_.range)&&this.text===_.text&&this.completionKind===_.completionKind&&this.isSnippetText===_.isSnippetText}}n.SelectedSuggestionInfo=r;var s;(function(y){y[y.Automatic=0]=\"Automatic\",y[y.PasteAs=1]=\"PasteAs\"})(s||(n.DocumentPasteTriggerKind=s={}));var o;(function(y){y[y.Invoke=1]=\"Invoke\",y[y.TriggerCharacter=2]=\"TriggerCharacter\",y[y.ContentChange=3]=\"ContentChange\"})(o||(n.SignatureHelpTriggerKind=o={}));var u;(function(y){y[y.Text=0]=\"Text\",y[y.Read=1]=\"Read\",y[y.Write=2]=\"Write\"})(u||(n.DocumentHighlightKind=u={}));function S(y){return y&&x.URI.isUri(y.uri)&&A.Range.isIRange(y.range)&&(A.Range.isIRange(y.originSelectionRange)||A.Range.isIRange(y.targetSelectionRange))}n.symbolKindNames={17:(0,f.localize)(669,\"array\"),16:(0,f.localize)(670,\"boolean\"),4:(0,f.localize)(671,\"class\"),13:(0,f.localize)(672,\"constant\"),8:(0,f.localize)(673,\"constructor\"),9:(0,f.localize)(674,\"enumeration\"),21:(0,f.localize)(675,\"enumeration member\"),23:(0,f.localize)(676,\"event\"),7:(0,f.localize)(677,\"field\"),0:(0,f.localize)(678,\"file\"),11:(0,f.localize)(679,\"function\"),10:(0,f.localize)(680,\"interface\"),19:(0,f.localize)(681,\"key\"),5:(0,f.localize)(682,\"method\"),1:(0,f.localize)(683,\"module\"),2:(0,f.localize)(684,\"namespace\"),20:(0,f.localize)(685,\"null\"),15:(0,f.localize)(686,\"number\"),18:(0,f.localize)(687,\"object\"),24:(0,f.localize)(688,\"operator\"),3:(0,f.localize)(689,\"package\"),6:(0,f.localize)(690,\"property\"),14:(0,f.localize)(691,\"string\"),22:(0,f.localize)(692,\"struct\"),25:(0,f.localize)(693,\"type parameter\"),12:(0,f.localize)(694,\"variable\")};function L(y,_){return(0,f.localize)(695,\"{0} ({1})\",y,n.symbolKindNames[_])}var N;(function(y){const _=new Map;_.set(0,i.Codicon.symbolFile),_.set(1,i.Codicon.symbolModule),_.set(2,i.Codicon.symbolNamespace),_.set(3,i.Codicon.symbolPackage),_.set(4,i.Codicon.symbolClass),_.set(5,i.Codicon.symbolMethod),_.set(6,i.Codicon.symbolProperty),_.set(7,i.Codicon.symbolField),_.set(8,i.Codicon.symbolConstructor),_.set(9,i.Codicon.symbolEnum),_.set(10,i.Codicon.symbolInterface),_.set(11,i.Codicon.symbolFunction),_.set(12,i.Codicon.symbolVariable),_.set(13,i.Codicon.symbolConstant),_.set(14,i.Codicon.symbolString),_.set(15,i.Codicon.symbolNumber),_.set(16,i.Codicon.symbolBoolean),_.set(17,i.Codicon.symbolArray),_.set(18,i.Codicon.symbolObject),_.set(19,i.Codicon.symbolKey),_.set(20,i.Codicon.symbolNull),_.set(21,i.Codicon.symbolEnumMember),_.set(22,i.Codicon.symbolStruct),_.set(23,i.Codicon.symbolEvent),_.set(24,i.Codicon.symbolOperator),_.set(25,i.Codicon.symbolTypeParameter);function C(R){let D=_.get(R);return D||(console.info(\"No codicon found for SymbolKind \"+R),D=i.Codicon.symbolProperty),D}y.toIcon=C})(N||(n.SymbolKinds=N={}));class P{}n.TextEdit=P;class E{static{this.Comment=new E(\"comment\")}static{this.Imports=new E(\"imports\")}static{this.Region=new E(\"region\")}static fromValue(_){switch(_){case\"comment\":return E.Comment;case\"imports\":return E.Imports;case\"region\":return E.Region}return new E(_)}constructor(_){this.value=_}}n.FoldingRangeKind=E;var v;(function(y){y[y.AIGenerated=1]=\"AIGenerated\"})(v||(n.NewSymbolNameTag=v={}));var l;(function(y){y[y.Invoke=0]=\"Invoke\",y[y.Automatic=1]=\"Automatic\"})(l||(n.NewSymbolNameTriggerKind=l={}));var b;(function(y){function _(C){return!C||typeof C!=\"object\"?!1:typeof C.id==\"string\"&&typeof C.title==\"string\"}y.is=_})(b||(n.Command=b={}));var g;(function(y){y[y.Type=1]=\"Type\",y[y.Parameter=2]=\"Parameter\"})(g||(n.InlayHintKind=g={}));class w{constructor(_){this.createSupport=_,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(_=>{_&&_.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}n.LazyTokenizationSupport=w,n.TokenizationRegistry=new d.TokenizationRegistry,n.TreeSitterTokenizationRegistry=new d.TokenizationRegistry;var M;(function(y){y[y.Invoke=0]=\"Invoke\",y[y.Automatic=1]=\"Automatic\"})(M||(n.InlineEditTriggerKind=M={}))}),X(J[74],Z([0,1,23,9,42,14,4,2,48,73,69]),function(W,n,i,x,A,d,f,p,c,a,m){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.KeyMod=void 0,n.createMonacoBaseAPI=h;class e{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(s,o){return(0,A.KeyChord)(s,o)}}n.KeyMod=e;function h(){return{editor:void 0,languages:void 0,CancellationTokenSource:i.CancellationTokenSource,Emitter:x.Emitter,KeyCode:m.KeyCode,KeyMod:e,Position:f.Position,Range:p.Range,Selection:c.Selection,SelectionDirection:m.SelectionDirection,MarkerSeverity:m.MarkerSeverity,MarkerTag:m.MarkerTag,Uri:d.URI,Token:a.Token}}}),X(J[75],Z([0,1,71,8,14,4,2,31,64]),function(W,n,i,x,A,d,f,p,c){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.MirrorModel=n.WorkerTextModelSyncServer=n.WorkerTextModelSyncClient=n.STOP_SYNC_MODEL_DELTA_TIME_MS=void 0,n.STOP_SYNC_MODEL_DELTA_TIME_MS=60*1e3;class a extends x.Disposable{constructor(r,s,o=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=r,this._modelService=s,!o){const u=new i.IntervalTimer;u.cancelAndSet(()=>this._checkStopModelSync(),Math.round(n.STOP_SYNC_MODEL_DELTA_TIME_MS/2)),this._register(u)}}dispose(){for(const r in this._syncedModels)(0,x.dispose)(this._syncedModels[r]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(r,s=!1){for(const o of r){const u=o.toString();this._syncedModels[u]||this._beginModelSync(o,s),this._syncedModels[u]&&(this._syncedModelsLastUsedTime[u]=new Date().getTime())}}_checkStopModelSync(){const r=new Date().getTime(),s=[];for(const o in this._syncedModelsLastUsedTime)r-this._syncedModelsLastUsedTime[o]>n.STOP_SYNC_MODEL_DELTA_TIME_MS&&s.push(o);for(const o of s)this._stopModelSync(o)}_beginModelSync(r,s){const o=this._modelService.getModel(r);if(!o||!s&&o.isTooLargeForSyncing())return;const u=r.toString();this._proxy.$acceptNewModel({url:o.uri.toString(),lines:o.getLinesContent(),EOL:o.getEOL(),versionId:o.getVersionId()});const S=new x.DisposableStore;S.add(o.onDidChangeContent(L=>{this._proxy.$acceptModelChanged(u.toString(),L)})),S.add(o.onWillDispose(()=>{this._stopModelSync(u)})),S.add((0,x.toDisposable)(()=>{this._proxy.$acceptRemovedModel(u)})),this._syncedModels[u]=S}_stopModelSync(r){const s=this._syncedModels[r];delete this._syncedModels[r],delete this._syncedModelsLastUsedTime[r],(0,x.dispose)(s)}}n.WorkerTextModelSyncClient=a;class m{constructor(){this._models=Object.create(null)}getModel(r){return this._models[r]}getModels(){const r=[];return Object.keys(this._models).forEach(s=>r.push(this._models[s])),r}$acceptNewModel(r){this._models[r.url]=new e(A.URI.parse(r.url),r.lines,r.EOL,r.versionId)}$acceptModelChanged(r,s){if(!this._models[r])return;this._models[r].onEvents(s)}$acceptRemovedModel(r){this._models[r]&&delete this._models[r]}}n.WorkerTextModelSyncServer=m;class e extends c.MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(r){const s=[];for(let o=0;o<this._lines.length;o++){const u=this._lines[o],S=this.offsetAt(new d.Position(o+1,1)),L=u.matchAll(r);for(const N of L)(N.index||N.index===0)&&(N.index=N.index+S),s.push(N)}return s}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(r){return this._lines[r-1]}getWordAtPosition(r,s){const o=(0,p.getWordAtText)(r.column,(0,p.ensureValidWordDefinition)(s),this._lines[r.lineNumber-1],0);return o?new f.Range(r.lineNumber,o.startColumn,r.lineNumber,o.endColumn):null}words(r){const s=this._lines,o=this._wordenize.bind(this);let u=0,S=\"\",L=0,N=[];return{*[Symbol.iterator](){for(;;)if(L<N.length){const P=S.substring(N[L].start,N[L].end);L+=1,yield P}else if(u<s.length)S=s[u],N=o(S,r),L=0,u+=1;else break}}}getLineWords(r,s){const o=this._lines[r-1],u=this._wordenize(o,s),S=[];for(const L of u)S.push({word:o.substring(L.start,L.end),startColumn:L.start+1,endColumn:L.end+1});return S}_wordenize(r,s){const o=[];let u;for(s.lastIndex=0;(u=s.exec(r))&&u[0].length!==0;)o.push({start:u.index,end:u.index+u[0].length});return o}getValueInRange(r){if(r=this._validateRange(r),r.startLineNumber===r.endLineNumber)return this._lines[r.startLineNumber-1].substring(r.startColumn-1,r.endColumn-1);const s=this._eol,o=r.startLineNumber-1,u=r.endLineNumber-1,S=[];S.push(this._lines[o].substring(r.startColumn-1));for(let L=o+1;L<u;L++)S.push(this._lines[L]);return S.push(this._lines[u].substring(0,r.endColumn-1)),S.join(s)}offsetAt(r){return r=this._validatePosition(r),this._ensureLineStarts(),this._lineStarts.getPrefixSum(r.lineNumber-2)+(r.column-1)}positionAt(r){r=Math.floor(r),r=Math.max(0,r),this._ensureLineStarts();const s=this._lineStarts.getIndexOf(r),o=this._lines[s.index].length;return{lineNumber:1+s.index,column:1+Math.min(s.remainder,o)}}_validateRange(r){const s=this._validatePosition({lineNumber:r.startLineNumber,column:r.startColumn}),o=this._validatePosition({lineNumber:r.endLineNumber,column:r.endColumn});return s.lineNumber!==r.startLineNumber||s.column!==r.startColumn||o.lineNumber!==r.endLineNumber||o.column!==r.endColumn?{startLineNumber:s.lineNumber,startColumn:s.column,endLineNumber:o.lineNumber,endColumn:o.column}:r}_validatePosition(r){if(!d.Position.isIPosition(r))throw new Error(\"bad position\");let{lineNumber:s,column:o}=r,u=!1;if(s<1)s=1,o=1,u=!0;else if(s>this._lines.length)s=this._lines.length,o=this._lines[s-1].length+1,u=!0;else{const S=this._lines[s-1].length+1;o<1?(o=1,u=!0):o>S&&(o=S,u=!0)}return u?{lineNumber:s,column:o}:r}}n.MirrorModel=e}),X(J[77],Z([0,1,24,2,60,61,74,66,22,68,58,27,38,59,67,75]),function(W,n,i,x,A,d,f,p,c,a,m,e,h,r,s,o){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.EditorSimpleWorker=n.BaseEditorSimpleWorker=void 0,n.create=N;const u=!1;class S{constructor(){this._workerTextModelSyncServer=new o.WorkerTextModelSyncServer}dispose(){}_getModel(E){return this._workerTextModelSyncServer.getModel(E)}_getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(E){this._workerTextModelSyncServer.$acceptNewModel(E)}$acceptModelChanged(E,v){this._workerTextModelSyncServer.$acceptModelChanged(E,v)}$acceptRemovedModel(E){this._workerTextModelSyncServer.$acceptRemovedModel(E)}async $computeUnicodeHighlights(E,v,l){const b=this._getModel(E);return b?a.UnicodeTextModelHighlighter.computeUnicodeHighlights(b,v,l):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(E,v){const l=this._getModel(E);return l?(0,s.findSectionHeaders)(l,v):[]}async $computeDiff(E,v,l,b){const g=this._getModel(E),w=this._getModel(v);return!g||!w?null:L.computeDiff(g,w,l,b)}static computeDiff(E,v,l,b){const g=b===\"advanced\"?m.linesDiffComputers.getDefault():m.linesDiffComputers.getLegacy(),w=E.getLinesContent(),M=v.getLinesContent(),y=g.computeDiff(w,M,l),_=y.changes.length>0?!1:this._modelsAreIdentical(E,v);function C(R){return R.map(D=>[D.original.startLineNumber,D.original.endLineNumberExclusive,D.modified.startLineNumber,D.modified.endLineNumberExclusive,D.innerChanges?.map(T=>[T.originalRange.startLineNumber,T.originalRange.startColumn,T.originalRange.endLineNumber,T.originalRange.endColumn,T.modifiedRange.startLineNumber,T.modifiedRange.startColumn,T.modifiedRange.endLineNumber,T.modifiedRange.endColumn])])}return{identical:_,quitEarly:y.hitTimeout,changes:C(y.changes),moves:y.moves.map(R=>[R.lineRangeMapping.original.startLineNumber,R.lineRangeMapping.original.endLineNumberExclusive,R.lineRangeMapping.modified.startLineNumber,R.lineRangeMapping.modified.endLineNumberExclusive,C(R.changes)])}}static _modelsAreIdentical(E,v){const l=E.getLineCount(),b=v.getLineCount();if(l!==b)return!1;for(let g=1;g<=l;g++){const w=E.getLineContent(g),M=v.getLineContent(g);if(w!==M)return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(E,v,l){const b=this._getModel(E);if(!b)return v;const g=[];let w;v=v.slice(0).sort((y,_)=>{if(y.range&&_.range)return x.Range.compareRangesUsingStarts(y.range,_.range);const C=y.range?0:1,R=_.range?0:1;return C-R});let M=0;for(let y=1;y<v.length;y++)x.Range.getEndPosition(v[M].range).equals(x.Range.getStartPosition(v[y].range))?(v[M].range=x.Range.fromPositions(x.Range.getStartPosition(v[M].range),x.Range.getEndPosition(v[y].range)),v[M].text+=v[y].text):(M++,v[M]=v[y]);v.length=M+1;for(let{range:y,text:_,eol:C}of v){if(typeof C==\"number\"&&(w=C),x.Range.isEmpty(y)&&!_)continue;const R=b.getValueInRange(y);if(_=_.replace(/\\r\\n|\\n|\\r/g,b.eol),R===_)continue;if(Math.max(_.length,R.length)>L._diffLimit){g.push({range:y,text:_});continue}const D=(0,i.stringDiff)(R,_,l),T=b.offsetAt(x.Range.lift(y).getStartPosition());for(const O of D){const z=b.positionAt(T+O.originalStart),j=b.positionAt(T+O.originalStart+O.originalLength),F={text:_.substr(O.modifiedStart,O.modifiedLength),range:{startLineNumber:z.lineNumber,startColumn:z.column,endLineNumber:j.lineNumber,endColumn:j.column}};b.getValueInRange(F.range)!==F.text&&g.push(F)}}return typeof w==\"number\"&&g.push({eol:w,text:\"\",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),g}async $computeLinks(E){const v=this._getModel(E);return v?(0,A.computeLinks)(v):null}async $computeDefaultDocumentColors(E){const v=this._getModel(E);return v?(0,r.computeDefaultDocumentColors)(v):null}static{this._suggestionsLimit=1e4}async $textualSuggest(E,v,l,b){const g=new c.StopWatch,w=new RegExp(l,b),M=new Set;e:for(const y of E){const _=this._getModel(y);if(_){for(const C of _.words(w))if(!(C===v||!isNaN(Number(C)))&&(M.add(C),M.size>L._suggestionsLimit))break e}}return{words:Array.from(M),duration:g.elapsed()}}async $computeWordRanges(E,v,l,b){const g=this._getModel(E);if(!g)return Object.create(null);const w=new RegExp(l,b),M=Object.create(null);for(let y=v.startLineNumber;y<v.endLineNumber;y++){const _=g.getLineWords(y,w);for(const C of _){if(!isNaN(Number(C.word)))continue;let R=M[C.word];R||(R=[],M[C.word]=R),R.push({startLineNumber:y,startColumn:C.startColumn,endLineNumber:y,endColumn:C.endColumn})}}return M}async $navigateValueSet(E,v,l,b,g){const w=this._getModel(E);if(!w)return null;const M=new RegExp(b,g);v.startColumn===v.endColumn&&(v={startLineNumber:v.startLineNumber,startColumn:v.startColumn,endLineNumber:v.endLineNumber,endColumn:v.endColumn+1});const y=w.getValueInRange(v),_=w.getWordAtPosition({lineNumber:v.startLineNumber,column:v.startColumn},M);if(!_)return null;const C=w.getValueInRange(_);return d.BasicInplaceReplace.INSTANCE.navigateValueSet(v,y,_,C,l)}}n.BaseEditorSimpleWorker=S;class L extends S{constructor(E,v){super(),this._host=E,this._foreignModuleFactory=v,this._foreignModule=null}async $ping(){return\"pong\"}$loadForeignModule(E,v,l){const b=(M,y)=>this._host.$fhr(M,y),w={host:(0,e.createProxyObject)(l,b),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(w,v),Promise.resolve((0,e.getAllMethodNames)(this._foreignModule))):new Promise((M,y)=>{const _=C=>{this._foreignModule=C.create(w,v),M((0,e.getAllMethodNames)(this._foreignModule))};if(!u)W([`${E}`],_,y);else{const C=h.FileAccess.asBrowserUri(`${E}.js`).toString(!0);new Promise((R,D)=>{W([`${C}`],R,D)}).then(_).catch(y)}})}$fmr(E,v){if(!this._foreignModule||typeof this._foreignModule[E]!=\"function\")return Promise.reject(new Error(\"Missing requestHandler or method: \"+E));try{return Promise.resolve(this._foreignModule[E].apply(this._foreignModule,v))}catch(l){return Promise.reject(l)}}}n.EditorSimpleWorker=L;function N(P){return new L(p.EditorWorkerHost.getChannel(P),null)}typeof importScripts==\"function\"&&(globalThis.monaco=(0,f.createMonacoBaseAPI)())})}).call(this);\n\n//# sourceMappingURL=../../../../min-maps/vs/base/worker/workerMain.js.map"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/abap/abap.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/abap/abap\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var i in e)s(t,i,{get:e[i],enumerable:!0})},d=(t,e,i,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of r(e))!c.call(t,n)&&n!==i&&s(t,n,{get:()=>e[n],enumerable:!(a=o(e,n))||a.enumerable});return t};var p=t=>d(s({},\"__esModule\",{value:!0}),t);var g={};l(g,{conf:()=>m,language:()=>u});var m={comments:{lineComment:\"*\"},brackets:[[\"[\",\"]\"],[\"(\",\")\"]]},u={defaultToken:\"invalid\",ignoreCase:!0,tokenPostfix:\".abap\",keywords:[\"abap-source\",\"abbreviated\",\"abstract\",\"accept\",\"accepting\",\"according\",\"activation\",\"actual\",\"add\",\"add-corresponding\",\"adjacent\",\"after\",\"alias\",\"aliases\",\"align\",\"all\",\"allocate\",\"alpha\",\"analysis\",\"analyzer\",\"and\",\"append\",\"appendage\",\"appending\",\"application\",\"archive\",\"area\",\"arithmetic\",\"as\",\"ascending\",\"aspect\",\"assert\",\"assign\",\"assigned\",\"assigning\",\"association\",\"asynchronous\",\"at\",\"attributes\",\"authority\",\"authority-check\",\"avg\",\"back\",\"background\",\"backup\",\"backward\",\"badi\",\"base\",\"before\",\"begin\",\"between\",\"big\",\"binary\",\"bintohex\",\"bit\",\"black\",\"blank\",\"blanks\",\"blob\",\"block\",\"blocks\",\"blue\",\"bound\",\"boundaries\",\"bounds\",\"boxed\",\"break-point\",\"buffer\",\"by\",\"bypassing\",\"byte\",\"byte-order\",\"call\",\"calling\",\"case\",\"cast\",\"casting\",\"catch\",\"center\",\"centered\",\"chain\",\"chain-input\",\"chain-request\",\"change\",\"changing\",\"channels\",\"character\",\"char-to-hex\",\"check\",\"checkbox\",\"ci_\",\"circular\",\"class\",\"class-coding\",\"class-data\",\"class-events\",\"class-methods\",\"class-pool\",\"cleanup\",\"clear\",\"client\",\"clob\",\"clock\",\"close\",\"coalesce\",\"code\",\"coding\",\"col_background\",\"col_group\",\"col_heading\",\"col_key\",\"col_negative\",\"col_normal\",\"col_positive\",\"col_total\",\"collect\",\"color\",\"column\",\"columns\",\"comment\",\"comments\",\"commit\",\"common\",\"communication\",\"comparing\",\"component\",\"components\",\"compression\",\"compute\",\"concat\",\"concat_with_space\",\"concatenate\",\"cond\",\"condense\",\"condition\",\"connect\",\"connection\",\"constants\",\"context\",\"contexts\",\"continue\",\"control\",\"controls\",\"conv\",\"conversion\",\"convert\",\"copies\",\"copy\",\"corresponding\",\"country\",\"cover\",\"cpi\",\"create\",\"creating\",\"critical\",\"currency\",\"currency_conversion\",\"current\",\"cursor\",\"cursor-selection\",\"customer\",\"customer-function\",\"dangerous\",\"data\",\"database\",\"datainfo\",\"dataset\",\"date\",\"dats_add_days\",\"dats_add_months\",\"dats_days_between\",\"dats_is_valid\",\"daylight\",\"dd/mm/yy\",\"dd/mm/yyyy\",\"ddmmyy\",\"deallocate\",\"decimal_shift\",\"decimals\",\"declarations\",\"deep\",\"default\",\"deferred\",\"define\",\"defining\",\"definition\",\"delete\",\"deleting\",\"demand\",\"department\",\"descending\",\"describe\",\"destination\",\"detail\",\"dialog\",\"directory\",\"disconnect\",\"display\",\"display-mode\",\"distinct\",\"divide\",\"divide-corresponding\",\"division\",\"do\",\"dummy\",\"duplicate\",\"duplicates\",\"duration\",\"during\",\"dynamic\",\"dynpro\",\"edit\",\"editor-call\",\"else\",\"elseif\",\"empty\",\"enabled\",\"enabling\",\"encoding\",\"end\",\"endat\",\"endcase\",\"endcatch\",\"endchain\",\"endclass\",\"enddo\",\"endenhancement\",\"end-enhancement-section\",\"endexec\",\"endform\",\"endfunction\",\"endian\",\"endif\",\"ending\",\"endinterface\",\"end-lines\",\"endloop\",\"endmethod\",\"endmodule\",\"end-of-definition\",\"end-of-editing\",\"end-of-file\",\"end-of-page\",\"end-of-selection\",\"endon\",\"endprovide\",\"endselect\",\"end-test-injection\",\"end-test-seam\",\"endtry\",\"endwhile\",\"endwith\",\"engineering\",\"enhancement\",\"enhancement-point\",\"enhancements\",\"enhancement-section\",\"entries\",\"entry\",\"enum\",\"environment\",\"equiv\",\"errormessage\",\"errors\",\"escaping\",\"event\",\"events\",\"exact\",\"except\",\"exception\",\"exceptions\",\"exception-table\",\"exclude\",\"excluding\",\"exec\",\"execute\",\"exists\",\"exit\",\"exit-command\",\"expand\",\"expanding\",\"expiration\",\"explicit\",\"exponent\",\"export\",\"exporting\",\"extend\",\"extended\",\"extension\",\"extract\",\"fail\",\"fetch\",\"field\",\"field-groups\",\"fields\",\"field-symbol\",\"field-symbols\",\"file\",\"filter\",\"filters\",\"filter-table\",\"final\",\"find\",\"first\",\"first-line\",\"fixed-point\",\"fkeq\",\"fkge\",\"flush\",\"font\",\"for\",\"form\",\"format\",\"forward\",\"found\",\"frame\",\"frames\",\"free\",\"friends\",\"from\",\"function\",\"functionality\",\"function-pool\",\"further\",\"gaps\",\"generate\",\"get\",\"giving\",\"gkeq\",\"gkge\",\"global\",\"grant\",\"green\",\"group\",\"groups\",\"handle\",\"handler\",\"harmless\",\"hashed\",\"having\",\"hdb\",\"header\",\"headers\",\"heading\",\"head-lines\",\"help-id\",\"help-request\",\"hextobin\",\"hide\",\"high\",\"hint\",\"hold\",\"hotspot\",\"icon\",\"id\",\"identification\",\"identifier\",\"ids\",\"if\",\"ignore\",\"ignoring\",\"immediately\",\"implementation\",\"implementations\",\"implemented\",\"implicit\",\"import\",\"importing\",\"in\",\"inactive\",\"incl\",\"include\",\"includes\",\"including\",\"increment\",\"index\",\"index-line\",\"infotypes\",\"inheriting\",\"init\",\"initial\",\"initialization\",\"inner\",\"inout\",\"input\",\"insert\",\"instance\",\"instances\",\"instr\",\"intensified\",\"interface\",\"interface-pool\",\"interfaces\",\"internal\",\"intervals\",\"into\",\"inverse\",\"inverted-date\",\"is\",\"iso\",\"job\",\"join\",\"keep\",\"keeping\",\"kernel\",\"key\",\"keys\",\"keywords\",\"kind\",\"language\",\"last\",\"late\",\"layout\",\"leading\",\"leave\",\"left\",\"left-justified\",\"leftplus\",\"leftspace\",\"legacy\",\"length\",\"let\",\"level\",\"levels\",\"like\",\"line\",\"lines\",\"line-count\",\"linefeed\",\"line-selection\",\"line-size\",\"list\",\"listbox\",\"list-processing\",\"little\",\"llang\",\"load\",\"load-of-program\",\"lob\",\"local\",\"locale\",\"locator\",\"logfile\",\"logical\",\"log-point\",\"long\",\"loop\",\"low\",\"lower\",\"lpad\",\"lpi\",\"ltrim\",\"mail\",\"main\",\"major-id\",\"mapping\",\"margin\",\"mark\",\"mask\",\"match\",\"matchcode\",\"max\",\"maximum\",\"medium\",\"members\",\"memory\",\"mesh\",\"message\",\"message-id\",\"messages\",\"messaging\",\"method\",\"methods\",\"min\",\"minimum\",\"minor-id\",\"mm/dd/yy\",\"mm/dd/yyyy\",\"mmddyy\",\"mode\",\"modif\",\"modifier\",\"modify\",\"module\",\"move\",\"move-corresponding\",\"multiply\",\"multiply-corresponding\",\"name\",\"nametab\",\"native\",\"nested\",\"nesting\",\"new\",\"new-line\",\"new-page\",\"new-section\",\"next\",\"no\",\"no-display\",\"no-extension\",\"no-gap\",\"no-gaps\",\"no-grouping\",\"no-heading\",\"no-scrolling\",\"no-sign\",\"no-title\",\"no-topofpage\",\"no-zero\",\"node\",\"nodes\",\"non-unicode\",\"non-unique\",\"not\",\"null\",\"number\",\"object\",\"objects\",\"obligatory\",\"occurrence\",\"occurrences\",\"occurs\",\"of\",\"off\",\"offset\",\"ole\",\"on\",\"only\",\"open\",\"option\",\"optional\",\"options\",\"or\",\"order\",\"other\",\"others\",\"out\",\"outer\",\"output\",\"output-length\",\"overflow\",\"overlay\",\"pack\",\"package\",\"pad\",\"padding\",\"page\",\"pages\",\"parameter\",\"parameters\",\"parameter-table\",\"part\",\"partially\",\"pattern\",\"percentage\",\"perform\",\"performing\",\"person\",\"pf1\",\"pf10\",\"pf11\",\"pf12\",\"pf13\",\"pf14\",\"pf15\",\"pf2\",\"pf3\",\"pf4\",\"pf5\",\"pf6\",\"pf7\",\"pf8\",\"pf9\",\"pf-status\",\"pink\",\"places\",\"pool\",\"pos_high\",\"pos_low\",\"position\",\"pragmas\",\"precompiled\",\"preferred\",\"preserving\",\"primary\",\"print\",\"print-control\",\"priority\",\"private\",\"procedure\",\"process\",\"program\",\"property\",\"protected\",\"provide\",\"public\",\"push\",\"pushbutton\",\"put\",\"queue-only\",\"quickinfo\",\"radiobutton\",\"raise\",\"raising\",\"range\",\"ranges\",\"read\",\"reader\",\"read-only\",\"receive\",\"received\",\"receiver\",\"receiving\",\"red\",\"redefinition\",\"reduce\",\"reduced\",\"ref\",\"reference\",\"refresh\",\"regex\",\"reject\",\"remote\",\"renaming\",\"replace\",\"replacement\",\"replacing\",\"report\",\"request\",\"requested\",\"reserve\",\"reset\",\"resolution\",\"respecting\",\"responsible\",\"result\",\"results\",\"resumable\",\"resume\",\"retry\",\"return\",\"returncode\",\"returning\",\"returns\",\"right\",\"right-justified\",\"rightplus\",\"rightspace\",\"risk\",\"rmc_communication_failure\",\"rmc_invalid_status\",\"rmc_system_failure\",\"role\",\"rollback\",\"rows\",\"rpad\",\"rtrim\",\"run\",\"sap\",\"sap-spool\",\"saving\",\"scale_preserving\",\"scale_preserving_scientific\",\"scan\",\"scientific\",\"scientific_with_leading_zero\",\"scroll\",\"scroll-boundary\",\"scrolling\",\"search\",\"secondary\",\"seconds\",\"section\",\"select\",\"selection\",\"selections\",\"selection-screen\",\"selection-set\",\"selection-sets\",\"selection-table\",\"select-options\",\"send\",\"separate\",\"separated\",\"set\",\"shared\",\"shift\",\"short\",\"shortdump-id\",\"sign_as_postfix\",\"single\",\"size\",\"skip\",\"skipping\",\"smart\",\"some\",\"sort\",\"sortable\",\"sorted\",\"source\",\"specified\",\"split\",\"spool\",\"spots\",\"sql\",\"sqlscript\",\"stable\",\"stamp\",\"standard\",\"starting\",\"start-of-editing\",\"start-of-selection\",\"state\",\"statement\",\"statements\",\"static\",\"statics\",\"statusinfo\",\"step-loop\",\"stop\",\"structure\",\"structures\",\"style\",\"subkey\",\"submatches\",\"submit\",\"subroutine\",\"subscreen\",\"subtract\",\"subtract-corresponding\",\"suffix\",\"sum\",\"summary\",\"summing\",\"supplied\",\"supply\",\"suppress\",\"switch\",\"switchstates\",\"symbol\",\"syncpoints\",\"syntax\",\"syntax-check\",\"syntax-trace\",\"system-call\",\"system-exceptions\",\"system-exit\",\"tab\",\"tabbed\",\"table\",\"tables\",\"tableview\",\"tabstrip\",\"target\",\"task\",\"tasks\",\"test\",\"testing\",\"test-injection\",\"test-seam\",\"text\",\"textpool\",\"then\",\"throw\",\"time\",\"times\",\"timestamp\",\"timezone\",\"tims_is_valid\",\"title\",\"titlebar\",\"title-lines\",\"to\",\"tokenization\",\"tokens\",\"top-lines\",\"top-of-page\",\"trace-file\",\"trace-table\",\"trailing\",\"transaction\",\"transfer\",\"transformation\",\"translate\",\"transporting\",\"trmac\",\"truncate\",\"truncation\",\"try\",\"tstmp_add_seconds\",\"tstmp_current_utctimestamp\",\"tstmp_is_valid\",\"tstmp_seconds_between\",\"type\",\"type-pool\",\"type-pools\",\"types\",\"uline\",\"unassign\",\"under\",\"unicode\",\"union\",\"unique\",\"unit_conversion\",\"unix\",\"unpack\",\"until\",\"unwind\",\"up\",\"update\",\"upper\",\"user\",\"user-command\",\"using\",\"utf-8\",\"valid\",\"value\",\"value-request\",\"values\",\"vary\",\"varying\",\"verification-message\",\"version\",\"via\",\"view\",\"visible\",\"wait\",\"warning\",\"when\",\"whenever\",\"where\",\"while\",\"width\",\"window\",\"windows\",\"with\",\"with-heading\",\"without\",\"with-title\",\"word\",\"work\",\"write\",\"writer\",\"xml\",\"xsd\",\"yellow\",\"yes\",\"yymmdd\",\"zero\",\"zone\",\"abap_system_timezone\",\"abap_user_timezone\",\"access\",\"action\",\"adabas\",\"adjust_numbers\",\"allow_precision_loss\",\"allowed\",\"amdp\",\"applicationuser\",\"as_geo_json\",\"as400\",\"associations\",\"balance\",\"behavior\",\"breakup\",\"bulk\",\"cds\",\"cds_client\",\"check_before_save\",\"child\",\"clients\",\"corr\",\"corr_spearman\",\"cross\",\"cycles\",\"datn_add_days\",\"datn_add_months\",\"datn_days_between\",\"dats_from_datn\",\"dats_tims_to_tstmp\",\"dats_to_datn\",\"db2\",\"db6\",\"ddl\",\"dense_rank\",\"depth\",\"deterministic\",\"discarding\",\"entities\",\"entity\",\"error\",\"failed\",\"finalize\",\"first_value\",\"fltp_to_dec\",\"following\",\"fractional\",\"full\",\"graph\",\"grouping\",\"hierarchy\",\"hierarchy_ancestors\",\"hierarchy_ancestors_aggregate\",\"hierarchy_descendants\",\"hierarchy_descendants_aggregate\",\"hierarchy_siblings\",\"incremental\",\"indicators\",\"lag\",\"last_value\",\"lead\",\"leaves\",\"like_regexpr\",\"link\",\"locale_sap\",\"lock\",\"locks\",\"many\",\"mapped\",\"matched\",\"measures\",\"median\",\"mssqlnt\",\"multiple\",\"nodetype\",\"ntile\",\"nulls\",\"occurrences_regexpr\",\"one\",\"operations\",\"oracle\",\"orphans\",\"over\",\"parent\",\"parents\",\"partition\",\"pcre\",\"period\",\"pfcg_mapping\",\"preceding\",\"privileged\",\"product\",\"projection\",\"rank\",\"redirected\",\"replace_regexpr\",\"reported\",\"response\",\"responses\",\"root\",\"row\",\"row_number\",\"sap_system_date\",\"save\",\"schema\",\"session\",\"sets\",\"shortdump\",\"siblings\",\"spantree\",\"start\",\"stddev\",\"string_agg\",\"subtotal\",\"sybase\",\"tims_from_timn\",\"tims_to_timn\",\"to_blob\",\"to_clob\",\"total\",\"trace-entry\",\"tstmp_to_dats\",\"tstmp_to_dst\",\"tstmp_to_tims\",\"tstmpl_from_utcl\",\"tstmpl_to_utcl\",\"unbounded\",\"utcl_add_seconds\",\"utcl_current\",\"utcl_seconds_between\",\"uuid\",\"var\",\"verbatim\"],builtinFunctions:[\"abs\",\"acos\",\"asin\",\"atan\",\"bit-set\",\"boolc\",\"boolx\",\"ceil\",\"char_off\",\"charlen\",\"cmax\",\"cmin\",\"concat_lines_of\",\"contains\",\"contains_any_not_of\",\"contains_any_of\",\"cos\",\"cosh\",\"count\",\"count_any_not_of\",\"count_any_of\",\"dbmaxlen\",\"distance\",\"escape\",\"exp\",\"find_any_not_of\",\"find_any_of\",\"find_end\",\"floor\",\"frac\",\"from_mixed\",\"ipow\",\"line_exists\",\"line_index\",\"log\",\"log10\",\"matches\",\"nmax\",\"nmin\",\"numofchar\",\"repeat\",\"rescale\",\"reverse\",\"round\",\"segment\",\"shift_left\",\"shift_right\",\"sign\",\"sin\",\"sinh\",\"sqrt\",\"strlen\",\"substring\",\"substring_after\",\"substring_before\",\"substring_from\",\"substring_to\",\"tan\",\"tanh\",\"to_lower\",\"to_mixed\",\"to_upper\",\"trunc\",\"utclong_add\",\"utclong_current\",\"utclong_diff\",\"xsdbool\",\"xstrlen\"],typeKeywords:[\"b\",\"c\",\"d\",\"decfloat16\",\"decfloat34\",\"f\",\"i\",\"int8\",\"n\",\"p\",\"s\",\"string\",\"t\",\"utclong\",\"x\",\"xstring\",\"any\",\"clike\",\"csequence\",\"decfloat\",\"numeric\",\"simple\",\"xsequence\",\"accp\",\"char\",\"clnt\",\"cuky\",\"curr\",\"datn\",\"dats\",\"d16d\",\"d16n\",\"d16r\",\"d34d\",\"d34n\",\"d34r\",\"dec\",\"df16_dec\",\"df16_raw\",\"df34_dec\",\"df34_raw\",\"fltp\",\"geom_ewkb\",\"int1\",\"int2\",\"int4\",\"lang\",\"lchr\",\"lraw\",\"numc\",\"quan\",\"raw\",\"rawstring\",\"sstring\",\"timn\",\"tims\",\"unit\",\"utcl\",\"df16_scl\",\"df34_scl\",\"prec\",\"varc\",\"abap_bool\",\"abap_false\",\"abap_true\",\"abap_undefined\",\"me\",\"screen\",\"space\",\"super\",\"sy\",\"syst\",\"table_line\",\"*sys*\"],builtinMethods:[\"class_constructor\",\"constructor\"],derivedTypes:[\"%CID\",\"%CID_REF\",\"%CONTROL\",\"%DATA\",\"%ELEMENT\",\"%FAIL\",\"%KEY\",\"%MSG\",\"%PARAM\",\"%PID\",\"%PID_ASSOC\",\"%PID_PARENT\",\"%_HINTS\"],cdsLanguage:[\"@AbapAnnotation\",\"@AbapCatalog\",\"@AccessControl\",\"@API\",\"@ClientDependent\",\"@ClientHandling\",\"@CompatibilityContract\",\"@DataAging\",\"@EndUserText\",\"@Environment\",\"@LanguageDependency\",\"@MappingRole\",\"@Metadata\",\"@MetadataExtension\",\"@ObjectModel\",\"@Scope\",\"@Semantics\",\"$EXTENSION\",\"$SELF\"],selectors:[\"->\",\"->*\",\"=>\",\"~\",\"~*\"],operators:[\" +\",\" -\",\"/\",\"*\",\"**\",\"div\",\"mod\",\"=\",\"#\",\"@\",\"+=\",\"-=\",\"*=\",\"/=\",\"**=\",\"&&=\",\"?=\",\"&\",\"&&\",\"bit-and\",\"bit-not\",\"bit-or\",\"bit-xor\",\"m\",\"o\",\"z\",\"<\",\" >\",\"<=\",\">=\",\"<>\",\"><\",\"=<\",\"=>\",\"bt\",\"byte-ca\",\"byte-cn\",\"byte-co\",\"byte-cs\",\"byte-na\",\"byte-ns\",\"ca\",\"cn\",\"co\",\"cp\",\"cs\",\"eq\",\"ge\",\"gt\",\"le\",\"lt\",\"na\",\"nb\",\"ne\",\"np\",\"ns\",\"*/\",\"*:\",\"--\",\"/*\",\"//\"],symbols:/[=><!~?&+\\-*\\/\\^%#@]+/,tokenizer:{root:[[/[a-z_\\/$%@]([\\w\\/$%]|-(?!>))*/,{cases:{\"@typeKeywords\":\"type\",\"@keywords\":\"keyword\",\"@cdsLanguage\":\"annotation\",\"@derivedTypes\":\"type\",\"@builtinFunctions\":\"type\",\"@builtinMethods\":\"type\",\"@operators\":\"key\",\"@default\":\"identifier\"}}],[/<[\\w]+>/,\"identifier\"],[/##[\\w|_]+/,\"comment\"],{include:\"@whitespace\"},[/[:,.]/,\"delimiter\"],[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,{cases:{\"@selectors\":\"tag\",\"@operators\":\"key\",\"@default\":\"\"}}],[/'/,{token:\"string\",bracket:\"@open\",next:\"@stringquote\"}],[/`/,{token:\"string\",bracket:\"@open\",next:\"@stringping\"}],[/\\|/,{token:\"string\",bracket:\"@open\",next:\"@stringtemplate\"}],[/\\d+/,\"number\"]],stringtemplate:[[/[^\\\\\\|]+/,\"string\"],[/\\\\\\|/,\"string\"],[/\\|/,{token:\"string\",bracket:\"@close\",next:\"@pop\"}]],stringping:[[/[^\\\\`]+/,\"string\"],[/`/,{token:\"string\",bracket:\"@close\",next:\"@pop\"}]],stringquote:[[/[^\\\\']+/,\"string\"],[/'/,{token:\"string\",bracket:\"@close\",next:\"@pop\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/^\\*.*$/,\"comment\"],[/\\\".*$/,\"comment\"]]}};return p(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/apex/apex.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/apex/apex\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var i=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var d=(e,t)=>{for(var s in t)i(e,s,{get:t[s],enumerable:!0})},g=(e,t,s,a)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of c(t))!l.call(e,o)&&o!==s&&i(e,o,{get:()=>t[o],enumerable:!(a=r(t,o))||a.enumerable});return e};var p=e=>g(i({},\"__esModule\",{value:!0}),e);var h={};d(h,{conf:()=>m,language:()=>b});var m={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"<\",close:\">\"}],folding:{markers:{start:new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?region\\\\b)|(?:<editor-fold\\\\b))\"),end:new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?endregion\\\\b)|(?:</editor-fold>))\")}}},u=[\"abstract\",\"activate\",\"and\",\"any\",\"array\",\"as\",\"asc\",\"assert\",\"autonomous\",\"begin\",\"bigdecimal\",\"blob\",\"boolean\",\"break\",\"bulk\",\"by\",\"case\",\"cast\",\"catch\",\"char\",\"class\",\"collect\",\"commit\",\"const\",\"continue\",\"convertcurrency\",\"decimal\",\"default\",\"delete\",\"desc\",\"do\",\"double\",\"else\",\"end\",\"enum\",\"exception\",\"exit\",\"export\",\"extends\",\"false\",\"final\",\"finally\",\"float\",\"for\",\"from\",\"future\",\"get\",\"global\",\"goto\",\"group\",\"having\",\"hint\",\"if\",\"implements\",\"import\",\"in\",\"inner\",\"insert\",\"instanceof\",\"int\",\"interface\",\"into\",\"join\",\"last_90_days\",\"last_month\",\"last_n_days\",\"last_week\",\"like\",\"limit\",\"list\",\"long\",\"loop\",\"map\",\"merge\",\"native\",\"new\",\"next_90_days\",\"next_month\",\"next_n_days\",\"next_week\",\"not\",\"null\",\"nulls\",\"number\",\"object\",\"of\",\"on\",\"or\",\"outer\",\"override\",\"package\",\"parallel\",\"pragma\",\"private\",\"protected\",\"public\",\"retrieve\",\"return\",\"returning\",\"rollback\",\"savepoint\",\"search\",\"select\",\"set\",\"short\",\"sort\",\"stat\",\"static\",\"strictfp\",\"super\",\"switch\",\"synchronized\",\"system\",\"testmethod\",\"then\",\"this\",\"this_month\",\"this_week\",\"throw\",\"throws\",\"today\",\"tolabel\",\"tomorrow\",\"transaction\",\"transient\",\"trigger\",\"true\",\"try\",\"type\",\"undelete\",\"update\",\"upsert\",\"using\",\"virtual\",\"void\",\"volatile\",\"webservice\",\"when\",\"where\",\"while\",\"yesterday\"],f=e=>e.charAt(0).toUpperCase()+e.substr(1),n=[];u.forEach(e=>{n.push(e),n.push(e.toUpperCase()),n.push(f(e))});var b={defaultToken:\"\",tokenPostfix:\".apex\",keywords:n,operators:[\"=\",\">\",\"<\",\"!\",\"~\",\"?\",\":\",\"==\",\"<=\",\">=\",\"!=\",\"&&\",\"||\",\"++\",\"--\",\"+\",\"-\",\"*\",\"/\",\"&\",\"|\",\"^\",\"%\",\"<<\",\">>\",\">>>\",\"+=\",\"-=\",\"*=\",\"/=\",\"&=\",\"|=\",\"^=\",\"%=\",\"<<=\",\">>=\",\">>>=\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\\d+(_+\\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\\w$]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],[/[A-Z][\\w\\$]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"type.identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/@\\s*[a-zA-Z_\\$][\\w\\$]*/,\"annotation\"],[/(@digits)[eE]([\\-+]?(@digits))?[fFdD]?/,\"number.float\"],[/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?[fFdD]?/,\"number.float\"],[/(@digits)[fFdD]/,\"number.float\"],[/(@digits)[lL]?/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",'@string.\"'],[/'/,\"string\",\"@string.'\"],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@apexdoc\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],apexdoc:[[/[^\\/*]+/,\"comment.doc\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],string:[[/[^\\\\\"']+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/[\"']/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}]]}};return p(h);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/azcli/azcli.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/azcli/azcli\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},k=(t,e,o,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of r(e))!l.call(t,n)&&n!==o&&s(t,n,{get:()=>e[n],enumerable:!(a=i(e,n))||a.enumerable});return t};var p=t=>k(s({},\"__esModule\",{value:!0}),t);var d={};c(d,{conf:()=>f,language:()=>g});var f={comments:{lineComment:\"#\"}},g={defaultToken:\"keyword\",ignoreCase:!0,tokenPostfix:\".azcli\",str:/[^#\\s]/,tokenizer:{root:[{include:\"@comment\"},[/\\s-+@str*\\s*/,{cases:{\"@eos\":{token:\"key.identifier\",next:\"@popall\"},\"@default\":{token:\"key.identifier\",next:\"@type\"}}}],[/^-+@str*\\s*/,{cases:{\"@eos\":{token:\"key.identifier\",next:\"@popall\"},\"@default\":{token:\"key.identifier\",next:\"@type\"}}}]],type:[{include:\"@comment\"},[/-+@str*\\s*/,{cases:{\"@eos\":{token:\"key.identifier\",next:\"@popall\"},\"@default\":\"key.identifier\"}}],[/@str+\\s*/,{cases:{\"@eos\":{token:\"string\",next:\"@popall\"},\"@default\":\"string\"}}]],comment:[[/#.*$/,{cases:{\"@eos\":{token:\"comment\",next:\"@popall\"}}}]]}};return p(d);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/bat/bat.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/bat/bat\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var n=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var g=(o,e)=>{for(var t in e)n(o,t,{get:e[t],enumerable:!0})},c=(o,e,t,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of l(e))!i.call(o,s)&&s!==t&&n(o,s,{get:()=>e[s],enumerable:!(a=r(e,s))||a.enumerable});return o};var p=o=>c(n({},\"__esModule\",{value:!0}),o);var k={};g(k,{conf:()=>d,language:()=>m});var d={comments:{lineComment:\"REM\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}],surroundingPairs:[{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}],folding:{markers:{start:new RegExp(\"^\\\\s*(::\\\\s*|REM\\\\s+)#region\"),end:new RegExp(\"^\\\\s*(::\\\\s*|REM\\\\s+)#endregion\")}}},m={defaultToken:\"\",ignoreCase:!0,tokenPostfix:\".bat\",brackets:[{token:\"delimiter.bracket\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\\-*\\/\\^;\\.,]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\\s*)(rem(?:\\s.*|))$/,[\"\",\"comment\"]],[/(\\@?)(@keywords)(?!\\w)/,[{token:\"keyword\"},{token:\"keyword.$2\"}]],[/[ \\t\\r\\n]+/,\"\"],[/setlocal(?!\\w)/,\"keyword.tag-setlocal\"],[/endlocal(?!\\w)/,\"keyword.tag-setlocal\"],[/[a-zA-Z_]\\w*/,\"\"],[/:\\w*/,\"metatag\"],[/%[^%]+%/,\"variable\"],[/%%[\\w]+(?!\\w)/,\"variable\"],[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,\"delimiter\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,\"number.hex\"],[/\\d+/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"/,\"string\",'@string.\"'],[/'/,\"string\",\"@string.'\"]],string:[[/[^\\\\\"'%]+/,{cases:{\"@eos\":{token:\"string\",next:\"@popall\"},\"@default\":\"string\"}}],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/%[\\w ]+%/,\"variable\"],[/%%[\\w]+(?!\\w)/,\"variable\"],[/[\"']/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}],[/$/,\"string\",\"@popall\"]]}};return p(k);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/bicep/bicep.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/bicep/bicep\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var g=(e,n)=>{for(var o in n)r(e,o,{get:n[o],enumerable:!0})},l=(e,n,o,i)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let t of c(n))!a.call(e,t)&&t!==o&&r(e,t,{get:()=>n[t],enumerable:!(i=s(n,t))||i.enumerable});return e};var m=e=>l(r({},\"__esModule\",{value:!0}),e);var y={};g(y,{conf:()=>$,language:()=>w});var p=e=>`\\\\b${e}\\\\b`,k=\"[_a-zA-Z]\",x=\"[_a-zA-Z0-9]\",u=p(`${k}${x}*`),d=[\"targetScope\",\"resource\",\"module\",\"param\",\"var\",\"output\",\"for\",\"in\",\"if\",\"existing\"],b=[\"true\",\"false\",\"null\"],f=\"[ \\\\t\\\\r\\\\n]\",C=\"[0-9]+\",$={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"'\",close:\"'\"},{open:\"'''\",close:\"'''\"}],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:\"'''\",close:\"'''\",notIn:[\"string\",\"comment\"]}],autoCloseBefore:`:.,=}])' \n\t`,indentationRules:{increaseIndentPattern:new RegExp(\"^((?!\\\\/\\\\/).)*(\\\\{[^}\\\"'`]*|\\\\([^)\\\"'`]*|\\\\[[^\\\\]\\\"'`]*)$\"),decreaseIndentPattern:new RegExp(\"^((?!.*?\\\\/\\\\*).*\\\\*/)?\\\\s*[\\\\}\\\\]].*$\")}},w={defaultToken:\"\",tokenPostfix:\".bicep\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],symbols:/[=><!~?:&|+\\-*/^%]+/,keywords:d,namedLiterals:b,escapes:\"\\\\\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\\\\\|'|\\\\${)\",tokenizer:{root:[{include:\"@expression\"},{include:\"@whitespace\"}],stringVerbatim:[{regex:\"(|'|'')[^']\",action:{token:\"string\"}},{regex:\"'''\",action:{token:\"string.quote\",next:\"@pop\"}}],stringLiteral:[{regex:\"\\\\${\",action:{token:\"delimiter.bracket\",next:\"@bracketCounting\"}},{regex:\"[^\\\\\\\\'$]+\",action:{token:\"string\"}},{regex:\"@escapes\",action:{token:\"string.escape\"}},{regex:\"\\\\\\\\.\",action:{token:\"string.escape.invalid\"}},{regex:\"'\",action:{token:\"string\",next:\"@pop\"}}],bracketCounting:[{regex:\"{\",action:{token:\"delimiter.bracket\",next:\"@bracketCounting\"}},{regex:\"}\",action:{token:\"delimiter.bracket\",next:\"@pop\"}},{include:\"expression\"}],comment:[{regex:\"[^\\\\*]+\",action:{token:\"comment\"}},{regex:\"\\\\*\\\\/\",action:{token:\"comment\",next:\"@pop\"}},{regex:\"[\\\\/*]\",action:{token:\"comment\"}}],whitespace:[{regex:f},{regex:\"\\\\/\\\\*\",action:{token:\"comment\",next:\"@comment\"}},{regex:\"\\\\/\\\\/.*$\",action:{token:\"comment\"}}],expression:[{regex:\"'''\",action:{token:\"string.quote\",next:\"@stringVerbatim\"}},{regex:\"'\",action:{token:\"string.quote\",next:\"@stringLiteral\"}},{regex:C,action:{token:\"number\"}},{regex:u,action:{cases:{\"@keywords\":{token:\"keyword\"},\"@namedLiterals\":{token:\"keyword\"},\"@default\":{token:\"identifier\"}}}}]}};return m(y);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/cameligo/cameligo.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/cameligo/cameligo\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var n in e)s(o,n,{get:e[n],enumerable:!0})},m=(o,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of a(e))!l.call(o,t)&&t!==n&&s(o,t,{get:()=>e[t],enumerable:!(r=i(e,t))||r.enumerable});return o};var p=o=>m(s({},\"__esModule\",{value:!0}),o);var u={};c(u,{conf:()=>d,language:()=>g});var d={comments:{lineComment:\"//\",blockComment:[\"(*\",\"*)\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"<\",\">\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"},{open:'\"',close:'\"'},{open:\"(*\",close:\"*)\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"},{open:'\"',close:'\"'},{open:\"(*\",close:\"*)\"}]},g={defaultToken:\"\",tokenPostfix:\".cameligo\",ignoreCase:!0,brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],keywords:[\"abs\",\"assert\",\"block\",\"Bytes\",\"case\",\"Crypto\",\"Current\",\"else\",\"failwith\",\"false\",\"for\",\"fun\",\"if\",\"in\",\"let\",\"let%entry\",\"let%init\",\"List\",\"list\",\"Map\",\"map\",\"match\",\"match%nat\",\"mod\",\"not\",\"operation\",\"Operation\",\"of\",\"record\",\"Set\",\"set\",\"sender\",\"skip\",\"source\",\"String\",\"then\",\"to\",\"true\",\"type\",\"with\"],typeKeywords:[\"int\",\"unit\",\"string\",\"tz\",\"nat\",\"bool\"],operators:[\"=\",\">\",\"<\",\"<=\",\">=\",\"<>\",\":\",\":=\",\"and\",\"mod\",\"or\",\"+\",\"-\",\"*\",\"/\",\"@\",\"&\",\"^\",\"%\",\"->\",\"<-\",\"&&\",\"||\"],symbols:/[=><:@\\^&|+\\-*\\/\\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\\w]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/\\$[0-9a-fA-F]{1,16}/,\"number.hex\"],[/\\d+/,\"number\"],[/[;,.]/,\"delimiter\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/'/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/'/,\"string.invalid\"],[/\\#\\d+/,\"string\"]],comment:[[/[^\\(\\*]+/,\"comment\"],[/\\*\\)/,\"comment\",\"@pop\"],[/\\(\\*/,\"comment\"]],string:[[/[^\\\\']+/,\"string\"],[/\\\\./,\"string.escape.invalid\"],[/'/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\(\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]]}};return p(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/clojure/clojure.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/clojure/clojure\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var a=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var d=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})},l=(t,e,r,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of i(e))!c.call(t,n)&&n!==r&&a(t,n,{get:()=>e[n],enumerable:!(s=o(e,n))||s.enumerable});return t};var p=t=>l(a({},\"__esModule\",{value:!0}),t);var h={};d(h,{conf:()=>u,language:()=>m});var u={comments:{lineComment:\";;\"},brackets:[[\"[\",\"]\"],[\"(\",\")\"],[\"{\",\"}\"]],autoClosingPairs:[{open:\"[\",close:\"]\"},{open:'\"',close:'\"'},{open:\"(\",close:\")\"},{open:\"{\",close:\"}\"}],surroundingPairs:[{open:\"[\",close:\"]\"},{open:'\"',close:'\"'},{open:\"(\",close:\")\"},{open:\"{\",close:\"}\"}]},m={defaultToken:\"\",ignoreCase:!0,tokenPostfix:\".clj\",brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"{\",close:\"}\",token:\"delimiter.curly\"}],constants:[\"true\",\"false\",\"nil\"],numbers:/^(?:[+\\-]?\\d+(?:(?:N|(?:[eE][+\\-]?\\d+))|(?:\\.?\\d*(?:M|(?:[eE][+\\-]?\\d+))?)|\\/\\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\\\\[\\]\\s\"#'(),;@^`{}~]|$))/,characters:/^(?:\\\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\\\\[\\]\\s\"(),;@^`{}~]|$))/,escapes:/^\\\\(?:[\"'\\\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~][^\\\\\\[\\]\\s\"(),;@^`{}~]*(?:\\.[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~][^\\\\\\[\\]\\s\"(),;@^`{}~]*)*\\/)?(?:\\/|[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~][^\\\\\\[\\]\\s\"(),;@^`{}~]*)*(?=[\\\\\\[\\]\\s\"(),;@^`{}~]|$))/,specialForms:[\".\",\"catch\",\"def\",\"do\",\"if\",\"monitor-enter\",\"monitor-exit\",\"new\",\"quote\",\"recur\",\"set!\",\"throw\",\"try\",\"var\"],coreSymbols:[\"*\",\"*'\",\"*1\",\"*2\",\"*3\",\"*agent*\",\"*allow-unresolved-vars*\",\"*assert*\",\"*clojure-version*\",\"*command-line-args*\",\"*compile-files*\",\"*compile-path*\",\"*compiler-options*\",\"*data-readers*\",\"*default-data-reader-fn*\",\"*e\",\"*err*\",\"*file*\",\"*flush-on-newline*\",\"*fn-loader*\",\"*in*\",\"*math-context*\",\"*ns*\",\"*out*\",\"*print-dup*\",\"*print-length*\",\"*print-level*\",\"*print-meta*\",\"*print-namespace-maps*\",\"*print-readably*\",\"*read-eval*\",\"*reader-resolver*\",\"*source-path*\",\"*suppress-read*\",\"*unchecked-math*\",\"*use-context-classloader*\",\"*verbose-defrecords*\",\"*warn-on-reflection*\",\"+\",\"+'\",\"-\",\"-'\",\"->\",\"->>\",\"->ArrayChunk\",\"->Eduction\",\"->Vec\",\"->VecNode\",\"->VecSeq\",\"-cache-protocol-fn\",\"-reset-methods\",\"..\",\"/\",\"<\",\"<=\",\"=\",\"==\",\">\",\">=\",\"EMPTY-NODE\",\"Inst\",\"StackTraceElement->vec\",\"Throwable->map\",\"accessor\",\"aclone\",\"add-classpath\",\"add-watch\",\"agent\",\"agent-error\",\"agent-errors\",\"aget\",\"alength\",\"alias\",\"all-ns\",\"alter\",\"alter-meta!\",\"alter-var-root\",\"amap\",\"ancestors\",\"and\",\"any?\",\"apply\",\"areduce\",\"array-map\",\"as->\",\"aset\",\"aset-boolean\",\"aset-byte\",\"aset-char\",\"aset-double\",\"aset-float\",\"aset-int\",\"aset-long\",\"aset-short\",\"assert\",\"assoc\",\"assoc!\",\"assoc-in\",\"associative?\",\"atom\",\"await\",\"await-for\",\"await1\",\"bases\",\"bean\",\"bigdec\",\"bigint\",\"biginteger\",\"binding\",\"bit-and\",\"bit-and-not\",\"bit-clear\",\"bit-flip\",\"bit-not\",\"bit-or\",\"bit-set\",\"bit-shift-left\",\"bit-shift-right\",\"bit-test\",\"bit-xor\",\"boolean\",\"boolean-array\",\"boolean?\",\"booleans\",\"bound-fn\",\"bound-fn*\",\"bound?\",\"bounded-count\",\"butlast\",\"byte\",\"byte-array\",\"bytes\",\"bytes?\",\"case\",\"cast\",\"cat\",\"char\",\"char-array\",\"char-escape-string\",\"char-name-string\",\"char?\",\"chars\",\"chunk\",\"chunk-append\",\"chunk-buffer\",\"chunk-cons\",\"chunk-first\",\"chunk-next\",\"chunk-rest\",\"chunked-seq?\",\"class\",\"class?\",\"clear-agent-errors\",\"clojure-version\",\"coll?\",\"comment\",\"commute\",\"comp\",\"comparator\",\"compare\",\"compare-and-set!\",\"compile\",\"complement\",\"completing\",\"concat\",\"cond\",\"cond->\",\"cond->>\",\"condp\",\"conj\",\"conj!\",\"cons\",\"constantly\",\"construct-proxy\",\"contains?\",\"count\",\"counted?\",\"create-ns\",\"create-struct\",\"cycle\",\"dec\",\"dec'\",\"decimal?\",\"declare\",\"dedupe\",\"default-data-readers\",\"definline\",\"definterface\",\"defmacro\",\"defmethod\",\"defmulti\",\"defn\",\"defn-\",\"defonce\",\"defprotocol\",\"defrecord\",\"defstruct\",\"deftype\",\"delay\",\"delay?\",\"deliver\",\"denominator\",\"deref\",\"derive\",\"descendants\",\"destructure\",\"disj\",\"disj!\",\"dissoc\",\"dissoc!\",\"distinct\",\"distinct?\",\"doall\",\"dorun\",\"doseq\",\"dosync\",\"dotimes\",\"doto\",\"double\",\"double-array\",\"double?\",\"doubles\",\"drop\",\"drop-last\",\"drop-while\",\"eduction\",\"empty\",\"empty?\",\"ensure\",\"ensure-reduced\",\"enumeration-seq\",\"error-handler\",\"error-mode\",\"eval\",\"even?\",\"every-pred\",\"every?\",\"ex-data\",\"ex-info\",\"extend\",\"extend-protocol\",\"extend-type\",\"extenders\",\"extends?\",\"false?\",\"ffirst\",\"file-seq\",\"filter\",\"filterv\",\"find\",\"find-keyword\",\"find-ns\",\"find-protocol-impl\",\"find-protocol-method\",\"find-var\",\"first\",\"flatten\",\"float\",\"float-array\",\"float?\",\"floats\",\"flush\",\"fn\",\"fn?\",\"fnext\",\"fnil\",\"for\",\"force\",\"format\",\"frequencies\",\"future\",\"future-call\",\"future-cancel\",\"future-cancelled?\",\"future-done?\",\"future?\",\"gen-class\",\"gen-interface\",\"gensym\",\"get\",\"get-in\",\"get-method\",\"get-proxy-class\",\"get-thread-bindings\",\"get-validator\",\"group-by\",\"halt-when\",\"hash\",\"hash-combine\",\"hash-map\",\"hash-ordered-coll\",\"hash-set\",\"hash-unordered-coll\",\"ident?\",\"identical?\",\"identity\",\"if-let\",\"if-not\",\"if-some\",\"ifn?\",\"import\",\"in-ns\",\"inc\",\"inc'\",\"indexed?\",\"init-proxy\",\"inst-ms\",\"inst-ms*\",\"inst?\",\"instance?\",\"int\",\"int-array\",\"int?\",\"integer?\",\"interleave\",\"intern\",\"interpose\",\"into\",\"into-array\",\"ints\",\"io!\",\"isa?\",\"iterate\",\"iterator-seq\",\"juxt\",\"keep\",\"keep-indexed\",\"key\",\"keys\",\"keyword\",\"keyword?\",\"last\",\"lazy-cat\",\"lazy-seq\",\"let\",\"letfn\",\"line-seq\",\"list\",\"list*\",\"list?\",\"load\",\"load-file\",\"load-reader\",\"load-string\",\"loaded-libs\",\"locking\",\"long\",\"long-array\",\"longs\",\"loop\",\"macroexpand\",\"macroexpand-1\",\"make-array\",\"make-hierarchy\",\"map\",\"map-entry?\",\"map-indexed\",\"map?\",\"mapcat\",\"mapv\",\"max\",\"max-key\",\"memfn\",\"memoize\",\"merge\",\"merge-with\",\"meta\",\"method-sig\",\"methods\",\"min\",\"min-key\",\"mix-collection-hash\",\"mod\",\"munge\",\"name\",\"namespace\",\"namespace-munge\",\"nat-int?\",\"neg-int?\",\"neg?\",\"newline\",\"next\",\"nfirst\",\"nil?\",\"nnext\",\"not\",\"not-any?\",\"not-empty\",\"not-every?\",\"not=\",\"ns\",\"ns-aliases\",\"ns-imports\",\"ns-interns\",\"ns-map\",\"ns-name\",\"ns-publics\",\"ns-refers\",\"ns-resolve\",\"ns-unalias\",\"ns-unmap\",\"nth\",\"nthnext\",\"nthrest\",\"num\",\"number?\",\"numerator\",\"object-array\",\"odd?\",\"or\",\"parents\",\"partial\",\"partition\",\"partition-all\",\"partition-by\",\"pcalls\",\"peek\",\"persistent!\",\"pmap\",\"pop\",\"pop!\",\"pop-thread-bindings\",\"pos-int?\",\"pos?\",\"pr\",\"pr-str\",\"prefer-method\",\"prefers\",\"primitives-classnames\",\"print\",\"print-ctor\",\"print-dup\",\"print-method\",\"print-simple\",\"print-str\",\"printf\",\"println\",\"println-str\",\"prn\",\"prn-str\",\"promise\",\"proxy\",\"proxy-call-with-super\",\"proxy-mappings\",\"proxy-name\",\"proxy-super\",\"push-thread-bindings\",\"pvalues\",\"qualified-ident?\",\"qualified-keyword?\",\"qualified-symbol?\",\"quot\",\"rand\",\"rand-int\",\"rand-nth\",\"random-sample\",\"range\",\"ratio?\",\"rational?\",\"rationalize\",\"re-find\",\"re-groups\",\"re-matcher\",\"re-matches\",\"re-pattern\",\"re-seq\",\"read\",\"read-line\",\"read-string\",\"reader-conditional\",\"reader-conditional?\",\"realized?\",\"record?\",\"reduce\",\"reduce-kv\",\"reduced\",\"reduced?\",\"reductions\",\"ref\",\"ref-history-count\",\"ref-max-history\",\"ref-min-history\",\"ref-set\",\"refer\",\"refer-clojure\",\"reify\",\"release-pending-sends\",\"rem\",\"remove\",\"remove-all-methods\",\"remove-method\",\"remove-ns\",\"remove-watch\",\"repeat\",\"repeatedly\",\"replace\",\"replicate\",\"require\",\"reset!\",\"reset-meta!\",\"reset-vals!\",\"resolve\",\"rest\",\"restart-agent\",\"resultset-seq\",\"reverse\",\"reversible?\",\"rseq\",\"rsubseq\",\"run!\",\"satisfies?\",\"second\",\"select-keys\",\"send\",\"send-off\",\"send-via\",\"seq\",\"seq?\",\"seqable?\",\"seque\",\"sequence\",\"sequential?\",\"set\",\"set-agent-send-executor!\",\"set-agent-send-off-executor!\",\"set-error-handler!\",\"set-error-mode!\",\"set-validator!\",\"set?\",\"short\",\"short-array\",\"shorts\",\"shuffle\",\"shutdown-agents\",\"simple-ident?\",\"simple-keyword?\",\"simple-symbol?\",\"slurp\",\"some\",\"some->\",\"some->>\",\"some-fn\",\"some?\",\"sort\",\"sort-by\",\"sorted-map\",\"sorted-map-by\",\"sorted-set\",\"sorted-set-by\",\"sorted?\",\"special-symbol?\",\"spit\",\"split-at\",\"split-with\",\"str\",\"string?\",\"struct\",\"struct-map\",\"subs\",\"subseq\",\"subvec\",\"supers\",\"swap!\",\"swap-vals!\",\"symbol\",\"symbol?\",\"sync\",\"tagged-literal\",\"tagged-literal?\",\"take\",\"take-last\",\"take-nth\",\"take-while\",\"test\",\"the-ns\",\"thread-bound?\",\"time\",\"to-array\",\"to-array-2d\",\"trampoline\",\"transduce\",\"transient\",\"tree-seq\",\"true?\",\"type\",\"unchecked-add\",\"unchecked-add-int\",\"unchecked-byte\",\"unchecked-char\",\"unchecked-dec\",\"unchecked-dec-int\",\"unchecked-divide-int\",\"unchecked-double\",\"unchecked-float\",\"unchecked-inc\",\"unchecked-inc-int\",\"unchecked-int\",\"unchecked-long\",\"unchecked-multiply\",\"unchecked-multiply-int\",\"unchecked-negate\",\"unchecked-negate-int\",\"unchecked-remainder-int\",\"unchecked-short\",\"unchecked-subtract\",\"unchecked-subtract-int\",\"underive\",\"unquote\",\"unquote-splicing\",\"unreduced\",\"unsigned-bit-shift-right\",\"update\",\"update-in\",\"update-proxy\",\"uri?\",\"use\",\"uuid?\",\"val\",\"vals\",\"var-get\",\"var-set\",\"var?\",\"vary-meta\",\"vec\",\"vector\",\"vector-of\",\"vector?\",\"volatile!\",\"volatile?\",\"vreset!\",\"vswap!\",\"when\",\"when-first\",\"when-let\",\"when-not\",\"when-some\",\"while\",\"with-bindings\",\"with-bindings*\",\"with-in-str\",\"with-loading-context\",\"with-local-vars\",\"with-meta\",\"with-open\",\"with-out-str\",\"with-precision\",\"with-redefs\",\"with-redefs-fn\",\"xml-seq\",\"zero?\",\"zipmap\"],tokenizer:{root:[{include:\"@whitespace\"},[/@numbers/,\"number\"],[/@characters/,\"string\"],{include:\"@string\"},[/[()\\[\\]{}]/,\"@brackets\"],[/\\/#\"(?:\\.|(?:\")|[^\"\\n])*\"\\/g/,\"regexp\"],[/[#'@^`~]/,\"meta\"],[/@qualifiedSymbols/,{cases:{\"^:.+$\":\"constant\",\"@specialForms\":\"keyword\",\"@coreSymbols\":\"keyword\",\"@constants\":\"constant\",\"@default\":\"identifier\"}}]],whitespace:[[/[\\s,]+/,\"white\"],[/;.*$/,\"comment\"],[/\\(comment\\b/,\"comment\",\"@comment\"]],comment:[[/\\(/,\"comment\",\"@push\"],[/\\)/,\"comment\",\"@pop\"],[/[^()]/,\"comment\"]],string:[[/\"/,\"string\",\"@multiLineString\"]],multiLineString:[[/\"/,\"string\",\"@popall\"],[/@escapes/,\"string.escape\"],[/./,\"string\"]]}};return p(h);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/coffee/coffee.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/coffee/coffee\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(n,e)=>{for(var t in e)s(n,t,{get:e[t],enumerable:!0})},p=(n,e,t,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of g(e))!a.call(n,r)&&r!==t&&s(n,r,{get:()=>e[r],enumerable:!(o=i(e,r))||o.enumerable});return n};var c=n=>p(s({},\"__esModule\",{value:!0}),n);var m={};l(m,{conf:()=>d,language:()=>x});var d={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#%\\^\\&\\*\\(\\)\\=\\$\\-\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{blockComment:[\"###\",\"###\"],lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*#region\\\\b\"),end:new RegExp(\"^\\\\s*#endregion\\\\b\")}}},x={defaultToken:\"\",ignoreCase:!0,tokenPostfix:\".coffee\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],regEx:/\\/(?!\\/\\/)(?:[^\\/\\\\]|\\\\.)*\\/[igm]*/,keywords:[\"and\",\"or\",\"is\",\"isnt\",\"not\",\"on\",\"yes\",\"@\",\"no\",\"off\",\"true\",\"false\",\"null\",\"this\",\"new\",\"delete\",\"typeof\",\"in\",\"instanceof\",\"return\",\"throw\",\"break\",\"continue\",\"debugger\",\"if\",\"else\",\"switch\",\"for\",\"while\",\"do\",\"try\",\"catch\",\"finally\",\"class\",\"extends\",\"super\",\"undefined\",\"then\",\"unless\",\"until\",\"loop\",\"of\",\"by\",\"when\"],symbols:/[=><!~?&%|+\\-*\\/\\^\\.,\\:]+/,escapes:/\\\\(?:[abfnrtv\\\\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\\@[a-zA-Z_]\\w*/,\"variable.predefined\"],[/[a-zA-Z_]\\w*/,{cases:{this:\"variable.predefined\",\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"\"}}],[/[ \\t\\r\\n]+/,\"\"],[/###/,\"comment\",\"@comment\"],[/#.*$/,\"comment\"],[\"///\",{token:\"regexp\",next:\"@hereregexp\"}],[/^(\\s*)(@regEx)/,[\"\",\"regexp\"]],[/(\\()(\\s*)(@regEx)/,[\"@brackets\",\"\",\"regexp\"]],[/(\\,)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/(\\=)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/(\\:)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/(\\[)(\\s*)(@regEx)/,[\"@brackets\",\"\",\"regexp\"]],[/(\\!)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/(\\&)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/(\\|)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/(\\?)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/(\\{)(\\s*)(@regEx)/,[\"@brackets\",\"\",\"regexp\"]],[/(\\;)(\\s*)(@regEx)/,[\"\",\"\",\"regexp\"]],[/}/,{cases:{\"$S2==interpolatedstring\":{token:\"string\",next:\"@pop\"},\"@default\":\"@brackets\"}}],[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,\"delimiter\"],[/\\d+[eE]([\\-+]?\\d+)?/,\"number.float\"],[/\\d+\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F]+/,\"number.hex\"],[/0[0-7]+(?!\\d)/,\"number.octal\"],[/\\d+/,\"number\"],[/[,.]/,\"delimiter\"],[/\"\"\"/,\"string\",'@herestring.\"\"\"'],[/'''/,\"string\",\"@herestring.'''\"],[/\"/,{cases:{\"@eos\":\"string\",\"@default\":{token:\"string\",next:'@string.\"'}}}],[/'/,{cases:{\"@eos\":\"string\",\"@default\":{token:\"string\",next:\"@string.'\"}}}]],string:[[/[^\"'\\#\\\\]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\./,\"string.escape.invalid\"],[/\\./,\"string.escape.invalid\"],[/#{/,{cases:{'$S2==\"':{token:\"string\",next:\"root.interpolatedstring\"},\"@default\":\"string\"}}],[/[\"']/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}],[/#/,\"string\"]],herestring:[[/(\"\"\"|''')/,{cases:{\"$1==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}],[/[^#\\\\'\"]+/,\"string\"],[/['\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\./,\"string.escape.invalid\"],[/#{/,{token:\"string.quote\",next:\"root.interpolatedstring\"}],[/#/,\"string\"]],comment:[[/[^#]+/,\"comment\"],[/###/,\"comment\",\"@pop\"],[/#/,\"comment\"]],hereregexp:[[/[^\\\\\\/#]+/,\"regexp\"],[/\\\\./,\"regexp\"],[/#.*$/,\"comment\"],[\"///[igm]*\",{token:\"regexp\",next:\"@pop\"}],[/\\//,\"regexp\"]]}};return c(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/cpp/cpp.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/cpp/cpp\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var c=(n,e)=>{for(var i in e)o(n,i,{get:e[i],enumerable:!0})},l=(n,e,i,_)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of a(e))!s.call(n,t)&&t!==i&&o(n,t,{get:()=>e[t],enumerable:!(_=r(e,t))||_.enumerable});return n};var d=n=>l(o({},\"__esModule\",{value:!0}),n);var u={};c(u,{conf:()=>p,language:()=>m});var p={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"[\",close:\"]\"},{open:\"{\",close:\"}\"},{open:\"(\",close:\")\"},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*#pragma\\\\s+region\\\\b\"),end:new RegExp(\"^\\\\s*#pragma\\\\s+endregion\\\\b\")}}},m={defaultToken:\"\",tokenPostfix:\".cpp\",brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"},{token:\"delimiter.angle\",open:\"<\",close:\">\"}],keywords:[\"abstract\",\"amp\",\"array\",\"auto\",\"bool\",\"break\",\"case\",\"catch\",\"char\",\"class\",\"const\",\"constexpr\",\"const_cast\",\"continue\",\"cpu\",\"decltype\",\"default\",\"delegate\",\"delete\",\"do\",\"double\",\"dynamic_cast\",\"each\",\"else\",\"enum\",\"event\",\"explicit\",\"export\",\"extern\",\"false\",\"final\",\"finally\",\"float\",\"for\",\"friend\",\"gcnew\",\"generic\",\"goto\",\"if\",\"in\",\"initonly\",\"inline\",\"int\",\"interface\",\"interior_ptr\",\"internal\",\"literal\",\"long\",\"mutable\",\"namespace\",\"new\",\"noexcept\",\"nullptr\",\"__nullptr\",\"operator\",\"override\",\"partial\",\"pascal\",\"pin_ptr\",\"private\",\"property\",\"protected\",\"public\",\"ref\",\"register\",\"reinterpret_cast\",\"restrict\",\"return\",\"safe_cast\",\"sealed\",\"short\",\"signed\",\"sizeof\",\"static\",\"static_assert\",\"static_cast\",\"struct\",\"switch\",\"template\",\"this\",\"thread_local\",\"throw\",\"tile_static\",\"true\",\"try\",\"typedef\",\"typeid\",\"typename\",\"union\",\"unsigned\",\"using\",\"virtual\",\"void\",\"volatile\",\"wchar_t\",\"where\",\"while\",\"_asm\",\"_based\",\"_cdecl\",\"_declspec\",\"_fastcall\",\"_if_exists\",\"_if_not_exists\",\"_inline\",\"_multiple_inheritance\",\"_pascal\",\"_single_inheritance\",\"_stdcall\",\"_virtual_inheritance\",\"_w64\",\"__abstract\",\"__alignof\",\"__asm\",\"__assume\",\"__based\",\"__box\",\"__builtin_alignof\",\"__cdecl\",\"__clrcall\",\"__declspec\",\"__delegate\",\"__event\",\"__except\",\"__fastcall\",\"__finally\",\"__forceinline\",\"__gc\",\"__hook\",\"__identifier\",\"__if_exists\",\"__if_not_exists\",\"__inline\",\"__int128\",\"__int16\",\"__int32\",\"__int64\",\"__int8\",\"__interface\",\"__leave\",\"__m128\",\"__m128d\",\"__m128i\",\"__m256\",\"__m256d\",\"__m256i\",\"__m512\",\"__m512d\",\"__m512i\",\"__m64\",\"__multiple_inheritance\",\"__newslot\",\"__nogc\",\"__noop\",\"__nounwind\",\"__novtordisp\",\"__pascal\",\"__pin\",\"__pragma\",\"__property\",\"__ptr32\",\"__ptr64\",\"__raise\",\"__restrict\",\"__resume\",\"__sealed\",\"__single_inheritance\",\"__stdcall\",\"__super\",\"__thiscall\",\"__try\",\"__try_cast\",\"__typeof\",\"__unaligned\",\"__unhook\",\"__uuidof\",\"__value\",\"__virtual_inheritance\",\"__w64\",\"__wchar_t\"],operators:[\"=\",\">\",\"<\",\"!\",\"~\",\"?\",\":\",\"==\",\"<=\",\">=\",\"!=\",\"&&\",\"||\",\"++\",\"--\",\"+\",\"-\",\"*\",\"/\",\"&\",\"|\",\"^\",\"%\",\"<<\",\">>\",\"+=\",\"-=\",\"*=\",\"/=\",\"&=\",\"|=\",\"^=\",\"%=\",\"<<=\",\">>=\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[0abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,floatsuffix:/[fFlL]?/,encoding:/u|u8|U|L/,tokenizer:{root:[[/@encoding?R\\\"(?:([^ ()\\\\\\t]*))\\(/,{token:\"string.raw.begin\",next:\"@raw.$1\"}],[/[a-zA-Z_]\\w*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],[/^\\s*#\\s*include/,{token:\"keyword.directive.include\",next:\"@include\"}],[/^\\s*#\\s*\\w+/,\"keyword.directive\"],{include:\"@whitespace\"},[/\\[\\s*\\[/,{token:\"annotation\",next:\"@annotation\"}],[/[{}()<>\\[\\]]/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/\\d*\\d+[eE]([\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,\"number.hex\"],[/0[0-7']*[0-7](@integersuffix)/,\"number.octal\"],[/0[bB][0-1']*[0-1](@integersuffix)/,\"number.binary\"],[/\\d[\\d']*\\d(@integersuffix)/,\"number\"],[/\\d(@integersuffix)/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@doccomment\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*\\\\$/,\"comment\",\"@linecomment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],linecomment:[[/.*[^\\\\]$/,\"comment\",\"@pop\"],[/[^]+/,\"comment\"]],doccomment:[[/[^\\/*]+/,\"comment.doc\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],raw:[[/[^)]+/,\"string.raw\"],[/\\)$S2\\\"/,{token:\"string.raw.end\",next:\"@pop\"}],[/\\)/,\"string.raw\"]],annotation:[{include:\"@whitespace\"},[/using|alignas/,\"keyword\"],[/[a-zA-Z0-9_]+/,\"annotation\"],[/[,:]/,\"delimiter\"],[/[()]/,\"@brackets\"],[/\\]\\s*\\]/,{token:\"annotation\",next:\"@pop\"}]],include:[[/(\\s*)(<)([^<>]*)(>)/,[\"\",\"keyword.directive.include.begin\",\"string.include.identifier\",{token:\"keyword.directive.include.end\",next:\"@pop\"}]],[/(\\s*)(\")([^\"]*)(\")/,[\"\",\"keyword.directive.include.begin\",\"string.include.identifier\",{token:\"keyword.directive.include.end\",next:\"@pop\"}]]]}};return d(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/csharp/csharp.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/csharp/csharp\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},p=(t,e,o,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of a(e))!c.call(t,n)&&n!==o&&s(t,n,{get:()=>e[n],enumerable:!(i=r(e,n))||i.enumerable});return t};var g=t=>p(s({},\"__esModule\",{value:!0}),t);var u={};l(u,{conf:()=>d,language:()=>m});var d={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\#\\$\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"},{open:'\"',close:'\"'}],folding:{markers:{start:new RegExp(\"^\\\\s*#region\\\\b\"),end:new RegExp(\"^\\\\s*#endregion\\\\b\")}}},m={defaultToken:\"\",tokenPostfix:\".cs\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],keywords:[\"extern\",\"alias\",\"using\",\"bool\",\"decimal\",\"sbyte\",\"byte\",\"short\",\"ushort\",\"int\",\"uint\",\"long\",\"ulong\",\"char\",\"float\",\"double\",\"object\",\"dynamic\",\"string\",\"assembly\",\"is\",\"as\",\"ref\",\"out\",\"this\",\"base\",\"new\",\"typeof\",\"void\",\"checked\",\"unchecked\",\"default\",\"delegate\",\"var\",\"const\",\"if\",\"else\",\"switch\",\"case\",\"while\",\"do\",\"for\",\"foreach\",\"in\",\"break\",\"continue\",\"goto\",\"return\",\"throw\",\"try\",\"catch\",\"finally\",\"lock\",\"yield\",\"from\",\"let\",\"where\",\"join\",\"on\",\"equals\",\"into\",\"orderby\",\"ascending\",\"descending\",\"select\",\"group\",\"by\",\"namespace\",\"partial\",\"class\",\"field\",\"event\",\"method\",\"param\",\"public\",\"protected\",\"internal\",\"private\",\"abstract\",\"sealed\",\"static\",\"struct\",\"readonly\",\"volatile\",\"virtual\",\"override\",\"params\",\"get\",\"set\",\"add\",\"remove\",\"operator\",\"true\",\"false\",\"implicit\",\"explicit\",\"interface\",\"enum\",\"null\",\"async\",\"await\",\"fixed\",\"sizeof\",\"stackalloc\",\"unsafe\",\"nameof\",\"when\"],namespaceFollows:[\"namespace\",\"using\"],parenFollows:[\"if\",\"for\",\"while\",\"switch\",\"foreach\",\"using\",\"catch\",\"when\"],operators:[\"=\",\"??\",\"||\",\"&&\",\"|\",\"^\",\"&\",\"==\",\"!=\",\"<=\",\">=\",\"<<\",\"+\",\"-\",\"*\",\"/\",\"%\",\"!\",\"~\",\"++\",\"--\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"|=\",\"^=\",\"<<=\",\">>=\",\">>\",\"=>\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\\@?[a-zA-Z_]\\w*/,{cases:{\"@namespaceFollows\":{token:\"keyword.$0\",next:\"@namespace\"},\"@keywords\":{token:\"keyword.$0\",next:\"@qualified\"},\"@default\":{token:\"identifier\",next:\"@qualified\"}}}],{include:\"@whitespace\"},[/}/,{cases:{\"$S2==interpolatedstring\":{token:\"string.quote\",next:\"@pop\"},\"$S2==litinterpstring\":{token:\"string.quote\",next:\"@pop\"},\"@default\":\"@brackets\"}}],[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/[0-9_]*\\.[0-9_]+([eE][\\-+]?\\d+)?[fFdD]?/,\"number.float\"],[/0[xX][0-9a-fA-F_]+/,\"number.hex\"],[/0[bB][01_]+/,\"number.hex\"],[/[0-9_]+/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,{token:\"string.quote\",next:\"@string\"}],[/\\$\\@\"/,{token:\"string.quote\",next:\"@litinterpstring\"}],[/\\@\"/,{token:\"string.quote\",next:\"@litstring\"}],[/\\$\"/,{token:\"string.quote\",next:\"@interpolatedstring\"}],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],qualified:[[/[a-zA-Z_][\\w]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],[/\\./,\"delimiter\"],[\"\",\"\",\"@pop\"]],namespace:[{include:\"@whitespace\"},[/[A-Z]\\w*/,\"namespace\"],[/[\\.=]/,\"delimiter\"],[\"\",\"\",\"@pop\"]],comment:[[/[^\\/*]+/,\"comment\"],[\"\\\\*/\",\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,{token:\"string.quote\",next:\"@pop\"}]],litstring:[[/[^\"]+/,\"string\"],[/\"\"/,\"string.escape\"],[/\"/,{token:\"string.quote\",next:\"@pop\"}]],litinterpstring:[[/[^\"{]+/,\"string\"],[/\"\"/,\"string.escape\"],[/{{/,\"string.escape\"],[/}}/,\"string.escape\"],[/{/,{token:\"string.quote\",next:\"root.litinterpstring\"}],[/\"/,{token:\"string.quote\",next:\"@pop\"}]],interpolatedstring:[[/[^\\\\\"{]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/{{/,\"string.escape\"],[/}}/,\"string.escape\"],[/{/,{token:\"string.quote\",next:\"root.interpolatedstring\"}],[/\"/,{token:\"string.quote\",next:\"@pop\"}]],whitespace:[[/^[ \\t\\v\\f]*#((r)|(load))(?=\\s)/,\"directive.csx\"],[/^[ \\t\\v\\f]*#\\w.*$/,\"namespace.cpp\"],[/[ \\t\\v\\f\\r\\n]+/,\"\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]]}};return g(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/csp/csp.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/csp/csp\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var a=(r,t)=>{for(var s in t)o(r,s,{get:t[s],enumerable:!0})},c=(r,t,s,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let e of u(t))!g.call(r,e)&&e!==s&&o(r,e,{get:()=>t[e],enumerable:!(n=i(t,e))||n.enumerable});return r};var q=r=>c(o({},\"__esModule\",{value:!0}),r);var p={};a(p,{conf:()=>f,language:()=>l});var f={brackets:[],autoClosingPairs:[],surroundingPairs:[]},l={keywords:[],typeKeywords:[],tokenPostfix:\".csp\",operators:[],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,\"string.quote\"],[/connect-src/,\"string.quote\"],[/default-src/,\"string.quote\"],[/font-src/,\"string.quote\"],[/frame-src/,\"string.quote\"],[/img-src/,\"string.quote\"],[/manifest-src/,\"string.quote\"],[/media-src/,\"string.quote\"],[/object-src/,\"string.quote\"],[/script-src/,\"string.quote\"],[/style-src/,\"string.quote\"],[/worker-src/,\"string.quote\"],[/base-uri/,\"string.quote\"],[/plugin-types/,\"string.quote\"],[/sandbox/,\"string.quote\"],[/disown-opener/,\"string.quote\"],[/form-action/,\"string.quote\"],[/frame-ancestors/,\"string.quote\"],[/report-uri/,\"string.quote\"],[/report-to/,\"string.quote\"],[/upgrade-insecure-requests/,\"string.quote\"],[/block-all-mixed-content/,\"string.quote\"],[/require-sri-for/,\"string.quote\"],[/reflected-xss/,\"string.quote\"],[/referrer/,\"string.quote\"],[/policy-uri/,\"string.quote\"],[/'self'/,\"string.quote\"],[/'unsafe-inline'/,\"string.quote\"],[/'unsafe-eval'/,\"string.quote\"],[/'strict-dynamic'/,\"string.quote\"],[/'unsafe-hashed-attributes'/,\"string.quote\"]]}};return q(p);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/css/css.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/css/css\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var m=(t,e)=>{for(var o in e)r(t,o,{get:e[o],enumerable:!0})},c=(t,e,o,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of s(e))!l.call(t,n)&&n!==o&&r(t,n,{get:()=>e[n],enumerable:!(i=a(e,n))||i.enumerable});return t};var d=t=>c(r({},\"__esModule\",{value:!0}),t);var k={};m(k,{conf:()=>u,language:()=>p});var u={wordPattern:/(#?-?\\d*\\.\\d\\w*%?)|((::|[@#.!:])?[\\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*\\\\/\\\\*\\\\s*#region\\\\b\\\\s*(.*?)\\\\s*\\\\*\\\\/\"),end:new RegExp(\"^\\\\s*\\\\/\\\\*\\\\s*#endregion\\\\b.*\\\\*\\\\/\")}}},p={defaultToken:\"\",tokenPostfix:\".css\",ws:`[ \t\n\\r\\f]*`,identifier:\"-?-?([a-zA-Z]|(\\\\\\\\(([0-9a-fA-F]{1,6}\\\\s?)|[^[0-9a-fA-F])))([\\\\w\\\\-]|(\\\\\\\\(([0-9a-fA-F]{1,6}\\\\s?)|[^[0-9a-fA-F])))*\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.bracket\"},{open:\"[\",close:\"]\",token:\"delimiter.bracket\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],tokenizer:{root:[{include:\"@selector\"}],selector:[{include:\"@comments\"},{include:\"@import\"},{include:\"@strings\"},[\"[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)\",{token:\"keyword\",next:\"@keyframedeclaration\"}],[\"[@](page|content|font-face|-moz-document)\",{token:\"keyword\"}],[\"[@](charset|namespace)\",{token:\"keyword\",next:\"@declarationbody\"}],[\"(url-prefix)(\\\\()\",[\"attribute.value\",{token:\"delimiter.parenthesis\",next:\"@urldeclaration\"}]],[\"(url)(\\\\()\",[\"attribute.value\",{token:\"delimiter.parenthesis\",next:\"@urldeclaration\"}]],{include:\"@selectorname\"},[\"[\\\\*]\",\"tag\"],[\"[>\\\\+,]\",\"delimiter\"],[\"\\\\[\",{token:\"delimiter.bracket\",next:\"@selectorattribute\"}],[\"{\",{token:\"delimiter.bracket\",next:\"@selectorbody\"}]],selectorbody:[{include:\"@comments\"},[\"[*_]?@identifier@ws:(?=(\\\\s|\\\\d|[^{;}]*[;}]))\",\"attribute.name\",\"@rulevalue\"],[\"}\",{token:\"delimiter.bracket\",next:\"@pop\"}]],selectorname:[[\"(\\\\.|#(?=[^{])|%|(@identifier)|:)+\",\"tag\"]],selectorattribute:[{include:\"@term\"},[\"]\",{token:\"delimiter.bracket\",next:\"@pop\"}]],term:[{include:\"@comments\"},[\"(url-prefix)(\\\\()\",[\"attribute.value\",{token:\"delimiter.parenthesis\",next:\"@urldeclaration\"}]],[\"(url)(\\\\()\",[\"attribute.value\",{token:\"delimiter.parenthesis\",next:\"@urldeclaration\"}]],{include:\"@functioninvocation\"},{include:\"@numbers\"},{include:\"@name\"},{include:\"@strings\"},[\"([<>=\\\\+\\\\-\\\\*\\\\/\\\\^\\\\|\\\\~,])\",\"delimiter\"],[\",\",\"delimiter\"]],rulevalue:[{include:\"@comments\"},{include:\"@strings\"},{include:\"@term\"},[\"!important\",\"keyword\"],[\";\",\"delimiter\",\"@pop\"],[\"(?=})\",{token:\"\",next:\"@pop\"}]],warndebug:[[\"[@](warn|debug)\",{token:\"keyword\",next:\"@declarationbody\"}]],import:[[\"[@](import)\",{token:\"keyword\",next:\"@declarationbody\"}]],urldeclaration:[{include:\"@strings\"},[`[^)\\r\n]+`,\"string\"],[\"\\\\)\",{token:\"delimiter.parenthesis\",next:\"@pop\"}]],parenthizedterm:[{include:\"@term\"},[\"\\\\)\",{token:\"delimiter.parenthesis\",next:\"@pop\"}]],declarationbody:[{include:\"@term\"},[\";\",\"delimiter\",\"@pop\"],[\"(?=})\",{token:\"\",next:\"@pop\"}]],comments:[[\"\\\\/\\\\*\",\"comment\",\"@comment\"],[\"\\\\/\\\\/+.*\",\"comment\"]],comment:[[\"\\\\*\\\\/\",\"comment\",\"@pop\"],[/[^*/]+/,\"comment\"],[/./,\"comment\"]],name:[[\"@identifier\",\"attribute.value\"]],numbers:[[\"-?(\\\\d*\\\\.)?\\\\d+([eE][\\\\-+]?\\\\d+)?\",{token:\"attribute.value.number\",next:\"@units\"}],[\"#[0-9a-fA-F_]+(?!\\\\w)\",\"attribute.value.hex\"]],units:[[\"(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?\",\"attribute.value.unit\",\"@pop\"]],keyframedeclaration:[[\"@identifier\",\"attribute.value\"],[\"{\",{token:\"delimiter.bracket\",switchTo:\"@keyframebody\"}]],keyframebody:[{include:\"@term\"},[\"{\",{token:\"delimiter.bracket\",next:\"@selectorbody\"}],[\"}\",{token:\"delimiter.bracket\",next:\"@pop\"}]],functioninvocation:[[\"@identifier\\\\(\",{token:\"attribute.value\",next:\"@functionarguments\"}]],functionarguments:[[\"\\\\$@identifier@ws:\",\"attribute.name\"],[\"[,]\",\"delimiter\"],{include:\"@term\"},[\"\\\\)\",{token:\"attribute.value\",next:\"@pop\"}]],strings:[['~?\"',{token:\"string\",next:\"@stringenddoublequote\"}],[\"~?'\",{token:\"string\",next:\"@stringendquote\"}]],stringenddoublequote:[[\"\\\\\\\\.\",\"string\"],['\"',{token:\"string\",next:\"@pop\"}],[/[^\\\\\"]+/,\"string\"],[\".\",\"string\"]],stringendquote:[[\"\\\\\\\\.\",\"string\"],[\"'\",{token:\"string\",next:\"@pop\"}],[/[^\\\\']+/,\"string\"],[\".\",\"string\"]]}};return d(k);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/cypher/cypher.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/cypher/cypher\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(i,e)=>{for(var n in e)s(i,n,{get:e[n],enumerable:!0})},g=(i,e,n,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of a(e))!l.call(i,t)&&t!==n&&s(i,t,{get:()=>e[t],enumerable:!(o=r(e,t))||o.enumerable});return i};var p=i=>g(s({},\"__esModule\",{value:!0}),i);var u={};c(u,{conf:()=>d,language:()=>m});var d={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}]},m={defaultToken:\"\",tokenPostfix:\".cypher\",ignoreCase:!0,brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.bracket\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],keywords:[\"ALL\",\"AND\",\"AS\",\"ASC\",\"ASCENDING\",\"BY\",\"CALL\",\"CASE\",\"CONTAINS\",\"CREATE\",\"DELETE\",\"DESC\",\"DESCENDING\",\"DETACH\",\"DISTINCT\",\"ELSE\",\"END\",\"ENDS\",\"EXISTS\",\"IN\",\"IS\",\"LIMIT\",\"MANDATORY\",\"MATCH\",\"MERGE\",\"NOT\",\"ON\",\"ON\",\"OPTIONAL\",\"OR\",\"ORDER\",\"REMOVE\",\"RETURN\",\"SET\",\"SKIP\",\"STARTS\",\"THEN\",\"UNION\",\"UNWIND\",\"WHEN\",\"WHERE\",\"WITH\",\"XOR\",\"YIELD\"],builtinLiterals:[\"true\",\"TRUE\",\"false\",\"FALSE\",\"null\",\"NULL\"],builtinFunctions:[\"abs\",\"acos\",\"asin\",\"atan\",\"atan2\",\"avg\",\"ceil\",\"coalesce\",\"collect\",\"cos\",\"cot\",\"count\",\"degrees\",\"e\",\"endNode\",\"exists\",\"exp\",\"floor\",\"head\",\"id\",\"keys\",\"labels\",\"last\",\"left\",\"length\",\"log\",\"log10\",\"lTrim\",\"max\",\"min\",\"nodes\",\"percentileCont\",\"percentileDisc\",\"pi\",\"properties\",\"radians\",\"rand\",\"range\",\"relationships\",\"replace\",\"reverse\",\"right\",\"round\",\"rTrim\",\"sign\",\"sin\",\"size\",\"split\",\"sqrt\",\"startNode\",\"stDev\",\"stDevP\",\"substring\",\"sum\",\"tail\",\"tan\",\"timestamp\",\"toBoolean\",\"toFloat\",\"toInteger\",\"toLower\",\"toString\",\"toUpper\",\"trim\",\"type\"],operators:[\"+\",\"-\",\"*\",\"/\",\"%\",\"^\",\"=\",\"<>\",\"<\",\">\",\"<=\",\">=\",\"->\",\"<-\",\"-->\",\"<--\"],escapes:/\\\\(?:[tbnrf\\\\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\\]()]/,\"@brackets\"],{include:\"common\"}],common:[{include:\"@whitespace\"},{include:\"@numbers\"},{include:\"@strings\"},[/:[a-zA-Z_][\\w]*/,\"type.identifier\"],[/[a-zA-Z_][\\w]*(?=\\()/,{cases:{\"@builtinFunctions\":\"predefined.function\"}}],[/[a-zA-Z_$][\\w$]*/,{cases:{\"@keywords\":\"keyword\",\"@builtinLiterals\":\"predefined.literal\",\"@default\":\"identifier\"}}],[/`/,\"identifier.escape\",\"@identifierBacktick\"],[/[;,.:|]/,\"delimiter\"],[/[<>=%+\\-*/^]+/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,\"number.float\"],[/-?(@digits)?\\.(@digits)([eE]-?(@digits))?/,\"number.float\"],[/-?0x(@hexdigits)/,\"number.hex\"],[/-?0(@octaldigits)/,\"number.octal\"],[/-?(@digits)/,\"number\"]],strings:[[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@stringDouble\"],[/'/,\"string\",\"@stringSingle\"]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/\\/\\/.*/,\"comment\"],[/[^/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[/*]/,\"comment\"]],stringDouble:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string\"],[/\\\\./,\"string.invalid\"],[/\"/,\"string\",\"@pop\"]],stringSingle:[[/[^\\\\']+/,\"string\"],[/@escapes/,\"string\"],[/\\\\./,\"string.invalid\"],[/'/,\"string\",\"@pop\"]],identifierBacktick:[[/[^\\\\`]+/,\"identifier.escape\"],[/@escapes/,\"identifier.escape\"],[/\\\\./,\"identifier.escape.invalid\"],[/`/,\"identifier.escape\",\"@pop\"]]}};return p(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/dart/dart.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/dart/dart\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var p=(n,e)=>{for(var t in e)r(n,t,{get:e[t],enumerable:!0})},g=(n,e,t,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of c(e))!a.call(n,o)&&o!==t&&r(n,o,{get:()=>e[o],enumerable:!(s=i(e,o))||s.enumerable});return n};var l=n=>g(r({},\"__esModule\",{value:!0}),n);var x={};p(x,{conf:()=>d,language:()=>m});var d={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"`\",close:\"`\",notIn:[\"string\",\"comment\"]},{open:\"/**\",close:\" */\",notIn:[\"string\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"`\",close:\"`\"}],folding:{markers:{start:/^\\s*\\s*#?region\\b/,end:/^\\s*\\s*#?endregion\\b/}}},m={defaultToken:\"invalid\",tokenPostfix:\".dart\",keywords:[\"abstract\",\"dynamic\",\"implements\",\"show\",\"as\",\"else\",\"import\",\"static\",\"assert\",\"enum\",\"in\",\"super\",\"async\",\"export\",\"interface\",\"switch\",\"await\",\"extends\",\"is\",\"sync\",\"break\",\"external\",\"library\",\"this\",\"case\",\"factory\",\"mixin\",\"throw\",\"catch\",\"false\",\"new\",\"true\",\"class\",\"final\",\"null\",\"try\",\"const\",\"finally\",\"on\",\"typedef\",\"continue\",\"for\",\"operator\",\"var\",\"covariant\",\"Function\",\"part\",\"void\",\"default\",\"get\",\"rethrow\",\"while\",\"deferred\",\"hide\",\"return\",\"with\",\"do\",\"if\",\"set\",\"yield\"],typeKeywords:[\"int\",\"double\",\"String\",\"bool\"],operators:[\"+\",\"-\",\"*\",\"/\",\"~/\",\"%\",\"++\",\"--\",\"==\",\"!=\",\">\",\"<\",\">=\",\"<=\",\"=\",\"-=\",\"/=\",\"%=\",\">>=\",\"^=\",\"+=\",\"*=\",\"~/=\",\"<<=\",\"&=\",\"!=\",\"||\",\"&&\",\"&\",\"|\",\"^\",\"~\",\"<<\",\">>\",\"!\",\">>>\",\"??\",\"?\",\":\",\"|=\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\\d+(_+\\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\\[\\]\\$\\^|\\-*+?\\.]/,regexpesc:/\\\\(?:[bBdDfnrstvwWn0\\\\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,\"delimiter.bracket\"],{include:\"common\"}],common:[[/[a-z_$][\\w$]*/,{cases:{\"@typeKeywords\":\"type.identifier\",\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}],[/[A-Z_$][\\w\\$]*/,\"type.identifier\"],{include:\"@whitespace\"},[/\\/(?=([^\\\\\\/]|\\\\.)+\\/([gimsuy]*)(\\s*)(\\.|;|,|\\)|\\]|\\}|$))/,{token:\"regexp\",bracket:\"@open\",next:\"@regexp\"}],[/@[a-zA-Z]+/,\"annotation\"],[/[()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/!(?=([^=]|$))/,\"delimiter\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/(@digits)[eE]([\\-+]?(@digits))?/,\"number.float\"],[/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?/,\"number.float\"],[/0[xX](@hexdigits)n?/,\"number.hex\"],[/0[oO]?(@octaldigits)n?/,\"number.octal\"],[/0[bB](@binarydigits)n?/,\"number.binary\"],[/(@digits)n?/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string_double\"],[/'/,\"string\",\"@string_single\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@jsdoc\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/\\/.*$/,\"comment.doc\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],jsdoc:[[/[^\\/*]+/,\"comment.doc\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],regexp:[[/(\\{)(\\d+(?:,\\d*)?)(\\})/,[\"regexp.escape.control\",\"regexp.escape.control\",\"regexp.escape.control\"]],[/(\\[)(\\^?)(?=(?:[^\\]\\\\\\/]|\\\\.)+)/,[\"regexp.escape.control\",{token:\"regexp.escape.control\",next:\"@regexrange\"}]],[/(\\()(\\?:|\\?=|\\?!)/,[\"regexp.escape.control\",\"regexp.escape.control\"]],[/[()]/,\"regexp.escape.control\"],[/@regexpctl/,\"regexp.escape.control\"],[/[^\\\\\\/]/,\"regexp\"],[/@regexpesc/,\"regexp.escape\"],[/\\\\\\./,\"regexp.invalid\"],[/(\\/)([gimsuy]*)/,[{token:\"regexp\",bracket:\"@close\",next:\"@pop\"},\"keyword.other\"]]],regexrange:[[/-/,\"regexp.escape.control\"],[/\\^/,\"regexp.invalid\"],[/@regexpesc/,\"regexp.escape\"],[/[^\\]]/,\"regexp\"],[/\\]/,{token:\"regexp.escape.control\",next:\"@pop\",bracket:\"@close\"}]],string_double:[[/[^\\\\\"\\$]+/,\"string\"],[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"],[/\\$\\w+/,\"identifier\"]],string_single:[[/[^\\\\'\\$]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/'/,\"string\",\"@pop\"],[/\\$\\w+/,\"identifier\"]]}};return l(x);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/dockerfile/dockerfile.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/dockerfile/dockerfile\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var p=(o,e)=>{for(var s in e)a(o,s,{get:e[s],enumerable:!0})},g=(o,e,s,t)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of r(e))!i.call(o,n)&&n!==s&&a(o,n,{get:()=>e[n],enumerable:!(t=l(e,n))||t.enumerable});return o};var c=o=>g(a({},\"__esModule\",{value:!0}),o);var k={};p(k,{conf:()=>u,language:()=>d});var u={brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},d={defaultToken:\"\",tokenPostfix:\".dockerfile\",variable:/\\${?[\\w]+}?/,tokenizer:{root:[{include:\"@whitespace\"},{include:\"@comment\"},[/(ONBUILD)(\\s+)/,[\"keyword\",\"\"]],[/(ENV)(\\s+)([\\w]+)/,[\"keyword\",\"\",{token:\"variable\",next:\"@arguments\"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:\"keyword\",next:\"@arguments\"}]],arguments:[{include:\"@whitespace\"},{include:\"@strings\"},[/(@variable)/,{cases:{\"@eos\":{token:\"variable\",next:\"@popall\"},\"@default\":\"variable\"}}],[/\\\\/,{cases:{\"@eos\":\"\",\"@default\":\"\"}}],[/./,{cases:{\"@eos\":{token:\"\",next:\"@popall\"},\"@default\":\"\"}}]],whitespace:[[/\\s+/,{cases:{\"@eos\":{token:\"\",next:\"@popall\"},\"@default\":\"\"}}]],comment:[[/(^#.*$)/,\"comment\",\"@popall\"]],strings:[[/\\\\'$/,\"\",\"@popall\"],[/\\\\'/,\"\"],[/'$/,\"string\",\"@popall\"],[/'/,\"string\",\"@stringBody\"],[/\"$/,\"string\",\"@popall\"],[/\"/,\"string\",\"@dblStringBody\"]],stringBody:[[/[^\\\\\\$']/,{cases:{\"@eos\":{token:\"string\",next:\"@popall\"},\"@default\":\"string\"}}],[/\\\\./,\"string.escape\"],[/'$/,\"string\",\"@popall\"],[/'/,\"string\",\"@pop\"],[/(@variable)/,\"variable\"],[/\\\\$/,\"string\"],[/$/,\"string\",\"@popall\"]],dblStringBody:[[/[^\\\\\\$\"]/,{cases:{\"@eos\":{token:\"string\",next:\"@popall\"},\"@default\":\"string\"}}],[/\\\\./,\"string.escape\"],[/\"$/,\"string\",\"@popall\"],[/\"/,\"string\",\"@pop\"],[/(@variable)/,\"variable\"],[/\\\\$/,\"string\"],[/$/,\"string\",\"@popall\"]]}};return c(k);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/ecl/ecl.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/ecl/ecl\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var t in e)r(o,t,{get:e[t],enumerable:!0})},d=(o,e,t,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of s(e))!l.call(o,n)&&n!==t&&r(o,n,{get:()=>e[n],enumerable:!(a=i(e,n))||a.enumerable});return o};var p=o=>d(r({},\"__esModule\",{value:!0}),o);var g={};c(g,{conf:()=>m,language:()=>u});var m={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"},{open:'\"',close:'\"'}]},u={defaultToken:\"\",tokenPostfix:\".ecl\",ignoreCase:!0,brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],pounds:[\"append\",\"break\",\"declare\",\"demangle\",\"end\",\"for\",\"getdatatype\",\"if\",\"inmodule\",\"loop\",\"mangle\",\"onwarning\",\"option\",\"set\",\"stored\",\"uniquename\"].join(\"|\"),keywords:[\"__compressed__\",\"after\",\"all\",\"and\",\"any\",\"as\",\"atmost\",\"before\",\"beginc\",\"best\",\"between\",\"case\",\"cluster\",\"compressed\",\"compression\",\"const\",\"counter\",\"csv\",\"default\",\"descend\",\"embed\",\"encoding\",\"encrypt\",\"end\",\"endc\",\"endembed\",\"endmacro\",\"enum\",\"escape\",\"except\",\"exclusive\",\"expire\",\"export\",\"extend\",\"fail\",\"few\",\"fileposition\",\"first\",\"flat\",\"forward\",\"from\",\"full\",\"function\",\"functionmacro\",\"group\",\"grouped\",\"heading\",\"hole\",\"ifblock\",\"import\",\"in\",\"inner\",\"interface\",\"internal\",\"joined\",\"keep\",\"keyed\",\"last\",\"left\",\"limit\",\"linkcounted\",\"literal\",\"little_endian\",\"load\",\"local\",\"locale\",\"lookup\",\"lzw\",\"macro\",\"many\",\"maxcount\",\"maxlength\",\"min skew\",\"module\",\"mofn\",\"multiple\",\"named\",\"namespace\",\"nocase\",\"noroot\",\"noscan\",\"nosort\",\"not\",\"noxpath\",\"of\",\"onfail\",\"only\",\"opt\",\"or\",\"outer\",\"overwrite\",\"packed\",\"partition\",\"penalty\",\"physicallength\",\"pipe\",\"prefetch\",\"quote\",\"record\",\"repeat\",\"retry\",\"return\",\"right\",\"right1\",\"right2\",\"rows\",\"rowset\",\"scan\",\"scope\",\"self\",\"separator\",\"service\",\"shared\",\"skew\",\"skip\",\"smart\",\"soapaction\",\"sql\",\"stable\",\"store\",\"terminator\",\"thor\",\"threshold\",\"timelimit\",\"timeout\",\"token\",\"transform\",\"trim\",\"type\",\"unicodeorder\",\"unordered\",\"unsorted\",\"unstable\",\"update\",\"use\",\"validate\",\"virtual\",\"whole\",\"width\",\"wild\",\"within\",\"wnotrim\",\"xml\",\"xpath\"],functions:[\"abs\",\"acos\",\"aggregate\",\"allnodes\",\"apply\",\"ascii\",\"asin\",\"assert\",\"asstring\",\"atan\",\"atan2\",\"ave\",\"build\",\"buildindex\",\"case\",\"catch\",\"choose\",\"choosen\",\"choosesets\",\"clustersize\",\"combine\",\"correlation\",\"cos\",\"cosh\",\"count\",\"covariance\",\"cron\",\"dataset\",\"dedup\",\"define\",\"denormalize\",\"dictionary\",\"distribute\",\"distributed\",\"distribution\",\"ebcdic\",\"enth\",\"error\",\"evaluate\",\"event\",\"eventextra\",\"eventname\",\"exists\",\"exp\",\"fail\",\"failcode\",\"failmessage\",\"fetch\",\"fromunicode\",\"fromxml\",\"getenv\",\"getisvalid\",\"global\",\"graph\",\"group\",\"hash\",\"hash32\",\"hash64\",\"hashcrc\",\"hashmd5\",\"having\",\"httpcall\",\"httpheader\",\"if\",\"iff\",\"index\",\"intformat\",\"isvalid\",\"iterate\",\"join\",\"keydiff\",\"keypatch\",\"keyunicode\",\"length\",\"library\",\"limit\",\"ln\",\"loadxml\",\"local\",\"log\",\"loop\",\"map\",\"matched\",\"matchlength\",\"matchposition\",\"matchtext\",\"matchunicode\",\"max\",\"merge\",\"mergejoin\",\"min\",\"nofold\",\"nolocal\",\"nonempty\",\"normalize\",\"nothor\",\"notify\",\"output\",\"parallel\",\"parse\",\"pipe\",\"power\",\"preload\",\"process\",\"project\",\"pull\",\"random\",\"range\",\"rank\",\"ranked\",\"realformat\",\"recordof\",\"regexfind\",\"regexreplace\",\"regroup\",\"rejected\",\"rollup\",\"round\",\"roundup\",\"row\",\"rowdiff\",\"sample\",\"sequential\",\"set\",\"sin\",\"sinh\",\"sizeof\",\"soapcall\",\"sort\",\"sorted\",\"sqrt\",\"stepped\",\"stored\",\"sum\",\"table\",\"tan\",\"tanh\",\"thisnode\",\"topn\",\"tounicode\",\"toxml\",\"transfer\",\"transform\",\"trim\",\"truncate\",\"typeof\",\"ungroup\",\"unicodeorder\",\"variance\",\"wait\",\"which\",\"workunit\",\"xmldecode\",\"xmlencode\",\"xmltext\",\"xmlunicode\"],typesint:[\"integer\",\"unsigned\"].join(\"|\"),typesnum:[\"data\",\"qstring\",\"string\",\"unicode\",\"utf8\",\"varstring\",\"varunicode\"],typesone:[\"ascii\",\"big_endian\",\"boolean\",\"data\",\"decimal\",\"ebcdic\",\"grouped\",\"integer\",\"linkcounted\",\"pattern\",\"qstring\",\"real\",\"record\",\"rule\",\"set of\",\"streamed\",\"string\",\"token\",\"udecimal\",\"unicode\",\"unsigned\",\"utf8\",\"varstring\",\"varunicode\"].join(\"|\"),operators:[\"+\",\"-\",\"/\",\":=\",\"<\",\"<>\",\"=\",\">\",\"\\\\\",\"and\",\"in\",\"not\",\"or\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/@typesint[4|8]/,\"type\"],[/#(@pounds)/,\"type\"],[/@typesone/,\"type\"],[/[a-zA-Z_$][\\w-$]*/,{cases:{\"@functions\":\"keyword.function\",\"@keywords\":\"keyword\",\"@operators\":\"operator\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/[0-9_]*\\.[0-9_]+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F_]+/,\"number.hex\"],[/0[bB][01]+/,\"number.hex\"],[/[0-9_]+/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\v\\f\\r\\n]+/,\"\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],string:[[/[^\\\\']+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/'/,\"string\",\"@pop\"]]}};return p(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/elixir/elixir.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/elixir/elixir\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var d=(t,e)=>{for(var i in e)o(t,i,{get:e[i],enumerable:!0})},c=(t,e,i,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of s(e))!a.call(t,n)&&n!==i&&o(t,n,{get:()=>e[n],enumerable:!(r=l(e,n))||r.enumerable});return t};var m=t=>c(o({},\"__esModule\",{value:!0}),t);var p={};d(p,{conf:()=>u,language:()=>g});var u={comments:{lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"'\",close:\"'\"},{open:'\"',close:'\"'}],autoClosingPairs:[{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"comment\"]},{open:'\"\"\"',close:'\"\"\"'},{open:\"`\",close:\"`\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\"},{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"<<\",close:\">>\"}],indentationRules:{increaseIndentPattern:/^\\s*(after|else|catch|rescue|fn|[^#]*(do|<\\-|\\->|\\{|\\[|\\=))\\s*$/,decreaseIndentPattern:/^\\s*((\\}|\\])\\s*$|(after|else|catch|rescue|end)\\b)/}},g={defaultToken:\"source\",tokenPostfix:\".elixir\",brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"<<\",close:\">>\",token:\"delimiter.angle.special\"}],declarationKeywords:[\"def\",\"defp\",\"defn\",\"defnp\",\"defguard\",\"defguardp\",\"defmacro\",\"defmacrop\",\"defdelegate\",\"defcallback\",\"defmacrocallback\",\"defmodule\",\"defprotocol\",\"defexception\",\"defimpl\",\"defstruct\"],operatorKeywords:[\"and\",\"in\",\"not\",\"or\",\"when\"],namespaceKeywords:[\"alias\",\"import\",\"require\",\"use\"],otherKeywords:[\"after\",\"case\",\"catch\",\"cond\",\"do\",\"else\",\"end\",\"fn\",\"for\",\"if\",\"quote\",\"raise\",\"receive\",\"rescue\",\"super\",\"throw\",\"try\",\"unless\",\"unquote_splicing\",\"unquote\",\"with\"],constants:[\"true\",\"false\",\"nil\"],nameBuiltin:[\"__MODULE__\",\"__DIR__\",\"__ENV__\",\"__CALLER__\",\"__STACKTRACE__\"],operator:/-[->]?|!={0,2}|\\*{1,2}|\\/|\\\\\\\\|&{1,3}|\\.\\.?|\\^(?:\\^\\^)?|\\+\\+?|<(?:-|<<|=|>|\\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\\|~>|\\|>|\\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\\.\\.\\.|<<>>|%\\{\\}|%|\\{\\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\\.@aliasPart)*/,sigilSymmetricDelimiter:/\"\"\"|'''|\"|'|\\/|\\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\\{|\\[|\\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\\}|\\]|\\)/,sigilModifiers:/[a-zA-Z0-9]*/,decimal:/\\d(?:_?\\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\\\u[0-9a-fA-F]{4}|\\\\x[0-9a-fA-F]{2}|\\\\./,tokenizer:{root:[{include:\"@whitespace\"},{include:\"@comments\"},{include:\"@keywordsShorthand\"},{include:\"@numbers\"},{include:\"@identifiers\"},{include:\"@strings\"},{include:\"@atoms\"},{include:\"@sigils\"},{include:\"@attributes\"},{include:\"@symbols\"}],whitespace:[[/\\s+/,\"white\"]],comments:[[/(#)(.*)/,[\"comment.punctuation\",\"comment\"]]],keywordsShorthand:[[/(@atomName)(:)(\\s+)/,[\"constant\",\"constant.punctuation\",\"white\"]],[/\"(?=([^\"]|#\\{.*?\\}|\\\\\")*\":)/,{token:\"constant.delimiter\",next:\"@doubleQuotedStringKeyword\"}],[/'(?=([^']|#\\{.*?\\}|\\\\')*':)/,{token:\"constant.delimiter\",next:\"@singleQuotedStringKeyword\"}]],doubleQuotedStringKeyword:[[/\":/,{token:\"constant.delimiter\",next:\"@pop\"}],{include:\"@stringConstantContentInterpol\"}],singleQuotedStringKeyword:[[/':/,{token:\"constant.delimiter\",next:\"@pop\"}],{include:\"@stringConstantContentInterpol\"}],numbers:[[/0b@binary/,\"number.binary\"],[/0o@octal/,\"number.octal\"],[/0x@hex/,\"number.hex\"],[/@decimal\\.@decimal([eE]-?@decimal)?/,\"number.float\"],[/@decimal/,\"number\"]],identifiers:[[/\\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\\s+)(@variableName)(?!\\s+@operator)/,[\"keyword.declaration\",\"white\",{cases:{unquote:\"keyword\",\"@default\":\"function\"}}]],[/(@variableName)(?=\\s*\\.?\\s*\\()/,{cases:{\"@declarationKeywords\":\"keyword.declaration\",\"@namespaceKeywords\":\"keyword\",\"@otherKeywords\":\"keyword\",\"@default\":\"function.call\"}}],[/(@moduleName)(\\s*)(\\.)(\\s*)(@variableName)/,[\"type.identifier\",\"white\",\"operator\",\"white\",\"function.call\"]],[/(:)(@atomName)(\\s*)(\\.)(\\s*)(@variableName)/,[\"constant.punctuation\",\"constant\",\"white\",\"operator\",\"white\",\"function.call\"]],[/(\\|>)(\\s*)(@variableName)/,[\"operator\",\"white\",{cases:{\"@otherKeywords\":\"keyword\",\"@default\":\"function.call\"}}]],[/(&)(\\s*)(@variableName)/,[\"operator\",\"white\",\"function.call\"]],[/@variableName/,{cases:{\"@declarationKeywords\":\"keyword.declaration\",\"@operatorKeywords\":\"keyword.operator\",\"@namespaceKeywords\":\"keyword\",\"@otherKeywords\":\"keyword\",\"@constants\":\"constant.language\",\"@nameBuiltin\":\"variable.language\",\"_.*\":\"comment.unused\",\"@default\":\"identifier\"}}],[/@moduleName/,\"type.identifier\"]],strings:[[/\"\"\"/,{token:\"string.delimiter\",next:\"@doubleQuotedHeredoc\"}],[/'''/,{token:\"string.delimiter\",next:\"@singleQuotedHeredoc\"}],[/\"/,{token:\"string.delimiter\",next:\"@doubleQuotedString\"}],[/'/,{token:\"string.delimiter\",next:\"@singleQuotedString\"}]],doubleQuotedHeredoc:[[/\"\"\"/,{token:\"string.delimiter\",next:\"@pop\"}],{include:\"@stringContentInterpol\"}],singleQuotedHeredoc:[[/'''/,{token:\"string.delimiter\",next:\"@pop\"}],{include:\"@stringContentInterpol\"}],doubleQuotedString:[[/\"/,{token:\"string.delimiter\",next:\"@pop\"}],{include:\"@stringContentInterpol\"}],singleQuotedString:[[/'/,{token:\"string.delimiter\",next:\"@pop\"}],{include:\"@stringContentInterpol\"}],atoms:[[/(:)(@atomName)/,[\"constant.punctuation\",\"constant\"]],[/:\"/,{token:\"constant.delimiter\",next:\"@doubleQuotedStringAtom\"}],[/:'/,{token:\"constant.delimiter\",next:\"@singleQuotedStringAtom\"}]],doubleQuotedStringAtom:[[/\"/,{token:\"constant.delimiter\",next:\"@pop\"}],{include:\"@stringConstantContentInterpol\"}],singleQuotedStringAtom:[[/'/,{token:\"constant.delimiter\",next:\"@pop\"}],{include:\"@stringConstantContentInterpol\"}],sigils:[[/~[a-z]@sigilStartDelimiter/,{token:\"@rematch\",next:\"@sigil.interpol\"}],[/~([A-Z]+)@sigilStartDelimiter/,{token:\"@rematch\",next:\"@sigil.noInterpol\"}]],sigil:[[/~([a-z]|[A-Z]+)\\{/,{token:\"@rematch\",switchTo:\"@sigilStart.$S2.$1.{.}\"}],[/~([a-z]|[A-Z]+)\\[/,{token:\"@rematch\",switchTo:\"@sigilStart.$S2.$1.[.]\"}],[/~([a-z]|[A-Z]+)\\(/,{token:\"@rematch\",switchTo:\"@sigilStart.$S2.$1.(.)\"}],[/~([a-z]|[A-Z]+)\\</,{token:\"@rematch\",switchTo:\"@sigilStart.$S2.$1.<.>\"}],[/~([a-z]|[A-Z]+)(@sigilSymmetricDelimiter)/,{token:\"@rematch\",switchTo:\"@sigilStart.$S2.$1.$2.$2\"}]],\"sigilStart.interpol.s\":[[/~s@sigilStartDelimiter/,{token:\"string.delimiter\",switchTo:\"@sigilContinue.$S2.$S3.$S4.$S5\"}]],\"sigilContinue.interpol.s\":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{\"$1==$S5\":{token:\"string.delimiter\",next:\"@pop\"},\"@default\":\"string\"}}],{include:\"@stringContentInterpol\"}],\"sigilStart.noInterpol.S\":[[/~S@sigilStartDelimiter/,{token:\"string.delimiter\",switchTo:\"@sigilContinue.$S2.$S3.$S4.$S5\"}]],\"sigilContinue.noInterpol.S\":[[/(^|[^\\\\])\\\\@sigilEndDelimiter/,\"string\"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{\"$1==$S5\":{token:\"string.delimiter\",next:\"@pop\"},\"@default\":\"string\"}}],{include:\"@stringContent\"}],\"sigilStart.interpol.r\":[[/~r@sigilStartDelimiter/,{token:\"regexp.delimiter\",switchTo:\"@sigilContinue.$S2.$S3.$S4.$S5\"}]],\"sigilContinue.interpol.r\":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{\"$1==$S5\":{token:\"regexp.delimiter\",next:\"@pop\"},\"@default\":\"regexp\"}}],{include:\"@regexpContentInterpol\"}],\"sigilStart.noInterpol.R\":[[/~R@sigilStartDelimiter/,{token:\"regexp.delimiter\",switchTo:\"@sigilContinue.$S2.$S3.$S4.$S5\"}]],\"sigilContinue.noInterpol.R\":[[/(^|[^\\\\])\\\\@sigilEndDelimiter/,\"regexp\"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{\"$1==$S5\":{token:\"regexp.delimiter\",next:\"@pop\"},\"@default\":\"regexp\"}}],{include:\"@regexpContent\"}],\"sigilStart.interpol\":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:\"sigil.delimiter\",switchTo:\"@sigilContinue.$S2.$S3.$S4.$S5\"}]],\"sigilContinue.interpol\":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{\"$1==$S5\":{token:\"sigil.delimiter\",next:\"@pop\"},\"@default\":\"sigil\"}}],{include:\"@sigilContentInterpol\"}],\"sigilStart.noInterpol\":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:\"sigil.delimiter\",switchTo:\"@sigilContinue.$S2.$S3.$S4.$S5\"}]],\"sigilContinue.noInterpol\":[[/(^|[^\\\\])\\\\@sigilEndDelimiter/,\"sigil\"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{\"$1==$S5\":{token:\"sigil.delimiter\",next:\"@pop\"},\"@default\":\"sigil\"}}],{include:\"@sigilContent\"}],attributes:[[/\\@(module|type)?doc (~[sS])?\"\"\"/,{token:\"comment.block.documentation\",next:\"@doubleQuotedHeredocDocstring\"}],[/\\@(module|type)?doc (~[sS])?'''/,{token:\"comment.block.documentation\",next:\"@singleQuotedHeredocDocstring\"}],[/\\@(module|type)?doc (~[sS])?\"/,{token:\"comment.block.documentation\",next:\"@doubleQuotedStringDocstring\"}],[/\\@(module|type)?doc (~[sS])?'/,{token:\"comment.block.documentation\",next:\"@singleQuotedStringDocstring\"}],[/\\@(module|type)?doc false/,\"comment.block.documentation\"],[/\\@(@variableName)/,\"variable\"]],doubleQuotedHeredocDocstring:[[/\"\"\"/,{token:\"comment.block.documentation\",next:\"@pop\"}],{include:\"@docstringContent\"}],singleQuotedHeredocDocstring:[[/'''/,{token:\"comment.block.documentation\",next:\"@pop\"}],{include:\"@docstringContent\"}],doubleQuotedStringDocstring:[[/\"/,{token:\"comment.block.documentation\",next:\"@pop\"}],{include:\"@docstringContent\"}],singleQuotedStringDocstring:[[/'/,{token:\"comment.block.documentation\",next:\"@pop\"}],{include:\"@docstringContent\"}],symbols:[[/\\?(\\\\.|[^\\\\\\s])/,\"number.constant\"],[/&\\d+/,\"operator\"],[/<<<|>>>/,\"operator\"],[/[()\\[\\]\\{\\}]|<<|>>/,\"@brackets\"],[/\\.\\.\\./,\"identifier\"],[/=>/,\"punctuation\"],[/@operator/,\"operator\"],[/[:;,.%]/,\"punctuation\"]],stringContentInterpol:[{include:\"@interpolation\"},{include:\"@escapeChar\"},{include:\"@stringContent\"}],stringContent:[[/./,\"string\"]],stringConstantContentInterpol:[{include:\"@interpolation\"},{include:\"@escapeChar\"},{include:\"@stringConstantContent\"}],stringConstantContent:[[/./,\"constant\"]],regexpContentInterpol:[{include:\"@interpolation\"},{include:\"@escapeChar\"},{include:\"@regexpContent\"}],regexpContent:[[/(\\s)(#)(\\s.*)$/,[\"white\",\"comment.punctuation\",\"comment\"]],[/./,\"regexp\"]],sigilContentInterpol:[{include:\"@interpolation\"},{include:\"@escapeChar\"},{include:\"@sigilContent\"}],sigilContent:[[/./,\"sigil\"]],docstringContent:[[/./,\"comment.block.documentation\"]],escapeChar:[[/@escape/,\"constant.character.escape\"]],interpolation:[[/#{/,{token:\"delimiter.bracket.embed\",next:\"@interpolationContinue\"}]],interpolationContinue:[[/}/,{token:\"delimiter.bracket.embed\",next:\"@pop\"}],{include:\"@root\"}]}};return m(p);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/flow9/flow9.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/flow9/flow9\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var t in e)s(o,t,{get:e[t],enumerable:!0})},m=(o,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of a(e))!l.call(o,n)&&n!==t&&s(o,n,{get:()=>e[n],enumerable:!(i=r(e,n))||i.enumerable});return o};var p=o=>m(s({},\"__esModule\",{value:!0}),o);var u={};c(u,{conf:()=>g,language:()=>f});var g={comments:{blockComment:[\"/*\",\"*/\"],lineComment:\"//\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\",notIn:[\"string\"]},{open:\"[\",close:\"]\",notIn:[\"string\"]},{open:\"(\",close:\")\",notIn:[\"string\"]},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"<\",close:\">\"}]},f={defaultToken:\"\",tokenPostfix:\".flow\",keywords:[\"import\",\"require\",\"export\",\"forbid\",\"native\",\"if\",\"else\",\"cast\",\"unsafe\",\"switch\",\"default\"],types:[\"io\",\"mutable\",\"bool\",\"int\",\"double\",\"string\",\"flow\",\"void\",\"ref\",\"true\",\"false\",\"with\"],operators:[\"=\",\">\",\"<\",\"<=\",\">=\",\"==\",\"!\",\"!=\",\":=\",\"::=\",\"&&\",\"||\",\"+\",\"-\",\"*\",\"/\",\"@\",\"&\",\"%\",\":\",\"->\",\"\\\\\",\"$\",\"??\",\"^\"],symbols:/[@$=><!~?:&|+\\-*\\\\\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\\w*/,{cases:{\"@keywords\":\"keyword\",\"@types\":\"type\",\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"delimiter\"],[/[<>](?!@symbols)/,\"delimiter\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]]}};return p(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/freemarker2/freemarker2.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/freemarker2/freemarker2\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var B=Object.create;var d=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var w=(t=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(t,{get:(n,i)=>(typeof require<\"u\"?require:n)[i]}):t)(function(t){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+t+'\" is not supported')});var h=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),S=(t,n)=>{for(var i in n)d(t,i,{get:n[i],enumerable:!0})},s=(t,n,i,e)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let o of D(n))!v.call(t,o)&&o!==i&&d(t,o,{get:()=>n[o],enumerable:!(e=C(n,o))||e.enumerable});return t},m=(t,n,i)=>(s(t,n,\"default\"),i&&s(i,n,\"default\")),x=(t,n,i)=>(i=t!=null?B(T(t)):{},s(n||!t||!t.__esModule?d(i,\"default\",{value:t,enumerable:!0}):i,t)),I=t=>s(d({},\"__esModule\",{value:!0}),t);var F=h((q,f)=>{var y=x(w(\"vs/editor/editor.api\"));f.exports=y});var M={};S(M,{TagAngleInterpolationBracket:()=>L,TagAngleInterpolationDollar:()=>R,TagAutoInterpolationBracket:()=>j,TagAutoInterpolationDollar:()=>Z,TagBracketInterpolationBracket:()=>O,TagBracketInterpolationDollar:()=>z});var _={};m(_,x(F()));var l=[\"assign\",\"flush\",\"ftl\",\"return\",\"global\",\"import\",\"include\",\"break\",\"continue\",\"local\",\"nested\",\"nt\",\"setting\",\"stop\",\"t\",\"lt\",\"rt\",\"fallback\"],k=[\"attempt\",\"autoesc\",\"autoEsc\",\"compress\",\"comment\",\"escape\",\"noescape\",\"function\",\"if\",\"list\",\"items\",\"sep\",\"macro\",\"noparse\",\"noParse\",\"noautoesc\",\"noAutoEsc\",\"outputformat\",\"switch\",\"visit\",\"recurse\"],r={close:\">\",id:\"angle\",open:\"<\"},u={close:\"\\\\]\",id:\"bracket\",open:\"\\\\[\"},P={close:\"[>\\\\]]\",id:\"auto\",open:\"[<\\\\[]\"},g={close:\"\\\\}\",id:\"dollar\",open1:\"\\\\$\",open2:\"\\\\{\"},A={close:\"\\\\]\",id:\"bracket\",open1:\"\\\\[\",open2:\"=\"};function p(t){return{brackets:[[\"<\",\">\"],[\"[\",\"]\"],[\"(\",\")\"],[\"{\",\"}\"]],comments:{blockComment:[`${t.open}--`,`--${t.close}`]},autoCloseBefore:`\n\\r\t }]),.:;=`,autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\"]}],surroundingPairs:[{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"}],folding:{markers:{start:new RegExp(`${t.open}#(?:${k.join(\"|\")})([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),end:new RegExp(`${t.open}/#(?:${k.join(\"|\")})[\\\\r\\\\n\\\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`${t.open}#(?!(?:${l.join(\"|\")}))([a-zA-Z_]+)([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),afterText:new RegExp(`^${t.open}/#([a-zA-Z_]+)[\\\\r\\\\n\\\\t ]*${t.close}$`),action:{indentAction:_.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`${t.open}#(?!(?:${l.join(\"|\")}))([a-zA-Z_]+)([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),action:{indentAction:_.languages.IndentAction.Indent}}]}}function b(){return{brackets:[[\"<\",\">\"],[\"[\",\"]\"],[\"(\",\")\"],[\"{\",\"}\"]],autoCloseBefore:`\n\\r\t }]),.:;=`,autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\"]}],surroundingPairs:[{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"}],folding:{markers:{start:new RegExp(`[<\\\\[]#(?:${k.join(\"|\")})([^/>\\\\]]*(?!/)[>\\\\]])[^<\\\\[]*$`),end:new RegExp(`[<\\\\[]/#(?:${k.join(\"|\")})[\\\\r\\\\n\\\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`[<\\\\[]#(?!(?:${l.join(\"|\")}))([a-zA-Z_]+)([^/>\\\\]]*(?!/)[>\\\\]])[^[<\\\\[]]*$`),afterText:new RegExp(\"^[<\\\\[]/#([a-zA-Z_]+)[\\\\r\\\\n\\\\t ]*[>\\\\]]$\"),action:{indentAction:_.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`[<\\\\[]#(?!(?:${l.join(\"|\")}))([a-zA-Z_]+)([^/>\\\\]]*(?!/)[>\\\\]])[^[<\\\\[]]*$`),action:{indentAction:_.languages.IndentAction.Indent}}]}}function a(t,n){let i=`_${t.id}_${n.id}`,e=c=>c.replace(/__id__/g,i),o=c=>{let E=c.source.replace(/__id__/g,i);return new RegExp(E,c.flags)};return{unicode:!0,includeLF:!1,start:e(\"default__id__\"),ignoreCase:!1,defaultToken:\"invalid\",tokenPostfix:\".freemarker2\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],[e(\"open__id__\")]:new RegExp(t.open),[e(\"close__id__\")]:new RegExp(t.close),[e(\"iOpen1__id__\")]:new RegExp(n.open1),[e(\"iOpen2__id__\")]:new RegExp(n.open2),[e(\"iClose__id__\")]:new RegExp(n.close),[e(\"startTag__id__\")]:o(/(@open__id__)(#)/),[e(\"endTag__id__\")]:o(/(@open__id__)(\\/#)/),[e(\"startOrEndTag__id__\")]:o(/(@open__id__)(\\/?#)/),[e(\"closeTag1__id__\")]:o(/((?:@blank)*)(@close__id__)/),[e(\"closeTag2__id__\")]:o(/((?:@blank)*\\/?)(@close__id__)/),blank:/[ \\t\\n\\r]/,keywords:[\"false\",\"true\",\"in\",\"as\",\"using\"],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\\\(?:[ntrfbgla\\\\'\"\\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\\$@-Z_a-z\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u1FFF\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183-\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3006\\u3031-\\u3035\\u303B-\\u303C\\u3040-\\u318F\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3300-\\u337F\\u3400-\\u4DB5\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA900-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF-\\uA9D9\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,escapedIdChar:/\\\\[\\-\\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\\*\\*|\\*|false|true|in|as|using/,namedSymbols:/&lt;=|&gt;=|\\\\lte|\\\\lt|&lt;|\\\\gte|\\\\gt|&gt;|&amp;&amp;|\\\\and|-&gt;|->|==|!=|\\+=|-=|\\*=|\\/=|%=|\\+\\+|--|<=|&&|\\|\\||:|\\.\\.\\.|\\.\\.\\*|\\.\\.<|\\.\\.!|\\?\\?|=|<|\\+|-|\\*|\\/|%|\\||\\.\\.|\\?|!|&|\\.|,|;/,arrows:[\"->\",\"-&gt;\"],delimiters:[\";\",\":\",\",\",\".\"],stringOperators:[\"lte\",\"lt\",\"gte\",\"gt\"],noParseTags:[\"noparse\",\"noParse\",\"comment\"],tokenizer:{[e(\"default__id__\")]:[{include:e(\"@directive_token__id__\")},{include:e(\"@interpolation_and_text_token__id__\")}],[e(\"fmExpression__id__.directive\")]:[{include:e(\"@blank_and_expression_comment_token__id__\")},{include:e(\"@directive_end_token__id__\")},{include:e(\"@expression_token__id__\")}],[e(\"fmExpression__id__.interpolation\")]:[{include:e(\"@blank_and_expression_comment_token__id__\")},{include:e(\"@expression_token__id__\")},{include:e(\"@greater_operators_token__id__\")}],[e(\"inParen__id__.plain\")]:[{include:e(\"@blank_and_expression_comment_token__id__\")},{include:e(\"@directive_end_token__id__\")},{include:e(\"@expression_token__id__\")}],[e(\"inParen__id__.gt\")]:[{include:e(\"@blank_and_expression_comment_token__id__\")},{include:e(\"@expression_token__id__\")},{include:e(\"@greater_operators_token__id__\")}],[e(\"noSpaceExpression__id__\")]:[{include:e(\"@no_space_expression_end_token__id__\")},{include:e(\"@directive_end_token__id__\")},{include:e(\"@expression_token__id__\")}],[e(\"unifiedCall__id__\")]:[{include:e(\"@unified_call_token__id__\")}],[e(\"singleString__id__\")]:[{include:e(\"@string_single_token__id__\")}],[e(\"doubleString__id__\")]:[{include:e(\"@string_double_token__id__\")}],[e(\"rawSingleString__id__\")]:[{include:e(\"@string_single_raw_token__id__\")}],[e(\"rawDoubleString__id__\")]:[{include:e(\"@string_double_raw_token__id__\")}],[e(\"expressionComment__id__\")]:[{include:e(\"@expression_comment_token__id__\")}],[e(\"noParse__id__\")]:[{include:e(\"@no_parse_token__id__\")}],[e(\"terseComment__id__\")]:[{include:e(\"@terse_comment_token__id__\")}],[e(\"directive_token__id__\")]:[[o(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),t.id===\"auto\"?{cases:{\"$1==<\":{token:\"@rematch\",switchTo:`@default_angle_${n.id}`},\"$1==[\":{token:\"@rematch\",switchTo:`@default_bracket_${n.id}`}}}:[{token:\"@brackets.directive\"},{token:\"delimiter.directive\"},{cases:{\"@noParseTags\":{token:\"tag\",next:e(\"@noParse__id__.$3\")},\"@default\":{token:\"tag\"}}},{token:\"delimiter.directive\"},{token:\"@brackets.directive\"}]],[o(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),t.id===\"auto\"?{cases:{\"$1==<\":{token:\"@rematch\",switchTo:`@default_angle_${n.id}`},\"$1==[\":{token:\"@rematch\",switchTo:`@default_bracket_${n.id}`}}}:[{token:\"@brackets.directive\"},{token:\"delimiter.directive\"},{token:\"tag\"},{token:\"delimiter.directive\"},{token:\"@brackets.directive\"}]],[o(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),t.id===\"auto\"?{cases:{\"$1==<\":{token:\"@rematch\",switchTo:`@default_angle_${n.id}`},\"$1==[\":{token:\"@rematch\",switchTo:`@default_bracket_${n.id}`}}}:[{token:\"@brackets.directive\"},{token:\"delimiter.directive\"},{token:\"tag\"},{token:\"\",next:e(\"@fmExpression__id__.directive\")}]],[o(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),t.id===\"auto\"?{cases:{\"$1==<\":{token:\"@rematch\",switchTo:`@default_angle_${n.id}`},\"$1==[\":{token:\"@rematch\",switchTo:`@default_bracket_${n.id}`}}}:[{token:\"@brackets.directive\"},{token:\"delimiter.directive\"},{token:\"tag\"},{token:\"delimiter.directive\"},{token:\"@brackets.directive\"}]],[o(/(@open__id__)(@)/),t.id===\"auto\"?{cases:{\"$1==<\":{token:\"@rematch\",switchTo:`@default_angle_${n.id}`},\"$1==[\":{token:\"@rematch\",switchTo:`@default_bracket_${n.id}`}}}:[{token:\"@brackets.directive\"},{token:\"delimiter.directive\",next:e(\"@unifiedCall__id__\")}]],[o(/(@open__id__)(\\/@)((?:(?:@id)(?:\\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:\"@brackets.directive\"},{token:\"delimiter.directive\"},{token:\"tag\"},{token:\"delimiter.directive\"},{token:\"@brackets.directive\"}]],[o(/(@open__id__)#--/),t.id===\"auto\"?{cases:{\"$1==<\":{token:\"@rematch\",switchTo:`@default_angle_${n.id}`},\"$1==[\":{token:\"@rematch\",switchTo:`@default_bracket_${n.id}`}}}:{token:\"comment\",next:e(\"@terseComment__id__\")}],[o(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),t.id===\"auto\"?{cases:{\"$1==<\":{token:\"@rematch\",switchTo:`@default_angle_${n.id}`},\"$1==[\":{token:\"@rematch\",switchTo:`@default_bracket_${n.id}`}}}:[{token:\"@brackets.directive\"},{token:\"delimiter.directive\"},{token:\"tag.invalid\",next:e(\"@fmExpression__id__.directive\")}]]],[e(\"interpolation_and_text_token__id__\")]:[[o(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:n.id===\"bracket\"?\"@brackets.interpolation\":\"delimiter.interpolation\"},{token:n.id===\"bracket\"?\"delimiter.interpolation\":\"@brackets.interpolation\",next:e(\"@fmExpression__id__.interpolation\")}]],[/[\\$#<\\[\\{]|(?:@blank)+|[^\\$<#\\[\\{\\n\\r\\t ]+/,{token:\"source\"}]],[e(\"string_single_token__id__\")]:[[/[^'\\\\]/,{token:\"string\"}],[/@escapedChar/,{token:\"string.escape\"}],[/'/,{token:\"string\",next:\"@pop\"}]],[e(\"string_double_token__id__\")]:[[/[^\"\\\\]/,{token:\"string\"}],[/@escapedChar/,{token:\"string.escape\"}],[/\"/,{token:\"string\",next:\"@pop\"}]],[e(\"string_single_raw_token__id__\")]:[[/[^']+/,{token:\"string.raw\"}],[/'/,{token:\"string.raw\",next:\"@pop\"}]],[e(\"string_double_raw_token__id__\")]:[[/[^\"]+/,{token:\"string.raw\"}],[/\"/,{token:\"string.raw\",next:\"@pop\"}]],[e(\"expression_token__id__\")]:[[/(r?)(['\"])/,{cases:{\"r'\":[{token:\"keyword\"},{token:\"string.raw\",next:e(\"@rawSingleString__id__\")}],'r\"':[{token:\"keyword\"},{token:\"string.raw\",next:e(\"@rawDoubleString__id__\")}],\"'\":[{token:\"source\"},{token:\"string\",next:e(\"@singleString__id__\")}],'\"':[{token:\"source\"},{token:\"string\",next:e(\"@doubleString__id__\")}]}}],[/(?:@integer)(?:\\.(?:@integer))?/,{cases:{\"(?:@integer)\":{token:\"number\"},\"@default\":{token:\"number.float\"}}}],[/(\\.)(@blank*)(@specialHashKeys)/,[{token:\"delimiter\"},{token:\"\"},{token:\"identifier\"}]],[/(?:@namedSymbols)/,{cases:{\"@arrows\":{token:\"meta.arrow\"},\"@delimiters\":{token:\"delimiter\"},\"@default\":{token:\"operators\"}}}],[/@id/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@stringOperators\":{token:\"operators\"},\"@default\":{token:\"identifier\"}}}],[/[\\[\\]\\(\\)\\{\\}]/,{cases:{\"\\\\[\":{cases:{\"$S2==gt\":{token:\"@brackets\",next:e(\"@inParen__id__.gt\")},\"@default\":{token:\"@brackets\",next:e(\"@inParen__id__.plain\")}}},\"\\\\]\":{cases:{...n.id===\"bracket\"?{\"$S2==interpolation\":{token:\"@brackets.interpolation\",next:\"@popall\"}}:{},...t.id===\"bracket\"?{\"$S2==directive\":{token:\"@brackets.directive\",next:\"@popall\"}}:{},[e(\"$S1==inParen__id__\")]:{token:\"@brackets\",next:\"@pop\"},\"@default\":{token:\"@brackets\"}}},\"\\\\(\":{token:\"@brackets\",next:e(\"@inParen__id__.gt\")},\"\\\\)\":{cases:{[e(\"$S1==inParen__id__\")]:{token:\"@brackets\",next:\"@pop\"},\"@default\":{token:\"@brackets\"}}},\"\\\\{\":{cases:{\"$S2==gt\":{token:\"@brackets\",next:e(\"@inParen__id__.gt\")},\"@default\":{token:\"@brackets\",next:e(\"@inParen__id__.plain\")}}},\"\\\\}\":{cases:{...n.id===\"bracket\"?{}:{\"$S2==interpolation\":{token:\"@brackets.interpolation\",next:\"@popall\"}},[e(\"$S1==inParen__id__\")]:{token:\"@brackets\",next:\"@pop\"},\"@default\":{token:\"@brackets\"}}}}}],[/\\$\\{/,{token:\"delimiter.invalid\"}]],[e(\"blank_and_expression_comment_token__id__\")]:[[/(?:@blank)+/,{token:\"\"}],[/[<\\[][#!]--/,{token:\"comment\",next:e(\"@expressionComment__id__\")}]],[e(\"directive_end_token__id__\")]:[[/>/,t.id===\"bracket\"?{token:\"operators\"}:{token:\"@brackets.directive\",next:\"@popall\"}],[o(/(\\/)(@close__id__)/),[{token:\"delimiter.directive\"},{token:\"@brackets.directive\",next:\"@popall\"}]]],[e(\"greater_operators_token__id__\")]:[[/>/,{token:\"operators\"}],[/>=/,{token:\"operators\"}]],[e(\"no_space_expression_end_token__id__\")]:[[/(?:@blank)+/,{token:\"\",switchTo:e(\"@fmExpression__id__.directive\")}]],[e(\"unified_call_token__id__\")]:[[/(@id)((?:@blank)+)/,[{token:\"tag\"},{token:\"\",next:e(\"@fmExpression__id__.directive\")}]],[o(/(@id)(\\/?)(@close__id__)/),[{token:\"tag\"},{token:\"delimiter.directive\"},{token:\"@brackets.directive\",next:\"@popall\"}]],[/./,{token:\"@rematch\",next:e(\"@noSpaceExpression__id__\")}]],[e(\"no_parse_token__id__\")]:[[o(/(@open__id__)(\\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{\"$S2==$3\":[{token:\"@brackets.directive\"},{token:\"delimiter.directive\"},{token:\"tag\"},{token:\"\"},{token:\"@brackets.directive\",next:\"@popall\"}],\"$S2==comment\":[{token:\"comment\"},{token:\"comment\"},{token:\"comment\"},{token:\"comment\"},{token:\"comment\"}],\"@default\":[{token:\"source\"},{token:\"source\"},{token:\"source\"},{token:\"source\"},{token:\"source\"}]}}],[/[^<\\[\\-]+|[<\\[\\-]/,{cases:{\"$S2==comment\":{token:\"comment\"},\"@default\":{token:\"source\"}}}]],[e(\"expression_comment_token__id__\")]:[[/--[>\\]]/,{token:\"comment\",next:\"@pop\"}],[/[^\\->\\]]+|[>\\]\\-]/,{token:\"comment\"}]],[e(\"terse_comment_token__id__\")]:[[o(/--(?:@close__id__)/),{token:\"comment\",next:\"@popall\"}],[/[^<\\[\\-]+|[<\\[\\-]/,{token:\"comment\"}]]}}}function $(t){let n=a(r,t),i=a(u,t),e=a(P,t);return{...n,...i,...e,unicode:!0,includeLF:!1,start:`default_auto_${t.id}`,ignoreCase:!1,defaultToken:\"invalid\",tokenPostfix:\".freemarker2\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],tokenizer:{...n.tokenizer,...i.tokenizer,...e.tokenizer}}}var R={conf:p(r),language:a(r,g)},z={conf:p(u),language:a(u,g)},L={conf:p(r),language:a(r,A)},O={conf:p(u),language:a(u,A)},Z={conf:b(),language:$(g)},j={conf:b(),language:$(A)};return I(M);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/fsharp/fsharp.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/fsharp/fsharp\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(n,e)=>{for(var o in e)s(n,o,{get:e[o],enumerable:!0})},g=(n,e,o,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of a(e))!l.call(n,t)&&t!==o&&s(n,t,{get:()=>e[t],enumerable:!(i=r(e,t))||i.enumerable});return n};var f=n=>g(s({},\"__esModule\",{value:!0}),n);var d={};c(d,{conf:()=>m,language:()=>u});var m={comments:{lineComment:\"//\",blockComment:[\"(*\",\"*)\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*//\\\\s*#region\\\\b|^\\\\s*\\\\(\\\\*\\\\s*#region(.*)\\\\*\\\\)\"),end:new RegExp(\"^\\\\s*//\\\\s*#endregion\\\\b|^\\\\s*\\\\(\\\\*\\\\s*#endregion\\\\s*\\\\*\\\\)\")}}},u={defaultToken:\"\",tokenPostfix:\".fs\",keywords:[\"abstract\",\"and\",\"atomic\",\"as\",\"assert\",\"asr\",\"base\",\"begin\",\"break\",\"checked\",\"component\",\"const\",\"constraint\",\"constructor\",\"continue\",\"class\",\"default\",\"delegate\",\"do\",\"done\",\"downcast\",\"downto\",\"elif\",\"else\",\"end\",\"exception\",\"eager\",\"event\",\"external\",\"extern\",\"false\",\"finally\",\"for\",\"fun\",\"function\",\"fixed\",\"functor\",\"global\",\"if\",\"in\",\"include\",\"inherit\",\"inline\",\"interface\",\"internal\",\"land\",\"lor\",\"lsl\",\"lsr\",\"lxor\",\"lazy\",\"let\",\"match\",\"member\",\"mod\",\"module\",\"mutable\",\"namespace\",\"method\",\"mixin\",\"new\",\"not\",\"null\",\"of\",\"open\",\"or\",\"object\",\"override\",\"private\",\"parallel\",\"process\",\"protected\",\"pure\",\"public\",\"rec\",\"return\",\"static\",\"sealed\",\"struct\",\"sig\",\"then\",\"to\",\"true\",\"tailcall\",\"trait\",\"try\",\"type\",\"upcast\",\"use\",\"val\",\"void\",\"virtual\",\"volatile\",\"when\",\"while\",\"with\",\"yield\"],symbols:/[=><!~?:&|+\\-*\\^%;\\.,\\/]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/[uU]?[yslnLI]?/,floatsuffix:/[fFmM]?/,tokenizer:{root:[[/[a-zA-Z_]\\w*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/\\[<.*>\\]/,\"annotation\"],[/^#(if|else|endif)/,\"keyword\"],[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,\"delimiter\"],[/\\d*\\d+[eE]([\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/0x[0-9a-fA-F]+LF/,\"number.float\"],[/0x[0-9a-fA-F]+(@integersuffix)/,\"number.hex\"],[/0b[0-1]+(@integersuffix)/,\"number.bin\"],[/\\d+(@integersuffix)/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"\"\"/,\"string\",'@string.\"\"\"'],[/\"/,\"string\",'@string.\"'],[/\\@\"/,{token:\"string.quote\",next:\"@litstring\"}],[/'[^\\\\']'B?/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\(\\*(?!\\))/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^*(]+/,\"comment\"],[/\\*\\)/,\"comment\",\"@pop\"],[/\\*/,\"comment\"],[/\\(\\*\\)/,\"comment\"],[/\\(/,\"comment\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/(\"\"\"|\"B?)/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}]],litstring:[[/[^\"]+/,\"string\"],[/\"\"/,\"string.escape\"],[/\"/,{token:\"string.quote\",next:\"@pop\"}]]}};return f(d);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/go/go.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/go/go\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var m=(n,e)=>{for(var t in e)s(n,t,{get:e[t],enumerable:!0})},l=(n,e,t,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of a(e))!c.call(n,o)&&o!==t&&s(n,o,{get:()=>e[o],enumerable:!(r=i(e,o))||r.enumerable});return n};var g=n=>l(s({},\"__esModule\",{value:!0}),n);var d={};m(d,{conf:()=>p,language:()=>u});var p={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"`\",close:\"`\",notIn:[\"string\"]},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"`\",close:\"`\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},u={defaultToken:\"\",tokenPostfix:\".go\",keywords:[\"break\",\"case\",\"chan\",\"const\",\"continue\",\"default\",\"defer\",\"else\",\"fallthrough\",\"for\",\"func\",\"go\",\"goto\",\"if\",\"import\",\"interface\",\"map\",\"package\",\"range\",\"return\",\"select\",\"struct\",\"switch\",\"type\",\"var\",\"bool\",\"true\",\"false\",\"uint8\",\"uint16\",\"uint32\",\"uint64\",\"int8\",\"int16\",\"int32\",\"int64\",\"float32\",\"float64\",\"complex64\",\"complex128\",\"byte\",\"rune\",\"uint\",\"int\",\"uintptr\",\"string\",\"nil\"],operators:[\"+\",\"-\",\"*\",\"/\",\"%\",\"&\",\"|\",\"^\",\"<<\",\">>\",\"&^\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"|=\",\"^=\",\"<<=\",\">>=\",\"&^=\",\"&&\",\"||\",\"<-\",\"++\",\"--\",\"==\",\"<\",\">\",\"=\",\"!\",\"!=\",\"<=\",\">=\",\":=\",\"...\",\"(\",\")\",\"\",\"]\",\"{\",\"}\",\",\",\";\",\".\",\":\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\\w*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/\\[\\[.*\\]\\]/,\"annotation\"],[/^\\s*#\\w+/,\"keyword\"],[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/\\d*\\d+[eE]([\\-+]?\\d+)?/,\"number.float\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,\"number.hex\"],[/0[0-7']*[0-7]/,\"number.octal\"],[/0[bB][0-1']*[0-1]/,\"number.binary\"],[/\\d[\\d']*/,\"number\"],[/\\d/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string\"],[/`/,\"string\",\"@rawstring\"],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@doccomment\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],doccomment:[[/[^\\/*]+/,\"comment.doc\"],[/\\/\\*/,\"comment.doc.invalid\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],rawstring:[[/[^\\`]/,\"string\"],[/`/,\"string\",\"@pop\"]]}};return g(d);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/graphql/graphql.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/graphql/graphql\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(n,e)=>{for(var t in e)s(n,t,{get:e[t],enumerable:!0})},d=(n,e,t,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of i(e))!l.call(n,o)&&o!==t&&s(n,o,{get:()=>e[o],enumerable:!(r=a(e,o))||r.enumerable});return n};var p=n=>d(s({},\"__esModule\",{value:!0}),n);var u={};c(u,{conf:()=>g,language:()=>I});var g={comments:{lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"\"\"',close:'\"\"\"',notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"\"\"',close:'\"\"\"'},{open:'\"',close:'\"'}],folding:{offSide:!0}},I={defaultToken:\"invalid\",tokenPostfix:\".gql\",keywords:[\"null\",\"true\",\"false\",\"query\",\"mutation\",\"subscription\",\"extend\",\"schema\",\"directive\",\"scalar\",\"type\",\"interface\",\"union\",\"enum\",\"input\",\"implements\",\"fragment\",\"on\"],typeKeywords:[\"Int\",\"Float\",\"String\",\"Boolean\",\"ID\"],directiveLocations:[\"SCHEMA\",\"SCALAR\",\"OBJECT\",\"FIELD_DEFINITION\",\"ARGUMENT_DEFINITION\",\"INTERFACE\",\"UNION\",\"ENUM\",\"ENUM_VALUE\",\"INPUT_OBJECT\",\"INPUT_FIELD_DEFINITION\",\"QUERY\",\"MUTATION\",\"SUBSCRIPTION\",\"FIELD\",\"FRAGMENT_DEFINITION\",\"FRAGMENT_SPREAD\",\"INLINE_FRAGMENT\",\"VARIABLE_DEFINITION\"],operators:[\"=\",\"!\",\"?\",\":\",\"&\",\"|\"],symbols:/[=!?:&|]+/,escapes:/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\\w$]*/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"key.identifier\"}}],[/[$][\\w$]*/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"argument.identifier\"}}],[/[A-Z][\\w\\$]*/,{cases:{\"@typeKeywords\":\"keyword\",\"@default\":\"type.identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"operator\",\"@default\":\"\"}}],[/@\\s*[a-zA-Z_\\$][\\w\\$]*/,{token:\"annotation\",log:\"annotation token: $0\"}],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F]+/,\"number.hex\"],[/\\d+/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"\"\"/,{token:\"string\",next:\"@mlstring\",nextEmbedded:\"markdown\"}],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@string\"}]],mlstring:[[/[^\"]+/,\"string\"],['\"\"\"',{token:\"string\",next:\"@pop\",nextEmbedded:\"@pop\"}]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/#.*$/,\"comment\"]]}};return p(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/handlebars/handlebars.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/handlebars/handlebars\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var h=Object.create;var i=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var y=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),S=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},m=(e,t,n,o)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let r of u(t))!k.call(e,r)&&r!==n&&i(e,r,{get:()=>t[r],enumerable:!(o=b(t,r))||o.enumerable});return e},l=(e,t,n)=>(m(e,t,\"default\"),n&&m(n,t,\"default\")),s=(e,t,n)=>(n=e!=null?h(x(e)):{},m(t||!e||!e.__esModule?i(n,\"default\",{value:e,enumerable:!0}):n,e)),E=e=>m(i({},\"__esModule\",{value:!0}),e);var c=T((I,d)=>{var w=s(y(\"vs/editor/editor.api\"));d.exports=w});var f={};S(f,{conf:()=>g,language:()=>$});var a={};l(a,s(c()));var p=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],g={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)/g,comments:{blockComment:[\"{{!--\",\"--}}\"]},brackets:[[\"<!--\",\"-->\"],[\"<\",\">\"],[\"{{\",\"}}\"],[\"{\",\"}\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"<\",close:\">\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${p.join(\"|\")}))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$`,\"i\"),afterText:/^<\\/(\\w[\\w\\d]*)\\s*>$/i,action:{indentAction:a.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${p.join(\"|\")}))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$`,\"i\"),action:{indentAction:a.languages.IndentAction.Indent}}]},$={defaultToken:\"\",tokenPostfix:\"\",tokenizer:{root:[[/\\{\\{!--/,\"comment.block.start.handlebars\",\"@commentBlock\"],[/\\{\\{!/,\"comment.start.handlebars\",\"@comment\"],[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.root\"}],[/<!DOCTYPE/,\"metatag.html\",\"@doctype\"],[/<!--/,\"comment.html\",\"@commentHtml\"],[/(<)(\\w+)(\\/>)/,[\"delimiter.html\",\"tag.html\",\"delimiter.html\"]],[/(<)(script)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@script\"}]],[/(<)(style)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@style\"}]],[/(<)([:\\w]+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/(<\\/)(\\w+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/</,\"delimiter.html\"],[/\\{/,\"delimiter.html\"],[/[^<{]+/]],doctype:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.comment\"}],[/[^>]+/,\"metatag.content.html\"],[/>/,\"metatag.html\",\"@pop\"]],comment:[[/\\}\\}/,\"comment.end.handlebars\",\"@pop\"],[/./,\"comment.content.handlebars\"]],commentBlock:[[/--\\}\\}/,\"comment.block.end.handlebars\",\"@pop\"],[/./,\"comment.content.handlebars\"]],commentHtml:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.comment\"}],[/-->/,\"comment.html\",\"@pop\"],[/[^-]+/,\"comment.content.html\"],[/./,\"comment.content.html\"]],otherTag:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.otherTag\"}],[/\\/?>/,\"delimiter.html\",\"@pop\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/]],script:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.script\"}],[/type/,\"attribute.name\",\"@scriptAfterType\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(script\\s*)(>)/,[\"delimiter.html\",\"tag.html\",{token:\"delimiter.html\",next:\"@pop\"}]]],scriptAfterType:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.scriptAfterType\"}],[/=/,\"delimiter\",\"@scriptAfterTypeEquals\"],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptAfterTypeEquals:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.scriptAfterTypeEquals\"}],[/\"([^\"]*)\"/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.$1\"}],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptWithCustomType:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.scriptWithCustomType.$S2\"}],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptEmbedded:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInEmbeddedState.scriptEmbedded.$S2\",nextEmbedded:\"@pop\"}],[/<\\/script/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}]],style:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.style\"}],[/type/,\"attribute.name\",\"@styleAfterType\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(style\\s*)(>)/,[\"delimiter.html\",\"tag.html\",{token:\"delimiter.html\",next:\"@pop\"}]]],styleAfterType:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.styleAfterType\"}],[/=/,\"delimiter\",\"@styleAfterTypeEquals\"],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleAfterTypeEquals:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.styleAfterTypeEquals\"}],[/\"([^\"]*)\"/,{token:\"attribute.value\",switchTo:\"@styleWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value\",switchTo:\"@styleWithCustomType.$1\"}],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleWithCustomType:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInSimpleState.styleWithCustomType.$S2\"}],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleEmbedded:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@handlebarsInEmbeddedState.styleEmbedded.$S2\",nextEmbedded:\"@pop\"}],[/<\\/style/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}]],handlebarsInSimpleState:[[/\\{\\{\\{?/,\"delimiter.handlebars\"],[/\\}\\}\\}?/,{token:\"delimiter.handlebars\",switchTo:\"@$S2.$S3\"}],{include:\"handlebarsRoot\"}],handlebarsInEmbeddedState:[[/\\{\\{\\{?/,\"delimiter.handlebars\"],[/\\}\\}\\}?/,{token:\"delimiter.handlebars\",switchTo:\"@$S2.$S3\",nextEmbedded:\"$S3\"}],{include:\"handlebarsRoot\"}],handlebarsRoot:[[/\"[^\"]*\"/,\"string.handlebars\"],[/[#/][^\\s}]+/,\"keyword.helper.handlebars\"],[/else\\b/,\"keyword.helper.handlebars\"],[/[\\s]+/],[/[^}]/,\"variable.parameter.handlebars\"]]}};return E(f);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/hcl/hcl.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/hcl/hcl\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var o in e)r(t,o,{get:e[o],enumerable:!0})},d=(t,e,o,n)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of i(e))!c.call(t,s)&&s!==o&&r(t,s,{get:()=>e[s],enumerable:!(n=a(e,s))||n.enumerable});return t};var m=t=>d(r({},\"__esModule\",{value:!0}),t);var f={};l(f,{conf:()=>p,language:()=>g});var p={comments:{lineComment:\"#\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}]},g={defaultToken:\"\",tokenPostfix:\".hcl\",keywords:[\"var\",\"local\",\"path\",\"for_each\",\"any\",\"string\",\"number\",\"bool\",\"true\",\"false\",\"null\",\"if \",\"else \",\"endif \",\"for \",\"in\",\"endfor\"],operators:[\"=\",\">=\",\"<=\",\"==\",\"!=\",\"+\",\"-\",\"*\",\"/\",\"%\",\"&&\",\"||\",\"!\",\"<\",\">\",\"?\",\"...\",\":\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,terraformFunctions:/(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,terraformMainBlocks:/(module|data|terraform|resource|provider|variable|output|locals)/,tokenizer:{root:[[/^@terraformMainBlocks([ \\t]*)([\\w-]+|\"[\\w-]+\"|)([ \\t]*)([\\w-]+|\"[\\w-]+\"|)([ \\t]*)(\\{)/,[\"type\",\"\",\"string\",\"\",\"string\",\"\",\"@brackets\"]],[/(\\w+[ \\t]+)([ \\t]*)([\\w-]+|\"[\\w-]+\"|)([ \\t]*)([\\w-]+|\"[\\w-]+\"|)([ \\t]*)(\\{)/,[\"identifier\",\"\",\"string\",\"\",\"string\",\"\",\"@brackets\"]],[/(\\w+[ \\t]+)([ \\t]*)([\\w-]+|\"[\\w-]+\"|)([ \\t]*)([\\w-]+|\"[\\w-]+\"|)(=)(\\{)/,[\"identifier\",\"\",\"string\",\"\",\"operator\",\"\",\"@brackets\"]],{include:\"@terraform\"}],terraform:[[/@terraformFunctions(\\()/,[\"type\",\"@brackets\"]],[/[a-zA-Z_]\\w*-*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"variable\"}}],{include:\"@whitespace\"},{include:\"@heredoc\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"operator\",\"@default\":\"\"}}],[/\\d*\\d+[eE]([\\-+]?\\d+)?/,\"number.float\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/\\d[\\d']*/,\"number\"],[/\\d/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"/,\"string\",\"@string\"],[/'/,\"invalid\"]],heredoc:[[/<<[-]*\\s*[\"]?([\\w\\-]+)[\"]?/,{token:\"string.heredoc.delimiter\",next:\"@heredocBody.$1\"}]],heredocBody:[[/([\\w\\-]+)$/,{cases:{\"$1==$S2\":[{token:\"string.heredoc.delimiter\",next:\"@popall\"}],\"@default\":\"string.heredoc\"}}],[/./,\"string.heredoc\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"],[/#.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],string:[[/\\$\\{/,{token:\"delimiter\",next:\"@stringExpression\"}],[/[^\\\\\"\\$]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@popall\"]],stringInsideExpression:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],stringExpression:[[/\\}/,{token:\"delimiter\",next:\"@pop\"}],[/\"/,\"string\",\"@stringInsideExpression\"],{include:\"@terraform\"}]}};return m(f);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/html/html.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/html/html\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var u=Object.create;var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var k=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var E=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),T=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},o=(e,t,n,s)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let r of x(t))!g.call(e,r)&&r!==n&&a(e,r,{get:()=>t[r],enumerable:!(s=b(t,r))||s.enumerable});return e},d=(e,t,n)=>(o(e,t,\"default\"),n&&o(n,t,\"default\")),m=(e,t,n)=>(n=e!=null?u(y(e)):{},o(t||!e||!e.__esModule?a(n,\"default\",{value:e,enumerable:!0}):n,e)),w=e=>o(a({},\"__esModule\",{value:!0}),e);var l=E((A,p)=>{var h=m(k(\"vs/editor/editor.api\"));p.exports=h});var $={};T($,{conf:()=>v,language:()=>f});var i={};d(i,m(l()));var c=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],v={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)/g,comments:{blockComment:[\"<!--\",\"-->\"]},brackets:[[\"<!--\",\"-->\"],[\"<\",\">\"],[\"{\",\"}\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${c.join(\"|\")}))([_:\\\\w][_:\\\\w-.\\\\d]*)([^/>]*(?!/)>)[^<]*$`,\"i\"),afterText:/^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$/i,action:{indentAction:i.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${c.join(\"|\")}))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$`,\"i\"),action:{indentAction:i.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp(\"^\\\\s*<!--\\\\s*#region\\\\b.*-->\"),end:new RegExp(\"^\\\\s*<!--\\\\s*#endregion\\\\b.*-->\")}}},f={defaultToken:\"\",tokenPostfix:\".html\",ignoreCase:!0,tokenizer:{root:[[/<!DOCTYPE/,\"metatag\",\"@doctype\"],[/<!--/,\"comment\",\"@comment\"],[/(<)((?:[\\w\\-]+:)?[\\w\\-]+)(\\s*)(\\/>)/,[\"delimiter\",\"tag\",\"\",\"delimiter\"]],[/(<)(script)/,[\"delimiter\",{token:\"tag\",next:\"@script\"}]],[/(<)(style)/,[\"delimiter\",{token:\"tag\",next:\"@style\"}]],[/(<)((?:[\\w\\-]+:)?[\\w\\-]+)/,[\"delimiter\",{token:\"tag\",next:\"@otherTag\"}]],[/(<\\/)((?:[\\w\\-]+:)?[\\w\\-]+)/,[\"delimiter\",{token:\"tag\",next:\"@otherTag\"}]],[/</,\"delimiter\"],[/[^<]+/]],doctype:[[/[^>]+/,\"metatag.content\"],[/>/,\"metatag\",\"@pop\"]],comment:[[/-->/,\"comment\",\"@pop\"],[/[^-]+/,\"comment.content\"],[/./,\"comment.content\"]],otherTag:[[/\\/?>/,\"delimiter\",\"@pop\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/]],script:[[/type/,\"attribute.name\",\"@scriptAfterType\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/>/,{token:\"delimiter\",next:\"@scriptEmbedded\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(script\\s*)(>)/,[\"delimiter\",\"tag\",{token:\"delimiter\",next:\"@pop\"}]]],scriptAfterType:[[/=/,\"delimiter\",\"@scriptAfterTypeEquals\"],[/>/,{token:\"delimiter\",next:\"@scriptEmbedded\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptAfterTypeEquals:[[/\"module\"/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.text/javascript\"}],[/'module'/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.text/javascript\"}],[/\"([^\"]*)\"/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.$1\"}],[/>/,{token:\"delimiter\",next:\"@scriptEmbedded\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptWithCustomType:[[/>/,{token:\"delimiter\",next:\"@scriptEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptEmbedded:[[/<\\/script/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/[^<]+/,\"\"]],style:[[/type/,\"attribute.name\",\"@styleAfterType\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/>/,{token:\"delimiter\",next:\"@styleEmbedded\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(style\\s*)(>)/,[\"delimiter\",\"tag\",{token:\"delimiter\",next:\"@pop\"}]]],styleAfterType:[[/=/,\"delimiter\",\"@styleAfterTypeEquals\"],[/>/,{token:\"delimiter\",next:\"@styleEmbedded\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleAfterTypeEquals:[[/\"([^\"]*)\"/,{token:\"attribute.value\",switchTo:\"@styleWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value\",switchTo:\"@styleWithCustomType.$1\"}],[/>/,{token:\"delimiter\",next:\"@styleEmbedded\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleWithCustomType:[[/>/,{token:\"delimiter\",next:\"@styleEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleEmbedded:[[/<\\/style/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/[^<]+/,\"\"]]}};return w($);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/ini/ini.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/ini/ini\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var t=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var c=(n,e)=>{for(var s in e)t(n,s,{get:e[s],enumerable:!0})},l=(n,e,s,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of r(e))!g.call(n,o)&&o!==s&&t(n,o,{get:()=>e[o],enumerable:!(a=i(e,o))||a.enumerable});return n};var p=n=>l(t({},\"__esModule\",{value:!0}),n);var f={};c(f,{conf:()=>u,language:()=>m});var u={comments:{lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},m={defaultToken:\"\",tokenPostfix:\".ini\",escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\\[[^\\]]*\\]/,\"metatag\"],[/(^\\w+)(\\s*)(\\=)/,[\"key\",\"\",\"delimiter\"]],{include:\"@whitespace\"},[/\\d+/,\"number\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",'@string.\"'],[/'/,\"string\",\"@string.'\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/^\\s*[#;].*$/,\"comment\"]],string:[[/[^\\\\\"']+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/[\"']/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}]]}};return p(f);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/java/java.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/java/java\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},d=(t,e,o,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of r(e))!c.call(t,n)&&n!==o&&s(t,n,{get:()=>e[n],enumerable:!(i=a(e,n))||i.enumerable});return t};var g=t=>d(s({},\"__esModule\",{value:!0}),t);var f={};l(f,{conf:()=>m,language:()=>p});var m={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"<\",close:\">\"}],folding:{markers:{start:new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?region\\\\b)|(?:<editor-fold\\\\b))\"),end:new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?endregion\\\\b)|(?:</editor-fold>))\")}}},p={defaultToken:\"\",tokenPostfix:\".java\",keywords:[\"abstract\",\"continue\",\"for\",\"new\",\"switch\",\"assert\",\"default\",\"goto\",\"package\",\"synchronized\",\"boolean\",\"do\",\"if\",\"private\",\"this\",\"break\",\"double\",\"implements\",\"protected\",\"throw\",\"byte\",\"else\",\"import\",\"public\",\"throws\",\"case\",\"enum\",\"instanceof\",\"return\",\"transient\",\"catch\",\"extends\",\"int\",\"short\",\"try\",\"char\",\"final\",\"interface\",\"static\",\"void\",\"class\",\"finally\",\"long\",\"strictfp\",\"volatile\",\"const\",\"float\",\"native\",\"super\",\"while\",\"true\",\"false\",\"yield\",\"record\",\"sealed\",\"non-sealed\",\"permits\"],operators:[\"=\",\">\",\"<\",\"!\",\"~\",\"?\",\":\",\"==\",\"<=\",\">=\",\"!=\",\"&&\",\"||\",\"++\",\"--\",\"+\",\"-\",\"*\",\"/\",\"&\",\"|\",\"^\",\"%\",\"<<\",\">>\",\">>>\",\"+=\",\"-=\",\"*=\",\"/=\",\"&=\",\"|=\",\"^=\",\"%=\",\"<<=\",\">>=\",\">>>=\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\\d+(_+\\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[\"non-sealed\",\"keyword.non-sealed\"],[/[a-zA-Z_$][\\w$]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/@\\s*[a-zA-Z_\\$][\\w\\$]*/,\"annotation\"],[/(@digits)[eE]([\\-+]?(@digits))?[fFdD]?/,\"number.float\"],[/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?[fFdD]?/,\"number.float\"],[/0[xX](@hexdigits)[Ll]?/,\"number.hex\"],[/0(@octaldigits)[Ll]?/,\"number.octal\"],[/0[bB](@binarydigits)[Ll]?/,\"number.binary\"],[/(@digits)[fFdD]/,\"number.float\"],[/(@digits)[lL]?/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"\"\"/,\"string\",\"@multistring\"],[/\"/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@javadoc\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],javadoc:[[/[^\\/*]+/,\"comment.doc\"],[/\\/\\*/,\"comment.doc.invalid\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],multistring:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"\"\"/,\"string\",\"@pop\"],[/./,\"string\"]]}};return g(f);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/javascript/javascript.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/javascript/javascript\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var x=Object.create;var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var y=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),h=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},s=(e,t,n,c)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let r of f(t))!k.call(e,r)&&r!==n&&a(e,r,{get:()=>t[r],enumerable:!(c=u(t,r))||c.enumerable});return e},g=(e,t,n)=>(s(e,t,\"default\"),n&&s(n,t,\"default\")),p=(e,t,n)=>(n=e!=null?x(b(e)):{},s(t||!e||!e.__esModule?a(n,\"default\",{value:e,enumerable:!0}):n,e)),v=e=>s(a({},\"__esModule\",{value:!0}),e);var d=w((C,l)=>{var A=p(y(\"vs/editor/editor.api\"));l.exports=A});var _={};h(_,{conf:()=>$,language:()=>T});var i={};g(i,p(d()));var m={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],onEnterRules:[{beforeText:/^\\s*\\/\\*\\*(?!\\/)([^\\*]|\\*(?!\\/))*$/,afterText:/^\\s*\\*\\/$/,action:{indentAction:i.languages.IndentAction.IndentOutdent,appendText:\" * \"}},{beforeText:/^\\s*\\/\\*\\*(?!\\/)([^\\*]|\\*(?!\\/))*$/,action:{indentAction:i.languages.IndentAction.None,appendText:\" * \"}},{beforeText:/^(\\t|(\\ \\ ))*\\ \\*(\\ ([^\\*]|\\*(?!\\/))*)?$/,action:{indentAction:i.languages.IndentAction.None,appendText:\"* \"}},{beforeText:/^(\\t|(\\ \\ ))*\\ \\*\\/\\s*$/,action:{indentAction:i.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:\"`\",close:\"`\",notIn:[\"string\",\"comment\"]},{open:\"/**\",close:\" */\",notIn:[\"string\"]}],folding:{markers:{start:new RegExp(\"^\\\\s*//\\\\s*#?region\\\\b\"),end:new RegExp(\"^\\\\s*//\\\\s*#?endregion\\\\b\")}}},o={defaultToken:\"invalid\",tokenPostfix:\".ts\",keywords:[\"abstract\",\"any\",\"as\",\"asserts\",\"bigint\",\"boolean\",\"break\",\"case\",\"catch\",\"class\",\"continue\",\"const\",\"constructor\",\"debugger\",\"declare\",\"default\",\"delete\",\"do\",\"else\",\"enum\",\"export\",\"extends\",\"false\",\"finally\",\"for\",\"from\",\"function\",\"get\",\"if\",\"implements\",\"import\",\"in\",\"infer\",\"instanceof\",\"interface\",\"is\",\"keyof\",\"let\",\"module\",\"namespace\",\"never\",\"new\",\"null\",\"number\",\"object\",\"out\",\"package\",\"private\",\"protected\",\"public\",\"override\",\"readonly\",\"require\",\"global\",\"return\",\"satisfies\",\"set\",\"static\",\"string\",\"super\",\"switch\",\"symbol\",\"this\",\"throw\",\"true\",\"try\",\"type\",\"typeof\",\"undefined\",\"unique\",\"unknown\",\"var\",\"void\",\"while\",\"with\",\"yield\",\"async\",\"await\",\"of\"],operators:[\"<=\",\">=\",\"==\",\"!=\",\"===\",\"!==\",\"=>\",\"+\",\"-\",\"**\",\"*\",\"/\",\"%\",\"++\",\"--\",\"<<\",\"</\",\">>\",\">>>\",\"&\",\"|\",\"^\",\"!\",\"~\",\"&&\",\"||\",\"??\",\"?\",\":\",\"=\",\"+=\",\"-=\",\"*=\",\"**=\",\"/=\",\"%=\",\"<<=\",\">>=\",\">>>=\",\"&=\",\"|=\",\"^=\",\"@\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\\d+(_+\\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\\[\\]\\$\\^|\\-*+?\\.]/,regexpesc:/\\\\(?:[bBdDfnrstvwWn0\\\\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,\"delimiter.bracket\"],{include:\"common\"}],common:[[/#?[a-z_$][\\w$]*/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}],[/[A-Z][\\w\\$]*/,\"type.identifier\"],{include:\"@whitespace\"},[/\\/(?=([^\\\\\\/]|\\\\.)+\\/([dgimsuy]*)(\\s*)(\\.|;|,|\\)|\\]|\\}|$))/,{token:\"regexp\",bracket:\"@open\",next:\"@regexp\"}],[/[()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/!(?=([^=]|$))/,\"delimiter\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/(@digits)[eE]([\\-+]?(@digits))?/,\"number.float\"],[/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?/,\"number.float\"],[/0[xX](@hexdigits)n?/,\"number.hex\"],[/0[oO]?(@octaldigits)n?/,\"number.octal\"],[/0[bB](@binarydigits)n?/,\"number.binary\"],[/(@digits)n?/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string_double\"],[/'/,\"string\",\"@string_single\"],[/`/,\"string\",\"@string_backtick\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@jsdoc\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],jsdoc:[[/[^\\/*]+/,\"comment.doc\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],regexp:[[/(\\{)(\\d+(?:,\\d*)?)(\\})/,[\"regexp.escape.control\",\"regexp.escape.control\",\"regexp.escape.control\"]],[/(\\[)(\\^?)(?=(?:[^\\]\\\\\\/]|\\\\.)+)/,[\"regexp.escape.control\",{token:\"regexp.escape.control\",next:\"@regexrange\"}]],[/(\\()(\\?:|\\?=|\\?!)/,[\"regexp.escape.control\",\"regexp.escape.control\"]],[/[()]/,\"regexp.escape.control\"],[/@regexpctl/,\"regexp.escape.control\"],[/[^\\\\\\/]/,\"regexp\"],[/@regexpesc/,\"regexp.escape\"],[/\\\\\\./,\"regexp.invalid\"],[/(\\/)([dgimsuy]*)/,[{token:\"regexp\",bracket:\"@close\",next:\"@pop\"},\"keyword.other\"]]],regexrange:[[/-/,\"regexp.escape.control\"],[/\\^/,\"regexp.invalid\"],[/@regexpesc/,\"regexp.escape\"],[/[^\\]]/,\"regexp\"],[/\\]/,{token:\"regexp.escape.control\",next:\"@pop\",bracket:\"@close\"}]],string_double:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],string_single:[[/[^\\\\']+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/'/,\"string\",\"@pop\"]],string_backtick:[[/\\$\\{/,{token:\"delimiter.bracket\",next:\"@bracketCounting\"}],[/[^\\\\`$]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/`/,\"string\",\"@pop\"]],bracketCounting:[[/\\{/,\"delimiter.bracket\",\"@bracketCounting\"],[/\\}/,\"delimiter.bracket\",\"@pop\"],{include:\"common\"}]}};var $=m,T={defaultToken:\"invalid\",tokenPostfix:\".js\",keywords:[\"break\",\"case\",\"catch\",\"class\",\"continue\",\"const\",\"constructor\",\"debugger\",\"default\",\"delete\",\"do\",\"else\",\"export\",\"extends\",\"false\",\"finally\",\"for\",\"from\",\"function\",\"get\",\"if\",\"import\",\"in\",\"instanceof\",\"let\",\"new\",\"null\",\"return\",\"set\",\"static\",\"super\",\"switch\",\"symbol\",\"this\",\"throw\",\"true\",\"try\",\"typeof\",\"undefined\",\"var\",\"void\",\"while\",\"with\",\"yield\",\"async\",\"await\",\"of\"],typeKeywords:[],operators:o.operators,symbols:o.symbols,escapes:o.escapes,digits:o.digits,octaldigits:o.octaldigits,binarydigits:o.binarydigits,hexdigits:o.hexdigits,regexpctl:o.regexpctl,regexpesc:o.regexpesc,tokenizer:o.tokenizer};return v(_);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/julia/julia.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/julia/julia\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(t,e)=>{for(var n in e)o(t,n,{get:e[n],enumerable:!0})},l=(t,e,n,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of s(e))!p.call(t,r)&&r!==n&&o(t,r,{get:()=>e[r],enumerable:!(a=i(e,r))||a.enumerable});return t};var d=t=>l(o({},\"__esModule\",{value:!0}),t);var u={};c(u,{conf:()=>g,language:()=>m});var g={brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},m={tokenPostfix:\".julia\",keywords:[\"begin\",\"while\",\"if\",\"for\",\"try\",\"return\",\"break\",\"continue\",\"function\",\"macro\",\"quote\",\"let\",\"local\",\"global\",\"const\",\"do\",\"struct\",\"module\",\"baremodule\",\"using\",\"import\",\"export\",\"end\",\"else\",\"elseif\",\"catch\",\"finally\",\"mutable\",\"primitive\",\"abstract\",\"type\",\"in\",\"isa\",\"where\",\"new\"],types:[\"LinRange\",\"LineNumberNode\",\"LinearIndices\",\"LoadError\",\"MIME\",\"Matrix\",\"Method\",\"MethodError\",\"Missing\",\"MissingException\",\"Module\",\"NTuple\",\"NamedTuple\",\"Nothing\",\"Number\",\"OrdinalRange\",\"OutOfMemoryError\",\"OverflowError\",\"Pair\",\"PartialQuickSort\",\"PermutedDimsArray\",\"Pipe\",\"Ptr\",\"QuoteNode\",\"Rational\",\"RawFD\",\"ReadOnlyMemoryError\",\"Real\",\"ReentrantLock\",\"Ref\",\"Regex\",\"RegexMatch\",\"RoundingMode\",\"SegmentationFault\",\"Set\",\"Signed\",\"Some\",\"StackOverflowError\",\"StepRange\",\"StepRangeLen\",\"StridedArray\",\"StridedMatrix\",\"StridedVecOrMat\",\"StridedVector\",\"String\",\"StringIndexError\",\"SubArray\",\"SubString\",\"SubstitutionString\",\"Symbol\",\"SystemError\",\"Task\",\"Text\",\"TextDisplay\",\"Timer\",\"Tuple\",\"Type\",\"TypeError\",\"TypeVar\",\"UInt\",\"UInt128\",\"UInt16\",\"UInt32\",\"UInt64\",\"UInt8\",\"UndefInitializer\",\"AbstractArray\",\"UndefKeywordError\",\"AbstractChannel\",\"UndefRefError\",\"AbstractChar\",\"UndefVarError\",\"AbstractDict\",\"Union\",\"AbstractDisplay\",\"UnionAll\",\"AbstractFloat\",\"UnitRange\",\"AbstractIrrational\",\"Unsigned\",\"AbstractMatrix\",\"AbstractRange\",\"Val\",\"AbstractSet\",\"Vararg\",\"AbstractString\",\"VecElement\",\"AbstractUnitRange\",\"VecOrMat\",\"AbstractVecOrMat\",\"Vector\",\"AbstractVector\",\"VersionNumber\",\"Any\",\"WeakKeyDict\",\"ArgumentError\",\"WeakRef\",\"Array\",\"AssertionError\",\"BigFloat\",\"BigInt\",\"BitArray\",\"BitMatrix\",\"BitSet\",\"BitVector\",\"Bool\",\"BoundsError\",\"CapturedException\",\"CartesianIndex\",\"CartesianIndices\",\"Cchar\",\"Cdouble\",\"Cfloat\",\"Channel\",\"Char\",\"Cint\",\"Cintmax_t\",\"Clong\",\"Clonglong\",\"Cmd\",\"Colon\",\"Complex\",\"ComplexF16\",\"ComplexF32\",\"ComplexF64\",\"CompositeException\",\"Condition\",\"Cptrdiff_t\",\"Cshort\",\"Csize_t\",\"Cssize_t\",\"Cstring\",\"Cuchar\",\"Cuint\",\"Cuintmax_t\",\"Culong\",\"Culonglong\",\"Cushort\",\"Cvoid\",\"Cwchar_t\",\"Cwstring\",\"DataType\",\"DenseArray\",\"DenseMatrix\",\"DenseVecOrMat\",\"DenseVector\",\"Dict\",\"DimensionMismatch\",\"Dims\",\"DivideError\",\"DomainError\",\"EOFError\",\"Enum\",\"ErrorException\",\"Exception\",\"ExponentialBackOff\",\"Expr\",\"Float16\",\"Float32\",\"Float64\",\"Function\",\"GlobalRef\",\"HTML\",\"IO\",\"IOBuffer\",\"IOContext\",\"IOStream\",\"IdDict\",\"IndexCartesian\",\"IndexLinear\",\"IndexStyle\",\"InexactError\",\"InitError\",\"Int\",\"Int128\",\"Int16\",\"Int32\",\"Int64\",\"Int8\",\"Integer\",\"InterruptException\",\"InvalidStateException\",\"Irrational\",\"KeyError\"],keywordops:[\"<:\",\">:\",\":\",\"=>\",\"...\",\".\",\"->\",\"?\"],allops:/[^\\w\\d\\s()\\[\\]{}\"'#]+/,constants:[\"true\",\"false\",\"nothing\",\"missing\",\"undef\",\"Inf\",\"pi\",\"NaN\",\"\\u03C0\",\"\\u212F\",\"ans\",\"PROGRAM_FILE\",\"ARGS\",\"C_NULL\",\"VERSION\",\"DEPOT_PATH\",\"LOAD_PATH\"],operators:[\"!\",\"!=\",\"!==\",\"%\",\"&\",\"*\",\"+\",\"-\",\"/\",\"//\",\"<\",\"<<\",\"<=\",\"==\",\"===\",\"=>\",\">\",\">=\",\">>\",\">>>\",\"\\\\\",\"^\",\"|\",\"|>\",\"~\",\"\\xF7\",\"\\u2208\",\"\\u2209\",\"\\u220B\",\"\\u220C\",\"\\u2218\",\"\\u221A\",\"\\u221B\",\"\\u2229\",\"\\u222A\",\"\\u2248\",\"\\u2249\",\"\\u2260\",\"\\u2261\",\"\\u2262\",\"\\u2264\",\"\\u2265\",\"\\u2286\",\"\\u2287\",\"\\u2288\",\"\\u2289\",\"\\u228A\",\"\\u228B\",\"\\u22BB\"],brackets:[{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"}],ident:/π|ℯ|\\b(?!\\d)\\w+\\b/,escape:/(?:[abefnrstv\\\\\"'\\n\\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,escapes:/\\\\(?:C\\-(@escape|.)|c(@escape|.)|@escape)/,tokenizer:{root:[[/(::)\\s*|\\b(isa)\\s+/,\"keyword\",\"@typeanno\"],[/\\b(isa)(\\s*\\(@ident\\s*,\\s*)/,[\"keyword\",{token:\"\",next:\"@typeanno\"}]],[/\\b(type|struct)[ \\t]+/,\"keyword\",\"@typeanno\"],[/^\\s*:@ident[!?]?/,\"metatag\"],[/(return)(\\s*:@ident[!?]?)/,[\"keyword\",\"metatag\"]],[/(\\(|\\[|\\{|@allops)(\\s*:@ident[!?]?)/,[\"\",\"metatag\"]],[/:\\(/,\"metatag\",\"@quote\"],[/r\"\"\"/,\"regexp.delim\",\"@tregexp\"],[/r\"/,\"regexp.delim\",\"@sregexp\"],[/raw\"\"\"/,\"string.delim\",\"@rtstring\"],[/[bv]?\"\"\"/,\"string.delim\",\"@dtstring\"],[/raw\"/,\"string.delim\",\"@rsstring\"],[/[bv]?\"/,\"string.delim\",\"@dsstring\"],[/(@ident)\\{/,{cases:{\"$1@types\":{token:\"type\",next:\"@gen\"},\"@default\":{token:\"type\",next:\"@gen\"}}}],[/@ident[!?'']?(?=\\.?\\()/,{cases:{\"@types\":\"type\",\"@keywords\":\"keyword\",\"@constants\":\"variable\",\"@default\":\"keyword.flow\"}}],[/@ident[!?']?/,{cases:{\"@types\":\"type\",\"@keywords\":\"keyword\",\"@constants\":\"variable\",\"@default\":\"identifier\"}}],[/\\$\\w+/,\"key\"],[/\\$\\(/,\"key\",\"@paste\"],[/@@@ident/,\"annotation\"],{include:\"@whitespace\"},[/'(?:@escapes|.)'/,\"string.character\"],[/[()\\[\\]{}]/,\"@brackets\"],[/@allops/,{cases:{\"@keywordops\":\"keyword\",\"@operators\":\"operator\"}}],[/[;,]/,\"delimiter\"],[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/,\"number.hex\"],[/0[_oO][0-7](_?[0-7])*/,\"number.octal\"],[/0[bB][01](_?[01])*/,\"number.binary\"],[/[+\\-]?\\d+(\\.\\d+)?(im?|[eE][+\\-]?\\d+(\\.\\d+)?)?/,\"number\"]],typeanno:[[/[a-zA-Z_]\\w*(?:\\.[a-zA-Z_]\\w*)*\\{/,\"type\",\"@gen\"],[/([a-zA-Z_]\\w*(?:\\.[a-zA-Z_]\\w*)*)(\\s*<:\\s*)/,[\"type\",\"keyword\"]],[/[a-zA-Z_]\\w*(?:\\.[a-zA-Z_]\\w*)*/,\"type\",\"@pop\"],[\"\",\"\",\"@pop\"]],gen:[[/[a-zA-Z_]\\w*(?:\\.[a-zA-Z_]\\w*)*\\{/,\"type\",\"@push\"],[/[a-zA-Z_]\\w*(?:\\.[a-zA-Z_]\\w*)*/,\"type\"],[/<:/,\"keyword\"],[/(\\})(\\s*<:\\s*)/,[\"type\",{token:\"keyword\",next:\"@pop\"}]],[/\\}/,\"type\",\"@pop\"],{include:\"@root\"}],quote:[[/\\$\\(/,\"key\",\"@paste\"],[/\\(/,\"@brackets\",\"@paren\"],[/\\)/,\"metatag\",\"@pop\"],{include:\"@root\"}],paste:[[/:\\(/,\"metatag\",\"@quote\"],[/\\(/,\"@brackets\",\"@paren\"],[/\\)/,\"key\",\"@pop\"],{include:\"@root\"}],paren:[[/\\$\\(/,\"key\",\"@paste\"],[/:\\(/,\"metatag\",\"@quote\"],[/\\(/,\"@brackets\",\"@push\"],[/\\)/,\"@brackets\",\"@pop\"],{include:\"@root\"}],sregexp:[[/^.*/,\"invalid\"],[/[^\\\\\"()\\[\\]{}]/,\"regexp\"],[/[()\\[\\]{}]/,\"@brackets\"],[/\\\\./,\"operator.scss\"],[/\"[imsx]*/,\"regexp.delim\",\"@pop\"]],tregexp:[[/[^\\\\\"()\\[\\]{}]/,\"regexp\"],[/[()\\[\\]{}]/,\"@brackets\"],[/\\\\./,\"operator.scss\"],[/\"(?!\"\")/,\"string\"],[/\"\"\"[imsx]*/,\"regexp.delim\",\"@pop\"]],rsstring:[[/^.*/,\"invalid\"],[/[^\\\\\"]/,\"string\"],[/\\\\./,\"string.escape\"],[/\"/,\"string.delim\",\"@pop\"]],rtstring:[[/[^\\\\\"]/,\"string\"],[/\\\\./,\"string.escape\"],[/\"(?!\"\")/,\"string\"],[/\"\"\"/,\"string.delim\",\"@pop\"]],dsstring:[[/^.*/,\"invalid\"],[/[^\\\\\"\\$]/,\"string\"],[/\\$/,\"\",\"@interpolated\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string.delim\",\"@pop\"]],dtstring:[[/[^\\\\\"\\$]/,\"string\"],[/\\$/,\"\",\"@interpolated\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"(?!\"\")/,\"string\"],[/\"\"\"/,\"string.delim\",\"@pop\"]],interpolated:[[/\\(/,{token:\"\",switchTo:\"@interpolated_compound\"}],[/[a-zA-Z_]\\w*/,\"identifier\"],[\"\",\"\",\"@pop\"]],interpolated_compound:[[/\\)/,\"\",\"@pop\"],{include:\"@root\"}],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/#=/,\"comment\",\"@multi_comment\"],[/#.*$/,\"comment\"]],multi_comment:[[/#=/,\"comment\",\"@push\"],[/=#/,\"comment\",\"@pop\"],[/=(?!#)|#(?!=)/,\"comment\"],[/[^#=]+/,\"comment\"]]}};return d(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/kotlin/kotlin.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/kotlin/kotlin\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(n,e)=>{for(var i in e)o(n,i,{get:e[i],enumerable:!0})},d=(n,e,i,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of r(e))!c.call(n,t)&&t!==i&&o(n,t,{get:()=>e[t],enumerable:!(s=a(e,t))||s.enumerable});return n};var g=n=>d(o({},\"__esModule\",{value:!0}),n);var f={};l(f,{conf:()=>m,language:()=>p});var m={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"<\",close:\">\"}],folding:{markers:{start:new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?region\\\\b)|(?:<editor-fold\\\\b))\"),end:new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?endregion\\\\b)|(?:</editor-fold>))\")}}},p={defaultToken:\"\",tokenPostfix:\".kt\",keywords:[\"as\",\"as?\",\"break\",\"class\",\"continue\",\"do\",\"else\",\"false\",\"for\",\"fun\",\"if\",\"in\",\"!in\",\"interface\",\"is\",\"!is\",\"null\",\"object\",\"package\",\"return\",\"super\",\"this\",\"throw\",\"true\",\"try\",\"typealias\",\"val\",\"var\",\"when\",\"while\",\"by\",\"catch\",\"constructor\",\"delegate\",\"dynamic\",\"field\",\"file\",\"finally\",\"get\",\"import\",\"init\",\"param\",\"property\",\"receiver\",\"set\",\"setparam\",\"where\",\"actual\",\"abstract\",\"annotation\",\"companion\",\"const\",\"crossinline\",\"data\",\"enum\",\"expect\",\"external\",\"final\",\"infix\",\"inline\",\"inner\",\"internal\",\"lateinit\",\"noinline\",\"open\",\"operator\",\"out\",\"override\",\"private\",\"protected\",\"public\",\"reified\",\"sealed\",\"suspend\",\"tailrec\",\"vararg\",\"field\",\"it\"],operators:[\"+\",\"-\",\"*\",\"/\",\"%\",\"=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"++\",\"--\",\"&&\",\"||\",\"!\",\"==\",\"!=\",\"===\",\"!==\",\">\",\"<\",\"<=\",\">=\",\"[\",\"]\",\"!!\",\"?.\",\"?:\",\"::\",\"..\",\":\",\"?\",\"->\",\"@\",\";\",\"$\",\"_\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\\d+(_+\\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[A-Z][\\w\\$]*/,\"type.identifier\"],[/[a-zA-Z_$][\\w$]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/@\\s*[a-zA-Z_\\$][\\w\\$]*/,\"annotation\"],[/(@digits)[eE]([\\-+]?(@digits))?[fFdD]?/,\"number.float\"],[/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?[fFdD]?/,\"number.float\"],[/0[xX](@hexdigits)[Ll]?/,\"number.hex\"],[/0(@octaldigits)[Ll]?/,\"number.octal\"],[/0[bB](@binarydigits)[Ll]?/,\"number.binary\"],[/(@digits)[fFdD]/,\"number.float\"],[/(@digits)[lL]?/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"\"\"/,\"string\",\"@multistring\"],[/\"/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@javadoc\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],javadoc:[[/[^\\/*]+/,\"comment.doc\"],[/\\/\\*/,\"comment.doc\",\"@push\"],[/\\/\\*/,\"comment.doc.invalid\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],multistring:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"\"\"/,\"string\",\"@pop\"],[/./,\"string\"]]}};return g(f);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/less/less.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/less/less\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var d=(t,e)=>{for(var i in e)r(t,i,{get:e[i],enumerable:!0})},u=(t,e,i,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of a(e))!l.call(t,n)&&n!==i&&r(t,n,{get:()=>e[n],enumerable:!(o=s(e,n))||o.enumerable});return t};var c=t=>u(r({},\"__esModule\",{value:!0}),t);var p={};d(p,{conf:()=>m,language:()=>g});var m={wordPattern:/(#?-?\\d*\\.\\d\\w*%?)|([@#!.:]?[\\w-?]+%?)|[@#!.]/g,comments:{blockComment:[\"/*\",\"*/\"],lineComment:\"//\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*\\\\/\\\\*\\\\s*#region\\\\b\\\\s*(.*?)\\\\s*\\\\*\\\\/\"),end:new RegExp(\"^\\\\s*\\\\/\\\\*\\\\s*#endregion\\\\b.*\\\\*\\\\/\")}}},g={defaultToken:\"\",tokenPostfix:\".less\",identifier:\"-?-?([a-zA-Z]|(\\\\\\\\(([0-9a-fA-F]{1,6}\\\\s?)|[^[0-9a-fA-F])))([\\\\w\\\\-]|(\\\\\\\\(([0-9a-fA-F]{1,6}\\\\s?)|[^[0-9a-fA-F])))*\",identifierPlus:\"-?-?([a-zA-Z:.]|(\\\\\\\\(([0-9a-fA-F]{1,6}\\\\s?)|[^[0-9a-fA-F])))([\\\\w\\\\-:.]|(\\\\\\\\(([0-9a-fA-F]{1,6}\\\\s?)|[^[0-9a-fA-F])))*\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.bracket\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],tokenizer:{root:[{include:\"@nestedJSBegin\"},[\"[ \\\\t\\\\r\\\\n]+\",\"\"],{include:\"@comments\"},{include:\"@keyword\"},{include:\"@strings\"},{include:\"@numbers\"},[\"[*_]?[a-zA-Z\\\\-\\\\s]+(?=:.*(;|(\\\\\\\\$)))\",\"attribute.name\",\"@attribute\"],[\"url(\\\\-prefix)?\\\\(\",{token:\"tag\",next:\"@urldeclaration\"}],[\"[{}()\\\\[\\\\]]\",\"@brackets\"],[\"[,:;]\",\"delimiter\"],[\"#@identifierPlus\",\"tag.id\"],[\"&\",\"tag\"],[\"\\\\.@identifierPlus(?=\\\\()\",\"tag.class\",\"@attribute\"],[\"\\\\.@identifierPlus\",\"tag.class\"],[\"@identifierPlus\",\"tag\"],{include:\"@operators\"},[\"@(@identifier(?=[:,\\\\)]))\",\"variable\",\"@attribute\"],[\"@(@identifier)\",\"variable\"],[\"@\",\"key\",\"@atRules\"]],nestedJSBegin:[[\"``\",\"delimiter.backtick\"],[\"`\",{token:\"delimiter.backtick\",next:\"@nestedJSEnd\",nextEmbedded:\"text/javascript\"}]],nestedJSEnd:[[\"`\",{token:\"delimiter.backtick\",next:\"@pop\",nextEmbedded:\"@pop\"}]],operators:[[\"[<>=\\\\+\\\\-\\\\*\\\\/\\\\^\\\\|\\\\~]\",\"operator\"]],keyword:[[\"(@[\\\\s]*import|![\\\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\\\b\",\"keyword\"]],urldeclaration:[{include:\"@strings\"},[`[^)\\r\n]+`,\"string\"],[\"\\\\)\",{token:\"tag\",next:\"@pop\"}]],attribute:[{include:\"@nestedJSBegin\"},{include:\"@comments\"},{include:\"@strings\"},{include:\"@numbers\"},{include:\"@keyword\"},[\"[a-zA-Z\\\\-]+(?=\\\\()\",\"attribute.value\",\"@attribute\"],[\">\",\"operator\",\"@pop\"],[\"@identifier\",\"attribute.value\"],{include:\"@operators\"},[\"@(@identifier)\",\"variable\"],[\"[)\\\\}]\",\"@brackets\",\"@pop\"],[\"[{}()\\\\[\\\\]>]\",\"@brackets\"],[\"[;]\",\"delimiter\",\"@pop\"],[\"[,=:]\",\"delimiter\"],[\"\\\\s\",\"\"],[\".\",\"attribute.value\"]],comments:[[\"\\\\/\\\\*\",\"comment\",\"@comment\"],[\"\\\\/\\\\/+.*\",\"comment\"]],comment:[[\"\\\\*\\\\/\",\"comment\",\"@pop\"],[\".\",\"comment\"]],numbers:[[\"(\\\\d*\\\\.)?\\\\d+([eE][\\\\-+]?\\\\d+)?\",{token:\"attribute.value.number\",next:\"@units\"}],[\"#[0-9a-fA-F_]+(?!\\\\w)\",\"attribute.value.hex\"]],units:[[\"(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?\",\"attribute.value.unit\",\"@pop\"]],strings:[['~?\"',{token:\"string.delimiter\",next:\"@stringsEndDoubleQuote\"}],[\"~?'\",{token:\"string.delimiter\",next:\"@stringsEndQuote\"}]],stringsEndDoubleQuote:[['\\\\\\\\\"',\"string\"],['\"',{token:\"string.delimiter\",next:\"@popall\"}],[\".\",\"string\"]],stringsEndQuote:[[\"\\\\\\\\'\",\"string\"],[\"'\",{token:\"string.delimiter\",next:\"@popall\"}],[\".\",\"string\"]],atRules:[{include:\"@comments\"},{include:\"@strings\"},[\"[()]\",\"delimiter\"],[\"[\\\\{;]\",\"delimiter\",\"@pop\"],[\".\",\"key\"]]}};return c(p);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/lexon/lexon.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/lexon/lexon\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var n=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var i in e)n(t,i,{get:e[i],enumerable:!0})},p=(t,e,i,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of d(e))!a.call(t,o)&&o!==i&&n(t,o,{get:()=>e[o],enumerable:!(r=s(e,o))||r.enumerable});return t};var c=t=>p(n({},\"__esModule\",{value:!0}),t);var k={};l(k,{conf:()=>m,language:()=>u});var m={comments:{lineComment:\"COMMENT\"},brackets:[[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\":\",close:\".\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"`\",close:\"`\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\":\",close:\".\"}],folding:{markers:{start:new RegExp(\"^\\\\s*(::\\\\s*|COMMENT\\\\s+)#region\"),end:new RegExp(\"^\\\\s*(::\\\\s*|COMMENT\\\\s+)#endregion\")}}},u={tokenPostfix:\".lexon\",ignoreCase:!0,keywords:[\"lexon\",\"lex\",\"clause\",\"terms\",\"contracts\",\"may\",\"pay\",\"pays\",\"appoints\",\"into\",\"to\"],typeKeywords:[\"amount\",\"person\",\"key\",\"time\",\"date\",\"asset\",\"text\"],operators:[\"less\",\"greater\",\"equal\",\"le\",\"gt\",\"or\",\"and\",\"add\",\"added\",\"subtract\",\"subtracted\",\"multiply\",\"multiplied\",\"times\",\"divide\",\"divided\",\"is\",\"be\",\"certified\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,tokenizer:{root:[[/^(\\s*)(comment:?(?:\\s.*|))$/,[\"\",\"comment\"]],[/\"/,{token:\"identifier.quote\",bracket:\"@open\",next:\"@quoted_identifier\"}],[\"LEX$\",{token:\"keyword\",bracket:\"@open\",next:\"@identifier_until_period\"}],[\"LEXON\",{token:\"keyword\",bracket:\"@open\",next:\"@semver\"}],[\":\",{token:\"delimiter\",bracket:\"@open\",next:\"@identifier_until_period\"}],[/[a-z_$][\\w$]*/,{cases:{\"@operators\":\"operator\",\"@typeKeywords\":\"keyword.type\",\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,\"delimiter\"],[/\\d*\\.\\d*\\.\\d*/,\"number.semver\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F]+/,\"number.hex\"],[/\\d+/,\"number\"],[/[;,.]/,\"delimiter\"]],quoted_identifier:[[/[^\\\\\"]+/,\"identifier\"],[/\"/,{token:\"identifier.quote\",bracket:\"@close\",next:\"@pop\"}]],space_identifier_until_period:[[\":\",\"delimiter\"],[\" \",{token:\"white\",next:\"@identifier_rest\"}]],identifier_until_period:[{include:\"@whitespace\"},[\":\",{token:\"delimiter\",next:\"@identifier_rest\"}],[/[^\\\\.]+/,\"identifier\"],[/\\./,{token:\"delimiter\",bracket:\"@close\",next:\"@pop\"}]],identifier_rest:[[/[^\\\\.]+/,\"identifier\"],[/\\./,{token:\"delimiter\",bracket:\"@close\",next:\"@pop\"}]],semver:[{include:\"@whitespace\"},[\":\",\"delimiter\"],[/\\d*\\.\\d*\\.\\d*/,{token:\"number.semver\",bracket:\"@close\",next:\"@pop\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"]]}};return c(k);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/liquid/liquid.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/liquid/liquid\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var p=Object.create;var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var f=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,i)=>(typeof require<\"u\"?require:t)[i]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var b=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),T=(e,t)=>{for(var i in t)a(e,i,{get:t[i],enumerable:!0})},r=(e,t,i,l)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of w(t))!q.call(e,o)&&o!==i&&a(e,o,{get:()=>t[o],enumerable:!(l=g(t,o))||l.enumerable});return e},d=(e,t,i)=>(r(e,t,\"default\"),i&&r(i,t,\"default\")),s=(e,t,i)=>(i=e!=null?p(h(e)):{},r(t||!e||!e.__esModule?a(i,\"default\",{value:e,enumerable:!0}):i,e)),k=e=>r(a({},\"__esModule\",{value:!0}),e);var c=b((y,u)=>{var _=s(f(\"vs/editor/editor.api\"));u.exports=_});var $={};T($,{conf:()=>x,language:()=>S});var n={};d(n,s(c()));var m=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],x={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)/g,brackets:[[\"<!--\",\"-->\"],[\"<\",\">\"],[\"{{\",\"}}\"],[\"{%\",\"%}\"],[\"{\",\"}\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"%\",close:\"%\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"<\",close:\">\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${m.join(\"|\")}))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$`,\"i\"),afterText:/^<\\/(\\w[\\w\\d]*)\\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${m.join(\"|\")}))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$`,\"i\"),action:{indentAction:n.languages.IndentAction.Indent}}]},S={defaultToken:\"\",tokenPostfix:\"\",builtinTags:[\"if\",\"else\",\"elseif\",\"endif\",\"render\",\"assign\",\"capture\",\"endcapture\",\"case\",\"endcase\",\"comment\",\"endcomment\",\"cycle\",\"decrement\",\"for\",\"endfor\",\"include\",\"increment\",\"layout\",\"raw\",\"endraw\",\"render\",\"tablerow\",\"endtablerow\",\"unless\",\"endunless\"],builtinFilters:[\"abs\",\"append\",\"at_least\",\"at_most\",\"capitalize\",\"ceil\",\"compact\",\"date\",\"default\",\"divided_by\",\"downcase\",\"escape\",\"escape_once\",\"first\",\"floor\",\"join\",\"json\",\"last\",\"lstrip\",\"map\",\"minus\",\"modulo\",\"newline_to_br\",\"plus\",\"prepend\",\"remove\",\"remove_first\",\"replace\",\"replace_first\",\"reverse\",\"round\",\"rstrip\",\"size\",\"slice\",\"sort\",\"sort_natural\",\"split\",\"strip\",\"strip_html\",\"strip_newlines\",\"times\",\"truncate\",\"truncatewords\",\"uniq\",\"upcase\",\"url_decode\",\"url_encode\",\"where\"],constants:[\"true\",\"false\"],operators:[\"==\",\"!=\",\">\",\"<\",\">=\",\"<=\"],symbol:/[=><!]+/,identifier:/[a-zA-Z_][\\w]*/,tokenizer:{root:[[/\\{\\%\\s*comment\\s*\\%\\}/,\"comment.start.liquid\",\"@comment\"],[/\\{\\{/,{token:\"@rematch\",switchTo:\"@liquidState.root\"}],[/\\{\\%/,{token:\"@rematch\",switchTo:\"@liquidState.root\"}],[/(<)([\\w\\-]+)(\\/>)/,[\"delimiter.html\",\"tag.html\",\"delimiter.html\"]],[/(<)([:\\w]+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/(<\\/)([\\w\\-]+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/</,\"delimiter.html\"],[/\\{/,\"delimiter.html\"],[/[^<{]+/]],comment:[[/\\{\\%\\s*endcomment\\s*\\%\\}/,\"comment.end.liquid\",\"@pop\"],[/./,\"comment.content.liquid\"]],otherTag:[[/\\{\\{/,{token:\"@rematch\",switchTo:\"@liquidState.otherTag\"}],[/\\{\\%/,{token:\"@rematch\",switchTo:\"@liquidState.otherTag\"}],[/\\/?>/,\"delimiter.html\",\"@pop\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/]],liquidState:[[/\\{\\{/,\"delimiter.output.liquid\"],[/\\}\\}/,{token:\"delimiter.output.liquid\",switchTo:\"@$S2.$S3\"}],[/\\{\\%/,\"delimiter.tag.liquid\"],[/raw\\s*\\%\\}/,\"delimiter.tag.liquid\",\"@liquidRaw\"],[/\\%\\}/,{token:\"delimiter.tag.liquid\",switchTo:\"@$S2.$S3\"}],{include:\"liquidRoot\"}],liquidRaw:[[/^(?!\\{\\%\\s*endraw\\s*\\%\\}).+/],[/\\{\\%/,\"delimiter.tag.liquid\"],[/@identifier/],[/\\%\\}/,{token:\"delimiter.tag.liquid\",next:\"@root\"}]],liquidRoot:[[/\\d+(\\.\\d+)?/,\"number.liquid\"],[/\"[^\"]*\"/,\"string.liquid\"],[/'[^']*'/,\"string.liquid\"],[/\\s+/],[/@symbol/,{cases:{\"@operators\":\"operator.liquid\",\"@default\":\"\"}}],[/\\./],[/@identifier/,{cases:{\"@constants\":\"keyword.liquid\",\"@builtinFilters\":\"predefined.liquid\",\"@builtinTags\":\"predefined.liquid\",\"@default\":\"variable.liquid\"}}],[/[^}|%]/,\"variable.liquid\"]]}};return k($);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/lua/lua.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/lua/lua\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var t in e)s(o,t,{get:e[t],enumerable:!0})},m=(o,e,t,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of i(e))!l.call(o,n)&&n!==t&&s(o,n,{get:()=>e[n],enumerable:!(r=a(e,n))||r.enumerable});return o};var p=o=>m(s({},\"__esModule\",{value:!0}),o);var u={};c(u,{conf:()=>d,language:()=>g});var d={comments:{lineComment:\"--\",blockComment:[\"--[[\",\"]]\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},g={defaultToken:\"\",tokenPostfix:\".lua\",keywords:[\"and\",\"break\",\"do\",\"else\",\"elseif\",\"end\",\"false\",\"for\",\"function\",\"goto\",\"if\",\"in\",\"local\",\"nil\",\"not\",\"or\",\"repeat\",\"return\",\"then\",\"true\",\"until\",\"while\"],brackets:[{token:\"delimiter.bracket\",open:\"{\",close:\"}\"},{token:\"delimiter.array\",open:\"[\",close:\"]\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"}],operators:[\"+\",\"-\",\"*\",\"/\",\"%\",\"^\",\"#\",\"==\",\"~=\",\"<=\",\">=\",\"<\",\">\",\"=\",\";\",\":\",\",\",\".\",\"..\",\"...\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\\w*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/(,)(\\s*)([a-zA-Z_]\\w*)(\\s*)(:)(?!:)/,[\"delimiter\",\"\",\"key\",\"\",\"delimiter\"]],[/({)(\\s*)([a-zA-Z_]\\w*)(\\s*)(:)(?!:)/,[\"@brackets\",\"\",\"key\",\"\",\"delimiter\"]],[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,\"number.hex\"],[/\\d+?/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",'@string.\"'],[/'/,\"string\",\"@string.'\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/--\\[([=]*)\\[/,\"comment\",\"@comment.$1\"],[/--.*$/,\"comment\"]],comment:[[/[^\\]]+/,\"comment\"],[/\\]([=]*)\\]/,{cases:{\"$1==$S2\":{token:\"comment\",next:\"@pop\"},\"@default\":\"comment\"}}],[/./,\"comment\"]],string:[[/[^\\\\\"']+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/[\"']/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}]]}};return p(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/m3/m3.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/m3/m3\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var R=(o,e)=>{for(var s in e)r(o,s,{get:e[s],enumerable:!0})},c=(o,e,s,n)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of a(e))!i.call(o,t)&&t!==s&&r(o,t,{get:()=>e[t],enumerable:!(n=E(e,t))||n.enumerable});return o};var m=o=>c(r({},\"__esModule\",{value:!0}),o);var N={};R(N,{conf:()=>A,language:()=>p});var A={comments:{blockComment:[\"(*\",\"*)\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"[\",close:\"]\"},{open:\"{\",close:\"}\"},{open:\"(\",close:\")\"},{open:\"(*\",close:\"*)\"},{open:\"<*\",close:\"*>\"},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]}]},p={defaultToken:\"\",tokenPostfix:\".m3\",brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"}],keywords:[\"AND\",\"ANY\",\"ARRAY\",\"AS\",\"BEGIN\",\"BITS\",\"BRANDED\",\"BY\",\"CASE\",\"CONST\",\"DIV\",\"DO\",\"ELSE\",\"ELSIF\",\"END\",\"EVAL\",\"EXCEPT\",\"EXCEPTION\",\"EXIT\",\"EXPORTS\",\"FINALLY\",\"FOR\",\"FROM\",\"GENERIC\",\"IF\",\"IMPORT\",\"IN\",\"INTERFACE\",\"LOCK\",\"LOOP\",\"METHODS\",\"MOD\",\"MODULE\",\"NOT\",\"OBJECT\",\"OF\",\"OR\",\"OVERRIDES\",\"PROCEDURE\",\"RAISE\",\"RAISES\",\"READONLY\",\"RECORD\",\"REF\",\"REPEAT\",\"RETURN\",\"REVEAL\",\"SET\",\"THEN\",\"TO\",\"TRY\",\"TYPE\",\"TYPECASE\",\"UNSAFE\",\"UNTIL\",\"UNTRACED\",\"VALUE\",\"VAR\",\"WHILE\",\"WITH\"],reservedConstNames:[\"ABS\",\"ADR\",\"ADRSIZE\",\"BITSIZE\",\"BYTESIZE\",\"CEILING\",\"DEC\",\"DISPOSE\",\"FALSE\",\"FIRST\",\"FLOAT\",\"FLOOR\",\"INC\",\"ISTYPE\",\"LAST\",\"LOOPHOLE\",\"MAX\",\"MIN\",\"NARROW\",\"NEW\",\"NIL\",\"NUMBER\",\"ORD\",\"ROUND\",\"SUBARRAY\",\"TRUE\",\"TRUNC\",\"TYPECODE\",\"VAL\"],reservedTypeNames:[\"ADDRESS\",\"ANY\",\"BOOLEAN\",\"CARDINAL\",\"CHAR\",\"EXTENDED\",\"INTEGER\",\"LONGCARD\",\"LONGINT\",\"LONGREAL\",\"MUTEX\",\"NULL\",\"REAL\",\"REFANY\",\"ROOT\",\"TEXT\"],operators:[\"+\",\"-\",\"*\",\"/\",\"&\",\"^\",\".\"],relations:[\"=\",\"#\",\"<\",\"<=\",\">\",\">=\",\"<:\",\":\"],delimiters:[\"|\",\"..\",\"=>\",\",\",\";\",\":=\"],symbols:/[>=<#.,:;+\\-*/&^]+/,escapes:/\\\\(?:[\\\\fnrt\"']|[0-7]{3})/,tokenizer:{root:[[/_\\w*/,\"invalid\"],[/[a-zA-Z][a-zA-Z0-9_]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@reservedConstNames\":{token:\"constant.reserved.$0\"},\"@reservedTypeNames\":{token:\"type.reserved.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[0-9]+\\.[0-9]+(?:[DdEeXx][\\+\\-]?[0-9]+)?/,\"number.float\"],[/[0-9]+(?:\\_[0-9a-fA-F]+)?L?/,\"number\"],[/@symbols/,{cases:{\"@operators\":\"operators\",\"@relations\":\"operators\",\"@delimiters\":\"delimiter\",\"@default\":\"invalid\"}}],[/'[^\\\\']'/,\"string.char\"],[/(')(@escapes)(')/,[\"string.char\",\"string.escape\",\"string.char\"]],[/'/,\"invalid\"],[/\"([^\"\\\\]|\\\\.)*$/,\"invalid\"],[/\"/,\"string.text\",\"@text\"]],text:[[/[^\\\\\"]+/,\"string.text\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"invalid\"],[/\"/,\"string.text\",\"@pop\"]],comment:[[/\\(\\*/,\"comment\",\"@push\"],[/\\*\\)/,\"comment\",\"@pop\"],[/./,\"comment\"]],pragma:[[/<\\*/,\"keyword.pragma\",\"@push\"],[/\\*>/,\"keyword.pragma\",\"@pop\"],[/./,\"keyword.pragma\"]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\(\\*/,\"comment\",\"@comment\"],[/<\\*/,\"keyword.pragma\",\"@pragma\"]]}};return m(N);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/markdown/markdown.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/markdown/markdown\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},m=(t,e,o,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of c(e))!i.call(t,n)&&n!==o&&s(t,n,{get:()=>e[n],enumerable:!(a=r(e,n))||a.enumerable});return t};var d=t=>m(s({},\"__esModule\",{value:!0}),t);var b={};l(b,{conf:()=>p,language:()=>g});var p={comments:{blockComment:[\"<!--\",\"-->\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\",notIn:[\"string\"]}],surroundingPairs:[{open:\"(\",close:\")\"},{open:\"[\",close:\"]\"},{open:\"`\",close:\"`\"}],folding:{markers:{start:new RegExp(\"^\\\\s*<!--\\\\s*#?region\\\\b.*-->\"),end:new RegExp(\"^\\\\s*<!--\\\\s*#?endregion\\\\b.*-->\")}}},g={defaultToken:\"\",tokenPostfix:\".md\",control:/[\\\\`*_\\[\\]{}()#+\\-\\.!]/,noncontrol:/[^\\\\`*_\\[\\]{}()#+\\-\\.!]/,escapes:/\\\\(?:@control)/,jsescapes:/\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:[\"area\",\"base\",\"basefont\",\"br\",\"col\",\"frame\",\"hr\",\"img\",\"input\",\"isindex\",\"link\",\"meta\",\"param\"],tokenizer:{root:[[/^\\s*\\|/,\"@rematch\",\"@table_header\"],[/^(\\s{0,3})(#+)((?:[^\\\\#]|@escapes)+)((?:#+)?)/,[\"white\",\"keyword\",\"keyword\",\"keyword\"]],[/^\\s*(=+|\\-+)\\s*$/,\"keyword\"],[/^\\s*((\\*[ ]?)+)\\s*$/,\"meta.separator\"],[/^\\s*>+/,\"comment\"],[/^\\s*([\\*\\-+:]|\\d+\\.)\\s/,\"keyword\"],[/^(\\t|[ ]{4})[^ ].*$/,\"string\"],[/^\\s*~~~\\s*((?:\\w|[\\/\\-#])+)?\\s*$/,{token:\"string\",next:\"@codeblock\"}],[/^\\s*```\\s*((?:\\w|[\\/\\-#])+).*$/,{token:\"string\",next:\"@codeblockgh\",nextEmbedded:\"$1\"}],[/^\\s*```\\s*$/,{token:\"string\",next:\"@codeblock\"}],{include:\"@linecontent\"}],table_header:[{include:\"@table_common\"},[/[^\\|]+/,\"keyword.table.header\"]],table_body:[{include:\"@table_common\"},{include:\"@linecontent\"}],table_common:[[/\\s*[\\-:]+\\s*/,{token:\"keyword\",switchTo:\"table_body\"}],[/^\\s*\\|/,\"keyword.table.left\"],[/^\\s*[^\\|]/,\"@rematch\",\"@pop\"],[/^\\s*$/,\"@rematch\",\"@pop\"],[/\\|/,{cases:{\"@eos\":\"keyword.table.right\",\"@default\":\"keyword.table.middle\"}}]],codeblock:[[/^\\s*~~~\\s*$/,{token:\"string\",next:\"@pop\"}],[/^\\s*```\\s*$/,{token:\"string\",next:\"@pop\"}],[/.*$/,\"variable.source\"]],codeblockgh:[[/```\\s*$/,{token:\"string\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/[^`]+/,\"variable.source\"]],linecontent:[[/&\\w+;/,\"string.escape\"],[/@escapes/,\"escape\"],[/\\b__([^\\\\_]|@escapes|_(?!_))+__\\b/,\"strong\"],[/\\*\\*([^\\\\*]|@escapes|\\*(?!\\*))+\\*\\*/,\"strong\"],[/\\b_[^_]+_\\b/,\"emphasis\"],[/\\*([^\\\\*]|@escapes)+\\*/,\"emphasis\"],[/`([^\\\\`]|@escapes)+`/,\"variable\"],[/\\{+[^}]+\\}+/,\"string.target\"],[/(!?\\[)((?:[^\\]\\\\]|@escapes)*)(\\]\\([^\\)]+\\))/,[\"string.link\",\"\",\"string.link\"]],[/(!?\\[)((?:[^\\]\\\\]|@escapes)*)(\\])/,\"string.link\"],{include:\"html\"}],html:[[/<(\\w+)\\/>/,\"tag\"],[/<(\\w+)(\\-|\\w)*/,{cases:{\"@empty\":{token:\"tag\",next:\"@tag.$1\"},\"@default\":{token:\"tag\",next:\"@tag.$1\"}}}],[/<\\/(\\w+)(\\-|\\w)*\\s*>/,{token:\"tag\"}],[/<!--/,\"comment\",\"@comment\"]],comment:[[/[^<\\-]+/,\"comment.content\"],[/-->/,\"comment\",\"@pop\"],[/<!--/,\"comment.content.invalid\"],[/[<\\-]/,\"comment.content\"]],tag:[[/[ \\t\\r\\n]+/,\"white\"],[/(type)(\\s*=\\s*)(\")([^\"]+)(\")/,[\"attribute.name.html\",\"delimiter.html\",\"string.html\",{token:\"string.html\",switchTo:\"@tag.$S2.$4\"},\"string.html\"]],[/(type)(\\s*=\\s*)(')([^']+)(')/,[\"attribute.name.html\",\"delimiter.html\",\"string.html\",{token:\"string.html\",switchTo:\"@tag.$S2.$4\"},\"string.html\"]],[/(\\w+)(\\s*=\\s*)(\"[^\"]*\"|'[^']*')/,[\"attribute.name.html\",\"delimiter.html\",\"string.html\"]],[/\\w+/,\"attribute.name.html\"],[/\\/>/,\"tag\",\"@pop\"],[/>/,{cases:{\"$S2==style\":{token:\"tag\",switchTo:\"embeddedStyle\",nextEmbedded:\"text/css\"},\"$S2==script\":{cases:{$S3:{token:\"tag\",switchTo:\"embeddedScript\",nextEmbedded:\"$S3\"},\"@default\":{token:\"tag\",switchTo:\"embeddedScript\",nextEmbedded:\"text/javascript\"}}},\"@default\":{token:\"tag\",next:\"@pop\"}}}]],embeddedStyle:[[/[^<]+/,\"\"],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/</,\"\"]],embeddedScript:[[/[^<]+/,\"\"],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/</,\"\"]]}};return d(b);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/mdx/mdx.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/mdx/mdx\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var x=Object.create;var r=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var h=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var f=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),u=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},s=(e,t,n,d)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of l(t))!g.call(e,i)&&i!==n&&r(e,i,{get:()=>t[i],enumerable:!(d=m(t,i))||d.enumerable});return e},c=(e,t,n)=>(s(e,t,\"default\"),n&&s(n,t,\"default\")),p=(e,t,n)=>(n=e!=null?x(b(e)):{},s(t||!e||!e.__esModule?r(n,\"default\",{value:e,enumerable:!0}):n,e)),w=e=>s(r({},\"__esModule\",{value:!0}),e);var k=f((T,a)=>{var $=p(h(\"vs/editor/editor.api\"));a.exports=$});var A={};u(A,{conf:()=>_,language:()=>y});var o={};c(o,p(k()));var _={comments:{blockComment:[\"{/*\",\"*/}\"]},brackets:[[\"{\",\"}\"]],autoClosingPairs:[{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"\\u201C\",close:\"\\u201D\"},{open:\"\\u2018\",close:\"\\u2019\"},{open:\"`\",close:\"`\"},{open:\"{\",close:\"}\"},{open:\"(\",close:\")\"},{open:\"_\",close:\"_\"},{open:\"**\",close:\"**\"},{open:\"<\",close:\">\"}],onEnterRules:[{beforeText:/^\\s*- .+/,action:{indentAction:o.languages.IndentAction.None,appendText:\"- \"}},{beforeText:/^\\s*\\+ .+/,action:{indentAction:o.languages.IndentAction.None,appendText:\"+ \"}},{beforeText:/^\\s*\\* .+/,action:{indentAction:o.languages.IndentAction.None,appendText:\"* \"}},{beforeText:/^> /,action:{indentAction:o.languages.IndentAction.None,appendText:\"> \"}},{beforeText:/<\\w+/,action:{indentAction:o.languages.IndentAction.Indent}},{beforeText:/\\s+>\\s*$/,action:{indentAction:o.languages.IndentAction.Indent}},{beforeText:/<\\/\\w+>/,action:{indentAction:o.languages.IndentAction.Outdent}},...Array.from({length:100},(e,t)=>({beforeText:new RegExp(`^${t}\\\\. .+`),action:{indentAction:o.languages.IndentAction.None,appendText:`${t+1}. `}}))]},y={defaultToken:\"\",tokenPostfix:\".mdx\",control:/[!#()*+.[\\\\\\]_`{}\\-]/,escapes:/\\\\@control/,tokenizer:{root:[[/^---$/,{token:\"meta.content\",next:\"@frontmatter\",nextEmbedded:\"yaml\"}],[/^\\s*import/,{token:\"keyword\",next:\"@import\",nextEmbedded:\"js\"}],[/^\\s*export/,{token:\"keyword\",next:\"@export\",nextEmbedded:\"js\"}],[/<\\w+/,{token:\"type.identifier\",next:\"@jsx\"}],[/<\\/?\\w+>/,\"type.identifier\"],[/^(\\s*)(>*\\s*)(#{1,6}\\s)/,[{token:\"white\"},{token:\"comment\"},{token:\"keyword\",next:\"@header\"}]],[/^(\\s*)(>*\\s*)([*+-])(\\s+)/,[\"white\",\"comment\",\"keyword\",\"white\"]],[/^(\\s*)(>*\\s*)(\\d{1,9}\\.)(\\s+)/,[\"white\",\"comment\",\"number\",\"white\"]],[/^(\\s*)(>*\\s*)(\\d{1,9}\\.)(\\s+)/,[\"white\",\"comment\",\"number\",\"white\"]],[/^(\\s*)(>*\\s*)(-{3,}|\\*{3,}|_{3,})$/,[\"white\",\"comment\",\"keyword\"]],[/`{3,}(\\s.*)?$/,{token:\"string\",next:\"@codeblock_backtick\"}],[/~{3,}(\\s.*)?$/,{token:\"string\",next:\"@codeblock_tilde\"}],[/`{3,}(\\S+).*$/,{token:\"string\",next:\"@codeblock_highlight_backtick\",nextEmbedded:\"$1\"}],[/~{3,}(\\S+).*$/,{token:\"string\",next:\"@codeblock_highlight_tilde\",nextEmbedded:\"$1\"}],[/^(\\s*)(-{4,})$/,[\"white\",\"comment\"]],[/^(\\s*)(>+)/,[\"white\",\"comment\"]],{include:\"content\"}],content:[[/(\\[)(.+)(]\\()(.+)(\\s+\".*\")(\\))/,[\"\",\"string.link\",\"\",\"type.identifier\",\"string.link\",\"\"]],[/(\\[)(.+)(]\\()(.+)(\\))/,[\"\",\"type.identifier\",\"\",\"string.link\",\"\"]],[/(\\[)(.+)(]\\[)(.+)(])/,[\"\",\"type.identifier\",\"\",\"type.identifier\",\"\"]],[/(\\[)(.+)(]:\\s+)(\\S*)/,[\"\",\"type.identifier\",\"\",\"string.link\"]],[/(\\[)(.+)(])/,[\"\",\"type.identifier\",\"\"]],[/`.*`/,\"variable.source\"],[/_/,{token:\"emphasis\",next:\"@emphasis_underscore\"}],[/\\*(?!\\*)/,{token:\"emphasis\",next:\"@emphasis_asterisk\"}],[/\\*\\*/,{token:\"strong\",next:\"@strong\"}],[/{/,{token:\"delimiter.bracket\",next:\"@expression\",nextEmbedded:\"js\"}]],import:[[/'\\s*(;|$)/,{token:\"string\",next:\"@pop\",nextEmbedded:\"@pop\"}]],expression:[[/{/,{token:\"delimiter.bracket\",next:\"@expression\"}],[/}/,{token:\"delimiter.bracket\",next:\"@pop\",nextEmbedded:\"@pop\"}]],export:[[/^\\s*$/,{token:\"delimiter.bracket\",next:\"@pop\",nextEmbedded:\"@pop\"}]],jsx:[[/\\s+/,\"\"],[/(\\w+)(=)(\"(?:[^\"\\\\]|\\\\.)*\")/,[\"attribute.name\",\"operator\",\"string\"]],[/(\\w+)(=)('(?:[^'\\\\]|\\\\.)*')/,[\"attribute.name\",\"operator\",\"string\"]],[/(\\w+(?=\\s|>|={|$))/,[\"attribute.name\"]],[/={/,{token:\"delimiter.bracket\",next:\"@expression\",nextEmbedded:\"js\"}],[/>/,{token:\"type.identifier\",next:\"@pop\"}]],header:[[/.$/,{token:\"keyword\",next:\"@pop\"}],{include:\"content\"},[/./,{token:\"keyword\"}]],strong:[[/\\*\\*/,{token:\"strong\",next:\"@pop\"}],{include:\"content\"},[/./,{token:\"strong\"}]],emphasis_underscore:[[/_/,{token:\"emphasis\",next:\"@pop\"}],{include:\"content\"},[/./,{token:\"emphasis\"}]],emphasis_asterisk:[[/\\*(?!\\*)/,{token:\"emphasis\",next:\"@pop\"}],{include:\"content\"},[/./,{token:\"emphasis\"}]],frontmatter:[[/^---$/,{token:\"meta.content\",nextEmbedded:\"@pop\",next:\"@pop\"}]],codeblock_highlight_backtick:[[/\\s*`{3,}\\s*$/,{token:\"string\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/.*$/,\"variable.source\"]],codeblock_highlight_tilde:[[/\\s*~{3,}\\s*$/,{token:\"string\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/.*$/,\"variable.source\"]],codeblock_backtick:[[/\\s*`{3,}\\s*$/,{token:\"string\",next:\"@pop\"}],[/.*$/,\"variable.source\"]],codeblock_tilde:[[/\\s*~{3,}\\s*$/,{token:\"string\",next:\"@pop\"}],[/.*$/,\"variable.source\"]]}};return w(A);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/mips/mips.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/mips/mips\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var n in e)s(t,n,{get:e[n],enumerable:!0})},d=(t,e,n,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of o(e))!g.call(t,r)&&r!==n&&s(t,r,{get:()=>e[r],enumerable:!(i=a(e,r))||i.enumerable});return t};var m=t=>d(s({},\"__esModule\",{value:!0}),t);var x={};l(x,{conf:()=>p,language:()=>u});var p={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#%\\^\\&\\*\\(\\)\\=\\$\\-\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{blockComment:[\"###\",\"###\"],lineComment:\"#\"},folding:{markers:{start:new RegExp(\"^\\\\s*#region\\\\b\"),end:new RegExp(\"^\\\\s*#endregion\\\\b\")}}},u={defaultToken:\"\",ignoreCase:!1,tokenPostfix:\".mips\",regEx:/\\/(?!\\/\\/)(?:[^\\/\\\\]|\\\\.)*\\/[igm]*/,keywords:[\".data\",\".text\",\"syscall\",\"trap\",\"add\",\"addu\",\"addi\",\"addiu\",\"and\",\"andi\",\"div\",\"divu\",\"mult\",\"multu\",\"nor\",\"or\",\"ori\",\"sll\",\"slv\",\"sra\",\"srav\",\"srl\",\"srlv\",\"sub\",\"subu\",\"xor\",\"xori\",\"lhi\",\"lho\",\"lhi\",\"llo\",\"slt\",\"slti\",\"sltu\",\"sltiu\",\"beq\",\"bgtz\",\"blez\",\"bne\",\"j\",\"jal\",\"jalr\",\"jr\",\"lb\",\"lbu\",\"lh\",\"lhu\",\"lw\",\"li\",\"la\",\"sb\",\"sh\",\"sw\",\"mfhi\",\"mflo\",\"mthi\",\"mtlo\",\"move\"],symbols:/[\\.,\\:]+/,escapes:/\\\\(?:[abfnrtv\\\\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\\$[a-zA-Z_]\\w*/,\"variable.predefined\"],[/[.a-zA-Z_]\\w*/,{cases:{this:\"variable.predefined\",\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"\"}}],[/[ \\t\\r\\n]+/,\"\"],[/#.*$/,\"comment\"],[\"///\",{token:\"regexp\",next:\"@hereregexp\"}],[/^(\\s*)(@regEx)/,[\"\",\"regexp\"]],[/(\\,)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/(\\:)(\\s*)(@regEx)/,[\"delimiter\",\"\",\"regexp\"]],[/@symbols/,\"delimiter\"],[/\\d+[eE]([\\-+]?\\d+)?/,\"number.float\"],[/\\d+\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F]+/,\"number.hex\"],[/0[0-7]+(?!\\d)/,\"number.octal\"],[/\\d+/,\"number\"],[/[,.]/,\"delimiter\"],[/\"\"\"/,\"string\",'@herestring.\"\"\"'],[/'''/,\"string\",\"@herestring.'''\"],[/\"/,{cases:{\"@eos\":\"string\",\"@default\":{token:\"string\",next:'@string.\"'}}}],[/'/,{cases:{\"@eos\":\"string\",\"@default\":{token:\"string\",next:\"@string.'\"}}}]],string:[[/[^\"'\\#\\\\]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\./,\"string.escape.invalid\"],[/\\./,\"string.escape.invalid\"],[/#{/,{cases:{'$S2==\"':{token:\"string\",next:\"root.interpolatedstring\"},\"@default\":\"string\"}}],[/[\"']/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}],[/#/,\"string\"]],herestring:[[/(\"\"\"|''')/,{cases:{\"$1==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}],[/[^#\\\\'\"]+/,\"string\"],[/['\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\./,\"string.escape.invalid\"],[/#{/,{token:\"string.quote\",next:\"root.interpolatedstring\"}],[/#/,\"string\"]],comment:[[/[^#]+/,\"comment\"],[/#/,\"comment\"]],hereregexp:[[/[^\\\\\\/#]+/,\"regexp\"],[/\\\\./,\"regexp\"],[/#.*$/,\"comment\"],[\"///[igm]*\",{token:\"regexp\",next:\"@pop\"}],[/\\//,\"regexp\"]]}};return m(x);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/msdax/msdax.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/msdax/msdax\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var e=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var n=(T,E)=>{for(var N in E)e(T,N,{get:E[N],enumerable:!0})},t=(T,E,N,R)=>{if(E&&typeof E==\"object\"||typeof E==\"function\")for(let A of O(E))!S.call(T,A)&&A!==N&&e(T,A,{get:()=>E[A],enumerable:!(R=I(E,A))||R.enumerable});return T};var L=T=>t(e({},\"__esModule\",{value:!0}),T);var D={};n(D,{conf:()=>C,language:()=>o});var C={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"[\",\"]\"],[\"(\",\")\"],[\"{\",\"}\"]],autoClosingPairs:[{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]},{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]}]},o={defaultToken:\"\",tokenPostfix:\".msdax\",ignoreCase:!0,brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"{\",close:\"}\",token:\"delimiter.brackets\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],keywords:[\"VAR\",\"RETURN\",\"NOT\",\"EVALUATE\",\"DATATABLE\",\"ORDER\",\"BY\",\"START\",\"AT\",\"DEFINE\",\"MEASURE\",\"ASC\",\"DESC\",\"IN\",\"BOOLEAN\",\"DOUBLE\",\"INTEGER\",\"DATETIME\",\"CURRENCY\",\"STRING\"],functions:[\"CLOSINGBALANCEMONTH\",\"CLOSINGBALANCEQUARTER\",\"CLOSINGBALANCEYEAR\",\"DATEADD\",\"DATESBETWEEN\",\"DATESINPERIOD\",\"DATESMTD\",\"DATESQTD\",\"DATESYTD\",\"ENDOFMONTH\",\"ENDOFQUARTER\",\"ENDOFYEAR\",\"FIRSTDATE\",\"FIRSTNONBLANK\",\"LASTDATE\",\"LASTNONBLANK\",\"NEXTDAY\",\"NEXTMONTH\",\"NEXTQUARTER\",\"NEXTYEAR\",\"OPENINGBALANCEMONTH\",\"OPENINGBALANCEQUARTER\",\"OPENINGBALANCEYEAR\",\"PARALLELPERIOD\",\"PREVIOUSDAY\",\"PREVIOUSMONTH\",\"PREVIOUSQUARTER\",\"PREVIOUSYEAR\",\"SAMEPERIODLASTYEAR\",\"STARTOFMONTH\",\"STARTOFQUARTER\",\"STARTOFYEAR\",\"TOTALMTD\",\"TOTALQTD\",\"TOTALYTD\",\"ADDCOLUMNS\",\"ADDMISSINGITEMS\",\"ALL\",\"ALLEXCEPT\",\"ALLNOBLANKROW\",\"ALLSELECTED\",\"CALCULATE\",\"CALCULATETABLE\",\"CALENDAR\",\"CALENDARAUTO\",\"CROSSFILTER\",\"CROSSJOIN\",\"CURRENTGROUP\",\"DATATABLE\",\"DETAILROWS\",\"DISTINCT\",\"EARLIER\",\"EARLIEST\",\"EXCEPT\",\"FILTER\",\"FILTERS\",\"GENERATE\",\"GENERATEALL\",\"GROUPBY\",\"IGNORE\",\"INTERSECT\",\"ISONORAFTER\",\"KEEPFILTERS\",\"LOOKUPVALUE\",\"NATURALINNERJOIN\",\"NATURALLEFTOUTERJOIN\",\"RELATED\",\"RELATEDTABLE\",\"ROLLUP\",\"ROLLUPADDISSUBTOTAL\",\"ROLLUPGROUP\",\"ROLLUPISSUBTOTAL\",\"ROW\",\"SAMPLE\",\"SELECTCOLUMNS\",\"SUBSTITUTEWITHINDEX\",\"SUMMARIZE\",\"SUMMARIZECOLUMNS\",\"TOPN\",\"TREATAS\",\"UNION\",\"USERELATIONSHIP\",\"VALUES\",\"SUM\",\"SUMX\",\"PATH\",\"PATHCONTAINS\",\"PATHITEM\",\"PATHITEMREVERSE\",\"PATHLENGTH\",\"AVERAGE\",\"AVERAGEA\",\"AVERAGEX\",\"COUNT\",\"COUNTA\",\"COUNTAX\",\"COUNTBLANK\",\"COUNTROWS\",\"COUNTX\",\"DISTINCTCOUNT\",\"DIVIDE\",\"GEOMEAN\",\"GEOMEANX\",\"MAX\",\"MAXA\",\"MAXX\",\"MEDIAN\",\"MEDIANX\",\"MIN\",\"MINA\",\"MINX\",\"PERCENTILE.EXC\",\"PERCENTILE.INC\",\"PERCENTILEX.EXC\",\"PERCENTILEX.INC\",\"PRODUCT\",\"PRODUCTX\",\"RANK.EQ\",\"RANKX\",\"STDEV.P\",\"STDEV.S\",\"STDEVX.P\",\"STDEVX.S\",\"VAR.P\",\"VAR.S\",\"VARX.P\",\"VARX.S\",\"XIRR\",\"XNPV\",\"DATE\",\"DATEDIFF\",\"DATEVALUE\",\"DAY\",\"EDATE\",\"EOMONTH\",\"HOUR\",\"MINUTE\",\"MONTH\",\"NOW\",\"SECOND\",\"TIME\",\"TIMEVALUE\",\"TODAY\",\"WEEKDAY\",\"WEEKNUM\",\"YEAR\",\"YEARFRAC\",\"CONTAINS\",\"CONTAINSROW\",\"CUSTOMDATA\",\"ERROR\",\"HASONEFILTER\",\"HASONEVALUE\",\"ISBLANK\",\"ISCROSSFILTERED\",\"ISEMPTY\",\"ISERROR\",\"ISEVEN\",\"ISFILTERED\",\"ISLOGICAL\",\"ISNONTEXT\",\"ISNUMBER\",\"ISODD\",\"ISSUBTOTAL\",\"ISTEXT\",\"USERNAME\",\"USERPRINCIPALNAME\",\"AND\",\"FALSE\",\"IF\",\"IFERROR\",\"NOT\",\"OR\",\"SWITCH\",\"TRUE\",\"ABS\",\"ACOS\",\"ACOSH\",\"ACOT\",\"ACOTH\",\"ASIN\",\"ASINH\",\"ATAN\",\"ATANH\",\"BETA.DIST\",\"BETA.INV\",\"CEILING\",\"CHISQ.DIST\",\"CHISQ.DIST.RT\",\"CHISQ.INV\",\"CHISQ.INV.RT\",\"COMBIN\",\"COMBINA\",\"CONFIDENCE.NORM\",\"CONFIDENCE.T\",\"COS\",\"COSH\",\"COT\",\"COTH\",\"CURRENCY\",\"DEGREES\",\"EVEN\",\"EXP\",\"EXPON.DIST\",\"FACT\",\"FLOOR\",\"GCD\",\"INT\",\"ISO.CEILING\",\"LCM\",\"LN\",\"LOG\",\"LOG10\",\"MOD\",\"MROUND\",\"ODD\",\"PERMUT\",\"PI\",\"POISSON.DIST\",\"POWER\",\"QUOTIENT\",\"RADIANS\",\"RAND\",\"RANDBETWEEN\",\"ROUND\",\"ROUNDDOWN\",\"ROUNDUP\",\"SIGN\",\"SIN\",\"SINH\",\"SQRT\",\"SQRTPI\",\"TAN\",\"TANH\",\"TRUNC\",\"BLANK\",\"CONCATENATE\",\"CONCATENATEX\",\"EXACT\",\"FIND\",\"FIXED\",\"FORMAT\",\"LEFT\",\"LEN\",\"LOWER\",\"MID\",\"REPLACE\",\"REPT\",\"RIGHT\",\"SEARCH\",\"SUBSTITUTE\",\"TRIM\",\"UNICHAR\",\"UNICODE\",\"UPPER\",\"VALUE\"],tokenizer:{root:[{include:\"@comments\"},{include:\"@whitespace\"},{include:\"@numbers\"},{include:\"@strings\"},{include:\"@complexIdentifiers\"},[/[;,.]/,\"delimiter\"],[/[({})]/,\"@brackets\"],[/[a-z_][a-zA-Z0-9_]*/,{cases:{\"@keywords\":\"keyword\",\"@functions\":\"keyword\",\"@default\":\"identifier\"}}],[/[<>=!%&+\\-*/|~^]/,\"operator\"]],whitespace:[[/\\s+/,\"white\"]],comments:[[/\\/\\/+.*/,\"comment\"],[/\\/\\*/,{token:\"comment.quote\",next:\"@comment\"}]],comment:[[/[^*/]+/,\"comment\"],[/\\*\\//,{token:\"comment.quote\",next:\"@pop\"}],[/./,\"comment\"]],numbers:[[/0[xX][0-9a-fA-F]*/,\"number\"],[/[$][+-]*\\d*(\\.\\d*)?/,\"number\"],[/((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\-+]?\\d+)?/,\"number\"]],strings:[[/N\"/,{token:\"string\",next:\"@string\"}],[/\"/,{token:\"string\",next:\"@string\"}]],string:[[/[^\"]+/,\"string\"],[/\"\"/,\"string\"],[/\"/,{token:\"string\",next:\"@pop\"}]],complexIdentifiers:[[/\\[/,{token:\"identifier.quote\",next:\"@bracketedIdentifier\"}],[/'/,{token:\"identifier.quote\",next:\"@quotedIdentifier\"}]],bracketedIdentifier:[[/[^\\]]+/,\"identifier\"],[/]]/,\"identifier\"],[/]/,{token:\"identifier.quote\",next:\"@pop\"}]],quotedIdentifier:[[/[^']+/,\"identifier\"],[/''/,\"identifier\"],[/'/,{token:\"identifier.quote\",next:\"@pop\"}]]}};return L(D);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/mysql/mysql.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/mysql/mysql\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var A=Object.defineProperty;var e=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var o=(T,E)=>{for(var R in E)A(T,R,{get:E[R],enumerable:!0})},O=(T,E,R,_)=>{if(E&&typeof E==\"object\"||typeof E==\"function\")for(let S of I(E))!N.call(T,S)&&S!==R&&A(T,S,{get:()=>E[S],enumerable:!(_=e(E,S))||_.enumerable});return T};var t=T=>O(A({},\"__esModule\",{value:!0}),T);var L={};o(L,{conf:()=>n,language:()=>C});var n={comments:{lineComment:\"--\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},C={defaultToken:\"\",tokenPostfix:\".sql\",ignoreCase:!0,brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],keywords:[\"ACCESSIBLE\",\"ADD\",\"ALL\",\"ALTER\",\"ANALYZE\",\"AND\",\"AS\",\"ASC\",\"ASENSITIVE\",\"BEFORE\",\"BETWEEN\",\"BIGINT\",\"BINARY\",\"BLOB\",\"BOTH\",\"BY\",\"CALL\",\"CASCADE\",\"CASE\",\"CHANGE\",\"CHAR\",\"CHARACTER\",\"CHECK\",\"COLLATE\",\"COLUMN\",\"CONDITION\",\"CONSTRAINT\",\"CONTINUE\",\"CONVERT\",\"CREATE\",\"CROSS\",\"CUBE\",\"CUME_DIST\",\"CURRENT_DATE\",\"CURRENT_TIME\",\"CURRENT_TIMESTAMP\",\"CURRENT_USER\",\"CURSOR\",\"DATABASE\",\"DATABASES\",\"DAY_HOUR\",\"DAY_MICROSECOND\",\"DAY_MINUTE\",\"DAY_SECOND\",\"DEC\",\"DECIMAL\",\"DECLARE\",\"DEFAULT\",\"DELAYED\",\"DELETE\",\"DENSE_RANK\",\"DESC\",\"DESCRIBE\",\"DETERMINISTIC\",\"DISTINCT\",\"DISTINCTROW\",\"DIV\",\"DOUBLE\",\"DROP\",\"DUAL\",\"EACH\",\"ELSE\",\"ELSEIF\",\"EMPTY\",\"ENCLOSED\",\"ESCAPED\",\"EXCEPT\",\"EXISTS\",\"EXIT\",\"EXPLAIN\",\"FALSE\",\"FETCH\",\"FIRST_VALUE\",\"FLOAT\",\"FLOAT4\",\"FLOAT8\",\"FOR\",\"FORCE\",\"FOREIGN\",\"FROM\",\"FULLTEXT\",\"FUNCTION\",\"GENERATED\",\"GET\",\"GRANT\",\"GROUP\",\"GROUPING\",\"GROUPS\",\"HAVING\",\"HIGH_PRIORITY\",\"HOUR_MICROSECOND\",\"HOUR_MINUTE\",\"HOUR_SECOND\",\"IF\",\"IGNORE\",\"IN\",\"INDEX\",\"INFILE\",\"INNER\",\"INOUT\",\"INSENSITIVE\",\"INSERT\",\"INT\",\"INT1\",\"INT2\",\"INT3\",\"INT4\",\"INT8\",\"INTEGER\",\"INTERVAL\",\"INTO\",\"IO_AFTER_GTIDS\",\"IO_BEFORE_GTIDS\",\"IS\",\"ITERATE\",\"JOIN\",\"JSON_TABLE\",\"KEY\",\"KEYS\",\"KILL\",\"LAG\",\"LAST_VALUE\",\"LATERAL\",\"LEAD\",\"LEADING\",\"LEAVE\",\"LEFT\",\"LIKE\",\"LIMIT\",\"LINEAR\",\"LINES\",\"LOAD\",\"LOCALTIME\",\"LOCALTIMESTAMP\",\"LOCK\",\"LONG\",\"LONGBLOB\",\"LONGTEXT\",\"LOOP\",\"LOW_PRIORITY\",\"MASTER_BIND\",\"MASTER_SSL_VERIFY_SERVER_CERT\",\"MATCH\",\"MAXVALUE\",\"MEDIUMBLOB\",\"MEDIUMINT\",\"MEDIUMTEXT\",\"MIDDLEINT\",\"MINUTE_MICROSECOND\",\"MINUTE_SECOND\",\"MOD\",\"MODIFIES\",\"NATURAL\",\"NOT\",\"NO_WRITE_TO_BINLOG\",\"NTH_VALUE\",\"NTILE\",\"NULL\",\"NUMERIC\",\"OF\",\"ON\",\"OPTIMIZE\",\"OPTIMIZER_COSTS\",\"OPTION\",\"OPTIONALLY\",\"OR\",\"ORDER\",\"OUT\",\"OUTER\",\"OUTFILE\",\"OVER\",\"PARTITION\",\"PERCENT_RANK\",\"PRECISION\",\"PRIMARY\",\"PROCEDURE\",\"PURGE\",\"RANGE\",\"RANK\",\"READ\",\"READS\",\"READ_WRITE\",\"REAL\",\"RECURSIVE\",\"REFERENCES\",\"REGEXP\",\"RELEASE\",\"RENAME\",\"REPEAT\",\"REPLACE\",\"REQUIRE\",\"RESIGNAL\",\"RESTRICT\",\"RETURN\",\"REVOKE\",\"RIGHT\",\"RLIKE\",\"ROW\",\"ROWS\",\"ROW_NUMBER\",\"SCHEMA\",\"SCHEMAS\",\"SECOND_MICROSECOND\",\"SELECT\",\"SENSITIVE\",\"SEPARATOR\",\"SET\",\"SHOW\",\"SIGNAL\",\"SMALLINT\",\"SPATIAL\",\"SPECIFIC\",\"SQL\",\"SQLEXCEPTION\",\"SQLSTATE\",\"SQLWARNING\",\"SQL_BIG_RESULT\",\"SQL_CALC_FOUND_ROWS\",\"SQL_SMALL_RESULT\",\"SSL\",\"STARTING\",\"STORED\",\"STRAIGHT_JOIN\",\"SYSTEM\",\"TABLE\",\"TERMINATED\",\"THEN\",\"TINYBLOB\",\"TINYINT\",\"TINYTEXT\",\"TO\",\"TRAILING\",\"TRIGGER\",\"TRUE\",\"UNDO\",\"UNION\",\"UNIQUE\",\"UNLOCK\",\"UNSIGNED\",\"UPDATE\",\"USAGE\",\"USE\",\"USING\",\"UTC_DATE\",\"UTC_TIME\",\"UTC_TIMESTAMP\",\"VALUES\",\"VARBINARY\",\"VARCHAR\",\"VARCHARACTER\",\"VARYING\",\"VIRTUAL\",\"WHEN\",\"WHERE\",\"WHILE\",\"WINDOW\",\"WITH\",\"WRITE\",\"XOR\",\"YEAR_MONTH\",\"ZEROFILL\"],operators:[\"AND\",\"BETWEEN\",\"IN\",\"LIKE\",\"NOT\",\"OR\",\"IS\",\"NULL\",\"INTERSECT\",\"UNION\",\"INNER\",\"JOIN\",\"LEFT\",\"OUTER\",\"RIGHT\"],builtinFunctions:[\"ABS\",\"ACOS\",\"ADDDATE\",\"ADDTIME\",\"AES_DECRYPT\",\"AES_ENCRYPT\",\"ANY_VALUE\",\"Area\",\"AsBinary\",\"AsWKB\",\"ASCII\",\"ASIN\",\"AsText\",\"AsWKT\",\"ASYMMETRIC_DECRYPT\",\"ASYMMETRIC_DERIVE\",\"ASYMMETRIC_ENCRYPT\",\"ASYMMETRIC_SIGN\",\"ASYMMETRIC_VERIFY\",\"ATAN\",\"ATAN2\",\"ATAN\",\"AVG\",\"BENCHMARK\",\"BIN\",\"BIT_AND\",\"BIT_COUNT\",\"BIT_LENGTH\",\"BIT_OR\",\"BIT_XOR\",\"Buffer\",\"CAST\",\"CEIL\",\"CEILING\",\"Centroid\",\"CHAR\",\"CHAR_LENGTH\",\"CHARACTER_LENGTH\",\"CHARSET\",\"COALESCE\",\"COERCIBILITY\",\"COLLATION\",\"COMPRESS\",\"CONCAT\",\"CONCAT_WS\",\"CONNECTION_ID\",\"Contains\",\"CONV\",\"CONVERT\",\"CONVERT_TZ\",\"ConvexHull\",\"COS\",\"COT\",\"COUNT\",\"CRC32\",\"CREATE_ASYMMETRIC_PRIV_KEY\",\"CREATE_ASYMMETRIC_PUB_KEY\",\"CREATE_DH_PARAMETERS\",\"CREATE_DIGEST\",\"Crosses\",\"CUME_DIST\",\"CURDATE\",\"CURRENT_DATE\",\"CURRENT_ROLE\",\"CURRENT_TIME\",\"CURRENT_TIMESTAMP\",\"CURRENT_USER\",\"CURTIME\",\"DATABASE\",\"DATE\",\"DATE_ADD\",\"DATE_FORMAT\",\"DATE_SUB\",\"DATEDIFF\",\"DAY\",\"DAYNAME\",\"DAYOFMONTH\",\"DAYOFWEEK\",\"DAYOFYEAR\",\"DECODE\",\"DEFAULT\",\"DEGREES\",\"DES_DECRYPT\",\"DES_ENCRYPT\",\"DENSE_RANK\",\"Dimension\",\"Disjoint\",\"Distance\",\"ELT\",\"ENCODE\",\"ENCRYPT\",\"EndPoint\",\"Envelope\",\"Equals\",\"EXP\",\"EXPORT_SET\",\"ExteriorRing\",\"EXTRACT\",\"ExtractValue\",\"FIELD\",\"FIND_IN_SET\",\"FIRST_VALUE\",\"FLOOR\",\"FORMAT\",\"FORMAT_BYTES\",\"FORMAT_PICO_TIME\",\"FOUND_ROWS\",\"FROM_BASE64\",\"FROM_DAYS\",\"FROM_UNIXTIME\",\"GEN_RANGE\",\"GEN_RND_EMAIL\",\"GEN_RND_PAN\",\"GEN_RND_SSN\",\"GEN_RND_US_PHONE\",\"GeomCollection\",\"GeomCollFromText\",\"GeometryCollectionFromText\",\"GeomCollFromWKB\",\"GeometryCollectionFromWKB\",\"GeometryCollection\",\"GeometryN\",\"GeometryType\",\"GeomFromText\",\"GeometryFromText\",\"GeomFromWKB\",\"GeometryFromWKB\",\"GET_FORMAT\",\"GET_LOCK\",\"GLength\",\"GREATEST\",\"GROUP_CONCAT\",\"GROUPING\",\"GTID_SUBSET\",\"GTID_SUBTRACT\",\"HEX\",\"HOUR\",\"ICU_VERSION\",\"IF\",\"IFNULL\",\"INET_ATON\",\"INET_NTOA\",\"INET6_ATON\",\"INET6_NTOA\",\"INSERT\",\"INSTR\",\"InteriorRingN\",\"Intersects\",\"INTERVAL\",\"IS_FREE_LOCK\",\"IS_IPV4\",\"IS_IPV4_COMPAT\",\"IS_IPV4_MAPPED\",\"IS_IPV6\",\"IS_USED_LOCK\",\"IS_UUID\",\"IsClosed\",\"IsEmpty\",\"ISNULL\",\"IsSimple\",\"JSON_APPEND\",\"JSON_ARRAY\",\"JSON_ARRAY_APPEND\",\"JSON_ARRAY_INSERT\",\"JSON_ARRAYAGG\",\"JSON_CONTAINS\",\"JSON_CONTAINS_PATH\",\"JSON_DEPTH\",\"JSON_EXTRACT\",\"JSON_INSERT\",\"JSON_KEYS\",\"JSON_LENGTH\",\"JSON_MERGE\",\"JSON_MERGE_PATCH\",\"JSON_MERGE_PRESERVE\",\"JSON_OBJECT\",\"JSON_OBJECTAGG\",\"JSON_OVERLAPS\",\"JSON_PRETTY\",\"JSON_QUOTE\",\"JSON_REMOVE\",\"JSON_REPLACE\",\"JSON_SCHEMA_VALID\",\"JSON_SCHEMA_VALIDATION_REPORT\",\"JSON_SEARCH\",\"JSON_SET\",\"JSON_STORAGE_FREE\",\"JSON_STORAGE_SIZE\",\"JSON_TABLE\",\"JSON_TYPE\",\"JSON_UNQUOTE\",\"JSON_VALID\",\"LAG\",\"LAST_DAY\",\"LAST_INSERT_ID\",\"LAST_VALUE\",\"LCASE\",\"LEAD\",\"LEAST\",\"LEFT\",\"LENGTH\",\"LineFromText\",\"LineStringFromText\",\"LineFromWKB\",\"LineStringFromWKB\",\"LineString\",\"LN\",\"LOAD_FILE\",\"LOCALTIME\",\"LOCALTIMESTAMP\",\"LOCATE\",\"LOG\",\"LOG10\",\"LOG2\",\"LOWER\",\"LPAD\",\"LTRIM\",\"MAKE_SET\",\"MAKEDATE\",\"MAKETIME\",\"MASK_INNER\",\"MASK_OUTER\",\"MASK_PAN\",\"MASK_PAN_RELAXED\",\"MASK_SSN\",\"MASTER_POS_WAIT\",\"MAX\",\"MBRContains\",\"MBRCoveredBy\",\"MBRCovers\",\"MBRDisjoint\",\"MBREqual\",\"MBREquals\",\"MBRIntersects\",\"MBROverlaps\",\"MBRTouches\",\"MBRWithin\",\"MD5\",\"MEMBER OF\",\"MICROSECOND\",\"MID\",\"MIN\",\"MINUTE\",\"MLineFromText\",\"MultiLineStringFromText\",\"MLineFromWKB\",\"MultiLineStringFromWKB\",\"MOD\",\"MONTH\",\"MONTHNAME\",\"MPointFromText\",\"MultiPointFromText\",\"MPointFromWKB\",\"MultiPointFromWKB\",\"MPolyFromText\",\"MultiPolygonFromText\",\"MPolyFromWKB\",\"MultiPolygonFromWKB\",\"MultiLineString\",\"MultiPoint\",\"MultiPolygon\",\"NAME_CONST\",\"NOT IN\",\"NOW\",\"NTH_VALUE\",\"NTILE\",\"NULLIF\",\"NumGeometries\",\"NumInteriorRings\",\"NumPoints\",\"OCT\",\"OCTET_LENGTH\",\"OLD_PASSWORD\",\"ORD\",\"Overlaps\",\"PASSWORD\",\"PERCENT_RANK\",\"PERIOD_ADD\",\"PERIOD_DIFF\",\"PI\",\"Point\",\"PointFromText\",\"PointFromWKB\",\"PointN\",\"PolyFromText\",\"PolygonFromText\",\"PolyFromWKB\",\"PolygonFromWKB\",\"Polygon\",\"POSITION\",\"POW\",\"POWER\",\"PS_CURRENT_THREAD_ID\",\"PS_THREAD_ID\",\"PROCEDURE ANALYSE\",\"QUARTER\",\"QUOTE\",\"RADIANS\",\"RAND\",\"RANDOM_BYTES\",\"RANK\",\"REGEXP_INSTR\",\"REGEXP_LIKE\",\"REGEXP_REPLACE\",\"REGEXP_REPLACE\",\"RELEASE_ALL_LOCKS\",\"RELEASE_LOCK\",\"REPEAT\",\"REPLACE\",\"REVERSE\",\"RIGHT\",\"ROLES_GRAPHML\",\"ROUND\",\"ROW_COUNT\",\"ROW_NUMBER\",\"RPAD\",\"RTRIM\",\"SCHEMA\",\"SEC_TO_TIME\",\"SECOND\",\"SESSION_USER\",\"SHA1\",\"SHA\",\"SHA2\",\"SIGN\",\"SIN\",\"SLEEP\",\"SOUNDEX\",\"SOURCE_POS_WAIT\",\"SPACE\",\"SQRT\",\"SRID\",\"ST_Area\",\"ST_AsBinary\",\"ST_AsWKB\",\"ST_AsGeoJSON\",\"ST_AsText\",\"ST_AsWKT\",\"ST_Buffer\",\"ST_Buffer_Strategy\",\"ST_Centroid\",\"ST_Collect\",\"ST_Contains\",\"ST_ConvexHull\",\"ST_Crosses\",\"ST_Difference\",\"ST_Dimension\",\"ST_Disjoint\",\"ST_Distance\",\"ST_Distance_Sphere\",\"ST_EndPoint\",\"ST_Envelope\",\"ST_Equals\",\"ST_ExteriorRing\",\"ST_FrechetDistance\",\"ST_GeoHash\",\"ST_GeomCollFromText\",\"ST_GeometryCollectionFromText\",\"ST_GeomCollFromTxt\",\"ST_GeomCollFromWKB\",\"ST_GeometryCollectionFromWKB\",\"ST_GeometryN\",\"ST_GeometryType\",\"ST_GeomFromGeoJSON\",\"ST_GeomFromText\",\"ST_GeometryFromText\",\"ST_GeomFromWKB\",\"ST_GeometryFromWKB\",\"ST_HausdorffDistance\",\"ST_InteriorRingN\",\"ST_Intersection\",\"ST_Intersects\",\"ST_IsClosed\",\"ST_IsEmpty\",\"ST_IsSimple\",\"ST_IsValid\",\"ST_LatFromGeoHash\",\"ST_Length\",\"ST_LineFromText\",\"ST_LineStringFromText\",\"ST_LineFromWKB\",\"ST_LineStringFromWKB\",\"ST_LineInterpolatePoint\",\"ST_LineInterpolatePoints\",\"ST_LongFromGeoHash\",\"ST_Longitude\",\"ST_MakeEnvelope\",\"ST_MLineFromText\",\"ST_MultiLineStringFromText\",\"ST_MLineFromWKB\",\"ST_MultiLineStringFromWKB\",\"ST_MPointFromText\",\"ST_MultiPointFromText\",\"ST_MPointFromWKB\",\"ST_MultiPointFromWKB\",\"ST_MPolyFromText\",\"ST_MultiPolygonFromText\",\"ST_MPolyFromWKB\",\"ST_MultiPolygonFromWKB\",\"ST_NumGeometries\",\"ST_NumInteriorRing\",\"ST_NumInteriorRings\",\"ST_NumPoints\",\"ST_Overlaps\",\"ST_PointAtDistance\",\"ST_PointFromGeoHash\",\"ST_PointFromText\",\"ST_PointFromWKB\",\"ST_PointN\",\"ST_PolyFromText\",\"ST_PolygonFromText\",\"ST_PolyFromWKB\",\"ST_PolygonFromWKB\",\"ST_Simplify\",\"ST_SRID\",\"ST_StartPoint\",\"ST_SwapXY\",\"ST_SymDifference\",\"ST_Touches\",\"ST_Transform\",\"ST_Union\",\"ST_Validate\",\"ST_Within\",\"ST_X\",\"ST_Y\",\"StartPoint\",\"STATEMENT_DIGEST\",\"STATEMENT_DIGEST_TEXT\",\"STD\",\"STDDEV\",\"STDDEV_POP\",\"STDDEV_SAMP\",\"STR_TO_DATE\",\"STRCMP\",\"SUBDATE\",\"SUBSTR\",\"SUBSTRING\",\"SUBSTRING_INDEX\",\"SUBTIME\",\"SUM\",\"SYSDATE\",\"SYSTEM_USER\",\"TAN\",\"TIME\",\"TIME_FORMAT\",\"TIME_TO_SEC\",\"TIMEDIFF\",\"TIMESTAMP\",\"TIMESTAMPADD\",\"TIMESTAMPDIFF\",\"TO_BASE64\",\"TO_DAYS\",\"TO_SECONDS\",\"Touches\",\"TRIM\",\"TRUNCATE\",\"UCASE\",\"UNCOMPRESS\",\"UNCOMPRESSED_LENGTH\",\"UNHEX\",\"UNIX_TIMESTAMP\",\"UpdateXML\",\"UPPER\",\"USER\",\"UTC_DATE\",\"UTC_TIME\",\"UTC_TIMESTAMP\",\"UUID\",\"UUID_SHORT\",\"UUID_TO_BIN\",\"VALIDATE_PASSWORD_STRENGTH\",\"VALUES\",\"VAR_POP\",\"VAR_SAMP\",\"VARIANCE\",\"VERSION\",\"WAIT_FOR_EXECUTED_GTID_SET\",\"WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS\",\"WEEK\",\"WEEKDAY\",\"WEEKOFYEAR\",\"WEIGHT_STRING\",\"Within\",\"X\",\"Y\",\"YEAR\",\"YEARWEEK\"],builtinVariables:[],tokenizer:{root:[{include:\"@comments\"},{include:\"@whitespace\"},{include:\"@numbers\"},{include:\"@strings\"},{include:\"@complexIdentifiers\"},{include:\"@scopes\"},[/[;,.]/,\"delimiter\"],[/[()]/,\"@brackets\"],[/[\\w@]+/,{cases:{\"@operators\":\"operator\",\"@builtinVariables\":\"predefined\",\"@builtinFunctions\":\"predefined\",\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}],[/[<>=!%&+\\-*/|~^]/,\"operator\"]],whitespace:[[/\\s+/,\"white\"]],comments:[[/--+.*/,\"comment\"],[/#+.*/,\"comment\"],[/\\/\\*/,{token:\"comment.quote\",next:\"@comment\"}]],comment:[[/[^*/]+/,\"comment\"],[/\\*\\//,{token:\"comment.quote\",next:\"@pop\"}],[/./,\"comment\"]],numbers:[[/0[xX][0-9a-fA-F]*/,\"number\"],[/[$][+-]*\\d*(\\.\\d*)?/,\"number\"],[/((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\-+]?\\d+)?/,\"number\"]],strings:[[/'/,{token:\"string\",next:\"@string\"}],[/\"/,{token:\"string.double\",next:\"@stringDouble\"}]],string:[[/\\\\'/,\"string\"],[/[^']+/,\"string\"],[/''/,\"string\"],[/'/,{token:\"string\",next:\"@pop\"}]],stringDouble:[[/[^\"]+/,\"string.double\"],[/\"\"/,\"string.double\"],[/\"/,{token:\"string.double\",next:\"@pop\"}]],complexIdentifiers:[[/`/,{token:\"identifier.quote\",next:\"@quotedIdentifier\"}]],quotedIdentifier:[[/[^`]+/,\"identifier\"],[/``/,\"identifier\"],[/`/,{token:\"identifier.quote\",next:\"@pop\"}]],scopes:[]}};return t(L);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/objective-c/objective-c.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/objective-c/objective-c\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(o,e)=>{for(var t in e)s(o,t,{get:e[t],enumerable:!0})},p=(o,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of c(e))!a.call(o,n)&&n!==t&&s(o,n,{get:()=>e[n],enumerable:!(i=r(e,n))||i.enumerable});return o};var d=o=>p(s({},\"__esModule\",{value:!0}),o);var u={};l(u,{conf:()=>g,language:()=>m});var g={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},m={defaultToken:\"\",tokenPostfix:\".objective-c\",keywords:[\"#import\",\"#include\",\"#define\",\"#else\",\"#endif\",\"#if\",\"#ifdef\",\"#ifndef\",\"#ident\",\"#undef\",\"@class\",\"@defs\",\"@dynamic\",\"@encode\",\"@end\",\"@implementation\",\"@interface\",\"@package\",\"@private\",\"@protected\",\"@property\",\"@protocol\",\"@public\",\"@selector\",\"@synthesize\",\"__declspec\",\"assign\",\"auto\",\"BOOL\",\"break\",\"bycopy\",\"byref\",\"case\",\"char\",\"Class\",\"const\",\"copy\",\"continue\",\"default\",\"do\",\"double\",\"else\",\"enum\",\"extern\",\"FALSE\",\"false\",\"float\",\"for\",\"goto\",\"if\",\"in\",\"int\",\"id\",\"inout\",\"IMP\",\"long\",\"nil\",\"nonatomic\",\"NULL\",\"oneway\",\"out\",\"private\",\"public\",\"protected\",\"readwrite\",\"readonly\",\"register\",\"return\",\"SEL\",\"self\",\"short\",\"signed\",\"sizeof\",\"static\",\"struct\",\"super\",\"switch\",\"typedef\",\"TRUE\",\"true\",\"union\",\"unsigned\",\"volatile\",\"void\",\"while\"],decpart:/\\d(_?\\d)*/,decimal:/0|@decpart/,tokenizer:{root:[{include:\"@comments\"},{include:\"@whitespace\"},{include:\"@numbers\"},{include:\"@strings\"},[/[,:;]/,\"delimiter\"],[/[{}\\[\\]()<>]/,\"@brackets\"],[/[a-zA-Z@#]\\w*/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}],[/[<>=\\\\+\\\\-\\\\*\\\\/\\\\^\\\\|\\\\~,]|and\\\\b|or\\\\b|not\\\\b]/,\"operator\"]],whitespace:[[/\\s+/,\"white\"]],comments:[[\"\\\\/\\\\*\",\"comment\",\"@comment\"],[\"\\\\/\\\\/+.*\",\"comment\"]],comment:[[\"\\\\*\\\\/\",\"comment\",\"@pop\"],[\".\",\"comment\"]],numbers:[[/0[xX][0-9a-fA-F]*(_?[0-9a-fA-F])*/,\"number.hex\"],[/@decimal((\\.@decpart)?([eE][\\-+]?@decpart)?)[fF]*/,{cases:{\"(\\\\d)*\":\"number\",$0:\"number.float\"}}]],strings:[[/'$/,\"string.escape\",\"@popall\"],[/'/,\"string.escape\",\"@stringBody\"],[/\"$/,\"string.escape\",\"@popall\"],[/\"/,\"string.escape\",\"@dblStringBody\"]],stringBody:[[/[^\\\\']+$/,\"string\",\"@popall\"],[/[^\\\\']+/,\"string\"],[/\\\\./,\"string\"],[/'/,\"string.escape\",\"@popall\"],[/\\\\$/,\"string\"]],dblStringBody:[[/[^\\\\\"]+$/,\"string\",\"@popall\"],[/[^\\\\\"]+/,\"string\"],[/\\\\./,\"string\"],[/\"/,\"string.escape\",\"@popall\"],[/\\\\$/,\"string\"]]}};return d(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/pascal/pascal.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/pascal/pascal\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var n=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(t,e)=>{for(var r in e)n(t,r,{get:e[r],enumerable:!0})},d=(t,e,r,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of a(e))!l.call(t,o)&&o!==r&&n(t,o,{get:()=>e[o],enumerable:!(i=s(e,o))||i.enumerable});return t};var p=t=>d(n({},\"__esModule\",{value:!0}),t);var g={};c(g,{conf:()=>m,language:()=>u});var m={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"{\",\"}\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"<\",\">\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*\\\\{\\\\$REGION(\\\\s\\\\'.*\\\\')?\\\\}\"),end:new RegExp(\"^\\\\s*\\\\{\\\\$ENDREGION\\\\}\")}}},u={defaultToken:\"\",tokenPostfix:\".pascal\",ignoreCase:!0,brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],keywords:[\"absolute\",\"abstract\",\"all\",\"and_then\",\"array\",\"as\",\"asm\",\"attribute\",\"begin\",\"bindable\",\"case\",\"class\",\"const\",\"contains\",\"default\",\"div\",\"else\",\"end\",\"except\",\"exports\",\"external\",\"far\",\"file\",\"finalization\",\"finally\",\"forward\",\"generic\",\"goto\",\"if\",\"implements\",\"import\",\"in\",\"index\",\"inherited\",\"initialization\",\"interrupt\",\"is\",\"label\",\"library\",\"mod\",\"module\",\"name\",\"near\",\"not\",\"object\",\"of\",\"on\",\"only\",\"operator\",\"or_else\",\"otherwise\",\"override\",\"package\",\"packed\",\"pow\",\"private\",\"program\",\"protected\",\"public\",\"published\",\"interface\",\"implementation\",\"qualified\",\"read\",\"record\",\"resident\",\"requires\",\"resourcestring\",\"restricted\",\"segment\",\"set\",\"shl\",\"shr\",\"specialize\",\"stored\",\"strict\",\"then\",\"threadvar\",\"to\",\"try\",\"type\",\"unit\",\"uses\",\"var\",\"view\",\"virtual\",\"dynamic\",\"overload\",\"reintroduce\",\"with\",\"write\",\"xor\",\"true\",\"false\",\"procedure\",\"function\",\"constructor\",\"destructor\",\"property\",\"break\",\"continue\",\"exit\",\"abort\",\"while\",\"do\",\"for\",\"raise\",\"repeat\",\"until\"],typeKeywords:[\"boolean\",\"double\",\"byte\",\"integer\",\"shortint\",\"char\",\"longint\",\"float\",\"string\"],operators:[\"=\",\">\",\"<\",\"<=\",\">=\",\"<>\",\":\",\":=\",\"and\",\"or\",\"+\",\"-\",\"*\",\"/\",\"@\",\"&\",\"^\",\"%\"],symbols:/[=><:@\\^&|+\\-*\\/\\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\\w]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/\\$[0-9a-fA-F]{1,16}/,\"number.hex\"],[/\\d+/,\"number\"],[/[;,.]/,\"delimiter\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/'/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/'/,\"string.invalid\"],[/\\#\\d+/,\"string\"]],comment:[[/[^\\*\\}]+/,\"comment\"],[/\\}/,\"comment\",\"@pop\"],[/[\\{]/,\"comment\"]],string:[[/[^\\\\']+/,\"string\"],[/\\\\./,\"string.escape.invalid\"],[/'/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\{/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]]}};return p(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/pascaligo/pascaligo.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/pascaligo/pascaligo\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var t in e)s(o,t,{get:e[t],enumerable:!0})},m=(o,e,t,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of a(e))!l.call(o,n)&&n!==t&&s(o,n,{get:()=>e[n],enumerable:!(r=i(e,n))||r.enumerable});return o};var p=o=>m(s({},\"__esModule\",{value:!0}),o);var u={};c(u,{conf:()=>d,language:()=>g});var d={comments:{lineComment:\"//\",blockComment:[\"(*\",\"*)\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"<\",\">\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"}]},g={defaultToken:\"\",tokenPostfix:\".pascaligo\",ignoreCase:!0,brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],keywords:[\"begin\",\"block\",\"case\",\"const\",\"else\",\"end\",\"fail\",\"for\",\"from\",\"function\",\"if\",\"is\",\"nil\",\"of\",\"remove\",\"return\",\"skip\",\"then\",\"type\",\"var\",\"while\",\"with\",\"option\",\"None\",\"transaction\"],typeKeywords:[\"bool\",\"int\",\"list\",\"map\",\"nat\",\"record\",\"string\",\"unit\",\"address\",\"map\",\"mtz\",\"xtz\"],operators:[\"=\",\">\",\"<\",\"<=\",\">=\",\"<>\",\":\",\":=\",\"and\",\"mod\",\"or\",\"+\",\"-\",\"*\",\"/\",\"@\",\"&\",\"^\",\"%\"],symbols:/[=><:@\\^&|+\\-*\\/\\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\\w]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/\\$[0-9a-fA-F]{1,16}/,\"number.hex\"],[/\\d+/,\"number\"],[/[;,.]/,\"delimiter\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/'/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/'/,\"string.invalid\"],[/\\#\\d+/,\"string\"]],comment:[[/[^\\(\\*]+/,\"comment\"],[/\\*\\)/,\"comment\",\"@pop\"],[/\\(\\*/,\"comment\"]],string:[[/[^\\\\']+/,\"string\"],[/\\\\./,\"string.escape.invalid\"],[/'/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\(\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]]}};return p(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/perl/perl.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/perl/perl\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var a=(t,e)=>{for(var n in e)r(t,n,{get:e[n],enumerable:!0})},$=(t,e,n,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of l(e))!d.call(t,s)&&s!==n&&r(t,s,{get:()=>e[s],enumerable:!(i=o(e,s))||i.enumerable});return t};var c=t=>$(r({},\"__esModule\",{value:!0}),t);var m={};a(m,{conf:()=>g,language:()=>p});var g={comments:{lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}]},p={defaultToken:\"\",tokenPostfix:\".perl\",brackets:[{token:\"delimiter.bracket\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"}],keywords:[\"__DATA__\",\"else\",\"lock\",\"__END__\",\"elsif\",\"lt\",\"__FILE__\",\"eq\",\"__LINE__\",\"exp\",\"ne\",\"sub\",\"__PACKAGE__\",\"for\",\"no\",\"and\",\"foreach\",\"or\",\"unless\",\"cmp\",\"ge\",\"package\",\"until\",\"continue\",\"gt\",\"while\",\"CORE\",\"if\",\"xor\",\"do\",\"le\",\"__DIE__\",\"__WARN__\"],builtinFunctions:[\"-A\",\"END\",\"length\",\"setpgrp\",\"-B\",\"endgrent\",\"link\",\"setpriority\",\"-b\",\"endhostent\",\"listen\",\"setprotoent\",\"-C\",\"endnetent\",\"local\",\"setpwent\",\"-c\",\"endprotoent\",\"localtime\",\"setservent\",\"-d\",\"endpwent\",\"log\",\"setsockopt\",\"-e\",\"endservent\",\"lstat\",\"shift\",\"-f\",\"eof\",\"map\",\"shmctl\",\"-g\",\"eval\",\"mkdir\",\"shmget\",\"-k\",\"exec\",\"msgctl\",\"shmread\",\"-l\",\"exists\",\"msgget\",\"shmwrite\",\"-M\",\"exit\",\"msgrcv\",\"shutdown\",\"-O\",\"fcntl\",\"msgsnd\",\"sin\",\"-o\",\"fileno\",\"my\",\"sleep\",\"-p\",\"flock\",\"next\",\"socket\",\"-r\",\"fork\",\"not\",\"socketpair\",\"-R\",\"format\",\"oct\",\"sort\",\"-S\",\"formline\",\"open\",\"splice\",\"-s\",\"getc\",\"opendir\",\"split\",\"-T\",\"getgrent\",\"ord\",\"sprintf\",\"-t\",\"getgrgid\",\"our\",\"sqrt\",\"-u\",\"getgrnam\",\"pack\",\"srand\",\"-w\",\"gethostbyaddr\",\"pipe\",\"stat\",\"-W\",\"gethostbyname\",\"pop\",\"state\",\"-X\",\"gethostent\",\"pos\",\"study\",\"-x\",\"getlogin\",\"print\",\"substr\",\"-z\",\"getnetbyaddr\",\"printf\",\"symlink\",\"abs\",\"getnetbyname\",\"prototype\",\"syscall\",\"accept\",\"getnetent\",\"push\",\"sysopen\",\"alarm\",\"getpeername\",\"quotemeta\",\"sysread\",\"atan2\",\"getpgrp\",\"rand\",\"sysseek\",\"AUTOLOAD\",\"getppid\",\"read\",\"system\",\"BEGIN\",\"getpriority\",\"readdir\",\"syswrite\",\"bind\",\"getprotobyname\",\"readline\",\"tell\",\"binmode\",\"getprotobynumber\",\"readlink\",\"telldir\",\"bless\",\"getprotoent\",\"readpipe\",\"tie\",\"break\",\"getpwent\",\"recv\",\"tied\",\"caller\",\"getpwnam\",\"redo\",\"time\",\"chdir\",\"getpwuid\",\"ref\",\"times\",\"CHECK\",\"getservbyname\",\"rename\",\"truncate\",\"chmod\",\"getservbyport\",\"require\",\"uc\",\"chomp\",\"getservent\",\"reset\",\"ucfirst\",\"chop\",\"getsockname\",\"return\",\"umask\",\"chown\",\"getsockopt\",\"reverse\",\"undef\",\"chr\",\"glob\",\"rewinddir\",\"UNITCHECK\",\"chroot\",\"gmtime\",\"rindex\",\"unlink\",\"close\",\"goto\",\"rmdir\",\"unpack\",\"closedir\",\"grep\",\"say\",\"unshift\",\"connect\",\"hex\",\"scalar\",\"untie\",\"cos\",\"index\",\"seek\",\"use\",\"crypt\",\"INIT\",\"seekdir\",\"utime\",\"dbmclose\",\"int\",\"select\",\"values\",\"dbmopen\",\"ioctl\",\"semctl\",\"vec\",\"defined\",\"join\",\"semget\",\"wait\",\"delete\",\"keys\",\"semop\",\"waitpid\",\"DESTROY\",\"kill\",\"send\",\"wantarray\",\"die\",\"last\",\"setgrent\",\"warn\",\"dump\",\"lc\",\"sethostent\",\"write\",\"each\",\"lcfirst\",\"setnetent\"],builtinFileHandlers:[\"ARGV\",\"STDERR\",\"STDOUT\",\"ARGVOUT\",\"STDIN\",\"ENV\"],builtinVariables:[\"$!\",\"$^RE_TRIE_MAXBUF\",\"$LAST_REGEXP_CODE_RESULT\",'$\"',\"$^S\",\"$LIST_SEPARATOR\",\"$#\",\"$^T\",\"$MATCH\",\"$$\",\"$^TAINT\",\"$MULTILINE_MATCHING\",\"$%\",\"$^UNICODE\",\"$NR\",\"$&\",\"$^UTF8LOCALE\",\"$OFMT\",\"$'\",\"$^V\",\"$OFS\",\"$(\",\"$^W\",\"$ORS\",\"$)\",\"$^WARNING_BITS\",\"$OS_ERROR\",\"$*\",\"$^WIDE_SYSTEM_CALLS\",\"$OSNAME\",\"$+\",\"$^X\",\"$OUTPUT_AUTO_FLUSH\",\"$,\",\"$_\",\"$OUTPUT_FIELD_SEPARATOR\",\"$-\",\"$`\",\"$OUTPUT_RECORD_SEPARATOR\",\"$.\",\"$a\",\"$PERL_VERSION\",\"$/\",\"$ACCUMULATOR\",\"$PERLDB\",\"$0\",\"$ARG\",\"$PID\",\"$:\",\"$ARGV\",\"$POSTMATCH\",\"$;\",\"$b\",\"$PREMATCH\",\"$<\",\"$BASETIME\",\"$PROCESS_ID\",\"$=\",\"$CHILD_ERROR\",\"$PROGRAM_NAME\",\"$>\",\"$COMPILING\",\"$REAL_GROUP_ID\",\"$?\",\"$DEBUGGING\",\"$REAL_USER_ID\",\"$@\",\"$EFFECTIVE_GROUP_ID\",\"$RS\",\"$[\",\"$EFFECTIVE_USER_ID\",\"$SUBSCRIPT_SEPARATOR\",\"$\\\\\",\"$EGID\",\"$SUBSEP\",\"$]\",\"$ERRNO\",\"$SYSTEM_FD_MAX\",\"$^\",\"$EUID\",\"$UID\",\"$^A\",\"$EVAL_ERROR\",\"$WARNING\",\"$^C\",\"$EXCEPTIONS_BEING_CAUGHT\",\"$|\",\"$^CHILD_ERROR_NATIVE\",\"$EXECUTABLE_NAME\",\"$~\",\"$^D\",\"$EXTENDED_OS_ERROR\",\"%!\",\"$^E\",\"$FORMAT_FORMFEED\",\"%^H\",\"$^ENCODING\",\"$FORMAT_LINE_BREAK_CHARACTERS\",\"%ENV\",\"$^F\",\"$FORMAT_LINES_LEFT\",\"%INC\",\"$^H\",\"$FORMAT_LINES_PER_PAGE\",\"%OVERLOAD\",\"$^I\",\"$FORMAT_NAME\",\"%SIG\",\"$^L\",\"$FORMAT_PAGE_NUMBER\",\"@+\",\"$^M\",\"$FORMAT_TOP_NAME\",\"@-\",\"$^N\",\"$GID\",\"@_\",\"$^O\",\"$INPLACE_EDIT\",\"@ARGV\",\"$^OPEN\",\"$INPUT_LINE_NUMBER\",\"@INC\",\"$^P\",\"$INPUT_RECORD_SEPARATOR\",\"@LAST_MATCH_START\",\"$^R\",\"$LAST_MATCH_END\",\"$^RE_DEBUG_FLAGS\",\"$LAST_PAREN_MATCH\"],symbols:/[:+\\-\\^*$&%@=<>!?|\\/~\\.]/,quoteLikeOps:[\"qr\",\"m\",\"s\",\"q\",\"qq\",\"qx\",\"qw\",\"tr\",\"y\"],escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:\"@whitespace\"},[/[a-zA-Z\\-_][\\w\\-_]*/,{cases:{\"@keywords\":\"keyword\",\"@builtinFunctions\":\"type.identifier\",\"@builtinFileHandlers\":\"variable.predefined\",\"@quoteLikeOps\":{token:\"@rematch\",next:\"quotedConstructs\"},\"@default\":\"\"}}],[/[\\$@%][*@#?\\+\\-\\$!\\w\\\\\\^><~:;\\.]+/,{cases:{\"@builtinVariables\":\"variable.predefined\",\"@default\":\"variable\"}}],{include:\"@strings\"},{include:\"@dblStrings\"},{include:\"@perldoc\"},{include:\"@heredoc\"},[/[{}\\[\\]()]/,\"@brackets\"],[/[\\/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\\\/|[^\\]\\/]))*[\\/]\\w*\\s*(?=[).,;]|$)/,\"regexp\"],[/@symbols/,\"operators\"],{include:\"@numbers\"},[/[,;]/,\"delimiter\"]],whitespace:[[/\\s+/,\"white\"],[/(^#!.*$)/,\"metatag\"],[/(^#.*$)/,\"comment\"]],numbers:[[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,\"number.hex\"],[/\\d+/,\"number\"]],strings:[[/'/,\"string\",\"@stringBody\"]],stringBody:[[/'/,\"string\",\"@popall\"],[/\\\\'/,\"string.escape\"],[/./,\"string\"]],dblStrings:[[/\"/,\"string\",\"@dblStringBody\"]],dblStringBody:[[/\"/,\"string\",\"@popall\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],{include:\"@variables\"},[/./,\"string\"]],quotedConstructs:[[/(q|qw|tr|y)\\s*\\(/,{token:\"string.delim\",switchTo:\"@qstring.(.)\"}],[/(q|qw|tr|y)\\s*\\[/,{token:\"string.delim\",switchTo:\"@qstring.[.]\"}],[/(q|qw|tr|y)\\s*\\{/,{token:\"string.delim\",switchTo:\"@qstring.{.}\"}],[/(q|qw|tr|y)\\s*</,{token:\"string.delim\",switchTo:\"@qstring.<.>\"}],[/(q|qw|tr|y)#/,{token:\"string.delim\",switchTo:\"@qstring.#.#\"}],[/(q|qw|tr|y)\\s*([^A-Za-z0-9#\\s])/,{token:\"string.delim\",switchTo:\"@qstring.$2.$2\"}],[/(q|qw|tr|y)\\s+(\\w)/,{token:\"string.delim\",switchTo:\"@qstring.$2.$2\"}],[/(qr|m|s)\\s*\\(/,{token:\"regexp.delim\",switchTo:\"@qregexp.(.)\"}],[/(qr|m|s)\\s*\\[/,{token:\"regexp.delim\",switchTo:\"@qregexp.[.]\"}],[/(qr|m|s)\\s*\\{/,{token:\"regexp.delim\",switchTo:\"@qregexp.{.}\"}],[/(qr|m|s)\\s*</,{token:\"regexp.delim\",switchTo:\"@qregexp.<.>\"}],[/(qr|m|s)#/,{token:\"regexp.delim\",switchTo:\"@qregexp.#.#\"}],[/(qr|m|s)\\s*([^A-Za-z0-9_#\\s])/,{token:\"regexp.delim\",switchTo:\"@qregexp.$2.$2\"}],[/(qr|m|s)\\s+(\\w)/,{token:\"regexp.delim\",switchTo:\"@qregexp.$2.$2\"}],[/(qq|qx)\\s*\\(/,{token:\"string.delim\",switchTo:\"@qqstring.(.)\"}],[/(qq|qx)\\s*\\[/,{token:\"string.delim\",switchTo:\"@qqstring.[.]\"}],[/(qq|qx)\\s*\\{/,{token:\"string.delim\",switchTo:\"@qqstring.{.}\"}],[/(qq|qx)\\s*</,{token:\"string.delim\",switchTo:\"@qqstring.<.>\"}],[/(qq|qx)#/,{token:\"string.delim\",switchTo:\"@qqstring.#.#\"}],[/(qq|qx)\\s*([^A-Za-z0-9#\\s])/,{token:\"string.delim\",switchTo:\"@qqstring.$2.$2\"}],[/(qq|qx)\\s+(\\w)/,{token:\"string.delim\",switchTo:\"@qqstring.$2.$2\"}]],qstring:[[/\\\\./,\"string.escape\"],[/./,{cases:{\"$#==$S3\":{token:\"string.delim\",next:\"@pop\"},\"$#==$S2\":{token:\"string.delim\",next:\"@push\"},\"@default\":\"string\"}}]],qregexp:[{include:\"@variables\"},[/\\\\./,\"regexp.escape\"],[/./,{cases:{\"$#==$S3\":{token:\"regexp.delim\",next:\"@regexpModifiers\"},\"$#==$S2\":{token:\"regexp.delim\",next:\"@push\"},\"@default\":\"regexp\"}}]],regexpModifiers:[[/[msixpodualngcer]+/,{token:\"regexp.modifier\",next:\"@popall\"}]],qqstring:[{include:\"@variables\"},{include:\"@qstring\"}],heredoc:[[/<<\\s*['\"`]?([\\w\\-]+)['\"`]?/,{token:\"string.heredoc.delimiter\",next:\"@heredocBody.$1\"}]],heredocBody:[[/^([\\w\\-]+)$/,{cases:{\"$1==$S2\":[{token:\"string.heredoc.delimiter\",next:\"@popall\"}],\"@default\":\"string.heredoc\"}}],[/./,\"string.heredoc\"]],perldoc:[[/^=\\w/,\"comment.doc\",\"@perldocBody\"]],perldocBody:[[/^=cut\\b/,\"type.identifier\",\"@popall\"],[/./,\"comment.doc\"]],variables:[[/\\$\\w+/,\"variable\"],[/@\\w+/,\"variable\"],[/%\\w+/,\"variable\"]]}};return c(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/pgsql/pgsql.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/pgsql/pgsql\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var p=(_,e)=>{for(var s in e)r(_,s,{get:e[s],enumerable:!0})},l=(_,e,s,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of i(e))!n.call(_,t)&&t!==s&&r(_,t,{get:()=>e[t],enumerable:!(a=o(e,t))||a.enumerable});return _};var g=_=>l(r({},\"__esModule\",{value:!0}),_);var m={};p(m,{conf:()=>c,language:()=>d});var c={comments:{lineComment:\"--\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},d={defaultToken:\"\",tokenPostfix:\".sql\",ignoreCase:!0,brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],keywords:[\"ALL\",\"ANALYSE\",\"ANALYZE\",\"AND\",\"ANY\",\"ARRAY\",\"AS\",\"ASC\",\"ASYMMETRIC\",\"AUTHORIZATION\",\"BINARY\",\"BOTH\",\"CASE\",\"CAST\",\"CHECK\",\"COLLATE\",\"COLLATION\",\"COLUMN\",\"CONCURRENTLY\",\"CONSTRAINT\",\"CREATE\",\"CROSS\",\"CURRENT_CATALOG\",\"CURRENT_DATE\",\"CURRENT_ROLE\",\"CURRENT_SCHEMA\",\"CURRENT_TIME\",\"CURRENT_TIMESTAMP\",\"CURRENT_USER\",\"DEFAULT\",\"DEFERRABLE\",\"DESC\",\"DISTINCT\",\"DO\",\"ELSE\",\"END\",\"EXCEPT\",\"FALSE\",\"FETCH\",\"FOR\",\"FOREIGN\",\"FREEZE\",\"FROM\",\"FULL\",\"GRANT\",\"GROUP\",\"HAVING\",\"ILIKE\",\"IN\",\"INITIALLY\",\"INNER\",\"INTERSECT\",\"INTO\",\"IS\",\"ISNULL\",\"JOIN\",\"LATERAL\",\"LEADING\",\"LEFT\",\"LIKE\",\"LIMIT\",\"LOCALTIME\",\"LOCALTIMESTAMP\",\"NATURAL\",\"NOT\",\"NOTNULL\",\"NULL\",\"OFFSET\",\"ON\",\"ONLY\",\"OR\",\"ORDER\",\"OUTER\",\"OVERLAPS\",\"PLACING\",\"PRIMARY\",\"REFERENCES\",\"RETURNING\",\"RIGHT\",\"SELECT\",\"SESSION_USER\",\"SIMILAR\",\"SOME\",\"SYMMETRIC\",\"TABLE\",\"TABLESAMPLE\",\"THEN\",\"TO\",\"TRAILING\",\"TRUE\",\"UNION\",\"UNIQUE\",\"USER\",\"USING\",\"VARIADIC\",\"VERBOSE\",\"WHEN\",\"WHERE\",\"WINDOW\",\"WITH\"],operators:[\"AND\",\"BETWEEN\",\"IN\",\"LIKE\",\"NOT\",\"OR\",\"IS\",\"NULL\",\"INTERSECT\",\"UNION\",\"INNER\",\"JOIN\",\"LEFT\",\"OUTER\",\"RIGHT\"],builtinFunctions:[\"abbrev\",\"abs\",\"acldefault\",\"aclexplode\",\"acos\",\"acosd\",\"acosh\",\"age\",\"any\",\"area\",\"array_agg\",\"array_append\",\"array_cat\",\"array_dims\",\"array_fill\",\"array_length\",\"array_lower\",\"array_ndims\",\"array_position\",\"array_positions\",\"array_prepend\",\"array_remove\",\"array_replace\",\"array_to_json\",\"array_to_string\",\"array_to_tsvector\",\"array_upper\",\"ascii\",\"asin\",\"asind\",\"asinh\",\"atan\",\"atan2\",\"atan2d\",\"atand\",\"atanh\",\"avg\",\"bit\",\"bit_and\",\"bit_count\",\"bit_length\",\"bit_or\",\"bit_xor\",\"bool_and\",\"bool_or\",\"bound_box\",\"box\",\"brin_desummarize_range\",\"brin_summarize_new_values\",\"brin_summarize_range\",\"broadcast\",\"btrim\",\"cardinality\",\"cbrt\",\"ceil\",\"ceiling\",\"center\",\"char_length\",\"character_length\",\"chr\",\"circle\",\"clock_timestamp\",\"coalesce\",\"col_description\",\"concat\",\"concat_ws\",\"convert\",\"convert_from\",\"convert_to\",\"corr\",\"cos\",\"cosd\",\"cosh\",\"cot\",\"cotd\",\"count\",\"covar_pop\",\"covar_samp\",\"cume_dist\",\"current_catalog\",\"current_database\",\"current_date\",\"current_query\",\"current_role\",\"current_schema\",\"current_schemas\",\"current_setting\",\"current_time\",\"current_timestamp\",\"current_user\",\"currval\",\"cursor_to_xml\",\"cursor_to_xmlschema\",\"date_bin\",\"date_part\",\"date_trunc\",\"database_to_xml\",\"database_to_xml_and_xmlschema\",\"database_to_xmlschema\",\"decode\",\"degrees\",\"dense_rank\",\"diagonal\",\"diameter\",\"div\",\"encode\",\"enum_first\",\"enum_last\",\"enum_range\",\"every\",\"exp\",\"extract\",\"factorial\",\"family\",\"first_value\",\"floor\",\"format\",\"format_type\",\"gcd\",\"gen_random_uuid\",\"generate_series\",\"generate_subscripts\",\"get_bit\",\"get_byte\",\"get_current_ts_config\",\"gin_clean_pending_list\",\"greatest\",\"grouping\",\"has_any_column_privilege\",\"has_column_privilege\",\"has_database_privilege\",\"has_foreign_data_wrapper_privilege\",\"has_function_privilege\",\"has_language_privilege\",\"has_schema_privilege\",\"has_sequence_privilege\",\"has_server_privilege\",\"has_table_privilege\",\"has_tablespace_privilege\",\"has_type_privilege\",\"height\",\"host\",\"hostmask\",\"inet_client_addr\",\"inet_client_port\",\"inet_merge\",\"inet_same_family\",\"inet_server_addr\",\"inet_server_port\",\"initcap\",\"isclosed\",\"isempty\",\"isfinite\",\"isopen\",\"json_agg\",\"json_array_elements\",\"json_array_elements_text\",\"json_array_length\",\"json_build_array\",\"json_build_object\",\"json_each\",\"json_each_text\",\"json_extract_path\",\"json_extract_path_text\",\"json_object\",\"json_object_agg\",\"json_object_keys\",\"json_populate_record\",\"json_populate_recordset\",\"json_strip_nulls\",\"json_to_record\",\"json_to_recordset\",\"json_to_tsvector\",\"json_typeof\",\"jsonb_agg\",\"jsonb_array_elements\",\"jsonb_array_elements_text\",\"jsonb_array_length\",\"jsonb_build_array\",\"jsonb_build_object\",\"jsonb_each\",\"jsonb_each_text\",\"jsonb_extract_path\",\"jsonb_extract_path_text\",\"jsonb_insert\",\"jsonb_object\",\"jsonb_object_agg\",\"jsonb_object_keys\",\"jsonb_path_exists\",\"jsonb_path_match\",\"jsonb_path_query\",\"jsonb_path_query_array\",\"jsonb_path_exists_tz\",\"jsonb_path_query_first\",\"jsonb_path_query_array_tz\",\"jsonb_path_query_first_tz\",\"jsonb_path_query_tz\",\"jsonb_path_match_tz\",\"jsonb_populate_record\",\"jsonb_populate_recordset\",\"jsonb_pretty\",\"jsonb_set\",\"jsonb_set_lax\",\"jsonb_strip_nulls\",\"jsonb_to_record\",\"jsonb_to_recordset\",\"jsonb_to_tsvector\",\"jsonb_typeof\",\"justify_days\",\"justify_hours\",\"justify_interval\",\"lag\",\"last_value\",\"lastval\",\"lcm\",\"lead\",\"least\",\"left\",\"length\",\"line\",\"ln\",\"localtime\",\"localtimestamp\",\"log\",\"log10\",\"lower\",\"lower_inc\",\"lower_inf\",\"lpad\",\"lseg\",\"ltrim\",\"macaddr8_set7bit\",\"make_date\",\"make_interval\",\"make_time\",\"make_timestamp\",\"make_timestamptz\",\"makeaclitem\",\"masklen\",\"max\",\"md5\",\"min\",\"min_scale\",\"mod\",\"mode\",\"multirange\",\"netmask\",\"network\",\"nextval\",\"normalize\",\"now\",\"npoints\",\"nth_value\",\"ntile\",\"nullif\",\"num_nonnulls\",\"num_nulls\",\"numnode\",\"obj_description\",\"octet_length\",\"overlay\",\"parse_ident\",\"path\",\"pclose\",\"percent_rank\",\"percentile_cont\",\"percentile_disc\",\"pg_advisory_lock\",\"pg_advisory_lock_shared\",\"pg_advisory_unlock\",\"pg_advisory_unlock_all\",\"pg_advisory_unlock_shared\",\"pg_advisory_xact_lock\",\"pg_advisory_xact_lock_shared\",\"pg_backend_pid\",\"pg_backup_start_time\",\"pg_blocking_pids\",\"pg_cancel_backend\",\"pg_client_encoding\",\"pg_collation_actual_version\",\"pg_collation_is_visible\",\"pg_column_compression\",\"pg_column_size\",\"pg_conf_load_time\",\"pg_control_checkpoint\",\"pg_control_init\",\"pg_control_recovery\",\"pg_control_system\",\"pg_conversion_is_visible\",\"pg_copy_logical_replication_slot\",\"pg_copy_physical_replication_slot\",\"pg_create_logical_replication_slot\",\"pg_create_physical_replication_slot\",\"pg_create_restore_point\",\"pg_current_logfile\",\"pg_current_snapshot\",\"pg_current_wal_flush_lsn\",\"pg_current_wal_insert_lsn\",\"pg_current_wal_lsn\",\"pg_current_xact_id\",\"pg_current_xact_id_if_assigned\",\"pg_current_xlog_flush_location\",\"pg_current_xlog_insert_location\",\"pg_current_xlog_location\",\"pg_database_size\",\"pg_describe_object\",\"pg_drop_replication_slot\",\"pg_event_trigger_ddl_commands\",\"pg_event_trigger_dropped_objects\",\"pg_event_trigger_table_rewrite_oid\",\"pg_event_trigger_table_rewrite_reason\",\"pg_export_snapshot\",\"pg_filenode_relation\",\"pg_function_is_visible\",\"pg_get_catalog_foreign_keys\",\"pg_get_constraintdef\",\"pg_get_expr\",\"pg_get_function_arguments\",\"pg_get_function_identity_arguments\",\"pg_get_function_result\",\"pg_get_functiondef\",\"pg_get_indexdef\",\"pg_get_keywords\",\"pg_get_object_address\",\"pg_get_owned_sequence\",\"pg_get_ruledef\",\"pg_get_serial_sequence\",\"pg_get_statisticsobjdef\",\"pg_get_triggerdef\",\"pg_get_userbyid\",\"pg_get_viewdef\",\"pg_get_wal_replay_pause_state\",\"pg_has_role\",\"pg_identify_object\",\"pg_identify_object_as_address\",\"pg_import_system_collations\",\"pg_index_column_has_property\",\"pg_index_has_property\",\"pg_indexam_has_property\",\"pg_indexes_size\",\"pg_is_in_backup\",\"pg_is_in_recovery\",\"pg_is_other_temp_schema\",\"pg_is_wal_replay_paused\",\"pg_is_xlog_replay_paused\",\"pg_jit_available\",\"pg_last_committed_xact\",\"pg_last_wal_receive_lsn\",\"pg_last_wal_replay_lsn\",\"pg_last_xact_replay_timestamp\",\"pg_last_xlog_receive_location\",\"pg_last_xlog_replay_location\",\"pg_listening_channels\",\"pg_log_backend_memory_contexts\",\"pg_logical_emit_message\",\"pg_logical_slot_get_binary_changes\",\"pg_logical_slot_get_changes\",\"pg_logical_slot_peek_binary_changes\",\"pg_logical_slot_peek_changes\",\"pg_ls_archive_statusdir\",\"pg_ls_dir\",\"pg_ls_logdir\",\"pg_ls_tmpdir\",\"pg_ls_waldir\",\"pg_mcv_list_items\",\"pg_my_temp_schema\",\"pg_notification_queue_usage\",\"pg_opclass_is_visible\",\"pg_operator_is_visible\",\"pg_opfamily_is_visible\",\"pg_options_to_table\",\"pg_partition_ancestors\",\"pg_partition_root\",\"pg_partition_tree\",\"pg_postmaster_start_time\",\"pg_promote\",\"pg_read_binary_file\",\"pg_read_file\",\"pg_relation_filenode\",\"pg_relation_filepath\",\"pg_relation_size\",\"pg_reload_conf\",\"pg_replication_origin_advance\",\"pg_replication_origin_create\",\"pg_replication_origin_drop\",\"pg_replication_origin_oid\",\"pg_replication_origin_progress\",\"pg_replication_origin_session_is_setup\",\"pg_replication_origin_session_progress\",\"pg_replication_origin_session_reset\",\"pg_replication_origin_session_setup\",\"pg_replication_origin_xact_reset\",\"pg_replication_origin_xact_setup\",\"pg_replication_slot_advance\",\"pg_rotate_logfile\",\"pg_safe_snapshot_blocking_pids\",\"pg_size_bytes\",\"pg_size_pretty\",\"pg_sleep\",\"pg_sleep_for\",\"pg_sleep_until\",\"pg_snapshot_xip\",\"pg_snapshot_xmax\",\"pg_snapshot_xmin\",\"pg_start_backup\",\"pg_stat_file\",\"pg_statistics_obj_is_visible\",\"pg_stop_backup\",\"pg_switch_wal\",\"pg_switch_xlog\",\"pg_table_is_visible\",\"pg_table_size\",\"pg_tablespace_databases\",\"pg_tablespace_location\",\"pg_tablespace_size\",\"pg_terminate_backend\",\"pg_total_relation_size\",\"pg_trigger_depth\",\"pg_try_advisory_lock\",\"pg_try_advisory_lock_shared\",\"pg_try_advisory_xact_lock\",\"pg_try_advisory_xact_lock_shared\",\"pg_ts_config_is_visible\",\"pg_ts_dict_is_visible\",\"pg_ts_parser_is_visible\",\"pg_ts_template_is_visible\",\"pg_type_is_visible\",\"pg_typeof\",\"pg_visible_in_snapshot\",\"pg_wal_lsn_diff\",\"pg_wal_replay_pause\",\"pg_wal_replay_resume\",\"pg_walfile_name\",\"pg_walfile_name_offset\",\"pg_xact_commit_timestamp\",\"pg_xact_commit_timestamp_origin\",\"pg_xact_status\",\"pg_xlog_location_diff\",\"pg_xlog_replay_pause\",\"pg_xlog_replay_resume\",\"pg_xlogfile_name\",\"pg_xlogfile_name_offset\",\"phraseto_tsquery\",\"pi\",\"plainto_tsquery\",\"point\",\"polygon\",\"popen\",\"position\",\"power\",\"pqserverversion\",\"query_to_xml\",\"query_to_xml_and_xmlschema\",\"query_to_xmlschema\",\"querytree\",\"quote_ident\",\"quote_literal\",\"quote_nullable\",\"radians\",\"radius\",\"random\",\"range_agg\",\"range_intersect_agg\",\"range_merge\",\"rank\",\"regexp_count\",\"regexp_instr\",\"regexp_like\",\"regexp_match\",\"regexp_matches\",\"regexp_replace\",\"regexp_split_to_array\",\"regexp_split_to_table\",\"regexp_substr\",\"regr_avgx\",\"regr_avgy\",\"regr_count\",\"regr_intercept\",\"regr_r2\",\"regr_slope\",\"regr_sxx\",\"regr_sxy\",\"regr_syy\",\"repeat\",\"replace\",\"reverse\",\"right\",\"round\",\"row_number\",\"row_security_active\",\"row_to_json\",\"rpad\",\"rtrim\",\"scale\",\"schema_to_xml\",\"schema_to_xml_and_xmlschema\",\"schema_to_xmlschema\",\"session_user\",\"set_bit\",\"set_byte\",\"set_config\",\"set_masklen\",\"setseed\",\"setval\",\"setweight\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"shobj_description\",\"sign\",\"sin\",\"sind\",\"sinh\",\"slope\",\"split_part\",\"sprintf\",\"sqrt\",\"starts_with\",\"statement_timestamp\",\"stddev\",\"stddev_pop\",\"stddev_samp\",\"string_agg\",\"string_to_array\",\"string_to_table\",\"strip\",\"strpos\",\"substr\",\"substring\",\"sum\",\"suppress_redundant_updates_trigger\",\"table_to_xml\",\"table_to_xml_and_xmlschema\",\"table_to_xmlschema\",\"tan\",\"tand\",\"tanh\",\"text\",\"timeofday\",\"timezone\",\"to_ascii\",\"to_char\",\"to_date\",\"to_hex\",\"to_json\",\"to_number\",\"to_regclass\",\"to_regcollation\",\"to_regnamespace\",\"to_regoper\",\"to_regoperator\",\"to_regproc\",\"to_regprocedure\",\"to_regrole\",\"to_regtype\",\"to_timestamp\",\"to_tsquery\",\"to_tsvector\",\"transaction_timestamp\",\"translate\",\"trim\",\"trim_array\",\"trim_scale\",\"trunc\",\"ts_debug\",\"ts_delete\",\"ts_filter\",\"ts_headline\",\"ts_lexize\",\"ts_parse\",\"ts_rank\",\"ts_rank_cd\",\"ts_rewrite\",\"ts_stat\",\"ts_token_type\",\"tsquery_phrase\",\"tsvector_to_array\",\"tsvector_update_trigger\",\"tsvector_update_trigger_column\",\"txid_current\",\"txid_current_if_assigned\",\"txid_current_snapshot\",\"txid_snapshot_xip\",\"txid_snapshot_xmax\",\"txid_snapshot_xmin\",\"txid_status\",\"txid_visible_in_snapshot\",\"unistr\",\"unnest\",\"upper\",\"upper_inc\",\"upper_inf\",\"user\",\"var_pop\",\"var_samp\",\"variance\",\"version\",\"websearch_to_tsquery\",\"width\",\"width_bucket\",\"xml_is_well_formed\",\"xml_is_well_formed_content\",\"xml_is_well_formed_document\",\"xmlagg\",\"xmlcomment\",\"xmlconcat\",\"xmlelement\",\"xmlexists\",\"xmlforest\",\"xmlparse\",\"xmlpi\",\"xmlroot\",\"xmlserialize\",\"xpath\",\"xpath_exists\"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:\"@comments\"},{include:\"@whitespace\"},{include:\"@pseudoColumns\"},{include:\"@numbers\"},{include:\"@strings\"},{include:\"@complexIdentifiers\"},{include:\"@scopes\"},[/[;,.]/,\"delimiter\"],[/[()]/,\"@brackets\"],[/[\\w@#$]+/,{cases:{\"@operators\":\"operator\",\"@builtinVariables\":\"predefined\",\"@builtinFunctions\":\"predefined\",\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}],[/[<>=!%&+\\-*/|~^]/,\"operator\"]],whitespace:[[/\\s+/,\"white\"]],comments:[[/--+.*/,\"comment\"],[/\\/\\*/,{token:\"comment.quote\",next:\"@comment\"}]],comment:[[/[^*/]+/,\"comment\"],[/\\*\\//,{token:\"comment.quote\",next:\"@pop\"}],[/./,\"comment\"]],pseudoColumns:[[/[$][A-Za-z_][\\w@#$]*/,{cases:{\"@pseudoColumns\":\"predefined\",\"@default\":\"identifier\"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,\"number\"],[/[$][+-]*\\d*(\\.\\d*)?/,\"number\"],[/((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\-+]?\\d+)?/,\"number\"]],strings:[[/'/,{token:\"string\",next:\"@string\"}]],string:[[/[^']+/,\"string\"],[/''/,\"string\"],[/'/,{token:\"string\",next:\"@pop\"}]],complexIdentifiers:[[/\"/,{token:\"identifier.quote\",next:\"@quotedIdentifier\"}]],quotedIdentifier:[[/[^\"]+/,\"identifier\"],[/\"\"/,\"identifier\"],[/\"/,{token:\"identifier.quote\",next:\"@pop\"}]],scopes:[]}};return g(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/php/php.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/php/php\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var i=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var s=(t,e)=>{for(var n in e)i(t,n,{get:e[n],enumerable:!0})},h=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let p of m(e))!a.call(t,p)&&p!==n&&i(t,p,{get:()=>e[p],enumerable:!(r=o(e,p))||r.enumerable});return t};var l=t=>h(i({},\"__esModule\",{value:!0}),t);var u={};s(u,{conf:()=>d,language:()=>c});var d={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\",notIn:[\"string\"]},{open:\"[\",close:\"]\",notIn:[\"string\"]},{open:\"(\",close:\")\",notIn:[\"string\"]},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]}],folding:{markers:{start:new RegExp(\"^\\\\s*(#|//)region\\\\b\"),end:new RegExp(\"^\\\\s*(#|//)endregion\\\\b\")}}},c={defaultToken:\"\",tokenPostfix:\"\",tokenizer:{root:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.root\"}],[/<!DOCTYPE/,\"metatag.html\",\"@doctype\"],[/<!--/,\"comment.html\",\"@comment\"],[/(<)(\\w+)(\\/>)/,[\"delimiter.html\",\"tag.html\",\"delimiter.html\"]],[/(<)(script)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@script\"}]],[/(<)(style)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@style\"}]],[/(<)([:\\w]+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/(<\\/)(\\w+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/</,\"delimiter.html\"],[/[^<]+/]],doctype:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.comment\"}],[/[^>]+/,\"metatag.content.html\"],[/>/,\"metatag.html\",\"@pop\"]],comment:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.comment\"}],[/-->/,\"comment.html\",\"@pop\"],[/[^-]+/,\"comment.content.html\"],[/./,\"comment.content.html\"]],otherTag:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.otherTag\"}],[/\\/?>/,\"delimiter.html\",\"@pop\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/]],script:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.script\"}],[/type/,\"attribute.name\",\"@scriptAfterType\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(script\\s*)(>)/,[\"delimiter.html\",\"tag.html\",{token:\"delimiter.html\",next:\"@pop\"}]]],scriptAfterType:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.scriptAfterType\"}],[/=/,\"delimiter\",\"@scriptAfterTypeEquals\"],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptAfterTypeEquals:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.scriptAfterTypeEquals\"}],[/\"([^\"]*)\"/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.$1\"}],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptWithCustomType:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.scriptWithCustomType.$S2\"}],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptEmbedded:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInEmbeddedState.scriptEmbedded.$S2\",nextEmbedded:\"@pop\"}],[/<\\/script/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}]],style:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.style\"}],[/type/,\"attribute.name\",\"@styleAfterType\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(style\\s*)(>)/,[\"delimiter.html\",\"tag.html\",{token:\"delimiter.html\",next:\"@pop\"}]]],styleAfterType:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.styleAfterType\"}],[/=/,\"delimiter\",\"@styleAfterTypeEquals\"],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleAfterTypeEquals:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.styleAfterTypeEquals\"}],[/\"([^\"]*)\"/,{token:\"attribute.value\",switchTo:\"@styleWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value\",switchTo:\"@styleWithCustomType.$1\"}],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleWithCustomType:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInSimpleState.styleWithCustomType.$S2\"}],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleEmbedded:[[/<\\?((php)|=)?/,{token:\"@rematch\",switchTo:\"@phpInEmbeddedState.styleEmbedded.$S2\",nextEmbedded:\"@pop\"}],[/<\\/style/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}]],phpInSimpleState:[[/<\\?((php)|=)?/,\"metatag.php\"],[/\\?>/,{token:\"metatag.php\",switchTo:\"@$S2.$S3\"}],{include:\"phpRoot\"}],phpInEmbeddedState:[[/<\\?((php)|=)?/,\"metatag.php\"],[/\\?>/,{token:\"metatag.php\",switchTo:\"@$S2.$S3\",nextEmbedded:\"$S3\"}],{include:\"phpRoot\"}],phpRoot:[[/[a-zA-Z_]\\w*/,{cases:{\"@phpKeywords\":{token:\"keyword.php\"},\"@phpCompileTimeConstants\":{token:\"constant.php\"},\"@default\":\"identifier.php\"}}],[/[$a-zA-Z_]\\w*/,{cases:{\"@phpPreDefinedVariables\":{token:\"variable.predefined.php\"},\"@default\":\"variable.php\"}}],[/[{}]/,\"delimiter.bracket.php\"],[/[\\[\\]]/,\"delimiter.array.php\"],[/[()]/,\"delimiter.parenthesis.php\"],[/[ \\t\\r\\n]+/],[/(#|\\/\\/)$/,\"comment.php\"],[/(#|\\/\\/)/,\"comment.php\",\"@phpLineComment\"],[/\\/\\*/,\"comment.php\",\"@phpComment\"],[/\"/,\"string.php\",\"@phpDoubleQuoteString\"],[/'/,\"string.php\",\"@phpSingleQuoteString\"],[/[\\+\\-\\*\\%\\&\\|\\^\\~\\!\\=\\<\\>\\/\\?\\;\\:\\.\\,\\@]/,\"delimiter.php\"],[/\\d*\\d+[eE]([\\-+]?\\d+)?/,\"number.float.php\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float.php\"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,\"number.hex.php\"],[/0[0-7']*[0-7]/,\"number.octal.php\"],[/0[bB][0-1']*[0-1]/,\"number.binary.php\"],[/\\d[\\d']*/,\"number.php\"],[/\\d/,\"number.php\"]],phpComment:[[/\\*\\//,\"comment.php\",\"@pop\"],[/[^*]+/,\"comment.php\"],[/./,\"comment.php\"]],phpLineComment:[[/\\?>/,{token:\"@rematch\",next:\"@pop\"}],[/.$/,\"comment.php\",\"@pop\"],[/[^?]+$/,\"comment.php\",\"@pop\"],[/[^?]+/,\"comment.php\"],[/./,\"comment.php\"]],phpDoubleQuoteString:[[/[^\\\\\"]+/,\"string.php\"],[/@escapes/,\"string.escape.php\"],[/\\\\./,\"string.escape.invalid.php\"],[/\"/,\"string.php\",\"@pop\"]],phpSingleQuoteString:[[/[^\\\\']+/,\"string.php\"],[/@escapes/,\"string.escape.php\"],[/\\\\./,\"string.escape.invalid.php\"],[/'/,\"string.php\",\"@pop\"]]},phpKeywords:[\"abstract\",\"and\",\"array\",\"as\",\"break\",\"callable\",\"case\",\"catch\",\"cfunction\",\"class\",\"clone\",\"const\",\"continue\",\"declare\",\"default\",\"do\",\"else\",\"elseif\",\"enddeclare\",\"endfor\",\"endforeach\",\"endif\",\"endswitch\",\"endwhile\",\"extends\",\"false\",\"final\",\"for\",\"foreach\",\"function\",\"global\",\"goto\",\"if\",\"implements\",\"interface\",\"instanceof\",\"insteadof\",\"namespace\",\"new\",\"null\",\"object\",\"old_function\",\"or\",\"private\",\"protected\",\"public\",\"resource\",\"static\",\"switch\",\"throw\",\"trait\",\"try\",\"true\",\"use\",\"var\",\"while\",\"xor\",\"die\",\"echo\",\"empty\",\"exit\",\"eval\",\"include\",\"include_once\",\"isset\",\"list\",\"require\",\"require_once\",\"return\",\"print\",\"unset\",\"yield\",\"__construct\"],phpCompileTimeConstants:[\"__CLASS__\",\"__DIR__\",\"__FILE__\",\"__LINE__\",\"__NAMESPACE__\",\"__METHOD__\",\"__FUNCTION__\",\"__TRAIT__\"],phpPreDefinedVariables:[\"$GLOBALS\",\"$_SERVER\",\"$_GET\",\"$_POST\",\"$_FILES\",\"$_REQUEST\",\"$_SESSION\",\"$_ENV\",\"$_COOKIE\",\"$php_errormsg\",\"$HTTP_RAW_POST_DATA\",\"$http_response_header\",\"$argc\",\"$argv\"],escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/};return l(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/pla/pla.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/pla/pla\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var l=(o,e)=>{for(var n in e)s(o,n,{get:e[n],enumerable:!0})},c=(o,e,n,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of r(e))!p.call(o,t)&&t!==n&&s(o,t,{get:()=>e[t],enumerable:!(i=a(e,t))||i.enumerable});return o};var d=o=>c(s({},\"__esModule\",{value:!0}),o);var u={};l(u,{conf:()=>k,language:()=>m});var k={comments:{lineComment:\"#\"},brackets:[[\"[\",\"]\"],[\"<\",\">\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"[\",close:\"]\"},{open:\"<\",close:\">\"},{open:\"(\",close:\")\"}],surroundingPairs:[{open:\"[\",close:\"]\"},{open:\"<\",close:\">\"},{open:\"(\",close:\")\"}]},m={defaultToken:\"\",tokenPostfix:\".pla\",brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],keywords:[\".i\",\".o\",\".mv\",\".ilb\",\".ob\",\".label\",\".type\",\".phase\",\".pair\",\".symbolic\",\".symbolic-output\",\".kiss\",\".p\",\".e\",\".end\"],comment:/#.*$/,identifier:/[a-zA-Z]+[a-zA-Z0-9_\\-]*/,plaContent:/[01\\-~\\|]+/,tokenizer:{root:[{include:\"@whitespace\"},[/@comment/,\"comment\"],[/\\.([a-zA-Z_\\-]+)/,{cases:{\"@eos\":{token:\"keyword.$1\"},\"@keywords\":{cases:{\".type\":{token:\"keyword.$1\",next:\"@type\"},\"@default\":{token:\"keyword.$1\",next:\"@keywordArg\"}}},\"@default\":{token:\"keyword.$1\"}}}],[/@identifier/,\"identifier\"],[/@plaContent/,\"string\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"]],type:[{include:\"@whitespace\"},[/\\w+/,{token:\"type\",next:\"@pop\"}]],keywordArg:[[/[ \\t\\r\\n]+/,{cases:{\"@eos\":{token:\"\",next:\"@pop\"},\"@default\":\"\"}}],[/@comment/,\"comment\",\"@pop\"],[/[<>()\\[\\]]/,{cases:{\"@eos\":{token:\"@brackets\",next:\"@pop\"},\"@default\":\"@brackets\"}}],[/\\-?\\d+/,{cases:{\"@eos\":{token:\"number\",next:\"@pop\"},\"@default\":\"number\"}}],[/@identifier/,{cases:{\"@eos\":{token:\"identifier\",next:\"@pop\"},\"@default\":\"identifier\"}}],[/[;=]/,{cases:{\"@eos\":{token:\"delimiter\",next:\"@pop\"},\"@default\":\"delimiter\"}}]]}};return d(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/postiats/postiats.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/postiats/postiats\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},l=(t,e,o,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of s(e))!c.call(t,n)&&n!==o&&i(t,n,{get:()=>e[n],enumerable:!(r=a(e,n))||r.enumerable});return t};var d=t=>l(i({},\"__esModule\",{value:!0}),t);var g={};p(g,{conf:()=>m,language:()=>x});var m={comments:{lineComment:\"//\",blockComment:[\"(*\",\"*)\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"<\",\">\"]],autoClosingPairs:[{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]}]},x={tokenPostfix:\".pats\",defaultToken:\"invalid\",keywords:[\"abstype\",\"abst0ype\",\"absprop\",\"absview\",\"absvtype\",\"absviewtype\",\"absvt0ype\",\"absviewt0ype\",\"as\",\"and\",\"assume\",\"begin\",\"classdec\",\"datasort\",\"datatype\",\"dataprop\",\"dataview\",\"datavtype\",\"dataviewtype\",\"do\",\"end\",\"extern\",\"extype\",\"extvar\",\"exception\",\"fn\",\"fnx\",\"fun\",\"prfn\",\"prfun\",\"praxi\",\"castfn\",\"if\",\"then\",\"else\",\"ifcase\",\"in\",\"infix\",\"infixl\",\"infixr\",\"prefix\",\"postfix\",\"implmnt\",\"implement\",\"primplmnt\",\"primplement\",\"import\",\"let\",\"local\",\"macdef\",\"macrodef\",\"nonfix\",\"symelim\",\"symintr\",\"overload\",\"of\",\"op\",\"rec\",\"sif\",\"scase\",\"sortdef\",\"sta\",\"stacst\",\"stadef\",\"static\",\"staload\",\"dynload\",\"try\",\"tkindef\",\"typedef\",\"propdef\",\"viewdef\",\"vtypedef\",\"viewtypedef\",\"prval\",\"var\",\"prvar\",\"when\",\"where\",\"with\",\"withtype\",\"withprop\",\"withview\",\"withvtype\",\"withviewtype\"],keywords_dlr:[\"$delay\",\"$ldelay\",\"$arrpsz\",\"$arrptrsize\",\"$d2ctype\",\"$effmask\",\"$effmask_ntm\",\"$effmask_exn\",\"$effmask_ref\",\"$effmask_wrt\",\"$effmask_all\",\"$extern\",\"$extkind\",\"$extype\",\"$extype_struct\",\"$extval\",\"$extfcall\",\"$extmcall\",\"$literal\",\"$myfilename\",\"$mylocation\",\"$myfunction\",\"$lst\",\"$lst_t\",\"$lst_vt\",\"$list\",\"$list_t\",\"$list_vt\",\"$rec\",\"$rec_t\",\"$rec_vt\",\"$record\",\"$record_t\",\"$record_vt\",\"$tup\",\"$tup_t\",\"$tup_vt\",\"$tuple\",\"$tuple_t\",\"$tuple_vt\",\"$break\",\"$continue\",\"$raise\",\"$showtype\",\"$vcopyenv_v\",\"$vcopyenv_vt\",\"$tempenver\",\"$solver_assert\",\"$solver_verify\"],keywords_srp:[\"#if\",\"#ifdef\",\"#ifndef\",\"#then\",\"#elif\",\"#elifdef\",\"#elifndef\",\"#else\",\"#endif\",\"#error\",\"#prerr\",\"#print\",\"#assert\",\"#undef\",\"#define\",\"#include\",\"#require\",\"#pragma\",\"#codegen2\",\"#codegen3\"],irregular_keyword_list:[\"val+\",\"val-\",\"val\",\"case+\",\"case-\",\"case\",\"addr@\",\"addr\",\"fold@\",\"free@\",\"fix@\",\"fix\",\"lam@\",\"lam\",\"llam@\",\"llam\",\"viewt@ype+\",\"viewt@ype-\",\"viewt@ype\",\"viewtype+\",\"viewtype-\",\"viewtype\",\"view+\",\"view-\",\"view@\",\"view\",\"type+\",\"type-\",\"type\",\"vtype+\",\"vtype-\",\"vtype\",\"vt@ype+\",\"vt@ype-\",\"vt@ype\",\"viewt@ype+\",\"viewt@ype-\",\"viewt@ype\",\"viewtype+\",\"viewtype-\",\"viewtype\",\"prop+\",\"prop-\",\"prop\",\"type+\",\"type-\",\"type\",\"t@ype\",\"t@ype+\",\"t@ype-\",\"abst@ype\",\"abstype\",\"absviewt@ype\",\"absvt@ype\",\"for*\",\"for\",\"while*\",\"while\"],keywords_types:[\"bool\",\"double\",\"byte\",\"int\",\"short\",\"char\",\"void\",\"unit\",\"long\",\"float\",\"string\",\"strptr\"],keywords_effects:[\"0\",\"fun\",\"clo\",\"prf\",\"funclo\",\"cloptr\",\"cloref\",\"ref\",\"ntm\",\"1\"],operators:[\"@\",\"!\",\"|\",\"`\",\":\",\"$\",\".\",\"=\",\"#\",\"~\",\"..\",\"...\",\"=>\",\"=<>\",\"=/=>\",\"=>>\",\"=/=>>\",\"<\",\">\",\"><\",\".<\",\">.\",\".<>.\",\"->\",\"-<>\"],brackets:[{open:\",(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"`(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"%(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"'(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"'{\",close:\"}\",token:\"delimiter.parenthesis\"},{open:\"@(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"@{\",close:\"}\",token:\"delimiter.brace\"},{open:\"@[\",close:\"]\",token:\"delimiter.square\"},{open:\"#[\",close:\"]\",token:\"delimiter.square\"},{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,IDENTFST:/[a-zA-Z_]/,IDENTRST:/[a-zA-Z0-9_'$]/,symbolic:/[%&+-./:=@~`^|*!$#?<>]/,digit:/[0-9]/,digitseq0:/@digit*/,xdigit:/[0-9A-Za-z]/,xdigitseq0:/@xdigit*/,INTSP:/[lLuU]/,FLOATSP:/[fFlL]/,fexponent:/[eE][+-]?[0-9]+/,fexponent_bin:/[pP][+-]?[0-9]+/,deciexp:/\\.[0-9]*@fexponent?/,hexiexp:/\\.[0-9a-zA-Z]*@fexponent_bin?/,irregular_keywords:/val[+-]?|case[+-]?|addr\\@?|fold\\@|free\\@|fix\\@?|lam\\@?|llam\\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\\*?|while\\*?/,ESCHAR:/[ntvbrfa\\\\\\?'\"\\(\\[\\{]/,start:\"root\",tokenizer:{root:[{regex:/[ \\t\\r\\n]+/,action:{token:\"\"}},{regex:/\\(\\*\\)/,action:{token:\"invalid\"}},{regex:/\\(\\*/,action:{token:\"comment\",next:\"lexing_COMMENT_block_ml\"}},{regex:/\\(/,action:\"@brackets\"},{regex:/\\)/,action:\"@brackets\"},{regex:/\\[/,action:\"@brackets\"},{regex:/\\]/,action:\"@brackets\"},{regex:/\\{/,action:\"@brackets\"},{regex:/\\}/,action:\"@brackets\"},{regex:/,\\(/,action:\"@brackets\"},{regex:/,/,action:{token:\"delimiter.comma\"}},{regex:/;/,action:{token:\"delimiter.semicolon\"}},{regex:/@\\(/,action:\"@brackets\"},{regex:/@\\[/,action:\"@brackets\"},{regex:/@\\{/,action:\"@brackets\"},{regex:/:</,action:{token:\"keyword\",next:\"@lexing_EFFECT_commaseq0\"}},{regex:/\\.@symbolic+/,action:{token:\"identifier.sym\"}},{regex:/\\.@digit*@fexponent@FLOATSP*/,action:{token:\"number.float\"}},{regex:/\\.@digit+/,action:{token:\"number.float\"}},{regex:/\\$@IDENTFST@IDENTRST*/,action:{cases:{\"@keywords_dlr\":{token:\"keyword.dlr\"},\"@default\":{token:\"namespace\"}}}},{regex:/\\#@IDENTFST@IDENTRST*/,action:{cases:{\"@keywords_srp\":{token:\"keyword.srp\"},\"@default\":{token:\"identifier\"}}}},{regex:/%\\(/,action:{token:\"delimiter.parenthesis\"}},{regex:/^%{(#|\\^|\\$)?/,action:{token:\"keyword\",next:\"@lexing_EXTCODE\",nextEmbedded:\"text/javascript\"}},{regex:/^%}/,action:{token:\"keyword\"}},{regex:/'\\(/,action:{token:\"delimiter.parenthesis\"}},{regex:/'\\[/,action:{token:\"delimiter.bracket\"}},{regex:/'\\{/,action:{token:\"delimiter.brace\"}},[/(')(\\\\@ESCHAR|\\\\[xX]@xdigit+|\\\\@digit+)(')/,[\"string\",\"string.escape\",\"string\"]],[/'[^\\\\']'/,\"string\"],[/\"/,\"string.quote\",\"@lexing_DQUOTE\"],{regex:/`\\(/,action:\"@brackets\"},{regex:/\\\\/,action:{token:\"punctuation\"}},{regex:/@irregular_keywords(?!@IDENTRST)/,action:{token:\"keyword\"}},{regex:/@IDENTFST@IDENTRST*[<!\\[]?/,action:{cases:{\"@keywords\":{token:\"keyword\"},\"@keywords_types\":{token:\"type\"},\"@default\":{token:\"identifier\"}}}},{regex:/\\/\\/\\/\\//,action:{token:\"comment\",next:\"@lexing_COMMENT_rest\"}},{regex:/\\/\\/.*$/,action:{token:\"comment\"}},{regex:/\\/\\*/,action:{token:\"comment\",next:\"@lexing_COMMENT_block_c\"}},{regex:/-<|=</,action:{token:\"keyword\",next:\"@lexing_EFFECT_commaseq0\"}},{regex:/@symbolic+/,action:{cases:{\"@operators\":\"keyword\",\"@default\":\"operator\"}}},{regex:/0[xX]@xdigit+(@hexiexp|@fexponent_bin)@FLOATSP*/,action:{token:\"number.float\"}},{regex:/0[xX]@xdigit+@INTSP*/,action:{token:\"number.hex\"}},{regex:/0[0-7]+(?![0-9])@INTSP*/,action:{token:\"number.octal\"}},{regex:/@digit+(@fexponent|@deciexp)@FLOATSP*/,action:{token:\"number.float\"}},{regex:/@digit@digitseq0@INTSP*/,action:{token:\"number.decimal\"}},{regex:/@digit+@INTSP*/,action:{token:\"number\"}}],lexing_COMMENT_block_ml:[[/[^\\(\\*]+/,\"comment\"],[/\\(\\*/,\"comment\",\"@push\"],[/\\(\\*/,\"comment.invalid\"],[/\\*\\)/,\"comment\",\"@pop\"],[/\\*/,\"comment\"]],lexing_COMMENT_block_c:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],lexing_COMMENT_rest:[[/$/,\"comment\",\"@pop\"],[/.*/,\"comment\"]],lexing_EFFECT_commaseq0:[{regex:/@IDENTFST@IDENTRST+|@digit+/,action:{cases:{\"@keywords_effects\":{token:\"type.effect\"},\"@default\":{token:\"identifier\"}}}},{regex:/,/,action:{token:\"punctuation\"}},{regex:/>/,action:{token:\"@rematch\",next:\"@pop\"}}],lexing_EXTCODE:[{regex:/^%}/,action:{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}},{regex:/[^%]+/,action:\"\"}],lexing_DQUOTE:[{regex:/\"/,action:{token:\"string.quote\",next:\"@pop\"}},{regex:/(\\{\\$)(@IDENTFST@IDENTRST*)(\\})/,action:[{token:\"string.escape\"},{token:\"identifier\"},{token:\"string.escape\"}]},{regex:/\\\\$/,action:{token:\"string.escape\"}},{regex:/\\\\(@ESCHAR|[xX]@xdigit+|@digit+)/,action:{token:\"string.escape\"}},{regex:/[^\\\\\"]+/,action:{token:\"string\"}}]}};return d(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/powerquery/powerquery.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/powerquery/powerquery\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var i=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var T=(t,e)=>{for(var n in e)i(t,n,{get:e[n],enumerable:!0})},m=(t,e,n,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of s(e))!l.call(t,a)&&a!==n&&i(t,a,{get:()=>e[a],enumerable:!(o=r(e,a))||o.enumerable});return t};var u=t=>m(i({},\"__esModule\",{value:!0}),t);var b={};T(b,{conf:()=>d,language:()=>c});var d={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"[\",\"]\"],[\"(\",\")\"],[\"{\",\"}\"]],autoClosingPairs:[{open:'\"',close:'\"',notIn:[\"string\",\"comment\",\"identifier\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\",\"identifier\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\",\"identifier\"]},{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\",\"identifier\"]}]},c={defaultToken:\"\",tokenPostfix:\".pq\",ignoreCase:!1,brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"{\",close:\"}\",token:\"delimiter.brackets\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],operatorKeywords:[\"and\",\"not\",\"or\"],keywords:[\"as\",\"each\",\"else\",\"error\",\"false\",\"if\",\"in\",\"is\",\"let\",\"meta\",\"otherwise\",\"section\",\"shared\",\"then\",\"true\",\"try\",\"type\"],constructors:[\"#binary\",\"#date\",\"#datetime\",\"#datetimezone\",\"#duration\",\"#table\",\"#time\"],constants:[\"#infinity\",\"#nan\",\"#sections\",\"#shared\"],typeKeywords:[\"action\",\"any\",\"anynonnull\",\"none\",\"null\",\"logical\",\"number\",\"time\",\"date\",\"datetime\",\"datetimezone\",\"duration\",\"text\",\"binary\",\"list\",\"record\",\"table\",\"function\"],builtinFunctions:[\"Access.Database\",\"Action.Return\",\"Action.Sequence\",\"Action.Try\",\"ActiveDirectory.Domains\",\"AdoDotNet.DataSource\",\"AdoDotNet.Query\",\"AdobeAnalytics.Cubes\",\"AnalysisServices.Database\",\"AnalysisServices.Databases\",\"AzureStorage.BlobContents\",\"AzureStorage.Blobs\",\"AzureStorage.Tables\",\"Binary.Buffer\",\"Binary.Combine\",\"Binary.Compress\",\"Binary.Decompress\",\"Binary.End\",\"Binary.From\",\"Binary.FromList\",\"Binary.FromText\",\"Binary.InferContentType\",\"Binary.Length\",\"Binary.ToList\",\"Binary.ToText\",\"BinaryFormat.7BitEncodedSignedInteger\",\"BinaryFormat.7BitEncodedUnsignedInteger\",\"BinaryFormat.Binary\",\"BinaryFormat.Byte\",\"BinaryFormat.ByteOrder\",\"BinaryFormat.Choice\",\"BinaryFormat.Decimal\",\"BinaryFormat.Double\",\"BinaryFormat.Group\",\"BinaryFormat.Length\",\"BinaryFormat.List\",\"BinaryFormat.Null\",\"BinaryFormat.Record\",\"BinaryFormat.SignedInteger16\",\"BinaryFormat.SignedInteger32\",\"BinaryFormat.SignedInteger64\",\"BinaryFormat.Single\",\"BinaryFormat.Text\",\"BinaryFormat.Transform\",\"BinaryFormat.UnsignedInteger16\",\"BinaryFormat.UnsignedInteger32\",\"BinaryFormat.UnsignedInteger64\",\"Byte.From\",\"Character.FromNumber\",\"Character.ToNumber\",\"Combiner.CombineTextByDelimiter\",\"Combiner.CombineTextByEachDelimiter\",\"Combiner.CombineTextByLengths\",\"Combiner.CombineTextByPositions\",\"Combiner.CombineTextByRanges\",\"Comparer.Equals\",\"Comparer.FromCulture\",\"Comparer.Ordinal\",\"Comparer.OrdinalIgnoreCase\",\"Csv.Document\",\"Cube.AddAndExpandDimensionColumn\",\"Cube.AddMeasureColumn\",\"Cube.ApplyParameter\",\"Cube.AttributeMemberId\",\"Cube.AttributeMemberProperty\",\"Cube.CollapseAndRemoveColumns\",\"Cube.Dimensions\",\"Cube.DisplayFolders\",\"Cube.Measures\",\"Cube.Parameters\",\"Cube.Properties\",\"Cube.PropertyKey\",\"Cube.ReplaceDimensions\",\"Cube.Transform\",\"Currency.From\",\"DB2.Database\",\"Date.AddDays\",\"Date.AddMonths\",\"Date.AddQuarters\",\"Date.AddWeeks\",\"Date.AddYears\",\"Date.Day\",\"Date.DayOfWeek\",\"Date.DayOfWeekName\",\"Date.DayOfYear\",\"Date.DaysInMonth\",\"Date.EndOfDay\",\"Date.EndOfMonth\",\"Date.EndOfQuarter\",\"Date.EndOfWeek\",\"Date.EndOfYear\",\"Date.From\",\"Date.FromText\",\"Date.IsInCurrentDay\",\"Date.IsInCurrentMonth\",\"Date.IsInCurrentQuarter\",\"Date.IsInCurrentWeek\",\"Date.IsInCurrentYear\",\"Date.IsInNextDay\",\"Date.IsInNextMonth\",\"Date.IsInNextNDays\",\"Date.IsInNextNMonths\",\"Date.IsInNextNQuarters\",\"Date.IsInNextNWeeks\",\"Date.IsInNextNYears\",\"Date.IsInNextQuarter\",\"Date.IsInNextWeek\",\"Date.IsInNextYear\",\"Date.IsInPreviousDay\",\"Date.IsInPreviousMonth\",\"Date.IsInPreviousNDays\",\"Date.IsInPreviousNMonths\",\"Date.IsInPreviousNQuarters\",\"Date.IsInPreviousNWeeks\",\"Date.IsInPreviousNYears\",\"Date.IsInPreviousQuarter\",\"Date.IsInPreviousWeek\",\"Date.IsInPreviousYear\",\"Date.IsInYearToDate\",\"Date.IsLeapYear\",\"Date.Month\",\"Date.MonthName\",\"Date.QuarterOfYear\",\"Date.StartOfDay\",\"Date.StartOfMonth\",\"Date.StartOfQuarter\",\"Date.StartOfWeek\",\"Date.StartOfYear\",\"Date.ToRecord\",\"Date.ToText\",\"Date.WeekOfMonth\",\"Date.WeekOfYear\",\"Date.Year\",\"DateTime.AddZone\",\"DateTime.Date\",\"DateTime.FixedLocalNow\",\"DateTime.From\",\"DateTime.FromFileTime\",\"DateTime.FromText\",\"DateTime.IsInCurrentHour\",\"DateTime.IsInCurrentMinute\",\"DateTime.IsInCurrentSecond\",\"DateTime.IsInNextHour\",\"DateTime.IsInNextMinute\",\"DateTime.IsInNextNHours\",\"DateTime.IsInNextNMinutes\",\"DateTime.IsInNextNSeconds\",\"DateTime.IsInNextSecond\",\"DateTime.IsInPreviousHour\",\"DateTime.IsInPreviousMinute\",\"DateTime.IsInPreviousNHours\",\"DateTime.IsInPreviousNMinutes\",\"DateTime.IsInPreviousNSeconds\",\"DateTime.IsInPreviousSecond\",\"DateTime.LocalNow\",\"DateTime.Time\",\"DateTime.ToRecord\",\"DateTime.ToText\",\"DateTimeZone.FixedLocalNow\",\"DateTimeZone.FixedUtcNow\",\"DateTimeZone.From\",\"DateTimeZone.FromFileTime\",\"DateTimeZone.FromText\",\"DateTimeZone.LocalNow\",\"DateTimeZone.RemoveZone\",\"DateTimeZone.SwitchZone\",\"DateTimeZone.ToLocal\",\"DateTimeZone.ToRecord\",\"DateTimeZone.ToText\",\"DateTimeZone.ToUtc\",\"DateTimeZone.UtcNow\",\"DateTimeZone.ZoneHours\",\"DateTimeZone.ZoneMinutes\",\"Decimal.From\",\"Diagnostics.ActivityId\",\"Diagnostics.Trace\",\"DirectQueryCapabilities.From\",\"Double.From\",\"Duration.Days\",\"Duration.From\",\"Duration.FromText\",\"Duration.Hours\",\"Duration.Minutes\",\"Duration.Seconds\",\"Duration.ToRecord\",\"Duration.ToText\",\"Duration.TotalDays\",\"Duration.TotalHours\",\"Duration.TotalMinutes\",\"Duration.TotalSeconds\",\"Embedded.Value\",\"Error.Record\",\"Excel.CurrentWorkbook\",\"Excel.Workbook\",\"Exchange.Contents\",\"Expression.Constant\",\"Expression.Evaluate\",\"Expression.Identifier\",\"Facebook.Graph\",\"File.Contents\",\"Folder.Contents\",\"Folder.Files\",\"Function.From\",\"Function.Invoke\",\"Function.InvokeAfter\",\"Function.IsDataSource\",\"GoogleAnalytics.Accounts\",\"Guid.From\",\"HdInsight.Containers\",\"HdInsight.Contents\",\"HdInsight.Files\",\"Hdfs.Contents\",\"Hdfs.Files\",\"Informix.Database\",\"Int16.From\",\"Int32.From\",\"Int64.From\",\"Int8.From\",\"ItemExpression.From\",\"Json.Document\",\"Json.FromValue\",\"Lines.FromBinary\",\"Lines.FromText\",\"Lines.ToBinary\",\"Lines.ToText\",\"List.Accumulate\",\"List.AllTrue\",\"List.Alternate\",\"List.AnyTrue\",\"List.Average\",\"List.Buffer\",\"List.Combine\",\"List.Contains\",\"List.ContainsAll\",\"List.ContainsAny\",\"List.Count\",\"List.Covariance\",\"List.DateTimeZones\",\"List.DateTimes\",\"List.Dates\",\"List.Difference\",\"List.Distinct\",\"List.Durations\",\"List.FindText\",\"List.First\",\"List.FirstN\",\"List.Generate\",\"List.InsertRange\",\"List.Intersect\",\"List.IsDistinct\",\"List.IsEmpty\",\"List.Last\",\"List.LastN\",\"List.MatchesAll\",\"List.MatchesAny\",\"List.Max\",\"List.MaxN\",\"List.Median\",\"List.Min\",\"List.MinN\",\"List.Mode\",\"List.Modes\",\"List.NonNullCount\",\"List.Numbers\",\"List.PositionOf\",\"List.PositionOfAny\",\"List.Positions\",\"List.Product\",\"List.Random\",\"List.Range\",\"List.RemoveFirstN\",\"List.RemoveItems\",\"List.RemoveLastN\",\"List.RemoveMatchingItems\",\"List.RemoveNulls\",\"List.RemoveRange\",\"List.Repeat\",\"List.ReplaceMatchingItems\",\"List.ReplaceRange\",\"List.ReplaceValue\",\"List.Reverse\",\"List.Select\",\"List.Single\",\"List.SingleOrDefault\",\"List.Skip\",\"List.Sort\",\"List.StandardDeviation\",\"List.Sum\",\"List.Times\",\"List.Transform\",\"List.TransformMany\",\"List.Union\",\"List.Zip\",\"Logical.From\",\"Logical.FromText\",\"Logical.ToText\",\"MQ.Queue\",\"MySQL.Database\",\"Number.Abs\",\"Number.Acos\",\"Number.Asin\",\"Number.Atan\",\"Number.Atan2\",\"Number.BitwiseAnd\",\"Number.BitwiseNot\",\"Number.BitwiseOr\",\"Number.BitwiseShiftLeft\",\"Number.BitwiseShiftRight\",\"Number.BitwiseXor\",\"Number.Combinations\",\"Number.Cos\",\"Number.Cosh\",\"Number.Exp\",\"Number.Factorial\",\"Number.From\",\"Number.FromText\",\"Number.IntegerDivide\",\"Number.IsEven\",\"Number.IsNaN\",\"Number.IsOdd\",\"Number.Ln\",\"Number.Log\",\"Number.Log10\",\"Number.Mod\",\"Number.Permutations\",\"Number.Power\",\"Number.Random\",\"Number.RandomBetween\",\"Number.Round\",\"Number.RoundAwayFromZero\",\"Number.RoundDown\",\"Number.RoundTowardZero\",\"Number.RoundUp\",\"Number.Sign\",\"Number.Sin\",\"Number.Sinh\",\"Number.Sqrt\",\"Number.Tan\",\"Number.Tanh\",\"Number.ToText\",\"OData.Feed\",\"Odbc.DataSource\",\"Odbc.Query\",\"OleDb.DataSource\",\"OleDb.Query\",\"Oracle.Database\",\"Percentage.From\",\"PostgreSQL.Database\",\"RData.FromBinary\",\"Record.AddField\",\"Record.Combine\",\"Record.Field\",\"Record.FieldCount\",\"Record.FieldNames\",\"Record.FieldOrDefault\",\"Record.FieldValues\",\"Record.FromList\",\"Record.FromTable\",\"Record.HasFields\",\"Record.RemoveFields\",\"Record.RenameFields\",\"Record.ReorderFields\",\"Record.SelectFields\",\"Record.ToList\",\"Record.ToTable\",\"Record.TransformFields\",\"Replacer.ReplaceText\",\"Replacer.ReplaceValue\",\"RowExpression.Column\",\"RowExpression.From\",\"Salesforce.Data\",\"Salesforce.Reports\",\"SapBusinessWarehouse.Cubes\",\"SapHana.Database\",\"SharePoint.Contents\",\"SharePoint.Files\",\"SharePoint.Tables\",\"Single.From\",\"Soda.Feed\",\"Splitter.SplitByNothing\",\"Splitter.SplitTextByAnyDelimiter\",\"Splitter.SplitTextByDelimiter\",\"Splitter.SplitTextByEachDelimiter\",\"Splitter.SplitTextByLengths\",\"Splitter.SplitTextByPositions\",\"Splitter.SplitTextByRanges\",\"Splitter.SplitTextByRepeatedLengths\",\"Splitter.SplitTextByWhitespace\",\"Sql.Database\",\"Sql.Databases\",\"SqlExpression.SchemaFrom\",\"SqlExpression.ToExpression\",\"Sybase.Database\",\"Table.AddColumn\",\"Table.AddIndexColumn\",\"Table.AddJoinColumn\",\"Table.AddKey\",\"Table.AggregateTableColumn\",\"Table.AlternateRows\",\"Table.Buffer\",\"Table.Column\",\"Table.ColumnCount\",\"Table.ColumnNames\",\"Table.ColumnsOfType\",\"Table.Combine\",\"Table.CombineColumns\",\"Table.Contains\",\"Table.ContainsAll\",\"Table.ContainsAny\",\"Table.DemoteHeaders\",\"Table.Distinct\",\"Table.DuplicateColumn\",\"Table.ExpandListColumn\",\"Table.ExpandRecordColumn\",\"Table.ExpandTableColumn\",\"Table.FillDown\",\"Table.FillUp\",\"Table.FilterWithDataTable\",\"Table.FindText\",\"Table.First\",\"Table.FirstN\",\"Table.FirstValue\",\"Table.FromColumns\",\"Table.FromList\",\"Table.FromPartitions\",\"Table.FromRecords\",\"Table.FromRows\",\"Table.FromValue\",\"Table.Group\",\"Table.HasColumns\",\"Table.InsertRows\",\"Table.IsDistinct\",\"Table.IsEmpty\",\"Table.Join\",\"Table.Keys\",\"Table.Last\",\"Table.LastN\",\"Table.MatchesAllRows\",\"Table.MatchesAnyRows\",\"Table.Max\",\"Table.MaxN\",\"Table.Min\",\"Table.MinN\",\"Table.NestedJoin\",\"Table.Partition\",\"Table.PartitionValues\",\"Table.Pivot\",\"Table.PositionOf\",\"Table.PositionOfAny\",\"Table.PrefixColumns\",\"Table.Profile\",\"Table.PromoteHeaders\",\"Table.Range\",\"Table.RemoveColumns\",\"Table.RemoveFirstN\",\"Table.RemoveLastN\",\"Table.RemoveMatchingRows\",\"Table.RemoveRows\",\"Table.RemoveRowsWithErrors\",\"Table.RenameColumns\",\"Table.ReorderColumns\",\"Table.Repeat\",\"Table.ReplaceErrorValues\",\"Table.ReplaceKeys\",\"Table.ReplaceMatchingRows\",\"Table.ReplaceRelationshipIdentity\",\"Table.ReplaceRows\",\"Table.ReplaceValue\",\"Table.ReverseRows\",\"Table.RowCount\",\"Table.Schema\",\"Table.SelectColumns\",\"Table.SelectRows\",\"Table.SelectRowsWithErrors\",\"Table.SingleRow\",\"Table.Skip\",\"Table.Sort\",\"Table.SplitColumn\",\"Table.ToColumns\",\"Table.ToList\",\"Table.ToRecords\",\"Table.ToRows\",\"Table.TransformColumnNames\",\"Table.TransformColumnTypes\",\"Table.TransformColumns\",\"Table.TransformRows\",\"Table.Transpose\",\"Table.Unpivot\",\"Table.UnpivotOtherColumns\",\"Table.View\",\"Table.ViewFunction\",\"TableAction.DeleteRows\",\"TableAction.InsertRows\",\"TableAction.UpdateRows\",\"Tables.GetRelationships\",\"Teradata.Database\",\"Text.AfterDelimiter\",\"Text.At\",\"Text.BeforeDelimiter\",\"Text.BetweenDelimiters\",\"Text.Clean\",\"Text.Combine\",\"Text.Contains\",\"Text.End\",\"Text.EndsWith\",\"Text.Format\",\"Text.From\",\"Text.FromBinary\",\"Text.Insert\",\"Text.Length\",\"Text.Lower\",\"Text.Middle\",\"Text.NewGuid\",\"Text.PadEnd\",\"Text.PadStart\",\"Text.PositionOf\",\"Text.PositionOfAny\",\"Text.Proper\",\"Text.Range\",\"Text.Remove\",\"Text.RemoveRange\",\"Text.Repeat\",\"Text.Replace\",\"Text.ReplaceRange\",\"Text.Select\",\"Text.Split\",\"Text.SplitAny\",\"Text.Start\",\"Text.StartsWith\",\"Text.ToBinary\",\"Text.ToList\",\"Text.Trim\",\"Text.TrimEnd\",\"Text.TrimStart\",\"Text.Upper\",\"Time.EndOfHour\",\"Time.From\",\"Time.FromText\",\"Time.Hour\",\"Time.Minute\",\"Time.Second\",\"Time.StartOfHour\",\"Time.ToRecord\",\"Time.ToText\",\"Type.AddTableKey\",\"Type.ClosedRecord\",\"Type.Facets\",\"Type.ForFunction\",\"Type.ForRecord\",\"Type.FunctionParameters\",\"Type.FunctionRequiredParameters\",\"Type.FunctionReturn\",\"Type.Is\",\"Type.IsNullable\",\"Type.IsOpenRecord\",\"Type.ListItem\",\"Type.NonNullable\",\"Type.OpenRecord\",\"Type.RecordFields\",\"Type.ReplaceFacets\",\"Type.ReplaceTableKeys\",\"Type.TableColumn\",\"Type.TableKeys\",\"Type.TableRow\",\"Type.TableSchema\",\"Type.Union\",\"Uri.BuildQueryString\",\"Uri.Combine\",\"Uri.EscapeDataString\",\"Uri.Parts\",\"Value.Add\",\"Value.As\",\"Value.Compare\",\"Value.Divide\",\"Value.Equals\",\"Value.Firewall\",\"Value.FromText\",\"Value.Is\",\"Value.Metadata\",\"Value.Multiply\",\"Value.NativeQuery\",\"Value.NullableEquals\",\"Value.RemoveMetadata\",\"Value.ReplaceMetadata\",\"Value.ReplaceType\",\"Value.Subtract\",\"Value.Type\",\"ValueAction.NativeStatement\",\"ValueAction.Replace\",\"Variable.Value\",\"Web.Contents\",\"Web.Page\",\"WebAction.Request\",\"Xml.Document\",\"Xml.Tables\"],builtinConstants:[\"BinaryEncoding.Base64\",\"BinaryEncoding.Hex\",\"BinaryOccurrence.Optional\",\"BinaryOccurrence.Repeating\",\"BinaryOccurrence.Required\",\"ByteOrder.BigEndian\",\"ByteOrder.LittleEndian\",\"Compression.Deflate\",\"Compression.GZip\",\"CsvStyle.QuoteAfterDelimiter\",\"CsvStyle.QuoteAlways\",\"Culture.Current\",\"Day.Friday\",\"Day.Monday\",\"Day.Saturday\",\"Day.Sunday\",\"Day.Thursday\",\"Day.Tuesday\",\"Day.Wednesday\",\"ExtraValues.Error\",\"ExtraValues.Ignore\",\"ExtraValues.List\",\"GroupKind.Global\",\"GroupKind.Local\",\"JoinAlgorithm.Dynamic\",\"JoinAlgorithm.LeftHash\",\"JoinAlgorithm.LeftIndex\",\"JoinAlgorithm.PairwiseHash\",\"JoinAlgorithm.RightHash\",\"JoinAlgorithm.RightIndex\",\"JoinAlgorithm.SortMerge\",\"JoinKind.FullOuter\",\"JoinKind.Inner\",\"JoinKind.LeftAnti\",\"JoinKind.LeftOuter\",\"JoinKind.RightAnti\",\"JoinKind.RightOuter\",\"JoinSide.Left\",\"JoinSide.Right\",\"MissingField.Error\",\"MissingField.Ignore\",\"MissingField.UseNull\",\"Number.E\",\"Number.Epsilon\",\"Number.NaN\",\"Number.NegativeInfinity\",\"Number.PI\",\"Number.PositiveInfinity\",\"Occurrence.All\",\"Occurrence.First\",\"Occurrence.Last\",\"Occurrence.Optional\",\"Occurrence.Repeating\",\"Occurrence.Required\",\"Order.Ascending\",\"Order.Descending\",\"Precision.Decimal\",\"Precision.Double\",\"QuoteStyle.Csv\",\"QuoteStyle.None\",\"RelativePosition.FromEnd\",\"RelativePosition.FromStart\",\"RoundingMode.AwayFromZero\",\"RoundingMode.Down\",\"RoundingMode.ToEven\",\"RoundingMode.TowardZero\",\"RoundingMode.Up\",\"SapHanaDistribution.All\",\"SapHanaDistribution.Connection\",\"SapHanaDistribution.Off\",\"SapHanaDistribution.Statement\",\"SapHanaRangeOperator.Equals\",\"SapHanaRangeOperator.GreaterThan\",\"SapHanaRangeOperator.GreaterThanOrEquals\",\"SapHanaRangeOperator.LessThan\",\"SapHanaRangeOperator.LessThanOrEquals\",\"SapHanaRangeOperator.NotEquals\",\"TextEncoding.Ascii\",\"TextEncoding.BigEndianUnicode\",\"TextEncoding.Unicode\",\"TextEncoding.Utf16\",\"TextEncoding.Utf8\",\"TextEncoding.Windows\",\"TraceLevel.Critical\",\"TraceLevel.Error\",\"TraceLevel.Information\",\"TraceLevel.Verbose\",\"TraceLevel.Warning\",\"WebMethod.Delete\",\"WebMethod.Get\",\"WebMethod.Head\",\"WebMethod.Patch\",\"WebMethod.Post\",\"WebMethod.Put\"],builtinTypes:[\"Action.Type\",\"Any.Type\",\"Binary.Type\",\"BinaryEncoding.Type\",\"BinaryOccurrence.Type\",\"Byte.Type\",\"ByteOrder.Type\",\"Character.Type\",\"Compression.Type\",\"CsvStyle.Type\",\"Currency.Type\",\"Date.Type\",\"DateTime.Type\",\"DateTimeZone.Type\",\"Day.Type\",\"Decimal.Type\",\"Double.Type\",\"Duration.Type\",\"ExtraValues.Type\",\"Function.Type\",\"GroupKind.Type\",\"Guid.Type\",\"Int16.Type\",\"Int32.Type\",\"Int64.Type\",\"Int8.Type\",\"JoinAlgorithm.Type\",\"JoinKind.Type\",\"JoinSide.Type\",\"List.Type\",\"Logical.Type\",\"MissingField.Type\",\"None.Type\",\"Null.Type\",\"Number.Type\",\"Occurrence.Type\",\"Order.Type\",\"Password.Type\",\"Percentage.Type\",\"Precision.Type\",\"QuoteStyle.Type\",\"Record.Type\",\"RelativePosition.Type\",\"RoundingMode.Type\",\"SapHanaDistribution.Type\",\"SapHanaRangeOperator.Type\",\"Single.Type\",\"Table.Type\",\"Text.Type\",\"TextEncoding.Type\",\"Time.Type\",\"TraceLevel.Type\",\"Type.Type\",\"Uri.Type\",\"WebMethod.Type\"],tokenizer:{root:[[/#\"[\\w \\.]+\"/,\"identifier.quote\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F]+/,\"number.hex\"],[/\\d+([eE][\\-+]?\\d+)?/,\"number\"],[/(#?[a-z]+)\\b/,{cases:{\"@typeKeywords\":\"type\",\"@keywords\":\"keyword\",\"@constants\":\"constant\",\"@constructors\":\"constructor\",\"@operatorKeywords\":\"operators\",\"@default\":\"identifier\"}}],[/\\b([A-Z][a-zA-Z0-9]+\\.Type)\\b/,{cases:{\"@builtinTypes\":\"type\",\"@default\":\"identifier\"}}],[/\\b([A-Z][a-zA-Z0-9]+\\.[A-Z][a-zA-Z0-9]+)\\b/,{cases:{\"@builtinFunctions\":\"keyword.function\",\"@builtinConstants\":\"constant\",\"@default\":\"identifier\"}}],[/\\b([a-zA-Z_][\\w\\.]*)\\b/,\"identifier\"],{include:\"@whitespace\"},{include:\"@comments\"},{include:\"@strings\"},[/[{}()\\[\\]]/,\"@brackets\"],[/([=\\+<>\\-\\*&@\\?\\/!])|([<>]=)|(<>)|(=>)|(\\.\\.\\.)|(\\.\\.)/,\"operators\"],[/[,;]/,\"delimiter\"]],whitespace:[[/\\s+/,\"white\"]],comments:[[\"\\\\/\\\\*\",\"comment\",\"@comment\"],[\"\\\\/\\\\/+.*\",\"comment\"]],comment:[[\"\\\\*\\\\/\",\"comment\",\"@pop\"],[\".\",\"comment\"]],strings:[['\"',\"string\",\"@string\"]],string:[['\"\"',\"string.escape\"],['\"',\"string\",\"@pop\"],[\".\",\"string\"]]}};return u(b);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/powershell/powershell.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/powershell/powershell\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(n,e)=>{for(var t in e)o(n,t,{get:e[t],enumerable:!0})},g=(n,e,t,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of i(e))!l.call(n,s)&&s!==t&&o(n,s,{get:()=>e[s],enumerable:!(a=r(e,s))||a.enumerable});return n};var p=n=>g(o({},\"__esModule\",{value:!0}),n);var u={};c(u,{conf:()=>d,language:()=>m});var d={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#%\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"#\",blockComment:[\"<#\",\"#>\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*#region\\\\b\"),end:new RegExp(\"^\\\\s*#endregion\\\\b\")}}},m={defaultToken:\"\",ignoreCase:!0,tokenPostfix:\".ps1\",brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"}],keywords:[\"begin\",\"break\",\"catch\",\"class\",\"continue\",\"data\",\"define\",\"do\",\"dynamicparam\",\"else\",\"elseif\",\"end\",\"exit\",\"filter\",\"finally\",\"for\",\"foreach\",\"from\",\"function\",\"if\",\"in\",\"param\",\"process\",\"return\",\"switch\",\"throw\",\"trap\",\"try\",\"until\",\"using\",\"var\",\"while\",\"workflow\",\"parallel\",\"sequence\",\"inlinescript\",\"configuration\"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=><!~?&%|+\\-*\\/\\^;\\.,]+/,escapes:/`(?:[abfnrtv\\\\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_][\\w-]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"\"}}],[/[ \\t\\r\\n]+/,\"\"],[/^:\\w*/,\"metatag\"],[/\\$(\\{((global|local|private|script|using):)?[\\w]+\\}|((global|local|private|script|using):)?[\\w]+)/,\"variable\"],[/<#/,\"comment\",\"@comment\"],[/#.*$/,\"comment\"],[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,\"delimiter\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,\"number.hex\"],[/\\d+?/,\"number\"],[/[;,.]/,\"delimiter\"],[/\\@\"/,\"string\",'@herestring.\"'],[/\\@'/,\"string\",\"@herestring.'\"],[/\"/,{cases:{\"@eos\":\"string\",\"@default\":{token:\"string\",next:'@string.\"'}}}],[/'/,{cases:{\"@eos\":\"string\",\"@default\":{token:\"string\",next:\"@string.'\"}}}]],string:[[/[^\"'\\$`]+/,{cases:{\"@eos\":{token:\"string\",next:\"@popall\"},\"@default\":\"string\"}}],[/@escapes/,{cases:{\"@eos\":{token:\"string.escape\",next:\"@popall\"},\"@default\":\"string.escape\"}}],[/`./,{cases:{\"@eos\":{token:\"string.escape.invalid\",next:\"@popall\"},\"@default\":\"string.escape.invalid\"}}],[/\\$[\\w]+$/,{cases:{'$S2==\"':{token:\"variable\",next:\"@popall\"},\"@default\":{token:\"string\",next:\"@popall\"}}}],[/\\$[\\w]+/,{cases:{'$S2==\"':\"variable\",\"@default\":\"string\"}}],[/[\"']/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":{cases:{\"@eos\":{token:\"string\",next:\"@popall\"},\"@default\":\"string\"}}}}]],herestring:[[/^\\s*([\"'])@/,{cases:{\"$1==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":\"string\"}}],[/[^\\$`]+/,\"string\"],[/@escapes/,\"string.escape\"],[/`./,\"string.escape.invalid\"],[/\\$[\\w]+/,{cases:{'$S2==\"':\"variable\",\"@default\":\"string\"}}]],comment:[[/[^#\\.]+/,\"comment\"],[/#>/,\"comment\",\"@pop\"],[/(\\.)(@helpKeywords)(?!\\w)/,{token:\"comment.keyword.$2\"}],[/[\\.#]/,\"comment\"]]}};return p(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/protobuf/protobuf.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/protobuf/protobuf\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var i in e)o(t,i,{get:e[i],enumerable:!0})},d=(t,e,i,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of c(e))!a.call(t,n)&&n!==i&&o(t,n,{get:()=>e[n],enumerable:!(s=r(e,n))||s.enumerable});return t};var l=t=>d(o({},\"__esModule\",{value:!0}),t);var m={};p(m,{conf:()=>u,language:()=>f});var k=[\"true\",\"false\"],u={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"<\",\">\"]],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\"]}],autoCloseBefore:`.,=}])>' \n\t`,indentationRules:{increaseIndentPattern:new RegExp(\"^((?!\\\\/\\\\/).)*(\\\\{[^}\\\"'`]*|\\\\([^)\\\"'`]*|\\\\[[^\\\\]\\\"'`]*)$\"),decreaseIndentPattern:new RegExp(\"^((?!.*?\\\\/\\\\*).*\\\\*/)?\\\\s*[\\\\}\\\\]].*$\")}},f={defaultToken:\"\",tokenPostfix:\".proto\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],symbols:/[=><!~?:&|+\\-*/^%]+/,keywords:[\"syntax\",\"import\",\"weak\",\"public\",\"package\",\"option\",\"repeated\",\"oneof\",\"map\",\"reserved\",\"to\",\"max\",\"enum\",\"message\",\"service\",\"rpc\",\"stream\",\"returns\",\"package\",\"optional\",\"true\",\"false\"],builtinTypes:[\"double\",\"float\",\"int32\",\"int64\",\"uint32\",\"uint64\",\"sint32\",\"sint64\",\"fixed32\",\"fixed64\",\"sfixed32\",\"sfixed64\",\"bool\",\"string\",\"bytes\"],operators:[\"=\",\"+\",\"-\"],namedLiterals:k,escapes:\"\\\\\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\\\\\|'|\\\\${)\",identifier:/[a-zA-Z]\\w*/,fullIdentifier:/@identifier(?:\\s*\\.\\s*@identifier)*/,optionName:/(?:@identifier|\\(\\s*@fullIdentifier\\s*\\))(?:\\s*\\.\\s*@identifier)*/,messageName:/@identifier/,enumName:/@identifier/,messageType:/\\.?\\s*(?:@identifier\\s*\\.\\s*)*@messageName/,enumType:/\\.?\\s*(?:@identifier\\s*\\.\\s*)*@enumName/,floatLit:/[0-9]+\\s*\\.\\s*[0-9]*(?:@exponent)?|[0-9]+@exponent|\\.[0-9]+(?:@exponent)?/,exponent:/[eE]\\s*[+-]?\\s*[0-9]+/,boolLit:/true\\b|false\\b/,decimalLit:/[1-9][0-9]*/,octalLit:/0[0-7]*/,hexLit:/0[xX][0-9a-fA-F]+/,type:/double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes|@messageType|@enumType/,keyType:/int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string/,tokenizer:{root:[{include:\"@whitespace\"},[/syntax/,\"keyword\"],[/=/,\"operators\"],[/;/,\"delimiter\"],[/(\")(proto3)(\")/,[\"string.quote\",\"string\",{token:\"string.quote\",switchTo:\"@topLevel.proto3\"}]],[/(\")(proto2)(\")/,[\"string.quote\",\"string\",{token:\"string.quote\",switchTo:\"@topLevel.proto2\"}]],[/.*?/,{token:\"\",switchTo:\"@topLevel.proto2\"}]],topLevel:[{include:\"@whitespace\"},{include:\"@constant\"},[/=/,\"operators\"],[/[;.]/,\"delimiter\"],[/@fullIdentifier/,{cases:{option:{token:\"keyword\",next:\"@option.$S2\"},enum:{token:\"keyword\",next:\"@enumDecl.$S2\"},message:{token:\"keyword\",next:\"@messageDecl.$S2\"},service:{token:\"keyword\",next:\"@serviceDecl.$S2\"},extend:{cases:{\"$S2==proto2\":{token:\"keyword\",next:\"@extendDecl.$S2\"}}},\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}]],enumDecl:[{include:\"@whitespace\"},[/@identifier/,\"type.identifier\"],[/{/,{token:\"@brackets\",bracket:\"@open\",switchTo:\"@enumBody.$S2\"}]],enumBody:[{include:\"@whitespace\"},{include:\"@constant\"},[/=/,\"operators\"],[/;/,\"delimiter\"],[/option\\b/,\"keyword\",\"@option.$S2\"],[/@identifier/,\"identifier\"],[/\\[/,{token:\"@brackets\",bracket:\"@open\",next:\"@options.$S2\"}],[/}/,{token:\"@brackets\",bracket:\"@close\",next:\"@pop\"}]],messageDecl:[{include:\"@whitespace\"},[/@identifier/,\"type.identifier\"],[/{/,{token:\"@brackets\",bracket:\"@open\",switchTo:\"@messageBody.$S2\"}]],messageBody:[{include:\"@whitespace\"},{include:\"@constant\"},[/=/,\"operators\"],[/;/,\"delimiter\"],[\"(map)(s*)(<)\",[\"keyword\",\"white\",{token:\"@brackets\",bracket:\"@open\",next:\"@map.$S2\"}]],[/@identifier/,{cases:{option:{token:\"keyword\",next:\"@option.$S2\"},enum:{token:\"keyword\",next:\"@enumDecl.$S2\"},message:{token:\"keyword\",next:\"@messageDecl.$S2\"},oneof:{token:\"keyword\",next:\"@oneofDecl.$S2\"},extensions:{cases:{\"$S2==proto2\":{token:\"keyword\",next:\"@reserved.$S2\"}}},reserved:{token:\"keyword\",next:\"@reserved.$S2\"},\"(?:repeated|optional)\":{token:\"keyword\",next:\"@field.$S2\"},required:{cases:{\"$S2==proto2\":{token:\"keyword\",next:\"@field.$S2\"}}},\"$S2==proto3\":{token:\"@rematch\",next:\"@field.$S2\"}}}],[/\\[/,{token:\"@brackets\",bracket:\"@open\",next:\"@options.$S2\"}],[/}/,{token:\"@brackets\",bracket:\"@close\",next:\"@pop\"}]],extendDecl:[{include:\"@whitespace\"},[/@identifier/,\"type.identifier\"],[/{/,{token:\"@brackets\",bracket:\"@open\",switchTo:\"@extendBody.$S2\"}]],extendBody:[{include:\"@whitespace\"},{include:\"@constant\"},[/;/,\"delimiter\"],[/(?:repeated|optional|required)/,\"keyword\",\"@field.$S2\"],[/\\[/,{token:\"@brackets\",bracket:\"@open\",next:\"@options.$S2\"}],[/}/,{token:\"@brackets\",bracket:\"@close\",next:\"@pop\"}]],options:[{include:\"@whitespace\"},{include:\"@constant\"},[/;/,\"delimiter\"],[/@optionName/,\"annotation\"],[/[()]/,\"annotation.brackets\"],[/=/,\"operator\"],[/\\]/,{token:\"@brackets\",bracket:\"@close\",next:\"@pop\"}]],option:[{include:\"@whitespace\"},[/@optionName/,\"annotation\"],[/[()]/,\"annotation.brackets\"],[/=/,\"operator\",\"@pop\"]],oneofDecl:[{include:\"@whitespace\"},[/@identifier/,\"identifier\"],[/{/,{token:\"@brackets\",bracket:\"@open\",switchTo:\"@oneofBody.$S2\"}]],oneofBody:[{include:\"@whitespace\"},{include:\"@constant\"},[/;/,\"delimiter\"],[/(@identifier)(\\s*)(=)/,[\"identifier\",\"white\",\"delimiter\"]],[/@fullIdentifier|\\./,{cases:{\"@builtinTypes\":\"keyword\",\"@default\":\"type.identifier\"}}],[/\\[/,{token:\"@brackets\",bracket:\"@open\",next:\"@options.$S2\"}],[/}/,{token:\"@brackets\",bracket:\"@close\",next:\"@pop\"}]],reserved:[{include:\"@whitespace\"},[/,/,\"delimiter\"],[/;/,\"delimiter\",\"@pop\"],{include:\"@constant\"},[/to\\b|max\\b/,\"keyword\"]],map:[{include:\"@whitespace\"},[/@fullIdentifier|\\./,{cases:{\"@builtinTypes\":\"keyword\",\"@default\":\"type.identifier\"}}],[/,/,\"delimiter\"],[/>/,{token:\"@brackets\",bracket:\"@close\",switchTo:\"identifier\"}]],field:[{include:\"@whitespace\"},[\"group\",{cases:{\"$S2==proto2\":{token:\"keyword\",switchTo:\"@groupDecl.$S2\"}}}],[/(@identifier)(\\s*)(=)/,[\"identifier\",\"white\",{token:\"delimiter\",next:\"@pop\"}]],[/@fullIdentifier|\\./,{cases:{\"@builtinTypes\":\"keyword\",\"@default\":\"type.identifier\"}}]],groupDecl:[{include:\"@whitespace\"},[/@identifier/,\"identifier\"],[\"=\",\"operator\"],[/{/,{token:\"@brackets\",bracket:\"@open\",switchTo:\"@messageBody.$S2\"}],{include:\"@constant\"}],type:[{include:\"@whitespace\"},[/@identifier/,\"type.identifier\",\"@pop\"],[/./,\"delimiter\"]],identifier:[{include:\"@whitespace\"},[/@identifier/,\"identifier\",\"@pop\"]],serviceDecl:[{include:\"@whitespace\"},[/@identifier/,\"identifier\"],[/{/,{token:\"@brackets\",bracket:\"@open\",switchTo:\"@serviceBody.$S2\"}]],serviceBody:[{include:\"@whitespace\"},{include:\"@constant\"},[/;/,\"delimiter\"],[/option\\b/,\"keyword\",\"@option.$S2\"],[/rpc\\b/,\"keyword\",\"@rpc.$S2\"],[/\\[/,{token:\"@brackets\",bracket:\"@open\",next:\"@options.$S2\"}],[/}/,{token:\"@brackets\",bracket:\"@close\",next:\"@pop\"}]],rpc:[{include:\"@whitespace\"},[/@identifier/,\"identifier\"],[/\\(/,{token:\"@brackets\",bracket:\"@open\",switchTo:\"@request.$S2\"}],[/{/,{token:\"@brackets\",bracket:\"@open\",next:\"@methodOptions.$S2\"}],[/;/,\"delimiter\",\"@pop\"]],request:[{include:\"@whitespace\"},[/@messageType/,{cases:{stream:{token:\"keyword\",next:\"@type.$S2\"},\"@default\":\"type.identifier\"}}],[/\\)/,{token:\"@brackets\",bracket:\"@close\",switchTo:\"@returns.$S2\"}]],returns:[{include:\"@whitespace\"},[/returns\\b/,\"keyword\"],[/\\(/,{token:\"@brackets\",bracket:\"@open\",switchTo:\"@response.$S2\"}]],response:[{include:\"@whitespace\"},[/@messageType/,{cases:{stream:{token:\"keyword\",next:\"@type.$S2\"},\"@default\":\"type.identifier\"}}],[/\\)/,{token:\"@brackets\",bracket:\"@close\",switchTo:\"@rpc.$S2\"}]],methodOptions:[{include:\"@whitespace\"},{include:\"@constant\"},[/;/,\"delimiter\"],[\"option\",\"keyword\"],[/@optionName/,\"annotation\"],[/[()]/,\"annotation.brackets\"],[/=/,\"operator\"],[/}/,{token:\"@brackets\",bracket:\"@close\",next:\"@pop\"}]],comment:[[/[^\\/*]+/,\"comment\"],[/\\/\\*/,\"comment\",\"@push\"],[\"\\\\*/\",\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],stringSingle:[[/[^\\\\']+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/'/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],constant:[[\"@boolLit\",\"keyword.constant\"],[\"@hexLit\",\"number.hex\"],[\"@octalLit\",\"number.octal\"],[\"@decimalLit\",\"number\"],[\"@floatLit\",\"number.float\"],[/(\"([^\"\\\\]|\\\\.)*|'([^'\\\\]|\\\\.)*)$/,\"string.invalid\"],[/\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@string\"}],[/'/,{token:\"string.quote\",bracket:\"@open\",next:\"@stringSingle\"}],[/{/,{token:\"@brackets\",bracket:\"@open\",next:\"@prototext\"}],[/identifier/,\"identifier\"]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],prototext:[{include:\"@whitespace\"},{include:\"@constant\"},[/@identifier/,\"identifier\"],[/[:;]/,\"delimiter\"],[/}/,{token:\"@brackets\",bracket:\"@close\",next:\"@pop\"}]]}};return l(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/pug/pug.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/pug/pug\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var a=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var o in e)a(t,o,{get:e[o],enumerable:!0})},c=(t,e,o,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of l(e))!r.call(t,n)&&n!==o&&a(t,n,{get:()=>e[n],enumerable:!(s=i(e,n))||s.enumerable});return t};var d=t=>c(a({},\"__esModule\",{value:!0}),t);var g={};p(g,{conf:()=>m,language:()=>u});var m={comments:{lineComment:\"//\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]}],folding:{offSide:!0}},u={defaultToken:\"\",tokenPostfix:\".pug\",ignoreCase:!0,brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.array\",open:\"[\",close:\"]\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"}],keywords:[\"append\",\"block\",\"case\",\"default\",\"doctype\",\"each\",\"else\",\"extends\",\"for\",\"if\",\"in\",\"include\",\"mixin\",\"typeof\",\"unless\",\"var\",\"when\"],tags:[\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"basefont\",\"bdi\",\"bdo\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"command\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"keygen\",\"kbd\",\"label\",\"li\",\"link\",\"map\",\"mark\",\"menu\",\"meta\",\"meter\",\"nav\",\"noframes\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"tracks\",\"tt\",\"u\",\"ul\",\"video\",\"wbr\"],symbols:/[\\+\\-\\*\\%\\&\\|\\!\\=\\/\\.\\,\\:]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\\s*)([a-zA-Z_-][\\w-]*)/,{cases:{\"$2@tags\":{cases:{\"@eos\":[\"\",\"tag\"],\"@default\":[\"\",{token:\"tag\",next:\"@tag.$1\"}]}},\"$2@keywords\":[\"\",{token:\"keyword.$2\"}],\"@default\":[\"\",\"\"]}}],[/^(\\s*)(#[a-zA-Z_-][\\w-]*)/,{cases:{\"@eos\":[\"\",\"tag.id\"],\"@default\":[\"\",{token:\"tag.id\",next:\"@tag.$1\"}]}}],[/^(\\s*)(\\.[a-zA-Z_-][\\w-]*)/,{cases:{\"@eos\":[\"\",\"tag.class\"],\"@default\":[\"\",{token:\"tag.class\",next:\"@tag.$1\"}]}}],[/^(\\s*)(\\|.*)$/,\"\"],{include:\"@whitespace\"},[/[a-zA-Z_$][\\w$]*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"\"}}],[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,\"delimiter\"],[/\\d+\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/\\d+/,\"number\"],[/\"/,\"string\",'@string.\"'],[/'/,\"string\",\"@string.'\"]],tag:[[/(\\.)(\\s*$)/,[{token:\"delimiter\",next:\"@blockText.$S2.\"},\"\"]],[/\\s+/,{token:\"\",next:\"@simpleText\"}],[/#[a-zA-Z_-][\\w-]*/,{cases:{\"@eos\":{token:\"tag.id\",next:\"@pop\"},\"@default\":\"tag.id\"}}],[/\\.[a-zA-Z_-][\\w-]*/,{cases:{\"@eos\":{token:\"tag.class\",next:\"@pop\"},\"@default\":\"tag.class\"}}],[/\\(/,{token:\"delimiter.parenthesis\",next:\"@attributeList\"}]],simpleText:[[/[^#]+$/,{token:\"\",next:\"@popall\"}],[/[^#]+/,{token:\"\"}],[/(#{)([^}]*)(})/,{cases:{\"@eos\":[\"interpolation.delimiter\",\"interpolation\",{token:\"interpolation.delimiter\",next:\"@popall\"}],\"@default\":[\"interpolation.delimiter\",\"interpolation\",\"interpolation.delimiter\"]}}],[/#$/,{token:\"\",next:\"@popall\"}],[/#/,\"\"]],attributeList:[[/\\s+/,\"\"],[/(\\w+)(\\s*=\\s*)(\"|')/,[\"attribute.name\",\"delimiter\",{token:\"attribute.value\",next:\"@value.$3\"}]],[/\\w+/,\"attribute.name\"],[/,/,{cases:{\"@eos\":{token:\"attribute.delimiter\",next:\"@popall\"},\"@default\":\"attribute.delimiter\"}}],[/\\)$/,{token:\"delimiter.parenthesis\",next:\"@popall\"}],[/\\)/,{token:\"delimiter.parenthesis\",next:\"@pop\"}]],whitespace:[[/^(\\s*)(\\/\\/.*)$/,{token:\"comment\",next:\"@blockText.$1.comment\"}],[/[ \\t\\r\\n]+/,\"\"],[/<!--/,{token:\"comment\",next:\"@comment\"}]],blockText:[[/^\\s+.*$/,{cases:{\"($S2\\\\s+.*$)\":{token:\"$S3\"},\"@default\":{token:\"@rematch\",next:\"@popall\"}}}],[/./,{token:\"@rematch\",next:\"@popall\"}]],comment:[[/[^<\\-]+/,\"comment.content\"],[/-->/,{token:\"comment\",next:\"@pop\"}],[/<!--/,\"comment.content.invalid\"],[/[<\\-]/,\"comment.content\"]],string:[[/[^\\\\\"'#]+/,{cases:{\"@eos\":{token:\"string\",next:\"@popall\"},\"@default\":\"string\"}}],[/@escapes/,{cases:{\"@eos\":{token:\"string.escape\",next:\"@popall\"},\"@default\":\"string.escape\"}}],[/\\\\./,{cases:{\"@eos\":{token:\"string.escape.invalid\",next:\"@popall\"},\"@default\":\"string.escape.invalid\"}}],[/(#{)([^}]*)(})/,[\"interpolation.delimiter\",\"interpolation\",\"interpolation.delimiter\"]],[/#/,\"string\"],[/[\"']/,{cases:{\"$#==$S2\":{token:\"string\",next:\"@pop\"},\"@default\":{token:\"string\"}}}]],value:[[/[^\\\\\"']+/,{cases:{\"@eos\":{token:\"attribute.value\",next:\"@popall\"},\"@default\":\"attribute.value\"}}],[/\\\\./,{cases:{\"@eos\":{token:\"attribute.value\",next:\"@popall\"},\"@default\":\"attribute.value\"}}],[/[\"']/,{cases:{\"$#==$S2\":{token:\"attribute.value\",next:\"@pop\"},\"@default\":{token:\"attribute.value\"}}}]]}};return d(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/python/python.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/python/python\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var d=Object.create;var o=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var b=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(n,t)=>(typeof require<\"u\"?require:n)[t]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var y=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),h=(e,n)=>{for(var t in n)o(e,t,{get:n[t],enumerable:!0})},i=(e,n,t,a)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let s of f(n))!u.call(e,s)&&s!==t&&o(e,s,{get:()=>n[s],enumerable:!(a=m(n,s))||a.enumerable});return e},l=(e,n,t)=>(i(e,n,\"default\"),t&&i(t,n,\"default\")),p=(e,n,t)=>(t=e!=null?d(_(e)):{},i(n||!e||!e.__esModule?o(t,\"default\",{value:e,enumerable:!0}):t,e)),x=e=>i(o({},\"__esModule\",{value:!0}),e);var g=y((B,c)=>{var w=p(b(\"vs/editor/editor.api\"));c.exports=w});var D={};h(D,{conf:()=>k,language:()=>S});var r={};l(r,p(g()));var k={comments:{lineComment:\"#\",blockComment:[\"'''\",\"'''\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],onEnterRules:[{beforeText:new RegExp(\"^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\\\s*$\"),action:{indentAction:r.languages.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:new RegExp(\"^\\\\s*#region\\\\b\"),end:new RegExp(\"^\\\\s*#endregion\\\\b\")}}},S={defaultToken:\"\",tokenPostfix:\".python\",keywords:[\"False\",\"None\",\"True\",\"_\",\"and\",\"as\",\"assert\",\"async\",\"await\",\"break\",\"case\",\"class\",\"continue\",\"def\",\"del\",\"elif\",\"else\",\"except\",\"exec\",\"finally\",\"for\",\"from\",\"global\",\"if\",\"import\",\"in\",\"is\",\"lambda\",\"match\",\"nonlocal\",\"not\",\"or\",\"pass\",\"print\",\"raise\",\"return\",\"try\",\"type\",\"while\",\"with\",\"yield\",\"int\",\"float\",\"long\",\"complex\",\"hex\",\"abs\",\"all\",\"any\",\"apply\",\"basestring\",\"bin\",\"bool\",\"buffer\",\"bytearray\",\"callable\",\"chr\",\"classmethod\",\"cmp\",\"coerce\",\"compile\",\"complex\",\"delattr\",\"dict\",\"dir\",\"divmod\",\"enumerate\",\"eval\",\"execfile\",\"file\",\"filter\",\"format\",\"frozenset\",\"getattr\",\"globals\",\"hasattr\",\"hash\",\"help\",\"id\",\"input\",\"intern\",\"isinstance\",\"issubclass\",\"iter\",\"len\",\"locals\",\"list\",\"map\",\"max\",\"memoryview\",\"min\",\"next\",\"object\",\"oct\",\"open\",\"ord\",\"pow\",\"print\",\"property\",\"reversed\",\"range\",\"raw_input\",\"reduce\",\"reload\",\"repr\",\"reversed\",\"round\",\"self\",\"set\",\"setattr\",\"slice\",\"sorted\",\"staticmethod\",\"str\",\"sum\",\"super\",\"tuple\",\"type\",\"unichr\",\"unicode\",\"vars\",\"xrange\",\"zip\",\"__dict__\",\"__methods__\",\"__members__\",\"__class__\",\"__bases__\",\"__name__\",\"__mro__\",\"__subclasses__\",\"__init__\",\"__import__\"],brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.bracket\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],tokenizer:{root:[{include:\"@whitespace\"},{include:\"@numbers\"},{include:\"@strings\"},[/[,:;]/,\"delimiter\"],[/[{}\\[\\]()]/,\"@brackets\"],[/@[a-zA-Z_]\\w*/,\"tag\"],[/[a-zA-Z_]\\w*/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}]],whitespace:[[/\\s+/,\"white\"],[/(^#.*$)/,\"comment\"],[/'''/,\"string\",\"@endDocString\"],[/\"\"\"/,\"string\",\"@endDblDocString\"]],endDocString:[[/[^']+/,\"string\"],[/\\\\'/,\"string\"],[/'''/,\"string\",\"@popall\"],[/'/,\"string\"]],endDblDocString:[[/[^\"]+/,\"string\"],[/\\\\\"/,\"string\"],[/\"\"\"/,\"string\",\"@popall\"],[/\"/,\"string\"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\\d)+[lL]?/,\"number.hex\"],[/-?(\\d*\\.)?\\d+([eE][+\\-]?\\d+)?[jJ]?[lL]?/,\"number\"]],strings:[[/'$/,\"string.escape\",\"@popall\"],[/f'{1,3}/,\"string.escape\",\"@fStringBody\"],[/'/,\"string.escape\",\"@stringBody\"],[/\"$/,\"string.escape\",\"@popall\"],[/f\"{1,3}/,\"string.escape\",\"@fDblStringBody\"],[/\"/,\"string.escape\",\"@dblStringBody\"]],fStringBody:[[/[^\\\\'\\{\\}]+$/,\"string\",\"@popall\"],[/[^\\\\'\\{\\}]+/,\"string\"],[/\\{[^\\}':!=]+/,\"identifier\",\"@fStringDetail\"],[/\\\\./,\"string\"],[/'/,\"string.escape\",\"@popall\"],[/\\\\$/,\"string\"]],stringBody:[[/[^\\\\']+$/,\"string\",\"@popall\"],[/[^\\\\']+/,\"string\"],[/\\\\./,\"string\"],[/'/,\"string.escape\",\"@popall\"],[/\\\\$/,\"string\"]],fDblStringBody:[[/[^\\\\\"\\{\\}]+$/,\"string\",\"@popall\"],[/[^\\\\\"\\{\\}]+/,\"string\"],[/\\{[^\\}':!=]+/,\"identifier\",\"@fStringDetail\"],[/\\\\./,\"string\"],[/\"/,\"string.escape\",\"@popall\"],[/\\\\$/,\"string\"]],dblStringBody:[[/[^\\\\\"]+$/,\"string\",\"@popall\"],[/[^\\\\\"]+/,\"string\"],[/\\\\./,\"string\"],[/\"/,\"string.escape\",\"@popall\"],[/\\\\$/,\"string\"]],fStringDetail:[[/[:][^}]+/,\"string\"],[/[!][ars]/,\"string\"],[/=/,\"string\"],[/\\}/,\"identifier\",\"@pop\"]]}};return x(D);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/qsharp/qsharp.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/qsharp/qsharp\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var a=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(t,e)=>{for(var n in e)a(t,n,{get:e[n],enumerable:!0})},p=(t,e,n,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of r(e))!l.call(t,o)&&o!==n&&a(t,o,{get:()=>e[o],enumerable:!(s=i(e,o))||s.enumerable});return t};var u=t=>p(a({},\"__esModule\",{value:!0}),t);var w={};c(w,{conf:()=>d,language:()=>m});var d={comments:{lineComment:\"//\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}]},m={keywords:[\"namespace\",\"open\",\"import\",\"export\",\"as\",\"operation\",\"function\",\"body\",\"adjoint\",\"newtype\",\"struct\",\"controlled\",\"if\",\"elif\",\"else\",\"repeat\",\"until\",\"fixup\",\"for\",\"in\",\"while\",\"return\",\"fail\",\"within\",\"apply\",\"Adjoint\",\"Controlled\",\"Adj\",\"Ctl\",\"is\",\"self\",\"auto\",\"distribute\",\"invert\",\"intrinsic\",\"let\",\"set\",\"w/\",\"new\",\"not\",\"and\",\"or\",\"use\",\"borrow\",\"using\",\"borrowing\",\"mutable\",\"internal\"],typeKeywords:[\"Unit\",\"Int\",\"BigInt\",\"Double\",\"Bool\",\"String\",\"Qubit\",\"Result\",\"Pauli\",\"Range\"],invalidKeywords:[\"abstract\",\"base\",\"bool\",\"break\",\"byte\",\"case\",\"catch\",\"char\",\"checked\",\"class\",\"const\",\"continue\",\"decimal\",\"default\",\"delegate\",\"do\",\"double\",\"enum\",\"event\",\"explicit\",\"extern\",\"finally\",\"fixed\",\"float\",\"foreach\",\"goto\",\"implicit\",\"int\",\"interface\",\"lock\",\"long\",\"null\",\"object\",\"operator\",\"out\",\"override\",\"params\",\"private\",\"protected\",\"public\",\"readonly\",\"ref\",\"sbyte\",\"sealed\",\"short\",\"sizeof\",\"stackalloc\",\"static\",\"string\",\"switch\",\"this\",\"throw\",\"try\",\"typeof\",\"unit\",\"ulong\",\"unchecked\",\"unsafe\",\"ushort\",\"virtual\",\"void\",\"volatile\"],constants:[\"true\",\"false\",\"PauliI\",\"PauliX\",\"PauliY\",\"PauliZ\",\"One\",\"Zero\"],builtin:[\"X\",\"Y\",\"Z\",\"H\",\"HY\",\"S\",\"T\",\"SWAP\",\"CNOT\",\"CCNOT\",\"MultiX\",\"R\",\"RFrac\",\"Rx\",\"Ry\",\"Rz\",\"R1\",\"R1Frac\",\"Exp\",\"ExpFrac\",\"Measure\",\"M\",\"MultiM\",\"Message\",\"Length\",\"Assert\",\"AssertProb\",\"AssertEqual\"],operators:[\"and=\",\"<-\",\"->\",\"*\",\"*=\",\"@\",\"!\",\"^\",\"^=\",\":\",\"::\",\".\",\"..\",\"==\",\"...\",\"=\",\"=>\",\">\",\">=\",\"<\",\"<=\",\"-\",\"-=\",\"!=\",\"or=\",\"%\",\"%=\",\"|\",\"+\",\"+=\",\"?\",\"/\",\"/=\",\"&&&\",\"&&&=\",\"^^^\",\"^^^=\",\">>>\",\">>>=\",\"<<<\",\"<<<=\",\"|||\",\"|||=\",\"~~~\",\"_\",\"w/\",\"w/=\"],namespaceFollows:[\"namespace\",\"open\"],importsFollows:[\"import\"],symbols:/[=><!~?:&|+\\-*\\/\\^%@._]+/,escapes:/\\\\[\\s\\S]/,tokenizer:{root:[[/[a-zA-Z_$][\\w$]*/,{cases:{\"@namespaceFollows\":{token:\"keyword.$0\",next:\"@namespace\"},\"@importsFollows\":{token:\"keyword.$0\",next:\"@imports\"},\"@typeKeywords\":\"type\",\"@keywords\":\"keyword\",\"@constants\":\"constant\",\"@builtin\":\"keyword\",\"@invalidKeywords\":\"invalid\",\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"operator\",\"@default\":\"\"}}],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/\\d+/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@string\"}]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],namespace:[{include:\"@whitespace\"},[/[A-Za-z]\\w*/,\"namespace\"],[/[\\.]/,\"delimiter\"],[\"\",\"\",\"@pop\"]],imports:[{include:\"@whitespace\"},[/[A-Za-z]\\w*(?=\\.)/,\"namespace\"],[/[A-Za-z]\\w*/,\"identifier\"],[/\\*/,\"wildcard\"],[/[\\.,]/,\"delimiter\"],[\"\",\"\",\"@pop\"]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/(\\/\\/).*/,\"comment\"]]}};return u(w);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/r/r.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/r/r\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var a=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(o,e)=>{for(var t in e)a(o,t,{get:e[t],enumerable:!0})},p=(o,e,t,n)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of i(e))!c.call(o,r)&&r!==t&&a(o,r,{get:()=>e[r],enumerable:!(n=s(e,r))||n.enumerable});return o};var m=o=>p(a({},\"__esModule\",{value:!0}),o);var u={};l(u,{conf:()=>d,language:()=>g});var d={comments:{lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}]},g={defaultToken:\"\",tokenPostfix:\".r\",roxygen:[\"@alias\",\"@aliases\",\"@assignee\",\"@author\",\"@backref\",\"@callGraph\",\"@callGraphDepth\",\"@callGraphPrimitives\",\"@concept\",\"@describeIn\",\"@description\",\"@details\",\"@docType\",\"@encoding\",\"@evalNamespace\",\"@evalRd\",\"@example\",\"@examples\",\"@export\",\"@exportClass\",\"@exportMethod\",\"@exportPattern\",\"@family\",\"@field\",\"@formals\",\"@format\",\"@import\",\"@importClassesFrom\",\"@importFrom\",\"@importMethodsFrom\",\"@include\",\"@inherit\",\"@inheritDotParams\",\"@inheritParams\",\"@inheritSection\",\"@keywords\",\"@md\",\"@method\",\"@name\",\"@noMd\",\"@noRd\",\"@note\",\"@param\",\"@rawNamespace\",\"@rawRd\",\"@rdname\",\"@references\",\"@return\",\"@S3method\",\"@section\",\"@seealso\",\"@setClass\",\"@slot\",\"@source\",\"@template\",\"@templateVar\",\"@title\",\"@TODO\",\"@usage\",\"@useDynLib\"],constants:[\"NULL\",\"FALSE\",\"TRUE\",\"NA\",\"Inf\",\"NaN\",\"NA_integer_\",\"NA_real_\",\"NA_complex_\",\"NA_character_\",\"T\",\"F\",\"LETTERS\",\"letters\",\"month.abb\",\"month.name\",\"pi\",\"R.version.string\"],keywords:[\"break\",\"next\",\"return\",\"if\",\"else\",\"for\",\"in\",\"repeat\",\"while\",\"array\",\"category\",\"character\",\"complex\",\"double\",\"function\",\"integer\",\"list\",\"logical\",\"matrix\",\"numeric\",\"vector\",\"data.frame\",\"factor\",\"library\",\"require\",\"attach\",\"detach\",\"source\"],special:[\"\\\\n\",\"\\\\r\",\"\\\\t\",\"\\\\b\",\"\\\\a\",\"\\\\f\",\"\\\\v\",\"\\\\'\",'\\\\\"',\"\\\\\\\\\"],brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.bracket\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],tokenizer:{root:[{include:\"@numbers\"},{include:\"@strings\"},[/[{}\\[\\]()]/,\"@brackets\"],{include:\"@operators\"},[/#'$/,\"comment.doc\"],[/#'/,\"comment.doc\",\"@roxygen\"],[/(^#.*$)/,\"comment\"],[/\\s+/,\"white\"],[/[,:;]/,\"delimiter\"],[/@[a-zA-Z]\\w*/,\"tag\"],[/[a-zA-Z]\\w*/,{cases:{\"@keywords\":\"keyword\",\"@constants\":\"constant\",\"@default\":\"identifier\"}}]],roxygen:[[/@\\w+/,{cases:{\"@roxygen\":\"tag\",\"@eos\":{token:\"comment.doc\",next:\"@pop\"},\"@default\":\"comment.doc\"}}],[/\\s+/,{cases:{\"@eos\":{token:\"comment.doc\",next:\"@pop\"},\"@default\":\"comment.doc\"}}],[/.*/,{token:\"comment.doc\",next:\"@pop\"}]],numbers:[[/0[xX][0-9a-fA-F]+/,\"number.hex\"],[/-?(\\d*\\.)?\\d+([eE][+\\-]?\\d+)?/,\"number\"]],operators:[[/<{1,2}-/,\"operator\"],[/->{1,2}/,\"operator\"],[/%[^%\\s]+%/,\"operator\"],[/\\*\\*/,\"operator\"],[/%%/,\"operator\"],[/&&/,\"operator\"],[/\\|\\|/,\"operator\"],[/<</,\"operator\"],[/>>/,\"operator\"],[/[-+=&|!<>^~*/:$]/,\"operator\"]],strings:[[/'/,\"string.escape\",\"@stringBody\"],[/\"/,\"string.escape\",\"@dblStringBody\"]],stringBody:[[/\\\\./,{cases:{\"@special\":\"string\",\"@default\":\"error-token\"}}],[/'/,\"string.escape\",\"@popall\"],[/./,\"string\"]],dblStringBody:[[/\\\\./,{cases:{\"@special\":\"string\",\"@default\":\"error-token\"}}],[/\"/,\"string.escape\",\"@popall\"],[/./,\"string\"]]}};return m(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/razor/razor.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/razor/razor\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var h=Object.create;var m=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var y=(t=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(t,{get:(e,r)=>(typeof require<\"u\"?require:e)[r]}):t)(function(t){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+t+'\" is not supported')});var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),w=(t,e)=>{for(var r in e)m(t,r,{get:e[r],enumerable:!0})},i=(t,e,r,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of b(e))!x.call(t,n)&&n!==r&&m(t,n,{get:()=>e[n],enumerable:!(a=u(e,n))||a.enumerable});return t},s=(t,e,r)=>(i(t,e,\"default\"),r&&i(r,e,\"default\")),c=(t,e,r)=>(r=t!=null?h(k(t)):{},i(e||!t||!t.__esModule?m(r,\"default\",{value:t,enumerable:!0}):r,t)),g=t=>i(m({},\"__esModule\",{value:!0}),t);var d=T(($,l)=>{var S=c(y(\"vs/editor/editor.api\"));l.exports=S});var z={};w(z,{conf:()=>f,language:()=>E});var o={};s(o,c(d()));var p=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],f={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)/g,comments:{blockComment:[\"<!--\",\"-->\"]},brackets:[[\"<!--\",\"-->\"],[\"<\",\">\"],[\"{\",\"}\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"<\",close:\">\"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${p.join(\"|\")}))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$`,\"i\"),afterText:/^<\\/(\\w[\\w\\d]*)\\s*>$/i,action:{indentAction:o.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${p.join(\"|\")}))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$`,\"i\"),action:{indentAction:o.languages.IndentAction.Indent}}]},E={defaultToken:\"\",tokenPostfix:\"\",tokenizer:{root:[[/@@@@/],[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.root\"}],[/<!DOCTYPE/,\"metatag.html\",\"@doctype\"],[/<!--/,\"comment.html\",\"@comment\"],[/(<)([\\w\\-]+)(\\/>)/,[\"delimiter.html\",\"tag.html\",\"delimiter.html\"]],[/(<)(script)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@script\"}]],[/(<)(style)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@style\"}]],[/(<)([:\\w\\-]+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/(<\\/)([\\w\\-]+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/</,\"delimiter.html\"],[/[ \\t\\r\\n]+/],[/[^<@]+/]],doctype:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.comment\"}],[/[^>]+/,\"metatag.content.html\"],[/>/,\"metatag.html\",\"@pop\"]],comment:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.comment\"}],[/-->/,\"comment.html\",\"@pop\"],[/[^-]+/,\"comment.content.html\"],[/./,\"comment.content.html\"]],otherTag:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.otherTag\"}],[/\\/?>/,\"delimiter.html\",\"@pop\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/]],script:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.script\"}],[/type/,\"attribute.name\",\"@scriptAfterType\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(script\\s*)(>)/,[\"delimiter.html\",\"tag.html\",{token:\"delimiter.html\",next:\"@pop\"}]]],scriptAfterType:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.scriptAfterType\"}],[/=/,\"delimiter\",\"@scriptAfterTypeEquals\"],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.scriptAfterTypeEquals\"}],[/\"([^\"]*)\"/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value\",switchTo:\"@scriptWithCustomType.$1\"}],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.text/javascript\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptWithCustomType:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.scriptWithCustomType.$S2\"}],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptEmbedded:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInEmbeddedState.scriptEmbedded.$S2\",nextEmbedded:\"@pop\"}],[/<\\/script/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}]],style:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.style\"}],[/type/,\"attribute.name\",\"@styleAfterType\"],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(style\\s*)(>)/,[\"delimiter.html\",\"tag.html\",{token:\"delimiter.html\",next:\"@pop\"}]]],styleAfterType:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.styleAfterType\"}],[/=/,\"delimiter\",\"@styleAfterTypeEquals\"],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleAfterTypeEquals:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.styleAfterTypeEquals\"}],[/\"([^\"]*)\"/,{token:\"attribute.value\",switchTo:\"@styleWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value\",switchTo:\"@styleWithCustomType.$1\"}],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.text/css\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleWithCustomType:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInSimpleState.styleWithCustomType.$S2\"}],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value\"],[/'([^']*)'/,\"attribute.value\"],[/[\\w\\-]+/,\"attribute.name\"],[/=/,\"delimiter\"],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleEmbedded:[[/@[^@]/,{token:\"@rematch\",switchTo:\"@razorInEmbeddedState.styleEmbedded.$S2\",nextEmbedded:\"@pop\"}],[/<\\/style/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}]],razorInSimpleState:[[/@\\*/,\"comment.cs\",\"@razorBlockCommentTopLevel\"],[/@[{(]/,\"metatag.cs\",\"@razorRootTopLevel\"],[/(@)(\\s*[\\w]+)/,[\"metatag.cs\",{token:\"identifier.cs\",switchTo:\"@$S2.$S3\"}]],[/[})]/,{token:\"metatag.cs\",switchTo:\"@$S2.$S3\"}],[/\\*@/,{token:\"comment.cs\",switchTo:\"@$S2.$S3\"}]],razorInEmbeddedState:[[/@\\*/,\"comment.cs\",\"@razorBlockCommentTopLevel\"],[/@[{(]/,\"metatag.cs\",\"@razorRootTopLevel\"],[/(@)(\\s*[\\w]+)/,[\"metatag.cs\",{token:\"identifier.cs\",switchTo:\"@$S2.$S3\",nextEmbedded:\"$S3\"}]],[/[})]/,{token:\"metatag.cs\",switchTo:\"@$S2.$S3\",nextEmbedded:\"$S3\"}],[/\\*@/,{token:\"comment.cs\",switchTo:\"@$S2.$S3\",nextEmbedded:\"$S3\"}]],razorBlockCommentTopLevel:[[/\\*@/,\"@rematch\",\"@pop\"],[/[^*]+/,\"comment.cs\"],[/./,\"comment.cs\"]],razorBlockComment:[[/\\*@/,\"comment.cs\",\"@pop\"],[/[^*]+/,\"comment.cs\"],[/./,\"comment.cs\"]],razorRootTopLevel:[[/\\{/,\"delimiter.bracket.cs\",\"@razorRoot\"],[/\\(/,\"delimiter.parenthesis.cs\",\"@razorRoot\"],[/[})]/,\"@rematch\",\"@pop\"],{include:\"razorCommon\"}],razorRoot:[[/\\{/,\"delimiter.bracket.cs\",\"@razorRoot\"],[/\\(/,\"delimiter.parenthesis.cs\",\"@razorRoot\"],[/\\}/,\"delimiter.bracket.cs\",\"@pop\"],[/\\)/,\"delimiter.parenthesis.cs\",\"@pop\"],{include:\"razorCommon\"}],razorCommon:[[/[a-zA-Z_]\\w*/,{cases:{\"@razorKeywords\":{token:\"keyword.cs\"},\"@default\":\"identifier.cs\"}}],[/[\\[\\]]/,\"delimiter.array.cs\"],[/[ \\t\\r\\n]+/],[/\\/\\/.*$/,\"comment.cs\"],[/@\\*/,\"comment.cs\",\"@razorBlockComment\"],[/\"([^\"]*)\"/,\"string.cs\"],[/'([^']*)'/,\"string.cs\"],[/(<)([\\w\\-]+)(\\/>)/,[\"delimiter.html\",\"tag.html\",\"delimiter.html\"]],[/(<)([\\w\\-]+)(>)/,[\"delimiter.html\",\"tag.html\",\"delimiter.html\"]],[/(<\\/)([\\w\\-]+)(>)/,[\"delimiter.html\",\"tag.html\",\"delimiter.html\"]],[/[\\+\\-\\*\\%\\&\\|\\^\\~\\!\\=\\<\\>\\/\\?\\;\\:\\.\\,]/,\"delimiter.cs\"],[/\\d*\\d+[eE]([\\-+]?\\d+)?/,\"number.float.cs\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float.cs\"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,\"number.hex.cs\"],[/0[0-7']*[0-7]/,\"number.octal.cs\"],[/0[bB][0-1']*[0-1]/,\"number.binary.cs\"],[/\\d[\\d']*/,\"number.cs\"],[/\\d/,\"number.cs\"]]},razorKeywords:[\"abstract\",\"as\",\"async\",\"await\",\"base\",\"bool\",\"break\",\"by\",\"byte\",\"case\",\"catch\",\"char\",\"checked\",\"class\",\"const\",\"continue\",\"decimal\",\"default\",\"delegate\",\"do\",\"double\",\"descending\",\"explicit\",\"event\",\"extern\",\"else\",\"enum\",\"false\",\"finally\",\"fixed\",\"float\",\"for\",\"foreach\",\"from\",\"goto\",\"group\",\"if\",\"implicit\",\"in\",\"int\",\"interface\",\"internal\",\"into\",\"is\",\"lock\",\"long\",\"nameof\",\"new\",\"null\",\"namespace\",\"object\",\"operator\",\"out\",\"override\",\"orderby\",\"params\",\"private\",\"protected\",\"public\",\"readonly\",\"ref\",\"return\",\"switch\",\"struct\",\"sbyte\",\"sealed\",\"short\",\"sizeof\",\"stackalloc\",\"static\",\"string\",\"select\",\"this\",\"throw\",\"true\",\"try\",\"typeof\",\"uint\",\"ulong\",\"unchecked\",\"unsafe\",\"ushort\",\"using\",\"var\",\"virtual\",\"volatile\",\"void\",\"when\",\"while\",\"where\",\"yield\",\"model\",\"inject\"],escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/};return g(z);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/redis/redis.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/redis/redis\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var R=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var A=(S,E)=>{for(var T in E)R(S,T,{get:E[T],enumerable:!0})},O=(S,E,T,o)=>{if(E&&typeof E==\"object\"||typeof E==\"function\")for(let e of N(E))!s.call(S,e)&&e!==T&&R(S,e,{get:()=>E[e],enumerable:!(o=n(E,e))||o.enumerable});return S};var L=S=>O(R({},\"__esModule\",{value:!0}),S);var r={};A(r,{conf:()=>I,language:()=>i});var I={brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},i={defaultToken:\"\",tokenPostfix:\".redis\",ignoreCase:!0,brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],keywords:[\"APPEND\",\"AUTH\",\"BGREWRITEAOF\",\"BGSAVE\",\"BITCOUNT\",\"BITFIELD\",\"BITOP\",\"BITPOS\",\"BLPOP\",\"BRPOP\",\"BRPOPLPUSH\",\"CLIENT\",\"KILL\",\"LIST\",\"GETNAME\",\"PAUSE\",\"REPLY\",\"SETNAME\",\"CLUSTER\",\"ADDSLOTS\",\"COUNT-FAILURE-REPORTS\",\"COUNTKEYSINSLOT\",\"DELSLOTS\",\"FAILOVER\",\"FORGET\",\"GETKEYSINSLOT\",\"INFO\",\"KEYSLOT\",\"MEET\",\"NODES\",\"REPLICATE\",\"RESET\",\"SAVECONFIG\",\"SET-CONFIG-EPOCH\",\"SETSLOT\",\"SLAVES\",\"SLOTS\",\"COMMAND\",\"COUNT\",\"GETKEYS\",\"CONFIG\",\"GET\",\"REWRITE\",\"SET\",\"RESETSTAT\",\"DBSIZE\",\"DEBUG\",\"OBJECT\",\"SEGFAULT\",\"DECR\",\"DECRBY\",\"DEL\",\"DISCARD\",\"DUMP\",\"ECHO\",\"EVAL\",\"EVALSHA\",\"EXEC\",\"EXISTS\",\"EXPIRE\",\"EXPIREAT\",\"FLUSHALL\",\"FLUSHDB\",\"GEOADD\",\"GEOHASH\",\"GEOPOS\",\"GEODIST\",\"GEORADIUS\",\"GEORADIUSBYMEMBER\",\"GETBIT\",\"GETRANGE\",\"GETSET\",\"HDEL\",\"HEXISTS\",\"HGET\",\"HGETALL\",\"HINCRBY\",\"HINCRBYFLOAT\",\"HKEYS\",\"HLEN\",\"HMGET\",\"HMSET\",\"HSET\",\"HSETNX\",\"HSTRLEN\",\"HVALS\",\"INCR\",\"INCRBY\",\"INCRBYFLOAT\",\"KEYS\",\"LASTSAVE\",\"LINDEX\",\"LINSERT\",\"LLEN\",\"LPOP\",\"LPUSH\",\"LPUSHX\",\"LRANGE\",\"LREM\",\"LSET\",\"LTRIM\",\"MGET\",\"MIGRATE\",\"MONITOR\",\"MOVE\",\"MSET\",\"MSETNX\",\"MULTI\",\"PERSIST\",\"PEXPIRE\",\"PEXPIREAT\",\"PFADD\",\"PFCOUNT\",\"PFMERGE\",\"PING\",\"PSETEX\",\"PSUBSCRIBE\",\"PUBSUB\",\"PTTL\",\"PUBLISH\",\"PUNSUBSCRIBE\",\"QUIT\",\"RANDOMKEY\",\"READONLY\",\"READWRITE\",\"RENAME\",\"RENAMENX\",\"RESTORE\",\"ROLE\",\"RPOP\",\"RPOPLPUSH\",\"RPUSH\",\"RPUSHX\",\"SADD\",\"SAVE\",\"SCARD\",\"SCRIPT\",\"FLUSH\",\"LOAD\",\"SDIFF\",\"SDIFFSTORE\",\"SELECT\",\"SETBIT\",\"SETEX\",\"SETNX\",\"SETRANGE\",\"SHUTDOWN\",\"SINTER\",\"SINTERSTORE\",\"SISMEMBER\",\"SLAVEOF\",\"SLOWLOG\",\"SMEMBERS\",\"SMOVE\",\"SORT\",\"SPOP\",\"SRANDMEMBER\",\"SREM\",\"STRLEN\",\"SUBSCRIBE\",\"SUNION\",\"SUNIONSTORE\",\"SWAPDB\",\"SYNC\",\"TIME\",\"TOUCH\",\"TTL\",\"TYPE\",\"UNSUBSCRIBE\",\"UNLINK\",\"UNWATCH\",\"WAIT\",\"WATCH\",\"ZADD\",\"ZCARD\",\"ZCOUNT\",\"ZINCRBY\",\"ZINTERSTORE\",\"ZLEXCOUNT\",\"ZRANGE\",\"ZRANGEBYLEX\",\"ZREVRANGEBYLEX\",\"ZRANGEBYSCORE\",\"ZRANK\",\"ZREM\",\"ZREMRANGEBYLEX\",\"ZREMRANGEBYRANK\",\"ZREMRANGEBYSCORE\",\"ZREVRANGE\",\"ZREVRANGEBYSCORE\",\"ZREVRANK\",\"ZSCORE\",\"ZUNIONSTORE\",\"SCAN\",\"SSCAN\",\"HSCAN\",\"ZSCAN\"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:\"@whitespace\"},{include:\"@pseudoColumns\"},{include:\"@numbers\"},{include:\"@strings\"},{include:\"@scopes\"},[/[;,.]/,\"delimiter\"],[/[()]/,\"@brackets\"],[/[\\w@#$]+/,{cases:{\"@keywords\":\"keyword\",\"@operators\":\"operator\",\"@builtinVariables\":\"predefined\",\"@builtinFunctions\":\"predefined\",\"@default\":\"identifier\"}}],[/[<>=!%&+\\-*/|~^]/,\"operator\"]],whitespace:[[/\\s+/,\"white\"]],pseudoColumns:[[/[$][A-Za-z_][\\w@#$]*/,{cases:{\"@pseudoColumns\":\"predefined\",\"@default\":\"identifier\"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,\"number\"],[/[$][+-]*\\d*(\\.\\d*)?/,\"number\"],[/((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\-+]?\\d+)?/,\"number\"]],strings:[[/'/,{token:\"string\",next:\"@string\"}],[/\"/,{token:\"string.double\",next:\"@stringDouble\"}]],string:[[/[^']+/,\"string\"],[/''/,\"string\"],[/'/,{token:\"string\",next:\"@pop\"}]],stringDouble:[[/[^\"]+/,\"string.double\"],[/\"\"/,\"string.double\"],[/\"/,{token:\"string.double\",next:\"@pop\"}]],scopes:[]}};return L(r);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/redshift/redshift.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/redshift/redshift\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var p=(_,e)=>{for(var r in e)i(_,r,{get:e[r],enumerable:!0})},l=(_,e,r,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of o(e))!n.call(_,t)&&t!==r&&i(_,t,{get:()=>e[t],enumerable:!(a=s(e,t))||a.enumerable});return _};var g=_=>l(i({},\"__esModule\",{value:!0}),_);var m={};p(m,{conf:()=>c,language:()=>d});var c={comments:{lineComment:\"--\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},d={defaultToken:\"\",tokenPostfix:\".sql\",ignoreCase:!0,brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],keywords:[\"AES128\",\"AES256\",\"ALL\",\"ALLOWOVERWRITE\",\"ANALYSE\",\"ANALYZE\",\"AND\",\"ANY\",\"ARRAY\",\"AS\",\"ASC\",\"AUTHORIZATION\",\"AZ64\",\"BACKUP\",\"BETWEEN\",\"BINARY\",\"BLANKSASNULL\",\"BOTH\",\"BYTEDICT\",\"BZIP2\",\"CASE\",\"CAST\",\"CHECK\",\"COLLATE\",\"COLUMN\",\"CONSTRAINT\",\"CREATE\",\"CREDENTIALS\",\"CROSS\",\"CURRENT_DATE\",\"CURRENT_TIME\",\"CURRENT_TIMESTAMP\",\"CURRENT_USER\",\"CURRENT_USER_ID\",\"DEFAULT\",\"DEFERRABLE\",\"DEFLATE\",\"DEFRAG\",\"DELTA\",\"DELTA32K\",\"DESC\",\"DISABLE\",\"DISTINCT\",\"DO\",\"ELSE\",\"EMPTYASNULL\",\"ENABLE\",\"ENCODE\",\"ENCRYPT\",\"ENCRYPTION\",\"END\",\"EXCEPT\",\"EXPLICIT\",\"FALSE\",\"FOR\",\"FOREIGN\",\"FREEZE\",\"FROM\",\"FULL\",\"GLOBALDICT256\",\"GLOBALDICT64K\",\"GRANT\",\"GROUP\",\"GZIP\",\"HAVING\",\"IDENTITY\",\"IGNORE\",\"ILIKE\",\"IN\",\"INITIALLY\",\"INNER\",\"INTERSECT\",\"INTO\",\"IS\",\"ISNULL\",\"JOIN\",\"LANGUAGE\",\"LEADING\",\"LEFT\",\"LIKE\",\"LIMIT\",\"LOCALTIME\",\"LOCALTIMESTAMP\",\"LUN\",\"LUNS\",\"LZO\",\"LZOP\",\"MINUS\",\"MOSTLY16\",\"MOSTLY32\",\"MOSTLY8\",\"NATURAL\",\"NEW\",\"NOT\",\"NOTNULL\",\"NULL\",\"NULLS\",\"OFF\",\"OFFLINE\",\"OFFSET\",\"OID\",\"OLD\",\"ON\",\"ONLY\",\"OPEN\",\"OR\",\"ORDER\",\"OUTER\",\"OVERLAPS\",\"PARALLEL\",\"PARTITION\",\"PERCENT\",\"PERMISSIONS\",\"PLACING\",\"PRIMARY\",\"RAW\",\"READRATIO\",\"RECOVER\",\"REFERENCES\",\"RESPECT\",\"REJECTLOG\",\"RESORT\",\"RESTORE\",\"RIGHT\",\"SELECT\",\"SESSION_USER\",\"SIMILAR\",\"SNAPSHOT\",\"SOME\",\"SYSDATE\",\"SYSTEM\",\"TABLE\",\"TAG\",\"TDES\",\"TEXT255\",\"TEXT32K\",\"THEN\",\"TIMESTAMP\",\"TO\",\"TOP\",\"TRAILING\",\"TRUE\",\"TRUNCATECOLUMNS\",\"UNION\",\"UNIQUE\",\"USER\",\"USING\",\"VERBOSE\",\"WALLET\",\"WHEN\",\"WHERE\",\"WITH\",\"WITHOUT\"],operators:[\"AND\",\"BETWEEN\",\"IN\",\"LIKE\",\"NOT\",\"OR\",\"IS\",\"NULL\",\"INTERSECT\",\"UNION\",\"INNER\",\"JOIN\",\"LEFT\",\"OUTER\",\"RIGHT\"],builtinFunctions:[\"current_schema\",\"current_schemas\",\"has_database_privilege\",\"has_schema_privilege\",\"has_table_privilege\",\"age\",\"current_time\",\"current_timestamp\",\"localtime\",\"isfinite\",\"now\",\"ascii\",\"get_bit\",\"get_byte\",\"set_bit\",\"set_byte\",\"to_ascii\",\"approximate percentile_disc\",\"avg\",\"count\",\"listagg\",\"max\",\"median\",\"min\",\"percentile_cont\",\"stddev_samp\",\"stddev_pop\",\"sum\",\"var_samp\",\"var_pop\",\"bit_and\",\"bit_or\",\"bool_and\",\"bool_or\",\"cume_dist\",\"first_value\",\"lag\",\"last_value\",\"lead\",\"nth_value\",\"ratio_to_report\",\"dense_rank\",\"ntile\",\"percent_rank\",\"rank\",\"row_number\",\"case\",\"coalesce\",\"decode\",\"greatest\",\"least\",\"nvl\",\"nvl2\",\"nullif\",\"add_months\",\"at time zone\",\"convert_timezone\",\"current_date\",\"date_cmp\",\"date_cmp_timestamp\",\"date_cmp_timestamptz\",\"date_part_year\",\"dateadd\",\"datediff\",\"date_part\",\"date_trunc\",\"extract\",\"getdate\",\"interval_cmp\",\"last_day\",\"months_between\",\"next_day\",\"sysdate\",\"timeofday\",\"timestamp_cmp\",\"timestamp_cmp_date\",\"timestamp_cmp_timestamptz\",\"timestamptz_cmp\",\"timestamptz_cmp_date\",\"timestamptz_cmp_timestamp\",\"timezone\",\"to_timestamp\",\"trunc\",\"abs\",\"acos\",\"asin\",\"atan\",\"atan2\",\"cbrt\",\"ceil\",\"ceiling\",\"checksum\",\"cos\",\"cot\",\"degrees\",\"dexp\",\"dlog1\",\"dlog10\",\"exp\",\"floor\",\"ln\",\"log\",\"mod\",\"pi\",\"power\",\"radians\",\"random\",\"round\",\"sin\",\"sign\",\"sqrt\",\"tan\",\"to_hex\",\"bpcharcmp\",\"btrim\",\"bttext_pattern_cmp\",\"char_length\",\"character_length\",\"charindex\",\"chr\",\"concat\",\"crc32\",\"func_sha1\",\"initcap\",\"left and rights\",\"len\",\"length\",\"lower\",\"lpad and rpads\",\"ltrim\",\"md5\",\"octet_length\",\"position\",\"quote_ident\",\"quote_literal\",\"regexp_count\",\"regexp_instr\",\"regexp_replace\",\"regexp_substr\",\"repeat\",\"replace\",\"replicate\",\"reverse\",\"rtrim\",\"split_part\",\"strpos\",\"strtol\",\"substring\",\"textlen\",\"translate\",\"trim\",\"upper\",\"cast\",\"convert\",\"to_char\",\"to_date\",\"to_number\",\"json_array_length\",\"json_extract_array_element_text\",\"json_extract_path_text\",\"current_setting\",\"pg_cancel_backend\",\"pg_terminate_backend\",\"set_config\",\"current_database\",\"current_user\",\"current_user_id\",\"pg_backend_pid\",\"pg_last_copy_count\",\"pg_last_copy_id\",\"pg_last_query_id\",\"pg_last_unload_count\",\"session_user\",\"slice_num\",\"user\",\"version\",\"abbrev\",\"acosd\",\"any\",\"area\",\"array_agg\",\"array_append\",\"array_cat\",\"array_dims\",\"array_fill\",\"array_length\",\"array_lower\",\"array_ndims\",\"array_position\",\"array_positions\",\"array_prepend\",\"array_remove\",\"array_replace\",\"array_to_json\",\"array_to_string\",\"array_to_tsvector\",\"array_upper\",\"asind\",\"atan2d\",\"atand\",\"bit\",\"bit_length\",\"bound_box\",\"box\",\"brin_summarize_new_values\",\"broadcast\",\"cardinality\",\"center\",\"circle\",\"clock_timestamp\",\"col_description\",\"concat_ws\",\"convert_from\",\"convert_to\",\"corr\",\"cosd\",\"cotd\",\"covar_pop\",\"covar_samp\",\"current_catalog\",\"current_query\",\"current_role\",\"currval\",\"cursor_to_xml\",\"diameter\",\"div\",\"encode\",\"enum_first\",\"enum_last\",\"enum_range\",\"every\",\"family\",\"format\",\"format_type\",\"generate_series\",\"generate_subscripts\",\"get_current_ts_config\",\"gin_clean_pending_list\",\"grouping\",\"has_any_column_privilege\",\"has_column_privilege\",\"has_foreign_data_wrapper_privilege\",\"has_function_privilege\",\"has_language_privilege\",\"has_sequence_privilege\",\"has_server_privilege\",\"has_tablespace_privilege\",\"has_type_privilege\",\"height\",\"host\",\"hostmask\",\"inet_client_addr\",\"inet_client_port\",\"inet_merge\",\"inet_same_family\",\"inet_server_addr\",\"inet_server_port\",\"isclosed\",\"isempty\",\"isopen\",\"json_agg\",\"json_object\",\"json_object_agg\",\"json_populate_record\",\"json_populate_recordset\",\"json_to_record\",\"json_to_recordset\",\"jsonb_agg\",\"jsonb_object_agg\",\"justify_days\",\"justify_hours\",\"justify_interval\",\"lastval\",\"left\",\"line\",\"localtimestamp\",\"lower_inc\",\"lower_inf\",\"lpad\",\"lseg\",\"make_date\",\"make_interval\",\"make_time\",\"make_timestamp\",\"make_timestamptz\",\"masklen\",\"mode\",\"netmask\",\"network\",\"nextval\",\"npoints\",\"num_nonnulls\",\"num_nulls\",\"numnode\",\"obj_description\",\"overlay\",\"parse_ident\",\"path\",\"pclose\",\"percentile_disc\",\"pg_advisory_lock\",\"pg_advisory_lock_shared\",\"pg_advisory_unlock\",\"pg_advisory_unlock_all\",\"pg_advisory_unlock_shared\",\"pg_advisory_xact_lock\",\"pg_advisory_xact_lock_shared\",\"pg_backup_start_time\",\"pg_blocking_pids\",\"pg_client_encoding\",\"pg_collation_is_visible\",\"pg_column_size\",\"pg_conf_load_time\",\"pg_control_checkpoint\",\"pg_control_init\",\"pg_control_recovery\",\"pg_control_system\",\"pg_conversion_is_visible\",\"pg_create_logical_replication_slot\",\"pg_create_physical_replication_slot\",\"pg_create_restore_point\",\"pg_current_xlog_flush_location\",\"pg_current_xlog_insert_location\",\"pg_current_xlog_location\",\"pg_database_size\",\"pg_describe_object\",\"pg_drop_replication_slot\",\"pg_export_snapshot\",\"pg_filenode_relation\",\"pg_function_is_visible\",\"pg_get_constraintdef\",\"pg_get_expr\",\"pg_get_function_arguments\",\"pg_get_function_identity_arguments\",\"pg_get_function_result\",\"pg_get_functiondef\",\"pg_get_indexdef\",\"pg_get_keywords\",\"pg_get_object_address\",\"pg_get_owned_sequence\",\"pg_get_ruledef\",\"pg_get_serial_sequence\",\"pg_get_triggerdef\",\"pg_get_userbyid\",\"pg_get_viewdef\",\"pg_has_role\",\"pg_identify_object\",\"pg_identify_object_as_address\",\"pg_index_column_has_property\",\"pg_index_has_property\",\"pg_indexam_has_property\",\"pg_indexes_size\",\"pg_is_in_backup\",\"pg_is_in_recovery\",\"pg_is_other_temp_schema\",\"pg_is_xlog_replay_paused\",\"pg_last_committed_xact\",\"pg_last_xact_replay_timestamp\",\"pg_last_xlog_receive_location\",\"pg_last_xlog_replay_location\",\"pg_listening_channels\",\"pg_logical_emit_message\",\"pg_logical_slot_get_binary_changes\",\"pg_logical_slot_get_changes\",\"pg_logical_slot_peek_binary_changes\",\"pg_logical_slot_peek_changes\",\"pg_ls_dir\",\"pg_my_temp_schema\",\"pg_notification_queue_usage\",\"pg_opclass_is_visible\",\"pg_operator_is_visible\",\"pg_opfamily_is_visible\",\"pg_options_to_table\",\"pg_postmaster_start_time\",\"pg_read_binary_file\",\"pg_read_file\",\"pg_relation_filenode\",\"pg_relation_filepath\",\"pg_relation_size\",\"pg_reload_conf\",\"pg_replication_origin_create\",\"pg_replication_origin_drop\",\"pg_replication_origin_oid\",\"pg_replication_origin_progress\",\"pg_replication_origin_session_is_setup\",\"pg_replication_origin_session_progress\",\"pg_replication_origin_session_reset\",\"pg_replication_origin_session_setup\",\"pg_replication_origin_xact_reset\",\"pg_replication_origin_xact_setup\",\"pg_rotate_logfile\",\"pg_size_bytes\",\"pg_size_pretty\",\"pg_sleep\",\"pg_sleep_for\",\"pg_sleep_until\",\"pg_start_backup\",\"pg_stat_file\",\"pg_stop_backup\",\"pg_switch_xlog\",\"pg_table_is_visible\",\"pg_table_size\",\"pg_tablespace_databases\",\"pg_tablespace_location\",\"pg_tablespace_size\",\"pg_total_relation_size\",\"pg_trigger_depth\",\"pg_try_advisory_lock\",\"pg_try_advisory_lock_shared\",\"pg_try_advisory_xact_lock\",\"pg_try_advisory_xact_lock_shared\",\"pg_ts_config_is_visible\",\"pg_ts_dict_is_visible\",\"pg_ts_parser_is_visible\",\"pg_ts_template_is_visible\",\"pg_type_is_visible\",\"pg_typeof\",\"pg_xact_commit_timestamp\",\"pg_xlog_location_diff\",\"pg_xlog_replay_pause\",\"pg_xlog_replay_resume\",\"pg_xlogfile_name\",\"pg_xlogfile_name_offset\",\"phraseto_tsquery\",\"plainto_tsquery\",\"point\",\"polygon\",\"popen\",\"pqserverversion\",\"query_to_xml\",\"querytree\",\"quote_nullable\",\"radius\",\"range_merge\",\"regexp_matches\",\"regexp_split_to_array\",\"regexp_split_to_table\",\"regr_avgx\",\"regr_avgy\",\"regr_count\",\"regr_intercept\",\"regr_r2\",\"regr_slope\",\"regr_sxx\",\"regr_sxy\",\"regr_syy\",\"right\",\"row_security_active\",\"row_to_json\",\"rpad\",\"scale\",\"set_masklen\",\"setseed\",\"setval\",\"setweight\",\"shobj_description\",\"sind\",\"sprintf\",\"statement_timestamp\",\"stddev\",\"string_agg\",\"string_to_array\",\"strip\",\"substr\",\"table_to_xml\",\"table_to_xml_and_xmlschema\",\"tand\",\"text\",\"to_json\",\"to_regclass\",\"to_regnamespace\",\"to_regoper\",\"to_regoperator\",\"to_regproc\",\"to_regprocedure\",\"to_regrole\",\"to_regtype\",\"to_tsquery\",\"to_tsvector\",\"transaction_timestamp\",\"ts_debug\",\"ts_delete\",\"ts_filter\",\"ts_headline\",\"ts_lexize\",\"ts_parse\",\"ts_rank\",\"ts_rank_cd\",\"ts_rewrite\",\"ts_stat\",\"ts_token_type\",\"tsquery_phrase\",\"tsvector_to_array\",\"tsvector_update_trigger\",\"tsvector_update_trigger_column\",\"txid_current\",\"txid_current_snapshot\",\"txid_snapshot_xip\",\"txid_snapshot_xmax\",\"txid_snapshot_xmin\",\"txid_visible_in_snapshot\",\"unnest\",\"upper_inc\",\"upper_inf\",\"variance\",\"width\",\"width_bucket\",\"xml_is_well_formed\",\"xml_is_well_formed_content\",\"xml_is_well_formed_document\",\"xmlagg\",\"xmlcomment\",\"xmlconcat\",\"xmlelement\",\"xmlexists\",\"xmlforest\",\"xmlparse\",\"xmlpi\",\"xmlroot\",\"xmlserialize\",\"xpath\",\"xpath_exists\"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:\"@comments\"},{include:\"@whitespace\"},{include:\"@pseudoColumns\"},{include:\"@numbers\"},{include:\"@strings\"},{include:\"@complexIdentifiers\"},{include:\"@scopes\"},[/[;,.]/,\"delimiter\"],[/[()]/,\"@brackets\"],[/[\\w@#$]+/,{cases:{\"@keywords\":\"keyword\",\"@operators\":\"operator\",\"@builtinVariables\":\"predefined\",\"@builtinFunctions\":\"predefined\",\"@default\":\"identifier\"}}],[/[<>=!%&+\\-*/|~^]/,\"operator\"]],whitespace:[[/\\s+/,\"white\"]],comments:[[/--+.*/,\"comment\"],[/\\/\\*/,{token:\"comment.quote\",next:\"@comment\"}]],comment:[[/[^*/]+/,\"comment\"],[/\\*\\//,{token:\"comment.quote\",next:\"@pop\"}],[/./,\"comment\"]],pseudoColumns:[[/[$][A-Za-z_][\\w@#$]*/,{cases:{\"@pseudoColumns\":\"predefined\",\"@default\":\"identifier\"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,\"number\"],[/[$][+-]*\\d*(\\.\\d*)?/,\"number\"],[/((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\-+]?\\d+)?/,\"number\"]],strings:[[/'/,{token:\"string\",next:\"@string\"}]],string:[[/[^']+/,\"string\"],[/''/,\"string\"],[/'/,{token:\"string\",next:\"@pop\"}]],complexIdentifiers:[[/\"/,{token:\"identifier.quote\",next:\"@quotedIdentifier\"}]],quotedIdentifier:[[/[^\"]+/,\"identifier\"],[/\"\"/,\"identifier\"],[/\"/,{token:\"identifier.quote\",next:\"@pop\"}]],scopes:[]}};return g(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/restructuredtext/restructuredtext.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/restructuredtext/restructuredtext\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var t=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var k=(n,e)=>{for(var i in e)t(n,i,{get:e[i],enumerable:!0})},c=(n,e,i,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of l(e))!r.call(n,s)&&s!==i&&t(n,s,{get:()=>e[s],enumerable:!(o=a(e,s))||o.enumerable});return n};var p=n=>c(t({},\"__esModule\",{value:!0}),n);var g={};k(g,{conf:()=>u,language:()=>m});var u={brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\",notIn:[\"string\"]}],surroundingPairs:[{open:\"(\",close:\")\"},{open:\"[\",close:\"]\"},{open:\"`\",close:\"`\"}],folding:{markers:{start:new RegExp(\"^\\\\s*<!--\\\\s*#?region\\\\b.*-->\"),end:new RegExp(\"^\\\\s*<!--\\\\s*#?endregion\\\\b.*-->\")}}},m={defaultToken:\"\",tokenPostfix:\".rst\",control:/[\\\\`*_\\[\\]{}()#+\\-\\.!]/,escapes:/\\\\(?:@control)/,empty:[\"area\",\"base\",\"basefont\",\"br\",\"col\",\"frame\",\"hr\",\"img\",\"input\",\"isindex\",\"link\",\"meta\",\"param\"],alphanumerics:/[A-Za-z0-9]/,simpleRefNameWithoutBq:/(?:@alphanumerics[-_+:.]*@alphanumerics)+|(?:@alphanumerics+)/,simpleRefName:/(?:`@phrase`|@simpleRefNameWithoutBq)/,phrase:/@simpleRefNameWithoutBq(?:\\s@simpleRefNameWithoutBq)*/,citationName:/[A-Za-z][A-Za-z0-9-_.]*/,blockLiteralStart:/(?:[!\"#$%&'()*+,-./:;<=>?@\\[\\]^_`{|}~]|[\\s])/,precedingChars:/(?:[ -:/'\"<([{])/,followingChars:/(?:[ -.,:;!?/'\")\\]}>]|$)/,punctuation:/(=|-|~|`|#|\"|\\^|\\+|\\*|:|\\.|'|_|\\+)/,tokenizer:{root:[[/^(@punctuation{3,}$){1,1}?/,\"keyword\"],[/^\\s*([\\*\\-+‣•]|[a-zA-Z0-9]+\\.|\\([a-zA-Z0-9]+\\)|[a-zA-Z0-9]+\\))\\s/,\"keyword\"],[/([ ]::)\\s*$/,\"keyword\",\"@blankLineOfLiteralBlocks\"],[/(::)\\s*$/,\"keyword\",\"@blankLineOfLiteralBlocks\"],{include:\"@tables\"},{include:\"@explicitMarkupBlocks\"},{include:\"@inlineMarkup\"}],explicitMarkupBlocks:[{include:\"@citations\"},{include:\"@footnotes\"},[/^(\\.\\.\\s)(@simpleRefName)(::\\s)(.*)$/,[{token:\"\",next:\"subsequentLines\"},\"keyword\",\"\",\"\"]],[/^(\\.\\.)(\\s+)(_)(@simpleRefName)(:)(\\s+)(.*)/,[{token:\"\",next:\"hyperlinks\"},\"\",\"\",\"string.link\",\"\",\"\",\"string.link\"]],[/^((?:(?:\\.\\.)(?:\\s+))?)(__)(:)(\\s+)(.*)/,[{token:\"\",next:\"subsequentLines\"},\"\",\"\",\"\",\"string.link\"]],[/^(__\\s+)(.+)/,[\"\",\"string.link\"]],[/^(\\.\\.)( \\|)([^| ]+[^|]*[^| ]*)(\\| )(@simpleRefName)(:: .*)/,[{token:\"\",next:\"subsequentLines\"},\"\",\"string.link\",\"\",\"keyword\",\"\"],\"@rawBlocks\"],[/(\\|)([^| ]+[^|]*[^| ]*)(\\|_{0,2})/,[\"\",\"string.link\",\"\"]],[/^(\\.\\.)([ ].*)$/,[{token:\"\",next:\"@comments\"},\"comment\"]]],inlineMarkup:[{include:\"@citationsReference\"},{include:\"@footnotesReference\"},[/(@simpleRefName)(_{1,2})/,[\"string.link\",\"\"]],[/(`)([^<`]+\\s+)(<)(.*)(>)(`)(_)/,[\"\",\"string.link\",\"\",\"string.link\",\"\",\"\",\"\"]],[/\\*\\*([^\\\\*]|\\*(?!\\*))+\\*\\*/,\"strong\"],[/\\*[^*]+\\*/,\"emphasis\"],[/(``)((?:[^`]|\\`(?!`))+)(``)/,[\"\",\"keyword\",\"\"]],[/(__\\s+)(.+)/,[\"\",\"keyword\"]],[/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/,[\"\",\"keyword\",\"\",\"\",\"\"]],[/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/,[\"\",\"\",\"\",\"keyword\",\"\"]],[/(`)([^`]+)(`)/,\"\"],[/(_`)(@phrase)(`)/,[\"\",\"string.link\",\"\"]]],citations:[[/^(\\.\\.\\s+\\[)((?:@citationName))(\\]\\s+)(.*)/,[{token:\"\",next:\"@subsequentLines\"},\"string.link\",\"\",\"\"]]],citationsReference:[[/(\\[)(@citationName)(\\]_)/,[\"\",\"string.link\",\"\"]]],footnotes:[[/^(\\.\\.\\s+\\[)((?:[0-9]+))(\\]\\s+.*)/,[{token:\"\",next:\"@subsequentLines\"},\"string.link\",\"\"]],[/^(\\.\\.\\s+\\[)((?:#@simpleRefName?))(\\]\\s+)(.*)/,[{token:\"\",next:\"@subsequentLines\"},\"string.link\",\"\",\"\"]],[/^(\\.\\.\\s+\\[)((?:\\*))(\\]\\s+)(.*)/,[{token:\"\",next:\"@subsequentLines\"},\"string.link\",\"\",\"\"]]],footnotesReference:[[/(\\[)([0-9]+)(\\])(_)/,[\"\",\"string.link\",\"\",\"\"]],[/(\\[)(#@simpleRefName?)(\\])(_)/,[\"\",\"string.link\",\"\",\"\"]],[/(\\[)(\\*)(\\])(_)/,[\"\",\"string.link\",\"\",\"\"]]],blankLineOfLiteralBlocks:[[/^$/,\"\",\"@subsequentLinesOfLiteralBlocks\"],[/^.*$/,\"\",\"@pop\"]],subsequentLinesOfLiteralBlocks:[[/(@blockLiteralStart+)(.*)/,[\"keyword\",\"\"]],[/^(?!blockLiteralStart)/,\"\",\"@popall\"]],subsequentLines:[[/^[\\s]+.*/,\"\"],[/^(?!\\s)/,\"\",\"@pop\"]],hyperlinks:[[/^[\\s]+.*/,\"string.link\"],[/^(?!\\s)/,\"\",\"@pop\"]],comments:[[/^[\\s]+.*/,\"comment\"],[/^(?!\\s)/,\"\",\"@pop\"]],tables:[[/\\+-[+-]+/,\"keyword\"],[/\\+=[+=]+/,\"keyword\"]]}};return p(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/ruby/ruby.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/ruby/ruby\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var r in e)o(t,r,{get:e[r],enumerable:!0})},l=(t,e,r,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of c(e))!d.call(t,n)&&n!==r&&o(t,n,{get:()=>e[n],enumerable:!(s=i(e,n))||s.enumerable});return t};var a=t=>l(o({},\"__esModule\",{value:!0}),t);var m={};p(m,{conf:()=>g,language:()=>x});var g={comments:{lineComment:\"#\",blockComment:[\"=begin\",\"=end\"]},brackets:[[\"(\",\")\"],[\"{\",\"}\"],[\"[\",\"]\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],indentationRules:{increaseIndentPattern:new RegExp(`^\\\\s*((begin|class|(private|protected)\\\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\\\sdo\\\\b)|([^#]*=\\\\s*(case|if|unless)))\\\\b([^#\\\\{;]|(\"|'|/).*\\\\4)*(#.*)?$`),decreaseIndentPattern:new RegExp(\"^\\\\s*([}\\\\]]([,)]?\\\\s*(#|$)|\\\\.[a-zA-Z_]\\\\w*\\\\b)|(end|rescue|ensure|else|elsif|when)\\\\b)\")}},x={tokenPostfix:\".ruby\",keywords:[\"__LINE__\",\"__ENCODING__\",\"__FILE__\",\"BEGIN\",\"END\",\"alias\",\"and\",\"begin\",\"break\",\"case\",\"class\",\"def\",\"defined?\",\"do\",\"else\",\"elsif\",\"end\",\"ensure\",\"for\",\"false\",\"if\",\"in\",\"module\",\"next\",\"nil\",\"not\",\"or\",\"redo\",\"rescue\",\"retry\",\"return\",\"self\",\"super\",\"then\",\"true\",\"undef\",\"unless\",\"until\",\"when\",\"while\",\"yield\"],keywordops:[\"::\",\"..\",\"...\",\"?\",\":\",\"=>\"],builtins:[\"require\",\"public\",\"private\",\"include\",\"extend\",\"attr_reader\",\"protected\",\"private_class_method\",\"protected_class_method\",\"new\"],declarations:[\"module\",\"class\",\"def\",\"case\",\"do\",\"begin\",\"for\",\"if\",\"while\",\"until\",\"unless\"],linedecls:[\"def\",\"case\",\"do\",\"begin\",\"for\",\"if\",\"while\",\"until\",\"unless\"],operators:[\"^\",\"&\",\"|\",\"<=>\",\"==\",\"===\",\"!~\",\"=~\",\">\",\">=\",\"<\",\"<=\",\"<<\",\">>\",\"+\",\"-\",\"*\",\"/\",\"%\",\"**\",\"~\",\"+@\",\"-@\",\"[]\",\"[]=\",\"`\",\"+=\",\"-=\",\"*=\",\"**=\",\"/=\",\"^=\",\"%=\",\"<<=\",\">>=\",\"&=\",\"&&=\",\"||=\",\"|=\"],brackets:[{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"}],symbols:/[=><!~?:&|+\\-*\\/\\^%\\.]+/,escape:/(?:[abefnrstv\\\\\"'\\n\\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,escapes:/\\\\(?:C\\-(@escape|.)|c(@escape|.)|@escape)/,decpart:/\\d(_?\\d)*/,decimal:/0|@decpart/,delim:/[^a-zA-Z0-9\\s\\n\\r]/,heredelim:/(?:\\w+|'[^']*'|\"[^\"]*\"|`[^`]*`)/,regexpctl:/[(){}\\[\\]\\$\\^|\\-*+?\\.]/,regexpesc:/\\\\(?:[AzZbBdDfnrstvwWn0\\\\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})?/,tokenizer:{root:[[/^(\\s*)([a-z_]\\w*[!?=]?)/,[\"white\",{cases:{\"for|until|while\":{token:\"keyword.$2\",next:\"@dodecl.$2\"},\"@declarations\":{token:\"keyword.$2\",next:\"@root.$2\"},end:{token:\"keyword.$S2\",next:\"@pop\"},\"@keywords\":\"keyword\",\"@builtins\":\"predefined\",\"@default\":\"identifier\"}}]],[/[a-z_]\\w*[!?=]?/,{cases:{\"if|unless|while|until\":{token:\"keyword.$0x\",next:\"@modifier.$0x\"},for:{token:\"keyword.$2\",next:\"@dodecl.$2\"},\"@linedecls\":{token:\"keyword.$0\",next:\"@root.$0\"},end:{token:\"keyword.$S2\",next:\"@pop\"},\"@keywords\":\"keyword\",\"@builtins\":\"predefined\",\"@default\":\"identifier\"}}],[/[A-Z][\\w]*[!?=]?/,\"constructor.identifier\"],[/\\$[\\w]*/,\"global.constant\"],[/@[\\w]*/,\"namespace.instance.identifier\"],[/@@@[\\w]*/,\"namespace.class.identifier\"],[/<<[-~](@heredelim).*/,{token:\"string.heredoc.delimiter\",next:\"@heredoc.$1\"}],[/[ \\t\\r\\n]+<<(@heredelim).*/,{token:\"string.heredoc.delimiter\",next:\"@heredoc.$1\"}],[/^<<(@heredelim).*/,{token:\"string.heredoc.delimiter\",next:\"@heredoc.$1\"}],{include:\"@whitespace\"},[/\"/,{token:\"string.d.delim\",next:'@dstring.d.\"'}],[/'/,{token:\"string.sq.delim\",next:\"@sstring.sq\"}],[/%([rsqxwW]|Q?)/,{token:\"@rematch\",next:\"pstring\"}],[/`/,{token:\"string.x.delim\",next:\"@dstring.x.`\"}],[/:(\\w|[$@])\\w*[!?=]?/,\"string.s\"],[/:\"/,{token:\"string.s.delim\",next:'@dstring.s.\"'}],[/:'/,{token:\"string.s.delim\",next:\"@sstring.s\"}],[/\\/(?=(\\\\\\/|[^\\/\\n])+\\/)/,{token:\"regexp.delim\",next:\"@regexp\"}],[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,{cases:{\"@keywordops\":\"keyword\",\"@operators\":\"operator\",\"@default\":\"\"}}],[/[;,]/,\"delimiter\"],[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/,\"number.hex\"],[/0[_oO][0-7](_?[0-7])*/,\"number.octal\"],[/0[bB][01](_?[01])*/,\"number.binary\"],[/0[dD]@decpart/,\"number\"],[/@decimal((\\.@decpart)?([eE][\\-+]?@decpart)?)/,{cases:{$1:\"number.float\",\"@default\":\"number\"}}]],dodecl:[[/^/,{token:\"\",switchTo:\"@root.$S2\"}],[/[a-z_]\\w*[!?=]?/,{cases:{end:{token:\"keyword.$S2\",next:\"@pop\"},do:{token:\"keyword\",switchTo:\"@root.$S2\"},\"@linedecls\":{token:\"@rematch\",switchTo:\"@root.$S2\"},\"@keywords\":\"keyword\",\"@builtins\":\"predefined\",\"@default\":\"identifier\"}}],{include:\"@root\"}],modifier:[[/^/,\"\",\"@pop\"],[/[a-z_]\\w*[!?=]?/,{cases:{end:{token:\"keyword.$S2\",next:\"@pop\"},\"then|else|elsif|do\":{token:\"keyword\",switchTo:\"@root.$S2\"},\"@linedecls\":{token:\"@rematch\",switchTo:\"@root.$S2\"},\"@keywords\":\"keyword\",\"@builtins\":\"predefined\",\"@default\":\"identifier\"}}],{include:\"@root\"}],sstring:[[/[^\\\\']+/,\"string.$S2\"],[/\\\\\\\\|\\\\'|\\\\$/,\"string.$S2.escape\"],[/\\\\./,\"string.$S2.invalid\"],[/'/,{token:\"string.$S2.delim\",next:\"@pop\"}]],dstring:[[/[^\\\\`\"#]+/,\"string.$S2\"],[/#/,\"string.$S2.escape\",\"@interpolated\"],[/\\\\$/,\"string.$S2.escape\"],[/@escapes/,\"string.$S2.escape\"],[/\\\\./,\"string.$S2.escape.invalid\"],[/[`\"]/,{cases:{\"$#==$S3\":{token:\"string.$S2.delim\",next:\"@pop\"},\"@default\":\"string.$S2\"}}]],heredoc:[[/^(\\s*)(@heredelim)$/,{cases:{\"$2==$S2\":[\"string.heredoc\",{token:\"string.heredoc.delimiter\",next:\"@pop\"}],\"@default\":[\"string.heredoc\",\"string.heredoc\"]}}],[/.*/,\"string.heredoc\"]],interpolated:[[/\\$\\w*/,\"global.constant\",\"@pop\"],[/@\\w*/,\"namespace.class.identifier\",\"@pop\"],[/@@@\\w*/,\"namespace.instance.identifier\",\"@pop\"],[/[{]/,{token:\"string.escape.curly\",switchTo:\"@interpolated_compound\"}],[\"\",\"\",\"@pop\"]],interpolated_compound:[[/[}]/,{token:\"string.escape.curly\",next:\"@pop\"}],{include:\"@root\"}],pregexp:[{include:\"@whitespace\"},[/[^\\(\\{\\[\\\\]/,{cases:{\"$#==$S3\":{token:\"regexp.delim\",next:\"@pop\"},\"$#==$S2\":{token:\"regexp.delim\",next:\"@push\"},\"~[)}\\\\]]\":\"@brackets.regexp.escape.control\",\"~@regexpctl\":\"regexp.escape.control\",\"@default\":\"regexp\"}}],{include:\"@regexcontrol\"}],regexp:[{include:\"@regexcontrol\"},[/[^\\\\\\/]/,\"regexp\"],[\"/[ixmp]*\",{token:\"regexp.delim\"},\"@pop\"]],regexcontrol:[[/(\\{)(\\d+(?:,\\d*)?)(\\})/,[\"@brackets.regexp.escape.control\",\"regexp.escape.control\",\"@brackets.regexp.escape.control\"]],[/(\\[)(\\^?)/,[\"@brackets.regexp.escape.control\",{token:\"regexp.escape.control\",next:\"@regexrange\"}]],[/(\\()(\\?[:=!])/,[\"@brackets.regexp.escape.control\",\"regexp.escape.control\"]],[/\\(\\?#/,{token:\"regexp.escape.control\",next:\"@regexpcomment\"}],[/[()]/,\"@brackets.regexp.escape.control\"],[/@regexpctl/,\"regexp.escape.control\"],[/\\\\$/,\"regexp.escape\"],[/@regexpesc/,\"regexp.escape\"],[/\\\\\\./,\"regexp.invalid\"],[/#/,\"regexp.escape\",\"@interpolated\"]],regexrange:[[/-/,\"regexp.escape.control\"],[/\\^/,\"regexp.invalid\"],[/\\\\$/,\"regexp.escape\"],[/@regexpesc/,\"regexp.escape\"],[/[^\\]]/,\"regexp\"],[/\\]/,\"@brackets.regexp.escape.control\",\"@pop\"]],regexpcomment:[[/[^)]+/,\"comment\"],[/\\)/,{token:\"regexp.escape.control\",next:\"@pop\"}]],pstring:[[/%([qws])\\(/,{token:\"string.$1.delim\",switchTo:\"@qstring.$1.(.)\"}],[/%([qws])\\[/,{token:\"string.$1.delim\",switchTo:\"@qstring.$1.[.]\"}],[/%([qws])\\{/,{token:\"string.$1.delim\",switchTo:\"@qstring.$1.{.}\"}],[/%([qws])</,{token:\"string.$1.delim\",switchTo:\"@qstring.$1.<.>\"}],[/%([qws])(@delim)/,{token:\"string.$1.delim\",switchTo:\"@qstring.$1.$2.$2\"}],[/%r\\(/,{token:\"regexp.delim\",switchTo:\"@pregexp.(.)\"}],[/%r\\[/,{token:\"regexp.delim\",switchTo:\"@pregexp.[.]\"}],[/%r\\{/,{token:\"regexp.delim\",switchTo:\"@pregexp.{.}\"}],[/%r</,{token:\"regexp.delim\",switchTo:\"@pregexp.<.>\"}],[/%r(@delim)/,{token:\"regexp.delim\",switchTo:\"@pregexp.$1.$1\"}],[/%(x|W|Q?)\\(/,{token:\"string.$1.delim\",switchTo:\"@qqstring.$1.(.)\"}],[/%(x|W|Q?)\\[/,{token:\"string.$1.delim\",switchTo:\"@qqstring.$1.[.]\"}],[/%(x|W|Q?)\\{/,{token:\"string.$1.delim\",switchTo:\"@qqstring.$1.{.}\"}],[/%(x|W|Q?)</,{token:\"string.$1.delim\",switchTo:\"@qqstring.$1.<.>\"}],[/%(x|W|Q?)(@delim)/,{token:\"string.$1.delim\",switchTo:\"@qqstring.$1.$2.$2\"}],[/%([rqwsxW]|Q?)./,{token:\"invalid\",next:\"@pop\"}],[/./,{token:\"invalid\",next:\"@pop\"}]],qstring:[[/\\\\$/,\"string.$S2.escape\"],[/\\\\./,\"string.$S2.escape\"],[/./,{cases:{\"$#==$S4\":{token:\"string.$S2.delim\",next:\"@pop\"},\"$#==$S3\":{token:\"string.$S2.delim\",next:\"@push\"},\"@default\":\"string.$S2\"}}]],qqstring:[[/#/,\"string.$S2.escape\",\"@interpolated\"],{include:\"@qstring\"}],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/^\\s*=begin\\b/,\"comment\",\"@comment\"],[/#.*$/,\"comment\"]],comment:[[/[^=]+/,\"comment\"],[/^\\s*=begin\\b/,\"comment.invalid\"],[/^\\s*=end\\b.*/,\"comment\",\"@pop\"],[/[=]/,\"comment\"]]}};return a(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/rust/rust.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/rust/rust\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var _=(t,e)=>{for(var n in e)r(t,n,{get:e[n],enumerable:!0})},u=(t,e,n,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of a(e))!c.call(t,o)&&o!==n&&r(t,o,{get:()=>e[o],enumerable:!(s=i(e,o))||s.enumerable});return t};var l=t=>u(r({},\"__esModule\",{value:!0}),t);var m={};_(m,{conf:()=>f,language:()=>p});var f={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"[\",close:\"]\"},{open:\"{\",close:\"}\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*#pragma\\\\s+region\\\\b\"),end:new RegExp(\"^\\\\s*#pragma\\\\s+endregion\\\\b\")}}},p={tokenPostfix:\".rust\",defaultToken:\"invalid\",keywords:[\"as\",\"async\",\"await\",\"box\",\"break\",\"const\",\"continue\",\"crate\",\"dyn\",\"else\",\"enum\",\"extern\",\"false\",\"fn\",\"for\",\"if\",\"impl\",\"in\",\"let\",\"loop\",\"match\",\"mod\",\"move\",\"mut\",\"pub\",\"ref\",\"return\",\"self\",\"static\",\"struct\",\"super\",\"trait\",\"true\",\"try\",\"type\",\"unsafe\",\"use\",\"where\",\"while\",\"catch\",\"default\",\"union\",\"static\",\"abstract\",\"alignof\",\"become\",\"do\",\"final\",\"macro\",\"offsetof\",\"override\",\"priv\",\"proc\",\"pure\",\"sizeof\",\"typeof\",\"unsized\",\"virtual\",\"yield\"],typeKeywords:[\"Self\",\"m32\",\"m64\",\"m128\",\"f80\",\"f16\",\"f128\",\"int\",\"uint\",\"float\",\"char\",\"bool\",\"u8\",\"u16\",\"u32\",\"u64\",\"f32\",\"f64\",\"i8\",\"i16\",\"i32\",\"i64\",\"str\",\"Option\",\"Either\",\"c_float\",\"c_double\",\"c_void\",\"FILE\",\"fpos_t\",\"DIR\",\"dirent\",\"c_char\",\"c_schar\",\"c_uchar\",\"c_short\",\"c_ushort\",\"c_int\",\"c_uint\",\"c_long\",\"c_ulong\",\"size_t\",\"ptrdiff_t\",\"clock_t\",\"time_t\",\"c_longlong\",\"c_ulonglong\",\"intptr_t\",\"uintptr_t\",\"off_t\",\"dev_t\",\"ino_t\",\"pid_t\",\"mode_t\",\"ssize_t\"],constants:[\"true\",\"false\",\"Some\",\"None\",\"Left\",\"Right\",\"Ok\",\"Err\"],supportConstants:[\"EXIT_FAILURE\",\"EXIT_SUCCESS\",\"RAND_MAX\",\"EOF\",\"SEEK_SET\",\"SEEK_CUR\",\"SEEK_END\",\"_IOFBF\",\"_IONBF\",\"_IOLBF\",\"BUFSIZ\",\"FOPEN_MAX\",\"FILENAME_MAX\",\"L_tmpnam\",\"TMP_MAX\",\"O_RDONLY\",\"O_WRONLY\",\"O_RDWR\",\"O_APPEND\",\"O_CREAT\",\"O_EXCL\",\"O_TRUNC\",\"S_IFIFO\",\"S_IFCHR\",\"S_IFBLK\",\"S_IFDIR\",\"S_IFREG\",\"S_IFMT\",\"S_IEXEC\",\"S_IWRITE\",\"S_IREAD\",\"S_IRWXU\",\"S_IXUSR\",\"S_IWUSR\",\"S_IRUSR\",\"F_OK\",\"R_OK\",\"W_OK\",\"X_OK\",\"STDIN_FILENO\",\"STDOUT_FILENO\",\"STDERR_FILENO\"],supportMacros:[\"format!\",\"print!\",\"println!\",\"panic!\",\"format_args!\",\"unreachable!\",\"write!\",\"writeln!\"],operators:[\"!\",\"!=\",\"%\",\"%=\",\"&\",\"&=\",\"&&\",\"*\",\"*=\",\"+\",\"+=\",\"-\",\"-=\",\"->\",\".\",\"..\",\"...\",\"/\",\"/=\",\":\",\";\",\"<<\",\"<<=\",\"<\",\"<=\",\"=\",\"==\",\"=>\",\">\",\">=\",\">>\",\">>=\",\"@\",\"^\",\"^=\",\"|\",\"|=\",\"||\",\"_\",\"?\",\"#\"],escapes:/\\\\([nrt0\\\"''\\\\]|x\\h{2}|u\\{\\h{1,6}\\})/,delimiters:/[,]/,symbols:/[\\#\\!\\%\\&\\*\\+\\-\\.\\/\\:\\;\\<\\=\\>\\@\\^\\|_\\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/r(#*)\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@stringraw.$1\"}],[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{\"@typeKeywords\":\"keyword.type\",\"@keywords\":\"keyword\",\"@supportConstants\":\"keyword\",\"@supportMacros\":\"keyword\",\"@constants\":\"keyword\",\"@default\":\"identifier\"}}],[/\\$/,\"identifier\"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\\'])/,\"identifier\"],[/'(\\S|@escapes)'/,\"string.byteliteral\"],[/\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@string\"}],{include:\"@numbers\"},{include:\"@whitespace\"},[/@delimiters/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"delimiter\"}}],[/[{}()\\[\\]<>]/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"operator\",\"@default\":\"\"}}]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\/\\*/,\"comment\",\"@push\"],[\"\\\\*/\",\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],stringraw:[[/[^\"#]+/,{token:\"string\"}],[/\"(#*)/,{cases:{\"$1==$S2\":{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"},\"@default\":{token:\"string\"}}}],[/[\"#]/,{token:\"string\"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:\"number\"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:\"number\"}],[/[\\d][\\d_]*(\\.[\\d][\\d_]*)?[eE][+-][\\d_]+(@floatSuffixes)?/,{token:\"number\"}],[/\\b(\\d\\.?[\\d_]*)(@floatSuffixes)?\\b/,{token:\"number\"}],[/(0x[\\da-fA-F]+)_?(@intSuffixes)?/,{token:\"number\"}],[/[\\d][\\d_]*(@intSuffixes?)?/,{token:\"number\"}]]}};return l(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/sb/sb.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/sb/sb\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var d=(o,e)=>{for(var t in e)r(o,t,{get:e[t],enumerable:!0})},c=(o,e,t,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of a(e))!l.call(o,n)&&n!==t&&r(o,n,{get:()=>e[n],enumerable:!(s=i(e,n))||s.enumerable});return o};var g=o=>c(r({},\"__esModule\",{value:!0}),o);var m={};d(m,{conf:()=>p,language:()=>f});var p={comments:{lineComment:\"'\"},brackets:[[\"(\",\")\"],[\"[\",\"]\"],[\"If\",\"EndIf\"],[\"While\",\"EndWhile\"],[\"For\",\"EndFor\"],[\"Sub\",\"EndSub\"]],autoClosingPairs:[{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]}]},f={defaultToken:\"\",tokenPostfix:\".sb\",ignoreCase:!0,brackets:[{token:\"delimiter.array\",open:\"[\",close:\"]\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"keyword.tag-if\",open:\"If\",close:\"EndIf\"},{token:\"keyword.tag-while\",open:\"While\",close:\"EndWhile\"},{token:\"keyword.tag-for\",open:\"For\",close:\"EndFor\"},{token:\"keyword.tag-sub\",open:\"Sub\",close:\"EndSub\"}],keywords:[\"Else\",\"ElseIf\",\"EndFor\",\"EndIf\",\"EndSub\",\"EndWhile\",\"For\",\"Goto\",\"If\",\"Step\",\"Sub\",\"Then\",\"To\",\"While\"],tagwords:[\"If\",\"Sub\",\"While\",\"For\"],operators:[\">\",\"<\",\"<>\",\"<=\",\">=\",\"And\",\"Or\",\"+\",\"-\",\"*\",\"/\",\"=\"],identifier:/[a-zA-Z_][\\w]*/,symbols:/[=><:+\\-*\\/%\\.,]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:\"@whitespace\"},[/(@identifier)(?=[.])/,\"type\"],[/@identifier/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@operators\":\"operator\",\"@default\":\"variable.name\"}}],[/([.])(@identifier)/,{cases:{$2:[\"delimiter\",\"type.member\"],\"@default\":\"\"}}],[/\\d*\\.\\d+/,\"number.float\"],[/\\d+/,\"number\"],[/[()\\[\\]]/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"operator\",\"@default\":\"delimiter\"}}],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/(\\').*$/,\"comment\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"C?/,\"string\",\"@pop\"]]}};return g(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/scala/scala.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/scala/scala\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var n=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)n(t,r,{get:e[r],enumerable:!0})},c=(t,e,r,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of i(e))!d.call(t,o)&&o!==r&&n(t,o,{get:()=>e[o],enumerable:!(a=s(e,o))||a.enumerable});return t};var g=t=>c(n({},\"__esModule\",{value:!0}),t);var m={};l(m,{conf:()=>p,language:()=>w});var p={wordPattern:/(unary_[@~!#%^&*()\\-=+\\\\|:<>\\/?]+)|([a-zA-Z_$][\\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\\w$]*)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?region\\\\b)|(?:<editor-fold\\\\b))\"),end:new RegExp(\"^\\\\s*//\\\\s*(?:(?:#?endregion\\\\b)|(?:</editor-fold>))\")}}},w={tokenPostfix:\".scala\",keywords:[\"asInstanceOf\",\"catch\",\"class\",\"classOf\",\"def\",\"do\",\"else\",\"extends\",\"finally\",\"for\",\"foreach\",\"forSome\",\"if\",\"import\",\"isInstanceOf\",\"macro\",\"match\",\"new\",\"object\",\"package\",\"return\",\"throw\",\"trait\",\"try\",\"type\",\"until\",\"val\",\"var\",\"while\",\"with\",\"yield\",\"given\",\"enum\",\"then\"],softKeywords:[\"as\",\"export\",\"extension\",\"end\",\"derives\",\"on\"],constants:[\"true\",\"false\",\"null\",\"this\",\"super\"],modifiers:[\"abstract\",\"final\",\"implicit\",\"lazy\",\"override\",\"private\",\"protected\",\"sealed\"],softModifiers:[\"inline\",\"opaque\",\"open\",\"transparent\",\"using\"],name:/(?:[a-z_$][\\w$]*|`[^`]+`)/,type:/(?:[A-Z][\\w$]*)/,symbols:/[=><!~?:&|+\\-*\\/^\\\\%@#]+/,digits:/\\d+(_+\\d+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,escapes:/\\\\(?:[btnfr\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,fstring_conv:/[bBhHsScCdoxXeEfgGaAt]|[Tn](?:[HIklMSLNpzZsQ]|[BbhAaCYyjmde]|[RTrDFC])/,tokenizer:{root:[[/\\braw\"\"\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@rawstringt\"}],[/\\braw\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@rawstring\"}],[/\\bs\"\"\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@sstringt\"}],[/\\bs\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@sstring\"}],[/\\bf\"\"\"\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@fstringt\"}],[/\\bf\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@fstring\"}],[/\"\"\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@stringt\"}],[/\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@string\"}],[/(@digits)[eE]([\\-+]?(@digits))?[fFdD]?/,\"number.float\",\"@allowMethod\"],[/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?[fFdD]?/,\"number.float\",\"@allowMethod\"],[/0[xX](@hexdigits)[Ll]?/,\"number.hex\",\"@allowMethod\"],[/(@digits)[fFdD]/,\"number.float\",\"@allowMethod\"],[/(@digits)[lL]?/,\"number\",\"@allowMethod\"],[/\\b_\\*/,\"key\"],[/\\b(_)\\b/,\"keyword\",\"@allowMethod\"],[/\\bimport\\b/,\"keyword\",\"@import\"],[/\\b(case)([ \\t]+)(class)\\b/,[\"keyword.modifier\",\"white\",\"keyword\"]],[/\\bcase\\b/,\"keyword\",\"@case\"],[/\\bva[lr]\\b/,\"keyword\",\"@vardef\"],[/\\b(def)([ \\t]+)((?:unary_)?@symbols|@name(?:_=)|@name)/,[\"keyword\",\"white\",\"identifier\"]],[/@name(?=[ \\t]*:(?!:))/,\"variable\"],[/(\\.)(@name|@symbols)/,[\"operator\",{token:\"@rematch\",next:\"@allowMethod\"}]],[/([{(])(\\s*)(@name(?=\\s*=>))/,[\"@brackets\",\"white\",\"variable\"]],[/@name/,{cases:{\"@keywords\":\"keyword\",\"@softKeywords\":\"keyword\",\"@modifiers\":\"keyword.modifier\",\"@softModifiers\":\"keyword.modifier\",\"@constants\":{token:\"constant\",next:\"@allowMethod\"},\"@default\":{token:\"identifier\",next:\"@allowMethod\"}}}],[/@type/,\"type\",\"@allowMethod\"],{include:\"@whitespace\"},[/@[a-zA-Z_$][\\w$]*(?:\\.[a-zA-Z_$][\\w$]*)*/,\"annotation\"],[/[{(]/,\"@brackets\"],[/[})]/,\"@brackets\",\"@allowMethod\"],[/\\[/,\"operator.square\"],[/](?!\\s*(?:va[rl]|def|type)\\b)/,\"operator.square\",\"@allowMethod\"],[/]/,\"operator.square\"],[/([=-]>|<-|>:|<:|:>|<%)(?=[\\s\\w()[\\]{},\\.\"'`])/,\"keyword\"],[/@symbols/,\"operator\"],[/[;,\\.]/,\"delimiter\"],[/'[a-zA-Z$][\\w$]*(?!')/,\"attribute.name\"],[/'[^\\\\']'/,\"string\",\"@allowMethod\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",{token:\"string\",next:\"@allowMethod\"}]],[/'/,\"string.invalid\"]],import:[[/;/,\"delimiter\",\"@pop\"],[/^|$/,\"\",\"@pop\"],[/[ \\t]+/,\"white\"],[/[\\n\\r]+/,\"white\",\"@pop\"],[/\\/\\*/,\"comment\",\"@comment\"],[/@name|@type/,\"type\"],[/[(){}]/,\"@brackets\"],[/[[\\]]/,\"operator.square\"],[/[\\.,]/,\"delimiter\"]],allowMethod:[[/^|$/,\"\",\"@pop\"],[/[ \\t]+/,\"white\"],[/[\\n\\r]+/,\"white\",\"@pop\"],[/\\/\\*/,\"comment\",\"@comment\"],[/(?==>[\\s\\w([{])/,\"keyword\",\"@pop\"],[/(@name|@symbols)(?=[ \\t]*[[({\"'`]|[ \\t]+(?:[+-]?\\.?\\d|\\w))/,{cases:{\"@keywords\":{token:\"keyword\",next:\"@pop\"},\"->|<-|>:|<:|<%\":{token:\"keyword\",next:\"@pop\"},\"@default\":{token:\"@rematch\",next:\"@pop\"}}}],[\"\",\"\",\"@pop\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\/\\*/,\"comment\",\"@push\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],case:[[/\\b_\\*/,\"key\"],[/\\b(_|true|false|null|this|super)\\b/,\"keyword\",\"@allowMethod\"],[/\\bif\\b|=>/,\"keyword\",\"@pop\"],[/`[^`]+`/,\"identifier\",\"@allowMethod\"],[/@name/,\"variable\",\"@allowMethod\"],[/:::?|\\||@(?![a-z_$])/,\"keyword\"],{include:\"@root\"}],vardef:[[/\\b_\\*/,\"key\"],[/\\b(_|true|false|null|this|super)\\b/,\"keyword\"],[/@name/,\"variable\"],[/:::?|\\||@(?![a-z_$])/,\"keyword\"],[/=|:(?!:)/,\"operator\",\"@pop\"],[/$/,\"white\",\"@pop\"],{include:\"@root\"}],string:[[/[^\\\\\"\\n\\r]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",switchTo:\"@allowMethod\"}]],stringt:[[/[^\\\\\"\\n\\r]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"(?=\"\"\")/,\"string\"],[/\"\"\"/,{token:\"string.quote\",bracket:\"@close\",switchTo:\"@allowMethod\"}],[/\"/,\"string\"]],fstring:[[/@escapes/,\"string.escape\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",switchTo:\"@allowMethod\"}],[/\\$\\$/,\"string\"],[/(\\$)([a-z_]\\w*)/,[\"operator\",\"identifier\"]],[/\\$\\{/,\"operator\",\"@interp\"],[/%%/,\"string\"],[/(%)([\\-#+ 0,(])(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,[\"metatag\",\"keyword.modifier\",\"number\",\"metatag\"]],[/(%)(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,[\"metatag\",\"number\",\"metatag\"]],[/(%)([\\-#+ 0,(])(@fstring_conv)/,[\"metatag\",\"keyword.modifier\",\"metatag\"]],[/(%)(@fstring_conv)/,[\"metatag\",\"metatag\"]],[/./,\"string\"]],fstringt:[[/@escapes/,\"string.escape\"],[/\"(?=\"\"\")/,\"string\"],[/\"\"\"/,{token:\"string.quote\",bracket:\"@close\",switchTo:\"@allowMethod\"}],[/\\$\\$/,\"string\"],[/(\\$)([a-z_]\\w*)/,[\"operator\",\"identifier\"]],[/\\$\\{/,\"operator\",\"@interp\"],[/%%/,\"string\"],[/(%)([\\-#+ 0,(])(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,[\"metatag\",\"keyword.modifier\",\"number\",\"metatag\"]],[/(%)(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,[\"metatag\",\"number\",\"metatag\"]],[/(%)([\\-#+ 0,(])(@fstring_conv)/,[\"metatag\",\"keyword.modifier\",\"metatag\"]],[/(%)(@fstring_conv)/,[\"metatag\",\"metatag\"]],[/./,\"string\"]],sstring:[[/@escapes/,\"string.escape\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",switchTo:\"@allowMethod\"}],[/\\$\\$/,\"string\"],[/(\\$)([a-z_]\\w*)/,[\"operator\",\"identifier\"]],[/\\$\\{/,\"operator\",\"@interp\"],[/./,\"string\"]],sstringt:[[/@escapes/,\"string.escape\"],[/\"(?=\"\"\")/,\"string\"],[/\"\"\"/,{token:\"string.quote\",bracket:\"@close\",switchTo:\"@allowMethod\"}],[/\\$\\$/,\"string\"],[/(\\$)([a-z_]\\w*)/,[\"operator\",\"identifier\"]],[/\\$\\{/,\"operator\",\"@interp\"],[/./,\"string\"]],interp:[[/{/,\"operator\",\"@push\"],[/}/,\"operator\",\"@pop\"],{include:\"@root\"}],rawstring:[[/[^\"]/,\"string\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",switchTo:\"@allowMethod\"}]],rawstringt:[[/[^\"]/,\"string\"],[/\"(?=\"\"\")/,\"string\"],[/\"\"\"/,{token:\"string.quote\",bracket:\"@close\",switchTo:\"@allowMethod\"}],[/\"/,\"string\"]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]]}};return g(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/scheme/scheme.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/scheme/scheme\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var t in e)s(o,t,{get:e[t],enumerable:!0})},m=(o,e,t,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of i(e))!l.call(o,n)&&n!==t&&s(o,n,{get:()=>e[n],enumerable:!(a=r(e,n))||a.enumerable});return o};var p=o=>m(s({},\"__esModule\",{value:!0}),o);var u={};c(u,{conf:()=>d,language:()=>g});var d={comments:{lineComment:\";\",blockComment:[\"#|\",\"|#\"]},brackets:[[\"(\",\")\"],[\"{\",\"}\"],[\"[\",\"]\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}]},g={defaultToken:\"\",ignoreCase:!0,tokenPostfix:\".scheme\",brackets:[{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"}],keywords:[\"case\",\"do\",\"let\",\"loop\",\"if\",\"else\",\"when\",\"cons\",\"car\",\"cdr\",\"cond\",\"lambda\",\"lambda*\",\"syntax-rules\",\"format\",\"set!\",\"quote\",\"eval\",\"append\",\"list\",\"list?\",\"member?\",\"load\"],constants:[\"#t\",\"#f\"],operators:[\"eq?\",\"eqv?\",\"equal?\",\"and\",\"or\",\"not\",\"null?\"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,\"number.hex\"],[/[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?/,\"number.float\"],[/(?:\\b(?:(define|define-syntax|define-macro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)/,[\"keyword\",\"white\",\"variable\"]],{include:\"@whitespace\"},{include:\"@strings\"},[/[a-zA-Z_#][a-zA-Z0-9_\\-\\?\\!\\*]*/,{cases:{\"@keywords\":\"keyword\",\"@constants\":\"constant\",\"@operators\":\"operators\",\"@default\":\"identifier\"}}]],comment:[[/[^\\|#]+/,\"comment\"],[/#\\|/,\"comment\",\"@push\"],[/\\|#/,\"comment\",\"@pop\"],[/[\\|#]/,\"comment\"]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/#\\|/,\"comment\",\"@comment\"],[/;.*$/,\"comment\"]],strings:[[/\"$/,\"string\",\"@popall\"],[/\"(?=.)/,\"string\",\"@multiLineString\"]],multiLineString:[[/[^\\\\\"]+$/,\"string\",\"@popall\"],[/[^\\\\\"]+/,\"string\"],[/\\\\./,\"string.escape\"],[/\"/,\"string\",\"@popall\"],[/\\\\$/,\"string\"]]}};return p(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/scss/scss.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/scss/scss\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var c=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},m=(t,e,o,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of l(e))!d.call(t,n)&&n!==o&&i(t,n,{get:()=>e[n],enumerable:!(r=a(e,n))||r.enumerable});return t};var s=t=>m(i({},\"__esModule\",{value:!0}),t);var k={};c(k,{conf:()=>u,language:()=>p});var u={wordPattern:/(#?-?\\d*\\.\\d\\w*%?)|([@$#!.:]?[\\w-?]+%?)|[@#!.]/g,comments:{blockComment:[\"/*\",\"*/\"],lineComment:\"//\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{markers:{start:new RegExp(\"^\\\\s*\\\\/\\\\*\\\\s*#region\\\\b\\\\s*(.*?)\\\\s*\\\\*\\\\/\"),end:new RegExp(\"^\\\\s*\\\\/\\\\*\\\\s*#endregion\\\\b.*\\\\*\\\\/\")}}},p={defaultToken:\"\",tokenPostfix:\".scss\",ws:`[ \t\n\\r\\f]*`,identifier:\"-?-?([a-zA-Z]|(\\\\\\\\(([0-9a-fA-F]{1,6}\\\\s?)|[^[0-9a-fA-F])))([\\\\w\\\\-]|(\\\\\\\\(([0-9a-fA-F]{1,6}\\\\s?)|[^[0-9a-fA-F])))*\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.bracket\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}],tokenizer:{root:[{include:\"@selector\"}],selector:[{include:\"@comments\"},{include:\"@import\"},{include:\"@variabledeclaration\"},{include:\"@warndebug\"},[\"[@](include)\",{token:\"keyword\",next:\"@includedeclaration\"}],[\"[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)\",{token:\"keyword\",next:\"@keyframedeclaration\"}],[\"[@](page|content|font-face|-moz-document)\",{token:\"keyword\"}],[\"[@](charset|namespace)\",{token:\"keyword\",next:\"@declarationbody\"}],[\"[@](function)\",{token:\"keyword\",next:\"@functiondeclaration\"}],[\"[@](mixin)\",{token:\"keyword\",next:\"@mixindeclaration\"}],[\"url(\\\\-prefix)?\\\\(\",{token:\"meta\",next:\"@urldeclaration\"}],{include:\"@controlstatement\"},{include:\"@selectorname\"},[\"[&\\\\*]\",\"tag\"],[\"[>\\\\+,]\",\"delimiter\"],[\"\\\\[\",{token:\"delimiter.bracket\",next:\"@selectorattribute\"}],[\"{\",{token:\"delimiter.curly\",next:\"@selectorbody\"}]],selectorbody:[[\"[*_]?@identifier@ws:(?=(\\\\s|\\\\d|[^{;}]*[;}]))\",\"attribute.name\",\"@rulevalue\"],{include:\"@selector\"},[\"[@](extend)\",{token:\"keyword\",next:\"@extendbody\"}],[\"[@](return)\",{token:\"keyword\",next:\"@declarationbody\"}],[\"}\",{token:\"delimiter.curly\",next:\"@pop\"}]],selectorname:[[\"#{\",{token:\"meta\",next:\"@variableinterpolation\"}],[\"(\\\\.|#(?=[^{])|%|(@identifier)|:)+\",\"tag\"]],selectorattribute:[{include:\"@term\"},[\"]\",{token:\"delimiter.bracket\",next:\"@pop\"}]],term:[{include:\"@comments\"},[\"url(\\\\-prefix)?\\\\(\",{token:\"meta\",next:\"@urldeclaration\"}],{include:\"@functioninvocation\"},{include:\"@numbers\"},{include:\"@strings\"},{include:\"@variablereference\"},[\"(and\\\\b|or\\\\b|not\\\\b)\",\"operator\"],{include:\"@name\"},[\"([<>=\\\\+\\\\-\\\\*\\\\/\\\\^\\\\|\\\\~,])\",\"operator\"],[\",\",\"delimiter\"],[\"!default\",\"literal\"],[\"\\\\(\",{token:\"delimiter.parenthesis\",next:\"@parenthizedterm\"}]],rulevalue:[{include:\"@term\"},[\"!important\",\"literal\"],[\";\",\"delimiter\",\"@pop\"],[\"{\",{token:\"delimiter.curly\",switchTo:\"@nestedproperty\"}],[\"(?=})\",{token:\"\",next:\"@pop\"}]],nestedproperty:[[\"[*_]?@identifier@ws:\",\"attribute.name\",\"@rulevalue\"],{include:\"@comments\"},[\"}\",{token:\"delimiter.curly\",next:\"@pop\"}]],warndebug:[[\"[@](warn|debug)\",{token:\"keyword\",next:\"@declarationbody\"}]],import:[[\"[@](import)\",{token:\"keyword\",next:\"@declarationbody\"}]],variabledeclaration:[[\"\\\\$@identifier@ws:\",\"variable.decl\",\"@declarationbody\"]],urldeclaration:[{include:\"@strings\"},[`[^)\\r\n]+`,\"string\"],[\"\\\\)\",{token:\"meta\",next:\"@pop\"}]],parenthizedterm:[{include:\"@term\"},[\"\\\\)\",{token:\"delimiter.parenthesis\",next:\"@pop\"}]],declarationbody:[{include:\"@term\"},[\";\",\"delimiter\",\"@pop\"],[\"(?=})\",{token:\"\",next:\"@pop\"}]],extendbody:[{include:\"@selectorname\"},[\"!optional\",\"literal\"],[\";\",\"delimiter\",\"@pop\"],[\"(?=})\",{token:\"\",next:\"@pop\"}]],variablereference:[[\"\\\\$@identifier\",\"variable.ref\"],[\"\\\\.\\\\.\\\\.\",\"operator\"],[\"#{\",{token:\"meta\",next:\"@variableinterpolation\"}]],variableinterpolation:[{include:\"@variablereference\"},[\"}\",{token:\"meta\",next:\"@pop\"}]],comments:[[\"\\\\/\\\\*\",\"comment\",\"@comment\"],[\"\\\\/\\\\/+.*\",\"comment\"]],comment:[[\"\\\\*\\\\/\",\"comment\",\"@pop\"],[\".\",\"comment\"]],name:[[\"@identifier\",\"attribute.value\"]],numbers:[[\"(\\\\d*\\\\.)?\\\\d+([eE][\\\\-+]?\\\\d+)?\",{token:\"number\",next:\"@units\"}],[\"#[0-9a-fA-F_]+(?!\\\\w)\",\"number.hex\"]],units:[[\"(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?\",\"number\",\"@pop\"]],functiondeclaration:[[\"@identifier@ws\\\\(\",{token:\"meta\",next:\"@parameterdeclaration\"}],[\"{\",{token:\"delimiter.curly\",switchTo:\"@functionbody\"}]],mixindeclaration:[[\"@identifier@ws\\\\(\",{token:\"meta\",next:\"@parameterdeclaration\"}],[\"@identifier\",\"meta\"],[\"{\",{token:\"delimiter.curly\",switchTo:\"@selectorbody\"}]],parameterdeclaration:[[\"\\\\$@identifier@ws:\",\"variable.decl\"],[\"\\\\.\\\\.\\\\.\",\"operator\"],[\",\",\"delimiter\"],{include:\"@term\"},[\"\\\\)\",{token:\"meta\",next:\"@pop\"}]],includedeclaration:[{include:\"@functioninvocation\"},[\"@identifier\",\"meta\"],[\";\",\"delimiter\",\"@pop\"],[\"(?=})\",{token:\"\",next:\"@pop\"}],[\"{\",{token:\"delimiter.curly\",switchTo:\"@selectorbody\"}]],keyframedeclaration:[[\"@identifier\",\"meta\"],[\"{\",{token:\"delimiter.curly\",switchTo:\"@keyframebody\"}]],keyframebody:[{include:\"@term\"},[\"{\",{token:\"delimiter.curly\",next:\"@selectorbody\"}],[\"}\",{token:\"delimiter.curly\",next:\"@pop\"}]],controlstatement:[[\"[@](if|else|for|while|each|media)\",{token:\"keyword.flow\",next:\"@controlstatementdeclaration\"}]],controlstatementdeclaration:[[\"(in|from|through|if|to)\\\\b\",{token:\"keyword.flow\"}],{include:\"@term\"},[\"{\",{token:\"delimiter.curly\",switchTo:\"@selectorbody\"}]],functionbody:[[\"[@](return)\",{token:\"keyword\"}],{include:\"@variabledeclaration\"},{include:\"@term\"},{include:\"@controlstatement\"},[\";\",\"delimiter\"],[\"}\",{token:\"delimiter.curly\",next:\"@pop\"}]],functioninvocation:[[\"@identifier\\\\(\",{token:\"meta\",next:\"@functionarguments\"}]],functionarguments:[[\"\\\\$@identifier@ws:\",\"attribute.name\"],[\"[,]\",\"delimiter\"],{include:\"@term\"},[\"\\\\)\",{token:\"meta\",next:\"@pop\"}]],strings:[['~?\"',{token:\"string.delimiter\",next:\"@stringenddoublequote\"}],[\"~?'\",{token:\"string.delimiter\",next:\"@stringendquote\"}]],stringenddoublequote:[[\"\\\\\\\\.\",\"string\"],['\"',{token:\"string.delimiter\",next:\"@pop\"}],[\".\",\"string\"]],stringendquote:[[\"\\\\\\\\.\",\"string\"],[\"'\",{token:\"string.delimiter\",next:\"@pop\"}],[\".\",\"string\"]]}};return s(k);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/shell/shell.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/shell/shell\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var a=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(r,e)=>{for(var i in e)a(r,i,{get:e[i],enumerable:!0})},d=(r,e,i,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of n(e))!l.call(r,t)&&t!==i&&a(r,t,{get:()=>e[t],enumerable:!(o=s(e,t))||o.enumerable});return r};var p=r=>d(a({},\"__esModule\",{value:!0}),r);var g={};c(g,{conf:()=>m,language:()=>u});var m={comments:{lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}]},u={defaultToken:\"\",ignoreCase:!0,tokenPostfix:\".shell\",brackets:[{token:\"delimiter.bracket\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"}],keywords:[\"if\",\"then\",\"do\",\"else\",\"elif\",\"while\",\"until\",\"for\",\"in\",\"esac\",\"fi\",\"fin\",\"fil\",\"done\",\"exit\",\"set\",\"unset\",\"export\",\"function\"],builtins:[\"ab\",\"awk\",\"bash\",\"beep\",\"cat\",\"cc\",\"cd\",\"chown\",\"chmod\",\"chroot\",\"clear\",\"cp\",\"curl\",\"cut\",\"diff\",\"echo\",\"find\",\"gawk\",\"gcc\",\"get\",\"git\",\"grep\",\"hg\",\"kill\",\"killall\",\"ln\",\"ls\",\"make\",\"mkdir\",\"openssl\",\"mv\",\"nc\",\"node\",\"npm\",\"ping\",\"ps\",\"restart\",\"rm\",\"rmdir\",\"sed\",\"service\",\"sh\",\"shopt\",\"shred\",\"source\",\"sort\",\"sleep\",\"ssh\",\"start\",\"stop\",\"su\",\"sudo\",\"svn\",\"tee\",\"telnet\",\"top\",\"touch\",\"vi\",\"vim\",\"wall\",\"wc\",\"wget\",\"who\",\"write\",\"yes\",\"zsh\"],startingWithDash:/\\-+\\w+/,identifiersWithDashes:/[a-zA-Z]\\w+(?:@startingWithDash)+/,symbols:/[=><!~?&|+\\-*\\/\\^;\\.,]+/,tokenizer:{root:[[/@identifiersWithDashes/,\"\"],[/(\\s)((?:@startingWithDash)+)/,[\"white\",\"attribute.name\"]],[/[a-zA-Z]\\w*/,{cases:{\"@keywords\":\"keyword\",\"@builtins\":\"type.identifier\",\"@default\":\"\"}}],{include:\"@whitespace\"},{include:\"@strings\"},{include:\"@parameters\"},{include:\"@heredoc\"},[/[{}\\[\\]()]/,\"@brackets\"],[/@symbols/,\"delimiter\"],{include:\"@numbers\"},[/[,;]/,\"delimiter\"]],whitespace:[[/\\s+/,\"white\"],[/(^#!.*$)/,\"metatag\"],[/(^#.*$)/,\"comment\"]],numbers:[[/\\d*\\.\\d+([eE][\\-+]?\\d+)?/,\"number.float\"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,\"number.hex\"],[/\\d+/,\"number\"]],strings:[[/'/,\"string\",\"@stringBody\"],[/\"/,\"string\",\"@dblStringBody\"]],stringBody:[[/'/,\"string\",\"@popall\"],[/./,\"string\"]],dblStringBody:[[/\"/,\"string\",\"@popall\"],[/./,\"string\"]],heredoc:[[/(<<[-<]?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)/,[\"constants\",\"white\",\"string.heredoc.delimiter\",\"string.heredoc\",\"string.heredoc.delimiter\"]]],parameters:[[/\\$\\d+/,\"variable.predefined\"],[/\\$\\w+/,\"variable\"],[/\\$[*@#?\\-$!0_]/,\"variable\"],[/\\$'/,\"variable\",\"@parameterBodyQuote\"],[/\\$\"/,\"variable\",\"@parameterBodyDoubleQuote\"],[/\\$\\(/,\"variable\",\"@parameterBodyParen\"],[/\\$\\{/,\"variable\",\"@parameterBodyCurlyBrace\"]],parameterBodyQuote:[[/[^#:%*@\\-!_']+/,\"variable\"],[/[#:%*@\\-!_]/,\"delimiter\"],[/[']/,\"variable\",\"@pop\"]],parameterBodyDoubleQuote:[[/[^#:%*@\\-!_\"]+/,\"variable\"],[/[#:%*@\\-!_]/,\"delimiter\"],[/[\"]/,\"variable\",\"@pop\"]],parameterBodyParen:[[/[^#:%*@\\-!_)]+/,\"variable\"],[/[#:%*@\\-!_]/,\"delimiter\"],[/[)]/,\"variable\",\"@pop\"]],parameterBodyCurlyBrace:[[/[^#:%*@\\-!_}]+/,\"variable\"],[/[#:%*@\\-!_]/,\"delimiter\"],[/[}]/,\"variable\",\"@pop\"]]}};return p(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/solidity/solidity.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/solidity/solidity\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var f=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var o=(e,x)=>{for(var d in x)f(e,d,{get:x[d],enumerable:!0})},r=(e,x,d,u)=>{if(x&&typeof x==\"object\"||typeof x==\"function\")for(let i of n(x))!s.call(e,i)&&i!==d&&f(e,i,{get:()=>x[i],enumerable:!(u=t(x,i))||u.enumerable});return e};var a=e=>r(f({},\"__esModule\",{value:!0}),e);var l={};o(l,{conf:()=>c,language:()=>m});var c={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"<\",\">\"]],autoClosingPairs:[{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]}]},m={defaultToken:\"\",tokenPostfix:\".sol\",brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"},{token:\"delimiter.angle\",open:\"<\",close:\">\"}],keywords:[\"pragma\",\"solidity\",\"contract\",\"library\",\"using\",\"struct\",\"function\",\"modifier\",\"constructor\",\"address\",\"string\",\"bool\",\"Int\",\"Uint\",\"Byte\",\"Fixed\",\"Ufixed\",\"int\",\"int8\",\"int16\",\"int24\",\"int32\",\"int40\",\"int48\",\"int56\",\"int64\",\"int72\",\"int80\",\"int88\",\"int96\",\"int104\",\"int112\",\"int120\",\"int128\",\"int136\",\"int144\",\"int152\",\"int160\",\"int168\",\"int176\",\"int184\",\"int192\",\"int200\",\"int208\",\"int216\",\"int224\",\"int232\",\"int240\",\"int248\",\"int256\",\"uint\",\"uint8\",\"uint16\",\"uint24\",\"uint32\",\"uint40\",\"uint48\",\"uint56\",\"uint64\",\"uint72\",\"uint80\",\"uint88\",\"uint96\",\"uint104\",\"uint112\",\"uint120\",\"uint128\",\"uint136\",\"uint144\",\"uint152\",\"uint160\",\"uint168\",\"uint176\",\"uint184\",\"uint192\",\"uint200\",\"uint208\",\"uint216\",\"uint224\",\"uint232\",\"uint240\",\"uint248\",\"uint256\",\"byte\",\"bytes\",\"bytes1\",\"bytes2\",\"bytes3\",\"bytes4\",\"bytes5\",\"bytes6\",\"bytes7\",\"bytes8\",\"bytes9\",\"bytes10\",\"bytes11\",\"bytes12\",\"bytes13\",\"bytes14\",\"bytes15\",\"bytes16\",\"bytes17\",\"bytes18\",\"bytes19\",\"bytes20\",\"bytes21\",\"bytes22\",\"bytes23\",\"bytes24\",\"bytes25\",\"bytes26\",\"bytes27\",\"bytes28\",\"bytes29\",\"bytes30\",\"bytes31\",\"bytes32\",\"fixed\",\"fixed0x8\",\"fixed0x16\",\"fixed0x24\",\"fixed0x32\",\"fixed0x40\",\"fixed0x48\",\"fixed0x56\",\"fixed0x64\",\"fixed0x72\",\"fixed0x80\",\"fixed0x88\",\"fixed0x96\",\"fixed0x104\",\"fixed0x112\",\"fixed0x120\",\"fixed0x128\",\"fixed0x136\",\"fixed0x144\",\"fixed0x152\",\"fixed0x160\",\"fixed0x168\",\"fixed0x176\",\"fixed0x184\",\"fixed0x192\",\"fixed0x200\",\"fixed0x208\",\"fixed0x216\",\"fixed0x224\",\"fixed0x232\",\"fixed0x240\",\"fixed0x248\",\"fixed0x256\",\"fixed8x8\",\"fixed8x16\",\"fixed8x24\",\"fixed8x32\",\"fixed8x40\",\"fixed8x48\",\"fixed8x56\",\"fixed8x64\",\"fixed8x72\",\"fixed8x80\",\"fixed8x88\",\"fixed8x96\",\"fixed8x104\",\"fixed8x112\",\"fixed8x120\",\"fixed8x128\",\"fixed8x136\",\"fixed8x144\",\"fixed8x152\",\"fixed8x160\",\"fixed8x168\",\"fixed8x176\",\"fixed8x184\",\"fixed8x192\",\"fixed8x200\",\"fixed8x208\",\"fixed8x216\",\"fixed8x224\",\"fixed8x232\",\"fixed8x240\",\"fixed8x248\",\"fixed16x8\",\"fixed16x16\",\"fixed16x24\",\"fixed16x32\",\"fixed16x40\",\"fixed16x48\",\"fixed16x56\",\"fixed16x64\",\"fixed16x72\",\"fixed16x80\",\"fixed16x88\",\"fixed16x96\",\"fixed16x104\",\"fixed16x112\",\"fixed16x120\",\"fixed16x128\",\"fixed16x136\",\"fixed16x144\",\"fixed16x152\",\"fixed16x160\",\"fixed16x168\",\"fixed16x176\",\"fixed16x184\",\"fixed16x192\",\"fixed16x200\",\"fixed16x208\",\"fixed16x216\",\"fixed16x224\",\"fixed16x232\",\"fixed16x240\",\"fixed24x8\",\"fixed24x16\",\"fixed24x24\",\"fixed24x32\",\"fixed24x40\",\"fixed24x48\",\"fixed24x56\",\"fixed24x64\",\"fixed24x72\",\"fixed24x80\",\"fixed24x88\",\"fixed24x96\",\"fixed24x104\",\"fixed24x112\",\"fixed24x120\",\"fixed24x128\",\"fixed24x136\",\"fixed24x144\",\"fixed24x152\",\"fixed24x160\",\"fixed24x168\",\"fixed24x176\",\"fixed24x184\",\"fixed24x192\",\"fixed24x200\",\"fixed24x208\",\"fixed24x216\",\"fixed24x224\",\"fixed24x232\",\"fixed32x8\",\"fixed32x16\",\"fixed32x24\",\"fixed32x32\",\"fixed32x40\",\"fixed32x48\",\"fixed32x56\",\"fixed32x64\",\"fixed32x72\",\"fixed32x80\",\"fixed32x88\",\"fixed32x96\",\"fixed32x104\",\"fixed32x112\",\"fixed32x120\",\"fixed32x128\",\"fixed32x136\",\"fixed32x144\",\"fixed32x152\",\"fixed32x160\",\"fixed32x168\",\"fixed32x176\",\"fixed32x184\",\"fixed32x192\",\"fixed32x200\",\"fixed32x208\",\"fixed32x216\",\"fixed32x224\",\"fixed40x8\",\"fixed40x16\",\"fixed40x24\",\"fixed40x32\",\"fixed40x40\",\"fixed40x48\",\"fixed40x56\",\"fixed40x64\",\"fixed40x72\",\"fixed40x80\",\"fixed40x88\",\"fixed40x96\",\"fixed40x104\",\"fixed40x112\",\"fixed40x120\",\"fixed40x128\",\"fixed40x136\",\"fixed40x144\",\"fixed40x152\",\"fixed40x160\",\"fixed40x168\",\"fixed40x176\",\"fixed40x184\",\"fixed40x192\",\"fixed40x200\",\"fixed40x208\",\"fixed40x216\",\"fixed48x8\",\"fixed48x16\",\"fixed48x24\",\"fixed48x32\",\"fixed48x40\",\"fixed48x48\",\"fixed48x56\",\"fixed48x64\",\"fixed48x72\",\"fixed48x80\",\"fixed48x88\",\"fixed48x96\",\"fixed48x104\",\"fixed48x112\",\"fixed48x120\",\"fixed48x128\",\"fixed48x136\",\"fixed48x144\",\"fixed48x152\",\"fixed48x160\",\"fixed48x168\",\"fixed48x176\",\"fixed48x184\",\"fixed48x192\",\"fixed48x200\",\"fixed48x208\",\"fixed56x8\",\"fixed56x16\",\"fixed56x24\",\"fixed56x32\",\"fixed56x40\",\"fixed56x48\",\"fixed56x56\",\"fixed56x64\",\"fixed56x72\",\"fixed56x80\",\"fixed56x88\",\"fixed56x96\",\"fixed56x104\",\"fixed56x112\",\"fixed56x120\",\"fixed56x128\",\"fixed56x136\",\"fixed56x144\",\"fixed56x152\",\"fixed56x160\",\"fixed56x168\",\"fixed56x176\",\"fixed56x184\",\"fixed56x192\",\"fixed56x200\",\"fixed64x8\",\"fixed64x16\",\"fixed64x24\",\"fixed64x32\",\"fixed64x40\",\"fixed64x48\",\"fixed64x56\",\"fixed64x64\",\"fixed64x72\",\"fixed64x80\",\"fixed64x88\",\"fixed64x96\",\"fixed64x104\",\"fixed64x112\",\"fixed64x120\",\"fixed64x128\",\"fixed64x136\",\"fixed64x144\",\"fixed64x152\",\"fixed64x160\",\"fixed64x168\",\"fixed64x176\",\"fixed64x184\",\"fixed64x192\",\"fixed72x8\",\"fixed72x16\",\"fixed72x24\",\"fixed72x32\",\"fixed72x40\",\"fixed72x48\",\"fixed72x56\",\"fixed72x64\",\"fixed72x72\",\"fixed72x80\",\"fixed72x88\",\"fixed72x96\",\"fixed72x104\",\"fixed72x112\",\"fixed72x120\",\"fixed72x128\",\"fixed72x136\",\"fixed72x144\",\"fixed72x152\",\"fixed72x160\",\"fixed72x168\",\"fixed72x176\",\"fixed72x184\",\"fixed80x8\",\"fixed80x16\",\"fixed80x24\",\"fixed80x32\",\"fixed80x40\",\"fixed80x48\",\"fixed80x56\",\"fixed80x64\",\"fixed80x72\",\"fixed80x80\",\"fixed80x88\",\"fixed80x96\",\"fixed80x104\",\"fixed80x112\",\"fixed80x120\",\"fixed80x128\",\"fixed80x136\",\"fixed80x144\",\"fixed80x152\",\"fixed80x160\",\"fixed80x168\",\"fixed80x176\",\"fixed88x8\",\"fixed88x16\",\"fixed88x24\",\"fixed88x32\",\"fixed88x40\",\"fixed88x48\",\"fixed88x56\",\"fixed88x64\",\"fixed88x72\",\"fixed88x80\",\"fixed88x88\",\"fixed88x96\",\"fixed88x104\",\"fixed88x112\",\"fixed88x120\",\"fixed88x128\",\"fixed88x136\",\"fixed88x144\",\"fixed88x152\",\"fixed88x160\",\"fixed88x168\",\"fixed96x8\",\"fixed96x16\",\"fixed96x24\",\"fixed96x32\",\"fixed96x40\",\"fixed96x48\",\"fixed96x56\",\"fixed96x64\",\"fixed96x72\",\"fixed96x80\",\"fixed96x88\",\"fixed96x96\",\"fixed96x104\",\"fixed96x112\",\"fixed96x120\",\"fixed96x128\",\"fixed96x136\",\"fixed96x144\",\"fixed96x152\",\"fixed96x160\",\"fixed104x8\",\"fixed104x16\",\"fixed104x24\",\"fixed104x32\",\"fixed104x40\",\"fixed104x48\",\"fixed104x56\",\"fixed104x64\",\"fixed104x72\",\"fixed104x80\",\"fixed104x88\",\"fixed104x96\",\"fixed104x104\",\"fixed104x112\",\"fixed104x120\",\"fixed104x128\",\"fixed104x136\",\"fixed104x144\",\"fixed104x152\",\"fixed112x8\",\"fixed112x16\",\"fixed112x24\",\"fixed112x32\",\"fixed112x40\",\"fixed112x48\",\"fixed112x56\",\"fixed112x64\",\"fixed112x72\",\"fixed112x80\",\"fixed112x88\",\"fixed112x96\",\"fixed112x104\",\"fixed112x112\",\"fixed112x120\",\"fixed112x128\",\"fixed112x136\",\"fixed112x144\",\"fixed120x8\",\"fixed120x16\",\"fixed120x24\",\"fixed120x32\",\"fixed120x40\",\"fixed120x48\",\"fixed120x56\",\"fixed120x64\",\"fixed120x72\",\"fixed120x80\",\"fixed120x88\",\"fixed120x96\",\"fixed120x104\",\"fixed120x112\",\"fixed120x120\",\"fixed120x128\",\"fixed120x136\",\"fixed128x8\",\"fixed128x16\",\"fixed128x24\",\"fixed128x32\",\"fixed128x40\",\"fixed128x48\",\"fixed128x56\",\"fixed128x64\",\"fixed128x72\",\"fixed128x80\",\"fixed128x88\",\"fixed128x96\",\"fixed128x104\",\"fixed128x112\",\"fixed128x120\",\"fixed128x128\",\"fixed136x8\",\"fixed136x16\",\"fixed136x24\",\"fixed136x32\",\"fixed136x40\",\"fixed136x48\",\"fixed136x56\",\"fixed136x64\",\"fixed136x72\",\"fixed136x80\",\"fixed136x88\",\"fixed136x96\",\"fixed136x104\",\"fixed136x112\",\"fixed136x120\",\"fixed144x8\",\"fixed144x16\",\"fixed144x24\",\"fixed144x32\",\"fixed144x40\",\"fixed144x48\",\"fixed144x56\",\"fixed144x64\",\"fixed144x72\",\"fixed144x80\",\"fixed144x88\",\"fixed144x96\",\"fixed144x104\",\"fixed144x112\",\"fixed152x8\",\"fixed152x16\",\"fixed152x24\",\"fixed152x32\",\"fixed152x40\",\"fixed152x48\",\"fixed152x56\",\"fixed152x64\",\"fixed152x72\",\"fixed152x80\",\"fixed152x88\",\"fixed152x96\",\"fixed152x104\",\"fixed160x8\",\"fixed160x16\",\"fixed160x24\",\"fixed160x32\",\"fixed160x40\",\"fixed160x48\",\"fixed160x56\",\"fixed160x64\",\"fixed160x72\",\"fixed160x80\",\"fixed160x88\",\"fixed160x96\",\"fixed168x8\",\"fixed168x16\",\"fixed168x24\",\"fixed168x32\",\"fixed168x40\",\"fixed168x48\",\"fixed168x56\",\"fixed168x64\",\"fixed168x72\",\"fixed168x80\",\"fixed168x88\",\"fixed176x8\",\"fixed176x16\",\"fixed176x24\",\"fixed176x32\",\"fixed176x40\",\"fixed176x48\",\"fixed176x56\",\"fixed176x64\",\"fixed176x72\",\"fixed176x80\",\"fixed184x8\",\"fixed184x16\",\"fixed184x24\",\"fixed184x32\",\"fixed184x40\",\"fixed184x48\",\"fixed184x56\",\"fixed184x64\",\"fixed184x72\",\"fixed192x8\",\"fixed192x16\",\"fixed192x24\",\"fixed192x32\",\"fixed192x40\",\"fixed192x48\",\"fixed192x56\",\"fixed192x64\",\"fixed200x8\",\"fixed200x16\",\"fixed200x24\",\"fixed200x32\",\"fixed200x40\",\"fixed200x48\",\"fixed200x56\",\"fixed208x8\",\"fixed208x16\",\"fixed208x24\",\"fixed208x32\",\"fixed208x40\",\"fixed208x48\",\"fixed216x8\",\"fixed216x16\",\"fixed216x24\",\"fixed216x32\",\"fixed216x40\",\"fixed224x8\",\"fixed224x16\",\"fixed224x24\",\"fixed224x32\",\"fixed232x8\",\"fixed232x16\",\"fixed232x24\",\"fixed240x8\",\"fixed240x16\",\"fixed248x8\",\"ufixed\",\"ufixed0x8\",\"ufixed0x16\",\"ufixed0x24\",\"ufixed0x32\",\"ufixed0x40\",\"ufixed0x48\",\"ufixed0x56\",\"ufixed0x64\",\"ufixed0x72\",\"ufixed0x80\",\"ufixed0x88\",\"ufixed0x96\",\"ufixed0x104\",\"ufixed0x112\",\"ufixed0x120\",\"ufixed0x128\",\"ufixed0x136\",\"ufixed0x144\",\"ufixed0x152\",\"ufixed0x160\",\"ufixed0x168\",\"ufixed0x176\",\"ufixed0x184\",\"ufixed0x192\",\"ufixed0x200\",\"ufixed0x208\",\"ufixed0x216\",\"ufixed0x224\",\"ufixed0x232\",\"ufixed0x240\",\"ufixed0x248\",\"ufixed0x256\",\"ufixed8x8\",\"ufixed8x16\",\"ufixed8x24\",\"ufixed8x32\",\"ufixed8x40\",\"ufixed8x48\",\"ufixed8x56\",\"ufixed8x64\",\"ufixed8x72\",\"ufixed8x80\",\"ufixed8x88\",\"ufixed8x96\",\"ufixed8x104\",\"ufixed8x112\",\"ufixed8x120\",\"ufixed8x128\",\"ufixed8x136\",\"ufixed8x144\",\"ufixed8x152\",\"ufixed8x160\",\"ufixed8x168\",\"ufixed8x176\",\"ufixed8x184\",\"ufixed8x192\",\"ufixed8x200\",\"ufixed8x208\",\"ufixed8x216\",\"ufixed8x224\",\"ufixed8x232\",\"ufixed8x240\",\"ufixed8x248\",\"ufixed16x8\",\"ufixed16x16\",\"ufixed16x24\",\"ufixed16x32\",\"ufixed16x40\",\"ufixed16x48\",\"ufixed16x56\",\"ufixed16x64\",\"ufixed16x72\",\"ufixed16x80\",\"ufixed16x88\",\"ufixed16x96\",\"ufixed16x104\",\"ufixed16x112\",\"ufixed16x120\",\"ufixed16x128\",\"ufixed16x136\",\"ufixed16x144\",\"ufixed16x152\",\"ufixed16x160\",\"ufixed16x168\",\"ufixed16x176\",\"ufixed16x184\",\"ufixed16x192\",\"ufixed16x200\",\"ufixed16x208\",\"ufixed16x216\",\"ufixed16x224\",\"ufixed16x232\",\"ufixed16x240\",\"ufixed24x8\",\"ufixed24x16\",\"ufixed24x24\",\"ufixed24x32\",\"ufixed24x40\",\"ufixed24x48\",\"ufixed24x56\",\"ufixed24x64\",\"ufixed24x72\",\"ufixed24x80\",\"ufixed24x88\",\"ufixed24x96\",\"ufixed24x104\",\"ufixed24x112\",\"ufixed24x120\",\"ufixed24x128\",\"ufixed24x136\",\"ufixed24x144\",\"ufixed24x152\",\"ufixed24x160\",\"ufixed24x168\",\"ufixed24x176\",\"ufixed24x184\",\"ufixed24x192\",\"ufixed24x200\",\"ufixed24x208\",\"ufixed24x216\",\"ufixed24x224\",\"ufixed24x232\",\"ufixed32x8\",\"ufixed32x16\",\"ufixed32x24\",\"ufixed32x32\",\"ufixed32x40\",\"ufixed32x48\",\"ufixed32x56\",\"ufixed32x64\",\"ufixed32x72\",\"ufixed32x80\",\"ufixed32x88\",\"ufixed32x96\",\"ufixed32x104\",\"ufixed32x112\",\"ufixed32x120\",\"ufixed32x128\",\"ufixed32x136\",\"ufixed32x144\",\"ufixed32x152\",\"ufixed32x160\",\"ufixed32x168\",\"ufixed32x176\",\"ufixed32x184\",\"ufixed32x192\",\"ufixed32x200\",\"ufixed32x208\",\"ufixed32x216\",\"ufixed32x224\",\"ufixed40x8\",\"ufixed40x16\",\"ufixed40x24\",\"ufixed40x32\",\"ufixed40x40\",\"ufixed40x48\",\"ufixed40x56\",\"ufixed40x64\",\"ufixed40x72\",\"ufixed40x80\",\"ufixed40x88\",\"ufixed40x96\",\"ufixed40x104\",\"ufixed40x112\",\"ufixed40x120\",\"ufixed40x128\",\"ufixed40x136\",\"ufixed40x144\",\"ufixed40x152\",\"ufixed40x160\",\"ufixed40x168\",\"ufixed40x176\",\"ufixed40x184\",\"ufixed40x192\",\"ufixed40x200\",\"ufixed40x208\",\"ufixed40x216\",\"ufixed48x8\",\"ufixed48x16\",\"ufixed48x24\",\"ufixed48x32\",\"ufixed48x40\",\"ufixed48x48\",\"ufixed48x56\",\"ufixed48x64\",\"ufixed48x72\",\"ufixed48x80\",\"ufixed48x88\",\"ufixed48x96\",\"ufixed48x104\",\"ufixed48x112\",\"ufixed48x120\",\"ufixed48x128\",\"ufixed48x136\",\"ufixed48x144\",\"ufixed48x152\",\"ufixed48x160\",\"ufixed48x168\",\"ufixed48x176\",\"ufixed48x184\",\"ufixed48x192\",\"ufixed48x200\",\"ufixed48x208\",\"ufixed56x8\",\"ufixed56x16\",\"ufixed56x24\",\"ufixed56x32\",\"ufixed56x40\",\"ufixed56x48\",\"ufixed56x56\",\"ufixed56x64\",\"ufixed56x72\",\"ufixed56x80\",\"ufixed56x88\",\"ufixed56x96\",\"ufixed56x104\",\"ufixed56x112\",\"ufixed56x120\",\"ufixed56x128\",\"ufixed56x136\",\"ufixed56x144\",\"ufixed56x152\",\"ufixed56x160\",\"ufixed56x168\",\"ufixed56x176\",\"ufixed56x184\",\"ufixed56x192\",\"ufixed56x200\",\"ufixed64x8\",\"ufixed64x16\",\"ufixed64x24\",\"ufixed64x32\",\"ufixed64x40\",\"ufixed64x48\",\"ufixed64x56\",\"ufixed64x64\",\"ufixed64x72\",\"ufixed64x80\",\"ufixed64x88\",\"ufixed64x96\",\"ufixed64x104\",\"ufixed64x112\",\"ufixed64x120\",\"ufixed64x128\",\"ufixed64x136\",\"ufixed64x144\",\"ufixed64x152\",\"ufixed64x160\",\"ufixed64x168\",\"ufixed64x176\",\"ufixed64x184\",\"ufixed64x192\",\"ufixed72x8\",\"ufixed72x16\",\"ufixed72x24\",\"ufixed72x32\",\"ufixed72x40\",\"ufixed72x48\",\"ufixed72x56\",\"ufixed72x64\",\"ufixed72x72\",\"ufixed72x80\",\"ufixed72x88\",\"ufixed72x96\",\"ufixed72x104\",\"ufixed72x112\",\"ufixed72x120\",\"ufixed72x128\",\"ufixed72x136\",\"ufixed72x144\",\"ufixed72x152\",\"ufixed72x160\",\"ufixed72x168\",\"ufixed72x176\",\"ufixed72x184\",\"ufixed80x8\",\"ufixed80x16\",\"ufixed80x24\",\"ufixed80x32\",\"ufixed80x40\",\"ufixed80x48\",\"ufixed80x56\",\"ufixed80x64\",\"ufixed80x72\",\"ufixed80x80\",\"ufixed80x88\",\"ufixed80x96\",\"ufixed80x104\",\"ufixed80x112\",\"ufixed80x120\",\"ufixed80x128\",\"ufixed80x136\",\"ufixed80x144\",\"ufixed80x152\",\"ufixed80x160\",\"ufixed80x168\",\"ufixed80x176\",\"ufixed88x8\",\"ufixed88x16\",\"ufixed88x24\",\"ufixed88x32\",\"ufixed88x40\",\"ufixed88x48\",\"ufixed88x56\",\"ufixed88x64\",\"ufixed88x72\",\"ufixed88x80\",\"ufixed88x88\",\"ufixed88x96\",\"ufixed88x104\",\"ufixed88x112\",\"ufixed88x120\",\"ufixed88x128\",\"ufixed88x136\",\"ufixed88x144\",\"ufixed88x152\",\"ufixed88x160\",\"ufixed88x168\",\"ufixed96x8\",\"ufixed96x16\",\"ufixed96x24\",\"ufixed96x32\",\"ufixed96x40\",\"ufixed96x48\",\"ufixed96x56\",\"ufixed96x64\",\"ufixed96x72\",\"ufixed96x80\",\"ufixed96x88\",\"ufixed96x96\",\"ufixed96x104\",\"ufixed96x112\",\"ufixed96x120\",\"ufixed96x128\",\"ufixed96x136\",\"ufixed96x144\",\"ufixed96x152\",\"ufixed96x160\",\"ufixed104x8\",\"ufixed104x16\",\"ufixed104x24\",\"ufixed104x32\",\"ufixed104x40\",\"ufixed104x48\",\"ufixed104x56\",\"ufixed104x64\",\"ufixed104x72\",\"ufixed104x80\",\"ufixed104x88\",\"ufixed104x96\",\"ufixed104x104\",\"ufixed104x112\",\"ufixed104x120\",\"ufixed104x128\",\"ufixed104x136\",\"ufixed104x144\",\"ufixed104x152\",\"ufixed112x8\",\"ufixed112x16\",\"ufixed112x24\",\"ufixed112x32\",\"ufixed112x40\",\"ufixed112x48\",\"ufixed112x56\",\"ufixed112x64\",\"ufixed112x72\",\"ufixed112x80\",\"ufixed112x88\",\"ufixed112x96\",\"ufixed112x104\",\"ufixed112x112\",\"ufixed112x120\",\"ufixed112x128\",\"ufixed112x136\",\"ufixed112x144\",\"ufixed120x8\",\"ufixed120x16\",\"ufixed120x24\",\"ufixed120x32\",\"ufixed120x40\",\"ufixed120x48\",\"ufixed120x56\",\"ufixed120x64\",\"ufixed120x72\",\"ufixed120x80\",\"ufixed120x88\",\"ufixed120x96\",\"ufixed120x104\",\"ufixed120x112\",\"ufixed120x120\",\"ufixed120x128\",\"ufixed120x136\",\"ufixed128x8\",\"ufixed128x16\",\"ufixed128x24\",\"ufixed128x32\",\"ufixed128x40\",\"ufixed128x48\",\"ufixed128x56\",\"ufixed128x64\",\"ufixed128x72\",\"ufixed128x80\",\"ufixed128x88\",\"ufixed128x96\",\"ufixed128x104\",\"ufixed128x112\",\"ufixed128x120\",\"ufixed128x128\",\"ufixed136x8\",\"ufixed136x16\",\"ufixed136x24\",\"ufixed136x32\",\"ufixed136x40\",\"ufixed136x48\",\"ufixed136x56\",\"ufixed136x64\",\"ufixed136x72\",\"ufixed136x80\",\"ufixed136x88\",\"ufixed136x96\",\"ufixed136x104\",\"ufixed136x112\",\"ufixed136x120\",\"ufixed144x8\",\"ufixed144x16\",\"ufixed144x24\",\"ufixed144x32\",\"ufixed144x40\",\"ufixed144x48\",\"ufixed144x56\",\"ufixed144x64\",\"ufixed144x72\",\"ufixed144x80\",\"ufixed144x88\",\"ufixed144x96\",\"ufixed144x104\",\"ufixed144x112\",\"ufixed152x8\",\"ufixed152x16\",\"ufixed152x24\",\"ufixed152x32\",\"ufixed152x40\",\"ufixed152x48\",\"ufixed152x56\",\"ufixed152x64\",\"ufixed152x72\",\"ufixed152x80\",\"ufixed152x88\",\"ufixed152x96\",\"ufixed152x104\",\"ufixed160x8\",\"ufixed160x16\",\"ufixed160x24\",\"ufixed160x32\",\"ufixed160x40\",\"ufixed160x48\",\"ufixed160x56\",\"ufixed160x64\",\"ufixed160x72\",\"ufixed160x80\",\"ufixed160x88\",\"ufixed160x96\",\"ufixed168x8\",\"ufixed168x16\",\"ufixed168x24\",\"ufixed168x32\",\"ufixed168x40\",\"ufixed168x48\",\"ufixed168x56\",\"ufixed168x64\",\"ufixed168x72\",\"ufixed168x80\",\"ufixed168x88\",\"ufixed176x8\",\"ufixed176x16\",\"ufixed176x24\",\"ufixed176x32\",\"ufixed176x40\",\"ufixed176x48\",\"ufixed176x56\",\"ufixed176x64\",\"ufixed176x72\",\"ufixed176x80\",\"ufixed184x8\",\"ufixed184x16\",\"ufixed184x24\",\"ufixed184x32\",\"ufixed184x40\",\"ufixed184x48\",\"ufixed184x56\",\"ufixed184x64\",\"ufixed184x72\",\"ufixed192x8\",\"ufixed192x16\",\"ufixed192x24\",\"ufixed192x32\",\"ufixed192x40\",\"ufixed192x48\",\"ufixed192x56\",\"ufixed192x64\",\"ufixed200x8\",\"ufixed200x16\",\"ufixed200x24\",\"ufixed200x32\",\"ufixed200x40\",\"ufixed200x48\",\"ufixed200x56\",\"ufixed208x8\",\"ufixed208x16\",\"ufixed208x24\",\"ufixed208x32\",\"ufixed208x40\",\"ufixed208x48\",\"ufixed216x8\",\"ufixed216x16\",\"ufixed216x24\",\"ufixed216x32\",\"ufixed216x40\",\"ufixed224x8\",\"ufixed224x16\",\"ufixed224x24\",\"ufixed224x32\",\"ufixed232x8\",\"ufixed232x16\",\"ufixed232x24\",\"ufixed240x8\",\"ufixed240x16\",\"ufixed248x8\",\"event\",\"enum\",\"let\",\"mapping\",\"private\",\"public\",\"external\",\"inherited\",\"payable\",\"true\",\"false\",\"var\",\"import\",\"constant\",\"if\",\"else\",\"for\",\"else\",\"for\",\"while\",\"do\",\"break\",\"continue\",\"throw\",\"returns\",\"return\",\"suicide\",\"new\",\"is\",\"this\",\"super\"],operators:[\"=\",\">\",\"<\",\"!\",\"~\",\"?\",\":\",\"==\",\"<=\",\">=\",\"!=\",\"&&\",\"||\",\"++\",\"--\",\"+\",\"-\",\"*\",\"/\",\"&\",\"|\",\"^\",\"%\",\"<<\",\">>\",\">>>\",\"+=\",\"-=\",\"*=\",\"/=\",\"&=\",\"|=\",\"^=\",\"%=\",\"<<=\",\">>=\",\">>>=\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/,floatsuffix:/[fFlL]?/,tokenizer:{root:[[/[a-zA-Z_]\\w*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/\\[\\[.*\\]\\]/,\"annotation\"],[/^\\s*#\\w+/,\"keyword\"],[/int\\d*/,\"keyword\"],[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/\\d*\\d+[eE]([\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,\"number.hex\"],[/0[0-7']*[0-7](@integersuffix)/,\"number.octal\"],[/0[bB][0-1']*[0-1](@integersuffix)/,\"number.binary\"],[/\\d[\\d']*\\d(@integersuffix)/,\"number\"],[/\\d(@integersuffix)/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@doccomment\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],doccomment:[[/[^\\/*]+/,\"comment.doc\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]]}};return a(l);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/sophia/sophia.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/sophia/sophia\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},m=(t,e,o,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of a(e))!c.call(t,n)&&n!==o&&s(t,n,{get:()=>e[n],enumerable:!(r=i(e,n))||r.enumerable});return t};var d=t=>m(s({},\"__esModule\",{value:!0}),t);var u={};l(u,{conf:()=>f,language:()=>g});var f={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"<\",\">\"]],autoClosingPairs:[{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]}]},g={defaultToken:\"\",tokenPostfix:\".aes\",brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"},{token:\"delimiter.angle\",open:\"<\",close:\">\"}],keywords:[\"contract\",\"library\",\"entrypoint\",\"function\",\"stateful\",\"state\",\"hash\",\"signature\",\"tuple\",\"list\",\"address\",\"string\",\"bool\",\"int\",\"record\",\"datatype\",\"type\",\"option\",\"oracle\",\"oracle_query\",\"Call\",\"Bits\",\"Bytes\",\"Oracle\",\"String\",\"Crypto\",\"Address\",\"Auth\",\"Chain\",\"None\",\"Some\",\"bits\",\"bytes\",\"event\",\"let\",\"map\",\"private\",\"public\",\"true\",\"false\",\"var\",\"if\",\"else\",\"throw\"],operators:[\"=\",\">\",\"<\",\"!\",\"~\",\"?\",\"::\",\":\",\"==\",\"<=\",\">=\",\"!=\",\"&&\",\"||\",\"++\",\"--\",\"+\",\"-\",\"*\",\"/\",\"&\",\"|\",\"^\",\"%\",\"<<\",\">>\",\">>>\",\"+=\",\"-=\",\"*=\",\"/=\",\"&=\",\"|=\",\"^=\",\"%=\",\"<<=\",\">>=\",\">>>=\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/,floatsuffix:/[fFlL]?/,tokenizer:{root:[[/[a-zA-Z_]\\w*/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/\\[\\[.*\\]\\]/,\"annotation\"],[/^\\s*#\\w+/,\"keyword\"],[/int\\d*/,\"keyword\"],[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/\\d*\\d+[eE]([\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/\\d*\\.\\d+([eE][\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,\"number.hex\"],[/0[0-7']*[0-7](@integersuffix)/,\"number.octal\"],[/0[bB][0-1']*[0-1](@integersuffix)/,\"number.binary\"],[/\\d[\\d']*\\d(@integersuffix)/,\"number\"],[/\\d(@integersuffix)/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string\"],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@doccomment\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],doccomment:[[/[^\\/*]+/,\"comment.doc\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]]}};return d(u);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/sparql/sparql.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/sparql/sparql\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var d=(s,e)=>{for(var n in e)o(s,n,{get:e[n],enumerable:!0})},c=(s,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of a(e))!l.call(s,t)&&t!==n&&o(s,t,{get:()=>e[t],enumerable:!(r=i(e,t))||r.enumerable});return s};var g=s=>c(o({},\"__esModule\",{value:!0}),s);var m={};d(m,{conf:()=>u,language:()=>p});var u={comments:{lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"'\",close:\"'\",notIn:[\"string\"]},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"}]},p={defaultToken:\"\",tokenPostfix:\".rq\",brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"},{token:\"delimiter.angle\",open:\"<\",close:\">\"}],keywords:[\"add\",\"as\",\"asc\",\"ask\",\"base\",\"by\",\"clear\",\"construct\",\"copy\",\"create\",\"data\",\"delete\",\"desc\",\"describe\",\"distinct\",\"drop\",\"false\",\"filter\",\"from\",\"graph\",\"group\",\"having\",\"in\",\"insert\",\"limit\",\"load\",\"minus\",\"move\",\"named\",\"not\",\"offset\",\"optional\",\"order\",\"prefix\",\"reduced\",\"select\",\"service\",\"silent\",\"to\",\"true\",\"undef\",\"union\",\"using\",\"values\",\"where\",\"with\"],builtinFunctions:[\"a\",\"abs\",\"avg\",\"bind\",\"bnode\",\"bound\",\"ceil\",\"coalesce\",\"concat\",\"contains\",\"count\",\"datatype\",\"day\",\"encode_for_uri\",\"exists\",\"floor\",\"group_concat\",\"hours\",\"if\",\"iri\",\"isblank\",\"isiri\",\"isliteral\",\"isnumeric\",\"isuri\",\"lang\",\"langmatches\",\"lcase\",\"max\",\"md5\",\"min\",\"minutes\",\"month\",\"now\",\"rand\",\"regex\",\"replace\",\"round\",\"sameterm\",\"sample\",\"seconds\",\"sha1\",\"sha256\",\"sha384\",\"sha512\",\"str\",\"strafter\",\"strbefore\",\"strdt\",\"strends\",\"strlang\",\"strlen\",\"strstarts\",\"struuid\",\"substr\",\"sum\",\"timezone\",\"tz\",\"ucase\",\"uri\",\"uuid\",\"year\"],ignoreCase:!0,tokenizer:{root:[[/<[^\\s\\u00a0>]*>?/,\"tag\"],{include:\"@strings\"},[/#.*/,\"comment\"],[/[{}()\\[\\]]/,\"@brackets\"],[/[;,.]/,\"delimiter\"],[/[_\\w\\d]+:(\\.(?=[\\w_\\-\\\\%])|[:\\w_-]|\\\\[-\\\\_~.!$&'()*+,;=/?#@%]|%[a-f\\d][a-f\\d])*/,\"tag\"],[/:(\\.(?=[\\w_\\-\\\\%])|[:\\w_-]|\\\\[-\\\\_~.!$&'()*+,;=/?#@%]|%[a-f\\d][a-f\\d])+/,\"tag\"],[/[$?]?[_\\w\\d]+/,{cases:{\"@keywords\":{token:\"keyword\"},\"@builtinFunctions\":{token:\"predefined.sql\"},\"@default\":\"identifier\"}}],[/\\^\\^/,\"operator.sql\"],[/\\^[*+\\-<>=&|^\\/!?]*/,\"operator.sql\"],[/[*+\\-<>=&|\\/!?]/,\"operator.sql\"],[/@[a-z\\d\\-]*/,\"metatag.html\"],[/\\s+/,\"white\"]],strings:[[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/'$/,\"string.sql\",\"@pop\"],[/'/,\"string.sql\",\"@stringBody\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"$/,\"string.sql\",\"@pop\"],[/\"/,\"string.sql\",\"@dblStringBody\"]],stringBody:[[/[^\\\\']+/,\"string.sql\"],[/\\\\./,\"string.escape\"],[/'/,\"string.sql\",\"@pop\"]],dblStringBody:[[/[^\\\\\"]+/,\"string.sql\"],[/\\\\./,\"string.escape\"],[/\"/,\"string.sql\",\"@pop\"]]}};return g(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/sql/sql.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/sql/sql\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var I=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var L=(T,E)=>{for(var A in E)I(T,A,{get:E[A],enumerable:!0})},e=(T,E,A,N)=>{if(E&&typeof E==\"object\"||typeof E==\"function\")for(let R of O(E))!C.call(T,R)&&R!==A&&I(T,R,{get:()=>E[R],enumerable:!(N=S(E,R))||N.enumerable});return T};var P=T=>e(I({},\"__esModule\",{value:!0}),T);var M={};L(M,{conf:()=>D,language:()=>U});var D={comments:{lineComment:\"--\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},U={defaultToken:\"\",tokenPostfix:\".sql\",ignoreCase:!0,brackets:[{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],keywords:[\"ABORT\",\"ABSOLUTE\",\"ACTION\",\"ADA\",\"ADD\",\"AFTER\",\"ALL\",\"ALLOCATE\",\"ALTER\",\"ALWAYS\",\"ANALYZE\",\"AND\",\"ANY\",\"ARE\",\"AS\",\"ASC\",\"ASSERTION\",\"AT\",\"ATTACH\",\"AUTHORIZATION\",\"AUTOINCREMENT\",\"AVG\",\"BACKUP\",\"BEFORE\",\"BEGIN\",\"BETWEEN\",\"BIT\",\"BIT_LENGTH\",\"BOTH\",\"BREAK\",\"BROWSE\",\"BULK\",\"BY\",\"CASCADE\",\"CASCADED\",\"CASE\",\"CAST\",\"CATALOG\",\"CHAR\",\"CHARACTER\",\"CHARACTER_LENGTH\",\"CHAR_LENGTH\",\"CHECK\",\"CHECKPOINT\",\"CLOSE\",\"CLUSTERED\",\"COALESCE\",\"COLLATE\",\"COLLATION\",\"COLUMN\",\"COMMIT\",\"COMPUTE\",\"CONFLICT\",\"CONNECT\",\"CONNECTION\",\"CONSTRAINT\",\"CONSTRAINTS\",\"CONTAINS\",\"CONTAINSTABLE\",\"CONTINUE\",\"CONVERT\",\"CORRESPONDING\",\"COUNT\",\"CREATE\",\"CROSS\",\"CURRENT\",\"CURRENT_DATE\",\"CURRENT_TIME\",\"CURRENT_TIMESTAMP\",\"CURRENT_USER\",\"CURSOR\",\"DATABASE\",\"DATE\",\"DAY\",\"DBCC\",\"DEALLOCATE\",\"DEC\",\"DECIMAL\",\"DECLARE\",\"DEFAULT\",\"DEFERRABLE\",\"DEFERRED\",\"DELETE\",\"DENY\",\"DESC\",\"DESCRIBE\",\"DESCRIPTOR\",\"DETACH\",\"DIAGNOSTICS\",\"DISCONNECT\",\"DISK\",\"DISTINCT\",\"DISTRIBUTED\",\"DO\",\"DOMAIN\",\"DOUBLE\",\"DROP\",\"DUMP\",\"EACH\",\"ELSE\",\"END\",\"END-EXEC\",\"ERRLVL\",\"ESCAPE\",\"EXCEPT\",\"EXCEPTION\",\"EXCLUDE\",\"EXCLUSIVE\",\"EXEC\",\"EXECUTE\",\"EXISTS\",\"EXIT\",\"EXPLAIN\",\"EXTERNAL\",\"EXTRACT\",\"FAIL\",\"FALSE\",\"FETCH\",\"FILE\",\"FILLFACTOR\",\"FILTER\",\"FIRST\",\"FLOAT\",\"FOLLOWING\",\"FOR\",\"FOREIGN\",\"FORTRAN\",\"FOUND\",\"FREETEXT\",\"FREETEXTTABLE\",\"FROM\",\"FULL\",\"FUNCTION\",\"GENERATED\",\"GET\",\"GLOB\",\"GLOBAL\",\"GO\",\"GOTO\",\"GRANT\",\"GROUP\",\"GROUPS\",\"HAVING\",\"HOLDLOCK\",\"HOUR\",\"IDENTITY\",\"IDENTITYCOL\",\"IDENTITY_INSERT\",\"IF\",\"IGNORE\",\"IMMEDIATE\",\"IN\",\"INCLUDE\",\"INDEX\",\"INDEXED\",\"INDICATOR\",\"INITIALLY\",\"INNER\",\"INPUT\",\"INSENSITIVE\",\"INSERT\",\"INSTEAD\",\"INT\",\"INTEGER\",\"INTERSECT\",\"INTERVAL\",\"INTO\",\"IS\",\"ISNULL\",\"ISOLATION\",\"JOIN\",\"KEY\",\"KILL\",\"LANGUAGE\",\"LAST\",\"LEADING\",\"LEFT\",\"LEVEL\",\"LIKE\",\"LIMIT\",\"LINENO\",\"LOAD\",\"LOCAL\",\"LOWER\",\"MATCH\",\"MATERIALIZED\",\"MAX\",\"MERGE\",\"MIN\",\"MINUTE\",\"MODULE\",\"MONTH\",\"NAMES\",\"NATIONAL\",\"NATURAL\",\"NCHAR\",\"NEXT\",\"NO\",\"NOCHECK\",\"NONCLUSTERED\",\"NONE\",\"NOT\",\"NOTHING\",\"NOTNULL\",\"NULL\",\"NULLIF\",\"NULLS\",\"NUMERIC\",\"OCTET_LENGTH\",\"OF\",\"OFF\",\"OFFSET\",\"OFFSETS\",\"ON\",\"ONLY\",\"OPEN\",\"OPENDATASOURCE\",\"OPENQUERY\",\"OPENROWSET\",\"OPENXML\",\"OPTION\",\"OR\",\"ORDER\",\"OTHERS\",\"OUTER\",\"OUTPUT\",\"OVER\",\"OVERLAPS\",\"PAD\",\"PARTIAL\",\"PARTITION\",\"PASCAL\",\"PERCENT\",\"PIVOT\",\"PLAN\",\"POSITION\",\"PRAGMA\",\"PRECEDING\",\"PRECISION\",\"PREPARE\",\"PRESERVE\",\"PRIMARY\",\"PRINT\",\"PRIOR\",\"PRIVILEGES\",\"PROC\",\"PROCEDURE\",\"PUBLIC\",\"QUERY\",\"RAISE\",\"RAISERROR\",\"RANGE\",\"READ\",\"READTEXT\",\"REAL\",\"RECONFIGURE\",\"RECURSIVE\",\"REFERENCES\",\"REGEXP\",\"REINDEX\",\"RELATIVE\",\"RELEASE\",\"RENAME\",\"REPLACE\",\"REPLICATION\",\"RESTORE\",\"RESTRICT\",\"RETURN\",\"RETURNING\",\"REVERT\",\"REVOKE\",\"RIGHT\",\"ROLLBACK\",\"ROW\",\"ROWCOUNT\",\"ROWGUIDCOL\",\"ROWS\",\"RULE\",\"SAVE\",\"SAVEPOINT\",\"SCHEMA\",\"SCROLL\",\"SECOND\",\"SECTION\",\"SECURITYAUDIT\",\"SELECT\",\"SEMANTICKEYPHRASETABLE\",\"SEMANTICSIMILARITYDETAILSTABLE\",\"SEMANTICSIMILARITYTABLE\",\"SESSION\",\"SESSION_USER\",\"SET\",\"SETUSER\",\"SHUTDOWN\",\"SIZE\",\"SMALLINT\",\"SOME\",\"SPACE\",\"SQL\",\"SQLCA\",\"SQLCODE\",\"SQLERROR\",\"SQLSTATE\",\"SQLWARNING\",\"STATISTICS\",\"SUBSTRING\",\"SUM\",\"SYSTEM_USER\",\"TABLE\",\"TABLESAMPLE\",\"TEMP\",\"TEMPORARY\",\"TEXTSIZE\",\"THEN\",\"TIES\",\"TIME\",\"TIMESTAMP\",\"TIMEZONE_HOUR\",\"TIMEZONE_MINUTE\",\"TO\",\"TOP\",\"TRAILING\",\"TRAN\",\"TRANSACTION\",\"TRANSLATE\",\"TRANSLATION\",\"TRIGGER\",\"TRIM\",\"TRUE\",\"TRUNCATE\",\"TRY_CONVERT\",\"TSEQUAL\",\"UNBOUNDED\",\"UNION\",\"UNIQUE\",\"UNKNOWN\",\"UNPIVOT\",\"UPDATE\",\"UPDATETEXT\",\"UPPER\",\"USAGE\",\"USE\",\"USER\",\"USING\",\"VACUUM\",\"VALUE\",\"VALUES\",\"VARCHAR\",\"VARYING\",\"VIEW\",\"VIRTUAL\",\"WAITFOR\",\"WHEN\",\"WHENEVER\",\"WHERE\",\"WHILE\",\"WINDOW\",\"WITH\",\"WITHIN GROUP\",\"WITHOUT\",\"WORK\",\"WRITE\",\"WRITETEXT\",\"YEAR\",\"ZONE\"],operators:[\"ALL\",\"AND\",\"ANY\",\"BETWEEN\",\"EXISTS\",\"IN\",\"LIKE\",\"NOT\",\"OR\",\"SOME\",\"EXCEPT\",\"INTERSECT\",\"UNION\",\"APPLY\",\"CROSS\",\"FULL\",\"INNER\",\"JOIN\",\"LEFT\",\"OUTER\",\"RIGHT\",\"CONTAINS\",\"FREETEXT\",\"IS\",\"NULL\",\"PIVOT\",\"UNPIVOT\",\"MATCHED\"],builtinFunctions:[\"AVG\",\"CHECKSUM_AGG\",\"COUNT\",\"COUNT_BIG\",\"GROUPING\",\"GROUPING_ID\",\"MAX\",\"MIN\",\"SUM\",\"STDEV\",\"STDEVP\",\"VAR\",\"VARP\",\"CUME_DIST\",\"FIRST_VALUE\",\"LAG\",\"LAST_VALUE\",\"LEAD\",\"PERCENTILE_CONT\",\"PERCENTILE_DISC\",\"PERCENT_RANK\",\"COLLATE\",\"COLLATIONPROPERTY\",\"TERTIARY_WEIGHTS\",\"FEDERATION_FILTERING_VALUE\",\"CAST\",\"CONVERT\",\"PARSE\",\"TRY_CAST\",\"TRY_CONVERT\",\"TRY_PARSE\",\"ASYMKEY_ID\",\"ASYMKEYPROPERTY\",\"CERTPROPERTY\",\"CERT_ID\",\"CRYPT_GEN_RANDOM\",\"DECRYPTBYASYMKEY\",\"DECRYPTBYCERT\",\"DECRYPTBYKEY\",\"DECRYPTBYKEYAUTOASYMKEY\",\"DECRYPTBYKEYAUTOCERT\",\"DECRYPTBYPASSPHRASE\",\"ENCRYPTBYASYMKEY\",\"ENCRYPTBYCERT\",\"ENCRYPTBYKEY\",\"ENCRYPTBYPASSPHRASE\",\"HASHBYTES\",\"IS_OBJECTSIGNED\",\"KEY_GUID\",\"KEY_ID\",\"KEY_NAME\",\"SIGNBYASYMKEY\",\"SIGNBYCERT\",\"SYMKEYPROPERTY\",\"VERIFYSIGNEDBYCERT\",\"VERIFYSIGNEDBYASYMKEY\",\"CURSOR_STATUS\",\"DATALENGTH\",\"IDENT_CURRENT\",\"IDENT_INCR\",\"IDENT_SEED\",\"IDENTITY\",\"SQL_VARIANT_PROPERTY\",\"CURRENT_TIMESTAMP\",\"DATEADD\",\"DATEDIFF\",\"DATEFROMPARTS\",\"DATENAME\",\"DATEPART\",\"DATETIME2FROMPARTS\",\"DATETIMEFROMPARTS\",\"DATETIMEOFFSETFROMPARTS\",\"DAY\",\"EOMONTH\",\"GETDATE\",\"GETUTCDATE\",\"ISDATE\",\"MONTH\",\"SMALLDATETIMEFROMPARTS\",\"SWITCHOFFSET\",\"SYSDATETIME\",\"SYSDATETIMEOFFSET\",\"SYSUTCDATETIME\",\"TIMEFROMPARTS\",\"TODATETIMEOFFSET\",\"YEAR\",\"CHOOSE\",\"COALESCE\",\"IIF\",\"NULLIF\",\"ABS\",\"ACOS\",\"ASIN\",\"ATAN\",\"ATN2\",\"CEILING\",\"COS\",\"COT\",\"DEGREES\",\"EXP\",\"FLOOR\",\"LOG\",\"LOG10\",\"PI\",\"POWER\",\"RADIANS\",\"RAND\",\"ROUND\",\"SIGN\",\"SIN\",\"SQRT\",\"SQUARE\",\"TAN\",\"APP_NAME\",\"APPLOCK_MODE\",\"APPLOCK_TEST\",\"ASSEMBLYPROPERTY\",\"COL_LENGTH\",\"COL_NAME\",\"COLUMNPROPERTY\",\"DATABASE_PRINCIPAL_ID\",\"DATABASEPROPERTYEX\",\"DB_ID\",\"DB_NAME\",\"FILE_ID\",\"FILE_IDEX\",\"FILE_NAME\",\"FILEGROUP_ID\",\"FILEGROUP_NAME\",\"FILEGROUPPROPERTY\",\"FILEPROPERTY\",\"FULLTEXTCATALOGPROPERTY\",\"FULLTEXTSERVICEPROPERTY\",\"INDEX_COL\",\"INDEXKEY_PROPERTY\",\"INDEXPROPERTY\",\"OBJECT_DEFINITION\",\"OBJECT_ID\",\"OBJECT_NAME\",\"OBJECT_SCHEMA_NAME\",\"OBJECTPROPERTY\",\"OBJECTPROPERTYEX\",\"ORIGINAL_DB_NAME\",\"PARSENAME\",\"SCHEMA_ID\",\"SCHEMA_NAME\",\"SCOPE_IDENTITY\",\"SERVERPROPERTY\",\"STATS_DATE\",\"TYPE_ID\",\"TYPE_NAME\",\"TYPEPROPERTY\",\"DENSE_RANK\",\"NTILE\",\"RANK\",\"ROW_NUMBER\",\"PUBLISHINGSERVERNAME\",\"OPENDATASOURCE\",\"OPENQUERY\",\"OPENROWSET\",\"OPENXML\",\"CERTENCODED\",\"CERTPRIVATEKEY\",\"CURRENT_USER\",\"HAS_DBACCESS\",\"HAS_PERMS_BY_NAME\",\"IS_MEMBER\",\"IS_ROLEMEMBER\",\"IS_SRVROLEMEMBER\",\"LOGINPROPERTY\",\"ORIGINAL_LOGIN\",\"PERMISSIONS\",\"PWDENCRYPT\",\"PWDCOMPARE\",\"SESSION_USER\",\"SESSIONPROPERTY\",\"SUSER_ID\",\"SUSER_NAME\",\"SUSER_SID\",\"SUSER_SNAME\",\"SYSTEM_USER\",\"USER\",\"USER_ID\",\"USER_NAME\",\"ASCII\",\"CHAR\",\"CHARINDEX\",\"CONCAT\",\"DIFFERENCE\",\"FORMAT\",\"LEFT\",\"LEN\",\"LOWER\",\"LTRIM\",\"NCHAR\",\"PATINDEX\",\"QUOTENAME\",\"REPLACE\",\"REPLICATE\",\"REVERSE\",\"RIGHT\",\"RTRIM\",\"SOUNDEX\",\"SPACE\",\"STR\",\"STUFF\",\"SUBSTRING\",\"UNICODE\",\"UPPER\",\"BINARY_CHECKSUM\",\"CHECKSUM\",\"CONNECTIONPROPERTY\",\"CONTEXT_INFO\",\"CURRENT_REQUEST_ID\",\"ERROR_LINE\",\"ERROR_NUMBER\",\"ERROR_MESSAGE\",\"ERROR_PROCEDURE\",\"ERROR_SEVERITY\",\"ERROR_STATE\",\"FORMATMESSAGE\",\"GETANSINULL\",\"GET_FILESTREAM_TRANSACTION_CONTEXT\",\"HOST_ID\",\"HOST_NAME\",\"ISNULL\",\"ISNUMERIC\",\"MIN_ACTIVE_ROWVERSION\",\"NEWID\",\"NEWSEQUENTIALID\",\"ROWCOUNT_BIG\",\"XACT_STATE\",\"TEXTPTR\",\"TEXTVALID\",\"COLUMNS_UPDATED\",\"EVENTDATA\",\"TRIGGER_NESTLEVEL\",\"UPDATE\",\"CHANGETABLE\",\"CHANGE_TRACKING_CONTEXT\",\"CHANGE_TRACKING_CURRENT_VERSION\",\"CHANGE_TRACKING_IS_COLUMN_IN_MASK\",\"CHANGE_TRACKING_MIN_VALID_VERSION\",\"CONTAINSTABLE\",\"FREETEXTTABLE\",\"SEMANTICKEYPHRASETABLE\",\"SEMANTICSIMILARITYDETAILSTABLE\",\"SEMANTICSIMILARITYTABLE\",\"FILETABLEROOTPATH\",\"GETFILENAMESPACEPATH\",\"GETPATHLOCATOR\",\"PATHNAME\",\"GET_TRANSMISSION_STATUS\"],builtinVariables:[\"@@DATEFIRST\",\"@@DBTS\",\"@@LANGID\",\"@@LANGUAGE\",\"@@LOCK_TIMEOUT\",\"@@MAX_CONNECTIONS\",\"@@MAX_PRECISION\",\"@@NESTLEVEL\",\"@@OPTIONS\",\"@@REMSERVER\",\"@@SERVERNAME\",\"@@SERVICENAME\",\"@@SPID\",\"@@TEXTSIZE\",\"@@VERSION\",\"@@CURSOR_ROWS\",\"@@FETCH_STATUS\",\"@@DATEFIRST\",\"@@PROCID\",\"@@ERROR\",\"@@IDENTITY\",\"@@ROWCOUNT\",\"@@TRANCOUNT\",\"@@CONNECTIONS\",\"@@CPU_BUSY\",\"@@IDLE\",\"@@IO_BUSY\",\"@@PACKET_ERRORS\",\"@@PACK_RECEIVED\",\"@@PACK_SENT\",\"@@TIMETICKS\",\"@@TOTAL_ERRORS\",\"@@TOTAL_READ\",\"@@TOTAL_WRITE\"],pseudoColumns:[\"$ACTION\",\"$IDENTITY\",\"$ROWGUID\",\"$PARTITION\"],tokenizer:{root:[{include:\"@comments\"},{include:\"@whitespace\"},{include:\"@pseudoColumns\"},{include:\"@numbers\"},{include:\"@strings\"},{include:\"@complexIdentifiers\"},{include:\"@scopes\"},[/[;,.]/,\"delimiter\"],[/[()]/,\"@brackets\"],[/[\\w@#$]+/,{cases:{\"@operators\":\"operator\",\"@builtinVariables\":\"predefined\",\"@builtinFunctions\":\"predefined\",\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}],[/[<>=!%&+\\-*/|~^]/,\"operator\"]],whitespace:[[/\\s+/,\"white\"]],comments:[[/--+.*/,\"comment\"],[/\\/\\*/,{token:\"comment.quote\",next:\"@comment\"}]],comment:[[/[^*/]+/,\"comment\"],[/\\*\\//,{token:\"comment.quote\",next:\"@pop\"}],[/./,\"comment\"]],pseudoColumns:[[/[$][A-Za-z_][\\w@#$]*/,{cases:{\"@pseudoColumns\":\"predefined\",\"@default\":\"identifier\"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,\"number\"],[/[$][+-]*\\d*(\\.\\d*)?/,\"number\"],[/((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\-+]?\\d+)?/,\"number\"]],strings:[[/N'/,{token:\"string\",next:\"@string\"}],[/'/,{token:\"string\",next:\"@string\"}]],string:[[/[^']+/,\"string\"],[/''/,\"string\"],[/'/,{token:\"string\",next:\"@pop\"}]],complexIdentifiers:[[/\\[/,{token:\"identifier.quote\",next:\"@bracketedIdentifier\"}],[/\"/,{token:\"identifier.quote\",next:\"@quotedIdentifier\"}]],bracketedIdentifier:[[/[^\\]]+/,\"identifier\"],[/]]/,\"identifier\"],[/]/,{token:\"identifier.quote\",next:\"@pop\"}]],quotedIdentifier:[[/[^\"]+/,\"identifier\"],[/\"\"/,\"identifier\"],[/\"/,{token:\"identifier.quote\",next:\"@pop\"}]],scopes:[[/BEGIN\\s+(DISTRIBUTED\\s+)?TRAN(SACTION)?\\b/i,\"keyword\"],[/BEGIN\\s+TRY\\b/i,{token:\"keyword.try\"}],[/END\\s+TRY\\b/i,{token:\"keyword.try\"}],[/BEGIN\\s+CATCH\\b/i,{token:\"keyword.catch\"}],[/END\\s+CATCH\\b/i,{token:\"keyword.catch\"}],[/(BEGIN|CASE)\\b/i,{token:\"keyword.block\"}],[/END\\b/i,{token:\"keyword.block\"}],[/WHEN\\b/i,{token:\"keyword.choice\"}],[/THEN\\b/i,{token:\"keyword.choice\"}]]}};return P(M);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/st/st.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/st/st\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var d=(n,e)=>{for(var t in e)r(n,t,{get:e[t],enumerable:!0})},l=(n,e,t,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of c(e))!i.call(n,o)&&o!==t&&r(n,o,{get:()=>e[o],enumerable:!(a=s(e,o))||a.enumerable});return n};var _=n=>l(r({},\"__esModule\",{value:!0}),n);var m={};d(m,{conf:()=>p,language:()=>u});var p={comments:{lineComment:\"//\",blockComment:[\"(*\",\"*)\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"var\",\"end_var\"],[\"var_input\",\"end_var\"],[\"var_output\",\"end_var\"],[\"var_in_out\",\"end_var\"],[\"var_temp\",\"end_var\"],[\"var_global\",\"end_var\"],[\"var_access\",\"end_var\"],[\"var_external\",\"end_var\"],[\"type\",\"end_type\"],[\"struct\",\"end_struct\"],[\"program\",\"end_program\"],[\"function\",\"end_function\"],[\"function_block\",\"end_function_block\"],[\"action\",\"end_action\"],[\"step\",\"end_step\"],[\"initial_step\",\"end_step\"],[\"transaction\",\"end_transaction\"],[\"configuration\",\"end_configuration\"],[\"tcp\",\"end_tcp\"],[\"recource\",\"end_recource\"],[\"channel\",\"end_channel\"],[\"library\",\"end_library\"],[\"folder\",\"end_folder\"],[\"binaries\",\"end_binaries\"],[\"includes\",\"end_includes\"],[\"sources\",\"end_sources\"]],autoClosingPairs:[{open:\"[\",close:\"]\"},{open:\"{\",close:\"}\"},{open:\"(\",close:\")\"},{open:\"/*\",close:\"*/\"},{open:\"'\",close:\"'\",notIn:[\"string_sq\"]},{open:'\"',close:'\"',notIn:[\"string_dq\"]},{open:\"var_input\",close:\"end_var\"},{open:\"var_output\",close:\"end_var\"},{open:\"var_in_out\",close:\"end_var\"},{open:\"var_temp\",close:\"end_var\"},{open:\"var_global\",close:\"end_var\"},{open:\"var_access\",close:\"end_var\"},{open:\"var_external\",close:\"end_var\"},{open:\"type\",close:\"end_type\"},{open:\"struct\",close:\"end_struct\"},{open:\"program\",close:\"end_program\"},{open:\"function\",close:\"end_function\"},{open:\"function_block\",close:\"end_function_block\"},{open:\"action\",close:\"end_action\"},{open:\"step\",close:\"end_step\"},{open:\"initial_step\",close:\"end_step\"},{open:\"transaction\",close:\"end_transaction\"},{open:\"configuration\",close:\"end_configuration\"},{open:\"tcp\",close:\"end_tcp\"},{open:\"recource\",close:\"end_recource\"},{open:\"channel\",close:\"end_channel\"},{open:\"library\",close:\"end_library\"},{open:\"folder\",close:\"end_folder\"},{open:\"binaries\",close:\"end_binaries\"},{open:\"includes\",close:\"end_includes\"},{open:\"sources\",close:\"end_sources\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"var\",close:\"end_var\"},{open:\"var_input\",close:\"end_var\"},{open:\"var_output\",close:\"end_var\"},{open:\"var_in_out\",close:\"end_var\"},{open:\"var_temp\",close:\"end_var\"},{open:\"var_global\",close:\"end_var\"},{open:\"var_access\",close:\"end_var\"},{open:\"var_external\",close:\"end_var\"},{open:\"type\",close:\"end_type\"},{open:\"struct\",close:\"end_struct\"},{open:\"program\",close:\"end_program\"},{open:\"function\",close:\"end_function\"},{open:\"function_block\",close:\"end_function_block\"},{open:\"action\",close:\"end_action\"},{open:\"step\",close:\"end_step\"},{open:\"initial_step\",close:\"end_step\"},{open:\"transaction\",close:\"end_transaction\"},{open:\"configuration\",close:\"end_configuration\"},{open:\"tcp\",close:\"end_tcp\"},{open:\"recource\",close:\"end_recource\"},{open:\"channel\",close:\"end_channel\"},{open:\"library\",close:\"end_library\"},{open:\"folder\",close:\"end_folder\"},{open:\"binaries\",close:\"end_binaries\"},{open:\"includes\",close:\"end_includes\"},{open:\"sources\",close:\"end_sources\"}],folding:{markers:{start:new RegExp(\"^\\\\s*#pragma\\\\s+region\\\\b\"),end:new RegExp(\"^\\\\s*#pragma\\\\s+endregion\\\\b\")}}},u={defaultToken:\"\",tokenPostfix:\".st\",ignoreCase:!0,brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"}],keywords:[\"if\",\"end_if\",\"elsif\",\"else\",\"case\",\"of\",\"to\",\"__try\",\"__catch\",\"__finally\",\"do\",\"with\",\"by\",\"while\",\"repeat\",\"end_while\",\"end_repeat\",\"end_case\",\"for\",\"end_for\",\"task\",\"retain\",\"non_retain\",\"constant\",\"with\",\"at\",\"exit\",\"return\",\"interval\",\"priority\",\"address\",\"port\",\"on_channel\",\"then\",\"iec\",\"file\",\"uses\",\"version\",\"packagetype\",\"displayname\",\"copyright\",\"summary\",\"vendor\",\"common_source\",\"from\",\"extends\",\"implements\"],constant:[\"false\",\"true\",\"null\"],defineKeywords:[\"var\",\"var_input\",\"var_output\",\"var_in_out\",\"var_temp\",\"var_global\",\"var_access\",\"var_external\",\"end_var\",\"type\",\"end_type\",\"struct\",\"end_struct\",\"program\",\"end_program\",\"function\",\"end_function\",\"function_block\",\"end_function_block\",\"interface\",\"end_interface\",\"method\",\"end_method\",\"property\",\"end_property\",\"namespace\",\"end_namespace\",\"configuration\",\"end_configuration\",\"tcp\",\"end_tcp\",\"resource\",\"end_resource\",\"channel\",\"end_channel\",\"library\",\"end_library\",\"folder\",\"end_folder\",\"binaries\",\"end_binaries\",\"includes\",\"end_includes\",\"sources\",\"end_sources\",\"action\",\"end_action\",\"step\",\"initial_step\",\"end_step\",\"transaction\",\"end_transaction\"],typeKeywords:[\"int\",\"sint\",\"dint\",\"lint\",\"usint\",\"uint\",\"udint\",\"ulint\",\"real\",\"lreal\",\"time\",\"date\",\"time_of_day\",\"date_and_time\",\"string\",\"bool\",\"byte\",\"word\",\"dword\",\"array\",\"pointer\",\"lword\"],operators:[\"=\",\">\",\"<\",\":\",\":=\",\"<=\",\">=\",\"<>\",\"&\",\"+\",\"-\",\"*\",\"**\",\"MOD\",\"^\",\"or\",\"and\",\"not\",\"xor\",\"abs\",\"acos\",\"asin\",\"atan\",\"cos\",\"exp\",\"expt\",\"ln\",\"log\",\"sin\",\"sqrt\",\"tan\",\"sel\",\"max\",\"min\",\"limit\",\"mux\",\"shl\",\"shr\",\"rol\",\"ror\",\"indexof\",\"sizeof\",\"adr\",\"adrinst\",\"bitadr\",\"is_valid\",\"ref\",\"ref_to\"],builtinVariables:[],builtinFunctions:[\"sr\",\"rs\",\"tp\",\"ton\",\"tof\",\"eq\",\"ge\",\"le\",\"lt\",\"ne\",\"round\",\"trunc\",\"ctd\",\"\\u0441tu\",\"ctud\",\"r_trig\",\"f_trig\",\"move\",\"concat\",\"delete\",\"find\",\"insert\",\"left\",\"len\",\"replace\",\"right\",\"rtc\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/(\\.\\.)/,\"delimiter\"],[/\\b(16#[0-9A-Fa-f\\_]*)+\\b/,\"number.hex\"],[/\\b(2#[01\\_]+)+\\b/,\"number.binary\"],[/\\b(8#[0-9\\_]*)+\\b/,\"number.octal\"],[/\\b\\d*\\.\\d+([eE][\\-+]?\\d+)?\\b/,\"number.float\"],[/\\b(L?REAL)#[0-9\\_\\.e]+\\b/,\"number.float\"],[/\\b(BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT)#[0-9\\_]+\\b/,\"number\"],[/\\d+/,\"number\"],[/\\b(T|DT|TOD)#[0-9:-_shmyd]+\\b/,\"tag\"],[/\\%(I|Q|M)(X|B|W|D|L)[0-9\\.]+/,\"tag\"],[/\\%(I|Q|M)[0-9\\.]*/,\"tag\"],[/\\b[A-Za-z]{1,6}#[0-9]+\\b/,\"tag\"],[/\\b(TO_|CTU_|CTD_|CTUD_|MUX_|SEL_)[A_Za-z]+\\b/,\"predefined\"],[/\\b[A_Za-z]+(_TO_)[A_Za-z]+\\b/,\"predefined\"],[/[;]/,\"delimiter\"],[/[.]/,{token:\"delimiter\",next:\"@params\"}],[/[a-zA-Z_]\\w*/,{cases:{\"@operators\":\"operators\",\"@keywords\":\"keyword\",\"@typeKeywords\":\"type\",\"@defineKeywords\":\"variable\",\"@constant\":\"constant\",\"@builtinVariables\":\"predefined\",\"@builtinFunctions\":\"predefined\",\"@default\":\"identifier\"}}],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@string_dq\"}],[/'/,{token:\"string.quote\",bracket:\"@open\",next:\"@string_sq\"}],[/'[^\\\\']'/,\"string\"],[/(')(@escapes)(')/,[\"string\",\"string.escape\",\"string\"]],[/'/,\"string.invalid\"]],params:[[/\\b[A-Za-z0-9_]+\\b(?=\\()/,{token:\"identifier\",next:\"@pop\"}],[/\\b[A-Za-z0-9_]+\\b/,\"variable.name\",\"@pop\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\/\\*/,\"comment\",\"@push\"],[\"\\\\*/\",\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],comment2:[[/[^\\(*]+/,\"comment\"],[/\\(\\*/,\"comment\",\"@push\"],[\"\\\\*\\\\)\",\"comment\",\"@pop\"],[/[\\(*]/,\"comment\"]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/\\/\\/.*$/,\"comment\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\(\\*/,\"comment\",\"@comment2\"]],string_dq:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],string_sq:[[/[^\\\\']+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/'/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]]}};return _(m);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/swift/swift.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/swift/swift\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var n in e)i(o,n,{get:e[n],enumerable:!0})},u=(o,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of s(e))!l.call(o,t)&&t!==n&&i(o,t,{get:()=>e[t],enumerable:!(r=a(e,t))||r.enumerable});return o};var d=o=>u(i({},\"__esModule\",{value:!0}),o);var f={};c(f,{conf:()=>p,language:()=>m});var p={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}]},m={defaultToken:\"\",tokenPostfix:\".swift\",identifier:/[a-zA-Z_][\\w$]*/,attributes:[\"@GKInspectable\",\"@IBAction\",\"@IBDesignable\",\"@IBInspectable\",\"@IBOutlet\",\"@IBSegueAction\",\"@NSApplicationMain\",\"@NSCopying\",\"@NSManaged\",\"@Sendable\",\"@UIApplicationMain\",\"@autoclosure\",\"@actorIndependent\",\"@asyncHandler\",\"@available\",\"@convention\",\"@derivative\",\"@differentiable\",\"@discardableResult\",\"@dynamicCallable\",\"@dynamicMemberLookup\",\"@escaping\",\"@frozen\",\"@globalActor\",\"@inlinable\",\"@inline\",\"@main\",\"@noDerivative\",\"@nonobjc\",\"@noreturn\",\"@objc\",\"@objcMembers\",\"@preconcurrency\",\"@propertyWrapper\",\"@requires_stored_property_inits\",\"@resultBuilder\",\"@testable\",\"@unchecked\",\"@unknown\",\"@usableFromInline\",\"@warn_unqualified_access\"],accessmodifiers:[\"open\",\"public\",\"internal\",\"fileprivate\",\"private\"],keywords:[\"#available\",\"#colorLiteral\",\"#column\",\"#dsohandle\",\"#else\",\"#elseif\",\"#endif\",\"#error\",\"#file\",\"#fileID\",\"#fileLiteral\",\"#filePath\",\"#function\",\"#if\",\"#imageLiteral\",\"#keyPath\",\"#line\",\"#selector\",\"#sourceLocation\",\"#warning\",\"Any\",\"Protocol\",\"Self\",\"Type\",\"actor\",\"as\",\"assignment\",\"associatedtype\",\"associativity\",\"async\",\"await\",\"break\",\"case\",\"catch\",\"class\",\"continue\",\"convenience\",\"default\",\"defer\",\"deinit\",\"didSet\",\"do\",\"dynamic\",\"dynamicType\",\"else\",\"enum\",\"extension\",\"fallthrough\",\"false\",\"fileprivate\",\"final\",\"for\",\"func\",\"get\",\"guard\",\"higherThan\",\"if\",\"import\",\"in\",\"indirect\",\"infix\",\"init\",\"inout\",\"internal\",\"is\",\"isolated\",\"lazy\",\"left\",\"let\",\"lowerThan\",\"mutating\",\"nil\",\"none\",\"nonisolated\",\"nonmutating\",\"open\",\"operator\",\"optional\",\"override\",\"postfix\",\"precedence\",\"precedencegroup\",\"prefix\",\"private\",\"protocol\",\"public\",\"repeat\",\"required\",\"rethrows\",\"return\",\"right\",\"safe\",\"self\",\"set\",\"some\",\"static\",\"struct\",\"subscript\",\"super\",\"switch\",\"throw\",\"throws\",\"true\",\"try\",\"typealias\",\"unowned\",\"unsafe\",\"var\",\"weak\",\"where\",\"while\",\"willSet\",\"__consuming\",\"__owned\"],symbols:/[=(){}\\[\\].,:;@#\\_&\\-<>`?!+*\\\\\\/]/,operatorstart:/[\\/=\\-+!*%<>&|^~?\\u00A1-\\u00A7\\u00A9\\u00AB\\u00AC\\u00AE\\u00B0-\\u00B1\\u00B6\\u00BB\\u00BF\\u00D7\\u00F7\\u2016-\\u2017\\u2020-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u23FF\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3030]/,operatorend:/[\\u0300-\\u036F\\u1DC0-\\u1DFF\\u20D0-\\u20FF\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uE0100-\\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:\"@whitespace\"},{include:\"@comment\"},{include:\"@attribute\"},{include:\"@literal\"},{include:\"@keyword\"},{include:\"@invokedmethod\"},{include:\"@symbol\"}],whitespace:[[/\\s+/,\"white\"],[/\"\"\"/,\"string.quote\",\"@endDblDocString\"]],endDblDocString:[[/[^\"]+/,\"string\"],[/\\\\\"/,\"string\"],[/\"\"\"/,\"string.quote\",\"@popall\"],[/\"/,\"string\"]],symbol:[[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/[.]/,\"delimiter\"],[/@operators/,\"operator\"],[/@symbols/,\"operator\"]],comment:[[/\\/\\/\\/.*$/,\"comment.doc\"],[/\\/\\*\\*/,\"comment.doc\",\"@commentdocbody\"],[/\\/\\/.*$/,\"comment\"],[/\\/\\*/,\"comment\",\"@commentbody\"]],commentdocbody:[[/\\/\\*/,\"comment\",\"@commentbody\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/\\:[a-zA-Z]+\\:/,\"comment.doc.param\"],[/./,\"comment.doc\"]],commentbody:[[/\\/\\*/,\"comment\",\"@commentbody\"],[/\\*\\//,\"comment\",\"@pop\"],[/./,\"comment\"]],attribute:[[/@@@identifier/,{cases:{\"@attributes\":\"keyword.control\",\"@default\":\"\"}}]],literal:[[/\"/,{token:\"string.quote\",next:\"@stringlit\"}],[/0[b]([01]_?)+/,\"number.binary\"],[/0[o]([0-7]_?)+/,\"number.octal\"],[/0[x]([0-9a-fA-F]_?)+([pP][\\-+](\\d_?)+)?/,\"number.hex\"],[/(\\d_?)*\\.(\\d_?)+([eE][\\-+]?(\\d_?)+)?/,\"number.float\"],[/(\\d_?)+/,\"number\"]],stringlit:[[/\\\\\\(/,{token:\"operator\",next:\"@interpolatedexpression\"}],[/@escapes/,\"string\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,{token:\"string.quote\",next:\"@pop\"}],[/./,\"string\"]],interpolatedexpression:[[/\\(/,{token:\"operator\",next:\"@interpolatedexpression\"}],[/\\)/,{token:\"operator\",next:\"@pop\"}],{include:\"@literal\"},{include:\"@keyword\"},{include:\"@symbol\"}],keyword:[[/`/,{token:\"operator\",next:\"@escapedkeyword\"}],[/@identifier/,{cases:{\"@keywords\":\"keyword\",\"[A-Z][a-zA-Z0-9$]*\":\"type.identifier\",\"@default\":\"identifier\"}}]],escapedkeyword:[[/`/,{token:\"operator\",next:\"@pop\"}],[/./,\"identifier\"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:[\"delimeter\",\"type.identifier\"],\"@default\":\"\"}}]]}};return d(f);})();\n/*!---------------------------------------------------------------------------------------------\n *  Copyright (C) David Owens II, owensd.io. All rights reserved.\n *--------------------------------------------------------------------------------------------*/\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/systemverilog/systemverilog.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/systemverilog/systemverilog\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var d=(n,e)=>{for(var t in e)r(n,t,{get:e[t],enumerable:!0})},l=(n,e,t,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of a(e))!c.call(n,i)&&i!==t&&r(n,i,{get:()=>e[i],enumerable:!(o=s(e,i))||o.enumerable});return n};var p=n=>l(r({},\"__esModule\",{value:!0}),n);var f={};d(f,{conf:()=>u,language:()=>m});var u={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"begin\",\"end\"],[\"case\",\"endcase\"],[\"casex\",\"endcase\"],[\"casez\",\"endcase\"],[\"checker\",\"endchecker\"],[\"class\",\"endclass\"],[\"clocking\",\"endclocking\"],[\"config\",\"endconfig\"],[\"function\",\"endfunction\"],[\"generate\",\"endgenerate\"],[\"group\",\"endgroup\"],[\"interface\",\"endinterface\"],[\"module\",\"endmodule\"],[\"package\",\"endpackage\"],[\"primitive\",\"endprimitive\"],[\"program\",\"endprogram\"],[\"property\",\"endproperty\"],[\"specify\",\"endspecify\"],[\"sequence\",\"endsequence\"],[\"table\",\"endtable\"],[\"task\",\"endtask\"]],autoClosingPairs:[{open:\"[\",close:\"]\"},{open:\"{\",close:\"}\"},{open:\"(\",close:\")\"},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{offSide:!1,markers:{start:new RegExp(\"^(?:\\\\s*|.*(?!\\\\/[\\\\/\\\\*])[^\\\\w])(?:begin|case(x|z)?|class|clocking|config|covergroup|function|generate|interface|module|package|primitive|property|program|sequence|specify|table|task)\\\\b\"),end:new RegExp(\"^(?:\\\\s*|.*(?!\\\\/[\\\\/\\\\*])[^\\\\w])(?:end|endcase|endclass|endclocking|endconfig|endgroup|endfunction|endgenerate|endinterface|endmodule|endpackage|endprimitive|endproperty|endprogram|endsequence|endspecify|endtable|endtask)\\\\b\")}}},m={defaultToken:\"\",tokenPostfix:\".sv\",brackets:[{token:\"delimiter.curly\",open:\"{\",close:\"}\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"},{token:\"delimiter.angle\",open:\"<\",close:\">\"}],keywords:[\"accept_on\",\"alias\",\"always\",\"always_comb\",\"always_ff\",\"always_latch\",\"and\",\"assert\",\"assign\",\"assume\",\"automatic\",\"before\",\"begin\",\"bind\",\"bins\",\"binsof\",\"bit\",\"break\",\"buf\",\"bufif0\",\"bufif1\",\"byte\",\"case\",\"casex\",\"casez\",\"cell\",\"chandle\",\"checker\",\"class\",\"clocking\",\"cmos\",\"config\",\"const\",\"constraint\",\"context\",\"continue\",\"cover\",\"covergroup\",\"coverpoint\",\"cross\",\"deassign\",\"default\",\"defparam\",\"design\",\"disable\",\"dist\",\"do\",\"edge\",\"else\",\"end\",\"endcase\",\"endchecker\",\"endclass\",\"endclocking\",\"endconfig\",\"endfunction\",\"endgenerate\",\"endgroup\",\"endinterface\",\"endmodule\",\"endpackage\",\"endprimitive\",\"endprogram\",\"endproperty\",\"endspecify\",\"endsequence\",\"endtable\",\"endtask\",\"enum\",\"event\",\"eventually\",\"expect\",\"export\",\"extends\",\"extern\",\"final\",\"first_match\",\"for\",\"force\",\"foreach\",\"forever\",\"fork\",\"forkjoin\",\"function\",\"generate\",\"genvar\",\"global\",\"highz0\",\"highz1\",\"if\",\"iff\",\"ifnone\",\"ignore_bins\",\"illegal_bins\",\"implements\",\"implies\",\"import\",\"incdir\",\"include\",\"initial\",\"inout\",\"input\",\"inside\",\"instance\",\"int\",\"integer\",\"interconnect\",\"interface\",\"intersect\",\"join\",\"join_any\",\"join_none\",\"large\",\"let\",\"liblist\",\"library\",\"local\",\"localparam\",\"logic\",\"longint\",\"macromodule\",\"matches\",\"medium\",\"modport\",\"module\",\"nand\",\"negedge\",\"nettype\",\"new\",\"nexttime\",\"nmos\",\"nor\",\"noshowcancelled\",\"not\",\"notif0\",\"notif1\",\"null\",\"or\",\"output\",\"package\",\"packed\",\"parameter\",\"pmos\",\"posedge\",\"primitive\",\"priority\",\"program\",\"property\",\"protected\",\"pull0\",\"pull1\",\"pulldown\",\"pullup\",\"pulsestyle_ondetect\",\"pulsestyle_onevent\",\"pure\",\"rand\",\"randc\",\"randcase\",\"randsequence\",\"rcmos\",\"real\",\"realtime\",\"ref\",\"reg\",\"reject_on\",\"release\",\"repeat\",\"restrict\",\"return\",\"rnmos\",\"rpmos\",\"rtran\",\"rtranif0\",\"rtranif1\",\"s_always\",\"s_eventually\",\"s_nexttime\",\"s_until\",\"s_until_with\",\"scalared\",\"sequence\",\"shortint\",\"shortreal\",\"showcancelled\",\"signed\",\"small\",\"soft\",\"solve\",\"specify\",\"specparam\",\"static\",\"string\",\"strong\",\"strong0\",\"strong1\",\"struct\",\"super\",\"supply0\",\"supply1\",\"sync_accept_on\",\"sync_reject_on\",\"table\",\"tagged\",\"task\",\"this\",\"throughout\",\"time\",\"timeprecision\",\"timeunit\",\"tran\",\"tranif0\",\"tranif1\",\"tri\",\"tri0\",\"tri1\",\"triand\",\"trior\",\"trireg\",\"type\",\"typedef\",\"union\",\"unique\",\"unique0\",\"unsigned\",\"until\",\"until_with\",\"untyped\",\"use\",\"uwire\",\"var\",\"vectored\",\"virtual\",\"void\",\"wait\",\"wait_order\",\"wand\",\"weak\",\"weak0\",\"weak1\",\"while\",\"wildcard\",\"wire\",\"with\",\"within\",\"wor\",\"xnor\",\"xor\"],builtin_gates:[\"and\",\"nand\",\"nor\",\"or\",\"xor\",\"xnor\",\"buf\",\"not\",\"bufif0\",\"bufif1\",\"notif1\",\"notif0\",\"cmos\",\"nmos\",\"pmos\",\"rcmos\",\"rnmos\",\"rpmos\",\"tran\",\"tranif1\",\"tranif0\",\"rtran\",\"rtranif1\",\"rtranif0\"],operators:[\"=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"|=\",\"^=\",\"<<=\",\">>+\",\"<<<=\",\">>>=\",\"?\",\":\",\"+\",\"-\",\"!\",\"~\",\"&\",\"~&\",\"|\",\"~|\",\"^\",\"~^\",\"^~\",\"+\",\"-\",\"*\",\"/\",\"%\",\"==\",\"!=\",\"===\",\"!==\",\"==?\",\"!=?\",\"&&\",\"||\",\"**\",\"<\",\"<=\",\">\",\">=\",\"&\",\"|\",\"^\",\">>\",\"<<\",\">>>\",\"<<<\",\"++\",\"--\",\"->\",\"<->\",\"inside\",\"dist\",\"::\",\"+:\",\"-:\",\"*>\",\"&&&\",\"|->\",\"|=>\",\"#=#\"],symbols:/[=><!~?:&|+\\-*\\/\\^%#]+/,escapes:/%%|\\\\(?:[antvf\\\\\"']|x[0-9A-Fa-f]{1,2}|[0-7]{1,3})/,identifier:/(?:[a-zA-Z_][a-zA-Z0-9_$\\.]*|\\\\\\S+ )/,systemcall:/[$][a-zA-Z0-9_]+/,timeunits:/s|ms|us|ns|ps|fs/,tokenizer:{root:[[/^(\\s*)(@identifier)/,[\"\",{cases:{\"@builtin_gates\":{token:\"keyword.$2\",next:\"@module_instance\"},table:{token:\"keyword.$2\",next:\"@table\"},\"@keywords\":{token:\"keyword.$2\"},\"@default\":{token:\"identifier\",next:\"@module_instance\"}}}]],[/^\\s*`include/,{token:\"keyword.directive.include\",next:\"@include\"}],[/^\\s*`\\s*\\w+/,\"keyword\"],{include:\"@identifier_or_keyword\"},{include:\"@whitespace\"},[/\\(\\*.*\\*\\)/,\"annotation\"],[/@systemcall/,\"variable.predefined\"],[/[{}()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],{include:\"@numbers\"},[/[;,.]/,\"delimiter\"],{include:\"@strings\"}],identifier_or_keyword:[[/@identifier/,{cases:{\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}]],numbers:[[/\\d+?[\\d_]*(?:\\.[\\d_]+)?[eE][\\-+]?\\d+/,\"number.float\"],[/\\d+?[\\d_]*\\.[\\d_]+(?:\\s*@timeunits)?/,\"number.float\"],[/(?:\\d+?[\\d_]*\\s*)?'[sS]?[dD]\\s*[0-9xXzZ?]+?[0-9xXzZ?_]*/,\"number\"],[/(?:\\d+?[\\d_]*\\s*)?'[sS]?[bB]\\s*[0-1xXzZ?]+?[0-1xXzZ?_]*/,\"number.binary\"],[/(?:\\d+?[\\d_]*\\s*)?'[sS]?[oO]\\s*[0-7xXzZ?]+?[0-7xXzZ?_]*/,\"number.octal\"],[/(?:\\d+?[\\d_]*\\s*)?'[sS]?[hH]\\s*[0-9a-fA-FxXzZ?]+?[0-9a-fA-FxXzZ?_]*/,\"number.hex\"],[/1step/,\"number\"],[/[\\dxXzZ]+?[\\dxXzZ_]*(?:\\s*@timeunits)?/,\"number\"],[/'[01xXzZ]+/,\"number\"]],module_instance:[{include:\"@whitespace\"},[/(#?)(\\()/,[\"\",{token:\"@brackets\",next:\"@port_connection\"}]],[/@identifier\\s*[;={}\\[\\],]/,{token:\"@rematch\",next:\"@pop\"}],[/@symbols|[;={}\\[\\],]/,{token:\"@rematch\",next:\"@pop\"}],[/@identifier/,\"type\"],[/;/,\"delimiter\",\"@pop\"]],port_connection:[{include:\"@identifier_or_keyword\"},{include:\"@whitespace\"},[/@systemcall/,\"variable.predefined\"],{include:\"@numbers\"},{include:\"@strings\"},[/[,]/,\"delimiter\"],[/\\(/,\"@brackets\",\"@port_connection\"],[/\\)/,\"@brackets\",\"@pop\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],strings:[[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string\"]],string:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],include:[[/(\\s*)(\")([\\w*\\/*]*)(.\\w*)(\")/,[\"\",\"string.include.identifier\",\"string.include.identifier\",\"string.include.identifier\",{token:\"string.include.identifier\",next:\"@pop\"}]],[/(\\s*)(<)([\\w*\\/*]*)(.\\w*)(>)/,[\"\",\"string.include.identifier\",\"string.include.identifier\",\"string.include.identifier\",{token:\"string.include.identifier\",next:\"@pop\"}]]],table:[{include:\"@whitespace\"},[/[()]/,\"@brackets\"],[/[:;]/,\"delimiter\"],[/[01\\-*?xXbBrRfFpPnN]/,\"variable.predefined\"],[\"endtable\",\"keyword.endtable\",\"@pop\"]]}};return p(f);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/tcl/tcl.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/tcl/tcl\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},p=(t,e,o,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of a(e))!l.call(t,n)&&n!==o&&s(t,n,{get:()=>e[n],enumerable:!(i=r(e,n))||i.enumerable});return t};var u=t=>p(s({},\"__esModule\",{value:!0}),t);var g={};c(g,{conf:()=>k,language:()=>d});var k={brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}]},d={tokenPostfix:\".tcl\",specialFunctions:[\"set\",\"unset\",\"rename\",\"variable\",\"proc\",\"coroutine\",\"foreach\",\"incr\",\"append\",\"lappend\",\"linsert\",\"lreplace\"],mainFunctions:[\"if\",\"then\",\"elseif\",\"else\",\"case\",\"switch\",\"while\",\"for\",\"break\",\"continue\",\"return\",\"package\",\"namespace\",\"catch\",\"exit\",\"eval\",\"expr\",\"uplevel\",\"upvar\"],builtinFunctions:[\"file\",\"info\",\"concat\",\"join\",\"lindex\",\"list\",\"llength\",\"lrange\",\"lsearch\",\"lsort\",\"split\",\"array\",\"parray\",\"binary\",\"format\",\"regexp\",\"regsub\",\"scan\",\"string\",\"subst\",\"dict\",\"cd\",\"clock\",\"exec\",\"glob\",\"pid\",\"pwd\",\"close\",\"eof\",\"fblocked\",\"fconfigure\",\"fcopy\",\"fileevent\",\"flush\",\"gets\",\"open\",\"puts\",\"read\",\"seek\",\"socket\",\"tell\",\"interp\",\"after\",\"auto_execok\",\"auto_load\",\"auto_mkindex\",\"auto_reset\",\"bgerror\",\"error\",\"global\",\"history\",\"load\",\"source\",\"time\",\"trace\",\"unknown\",\"unset\",\"update\",\"vwait\",\"winfo\",\"wm\",\"bind\",\"event\",\"pack\",\"place\",\"grid\",\"font\",\"bell\",\"clipboard\",\"destroy\",\"focus\",\"grab\",\"lower\",\"option\",\"raise\",\"selection\",\"send\",\"tk\",\"tkwait\",\"tk_bisque\",\"tk_focusNext\",\"tk_focusPrev\",\"tk_focusFollowsMouse\",\"tk_popup\",\"tk_setPalette\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,brackets:[{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"}],escapes:/\\\\(?:[abfnrtv\\\\\"'\\[\\]\\{\\};\\$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,variables:/(?:\\$+(?:(?:\\:\\:?)?[a-zA-Z_]\\w*)+)/,tokenizer:{root:[[/[a-zA-Z_]\\w*/,{cases:{\"@specialFunctions\":{token:\"keyword.flow\",next:\"@specialFunc\"},\"@mainFunctions\":\"keyword\",\"@builtinFunctions\":\"variable\",\"@default\":\"operator.scss\"}}],[/\\s+\\-+(?!\\d|\\.)\\w*|{\\*}/,\"metatag\"],{include:\"@whitespace\"},[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,\"operator\"],[/\\$+(?:\\:\\:)?\\{/,{token:\"identifier\",next:\"@nestedVariable\"}],[/@variables/,\"type.identifier\"],[/\\.(?!\\d|\\.)[\\w\\-]*/,\"operator.sql\"],[/\\d+(\\.\\d+)?/,\"number\"],[/\\d+/,\"number\"],[/;/,\"delimiter\"],[/\"/,{token:\"string.quote\",bracket:\"@open\",next:\"@dstring\"}],[/'/,{token:\"string.quote\",bracket:\"@open\",next:\"@sstring\"}]],dstring:[[/\\[/,{token:\"@brackets\",next:\"@nestedCall\"}],[/\\$+(?:\\:\\:)?\\{/,{token:\"identifier\",next:\"@nestedVariable\"}],[/@variables/,\"type.identifier\"],[/[^\\\\$\\[\\]\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\"/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],sstring:[[/\\[/,{token:\"@brackets\",next:\"@nestedCall\"}],[/\\$+(?:\\:\\:)?\\{/,{token:\"identifier\",next:\"@nestedVariable\"}],[/@variables/,\"type.identifier\"],[/[^\\\\$\\[\\]']+/,\"string\"],[/@escapes/,\"string.escape\"],[/'/,{token:\"string.quote\",bracket:\"@close\",next:\"@pop\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"],[/#.*\\\\$/,{token:\"comment\",next:\"@newlineComment\"}],[/#.*(?!\\\\)$/,\"comment\"]],newlineComment:[[/.*\\\\$/,\"comment\"],[/.*(?!\\\\)$/,{token:\"comment\",next:\"@pop\"}]],nestedVariable:[[/[^\\{\\}\\$]+/,\"type.identifier\"],[/\\}/,{token:\"identifier\",next:\"@pop\"}]],nestedCall:[[/\\[/,{token:\"@brackets\",next:\"@nestedCall\"}],[/\\]/,{token:\"@brackets\",next:\"@pop\"}],{include:\"root\"}],specialFunc:[[/\"/,{token:\"string\",next:\"@dstring\"}],[/'/,{token:\"string\",next:\"@sstring\"}],[/\\S+/,{token:\"type\",next:\"@pop\"}]]}};return u(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/twig/twig.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/twig/twig\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var m=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var s=(e,t)=>{for(var r in t)m(e,r,{get:t[r],enumerable:!0})},d=(e,t,r,o)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of n(t))!a.call(e,i)&&i!==r&&m(e,i,{get:()=>t[i],enumerable:!(o=l(t,i))||o.enumerable});return e};var p=e=>d(m({},\"__esModule\",{value:!0}),e);var g={};s(g,{conf:()=>h,language:()=>c});var h={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)/g,comments:{blockComment:[\"{#\",\"#}\"]},brackets:[[\"{#\",\"#}\"],[\"{%\",\"%}\"],[\"{{\",\"}}\"],[\"(\",\")\"],[\"[\",\"]\"],[\"<!--\",\"-->\"],[\"<\",\">\"]],autoClosingPairs:[{open:\"{# \",close:\" #}\"},{open:\"{% \",close:\" %}\"},{open:\"{{ \",close:\" }}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"<\",close:\">\"}]},c={defaultToken:\"\",tokenPostfix:\"\",ignoreCase:!0,keywords:[\"apply\",\"autoescape\",\"block\",\"deprecated\",\"do\",\"embed\",\"extends\",\"flush\",\"for\",\"from\",\"if\",\"import\",\"include\",\"macro\",\"sandbox\",\"set\",\"use\",\"verbatim\",\"with\",\"endapply\",\"endautoescape\",\"endblock\",\"endembed\",\"endfor\",\"endif\",\"endmacro\",\"endsandbox\",\"endset\",\"endwith\",\"true\",\"false\"],tokenizer:{root:[[/\\s+/],[/{#/,\"comment.twig\",\"@commentState\"],[/{%[-~]?/,\"delimiter.twig\",\"@blockState\"],[/{{[-~]?/,\"delimiter.twig\",\"@variableState\"],[/<!DOCTYPE/,\"metatag.html\",\"@doctype\"],[/<!--/,\"comment.html\",\"@comment\"],[/(<)((?:[\\w\\-]+:)?[\\w\\-]+)(\\s*)(\\/>)/,[\"delimiter.html\",\"tag.html\",\"\",\"delimiter.html\"]],[/(<)(script)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@script\"}]],[/(<)(style)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@style\"}]],[/(<)((?:[\\w\\-]+:)?[\\w\\-]+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/(<\\/)((?:[\\w\\-]+:)?[\\w\\-]+)/,[\"delimiter.html\",{token:\"tag.html\",next:\"@otherTag\"}]],[/</,\"delimiter.html\"],[/[^<{]+/]],commentState:[[/#}/,\"comment.twig\",\"@pop\"],[/./,\"comment.twig\"]],blockState:[[/[-~]?%}/,\"delimiter.twig\",\"@pop\"],[/\\s+/],[/(verbatim)(\\s*)([-~]?%})/,[\"keyword.twig\",\"\",{token:\"delimiter.twig\",next:\"@rawDataState\"}]],{include:\"expression\"}],rawDataState:[[/({%[-~]?)(\\s*)(endverbatim)(\\s*)([-~]?%})/,[\"delimiter.twig\",\"\",\"keyword.twig\",\"\",{token:\"delimiter.twig\",next:\"@popall\"}]],[/./,\"string.twig\"]],variableState:[[/[-~]?}}/,\"delimiter.twig\",\"@pop\"],{include:\"expression\"}],stringState:[[/\"/,\"string.twig\",\"@pop\"],[/#{\\s*/,\"string.twig\",\"@interpolationState\"],[/[^#\"\\\\]*(?:(?:\\\\.|#(?!\\{))[^#\"\\\\]*)*/,\"string.twig\"]],interpolationState:[[/}/,\"string.twig\",\"@pop\"],{include:\"expression\"}],expression:[[/\\s+/],[/\\+|-|\\/{1,2}|%|\\*{1,2}/,\"operators.twig\"],[/(and|or|not|b-and|b-xor|b-or)(\\s+)/,[\"operators.twig\",\"\"]],[/==|!=|<|>|>=|<=/,\"operators.twig\"],[/(starts with|ends with|matches)(\\s+)/,[\"operators.twig\",\"\"]],[/(in)(\\s+)/,[\"operators.twig\",\"\"]],[/(is)(\\s+)/,[\"operators.twig\",\"\"]],[/\\||~|:|\\.{1,2}|\\?{1,2}/,\"operators.twig\"],[/[^\\W\\d][\\w]*/,{cases:{\"@keywords\":\"keyword.twig\",\"@default\":\"variable.twig\"}}],[/\\d+(\\.\\d+)?/,\"number.twig\"],[/\\(|\\)|\\[|\\]|{|}|,/,\"delimiter.twig\"],[/\"([^#\"\\\\]*(?:\\\\.[^#\"\\\\]*)*)\"|\\'([^\\'\\\\]*(?:\\\\.[^\\'\\\\]*)*)\\'/,\"string.twig\"],[/\"/,\"string.twig\",\"@stringState\"],[/=>/,\"operators.twig\"],[/=/,\"operators.twig\"]],doctype:[[/[^>]+/,\"metatag.content.html\"],[/>/,\"metatag.html\",\"@pop\"]],comment:[[/-->/,\"comment.html\",\"@pop\"],[/[^-]+/,\"comment.content.html\"],[/./,\"comment.content.html\"]],otherTag:[[/\\/?>/,\"delimiter.html\",\"@pop\"],[/\"([^\"]*)\"/,\"attribute.value.html\"],[/'([^']*)'/,\"attribute.value.html\"],[/[\\w\\-]+/,\"attribute.name.html\"],[/=/,\"delimiter.html\"],[/[ \\t\\r\\n]+/]],script:[[/type/,\"attribute.name.html\",\"@scriptAfterType\"],[/\"([^\"]*)\"/,\"attribute.value.html\"],[/'([^']*)'/,\"attribute.value.html\"],[/[\\w\\-]+/,\"attribute.name.html\"],[/=/,\"delimiter.html\"],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(script\\s*)(>)/,[\"delimiter.html\",\"tag.html\",{token:\"delimiter.html\",next:\"@pop\"}]]],scriptAfterType:[[/=/,\"delimiter.html\",\"@scriptAfterTypeEquals\"],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptAfterTypeEquals:[[/\"([^\"]*)\"/,{token:\"attribute.value.html\",switchTo:\"@scriptWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value.html\",switchTo:\"@scriptWithCustomType.$1\"}],[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded\",nextEmbedded:\"text/javascript\"}],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptWithCustomType:[[/>/,{token:\"delimiter.html\",next:\"@scriptEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value.html\"],[/'([^']*)'/,\"attribute.value.html\"],[/[\\w\\-]+/,\"attribute.name.html\"],[/=/,\"delimiter.html\"],[/[ \\t\\r\\n]+/],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],scriptEmbedded:[[/<\\/script/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/[^<]+/,\"\"]],style:[[/type/,\"attribute.name.html\",\"@styleAfterType\"],[/\"([^\"]*)\"/,\"attribute.value.html\"],[/'([^']*)'/,\"attribute.value.html\"],[/[\\w\\-]+/,\"attribute.name.html\"],[/=/,\"delimiter.html\"],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/(<\\/)(style\\s*)(>)/,[\"delimiter.html\",\"tag.html\",{token:\"delimiter.html\",next:\"@pop\"}]]],styleAfterType:[[/=/,\"delimiter.html\",\"@styleAfterTypeEquals\"],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleAfterTypeEquals:[[/\"([^\"]*)\"/,{token:\"attribute.value.html\",switchTo:\"@styleWithCustomType.$1\"}],[/'([^']*)'/,{token:\"attribute.value.html\",switchTo:\"@styleWithCustomType.$1\"}],[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded\",nextEmbedded:\"text/css\"}],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleWithCustomType:[[/>/,{token:\"delimiter.html\",next:\"@styleEmbedded.$S2\",nextEmbedded:\"$S2\"}],[/\"([^\"]*)\"/,\"attribute.value.html\"],[/'([^']*)'/,\"attribute.value.html\"],[/[\\w\\-]+/,\"attribute.name.html\"],[/=/,\"delimiter.html\"],[/[ \\t\\r\\n]+/],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\"}]],styleEmbedded:[[/<\\/style/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/[^<]+/,\"\"]]}};return p(g);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/typescript/typescript.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/typescript/typescript\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var l=Object.create;var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var f=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var k=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),y=(e,t)=>{for(var n in t)s(e,n,{get:t[n],enumerable:!0})},i=(e,t,n,c)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let r of x(t))!u.call(e,r)&&r!==n&&s(e,r,{get:()=>t[r],enumerable:!(c=m(t,r))||c.enumerable});return e},a=(e,t,n)=>(i(e,t,\"default\"),n&&i(n,t,\"default\")),p=(e,t,n)=>(n=e!=null?l(b(e)):{},i(t||!e||!e.__esModule?s(n,\"default\",{value:e,enumerable:!0}):n,e)),w=e=>i(s({},\"__esModule\",{value:!0}),e);var d=k((T,g)=>{var A=p(f(\"vs/editor/editor.api\"));g.exports=A});var h={};y(h,{conf:()=>v,language:()=>$});var o={};a(o,p(d()));var v={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],onEnterRules:[{beforeText:/^\\s*\\/\\*\\*(?!\\/)([^\\*]|\\*(?!\\/))*$/,afterText:/^\\s*\\*\\/$/,action:{indentAction:o.languages.IndentAction.IndentOutdent,appendText:\" * \"}},{beforeText:/^\\s*\\/\\*\\*(?!\\/)([^\\*]|\\*(?!\\/))*$/,action:{indentAction:o.languages.IndentAction.None,appendText:\" * \"}},{beforeText:/^(\\t|(\\ \\ ))*\\ \\*(\\ ([^\\*]|\\*(?!\\/))*)?$/,action:{indentAction:o.languages.IndentAction.None,appendText:\"* \"}},{beforeText:/^(\\t|(\\ \\ ))*\\ \\*\\/\\s*$/,action:{indentAction:o.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"',notIn:[\"string\"]},{open:\"'\",close:\"'\",notIn:[\"string\",\"comment\"]},{open:\"`\",close:\"`\",notIn:[\"string\",\"comment\"]},{open:\"/**\",close:\" */\",notIn:[\"string\"]}],folding:{markers:{start:new RegExp(\"^\\\\s*//\\\\s*#?region\\\\b\"),end:new RegExp(\"^\\\\s*//\\\\s*#?endregion\\\\b\")}}},$={defaultToken:\"invalid\",tokenPostfix:\".ts\",keywords:[\"abstract\",\"any\",\"as\",\"asserts\",\"bigint\",\"boolean\",\"break\",\"case\",\"catch\",\"class\",\"continue\",\"const\",\"constructor\",\"debugger\",\"declare\",\"default\",\"delete\",\"do\",\"else\",\"enum\",\"export\",\"extends\",\"false\",\"finally\",\"for\",\"from\",\"function\",\"get\",\"if\",\"implements\",\"import\",\"in\",\"infer\",\"instanceof\",\"interface\",\"is\",\"keyof\",\"let\",\"module\",\"namespace\",\"never\",\"new\",\"null\",\"number\",\"object\",\"out\",\"package\",\"private\",\"protected\",\"public\",\"override\",\"readonly\",\"require\",\"global\",\"return\",\"satisfies\",\"set\",\"static\",\"string\",\"super\",\"switch\",\"symbol\",\"this\",\"throw\",\"true\",\"try\",\"type\",\"typeof\",\"undefined\",\"unique\",\"unknown\",\"var\",\"void\",\"while\",\"with\",\"yield\",\"async\",\"await\",\"of\"],operators:[\"<=\",\">=\",\"==\",\"!=\",\"===\",\"!==\",\"=>\",\"+\",\"-\",\"**\",\"*\",\"/\",\"%\",\"++\",\"--\",\"<<\",\"</\",\">>\",\">>>\",\"&\",\"|\",\"^\",\"!\",\"~\",\"&&\",\"||\",\"??\",\"?\",\":\",\"=\",\"+=\",\"-=\",\"*=\",\"**=\",\"/=\",\"%=\",\"<<=\",\">>=\",\">>>=\",\"&=\",\"|=\",\"^=\",\"@\"],symbols:/[=><!~?:&|+\\-*\\/\\^%]+/,escapes:/\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\\d+(_+\\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\\[\\]\\$\\^|\\-*+?\\.]/,regexpesc:/\\\\(?:[bBdDfnrstvwWn0\\\\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,\"delimiter.bracket\"],{include:\"common\"}],common:[[/#?[a-z_$][\\w$]*/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"identifier\"}}],[/[A-Z][\\w\\$]*/,\"type.identifier\"],{include:\"@whitespace\"},[/\\/(?=([^\\\\\\/]|\\\\.)+\\/([dgimsuy]*)(\\s*)(\\.|;|,|\\)|\\]|\\}|$))/,{token:\"regexp\",bracket:\"@open\",next:\"@regexp\"}],[/[()\\[\\]]/,\"@brackets\"],[/[<>](?!@symbols)/,\"@brackets\"],[/!(?=([^=]|$))/,\"delimiter\"],[/@symbols/,{cases:{\"@operators\":\"delimiter\",\"@default\":\"\"}}],[/(@digits)[eE]([\\-+]?(@digits))?/,\"number.float\"],[/(@digits)\\.(@digits)([eE][\\-+]?(@digits))?/,\"number.float\"],[/0[xX](@hexdigits)n?/,\"number.hex\"],[/0[oO]?(@octaldigits)n?/,\"number.octal\"],[/0[bB](@binarydigits)n?/,\"number.binary\"],[/(@digits)n?/,\"number\"],[/[;,.]/,\"delimiter\"],[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/\"/,\"string\",\"@string_double\"],[/'/,\"string\",\"@string_single\"],[/`/,\"string\",\"@string_backtick\"]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/\\/\\*\\*(?!\\/)/,\"comment.doc\",\"@jsdoc\"],[/\\/\\*/,\"comment\",\"@comment\"],[/\\/\\/.*$/,\"comment\"]],comment:[[/[^\\/*]+/,\"comment\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],jsdoc:[[/[^\\/*]+/,\"comment.doc\"],[/\\*\\//,\"comment.doc\",\"@pop\"],[/[\\/*]/,\"comment.doc\"]],regexp:[[/(\\{)(\\d+(?:,\\d*)?)(\\})/,[\"regexp.escape.control\",\"regexp.escape.control\",\"regexp.escape.control\"]],[/(\\[)(\\^?)(?=(?:[^\\]\\\\\\/]|\\\\.)+)/,[\"regexp.escape.control\",{token:\"regexp.escape.control\",next:\"@regexrange\"}]],[/(\\()(\\?:|\\?=|\\?!)/,[\"regexp.escape.control\",\"regexp.escape.control\"]],[/[()]/,\"regexp.escape.control\"],[/@regexpctl/,\"regexp.escape.control\"],[/[^\\\\\\/]/,\"regexp\"],[/@regexpesc/,\"regexp.escape\"],[/\\\\\\./,\"regexp.invalid\"],[/(\\/)([dgimsuy]*)/,[{token:\"regexp\",bracket:\"@close\",next:\"@pop\"},\"keyword.other\"]]],regexrange:[[/-/,\"regexp.escape.control\"],[/\\^/,\"regexp.invalid\"],[/@regexpesc/,\"regexp.escape\"],[/[^\\]]/,\"regexp\"],[/\\]/,{token:\"regexp.escape.control\",next:\"@pop\",bracket:\"@close\"}]],string_double:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],string_single:[[/[^\\\\']+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/'/,\"string\",\"@pop\"]],string_backtick:[[/\\$\\{/,{token:\"delimiter.bracket\",next:\"@bracketCounting\"}],[/[^\\\\`$]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/`/,\"string\",\"@pop\"]],bracketCounting:[[/\\{/,\"delimiter.bracket\",\"@bracketCounting\"],[/\\}/,\"delimiter.bracket\",\"@pop\"],{include:\"common\"}]}};return w(h);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/typespec/typespec.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/typespec/typespec\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var i=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var m=(e,n)=>{for(var o in n)i(e,o,{get:n[o],enumerable:!0})},p=(e,n,o,r)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let t of l(n))!k.call(e,t)&&t!==o&&i(e,t,{get:()=>n[t],enumerable:!(r=g(n,t))||r.enumerable});return e};var x=e=>p(i({},\"__esModule\",{value:!0}),e);var P={};m(P,{conf:()=>L,language:()=>y});var c=e=>`\\\\b${e}\\\\b`,s=e=>`(?!${e})`,d=\"[_a-zA-Z]\",u=\"[_a-zA-Z0-9]\",a=c(`${d}${u}*`),f=c(\"[_a-zA-Z-0-9]+\"),$=[\"import\",\"model\",\"scalar\",\"namespace\",\"op\",\"interface\",\"union\",\"using\",\"is\",\"extends\",\"enum\",\"alias\",\"return\",\"void\",\"if\",\"else\",\"projection\",\"dec\",\"extern\",\"fn\"],b=[\"true\",\"false\",\"null\",\"unknown\",\"never\"],w=\"[ \\\\t\\\\r\\\\n]\",C=\"[0-9]+\",L={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"/**\",close:\" */\",notIn:[\"string\"]}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'}],indentationRules:{decreaseIndentPattern:new RegExp(\"^((?!.*?/\\\\*).*\\\\*/)?\\\\s*[\\\\}\\\\]].*$\"),increaseIndentPattern:new RegExp(\"^((?!//).)*(\\\\{([^}\\\"'`/]*|(\\\\t|[ ])*//.*)|\\\\([^)\\\"'`/]*|\\\\[[^\\\\]\\\"'`/]*)$\"),unIndentedLinePattern:new RegExp(\"^(\\\\t|[ ])*[ ]\\\\*[^/]*\\\\*/\\\\s*$|^(\\\\t|[ ])*[ ]\\\\*/\\\\s*$|^(\\\\t|[ ])*[ ]\\\\*([ ]([^\\\\*]|\\\\*(?!/))*)?$\")}},y={defaultToken:\"\",tokenPostfix:\".tsp\",brackets:[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"}],symbols:/[=:;<>]+/,keywords:$,namedLiterals:b,escapes:'\\\\\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\\\\\|\"|\\\\${)',tokenizer:{root:[{include:\"@expression\"},{include:\"@whitespace\"}],stringVerbatim:[{regex:'(|\"|\"\")[^\"]',action:{token:\"string\"}},{regex:`\"\"\"${s('\"')}`,action:{token:\"string\",next:\"@pop\"}}],stringLiteral:[{regex:\"\\\\${\",action:{token:\"delimiter.bracket\",next:\"@bracketCounting\"}},{regex:'[^\\\\\\\\\"$]+',action:{token:\"string\"}},{regex:\"@escapes\",action:{token:\"string.escape\"}},{regex:\"\\\\\\\\.\",action:{token:\"string.escape.invalid\"}},{regex:'\"',action:{token:\"string\",next:\"@pop\"}}],bracketCounting:[{regex:\"{\",action:{token:\"delimiter.bracket\",next:\"@bracketCounting\"}},{regex:\"}\",action:{token:\"delimiter.bracket\",next:\"@pop\"}},{include:\"@expression\"}],comment:[{regex:\"[^\\\\*]+\",action:{token:\"comment\"}},{regex:\"\\\\*\\\\/\",action:{token:\"comment\",next:\"@pop\"}},{regex:\"[\\\\/*]\",action:{token:\"comment\"}}],whitespace:[{regex:w},{regex:\"\\\\/\\\\*\",action:{token:\"comment\",next:\"@comment\"}},{regex:\"\\\\/\\\\/.*$\",action:{token:\"comment\"}}],expression:[{regex:'\"\"\"',action:{token:\"string\",next:\"@stringVerbatim\"}},{regex:`\"${s('\"\"')}`,action:{token:\"string\",next:\"@stringLiteral\"}},{regex:C,action:{token:\"number\"}},{regex:a,action:{cases:{\"@keywords\":{token:\"keyword\"},\"@namedLiterals\":{token:\"keyword\"},\"@default\":{token:\"identifier\"}}}},{regex:`@${a}`,action:{token:\"tag\"}},{regex:`#${f}`,action:{token:\"directive\"}}]}};return x(P);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/vb/vb.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/vb/vb\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var r=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var i=(n,e)=>{for(var t in e)r(n,t,{get:e[t],enumerable:!0})},c=(n,e,t,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of d(e))!l.call(n,o)&&o!==t&&r(n,o,{get:()=>e[o],enumerable:!(s=a(e,o))||s.enumerable});return n};var u=n=>c(r({},\"__esModule\",{value:!0}),n);var k={};i(k,{conf:()=>g,language:()=>p});var g={comments:{lineComment:\"'\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"],[\"<\",\">\"],[\"addhandler\",\"end addhandler\"],[\"class\",\"end class\"],[\"enum\",\"end enum\"],[\"event\",\"end event\"],[\"function\",\"end function\"],[\"get\",\"end get\"],[\"if\",\"end if\"],[\"interface\",\"end interface\"],[\"module\",\"end module\"],[\"namespace\",\"end namespace\"],[\"operator\",\"end operator\"],[\"property\",\"end property\"],[\"raiseevent\",\"end raiseevent\"],[\"removehandler\",\"end removehandler\"],[\"select\",\"end select\"],[\"set\",\"end set\"],[\"structure\",\"end structure\"],[\"sub\",\"end sub\"],[\"synclock\",\"end synclock\"],[\"try\",\"end try\"],[\"while\",\"end while\"],[\"with\",\"end with\"],[\"using\",\"end using\"],[\"do\",\"loop\"],[\"for\",\"next\"]],autoClosingPairs:[{open:\"{\",close:\"}\",notIn:[\"string\",\"comment\"]},{open:\"[\",close:\"]\",notIn:[\"string\",\"comment\"]},{open:\"(\",close:\")\",notIn:[\"string\",\"comment\"]},{open:'\"',close:'\"',notIn:[\"string\",\"comment\"]},{open:\"<\",close:\">\",notIn:[\"string\",\"comment\"]}],folding:{markers:{start:new RegExp(\"^\\\\s*#Region\\\\b\"),end:new RegExp(\"^\\\\s*#End Region\\\\b\")}}},p={defaultToken:\"\",tokenPostfix:\".vb\",ignoreCase:!0,brackets:[{token:\"delimiter.bracket\",open:\"{\",close:\"}\"},{token:\"delimiter.array\",open:\"[\",close:\"]\"},{token:\"delimiter.parenthesis\",open:\"(\",close:\")\"},{token:\"delimiter.angle\",open:\"<\",close:\">\"},{token:\"keyword.tag-addhandler\",open:\"addhandler\",close:\"end addhandler\"},{token:\"keyword.tag-class\",open:\"class\",close:\"end class\"},{token:\"keyword.tag-enum\",open:\"enum\",close:\"end enum\"},{token:\"keyword.tag-event\",open:\"event\",close:\"end event\"},{token:\"keyword.tag-function\",open:\"function\",close:\"end function\"},{token:\"keyword.tag-get\",open:\"get\",close:\"end get\"},{token:\"keyword.tag-if\",open:\"if\",close:\"end if\"},{token:\"keyword.tag-interface\",open:\"interface\",close:\"end interface\"},{token:\"keyword.tag-module\",open:\"module\",close:\"end module\"},{token:\"keyword.tag-namespace\",open:\"namespace\",close:\"end namespace\"},{token:\"keyword.tag-operator\",open:\"operator\",close:\"end operator\"},{token:\"keyword.tag-property\",open:\"property\",close:\"end property\"},{token:\"keyword.tag-raiseevent\",open:\"raiseevent\",close:\"end raiseevent\"},{token:\"keyword.tag-removehandler\",open:\"removehandler\",close:\"end removehandler\"},{token:\"keyword.tag-select\",open:\"select\",close:\"end select\"},{token:\"keyword.tag-set\",open:\"set\",close:\"end set\"},{token:\"keyword.tag-structure\",open:\"structure\",close:\"end structure\"},{token:\"keyword.tag-sub\",open:\"sub\",close:\"end sub\"},{token:\"keyword.tag-synclock\",open:\"synclock\",close:\"end synclock\"},{token:\"keyword.tag-try\",open:\"try\",close:\"end try\"},{token:\"keyword.tag-while\",open:\"while\",close:\"end while\"},{token:\"keyword.tag-with\",open:\"with\",close:\"end with\"},{token:\"keyword.tag-using\",open:\"using\",close:\"end using\"},{token:\"keyword.tag-do\",open:\"do\",close:\"loop\"},{token:\"keyword.tag-for\",open:\"for\",close:\"next\"}],keywords:[\"AddHandler\",\"AddressOf\",\"Alias\",\"And\",\"AndAlso\",\"As\",\"Async\",\"Boolean\",\"ByRef\",\"Byte\",\"ByVal\",\"Call\",\"Case\",\"Catch\",\"CBool\",\"CByte\",\"CChar\",\"CDate\",\"CDbl\",\"CDec\",\"Char\",\"CInt\",\"Class\",\"CLng\",\"CObj\",\"Const\",\"Continue\",\"CSByte\",\"CShort\",\"CSng\",\"CStr\",\"CType\",\"CUInt\",\"CULng\",\"CUShort\",\"Date\",\"Decimal\",\"Declare\",\"Default\",\"Delegate\",\"Dim\",\"DirectCast\",\"Do\",\"Double\",\"Each\",\"Else\",\"ElseIf\",\"End\",\"EndIf\",\"Enum\",\"Erase\",\"Error\",\"Event\",\"Exit\",\"False\",\"Finally\",\"For\",\"Friend\",\"Function\",\"Get\",\"GetType\",\"GetXMLNamespace\",\"Global\",\"GoSub\",\"GoTo\",\"Handles\",\"If\",\"Implements\",\"Imports\",\"In\",\"Inherits\",\"Integer\",\"Interface\",\"Is\",\"IsNot\",\"Let\",\"Lib\",\"Like\",\"Long\",\"Loop\",\"Me\",\"Mod\",\"Module\",\"MustInherit\",\"MustOverride\",\"MyBase\",\"MyClass\",\"NameOf\",\"Namespace\",\"Narrowing\",\"New\",\"Next\",\"Not\",\"Nothing\",\"NotInheritable\",\"NotOverridable\",\"Object\",\"Of\",\"On\",\"Operator\",\"Option\",\"Optional\",\"Or\",\"OrElse\",\"Out\",\"Overloads\",\"Overridable\",\"Overrides\",\"ParamArray\",\"Partial\",\"Private\",\"Property\",\"Protected\",\"Public\",\"RaiseEvent\",\"ReadOnly\",\"ReDim\",\"RemoveHandler\",\"Resume\",\"Return\",\"SByte\",\"Select\",\"Set\",\"Shadows\",\"Shared\",\"Short\",\"Single\",\"Static\",\"Step\",\"Stop\",\"String\",\"Structure\",\"Sub\",\"SyncLock\",\"Then\",\"Throw\",\"To\",\"True\",\"Try\",\"TryCast\",\"TypeOf\",\"UInteger\",\"ULong\",\"UShort\",\"Using\",\"Variant\",\"Wend\",\"When\",\"While\",\"Widening\",\"With\",\"WithEvents\",\"WriteOnly\",\"Xor\"],tagwords:[\"If\",\"Sub\",\"Select\",\"Try\",\"Class\",\"Enum\",\"Function\",\"Get\",\"Interface\",\"Module\",\"Namespace\",\"Operator\",\"Set\",\"Structure\",\"Using\",\"While\",\"With\",\"Do\",\"Loop\",\"For\",\"Next\",\"Property\",\"Continue\",\"AddHandler\",\"RemoveHandler\",\"Event\",\"RaiseEvent\",\"SyncLock\"],symbols:/[=><!~?;\\.,:&|+\\-*\\/\\^%]+/,integersuffix:/U?[DI%L&S@]?/,floatsuffix:/[R#F!]?/,tokenizer:{root:[{include:\"@whitespace\"},[/next(?!\\w)/,{token:\"keyword.tag-for\"}],[/loop(?!\\w)/,{token:\"keyword.tag-do\"}],[/end\\s+(?!for|do)(addhandler|class|enum|event|function|get|if|interface|module|namespace|operator|property|raiseevent|removehandler|select|set|structure|sub|synclock|try|while|with|using)/,{token:\"keyword.tag-$1\"}],[/[a-zA-Z_]\\w*/,{cases:{\"@tagwords\":{token:\"keyword.tag-$0\"},\"@keywords\":{token:\"keyword.$0\"},\"@default\":\"identifier\"}}],[/^\\s*#\\w+/,\"keyword\"],[/\\d*\\d+e([\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/\\d*\\.\\d+(e[\\-+]?\\d+)?(@floatsuffix)/,\"number.float\"],[/&H[0-9a-f]+(@integersuffix)/,\"number.hex\"],[/&0[0-7]+(@integersuffix)/,\"number.octal\"],[/\\d+(@integersuffix)/,\"number\"],[/#.*#/,\"number\"],[/[{}()\\[\\]]/,\"@brackets\"],[/@symbols/,\"delimiter\"],[/[\"\\u201c\\u201d]/,{token:\"string.quote\",next:\"@string\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/(\\'|REM(?!\\w)).*$/,\"comment\"]],string:[[/[^\"\\u201c\\u201d]+/,\"string\"],[/[\"\\u201c\\u201d]{2}/,\"string.escape\"],[/[\"\\u201c\\u201d]C?/,{token:\"string.quote\",next:\"@pop\"}]]}};return u(k);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/wgsl/wgsl.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/wgsl/wgsl\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var a in e)s(t,a,{get:e[a],enumerable:!0})},d=(t,e,a,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of l(e))!u.call(t,i)&&i!==a&&s(t,i,{get:()=>e[i],enumerable:!(o=m(e,i))||o.enumerable});return t};var x=t=>d(s({},\"__esModule\",{value:!0}),t);var F={};p(F,{conf:()=>f,language:()=>L});var f={comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"[\",close:\"]\"},{open:\"{\",close:\"}\"},{open:\"(\",close:\")\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"}]};function r(t){let e=[],a=t.split(/\\t+|\\r+|\\n+| +/);for(let o=0;o<a.length;++o)a[o].length>0&&e.push(a[o]);return e}var g=r(\"true false\"),_=r(`\n\t\t\t  alias\n\t\t\t  break\n\t\t\t  case\n\t\t\t  const\n\t\t\t  const_assert\n\t\t\t  continue\n\t\t\t  continuing\n\t\t\t  default\n\t\t\t  diagnostic\n\t\t\t  discard\n\t\t\t  else\n\t\t\t  enable\n\t\t\t  fn\n\t\t\t  for\n\t\t\t  if\n\t\t\t  let\n\t\t\t  loop\n\t\t\t  override\n\t\t\t  requires\n\t\t\t  return\n\t\t\t  struct\n\t\t\t  switch\n\t\t\t  var\n\t\t\t  while\n\t\t\t  `),h=r(`\n\t\t\t  NULL\n\t\t\t  Self\n\t\t\t  abstract\n\t\t\t  active\n\t\t\t  alignas\n\t\t\t  alignof\n\t\t\t  as\n\t\t\t  asm\n\t\t\t  asm_fragment\n\t\t\t  async\n\t\t\t  attribute\n\t\t\t  auto\n\t\t\t  await\n\t\t\t  become\n\t\t\t  binding_array\n\t\t\t  cast\n\t\t\t  catch\n\t\t\t  class\n\t\t\t  co_await\n\t\t\t  co_return\n\t\t\t  co_yield\n\t\t\t  coherent\n\t\t\t  column_major\n\t\t\t  common\n\t\t\t  compile\n\t\t\t  compile_fragment\n\t\t\t  concept\n\t\t\t  const_cast\n\t\t\t  consteval\n\t\t\t  constexpr\n\t\t\t  constinit\n\t\t\t  crate\n\t\t\t  debugger\n\t\t\t  decltype\n\t\t\t  delete\n\t\t\t  demote\n\t\t\t  demote_to_helper\n\t\t\t  do\n\t\t\t  dynamic_cast\n\t\t\t  enum\n\t\t\t  explicit\n\t\t\t  export\n\t\t\t  extends\n\t\t\t  extern\n\t\t\t  external\n\t\t\t  fallthrough\n\t\t\t  filter\n\t\t\t  final\n\t\t\t  finally\n\t\t\t  friend\n\t\t\t  from\n\t\t\t  fxgroup\n\t\t\t  get\n\t\t\t  goto\n\t\t\t  groupshared\n\t\t\t  highp\n\t\t\t  impl\n\t\t\t  implements\n\t\t\t  import\n\t\t\t  inline\n\t\t\t  instanceof\n\t\t\t  interface\n\t\t\t  layout\n\t\t\t  lowp\n\t\t\t  macro\n\t\t\t  macro_rules\n\t\t\t  match\n\t\t\t  mediump\n\t\t\t  meta\n\t\t\t  mod\n\t\t\t  module\n\t\t\t  move\n\t\t\t  mut\n\t\t\t  mutable\n\t\t\t  namespace\n\t\t\t  new\n\t\t\t  nil\n\t\t\t  noexcept\n\t\t\t  noinline\n\t\t\t  nointerpolation\n\t\t\t  noperspective\n\t\t\t  null\n\t\t\t  nullptr\n\t\t\t  of\n\t\t\t  operator\n\t\t\t  package\n\t\t\t  packoffset\n\t\t\t  partition\n\t\t\t  pass\n\t\t\t  patch\n\t\t\t  pixelfragment\n\t\t\t  precise\n\t\t\t  precision\n\t\t\t  premerge\n\t\t\t  priv\n\t\t\t  protected\n\t\t\t  pub\n\t\t\t  public\n\t\t\t  readonly\n\t\t\t  ref\n\t\t\t  regardless\n\t\t\t  register\n\t\t\t  reinterpret_cast\n\t\t\t  require\n\t\t\t  resource\n\t\t\t  restrict\n\t\t\t  self\n\t\t\t  set\n\t\t\t  shared\n\t\t\t  sizeof\n\t\t\t  smooth\n\t\t\t  snorm\n\t\t\t  static\n\t\t\t  static_assert\n\t\t\t  static_cast\n\t\t\t  std\n\t\t\t  subroutine\n\t\t\t  super\n\t\t\t  target\n\t\t\t  template\n\t\t\t  this\n\t\t\t  thread_local\n\t\t\t  throw\n\t\t\t  trait\n\t\t\t  try\n\t\t\t  type\n\t\t\t  typedef\n\t\t\t  typeid\n\t\t\t  typename\n\t\t\t  typeof\n\t\t\t  union\n\t\t\t  unless\n\t\t\t  unorm\n\t\t\t  unsafe\n\t\t\t  unsized\n\t\t\t  use\n\t\t\t  using\n\t\t\t  varying\n\t\t\t  virtual\n\t\t\t  volatile\n\t\t\t  wgsl\n\t\t\t  where\n\t\t\t  with\n\t\t\t  writeonly\n\t\t\t  yield\n\t\t\t  `),b=r(`\n\t\tread write read_write\n\t\tfunction private workgroup uniform storage\n\t\tperspective linear flat\n\t\tcenter centroid sample\n\t\tvertex_index instance_index position front_facing frag_depth\n\t\t\tlocal_invocation_id local_invocation_index\n\t\t\tglobal_invocation_id workgroup_id num_workgroups\n\t\t\tsample_index sample_mask\n\t\trgba8unorm\n\t\trgba8snorm\n\t\trgba8uint\n\t\trgba8sint\n\t\trgba16uint\n\t\trgba16sint\n\t\trgba16float\n\t\tr32uint\n\t\tr32sint\n\t\tr32float\n\t\trg32uint\n\t\trg32sint\n\t\trg32float\n\t\trgba32uint\n\t\trgba32sint\n\t\trgba32float\n\t\tbgra8unorm\n`),v=r(`\n\t\tbool\n\t\tf16\n\t\tf32\n\t\ti32\n\t\tsampler sampler_comparison\n\t\ttexture_depth_2d\n\t\ttexture_depth_2d_array\n\t\ttexture_depth_cube\n\t\ttexture_depth_cube_array\n\t\ttexture_depth_multisampled_2d\n\t\ttexture_external\n\t\ttexture_external\n\t\tu32\n\t\t`),y=r(`\n\t\tarray\n\t\tatomic\n\t\tmat2x2\n\t\tmat2x3\n\t\tmat2x4\n\t\tmat3x2\n\t\tmat3x3\n\t\tmat3x4\n\t\tmat4x2\n\t\tmat4x3\n\t\tmat4x4\n\t\tptr\n\t\ttexture_1d\n\t\ttexture_2d\n\t\ttexture_2d_array\n\t\ttexture_3d\n\t\ttexture_cube\n\t\ttexture_cube_array\n\t\ttexture_multisampled_2d\n\t\ttexture_storage_1d\n\t\ttexture_storage_2d\n\t\ttexture_storage_2d_array\n\t\ttexture_storage_3d\n\t\tvec2\n\t\tvec3\n\t\tvec4\n\t\t`),k=r(`\n\t\tvec2i vec3i vec4i\n\t\tvec2u vec3u vec4u\n\t\tvec2f vec3f vec4f\n\t\tvec2h vec3h vec4h\n\t\tmat2x2f mat2x3f mat2x4f\n\t\tmat3x2f mat3x3f mat3x4f\n\t\tmat4x2f mat4x3f mat4x4f\n\t\tmat2x2h mat2x3h mat2x4h\n\t\tmat3x2h mat3x3h mat3x4h\n\t\tmat4x2h mat4x3h mat4x4h\n\t\t`),w=r(`\n  bitcast all any select arrayLength abs acos acosh asin asinh atan atanh atan2\n  ceil clamp cos cosh countLeadingZeros countOneBits countTrailingZeros cross\n  degrees determinant distance dot exp exp2 extractBits faceForward firstLeadingBit\n  firstTrailingBit floor fma fract frexp inverseBits inverseSqrt ldexp length\n  log log2 max min mix modf normalize pow quantizeToF16 radians reflect refract\n  reverseBits round saturate sign sin sinh smoothstep sqrt step tan tanh transpose\n  trunc dpdx dpdxCoarse dpdxFine dpdy dpdyCoarse dpdyFine fwidth fwidthCoarse fwidthFine\n  textureDimensions textureGather textureGatherCompare textureLoad textureNumLayers\n  textureNumLevels textureNumSamples textureSample textureSampleBias textureSampleCompare\n  textureSampleCompareLevel textureSampleGrad textureSampleLevel textureSampleBaseClampToEdge\n  textureStore atomicLoad atomicStore atomicAdd atomicSub atomicMax atomicMin\n  atomicAnd atomicOr atomicXor atomicExchange atomicCompareExchangeWeak pack4x8snorm\n  pack4x8unorm pack2x16snorm pack2x16unorm pack2x16float unpack4x8snorm unpack4x8unorm\n  unpack2x16snorm unpack2x16unorm unpack2x16float storageBarrier workgroupBarrier\n  workgroupUniformLoad\n`),S=r(`\n\t\t\t\t\t &\n\t\t\t\t\t &&\n\t\t\t\t\t ->\n\t\t\t\t\t /\n\t\t\t\t\t =\n\t\t\t\t\t ==\n\t\t\t\t\t !=\n\t\t\t\t\t >\n\t\t\t\t\t >=\n\t\t\t\t\t <\n\t\t\t\t\t <=\n\t\t\t\t\t %\n\t\t\t\t\t -\n\t\t\t\t\t --\n\t\t\t\t\t +\n\t\t\t\t\t ++\n\t\t\t\t\t |\n\t\t\t\t\t ||\n\t\t\t\t\t *\n\t\t\t\t\t <<\n\t\t\t\t\t >>\n\t\t\t\t\t +=\n\t\t\t\t\t -=\n\t\t\t\t\t *=\n\t\t\t\t\t /=\n\t\t\t\t\t %=\n\t\t\t\t\t &=\n\t\t\t\t\t |=\n\t\t\t\t\t ^=\n\t\t\t\t\t >>=\n\t\t\t\t\t <<=\n\t\t\t\t\t `),C=/enable|requires|diagnostic/,c=/[_\\p{XID_Start}]\\p{XID_Continue}*/u,n=\"variable.predefined\",L={tokenPostfix:\".wgsl\",defaultToken:\"invalid\",unicode:!0,atoms:g,keywords:_,reserved:h,predeclared_enums:b,predeclared_types:v,predeclared_type_generators:y,predeclared_type_aliases:k,predeclared_intrinsics:w,operators:S,symbols:/[!%&*+\\-\\.\\/:;<=>^|_~,]+/,tokenizer:{root:[[C,\"keyword\",\"@directive\"],[c,{cases:{\"@atoms\":n,\"@keywords\":\"keyword\",\"@reserved\":\"invalid\",\"@predeclared_enums\":n,\"@predeclared_types\":n,\"@predeclared_type_generators\":n,\"@predeclared_type_aliases\":n,\"@predeclared_intrinsics\":n,\"@default\":\"identifier\"}}],{include:\"@commentOrSpace\"},{include:\"@numbers\"},[/[{}()\\[\\]]/,\"@brackets\"],[\"@\",\"annotation\",\"@attribute\"],[/@symbols/,{cases:{\"@operators\":\"operator\",\"@default\":\"delimiter\"}}],[/./,\"invalid\"]],commentOrSpace:[[/\\s+/,\"white\"],[/\\/\\*/,\"comment\",\"@blockComment\"],[/\\/\\/.*$/,\"comment\"]],blockComment:[[/[^\\/*]+/,\"comment\"],[/\\/\\*/,\"comment\",\"@push\"],[/\\*\\//,\"comment\",\"@pop\"],[/[\\/*]/,\"comment\"]],attribute:[{include:\"@commentOrSpace\"},[/\\w+/,\"annotation\",\"@pop\"]],directive:[{include:\"@commentOrSpace\"},[/[()]/,\"@brackets\"],[/,/,\"delimiter\"],[c,\"meta.content\"],[/;/,\"delimiter\",\"@pop\"]],numbers:[[/0[fh]/,\"number.float\"],[/[1-9][0-9]*[fh]/,\"number.float\"],[/[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?/,\"number.float\"],[/[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?/,\"number.float\"],[/[0-9]+[eE][+-]?[0-9]+[fh]?/,\"number.float\"],[/0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+(?:[pP][+-]?[0-9]+[fh]?)?/,\"number.hex\"],[/0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*(?:[pP][+-]?[0-9]+[fh]?)?/,\"number.hex\"],[/0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?/,\"number.hex\"],[/0[xX][0-9a-fA-F]+[iu]?/,\"number.hex\"],[/[1-9][0-9]*[iu]?/,\"number\"],[/0[iu]?/,\"number\"]]}};return x(F);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/xml/xml.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/xml/xml\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var u=Object.create;var m=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var f=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),b=(e,t)=>{for(var n in t)m(e,n,{get:t[n],enumerable:!0})},i=(e,t,n,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of p(t))!x.call(e,o)&&o!==n&&m(e,o,{get:()=>t[o],enumerable:!(r=g(t,o))||r.enumerable});return e},l=(e,t,n)=>(i(e,t,\"default\"),n&&i(n,t,\"default\")),c=(e,t,n)=>(n=e!=null?u(k(e)):{},i(t||!e||!e.__esModule?m(n,\"default\",{value:e,enumerable:!0}):n,e)),q=e=>i(m({},\"__esModule\",{value:!0}),e);var s=w((v,d)=>{var N=c(f(\"vs/editor/editor.api\"));d.exports=N});var I={};b(I,{conf:()=>A,language:()=>C});var a={};l(a,c(s()));var A={comments:{blockComment:[\"<!--\",\"-->\"]},brackets:[[\"<\",\">\"]],autoClosingPairs:[{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"},{open:'\"',close:'\"'}],surroundingPairs:[{open:\"<\",close:\">\"},{open:\"'\",close:\"'\"},{open:'\"',close:'\"'}],onEnterRules:[{beforeText:new RegExp(\"<([_:\\\\w][_:\\\\w-.\\\\d]*)([^/>]*(?!/)>)[^<]*$\",\"i\"),afterText:/^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$/i,action:{indentAction:a.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(\"<(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$\",\"i\"),action:{indentAction:a.languages.IndentAction.Indent}}]},C={defaultToken:\"\",tokenPostfix:\".xml\",ignoreCase:!0,qualifiedName:/(?:[\\w\\.\\-]+:)?[\\w\\.\\-]+/,tokenizer:{root:[[/[^<&]+/,\"\"],{include:\"@whitespace\"},[/(<)(@qualifiedName)/,[{token:\"delimiter\"},{token:\"tag\",next:\"@tag\"}]],[/(<\\/)(@qualifiedName)(\\s*)(>)/,[{token:\"delimiter\"},{token:\"tag\"},\"\",{token:\"delimiter\"}]],[/(<\\?)(@qualifiedName)/,[{token:\"delimiter\"},{token:\"metatag\",next:\"@tag\"}]],[/(<\\!)(@qualifiedName)/,[{token:\"delimiter\"},{token:\"metatag\",next:\"@tag\"}]],[/<\\!\\[CDATA\\[/,{token:\"delimiter.cdata\",next:\"@cdata\"}],[/&\\w+;/,\"string.escape\"]],cdata:[[/[^\\]]+/,\"\"],[/\\]\\]>/,{token:\"delimiter.cdata\",next:\"@pop\"}],[/\\]/,\"\"]],tag:[[/[ \\t\\r\\n]+/,\"\"],[/(@qualifiedName)(\\s*=\\s*)(\"[^\"]*\"|'[^']*')/,[\"attribute.name\",\"\",\"attribute.value\"]],[/(@qualifiedName)(\\s*=\\s*)(\"[^\">?\\/]*|'[^'>?\\/]*)(?=[\\?\\/]\\>)/,[\"attribute.name\",\"\",\"attribute.value\"]],[/(@qualifiedName)(\\s*=\\s*)(\"[^\">]*|'[^'>]*)/,[\"attribute.name\",\"\",\"attribute.value\"]],[/@qualifiedName/,\"attribute.name\"],[/\\?>/,{token:\"delimiter\",next:\"@pop\"}],[/(\\/)(>)/,[{token:\"tag\"},{token:\"delimiter\",next:\"@pop\"}]],[/>/,{token:\"delimiter\",next:\"@pop\"}]],whitespace:[[/[ \\t\\r\\n]+/,\"\"],[/<!--/,{token:\"comment\",next:\"@comment\"}]],comment:[[/[^<\\-]+/,\"comment.content\"],[/-->/,{token:\"comment\",next:\"@pop\"}],[/<!--/,\"comment.content.invalid\"],[/[<\\-]/,\"comment.content\"]]}};return q(I);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/basic-languages/yaml/yaml.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/yaml/yaml\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var m=Object.create;var l=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var w=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(n,t)=>(typeof require<\"u\"?require:n)[t]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var S=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),k=(e,n)=>{for(var t in n)l(e,t,{get:n[t],enumerable:!0})},a=(e,n,t,i)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let r of p(n))!f.call(e,r)&&r!==t&&l(e,r,{get:()=>n[r],enumerable:!(i=b(n,r))||i.enumerable});return e},c=(e,n,t)=>(a(e,n,\"default\"),t&&a(t,n,\"default\")),u=(e,n,t)=>(t=e!=null?m(g(e)):{},a(n||!e||!e.__esModule?l(t,\"default\",{value:e,enumerable:!0}):t,e)),y=e=>a(l({},\"__esModule\",{value:!0}),e);var d=S((C,s)=>{var h=u(w(\"vs/editor/editor.api\"));s.exports=h});var $={};k($,{conf:()=>N,language:()=>x});var o={};c(o,u(d()));var N={comments:{lineComment:\"#\"},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\\s*$/,action:{indentAction:o.languages.IndentAction.Indent}}]},x={tokenPostfix:\".yaml\",brackets:[{token:\"delimiter.bracket\",open:\"{\",close:\"}\"},{token:\"delimiter.square\",open:\"[\",close:\"]\"}],keywords:[\"true\",\"True\",\"TRUE\",\"false\",\"False\",\"FALSE\",\"null\",\"Null\",\"Null\",\"~\"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\\.(?:inf|Inf|INF)/,numberNaN:/\\.(?:nan|Nan|NAN)/,numberDate:/\\d{4}-\\d\\d-\\d\\d([Tt ]\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(( ?[+-]\\d\\d?(:\\d\\d)?)|Z)?)?/,escapes:/\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:\"@whitespace\"},{include:\"@comment\"},[/%[^ ]+.*$/,\"meta.directive\"],[/---/,\"operators.directivesEnd\"],[/\\.{3}/,\"operators.documentEnd\"],[/[-?:](?= )/,\"operators\"],{include:\"@anchor\"},{include:\"@tagHandle\"},{include:\"@flowCollections\"},{include:\"@blockStyle\"},[/@numberInteger(?![ \\t]*\\S+)/,\"number\"],[/@numberFloat(?![ \\t]*\\S+)/,\"number.float\"],[/@numberOctal(?![ \\t]*\\S+)/,\"number.octal\"],[/@numberHex(?![ \\t]*\\S+)/,\"number.hex\"],[/@numberInfinity(?![ \\t]*\\S+)/,\"number.infinity\"],[/@numberNaN(?![ \\t]*\\S+)/,\"number.nan\"],[/@numberDate(?![ \\t]*\\S+)/,\"number.date\"],[/(\".*?\"|'.*?'|[^#'\"]*?)([ \\t]*)(:)( |$)/,[\"type\",\"white\",\"operators\",\"white\"]],{include:\"@flowScalars\"},[/.+?(?=(\\s+#|$))/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"string\"}}]],object:[{include:\"@whitespace\"},{include:\"@comment\"},[/\\}/,\"@brackets\",\"@pop\"],[/,/,\"delimiter.comma\"],[/:(?= )/,\"operators\"],[/(?:\".*?\"|'.*?'|[^,\\{\\[]+?)(?=: )/,\"type\"],{include:\"@flowCollections\"},{include:\"@flowScalars\"},{include:\"@tagHandle\"},{include:\"@anchor\"},{include:\"@flowNumber\"},[/[^\\},]+/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"string\"}}]],array:[{include:\"@whitespace\"},{include:\"@comment\"},[/\\]/,\"@brackets\",\"@pop\"],[/,/,\"delimiter.comma\"],{include:\"@flowCollections\"},{include:\"@flowScalars\"},{include:\"@tagHandle\"},{include:\"@anchor\"},{include:\"@flowNumber\"},[/[^\\],]+/,{cases:{\"@keywords\":\"keyword\",\"@default\":\"string\"}}]],multiString:[[/^( +).+$/,\"string\",\"@multiStringContinued.$1\"]],multiStringContinued:[[/^( *).+$/,{cases:{\"$1==$S2\":\"string\",\"@default\":{token:\"@rematch\",next:\"@popall\"}}}]],whitespace:[[/[ \\t\\r\\n]+/,\"white\"]],comment:[[/#.*$/,\"comment\"]],flowCollections:[[/\\[/,\"@brackets\",\"@array\"],[/\\{/,\"@brackets\",\"@object\"]],flowScalars:[[/\"([^\"\\\\]|\\\\.)*$/,\"string.invalid\"],[/'([^'\\\\]|\\\\.)*$/,\"string.invalid\"],[/'[^']*'/,\"string\"],[/\"/,\"string\",\"@doubleQuotedString\"]],doubleQuotedString:[[/[^\\\\\"]+/,\"string\"],[/@escapes/,\"string.escape\"],[/\\\\./,\"string.escape.invalid\"],[/\"/,\"string\",\"@pop\"]],blockStyle:[[/[>|][0-9]*[+-]?$/,\"operators\",\"@multiString\"]],flowNumber:[[/@numberInteger(?=[ \\t]*[,\\]\\}])/,\"number\"],[/@numberFloat(?=[ \\t]*[,\\]\\}])/,\"number.float\"],[/@numberOctal(?=[ \\t]*[,\\]\\}])/,\"number.octal\"],[/@numberHex(?=[ \\t]*[,\\]\\}])/,\"number.hex\"],[/@numberInfinity(?=[ \\t]*[,\\]\\}])/,\"number.infinity\"],[/@numberNaN(?=[ \\t]*[,\\]\\}])/,\"number.nan\"],[/@numberDate(?=[ \\t]*[,\\]\\}])/,\"number.date\"]],tagHandle:[[/\\![^ ]*/,\"tag\"]],anchor:[[/[&*][^ ]+/,\"namespace\"]]}};return y($);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/editor/editor.main.css",
    "content": "/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/.monaco-action-bar{height:100%;white-space:nowrap}.monaco-action-bar .actions-container{align-items:center;display:flex;height:100%;margin:0 auto;padding:0;width:100%}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{align-items:center;cursor:pointer;display:block;justify-content:center;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{align-items:center;display:flex;height:16px;width:16px}.monaco-action-bar .action-label{border-radius:5px;display:flex;font-size:11px;padding:3px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{color:var(--vscode-disabledForeground)}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{border-bottom:1px solid #bbb;display:block;margin-left:.8em;margin-right:.8em;padding-top:1px}.monaco-action-bar .action-item .action-label.separator{background-color:#bbb;cursor:default;height:16px;margin:5px 4px!important;min-width:1px;padding:0;width:1px}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{align-items:center;display:flex;flex:1;justify-content:center;margin-right:10px;max-width:170px;min-width:60px;overflow:hidden}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{align-items:center;cursor:default;display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{left:-999em;position:absolute}.monaco-text-button{align-items:center;border:1px solid var(--vscode-button-border,transparent);border-radius:2px;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;line-height:18px;padding:4px;text-align:center;width:100%}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{cursor:default;opacity:.4!important}.monaco-text-button .codicon{color:inherit!important;margin:0 .2em}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;height:28px;overflow:hidden;padding:0 4px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;overflow:hidden;width:0}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{align-items:center;display:flex;font-style:inherit;font-weight:400;justify-content:center;padding:4px 0}.monaco-button-dropdown{cursor:pointer;display:flex}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{cursor:default;padding:4px 0}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{align-items:center;border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{align-items:center;display:flex;flex-direction:column;margin:4px 5px}.monaco-description-button .monaco-button-description{font-size:11px;font-style:italic;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{align-items:center;display:flex;justify-content:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{color:inherit!important;margin:0 .2em}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{background-color:var(--vscode-button-background);color:var(--vscode-button-foreground)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{background-color:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-bottom:1px solid var(--vscode-button-border);border-top:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-display:block;font-family:codicon;src:url(../base/browser/ui/codicons/codicon/codicon.ttf) format(\"truetype\")}.codicon[class*=codicon-]{display:inline-block;font:normal normal normal 16px/1 codicon;text-align:center;text-decoration:none;text-rendering:auto;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;color:inherit;font-family:inherit;font-size:13px;position:fixed}.monaco-count-badge{border-radius:11px;box-sizing:border-box;display:inline-block;font-size:11px;font-weight:400;line-height:11px;min-height:18px;min-width:18px;padding:3px 6px;text-align:center}.monaco-count-badge.long{border-radius:2px;line-height:normal;min-height:auto;padding:2px 3px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{border-radius:5px;display:flex!important;flex-direction:row}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;line-height:16px;margin-left:-3px;padding-left:0;padding-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;right:2px;top:3px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-hover{animation:fadein .1s linear;box-sizing:border-box;cursor:default;line-height:1.5em;overflow:hidden;position:absolute;user-select:text;-webkit-user-select:text;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{border-left:0;border-right:0;box-sizing:border-box;height:1px;margin:4px -8px -4px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{cursor:pointer;margin-right:16px}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);text-decoration:var(--text-link-decoration)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:\"(\"}.monaco-hover .hover-contents a.code-link:after{content:\")\"}.monaco-hover .hover-contents a.code-link>span{border-bottom:1px solid transparent;color:var(--vscode-textLink-foreground);text-decoration:underline;text-underline-position:under}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{display:inline-block;margin-bottom:4px}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon{margin-bottom:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{cursor:default;opacity:.4;pointer-events:none}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-position:0;background-repeat:no-repeat;background-size:16px;display:inline-block;height:22px;line-height:inherit!important;padding-right:6px;width:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-shrink:0;vertical-align:top}.monaco-icon-label-iconpath{display:flex;height:16px;margin-top:2px;padding-left:2px;width:16px}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-size:.9em;margin-left:.5em;opacity:.7;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{opacity:.66;text-decoration:line-through}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{font-size:90%;font-weight:600;margin:auto 16px 0 5px;opacity:.75;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{border-radius:2px;box-sizing:border-box;display:block;font-size:inherit;padding:0;position:relative}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{height:100%;position:relative;width:100%}.monaco-inputbox>.ibwrapper>.input{border:none;box-sizing:border-box;color:inherit;display:inline-block;font-family:inherit;font-size:inherit;height:100%;line-height:inherit;resize:none;width:100%}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;outline:none;scrollbar-width:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{box-sizing:border-box;display:inline-block;left:0;position:absolute;top:0;visibility:hidden;white-space:pre-wrap;width:100%;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{box-sizing:border-box;display:inline-block;font-size:12px;line-height:17px;margin-top:-1px;overflow:hidden;padding:.4em;text-align:left;width:100%;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;height:16px;width:16px}.monaco-keybinding{align-items:center;display:flex;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{border-radius:3px;border-style:solid;border-width:1px;display:inline-block;font-size:11px;margin:0 2px;padding:3px 5px;vertical-align:middle}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{height:100%;position:relative;white-space:nowrap;width:100%}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{height:100%;position:relative;width:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{min-width:100%;width:auto}.monaco-list-row{box-sizing:border-box;overflow:hidden;position:absolute;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{border-radius:10px;display:inline-block;font-size:12px;padding:1px 7px;position:absolute;z-index:1000}.monaco-list-type-filter-message{box-sizing:border-box;height:100%;left:0;opacity:.7;padding:40px 1em 1em;pointer-events:none;position:absolute;text-align:center;top:0;white-space:normal;width:100%}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{height:2px;overflow:hidden;width:100%}.monaco-progress-container .progress-bit{display:none;height:2px;left:0;position:absolute;width:2%}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-duration:4s;animation-iteration-count:infinite;animation-name:progress;animation-timing-function:linear;transform:translateZ(0)}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;touch-action:none;z-index:35}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;height:100%;top:0;width:var(--vscode-sash-size)}.monaco-sash.horizontal{cursor:ns-resize;height:var(--vscode-sash-size);left:0;width:100%}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:\" \";cursor:all-scroll;display:block;height:calc(var(--vscode-sash-size)*2);position:absolute;width:calc(var(--vscode-sash-size)*2);z-index:100}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{bottom:calc(var(--vscode-sash-size)*-1);left:calc(var(--vscode-sash-size)*-.5)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-1);top:calc(var(--vscode-sash-size)*-.5)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{right:calc(var(--vscode-sash-size)*-1);top:calc(var(--vscode-sash-size)*-.5)}.monaco-sash:before{background:transparent;content:\"\";height:100%;pointer-events:none;position:absolute;width:100%}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{left:calc(50% - var(--vscode-sash-hover-size)/2);width:var(--vscode-sash-hover-size)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:cyan}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{background:transparent;opacity:1;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{display:none;position:absolute}.monaco-scrollable-element>.shadow.top{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;display:block;height:3px;left:3px;top:0;width:100%}.monaco-scrollable-element>.shadow.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;display:block;height:100%;left:0;top:3px;width:3px}.monaco-scrollable-element>.shadow.top-left-corner{display:block;height:3px;left:0;top:0;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{border-radius:2px;cursor:pointer;width:100%}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-height:18px;min-width:100px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{border-radius:5px;font-size:11px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{box-sizing:border-box;display:none}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{font-family:var(--monaco-monospace-font);line-height:15px}.monaco-select-box-dropdown-container.visible{border-bottom-left-radius:3px;border-bottom-right-radius:3px;display:flex;flex-direction:column;overflow:hidden;text-align:left;width:1px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{align-self:flex-start;box-sizing:border-box;flex:0 0 auto;overflow:hidden;padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;padding-top:var(--dropdown-padding-top);width:100%}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-bottom:var(--dropdown-padding-bottom);padding-top:var(--dropdown-padding-top)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{float:left;overflow:hidden;padding-left:3.5px;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{float:left;opacity:.7;overflow:hidden;padding-left:3.5px;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{float:right;overflow:hidden;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{align-self:flex-start;flex:1 1 auto;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{max-height:0;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{height:100%;position:relative;width:100%}.monaco-split-view2>.sash-container{height:100%;pointer-events:none;position:absolute;width:100%}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{height:100%;width:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{height:100%;position:relative;white-space:nowrap;width:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{position:absolute;white-space:normal}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{background-color:var(--separator-border);content:\" \";left:0;pointer-events:none;position:absolute;top:0;z-index:5}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;white-space:nowrap;width:100%}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{font-weight:700;height:100%;overflow:hidden;text-overflow:ellipsis;width:100%}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{border-left:1px solid transparent;content:\"\";left:calc(var(--vscode-sash-size)/2);position:absolute;width:0}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{border:1px solid transparent;border-radius:3px;box-sizing:border-box;cursor:pointer;float:left;height:20px;margin-left:2px;overflow:hidden;padding:1px;user-select:none;-webkit-user-select:none;width:20px}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{background-size:16px!important;border:1px solid transparent;border-radius:3px;height:18px;margin-left:0;margin-right:9px;opacity:1;padding:0;width:18px}.monaco-action-bar .checkbox-action-item{align-items:center;border-radius:2px;display:flex;padding-right:2px}.monaco-action-bar .checkbox-action-item:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{align-items:center;display:flex;height:100%;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;left:16px;pointer-events:none;position:absolute;top:0}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{border-left:1px solid transparent;box-sizing:border-box;display:inline-block;height:100%}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{align-items:center;display:flex!important;flex-shrink:0;font-size:10px;justify-content:center;padding-right:6px;text-align:right;transform:translateX(3px);width:16px}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;display:flex;margin:0 6px;max-width:200px;padding:3px;position:absolute;top:0;z-index:100}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{align-items:center;cursor:grab;display:flex!important;justify-content:center;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{background-color:var(--vscode-sideBar-background);height:0;left:0;position:absolute;top:0;width:100%;z-index:13}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{background-color:var(--vscode-sideBar-background);opacity:1!important;overflow:hidden;position:absolute;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{bottom:-3px;height:0;left:0;position:absolute;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex=\"0\"]:focus{outline:none}.monaco-editor .inputarea{background-color:transparent;border:none;color:transparent;margin:0;min-height:0;min-width:0;outline:none!important;overflow:hidden;padding:0;position:absolute;resize:none;z-index:-10}.monaco-editor .inputarea.ime-input{caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground);z-index:10}.monaco-workbench .workbench-hover{background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;box-shadow:0 2px 8px var(--vscode-widget-shadow);color:var(--vscode-editorHoverWidget-foreground);font-size:13px;line-height:19px;max-width:700px;overflow:hidden;position:relative;z-index:40}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:fadein .1s linear}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{pointer-events:none;position:absolute;z-index:41}.monaco-workbench .workbench-hover-pointer:after{background-color:var(--vscode-editorHoverWidget-background);border-bottom:1px solid var(--vscode-editorHoverWidget-border);border-right:1px solid var(--vscode-editorHoverWidget-border);content:\"\";height:5px;position:absolute;width:5px}.monaco-workbench .locked .workbench-hover-pointer:after{border-bottom-width:2px;border-right-width:2px;height:4px;width:4px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-color:var(--vscode-focusBorder);outline-offset:-1px;text-decoration:underline}.monaco-workbench .workbench-hover a:active,.monaco-workbench .workbench-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-left:16px;margin-right:0}.monaco-editor .blockDecorations-container{pointer-events:none;position:absolute;top:0}.monaco-editor .blockDecorations-block{box-sizing:border-box;position:absolute}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{box-sizing:border-box;display:block;height:100%;left:0;position:absolute;top:0}.monaco-editor\n\t.margin-view-overlays\n\t.current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{height:100%;position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{align-items:center;display:flex;justify-content:center;position:absolute}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{box-sizing:border-box;height:100%;position:absolute}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;box-sizing:border-box;cursor:default;display:inline-block;font-variant-numeric:tabular-nums;position:absolute;text-align:right;vertical-align:middle}.monaco-editor .relative-current-line-number{display:inline-block;text-align:left;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{background:#960000!important;color:#fff!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));border-color:var(--vscode-contrastBorder);border-radius:2px;border-style:solid;border-width:1px;color:var(--vscode-button-foreground,var(--vscode-editor-foreground));cursor:pointer;padding:4px}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:auto;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{bottom:0;position:absolute;top:0}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{background:#fff;position:absolute;top:0}.monaco-editor .margin-view-overlays .cldr{height:100%;position:absolute}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{height:100%;left:0;position:absolute;width:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{left:-6px;position:absolute;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{left:-1px;position:absolute;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{left:0;position:absolute;top:0}.monaco-editor .view-ruler{box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset;position:absolute;top:0}.monaco-editor .scroll-decoration{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;height:6px;left:0;position:absolute;top:0}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor\t\t\t.top-left-radius{border-top-left-radius:3px}.monaco-editor\t\t\t.bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor\t\t\t.top-right-radius{border-top-right-radius:3px}.monaco-editor\t\t\t.bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{box-sizing:border-box;overflow:hidden;position:absolute}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{background:transparent!important;border-bottom-style:solid;border-bottom-width:2px}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{background:transparent!important;border-bottom-style:solid;border-bottom-width:1px}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{color:var(--vscode-editorWhitespace-foreground)!important;position:absolute}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{overflow:visible;position:relative;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);overflow-wrap:normal}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);border:1px solid var(--vscode-editor-rangeHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);border:1px solid var(--vscode-editor-symbolHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{overflow:hidden;position:relative}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .margin-view-overlays>div,.monaco-editor .view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{background:var(--vscode-editorError-background);content:\"\";display:block;height:100%;width:100%}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{background:var(--vscode-editorWarning-background);content:\"\";display:block;height:100%;width:100%}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{background:var(--vscode-editorInfo-background);content:\"\";display:block;height:100%;width:100%}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component.diff-review{user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review .diff-review-line-number{color:var(--vscode-editorLineNumber-foreground);display:inline-block;text-align:right}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;position:absolute}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;vertical-align:middle;width:10px}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{height:16px;margin:2px 0;width:16px}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{font-size:13px;height:0;line-height:14px;transform:translateY(-10px)}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{background-clip:padding-box;background-color:transparent;border-bottom:2px solid transparent;border-top:4px solid transparent;height:4px;transition:background-color .1s ease-out}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{align-items:center;background:var(--vscode-editor-background);display:flex;justify-content:center;z-index:1}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);color:var(--vscode-diffEditor-unchangedRegionForeground);display:block;height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important;cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{pointer-events:none;position:absolute}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-removedTextBackground);margin-left:-1px}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{font-size:12px;height:12px;width:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs\t\t\t.diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark\t\t.diffOverview{background:hsla(0,0%,100%,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs\t\t.scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark\t.scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black\t.scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light\t.scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor\t\t\t\t.slider.active{background:hsla(0,0%,67%,.4)}.modified-in-monaco-diff-editor.hc-black\t.slider.active,.modified-in-monaco-diff-editor.hc-light\t.slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{align-items:center;display:flex!important;font-size:11px!important;opacity:.7!important}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{position:absolute;z-index:10}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{border:1px solid var(--vscode-diffEditor-insertedTextBorder);box-sizing:border-box}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{border:1px solid var(--vscode-diffEditor-removedTextBorder);box-sizing:border-box}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{border-left:1px solid var(--vscode-diffEditor-border);box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow)}.monaco-diff-editor.side-by-side .editor.original{border-right:1px solid var(--vscode-diffEditor-border);box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{flex-grow:0;flex-shrink:0;overflow:hidden;position:relative}.monaco-diff-editor .gutter>div{position:absolute}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{border-left:2px solid var(--vscode-menu-border);height:100%;left:50%;position:absolute;width:1px}.monaco-diff-editor .gutter .gutterItem .buttons{align-items:center;display:flex;justify-content:center;position:absolute;width:100%}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{background:var(--vscode-editorGutter-commentRangeForeground);border-radius:4px;width:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{padding:1px 2px}.monaco-diff-editor .diff-hidden-lines-compact{display:flex;height:11px}.monaco-diff-editor .diff-hidden-lines-compact .line-left,.monaco-diff-editor .diff-hidden-lines-compact .line-right{border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);height:1px;margin:auto;opacity:.5;width:100%}.monaco-diff-editor .diff-hidden-lines-compact .line-left{width:20px}.monaco-diff-editor .diff-hidden-lines-compact .text{color:var(--vscode-editorCodeLens-foreground);text-wrap:nowrap;font-size:11px;line-height:11px;margin:0 4px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);border-radius:3px;border-style:solid;border-width:1px;box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);color:var(--vscode-keybindingLabel-foreground);padding:1px 3px;vertical-align:middle}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);height:100%;overflow-y:hidden;position:relative;width:100%}.monaco-component.multiDiffEditor>div{height:100%;left:0;position:absolute;top:0;width:100%}.monaco-component.multiDiffEditor>div.placeholder{display:grid;place-content:center;place-items:center;visibility:hidden}.monaco-component.multiDiffEditor>div.placeholder.visible{visibility:visible}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border:var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex:1;flex-direction:column;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{cursor:pointer;margin:0 5px}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{background:var(--vscode-editor-background);z-index:1000}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{align-items:center;background:var(--vscode-multiDiffEditor-headerBackground);border-top:1px solid var(--vscode-multiDiffEditor-border);color:var(--vscode-foreground);display:flex;margin:8px 0 0;padding:4px 5px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{font-weight:600;line-height:22px;margin:0 10px;opacity:.75}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{border-bottom:1px solid var(--vscode-multiDiffEditor-border);display:flex;flex:1;flex-direction:column;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border);box-sizing:border-box}.monaco-editor .lightBulbWidget{align-items:center;display:flex;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{content:\"\";display:block;height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:1}.monaco-editor .glyph-margin-widgets .cgmr[class*=codicon-gutter-lightbulb]{cursor:pointer;display:block}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-auto-fix,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-auto-fix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .codelens-decoration{color:var(--vscode-editorCodeLens-foreground);display:inline-block;font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-size:var(--vscode-editorCodeLens-fontSize);line-height:var(--vscode-editorCodeLens-lineHeight);overflow:hidden;padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);text-overflow:ellipsis;white-space:nowrap}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;vertical-align:sub;white-space:nowrap}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);font-size:var(--vscode-editorCodeLens-fontSize);line-height:var(--vscode-editorCodeLens-lineHeight);vertical-align:middle}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;cursor:pointer;display:inline-block;height:.8em;line-height:.8em;margin:.1em .2em 0;width:.8em}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;display:flex;height:24px;image-rendering:pixelated;position:relative}.colorpicker-header .picked-color{align-items:center;color:#fff;cursor:pointer;display:flex;flex:1;justify-content:center;line-height:24px;overflow:hidden;white-space:nowrap;width:240px}.colorpicker-header .picked-color .picked-color-presentation{margin-left:5px;margin-right:5px;white-space:nowrap}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{cursor:pointer;width:74px;z-index:inherit}.standalone-colorpicker{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border);cursor:pointer}.colorpicker-header .close-button-inner-div{height:100%;text-align:center;width:100%}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{flex:1;height:150px;min-width:220px;overflow:hidden;position:relative}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);height:9px;margin:-5px 0 0 -5px;position:absolute;width:9px}.colorpicker-body .strip{height:150px;width:25px}.colorpicker-body .standalone-strip{height:122px;width:25px}.colorpicker-body .hue-strip{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);cursor:grab;margin-left:8px;position:relative}.colorpicker-body .opacity-strip{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;cursor:grab;image-rendering:pixelated;margin-left:8px;position:relative}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85);box-sizing:border-box;height:4px;left:-2px;position:absolute;top:0;width:calc(100% + 4px)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);display:block;overflow:hidden}.colorpicker-body .insert-button{background:var(--vscode-button-background);border:none;border-radius:2px;bottom:8px;color:var(--vscode-button-foreground);cursor:pointer;height:20px;padding:0;position:absolute;right:8px;width:58px}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{background-color:var(--vscode-editorWidget-background);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;box-shadow:0 0 8px 2px var(--vscode-widget-shadow);overflow:hidden}.post-edit-widget .monaco-button{border:none;border-radius:0;padding:2px}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget,.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground)}.monaco-editor .find-widget{border-bottom:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);box-sizing:border-box;height:33px;line-height:19px;overflow:hidden;padding:0 4px;position:absolute;transform:translateY(calc(-100% - 10px));transition:transform .2s linear;z-index:35}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-color:var(--vscode-focusBorder);outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{display:flex;font-size:12px;margin:3px 25px 0 17px}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-bottom:2px;padding-top:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{align-items:center;display:flex;height:25px}.monaco-editor .find-widget .monaco-findInput{display:flex;flex:1;vertical-align:middle}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{box-sizing:border-box;display:flex;flex:initial;height:25px;line-height:23px;margin:0 0 0 3px;padding:2px 0 0 2px;text-align:center;vertical-align:middle}.monaco-editor .find-widget .button{align-items:center;background-position:50%;background-repeat:no-repeat;border-radius:5px;cursor:pointer;display:flex;flex:initial;height:16px;justify-content:center;margin-left:3px;padding:3px;width:16px}.monaco-editor .find-widget .codicon-find-selection{border-radius:5px;height:22px;padding:3px;width:22px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{padding:1px 6px;top:-1px;width:auto}.monaco-editor .find-widget .button.toggle{border-radius:0;box-sizing:border-box;height:100%;left:3px;position:absolute;top:0;width:18px}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{display:flex;flex:auto;flex-grow:0;flex-shrink:0;position:relative;vertical-align:middle}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;right:2px;top:3px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important;background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);box-sizing:border-box;padding:1px}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{background-color:var(--vscode-editorWidget-resizeBorder,var(--vscode-editorWidget-border));left:0!important}.monaco-editor.hc-black .find-widget .button:before{left:2px;position:relative;top:1px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.findMatch{background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;right:4px;top:5px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{align-items:center;cursor:pointer;display:flex;font-size:140%;justify-content:center;margin-left:2px;opacity:0;transition:opacity .5s}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:var(--vscode-editor-foldPlaceholderForeground);content:\"\\22EF\";cursor:pointer;display:inline;line-height:1em;margin:.1em .2em 0}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;margin-right:4px;vertical-align:text-top}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{font-style:italic;opacity:.6}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{padding:8px 12px 0 20px;position:absolute;user-select:text;-webkit-user-select:text;white-space:pre}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{color:inherit;opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:\"(\"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:\")\"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{border-bottom:1px solid transparent;color:var(--vscode-textLink-activeForeground);text-decoration:underline;text-underline-position:under}.monaco-editor .marker-widget .descriptioncontainer .filename{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .goto-definition-link{color:var(--vscode-editorLink-activeForeground)!important;cursor:pointer;text-decoration:underline}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-bottom-width:1px;border-top-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;padding:3em 0;text-align:center;width:100%}.monaco-editor .reference-zone-widget .ref-tree{background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground);line-height:23px}.monaco-editor .reference-zone-widget .ref-tree .reference{overflow:hidden;text-overflow:ellipsis}.monaco-editor .reference-zone-widget .ref-tree .reference-file{color:var(--vscode-peekViewResult-fileForeground);display:inline-flex;height:100%;width:100%}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-left:auto;margin-right:12px}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover-content{box-sizing:border-box;padding-bottom:2px;padding-right:2px}.monaco-editor .monaco-hover{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground)}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row{display:flex}.monaco-editor .monaco-hover .hover-row .hover-row-contents{display:flex;flex-direction:column;min-width:0}.monaco-editor .monaco-hover .hover-row .verbosity-actions{border-right:1px solid var(--vscode-editorHoverWidget-border);display:flex;flex-direction:column;justify-content:end;padding-left:5px;padding-right:5px}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon{cursor:pointer;font-size:11px}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.enabled{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.disabled{opacity:.6}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .inlineSuggestionsHints.withBorder{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);z-index:39}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;justify-content:center;min-width:19px}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{font-size:0;opacity:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border);color:var(--vscode-editorGhostText-foreground)!important}.monaco-editor .inline-edit-remove{background-color:var(--vscode-editorGhostText-background);font-style:italic}.monaco-editor .inline-edit-hidden{font-size:0;opacity:0}.monaco-editor .inline-edit-decoration,.monaco-editor .suggest-preview-text .inline-edit{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .inline-edit-decoration,.monaco-editor .inline-edit-decoration-preview,.monaco-editor .suggest-preview-text .inline-edit{background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border);color:var(--vscode-editorGhostText-foreground)!important}.monaco-editor .inlineEditHints.withBorder{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);z-index:39}.monaco-editor .inlineEditHints a,.monaco-editor .inlineEditHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineEditHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineEditStatusBarItemLabel{margin-right:2px}.monaco-editor .inlineEditSideBySide{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);white-space:pre;z-index:39}.monaco-editor div.inline-edits-widget{--widget-color:var(--vscode-notifications-background)}.monaco-editor div.inline-edits-widget .promptEditor .monaco-editor{--vscode-editor-placeholder-foreground:var(--vscode-editorGhostText-foreground)}.monaco-editor div.inline-edits-widget .promptEditor,.monaco-editor div.inline-edits-widget .toolbar{opacity:0;transition:opacity .2s ease-in-out}.monaco-editor div.inline-edits-widget.focused .promptEditor,.monaco-editor div.inline-edits-widget.focused .toolbar,.monaco-editor div.inline-edits-widget:hover .promptEditor,.monaco-editor div.inline-edits-widget:hover .toolbar{opacity:1}.monaco-editor div.inline-edits-widget .preview .monaco-editor{--vscode-editor-background:var(--widget-color)}.monaco-editor div.inline-edits-widget .preview .monaco-editor .mtk1{color:var(--vscode-editorGhostText-foreground)}.monaco-editor div.inline-edits-widget .preview .monaco-editor .current-line-margin,.monaco-editor div.inline-edits-widget .preview .monaco-editor .view-overlays .current-line-exact{border:none}.monaco-editor div.inline-edits-widget svg .gradient-start{stop-color:var(--vscode-editor-background)}.monaco-editor div.inline-edits-widget svg .gradient-stop{stop-color:var(--widget-color)}.inline-editor-progress-decoration{display:inline-block;height:1em;width:1em}.inline-progress-widget{align-items:center;display:flex!important;justify-content:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{animation:none;font-size:90%!important}.inline-progress-widget:hover .icon:before{content:var(--vscode-icon-x-content);font-family:var(--vscode-icon-x-font-family)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{color:var(--vscode-editorLink-activeForeground)!important;cursor:pointer}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);padding:2px 4px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{border:8px solid transparent;height:0!important;left:2px;position:absolute;width:0!important;z-index:1000}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);cursor:default;display:flex;flex-direction:column;line-height:1.5em;z-index:39}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{display:flex;flex-direction:row;max-width:440px}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{border-left:1px solid var(--vscode-editorHoverWidget-border);content:\"\";display:block;height:100%;opacity:.5;position:absolute}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{border-bottom:1px solid var(--vscode-editorHoverWidget-border);content:\"\";display:block;left:0;opacity:.5;padding-top:4px;position:absolute;width:100%}.monaco-editor .parameter-hints-widget .code{font-family:var(--vscode-parameterHintsWidget-editorFontFamily),var(--vscode-parameterHintsWidget-editorFontFamilyDefault)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{background-color:var(--vscode-textCodeBlock-background);border-radius:3px;font-family:var(--monaco-monospace-font);padding:0 .4em}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{align-items:center;display:none;flex-direction:column;justify-content:flex-end;min-width:22px}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{background-repeat:no-repeat;cursor:pointer;height:16px;width:16px}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{font-family:var(--monaco-monospace-font);height:12px;line-height:12px;text-align:center}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;flex-wrap:nowrap;justify-content:space-between}.monaco-editor .peekview-widget .head .peekview-title{align-items:baseline;display:flex;font-size:13px;margin-left:20px;min-width:0;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:\"-\";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;padding-right:2px;text-align:right}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{align-self:center;margin-right:4px}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor{--vscode-editor-placeholder-foreground:var(--vscode-editorGhostText-foreground)}.monaco-editor .editorPlaceholder{overflow:hidden;position:absolute;text-overflow:ellipsis;top:0;text-wrap:nowrap;color:var(--vscode-editor-placeholder-foreground);pointer-events:none}.monaco-editor .rename-box{border-radius:4px;color:inherit;z-index:100}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input-with-button{border-radius:2px;padding:3px;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-input{padding:0;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-input:focus{outline:none}.monaco-editor .rename-box .rename-suggestions-button{align-items:center;background-color:transparent;border:none;border-radius:5px;cursor:pointer;display:flex;padding:3px}.monaco-editor .rename-box .rename-suggestions-button:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row{border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);min-width:2px;outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent);outline-style:solid;outline-width:1px}.monaco-editor .finish-snippet-placeholder{background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent);outline-style:solid;outline-width:1px}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{background-color:inherit;float:left}.monaco-editor .sticky-widget-lines-scrollable{background-color:inherit;display:inline-block;overflow:hidden;position:absolute;width:var(--vscode-editorStickyScroll-scrollableWidth)}.monaco-editor .sticky-widget-lines{background-color:inherit;position:absolute}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{background-color:inherit;color:var(--vscode-editorLineNumber-foreground);display:inline-block;position:absolute;white-space:nowrap}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{background-color:inherit;white-space:nowrap;width:var(--vscode-editorStickyScroll-scrollableWidth)}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .sticky-widget{border-bottom:1px solid var(--vscode-editorStickyScroll-border)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{background-color:var(--vscode-editorStickyScroll-background);box-shadow:var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;right:auto!important;width:100%;z-index:4}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{border-radius:3px;display:flex;flex-direction:column;width:430px;z-index:40}.monaco-editor .suggest-widget.message{align-items:center;flex-direction:row}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{background-color:var(--vscode-editorSuggestWidget-background);border-color:var(--vscode-editorSuggestWidget-border);border-style:solid;border-width:1px;flex:0 1 auto;width:100%}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{border-top:1px solid var(--vscode-editorSuggestWidget-border);box-sizing:border-box;display:none;flex-flow:row nowrap;font-size:80%;justify-content:space-between;overflow:hidden;padding:0 4px;width:100%}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:\", \";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{background-position:2px 2px;background-repeat:no-repeat;-mox-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:flex;padding-right:10px;touch-action:none;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:pre}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;cursor:pointer;font-size:14px;opacity:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;right:2px;top:6px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{opacity:.6;overflow:hidden;text-overflow:ellipsis}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{align-self:center;font-size:85%;line-height:normal;margin-left:12px;opacity:.4;overflow:hidden;text-overflow:ellipsis}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-grow:1;flex-shrink:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{flex-shrink:4;max-width:70%;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;height:18px;position:absolute;right:10px;visibility:hidden;width:18px}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{background-position:50%;background-repeat:no-repeat;background-size:80%;display:block;height:16px;margin-left:2px;width:16px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{align-items:center;display:flex;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{border:.1em solid #000;display:inline-block;height:.7em;margin:0 0 0 .3em;width:.7em}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{color:var(--vscode-editorSuggestWidget-foreground);cursor:default;display:flex;flex-direction:column}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;margin:0 24px 0 0;opacity:.7;overflow:hidden;padding:4px 0 12px 5px;text-overflow:ellipsis;white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{min-height:calc(1rem + 8px);padding:0;white-space:normal}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{background:var(--vscode-banner-background);box-sizing:border-box;cursor:default;display:flex;font-size:12px;height:26px;overflow:visible;width:100%}.editor-banner .icon-container{align-items:center;display:flex;flex-shrink:0;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-position:50%;background-repeat:no-repeat;background-size:16px;margin:0 6px 0 10px;padding:0;width:16px}.editor-banner .message-container{align-items:center;display:flex;line-height:26px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-banner .message-container p{margin-block-end:0;margin-block-start:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{margin:2px 8px;padding:0 12px;width:inherit}.editor-banner .message-actions-container a{margin-left:12px;padding:3px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{background-color:var(--vscode-editorUnicodeHighlight-background);border:1px solid var(--vscode-editorUnicodeHighlight-border);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);border:1px solid var(--vscode-editor-selectionHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);border:1px solid var(--vscode-editor-wordHighlightBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);border:1px solid var(--vscode-editor-wordHighlightStrongBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);border:1px solid var(--vscode-editor-wordHighlightTextBorder);box-sizing:border-box}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-bottom-style:solid;border-bottom-width:0;border-top-style:solid;border-top-width:0;position:relative}.monaco-editor .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MyIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSIjNDI0MjQyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjh6TTQuMDA4LjAwOEE0LjAwMyA0LjAwMyAwIDAgMCAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwIDAgNC4wMDMgNC4wMDJoNDQuMDI4YTQuMDAzIDQuMDAzIDAgMCAwIDQuMDAzLTQuMDAyVjQuMDFBNC4wMDMgNC4wMDMgMCAwIDAgNDguMDM2LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJ6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnptNC4wMDIgMGg0LjAwM3Y0LjAwM2gtNC4wMDN6bTEyLjAwOCAwaC00LjAwM3Y0LjAwM2g0LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM3ptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzem00LjAwMyAwaDIwLjAxM3Y0LjAwM0gxNi4wMTZ6bTI4LjAxOCAwSDQwLjAzdjQuMDAzaDQuMDAzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg1M3YzNkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px;height:36px;margin:0;min-height:0;min-width:0;overflow:hidden;padding:0;position:absolute;resize:none;width:58px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MyIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSIjQzVDNUM1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjh6TTQuMDA4LjAwOEE0LjAwMyA0LjAwMyAwIDAgMCAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwIDAgNC4wMDMgNC4wMDJoNDQuMDI4YTQuMDAzIDQuMDAzIDAgMCAwIDQuMDAzLTQuMDAyVjQuMDFBNC4wMDMgNC4wMDMgMCAwIDAgNDguMDM2LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJ6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnptNC4wMDIgMGg0LjAwM3Y0LjAwM2gtNC4wMDN6bTEyLjAwOCAwaC00LjAwM3Y0LjAwM2g0LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM3ptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzem00LjAwMyAwaDIwLjAxM3Y0LjAwM0gxNi4wMTZ6bTI4LjAxOCAwSDQwLjAzdjQuMDAzaDQuMDAzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg1M3YzNkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);padding:10px;user-select:text;-webkit-user-select:text;z-index:50}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{background-color:var(--vscode-editorHoverWidget-border);border:0;height:1px}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{float:right;font-size:60%;font-weight:400}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,87%,.4);border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73%,.4);box-shadow:inset 0 -1px 0 hsla(0,0%,73%,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50%,.17);border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6);color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:\"SF Mono\",Monaco,Menlo,Consolas,\"Ubuntu Mono\",\"Liberation Mono\",\"DejaVu Sans Mono\",\"Courier New\",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;top:0;width:1px;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex=\"-1\"]:focus,.monaco-diff-editor [tabindex=\"0\"]:focus,.monaco-diff-editor button:focus,.monaco-diff-editor input[type=button]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-diff-editor select:focus,.monaco-diff-editor textarea:focus,.monaco-editor{opacity:1;outline-color:var(--vscode-focusBorder);outline-offset:-1px;outline-style:solid;outline-width:1px}.action-widget{background-color:var(--vscode-editorActionList-background);border:1px solid var(--vscode-editorWidget-border)!important;border-radius:0;border-radius:5px;box-shadow:0 2px 8px var(--vscode-widget-shadow);color:var(--vscode-editorActionList-foreground);display:block;font-size:13px;max-width:80vw;min-width:160px;padding:4px;width:100%;z-index:40}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{cursor:auto;height:100%;left:0;position:fixed;top:0;width:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{border:0!important;user-select:none;-webkit-user-select:none}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{border-radius:4px;cursor:pointer;padding:0 10px;touch-action:none;white-space:nowrap;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-editorActionList-focusBackground)!important;color:var(--vscode-editorActionList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-size:12px;font-weight:600}.action-widget .monaco-list-row.group-header:not(:first-of-type){margin-top:2px}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;background-color:transparent!important;outline:0 solid!important;-webkit-user-select:none;user-select:none}.action-widget .monaco-list-row.action{align-items:center;display:flex;gap:8px}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);border-radius:3px;border-style:solid;border-width:1px;box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);color:var(--vscode-keybindingLabel-foreground)}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorActionList-background);border-top:1px solid var(--vscode-editorHoverWidget-border);margin-top:2px}.action-widget .action-widget-action-bar:before{content:\"\";display:block;width:100%}.action-widget .action-widget-action-bar .actions-container{padding:3px 8px 0}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{border-radius:2px;color:var(--vscode-descriptionForeground);overflow:hidden}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:\", \"}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{border-radius:5px;display:flex!important;flex-direction:row}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;line-height:16px;margin-left:-3px;padding-left:0;padding-right:0}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{left:50%;margin-left:-300px;position:absolute;width:600px;z-index:2550;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{align-items:center;border-top-left-radius:5px;border-top-right-radius:5px;display:flex}.quick-input-left-action-bar{display:flex;flex:1;margin-left:4px}.quick-input-inline-action-bar{margin:2px 0 0 5px}.quick-input-title{overflow:hidden;padding:3px 0;text-align:center;text-overflow:ellipsis}.quick-input-right-action-bar{display:flex;flex:1;margin-right:4px}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{flex:1;margin:4px 2px}.quick-input-header{display:flex;padding:8px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{margin-bottom:0;padding:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{display:flex;flex-grow:1;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{left:-10000px;position:absolute}.quick-input-count{align-items:center;align-self:center;display:flex;position:absolute;right:4px}.quick-input-count .monaco-count-badge{border-radius:2px;line-height:normal;min-height:auto;padding:2px 4px;vertical-align:middle}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{align-items:center;display:flex;font-size:11px;height:25px;padding:0 6px}.quick-input-message{margin-top:-1px;overflow-wrap:break-word;padding:5px}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{max-height:440px;overflow:hidden;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;display:flex;overflow:hidden;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-style:solid;border-top-width:1px}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index=\"0\"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{display:flex;flex:1;height:100%;overflow:hidden}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{align-items:center;background-position:0;background-repeat:no-repeat;background-size:16px;display:flex;height:22px;justify-content:center;padding-right:6px;width:16px}.quick-input-list .quick-input-list-rows{display:flex;flex:1;flex-direction:column;height:100%;margin-left:5px;overflow:hidden;text-overflow:ellipsis}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{align-items:center;display:flex}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{line-height:normal;opacity:.7;overflow:hidden;text-overflow:ellipsis}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{background-color:unset;color:var(--vscode-list-highlightForeground)!important;font-weight:700}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px;margin-top:1px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-size:12px;padding:4px 6px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/editor/editor.main.js",
    "content": "/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt */ /* This fix ensures that old nls-plugin configurations are still respected by the new localization solution. */ /* We should try to avoid this file and find a different solution.  */ /* Warning: This file still has to work when replacing \"\\n\" with \" \"! */  /**  * @type {typeof define}  */ const globalDefine = globalThis.define; globalDefine('vs/nls.messages-loader', [], function (...args) { \treturn { \t\tload: (name, req, load, config) => { \t\t\tconst requestedLanguage = config['vs/nls']?.availableLanguages?.['*']; \t\t\tif (!requestedLanguage || requestedLanguage === 'en') { \t\t\t\tload({}); \t\t\t} else { \t\t\t\treq([`vs/nls.messages.${requestedLanguage}`], () => { \t\t\t\t\tload({}); \t\t\t\t}); \t\t\t} \t\t} \t}; }); globalDefine( \t'vs/nls.messages', \t['require', 'exports', 'vs/nls.messages-loader!'], \tfunction (require, exports) { \t\tObject.assign(exports, { \t\t\tgetNLSMessages: () => globalThis._VSCODE_NLS_MESSAGES, \t\t\tgetNLSLanguage: () => globalThis._VSCODE_NLS_LANGUAGE \t\t}); \t} ); define = function (...args) { \tif (args.length > 0 && args[0] === 'vs/nls.messages') { \t\treturn; \t} \treturn globalDefine(...args); }; define.amd = true;  /*\n *-----------------------------------------------------------*/(function(){var ne=[\"exports\",\"require\",\"vs/base/common/lifecycle\",\"vs/nls\",\"vs/editor/common/core/range\",\"vs/base/browser/dom\",\"vs/base/common/event\",\"vs/platform/instantiation/common/instantiation\",\"vs/base/common/errors\",\"vs/editor/common/core/position\",\"vs/css!vs/editor/editor.main\",\"vs/base/common/strings\",\"vs/platform/contextkey/common/contextkey\",\"vs/base/common/arrays\",\"vs/base/common/async\",\"vs/editor/browser/editorExtensions\",\"vs/base/common/platform\",\"vs/editor/common/services/languageFeatures\",\"vs/base/common/cancellation\",\"vs/base/common/types\",\"vs/editor/common/editorContextKeys\",\"vs/base/common/observable\",\"vs/base/common/uri\",\"vs/editor/common/core/selection\",\"vs/platform/commands/common/commands\",\"vs/platform/theme/common/themeService\",\"vs/base/common/codicons\",\"vs/editor/common/languages\",\"vs/platform/configuration/common/configuration\",\"vs/platform/actions/common/actions\",\"vs/base/common/themables\",\"vs/platform/keybinding/common/keybinding\",\"vs/platform/theme/common/colorRegistry\",\"vs/base/common/color\",\"vs/editor/browser/services/codeEditorService\",\"vs/editor/common/model/textModel\",\"vs/editor/common/languages/languageConfigurationRegistry\",\"vs/editor/common/config/editorOptions\",\"vs/platform/registry/common/platform\",\"vs/base/browser/fastDomNode\",\"vs/editor/common/model\",\"vs/base/common/actions\",\"vs/base/common/network\",\"vs/editor/common/languages/language\",\"vs/base/browser/ui/hover/hoverDelegateFactory\",\"vs/base/common/map\",\"vs/base/browser/ui/aria/aria\",\"vs/base/browser/keyboardEvent\",\"vs/base/common/resources\",\"vs/platform/instantiation/common/extensions\",\"vs/platform/notification/common/notification\",\"vs/editor/common/services/model\",\"vs/base/browser/window\",\"vs/base/common/iterator\",\"vs/base/common/stopwatch\",\"vs/editor/common/core/lineRange\",\"vs/editor/browser/view/viewPart\",\"vs/base/common/htmlContent\",\"vs/platform/contextview/browser/contextView\",\"vs/platform/opener/common/opener\",\"vs/base/common/objects\",\"vs/platform/accessibility/common/accessibility\",\"vs/platform/log/common/log\",\"vs/platform/telemetry/common/telemetry\",\"vs/base/browser/browser\",\"vs/base/common/observableInternal/derived\",\"vs/platform/quickinput/common/quickInput\",\"vs/base/common/arraysFind\",\"vs/editor/common/core/offsetRange\",\"vs/base/browser/touch\",\"vs/editor/common/languages/modesRegistry\",\"vs/platform/theme/common/iconRegistry\",\"vs/base/common/keyCodes\",\"vs/base/common/linkedList\",\"vs/editor/browser/config/domFontInfo\",\"vs/editor/common/core/editOperation\",\"vs/editor/common/cursorCommon\",\"vs/base/browser/mouseEvent\",\"vs/editor/common/services/resolverService\",\"vs/editor/common/services/languageFeatureDebounce\",\"vs/editor/common/core/editorColorRegistry\",\"vs/base/browser/ui/hover/hoverDelegate2\",\"vs/base/common/filters\",\"vs/editor/common/tokens/lineTokens\",\"vs/editor/contrib/hover/browser/hoverTypes\",\"vs/base/browser/ui/widget\",\"vs/base/browser/ui/scrollbar/scrollableElement\",\"vs/base/browser/ui/actionbar/actionbar\",\"vs/editor/browser/widget/diffEditor/utils\",\"vs/platform/theme/common/colorUtils\",\"vs/base/common/assert\",\"vs/base/common/hierarchicalKind\",\"vs/base/common/observableInternal/base\",\"vs/base/browser/event\",\"vs/editor/common/core/cursorColumns\",\"vs/editor/common/viewModel\",\"vs/platform/progress/common/progress\",\"vs/platform/theme/common/theme\",\"vs/base/common/lazy\",\"vs/base/common/path\",\"vs/editor/common/services/editorWorker\",\"vs/platform/storage/common/storage\",\"vs/base/common/equals\",\"vs/base/browser/trustedTypes\",\"vs/editor/common/core/textEdit\",\"vs/editor/common/diff/rangeMapping\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length\",\"vs/editor/common/standaloneStrings\",\"vs/platform/markers/common/markers\",\"vs/platform/configuration/common/configurationRegistry\",\"vs/platform/theme/browser/defaultStyles\",\"vs/base/common/severity\",\"vs/editor/browser/observableCodeEditor\",\"vs/editor/common/core/textLength\",\"vs/base/browser/ui/iconLabel/iconLabels\",\"vs/base/browser/ui/list/listWidget\",\"vs/editor/common/core/stringBuilder\",\"vs/platform/clipboard/common/clipboardService\",\"vs/platform/hover/browser/hover\",\"vs/platform/layout/browser/layoutService\",\"vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer\",\"vs/platform/keybinding/common/keybindingsRegistry\",\"vs/editor/contrib/editorState/browser/editorState\",\"vs/platform/theme/common/colors/baseColors\",\"vs/platform/actions/browser/menuEntryActionViewItem\",\"vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget\",\"vs/base/common/decorators\",\"vs/base/common/functional\",\"vs/base/common/mime\",\"vs/base/common/hash\",\"vs/editor/common/editorFeatures\",\"vs/editor/common/languages/languageConfiguration\",\"vs/editor/common/textModelEvents\",\"vs/editor/browser/view/dynamicViewOverlay\",\"vs/editor/contrib/codeAction/common/types\",\"vs/editor/contrib/snippet/browser/snippetParser\",\"vs/editor/common/viewLayout/viewLineRenderer\",\"vs/platform/accessibilitySignal/browser/accessibilitySignalService\",\"vs/platform/theme/common/colors/editorColors\",\"vs/editor/browser/widget/diffEditor/registrations.contribution\",\"vs/base/common/keybindings\",\"vs/base/common/numbers\",\"vs/base/common/iconLabels\",\"vs/editor/browser/stableEditorScroll\",\"vs/editor/common/core/characterClassifier\",\"vs/editor/common/core/eolCounter\",\"vs/editor/common/commands/replaceCommand\",\"vs/editor/common/core/wordHelper\",\"vs/editor/common/encodedTokenAttributes\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet\",\"vs/editor/common/viewLayout/lineDecorations\",\"vs/base/browser/ui/actionbar/actionViewItems\",\"vs/editor/browser/services/bulkEditService\",\"vs/editor/standalone/common/standaloneTheme\",\"vs/platform/instantiation/common/serviceCollection\",\"vs/editor/contrib/suggest/browser/suggest\",\"vs/platform/quickinput/common/quickAccess\",\"vs/editor/contrib/codeAction/browser/codeAction\",\"vs/editor/contrib/peekView/browser/peekView\",\"vs/base/browser/ui/tree/tree\",\"vs/base/common/buffer\",\"vs/base/common/observableInternal/debugName\",\"vs/base/common/observableInternal/logging\",\"vs/base/common/scrollable\",\"vs/editor/browser/view/renderingContext\",\"vs/editor/common/config/editorZoom\",\"vs/editor/common/core/wordCharacterClassifier\",\"vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm\",\"vs/editor/browser/editorBrowser\",\"vs/editor/common/languages/supports\",\"vs/editor/common/viewEventHandler\",\"vs/base/common/hotReloadHelpers\",\"vs/base/browser/globalPointerMoveMonitor\",\"vs/base/browser/ui/sash/sash\",\"vs/base/browser/ui/hover/hoverWidget\",\"vs/base/browser/ui/toggle/toggle\",\"vs/base/browser/ui/tree/abstractTree\",\"vs/editor/common/languages/nullTokenize\",\"vs/editor/contrib/gotoSymbol/browser/referencesModel\",\"vs/platform/contextkey/common/contextkeys\",\"vs/platform/dialogs/common/dialogs\",\"vs/platform/label/common/label\",\"vs/editor/contrib/documentSymbols/browser/outlineModel\",\"vs/editor/common/commands/shiftCommand\",\"vs/editor/contrib/message/browser/messageController\",\"vs/editor/browser/editorDom\",\"vs/platform/workspace/common/workspace\",\"vs/base/common/idGenerator\",\"vs/base/common/range\",\"vs/base/common/observableInternal/utils\",\"vs/base/common/diff/diff\",\"vs/base/common/codiconsUtil\",\"vs/base/common/uint\",\"vs/base/common/uuid\",\"vs/base/common/dataTransfer\",\"vs/base/browser/ui/codicons/codiconStyles\",\"vs/css!vs/editor/contrib/hover/browser/hover\",\"vs/editor/common/core/textModelDefaults\",\"vs/editor/common/editorCommon\",\"vs/editor/common/cursor/cursorWordOperations\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast\",\"vs/editor/common/model/textModelSearch\",\"vs/editor/contrib/folding/browser/foldingRanges\",\"vs/editor/contrib/inlineCompletions/browser/model/ghostText\",\"vs/editor/contrib/inlineCompletions/browser/utils\",\"vs/base/browser/ui/keybindingLabel/keybindingLabel\",\"vs/base/browser/markdownRenderer\",\"vs/editor/common/languages/supports/richEditBrackets\",\"vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture\",\"vs/editor/contrib/hover/browser/hoverUtils\",\"vs/editor/common/services/textResourceConfiguration\",\"vs/editor/browser/controller/textAreaInput\",\"vs/editor/common/cursor/cursorTypeEditOperations\",\"vs/editor/browser/coreCommands\",\"vs/editor/browser/widget/diffEditor/diffProviderFactoryService\",\"vs/platform/list/browser/listService\",\"vs/editor/contrib/hover/browser/markdownHoverParticipant\",\"vs/platform/actions/browser/toolbar\",\"vs/editor/browser/widget/codeEditor/codeEditorWidget\",\"vs/editor/contrib/find/browser/findModel\",\"vs/editor/contrib/snippet/browser/snippetController2\",\"vs/editor/standalone/browser/standaloneServices\",\"vs/base/browser/ui/scrollbar/scrollbarState\",\"vs/base/browser/dnd\",\"vs/base/common/ternarySearchTree\",\"vs/base/browser/ui/mouseCursor/mouseCursor\",\"vs/css!vs/editor/contrib/colorPicker/browser/colorPicker\",\"vs/css!vs/platform/quickinput/browser/media/quickInput\",\"vs/editor/browser/config/tabFocus\",\"vs/editor/common/core/indentation\",\"vs/editor/common/diff/defaultLinesDiffComputer/utils\",\"vs/editor/common/diff/linesDiffComputer\",\"vs/editor/common/cursor/cursorMoveOperations\",\"vs/editor/common/cursor/cursorDeleteOperations\",\"vs/editor/common/cursor/cursorMoveCommands\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer\",\"vs/editor/common/model/utils\",\"vs/editor/common/standalone/standaloneEnums\",\"vs/editor/common/textModelGuides\",\"vs/editor/common/languages/supports/indentationLineProcessor\",\"vs/editor/common/languages/autoIndent\",\"vs/editor/browser/viewParts/glyphMargin/glyphMargin\",\"vs/editor/common/viewEvents\",\"vs/editor/common/viewModelEventDispatcher\",\"vs/editor/contrib/inlineCompletions/browser/controller/commandIds\",\"vs/editor/contrib/inlineCompletions/browser/model/singleTextEdit\",\"vs/base/common/keybindingLabels\",\"vs/base/browser/canIUse\",\"vs/base/browser/ui/tree/indexTreeModel\",\"vs/base/browser/ui/tree/objectTreeModel\",\"vs/base/common/extpath\",\"vs/base/common/marshalling\",\"vs/base/browser/pixelRatio\",\"vs/base/browser/ui/iconLabel/iconLabel\",\"vs/base/browser/ui/resizable/resizable\",\"vs/base/browser/ui/scrollbar/scrollbarArrow\",\"vs/base/browser/ui/list/listView\",\"vs/base/browser/ui/button/button\",\"vs/base/browser/ui/inputbox/inputBox\",\"vs/base/browser/ui/findinput/findInput\",\"vs/editor/common/config/fontInfo\",\"vs/editor/browser/view/viewLayer\",\"vs/editor/common/model/tokens\",\"vs/editor/contrib/hover/browser/hoverActionIds\",\"vs/platform/instantiation/common/descriptors\",\"vs/editor/common/services/markerDecorations\",\"vs/editor/common/services/semanticTokensStyling\",\"vs/editor/contrib/dropOrPasteInto/browser/edit\",\"vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys\",\"vs/editor/contrib/parameterHints/browser/provideSignatureHelp\",\"vs/platform/environment/common/environment\",\"vs/platform/quickinput/browser/quickInput\",\"vs/platform/jsonschemas/common/jsonContributionRegistry\",\"vs/editor/common/config/editorConfigurationSchema\",\"vs/editor/common/languages/enterAction\",\"vs/editor/common/cursor/cursorTypeOperations\",\"vs/editor/contrib/gotoSymbol/browser/goToSymbol\",\"vs/platform/theme/common/colors/miscColors\",\"vs/platform/theme/common/colors/listColors\",\"vs/editor/contrib/symbolIcons/browser/symbolIcons\",\"vs/editor/browser/viewParts/lines/viewLine\",\"vs/editor/common/services/semanticTokensProviderStyling\",\"vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget\",\"vs/platform/undoRedo/common/undoRedo\",\"vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones\",\"vs/editor/browser/widget/diffEditor/diffEditorWidget\",\"vs/editor/contrib/codeAction/browser/codeActionController\",\"vs/editor/contrib/colorPicker/browser/colorHoverParticipant\",\"vs/editor/contrib/folding/browser/folding\",\"vs/editor/contrib/inlineProgress/browser/inlineProgress\",\"vs/editor/contrib/gotoSymbol/browser/goToCommands\",\"vs/editor/contrib/hover/browser/contentHoverController2\",\"vs/editor/contrib/dropOrPasteInto/browser/defaultProviders\",\"vs/editor/contrib/suggest/browser/suggestController\",\"vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController\",\"vs/base/browser/performance\",\"vs/base/common/cache\",\"vs/base/common/collections\",\"vs/base/common/observableInternal/autorun\",\"vs/base/common/ime\",\"vs/base/common/symbols\",\"vs/css!vs/base/browser/ui/actionbar/actionbar\",\"vs/css!vs/base/browser/ui/dropdown/dropdown\",\"vs/css!vs/base/browser/ui/findinput/findInput\",\"vs/css!vs/base/browser/ui/list/list\",\"vs/css!vs/platform/actionWidget/browser/actionWidget\",\"vs/editor/browser/viewParts/minimap/minimapCharSheet\",\"vs/editor/common/config/diffEditor\",\"vs/editor/browser/view/viewUserInputEvents\",\"vs/editor/browser/controller/textAreaState\",\"vs/editor/common/core/rgba\",\"vs/editor/common/commands/surroundSelectionCommand\",\"vs/editor/common/cursor/cursorAtomicMoveOperations\",\"vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm\",\"vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations\",\"vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence\",\"vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer\",\"vs/editor/common/editorAction\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets\",\"vs/editor/common/model/prefixSumComputer\",\"vs/editor/common/model/textModelPart\",\"vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase\",\"vs/editor/common/modelLineProjectionData\",\"vs/editor/common/services/editorWorkerHost\",\"vs/editor/common/services/treeViewsDnd\",\"vs/editor/common/services/unicodeTextModelHighlighter\",\"vs/editor/common/model/guidesTextModelPart\",\"vs/editor/common/tokens/contiguousMultilineTokensBuilder\",\"vs/editor/browser/viewParts/margin/margin\",\"vs/editor/common/viewModel/overviewZoneManager\",\"vs/editor/contrib/comment/browser/blockCommentCommand\",\"vs/editor/contrib/folding/browser/foldingModel\",\"vs/editor/contrib/folding/browser/indentRangeProvider\",\"vs/editor/contrib/folding/browser/syntaxRangeProvider\",\"vs/editor/contrib/format/browser/formattingEdit\",\"vs/editor/contrib/indentation/common/indentUtils\",\"vs/editor/contrib/semanticTokens/common/semanticTokensConfig\",\"vs/editor/contrib/smartSelect/browser/bracketSelections\",\"vs/editor/contrib/stickyScroll/browser/stickyScrollElement\",\"vs/editor/contrib/suggest/browser/completionModel\",\"vs/editor/contrib/suggest/browser/wordDistance\",\"vs/editor/standalone/common/monarch/monarchCommon\",\"vs/nls.messages\",\"vs/base/common/errorMessage\",\"vs/base/browser/fonts\",\"vs/base/common/process\",\"vs/base/common/hotReload\",\"vs/base/common/glob\",\"vs/base/browser/dompurify/dompurify\",\"vs/base/browser/formattedTextRenderer\",\"vs/base/browser/ui/contextview/contextview\",\"vs/base/browser/ui/countBadge/countBadge\",\"vs/base/browser/ui/highlightedlabel/highlightedLabel\",\"vs/base/browser/ui/scrollbar/abstractScrollbar\",\"vs/base/browser/ui/splitview/splitview\",\"vs/base/browser/ui/findinput/findInputToggles\",\"vs/base/browser/ui/dropdown/dropdownActionViewItem\",\"vs/base/browser/ui/tree/objectTree\",\"vs/base/common/worker/simpleWorker\",\"vs/editor/browser/config/elementSizeObserver\",\"vs/editor/browser/widget/diffEditor/components/diffEditorSash\",\"vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature\",\"vs/editor/browser/widget/multiDiffEditor/utils\",\"vs/editor/browser/config/fontMeasurements\",\"vs/editor/common/core/textChange\",\"vs/editor/common/languageSelector\",\"vs/editor/common/languages/textToHtmlTokenizer\",\"vs/editor/common/model/editStack\",\"vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer\",\"vs/editor/common/services/editorBaseApi\",\"vs/editor/common/services/textModelSync/textModelSync.impl\",\"vs/editor/common/viewModel/minimapTokensColorTracker\",\"vs/editor/common/viewModel/viewModelDecorations\",\"vs/editor/contrib/hover/browser/hoverOperation\",\"vs/editor/contrib/inlayHints/browser/inlayHints\",\"vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions\",\"vs/editor/contrib/placeholderText/browser/placeholderTextContribution\",\"vs/platform/accessibility/browser/accessibleViewRegistry\",\"vs/platform/action/common/action\",\"vs/platform/files/common/files\",\"vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature\",\"vs/editor/common/services/treeSitterParserService\",\"vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider\",\"vs/editor/contrib/codelens/browser/codelens\",\"vs/editor/contrib/semanticTokens/common/getSemanticTokens\",\"vs/editor/contrib/colorPicker/browser/color\",\"vs/editor/standalone/common/monarch/monarchLexer\",\"vs/editor/contrib/inlineEdits/browser/consts\",\"vs/editor/contrib/hover/browser/contentHoverStatusBar\",\"vs/platform/keybinding/common/keybindingResolver\",\"vs/platform/keybinding/common/resolvedKeybindingItem\",\"vs/editor/standalone/browser/standaloneLayoutService\",\"vs/platform/contextview/browser/contextViewService\",\"vs/editor/contrib/dropOrPasteInto/browser/postEditWidget\",\"vs/platform/observable/common/platformObservableUtils\",\"vs/platform/quickinput/browser/quickInputUtils\",\"vs/platform/dnd/browser/dnd\",\"vs/editor/browser/dnd\",\"vs/editor/browser/services/editorWorkerService\",\"vs/editor/contrib/suggest/browser/suggestWidgetDetails\",\"vs/platform/configuration/common/configurationModels\",\"vs/platform/history/browser/contextScopedHistoryWidget\",\"vs/editor/contrib/suggest/browser/suggestMemory\",\"vs/platform/actions/common/menuService\",\"vs/editor/browser/widget/diffEditor/diffEditorViewModel\",\"vs/editor/contrib/codeAction/browser/codeActionModel\",\"vs/editor/contrib/format/browser/format\",\"vs/editor/contrib/hover/browser/getHover\",\"vs/editor/contrib/wordOperations/browser/wordOperations\",\"vs/platform/theme/common/colors/inputColors\",\"vs/platform/theme/common/colors/minimapColors\",\"vs/editor/browser/controller/mouseTarget\",\"vs/editor/browser/widget/diffEditor/features/overviewRulerFeature\",\"vs/editor/browser/viewParts/lineNumbers/lineNumbers\",\"vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess\",\"vs/editor/standalone/browser/standaloneCodeEditorService\",\"vs/editor/standalone/browser/standaloneThemeService\",\"vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate\",\"vs/editor/contrib/codeAction/browser/lightBulbWidget\",\"vs/editor/contrib/colorPicker/browser/colorDetector\",\"vs/editor/contrib/find/browser/findController\",\"vs/editor/contrib/folding/browser/foldingDecorations\",\"vs/editor/contrib/inlineEdit/browser/inlineEditController\",\"vs/editor/contrib/wordHighlighter/browser/highlightDecorations\",\"vs/editor/contrib/gotoError/browser/gotoError\",\"vs/editor/contrib/gotoSymbol/browser/peek/referencesController\",\"vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition\",\"vs/editor/contrib/inlayHints/browser/inlayHintsLocations\",\"vs/editor/contrib/inlayHints/browser/inlayHintsController\",\"vs/editor/contrib/inlayHints/browser/inlayHintsHover\",\"vs/editor/contrib/stickyScroll/browser/stickyScrollController\",\"vs/editor/contrib/contextmenu/browser/contextmenu\",\"vs/editor/contrib/dropOrPasteInto/browser/copyPasteController\",\"vs/editor/contrib/snippet/browser/snippetSession\",\"vs/editor/contrib/suggest/browser/suggestModel\",\"vs/editor/contrib/inlineEdits/browser/inlineEditsWidget\",\"vs/editor/contrib/inlineEdits/browser/inlineEditsController\",\"vs/platform/workspace/common/workspaceTrust\",\"vs/base/browser/iframe\",\"vs/base/browser/ui/list/list\",\"vs/base/browser/ui/list/splice\",\"vs/base/common/diff/diffChange\",\"vs/base/common/comparers\",\"vs/base/common/linkedText\",\"vs/base/common/marked/marked\",\"vs/base/common/naturalLanguage/korean\",\"vs/base/common/navigator\",\"vs/base/common/history\",\"vs/base/common/observableInternal/lazyObservableValue\",\"vs/base/common/observableInternal/api\",\"vs/base/common/observableInternal/promise\",\"vs/base/browser/ui/list/rangeMap\",\"vs/base/common/search\",\"vs/base/common/tfIdf\",\"vs/base/common/codiconsLibrary\",\"vs/css!vs/base/browser/ui/aria/aria\",\"vs/css!vs/base/browser/ui/button/button\",\"vs/css!vs/base/browser/ui/codicons/codicon/codicon\",\"vs/css!vs/base/browser/ui/codicons/codicon/codicon-modifiers\",\"vs/css!vs/base/browser/ui/contextview/contextview\",\"vs/css!vs/base/browser/ui/countBadge/countBadge\",\"vs/css!vs/base/browser/ui/hover/hoverWidget\",\"vs/css!vs/base/browser/ui/iconLabel/iconlabel\",\"vs/css!vs/base/browser/ui/inputbox/inputBox\",\"vs/css!vs/base/browser/ui/keybindingLabel/keybindingLabel\",\"vs/css!vs/base/browser/ui/mouseCursor/mouseCursor\",\"vs/css!vs/base/browser/ui/progressbar/progressbar\",\"vs/css!vs/base/browser/ui/sash/sash\",\"vs/css!vs/base/browser/ui/scrollbar/media/scrollbars\",\"vs/css!vs/base/browser/ui/selectBox/selectBox\",\"vs/css!vs/base/browser/ui/selectBox/selectBoxCustom\",\"vs/css!vs/base/browser/ui/splitview/splitview\",\"vs/css!vs/base/browser/ui/table/table\",\"vs/css!vs/base/browser/ui/toggle/toggle\",\"vs/css!vs/base/browser/ui/toolbar/toolbar\",\"vs/css!vs/base/browser/ui/tree/media/tree\",\"vs/css!vs/editor/browser/controller/textAreaHandler\",\"vs/css!vs/editor/browser/services/hoverService/hover\",\"vs/css!vs/editor/browser/viewParts/blockDecorations/blockDecorations\",\"vs/css!vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight\",\"vs/css!vs/editor/browser/viewParts/decorations/decorations\",\"vs/css!vs/editor/browser/viewParts/glyphMargin/glyphMargin\",\"vs/css!vs/editor/browser/viewParts/indentGuides/indentGuides\",\"vs/css!vs/editor/browser/viewParts/lineNumbers/lineNumbers\",\"vs/css!vs/editor/browser/viewParts/lines/viewLines\",\"vs/css!vs/editor/browser/viewParts/linesDecorations/linesDecorations\",\"vs/css!vs/editor/browser/viewParts/margin/margin\",\"vs/css!vs/editor/browser/viewParts/marginDecorations/marginDecorations\",\"vs/css!vs/editor/browser/viewParts/minimap/minimap\",\"vs/css!vs/editor/browser/viewParts/overlayWidgets/overlayWidgets\",\"vs/css!vs/editor/browser/viewParts/rulers/rulers\",\"vs/css!vs/editor/browser/viewParts/scrollDecoration/scrollDecoration\",\"vs/css!vs/editor/browser/viewParts/selections/selections\",\"vs/css!vs/editor/browser/viewParts/viewCursors/viewCursors\",\"vs/css!vs/editor/browser/viewParts/whitespace/whitespace\",\"vs/css!vs/editor/browser/widget/codeEditor/editor\",\"vs/css!vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer\",\"vs/css!vs/editor/browser/widget/diffEditor/style\",\"vs/css!vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown\",\"vs/css!vs/editor/browser/widget/multiDiffEditor/style\",\"vs/css!vs/editor/contrib/anchorSelect/browser/anchorSelect\",\"vs/css!vs/editor/contrib/bracketMatching/browser/bracketMatching\",\"vs/css!vs/editor/contrib/codeAction/browser/lightBulbWidget\",\"vs/css!vs/editor/contrib/codelens/browser/codelensWidget\",\"vs/css!vs/editor/contrib/dnd/browser/dnd\",\"vs/css!vs/editor/contrib/dropOrPasteInto/browser/postEditWidget\",\"vs/css!vs/editor/contrib/find/browser/findOptionsWidget\",\"vs/css!vs/editor/contrib/find/browser/findWidget\",\"vs/css!vs/editor/contrib/folding/browser/folding\",\"vs/css!vs/editor/contrib/gotoError/browser/media/gotoErrorWidget\",\"vs/css!vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition\",\"vs/css!vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget\",\"vs/css!vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace\",\"vs/css!vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget\",\"vs/css!vs/editor/contrib/inlineCompletions/browser/view/ghostTextView\",\"vs/css!vs/editor/contrib/inlineEdit/browser/inlineEdit\",\"vs/css!vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget\",\"vs/css!vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget\",\"vs/css!vs/editor/contrib/inlineEdits/browser/inlineEditsWidget\",\"vs/css!vs/editor/contrib/inlineProgress/browser/inlineProgressWidget\",\"vs/css!vs/editor/contrib/linkedEditing/browser/linkedEditing\",\"vs/css!vs/editor/contrib/links/browser/links\",\"vs/css!vs/editor/contrib/message/browser/messageController\",\"vs/css!vs/editor/contrib/parameterHints/browser/parameterHints\",\"vs/css!vs/editor/contrib/peekView/browser/media/peekViewWidget\",\"vs/css!vs/editor/contrib/placeholderText/browser/placeholderText\",\"vs/css!vs/editor/contrib/rename/browser/renameWidget\",\"vs/css!vs/editor/contrib/snippet/browser/snippetSession\",\"vs/css!vs/editor/contrib/stickyScroll/browser/stickyScroll\",\"vs/css!vs/editor/contrib/suggest/browser/media/suggest\",\"vs/css!vs/editor/contrib/symbolIcons/browser/symbolIcons\",\"vs/css!vs/editor/contrib/unicodeHighlighter/browser/bannerController\",\"vs/css!vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter\",\"vs/css!vs/editor/contrib/wordHighlighter/browser/highlightDecorations\",\"vs/css!vs/editor/contrib/zoneWidget/browser/zoneWidget\",\"vs/css!vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard\",\"vs/css!vs/editor/standalone/browser/inspectTokens/inspectTokens\",\"vs/css!vs/editor/standalone/browser/quickInput/standaloneQuickInput\",\"vs/css!vs/editor/standalone/browser/standalone-tokens\",\"vs/css!vs/platform/actions/browser/menuEntryActionViewItem\",\"vs/css!vs/platform/opener/browser/link\",\"vs/css!vs/platform/severityIcon/browser/media/severityIcon\",\"vs/editor/browser/config/charWidthReader\",\"vs/editor/browser/config/migrateOptions\",\"vs/editor/browser/viewParts/lines/domReadingContext\",\"vs/editor/browser/viewParts/lines/rangeUtil\",\"vs/editor/browser/viewParts/minimap/minimapCharRenderer\",\"vs/editor/browser/viewParts/minimap/minimapPreBaked\",\"vs/editor/browser/viewParts/minimap/minimapCharRendererFactory\",\"vs/editor/browser/widget/diffEditor/delegatingEditorImpl\",\"vs/editor/browser/widget/multiDiffEditor/objectPool\",\"vs/editor/common/commands/trimTrailingWhitespaceCommand\",\"vs/editor/common/core/positionToOffset\",\"vs/editor/common/cursor/cursorContext\",\"vs/editor/common/diff/defaultLinesDiffComputer/lineSequence\",\"vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing\",\"vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines\",\"vs/editor/common/diff/legacyLinesDiffComputer\",\"vs/editor/common/diff/linesDiffComputers\",\"vs/editor/common/editorTheme\",\"vs/editor/common/languages/defaultDocumentColorsComputer\",\"vs/editor/common/languages/linkComputer\",\"vs/editor/common/cursor/cursorColumnSelection\",\"vs/editor/common/cursor/oneCursor\",\"vs/editor/common/cursor/cursorCollection\",\"vs/editor/common/languages/supports/characterPair\",\"vs/editor/common/languages/supports/indentRules\",\"vs/editor/common/languages/supports/inplaceReplaceSupport\",\"vs/editor/common/languages/supports/onEnter\",\"vs/editor/common/languages/supports/tokenization\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees\",\"vs/editor/common/model/bracketPairsTextModelPart/fixBrackets\",\"vs/editor/common/model/fixedArray\",\"vs/editor/common/model/indentationGuesser\",\"vs/editor/common/model/intervalTree\",\"vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase\",\"vs/editor/common/model/mirrorTextModel\",\"vs/editor/common/model/textModelText\",\"vs/editor/common/services/findSectionHeaders\",\"vs/editor/common/textModelBracketPairs\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree\",\"vs/editor/common/tokenizationRegistry\",\"vs/editor/common/tokens/contiguousMultilineTokens\",\"vs/editor/common/tokens/contiguousTokensEditing\",\"vs/editor/common/tokens/contiguousTokensStore\",\"vs/editor/common/tokens/sparseMultilineTokens\",\"vs/editor/common/tokens/sparseTokensStore\",\"vs/editor/browser/viewParts/blockDecorations/blockDecorations\",\"vs/editor/browser/viewParts/decorations/decorations\",\"vs/editor/browser/viewParts/linesDecorations/linesDecorations\",\"vs/editor/browser/viewParts/marginDecorations/marginDecorations\",\"vs/editor/browser/viewParts/rulers/rulers\",\"vs/editor/browser/viewParts/scrollDecoration/scrollDecoration\",\"vs/editor/browser/viewParts/viewZones/viewZones\",\"vs/editor/common/viewLayout/linePart\",\"vs/editor/common/viewLayout/linesLayout\",\"vs/editor/common/viewLayout/viewLinesViewportData\",\"vs/editor/common/viewModel/glyphLanesModel\",\"vs/editor/common/viewModel/modelLineProjection\",\"vs/editor/common/viewModel/monospaceLineBreaksComputer\",\"vs/editor/browser/viewParts/overviewRuler/overviewRuler\",\"vs/editor/common/viewModel/viewContext\",\"vs/editor/common/viewLayout/viewLayout\",\"vs/editor/contrib/caretOperations/browser/moveCaretCommand\",\"vs/editor/contrib/colorPicker/browser/colorPickerModel\",\"vs/editor/contrib/comment/browser/lineCommentCommand\",\"vs/editor/contrib/dnd/browser/dragAndDropCommand\",\"vs/editor/contrib/find/browser/replaceAllCommand\",\"vs/editor/contrib/find/browser/replacePattern\",\"vs/editor/contrib/folding/browser/hiddenRangeModel\",\"vs/editor/contrib/hover/browser/contentHoverTypes\",\"vs/editor/contrib/hover/browser/hoverAccessibleViews\",\"vs/editor/contrib/inPlaceReplace/browser/inPlaceReplaceCommand\",\"vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView\",\"vs/editor/contrib/inlineEdit/browser/commandIds\",\"vs/editor/contrib/linesOperations/browser/copyLinesCommand\",\"vs/editor/contrib/linesOperations/browser/sortLinesCommand\",\"vs/editor/contrib/smartSelect/browser/wordSelections\",\"vs/editor/contrib/suggest/browser/suggestCommitCharacters\",\"vs/editor/contrib/suggest/browser/suggestOvertypingCapturer\",\"vs/editor/standalone/browser/standaloneTreeSitterService\",\"vs/editor/standalone/common/monarch/monarchCompile\",\"vs/base/browser/ui/scrollbar/scrollbarVisibilityController\",\"vs/base/browser/ui/tree/compressedObjectTreeModel\",\"vs/base/common/fuzzyScorer\",\"vs/base/common/labels\",\"vs/base/browser/domObservable\",\"vs/base/browser/ui/dropdown/dropdown\",\"vs/base/browser/ui/list/rowCache\",\"vs/base/browser/ui/progressbar/progressbar\",\"vs/base/browser/ui/selectBox/selectBoxNative\",\"vs/base/browser/ui/scrollbar/horizontalScrollbar\",\"vs/base/browser/ui/scrollbar/verticalScrollbar\",\"vs/base/browser/ui/list/listPaging\",\"vs/base/browser/ui/table/tableWidget\",\"vs/base/browser/ui/selectBox/selectBoxCustom\",\"vs/base/browser/ui/selectBox/selectBox\",\"vs/base/browser/ui/findinput/replaceInput\",\"vs/base/browser/ui/menu/menu\",\"vs/base/browser/ui/toolbar/toolbar\",\"vs/base/browser/ui/tree/dataTree\",\"vs/base/browser/ui/tree/asyncDataTree\",\"vs/base/browser/defaultWorkerFactory\",\"vs/base/parts/storage/common/storage\",\"vs/editor/browser/services/hoverService/updatableHoverWidget\",\"vs/editor/browser/viewParts/contentWidgets/contentWidgets\",\"vs/editor/browser/viewParts/overlayWidgets/overlayWidgets\",\"vs/editor/browser/widget/codeEditor/codeEditorContributions\",\"vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin\",\"vs/editor/browser/widget/diffEditor/features/revertButtonsFeature\",\"vs/editor/browser/widget/diffEditor/utils/editorGutter\",\"vs/editor/browser/viewParts/viewCursors/viewCursor\",\"vs/editor/browser/view/domLineBreaksComputer\",\"vs/editor/browser/view/viewOverlays\",\"vs/editor/common/languageFeatureRegistry\",\"vs/editor/common/languages/supports/electricCharacter\",\"vs/editor/common/languages/supports/languageBracketsConfiguration\",\"vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl\",\"vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder\",\"vs/editor/common/model/textModelTokens\",\"vs/editor/common/model/treeSitterTokens\",\"vs/editor/common/services/semanticTokensDto\",\"vs/editor/common/services/editorSimpleWorker\",\"vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines\",\"vs/editor/contrib/hover/browser/contentHoverComputer\",\"vs/editor/contrib/hover/browser/marginHoverComputer\",\"vs/editor/contrib/hover/browser/resizableContentWidget\",\"vs/platform/action/common/actionCommonCategories\",\"vs/platform/contextkey/common/scanner\",\"vs/platform/editor/common/editor\",\"vs/platform/extensions/common/extensions\",\"vs/platform/history/browser/historyWidgetKeybindingHint\",\"vs/platform/instantiation/common/graph\",\"vs/editor/common/services/languageFeaturesService\",\"vs/editor/common/services/treeViewsDndService\",\"vs/editor/contrib/inlineCompletions/browser/view/ghostTextView\",\"vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider\",\"vs/editor/contrib/links/browser/getLinks\",\"vs/editor/standalone/browser/colorizer\",\"vs/editor/contrib/parameterHints/browser/parameterHintsModel\",\"vs/editor/contrib/suggest/browser/suggestAlternatives\",\"vs/editor/contrib/suggest/browser/wordContextKey\",\"vs/editor/browser/config/editorConfiguration\",\"vs/platform/contextkey/browser/contextKeyService\",\"vs/platform/instantiation/common/instantiationService\",\"vs/platform/keybinding/common/baseResolvedKeybinding\",\"vs/editor/contrib/hover/browser/contentHoverWidget\",\"vs/platform/keybinding/common/abstractKeybindingService\",\"vs/platform/keybinding/common/usLayoutResolvedKeybinding\",\"vs/platform/accessibility/browser/accessibilityService\",\"vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution\",\"vs/editor/contrib/documentSymbols/browser/documentSymbols\",\"vs/platform/clipboard/browser/clipboardService\",\"vs/platform/log/common/logService\",\"vs/editor/contrib/gotoError/browser/markerNavigationService\",\"vs/platform/markers/common/markerService\",\"vs/platform/observable/common/wrapInReloadableClass\",\"vs/editor/browser/services/openerService\",\"vs/platform/opener/browser/link\",\"vs/platform/quickinput/browser/pickerQuickAccess\",\"vs/platform/quickinput/browser/quickInputBox\",\"vs/editor/browser/services/hoverService/hoverWidget\",\"vs/editor/common/cursor/cursor\",\"vs/editor/common/model/tokenizationTextModelPart\",\"vs/editor/common/services/getIconClasses\",\"vs/editor/common/services/languagesAssociations\",\"vs/editor/common/services/languagesRegistry\",\"vs/editor/common/services/languageService\",\"vs/editor/contrib/hover/browser/marginHoverWidget\",\"vs/editor/contrib/hover/browser/marginHoverController\",\"vs/editor/contrib/indentation/common/indentation\",\"vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource\",\"vs/editor/contrib/linesOperations/browser/moveLinesCommand\",\"vs/platform/configuration/common/configurations\",\"vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode\",\"vs/platform/quickinput/browser/quickInputActions\",\"vs/platform/quickinput/browser/helpQuickAccess\",\"vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess\",\"vs/platform/quickinput/browser/quickAccess\",\"vs/platform/severityIcon/browser/severityIcon\",\"vs/editor/contrib/codelens/browser/codeLensCache\",\"vs/editor/browser/services/markerDecorations\",\"vs/editor/browser/view/viewController\",\"vs/editor/contrib/anchorSelect/browser/anchorSelect\",\"vs/editor/contrib/caretOperations/browser/caretOperations\",\"vs/editor/contrib/caretOperations/browser/transpose\",\"vs/editor/contrib/comment/browser/comment\",\"vs/editor/contrib/cursorUndo/browser/cursorUndo\",\"vs/editor/contrib/editorState/browser/keybindingCancellation\",\"vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver\",\"vs/editor/contrib/fontZoom/browser/fontZoom\",\"vs/editor/contrib/format/browser/formatActions\",\"vs/editor/contrib/gotoSymbol/browser/symbolNavigation\",\"vs/editor/contrib/indentation/browser/indentation\",\"vs/editor/contrib/lineSelection/browser/lineSelection\",\"vs/editor/contrib/linesOperations/browser/linesOperations\",\"vs/editor/contrib/longLinesHelper/browser/longLinesHelper\",\"vs/editor/contrib/readOnlyMessage/browser/contribution\",\"vs/editor/contrib/smartSelect/browser/smartSelect\",\"vs/editor/contrib/tokenization/browser/tokenization\",\"vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators\",\"vs/editor/contrib/wordPartOperations/browser/wordPartOperations\",\"vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard\",\"vs/editor/standalone/browser/inspectTokens/inspectTokens\",\"vs/platform/quickinput/browser/commandsQuickAccess\",\"vs/editor/contrib/quickAccess/browser/commandsQuickAccess\",\"vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess\",\"vs/platform/theme/common/colors/menuColors\",\"vs/platform/theme/common/colors/chartsColors\",\"vs/platform/theme/common/colors/quickpickColors\",\"vs/platform/theme/common/colors/searchColors\",\"vs/editor/browser/viewParts/minimap/minimap\",\"vs/editor/browser/widget/multiDiffEditor/colors\",\"vs/editor/contrib/codeAction/browser/codeActionMenu\",\"vs/editor/contrib/gotoSymbol/browser/peek/referencesTree\",\"vs/platform/actionWidget/browser/actionList\",\"vs/platform/actionWidget/browser/actionWidget\",\"vs/platform/contextview/browser/contextMenuHandler\",\"vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer\",\"vs/editor/contrib/colorPicker/browser/colorPickerWidget\",\"vs/editor/contrib/parameterHints/browser/parameterHintsWidget\",\"vs/editor/contrib/parameterHints/browser/parameterHints\",\"vs/editor/contrib/unicodeHighlighter/browser/bannerController\",\"vs/platform/theme/browser/iconsStyleSheet\",\"vs/editor/browser/controller/mouseHandler\",\"vs/editor/browser/controller/pointerHandler\",\"vs/editor/browser/viewParts/lines/viewLines\",\"vs/editor/browser/services/abstractCodeEditorService\",\"vs/editor/browser/services/hoverService/hoverService\",\"vs/editor/browser/viewParts/editorScrollbar/editorScrollbar\",\"vs/editor/browser/viewParts/selections/selections\",\"vs/editor/browser/widget/diffEditor/components/diffEditorEditors\",\"vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight\",\"vs/editor/browser/viewParts/indentGuides/indentGuides\",\"vs/editor/browser/controller/textAreaHandler\",\"vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler\",\"vs/editor/browser/viewParts/viewCursors/viewCursors\",\"vs/editor/browser/viewParts/whitespace/whitespace\",\"vs/editor/browser/view\",\"vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider\",\"vs/editor/common/services/markerDecorationsService\",\"vs/editor/common/services/semanticTokensStylingService\",\"vs/editor/contrib/placeholderText/browser/placeholderText.contribution\",\"vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess\",\"vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess\",\"vs/editor/contrib/rename/browser/renameWidget\",\"vs/editor/contrib/rename/browser/rename\",\"vs/editor/contrib/semanticTokens/browser/documentSemanticTokens\",\"vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens\",\"vs/editor/contrib/suggest/browser/suggestWidgetRenderer\",\"vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess\",\"vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess\",\"vs/editor/standalone/common/themes\",\"vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast\",\"vs/editor/contrib/suggest/browser/suggestWidgetStatus\",\"vs/editor/browser/widget/diffEditor/features/gutterFeature\",\"vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget\",\"vs/platform/contextview/browser/contextMenuService\",\"vs/platform/quickinput/browser/quickInputTree\",\"vs/platform/quickinput/browser/quickInputController\",\"vs/platform/quickinput/browser/quickInputService\",\"vs/editor/standalone/browser/quickInput/standaloneQuickInputService\",\"vs/editor/browser/widget/diffEditor/components/diffEditorDecorations\",\"vs/editor/browser/widget/diffEditor/diffEditorOptions\",\"vs/editor/common/services/modelService\",\"vs/editor/common/viewModel/viewModelLines\",\"vs/editor/common/viewModel/viewModelImpl\",\"vs/editor/browser/widget/diffEditor/commands\",\"vs/editor/browser/widget/diffEditor/diffEditor.contribution\",\"vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl\",\"vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget\",\"vs/editor/contrib/bracketMatching/browser/bracketMatching\",\"vs/editor/contrib/codeAction/browser/codeActionCommands\",\"vs/editor/contrib/codeAction/browser/codeActionContributions\",\"vs/editor/contrib/codelens/browser/codelensWidget\",\"vs/editor/contrib/codelens/browser/codelensController\",\"vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget\",\"vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions\",\"vs/editor/contrib/dnd/browser/dnd\",\"vs/editor/contrib/find/browser/findDecorations\",\"vs/editor/contrib/find/browser/findOptionsWidget\",\"vs/editor/contrib/find/browser/findState\",\"vs/editor/contrib/find/browser/findWidget\",\"vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace\",\"vs/editor/contrib/inlineEdit/browser/ghostTextWidget\",\"vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget\",\"vs/editor/contrib/inlineEdit/browser/commands\",\"vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution\",\"vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController\",\"vs/editor/contrib/linkedEditing/browser/linkedEditing\",\"vs/editor/contrib/links/browser/links\",\"vs/editor/contrib/sectionHeaders/browser/sectionHeaders\",\"vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider\",\"vs/editor/contrib/stickyScroll/browser/stickyScrollProvider\",\"vs/editor/contrib/stickyScroll/browser/stickyScrollWidget\",\"vs/editor/contrib/suggest/browser/suggestWidget\",\"vs/editor/contrib/multicursor/browser/multicursor\",\"vs/editor/contrib/wordHighlighter/browser/wordHighlighter\",\"vs/editor/contrib/zoneWidget/browser/zoneWidget\",\"vs/editor/contrib/gotoError/browser/gotoErrorWidget\",\"vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget\",\"vs/editor/contrib/hover/browser/markerHoverParticipant\",\"vs/editor/contrib/hover/browser/contentHoverRendered\",\"vs/editor/contrib/hover/browser/contentHoverWidgetWrapper\",\"vs/editor/contrib/colorPicker/browser/colorContributions\",\"vs/editor/contrib/hover/browser/hoverActions\",\"vs/editor/contrib/hover/browser/hoverContribution\",\"vs/editor/contrib/inlayHints/browser/inlayHintsContribution\",\"vs/editor/contrib/stickyScroll/browser/stickyScrollActions\",\"vs/editor/contrib/stickyScroll/browser/stickyScrollContribution\",\"vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch\",\"vs/platform/undoRedo/common/undoRedoService\",\"vs/editor/contrib/clipboard/browser/clipboard\",\"vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution\",\"vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution\",\"vs/editor/contrib/snippet/browser/snippetVariables\",\"vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel\",\"vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdaptor\",\"vs/editor/contrib/inlineCompletions/browser/controller/commands\",\"vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant\",\"vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution\",\"vs/editor/contrib/inlineEdits/browser/inlineEditsModel\",\"vs/editor/contrib/inlineEdits/browser/commands\",\"vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution\",\"vs/editor/contrib/suggest/browser/suggestInlineCompletions\",\"vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter\",\"vs/editor/editor.all\",\"vs/editor/standalone/browser/standaloneCodeEditor\",\"vs/editor/standalone/browser/standaloneLanguages\",\"vs/editor/standalone/browser/standaloneWebWorker\",\"vs/editor/standalone/browser/standaloneEditor\",\"vs/editor/editor.api\",\"vs/css\",\"vs/editor/edcore.main\"],se=function(oe){for(var e=[],d=0,k=oe.length;d<k;d++)e[d]=ne[oe[d]];return e};define(ne[876],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.load=d;function d(m,_,b,p){if(p=p||{},(p[\"vs/css\"]||{}).disabled){b({});return}const o=_.toUrl(m+\".css\");k(m,o,()=>{b({})},t=>{typeof b.error==\"function\"&&b.error(\"Could not find \"+o+\".\")})}function k(m,_,b,p){if(I(m,_)){b();return}E(m,_,b,p)}function I(m,_){const b=window.document.getElementsByTagName(\"link\");for(let p=0,n=b.length;p<n;p++){const o=b[p].getAttribute(\"data-name\"),t=b[p].getAttribute(\"href\");if(o===m||t===_)return!0}return!1}function E(m,_,b,p){const n=document.createElement(\"link\");n.setAttribute(\"rel\",\"stylesheet\"),n.setAttribute(\"type\",\"text/css\"),n.setAttribute(\"data-name\",m),y(m,n,b,p),n.setAttribute(\"href\",_),(window.document.head||window.document.getElementsByTagName(\"head\")[0]).appendChild(n)}function y(m,_,b,p){const n=()=>{_.removeEventListener(\"load\",o),_.removeEventListener(\"error\",t)},o=i=>{n(),b()},t=i=>{n(),p(i)};_.addEventListener(\"load\",o),_.addEventListener(\"error\",t)}});/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */const{entries:Zt,setPrototypeOf:Xt,isFrozen:Ci,getPrototypeOf:vi,getOwnPropertyDescriptor:Si}=Object;let{freeze:St,seal:Et,create:Jt}=Object,{apply:Vt,construct:zt}=typeof Reflect<\"u\"&&Reflect;St||(St=function(e){return e}),Et||(Et=function(e){return e}),Vt||(Vt=function(e,d,k){return e.apply(d,k)}),zt||(zt=function(e,d){return new e(...d)});const Wt=yt(Array.prototype.forEach),ei=yt(Array.prototype.pop),At=yt(Array.prototype.push),Bt=yt(String.prototype.toLowerCase),Kt=yt(String.prototype.toString),ti=yt(String.prototype.match),Rt=yt(String.prototype.replace),_i=yt(String.prototype.indexOf),wi=yt(String.prototype.trim),It=yt(Object.prototype.hasOwnProperty),_t=yt(RegExp.prototype.test),Pt=yi(TypeError);function yt(oe){return function(e){for(var d=arguments.length,k=new Array(d>1?d-1:0),I=1;I<d;I++)k[I-1]=arguments[I];return Vt(oe,e,k)}}function yi(oe){return function(){for(var e=arguments.length,d=new Array(e),k=0;k<e;k++)d[k]=arguments[k];return zt(oe,d)}}function lt(oe,e){let d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Bt;Xt&&Xt(oe,null);let k=e.length;for(;k--;){let I=e[k];if(typeof I==\"string\"){const E=d(I);E!==I&&(Ci(e)||(e[k]=E),I=E)}oe[I]=!0}return oe}function Li(oe){for(let e=0;e<oe.length;e++)It(oe,e)||(oe[e]=null);return oe}function Nt(oe){const e=Jt(null);for(const[d,k]of Zt(oe))It(oe,d)&&(Array.isArray(k)?e[d]=Li(k):k&&typeof k==\"object\"&&k.constructor===Object?e[d]=Nt(k):e[d]=k);return e}function Ot(oe,e){for(;oe!==null;){const k=Si(oe,e);if(k){if(k.get)return yt(k.get);if(typeof k.value==\"function\")return yt(k.value)}oe=vi(oe)}function d(){return null}return d}const ii=St([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"section\",\"select\",\"shadow\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]),qt=St([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]),Ut=St([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]),Ei=St([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]),jt=St([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\",\"mprescripts\"]),Ii=St([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]),ni=St([\"#text\"]),si=St([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"pattern\",\"placeholder\",\"playsinline\",\"popover\",\"popovertarget\",\"popovertargetaction\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"wrap\",\"xmlns\",\"slot\"]),$t=St([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"amplitude\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"exponent\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"intercept\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"slope\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"tablevalues\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]),oi=St([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnsalign\",\"columnlines\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lspace\",\"lquote\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]),Ht=St([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]),Di=Et(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm),ki=Et(/<%[\\w\\W]*|[\\w\\W]*%>/gm),Ti=Et(/\\${[\\w\\W]*}/gm),Ni=Et(/^data-[\\-\\w.\\u00B7-\\uFFFF]/),Mi=Et(/^aria-[\\-\\w]+$/),ri=Et(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),Ai=Et(/^(?:\\w+script|data):/i),Ri=Et(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),ai=Et(/^html$/i),Pi=Et(/^[a-z][.\\w]*(-[.\\w]+)+$/i);var li=Object.freeze({__proto__:null,MUSTACHE_EXPR:Di,ERB_EXPR:ki,TMPLIT_EXPR:Ti,DATA_ATTR:Ni,ARIA_ATTR:Mi,IS_ALLOWED_URI:ri,IS_SCRIPT_OR_DATA:Ai,ATTR_WHITESPACE:Ri,DOCTYPE_NAME:ai,CUSTOM_ELEMENT:Pi});const Ft={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Oi=function(){return typeof window>\"u\"?null:window},Fi=function(e,d){if(typeof e!=\"object\"||typeof e.createPolicy!=\"function\")return null;let k=null;const I=\"data-tt-policy-suffix\";d&&d.hasAttribute(I)&&(k=d.getAttribute(I));const E=\"dompurify\"+(k?\"#\"+k:\"\");try{return e.createPolicy(E,{createHTML(y){return y},createScriptURL(y){return y}})}catch{return console.warn(\"TrustedTypes policy \"+E+\" could not be created.\"),null}};function di(){let oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Oi();const e=Re=>di(Re);if(e.version=\"3.1.7\",e.removed=[],!oe||!oe.document||oe.document.nodeType!==Ft.document)return e.isSupported=!1,e;let{document:d}=oe;const k=d,I=k.currentScript,{DocumentFragment:E,HTMLTemplateElement:y,Node:m,Element:_,NodeFilter:b,NamedNodeMap:p=oe.NamedNodeMap||oe.MozNamedAttrMap,HTMLFormElement:n,DOMParser:o,trustedTypes:t}=oe,i=_.prototype,s=Ot(i,\"cloneNode\"),g=Ot(i,\"remove\"),c=Ot(i,\"nextSibling\"),l=Ot(i,\"childNodes\"),a=Ot(i,\"parentNode\");if(typeof y==\"function\"){const Re=d.createElement(\"template\");Re.content&&Re.content.ownerDocument&&(d=Re.content.ownerDocument)}let r,u=\"\";const{implementation:C,createNodeIterator:f,createDocumentFragment:h,getElementsByTagName:v}=d,{importNode:w}=k;let S={};e.isSupported=typeof Zt==\"function\"&&typeof a==\"function\"&&C&&C.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:L,ERB_EXPR:D,TMPLIT_EXPR:T,DATA_ATTR:M,ARIA_ATTR:A,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:N,CUSTOM_ELEMENT:O}=li;let{IS_ALLOWED_URI:F}=li,x=null;const W=lt({},[...ii,...qt,...Ut,...jt,...ni]);let V=null;const q=lt({},[...si,...$t,...oi,...Ht]);let H=Object.seal(Jt(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),z=null,U=null,j=!0,Y=!0,G=!1,K=!0,R=!1,J=!0,ie=!1,ue=!1,he=!1,pe=!1,ae=!1,ee=!1,de=!0,ge=!1;const X=\"user-content-\";let B=!0,$=!1,Q={},Z=null;const te=lt({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]);let re=null;const le=lt({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]);let me=null;const Ce=lt({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),ye=\"http://www.w3.org/1998/Math/MathML\",Le=\"http://www.w3.org/2000/svg\",Ee=\"http://www.w3.org/1999/xhtml\";let Me=Ee,Ae=!1,Ne=null;const Ke=lt({},[ye,Le,Ee],Kt);let ze=null;const Ge=[\"application/xhtml+xml\",\"text/html\"],it=\"text/html\";let Oe=null,Fe=null;const fe=d.createElement(\"form\"),_e=function(Se){return Se instanceof RegExp||Se instanceof Function},xe=function(){let Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Fe&&Fe===Se)){if((!Se||typeof Se!=\"object\")&&(Se={}),Se=Nt(Se),ze=Ge.indexOf(Se.PARSER_MEDIA_TYPE)===-1?it:Se.PARSER_MEDIA_TYPE,Oe=ze===\"application/xhtml+xml\"?Kt:Bt,x=It(Se,\"ALLOWED_TAGS\")?lt({},Se.ALLOWED_TAGS,Oe):W,V=It(Se,\"ALLOWED_ATTR\")?lt({},Se.ALLOWED_ATTR,Oe):q,Ne=It(Se,\"ALLOWED_NAMESPACES\")?lt({},Se.ALLOWED_NAMESPACES,Kt):Ke,me=It(Se,\"ADD_URI_SAFE_ATTR\")?lt(Nt(Ce),Se.ADD_URI_SAFE_ATTR,Oe):Ce,re=It(Se,\"ADD_DATA_URI_TAGS\")?lt(Nt(le),Se.ADD_DATA_URI_TAGS,Oe):le,Z=It(Se,\"FORBID_CONTENTS\")?lt({},Se.FORBID_CONTENTS,Oe):te,z=It(Se,\"FORBID_TAGS\")?lt({},Se.FORBID_TAGS,Oe):{},U=It(Se,\"FORBID_ATTR\")?lt({},Se.FORBID_ATTR,Oe):{},Q=It(Se,\"USE_PROFILES\")?Se.USE_PROFILES:!1,j=Se.ALLOW_ARIA_ATTR!==!1,Y=Se.ALLOW_DATA_ATTR!==!1,G=Se.ALLOW_UNKNOWN_PROTOCOLS||!1,K=Se.ALLOW_SELF_CLOSE_IN_ATTR!==!1,R=Se.SAFE_FOR_TEMPLATES||!1,J=Se.SAFE_FOR_XML!==!1,ie=Se.WHOLE_DOCUMENT||!1,pe=Se.RETURN_DOM||!1,ae=Se.RETURN_DOM_FRAGMENT||!1,ee=Se.RETURN_TRUSTED_TYPE||!1,he=Se.FORCE_BODY||!1,de=Se.SANITIZE_DOM!==!1,ge=Se.SANITIZE_NAMED_PROPS||!1,B=Se.KEEP_CONTENT!==!1,$=Se.IN_PLACE||!1,F=Se.ALLOWED_URI_REGEXP||ri,Me=Se.NAMESPACE||Ee,H=Se.CUSTOM_ELEMENT_HANDLING||{},Se.CUSTOM_ELEMENT_HANDLING&&_e(Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Se.CUSTOM_ELEMENT_HANDLING&&_e(Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Se.CUSTOM_ELEMENT_HANDLING&&typeof Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==\"boolean\"&&(H.allowCustomizedBuiltInElements=Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),R&&(Y=!1),ae&&(pe=!0),Q&&(x=lt({},ni),V=[],Q.html===!0&&(lt(x,ii),lt(V,si)),Q.svg===!0&&(lt(x,qt),lt(V,$t),lt(V,Ht)),Q.svgFilters===!0&&(lt(x,Ut),lt(V,$t),lt(V,Ht)),Q.mathMl===!0&&(lt(x,jt),lt(V,oi),lt(V,Ht))),Se.ADD_TAGS&&(x===W&&(x=Nt(x)),lt(x,Se.ADD_TAGS,Oe)),Se.ADD_ATTR&&(V===q&&(V=Nt(V)),lt(V,Se.ADD_ATTR,Oe)),Se.ADD_URI_SAFE_ATTR&&lt(me,Se.ADD_URI_SAFE_ATTR,Oe),Se.FORBID_CONTENTS&&(Z===te&&(Z=Nt(Z)),lt(Z,Se.FORBID_CONTENTS,Oe)),B&&(x[\"#text\"]=!0),ie&&lt(x,[\"html\",\"head\",\"body\"]),x.table&&(lt(x,[\"tbody\"]),delete z.tbody),Se.TRUSTED_TYPES_POLICY){if(typeof Se.TRUSTED_TYPES_POLICY.createHTML!=\"function\")throw Pt('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');if(typeof Se.TRUSTED_TYPES_POLICY.createScriptURL!=\"function\")throw Pt('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');r=Se.TRUSTED_TYPES_POLICY,u=r.createHTML(\"\")}else r===void 0&&(r=Fi(t,I)),r!==null&&typeof u==\"string\"&&(u=r.createHTML(\"\"));St&&St(Se),Fe=Se}},be=lt({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),ve=lt({},[\"annotation-xml\"]),we=lt({},[\"title\",\"style\",\"font\",\"a\",\"script\"]),Te=lt({},[...qt,...Ut,...Ei]),Pe=lt({},[...jt,...Ii]),Be=function(Se){let We=a(Se);(!We||!We.tagName)&&(We={namespaceURI:Me,tagName:\"template\"});const qe=Bt(Se.tagName),Ue=Bt(We.tagName);return Ne[Se.namespaceURI]?Se.namespaceURI===Le?We.namespaceURI===Ee?qe===\"svg\":We.namespaceURI===ye?qe===\"svg\"&&(Ue===\"annotation-xml\"||be[Ue]):!!Te[qe]:Se.namespaceURI===ye?We.namespaceURI===Ee?qe===\"math\":We.namespaceURI===Le?qe===\"math\"&&ve[Ue]:!!Pe[qe]:Se.namespaceURI===Ee?We.namespaceURI===Le&&!ve[Ue]||We.namespaceURI===ye&&!be[Ue]?!1:!Pe[qe]&&(we[qe]||!Te[qe]):!!(ze===\"application/xhtml+xml\"&&Ne[Se.namespaceURI]):!1},He=function(Se){At(e.removed,{element:Se});try{a(Se).removeChild(Se)}catch{g(Se)}},$e=function(Se,We){try{At(e.removed,{attribute:We.getAttributeNode(Se),from:We})}catch{At(e.removed,{attribute:null,from:We})}if(We.removeAttribute(Se),Se===\"is\"&&!V[Se])if(pe||ae)try{He(We)}catch{}else try{We.setAttribute(Se,\"\")}catch{}},je=function(Se){let We=null,qe=null;if(he)Se=\"<remove></remove>\"+Se;else{const tt=ti(Se,/^[\\r\\n\\t ]+/);qe=tt&&tt[0]}ze===\"application/xhtml+xml\"&&Me===Ee&&(Se='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>'+Se+\"</body></html>\");const Ue=r?r.createHTML(Se):Se;if(Me===Ee)try{We=new o().parseFromString(Ue,ze)}catch{}if(!We||!We.documentElement){We=C.createDocument(Me,\"template\",null);try{We.documentElement.innerHTML=Ae?u:Ue}catch{}}const Je=We.body||We.documentElement;return Se&&qe&&Je.insertBefore(d.createTextNode(qe),Je.childNodes[0]||null),Me===Ee?v.call(We,ie?\"html\":\"body\")[0]:ie?We.documentElement:Je},Xe=function(Se){return f.call(Se.ownerDocument||Se,Se,b.SHOW_ELEMENT|b.SHOW_COMMENT|b.SHOW_TEXT|b.SHOW_PROCESSING_INSTRUCTION|b.SHOW_CDATA_SECTION,null)},et=function(Se){return Se instanceof n&&(typeof Se.nodeName!=\"string\"||typeof Se.textContent!=\"string\"||typeof Se.removeChild!=\"function\"||!(Se.attributes instanceof p)||typeof Se.removeAttribute!=\"function\"||typeof Se.setAttribute!=\"function\"||typeof Se.namespaceURI!=\"string\"||typeof Se.insertBefore!=\"function\"||typeof Se.hasChildNodes!=\"function\")},dt=function(Se){return typeof m==\"function\"&&Se instanceof m},at=function(Se,We,qe){S[Se]&&Wt(S[Se],Ue=>{Ue.call(e,We,qe,Fe)})},st=function(Se){let We=null;if(at(\"beforeSanitizeElements\",Se,null),et(Se))return He(Se),!0;const qe=Oe(Se.nodeName);if(at(\"uponSanitizeElement\",Se,{tagName:qe,allowedTags:x}),Se.hasChildNodes()&&!dt(Se.firstElementChild)&&_t(/<[/\\w]/g,Se.innerHTML)&&_t(/<[/\\w]/g,Se.textContent)||Se.nodeType===Ft.progressingInstruction||J&&Se.nodeType===Ft.comment&&_t(/<[/\\w]/g,Se.data))return He(Se),!0;if(!x[qe]||z[qe]){if(!z[qe]&&bt(qe)&&(H.tagNameCheck instanceof RegExp&&_t(H.tagNameCheck,qe)||H.tagNameCheck instanceof Function&&H.tagNameCheck(qe)))return!1;if(B&&!Z[qe]){const Ue=a(Se)||Se.parentNode,Je=l(Se)||Se.childNodes;if(Je&&Ue){const tt=Je.length;for(let Qe=tt-1;Qe>=0;--Qe){const rt=s(Je[Qe],!0);rt.__removalCount=(Se.__removalCount||0)+1,Ue.insertBefore(rt,c(Se))}}}return He(Se),!0}return Se instanceof _&&!Be(Se)||(qe===\"noscript\"||qe===\"noembed\"||qe===\"noframes\")&&_t(/<\\/no(script|embed|frames)/i,Se.innerHTML)?(He(Se),!0):(R&&Se.nodeType===Ft.text&&(We=Se.textContent,Wt([L,D,T],Ue=>{We=Rt(We,Ue,\" \")}),Se.textContent!==We&&(At(e.removed,{element:Se.cloneNode()}),Se.textContent=We)),at(\"afterSanitizeElements\",Se,null),!1)},pt=function(Se,We,qe){if(de&&(We===\"id\"||We===\"name\")&&(qe in d||qe in fe))return!1;if(!(Y&&!U[We]&&_t(M,We))){if(!(j&&_t(A,We))){if(!V[We]||U[We]){if(!(bt(Se)&&(H.tagNameCheck instanceof RegExp&&_t(H.tagNameCheck,Se)||H.tagNameCheck instanceof Function&&H.tagNameCheck(Se))&&(H.attributeNameCheck instanceof RegExp&&_t(H.attributeNameCheck,We)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(We))||We===\"is\"&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&_t(H.tagNameCheck,qe)||H.tagNameCheck instanceof Function&&H.tagNameCheck(qe))))return!1}else if(!me[We]){if(!_t(F,Rt(qe,N,\"\"))){if(!((We===\"src\"||We===\"xlink:href\"||We===\"href\")&&Se!==\"script\"&&_i(qe,\"data:\")===0&&re[Se])){if(!(G&&!_t(P,Rt(qe,N,\"\")))){if(qe)return!1}}}}}}return!0},bt=function(Se){return Se!==\"annotation-xml\"&&ti(Se,O)},De=function(Se){at(\"beforeSanitizeAttributes\",Se,null);const{attributes:We}=Se;if(!We)return;const qe={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:V};let Ue=We.length;for(;Ue--;){const Je=We[Ue],{name:tt,namespaceURI:Qe,value:rt}=Je,Ct=Oe(tt);let ut=tt===\"value\"?rt:wi(rt);if(qe.attrName=Ct,qe.attrValue=ut,qe.keepAttr=!0,qe.forceKeepAttr=void 0,at(\"uponSanitizeAttribute\",Se,qe),ut=qe.attrValue,qe.forceKeepAttr||($e(tt,Se),!qe.keepAttr))continue;if(!K&&_t(/\\/>/i,ut)){$e(tt,Se);continue}R&&Wt([L,D,T],Ve=>{ut=Rt(ut,Ve,\" \")});const ot=Oe(Se.nodeName);if(pt(ot,Ct,ut)){if(ge&&(Ct===\"id\"||Ct===\"name\")&&($e(tt,Se),ut=X+ut),J&&_t(/((--!?|])>)|<\\/(style|title)/i,ut)){$e(tt,Se);continue}if(r&&typeof t==\"object\"&&typeof t.getAttributeType==\"function\"&&!Qe)switch(t.getAttributeType(ot,Ct)){case\"TrustedHTML\":{ut=r.createHTML(ut);break}case\"TrustedScriptURL\":{ut=r.createScriptURL(ut);break}}try{Qe?Se.setAttributeNS(Qe,tt,ut):Se.setAttribute(tt,ut),et(Se)?He(Se):ei(e.removed)}catch{}}}at(\"afterSanitizeAttributes\",Se,null)},Ie=function Re(Se){let We=null;const qe=Xe(Se);for(at(\"beforeSanitizeShadowDOM\",Se,null);We=qe.nextNode();)at(\"uponSanitizeShadowNode\",We,null),!st(We)&&(We.content instanceof E&&Re(We.content),De(We));at(\"afterSanitizeShadowDOM\",Se,null)};return e.sanitize=function(Re){let Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},We=null,qe=null,Ue=null,Je=null;if(Ae=!Re,Ae&&(Re=\"<!-->\"),typeof Re!=\"string\"&&!dt(Re))if(typeof Re.toString==\"function\"){if(Re=Re.toString(),typeof Re!=\"string\")throw Pt(\"dirty is not a string, aborting\")}else throw Pt(\"toString is not a function\");if(!e.isSupported)return Re;if(ue||xe(Se),e.removed=[],typeof Re==\"string\"&&($=!1),$){if(Re.nodeName){const rt=Oe(Re.nodeName);if(!x[rt]||z[rt])throw Pt(\"root node is forbidden and cannot be sanitized in-place\")}}else if(Re instanceof m)We=je(\"<!---->\"),qe=We.ownerDocument.importNode(Re,!0),qe.nodeType===Ft.element&&qe.nodeName===\"BODY\"||qe.nodeName===\"HTML\"?We=qe:We.appendChild(qe);else{if(!pe&&!R&&!ie&&Re.indexOf(\"<\")===-1)return r&&ee?r.createHTML(Re):Re;if(We=je(Re),!We)return pe?null:ee?u:\"\"}We&&he&&He(We.firstChild);const tt=Xe($?Re:We);for(;Ue=tt.nextNode();)st(Ue)||(Ue.content instanceof E&&Ie(Ue.content),De(Ue));if($)return Re;if(pe){if(ae)for(Je=h.call(We.ownerDocument);We.firstChild;)Je.appendChild(We.firstChild);else Je=We;return(V.shadowroot||V.shadowrootmode)&&(Je=w.call(k,Je,!0)),Je}let Qe=ie?We.outerHTML:We.innerHTML;return ie&&x[\"!doctype\"]&&We.ownerDocument&&We.ownerDocument.doctype&&We.ownerDocument.doctype.name&&_t(ai,We.ownerDocument.doctype.name)&&(Qe=\"<!DOCTYPE \"+We.ownerDocument.doctype.name+`>\n`+Qe),R&&Wt([L,D,T],rt=>{Qe=Rt(Qe,rt,\" \")}),r&&ee?r.createHTML(Qe):Qe},e.setConfig=function(){let Re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};xe(Re),ue=!0},e.clearConfig=function(){Fe=null,ue=!1},e.isValidAttribute=function(Re,Se,We){Fe||xe({});const qe=Oe(Re),Ue=Oe(Se);return pt(qe,Ue,We)},e.addHook=function(Re,Se){typeof Se==\"function\"&&(S[Re]=S[Re]||[],At(S[Re],Se))},e.removeHook=function(Re){if(S[Re])return ei(S[Re])},e.removeHooks=function(Re){S[Re]&&(S[Re]=[])},e.removeAllHooks=function(){S={}},e}var xi=di();define(\"vs/base/browser/dompurify/dompurify\",function(){return xi}),define(ne[39],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FastDomNode=void 0,e.createFastDomNode=I;class d{constructor(y){this.domNode=y,this._maxWidth=\"\",this._width=\"\",this._height=\"\",this._top=\"\",this._left=\"\",this._bottom=\"\",this._right=\"\",this._paddingLeft=\"\",this._fontFamily=\"\",this._fontWeight=\"\",this._fontSize=\"\",this._fontStyle=\"\",this._fontFeatureSettings=\"\",this._fontVariationSettings=\"\",this._textDecoration=\"\",this._lineHeight=\"\",this._letterSpacing=\"\",this._className=\"\",this._display=\"\",this._position=\"\",this._visibility=\"\",this._color=\"\",this._backgroundColor=\"\",this._layerHint=!1,this._contain=\"none\",this._boxShadow=\"\"}setMaxWidth(y){const m=k(y);this._maxWidth!==m&&(this._maxWidth=m,this.domNode.style.maxWidth=this._maxWidth)}setWidth(y){const m=k(y);this._width!==m&&(this._width=m,this.domNode.style.width=this._width)}setHeight(y){const m=k(y);this._height!==m&&(this._height=m,this.domNode.style.height=this._height)}setTop(y){const m=k(y);this._top!==m&&(this._top=m,this.domNode.style.top=this._top)}setLeft(y){const m=k(y);this._left!==m&&(this._left=m,this.domNode.style.left=this._left)}setBottom(y){const m=k(y);this._bottom!==m&&(this._bottom=m,this.domNode.style.bottom=this._bottom)}setRight(y){const m=k(y);this._right!==m&&(this._right=m,this.domNode.style.right=this._right)}setPaddingLeft(y){const m=k(y);this._paddingLeft!==m&&(this._paddingLeft=m,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(y){this._fontFamily!==y&&(this._fontFamily=y,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(y){this._fontWeight!==y&&(this._fontWeight=y,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(y){const m=k(y);this._fontSize!==m&&(this._fontSize=m,this.domNode.style.fontSize=this._fontSize)}setFontStyle(y){this._fontStyle!==y&&(this._fontStyle=y,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(y){this._fontFeatureSettings!==y&&(this._fontFeatureSettings=y,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(y){this._fontVariationSettings!==y&&(this._fontVariationSettings=y,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(y){this._textDecoration!==y&&(this._textDecoration=y,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(y){const m=k(y);this._lineHeight!==m&&(this._lineHeight=m,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(y){const m=k(y);this._letterSpacing!==m&&(this._letterSpacing=m,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(y){this._className!==y&&(this._className=y,this.domNode.className=this._className)}toggleClassName(y,m){this.domNode.classList.toggle(y,m),this._className=this.domNode.className}setDisplay(y){this._display!==y&&(this._display=y,this.domNode.style.display=this._display)}setPosition(y){this._position!==y&&(this._position=y,this.domNode.style.position=this._position)}setVisibility(y){this._visibility!==y&&(this._visibility=y,this.domNode.style.visibility=this._visibility)}setColor(y){this._color!==y&&(this._color=y,this.domNode.style.color=this._color)}setBackgroundColor(y){this._backgroundColor!==y&&(this._backgroundColor=y,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(y){this._layerHint!==y&&(this._layerHint=y,this.domNode.style.transform=this._layerHint?\"translate3d(0px, 0px, 0px)\":\"\")}setBoxShadow(y){this._boxShadow!==y&&(this._boxShadow=y,this.domNode.style.boxShadow=y)}setContain(y){this._contain!==y&&(this._contain=y,this.domNode.style.contain=this._contain)}setAttribute(y,m){this.domNode.setAttribute(y,m)}removeAttribute(y){this.domNode.removeAttribute(y)}appendChild(y){this.domNode.appendChild(y.domNode)}removeChild(y){this.domNode.removeChild(y.domNode)}}e.FastDomNode=d;function k(E){return typeof E==\"number\"?`${E}px`:E}function I(E){return new d(E)}}),define(ne[441],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IframeUtils=void 0;const d=new WeakMap;function k(E){if(!E.parent||E.parent===E)return null;try{const y=E.location,m=E.parent.location;if(y.origin!==\"null\"&&m.origin!==\"null\"&&y.origin!==m.origin)return null}catch{return null}return E.parent}class I{static getSameOriginWindowChain(y){let m=d.get(y);if(!m){m=[],d.set(y,m);let _=y,b;do b=k(_),b?m.push({window:new WeakRef(_),iframeElement:_.frameElement||null}):m.push({window:new WeakRef(_),iframeElement:null}),_=b;while(_)}return m.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(y,m){if(!m||y===m)return{top:0,left:0};let _=0,b=0;const p=this.getSameOriginWindowChain(y);for(const n of p){const o=n.window.deref();if(_+=o?.scrollY??0,b+=o?.scrollX??0,o===m||!n.iframeElement)break;const t=n.iframeElement.getBoundingClientRect();_+=t.top,b+=t.left}return{top:_,left:b}}}e.IframeUtils=I}),define(ne[296],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.inputLatency=void 0;var d;(function(k){const I={total:0,min:Number.MAX_VALUE,max:0},E={...I},y={...I},m={...I};let _=0;const b={keydown:0,input:0,render:0};function p(){r(),performance.mark(\"inputlatency/start\"),performance.mark(\"keydown/start\"),b.keydown=1,queueMicrotask(n)}k.onKeyDown=p;function n(){b.keydown===1&&(performance.mark(\"keydown/end\"),b.keydown=2)}function o(){performance.mark(\"input/start\"),b.input=1,a()}k.onBeforeInput=o;function t(){b.input===0&&o(),queueMicrotask(i)}k.onInput=t;function i(){b.input===1&&(performance.mark(\"input/end\"),b.input=2)}function s(){r()}k.onKeyUp=s;function g(){r()}k.onSelectionChange=g;function c(){b.keydown===2&&b.input===2&&b.render===0&&(performance.mark(\"render/start\"),b.render=1,queueMicrotask(l),a())}k.onRenderStart=c;function l(){b.render===1&&(performance.mark(\"render/end\"),b.render=2)}function a(){setTimeout(r)}function r(){b.keydown===2&&b.input===2&&b.render===2&&(performance.mark(\"inputlatency/end\"),performance.measure(\"keydown\",\"keydown/start\",\"keydown/end\"),performance.measure(\"input\",\"input/start\",\"input/end\"),performance.measure(\"render\",\"render/start\",\"render/end\"),performance.measure(\"inputlatency\",\"inputlatency/start\",\"inputlatency/end\"),u(\"keydown\",I),u(\"input\",E),u(\"render\",y),u(\"inputlatency\",m),_++,C())}function u(w,S){const L=performance.getEntriesByName(w)[0].duration;S.total+=L,S.min=Math.min(S.min,L),S.max=Math.max(S.max,L)}function C(){performance.clearMarks(\"keydown/start\"),performance.clearMarks(\"keydown/end\"),performance.clearMarks(\"input/start\"),performance.clearMarks(\"input/end\"),performance.clearMarks(\"render/start\"),performance.clearMarks(\"render/end\"),performance.clearMarks(\"inputlatency/start\"),performance.clearMarks(\"inputlatency/end\"),performance.clearMeasures(\"keydown\"),performance.clearMeasures(\"input\"),performance.clearMeasures(\"render\"),performance.clearMeasures(\"inputlatency\"),b.keydown=0,b.input=0,b.render=0}function f(){if(_===0)return;const w={keydown:h(I),input:h(E),render:h(y),total:h(m),sampleCount:_};return v(I),v(E),v(y),v(m),_=0,w}k.getAndClearMeasurements=f;function h(w){return{average:w.total/_,max:w.max,min:w.min}}function v(w){w.total=0,w.min=Number.MAX_VALUE,w.max=0}})(d||(e.inputLatency=d={}))}),define(ne[81],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.setBaseLayerHoverDelegate=k,e.getBaseLayerHoverDelegate=I;let d={showHover:()=>{},hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>null,showManagedHover:()=>{}};function k(E){d=E}function I(){return d}}),define(ne[442],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ListError=void 0;class d extends Error{constructor(I,E){super(`ListError [${I}] ${E}`)}}e.ListError=d}),define(ne[443],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CombinedSpliceable=void 0;class d{constructor(I){this.spliceables=I}splice(I,E,y){this.spliceables.forEach(m=>m.splice(I,E,y))}}e.CombinedSpliceable=d}),define(ne[223],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ScrollbarState=void 0;const d=20;class k{constructor(E,y,m,_,b,p){this._scrollbarSize=Math.round(y),this._oppositeScrollbarSize=Math.round(m),this._arrowSize=Math.round(E),this._visibleSize=_,this._scrollSize=b,this._scrollPosition=p,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new k(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(E){const y=Math.round(E);return this._visibleSize!==y?(this._visibleSize=y,this._refreshComputedValues(),!0):!1}setScrollSize(E){const y=Math.round(E);return this._scrollSize!==y?(this._scrollSize=y,this._refreshComputedValues(),!0):!1}setScrollPosition(E){const y=Math.round(E);return this._scrollPosition!==y?(this._scrollPosition=y,this._refreshComputedValues(),!0):!1}setScrollbarSize(E){this._scrollbarSize=Math.round(E)}setOppositeScrollbarSize(E){this._oppositeScrollbarSize=Math.round(E)}static _computeValues(E,y,m,_,b){const p=Math.max(0,m-E),n=Math.max(0,p-2*y),o=_>0&&_>m;if(!o)return{computedAvailableSize:Math.round(p),computedIsNeeded:o,computedSliderSize:Math.round(n),computedSliderRatio:0,computedSliderPosition:0};const t=Math.round(Math.max(d,Math.floor(m*n/_))),i=(n-t)/(_-m),s=b*i;return{computedAvailableSize:Math.round(p),computedIsNeeded:o,computedSliderSize:Math.round(t),computedSliderRatio:i,computedSliderPosition:Math.round(s)}}_refreshComputedValues(){const E=k._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=E.computedAvailableSize,this._computedIsNeeded=E.computedIsNeeded,this._computedSliderSize=E.computedSliderSize,this._computedSliderRatio=E.computedSliderRatio,this._computedSliderPosition=E.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(E){if(!this._computedIsNeeded)return 0;const y=E-this._arrowSize-this._computedSliderSize/2;return Math.round(y/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(E){if(!this._computedIsNeeded)return 0;const y=E-this._arrowSize;let m=this._scrollPosition;return y<this._computedSliderPosition?m-=this._visibleSize:m+=this._visibleSize,m}getDesiredScrollPositionFromDelta(E){if(!this._computedIsNeeded)return 0;const y=this._computedSliderPosition+E;return Math.round(y/this._computedSliderRatio)}}e.ScrollbarState=k}),define(ne[159],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WeakMapper=e.TreeError=e.TreeMouseEventTarget=e.ObjectTreeElementCollapseState=void 0;var d;(function(y){y[y.Expanded=0]=\"Expanded\",y[y.Collapsed=1]=\"Collapsed\",y[y.PreserveOrExpanded=2]=\"PreserveOrExpanded\",y[y.PreserveOrCollapsed=3]=\"PreserveOrCollapsed\"})(d||(e.ObjectTreeElementCollapseState=d={}));var k;(function(y){y[y.Unknown=0]=\"Unknown\",y[y.Twistie=1]=\"Twistie\",y[y.Element=2]=\"Element\",y[y.Filter=3]=\"Filter\"})(k||(e.TreeMouseEventTarget=k={}));class I extends Error{constructor(m,_){super(`TreeError [${m}] ${_}`)}}e.TreeError=I;class E{constructor(m){this.fn=m,this._map=new WeakMap}map(m){let _=this._map.get(m);return _||(_=this.fn(m),this._map.set(m,_)),_}}e.WeakMapper=E}),define(ne[52],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.mainWindow=void 0,e.ensureCodeWindow=d;function d(k,I){const E=k;typeof E.vscodeWindowId!=\"number\"&&Object.defineProperty(E,\"vscodeWindowId\",{get:()=>I})}e.mainWindow=window}),define(ne[64],se([1,0,52]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isAndroid=e.isElectron=e.isWebkitWebView=e.isSafari=e.isChrome=e.isWebKit=e.isFirefox=void 0,e.addMatchMediaChangeListener=I,e.getZoomFactor=E,e.isStandalone=_;class k{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new k}getZoomFactor(p){return this.mapWindowIdToZoomFactor.get(this.getWindowId(p))??1}getWindowId(p){return p.vscodeWindowId}}function I(b,p,n){typeof p==\"string\"&&(p=b.matchMedia(p)),p.addEventListener(\"change\",n)}function E(b){return k.INSTANCE.getZoomFactor(b)}const y=navigator.userAgent;e.isFirefox=y.indexOf(\"Firefox\")>=0,e.isWebKit=y.indexOf(\"AppleWebKit\")>=0,e.isChrome=y.indexOf(\"Chrome\")>=0,e.isSafari=!e.isChrome&&y.indexOf(\"Safari\")>=0,e.isWebkitWebView=!e.isChrome&&!e.isSafari&&e.isWebKit,e.isElectron=y.indexOf(\"Electron/\")>=0,e.isAndroid=y.indexOf(\"Android\")>=0;let m=!1;if(typeof d.mainWindow.matchMedia==\"function\"){const b=d.mainWindow.matchMedia(\"(display-mode: standalone) or (display-mode: window-controls-overlay)\"),p=d.mainWindow.matchMedia(\"(display-mode: fullscreen)\");m=b.matches,I(d.mainWindow,b,({matches:n})=>{m&&p.matches||(m=n)})}function _(){return m}}),define(ne[13],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Permutation=e.CallbackIterable=e.ArrayQueue=e.booleanComparator=e.numberComparator=e.CompareResult=void 0,e.tail=d,e.tail2=k,e.equals=I,e.removeFastWithoutKeepingOrder=E,e.binarySearch=y,e.binarySearch2=m,e.quickSelect=_,e.groupBy=b,e.groupAdjacentBy=p,e.forEachAdjacent=n,e.forEachWithNeighbors=o,e.coalesce=t,e.coalesceInPlace=i,e.isFalsyOrEmpty=s,e.isNonEmptyArray=g,e.distinct=c,e.firstOrDefault=l,e.range=a,e.arrayInsert=r,e.pushToStart=u,e.pushToEnd=C,e.pushMany=f,e.asArray=h,e.insertInto=v,e.splice=w,e.compareBy=D,e.tieBreakComparators=T,e.reverseOrder=P;function d(x,W=0){return x[x.length-(1+W)]}function k(x){if(x.length===0)throw new Error(\"Invalid tail call\");return[x.slice(0,x.length-1),x[x.length-1]]}function I(x,W,V=(q,H)=>q===H){if(x===W)return!0;if(!x||!W||x.length!==W.length)return!1;for(let q=0,H=x.length;q<H;q++)if(!V(x[q],W[q]))return!1;return!0}function E(x,W){const V=x.length-1;W<V&&(x[W]=x[V]),x.pop()}function y(x,W,V){return m(x.length,q=>V(x[q],W))}function m(x,W){let V=0,q=x-1;for(;V<=q;){const H=(V+q)/2|0,z=W(H);if(z<0)V=H+1;else if(z>0)q=H-1;else return H}return-(V+1)}function _(x,W,V){if(x=x|0,x>=W.length)throw new TypeError(\"invalid index\");const q=W[Math.floor(W.length*Math.random())],H=[],z=[],U=[];for(const j of W){const Y=V(j,q);Y<0?H.push(j):Y>0?z.push(j):U.push(j)}return x<H.length?_(x,H,V):x<H.length+U.length?U[0]:_(x-(H.length+U.length),z,V)}function b(x,W){const V=[];let q;for(const H of x.slice(0).sort(W))!q||W(q[0],H)!==0?(q=[H],V.push(q)):q.push(H);return V}function*p(x,W){let V,q;for(const H of x)q!==void 0&&W(q,H)?V.push(H):(V&&(yield V),V=[H]),q=H;V&&(yield V)}function n(x,W){for(let V=0;V<=x.length;V++)W(V===0?void 0:x[V-1],V===x.length?void 0:x[V])}function o(x,W){for(let V=0;V<x.length;V++)W(V===0?void 0:x[V-1],x[V],V+1===x.length?void 0:x[V+1])}function t(x){return x.filter(W=>!!W)}function i(x){let W=0;for(let V=0;V<x.length;V++)x[V]&&(x[W]=x[V],W+=1);x.length=W}function s(x){return!Array.isArray(x)||x.length===0}function g(x){return Array.isArray(x)&&x.length>0}function c(x,W=V=>V){const V=new Set;return x.filter(q=>{const H=W(q);return V.has(H)?!1:(V.add(H),!0)})}function l(x,W){return x.length>0?x[0]:W}function a(x,W){let V=typeof W==\"number\"?x:0;typeof W==\"number\"?V=x:(V=0,W=x);const q=[];if(V<=W)for(let H=V;H<W;H++)q.push(H);else for(let H=V;H>W;H--)q.push(H);return q}function r(x,W,V){const q=x.slice(0,W),H=x.slice(W);return q.concat(V,H)}function u(x,W){const V=x.indexOf(W);V>-1&&(x.splice(V,1),x.unshift(W))}function C(x,W){const V=x.indexOf(W);V>-1&&(x.splice(V,1),x.push(W))}function f(x,W){for(const V of W)x.push(V)}function h(x){return Array.isArray(x)?x:[x]}function v(x,W,V){const q=S(x,W),H=x.length,z=V.length;x.length=H+z;for(let U=H-1;U>=q;U--)x[U+z]=x[U];for(let U=0;U<z;U++)x[U+q]=V[U]}function w(x,W,V,q){const H=S(x,W);let z=x.splice(H,V);return z===void 0&&(z=[]),v(x,H,q),z}function S(x,W){return W<0?Math.max(W+x.length,0):Math.min(W,x.length)}var L;(function(x){function W(z){return z<0}x.isLessThan=W;function V(z){return z<=0}x.isLessThanOrEqual=V;function q(z){return z>0}x.isGreaterThan=q;function H(z){return z===0}x.isNeitherLessOrGreaterThan=H,x.greaterThan=1,x.lessThan=-1,x.neitherLessOrGreaterThan=0})(L||(e.CompareResult=L={}));function D(x,W){return(V,q)=>W(x(V),x(q))}function T(...x){return(W,V)=>{for(const q of x){const H=q(W,V);if(!L.isNeitherLessOrGreaterThan(H))return H}return L.neitherLessOrGreaterThan}}const M=(x,W)=>x-W;e.numberComparator=M;const A=(x,W)=>(0,e.numberComparator)(x?1:0,W?1:0);e.booleanComparator=A;function P(x){return(W,V)=>-x(W,V)}class N{constructor(W){this.items=W,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(W){let V=this.firstIdx;for(;V<this.items.length&&W(this.items[V]);)V++;const q=V===this.firstIdx?null:this.items.slice(this.firstIdx,V);return this.firstIdx=V,q}takeFromEndWhile(W){let V=this.lastIdx;for(;V>=0&&W(this.items[V]);)V--;const q=V===this.lastIdx?null:this.items.slice(V+1,this.lastIdx+1);return this.lastIdx=V,q}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const W=this.items[this.firstIdx];return this.firstIdx++,W}takeCount(W){const V=this.items.slice(this.firstIdx,this.firstIdx+W);return this.firstIdx+=W,V}}e.ArrayQueue=N;class O{static{this.empty=new O(W=>{})}constructor(W){this.iterate=W}toArray(){const W=[];return this.iterate(V=>(W.push(V),!0)),W}filter(W){return new O(V=>this.iterate(q=>W(q)?V(q):!0))}map(W){return new O(V=>this.iterate(q=>V(W(q))))}findLast(W){let V;return this.iterate(q=>(W(q)&&(V=q),!0)),V}findLastMaxBy(W){let V,q=!0;return this.iterate(H=>((q||L.isGreaterThan(W(H,V)))&&(q=!1,V=H),!0)),V}}e.CallbackIterable=O;class F{constructor(W){this._indexMap=W}static createSortPermutation(W,V){const q=Array.from(W.keys()).sort((H,z)=>V(W[H],W[z]));return new F(q)}apply(W){return W.map((V,q)=>W[this._indexMap[q]])}inverse(){const W=this._indexMap.slice();for(let V=0;V<this._indexMap.length;V++)W[this._indexMap[V]]=V;return new F(W)}}e.Permutation=F}),define(ne[67],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MonotonousArray=void 0,e.findLast=d,e.findLastIdx=k,e.findLastMonotonous=I,e.findLastIdxMonotonous=E,e.findFirstMonotonous=y,e.findFirstIdxMonotonousOrArrLen=m,e.findFirstMax=b,e.findLastMax=p,e.findFirstMin=n,e.findMaxIdx=o,e.mapFindFirst=t;function d(i,s){const g=k(i,s);if(g!==-1)return i[g]}function k(i,s,g=i.length-1){for(let c=g;c>=0;c--){const l=i[c];if(s(l))return c}return-1}function I(i,s){const g=E(i,s);return g===-1?void 0:i[g]}function E(i,s,g=0,c=i.length){let l=g,a=c;for(;l<a;){const r=Math.floor((l+a)/2);s(i[r])?l=r+1:a=r}return l-1}function y(i,s){const g=m(i,s);return g===i.length?void 0:i[g]}function m(i,s,g=0,c=i.length){let l=g,a=c;for(;l<a;){const r=Math.floor((l+a)/2);s(i[r])?a=r:l=r+1}return l}class _{static{this.assertInvariants=!1}constructor(s){this._array=s,this._findLastMonotonousLastIdx=0}findLastMonotonous(s){if(_.assertInvariants){if(this._prevFindLastPredicate){for(const c of this._array)if(this._prevFindLastPredicate(c)&&!s(c))throw new Error(\"MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.\")}this._prevFindLastPredicate=s}const g=E(this._array,s,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=g+1,g===-1?void 0:this._array[g]}}e.MonotonousArray=_;function b(i,s){if(i.length===0)return;let g=i[0];for(let c=1;c<i.length;c++){const l=i[c];s(l,g)>0&&(g=l)}return g}function p(i,s){if(i.length===0)return;let g=i[0];for(let c=1;c<i.length;c++){const l=i[c];s(l,g)>=0&&(g=l)}return g}function n(i,s){return b(i,(g,c)=>-s(g,c))}function o(i,s){if(i.length===0)return-1;let g=0;for(let c=1;c<i.length;c++){const l=i[c];s(l,i[g])>0&&(g=c)}return g}function t(i,s){for(const g of i){const c=s(g);if(c!==void 0)return c}}}),define(ne[297],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CachedFunction=e.LRUCachedFunction=void 0,e.identity=d;function d(E){return E}class k{constructor(y,m){this.lastCache=void 0,this.lastArgKey=void 0,typeof y==\"function\"?(this._fn=y,this._computeKey=d):(this._fn=m,this._computeKey=y.getCacheKey)}get(y){const m=this._computeKey(y);return this.lastArgKey!==m&&(this.lastArgKey=m,this.lastCache=this._fn(y)),this.lastCache}}e.LRUCachedFunction=k;class I{get cachedValues(){return this._map}constructor(y,m){this._map=new Map,this._map2=new Map,typeof y==\"function\"?(this._fn=y,this._computeKey=d):(this._fn=m,this._computeKey=y.getCacheKey)}get(y){const m=this._computeKey(y);if(this._map2.has(m))return this._map2.get(m);const _=this._fn(y);return this._map.set(y,_),this._map2.set(m,_),_}}e.CachedFunction=I}),define(ne[298],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.diffSets=d,e.intersection=k;function d(I,E){const y=[],m=[];for(const _ of I)E.has(_)||y.push(_);for(const _ of E)I.has(_)||m.push(_);return{removed:y,added:m}}function k(I,E){const y=new Set;for(const m of E)I.has(m)&&y.add(m);return y}}),define(ne[33],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Color=e.HSVA=e.HSLA=e.RGBA=void 0;function d(m,_){const b=Math.pow(10,_);return Math.round(m*b)/b}class k{constructor(_,b,p,n=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,_))|0,this.g=Math.min(255,Math.max(0,b))|0,this.b=Math.min(255,Math.max(0,p))|0,this.a=d(Math.max(Math.min(1,n),0),3)}static equals(_,b){return _.r===b.r&&_.g===b.g&&_.b===b.b&&_.a===b.a}}e.RGBA=k;class I{constructor(_,b,p,n){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,_),0)|0,this.s=d(Math.max(Math.min(1,b),0),3),this.l=d(Math.max(Math.min(1,p),0),3),this.a=d(Math.max(Math.min(1,n),0),3)}static equals(_,b){return _.h===b.h&&_.s===b.s&&_.l===b.l&&_.a===b.a}static fromRGBA(_){const b=_.r/255,p=_.g/255,n=_.b/255,o=_.a,t=Math.max(b,p,n),i=Math.min(b,p,n);let s=0,g=0;const c=(i+t)/2,l=t-i;if(l>0){switch(g=Math.min(c<=.5?l/(2*c):l/(2-2*c),1),t){case b:s=(p-n)/l+(p<n?6:0);break;case p:s=(n-b)/l+2;break;case n:s=(b-p)/l+4;break}s*=60,s=Math.round(s)}return new I(s,g,c,o)}static _hue2rgb(_,b,p){return p<0&&(p+=1),p>1&&(p-=1),p<1/6?_+(b-_)*6*p:p<1/2?b:p<2/3?_+(b-_)*(2/3-p)*6:_}static toRGBA(_){const b=_.h/360,{s:p,l:n,a:o}=_;let t,i,s;if(p===0)t=i=s=n;else{const g=n<.5?n*(1+p):n+p-n*p,c=2*n-g;t=I._hue2rgb(c,g,b+1/3),i=I._hue2rgb(c,g,b),s=I._hue2rgb(c,g,b-1/3)}return new k(Math.round(t*255),Math.round(i*255),Math.round(s*255),o)}}e.HSLA=I;class E{constructor(_,b,p,n){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,_),0)|0,this.s=d(Math.max(Math.min(1,b),0),3),this.v=d(Math.max(Math.min(1,p),0),3),this.a=d(Math.max(Math.min(1,n),0),3)}static equals(_,b){return _.h===b.h&&_.s===b.s&&_.v===b.v&&_.a===b.a}static fromRGBA(_){const b=_.r/255,p=_.g/255,n=_.b/255,o=Math.max(b,p,n),t=Math.min(b,p,n),i=o-t,s=o===0?0:i/o;let g;return i===0?g=0:o===b?g=((p-n)/i%6+6)%6:o===p?g=(n-b)/i+2:g=(b-p)/i+4,new E(Math.round(g*60),s,o,_.a)}static toRGBA(_){const{h:b,s:p,v:n,a:o}=_,t=n*p,i=t*(1-Math.abs(b/60%2-1)),s=n-t;let[g,c,l]=[0,0,0];return b<60?(g=t,c=i):b<120?(g=i,c=t):b<180?(c=t,l=i):b<240?(c=i,l=t):b<300?(g=i,l=t):b<=360&&(g=t,l=i),g=Math.round((g+s)*255),c=Math.round((c+s)*255),l=Math.round((l+s)*255),new k(g,c,l,o)}}e.HSVA=E;class y{static fromHex(_){return y.Format.CSS.parseHex(_)||y.red}static equals(_,b){return!_&&!b?!0:!_||!b?!1:_.equals(b)}get hsla(){return this._hsla?this._hsla:I.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:E.fromRGBA(this.rgba)}constructor(_){if(_)if(_ instanceof k)this.rgba=_;else if(_ instanceof I)this._hsla=_,this.rgba=I.toRGBA(_);else if(_ instanceof E)this._hsva=_,this.rgba=E.toRGBA(_);else throw new Error(\"Invalid color ctor argument\");else throw new Error(\"Color needs a value\")}equals(_){return!!_&&k.equals(this.rgba,_.rgba)&&I.equals(this.hsla,_.hsla)&&E.equals(this.hsva,_.hsva)}getRelativeLuminance(){const _=y._relativeLuminanceForComponent(this.rgba.r),b=y._relativeLuminanceForComponent(this.rgba.g),p=y._relativeLuminanceForComponent(this.rgba.b),n=.2126*_+.7152*b+.0722*p;return d(n,4)}static _relativeLuminanceForComponent(_){const b=_/255;return b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(_){const b=this.getRelativeLuminance(),p=_.getRelativeLuminance();return b>p}isDarkerThan(_){const b=this.getRelativeLuminance(),p=_.getRelativeLuminance();return b<p}lighten(_){return new y(new I(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*_,this.hsla.a))}darken(_){return new y(new I(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*_,this.hsla.a))}transparent(_){const{r:b,g:p,b:n,a:o}=this.rgba;return new y(new k(b,p,n,o*_))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new y(new k(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}makeOpaque(_){if(this.isOpaque()||_.rgba.a!==1)return this;const{r:b,g:p,b:n,a:o}=this.rgba;return new y(new k(_.rgba.r-o*(_.rgba.r-b),_.rgba.g-o*(_.rgba.g-p),_.rgba.b-o*(_.rgba.b-n),1))}toString(){return this._toString||(this._toString=y.Format.CSS.format(this)),this._toString}static getLighterColor(_,b,p){if(_.isLighterThan(b))return _;p=p||.5;const n=_.getRelativeLuminance(),o=b.getRelativeLuminance();return p=p*(o-n)/o,_.lighten(p)}static getDarkerColor(_,b,p){if(_.isDarkerThan(b))return _;p=p||.5;const n=_.getRelativeLuminance(),o=b.getRelativeLuminance();return p=p*(n-o)/n,_.darken(p)}static{this.white=new y(new k(255,255,255,1))}static{this.black=new y(new k(0,0,0,1))}static{this.red=new y(new k(255,0,0,1))}static{this.blue=new y(new k(0,0,255,1))}static{this.green=new y(new k(0,255,0,1))}static{this.cyan=new y(new k(0,255,255,1))}static{this.lightgrey=new y(new k(211,211,211,1))}static{this.transparent=new y(new k(0,0,0,0))}}e.Color=y,function(m){let _;(function(b){let p;(function(n){function o(C){return C.rgba.a===1?`rgb(${C.rgba.r}, ${C.rgba.g}, ${C.rgba.b})`:m.Format.CSS.formatRGBA(C)}n.formatRGB=o;function t(C){return`rgba(${C.rgba.r}, ${C.rgba.g}, ${C.rgba.b}, ${+C.rgba.a.toFixed(2)})`}n.formatRGBA=t;function i(C){return C.hsla.a===1?`hsl(${C.hsla.h}, ${(C.hsla.s*100).toFixed(2)}%, ${(C.hsla.l*100).toFixed(2)}%)`:m.Format.CSS.formatHSLA(C)}n.formatHSL=i;function s(C){return`hsla(${C.hsla.h}, ${(C.hsla.s*100).toFixed(2)}%, ${(C.hsla.l*100).toFixed(2)}%, ${C.hsla.a.toFixed(2)})`}n.formatHSLA=s;function g(C){const f=C.toString(16);return f.length!==2?\"0\"+f:f}function c(C){return`#${g(C.rgba.r)}${g(C.rgba.g)}${g(C.rgba.b)}`}n.formatHex=c;function l(C,f=!1){return f&&C.rgba.a===1?m.Format.CSS.formatHex(C):`#${g(C.rgba.r)}${g(C.rgba.g)}${g(C.rgba.b)}${g(Math.round(C.rgba.a*255))}`}n.formatHexA=l;function a(C){return C.isOpaque()?m.Format.CSS.formatHex(C):m.Format.CSS.formatRGBA(C)}n.format=a;function r(C){const f=C.length;if(f===0||C.charCodeAt(0)!==35)return null;if(f===7){const h=16*u(C.charCodeAt(1))+u(C.charCodeAt(2)),v=16*u(C.charCodeAt(3))+u(C.charCodeAt(4)),w=16*u(C.charCodeAt(5))+u(C.charCodeAt(6));return new m(new k(h,v,w,1))}if(f===9){const h=16*u(C.charCodeAt(1))+u(C.charCodeAt(2)),v=16*u(C.charCodeAt(3))+u(C.charCodeAt(4)),w=16*u(C.charCodeAt(5))+u(C.charCodeAt(6)),S=16*u(C.charCodeAt(7))+u(C.charCodeAt(8));return new m(new k(h,v,w,S/255))}if(f===4){const h=u(C.charCodeAt(1)),v=u(C.charCodeAt(2)),w=u(C.charCodeAt(3));return new m(new k(16*h+h,16*v+v,16*w+w))}if(f===5){const h=u(C.charCodeAt(1)),v=u(C.charCodeAt(2)),w=u(C.charCodeAt(3)),S=u(C.charCodeAt(4));return new m(new k(16*h+h,16*v+v,16*w+w,(16*S+S)/255))}return null}n.parseHex=r;function u(C){switch(C){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(p=b.CSS||(b.CSS={}))})(_=m.Format||(m.Format={}))}(y||(e.Color=y={}))}),define(ne[126],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.memoize=d;function d(k,I,E){let y=null,m=null;if(typeof E.value==\"function\"?(y=\"value\",m=E.value,m.length!==0&&console.warn(\"Memoize should only be used in functions with zero parameters\")):typeof E.get==\"function\"&&(y=\"get\",m=E.get),!m)throw new Error(\"not supported\");const _=`$memoize$${I}`;E[y]=function(...b){return this.hasOwnProperty(_)||Object.defineProperty(this,_,{configurable:!1,enumerable:!1,writable:!1,value:m.apply(this,b)}),this[_]}}}),define(ne[444],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffChange=void 0;class d{constructor(I,E,y,m){this.originalStart=I,this.originalLength=E,this.modifiedStart=y,this.modifiedLength=m}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}e.DiffChange=d}),define(ne[102],se([1,0,13]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.strictEquals=void 0,e.itemsEquals=I,e.itemEquals=E,e.equalsIfDefined=y,e.structuralEquals=m;const k=(b,p)=>b===p;e.strictEquals=k;function I(b=e.strictEquals){return(p,n)=>d.equals(p,n,b)}function E(){return(b,p)=>b.equals(p)}function y(b,p,n){if(n!==void 0){const o=b;return o==null||p===void 0||p===null?p===o:n(o,p)}else{const o=b;return(t,i)=>t==null||i===void 0||i===null?i===t:o(t,i)}}function m(b,p){if(b===p)return!0;if(Array.isArray(b)&&Array.isArray(p)){if(b.length!==p.length)return!1;for(let n=0;n<b.length;n++)if(!m(b[n],p[n]))return!1;return!0}if(b&&typeof b==\"object\"&&p&&typeof p==\"object\"&&Object.getPrototypeOf(b)===Object.prototype&&Object.getPrototypeOf(p)===Object.prototype){const n=b,o=p,t=Object.keys(n),i=Object.keys(o),s=new Set(i);if(t.length!==i.length)return!1;for(const g of t)if(!s.has(g)||!m(n[g],o[g]))return!1;return!0}return!1}const _=new WeakMap}),define(ne[8],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BugIndicatingError=e.ErrorNoTelemetry=e.NotSupportedError=e.CancellationError=e.errorHandler=e.ErrorHandler=void 0,e.onUnexpectedError=k,e.onUnexpectedExternalError=I,e.transformErrorForSerialization=E,e.isCancellationError=m,e.canceled=b,e.illegalArgument=p,e.illegalState=n;class d{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(g){setTimeout(()=>{throw g.stack?t.isErrorNoTelemetry(g)?new t(g.message+`\n\n`+g.stack):new Error(g.message+`\n\n`+g.stack):g},0)}}emit(g){this.listeners.forEach(c=>{c(g)})}onUnexpectedError(g){this.unexpectedErrorHandler(g),this.emit(g)}onUnexpectedExternalError(g){this.unexpectedErrorHandler(g)}}e.ErrorHandler=d,e.errorHandler=new d;function k(s){m(s)||e.errorHandler.onUnexpectedError(s)}function I(s){m(s)||e.errorHandler.onUnexpectedExternalError(s)}function E(s){if(s instanceof Error){const{name:g,message:c}=s,l=s.stacktrace||s.stack;return{$isError:!0,name:g,message:c,stack:l,noTelemetry:t.isErrorNoTelemetry(s)}}return s}const y=\"Canceled\";function m(s){return s instanceof _?!0:s instanceof Error&&s.name===y&&s.message===y}class _ extends Error{constructor(){super(y),this.name=this.message}}e.CancellationError=_;function b(){const s=new Error(y);return s.name=s.message,s}function p(s){return s?new Error(`Illegal argument: ${s}`):new Error(\"Illegal argument\")}function n(s){return s?new Error(`Illegal state: ${s}`):new Error(\"Illegal state\")}class o extends Error{constructor(g){super(\"NotSupported\"),g&&(this.message=g)}}e.NotSupportedError=o;class t extends Error{constructor(g){super(g),this.name=\"CodeExpectedError\"}static fromError(g){if(g instanceof t)return g;const c=new t;return c.message=g.message,c.stack=g.stack,c}static isErrorNoTelemetry(g){return g.name===\"CodeExpectedError\"}}e.ErrorNoTelemetry=t;class i extends Error{constructor(g){super(g||\"An unexpected bug occurred.\"),Object.setPrototypeOf(this,i.prototype)}}e.BugIndicatingError=i}),define(ne[103],se([1,0,8]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createTrustedTypesPolicy=k;function k(I,E){const y=globalThis.MonacoEnvironment;if(y?.createTrustedTypesPolicy)try{return y.createTrustedTypesPolicy(I,E)}catch(m){(0,d.onUnexpectedError)(m);return}try{return globalThis.trustedTypes?.createPolicy(I,E)}catch(m){(0,d.onUnexpectedError)(m);return}}}),define(ne[90],se([1,0,8]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ok=k,e.assertNever=I,e.softAssert=E,e.assertFn=y,e.checkAdjacentItems=m;function k(_,b){if(!_)throw new Error(b?`Assertion failed (${b})`:\"Assertion Failed\")}function I(_,b=\"Unreachable\"){throw new Error(b)}function E(_){_||(0,d.onUnexpectedError)(new d.BugIndicatingError(\"Soft Assertion Failed\"))}function y(_){if(!_()){debugger;_(),(0,d.onUnexpectedError)(new d.BugIndicatingError(\"Assertion Failed\"))}}function m(_,b){let p=0;for(;p<_.length-1;){const n=_[p],o=_[p+1];if(!b(n,o))return!1;p++}return!0}}),define(ne[127],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createSingleCallFunction=d;function d(k,I){const E=this;let y=!1,m;return function(){if(y)return m;if(y=!0,I)try{m=k.apply(E,arguments)}finally{I()}else m=k.apply(E,arguments);return m}}}),define(ne[91],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HierarchicalKind=void 0;class d{static{this.sep=\".\"}static{this.None=new d(\"@@none@@\")}static{this.Empty=new d(\"\")}constructor(I){this.value=I}equals(I){return this.value===I.value}contains(I){return this.equals(I)||this.value===\"\"||I.value.startsWith(this.value+d.sep)}intersects(I){return this.contains(I)||I.contains(this)}append(...I){return new d((this.value?[this.value,...I]:I).join(d.sep))}}e.HierarchicalKind=d}),define(ne[187],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.defaultGenerator=e.IdGenerator=void 0;class d{constructor(I){this._prefix=I,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}e.IdGenerator=d,e.defaultGenerator=new d(\"id#\")}),define(ne[53],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Iterable=void 0;var d;(function(k){function I(f){return f&&typeof f==\"object\"&&typeof f[Symbol.iterator]==\"function\"}k.is=I;const E=Object.freeze([]);function y(){return E}k.empty=y;function*m(f){yield f}k.single=m;function _(f){return I(f)?f:m(f)}k.wrap=_;function b(f){return f||E}k.from=b;function*p(f){for(let h=f.length-1;h>=0;h--)yield f[h]}k.reverse=p;function n(f){return!f||f[Symbol.iterator]().next().done===!0}k.isEmpty=n;function o(f){return f[Symbol.iterator]().next().value}k.first=o;function t(f,h){let v=0;for(const w of f)if(h(w,v++))return!0;return!1}k.some=t;function i(f,h){for(const v of f)if(h(v))return v}k.find=i;function*s(f,h){for(const v of f)h(v)&&(yield v)}k.filter=s;function*g(f,h){let v=0;for(const w of f)yield h(w,v++)}k.map=g;function*c(f,h){let v=0;for(const w of f)yield*h(w,v++)}k.flatMap=c;function*l(...f){for(const h of f)yield*h}k.concat=l;function a(f,h,v){let w=v;for(const S of f)w=h(w,S);return w}k.reduce=a;function*r(f,h,v=f.length){for(h<0&&(h+=f.length),v<0?v+=f.length:v>f.length&&(v=f.length);h<v;h++)yield f[h]}k.slice=r;function u(f,h=Number.POSITIVE_INFINITY){const v=[];if(h===0)return[v,f];const w=f[Symbol.iterator]();for(let S=0;S<h;S++){const L=w.next();if(L.done)return[v,k.empty()];v.push(L.value)}return[v,{[Symbol.iterator](){return w}}]}k.consume=u;async function C(f){const h=[];for await(const v of f)h.push(v);return Promise.resolve(h)}k.asyncToArray=C})(d||(e.Iterable=d={}))}),define(ne[72],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.KeyCodeUtils=e.IMMUTABLE_KEY_CODE_TO_CODE=e.IMMUTABLE_CODE_TO_KEY_CODE=e.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE=e.EVENT_KEY_CODE_MAP=void 0,e.KeyChord=p;class d{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(o,t){this._keyCodeToStr[o]=t,this._strToKeyCode[t.toLowerCase()]=o}keyCodeToStr(o){return this._keyCodeToStr[o]}strToKeyCode(o){return this._strToKeyCode[o.toLowerCase()]||0}}const k=new d,I=new d,E=new d;e.EVENT_KEY_CODE_MAP=new Array(230),e.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE={};const y=[],m=Object.create(null),_=Object.create(null);e.IMMUTABLE_CODE_TO_KEY_CODE=[],e.IMMUTABLE_KEY_CODE_TO_CODE=[];for(let n=0;n<=193;n++)e.IMMUTABLE_CODE_TO_KEY_CODE[n]=-1;for(let n=0;n<=132;n++)e.IMMUTABLE_KEY_CODE_TO_CODE[n]=-1;(function(){const n=\"\",o=[[1,0,\"None\",0,\"unknown\",0,\"VK_UNKNOWN\",n,n],[1,1,\"Hyper\",0,n,0,n,n,n],[1,2,\"Super\",0,n,0,n,n,n],[1,3,\"Fn\",0,n,0,n,n,n],[1,4,\"FnLock\",0,n,0,n,n,n],[1,5,\"Suspend\",0,n,0,n,n,n],[1,6,\"Resume\",0,n,0,n,n,n],[1,7,\"Turbo\",0,n,0,n,n,n],[1,8,\"Sleep\",0,n,0,\"VK_SLEEP\",n,n],[1,9,\"WakeUp\",0,n,0,n,n,n],[0,10,\"KeyA\",31,\"A\",65,\"VK_A\",n,n],[0,11,\"KeyB\",32,\"B\",66,\"VK_B\",n,n],[0,12,\"KeyC\",33,\"C\",67,\"VK_C\",n,n],[0,13,\"KeyD\",34,\"D\",68,\"VK_D\",n,n],[0,14,\"KeyE\",35,\"E\",69,\"VK_E\",n,n],[0,15,\"KeyF\",36,\"F\",70,\"VK_F\",n,n],[0,16,\"KeyG\",37,\"G\",71,\"VK_G\",n,n],[0,17,\"KeyH\",38,\"H\",72,\"VK_H\",n,n],[0,18,\"KeyI\",39,\"I\",73,\"VK_I\",n,n],[0,19,\"KeyJ\",40,\"J\",74,\"VK_J\",n,n],[0,20,\"KeyK\",41,\"K\",75,\"VK_K\",n,n],[0,21,\"KeyL\",42,\"L\",76,\"VK_L\",n,n],[0,22,\"KeyM\",43,\"M\",77,\"VK_M\",n,n],[0,23,\"KeyN\",44,\"N\",78,\"VK_N\",n,n],[0,24,\"KeyO\",45,\"O\",79,\"VK_O\",n,n],[0,25,\"KeyP\",46,\"P\",80,\"VK_P\",n,n],[0,26,\"KeyQ\",47,\"Q\",81,\"VK_Q\",n,n],[0,27,\"KeyR\",48,\"R\",82,\"VK_R\",n,n],[0,28,\"KeyS\",49,\"S\",83,\"VK_S\",n,n],[0,29,\"KeyT\",50,\"T\",84,\"VK_T\",n,n],[0,30,\"KeyU\",51,\"U\",85,\"VK_U\",n,n],[0,31,\"KeyV\",52,\"V\",86,\"VK_V\",n,n],[0,32,\"KeyW\",53,\"W\",87,\"VK_W\",n,n],[0,33,\"KeyX\",54,\"X\",88,\"VK_X\",n,n],[0,34,\"KeyY\",55,\"Y\",89,\"VK_Y\",n,n],[0,35,\"KeyZ\",56,\"Z\",90,\"VK_Z\",n,n],[0,36,\"Digit1\",22,\"1\",49,\"VK_1\",n,n],[0,37,\"Digit2\",23,\"2\",50,\"VK_2\",n,n],[0,38,\"Digit3\",24,\"3\",51,\"VK_3\",n,n],[0,39,\"Digit4\",25,\"4\",52,\"VK_4\",n,n],[0,40,\"Digit5\",26,\"5\",53,\"VK_5\",n,n],[0,41,\"Digit6\",27,\"6\",54,\"VK_6\",n,n],[0,42,\"Digit7\",28,\"7\",55,\"VK_7\",n,n],[0,43,\"Digit8\",29,\"8\",56,\"VK_8\",n,n],[0,44,\"Digit9\",30,\"9\",57,\"VK_9\",n,n],[0,45,\"Digit0\",21,\"0\",48,\"VK_0\",n,n],[1,46,\"Enter\",3,\"Enter\",13,\"VK_RETURN\",n,n],[1,47,\"Escape\",9,\"Escape\",27,\"VK_ESCAPE\",n,n],[1,48,\"Backspace\",1,\"Backspace\",8,\"VK_BACK\",n,n],[1,49,\"Tab\",2,\"Tab\",9,\"VK_TAB\",n,n],[1,50,\"Space\",10,\"Space\",32,\"VK_SPACE\",n,n],[0,51,\"Minus\",88,\"-\",189,\"VK_OEM_MINUS\",\"-\",\"OEM_MINUS\"],[0,52,\"Equal\",86,\"=\",187,\"VK_OEM_PLUS\",\"=\",\"OEM_PLUS\"],[0,53,\"BracketLeft\",92,\"[\",219,\"VK_OEM_4\",\"[\",\"OEM_4\"],[0,54,\"BracketRight\",94,\"]\",221,\"VK_OEM_6\",\"]\",\"OEM_6\"],[0,55,\"Backslash\",93,\"\\\\\",220,\"VK_OEM_5\",\"\\\\\",\"OEM_5\"],[0,56,\"IntlHash\",0,n,0,n,n,n],[0,57,\"Semicolon\",85,\";\",186,\"VK_OEM_1\",\";\",\"OEM_1\"],[0,58,\"Quote\",95,\"'\",222,\"VK_OEM_7\",\"'\",\"OEM_7\"],[0,59,\"Backquote\",91,\"`\",192,\"VK_OEM_3\",\"`\",\"OEM_3\"],[0,60,\"Comma\",87,\",\",188,\"VK_OEM_COMMA\",\",\",\"OEM_COMMA\"],[0,61,\"Period\",89,\".\",190,\"VK_OEM_PERIOD\",\".\",\"OEM_PERIOD\"],[0,62,\"Slash\",90,\"/\",191,\"VK_OEM_2\",\"/\",\"OEM_2\"],[1,63,\"CapsLock\",8,\"CapsLock\",20,\"VK_CAPITAL\",n,n],[1,64,\"F1\",59,\"F1\",112,\"VK_F1\",n,n],[1,65,\"F2\",60,\"F2\",113,\"VK_F2\",n,n],[1,66,\"F3\",61,\"F3\",114,\"VK_F3\",n,n],[1,67,\"F4\",62,\"F4\",115,\"VK_F4\",n,n],[1,68,\"F5\",63,\"F5\",116,\"VK_F5\",n,n],[1,69,\"F6\",64,\"F6\",117,\"VK_F6\",n,n],[1,70,\"F7\",65,\"F7\",118,\"VK_F7\",n,n],[1,71,\"F8\",66,\"F8\",119,\"VK_F8\",n,n],[1,72,\"F9\",67,\"F9\",120,\"VK_F9\",n,n],[1,73,\"F10\",68,\"F10\",121,\"VK_F10\",n,n],[1,74,\"F11\",69,\"F11\",122,\"VK_F11\",n,n],[1,75,\"F12\",70,\"F12\",123,\"VK_F12\",n,n],[1,76,\"PrintScreen\",0,n,0,n,n,n],[1,77,\"ScrollLock\",84,\"ScrollLock\",145,\"VK_SCROLL\",n,n],[1,78,\"Pause\",7,\"PauseBreak\",19,\"VK_PAUSE\",n,n],[1,79,\"Insert\",19,\"Insert\",45,\"VK_INSERT\",n,n],[1,80,\"Home\",14,\"Home\",36,\"VK_HOME\",n,n],[1,81,\"PageUp\",11,\"PageUp\",33,\"VK_PRIOR\",n,n],[1,82,\"Delete\",20,\"Delete\",46,\"VK_DELETE\",n,n],[1,83,\"End\",13,\"End\",35,\"VK_END\",n,n],[1,84,\"PageDown\",12,\"PageDown\",34,\"VK_NEXT\",n,n],[1,85,\"ArrowRight\",17,\"RightArrow\",39,\"VK_RIGHT\",\"Right\",n],[1,86,\"ArrowLeft\",15,\"LeftArrow\",37,\"VK_LEFT\",\"Left\",n],[1,87,\"ArrowDown\",18,\"DownArrow\",40,\"VK_DOWN\",\"Down\",n],[1,88,\"ArrowUp\",16,\"UpArrow\",38,\"VK_UP\",\"Up\",n],[1,89,\"NumLock\",83,\"NumLock\",144,\"VK_NUMLOCK\",n,n],[1,90,\"NumpadDivide\",113,\"NumPad_Divide\",111,\"VK_DIVIDE\",n,n],[1,91,\"NumpadMultiply\",108,\"NumPad_Multiply\",106,\"VK_MULTIPLY\",n,n],[1,92,\"NumpadSubtract\",111,\"NumPad_Subtract\",109,\"VK_SUBTRACT\",n,n],[1,93,\"NumpadAdd\",109,\"NumPad_Add\",107,\"VK_ADD\",n,n],[1,94,\"NumpadEnter\",3,n,0,n,n,n],[1,95,\"Numpad1\",99,\"NumPad1\",97,\"VK_NUMPAD1\",n,n],[1,96,\"Numpad2\",100,\"NumPad2\",98,\"VK_NUMPAD2\",n,n],[1,97,\"Numpad3\",101,\"NumPad3\",99,\"VK_NUMPAD3\",n,n],[1,98,\"Numpad4\",102,\"NumPad4\",100,\"VK_NUMPAD4\",n,n],[1,99,\"Numpad5\",103,\"NumPad5\",101,\"VK_NUMPAD5\",n,n],[1,100,\"Numpad6\",104,\"NumPad6\",102,\"VK_NUMPAD6\",n,n],[1,101,\"Numpad7\",105,\"NumPad7\",103,\"VK_NUMPAD7\",n,n],[1,102,\"Numpad8\",106,\"NumPad8\",104,\"VK_NUMPAD8\",n,n],[1,103,\"Numpad9\",107,\"NumPad9\",105,\"VK_NUMPAD9\",n,n],[1,104,\"Numpad0\",98,\"NumPad0\",96,\"VK_NUMPAD0\",n,n],[1,105,\"NumpadDecimal\",112,\"NumPad_Decimal\",110,\"VK_DECIMAL\",n,n],[0,106,\"IntlBackslash\",97,\"OEM_102\",226,\"VK_OEM_102\",n,n],[1,107,\"ContextMenu\",58,\"ContextMenu\",93,n,n,n],[1,108,\"Power\",0,n,0,n,n,n],[1,109,\"NumpadEqual\",0,n,0,n,n,n],[1,110,\"F13\",71,\"F13\",124,\"VK_F13\",n,n],[1,111,\"F14\",72,\"F14\",125,\"VK_F14\",n,n],[1,112,\"F15\",73,\"F15\",126,\"VK_F15\",n,n],[1,113,\"F16\",74,\"F16\",127,\"VK_F16\",n,n],[1,114,\"F17\",75,\"F17\",128,\"VK_F17\",n,n],[1,115,\"F18\",76,\"F18\",129,\"VK_F18\",n,n],[1,116,\"F19\",77,\"F19\",130,\"VK_F19\",n,n],[1,117,\"F20\",78,\"F20\",131,\"VK_F20\",n,n],[1,118,\"F21\",79,\"F21\",132,\"VK_F21\",n,n],[1,119,\"F22\",80,\"F22\",133,\"VK_F22\",n,n],[1,120,\"F23\",81,\"F23\",134,\"VK_F23\",n,n],[1,121,\"F24\",82,\"F24\",135,\"VK_F24\",n,n],[1,122,\"Open\",0,n,0,n,n,n],[1,123,\"Help\",0,n,0,n,n,n],[1,124,\"Select\",0,n,0,n,n,n],[1,125,\"Again\",0,n,0,n,n,n],[1,126,\"Undo\",0,n,0,n,n,n],[1,127,\"Cut\",0,n,0,n,n,n],[1,128,\"Copy\",0,n,0,n,n,n],[1,129,\"Paste\",0,n,0,n,n,n],[1,130,\"Find\",0,n,0,n,n,n],[1,131,\"AudioVolumeMute\",117,\"AudioVolumeMute\",173,\"VK_VOLUME_MUTE\",n,n],[1,132,\"AudioVolumeUp\",118,\"AudioVolumeUp\",175,\"VK_VOLUME_UP\",n,n],[1,133,\"AudioVolumeDown\",119,\"AudioVolumeDown\",174,\"VK_VOLUME_DOWN\",n,n],[1,134,\"NumpadComma\",110,\"NumPad_Separator\",108,\"VK_SEPARATOR\",n,n],[0,135,\"IntlRo\",115,\"ABNT_C1\",193,\"VK_ABNT_C1\",n,n],[1,136,\"KanaMode\",0,n,0,n,n,n],[0,137,\"IntlYen\",0,n,0,n,n,n],[1,138,\"Convert\",0,n,0,n,n,n],[1,139,\"NonConvert\",0,n,0,n,n,n],[1,140,\"Lang1\",0,n,0,n,n,n],[1,141,\"Lang2\",0,n,0,n,n,n],[1,142,\"Lang3\",0,n,0,n,n,n],[1,143,\"Lang4\",0,n,0,n,n,n],[1,144,\"Lang5\",0,n,0,n,n,n],[1,145,\"Abort\",0,n,0,n,n,n],[1,146,\"Props\",0,n,0,n,n,n],[1,147,\"NumpadParenLeft\",0,n,0,n,n,n],[1,148,\"NumpadParenRight\",0,n,0,n,n,n],[1,149,\"NumpadBackspace\",0,n,0,n,n,n],[1,150,\"NumpadMemoryStore\",0,n,0,n,n,n],[1,151,\"NumpadMemoryRecall\",0,n,0,n,n,n],[1,152,\"NumpadMemoryClear\",0,n,0,n,n,n],[1,153,\"NumpadMemoryAdd\",0,n,0,n,n,n],[1,154,\"NumpadMemorySubtract\",0,n,0,n,n,n],[1,155,\"NumpadClear\",131,\"Clear\",12,\"VK_CLEAR\",n,n],[1,156,\"NumpadClearEntry\",0,n,0,n,n,n],[1,0,n,5,\"Ctrl\",17,\"VK_CONTROL\",n,n],[1,0,n,4,\"Shift\",16,\"VK_SHIFT\",n,n],[1,0,n,6,\"Alt\",18,\"VK_MENU\",n,n],[1,0,n,57,\"Meta\",91,\"VK_COMMAND\",n,n],[1,157,\"ControlLeft\",5,n,0,\"VK_LCONTROL\",n,n],[1,158,\"ShiftLeft\",4,n,0,\"VK_LSHIFT\",n,n],[1,159,\"AltLeft\",6,n,0,\"VK_LMENU\",n,n],[1,160,\"MetaLeft\",57,n,0,\"VK_LWIN\",n,n],[1,161,\"ControlRight\",5,n,0,\"VK_RCONTROL\",n,n],[1,162,\"ShiftRight\",4,n,0,\"VK_RSHIFT\",n,n],[1,163,\"AltRight\",6,n,0,\"VK_RMENU\",n,n],[1,164,\"MetaRight\",57,n,0,\"VK_RWIN\",n,n],[1,165,\"BrightnessUp\",0,n,0,n,n,n],[1,166,\"BrightnessDown\",0,n,0,n,n,n],[1,167,\"MediaPlay\",0,n,0,n,n,n],[1,168,\"MediaRecord\",0,n,0,n,n,n],[1,169,\"MediaFastForward\",0,n,0,n,n,n],[1,170,\"MediaRewind\",0,n,0,n,n,n],[1,171,\"MediaTrackNext\",124,\"MediaTrackNext\",176,\"VK_MEDIA_NEXT_TRACK\",n,n],[1,172,\"MediaTrackPrevious\",125,\"MediaTrackPrevious\",177,\"VK_MEDIA_PREV_TRACK\",n,n],[1,173,\"MediaStop\",126,\"MediaStop\",178,\"VK_MEDIA_STOP\",n,n],[1,174,\"Eject\",0,n,0,n,n,n],[1,175,\"MediaPlayPause\",127,\"MediaPlayPause\",179,\"VK_MEDIA_PLAY_PAUSE\",n,n],[1,176,\"MediaSelect\",128,\"LaunchMediaPlayer\",181,\"VK_MEDIA_LAUNCH_MEDIA_SELECT\",n,n],[1,177,\"LaunchMail\",129,\"LaunchMail\",180,\"VK_MEDIA_LAUNCH_MAIL\",n,n],[1,178,\"LaunchApp2\",130,\"LaunchApp2\",183,\"VK_MEDIA_LAUNCH_APP2\",n,n],[1,179,\"LaunchApp1\",0,n,0,\"VK_MEDIA_LAUNCH_APP1\",n,n],[1,180,\"SelectTask\",0,n,0,n,n,n],[1,181,\"LaunchScreenSaver\",0,n,0,n,n,n],[1,182,\"BrowserSearch\",120,\"BrowserSearch\",170,\"VK_BROWSER_SEARCH\",n,n],[1,183,\"BrowserHome\",121,\"BrowserHome\",172,\"VK_BROWSER_HOME\",n,n],[1,184,\"BrowserBack\",122,\"BrowserBack\",166,\"VK_BROWSER_BACK\",n,n],[1,185,\"BrowserForward\",123,\"BrowserForward\",167,\"VK_BROWSER_FORWARD\",n,n],[1,186,\"BrowserStop\",0,n,0,\"VK_BROWSER_STOP\",n,n],[1,187,\"BrowserRefresh\",0,n,0,\"VK_BROWSER_REFRESH\",n,n],[1,188,\"BrowserFavorites\",0,n,0,\"VK_BROWSER_FAVORITES\",n,n],[1,189,\"ZoomToggle\",0,n,0,n,n,n],[1,190,\"MailReply\",0,n,0,n,n,n],[1,191,\"MailForward\",0,n,0,n,n,n],[1,192,\"MailSend\",0,n,0,n,n,n],[1,0,n,114,\"KeyInComposition\",229,n,n,n],[1,0,n,116,\"ABNT_C2\",194,\"VK_ABNT_C2\",n,n],[1,0,n,96,\"OEM_8\",223,\"VK_OEM_8\",n,n],[1,0,n,0,n,0,\"VK_KANA\",n,n],[1,0,n,0,n,0,\"VK_HANGUL\",n,n],[1,0,n,0,n,0,\"VK_JUNJA\",n,n],[1,0,n,0,n,0,\"VK_FINAL\",n,n],[1,0,n,0,n,0,\"VK_HANJA\",n,n],[1,0,n,0,n,0,\"VK_KANJI\",n,n],[1,0,n,0,n,0,\"VK_CONVERT\",n,n],[1,0,n,0,n,0,\"VK_NONCONVERT\",n,n],[1,0,n,0,n,0,\"VK_ACCEPT\",n,n],[1,0,n,0,n,0,\"VK_MODECHANGE\",n,n],[1,0,n,0,n,0,\"VK_SELECT\",n,n],[1,0,n,0,n,0,\"VK_PRINT\",n,n],[1,0,n,0,n,0,\"VK_EXECUTE\",n,n],[1,0,n,0,n,0,\"VK_SNAPSHOT\",n,n],[1,0,n,0,n,0,\"VK_HELP\",n,n],[1,0,n,0,n,0,\"VK_APPS\",n,n],[1,0,n,0,n,0,\"VK_PROCESSKEY\",n,n],[1,0,n,0,n,0,\"VK_PACKET\",n,n],[1,0,n,0,n,0,\"VK_DBE_SBCSCHAR\",n,n],[1,0,n,0,n,0,\"VK_DBE_DBCSCHAR\",n,n],[1,0,n,0,n,0,\"VK_ATTN\",n,n],[1,0,n,0,n,0,\"VK_CRSEL\",n,n],[1,0,n,0,n,0,\"VK_EXSEL\",n,n],[1,0,n,0,n,0,\"VK_EREOF\",n,n],[1,0,n,0,n,0,\"VK_PLAY\",n,n],[1,0,n,0,n,0,\"VK_ZOOM\",n,n],[1,0,n,0,n,0,\"VK_NONAME\",n,n],[1,0,n,0,n,0,\"VK_PA1\",n,n],[1,0,n,0,n,0,\"VK_OEM_CLEAR\",n,n]],t=[],i=[];for(const s of o){const[g,c,l,a,r,u,C,f,h]=s;if(i[c]||(i[c]=!0,y[c]=l,m[l]=c,_[l.toLowerCase()]=c,g&&(e.IMMUTABLE_CODE_TO_KEY_CODE[c]=a,a!==0&&a!==3&&a!==5&&a!==4&&a!==6&&a!==57&&(e.IMMUTABLE_KEY_CODE_TO_CODE[a]=c))),!t[a]){if(t[a]=!0,!r)throw new Error(`String representation missing for key code ${a} around scan code ${l}`);k.define(a,r),I.define(a,f||r),E.define(a,h||f||r)}u&&(e.EVENT_KEY_CODE_MAP[u]=a),C&&(e.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[C]=a)}e.IMMUTABLE_KEY_CODE_TO_CODE[3]=46})();var b;(function(n){function o(l){return k.keyCodeToStr(l)}n.toString=o;function t(l){return k.strToKeyCode(l)}n.fromString=t;function i(l){return I.keyCodeToStr(l)}n.toUserSettingsUS=i;function s(l){return E.keyCodeToStr(l)}n.toUserSettingsGeneral=s;function g(l){return I.strToKeyCode(l)||E.strToKeyCode(l)}n.fromUserSettings=g;function c(l){if(l>=98&&l<=113)return null;switch(l){case 16:return\"Up\";case 18:return\"Down\";case 15:return\"Left\";case 17:return\"Right\"}return k.keyCodeToStr(l)}n.toElectronAccelerator=c})(b||(e.KeyCodeUtils=b={}));function p(n,o){const t=(o&65535)<<16>>>0;return(n|t)>>>0}}),define(ne[140],se([1,0,8]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResolvedKeybinding=e.ResolvedChord=e.Keybinding=e.ScanCodeChord=e.KeyCodeChord=void 0,e.decodeKeybinding=k,e.createSimpleKeybinding=I;function k(p,n){if(typeof p==\"number\"){if(p===0)return null;const o=(p&65535)>>>0,t=(p&4294901760)>>>16;return t!==0?new m([I(o,n),I(t,n)]):new m([I(o,n)])}else{const o=[];for(let t=0;t<p.length;t++)o.push(I(p[t],n));return new m(o)}}function I(p,n){const o=!!(p&2048),t=!!(p&256),i=n===2?t:o,s=!!(p&1024),g=!!(p&512),c=n===2?o:t,l=p&255;return new E(i,s,g,c,l)}class E{constructor(n,o,t,i,s){this.ctrlKey=n,this.shiftKey=o,this.altKey=t,this.metaKey=i,this.keyCode=s}equals(n){return n instanceof E&&this.ctrlKey===n.ctrlKey&&this.shiftKey===n.shiftKey&&this.altKey===n.altKey&&this.metaKey===n.metaKey&&this.keyCode===n.keyCode}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}}e.KeyCodeChord=E;class y{constructor(n,o,t,i,s){this.ctrlKey=n,this.shiftKey=o,this.altKey=t,this.metaKey=i,this.scanCode=s}isDuplicateModifierCase(){return this.ctrlKey&&(this.scanCode===157||this.scanCode===161)||this.shiftKey&&(this.scanCode===158||this.scanCode===162)||this.altKey&&(this.scanCode===159||this.scanCode===163)||this.metaKey&&(this.scanCode===160||this.scanCode===164)}}e.ScanCodeChord=y;class m{constructor(n){if(n.length===0)throw(0,d.illegalArgument)(\"chords\");this.chords=n}}e.Keybinding=m;class _{constructor(n,o,t,i,s,g){this.ctrlKey=n,this.shiftKey=o,this.altKey=t,this.metaKey=i,this.keyLabel=s,this.keyAriaLabel=g}}e.ResolvedChord=_;class b{}e.ResolvedKeybinding=b}),define(ne[98],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Lazy=void 0;class d{constructor(I){this.executor=I,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(I){this._error=I}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}e.Lazy=d}),define(ne[44],se([1,0,98]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.setHoverDelegateFactory=m,e.getDefaultHoverDelegate=_,e.createInstantHoverDelegate=b;let I=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const E=new d.Lazy(()=>I(\"mouse\",!1)),y=new d.Lazy(()=>I(\"element\",!1));function m(p){I=p}function _(p){return p===\"element\"?y.value:E.value}function b(){return I(\"element\",!0)}}),define(ne[160],se([1,0,98]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.VSBuffer=void 0,e.readUInt16LE=m,e.writeUInt16LE=_,e.readUInt32BE=b,e.writeUInt32BE=p,e.readUInt8=n,e.writeUInt8=o;const k=typeof Buffer<\"u\",I=new d.Lazy(()=>new Uint8Array(256));let E;class y{static wrap(i){return k&&!Buffer.isBuffer(i)&&(i=Buffer.from(i.buffer,i.byteOffset,i.byteLength)),new y(i)}constructor(i){this.buffer=i,this.byteLength=this.buffer.byteLength}toString(){return k?this.buffer.toString():(E||(E=new TextDecoder),E.decode(this.buffer))}}e.VSBuffer=y;function m(t,i){return t[i+0]<<0>>>0|t[i+1]<<8>>>0}function _(t,i,s){t[s+0]=i&255,i=i>>>8,t[s+1]=i&255}function b(t,i){return t[i]*2**24+t[i+1]*2**16+t[i+2]*2**8+t[i+3]}function p(t,i,s){t[s+3]=i,i=i>>>8,t[s+2]=i,i=i>>>8,t[s+1]=i,i=i>>>8,t[s]=i}function n(t,i){return t[i]}function o(t,i,s){t[s]=i}}),define(ne[445],se([1,0,98]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.compareFileNames=y,e.compareAnything=m,e.compareByPrefix=_;const k=new d.Lazy(()=>{const b=new Intl.Collator(void 0,{numeric:!0,sensitivity:\"base\"});return{collator:b,collatorIsNumeric:b.resolvedOptions().numeric}}),I=new d.Lazy(()=>({collator:new Intl.Collator(void 0,{numeric:!0})})),E=new d.Lazy(()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:\"accent\"})}));function y(b,p,n=!1){const o=b||\"\",t=p||\"\",i=k.value.collator.compare(o,t);return k.value.collatorIsNumeric&&i===0&&o!==t?o<t?-1:1:i}function m(b,p,n){const o=b.toLowerCase(),t=p.toLowerCase(),i=_(b,p,n);if(i)return i;const s=o.endsWith(n),g=t.endsWith(n);if(s!==g)return s?-1:1;const c=y(o,t);return c!==0?c:o.localeCompare(t)}function _(b,p,n){const o=b.toLowerCase(),t=p.toLowerCase(),i=o.startsWith(n),s=t.startsWith(n);if(i!==s)return i?-1:1;if(i&&s){if(o.length<t.length)return-1;if(o.length>t.length)return 1}return 0}}),define(ne[2],se([1,0,127,53]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DisposableMap=e.ImmortalReference=e.RefCountedDisposable=e.MutableDisposable=e.Disposable=e.DisposableStore=void 0,e.setDisposableTracker=y,e.trackDisposable=m,e.markAsDisposed=_,e.markAsSingleton=n,e.isDisposable=o,e.dispose=t,e.combinedDisposable=i,e.toDisposable=s;const I=!1;let E=null;function y(C){E=C}if(I){const C=\"__is_disposable_tracked__\";y(new class{trackDisposable(f){const h=new Error(\"Potentially leaked disposable\").stack;setTimeout(()=>{f[C]||console.log(h)},3e3)}setParent(f,h){if(f&&f!==c.None)try{f[C]=!0}catch{}}markAsDisposed(f){if(f&&f!==c.None)try{f[C]=!0}catch{}}markAsSingleton(f){}})}function m(C){return E?.trackDisposable(C),C}function _(C){E?.markAsDisposed(C)}function b(C,f){E?.setParent(C,f)}function p(C,f){if(E)for(const h of C)E.setParent(h,f)}function n(C){return E?.markAsSingleton(C),C}function o(C){return typeof C==\"object\"&&C!==null&&typeof C.dispose==\"function\"&&C.dispose.length===0}function t(C){if(k.Iterable.is(C)){const f=[];for(const h of C)if(h)try{h.dispose()}catch(v){f.push(v)}if(f.length===1)throw f[0];if(f.length>1)throw new AggregateError(f,\"Encountered errors while disposing of store\");return Array.isArray(C)?[]:C}else if(C)return C.dispose(),C}function i(...C){const f=s(()=>t(C));return p(C,f),f}function s(C){const f=m({dispose:(0,d.createSingleCallFunction)(()=>{_(f),C()})});return f}class g{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,m(this)}dispose(){this._isDisposed||(_(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{t(this._toDispose)}finally{this._toDispose.clear()}}add(f){if(!f)return f;if(f===this)throw new Error(\"Cannot register a disposable on itself!\");return b(f,this),this._isDisposed?g.DISABLE_DISPOSED_WARNING||console.warn(new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\").stack):this._toDispose.add(f),f}deleteAndLeak(f){f&&this._toDispose.has(f)&&(this._toDispose.delete(f),b(f,null))}}e.DisposableStore=g;class c{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new g,m(this),b(this._store,this)}dispose(){_(this),this._store.dispose()}_register(f){if(f===this)throw new Error(\"Cannot register a disposable on itself!\");return this._store.add(f)}}e.Disposable=c;class l{constructor(){this._isDisposed=!1,m(this)}get value(){return this._isDisposed?void 0:this._value}set value(f){this._isDisposed||f===this._value||(this._value?.dispose(),f&&b(f,this),this._value=f)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,_(this),this._value?.dispose(),this._value=void 0}}e.MutableDisposable=l;class a{constructor(f){this._disposable=f,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}e.RefCountedDisposable=a;class r{constructor(f){this.object=f}dispose(){}}e.ImmortalReference=r;class u{constructor(){this._store=new Map,this._isDisposed=!1,m(this)}dispose(){_(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{t(this._store.values())}finally{this._store.clear()}}get(f){return this._store.get(f)}set(f,h,v=!1){this._isDisposed&&console.warn(new Error(\"Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!\").stack),v||this._store.get(f)?.dispose(),this._store.set(f,h)}deleteAndDispose(f){this._store.get(f)?.dispose(),this._store.delete(f)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}e.DisposableMap=u}),define(ne[73],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinkedList=void 0;class d{static{this.Undefined=new d(void 0)}constructor(E){this.element=E,this.next=d.Undefined,this.prev=d.Undefined}}class k{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let E=this._first;for(;E!==d.Undefined;){const y=E.next;E.prev=d.Undefined,E.next=d.Undefined,E=y}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(E){return this._insert(E,!1)}push(E){return this._insert(E,!0)}_insert(E,y){const m=new d(E);if(this._first===d.Undefined)this._first=m,this._last=m;else if(y){const b=this._last;this._last=m,m.prev=b,b.next=m}else{const b=this._first;this._first=m,m.next=b,b.prev=m}this._size+=1;let _=!1;return()=>{_||(_=!0,this._remove(m))}}shift(){if(this._first!==d.Undefined){const E=this._first.element;return this._remove(this._first),E}}pop(){if(this._last!==d.Undefined){const E=this._last.element;return this._remove(this._last),E}}_remove(E){if(E.prev!==d.Undefined&&E.next!==d.Undefined){const y=E.prev;y.next=E.next,E.next.prev=y}else E.prev===d.Undefined&&E.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):E.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):E.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let E=this._first;for(;E!==d.Undefined;)yield E.element,E=E.next}}e.LinkedList=k});var ke=this&&this.__decorate||function(oe,e,d,k){var I=arguments.length,E=I<3?e:k===null?k=Object.getOwnPropertyDescriptor(e,d):k,y;if(typeof Reflect==\"object\"&&typeof Reflect.decorate==\"function\")E=Reflect.decorate(oe,e,d,k);else for(var m=oe.length-1;m>=0;m--)(y=oe[m])&&(E=(I<3?y(E):I>3?y(e,d,E):y(e,d))||E);return I>3&&E&&Object.defineProperty(e,d,E),E};define(ne[446],se([1,0,126]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinkedText=void 0,e.parseLinkedText=E;class k{constructor(m){this.nodes=m}toString(){return this.nodes.map(m=>typeof m==\"string\"?m:m.label).join(\"\")}}e.LinkedText=k,ke([d.memoize],k.prototype,\"toString\",null);const I=/\\[([^\\]]+)\\]\\(((?:https?:\\/\\/|command:|file:)[^\\)\\s]+)(?: ([\"'])(.+?)(\\3))?\\)/gi;function E(y){const m=[];let _=0,b;for(;b=I.exec(y);){b.index-_>0&&m.push(y.substring(_,b.index));const[,p,n,,o]=b;o?m.push({label:p,href:n,title:o}):m.push({label:p,href:n}),_=b.index+b[0].length}return _<y.length&&m.push(y.substring(_)),new k(m)}}),define(ne[45],se([1,0]),function(oe,e){\"use strict\";var d,k;Object.defineProperty(e,\"__esModule\",{value:!0}),e.SetMap=e.BidirectionalMap=e.LRUCache=e.LinkedMap=e.ResourceMap=void 0;class I{constructor(t,i){this.uri=t,this.value=i}}function E(o){return Array.isArray(o)}class y{static{this.defaultToKey=t=>t.toString()}constructor(t,i){if(this[d]=\"ResourceMap\",t instanceof y)this.map=new Map(t.map),this.toKey=i??y.defaultToKey;else if(E(t)){this.map=new Map,this.toKey=i??y.defaultToKey;for(const[s,g]of t)this.set(s,g)}else this.map=new Map,this.toKey=t??y.defaultToKey}set(t,i){return this.map.set(this.toKey(t),new I(t,i)),this}get(t){return this.map.get(this.toKey(t))?.value}has(t){return this.map.has(this.toKey(t))}get size(){return this.map.size}clear(){this.map.clear()}delete(t){return this.map.delete(this.toKey(t))}forEach(t,i){typeof i<\"u\"&&(t=t.bind(i));for(const[s,g]of this.map)t(g.value,g.uri,this)}*values(){for(const t of this.map.values())yield t.value}*keys(){for(const t of this.map.values())yield t.uri}*entries(){for(const t of this.map.values())yield[t.uri,t.value]}*[(d=Symbol.toStringTag,Symbol.iterator)](){for(const[,t]of this.map)yield[t.uri,t.value]}}e.ResourceMap=y;class m{constructor(){this[k]=\"LinkedMap\",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(t){return this._map.has(t)}get(t,i=0){const s=this._map.get(t);if(s)return i!==0&&this.touch(s,i),s.value}set(t,i,s=0){let g=this._map.get(t);if(g)g.value=i,s!==0&&this.touch(g,s);else{switch(g={key:t,value:i,next:void 0,previous:void 0},s){case 0:this.addItemLast(g);break;case 1:this.addItemFirst(g);break;case 2:this.addItemLast(g);break;default:this.addItemLast(g);break}this._map.set(t,g),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){const i=this._map.get(t);if(i)return this._map.delete(t),this.removeItem(i),this._size--,i.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error(\"Invalid list\");const t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,i){const s=this._state;let g=this._head;for(;g;){if(i?t.bind(i)(g.value,g.key,this):t(g.value,g.key,this),this._state!==s)throw new Error(\"LinkedMap got modified during iteration.\");g=g.next}}keys(){const t=this,i=this._state;let s=this._head;const g={[Symbol.iterator](){return g},next(){if(t._state!==i)throw new Error(\"LinkedMap got modified during iteration.\");if(s){const c={value:s.key,done:!1};return s=s.next,c}else return{value:void 0,done:!0}}};return g}values(){const t=this,i=this._state;let s=this._head;const g={[Symbol.iterator](){return g},next(){if(t._state!==i)throw new Error(\"LinkedMap got modified during iteration.\");if(s){const c={value:s.value,done:!1};return s=s.next,c}else return{value:void 0,done:!0}}};return g}entries(){const t=this,i=this._state;let s=this._head;const g={[Symbol.iterator](){return g},next(){if(t._state!==i)throw new Error(\"LinkedMap got modified during iteration.\");if(s){const c={value:[s.key,s.value],done:!1};return s=s.next,c}else return{value:void 0,done:!0}}};return g}[(k=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(t===0){this.clear();return}let i=this._head,s=this.size;for(;i&&s>t;)this._map.delete(i.key),i=i.next,s--;this._head=i,this._size=s,i&&(i.previous=void 0),this._state++}trimNew(t){if(t>=this.size)return;if(t===0){this.clear();return}let i=this._tail,s=this.size;for(;i&&s>t;)this._map.delete(i.key),i=i.previous,s--;this._tail=i,this._size=s,i&&(i.next=void 0),this._state++}addItemFirst(t){if(!this._head&&!this._tail)this._tail=t;else if(this._head)t.next=this._head,this._head.previous=t;else throw new Error(\"Invalid list\");this._head=t,this._state++}addItemLast(t){if(!this._head&&!this._tail)this._head=t;else if(this._tail)t.previous=this._tail,this._tail.next=t;else throw new Error(\"Invalid list\");this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error(\"Invalid list\");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error(\"Invalid list\");t.previous.next=void 0,this._tail=t.previous}else{const i=t.next,s=t.previous;if(!i||!s)throw new Error(\"Invalid list\");i.previous=s,s.next=i}t.next=void 0,t.previous=void 0,this._state++}touch(t,i){if(!this._head||!this._tail)throw new Error(\"Invalid list\");if(!(i!==1&&i!==2)){if(i===1){if(t===this._head)return;const s=t.next,g=t.previous;t===this._tail?(g.next=void 0,this._tail=g):(s.previous=g,g.next=s),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(i===2){if(t===this._tail)return;const s=t.next,g=t.previous;t===this._head?(s.previous=void 0,this._head=s):(s.previous=g,g.next=s),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}}toJSON(){const t=[];return this.forEach((i,s)=>{t.push([s,i])}),t}fromJSON(t){this.clear();for(const[i,s]of t)this.set(i,s)}}e.LinkedMap=m;class _ extends m{constructor(t,i=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,i),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get(t,i=2){return super.get(t,i)}peek(t){return super.get(t,0)}set(t,i){return super.set(t,i,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class b extends _{constructor(t,i=1){super(t,i)}trim(t){this.trimOld(t)}set(t,i){return super.set(t,i),this.checkTrim(),this}}e.LRUCache=b;class p{constructor(t){if(this._m1=new Map,this._m2=new Map,t)for(const[i,s]of t)this.set(i,s)}clear(){this._m1.clear(),this._m2.clear()}set(t,i){this._m1.set(t,i),this._m2.set(i,t)}get(t){return this._m1.get(t)}getKey(t){return this._m2.get(t)}delete(t){const i=this._m1.get(t);return i===void 0?!1:(this._m1.delete(t),this._m2.delete(i),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}e.BidirectionalMap=p;class n{constructor(){this.map=new Map}add(t,i){let s=this.map.get(t);s||(s=new Set,this.map.set(t,s)),s.add(i)}delete(t,i){const s=this.map.get(t);s&&(s.delete(i),s.size===0&&this.map.delete(t))}forEach(t,i){const s=this.map.get(t);s&&s.forEach(i)}get(t){const i=this.map.get(t);return i||new Set}}e.SetMap=n}),function(oe,e){typeof define==\"function\"&&define.amd?define(ne[447],se([0]),e):typeof exports==\"object\"&&typeof module<\"u\"?e(exports):(oe=typeof globalThis<\"u\"?globalThis:oe||self,e(oe.marked={}))}(this,function(oe){\"use strict\";function e(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}oe.defaults=e();function d(xe){oe.defaults=xe}const k=/[&<>\"']/,I=new RegExp(k.source,\"g\"),E=/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,y=new RegExp(E.source,\"g\"),m={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},_=xe=>m[xe];function b(xe,be){if(be){if(k.test(xe))return xe.replace(I,_)}else if(E.test(xe))return xe.replace(y,_);return xe}const p=/(^|[^\\[])\\^/g;function n(xe,be){let ve=typeof xe==\"string\"?xe:xe.source;be=be||\"\";const we={replace:(Te,Pe)=>{let Be=typeof Pe==\"string\"?Pe:Pe.source;return Be=Be.replace(p,\"$1\"),ve=ve.replace(Te,Be),we},getRegex:()=>new RegExp(ve,be)};return we}function o(xe){try{xe=encodeURI(xe).replace(/%25/g,\"%\")}catch{return null}return xe}const t={exec:()=>null};function i(xe,be){const ve=xe.replace(/\\|/g,(Pe,Be,He)=>{let $e=!1,je=Be;for(;--je>=0&&He[je]===\"\\\\\";)$e=!$e;return $e?\"|\":\" |\"}),we=ve.split(/ \\|/);let Te=0;if(we[0].trim()||we.shift(),we.length>0&&!we[we.length-1].trim()&&we.pop(),be)if(we.length>be)we.splice(be);else for(;we.length<be;)we.push(\"\");for(;Te<we.length;Te++)we[Te]=we[Te].trim().replace(/\\\\\\|/g,\"|\");return we}function s(xe,be,ve){const we=xe.length;if(we===0)return\"\";let Te=0;for(;Te<we;){const Pe=xe.charAt(we-Te-1);if(Pe===be&&!ve)Te++;else if(Pe!==be&&ve)Te++;else break}return xe.slice(0,we-Te)}function g(xe,be){if(xe.indexOf(be[1])===-1)return-1;let ve=0;for(let we=0;we<xe.length;we++)if(xe[we]===\"\\\\\")we++;else if(xe[we]===be[0])ve++;else if(xe[we]===be[1]&&(ve--,ve<0))return we;return-1}function c(xe,be,ve,we){const Te=be.href,Pe=be.title?b(be.title):null,Be=xe[1].replace(/\\\\([\\[\\]])/g,\"$1\");if(xe[0].charAt(0)!==\"!\"){we.state.inLink=!0;const He={type:\"link\",raw:ve,href:Te,title:Pe,text:Be,tokens:we.inlineTokens(Be)};return we.state.inLink=!1,He}return{type:\"image\",raw:ve,href:Te,title:Pe,text:b(Be)}}function l(xe,be){const ve=xe.match(/^(\\s+)(?:```)/);if(ve===null)return be;const we=ve[1];return be.split(`\n`).map(Te=>{const Pe=Te.match(/^\\s+/);if(Pe===null)return Te;const[Be]=Pe;return Be.length>=we.length?Te.slice(we.length):Te}).join(`\n`)}class a{options;rules;lexer;constructor(be){this.options=be||oe.defaults}space(be){const ve=this.rules.block.newline.exec(be);if(ve&&ve[0].length>0)return{type:\"space\",raw:ve[0]}}code(be){const ve=this.rules.block.code.exec(be);if(ve){const we=ve[0].replace(/^ {1,4}/gm,\"\");return{type:\"code\",raw:ve[0],codeBlockStyle:\"indented\",text:this.options.pedantic?we:s(we,`\n`)}}}fences(be){const ve=this.rules.block.fences.exec(be);if(ve){const we=ve[0],Te=l(we,ve[3]||\"\");return{type:\"code\",raw:we,lang:ve[2]?ve[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):ve[2],text:Te}}}heading(be){const ve=this.rules.block.heading.exec(be);if(ve){let we=ve[2].trim();if(/#$/.test(we)){const Te=s(we,\"#\");(this.options.pedantic||!Te||/ $/.test(Te))&&(we=Te.trim())}return{type:\"heading\",raw:ve[0],depth:ve[1].length,text:we,tokens:this.lexer.inline(we)}}}hr(be){const ve=this.rules.block.hr.exec(be);if(ve)return{type:\"hr\",raw:s(ve[0],`\n`)}}blockquote(be){const ve=this.rules.block.blockquote.exec(be);if(ve){let we=s(ve[0],`\n`).split(`\n`),Te=\"\",Pe=\"\";const Be=[];for(;we.length>0;){let He=!1;const $e=[];let je;for(je=0;je<we.length;je++)if(/^ {0,3}>/.test(we[je]))$e.push(we[je]),He=!0;else if(!He)$e.push(we[je]);else break;we=we.slice(je);const Xe=$e.join(`\n`),et=Xe.replace(/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,`\n    $1`).replace(/^ {0,3}>[ \\t]?/gm,\"\");Te=Te?`${Te}\n${Xe}`:Xe,Pe=Pe?`${Pe}\n${et}`:et;const dt=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(et,Be,!0),this.lexer.state.top=dt,we.length===0)break;const at=Be[Be.length-1];if(at?.type===\"code\")break;if(at?.type===\"blockquote\"){const st=at,pt=st.raw+`\n`+we.join(`\n`),bt=this.blockquote(pt);Be[Be.length-1]=bt,Te=Te.substring(0,Te.length-st.raw.length)+bt.raw,Pe=Pe.substring(0,Pe.length-st.text.length)+bt.text;break}else if(at?.type===\"list\"){const st=at,pt=st.raw+`\n`+we.join(`\n`),bt=this.list(pt);Be[Be.length-1]=bt,Te=Te.substring(0,Te.length-at.raw.length)+bt.raw,Pe=Pe.substring(0,Pe.length-st.raw.length)+bt.raw,we=pt.substring(Be[Be.length-1].raw.length).split(`\n`);continue}}return{type:\"blockquote\",raw:Te,tokens:Be,text:Pe}}}list(be){let ve=this.rules.block.list.exec(be);if(ve){let we=ve[1].trim();const Te=we.length>1,Pe={type:\"list\",raw:\"\",ordered:Te,start:Te?+we.slice(0,-1):\"\",loose:!1,items:[]};we=Te?`\\\\d{1,9}\\\\${we.slice(-1)}`:`\\\\${we}`,this.options.pedantic&&(we=Te?we:\"[*+-]\");const Be=new RegExp(`^( {0,3}${we})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`);let He=!1;for(;be;){let $e=!1,je=\"\",Xe=\"\";if(!(ve=Be.exec(be))||this.rules.block.hr.test(be))break;je=ve[0],be=be.substring(je.length);let et=ve[2].split(`\n`,1)[0].replace(/^\\t+/,De=>\" \".repeat(3*De.length)),dt=be.split(`\n`,1)[0],at=!et.trim(),st=0;if(this.options.pedantic?(st=2,Xe=et.trimStart()):at?st=ve[1].length+1:(st=ve[2].search(/[^ ]/),st=st>4?1:st,Xe=et.slice(st),st+=ve[1].length),at&&/^ *$/.test(dt)&&(je+=dt+`\n`,be=be.substring(dt.length+1),$e=!0),!$e){const De=new RegExp(`^ {0,${Math.min(3,st-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),Ie=new RegExp(`^ {0,${Math.min(3,st-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),Re=new RegExp(`^ {0,${Math.min(3,st-1)}}(?:\\`\\`\\`|~~~)`),Se=new RegExp(`^ {0,${Math.min(3,st-1)}}#`);for(;be;){const We=be.split(`\n`,1)[0];if(dt=We,this.options.pedantic&&(dt=dt.replace(/^ {1,4}(?=( {4})*[^ ])/g,\"  \")),Re.test(dt)||Se.test(dt)||De.test(dt)||Ie.test(be))break;if(dt.search(/[^ ]/)>=st||!dt.trim())Xe+=`\n`+dt.slice(st);else{if(at||et.search(/[^ ]/)>=4||Re.test(et)||Se.test(et)||Ie.test(et))break;Xe+=`\n`+dt}!at&&!dt.trim()&&(at=!0),je+=We+`\n`,be=be.substring(We.length+1),et=dt.slice(st)}}Pe.loose||(He?Pe.loose=!0:/\\n *\\n *$/.test(je)&&(He=!0));let pt=null,bt;this.options.gfm&&(pt=/^\\[[ xX]\\] /.exec(Xe),pt&&(bt=pt[0]!==\"[ ] \",Xe=Xe.replace(/^\\[[ xX]\\] +/,\"\"))),Pe.items.push({type:\"list_item\",raw:je,task:!!pt,checked:bt,loose:!1,text:Xe,tokens:[]}),Pe.raw+=je}Pe.items[Pe.items.length-1].raw=Pe.items[Pe.items.length-1].raw.trimEnd(),Pe.items[Pe.items.length-1].text=Pe.items[Pe.items.length-1].text.trimEnd(),Pe.raw=Pe.raw.trimEnd();for(let $e=0;$e<Pe.items.length;$e++)if(this.lexer.state.top=!1,Pe.items[$e].tokens=this.lexer.blockTokens(Pe.items[$e].text,[]),!Pe.loose){const je=Pe.items[$e].tokens.filter(et=>et.type===\"space\"),Xe=je.length>0&&je.some(et=>/\\n.*\\n/.test(et.raw));Pe.loose=Xe}if(Pe.loose)for(let $e=0;$e<Pe.items.length;$e++)Pe.items[$e].loose=!0;return Pe}}html(be){const ve=this.rules.block.html.exec(be);if(ve)return{type:\"html\",block:!0,raw:ve[0],pre:ve[1]===\"pre\"||ve[1]===\"script\"||ve[1]===\"style\",text:ve[0]}}def(be){const ve=this.rules.block.def.exec(be);if(ve){const we=ve[1].toLowerCase().replace(/\\s+/g,\" \"),Te=ve[2]?ve[2].replace(/^<(.*)>$/,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",Pe=ve[3]?ve[3].substring(1,ve[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):ve[3];return{type:\"def\",tag:we,raw:ve[0],href:Te,title:Pe}}}table(be){const ve=this.rules.block.table.exec(be);if(!ve||!/[:|]/.test(ve[2]))return;const we=i(ve[1]),Te=ve[2].replace(/^\\||\\| *$/g,\"\").split(\"|\"),Pe=ve[3]&&ve[3].trim()?ve[3].replace(/\\n[ \\t]*$/,\"\").split(`\n`):[],Be={type:\"table\",raw:ve[0],header:[],align:[],rows:[]};if(we.length===Te.length){for(const He of Te)/^ *-+: *$/.test(He)?Be.align.push(\"right\"):/^ *:-+: *$/.test(He)?Be.align.push(\"center\"):/^ *:-+ *$/.test(He)?Be.align.push(\"left\"):Be.align.push(null);for(let He=0;He<we.length;He++)Be.header.push({text:we[He],tokens:this.lexer.inline(we[He]),header:!0,align:Be.align[He]});for(const He of Pe)Be.rows.push(i(He,Be.header.length).map(($e,je)=>({text:$e,tokens:this.lexer.inline($e),header:!1,align:Be.align[je]})));return Be}}lheading(be){const ve=this.rules.block.lheading.exec(be);if(ve)return{type:\"heading\",raw:ve[0],depth:ve[2].charAt(0)===\"=\"?1:2,text:ve[1],tokens:this.lexer.inline(ve[1])}}paragraph(be){const ve=this.rules.block.paragraph.exec(be);if(ve){const we=ve[1].charAt(ve[1].length-1)===`\n`?ve[1].slice(0,-1):ve[1];return{type:\"paragraph\",raw:ve[0],text:we,tokens:this.lexer.inline(we)}}}text(be){const ve=this.rules.block.text.exec(be);if(ve)return{type:\"text\",raw:ve[0],text:ve[0],tokens:this.lexer.inline(ve[0])}}escape(be){const ve=this.rules.inline.escape.exec(be);if(ve)return{type:\"escape\",raw:ve[0],text:b(ve[1])}}tag(be){const ve=this.rules.inline.tag.exec(be);if(ve)return!this.lexer.state.inLink&&/^<a /i.test(ve[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\\/a>/i.test(ve[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\\s|>)/i.test(ve[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\\/(pre|code|kbd|script)(\\s|>)/i.test(ve[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:ve[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:ve[0]}}link(be){const ve=this.rules.inline.link.exec(be);if(ve){const we=ve[2].trim();if(!this.options.pedantic&&/^</.test(we)){if(!/>$/.test(we))return;const Be=s(we.slice(0,-1),\"\\\\\");if((we.length-Be.length)%2===0)return}else{const Be=g(ve[2],\"()\");if(Be>-1){const $e=(ve[0].indexOf(\"!\")===0?5:4)+ve[1].length+Be;ve[2]=ve[2].substring(0,Be),ve[0]=ve[0].substring(0,$e).trim(),ve[3]=\"\"}}let Te=ve[2],Pe=\"\";if(this.options.pedantic){const Be=/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(Te);Be&&(Te=Be[1],Pe=Be[3])}else Pe=ve[3]?ve[3].slice(1,-1):\"\";return Te=Te.trim(),/^</.test(Te)&&(this.options.pedantic&&!/>$/.test(we)?Te=Te.slice(1):Te=Te.slice(1,-1)),c(ve,{href:Te&&Te.replace(this.rules.inline.anyPunctuation,\"$1\"),title:Pe&&Pe.replace(this.rules.inline.anyPunctuation,\"$1\")},ve[0],this.lexer)}}reflink(be,ve){let we;if((we=this.rules.inline.reflink.exec(be))||(we=this.rules.inline.nolink.exec(be))){const Te=(we[2]||we[1]).replace(/\\s+/g,\" \"),Pe=ve[Te.toLowerCase()];if(!Pe){const Be=we[0].charAt(0);return{type:\"text\",raw:Be,text:Be}}return c(we,Pe,we[0],this.lexer)}}emStrong(be,ve,we=\"\"){let Te=this.rules.inline.emStrongLDelim.exec(be);if(!Te||Te[3]&&we.match(/[\\p{L}\\p{N}]/u))return;if(!(Te[1]||Te[2]||\"\")||!we||this.rules.inline.punctuation.exec(we)){const Be=[...Te[0]].length-1;let He,$e,je=Be,Xe=0;const et=Te[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(et.lastIndex=0,ve=ve.slice(-1*be.length+Be);(Te=et.exec(ve))!=null;){if(He=Te[1]||Te[2]||Te[3]||Te[4]||Te[5]||Te[6],!He)continue;if($e=[...He].length,Te[3]||Te[4]){je+=$e;continue}else if((Te[5]||Te[6])&&Be%3&&!((Be+$e)%3)){Xe+=$e;continue}if(je-=$e,je>0)continue;$e=Math.min($e,$e+je+Xe);const dt=[...Te[0]][0].length,at=be.slice(0,Be+Te.index+dt+$e);if(Math.min(Be,$e)%2){const pt=at.slice(1,-1);return{type:\"em\",raw:at,text:pt,tokens:this.lexer.inlineTokens(pt)}}const st=at.slice(2,-2);return{type:\"strong\",raw:at,text:st,tokens:this.lexer.inlineTokens(st)}}}}codespan(be){const ve=this.rules.inline.code.exec(be);if(ve){let we=ve[2].replace(/\\n/g,\" \");const Te=/[^ ]/.test(we),Pe=/^ /.test(we)&&/ $/.test(we);return Te&&Pe&&(we=we.substring(1,we.length-1)),we=b(we,!0),{type:\"codespan\",raw:ve[0],text:we}}}br(be){const ve=this.rules.inline.br.exec(be);if(ve)return{type:\"br\",raw:ve[0]}}del(be){const ve=this.rules.inline.del.exec(be);if(ve)return{type:\"del\",raw:ve[0],text:ve[2],tokens:this.lexer.inlineTokens(ve[2])}}autolink(be){const ve=this.rules.inline.autolink.exec(be);if(ve){let we,Te;return ve[2]===\"@\"?(we=b(ve[1]),Te=\"mailto:\"+we):(we=b(ve[1]),Te=we),{type:\"link\",raw:ve[0],text:we,href:Te,tokens:[{type:\"text\",raw:we,text:we}]}}}url(be){let ve;if(ve=this.rules.inline.url.exec(be)){let we,Te;if(ve[2]===\"@\")we=b(ve[0]),Te=\"mailto:\"+we;else{let Pe;do Pe=ve[0],ve[0]=this.rules.inline._backpedal.exec(ve[0])?.[0]??\"\";while(Pe!==ve[0]);we=b(ve[0]),ve[1]===\"www.\"?Te=\"http://\"+ve[0]:Te=ve[0]}return{type:\"link\",raw:ve[0],text:we,href:Te,tokens:[{type:\"text\",raw:we,text:we}]}}}inlineText(be){const ve=this.rules.inline.text.exec(be);if(ve){let we;return this.lexer.state.inRawBlock?we=ve[0]:we=b(ve[0]),{type:\"text\",raw:ve[0],text:we}}}}const r=/^(?: *(?:\\n|$))+/,u=/^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,C=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,f=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,h=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,v=/(?:[*+-]|\\d{1,9}[.)])/,w=n(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/).replace(/bull/g,v).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).getRegex(),S=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,L=/^[^\\n]+/,D=/(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/,T=n(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/).replace(\"label\",D).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),M=n(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,v).getRegex(),A=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",P=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,N=n(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$))\",\"i\").replace(\"comment\",P).replace(\"tag\",A).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),O=n(S).replace(\"hr\",f).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",A).getRegex(),x={blockquote:n(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",O).getRegex(),code:u,def:T,fences:C,heading:h,hr:f,html:N,lheading:w,list:M,newline:r,paragraph:O,table:t,text:L},W=n(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",f).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\" {4}[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",A).getRegex(),V={...x,table:W,paragraph:n(S).replace(\"hr\",f).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",W).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",A).getRegex()},q={...x,html:n(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",P).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:t,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:n(S).replace(\"hr\",f).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",w).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},H=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,z=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,U=/^( {2,}|\\\\)\\n(?!\\s*$)/,j=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,Y=\"\\\\p{P}\\\\p{S}\",G=n(/^((?![*_])[\\spunctuation])/,\"u\").replace(/punctuation/g,Y).getRegex(),K=/\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g,R=n(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/,\"u\").replace(/punct/g,Y).getRegex(),J=n(\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])\",\"gu\").replace(/punct/g,Y).getRegex(),ie=n(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\\\s]|$)|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])|[\\\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])\",\"gu\").replace(/punct/g,Y).getRegex(),ue=n(/\\\\([punct])/,\"gu\").replace(/punct/g,Y).getRegex(),he=n(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),pe=n(P).replace(\"(?:-->|$)\",\"-->\").getRegex(),ae=n(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\",pe).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),ee=/(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/,de=n(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/).replace(\"label\",ee).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),ge=n(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",ee).replace(\"ref\",D).getRegex(),X=n(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",D).getRegex(),B=n(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",ge).replace(\"nolink\",X).getRegex(),$={_backpedal:t,anyPunctuation:ue,autolink:he,blockSkip:K,br:U,code:z,del:t,emStrongLDelim:R,emStrongRDelimAst:J,emStrongRDelimUnd:ie,escape:H,link:de,nolink:X,punctuation:G,reflink:ge,reflinkSearch:B,tag:ae,text:j,url:t},Q={...$,link:n(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",ee).getRegex(),reflink:n(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",ee).getRegex()},Z={...$,escape:n(H).replace(\"])\",\"~|])\").getRegex(),url:n(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\"i\").replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/},te={...Z,br:n(U).replace(\"{2,}\",\"*\").getRegex(),text:n(Z.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()},re={normal:x,gfm:V,pedantic:q},le={normal:$,gfm:Z,breaks:te,pedantic:Q};class me{tokens;options;state;tokenizer;inlineQueue;constructor(be){this.tokens=[],this.tokens.links=Object.create(null),this.options=be||oe.defaults,this.options.tokenizer=this.options.tokenizer||new a,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const ve={block:re.normal,inline:le.normal};this.options.pedantic?(ve.block=re.pedantic,ve.inline=le.pedantic):this.options.gfm&&(ve.block=re.gfm,this.options.breaks?ve.inline=le.breaks:ve.inline=le.gfm),this.tokenizer.rules=ve}static get rules(){return{block:re,inline:le}}static lex(be,ve){return new me(ve).lex(be)}static lexInline(be,ve){return new me(ve).inlineTokens(be)}lex(be){be=be.replace(/\\r\\n|\\r/g,`\n`),this.blockTokens(be,this.tokens);for(let ve=0;ve<this.inlineQueue.length;ve++){const we=this.inlineQueue[ve];this.inlineTokens(we.src,we.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(be,ve=[],we=!1){this.options.pedantic?be=be.replace(/\\t/g,\"    \").replace(/^ +$/gm,\"\"):be=be.replace(/^( *)(\\t+)/gm,(He,$e,je)=>$e+\"    \".repeat(je.length));let Te,Pe,Be;for(;be;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(He=>(Te=He.call({lexer:this},be,ve))?(be=be.substring(Te.raw.length),ve.push(Te),!0):!1))){if(Te=this.tokenizer.space(be)){be=be.substring(Te.raw.length),Te.raw.length===1&&ve.length>0?ve[ve.length-1].raw+=`\n`:ve.push(Te);continue}if(Te=this.tokenizer.code(be)){be=be.substring(Te.raw.length),Pe=ve[ve.length-1],Pe&&(Pe.type===\"paragraph\"||Pe.type===\"text\")?(Pe.raw+=`\n`+Te.raw,Pe.text+=`\n`+Te.text,this.inlineQueue[this.inlineQueue.length-1].src=Pe.text):ve.push(Te);continue}if(Te=this.tokenizer.fences(be)){be=be.substring(Te.raw.length),ve.push(Te);continue}if(Te=this.tokenizer.heading(be)){be=be.substring(Te.raw.length),ve.push(Te);continue}if(Te=this.tokenizer.hr(be)){be=be.substring(Te.raw.length),ve.push(Te);continue}if(Te=this.tokenizer.blockquote(be)){be=be.substring(Te.raw.length),ve.push(Te);continue}if(Te=this.tokenizer.list(be)){be=be.substring(Te.raw.length),ve.push(Te);continue}if(Te=this.tokenizer.html(be)){be=be.substring(Te.raw.length),ve.push(Te);continue}if(Te=this.tokenizer.def(be)){be=be.substring(Te.raw.length),Pe=ve[ve.length-1],Pe&&(Pe.type===\"paragraph\"||Pe.type===\"text\")?(Pe.raw+=`\n`+Te.raw,Pe.text+=`\n`+Te.raw,this.inlineQueue[this.inlineQueue.length-1].src=Pe.text):this.tokens.links[Te.tag]||(this.tokens.links[Te.tag]={href:Te.href,title:Te.title});continue}if(Te=this.tokenizer.table(be)){be=be.substring(Te.raw.length),ve.push(Te);continue}if(Te=this.tokenizer.lheading(be)){be=be.substring(Te.raw.length),ve.push(Te);continue}if(Be=be,this.options.extensions&&this.options.extensions.startBlock){let He=1/0;const $e=be.slice(1);let je;this.options.extensions.startBlock.forEach(Xe=>{je=Xe.call({lexer:this},$e),typeof je==\"number\"&&je>=0&&(He=Math.min(He,je))}),He<1/0&&He>=0&&(Be=be.substring(0,He+1))}if(this.state.top&&(Te=this.tokenizer.paragraph(Be))){Pe=ve[ve.length-1],we&&Pe?.type===\"paragraph\"?(Pe.raw+=`\n`+Te.raw,Pe.text+=`\n`+Te.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Pe.text):ve.push(Te),we=Be.length!==be.length,be=be.substring(Te.raw.length);continue}if(Te=this.tokenizer.text(be)){be=be.substring(Te.raw.length),Pe=ve[ve.length-1],Pe&&Pe.type===\"text\"?(Pe.raw+=`\n`+Te.raw,Pe.text+=`\n`+Te.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Pe.text):ve.push(Te);continue}if(be){const He=\"Infinite loop on byte: \"+be.charCodeAt(0);if(this.options.silent){console.error(He);break}else throw new Error(He)}}return this.state.top=!0,ve}inline(be,ve=[]){return this.inlineQueue.push({src:be,tokens:ve}),ve}inlineTokens(be,ve=[]){let we,Te,Pe,Be=be,He,$e,je;if(this.tokens.links){const Xe=Object.keys(this.tokens.links);if(Xe.length>0)for(;(He=this.tokenizer.rules.inline.reflinkSearch.exec(Be))!=null;)Xe.includes(He[0].slice(He[0].lastIndexOf(\"[\")+1,-1))&&(Be=Be.slice(0,He.index)+\"[\"+\"a\".repeat(He[0].length-2)+\"]\"+Be.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(He=this.tokenizer.rules.inline.blockSkip.exec(Be))!=null;)Be=Be.slice(0,He.index)+\"[\"+\"a\".repeat(He[0].length-2)+\"]\"+Be.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(He=this.tokenizer.rules.inline.anyPunctuation.exec(Be))!=null;)Be=Be.slice(0,He.index)+\"++\"+Be.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;be;)if($e||(je=\"\"),$e=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(Xe=>(we=Xe.call({lexer:this},be,ve))?(be=be.substring(we.raw.length),ve.push(we),!0):!1))){if(we=this.tokenizer.escape(be)){be=be.substring(we.raw.length),ve.push(we);continue}if(we=this.tokenizer.tag(be)){be=be.substring(we.raw.length),Te=ve[ve.length-1],Te&&we.type===\"text\"&&Te.type===\"text\"?(Te.raw+=we.raw,Te.text+=we.text):ve.push(we);continue}if(we=this.tokenizer.link(be)){be=be.substring(we.raw.length),ve.push(we);continue}if(we=this.tokenizer.reflink(be,this.tokens.links)){be=be.substring(we.raw.length),Te=ve[ve.length-1],Te&&we.type===\"text\"&&Te.type===\"text\"?(Te.raw+=we.raw,Te.text+=we.text):ve.push(we);continue}if(we=this.tokenizer.emStrong(be,Be,je)){be=be.substring(we.raw.length),ve.push(we);continue}if(we=this.tokenizer.codespan(be)){be=be.substring(we.raw.length),ve.push(we);continue}if(we=this.tokenizer.br(be)){be=be.substring(we.raw.length),ve.push(we);continue}if(we=this.tokenizer.del(be)){be=be.substring(we.raw.length),ve.push(we);continue}if(we=this.tokenizer.autolink(be)){be=be.substring(we.raw.length),ve.push(we);continue}if(!this.state.inLink&&(we=this.tokenizer.url(be))){be=be.substring(we.raw.length),ve.push(we);continue}if(Pe=be,this.options.extensions&&this.options.extensions.startInline){let Xe=1/0;const et=be.slice(1);let dt;this.options.extensions.startInline.forEach(at=>{dt=at.call({lexer:this},et),typeof dt==\"number\"&&dt>=0&&(Xe=Math.min(Xe,dt))}),Xe<1/0&&Xe>=0&&(Pe=be.substring(0,Xe+1))}if(we=this.tokenizer.inlineText(Pe)){be=be.substring(we.raw.length),we.raw.slice(-1)!==\"_\"&&(je=we.raw.slice(-1)),$e=!0,Te=ve[ve.length-1],Te&&Te.type===\"text\"?(Te.raw+=we.raw,Te.text+=we.text):ve.push(we);continue}if(be){const Xe=\"Infinite loop on byte: \"+be.charCodeAt(0);if(this.options.silent){console.error(Xe);break}else throw new Error(Xe)}}return ve}}class Ce{options;parser;constructor(be){this.options=be||oe.defaults}space(be){return\"\"}code({text:be,lang:ve,escaped:we}){const Te=(ve||\"\").match(/^\\S*/)?.[0],Pe=be.replace(/\\n$/,\"\")+`\n`;return Te?'<pre><code class=\"language-'+b(Te)+'\">'+(we?Pe:b(Pe,!0))+`</code></pre>\n`:\"<pre><code>\"+(we?Pe:b(Pe,!0))+`</code></pre>\n`}blockquote({tokens:be}){return`<blockquote>\n${this.parser.parse(be)}</blockquote>\n`}html({text:be}){return be}heading({tokens:be,depth:ve}){return`<h${ve}>${this.parser.parseInline(be)}</h${ve}>\n`}hr(be){return`<hr>\n`}list(be){const ve=be.ordered,we=be.start;let Te=\"\";for(let He=0;He<be.items.length;He++){const $e=be.items[He];Te+=this.listitem($e)}const Pe=ve?\"ol\":\"ul\",Be=ve&&we!==1?' start=\"'+we+'\"':\"\";return\"<\"+Pe+Be+`>\n`+Te+\"</\"+Pe+`>\n`}listitem(be){let ve=\"\";if(be.task){const we=this.checkbox({checked:!!be.checked});be.loose?be.tokens.length>0&&be.tokens[0].type===\"paragraph\"?(be.tokens[0].text=we+\" \"+be.tokens[0].text,be.tokens[0].tokens&&be.tokens[0].tokens.length>0&&be.tokens[0].tokens[0].type===\"text\"&&(be.tokens[0].tokens[0].text=we+\" \"+be.tokens[0].tokens[0].text)):be.tokens.unshift({type:\"text\",raw:we+\" \",text:we+\" \"}):ve+=we+\" \"}return ve+=this.parser.parse(be.tokens,!!be.loose),`<li>${ve}</li>\n`}checkbox({checked:be}){return\"<input \"+(be?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\">'}paragraph({tokens:be}){return`<p>${this.parser.parseInline(be)}</p>\n`}table(be){let ve=\"\",we=\"\";for(let Pe=0;Pe<be.header.length;Pe++)we+=this.tablecell(be.header[Pe]);ve+=this.tablerow({text:we});let Te=\"\";for(let Pe=0;Pe<be.rows.length;Pe++){const Be=be.rows[Pe];we=\"\";for(let He=0;He<Be.length;He++)we+=this.tablecell(Be[He]);Te+=this.tablerow({text:we})}return Te&&(Te=`<tbody>${Te}</tbody>`),`<table>\n<thead>\n`+ve+`</thead>\n`+Te+`</table>\n`}tablerow({text:be}){return`<tr>\n${be}</tr>\n`}tablecell(be){const ve=this.parser.parseInline(be.tokens),we=be.header?\"th\":\"td\";return(be.align?`<${we} align=\"${be.align}\">`:`<${we}>`)+ve+`</${we}>\n`}strong({tokens:be}){return`<strong>${this.parser.parseInline(be)}</strong>`}em({tokens:be}){return`<em>${this.parser.parseInline(be)}</em>`}codespan({text:be}){return`<code>${be}</code>`}br(be){return\"<br>\"}del({tokens:be}){return`<del>${this.parser.parseInline(be)}</del>`}link({href:be,title:ve,tokens:we}){const Te=this.parser.parseInline(we),Pe=o(be);if(Pe===null)return Te;be=Pe;let Be='<a href=\"'+be+'\"';return ve&&(Be+=' title=\"'+ve+'\"'),Be+=\">\"+Te+\"</a>\",Be}image({href:be,title:ve,text:we}){const Te=o(be);if(Te===null)return we;be=Te;let Pe=`<img src=\"${be}\" alt=\"${we}\"`;return ve&&(Pe+=` title=\"${ve}\"`),Pe+=\">\",Pe}text(be){return\"tokens\"in be&&be.tokens?this.parser.parseInline(be.tokens):be.text}}class ye{strong({text:be}){return be}em({text:be}){return be}codespan({text:be}){return be}del({text:be}){return be}html({text:be}){return be}text({text:be}){return be}link({text:be}){return\"\"+be}image({text:be}){return\"\"+be}br(){return\"\"}}class Le{options;renderer;textRenderer;constructor(be){this.options=be||oe.defaults,this.options.renderer=this.options.renderer||new Ce,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ye}static parse(be,ve){return new Le(ve).parse(be)}static parseInline(be,ve){return new Le(ve).parseInline(be)}parse(be,ve=!0){let we=\"\";for(let Te=0;Te<be.length;Te++){const Pe=be[Te];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[Pe.type]){const He=Pe,$e=this.options.extensions.renderers[He.type].call({parser:this},He);if($e!==!1||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"paragraph\",\"text\"].includes(He.type)){we+=$e||\"\";continue}}const Be=Pe;switch(Be.type){case\"space\":{we+=this.renderer.space(Be);continue}case\"hr\":{we+=this.renderer.hr(Be);continue}case\"heading\":{we+=this.renderer.heading(Be);continue}case\"code\":{we+=this.renderer.code(Be);continue}case\"table\":{we+=this.renderer.table(Be);continue}case\"blockquote\":{we+=this.renderer.blockquote(Be);continue}case\"list\":{we+=this.renderer.list(Be);continue}case\"html\":{we+=this.renderer.html(Be);continue}case\"paragraph\":{we+=this.renderer.paragraph(Be);continue}case\"text\":{let He=Be,$e=this.renderer.text(He);for(;Te+1<be.length&&be[Te+1].type===\"text\";)He=be[++Te],$e+=`\n`+this.renderer.text(He);ve?we+=this.renderer.paragraph({type:\"paragraph\",raw:$e,text:$e,tokens:[{type:\"text\",raw:$e,text:$e}]}):we+=$e;continue}default:{const He='Token with \"'+Be.type+'\" type was not found.';if(this.options.silent)return console.error(He),\"\";throw new Error(He)}}}return we}parseInline(be,ve){ve=ve||this.renderer;let we=\"\";for(let Te=0;Te<be.length;Te++){const Pe=be[Te];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[Pe.type]){const He=this.options.extensions.renderers[Pe.type].call({parser:this},Pe);if(He!==!1||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes(Pe.type)){we+=He||\"\";continue}}const Be=Pe;switch(Be.type){case\"escape\":{we+=ve.text(Be);break}case\"html\":{we+=ve.html(Be);break}case\"link\":{we+=ve.link(Be);break}case\"image\":{we+=ve.image(Be);break}case\"strong\":{we+=ve.strong(Be);break}case\"em\":{we+=ve.em(Be);break}case\"codespan\":{we+=ve.codespan(Be);break}case\"br\":{we+=ve.br(Be);break}case\"del\":{we+=ve.del(Be);break}case\"text\":{we+=ve.text(Be);break}default:{const He='Token with \"'+Be.type+'\" type was not found.';if(this.options.silent)return console.error(He),\"\";throw new Error(He)}}}return we}}class Ee{options;constructor(be){this.options=be||oe.defaults}static passThroughHooks=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\"]);preprocess(be){return be}postprocess(be){return be}processAllTokens(be){return be}}class Me{defaults=e();options=this.setOptions;parse=this.parseMarkdown(me.lex,Le.parse);parseInline=this.parseMarkdown(me.lexInline,Le.parseInline);Parser=Le;Renderer=Ce;TextRenderer=ye;Lexer=me;Tokenizer=a;Hooks=Ee;constructor(...be){this.use(...be)}walkTokens(be,ve){let we=[];for(const Te of be)switch(we=we.concat(ve.call(this,Te)),Te.type){case\"table\":{const Pe=Te;for(const Be of Pe.header)we=we.concat(this.walkTokens(Be.tokens,ve));for(const Be of Pe.rows)for(const He of Be)we=we.concat(this.walkTokens(He.tokens,ve));break}case\"list\":{const Pe=Te;we=we.concat(this.walkTokens(Pe.items,ve));break}default:{const Pe=Te;this.defaults.extensions?.childTokens?.[Pe.type]?this.defaults.extensions.childTokens[Pe.type].forEach(Be=>{const He=Pe[Be].flat(1/0);we=we.concat(this.walkTokens(He,ve))}):Pe.tokens&&(we=we.concat(this.walkTokens(Pe.tokens,ve)))}}return we}use(...be){const ve=this.defaults.extensions||{renderers:{},childTokens:{}};return be.forEach(we=>{const Te={...we};if(Te.async=this.defaults.async||Te.async||!1,we.extensions&&(we.extensions.forEach(Pe=>{if(!Pe.name)throw new Error(\"extension name required\");if(\"renderer\"in Pe){const Be=ve.renderers[Pe.name];Be?ve.renderers[Pe.name]=function(...He){let $e=Pe.renderer.apply(this,He);return $e===!1&&($e=Be.apply(this,He)),$e}:ve.renderers[Pe.name]=Pe.renderer}if(\"tokenizer\"in Pe){if(!Pe.level||Pe.level!==\"block\"&&Pe.level!==\"inline\")throw new Error(\"extension level must be 'block' or 'inline'\");const Be=ve[Pe.level];Be?Be.unshift(Pe.tokenizer):ve[Pe.level]=[Pe.tokenizer],Pe.start&&(Pe.level===\"block\"?ve.startBlock?ve.startBlock.push(Pe.start):ve.startBlock=[Pe.start]:Pe.level===\"inline\"&&(ve.startInline?ve.startInline.push(Pe.start):ve.startInline=[Pe.start]))}\"childTokens\"in Pe&&Pe.childTokens&&(ve.childTokens[Pe.name]=Pe.childTokens)}),Te.extensions=ve),we.renderer){const Pe=this.defaults.renderer||new Ce(this.defaults);for(const Be in we.renderer){if(!(Be in Pe))throw new Error(`renderer '${Be}' does not exist`);if([\"options\",\"parser\"].includes(Be))continue;const He=Be,$e=we.renderer[He],je=Pe[He];Pe[He]=(...Xe)=>{let et=$e.apply(Pe,Xe);return et===!1&&(et=je.apply(Pe,Xe)),et||\"\"}}Te.renderer=Pe}if(we.tokenizer){const Pe=this.defaults.tokenizer||new a(this.defaults);for(const Be in we.tokenizer){if(!(Be in Pe))throw new Error(`tokenizer '${Be}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes(Be))continue;const He=Be,$e=we.tokenizer[He],je=Pe[He];Pe[He]=(...Xe)=>{let et=$e.apply(Pe,Xe);return et===!1&&(et=je.apply(Pe,Xe)),et}}Te.tokenizer=Pe}if(we.hooks){const Pe=this.defaults.hooks||new Ee;for(const Be in we.hooks){if(!(Be in Pe))throw new Error(`hook '${Be}' does not exist`);if(Be===\"options\")continue;const He=Be,$e=we.hooks[He],je=Pe[He];Ee.passThroughHooks.has(Be)?Pe[He]=Xe=>{if(this.defaults.async)return Promise.resolve($e.call(Pe,Xe)).then(dt=>je.call(Pe,dt));const et=$e.call(Pe,Xe);return je.call(Pe,et)}:Pe[He]=(...Xe)=>{let et=$e.apply(Pe,Xe);return et===!1&&(et=je.apply(Pe,Xe)),et}}Te.hooks=Pe}if(we.walkTokens){const Pe=this.defaults.walkTokens,Be=we.walkTokens;Te.walkTokens=function(He){let $e=[];return $e.push(Be.call(this,He)),Pe&&($e=$e.concat(Pe.call(this,He))),$e}}this.defaults={...this.defaults,...Te}}),this}setOptions(be){return this.defaults={...this.defaults,...be},this}lexer(be,ve){return me.lex(be,ve??this.defaults)}parser(be,ve){return Le.parse(be,ve??this.defaults)}parseMarkdown(be,ve){return(Te,Pe)=>{const Be={...Pe},He={...this.defaults,...Be},$e=this.onError(!!He.silent,!!He.async);if(this.defaults.async===!0&&Be.async===!1)return $e(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof Te>\"u\"||Te===null)return $e(new Error(\"marked(): input parameter is undefined or null\"));if(typeof Te!=\"string\")return $e(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(Te)+\", string expected\"));if(He.hooks&&(He.hooks.options=He),He.async)return Promise.resolve(He.hooks?He.hooks.preprocess(Te):Te).then(je=>be(je,He)).then(je=>He.hooks?He.hooks.processAllTokens(je):je).then(je=>He.walkTokens?Promise.all(this.walkTokens(je,He.walkTokens)).then(()=>je):je).then(je=>ve(je,He)).then(je=>He.hooks?He.hooks.postprocess(je):je).catch($e);try{He.hooks&&(Te=He.hooks.preprocess(Te));let je=be(Te,He);He.hooks&&(je=He.hooks.processAllTokens(je)),He.walkTokens&&this.walkTokens(je,He.walkTokens);let Xe=ve(je,He);return He.hooks&&(Xe=He.hooks.postprocess(Xe)),Xe}catch(je){return $e(je)}}}onError(be,ve){return we=>{if(we.message+=`\nPlease report this to https://github.com/markedjs/marked.`,be){const Te=\"<p>An error occurred:</p><pre>\"+b(we.message+\"\",!0)+\"</pre>\";return ve?Promise.resolve(Te):Te}if(ve)return Promise.reject(we);throw we}}}const Ae=new Me;function Ne(xe,be){return Ae.parse(xe,be)}Ne.options=Ne.setOptions=function(xe){return Ae.setOptions(xe),Ne.defaults=Ae.defaults,d(Ne.defaults),Ne},Ne.getDefaults=e,Ne.defaults=oe.defaults,Ne.use=function(...xe){return Ae.use(...xe),Ne.defaults=Ae.defaults,d(Ne.defaults),Ne},Ne.walkTokens=function(xe,be){return Ae.walkTokens(xe,be)},Ne.parseInline=Ae.parseInline,Ne.Parser=Le,Ne.parser=Le.parse,Ne.Renderer=Ce,Ne.TextRenderer=ye,Ne.Lexer=me,Ne.lexer=me.lex,Ne.Tokenizer=a,Ne.Hooks=Ee,Ne.parse=Ne;const Ke=Ne.options,ze=Ne.setOptions,Ge=Ne.use,it=Ne.walkTokens,Oe=Ne.parseInline,Fe=Ne,fe=Le.parse,_e=me.lex;oe.Hooks=Ee,oe.Lexer=me,oe.Marked=Me,oe.Parser=Le,oe.Renderer=Ce,oe.TextRenderer=ye,oe.Tokenizer=a,oe.getDefaults=e,oe.lexer=_e,oe.marked=Ne,oe.options=Ke,oe.parse=Fe,oe.parseInline=Oe,oe.parser=fe,oe.setOptions=ze,oe.use=Ge,oe.walkTokens=it}),define(ne[128],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Mimes=void 0,e.Mimes=Object.freeze({text:\"text/plain\",binary:\"application/octet-stream\",unknown:\"application/unknown\",markdown:\"text/markdown\",latex:\"text/latex\",uriList:\"text/uri-list\"})}),define(ne[224],se([1,0,128]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DataTransfers=void 0,e.DataTransfers={RESOURCES:\"ResourceURLs\",DOWNLOAD_URL:\"DownloadURL\",FILES:\"Files\",TEXT:d.Mimes.text,INTERNAL_URI_LIST:\"application/vnd.code.uri-list\"}}),define(ne[448],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getKoreanAltChars=d;function d(o){const t=E(o);if(t&&t.length>0)return new Uint32Array(t)}let k=0;const I=new Uint32Array(10);function E(o){if(k=0,y(o,_,4352),k>0||(y(o,b,4449),k>0)||(y(o,p,4520),k>0)||(y(o,n,12593),k))return I.subarray(0,k);if(o>=44032&&o<=55203){const t=o-44032,i=t%588,s=Math.floor(t/588),g=Math.floor(i/28),c=i%28-1;if(s<_.length?y(s,_,0):4352+s-12593<n.length&&y(4352+s,n,12593),g<b.length?y(g,b,0):4449+g-12593<n.length&&y(4449+g-12593,n,12593),c>=0&&(c<p.length?y(c,p,0):4520+c-12593<n.length&&y(4520+c-12593,n,12593)),k>0)return I.subarray(0,k)}}function y(o,t,i){o>=i&&o<i+t.length&&m(t[o-i])}function m(o){o!==0&&(I[k++]=o&255,o>>8&&(I[k++]=o>>8&255),o>>16&&(I[k++]=o>>16&255))}const _=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),b=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),p=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),n=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108])}),define(ne[449],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ArrayNavigator=void 0;class d{constructor(I,E=0,y=I.length,m=E-1){this.items=I,this.start=E,this.end=y,this.index=m}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}e.ArrayNavigator=d}),define(ne[450],se([1,0,449]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HistoryNavigator=void 0;class k{constructor(E=[],y=10){this._initialize(E),this._limit=y,this._onChange()}getHistory(){return this._elements}add(E){this._history.delete(E),this._history.add(E),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(E){return this._history.has(E)}_onChange(){this._reduceToLimit();const E=this._elements;this._navigator=new d.ArrayNavigator(E,0,E.length,E.length)}_reduceToLimit(){const E=this._elements;E.length>this._limit&&this._initialize(E.slice(E.length-this._limit))}_currentPosition(){const E=this._navigator.current();return E?this._elements.indexOf(E):-1}_initialize(E){this._history=new Set;for(const y of E)this._history.add(y)}get _elements(){const E=[];return this._history.forEach(y=>E.push(y)),E}}e.HistoryNavigator=k}),define(ne[141],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SlidingWindowAverage=e.MovingAverage=void 0,e.clamp=d;function d(E,y,m){return Math.min(Math.max(E,y),m)}class k{constructor(){this._n=1,this._val=0}update(y){return this._val=this._val+(y-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}e.MovingAverage=k;class I{constructor(y){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(y),this._values.fill(0,0,y)}update(y){const m=this._values[this._index];return this._values[this._index]=y,this._index=(this._index+1)%this._values.length,this._sum-=m,this._sum+=y,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}e.SlidingWindowAverage=I}),define(ne[161],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DebugNameData=void 0,e.getDebugName=E,e.getFunctionName=o;class d{constructor(i,s,g){this.owner=i,this.debugNameSource=s,this.referenceFn=g}getDebugName(i){return E(i,this)}}e.DebugNameData=d;const k=new Map,I=new WeakMap;function E(t,i){const s=I.get(t);if(s)return s;const g=y(t,i);if(g){let c=k.get(g)??0;c++,k.set(g,c);const l=c===1?g:`${g}#${c}`;return I.set(t,l),l}}function y(t,i){const s=I.get(t);if(s)return s;const g=i.owner?p(i.owner)+\".\":\"\";let c;const l=i.debugNameSource;if(l!==void 0)if(typeof l==\"function\"){if(c=l(),c!==void 0)return g+c}else return g+l;const a=i.referenceFn;if(a!==void 0&&(c=o(a),c!==void 0))return g+c;if(i.owner!==void 0){const r=m(i.owner,t);if(r!==void 0)return g+r}}function m(t,i){for(const s in t)if(t[s]===i)return s}const _=new Map,b=new WeakMap;function p(t){const i=b.get(t);if(i)return i;const s=n(t);let g=_.get(s)??0;g++,_.set(s,g);const c=g===1?s:`${s}#${g}`;return b.set(t,c),c}function n(t){const i=t.constructor;return i?i.name:\"Object\"}function o(t){const i=t.toString(),g=/\\/\\*\\*\\s*@description\\s*([^*]*)\\*\\//.exec(i);return(g?g[1]:void 0)?.trim()}}),define(ne[162],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConsoleObservableLogger=void 0,e.setLogger=k,e.getLogger=I;let d;function k(s){d=s}function I(){return d}class E{constructor(){this.indentation=0,this.changedObservablesSets=new WeakMap}textToConsoleArgs(g){return y([m(t(\"|  \",this.indentation)),g])}formatInfo(g){return g.hadValue?g.didChange?[m(\" \"),b(p(g.oldValue,70),{color:\"red\",strikeThrough:!0}),m(\" \"),b(p(g.newValue,60),{color:\"green\"})]:[m(\" (unchanged)\")]:[m(\" \"),b(p(g.newValue,60),{color:\"green\"}),m(\" (initial)\")]}handleObservableChanged(g,c){console.log(...this.textToConsoleArgs([_(\"observable value changed\"),b(g.debugName,{color:\"BlueViolet\"}),...this.formatInfo(c)]))}formatChanges(g){if(g.size!==0)return b(\" (changed deps: \"+[...g].map(c=>c.debugName).join(\", \")+\")\",{color:\"gray\"})}handleDerivedCreated(g){const c=g.handleChange;this.changedObservablesSets.set(g,new Set),g.handleChange=(l,a)=>(this.changedObservablesSets.get(g).add(l),c.apply(g,[l,a]))}handleDerivedRecomputed(g,c){const l=this.changedObservablesSets.get(g);console.log(...this.textToConsoleArgs([_(\"derived recomputed\"),b(g.debugName,{color:\"BlueViolet\"}),...this.formatInfo(c),this.formatChanges(l),{data:[{fn:g._debugNameData.referenceFn??g._computeFn}]}])),l.clear()}handleFromEventObservableTriggered(g,c){console.log(...this.textToConsoleArgs([_(\"observable from event triggered\"),b(g.debugName,{color:\"BlueViolet\"}),...this.formatInfo(c),{data:[{fn:g._getValue}]}]))}handleAutorunCreated(g){const c=g.handleChange;this.changedObservablesSets.set(g,new Set),g.handleChange=(l,a)=>(this.changedObservablesSets.get(g).add(l),c.apply(g,[l,a]))}handleAutorunTriggered(g){const c=this.changedObservablesSets.get(g);console.log(...this.textToConsoleArgs([_(\"autorun\"),b(g.debugName,{color:\"BlueViolet\"}),this.formatChanges(c),{data:[{fn:g._debugNameData.referenceFn??g._runFn}]}])),c.clear(),this.indentation++}handleAutorunFinished(g){this.indentation--}handleBeginTransaction(g){let c=g.getDebugName();c===void 0&&(c=\"\"),console.log(...this.textToConsoleArgs([_(\"transaction\"),b(c,{color:\"BlueViolet\"}),{data:[{fn:g._fn}]}])),this.indentation++}handleEndTransaction(){this.indentation--}}e.ConsoleObservableLogger=E;function y(s){const g=new Array,c=[];let l=\"\";function a(u){if(\"length\"in u)for(const C of u)C&&a(C);else\"text\"in u?(l+=`%c${u.text}`,g.push(u.style),u.data&&c.push(...u.data)):\"data\"in u&&c.push(...u.data)}a(s);const r=[l,...g];return r.push(...c),r}function m(s){return b(s,{color:\"black\"})}function _(s){return b(i(`${s}: `,10),{color:\"black\",bold:!0})}function b(s,g={color:\"black\"}){function c(a){return Object.entries(a).reduce((r,[u,C])=>`${r}${u}:${C};`,\"\")}const l={color:g.color};return g.strikeThrough&&(l[\"text-decoration\"]=\"line-through\"),g.bold&&(l[\"font-weight\"]=\"bold\"),{text:s,style:c(l)}}function p(s,g){switch(typeof s){case\"number\":return\"\"+s;case\"string\":return s.length+2<=g?`\"${s}\"`:`\"${s.substr(0,g-7)}\"+...`;case\"boolean\":return s?\"true\":\"false\";case\"undefined\":return\"undefined\";case\"object\":return s===null?\"null\":Array.isArray(s)?n(s,g):o(s,g);case\"symbol\":return s.toString();case\"function\":return`[[Function${s.name?\" \"+s.name:\"\"}]]`;default:return\"\"+s}}function n(s,g){let c=\"[ \",l=!0;for(const a of s){if(l||(c+=\", \"),c.length-5>g){c+=\"...\";break}l=!1,c+=`${p(a,g-c.length)}`}return c+=\" ]\",c}function o(s,g){let c=\"{ \",l=!0;for(const[a,r]of Object.entries(s)){if(l||(c+=\", \"),c.length-5>g){c+=\"...\";break}l=!1,c+=`${a}: ${p(r,g-c.length)}`}return c+=\" }\",c}function t(s,g){let c=\"\";for(let l=1;l<=g;l++)c+=s;return c}function i(s,g){for(;s.length<g;)s+=\" \";return s}}),define(ne[299],se([1,0,90,2,161,162]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutorunObserver=void 0,e.autorun=y,e.autorunOpts=m,e.autorunHandleChanges=_,e.autorunWithStoreHandleChanges=b,e.autorunWithStore=p;function y(o){return new n(new I.DebugNameData(void 0,void 0,o),o,void 0,void 0)}function m(o,t){return new n(new I.DebugNameData(o.owner,o.debugName,o.debugReferenceFn??t),t,void 0,void 0)}function _(o,t){return new n(new I.DebugNameData(o.owner,o.debugName,o.debugReferenceFn??t),t,o.createEmptyChangeSummary,o.handleChange)}function b(o,t){const i=new k.DisposableStore,s=_({owner:o.owner,debugName:o.debugName,debugReferenceFn:o.debugReferenceFn??t,createEmptyChangeSummary:o.createEmptyChangeSummary,handleChange:o.handleChange},(g,c)=>{i.clear(),t(g,c,i)});return(0,k.toDisposable)(()=>{s.dispose(),i.dispose()})}function p(o){const t=new k.DisposableStore,i=m({owner:void 0,debugName:void 0,debugReferenceFn:o},s=>{t.clear(),o(s,t)});return(0,k.toDisposable)(()=>{i.dispose(),t.dispose()})}class n{get debugName(){return this._debugNameData.getDebugName(this)??\"(anonymous)\"}constructor(t,i,s,g){this._debugNameData=t,this._runFn=i,this.createChangeSummary=s,this._handleChange=g,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),(0,E.getLogger)()?.handleAutorunCreated(this),this._runIfNeeded(),(0,k.trackDisposable)(this)}dispose(){this.disposed=!0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),(0,k.markAsDisposed)(this)}_runIfNeeded(){if(this.state===3)return;const t=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=t,this.state=3;const i=this.disposed;try{if(!i){(0,E.getLogger)()?.handleAutorunTriggered(this);const s=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,s)}}finally{i||(0,E.getLogger)()?.handleAutorunFinished(this);for(const s of this.dependenciesToBeRemoved)s.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){this.state===3&&(this.state=1),this.updateCount++}endUpdate(){if(this.updateCount===1)do{if(this.state===1){this.state=3;for(const t of this.dependencies)if(t.reportChanges(),this.state===2)break}this._runIfNeeded()}while(this.state!==3);this.updateCount--,(0,d.assertFn)(()=>this.updateCount>=0)}handlePossibleChange(t){this.state===3&&this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(this.state=1)}handleChange(t,i){this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(!this._handleChange||this._handleChange({changedObservable:t,change:i,didChange:g=>g===t},this.changeSummary))&&(this.state=2)}readObservable(t){if(this.disposed)return t.get();t.addObserver(this);const i=t.get();return this.dependencies.add(t),this.dependenciesToBeRemoved.delete(t),i}}e.AutorunObserver=n,function(o){o.Observer=n}(y||(e.autorun=y={}))}),define(ne[92],se([1,0,102,161,162]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DisposableObservableValue=e.ObservableValue=e.TransactionImpl=e.BaseObservable=e.ConvenientObservable=void 0,e._setRecomputeInitiallyAndOnChange=y,e._setKeepObserved=_,e._setDerivedOpts=p,e.transaction=t,e.globalTransaction=s,e.asyncTransaction=g,e.subtransaction=c,e.observableValue=a,e.disposableObservableValue=u;let E;function y(f){E=f}let m;function _(f){m=f}let b;function p(f){b=f}class n{get TChange(){return null}reportChanges(){this.get()}read(h){return h?h.readObservable(this):this.get()}map(h,v){const w=v===void 0?void 0:h,S=v===void 0?h:v;return b({owner:w,debugName:()=>{const L=(0,k.getFunctionName)(S);if(L!==void 0)return L;const T=/^\\s*\\(?\\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\\s*\\)?\\s*=>\\s*\\1(?:\\??)\\.([a-zA-Z_$][a-zA-Z_$0-9]*)\\s*$/.exec(S.toString());if(T)return`${this.debugName}.${T[2]}`;if(!w)return`${this.debugName} (mapped)`},debugReferenceFn:S},L=>S(this.read(L),L))}flatten(){return b({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},h=>this.read(h).read(h))}recomputeInitiallyAndOnChange(h,v){return h.add(E(this,v)),this}keepObserved(h){return h.add(m(this)),this}}e.ConvenientObservable=n;class o extends n{constructor(){super(...arguments),this.observers=new Set}addObserver(h){const v=this.observers.size;this.observers.add(h),v===0&&this.onFirstObserverAdded()}removeObserver(h){this.observers.delete(h)&&this.observers.size===0&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}e.BaseObservable=o;function t(f,h){const v=new l(f,h);try{f(v)}finally{v.finish()}}let i;function s(f){if(i)f(i);else{const h=new l(f,void 0);i=h;try{f(h)}finally{h.finish(),i=void 0}}}async function g(f,h){const v=new l(f,h);try{await f(v)}finally{v.finish()}}function c(f,h,v){f?h(f):t(h,v)}class l{constructor(h,v){this._fn=h,this._getDebugName=v,this.updatingObservers=[],(0,I.getLogger)()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():(0,k.getFunctionName)(this._fn)}updateObserver(h,v){this.updatingObservers.push({observer:h,observable:v}),h.beginUpdate(v)}finish(){const h=this.updatingObservers;for(let v=0;v<h.length;v++){const{observer:w,observable:S}=h[v];w.endUpdate(S)}this.updatingObservers=null,(0,I.getLogger)()?.handleEndTransaction()}}e.TransactionImpl=l;function a(f,h){let v;return typeof f==\"string\"?v=new k.DebugNameData(void 0,f,void 0):v=new k.DebugNameData(f,void 0,void 0),new r(v,h,d.strictEquals)}class r extends o{get debugName(){return this._debugNameData.getDebugName(this)??\"ObservableValue\"}constructor(h,v,w){super(),this._debugNameData=h,this._equalityComparator=w,this._value=v}get(){return this._value}set(h,v,w){if(w===void 0&&this._equalityComparator(this._value,h))return;let S;v||(v=S=new l(()=>{},()=>`Setting ${this.debugName}`));try{const L=this._value;this._setValue(h),(0,I.getLogger)()?.handleObservableChanged(this,{oldValue:L,newValue:h,change:w,didChange:!0,hadValue:!0});for(const D of this.observers)v.updateObserver(D,this),D.handleChange(this,w)}finally{S&&S.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(h){this._value=h}}e.ObservableValue=r;function u(f,h){let v;return typeof f==\"string\"?v=new k.DebugNameData(void 0,f,void 0):v=new k.DebugNameData(f,void 0,void 0),new C(v,h,d.strictEquals)}class C extends r{_setValue(h){this._value!==h&&(this._value&&this._value.dispose(),this._value=h)}dispose(){this._value?.dispose()}}e.DisposableObservableValue=C}),define(ne[65],se([1,0,90,102,2,92,161,162]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DerivedWithSetter=e.Derived=void 0,e.derived=_,e.derivedWithSetter=b,e.derivedOpts=p,e.derivedHandleChanges=n,e.derivedWithStore=o,e.derivedDisposable=t;function _(g,c){return c!==void 0?new i(new y.DebugNameData(g,void 0,c),c,void 0,void 0,void 0,k.strictEquals):new i(new y.DebugNameData(void 0,void 0,g),g,void 0,void 0,void 0,k.strictEquals)}function b(g,c,l){return new s(new y.DebugNameData(g,void 0,c),c,void 0,void 0,void 0,k.strictEquals,l)}function p(g,c){return new i(new y.DebugNameData(g.owner,g.debugName,g.debugReferenceFn),c,void 0,void 0,g.onLastObserverRemoved,g.equalsFn??k.strictEquals)}(0,E._setDerivedOpts)(p);function n(g,c){return new i(new y.DebugNameData(g.owner,g.debugName,void 0),c,g.createEmptyChangeSummary,g.handleChange,void 0,g.equalityComparer??k.strictEquals)}function o(g,c){let l,a;c===void 0?(l=g,a=void 0):(a=g,l=c);const r=new I.DisposableStore;return new i(new y.DebugNameData(a,void 0,l),u=>(r.clear(),l(u,r)),void 0,void 0,()=>r.dispose(),k.strictEquals)}function t(g,c){let l,a;c===void 0?(l=g,a=void 0):(a=g,l=c);let r;return new i(new y.DebugNameData(a,void 0,l),u=>{r?r.clear():r=new I.DisposableStore;const C=l(u);return C&&r.add(C),C},void 0,void 0,()=>{r&&(r.dispose(),r=void 0)},k.strictEquals)}class i extends E.BaseObservable{get debugName(){return this._debugNameData.getDebugName(this)??\"(anonymous)\"}constructor(c,l,a,r,u=void 0,C){super(),this._debugNameData=c,this._computeFn=l,this.createChangeSummary=a,this._handleChange=r,this._handleLastObserverRemoved=u,this._equalityComparator=C,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.(),(0,m.getLogger)()?.handleDerivedCreated(this)}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const c of this.dependencies)c.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(this.observers.size===0){const c=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),c}else{do{if(this.state===1){for(const c of this.dependencies)if(c.reportChanges(),this.state===2)break}this.state===1&&(this.state=3),this._recomputeIfNeeded()}while(this.state!==3);return this.value}}_recomputeIfNeeded(){if(this.state===3)return;const c=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=c;const l=this.state!==0,a=this.value;this.state=3;const r=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,r)}finally{for(const C of this.dependenciesToBeRemoved)C.removeObserver(this);this.dependenciesToBeRemoved.clear()}const u=l&&!this._equalityComparator(a,this.value);if((0,m.getLogger)()?.handleDerivedRecomputed(this,{oldValue:a,newValue:this.value,change:void 0,didChange:u,hadValue:l}),u)for(const C of this.observers)C.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(c){this.updateCount++;const l=this.updateCount===1;if(this.state===3&&(this.state=1,!l))for(const a of this.observers)a.handlePossibleChange(this);if(l)for(const a of this.observers)a.beginUpdate(this)}endUpdate(c){if(this.updateCount--,this.updateCount===0){const l=[...this.observers];for(const a of l)a.endUpdate(this)}(0,d.assertFn)(()=>this.updateCount>=0)}handlePossibleChange(c){if(this.state===3&&this.dependencies.has(c)&&!this.dependenciesToBeRemoved.has(c)){this.state=1;for(const l of this.observers)l.handlePossibleChange(this)}}handleChange(c,l){if(this.dependencies.has(c)&&!this.dependenciesToBeRemoved.has(c)){const a=this._handleChange?this._handleChange({changedObservable:c,change:l,didChange:u=>u===c},this.changeSummary):!0,r=this.state===3;if(a&&(this.state===1||r)&&(this.state=2,r))for(const u of this.observers)u.handlePossibleChange(this)}}readObservable(c){c.addObserver(this);const l=c.get();return this.dependencies.add(c),this.dependenciesToBeRemoved.delete(c),l}addObserver(c){const l=!this.observers.has(c)&&this.updateCount>0;super.addObserver(c),l&&c.beginUpdate(this)}removeObserver(c){const l=this.observers.has(c)&&this.updateCount>0;super.removeObserver(c),l&&c.endUpdate(this)}}e.Derived=i;class s extends i{constructor(c,l,a,r,u=void 0,C,f){super(c,l,a,r,u,C),this.set=f}}e.DerivedWithSetter=s}),define(ne[451],se([1,0,92]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LazyObservableValue=void 0;class k extends d.BaseObservable{get debugName(){return this._debugNameData.getDebugName(this)??\"LazyObservableValue\"}constructor(E,y,m){super(),this._debugNameData=E,this._equalityComparator=m,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=y}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const E of this.observers)for(const y of this._deltas)E.handleChange(this,y);this._deltas.length=0}else for(const E of this.observers)E.handleChange(this,void 0)}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(const E of this.observers)E.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();const E=[...this.observers];for(const y of E)y.endUpdate(this)}}addObserver(E){const y=!this.observers.has(E)&&this._updateCounter>0;super.addObserver(E),y&&E.beginUpdate(this)}removeObserver(E){const y=this.observers.has(E)&&this._updateCounter>0;super.removeObserver(E),y&&E.endUpdate(this)}set(E,y,m){if(m===void 0&&this._equalityComparator(this._value,E))return;let _;y||(y=_=new d.TransactionImpl(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(E),m!==void 0&&this._deltas.push(m),y.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(b,p)=>{},handlePossibleChange:b=>{}},this),this._updateCounter>1)for(const b of this.observers)b.handlePossibleChange(this)}finally{_&&_.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(E){this._value=E}}e.LazyObservableValue=k}),define(ne[452],se([1,0,102,92,161,451]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.observableValueOpts=y;function y(m,_){return m.lazy?new E.LazyObservableValue(new I.DebugNameData(m.owner,m.debugName,void 0),_,m.equalsFn??d.strictEquals):new k.ObservableValue(new I.DebugNameData(m.owner,m.debugName,void 0),_,m.equalsFn??d.strictEquals)}}),define(ne[453],se([1,0,299,92,8]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PromiseResult=e.ObservablePromise=void 0,e.waitForState=m;class E{static fromFn(b){return new E(b())}constructor(b){this._value=(0,k.observableValue)(this,void 0),this.promiseResult=this._value,this.promise=b.then(p=>((0,k.transaction)(n=>{this._value.set(new y(p,void 0),n)}),p),p=>{throw(0,k.transaction)(n=>{this._value.set(new y(void 0,p),n)}),p})}}e.ObservablePromise=E;class y{constructor(b,p){this.data=b,this.error=p}}e.PromiseResult=y;function m(_,b,p,n){return b||(b=o=>o!=null),new Promise((o,t)=>{let i=!0,s=!1;const g=_.map(l=>({isFinished:b(l),error:p?p(l):!1,state:l})),c=(0,d.autorun)(l=>{const{isFinished:a,error:r,state:u}=g.read(l);(a||r)&&(i?s=!0:c.dispose(),r?t(r===!0?u:r):o(u))});if(n){const l=n.onCancellationRequested(()=>{c.dispose(),l.dispose(),t(new I.CancellationError)});if(n.isCancellationRequested){c.dispose(),l.dispose(),t(new I.CancellationError);return}}i=!1,s&&c.dispose()})}}),define(ne[188],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Range=void 0;var d;(function(k){function I(_,b){if(_.start>=b.end||b.start>=_.end)return{start:0,end:0};const p=Math.max(_.start,b.start),n=Math.min(_.end,b.end);return n-p<=0?{start:0,end:0}:{start:p,end:n}}k.intersect=I;function E(_){return _.end-_.start<=0}k.isEmpty=E;function y(_,b){return!E(I(_,b))}k.intersects=y;function m(_,b){const p=[],n={start:_.start,end:Math.min(b.start,_.end)},o={start:Math.max(b.end,_.start),end:_.end};return E(n)||p.push(n),E(o)||p.push(o),p}k.relativeComplement=m})(d||(e.Range=d={}))}),define(ne[454],se([1,0,188]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RangeMap=void 0,e.groupIntersect=k,e.shift=I,e.consolidate=E;function k(_,b){const p=[];for(const n of b){if(_.start>=n.range.end)continue;if(_.end<n.range.start)break;const o=d.Range.intersect(_,n.range);d.Range.isEmpty(o)||p.push({range:o,size:n.size})}return p}function I({start:_,end:b},p){return{start:_+p,end:b+p}}function E(_){const b=[];let p=null;for(const n of _){const o=n.range.start,t=n.range.end,i=n.size;if(p&&i===p.size){p.range.end=t;continue}p={range:{start:o,end:t},size:i},b.push(p)}return b}function y(..._){return E(_.reduce((b,p)=>b.concat(p),[]))}class m{get paddingTop(){return this._paddingTop}set paddingTop(b){this._size=this._size+b-this._paddingTop,this._paddingTop=b}constructor(b){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=b??0,this._size=this._paddingTop}splice(b,p,n=[]){const o=n.length-p,t=k({start:0,end:b},this.groups),i=k({start:b+p,end:Number.POSITIVE_INFINITY},this.groups).map(g=>({range:I(g.range,o),size:g.size})),s=n.map((g,c)=>({range:{start:b+c,end:b+c+1},size:g.size}));this.groups=y(t,s,i),this._size=this._paddingTop+this.groups.reduce((g,c)=>g+c.size*(c.range.end-c.range.start),0)}get count(){const b=this.groups.length;return b?this.groups[b-1].range.end:0}get size(){return this._size}indexAt(b){if(b<0)return-1;if(b<this._paddingTop)return 0;let p=0,n=this._paddingTop;for(const o of this.groups){const t=o.range.end-o.range.start,i=n+t*o.size;if(b<i)return p+Math.floor((b-n)/o.size);p+=t,n=i}return p}indexAfter(b){return Math.min(this.indexAt(b)+1,this.count)}positionAt(b){if(b<0)return-1;let p=0,n=0;for(const o of this.groups){const t=o.range.end-o.range.start,i=n+t;if(b<i)return this._paddingTop+p+(b-n)*o.size;p+=t*o.size,n=i}return-1}}e.RangeMap=m}),define(ne[54],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StopWatch=void 0;const d=globalThis.performance&&typeof globalThis.performance.now==\"function\";class k{static create(E){return new k(E)}constructor(E){this._now=d&&E===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}e.StopWatch=k}),define(ne[6],se([1,0,8,127,2,73,54]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Relay=e.EventBufferer=e.EventMultiplexer=e.MicrotaskEmitter=e.DebounceEmitter=e.PauseableEmitter=e.createEventDeliveryQueue=e.Emitter=e.ListenerRefusalError=e.ListenerLeakError=e.EventProfiling=e.Event=void 0;const m=!1,_=!1,b=!1;var p;(function(T){T.None=()=>I.Disposable.None;function M($){if(b){const{onDidAddListener:Q}=$,Z=i.create();let te=0;$.onDidAddListener=()=>{++te===2&&(console.warn(\"snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here\"),Z.print()),Q?.()}}}function A($,Q){return U($,()=>{},0,void 0,!0,void 0,Q)}T.defer=A;function P($){return(Q,Z=null,te)=>{let re=!1,le;return le=$(me=>{if(!re)return le?le.dispose():re=!0,Q.call(Z,me)},null,te),re&&le.dispose(),le}}T.once=P;function N($,Q){return T.once(T.filter($,Q))}T.onceIf=N;function O($,Q,Z){return H((te,re=null,le)=>$(me=>te.call(re,Q(me)),null,le),Z)}T.map=O;function F($,Q,Z){return H((te,re=null,le)=>$(me=>{Q(me),te.call(re,me)},null,le),Z)}T.forEach=F;function x($,Q,Z){return H((te,re=null,le)=>$(me=>Q(me)&&te.call(re,me),null,le),Z)}T.filter=x;function W($){return $}T.signal=W;function V(...$){return(Q,Z=null,te)=>{const re=(0,I.combinedDisposable)(...$.map(le=>le(me=>Q.call(Z,me))));return z(re,te)}}T.any=V;function q($,Q,Z,te){let re=Z;return O($,le=>(re=Q(re,le),re),te)}T.reduce=q;function H($,Q){let Z;const te={onWillAddFirstListener(){Z=$(re.fire,re)},onDidRemoveLastListener(){Z?.dispose()}};Q||M(te);const re=new u(te);return Q?.add(re),re.event}function z($,Q){return Q instanceof Array?Q.push($):Q&&Q.add($),$}function U($,Q,Z=100,te=!1,re=!1,le,me){let Ce,ye,Le,Ee=0,Me;const Ae={leakWarningThreshold:le,onWillAddFirstListener(){Ce=$(Ke=>{Ee++,ye=Q(ye,Ke),te&&!Le&&(Ne.fire(ye),ye=void 0),Me=()=>{const ze=ye;ye=void 0,Le=void 0,(!te||Ee>1)&&Ne.fire(ze),Ee=0},typeof Z==\"number\"?(clearTimeout(Le),Le=setTimeout(Me,Z)):Le===void 0&&(Le=0,queueMicrotask(Me))})},onWillRemoveListener(){re&&Ee>0&&Me?.()},onDidRemoveLastListener(){Me=void 0,Ce.dispose()}};me||M(Ae);const Ne=new u(Ae);return me?.add(Ne),Ne.event}T.debounce=U;function j($,Q=0,Z){return T.debounce($,(te,re)=>te?(te.push(re),te):[re],Q,void 0,!0,void 0,Z)}T.accumulate=j;function Y($,Q=(te,re)=>te===re,Z){let te=!0,re;return x($,le=>{const me=te||!Q(le,re);return te=!1,re=le,me},Z)}T.latch=Y;function G($,Q,Z){return[T.filter($,Q,Z),T.filter($,te=>!Q(te),Z)]}T.split=G;function K($,Q=!1,Z=[],te){let re=Z.slice(),le=$(ye=>{re?re.push(ye):Ce.fire(ye)});te&&te.add(le);const me=()=>{re?.forEach(ye=>Ce.fire(ye)),re=null},Ce=new u({onWillAddFirstListener(){le||(le=$(ye=>Ce.fire(ye)),te&&te.add(le))},onDidAddFirstListener(){re&&(Q?setTimeout(me):me())},onDidRemoveLastListener(){le&&le.dispose(),le=null}});return te&&te.add(Ce),Ce.event}T.buffer=K;function R($,Q){return(te,re,le)=>{const me=Q(new ie);return $(function(Ce){const ye=me.evaluate(Ce);ye!==J&&te.call(re,ye)},void 0,le)}}T.chain=R;const J=Symbol(\"HaltChainable\");class ie{constructor(){this.steps=[]}map(Q){return this.steps.push(Q),this}forEach(Q){return this.steps.push(Z=>(Q(Z),Z)),this}filter(Q){return this.steps.push(Z=>Q(Z)?Z:J),this}reduce(Q,Z){let te=Z;return this.steps.push(re=>(te=Q(te,re),te)),this}latch(Q=(Z,te)=>Z===te){let Z=!0,te;return this.steps.push(re=>{const le=Z||!Q(re,te);return Z=!1,te=re,le?re:J}),this}evaluate(Q){for(const Z of this.steps)if(Q=Z(Q),Q===J)break;return Q}}function ue($,Q,Z=te=>te){const te=(...Ce)=>me.fire(Z(...Ce)),re=()=>$.on(Q,te),le=()=>$.removeListener(Q,te),me=new u({onWillAddFirstListener:re,onDidRemoveLastListener:le});return me.event}T.fromNodeEventEmitter=ue;function he($,Q,Z=te=>te){const te=(...Ce)=>me.fire(Z(...Ce)),re=()=>$.addEventListener(Q,te),le=()=>$.removeEventListener(Q,te),me=new u({onWillAddFirstListener:re,onDidRemoveLastListener:le});return me.event}T.fromDOMEventEmitter=he;function pe($){return new Promise(Q=>P($)(Q))}T.toPromise=pe;function ae($){const Q=new u;return $.then(Z=>{Q.fire(Z)},()=>{Q.fire(void 0)}).finally(()=>{Q.dispose()}),Q.event}T.fromPromise=ae;function ee($,Q){return $(Z=>Q.fire(Z))}T.forward=ee;function de($,Q,Z){return Q(Z),$(te=>Q(te))}T.runAndSubscribe=de;class ge{constructor(Q,Z){this._observable=Q,this._counter=0,this._hasChanged=!1;const te={onWillAddFirstListener:()=>{Q.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{Q.removeObserver(this)}};Z||M(te),this.emitter=new u(te),Z&&Z.add(this.emitter)}beginUpdate(Q){this._counter++}handlePossibleChange(Q){}handleChange(Q,Z){this._hasChanged=!0}endUpdate(Q){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function X($,Q){return new ge($,Q).emitter.event}T.fromObservable=X;function B($){return(Q,Z,te)=>{let re=0,le=!1;const me={beginUpdate(){re++},endUpdate(){re--,re===0&&($.reportChanges(),le&&(le=!1,Q.call(Z)))},handlePossibleChange(){},handleChange(){le=!0}};$.addObserver(me),$.reportChanges();const Ce={dispose(){$.removeObserver(me)}};return te instanceof I.DisposableStore?te.add(Ce):Array.isArray(te)&&te.push(Ce),Ce}}T.fromObservableLight=B})(p||(e.Event=p={}));class n{static{this.all=new Set}static{this._idPool=0}constructor(M){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${M}_${n._idPool++}`,n.all.add(this)}start(M){this._stopWatch=new y.StopWatch,this.listenerCount=M}stop(){if(this._stopWatch){const M=this._stopWatch.elapsed();this.durations.push(M),this.elapsedOverall+=M,this.invocationCount+=1,this._stopWatch=void 0}}}e.EventProfiling=n;let o=-1;class t{static{this._idPool=1}constructor(M,A,P=(t._idPool++).toString(16).padStart(3,\"0\")){this._errorHandler=M,this.threshold=A,this.name=P,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(M,A){const P=this.threshold;if(P<=0||A<P)return;this._stacks||(this._stacks=new Map);const N=this._stacks.get(M.value)||0;if(this._stacks.set(M.value,N+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=P*.5;const[O,F]=this.getMostFrequentStack(),x=`[${this.name}] potential listener LEAK detected, having ${A} listeners already. MOST frequent listener (${F}):`;console.warn(x),console.warn(O);const W=new s(x,O);this._errorHandler(W)}return()=>{const O=this._stacks.get(M.value)||0;this._stacks.set(M.value,O-1)}}getMostFrequentStack(){if(!this._stacks)return;let M,A=0;for(const[P,N]of this._stacks)(!M||A<N)&&(M=[P,N],A=N);return M}}class i{static create(){const M=new Error;return new i(M.stack??\"\")}constructor(M){this.value=M}print(){console.warn(this.value.split(`\n`).slice(2).join(`\n`))}}class s extends Error{constructor(M,A){super(M),this.name=\"ListenerLeakError\",this.stack=A}}e.ListenerLeakError=s;class g extends Error{constructor(M,A){super(M),this.name=\"ListenerRefusalError\",this.stack=A}}e.ListenerRefusalError=g;class c{constructor(M){this.value=M}}const l=2,a=(T,M)=>{if(T instanceof c)M(T);else for(let A=0;A<T.length;A++){const P=T[A];P&&M(P)}};let r;if(m){const T=[];setInterval(()=>{T.length!==0&&(console.warn(\"[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:\"),console.warn(T.join(`\n`)),T.length=0)},3e3),r=new FinalizationRegistry(M=>{typeof M==\"string\"&&T.push(M)})}class u{constructor(M){this._size=0,this._options=M,this._leakageMon=o>0||this._options?.leakWarningThreshold?new t(M?.onListenerError??d.onUnexpectedError,this._options?.leakWarningThreshold??o):void 0,this._perfMon=this._options?._profName?new n(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(_){const M=this._listeners;queueMicrotask(()=>{a(M,A=>A.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(M,A,P)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const W=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(W);const V=this._leakageMon.getMostFrequentStack()??[\"UNKNOWN stack\",-1],q=new g(`${W}. HINT: Stack shows most frequent listener (${V[1]}-times)`,V[0]);return(this._options?.onListenerError||d.onUnexpectedError)(q),I.Disposable.None}if(this._disposed)return I.Disposable.None;A&&(M=M.bind(A));const N=new c(M);let O,F;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(N.stack=i.create(),O=this._leakageMon.check(N.stack,this._size+1)),_&&(N.stack=F??i.create()),this._listeners?this._listeners instanceof c?(this._deliveryQueue??=new f,this._listeners=[this._listeners,N]):this._listeners.push(N):(this._options?.onWillAddFirstListener?.(this),this._listeners=N,this._options?.onDidAddFirstListener?.(this)),this._size++;const x=(0,I.toDisposable)(()=>{r?.unregister(x),O?.(),this._removeListener(N)});if(P instanceof I.DisposableStore?P.add(x):Array.isArray(P)&&P.push(x),r){const W=new Error().stack.split(`\n`).slice(2,3).join(`\n`).trim(),V=/(file:|vscode-file:\\/\\/vscode-app)?(\\/[^:]*:\\d+:\\d+)/.exec(W);r.register(x,V?.[2]??W,x)}return x},this._event}_removeListener(M){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const A=this._listeners,P=A.indexOf(M);if(P===-1)throw console.log(\"disposed?\",this._disposed),console.log(\"size?\",this._size),console.log(\"arr?\",JSON.stringify(this._listeners)),new Error(\"Attempted to dispose unknown listener\");this._size--,A[P]=void 0;const N=this._deliveryQueue.current===this;if(this._size*l<=A.length){let O=0;for(let F=0;F<A.length;F++)A[F]?A[O++]=A[F]:N&&(this._deliveryQueue.end--,O<this._deliveryQueue.i&&this._deliveryQueue.i--);A.length=O}}_deliver(M,A){if(!M)return;const P=this._options?.onListenerError||d.onUnexpectedError;if(!P){M.value(A);return}try{M.value(A)}catch(N){P(N)}}_deliverQueue(M){const A=M.current._listeners;for(;M.i<M.end;)this._deliver(A[M.i++],M.value);M.reset()}fire(M){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof c)this._deliver(this._listeners,M);else{const A=this._deliveryQueue;A.enqueue(this,M,this._listeners.length),this._deliverQueue(A)}this._perfMon?.stop()}hasListeners(){return this._size>0}}e.Emitter=u;const C=()=>new f;e.createEventDeliveryQueue=C;class f{constructor(){this.i=-1,this.end=0}enqueue(M,A,P){this.i=0,this.end=P,this.current=M,this.value=A}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class h extends u{constructor(M){super(M),this._isPaused=0,this._eventQueue=new E.LinkedList,this._mergeFn=M?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const M=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(M))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(M){this._size&&(this._isPaused!==0?this._eventQueue.push(M):super.fire(M))}}e.PauseableEmitter=h;class v extends h{constructor(M){super(M),this._delay=M.delay??100}fire(M){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(M)}}e.DebounceEmitter=v;class w extends u{constructor(M){super(M),this._queuedEvents=[],this._mergeFn=M?.merge}fire(M){this.hasListeners()&&(this._queuedEvents.push(M),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(A=>super.fire(A)),this._queuedEvents=[]}))}}e.MicrotaskEmitter=w;class S{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new u({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(M){const A={event:M,listener:null};this.events.push(A),this.hasListeners&&this.hook(A);const P=()=>{this.hasListeners&&this.unhook(A);const N=this.events.indexOf(A);this.events.splice(N,1)};return(0,I.toDisposable)((0,k.createSingleCallFunction)(P))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(M=>this.hook(M))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(M=>this.unhook(M))}hook(M){M.listener=M.event(A=>this.emitter.fire(A))}unhook(M){M.listener?.dispose(),M.listener=null}dispose(){this.emitter.dispose();for(const M of this.events)M.listener?.dispose();this.events=[]}}e.EventMultiplexer=S;class L{constructor(){this.data=[]}wrapEvent(M,A,P){return(N,O,F)=>M(x=>{const W=this.data[this.data.length-1];if(!A){W?W.buffers.push(()=>N.call(O,x)):N.call(O,x);return}const V=W;if(!V){N.call(O,A(P,x));return}V.items??=[],V.items.push(x),V.buffers.length===0&&W.buffers.push(()=>{V.reducedResult??=P?V.items.reduce(A,P):V.items.reduce(A),N.call(O,V.reducedResult)})},void 0,F)}bufferEvents(M){const A={buffers:new Array};this.data.push(A);const P=M();return this.data.pop(),A.buffers.forEach(N=>N()),P}}e.EventBufferer=L;class D{constructor(){this.listening=!1,this.inputEvent=p.None,this.inputEventListener=I.Disposable.None,this.emitter=new u({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(M){this.inputEvent=M,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=M(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}e.Relay=D}),define(ne[93],se([1,0,6]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DomEmitter=void 0;class k{get event(){return this.emitter.event}constructor(E,y,m){const _=b=>this.emitter.fire(b);this.emitter=new d.Emitter({onWillAddFirstListener:()=>E.addEventListener(y,_,m),onDidRemoveLastListener:()=>E.removeEventListener(y,_,m)})}dispose(){this.emitter.dispose()}}e.DomEmitter=k}),define(ne[18],se([1,0,6]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0,e.cancelOnDispose=m;const k=Object.freeze(function(_,b){const p=setTimeout(_.bind(b),0);return{dispose(){clearTimeout(p)}}});var I;(function(_){function b(p){return p===_.None||p===_.Cancelled||p instanceof E?!0:!p||typeof p!=\"object\"?!1:typeof p.isCancellationRequested==\"boolean\"&&typeof p.onCancellationRequested==\"function\"}_.isCancellationToken=b,_.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:d.Event.None}),_.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:k})})(I||(e.CancellationToken=I={}));class E{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?k:(this._emitter||(this._emitter=new d.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class y{constructor(b){this._token=void 0,this._parentListener=void 0,this._parentListener=b&&b.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new E),this._token}cancel(){this._token?this._token instanceof E&&this._token.cancel():this._token=I.Cancelled}dispose(b=!1){b&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof E&&this._token.dispose():this._token=I.None}}e.CancellationTokenSource=y;function m(_){const b=new y;return _.add({dispose(){b.cancel()}}),b.token}}),define(ne[300],se([1,0,6]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IME=e.IMEImpl=void 0;class k{constructor(){this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}}e.IMEImpl=k,e.IME=new k}),define(ne[189],se([1,0,6,2,92,161,65,162,102]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ValueWithChangeEventFromObservable=e.KeepAliveObserver=e.FromEventObservable=void 0,e.constObservable=b,e.observableFromEvent=n,e.observableFromEventOpts=o,e.observableSignalFromEvent=i,e.observableSignal=g,e.keepObserved=l,e.recomputeInitiallyAndOnChange=a,e.derivedObservableWithCache=u,e.derivedObservableWithWritableCache=C,e.mapObservableArrayCached=f,e.observableFromValueWithChangeEvent=w,e.derivedConstOnceDefined=S;function b(L){return new p(L)}class p extends I.ConvenientObservable{constructor(D){super(),this.value=D}get debugName(){return this.toString()}get(){return this.value}addObserver(D){}removeObserver(D){}toString(){return`Const: ${this.value}`}}function n(...L){let D,T,M;return L.length===3?[D,T,M]=L:[T,M]=L,new t(new E.DebugNameData(D,void 0,M),T,M,()=>t.globalTransaction,_.strictEquals)}function o(L,D,T){return new t(new E.DebugNameData(L.owner,L.debugName,L.debugReferenceFn??T),D,T,()=>t.globalTransaction,L.equalsFn??_.strictEquals)}class t extends I.BaseObservable{constructor(D,T,M,A,P){super(),this._debugNameData=D,this.event=T,this._getValue=M,this._getTransaction=A,this._equalityComparator=P,this.hasValue=!1,this.handleEvent=N=>{const O=this._getValue(N),F=this.value,x=!this.hasValue||!this._equalityComparator(F,O);let W=!1;x&&(this.value=O,this.hasValue&&(W=!0,(0,I.subtransaction)(this._getTransaction(),V=>{(0,m.getLogger)()?.handleFromEventObservableTriggered(this,{oldValue:F,newValue:O,change:void 0,didChange:x,hadValue:this.hasValue});for(const q of this.observers)V.updateObserver(q,this),q.handleChange(this,void 0)},()=>{const V=this.getDebugName();return\"Event fired\"+(V?`: ${V}`:\"\")})),this.hasValue=!0),W||(0,m.getLogger)()?.handleFromEventObservableTriggered(this,{oldValue:F,newValue:O,change:void 0,didChange:x,hadValue:this.hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const D=this.getDebugName();return\"From Event\"+(D?`: ${D}`:\"\")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}e.FromEventObservable=t,function(L){L.Observer=t;function D(T,M){let A=!1;t.globalTransaction===void 0&&(t.globalTransaction=T,A=!0);try{M()}finally{A&&(t.globalTransaction=void 0)}}L.batchEventsGlobally=D}(n||(e.observableFromEvent=n={}));function i(L,D){return new s(L,D)}class s extends I.BaseObservable{constructor(D,T){super(),this.debugName=D,this.event=T,this.handleEvent=()=>{(0,I.transaction)(M=>{for(const A of this.observers)M.updateObserver(A,this),A.handleChange(this,void 0)},()=>this.debugName)}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function g(L){return typeof L==\"string\"?new c(L):new c(void 0,L)}class c extends I.BaseObservable{get debugName(){return new E.DebugNameData(this._owner,this._debugName,void 0).getDebugName(this)??\"Observable Signal\"}toString(){return this.debugName}constructor(D,T){super(),this._debugName=D,this._owner=T}trigger(D,T){if(!D){(0,I.transaction)(M=>{this.trigger(M,T)},()=>`Trigger signal ${this.debugName}`);return}for(const M of this.observers)D.updateObserver(M,this),M.handleChange(this,T)}get(){}}function l(L){const D=new r(!1,void 0);return L.addObserver(D),(0,k.toDisposable)(()=>{L.removeObserver(D)})}(0,I._setKeepObserved)(l);function a(L,D){const T=new r(!0,D);return L.addObserver(T),D?D(L.get()):L.reportChanges(),(0,k.toDisposable)(()=>{L.removeObserver(T)})}(0,I._setRecomputeInitiallyAndOnChange)(a);class r{constructor(D,T){this._forceRecompute=D,this._handleValue=T,this._counter=0}beginUpdate(D){this._counter++}endUpdate(D){this._counter--,this._counter===0&&this._forceRecompute&&(this._handleValue?this._handleValue(D.get()):D.reportChanges())}handlePossibleChange(D){}handleChange(D,T){}}e.KeepAliveObserver=r;function u(L,D){let T;return(0,y.derivedOpts)({owner:L,debugReferenceFn:D},A=>(T=D(A,T),T))}function C(L,D){let T;const M=g(\"derivedObservableWithWritableCache\"),A=(0,y.derived)(L,P=>(M.read(P),T=D(P,T),T));return Object.assign(A,{clearCache:P=>{T=void 0,M.trigger(P)},setCache:(P,N)=>{T=P,M.trigger(N)}})}function f(L,D,T,M){let A=new h(T,M);return(0,y.derivedOpts)({debugReferenceFn:T,owner:L,onLastObserverRemoved:()=>{A.dispose(),A=new h(T)}},N=>(A.setItems(D.read(N)),A.getItems()))}class h{constructor(D,T){this._map=D,this._keySelector=T,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(D=>D.store.dispose()),this._cache.clear()}setItems(D){const T=[],M=new Set(this._cache.keys());for(const A of D){const P=this._keySelector?this._keySelector(A):A;let N=this._cache.get(P);if(N)M.delete(P);else{const O=new k.DisposableStore;N={out:this._map(A,O),store:O},this._cache.set(P,N)}T.push(N.out)}for(const A of M)this._cache.get(A).store.dispose(),this._cache.delete(A);this._items=T}getItems(){return this._items}}class v{constructor(D){this.observable=D}get onDidChange(){return d.Event.fromObservableLight(this.observable)}get value(){return this.observable.get()}}e.ValueWithChangeEventFromObservable=v;function w(L,D){return D instanceof v?D.observable:n(L,D.onDidChange,()=>D.value)}function S(L,D){return u(L,(T,M)=>M??D(T))}}),define(ne[21],se([1,0,92,65,299,189,453,452,162]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.observableValueOpts=e.waitForState=e.PromiseResult=e.ObservablePromise=e.observableSignalFromEvent=e.observableSignal=e.observableFromEvent=e.recomputeInitiallyAndOnChange=e.keepObserved=e.derivedObservableWithWritableCache=e.derivedObservableWithCache=e.constObservable=e.autorunWithStoreHandleChanges=e.autorunOpts=e.autorunWithStore=e.autorunHandleChanges=e.autorun=e.derivedWithStore=e.derivedHandleChanges=e.derivedOpts=e.derived=e.subtransaction=e.transaction=e.disposableObservableValue=e.observableValue=void 0,Object.defineProperty(e,\"observableValue\",{enumerable:!0,get:function(){return d.observableValue}}),Object.defineProperty(e,\"disposableObservableValue\",{enumerable:!0,get:function(){return d.disposableObservableValue}}),Object.defineProperty(e,\"transaction\",{enumerable:!0,get:function(){return d.transaction}}),Object.defineProperty(e,\"subtransaction\",{enumerable:!0,get:function(){return d.subtransaction}}),Object.defineProperty(e,\"derived\",{enumerable:!0,get:function(){return k.derived}}),Object.defineProperty(e,\"derivedOpts\",{enumerable:!0,get:function(){return k.derivedOpts}}),Object.defineProperty(e,\"derivedHandleChanges\",{enumerable:!0,get:function(){return k.derivedHandleChanges}}),Object.defineProperty(e,\"derivedWithStore\",{enumerable:!0,get:function(){return k.derivedWithStore}}),Object.defineProperty(e,\"autorun\",{enumerable:!0,get:function(){return I.autorun}}),Object.defineProperty(e,\"autorunHandleChanges\",{enumerable:!0,get:function(){return I.autorunHandleChanges}}),Object.defineProperty(e,\"autorunWithStore\",{enumerable:!0,get:function(){return I.autorunWithStore}}),Object.defineProperty(e,\"autorunOpts\",{enumerable:!0,get:function(){return I.autorunOpts}}),Object.defineProperty(e,\"autorunWithStoreHandleChanges\",{enumerable:!0,get:function(){return I.autorunWithStoreHandleChanges}}),Object.defineProperty(e,\"constObservable\",{enumerable:!0,get:function(){return E.constObservable}}),Object.defineProperty(e,\"derivedObservableWithCache\",{enumerable:!0,get:function(){return E.derivedObservableWithCache}}),Object.defineProperty(e,\"derivedObservableWithWritableCache\",{enumerable:!0,get:function(){return E.derivedObservableWithWritableCache}}),Object.defineProperty(e,\"keepObserved\",{enumerable:!0,get:function(){return E.keepObserved}}),Object.defineProperty(e,\"recomputeInitiallyAndOnChange\",{enumerable:!0,get:function(){return E.recomputeInitiallyAndOnChange}}),Object.defineProperty(e,\"observableFromEvent\",{enumerable:!0,get:function(){return E.observableFromEvent}}),Object.defineProperty(e,\"observableSignal\",{enumerable:!0,get:function(){return E.observableSignal}}),Object.defineProperty(e,\"observableSignalFromEvent\",{enumerable:!0,get:function(){return E.observableSignalFromEvent}}),Object.defineProperty(e,\"ObservablePromise\",{enumerable:!0,get:function(){return y.ObservablePromise}}),Object.defineProperty(e,\"PromiseResult\",{enumerable:!0,get:function(){return y.PromiseResult}}),Object.defineProperty(e,\"waitForState\",{enumerable:!0,get:function(){return y.waitForState}}),Object.defineProperty(e,\"observableValueOpts\",{enumerable:!0,get:function(){return m.observableValueOpts}}),!1&&(0,_.setLogger)(new _.ConsoleObservableLogger)}),define(ne[163],se([1,0,6,2]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SmoothScrollingOperation=e.SmoothScrollingUpdate=e.Scrollable=e.ScrollState=void 0;class I{constructor(t,i,s,g,c,l,a){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i=i|0,s=s|0,g=g|0,c=c|0,l=l|0,a=a|0),this.rawScrollLeft=g,this.rawScrollTop=a,i<0&&(i=0),g+i>s&&(g=s-i),g<0&&(g=0),c<0&&(c=0),a+c>l&&(a=l-c),a<0&&(a=0),this.width=i,this.scrollWidth=s,this.scrollLeft=g,this.height=c,this.scrollHeight=l,this.scrollTop=a}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,i){return new I(this._forceIntegerValues,typeof t.width<\"u\"?t.width:this.width,typeof t.scrollWidth<\"u\"?t.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,typeof t.height<\"u\"?t.height:this.height,typeof t.scrollHeight<\"u\"?t.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new I(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<\"u\"?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<\"u\"?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,i){const s=this.width!==t.width,g=this.scrollWidth!==t.scrollWidth,c=this.scrollLeft!==t.scrollLeft,l=this.height!==t.height,a=this.scrollHeight!==t.scrollHeight,r=this.scrollTop!==t.scrollTop;return{inSmoothScrolling:i,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:s,scrollWidthChanged:g,scrollLeftChanged:c,heightChanged:l,scrollHeightChanged:a,scrollTopChanged:r}}}e.ScrollState=I;class E extends k.Disposable{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new d.Emitter),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new I(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,i){const s=this._state.withScrollDimensions(t,i);this._setState(s,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){const i=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(i,!1)}setScrollPositionSmooth(t,i){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>\"u\"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>\"u\"?this._smoothScrolling.to.scrollTop:t.scrollTop};const s=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===s.scrollLeft&&this._smoothScrolling.to.scrollTop===s.scrollTop)return;let g;i?g=new b(this._smoothScrolling.from,s,this._smoothScrolling.startTime,this._smoothScrolling.duration):g=this._smoothScrolling.combine(this._state,s,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=g}else{const s=this._state.withScrollPosition(t);this._smoothScrolling=b.start(this._state,s,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;const t=this._smoothScrolling.tick(),i=this._state.withScrollPosition(t);if(this._setState(i,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,i){const s=this._state;s.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(s,i)))}}e.Scrollable=E;class y{constructor(t,i,s){this.scrollLeft=t,this.scrollTop=i,this.isDone=s}}e.SmoothScrollingUpdate=y;function m(o,t){const i=t-o;return function(s){return o+i*n(s)}}function _(o,t,i){return function(s){return s<i?o(s/i):t((s-i)/(1-i))}}class b{constructor(t,i,s,g){this.from=t,this.to=i,this.duration=g,this.startTime=s,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(t,i,s){if(Math.abs(t-i)>2.5*s){let c,l;return t<i?(c=t+.75*s,l=i-.75*s):(c=t-.75*s,l=i+.75*s),_(m(t,c),m(l,i),.33)}return m(t,i)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(t){this.to=t.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(t){const i=(t-this.startTime)/this.duration;if(i<1){const s=this.scrollLeft(i),g=this.scrollTop(i);return new y(s,g,!1)}return new y(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,i,s){return b.start(t,i,s)}static start(t,i,s){s=s+10;const g=Date.now()-10;return new b(t,i,g,s)}}e.SmoothScrollingOperation=b;function p(o){return Math.pow(o,3)}function n(o){return 1-p(1-o)}}),define(ne[11],se([1,0,297,98]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InvisibleCharacters=e.AmbiguousCharacters=e.noBreakWhitespace=e.UTF8_BOM_CHARACTER=e.UNUSUAL_LINE_TERMINATORS=e.GraphemeIterator=e.CodePointIterator=void 0,e.isFalsyOrWhitespace=I,e.format=y,e.htmlAttributeEncodeValue=m,e.escape=_,e.escapeRegExpCharacters=b,e.trim=p,e.ltrim=n,e.rtrim=o,e.convertSimple2RegExpPattern=t,e.stripWildcards=i,e.createRegExp=s,e.regExpLeadsToEndlessLoop=g,e.splitLines=c,e.splitLinesIncludeSeparators=l,e.firstNonWhitespaceIndex=a,e.getLeadingWhitespace=r,e.lastNonWhitespaceIndex=u,e.compare=C,e.compareSubstring=f,e.compareIgnoreCase=h,e.compareSubstringIgnoreCase=v,e.isAsciiDigit=w,e.isLowerAsciiLetter=S,e.isUpperAsciiLetter=L,e.equalsIgnoreCase=D,e.startsWithIgnoreCase=T,e.commonPrefixLength=M,e.commonSuffixLength=A,e.isHighSurrogate=P,e.isLowSurrogate=N,e.computeCodePoint=O,e.getNextCodePoint=F,e.nextCharLength=q,e.prevCharLength=H,e.getCharContainingOffset=z,e.containsRTL=Y,e.isBasicASCII=K,e.containsUnusualLineTerminators=R,e.isFullWidthCharacter=J,e.isEmojiImprecise=ie,e.startsWithUTF8BOM=ue,e.containsUppercaseCharacter=he,e.singleLetterHash=pe,e.getLeftDeleteOffset=ge;function I(Z){return!Z||typeof Z!=\"string\"?!0:Z.trim().length===0}const E=/{(\\d+)}/g;function y(Z,...te){return te.length===0?Z:Z.replace(E,function(re,le){const me=parseInt(le,10);return isNaN(me)||me<0||me>=te.length?re:te[me]})}function m(Z){return Z.replace(/[<>\"'&]/g,te=>{switch(te){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";case\"'\":return\"&apos;\";case\"&\":return\"&amp;\"}return te})}function _(Z){return Z.replace(/[<>&]/g,function(te){switch(te){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case\"&\":return\"&amp;\";default:return te}})}function b(Z){return Z.replace(/[\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)]/g,\"\\\\$&\")}function p(Z,te=\" \"){const re=n(Z,te);return o(re,te)}function n(Z,te){if(!Z||!te)return Z;const re=te.length;if(re===0||Z.length===0)return Z;let le=0;for(;Z.indexOf(te,le)===le;)le=le+re;return Z.substring(le)}function o(Z,te){if(!Z||!te)return Z;const re=te.length,le=Z.length;if(re===0||le===0)return Z;let me=le,Ce=-1;for(;Ce=Z.lastIndexOf(te,me-1),!(Ce===-1||Ce+re!==me);){if(Ce===0)return\"\";me=Ce}return Z.substring(0,me)}function t(Z){return Z.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g,\"\\\\$&\").replace(/[\\*]/g,\".*\")}function i(Z){return Z.replace(/\\*/g,\"\")}function s(Z,te,re={}){if(!Z)throw new Error(\"Cannot create regex from empty string\");te||(Z=b(Z)),re.wholeWord&&(/\\B/.test(Z.charAt(0))||(Z=\"\\\\b\"+Z),/\\B/.test(Z.charAt(Z.length-1))||(Z=Z+\"\\\\b\"));let le=\"\";return re.global&&(le+=\"g\"),re.matchCase||(le+=\"i\"),re.multiline&&(le+=\"m\"),re.unicode&&(le+=\"u\"),new RegExp(Z,le)}function g(Z){return Z.source===\"^\"||Z.source===\"^$\"||Z.source===\"$\"||Z.source===\"^\\\\s*$\"?!1:!!(Z.exec(\"\")&&Z.lastIndex===0)}function c(Z){return Z.split(/\\r\\n|\\r|\\n/)}function l(Z){const te=[],re=Z.split(/(\\r\\n|\\r|\\n)/);for(let le=0;le<Math.ceil(re.length/2);le++)te.push(re[2*le]+(re[2*le+1]??\"\"));return te}function a(Z){for(let te=0,re=Z.length;te<re;te++){const le=Z.charCodeAt(te);if(le!==32&&le!==9)return te}return-1}function r(Z,te=0,re=Z.length){for(let le=te;le<re;le++){const me=Z.charCodeAt(le);if(me!==32&&me!==9)return Z.substring(te,le)}return Z.substring(te,re)}function u(Z,te=Z.length-1){for(let re=te;re>=0;re--){const le=Z.charCodeAt(re);if(le!==32&&le!==9)return re}return-1}function C(Z,te){return Z<te?-1:Z>te?1:0}function f(Z,te,re=0,le=Z.length,me=0,Ce=te.length){for(;re<le&&me<Ce;re++,me++){const Ee=Z.charCodeAt(re),Me=te.charCodeAt(me);if(Ee<Me)return-1;if(Ee>Me)return 1}const ye=le-re,Le=Ce-me;return ye<Le?-1:ye>Le?1:0}function h(Z,te){return v(Z,te,0,Z.length,0,te.length)}function v(Z,te,re=0,le=Z.length,me=0,Ce=te.length){for(;re<le&&me<Ce;re++,me++){let Ee=Z.charCodeAt(re),Me=te.charCodeAt(me);if(Ee===Me)continue;if(Ee>=128||Me>=128)return f(Z.toLowerCase(),te.toLowerCase(),re,le,me,Ce);S(Ee)&&(Ee-=32),S(Me)&&(Me-=32);const Ae=Ee-Me;if(Ae!==0)return Ae}const ye=le-re,Le=Ce-me;return ye<Le?-1:ye>Le?1:0}function w(Z){return Z>=48&&Z<=57}function S(Z){return Z>=97&&Z<=122}function L(Z){return Z>=65&&Z<=90}function D(Z,te){return Z.length===te.length&&v(Z,te)===0}function T(Z,te){const re=te.length;return te.length>Z.length?!1:v(Z,te,0,re)===0}function M(Z,te){const re=Math.min(Z.length,te.length);let le;for(le=0;le<re;le++)if(Z.charCodeAt(le)!==te.charCodeAt(le))return le;return re}function A(Z,te){const re=Math.min(Z.length,te.length);let le;const me=Z.length-1,Ce=te.length-1;for(le=0;le<re;le++)if(Z.charCodeAt(me-le)!==te.charCodeAt(Ce-le))return le;return re}function P(Z){return 55296<=Z&&Z<=56319}function N(Z){return 56320<=Z&&Z<=57343}function O(Z,te){return(Z-55296<<10)+(te-56320)+65536}function F(Z,te,re){const le=Z.charCodeAt(re);if(P(le)&&re+1<te){const me=Z.charCodeAt(re+1);if(N(me))return O(le,me)}return le}function x(Z,te){const re=Z.charCodeAt(te-1);if(N(re)&&te>1){const le=Z.charCodeAt(te-2);if(P(le))return O(le,re)}return re}class W{get offset(){return this._offset}constructor(te,re=0){this._str=te,this._len=te.length,this._offset=re}setOffset(te){this._offset=te}prevCodePoint(){const te=x(this._str,this._offset);return this._offset-=te>=65536?2:1,te}nextCodePoint(){const te=F(this._str,this._len,this._offset);return this._offset+=te>=65536?2:1,te}eol(){return this._offset>=this._len}}e.CodePointIterator=W;class V{get offset(){return this._iterator.offset}constructor(te,re=0){this._iterator=new W(te,re)}nextGraphemeLength(){const te=ee.getInstance(),re=this._iterator,le=re.offset;let me=te.getGraphemeBreakType(re.nextCodePoint());for(;!re.eol();){const Ce=re.offset,ye=te.getGraphemeBreakType(re.nextCodePoint());if(ae(me,ye)){re.setOffset(Ce);break}me=ye}return re.offset-le}prevGraphemeLength(){const te=ee.getInstance(),re=this._iterator,le=re.offset;let me=te.getGraphemeBreakType(re.prevCodePoint());for(;re.offset>0;){const Ce=re.offset,ye=te.getGraphemeBreakType(re.prevCodePoint());if(ae(ye,me)){re.setOffset(Ce);break}me=ye}return le-re.offset}eol(){return this._iterator.eol()}}e.GraphemeIterator=V;function q(Z,te){return new V(Z,te).nextGraphemeLength()}function H(Z,te){return new V(Z,te).prevGraphemeLength()}function z(Z,te){te>0&&N(Z.charCodeAt(te))&&te--;const re=te+q(Z,te);return[re-H(Z,re),re]}let U;function j(){return/(?:[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E-\\u088E\\u08A0-\\u08C9\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFD3D\\uFD50-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFEFC]|\\uD802[\\uDC00-\\uDD1B\\uDD20-\\uDE00\\uDE10-\\uDE35\\uDE40-\\uDEE4\\uDEEB-\\uDF35\\uDF40-\\uDFFF]|\\uD803[\\uDC00-\\uDD23\\uDE80-\\uDEA9\\uDEAD-\\uDF45\\uDF51-\\uDF81\\uDF86-\\uDFF6]|\\uD83A[\\uDC00-\\uDCCF\\uDD00-\\uDD43\\uDD4B-\\uDFFF]|\\uD83B[\\uDC00-\\uDEBB])/}function Y(Z){return U||(U=j()),U.test(Z)}const G=/^[\\t\\n\\r\\x20-\\x7E]*$/;function K(Z){return G.test(Z)}e.UNUSUAL_LINE_TERMINATORS=/[\\u2028\\u2029]/;function R(Z){return e.UNUSUAL_LINE_TERMINATORS.test(Z)}function J(Z){return Z>=11904&&Z<=55215||Z>=63744&&Z<=64255||Z>=65281&&Z<=65374}function ie(Z){return Z>=127462&&Z<=127487||Z===8986||Z===8987||Z===9200||Z===9203||Z>=9728&&Z<=10175||Z===11088||Z===11093||Z>=127744&&Z<=128591||Z>=128640&&Z<=128764||Z>=128992&&Z<=129008||Z>=129280&&Z<=129535||Z>=129648&&Z<=129782}e.UTF8_BOM_CHARACTER=\"\\uFEFF\";function ue(Z){return!!(Z&&Z.length>0&&Z.charCodeAt(0)===65279)}function he(Z,te=!1){return Z?(te&&(Z=Z.replace(/\\\\./g,\"\")),Z.toLowerCase()!==Z):!1}function pe(Z){return Z=Z%(2*26),Z<26?String.fromCharCode(97+Z):String.fromCharCode(65+Z-26)}function ae(Z,te){return Z===0?te!==5&&te!==7:Z===2&&te===3?!1:Z===4||Z===2||Z===3||te===4||te===2||te===3?!0:!(Z===8&&(te===8||te===9||te===11||te===12)||(Z===11||Z===9)&&(te===9||te===10)||(Z===12||Z===10)&&te===10||te===5||te===13||te===7||Z===1||Z===13&&te===14||Z===6&&te===6)}class ee{static{this._INSTANCE=null}static getInstance(){return ee._INSTANCE||(ee._INSTANCE=new ee),ee._INSTANCE}constructor(){this._data=de()}getGraphemeBreakType(te){if(te<32)return te===10?3:te===13?2:4;if(te<127)return 0;const re=this._data,le=re.length/3;let me=1;for(;me<=le;)if(te<re[3*me])me=2*me;else if(te>re[3*me+1])me=2*me+1;else return re[3*me+2];return 0}}function de(){return JSON.parse(\"[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]\")}function ge(Z,te){if(Z===0)return 0;const re=X(Z,te);if(re!==void 0)return re;const le=new W(te,Z);return le.prevCodePoint(),le.offset}function X(Z,te){const re=new W(te,Z);let le=re.prevCodePoint();for(;B(le)||le===65039||le===8419;){if(re.offset===0)return;le=re.prevCodePoint()}if(!ie(le))return;let me=re.offset;return me>0&&re.prevCodePoint()===8205&&(me=re.offset),me}function B(Z){return 127995<=Z&&Z<=127999}e.noBreakWhitespace=\"\\xA0\";class ${static{this.ambiguousCharacterData=new k.Lazy(()=>JSON.parse('{\"_common\":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],\"_default\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"cs\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"de\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"es\":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"fr\":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"it\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"ja\":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],\"ko\":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"pl\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"pt-BR\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"qps-ploc\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"ru\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"tr\":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"zh-hans\":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],\"zh-hant\":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))}static{this.cache=new d.LRUCachedFunction({getCacheKey:JSON.stringify},te=>{function re(Ae){const Ne=new Map;for(let Ke=0;Ke<Ae.length;Ke+=2)Ne.set(Ae[Ke],Ae[Ke+1]);return Ne}function le(Ae,Ne){const Ke=new Map(Ae);for(const[ze,Ge]of Ne)Ke.set(ze,Ge);return Ke}function me(Ae,Ne){if(!Ae)return Ne;const Ke=new Map;for(const[ze,Ge]of Ae)Ne.has(ze)&&Ke.set(ze,Ge);return Ke}const Ce=this.ambiguousCharacterData.value;let ye=te.filter(Ae=>!Ae.startsWith(\"_\")&&Ae in Ce);ye.length===0&&(ye=[\"_default\"]);let Le;for(const Ae of ye){const Ne=re(Ce[Ae]);Le=me(Le,Ne)}const Ee=re(Ce._common),Me=le(Ee,Le);return new $(Me)})}static getInstance(te){return $.cache.get(Array.from(te))}static{this._locales=new k.Lazy(()=>Object.keys($.ambiguousCharacterData.value).filter(te=>!te.startsWith(\"_\")))}static getLocales(){return $._locales.value}constructor(te){this.confusableDictionary=te}isAmbiguous(te){return this.confusableDictionary.has(te)}getPrimaryConfusable(te){return this.confusableDictionary.get(te)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}e.AmbiguousCharacters=$;class Q{static getRawData(){return JSON.parse(\"[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]\")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(Q.getRawData())),this._data}static isInvisibleCharacter(te){return Q.getData().has(te)}static get codePoints(){return Q.getData()}}e.InvisibleCharacters=Q}),define(ne[82],se([1,0,45,448,11]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FuzzyScoreOptions=e.FuzzyScore=e.matchesPrefix=e.matchesStrictPrefix=void 0,e.or=E,e.matchesContiguousSubString=m,e.matchesSubString=_,e.isUpper=n,e.matchesCamelCase=S,e.matchesWords=L,e.matchesFuzzy=N,e.matchesFuzzy2=O,e.anyScore=F,e.createMatches=x,e.isPatternInWord=he,e.fuzzyScore=ee,e.fuzzyScoreGracefulAggressive=X;function E(...Q){return function(Z,te){for(let re=0,le=Q.length;re<le;re++){const me=Q[re](Z,te);if(me)return me}return null}}e.matchesStrictPrefix=y.bind(void 0,!1),e.matchesPrefix=y.bind(void 0,!0);function y(Q,Z,te){if(!te||te.length<Z.length)return null;let re;return Q?re=I.startsWithIgnoreCase(te,Z):re=te.indexOf(Z)===0,re?Z.length>0?[{start:0,end:Z.length}]:[]:null}function m(Q,Z){const te=Z.toLowerCase().indexOf(Q.toLowerCase());return te===-1?null:[{start:te,end:te+Q.length}]}function _(Q,Z){return b(Q.toLowerCase(),Z.toLowerCase(),0,0)}function b(Q,Z,te,re){if(te===Q.length)return[];if(re===Z.length)return null;if(Q[te]===Z[re]){let le=null;return(le=b(Q,Z,te+1,re+1))?r({start:re,end:re+1},le):null}return b(Q,Z,te,re+1)}function p(Q){return 97<=Q&&Q<=122}function n(Q){return 65<=Q&&Q<=90}function o(Q){return 48<=Q&&Q<=57}function t(Q){return Q===32||Q===9||Q===10||Q===13}const i=new Set;\"()[]{}<>`'\\\"-/;:,.?!\".split(\"\").forEach(Q=>i.add(Q.charCodeAt(0)));function s(Q){return t(Q)||i.has(Q)}function g(Q,Z){return Q===Z||s(Q)&&s(Z)}const c=new Map;function l(Q){if(c.has(Q))return c.get(Q);let Z;const te=(0,k.getKoreanAltChars)(Q);return te&&(Z=te),c.set(Q,Z),Z}function a(Q){return p(Q)||n(Q)||o(Q)}function r(Q,Z){return Z.length===0?Z=[Q]:Q.end===Z[0].start?Z[0].start=Q.start:Z.unshift(Q),Z}function u(Q,Z){for(let te=Z;te<Q.length;te++){const re=Q.charCodeAt(te);if(n(re)||o(re)||te>0&&!a(Q.charCodeAt(te-1)))return te}return Q.length}function C(Q,Z,te,re){if(te===Q.length)return[];if(re===Z.length)return null;if(Q[te]!==Z[re].toLowerCase())return null;{let le=null,me=re+1;for(le=C(Q,Z,te+1,re+1);!le&&(me=u(Z,me))<Z.length;)le=C(Q,Z,te+1,me),me++;return le===null?null:r({start:re,end:re+1},le)}}function f(Q){let Z=0,te=0,re=0,le=0,me=0;for(let Me=0;Me<Q.length;Me++)me=Q.charCodeAt(Me),n(me)&&Z++,p(me)&&te++,a(me)&&re++,o(me)&&le++;const Ce=Z/Q.length,ye=te/Q.length,Le=re/Q.length,Ee=le/Q.length;return{upperPercent:Ce,lowerPercent:ye,alphaPercent:Le,numericPercent:Ee}}function h(Q){const{upperPercent:Z,lowerPercent:te}=Q;return te===0&&Z>.6}function v(Q){const{upperPercent:Z,lowerPercent:te,alphaPercent:re,numericPercent:le}=Q;return te>.2&&Z<.8&&re>.6&&le<.2}function w(Q){let Z=0,te=0,re=0,le=0;for(let me=0;me<Q.length;me++)re=Q.charCodeAt(me),n(re)&&Z++,p(re)&&te++,t(re)&&le++;return(Z===0||te===0)&&le===0?Q.length<=30:Z<=5}function S(Q,Z){if(!Z||(Z=Z.trim(),Z.length===0)||!w(Q))return null;Z.length>60&&(Z=Z.substring(0,60));const te=f(Z);if(!v(te)){if(!h(te))return null;Z=Z.toLowerCase()}let re=null,le=0;for(Q=Q.toLowerCase();le<Z.length&&(re=C(Q,Z,0,le))===null;)le=u(Z,le+1);return re}function L(Q,Z,te=!1){if(!Z||Z.length===0)return null;let re=null,le=0;for(Q=Q.toLowerCase(),Z=Z.toLowerCase();le<Z.length&&(re=D(Q,Z,0,le,te),re===null);)le=T(Z,le+1);return re}function D(Q,Z,te,re,le){let me=0;if(te===Q.length)return[];if(re===Z.length)return null;if(!g(Q.charCodeAt(te),Z.charCodeAt(re))){const Le=l(Q.charCodeAt(te));if(!Le)return null;for(let Ee=0;Ee<Le.length;Ee++)if(!g(Le[Ee],Z.charCodeAt(re+Ee)))return null;me+=Le.length-1}let Ce=null,ye=re+me+1;if(Ce=D(Q,Z,te+1,ye,le),!le)for(;!Ce&&(ye=T(Z,ye))<Z.length;)Ce=D(Q,Z,te+1,ye,le),ye++;if(!Ce)return null;if(Q.charCodeAt(te)!==Z.charCodeAt(re)){const Le=l(Q.charCodeAt(te));if(!Le)return Ce;for(let Ee=0;Ee<Le.length;Ee++)if(Le[Ee]!==Z.charCodeAt(re+Ee))return Ce}return r({start:re,end:re+me+1},Ce)}function T(Q,Z){for(let te=Z;te<Q.length;te++)if(s(Q.charCodeAt(te))||te>0&&s(Q.charCodeAt(te-1)))return te;return Q.length}const M=E(e.matchesPrefix,S,m),A=E(e.matchesPrefix,S,_),P=new d.LRUCache(1e4);function N(Q,Z,te=!1){if(typeof Q!=\"string\"||typeof Z!=\"string\")return null;let re=P.get(Q);re||(re=new RegExp(I.convertSimple2RegExpPattern(Q),\"i\"),P.set(Q,re));const le=re.exec(Z);return le?[{start:le.index,end:le.index+le[0].length}]:te?A(Q,Z):M(Q,Z)}function O(Q,Z){const te=ee(Q,Q.toLowerCase(),0,Z,Z.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return te?x(te):null}function F(Q,Z,te,re,le,me){const Ce=Math.min(13,Q.length);for(;te<Ce;te++){const ye=ee(Q,Z,te,re,le,me,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(ye)return ye}return[0,me]}function x(Q){if(typeof Q>\"u\")return[];const Z=[],te=Q[1];for(let re=Q.length-1;re>1;re--){const le=Q[re]+te,me=Z[Z.length-1];me&&me.end===le?me.end=le+1:Z.push({start:le,end:le+1})}return Z}const W=128;function V(){const Q=[],Z=[];for(let te=0;te<=W;te++)Z[te]=0;for(let te=0;te<=W;te++)Q.push(Z.slice(0));return Q}function q(Q){const Z=[];for(let te=0;te<=Q;te++)Z[te]=0;return Z}const H=q(2*W),z=q(2*W),U=V(),j=V(),Y=V(),G=!1;function K(Q,Z,te,re,le){function me(ye,Le,Ee=\" \"){for(;ye.length<Le;)ye=Ee+ye;return ye}let Ce=` |   |${re.split(\"\").map(ye=>me(ye,3)).join(\"|\")}\n`;for(let ye=0;ye<=te;ye++)ye===0?Ce+=\" |\":Ce+=`${Z[ye-1]}|`,Ce+=Q[ye].slice(0,le+1).map(Le=>me(Le.toString(),3)).join(\"|\")+`\n`;return Ce}function R(Q,Z,te,re){Q=Q.substr(Z),te=te.substr(re),console.log(K(j,Q,Q.length,te,te.length)),console.log(K(Y,Q,Q.length,te,te.length)),console.log(K(U,Q,Q.length,te,te.length))}function J(Q,Z){if(Z<0||Z>=Q.length)return!1;const te=Q.codePointAt(Z);switch(te){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!I.isEmojiImprecise(te)}}function ie(Q,Z){if(Z<0||Z>=Q.length)return!1;switch(Q.charCodeAt(Z)){case 32:case 9:return!0;default:return!1}}function ue(Q,Z,te){return Z[Q]!==te[Q]}function he(Q,Z,te,re,le,me,Ce=!1){for(;Z<te&&le<me;)Q[Z]===re[le]&&(Ce&&(H[Z]=le),Z+=1),le+=1;return Z===te}var pe;(function(Q){Q.Default=[-100,0];function Z(te){return!te||te.length===2&&te[0]===-100&&te[1]===0}Q.isDefault=Z})(pe||(e.FuzzyScore=pe={}));class ae{static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}constructor(Z,te){this.firstMatchCanBeWeak=Z,this.boostFullMatch=te}}e.FuzzyScoreOptions=ae;function ee(Q,Z,te,re,le,me,Ce=ae.default){const ye=Q.length>W?W:Q.length,Le=re.length>W?W:re.length;if(te>=ye||me>=Le||ye-te>Le-me||!he(Z,te,ye,le,me,Le,!0))return;de(ye,Le,te,me,Z,le);let Ee=1,Me=1,Ae=te,Ne=me;const Ke=[!1];for(Ee=1,Ae=te;Ae<ye;Ee++,Ae++){const Fe=H[Ae],fe=z[Ae],_e=Ae+1<ye?z[Ae+1]:Le;for(Me=Fe-me+1,Ne=Fe;Ne<_e;Me++,Ne++){let xe=Number.MIN_SAFE_INTEGER,be=!1;Ne<=fe&&(xe=ge(Q,Z,Ae,te,re,le,Ne,Le,me,U[Ee-1][Me-1]===0,Ke));let ve=0;xe!==Number.MAX_SAFE_INTEGER&&(be=!0,ve=xe+j[Ee-1][Me-1]);const we=Ne>Fe,Te=we?j[Ee][Me-1]+(U[Ee][Me-1]>0?-5:0):0,Pe=Ne>Fe+1&&U[Ee][Me-1]>0,Be=Pe?j[Ee][Me-2]+(U[Ee][Me-2]>0?-5:0):0;if(Pe&&(!we||Be>=Te)&&(!be||Be>=ve))j[Ee][Me]=Be,Y[Ee][Me]=3,U[Ee][Me]=0;else if(we&&(!be||Te>=ve))j[Ee][Me]=Te,Y[Ee][Me]=2,U[Ee][Me]=0;else if(be)j[Ee][Me]=ve,Y[Ee][Me]=1,U[Ee][Me]=U[Ee-1][Me-1]+1;else throw new Error(\"not possible\")}}if(G&&R(Q,te,re,me),!Ke[0]&&!Ce.firstMatchCanBeWeak)return;Ee--,Me--;const ze=[j[Ee][Me],me];let Ge=0,it=0;for(;Ee>=1;){let Fe=Me;do{const fe=Y[Ee][Fe];if(fe===3)Fe=Fe-2;else if(fe===2)Fe=Fe-1;else break}while(Fe>=1);Ge>1&&Z[te+Ee-1]===le[me+Me-1]&&!ue(Fe+me-1,re,le)&&Ge+1>U[Ee][Fe]&&(Fe=Me),Fe===Me?Ge++:Ge=1,it||(it=Fe),Ee--,Me=Fe-1,ze.push(Me)}Le-me===ye&&Ce.boostFullMatch&&(ze[0]+=2);const Oe=it-ye;return ze[0]-=Oe,ze}function de(Q,Z,te,re,le,me){let Ce=Q-1,ye=Z-1;for(;Ce>=te&&ye>=re;)le[Ce]===me[ye]&&(z[Ce]=ye,Ce--),ye--}function ge(Q,Z,te,re,le,me,Ce,ye,Le,Ee,Me){if(Z[te]!==me[Ce])return Number.MIN_SAFE_INTEGER;let Ae=1,Ne=!1;return Ce===te-re?Ae=Q[te]===le[Ce]?7:5:ue(Ce,le,me)&&(Ce===0||!ue(Ce-1,le,me))?(Ae=Q[te]===le[Ce]?7:5,Ne=!0):J(me,Ce)&&(Ce===0||!J(me,Ce-1))?Ae=5:(J(me,Ce-1)||ie(me,Ce-1))&&(Ae=5,Ne=!0),Ae>1&&te===re&&(Me[0]=!0),Ne||(Ne=ue(Ce,le,me)||J(me,Ce-1)||ie(me,Ce-1)),te===re?Ce>Le&&(Ae-=Ne?3:5):Ee?Ae+=Ne?2:0:Ae+=Ne?0:1,Ce+1===ye&&(Ae-=Ne?3:5),Ae}function X(Q,Z,te,re,le,me,Ce){return B(Q,Z,te,re,le,me,!0,Ce)}function B(Q,Z,te,re,le,me,Ce,ye){let Le=ee(Q,Z,te,re,le,me,ye);if(Le&&!Ce)return Le;if(Q.length>=3){const Ee=Math.min(7,Q.length-1);for(let Me=te+1;Me<Ee;Me++){const Ae=$(Q,Me);if(Ae){const Ne=ee(Ae,Ae.toLowerCase(),te,re,le,me,ye);Ne&&(Ne[0]-=3,(!Le||Ne[0]>Le[0])&&(Le=Ne))}}}return Le}function $(Q,Z){if(Z+1>=Q.length)return;const te=Q[Z],re=Q[Z+1];if(te!==re)return Q.slice(0,Z)+re+te+Q.slice(Z+2)}}),define(ne[129],se([1,0,11]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StringSHA1=void 0,e.hash=k,e.doHash=I,e.numberHash=E,e.stringHash=m,e.toHexString=t;function k(s){return I(s,0)}function I(s,g){switch(typeof s){case\"object\":return s===null?E(349,g):Array.isArray(s)?_(s,g):b(s,g);case\"string\":return m(s,g);case\"boolean\":return y(s,g);case\"number\":return E(s,g);case\"undefined\":return E(937,g);default:return E(617,g)}}function E(s,g){return(g<<5)-g+s|0}function y(s,g){return E(s?433:863,g)}function m(s,g){g=E(149417,g);for(let c=0,l=s.length;c<l;c++)g=E(s.charCodeAt(c),g);return g}function _(s,g){return g=E(104579,g),s.reduce((c,l)=>I(l,c),g)}function b(s,g){return g=E(181387,g),Object.keys(s).sort().reduce((c,l)=>(c=m(l,c),I(s[l],c)),g)}function p(s,g,c=32){const l=c-g,a=~((1<<l)-1);return(s<<g|(a&s)>>>l)>>>0}function n(s,g=0,c=s.byteLength,l=0){for(let a=0;a<c;a++)s[g+a]=l}function o(s,g,c=\"0\"){for(;s.length<g;)s=c+s;return s}function t(s,g=32){return s instanceof ArrayBuffer?Array.from(new Uint8Array(s)).map(c=>c.toString(16).padStart(2,\"0\")).join(\"\"):o((s>>>0).toString(16),g/4)}class i{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(g){const c=g.length;if(c===0)return;const l=this._buff;let a=this._buffLen,r=this._leftoverHighSurrogate,u,C;for(r!==0?(u=r,C=-1,r=0):(u=g.charCodeAt(0),C=0);;){let f=u;if(d.isHighSurrogate(u))if(C+1<c){const h=g.charCodeAt(C+1);d.isLowSurrogate(h)?(C++,f=d.computeCodePoint(u,h)):f=65533}else{r=u;break}else d.isLowSurrogate(u)&&(f=65533);if(a=this._push(l,a,f),C++,C<c)u=g.charCodeAt(C);else break}this._buffLen=a,this._leftoverHighSurrogate=r}_push(g,c,l){return l<128?g[c++]=l:l<2048?(g[c++]=192|(l&1984)>>>6,g[c++]=128|(l&63)>>>0):l<65536?(g[c++]=224|(l&61440)>>>12,g[c++]=128|(l&4032)>>>6,g[c++]=128|(l&63)>>>0):(g[c++]=240|(l&1835008)>>>18,g[c++]=128|(l&258048)>>>12,g[c++]=128|(l&4032)>>>6,g[c++]=128|(l&63)>>>0),c>=64&&(this._step(),c-=64,this._totalLen+=64,g[0]=g[64],g[1]=g[65],g[2]=g[66]),c}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),t(this._h0)+t(this._h1)+t(this._h2)+t(this._h3)+t(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,n(this._buff,this._buffLen),this._buffLen>56&&(this._step(),n(this._buff));const g=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(g/4294967296),!1),this._buffDV.setUint32(60,g%4294967296,!1),this._step()}_step(){const g=i._bigBlock32,c=this._buffDV;for(let w=0;w<64;w+=4)g.setUint32(w,c.getUint32(w,!1),!1);for(let w=64;w<320;w+=4)g.setUint32(w,p(g.getUint32(w-12,!1)^g.getUint32(w-32,!1)^g.getUint32(w-56,!1)^g.getUint32(w-64,!1),1),!1);let l=this._h0,a=this._h1,r=this._h2,u=this._h3,C=this._h4,f,h,v;for(let w=0;w<80;w++)w<20?(f=a&r|~a&u,h=1518500249):w<40?(f=a^r^u,h=1859775393):w<60?(f=a&r|a&u|r&u,h=2400959708):(f=a^r^u,h=3395469782),v=p(l,5)+f+C+h+g.getUint32(w*4,!1)&4294967295,C=u,u=r,r=p(a,30),a=l,l=v;this._h0=this._h0+l&4294967295,this._h1=this._h1+a&4294967295,this._h2=this._h2+r&4294967295,this._h3=this._h3+u&4294967295,this._h4=this._h4+C&4294967295}}e.StringSHA1=i}),define(ne[190],se([1,0,444,129]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LcsDiff=e.StringDiffSequence=void 0,e.stringDiff=E;class I{constructor(n){this.source=n}getElements(){const n=this.source,o=new Int32Array(n.length);for(let t=0,i=n.length;t<i;t++)o[t]=n.charCodeAt(t);return o}}e.StringDiffSequence=I;function E(p,n,o){return new b(new I(p),new I(n)).ComputeDiff(o).changes}class y{static Assert(n,o){if(!n)throw new Error(o)}}class m{static Copy(n,o,t,i,s){for(let g=0;g<s;g++)t[i+g]=n[o+g]}static Copy2(n,o,t,i,s){for(let g=0;g<s;g++)t[i+g]=n[o+g]}}class _{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new d.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(n,o){this.m_originalStart=Math.min(this.m_originalStart,n),this.m_modifiedStart=Math.min(this.m_modifiedStart,o),this.m_originalCount++}AddModifiedElement(n,o){this.m_originalStart=Math.min(this.m_originalStart,n),this.m_modifiedStart=Math.min(this.m_modifiedStart,o),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class b{constructor(n,o,t=null){this.ContinueProcessingPredicate=t,this._originalSequence=n,this._modifiedSequence=o;const[i,s,g]=b._getElements(n),[c,l,a]=b._getElements(o);this._hasStrings=g&&a,this._originalStringElements=i,this._originalElementsOrHash=s,this._modifiedStringElements=c,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(n){return n.length>0&&typeof n[0]==\"string\"}static _getElements(n){const o=n.getElements();if(b._isStringArray(o)){const t=new Int32Array(o.length);for(let i=0,s=o.length;i<s;i++)t[i]=(0,k.stringHash)(o[i],0);return[o,t,!0]}return o instanceof Int32Array?[[],o,!1]:[[],new Int32Array(o),!1]}ElementsAreEqual(n,o){return this._originalElementsOrHash[n]!==this._modifiedElementsOrHash[o]?!1:this._hasStrings?this._originalStringElements[n]===this._modifiedStringElements[o]:!0}ElementsAreStrictEqual(n,o){if(!this.ElementsAreEqual(n,o))return!1;const t=b._getStrictElement(this._originalSequence,n),i=b._getStrictElement(this._modifiedSequence,o);return t===i}static _getStrictElement(n,o){return typeof n.getStrictElement==\"function\"?n.getStrictElement(o):null}OriginalElementsAreEqual(n,o){return this._originalElementsOrHash[n]!==this._originalElementsOrHash[o]?!1:this._hasStrings?this._originalStringElements[n]===this._originalStringElements[o]:!0}ModifiedElementsAreEqual(n,o){return this._modifiedElementsOrHash[n]!==this._modifiedElementsOrHash[o]?!1:this._hasStrings?this._modifiedStringElements[n]===this._modifiedStringElements[o]:!0}ComputeDiff(n){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,n)}_ComputeDiff(n,o,t,i,s){const g=[!1];let c=this.ComputeDiffRecursive(n,o,t,i,g);return s&&(c=this.PrettifyChanges(c)),{quitEarly:g[0],changes:c}}ComputeDiffRecursive(n,o,t,i,s){for(s[0]=!1;n<=o&&t<=i&&this.ElementsAreEqual(n,t);)n++,t++;for(;o>=n&&i>=t&&this.ElementsAreEqual(o,i);)o--,i--;if(n>o||t>i){let u;return t<=i?(y.Assert(n===o+1,\"originalStart should only be one more than originalEnd\"),u=[new d.DiffChange(n,0,t,i-t+1)]):n<=o?(y.Assert(t===i+1,\"modifiedStart should only be one more than modifiedEnd\"),u=[new d.DiffChange(n,o-n+1,t,0)]):(y.Assert(n===o+1,\"originalStart should only be one more than originalEnd\"),y.Assert(t===i+1,\"modifiedStart should only be one more than modifiedEnd\"),u=[]),u}const g=[0],c=[0],l=this.ComputeRecursionPoint(n,o,t,i,g,c,s),a=g[0],r=c[0];if(l!==null)return l;if(!s[0]){const u=this.ComputeDiffRecursive(n,a,t,r,s);let C=[];return s[0]?C=[new d.DiffChange(a+1,o-(a+1)+1,r+1,i-(r+1)+1)]:C=this.ComputeDiffRecursive(a+1,o,r+1,i,s),this.ConcatenateChanges(u,C)}return[new d.DiffChange(n,o-n+1,t,i-t+1)]}WALKTRACE(n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L){let D=null,T=null,M=new _,A=o,P=t,N=f[0]-w[0]-i,O=-1073741824,F=this.m_forwardHistory.length-1;do{const x=N+n;x===A||x<P&&a[x-1]<a[x+1]?(u=a[x+1],h=u-N-i,u<O&&M.MarkNextChange(),O=u,M.AddModifiedElement(u+1,h),N=x+1-n):(u=a[x-1]+1,h=u-N-i,u<O&&M.MarkNextChange(),O=u-1,M.AddOriginalElement(u,h+1),N=x-1-n),F>=0&&(a=this.m_forwardHistory[F],n=a[0],A=1,P=a.length-1)}while(--F>=-1);if(D=M.getReverseChanges(),L[0]){let x=f[0]+1,W=w[0]+1;if(D!==null&&D.length>0){const V=D[D.length-1];x=Math.max(x,V.getOriginalEnd()),W=Math.max(W,V.getModifiedEnd())}T=[new d.DiffChange(x,C-x+1,W,v-W+1)]}else{M=new _,A=g,P=c,N=f[0]-w[0]-l,O=1073741824,F=S?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const x=N+s;x===A||x<P&&r[x-1]>=r[x+1]?(u=r[x+1]-1,h=u-N-l,u>O&&M.MarkNextChange(),O=u+1,M.AddOriginalElement(u+1,h+1),N=x+1-s):(u=r[x-1],h=u-N-l,u>O&&M.MarkNextChange(),O=u,M.AddModifiedElement(u+1,h+1),N=x-1-s),F>=0&&(r=this.m_reverseHistory[F],s=r[0],A=1,P=r.length-1)}while(--F>=-1);T=M.getChanges()}return this.ConcatenateChanges(D,T)}ComputeRecursionPoint(n,o,t,i,s,g,c){let l=0,a=0,r=0,u=0,C=0,f=0;n--,t--,s[0]=0,g[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const h=o-n+(i-t),v=h+1,w=new Int32Array(v),S=new Int32Array(v),L=i-t,D=o-n,T=n-t,M=o-i,P=(D-L)%2===0;w[L]=n,S[D]=o,c[0]=!1;for(let N=1;N<=h/2+1;N++){let O=0,F=0;r=this.ClipDiagonalBound(L-N,N,L,v),u=this.ClipDiagonalBound(L+N,N,L,v);for(let W=r;W<=u;W+=2){W===r||W<u&&w[W-1]<w[W+1]?l=w[W+1]:l=w[W-1]+1,a=l-(W-L)-T;const V=l;for(;l<o&&a<i&&this.ElementsAreEqual(l+1,a+1);)l++,a++;if(w[W]=l,l+a>O+F&&(O=l,F=a),!P&&Math.abs(W-D)<=N-1&&l>=S[W])return s[0]=l,g[0]=a,V<=S[W]&&N<=1448?this.WALKTRACE(L,r,u,T,D,C,f,M,w,S,l,o,s,a,i,g,P,c):null}const x=(O-n+(F-t)-N)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(O,x))return c[0]=!0,s[0]=O,g[0]=F,x>0&&N<=1448?this.WALKTRACE(L,r,u,T,D,C,f,M,w,S,l,o,s,a,i,g,P,c):(n++,t++,[new d.DiffChange(n,o-n+1,t,i-t+1)]);C=this.ClipDiagonalBound(D-N,N,D,v),f=this.ClipDiagonalBound(D+N,N,D,v);for(let W=C;W<=f;W+=2){W===C||W<f&&S[W-1]>=S[W+1]?l=S[W+1]-1:l=S[W-1],a=l-(W-D)-M;const V=l;for(;l>n&&a>t&&this.ElementsAreEqual(l,a);)l--,a--;if(S[W]=l,P&&Math.abs(W-L)<=N&&l<=w[W])return s[0]=l,g[0]=a,V>=w[W]&&N<=1448?this.WALKTRACE(L,r,u,T,D,C,f,M,w,S,l,o,s,a,i,g,P,c):null}if(N<=1447){let W=new Int32Array(u-r+2);W[0]=L-r+1,m.Copy2(w,r,W,1,u-r+1),this.m_forwardHistory.push(W),W=new Int32Array(f-C+2),W[0]=D-C+1,m.Copy2(S,C,W,1,f-C+1),this.m_reverseHistory.push(W)}}return this.WALKTRACE(L,r,u,T,D,C,f,M,w,S,l,o,s,a,i,g,P,c)}PrettifyChanges(n){for(let o=0;o<n.length;o++){const t=n[o],i=o<n.length-1?n[o+1].originalStart:this._originalElementsOrHash.length,s=o<n.length-1?n[o+1].modifiedStart:this._modifiedElementsOrHash.length,g=t.originalLength>0,c=t.modifiedLength>0;for(;t.originalStart+t.originalLength<i&&t.modifiedStart+t.modifiedLength<s&&(!g||this.OriginalElementsAreEqual(t.originalStart,t.originalStart+t.originalLength))&&(!c||this.ModifiedElementsAreEqual(t.modifiedStart,t.modifiedStart+t.modifiedLength));){const a=this.ElementsAreStrictEqual(t.originalStart,t.modifiedStart);if(this.ElementsAreStrictEqual(t.originalStart+t.originalLength,t.modifiedStart+t.modifiedLength)&&!a)break;t.originalStart++,t.modifiedStart++}const l=[null];if(o<n.length-1&&this.ChangesOverlap(n[o],n[o+1],l)){n[o]=l[0],n.splice(o+1,1),o--;continue}}for(let o=n.length-1;o>=0;o--){const t=n[o];let i=0,s=0;if(o>0){const u=n[o-1];i=u.originalStart+u.originalLength,s=u.modifiedStart+u.modifiedLength}const g=t.originalLength>0,c=t.modifiedLength>0;let l=0,a=this._boundaryScore(t.originalStart,t.originalLength,t.modifiedStart,t.modifiedLength);for(let u=1;;u++){const C=t.originalStart-u,f=t.modifiedStart-u;if(C<i||f<s||g&&!this.OriginalElementsAreEqual(C,C+t.originalLength)||c&&!this.ModifiedElementsAreEqual(f,f+t.modifiedLength))break;const v=(C===i&&f===s?5:0)+this._boundaryScore(C,t.originalLength,f,t.modifiedLength);v>a&&(a=v,l=u)}t.originalStart-=l,t.modifiedStart-=l;const r=[null];if(o>0&&this.ChangesOverlap(n[o-1],n[o],r)){n[o-1]=r[0],n.splice(o,1),o++;continue}}if(this._hasStrings)for(let o=1,t=n.length;o<t;o++){const i=n[o-1],s=n[o],g=s.originalStart-i.originalStart-i.originalLength,c=i.originalStart,l=s.originalStart+s.originalLength,a=l-c,r=i.modifiedStart,u=s.modifiedStart+s.modifiedLength,C=u-r;if(g<5&&a<20&&C<20){const f=this._findBetterContiguousSequence(c,a,r,C,g);if(f){const[h,v]=f;(h!==i.originalStart+i.originalLength||v!==i.modifiedStart+i.modifiedLength)&&(i.originalLength=h-i.originalStart,i.modifiedLength=v-i.modifiedStart,s.originalStart=h+g,s.modifiedStart=v+g,s.originalLength=l-s.originalStart,s.modifiedLength=u-s.modifiedStart)}}}return n}_findBetterContiguousSequence(n,o,t,i,s){if(o<s||i<s)return null;const g=n+o-s+1,c=t+i-s+1;let l=0,a=0,r=0;for(let u=n;u<g;u++)for(let C=t;C<c;C++){const f=this._contiguousSequenceScore(u,C,s);f>0&&f>l&&(l=f,a=u,r=C)}return l>0?[a,r]:null}_contiguousSequenceScore(n,o,t){let i=0;for(let s=0;s<t;s++){if(!this.ElementsAreEqual(n+s,o+s))return 0;i+=this._originalStringElements[n+s].length}return i}_OriginalIsBoundary(n){return n<=0||n>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\\s*$/.test(this._originalStringElements[n])}_OriginalRegionIsBoundary(n,o){if(this._OriginalIsBoundary(n)||this._OriginalIsBoundary(n-1))return!0;if(o>0){const t=n+o;if(this._OriginalIsBoundary(t-1)||this._OriginalIsBoundary(t))return!0}return!1}_ModifiedIsBoundary(n){return n<=0||n>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\\s*$/.test(this._modifiedStringElements[n])}_ModifiedRegionIsBoundary(n,o){if(this._ModifiedIsBoundary(n)||this._ModifiedIsBoundary(n-1))return!0;if(o>0){const t=n+o;if(this._ModifiedIsBoundary(t-1)||this._ModifiedIsBoundary(t))return!0}return!1}_boundaryScore(n,o,t,i){const s=this._OriginalRegionIsBoundary(n,o)?1:0,g=this._ModifiedRegionIsBoundary(t,i)?1:0;return s+g}ConcatenateChanges(n,o){const t=[];if(n.length===0||o.length===0)return o.length>0?o:n;if(this.ChangesOverlap(n[n.length-1],o[0],t)){const i=new Array(n.length+o.length-1);return m.Copy(n,0,i,0,n.length-1),i[n.length-1]=t[0],m.Copy(o,1,i,n.length,o.length-1),i}else{const i=new Array(n.length+o.length);return m.Copy(n,0,i,0,n.length),m.Copy(o,0,i,n.length,o.length),i}}ChangesOverlap(n,o,t){if(y.Assert(n.originalStart<=o.originalStart,\"Left change is not less than or equal to right change\"),y.Assert(n.modifiedStart<=o.modifiedStart,\"Left change is not less than or equal to right change\"),n.originalStart+n.originalLength>=o.originalStart||n.modifiedStart+n.modifiedLength>=o.modifiedStart){const i=n.originalStart;let s=n.originalLength;const g=n.modifiedStart;let c=n.modifiedLength;return n.originalStart+n.originalLength>=o.originalStart&&(s=o.originalStart+o.originalLength-n.originalStart),n.modifiedStart+n.modifiedLength>=o.modifiedStart&&(c=o.modifiedStart+o.modifiedLength-n.modifiedStart),t[0]=new d.DiffChange(i,s,g,c),!0}else return t[0]=null,!1}ClipDiagonalBound(n,o,t,i){if(n>=0&&n<i)return n;const s=t,g=i-t-1,c=o%2===0;if(n<0){const l=s%2===0;return c===l?0:1}else{const l=g%2===0;return c===l?i-1:i-2}}}e.LcsDiff=b}),define(ne[455],se([1,0,11]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.buildReplaceStringWithCasePreserved=k;function k(y,m){if(y&&y[0]!==\"\"){const _=I(y,m,\"-\"),b=I(y,m,\"_\");return _&&!b?E(y,m,\"-\"):!_&&b?E(y,m,\"_\"):y[0].toUpperCase()===y[0]?m.toUpperCase():y[0].toLowerCase()===y[0]?m.toLowerCase():d.containsUppercaseCharacter(y[0][0])&&m.length>0?m[0].toUpperCase()+m.substr(1):y[0][0].toUpperCase()!==y[0][0]&&m.length>0?m[0].toLowerCase()+m.substr(1):m}else return m}function I(y,m,_){return y[0].indexOf(_)!==-1&&m.indexOf(_)!==-1&&y[0].split(_).length===m.split(_).length}function E(y,m,_){const b=m.split(_),p=y[0].split(_);let n=\"\";return b.forEach((o,t)=>{n+=k([p[t]],o)+_}),n.slice(0,-1)}}),define(ne[111],se([1,0,11]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var k;(function(I){I[I.Ignore=0]=\"Ignore\",I[I.Info=1]=\"Info\",I[I.Warning=2]=\"Warning\",I[I.Error=3]=\"Error\"})(k||(k={})),function(I){const E=\"error\",y=\"warning\",m=\"warn\",_=\"info\",b=\"ignore\";function p(o){return o?d.equalsIgnoreCase(E,o)?I.Error:d.equalsIgnoreCase(y,o)||d.equalsIgnoreCase(m,o)?I.Warning:d.equalsIgnoreCase(_,o)?I.Info:I.Ignore:I.Ignore}I.fromValue=p;function n(o){switch(o){case I.Error:return E;case I.Warning:return y;case I.Info:return _;default:return b}}I.toString=n}(k||(k={})),e.default=k}),define(ne[301],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MicrotaskDelay=void 0,e.MicrotaskDelay=Symbol(\"MicrotaskDelay\")}),define(ne[225],se([1,0,11]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TernarySearchTree=e.UriIterator=e.PathIterator=e.ConfigKeysIterator=e.StringIterator=void 0;class k{constructor(){this._value=\"\",this._pos=0}reset(p){return this._value=p,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(p){const n=p.charCodeAt(0),o=this._value.charCodeAt(this._pos);return n-o}value(){return this._value[this._pos]}}e.StringIterator=k;class I{constructor(p=!0){this._caseSensitive=p}reset(p){return this._value=p,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let p=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(p)this._from++;else break;else p=!1;return this}cmp(p){return this._caseSensitive?(0,d.compareSubstring)(p,this._value,0,p.length,this._from,this._to):(0,d.compareSubstringIgnoreCase)(p,this._value,0,p.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}e.ConfigKeysIterator=I;class E{constructor(p=!0,n=!0){this._splitOnBackslash=p,this._caseSensitive=n}reset(p){this._from=0,this._to=0,this._value=p,this._valueLen=p.length;for(let n=p.length-1;n>=0;n--,this._valueLen--){const o=this._value.charCodeAt(n);if(!(o===47||this._splitOnBackslash&&o===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let p=!0;for(;this._to<this._valueLen;this._to++){const n=this._value.charCodeAt(this._to);if(n===47||this._splitOnBackslash&&n===92)if(p)this._from++;else break;else p=!1}return this}cmp(p){return this._caseSensitive?(0,d.compareSubstring)(p,this._value,0,p.length,this._from,this._to):(0,d.compareSubstringIgnoreCase)(p,this._value,0,p.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}e.PathIterator=E;class y{constructor(p,n){this._ignorePathCasing=p,this._ignoreQueryAndFragment=n,this._states=[],this._stateIdx=0}reset(p){return this._value=p,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new E(!1,!this._ignorePathCasing(p)),this._pathIterator.reset(p.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(p)||(this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5)),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(p){if(this._states[this._stateIdx]===1)return(0,d.compareIgnoreCase)(p,this._value.scheme);if(this._states[this._stateIdx]===2)return(0,d.compareIgnoreCase)(p,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(p);if(this._states[this._stateIdx]===4)return(0,d.compare)(p,this._value.query);if(this._states[this._stateIdx]===5)return(0,d.compare)(p,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.fragment;throw new Error}}e.UriIterator=y;class m{constructor(){this.height=1}rotateLeft(){const p=this.right;return this.right=p.left,p.left=this,this.updateHeight(),p.updateHeight(),p}rotateRight(){const p=this.left;return this.left=p.right,p.right=this,this.updateHeight(),p.updateHeight(),p}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){return this.left?.height??0}get heightRight(){return this.right?.height??0}}class _{static forUris(p=()=>!1,n=()=>!1){return new _(new y(p,n))}static forStrings(){return new _(new k)}static forConfigKeys(){return new _(new I)}constructor(p){this._iter=p}clear(){this._root=void 0}set(p,n){const o=this._iter.reset(p);let t;this._root||(this._root=new m,this._root.segment=o.value());const i=[];for(t=this._root;;){const g=o.cmp(t.segment);if(g>0)t.left||(t.left=new m,t.left.segment=o.value()),i.push([-1,t]),t=t.left;else if(g<0)t.right||(t.right=new m,t.right.segment=o.value()),i.push([1,t]),t=t.right;else if(o.hasNext())o.next(),t.mid||(t.mid=new m,t.mid.segment=o.value()),i.push([0,t]),t=t.mid;else break}const s=t.value;t.value=n,t.key=p;for(let g=i.length-1;g>=0;g--){const c=i[g][1];c.updateHeight();const l=c.balanceFactor();if(l<-1||l>1){const a=i[g][0],r=i[g+1][0];if(a===1&&r===1)i[g][1]=c.rotateLeft();else if(a===-1&&r===-1)i[g][1]=c.rotateRight();else if(a===1&&r===-1)c.right=i[g+1][1]=i[g+1][1].rotateRight(),i[g][1]=c.rotateLeft();else if(a===-1&&r===1)c.left=i[g+1][1]=i[g+1][1].rotateLeft(),i[g][1]=c.rotateRight();else throw new Error;if(g>0)switch(i[g-1][0]){case-1:i[g-1][1].left=i[g][1];break;case 1:i[g-1][1].right=i[g][1];break;case 0:i[g-1][1].mid=i[g][1];break}else this._root=i[0][1]}}return s}get(p){return this._getNode(p)?.value}_getNode(p){const n=this._iter.reset(p);let o=this._root;for(;o;){const t=n.cmp(o.segment);if(t>0)o=o.left;else if(t<0)o=o.right;else if(n.hasNext())n.next(),o=o.mid;else break}return o}has(p){const n=this._getNode(p);return!(n?.value===void 0&&n?.mid===void 0)}delete(p){return this._delete(p,!1)}deleteSuperstr(p){return this._delete(p,!0)}_delete(p,n){const o=this._iter.reset(p),t=[];let i=this._root;for(;i;){const s=o.cmp(i.segment);if(s>0)t.push([-1,i]),i=i.left;else if(s<0)t.push([1,i]),i=i.right;else if(o.hasNext())o.next(),t.push([0,i]),i=i.mid;else break}if(i){if(n?(i.left=void 0,i.mid=void 0,i.right=void 0,i.height=1):(i.key=void 0,i.value=void 0),!i.mid&&!i.value)if(i.left&&i.right){const s=this._min(i.right);if(s.key){const{key:g,value:c,segment:l}=s;this._delete(s.key,!1),i.key=g,i.value=c,i.segment=l}}else{const s=i.left??i.right;if(t.length>0){const[g,c]=t[t.length-1];switch(g){case-1:c.left=s;break;case 0:c.mid=s;break;case 1:c.right=s;break}}else this._root=s}for(let s=t.length-1;s>=0;s--){const g=t[s][1];g.updateHeight();const c=g.balanceFactor();if(c>1?(g.right.balanceFactor()>=0||(g.right=g.right.rotateRight()),t[s][1]=g.rotateLeft()):c<-1&&(g.left.balanceFactor()<=0||(g.left=g.left.rotateLeft()),t[s][1]=g.rotateRight()),s>0)switch(t[s-1][0]){case-1:t[s-1][1].left=t[s][1];break;case 1:t[s-1][1].right=t[s][1];break;case 0:t[s-1][1].mid=t[s][1];break}else this._root=t[0][1]}}}_min(p){for(;p.left;)p=p.left;return p}findSubstr(p){const n=this._iter.reset(p);let o=this._root,t;for(;o;){const i=n.cmp(o.segment);if(i>0)o=o.left;else if(i<0)o=o.right;else if(n.hasNext())n.next(),t=o.value||t,o=o.mid;else break}return o&&o.value||t}findSuperstr(p){return this._findSuperstrOrElement(p,!1)}_findSuperstrOrElement(p,n){const o=this._iter.reset(p);let t=this._root;for(;t;){const i=o.cmp(t.segment);if(i>0)t=t.left;else if(i<0)t=t.right;else if(o.hasNext())o.next(),t=t.mid;else return t.mid?this._entries(t.mid):n?t.value:void 0}}forEach(p){for(const[n,o]of this)p(o,n)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(p){const n=[];return this._dfsEntries(p,n),n[Symbol.iterator]()}_dfsEntries(p,n){p&&(p.left&&this._dfsEntries(p.left,n),p.value&&n.push([p.key,p.value]),p.mid&&this._dfsEntries(p.mid,n),p.right&&this._dfsEntries(p.right,n))}}e.TernarySearchTree=_}),define(ne[456],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TfIdfCalculator=void 0,e.normalizeTfIdfScores=I;function d(E){const y=new Map;for(const m of E)y.set(m,(y.get(m)??0)+1);return y}class k{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(y,m){const _=this.computeEmbedding(y),b=new Map,p=[];for(const[n,o]of this.documents){if(m.isCancellationRequested)return[];for(const t of o.chunks){const i=this.computeSimilarityScore(t,_,b);i>0&&p.push({key:n,score:i})}}return p}static termFrequencies(y){return d(k.splitTerms(y))}static*splitTerms(y){const m=_=>_.toLowerCase();for(const[_]of y.matchAll(/\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b/gu)){yield m(_);const b=_.replace(/([a-z])([A-Z])/g,\"$1 $2\").split(/\\s+/g);if(b.length>1)for(const p of b)p.length>2&&/\\p{Letter}{3,}/gu.test(p)&&(yield m(p))}}updateDocuments(y){for(const{key:m}of y)this.deleteDocument(m);for(const m of y){const _=[];for(const b of m.textChunks){const p=k.termFrequencies(b);for(const n of p.keys())this.chunkOccurrences.set(n,(this.chunkOccurrences.get(n)??0)+1);_.push({text:b,tf:p})}this.chunkCount+=_.length,this.documents.set(m.key,{chunks:_})}return this}deleteDocument(y){const m=this.documents.get(y);if(m){this.documents.delete(y),this.chunkCount-=m.chunks.length;for(const _ of m.chunks)for(const b of _.tf.keys()){const p=this.chunkOccurrences.get(b);if(typeof p==\"number\"){const n=p-1;n<=0?this.chunkOccurrences.delete(b):this.chunkOccurrences.set(b,n)}}}}computeSimilarityScore(y,m,_){let b=0;for(const[p,n]of Object.entries(m)){const o=y.tf.get(p);if(!o)continue;let t=_.get(p);typeof t!=\"number\"&&(t=this.computeIdf(p),_.set(p,t));const i=o*t;b+=i*n}return b}computeEmbedding(y){const m=k.termFrequencies(y);return this.computeTfidf(m)}computeIdf(y){const m=this.chunkOccurrences.get(y)??0;return m>0?Math.log((this.chunkCount+1)/m):0}computeTfidf(y){const m=Object.create(null);for(const[_,b]of y){const p=this.computeIdf(_);p>0&&(m[_]=b*p)}return m}}e.TfIdfCalculator=k;function I(E){const y=E.slice(0);y.sort((_,b)=>b.score-_.score);const m=y[0]?.score??0;if(m>0)for(const _ of y)_.score/=m;return y}}),define(ne[19],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isString=d,e.isObject=k,e.isTypedArray=I,e.isNumber=E,e.isIterable=y,e.isBoolean=m,e.isUndefined=_,e.isDefined=b,e.isUndefinedOrNull=p,e.assertType=n,e.assertIsDefined=o,e.isFunction=t,e.validateConstraints=i,e.validateConstraint=s;function d(g){return typeof g==\"string\"}function k(g){return typeof g==\"object\"&&g!==null&&!Array.isArray(g)&&!(g instanceof RegExp)&&!(g instanceof Date)}function I(g){const c=Object.getPrototypeOf(Uint8Array);return typeof g==\"object\"&&g instanceof c}function E(g){return typeof g==\"number\"&&!isNaN(g)}function y(g){return!!g&&typeof g[Symbol.iterator]==\"function\"}function m(g){return g===!0||g===!1}function _(g){return typeof g>\"u\"}function b(g){return!p(g)}function p(g){return _(g)||g===null}function n(g,c){if(!g)throw new Error(c?`Unexpected type, expected '${c}'`:\"Unexpected type\")}function o(g){if(p(g))throw new Error(\"Assertion Failed: argument is undefined or null\");return g}function t(g){return typeof g==\"function\"}function i(g,c){const l=Math.min(g.length,c.length);for(let a=0;a<l;a++)s(g[a],c[a])}function s(g,c){if(d(c)){if(typeof g!==c)throw new Error(`argument does not match constraint: typeof ${c}`)}else if(t(c)){try{if(g instanceof c)return}catch{}if(!p(g)&&g.constructor===c||c.length===1&&c.call(void 0,g)===!0)return;throw new Error(\"argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true\")}}}),define(ne[191],se([1,0,19]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.register=I,e.getCodiconFontCharacters=E;const k=Object.create(null);function I(y,m){if((0,d.isString)(m)){const _=k[m];if(_===void 0)throw new Error(`${y} references an unknown codicon: ${m}`);m=_}return k[y]=m,{id:y}}function E(){return k}}),define(ne[457],se([1,0,191]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.codiconsLibrary=void 0,e.codiconsLibrary={add:(0,d.register)(\"add\",6e4),plus:(0,d.register)(\"plus\",6e4),gistNew:(0,d.register)(\"gist-new\",6e4),repoCreate:(0,d.register)(\"repo-create\",6e4),lightbulb:(0,d.register)(\"lightbulb\",60001),lightBulb:(0,d.register)(\"light-bulb\",60001),repo:(0,d.register)(\"repo\",60002),repoDelete:(0,d.register)(\"repo-delete\",60002),gistFork:(0,d.register)(\"gist-fork\",60003),repoForked:(0,d.register)(\"repo-forked\",60003),gitPullRequest:(0,d.register)(\"git-pull-request\",60004),gitPullRequestAbandoned:(0,d.register)(\"git-pull-request-abandoned\",60004),recordKeys:(0,d.register)(\"record-keys\",60005),keyboard:(0,d.register)(\"keyboard\",60005),tag:(0,d.register)(\"tag\",60006),gitPullRequestLabel:(0,d.register)(\"git-pull-request-label\",60006),tagAdd:(0,d.register)(\"tag-add\",60006),tagRemove:(0,d.register)(\"tag-remove\",60006),person:(0,d.register)(\"person\",60007),personFollow:(0,d.register)(\"person-follow\",60007),personOutline:(0,d.register)(\"person-outline\",60007),personFilled:(0,d.register)(\"person-filled\",60007),gitBranch:(0,d.register)(\"git-branch\",60008),gitBranchCreate:(0,d.register)(\"git-branch-create\",60008),gitBranchDelete:(0,d.register)(\"git-branch-delete\",60008),sourceControl:(0,d.register)(\"source-control\",60008),mirror:(0,d.register)(\"mirror\",60009),mirrorPublic:(0,d.register)(\"mirror-public\",60009),star:(0,d.register)(\"star\",60010),starAdd:(0,d.register)(\"star-add\",60010),starDelete:(0,d.register)(\"star-delete\",60010),starEmpty:(0,d.register)(\"star-empty\",60010),comment:(0,d.register)(\"comment\",60011),commentAdd:(0,d.register)(\"comment-add\",60011),alert:(0,d.register)(\"alert\",60012),warning:(0,d.register)(\"warning\",60012),search:(0,d.register)(\"search\",60013),searchSave:(0,d.register)(\"search-save\",60013),logOut:(0,d.register)(\"log-out\",60014),signOut:(0,d.register)(\"sign-out\",60014),logIn:(0,d.register)(\"log-in\",60015),signIn:(0,d.register)(\"sign-in\",60015),eye:(0,d.register)(\"eye\",60016),eyeUnwatch:(0,d.register)(\"eye-unwatch\",60016),eyeWatch:(0,d.register)(\"eye-watch\",60016),circleFilled:(0,d.register)(\"circle-filled\",60017),primitiveDot:(0,d.register)(\"primitive-dot\",60017),closeDirty:(0,d.register)(\"close-dirty\",60017),debugBreakpoint:(0,d.register)(\"debug-breakpoint\",60017),debugBreakpointDisabled:(0,d.register)(\"debug-breakpoint-disabled\",60017),debugHint:(0,d.register)(\"debug-hint\",60017),terminalDecorationSuccess:(0,d.register)(\"terminal-decoration-success\",60017),primitiveSquare:(0,d.register)(\"primitive-square\",60018),edit:(0,d.register)(\"edit\",60019),pencil:(0,d.register)(\"pencil\",60019),info:(0,d.register)(\"info\",60020),issueOpened:(0,d.register)(\"issue-opened\",60020),gistPrivate:(0,d.register)(\"gist-private\",60021),gitForkPrivate:(0,d.register)(\"git-fork-private\",60021),lock:(0,d.register)(\"lock\",60021),mirrorPrivate:(0,d.register)(\"mirror-private\",60021),close:(0,d.register)(\"close\",60022),removeClose:(0,d.register)(\"remove-close\",60022),x:(0,d.register)(\"x\",60022),repoSync:(0,d.register)(\"repo-sync\",60023),sync:(0,d.register)(\"sync\",60023),clone:(0,d.register)(\"clone\",60024),desktopDownload:(0,d.register)(\"desktop-download\",60024),beaker:(0,d.register)(\"beaker\",60025),microscope:(0,d.register)(\"microscope\",60025),vm:(0,d.register)(\"vm\",60026),deviceDesktop:(0,d.register)(\"device-desktop\",60026),file:(0,d.register)(\"file\",60027),fileText:(0,d.register)(\"file-text\",60027),more:(0,d.register)(\"more\",60028),ellipsis:(0,d.register)(\"ellipsis\",60028),kebabHorizontal:(0,d.register)(\"kebab-horizontal\",60028),mailReply:(0,d.register)(\"mail-reply\",60029),reply:(0,d.register)(\"reply\",60029),organization:(0,d.register)(\"organization\",60030),organizationFilled:(0,d.register)(\"organization-filled\",60030),organizationOutline:(0,d.register)(\"organization-outline\",60030),newFile:(0,d.register)(\"new-file\",60031),fileAdd:(0,d.register)(\"file-add\",60031),newFolder:(0,d.register)(\"new-folder\",60032),fileDirectoryCreate:(0,d.register)(\"file-directory-create\",60032),trash:(0,d.register)(\"trash\",60033),trashcan:(0,d.register)(\"trashcan\",60033),history:(0,d.register)(\"history\",60034),clock:(0,d.register)(\"clock\",60034),folder:(0,d.register)(\"folder\",60035),fileDirectory:(0,d.register)(\"file-directory\",60035),symbolFolder:(0,d.register)(\"symbol-folder\",60035),logoGithub:(0,d.register)(\"logo-github\",60036),markGithub:(0,d.register)(\"mark-github\",60036),github:(0,d.register)(\"github\",60036),terminal:(0,d.register)(\"terminal\",60037),console:(0,d.register)(\"console\",60037),repl:(0,d.register)(\"repl\",60037),zap:(0,d.register)(\"zap\",60038),symbolEvent:(0,d.register)(\"symbol-event\",60038),error:(0,d.register)(\"error\",60039),stop:(0,d.register)(\"stop\",60039),variable:(0,d.register)(\"variable\",60040),symbolVariable:(0,d.register)(\"symbol-variable\",60040),array:(0,d.register)(\"array\",60042),symbolArray:(0,d.register)(\"symbol-array\",60042),symbolModule:(0,d.register)(\"symbol-module\",60043),symbolPackage:(0,d.register)(\"symbol-package\",60043),symbolNamespace:(0,d.register)(\"symbol-namespace\",60043),symbolObject:(0,d.register)(\"symbol-object\",60043),symbolMethod:(0,d.register)(\"symbol-method\",60044),symbolFunction:(0,d.register)(\"symbol-function\",60044),symbolConstructor:(0,d.register)(\"symbol-constructor\",60044),symbolBoolean:(0,d.register)(\"symbol-boolean\",60047),symbolNull:(0,d.register)(\"symbol-null\",60047),symbolNumeric:(0,d.register)(\"symbol-numeric\",60048),symbolNumber:(0,d.register)(\"symbol-number\",60048),symbolStructure:(0,d.register)(\"symbol-structure\",60049),symbolStruct:(0,d.register)(\"symbol-struct\",60049),symbolParameter:(0,d.register)(\"symbol-parameter\",60050),symbolTypeParameter:(0,d.register)(\"symbol-type-parameter\",60050),symbolKey:(0,d.register)(\"symbol-key\",60051),symbolText:(0,d.register)(\"symbol-text\",60051),symbolReference:(0,d.register)(\"symbol-reference\",60052),goToFile:(0,d.register)(\"go-to-file\",60052),symbolEnum:(0,d.register)(\"symbol-enum\",60053),symbolValue:(0,d.register)(\"symbol-value\",60053),symbolRuler:(0,d.register)(\"symbol-ruler\",60054),symbolUnit:(0,d.register)(\"symbol-unit\",60054),activateBreakpoints:(0,d.register)(\"activate-breakpoints\",60055),archive:(0,d.register)(\"archive\",60056),arrowBoth:(0,d.register)(\"arrow-both\",60057),arrowDown:(0,d.register)(\"arrow-down\",60058),arrowLeft:(0,d.register)(\"arrow-left\",60059),arrowRight:(0,d.register)(\"arrow-right\",60060),arrowSmallDown:(0,d.register)(\"arrow-small-down\",60061),arrowSmallLeft:(0,d.register)(\"arrow-small-left\",60062),arrowSmallRight:(0,d.register)(\"arrow-small-right\",60063),arrowSmallUp:(0,d.register)(\"arrow-small-up\",60064),arrowUp:(0,d.register)(\"arrow-up\",60065),bell:(0,d.register)(\"bell\",60066),bold:(0,d.register)(\"bold\",60067),book:(0,d.register)(\"book\",60068),bookmark:(0,d.register)(\"bookmark\",60069),debugBreakpointConditionalUnverified:(0,d.register)(\"debug-breakpoint-conditional-unverified\",60070),debugBreakpointConditional:(0,d.register)(\"debug-breakpoint-conditional\",60071),debugBreakpointConditionalDisabled:(0,d.register)(\"debug-breakpoint-conditional-disabled\",60071),debugBreakpointDataUnverified:(0,d.register)(\"debug-breakpoint-data-unverified\",60072),debugBreakpointData:(0,d.register)(\"debug-breakpoint-data\",60073),debugBreakpointDataDisabled:(0,d.register)(\"debug-breakpoint-data-disabled\",60073),debugBreakpointLogUnverified:(0,d.register)(\"debug-breakpoint-log-unverified\",60074),debugBreakpointLog:(0,d.register)(\"debug-breakpoint-log\",60075),debugBreakpointLogDisabled:(0,d.register)(\"debug-breakpoint-log-disabled\",60075),briefcase:(0,d.register)(\"briefcase\",60076),broadcast:(0,d.register)(\"broadcast\",60077),browser:(0,d.register)(\"browser\",60078),bug:(0,d.register)(\"bug\",60079),calendar:(0,d.register)(\"calendar\",60080),caseSensitive:(0,d.register)(\"case-sensitive\",60081),check:(0,d.register)(\"check\",60082),checklist:(0,d.register)(\"checklist\",60083),chevronDown:(0,d.register)(\"chevron-down\",60084),chevronLeft:(0,d.register)(\"chevron-left\",60085),chevronRight:(0,d.register)(\"chevron-right\",60086),chevronUp:(0,d.register)(\"chevron-up\",60087),chromeClose:(0,d.register)(\"chrome-close\",60088),chromeMaximize:(0,d.register)(\"chrome-maximize\",60089),chromeMinimize:(0,d.register)(\"chrome-minimize\",60090),chromeRestore:(0,d.register)(\"chrome-restore\",60091),circleOutline:(0,d.register)(\"circle-outline\",60092),circle:(0,d.register)(\"circle\",60092),debugBreakpointUnverified:(0,d.register)(\"debug-breakpoint-unverified\",60092),terminalDecorationIncomplete:(0,d.register)(\"terminal-decoration-incomplete\",60092),circleSlash:(0,d.register)(\"circle-slash\",60093),circuitBoard:(0,d.register)(\"circuit-board\",60094),clearAll:(0,d.register)(\"clear-all\",60095),clippy:(0,d.register)(\"clippy\",60096),closeAll:(0,d.register)(\"close-all\",60097),cloudDownload:(0,d.register)(\"cloud-download\",60098),cloudUpload:(0,d.register)(\"cloud-upload\",60099),code:(0,d.register)(\"code\",60100),collapseAll:(0,d.register)(\"collapse-all\",60101),colorMode:(0,d.register)(\"color-mode\",60102),commentDiscussion:(0,d.register)(\"comment-discussion\",60103),creditCard:(0,d.register)(\"credit-card\",60105),dash:(0,d.register)(\"dash\",60108),dashboard:(0,d.register)(\"dashboard\",60109),database:(0,d.register)(\"database\",60110),debugContinue:(0,d.register)(\"debug-continue\",60111),debugDisconnect:(0,d.register)(\"debug-disconnect\",60112),debugPause:(0,d.register)(\"debug-pause\",60113),debugRestart:(0,d.register)(\"debug-restart\",60114),debugStart:(0,d.register)(\"debug-start\",60115),debugStepInto:(0,d.register)(\"debug-step-into\",60116),debugStepOut:(0,d.register)(\"debug-step-out\",60117),debugStepOver:(0,d.register)(\"debug-step-over\",60118),debugStop:(0,d.register)(\"debug-stop\",60119),debug:(0,d.register)(\"debug\",60120),deviceCameraVideo:(0,d.register)(\"device-camera-video\",60121),deviceCamera:(0,d.register)(\"device-camera\",60122),deviceMobile:(0,d.register)(\"device-mobile\",60123),diffAdded:(0,d.register)(\"diff-added\",60124),diffIgnored:(0,d.register)(\"diff-ignored\",60125),diffModified:(0,d.register)(\"diff-modified\",60126),diffRemoved:(0,d.register)(\"diff-removed\",60127),diffRenamed:(0,d.register)(\"diff-renamed\",60128),diff:(0,d.register)(\"diff\",60129),diffSidebyside:(0,d.register)(\"diff-sidebyside\",60129),discard:(0,d.register)(\"discard\",60130),editorLayout:(0,d.register)(\"editor-layout\",60131),emptyWindow:(0,d.register)(\"empty-window\",60132),exclude:(0,d.register)(\"exclude\",60133),extensions:(0,d.register)(\"extensions\",60134),eyeClosed:(0,d.register)(\"eye-closed\",60135),fileBinary:(0,d.register)(\"file-binary\",60136),fileCode:(0,d.register)(\"file-code\",60137),fileMedia:(0,d.register)(\"file-media\",60138),filePdf:(0,d.register)(\"file-pdf\",60139),fileSubmodule:(0,d.register)(\"file-submodule\",60140),fileSymlinkDirectory:(0,d.register)(\"file-symlink-directory\",60141),fileSymlinkFile:(0,d.register)(\"file-symlink-file\",60142),fileZip:(0,d.register)(\"file-zip\",60143),files:(0,d.register)(\"files\",60144),filter:(0,d.register)(\"filter\",60145),flame:(0,d.register)(\"flame\",60146),foldDown:(0,d.register)(\"fold-down\",60147),foldUp:(0,d.register)(\"fold-up\",60148),fold:(0,d.register)(\"fold\",60149),folderActive:(0,d.register)(\"folder-active\",60150),folderOpened:(0,d.register)(\"folder-opened\",60151),gear:(0,d.register)(\"gear\",60152),gift:(0,d.register)(\"gift\",60153),gistSecret:(0,d.register)(\"gist-secret\",60154),gist:(0,d.register)(\"gist\",60155),gitCommit:(0,d.register)(\"git-commit\",60156),gitCompare:(0,d.register)(\"git-compare\",60157),compareChanges:(0,d.register)(\"compare-changes\",60157),gitMerge:(0,d.register)(\"git-merge\",60158),githubAction:(0,d.register)(\"github-action\",60159),githubAlt:(0,d.register)(\"github-alt\",60160),globe:(0,d.register)(\"globe\",60161),grabber:(0,d.register)(\"grabber\",60162),graph:(0,d.register)(\"graph\",60163),gripper:(0,d.register)(\"gripper\",60164),heart:(0,d.register)(\"heart\",60165),home:(0,d.register)(\"home\",60166),horizontalRule:(0,d.register)(\"horizontal-rule\",60167),hubot:(0,d.register)(\"hubot\",60168),inbox:(0,d.register)(\"inbox\",60169),issueReopened:(0,d.register)(\"issue-reopened\",60171),issues:(0,d.register)(\"issues\",60172),italic:(0,d.register)(\"italic\",60173),jersey:(0,d.register)(\"jersey\",60174),json:(0,d.register)(\"json\",60175),kebabVertical:(0,d.register)(\"kebab-vertical\",60176),key:(0,d.register)(\"key\",60177),law:(0,d.register)(\"law\",60178),lightbulbAutofix:(0,d.register)(\"lightbulb-autofix\",60179),linkExternal:(0,d.register)(\"link-external\",60180),link:(0,d.register)(\"link\",60181),listOrdered:(0,d.register)(\"list-ordered\",60182),listUnordered:(0,d.register)(\"list-unordered\",60183),liveShare:(0,d.register)(\"live-share\",60184),loading:(0,d.register)(\"loading\",60185),location:(0,d.register)(\"location\",60186),mailRead:(0,d.register)(\"mail-read\",60187),mail:(0,d.register)(\"mail\",60188),markdown:(0,d.register)(\"markdown\",60189),megaphone:(0,d.register)(\"megaphone\",60190),mention:(0,d.register)(\"mention\",60191),milestone:(0,d.register)(\"milestone\",60192),gitPullRequestMilestone:(0,d.register)(\"git-pull-request-milestone\",60192),mortarBoard:(0,d.register)(\"mortar-board\",60193),move:(0,d.register)(\"move\",60194),multipleWindows:(0,d.register)(\"multiple-windows\",60195),mute:(0,d.register)(\"mute\",60196),noNewline:(0,d.register)(\"no-newline\",60197),note:(0,d.register)(\"note\",60198),octoface:(0,d.register)(\"octoface\",60199),openPreview:(0,d.register)(\"open-preview\",60200),package:(0,d.register)(\"package\",60201),paintcan:(0,d.register)(\"paintcan\",60202),pin:(0,d.register)(\"pin\",60203),play:(0,d.register)(\"play\",60204),run:(0,d.register)(\"run\",60204),plug:(0,d.register)(\"plug\",60205),preserveCase:(0,d.register)(\"preserve-case\",60206),preview:(0,d.register)(\"preview\",60207),project:(0,d.register)(\"project\",60208),pulse:(0,d.register)(\"pulse\",60209),question:(0,d.register)(\"question\",60210),quote:(0,d.register)(\"quote\",60211),radioTower:(0,d.register)(\"radio-tower\",60212),reactions:(0,d.register)(\"reactions\",60213),references:(0,d.register)(\"references\",60214),refresh:(0,d.register)(\"refresh\",60215),regex:(0,d.register)(\"regex\",60216),remoteExplorer:(0,d.register)(\"remote-explorer\",60217),remote:(0,d.register)(\"remote\",60218),remove:(0,d.register)(\"remove\",60219),replaceAll:(0,d.register)(\"replace-all\",60220),replace:(0,d.register)(\"replace\",60221),repoClone:(0,d.register)(\"repo-clone\",60222),repoForcePush:(0,d.register)(\"repo-force-push\",60223),repoPull:(0,d.register)(\"repo-pull\",60224),repoPush:(0,d.register)(\"repo-push\",60225),report:(0,d.register)(\"report\",60226),requestChanges:(0,d.register)(\"request-changes\",60227),rocket:(0,d.register)(\"rocket\",60228),rootFolderOpened:(0,d.register)(\"root-folder-opened\",60229),rootFolder:(0,d.register)(\"root-folder\",60230),rss:(0,d.register)(\"rss\",60231),ruby:(0,d.register)(\"ruby\",60232),saveAll:(0,d.register)(\"save-all\",60233),saveAs:(0,d.register)(\"save-as\",60234),save:(0,d.register)(\"save\",60235),screenFull:(0,d.register)(\"screen-full\",60236),screenNormal:(0,d.register)(\"screen-normal\",60237),searchStop:(0,d.register)(\"search-stop\",60238),server:(0,d.register)(\"server\",60240),settingsGear:(0,d.register)(\"settings-gear\",60241),settings:(0,d.register)(\"settings\",60242),shield:(0,d.register)(\"shield\",60243),smiley:(0,d.register)(\"smiley\",60244),sortPrecedence:(0,d.register)(\"sort-precedence\",60245),splitHorizontal:(0,d.register)(\"split-horizontal\",60246),splitVertical:(0,d.register)(\"split-vertical\",60247),squirrel:(0,d.register)(\"squirrel\",60248),starFull:(0,d.register)(\"star-full\",60249),starHalf:(0,d.register)(\"star-half\",60250),symbolClass:(0,d.register)(\"symbol-class\",60251),symbolColor:(0,d.register)(\"symbol-color\",60252),symbolConstant:(0,d.register)(\"symbol-constant\",60253),symbolEnumMember:(0,d.register)(\"symbol-enum-member\",60254),symbolField:(0,d.register)(\"symbol-field\",60255),symbolFile:(0,d.register)(\"symbol-file\",60256),symbolInterface:(0,d.register)(\"symbol-interface\",60257),symbolKeyword:(0,d.register)(\"symbol-keyword\",60258),symbolMisc:(0,d.register)(\"symbol-misc\",60259),symbolOperator:(0,d.register)(\"symbol-operator\",60260),symbolProperty:(0,d.register)(\"symbol-property\",60261),wrench:(0,d.register)(\"wrench\",60261),wrenchSubaction:(0,d.register)(\"wrench-subaction\",60261),symbolSnippet:(0,d.register)(\"symbol-snippet\",60262),tasklist:(0,d.register)(\"tasklist\",60263),telescope:(0,d.register)(\"telescope\",60264),textSize:(0,d.register)(\"text-size\",60265),threeBars:(0,d.register)(\"three-bars\",60266),thumbsdown:(0,d.register)(\"thumbsdown\",60267),thumbsup:(0,d.register)(\"thumbsup\",60268),tools:(0,d.register)(\"tools\",60269),triangleDown:(0,d.register)(\"triangle-down\",60270),triangleLeft:(0,d.register)(\"triangle-left\",60271),triangleRight:(0,d.register)(\"triangle-right\",60272),triangleUp:(0,d.register)(\"triangle-up\",60273),twitter:(0,d.register)(\"twitter\",60274),unfold:(0,d.register)(\"unfold\",60275),unlock:(0,d.register)(\"unlock\",60276),unmute:(0,d.register)(\"unmute\",60277),unverified:(0,d.register)(\"unverified\",60278),verified:(0,d.register)(\"verified\",60279),versions:(0,d.register)(\"versions\",60280),vmActive:(0,d.register)(\"vm-active\",60281),vmOutline:(0,d.register)(\"vm-outline\",60282),vmRunning:(0,d.register)(\"vm-running\",60283),watch:(0,d.register)(\"watch\",60284),whitespace:(0,d.register)(\"whitespace\",60285),wholeWord:(0,d.register)(\"whole-word\",60286),window:(0,d.register)(\"window\",60287),wordWrap:(0,d.register)(\"word-wrap\",60288),zoomIn:(0,d.register)(\"zoom-in\",60289),zoomOut:(0,d.register)(\"zoom-out\",60290),listFilter:(0,d.register)(\"list-filter\",60291),listFlat:(0,d.register)(\"list-flat\",60292),listSelection:(0,d.register)(\"list-selection\",60293),selection:(0,d.register)(\"selection\",60293),listTree:(0,d.register)(\"list-tree\",60294),debugBreakpointFunctionUnverified:(0,d.register)(\"debug-breakpoint-function-unverified\",60295),debugBreakpointFunction:(0,d.register)(\"debug-breakpoint-function\",60296),debugBreakpointFunctionDisabled:(0,d.register)(\"debug-breakpoint-function-disabled\",60296),debugStackframeActive:(0,d.register)(\"debug-stackframe-active\",60297),circleSmallFilled:(0,d.register)(\"circle-small-filled\",60298),debugStackframeDot:(0,d.register)(\"debug-stackframe-dot\",60298),terminalDecorationMark:(0,d.register)(\"terminal-decoration-mark\",60298),debugStackframe:(0,d.register)(\"debug-stackframe\",60299),debugStackframeFocused:(0,d.register)(\"debug-stackframe-focused\",60299),debugBreakpointUnsupported:(0,d.register)(\"debug-breakpoint-unsupported\",60300),symbolString:(0,d.register)(\"symbol-string\",60301),debugReverseContinue:(0,d.register)(\"debug-reverse-continue\",60302),debugStepBack:(0,d.register)(\"debug-step-back\",60303),debugRestartFrame:(0,d.register)(\"debug-restart-frame\",60304),debugAlt:(0,d.register)(\"debug-alt\",60305),callIncoming:(0,d.register)(\"call-incoming\",60306),callOutgoing:(0,d.register)(\"call-outgoing\",60307),menu:(0,d.register)(\"menu\",60308),expandAll:(0,d.register)(\"expand-all\",60309),feedback:(0,d.register)(\"feedback\",60310),gitPullRequestReviewer:(0,d.register)(\"git-pull-request-reviewer\",60310),groupByRefType:(0,d.register)(\"group-by-ref-type\",60311),ungroupByRefType:(0,d.register)(\"ungroup-by-ref-type\",60312),account:(0,d.register)(\"account\",60313),gitPullRequestAssignee:(0,d.register)(\"git-pull-request-assignee\",60313),bellDot:(0,d.register)(\"bell-dot\",60314),debugConsole:(0,d.register)(\"debug-console\",60315),library:(0,d.register)(\"library\",60316),output:(0,d.register)(\"output\",60317),runAll:(0,d.register)(\"run-all\",60318),syncIgnored:(0,d.register)(\"sync-ignored\",60319),pinned:(0,d.register)(\"pinned\",60320),githubInverted:(0,d.register)(\"github-inverted\",60321),serverProcess:(0,d.register)(\"server-process\",60322),serverEnvironment:(0,d.register)(\"server-environment\",60323),pass:(0,d.register)(\"pass\",60324),issueClosed:(0,d.register)(\"issue-closed\",60324),stopCircle:(0,d.register)(\"stop-circle\",60325),playCircle:(0,d.register)(\"play-circle\",60326),record:(0,d.register)(\"record\",60327),debugAltSmall:(0,d.register)(\"debug-alt-small\",60328),vmConnect:(0,d.register)(\"vm-connect\",60329),cloud:(0,d.register)(\"cloud\",60330),merge:(0,d.register)(\"merge\",60331),export:(0,d.register)(\"export\",60332),graphLeft:(0,d.register)(\"graph-left\",60333),magnet:(0,d.register)(\"magnet\",60334),notebook:(0,d.register)(\"notebook\",60335),redo:(0,d.register)(\"redo\",60336),checkAll:(0,d.register)(\"check-all\",60337),pinnedDirty:(0,d.register)(\"pinned-dirty\",60338),passFilled:(0,d.register)(\"pass-filled\",60339),circleLargeFilled:(0,d.register)(\"circle-large-filled\",60340),circleLarge:(0,d.register)(\"circle-large\",60341),circleLargeOutline:(0,d.register)(\"circle-large-outline\",60341),combine:(0,d.register)(\"combine\",60342),gather:(0,d.register)(\"gather\",60342),table:(0,d.register)(\"table\",60343),variableGroup:(0,d.register)(\"variable-group\",60344),typeHierarchy:(0,d.register)(\"type-hierarchy\",60345),typeHierarchySub:(0,d.register)(\"type-hierarchy-sub\",60346),typeHierarchySuper:(0,d.register)(\"type-hierarchy-super\",60347),gitPullRequestCreate:(0,d.register)(\"git-pull-request-create\",60348),runAbove:(0,d.register)(\"run-above\",60349),runBelow:(0,d.register)(\"run-below\",60350),notebookTemplate:(0,d.register)(\"notebook-template\",60351),debugRerun:(0,d.register)(\"debug-rerun\",60352),workspaceTrusted:(0,d.register)(\"workspace-trusted\",60353),workspaceUntrusted:(0,d.register)(\"workspace-untrusted\",60354),workspaceUnknown:(0,d.register)(\"workspace-unknown\",60355),terminalCmd:(0,d.register)(\"terminal-cmd\",60356),terminalDebian:(0,d.register)(\"terminal-debian\",60357),terminalLinux:(0,d.register)(\"terminal-linux\",60358),terminalPowershell:(0,d.register)(\"terminal-powershell\",60359),terminalTmux:(0,d.register)(\"terminal-tmux\",60360),terminalUbuntu:(0,d.register)(\"terminal-ubuntu\",60361),terminalBash:(0,d.register)(\"terminal-bash\",60362),arrowSwap:(0,d.register)(\"arrow-swap\",60363),copy:(0,d.register)(\"copy\",60364),personAdd:(0,d.register)(\"person-add\",60365),filterFilled:(0,d.register)(\"filter-filled\",60366),wand:(0,d.register)(\"wand\",60367),debugLineByLine:(0,d.register)(\"debug-line-by-line\",60368),inspect:(0,d.register)(\"inspect\",60369),layers:(0,d.register)(\"layers\",60370),layersDot:(0,d.register)(\"layers-dot\",60371),layersActive:(0,d.register)(\"layers-active\",60372),compass:(0,d.register)(\"compass\",60373),compassDot:(0,d.register)(\"compass-dot\",60374),compassActive:(0,d.register)(\"compass-active\",60375),azure:(0,d.register)(\"azure\",60376),issueDraft:(0,d.register)(\"issue-draft\",60377),gitPullRequestClosed:(0,d.register)(\"git-pull-request-closed\",60378),gitPullRequestDraft:(0,d.register)(\"git-pull-request-draft\",60379),debugAll:(0,d.register)(\"debug-all\",60380),debugCoverage:(0,d.register)(\"debug-coverage\",60381),runErrors:(0,d.register)(\"run-errors\",60382),folderLibrary:(0,d.register)(\"folder-library\",60383),debugContinueSmall:(0,d.register)(\"debug-continue-small\",60384),beakerStop:(0,d.register)(\"beaker-stop\",60385),graphLine:(0,d.register)(\"graph-line\",60386),graphScatter:(0,d.register)(\"graph-scatter\",60387),pieChart:(0,d.register)(\"pie-chart\",60388),bracket:(0,d.register)(\"bracket\",60175),bracketDot:(0,d.register)(\"bracket-dot\",60389),bracketError:(0,d.register)(\"bracket-error\",60390),lockSmall:(0,d.register)(\"lock-small\",60391),azureDevops:(0,d.register)(\"azure-devops\",60392),verifiedFilled:(0,d.register)(\"verified-filled\",60393),newline:(0,d.register)(\"newline\",60394),layout:(0,d.register)(\"layout\",60395),layoutActivitybarLeft:(0,d.register)(\"layout-activitybar-left\",60396),layoutActivitybarRight:(0,d.register)(\"layout-activitybar-right\",60397),layoutPanelLeft:(0,d.register)(\"layout-panel-left\",60398),layoutPanelCenter:(0,d.register)(\"layout-panel-center\",60399),layoutPanelJustify:(0,d.register)(\"layout-panel-justify\",60400),layoutPanelRight:(0,d.register)(\"layout-panel-right\",60401),layoutPanel:(0,d.register)(\"layout-panel\",60402),layoutSidebarLeft:(0,d.register)(\"layout-sidebar-left\",60403),layoutSidebarRight:(0,d.register)(\"layout-sidebar-right\",60404),layoutStatusbar:(0,d.register)(\"layout-statusbar\",60405),layoutMenubar:(0,d.register)(\"layout-menubar\",60406),layoutCentered:(0,d.register)(\"layout-centered\",60407),target:(0,d.register)(\"target\",60408),indent:(0,d.register)(\"indent\",60409),recordSmall:(0,d.register)(\"record-small\",60410),errorSmall:(0,d.register)(\"error-small\",60411),terminalDecorationError:(0,d.register)(\"terminal-decoration-error\",60411),arrowCircleDown:(0,d.register)(\"arrow-circle-down\",60412),arrowCircleLeft:(0,d.register)(\"arrow-circle-left\",60413),arrowCircleRight:(0,d.register)(\"arrow-circle-right\",60414),arrowCircleUp:(0,d.register)(\"arrow-circle-up\",60415),layoutSidebarRightOff:(0,d.register)(\"layout-sidebar-right-off\",60416),layoutPanelOff:(0,d.register)(\"layout-panel-off\",60417),layoutSidebarLeftOff:(0,d.register)(\"layout-sidebar-left-off\",60418),blank:(0,d.register)(\"blank\",60419),heartFilled:(0,d.register)(\"heart-filled\",60420),map:(0,d.register)(\"map\",60421),mapHorizontal:(0,d.register)(\"map-horizontal\",60421),foldHorizontal:(0,d.register)(\"fold-horizontal\",60421),mapFilled:(0,d.register)(\"map-filled\",60422),mapHorizontalFilled:(0,d.register)(\"map-horizontal-filled\",60422),foldHorizontalFilled:(0,d.register)(\"fold-horizontal-filled\",60422),circleSmall:(0,d.register)(\"circle-small\",60423),bellSlash:(0,d.register)(\"bell-slash\",60424),bellSlashDot:(0,d.register)(\"bell-slash-dot\",60425),commentUnresolved:(0,d.register)(\"comment-unresolved\",60426),gitPullRequestGoToChanges:(0,d.register)(\"git-pull-request-go-to-changes\",60427),gitPullRequestNewChanges:(0,d.register)(\"git-pull-request-new-changes\",60428),searchFuzzy:(0,d.register)(\"search-fuzzy\",60429),commentDraft:(0,d.register)(\"comment-draft\",60430),send:(0,d.register)(\"send\",60431),sparkle:(0,d.register)(\"sparkle\",60432),insert:(0,d.register)(\"insert\",60433),mic:(0,d.register)(\"mic\",60434),thumbsdownFilled:(0,d.register)(\"thumbsdown-filled\",60435),thumbsupFilled:(0,d.register)(\"thumbsup-filled\",60436),coffee:(0,d.register)(\"coffee\",60437),snake:(0,d.register)(\"snake\",60438),game:(0,d.register)(\"game\",60439),vr:(0,d.register)(\"vr\",60440),chip:(0,d.register)(\"chip\",60441),piano:(0,d.register)(\"piano\",60442),music:(0,d.register)(\"music\",60443),micFilled:(0,d.register)(\"mic-filled\",60444),repoFetch:(0,d.register)(\"repo-fetch\",60445),copilot:(0,d.register)(\"copilot\",60446),lightbulbSparkle:(0,d.register)(\"lightbulb-sparkle\",60447),robot:(0,d.register)(\"robot\",60448),sparkleFilled:(0,d.register)(\"sparkle-filled\",60449),diffSingle:(0,d.register)(\"diff-single\",60450),diffMultiple:(0,d.register)(\"diff-multiple\",60451),surroundWith:(0,d.register)(\"surround-with\",60452),share:(0,d.register)(\"share\",60453),gitStash:(0,d.register)(\"git-stash\",60454),gitStashApply:(0,d.register)(\"git-stash-apply\",60455),gitStashPop:(0,d.register)(\"git-stash-pop\",60456),vscode:(0,d.register)(\"vscode\",60457),vscodeInsiders:(0,d.register)(\"vscode-insiders\",60458),codeOss:(0,d.register)(\"code-oss\",60459),runCoverage:(0,d.register)(\"run-coverage\",60460),runAllCoverage:(0,d.register)(\"run-all-coverage\",60461),coverage:(0,d.register)(\"coverage\",60462),githubProject:(0,d.register)(\"github-project\",60463),mapVertical:(0,d.register)(\"map-vertical\",60464),foldVertical:(0,d.register)(\"fold-vertical\",60464),mapVerticalFilled:(0,d.register)(\"map-vertical-filled\",60465),foldVerticalFilled:(0,d.register)(\"fold-vertical-filled\",60465),goToSearch:(0,d.register)(\"go-to-search\",60466),percentage:(0,d.register)(\"percentage\",60467),sortPercentage:(0,d.register)(\"sort-percentage\",60467),attach:(0,d.register)(\"attach\",60468)}}),define(ne[26],se([1,0,191,457]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Codicon=e.codiconsDerived=void 0,e.codiconsDerived={dialogError:(0,d.register)(\"dialog-error\",\"error\"),dialogWarning:(0,d.register)(\"dialog-warning\",\"warning\"),dialogInfo:(0,d.register)(\"dialog-info\",\"info\"),dialogClose:(0,d.register)(\"dialog-close\",\"close\"),treeItemExpanded:(0,d.register)(\"tree-item-expanded\",\"chevron-down\"),treeFilterOnTypeOn:(0,d.register)(\"tree-filter-on-type-on\",\"list-filter\"),treeFilterOnTypeOff:(0,d.register)(\"tree-filter-on-type-off\",\"list-selection\"),treeFilterClear:(0,d.register)(\"tree-filter-clear\",\"close\"),treeItemLoading:(0,d.register)(\"tree-item-loading\",\"loading\"),menuSelection:(0,d.register)(\"menu-selection\",\"check\"),menuSubmenu:(0,d.register)(\"menu-submenu\",\"chevron-right\"),menuBarMore:(0,d.register)(\"menubar-more\",\"more\"),scrollbarButtonLeft:(0,d.register)(\"scrollbar-button-left\",\"triangle-left\"),scrollbarButtonRight:(0,d.register)(\"scrollbar-button-right\",\"triangle-right\"),scrollbarButtonUp:(0,d.register)(\"scrollbar-button-up\",\"triangle-up\"),scrollbarButtonDown:(0,d.register)(\"scrollbar-button-down\",\"triangle-down\"),toolBarMore:(0,d.register)(\"toolbar-more\",\"more\"),quickInputBack:(0,d.register)(\"quick-input-back\",\"arrow-left\"),dropDownButton:(0,d.register)(\"drop-down-button\",60084),symbolCustomColor:(0,d.register)(\"symbol-customcolor\",60252),exportIcon:(0,d.register)(\"export\",60332),workspaceUnspecified:(0,d.register)(\"workspace-unspecified\",60355),newLine:(0,d.register)(\"newline\",60394),thumbsDownFilled:(0,d.register)(\"thumbsdown-filled\",60435),thumbsUpFilled:(0,d.register)(\"thumbsup-filled\",60436),gitFetch:(0,d.register)(\"git-fetch\",60445),lightbulbSparkleAutofix:(0,d.register)(\"lightbulb-sparkle-autofix\",60447),debugBreakpointPending:(0,d.register)(\"debug-breakpoint-pending\",60377)},e.Codicon={...k.codiconsLibrary,...e.codiconsDerived}}),define(ne[60],se([1,0,19]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.deepClone=k,e.deepFreeze=I,e.cloneAndChange=y,e.mixin=_,e.equals=b,e.getAllPropertyNames=p,e.getAllMethodNames=n,e.createProxyObject=o;function k(t){if(!t||typeof t!=\"object\"||t instanceof RegExp)return t;const i=Array.isArray(t)?[]:{};return Object.entries(t).forEach(([s,g])=>{i[s]=g&&typeof g==\"object\"?k(g):g}),i}function I(t){if(!t||typeof t!=\"object\")return t;const i=[t];for(;i.length>0;){const s=i.shift();Object.freeze(s);for(const g in s)if(E.call(s,g)){const c=s[g];typeof c==\"object\"&&!Object.isFrozen(c)&&!(0,d.isTypedArray)(c)&&i.push(c)}}return t}const E=Object.prototype.hasOwnProperty;function y(t,i){return m(t,i,new Set)}function m(t,i,s){if((0,d.isUndefinedOrNull)(t))return t;const g=i(t);if(typeof g<\"u\")return g;if(Array.isArray(t)){const c=[];for(const l of t)c.push(m(l,i,s));return c}if((0,d.isObject)(t)){if(s.has(t))throw new Error(\"Cannot clone recursive data-structure\");s.add(t);const c={};for(const l in t)E.call(t,l)&&(c[l]=m(t[l],i,s));return s.delete(t),c}return t}function _(t,i,s=!0){return(0,d.isObject)(t)?((0,d.isObject)(i)&&Object.keys(i).forEach(g=>{g in t?s&&((0,d.isObject)(t[g])&&(0,d.isObject)(i[g])?_(t[g],i[g],s):t[g]=i[g]):t[g]=i[g]}),t):i}function b(t,i){if(t===i)return!0;if(t==null||i===null||i===void 0||typeof t!=typeof i||typeof t!=\"object\"||Array.isArray(t)!==Array.isArray(i))return!1;let s,g;if(Array.isArray(t)){if(t.length!==i.length)return!1;for(s=0;s<t.length;s++)if(!b(t[s],i[s]))return!1}else{const c=[];for(g in t)c.push(g);c.sort();const l=[];for(g in i)l.push(g);if(l.sort(),!b(c,l))return!1;for(s=0;s<c.length;s++)if(!b(t[c[s]],i[c[s]]))return!1}return!0}function p(t){let i=[];for(;Object.prototype!==t;)i=i.concat(Object.getOwnPropertyNames(t)),t=Object.getPrototypeOf(t);return i}function n(t){const i=[];for(const s of p(t))typeof t[s]==\"function\"&&i.push(s);return i}function o(t,i){const s=c=>function(){const l=Array.prototype.slice.call(arguments,0);return i(c,l)},g={};for(const c of t)g[c]=s(c);return g}}),define(ne[30],se([1,0,26]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ThemeIcon=e.ThemeColor=void 0;var k;(function(E){function y(m){return m&&typeof m==\"object\"&&typeof m.id==\"string\"}E.isThemeColor=y})(k||(e.ThemeColor=k={}));var I;(function(E){E.iconNameSegment=\"[A-Za-z0-9]+\",E.iconNameExpression=\"[A-Za-z0-9-]+\",E.iconModifierExpression=\"~[A-Za-z]+\",E.iconNameCharacter=\"[A-Za-z0-9~-]\";const y=new RegExp(`^(${E.iconNameExpression})(${E.iconModifierExpression})?$`);function m(c){const l=y.exec(c.id);if(!l)return m(d.Codicon.error);const[,a,r]=l,u=[\"codicon\",\"codicon-\"+a];return r&&u.push(\"codicon-modifier-\"+r.substring(1)),u}E.asClassNameArray=m;function _(c){return m(c).join(\" \")}E.asClassName=_;function b(c){return\".\"+m(c).join(\".\")}E.asCSSSelector=b;function p(c){return c&&typeof c==\"object\"&&typeof c.id==\"string\"&&(typeof c.color>\"u\"||k.isThemeColor(c.color))}E.isThemeIcon=p;const n=new RegExp(`^\\\\$\\\\((${E.iconNameExpression}(?:${E.iconModifierExpression})?)\\\\)$`);function o(c){const l=n.exec(c);if(!l)return;const[,a]=l;return{id:a}}E.fromString=o;function t(c){return{id:c}}E.fromId=t;function i(c,l){let a=c.id;const r=a.lastIndexOf(\"~\");return r!==-1&&(a=a.substring(0,r)),l&&(a=`${a}~${l}`),{id:a}}E.modify=i;function s(c){const l=c.id.lastIndexOf(\"~\");if(l!==-1)return c.id.substring(l+1)}E.getModifier=s;function g(c,l){return c.id===l.id&&c.color?.id===l.color?.id}E.isEqual=g})(I||(e.ThemeIcon=I={}))}),define(ne[142],se([1,0,82,11,30]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.escapeIcons=_,e.markdownEscapeEscapedIcons=p,e.stripIcons=o,e.getCodiconAriaLabel=t,e.parseLabelWithIcons=s,e.matchesFuzzyIconAware=g;const E=\"$(\",y=new RegExp(`\\\\$\\\\(${I.ThemeIcon.iconNameExpression}(?:${I.ThemeIcon.iconModifierExpression})?\\\\)`,\"g\"),m=new RegExp(`(\\\\\\\\)?${y.source}`,\"g\");function _(c){return c.replace(m,(l,a)=>a?l:`\\\\${l}`)}const b=new RegExp(`\\\\\\\\${y.source}`,\"g\");function p(c){return c.replace(b,l=>`\\\\${l}`)}const n=new RegExp(`(\\\\s)?(\\\\\\\\)?${y.source}(\\\\s)?`,\"g\");function o(c){return c.indexOf(E)===-1?c:c.replace(n,(l,a,r,u)=>r?l:a||u||\"\")}function t(c){return c?c.replace(/\\$\\((.*?)\\)/g,(l,a)=>` ${a} `).trim():\"\"}const i=new RegExp(`\\\\$\\\\(${I.ThemeIcon.iconNameCharacter}+\\\\)`,\"g\");function s(c){i.lastIndex=0;let l=\"\";const a=[];let r=0;for(;;){const u=i.lastIndex,C=i.exec(c),f=c.substring(u,C?.index);if(f.length>0){l+=f;for(let h=0;h<f.length;h++)a.push(r)}if(!C)break;r+=C[0].length}return{text:l,iconOffsets:a}}function g(c,l,a=!1){const{text:r,iconOffsets:u}=l;if(!u||u.length===0)return(0,d.matchesFuzzy)(c,r,a);const C=(0,k.ltrim)(r,\" \"),f=r.length-C.length,h=(0,d.matchesFuzzy)(c,C,a);if(h)for(const v of h){const w=u[v.start+f]+f;v.start+=w,v.end+=w}return h}}),define(ne[192],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.toUint8=d,e.toUint32=k;function d(I){return I<0?0:I>255?255:I|0}function k(I){return I<0?0:I>4294967295?4294967295:I|0}}),define(ne[193],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.generateUuid=void 0,e.generateUuid=function(){if(typeof crypto==\"object\"&&typeof crypto.randomUUID==\"function\")return crypto.randomUUID.bind(crypto);let d;typeof crypto==\"object\"&&typeof crypto.getRandomValues==\"function\"?d=crypto.getRandomValues.bind(crypto):d=function(E){for(let y=0;y<E.length;y++)E[y]=Math.floor(Math.random()*256);return E};const k=new Uint8Array(16),I=[];for(let E=0;E<256;E++)I.push(E.toString(16).padStart(2,\"0\"));return function(){d(k),k[6]=k[6]&15|64,k[8]=k[8]&63|128;let y=0,m=\"\";return m+=I[k[y++]],m+=I[k[y++]],m+=I[k[y++]],m+=I[k[y++]],m+=\"-\",m+=I[k[y++]],m+=I[k[y++]],m+=\"-\",m+=I[k[y++]],m+=I[k[y++]],m+=\"-\",m+=I[k[y++]],m+=I[k[y++]],m+=\"-\",m+=I[k[y++]],m+=I[k[y++]],m+=I[k[y++]],m+=I[k[y++]],m+=I[k[y++]],m+=I[k[y++]],m}}()}),define(ne[194],se([1,0,13,53,193]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UriList=e.VSDataTransfer=void 0,e.createStringDataTransferItem=E,e.createFileDataTransferItem=y,e.matchesMimeType=b;function E(n){return{asString:async()=>n,asFile:()=>{},value:typeof n==\"string\"?n:void 0}}function y(n,o,t){const i={id:(0,I.generateUuid)(),name:n,uri:o,data:t};return{asString:async()=>\"\",asFile:()=>i,value:void 0}}class m{constructor(){this._entries=new Map}get size(){let o=0;for(const t of this._entries)o++;return o}has(o){return this._entries.has(this.toKey(o))}matches(o){const t=[...this._entries.keys()];return k.Iterable.some(this,([i,s])=>s.asFile())&&t.push(\"files\"),p(_(o),t)}get(o){return this._entries.get(this.toKey(o))?.[0]}append(o,t){const i=this._entries.get(o);i?i.push(t):this._entries.set(this.toKey(o),[t])}replace(o,t){this._entries.set(this.toKey(o),[t])}delete(o){this._entries.delete(this.toKey(o))}*[Symbol.iterator](){for(const[o,t]of this._entries)for(const i of t)yield[o,i]}toKey(o){return _(o)}}e.VSDataTransfer=m;function _(n){return n.toLowerCase()}function b(n,o){return p(_(n),o.map(_))}function p(n,o){if(n===\"*/*\")return o.length>0;if(o.includes(n))return!0;const t=n.match(/^([a-z]+)\\/([a-z]+|\\*)$/i);if(!t)return!1;const[i,s,g]=t;return g===\"*\"?o.some(c=>c.startsWith(s+\"/\")):!1}e.UriList=Object.freeze({create:n=>(0,d.distinct)(n.map(o=>o.toString())).join(`\\r\n`),split:n=>n.split(`\\r\n`),parse:n=>e.UriList.split(n).filter(o=>!o.startsWith(\"#\"))})}),define(ne[302],se([10]),{}),define(ne[458],se([10]),{}),define(ne[459],se([10]),{}),define(ne[460],se([10]),{}),define(ne[461],se([10]),{}),define(ne[195],se([1,0,460,461]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0})}),define(ne[462],se([10]),{}),define(ne[463],se([10]),{}),define(ne[303],se([10]),{}),define(ne[304],se([10]),{}),define(ne[464],se([10]),{}),define(ne[465],se([10]),{}),define(ne[466],se([10]),{}),define(ne[467],se([10]),{}),define(ne[305],se([10]),{}),define(ne[468],se([10]),{}),define(ne[226],se([1,0,468]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME=void 0,e.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME=\"monaco-mouse-cursor-text\"}),define(ne[469],se([10]),{}),define(ne[470],se([10]),{}),define(ne[471],se([10]),{}),define(ne[472],se([10]),{}),define(ne[473],se([10]),{}),define(ne[474],se([10]),{}),define(ne[475],se([10]),{}),define(ne[476],se([10]),{}),define(ne[477],se([10]),{}),define(ne[478],se([10]),{}),define(ne[479],se([10]),{}),define(ne[480],se([10]),{}),define(ne[481],se([10]),{}),define(ne[482],se([10]),{}),define(ne[483],se([10]),{}),define(ne[484],se([10]),{}),define(ne[485],se([10]),{}),define(ne[486],se([10]),{}),define(ne[487],se([10]),{}),define(ne[488],se([10]),{}),define(ne[489],se([10]),{}),define(ne[490],se([10]),{}),define(ne[491],se([10]),{}),define(ne[492],se([10]),{}),define(ne[493],se([10]),{}),define(ne[494],se([10]),{}),define(ne[495],se([10]),{}),define(ne[496],se([10]),{}),define(ne[497],se([10]),{}),define(ne[498],se([10]),{}),define(ne[499],se([10]),{}),define(ne[500],se([10]),{}),define(ne[501],se([10]),{}),define(ne[502],se([10]),{}),define(ne[503],se([10]),{}),define(ne[504],se([10]),{}),define(ne[505],se([10]),{}),define(ne[506],se([10]),{}),define(ne[227],se([10]),{}),define(ne[507],se([10]),{}),define(ne[508],se([10]),{}),define(ne[509],se([10]),{}),define(ne[510],se([10]),{}),define(ne[511],se([10]),{}),define(ne[512],se([10]),{}),define(ne[513],se([10]),{}),define(ne[514],se([10]),{}),define(ne[196],se([10]),{}),define(ne[515],se([10]),{}),define(ne[516],se([10]),{}),define(ne[517],se([10]),{}),define(ne[518],se([10]),{}),define(ne[519],se([10]),{}),define(ne[520],se([10]),{}),define(ne[521],se([10]),{}),define(ne[522],se([10]),{}),define(ne[523],se([10]),{}),define(ne[524],se([10]),{}),define(ne[525],se([10]),{}),define(ne[526],se([10]),{}),define(ne[527],se([10]),{}),define(ne[528],se([10]),{}),define(ne[529],se([10]),{}),define(ne[530],se([10]),{}),define(ne[531],se([10]),{}),define(ne[532],se([10]),{}),define(ne[533],se([10]),{}),define(ne[534],se([10]),{}),define(ne[535],se([10]),{}),define(ne[536],se([10]),{}),define(ne[537],se([10]),{}),define(ne[538],se([10]),{}),define(ne[539],se([10]),{}),define(ne[540],se([10]),{}),define(ne[541],se([10]),{}),define(ne[306],se([10]),{}),define(ne[542],se([10]),{}),define(ne[543],se([10]),{}),define(ne[228],se([10]),{}),define(ne[544],se([10]),{}),define(ne[74],se([1,0,39]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.applyFontInfo=k;function k(I,E){I instanceof d.FastDomNode?(I.setFontFamily(E.getMassagedFontFamily()),I.setFontWeight(E.fontWeight),I.setFontSize(E.fontSize),I.setFontFeatureSettings(E.fontFeatureSettings),I.setFontVariationSettings(E.fontVariationSettings),I.setLineHeight(E.lineHeight),I.setLetterSpacing(E.letterSpacing)):(I.style.fontFamily=E.getMassagedFontFamily(),I.style.fontWeight=E.fontWeight,I.style.fontSize=E.fontSize+\"px\",I.style.fontFeatureSettings=E.fontFeatureSettings,I.style.fontVariationSettings=E.fontVariationSettings,I.style.lineHeight=E.lineHeight+\"px\",I.style.letterSpacing=E.letterSpacing+\"px\")}}),define(ne[545],se([1,0,74]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CharWidthRequest=void 0,e.readCharWidths=E;class k{constructor(m,_){this.chr=m,this.type=_,this.width=0}fulfill(m){this.width=m}}e.CharWidthRequest=k;class I{constructor(m,_){this._bareFontInfo=m,this._requests=_,this._container=null,this._testElements=null}read(m){this._createDomElements(),m.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){const m=document.createElement(\"div\");m.style.position=\"absolute\",m.style.top=\"-50000px\",m.style.width=\"50000px\";const _=document.createElement(\"div\");(0,d.applyFontInfo)(_,this._bareFontInfo),m.appendChild(_);const b=document.createElement(\"div\");(0,d.applyFontInfo)(b,this._bareFontInfo),b.style.fontWeight=\"bold\",m.appendChild(b);const p=document.createElement(\"div\");(0,d.applyFontInfo)(p,this._bareFontInfo),p.style.fontStyle=\"italic\",m.appendChild(p);const n=[];for(const o of this._requests){let t;o.type===0&&(t=_),o.type===2&&(t=b),o.type===1&&(t=p),t.appendChild(document.createElement(\"br\"));const i=document.createElement(\"span\");I._render(i,o),t.appendChild(i),n.push(i)}this._container=m,this._testElements=n}static _render(m,_){if(_.chr===\" \"){let b=\"\\xA0\";for(let p=0;p<8;p++)b+=b;m.innerText=b}else{let b=_.chr;for(let p=0;p<8;p++)b+=b;m.textContent=b}}_readFromDomElements(){for(let m=0,_=this._requests.length;m<_;m++){const b=this._requests[m],p=this._testElements[m];b.fulfill(p.offsetWidth/256)}}}function E(y,m,_){new I(m,_).read(y)}}),define(ne[546],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorSettingMigration=void 0,e.migrateOptions=E;class d{static{this.items=[]}constructor(_,b){this.key=_,this.migrate=b}apply(_){const b=d._read(_,this.key),p=o=>d._read(_,o),n=(o,t)=>d._write(_,o,t);this.migrate(b,p,n)}static _read(_,b){if(typeof _>\"u\")return;const p=b.indexOf(\".\");if(p>=0){const n=b.substring(0,p);return this._read(_[n],b.substring(p+1))}return _[b]}static _write(_,b,p){const n=b.indexOf(\".\");if(n>=0){const o=b.substring(0,n);_[o]=_[o]||{},this._write(_[o],b.substring(n+1),p);return}_[b]=p}}e.EditorSettingMigration=d;function k(m,_){d.items.push(new d(m,_))}function I(m,_){k(m,(b,p,n)=>{if(typeof b<\"u\"){for(const[o,t]of _)if(b===o){n(m,t);return}}})}function E(m){d.items.forEach(_=>_.apply(m))}I(\"wordWrap\",[[!0,\"on\"],[!1,\"off\"]]),I(\"lineNumbers\",[[!0,\"on\"],[!1,\"off\"]]),I(\"cursorBlinking\",[[\"visible\",\"solid\"]]),I(\"renderWhitespace\",[[!0,\"boundary\"],[!1,\"none\"]]),I(\"renderLineHighlight\",[[!0,\"line\"],[!1,\"none\"]]),I(\"acceptSuggestionOnEnter\",[[!0,\"on\"],[!1,\"off\"]]),I(\"tabCompletion\",[[!1,\"off\"],[!0,\"onlySnippets\"]]),I(\"hover\",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),I(\"parameterHints\",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),I(\"autoIndent\",[[!1,\"advanced\"],[!0,\"full\"]]),I(\"matchBrackets\",[[!0,\"always\"],[!1,\"never\"]]),I(\"renderFinalNewline\",[[!0,\"on\"],[!1,\"off\"]]),I(\"cursorSmoothCaretAnimation\",[[!0,\"on\"],[!1,\"off\"]]),I(\"occurrencesHighlight\",[[!0,\"singleFile\"],[!1,\"off\"]]),I(\"wordBasedSuggestions\",[[!0,\"matchingDocuments\"],[!1,\"off\"]]),k(\"autoClosingBrackets\",(m,_,b)=>{m===!1&&(b(\"autoClosingBrackets\",\"never\"),typeof _(\"autoClosingQuotes\")>\"u\"&&b(\"autoClosingQuotes\",\"never\"),typeof _(\"autoSurround\")>\"u\"&&b(\"autoSurround\",\"never\"))}),k(\"renderIndentGuides\",(m,_,b)=>{typeof m<\"u\"&&(b(\"renderIndentGuides\",void 0),typeof _(\"guides.indentation\")>\"u\"&&b(\"guides.indentation\",!!m))}),k(\"highlightActiveIndentGuide\",(m,_,b)=>{typeof m<\"u\"&&(b(\"highlightActiveIndentGuide\",void 0),typeof _(\"guides.highlightActiveIndentation\")>\"u\"&&b(\"guides.highlightActiveIndentation\",!!m))});const y={method:\"showMethods\",function:\"showFunctions\",constructor:\"showConstructors\",deprecated:\"showDeprecated\",field:\"showFields\",variable:\"showVariables\",class:\"showClasses\",struct:\"showStructs\",interface:\"showInterfaces\",module:\"showModules\",property:\"showProperties\",event:\"showEvents\",operator:\"showOperators\",unit:\"showUnits\",value:\"showValues\",constant:\"showConstants\",enum:\"showEnums\",enumMember:\"showEnumMembers\",keyword:\"showKeywords\",text:\"showWords\",color:\"showColors\",file:\"showFiles\",reference:\"showReferences\",folder:\"showFolders\",typeParameter:\"showTypeParameters\",snippet:\"showSnippets\"};k(\"suggest.filteredTypes\",(m,_,b)=>{if(m&&typeof m==\"object\"){for(const p of Object.entries(y))m[p[0]]===!1&&typeof _(`suggest.${p[1]}`)>\"u\"&&b(`suggest.${p[1]}`,!1);b(\"suggest.filteredTypes\",void 0)}}),k(\"quickSuggestions\",(m,_,b)=>{if(typeof m==\"boolean\"){const p=m?\"on\":\"off\";b(\"quickSuggestions\",{comments:p,strings:p,other:p})}}),k(\"experimental.stickyScroll.enabled\",(m,_,b)=>{typeof m==\"boolean\"&&(b(\"experimental.stickyScroll.enabled\",void 0),typeof _(\"stickyScroll.enabled\")>\"u\"&&b(\"stickyScroll.enabled\",m))}),k(\"experimental.stickyScroll.maxLineCount\",(m,_,b)=>{typeof m==\"number\"&&(b(\"experimental.stickyScroll.maxLineCount\",void 0),typeof _(\"stickyScroll.maxLineCount\")>\"u\"&&b(\"stickyScroll.maxLineCount\",m))}),k(\"codeActionsOnSave\",(m,_,b)=>{if(m&&typeof m==\"object\"){let p=!1;const n={};for(const o of Object.entries(m))typeof o[1]==\"boolean\"?(p=!0,n[o[0]]=o[1]?\"explicit\":\"never\"):n[o[0]]=o[1];p&&b(\"codeActionsOnSave\",n)}}),k(\"codeActionWidget.includeNearbyQuickfixes\",(m,_,b)=>{typeof m==\"boolean\"&&(b(\"codeActionWidget.includeNearbyQuickfixes\",void 0),typeof _(\"codeActionWidget.includeNearbyQuickFixes\")>\"u\"&&b(\"codeActionWidget.includeNearbyQuickFixes\",m))}),k(\"lightbulb.enabled\",(m,_,b)=>{typeof m==\"boolean\"&&b(\"lightbulb.enabled\",m?void 0:\"off\")})}),define(ne[229],se([1,0,6]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TabFocus=void 0;class k{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new d.Emitter,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(E){this._tabFocus=E,this._onDidChangeTabFocus.fire(this._tabFocus)}}e.TabFocus=new k}),define(ne[143],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StableEditorScrollState=void 0;class d{static capture(I){if(I.getScrollTop()===0||I.hasPendingScrollAnimation())return new d(I.getScrollTop(),I.getContentHeight(),null,0,null);let E=null,y=0;const m=I.getVisibleRanges();if(m.length>0){E=m[0].getStartPosition();const _=I.getTopForPosition(E.lineNumber,E.column);y=I.getScrollTop()-_}return new d(I.getScrollTop(),I.getContentHeight(),E,y,I.getPosition())}constructor(I,E,y,m,_){this._initialScrollTop=I,this._initialContentHeight=E,this._visiblePosition=y,this._visiblePositionScrollDelta=m,this._cursorPosition=_}restore(I){if(!(this._initialContentHeight===I.getContentHeight()&&this._initialScrollTop===I.getScrollTop())&&this._visiblePosition){const E=I.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);I.setScrollTop(E+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(I){if(this._initialContentHeight===I.getContentHeight()&&this._initialScrollTop===I.getScrollTop())return;const E=I.getPosition();if(!this._cursorPosition||!E)return;const y=I.getTopForLineNumber(E.lineNumber)-I.getTopForLineNumber(this._cursorPosition.lineNumber);I.setScrollTop(I.getScrollTop()+y,1)}}e.StableEditorScrollState=d}),define(ne[164],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.VisibleRanges=e.HorizontalPosition=e.FloatHorizontalRange=e.HorizontalRange=e.LineVisibleRanges=e.RenderingContext=e.RestrictedRenderingContext=void 0;class d{constructor(p,n){this._restrictedRenderingContextBrand=void 0,this._viewLayout=p,this.viewportData=n,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const o=this._viewLayout.getCurrentViewport();this.scrollTop=o.top,this.scrollLeft=o.left,this.viewportWidth=o.width,this.viewportHeight=o.height}getScrolledTopFromAbsoluteTop(p){return p-this.scrollTop}getVerticalOffsetForLineNumber(p,n){return this._viewLayout.getVerticalOffsetForLineNumber(p,n)}getVerticalOffsetAfterLineNumber(p,n){return this._viewLayout.getVerticalOffsetAfterLineNumber(p,n)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}e.RestrictedRenderingContext=d;class k extends d{constructor(p,n,o){super(p,n),this._renderingContextBrand=void 0,this._viewLines=o}linesVisibleRangesForRange(p,n){return this._viewLines.linesVisibleRangesForRange(p,n)}visibleRangeForPosition(p){return this._viewLines.visibleRangeForPosition(p)}}e.RenderingContext=k;class I{constructor(p,n,o,t){this.outsideRenderedLine=p,this.lineNumber=n,this.ranges=o,this.continuesOnNextLine=t}}e.LineVisibleRanges=I;class E{static from(p){const n=new Array(p.length);for(let o=0,t=p.length;o<t;o++){const i=p[o];n[o]=new E(i.left,i.width)}return n}constructor(p,n){this._horizontalRangeBrand=void 0,this.left=Math.round(p),this.width=Math.round(n)}toString(){return`[${this.left},${this.width}]`}}e.HorizontalRange=E;class y{constructor(p,n){this._floatHorizontalRangeBrand=void 0,this.left=p,this.width=n}toString(){return`[${this.left},${this.width}]`}static compare(p,n){return p.left-n.left}}e.FloatHorizontalRange=y;class m{constructor(p,n){this.outsideRenderedLine=p,this.originalLeft=n,this.left=Math.round(this.originalLeft)}}e.HorizontalPosition=m;class _{constructor(p,n){this.outsideRenderedLine=p,this.ranges=n}}e.VisibleRanges=_}),define(ne[547],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DomReadingContext=void 0;class d{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const I=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=I.left,this._clientRectScale=I.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(I,E){this._domNode=I,this.endNode=E,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}e.DomReadingContext=d}),define(ne[548],se([1,0,164]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RangeUtil=void 0;class k{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(E,y){E.selectNodeContents(y)}static _readClientRects(E,y,m,_,b){const p=this._createRange();try{return p.setStart(E,y),p.setEnd(m,_),p.getClientRects()}catch{return null}finally{this._detachRange(p,b)}}static _mergeAdjacentRanges(E){if(E.length===1)return E;E.sort(d.FloatHorizontalRange.compare);const y=[];let m=0,_=E[0];for(let b=1,p=E.length;b<p;b++){const n=E[b];_.left+_.width+.9>=n.left?_.width=Math.max(_.width,n.left+n.width-_.left):(y[m++]=_,_=n)}return y[m++]=_,y}static _createHorizontalRangesFromClientRects(E,y,m){if(!E||E.length===0)return null;const _=[];for(let b=0,p=E.length;b<p;b++){const n=E[b];_[b]=new d.FloatHorizontalRange(Math.max(0,(n.left-y)/m),n.width/m)}return this._mergeAdjacentRanges(_)}static readHorizontalRanges(E,y,m,_,b,p){const o=E.children.length-1;if(0>o)return null;if(y=Math.min(o,Math.max(0,y)),_=Math.min(o,Math.max(0,_)),y===_&&m===b&&m===0&&!E.children[y].firstChild){const g=E.children[y].getClientRects();return p.markDidDomLayout(),this._createHorizontalRangesFromClientRects(g,p.clientRectDeltaLeft,p.clientRectScale)}y!==_&&_>0&&b===0&&(_--,b=1073741824);let t=E.children[y].firstChild,i=E.children[_].firstChild;if((!t||!i)&&(!t&&m===0&&y>0&&(t=E.children[y-1].firstChild,m=1073741824),!i&&b===0&&_>0&&(i=E.children[_-1].firstChild,b=1073741824)),!t||!i)return null;m=Math.min(t.textContent.length,Math.max(0,m)),b=Math.min(i.textContent.length,Math.max(0,b));const s=this._readClientRects(t,m,i,b,p.endNode);return p.markDidDomLayout(),this._createHorizontalRangesFromClientRects(s,p.clientRectDeltaLeft,p.clientRectScale)}}e.RangeUtil=k}),define(ne[307],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getCharIndex=e.allCharCodes=void 0,e.allCharCodes=(()=>{const k=[];for(let I=32;I<=126;I++)k.push(I);return k.push(65533),k})();const d=(k,I)=>(k-=32,k<0||k>96?I<=2?(k+96)%96:95:k);e.getCharIndex=d}),define(ne[549],se([1,0,307,192]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MinimapCharRenderer=void 0;class I{constructor(y,m){this.scale=m,this._minimapCharRendererBrand=void 0,this.charDataNormal=I.soften(y,12/15),this.charDataLight=I.soften(y,50/60)}static soften(y,m){const _=new Uint8ClampedArray(y.length);for(let b=0,p=y.length;b<p;b++)_[b]=(0,k.toUint8)(y[b]*m);return _}renderChar(y,m,_,b,p,n,o,t,i,s,g){const c=1*this.scale,l=2*this.scale,a=g?1:l;if(m+c>y.width||_+a>y.height){console.warn(\"bad render request outside image data\");return}const r=s?this.charDataLight:this.charDataNormal,u=(0,d.getCharIndex)(b,i),C=y.width*4,f=o.r,h=o.g,v=o.b,w=p.r-f,S=p.g-h,L=p.b-v,D=Math.max(n,t),T=y.data;let M=u*c*l,A=_*C+m*4;for(let P=0;P<a;P++){let N=A;for(let O=0;O<c;O++){const F=r[M++]/255*(n/255);T[N++]=f+w*F,T[N++]=h+S*F,T[N++]=v+L*F,T[N++]=D}A+=C}}blockRenderChar(y,m,_,b,p,n,o,t){const i=1*this.scale,s=2*this.scale,g=t?1:s;if(m+i>y.width||_+g>y.height){console.warn(\"bad render request outside image data\");return}const c=y.width*4,l=.5*(p/255),a=n.r,r=n.g,u=n.b,C=b.r-a,f=b.g-r,h=b.b-u,v=a+C*l,w=r+f*l,S=u+h*l,L=Math.max(p,o),D=y.data;let T=_*c+m*4;for(let M=0;M<g;M++){let A=T;for(let P=0;P<i;P++)D[A++]=v,D[A++]=w,D[A++]=S,D[A++]=L;T+=c}}}e.MinimapCharRenderer=I}),define(ne[550],se([1,0,127]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.prebakedMiniMaps=void 0;const k={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15},I=E=>{const y=new Uint8ClampedArray(E.length/2);for(let m=0;m<E.length;m+=2)y[m>>1]=k[E[m]]<<4|k[E[m+1]]&15;return y};e.prebakedMiniMaps={1:(0,d.createSingleCallFunction)(()=>I(\"0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792\")),2:(0,d.createSingleCallFunction)(()=>I(\"000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126\"))}}),define(ne[551],se([1,0,549,307,550,192]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MinimapCharRendererFactory=void 0;class y{static create(_,b){if(this.lastCreated&&_===this.lastCreated.scale&&b===this.lastFontFamily)return this.lastCreated;let p;return I.prebakedMiniMaps[_]?p=new d.MinimapCharRenderer(I.prebakedMiniMaps[_](),_):p=y.createFromSampleData(y.createSampleData(b).data,_),this.lastFontFamily=b,this.lastCreated=p,p}static createSampleData(_){const b=document.createElement(\"canvas\"),p=b.getContext(\"2d\");b.style.height=\"16px\",b.height=16,b.width=96*10,b.style.width=96*10+\"px\",p.fillStyle=\"#ffffff\",p.font=`bold 16px ${_}`,p.textBaseline=\"middle\";let n=0;for(const o of k.allCharCodes)p.fillText(String.fromCharCode(o),n,16/2),n+=10;return p.getImageData(0,0,96*10,16)}static createFromSampleData(_,b){if(_.length!==61440)throw new Error(\"Unexpected source in MinimapCharRenderer\");const n=y._downsample(_,b);return new d.MinimapCharRenderer(n,b)}static _downsampleChar(_,b,p,n,o){const t=1*o,i=2*o;let s=n,g=0;for(let c=0;c<i;c++){const l=c/i*16,a=(c+1)/i*16;for(let r=0;r<t;r++){const u=r/t*10,C=(r+1)/t*10;let f=0,h=0;for(let w=l;w<a;w++){const S=b+Math.floor(w)*3840,L=1-(w-Math.floor(w));for(let D=u;D<C;D++){const T=1-(D-Math.floor(D)),M=S+Math.floor(D)*4,A=T*L;h+=A,f+=_[M]*_[M+3]/255*A}}const v=f/h;g=Math.max(g,v),p[s++]=(0,E.toUint8)(v)}}return g}static _downsample(_,b){const p=2*b*1*b,n=p*96,o=new Uint8ClampedArray(n);let t=0,i=0,s=0;for(let g=0;g<96;g++)s=Math.max(s,this._downsampleChar(_,i,o,t,b)),t+=p,i+=10*4;if(s>0){const g=255/s;for(let c=0;c<n;c++)o[c]*=g}return o}}e.MinimapCharRendererFactory=y}),define(ne[552],se([1,0,6,2]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DelegatingEditor=void 0;class I extends k.Disposable{constructor(){super(...arguments),this._id=++I.idCounter,this._onDidDispose=this._register(new d.Emitter),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+\":v2:\"+this._id}getVisibleColumnFromPosition(y){return this._targetEditor.getVisibleColumnFromPosition(y)}getPosition(){return this._targetEditor.getPosition()}setPosition(y,m=\"api\"){this._targetEditor.setPosition(y,m)}revealLine(y,m=0){this._targetEditor.revealLine(y,m)}revealLineInCenter(y,m=0){this._targetEditor.revealLineInCenter(y,m)}revealLineInCenterIfOutsideViewport(y,m=0){this._targetEditor.revealLineInCenterIfOutsideViewport(y,m)}revealLineNearTop(y,m=0){this._targetEditor.revealLineNearTop(y,m)}revealPosition(y,m=0){this._targetEditor.revealPosition(y,m)}revealPositionInCenter(y,m=0){this._targetEditor.revealPositionInCenter(y,m)}revealPositionInCenterIfOutsideViewport(y,m=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(y,m)}revealPositionNearTop(y,m=0){this._targetEditor.revealPositionNearTop(y,m)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(y,m=\"api\"){this._targetEditor.setSelection(y,m)}setSelections(y,m=\"api\"){this._targetEditor.setSelections(y,m)}revealLines(y,m,_=0){this._targetEditor.revealLines(y,m,_)}revealLinesInCenter(y,m,_=0){this._targetEditor.revealLinesInCenter(y,m,_)}revealLinesInCenterIfOutsideViewport(y,m,_=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(y,m,_)}revealLinesNearTop(y,m,_=0){this._targetEditor.revealLinesNearTop(y,m,_)}revealRange(y,m=0,_=!1,b=!0){this._targetEditor.revealRange(y,m,_,b)}revealRangeInCenter(y,m=0){this._targetEditor.revealRangeInCenter(y,m)}revealRangeInCenterIfOutsideViewport(y,m=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(y,m)}revealRangeNearTop(y,m=0){this._targetEditor.revealRangeNearTop(y,m)}revealRangeNearTopIfOutsideViewport(y,m=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(y,m)}revealRangeAtTop(y,m=0){this._targetEditor.revealRangeAtTop(y,m)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(y,m,_){this._targetEditor.trigger(y,m,_)}createDecorationsCollection(y){return this._targetEditor.createDecorationsCollection(y)}changeDecorations(y){return this._targetEditor.changeDecorations(y)}}e.DelegatingEditor=I}),define(ne[553],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ObjectPool=void 0;class d{constructor(I){this._create=I,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(I){let E;if(this._unused.size===0)E=this._create(I),this._itemData.set(E,I);else{const y=[...this._unused.values()];E=y.find(m=>this._itemData.get(m).getId()===I.getId())??y[0],this._unused.delete(E),this._itemData.set(E,I),E.setData(I)}return this._used.add(E),{object:E,dispose:()=>{this._used.delete(E),this._unused.size>5?E.dispose():this._unused.add(E)}}}dispose(){for(const I of this._used)I.dispose();for(const I of this._unused)I.dispose();this._used.clear(),this._unused.clear()}}e.ObjectPool=d}),define(ne[308],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.diffEditorDefaultOptions=void 0,e.diffEditorDefaultOptions={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:\"inherit\",diffAlgorithm:\"advanced\",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1}}),define(ne[165],se([1,0,6]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorZoom=void 0,e.EditorZoom=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new d.Emitter,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(k){k=Math.min(Math.max(-5,k),20),this._zoomLevel!==k&&(this._zoomLevel=k,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}}),define(ne[144],se([1,0,192]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CharacterSet=e.CharacterClassifier=void 0;class k{constructor(y){const m=(0,d.toUint8)(y);this._defaultValue=m,this._asciiMap=k._createAsciiMap(m),this._map=new Map}static _createAsciiMap(y){const m=new Uint8Array(256);return m.fill(y),m}set(y,m){const _=(0,d.toUint8)(m);y>=0&&y<256?this._asciiMap[y]=_:this._map.set(y,_)}get(y){return y>=0&&y<256?this._asciiMap[y]:this._map.get(y)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}e.CharacterClassifier=k;class I{constructor(){this._actual=new k(0)}add(y){this._actual.set(y,1)}has(y){return this._actual.get(y)===1}clear(){return this._actual.clear()}}e.CharacterSet=I}),define(ne[94],se([1,0,11]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CursorColumns=void 0;class k{static _nextVisibleColumn(E,y,m){return E===9?k.nextRenderTabStop(y,m):d.isFullWidthCharacter(E)||d.isEmojiImprecise(E)?y+2:y+1}static visibleColumnFromColumn(E,y,m){const _=Math.min(y-1,E.length),b=E.substring(0,_),p=new d.GraphemeIterator(b);let n=0;for(;!p.eol();){const o=d.getNextCodePoint(b,_,p.offset);p.nextGraphemeLength(),n=this._nextVisibleColumn(o,n,m)}return n}static columnFromVisibleColumn(E,y,m){if(y<=0)return 1;const _=E.length,b=new d.GraphemeIterator(E);let p=0,n=1;for(;!b.eol();){const o=d.getNextCodePoint(E,_,b.offset);b.nextGraphemeLength();const t=this._nextVisibleColumn(o,p,m),i=b.offset+1;if(t>=y){const s=y-p;return t-y<s?i:n}p=t,n=i}return _+1}static nextRenderTabStop(E,y){return E+y-E%y}static nextIndentTabStop(E,y){return E+y-E%y}static prevRenderTabStop(E,y){return Math.max(0,E-1-(E-1)%y)}static prevIndentTabStop(E,y){return Math.max(0,E-1-(E-1)%y)}}e.CursorColumns=k}),define(ne[145],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.countEOL=d;function d(k){let I=0,E=0,y=0,m=0;for(let _=0,b=k.length;_<b;_++){const p=k.charCodeAt(_);p===13?(I===0&&(E=_),I++,_+1<b&&k.charCodeAt(_+1)===10?(m|=2,_++):m|=3,y=_+1):p===10&&(m|=1,I===0&&(E=_),I++,y=_+1)}return I===0&&(E=k.length),[I,E,k.length-y,m]}}),define(ne[230],se([1,0,11,94]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.normalizeIndentation=E;function I(y,m,_){let b=0;for(let n=0;n<y.length;n++)y.charAt(n)===\"\t\"?b=k.CursorColumns.nextIndentTabStop(b,m):b++;let p=\"\";if(!_){const n=Math.floor(b/m);b=b%m;for(let o=0;o<n;o++)p+=\"\t\"}for(let n=0;n<b;n++)p+=\" \";return p}function E(y,m,_){let b=d.firstNonWhitespaceIndex(y);return b===-1&&(b=y.length),I(y.substring(0,b),m,_)+y.substring(b)}}),define(ne[68],se([1,0,8]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OffsetRangeSet=e.OffsetRange=void 0;class k{static addRange(y,m){let _=0;for(;_<m.length&&m[_].endExclusive<y.start;)_++;let b=_;for(;b<m.length&&m[b].start<=y.endExclusive;)b++;if(_===b)m.splice(_,0,y);else{const p=Math.min(y.start,m[_].start),n=Math.max(y.endExclusive,m[b-1].endExclusive);m.splice(_,b-_,new k(p,n))}}static tryCreate(y,m){if(!(y>m))return new k(y,m)}static ofLength(y){return new k(0,y)}static ofStartAndLength(y,m){return new k(y,y+m)}constructor(y,m){if(this.start=y,this.endExclusive=m,y>m)throw new d.BugIndicatingError(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(y){return new k(this.start+y,this.endExclusive+y)}deltaStart(y){return new k(this.start+y,this.endExclusive)}deltaEnd(y){return new k(this.start,this.endExclusive+y)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(y){return this.start<=y&&y<this.endExclusive}join(y){return new k(Math.min(this.start,y.start),Math.max(this.endExclusive,y.endExclusive))}intersect(y){const m=Math.max(this.start,y.start),_=Math.min(this.endExclusive,y.endExclusive);if(m<=_)return new k(m,_)}intersects(y){const m=Math.max(this.start,y.start),_=Math.min(this.endExclusive,y.endExclusive);return m<_}isBefore(y){return this.endExclusive<=y.start}isAfter(y){return this.start>=y.endExclusive}slice(y){return y.slice(this.start,this.endExclusive)}substring(y){return y.substring(this.start,this.endExclusive)}clip(y){if(this.isEmpty)throw new d.BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,y))}clipCyclic(y){if(this.isEmpty)throw new d.BugIndicatingError(`Invalid clipping range: ${this.toString()}`);return y<this.start?this.endExclusive-(this.start-y)%this.length:y>=this.endExclusive?this.start+(y-this.start)%this.length:y}forEach(y){for(let m=this.start;m<this.endExclusive;m++)y(m)}}e.OffsetRange=k;class I{constructor(){this._sortedRanges=[]}addRange(y){let m=0;for(;m<this._sortedRanges.length&&this._sortedRanges[m].endExclusive<y.start;)m++;let _=m;for(;_<this._sortedRanges.length&&this._sortedRanges[_].start<=y.endExclusive;)_++;if(m===_)this._sortedRanges.splice(m,0,y);else{const b=Math.min(y.start,this._sortedRanges[m].start),p=Math.max(y.endExclusive,this._sortedRanges[_-1].endExclusive);this._sortedRanges.splice(m,_-m,new k(b,p))}}toString(){return this._sortedRanges.map(y=>y.toString()).join(\", \")}intersectsStrict(y){let m=0;for(;m<this._sortedRanges.length&&this._sortedRanges[m].endExclusive<=y.start;)m++;return m<this._sortedRanges.length&&this._sortedRanges[m].start<y.endExclusive}intersectWithRange(y){const m=new I;for(const _ of this._sortedRanges){const b=_.intersect(y);b&&m.addRange(b)}return m}intersectWithRangeLength(y){return this.intersectWithRange(y).length}get length(){return this._sortedRanges.reduce((y,m)=>y+m.length,0)}}e.OffsetRangeSet=I}),define(ne[9],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Position=void 0;class d{constructor(I,E){this.lineNumber=I,this.column=E}with(I=this.lineNumber,E=this.column){return I===this.lineNumber&&E===this.column?this:new d(I,E)}delta(I=0,E=0){return this.with(this.lineNumber+I,this.column+E)}equals(I){return d.equals(this,I)}static equals(I,E){return!I&&!E?!0:!!I&&!!E&&I.lineNumber===E.lineNumber&&I.column===E.column}isBefore(I){return d.isBefore(this,I)}static isBefore(I,E){return I.lineNumber<E.lineNumber?!0:E.lineNumber<I.lineNumber?!1:I.column<E.column}isBeforeOrEqual(I){return d.isBeforeOrEqual(this,I)}static isBeforeOrEqual(I,E){return I.lineNumber<E.lineNumber?!0:E.lineNumber<I.lineNumber?!1:I.column<=E.column}static compare(I,E){const y=I.lineNumber|0,m=E.lineNumber|0;if(y===m){const _=I.column|0,b=E.column|0;return _-b}return y-m}clone(){return new d(this.lineNumber,this.column)}toString(){return\"(\"+this.lineNumber+\",\"+this.column+\")\"}static lift(I){return new d(I.lineNumber,I.column)}static isIPosition(I){return I&&typeof I.lineNumber==\"number\"&&typeof I.column==\"number\"}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}e.Position=d}),define(ne[309],se([1,0,9]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewUserInputEvents=void 0;class k{constructor(E){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=E}emitKeyDown(E){this.onKeyDown?.(E)}emitKeyUp(E){this.onKeyUp?.(E)}emitContextMenu(E){this.onContextMenu?.(this._convertViewToModelMouseEvent(E))}emitMouseMove(E){this.onMouseMove?.(this._convertViewToModelMouseEvent(E))}emitMouseLeave(E){this.onMouseLeave?.(this._convertViewToModelMouseEvent(E))}emitMouseDown(E){this.onMouseDown?.(this._convertViewToModelMouseEvent(E))}emitMouseUp(E){this.onMouseUp?.(this._convertViewToModelMouseEvent(E))}emitMouseDrag(E){this.onMouseDrag?.(this._convertViewToModelMouseEvent(E))}emitMouseDrop(E){this.onMouseDrop?.(this._convertViewToModelMouseEvent(E))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(E){this.onMouseWheel?.(E)}_convertViewToModelMouseEvent(E){return E.target?{event:E.event,target:this._convertViewToModelMouseTarget(E.target)}:E}_convertViewToModelMouseTarget(E){return k.convertViewToModelMouseTarget(E,this._coordinatesConverter)}static convertViewToModelMouseTarget(E,y){const m={...E};return m.position&&(m.position=y.convertViewPositionToModelPosition(m.position)),m.range&&(m.range=y.convertViewRangeToModelRange(m.range)),(m.type===5||m.type===8)&&(m.detail=this.convertViewToModelViewZoneData(m.detail,y)),m}static convertViewToModelViewZoneData(E,y){return{viewZoneId:E.viewZoneId,positionBefore:E.positionBefore?y.convertViewPositionToModelPosition(E.positionBefore):E.positionBefore,positionAfter:E.positionAfter?y.convertViewPositionToModelPosition(E.positionAfter):E.positionAfter,position:y.convertViewPositionToModelPosition(E.position),afterLineNumber:y.convertViewPositionToModelPosition(new d.Position(E.afterLineNumber,1)).lineNumber}}}e.ViewUserInputEvents=k}),define(ne[4],se([1,0,9]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Range=void 0;class k{constructor(E,y,m,_){E>m||E===m&&y>_?(this.startLineNumber=m,this.startColumn=_,this.endLineNumber=E,this.endColumn=y):(this.startLineNumber=E,this.startColumn=y,this.endLineNumber=m,this.endColumn=_)}isEmpty(){return k.isEmpty(this)}static isEmpty(E){return E.startLineNumber===E.endLineNumber&&E.startColumn===E.endColumn}containsPosition(E){return k.containsPosition(this,E)}static containsPosition(E,y){return!(y.lineNumber<E.startLineNumber||y.lineNumber>E.endLineNumber||y.lineNumber===E.startLineNumber&&y.column<E.startColumn||y.lineNumber===E.endLineNumber&&y.column>E.endColumn)}static strictContainsPosition(E,y){return!(y.lineNumber<E.startLineNumber||y.lineNumber>E.endLineNumber||y.lineNumber===E.startLineNumber&&y.column<=E.startColumn||y.lineNumber===E.endLineNumber&&y.column>=E.endColumn)}containsRange(E){return k.containsRange(this,E)}static containsRange(E,y){return!(y.startLineNumber<E.startLineNumber||y.endLineNumber<E.startLineNumber||y.startLineNumber>E.endLineNumber||y.endLineNumber>E.endLineNumber||y.startLineNumber===E.startLineNumber&&y.startColumn<E.startColumn||y.endLineNumber===E.endLineNumber&&y.endColumn>E.endColumn)}strictContainsRange(E){return k.strictContainsRange(this,E)}static strictContainsRange(E,y){return!(y.startLineNumber<E.startLineNumber||y.endLineNumber<E.startLineNumber||y.startLineNumber>E.endLineNumber||y.endLineNumber>E.endLineNumber||y.startLineNumber===E.startLineNumber&&y.startColumn<=E.startColumn||y.endLineNumber===E.endLineNumber&&y.endColumn>=E.endColumn)}plusRange(E){return k.plusRange(this,E)}static plusRange(E,y){let m,_,b,p;return y.startLineNumber<E.startLineNumber?(m=y.startLineNumber,_=y.startColumn):y.startLineNumber===E.startLineNumber?(m=y.startLineNumber,_=Math.min(y.startColumn,E.startColumn)):(m=E.startLineNumber,_=E.startColumn),y.endLineNumber>E.endLineNumber?(b=y.endLineNumber,p=y.endColumn):y.endLineNumber===E.endLineNumber?(b=y.endLineNumber,p=Math.max(y.endColumn,E.endColumn)):(b=E.endLineNumber,p=E.endColumn),new k(m,_,b,p)}intersectRanges(E){return k.intersectRanges(this,E)}static intersectRanges(E,y){let m=E.startLineNumber,_=E.startColumn,b=E.endLineNumber,p=E.endColumn;const n=y.startLineNumber,o=y.startColumn,t=y.endLineNumber,i=y.endColumn;return m<n?(m=n,_=o):m===n&&(_=Math.max(_,o)),b>t?(b=t,p=i):b===t&&(p=Math.min(p,i)),m>b||m===b&&_>p?null:new k(m,_,b,p)}equalsRange(E){return k.equalsRange(this,E)}static equalsRange(E,y){return!E&&!y?!0:!!E&&!!y&&E.startLineNumber===y.startLineNumber&&E.startColumn===y.startColumn&&E.endLineNumber===y.endLineNumber&&E.endColumn===y.endColumn}getEndPosition(){return k.getEndPosition(this)}static getEndPosition(E){return new d.Position(E.endLineNumber,E.endColumn)}getStartPosition(){return k.getStartPosition(this)}static getStartPosition(E){return new d.Position(E.startLineNumber,E.startColumn)}toString(){return\"[\"+this.startLineNumber+\",\"+this.startColumn+\" -> \"+this.endLineNumber+\",\"+this.endColumn+\"]\"}setEndPosition(E,y){return new k(this.startLineNumber,this.startColumn,E,y)}setStartPosition(E,y){return new k(E,y,this.endLineNumber,this.endColumn)}collapseToStart(){return k.collapseToStart(this)}static collapseToStart(E){return new k(E.startLineNumber,E.startColumn,E.startLineNumber,E.startColumn)}collapseToEnd(){return k.collapseToEnd(this)}static collapseToEnd(E){return new k(E.endLineNumber,E.endColumn,E.endLineNumber,E.endColumn)}delta(E){return new k(this.startLineNumber+E,this.startColumn,this.endLineNumber+E,this.endColumn)}static fromPositions(E,y=E){return new k(E.lineNumber,E.column,y.lineNumber,y.column)}static lift(E){return E?new k(E.startLineNumber,E.startColumn,E.endLineNumber,E.endColumn):null}static isIRange(E){return E&&typeof E.startLineNumber==\"number\"&&typeof E.startColumn==\"number\"&&typeof E.endLineNumber==\"number\"&&typeof E.endColumn==\"number\"}static areIntersectingOrTouching(E,y){return!(E.endLineNumber<y.startLineNumber||E.endLineNumber===y.startLineNumber&&E.endColumn<y.startColumn||y.endLineNumber<E.startLineNumber||y.endLineNumber===E.startLineNumber&&y.endColumn<E.startColumn)}static areIntersecting(E,y){return!(E.endLineNumber<y.startLineNumber||E.endLineNumber===y.startLineNumber&&E.endColumn<=y.startColumn||y.endLineNumber<E.startLineNumber||y.endLineNumber===E.startLineNumber&&y.endColumn<=E.startColumn)}static compareRangesUsingStarts(E,y){if(E&&y){const b=E.startLineNumber|0,p=y.startLineNumber|0;if(b===p){const n=E.startColumn|0,o=y.startColumn|0;if(n===o){const t=E.endLineNumber|0,i=y.endLineNumber|0;if(t===i){const s=E.endColumn|0,g=y.endColumn|0;return s-g}return t-i}return n-o}return b-p}return(E?1:0)-(y?1:0)}static compareRangesUsingEnds(E,y){return E.endLineNumber===y.endLineNumber?E.endColumn===y.endColumn?E.startLineNumber===y.startLineNumber?E.startColumn-y.startColumn:E.startLineNumber-y.startLineNumber:E.endColumn-y.endColumn:E.endLineNumber-y.endLineNumber}static spansMultipleLines(E){return E.endLineNumber>E.startLineNumber}toJSON(){return this}}e.Range=k}),define(ne[310],se([1,0,11,4]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PagedScreenReaderStrategy=e.TextAreaState=e._debugComposition=void 0,e._debugComposition=!1;class I{static{this.EMPTY=new I(\"\",0,0,null,void 0)}constructor(m,_,b,p,n){this.value=m,this.selectionStart=_,this.selectionEnd=b,this.selection=p,this.newlineCountBeforeSelection=n}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(m,_){const b=m.getValue(),p=m.getSelectionStart(),n=m.getSelectionEnd();let o;if(_){const t=b.substring(0,p),i=_.value.substring(0,_.selectionStart);t===i&&(o=_.newlineCountBeforeSelection)}return new I(b,p,n,null,o)}collapseSelection(){return this.selectionStart===this.value.length?this:new I(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(m,_,b){e._debugComposition&&console.log(`writeToTextArea ${m}: ${this.toString()}`),_.setValue(m,this.value),b&&_.setSelectionRange(m,this.selectionStart,this.selectionEnd)}deduceEditorPosition(m){if(m<=this.selectionStart){const p=this.value.substring(m,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,p,-1)}if(m>=this.selectionEnd){const p=this.value.substring(this.selectionEnd,m);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,p,1)}const _=this.value.substring(this.selectionStart,m);if(_.indexOf(\"\\u2026\")===-1)return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,_,1);const b=this.value.substring(m,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,b,-1)}_finishDeduceEditorPosition(m,_,b){let p=0,n=-1;for(;(n=_.indexOf(`\n`,n+1))!==-1;)p++;return[m,b*_.length,p]}static deduceInput(m,_,b){if(!m)return{text:\"\",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};e._debugComposition&&(console.log(\"------------------------deduceInput\"),console.log(`PREVIOUS STATE: ${m.toString()}`),console.log(`CURRENT STATE: ${_.toString()}`));const p=Math.min(d.commonPrefixLength(m.value,_.value),m.selectionStart,_.selectionStart),n=Math.min(d.commonSuffixLength(m.value,_.value),m.value.length-m.selectionEnd,_.value.length-_.selectionEnd),o=m.value.substring(p,m.value.length-n),t=_.value.substring(p,_.value.length-n),i=m.selectionStart-p,s=m.selectionEnd-p,g=_.selectionStart-p,c=_.selectionEnd-p;if(e._debugComposition&&(console.log(`AFTER DIFFING PREVIOUS STATE: <${o}>, selectionStart: ${i}, selectionEnd: ${s}`),console.log(`AFTER DIFFING CURRENT STATE: <${t}>, selectionStart: ${g}, selectionEnd: ${c}`)),g===c){const a=m.selectionStart-p;return e._debugComposition&&console.log(`REMOVE PREVIOUS: ${a} chars`),{text:t,replacePrevCharCnt:a,replaceNextCharCnt:0,positionDelta:0}}const l=s-i;return{text:t,replacePrevCharCnt:l,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(m,_){if(!m)return{text:\"\",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e._debugComposition&&(console.log(\"------------------------deduceAndroidCompositionInput\"),console.log(`PREVIOUS STATE: ${m.toString()}`),console.log(`CURRENT STATE: ${_.toString()}`)),m.value===_.value)return{text:\"\",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:_.selectionEnd-m.selectionEnd};const b=Math.min(d.commonPrefixLength(m.value,_.value),m.selectionEnd),p=Math.min(d.commonSuffixLength(m.value,_.value),m.value.length-m.selectionEnd),n=m.value.substring(b,m.value.length-p),o=_.value.substring(b,_.value.length-p),t=m.selectionStart-b,i=m.selectionEnd-b,s=_.selectionStart-b,g=_.selectionEnd-b;return e._debugComposition&&(console.log(`AFTER DIFFING PREVIOUS STATE: <${n}>, selectionStart: ${t}, selectionEnd: ${i}`),console.log(`AFTER DIFFING CURRENT STATE: <${o}>, selectionStart: ${s}, selectionEnd: ${g}`)),{text:o,replacePrevCharCnt:i,replaceNextCharCnt:n.length-i,positionDelta:g-o.length}}}e.TextAreaState=I;class E{static _getPageOfLine(m,_){return Math.floor((m-1)/_)}static _getRangeForPage(m,_){const b=m*_,p=b+1,n=b+_;return new k.Range(p,1,n+1,1)}static fromEditorSelection(m,_,b,p){const o=E._getPageOfLine(_.startLineNumber,b),t=E._getRangeForPage(o,b),i=E._getPageOfLine(_.endLineNumber,b),s=E._getRangeForPage(i,b);let g=t.intersectRanges(new k.Range(1,1,_.startLineNumber,_.startColumn));if(p&&m.getValueLengthInRange(g,1)>500){const f=m.modifyPosition(g.getEndPosition(),-500);g=k.Range.fromPositions(f,g.getEndPosition())}const c=m.getValueInRange(g,1),l=m.getLineCount(),a=m.getLineMaxColumn(l);let r=s.intersectRanges(new k.Range(_.endLineNumber,_.endColumn,l,a));if(p&&m.getValueLengthInRange(r,1)>500){const f=m.modifyPosition(r.getStartPosition(),500);r=k.Range.fromPositions(r.getStartPosition(),f)}const u=m.getValueInRange(r,1);let C;if(o===i||o+1===i)C=m.getValueInRange(_,1);else{const f=t.intersectRanges(_),h=s.intersectRanges(_);C=m.getValueInRange(f,1)+\"\\u2026\"+m.getValueInRange(h,1)}return p&&C.length>2*500&&(C=C.substring(0,500)+\"\\u2026\"+C.substring(C.length-500,C.length)),new I(c+C+u,c.length,c.length+C.length,_,g.endLineNumber-g.startLineNumber)}}e.PagedScreenReaderStrategy=E}),define(ne[75],se([1,0,4]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditOperation=void 0;class k{static insert(E,y){return{range:new d.Range(E.lineNumber,E.column,E.lineNumber,E.column),text:y,forceMoveMarkers:!0}}static delete(E){return{range:E,text:null}}static replace(E,y){return{range:E,text:y}}static replaceMove(E,y){return{range:E,text:y,forceMoveMarkers:!0}}}e.EditOperation=k}),define(ne[554],se([1,0,11,75,4]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TrimTrailingWhitespaceCommand=void 0,e.trimTrailingWhitespace=y;class E{constructor(_,b,p){this._selection=_,this._cursors=b,this._selectionId=null,this._trimInRegexesAndStrings=p}getEditOperations(_,b){const p=y(_,this._cursors,this._trimInRegexesAndStrings);for(let n=0,o=p.length;n<o;n++){const t=p[n];b.addEditOperation(t.range,t.text)}this._selectionId=b.trackSelection(this._selection)}computeCursorState(_,b){return b.getTrackedSelection(this._selectionId)}}e.TrimTrailingWhitespaceCommand=E;function y(m,_,b){_.sort((i,s)=>i.lineNumber===s.lineNumber?i.column-s.column:i.lineNumber-s.lineNumber);for(let i=_.length-2;i>=0;i--)_[i].lineNumber===_[i+1].lineNumber&&_.splice(i,1);const p=[];let n=0,o=0;const t=_.length;for(let i=1,s=m.getLineCount();i<=s;i++){const g=m.getLineContent(i),c=g.length+1;let l=0;if(o<t&&_[o].lineNumber===i&&(l=_[o].column,o++,l===c)||g.length===0)continue;const a=d.lastNonWhitespaceIndex(g);let r=0;if(a===-1)r=1;else if(a!==g.length-1)r=a+2;else continue;if(!b){if(!m.tokenization.hasAccurateTokensForLine(i))continue;const u=m.tokenization.getLineTokens(i),C=u.getStandardTokenType(u.findTokenIndexAtOffset(r));if(C===2||C===3)continue}r=Math.max(l,r),p[n++]=k.EditOperation.delete(new I.Range(i,r,i,c))}return p}}),define(ne[55],se([1,0,8,68,4,67]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LineRangeSet=e.LineRange=void 0;class y{static fromRangeInclusive(b){return new y(b.startLineNumber,b.endLineNumber+1)}static joinMany(b){if(b.length===0)return[];let p=new m(b[0].slice());for(let n=1;n<b.length;n++)p=p.getUnion(new m(b[n].slice()));return p.ranges}static join(b){if(b.length===0)throw new d.BugIndicatingError(\"lineRanges cannot be empty\");let p=b[0].startLineNumber,n=b[0].endLineNumberExclusive;for(let o=1;o<b.length;o++)p=Math.min(p,b[o].startLineNumber),n=Math.max(n,b[o].endLineNumberExclusive);return new y(p,n)}static ofLength(b,p){return new y(b,b+p)}static deserialize(b){return new y(b[0],b[1])}constructor(b,p){if(b>p)throw new d.BugIndicatingError(`startLineNumber ${b} cannot be after endLineNumberExclusive ${p}`);this.startLineNumber=b,this.endLineNumberExclusive=p}contains(b){return this.startLineNumber<=b&&b<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(b){return new y(this.startLineNumber+b,this.endLineNumberExclusive+b)}deltaLength(b){return new y(this.startLineNumber,this.endLineNumberExclusive+b)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(b){return new y(Math.min(this.startLineNumber,b.startLineNumber),Math.max(this.endLineNumberExclusive,b.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(b){const p=Math.max(this.startLineNumber,b.startLineNumber),n=Math.min(this.endLineNumberExclusive,b.endLineNumberExclusive);if(p<=n)return new y(p,n)}intersectsStrict(b){return this.startLineNumber<b.endLineNumberExclusive&&b.startLineNumber<this.endLineNumberExclusive}overlapOrTouch(b){return this.startLineNumber<=b.endLineNumberExclusive&&b.startLineNumber<=this.endLineNumberExclusive}equals(b){return this.startLineNumber===b.startLineNumber&&this.endLineNumberExclusive===b.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new I.Range(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new I.Range(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(b){const p=[];for(let n=this.startLineNumber;n<this.endLineNumberExclusive;n++)p.push(b(n));return p}forEach(b){for(let p=this.startLineNumber;p<this.endLineNumberExclusive;p++)b(p)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}includes(b){return this.startLineNumber<=b&&b<this.endLineNumberExclusive}toOffsetRange(){return new k.OffsetRange(this.startLineNumber-1,this.endLineNumberExclusive-1)}}e.LineRange=y;class m{constructor(b=[]){this._normalizedRanges=b}get ranges(){return this._normalizedRanges}addRange(b){if(b.length===0)return;const p=(0,E.findFirstIdxMonotonousOrArrLen)(this._normalizedRanges,o=>o.endLineNumberExclusive>=b.startLineNumber),n=(0,E.findLastIdxMonotonous)(this._normalizedRanges,o=>o.startLineNumber<=b.endLineNumberExclusive)+1;if(p===n)this._normalizedRanges.splice(p,0,b);else if(p===n-1){const o=this._normalizedRanges[p];this._normalizedRanges[p]=o.join(b)}else{const o=this._normalizedRanges[p].join(this._normalizedRanges[n-1]).join(b);this._normalizedRanges.splice(p,n-p,o)}}contains(b){const p=(0,E.findLastMonotonous)(this._normalizedRanges,n=>n.startLineNumber<=b);return!!p&&p.endLineNumberExclusive>b}intersects(b){const p=(0,E.findLastMonotonous)(this._normalizedRanges,n=>n.startLineNumber<b.endLineNumberExclusive);return!!p&&p.endLineNumberExclusive>b.startLineNumber}getUnion(b){if(this._normalizedRanges.length===0)return b;if(b._normalizedRanges.length===0)return this;const p=[];let n=0,o=0,t=null;for(;n<this._normalizedRanges.length||o<b._normalizedRanges.length;){let i=null;if(n<this._normalizedRanges.length&&o<b._normalizedRanges.length){const s=this._normalizedRanges[n],g=b._normalizedRanges[o];s.startLineNumber<g.startLineNumber?(i=s,n++):(i=g,o++)}else n<this._normalizedRanges.length?(i=this._normalizedRanges[n],n++):(i=b._normalizedRanges[o],o++);t===null?t=i:t.endLineNumberExclusive>=i.startLineNumber?t=new y(t.startLineNumber,Math.max(t.endLineNumberExclusive,i.endLineNumberExclusive)):(p.push(t),t=i)}return t!==null&&p.push(t),new m(p)}subtractFrom(b){const p=(0,E.findFirstIdxMonotonousOrArrLen)(this._normalizedRanges,i=>i.endLineNumberExclusive>=b.startLineNumber),n=(0,E.findLastIdxMonotonous)(this._normalizedRanges,i=>i.startLineNumber<=b.endLineNumberExclusive)+1;if(p===n)return new m([b]);const o=[];let t=b.startLineNumber;for(let i=p;i<n;i++){const s=this._normalizedRanges[i];s.startLineNumber>t&&o.push(new y(t,s.startLineNumber)),t=s.endLineNumberExclusive}return t<b.endLineNumberExclusive&&o.push(new y(t,b.endLineNumberExclusive)),new m(o)}toString(){return this._normalizedRanges.map(b=>b.toString()).join(\", \")}getIntersection(b){const p=[];let n=0,o=0;for(;n<this._normalizedRanges.length&&o<b._normalizedRanges.length;){const t=this._normalizedRanges[n],i=b._normalizedRanges[o],s=t.intersect(i);s&&!s.isEmpty&&p.push(s),t.endLineNumberExclusive<i.endLineNumberExclusive?n++:o++}return new m(p)}getWithDelta(b){return new m(this._normalizedRanges.map(p=>p.delta(b)))}}e.LineRangeSet=m}),define(ne[311],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RGBA8=void 0;class d{static{this.Empty=new d(0,0,0,0)}constructor(I,E,y,m){this._rgba8Brand=void 0,this.r=d._clamp(I),this.g=d._clamp(E),this.b=d._clamp(y),this.a=d._clamp(m)}equals(I){return this.r===I.r&&this.g===I.g&&this.b===I.b&&this.a===I.a}static _clamp(I){return I<0?0:I>255?255:I|0}}e.RGBA8=d}),define(ne[23],se([1,0,9,4]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Selection=void 0;class I extends k.Range{constructor(y,m,_,b){super(y,m,_,b),this.selectionStartLineNumber=y,this.selectionStartColumn=m,this.positionLineNumber=_,this.positionColumn=b}toString(){return\"[\"+this.selectionStartLineNumber+\",\"+this.selectionStartColumn+\" -> \"+this.positionLineNumber+\",\"+this.positionColumn+\"]\"}equalsSelection(y){return I.selectionsEqual(this,y)}static selectionsEqual(y,m){return y.selectionStartLineNumber===m.selectionStartLineNumber&&y.selectionStartColumn===m.selectionStartColumn&&y.positionLineNumber===m.positionLineNumber&&y.positionColumn===m.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(y,m){return this.getDirection()===0?new I(this.startLineNumber,this.startColumn,y,m):new I(y,m,this.startLineNumber,this.startColumn)}getPosition(){return new d.Position(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new d.Position(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(y,m){return this.getDirection()===0?new I(y,m,this.endLineNumber,this.endColumn):new I(this.endLineNumber,this.endColumn,y,m)}static fromPositions(y,m=y){return new I(y.lineNumber,y.column,m.lineNumber,m.column)}static fromRange(y,m){return m===0?new I(y.startLineNumber,y.startColumn,y.endLineNumber,y.endColumn):new I(y.endLineNumber,y.endColumn,y.startLineNumber,y.startColumn)}static liftSelection(y){return new I(y.selectionStartLineNumber,y.selectionStartColumn,y.positionLineNumber,y.positionColumn)}static selectionsArrEqual(y,m){if(y&&!m||!y&&m)return!1;if(!y&&!m)return!0;if(y.length!==m.length)return!1;for(let _=0,b=y.length;_<b;_++)if(!this.selectionsEqual(y[_],m[_]))return!1;return!0}static isISelection(y){return y&&typeof y.selectionStartLineNumber==\"number\"&&typeof y.selectionStartColumn==\"number\"&&typeof y.positionLineNumber==\"number\"&&typeof y.positionColumn==\"number\"}static createWithDirection(y,m,_,b,p){return p===0?new I(y,m,_,b):new I(_,b,y,m)}}e.Selection=I}),define(ne[112],se([1,0,102,2,21,92,65,23]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ObservableCodeEditor=void 0,e.observableCodeEditor=_,e.reactToChange=p,e.reactToChangeWithStore=n;function _(o){return b.get(o)}class b extends k.Disposable{static{this._map=new Map}static get(t){let i=b._map.get(t);if(!i){i=new b(t),b._map.set(t,i);const s=t.onDidDispose(()=>{const g=b._map.get(t);g&&(b._map.delete(t),g.dispose(),s.dispose())})}return i}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new E.TransactionImpl(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){const t=this._currentTransaction;this._currentTransaction=void 0,t.finish()}}constructor(t){super(),this.editor=t,this._updateCounter=0,this._currentTransaction=void 0,this._model=(0,I.observableValue)(this,this.editor.getModel()),this.model=this._model,this.isReadonly=(0,I.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=(0,I.observableValueOpts)({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=(0,I.observableValueOpts)({owner:this,equalsFn:(0,d.equalsIfDefined)((0,d.itemsEquals)(m.Selection.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=(0,I.observableFromEvent)(this,i=>{const s=this.editor.onDidFocusEditorWidget(i),g=this.editor.onDidBlurEditorWidget(i);return{dispose(){s.dispose(),g.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=(0,y.derivedWithSetter)(this,i=>(this.versionId.read(i),this.model.read(i)?.getValue()??\"\"),(i,s)=>{const g=this.model.get();g!==null&&i!==g.getValue()&&g.setValue(i)}),this.valueIsEmpty=(0,I.derived)(this,i=>(this.versionId.read(i),this.editor.getModel()?.getValueLength()===0)),this.cursorSelection=(0,I.derivedOpts)({owner:this,equalsFn:(0,d.equalsIfDefined)(m.Selection.selectionsEqual)},i=>this.selections.read(i)?.[0]??null),this.onDidType=(0,I.observableSignal)(this),this.scrollTop=(0,I.observableFromEvent)(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=(0,I.observableFromEvent)(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=(0,I.observableFromEvent)(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(i=>i.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(i=>i.decorationsLeft),this.contentWidth=(0,I.observableFromEvent)(this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(i=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,i)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(i=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,i),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(i=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,i),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(t){this._beginUpdate();try{return this._forceUpdate(),t?t(this._currentTransaction):void 0}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(t){return(0,I.observableFromEvent)(this,i=>this.editor.onDidChangeConfiguration(s=>{s.hasChanged(t)&&i(void 0)}),()=>this.editor.getOption(t))}setDecorations(t){const i=new k.DisposableStore,s=this.editor.createDecorationsCollection();return i.add((0,I.autorunOpts)({owner:this,debugName:()=>`Apply decorations from ${t.debugName}`},g=>{const c=t.read(g);s.set(c)})),i.add({dispose:()=>{s.clear()}}),i}createOverlayWidget(t){const i=\"observableOverlayWidget\"+this._overlayWidgetCounter++,s={getDomNode:()=>t.domNode,getPosition:()=>t.position.get(),getId:()=>i,allowEditorOverflow:t.allowEditorOverflow,getMinContentWidthInPx:()=>t.minContentWidthInPx.get()};this.editor.addOverlayWidget(s);const g=(0,I.autorun)(c=>{t.position.read(c),t.minContentWidthInPx.read(c),this.editor.layoutOverlayWidget(s)});return(0,k.toDisposable)(()=>{g.dispose(),this.editor.removeOverlayWidget(s)})}}e.ObservableCodeEditor=b;function p(o,t){return(0,I.autorunWithStoreHandleChanges)({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(i,s)=>{if(i.didChange(o)){const g=i.change;g!==void 0&&s.deltas.push(g),s.didChange=!0}return!0}},(i,s)=>{const g=o.read(i);s.didChange&&t(g,s.deltas)})}function n(o,t){const i=new k.DisposableStore,s=p(o,(g,c)=>{i.clear(),t(g,c,i)});return{dispose(){s.dispose(),i.dispose()}}}}),define(ne[146],se([1,0,23]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReplaceCommandThatPreservesSelection=e.ReplaceCommandWithOffsetCursorState=e.ReplaceCommandWithoutChangingPosition=e.ReplaceCommandThatSelectsText=e.ReplaceCommand=void 0;class k{constructor(b,p,n=!1){this._range=b,this._text=p,this.insertsAutoWhitespace=n}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(b,p){const o=p.getInverseEditOperations()[0].range;return d.Selection.fromPositions(o.getEndPosition())}}e.ReplaceCommand=k;class I{constructor(b,p){this._range=b,this._text=p}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(b,p){const o=p.getInverseEditOperations()[0].range;return d.Selection.fromRange(o,0)}}e.ReplaceCommandThatSelectsText=I;class E{constructor(b,p,n=!1){this._range=b,this._text=p,this.insertsAutoWhitespace=n}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(b,p){const o=p.getInverseEditOperations()[0].range;return d.Selection.fromPositions(o.getStartPosition())}}e.ReplaceCommandWithoutChangingPosition=E;class y{constructor(b,p,n,o,t=!1){this._range=b,this._text=p,this._columnDeltaOffset=o,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=t}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text)}computeCursorState(b,p){const o=p.getInverseEditOperations()[0].range;return d.Selection.fromPositions(o.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}}e.ReplaceCommandWithOffsetCursorState=y;class m{constructor(b,p,n,o=!1){this._range=b,this._text=p,this._initialSelection=n,this._forceMoveMarkers=o,this._selectionId=null}getEditOperations(b,p){p.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=p.trackSelection(this._initialSelection)}computeCursorState(b,p){return p.getTrackedSelection(this._selectionId)}}e.ReplaceCommandThatPreservesSelection=m}),define(ne[312],se([1,0,4,23]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CompositionSurroundSelectionCommand=e.SurroundSelectionCommand=void 0;class I{constructor(m,_,b){this._range=m,this._charBeforeSelection=_,this._charAfterSelection=b}getEditOperations(m,_){_.addTrackedEditOperation(new d.Range(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),_.addTrackedEditOperation(new d.Range(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(m,_){const b=_.getInverseEditOperations(),p=b[0].range,n=b[1].range;return new k.Selection(p.endLineNumber,p.endColumn,n.endLineNumber,n.endColumn-this._charAfterSelection.length)}}e.SurroundSelectionCommand=I;class E{constructor(m,_,b){this._position=m,this._text=_,this._charAfter=b}getEditOperations(m,_){_.addTrackedEditOperation(new d.Range(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(m,_){const p=_.getInverseEditOperations()[0].range;return new k.Selection(p.endLineNumber,p.startColumn,p.endLineNumber,p.endColumn-this._charAfter.length)}}e.CompositionSurroundSelectionCommand=E}),define(ne[113],se([1,0,9,4]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextLength=void 0;class I{static{this.zero=new I(0,0)}static betweenPositions(y,m){return y.lineNumber===m.lineNumber?new I(0,m.column-y.column):new I(m.lineNumber-y.lineNumber,m.column-1)}static ofRange(y){return I.betweenPositions(y.getStartPosition(),y.getEndPosition())}static ofText(y){let m=0,_=0;for(const b of y)b===`\n`?(m++,_=0):_++;return new I(m,_)}constructor(y,m){this.lineCount=y,this.columnCount=m}isGreaterThanOrEqualTo(y){return this.lineCount!==y.lineCount?this.lineCount>y.lineCount:this.columnCount>=y.columnCount}createRange(y){return this.lineCount===0?new k.Range(y.lineNumber,y.column,y.lineNumber,y.column+this.columnCount):new k.Range(y.lineNumber,y.column,y.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(y){return this.lineCount===0?new d.Position(y.lineNumber,y.column+this.columnCount):new d.Position(y.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}e.TextLength=I}),define(ne[555],se([1,0,68,113]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PositionOffsetTransformer=void 0;class I{constructor(y){this.text=y,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let m=0;m<y.length;m++)y.charAt(m)===`\n`&&this.lineStartOffsetByLineIdx.push(m+1)}getOffset(y){return this.lineStartOffsetByLineIdx[y.lineNumber-1]+y.column-1}getOffsetRange(y){return new d.OffsetRange(this.getOffset(y.getStartPosition()),this.getOffset(y.getEndPosition()))}get textLength(){const y=this.lineStartOffsetByLineIdx.length-1;return new k.TextLength(y,this.text.length-this.lineStartOffsetByLineIdx[y])}}e.PositionOffsetTransformer=I}),define(ne[104],se([1,0,90,8,9,555,4,113]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StringText=e.AbstractText=e.SingleTextEdit=e.TextEdit=void 0;class _{constructor(i){this.edits=i,(0,d.assertFn)(()=>(0,d.checkAdjacentItems)(i,(s,g)=>s.range.getEndPosition().isBeforeOrEqual(g.range.getStartPosition())))}apply(i){let s=\"\",g=new I.Position(1,1);for(const l of this.edits){const a=l.range,r=a.getStartPosition(),u=a.getEndPosition(),C=p(g,r);C.isEmpty()||(s+=i.getValueOfRange(C)),s+=l.text,g=u}const c=p(g,i.endPositionExclusive);return c.isEmpty()||(s+=i.getValueOfRange(c)),s}applyToString(i){const s=new o(i);return this.apply(s)}getNewRanges(){const i=[];let s=0,g=0,c=0;for(const l of this.edits){const a=m.TextLength.ofText(l.text),r=I.Position.lift({lineNumber:l.range.startLineNumber+g,column:l.range.startColumn+(l.range.startLineNumber===s?c:0)}),u=a.createRange(r);i.push(u),g=u.endLineNumber-l.range.endLineNumber,c=u.endColumn-l.range.endColumn,s=l.range.endLineNumber}return i}}e.TextEdit=_;class b{constructor(i,s){this.range=i,this.text=s}toSingleEditOperation(){return{range:this.range,text:this.text}}}e.SingleTextEdit=b;function p(t,i){if(t.lineNumber===i.lineNumber&&t.column===Number.MAX_SAFE_INTEGER)return y.Range.fromPositions(i,i);if(!t.isBeforeOrEqual(i))throw new k.BugIndicatingError(\"start must be before end\");return new y.Range(t.lineNumber,t.column,i.lineNumber,i.column)}class n{get endPositionExclusive(){return this.length.addToPosition(new I.Position(1,1))}}e.AbstractText=n;class o extends n{constructor(i){super(),this.value=i,this._t=new E.PositionOffsetTransformer(this.value)}getValueOfRange(i){return this._t.getOffsetRange(i).substring(this.value)}get length(){return this._t.textLength}}e.StringText=o}),define(ne[197],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EDITOR_MODEL_DEFAULTS=void 0,e.EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}}),define(ne[166],se([1,0,45,144]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WordCharacterClassifier=void 0,e.getMapForWordSeparators=y;class I extends k.CharacterClassifier{constructor(_,b){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=b,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:\"word\"}):this._segmenter=null;for(let p=0,n=_.length;p<n;p++)this.set(_.charCodeAt(p),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(_,b){let p=null;for(const n of this._getIntlSegmenterWordsOnLine(_)){if(n.index>b)break;p=n}return p}findNextIntlWordAtOrAfterOffset(_,b){for(const p of this._getIntlSegmenterWordsOnLine(_))if(!(p.index<b))return p;return null}_getIntlSegmenterWordsOnLine(_){return this._segmenter?this._cachedLine===_?this._cachedSegments:(this._cachedLine=_,this._cachedSegments=this._filterWordSegments(this._segmenter.segment(_)),this._cachedSegments):[]}_filterWordSegments(_){const b=[];for(const p of _)this._isWordLike(p)&&b.push(p);return b}_isWordLike(_){return!!_.isWordLike}}e.WordCharacterClassifier=I;const E=new d.LRUCache(10);function y(m,_){const b=`${m}/${_.join(\",\")}`;let p=E.get(b);return p||(p=new I(m,_),E.set(b,p)),p}}),define(ne[147],se([1,0,53,73]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DEFAULT_WORD_REGEXP=e.USUAL_WORD_SEPARATORS=void 0,e.ensureValidWordDefinition=E,e.getWordAtText=m,e.USUAL_WORD_SEPARATORS=\"`~!@#$%^&*()-=+[{]}\\\\|;:'\\\",.<>/?\";function I(b=\"\"){let p=\"(-?\\\\d*\\\\.\\\\d\\\\w*)|([^\";for(const n of e.USUAL_WORD_SEPARATORS)b.indexOf(n)>=0||(p+=\"\\\\\"+n);return p+=\"\\\\s]+)\",new RegExp(p,\"g\")}e.DEFAULT_WORD_REGEXP=I();function E(b){let p=e.DEFAULT_WORD_REGEXP;if(b&&b instanceof RegExp)if(b.global)p=b;else{let n=\"g\";b.ignoreCase&&(n+=\"i\"),b.multiline&&(n+=\"m\"),b.unicode&&(n+=\"u\"),p=new RegExp(b.source,n)}return p.lastIndex=0,p}const y=new k.LinkedList;y.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function m(b,p,n,o,t){if(p=E(p),t||(t=d.Iterable.first(y)),n.length>t.maxLen){let l=b-t.maxLen/2;return l<0?l=0:o+=l,n=n.substring(l,b+t.maxLen/2),m(b,p,n,o,t)}const i=Date.now(),s=b-1-o;let g=-1,c=null;for(let l=1;!(Date.now()-i>=t.timeBudget);l++){const a=s-t.windowSize*l;p.lastIndex=Math.max(0,a);const r=_(p,n,s,g);if(!r&&c||(c=r,a<=0))break;g=a}if(c){const l={word:c[0],startColumn:o+1+c.index,endColumn:o+1+c.index+c[0].length};return p.lastIndex=0,l}return null}function _(b,p,n,o){let t;for(;t=b.exec(p);){const i=t.index||0;if(i<=n&&b.lastIndex>=n)return t;if(o>0&&i>o)return null}return null}}),define(ne[313],se([1,0,94]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AtomicTabMoveOperations=void 0;class k{static whitespaceVisibleColumn(E,y,m){const _=E.length;let b=0,p=-1,n=-1;for(let o=0;o<_;o++){if(o===y)return[p,n,b];switch(b%m===0&&(p=o,n=b),E.charCodeAt(o)){case 32:b+=1;break;case 9:b=d.CursorColumns.nextRenderTabStop(b,m);break;default:return[-1,-1,-1]}}return y===_?[p,n,b]:[-1,-1,-1]}static atomicPosition(E,y,m,_){const b=E.length,[p,n,o]=k.whitespaceVisibleColumn(E,y,m);if(o===-1)return-1;let t;switch(_){case 0:t=!0;break;case 1:t=!1;break;case 2:if(o%m===0)return y;t=o%m<=m/2;break}if(t){if(p===-1)return-1;let g=n;for(let c=p;c<b;++c){if(g===n+m)return p;switch(E.charCodeAt(c)){case 32:g+=1;break;case 9:g=d.CursorColumns.nextRenderTabStop(g,m);break;default:return-1}}return g===n+m?p:-1}const i=d.CursorColumns.nextRenderTabStop(o,m);let s=o;for(let g=y;g<b;g++){if(s===i)return g;switch(E.charCodeAt(g)){case 32:s+=1;break;case 9:s=d.CursorColumns.nextRenderTabStop(s,m);break;default:return-1}}return s===i?b:-1}}e.AtomicTabMoveOperations=k}),define(ne[556],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CursorContext=void 0;class d{constructor(I,E,y,m){this._cursorContextBrand=void 0,this.model=I,this.viewModel=E,this.coordinatesConverter=y,this.cursorConfig=m}}e.CursorContext=d}),define(ne[167],se([1,0,13,8,68]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DateTimeout=e.InfiniteTimeout=e.OffsetPair=e.SequenceDiff=e.DiffAlgorithmResult=void 0;class E{static trivial(n,o){return new E([new y(I.OffsetRange.ofLength(n.length),I.OffsetRange.ofLength(o.length))],!1)}static trivialTimedOut(n,o){return new E([new y(I.OffsetRange.ofLength(n.length),I.OffsetRange.ofLength(o.length))],!0)}constructor(n,o){this.diffs=n,this.hitTimeout=o}}e.DiffAlgorithmResult=E;class y{static invert(n,o){const t=[];return(0,d.forEachAdjacent)(n,(i,s)=>{t.push(y.fromOffsetPairs(i?i.getEndExclusives():m.zero,s?s.getStarts():new m(o,(i?i.seq2Range.endExclusive-i.seq1Range.endExclusive:0)+o)))}),t}static fromOffsetPairs(n,o){return new y(new I.OffsetRange(n.offset1,o.offset1),new I.OffsetRange(n.offset2,o.offset2))}static assertSorted(n){let o;for(const t of n){if(o&&!(o.seq1Range.endExclusive<=t.seq1Range.start&&o.seq2Range.endExclusive<=t.seq2Range.start))throw new k.BugIndicatingError(\"Sequence diffs must be sorted\");o=t}}constructor(n,o){this.seq1Range=n,this.seq2Range=o}swap(){return new y(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(n){return new y(this.seq1Range.join(n.seq1Range),this.seq2Range.join(n.seq2Range))}delta(n){return n===0?this:new y(this.seq1Range.delta(n),this.seq2Range.delta(n))}deltaStart(n){return n===0?this:new y(this.seq1Range.deltaStart(n),this.seq2Range.deltaStart(n))}deltaEnd(n){return n===0?this:new y(this.seq1Range.deltaEnd(n),this.seq2Range.deltaEnd(n))}intersect(n){const o=this.seq1Range.intersect(n.seq1Range),t=this.seq2Range.intersect(n.seq2Range);if(!(!o||!t))return new y(o,t)}getStarts(){return new m(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new m(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}e.SequenceDiff=y;class m{static{this.zero=new m(0,0)}static{this.max=new m(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(n,o){this.offset1=n,this.offset2=o}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(n){return n===0?this:new m(this.offset1+n,this.offset2+n)}equals(n){return this.offset1===n.offset1&&this.offset2===n.offset2}}e.OffsetPair=m;class _{static{this.instance=new _}isValid(){return!0}}e.InfiniteTimeout=_;class b{constructor(n){if(this.timeout=n,this.startTime=Date.now(),this.valid=!0,n<=0)throw new k.BugIndicatingError(\"timeout must be positive\")}isValid(){if(!(Date.now()-this.startTime<this.timeout)&&this.valid){this.valid=!1;debugger}return this.valid}}e.DateTimeout=b}),define(ne[314],se([1,0,68,167]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MyersDiffAlgorithm=void 0;class I{compute(b,p,n=k.InfiniteTimeout.instance){if(b.length===0||p.length===0)return k.DiffAlgorithmResult.trivial(b,p);const o=b,t=p;function i(f,h){for(;f<o.length&&h<t.length&&o.getElement(f)===t.getElement(h);)f++,h++;return f}let s=0;const g=new y;g.set(0,i(0,0));const c=new m;c.set(0,g.get(0)===0?null:new E(null,0,0,g.get(0)));let l=0;e:for(;;){if(s++,!n.isValid())return k.DiffAlgorithmResult.trivialTimedOut(o,t);const f=-Math.min(s,t.length+s%2),h=Math.min(s,o.length+s%2);for(l=f;l<=h;l+=2){let v=0;const w=l===h?-1:g.get(l+1),S=l===f?-1:g.get(l-1)+1;v++;const L=Math.min(Math.max(w,S),o.length),D=L-l;if(v++,L>o.length||D>t.length)continue;const T=i(L,D);g.set(l,T);const M=L===w?c.get(l+1):c.get(l-1);if(c.set(l,T!==L?new E(M,L,D,T-L):M),g.get(l)===o.length&&g.get(l)-l===t.length)break e}}let a=c.get(l);const r=[];let u=o.length,C=t.length;for(;;){const f=a?a.x+a.length:0,h=a?a.y+a.length:0;if((f!==u||h!==C)&&r.push(new k.SequenceDiff(new d.OffsetRange(f,u),new d.OffsetRange(h,C))),!a)break;u=a.x,C=a.y,a=a.prev}return r.reverse(),new k.DiffAlgorithmResult(r,!1)}}e.MyersDiffAlgorithm=I;class E{constructor(b,p,n,o){this.prev=b,this.x=p,this.y=n,this.length=o}}class y{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(b){return b<0?(b=-b-1,this.negativeArr[b]):this.positiveArr[b]}set(b,p){if(b<0){if(b=-b-1,b>=this.negativeArr.length){const n=this.negativeArr;this.negativeArr=new Int32Array(n.length*2),this.negativeArr.set(n)}this.negativeArr[b]=p}else{if(b>=this.positiveArr.length){const n=this.positiveArr;this.positiveArr=new Int32Array(n.length*2),this.positiveArr.set(n)}this.positiveArr[b]=p}}}class m{constructor(){this.positiveArr=[],this.negativeArr=[]}get(b){return b<0?(b=-b-1,this.negativeArr[b]):this.positiveArr[b]}set(b,p){b<0?(b=-b-1,this.negativeArr[b]=p):this.positiveArr[b]=p}}}),define(ne[315],se([1,0,13,68,167]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.optimizeSequenceDiffs=E,e.removeShortMatches=b,e.extendDiffsToEntireWordIfAppropriate=p,e.removeVeryShortMatchingLinesBetweenDiffs=o,e.removeVeryShortMatchingTextBetweenLongDiffs=t;function E(i,s,g){let c=g;return c=y(i,s,c),c=y(i,s,c),c=m(i,s,c),c}function y(i,s,g){if(g.length===0)return g;const c=[];c.push(g[0]);for(let a=1;a<g.length;a++){const r=c[c.length-1];let u=g[a];if(u.seq1Range.isEmpty||u.seq2Range.isEmpty){const C=u.seq1Range.start-r.seq1Range.endExclusive;let f;for(f=1;f<=C&&!(i.getElement(u.seq1Range.start-f)!==i.getElement(u.seq1Range.endExclusive-f)||s.getElement(u.seq2Range.start-f)!==s.getElement(u.seq2Range.endExclusive-f));f++);if(f--,f===C){c[c.length-1]=new I.SequenceDiff(new k.OffsetRange(r.seq1Range.start,u.seq1Range.endExclusive-C),new k.OffsetRange(r.seq2Range.start,u.seq2Range.endExclusive-C));continue}u=u.delta(-f)}c.push(u)}const l=[];for(let a=0;a<c.length-1;a++){const r=c[a+1];let u=c[a];if(u.seq1Range.isEmpty||u.seq2Range.isEmpty){const C=r.seq1Range.start-u.seq1Range.endExclusive;let f;for(f=0;f<C&&!(!i.isStronglyEqual(u.seq1Range.start+f,u.seq1Range.endExclusive+f)||!s.isStronglyEqual(u.seq2Range.start+f,u.seq2Range.endExclusive+f));f++);if(f===C){c[a+1]=new I.SequenceDiff(new k.OffsetRange(u.seq1Range.start+C,r.seq1Range.endExclusive),new k.OffsetRange(u.seq2Range.start+C,r.seq2Range.endExclusive));continue}f>0&&(u=u.delta(f))}l.push(u)}return c.length>0&&l.push(c[c.length-1]),l}function m(i,s,g){if(!i.getBoundaryScore||!s.getBoundaryScore)return g;for(let c=0;c<g.length;c++){const l=c>0?g[c-1]:void 0,a=g[c],r=c+1<g.length?g[c+1]:void 0,u=new k.OffsetRange(l?l.seq1Range.endExclusive+1:0,r?r.seq1Range.start-1:i.length),C=new k.OffsetRange(l?l.seq2Range.endExclusive+1:0,r?r.seq2Range.start-1:s.length);a.seq1Range.isEmpty?g[c]=_(a,i,s,u,C):a.seq2Range.isEmpty&&(g[c]=_(a.swap(),s,i,C,u).swap())}return g}function _(i,s,g,c,l){let r=1;for(;i.seq1Range.start-r>=c.start&&i.seq2Range.start-r>=l.start&&g.isStronglyEqual(i.seq2Range.start-r,i.seq2Range.endExclusive-r)&&r<100;)r++;r--;let u=0;for(;i.seq1Range.start+u<c.endExclusive&&i.seq2Range.endExclusive+u<l.endExclusive&&g.isStronglyEqual(i.seq2Range.start+u,i.seq2Range.endExclusive+u)&&u<100;)u++;if(r===0&&u===0)return i;let C=0,f=-1;for(let h=-r;h<=u;h++){const v=i.seq2Range.start+h,w=i.seq2Range.endExclusive+h,S=i.seq1Range.start+h,L=s.getBoundaryScore(S)+g.getBoundaryScore(v)+g.getBoundaryScore(w);L>f&&(f=L,C=h)}return i.delta(C)}function b(i,s,g){const c=[];for(const l of g){const a=c[c.length-1];if(!a){c.push(l);continue}l.seq1Range.start-a.seq1Range.endExclusive<=2||l.seq2Range.start-a.seq2Range.endExclusive<=2?c[c.length-1]=new I.SequenceDiff(a.seq1Range.join(l.seq1Range),a.seq2Range.join(l.seq2Range)):c.push(l)}return c}function p(i,s,g){const c=I.SequenceDiff.invert(g,i.length),l=[];let a=new I.OffsetPair(0,0);function r(C,f){if(C.offset1<a.offset1||C.offset2<a.offset2)return;const h=i.findWordContaining(C.offset1),v=s.findWordContaining(C.offset2);if(!h||!v)return;let w=new I.SequenceDiff(h,v);const S=w.intersect(f);let L=S.seq1Range.length,D=S.seq2Range.length;for(;c.length>0;){const T=c[0];if(!(T.seq1Range.intersects(w.seq1Range)||T.seq2Range.intersects(w.seq2Range)))break;const A=i.findWordContaining(T.seq1Range.start),P=s.findWordContaining(T.seq2Range.start),N=new I.SequenceDiff(A,P),O=N.intersect(T);if(L+=O.seq1Range.length,D+=O.seq2Range.length,w=w.join(N),w.seq1Range.endExclusive>=T.seq1Range.endExclusive)c.shift();else break}L+D<(w.seq1Range.length+w.seq2Range.length)*2/3&&l.push(w),a=w.getEndExclusives()}for(;c.length>0;){const C=c.shift();C.seq1Range.isEmpty||(r(C.getStarts(),C),r(C.getEndExclusives().delta(-1),C))}return n(g,l)}function n(i,s){const g=[];for(;i.length>0||s.length>0;){const c=i[0],l=s[0];let a;c&&(!l||c.seq1Range.start<l.seq1Range.start)?a=i.shift():a=s.shift(),g.length>0&&g[g.length-1].seq1Range.endExclusive>=a.seq1Range.start?g[g.length-1]=g[g.length-1].join(a):g.push(a)}return g}function o(i,s,g){let c=g;if(c.length===0)return c;let l=0,a;do{a=!1;const r=[c[0]];for(let u=1;u<c.length;u++){let h=function(w,S){const L=new k.OffsetRange(f.seq1Range.endExclusive,C.seq1Range.start);return i.getText(L).replace(/\\s/g,\"\").length<=4&&(w.seq1Range.length+w.seq2Range.length>5||S.seq1Range.length+S.seq2Range.length>5)};const C=c[u],f=r[r.length-1];h(f,C)?(a=!0,r[r.length-1]=r[r.length-1].join(C)):r.push(C)}c=r}while(l++<10&&a);return c}function t(i,s,g){let c=g;if(c.length===0)return c;let l=0,a;do{a=!1;const u=[c[0]];for(let C=1;C<c.length;C++){let v=function(S,L){const D=new k.OffsetRange(h.seq1Range.endExclusive,f.seq1Range.start);if(i.countLinesIn(D)>5||D.length>500)return!1;const M=i.getText(D).trim();if(M.length>20||M.split(/\\r\\n|\\r|\\n/).length>1)return!1;const A=i.countLinesIn(S.seq1Range),P=S.seq1Range.length,N=s.countLinesIn(S.seq2Range),O=S.seq2Range.length,F=i.countLinesIn(L.seq1Range),x=L.seq1Range.length,W=s.countLinesIn(L.seq2Range),V=L.seq2Range.length,q=2*40+50;function H(z){return Math.min(z,q)}return Math.pow(Math.pow(H(A*40+P),1.5)+Math.pow(H(N*40+O),1.5),1.5)+Math.pow(Math.pow(H(F*40+x),1.5)+Math.pow(H(W*40+V),1.5),1.5)>(q**1.5)**1.5*1.3};const f=c[C],h=u[u.length-1];v(h,f)?(a=!0,u[u.length-1]=u[u.length-1].join(f)):u.push(f)}c=u}while(l++<10&&a);const r=[];return(0,d.forEachWithNeighbors)(c,(u,C,f)=>{let h=C;function v(M){return M.length>0&&M.trim().length<=3&&C.seq1Range.length+C.seq2Range.length>100}const w=i.extendToFullLines(C.seq1Range),S=i.getText(new k.OffsetRange(w.start,C.seq1Range.start));v(S)&&(h=h.deltaStart(-S.length));const L=i.getText(new k.OffsetRange(C.seq1Range.endExclusive,w.endExclusive));v(L)&&(h=h.deltaEnd(L.length));const D=I.SequenceDiff.fromOffsetPairs(u?u.getEndExclusives():I.OffsetPair.zero,f?f.getStarts():I.OffsetPair.max),T=h.intersect(D);r.length>0&&T.getStarts().equals(r[r.length-1].getEndExclusives())?r[r.length-1]=r[r.length-1].join(T):r.push(T)}),r}}),define(ne[557],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LineSequence=void 0;class d{constructor(E,y){this.trimmedHash=E,this.lines=y}getElement(E){return this.trimmedHash[E]}get length(){return this.trimmedHash.length}getBoundaryScore(E){const y=E===0?0:k(this.lines[E-1]),m=E===this.lines.length?0:k(this.lines[E]);return 1e3-(y+m)}getText(E){return this.lines.slice(E.start,E.endExclusive).join(`\n`)}isStronglyEqual(E,y){return this.lines[E]===this.lines[y]}}e.LineSequence=d;function k(I){let E=0;for(;E<I.length&&(I.charCodeAt(E)===32||I.charCodeAt(E)===9);)E++;return E}}),define(ne[231],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LineRangeFragment=e.Array2D=void 0,e.isSpace=k;class d{constructor(y,m){this.width=y,this.height=m,this.array=[],this.array=new Array(y*m)}get(y,m){return this.array[y+m*this.width]}set(y,m,_){this.array[y+m*this.width]=_}}e.Array2D=d;function k(E){return E===32||E===9}class I{static{this.chrKeys=new Map}static getKey(y){let m=this.chrKeys.get(y);return m===void 0&&(m=this.chrKeys.size,this.chrKeys.set(y,m)),m}constructor(y,m,_){this.range=y,this.lines=m,this.source=_,this.histogram=[];let b=0;for(let p=y.startLineNumber-1;p<y.endLineNumberExclusive-1;p++){const n=m[p];for(let t=0;t<n.length;t++){b++;const i=n[t],s=I.getKey(i);this.histogram[s]=(this.histogram[s]||0)+1}b++;const o=I.getKey(`\n`);this.histogram[o]=(this.histogram[o]||0)+1}this.totalCount=b}computeSimilarity(y){let m=0;const _=Math.max(this.histogram.length,y.histogram.length);for(let b=0;b<_;b++)m+=Math.abs((this.histogram[b]??0)-(y.histogram[b]??0));return 1-m/(this.totalCount+y.totalCount)}}e.LineRangeFragment=I}),define(ne[558],se([1,0,68,167,231]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DynamicProgrammingDiffing=void 0;class E{compute(m,_,b=k.InfiniteTimeout.instance,p){if(m.length===0||_.length===0)return k.DiffAlgorithmResult.trivial(m,_);const n=new I.Array2D(m.length,_.length),o=new I.Array2D(m.length,_.length),t=new I.Array2D(m.length,_.length);for(let r=0;r<m.length;r++)for(let u=0;u<_.length;u++){if(!b.isValid())return k.DiffAlgorithmResult.trivialTimedOut(m,_);const C=r===0?0:n.get(r-1,u),f=u===0?0:n.get(r,u-1);let h;m.getElement(r)===_.getElement(u)?(r===0||u===0?h=0:h=n.get(r-1,u-1),r>0&&u>0&&o.get(r-1,u-1)===3&&(h+=t.get(r-1,u-1)),h+=p?p(r,u):1):h=-1;const v=Math.max(C,f,h);if(v===h){const w=r>0&&u>0?t.get(r-1,u-1):0;t.set(r,u,w+1),o.set(r,u,3)}else v===C?(t.set(r,u,0),o.set(r,u,1)):v===f&&(t.set(r,u,0),o.set(r,u,2));n.set(r,u,v)}const i=[];let s=m.length,g=_.length;function c(r,u){(r+1!==s||u+1!==g)&&i.push(new k.SequenceDiff(new d.OffsetRange(r+1,s),new d.OffsetRange(u+1,g))),s=r,g=u}let l=m.length-1,a=_.length-1;for(;l>=0&&a>=0;)o.get(l,a)===3?(c(l,a),l--,a--):o.get(l,a)===1?l--:a--;return c(-1,-1),i.reverse(),new k.DiffAlgorithmResult(i,!1)}}e.DynamicProgrammingDiffing=E}),define(ne[316],se([1,0,67,68,9,4,231]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinesSliceCharSequence=void 0;class m{constructor(t,i,s){this.lines=t,this.range=i,this.considerWhitespaceChanges=s,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let g=this.range.startLineNumber;g<=this.range.endLineNumber;g++){let c=t[g-1],l=0;g===this.range.startLineNumber&&this.range.startColumn>1&&(l=this.range.startColumn-1,c=c.substring(l)),this.lineStartOffsets.push(l);let a=0;if(!s){const u=c.trimStart();a=c.length-u.length,c=u.trimEnd()}this.trimmedWsLengthsByLineIdx.push(a);const r=g===this.range.endLineNumber?Math.min(this.range.endColumn-1-l-a,c.length):c.length;for(let u=0;u<r;u++)this.elements.push(c.charCodeAt(u));g<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: \"${this.text}\"`}get text(){return this.getText(new k.OffsetRange(0,this.length))}getText(t){return this.elements.slice(t.start,t.endExclusive).map(i=>String.fromCharCode(i)).join(\"\")}getElement(t){return this.elements[t]}get length(){return this.elements.length}getBoundaryScore(t){const i=n(t>0?this.elements[t-1]:-1),s=n(t<this.elements.length?this.elements[t]:-1);if(i===7&&s===8)return 0;if(i===8)return 150;let g=0;return i!==s&&(g+=10,i===0&&s===1&&(g+=1)),g+=p(i),g+=p(s),g}translateOffset(t,i=\"right\"){const s=(0,d.findLastIdxMonotonous)(this.firstElementOffsetByLineIdx,c=>c<=t),g=t-this.firstElementOffsetByLineIdx[s];return new I.Position(this.range.startLineNumber+s,1+this.lineStartOffsets[s]+g+(g===0&&i===\"left\"?0:this.trimmedWsLengthsByLineIdx[s]))}translateRange(t){const i=this.translateOffset(t.start,\"right\"),s=this.translateOffset(t.endExclusive,\"left\");return s.isBefore(i)?E.Range.fromPositions(s,s):E.Range.fromPositions(i,s)}findWordContaining(t){if(t<0||t>=this.elements.length||!_(this.elements[t]))return;let i=t;for(;i>0&&_(this.elements[i-1]);)i--;let s=t;for(;s<this.elements.length&&_(this.elements[s]);)s++;return new k.OffsetRange(i,s)}countLinesIn(t){return this.translateOffset(t.endExclusive).lineNumber-this.translateOffset(t.start).lineNumber}isStronglyEqual(t,i){return this.elements[t]===this.elements[i]}extendToFullLines(t){const i=(0,d.findLastMonotonous)(this.firstElementOffsetByLineIdx,g=>g<=t.start)??0,s=(0,d.findFirstMonotonous)(this.firstElementOffsetByLineIdx,g=>t.endExclusive<=g)??this.elements.length;return new k.OffsetRange(i,s)}}e.LinesSliceCharSequence=m;function _(o){return o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57}const b={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function p(o){return b[o]}function n(o){return o===10?8:o===13?7:(0,y.isSpace)(o)?6:o>=97&&o<=122?0:o>=65&&o<=90?1:o>=48&&o<=57?2:o===-1?3:o===44||o===59?5:4}}),define(ne[232],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MovedText=e.LinesDiff=void 0;class d{constructor(E,y,m){this.changes=E,this.moves=y,this.hitTimeout=m}}e.LinesDiff=d;class k{constructor(E,y){this.lineRangeMapping=E,this.changes=y}}e.MovedText=k}),define(ne[105],se([1,0,8,55,9,4,104]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RangeMapping=e.DetailedLineRangeMapping=e.LineRangeMapping=void 0;class m{static inverse(t,i,s){const g=[];let c=1,l=1;for(const r of t){const u=new m(new k.LineRange(c,r.original.startLineNumber),new k.LineRange(l,r.modified.startLineNumber));u.modified.isEmpty||g.push(u),c=r.original.endLineNumberExclusive,l=r.modified.endLineNumberExclusive}const a=new m(new k.LineRange(c,i+1),new k.LineRange(l,s+1));return a.modified.isEmpty||g.push(a),g}static clip(t,i,s){const g=[];for(const c of t){const l=c.original.intersect(i),a=c.modified.intersect(s);l&&!l.isEmpty&&a&&!a.isEmpty&&g.push(new m(l,a))}return g}constructor(t,i){this.original=t,this.modified=i}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new m(this.modified,this.original)}join(t){return new m(this.original.join(t.original),this.modified.join(t.modified))}toRangeMapping(){const t=this.original.toInclusiveRange(),i=this.modified.toInclusiveRange();if(t&&i)return new n(t,i);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new d.BugIndicatingError(\"not a valid diff\");return new n(new E.Range(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new E.Range(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new n(new E.Range(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new E.Range(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(t,i){if(b(this.original.endLineNumberExclusive,t)&&b(this.modified.endLineNumberExclusive,i))return new n(new E.Range(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new E.Range(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new n(E.Range.fromPositions(new I.Position(this.original.startLineNumber,1),_(new I.Position(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)),E.Range.fromPositions(new I.Position(this.modified.startLineNumber,1),_(new I.Position(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),i)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new n(E.Range.fromPositions(_(new I.Position(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),_(new I.Position(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)),E.Range.fromPositions(_(new I.Position(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),i),_(new I.Position(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),i)));throw new d.BugIndicatingError}}e.LineRangeMapping=m;function _(o,t){if(o.lineNumber<1)return new I.Position(1,1);if(o.lineNumber>t.length)return new I.Position(t.length,t[t.length-1].length+1);const i=t[o.lineNumber-1];return o.column>i.length+1?new I.Position(o.lineNumber,i.length+1):o}function b(o,t){return o>=1&&o<=t.length}class p extends m{static fromRangeMappings(t){const i=k.LineRange.join(t.map(g=>k.LineRange.fromRangeInclusive(g.originalRange))),s=k.LineRange.join(t.map(g=>k.LineRange.fromRangeInclusive(g.modifiedRange)));return new p(i,s,t)}constructor(t,i,s){super(t,i),this.innerChanges=s}flip(){return new p(this.modified,this.original,this.innerChanges?.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new p(this.original,this.modified,[this.toRangeMapping()])}}e.DetailedLineRangeMapping=p;class n{static assertSorted(t){for(let i=1;i<t.length;i++){const s=t[i-1],g=t[i];if(!(s.originalRange.getEndPosition().isBeforeOrEqual(g.originalRange.getStartPosition())&&s.modifiedRange.getEndPosition().isBeforeOrEqual(g.modifiedRange.getStartPosition())))throw new d.BugIndicatingError(\"Range mappings must be sorted\")}}constructor(t,i){this.originalRange=t,this.modifiedRange=i}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new n(this.modifiedRange,this.originalRange)}toTextEdit(t){const i=t.getValueOfRange(this.modifiedRange);return new y.SingleTextEdit(this.originalRange,i)}}e.RangeMapping=n}),define(ne[559],se([1,0,167,105,13,67,45,55,316,231,314,4]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.computeMovedLines=o;function o(a,r,u,C,f,h){let{moves:v,excludedChanges:w}=i(a,r,u,h);if(!h.isValid())return[];const S=a.filter(D=>!w.has(D)),L=s(S,C,f,r,u,h);return(0,I.pushMany)(v,L),v=c(v),v=v.filter(D=>{const T=D.original.toOffsetRange().slice(r).map(A=>A.trim());return T.join(`\n`).length>=15&&t(T,A=>A.length>=2)>=2}),v=l(a,v),v}function t(a,r){let u=0;for(const C of a)r(C)&&u++;return u}function i(a,r,u,C){const f=[],h=a.filter(S=>S.modified.isEmpty&&S.original.length>=3).map(S=>new b.LineRangeFragment(S.original,r,S)),v=new Set(a.filter(S=>S.original.isEmpty&&S.modified.length>=3).map(S=>new b.LineRangeFragment(S.modified,u,S))),w=new Set;for(const S of h){let L=-1,D;for(const T of v){const M=S.computeSimilarity(T);M>L&&(L=M,D=T)}if(L>.9&&D&&(v.delete(D),f.push(new k.LineRangeMapping(S.range,D.range)),w.add(S.source),w.add(D.source)),!C.isValid())return{moves:f,excludedChanges:w}}return{moves:f,excludedChanges:w}}function s(a,r,u,C,f,h){const v=[],w=new y.SetMap;for(const M of a)for(let A=M.original.startLineNumber;A<M.original.endLineNumberExclusive-2;A++){const P=`${r[A-1]}:${r[A+1-1]}:${r[A+2-1]}`;w.add(P,{range:new m.LineRange(A,A+3)})}const S=[];a.sort((0,I.compareBy)(M=>M.modified.startLineNumber,I.numberComparator));for(const M of a){let A=[];for(let P=M.modified.startLineNumber;P<M.modified.endLineNumberExclusive-2;P++){const N=`${u[P-1]}:${u[P+1-1]}:${u[P+2-1]}`,O=new m.LineRange(P,P+3),F=[];w.forEach(N,({range:x})=>{for(const V of A)if(V.originalLineRange.endLineNumberExclusive+1===x.endLineNumberExclusive&&V.modifiedLineRange.endLineNumberExclusive+1===O.endLineNumberExclusive){V.originalLineRange=new m.LineRange(V.originalLineRange.startLineNumber,x.endLineNumberExclusive),V.modifiedLineRange=new m.LineRange(V.modifiedLineRange.startLineNumber,O.endLineNumberExclusive),F.push(V);return}const W={modifiedLineRange:O,originalLineRange:x};S.push(W),F.push(W)}),A=F}if(!h.isValid())return[]}S.sort((0,I.reverseOrder)((0,I.compareBy)(M=>M.modifiedLineRange.length,I.numberComparator)));const L=new m.LineRangeSet,D=new m.LineRangeSet;for(const M of S){const A=M.modifiedLineRange.startLineNumber-M.originalLineRange.startLineNumber,P=L.subtractFrom(M.modifiedLineRange),N=D.subtractFrom(M.originalLineRange).getWithDelta(A),O=P.getIntersection(N);for(const F of O.ranges){if(F.length<3)continue;const x=F,W=F.delta(-A);v.push(new k.LineRangeMapping(W,x)),L.addRange(x),D.addRange(W)}}v.sort((0,I.compareBy)(M=>M.original.startLineNumber,I.numberComparator));const T=new E.MonotonousArray(a);for(let M=0;M<v.length;M++){const A=v[M],P=T.findLastMonotonous(H=>H.original.startLineNumber<=A.original.startLineNumber),N=(0,E.findLastMonotonous)(a,H=>H.modified.startLineNumber<=A.modified.startLineNumber),O=Math.max(A.original.startLineNumber-P.original.startLineNumber,A.modified.startLineNumber-N.modified.startLineNumber),F=T.findLastMonotonous(H=>H.original.startLineNumber<A.original.endLineNumberExclusive),x=(0,E.findLastMonotonous)(a,H=>H.modified.startLineNumber<A.modified.endLineNumberExclusive),W=Math.max(F.original.endLineNumberExclusive-A.original.endLineNumberExclusive,x.modified.endLineNumberExclusive-A.modified.endLineNumberExclusive);let V;for(V=0;V<O;V++){const H=A.original.startLineNumber-V-1,z=A.modified.startLineNumber-V-1;if(H>C.length||z>f.length||L.contains(z)||D.contains(H)||!g(C[H-1],f[z-1],h))break}V>0&&(D.addRange(new m.LineRange(A.original.startLineNumber-V,A.original.startLineNumber)),L.addRange(new m.LineRange(A.modified.startLineNumber-V,A.modified.startLineNumber)));let q;for(q=0;q<W;q++){const H=A.original.endLineNumberExclusive+q,z=A.modified.endLineNumberExclusive+q;if(H>C.length||z>f.length||L.contains(z)||D.contains(H)||!g(C[H-1],f[z-1],h))break}q>0&&(D.addRange(new m.LineRange(A.original.endLineNumberExclusive,A.original.endLineNumberExclusive+q)),L.addRange(new m.LineRange(A.modified.endLineNumberExclusive,A.modified.endLineNumberExclusive+q))),(V>0||q>0)&&(v[M]=new k.LineRangeMapping(new m.LineRange(A.original.startLineNumber-V,A.original.endLineNumberExclusive+q),new m.LineRange(A.modified.startLineNumber-V,A.modified.endLineNumberExclusive+q)))}return v}function g(a,r,u){if(a.trim()===r.trim())return!0;if(a.length>300&&r.length>300)return!1;const f=new p.MyersDiffAlgorithm().compute(new _.LinesSliceCharSequence([a],new n.Range(1,1,1,a.length),!1),new _.LinesSliceCharSequence([r],new n.Range(1,1,1,r.length),!1),u);let h=0;const v=d.SequenceDiff.invert(f.diffs,a.length);for(const D of v)D.seq1Range.forEach(T=>{(0,b.isSpace)(a.charCodeAt(T))||h++});function w(D){let T=0;for(let M=0;M<a.length;M++)(0,b.isSpace)(D.charCodeAt(M))||T++;return T}const S=w(a.length>r.length?a:r);return h/S>.6&&S>10}function c(a){if(a.length===0)return a;a.sort((0,I.compareBy)(u=>u.original.startLineNumber,I.numberComparator));const r=[a[0]];for(let u=1;u<a.length;u++){const C=r[r.length-1],f=a[u],h=f.original.startLineNumber-C.original.endLineNumberExclusive,v=f.modified.startLineNumber-C.modified.endLineNumberExclusive;if(h>=0&&v>=0&&h+v<=2){r[r.length-1]=C.join(f);continue}r.push(f)}return r}function l(a,r){const u=new E.MonotonousArray(a);return r=r.filter(C=>{const f=u.findLastMonotonous(w=>w.original.startLineNumber<C.original.endLineNumberExclusive)||new k.LineRangeMapping(new m.LineRange(1,1),new m.LineRange(1,1)),h=(0,E.findLastMonotonous)(a,w=>w.modified.startLineNumber<C.modified.endLineNumberExclusive);return f!==h}),r}}),define(ne[317],se([1,0,13,90,55,68,4,167,558,314,559,315,557,316,232,105]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DefaultLinesDiffComputer=void 0,e.lineRangeMappingFromRangeMappings=c,e.getLineRangeMapping=l;class g{constructor(){this.dynamicProgrammingDiffing=new _.DynamicProgrammingDiffing,this.myersDiffingAlgorithm=new b.MyersDiffAlgorithm}computeDiff(u,C,f){if(u.length<=1&&(0,d.equals)(u,C,(H,z)=>H===z))return new i.LinesDiff([],[],!1);if(u.length===1&&u[0].length===0||C.length===1&&C[0].length===0)return new i.LinesDiff([new s.DetailedLineRangeMapping(new I.LineRange(1,u.length+1),new I.LineRange(1,C.length+1),[new s.RangeMapping(new y.Range(1,1,u.length,u[u.length-1].length+1),new y.Range(1,1,C.length,C[C.length-1].length+1))])],[],!1);const h=f.maxComputationTimeMs===0?m.InfiniteTimeout.instance:new m.DateTimeout(f.maxComputationTimeMs),v=!f.ignoreTrimWhitespace,w=new Map;function S(H){let z=w.get(H);return z===void 0&&(z=w.size,w.set(H,z)),z}const L=u.map(H=>S(H.trim())),D=C.map(H=>S(H.trim())),T=new o.LineSequence(L,u),M=new o.LineSequence(D,C),A=T.length+M.length<1700?this.dynamicProgrammingDiffing.compute(T,M,h,(H,z)=>u[H]===C[z]?C[z].length===0?.1:1+Math.log(1+C[z].length):.99):this.myersDiffingAlgorithm.compute(T,M,h);let P=A.diffs,N=A.hitTimeout;P=(0,n.optimizeSequenceDiffs)(T,M,P),P=(0,n.removeVeryShortMatchingLinesBetweenDiffs)(T,M,P);const O=[],F=H=>{if(v)for(let z=0;z<H;z++){const U=x+z,j=W+z;if(u[U]!==C[j]){const Y=this.refineDiff(u,C,new m.SequenceDiff(new E.OffsetRange(U,U+1),new E.OffsetRange(j,j+1)),h,v);for(const G of Y.mappings)O.push(G);Y.hitTimeout&&(N=!0)}}};let x=0,W=0;for(const H of P){(0,k.assertFn)(()=>H.seq1Range.start-x===H.seq2Range.start-W);const z=H.seq1Range.start-x;F(z),x=H.seq1Range.endExclusive,W=H.seq2Range.endExclusive;const U=this.refineDiff(u,C,H,h,v);U.hitTimeout&&(N=!0);for(const j of U.mappings)O.push(j)}F(u.length-x);const V=c(O,u,C);let q=[];return f.computeMoves&&(q=this.computeMoves(V,u,C,L,D,h,v)),(0,k.assertFn)(()=>{function H(U,j){if(U.lineNumber<1||U.lineNumber>j.length)return!1;const Y=j[U.lineNumber-1];return!(U.column<1||U.column>Y.length+1)}function z(U,j){return!(U.startLineNumber<1||U.startLineNumber>j.length+1||U.endLineNumberExclusive<1||U.endLineNumberExclusive>j.length+1)}for(const U of V){if(!U.innerChanges)return!1;for(const j of U.innerChanges)if(!(H(j.modifiedRange.getStartPosition(),C)&&H(j.modifiedRange.getEndPosition(),C)&&H(j.originalRange.getStartPosition(),u)&&H(j.originalRange.getEndPosition(),u)))return!1;if(!z(U.modified,C)||!z(U.original,u))return!1}return!0}),new i.LinesDiff(V,q,N)}computeMoves(u,C,f,h,v,w,S){return(0,p.computeMovedLines)(u,C,f,h,v,w).map(T=>{const M=this.refineDiff(C,f,new m.SequenceDiff(T.original.toOffsetRange(),T.modified.toOffsetRange()),w,S),A=c(M.mappings,C,f,!0);return new i.MovedText(T,A)})}refineDiff(u,C,f,h,v){const S=a(f).toRangeMapping2(u,C),L=new t.LinesSliceCharSequence(u,S.originalRange,v),D=new t.LinesSliceCharSequence(C,S.modifiedRange,v),T=L.length+D.length<500?this.dynamicProgrammingDiffing.compute(L,D,h):this.myersDiffingAlgorithm.compute(L,D,h),M=!1;let A=T.diffs;M&&m.SequenceDiff.assertSorted(A),A=(0,n.optimizeSequenceDiffs)(L,D,A),M&&m.SequenceDiff.assertSorted(A),A=(0,n.extendDiffsToEntireWordIfAppropriate)(L,D,A),M&&m.SequenceDiff.assertSorted(A),A=(0,n.removeShortMatches)(L,D,A),M&&m.SequenceDiff.assertSorted(A),A=(0,n.removeVeryShortMatchingTextBetweenLongDiffs)(L,D,A),M&&m.SequenceDiff.assertSorted(A);const P=A.map(N=>new s.RangeMapping(L.translateRange(N.seq1Range),D.translateRange(N.seq2Range)));return M&&s.RangeMapping.assertSorted(P),{mappings:P,hitTimeout:T.hitTimeout}}}e.DefaultLinesDiffComputer=g;function c(r,u,C,f=!1){const h=[];for(const v of(0,d.groupAdjacentBy)(r.map(w=>l(w,u,C)),(w,S)=>w.original.overlapOrTouch(S.original)||w.modified.overlapOrTouch(S.modified))){const w=v[0],S=v[v.length-1];h.push(new s.DetailedLineRangeMapping(w.original.join(S.original),w.modified.join(S.modified),v.map(L=>L.innerChanges[0])))}return(0,k.assertFn)(()=>!f&&h.length>0&&(h[0].modified.startLineNumber!==h[0].original.startLineNumber||C.length-h[h.length-1].modified.endLineNumberExclusive!==u.length-h[h.length-1].original.endLineNumberExclusive)?!1:(0,k.checkAdjacentItems)(h,(v,w)=>w.original.startLineNumber-v.original.endLineNumberExclusive===w.modified.startLineNumber-v.modified.endLineNumberExclusive&&v.original.endLineNumberExclusive<w.original.startLineNumber&&v.modified.endLineNumberExclusive<w.modified.startLineNumber)),h}function l(r,u,C){let f=0,h=0;r.modifiedRange.endColumn===1&&r.originalRange.endColumn===1&&r.originalRange.startLineNumber+f<=r.originalRange.endLineNumber&&r.modifiedRange.startLineNumber+f<=r.modifiedRange.endLineNumber&&(h=-1),r.modifiedRange.startColumn-1>=C[r.modifiedRange.startLineNumber-1].length&&r.originalRange.startColumn-1>=u[r.originalRange.startLineNumber-1].length&&r.originalRange.startLineNumber<=r.originalRange.endLineNumber+h&&r.modifiedRange.startLineNumber<=r.modifiedRange.endLineNumber+h&&(f=1);const v=new I.LineRange(r.originalRange.startLineNumber+f,r.originalRange.endLineNumber+1+h),w=new I.LineRange(r.modifiedRange.startLineNumber+f,r.modifiedRange.endLineNumber+1+h);return new s.DetailedLineRangeMapping(v,w,[r])}function a(r){return new s.LineRangeMapping(new I.LineRange(r.seq1Range.start+1,r.seq1Range.endExclusive+1),new I.LineRange(r.seq2Range.start+1,r.seq2Range.endExclusive+1))}}),define(ne[560],se([1,0,190,232,105,11,4,90,55]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffComputer=e.LegacyLinesDiffComputer=void 0;const b=3;class p{computeDiff(C,f,h){const w=new c(C,f,{maxComputationTime:h.maxComputationTimeMs,shouldIgnoreTrimWhitespace:h.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),S=[];let L=null;for(const D of w.changes){let T;D.originalEndLineNumber===0?T=new _.LineRange(D.originalStartLineNumber+1,D.originalStartLineNumber+1):T=new _.LineRange(D.originalStartLineNumber,D.originalEndLineNumber+1);let M;D.modifiedEndLineNumber===0?M=new _.LineRange(D.modifiedStartLineNumber+1,D.modifiedStartLineNumber+1):M=new _.LineRange(D.modifiedStartLineNumber,D.modifiedEndLineNumber+1);let A=new I.DetailedLineRangeMapping(T,M,D.charChanges?.map(P=>new I.RangeMapping(new y.Range(P.originalStartLineNumber,P.originalStartColumn,P.originalEndLineNumber,P.originalEndColumn),new y.Range(P.modifiedStartLineNumber,P.modifiedStartColumn,P.modifiedEndLineNumber,P.modifiedEndColumn))));L&&(L.modified.endLineNumberExclusive===A.modified.startLineNumber||L.original.endLineNumberExclusive===A.original.startLineNumber)&&(A=new I.DetailedLineRangeMapping(L.original.join(A.original),L.modified.join(A.modified),L.innerChanges&&A.innerChanges?L.innerChanges.concat(A.innerChanges):void 0),S.pop()),S.push(A),L=A}return(0,m.assertFn)(()=>(0,m.checkAdjacentItems)(S,(D,T)=>T.original.startLineNumber-D.original.endLineNumberExclusive===T.modified.startLineNumber-D.modified.endLineNumberExclusive&&D.original.endLineNumberExclusive<T.original.startLineNumber&&D.modified.endLineNumberExclusive<T.modified.startLineNumber)),new k.LinesDiff(S,[],w.quitEarly)}}e.LegacyLinesDiffComputer=p;function n(u,C,f,h){return new d.LcsDiff(u,C,f).ComputeDiff(h)}class o{constructor(C){const f=[],h=[];for(let v=0,w=C.length;v<w;v++)f[v]=l(C[v],1),h[v]=a(C[v],1);this.lines=C,this._startColumns=f,this._endColumns=h}getElements(){const C=[];for(let f=0,h=this.lines.length;f<h;f++)C[f]=this.lines[f].substring(this._startColumns[f]-1,this._endColumns[f]-1);return C}getStrictElement(C){return this.lines[C]}getStartLineNumber(C){return C+1}getEndLineNumber(C){return C+1}createCharSequence(C,f,h){const v=[],w=[],S=[];let L=0;for(let D=f;D<=h;D++){const T=this.lines[D],M=C?this._startColumns[D]:1,A=C?this._endColumns[D]:T.length+1;for(let P=M;P<A;P++)v[L]=T.charCodeAt(P-1),w[L]=D+1,S[L]=P,L++;!C&&D<h&&(v[L]=10,w[L]=D+1,S[L]=T.length+1,L++)}return new t(v,w,S)}}class t{constructor(C,f,h){this._charCodes=C,this._lineNumbers=f,this._columns=h}toString(){return\"[\"+this._charCodes.map((C,f)=>(C===10?\"\\\\n\":String.fromCharCode(C))+`-(${this._lineNumbers[f]},${this._columns[f]})`).join(\", \")+\"]\"}_assertIndex(C,f){if(C<0||C>=f.length)throw new Error(\"Illegal index\")}getElements(){return this._charCodes}getStartLineNumber(C){return C>0&&C===this._lineNumbers.length?this.getEndLineNumber(C-1):(this._assertIndex(C,this._lineNumbers),this._lineNumbers[C])}getEndLineNumber(C){return C===-1?this.getStartLineNumber(C+1):(this._assertIndex(C,this._lineNumbers),this._charCodes[C]===10?this._lineNumbers[C]+1:this._lineNumbers[C])}getStartColumn(C){return C>0&&C===this._columns.length?this.getEndColumn(C-1):(this._assertIndex(C,this._columns),this._columns[C])}getEndColumn(C){return C===-1?this.getStartColumn(C+1):(this._assertIndex(C,this._columns),this._charCodes[C]===10?1:this._columns[C]+1)}}class i{constructor(C,f,h,v,w,S,L,D){this.originalStartLineNumber=C,this.originalStartColumn=f,this.originalEndLineNumber=h,this.originalEndColumn=v,this.modifiedStartLineNumber=w,this.modifiedStartColumn=S,this.modifiedEndLineNumber=L,this.modifiedEndColumn=D}static createFromDiffChange(C,f,h){const v=f.getStartLineNumber(C.originalStart),w=f.getStartColumn(C.originalStart),S=f.getEndLineNumber(C.originalStart+C.originalLength-1),L=f.getEndColumn(C.originalStart+C.originalLength-1),D=h.getStartLineNumber(C.modifiedStart),T=h.getStartColumn(C.modifiedStart),M=h.getEndLineNumber(C.modifiedStart+C.modifiedLength-1),A=h.getEndColumn(C.modifiedStart+C.modifiedLength-1);return new i(v,w,S,L,D,T,M,A)}}function s(u){if(u.length<=1)return u;const C=[u[0]];let f=C[0];for(let h=1,v=u.length;h<v;h++){const w=u[h],S=w.originalStart-(f.originalStart+f.originalLength),L=w.modifiedStart-(f.modifiedStart+f.modifiedLength);Math.min(S,L)<b?(f.originalLength=w.originalStart+w.originalLength-f.originalStart,f.modifiedLength=w.modifiedStart+w.modifiedLength-f.modifiedStart):(C.push(w),f=w)}return C}class g{constructor(C,f,h,v,w){this.originalStartLineNumber=C,this.originalEndLineNumber=f,this.modifiedStartLineNumber=h,this.modifiedEndLineNumber=v,this.charChanges=w}static createFromDiffResult(C,f,h,v,w,S,L){let D,T,M,A,P;if(f.originalLength===0?(D=h.getStartLineNumber(f.originalStart)-1,T=0):(D=h.getStartLineNumber(f.originalStart),T=h.getEndLineNumber(f.originalStart+f.originalLength-1)),f.modifiedLength===0?(M=v.getStartLineNumber(f.modifiedStart)-1,A=0):(M=v.getStartLineNumber(f.modifiedStart),A=v.getEndLineNumber(f.modifiedStart+f.modifiedLength-1)),S&&f.originalLength>0&&f.originalLength<20&&f.modifiedLength>0&&f.modifiedLength<20&&w()){const N=h.createCharSequence(C,f.originalStart,f.originalStart+f.originalLength-1),O=v.createCharSequence(C,f.modifiedStart,f.modifiedStart+f.modifiedLength-1);if(N.getElements().length>0&&O.getElements().length>0){let F=n(N,O,w,!0).changes;L&&(F=s(F)),P=[];for(let x=0,W=F.length;x<W;x++)P.push(i.createFromDiffChange(F[x],N,O))}}return new g(D,T,M,A,P)}}class c{constructor(C,f,h){this.shouldComputeCharChanges=h.shouldComputeCharChanges,this.shouldPostProcessCharChanges=h.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=h.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=h.shouldMakePrettyDiff,this.originalLines=C,this.modifiedLines=f,this.original=new o(C),this.modified=new o(f),this.continueLineDiff=r(h.maxComputationTime),this.continueCharDiff=r(h.maxComputationTime===0?0:Math.min(h.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};const C=n(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),f=C.changes,h=C.quitEarly;if(this.shouldIgnoreTrimWhitespace){const L=[];for(let D=0,T=f.length;D<T;D++)L.push(g.createFromDiffResult(this.shouldIgnoreTrimWhitespace,f[D],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:h,changes:L}}const v=[];let w=0,S=0;for(let L=-1,D=f.length;L<D;L++){const T=L+1<D?f[L+1]:null,M=T?T.originalStart:this.originalLines.length,A=T?T.modifiedStart:this.modifiedLines.length;for(;w<M&&S<A;){const P=this.originalLines[w],N=this.modifiedLines[S];if(P!==N){{let O=l(P,1),F=l(N,1);for(;O>1&&F>1;){const x=P.charCodeAt(O-2),W=N.charCodeAt(F-2);if(x!==W)break;O--,F--}(O>1||F>1)&&this._pushTrimWhitespaceCharChange(v,w+1,1,O,S+1,1,F)}{let O=a(P,1),F=a(N,1);const x=P.length+1,W=N.length+1;for(;O<x&&F<W;){const V=P.charCodeAt(O-1),q=P.charCodeAt(F-1);if(V!==q)break;O++,F++}(O<x||F<W)&&this._pushTrimWhitespaceCharChange(v,w+1,O,x,S+1,F,W)}}w++,S++}T&&(v.push(g.createFromDiffResult(this.shouldIgnoreTrimWhitespace,T,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),w+=T.originalLength,S+=T.modifiedLength)}return{quitEarly:h,changes:v}}_pushTrimWhitespaceCharChange(C,f,h,v,w,S,L){if(this._mergeTrimWhitespaceCharChange(C,f,h,v,w,S,L))return;let D;this.shouldComputeCharChanges&&(D=[new i(f,h,f,v,w,S,w,L)]),C.push(new g(f,f,w,w,D))}_mergeTrimWhitespaceCharChange(C,f,h,v,w,S,L){const D=C.length;if(D===0)return!1;const T=C[D-1];return T.originalEndLineNumber===0||T.modifiedEndLineNumber===0?!1:T.originalEndLineNumber===f&&T.modifiedEndLineNumber===w?(this.shouldComputeCharChanges&&T.charChanges&&T.charChanges.push(new i(f,h,f,v,w,S,w,L)),!0):T.originalEndLineNumber+1===f&&T.modifiedEndLineNumber+1===w?(T.originalEndLineNumber=f,T.modifiedEndLineNumber=w,this.shouldComputeCharChanges&&T.charChanges&&T.charChanges.push(new i(f,h,f,v,w,S,w,L)),!0):!1}}e.DiffComputer=c;function l(u,C){const f=E.firstNonWhitespaceIndex(u);return f===-1?C:f+1}function a(u,C){const f=E.lastNonWhitespaceIndex(u);return f===-1?C:f+2}function r(u){if(u===0)return()=>!0;const C=Date.now();return()=>Date.now()-C<u}}),define(ne[561],se([1,0,560,317]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.linesDiffComputers=void 0,e.linesDiffComputers={getLegacy:()=>new d.LegacyLinesDiffComputer,getDefault:()=>new k.DefaultLinesDiffComputer}}),define(ne[318],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InternalEditorAction=void 0;class d{constructor(I,E,y,m,_,b,p){this.id=I,this.label=E,this.alias=y,this.metadata=m,this._precondition=_,this._run=b,this._contextKeyService=p}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(I){return this.isSupported()?this._run(I):Promise.resolve(void 0)}}e.InternalEditorAction=d}),define(ne[198],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorType=void 0,e.EditorType={ICodeEditor:\"vs.editor.ICodeEditor\",IDiffEditor:\"vs.editor.IDiffEditor\"}}),define(ne[168],se([1,0,198]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isCodeEditor=k,e.isDiffEditor=I,e.isCompositeEditor=E,e.getCodeEditor=y;function k(m){return m&&typeof m.getEditorType==\"function\"?m.getEditorType()===d.EditorType.ICodeEditor:!1}function I(m){return m&&typeof m.getEditorType==\"function\"?m.getEditorType()===d.EditorType.IDiffEditor:!1}function E(m){return!!m&&typeof m==\"object\"&&typeof m.onDidChangeActiveEditor==\"function\"}function y(m){return k(m)?m:I(m)?m.getModifiedEditor():E(m)&&k(m.activeCodeEditor)?m.activeCodeEditor:null}}),define(ne[130],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.registerEditorFeature=k,e.getEditorFeatures=I;const d=[];function k(E){d.push(E)}function I(){return d.slice(0)}}),define(ne[562],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorTheme=void 0;class d{get type(){return this._theme.type}get value(){return this._theme}constructor(I){this._theme=I}update(I){this._theme=I}getColor(I){return this._theme.getColor(I)}}e.EditorTheme=d}),define(ne[148],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenMetadata=void 0;class d{static getLanguageId(I){return(I&255)>>>0}static getTokenType(I){return(I&768)>>>8}static containsBalancedBrackets(I){return(I&1024)!==0}static getFontStyle(I){return(I&30720)>>>11}static getForeground(I){return(I&16744448)>>>15}static getBackground(I){return(I&4278190080)>>>24}static getClassNameFromMetadata(I){let y=\"mtk\"+this.getForeground(I);const m=this.getFontStyle(I);return m&1&&(y+=\" mtki\"),m&2&&(y+=\" mtkb\"),m&4&&(y+=\" mtku\"),m&8&&(y+=\" mtks\"),y}static getInlineStyleFromMetadata(I,E){const y=this.getForeground(I),m=this.getFontStyle(I);let _=`color: ${E[y]};`;m&1&&(_+=\"font-style: italic;\"),m&2&&(_+=\"font-weight: bold;\");let b=\"\";return m&4&&(b+=\" underline\"),m&8&&(b+=\" line-through\"),b&&(_+=`text-decoration:${b};`),_}static getPresentationFromMetadata(I){const E=this.getForeground(I),y=this.getFontStyle(I);return{foreground:E,italic:!!(y&1),bold:!!(y&2),underline:!!(y&4),strikethrough:!!(y&8)}}}e.TokenMetadata=d}),define(ne[563],se([1,0,33]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.computeDefaultDocumentColors=n;function k(o){const t=[];for(const i of o){const s=Number(i);(s||s===0&&i.replace(/\\s/g,\"\")!==\"\")&&t.push(s)}return t}function I(o,t,i,s){return{red:o/255,blue:i/255,green:t/255,alpha:s}}function E(o,t){const i=t.index,s=t[0].length;if(!i)return;const g=o.positionAt(i);return{startLineNumber:g.lineNumber,startColumn:g.column,endLineNumber:g.lineNumber,endColumn:g.column+s}}function y(o,t){if(!o)return;const i=d.Color.Format.CSS.parseHex(t);if(i)return{range:o,color:I(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}}function m(o,t,i){if(!o||t.length!==1)return;const g=t[0].values(),c=k(g);return{range:o,color:I(c[0],c[1],c[2],i?c[3]:1)}}function _(o,t,i){if(!o||t.length!==1)return;const g=t[0].values(),c=k(g),l=new d.Color(new d.HSLA(c[0],c[1]/100,c[2]/100,i?c[3]:1));return{range:o,color:I(l.rgba.r,l.rgba.g,l.rgba.b,l.rgba.a)}}function b(o,t){return typeof o==\"string\"?[...o.matchAll(t)]:o.findMatches(t)}function p(o){const t=[],s=b(o,/\\b(rgb|rgba|hsl|hsla)(\\([0-9\\s,.\\%]*\\))|(#)([A-Fa-f0-9]{3})\\b|(#)([A-Fa-f0-9]{4})\\b|(#)([A-Fa-f0-9]{6})\\b|(#)([A-Fa-f0-9]{8})\\b/gm);if(s.length>0)for(const g of s){const c=g.filter(u=>u!==void 0),l=c[1],a=c[2];if(!a)continue;let r;if(l===\"rgb\"){const u=/^\\(\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*\\)$/gm;r=m(E(o,g),b(a,u),!1)}else if(l===\"rgba\"){const u=/^\\(\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*,\\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\\s*\\)$/gm;r=m(E(o,g),b(a,u),!0)}else if(l===\"hsl\"){const u=/^\\(\\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\\s*,\\s*(100|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*,\\s*(100|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*\\)$/gm;r=_(E(o,g),b(a,u),!1)}else if(l===\"hsla\"){const u=/^\\(\\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\\s*,\\s*(100|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*,\\s*(100|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*,\\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\\s*\\)$/gm;r=_(E(o,g),b(a,u),!0)}else l===\"#\"&&(r=y(E(o,g),l+a));r&&t.push(r)}return t}function n(o){return!o||typeof o.getValue!=\"function\"||typeof o.positionAt!=\"function\"?[]:p(o)}}),define(ne[131],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoClosingPairs=e.StandardAutoClosingPairConditional=e.IndentAction=void 0;var d;(function(y){y[y.None=0]=\"None\",y[y.Indent=1]=\"Indent\",y[y.IndentOutdent=2]=\"IndentOutdent\",y[y.Outdent=3]=\"Outdent\"})(d||(e.IndentAction=d={}));class k{constructor(m){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=m.open,this.close=m.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(m.notIn))for(let _=0,b=m.notIn.length;_<b;_++)switch(m.notIn[_]){case\"string\":this._inString=!1;break;case\"comment\":this._inComment=!1;break;case\"regex\":this._inRegEx=!1;break}}isOK(m){switch(m){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(m,_){if(m.getTokenCount()===0)return!0;const b=m.findTokenIndexAtOffset(_-2),p=m.getStandardTokenType(b);return this.isOK(p)}_findNeutralCharacterInRange(m,_){for(let b=m;b<=_;b++){const p=String.fromCharCode(b);if(!this.open.includes(p)&&!this.close.includes(p))return p}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}e.StandardAutoClosingPairConditional=k;class I{constructor(m){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const _ of m)E(this.autoClosingPairsOpenByStart,_.open.charAt(0),_),E(this.autoClosingPairsOpenByEnd,_.open.charAt(_.open.length-1),_),E(this.autoClosingPairsCloseByStart,_.close.charAt(0),_),E(this.autoClosingPairsCloseByEnd,_.close.charAt(_.close.length-1),_),_.close.length===1&&_.open.length===1&&E(this.autoClosingPairsCloseSingleChar,_.close,_)}}e.AutoClosingPairs=I;function E(y,m,_){y.has(m)?y.get(m).push(_):y.set(m,[_])}}),define(ne[564],se([1,0,144]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinkComputer=e.StateMachine=void 0,e.computeLinks=p;class k{constructor(o,t,i){const s=new Uint8Array(o*t);for(let g=0,c=o*t;g<c;g++)s[g]=i;this._data=s,this.rows=o,this.cols=t}get(o,t){return this._data[o*this.cols+t]}set(o,t,i){this._data[o*this.cols+t]=i}}class I{constructor(o){let t=0,i=0;for(let g=0,c=o.length;g<c;g++){const[l,a,r]=o[g];a>t&&(t=a),l>i&&(i=l),r>i&&(i=r)}t++,i++;const s=new k(i,t,0);for(let g=0,c=o.length;g<c;g++){const[l,a,r]=o[g];s.set(l,a,r)}this._states=s,this._maxCharCode=t}nextState(o,t){return t<0||t>=this._maxCharCode?0:this._states.get(o,t)}}e.StateMachine=I;let E=null;function y(){return E===null&&(E=new I([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),E}let m=null;function _(){if(m===null){m=new d.CharacterClassifier(0);const n=` \t<>'\"\\u3001\\u3002\\uFF61\\uFF64\\uFF0C\\uFF0E\\uFF1A\\uFF1B\\u2018\\u3008\\u300C\\u300E\\u3014\\uFF08\\uFF3B\\uFF5B\\uFF62\\uFF63\\uFF5D\\uFF3D\\uFF09\\u3015\\u300F\\u300D\\u3009\\u2019\\uFF40\\uFF5E\\u2026`;for(let t=0;t<n.length;t++)m.set(n.charCodeAt(t),1);const o=\".,;:\";for(let t=0;t<o.length;t++)m.set(o.charCodeAt(t),2)}return m}class b{static _createLink(o,t,i,s,g){let c=g-1;do{const l=t.charCodeAt(c);if(o.get(l)!==2)break;c--}while(c>s);if(s>0){const l=t.charCodeAt(s-1),a=t.charCodeAt(c);(l===40&&a===41||l===91&&a===93||l===123&&a===125)&&c--}return{range:{startLineNumber:i,startColumn:s+1,endLineNumber:i,endColumn:c+2},url:t.substring(s,c+1)}}static computeLinks(o,t=y()){const i=_(),s=[];for(let g=1,c=o.getLineCount();g<=c;g++){const l=o.getLineContent(g),a=l.length;let r=0,u=0,C=0,f=1,h=!1,v=!1,w=!1,S=!1;for(;r<a;){let L=!1;const D=l.charCodeAt(r);if(f===13){let T;switch(D){case 40:h=!0,T=0;break;case 41:T=h?0:1;break;case 91:w=!0,v=!0,T=0;break;case 93:w=!1,T=v?0:1;break;case 123:S=!0,T=0;break;case 125:T=S?0:1;break;case 39:case 34:case 96:C===D?T=1:C===39||C===34||C===96?T=0:T=1;break;case 42:T=C===42?1:0;break;case 124:T=C===124?1:0;break;case 32:T=w?0:1;break;default:T=i.get(D)}T===1&&(s.push(b._createLink(i,l,g,u,r)),L=!0)}else if(f===12){let T;D===91?(v=!0,T=0):T=i.get(D),T===1?L=!0:f=13}else f=t.nextState(f,D),f===0&&(L=!0);L&&(f=1,h=!1,v=!1,S=!1,u=r+1,C=D),r++}f===13&&s.push(b._createLink(i,l,g,u,a))}return s}}e.LinkComputer=b;function p(n){return!n||typeof n.getLineCount!=\"function\"||typeof n.getLineContent!=\"function\"?[]:b.computeLinks(n)}}),define(ne[169],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ScopedLineTokens=void 0,e.createScopedLineTokens=d,e.ignoreBracketsInToken=I;function d(E,y){const m=E.getCount(),_=E.findTokenIndexAtOffset(y),b=E.getLanguageId(_);let p=_;for(;p+1<m&&E.getLanguageId(p+1)===b;)p++;let n=_;for(;n>0&&E.getLanguageId(n-1)===b;)n--;return new k(E,b,n,p+1,E.getStartOffset(n),E.getEndOffset(p))}class k{constructor(y,m,_,b,p,n){this._scopedLineTokensBrand=void 0,this._actual=y,this.languageId=m,this._firstTokenIndex=_,this._lastTokenIndex=b,this.firstCharOffset=p,this._lastCharOffset=n,this.languageIdCodec=y.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(y){return this._actual.getLineContent().substring(0,this.firstCharOffset+y)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(y){return this._actual.findTokenIndexAtOffset(y+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(y){return this._actual.getStandardTokenType(y+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}e.ScopedLineTokens=k;function I(E){return(E&3)!==0}}),define(ne[76],se([1,0,9,4,23,169,94,230]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditOperationResult=e.SingleCursorState=e.PartialViewCursorState=e.PartialModelCursorState=e.CursorState=e.CursorConfiguration=void 0,e.isQuote=c;const _=()=>!0,b=()=>!1,p=l=>l===\" \"||l===\"\t\";class n{static shouldRecreate(a){return a.hasChanged(146)||a.hasChanged(132)||a.hasChanged(37)||a.hasChanged(77)||a.hasChanged(79)||a.hasChanged(80)||a.hasChanged(6)||a.hasChanged(7)||a.hasChanged(11)||a.hasChanged(9)||a.hasChanged(10)||a.hasChanged(14)||a.hasChanged(129)||a.hasChanged(50)||a.hasChanged(92)||a.hasChanged(131)}constructor(a,r,u,C){this.languageConfigurationService=C,this._cursorMoveConfigurationBrand=void 0,this._languageId=a;const f=u.options,h=f.get(146),v=f.get(50);this.readOnly=f.get(92),this.tabSize=r.tabSize,this.indentSize=r.indentSize,this.insertSpaces=r.insertSpaces,this.stickyTabStops=f.get(117),this.lineHeight=v.lineHeight,this.typicalHalfwidthCharacterWidth=v.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(h.height/this.lineHeight)-2),this.useTabStops=f.get(129),this.wordSeparators=f.get(132),this.emptySelectionClipboard=f.get(37),this.copyWithSyntaxHighlighting=f.get(25),this.multiCursorMergeOverlapping=f.get(77),this.multiCursorPaste=f.get(79),this.multiCursorLimit=f.get(80),this.autoClosingBrackets=f.get(6),this.autoClosingComments=f.get(7),this.autoClosingQuotes=f.get(11),this.autoClosingDelete=f.get(9),this.autoClosingOvertype=f.get(10),this.autoSurround=f.get(14),this.autoIndent=f.get(12),this.wordSegmenterLocales=f.get(131),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(a,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(a,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(a,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(a).getAutoClosingPairs();const w=this.languageConfigurationService.getLanguageConfiguration(a).getSurroundingPairs();if(w)for(const L of w)this.surroundingPairs[L.open]=L.close;const S=this.languageConfigurationService.getLanguageConfiguration(a).comments;this.blockCommentStartToken=S?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};const a=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(a)for(const r of a)this._electricChars[r]=!0}return this._electricChars}onElectricCharacter(a,r,u){const C=(0,E.createScopedLineTokens)(r,u-1),f=this.languageConfigurationService.getLanguageConfiguration(C.languageId).electricCharacter;return f?f.onElectricCharacter(a,C,u-C.firstCharOffset):null}normalizeIndentation(a){return(0,m.normalizeIndentation)(a,this.indentSize,this.insertSpaces)}_getShouldAutoClose(a,r,u){switch(r){case\"beforeWhitespace\":return p;case\"languageDefined\":return this._getLanguageDefinedShouldAutoClose(a,u);case\"always\":return _;case\"never\":return b}}_getLanguageDefinedShouldAutoClose(a,r){const u=this.languageConfigurationService.getLanguageConfiguration(a).getAutoCloseBeforeSet(r);return C=>u.indexOf(C)!==-1}visibleColumnFromColumn(a,r){return y.CursorColumns.visibleColumnFromColumn(a.getLineContent(r.lineNumber),r.column,this.tabSize)}columnFromVisibleColumn(a,r,u){const C=y.CursorColumns.columnFromVisibleColumn(a.getLineContent(r),u,this.tabSize),f=a.getLineMinColumn(r);if(C<f)return f;const h=a.getLineMaxColumn(r);return C>h?h:C}}e.CursorConfiguration=n;class o{static fromModelState(a){return new t(a)}static fromViewState(a){return new i(a)}static fromModelSelection(a){const r=I.Selection.liftSelection(a),u=new s(k.Range.fromPositions(r.getSelectionStart()),0,0,r.getPosition(),0);return o.fromModelState(u)}static fromModelSelections(a){const r=[];for(let u=0,C=a.length;u<C;u++)r[u]=this.fromModelSelection(a[u]);return r}constructor(a,r){this._cursorStateBrand=void 0,this.modelState=a,this.viewState=r}equals(a){return this.viewState.equals(a.viewState)&&this.modelState.equals(a.modelState)}}e.CursorState=o;class t{constructor(a){this.modelState=a,this.viewState=null}}e.PartialModelCursorState=t;class i{constructor(a){this.modelState=null,this.viewState=a}}e.PartialViewCursorState=i;class s{constructor(a,r,u,C,f){this.selectionStart=a,this.selectionStartKind=r,this.selectionStartLeftoverVisibleColumns=u,this.position=C,this.leftoverVisibleColumns=f,this._singleCursorStateBrand=void 0,this.selection=s._computeSelection(this.selectionStart,this.position)}equals(a){return this.selectionStartLeftoverVisibleColumns===a.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===a.leftoverVisibleColumns&&this.selectionStartKind===a.selectionStartKind&&this.position.equals(a.position)&&this.selectionStart.equalsRange(a.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(a,r,u,C){return a?new s(this.selectionStart,this.selectionStartKind,this.selectionStartLeftoverVisibleColumns,new d.Position(r,u),C):new s(new k.Range(r,u,r,u),0,C,new d.Position(r,u),C)}static _computeSelection(a,r){return a.isEmpty()||!r.isBeforeOrEqual(a.getStartPosition())?I.Selection.fromPositions(a.getStartPosition(),r):I.Selection.fromPositions(a.getEndPosition(),r)}}e.SingleCursorState=s;class g{constructor(a,r,u){this._editOperationResultBrand=void 0,this.type=a,this.commands=r,this.shouldPushStackElementBefore=u.shouldPushStackElementBefore,this.shouldPushStackElementAfter=u.shouldPushStackElementAfter}}e.EditOperationResult=g;function c(l){return l===\"'\"||l==='\"'||l===\"`\"}}),define(ne[565],se([1,0,76,9,4]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ColumnSelection=void 0;class E{static columnSelect(m,_,b,p,n,o){const t=Math.abs(n-b)+1,i=b>n,s=p>o,g=p<o,c=[];for(let l=0;l<t;l++){const a=b+(i?-l:l),r=m.columnFromVisibleColumn(_,a,p),u=m.columnFromVisibleColumn(_,a,o),C=m.visibleColumnFromColumn(_,new k.Position(a,r)),f=m.visibleColumnFromColumn(_,new k.Position(a,u));g&&(C>o||f<p)||s&&(f>p||C<o)||c.push(new d.SingleCursorState(new I.Range(a,r,a,r),0,0,new k.Position(a,u),0))}if(c.length===0)for(let l=0;l<t;l++){const a=b+(i?-l:l),r=_.getLineMaxColumn(a);c.push(new d.SingleCursorState(new I.Range(a,r,a,r),0,0,new k.Position(a,r),0))}return{viewStates:c,reversed:i,fromLineNumber:b,fromVisualColumn:p,toLineNumber:n,toVisualColumn:o}}static columnSelectLeft(m,_,b){let p=b.toViewVisualColumn;return p>0&&p--,E.columnSelect(m,_,b.fromViewLineNumber,b.fromViewVisualColumn,b.toViewLineNumber,p)}static columnSelectRight(m,_,b){let p=0;const n=Math.min(b.fromViewLineNumber,b.toViewLineNumber),o=Math.max(b.fromViewLineNumber,b.toViewLineNumber);for(let i=n;i<=o;i++){const s=_.getLineMaxColumn(i),g=m.visibleColumnFromColumn(_,new k.Position(i,s));p=Math.max(p,g)}let t=b.toViewVisualColumn;return t<p&&t++,this.columnSelect(m,_,b.fromViewLineNumber,b.fromViewVisualColumn,b.toViewLineNumber,t)}static columnSelectUp(m,_,b,p){const n=p?m.pageSize:1,o=Math.max(1,b.toViewLineNumber-n);return this.columnSelect(m,_,b.fromViewLineNumber,b.fromViewVisualColumn,o,b.toViewVisualColumn)}static columnSelectDown(m,_,b,p){const n=p?m.pageSize:1,o=Math.min(_.getLineCount(),b.toViewLineNumber+n);return this.columnSelect(m,_,b.fromViewLineNumber,b.fromViewVisualColumn,o,b.toViewVisualColumn)}}e.ColumnSelection=E}),define(ne[233],se([1,0,11,94,9,4,313,76]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MoveOperations=e.CursorPosition=void 0;class _{constructor(n,o,t){this._cursorPositionBrand=void 0,this.lineNumber=n,this.column=o,this.leftoverVisibleColumns=t}}e.CursorPosition=_;class b{static leftPosition(n,o){if(o.column>n.getLineMinColumn(o.lineNumber))return o.delta(void 0,-d.prevCharLength(n.getLineContent(o.lineNumber),o.column-1));if(o.lineNumber>1){const t=o.lineNumber-1;return new I.Position(t,n.getLineMaxColumn(t))}else return o}static leftPositionAtomicSoftTabs(n,o,t){if(o.column<=n.getLineIndentColumn(o.lineNumber)){const i=n.getLineMinColumn(o.lineNumber),s=n.getLineContent(o.lineNumber),g=y.AtomicTabMoveOperations.atomicPosition(s,o.column-1,t,0);if(g!==-1&&g+1>=i)return new I.Position(o.lineNumber,g+1)}return this.leftPosition(n,o)}static left(n,o,t){const i=n.stickyTabStops?b.leftPositionAtomicSoftTabs(o,t,n.tabSize):b.leftPosition(o,t);return new _(i.lineNumber,i.column,0)}static moveLeft(n,o,t,i,s){let g,c;if(t.hasSelection()&&!i)g=t.selection.startLineNumber,c=t.selection.startColumn;else{const l=t.position.delta(void 0,-(s-1)),a=o.normalizePosition(b.clipPositionColumn(l,o),0),r=b.left(n,o,a);g=r.lineNumber,c=r.column}return t.move(i,g,c,0)}static clipPositionColumn(n,o){return new I.Position(n.lineNumber,b.clipRange(n.column,o.getLineMinColumn(n.lineNumber),o.getLineMaxColumn(n.lineNumber)))}static clipRange(n,o,t){return n<o?o:n>t?t:n}static rightPosition(n,o,t){return t<n.getLineMaxColumn(o)?t=t+d.nextCharLength(n.getLineContent(o),t-1):o<n.getLineCount()&&(o=o+1,t=n.getLineMinColumn(o)),new I.Position(o,t)}static rightPositionAtomicSoftTabs(n,o,t,i,s){if(t<n.getLineIndentColumn(o)){const g=n.getLineContent(o),c=y.AtomicTabMoveOperations.atomicPosition(g,t-1,i,1);if(c!==-1)return new I.Position(o,c+1)}return this.rightPosition(n,o,t)}static right(n,o,t){const i=n.stickyTabStops?b.rightPositionAtomicSoftTabs(o,t.lineNumber,t.column,n.tabSize,n.indentSize):b.rightPosition(o,t.lineNumber,t.column);return new _(i.lineNumber,i.column,0)}static moveRight(n,o,t,i,s){let g,c;if(t.hasSelection()&&!i)g=t.selection.endLineNumber,c=t.selection.endColumn;else{const l=t.position.delta(void 0,s-1),a=o.normalizePosition(b.clipPositionColumn(l,o),1),r=b.right(n,o,a);g=r.lineNumber,c=r.column}return t.move(i,g,c,0)}static vertical(n,o,t,i,s,g,c,l){const a=k.CursorColumns.visibleColumnFromColumn(o.getLineContent(t),i,n.tabSize)+s,r=o.getLineCount(),u=t===1&&i===1,C=t===r&&i===o.getLineMaxColumn(t),f=g<t?u:C;if(t=g,t<1?(t=1,c?i=o.getLineMinColumn(t):i=Math.min(o.getLineMaxColumn(t),i)):t>r?(t=r,c?i=o.getLineMaxColumn(t):i=Math.min(o.getLineMaxColumn(t),i)):i=n.columnFromVisibleColumn(o,t,a),f?s=0:s=a-k.CursorColumns.visibleColumnFromColumn(o.getLineContent(t),i,n.tabSize),l!==void 0){const h=new I.Position(t,i),v=o.normalizePosition(h,l);s=s+(i-v.column),t=v.lineNumber,i=v.column}return new _(t,i,s)}static down(n,o,t,i,s,g,c){return this.vertical(n,o,t,i,s,t+g,c,4)}static moveDown(n,o,t,i,s){let g,c;t.hasSelection()&&!i?(g=t.selection.endLineNumber,c=t.selection.endColumn):(g=t.position.lineNumber,c=t.position.column);let l=0,a;do if(a=b.down(n,o,g+l,c,t.leftoverVisibleColumns,s,!0),o.normalizePosition(new I.Position(a.lineNumber,a.column),2).lineNumber>g)break;while(l++<10&&g+l<o.getLineCount());return t.move(i,a.lineNumber,a.column,a.leftoverVisibleColumns)}static translateDown(n,o,t){const i=t.selection,s=b.down(n,o,i.selectionStartLineNumber,i.selectionStartColumn,t.selectionStartLeftoverVisibleColumns,1,!1),g=b.down(n,o,i.positionLineNumber,i.positionColumn,t.leftoverVisibleColumns,1,!1);return new m.SingleCursorState(new E.Range(s.lineNumber,s.column,s.lineNumber,s.column),0,s.leftoverVisibleColumns,new I.Position(g.lineNumber,g.column),g.leftoverVisibleColumns)}static up(n,o,t,i,s,g,c){return this.vertical(n,o,t,i,s,t-g,c,3)}static moveUp(n,o,t,i,s){let g,c;t.hasSelection()&&!i?(g=t.selection.startLineNumber,c=t.selection.startColumn):(g=t.position.lineNumber,c=t.position.column);const l=b.up(n,o,g,c,t.leftoverVisibleColumns,s,!0);return t.move(i,l.lineNumber,l.column,l.leftoverVisibleColumns)}static translateUp(n,o,t){const i=t.selection,s=b.up(n,o,i.selectionStartLineNumber,i.selectionStartColumn,t.selectionStartLeftoverVisibleColumns,1,!1),g=b.up(n,o,i.positionLineNumber,i.positionColumn,t.leftoverVisibleColumns,1,!1);return new m.SingleCursorState(new E.Range(s.lineNumber,s.column,s.lineNumber,s.column),0,s.leftoverVisibleColumns,new I.Position(g.lineNumber,g.column),g.leftoverVisibleColumns)}static _isBlankLine(n,o){return n.getLineFirstNonWhitespaceColumn(o)===0}static moveToPrevBlankLine(n,o,t,i){let s=t.position.lineNumber;for(;s>1&&this._isBlankLine(o,s);)s--;for(;s>1&&!this._isBlankLine(o,s);)s--;return t.move(i,s,o.getLineMinColumn(s),0)}static moveToNextBlankLine(n,o,t,i){const s=o.getLineCount();let g=t.position.lineNumber;for(;g<s&&this._isBlankLine(o,g);)g++;for(;g<s&&!this._isBlankLine(o,g);)g++;return t.move(i,g,o.getLineMinColumn(g),0)}static moveToBeginningOfLine(n,o,t,i){const s=t.position.lineNumber,g=o.getLineMinColumn(s),c=o.getLineFirstNonWhitespaceColumn(s)||g;let l;return t.position.column===c?l=g:l=c,t.move(i,s,l,0)}static moveToEndOfLine(n,o,t,i,s){const g=t.position.lineNumber,c=o.getLineMaxColumn(g);return t.move(i,g,c,s?1073741824-c:0)}static moveToBeginningOfBuffer(n,o,t,i){return t.move(i,1,1,0)}static moveToEndOfBuffer(n,o,t,i){const s=o.getLineCount(),g=o.getLineMaxColumn(s);return t.move(i,s,g,0)}}e.MoveOperations=b}),define(ne[234],se([1,0,11,146,76,94,233,4,9]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DeleteOperations=void 0;class b{static deleteRight(n,o,t,i){const s=[];let g=n!==3;for(let c=0,l=i.length;c<l;c++){const a=i[c];let r=a;if(r.isEmpty()){const u=a.getPosition(),C=y.MoveOperations.right(o,t,u);r=new m.Range(C.lineNumber,C.column,u.lineNumber,u.column)}if(r.isEmpty()){s[c]=null;continue}r.startLineNumber!==r.endLineNumber&&(g=!0),s[c]=new k.ReplaceCommand(r,\"\")}return[g,s]}static isAutoClosingPairDelete(n,o,t,i,s,g,c){if(o===\"never\"&&t===\"never\"||n===\"never\")return!1;for(let l=0,a=g.length;l<a;l++){const r=g[l],u=r.getPosition();if(!r.isEmpty())return!1;const C=s.getLineContent(u.lineNumber);if(u.column<2||u.column>=C.length+1)return!1;const f=C.charAt(u.column-2),h=i.get(f);if(!h)return!1;if((0,I.isQuote)(f)){if(t===\"never\")return!1}else if(o===\"never\")return!1;const v=C.charAt(u.column-1);let w=!1;for(const S of h)S.open===f&&S.close===v&&(w=!0);if(!w)return!1;if(n===\"auto\"){let S=!1;for(let L=0,D=c.length;L<D;L++){const T=c[L];if(u.lineNumber===T.startLineNumber&&u.column===T.startColumn){S=!0;break}}if(!S)return!1}}return!0}static _runAutoClosingPairDelete(n,o,t){const i=[];for(let s=0,g=t.length;s<g;s++){const c=t[s].getPosition(),l=new m.Range(c.lineNumber,c.column-1,c.lineNumber,c.column+1);i[s]=new k.ReplaceCommand(l,\"\")}return[!0,i]}static deleteLeft(n,o,t,i,s){if(this.isAutoClosingPairDelete(o.autoClosingDelete,o.autoClosingBrackets,o.autoClosingQuotes,o.autoClosingPairs.autoClosingPairsOpenByEnd,t,i,s))return this._runAutoClosingPairDelete(o,t,i);const g=[];let c=n!==2;for(let l=0,a=i.length;l<a;l++){const r=b.getDeleteRange(i[l],t,o);if(r.isEmpty()){g[l]=null;continue}r.startLineNumber!==r.endLineNumber&&(c=!0),g[l]=new k.ReplaceCommand(r,\"\")}return[c,g]}static getDeleteRange(n,o,t){if(!n.isEmpty())return n;const i=n.getPosition();if(t.useTabStops&&i.column>1){const s=o.getLineContent(i.lineNumber),g=d.firstNonWhitespaceIndex(s),c=g===-1?s.length+1:g+1;if(i.column<=c){const l=t.visibleColumnFromColumn(o,i),a=E.CursorColumns.prevIndentTabStop(l,t.indentSize),r=t.columnFromVisibleColumn(o,i.lineNumber,a);return new m.Range(i.lineNumber,r,i.lineNumber,i.column)}}return m.Range.fromPositions(b.getPositionAfterDeleteLeft(i,o),i)}static getPositionAfterDeleteLeft(n,o){if(n.column>1){const t=d.getLeftDeleteOffset(n.column-1,o.getLineContent(n.lineNumber));return n.with(void 0,t+1)}else if(n.lineNumber>1){const t=n.lineNumber-1;return new _.Position(t,o.getLineMaxColumn(t))}else return n}static cut(n,o,t){const i=[];let s=null;t.sort((g,c)=>_.Position.compare(g.getStartPosition(),c.getEndPosition()));for(let g=0,c=t.length;g<c;g++){const l=t[g];if(l.isEmpty())if(n.emptySelectionClipboard){const a=l.getPosition();let r,u,C,f;a.lineNumber<o.getLineCount()?(r=a.lineNumber,u=1,C=a.lineNumber+1,f=1):a.lineNumber>1&&s?.endLineNumber!==a.lineNumber?(r=a.lineNumber-1,u=o.getLineMaxColumn(a.lineNumber-1),C=a.lineNumber,f=o.getLineMaxColumn(a.lineNumber)):(r=a.lineNumber,u=1,C=a.lineNumber,f=o.getLineMaxColumn(a.lineNumber));const h=new m.Range(r,u,C,f);s=h,h.isEmpty()?i[g]=null:i[g]=new k.ReplaceCommand(h,\"\")}else i[g]=null;else i[g]=new k.ReplaceCommand(l,\"\")}return new I.EditOperationResult(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}e.DeleteOperations=b}),define(ne[199],se([1,0,11,76,234,166,9,4]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WordPartOperations=e.WordOperations=void 0;class _{static _createWord(o,t,i,s,g){return{start:s,end:g,wordType:t,nextCharClass:i}}static _createIntlWord(o,t){return{start:o.index,end:o.index+o.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(o,t,i){const s=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(s,o,i)}static _doFindPreviousWordOnLine(o,t,i){let s=0;const g=t.findPrevIntlWordBeforeOrAtOffset(o,i.column-2);for(let c=i.column-2;c>=0;c--){const l=o.charCodeAt(c),a=t.get(l);if(g&&c===g.index)return this._createIntlWord(g,a);if(a===0){if(s===2)return this._createWord(o,s,a,c+1,this._findEndOfWord(o,t,s,c+1));s=1}else if(a===2){if(s===1)return this._createWord(o,s,a,c+1,this._findEndOfWord(o,t,s,c+1));s=2}else if(a===1&&s!==0)return this._createWord(o,s,a,c+1,this._findEndOfWord(o,t,s,c+1))}return s!==0?this._createWord(o,s,1,0,this._findEndOfWord(o,t,s,0)):null}static _findEndOfWord(o,t,i,s){const g=t.findNextIntlWordAtOrAfterOffset(o,s),c=o.length;for(let l=s;l<c;l++){const a=o.charCodeAt(l),r=t.get(a);if(g&&l===g.index+g.segment.length||r===1||i===1&&r===2||i===2&&r===0)return l}return c}static _findNextWordOnLine(o,t,i){const s=t.getLineContent(i.lineNumber);return this._doFindNextWordOnLine(s,o,i)}static _doFindNextWordOnLine(o,t,i){let s=0;const g=o.length,c=t.findNextIntlWordAtOrAfterOffset(o,i.column-1);for(let l=i.column-1;l<g;l++){const a=o.charCodeAt(l),r=t.get(a);if(c&&l===c.index)return this._createIntlWord(c,r);if(r===0){if(s===2)return this._createWord(o,s,r,this._findStartOfWord(o,t,s,l-1),l);s=1}else if(r===2){if(s===1)return this._createWord(o,s,r,this._findStartOfWord(o,t,s,l-1),l);s=2}else if(r===1&&s!==0)return this._createWord(o,s,r,this._findStartOfWord(o,t,s,l-1),l)}return s!==0?this._createWord(o,s,1,this._findStartOfWord(o,t,s,g-1),g):null}static _findStartOfWord(o,t,i,s){const g=t.findPrevIntlWordBeforeOrAtOffset(o,s);for(let c=s;c>=0;c--){const l=o.charCodeAt(c),a=t.get(l);if(g&&c===g.index)return c;if(a===1||i===1&&a===2||i===2&&a===0)return c+1}return 0}static moveWordLeft(o,t,i,s,g){let c=i.lineNumber,l=i.column;l===1&&c>1&&(c=c-1,l=t.getLineMaxColumn(c));let a=_._findPreviousWordOnLine(o,t,new y.Position(c,l));if(s===0)return new y.Position(c,a?a.start+1:1);if(s===1)return!g&&a&&a.wordType===2&&a.end-a.start===1&&a.nextCharClass===0&&(a=_._findPreviousWordOnLine(o,t,new y.Position(c,a.start+1))),new y.Position(c,a?a.start+1:1);if(s===3){for(;a&&a.wordType===2;)a=_._findPreviousWordOnLine(o,t,new y.Position(c,a.start+1));return new y.Position(c,a?a.start+1:1)}return a&&l<=a.end+1&&(a=_._findPreviousWordOnLine(o,t,new y.Position(c,a.start+1))),new y.Position(c,a?a.end+1:1)}static _moveWordPartLeft(o,t){const i=t.lineNumber,s=o.getLineMaxColumn(i);if(t.column===1)return i>1?new y.Position(i-1,o.getLineMaxColumn(i-1)):t;const g=o.getLineContent(i);for(let c=t.column-1;c>1;c--){const l=g.charCodeAt(c-2),a=g.charCodeAt(c-1);if(l===95&&a!==95)return new y.Position(i,c);if(l===45&&a!==45)return new y.Position(i,c);if((d.isLowerAsciiLetter(l)||d.isAsciiDigit(l))&&d.isUpperAsciiLetter(a))return new y.Position(i,c);if(d.isUpperAsciiLetter(l)&&d.isUpperAsciiLetter(a)&&c+1<s){const r=g.charCodeAt(c);if(d.isLowerAsciiLetter(r)||d.isAsciiDigit(r))return new y.Position(i,c)}}return new y.Position(i,1)}static moveWordRight(o,t,i,s){let g=i.lineNumber,c=i.column,l=!1;c===t.getLineMaxColumn(g)&&g<t.getLineCount()&&(l=!0,g=g+1,c=1);let a=_._findNextWordOnLine(o,t,new y.Position(g,c));if(s===2)a&&a.wordType===2&&a.end-a.start===1&&a.nextCharClass===0&&(a=_._findNextWordOnLine(o,t,new y.Position(g,a.end+1))),a?c=a.end+1:c=t.getLineMaxColumn(g);else if(s===3){for(l&&(c=0);a&&(a.wordType===2||a.start+1<=c);)a=_._findNextWordOnLine(o,t,new y.Position(g,a.end+1));a?c=a.start+1:c=t.getLineMaxColumn(g)}else a&&!l&&c>=a.start+1&&(a=_._findNextWordOnLine(o,t,new y.Position(g,a.end+1))),a?c=a.start+1:c=t.getLineMaxColumn(g);return new y.Position(g,c)}static _moveWordPartRight(o,t){const i=t.lineNumber,s=o.getLineMaxColumn(i);if(t.column===s)return i<o.getLineCount()?new y.Position(i+1,1):t;const g=o.getLineContent(i);for(let c=t.column+1;c<s;c++){const l=g.charCodeAt(c-2),a=g.charCodeAt(c-1);if(l!==95&&a===95)return new y.Position(i,c);if(l!==45&&a===45)return new y.Position(i,c);if((d.isLowerAsciiLetter(l)||d.isAsciiDigit(l))&&d.isUpperAsciiLetter(a))return new y.Position(i,c);if(d.isUpperAsciiLetter(l)&&d.isUpperAsciiLetter(a)&&c+1<s){const r=g.charCodeAt(c);if(d.isLowerAsciiLetter(r)||d.isAsciiDigit(r))return new y.Position(i,c)}}return new y.Position(i,s)}static _deleteWordLeftWhitespace(o,t){const i=o.getLineContent(t.lineNumber),s=t.column-2,g=d.lastNonWhitespaceIndex(i,s);return g+1<s?new m.Range(t.lineNumber,g+2,t.lineNumber,t.column):null}static deleteWordLeft(o,t){const i=o.wordSeparators,s=o.model,g=o.selection,c=o.whitespaceHeuristics;if(!g.isEmpty())return g;if(I.DeleteOperations.isAutoClosingPairDelete(o.autoClosingDelete,o.autoClosingBrackets,o.autoClosingQuotes,o.autoClosingPairs.autoClosingPairsOpenByEnd,o.model,[o.selection],o.autoClosedCharacters)){const C=o.selection.getPosition();return new m.Range(C.lineNumber,C.column-1,C.lineNumber,C.column+1)}const l=new y.Position(g.positionLineNumber,g.positionColumn);let a=l.lineNumber,r=l.column;if(a===1&&r===1)return null;if(c){const C=this._deleteWordLeftWhitespace(s,l);if(C)return C}let u=_._findPreviousWordOnLine(i,s,l);return t===0?u?r=u.start+1:r>1?r=1:(a--,r=s.getLineMaxColumn(a)):(u&&r<=u.end+1&&(u=_._findPreviousWordOnLine(i,s,new y.Position(a,u.start+1))),u?r=u.end+1:r>1?r=1:(a--,r=s.getLineMaxColumn(a))),new m.Range(a,r,l.lineNumber,l.column)}static deleteInsideWord(o,t,i){if(!i.isEmpty())return i;const s=new y.Position(i.positionLineNumber,i.positionColumn),g=this._deleteInsideWordWhitespace(t,s);return g||this._deleteInsideWordDetermineDeleteRange(o,t,s)}static _charAtIsWhitespace(o,t){const i=o.charCodeAt(t);return i===32||i===9}static _deleteInsideWordWhitespace(o,t){const i=o.getLineContent(t.lineNumber),s=i.length;if(s===0)return null;let g=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,g))return null;let c=Math.min(t.column-1,s-1);if(!this._charAtIsWhitespace(i,c))return null;for(;g>0&&this._charAtIsWhitespace(i,g-1);)g--;for(;c+1<s&&this._charAtIsWhitespace(i,c+1);)c++;return new m.Range(t.lineNumber,g+1,t.lineNumber,c+2)}static _deleteInsideWordDetermineDeleteRange(o,t,i){const s=t.getLineContent(i.lineNumber),g=s.length;if(g===0)return i.lineNumber>1?new m.Range(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumber<t.getLineCount()?new m.Range(i.lineNumber,1,i.lineNumber+1,1):new m.Range(i.lineNumber,1,i.lineNumber,1);const c=C=>C.start+1<=i.column&&i.column<=C.end+1,l=(C,f)=>(C=Math.min(C,i.column),f=Math.max(f,i.column),new m.Range(i.lineNumber,C,i.lineNumber,f)),a=C=>{let f=C.start+1,h=C.end+1,v=!1;for(;h-1<g&&this._charAtIsWhitespace(s,h-1);)v=!0,h++;if(!v)for(;f>1&&this._charAtIsWhitespace(s,f-2);)f--;return l(f,h)},r=_._findPreviousWordOnLine(o,t,i);if(r&&c(r))return a(r);const u=_._findNextWordOnLine(o,t,i);return u&&c(u)?a(u):r&&u?l(r.end+1,u.start+1):r?l(r.start+1,r.end+1):u?l(u.start+1,u.end+1):l(1,g+1)}static _deleteWordPartLeft(o,t){if(!t.isEmpty())return t;const i=t.getPosition(),s=_._moveWordPartLeft(o,i);return new m.Range(i.lineNumber,i.column,s.lineNumber,s.column)}static _findFirstNonWhitespaceChar(o,t){const i=o.length;for(let s=t;s<i;s++){const g=o.charAt(s);if(g!==\" \"&&g!==\"\t\")return s}return i}static _deleteWordRightWhitespace(o,t){const i=o.getLineContent(t.lineNumber),s=t.column-1,g=this._findFirstNonWhitespaceChar(i,s);return s+1<g?new m.Range(t.lineNumber,t.column,t.lineNumber,g+1):null}static deleteWordRight(o,t){const i=o.wordSeparators,s=o.model,g=o.selection,c=o.whitespaceHeuristics;if(!g.isEmpty())return g;const l=new y.Position(g.positionLineNumber,g.positionColumn);let a=l.lineNumber,r=l.column;const u=s.getLineCount(),C=s.getLineMaxColumn(a);if(a===u&&r===C)return null;if(c){const h=this._deleteWordRightWhitespace(s,l);if(h)return h}let f=_._findNextWordOnLine(i,s,l);return t===2?f?r=f.end+1:r<C||a===u?r=C:(a++,f=_._findNextWordOnLine(i,s,new y.Position(a,1)),f?r=f.start+1:r=s.getLineMaxColumn(a)):(f&&r>=f.start+1&&(f=_._findNextWordOnLine(i,s,new y.Position(a,f.end+1))),f?r=f.start+1:r<C||a===u?r=C:(a++,f=_._findNextWordOnLine(i,s,new y.Position(a,1)),f?r=f.start+1:r=s.getLineMaxColumn(a))),new m.Range(a,r,l.lineNumber,l.column)}static _deleteWordPartRight(o,t){if(!t.isEmpty())return t;const i=t.getPosition(),s=_._moveWordPartRight(o,i);return new m.Range(i.lineNumber,i.column,s.lineNumber,s.column)}static _createWordAtPosition(o,t,i){const s=new m.Range(t,i.start+1,t,i.end+1);return{word:o.getValueInRange(s),startColumn:s.startColumn,endColumn:s.endColumn}}static getWordAtPosition(o,t,i,s){const g=(0,E.getMapForWordSeparators)(t,i),c=_._findPreviousWordOnLine(g,o,s);if(c&&c.wordType===1&&c.start<=s.column-1&&s.column-1<=c.end)return _._createWordAtPosition(o,s.lineNumber,c);const l=_._findNextWordOnLine(g,o,s);return l&&l.wordType===1&&l.start<=s.column-1&&s.column-1<=l.end?_._createWordAtPosition(o,s.lineNumber,l):null}static word(o,t,i,s,g){const c=(0,E.getMapForWordSeparators)(o.wordSeparators,o.wordSegmenterLocales),l=_._findPreviousWordOnLine(c,t,g),a=_._findNextWordOnLine(c,t,g);if(!s){let h,v;return l&&l.wordType===1&&l.start<=g.column-1&&g.column-1<=l.end?(h=l.start+1,v=l.end+1):a&&a.wordType===1&&a.start<=g.column-1&&g.column-1<=a.end?(h=a.start+1,v=a.end+1):(l?h=l.end+1:h=1,a?v=a.start+1:v=t.getLineMaxColumn(g.lineNumber)),new k.SingleCursorState(new m.Range(g.lineNumber,h,g.lineNumber,v),1,0,new y.Position(g.lineNumber,v),0)}let r,u;l&&l.wordType===1&&l.start<g.column-1&&g.column-1<l.end?(r=l.start+1,u=l.end+1):a&&a.wordType===1&&a.start<g.column-1&&g.column-1<a.end?(r=a.start+1,u=a.end+1):(r=g.column,u=g.column);const C=g.lineNumber;let f;if(i.selectionStart.containsPosition(g))f=i.selectionStart.endColumn;else if(g.isBeforeOrEqual(i.selectionStart.getStartPosition())){f=r;const h=new y.Position(C,f);i.selectionStart.containsPosition(h)&&(f=i.selectionStart.endColumn)}else{f=u;const h=new y.Position(C,f);i.selectionStart.containsPosition(h)&&(f=i.selectionStart.startColumn)}return i.move(!0,C,f,0)}}e.WordOperations=_;class b extends _{static deleteWordPartLeft(o){const t=p([_.deleteWordLeft(o,0),_.deleteWordLeft(o,2),_._deleteWordPartLeft(o.model,o.selection)]);return t.sort(m.Range.compareRangesUsingEnds),t[2]}static deleteWordPartRight(o){const t=p([_.deleteWordRight(o,0),_.deleteWordRight(o,2),_._deleteWordPartRight(o.model,o.selection)]);return t.sort(m.Range.compareRangesUsingStarts),t[0]}static moveWordPartLeft(o,t,i,s){const g=p([_.moveWordLeft(o,t,i,0,s),_.moveWordLeft(o,t,i,2,s),_._moveWordPartLeft(t,i)]);return g.sort(y.Position.compare),g[2]}static moveWordPartRight(o,t,i){const s=p([_.moveWordRight(o,t,i,0),_.moveWordRight(o,t,i,2),_._moveWordPartRight(t,i)]);return s.sort(y.Position.compare),s[0]}}e.WordPartOperations=b;function p(n){return n.filter(o=>!!o)}}),define(ne[235],se([1,0,19,76,233,199,9,4]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CursorMove=e.CursorMoveCommands=void 0;class _{static addCursorDown(n,o,t){const i=[];let s=0;for(let g=0,c=o.length;g<c;g++){const l=o[g];i[s++]=new k.CursorState(l.modelState,l.viewState),t?i[s++]=k.CursorState.fromModelState(I.MoveOperations.translateDown(n.cursorConfig,n.model,l.modelState)):i[s++]=k.CursorState.fromViewState(I.MoveOperations.translateDown(n.cursorConfig,n,l.viewState))}return i}static addCursorUp(n,o,t){const i=[];let s=0;for(let g=0,c=o.length;g<c;g++){const l=o[g];i[s++]=new k.CursorState(l.modelState,l.viewState),t?i[s++]=k.CursorState.fromModelState(I.MoveOperations.translateUp(n.cursorConfig,n.model,l.modelState)):i[s++]=k.CursorState.fromViewState(I.MoveOperations.translateUp(n.cursorConfig,n,l.viewState))}return i}static moveToBeginningOfLine(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s];i[s]=this._moveToLineStart(n,c,t)}return i}static _moveToLineStart(n,o,t){const i=o.viewState.position.column,s=o.modelState.position.column,g=i===s,c=o.viewState.position.lineNumber,l=n.getLineFirstNonWhitespaceColumn(c);return!g&&!(i===l)?this._moveToLineStartByView(n,o,t):this._moveToLineStartByModel(n,o,t)}static _moveToLineStartByView(n,o,t){return k.CursorState.fromViewState(I.MoveOperations.moveToBeginningOfLine(n.cursorConfig,n,o.viewState,t))}static _moveToLineStartByModel(n,o,t){return k.CursorState.fromModelState(I.MoveOperations.moveToBeginningOfLine(n.cursorConfig,n.model,o.modelState,t))}static moveToEndOfLine(n,o,t,i){const s=[];for(let g=0,c=o.length;g<c;g++){const l=o[g];s[g]=this._moveToLineEnd(n,l,t,i)}return s}static _moveToLineEnd(n,o,t,i){const s=o.viewState.position,g=n.getLineMaxColumn(s.lineNumber),c=s.column===g,l=o.modelState.position,a=n.model.getLineMaxColumn(l.lineNumber),r=g-s.column===a-l.column;return c||r?this._moveToLineEndByModel(n,o,t,i):this._moveToLineEndByView(n,o,t,i)}static _moveToLineEndByView(n,o,t,i){return k.CursorState.fromViewState(I.MoveOperations.moveToEndOfLine(n.cursorConfig,n,o.viewState,t,i))}static _moveToLineEndByModel(n,o,t,i){return k.CursorState.fromModelState(I.MoveOperations.moveToEndOfLine(n.cursorConfig,n.model,o.modelState,t,i))}static expandLineSelection(n,o){const t=[];for(let i=0,s=o.length;i<s;i++){const g=o[i],c=g.modelState.selection.startLineNumber,l=n.model.getLineCount();let a=g.modelState.selection.endLineNumber,r;a===l?r=n.model.getLineMaxColumn(l):(a++,r=1),t[i]=k.CursorState.fromModelState(new k.SingleCursorState(new m.Range(c,1,c,1),0,0,new y.Position(a,r),0))}return t}static moveToBeginningOfBuffer(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s];i[s]=k.CursorState.fromModelState(I.MoveOperations.moveToBeginningOfBuffer(n.cursorConfig,n.model,c.modelState,t))}return i}static moveToEndOfBuffer(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s];i[s]=k.CursorState.fromModelState(I.MoveOperations.moveToEndOfBuffer(n.cursorConfig,n.model,c.modelState,t))}return i}static selectAll(n,o){const t=n.model.getLineCount(),i=n.model.getLineMaxColumn(t);return k.CursorState.fromModelState(new k.SingleCursorState(new m.Range(1,1,1,1),0,0,new y.Position(t,i),0))}static line(n,o,t,i,s){const g=n.model.validatePosition(i),c=s?n.coordinatesConverter.validateViewPosition(new y.Position(s.lineNumber,s.column),g):n.coordinatesConverter.convertModelPositionToViewPosition(g);if(!t){const a=n.model.getLineCount();let r=g.lineNumber+1,u=1;return r>a&&(r=a,u=n.model.getLineMaxColumn(r)),k.CursorState.fromModelState(new k.SingleCursorState(new m.Range(g.lineNumber,1,r,u),2,0,new y.Position(r,u),0))}const l=o.modelState.selectionStart.getStartPosition().lineNumber;if(g.lineNumber<l)return k.CursorState.fromViewState(o.viewState.move(!0,c.lineNumber,1,0));if(g.lineNumber>l){const a=n.getLineCount();let r=c.lineNumber+1,u=1;return r>a&&(r=a,u=n.getLineMaxColumn(r)),k.CursorState.fromViewState(o.viewState.move(!0,r,u,0))}else{const a=o.modelState.selectionStart.getEndPosition();return k.CursorState.fromModelState(o.modelState.move(!0,a.lineNumber,a.column,0))}}static word(n,o,t,i){const s=n.model.validatePosition(i);return k.CursorState.fromModelState(E.WordOperations.word(n.cursorConfig,n.model,o.modelState,t,s))}static cancelSelection(n,o){if(!o.modelState.hasSelection())return new k.CursorState(o.modelState,o.viewState);const t=o.viewState.position.lineNumber,i=o.viewState.position.column;return k.CursorState.fromViewState(new k.SingleCursorState(new m.Range(t,i,t,i),0,0,new y.Position(t,i),0))}static moveTo(n,o,t,i,s){if(t){if(o.modelState.selectionStartKind===1)return this.word(n,o,t,i);if(o.modelState.selectionStartKind===2)return this.line(n,o,t,i,s)}const g=n.model.validatePosition(i),c=s?n.coordinatesConverter.validateViewPosition(new y.Position(s.lineNumber,s.column),g):n.coordinatesConverter.convertModelPositionToViewPosition(g);return k.CursorState.fromViewState(o.viewState.move(t,c.lineNumber,c.column,0))}static simpleMove(n,o,t,i,s,g){switch(t){case 0:return g===4?this._moveHalfLineLeft(n,o,i):this._moveLeft(n,o,i,s);case 1:return g===4?this._moveHalfLineRight(n,o,i):this._moveRight(n,o,i,s);case 2:return g===2?this._moveUpByViewLines(n,o,i,s):this._moveUpByModelLines(n,o,i,s);case 3:return g===2?this._moveDownByViewLines(n,o,i,s):this._moveDownByModelLines(n,o,i,s);case 4:return g===2?o.map(c=>k.CursorState.fromViewState(I.MoveOperations.moveToPrevBlankLine(n.cursorConfig,n,c.viewState,i))):o.map(c=>k.CursorState.fromModelState(I.MoveOperations.moveToPrevBlankLine(n.cursorConfig,n.model,c.modelState,i)));case 5:return g===2?o.map(c=>k.CursorState.fromViewState(I.MoveOperations.moveToNextBlankLine(n.cursorConfig,n,c.viewState,i))):o.map(c=>k.CursorState.fromModelState(I.MoveOperations.moveToNextBlankLine(n.cursorConfig,n.model,c.modelState,i)));case 6:return this._moveToViewMinColumn(n,o,i);case 7:return this._moveToViewFirstNonWhitespaceColumn(n,o,i);case 8:return this._moveToViewCenterColumn(n,o,i);case 9:return this._moveToViewMaxColumn(n,o,i);case 10:return this._moveToViewLastNonWhitespaceColumn(n,o,i);default:return null}}static viewportMove(n,o,t,i,s){const g=n.getCompletelyVisibleViewRange(),c=n.coordinatesConverter.convertViewRangeToModelRange(g);switch(t){case 11:{const l=this._firstLineNumberInRange(n.model,c,s),a=n.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(n,o[0],i,l,a)]}case 13:{const l=this._lastLineNumberInRange(n.model,c,s),a=n.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(n,o[0],i,l,a)]}case 12:{const l=Math.round((c.startLineNumber+c.endLineNumber)/2),a=n.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(n,o[0],i,l,a)]}case 14:{const l=[];for(let a=0,r=o.length;a<r;a++){const u=o[a];l[a]=this.findPositionInViewportIfOutside(n,u,g,i)}return l}default:return null}}static findPositionInViewportIfOutside(n,o,t,i){const s=o.viewState.position.lineNumber;if(t.startLineNumber<=s&&s<=t.endLineNumber-1)return new k.CursorState(o.modelState,o.viewState);{let g;s>t.endLineNumber-1?g=t.endLineNumber-1:s<t.startLineNumber?g=t.startLineNumber:g=s;const c=I.MoveOperations.vertical(n.cursorConfig,n,s,o.viewState.position.column,o.viewState.leftoverVisibleColumns,g,!1);return k.CursorState.fromViewState(o.viewState.move(i,c.lineNumber,c.column,c.leftoverVisibleColumns))}}static _firstLineNumberInRange(n,o,t){let i=o.startLineNumber;return o.startColumn!==n.getLineMinColumn(i)&&i++,Math.min(o.endLineNumber,i+t-1)}static _lastLineNumberInRange(n,o,t){let i=o.startLineNumber;return o.startColumn!==n.getLineMinColumn(i)&&i++,Math.max(i,o.endLineNumber-t+1)}static _moveLeft(n,o,t,i){return o.map(s=>k.CursorState.fromViewState(I.MoveOperations.moveLeft(n.cursorConfig,n,s.viewState,t,i)))}static _moveHalfLineLeft(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s],l=c.viewState.position.lineNumber,a=Math.round(n.getLineLength(l)/2);i[s]=k.CursorState.fromViewState(I.MoveOperations.moveLeft(n.cursorConfig,n,c.viewState,t,a))}return i}static _moveRight(n,o,t,i){return o.map(s=>k.CursorState.fromViewState(I.MoveOperations.moveRight(n.cursorConfig,n,s.viewState,t,i)))}static _moveHalfLineRight(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s],l=c.viewState.position.lineNumber,a=Math.round(n.getLineLength(l)/2);i[s]=k.CursorState.fromViewState(I.MoveOperations.moveRight(n.cursorConfig,n,c.viewState,t,a))}return i}static _moveDownByViewLines(n,o,t,i){const s=[];for(let g=0,c=o.length;g<c;g++){const l=o[g];s[g]=k.CursorState.fromViewState(I.MoveOperations.moveDown(n.cursorConfig,n,l.viewState,t,i))}return s}static _moveDownByModelLines(n,o,t,i){const s=[];for(let g=0,c=o.length;g<c;g++){const l=o[g];s[g]=k.CursorState.fromModelState(I.MoveOperations.moveDown(n.cursorConfig,n.model,l.modelState,t,i))}return s}static _moveUpByViewLines(n,o,t,i){const s=[];for(let g=0,c=o.length;g<c;g++){const l=o[g];s[g]=k.CursorState.fromViewState(I.MoveOperations.moveUp(n.cursorConfig,n,l.viewState,t,i))}return s}static _moveUpByModelLines(n,o,t,i){const s=[];for(let g=0,c=o.length;g<c;g++){const l=o[g];s[g]=k.CursorState.fromModelState(I.MoveOperations.moveUp(n.cursorConfig,n.model,l.modelState,t,i))}return s}static _moveToViewPosition(n,o,t,i,s){return k.CursorState.fromViewState(o.viewState.move(t,i,s,0))}static _moveToModelPosition(n,o,t,i,s){return k.CursorState.fromModelState(o.modelState.move(t,i,s,0))}static _moveToViewMinColumn(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s],l=c.viewState.position.lineNumber,a=n.getLineMinColumn(l);i[s]=this._moveToViewPosition(n,c,t,l,a)}return i}static _moveToViewFirstNonWhitespaceColumn(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s],l=c.viewState.position.lineNumber,a=n.getLineFirstNonWhitespaceColumn(l);i[s]=this._moveToViewPosition(n,c,t,l,a)}return i}static _moveToViewCenterColumn(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s],l=c.viewState.position.lineNumber,a=Math.round((n.getLineMaxColumn(l)+n.getLineMinColumn(l))/2);i[s]=this._moveToViewPosition(n,c,t,l,a)}return i}static _moveToViewMaxColumn(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s],l=c.viewState.position.lineNumber,a=n.getLineMaxColumn(l);i[s]=this._moveToViewPosition(n,c,t,l,a)}return i}static _moveToViewLastNonWhitespaceColumn(n,o,t){const i=[];for(let s=0,g=o.length;s<g;s++){const c=o[s],l=c.viewState.position.lineNumber,a=n.getLineLastNonWhitespaceColumn(l);i[s]=this._moveToViewPosition(n,c,t,l,a)}return i}}e.CursorMoveCommands=_;var b;(function(p){const n=function(t){if(!d.isObject(t))return!1;const i=t;return!(!d.isString(i.to)||!d.isUndefined(i.select)&&!d.isBoolean(i.select)||!d.isUndefined(i.by)&&!d.isString(i.by)||!d.isUndefined(i.value)&&!d.isNumber(i.value))};p.metadata={description:\"Move cursor to a logical position in the view\",args:[{name:\"Cursor move argument object\",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t\\`\\`\\`\n\t\t\t\t\t\t'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t\\`\\`\\`\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t\\`\\`\\`\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t\\`\\`\\`\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t`,constraint:n,schema:{type:\"object\",required:[\"to\"],properties:{to:{type:\"string\",enum:[\"left\",\"right\",\"up\",\"down\",\"prevBlankLine\",\"nextBlankLine\",\"wrappedLineStart\",\"wrappedLineEnd\",\"wrappedLineColumnCenter\",\"wrappedLineFirstNonWhitespaceCharacter\",\"wrappedLineLastNonWhitespaceCharacter\",\"viewPortTop\",\"viewPortCenter\",\"viewPortBottom\",\"viewPortIfOutside\"]},by:{type:\"string\",enum:[\"line\",\"wrappedLine\",\"character\",\"halfLine\"]},value:{type:\"number\",default:1},select:{type:\"boolean\",default:!1}}}}]},p.RawDirection={Left:\"left\",Right:\"right\",Up:\"up\",Down:\"down\",PrevBlankLine:\"prevBlankLine\",NextBlankLine:\"nextBlankLine\",WrappedLineStart:\"wrappedLineStart\",WrappedLineFirstNonWhitespaceCharacter:\"wrappedLineFirstNonWhitespaceCharacter\",WrappedLineColumnCenter:\"wrappedLineColumnCenter\",WrappedLineEnd:\"wrappedLineEnd\",WrappedLineLastNonWhitespaceCharacter:\"wrappedLineLastNonWhitespaceCharacter\",ViewPortTop:\"viewPortTop\",ViewPortCenter:\"viewPortCenter\",ViewPortBottom:\"viewPortBottom\",ViewPortIfOutside:\"viewPortIfOutside\"},p.RawUnit={Line:\"line\",WrappedLine:\"wrappedLine\",Character:\"character\",HalfLine:\"halfLine\"};function o(t){if(!t.to)return null;let i;switch(t.to){case p.RawDirection.Left:i=0;break;case p.RawDirection.Right:i=1;break;case p.RawDirection.Up:i=2;break;case p.RawDirection.Down:i=3;break;case p.RawDirection.PrevBlankLine:i=4;break;case p.RawDirection.NextBlankLine:i=5;break;case p.RawDirection.WrappedLineStart:i=6;break;case p.RawDirection.WrappedLineFirstNonWhitespaceCharacter:i=7;break;case p.RawDirection.WrappedLineColumnCenter:i=8;break;case p.RawDirection.WrappedLineEnd:i=9;break;case p.RawDirection.WrappedLineLastNonWhitespaceCharacter:i=10;break;case p.RawDirection.ViewPortTop:i=11;break;case p.RawDirection.ViewPortBottom:i=13;break;case p.RawDirection.ViewPortCenter:i=12;break;case p.RawDirection.ViewPortIfOutside:i=14;break;default:return null}let s=0;switch(t.by){case p.RawUnit.Line:s=1;break;case p.RawUnit.WrappedLine:s=2;break;case p.RawUnit.Character:s=3;break;case p.RawUnit.HalfLine:s=4;break}return{direction:i,unit:s,select:!!t.select,value:t.value||1}}p.parse=o})(b||(e.CursorMove=b={}))}),define(ne[566],se([1,0,76,9,4,23]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Cursor=void 0;class y{constructor(_){this._selTrackedRange=null,this._trackSelection=!0,this._setState(_,new d.SingleCursorState(new I.Range(1,1,1,1),0,0,new k.Position(1,1),0),new d.SingleCursorState(new I.Range(1,1,1,1),0,0,new k.Position(1,1),0))}dispose(_){this._removeTrackedRange(_)}startTrackingSelection(_){this._trackSelection=!0,this._updateTrackedRange(_)}stopTrackingSelection(_){this._trackSelection=!1,this._removeTrackedRange(_)}_updateTrackedRange(_){this._trackSelection&&(this._selTrackedRange=_.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(_){this._selTrackedRange=_.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new d.CursorState(this.modelState,this.viewState)}readSelectionFromMarkers(_){const b=_.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!b.isEmpty()?E.Selection.fromRange(b.collapseToEnd(),this.modelState.selection.getDirection()):E.Selection.fromRange(b,this.modelState.selection.getDirection())}ensureValidState(_){this._setState(_,this.modelState,this.viewState)}setState(_,b,p){this._setState(_,b,p)}static _validatePositionWithCache(_,b,p,n){return b.equals(p)?n:_.normalizePosition(b,2)}static _validateViewState(_,b){const p=b.position,n=b.selectionStart.getStartPosition(),o=b.selectionStart.getEndPosition(),t=_.normalizePosition(p,2),i=this._validatePositionWithCache(_,n,p,t),s=this._validatePositionWithCache(_,o,n,i);return p.equals(t)&&n.equals(i)&&o.equals(s)?b:new d.SingleCursorState(I.Range.fromPositions(i,s),b.selectionStartKind,b.selectionStartLeftoverVisibleColumns+n.column-i.column,t,b.leftoverVisibleColumns+p.column-t.column)}_setState(_,b,p){if(p&&(p=y._validateViewState(_.viewModel,p)),b){const n=_.model.validateRange(b.selectionStart),o=b.selectionStart.equalsRange(n)?b.selectionStartLeftoverVisibleColumns:0,t=_.model.validatePosition(b.position),i=b.position.equals(t)?b.leftoverVisibleColumns:0;b=new d.SingleCursorState(n,b.selectionStartKind,o,t,i)}else{if(!p)return;const n=_.model.validateRange(_.coordinatesConverter.convertViewRangeToModelRange(p.selectionStart)),o=_.model.validatePosition(_.coordinatesConverter.convertViewPositionToModelPosition(p.position));b=new d.SingleCursorState(n,p.selectionStartKind,p.selectionStartLeftoverVisibleColumns,o,p.leftoverVisibleColumns)}if(p){const n=_.coordinatesConverter.validateViewRange(p.selectionStart,b.selectionStart),o=_.coordinatesConverter.validateViewPosition(p.position,b.position);p=new d.SingleCursorState(n,b.selectionStartKind,b.selectionStartLeftoverVisibleColumns,o,b.leftoverVisibleColumns)}else{const n=_.coordinatesConverter.convertModelPositionToViewPosition(new k.Position(b.selectionStart.startLineNumber,b.selectionStart.startColumn)),o=_.coordinatesConverter.convertModelPositionToViewPosition(new k.Position(b.selectionStart.endLineNumber,b.selectionStart.endColumn)),t=new I.Range(n.lineNumber,n.column,o.lineNumber,o.column),i=_.coordinatesConverter.convertModelPositionToViewPosition(b.position);p=new d.SingleCursorState(t,b.selectionStartKind,b.selectionStartLeftoverVisibleColumns,i,b.leftoverVisibleColumns)}this.modelState=b,this.viewState=p,this._updateTrackedRange(_)}}e.Cursor=y}),define(ne[567],se([1,0,13,67,76,566,9,4,23]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CursorCollection=void 0;class b{constructor(n){this.context=n,this.cursors=[new E.Cursor(n)],this.lastAddedCursorIndex=0}dispose(){for(const n of this.cursors)n.dispose(this.context)}startTrackingSelections(){for(const n of this.cursors)n.startTrackingSelection(this.context)}stopTrackingSelections(){for(const n of this.cursors)n.stopTrackingSelection(this.context)}updateContext(n){this.context=n}ensureValidState(){for(const n of this.cursors)n.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(n=>n.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(n=>n.asCursorState())}getViewPositions(){return this.cursors.map(n=>n.viewState.position)}getTopMostViewPosition(){return(0,k.findFirstMin)(this.cursors,(0,d.compareBy)(n=>n.viewState.position,y.Position.compare)).viewState.position}getBottomMostViewPosition(){return(0,k.findLastMax)(this.cursors,(0,d.compareBy)(n=>n.viewState.position,y.Position.compare)).viewState.position}getSelections(){return this.cursors.map(n=>n.modelState.selection)}getViewSelections(){return this.cursors.map(n=>n.viewState.selection)}setSelections(n){this.setStates(I.CursorState.fromModelSelections(n))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(n){n!==null&&(this.cursors[0].setState(this.context,n[0].modelState,n[0].viewState),this._setSecondaryStates(n.slice(1)))}_setSecondaryStates(n){const o=this.cursors.length-1,t=n.length;if(o<t){const i=t-o;for(let s=0;s<i;s++)this._addSecondaryCursor()}else if(o>t){const i=o-t;for(let s=0;s<i;s++)this._removeSecondaryCursor(this.cursors.length-2)}for(let i=0;i<t;i++)this.cursors[i+1].setState(this.context,n[i].modelState,n[i].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new E.Cursor(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(n){this.lastAddedCursorIndex>=n+1&&this.lastAddedCursorIndex--,this.cursors[n+1].dispose(this.context),this.cursors.splice(n+1,1)}normalize(){if(this.cursors.length===1)return;const n=this.cursors.slice(0),o=[];for(let t=0,i=n.length;t<i;t++)o.push({index:t,selection:n[t].modelState.selection});o.sort((0,d.compareBy)(t=>t.selection,m.Range.compareRangesUsingStarts));for(let t=0;t<o.length-1;t++){const i=o[t],s=o[t+1],g=i.selection,c=s.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let l;if(c.isEmpty()||g.isEmpty()?l=c.getStartPosition().isBeforeOrEqual(g.getEndPosition()):l=c.getStartPosition().isBefore(g.getEndPosition()),l){const a=i.index<s.index?t:t+1,r=i.index<s.index?t+1:t,u=o[r].index,C=o[a].index,f=o[r].selection,h=o[a].selection;if(!f.equalsSelection(h)){const v=f.plusRange(h),w=f.selectionStartLineNumber===f.startLineNumber&&f.selectionStartColumn===f.startColumn,S=h.selectionStartLineNumber===h.startLineNumber&&h.selectionStartColumn===h.startColumn;let L;u===this.lastAddedCursorIndex?(L=w,this.lastAddedCursorIndex=C):L=S;let D;L?D=new _.Selection(v.startLineNumber,v.startColumn,v.endLineNumber,v.endColumn):D=new _.Selection(v.endLineNumber,v.endColumn,v.startLineNumber,v.startColumn),o[a].selection=D;const T=I.CursorState.fromModelSelection(D);n[C].setState(this.context,T.modelState,T.viewState)}for(const v of o)v.index>u&&v.index--;n.splice(u,1),o.splice(r,1),this._removeSecondaryCursor(u-1),t--}}}}e.CursorCollection=b}),define(ne[568],se([1,0,131]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CharacterPairSupport=void 0;class k{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> \n\t`}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'\"\\`;:.,=}])> \n\t`}constructor(E){if(E.autoClosingPairs?this._autoClosingPairs=E.autoClosingPairs.map(y=>new d.StandardAutoClosingPairConditional(y)):E.brackets?this._autoClosingPairs=E.brackets.map(y=>new d.StandardAutoClosingPairConditional({open:y[0],close:y[1]})):this._autoClosingPairs=[],E.__electricCharacterSupport&&E.__electricCharacterSupport.docComment){const y=E.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new d.StandardAutoClosingPairConditional({open:y.open,close:y.close||\"\"}))}this._autoCloseBeforeForQuotes=typeof E.autoCloseBefore==\"string\"?E.autoCloseBefore:k.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof E.autoCloseBefore==\"string\"?E.autoCloseBefore:k.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=E.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(E){return E?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}e.CharacterPairSupport=k}),define(ne[569],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IndentRulesSupport=void 0;function d(I){return I.global&&(I.lastIndex=0),!0}class k{constructor(E){this._indentationRules=E}shouldIncrease(E){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&d(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(E))}shouldDecrease(E){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&d(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(E))}shouldIndentNextLine(E){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&d(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(E))}shouldIgnore(E){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&d(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(E))}getIndentMetadata(E){let y=0;return this.shouldIncrease(E)&&(y+=1),this.shouldDecrease(E)&&(y+=2),this.shouldIndentNextLine(E)&&(y+=4),this.shouldIgnore(E)&&(y+=8),y}}e.IndentRulesSupport=k}),define(ne[570],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BasicInplaceReplace=void 0;class d{constructor(){this._defaultValueSet=[[\"true\",\"false\"],[\"True\",\"False\"],[\"Private\",\"Public\",\"Friend\",\"ReadOnly\",\"Partial\",\"Protected\",\"WriteOnly\"],[\"public\",\"protected\",\"private\"]]}static{this.INSTANCE=new d}navigateValueSet(I,E,y,m,_){if(I&&E){const b=this.doNavigateValueSet(E,_);if(b)return{range:I,value:b}}if(y&&m){const b=this.doNavigateValueSet(m,_);if(b)return{range:y,value:b}}return null}doNavigateValueSet(I,E){const y=this.numberReplace(I,E);return y!==null?y:this.textReplace(I,E)}numberReplace(I,E){const y=Math.pow(10,I.length-(I.lastIndexOf(\".\")+1));let m=Number(I);const _=parseFloat(I);return!isNaN(m)&&!isNaN(_)&&m===_?m===0&&!E?null:(m=Math.floor(m*y),m+=E?y:-y,String(m/y)):null}textReplace(I,E){return this.valueSetsReplace(this._defaultValueSet,I,E)}valueSetsReplace(I,E,y){let m=null;for(let _=0,b=I.length;m===null&&_<b;_++)m=this.valueSetReplace(I[_],E,y);return m}valueSetReplace(I,E,y){let m=I.indexOf(E);return m>=0?(m+=y?1:-1,m<0?m=I.length-1:m%=I.length,I[m]):null}}e.BasicInplaceReplace=d}),define(ne[571],se([1,0,8,11,131]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OnEnterSupport=void 0;class E{constructor(m){m=m||{},m.brackets=m.brackets||[[\"(\",\")\"],[\"{\",\"}\"],[\"[\",\"]\"]],this._brackets=[],m.brackets.forEach(_=>{const b=E._createOpenBracketRegExp(_[0]),p=E._createCloseBracketRegExp(_[1]);b&&p&&this._brackets.push({open:_[0],openRegExp:b,close:_[1],closeRegExp:p})}),this._regExpRules=m.onEnterRules||[]}onEnter(m,_,b,p){if(m>=3)for(let n=0,o=this._regExpRules.length;n<o;n++){const t=this._regExpRules[n];if([{reg:t.beforeText,text:b},{reg:t.afterText,text:p},{reg:t.previousLineText,text:_}].every(s=>s.reg?(s.reg.lastIndex=0,s.reg.test(s.text)):!0))return t.action}if(m>=2&&b.length>0&&p.length>0)for(let n=0,o=this._brackets.length;n<o;n++){const t=this._brackets[n];if(t.openRegExp.test(b)&&t.closeRegExp.test(p))return{indentAction:I.IndentAction.IndentOutdent}}if(m>=2&&b.length>0){for(let n=0,o=this._brackets.length;n<o;n++)if(this._brackets[n].openRegExp.test(b))return{indentAction:I.IndentAction.Indent}}return null}static _createOpenBracketRegExp(m){let _=k.escapeRegExpCharacters(m);return/\\B/.test(_.charAt(0))||(_=\"\\\\b\"+_),_+=\"\\\\s*$\",E._safeRegExp(_)}static _createCloseBracketRegExp(m){let _=k.escapeRegExpCharacters(m);return/\\B/.test(_.charAt(_.length-1))||(_=_+\"\\\\b\"),_=\"^\\\\s*\"+_,E._safeRegExp(_)}static _safeRegExp(m){try{return new RegExp(m)}catch(_){return(0,d.onUnexpectedError)(_),null}}}e.OnEnterSupport=E}),define(ne[572],se([1,0,33]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ThemeTrieElement=e.ThemeTrieElementRule=e.TokenTheme=e.ColorMap=e.ParsedTokenThemeRule=void 0,e.parseTokenTheme=I,e.toStandardTokenType=p,e.strcmp=n,e.generateTokensCSSForColorMap=i;class k{constructor(g,c,l,a,r){this._parsedThemeRuleBrand=void 0,this.token=g,this.index=c,this.fontStyle=l,this.foreground=a,this.background=r}}e.ParsedTokenThemeRule=k;function I(s){if(!s||!Array.isArray(s))return[];const g=[];let c=0;for(let l=0,a=s.length;l<a;l++){const r=s[l];let u=-1;if(typeof r.fontStyle==\"string\"){u=0;const h=r.fontStyle.split(\" \");for(let v=0,w=h.length;v<w;v++)switch(h[v]){case\"italic\":u=u|1;break;case\"bold\":u=u|2;break;case\"underline\":u=u|4;break;case\"strikethrough\":u=u|8;break}}let C=null;typeof r.foreground==\"string\"&&(C=r.foreground);let f=null;typeof r.background==\"string\"&&(f=r.background),g[c++]=new k(r.token||\"\",l,u,C,f)}return g}function E(s,g){s.sort((v,w)=>{const S=n(v.token,w.token);return S!==0?S:v.index-w.index});let c=0,l=\"000000\",a=\"ffffff\";for(;s.length>=1&&s[0].token===\"\";){const v=s.shift();v.fontStyle!==-1&&(c=v.fontStyle),v.foreground!==null&&(l=v.foreground),v.background!==null&&(a=v.background)}const r=new m;for(const v of g)r.getId(v);const u=r.getId(l),C=r.getId(a),f=new o(c,u,C),h=new t(f);for(let v=0,w=s.length;v<w;v++){const S=s[v];h.insert(S.token,S.fontStyle,r.getId(S.foreground),r.getId(S.background))}return new _(r,h)}const y=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class m{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(g){if(g===null)return 0;const c=g.match(y);if(!c)throw new Error(\"Illegal value for token color: \"+g);g=c[1].toUpperCase();let l=this._color2id.get(g);return l||(l=++this._lastColorId,this._color2id.set(g,l),this._id2color[l]=d.Color.fromHex(\"#\"+g),l)}getColorMap(){return this._id2color.slice(0)}}e.ColorMap=m;class _{static createFromRawTokenTheme(g,c){return this.createFromParsedTokenTheme(I(g),c)}static createFromParsedTokenTheme(g,c){return E(g,c)}constructor(g,c){this._colorMap=g,this._root=c,this._cache=new Map}getColorMap(){return this._colorMap.getColorMap()}_match(g){return this._root.match(g)}match(g,c){let l=this._cache.get(c);if(typeof l>\"u\"){const a=this._match(c),r=p(c);l=(a.metadata|r<<8)>>>0,this._cache.set(c,l)}return(l|g<<0)>>>0}}e.TokenTheme=_;const b=/\\b(comment|string|regex|regexp)\\b/;function p(s){const g=s.match(b);if(!g)return 0;switch(g[1]){case\"comment\":return 1;case\"string\":return 2;case\"regex\":return 3;case\"regexp\":return 3}throw new Error(\"Unexpected match for standard token type!\")}function n(s,g){return s<g?-1:s>g?1:0}class o{constructor(g,c,l){this._themeTrieElementRuleBrand=void 0,this._fontStyle=g,this._foreground=c,this._background=l,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new o(this._fontStyle,this._foreground,this._background)}acceptOverwrite(g,c,l){g!==-1&&(this._fontStyle=g),c!==0&&(this._foreground=c),l!==0&&(this._background=l),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}e.ThemeTrieElementRule=o;class t{constructor(g){this._themeTrieElementBrand=void 0,this._mainRule=g,this._children=new Map}match(g){if(g===\"\")return this._mainRule;const c=g.indexOf(\".\");let l,a;c===-1?(l=g,a=\"\"):(l=g.substring(0,c),a=g.substring(c+1));const r=this._children.get(l);return typeof r<\"u\"?r.match(a):this._mainRule}insert(g,c,l,a){if(g===\"\"){this._mainRule.acceptOverwrite(c,l,a);return}const r=g.indexOf(\".\");let u,C;r===-1?(u=g,C=\"\"):(u=g.substring(0,r),C=g.substring(r+1));let f=this._children.get(u);typeof f>\"u\"&&(f=new t(this._mainRule.clone()),this._children.set(u,f)),f.insert(C,c,l,a)}}e.ThemeTrieElement=t;function i(s){const g=[];for(let c=1,l=s.length;c<l;c++){const a=s[c];g[c]=`.mtk${c} { color: ${a}; }`}return g.push(\".mtki { font-style: italic; }\"),g.push(\".mtkb { font-weight: bold; }\"),g.push(\".mtku { text-decoration: underline; text-underline-position: under; }\"),g.push(\".mtks { text-decoration: line-through; }\"),g.push(\".mtks.mtku { text-decoration: underline line-through; text-underline-position: under; }\"),g.join(`\n`)}}),define(ne[40],se([1,0,60]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ApplyEditsResult=e.SearchData=e.ValidAnnotatedEditOperation=e.FindMatch=e.TextModelResolvedOptions=e.InjectedTextCursorStops=e.GlyphMarginLane=e.OverviewRulerLane=void 0,e.isITextSnapshot=_,e.shouldSynchronizeModel=o;var k;(function(t){t[t.Left=1]=\"Left\",t[t.Center=2]=\"Center\",t[t.Right=4]=\"Right\",t[t.Full=7]=\"Full\"})(k||(e.OverviewRulerLane=k={}));var I;(function(t){t[t.Left=1]=\"Left\",t[t.Center=2]=\"Center\",t[t.Right=3]=\"Right\"})(I||(e.GlyphMarginLane=I={}));var E;(function(t){t[t.Both=0]=\"Both\",t[t.Right=1]=\"Right\",t[t.Left=2]=\"Left\",t[t.None=3]=\"None\"})(E||(e.InjectedTextCursorStops=E={}));class y{get originalIndentSize(){return this._indentSizeIsTabSize?\"tabSize\":this.indentSize}constructor(i){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,i.tabSize|0),i.indentSize===\"tabSize\"?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,i.indentSize|0),this._indentSizeIsTabSize=!1),this.insertSpaces=!!i.insertSpaces,this.defaultEOL=i.defaultEOL|0,this.trimAutoWhitespace=!!i.trimAutoWhitespace,this.bracketPairColorizationOptions=i.bracketPairColorizationOptions}equals(i){return this.tabSize===i.tabSize&&this._indentSizeIsTabSize===i._indentSizeIsTabSize&&this.indentSize===i.indentSize&&this.insertSpaces===i.insertSpaces&&this.defaultEOL===i.defaultEOL&&this.trimAutoWhitespace===i.trimAutoWhitespace&&(0,d.equals)(this.bracketPairColorizationOptions,i.bracketPairColorizationOptions)}createChangeEvent(i){return{tabSize:this.tabSize!==i.tabSize,indentSize:this.indentSize!==i.indentSize,insertSpaces:this.insertSpaces!==i.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==i.trimAutoWhitespace}}}e.TextModelResolvedOptions=y;class m{constructor(i,s){this._findMatchBrand=void 0,this.range=i,this.matches=s}}e.FindMatch=m;function _(t){return t&&typeof t.read==\"function\"}class b{constructor(i,s,g,c,l,a){this.identifier=i,this.range=s,this.text=g,this.forceMoveMarkers=c,this.isAutoWhitespaceEdit=l,this._isTracked=a}}e.ValidAnnotatedEditOperation=b;class p{constructor(i,s,g){this.regex=i,this.wordSeparators=s,this.simpleSearch=g}}e.SearchData=p;class n{constructor(i,s,g){this.reverseEdits=i,this.changes=s,this.trimAutoWhitespaceLineNumbers=g}}e.ApplyEditsResult=n;function o(t){return!t.isTooLargeForSyncing()&&!t.isForSimpleWidget}}),define(ne[106],se([1,0,11,4,113]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.lengthZero=void 0,e.lengthDiff=E,e.lengthIsZero=y,e.toLength=_,e.lengthToObj=b,e.lengthGetLineCount=p,e.lengthGetColumnCountIfZeroLineCount=n,e.lengthAdd=o,e.sumLengths=t,e.lengthEquals=i,e.lengthDiffNonNegative=s,e.lengthLessThan=g,e.lengthLessThanEqual=c,e.lengthGreaterThanEqual=l,e.positionToLength=a,e.lengthsToRange=r,e.lengthOfString=u;function E(C,f,h,v){return C!==h?_(h-C,v):_(0,v-f)}e.lengthZero=0;function y(C){return C===0}const m=2**26;function _(C,f){return C*m+f}function b(C){const f=C,h=Math.floor(f/m),v=f-h*m;return new I.TextLength(h,v)}function p(C){return Math.floor(C/m)}function n(C){return C}function o(C,f){let h=C+f;return f>=m&&(h=h-C%m),h}function t(C,f){return C.reduce((h,v)=>o(h,f(v)),e.lengthZero)}function i(C,f){return C===f}function s(C,f){const h=C,v=f;if(v-h<=0)return e.lengthZero;const S=Math.floor(h/m),L=Math.floor(v/m),D=v-L*m;if(S===L){const T=h-S*m;return _(0,D-T)}else return _(L-S,D)}function g(C,f){return C<f}function c(C,f){return C<=f}function l(C,f){return C>=f}function a(C){return _(C.lineNumber-1,C.column-1)}function r(C,f){const h=C,v=Math.floor(h/m),w=h-v*m,S=f,L=Math.floor(S/m),D=S-L*m;return new k.Range(v+1,w+1,L+1,D+1)}function u(C){const f=(0,d.splitLines)(C);return _(f.length-1,f[f.length-1].length)}}),define(ne[200],se([1,0,4,106]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BeforeEditPositionMapper=e.TextEditInfo=void 0;class I{static fromModelContentChanges(_){return _.map(p=>{const n=d.Range.lift(p.range);return new I((0,k.positionToLength)(n.getStartPosition()),(0,k.positionToLength)(n.getEndPosition()),(0,k.lengthOfString)(p.text))}).reverse()}constructor(_,b,p){this.startOffset=_,this.endOffset=b,this.newLength=p}toString(){return`[${(0,k.lengthToObj)(this.startOffset)}...${(0,k.lengthToObj)(this.endOffset)}) -> ${(0,k.lengthToObj)(this.newLength)}`}}e.TextEditInfo=I;class E{constructor(_){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=_.map(b=>y.from(b))}getOffsetBeforeChange(_){return this.adjustNextEdit(_),this.translateCurToOld(_)}getDistanceToNextChange(_){this.adjustNextEdit(_);const b=this.edits[this.nextEditIdx],p=b?this.translateOldToCur(b.offsetObj):null;return p===null?null:(0,k.lengthDiffNonNegative)(_,p)}translateOldToCur(_){return _.lineCount===this.deltaLineIdxInOld?(0,k.toLength)(_.lineCount+this.deltaOldToNewLineCount,_.columnCount+this.deltaOldToNewColumnCount):(0,k.toLength)(_.lineCount+this.deltaOldToNewLineCount,_.columnCount)}translateCurToOld(_){const b=(0,k.lengthToObj)(_);return b.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,k.toLength)(b.lineCount-this.deltaOldToNewLineCount,b.columnCount-this.deltaOldToNewColumnCount):(0,k.toLength)(b.lineCount-this.deltaOldToNewLineCount,b.columnCount)}adjustNextEdit(_){for(;this.nextEditIdx<this.edits.length;){const b=this.edits[this.nextEditIdx],p=this.translateOldToCur(b.endOffsetAfterObj);if((0,k.lengthLessThanEqual)(p,_)){this.nextEditIdx++;const n=(0,k.lengthToObj)(p),o=(0,k.lengthToObj)(this.translateOldToCur(b.endOffsetBeforeObj)),t=n.lineCount-o.lineCount;this.deltaOldToNewLineCount+=t;const i=this.deltaLineIdxInOld===b.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,s=n.columnCount-o.columnCount;this.deltaOldToNewColumnCount=i+s,this.deltaLineIdxInOld=b.endOffsetBeforeObj.lineCount}else break}}}e.BeforeEditPositionMapper=E;class y{static from(_){return new y(_.startOffset,_.endOffset,_.newLength)}constructor(_,b,p){this.endOffsetBeforeObj=(0,k.lengthToObj)(b),this.endOffsetAfterObj=(0,k.lengthToObj)((0,k.lengthAdd)(_,p)),this.offsetObj=(0,k.lengthToObj)(_)}}}),define(ne[319],se([1,0,13,200,106]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.combineTextEditInfos=E;function E(_,b){if(_.length===0)return b;if(b.length===0)return _;const p=new d.ArrayQueue(m(_)),n=m(b);n.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let o=p.dequeue();function t(c){if(c===void 0){const a=p.takeWhile(r=>!0)||[];return o&&a.unshift(o),a}const l=[];for(;o&&!(0,I.lengthIsZero)(c);){const[a,r]=o.splitAt(c);l.push(a),c=(0,I.lengthDiffNonNegative)(a.lengthAfter,c),o=r??p.dequeue()}return(0,I.lengthIsZero)(c)||l.push(new y(!1,c,c)),l}const i=[];function s(c,l,a){if(i.length>0&&(0,I.lengthEquals)(i[i.length-1].endOffset,c)){const r=i[i.length-1];i[i.length-1]=new k.TextEditInfo(r.startOffset,l,(0,I.lengthAdd)(r.newLength,a))}else i.push({startOffset:c,endOffset:l,newLength:a})}let g=I.lengthZero;for(const c of n){const l=t(c.lengthBefore);if(c.modified){const a=(0,I.sumLengths)(l,u=>u.lengthBefore),r=(0,I.lengthAdd)(g,a);s(g,r,c.lengthAfter),g=r}else for(const a of l){const r=g;g=(0,I.lengthAdd)(g,a.lengthBefore),a.modified&&s(r,g,a.lengthAfter)}}return i}class y{constructor(b,p,n){this.modified=b,this.lengthBefore=p,this.lengthAfter=n}splitAt(b){const p=(0,I.lengthDiffNonNegative)(b,this.lengthAfter);return(0,I.lengthEquals)(p,I.lengthZero)?[this,void 0]:this.modified?[new y(this.modified,this.lengthBefore,b),new y(this.modified,I.lengthZero,p)]:[new y(this.modified,b,b),new y(this.modified,p,p)]}toString(){return`${this.modified?\"M\":\"U\"}:${(0,I.lengthToObj)(this.lengthBefore)} -> ${(0,I.lengthToObj)(this.lengthAfter)}`}}function m(_){const b=[];let p=I.lengthZero;for(const n of _){const o=(0,I.lengthDiffNonNegative)(p,n.startOffset);(0,I.lengthIsZero)(o)||b.push(new y(!1,o,o));const t=(0,I.lengthDiffNonNegative)(n.startOffset,n.endOffset);b.push(new y(!0,t,n.newLength)),p=n.endOffset}return b}}),define(ne[573],se([1,0,106]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.NodeReader=void 0;class k{constructor(m){this.lastOffset=d.lengthZero,this.nextNodes=[m],this.offsets=[d.lengthZero],this.idxs=[]}readLongestNodeAt(m,_){if((0,d.lengthLessThan)(m,this.lastOffset))throw new Error(\"Invalid offset\");for(this.lastOffset=m;;){const b=E(this.nextNodes);if(!b)return;const p=E(this.offsets);if((0,d.lengthLessThan)(m,p))return;if((0,d.lengthLessThan)(p,m))if((0,d.lengthAdd)(p,b.length)<=m)this.nextNodeAfterCurrent();else{const n=I(b);n!==-1?(this.nextNodes.push(b.getChild(n)),this.offsets.push(p),this.idxs.push(n)):this.nextNodeAfterCurrent()}else{if(_(b))return this.nextNodeAfterCurrent(),b;{const n=I(b);if(n===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(b.getChild(n)),this.offsets.push(p),this.idxs.push(n)}}}}nextNodeAfterCurrent(){for(;;){const m=E(this.offsets),_=E(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const b=E(this.nextNodes),p=I(b,this.idxs[this.idxs.length-1]);if(p!==-1){this.nextNodes.push(b.getChild(p)),this.offsets.push((0,d.lengthAdd)(m,_.length)),this.idxs[this.idxs.length-1]=p;break}else this.idxs.pop()}}}e.NodeReader=k;function I(y,m=-1){for(;;){if(m++,m>=y.childrenLength)return-1;if(y.getChild(m))return m}}function E(y){return y.length>0?y[y.length-1]:void 0}}),define(ne[149],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DenseKeyProvider=e.identityKeyProvider=e.SmallImmutableSet=void 0;const d=[];class k{static{this.cache=new Array(129)}static create(y,m){if(y<=128&&m.length===0){let _=k.cache[y];return _||(_=new k(y,m),k.cache[y]=_),_}return new k(y,m)}static{this.empty=k.create(0,d)}static getEmpty(){return this.empty}constructor(y,m){this.items=y,this.additionalItems=m}add(y,m){const _=m.getKey(y);let b=_>>5;if(b===0){const n=1<<_|this.items;return n===this.items?this:k.create(n,this.additionalItems)}b--;const p=this.additionalItems.slice(0);for(;p.length<b;)p.push(0);return p[b]|=1<<(_&31),k.create(this.items,p)}merge(y){const m=this.items|y.items;if(this.additionalItems===d&&y.additionalItems===d)return m===this.items?this:m===y.items?y:k.create(m,d);const _=[];for(let b=0;b<Math.max(this.additionalItems.length,y.additionalItems.length);b++){const p=this.additionalItems[b]||0,n=y.additionalItems[b]||0;_.push(p|n)}return k.create(m,_)}intersects(y){if(this.items&y.items)return!0;for(let m=0;m<Math.min(this.additionalItems.length,y.additionalItems.length);m++)if(this.additionalItems[m]&y.additionalItems[m])return!0;return!1}}e.SmallImmutableSet=k,e.identityKeyProvider={getKey(E){return E}};class I{constructor(){this.items=new Map}getKey(y){let m=this.items.get(y);return m===void 0&&(m=this.items.size,this.items.set(y,m)),m}}e.DenseKeyProvider=I}),define(ne[201],se([1,0,8,94,106,149]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InvalidBracketAstNode=e.BracketAstNode=e.TextAstNode=e.ListAstNode=e.PairAstNode=void 0;class y{get length(){return this._length}constructor(a){this._length=a}}class m extends y{static create(a,r,u){let C=a.length;return r&&(C=(0,I.lengthAdd)(C,r.length)),u&&(C=(0,I.lengthAdd)(C,u.length)),new m(C,a,r,u,r?r.missingOpeningBracketIds:E.SmallImmutableSet.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(a){switch(a){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error(\"Invalid child index\")}get children(){const a=[];return a.push(this.openingBracket),this.child&&a.push(this.child),this.closingBracket&&a.push(this.closingBracket),a}constructor(a,r,u,C,f){super(a),this.openingBracket=r,this.child=u,this.closingBracket=C,this.missingOpeningBracketIds=f}canBeReused(a){return!(this.closingBracket===null||a.intersects(this.missingOpeningBracketIds))}deepClone(){return new m(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(a,r){return this.child?this.child.computeMinIndentation((0,I.lengthAdd)(a,this.openingBracket.length),r):Number.MAX_SAFE_INTEGER}}e.PairAstNode=m;class _ extends y{static create23(a,r,u,C=!1){let f=a.length,h=a.missingOpeningBracketIds;if(a.listHeight!==r.listHeight)throw new Error(\"Invalid list heights\");if(f=(0,I.lengthAdd)(f,r.length),h=h.merge(r.missingOpeningBracketIds),u){if(a.listHeight!==u.listHeight)throw new Error(\"Invalid list heights\");f=(0,I.lengthAdd)(f,u.length),h=h.merge(u.missingOpeningBracketIds)}return C?new p(f,a.listHeight+1,a,r,u,h):new b(f,a.listHeight+1,a,r,u,h)}static getEmpty(){return new o(I.lengthZero,0,[],E.SmallImmutableSet.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(a,r,u){super(a),this.listHeight=r,this._missingOpeningBracketIds=u,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const a=this.childrenLength;if(a===0)return;const r=this.getChild(a-1),u=r.kind===4?r.toMutable():r;return r!==u&&this.setChild(a-1,u),u}makeFirstElementMutable(){if(this.throwIfImmutable(),this.childrenLength===0)return;const r=this.getChild(0),u=r.kind===4?r.toMutable():r;return r!==u&&this.setChild(0,u),u}canBeReused(a){if(a.intersects(this.missingOpeningBracketIds)||this.childrenLength===0)return!1;let r=this;for(;r.kind===4;){const u=r.childrenLength;if(u===0)throw new d.BugIndicatingError;r=r.getChild(u-1)}return r.canBeReused(a)}handleChildrenChanged(){this.throwIfImmutable();const a=this.childrenLength;let r=this.getChild(0).length,u=this.getChild(0).missingOpeningBracketIds;for(let C=1;C<a;C++){const f=this.getChild(C);r=(0,I.lengthAdd)(r,f.length),u=u.merge(f.missingOpeningBracketIds)}this._length=r,this._missingOpeningBracketIds=u,this.cachedMinIndentation=-1}computeMinIndentation(a,r){if(this.cachedMinIndentation!==-1)return this.cachedMinIndentation;let u=Number.MAX_SAFE_INTEGER,C=a;for(let f=0;f<this.childrenLength;f++){const h=this.getChild(f);h&&(u=Math.min(u,h.computeMinIndentation(C,r)),C=(0,I.lengthAdd)(C,h.length))}return this.cachedMinIndentation=u,u}}e.ListAstNode=_;class b extends _{get childrenLength(){return this._item3!==null?3:2}getChild(a){switch(a){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error(\"Invalid child index\")}setChild(a,r){switch(a){case 0:this._item1=r;return;case 1:this._item2=r;return;case 2:this._item3=r;return}throw new Error(\"Invalid child index\")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(a,r,u,C,f,h){super(a,r,h),this._item1=u,this._item2=C,this._item3=f}deepClone(){return new b(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(a){if(this._item3)throw new Error(\"Cannot append to a full (2,3) tree node\");this.throwIfImmutable(),this._item3=a,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error(\"Cannot remove from a non-full (2,3) tree node\");this.throwIfImmutable();const a=this._item3;return this._item3=null,this.handleChildrenChanged(),a}prependChildOfSameHeight(a){if(this._item3)throw new Error(\"Cannot prepend to a full (2,3) tree node\");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=a,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error(\"Cannot remove from a non-full (2,3) tree node\");this.throwIfImmutable();const a=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),a}toMutable(){return this}}class p extends b{toMutable(){return new b(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error(\"this instance is immutable\")}}class n extends _{get childrenLength(){return this._children.length}getChild(a){return this._children[a]}setChild(a,r){this._children[a]=r}get children(){return this._children}constructor(a,r,u,C){super(a,r,C),this._children=u}deepClone(){const a=new Array(this._children.length);for(let r=0;r<this._children.length;r++)a[r]=this._children[r].deepClone();return new n(this.length,this.listHeight,a,this.missingOpeningBracketIds)}appendChildOfSameHeight(a){this.throwIfImmutable(),this._children.push(a),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const a=this._children.pop();return this.handleChildrenChanged(),a}prependChildOfSameHeight(a){this.throwIfImmutable(),this._children.unshift(a),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const a=this._children.shift();return this.handleChildrenChanged(),a}toMutable(){return this}}class o extends n{toMutable(){return new n(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error(\"this instance is immutable\")}}const t=[];class i extends y{get listHeight(){return 0}get childrenLength(){return 0}getChild(a){return null}get children(){return t}deepClone(){return this}}class s extends i{get kind(){return 0}get missingOpeningBracketIds(){return E.SmallImmutableSet.getEmpty()}canBeReused(a){return!0}computeMinIndentation(a,r){const u=(0,I.lengthToObj)(a),C=(u.columnCount===0?u.lineCount:u.lineCount+1)+1,f=(0,I.lengthGetLineCount)((0,I.lengthAdd)(a,this.length))+1;let h=Number.MAX_SAFE_INTEGER;for(let v=C;v<=f;v++){const w=r.getLineFirstNonWhitespaceColumn(v),S=r.getLineContent(v);if(w===0)continue;const L=k.CursorColumns.visibleColumnFromColumn(S,w,r.getOptions().tabSize);h=Math.min(h,L)}return h}}e.TextAstNode=s;class g extends i{static create(a,r,u){return new g(a,r,u)}get kind(){return 1}get missingOpeningBracketIds(){return E.SmallImmutableSet.getEmpty()}constructor(a,r,u){super(a),this.bracketInfo=r,this.bracketIds=u}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(a){return!1}computeMinIndentation(a,r){return Number.MAX_SAFE_INTEGER}}e.BracketAstNode=g;class c extends i{get kind(){return 3}constructor(a,r){super(r),this.missingOpeningBracketIds=a}canBeReused(a){return!a.intersects(this.missingOpeningBracketIds)}computeMinIndentation(a,r){return Number.MAX_SAFE_INTEGER}}e.InvalidBracketAstNode=c}),define(ne[574],se([1,0,201]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.concat23Trees=k,e.concat23TreesOfSameHeight=I;function k(b){if(b.length===0)return null;if(b.length===1)return b[0];let p=0;function n(){if(p>=b.length)return null;const s=p,g=b[s].listHeight;for(p++;p<b.length&&b[p].listHeight===g;)p++;return p-s>=2?I(s===0&&p===b.length?b:b.slice(s,p),!1):b[s]}let o=n(),t=n();if(!t)return o;for(let s=n();s;s=n())E(o,t)<=E(t,s)?(o=y(o,t),t=s):t=y(t,s);return y(o,t)}function I(b,p=!1){if(b.length===0)return null;if(b.length===1)return b[0];let n=b.length;for(;n>3;){const o=n>>1;for(let t=0;t<o;t++){const i=t<<1;b[t]=d.ListAstNode.create23(b[i],b[i+1],i+3===n?b[i+2]:null,p)}n=o}return d.ListAstNode.create23(b[0],b[1],n>=3?b[2]:null,p)}function E(b,p){return Math.abs(b.listHeight-p.listHeight)}function y(b,p){return b.listHeight===p.listHeight?d.ListAstNode.create23(b,p,null,!1):b.listHeight>p.listHeight?m(b,p):_(p,b)}function m(b,p){b=b.toMutable();let n=b;const o=[];let t;for(;;){if(p.listHeight===n.listHeight){t=p;break}if(n.kind!==4)throw new Error(\"unexpected\");o.push(n),n=n.makeLastElementMutable()}for(let i=o.length-1;i>=0;i--){const s=o[i];t?s.childrenLength>=3?t=d.ListAstNode.create23(s.unappendChild(),t,null,!1):(s.appendChildOfSameHeight(t),t=void 0):s.handleChildrenChanged()}return t?d.ListAstNode.create23(b,t,null,!1):b}function _(b,p){b=b.toMutable();let n=b;const o=[];for(;p.listHeight!==n.listHeight;){if(n.kind!==4)throw new Error(\"unexpected\");o.push(n),n=n.makeFirstElementMutable()}let t=p;for(let i=o.length-1;i>=0;i--){const s=o[i];t?s.childrenLength>=3?t=d.ListAstNode.create23(t,s.unprependChild(),null,!1):(s.prependChildOfSameHeight(t),t=void 0):s.handleChildrenChanged()}return t?d.ListAstNode.create23(t,b,null,!1):b}}),define(ne[320],se([1,0,201,200,149,106,574,573]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseDocument=_;function _(p,n,o,t){return new b(p,n,o,t).parseDocument()}class b{constructor(n,o,t,i){if(this.tokenizer=n,this.createImmutableLists=i,this._itemsConstructed=0,this._itemsFromCache=0,t&&i)throw new Error(\"Not supported\");this.oldNodeReader=t?new m.NodeReader(t):void 0,this.positionMapper=new k.BeforeEditPositionMapper(o)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let n=this.parseList(I.SmallImmutableSet.getEmpty(),0);return n||(n=d.ListAstNode.getEmpty()),n}parseList(n,o){const t=[];for(;;){let s=this.tryReadChildFromCache(n);if(!s){const g=this.tokenizer.peek();if(!g||g.kind===2&&g.bracketIds.intersects(n))break;s=this.parseChild(n,o+1)}s.kind===4&&s.childrenLength===0||t.push(s)}return this.oldNodeReader?(0,y.concat23Trees)(t):(0,y.concat23TreesOfSameHeight)(t,this.createImmutableLists)}tryReadChildFromCache(n){if(this.oldNodeReader){const o=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(o===null||!(0,E.lengthIsZero)(o)){const t=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),i=>o!==null&&!(0,E.lengthLessThan)(i.length,o)?!1:i.canBeReused(n));if(t)return this._itemsFromCache++,this.tokenizer.skip(t.length),t}}}parseChild(n,o){this._itemsConstructed++;const t=this.tokenizer.read();switch(t.kind){case 2:return new d.InvalidBracketAstNode(t.bracketIds,t.length);case 0:return t.astNode;case 1:{if(o>300)return new d.TextAstNode(t.length);const i=n.merge(t.bracketIds),s=this.parseList(i,o+1),g=this.tokenizer.peek();return g&&g.kind===2&&(g.bracketId===t.bracketId||g.bracketIds.intersects(t.bracketIds))?(this.tokenizer.read(),d.PairAstNode.create(t.astNode,s,g.astNode)):d.PairAstNode.create(t.astNode,s,null)}default:throw new Error(\"unexpected\")}}}}),define(ne[236],se([1,0,8,148,201,106,149]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FastTokenizer=e.TextBufferTokenizer=e.Token=void 0;class m{constructor(o,t,i,s,g){this.length=o,this.kind=t,this.bracketId=i,this.bracketIds=s,this.astNode=g}}e.Token=m;class _{constructor(o,t){this.textModel=o,this.bracketTokens=t,this.reader=new b(this.textModel,this.bracketTokens),this._offset=E.lengthZero,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=o.getLineCount(),this.textBufferLastLineLength=o.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,E.toLength)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(o){this.didPeek=!1,this._offset=(0,E.lengthAdd)(this._offset,o);const t=(0,E.lengthToObj)(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let o;return this.peeked?(this.didPeek=!1,o=this.peeked):o=this.reader.read(),o&&(this._offset=(0,E.lengthAdd)(this._offset,o.length)),o}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}e.TextBufferTokenizer=_;class b{constructor(o,t){this.textModel=o,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=o.getLineCount(),this.textBufferLastLineLength=o.getLineLength(this.textBufferLineCount)}setPosition(o,t){o===this.lineIdx?(this.lineCharOffset=t,this.line!==null&&(this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=o,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const g=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,E.lengthGetColumnCountIfZeroLineCount)(g.length),g}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const o=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const g=this.lineTokens,c=g.getCount();let l=null;if(this.lineTokenOffset<c){const a=g.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<c&&a===g.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const r=k.TokenMetadata.getTokenType(a)===0,u=k.TokenMetadata.containsBalancedBrackets(a),C=g.getEndOffset(this.lineTokenOffset);if(u&&r&&this.lineCharOffset<C){const f=g.getLanguageId(this.lineTokenOffset),h=this.line.substring(this.lineCharOffset,C),v=this.bracketTokens.getSingleLanguageBracketTokens(f),w=v.regExpGlobal;if(w){w.lastIndex=0;const S=w.exec(h);S&&(l=v.getToken(S[0]),l&&(this.lineCharOffset+=S.index))}}if(i+=C-this.lineCharOffset,l)if(o!==this.lineIdx||t!==this.lineCharOffset){this.peekedToken=l;break}else return this.lineCharOffset+=(0,E.lengthGetColumnCountIfZeroLineCount)(l.length),l;else this.lineTokenOffset++,this.lineCharOffset=C}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,i+=33,i>1e3))break;if(i>1500)break}const s=(0,E.lengthDiff)(o,t,this.lineIdx,this.lineCharOffset);return new m(s,0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode(s))}}class p{constructor(o,t){this.text=o,this._offset=E.lengthZero,this.idx=0;const i=t.getRegExpStr(),s=i?new RegExp(i+`|\n`,\"gi\"):null,g=[];let c,l=0,a=0,r=0,u=0;const C=[];for(let v=0;v<60;v++)C.push(new m((0,E.toLength)(0,v),0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode((0,E.toLength)(0,v))));const f=[];for(let v=0;v<60;v++)f.push(new m((0,E.toLength)(1,v),0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode((0,E.toLength)(1,v))));if(s)for(s.lastIndex=0;(c=s.exec(o))!==null;){const v=c.index,w=c[0];if(w===`\n`)l++,a=v+1;else{if(r!==v){let S;if(u===l){const L=v-r;if(L<C.length)S=C[L];else{const D=(0,E.toLength)(0,L);S=new m(D,0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode(D))}}else{const L=l-u,D=v-a;if(L===1&&D<f.length)S=f[D];else{const T=(0,E.toLength)(L,D);S=new m(T,0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode(T))}}g.push(S)}g.push(t.getToken(w)),r=v+w.length,u=l}}const h=o.length;if(r!==h){const v=u===l?(0,E.toLength)(0,h-r):(0,E.toLength)(l-u,h-a);g.push(new m(v,0,-1,y.SmallImmutableSet.getEmpty(),new I.TextAstNode(v)))}this.length=(0,E.toLength)(l,h-a),this.tokens=g}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(o){throw new d.NotSupportedError}}e.FastTokenizer=p}),define(ne[321],se([1,0,11,201,106,149,236]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LanguageAgnosticBracketTokens=e.BracketTokens=void 0;class m{static createFromLanguage(n,o){function t(s){return o.getKey(`${s.languageId}:::${s.bracketText}`)}const i=new Map;for(const s of n.bracketsNew.openingBrackets){const g=(0,I.toLength)(0,s.bracketText.length),c=t(s),l=E.SmallImmutableSet.getEmpty().add(c,E.identityKeyProvider);i.set(s.bracketText,new y.Token(g,1,c,l,k.BracketAstNode.create(g,s,l)))}for(const s of n.bracketsNew.closingBrackets){const g=(0,I.toLength)(0,s.bracketText.length);let c=E.SmallImmutableSet.getEmpty();const l=s.getOpeningBrackets();for(const a of l)c=c.add(t(a),E.identityKeyProvider);i.set(s.bracketText,new y.Token(g,2,t(l[0]),c,k.BracketAstNode.create(g,s,c)))}return new m(i)}constructor(n){this.map=n,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const n=[...this.map.keys()];return n.sort(),n.reverse(),n.map(o=>_(o)).join(\"|\")}}get regExpGlobal(){if(!this.hasRegExp){const n=this.getRegExpStr();this._regExpGlobal=n?new RegExp(n,\"gi\"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(n){return this.map.get(n.toLowerCase())}findClosingTokenText(n){for(const[o,t]of this.map)if(t.kind===2&&t.bracketIds.intersects(n))return o}get isEmpty(){return this.map.size===0}}e.BracketTokens=m;function _(p){let n=(0,d.escapeRegExpCharacters)(p);return/^[\\w ]+/.test(p)&&(n=`\\\\b${n}`),/[\\w ]+$/.test(p)&&(n=`${n}\\\\b`),n}class b{constructor(n,o){this.denseKeyProvider=n,this.getLanguageConfiguration=o,this.languageIdToBracketTokens=new Map}didLanguageChange(n){return this.languageIdToBracketTokens.has(n)}getSingleLanguageBracketTokens(n){let o=this.languageIdToBracketTokens.get(n);return o||(o=m.createFromLanguage(this.getLanguageConfiguration(n),this.denseKeyProvider),this.languageIdToBracketTokens.set(n,o)),o}}e.LanguageAgnosticBracketTokens=b}),define(ne[575],se([1,0,321,106,320,149,236]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.fixBracketsInLine=m;function m(b,p){const n=new E.DenseKeyProvider,o=new d.LanguageAgnosticBracketTokens(n,l=>p.getLanguageConfiguration(l)),t=new y.TextBufferTokenizer(new _([b]),o),i=(0,I.parseDocument)(t,[],void 0,!0);let s=\"\";const g=b.getLineContent();function c(l,a){if(l.kind===2)if(c(l.openingBracket,a),a=(0,k.lengthAdd)(a,l.openingBracket.length),l.child&&(c(l.child,a),a=(0,k.lengthAdd)(a,l.child.length)),l.closingBracket)c(l.closingBracket,a),a=(0,k.lengthAdd)(a,l.closingBracket.length);else{const u=o.getSingleLanguageBracketTokens(l.openingBracket.languageId).findClosingTokenText(l.openingBracket.bracketIds);s+=u}else if(l.kind!==3){if(l.kind===0||l.kind===1)s+=g.substring((0,k.lengthGetColumnCountIfZeroLineCount)(a),(0,k.lengthGetColumnCountIfZeroLineCount)((0,k.lengthAdd)(a,l.length)));else if(l.kind===4)for(const r of l.children)c(r,a),a=(0,k.lengthAdd)(a,r.length)}}return c(i,k.lengthZero),s}class _{constructor(p){this.lines=p,this.tokenization={getLineTokens:n=>this.lines[n-1]}}getLineCount(){return this.lines.length}getLineLength(p){return this.lines[p-1].getLineContent().length}}}),define(ne[576],se([1,0,13]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FixedArray=void 0;class k{constructor(y){this._default=y,this._store=[]}get(y){return y<this._store.length?this._store[y]:this._default}set(y,m){for(;y>=this._store.length;)this._store[this._store.length]=this._default;this._store[y]=m}replace(y,m,_){if(y>=this._store.length)return;if(m===0){this.insert(y,_);return}else if(_===0){this.delete(y,m);return}const b=this._store.slice(0,y),p=this._store.slice(y+m),n=I(_,this._default);this._store=b.concat(n,p)}delete(y,m){m===0||y>=this._store.length||this._store.splice(y,m)}insert(y,m){if(m===0||y>=this._store.length)return;const _=[];for(let b=0;b<m;b++)_[b]=this._default;this._store=(0,d.arrayInsert)(this._store,y,_)}}e.FixedArray=k;function I(E,y){const m=[];for(let _=0;_<E;_++)m[_]=y;return m}}),define(ne[577],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.guessIndentation=I;class d{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function k(E,y,m,_,b){b.spacesDiff=0,b.looksLikeAlignment=!1;let p;for(p=0;p<y&&p<_;p++){const c=E.charCodeAt(p),l=m.charCodeAt(p);if(c!==l)break}let n=0,o=0;for(let c=p;c<y;c++)E.charCodeAt(c)===32?n++:o++;let t=0,i=0;for(let c=p;c<_;c++)m.charCodeAt(c)===32?t++:i++;if(n>0&&o>0||t>0&&i>0)return;const s=Math.abs(o-i),g=Math.abs(n-t);if(s===0){b.spacesDiff=g,g>0&&0<=t-1&&t-1<E.length&&t<m.length&&m.charCodeAt(t)!==32&&E.charCodeAt(t-1)===32&&E.charCodeAt(E.length-1)===44&&(b.looksLikeAlignment=!0);return}if(g%s===0){b.spacesDiff=g/s;return}}function I(E,y,m){const _=Math.min(E.getLineCount(),1e4);let b=0,p=0,n=\"\",o=0;const t=[2,4,6,8,3,5,7],i=8,s=[0,0,0,0,0,0,0,0,0],g=new d;for(let a=1;a<=_;a++){const r=E.getLineLength(a),u=E.getLineContent(a),C=r<=65536;let f=!1,h=0,v=0,w=0;for(let L=0,D=r;L<D;L++){const T=C?u.charCodeAt(L):E.getLineCharCode(a,L);if(T===9)w++;else if(T===32)v++;else{f=!0,h=L;break}}if(!f||(w>0?b++:v>1&&p++,k(n,o,u,h,g),g.looksLikeAlignment&&!(m&&y===g.spacesDiff)))continue;const S=g.spacesDiff;S<=i&&s[S]++,n=u,o=h}let c=m;b!==p&&(c=b<p);let l=y;if(c){let a=c?0:.1*_;t.forEach(r=>{const u=s[r];u>a&&(a=u,l=r)}),l===4&&s[4]>0&&s[2]>0&&s[2]>=s[4]/2&&(l=2)}return{insertSpaces:c,tabSize:l}}}),define(ne[578],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IntervalTree=e.SENTINEL=e.IntervalNode=void 0,e.getNodeColor=d,e.nodeAcceptEdit=l,e.recomputeMaxEnd=P,e.intervalCompare=O;function d(F){return(F.metadata&1)>>>0}function k(F,x){F.metadata=F.metadata&254|x<<0}function I(F){return(F.metadata&2)>>>1===1}function E(F,x){F.metadata=F.metadata&253|(x?1:0)<<1}function y(F){return(F.metadata&4)>>>2===1}function m(F,x){F.metadata=F.metadata&251|(x?1:0)<<2}function _(F){return(F.metadata&64)>>>6===1}function b(F,x){F.metadata=F.metadata&191|(x?1:0)<<6}function p(F){return(F.metadata&24)>>>3}function n(F,x){F.metadata=F.metadata&231|x<<3}function o(F){return(F.metadata&32)>>>5===1}function t(F,x){F.metadata=F.metadata&223|(x?1:0)<<5}class i{constructor(x,W,V){this.metadata=0,this.parent=this,this.left=this,this.right=this,k(this,1),this.start=W,this.end=V,this.delta=0,this.maxEnd=V,this.id=x,this.ownerId=0,this.options=null,m(this,!1),b(this,!1),n(this,1),t(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=W,this.cachedAbsoluteEnd=V,this.range=null,E(this,!1)}reset(x,W,V,q){this.start=W,this.end=V,this.maxEnd=V,this.cachedVersionId=x,this.cachedAbsoluteStart=W,this.cachedAbsoluteEnd=V,this.range=q}setOptions(x){this.options=x;const W=this.options.className;m(this,W===\"squiggly-error\"||W===\"squiggly-warning\"||W===\"squiggly-info\"),b(this,this.options.glyphMarginClassName!==null),n(this,this.options.stickiness),t(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(x,W,V){this.cachedVersionId!==V&&(this.range=null),this.cachedVersionId=V,this.cachedAbsoluteStart=x,this.cachedAbsoluteEnd=W}detach(){this.parent=null,this.left=null,this.right=null}}e.IntervalNode=i,e.SENTINEL=new i(null,0,0),e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.left=e.SENTINEL,e.SENTINEL.right=e.SENTINEL,k(e.SENTINEL,0);class s{constructor(){this.root=e.SENTINEL,this.requestNormalizeDelta=!1}intervalSearch(x,W,V,q,H,z){return this.root===e.SENTINEL?[]:h(this,x,W,V,q,H,z)}search(x,W,V,q){return this.root===e.SENTINEL?[]:f(this,x,W,V,q)}collectNodesFromOwner(x){return u(this,x)}collectNodesPostOrder(){return C(this)}insert(x){v(this,x),this._normalizeDeltaIfNecessary()}delete(x){S(this,x),this._normalizeDeltaIfNecessary()}resolveNode(x,W){const V=x;let q=0;for(;x!==this.root;)x===x.parent.right&&(q+=x.parent.delta),x=x.parent;const H=V.start+q,z=V.end+q;V.setCachedOffsets(H,z,W)}acceptReplace(x,W,V,q){const H=a(this,x,x+W);for(let z=0,U=H.length;z<U;z++){const j=H[z];S(this,j)}this._normalizeDeltaIfNecessary(),r(this,x,x+W,V),this._normalizeDeltaIfNecessary();for(let z=0,U=H.length;z<U;z++){const j=H[z];j.start=j.cachedAbsoluteStart,j.end=j.cachedAbsoluteEnd,l(j,x,x+W,V,q),j.maxEnd=j.end,v(this,j)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,g(this))}}e.IntervalTree=s;function g(F){let x=F.root,W=0;for(;x!==e.SENTINEL;){if(x.left!==e.SENTINEL&&!I(x.left)){x=x.left;continue}if(x.right!==e.SENTINEL&&!I(x.right)){W+=x.delta,x=x.right;continue}x.start=W+x.start,x.end=W+x.end,x.delta=0,P(x),E(x,!0),E(x.left,!1),E(x.right,!1),x===x.parent.right&&(W-=x.parent.delta),x=x.parent}E(F.root,!1)}function c(F,x,W,V){return F<W?!0:F>W||V===1?!1:V===2?!0:x}function l(F,x,W,V,q){const H=p(F),z=H===0||H===2,U=H===1||H===2,j=W-x,Y=V,G=Math.min(j,Y),K=F.start;let R=!1;const J=F.end;let ie=!1;x<=K&&J<=W&&o(F)&&(F.start=x,R=!0,F.end=x,ie=!0);{const he=q?1:j>0?2:0;!R&&c(K,z,x,he)&&(R=!0),!ie&&c(J,U,x,he)&&(ie=!0)}if(G>0&&!q){const he=j>Y?2:0;!R&&c(K,z,x+G,he)&&(R=!0),!ie&&c(J,U,x+G,he)&&(ie=!0)}{const he=q?1:0;!R&&c(K,z,W,he)&&(F.start=x+Y,R=!0),!ie&&c(J,U,W,he)&&(F.end=x+Y,ie=!0)}const ue=Y-j;R||(F.start=Math.max(0,K+ue)),ie||(F.end=Math.max(0,J+ue)),F.start>F.end&&(F.end=F.start)}function a(F,x,W){let V=F.root,q=0,H=0,z=0,U=0;const j=[];let Y=0;for(;V!==e.SENTINEL;){if(I(V)){E(V.left,!1),E(V.right,!1),V===V.parent.right&&(q-=V.parent.delta),V=V.parent;continue}if(!I(V.left)){if(H=q+V.maxEnd,H<x){E(V,!0);continue}if(V.left!==e.SENTINEL){V=V.left;continue}}if(z=q+V.start,z>W){E(V,!0);continue}if(U=q+V.end,U>=x&&(V.setCachedOffsets(z,U,0),j[Y++]=V),E(V,!0),V.right!==e.SENTINEL&&!I(V.right)){q+=V.delta,V=V.right;continue}}return E(F.root,!1),j}function r(F,x,W,V){let q=F.root,H=0,z=0,U=0;const j=V-(W-x);for(;q!==e.SENTINEL;){if(I(q)){E(q.left,!1),E(q.right,!1),q===q.parent.right&&(H-=q.parent.delta),P(q),q=q.parent;continue}if(!I(q.left)){if(z=H+q.maxEnd,z<x){E(q,!0);continue}if(q.left!==e.SENTINEL){q=q.left;continue}}if(U=H+q.start,U>W){q.start+=j,q.end+=j,q.delta+=j,(q.delta<-1073741824||q.delta>1073741824)&&(F.requestNormalizeDelta=!0),E(q,!0);continue}if(E(q,!0),q.right!==e.SENTINEL&&!I(q.right)){H+=q.delta,q=q.right;continue}}E(F.root,!1)}function u(F,x){let W=F.root;const V=[];let q=0;for(;W!==e.SENTINEL;){if(I(W)){E(W.left,!1),E(W.right,!1),W=W.parent;continue}if(W.left!==e.SENTINEL&&!I(W.left)){W=W.left;continue}if(W.ownerId===x&&(V[q++]=W),E(W,!0),W.right!==e.SENTINEL&&!I(W.right)){W=W.right;continue}}return E(F.root,!1),V}function C(F){let x=F.root;const W=[];let V=0;for(;x!==e.SENTINEL;){if(I(x)){E(x.left,!1),E(x.right,!1),x=x.parent;continue}if(x.left!==e.SENTINEL&&!I(x.left)){x=x.left;continue}if(x.right!==e.SENTINEL&&!I(x.right)){x=x.right;continue}W[V++]=x,E(x,!0)}return E(F.root,!1),W}function f(F,x,W,V,q){let H=F.root,z=0,U=0,j=0;const Y=[];let G=0;for(;H!==e.SENTINEL;){if(I(H)){E(H.left,!1),E(H.right,!1),H===H.parent.right&&(z-=H.parent.delta),H=H.parent;continue}if(H.left!==e.SENTINEL&&!I(H.left)){H=H.left;continue}U=z+H.start,j=z+H.end,H.setCachedOffsets(U,j,V);let K=!0;if(x&&H.ownerId&&H.ownerId!==x&&(K=!1),W&&y(H)&&(K=!1),q&&!_(H)&&(K=!1),K&&(Y[G++]=H),E(H,!0),H.right!==e.SENTINEL&&!I(H.right)){z+=H.delta,H=H.right;continue}}return E(F.root,!1),Y}function h(F,x,W,V,q,H,z){let U=F.root,j=0,Y=0,G=0,K=0;const R=[];let J=0;for(;U!==e.SENTINEL;){if(I(U)){E(U.left,!1),E(U.right,!1),U===U.parent.right&&(j-=U.parent.delta),U=U.parent;continue}if(!I(U.left)){if(Y=j+U.maxEnd,Y<x){E(U,!0);continue}if(U.left!==e.SENTINEL){U=U.left;continue}}if(G=j+U.start,G>W){E(U,!0);continue}if(K=j+U.end,K>=x){U.setCachedOffsets(G,K,H);let ie=!0;V&&U.ownerId&&U.ownerId!==V&&(ie=!1),q&&y(U)&&(ie=!1),z&&!_(U)&&(ie=!1),ie&&(R[J++]=U)}if(E(U,!0),U.right!==e.SENTINEL&&!I(U.right)){j+=U.delta,U=U.right;continue}}return E(F.root,!1),R}function v(F,x){if(F.root===e.SENTINEL)return x.parent=e.SENTINEL,x.left=e.SENTINEL,x.right=e.SENTINEL,k(x,0),F.root=x,F.root;w(F,x),N(x.parent);let W=x;for(;W!==F.root&&d(W.parent)===1;)if(W.parent===W.parent.parent.left){const V=W.parent.parent.right;d(V)===1?(k(W.parent,0),k(V,0),k(W.parent.parent,1),W=W.parent.parent):(W===W.parent.right&&(W=W.parent,T(F,W)),k(W.parent,0),k(W.parent.parent,1),M(F,W.parent.parent))}else{const V=W.parent.parent.left;d(V)===1?(k(W.parent,0),k(V,0),k(W.parent.parent,1),W=W.parent.parent):(W===W.parent.left&&(W=W.parent,M(F,W)),k(W.parent,0),k(W.parent.parent,1),T(F,W.parent.parent))}return k(F.root,0),x}function w(F,x){let W=0,V=F.root;const q=x.start,H=x.end;for(;;)if(O(q,H,V.start+W,V.end+W)<0)if(V.left===e.SENTINEL){x.start-=W,x.end-=W,x.maxEnd-=W,V.left=x;break}else V=V.left;else if(V.right===e.SENTINEL){x.start-=W+V.delta,x.end-=W+V.delta,x.maxEnd-=W+V.delta,V.right=x;break}else W+=V.delta,V=V.right;x.parent=V,x.left=e.SENTINEL,x.right=e.SENTINEL,k(x,1)}function S(F,x){let W,V;if(x.left===e.SENTINEL?(W=x.right,V=x,W.delta+=x.delta,(W.delta<-1073741824||W.delta>1073741824)&&(F.requestNormalizeDelta=!0),W.start+=x.delta,W.end+=x.delta):x.right===e.SENTINEL?(W=x.left,V=x):(V=L(x.right),W=V.right,W.start+=V.delta,W.end+=V.delta,W.delta+=V.delta,(W.delta<-1073741824||W.delta>1073741824)&&(F.requestNormalizeDelta=!0),V.start+=x.delta,V.end+=x.delta,V.delta=x.delta,(V.delta<-1073741824||V.delta>1073741824)&&(F.requestNormalizeDelta=!0)),V===F.root){F.root=W,k(W,0),x.detach(),D(),P(W),F.root.parent=e.SENTINEL;return}const q=d(V)===1;if(V===V.parent.left?V.parent.left=W:V.parent.right=W,V===x?W.parent=V.parent:(V.parent===x?W.parent=V:W.parent=V.parent,V.left=x.left,V.right=x.right,V.parent=x.parent,k(V,d(x)),x===F.root?F.root=V:x===x.parent.left?x.parent.left=V:x.parent.right=V,V.left!==e.SENTINEL&&(V.left.parent=V),V.right!==e.SENTINEL&&(V.right.parent=V)),x.detach(),q){N(W.parent),V!==x&&(N(V),N(V.parent)),D();return}N(W),N(W.parent),V!==x&&(N(V),N(V.parent));let H;for(;W!==F.root&&d(W)===0;)W===W.parent.left?(H=W.parent.right,d(H)===1&&(k(H,0),k(W.parent,1),T(F,W.parent),H=W.parent.right),d(H.left)===0&&d(H.right)===0?(k(H,1),W=W.parent):(d(H.right)===0&&(k(H.left,0),k(H,1),M(F,H),H=W.parent.right),k(H,d(W.parent)),k(W.parent,0),k(H.right,0),T(F,W.parent),W=F.root)):(H=W.parent.left,d(H)===1&&(k(H,0),k(W.parent,1),M(F,W.parent),H=W.parent.left),d(H.left)===0&&d(H.right)===0?(k(H,1),W=W.parent):(d(H.left)===0&&(k(H.right,0),k(H,1),T(F,H),H=W.parent.left),k(H,d(W.parent)),k(W.parent,0),k(H.left,0),M(F,W.parent),W=F.root));k(W,0),D()}function L(F){for(;F.left!==e.SENTINEL;)F=F.left;return F}function D(){e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.delta=0,e.SENTINEL.start=0,e.SENTINEL.end=0}function T(F,x){const W=x.right;W.delta+=x.delta,(W.delta<-1073741824||W.delta>1073741824)&&(F.requestNormalizeDelta=!0),W.start+=x.delta,W.end+=x.delta,x.right=W.left,W.left!==e.SENTINEL&&(W.left.parent=x),W.parent=x.parent,x.parent===e.SENTINEL?F.root=W:x===x.parent.left?x.parent.left=W:x.parent.right=W,W.left=x,x.parent=W,P(x),P(W)}function M(F,x){const W=x.left;x.delta-=W.delta,(x.delta<-1073741824||x.delta>1073741824)&&(F.requestNormalizeDelta=!0),x.start-=W.delta,x.end-=W.delta,x.left=W.right,W.right!==e.SENTINEL&&(W.right.parent=x),W.parent=x.parent,x.parent===e.SENTINEL?F.root=W:x===x.parent.right?x.parent.right=W:x.parent.left=W,W.right=x,x.parent=W,P(x),P(W)}function A(F){let x=F.end;if(F.left!==e.SENTINEL){const W=F.left.maxEnd;W>x&&(x=W)}if(F.right!==e.SENTINEL){const W=F.right.maxEnd+F.delta;W>x&&(x=W)}return x}function P(F){F.maxEnd=A(F)}function N(F){for(;F!==e.SENTINEL;){const x=A(F);if(F.maxEnd===x)return;F.maxEnd=x,F=F.parent}}function O(F,x,W,V){return F===W?x-V:F-W}}),define(ne[579],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SENTINEL=e.TreeNode=void 0,e.leftest=k,e.righttest=I,e.leftRotate=_,e.rightRotate=b,e.rbDelete=p,e.fixInsert=n,e.updateTreeMetadata=o,e.recomputeTreeMetadata=t;class d{constructor(s,g){this.piece=s,this.color=g,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==e.SENTINEL)return k(this.right);let s=this;for(;s.parent!==e.SENTINEL&&s.parent.left!==s;)s=s.parent;return s.parent===e.SENTINEL?e.SENTINEL:s.parent}prev(){if(this.left!==e.SENTINEL)return I(this.left);let s=this;for(;s.parent!==e.SENTINEL&&s.parent.right!==s;)s=s.parent;return s.parent===e.SENTINEL?e.SENTINEL:s.parent}detach(){this.parent=null,this.left=null,this.right=null}}e.TreeNode=d,e.SENTINEL=new d(null,0),e.SENTINEL.parent=e.SENTINEL,e.SENTINEL.left=e.SENTINEL,e.SENTINEL.right=e.SENTINEL,e.SENTINEL.color=0;function k(i){for(;i.left!==e.SENTINEL;)i=i.left;return i}function I(i){for(;i.right!==e.SENTINEL;)i=i.right;return i}function E(i){return i===e.SENTINEL?0:i.size_left+i.piece.length+E(i.right)}function y(i){return i===e.SENTINEL?0:i.lf_left+i.piece.lineFeedCnt+y(i.right)}function m(){e.SENTINEL.parent=e.SENTINEL}function _(i,s){const g=s.right;g.size_left+=s.size_left+(s.piece?s.piece.length:0),g.lf_left+=s.lf_left+(s.piece?s.piece.lineFeedCnt:0),s.right=g.left,g.left!==e.SENTINEL&&(g.left.parent=s),g.parent=s.parent,s.parent===e.SENTINEL?i.root=g:s.parent.left===s?s.parent.left=g:s.parent.right=g,g.left=s,s.parent=g}function b(i,s){const g=s.left;s.left=g.right,g.right!==e.SENTINEL&&(g.right.parent=s),g.parent=s.parent,s.size_left-=g.size_left+(g.piece?g.piece.length:0),s.lf_left-=g.lf_left+(g.piece?g.piece.lineFeedCnt:0),s.parent===e.SENTINEL?i.root=g:s===s.parent.right?s.parent.right=g:s.parent.left=g,g.right=s,s.parent=g}function p(i,s){let g,c;if(s.left===e.SENTINEL?(c=s,g=c.right):s.right===e.SENTINEL?(c=s,g=c.left):(c=k(s.right),g=c.right),c===i.root){i.root=g,g.color=0,s.detach(),m(),i.root.parent=e.SENTINEL;return}const l=c.color===1;if(c===c.parent.left?c.parent.left=g:c.parent.right=g,c===s?(g.parent=c.parent,t(i,g)):(c.parent===s?g.parent=c:g.parent=c.parent,t(i,g),c.left=s.left,c.right=s.right,c.parent=s.parent,c.color=s.color,s===i.root?i.root=c:s===s.parent.left?s.parent.left=c:s.parent.right=c,c.left!==e.SENTINEL&&(c.left.parent=c),c.right!==e.SENTINEL&&(c.right.parent=c),c.size_left=s.size_left,c.lf_left=s.lf_left,t(i,c)),s.detach(),g.parent.left===g){const r=E(g),u=y(g);if(r!==g.parent.size_left||u!==g.parent.lf_left){const C=r-g.parent.size_left,f=u-g.parent.lf_left;g.parent.size_left=r,g.parent.lf_left=u,o(i,g.parent,C,f)}}if(t(i,g.parent),l){m();return}let a;for(;g!==i.root&&g.color===0;)g===g.parent.left?(a=g.parent.right,a.color===1&&(a.color=0,g.parent.color=1,_(i,g.parent),a=g.parent.right),a.left.color===0&&a.right.color===0?(a.color=1,g=g.parent):(a.right.color===0&&(a.left.color=0,a.color=1,b(i,a),a=g.parent.right),a.color=g.parent.color,g.parent.color=0,a.right.color=0,_(i,g.parent),g=i.root)):(a=g.parent.left,a.color===1&&(a.color=0,g.parent.color=1,b(i,g.parent),a=g.parent.left),a.left.color===0&&a.right.color===0?(a.color=1,g=g.parent):(a.left.color===0&&(a.right.color=0,a.color=1,_(i,a),a=g.parent.left),a.color=g.parent.color,g.parent.color=0,a.left.color=0,b(i,g.parent),g=i.root));g.color=0,m()}function n(i,s){for(t(i,s);s!==i.root&&s.parent.color===1;)if(s.parent===s.parent.parent.left){const g=s.parent.parent.right;g.color===1?(s.parent.color=0,g.color=0,s.parent.parent.color=1,s=s.parent.parent):(s===s.parent.right&&(s=s.parent,_(i,s)),s.parent.color=0,s.parent.parent.color=1,b(i,s.parent.parent))}else{const g=s.parent.parent.left;g.color===1?(s.parent.color=0,g.color=0,s.parent.parent.color=1,s=s.parent.parent):(s===s.parent.left&&(s=s.parent,b(i,s)),s.parent.color=0,s.parent.parent.color=1,_(i,s.parent.parent))}i.root.color=0}function o(i,s,g,c){for(;s!==i.root&&s!==e.SENTINEL;)s.parent.left===s&&(s.parent.size_left+=g,s.parent.lf_left+=c),s=s.parent}function t(i,s){let g=0,c=0;if(s!==i.root){for(;s!==i.root&&s===s.parent.right;)s=s.parent;if(s!==i.root)for(s=s.parent,g=E(s.left)-s.size_left,c=y(s.left)-s.lf_left,s.size_left+=g,s.lf_left+=c;s!==i.root&&(g!==0||c!==0);)s.parent.left===s&&(s.parent.size_left+=g,s.parent.lf_left+=c),s=s.parent}}}),define(ne[322],se([1,0,13,192]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PrefixSumIndexOfResult=e.ConstantTimePrefixSumComputer=e.PrefixSumComputer=void 0;class I{constructor(_){this.values=_,this.prefixSum=new Uint32Array(_.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(_,b){_=(0,k.toUint32)(_);const p=this.values,n=this.prefixSum,o=b.length;return o===0?!1:(this.values=new Uint32Array(p.length+o),this.values.set(p.subarray(0,_),0),this.values.set(p.subarray(_),_+o),this.values.set(b,_),_-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=_-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(_,b){return _=(0,k.toUint32)(_),b=(0,k.toUint32)(b),this.values[_]===b?!1:(this.values[_]=b,_-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=_-1),!0)}removeValues(_,b){_=(0,k.toUint32)(_),b=(0,k.toUint32)(b);const p=this.values,n=this.prefixSum;if(_>=p.length)return!1;const o=p.length-_;return b>=o&&(b=o),b===0?!1:(this.values=new Uint32Array(p.length-b),this.values.set(p.subarray(0,_),0),this.values.set(p.subarray(_+b),_),this.prefixSum=new Uint32Array(this.values.length),_-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=_-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(_){return _<0?0:(_=(0,k.toUint32)(_),this._getPrefixSum(_))}_getPrefixSum(_){if(_<=this.prefixSumValidIndex[0])return this.prefixSum[_];let b=this.prefixSumValidIndex[0]+1;b===0&&(this.prefixSum[0]=this.values[0],b++),_>=this.values.length&&(_=this.values.length-1);for(let p=b;p<=_;p++)this.prefixSum[p]=this.prefixSum[p-1]+this.values[p];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],_),this.prefixSum[_]}getIndexOf(_){_=Math.floor(_),this.getTotalSum();let b=0,p=this.values.length-1,n=0,o=0,t=0;for(;b<=p;)if(n=b+(p-b)/2|0,o=this.prefixSum[n],t=o-this.values[n],_<t)p=n-1;else if(_>=o)b=n+1;else break;return new y(n,_-t)}}e.PrefixSumComputer=I;class E{constructor(_){this._values=_,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(_){return this._ensureValid(),_===0?0:this._prefixSum[_-1]}getIndexOf(_){this._ensureValid();const b=this._indexBySum[_],p=b>0?this._prefixSum[b-1]:0;return new y(b,_-p)}removeValues(_,b){this._values.splice(_,b),this._invalidate(_)}insertValues(_,b){this._values=(0,d.arrayInsert)(this._values,_,b),this._invalidate(_)}_invalidate(_){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,_-1)}_ensureValid(){if(!this._isValid){for(let _=this._validEndIndex+1,b=this._values.length;_<b;_++){const p=this._values[_],n=_>0?this._prefixSum[_-1]:0;this._prefixSum[_]=n+p;for(let o=0;o<p;o++)this._indexBySum[n+o]=_}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(_,b){this._values[_]!==b&&(this._values[_]=b,this._invalidate(_))}}e.ConstantTimePrefixSumComputer=E;class y{constructor(_,b){this.index=_,this.remainder=b,this._prefixSumIndexOfResultBrand=void 0,this.index=_,this.remainder=b}}e.PrefixSumIndexOfResult=y}),define(ne[580],se([1,0,11,9,322]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MirrorTextModel=void 0;class E{constructor(m,_,b,p){this._uri=m,this._lines=_,this._eol=b,this._versionId=p,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(m){m.eol&&m.eol!==this._eol&&(this._eol=m.eol,this._lineStarts=null);const _=m.changes;for(const b of _)this._acceptDeleteRange(b.range),this._acceptInsertText(new k.Position(b.range.startLineNumber,b.range.startColumn),b.text);this._versionId=m.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const m=this._eol.length,_=this._lines.length,b=new Uint32Array(_);for(let p=0;p<_;p++)b[p]=this._lines[p].length+m;this._lineStarts=new I.PrefixSumComputer(b)}}_setLineText(m,_){this._lines[m]=_,this._lineStarts&&this._lineStarts.setValue(m,this._lines[m].length+this._eol.length)}_acceptDeleteRange(m){if(m.startLineNumber===m.endLineNumber){if(m.startColumn===m.endColumn)return;this._setLineText(m.startLineNumber-1,this._lines[m.startLineNumber-1].substring(0,m.startColumn-1)+this._lines[m.startLineNumber-1].substring(m.endColumn-1));return}this._setLineText(m.startLineNumber-1,this._lines[m.startLineNumber-1].substring(0,m.startColumn-1)+this._lines[m.endLineNumber-1].substring(m.endColumn-1)),this._lines.splice(m.startLineNumber,m.endLineNumber-m.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(m.startLineNumber,m.endLineNumber-m.startLineNumber)}_acceptInsertText(m,_){if(_.length===0)return;const b=(0,d.splitLines)(_);if(b.length===1){this._setLineText(m.lineNumber-1,this._lines[m.lineNumber-1].substring(0,m.column-1)+b[0]+this._lines[m.lineNumber-1].substring(m.column-1));return}b[b.length-1]+=this._lines[m.lineNumber-1].substring(m.column-1),this._setLineText(m.lineNumber-1,this._lines[m.lineNumber-1].substring(0,m.column-1)+b[0]);const p=new Uint32Array(b.length-1);for(let n=1;n<b.length;n++)this._lines.splice(m.lineNumber+n-1,0,b[n]),p[n-1]=b[n].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(m.lineNumber,p)}}e.MirrorTextModel=E}),define(ne[323],se([1,0,2]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextModelPart=void 0;class k extends d.Disposable{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error(\"TextModelPart is disposed!\")}}e.TextModelPart=k}),define(ne[202],se([1,0,11,166,9,4,40]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Searcher=e.TextModelSearch=e.SearchParams=void 0,e.isMultilineRegexSource=b,e.createFindMatch=p,e.isValidMatch=s;const m=999;class _{constructor(l,a,r,u){this.searchString=l,this.isRegex=a,this.matchCase=r,this.wordSeparators=u}parseSearchRequest(){if(this.searchString===\"\")return null;let l;this.isRegex?l=b(this.searchString):l=this.searchString.indexOf(`\n`)>=0;let a=null;try{a=d.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:l,global:!0,unicode:!0})}catch{return null}if(!a)return null;let r=!this.isRegex&&!l;return r&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(r=this.matchCase),new y.SearchData(a,this.wordSeparators?(0,k.getMapForWordSeparators)(this.wordSeparators,[]):null,r?this.searchString:null)}}e.SearchParams=_;function b(c){if(!c||c.length===0)return!1;for(let l=0,a=c.length;l<a;l++){const r=c.charCodeAt(l);if(r===10)return!0;if(r===92){if(l++,l>=a)break;const u=c.charCodeAt(l);if(u===110||u===114||u===87)return!0}}return!1}function p(c,l,a){if(!a)return new y.FindMatch(c,null);const r=[];for(let u=0,C=l.length;u<C;u++)r[u]=l[u];return new y.FindMatch(c,r)}class n{constructor(l){const a=[];let r=0;for(let u=0,C=l.length;u<C;u++)l.charCodeAt(u)===10&&(a[r++]=u);this._lineFeedsOffsets=a}findLineFeedCountBeforeOffset(l){const a=this._lineFeedsOffsets;let r=0,u=a.length-1;if(u===-1||l<=a[0])return 0;for(;r<u;){const C=r+((u-r)/2>>0);a[C]>=l?u=C-1:a[C+1]>=l?(r=C,u=C):r=C+1}return r+1}}class o{static findMatches(l,a,r,u,C){const f=a.parseSearchRequest();return f?f.regex.multiline?this._doFindMatchesMultiline(l,r,new g(f.wordSeparators,f.regex),u,C):this._doFindMatchesLineByLine(l,r,f,u,C):[]}static _getMultilineMatchRange(l,a,r,u,C,f){let h,v=0;u?(v=u.findLineFeedCountBeforeOffset(C),h=a+C+v):h=a+C;let w;if(u){const T=u.findLineFeedCountBeforeOffset(C+f.length)-v;w=h+f.length+T}else w=h+f.length;const S=l.getPositionAt(h),L=l.getPositionAt(w);return new E.Range(S.lineNumber,S.column,L.lineNumber,L.column)}static _doFindMatchesMultiline(l,a,r,u,C){const f=l.getOffsetAt(a.getStartPosition()),h=l.getValueInRange(a,1),v=l.getEOL()===`\\r\n`?new n(h):null,w=[];let S=0,L;for(r.reset(0);L=r.next(h);)if(w[S++]=p(this._getMultilineMatchRange(l,f,h,v,L.index,L[0]),L,u),S>=C)return w;return w}static _doFindMatchesLineByLine(l,a,r,u,C){const f=[];let h=0;if(a.startLineNumber===a.endLineNumber){const w=l.getLineContent(a.startLineNumber).substring(a.startColumn-1,a.endColumn-1);return h=this._findMatchesInLine(r,w,a.startLineNumber,a.startColumn-1,h,f,u,C),f}const v=l.getLineContent(a.startLineNumber).substring(a.startColumn-1);h=this._findMatchesInLine(r,v,a.startLineNumber,a.startColumn-1,h,f,u,C);for(let w=a.startLineNumber+1;w<a.endLineNumber&&h<C;w++)h=this._findMatchesInLine(r,l.getLineContent(w),w,0,h,f,u,C);if(h<C){const w=l.getLineContent(a.endLineNumber).substring(0,a.endColumn-1);h=this._findMatchesInLine(r,w,a.endLineNumber,0,h,f,u,C)}return f}static _findMatchesInLine(l,a,r,u,C,f,h,v){const w=l.wordSeparators;if(!h&&l.simpleSearch){const D=l.simpleSearch,T=D.length,M=a.length;let A=-T;for(;(A=a.indexOf(D,A+T))!==-1;)if((!w||s(w,a,M,A,T))&&(f[C++]=new y.FindMatch(new E.Range(r,A+1+u,r,A+1+T+u),null),C>=v))return C;return C}const S=new g(l.wordSeparators,l.regex);let L;S.reset(0);do if(L=S.next(a),L&&(f[C++]=p(new E.Range(r,L.index+1+u,r,L.index+1+L[0].length+u),L,h),C>=v))return C;while(L);return C}static findNextMatch(l,a,r,u){const C=a.parseSearchRequest();if(!C)return null;const f=new g(C.wordSeparators,C.regex);return C.regex.multiline?this._doFindNextMatchMultiline(l,r,f,u):this._doFindNextMatchLineByLine(l,r,f,u)}static _doFindNextMatchMultiline(l,a,r,u){const C=new I.Position(a.lineNumber,1),f=l.getOffsetAt(C),h=l.getLineCount(),v=l.getValueInRange(new E.Range(C.lineNumber,C.column,h,l.getLineMaxColumn(h)),1),w=l.getEOL()===`\\r\n`?new n(v):null;r.reset(a.column-1);const S=r.next(v);return S?p(this._getMultilineMatchRange(l,f,v,w,S.index,S[0]),S,u):a.lineNumber!==1||a.column!==1?this._doFindNextMatchMultiline(l,new I.Position(1,1),r,u):null}static _doFindNextMatchLineByLine(l,a,r,u){const C=l.getLineCount(),f=a.lineNumber,h=l.getLineContent(f),v=this._findFirstMatchInLine(r,h,f,a.column,u);if(v)return v;for(let w=1;w<=C;w++){const S=(f+w-1)%C,L=l.getLineContent(S+1),D=this._findFirstMatchInLine(r,L,S+1,1,u);if(D)return D}return null}static _findFirstMatchInLine(l,a,r,u,C){l.reset(u-1);const f=l.next(a);return f?p(new E.Range(r,f.index+1,r,f.index+1+f[0].length),f,C):null}static findPreviousMatch(l,a,r,u){const C=a.parseSearchRequest();if(!C)return null;const f=new g(C.wordSeparators,C.regex);return C.regex.multiline?this._doFindPreviousMatchMultiline(l,r,f,u):this._doFindPreviousMatchLineByLine(l,r,f,u)}static _doFindPreviousMatchMultiline(l,a,r,u){const C=this._doFindMatchesMultiline(l,new E.Range(1,1,a.lineNumber,a.column),r,u,10*m);if(C.length>0)return C[C.length-1];const f=l.getLineCount();return a.lineNumber!==f||a.column!==l.getLineMaxColumn(f)?this._doFindPreviousMatchMultiline(l,new I.Position(f,l.getLineMaxColumn(f)),r,u):null}static _doFindPreviousMatchLineByLine(l,a,r,u){const C=l.getLineCount(),f=a.lineNumber,h=l.getLineContent(f).substring(0,a.column-1),v=this._findLastMatchInLine(r,h,f,u);if(v)return v;for(let w=1;w<=C;w++){const S=(C+f-w-1)%C,L=l.getLineContent(S+1),D=this._findLastMatchInLine(r,L,S+1,u);if(D)return D}return null}static _findLastMatchInLine(l,a,r,u){let C=null,f;for(l.reset(0);f=l.next(a);)C=p(new E.Range(r,f.index+1,r,f.index+1+f[0].length),f,u);return C}}e.TextModelSearch=o;function t(c,l,a,r,u){if(r===0)return!0;const C=l.charCodeAt(r-1);if(c.get(C)!==0||C===13||C===10)return!0;if(u>0){const f=l.charCodeAt(r);if(c.get(f)!==0)return!0}return!1}function i(c,l,a,r,u){if(r+u===a)return!0;const C=l.charCodeAt(r+u);if(c.get(C)!==0||C===13||C===10)return!0;if(u>0){const f=l.charCodeAt(r+u-1);if(c.get(f)!==0)return!0}return!1}function s(c,l,a,r,u){return t(c,l,a,r,u)&&i(c,l,a,r,u)}class g{constructor(l,a){this._wordSeparators=l,this._searchRegex=a,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(l){this._searchRegex.lastIndex=l,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(l){const a=l.length;let r;do{if(this._prevMatchStartIndex+this._prevMatchLength===a||(r=this._searchRegex.exec(l),!r))return null;const u=r.index,C=r[0].length;if(u===this._prevMatchStartIndex&&C===this._prevMatchLength){if(C===0){d.getNextCodePoint(l,a,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=u,this._prevMatchLength=C,!this._wordSeparators||s(this._wordSeparators,l,a,u,C))return r}while(r);return null}}e.Searcher=g}),define(ne[324],se([1,0,9,4,40,579,202]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PieceTreeBase=e.StringBuffer=e.Piece=void 0,e.createLineStartsFast=p,e.createLineStarts=n;const m=65535;function _(c){let l;return c[c.length-1]<65536?l=new Uint16Array(c.length):l=new Uint32Array(c.length),l.set(c,0),l}class b{constructor(l,a,r,u,C){this.lineStarts=l,this.cr=a,this.lf=r,this.crlf=u,this.isBasicASCII=C}}function p(c,l=!0){const a=[0];let r=1;for(let u=0,C=c.length;u<C;u++){const f=c.charCodeAt(u);f===13?u+1<C&&c.charCodeAt(u+1)===10?(a[r++]=u+2,u++):a[r++]=u+1:f===10&&(a[r++]=u+1)}return l?_(a):a}function n(c,l){c.length=0,c[0]=0;let a=1,r=0,u=0,C=0,f=!0;for(let v=0,w=l.length;v<w;v++){const S=l.charCodeAt(v);S===13?v+1<w&&l.charCodeAt(v+1)===10?(C++,c[a++]=v+2,v++):(r++,c[a++]=v+1):S===10?(u++,c[a++]=v+1):f&&S!==9&&(S<32||S>126)&&(f=!1)}const h=new b(_(c),r,u,C,f);return c.length=0,h}class o{constructor(l,a,r,u,C){this.bufferIndex=l,this.start=a,this.end=r,this.lineFeedCnt=u,this.length=C}}e.Piece=o;class t{constructor(l,a){this.buffer=l,this.lineStarts=a}}e.StringBuffer=t;class i{constructor(l,a){this._pieces=[],this._tree=l,this._BOM=a,this._index=0,l.root!==E.SENTINEL&&l.iterate(l.root,r=>(r!==E.SENTINEL&&this._pieces.push(r.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class s{constructor(l){this._limit=l,this._cache=[]}get(l){for(let a=this._cache.length-1;a>=0;a--){const r=this._cache[a];if(r.nodeStartOffset<=l&&r.nodeStartOffset+r.node.piece.length>=l)return r}return null}get2(l){for(let a=this._cache.length-1;a>=0;a--){const r=this._cache[a];if(r.nodeStartLineNumber&&r.nodeStartLineNumber<l&&r.nodeStartLineNumber+r.node.piece.lineFeedCnt>=l)return r}return null}set(l){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(l)}validate(l){let a=!1;const r=this._cache;for(let u=0;u<r.length;u++){const C=r[u];if(C.node.parent===null||C.nodeStartOffset>=l){r[u]=null,a=!0;continue}}if(a){const u=[];for(const C of r)C!==null&&u.push(C);this._cache=u}}}class g{constructor(l,a,r){this.create(l,a,r)}create(l,a,r){this._buffers=[new t(\"\",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=E.SENTINEL,this._lineCnt=1,this._length=0,this._EOL=a,this._EOLLength=a.length,this._EOLNormalized=r;let u=null;for(let C=0,f=l.length;C<f;C++)if(l[C].buffer.length>0){l[C].lineStarts||(l[C].lineStarts=p(l[C].buffer));const h=new o(C+1,{line:0,column:0},{line:l[C].lineStarts.length-1,column:l[C].buffer.length-l[C].lineStarts[l[C].lineStarts.length-1]},l[C].lineStarts.length-1,l[C].buffer.length);this._buffers.push(l[C]),u=this.rbInsertRight(u,h)}this._searchCache=new s(1),this._lastVisitedLine={lineNumber:0,value:\"\"},this.computeBufferMetadata()}normalizeEOL(l){const a=m,r=a-Math.floor(a/3),u=r*2;let C=\"\",f=0;const h=[];if(this.iterate(this.root,v=>{const w=this.getNodeContent(v),S=w.length;if(f<=r||f+S<u)return C+=w,f+=S,!0;const L=C.replace(/\\r\\n|\\r|\\n/g,l);return h.push(new t(L,p(L))),C=w,f=S,!0}),f>0){const v=C.replace(/\\r\\n|\\r|\\n/g,l);h.push(new t(v,p(v)))}this.create(h,l,!0)}getEOL(){return this._EOL}setEOL(l){this._EOL=l,this._EOLLength=this._EOL.length,this.normalizeEOL(l)}createSnapshot(l){return new i(this,l)}getOffsetAt(l,a){let r=0,u=this.root;for(;u!==E.SENTINEL;)if(u.left!==E.SENTINEL&&u.lf_left+1>=l)u=u.left;else if(u.lf_left+u.piece.lineFeedCnt+1>=l){r+=u.size_left;const C=this.getAccumulatedValue(u,l-u.lf_left-2);return r+=C+a-1}else l-=u.lf_left+u.piece.lineFeedCnt,r+=u.size_left+u.piece.length,u=u.right;return r}getPositionAt(l){l=Math.floor(l),l=Math.max(0,l);let a=this.root,r=0;const u=l;for(;a!==E.SENTINEL;)if(a.size_left!==0&&a.size_left>=l)a=a.left;else if(a.size_left+a.piece.length>=l){const C=this.getIndexOf(a,l-a.size_left);if(r+=a.lf_left+C.index,C.index===0){const f=this.getOffsetAt(r+1,1),h=u-f;return new d.Position(r+1,h+1)}return new d.Position(r+1,C.remainder+1)}else if(l-=a.size_left+a.piece.length,r+=a.lf_left+a.piece.lineFeedCnt,a.right===E.SENTINEL){const C=this.getOffsetAt(r+1,1),f=u-l-C;return new d.Position(r+1,f+1)}else a=a.right;return new d.Position(1,1)}getValueInRange(l,a){if(l.startLineNumber===l.endLineNumber&&l.startColumn===l.endColumn)return\"\";const r=this.nodeAt2(l.startLineNumber,l.startColumn),u=this.nodeAt2(l.endLineNumber,l.endColumn),C=this.getValueInRange2(r,u);return a?a!==this._EOL||!this._EOLNormalized?C.replace(/\\r\\n|\\r|\\n/g,a):a===this.getEOL()&&this._EOLNormalized?C:C.replace(/\\r\\n|\\r|\\n/g,a):C}getValueInRange2(l,a){if(l.node===a.node){const h=l.node,v=this._buffers[h.piece.bufferIndex].buffer,w=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start);return v.substring(w+l.remainder,w+a.remainder)}let r=l.node;const u=this._buffers[r.piece.bufferIndex].buffer,C=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);let f=u.substring(C+l.remainder,C+r.piece.length);for(r=r.next();r!==E.SENTINEL;){const h=this._buffers[r.piece.bufferIndex].buffer,v=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);if(r===a.node){f+=h.substring(v,v+a.remainder);break}else f+=h.substr(v,r.piece.length);r=r.next()}return f}getLinesContent(){const l=[];let a=0,r=\"\",u=!1;return this.iterate(this.root,C=>{if(C===E.SENTINEL)return!0;const f=C.piece;let h=f.length;if(h===0)return!0;const v=this._buffers[f.bufferIndex].buffer,w=this._buffers[f.bufferIndex].lineStarts,S=f.start.line,L=f.end.line;let D=w[S]+f.start.column;if(u&&(v.charCodeAt(D)===10&&(D++,h--),l[a++]=r,r=\"\",u=!1,h===0))return!0;if(S===L)return!this._EOLNormalized&&v.charCodeAt(D+h-1)===13?(u=!0,r+=v.substr(D,h-1)):r+=v.substr(D,h),!0;r+=this._EOLNormalized?v.substring(D,Math.max(D,w[S+1]-this._EOLLength)):v.substring(D,w[S+1]).replace(/(\\r\\n|\\r|\\n)$/,\"\"),l[a++]=r;for(let T=S+1;T<L;T++)r=this._EOLNormalized?v.substring(w[T],w[T+1]-this._EOLLength):v.substring(w[T],w[T+1]).replace(/(\\r\\n|\\r|\\n)$/,\"\"),l[a++]=r;return!this._EOLNormalized&&v.charCodeAt(w[L]+f.end.column-1)===13?(u=!0,f.end.column===0?a--:r=v.substr(w[L],f.end.column-1)):r=v.substr(w[L],f.end.column),!0}),u&&(l[a++]=r,r=\"\"),l[a++]=r,l}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(l){return this._lastVisitedLine.lineNumber===l?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=l,l===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(l):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(l,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(l).replace(/(\\r\\n|\\r|\\n)$/,\"\"),this._lastVisitedLine.value)}_getCharCode(l){if(l.remainder===l.node.piece.length){const a=l.node.next();if(!a)return 0;const r=this._buffers[a.piece.bufferIndex],u=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return r.buffer.charCodeAt(u)}else{const a=this._buffers[l.node.piece.bufferIndex],u=this.offsetInBuffer(l.node.piece.bufferIndex,l.node.piece.start)+l.remainder;return a.buffer.charCodeAt(u)}}getLineCharCode(l,a){const r=this.nodeAt2(l,a+1);return this._getCharCode(r)}getLineLength(l){if(l===this.getLineCount()){const a=this.getOffsetAt(l,1);return this.getLength()-a}return this.getOffsetAt(l+1,1)-this.getOffsetAt(l,1)-this._EOLLength}findMatchesInNode(l,a,r,u,C,f,h,v,w,S,L){const D=this._buffers[l.piece.bufferIndex],T=this.offsetInBuffer(l.piece.bufferIndex,l.piece.start),M=this.offsetInBuffer(l.piece.bufferIndex,C),A=this.offsetInBuffer(l.piece.bufferIndex,f);let P;const N={line:0,column:0};let O,F;a._wordSeparators?(O=D.buffer.substring(M,A),F=x=>x+M,a.reset(0)):(O=D.buffer,F=x=>x,a.reset(M));do if(P=a.next(O),P){if(F(P.index)>=A)return S;this.positionInBuffer(l,F(P.index)-T,N);const x=this.getLineFeedCnt(l.piece.bufferIndex,C,N),W=N.line===C.line?N.column-C.column+u:N.column+1,V=W+P[0].length;if(L[S++]=(0,y.createFindMatch)(new k.Range(r+x,W,r+x,V),P,v),F(P.index)+P[0].length>=A||S>=w)return S}while(P);return S}findMatchesLineByLine(l,a,r,u){const C=[];let f=0;const h=new y.Searcher(a.wordSeparators,a.regex);let v=this.nodeAt2(l.startLineNumber,l.startColumn);if(v===null)return[];const w=this.nodeAt2(l.endLineNumber,l.endColumn);if(w===null)return[];let S=this.positionInBuffer(v.node,v.remainder);const L=this.positionInBuffer(w.node,w.remainder);if(v.node===w.node)return this.findMatchesInNode(v.node,h,l.startLineNumber,l.startColumn,S,L,a,r,u,f,C),C;let D=l.startLineNumber,T=v.node;for(;T!==w.node;){const A=this.getLineFeedCnt(T.piece.bufferIndex,S,T.piece.end);if(A>=1){const N=this._buffers[T.piece.bufferIndex].lineStarts,O=this.offsetInBuffer(T.piece.bufferIndex,T.piece.start),F=N[S.line+A],x=D===l.startLineNumber?l.startColumn:1;if(f=this.findMatchesInNode(T,h,D,x,S,this.positionInBuffer(T,F-O),a,r,u,f,C),f>=u)return C;D+=A}const P=D===l.startLineNumber?l.startColumn-1:0;if(D===l.endLineNumber){const N=this.getLineContent(D).substring(P,l.endColumn-1);return f=this._findMatchesInLine(a,h,N,l.endLineNumber,P,f,C,r,u),C}if(f=this._findMatchesInLine(a,h,this.getLineContent(D).substr(P),D,P,f,C,r,u),f>=u)return C;D++,v=this.nodeAt2(D,1),T=v.node,S=this.positionInBuffer(v.node,v.remainder)}if(D===l.endLineNumber){const A=D===l.startLineNumber?l.startColumn-1:0,P=this.getLineContent(D).substring(A,l.endColumn-1);return f=this._findMatchesInLine(a,h,P,l.endLineNumber,A,f,C,r,u),C}const M=D===l.startLineNumber?l.startColumn:1;return f=this.findMatchesInNode(w.node,h,D,M,S,L,a,r,u,f,C),C}_findMatchesInLine(l,a,r,u,C,f,h,v,w){const S=l.wordSeparators;if(!v&&l.simpleSearch){const D=l.simpleSearch,T=D.length,M=r.length;let A=-T;for(;(A=r.indexOf(D,A+T))!==-1;)if((!S||(0,y.isValidMatch)(S,r,M,A,T))&&(h[f++]=new I.FindMatch(new k.Range(u,A+1+C,u,A+1+T+C),null),f>=w))return f;return f}let L;a.reset(0);do if(L=a.next(r),L&&(h[f++]=(0,y.createFindMatch)(new k.Range(u,L.index+1+C,u,L.index+1+L[0].length+C),L,v),f>=w))return f;while(L);return f}insert(l,a,r=!1){if(this._EOLNormalized=this._EOLNormalized&&r,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=\"\",this.root!==E.SENTINEL){const{node:u,remainder:C,nodeStartOffset:f}=this.nodeAt(l),h=u.piece,v=h.bufferIndex,w=this.positionInBuffer(u,C);if(u.piece.bufferIndex===0&&h.end.line===this._lastChangeBufferPos.line&&h.end.column===this._lastChangeBufferPos.column&&f+h.length===l&&a.length<m){this.appendToNode(u,a),this.computeBufferMetadata();return}if(f===l)this.insertContentToNodeLeft(a,u),this._searchCache.validate(l);else if(f+u.piece.length>l){const S=[];let L=new o(h.bufferIndex,w,h.end,this.getLineFeedCnt(h.bufferIndex,w,h.end),this.offsetInBuffer(v,h.end)-this.offsetInBuffer(v,w));if(this.shouldCheckCRLF()&&this.endWithCR(a)&&this.nodeCharCodeAt(u,C)===10){const A={line:L.start.line+1,column:0};L=new o(L.bufferIndex,A,L.end,this.getLineFeedCnt(L.bufferIndex,A,L.end),L.length-1),a+=`\n`}if(this.shouldCheckCRLF()&&this.startWithLF(a))if(this.nodeCharCodeAt(u,C-1)===13){const A=this.positionInBuffer(u,C-1);this.deleteNodeTail(u,A),a=\"\\r\"+a,u.piece.length===0&&S.push(u)}else this.deleteNodeTail(u,w);else this.deleteNodeTail(u,w);const D=this.createNewPieces(a);L.length>0&&this.rbInsertRight(u,L);let T=u;for(let M=0;M<D.length;M++)T=this.rbInsertRight(T,D[M]);this.deleteNodes(S)}else this.insertContentToNodeRight(a,u)}else{const u=this.createNewPieces(a);let C=this.rbInsertLeft(null,u[0]);for(let f=1;f<u.length;f++)C=this.rbInsertRight(C,u[f])}this.computeBufferMetadata()}delete(l,a){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=\"\",a<=0||this.root===E.SENTINEL)return;const r=this.nodeAt(l),u=this.nodeAt(l+a),C=r.node,f=u.node;if(C===f){const D=this.positionInBuffer(C,r.remainder),T=this.positionInBuffer(C,u.remainder);if(r.nodeStartOffset===l){if(a===C.piece.length){const M=C.next();(0,E.rbDelete)(this,C),this.validateCRLFWithPrevNode(M),this.computeBufferMetadata();return}this.deleteNodeHead(C,T),this._searchCache.validate(l),this.validateCRLFWithPrevNode(C),this.computeBufferMetadata();return}if(r.nodeStartOffset+C.piece.length===l+a){this.deleteNodeTail(C,D),this.validateCRLFWithNextNode(C),this.computeBufferMetadata();return}this.shrinkNode(C,D,T),this.computeBufferMetadata();return}const h=[],v=this.positionInBuffer(C,r.remainder);this.deleteNodeTail(C,v),this._searchCache.validate(l),C.piece.length===0&&h.push(C);const w=this.positionInBuffer(f,u.remainder);this.deleteNodeHead(f,w),f.piece.length===0&&h.push(f);const S=C.next();for(let D=S;D!==E.SENTINEL&&D!==f;D=D.next())h.push(D);const L=C.piece.length===0?C.prev():C;this.deleteNodes(h),this.validateCRLFWithNextNode(L),this.computeBufferMetadata()}insertContentToNodeLeft(l,a){const r=[];if(this.shouldCheckCRLF()&&this.endWithCR(l)&&this.startWithLF(a)){const f=a.piece,h={line:f.start.line+1,column:0},v=new o(f.bufferIndex,h,f.end,this.getLineFeedCnt(f.bufferIndex,h,f.end),f.length-1);a.piece=v,l+=`\n`,(0,E.updateTreeMetadata)(this,a,-1,-1),a.piece.length===0&&r.push(a)}const u=this.createNewPieces(l);let C=this.rbInsertLeft(a,u[u.length-1]);for(let f=u.length-2;f>=0;f--)C=this.rbInsertLeft(C,u[f]);this.validateCRLFWithPrevNode(C),this.deleteNodes(r)}insertContentToNodeRight(l,a){this.adjustCarriageReturnFromNext(l,a)&&(l+=`\n`);const r=this.createNewPieces(l),u=this.rbInsertRight(a,r[0]);let C=u;for(let f=1;f<r.length;f++)C=this.rbInsertRight(C,r[f]);this.validateCRLFWithPrevNode(u)}positionInBuffer(l,a,r){const u=l.piece,C=l.piece.bufferIndex,f=this._buffers[C].lineStarts,v=f[u.start.line]+u.start.column+a;let w=u.start.line,S=u.end.line,L=0,D=0,T=0;for(;w<=S&&(L=w+(S-w)/2|0,T=f[L],L!==S);)if(D=f[L+1],v<T)S=L-1;else if(v>=D)w=L+1;else break;return r?(r.line=L,r.column=v-T,null):{line:L,column:v-T}}getLineFeedCnt(l,a,r){if(r.column===0)return r.line-a.line;const u=this._buffers[l].lineStarts;if(r.line===u.length-1)return r.line-a.line;const C=u[r.line+1],f=u[r.line]+r.column;if(C>f+1)return r.line-a.line;const h=f-1;return this._buffers[l].buffer.charCodeAt(h)===13?r.line-a.line+1:r.line-a.line}offsetInBuffer(l,a){return this._buffers[l].lineStarts[a.line]+a.column}deleteNodes(l){for(let a=0;a<l.length;a++)(0,E.rbDelete)(this,l[a])}createNewPieces(l){if(l.length>m){const S=[];for(;l.length>m;){const D=l.charCodeAt(m-1);let T;D===13||D>=55296&&D<=56319?(T=l.substring(0,m-1),l=l.substring(m-1)):(T=l.substring(0,m),l=l.substring(m));const M=p(T);S.push(new o(this._buffers.length,{line:0,column:0},{line:M.length-1,column:T.length-M[M.length-1]},M.length-1,T.length)),this._buffers.push(new t(T,M))}const L=p(l);return S.push(new o(this._buffers.length,{line:0,column:0},{line:L.length-1,column:l.length-L[L.length-1]},L.length-1,l.length)),this._buffers.push(new t(l,L)),S}let a=this._buffers[0].buffer.length;const r=p(l,!1);let u=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===a&&a!==0&&this.startWithLF(l)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},u=this._lastChangeBufferPos;for(let S=0;S<r.length;S++)r[S]+=a+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(r.slice(1)),this._buffers[0].buffer+=\"_\"+l,a+=1}else{if(a!==0)for(let S=0;S<r.length;S++)r[S]+=a;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(r.slice(1)),this._buffers[0].buffer+=l}const C=this._buffers[0].buffer.length,f=this._buffers[0].lineStarts.length-1,h=C-this._buffers[0].lineStarts[f],v={line:f,column:h},w=new o(0,u,v,this.getLineFeedCnt(0,u,v),C-a);return this._lastChangeBufferPos=v,[w]}getLineRawContent(l,a=0){let r=this.root,u=\"\";const C=this._searchCache.get2(l);if(C){r=C.node;const f=this.getAccumulatedValue(r,l-C.nodeStartLineNumber-1),h=this._buffers[r.piece.bufferIndex].buffer,v=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);if(C.nodeStartLineNumber+r.piece.lineFeedCnt===l)u=h.substring(v+f,v+r.piece.length);else{const w=this.getAccumulatedValue(r,l-C.nodeStartLineNumber);return h.substring(v+f,v+w-a)}}else{let f=0;const h=l;for(;r!==E.SENTINEL;)if(r.left!==E.SENTINEL&&r.lf_left>=l-1)r=r.left;else if(r.lf_left+r.piece.lineFeedCnt>l-1){const v=this.getAccumulatedValue(r,l-r.lf_left-2),w=this.getAccumulatedValue(r,l-r.lf_left-1),S=this._buffers[r.piece.bufferIndex].buffer,L=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);return f+=r.size_left,this._searchCache.set({node:r,nodeStartOffset:f,nodeStartLineNumber:h-(l-1-r.lf_left)}),S.substring(L+v,L+w-a)}else if(r.lf_left+r.piece.lineFeedCnt===l-1){const v=this.getAccumulatedValue(r,l-r.lf_left-2),w=this._buffers[r.piece.bufferIndex].buffer,S=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);u=w.substring(S+v,S+r.piece.length);break}else l-=r.lf_left+r.piece.lineFeedCnt,f+=r.size_left+r.piece.length,r=r.right}for(r=r.next();r!==E.SENTINEL;){const f=this._buffers[r.piece.bufferIndex].buffer;if(r.piece.lineFeedCnt>0){const h=this.getAccumulatedValue(r,0),v=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);return u+=f.substring(v,v+h-a),u}else{const h=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);u+=f.substr(h,r.piece.length)}r=r.next()}return u}computeBufferMetadata(){let l=this.root,a=1,r=0;for(;l!==E.SENTINEL;)a+=l.lf_left+l.piece.lineFeedCnt,r+=l.size_left+l.piece.length,l=l.right;this._lineCnt=a,this._length=r,this._searchCache.validate(this._length)}getIndexOf(l,a){const r=l.piece,u=this.positionInBuffer(l,a),C=u.line-r.start.line;if(this.offsetInBuffer(r.bufferIndex,r.end)-this.offsetInBuffer(r.bufferIndex,r.start)===a){const f=this.getLineFeedCnt(l.piece.bufferIndex,r.start,u);if(f!==C)return{index:f,remainder:0}}return{index:C,remainder:u.column}}getAccumulatedValue(l,a){if(a<0)return 0;const r=l.piece,u=this._buffers[r.bufferIndex].lineStarts,C=r.start.line+a+1;return C>r.end.line?u[r.end.line]+r.end.column-u[r.start.line]-r.start.column:u[C]-u[r.start.line]-r.start.column}deleteNodeTail(l,a){const r=l.piece,u=r.lineFeedCnt,C=this.offsetInBuffer(r.bufferIndex,r.end),f=a,h=this.offsetInBuffer(r.bufferIndex,f),v=this.getLineFeedCnt(r.bufferIndex,r.start,f),w=v-u,S=h-C,L=r.length+S;l.piece=new o(r.bufferIndex,r.start,f,v,L),(0,E.updateTreeMetadata)(this,l,S,w)}deleteNodeHead(l,a){const r=l.piece,u=r.lineFeedCnt,C=this.offsetInBuffer(r.bufferIndex,r.start),f=a,h=this.getLineFeedCnt(r.bufferIndex,f,r.end),v=this.offsetInBuffer(r.bufferIndex,f),w=h-u,S=C-v,L=r.length+S;l.piece=new o(r.bufferIndex,f,r.end,h,L),(0,E.updateTreeMetadata)(this,l,S,w)}shrinkNode(l,a,r){const u=l.piece,C=u.start,f=u.end,h=u.length,v=u.lineFeedCnt,w=a,S=this.getLineFeedCnt(u.bufferIndex,u.start,w),L=this.offsetInBuffer(u.bufferIndex,a)-this.offsetInBuffer(u.bufferIndex,C);l.piece=new o(u.bufferIndex,u.start,w,S,L),(0,E.updateTreeMetadata)(this,l,L-h,S-v);const D=new o(u.bufferIndex,r,f,this.getLineFeedCnt(u.bufferIndex,r,f),this.offsetInBuffer(u.bufferIndex,f)-this.offsetInBuffer(u.bufferIndex,r)),T=this.rbInsertRight(l,D);this.validateCRLFWithPrevNode(T)}appendToNode(l,a){this.adjustCarriageReturnFromNext(a,l)&&(a+=`\n`);const r=this.shouldCheckCRLF()&&this.startWithLF(a)&&this.endWithCR(l),u=this._buffers[0].buffer.length;this._buffers[0].buffer+=a;const C=p(a,!1);for(let T=0;T<C.length;T++)C[T]+=u;if(r){const T=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:u-T}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(C.slice(1));const f=this._buffers[0].lineStarts.length-1,h=this._buffers[0].buffer.length-this._buffers[0].lineStarts[f],v={line:f,column:h},w=l.piece.length+a.length,S=l.piece.lineFeedCnt,L=this.getLineFeedCnt(0,l.piece.start,v),D=L-S;l.piece=new o(l.piece.bufferIndex,l.piece.start,v,L,w),this._lastChangeBufferPos=v,(0,E.updateTreeMetadata)(this,l,a.length,D)}nodeAt(l){let a=this.root;const r=this._searchCache.get(l);if(r)return{node:r.node,nodeStartOffset:r.nodeStartOffset,remainder:l-r.nodeStartOffset};let u=0;for(;a!==E.SENTINEL;)if(a.size_left>l)a=a.left;else if(a.size_left+a.piece.length>=l){u+=a.size_left;const C={node:a,remainder:l-a.size_left,nodeStartOffset:u};return this._searchCache.set(C),C}else l-=a.size_left+a.piece.length,u+=a.size_left+a.piece.length,a=a.right;return null}nodeAt2(l,a){let r=this.root,u=0;for(;r!==E.SENTINEL;)if(r.left!==E.SENTINEL&&r.lf_left>=l-1)r=r.left;else if(r.lf_left+r.piece.lineFeedCnt>l-1){const C=this.getAccumulatedValue(r,l-r.lf_left-2),f=this.getAccumulatedValue(r,l-r.lf_left-1);return u+=r.size_left,{node:r,remainder:Math.min(C+a-1,f),nodeStartOffset:u}}else if(r.lf_left+r.piece.lineFeedCnt===l-1){const C=this.getAccumulatedValue(r,l-r.lf_left-2);if(C+a-1<=r.piece.length)return{node:r,remainder:C+a-1,nodeStartOffset:u};a-=r.piece.length-C;break}else l-=r.lf_left+r.piece.lineFeedCnt,u+=r.size_left+r.piece.length,r=r.right;for(r=r.next();r!==E.SENTINEL;){if(r.piece.lineFeedCnt>0){const C=this.getAccumulatedValue(r,0),f=this.offsetOfNode(r);return{node:r,remainder:Math.min(a-1,C),nodeStartOffset:f}}else if(r.piece.length>=a-1){const C=this.offsetOfNode(r);return{node:r,remainder:a-1,nodeStartOffset:C}}else a-=r.piece.length;r=r.next()}return null}nodeCharCodeAt(l,a){if(l.piece.lineFeedCnt<1)return-1;const r=this._buffers[l.piece.bufferIndex],u=this.offsetInBuffer(l.piece.bufferIndex,l.piece.start)+a;return r.buffer.charCodeAt(u)}offsetOfNode(l){if(!l)return 0;let a=l.size_left;for(;l!==this.root;)l.parent.right===l&&(a+=l.parent.size_left+l.parent.piece.length),l=l.parent;return a}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===`\n`)}startWithLF(l){if(typeof l==\"string\")return l.charCodeAt(0)===10;if(l===E.SENTINEL||l.piece.lineFeedCnt===0)return!1;const a=l.piece,r=this._buffers[a.bufferIndex].lineStarts,u=a.start.line,C=r[u]+a.start.column;return u===r.length-1||r[u+1]>C+1?!1:this._buffers[a.bufferIndex].buffer.charCodeAt(C)===10}endWithCR(l){return typeof l==\"string\"?l.charCodeAt(l.length-1)===13:l===E.SENTINEL||l.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(l,l.piece.length-1)===13}validateCRLFWithPrevNode(l){if(this.shouldCheckCRLF()&&this.startWithLF(l)){const a=l.prev();this.endWithCR(a)&&this.fixCRLF(a,l)}}validateCRLFWithNextNode(l){if(this.shouldCheckCRLF()&&this.endWithCR(l)){const a=l.next();this.startWithLF(a)&&this.fixCRLF(l,a)}}fixCRLF(l,a){const r=[],u=this._buffers[l.piece.bufferIndex].lineStarts;let C;l.piece.end.column===0?C={line:l.piece.end.line-1,column:u[l.piece.end.line]-u[l.piece.end.line-1]-1}:C={line:l.piece.end.line,column:l.piece.end.column-1};const f=l.piece.length-1,h=l.piece.lineFeedCnt-1;l.piece=new o(l.piece.bufferIndex,l.piece.start,C,h,f),(0,E.updateTreeMetadata)(this,l,-1,-1),l.piece.length===0&&r.push(l);const v={line:a.piece.start.line+1,column:0},w=a.piece.length-1,S=this.getLineFeedCnt(a.piece.bufferIndex,v,a.piece.end);a.piece=new o(a.piece.bufferIndex,v,a.piece.end,S,w),(0,E.updateTreeMetadata)(this,a,-1,-1),a.piece.length===0&&r.push(a);const L=this.createNewPieces(`\\r\n`);this.rbInsertRight(l,L[0]);for(let D=0;D<r.length;D++)(0,E.rbDelete)(this,r[D])}adjustCarriageReturnFromNext(l,a){if(this.shouldCheckCRLF()&&this.endWithCR(l)){const r=a.next();if(this.startWithLF(r)){if(l+=`\n`,r.piece.length===1)(0,E.rbDelete)(this,r);else{const u=r.piece,C={line:u.start.line+1,column:0},f=u.length-1,h=this.getLineFeedCnt(u.bufferIndex,C,u.end);r.piece=new o(u.bufferIndex,C,u.end,h,f),(0,E.updateTreeMetadata)(this,r,-1,-1)}return!0}}return!1}iterate(l,a){if(l===E.SENTINEL)return a(E.SENTINEL);const r=this.iterate(l.left,a);return r&&a(l)&&this.iterate(l.right,a)}getNodeContent(l){if(l===E.SENTINEL)return\"\";const a=this._buffers[l.piece.bufferIndex],r=l.piece,u=this.offsetInBuffer(r.bufferIndex,r.start),C=this.offsetInBuffer(r.bufferIndex,r.end);return a.buffer.substring(u,C)}getPieceContent(l){const a=this._buffers[l.bufferIndex],r=this.offsetInBuffer(l.bufferIndex,l.start),u=this.offsetInBuffer(l.bufferIndex,l.end);return a.buffer.substring(r,u)}rbInsertRight(l,a){const r=new E.TreeNode(a,1);if(r.left=E.SENTINEL,r.right=E.SENTINEL,r.parent=E.SENTINEL,r.size_left=0,r.lf_left=0,this.root===E.SENTINEL)this.root=r,r.color=0;else if(l.right===E.SENTINEL)l.right=r,r.parent=l;else{const C=(0,E.leftest)(l.right);C.left=r,r.parent=C}return(0,E.fixInsert)(this,r),r}rbInsertLeft(l,a){const r=new E.TreeNode(a,1);if(r.left=E.SENTINEL,r.right=E.SENTINEL,r.parent=E.SENTINEL,r.size_left=0,r.lf_left=0,this.root===E.SENTINEL)this.root=r,r.color=0;else if(l.left===E.SENTINEL)l.left=r,r.parent=l;else{const u=(0,E.righttest)(l.left);u.right=r,r.parent=u}return(0,E.fixInsert)(this,r),r}}e.PieceTreeBase=g}),define(ne[581],se([1,0,104,113]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextModelText=void 0;class I extends d.AbstractText{constructor(y){super(),this._textModel=y}getValueOfRange(y){return this._textModel.getValueInRange(y)}get length(){const y=this._textModel.getLineCount(),m=this._textModel.getLineLength(y);return new k.TextLength(y-1,m)}}e.TextModelText=I}),define(ne[237],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.computeIndentLevel=d;function d(k,I){let E=0,y=0;const m=k.length;for(;y<m;){const _=k.charCodeAt(y);if(_===32)E++;else if(_===9)E=E-E%I+I;else break;y++}return y===m?-1:E}}),define(ne[325],se([1,0,90,9,40]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OutputPosition=e.InjectedText=e.ModelLineProjectionData=void 0;class E{constructor(n,o,t,i,s){this.injectionOffsets=n,this.injectionOptions=o,this.breakOffsets=t,this.breakOffsetsVisibleColumn=i,this.wrappedTextIndentLength=s}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(n){return n>0?this.wrappedTextIndentLength:0}getLineLength(n){const o=n>0?this.breakOffsets[n-1]:0;let i=this.breakOffsets[n]-o;return n>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(n){return this.getLineLength(n)}translateToInputOffset(n,o){n>0&&(o=Math.max(0,o-this.wrappedTextIndentLength));let i=n===0?o:this.breakOffsets[n-1]+o;if(this.injectionOffsets!==null)for(let s=0;s<this.injectionOffsets.length&&i>this.injectionOffsets[s];s++)i<this.injectionOffsets[s]+this.injectionOptions[s].content.length?i=this.injectionOffsets[s]:i-=this.injectionOptions[s].content.length;return i}translateToOutputPosition(n,o=2){let t=n;if(this.injectionOffsets!==null)for(let i=0;i<this.injectionOffsets.length&&!(n<this.injectionOffsets[i]||o!==1&&n===this.injectionOffsets[i]);i++)t+=this.injectionOptions[i].content.length;return this.offsetInInputWithInjectionsToOutputPosition(t,o)}offsetInInputWithInjectionsToOutputPosition(n,o=2){let t=0,i=this.breakOffsets.length-1,s=0,g=0;for(;t<=i;){s=t+(i-t)/2|0;const l=this.breakOffsets[s];if(g=s>0?this.breakOffsets[s-1]:0,o===0)if(n<=g)i=s-1;else if(n>l)t=s+1;else break;else if(n<g)i=s-1;else if(n>=l)t=s+1;else break}let c=n-g;return s>0&&(c+=this.wrappedTextIndentLength),new b(s,c)}normalizeOutputPosition(n,o,t){if(this.injectionOffsets!==null){const i=this.outputPositionToOffsetInInputWithInjections(n,o),s=this.normalizeOffsetInInputWithInjectionsAroundInjections(i,t);if(s!==i)return this.offsetInInputWithInjectionsToOutputPosition(s,t)}if(t===0){if(n>0&&o===this.getMinOutputOffset(n))return new b(n-1,this.getMaxOutputOffset(n-1))}else if(t===1){const i=this.getOutputLineCount()-1;if(n<i&&o===this.getMaxOutputOffset(n))return new b(n+1,this.getMinOutputOffset(n+1))}return new b(n,o)}outputPositionToOffsetInInputWithInjections(n,o){return n>0&&(o=Math.max(0,o-this.wrappedTextIndentLength)),(n>0?this.breakOffsets[n-1]:0)+o}normalizeOffsetInInputWithInjectionsAroundInjections(n,o){const t=this.getInjectedTextAtOffset(n);if(!t)return n;if(o===2){if(n===t.offsetInInputWithInjections+t.length&&y(this.injectionOptions[t.injectedTextIndex].cursorStops))return t.offsetInInputWithInjections+t.length;{let i=t.offsetInInputWithInjections;if(m(this.injectionOptions[t.injectedTextIndex].cursorStops))return i;let s=t.injectedTextIndex-1;for(;s>=0&&this.injectionOffsets[s]===this.injectionOffsets[t.injectedTextIndex]&&!(y(this.injectionOptions[s].cursorStops)||(i-=this.injectionOptions[s].content.length,m(this.injectionOptions[s].cursorStops)));)s--;return i}}else if(o===1||o===4){let i=t.offsetInInputWithInjections+t.length,s=t.injectedTextIndex;for(;s+1<this.injectionOffsets.length&&this.injectionOffsets[s+1]===this.injectionOffsets[s];)i+=this.injectionOptions[s+1].content.length,s++;return i}else if(o===0||o===3){let i=t.offsetInInputWithInjections,s=t.injectedTextIndex;for(;s-1>=0&&this.injectionOffsets[s-1]===this.injectionOffsets[s];)i-=this.injectionOptions[s-1].content.length,s--;return i}(0,d.assertNever)(o)}getInjectedText(n,o){const t=this.outputPositionToOffsetInInputWithInjections(n,o),i=this.getInjectedTextAtOffset(t);return i?{options:this.injectionOptions[i.injectedTextIndex]}:null}getInjectedTextAtOffset(n){const o=this.injectionOffsets,t=this.injectionOptions;if(o!==null){let i=0;for(let s=0;s<o.length;s++){const g=t[s].content.length,c=o[s]+i,l=o[s]+i+g;if(c>n)break;if(n<=l)return{injectedTextIndex:s,offsetInInputWithInjections:c,length:g};i+=g}}}}e.ModelLineProjectionData=E;function y(p){return p==null?!0:p===I.InjectedTextCursorStops.Right||p===I.InjectedTextCursorStops.Both}function m(p){return p==null?!0:p===I.InjectedTextCursorStops.Left||p===I.InjectedTextCursorStops.Both}class _{constructor(n){this.options=n}}e.InjectedText=_;class b{constructor(n,o){this.outputLineIndex=n,this.outputOffset=o}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(n){return new k.Position(n+this.outputLineIndex,this.outputOffset+1)}}e.OutputPosition=b}),define(ne[326],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorWorkerHost=void 0;class d{static{this.CHANNEL_NAME=\"editorWorkerHost\"}static getChannel(I){return I.getChannel(d.CHANNEL_NAME)}static setChannel(I,E){I.setChannel(d.CHANNEL_NAME,E)}}e.EditorWorkerHost=d}),define(ne[582],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.findSectionHeaders=I;const d=new RegExp(\"\\\\bMARK:\\\\s*(.*)$\",\"d\"),k=/^-+|-+$/g;function I(b,p){let n=[];if(p.findRegionSectionHeaders&&p.foldingRules?.markers){const o=E(b,p);n=n.concat(o)}if(p.findMarkSectionHeaders){const o=y(b);n=n.concat(o)}return n}function E(b,p){const n=[],o=b.getLineCount();for(let t=1;t<=o;t++){const i=b.getLineContent(t),s=i.match(p.foldingRules.markers.start);if(s){const g={startLineNumber:t,startColumn:s[0].length+1,endLineNumber:t,endColumn:i.length+1};if(g.endColumn>g.startColumn){const c={range:g,..._(i.substring(s[0].length)),shouldBeInComments:!1};(c.text||c.hasSeparatorLine)&&n.push(c)}}}return n}function y(b){const p=[],n=b.getLineCount();for(let o=1;o<=n;o++){const t=b.getLineContent(o);m(t,o,p)}return p}function m(b,p,n){d.lastIndex=0;const o=d.exec(b);if(o){const t=o.indices[1][0]+1,i=o.indices[1][1]+1,s={startLineNumber:p,startColumn:t,endLineNumber:p,endColumn:i};if(s.endColumn>s.startColumn){const g={range:s,..._(o[1]),shouldBeInComments:!0};(g.text||g.hasSeparatorLine)&&n.push(g)}}}function _(b){b=b.trim();const p=b.startsWith(\"-\");return b=b.replace(k,\"\"),{text:b,hasSeparatorLine:p}}}),define(ne[327],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DraggedTreeItemsIdentifier=e.TreeViewsDnDService=void 0;class d{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(E){if(E&&this._dragOperations.has(E)){const y=this._dragOperations.get(E);return this._dragOperations.delete(E),y}}}e.TreeViewsDnDService=d;class k{constructor(E){this.identifier=E}}e.DraggedTreeItemsIdentifier=k}),define(ne[328],se([1,0,4,202,11,90,147]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UnicodeTextModelHighlighter=void 0;class m{static computeUnicodeHighlights(o,t,i){const s=i?i.startLineNumber:1,g=i?i.endLineNumber:o.getLineCount(),c=new b(t),l=c.getCandidateCodePoints();let a;l===\"allNonBasicAscii\"?a=new RegExp(\"[^\\\\t\\\\n\\\\r\\\\x20-\\\\x7E]\",\"g\"):a=new RegExp(`${_(Array.from(l))}`,\"g\");const r=new k.Searcher(null,a),u=[];let C=!1,f,h=0,v=0,w=0;e:for(let S=s,L=g;S<=L;S++){const D=o.getLineContent(S),T=D.length;r.reset(0);do if(f=r.next(D),f){let M=f.index,A=f.index+f[0].length;if(M>0){const F=D.charCodeAt(M-1);I.isHighSurrogate(F)&&M--}if(A+1<T){const F=D.charCodeAt(A-1);I.isHighSurrogate(F)&&A++}const P=D.substring(M,A);let N=(0,y.getWordAtText)(M+1,y.DEFAULT_WORD_REGEXP,D,0);N&&N.endColumn<=M+1&&(N=null);const O=c.shouldHighlightNonBasicASCII(P,N?N.word:null);if(O!==0){if(O===3?h++:O===2?v++:O===1?w++:(0,E.assertNever)(O),u.length>=1e3){C=!0;break e}u.push(new d.Range(S,M+1,S,A+1))}}while(f)}return{ranges:u,hasMore:C,ambiguousCharacterCount:h,invisibleCharacterCount:v,nonBasicAsciiCharacterCount:w}}static computeUnicodeHighlightReason(o,t){const i=new b(t);switch(i.shouldHighlightNonBasicASCII(o,null)){case 0:return null;case 2:return{kind:1};case 3:{const g=o.codePointAt(0),c=i.ambiguousCharacters.getPrimaryConfusable(g),l=I.AmbiguousCharacters.getLocales().filter(a=>!I.AmbiguousCharacters.getInstance(new Set([...t.allowedLocales,a])).isAmbiguous(g));return{kind:0,confusableWith:String.fromCodePoint(c),notAmbiguousInLocales:l}}case 1:return{kind:2}}}}e.UnicodeTextModelHighlighter=m;function _(n,o){return`[${I.escapeRegExpCharacters(n.map(i=>String.fromCodePoint(i)).join(\"\"))}]`}class b{constructor(o){this.options=o,this.allowedCodePoints=new Set(o.allowedCodePoints),this.ambiguousCharacters=I.AmbiguousCharacters.getInstance(new Set(o.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return\"allNonBasicAscii\";const o=new Set;if(this.options.invisibleCharacters)for(const t of I.InvisibleCharacters.codePoints)p(String.fromCodePoint(t))||o.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())o.add(t);for(const t of this.allowedCodePoints)o.delete(t);return o}shouldHighlightNonBasicASCII(o,t){const i=o.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let s=!1,g=!1;if(t)for(const c of t){const l=c.codePointAt(0),a=I.isBasicASCII(c);s=s||a,!a&&!this.ambiguousCharacters.isAmbiguous(l)&&!I.InvisibleCharacters.isInvisibleCharacter(l)&&(g=!0)}return!s&&g?0:this.options.invisibleCharacters&&!p(o)&&I.InvisibleCharacters.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function p(n){return n===\" \"||n===`\n`||n===\"\t\"}}),define(ne[238],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WrappingIndent=e.TrackedRangeStickiness=e.TextEditorCursorStyle=e.TextEditorCursorBlinkingStyle=e.SymbolTag=e.SymbolKind=e.SignatureHelpTriggerKind=e.ShowLightbulbIconMode=e.SelectionDirection=e.ScrollbarVisibility=e.ScrollType=e.RenderMinimap=e.RenderLineNumbersType=e.PositionAffinity=e.PartialAcceptTriggerKind=e.OverviewRulerLane=e.OverlayWidgetPositionPreference=e.NewSymbolNameTriggerKind=e.NewSymbolNameTag=e.MouseTargetType=e.MinimapSectionHeaderStyle=e.MinimapPosition=e.MarkerTag=e.MarkerSeverity=e.KeyCode=e.InlineEditTriggerKind=e.InlineCompletionTriggerKind=e.InlayHintKind=e.InjectedTextCursorStops=e.IndentAction=e.HoverVerbosityAction=e.GlyphMarginLane=e.EndOfLineSequence=e.EndOfLinePreference=e.EditorOption=e.EditorAutoIndentStrategy=e.DocumentHighlightKind=e.DefaultEndOfLine=e.CursorChangeReason=e.ContentWidgetPositionPreference=e.CompletionTriggerKind=e.CompletionItemTag=e.CompletionItemKind=e.CompletionItemInsertTextRule=e.CodeActionTriggerType=e.AccessibilitySupport=void 0;var d;(function(R){R[R.Unknown=0]=\"Unknown\",R[R.Disabled=1]=\"Disabled\",R[R.Enabled=2]=\"Enabled\"})(d||(e.AccessibilitySupport=d={}));var k;(function(R){R[R.Invoke=1]=\"Invoke\",R[R.Auto=2]=\"Auto\"})(k||(e.CodeActionTriggerType=k={}));var I;(function(R){R[R.None=0]=\"None\",R[R.KeepWhitespace=1]=\"KeepWhitespace\",R[R.InsertAsSnippet=4]=\"InsertAsSnippet\"})(I||(e.CompletionItemInsertTextRule=I={}));var E;(function(R){R[R.Method=0]=\"Method\",R[R.Function=1]=\"Function\",R[R.Constructor=2]=\"Constructor\",R[R.Field=3]=\"Field\",R[R.Variable=4]=\"Variable\",R[R.Class=5]=\"Class\",R[R.Struct=6]=\"Struct\",R[R.Interface=7]=\"Interface\",R[R.Module=8]=\"Module\",R[R.Property=9]=\"Property\",R[R.Event=10]=\"Event\",R[R.Operator=11]=\"Operator\",R[R.Unit=12]=\"Unit\",R[R.Value=13]=\"Value\",R[R.Constant=14]=\"Constant\",R[R.Enum=15]=\"Enum\",R[R.EnumMember=16]=\"EnumMember\",R[R.Keyword=17]=\"Keyword\",R[R.Text=18]=\"Text\",R[R.Color=19]=\"Color\",R[R.File=20]=\"File\",R[R.Reference=21]=\"Reference\",R[R.Customcolor=22]=\"Customcolor\",R[R.Folder=23]=\"Folder\",R[R.TypeParameter=24]=\"TypeParameter\",R[R.User=25]=\"User\",R[R.Issue=26]=\"Issue\",R[R.Snippet=27]=\"Snippet\"})(E||(e.CompletionItemKind=E={}));var y;(function(R){R[R.Deprecated=1]=\"Deprecated\"})(y||(e.CompletionItemTag=y={}));var m;(function(R){R[R.Invoke=0]=\"Invoke\",R[R.TriggerCharacter=1]=\"TriggerCharacter\",R[R.TriggerForIncompleteCompletions=2]=\"TriggerForIncompleteCompletions\"})(m||(e.CompletionTriggerKind=m={}));var _;(function(R){R[R.EXACT=0]=\"EXACT\",R[R.ABOVE=1]=\"ABOVE\",R[R.BELOW=2]=\"BELOW\"})(_||(e.ContentWidgetPositionPreference=_={}));var b;(function(R){R[R.NotSet=0]=\"NotSet\",R[R.ContentFlush=1]=\"ContentFlush\",R[R.RecoverFromMarkers=2]=\"RecoverFromMarkers\",R[R.Explicit=3]=\"Explicit\",R[R.Paste=4]=\"Paste\",R[R.Undo=5]=\"Undo\",R[R.Redo=6]=\"Redo\"})(b||(e.CursorChangeReason=b={}));var p;(function(R){R[R.LF=1]=\"LF\",R[R.CRLF=2]=\"CRLF\"})(p||(e.DefaultEndOfLine=p={}));var n;(function(R){R[R.Text=0]=\"Text\",R[R.Read=1]=\"Read\",R[R.Write=2]=\"Write\"})(n||(e.DocumentHighlightKind=n={}));var o;(function(R){R[R.None=0]=\"None\",R[R.Keep=1]=\"Keep\",R[R.Brackets=2]=\"Brackets\",R[R.Advanced=3]=\"Advanced\",R[R.Full=4]=\"Full\"})(o||(e.EditorAutoIndentStrategy=o={}));var t;(function(R){R[R.acceptSuggestionOnCommitCharacter=0]=\"acceptSuggestionOnCommitCharacter\",R[R.acceptSuggestionOnEnter=1]=\"acceptSuggestionOnEnter\",R[R.accessibilitySupport=2]=\"accessibilitySupport\",R[R.accessibilityPageSize=3]=\"accessibilityPageSize\",R[R.ariaLabel=4]=\"ariaLabel\",R[R.ariaRequired=5]=\"ariaRequired\",R[R.autoClosingBrackets=6]=\"autoClosingBrackets\",R[R.autoClosingComments=7]=\"autoClosingComments\",R[R.screenReaderAnnounceInlineSuggestion=8]=\"screenReaderAnnounceInlineSuggestion\",R[R.autoClosingDelete=9]=\"autoClosingDelete\",R[R.autoClosingOvertype=10]=\"autoClosingOvertype\",R[R.autoClosingQuotes=11]=\"autoClosingQuotes\",R[R.autoIndent=12]=\"autoIndent\",R[R.automaticLayout=13]=\"automaticLayout\",R[R.autoSurround=14]=\"autoSurround\",R[R.bracketPairColorization=15]=\"bracketPairColorization\",R[R.guides=16]=\"guides\",R[R.codeLens=17]=\"codeLens\",R[R.codeLensFontFamily=18]=\"codeLensFontFamily\",R[R.codeLensFontSize=19]=\"codeLensFontSize\",R[R.colorDecorators=20]=\"colorDecorators\",R[R.colorDecoratorsLimit=21]=\"colorDecoratorsLimit\",R[R.columnSelection=22]=\"columnSelection\",R[R.comments=23]=\"comments\",R[R.contextmenu=24]=\"contextmenu\",R[R.copyWithSyntaxHighlighting=25]=\"copyWithSyntaxHighlighting\",R[R.cursorBlinking=26]=\"cursorBlinking\",R[R.cursorSmoothCaretAnimation=27]=\"cursorSmoothCaretAnimation\",R[R.cursorStyle=28]=\"cursorStyle\",R[R.cursorSurroundingLines=29]=\"cursorSurroundingLines\",R[R.cursorSurroundingLinesStyle=30]=\"cursorSurroundingLinesStyle\",R[R.cursorWidth=31]=\"cursorWidth\",R[R.disableLayerHinting=32]=\"disableLayerHinting\",R[R.disableMonospaceOptimizations=33]=\"disableMonospaceOptimizations\",R[R.domReadOnly=34]=\"domReadOnly\",R[R.dragAndDrop=35]=\"dragAndDrop\",R[R.dropIntoEditor=36]=\"dropIntoEditor\",R[R.emptySelectionClipboard=37]=\"emptySelectionClipboard\",R[R.experimentalWhitespaceRendering=38]=\"experimentalWhitespaceRendering\",R[R.extraEditorClassName=39]=\"extraEditorClassName\",R[R.fastScrollSensitivity=40]=\"fastScrollSensitivity\",R[R.find=41]=\"find\",R[R.fixedOverflowWidgets=42]=\"fixedOverflowWidgets\",R[R.folding=43]=\"folding\",R[R.foldingStrategy=44]=\"foldingStrategy\",R[R.foldingHighlight=45]=\"foldingHighlight\",R[R.foldingImportsByDefault=46]=\"foldingImportsByDefault\",R[R.foldingMaximumRegions=47]=\"foldingMaximumRegions\",R[R.unfoldOnClickAfterEndOfLine=48]=\"unfoldOnClickAfterEndOfLine\",R[R.fontFamily=49]=\"fontFamily\",R[R.fontInfo=50]=\"fontInfo\",R[R.fontLigatures=51]=\"fontLigatures\",R[R.fontSize=52]=\"fontSize\",R[R.fontWeight=53]=\"fontWeight\",R[R.fontVariations=54]=\"fontVariations\",R[R.formatOnPaste=55]=\"formatOnPaste\",R[R.formatOnType=56]=\"formatOnType\",R[R.glyphMargin=57]=\"glyphMargin\",R[R.gotoLocation=58]=\"gotoLocation\",R[R.hideCursorInOverviewRuler=59]=\"hideCursorInOverviewRuler\",R[R.hover=60]=\"hover\",R[R.inDiffEditor=61]=\"inDiffEditor\",R[R.inlineSuggest=62]=\"inlineSuggest\",R[R.inlineEdit=63]=\"inlineEdit\",R[R.letterSpacing=64]=\"letterSpacing\",R[R.lightbulb=65]=\"lightbulb\",R[R.lineDecorationsWidth=66]=\"lineDecorationsWidth\",R[R.lineHeight=67]=\"lineHeight\",R[R.lineNumbers=68]=\"lineNumbers\",R[R.lineNumbersMinChars=69]=\"lineNumbersMinChars\",R[R.linkedEditing=70]=\"linkedEditing\",R[R.links=71]=\"links\",R[R.matchBrackets=72]=\"matchBrackets\",R[R.minimap=73]=\"minimap\",R[R.mouseStyle=74]=\"mouseStyle\",R[R.mouseWheelScrollSensitivity=75]=\"mouseWheelScrollSensitivity\",R[R.mouseWheelZoom=76]=\"mouseWheelZoom\",R[R.multiCursorMergeOverlapping=77]=\"multiCursorMergeOverlapping\",R[R.multiCursorModifier=78]=\"multiCursorModifier\",R[R.multiCursorPaste=79]=\"multiCursorPaste\",R[R.multiCursorLimit=80]=\"multiCursorLimit\",R[R.occurrencesHighlight=81]=\"occurrencesHighlight\",R[R.overviewRulerBorder=82]=\"overviewRulerBorder\",R[R.overviewRulerLanes=83]=\"overviewRulerLanes\",R[R.padding=84]=\"padding\",R[R.pasteAs=85]=\"pasteAs\",R[R.parameterHints=86]=\"parameterHints\",R[R.peekWidgetDefaultFocus=87]=\"peekWidgetDefaultFocus\",R[R.placeholder=88]=\"placeholder\",R[R.definitionLinkOpensInPeek=89]=\"definitionLinkOpensInPeek\",R[R.quickSuggestions=90]=\"quickSuggestions\",R[R.quickSuggestionsDelay=91]=\"quickSuggestionsDelay\",R[R.readOnly=92]=\"readOnly\",R[R.readOnlyMessage=93]=\"readOnlyMessage\",R[R.renameOnType=94]=\"renameOnType\",R[R.renderControlCharacters=95]=\"renderControlCharacters\",R[R.renderFinalNewline=96]=\"renderFinalNewline\",R[R.renderLineHighlight=97]=\"renderLineHighlight\",R[R.renderLineHighlightOnlyWhenFocus=98]=\"renderLineHighlightOnlyWhenFocus\",R[R.renderValidationDecorations=99]=\"renderValidationDecorations\",R[R.renderWhitespace=100]=\"renderWhitespace\",R[R.revealHorizontalRightPadding=101]=\"revealHorizontalRightPadding\",R[R.roundedSelection=102]=\"roundedSelection\",R[R.rulers=103]=\"rulers\",R[R.scrollbar=104]=\"scrollbar\",R[R.scrollBeyondLastColumn=105]=\"scrollBeyondLastColumn\",R[R.scrollBeyondLastLine=106]=\"scrollBeyondLastLine\",R[R.scrollPredominantAxis=107]=\"scrollPredominantAxis\",R[R.selectionClipboard=108]=\"selectionClipboard\",R[R.selectionHighlight=109]=\"selectionHighlight\",R[R.selectOnLineNumbers=110]=\"selectOnLineNumbers\",R[R.showFoldingControls=111]=\"showFoldingControls\",R[R.showUnused=112]=\"showUnused\",R[R.snippetSuggestions=113]=\"snippetSuggestions\",R[R.smartSelect=114]=\"smartSelect\",R[R.smoothScrolling=115]=\"smoothScrolling\",R[R.stickyScroll=116]=\"stickyScroll\",R[R.stickyTabStops=117]=\"stickyTabStops\",R[R.stopRenderingLineAfter=118]=\"stopRenderingLineAfter\",R[R.suggest=119]=\"suggest\",R[R.suggestFontSize=120]=\"suggestFontSize\",R[R.suggestLineHeight=121]=\"suggestLineHeight\",R[R.suggestOnTriggerCharacters=122]=\"suggestOnTriggerCharacters\",R[R.suggestSelection=123]=\"suggestSelection\",R[R.tabCompletion=124]=\"tabCompletion\",R[R.tabIndex=125]=\"tabIndex\",R[R.unicodeHighlighting=126]=\"unicodeHighlighting\",R[R.unusualLineTerminators=127]=\"unusualLineTerminators\",R[R.useShadowDOM=128]=\"useShadowDOM\",R[R.useTabStops=129]=\"useTabStops\",R[R.wordBreak=130]=\"wordBreak\",R[R.wordSegmenterLocales=131]=\"wordSegmenterLocales\",R[R.wordSeparators=132]=\"wordSeparators\",R[R.wordWrap=133]=\"wordWrap\",R[R.wordWrapBreakAfterCharacters=134]=\"wordWrapBreakAfterCharacters\",R[R.wordWrapBreakBeforeCharacters=135]=\"wordWrapBreakBeforeCharacters\",R[R.wordWrapColumn=136]=\"wordWrapColumn\",R[R.wordWrapOverride1=137]=\"wordWrapOverride1\",R[R.wordWrapOverride2=138]=\"wordWrapOverride2\",R[R.wrappingIndent=139]=\"wrappingIndent\",R[R.wrappingStrategy=140]=\"wrappingStrategy\",R[R.showDeprecated=141]=\"showDeprecated\",R[R.inlayHints=142]=\"inlayHints\",R[R.editorClassName=143]=\"editorClassName\",R[R.pixelRatio=144]=\"pixelRatio\",R[R.tabFocusMode=145]=\"tabFocusMode\",R[R.layoutInfo=146]=\"layoutInfo\",R[R.wrappingInfo=147]=\"wrappingInfo\",R[R.defaultColorDecorators=148]=\"defaultColorDecorators\",R[R.colorDecoratorsActivatedOn=149]=\"colorDecoratorsActivatedOn\",R[R.inlineCompletionsAccessibilityVerbose=150]=\"inlineCompletionsAccessibilityVerbose\"})(t||(e.EditorOption=t={}));var i;(function(R){R[R.TextDefined=0]=\"TextDefined\",R[R.LF=1]=\"LF\",R[R.CRLF=2]=\"CRLF\"})(i||(e.EndOfLinePreference=i={}));var s;(function(R){R[R.LF=0]=\"LF\",R[R.CRLF=1]=\"CRLF\"})(s||(e.EndOfLineSequence=s={}));var g;(function(R){R[R.Left=1]=\"Left\",R[R.Center=2]=\"Center\",R[R.Right=3]=\"Right\"})(g||(e.GlyphMarginLane=g={}));var c;(function(R){R[R.Increase=0]=\"Increase\",R[R.Decrease=1]=\"Decrease\"})(c||(e.HoverVerbosityAction=c={}));var l;(function(R){R[R.None=0]=\"None\",R[R.Indent=1]=\"Indent\",R[R.IndentOutdent=2]=\"IndentOutdent\",R[R.Outdent=3]=\"Outdent\"})(l||(e.IndentAction=l={}));var a;(function(R){R[R.Both=0]=\"Both\",R[R.Right=1]=\"Right\",R[R.Left=2]=\"Left\",R[R.None=3]=\"None\"})(a||(e.InjectedTextCursorStops=a={}));var r;(function(R){R[R.Type=1]=\"Type\",R[R.Parameter=2]=\"Parameter\"})(r||(e.InlayHintKind=r={}));var u;(function(R){R[R.Automatic=0]=\"Automatic\",R[R.Explicit=1]=\"Explicit\"})(u||(e.InlineCompletionTriggerKind=u={}));var C;(function(R){R[R.Invoke=0]=\"Invoke\",R[R.Automatic=1]=\"Automatic\"})(C||(e.InlineEditTriggerKind=C={}));var f;(function(R){R[R.DependsOnKbLayout=-1]=\"DependsOnKbLayout\",R[R.Unknown=0]=\"Unknown\",R[R.Backspace=1]=\"Backspace\",R[R.Tab=2]=\"Tab\",R[R.Enter=3]=\"Enter\",R[R.Shift=4]=\"Shift\",R[R.Ctrl=5]=\"Ctrl\",R[R.Alt=6]=\"Alt\",R[R.PauseBreak=7]=\"PauseBreak\",R[R.CapsLock=8]=\"CapsLock\",R[R.Escape=9]=\"Escape\",R[R.Space=10]=\"Space\",R[R.PageUp=11]=\"PageUp\",R[R.PageDown=12]=\"PageDown\",R[R.End=13]=\"End\",R[R.Home=14]=\"Home\",R[R.LeftArrow=15]=\"LeftArrow\",R[R.UpArrow=16]=\"UpArrow\",R[R.RightArrow=17]=\"RightArrow\",R[R.DownArrow=18]=\"DownArrow\",R[R.Insert=19]=\"Insert\",R[R.Delete=20]=\"Delete\",R[R.Digit0=21]=\"Digit0\",R[R.Digit1=22]=\"Digit1\",R[R.Digit2=23]=\"Digit2\",R[R.Digit3=24]=\"Digit3\",R[R.Digit4=25]=\"Digit4\",R[R.Digit5=26]=\"Digit5\",R[R.Digit6=27]=\"Digit6\",R[R.Digit7=28]=\"Digit7\",R[R.Digit8=29]=\"Digit8\",R[R.Digit9=30]=\"Digit9\",R[R.KeyA=31]=\"KeyA\",R[R.KeyB=32]=\"KeyB\",R[R.KeyC=33]=\"KeyC\",R[R.KeyD=34]=\"KeyD\",R[R.KeyE=35]=\"KeyE\",R[R.KeyF=36]=\"KeyF\",R[R.KeyG=37]=\"KeyG\",R[R.KeyH=38]=\"KeyH\",R[R.KeyI=39]=\"KeyI\",R[R.KeyJ=40]=\"KeyJ\",R[R.KeyK=41]=\"KeyK\",R[R.KeyL=42]=\"KeyL\",R[R.KeyM=43]=\"KeyM\",R[R.KeyN=44]=\"KeyN\",R[R.KeyO=45]=\"KeyO\",R[R.KeyP=46]=\"KeyP\",R[R.KeyQ=47]=\"KeyQ\",R[R.KeyR=48]=\"KeyR\",R[R.KeyS=49]=\"KeyS\",R[R.KeyT=50]=\"KeyT\",R[R.KeyU=51]=\"KeyU\",R[R.KeyV=52]=\"KeyV\",R[R.KeyW=53]=\"KeyW\",R[R.KeyX=54]=\"KeyX\",R[R.KeyY=55]=\"KeyY\",R[R.KeyZ=56]=\"KeyZ\",R[R.Meta=57]=\"Meta\",R[R.ContextMenu=58]=\"ContextMenu\",R[R.F1=59]=\"F1\",R[R.F2=60]=\"F2\",R[R.F3=61]=\"F3\",R[R.F4=62]=\"F4\",R[R.F5=63]=\"F5\",R[R.F6=64]=\"F6\",R[R.F7=65]=\"F7\",R[R.F8=66]=\"F8\",R[R.F9=67]=\"F9\",R[R.F10=68]=\"F10\",R[R.F11=69]=\"F11\",R[R.F12=70]=\"F12\",R[R.F13=71]=\"F13\",R[R.F14=72]=\"F14\",R[R.F15=73]=\"F15\",R[R.F16=74]=\"F16\",R[R.F17=75]=\"F17\",R[R.F18=76]=\"F18\",R[R.F19=77]=\"F19\",R[R.F20=78]=\"F20\",R[R.F21=79]=\"F21\",R[R.F22=80]=\"F22\",R[R.F23=81]=\"F23\",R[R.F24=82]=\"F24\",R[R.NumLock=83]=\"NumLock\",R[R.ScrollLock=84]=\"ScrollLock\",R[R.Semicolon=85]=\"Semicolon\",R[R.Equal=86]=\"Equal\",R[R.Comma=87]=\"Comma\",R[R.Minus=88]=\"Minus\",R[R.Period=89]=\"Period\",R[R.Slash=90]=\"Slash\",R[R.Backquote=91]=\"Backquote\",R[R.BracketLeft=92]=\"BracketLeft\",R[R.Backslash=93]=\"Backslash\",R[R.BracketRight=94]=\"BracketRight\",R[R.Quote=95]=\"Quote\",R[R.OEM_8=96]=\"OEM_8\",R[R.IntlBackslash=97]=\"IntlBackslash\",R[R.Numpad0=98]=\"Numpad0\",R[R.Numpad1=99]=\"Numpad1\",R[R.Numpad2=100]=\"Numpad2\",R[R.Numpad3=101]=\"Numpad3\",R[R.Numpad4=102]=\"Numpad4\",R[R.Numpad5=103]=\"Numpad5\",R[R.Numpad6=104]=\"Numpad6\",R[R.Numpad7=105]=\"Numpad7\",R[R.Numpad8=106]=\"Numpad8\",R[R.Numpad9=107]=\"Numpad9\",R[R.NumpadMultiply=108]=\"NumpadMultiply\",R[R.NumpadAdd=109]=\"NumpadAdd\",R[R.NUMPAD_SEPARATOR=110]=\"NUMPAD_SEPARATOR\",R[R.NumpadSubtract=111]=\"NumpadSubtract\",R[R.NumpadDecimal=112]=\"NumpadDecimal\",R[R.NumpadDivide=113]=\"NumpadDivide\",R[R.KEY_IN_COMPOSITION=114]=\"KEY_IN_COMPOSITION\",R[R.ABNT_C1=115]=\"ABNT_C1\",R[R.ABNT_C2=116]=\"ABNT_C2\",R[R.AudioVolumeMute=117]=\"AudioVolumeMute\",R[R.AudioVolumeUp=118]=\"AudioVolumeUp\",R[R.AudioVolumeDown=119]=\"AudioVolumeDown\",R[R.BrowserSearch=120]=\"BrowserSearch\",R[R.BrowserHome=121]=\"BrowserHome\",R[R.BrowserBack=122]=\"BrowserBack\",R[R.BrowserForward=123]=\"BrowserForward\",R[R.MediaTrackNext=124]=\"MediaTrackNext\",R[R.MediaTrackPrevious=125]=\"MediaTrackPrevious\",R[R.MediaStop=126]=\"MediaStop\",R[R.MediaPlayPause=127]=\"MediaPlayPause\",R[R.LaunchMediaPlayer=128]=\"LaunchMediaPlayer\",R[R.LaunchMail=129]=\"LaunchMail\",R[R.LaunchApp2=130]=\"LaunchApp2\",R[R.Clear=131]=\"Clear\",R[R.MAX_VALUE=132]=\"MAX_VALUE\"})(f||(e.KeyCode=f={}));var h;(function(R){R[R.Hint=1]=\"Hint\",R[R.Info=2]=\"Info\",R[R.Warning=4]=\"Warning\",R[R.Error=8]=\"Error\"})(h||(e.MarkerSeverity=h={}));var v;(function(R){R[R.Unnecessary=1]=\"Unnecessary\",R[R.Deprecated=2]=\"Deprecated\"})(v||(e.MarkerTag=v={}));var w;(function(R){R[R.Inline=1]=\"Inline\",R[R.Gutter=2]=\"Gutter\"})(w||(e.MinimapPosition=w={}));var S;(function(R){R[R.Normal=1]=\"Normal\",R[R.Underlined=2]=\"Underlined\"})(S||(e.MinimapSectionHeaderStyle=S={}));var L;(function(R){R[R.UNKNOWN=0]=\"UNKNOWN\",R[R.TEXTAREA=1]=\"TEXTAREA\",R[R.GUTTER_GLYPH_MARGIN=2]=\"GUTTER_GLYPH_MARGIN\",R[R.GUTTER_LINE_NUMBERS=3]=\"GUTTER_LINE_NUMBERS\",R[R.GUTTER_LINE_DECORATIONS=4]=\"GUTTER_LINE_DECORATIONS\",R[R.GUTTER_VIEW_ZONE=5]=\"GUTTER_VIEW_ZONE\",R[R.CONTENT_TEXT=6]=\"CONTENT_TEXT\",R[R.CONTENT_EMPTY=7]=\"CONTENT_EMPTY\",R[R.CONTENT_VIEW_ZONE=8]=\"CONTENT_VIEW_ZONE\",R[R.CONTENT_WIDGET=9]=\"CONTENT_WIDGET\",R[R.OVERVIEW_RULER=10]=\"OVERVIEW_RULER\",R[R.SCROLLBAR=11]=\"SCROLLBAR\",R[R.OVERLAY_WIDGET=12]=\"OVERLAY_WIDGET\",R[R.OUTSIDE_EDITOR=13]=\"OUTSIDE_EDITOR\"})(L||(e.MouseTargetType=L={}));var D;(function(R){R[R.AIGenerated=1]=\"AIGenerated\"})(D||(e.NewSymbolNameTag=D={}));var T;(function(R){R[R.Invoke=0]=\"Invoke\",R[R.Automatic=1]=\"Automatic\"})(T||(e.NewSymbolNameTriggerKind=T={}));var M;(function(R){R[R.TOP_RIGHT_CORNER=0]=\"TOP_RIGHT_CORNER\",R[R.BOTTOM_RIGHT_CORNER=1]=\"BOTTOM_RIGHT_CORNER\",R[R.TOP_CENTER=2]=\"TOP_CENTER\"})(M||(e.OverlayWidgetPositionPreference=M={}));var A;(function(R){R[R.Left=1]=\"Left\",R[R.Center=2]=\"Center\",R[R.Right=4]=\"Right\",R[R.Full=7]=\"Full\"})(A||(e.OverviewRulerLane=A={}));var P;(function(R){R[R.Word=0]=\"Word\",R[R.Line=1]=\"Line\",R[R.Suggest=2]=\"Suggest\"})(P||(e.PartialAcceptTriggerKind=P={}));var N;(function(R){R[R.Left=0]=\"Left\",R[R.Right=1]=\"Right\",R[R.None=2]=\"None\",R[R.LeftOfInjectedText=3]=\"LeftOfInjectedText\",R[R.RightOfInjectedText=4]=\"RightOfInjectedText\"})(N||(e.PositionAffinity=N={}));var O;(function(R){R[R.Off=0]=\"Off\",R[R.On=1]=\"On\",R[R.Relative=2]=\"Relative\",R[R.Interval=3]=\"Interval\",R[R.Custom=4]=\"Custom\"})(O||(e.RenderLineNumbersType=O={}));var F;(function(R){R[R.None=0]=\"None\",R[R.Text=1]=\"Text\",R[R.Blocks=2]=\"Blocks\"})(F||(e.RenderMinimap=F={}));var x;(function(R){R[R.Smooth=0]=\"Smooth\",R[R.Immediate=1]=\"Immediate\"})(x||(e.ScrollType=x={}));var W;(function(R){R[R.Auto=1]=\"Auto\",R[R.Hidden=2]=\"Hidden\",R[R.Visible=3]=\"Visible\"})(W||(e.ScrollbarVisibility=W={}));var V;(function(R){R[R.LTR=0]=\"LTR\",R[R.RTL=1]=\"RTL\"})(V||(e.SelectionDirection=V={}));var q;(function(R){R.Off=\"off\",R.OnCode=\"onCode\",R.On=\"on\"})(q||(e.ShowLightbulbIconMode=q={}));var H;(function(R){R[R.Invoke=1]=\"Invoke\",R[R.TriggerCharacter=2]=\"TriggerCharacter\",R[R.ContentChange=3]=\"ContentChange\"})(H||(e.SignatureHelpTriggerKind=H={}));var z;(function(R){R[R.File=0]=\"File\",R[R.Module=1]=\"Module\",R[R.Namespace=2]=\"Namespace\",R[R.Package=3]=\"Package\",R[R.Class=4]=\"Class\",R[R.Method=5]=\"Method\",R[R.Property=6]=\"Property\",R[R.Field=7]=\"Field\",R[R.Constructor=8]=\"Constructor\",R[R.Enum=9]=\"Enum\",R[R.Interface=10]=\"Interface\",R[R.Function=11]=\"Function\",R[R.Variable=12]=\"Variable\",R[R.Constant=13]=\"Constant\",R[R.String=14]=\"String\",R[R.Number=15]=\"Number\",R[R.Boolean=16]=\"Boolean\",R[R.Array=17]=\"Array\",R[R.Object=18]=\"Object\",R[R.Key=19]=\"Key\",R[R.Null=20]=\"Null\",R[R.EnumMember=21]=\"EnumMember\",R[R.Struct=22]=\"Struct\",R[R.Event=23]=\"Event\",R[R.Operator=24]=\"Operator\",R[R.TypeParameter=25]=\"TypeParameter\"})(z||(e.SymbolKind=z={}));var U;(function(R){R[R.Deprecated=1]=\"Deprecated\"})(U||(e.SymbolTag=U={}));var j;(function(R){R[R.Hidden=0]=\"Hidden\",R[R.Blink=1]=\"Blink\",R[R.Smooth=2]=\"Smooth\",R[R.Phase=3]=\"Phase\",R[R.Expand=4]=\"Expand\",R[R.Solid=5]=\"Solid\"})(j||(e.TextEditorCursorBlinkingStyle=j={}));var Y;(function(R){R[R.Line=1]=\"Line\",R[R.Block=2]=\"Block\",R[R.Underline=3]=\"Underline\",R[R.LineThin=4]=\"LineThin\",R[R.BlockOutline=5]=\"BlockOutline\",R[R.UnderlineThin=6]=\"UnderlineThin\"})(Y||(e.TextEditorCursorStyle=Y={}));var G;(function(R){R[R.AlwaysGrowsWhenTypingAtEdges=0]=\"AlwaysGrowsWhenTypingAtEdges\",R[R.NeverGrowsWhenTypingAtEdges=1]=\"NeverGrowsWhenTypingAtEdges\",R[R.GrowsOnlyWhenTypingBefore=2]=\"GrowsOnlyWhenTypingBefore\",R[R.GrowsOnlyWhenTypingAfter=3]=\"GrowsOnlyWhenTypingAfter\"})(G||(e.TrackedRangeStickiness=G={}));var K;(function(R){R[R.None=0]=\"None\",R[R.Same=1]=\"Same\",R[R.Indent=2]=\"Indent\",R[R.DeepIndent=3]=\"DeepIndent\"})(K||(e.WrappingIndent=K={}))}),define(ne[583],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BracketPairWithMinIndentationInfo=e.BracketPairInfo=e.BracketInfo=void 0;class d{constructor(y,m,_,b){this.range=y,this.nestingLevel=m,this.nestingLevelOfEqualBracketType=_,this.isInvalid=b}}e.BracketInfo=d;class k{constructor(y,m,_,b,p,n){this.range=y,this.openingBracketRange=m,this.closingBracketRange=_,this.nestingLevel=b,this.nestingLevelOfEqualBracketType=p,this.bracketPairNode=n}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}e.BracketPairInfo=k;class I extends k{constructor(y,m,_,b,p,n,o){super(y,m,_,b,p,n),this.minVisibleColumnIndentation=o}}e.BracketPairWithMinIndentationInfo=I}),define(ne[584],se([1,0,6,2,583,200,321,106,320,149,236,13,319]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BracketPairsTree=void 0;class t extends k.Disposable{didLanguageChange(r){return this.brackets.didLanguageChange(r)}constructor(r,u){if(super(),this.textModel=r,this.getLanguageConfiguration=u,this.didChangeEmitter=new d.Emitter,this.denseKeyProvider=new b.DenseKeyProvider,this.brackets=new y.LanguageAgnosticBracketTokens(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],r.tokenization.hasTokens)r.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const C=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),f=new p.FastTokenizer(this.textModel.getValue(),C);this.initialAstWithoutTokens=(0,_.parseDocument)(f,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const r=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,r||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:r}){const u=r.map(C=>new E.TextEditInfo((0,m.toLength)(C.fromLineNumber-1,0),(0,m.toLength)(C.toLineNumber,0),(0,m.toLength)(C.toLineNumber-C.fromLineNumber+1,0)));this.handleEdits(u,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(r){const u=E.TextEditInfo.fromModelContentChanges(r.changes);this.handleEdits(u,!1)}handleEdits(r,u){const C=(0,o.combineTextEditInfos)(this.queuedTextEdits,r);this.queuedTextEdits=C,this.initialAstWithoutTokens&&!u&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,o.combineTextEditInfos)(this.queuedTextEditsForInitialAstWithoutTokens,r))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(r,u,C){const h=u,v=new p.TextBufferTokenizer(this.textModel,this.brackets);return(0,_.parseDocument)(v,r,h,C)}getBracketsInRange(r,u){this.flushQueue();const C=(0,m.toLength)(r.startLineNumber-1,r.startColumn-1),f=(0,m.toLength)(r.endLineNumber-1,r.endColumn-1);return new n.CallbackIterable(h=>{const v=this.initialAstWithoutTokens||this.astWithTokens;g(v,m.lengthZero,v.length,C,f,h,0,0,new Map,u)})}getBracketPairsInRange(r,u){this.flushQueue();const C=(0,m.positionToLength)(r.getStartPosition()),f=(0,m.positionToLength)(r.getEndPosition());return new n.CallbackIterable(h=>{const v=this.initialAstWithoutTokens||this.astWithTokens,w=new c(h,u,this.textModel);l(v,m.lengthZero,v.length,C,f,w,0,new Map)})}getFirstBracketAfter(r){this.flushQueue();const u=this.initialAstWithoutTokens||this.astWithTokens;return s(u,m.lengthZero,u.length,(0,m.positionToLength)(r))}getFirstBracketBefore(r){this.flushQueue();const u=this.initialAstWithoutTokens||this.astWithTokens;return i(u,m.lengthZero,u.length,(0,m.positionToLength)(r))}}e.BracketPairsTree=t;function i(a,r,u,C){if(a.kind===4||a.kind===2){const f=[];for(const h of a.children)u=(0,m.lengthAdd)(r,h.length),f.push({nodeOffsetStart:r,nodeOffsetEnd:u}),r=u;for(let h=f.length-1;h>=0;h--){const{nodeOffsetStart:v,nodeOffsetEnd:w}=f[h];if((0,m.lengthLessThan)(v,C)){const S=i(a.children[h],v,w,C);if(S)return S}}return null}else{if(a.kind===3)return null;if(a.kind===1){const f=(0,m.lengthsToRange)(r,u);return{bracketInfo:a.bracketInfo,range:f}}}return null}function s(a,r,u,C){if(a.kind===4||a.kind===2){for(const f of a.children){if(u=(0,m.lengthAdd)(r,f.length),(0,m.lengthLessThan)(C,u)){const h=s(f,r,u,C);if(h)return h}r=u}return null}else{if(a.kind===3)return null;if(a.kind===1){const f=(0,m.lengthsToRange)(r,u);return{bracketInfo:a.bracketInfo,range:f}}}return null}function g(a,r,u,C,f,h,v,w,S,L,D=!1){if(v>200)return!0;e:for(;;)switch(a.kind){case 4:{const T=a.childrenLength;for(let M=0;M<T;M++){const A=a.getChild(M);if(A){if(u=(0,m.lengthAdd)(r,A.length),(0,m.lengthLessThanEqual)(r,f)&&(0,m.lengthGreaterThanEqual)(u,C)){if((0,m.lengthGreaterThanEqual)(u,f)){a=A;continue e}if(!g(A,r,u,C,f,h,v,0,S,L))return!1}r=u}}return!0}case 2:{const T=!L||!a.closingBracket||a.closingBracket.bracketInfo.closesColorized(a.openingBracket.bracketInfo);let M=0;if(S){let P=S.get(a.openingBracket.text);P===void 0&&(P=0),M=P,T&&(P++,S.set(a.openingBracket.text,P))}const A=a.childrenLength;for(let P=0;P<A;P++){const N=a.getChild(P);if(N){if(u=(0,m.lengthAdd)(r,N.length),(0,m.lengthLessThanEqual)(r,f)&&(0,m.lengthGreaterThanEqual)(u,C)){if((0,m.lengthGreaterThanEqual)(u,f)&&N.kind!==1){a=N,T?(v++,w=M+1):w=M;continue e}if((T||N.kind!==1||!a.closingBracket)&&!g(N,r,u,C,f,h,T?v+1:v,T?M+1:M,S,L,!a.closingBracket))return!1}r=u}}return S?.set(a.openingBracket.text,M),!0}case 3:{const T=(0,m.lengthsToRange)(r,u);return h(new I.BracketInfo(T,v-1,0,!0))}case 1:{const T=(0,m.lengthsToRange)(r,u);return h(new I.BracketInfo(T,v-1,w-1,D))}case 0:return!0}}class c{constructor(r,u,C){this.push=r,this.includeMinIndentation=u,this.textModel=C}}function l(a,r,u,C,f,h,v,w){if(v>200)return!0;let S=!0;if(a.kind===2){let L=0;if(w){let M=w.get(a.openingBracket.text);M===void 0&&(M=0),L=M,M++,w.set(a.openingBracket.text,M)}const D=(0,m.lengthAdd)(r,a.openingBracket.length);let T=-1;if(h.includeMinIndentation&&(T=a.computeMinIndentation(r,h.textModel)),S=h.push(new I.BracketPairWithMinIndentationInfo((0,m.lengthsToRange)(r,u),(0,m.lengthsToRange)(r,D),a.closingBracket?(0,m.lengthsToRange)((0,m.lengthAdd)(D,a.child?.length||m.lengthZero),u):void 0,v,L,a,T)),r=D,S&&a.child){const M=a.child;if(u=(0,m.lengthAdd)(r,M.length),(0,m.lengthLessThanEqual)(r,f)&&(0,m.lengthGreaterThanEqual)(u,C)&&(S=l(M,r,u,C,f,h,v+1,w),!S))return!1}w?.set(a.openingBracket.text,L)}else{let L=r;for(const D of a.children){const T=L;if(L=(0,m.lengthAdd)(L,D.length),(0,m.lengthLessThanEqual)(T,f)&&(0,m.lengthLessThanEqual)(C,L)&&(S=l(D,T,L,C,f,h,v,w),!S))return!1}}return S}}),define(ne[132],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InternalModelContentChangeEvent=e.ModelInjectedTextChangedEvent=e.ModelRawContentChangedEvent=e.ModelRawEOLChanged=e.ModelRawLinesInserted=e.ModelRawLinesDeleted=e.ModelRawLineChanged=e.LineInjectedText=e.ModelRawFlush=void 0;class d{constructor(){this.changeType=1}}e.ModelRawFlush=d;class k{static applyInjectedText(o,t){if(!t||t.length===0)return o;let i=\"\",s=0;for(const g of t)i+=o.substring(s,g.column-1),s=g.column-1,i+=g.options.content;return i+=o.substring(s),i}static fromDecorations(o){const t=[];for(const i of o)i.options.before&&i.options.before.content.length>0&&t.push(new k(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new k(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((i,s)=>i.lineNumber===s.lineNumber?i.column===s.column?i.order-s.order:i.column-s.column:i.lineNumber-s.lineNumber),t}constructor(o,t,i,s,g){this.ownerId=o,this.lineNumber=t,this.column=i,this.options=s,this.order=g}}e.LineInjectedText=k;class I{constructor(o,t,i){this.changeType=2,this.lineNumber=o,this.detail=t,this.injectedText=i}}e.ModelRawLineChanged=I;class E{constructor(o,t){this.changeType=3,this.fromLineNumber=o,this.toLineNumber=t}}e.ModelRawLinesDeleted=E;class y{constructor(o,t,i,s){this.changeType=4,this.injectedTexts=s,this.fromLineNumber=o,this.toLineNumber=t,this.detail=i}}e.ModelRawLinesInserted=y;class m{constructor(){this.changeType=5}}e.ModelRawEOLChanged=m;class _{constructor(o,t,i,s){this.changes=o,this.versionId=t,this.isUndoing=i,this.isRedoing=s,this.resultingSelection=null}containsEvent(o){for(let t=0,i=this.changes.length;t<i;t++)if(this.changes[t].changeType===o)return!0;return!1}static merge(o,t){const i=[].concat(o.changes).concat(t.changes),s=t.versionId,g=o.isUndoing||t.isUndoing,c=o.isRedoing||t.isRedoing;return new _(i,s,g,c)}}e.ModelRawContentChangedEvent=_;class b{constructor(o){this.changes=o}}e.ModelInjectedTextChangedEvent=b;class p{constructor(o,t){this.rawContentChangedEvent=o,this.contentChangedEvent=t}merge(o){const t=_.merge(this.rawContentChangedEvent,o.rawContentChangedEvent),i=p._mergeChangeEvents(this.contentChangedEvent,o.contentChangedEvent);return new p(t,i)}static _mergeChangeEvents(o,t){const i=[].concat(o.changes).concat(t.changes),s=t.eol,g=t.versionId,c=o.isUndoing||t.isUndoing,l=o.isRedoing||t.isRedoing,a=o.isFlush||t.isFlush,r=o.isEolChange&&t.isEolChange;return{changes:i,eol:s,isEolChange:r,versionId:g,isUndoing:c,isRedoing:l,isFlush:a}}}e.InternalModelContentChangeEvent=p}),define(ne[239],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IndentGuideHorizontalLine=e.IndentGuide=e.HorizontalGuidesState=void 0;var d;(function(E){E[E.Disabled=0]=\"Disabled\",E[E.EnabledForActive=1]=\"EnabledForActive\",E[E.Enabled=2]=\"Enabled\"})(d||(e.HorizontalGuidesState=d={}));class k{constructor(y,m,_,b,p,n){if(this.visibleColumn=y,this.column=m,this.className=_,this.horizontalLine=b,this.forWrappedLinesAfterColumn=p,this.forWrappedLinesBeforeOrAtColumn=n,y!==-1==(m!==-1))throw new Error}}e.IndentGuide=k;class I{constructor(y,m){this.top=y,this.endColumn=m}}e.IndentGuideHorizontalLine=I}),define(ne[329],se([1,0,67,11,94,4,323,237,239,8]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BracketPairGuidesClassNames=e.GuidesTextModelPart=void 0;class p extends y.TextModelPart{constructor(t,i){super(),this.textModel=t,this.languageConfigurationService=i}getLanguageConfiguration(t){return this.languageConfigurationService.getLanguageConfiguration(t)}_computeIndentLevel(t){return(0,m.computeIndentLevel)(this.textModel.getLineContent(t+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(t,i,s){this.assertNotDisposed();const g=this.textModel.getLineCount();if(t<1||t>g)throw new b.BugIndicatingError(\"Illegal value for lineNumber\");const c=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,l=!!(c&&c.offSide);let a=-2,r=-1,u=-2,C=-1;const f=O=>{if(a!==-1&&(a===-2||a>O-1)){a=-1,r=-1;for(let F=O-2;F>=0;F--){const x=this._computeIndentLevel(F);if(x>=0){a=F,r=x;break}}}if(u===-2){u=-1,C=-1;for(let F=O;F<g;F++){const x=this._computeIndentLevel(F);if(x>=0){u=F,C=x;break}}}};let h=-2,v=-1,w=-2,S=-1;const L=O=>{if(h===-2){h=-1,v=-1;for(let F=O-2;F>=0;F--){const x=this._computeIndentLevel(F);if(x>=0){h=F,v=x;break}}}if(w!==-1&&(w===-2||w<O-1)){w=-1,S=-1;for(let F=O;F<g;F++){const x=this._computeIndentLevel(F);if(x>=0){w=F,S=x;break}}}};let D=0,T=!0,M=0,A=!0,P=0,N=0;for(let O=0;T||A;O++){const F=t-O,x=t+O;O>1&&(F<1||F<i)&&(T=!1),O>1&&(x>g||x>s)&&(A=!1),O>5e4&&(T=!1,A=!1);let W=-1;if(T&&F>=1){const q=this._computeIndentLevel(F-1);q>=0?(u=F-1,C=q,W=Math.ceil(q/this.textModel.getOptions().indentSize)):(f(F),W=this._getIndentLevelForWhitespaceLine(l,r,C))}let V=-1;if(A&&x<=g){const q=this._computeIndentLevel(x-1);q>=0?(h=x-1,v=q,V=Math.ceil(q/this.textModel.getOptions().indentSize)):(L(x),V=this._getIndentLevelForWhitespaceLine(l,v,S))}if(O===0){N=W;continue}if(O===1){if(x<=g&&V>=0&&N+1===V){T=!1,D=x,M=x,P=V;continue}if(F>=1&&W>=0&&W-1===N){A=!1,D=F,M=F,P=W;continue}if(D=t,M=t,P=N,P===0)return{startLineNumber:D,endLineNumber:M,indent:P}}T&&(W>=P?D=F:T=!1),A&&(V>=P?M=x:A=!1)}return{startLineNumber:D,endLineNumber:M,indent:P}}getLinesBracketGuides(t,i,s,g){const c=[];for(let f=t;f<=i;f++)c.push([]);const l=!0,a=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new E.Range(t,1,i,this.textModel.getLineMaxColumn(i))).toArray();let r;if(s&&a.length>0){const f=(t<=s.lineNumber&&s.lineNumber<=i?a:this.textModel.bracketPairs.getBracketPairsInRange(E.Range.fromPositions(s)).toArray()).filter(h=>E.Range.strictContainsPosition(h.range,s));r=(0,d.findLast)(f,h=>l||h.range.startLineNumber!==h.range.endLineNumber)?.range}const u=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,C=new n;for(const f of a){if(!f.closingBracketRange)continue;const h=r&&f.range.equalsRange(r);if(!h&&!g.includeInactive)continue;const v=C.getInlineClassName(f.nestingLevel,f.nestingLevelOfEqualBracketType,u)+(g.highlightActive&&h?\" \"+C.activeClassName:\"\"),w=f.openingBracketRange.getStartPosition(),S=f.closingBracketRange.getStartPosition(),L=g.horizontalGuides===_.HorizontalGuidesState.Enabled||g.horizontalGuides===_.HorizontalGuidesState.EnabledForActive&&h;if(f.range.startLineNumber===f.range.endLineNumber){l&&L&&c[f.range.startLineNumber-t].push(new _.IndentGuide(-1,f.openingBracketRange.getEndPosition().column,v,new _.IndentGuideHorizontalLine(!1,S.column),-1,-1));continue}const D=this.getVisibleColumnFromPosition(S),T=this.getVisibleColumnFromPosition(f.openingBracketRange.getStartPosition()),M=Math.min(T,D,f.minVisibleColumnIndentation+1);let A=!1;k.firstNonWhitespaceIndex(this.textModel.getLineContent(f.closingBracketRange.startLineNumber))<f.closingBracketRange.startColumn-1&&(A=!0);const O=Math.max(w.lineNumber,t),F=Math.min(S.lineNumber,i),x=A?1:0;for(let W=O;W<F+x;W++)c[W-t].push(new _.IndentGuide(M,-1,v,null,W===w.lineNumber?w.column:-1,W===S.lineNumber?S.column:-1));L&&(w.lineNumber>=t&&T>M&&c[w.lineNumber-t].push(new _.IndentGuide(M,-1,v,new _.IndentGuideHorizontalLine(!1,w.column),-1,-1)),S.lineNumber<=i&&D>M&&c[S.lineNumber-t].push(new _.IndentGuide(M,-1,v,new _.IndentGuideHorizontalLine(!A,S.column),-1,-1)))}for(const f of c)f.sort((h,v)=>h.visibleColumn-v.visibleColumn);return c}getVisibleColumnFromPosition(t){return I.CursorColumns.visibleColumnFromColumn(this.textModel.getLineContent(t.lineNumber),t.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(t,i){this.assertNotDisposed();const s=this.textModel.getLineCount();if(t<1||t>s)throw new Error(\"Illegal value for startLineNumber\");if(i<1||i>s)throw new Error(\"Illegal value for endLineNumber\");const g=this.textModel.getOptions(),c=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,l=!!(c&&c.offSide),a=new Array(i-t+1);let r=-2,u=-1,C=-2,f=-1;for(let h=t;h<=i;h++){const v=h-t,w=this._computeIndentLevel(h-1);if(w>=0){r=h-1,u=w,a[v]=Math.ceil(w/g.indentSize);continue}if(r===-2){r=-1,u=-1;for(let S=h-2;S>=0;S--){const L=this._computeIndentLevel(S);if(L>=0){r=S,u=L;break}}}if(C!==-1&&(C===-2||C<h-1)){C=-1,f=-1;for(let S=h;S<s;S++){const L=this._computeIndentLevel(S);if(L>=0){C=S,f=L;break}}}a[v]=this._getIndentLevelForWhitespaceLine(l,u,f)}return a}_getIndentLevelForWhitespaceLine(t,i,s){const g=this.textModel.getOptions();return i===-1||s===-1?0:i<s?1+Math.floor(i/g.indentSize):i===s||t?Math.ceil(s/g.indentSize):1+Math.floor(s/g.indentSize)}}e.GuidesTextModelPart=p;class n{constructor(){this.activeClassName=\"indent-active\"}getInlineClassName(t,i,s){return this.getInlineClassNameOfLevel(s?i:t)}getInlineClassNameOfLevel(t){return`bracket-indent-guide lvl-${t%30}`}}e.BracketPairGuidesClassNames=n}),define(ne[585],se([1,0,6,2]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenizationRegistry=void 0;class I{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(m){this._onDidChange.fire({changedLanguages:m,changedColorMap:!1})}register(m,_){return this._tokenizationSupports.set(m,_),this.handleChange([m]),(0,k.toDisposable)(()=>{this._tokenizationSupports.get(m)===_&&(this._tokenizationSupports.delete(m),this.handleChange([m]))})}get(m){return this._tokenizationSupports.get(m)||null}registerFactory(m,_){this._factories.get(m)?.dispose();const b=new E(this,m,_);return this._factories.set(m,b),(0,k.toDisposable)(()=>{const p=this._factories.get(m);!p||p!==b||(this._factories.delete(m),p.dispose())})}async getOrCreate(m){const _=this.get(m);if(_)return _;const b=this._factories.get(m);return!b||b.isResolved?null:(await b.resolve(),this.get(m))}isResolved(m){if(this.get(m))return!0;const b=this._factories.get(m);return!!(!b||b.isResolved)}setColorMap(m){this._colorMap=m,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}e.TokenizationRegistry=I;class E extends k.Disposable{get isResolved(){return this._isResolved}constructor(m,_,b){super(),this._registry=m,this._languageId=_,this._factory=b,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const m=await this._factory.tokenizationSupport;this._isResolved=!0,m&&!this._isDisposed&&this._register(this._registry.register(this._languageId,m))}}}),define(ne[586],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContiguousMultilineTokens=void 0;class d{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(I,E){this._startLineNumber=I,this._tokens=E}getLineTokens(I){return this._tokens[I-this._startLineNumber]}appendLineTokens(I){this._tokens.push(I)}}e.ContiguousMultilineTokens=d}),define(ne[330],se([1,0,586]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContiguousMultilineTokensBuilder=void 0;class k{constructor(){this._tokens=[]}add(E,y){if(this._tokens.length>0){const m=this._tokens[this._tokens.length-1];if(m.endLineNumber+1===E){m.appendLineTokens(y);return}}this._tokens.push(new d.ContiguousMultilineTokens(E,[y]))}finalize(){return this._tokens}}e.ContiguousMultilineTokensBuilder=k}),define(ne[83],se([1,0,148]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LineTokens=void 0,e.getStandardTokenTypeAtPosition=E;class k{static{this.defaultTokenMetadata=(32768|2<<24)>>>0}static createEmpty(m,_){const b=k.defaultTokenMetadata,p=new Uint32Array(2);return p[0]=m.length,p[1]=b,new k(p,m,_)}static createFromTextAndMetadata(m,_){let b=0,p=\"\";const n=new Array;for(const{text:o,metadata:t}of m)n.push(b+o.length,t),b+=o.length,p+=o;return new k(new Uint32Array(n),p,_)}constructor(m,_,b){this._lineTokensBrand=void 0,this._tokens=m,this._tokensCount=this._tokens.length>>>1,this._text=_,this.languageIdCodec=b}equals(m){return m instanceof k?this.slicedEquals(m,0,this._tokensCount):!1}slicedEquals(m,_,b){if(this._text!==m._text||this._tokensCount!==m._tokensCount)return!1;const p=_<<1,n=p+(b<<1);for(let o=p;o<n;o++)if(this._tokens[o]!==m._tokens[o])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(m){return m>0?this._tokens[m-1<<1]:0}getMetadata(m){return this._tokens[(m<<1)+1]}getLanguageId(m){const _=this._tokens[(m<<1)+1],b=d.TokenMetadata.getLanguageId(_);return this.languageIdCodec.decodeLanguageId(b)}getStandardTokenType(m){const _=this._tokens[(m<<1)+1];return d.TokenMetadata.getTokenType(_)}getForeground(m){const _=this._tokens[(m<<1)+1];return d.TokenMetadata.getForeground(_)}getClassName(m){const _=this._tokens[(m<<1)+1];return d.TokenMetadata.getClassNameFromMetadata(_)}getInlineStyle(m,_){const b=this._tokens[(m<<1)+1];return d.TokenMetadata.getInlineStyleFromMetadata(b,_)}getPresentation(m){const _=this._tokens[(m<<1)+1];return d.TokenMetadata.getPresentationFromMetadata(_)}getEndOffset(m){return this._tokens[m<<1]}findTokenIndexAtOffset(m){return k.findIndexInTokensArray(this._tokens,m)}inflate(){return this}sliceAndInflate(m,_,b){return new I(this,m,_,b)}static convertToEndOffset(m,_){const p=(m.length>>>1)-1;for(let n=0;n<p;n++)m[n<<1]=m[n+1<<1];m[p<<1]=_}static findIndexInTokensArray(m,_){if(m.length<=2)return 0;let b=0,p=(m.length>>>1)-1;for(;b<p;){const n=b+Math.floor((p-b)/2),o=m[n<<1];if(o===_)return n+1;o<_?b=n+1:o>_&&(p=n)}return b}withInserted(m){if(m.length===0)return this;let _=0,b=0,p=\"\";const n=new Array;let o=0;for(;;){const t=_<this._tokensCount?this._tokens[_<<1]:-1,i=b<m.length?m[b]:null;if(t!==-1&&(i===null||t<=i.offset)){p+=this._text.substring(o,t);const s=this._tokens[(_<<1)+1];n.push(p.length,s),_++,o=t}else if(i){if(i.offset>o){p+=this._text.substring(o,i.offset);const s=this._tokens[(_<<1)+1];n.push(p.length,s),o=i.offset}p+=i.text,n.push(p.length,i.tokenMetadata),b++}else break}return new k(new Uint32Array(n),p,this.languageIdCodec)}getTokenText(m){const _=this.getStartOffset(m),b=this.getEndOffset(m);return this._text.substring(_,b)}forEach(m){const _=this.getCount();for(let b=0;b<_;b++)m(b)}}e.LineTokens=k;class I{constructor(m,_,b,p){this._source=m,this._startOffset=_,this._endOffset=b,this._deltaOffset=p,this._firstTokenIndex=m.findTokenIndexAtOffset(_),this.languageIdCodec=m.languageIdCodec,this._tokensCount=0;for(let n=this._firstTokenIndex,o=m.getCount();n<o&&!(m.getStartOffset(n)>=b);n++)this._tokensCount++}getMetadata(m){return this._source.getMetadata(this._firstTokenIndex+m)}getLanguageId(m){return this._source.getLanguageId(this._firstTokenIndex+m)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(m){return m instanceof I?this._startOffset===m._startOffset&&this._endOffset===m._endOffset&&this._deltaOffset===m._deltaOffset&&this._source.slicedEquals(m._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getStandardTokenType(m){return this._source.getStandardTokenType(this._firstTokenIndex+m)}getForeground(m){return this._source.getForeground(this._firstTokenIndex+m)}getEndOffset(m){const _=this._source.getEndOffset(this._firstTokenIndex+m);return Math.min(this._endOffset,_)-this._startOffset+this._deltaOffset}getClassName(m){return this._source.getClassName(this._firstTokenIndex+m)}getInlineStyle(m,_){return this._source.getInlineStyle(this._firstTokenIndex+m,_)}getPresentation(m){return this._source.getPresentation(this._firstTokenIndex+m)}findTokenIndexAtOffset(m){return this._source.findTokenIndexAtOffset(m+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(m){const _=this._firstTokenIndex+m,b=this._source.getStartOffset(_),p=this._source.getEndOffset(_);let n=this._source.getTokenText(_);return b<this._startOffset&&(n=n.substring(this._startOffset-b)),p>this._endOffset&&(n=n.substring(0,n.length-(p-this._endOffset))),n}forEach(m){for(let _=0;_<this.getCount();_++)m(_)}}function E(y,m){const _=m.lineNumber;if(!y.tokenization.isCheapToTokenize(_))return;y.tokenization.forceTokenization(_);const b=y.tokenization.getLineTokens(_),p=b.findTokenIndexAtOffset(m.column-1);return b.getStandardTokenType(p)}}),define(ne[240],se([1,0,11,169,83]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IndentationContextProcessor=e.ProcessedIndentRulesSupport=void 0,e.isLanguageDifferentFromLineStart=_;class E{constructor(p,n,o){this._indentRulesSupport=n,this._indentationLineProcessor=new m(p,o)}shouldIncrease(p,n){const o=this._indentationLineProcessor.getProcessedLine(p,n);return this._indentRulesSupport.shouldIncrease(o)}shouldDecrease(p,n){const o=this._indentationLineProcessor.getProcessedLine(p,n);return this._indentRulesSupport.shouldDecrease(o)}shouldIgnore(p,n){const o=this._indentationLineProcessor.getProcessedLine(p,n);return this._indentRulesSupport.shouldIgnore(o)}shouldIndentNextLine(p,n){const o=this._indentationLineProcessor.getProcessedLine(p,n);return this._indentRulesSupport.shouldIndentNextLine(o)}}e.ProcessedIndentRulesSupport=E;class y{constructor(p,n){this.model=p,this.indentationLineProcessor=new m(p,n)}getProcessedTokenContextAroundRange(p){const n=this._getProcessedTokensBeforeRange(p),o=this._getProcessedTokensAfterRange(p),t=this._getProcessedPreviousLineTokens(p);return{beforeRangeProcessedTokens:n,afterRangeProcessedTokens:o,previousLineProcessedTokens:t}}_getProcessedTokensBeforeRange(p){this.model.tokenization.forceTokenization(p.startLineNumber);const n=this.model.tokenization.getLineTokens(p.startLineNumber),o=(0,k.createScopedLineTokens)(n,p.startColumn-1);let t;if(_(this.model,p.getStartPosition())){const s=p.startColumn-1-o.firstCharOffset,g=o.firstCharOffset,c=g+s;t=n.sliceAndInflate(g,c,0)}else{const s=p.startColumn-1;t=n.sliceAndInflate(0,s,0)}return this.indentationLineProcessor.getProcessedTokens(t)}_getProcessedTokensAfterRange(p){const n=p.isEmpty()?p.getStartPosition():p.getEndPosition();this.model.tokenization.forceTokenization(n.lineNumber);const o=this.model.tokenization.getLineTokens(n.lineNumber),t=(0,k.createScopedLineTokens)(o,n.column-1),i=n.column-1-t.firstCharOffset,s=t.firstCharOffset+i,g=t.firstCharOffset+t.getLineLength(),c=o.sliceAndInflate(s,g,0);return this.indentationLineProcessor.getProcessedTokens(c)}_getProcessedPreviousLineTokens(p){const n=C=>{this.model.tokenization.forceTokenization(C);const f=this.model.tokenization.getLineTokens(C),h=this.model.getLineMaxColumn(C)-1;return(0,k.createScopedLineTokens)(f,h)};this.model.tokenization.forceTokenization(p.startLineNumber);const o=this.model.tokenization.getLineTokens(p.startLineNumber),t=(0,k.createScopedLineTokens)(o,p.startColumn-1),i=I.LineTokens.createEmpty(\"\",t.languageIdCodec),s=p.startLineNumber-1;if(s===0||!(t.firstCharOffset===0))return i;const l=n(s);if(!(t.languageId===l.languageId))return i;const r=l.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(r)}}e.IndentationContextProcessor=y;class m{constructor(p,n){this.model=p,this.languageConfigurationService=n}getProcessedLine(p,n){const o=(s,g)=>{const c=d.getLeadingWhitespace(s);return g+s.substring(c.length)};this.model.tokenization.forceTokenization?.(p);const t=this.model.tokenization.getLineTokens(p);let i=this.getProcessedTokens(t).getLineContent();return n!==void 0&&(i=o(i,n)),i}getProcessedTokens(p){const n=c=>c===2||c===3||c===1,o=p.getLanguageId(0),i=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getBracketRegExp({global:!0}),s=[];return p.forEach(c=>{const l=p.getStandardTokenType(c);let a=p.getTokenText(c);n(l)&&(a=a.replace(i,\"\"));const r=p.getMetadata(c);s.push({text:a,metadata:r})}),I.LineTokens.createFromTextAndMetadata(s,p.languageIdCodec)}}function _(b,p){b.tokenization.forceTokenization(p.lineNumber);const n=b.tokenization.getLineTokens(p.lineNumber),o=(0,k.createScopedLineTokens)(n,p.column-1),t=o.firstCharOffset===0,i=n.getLanguageId(0)===o.languageId;return!t&&!i}}),define(ne[241],se([1,0,11,131,240]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getInheritIndentForLine=y,e.getGoodIndentForLine=m,e.getIndentForEnter=_,e.getIndentActionForType=b,e.getIndentMetadata=p;function E(o,t,i){const s=o.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let g,c=-1;for(g=t-1;g>=1;g--){if(o.tokenization.getLanguageIdAtPosition(g,0)!==s)return c;const l=o.getLineContent(g);if(i.shouldIgnore(g)||/^\\s+$/.test(l)||l===\"\"){c=g;continue}return g}}return-1}function y(o,t,i,s=!0,g){if(o<4)return null;const c=g.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!c)return null;const l=new I.ProcessedIndentRulesSupport(t,c,g);if(i<=1)return{indentation:\"\",action:null};for(let r=i-1;r>0&&t.getLineContent(r)===\"\";r--)if(r===1)return{indentation:\"\",action:null};const a=E(t,i,l);if(a<0)return null;if(a<1)return{indentation:\"\",action:null};if(l.shouldIncrease(a)||l.shouldIndentNextLine(a)){const r=t.getLineContent(a);return{indentation:d.getLeadingWhitespace(r),action:k.IndentAction.Indent,line:a}}else if(l.shouldDecrease(a)){const r=t.getLineContent(a);return{indentation:d.getLeadingWhitespace(r),action:null,line:a}}else{if(a===1)return{indentation:d.getLeadingWhitespace(t.getLineContent(a)),action:null,line:a};const r=a-1,u=c.getIndentMetadata(t.getLineContent(r));if(!(u&3)&&u&4){let C=0;for(let f=r-1;f>0;f--)if(!l.shouldIndentNextLine(f)){C=f;break}return{indentation:d.getLeadingWhitespace(t.getLineContent(C+1)),action:null,line:C+1}}if(s)return{indentation:d.getLeadingWhitespace(t.getLineContent(a)),action:null,line:a};for(let C=a;C>0;C--){if(l.shouldIncrease(C))return{indentation:d.getLeadingWhitespace(t.getLineContent(C)),action:k.IndentAction.Indent,line:C};if(l.shouldIndentNextLine(C)){let f=0;for(let h=C-1;h>0;h--)if(!l.shouldIndentNextLine(C)){f=h;break}return{indentation:d.getLeadingWhitespace(t.getLineContent(f+1)),action:null,line:f+1}}else if(l.shouldDecrease(C))return{indentation:d.getLeadingWhitespace(t.getLineContent(C)),action:null,line:C}}return{indentation:d.getLeadingWhitespace(t.getLineContent(1)),action:null,line:1}}}function m(o,t,i,s,g,c){if(o<4)return null;const l=c.getLanguageConfiguration(i);if(!l)return null;const a=c.getLanguageConfiguration(i).indentRulesSupport;if(!a)return null;const r=new I.ProcessedIndentRulesSupport(t,a,c),u=y(o,t,s,void 0,c);if(u){const C=u.line;if(C!==void 0){let f=!0;for(let h=C;h<s-1;h++)if(!/^\\s*$/.test(t.getLineContent(h))){f=!1;break}if(f){const h=l.onEnter(o,\"\",t.getLineContent(C),\"\");if(h){let v=d.getLeadingWhitespace(t.getLineContent(C));return h.removeText&&(v=v.substring(0,v.length-h.removeText)),h.indentAction===k.IndentAction.Indent||h.indentAction===k.IndentAction.IndentOutdent?v=g.shiftIndent(v):h.indentAction===k.IndentAction.Outdent&&(v=g.unshiftIndent(v)),r.shouldDecrease(s)&&(v=g.unshiftIndent(v)),h.appendText&&(v+=h.appendText),d.getLeadingWhitespace(v)}}}return r.shouldDecrease(s)?u.action===k.IndentAction.Indent?u.indentation:g.unshiftIndent(u.indentation):u.action===k.IndentAction.Indent?g.shiftIndent(u.indentation):u.indentation}return null}function _(o,t,i,s,g){if(o<4)return null;const c=t.getLanguageIdAtPosition(i.startLineNumber,i.startColumn),l=g.getLanguageConfiguration(c).indentRulesSupport;if(!l)return null;t.tokenization.forceTokenization(i.startLineNumber);const r=new I.IndentationContextProcessor(t,g).getProcessedTokenContextAroundRange(i),u=r.afterRangeProcessedTokens,C=r.beforeRangeProcessedTokens,f=d.getLeadingWhitespace(C.getLineContent()),h=n(t,i.startLineNumber,C),v=(0,I.isLanguageDifferentFromLineStart)(t,i.getStartPosition()),w=t.getLineContent(i.startLineNumber),S=d.getLeadingWhitespace(w),L=y(o,h,i.startLineNumber+1,void 0,g);if(!L){const T=v?S:f;return{beforeEnter:T,afterEnter:T}}let D=v?S:L.indentation;return L.action===k.IndentAction.Indent&&(D=s.shiftIndent(D)),l.shouldDecrease(u.getLineContent())&&(D=s.unshiftIndent(D)),{beforeEnter:v?S:f,afterEnter:D}}function b(o,t,i,s,g,c){const l=o.autoIndent;if(l<4||(0,I.isLanguageDifferentFromLineStart)(t,i.getStartPosition()))return null;const r=t.getLanguageIdAtPosition(i.startLineNumber,i.startColumn),u=c.getLanguageConfiguration(r).indentRulesSupport;if(!u)return null;const f=new I.IndentationContextProcessor(t,c).getProcessedTokenContextAroundRange(i),h=f.beforeRangeProcessedTokens.getLineContent(),v=f.afterRangeProcessedTokens.getLineContent(),w=h+v,S=h+s+v;if(!u.shouldDecrease(w)&&u.shouldDecrease(S)){const D=y(l,t,i.startLineNumber,!1,c);if(!D)return null;let T=D.indentation;return D.action!==k.IndentAction.Indent&&(T=g.unshiftIndent(T)),T}const L=i.startLineNumber-1;if(L>0){const D=t.getLineContent(L);if(u.shouldIndentNextLine(D)&&u.shouldIncrease(S)){const M=y(l,t,i.startLineNumber,!1,c)?.indentation;if(M!==void 0){const A=t.getLineContent(i.startLineNumber),P=d.getLeadingWhitespace(A),O=g.shiftIndent(M)===P,F=/^\\s*$/.test(w),x=o.autoClosingPairs.autoClosingPairsOpenByEnd.get(s),V=x&&x.length>0&&F;if(O&&V)return M}}}return null}function p(o,t,i){const s=i.getLanguageConfiguration(o.getLanguageId()).indentRulesSupport;return!s||t<1||t>o.getLineCount()?null:s.getIndentMetadata(o.getLineContent(t))}function n(o,t,i){return{tokenization:{getLineTokens:g=>g===t?i:o.tokenization.getLineTokens(g),getLanguageId:()=>o.getLanguageId(),getLanguageIdAtPosition:(g,c)=>o.getLanguageIdAtPosition(g,c)},getLineContent:g=>g===t?i.getLineContent():o.getLineContent(g)}}}),define(ne[587],se([1,0,83]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContiguousTokensEditing=e.EMPTY_LINE_TOKENS=void 0,e.toUint32Array=I,e.EMPTY_LINE_TOKENS=new Uint32Array(0).buffer;class k{static deleteBeginning(y,m){return y===null||y===e.EMPTY_LINE_TOKENS?y:k.delete(y,0,m)}static deleteEnding(y,m){if(y===null||y===e.EMPTY_LINE_TOKENS)return y;const _=I(y),b=_[_.length-2];return k.delete(y,m,b)}static delete(y,m,_){if(y===null||y===e.EMPTY_LINE_TOKENS||m===_)return y;const b=I(y),p=b.length>>>1;if(m===0&&b[b.length-2]===_)return e.EMPTY_LINE_TOKENS;const n=d.LineTokens.findIndexInTokensArray(b,m),o=n>0?b[n-1<<1]:0,t=b[n<<1];if(_<t){const l=_-m;for(let a=n;a<p;a++)b[a<<1]-=l;return y}let i,s;o!==m?(b[n<<1]=m,i=n+1<<1,s=m):(i=n<<1,s=o);const g=_-m;for(let l=n+1;l<p;l++){const a=b[l<<1]-g;a>s&&(b[i++]=a,b[i++]=b[(l<<1)+1],s=a)}if(i===b.length)return y;const c=new Uint32Array(i);return c.set(b.subarray(0,i),0),c.buffer}static append(y,m){if(m===e.EMPTY_LINE_TOKENS)return y;if(y===e.EMPTY_LINE_TOKENS)return m;if(y===null)return y;if(m===null)return null;const _=I(y),b=I(m),p=b.length>>>1,n=new Uint32Array(_.length+b.length);n.set(_,0);let o=_.length;const t=_[_.length-2];for(let i=0;i<p;i++)n[o++]=b[i<<1]+t,n[o++]=b[(i<<1)+1];return n.buffer}static insert(y,m,_){if(y===null||y===e.EMPTY_LINE_TOKENS)return y;const b=I(y),p=b.length>>>1;let n=d.LineTokens.findIndexInTokensArray(b,m);n>0&&b[n-1<<1]===m&&n--;for(let o=n;o<p;o++)b[o<<1]+=_;return y}}e.ContiguousTokensEditing=k;function I(E){return E instanceof Uint32Array?E:new Uint32Array(E)}}),define(ne[588],se([1,0,13,9,587,83,148]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContiguousTokensStore=void 0;class m{constructor(p){this._lineTokens=[],this._len=0,this._languageIdCodec=p}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(p,n,o){let t=null;if(n<this._len&&(t=this._lineTokens[n]),t!==null&&t!==I.EMPTY_LINE_TOKENS)return new E.LineTokens((0,I.toUint32Array)(t),o,this._languageIdCodec);const i=new Uint32Array(2);return i[0]=o.length,i[1]=_(this._languageIdCodec.encodeLanguageId(p)),new E.LineTokens(i,o,this._languageIdCodec)}static _massageTokens(p,n,o){const t=o?(0,I.toUint32Array)(o):null;if(n===0){let i=!1;if(t&&t.length>1&&(i=y.TokenMetadata.getLanguageId(t[1])!==p),!i)return I.EMPTY_LINE_TOKENS}if(!t||t.length===0){const i=new Uint32Array(2);return i[0]=n,i[1]=_(p),i.buffer}return t[t.length-2]=n,t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:t}_ensureLine(p){for(;p>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(p,n){n!==0&&(p+n>this._len&&(n=this._len-p),this._lineTokens.splice(p,n),this._len-=n)}_insertLines(p,n){if(n===0)return;const o=[];for(let t=0;t<n;t++)o[t]=null;this._lineTokens=d.arrayInsert(this._lineTokens,p,o),this._len+=n}setTokens(p,n,o,t,i){const s=m._massageTokens(this._languageIdCodec.encodeLanguageId(p),o,t);this._ensureLine(n);const g=this._lineTokens[n];return this._lineTokens[n]=s,i?!m._equals(g,s):!1}static _equals(p,n){if(!p||!n)return!p&&!n;const o=(0,I.toUint32Array)(p),t=(0,I.toUint32Array)(n);if(o.length!==t.length)return!1;for(let i=0,s=o.length;i<s;i++)if(o[i]!==t[i])return!1;return!0}acceptEdit(p,n,o){this._acceptDeleteRange(p),this._acceptInsertText(new k.Position(p.startLineNumber,p.startColumn),n,o)}_acceptDeleteRange(p){const n=p.startLineNumber-1;if(n>=this._len)return;if(p.startLineNumber===p.endLineNumber){if(p.startColumn===p.endColumn)return;this._lineTokens[n]=I.ContiguousTokensEditing.delete(this._lineTokens[n],p.startColumn-1,p.endColumn-1);return}this._lineTokens[n]=I.ContiguousTokensEditing.deleteEnding(this._lineTokens[n],p.startColumn-1);const o=p.endLineNumber-1;let t=null;o<this._len&&(t=I.ContiguousTokensEditing.deleteBeginning(this._lineTokens[o],p.endColumn-1)),this._lineTokens[n]=I.ContiguousTokensEditing.append(this._lineTokens[n],t),this._deleteLines(p.startLineNumber,p.endLineNumber-p.startLineNumber)}_acceptInsertText(p,n,o){if(n===0&&o===0)return;const t=p.lineNumber-1;if(!(t>=this._len)){if(n===0){this._lineTokens[t]=I.ContiguousTokensEditing.insert(this._lineTokens[t],p.column-1,o);return}this._lineTokens[t]=I.ContiguousTokensEditing.deleteEnding(this._lineTokens[t],p.column-1),this._lineTokens[t]=I.ContiguousTokensEditing.insert(this._lineTokens[t],p.column-1,o),this._insertLines(p.lineNumber,n)}}setMultilineTokens(p,n){if(p.length===0)return{changes:[]};const o=[];for(let t=0,i=p.length;t<i;t++){const s=p[t];let g=0,c=0,l=!1;for(let a=s.startLineNumber;a<=s.endLineNumber;a++)l?(this.setTokens(n.getLanguageId(),a-1,n.getLineLength(a),s.getLineTokens(a),!1),c=a):this.setTokens(n.getLanguageId(),a-1,n.getLineLength(a),s.getLineTokens(a),!0)&&(l=!0,g=a,c=a);l&&o.push({fromLineNumber:g,toLineNumber:c})}return{changes:o}}}e.ContiguousTokensStore=m;function _(b){return(b<<0|0|0|32768|2<<24|1024)>>>0}}),define(ne[589],se([1,0,9,4,145]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SparseLineTokens=e.SparseMultilineTokens=void 0;class E{static create(b,p){return new E(b,new y(p))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(b,p){this._startLineNumber=b,this._tokens=p,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(b){return this._startLineNumber<=b&&b<=this._endLineNumber?this._tokens.getLineTokens(b-this._startLineNumber):null}getRange(){const b=this._tokens.getRange();return b&&new k.Range(this._startLineNumber+b.startLineNumber,b.startColumn,this._startLineNumber+b.endLineNumber,b.endColumn)}removeTokens(b){const p=b.startLineNumber-this._startLineNumber,n=b.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(p,b.startColumn-1,n,b.endColumn-1),this._updateEndLineNumber()}split(b){const p=b.startLineNumber-this._startLineNumber,n=b.endLineNumber-this._startLineNumber,[o,t,i]=this._tokens.split(p,b.startColumn-1,n,b.endColumn-1);return[new E(this._startLineNumber,o),new E(this._startLineNumber+i,t)]}applyEdit(b,p){const[n,o,t]=(0,I.countEOL)(p);this.acceptEdit(b,n,o,t,p.length>0?p.charCodeAt(0):0)}acceptEdit(b,p,n,o,t){this._acceptDeleteRange(b),this._acceptInsertText(new d.Position(b.startLineNumber,b.startColumn),p,n,o,t),this._updateEndLineNumber()}_acceptDeleteRange(b){if(b.startLineNumber===b.endLineNumber&&b.startColumn===b.endColumn)return;const p=b.startLineNumber-this._startLineNumber,n=b.endLineNumber-this._startLineNumber;if(n<0){const t=n-p;this._startLineNumber-=t;return}const o=this._tokens.getMaxDeltaLine();if(!(p>=o+1)){if(p<0&&n>=o+1){this._startLineNumber=0,this._tokens.clear();return}if(p<0){const t=-p;this._startLineNumber-=t,this._tokens.acceptDeleteRange(b.startColumn-1,0,0,n,b.endColumn-1)}else this._tokens.acceptDeleteRange(0,p,b.startColumn-1,n,b.endColumn-1)}}_acceptInsertText(b,p,n,o,t){if(p===0&&n===0)return;const i=b.lineNumber-this._startLineNumber;if(i<0){this._startLineNumber+=p;return}const s=this._tokens.getMaxDeltaLine();i>=s+1||this._tokens.acceptInsertText(i,b.column-1,p,n,o,t)}}e.SparseMultilineTokens=E;class y{constructor(b){this._tokens=b,this._tokenCount=b.length/4}toString(b){const p=[];for(let n=0;n<this._tokenCount;n++)p.push(`(${this._getDeltaLine(n)+b},${this._getStartCharacter(n)}-${this._getEndCharacter(n)})`);return`[${p.join(\",\")}]`}getMaxDeltaLine(){const b=this._getTokenCount();return b===0?-1:this._getDeltaLine(b-1)}getRange(){const b=this._getTokenCount();if(b===0)return null;const p=this._getStartCharacter(0),n=this._getDeltaLine(b-1),o=this._getEndCharacter(b-1);return new k.Range(0,p+1,n,o+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(b){return this._tokens[4*b]}_getStartCharacter(b){return this._tokens[4*b+1]}_getEndCharacter(b){return this._tokens[4*b+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(b){let p=0,n=this._getTokenCount()-1;for(;p<n;){const o=p+Math.floor((n-p)/2),t=this._getDeltaLine(o);if(t<b)p=o+1;else if(t>b)n=o-1;else{let i=o;for(;i>p&&this._getDeltaLine(i-1)===b;)i--;let s=o;for(;s<n&&this._getDeltaLine(s+1)===b;)s++;return new m(this._tokens.subarray(4*i,4*s+4))}}return this._getDeltaLine(p)===b?new m(this._tokens.subarray(4*p,4*p+4)):null}clear(){this._tokenCount=0}removeTokens(b,p,n,o){const t=this._tokens,i=this._tokenCount;let s=0,g=!1,c=0;for(let l=0;l<i;l++){const a=4*l,r=t[a],u=t[a+1],C=t[a+2],f=t[a+3];if((r>b||r===b&&C>=p)&&(r<n||r===n&&u<=o))g=!0;else{if(s===0&&(c=r),g){const h=4*s;t[h]=r-c,t[h+1]=u,t[h+2]=C,t[h+3]=f}s++}}return this._tokenCount=s,c}split(b,p,n,o){const t=this._tokens,i=this._tokenCount,s=[],g=[];let c=s,l=0,a=0;for(let r=0;r<i;r++){const u=4*r,C=t[u],f=t[u+1],h=t[u+2],v=t[u+3];if(C>b||C===b&&h>=p){if(C<n||C===n&&f<=o)continue;c!==g&&(c=g,l=0,a=C)}c[l++]=C-a,c[l++]=f,c[l++]=h,c[l++]=v}return[new y(new Uint32Array(s)),new y(new Uint32Array(g)),a]}acceptDeleteRange(b,p,n,o,t){const i=this._tokens,s=this._tokenCount,g=o-p;let c=0,l=!1;for(let a=0;a<s;a++){const r=4*a;let u=i[r],C=i[r+1],f=i[r+2];const h=i[r+3];if(u<p||u===p&&f<=n){c++;continue}else if(u===p&&C<n)u===o&&f>t?f-=t-n:f=n;else if(u===p&&C===n)if(u===o&&f>t)f-=t-n;else{l=!0;continue}else if(u<o||u===o&&C<t)if(u===o&&f>t)u=p,C=n,f=C+(f-t);else{l=!0;continue}else if(u>o){if(g===0&&!l){c=s;break}u-=g}else if(u===o&&C>=t)b&&u===0&&(C+=b,f+=b),u-=g,C-=t-n,f-=t-n;else throw new Error(\"Not possible!\");const v=4*c;i[v]=u,i[v+1]=C,i[v+2]=f,i[v+3]=h,c++}this._tokenCount=c}acceptInsertText(b,p,n,o,t,i){const s=n===0&&o===1&&(i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122),g=this._tokens,c=this._tokenCount;for(let l=0;l<c;l++){const a=4*l;let r=g[a],u=g[a+1],C=g[a+2];if(!(r<b||r===b&&C<p)){if(r===b&&C===p)if(s)C+=1;else continue;else if(r===b&&u<p&&p<C)n===0?C+=o:C=p;else{if(r===b&&u===p&&s)continue;if(r===b)if(r+=n,n===0)u+=o,C+=o;else{const f=C-u;u=t+(u-p),C=u+f}else r+=n}g[a]=r,g[a+1]=u,g[a+2]=C}}}}class m{constructor(b){this._tokens=b}getCount(){return this._tokens.length/4}getStartCharacter(b){return this._tokens[4*b+1]}getEndCharacter(b){return this._tokens[4*b+2]}getMetadata(b){return this._tokens[4*b+3]}}e.SparseLineTokens=m}),define(ne[590],se([1,0,13,83]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SparseTokensStore=void 0;class I{constructor(y){this._pieces=[],this._isComplete=!1,this._languageIdCodec=y}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(y,m){this._pieces=y||[],this._isComplete=m}setPartial(y,m){let _=y;if(m.length>0){const p=m[0].getRange(),n=m[m.length-1].getRange();if(!p||!n)return y;_=y.plusRange(p).plusRange(n)}let b=null;for(let p=0,n=this._pieces.length;p<n;p++){const o=this._pieces[p];if(o.endLineNumber<_.startLineNumber)continue;if(o.startLineNumber>_.endLineNumber){b=b||{index:p};break}if(o.removeTokens(_),o.isEmpty()){this._pieces.splice(p,1),p--,n--;continue}if(o.endLineNumber<_.startLineNumber)continue;if(o.startLineNumber>_.endLineNumber){b=b||{index:p};continue}const[t,i]=o.split(_);if(t.isEmpty()){b=b||{index:p};continue}i.isEmpty()||(this._pieces.splice(p,1,t,i),p++,n++,b=b||{index:p})}return b=b||{index:this._pieces.length},m.length>0&&(this._pieces=d.arrayInsert(this._pieces,b.index,m)),_}isComplete(){return this._isComplete}addSparseTokens(y,m){if(m.getLineContent().length===0)return m;const _=this._pieces;if(_.length===0)return m;const b=I._findFirstPieceWithLine(_,y),p=_[b].getLineTokens(y);if(!p)return m;const n=m.getCount(),o=p.getCount();let t=0;const i=[];let s=0,g=0;const c=(l,a)=>{l!==g&&(g=l,i[s++]=l,i[s++]=a)};for(let l=0;l<o;l++){const a=p.getStartCharacter(l),r=p.getEndCharacter(l),u=p.getMetadata(l),C=((u&1?2048:0)|(u&2?4096:0)|(u&4?8192:0)|(u&8?16384:0)|(u&16?16744448:0)|(u&32?4278190080:0))>>>0,f=~C>>>0;for(;t<n&&m.getEndOffset(t)<=a;)c(m.getEndOffset(t),m.getMetadata(t)),t++;for(t<n&&m.getStartOffset(t)<a&&c(a,m.getMetadata(t));t<n&&m.getEndOffset(t)<r;)c(m.getEndOffset(t),m.getMetadata(t)&f|u&C),t++;if(t<n)c(r,m.getMetadata(t)&f|u&C),m.getEndOffset(t)===r&&t++;else{const h=Math.min(Math.max(0,t-1),n-1);c(r,m.getMetadata(h)&f|u&C)}}for(;t<n;)c(m.getEndOffset(t),m.getMetadata(t)),t++;return new k.LineTokens(new Uint32Array(i),m.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(y,m){let _=0,b=y.length-1;for(;_<b;){let p=_+Math.floor((b-_)/2);if(y[p].endLineNumber<m)_=p+1;else if(y[p].startLineNumber>m)b=p-1;else{for(;p>_&&y[p-1].startLineNumber<=m&&m<=y[p-1].endLineNumber;)p--;return p}}return _}acceptEdit(y,m,_,b,p){for(const n of this._pieces)n.acceptEdit(y,m,_,b,p)}}e.SparseTokensStore=I}),define(ne[170],se([1,0,2]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewEventHandler=void 0;class k extends d.Disposable{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(E){return!1}onCompositionEnd(E){return!1}onConfigurationChanged(E){return!1}onCursorStateChanged(E){return!1}onDecorationsChanged(E){return!1}onFlushed(E){return!1}onFocusChanged(E){return!1}onLanguageConfigurationChanged(E){return!1}onLineMappingChanged(E){return!1}onLinesChanged(E){return!1}onLinesDeleted(E){return!1}onLinesInserted(E){return!1}onRevealRangeRequest(E){return!1}onScrollChanged(E){return!1}onThemeChanged(E){return!1}onTokensChanged(E){return!1}onTokensColorsChanged(E){return!1}onZonesChanged(E){return!1}handleEvents(E){let y=!1;for(let m=0,_=E.length;m<_;m++){const b=E[m];switch(b.type){case 0:this.onCompositionStart(b)&&(y=!0);break;case 1:this.onCompositionEnd(b)&&(y=!0);break;case 2:this.onConfigurationChanged(b)&&(y=!0);break;case 3:this.onCursorStateChanged(b)&&(y=!0);break;case 4:this.onDecorationsChanged(b)&&(y=!0);break;case 5:this.onFlushed(b)&&(y=!0);break;case 6:this.onFocusChanged(b)&&(y=!0);break;case 7:this.onLanguageConfigurationChanged(b)&&(y=!0);break;case 8:this.onLineMappingChanged(b)&&(y=!0);break;case 9:this.onLinesChanged(b)&&(y=!0);break;case 10:this.onLinesDeleted(b)&&(y=!0);break;case 11:this.onLinesInserted(b)&&(y=!0);break;case 12:this.onRevealRangeRequest(b)&&(y=!0);break;case 13:this.onScrollChanged(b)&&(y=!0);break;case 15:this.onTokensChanged(b)&&(y=!0);break;case 14:this.onThemeChanged(b)&&(y=!0);break;case 16:this.onTokensColorsChanged(b)&&(y=!0);break;case 17:this.onZonesChanged(b)&&(y=!0);break;default:console.info(\"View received unknown event: \"),console.info(b)}}y&&(this._shouldRender=!0)}}e.ViewEventHandler=k}),define(ne[133],se([1,0,170]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DynamicViewOverlay=void 0;class k extends d.ViewEventHandler{}e.DynamicViewOverlay=k}),define(ne[56],se([1,0,170]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PartFingerprints=e.ViewPart=void 0;class k extends d.ViewEventHandler{constructor(y){super(),this._context=y,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}}e.ViewPart=k;class I{static write(y,m){y.setAttribute(\"data-mprt\",String(m))}static read(y){const m=y.getAttribute(\"data-mprt\");return m===null?0:parseInt(m,10)}static collect(y,m){const _=[];let b=0;for(;y&&y!==y.ownerDocument.body&&y!==m;)y.nodeType===y.ELEMENT_NODE&&(_[b++]=this.read(y)),y=y.parentElement;const p=new Uint8Array(b);for(let n=0;n<b;n++)p[n]=_[b-n-1];return p}}e.PartFingerprints=I}),define(ne[591],se([1,0,39,56,481]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BlockDecorations=void 0;class I extends k.ViewPart{constructor(y){super(y),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this.domNode.setClassName(\"blockDecorations-container\"),this.update()}update(){let y=!1;const _=this._context.configuration.options.get(146),b=_.contentWidth-_.verticalScrollbarWidth;this.contentWidth!==b&&(this.contentWidth=b,y=!0);const p=_.contentLeft;return this.contentLeft!==p&&(this.contentLeft=p,y=!0),y}dispose(){super.dispose()}onConfigurationChanged(y){return this.update()}onScrollChanged(y){return y.scrollTopChanged||y.scrollLeftChanged}onDecorationsChanged(y){return!0}onZonesChanged(y){return!0}prepareRender(y){}render(y){let m=0;const _=y.getDecorationsInViewport();for(const b of _){if(!b.options.blockClassName)continue;let p=this.blocks[m];p||(p=this.blocks[m]=(0,d.createFastDomNode)(document.createElement(\"div\")),this.domNode.appendChild(p));let n,o;b.options.blockIsAfterEnd?(n=y.getVerticalOffsetAfterLineNumber(b.range.endLineNumber,!1),o=y.getVerticalOffsetAfterLineNumber(b.range.endLineNumber,!0)):(n=y.getVerticalOffsetForLineNumber(b.range.startLineNumber,!0),o=b.range.isEmpty()&&!b.options.blockDoesNotCollapse?y.getVerticalOffsetForLineNumber(b.range.startLineNumber,!1):y.getVerticalOffsetAfterLineNumber(b.range.endLineNumber,!0));const[t,i,s,g]=b.options.blockPadding??[0,0,0,0];p.setClassName(\"blockDecorations-block \"+b.options.blockClassName),p.setLeft(this.contentLeft-g),p.setWidth(this.contentWidth+g+i),p.setTop(n-y.scrollTop-t),p.setHeight(o-n+t+s),m++}for(let b=m;b<this.blocks.length;b++)this.blocks[b].domNode.remove();this.blocks.length=m}}e.BlockDecorations=I}),define(ne[592],se([1,0,133,164,4,483]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DecorationsOverlay=void 0;class E extends d.DynamicViewOverlay{constructor(m){super(),this._context=m;const _=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=_.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(m){const _=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=_.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(m){return!0}onFlushed(m){return!0}onLinesChanged(m){return!0}onLinesDeleted(m){return!0}onLinesInserted(m){return!0}onScrollChanged(m){return m.scrollTopChanged||m.scrollWidthChanged}onZonesChanged(m){return!0}prepareRender(m){const _=m.getDecorationsInViewport();let b=[],p=0;for(let i=0,s=_.length;i<s;i++){const g=_[i];g.options.className&&(b[p++]=g)}b=b.sort((i,s)=>{if(i.options.zIndex<s.options.zIndex)return-1;if(i.options.zIndex>s.options.zIndex)return 1;const g=i.options.className,c=s.options.className;return g<c?-1:g>c?1:I.Range.compareRangesUsingStarts(i.range,s.range)});const n=m.visibleRange.startLineNumber,o=m.visibleRange.endLineNumber,t=[];for(let i=n;i<=o;i++){const s=i-n;t[s]=\"\"}this._renderWholeLineDecorations(m,b,t),this._renderNormalDecorations(m,b,t),this._renderResult=t}_renderWholeLineDecorations(m,_,b){const p=m.visibleRange.startLineNumber,n=m.visibleRange.endLineNumber;for(let o=0,t=_.length;o<t;o++){const i=_[o];if(!i.options.isWholeLine)continue;const s='<div class=\"cdr '+i.options.className+'\" style=\"left:0;width:100%;\"></div>',g=Math.max(i.range.startLineNumber,p),c=Math.min(i.range.endLineNumber,n);for(let l=g;l<=c;l++){const a=l-p;b[a]+=s}}}_renderNormalDecorations(m,_,b){const p=m.visibleRange.startLineNumber;let n=null,o=!1,t=null,i=!1;for(let s=0,g=_.length;s<g;s++){const c=_[s];if(c.options.isWholeLine)continue;const l=c.options.className,a=!!c.options.showIfCollapsed;let r=c.range;if(a&&r.endColumn===1&&r.endLineNumber!==r.startLineNumber&&(r=new I.Range(r.startLineNumber,r.startColumn,r.endLineNumber-1,this._context.viewModel.getLineMaxColumn(r.endLineNumber-1))),n===l&&o===a&&I.Range.areIntersectingOrTouching(t,r)){t=I.Range.plusRange(t,r);continue}n!==null&&this._renderNormalDecoration(m,t,n,i,o,p,b),n=l,o=a,t=r,i=c.options.shouldFillLineOnLineBreak??!1}n!==null&&this._renderNormalDecoration(m,t,n,i,o,p,b)}_renderNormalDecoration(m,_,b,p,n,o,t){const i=m.linesVisibleRangesForRange(_,b===\"findMatch\");if(i)for(let s=0,g=i.length;s<g;s++){const c=i[s];if(c.outsideRenderedLine)continue;const l=c.lineNumber-o;if(n&&c.ranges.length===1){const a=c.ranges[0];if(a.width<this._typicalHalfwidthCharacterWidth){const r=Math.round(a.left+a.width/2),u=Math.max(0,Math.round(r-this._typicalHalfwidthCharacterWidth/2));c.ranges[0]=new k.HorizontalRange(u,this._typicalHalfwidthCharacterWidth)}}for(let a=0,r=c.ranges.length;a<r;a++){const u=p&&c.continuesOnNextLine&&r===1,C=c.ranges[a],f='<div class=\"cdr '+b+'\" style=\"left:'+String(C.left)+\"px;width:\"+(u?\"100%;\":String(C.width)+\"px;\")+'\"></div>';t[l]+=f}}}render(m,_){if(!this._renderResult)return\"\";const b=_-m;return b<0||b>=this._renderResult.length?\"\":this._renderResult[b]}}e.DecorationsOverlay=E}),define(ne[242],se([1,0,39,13,133,56,9,4,40,484]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GlyphMarginWidgets=e.DedupOverlay=e.VisibleLineDecorationsToRender=e.LineDecorationToRender=e.DecorationToRender=void 0;class b{constructor(l,a,r,u,C){this.startLineNumber=l,this.endLineNumber=a,this.className=r,this.tooltip=u,this._decorationToRenderBrand=void 0,this.zIndex=C??0}}e.DecorationToRender=b;class p{constructor(l,a,r){this.className=l,this.zIndex=a,this.tooltip=r}}e.LineDecorationToRender=p;class n{constructor(){this.decorations=[]}add(l){this.decorations.push(l)}getDecorations(){return this.decorations}}e.VisibleLineDecorationsToRender=n;class o extends I.DynamicViewOverlay{_render(l,a,r){const u=[];for(let h=l;h<=a;h++){const v=h-l;u[v]=new n}if(r.length===0)return u;r.sort((h,v)=>h.className===v.className?h.startLineNumber===v.startLineNumber?h.endLineNumber-v.endLineNumber:h.startLineNumber-v.startLineNumber:h.className<v.className?-1:1);let C=null,f=0;for(let h=0,v=r.length;h<v;h++){const w=r[h],S=w.className,L=w.zIndex;let D=Math.max(w.startLineNumber,l)-l;const T=Math.min(w.endLineNumber,a)-l;C===S?(D=Math.max(f+1,D),f=Math.max(f,T)):(C=S,f=T);for(let M=D;M<=f;M++)u[M].add(new p(S,L,w.tooltip))}return u}}e.DedupOverlay=o;class t extends E.ViewPart{constructor(l){super(l),this._widgets={},this._context=l;const a=this._context.configuration.options,r=a.get(146);this.domNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this.domNode.setClassName(\"glyph-margin-widgets\"),this.domNode.setPosition(\"absolute\"),this.domNode.setTop(0),this._lineHeight=a.get(67),this._glyphMargin=a.get(57),this._glyphMarginLeft=r.glyphMarginLeft,this._glyphMarginWidth=r.glyphMarginWidth,this._glyphMarginDecorationLaneCount=r.glyphMarginDecorationLaneCount,this._managedDomNodes=[],this._decorationGlyphsToRender=[]}dispose(){this._managedDomNodes=[],this._decorationGlyphsToRender=[],this._widgets={},super.dispose()}getWidgets(){return Object.values(this._widgets)}onConfigurationChanged(l){const a=this._context.configuration.options,r=a.get(146);return this._lineHeight=a.get(67),this._glyphMargin=a.get(57),this._glyphMarginLeft=r.glyphMarginLeft,this._glyphMarginWidth=r.glyphMarginWidth,this._glyphMarginDecorationLaneCount=r.glyphMarginDecorationLaneCount,!0}onDecorationsChanged(l){return!0}onFlushed(l){return!0}onLinesChanged(l){return!0}onLinesDeleted(l){return!0}onLinesInserted(l){return!0}onScrollChanged(l){return l.scrollTopChanged}onZonesChanged(l){return!0}addWidget(l){const a=(0,d.createFastDomNode)(l.getDomNode());this._widgets[l.getId()]={widget:l,preference:l.getPosition(),domNode:a,renderInfo:null},a.setPosition(\"absolute\"),a.setDisplay(\"none\"),a.setAttribute(\"widgetId\",l.getId()),this.domNode.appendChild(a),this.setShouldRender()}setWidgetPosition(l,a){const r=this._widgets[l.getId()];return r.preference.lane===a.lane&&r.preference.zIndex===a.zIndex&&m.Range.equalsRange(r.preference.range,a.range)?!1:(r.preference=a,this.setShouldRender(),!0)}removeWidget(l){const a=l.getId();if(this._widgets[a]){const u=this._widgets[a].domNode.domNode;delete this._widgets[a],u.remove(),this.setShouldRender()}}_collectDecorationBasedGlyphRenderRequest(l,a){const r=l.visibleRange.startLineNumber,u=l.visibleRange.endLineNumber,C=l.getDecorationsInViewport();for(const f of C){const h=f.options.glyphMarginClassName;if(!h)continue;const v=Math.max(f.range.startLineNumber,r),w=Math.min(f.range.endLineNumber,u),S=f.options.glyphMargin?.position??_.GlyphMarginLane.Center,L=f.options.zIndex??0;for(let D=v;D<=w;D++){const T=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new y.Position(D,0)),M=this._context.viewModel.glyphLanes.getLanesAtLine(T.lineNumber).indexOf(S);a.push(new i(D,M,L,h))}}}_collectWidgetBasedGlyphRenderRequest(l,a){const r=l.visibleRange.startLineNumber,u=l.visibleRange.endLineNumber;for(const C of Object.values(this._widgets)){const f=C.preference.range,{startLineNumber:h,endLineNumber:v}=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(m.Range.lift(f));if(!h||!v||v<r||h>u)continue;const w=Math.max(h,r),S=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new y.Position(w,0)),L=this._context.viewModel.glyphLanes.getLanesAtLine(S.lineNumber).indexOf(C.preference.lane);a.push(new s(w,L,C.preference.zIndex,C))}}_collectSortedGlyphRenderRequests(l){const a=[];return this._collectDecorationBasedGlyphRenderRequest(l,a),this._collectWidgetBasedGlyphRenderRequest(l,a),a.sort((r,u)=>r.lineNumber===u.lineNumber?r.laneIndex===u.laneIndex?r.zIndex===u.zIndex?u.type===r.type?r.type===0&&u.type===0?r.className<u.className?-1:1:0:u.type-r.type:u.zIndex-r.zIndex:r.laneIndex-u.laneIndex:r.lineNumber-u.lineNumber),a}prepareRender(l){if(!this._glyphMargin){this._decorationGlyphsToRender=[];return}for(const u of Object.values(this._widgets))u.renderInfo=null;const a=new k.ArrayQueue(this._collectSortedGlyphRenderRequests(l)),r=[];for(;a.length>0;){const u=a.peek();if(!u)break;const C=a.takeWhile(h=>h.lineNumber===u.lineNumber&&h.laneIndex===u.laneIndex);if(!C||C.length===0)break;const f=C[0];if(f.type===0){const h=[];for(const v of C){if(v.zIndex!==f.zIndex||v.type!==f.type)break;(h.length===0||h[h.length-1]!==v.className)&&h.push(v.className)}r.push(f.accept(h.join(\" \")))}else f.widget.renderInfo={lineNumber:f.lineNumber,laneIndex:f.laneIndex}}this._decorationGlyphsToRender=r}render(l){if(!this._glyphMargin){for(const r of Object.values(this._widgets))r.domNode.setDisplay(\"none\");for(;this._managedDomNodes.length>0;)this._managedDomNodes.pop()?.domNode.remove();return}const a=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const r of Object.values(this._widgets))if(!r.renderInfo)r.domNode.setDisplay(\"none\");else{const u=l.viewportData.relativeVerticalOffset[r.renderInfo.lineNumber-l.viewportData.startLineNumber],C=this._glyphMarginLeft+r.renderInfo.laneIndex*this._lineHeight;r.domNode.setDisplay(\"block\"),r.domNode.setTop(u),r.domNode.setLeft(C),r.domNode.setWidth(a),r.domNode.setHeight(this._lineHeight)}for(let r=0;r<this._decorationGlyphsToRender.length;r++){const u=this._decorationGlyphsToRender[r],C=l.viewportData.relativeVerticalOffset[u.lineNumber-l.viewportData.startLineNumber],f=this._glyphMarginLeft+u.laneIndex*this._lineHeight;let h;r<this._managedDomNodes.length?h=this._managedDomNodes[r]:(h=(0,d.createFastDomNode)(document.createElement(\"div\")),this._managedDomNodes.push(h),this.domNode.appendChild(h)),h.setClassName(\"cgmr codicon \"+u.combinedClassName),h.setPosition(\"absolute\"),h.setTop(C),h.setLeft(f),h.setWidth(a),h.setHeight(this._lineHeight)}for(;this._managedDomNodes.length>this._decorationGlyphsToRender.length;)this._managedDomNodes.pop()?.domNode.remove()}}e.GlyphMarginWidgets=t;class i{constructor(l,a,r,u){this.lineNumber=l,this.laneIndex=a,this.zIndex=r,this.className=u,this.type=0}accept(l){return new g(this.lineNumber,this.laneIndex,l)}}class s{constructor(l,a,r,u){this.lineNumber=l,this.laneIndex=a,this.zIndex=r,this.widget=u,this.type=1}}class g{constructor(l,a,r){this.lineNumber=l,this.laneIndex=a,this.combinedClassName=r}}}),define(ne[593],se([1,0,242,488]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinesDecorationsOverlay=void 0;class k extends d.DedupOverlay{constructor(E){super(),this._context=E;const m=this._context.configuration.options.get(146);this._decorationsLeft=m.decorationsLeft,this._decorationsWidth=m.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(E){const m=this._context.configuration.options.get(146);return this._decorationsLeft=m.decorationsLeft,this._decorationsWidth=m.decorationsWidth,!0}onDecorationsChanged(E){return!0}onFlushed(E){return!0}onLinesChanged(E){return!0}onLinesDeleted(E){return!0}onLinesInserted(E){return!0}onScrollChanged(E){return E.scrollTopChanged}onZonesChanged(E){return!0}_getDecorations(E){const y=E.getDecorationsInViewport(),m=[];let _=0;for(let b=0,p=y.length;b<p;b++){const n=y[b],o=n.options.linesDecorationsClassName,t=n.options.zIndex;o&&(m[_++]=new d.DecorationToRender(n.range.startLineNumber,n.range.endLineNumber,o,n.options.linesDecorationsTooltip??null,t));const i=n.options.firstLineDecorationClassName;i&&(m[_++]=new d.DecorationToRender(n.range.startLineNumber,n.range.startLineNumber,i,n.options.linesDecorationsTooltip??null,t))}return m}prepareRender(E){const y=E.visibleRange.startLineNumber,m=E.visibleRange.endLineNumber,_=this._render(y,m,this._getDecorations(E)),b=this._decorationsLeft.toString(),p=this._decorationsWidth.toString(),n='\" style=\"left:'+b+\"px;width:\"+p+'px;\"></div>',o=[];for(let t=y;t<=m;t++){const i=t-y,s=_[i].getDecorations();let g=\"\";for(const c of s){let l='<div class=\"cldr '+c.className;c.tooltip!==null&&(l+='\" title=\"'+c.tooltip),l+=n,g+=l}o[i]=g}this._renderResult=o}render(E,y){return this._renderResult?this._renderResult[y-E]:\"\"}}e.LinesDecorationsOverlay=k}),define(ne[331],se([1,0,39,56,489]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Margin=void 0;class I extends k.ViewPart{static{this.CLASS_NAME=\"glyph-margin\"}static{this.OUTER_CLASS_NAME=\"margin\"}constructor(y){super(y);const m=this._context.configuration.options,_=m.get(146);this._canUseLayerHinting=!m.get(32),this._contentLeft=_.contentLeft,this._glyphMarginLeft=_.glyphMarginLeft,this._glyphMarginWidth=_.glyphMarginWidth,this._domNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this._domNode.setClassName(I.OUTER_CLASS_NAME),this._domNode.setPosition(\"absolute\"),this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._glyphMarginBackgroundDomNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this._glyphMarginBackgroundDomNode.setClassName(I.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(y){const m=this._context.configuration.options,_=m.get(146);return this._canUseLayerHinting=!m.get(32),this._contentLeft=_.contentLeft,this._glyphMarginLeft=_.glyphMarginLeft,this._glyphMarginWidth=_.glyphMarginWidth,!0}onScrollChanged(y){return super.onScrollChanged(y)||y.scrollTopChanged}prepareRender(y){}render(y){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain(\"strict\");const m=y.scrollTop-y.bigNumbersDelta;this._domNode.setTop(-m);const _=Math.min(y.scrollHeight,1e6);this._domNode.setHeight(_),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(_)}}e.Margin=I}),define(ne[594],se([1,0,242,490]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarginViewLineDecorationsOverlay=void 0;class k extends d.DedupOverlay{constructor(E){super(),this._context=E,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(E){return!0}onDecorationsChanged(E){return!0}onFlushed(E){return!0}onLinesChanged(E){return!0}onLinesDeleted(E){return!0}onLinesInserted(E){return!0}onScrollChanged(E){return E.scrollTopChanged}onZonesChanged(E){return!0}_getDecorations(E){const y=E.getDecorationsInViewport(),m=[];let _=0;for(let b=0,p=y.length;b<p;b++){const n=y[b],o=n.options.marginClassName,t=n.options.zIndex;o&&(m[_++]=new d.DecorationToRender(n.range.startLineNumber,n.range.endLineNumber,o,null,t))}return m}prepareRender(E){const y=E.visibleRange.startLineNumber,m=E.visibleRange.endLineNumber,_=this._render(y,m,this._getDecorations(E)),b=[];for(let p=y;p<=m;p++){const n=p-y,o=_[n].getDecorations();let t=\"\";for(const i of o)t+='<div class=\"cmdr '+i.className+'\" style=\"\"></div>';b[n]=t}this._renderResult=b}render(E,y){return this._renderResult?this._renderResult[y-E]:\"\"}}e.MarginViewLineDecorationsOverlay=k}),define(ne[595],se([1,0,39,56,493]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Rulers=void 0;class I extends k.ViewPart{constructor(y){super(y),this.domNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this.domNode.setClassName(\"view-rulers\"),this._renderedRulers=[];const m=this._context.configuration.options;this._rulers=m.get(103),this._typicalHalfwidthCharacterWidth=m.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(y){const m=this._context.configuration.options;return this._rulers=m.get(103),this._typicalHalfwidthCharacterWidth=m.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(y){return y.scrollHeightChanged}prepareRender(y){}_ensureRulersCount(){const y=this._renderedRulers.length,m=this._rulers.length;if(y===m)return;if(y<m){const{tabSize:b}=this._context.viewModel.model.getOptions(),p=b;let n=m-y;for(;n>0;){const o=(0,d.createFastDomNode)(document.createElement(\"div\"));o.setClassName(\"view-ruler\"),o.setWidth(p),this.domNode.appendChild(o),this._renderedRulers.push(o),n--}return}let _=y-m;for(;_>0;){const b=this._renderedRulers.pop();this.domNode.removeChild(b),_--}}render(y){this._ensureRulersCount();for(let m=0,_=this._rulers.length;m<_;m++){const b=this._renderedRulers[m],p=this._rulers[m];b.setBoxShadow(p.color?`1px 0 0 0 ${p.color} inset`:\"\"),b.setHeight(Math.min(y.scrollHeight,1e6)),b.setLeft(p.column*this._typicalHalfwidthCharacterWidth)}}}e.Rulers=I}),define(ne[596],se([1,0,39,56,494]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ScrollDecorationViewPart=void 0;class I extends k.ViewPart{constructor(y){super(y),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const _=this._context.configuration.options.get(104);this._useShadows=_.useShadows,this._domNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\")}dispose(){super.dispose()}_updateShouldShow(){const y=this._useShadows&&this._scrollTop>0;return this._shouldShow!==y?(this._shouldShow=y,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const m=this._context.configuration.options.get(146);m.minimap.renderMinimap===0||m.minimap.minimapWidth>0&&m.minimap.minimapLeft===0?this._width=m.width:this._width=m.width-m.verticalScrollbarWidth}onConfigurationChanged(y){const _=this._context.configuration.options.get(104);return this._useShadows=_.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(y){return this._scrollTop=y.scrollTop,this._updateShouldShow()}prepareRender(y){}render(y){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?\"scroll-decoration\":\"\")}}e.ScrollDecorationViewPart=I}),define(ne[597],se([1,0,39,8,56,9]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewZones=void 0;const y=()=>{throw new Error(\"Invalid change accessor\")};class m extends I.ViewPart{constructor(p){super(p);const n=this._context.configuration.options,o=n.get(146);this._lineHeight=n.get(67),this._contentWidth=o.contentWidth,this._contentLeft=o.contentLeft,this.domNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this.domNode.setClassName(\"view-zones\"),this.domNode.setPosition(\"absolute\"),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this.marginDomNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this.marginDomNode.setClassName(\"margin-view-zones\"),this.marginDomNode.setPosition(\"absolute\"),this.marginDomNode.setAttribute(\"role\",\"presentation\"),this.marginDomNode.setAttribute(\"aria-hidden\",\"true\"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const p=this._context.viewLayout.getWhitespaces(),n=new Map;for(const t of p)n.set(t.id,t);let o=!1;return this._context.viewModel.changeWhitespace(t=>{const i=Object.keys(this._zones);for(let s=0,g=i.length;s<g;s++){const c=i[s],l=this._zones[c],a=this._computeWhitespaceProps(l.delegate);l.isInHiddenArea=a.isInHiddenArea;const r=n.get(c);r&&(r.afterLineNumber!==a.afterViewLineNumber||r.height!==a.heightInPx)&&(t.changeOneWhitespace(c,a.afterViewLineNumber,a.heightInPx),this._safeCallOnComputedHeight(l.delegate,a.heightInPx),o=!0)}}),o}onConfigurationChanged(p){const n=this._context.configuration.options,o=n.get(146);return this._lineHeight=n.get(67),this._contentWidth=o.contentWidth,this._contentLeft=o.contentLeft,p.hasChanged(67)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(p){return this._recomputeWhitespacesProps()}onLinesDeleted(p){return!0}onScrollChanged(p){return p.scrollTopChanged||p.scrollWidthChanged}onZonesChanged(p){return!0}onLinesInserted(p){return!0}_getZoneOrdinal(p){return p.ordinal??p.afterColumn??1e4}_computeWhitespaceProps(p){if(p.afterLineNumber===0)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(p),minWidthInPx:this._minWidthInPixels(p)};let n;if(typeof p.afterColumn<\"u\")n=this._context.viewModel.model.validatePosition({lineNumber:p.afterLineNumber,column:p.afterColumn});else{const s=this._context.viewModel.model.validatePosition({lineNumber:p.afterLineNumber,column:1}).lineNumber;n=new E.Position(s,this._context.viewModel.model.getLineMaxColumn(s))}let o;n.column===this._context.viewModel.model.getLineMaxColumn(n.lineNumber)?o=this._context.viewModel.model.validatePosition({lineNumber:n.lineNumber+1,column:1}):o=this._context.viewModel.model.validatePosition({lineNumber:n.lineNumber,column:n.column+1});const t=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n,p.afterColumnAffinity,!0),i=p.showInHiddenAreas||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(o);return{isInHiddenArea:!i,afterViewLineNumber:t.lineNumber,heightInPx:i?this._heightInPixels(p):0,minWidthInPx:this._minWidthInPixels(p)}}changeViewZones(p){let n=!1;return this._context.viewModel.changeWhitespace(o=>{const t={addZone:i=>(n=!0,this._addZone(o,i)),removeZone:i=>{i&&(n=this._removeZone(o,i)||n)},layoutZone:i=>{i&&(n=this._layoutZone(o,i)||n)}};_(p,t),t.addZone=y,t.removeZone=y,t.layoutZone=y}),n}_addZone(p,n){const o=this._computeWhitespaceProps(n),i={whitespaceId:p.insertWhitespace(o.afterViewLineNumber,this._getZoneOrdinal(n),o.heightInPx,o.minWidthInPx),delegate:n,isInHiddenArea:o.isInHiddenArea,isVisible:!1,domNode:(0,d.createFastDomNode)(n.domNode),marginDomNode:n.marginDomNode?(0,d.createFastDomNode)(n.marginDomNode):null};return this._safeCallOnComputedHeight(i.delegate,o.heightInPx),i.domNode.setPosition(\"absolute\"),i.domNode.domNode.style.width=\"100%\",i.domNode.setDisplay(\"none\"),i.domNode.setAttribute(\"monaco-view-zone\",i.whitespaceId),this.domNode.appendChild(i.domNode),i.marginDomNode&&(i.marginDomNode.setPosition(\"absolute\"),i.marginDomNode.domNode.style.width=\"100%\",i.marginDomNode.setDisplay(\"none\"),i.marginDomNode.setAttribute(\"monaco-view-zone\",i.whitespaceId),this.marginDomNode.appendChild(i.marginDomNode)),this._zones[i.whitespaceId]=i,this.setShouldRender(),i.whitespaceId}_removeZone(p,n){if(this._zones.hasOwnProperty(n)){const o=this._zones[n];return delete this._zones[n],p.removeWhitespace(o.whitespaceId),o.domNode.removeAttribute(\"monaco-visible-view-zone\"),o.domNode.removeAttribute(\"monaco-view-zone\"),o.domNode.domNode.remove(),o.marginDomNode&&(o.marginDomNode.removeAttribute(\"monaco-visible-view-zone\"),o.marginDomNode.removeAttribute(\"monaco-view-zone\"),o.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(p,n){if(this._zones.hasOwnProperty(n)){const o=this._zones[n],t=this._computeWhitespaceProps(o.delegate);return o.isInHiddenArea=t.isInHiddenArea,p.changeOneWhitespace(o.whitespaceId,t.afterViewLineNumber,t.heightInPx),this._safeCallOnComputedHeight(o.delegate,t.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(p){return this._zones.hasOwnProperty(p)?!!this._zones[p].delegate.suppressMouseDown:!1}_heightInPixels(p){return typeof p.heightInPx==\"number\"?p.heightInPx:typeof p.heightInLines==\"number\"?this._lineHeight*p.heightInLines:this._lineHeight}_minWidthInPixels(p){return typeof p.minWidthInPx==\"number\"?p.minWidthInPx:0}_safeCallOnComputedHeight(p,n){if(typeof p.onComputedHeight==\"function\")try{p.onComputedHeight(n)}catch(o){(0,k.onUnexpectedError)(o)}}_safeCallOnDomNodeTop(p,n){if(typeof p.onDomNodeTop==\"function\")try{p.onDomNodeTop(n)}catch(o){(0,k.onUnexpectedError)(o)}}prepareRender(p){}render(p){const n=p.viewportData.whitespaceViewportData,o={};let t=!1;for(const s of n)this._zones[s.id].isInHiddenArea||(o[s.id]=s,t=!0);const i=Object.keys(this._zones);for(let s=0,g=i.length;s<g;s++){const c=i[s],l=this._zones[c];let a=0,r=0,u=\"none\";o.hasOwnProperty(c)?(a=o[c].verticalOffset-p.bigNumbersDelta,r=o[c].height,u=\"block\",l.isVisible||(l.domNode.setAttribute(\"monaco-visible-view-zone\",\"true\"),l.isVisible=!0),this._safeCallOnDomNodeTop(l.delegate,p.getScrolledTopFromAbsoluteTop(o[c].verticalOffset))):(l.isVisible&&(l.domNode.removeAttribute(\"monaco-visible-view-zone\"),l.isVisible=!1),this._safeCallOnDomNodeTop(l.delegate,p.getScrolledTopFromAbsoluteTop(-1e6))),l.domNode.setTop(a),l.domNode.setHeight(r),l.domNode.setDisplay(u),l.marginDomNode&&(l.marginDomNode.setTop(a),l.marginDomNode.setHeight(r),l.marginDomNode.setDisplay(u))}t&&(this.domNode.setWidth(Math.max(p.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}}e.ViewZones=m;function _(b,p){try{return b(p)}catch(n){(0,k.onUnexpectedError)(n)}}}),define(ne[243],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewZonesChangedEvent=e.ViewTokensColorsChangedEvent=e.ViewTokensChangedEvent=e.ViewThemeChangedEvent=e.ViewScrollChangedEvent=e.ViewRevealRangeRequestEvent=e.ViewLinesInsertedEvent=e.ViewLinesDeletedEvent=e.ViewLinesChangedEvent=e.ViewLineMappingChangedEvent=e.ViewLanguageConfigurationEvent=e.ViewFocusChangedEvent=e.ViewFlushedEvent=e.ViewDecorationsChangedEvent=e.ViewCursorStateChangedEvent=e.ViewConfigurationChangedEvent=e.ViewCompositionEndEvent=e.ViewCompositionStartEvent=void 0;class d{constructor(){this.type=0}}e.ViewCompositionStartEvent=d;class k{constructor(){this.type=1}}e.ViewCompositionEndEvent=k;class I{constructor(u){this.type=2,this._source=u}hasChanged(u){return this._source.hasChanged(u)}}e.ViewConfigurationChangedEvent=I;class E{constructor(u,C,f){this.selections=u,this.modelSelections=C,this.reason=f,this.type=3}}e.ViewCursorStateChangedEvent=E;class y{constructor(u){this.type=4,u?(this.affectsMinimap=u.affectsMinimap,this.affectsOverviewRuler=u.affectsOverviewRuler,this.affectsGlyphMargin=u.affectsGlyphMargin,this.affectsLineNumber=u.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}e.ViewDecorationsChangedEvent=y;class m{constructor(){this.type=5}}e.ViewFlushedEvent=m;class _{constructor(u){this.type=6,this.isFocused=u}}e.ViewFocusChangedEvent=_;class b{constructor(){this.type=7}}e.ViewLanguageConfigurationEvent=b;class p{constructor(){this.type=8}}e.ViewLineMappingChangedEvent=p;class n{constructor(u,C){this.fromLineNumber=u,this.count=C,this.type=9}}e.ViewLinesChangedEvent=n;class o{constructor(u,C){this.type=10,this.fromLineNumber=u,this.toLineNumber=C}}e.ViewLinesDeletedEvent=o;class t{constructor(u,C){this.type=11,this.fromLineNumber=u,this.toLineNumber=C}}e.ViewLinesInsertedEvent=t;class i{constructor(u,C,f,h,v,w,S){this.source=u,this.minimalReveal=C,this.range=f,this.selections=h,this.verticalType=v,this.revealHorizontal=w,this.scrollType=S,this.type=12}}e.ViewRevealRangeRequestEvent=i;class s{constructor(u){this.type=13,this.scrollWidth=u.scrollWidth,this.scrollLeft=u.scrollLeft,this.scrollHeight=u.scrollHeight,this.scrollTop=u.scrollTop,this.scrollWidthChanged=u.scrollWidthChanged,this.scrollLeftChanged=u.scrollLeftChanged,this.scrollHeightChanged=u.scrollHeightChanged,this.scrollTopChanged=u.scrollTopChanged}}e.ViewScrollChangedEvent=s;class g{constructor(u){this.theme=u,this.type=14}}e.ViewThemeChangedEvent=g;class c{constructor(u){this.type=15,this.ranges=u}}e.ViewTokensChangedEvent=c;class l{constructor(){this.type=16}}e.ViewTokensColorsChangedEvent=l;class a{constructor(){this.type=17}}e.ViewZonesChangedEvent=a}),define(ne[150],se([1,0,11]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LineDecorationsNormalizer=e.DecorationSegment=e.LineDecoration=void 0;class k{constructor(_,b,p,n){this.startColumn=_,this.endColumn=b,this.className=p,this.type=n,this._lineDecorationBrand=void 0}static _equals(_,b){return _.startColumn===b.startColumn&&_.endColumn===b.endColumn&&_.className===b.className&&_.type===b.type}static equalsArr(_,b){const p=_.length,n=b.length;if(p!==n)return!1;for(let o=0;o<p;o++)if(!k._equals(_[o],b[o]))return!1;return!0}static extractWrapped(_,b,p){if(_.length===0)return _;const n=b+1,o=p+1,t=p-b,i=[];let s=0;for(const g of _)g.endColumn<=n||g.startColumn>=o||(i[s++]=new k(Math.max(1,g.startColumn-n+1),Math.min(t+1,g.endColumn-n+1),g.className,g.type));return i}static filter(_,b,p,n){if(_.length===0)return[];const o=[];let t=0;for(let i=0,s=_.length;i<s;i++){const g=_[i],c=g.range;if(c.endLineNumber<b||c.startLineNumber>b||c.isEmpty()&&(g.type===0||g.type===3))continue;const l=c.startLineNumber===b?c.startColumn:p,a=c.endLineNumber===b?c.endColumn:n;o[t++]=new k(l,a,g.inlineClassName,g.type)}return o}static _typeCompare(_,b){const p=[2,0,1,3];return p[_]-p[b]}static compare(_,b){if(_.startColumn!==b.startColumn)return _.startColumn-b.startColumn;if(_.endColumn!==b.endColumn)return _.endColumn-b.endColumn;const p=k._typeCompare(_.type,b.type);return p!==0?p:_.className!==b.className?_.className<b.className?-1:1:0}}e.LineDecoration=k;class I{constructor(_,b,p,n){this.startOffset=_,this.endOffset=b,this.className=p,this.metadata=n}}e.DecorationSegment=I;class E{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(_){let b=0;for(let p=0,n=_.length;p<n;p++)b|=_[p];return b}consumeLowerThan(_,b,p){for(;this.count>0&&this.stopOffsets[0]<_;){let n=0;for(;n+1<this.count&&this.stopOffsets[n]===this.stopOffsets[n+1];)n++;p.push(new I(b,this.stopOffsets[n],this.classNames.join(\" \"),E._metadata(this.metadata))),b=this.stopOffsets[n]+1,this.stopOffsets.splice(0,n+1),this.classNames.splice(0,n+1),this.metadata.splice(0,n+1),this.count-=n+1}return this.count>0&&b<_&&(p.push(new I(b,_-1,this.classNames.join(\" \"),E._metadata(this.metadata))),b=_),b}insert(_,b,p){if(this.count===0||this.stopOffsets[this.count-1]<=_)this.stopOffsets.push(_),this.classNames.push(b),this.metadata.push(p);else for(let n=0;n<this.count;n++)if(this.stopOffsets[n]>=_){this.stopOffsets.splice(n,0,_),this.classNames.splice(n,0,b),this.metadata.splice(n,0,p);break}this.count++}}class y{static normalize(_,b){if(b.length===0)return[];const p=[],n=new E;let o=0;for(let t=0,i=b.length;t<i;t++){const s=b[t];let g=s.startColumn,c=s.endColumn;const l=s.className,a=s.type===1?2:s.type===2?4:0;if(g>1){const C=_.charCodeAt(g-2);d.isHighSurrogate(C)&&g--}if(c>1){const C=_.charCodeAt(c-2);d.isHighSurrogate(C)&&c--}const r=g-1,u=c-2;o=n.consumeLowerThan(r,o,p),n.count===0&&(o=r),n.insert(u,l,a)}return n.consumeLowerThan(1073741824,o,p),p}}e.LineDecorationsNormalizer=y}),define(ne[598],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinePart=void 0;class d{constructor(I,E,y,m){this.endIndex=I,this.type=E,this.metadata=y,this.containsRTL=m,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}e.LinePart=d}),define(ne[599],se([1,0,11]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinesLayout=e.EditorWhitespace=void 0;class k{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(m){this._hasPending=!0,this._inserts.push(m)}change(m){this._hasPending=!0,this._changes.push(m)}remove(m){this._hasPending=!0,this._removes.push(m)}mustCommit(){return this._hasPending}commit(m){if(!this._hasPending)return;const _=this._inserts,b=this._changes,p=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],m._commitPendingChanges(_,b,p)}}class I{constructor(m,_,b,p,n){this.id=m,this.afterLineNumber=_,this.ordinal=b,this.height=p,this.minWidth=n,this.prefixSum=0}}e.EditorWhitespace=I;class E{static{this.INSTANCE_COUNT=0}constructor(m,_,b,p){this._instanceId=d.singleLetterHash(++E.INSTANCE_COUNT),this._pendingChanges=new k,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=m,this._lineHeight=_,this._paddingTop=b,this._paddingBottom=p}static findInsertionIndex(m,_,b){let p=0,n=m.length;for(;p<n;){const o=p+n>>>1;_===m[o].afterLineNumber?b<m[o].ordinal?n=o:p=o+1:_<m[o].afterLineNumber?n=o:p=o+1}return p}setLineHeight(m){this._checkPendingChanges(),this._lineHeight=m}setPadding(m,_){this._paddingTop=m,this._paddingBottom=_}onFlushed(m){this._checkPendingChanges(),this._lineCount=m}changeWhitespace(m){let _=!1;try{m({insertWhitespace:(p,n,o,t)=>{_=!0,p=p|0,n=n|0,o=o|0,t=t|0;const i=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new I(i,p,n,o,t)),i},changeOneWhitespace:(p,n,o)=>{_=!0,n=n|0,o=o|0,this._pendingChanges.change({id:p,newAfterLineNumber:n,newHeight:o})},removeWhitespace:p=>{_=!0,this._pendingChanges.remove({id:p})}})}finally{this._pendingChanges.commit(this)}return _}_commitPendingChanges(m,_,b){if((m.length>0||b.length>0)&&(this._minWidth=-1),m.length+_.length+b.length<=1){for(const i of m)this._insertWhitespace(i);for(const i of _)this._changeOneWhitespace(i.id,i.newAfterLineNumber,i.newHeight);for(const i of b){const s=this._findWhitespaceIndex(i.id);s!==-1&&this._removeWhitespace(s)}return}const p=new Set;for(const i of b)p.add(i.id);const n=new Map;for(const i of _)n.set(i.id,i);const o=i=>{const s=[];for(const g of i)if(!p.has(g.id)){if(n.has(g.id)){const c=n.get(g.id);g.afterLineNumber=c.newAfterLineNumber,g.height=c.newHeight}s.push(g)}return s},t=o(this._arr).concat(o(m));t.sort((i,s)=>i.afterLineNumber===s.afterLineNumber?i.ordinal-s.ordinal:i.afterLineNumber-s.afterLineNumber),this._arr=t,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(m){const _=E.findInsertionIndex(this._arr,m.afterLineNumber,m.ordinal);this._arr.splice(_,0,m),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,_-1)}_findWhitespaceIndex(m){const _=this._arr;for(let b=0,p=_.length;b<p;b++)if(_[b].id===m)return b;return-1}_changeOneWhitespace(m,_,b){const p=this._findWhitespaceIndex(m);if(p!==-1&&(this._arr[p].height!==b&&(this._arr[p].height=b,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,p-1)),this._arr[p].afterLineNumber!==_)){const n=this._arr[p];this._removeWhitespace(p),n.afterLineNumber=_,this._insertWhitespace(n)}}_removeWhitespace(m){this._arr.splice(m,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,m-1)}onLinesDeleted(m,_){this._checkPendingChanges(),m=m|0,_=_|0,this._lineCount-=_-m+1;for(let b=0,p=this._arr.length;b<p;b++){const n=this._arr[b].afterLineNumber;m<=n&&n<=_?this._arr[b].afterLineNumber=m-1:n>_&&(this._arr[b].afterLineNumber-=_-m+1)}}onLinesInserted(m,_){this._checkPendingChanges(),m=m|0,_=_|0,this._lineCount+=_-m+1;for(let b=0,p=this._arr.length;b<p;b++){const n=this._arr[b].afterLineNumber;m<=n&&(this._arr[b].afterLineNumber+=_-m+1)}}getWhitespacesTotalHeight(){return this._checkPendingChanges(),this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(m){this._checkPendingChanges(),m=m|0;let _=Math.max(0,this._prefixSumValidIndex+1);_===0&&(this._arr[0].prefixSum=this._arr[0].height,_++);for(let b=_;b<=m;b++)this._arr[b].prefixSum=this._arr[b-1].prefixSum+this._arr[b].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,m),this._arr[m].prefixSum}getLinesTotalHeight(){this._checkPendingChanges();const m=this._lineHeight*this._lineCount,_=this.getWhitespacesTotalHeight();return m+_+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(m){this._checkPendingChanges(),m=m|0;const _=this._findLastWhitespaceBeforeLineNumber(m);return _===-1?0:this.getWhitespacesAccumulatedHeight(_)}_findLastWhitespaceBeforeLineNumber(m){m=m|0;const _=this._arr;let b=0,p=_.length-1;for(;b<=p;){const o=(p-b|0)/2|0,t=b+o|0;if(_[t].afterLineNumber<m){if(t+1>=_.length||_[t+1].afterLineNumber>=m)return t;b=t+1|0}else p=t-1|0}return-1}_findFirstWhitespaceAfterLineNumber(m){m=m|0;const b=this._findLastWhitespaceBeforeLineNumber(m)+1;return b<this._arr.length?b:-1}getFirstWhitespaceIndexAfterLineNumber(m){return this._checkPendingChanges(),m=m|0,this._findFirstWhitespaceAfterLineNumber(m)}getVerticalOffsetForLineNumber(m,_=!1){this._checkPendingChanges(),m=m|0;let b;m>1?b=this._lineHeight*(m-1):b=0;const p=this.getWhitespaceAccumulatedHeightBeforeLineNumber(m-(_?1:0));return b+p+this._paddingTop}getVerticalOffsetAfterLineNumber(m,_=!1){this._checkPendingChanges(),m=m|0;const b=this._lineHeight*m,p=this.getWhitespaceAccumulatedHeightBeforeLineNumber(m+(_?1:0));return b+p+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let m=0;for(let _=0,b=this._arr.length;_<b;_++)m=Math.max(m,this._arr[_].minWidth);this._minWidth=m}return this._minWidth}isAfterLines(m){this._checkPendingChanges();const _=this.getLinesTotalHeight();return m>_}isInTopPadding(m){return this._paddingTop===0?!1:(this._checkPendingChanges(),m<this._paddingTop)}isInBottomPadding(m){if(this._paddingBottom===0)return!1;this._checkPendingChanges();const _=this.getLinesTotalHeight();return m>=_-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(m){if(this._checkPendingChanges(),m=m|0,m<0)return 1;const _=this._lineCount|0,b=this._lineHeight;let p=1,n=_;for(;p<n;){const o=(p+n)/2|0,t=this.getVerticalOffsetForLineNumber(o)|0;if(m>=t+b)p=o+1;else{if(m>=t)return o;n=o}}return p>_?_:p}getLinesViewportData(m,_){this._checkPendingChanges(),m=m|0,_=_|0;const b=this._lineHeight,p=this.getLineNumberAtOrAfterVerticalOffset(m)|0,n=this.getVerticalOffsetForLineNumber(p)|0;let o=this._lineCount|0,t=this.getFirstWhitespaceIndexAfterLineNumber(p)|0;const i=this.getWhitespacesCount()|0;let s,g;t===-1?(t=i,g=o+1,s=0):(g=this.getAfterLineNumberForWhitespaceIndex(t)|0,s=this.getHeightForWhitespaceIndex(t)|0);let c=n,l=c;const a=5e5;let r=0;n>=a&&(r=Math.floor(n/a)*a,r=Math.floor(r/b)*b,l-=r);const u=[],C=m+(_-m)/2;let f=-1;for(let S=p;S<=o;S++){if(f===-1){const L=c,D=c+b;(L<=C&&C<D||L>C)&&(f=S)}for(c+=b,u[S-p]=l,l+=b;g===S;)l+=s,c+=s,t++,t>=i?g=o+1:(g=this.getAfterLineNumberForWhitespaceIndex(t)|0,s=this.getHeightForWhitespaceIndex(t)|0);if(c>=_){o=S;break}}f===-1&&(f=o);const h=this.getVerticalOffsetForLineNumber(o)|0;let v=p,w=o;return v<w&&n<m&&v++,v<w&&h+b>_&&w--,{bigNumbersDelta:r,startLineNumber:p,endLineNumber:o,relativeVerticalOffset:u,centeredLineNumber:f,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:w,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(m){this._checkPendingChanges(),m=m|0;const _=this.getAfterLineNumberForWhitespaceIndex(m);let b;_>=1?b=this._lineHeight*_:b=0;let p;return m>0?p=this.getWhitespacesAccumulatedHeight(m-1):p=0,b+p+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(m){this._checkPendingChanges(),m=m|0;let _=0,b=this.getWhitespacesCount()-1;if(b<0)return-1;const p=this.getVerticalOffsetForWhitespaceIndex(b),n=this.getHeightForWhitespaceIndex(b);if(m>=p+n)return-1;for(;_<b;){const o=Math.floor((_+b)/2),t=this.getVerticalOffsetForWhitespaceIndex(o),i=this.getHeightForWhitespaceIndex(o);if(m>=t+i)_=o+1;else{if(m>=t)return o;b=o}}return _}getWhitespaceAtVerticalOffset(m){this._checkPendingChanges(),m=m|0;const _=this.getWhitespaceIndexAtOrAfterVerticallOffset(m);if(_<0||_>=this.getWhitespacesCount())return null;const b=this.getVerticalOffsetForWhitespaceIndex(_);if(b>m)return null;const p=this.getHeightForWhitespaceIndex(_),n=this.getIdForWhitespaceIndex(_),o=this.getAfterLineNumberForWhitespaceIndex(_);return{id:n,afterLineNumber:o,verticalOffset:b,height:p}}getWhitespaceViewportData(m,_){this._checkPendingChanges(),m=m|0,_=_|0;const b=this.getWhitespaceIndexAtOrAfterVerticallOffset(m),p=this.getWhitespacesCount()-1;if(b<0)return[];const n=[];for(let o=b;o<=p;o++){const t=this.getVerticalOffsetForWhitespaceIndex(o),i=this.getHeightForWhitespaceIndex(o);if(t>=_)break;n.push({id:this.getIdForWhitespaceIndex(o),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(o),verticalOffset:t,height:i})}return n}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(m){return this._checkPendingChanges(),m=m|0,this._arr[m].id}getAfterLineNumberForWhitespaceIndex(m){return this._checkPendingChanges(),m=m|0,this._arr[m].afterLineNumber}getHeightForWhitespaceIndex(m){return this._checkPendingChanges(),m=m|0,this._arr[m].height}}e.LinesLayout=E}),define(ne[600],se([1,0,4]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewportData=void 0;class k{constructor(E,y,m,_){this.selections=E,this.startLineNumber=y.startLineNumber|0,this.endLineNumber=y.endLineNumber|0,this.relativeVerticalOffset=y.relativeVerticalOffset,this.bigNumbersDelta=y.bigNumbersDelta|0,this.lineHeight=y.lineHeight|0,this.whitespaceViewportData=m,this._model=_,this.visibleRange=new d.Range(y.startLineNumber,this._model.getLineMinColumn(y.startLineNumber),y.endLineNumber,this._model.getLineMaxColumn(y.endLineNumber))}getViewLineRenderingData(E){return this._model.getViewportViewLineRenderingData(this.visibleRange,E)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}e.ViewportData=k}),define(ne[95],se([1,0,13,11,4]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OverviewRulerDecorationsGroup=e.ViewModelDecoration=e.SingleLineInlineDecoration=e.InlineDecoration=e.ViewLineRenderingData=e.ViewLineData=e.MinimapLinesRenderingData=e.Viewport=void 0;class E{constructor(i,s,g,c){this._viewportBrand=void 0,this.top=i|0,this.left=s|0,this.width=g|0,this.height=c|0}}e.Viewport=E;class y{constructor(i,s){this.tabSize=i,this.data=s}}e.MinimapLinesRenderingData=y;class m{constructor(i,s,g,c,l,a,r){this._viewLineDataBrand=void 0,this.content=i,this.continuesWithWrappedLine=s,this.minColumn=g,this.maxColumn=c,this.startVisibleColumn=l,this.tokens=a,this.inlineDecorations=r}}e.ViewLineData=m;class _{constructor(i,s,g,c,l,a,r,u,C,f){this.minColumn=i,this.maxColumn=s,this.content=g,this.continuesWithWrappedLine=c,this.isBasicASCII=_.isBasicASCII(g,a),this.containsRTL=_.containsRTL(g,this.isBasicASCII,l),this.tokens=r,this.inlineDecorations=u,this.tabSize=C,this.startVisibleColumn=f}static isBasicASCII(i,s){return s?k.isBasicASCII(i):!0}static containsRTL(i,s,g){return!s&&g?k.containsRTL(i):!1}}e.ViewLineRenderingData=_;class b{constructor(i,s,g){this.range=i,this.inlineClassName=s,this.type=g}}e.InlineDecoration=b;class p{constructor(i,s,g,c){this.startOffset=i,this.endOffset=s,this.inlineClassName=g,this.inlineClassNameAffectsLetterSpacing=c}toInlineDecoration(i){return new b(new I.Range(i,this.startOffset+1,i,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}e.SingleLineInlineDecoration=p;class n{constructor(i,s){this._viewModelDecorationBrand=void 0,this.range=i,this.options=s}}e.ViewModelDecoration=n;class o{constructor(i,s,g){this.color=i,this.zIndex=s,this.data=g}static compareByRenderingProps(i,s){return i.zIndex===s.zIndex?i.color<s.color?-1:i.color>s.color?1:0:i.zIndex-s.zIndex}static equals(i,s){return i.color===s.color&&i.zIndex===s.zIndex&&d.equals(i.data,s.data)}static equalsArr(i,s){return d.equals(i,s,o.equals)}}e.OverviewRulerDecorationsGroup=o}),define(ne[601],se([1,0,40]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GlyphMarginLanesModel=void 0;const k=d.GlyphMarginLane.Right;class I{constructor(y){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((y+1)*k/8))}reset(y){const m=Math.ceil((y+1)*k/8);this.lanes.length<m?this.lanes=new Uint8Array(m):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(y,m,_){_&&(this.persist|=1<<y-1);for(let b=m.startLineNumber;b<=m.endLineNumber;b++){const p=k*b+(y-1);this.lanes[p>>>3]|=1<<p%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(b))}}getLanesAtLine(y){const m=[];let _=k*y;for(let b=0;b<k;b++)(this.persist&1<<b||this.lanes[_>>>3]&1<<_%8)&&m.push(b+1),_++;return m.length?m:[d.GlyphMarginLane.Center]}countAtLine(y){let m=k*y,_=0;for(let b=0;b<k;b++)(this.persist&1<<b||this.lanes[m>>>3]&1<<m%8)&&_++,m++;return _}}e.GlyphMarginLanesModel=I}),define(ne[602],se([1,0,83,9,132,95]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createModelLineProjection=y;function y(t,i){return t===null?i?_.INSTANCE:b.INSTANCE:new m(t,i)}class m{constructor(i,s){this._projectionData=i,this._isVisible=s}isVisible(){return this._isVisible}setVisible(i){return this._isVisible=i,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(i,s,g){this._assertVisible();const c=g>0?this._projectionData.breakOffsets[g-1]:0,l=this._projectionData.breakOffsets[g];let a;if(this._projectionData.injectionOffsets!==null){const r=this._projectionData.injectionOffsets.map((C,f)=>new I.LineInjectedText(0,0,C+1,this._projectionData.injectionOptions[f],0));a=I.LineInjectedText.applyInjectedText(i.getLineContent(s),r).substring(c,l)}else a=i.getValueInRange({startLineNumber:s,startColumn:c+1,endLineNumber:s,endColumn:l+1});return g>0&&(a=n(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(i,s,g){return this._assertVisible(),this._projectionData.getLineLength(g)}getViewLineMinColumn(i,s,g){return this._assertVisible(),this._projectionData.getMinOutputOffset(g)+1}getViewLineMaxColumn(i,s,g){return this._assertVisible(),this._projectionData.getMaxOutputOffset(g)+1}getViewLineData(i,s,g){const c=new Array;return this.getViewLinesData(i,s,g,1,0,[!0],c),c[0]}getViewLinesData(i,s,g,c,l,a,r){this._assertVisible();const u=this._projectionData,C=u.injectionOffsets,f=u.injectionOptions;let h=null;if(C){h=[];let w=0,S=0;for(let L=0;L<u.getOutputLineCount();L++){const D=new Array;h[L]=D;const T=L>0?u.breakOffsets[L-1]:0,M=u.breakOffsets[L];for(;S<C.length;){const A=f[S].content.length,P=C[S]+w,N=P+A;if(P>M)break;if(T<N){const O=f[S];if(O.inlineClassName){const F=L>0?u.wrappedTextIndentLength:0,x=F+Math.max(P-T,0),W=F+Math.min(N-T,M-T);x!==W&&D.push(new E.SingleLineInlineDecoration(x,W,O.inlineClassName,O.inlineClassNameAffectsLetterSpacing))}}if(N<=M)w+=A,S++;else break}}}let v;C?v=i.tokenization.getLineTokens(s).withInserted(C.map((w,S)=>({offset:w,text:f[S].content,tokenMetadata:d.LineTokens.defaultTokenMetadata}))):v=i.tokenization.getLineTokens(s);for(let w=g;w<g+c;w++){const S=l+w-g;if(!a[S]){r[S]=null;continue}r[S]=this._getViewLineData(v,h?h[w]:null,w)}}_getViewLineData(i,s,g){this._assertVisible();const c=this._projectionData,l=g>0?c.wrappedTextIndentLength:0,a=g>0?c.breakOffsets[g-1]:0,r=c.breakOffsets[g],u=i.sliceAndInflate(a,r,l);let C=u.getLineContent();g>0&&(C=n(c.wrappedTextIndentLength)+C);const f=this._projectionData.getMinOutputOffset(g)+1,h=C.length+1,v=g+1<this.getViewLineCount(),w=g===0?0:c.breakOffsetsVisibleColumn[g-1];return new E.ViewLineData(C,v,f,h,w,u,s)}getModelColumnOfViewPosition(i,s){return this._assertVisible(),this._projectionData.translateToInputOffset(i,s-1)+1}getViewPositionOfModelPosition(i,s,g=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(s-1,g).toPosition(i)}getViewLineNumberOfModelPosition(i,s){this._assertVisible();const g=this._projectionData.translateToOutputPosition(s-1);return i+g.outputLineIndex}normalizePosition(i,s,g){const c=s.lineNumber-i;return this._projectionData.normalizeOutputPosition(i,s.column-1,g).toPosition(c)}getInjectedTextAt(i,s){return this._projectionData.getInjectedText(i,s-1)}_assertVisible(){if(!this._isVisible)throw new Error(\"Not supported\")}}class _{static{this.INSTANCE=new _}constructor(){}isVisible(){return!0}setVisible(i){return i?this:b.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(i,s,g){return i.getLineContent(s)}getViewLineLength(i,s,g){return i.getLineLength(s)}getViewLineMinColumn(i,s,g){return i.getLineMinColumn(s)}getViewLineMaxColumn(i,s,g){return i.getLineMaxColumn(s)}getViewLineData(i,s,g){const c=i.tokenization.getLineTokens(s),l=c.getLineContent();return new E.ViewLineData(l,!1,1,l.length+1,0,c.inflate(),null)}getViewLinesData(i,s,g,c,l,a,r){if(!a[l]){r[l]=null;return}r[l]=this.getViewLineData(i,s,0)}getModelColumnOfViewPosition(i,s){return s}getViewPositionOfModelPosition(i,s){return new k.Position(i,s)}getViewLineNumberOfModelPosition(i,s){return i}normalizePosition(i,s,g){return s}getInjectedTextAt(i,s){return null}}class b{static{this.INSTANCE=new b}constructor(){}isVisible(){return!1}setVisible(i){return i?_.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(i,s,g){throw new Error(\"Not supported\")}getViewLineLength(i,s,g){throw new Error(\"Not supported\")}getViewLineMinColumn(i,s,g){throw new Error(\"Not supported\")}getViewLineMaxColumn(i,s,g){throw new Error(\"Not supported\")}getViewLineData(i,s,g){throw new Error(\"Not supported\")}getViewLinesData(i,s,g,c,l,a,r){throw new Error(\"Not supported\")}getModelColumnOfViewPosition(i,s){throw new Error(\"Not supported\")}getViewPositionOfModelPosition(i,s){throw new Error(\"Not supported\")}getViewLineNumberOfModelPosition(i,s){throw new Error(\"Not supported\")}normalizePosition(i,s,g){throw new Error(\"Not supported\")}getInjectedTextAt(i,s){throw new Error(\"Not supported\")}}const p=[\"\"];function n(t){if(t>=p.length)for(let i=1;i<=t;i++)p[i]=o(i);return p[t]}function o(t){return new Array(t+1).join(\" \")}}),define(ne[603],se([1,0,11,144,132,325]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MonospaceLineBreaksComputerFactory=void 0;class y{static create(c){return new y(c.get(135),c.get(134))}constructor(c,l){this.classifier=new m(c,l)}createLineBreaksComputer(c,l,a,r,u){const C=[],f=[],h=[];return{addRequest:(v,w,S)=>{C.push(v),f.push(w),h.push(S)},finalize:()=>{const v=c.typicalFullwidthCharacterWidth/c.typicalHalfwidthCharacterWidth,w=[];for(let S=0,L=C.length;S<L;S++){const D=f[S],T=h[S];T&&!T.injectionOptions&&!D?w[S]=p(this.classifier,T,C[S],l,a,v,r,u):w[S]=n(this.classifier,C[S],D,l,a,v,r,u)}return _.length=0,b.length=0,w}}}}e.MonospaceLineBreaksComputerFactory=y;class m extends k.CharacterClassifier{constructor(c,l){super(0);for(let a=0;a<c.length;a++)this.set(c.charCodeAt(a),1);for(let a=0;a<l.length;a++)this.set(l.charCodeAt(a),2)}get(c){return c>=0&&c<256?this._asciiMap[c]:c>=12352&&c<=12543||c>=13312&&c<=19903||c>=19968&&c<=40959?3:this._map.get(c)||this._defaultValue}}let _=[],b=[];function p(g,c,l,a,r,u,C,f){if(r===-1)return null;const h=l.length;if(h<=1)return null;const v=f===\"keepAll\",w=c.breakOffsets,S=c.breakOffsetsVisibleColumn,L=s(l,a,r,u,C),D=r-L,T=_,M=b;let A=0,P=0,N=0,O=r;const F=w.length;let x=0;if(x>=0){let W=Math.abs(S[x]-O);for(;x+1<F;){const V=Math.abs(S[x+1]-O);if(V>=W)break;W=V,x++}}for(;x<F;){let W=x<0?0:w[x],V=x<0?0:S[x];P>W&&(W=P,V=N);let q=0,H=0,z=0,U=0;if(V<=O){let Y=V,G=W===0?0:l.charCodeAt(W-1),K=W===0?0:g.get(G),R=!0;for(let J=W;J<h;J++){const ie=J,ue=l.charCodeAt(J);let he,pe;if(d.isHighSurrogate(ue)?(J++,he=0,pe=2):(he=g.get(ue),pe=o(ue,Y,a,u)),ie>P&&i(G,K,ue,he,v)&&(q=ie,H=Y),Y+=pe,Y>O){ie>P?(z=ie,U=Y-pe):(z=J+1,U=Y),Y-H>D&&(q=0),R=!1;break}G=ue,K=he}if(R){A>0&&(T[A]=w[w.length-1],M[A]=S[w.length-1],A++);break}}if(q===0){let Y=V,G=l.charCodeAt(W),K=g.get(G),R=!1;for(let J=W-1;J>=P;J--){const ie=J+1,ue=l.charCodeAt(J);if(ue===9){R=!0;break}let he,pe;if(d.isLowSurrogate(ue)?(J--,he=0,pe=2):(he=g.get(ue),pe=d.isFullWidthCharacter(ue)?u:1),Y<=O){if(z===0&&(z=ie,U=Y),Y<=O-D)break;if(i(ue,he,G,K,v)){q=ie,H=Y;break}}Y-=pe,G=ue,K=he}if(q!==0){const J=D-(U-H);if(J<=a){const ie=l.charCodeAt(z);let ue;d.isHighSurrogate(ie)?ue=2:ue=o(ie,U,a,u),J-ue<0&&(q=0)}}if(R){x--;continue}}if(q===0&&(q=z,H=U),q<=P){const Y=l.charCodeAt(P);d.isHighSurrogate(Y)?(q=P+2,H=N+2):(q=P+1,H=N+o(Y,N,a,u))}for(P=q,T[A]=q,N=H,M[A]=H,A++,O=H+D;x<0||x<F&&S[x]<H;)x++;let j=Math.abs(S[x]-O);for(;x+1<F;){const Y=Math.abs(S[x+1]-O);if(Y>=j)break;j=Y,x++}}return A===0?null:(T.length=A,M.length=A,_=c.breakOffsets,b=c.breakOffsetsVisibleColumn,c.breakOffsets=T,c.breakOffsetsVisibleColumn=M,c.wrappedTextIndentLength=L,c)}function n(g,c,l,a,r,u,C,f){const h=I.LineInjectedText.applyInjectedText(c,l);let v,w;if(l&&l.length>0?(v=l.map(H=>H.options),w=l.map(H=>H.column-1)):(v=null,w=null),r===-1)return v?new E.ModelLineProjectionData(w,v,[h.length],[],0):null;const S=h.length;if(S<=1)return v?new E.ModelLineProjectionData(w,v,[h.length],[],0):null;const L=f===\"keepAll\",D=s(h,a,r,u,C),T=r-D,M=[],A=[];let P=0,N=0,O=0,F=r,x=h.charCodeAt(0),W=g.get(x),V=o(x,0,a,u),q=1;d.isHighSurrogate(x)&&(V+=1,x=h.charCodeAt(1),W=g.get(x),q++);for(let H=q;H<S;H++){const z=H,U=h.charCodeAt(H);let j,Y;d.isHighSurrogate(U)?(H++,j=0,Y=2):(j=g.get(U),Y=o(U,V,a,u)),i(x,W,U,j,L)&&(N=z,O=V),V+=Y,V>F&&((N===0||V-O>T)&&(N=z,O=V-Y),M[P]=N,A[P]=O,P++,F=O+T,N=0),x=U,W=j}return P===0&&(!l||l.length===0)?null:(M[P]=S,A[P]=V,new E.ModelLineProjectionData(w,v,M,A,D))}function o(g,c,l,a){return g===9?l-c%l:d.isFullWidthCharacter(g)||g<32?a:1}function t(g,c){return c-g%c}function i(g,c,l,a,r){return l!==32&&(c===2&&a!==2||c!==1&&a===1||!r&&c===3&&a!==2||!r&&a===3&&c!==1)}function s(g,c,l,a,r){let u=0;if(r!==0){const C=d.firstNonWhitespaceIndex(g);if(C!==-1){for(let h=0;h<C;h++){const v=g.charCodeAt(h)===9?t(u,c):1;u+=v}const f=r===3?2:r===2?1:0;for(let h=0;h<f;h++){const v=t(u,c);u+=v}u+a>l&&(u=0)}}return u}}),define(ne[332],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OverviewZoneManager=e.OverviewRulerZone=e.ColorZone=void 0;class d{constructor(y,m,_){this._colorZoneBrand=void 0,this.from=y|0,this.to=m|0,this.colorId=_|0}static compare(y,m){return y.colorId===m.colorId?y.from===m.from?y.to-m.to:y.from-m.from:y.colorId-m.colorId}}e.ColorZone=d;class k{constructor(y,m,_,b){this._overviewRulerZoneBrand=void 0,this.startLineNumber=y,this.endLineNumber=m,this.heightInLines=_,this.color=b,this._colorZone=null}static compare(y,m){return y.color===m.color?y.startLineNumber===m.startLineNumber?y.heightInLines===m.heightInLines?y.endLineNumber-m.endLineNumber:y.heightInLines-m.heightInLines:y.startLineNumber-m.startLineNumber:y.color<m.color?-1:1}setColorZone(y){this._colorZone=y}getColorZones(){return this._colorZone}}e.OverviewRulerZone=k;class I{constructor(y){this._getVerticalOffsetForLine=y,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(y){this._zones=y,this._zones.sort(k.compare)}setLineHeight(y){return this._lineHeight===y?!1:(this._lineHeight=y,this._colorZonesInvalid=!0,!0)}setPixelRatio(y){this._pixelRatio=y,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(y){return this._domWidth===y?!1:(this._domWidth=y,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(y){return this._domHeight===y?!1:(this._domHeight=y,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(y){return this._outerHeight===y?!1:(this._outerHeight=y,this._colorZonesInvalid=!0,!0)}resolveColorZones(){const y=this._colorZonesInvalid,m=Math.floor(this._lineHeight),_=Math.floor(this.getCanvasHeight()),b=Math.floor(this._outerHeight),p=_/b,n=Math.floor(4*this._pixelRatio/2),o=[];for(let t=0,i=this._zones.length;t<i;t++){const s=this._zones[t];if(!y){const v=s.getColorZones();if(v){o.push(v);continue}}const g=this._getVerticalOffsetForLine(s.startLineNumber),c=s.heightInLines===0?this._getVerticalOffsetForLine(s.endLineNumber)+m:g+s.heightInLines*m,l=Math.floor(p*g),a=Math.floor(p*c);let r=Math.floor((l+a)/2),u=a-r;u<n&&(u=n),r-u<0&&(r=u),r+u>_&&(r=_-u);const C=s.color;let f=this._color2Id[C];f||(f=++this._lastAssignedId,this._color2Id[C]=f,this._id2Color[f]=C);const h=new d(r-u,r+u,f);s.setColorZone(h),o.push(h)}return this._colorZonesInvalid=!1,o.sort(d.compare),o}}e.OverviewZoneManager=I}),define(ne[604],se([1,0,39,332,170]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OverviewRuler=void 0;class E extends I.ViewEventHandler{constructor(m,_){super(),this._context=m;const b=this._context.configuration.options;this._domNode=(0,d.createFastDomNode)(document.createElement(\"canvas\")),this._domNode.setClassName(_),this._domNode.setPosition(\"absolute\"),this._domNode.setLayerHinting(!0),this._domNode.setContain(\"strict\"),this._zoneManager=new k.OverviewZoneManager(p=>this._context.viewLayout.getVerticalOffsetForLineNumber(p)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(b.get(67)),this._zoneManager.setPixelRatio(b.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(m){const _=this._context.configuration.options;return m.hasChanged(67)&&(this._zoneManager.setLineHeight(_.get(67)),this._render()),m.hasChanged(144)&&(this._zoneManager.setPixelRatio(_.get(144)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(m){return this._render(),!0}onScrollChanged(m){return m.scrollHeightChanged&&(this._zoneManager.setOuterHeight(m.scrollHeight),this._render()),!0}onZonesChanged(m){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(m){this._domNode.setTop(m.top),this._domNode.setRight(m.right);let _=!1;_=this._zoneManager.setDOMWidth(m.width)||_,_=this._zoneManager.setDOMHeight(m.height)||_,_&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(m){this._zoneManager.setZones(m),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const m=this._zoneManager.getCanvasWidth(),_=this._zoneManager.getCanvasHeight(),b=this._zoneManager.resolveColorZones(),p=this._zoneManager.getId2Color(),n=this._domNode.domNode.getContext(\"2d\");return n.clearRect(0,0,m,_),b.length>0&&this._renderOneLane(n,b,p,m),!0}_renderOneLane(m,_,b,p){let n=0,o=0,t=0;for(const i of _){const s=i.colorId,g=i.from,c=i.to;s!==n?(m.fillRect(0,o,p,t-o),n=s,m.fillStyle=b[n],o=g,t=c):t>=g?t=Math.max(t,c):(m.fillRect(0,o,p,t-o),o=g,t=c)}m.fillRect(0,o,p,t-o)}}e.OverviewRuler=E}),define(ne[605],se([1,0,562]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewContext=void 0;class k{constructor(E,y,m){this.configuration=E,this.theme=new d.EditorTheme(y),this.viewModel=m,this.viewLayout=m.viewLayout}addEventHandler(E){this.viewModel.addViewEventHandler(E)}removeEventHandler(E){this.viewModel.removeViewEventHandler(E)}}e.ViewContext=k}),define(ne[244],se([1,0,6,2]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ModelTokensChangedEvent=e.ModelOptionsChangedEvent=e.ModelContentChangedEvent=e.ModelLanguageConfigurationChangedEvent=e.ModelLanguageChangedEvent=e.ModelDecorationsChangedEvent=e.ReadOnlyEditAttemptEvent=e.CursorStateChangedEvent=e.HiddenAreasChangedEvent=e.ViewZonesChangedEvent=e.ScrollChangedEvent=e.FocusChangedEvent=e.ContentSizeChangedEvent=e.ViewModelEventsCollector=e.ViewModelEventDispatcher=void 0;class I extends k.Disposable{constructor(){super(),this._onEvent=this._register(new d.Emitter),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(r){this._addOutgoingEvent(r),this._emitOutgoingEvents()}_addOutgoingEvent(r){for(let u=0,C=this._outgoingEvents.length;u<C;u++){const f=this._outgoingEvents[u].kind===r.kind?this._outgoingEvents[u].attemptToMerge(r):null;if(f){this._outgoingEvents[u]=f;return}}this._outgoingEvents.push(r)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;const r=this._outgoingEvents.shift();r.isNoOp()||this._onEvent.fire(r)}}addViewEventHandler(r){for(let u=0,C=this._eventHandlers.length;u<C;u++)this._eventHandlers[u]===r&&console.warn(\"Detected duplicate listener in ViewEventDispatcher\",r);this._eventHandlers.push(r)}removeViewEventHandler(r){for(let u=0;u<this._eventHandlers.length;u++)if(this._eventHandlers[u]===r){this._eventHandlers.splice(u,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new E),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){const r=this._collector.outgoingEvents,u=this._collector.viewEvents;this._collector=null;for(const C of r)this._addOutgoingEvent(C);u.length>0&&this._emitMany(u)}this._emitOutgoingEvents()}emitSingleViewEvent(r){try{this.beginEmitViewEvents().emitViewEvent(r)}finally{this.endEmitViewEvents()}}_emitMany(r){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(r):this._viewEventQueue=r,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const r=this._viewEventQueue;this._viewEventQueue=null;const u=this._eventHandlers.slice(0);for(const C of u)C.handleEvents(r)}}}e.ViewModelEventDispatcher=I;class E{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(r){this.viewEvents.push(r)}emitOutgoingEvent(r){this.outgoingEvents.push(r)}}e.ViewModelEventsCollector=E;class y{constructor(r,u,C,f){this.kind=0,this._oldContentWidth=r,this._oldContentHeight=u,this.contentWidth=C,this.contentHeight=f,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(r){return r.kind!==this.kind?null:new y(this._oldContentWidth,this._oldContentHeight,r.contentWidth,r.contentHeight)}}e.ContentSizeChangedEvent=y;class m{constructor(r,u){this.kind=1,this.oldHasFocus=r,this.hasFocus=u}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(r){return r.kind!==this.kind?null:new m(this.oldHasFocus,r.hasFocus)}}e.FocusChangedEvent=m;class _{constructor(r,u,C,f,h,v,w,S){this.kind=2,this._oldScrollWidth=r,this._oldScrollLeft=u,this._oldScrollHeight=C,this._oldScrollTop=f,this.scrollWidth=h,this.scrollLeft=v,this.scrollHeight=w,this.scrollTop=S,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(r){return r.kind!==this.kind?null:new _(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,r.scrollWidth,r.scrollLeft,r.scrollHeight,r.scrollTop)}}e.ScrollChangedEvent=_;class b{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(r){return r.kind!==this.kind?null:this}}e.ViewZonesChangedEvent=b;class p{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(r){return r.kind!==this.kind?null:this}}e.HiddenAreasChangedEvent=p;class n{constructor(r,u,C,f,h,v,w){this.kind=6,this.oldSelections=r,this.selections=u,this.oldModelVersionId=C,this.modelVersionId=f,this.source=h,this.reason=v,this.reachedMaxCursorCount=w}static _selectionsAreEqual(r,u){if(!r&&!u)return!0;if(!r||!u)return!1;const C=r.length,f=u.length;if(C!==f)return!1;for(let h=0;h<C;h++)if(!r[h].equalsSelection(u[h]))return!1;return!0}isNoOp(){return n._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(r){return r.kind!==this.kind?null:new n(this.oldSelections,r.selections,this.oldModelVersionId,r.modelVersionId,r.source,r.reason,this.reachedMaxCursorCount||r.reachedMaxCursorCount)}}e.CursorStateChangedEvent=n;class o{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(r){return r.kind!==this.kind?null:this}}e.ReadOnlyEditAttemptEvent=o;class t{constructor(r){this.event=r,this.kind=7}isNoOp(){return!1}attemptToMerge(r){return null}}e.ModelDecorationsChangedEvent=t;class i{constructor(r){this.event=r,this.kind=8}isNoOp(){return!1}attemptToMerge(r){return null}}e.ModelLanguageChangedEvent=i;class s{constructor(r){this.event=r,this.kind=9}isNoOp(){return!1}attemptToMerge(r){return null}}e.ModelLanguageConfigurationChangedEvent=s;class g{constructor(r){this.event=r,this.kind=10}isNoOp(){return!1}attemptToMerge(r){return null}}e.ModelContentChangedEvent=g;class c{constructor(r){this.event=r,this.kind=11}isNoOp(){return!1}attemptToMerge(r){return null}}e.ModelOptionsChangedEvent=c;class l{constructor(r){this.event=r,this.kind=12}isNoOp(){return!1}attemptToMerge(r){return null}}e.ModelTokensChangedEvent=l}),define(ne[606],se([1,0,6,2,163,599,95,244]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewLayout=void 0;const _=125;class b{constructor(t,i,s,g){t=t|0,i=i|0,s=s|0,g=g|0,t<0&&(t=0),i<0&&(i=0),s<0&&(s=0),g<0&&(g=0),this.width=t,this.contentWidth=i,this.scrollWidth=Math.max(t,i),this.height=s,this.contentHeight=g,this.scrollHeight=Math.max(s,g)}equals(t){return this.width===t.width&&this.contentWidth===t.contentWidth&&this.height===t.height&&this.contentHeight===t.contentHeight}}class p extends k.Disposable{constructor(t,i){super(),this._onDidContentSizeChange=this._register(new d.Emitter),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new b(0,0,0,0),this._scrollable=this._register(new I.Scrollable({forceIntegerValues:!0,smoothScrollDuration:t,scheduleAtNextAnimationFrame:i})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(t){this._scrollable.setSmoothScrollDuration(t)}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}getScrollDimensions(){return this._dimensions}setScrollDimensions(t){if(this._dimensions.equals(t))return;const i=this._dimensions;this._dimensions=t,this._scrollable.setScrollDimensions({width:t.width,scrollWidth:t.scrollWidth,height:t.height,scrollHeight:t.scrollHeight},!0);const s=i.contentWidth!==t.contentWidth,g=i.contentHeight!==t.contentHeight;(s||g)&&this._onDidContentSizeChange.fire(new m.ContentSizeChangedEvent(i.contentWidth,i.contentHeight,t.contentWidth,t.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(t){this._scrollable.setScrollPositionNow(t)}setScrollPositionSmooth(t){this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class n extends k.Disposable{constructor(t,i,s){super(),this._configuration=t;const g=this._configuration.options,c=g.get(146),l=g.get(84);this._linesLayout=new E.LinesLayout(i,g.get(67),l.top,l.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new p(0,s)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new b(c.contentWidth,0,c.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(115)?_:0)}onConfigurationChanged(t){const i=this._configuration.options;if(t.hasChanged(67)&&this._linesLayout.setLineHeight(i.get(67)),t.hasChanged(84)){const s=i.get(84);this._linesLayout.setPadding(s.top,s.bottom)}if(t.hasChanged(146)){const s=i.get(146),g=s.contentWidth,c=s.height,l=this._scrollable.getScrollDimensions(),a=l.contentWidth;this._scrollable.setScrollDimensions(new b(g,l.contentWidth,c,this._getContentHeight(g,c,a)))}else this._updateHeight();t.hasChanged(115)&&this._configureSmoothScrollDuration()}onFlushed(t){this._linesLayout.onFlushed(t)}onLinesDeleted(t,i){this._linesLayout.onLinesDeleted(t,i)}onLinesInserted(t,i){this._linesLayout.onLinesInserted(t,i)}_getHorizontalScrollbarHeight(t,i){const g=this._configuration.options.get(104);return g.horizontal===2||t>=i?0:g.horizontalScrollbarSize}_getContentHeight(t,i,s){const g=this._configuration.options;let c=this._linesLayout.getLinesTotalHeight();return g.get(106)?c+=Math.max(0,i-g.get(67)-g.get(84).bottom):g.get(104).ignoreHorizontalScrollbarInContentHeight||(c+=this._getHorizontalScrollbarHeight(t,s)),c}_updateHeight(){const t=this._scrollable.getScrollDimensions(),i=t.width,s=t.height,g=t.contentWidth;this._scrollable.setScrollDimensions(new b(i,t.contentWidth,s,this._getContentHeight(i,s,g)))}getCurrentViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getCurrentScrollPosition();return new y.Viewport(i.scrollTop,i.scrollLeft,t.width,t.height)}getFutureViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getFutureScrollPosition();return new y.Viewport(i.scrollTop,i.scrollLeft,t.width,t.height)}_computeContentWidth(){const t=this._configuration.options,i=this._maxLineWidth,s=t.get(147),g=t.get(50),c=t.get(146);if(s.isViewportWrapping){const l=t.get(73);return i>c.contentWidth+g.typicalHalfwidthCharacterWidth&&l.enabled&&l.side===\"right\"?i+c.verticalScrollbarWidth:i}else{const l=t.get(105)*g.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(i+l+c.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(t){this._maxLineWidth=t,this._updateContentWidth()}setOverlayWidgetsMinWidth(t){this._overlayWidgetsMinWidth=t,this._updateContentWidth()}_updateContentWidth(){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new b(t.width,this._computeContentWidth(),t.height,t.contentHeight)),this._updateHeight()}saveState(){const t=this._scrollable.getFutureScrollPosition(),i=t.scrollTop,s=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(i),g=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(s);return{scrollTop:i,scrollTopWithoutViewZones:i-g,scrollLeft:t.scrollLeft}}changeWhitespace(t){const i=this._linesLayout.changeWhitespace(t);return i&&this.onHeightMaybeChanged(),i}getVerticalOffsetForLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetForLineNumber(t,i)}getVerticalOffsetAfterLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(t,i)}isAfterLines(t){return this._linesLayout.isAfterLines(t)}isInTopPadding(t){return this._linesLayout.isInTopPadding(t)}isInBottomPadding(t){return this._linesLayout.isInBottomPadding(t)}getLineNumberAtVerticalOffset(t){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t)}getWhitespaceAtVerticalOffset(t){return this._linesLayout.getWhitespaceAtVerticalOffset(t)}getLinesViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(t.top,t.top+t.height)}getLinesViewportDataAtScrollTop(t){const i=this._scrollable.getScrollDimensions();return t+i.height>i.scrollHeight&&(t=i.scrollHeight-i.height),t<0&&(t=0),this._linesLayout.getLinesViewportData(t,t+i.height)}getWhitespaceViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(t.top,t.top+t.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}setScrollPosition(t,i){i===1?this._scrollable.setScrollPositionNow(t):this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(t,i){const s=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:s.scrollLeft+t,scrollTop:s.scrollTop+i})}}e.ViewLayout=n}),define(ne[607],se([1,0,4,23]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MoveCaretCommand=void 0;class I{constructor(y,m){this._selection=y,this._isMovingLeft=m}getEditOperations(y,m){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const _=this._selection.startLineNumber,b=this._selection.startColumn,p=this._selection.endColumn;if(!(this._isMovingLeft&&b===1)&&!(!this._isMovingLeft&&p===y.getLineMaxColumn(_)))if(this._isMovingLeft){const n=new d.Range(_,b-1,_,b),o=y.getValueInRange(n);m.addEditOperation(n,null),m.addEditOperation(new d.Range(_,p,_,p),o)}else{const n=new d.Range(_,p,_,p+1),o=y.getValueInRange(n);m.addEditOperation(n,null),m.addEditOperation(new d.Range(_,b,_,b),o)}}computeCursorState(y,m){return this._isMovingLeft?new k.Selection(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new k.Selection(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}e.MoveCaretCommand=I}),define(ne[134],se([1,0,8,91]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeActionItem=e.CodeActionCommandArgs=e.CodeActionTriggerSource=e.CodeActionKind=void 0,e.mayIncludeActionsOfKind=E,e.filtersAction=y,e.CodeActionKind=new class{constructor(){this.QuickFix=new k.HierarchicalKind(\"quickfix\"),this.Refactor=new k.HierarchicalKind(\"refactor\"),this.RefactorExtract=this.Refactor.append(\"extract\"),this.RefactorInline=this.Refactor.append(\"inline\"),this.RefactorMove=this.Refactor.append(\"move\"),this.RefactorRewrite=this.Refactor.append(\"rewrite\"),this.Notebook=new k.HierarchicalKind(\"notebook\"),this.Source=new k.HierarchicalKind(\"source\"),this.SourceOrganizeImports=this.Source.append(\"organizeImports\"),this.SourceFixAll=this.Source.append(\"fixAll\"),this.SurroundWith=this.Refactor.append(\"surround\")}};var I;(function(p){p.Refactor=\"refactor\",p.RefactorPreview=\"refactor preview\",p.Lightbulb=\"lightbulb\",p.Default=\"other (default)\",p.SourceAction=\"source action\",p.QuickFix=\"quick fix action\",p.FixAll=\"fix all\",p.OrganizeImports=\"organize imports\",p.AutoFix=\"auto fix\",p.QuickFixHover=\"quick fix hover window\",p.OnSave=\"save participants\",p.ProblemsView=\"problems view\"})(I||(e.CodeActionTriggerSource=I={}));function E(p,n){return!(p.include&&!p.include.intersects(n)||p.excludes&&p.excludes.some(o=>m(n,o,p.include))||!p.includeSourceActions&&e.CodeActionKind.Source.contains(n))}function y(p,n){const o=n.kind?new k.HierarchicalKind(n.kind):void 0;return!(p.include&&(!o||!p.include.contains(o))||p.excludes&&o&&p.excludes.some(t=>m(o,t,p.include))||!p.includeSourceActions&&o&&e.CodeActionKind.Source.contains(o)||p.onlyIncludePreferredActions&&!n.isPreferred)}function m(p,n,o){return!(!n.contains(p)||o&&n.contains(o))}class _{static fromUser(n,o){return!n||typeof n!=\"object\"?new _(o.kind,o.apply,!1):new _(_.getKindFromUser(n,o.kind),_.getApplyFromUser(n,o.apply),_.getPreferredUser(n))}static getApplyFromUser(n,o){switch(typeof n.apply==\"string\"?n.apply.toLowerCase():\"\"){case\"first\":return\"first\";case\"never\":return\"never\";case\"ifsingle\":return\"ifSingle\";default:return o}}static getKindFromUser(n,o){return typeof n.kind==\"string\"?new k.HierarchicalKind(n.kind):o}static getPreferredUser(n){return typeof n.preferred==\"boolean\"?n.preferred:!1}constructor(n,o,t){this.kind=n,this.apply=o,this.preferred=t}}e.CodeActionCommandArgs=_;class b{constructor(n,o,t){this.action=n,this.provider=o,this.highlightRange=t}async resolve(n){if(this.provider?.resolveCodeAction&&!this.action.edit){let o;try{o=await this.provider.resolveCodeAction(this.action,n)}catch(t){(0,d.onUnexpectedExternalError)(t)}o&&(this.action.edit=o.edit)}return this}}e.CodeActionItem=b}),define(ne[608],se([1,0,6]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ColorPickerModel=void 0;class k{get color(){return this._color}set color(E){this._color.equals(E)||(this._color=E,this._onDidChangeColor.fire(E))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(E){this._colorPresentations=E,this.presentationIndex>E.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(E,y,m){this.presentationIndex=m,this._onColorFlushed=new d.Emitter,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new d.Emitter,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new d.Emitter,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=E,this._color=E,this._colorPresentations=y}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(E,y){let m=-1;for(let _=0;_<this.colorPresentations.length;_++)if(y.toLowerCase()===this.colorPresentations[_].label){m=_;break}if(m===-1){const _=y.split(\"(\")[0].toLowerCase();for(let b=0;b<this.colorPresentations.length;b++)if(this.colorPresentations[b].label.toLowerCase().startsWith(_)){m=b;break}}m!==-1&&m!==this.presentationIndex&&(this.presentationIndex=m,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}}e.ColorPickerModel=k}),define(ne[333],se([1,0,75,9,4,23]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BlockCommentCommand=void 0;class y{constructor(_,b,p){this.languageConfigurationService=p,this._selection=_,this._insertSpace=b,this._usedEndToken=null}static _haystackHasNeedleAtOffset(_,b,p){if(p<0)return!1;const n=b.length,o=_.length;if(p+n>o)return!1;for(let t=0;t<n;t++){const i=_.charCodeAt(p+t),s=b.charCodeAt(t);if(i!==s&&!(i>=65&&i<=90&&i+32===s)&&!(s>=65&&s<=90&&s+32===i))return!1}return!0}_createOperationsForBlockComment(_,b,p,n,o,t){const i=_.startLineNumber,s=_.startColumn,g=_.endLineNumber,c=_.endColumn,l=o.getLineContent(i),a=o.getLineContent(g);let r=l.lastIndexOf(b,s-1+b.length),u=a.indexOf(p,c-1-p.length);if(r!==-1&&u!==-1)if(i===g)l.substring(r+b.length,u).indexOf(p)>=0&&(r=-1,u=-1);else{const f=l.substring(r+b.length),h=a.substring(0,u);(f.indexOf(p)>=0||h.indexOf(p)>=0)&&(r=-1,u=-1)}let C;r!==-1&&u!==-1?(n&&r+b.length<l.length&&l.charCodeAt(r+b.length)===32&&(b=b+\" \"),n&&u>0&&a.charCodeAt(u-1)===32&&(p=\" \"+p,u-=1),C=y._createRemoveBlockCommentOperations(new I.Range(i,r+b.length+1,g,u+1),b,p)):(C=y._createAddBlockCommentOperations(_,b,p,this._insertSpace),this._usedEndToken=C.length===1?p:null);for(const f of C)t.addTrackedEditOperation(f.range,f.text)}static _createRemoveBlockCommentOperations(_,b,p){const n=[];return I.Range.isEmpty(_)?n.push(d.EditOperation.delete(new I.Range(_.startLineNumber,_.startColumn-b.length,_.endLineNumber,_.endColumn+p.length))):(n.push(d.EditOperation.delete(new I.Range(_.startLineNumber,_.startColumn-b.length,_.startLineNumber,_.startColumn))),n.push(d.EditOperation.delete(new I.Range(_.endLineNumber,_.endColumn,_.endLineNumber,_.endColumn+p.length)))),n}static _createAddBlockCommentOperations(_,b,p,n){const o=[];return I.Range.isEmpty(_)?o.push(d.EditOperation.replace(new I.Range(_.startLineNumber,_.startColumn,_.endLineNumber,_.endColumn),b+\"  \"+p)):(o.push(d.EditOperation.insert(new k.Position(_.startLineNumber,_.startColumn),b+(n?\" \":\"\"))),o.push(d.EditOperation.insert(new k.Position(_.endLineNumber,_.endColumn),(n?\" \":\"\")+p))),o}getEditOperations(_,b){const p=this._selection.startLineNumber,n=this._selection.startColumn;_.tokenization.tokenizeIfCheap(p);const o=_.getLanguageIdAtPosition(p,n),t=this.languageConfigurationService.getLanguageConfiguration(o).comments;!t||!t.blockCommentStartToken||!t.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,t.blockCommentStartToken,t.blockCommentEndToken,this._insertSpace,_,b)}computeCursorState(_,b){const p=b.getInverseEditOperations();if(p.length===2){const n=p[0],o=p[1];return new E.Selection(n.range.endLineNumber,n.range.endColumn,o.range.startLineNumber,o.range.startColumn)}else{const n=p[0].range,o=this._usedEndToken?-this._usedEndToken.length-1:0;return new E.Selection(n.endLineNumber,n.endColumn+o,n.endLineNumber,n.endColumn+o)}}}e.BlockCommentCommand=y}),define(ne[609],se([1,0,11,75,9,4,23,333]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LineCommentCommand=void 0;class _{constructor(p,n,o,t,i,s,g){this.languageConfigurationService=p,this._selection=n,this._indentSize=o,this._type=t,this._insertSpace=i,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=g||!1}static _gatherPreflightCommentStrings(p,n,o,t){p.tokenization.tokenizeIfCheap(n);const i=p.getLanguageIdAtPosition(n,1),s=t.getLanguageConfiguration(i).comments,g=s?s.lineCommentToken:null;if(!g)return null;const c=[];for(let l=0,a=o-n+1;l<a;l++)c[l]={ignore:!1,commentStr:g,commentStrOffset:0,commentStrLength:g.length};return c}static _analyzeLines(p,n,o,t,i,s,g,c){let l=!0,a;p===0?a=!0:p===1?a=!1:a=!0;for(let r=0,u=t.length;r<u;r++){const C=t[r],f=i+r;if(f===i&&g){C.ignore=!0;continue}const h=o.getLineContent(f),v=d.firstNonWhitespaceIndex(h);if(v===-1){C.ignore=s,C.commentStrOffset=h.length;continue}if(l=!1,C.ignore=!1,C.commentStrOffset=v,a&&!m.BlockCommentCommand._haystackHasNeedleAtOffset(h,C.commentStr,v)&&(p===0?a=!1:p===1||(C.ignore=!0)),a&&n){const w=v+C.commentStrLength;w<h.length&&h.charCodeAt(w)===32&&(C.commentStrLength+=1)}}if(p===0&&l){a=!1;for(let r=0,u=t.length;r<u;r++)t[r].ignore=!1}return{supported:!0,shouldRemoveComments:a,lines:t}}static _gatherPreflightData(p,n,o,t,i,s,g,c){const l=_._gatherPreflightCommentStrings(o,t,i,c);return l===null?{supported:!1}:_._analyzeLines(p,n,o,l,t,s,g,c)}_executeLineComments(p,n,o,t){let i;o.shouldRemoveComments?i=_._createRemoveLineCommentsOperations(o.lines,t.startLineNumber):(_._normalizeInsertionPoint(p,o.lines,t.startLineNumber,this._indentSize),i=this._createAddLineCommentsOperations(o.lines,t.startLineNumber));const s=new I.Position(t.positionLineNumber,t.positionColumn);for(let g=0,c=i.length;g<c;g++)n.addEditOperation(i[g].range,i[g].text),E.Range.isEmpty(i[g].range)&&E.Range.getStartPosition(i[g].range).equals(s)&&p.getLineContent(s.lineNumber).length+1===s.column&&(this._deltaColumn=(i[g].text||\"\").length);this._selectionId=n.trackSelection(t)}_attemptRemoveBlockComment(p,n,o,t){let i=n.startLineNumber,s=n.endLineNumber;const g=t.length+Math.max(p.getLineFirstNonWhitespaceColumn(n.startLineNumber),n.startColumn);let c=p.getLineContent(i).lastIndexOf(o,g-1),l=p.getLineContent(s).indexOf(t,n.endColumn-1-o.length);return c!==-1&&l===-1&&(l=p.getLineContent(i).indexOf(t,c+o.length),s=i),c===-1&&l!==-1&&(c=p.getLineContent(s).lastIndexOf(o,l),i=s),n.isEmpty()&&(c===-1||l===-1)&&(c=p.getLineContent(i).indexOf(o),c!==-1&&(l=p.getLineContent(i).indexOf(t,c+o.length))),c!==-1&&p.getLineContent(i).charCodeAt(c+o.length)===32&&(o+=\" \"),l!==-1&&p.getLineContent(s).charCodeAt(l-1)===32&&(t=\" \"+t,l-=1),c!==-1&&l!==-1?m.BlockCommentCommand._createRemoveBlockCommentOperations(new E.Range(i,c+o.length+1,s,l+1),o,t):null}_executeBlockComment(p,n,o){p.tokenization.tokenizeIfCheap(o.startLineNumber);const t=p.getLanguageIdAtPosition(o.startLineNumber,1),i=this.languageConfigurationService.getLanguageConfiguration(t).comments;if(!i||!i.blockCommentStartToken||!i.blockCommentEndToken)return;const s=i.blockCommentStartToken,g=i.blockCommentEndToken;let c=this._attemptRemoveBlockComment(p,o,s,g);if(!c){if(o.isEmpty()){const l=p.getLineContent(o.startLineNumber);let a=d.firstNonWhitespaceIndex(l);a===-1&&(a=l.length),c=m.BlockCommentCommand._createAddBlockCommentOperations(new E.Range(o.startLineNumber,a+1,o.startLineNumber,l.length+1),s,g,this._insertSpace)}else c=m.BlockCommentCommand._createAddBlockCommentOperations(new E.Range(o.startLineNumber,p.getLineFirstNonWhitespaceColumn(o.startLineNumber),o.endLineNumber,p.getLineMaxColumn(o.endLineNumber)),s,g,this._insertSpace);c.length===1&&(this._deltaColumn=s.length+1)}this._selectionId=n.trackSelection(o);for(const l of c)n.addEditOperation(l.range,l.text)}getEditOperations(p,n){let o=this._selection;if(this._moveEndPositionDown=!1,o.startLineNumber===o.endLineNumber&&this._ignoreFirstLine){n.addEditOperation(new E.Range(o.startLineNumber,p.getLineMaxColumn(o.startLineNumber),o.startLineNumber+1,1),o.startLineNumber===p.getLineCount()?\"\":`\n`),this._selectionId=n.trackSelection(o);return}o.startLineNumber<o.endLineNumber&&o.endColumn===1&&(this._moveEndPositionDown=!0,o=o.setEndPosition(o.endLineNumber-1,p.getLineMaxColumn(o.endLineNumber-1)));const t=_._gatherPreflightData(this._type,this._insertSpace,p,o.startLineNumber,o.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return t.supported?this._executeLineComments(p,n,t,o):this._executeBlockComment(p,n,o)}computeCursorState(p,n){let o=n.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(o=o.setEndPosition(o.endLineNumber+1,1)),new y.Selection(o.selectionStartLineNumber,o.selectionStartColumn+this._deltaColumn,o.positionLineNumber,o.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(p,n){const o=[];for(let t=0,i=p.length;t<i;t++){const s=p[t];s.ignore||o.push(k.EditOperation.delete(new E.Range(n+t,s.commentStrOffset+1,n+t,s.commentStrOffset+s.commentStrLength+1)))}return o}_createAddLineCommentsOperations(p,n){const o=[],t=this._insertSpace?\" \":\"\";for(let i=0,s=p.length;i<s;i++){const g=p[i];g.ignore||o.push(k.EditOperation.insert(new I.Position(n+i,g.commentStrOffset+1),g.commentStr+t))}return o}static nextVisibleColumn(p,n,o,t){return o?p+(n-p%n):p+t}static _normalizeInsertionPoint(p,n,o,t){let i=1073741824,s,g;for(let c=0,l=n.length;c<l;c++){if(n[c].ignore)continue;const a=p.getLineContent(o+c);let r=0;for(let u=0,C=n[c].commentStrOffset;r<i&&u<C;u++)r=_.nextVisibleColumn(r,t,a.charCodeAt(u)===9,1);r<i&&(i=r)}i=Math.floor(i/t)*t;for(let c=0,l=n.length;c<l;c++){if(n[c].ignore)continue;const a=p.getLineContent(o+c);let r=0;for(s=0,g=n[c].commentStrOffset;r<i&&s<g;s++)r=_.nextVisibleColumn(r,t,a.charCodeAt(s)===9,1);r>i?n[c].commentStrOffset=s-1:n[c].commentStrOffset=s}}}e.LineCommentCommand=_}),define(ne[610],se([1,0,4,23]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DragAndDropCommand=void 0;class I{constructor(y,m,_){this.selection=y,this.targetPosition=m,this.copy=_,this.targetSelection=null}getEditOperations(y,m){const _=y.getValueInRange(this.selection);if(this.copy||m.addEditOperation(this.selection,null),m.addEditOperation(new d.Range(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),_),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new k.Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new k.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new k.Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new k.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new k.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(y,m){return this.targetSelection}}e.DragAndDropCommand=I}),define(ne[611],se([1,0,4]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReplaceAllCommand=void 0;class k{constructor(E,y,m){this._editorSelection=E,this._ranges=y,this._replaceStrings=m,this._trackedEditorSelectionId=null}getEditOperations(E,y){if(this._ranges.length>0){const m=[];for(let p=0;p<this._ranges.length;p++)m.push({range:this._ranges[p],text:this._replaceStrings[p]});m.sort((p,n)=>d.Range.compareRangesUsingStarts(p.range,n.range));const _=[];let b=m[0];for(let p=1;p<m.length;p++)b.range.endLineNumber===m[p].range.startLineNumber&&b.range.endColumn===m[p].range.startColumn?(b.range=b.range.plusRange(m[p].range),b.text=b.text+m[p].text):(_.push(b),b=m[p]);_.push(b);for(const p of _)y.addEditOperation(p.range,p.text)}this._trackedEditorSelectionId=y.trackSelection(this._editorSelection)}computeCursorState(E,y){return y.getTrackedSelection(this._trackedEditorSelectionId)}}e.ReplaceAllCommand=k}),define(ne[612],se([1,0,455]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReplacePiece=e.ReplacePattern=void 0,e.parseReplaceString=_;class k{constructor(p){this.staticValue=p,this.kind=0}}class I{constructor(p){this.pieces=p,this.kind=1}}class E{static fromStaticValue(p){return new E([y.staticValue(p)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(p){!p||p.length===0?this._state=new k(\"\"):p.length===1&&p[0].staticValue!==null?this._state=new k(p[0].staticValue):this._state=new I(p)}buildReplaceString(p,n){if(this._state.kind===0)return n?(0,d.buildReplaceStringWithCasePreserved)(p,this._state.staticValue):this._state.staticValue;let o=\"\";for(let t=0,i=this._state.pieces.length;t<i;t++){const s=this._state.pieces[t];if(s.staticValue!==null){o+=s.staticValue;continue}let g=E._substitute(s.matchIndex,p);if(s.caseOps!==null&&s.caseOps.length>0){const c=[],l=s.caseOps.length;let a=0;for(let r=0,u=g.length;r<u;r++){if(a>=l){c.push(g.slice(r));break}switch(s.caseOps[a]){case\"U\":c.push(g[r].toUpperCase());break;case\"u\":c.push(g[r].toUpperCase()),a++;break;case\"L\":c.push(g[r].toLowerCase());break;case\"l\":c.push(g[r].toLowerCase()),a++;break;default:c.push(g[r])}}g=c.join(\"\")}o+=g}return o}static _substitute(p,n){if(n===null)return\"\";if(p===0)return n[0];let o=\"\";for(;p>0;){if(p<n.length)return(n[p]||\"\")+o;o=String(p%10)+o,p=Math.floor(p/10)}return\"$\"+o}}e.ReplacePattern=E;class y{static staticValue(p){return new y(p,-1,null)}static caseOps(p,n){return new y(null,p,n)}constructor(p,n,o){this.staticValue=p,this.matchIndex=n,!o||o.length===0?this.caseOps=null:this.caseOps=o.slice(0)}}e.ReplacePiece=y;class m{constructor(p){this._source=p,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=\"\"}emitUnchanged(p){this._emitStatic(this._source.substring(this._lastCharIndex,p)),this._lastCharIndex=p}emitStatic(p,n){this._emitStatic(p),this._lastCharIndex=n}_emitStatic(p){p.length!==0&&(this._currentStaticPiece+=p)}emitMatchIndex(p,n,o){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=y.staticValue(this._currentStaticPiece),this._currentStaticPiece=\"\"),this._result[this._resultLen++]=y.caseOps(p,o),this._lastCharIndex=n}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=y.staticValue(this._currentStaticPiece),this._currentStaticPiece=\"\"),new E(this._result)}}function _(b){if(!b||b.length===0)return new E(null);const p=[],n=new m(b);for(let o=0,t=b.length;o<t;o++){const i=b.charCodeAt(o);if(i===92){if(o++,o>=t)break;const s=b.charCodeAt(o);switch(s){case 92:n.emitUnchanged(o-1),n.emitStatic(\"\\\\\",o+1);break;case 110:n.emitUnchanged(o-1),n.emitStatic(`\n`,o+1);break;case 116:n.emitUnchanged(o-1),n.emitStatic(\"\t\",o+1);break;case 117:case 85:case 108:case 76:n.emitUnchanged(o-1),n.emitStatic(\"\",o+1),p.push(String.fromCharCode(s));break}continue}if(i===36){if(o++,o>=t)break;const s=b.charCodeAt(o);if(s===36){n.emitUnchanged(o-1),n.emitStatic(\"$\",o+1);continue}if(s===48||s===38){n.emitUnchanged(o-1),n.emitMatchIndex(0,o+1,p),p.length=0;continue}if(49<=s&&s<=57){let g=s-48;if(o+1<t){const c=b.charCodeAt(o+1);if(48<=c&&c<=57){o++,g=g*10+(c-48),n.emitUnchanged(o-2),n.emitMatchIndex(g,o+1,p),p.length=0;continue}}n.emitUnchanged(o-1),n.emitMatchIndex(g,o+1,p),p.length=0;continue}}}return n.finalize()}}),define(ne[203],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FoldingRegion=e.FoldingRegions=e.MAX_LINE_NUMBER=e.MAX_FOLDING_REGIONS=e.foldSourceAbbr=void 0,e.foldSourceAbbr={0:\" \",1:\"u\",2:\"r\"},e.MAX_FOLDING_REGIONS=65535,e.MAX_LINE_NUMBER=16777215;const d=4278190080;class k{constructor(m){const _=Math.ceil(m/32);this._states=new Uint32Array(_)}get(m){const _=m/32|0,b=m%32;return(this._states[_]&1<<b)!==0}set(m,_){const b=m/32|0,p=m%32,n=this._states[b];_?this._states[b]=n|1<<p:this._states[b]=n&~(1<<p)}}class I{constructor(m,_,b){if(m.length!==_.length||m.length>e.MAX_FOLDING_REGIONS)throw new Error(\"invalid startIndexes or endIndexes size\");this._startIndexes=m,this._endIndexes=_,this._collapseStates=new k(m.length),this._userDefinedStates=new k(m.length),this._recoveredStates=new k(m.length),this._types=b,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const m=[],_=(b,p)=>{const n=m[m.length-1];return this.getStartLineNumber(n)<=b&&this.getEndLineNumber(n)>=p};for(let b=0,p=this._startIndexes.length;b<p;b++){const n=this._startIndexes[b],o=this._endIndexes[b];if(n>e.MAX_LINE_NUMBER||o>e.MAX_LINE_NUMBER)throw new Error(\"startLineNumber or endLineNumber must not exceed \"+e.MAX_LINE_NUMBER);for(;m.length>0&&!_(n,o);)m.pop();const t=m.length>0?m[m.length-1]:-1;m.push(b),this._startIndexes[b]=n+((t&255)<<24),this._endIndexes[b]=o+((t&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(m){return this._startIndexes[m]&e.MAX_LINE_NUMBER}getEndLineNumber(m){return this._endIndexes[m]&e.MAX_LINE_NUMBER}getType(m){return this._types?this._types[m]:void 0}hasTypes(){return!!this._types}isCollapsed(m){return this._collapseStates.get(m)}setCollapsed(m,_){this._collapseStates.set(m,_)}isUserDefined(m){return this._userDefinedStates.get(m)}setUserDefined(m,_){return this._userDefinedStates.set(m,_)}isRecovered(m){return this._recoveredStates.get(m)}setRecovered(m,_){return this._recoveredStates.set(m,_)}getSource(m){return this.isUserDefined(m)?1:this.isRecovered(m)?2:0}setSource(m,_){_===1?(this.setUserDefined(m,!0),this.setRecovered(m,!1)):_===2?(this.setUserDefined(m,!1),this.setRecovered(m,!0)):(this.setUserDefined(m,!1),this.setRecovered(m,!1))}setCollapsedAllOfType(m,_){let b=!1;if(this._types)for(let p=0;p<this._types.length;p++)this._types[p]===m&&(this.setCollapsed(p,_),b=!0);return b}toRegion(m){return new E(this,m)}getParentIndex(m){this.ensureParentIndices();const _=((this._startIndexes[m]&d)>>>24)+((this._endIndexes[m]&d)>>>16);return _===e.MAX_FOLDING_REGIONS?-1:_}contains(m,_){return this.getStartLineNumber(m)<=_&&this.getEndLineNumber(m)>=_}findIndex(m){let _=0,b=this._startIndexes.length;if(b===0)return-1;for(;_<b;){const p=Math.floor((_+b)/2);m<this.getStartLineNumber(p)?b=p:_=p+1}return _-1}findRange(m){let _=this.findIndex(m);if(_>=0){if(this.getEndLineNumber(_)>=m)return _;for(_=this.getParentIndex(_);_!==-1;){if(this.contains(_,m))return _;_=this.getParentIndex(_)}}return-1}toString(){const m=[];for(let _=0;_<this.length;_++)m[_]=`[${e.foldSourceAbbr[this.getSource(_)]}${this.isCollapsed(_)?\"+\":\"-\"}] ${this.getStartLineNumber(_)}/${this.getEndLineNumber(_)}`;return m.join(\", \")}toFoldRange(m){return{startLineNumber:this._startIndexes[m]&e.MAX_LINE_NUMBER,endLineNumber:this._endIndexes[m]&e.MAX_LINE_NUMBER,type:this._types?this._types[m]:void 0,isCollapsed:this.isCollapsed(m),source:this.getSource(m)}}static fromFoldRanges(m){const _=m.length,b=new Uint32Array(_),p=new Uint32Array(_);let n=[],o=!1;for(let i=0;i<_;i++){const s=m[i];b[i]=s.startLineNumber,p[i]=s.endLineNumber,n.push(s.type),s.type&&(o=!0)}o||(n=void 0);const t=new I(b,p,n);for(let i=0;i<_;i++)m[i].isCollapsed&&t.setCollapsed(i,!0),t.setSource(i,m[i].source);return t}static sanitizeAndMerge(m,_,b,p){b=b??Number.MAX_VALUE;const n=(C,f)=>Array.isArray(C)?h=>h<f?C[h]:void 0:h=>h<f?C.toFoldRange(h):void 0,o=n(m,m.length),t=n(_,_.length);let i=0,s=0,g=o(0),c=t(0);const l=[];let a,r=0;const u=[];for(;g||c;){let C;if(c&&(!g||g.startLineNumber>=c.startLineNumber))g&&g.startLineNumber===c.startLineNumber?(c.source===1?C=c:(C=g,C.isCollapsed=c.isCollapsed&&(g.endLineNumber===c.endLineNumber||!p?.startsInside(g.startLineNumber+1,g.endLineNumber+1)),C.source=0),g=o(++i)):(C=c,c.isCollapsed&&c.source===0&&(C.source=2)),c=t(++s);else{let f=s,h=c;for(;;){if(!h||h.startLineNumber>g.endLineNumber){C=g;break}if(h.source===1&&h.endLineNumber>g.endLineNumber)break;h=t(++f)}g=o(++i)}if(C){for(;a&&a.endLineNumber<C.startLineNumber;)a=l.pop();C.endLineNumber>C.startLineNumber&&C.startLineNumber>r&&C.endLineNumber<=b&&(!a||a.endLineNumber>=C.endLineNumber)&&(u.push(C),r=C.startLineNumber,a&&l.push(a),a=C)}}return u}}e.FoldingRegions=I;class E{constructor(m,_){this.ranges=m,this.index=_}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(m){return m.startLineNumber<=this.startLineNumber&&m.endLineNumber>=this.endLineNumber}containsLine(m){return this.startLineNumber<=m&&m<=this.endLineNumber}}e.FoldingRegion=E}),define(ne[334],se([1,0,6,203,129]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FoldingModel=void 0,e.toggleCollapseState=y,e.setCollapseStateLevelsDown=m,e.setCollapseStateLevelsUp=_,e.setCollapseStateUp=b,e.setCollapseStateAtLevel=p,e.setCollapseStateForRest=n,e.setCollapseStateForMatchingLines=o,e.setCollapseStateForType=t,e.getParentFoldLine=i,e.getPreviousFoldLine=s,e.getNextFoldLine=g;class E{get regions(){return this._regions}get textModel(){return this._textModel}constructor(l,a){this._updateEventEmitter=new d.Emitter,this.onDidChange=this._updateEventEmitter.event,this._textModel=l,this._decorationProvider=a,this._regions=new k.FoldingRegions(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(l){if(!l.length)return;l=l.sort((r,u)=>r.regionIndex-u.regionIndex);const a={};this._decorationProvider.changeDecorations(r=>{let u=0,C=-1,f=-1;const h=v=>{for(;u<v;){const w=this._regions.getEndLineNumber(u),S=this._regions.isCollapsed(u);if(w<=C){const L=this.regions.getSource(u)!==0;r.changeDecorationOptions(this._editorDecorationIds[u],this._decorationProvider.getDecorationOption(S,w<=f,L))}S&&w>f&&(f=w),u++}};for(const v of l){const w=v.regionIndex,S=this._editorDecorationIds[w];if(S&&!a[S]){a[S]=!0,h(w);const L=!this._regions.isCollapsed(w);this._regions.setCollapsed(w,L),C=Math.max(C,this._regions.getEndLineNumber(w))}}h(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:l})}removeManualRanges(l){const a=new Array,r=u=>{for(const C of l)if(!(C.startLineNumber>u.endLineNumber||u.startLineNumber>C.endLineNumber))return!0;return!1};for(let u=0;u<this._regions.length;u++){const C=this._regions.toFoldRange(u);(C.source===0||!r(C))&&a.push(C)}this.updatePost(k.FoldingRegions.fromFoldRanges(a))}update(l,a){const r=this._currentFoldedOrManualRanges(a),u=k.FoldingRegions.sanitizeAndMerge(l,r,this._textModel.getLineCount(),a);this.updatePost(k.FoldingRegions.fromFoldRanges(u))}updatePost(l){const a=[];let r=-1;for(let u=0,C=l.length;u<C;u++){const f=l.getStartLineNumber(u),h=l.getEndLineNumber(u),v=l.isCollapsed(u),w=l.getSource(u)!==0,S={startLineNumber:f,startColumn:this._textModel.getLineMaxColumn(f),endLineNumber:h,endColumn:this._textModel.getLineMaxColumn(h)+1};a.push({range:S,options:this._decorationProvider.getDecorationOption(v,h<=r,w)}),v&&h>r&&(r=h)}this._decorationProvider.changeDecorations(u=>this._editorDecorationIds=u.deltaDecorations(this._editorDecorationIds,a)),this._regions=l,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(l){const a=[];for(let r=0,u=this._regions.length;r<u;r++){let C=this.regions.isCollapsed(r);const f=this.regions.getSource(r);if(C||f!==0){const h=this._regions.toFoldRange(r),v=this._textModel.getDecorationRange(this._editorDecorationIds[r]);v&&(C&&l?.startsInside(v.startLineNumber+1,v.endLineNumber)&&(C=!1),a.push({startLineNumber:v.startLineNumber,endLineNumber:v.endLineNumber,type:h.type,isCollapsed:C,source:f}))}}return a}getMemento(){const l=this._currentFoldedOrManualRanges(),a=[],r=this._textModel.getLineCount();for(let u=0,C=l.length;u<C;u++){const f=l[u];if(f.startLineNumber>=f.endLineNumber||f.startLineNumber<1||f.endLineNumber>r)continue;const h=this._getLinesChecksum(f.startLineNumber+1,f.endLineNumber);a.push({startLineNumber:f.startLineNumber,endLineNumber:f.endLineNumber,isCollapsed:f.isCollapsed,source:f.source,checksum:h})}return a.length>0?a:void 0}applyMemento(l){if(!Array.isArray(l))return;const a=[],r=this._textModel.getLineCount();for(const C of l){if(C.startLineNumber>=C.endLineNumber||C.startLineNumber<1||C.endLineNumber>r)continue;const f=this._getLinesChecksum(C.startLineNumber+1,C.endLineNumber);(!C.checksum||f===C.checksum)&&a.push({startLineNumber:C.startLineNumber,endLineNumber:C.endLineNumber,type:void 0,isCollapsed:C.isCollapsed??!0,source:C.source??0})}const u=k.FoldingRegions.sanitizeAndMerge(this._regions,a,r);this.updatePost(k.FoldingRegions.fromFoldRanges(u))}_getLinesChecksum(l,a){return(0,I.hash)(this._textModel.getLineContent(l)+this._textModel.getLineContent(a))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(l,a){const r=[];if(this._regions){let u=this._regions.findRange(l),C=1;for(;u>=0;){const f=this._regions.toRegion(u);(!a||a(f,C))&&r.push(f),C++,u=f.parentIndex}}return r}getRegionAtLine(l){if(this._regions){const a=this._regions.findRange(l);if(a>=0)return this._regions.toRegion(a)}return null}getRegionsInside(l,a){const r=[],u=l?l.regionIndex+1:0,C=l?l.endLineNumber:Number.MAX_VALUE;if(a&&a.length===2){const f=[];for(let h=u,v=this._regions.length;h<v;h++){const w=this._regions.toRegion(h);if(this._regions.getStartLineNumber(h)<C){for(;f.length>0&&!w.containedBy(f[f.length-1]);)f.pop();f.push(w),a(w,f.length)&&r.push(w)}else break}}else for(let f=u,h=this._regions.length;f<h;f++){const v=this._regions.toRegion(f);if(this._regions.getStartLineNumber(f)<C)(!a||a(v))&&r.push(v);else break}return r}}e.FoldingModel=E;function y(c,l,a){const r=[];for(const u of a){const C=c.getRegionAtLine(u);if(C){const f=!C.isCollapsed;if(r.push(C),l>1){const h=c.getRegionsInside(C,(v,w)=>v.isCollapsed!==f&&w<l);r.push(...h)}}}c.toggleCollapseState(r)}function m(c,l,a=Number.MAX_VALUE,r){const u=[];if(r&&r.length>0)for(const C of r){const f=c.getRegionAtLine(C);if(f&&(f.isCollapsed!==l&&u.push(f),a>1)){const h=c.getRegionsInside(f,(v,w)=>v.isCollapsed!==l&&w<a);u.push(...h)}}else{const C=c.getRegionsInside(null,(f,h)=>f.isCollapsed!==l&&h<a);u.push(...C)}c.toggleCollapseState(u)}function _(c,l,a,r){const u=[];for(const C of r){const f=c.getAllRegionsAtLine(C,(h,v)=>h.isCollapsed!==l&&v<=a);u.push(...f)}c.toggleCollapseState(u)}function b(c,l,a){const r=[];for(const u of a){const C=c.getAllRegionsAtLine(u,f=>f.isCollapsed!==l);C.length>0&&r.push(C[0])}c.toggleCollapseState(r)}function p(c,l,a,r){const u=(f,h)=>h===l&&f.isCollapsed!==a&&!r.some(v=>f.containsLine(v)),C=c.getRegionsInside(null,u);c.toggleCollapseState(C)}function n(c,l,a){const r=[];for(const f of a){const h=c.getAllRegionsAtLine(f,void 0);h.length>0&&r.push(h[0])}const u=f=>r.every(h=>!h.containedBy(f)&&!f.containedBy(h))&&f.isCollapsed!==l,C=c.getRegionsInside(null,u);c.toggleCollapseState(C)}function o(c,l,a){const r=c.textModel,u=c.regions,C=[];for(let f=u.length-1;f>=0;f--)if(a!==u.isCollapsed(f)){const h=u.getStartLineNumber(f);l.test(r.getLineContent(h))&&C.push(u.toRegion(f))}c.toggleCollapseState(C)}function t(c,l,a){const r=c.regions,u=[];for(let C=r.length-1;C>=0;C--)a!==r.isCollapsed(C)&&l===r.getType(C)&&u.push(r.toRegion(C));c.toggleCollapseState(u)}function i(c,l){let a=null;const r=l.getRegionAtLine(c);if(r!==null&&(a=r.startLineNumber,c===a)){const u=r.parentIndex;u!==-1?a=l.regions.getStartLineNumber(u):a=null}return a}function s(c,l){let a=l.getRegionAtLine(c);if(a!==null&&a.startLineNumber===c){if(c!==a.startLineNumber)return a.startLineNumber;{const r=a.parentIndex;let u=0;for(r!==-1&&(u=l.regions.getStartLineNumber(a.parentIndex));a!==null;)if(a.regionIndex>0){if(a=l.regions.toRegion(a.regionIndex-1),a.startLineNumber<=u)return null;if(a.parentIndex===r)return a.startLineNumber}else return null}}else if(l.regions.length>0)for(a=l.regions.toRegion(l.regions.length-1);a!==null;){if(a.startLineNumber<c)return a.startLineNumber;a.regionIndex>0?a=l.regions.toRegion(a.regionIndex-1):a=null}return null}function g(c,l){let a=l.getRegionAtLine(c);if(a!==null&&a.startLineNumber===c){const r=a.parentIndex;let u=0;if(r!==-1)u=l.regions.getEndLineNumber(a.parentIndex);else{if(l.regions.length===0)return null;u=l.regions.getEndLineNumber(l.regions.length-1)}for(;a!==null;)if(a.regionIndex<l.regions.length){if(a=l.regions.toRegion(a.regionIndex+1),a.startLineNumber>=u)return null;if(a.parentIndex===r)return a.startLineNumber}else return null}else if(l.regions.length>0)for(a=l.regions.toRegion(0);a!==null;){if(a.startLineNumber>c)return a.startLineNumber;a.regionIndex<l.regions.length?a=l.regions.toRegion(a.regionIndex+1):a=null}return null}}),define(ne[613],se([1,0,67,6,4,145]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HiddenRangeModel=void 0;class y{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(p){this._updateEventEmitter=new k.Emitter,this._hasLineChanges=!1,this._foldingModel=p,this._foldingModelListener=p.onDidChange(n=>this.updateHiddenRanges()),this._hiddenRanges=[],p.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(p){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=p.changes.some(n=>n.range.endLineNumber!==n.range.startLineNumber||(0,E.countEOL)(n.text)[0]!==0))}updateHiddenRanges(){let p=!1;const n=[];let o=0,t=0,i=Number.MAX_VALUE,s=-1;const g=this._foldingModel.regions;for(;o<g.length;o++){if(!g.isCollapsed(o))continue;const c=g.getStartLineNumber(o)+1,l=g.getEndLineNumber(o);i<=c&&l<=s||(!p&&t<this._hiddenRanges.length&&this._hiddenRanges[t].startLineNumber===c&&this._hiddenRanges[t].endLineNumber===l?(n.push(this._hiddenRanges[t]),t++):(p=!0,n.push(new I.Range(c,1,l,1))),i=c,s=l)}(this._hasLineChanges||p||t<this._hiddenRanges.length)&&this.applyHiddenRanges(n)}applyHiddenRanges(p){this._hiddenRanges=p,this._hasLineChanges=!1,this._updateEventEmitter.fire(p)}hasRanges(){return this._hiddenRanges.length>0}isHidden(p){return _(this._hiddenRanges,p)!==null}adjustSelections(p){let n=!1;const o=this._foldingModel.textModel;let t=null;const i=s=>((!t||!m(s,t))&&(t=_(this._hiddenRanges,s)),t?t.startLineNumber-1:null);for(let s=0,g=p.length;s<g;s++){let c=p[s];const l=i(c.startLineNumber);l&&(c=c.setStartPosition(l,o.getLineMaxColumn(l)),n=!0);const a=i(c.endLineNumber);a&&(c=c.setEndPosition(a,o.getLineMaxColumn(a)),n=!0),p[s]=c}return n}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}e.HiddenRangeModel=y;function m(b,p){return b>=p.startLineNumber&&b<=p.endLineNumber}function _(b,p){const n=(0,d.findFirstIdxMonotonousOrArrLen)(b,o=>p<o.startLineNumber)-1;return n>=0&&b[n].endLineNumber>=p?b[n]:null}}),define(ne[335],se([1,0,237,203]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RangesCollector=e.IndentRangeProvider=void 0,e.computeRanges=b;const I=5e3,E=\"indent\";class y{constructor(n,o,t){this.editorModel=n,this.languageConfigurationService=o,this.foldingRangesLimit=t,this.id=E}dispose(){}compute(n){const o=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,t=o&&!!o.offSide,i=o&&o.markers;return Promise.resolve(b(this.editorModel,t,i,this.foldingRangesLimit))}}e.IndentRangeProvider=y;class m{constructor(n){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=n}insertFirst(n,o,t){if(n>k.MAX_LINE_NUMBER||o>k.MAX_LINE_NUMBER)return;const i=this._length;this._startIndexes[i]=n,this._endIndexes[i]=o,this._length++,t<1e3&&(this._indentOccurrences[t]=(this._indentOccurrences[t]||0)+1)}toIndentRanges(n){const o=this._foldingRangesLimit.limit;if(this._length<=o){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let s=this._length-1,g=0;s>=0;s--,g++)t[g]=this._startIndexes[s],i[g]=this._endIndexes[s];return new k.FoldingRegions(t,i)}else{this._foldingRangesLimit.update(this._length,o);let t=0,i=this._indentOccurrences.length;for(let l=0;l<this._indentOccurrences.length;l++){const a=this._indentOccurrences[l];if(a){if(a+t>o){i=l;break}t+=a}}const s=n.getOptions().tabSize,g=new Uint32Array(o),c=new Uint32Array(o);for(let l=this._length-1,a=0;l>=0;l--){const r=this._startIndexes[l],u=n.getLineContent(r),C=(0,d.computeIndentLevel)(u,s);(C<i||C===i&&t++<o)&&(g[a]=r,c[a]=this._endIndexes[l],a++)}return new k.FoldingRegions(g,c)}}}e.RangesCollector=m;const _={limit:I,update:()=>{}};function b(p,n,o,t=_){const i=p.getOptions().tabSize,s=new m(t);let g;o&&(g=new RegExp(`(${o.start.source})|(?:${o.end.source})`));const c=[],l=p.getLineCount()+1;c.push({indent:-1,endAbove:l,line:l});for(let a=p.getLineCount();a>0;a--){const r=p.getLineContent(a),u=(0,d.computeIndentLevel)(r,i);let C=c[c.length-1];if(u===-1){n&&(C.endAbove=a);continue}let f;if(g&&(f=r.match(g)))if(f[1]){let h=c.length-1;for(;h>0&&c[h].indent!==-2;)h--;if(h>0){c.length=h+1,C=c[h],s.insertFirst(a,C.line,u),C.line=a,C.indent=u,C.endAbove=a;continue}}else{c.push({indent:-2,endAbove:a,line:a});continue}if(C.indent>u){do c.pop(),C=c[c.length-1];while(C.indent>u);const h=C.endAbove-1;h-a>=1&&s.insertFirst(a,h,u)}C.indent===u?C.endAbove=a:c.push({indent:u,endAbove:a,line:a})}return s.toIndentRanges(p)}}),define(ne[336],se([1,0,8,2,203]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SyntaxRangeProvider=void 0,e.sanitizeRanges=p;const E={},y=\"syntax\";class m{constructor(o,t,i,s,g){this.editorModel=o,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=s,this.fallbackRangeProvider=g,this.id=y,this.disposables=new k.DisposableStore,g&&this.disposables.add(g);for(const c of t)typeof c.onDidChange==\"function\"&&this.disposables.add(c.onDidChange(i))}compute(o){return _(this.providers,this.editorModel,o).then(t=>t?p(t,this.foldingRangesLimit):this.fallbackRangeProvider?.compute(o)??null)}dispose(){this.disposables.dispose()}}e.SyntaxRangeProvider=m;function _(n,o,t){let i=null;const s=n.map((g,c)=>Promise.resolve(g.provideFoldingRanges(o,E,t)).then(l=>{if(!t.isCancellationRequested&&Array.isArray(l)){Array.isArray(i)||(i=[]);const a=o.getLineCount();for(const r of l)r.start>0&&r.end>r.start&&r.end<=a&&i.push({start:r.start,end:r.end,rank:c,kind:r.kind})}},d.onUnexpectedExternalError));return Promise.all(s).then(g=>i)}class b{constructor(o){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=o}add(o,t,i,s){if(o>I.MAX_LINE_NUMBER||t>I.MAX_LINE_NUMBER)return;const g=this._length;this._startIndexes[g]=o,this._endIndexes[g]=t,this._nestingLevels[g]=s,this._types[g]=i,this._length++,s<30&&(this._nestingLevelCounts[s]=(this._nestingLevelCounts[s]||0)+1)}toIndentRanges(){const o=this._foldingRangesLimit.limit;if(this._length<=o){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let s=0;s<this._length;s++)t[s]=this._startIndexes[s],i[s]=this._endIndexes[s];return new I.FoldingRegions(t,i,this._types)}else{this._foldingRangesLimit.update(this._length,o);let t=0,i=this._nestingLevelCounts.length;for(let l=0;l<this._nestingLevelCounts.length;l++){const a=this._nestingLevelCounts[l];if(a){if(a+t>o){i=l;break}t+=a}}const s=new Uint32Array(o),g=new Uint32Array(o),c=[];for(let l=0,a=0;l<this._length;l++){const r=this._nestingLevels[l];(r<i||r===i&&t++<o)&&(s[a]=this._startIndexes[l],g[a]=this._endIndexes[l],c[a]=this._types[l],a++)}return new I.FoldingRegions(s,g,c)}}}function p(n,o){const t=n.sort((c,l)=>{let a=c.start-l.start;return a===0&&(a=c.rank-l.rank),a}),i=new b(o);let s;const g=[];for(const c of t)if(!s)s=c,i.add(c.start,c.end,c.kind&&c.kind.value,g.length);else if(c.start>s.start)if(c.end<=s.end)g.push(s),s=c,i.add(c.start,c.end,c.kind&&c.kind.value,g.length);else{if(c.start>s.end){do s=g.pop();while(s&&c.start>s.end);s&&g.push(s),s=c}i.add(c.start,c.end,c.kind&&c.kind.value,g.length)}return i.toIndentRanges()}}),define(ne[337],se([1,0,75,4,143]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FormattingEdit=void 0;class E{static _handleEolEdits(m,_){let b;const p=[];for(const n of _)typeof n.eol==\"number\"&&(b=n.eol),n.range&&typeof n.text==\"string\"&&p.push(n);return typeof b==\"number\"&&m.hasModel()&&m.getModel().pushEOL(b),p}static _isFullModelReplaceEdit(m,_){if(!m.hasModel())return!1;const b=m.getModel(),p=b.validateRange(_.range);return b.getFullModelRange().equalsRange(p)}static execute(m,_,b){b&&m.pushUndoStop();const p=I.StableEditorScrollState.capture(m),n=E._handleEolEdits(m,_);n.length===1&&E._isFullModelReplaceEdit(m,n[0])?m.executeEdits(\"formatEditsCommand\",n.map(o=>d.EditOperation.replace(k.Range.lift(o.range),o.text))):m.executeEdits(\"formatEditsCommand\",n.map(o=>d.EditOperation.replaceMove(k.Range.lift(o.range),o.text))),b&&m.pushUndoStop(),p.restoreRelativeVerticalPositionOfCursor(m)}}e.FormattingEdit=E}),define(ne[614],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FilteredHoverResult=e.HoverResult=void 0;class d{constructor(E,y,m){this.anchor=E,this.hoverParts=y,this.isComplete=m}filter(E){const y=this.hoverParts.filter(m=>m.isValidForHoverAnchor(E));return y.length===this.hoverParts.length?this:new k(this,this.anchor,y,this.isComplete)}}e.HoverResult=d;class k extends d{constructor(E,y,m,_){super(y,m,_),this.original=E}filter(E){return this.original.filter(E)}}e.FilteredHoverResult=k}),define(ne[615],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExtHoverAccessibleView=e.HoverAccessibilityHelp=e.HoverAccessibleView=void 0;class d{}e.HoverAccessibleView=d;class k{}e.HoverAccessibilityHelp=k;class I{}e.ExtHoverAccessibleView=I}),define(ne[84],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HoverParticipantRegistry=e.RenderedHoverParts=e.HoverForeignElementAnchor=e.HoverRangeAnchor=void 0;class d{constructor(y,m,_,b){this.priority=y,this.range=m,this.initialMousePosX=_,this.initialMousePosY=b,this.type=1}equals(y){return y.type===1&&this.range.equalsRange(y.range)}canAdoptVisibleHover(y,m){return y.type===1&&m.lineNumber===this.range.startLineNumber}}e.HoverRangeAnchor=d;class k{constructor(y,m,_,b,p,n){this.priority=y,this.owner=m,this.range=_,this.initialMousePosX=b,this.initialMousePosY=p,this.supportsMarkerHover=n,this.type=2}equals(y){return y.type===2&&this.owner===y.owner}canAdoptVisibleHover(y,m){return y.type===2&&this.owner===y.owner}}e.HoverForeignElementAnchor=k;class I{constructor(y){this.renderedHoverParts=y}dispose(){for(const y of this.renderedHoverParts)y.dispose()}}e.RenderedHoverParts=I,e.HoverParticipantRegistry=new class{constructor(){this._participants=[]}register(y){this._participants.push(y)}getAll(){return this._participants}}}),define(ne[616],se([1,0,23]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InPlaceReplaceCommand=void 0;class k{constructor(E,y,m){this._editRange=E,this._originalSelection=y,this._text=m}getEditOperations(E,y){y.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(E,y){const _=y.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new d.Selection(_.endLineNumber,Math.min(this._originalSelection.positionColumn,_.endColumn),_.endLineNumber,Math.min(this._originalSelection.positionColumn,_.endColumn)):new d.Selection(_.endLineNumber,_.endColumn-this._text.length,_.endLineNumber,_.endColumn)}}e.InPlaceReplaceCommand=k}),define(ne[338],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getSpaceCnt=d,e.generateIndent=k;function d(I,E){let y=0;for(let m=0;m<I.length;m++)I.charAt(m)===\"\t\"?y+=E:y++;return y}function k(I,E,y){I=I<0?0:I;let m=\"\";if(!y){const _=Math.floor(I/E);I=I%E;for(let b=0;b<_;b++)m+=\"\t\"}for(let _=0;_<I;_++)m+=\" \";return m}}),define(ne[245],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.showNextInlineSuggestionActionId=e.showPreviousInlineSuggestionActionId=e.inlineSuggestCommitId=void 0,e.inlineSuggestCommitId=\"editor.action.inlineSuggest.commit\",e.showPreviousInlineSuggestionActionId=\"editor.action.inlineSuggest.showPrevious\",e.showNextInlineSuggestionActionId=\"editor.action.inlineSuggest.showNext\"}),define(ne[617],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineCompletionsAccessibleView=void 0;class d{}e.InlineCompletionsAccessibleView=d}),define(ne[204],se([1,0,13,11,9,4,104]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GhostTextReplacement=e.GhostTextPart=e.GhostText=void 0,e.ghostTextsOrReplacementsEqual=p,e.ghostTextOrReplacementEquals=n;class m{constructor(t,i){this.lineNumber=t,this.parts=i}equals(t){return this.lineNumber===t.lineNumber&&this.parts.length===t.parts.length&&this.parts.every((i,s)=>i.equals(t.parts[s]))}renderForScreenReader(t){if(this.parts.length===0)return\"\";const i=this.parts[this.parts.length-1],s=t.substr(0,i.column-1);return new y.TextEdit([...this.parts.map(c=>new y.SingleTextEdit(E.Range.fromPositions(new I.Position(1,c.column)),c.lines.join(`\n`)))]).applyToString(s).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(t=>t.lines.length===0)}get lineCount(){return 1+this.parts.reduce((t,i)=>t+i.lines.length-1,0)}}e.GhostText=m;class _{constructor(t,i,s){this.column=t,this.text=i,this.preview=s,this.lines=(0,k.splitLines)(this.text)}equals(t){return this.column===t.column&&this.lines.length===t.lines.length&&this.lines.every((i,s)=>i===t.lines[s])}}e.GhostTextPart=_;class b{constructor(t,i,s,g=0){this.lineNumber=t,this.columnRange=i,this.text=s,this.additionalReservedLineCount=g,this.parts=[new _(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=(0,k.splitLines)(this.text)}renderForScreenReader(t){return this.newLines.join(`\n`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(t=>t.lines.length===0)}equals(t){return this.lineNumber===t.lineNumber&&this.columnRange.equals(t.columnRange)&&this.newLines.length===t.newLines.length&&this.newLines.every((i,s)=>i===t.newLines[s])&&this.additionalReservedLineCount===t.additionalReservedLineCount}}e.GhostTextReplacement=b;function p(o,t){return(0,d.equals)(o,t,n)}function n(o,t){return o===t?!0:!o||!t?!1:o instanceof m&&t instanceof m||o instanceof b&&t instanceof b?o.equals(t):!1}}),define(ne[246],se([1,0,190,11,4,113,104,204]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.singleTextRemoveCommonPrefix=_,e.singleTextEditAugments=b,e.computeGhostText=p;function _(g,c,l){const a=l?g.range.intersectRanges(l):g.range;if(!a)return g;const r=c.getValueInRange(a,1),u=(0,k.commonPrefixLength)(r,g.text),C=E.TextLength.ofText(r.substring(0,u)).addToPosition(g.range.getStartPosition()),f=g.text.substring(u),h=I.Range.fromPositions(C,g.range.getEndPosition());return new y.SingleTextEdit(h,f)}function b(g,c){return g.text.startsWith(c.text)&&n(g.range,c.range)}function p(g,c,l,a,r=0){let u=_(g,c);if(u.range.endLineNumber!==u.range.startLineNumber)return;const C=c.getLineContent(u.range.startLineNumber),f=(0,k.getLeadingWhitespace)(C).length;if(u.range.startColumn-1<=f){const T=(0,k.getLeadingWhitespace)(u.text).length,M=C.substring(u.range.startColumn-1,f),[A,P]=[u.range.getStartPosition(),u.range.getEndPosition()],N=A.column+M.length<=P.column?A.delta(0,M.length):P,O=I.Range.fromPositions(N,P),F=u.text.startsWith(M)?u.text.substring(M.length):u.text.substring(T);u=new y.SingleTextEdit(O,F)}const v=c.getValueInRange(u.range),w=t(v,u.text);if(!w)return;const S=u.range.startLineNumber,L=new Array;if(l===\"prefix\"){const T=w.filter(M=>M.originalLength===0);if(T.length>1||T.length===1&&T[0].originalStart!==v.length)return}const D=u.text.length-r;for(const T of w){const M=u.range.startColumn+T.originalStart+T.originalLength;if(l===\"subwordSmart\"&&a&&a.lineNumber===u.range.startLineNumber&&M<a.column||T.originalLength>0)return;if(T.modifiedLength===0)continue;const A=T.modifiedStart+T.modifiedLength,P=Math.max(T.modifiedStart,Math.min(A,D)),N=u.text.substring(T.modifiedStart,P),O=u.text.substring(P,Math.max(T.modifiedStart,A));N.length>0&&L.push(new m.GhostTextPart(M,N,!1)),O.length>0&&L.push(new m.GhostTextPart(M,O,!0))}return new m.GhostText(S,L)}function n(g,c){return c.getStartPosition().equals(g.getStartPosition())&&c.getEndPosition().isBeforeOrEqual(g.getEndPosition())}let o;function t(g,c){if(o?.originalValue===g&&o?.newValue===c)return o?.changes;{let l=s(g,c,!0);if(l){const a=i(l);if(a>0){const r=s(g,c,!1);r&&i(r)<a&&(l=r)}}return o={originalValue:g,newValue:c,changes:l},l}}function i(g){let c=0;for(const l of g)c+=l.originalLength;return c}function s(g,c,l){if(g.length>5e3||c.length>5e3)return;function a(v){let w=0;for(let S=0,L=v.length;S<L;S++){const D=v.charCodeAt(S);D>w&&(w=D)}return w}const r=Math.max(a(g),a(c));function u(v){if(v<0)throw new Error(\"unexpected\");return r+v+1}function C(v){let w=0,S=0;const L=new Int32Array(v.length);for(let D=0,T=v.length;D<T;D++)if(l&&v[D]===\"(\"){const M=S*100+w;L[D]=u(2*M),w++}else if(l&&v[D]===\")\"){w=Math.max(w-1,0);const M=S*100+w;L[D]=u(2*M+1),w===0&&S++}else L[D]=v.charCodeAt(D);return L}const f=C(g),h=C(c);return new d.LcsDiff({getElements:()=>f},{getElements:()=>h}).ComputeDiff(!1).changes}}),define(ne[205],se([1,0,8,2,21,9,4]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ColumnRange=void 0,e.getReadonlyEmptyArray=_,e.applyObservableDecorations=p,e.addPositions=n,e.subtractPositions=o;const m=[];function _(){return m}class b{constructor(i,s){if(this.startColumn=i,this.endColumnExclusive=s,i>s)throw new d.BugIndicatingError(`startColumn ${i} cannot be after endColumnExclusive ${s}`)}toRange(i){return new y.Range(i,this.startColumn,i,this.endColumnExclusive)}equals(i){return this.startColumn===i.startColumn&&this.endColumnExclusive===i.endColumnExclusive}}e.ColumnRange=b;function p(t,i){const s=new k.DisposableStore,g=t.createDecorationsCollection();return s.add((0,I.autorunOpts)({debugName:()=>`Apply decorations from ${i.debugName}`},c=>{const l=i.read(c);g.set(l)})),s.add({dispose:()=>{g.clear()}}),s}function n(t,i){return new E.Position(t.lineNumber+i.lineNumber-1,i.lineNumber===1?t.column+i.column-1:i.column)}function o(t,i){return new E.Position(t.lineNumber-i.lineNumber+1,t.lineNumber-i.lineNumber===0?t.column-i.column+1:t.column)}}),define(ne[618],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.inlineEditJumpBackId=e.inlineEditJumpToId=e.inlineEditRejectId=e.inlineEditAcceptId=void 0,e.inlineEditAcceptId=\"editor.action.inlineEdit.accept\",e.inlineEditRejectId=\"editor.action.inlineEdit.reject\",e.inlineEditJumpToId=\"editor.action.inlineEdit.jumpTo\",e.inlineEditJumpBackId=\"editor.action.inlineEdit.jumpBack\"}),define(ne[619],se([1,0,4,23]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CopyLinesCommand=void 0;class I{constructor(y,m,_){this._selection=y,this._isCopyingDown=m,this._noop=_||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(y,m){let _=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,_.startLineNumber<_.endLineNumber&&_.endColumn===1&&(this._endLineNumberDelta=1,_=_.setEndPosition(_.endLineNumber-1,y.getLineMaxColumn(_.endLineNumber-1)));const b=[];for(let n=_.startLineNumber;n<=_.endLineNumber;n++)b.push(y.getLineContent(n));const p=b.join(`\n`);p===\"\"&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?m.addEditOperation(new d.Range(_.endLineNumber,y.getLineMaxColumn(_.endLineNumber),_.endLineNumber+1,1),_.endLineNumber===y.getLineCount()?\"\":`\n`):this._isCopyingDown?m.addEditOperation(new d.Range(_.startLineNumber,1,_.startLineNumber,1),p+`\n`):m.addEditOperation(new d.Range(_.endLineNumber,y.getLineMaxColumn(_.endLineNumber),_.endLineNumber,y.getLineMaxColumn(_.endLineNumber)),`\n`+p),this._selectionId=m.trackSelection(_),this._selectionDirection=this._selection.getDirection()}computeCursorState(y,m){let _=m.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let b=_.startLineNumber,p=_.startColumn,n=_.endLineNumber,o=_.endColumn;this._startLineNumberDelta!==0&&(b=b+this._startLineNumberDelta,p=1),this._endLineNumberDelta!==0&&(n=n+this._endLineNumberDelta,o=1),_=k.Selection.createWithDirection(b,p,n,o,this._selectionDirection)}return _}}e.CopyLinesCommand=I}),define(ne[620],se([1,0,75,4]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SortLinesCommand=void 0;class I{static{this._COLLATOR=null}static getCollator(){return I._COLLATOR||(I._COLLATOR=new Intl.Collator),I._COLLATOR}constructor(_,b){this.selection=_,this.descending=b,this.selectionId=null}getEditOperations(_,b){const p=y(_,this.selection,this.descending);p&&b.addEditOperation(p.range,p.text),this.selectionId=b.trackSelection(this.selection)}computeCursorState(_,b){return b.getTrackedSelection(this.selectionId)}static canRun(_,b,p){if(_===null)return!1;const n=E(_,b,p);if(!n)return!1;for(let o=0,t=n.before.length;o<t;o++)if(n.before[o]!==n.after[o])return!0;return!1}}e.SortLinesCommand=I;function E(m,_,b){const p=_.startLineNumber;let n=_.endLineNumber;if(_.endColumn===1&&n--,p>=n)return null;const o=[];for(let i=p;i<=n;i++)o.push(m.getLineContent(i));let t=o.slice(0);return t.sort(I.getCollator().compare),b===!0&&(t=t.reverse()),{startLineNumber:p,endLineNumber:n,before:o,after:t}}function y(m,_,b){const p=E(m,_,b);return p?d.EditOperation.replace(new k.Range(p.startLineNumber,1,p.endLineNumber,m.getLineMaxColumn(p.endLineNumber)),p.after.join(`\n`)):null}}),define(ne[339],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SEMANTIC_HIGHLIGHTING_SETTING_ID=void 0,e.isSemanticColoringEnabled=d,e.SEMANTIC_HIGHLIGHTING_SETTING_ID=\"editor.semanticHighlighting\";function d(k,I,E){const y=E.getValue(e.SEMANTIC_HIGHLIGHTING_SETTING_ID,{overrideIdentifier:k.getLanguageId(),resource:k.uri})?.enabled;return typeof y==\"boolean\"?y:I.getColorTheme().semanticHighlighting}}),define(ne[340],se([1,0,73,9,4]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BracketSelectionRangeProvider=void 0;class E{async provideSelectionRanges(m,_){const b=[];for(const p of _){const n=[];b.push(n);const o=new Map;await new Promise(t=>E._bracketsRightYield(t,0,m,p,o)),await new Promise(t=>E._bracketsLeftYield(t,0,m,p,o,n))}return b}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(m,_,b,p,n){const o=new Map,t=Date.now();for(;;){if(_>=E._maxRounds){m();break}if(!p){m();break}const i=b.bracketPairs.findNextBracket(p);if(!i){m();break}if(Date.now()-t>E._maxDuration){setTimeout(()=>E._bracketsRightYield(m,_+1,b,p,n));break}if(i.bracketInfo.isOpeningBracket){const g=i.bracketInfo.bracketText,c=o.has(g)?o.get(g):0;o.set(g,c+1)}else{const g=i.bracketInfo.getOpeningBrackets()[0].bracketText;let c=o.has(g)?o.get(g):0;if(c-=1,o.set(g,Math.max(0,c)),c<0){let l=n.get(g);l||(l=new d.LinkedList,n.set(g,l)),l.push(i.range)}}p=i.range.getEndPosition()}}static _bracketsLeftYield(m,_,b,p,n,o){const t=new Map,i=Date.now();for(;;){if(_>=E._maxRounds&&n.size===0){m();break}if(!p){m();break}const s=b.bracketPairs.findPrevBracket(p);if(!s){m();break}if(Date.now()-i>E._maxDuration){setTimeout(()=>E._bracketsLeftYield(m,_+1,b,p,n,o));break}if(s.bracketInfo.isOpeningBracket){const c=s.bracketInfo.bracketText;let l=t.has(c)?t.get(c):0;if(l-=1,t.set(c,Math.max(0,l)),l<0){const a=n.get(c);if(a){const r=a.shift();a.size===0&&n.delete(c);const u=I.Range.fromPositions(s.range.getEndPosition(),r.getStartPosition()),C=I.Range.fromPositions(s.range.getStartPosition(),r.getEndPosition());o.push({range:u}),o.push({range:C}),E._addBracketLeading(b,C,o)}}}else{const c=s.bracketInfo.getOpeningBrackets()[0].bracketText,l=t.has(c)?t.get(c):0;t.set(c,l+1)}p=s.range.getStartPosition()}}static _addBracketLeading(m,_,b){if(_.startLineNumber===_.endLineNumber)return;const p=_.startLineNumber,n=m.getLineFirstNonWhitespaceColumn(p);n!==0&&n!==_.startColumn&&(b.push({range:I.Range.fromPositions(new k.Position(p,n),_.getEndPosition())}),b.push({range:I.Range.fromPositions(new k.Position(p,1),_.getEndPosition())}));const o=p-1;if(o>0){const t=m.getLineFirstNonWhitespaceColumn(o);t===_.startColumn&&t!==m.getLineLastNonWhitespaceColumn(o)&&(b.push({range:I.Range.fromPositions(new k.Position(o,t),_.getEndPosition())}),b.push({range:I.Range.fromPositions(new k.Position(o,1),_.getEndPosition())}))}}}e.BracketSelectionRangeProvider=E}),define(ne[621],se([1,0,11,4]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WordSelectionRangeProvider=void 0;class I{constructor(y=!0){this.selectSubwords=y}provideSelectionRanges(y,m){const _=[];for(const b of m){const p=[];_.push(p),this.selectSubwords&&this._addInWordRanges(p,y,b),this._addWordRanges(p,y,b),this._addWhitespaceLine(p,y,b),p.push({range:y.getFullModelRange()})}return _}_addInWordRanges(y,m,_){const b=m.getWordAtPosition(_);if(!b)return;const{word:p,startColumn:n}=b,o=_.column-n;let t=o,i=o,s=0;for(;t>=0;t--){const g=p.charCodeAt(t);if(t!==o&&(g===95||g===45))break;if((0,d.isLowerAsciiLetter)(g)&&(0,d.isUpperAsciiLetter)(s))break;s=g}for(t+=1;i<p.length;i++){const g=p.charCodeAt(i);if((0,d.isUpperAsciiLetter)(g)&&(0,d.isLowerAsciiLetter)(s))break;if(g===95||g===45)break;s=g}t<i&&y.push({range:new k.Range(_.lineNumber,n+t,_.lineNumber,n+i)})}_addWordRanges(y,m,_){const b=m.getWordAtPosition(_);b&&y.push({range:new k.Range(_.lineNumber,b.startColumn,_.lineNumber,b.endColumn)})}_addWhitespaceLine(y,m,_){m.getLineLength(_.lineNumber)>0&&m.getLineFirstNonWhitespaceColumn(_.lineNumber)===0&&m.getLineLastNonWhitespaceColumn(_.lineNumber)===0&&y.push({range:new k.Range(_.lineNumber,1,_.lineNumber,m.getLineMaxColumn(_.lineNumber))})}}e.WordSelectionRangeProvider=I}),define(ne[135],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SnippetParser=e.TextmateSnippet=e.Variable=e.FormatString=e.Transform=e.Choice=e.Placeholder=e.TransformableMarker=e.Text=e.Marker=e.Scanner=void 0;class d{constructor(){this.value=\"\",this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(s){return s>=48&&s<=57}static isVariableCharacter(s){return s===95||s>=97&&s<=122||s>=65&&s<=90}text(s){this.value=s,this.pos=0}tokenText(s){return this.value.substr(s.pos,s.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const s=this.pos;let g=0,c=this.value.charCodeAt(s),l;if(l=d._table[c],typeof l==\"number\")return this.pos+=1,{type:l,pos:s,len:1};if(d.isDigitCharacter(c)){l=8;do g+=1,c=this.value.charCodeAt(s+g);while(d.isDigitCharacter(c));return this.pos+=g,{type:l,pos:s,len:g}}if(d.isVariableCharacter(c)){l=9;do c=this.value.charCodeAt(s+ ++g);while(d.isVariableCharacter(c)||d.isDigitCharacter(c));return this.pos+=g,{type:l,pos:s,len:g}}l=10;do g+=1,c=this.value.charCodeAt(s+g);while(!isNaN(c)&&typeof d._table[c]>\"u\"&&!d.isDigitCharacter(c)&&!d.isVariableCharacter(c));return this.pos+=g,{type:l,pos:s,len:g}}}e.Scanner=d;class k{constructor(){this._children=[]}appendChild(s){return s instanceof I&&this._children[this._children.length-1]instanceof I?this._children[this._children.length-1].value+=s.value:(s.parent=this,this._children.push(s)),this}replace(s,g){const{parent:c}=s,l=c.children.indexOf(s),a=c.children.slice(0);a.splice(l,1,...g),c._children=a,function r(u,C){for(const f of u)f.parent=C,r(f.children,f)}(g,c)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let s=this;for(;;){if(!s)return;if(s instanceof o)return s;s=s.parent}}toString(){return this.children.reduce((s,g)=>s+g.toString(),\"\")}len(){return 0}}e.Marker=k;class I extends k{constructor(s){super(),this.value=s}toString(){return this.value}len(){return this.value.length}clone(){return new I(this.value)}}e.Text=I;class E extends k{}e.TransformableMarker=E;class y extends E{static compareByIndex(s,g){return s.index===g.index?0:s.isFinalTabstop?1:g.isFinalTabstop||s.index<g.index?-1:s.index>g.index?1:0}constructor(s){super(),this.index=s}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof m?this._children[0]:void 0}clone(){const s=new y(this.index);return this.transform&&(s.transform=this.transform.clone()),s._children=this.children.map(g=>g.clone()),s}}e.Placeholder=y;class m extends k{constructor(){super(...arguments),this.options=[]}appendChild(s){return s instanceof I&&(s.parent=this,this.options.push(s)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const s=new m;return this.options.forEach(s.appendChild,s),s}}e.Choice=m;class _ extends k{constructor(){super(...arguments),this.regexp=new RegExp(\"\")}resolve(s){const g=this;let c=!1,l=s.replace(this.regexp,function(){return c=!0,g._replace(Array.prototype.slice.call(arguments,0,-2))});return!c&&this._children.some(a=>a instanceof b&&!!a.elseValue)&&(l=this._replace([])),l}_replace(s){let g=\"\";for(const c of this._children)if(c instanceof b){let l=s[c.index]||\"\";l=c.resolve(l),g+=l}else g+=c.toString();return g}toString(){return\"\"}clone(){const s=new _;return s.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?\"i\":\"\")+(this.regexp.global?\"g\":\"\")),s._children=this.children.map(g=>g.clone()),s}}e.Transform=_;class b extends k{constructor(s,g,c,l){super(),this.index=s,this.shorthandName=g,this.ifValue=c,this.elseValue=l}resolve(s){return this.shorthandName===\"upcase\"?s?s.toLocaleUpperCase():\"\":this.shorthandName===\"downcase\"?s?s.toLocaleLowerCase():\"\":this.shorthandName===\"capitalize\"?s?s[0].toLocaleUpperCase()+s.substr(1):\"\":this.shorthandName===\"pascalcase\"?s?this._toPascalCase(s):\"\":this.shorthandName===\"camelcase\"?s?this._toCamelCase(s):\"\":s&&typeof this.ifValue==\"string\"?this.ifValue:!s&&typeof this.elseValue==\"string\"?this.elseValue:s||\"\"}_toPascalCase(s){const g=s.match(/[a-z0-9]+/gi);return g?g.map(c=>c.charAt(0).toUpperCase()+c.substr(1)).join(\"\"):s}_toCamelCase(s){const g=s.match(/[a-z0-9]+/gi);return g?g.map((c,l)=>l===0?c.charAt(0).toLowerCase()+c.substr(1):c.charAt(0).toUpperCase()+c.substr(1)).join(\"\"):s}clone(){return new b(this.index,this.shorthandName,this.ifValue,this.elseValue)}}e.FormatString=b;class p extends E{constructor(s){super(),this.name=s}resolve(s){let g=s.resolve(this);return this.transform&&(g=this.transform.resolve(g||\"\")),g!==void 0?(this._children=[new I(g)],!0):!1}clone(){const s=new p(this.name);return this.transform&&(s.transform=this.transform.clone()),s._children=this.children.map(g=>g.clone()),s}}e.Variable=p;function n(i,s){const g=[...i];for(;g.length>0;){const c=g.shift();if(!s(c))break;g.unshift(...c.children)}}class o extends k{get placeholderInfo(){if(!this._placeholders){const s=[];let g;this.walk(function(c){return c instanceof y&&(s.push(c),g=!g||g.index<c.index?c:g),!0}),this._placeholders={all:s,last:g}}return this._placeholders}get placeholders(){const{all:s}=this.placeholderInfo;return s}offset(s){let g=0,c=!1;return this.walk(l=>l===s?(c=!0,!1):(g+=l.len(),!0)),c?g:-1}fullLen(s){let g=0;return n([s],c=>(g+=c.len(),!0)),g}enclosingPlaceholders(s){const g=[];let{parent:c}=s;for(;c;)c instanceof y&&g.push(c),c=c.parent;return g}resolveVariables(s){return this.walk(g=>(g instanceof p&&g.resolve(s)&&(this._placeholders=void 0),!0)),this}appendChild(s){return this._placeholders=void 0,super.appendChild(s)}replace(s,g){return this._placeholders=void 0,super.replace(s,g)}clone(){const s=new o;return this._children=this.children.map(g=>g.clone()),s}walk(s){n(this.children,s)}}e.TextmateSnippet=o;class t{constructor(){this._scanner=new d,this._token={type:14,pos:0,len:0}}static escape(s){return s.replace(/\\$|}|\\\\/g,\"\\\\$&\")}static guessNeedsClipboard(s){return/\\${?CLIPBOARD/.test(s)}parse(s,g,c){const l=new o;return this.parseFragment(s,l),this.ensureFinalTabstop(l,c??!1,g??!1),l}parseFragment(s,g){const c=g.children.length;for(this._scanner.text(s),this._token=this._scanner.next();this._parse(g););const l=new Map,a=[];g.walk(C=>(C instanceof y&&(C.isFinalTabstop?l.set(0,void 0):!l.has(C.index)&&C.children.length>0?l.set(C.index,C.children):a.push(C)),!0));const r=(C,f)=>{const h=l.get(C.index);if(!h)return;const v=new y(C.index);v.transform=C.transform;for(const w of h){const S=w.clone();v.appendChild(S),S instanceof y&&l.has(S.index)&&!f.has(S.index)&&(f.add(S.index),r(S,f),f.delete(S.index))}g.replace(C,[v])},u=new Set;for(const C of a)r(C,u);return g.children.slice(c)}ensureFinalTabstop(s,g,c){(g||c&&s.placeholders.length>0)&&(s.placeholders.find(a=>a.index===0)||s.appendChild(new y(0)))}_accept(s,g){if(s===void 0||this._token.type===s){const c=g?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),c}return!1}_backTo(s){return this._scanner.pos=s.pos+s.len,this._token=s,!1}_until(s){const g=this._token;for(;this._token.type!==s;){if(this._token.type===14)return!1;if(this._token.type===5){const l=this._scanner.next();if(l.type!==0&&l.type!==4&&l.type!==5)return!1}this._token=this._scanner.next()}const c=this._scanner.value.substring(g.pos,this._token.pos).replace(/\\\\(\\$|}|\\\\)/g,\"$1\");return this._token=this._scanner.next(),c}_parse(s){return this._parseEscaped(s)||this._parseTabstopOrVariableName(s)||this._parseComplexPlaceholder(s)||this._parseComplexVariable(s)||this._parseAnything(s)}_parseEscaped(s){let g;return(g=this._accept(5,!0))?(g=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||g,s.appendChild(new I(g)),!0):!1}_parseTabstopOrVariableName(s){let g;const c=this._token;return this._accept(0)&&(g=this._accept(9,!0)||this._accept(8,!0))?(s.appendChild(/^\\d+$/.test(g)?new y(Number(g)):new p(g)),!0):this._backTo(c)}_parseComplexPlaceholder(s){let g;const c=this._token;if(!(this._accept(0)&&this._accept(3)&&(g=this._accept(8,!0))))return this._backTo(c);const a=new y(Number(g));if(this._accept(1))for(;;){if(this._accept(4))return s.appendChild(a),!0;if(!this._parse(a))return s.appendChild(new I(\"${\"+g+\":\")),a.children.forEach(s.appendChild,s),!0}else if(a.index>0&&this._accept(7)){const r=new m;for(;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(a.appendChild(r),this._accept(4)))return s.appendChild(a),!0}return this._backTo(c),!1}}else return this._accept(6)?this._parseTransform(a)?(s.appendChild(a),!0):(this._backTo(c),!1):this._accept(4)?(s.appendChild(a),!0):this._backTo(c)}_parseChoiceElement(s){const g=this._token,c=[];for(;!(this._token.type===2||this._token.type===7);){let l;if((l=this._accept(5,!0))?l=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||l:l=this._accept(void 0,!0),!l)return this._backTo(g),!1;c.push(l)}return c.length===0?(this._backTo(g),!1):(s.appendChild(new I(c.join(\"\"))),!0)}_parseComplexVariable(s){let g;const c=this._token;if(!(this._accept(0)&&this._accept(3)&&(g=this._accept(9,!0))))return this._backTo(c);const a=new p(g);if(this._accept(1))for(;;){if(this._accept(4))return s.appendChild(a),!0;if(!this._parse(a))return s.appendChild(new I(\"${\"+g+\":\")),a.children.forEach(s.appendChild,s),!0}else return this._accept(6)?this._parseTransform(a)?(s.appendChild(a),!0):(this._backTo(c),!1):this._accept(4)?(s.appendChild(a),!0):this._backTo(c)}_parseTransform(s){const g=new _;let c=\"\",l=\"\";for(;!this._accept(6);){let a;if(a=this._accept(5,!0)){a=this._accept(6,!0)||a,c+=a;continue}if(this._token.type!==14){c+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let a;if(a=this._accept(5,!0)){a=this._accept(5,!0)||this._accept(6,!0)||a,g.appendChild(new I(a));continue}if(!(this._parseFormatString(g)||this._parseAnything(g)))return!1}for(;!this._accept(4);){if(this._token.type!==14){l+=this._accept(void 0,!0);continue}return!1}try{g.regexp=new RegExp(c,l)}catch{return!1}return s.transform=g,!0}_parseFormatString(s){const g=this._token;if(!this._accept(0))return!1;let c=!1;this._accept(3)&&(c=!0);const l=this._accept(8,!0);if(l)if(c){if(this._accept(4))return s.appendChild(new b(Number(l))),!0;if(!this._accept(1))return this._backTo(g),!1}else return s.appendChild(new b(Number(l))),!0;else return this._backTo(g),!1;if(this._accept(6)){const a=this._accept(9,!0);return!a||!this._accept(4)?(this._backTo(g),!1):(s.appendChild(new b(Number(l),a)),!0)}else if(this._accept(11)){const a=this._until(4);if(a)return s.appendChild(new b(Number(l),void 0,a,void 0)),!0}else if(this._accept(12)){const a=this._until(4);if(a)return s.appendChild(new b(Number(l),void 0,void 0,a)),!0}else if(this._accept(13)){const a=this._until(1);if(a){const r=this._until(4);if(r)return s.appendChild(new b(Number(l),void 0,a,r)),!0}}else{const a=this._until(4);if(a)return s.appendChild(new b(Number(l),void 0,void 0,a)),!0}return this._backTo(g),!1}_parseAnything(s){return this._token.type!==14?(s.appendChild(new I(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}e.SnippetParser=t}),define(ne[341],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StickyModel=e.StickyElement=e.StickyRange=void 0;class d{constructor(y,m){this.startLineNumber=y,this.endLineNumber=m}}e.StickyRange=d;class k{constructor(y,m,_){this.range=y,this.children=m,this.parent=_}}e.StickyElement=k;class I{constructor(y,m,_,b){this.uri=y,this.version=m,this.element=_,this.outlineProviderId=b}}e.StickyModel=I}),define(ne[342],se([1,0,13,82,11]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CompletionModel=e.LineContext=void 0;class E{constructor(_,b){this.leadingLineContent=_,this.characterCountDelta=b}}e.LineContext=E;class y{constructor(_,b,p,n,o,t,i=k.FuzzyScoreOptions.default,s=void 0){this.clipboardText=s,this._snippetCompareFn=y._compareCompletionItems,this._items=_,this._column=b,this._wordDistance=n,this._options=o,this._refilterKind=1,this._lineContext=p,this._fuzzyScoreOptions=i,t===\"top\"?this._snippetCompareFn=y._compareCompletionItemsSnippetsUp:t===\"bottom\"&&(this._snippetCompareFn=y._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(_){(this._lineContext.leadingLineContent!==_.leadingLineContent||this._lineContext.characterCountDelta!==_.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<_.characterCountDelta&&this._filteredItems?2:1,this._lineContext=_)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const _=new Set;for(const[b,p]of this.getItemsByProvider())p.length>0&&p[0].container.incomplete&&_.add(b);return _}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const _=[],{leadingLineContent:b,characterCountDelta:p}=this._lineContext;let n=\"\",o=\"\";const t=this._refilterKind===1?this._items:this._filteredItems,i=[],s=!this._options.filterGraceful||t.length>2e3?k.fuzzyScore:k.fuzzyScoreGracefulAggressive;for(let g=0;g<t.length;g++){const c=t[g];if(c.isInvalid)continue;const l=this._itemsByProvider.get(c.provider);l?l.push(c):this._itemsByProvider.set(c.provider,[c]);const a=c.position.column-c.editStart.column,r=a+p-(c.position.column-this._column);if(n.length!==r&&(n=r===0?\"\":b.slice(-r),o=n.toLowerCase()),c.word=n,r===0)c.score=k.FuzzyScore.Default;else{let u=0;for(;u<a;){const C=n.charCodeAt(u);if(C===32||C===9)u+=1;else break}if(u>=r)c.score=k.FuzzyScore.Default;else if(typeof c.completion.filterText==\"string\"){const C=s(n,o,u,c.completion.filterText,c.filterTextLow,0,this._fuzzyScoreOptions);if(!C)continue;(0,I.compareIgnoreCase)(c.completion.filterText,c.textLabel)===0?c.score=C:(c.score=(0,k.anyScore)(n,o,u,c.textLabel,c.labelLow,0),c.score[0]=C[0])}else{const C=s(n,o,u,c.textLabel,c.labelLow,0,this._fuzzyScoreOptions);if(!C)continue;c.score=C}}c.idx=g,c.distance=this._wordDistance.distance(c.position,c.completion),i.push(c),_.push(c.textLabel.length)}this._filteredItems=i.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:_.length?(0,d.quickSelect)(_.length-.85,_,(g,c)=>g-c):0}}static _compareCompletionItems(_,b){return _.score[0]>b.score[0]?-1:_.score[0]<b.score[0]?1:_.distance<b.distance?-1:_.distance>b.distance?1:_.idx<b.idx?-1:_.idx>b.idx?1:0}static _compareCompletionItemsSnippetsDown(_,b){if(_.completion.kind!==b.completion.kind){if(_.completion.kind===27)return 1;if(b.completion.kind===27)return-1}return y._compareCompletionItems(_,b)}static _compareCompletionItemsSnippetsUp(_,b){if(_.completion.kind!==b.completion.kind){if(_.completion.kind===27)return-1;if(b.completion.kind===27)return 1}return y._compareCompletionItems(_,b)}}e.CompletionModel=y}),define(ne[622],se([1,0,13,2,144]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CommitCharacterController=void 0;class E{constructor(m,_,b,p){this._disposables=new k.DisposableStore,this._disposables.add(b.onDidSuggest(n=>{n.completionModel.items.length===0&&this.reset()})),this._disposables.add(b.onDidCancel(n=>{this.reset()})),this._disposables.add(_.onDidShow(()=>this._onItem(_.getFocusedItem()))),this._disposables.add(_.onDidFocus(this._onItem,this)),this._disposables.add(_.onDidHide(this.reset,this)),this._disposables.add(m.onWillType(n=>{if(this._active&&!_.isFrozen()&&b.state!==0){const o=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(o)&&m.getOption(0)&&p(this._active.item)}}))}_onItem(m){if(!m||!(0,d.isNonEmptyArray)(m.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===m.item)return;const _=new I.CharacterSet;for(const b of m.item.completion.commitCharacters)b.length>0&&_.add(b.charCodeAt(0));this._active={acceptCharacters:_,item:m}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}e.CommitCharacterController=E}),define(ne[623],se([1,0,2]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OvertypingCapturer=void 0;class k{static{this._maxSelectionLength=51200}constructor(E,y){this._disposables=new d.DisposableStore,this._lastOvertyped=[],this._locked=!1,this._disposables.add(E.onWillType(()=>{if(this._locked||!E.hasModel())return;const m=E.getSelections(),_=m.length;let b=!1;for(let n=0;n<_;n++)if(!m[n].isEmpty()){b=!0;break}if(!b){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const p=E.getModel();for(let n=0;n<_;n++){const o=m[n];if(p.getValueLengthInRange(o)>k._maxSelectionLength)return;this._lastOvertyped[n]={value:p.getValueInRange(o),multiline:o.startLineNumber!==o.endLineNumber}}})),this._disposables.add(y.onDidTrigger(m=>{this._locked=!0})),this._disposables.add(y.onDidCancel(m=>{this._locked=!1}))}getLastOvertypedInfo(E){if(E>=0&&E<this._lastOvertyped.length)return this._lastOvertyped[E]}dispose(){this._disposables.dispose()}}e.OvertypingCapturer=k}),define(ne[343],se([1,0,13,4,340]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WordDistance=void 0;class E{static{this.None=new class extends E{distance(){return 0}}}static async create(m,_){if(!_.getOption(119).localityBonus||!_.hasModel())return E.None;const b=_.getModel(),p=_.getPosition();if(!m.canComputeWordRanges(b.uri))return E.None;const[n]=await new I.BracketSelectionRangeProvider().provideSelectionRanges(b,[p]);if(n.length===0)return E.None;const o=await m.computeWordRanges(b.uri,n[0].range);if(!o)return E.None;const t=b.getWordUntilPosition(p);return delete o[t.word],new class extends E{distance(i,s){if(!p.equals(_.getPosition()))return 0;if(s.kind===17)return 2<<20;const g=typeof s.label==\"string\"?s.label:s.label.label,c=o[g];if((0,d.isFalsyOrEmpty)(c))return 2<<20;const l=(0,d.binarySearch)(c,k.Range.fromPositions(i),k.Range.compareRangesUsingStarts),a=l>=0?c[l]:c[Math.max(0,~l-1)];let r=n.length;for(const u of n){if(!k.Range.containsRange(u.range,a))break;r-=1}return r}}}}e.WordDistance=E}),define(ne[624],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneTreeSitterParserService=void 0;class d{getParseResult(I){}}e.StandaloneTreeSitterParserService=d}),define(ne[344],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isFuzzyActionArr=d,e.isFuzzyAction=k,e.isString=I,e.isIAction=E,e.empty=y,e.fixCase=m,e.sanitize=_,e.log=b,e.createError=p,e.substituteMatches=n,e.substituteMatchesRe=o,e.findRules=t,e.stateExists=i;function d(s){return Array.isArray(s)}function k(s){return!d(s)}function I(s){return typeof s==\"string\"}function E(s){return!I(s)}function y(s){return!s}function m(s,g){return s.ignoreCase&&g?g.toLowerCase():g}function _(s){return s.replace(/[&<>'\"_]/g,\"-\")}function b(s,g){console.log(`${s.languageId}: ${g}`)}function p(s,g){return new Error(`${s.languageId}: ${g}`)}function n(s,g,c,l,a){const r=/\\$((\\$)|(#)|(\\d\\d?)|[sS](\\d\\d?)|@(\\w+))/g;let u=null;return g.replace(r,function(C,f,h,v,w,S,L,D,T){return y(h)?y(v)?!y(w)&&w<l.length?m(s,l[w]):!y(L)&&s&&typeof s[L]==\"string\"?s[L]:(u===null&&(u=a.split(\".\"),u.unshift(a)),!y(S)&&S<u.length?m(s,u[S]):\"\"):m(s,c):\"$\"})}function o(s,g,c){const l=/\\$[sS](\\d\\d?)/g;let a=null;return g.replace(l,function(r,u){return a===null&&(a=c.split(\".\"),a.unshift(c)),!y(u)&&u<a.length?m(s,a[u]):\"\"})}function t(s,g){let c=g;for(;c&&c.length>0;){const l=s.tokenizer[c];if(l)return l;const a=c.lastIndexOf(\".\");a<0?c=null:c=c.substr(0,a)}return null}function i(s,g){let c=g;for(;c&&c.length>0;){if(s.stateNames[c])return!0;const a=c.lastIndexOf(\".\");a<0?c=null:c=c.substr(0,a)}return!1}}),define(ne[625],se([1,0,344]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.compile=t;function k(i,s){if(!s||!Array.isArray(s))return!1;for(const g of s)if(!i(g))return!1;return!0}function I(i,s){return typeof i==\"boolean\"?i:s}function E(i,s){return typeof i==\"string\"?i:s}function y(i){const s={};for(const g of i)s[g]=!0;return s}function m(i,s=!1){s&&(i=i.map(function(c){return c.toLowerCase()}));const g=y(i);return s?function(c){return g[c.toLowerCase()]!==void 0&&g.hasOwnProperty(c.toLowerCase())}:function(c){return g[c]!==void 0&&g.hasOwnProperty(c)}}function _(i,s,g){s=s.replace(/@@/g,\"\u0001\");let c=0,l;do l=!1,s=s.replace(/@(\\w+)/g,function(r,u){l=!0;let C=\"\";if(typeof i[u]==\"string\")C=i[u];else if(i[u]&&i[u]instanceof RegExp)C=i[u].source;else throw i[u]===void 0?d.createError(i,\"language definition does not contain attribute '\"+u+\"', used at: \"+s):d.createError(i,\"attribute reference '\"+u+\"' must be a string, used at: \"+s);return d.empty(C)?\"\":\"(?:\"+C+\")\"}),c++;while(l&&c<5);s=s.replace(/\\x01/g,\"@\");const a=(i.ignoreCase?\"i\":\"\")+(i.unicode?\"u\":\"\");if(g&&s.match(/\\$[sS](\\d\\d?)/g)){let u=null,C=null;return f=>(C&&u===f||(u=f,C=new RegExp(d.substituteMatchesRe(i,s,f),a)),C)}return new RegExp(s,a)}function b(i,s,g,c){if(c<0)return i;if(c<s.length)return s[c];if(c>=100){c=c-100;const l=g.split(\".\");if(l.unshift(g),c<l.length)return l[c]}return null}function p(i,s,g,c){let l=-1,a=g,r=g.match(/^\\$(([sS]?)(\\d\\d?)|#)(.*)$/);r&&(r[3]&&(l=parseInt(r[3]),r[2]&&(l=l+100)),a=r[4]);let u=\"~\",C=a;!a||a.length===0?(u=\"!=\",C=\"\"):/^\\w*$/.test(C)?u=\"==\":(r=a.match(/^(@|!@|~|!~|==|!=)(.*)$/),r&&(u=r[1],C=r[2]));let f;if((u===\"~\"||u===\"!~\")&&/^(\\w|\\|)*$/.test(C)){const h=m(C.split(\"|\"),i.ignoreCase);f=function(v){return u===\"~\"?h(v):!h(v)}}else if(u===\"@\"||u===\"!@\"){const h=i[C];if(!h)throw d.createError(i,\"the @ match target '\"+C+\"' is not defined, in rule: \"+s);if(!k(function(w){return typeof w==\"string\"},h))throw d.createError(i,\"the @ match target '\"+C+\"' must be an array of strings, in rule: \"+s);const v=m(h,i.ignoreCase);f=function(w){return u===\"@\"?v(w):!v(w)}}else if(u===\"~\"||u===\"!~\")if(C.indexOf(\"$\")<0){const h=_(i,\"^\"+C+\"$\",!1);f=function(v){return u===\"~\"?h.test(v):!h.test(v)}}else f=function(h,v,w,S){return _(i,\"^\"+d.substituteMatches(i,C,v,w,S)+\"$\",!1).test(h)};else if(C.indexOf(\"$\")<0){const h=d.fixCase(i,C);f=function(v){return u===\"==\"?v===h:v!==h}}else{const h=d.fixCase(i,C);f=function(v,w,S,L,D){const T=d.substituteMatches(i,h,w,S,L);return u===\"==\"?v===T:v!==T}}return l===-1?{name:g,value:c,test:function(h,v,w,S){return f(h,h,v,w,S)}}:{name:g,value:c,test:function(h,v,w,S){const L=b(h,v,w,l);return f(L||\"\",h,v,w,S)}}}function n(i,s,g){if(g){if(typeof g==\"string\")return g;if(g.token||g.token===\"\"){if(typeof g.token!=\"string\")throw d.createError(i,\"a 'token' attribute must be of type string, in rule: \"+s);{const c={token:g.token};if(g.token.indexOf(\"$\")>=0&&(c.tokenSubst=!0),typeof g.bracket==\"string\")if(g.bracket===\"@open\")c.bracket=1;else if(g.bracket===\"@close\")c.bracket=-1;else throw d.createError(i,\"a 'bracket' attribute must be either '@open' or '@close', in rule: \"+s);if(g.next){if(typeof g.next!=\"string\")throw d.createError(i,\"the next state must be a string value in rule: \"+s);{let l=g.next;if(!/^(@pop|@push|@popall)$/.test(l)&&(l[0]===\"@\"&&(l=l.substr(1)),l.indexOf(\"$\")<0&&!d.stateExists(i,d.substituteMatches(i,l,\"\",[],\"\"))))throw d.createError(i,\"the next state '\"+g.next+\"' is not defined in rule: \"+s);c.next=l}}return typeof g.goBack==\"number\"&&(c.goBack=g.goBack),typeof g.switchTo==\"string\"&&(c.switchTo=g.switchTo),typeof g.log==\"string\"&&(c.log=g.log),typeof g.nextEmbedded==\"string\"&&(c.nextEmbedded=g.nextEmbedded,i.usesEmbedded=!0),c}}else if(Array.isArray(g)){const c=[];for(let l=0,a=g.length;l<a;l++)c[l]=n(i,s,g[l]);return{group:c}}else if(g.cases){const c=[];for(const a in g.cases)if(g.cases.hasOwnProperty(a)){const r=n(i,s,g.cases[a]);a===\"@default\"||a===\"@\"||a===\"\"?c.push({test:void 0,value:r,name:a}):a===\"@eos\"?c.push({test:function(u,C,f,h){return h},value:r,name:a}):c.push(p(i,s,a,r))}const l=i.defaultToken;return{test:function(a,r,u,C){for(const f of c)if(!f.test||f.test(a,r,u,C))return f.value;return l}}}else throw d.createError(i,\"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: \"+s)}else return{token:\"\"}}class o{constructor(s){this.regex=new RegExp(\"\"),this.action={token:\"\"},this.matchOnlyAtLineStart=!1,this.name=\"\",this.name=s}setRegex(s,g){let c;if(typeof g==\"string\")c=g;else if(g instanceof RegExp)c=g.source;else throw d.createError(s,\"rules must start with a match string or regular expression: \"+this.name);this.matchOnlyAtLineStart=c.length>0&&c[0]===\"^\",this.name=this.name+\": \"+c,this.regex=_(s,\"^(?:\"+(this.matchOnlyAtLineStart?c.substr(1):c)+\")\",!0)}setAction(s,g){this.action=n(s,this.name,g)}resolveRegex(s){return this.regex instanceof RegExp?this.regex:this.regex(s)}}function t(i,s){if(!s||typeof s!=\"object\")throw new Error(\"Monarch: expecting a language definition object\");const g={languageId:i,includeLF:I(s.includeLF,!1),noThrow:!1,maxStack:100,start:typeof s.start==\"string\"?s.start:null,ignoreCase:I(s.ignoreCase,!1),unicode:I(s.unicode,!1),tokenPostfix:E(s.tokenPostfix,\".\"+i),defaultToken:E(s.defaultToken,\"source\"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},c=s;c.languageId=i,c.includeLF=g.includeLF,c.ignoreCase=g.ignoreCase,c.unicode=g.unicode,c.noThrow=g.noThrow,c.usesEmbedded=g.usesEmbedded,c.stateNames=s.tokenizer,c.defaultToken=g.defaultToken;function l(r,u,C){for(const f of C){let h=f.include;if(h){if(typeof h!=\"string\")throw d.createError(g,\"an 'include' attribute must be a string at: \"+r);if(h[0]===\"@\"&&(h=h.substr(1)),!s.tokenizer[h])throw d.createError(g,\"include target '\"+h+\"' is not defined at: \"+r);l(r+\".\"+h,u,s.tokenizer[h])}else{const v=new o(r);if(Array.isArray(f)&&f.length>=1&&f.length<=3)if(v.setRegex(c,f[0]),f.length>=3)if(typeof f[1]==\"string\")v.setAction(c,{token:f[1],next:f[2]});else if(typeof f[1]==\"object\"){const w=f[1];w.next=f[2],v.setAction(c,w)}else throw d.createError(g,\"a next state as the last element of a rule can only be given if the action is either an object or a string, at: \"+r);else v.setAction(c,f[1]);else{if(!f.regex)throw d.createError(g,\"a rule must either be an array, or an object with a 'regex' or 'include' field at: \"+r);f.name&&typeof f.name==\"string\"&&(v.name=f.name),f.matchOnlyAtStart&&(v.matchOnlyAtLineStart=I(f.matchOnlyAtLineStart,!1)),v.setRegex(c,f.regex),v.setAction(c,f.action)}u.push(v)}}}if(!s.tokenizer||typeof s.tokenizer!=\"object\")throw d.createError(g,\"a language definition must define the 'tokenizer' attribute as an object\");g.tokenizer=[];for(const r in s.tokenizer)if(s.tokenizer.hasOwnProperty(r)){g.start||(g.start=r);const u=s.tokenizer[r];g.tokenizer[r]=new Array,l(\"tokenizer.\"+r,g.tokenizer[r],u)}if(g.usesEmbedded=c.usesEmbedded,s.brackets){if(!Array.isArray(s.brackets))throw d.createError(g,\"the 'brackets' attribute must be defined as an array\")}else s.brackets=[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}];const a=[];for(const r of s.brackets){let u=r;if(u&&Array.isArray(u)&&u.length===3&&(u={token:u[2],open:u[0],close:u[1]}),u.open===u.close)throw d.createError(g,\"open and close brackets in a 'brackets' attribute must be different: \"+u.open+`\n hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof u.open==\"string\"&&typeof u.token==\"string\"&&typeof u.close==\"string\")a.push({token:u.token+g.tokenPostfix,open:d.fixCase(g,u.open),close:d.fixCase(g,u.close)});else throw d.createError(g,\"every element in the 'brackets' array must be a '{open,close,token}' object or array\")}return g.brackets=a,g.noThrow=!0,g}}),define(ne[345],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getNLSMessages=d,e.getNLSLanguage=k;function d(){return globalThis._VSCODE_NLS_MESSAGES}function k(){return globalThis._VSCODE_NLS_LANGUAGE}}),define(ne[3],se([1,0,345,345]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getNLSMessages=e.getNLSLanguage=void 0,e.localize=y,e.localize2=_,Object.defineProperty(e,\"getNLSLanguage\",{enumerable:!0,get:function(){return k.getNLSLanguage}}),Object.defineProperty(e,\"getNLSMessages\",{enumerable:!0,get:function(){return k.getNLSMessages}});const I=(0,d.getNLSLanguage)()===\"pseudo\"||typeof document<\"u\"&&document.location&&document.location.hash.indexOf(\"pseudo=true\")>=0;function E(b,p){let n;return p.length===0?n=b:n=b.replace(/\\{(\\d+)\\}/g,(o,t)=>{const i=t[0],s=p[i];let g=o;return typeof s==\"string\"?g=s:(typeof s==\"number\"||typeof s==\"boolean\"||s===void 0||s===null)&&(g=String(s)),g}),I&&(n=\"\\uFF3B\"+n.replace(/[aouei]/g,\"$&$&\")+\"\\uFF3D\"),n}function y(b,p,...n){return E(typeof b==\"number\"?m(b,p):p,n)}function m(b,p){const n=(0,d.getNLSMessages)()?.[b];if(typeof n!=\"string\"){if(typeof p==\"string\")return p;throw new Error(`!!! NLS MISSING: ${b} !!!`)}return n}function _(b,p,...n){let o;typeof b==\"number\"?o=m(b,p):o=p;const t=E(o,n);return{value:t,original:p===o?t:E(p,n)}}}),define(ne[41],se([1,0,6,2,3]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EmptySubmenuAction=e.SubmenuAction=e.Separator=e.ActionRunner=e.Action=void 0,e.toAction=p;class E extends k.Disposable{constructor(o,t=\"\",i=\"\",s=!0,g){super(),this._onDidChange=this._register(new d.Emitter),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=o,this._label=t,this._cssClass=i,this._enabled=s,this._actionCallback=g}get id(){return this._id}get label(){return this._label}set label(o){this._setLabel(o)}_setLabel(o){this._label!==o&&(this._label=o,this._onDidChange.fire({label:o}))}get tooltip(){return this._tooltip||\"\"}set tooltip(o){this._setTooltip(o)}_setTooltip(o){this._tooltip!==o&&(this._tooltip=o,this._onDidChange.fire({tooltip:o}))}get class(){return this._cssClass}set class(o){this._setClass(o)}_setClass(o){this._cssClass!==o&&(this._cssClass=o,this._onDidChange.fire({class:o}))}get enabled(){return this._enabled}set enabled(o){this._setEnabled(o)}_setEnabled(o){this._enabled!==o&&(this._enabled=o,this._onDidChange.fire({enabled:o}))}get checked(){return this._checked}set checked(o){this._setChecked(o)}_setChecked(o){this._checked!==o&&(this._checked=o,this._onDidChange.fire({checked:o}))}async run(o,t){this._actionCallback&&await this._actionCallback(o)}}e.Action=E;class y extends k.Disposable{constructor(){super(...arguments),this._onWillRun=this._register(new d.Emitter),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new d.Emitter),this.onDidRun=this._onDidRun.event}async run(o,t){if(!o.enabled)return;this._onWillRun.fire({action:o});let i;try{await this.runAction(o,t)}catch(s){i=s}this._onDidRun.fire({action:o,error:i})}async runAction(o,t){await o.run(t)}}e.ActionRunner=y;class m{constructor(){this.id=m.ID,this.label=\"\",this.tooltip=\"\",this.class=\"separator\",this.enabled=!1,this.checked=!1}static join(...o){let t=[];for(const i of o)i.length&&(t.length?t=[...t,new m,...i]:t=i);return t}static{this.ID=\"vs.actions.separator\"}async run(){}}e.Separator=m;class _{get actions(){return this._actions}constructor(o,t,i,s){this.tooltip=\"\",this.enabled=!0,this.checked=void 0,this.id=o,this.label=t,this.class=s,this._actions=i}async run(){}}e.SubmenuAction=_;class b extends E{static{this.ID=\"vs.actions.empty\"}constructor(){super(b.ID,I.localize(27,\"(empty)\"),void 0,!1)}}e.EmptySubmenuAction=b;function p(n){return{id:n.id,label:n.label,tooltip:n.tooltip??n.label,class:n.class,enabled:n.enabled??!0,checked:n.checked,run:async(...o)=>n.run(...o)}}}),define(ne[346],se([1,0,13,19,3]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.toErrorMessage=_;function E(b,p){return p&&(b.stack||b.stacktrace)?I.localize(28,\"{0}: {1}\",m(b),y(b.stack)||y(b.stacktrace)):m(b)}function y(b){return Array.isArray(b)?b.join(`\n`):b}function m(b){return b.code===\"ERR_UNC_HOST_NOT_ALLOWED\"?`${b.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof b.code==\"string\"&&typeof b.errno==\"number\"&&typeof b.syscall==\"string\"?I.localize(29,\"A system error occurred ({0})\",b.message):b.message||I.localize(30,\"An unknown error occurred. Please consult the log for more details.\")}function _(b=null,p=!1){if(!b)return I.localize(31,\"An unknown error occurred. Please consult the log for more details.\");if(Array.isArray(b)){const n=d.coalesce(b),o=_(n[0],p);return n.length>1?I.localize(32,\"{0} ({1} errors in total)\",o,n.length):o}if(k.isString(b))return b;if(b.detail){const n=b.detail;if(n.error)return E(n.error,p);if(n.exception)return E(n.exception,p)}return b.stack?E(b,p):b.message?b.message:I.localize(33,\"An unknown error occurred. Please consult the log for more details.\")}}),define(ne[247],se([1,0,3]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UserSettingsLabelProvider=e.ElectronAcceleratorLabelProvider=e.AriaLabelProvider=e.UILabelProvider=e.ModifierLabelProvider=void 0;class k{constructor(y,m,_=m){this.modifierLabels=[null],this.modifierLabels[2]=y,this.modifierLabels[1]=m,this.modifierLabels[3]=_}toLabel(y,m,_){if(m.length===0)return null;const b=[];for(let p=0,n=m.length;p<n;p++){const o=m[p],t=_(o);if(t===null)return null;b[p]=I(o,t,this.modifierLabels[y])}return b.join(\" \")}}e.ModifierLabelProvider=k,e.UILabelProvider=new k({ctrlKey:\"\\u2303\",shiftKey:\"\\u21E7\",altKey:\"\\u2325\",metaKey:\"\\u2318\",separator:\"\"},{ctrlKey:d.localize(34,\"Ctrl\"),shiftKey:d.localize(35,\"Shift\"),altKey:d.localize(36,\"Alt\"),metaKey:d.localize(37,\"Windows\"),separator:\"+\"},{ctrlKey:d.localize(38,\"Ctrl\"),shiftKey:d.localize(39,\"Shift\"),altKey:d.localize(40,\"Alt\"),metaKey:d.localize(41,\"Super\"),separator:\"+\"}),e.AriaLabelProvider=new k({ctrlKey:d.localize(42,\"Control\"),shiftKey:d.localize(43,\"Shift\"),altKey:d.localize(44,\"Option\"),metaKey:d.localize(45,\"Command\"),separator:\"+\"},{ctrlKey:d.localize(46,\"Control\"),shiftKey:d.localize(47,\"Shift\"),altKey:d.localize(48,\"Alt\"),metaKey:d.localize(49,\"Windows\"),separator:\"+\"},{ctrlKey:d.localize(50,\"Control\"),shiftKey:d.localize(51,\"Shift\"),altKey:d.localize(52,\"Alt\"),metaKey:d.localize(53,\"Super\"),separator:\"+\"}),e.ElectronAcceleratorLabelProvider=new k({ctrlKey:\"Ctrl\",shiftKey:\"Shift\",altKey:\"Alt\",metaKey:\"Cmd\",separator:\"+\"},{ctrlKey:\"Ctrl\",shiftKey:\"Shift\",altKey:\"Alt\",metaKey:\"Super\",separator:\"+\"}),e.UserSettingsLabelProvider=new k({ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"cmd\",separator:\"+\"},{ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"win\",separator:\"+\"},{ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"meta\",separator:\"+\"});function I(E,y,m){if(y===null)return\"\";const _=[];return E.ctrlKey&&_.push(m.ctrlKey),E.shiftKey&&_.push(m.shiftKey),E.altKey&&_.push(m.altKey),E.metaKey&&_.push(m.metaKey),y!==\"\"&&_.push(y),_.join(m.separator)}}),define(ne[16],se([1,0,3]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isAndroid=e.isEdge=e.isSafari=e.isFirefox=e.isChrome=e.OS=e.setTimeout0=e.setTimeout0IsFaster=e.language=e.userAgent=e.isMobile=e.isIOS=e.webWorkerOrigin=e.isWebWorker=e.isWeb=e.isNative=e.isLinux=e.isMacintosh=e.isWindows=e.LANGUAGE_DEFAULT=void 0,e.isLittleEndian=v,e.LANGUAGE_DEFAULT=\"en\";let k=!1,I=!1,E=!1,y=!1,m=!1,_=!1,b=!1,p=!1,n=!1,o=!1,t,i=e.LANGUAGE_DEFAULT,s=e.LANGUAGE_DEFAULT,g,c;const l=globalThis;let a;typeof l.vscode<\"u\"&&typeof l.vscode.process<\"u\"?a=l.vscode.process:typeof process<\"u\"&&typeof process?.versions?.node==\"string\"&&(a=process);const r=typeof a?.versions?.electron==\"string\",u=r&&a?.type===\"renderer\";if(typeof a==\"object\"){k=a.platform===\"win32\",I=a.platform===\"darwin\",E=a.platform===\"linux\",y=E&&!!a.env.SNAP&&!!a.env.SNAP_REVISION,b=r,n=!!a.env.CI||!!a.env.BUILD_ARTIFACTSTAGINGDIRECTORY,t=e.LANGUAGE_DEFAULT,i=e.LANGUAGE_DEFAULT;const w=a.env.VSCODE_NLS_CONFIG;if(w)try{const S=JSON.parse(w);t=S.userLocale,s=S.osLocale,i=S.resolvedLanguage||e.LANGUAGE_DEFAULT,g=S.languagePack?.translationsConfigFile}catch{}m=!0}else typeof navigator==\"object\"&&!u?(c=navigator.userAgent,k=c.indexOf(\"Windows\")>=0,I=c.indexOf(\"Macintosh\")>=0,p=(c.indexOf(\"Macintosh\")>=0||c.indexOf(\"iPad\")>=0||c.indexOf(\"iPhone\")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,E=c.indexOf(\"Linux\")>=0,o=c?.indexOf(\"Mobi\")>=0,_=!0,i=d.getNLSLanguage()||e.LANGUAGE_DEFAULT,t=navigator.language.toLowerCase(),s=t):console.error(\"Unable to resolve platform.\");let C=0;I?C=1:k?C=3:E&&(C=2),e.isWindows=k,e.isMacintosh=I,e.isLinux=E,e.isNative=m,e.isWeb=_,e.isWebWorker=_&&typeof l.importScripts==\"function\",e.webWorkerOrigin=e.isWebWorker?l.origin:void 0,e.isIOS=p,e.isMobile=o,e.userAgent=c,e.language=i,e.setTimeout0IsFaster=typeof l.postMessage==\"function\"&&!l.importScripts,e.setTimeout0=(()=>{if(e.setTimeout0IsFaster){const w=[];l.addEventListener(\"message\",L=>{if(L.data&&L.data.vscodeScheduleAsyncWork)for(let D=0,T=w.length;D<T;D++){const M=w[D];if(M.id===L.data.vscodeScheduleAsyncWork){w.splice(D,1),M.callback();return}}});let S=0;return L=>{const D=++S;w.push({id:D,callback:L}),l.postMessage({vscodeScheduleAsyncWork:D},\"*\")}}return w=>setTimeout(w)})(),e.OS=I||p?2:k?1:3;let f=!0,h=!1;function v(){if(!h){h=!0;const w=new Uint8Array(2);w[0]=1,w[1]=2,f=new Uint16Array(w.buffer)[0]===513}return f}e.isChrome=!!(e.userAgent&&e.userAgent.indexOf(\"Chrome\")>=0),e.isFirefox=!!(e.userAgent&&e.userAgent.indexOf(\"Firefox\")>=0),e.isSafari=!!(!e.isChrome&&e.userAgent&&e.userAgent.indexOf(\"Safari\")>=0),e.isEdge=!!(e.userAgent&&e.userAgent.indexOf(\"Edg/\")>=0),e.isAndroid=!!(e.userAgent&&e.userAgent.indexOf(\"Android\")>=0)}),define(ne[248],se([1,0,64,52,16]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BrowserFeatures=void 0,e.BrowserFeatures={clipboard:{writeText:I.isNative||document.queryCommandSupported&&document.queryCommandSupported(\"copy\")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:I.isNative||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:I.isNative||d.isStandalone()?0:navigator.keyboard||d.isSafari?1:2,touch:\"ontouchstart\"in k.mainWindow||navigator.maxTouchPoints>0,pointerEvents:k.mainWindow.PointerEvent&&(\"ontouchstart\"in k.mainWindow||navigator.maxTouchPoints>0)}}),define(ne[347],se([1,0,16]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DEFAULT_FONT_FAMILY=void 0,e.DEFAULT_FONT_FAMILY=d.isWindows?'\"Segoe WPC\", \"Segoe UI\", sans-serif':d.isMacintosh?\"-apple-system, BlinkMacSystemFont, sans-serif\":'system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif'}),define(ne[47],se([1,0,64,72,140,16]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandardKeyboardEvent=void 0;function y(o){if(o.charCode){const i=String.fromCharCode(o.charCode).toUpperCase();return k.KeyCodeUtils.fromString(i)}const t=o.keyCode;if(t===3)return 7;if(d.isFirefox)switch(t){case 59:return 85;case 60:if(E.isLinux)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(E.isMacintosh)return 57;break}else if(d.isWebKit){if(E.isMacintosh&&t===93)return 57;if(!E.isMacintosh&&t===92)return 57}return k.EVENT_KEY_CODE_MAP[t]||0}const m=E.isMacintosh?256:2048,_=512,b=1024,p=E.isMacintosh?2048:256;class n{constructor(t){this._standardKeyboardEventBrand=!0;const i=t;this.browserEvent=i,this.target=i.target,this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,this.altGraphKey=i.getModifierState?.(\"AltGraph\"),this.keyCode=y(i),this.code=i.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let i=0;return this.ctrlKey&&(i|=m),this.altKey&&(i|=_),this.shiftKey&&(i|=b),this.metaKey&&(i|=p),i|=t,i}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new I.KeyCodeChord(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}}e.StandardKeyboardEvent=n}),define(ne[77],se([1,0,64,441,16]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandardWheelEvent=e.StandardMouseEvent=void 0;class E{constructor(_,b){this.timestamp=Date.now(),this.browserEvent=b,this.leftButton=b.button===0,this.middleButton=b.button===1,this.rightButton=b.button===2,this.buttons=b.buttons,this.target=b.target,this.detail=b.detail||1,b.type===\"dblclick\"&&(this.detail=2),this.ctrlKey=b.ctrlKey,this.shiftKey=b.shiftKey,this.altKey=b.altKey,this.metaKey=b.metaKey,typeof b.pageX==\"number\"?(this.posx=b.pageX,this.posy=b.pageY):(this.posx=b.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=b.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const p=k.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(_,b.view);this.posx-=p.left,this.posy-=p.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}e.StandardMouseEvent=E;class y{constructor(_,b=0,p=0){this.browserEvent=_||null,this.target=_?_.target||_.targetNode||_.srcElement:null,this.deltaY=p,this.deltaX=b;let n=!1;if(d.isChrome){const o=navigator.userAgent.match(/Chrome\\/(\\d+)/);n=(o?parseInt(o[1]):123)<=122}if(_){const o=_,t=_,i=_.view?.devicePixelRatio||1;if(typeof o.wheelDeltaY<\"u\")n?this.deltaY=o.wheelDeltaY/(120*i):this.deltaY=o.wheelDeltaY/120;else if(typeof t.VERTICAL_AXIS<\"u\"&&t.axis===t.VERTICAL_AXIS)this.deltaY=-t.detail/3;else if(_.type===\"wheel\"){const s=_;s.deltaMode===s.DOM_DELTA_LINE?d.isFirefox&&!I.isMacintosh?this.deltaY=-_.deltaY/3:this.deltaY=-_.deltaY:this.deltaY=-_.deltaY/40}if(typeof o.wheelDeltaX<\"u\")d.isSafari&&I.isWindows?this.deltaX=-(o.wheelDeltaX/120):n?this.deltaX=o.wheelDeltaX/(120*i):this.deltaX=o.wheelDeltaX/120;else if(typeof t.HORIZONTAL_AXIS<\"u\"&&t.axis===t.HORIZONTAL_AXIS)this.deltaX=-_.detail/3;else if(_.type===\"wheel\"){const s=_;s.deltaMode===s.DOM_DELTA_LINE?d.isFirefox&&!I.isMacintosh?this.deltaX=-_.deltaX/3:this.deltaX=-_.deltaX:this.deltaX=-_.deltaX/40}this.deltaY===0&&this.deltaX===0&&_.wheelDelta&&(n?this.deltaY=_.wheelDelta/(120*i):this.deltaY=_.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}}e.StandardWheelEvent=y}),define(ne[14],se([1,0,18,8,6,2,16,301]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CancelableAsyncIterableObject=e.AsyncIterableObject=e.Promises=e.DeferredPromise=e.GlobalIdleValue=e.AbstractIdleValue=e._runWhenIdle=e.runWhenGlobalIdle=e.RunOnceScheduler=e.IntervalTimer=e.TimeoutTimer=e.ThrottledDelayer=e.Delayer=e.Throttler=void 0,e.isThenable=_,e.createCancelablePromise=b,e.raceCancellation=p,e.timeout=g,e.disposableTimeout=c,e.first=l,e.createCancelableAsyncIterable=L;function _(D){return!!D&&typeof D.then==\"function\"}function b(D){const T=new d.CancellationTokenSource,M=D(T.token),A=new Promise((P,N)=>{const O=T.token.onCancellationRequested(()=>{O.dispose(),N(new k.CancellationError)});Promise.resolve(M).then(F=>{O.dispose(),T.dispose(),P(F)},F=>{O.dispose(),T.dispose(),N(F)})});return new class{cancel(){T.cancel(),T.dispose()}then(P,N){return A.then(P,N)}catch(P){return this.then(void 0,P)}finally(P){return A.finally(P)}}}function p(D,T,M){return new Promise((A,P)=>{const N=T.onCancellationRequested(()=>{N.dispose(),A(M)});D.then(A,P).finally(()=>N.dispose())})}class n{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(T){if(this.isDisposed)return Promise.reject(new Error(\"Throttler is disposed\"));if(this.activePromise){if(this.queuedPromiseFactory=T,!this.queuedPromise){const M=()=>{if(this.queuedPromise=null,this.isDisposed)return;const A=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,A};this.queuedPromise=new Promise(A=>{this.activePromise.then(M,M).then(A)})}return new Promise((M,A)=>{this.queuedPromise.then(M,A)})}return this.activePromise=T(),new Promise((M,A)=>{this.activePromise.then(P=>{this.activePromise=null,M(P)},P=>{this.activePromise=null,A(P)})})}dispose(){this.isDisposed=!0}}e.Throttler=n;const o=(D,T)=>{let M=!0;const A=setTimeout(()=>{M=!1,T()},D);return{isTriggered:()=>M,dispose:()=>{clearTimeout(A),M=!1}}},t=D=>{let T=!0;return queueMicrotask(()=>{T&&(T=!1,D())}),{isTriggered:()=>T,dispose:()=>{T=!1}}};class i{constructor(T){this.defaultDelay=T,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(T,M=this.defaultDelay){this.task=T,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((P,N)=>{this.doResolve=P,this.doReject=N}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const P=this.task;return this.task=null,P()}}));const A=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=M===m.MicrotaskDelay?t(A):o(M,A),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new k.CancellationError),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}e.Delayer=i;class s{constructor(T){this.delayer=new i(T),this.throttler=new n}trigger(T,M){return this.delayer.trigger(()=>this.throttler.queue(T),M)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}e.ThrottledDelayer=s;function g(D,T){return T?new Promise((M,A)=>{const P=setTimeout(()=>{N.dispose(),M()},D),N=T.onCancellationRequested(()=>{clearTimeout(P),N.dispose(),A(new k.CancellationError)})}):b(M=>g(D,M))}function c(D,T=0,M){const A=setTimeout(()=>{D(),M&&P.dispose()},T),P=(0,E.toDisposable)(()=>{clearTimeout(A),M?.deleteAndLeak(P)});return M?.add(P),P}function l(D,T=A=>!!A,M=null){let A=0;const P=D.length,N=()=>{if(A>=P)return Promise.resolve(M);const O=D[A++];return Promise.resolve(O()).then(x=>T(x)?Promise.resolve(x):N())};return N()}class a{constructor(T,M){this._isDisposed=!1,this._token=-1,typeof T==\"function\"&&typeof M==\"number\"&&this.setIfNotSet(T,M)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(T,M){if(this._isDisposed)throw new k.BugIndicatingError(\"Calling 'cancelAndSet' on a disposed TimeoutTimer\");this.cancel(),this._token=setTimeout(()=>{this._token=-1,T()},M)}setIfNotSet(T,M){if(this._isDisposed)throw new k.BugIndicatingError(\"Calling 'setIfNotSet' on a disposed TimeoutTimer\");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,T()},M))}}e.TimeoutTimer=a;class r{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(T,M,A=globalThis){if(this.isDisposed)throw new k.BugIndicatingError(\"Calling 'cancelAndSet' on a disposed IntervalTimer\");this.cancel();const P=A.setInterval(()=>{T()},M);this.disposable=(0,E.toDisposable)(()=>{A.clearInterval(P),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}e.IntervalTimer=r;class u{constructor(T,M){this.timeoutToken=-1,this.runner=T,this.timeout=M,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(T=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,T)}get delay(){return this.timeout}set delay(T){this.timeout=T}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}e.RunOnceScheduler=u,function(){typeof globalThis.requestIdleCallback!=\"function\"||typeof globalThis.cancelIdleCallback!=\"function\"?e._runWhenIdle=(D,T)=>{(0,y.setTimeout0)(()=>{if(M)return;const A=Date.now()+15;T(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,A-Date.now())}}))});let M=!1;return{dispose(){M||(M=!0)}}}:e._runWhenIdle=(D,T,M)=>{const A=D.requestIdleCallback(T,typeof M==\"number\"?{timeout:M}:void 0);let P=!1;return{dispose(){P||(P=!0,D.cancelIdleCallback(A))}}},e.runWhenGlobalIdle=D=>(0,e._runWhenIdle)(globalThis,D)}();class C{constructor(T,M){this._didRun=!1,this._executor=()=>{try{this._value=M()}catch(A){this._error=A}finally{this._didRun=!0}},this._handle=(0,e._runWhenIdle)(T,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}e.AbstractIdleValue=C;class f extends C{constructor(T){super(globalThis,T)}}e.GlobalIdleValue=f;class h{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((T,M)=>{this.completeCallback=T,this.errorCallback=M})}complete(T){return new Promise(M=>{this.completeCallback(T),this.outcome={outcome:0,value:T},M()})}error(T){return new Promise(M=>{this.errorCallback(T),this.outcome={outcome:1,value:T},M()})}cancel(){return this.error(new k.CancellationError)}}e.DeferredPromise=h;var v;(function(D){async function T(A){let P;const N=await Promise.all(A.map(O=>O.then(F=>F,F=>{P||(P=F)})));if(typeof P<\"u\")throw P;return N}D.settled=T;function M(A){return new Promise(async(P,N)=>{try{await A(P,N)}catch(O){N(O)}})}D.withAsyncBody=M})(v||(e.Promises=v={}));class w{static fromArray(T){return new w(M=>{M.emitMany(T)})}static fromPromise(T){return new w(async M=>{M.emitMany(await T)})}static fromPromises(T){return new w(async M=>{await Promise.all(T.map(async A=>M.emitOne(await A)))})}static merge(T){return new w(async M=>{await Promise.all(T.map(async A=>{for await(const P of A)M.emitOne(P)}))})}static{this.EMPTY=w.fromArray([])}constructor(T,M){this._state=0,this._results=[],this._error=null,this._onReturn=M,this._onStateChanged=new I.Emitter,queueMicrotask(async()=>{const A={emitOne:P=>this.emitOne(P),emitMany:P=>this.emitMany(P),reject:P=>this.reject(P)};try{await Promise.resolve(T(A)),this.resolve()}catch(P){this.reject(P)}finally{A.emitOne=void 0,A.emitMany=void 0,A.reject=void 0}})}[Symbol.asyncIterator](){let T=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(T<this._results.length)return{done:!1,value:this._results[T++]};if(this._state===1)return{done:!0,value:void 0};await I.Event.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(T,M){return new w(async A=>{for await(const P of T)A.emitOne(M(P))})}map(T){return w.map(this,T)}static filter(T,M){return new w(async A=>{for await(const P of T)M(P)&&A.emitOne(P)})}filter(T){return w.filter(this,T)}static coalesce(T){return w.filter(T,M=>!!M)}coalesce(){return w.coalesce(this)}static async toPromise(T){const M=[];for await(const A of T)M.push(A);return M}toPromise(){return w.toPromise(this)}emitOne(T){this._state===0&&(this._results.push(T),this._onStateChanged.fire())}emitMany(T){this._state===0&&(this._results=this._results.concat(T),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(T){this._state===0&&(this._state=2,this._error=T,this._onStateChanged.fire())}}e.AsyncIterableObject=w;class S extends w{constructor(T,M){super(M),this._source=T}cancel(){this._source.cancel()}}e.CancelableAsyncIterableObject=S;function L(D){const T=new d.CancellationTokenSource,M=D(T.token);return new S(T,async A=>{const P=T.token.onCancellationRequested(()=>{P.dispose(),T.dispose(),A.reject(new k.CancellationError)});try{for await(const N of M){if(T.token.isCancellationRequested)return;A.emitOne(N)}P.dispose(),T.dispose()}catch(N){P.dispose(),T.dispose(),A.reject(N)}})}}),define(ne[626],se([1,0,14,2]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ScrollbarVisibilityController=void 0;class I extends k.Disposable{constructor(y,m,_){super(),this._visibility=y,this._visibleClassName=m,this._invisibleClassName=_,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new d.TimeoutTimer)}setVisibility(y){this._visibility!==y&&(this._visibility=y,this._updateShouldBeVisible())}setShouldBeVisible(y){this._rawShouldBeVisible=y,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const y=this._applyVisibilitySetting();this._shouldBeVisible!==y&&(this._shouldBeVisible=y,this.ensureVisibility())}setIsNeeded(y){this._isNeeded!==y&&(this._isNeeded=y,this.ensureVisibility())}setDomNode(y){this._domNode=y,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(y){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(y?\" fade\":\"\")))}}e.ScrollbarVisibilityController=I}),define(ne[249],se([1,0,159,13,14,301,190,6,53]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IndexTreeModel=void 0,e.isFilterResult=b,e.getVisibleState=p;function b(t){return typeof t==\"object\"&&\"visibility\"in t&&\"data\"in t}function p(t){switch(t){case!0:return 1;case!1:return 0;default:return t}}function n(t){return typeof t.collapsible==\"boolean\"}class o{constructor(i,s,g,c={}){this.user=i,this.list=s,this.rootRef=[],this.eventBufferer=new m.EventBufferer,this._onDidChangeCollapseState=new m.Emitter,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new m.Emitter,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new m.Emitter,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new I.Delayer(E.MicrotaskDelay),this.collapseByDefault=typeof c.collapseByDefault>\"u\"?!1:c.collapseByDefault,this.allowNonCollapsibleParents=c.allowNonCollapsibleParents??!1,this.filter=c.filter,this.autoExpandSingleChildren=typeof c.autoExpandSingleChildren>\"u\"?!1:c.autoExpandSingleChildren,this.root={parent:void 0,element:g,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(i,s,g=_.Iterable.empty(),c={}){if(i.length===0)throw new d.TreeError(this.user,\"Invalid tree location\");c.diffIdentityProvider?this.spliceSmart(c.diffIdentityProvider,i,s,g,c):this.spliceSimple(i,s,g,c)}spliceSmart(i,s,g,c=_.Iterable.empty(),l,a=l.diffDepth??0){const{parentNode:r}=this.getParentNodeWithListIndex(s);if(!r.lastDiffIds)return this.spliceSimple(s,g,c,l);const u=[...c],C=s[s.length-1],f=new y.LcsDiff({getElements:()=>r.lastDiffIds},{getElements:()=>[...r.children.slice(0,C),...u,...r.children.slice(C+g)].map(L=>i.getId(L.element).toString())}).ComputeDiff(!1);if(f.quitEarly)return r.lastDiffIds=void 0,this.spliceSimple(s,g,u,l);const h=s.slice(0,-1),v=(L,D,T)=>{if(a>0)for(let M=0;M<T;M++)L--,D--,this.spliceSmart(i,[...h,L,0],Number.MAX_SAFE_INTEGER,u[D].children,l,a-1)};let w=Math.min(r.children.length,C+g),S=u.length;for(const L of f.changes.sort((D,T)=>T.originalStart-D.originalStart))v(w,S,w-(L.originalStart+L.originalLength)),w=L.originalStart,S=L.modifiedStart-C,this.spliceSimple([...h,w],L.originalLength,_.Iterable.slice(u,S,S+L.modifiedLength),l);v(w,S,w)}spliceSimple(i,s,g=_.Iterable.empty(),{onDidCreateNode:c,onDidDeleteNode:l,diffIdentityProvider:a}){const{parentNode:r,listIndex:u,revealed:C,visible:f}=this.getParentNodeWithListIndex(i),h=[],v=_.Iterable.map(g,N=>this.createTreeNode(N,r,r.visible?1:0,C,h,c)),w=i[i.length-1];let S=0;for(let N=w;N>=0&&N<r.children.length;N--){const O=r.children[N];if(O.visible){S=O.visibleChildIndex;break}}const L=[];let D=0,T=0;for(const N of v)L.push(N),T+=N.renderNodeCount,N.visible&&(N.visibleChildIndex=S+D++);const M=(0,k.splice)(r.children,w,s,L);a?r.lastDiffIds?(0,k.splice)(r.lastDiffIds,w,s,L.map(N=>a.getId(N.element).toString())):r.lastDiffIds=r.children.map(N=>a.getId(N.element).toString()):r.lastDiffIds=void 0;let A=0;for(const N of M)N.visible&&A++;if(A!==0)for(let N=w+L.length;N<r.children.length;N++){const O=r.children[N];O.visible&&(O.visibleChildIndex-=A)}if(r.visibleChildrenCount+=D-A,C&&f){const N=M.reduce((O,F)=>O+(F.visible?F.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(r,T-N),this.list.splice(u,N,h)}if(M.length>0&&l){const N=O=>{l(O),O.children.forEach(N)};M.forEach(N)}this._onDidSplice.fire({insertedNodes:L,deletedNodes:M});let P=r;for(;P;){if(P.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}P=P.parent}}rerender(i){if(i.length===0)throw new d.TreeError(this.user,\"Invalid tree location\");const{node:s,listIndex:g,revealed:c}=this.getTreeNodeWithListIndex(i);s.visible&&c&&this.list.splice(g,1,[s])}has(i){return this.hasTreeNode(i)}getListIndex(i){const{listIndex:s,visible:g,revealed:c}=this.getTreeNodeWithListIndex(i);return g&&c?s:-1}getListRenderCount(i){return this.getTreeNode(i).renderNodeCount}isCollapsible(i){return this.getTreeNode(i).collapsible}setCollapsible(i,s){const g=this.getTreeNode(i);typeof s>\"u\"&&(s=!g.collapsible);const c={collapsible:s};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(i,c))}isCollapsed(i){return this.getTreeNode(i).collapsed}setCollapsed(i,s,g){const c=this.getTreeNode(i);typeof s>\"u\"&&(s=!c.collapsed);const l={collapsed:s,recursive:g||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(i,l))}_setCollapseState(i,s){const{node:g,listIndex:c,revealed:l}=this.getTreeNodeWithListIndex(i),a=this._setListNodeCollapseState(g,c,l,s);if(g!==this.root&&this.autoExpandSingleChildren&&a&&!n(s)&&g.collapsible&&!g.collapsed&&!s.recursive){let r=-1;for(let u=0;u<g.children.length;u++)if(g.children[u].visible)if(r>-1){r=-1;break}else r=u;r>-1&&this._setCollapseState([...i,r],s)}return a}_setListNodeCollapseState(i,s,g,c){const l=this._setNodeCollapseState(i,c,!1);if(!g||!i.visible||!l)return l;const a=i.renderNodeCount,r=this.updateNodeAfterCollapseChange(i),u=a-(s===-1?0:1);return this.list.splice(s+1,u,r.slice(1)),l}_setNodeCollapseState(i,s,g){let c;if(i===this.root?c=!1:(n(s)?(c=i.collapsible!==s.collapsible,i.collapsible=s.collapsible):i.collapsible?(c=i.collapsed!==s.collapsed,i.collapsed=s.collapsed):c=!1,c&&this._onDidChangeCollapseState.fire({node:i,deep:g})),!n(s)&&s.recursive)for(const l of i.children)c=this._setNodeCollapseState(l,s,!0)||c;return c}expandTo(i){this.eventBufferer.bufferEvents(()=>{let s=this.getTreeNode(i);for(;s.parent;)s=s.parent,i=i.slice(0,i.length-1),s.collapsed&&this._setCollapseState(i,{collapsed:!1,recursive:!1})})}refilter(){const i=this.root.renderNodeCount,s=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,i,s),this.refilterDelayer.cancel()}createTreeNode(i,s,g,c,l,a){const r={parent:s,element:i.element,children:[],depth:s.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof i.collapsible==\"boolean\"?i.collapsible:typeof i.collapsed<\"u\",collapsed:typeof i.collapsed>\"u\"?this.collapseByDefault:i.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},u=this._filterNode(r,g);r.visibility=u,c&&l.push(r);const C=i.children||_.Iterable.empty(),f=c&&u!==0&&!r.collapsed;let h=0,v=1;for(const w of C){const S=this.createTreeNode(w,r,u,f,l,a);r.children.push(S),v+=S.renderNodeCount,S.visible&&(S.visibleChildIndex=h++)}return this.allowNonCollapsibleParents||(r.collapsible=r.collapsible||r.children.length>0),r.visibleChildrenCount=h,r.visible=u===2?h>0:u===1,r.visible?r.collapsed||(r.renderNodeCount=v):(r.renderNodeCount=0,c&&l.pop()),a?.(r),r}updateNodeAfterCollapseChange(i){const s=i.renderNodeCount,g=[];return this._updateNodeAfterCollapseChange(i,g),this._updateAncestorsRenderNodeCount(i.parent,g.length-s),g}_updateNodeAfterCollapseChange(i,s){if(i.visible===!1)return 0;if(s.push(i),i.renderNodeCount=1,!i.collapsed)for(const g of i.children)i.renderNodeCount+=this._updateNodeAfterCollapseChange(g,s);return this._onDidChangeRenderNodeCount.fire(i),i.renderNodeCount}updateNodeAfterFilterChange(i){const s=i.renderNodeCount,g=[];return this._updateNodeAfterFilterChange(i,i.visible?1:0,g),this._updateAncestorsRenderNodeCount(i.parent,g.length-s),g}_updateNodeAfterFilterChange(i,s,g,c=!0){let l;if(i!==this.root){if(l=this._filterNode(i,s),l===0)return i.visible=!1,i.renderNodeCount=0,!1;c&&g.push(i)}const a=g.length;i.renderNodeCount=i===this.root?0:1;let r=!1;if(!i.collapsed||l!==0){let u=0;for(const C of i.children)r=this._updateNodeAfterFilterChange(C,l,g,c&&!i.collapsed)||r,C.visible&&(C.visibleChildIndex=u++);i.visibleChildrenCount=u}else i.visibleChildrenCount=0;return i!==this.root&&(i.visible=l===2?r:l===1,i.visibility=l),i.visible?i.collapsed||(i.renderNodeCount+=g.length-a):(i.renderNodeCount=0,c&&g.pop()),this._onDidChangeRenderNodeCount.fire(i),i.visible}_updateAncestorsRenderNodeCount(i,s){if(s!==0)for(;i;)i.renderNodeCount+=s,this._onDidChangeRenderNodeCount.fire(i),i=i.parent}_filterNode(i,s){const g=this.filter?this.filter.filter(i.element,s):1;return typeof g==\"boolean\"?(i.filterData=void 0,g?1:0):b(g)?(i.filterData=g.data,p(g.visibility)):(i.filterData=void 0,p(g))}hasTreeNode(i,s=this.root){if(!i||i.length===0)return!0;const[g,...c]=i;return g<0||g>s.children.length?!1:this.hasTreeNode(c,s.children[g])}getTreeNode(i,s=this.root){if(!i||i.length===0)return s;const[g,...c]=i;if(g<0||g>s.children.length)throw new d.TreeError(this.user,\"Invalid tree location\");return this.getTreeNode(c,s.children[g])}getTreeNodeWithListIndex(i){if(i.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:s,listIndex:g,revealed:c,visible:l}=this.getParentNodeWithListIndex(i),a=i[i.length-1];if(a<0||a>s.children.length)throw new d.TreeError(this.user,\"Invalid tree location\");const r=s.children[a];return{node:r,listIndex:g,revealed:c,visible:l&&r.visible}}getParentNodeWithListIndex(i,s=this.root,g=0,c=!0,l=!0){const[a,...r]=i;if(a<0||a>s.children.length)throw new d.TreeError(this.user,\"Invalid tree location\");for(let u=0;u<a;u++)g+=s.children[u].renderNodeCount;return c=c&&!s.collapsed,l=l&&s.visible,r.length===0?{parentNode:s,listIndex:g,revealed:c,visible:l}:this.getParentNodeWithListIndex(r,s.children[a],g+1,c,l)}getNode(i=[]){return this.getTreeNode(i)}getNodeLocation(i){const s=[];let g=i;for(;g.parent;)s.push(g.parent.children.indexOf(g)),g=g.parent;return s.reverse()}getParentNodeLocation(i){if(i.length!==0)return i.length===1?[]:(0,k.tail2)(i)[0]}getFirstElementChild(i){const s=this.getTreeNode(i);if(s.children.length!==0)return s.children[0].element}}e.IndexTreeModel=o}),define(ne[250],se([1,0,249,159,53]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ObjectTreeModel=void 0;class E{constructor(m,_,b={}){this.user=m,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new d.IndexTreeModel(m,_,null,b),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,b.sorter&&(this.sorter={compare(p,n){return b.sorter.compare(p.element,n.element)}}),this.identityProvider=b.identityProvider}setChildren(m,_=I.Iterable.empty(),b={}){const p=this.getElementLocation(m);this._setChildren(p,this.preserveCollapseState(_),b)}_setChildren(m,_=I.Iterable.empty(),b){const p=new Set,n=new Set,o=i=>{if(i.element===null)return;const s=i;if(p.add(s.element),this.nodes.set(s.element,s),this.identityProvider){const g=this.identityProvider.getId(s.element).toString();n.add(g),this.nodesByIdentity.set(g,s)}b.onDidCreateNode?.(s)},t=i=>{if(i.element===null)return;const s=i;if(p.has(s.element)||this.nodes.delete(s.element),this.identityProvider){const g=this.identityProvider.getId(s.element).toString();n.has(g)||this.nodesByIdentity.delete(g)}b.onDidDeleteNode?.(s)};this.model.splice([...m,0],Number.MAX_VALUE,_,{...b,onDidCreateNode:o,onDidDeleteNode:t})}preserveCollapseState(m=I.Iterable.empty()){return this.sorter&&(m=[...m].sort(this.sorter.compare.bind(this.sorter))),I.Iterable.map(m,_=>{let b=this.nodes.get(_.element);if(!b&&this.identityProvider){const o=this.identityProvider.getId(_.element).toString();b=this.nodesByIdentity.get(o)}if(!b){let o;return typeof _.collapsed>\"u\"?o=void 0:_.collapsed===k.ObjectTreeElementCollapseState.Collapsed||_.collapsed===k.ObjectTreeElementCollapseState.PreserveOrCollapsed?o=!0:_.collapsed===k.ObjectTreeElementCollapseState.Expanded||_.collapsed===k.ObjectTreeElementCollapseState.PreserveOrExpanded?o=!1:o=!!_.collapsed,{..._,children:this.preserveCollapseState(_.children),collapsed:o}}const p=typeof _.collapsible==\"boolean\"?_.collapsible:b.collapsible;let n;return typeof _.collapsed>\"u\"||_.collapsed===k.ObjectTreeElementCollapseState.PreserveOrCollapsed||_.collapsed===k.ObjectTreeElementCollapseState.PreserveOrExpanded?n=b.collapsed:_.collapsed===k.ObjectTreeElementCollapseState.Collapsed?n=!0:_.collapsed===k.ObjectTreeElementCollapseState.Expanded?n=!1:n=!!_.collapsed,{..._,collapsible:p,collapsed:n,children:this.preserveCollapseState(_.children)}})}rerender(m){const _=this.getElementLocation(m);this.model.rerender(_)}getFirstElementChild(m=null){const _=this.getElementLocation(m);return this.model.getFirstElementChild(_)}has(m){return this.nodes.has(m)}getListIndex(m){const _=this.getElementLocation(m);return this.model.getListIndex(_)}getListRenderCount(m){const _=this.getElementLocation(m);return this.model.getListRenderCount(_)}isCollapsible(m){const _=this.getElementLocation(m);return this.model.isCollapsible(_)}setCollapsible(m,_){const b=this.getElementLocation(m);return this.model.setCollapsible(b,_)}isCollapsed(m){const _=this.getElementLocation(m);return this.model.isCollapsed(_)}setCollapsed(m,_,b){const p=this.getElementLocation(m);return this.model.setCollapsed(p,_,b)}expandTo(m){const _=this.getElementLocation(m);this.model.expandTo(_)}refilter(){this.model.refilter()}getNode(m=null){if(m===null)return this.model.getNode(this.model.rootRef);const _=this.nodes.get(m);if(!_)throw new k.TreeError(this.user,`Tree element not found: ${m}`);return _}getNodeLocation(m){return m.element}getParentNodeLocation(m){if(m===null)throw new k.TreeError(this.user,\"Invalid getParentNodeLocation call\");const _=this.nodes.get(m);if(!_)throw new k.TreeError(this.user,`Tree element not found: ${m}`);const b=this.model.getNodeLocation(_),p=this.model.getParentNodeLocation(b);return this.model.getNode(p).element}getElementLocation(m){if(m===null)return[];const _=this.nodes.get(m);if(!_)throw new k.TreeError(this.user,`Tree element not found: ${m}`);return this.model.getNodeLocation(_)}}e.ObjectTreeModel=E}),define(ne[627],se([1,0,250,159,13,6,53]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CompressibleObjectTreeModel=e.DefaultElementMapper=e.CompressedObjectTreeModel=void 0,e.compress=_,e.decompress=p;function m(a){const r=[a.element],u=a.incompressible||!1;return{element:{elements:r,incompressible:u},children:y.Iterable.map(y.Iterable.from(a.children),m),collapsible:a.collapsible,collapsed:a.collapsed}}function _(a){const r=[a.element],u=a.incompressible||!1;let C,f;for(;[f,C]=y.Iterable.consume(y.Iterable.from(a.children),2),!(f.length!==1||f[0].incompressible);)a=f[0],r.push(a.element);return{element:{elements:r,incompressible:u},children:y.Iterable.map(y.Iterable.concat(f,C),_),collapsible:a.collapsible,collapsed:a.collapsed}}function b(a,r=0){let u;return r<a.element.elements.length-1?u=[b(a,r+1)]:u=y.Iterable.map(y.Iterable.from(a.children),C=>b(C,0)),r===0&&a.element.incompressible?{element:a.element.elements[r],children:u,incompressible:!0,collapsible:a.collapsible,collapsed:a.collapsed}:{element:a.element.elements[r],children:u,collapsible:a.collapsible,collapsed:a.collapsed}}function p(a){return b(a,0)}function n(a,r,u){return a.element===r?{...a,children:u}:{...a,children:y.Iterable.map(y.Iterable.from(a.children),C=>n(C,r,u))}}const o=a=>({getId(r){return r.elements.map(u=>a.getId(u).toString()).join(\"\\0\")}});class t{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(r,u,C={}){this.user=r,this.rootRef=null,this.nodes=new Map,this.model=new d.ObjectTreeModel(r,u,C),this.enabled=typeof C.compressionEnabled>\"u\"?!0:C.compressionEnabled,this.identityProvider=C.identityProvider}setChildren(r,u=y.Iterable.empty(),C){const f=C.diffIdentityProvider&&o(C.diffIdentityProvider);if(r===null){const P=y.Iterable.map(u,this.enabled?_:m);this._setChildren(null,P,{diffIdentityProvider:f,diffDepth:1/0});return}const h=this.nodes.get(r);if(!h)throw new k.TreeError(this.user,\"Unknown compressed tree node\");const v=this.model.getNode(h),w=this.model.getParentNodeLocation(h),S=this.model.getNode(w),L=p(v),D=n(L,r,u),T=(this.enabled?_:m)(D),M=C.diffIdentityProvider?(P,N)=>C.diffIdentityProvider.getId(P)===C.diffIdentityProvider.getId(N):void 0;if((0,I.equals)(T.element.elements,v.element.elements,M)){this._setChildren(h,T.children||y.Iterable.empty(),{diffIdentityProvider:f,diffDepth:1});return}const A=S.children.map(P=>P===v?T:P);this._setChildren(S.element,A,{diffIdentityProvider:f,diffDepth:v.depth-S.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(r){if(r===this.enabled)return;this.enabled=r;const C=this.model.getNode().children,f=y.Iterable.map(C,p),h=y.Iterable.map(f,r?_:m);this._setChildren(null,h,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(r,u,C){const f=new Set,h=w=>{for(const S of w.element.elements)f.add(S),this.nodes.set(S,w.element)},v=w=>{for(const S of w.element.elements)f.has(S)||this.nodes.delete(S)};this.model.setChildren(r,u,{...C,onDidCreateNode:h,onDidDeleteNode:v})}has(r){return this.nodes.has(r)}getListIndex(r){const u=this.getCompressedNode(r);return this.model.getListIndex(u)}getListRenderCount(r){const u=this.getCompressedNode(r);return this.model.getListRenderCount(u)}getNode(r){if(typeof r>\"u\")return this.model.getNode();const u=this.getCompressedNode(r);return this.model.getNode(u)}getNodeLocation(r){const u=this.model.getNodeLocation(r);return u===null?null:u.elements[u.elements.length-1]}getParentNodeLocation(r){const u=this.getCompressedNode(r),C=this.model.getParentNodeLocation(u);return C===null?null:C.elements[C.elements.length-1]}getFirstElementChild(r){const u=this.getCompressedNode(r);return this.model.getFirstElementChild(u)}isCollapsible(r){const u=this.getCompressedNode(r);return this.model.isCollapsible(u)}setCollapsible(r,u){const C=this.getCompressedNode(r);return this.model.setCollapsible(C,u)}isCollapsed(r){const u=this.getCompressedNode(r);return this.model.isCollapsed(u)}setCollapsed(r,u,C){const f=this.getCompressedNode(r);return this.model.setCollapsed(f,u,C)}expandTo(r){const u=this.getCompressedNode(r);this.model.expandTo(u)}rerender(r){const u=this.getCompressedNode(r);this.model.rerender(u)}refilter(){this.model.refilter()}getCompressedNode(r){if(r===null)return null;const u=this.nodes.get(r);if(!u)throw new k.TreeError(this.user,`Tree element not found: ${r}`);return u}}e.CompressedObjectTreeModel=t;const i=a=>a[a.length-1];e.DefaultElementMapper=i;class s{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(r=>new s(this.unwrapper,r))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(r,u){this.unwrapper=r,this.node=u}}function g(a,r){return{splice(u,C,f){r.splice(u,C,f.map(h=>a.map(h)))},updateElementHeight(u,C){r.updateElementHeight(u,C)}}}function c(a,r){return{...r,identityProvider:r.identityProvider&&{getId(u){return r.identityProvider.getId(a(u))}},sorter:r.sorter&&{compare(u,C){return r.sorter.compare(u.elements[0],C.elements[0])}},filter:r.filter&&{filter(u,C){return r.filter.filter(a(u),C)}}}}class l{get onDidSplice(){return E.Event.map(this.model.onDidSplice,({insertedNodes:r,deletedNodes:u})=>({insertedNodes:r.map(C=>this.nodeMapper.map(C)),deletedNodes:u.map(C=>this.nodeMapper.map(C))}))}get onDidChangeCollapseState(){return E.Event.map(this.model.onDidChangeCollapseState,({node:r,deep:u})=>({node:this.nodeMapper.map(r),deep:u}))}get onDidChangeRenderNodeCount(){return E.Event.map(this.model.onDidChangeRenderNodeCount,r=>this.nodeMapper.map(r))}constructor(r,u,C={}){this.rootRef=null,this.elementMapper=C.elementMapper||e.DefaultElementMapper;const f=h=>this.elementMapper(h.elements);this.nodeMapper=new k.WeakMapper(h=>new s(f,h)),this.model=new t(r,g(this.nodeMapper,u),c(f,C))}setChildren(r,u=y.Iterable.empty(),C={}){this.model.setChildren(r,u,C)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(r){this.model.setCompressionEnabled(r)}has(r){return this.model.has(r)}getListIndex(r){return this.model.getListIndex(r)}getListRenderCount(r){return this.model.getListRenderCount(r)}getNode(r){return this.nodeMapper.map(this.model.getNode(r))}getNodeLocation(r){return r.element}getParentNodeLocation(r){return this.model.getParentNodeLocation(r)}getFirstElementChild(r){const u=this.model.getFirstElementChild(r);return u===null||typeof u>\"u\"?u:this.elementMapper(u.elements)}isCollapsible(r){return this.model.isCollapsible(r)}setCollapsible(r,u){return this.model.setCollapsible(r,u)}isCollapsed(r){return this.model.isCollapsed(r)}setCollapsed(r,u,C){return this.model.setCollapsed(r,u,C)}expandTo(r){return this.model.expandTo(r)}rerender(r){return this.model.rerender(r)}refilter(){return this.model.refilter()}getCompressedTreeNode(r=null){return this.model.getNode(r)}}e.CompressibleObjectTreeModel=l}),define(ne[348],se([1,0,16]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.platform=e.env=e.cwd=void 0;let k;const I=globalThis.vscode;if(typeof I<\"u\"&&typeof I.process<\"u\"){const E=I.process;k={get platform(){return E.platform},get arch(){return E.arch},get env(){return E.env},cwd(){return E.cwd()}}}else typeof process<\"u\"&&typeof process?.versions?.node==\"string\"?k={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:k={get platform(){return d.isWindows?\"win32\":d.isMacintosh?\"darwin\":\"linux\"},get arch(){},get env(){return{}},cwd(){return\"/\"}};e.cwd=k.cwd,e.env=k.env,e.platform=k.platform}),define(ne[349],se([1,0,348]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isHotReloadEnabled=k,e.registerHotReloadHandler=I;function k(){return d.env&&!!d.env.VSCODE_DEV}function I(m){if(k()){const _=E();return _.add(m),{dispose(){_.delete(m)}}}else return{dispose(){}}}function E(){y||(y=new Set);const m=globalThis;return m.$hotReload_applyNewExports||(m.$hotReload_applyNewExports=_=>{const b={config:{mode:void 0},..._},p=[];for(const n of y){const o=n(b);o&&p.push(o)}if(p.length>0)return n=>{let o=!1;for(const t of p)t(n)&&(o=!0);return o}}),y}let y;k()&&I(({oldExports:m,newSrc:_,config:b})=>{if(b.mode===\"patch-prototype\")return p=>{for(const n in p){const o=p[n];if(console.log(`[hot-reload] Patching prototype methods of '${n}'`,{exportedItem:o}),typeof o==\"function\"&&o.prototype){const t=m[n];if(t){for(const i of Object.getOwnPropertyNames(o.prototype)){const s=Object.getOwnPropertyDescriptor(o.prototype,i),g=Object.getOwnPropertyDescriptor(t.prototype,i);s?.value?.toString()!==g?.value?.toString()&&console.log(`[hot-reload] Patching prototype method '${n}.${i}'`),Object.defineProperty(t.prototype,i,s)}p[n]=t}}}return!0}})}),define(ne[171],se([1,0,349,21]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.readHotReloadableExport=I,e.observeHotReloadableExports=E;function I(y,m){return E([y],m),y}function E(y,m){(0,d.isHotReloadEnabled)()&&(0,k.observableSignalFromEvent)(\"reload\",b=>(0,d.registerHotReloadHandler)(({oldExports:p})=>{if([...Object.values(p)].some(n=>y.includes(n)))return n=>(b(void 0),!0)})).read(m)}}),define(ne[99],se([1,0,348]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.sep=e.extname=e.basename=e.dirname=e.relative=e.resolve=e.join=e.normalize=e.posix=e.win32=void 0;const k=65,I=97,E=90,y=122,m=46,_=47,b=92,p=58,n=63;class o extends Error{constructor(h,v,w){let S;typeof v==\"string\"&&v.indexOf(\"not \")===0?(S=\"must not be\",v=v.replace(/^not /,\"\")):S=\"must be\";const L=h.indexOf(\".\")!==-1?\"property\":\"argument\";let D=`The \"${h}\" ${L} ${S} of type ${v}`;D+=`. Received type ${typeof w}`,super(D),this.code=\"ERR_INVALID_ARG_TYPE\"}}function t(f,h){if(f===null||typeof f!=\"object\")throw new o(h,\"Object\",f)}function i(f,h){if(typeof f!=\"string\")throw new o(h,\"string\",f)}const s=d.platform===\"win32\";function g(f){return f===_||f===b}function c(f){return f===_}function l(f){return f>=k&&f<=E||f>=I&&f<=y}function a(f,h,v,w){let S=\"\",L=0,D=-1,T=0,M=0;for(let A=0;A<=f.length;++A){if(A<f.length)M=f.charCodeAt(A);else{if(w(M))break;M=_}if(w(M)){if(!(D===A-1||T===1))if(T===2){if(S.length<2||L!==2||S.charCodeAt(S.length-1)!==m||S.charCodeAt(S.length-2)!==m){if(S.length>2){const P=S.lastIndexOf(v);P===-1?(S=\"\",L=0):(S=S.slice(0,P),L=S.length-1-S.lastIndexOf(v)),D=A,T=0;continue}else if(S.length!==0){S=\"\",L=0,D=A,T=0;continue}}h&&(S+=S.length>0?`${v}..`:\"..\",L=2)}else S.length>0?S+=`${v}${f.slice(D+1,A)}`:S=f.slice(D+1,A),L=A-D-1;D=A,T=0}else M===m&&T!==-1?++T:T=-1}return S}function r(f){return f?`${f[0]===\".\"?\"\":\".\"}${f}`:\"\"}function u(f,h){t(h,\"pathObject\");const v=h.dir||h.root,w=h.base||`${h.name||\"\"}${r(h.ext)}`;return v?v===h.root?`${v}${w}`:`${v}${f}${w}`:w}e.win32={resolve(...f){let h=\"\",v=\"\",w=!1;for(let S=f.length-1;S>=-1;S--){let L;if(S>=0){if(L=f[S],i(L,`paths[${S}]`),L.length===0)continue}else h.length===0?L=d.cwd():(L=d.env[`=${h}`]||d.cwd(),(L===void 0||L.slice(0,2).toLowerCase()!==h.toLowerCase()&&L.charCodeAt(2)===b)&&(L=`${h}\\\\`));const D=L.length;let T=0,M=\"\",A=!1;const P=L.charCodeAt(0);if(D===1)g(P)&&(T=1,A=!0);else if(g(P))if(A=!0,g(L.charCodeAt(1))){let N=2,O=N;for(;N<D&&!g(L.charCodeAt(N));)N++;if(N<D&&N!==O){const F=L.slice(O,N);for(O=N;N<D&&g(L.charCodeAt(N));)N++;if(N<D&&N!==O){for(O=N;N<D&&!g(L.charCodeAt(N));)N++;(N===D||N!==O)&&(M=`\\\\\\\\${F}\\\\${L.slice(O,N)}`,T=N)}}}else T=1;else l(P)&&L.charCodeAt(1)===p&&(M=L.slice(0,2),T=2,D>2&&g(L.charCodeAt(2))&&(A=!0,T=3));if(M.length>0)if(h.length>0){if(M.toLowerCase()!==h.toLowerCase())continue}else h=M;if(w){if(h.length>0)break}else if(v=`${L.slice(T)}\\\\${v}`,w=A,A&&h.length>0)break}return v=a(v,!w,\"\\\\\",g),w?`${h}\\\\${v}`:`${h}${v}`||\".\"},normalize(f){i(f,\"path\");const h=f.length;if(h===0)return\".\";let v=0,w,S=!1;const L=f.charCodeAt(0);if(h===1)return c(L)?\"\\\\\":f;if(g(L))if(S=!0,g(f.charCodeAt(1))){let T=2,M=T;for(;T<h&&!g(f.charCodeAt(T));)T++;if(T<h&&T!==M){const A=f.slice(M,T);for(M=T;T<h&&g(f.charCodeAt(T));)T++;if(T<h&&T!==M){for(M=T;T<h&&!g(f.charCodeAt(T));)T++;if(T===h)return`\\\\\\\\${A}\\\\${f.slice(M)}\\\\`;T!==M&&(w=`\\\\\\\\${A}\\\\${f.slice(M,T)}`,v=T)}}}else v=1;else l(L)&&f.charCodeAt(1)===p&&(w=f.slice(0,2),v=2,h>2&&g(f.charCodeAt(2))&&(S=!0,v=3));let D=v<h?a(f.slice(v),!S,\"\\\\\",g):\"\";return D.length===0&&!S&&(D=\".\"),D.length>0&&g(f.charCodeAt(h-1))&&(D+=\"\\\\\"),w===void 0?S?`\\\\${D}`:D:S?`${w}\\\\${D}`:`${w}${D}`},isAbsolute(f){i(f,\"path\");const h=f.length;if(h===0)return!1;const v=f.charCodeAt(0);return g(v)||h>2&&l(v)&&f.charCodeAt(1)===p&&g(f.charCodeAt(2))},join(...f){if(f.length===0)return\".\";let h,v;for(let L=0;L<f.length;++L){const D=f[L];i(D,\"path\"),D.length>0&&(h===void 0?h=v=D:h+=`\\\\${D}`)}if(h===void 0)return\".\";let w=!0,S=0;if(typeof v==\"string\"&&g(v.charCodeAt(0))){++S;const L=v.length;L>1&&g(v.charCodeAt(1))&&(++S,L>2&&(g(v.charCodeAt(2))?++S:w=!1))}if(w){for(;S<h.length&&g(h.charCodeAt(S));)S++;S>=2&&(h=`\\\\${h.slice(S)}`)}return e.win32.normalize(h)},relative(f,h){if(i(f,\"from\"),i(h,\"to\"),f===h)return\"\";const v=e.win32.resolve(f),w=e.win32.resolve(h);if(v===w||(f=v.toLowerCase(),h=w.toLowerCase(),f===h))return\"\";let S=0;for(;S<f.length&&f.charCodeAt(S)===b;)S++;let L=f.length;for(;L-1>S&&f.charCodeAt(L-1)===b;)L--;const D=L-S;let T=0;for(;T<h.length&&h.charCodeAt(T)===b;)T++;let M=h.length;for(;M-1>T&&h.charCodeAt(M-1)===b;)M--;const A=M-T,P=D<A?D:A;let N=-1,O=0;for(;O<P;O++){const x=f.charCodeAt(S+O);if(x!==h.charCodeAt(T+O))break;x===b&&(N=O)}if(O!==P){if(N===-1)return w}else{if(A>P){if(h.charCodeAt(T+O)===b)return w.slice(T+O+1);if(O===2)return w.slice(T+O)}D>P&&(f.charCodeAt(S+O)===b?N=O:O===2&&(N=3)),N===-1&&(N=0)}let F=\"\";for(O=S+N+1;O<=L;++O)(O===L||f.charCodeAt(O)===b)&&(F+=F.length===0?\"..\":\"\\\\..\");return T+=N,F.length>0?`${F}${w.slice(T,M)}`:(w.charCodeAt(T)===b&&++T,w.slice(T,M))},toNamespacedPath(f){if(typeof f!=\"string\"||f.length===0)return f;const h=e.win32.resolve(f);if(h.length<=2)return f;if(h.charCodeAt(0)===b){if(h.charCodeAt(1)===b){const v=h.charCodeAt(2);if(v!==n&&v!==m)return`\\\\\\\\?\\\\UNC\\\\${h.slice(2)}`}}else if(l(h.charCodeAt(0))&&h.charCodeAt(1)===p&&h.charCodeAt(2)===b)return`\\\\\\\\?\\\\${h}`;return f},dirname(f){i(f,\"path\");const h=f.length;if(h===0)return\".\";let v=-1,w=0;const S=f.charCodeAt(0);if(h===1)return g(S)?f:\".\";if(g(S)){if(v=w=1,g(f.charCodeAt(1))){let T=2,M=T;for(;T<h&&!g(f.charCodeAt(T));)T++;if(T<h&&T!==M){for(M=T;T<h&&g(f.charCodeAt(T));)T++;if(T<h&&T!==M){for(M=T;T<h&&!g(f.charCodeAt(T));)T++;if(T===h)return f;T!==M&&(v=w=T+1)}}}}else l(S)&&f.charCodeAt(1)===p&&(v=h>2&&g(f.charCodeAt(2))?3:2,w=v);let L=-1,D=!0;for(let T=h-1;T>=w;--T)if(g(f.charCodeAt(T))){if(!D){L=T;break}}else D=!1;if(L===-1){if(v===-1)return\".\";L=v}return f.slice(0,L)},basename(f,h){h!==void 0&&i(h,\"suffix\"),i(f,\"path\");let v=0,w=-1,S=!0,L;if(f.length>=2&&l(f.charCodeAt(0))&&f.charCodeAt(1)===p&&(v=2),h!==void 0&&h.length>0&&h.length<=f.length){if(h===f)return\"\";let D=h.length-1,T=-1;for(L=f.length-1;L>=v;--L){const M=f.charCodeAt(L);if(g(M)){if(!S){v=L+1;break}}else T===-1&&(S=!1,T=L+1),D>=0&&(M===h.charCodeAt(D)?--D===-1&&(w=L):(D=-1,w=T))}return v===w?w=T:w===-1&&(w=f.length),f.slice(v,w)}for(L=f.length-1;L>=v;--L)if(g(f.charCodeAt(L))){if(!S){v=L+1;break}}else w===-1&&(S=!1,w=L+1);return w===-1?\"\":f.slice(v,w)},extname(f){i(f,\"path\");let h=0,v=-1,w=0,S=-1,L=!0,D=0;f.length>=2&&f.charCodeAt(1)===p&&l(f.charCodeAt(0))&&(h=w=2);for(let T=f.length-1;T>=h;--T){const M=f.charCodeAt(T);if(g(M)){if(!L){w=T+1;break}continue}S===-1&&(L=!1,S=T+1),M===m?v===-1?v=T:D!==1&&(D=1):v!==-1&&(D=-1)}return v===-1||S===-1||D===0||D===1&&v===S-1&&v===w+1?\"\":f.slice(v,S)},format:u.bind(null,\"\\\\\"),parse(f){i(f,\"path\");const h={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(f.length===0)return h;const v=f.length;let w=0,S=f.charCodeAt(0);if(v===1)return g(S)?(h.root=h.dir=f,h):(h.base=h.name=f,h);if(g(S)){if(w=1,g(f.charCodeAt(1))){let N=2,O=N;for(;N<v&&!g(f.charCodeAt(N));)N++;if(N<v&&N!==O){for(O=N;N<v&&g(f.charCodeAt(N));)N++;if(N<v&&N!==O){for(O=N;N<v&&!g(f.charCodeAt(N));)N++;N===v?w=N:N!==O&&(w=N+1)}}}}else if(l(S)&&f.charCodeAt(1)===p){if(v<=2)return h.root=h.dir=f,h;if(w=2,g(f.charCodeAt(2))){if(v===3)return h.root=h.dir=f,h;w=3}}w>0&&(h.root=f.slice(0,w));let L=-1,D=w,T=-1,M=!0,A=f.length-1,P=0;for(;A>=w;--A){if(S=f.charCodeAt(A),g(S)){if(!M){D=A+1;break}continue}T===-1&&(M=!1,T=A+1),S===m?L===-1?L=A:P!==1&&(P=1):L!==-1&&(P=-1)}return T!==-1&&(L===-1||P===0||P===1&&L===T-1&&L===D+1?h.base=h.name=f.slice(D,T):(h.name=f.slice(D,L),h.base=f.slice(D,T),h.ext=f.slice(L,T))),D>0&&D!==w?h.dir=f.slice(0,D-1):h.dir=h.root,h},sep:\"\\\\\",delimiter:\";\",win32:null,posix:null};const C=(()=>{if(s){const f=/\\\\/g;return()=>{const h=d.cwd().replace(f,\"/\");return h.slice(h.indexOf(\"/\"))}}return()=>d.cwd()})();e.posix={resolve(...f){let h=\"\",v=!1;for(let w=f.length-1;w>=-1&&!v;w--){const S=w>=0?f[w]:C();i(S,`paths[${w}]`),S.length!==0&&(h=`${S}/${h}`,v=S.charCodeAt(0)===_)}return h=a(h,!v,\"/\",c),v?`/${h}`:h.length>0?h:\".\"},normalize(f){if(i(f,\"path\"),f.length===0)return\".\";const h=f.charCodeAt(0)===_,v=f.charCodeAt(f.length-1)===_;return f=a(f,!h,\"/\",c),f.length===0?h?\"/\":v?\"./\":\".\":(v&&(f+=\"/\"),h?`/${f}`:f)},isAbsolute(f){return i(f,\"path\"),f.length>0&&f.charCodeAt(0)===_},join(...f){if(f.length===0)return\".\";let h;for(let v=0;v<f.length;++v){const w=f[v];i(w,\"path\"),w.length>0&&(h===void 0?h=w:h+=`/${w}`)}return h===void 0?\".\":e.posix.normalize(h)},relative(f,h){if(i(f,\"from\"),i(h,\"to\"),f===h||(f=e.posix.resolve(f),h=e.posix.resolve(h),f===h))return\"\";const v=1,w=f.length,S=w-v,L=1,D=h.length-L,T=S<D?S:D;let M=-1,A=0;for(;A<T;A++){const N=f.charCodeAt(v+A);if(N!==h.charCodeAt(L+A))break;N===_&&(M=A)}if(A===T)if(D>T){if(h.charCodeAt(L+A)===_)return h.slice(L+A+1);if(A===0)return h.slice(L+A)}else S>T&&(f.charCodeAt(v+A)===_?M=A:A===0&&(M=0));let P=\"\";for(A=v+M+1;A<=w;++A)(A===w||f.charCodeAt(A)===_)&&(P+=P.length===0?\"..\":\"/..\");return`${P}${h.slice(L+M)}`},toNamespacedPath(f){return f},dirname(f){if(i(f,\"path\"),f.length===0)return\".\";const h=f.charCodeAt(0)===_;let v=-1,w=!0;for(let S=f.length-1;S>=1;--S)if(f.charCodeAt(S)===_){if(!w){v=S;break}}else w=!1;return v===-1?h?\"/\":\".\":h&&v===1?\"//\":f.slice(0,v)},basename(f,h){h!==void 0&&i(h,\"ext\"),i(f,\"path\");let v=0,w=-1,S=!0,L;if(h!==void 0&&h.length>0&&h.length<=f.length){if(h===f)return\"\";let D=h.length-1,T=-1;for(L=f.length-1;L>=0;--L){const M=f.charCodeAt(L);if(M===_){if(!S){v=L+1;break}}else T===-1&&(S=!1,T=L+1),D>=0&&(M===h.charCodeAt(D)?--D===-1&&(w=L):(D=-1,w=T))}return v===w?w=T:w===-1&&(w=f.length),f.slice(v,w)}for(L=f.length-1;L>=0;--L)if(f.charCodeAt(L)===_){if(!S){v=L+1;break}}else w===-1&&(S=!1,w=L+1);return w===-1?\"\":f.slice(v,w)},extname(f){i(f,\"path\");let h=-1,v=0,w=-1,S=!0,L=0;for(let D=f.length-1;D>=0;--D){const T=f.charCodeAt(D);if(T===_){if(!S){v=D+1;break}continue}w===-1&&(S=!1,w=D+1),T===m?h===-1?h=D:L!==1&&(L=1):h!==-1&&(L=-1)}return h===-1||w===-1||L===0||L===1&&h===w-1&&h===v+1?\"\":f.slice(h,w)},format:u.bind(null,\"/\"),parse(f){i(f,\"path\");const h={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(f.length===0)return h;const v=f.charCodeAt(0)===_;let w;v?(h.root=\"/\",w=1):w=0;let S=-1,L=0,D=-1,T=!0,M=f.length-1,A=0;for(;M>=w;--M){const P=f.charCodeAt(M);if(P===_){if(!T){L=M+1;break}continue}D===-1&&(T=!1,D=M+1),P===m?S===-1?S=M:A!==1&&(A=1):S!==-1&&(A=-1)}if(D!==-1){const P=L===0&&v?1:L;S===-1||A===0||A===1&&S===D-1&&S===L+1?h.base=h.name=f.slice(P,D):(h.name=f.slice(P,S),h.base=f.slice(P,D),h.ext=f.slice(S,D))}return L>0?h.dir=f.slice(0,L-1):v&&(h.dir=\"/\"),h},sep:\"/\",delimiter:\":\",win32:null,posix:null},e.posix.win32=e.win32.win32=e.win32,e.posix.posix=e.win32.posix=e.posix,e.normalize=s?e.win32.normalize:e.posix.normalize,e.join=s?e.win32.join:e.posix.join,e.resolve=s?e.win32.resolve:e.posix.resolve,e.relative=s?e.win32.relative:e.posix.relative,e.dirname=s?e.win32.dirname:e.posix.dirname,e.basename=s?e.win32.basename:e.posix.basename,e.extname=s?e.win32.extname:e.posix.extname,e.sep=s?e.win32.sep:e.posix.sep}),define(ne[251],se([1,0,99,16,11]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isPathSeparator=E,e.toSlashes=y,e.toPosixPath=m,e.getRoot=_,e.isEqualOrParent=b,e.isWindowsDriveLetter=p,e.hasDriveLetter=n;function E(o){return o===47||o===92}function y(o){return o.replace(/[\\\\/]/g,d.posix.sep)}function m(o){return o.indexOf(\"/\")===-1&&(o=y(o)),/^[a-zA-Z]:(\\/|$)/.test(o)&&(o=\"/\"+o),o}function _(o,t=d.posix.sep){if(!o)return\"\";const i=o.length,s=o.charCodeAt(0);if(E(s)){if(E(o.charCodeAt(1))&&!E(o.charCodeAt(2))){let c=3;const l=c;for(;c<i&&!E(o.charCodeAt(c));c++);if(l!==c&&!E(o.charCodeAt(c+1))){for(c+=1;c<i;c++)if(E(o.charCodeAt(c)))return o.slice(0,c+1).replace(/[\\\\/]/g,t)}}return t}else if(p(s)&&o.charCodeAt(1)===58)return E(o.charCodeAt(2))?o.slice(0,2)+t:o.slice(0,2);let g=o.indexOf(\"://\");if(g!==-1){for(g+=3;g<i;g++)if(E(o.charCodeAt(g)))return o.slice(0,g+1)}return\"\"}function b(o,t,i,s=d.sep){if(o===t)return!0;if(!o||!t||t.length>o.length)return!1;if(i){if(!(0,I.startsWithIgnoreCase)(o,t))return!1;if(t.length===o.length)return!0;let c=t.length;return t.charAt(t.length-1)===s&&c--,o.charAt(c)===s}return t.charAt(t.length-1)!==s&&(t+=s),o.indexOf(t)===0}function p(o){return o>=65&&o<=90||o>=97&&o<=122}function n(o,t=k.isWindows){return t?p(o.charCodeAt(0))&&o.charCodeAt(1)===58:!1}}),define(ne[628],se([1,0,82,99,16,11]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.scoreFuzzy2=m,e.prepareQuery=s,e.pieceToQuery=c;const y=[void 0,[]];function m(l,a,r=0,u=0){const C=a;return C.values&&C.values.length>1?_(l,C.values,r,u):b(l,a,r,u)}function _(l,a,r,u){let C=0;const f=[];for(const h of a){const[v,w]=b(l,h,r,u);if(typeof v!=\"number\")return y;C+=v,f.push(...w)}return[C,n(f)]}function b(l,a,r,u){const C=(0,d.fuzzyScore)(a.original,a.originalLowercase,r,l,l.toLowerCase(),u,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return C?[C[0],(0,d.createMatches)(C)]:y}const p=Object.freeze({score:0});function n(l){const a=l.sort((C,f)=>C.start-f.start),r=[];let u;for(const C of a)!u||!o(u,C)?(u=C,r.push(C)):(u.start=Math.min(u.start,C.start),u.end=Math.max(u.end,C.end));return r}function o(l,a){return!(l.end<a.start||a.end<l.start)}function t(l){return l.startsWith('\"')&&l.endsWith('\"')}const i=\" \";function s(l){typeof l!=\"string\"&&(l=\"\");const a=l.toLowerCase(),{pathNormalized:r,normalized:u,normalizedLowercase:C}=g(l),f=r.indexOf(k.sep)>=0,h=t(l);let v;const w=l.split(i);if(w.length>1)for(const S of w){const L=t(S),{pathNormalized:D,normalized:T,normalizedLowercase:M}=g(S);T&&(v||(v=[]),v.push({original:S,originalLowercase:S.toLowerCase(),pathNormalized:D,normalized:T,normalizedLowercase:M,expectContiguousMatch:L}))}return{original:l,originalLowercase:a,pathNormalized:r,normalized:u,normalizedLowercase:C,values:v,containsPathSeparator:f,expectContiguousMatch:h}}function g(l){let a;I.isWindows?a=l.replace(/\\//g,k.sep):a=l.replace(/\\\\/g,k.sep);const r=(0,E.stripWildcards)(a).replace(/\\s|\"/g,\"\");return{pathNormalized:a,normalized:r,normalizedLowercase:r.toLowerCase()}}function c(l){return Array.isArray(l)?s(l.map(a=>a.original).join(i)):s(l.original)}}),define(ne[350],se([1,0,14,251,45,99,16,11]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GLOB_SPLIT=e.GLOBSTAR=void 0,e.splitGlobAware=o,e.match=M,e.parse=A,e.isRelativePattern=P,e.GLOBSTAR=\"**\",e.GLOB_SPLIT=\"/\";const _=\"[/\\\\\\\\]\",b=\"[^/\\\\\\\\]\",p=/\\//g;function n(x,W){switch(x){case 0:return\"\";case 1:return`${b}*?`;default:return`(?:${_}|${b}+${_}${W?`|${_}${b}+`:\"\"})*?`}}function o(x,W){if(!x)return[];const V=[];let q=!1,H=!1,z=\"\";for(const U of x){switch(U){case W:if(!q&&!H){V.push(z),z=\"\";continue}break;case\"{\":q=!0;break;case\"}\":q=!1;break;case\"[\":H=!0;break;case\"]\":H=!1;break}z+=U}return z&&V.push(z),V}function t(x){if(!x)return\"\";let W=\"\";const V=o(x,e.GLOB_SPLIT);if(V.every(q=>q===e.GLOBSTAR))W=\".*\";else{let q=!1;V.forEach((H,z)=>{if(H===e.GLOBSTAR){if(q)return;W+=n(2,z===V.length-1)}else{let U=!1,j=\"\",Y=!1,G=\"\";for(const K of H){if(K!==\"}\"&&U){j+=K;continue}if(Y&&(K!==\"]\"||!G)){let R;K===\"-\"?R=K:(K===\"^\"||K===\"!\")&&!G?R=\"^\":K===e.GLOB_SPLIT?R=\"\":R=(0,m.escapeRegExpCharacters)(K),G+=R;continue}switch(K){case\"{\":U=!0;continue;case\"[\":Y=!0;continue;case\"}\":{const J=`(?:${o(j,\",\").map(ie=>t(ie)).join(\"|\")})`;W+=J,U=!1,j=\"\";break}case\"]\":{W+=\"[\"+G+\"]\",Y=!1,G=\"\";break}case\"?\":W+=b;continue;case\"*\":W+=n(1);continue;default:W+=(0,m.escapeRegExpCharacters)(K)}}z<V.length-1&&(V[z+1]!==e.GLOBSTAR||z+2<V.length)&&(W+=_)}q=H===e.GLOBSTAR})}return W}const i=/^\\*\\*\\/\\*\\.[\\w\\.-]+$/,s=/^\\*\\*\\/([\\w\\.-]+)\\/?$/,g=/^{\\*\\*\\/\\*?[\\w\\.-]+\\/?(,\\*\\*\\/\\*?[\\w\\.-]+\\/?)*}$/,c=/^{\\*\\*\\/\\*?[\\w\\.-]+(\\/(\\*\\*)?)?(,\\*\\*\\/\\*?[\\w\\.-]+(\\/(\\*\\*)?)?)*}$/,l=/^\\*\\*((\\/[\\w\\.-]+)+)\\/?$/,a=/^([\\w\\.-]+(\\/[\\w\\.-]+)*)\\/?$/,r=new I.LRUCache(1e4),u=function(){return!1},C=function(){return null};function f(x,W){if(!x)return C;let V;typeof x!=\"string\"?V=x.pattern:V=x,V=V.trim();const q=`${V}_${!!W.trimForExclusions}`;let H=r.get(q);if(H)return h(H,x);let z;return i.test(V)?H=w(V.substr(4),V):(z=s.exec(v(V,W)))?H=S(z[1],V):(W.trimForExclusions?c:g).test(V)?H=L(V,W):(z=l.exec(v(V,W)))?H=D(z[1].substr(1),V,!0):(z=a.exec(v(V,W)))?H=D(z[1],V,!1):H=T(V),r.set(q,H),h(H,x)}function h(x,W){if(typeof W==\"string\")return x;const V=function(q,H){return(0,k.isEqualOrParent)(q,W.base,!y.isLinux)?x((0,m.ltrim)(q.substr(W.base.length),E.sep),H):null};return V.allBasenames=x.allBasenames,V.allPaths=x.allPaths,V.basenames=x.basenames,V.patterns=x.patterns,V}function v(x,W){return W.trimForExclusions&&x.endsWith(\"/**\")?x.substr(0,x.length-2):x}function w(x,W){return function(V,q){return typeof V==\"string\"&&V.endsWith(x)?W:null}}function S(x,W){const V=`/${x}`,q=`\\\\${x}`,H=function(U,j){return typeof U!=\"string\"?null:j?j===x?W:null:U===x||U.endsWith(V)||U.endsWith(q)?W:null},z=[x];return H.basenames=z,H.patterns=[W],H.allBasenames=z,H}function L(x,W){const V=F(x.slice(1,-1).split(\",\").map(j=>f(j,W)).filter(j=>j!==C),x),q=V.length;if(!q)return C;if(q===1)return V[0];const H=function(j,Y){for(let G=0,K=V.length;G<K;G++)if(V[G](j,Y))return x;return null},z=V.find(j=>!!j.allBasenames);z&&(H.allBasenames=z.allBasenames);const U=V.reduce((j,Y)=>Y.allPaths?j.concat(Y.allPaths):j,[]);return U.length&&(H.allPaths=U),H}function D(x,W,V){const q=E.sep===E.posix.sep,H=q?x:x.replace(p,E.sep),z=E.sep+H,U=E.posix.sep+x;let j;return V?j=function(Y,G){return typeof Y==\"string\"&&(Y===H||Y.endsWith(z)||!q&&(Y===x||Y.endsWith(U)))?W:null}:j=function(Y,G){return typeof Y==\"string\"&&(Y===H||!q&&Y===x)?W:null},j.allPaths=[(V?\"*/\":\"./\")+x],j}function T(x){try{const W=new RegExp(`^${t(x)}$`);return function(V){return W.lastIndex=0,typeof V==\"string\"&&W.test(V)?x:null}}catch{return C}}function M(x,W,V){return!x||typeof W!=\"string\"?!1:A(x)(W,void 0,V)}function A(x,W={}){if(!x)return u;if(typeof x==\"string\"||P(x)){const V=f(x,W);if(V===C)return u;const q=function(H,z){return!!V(H,z)};return V.allBasenames&&(q.allBasenames=V.allBasenames),V.allPaths&&(q.allPaths=V.allPaths),q}return N(x,W)}function P(x){const W=x;return W?typeof W.base==\"string\"&&typeof W.pattern==\"string\":!1}function N(x,W){const V=F(Object.getOwnPropertyNames(x).map(j=>O(j,x[j],W)).filter(j=>j!==C)),q=V.length;if(!q)return C;if(!V.some(j=>!!j.requiresSiblings)){if(q===1)return V[0];const j=function(K,R){let J;for(let ie=0,ue=V.length;ie<ue;ie++){const he=V[ie](K,R);if(typeof he==\"string\")return he;(0,d.isThenable)(he)&&(J||(J=[]),J.push(he))}return J?(async()=>{for(const ie of J){const ue=await ie;if(typeof ue==\"string\")return ue}return null})():null},Y=V.find(K=>!!K.allBasenames);Y&&(j.allBasenames=Y.allBasenames);const G=V.reduce((K,R)=>R.allPaths?K.concat(R.allPaths):K,[]);return G.length&&(j.allPaths=G),j}const H=function(j,Y,G){let K,R;for(let J=0,ie=V.length;J<ie;J++){const ue=V[J];ue.requiresSiblings&&G&&(Y||(Y=(0,E.basename)(j)),K||(K=Y.substr(0,Y.length-(0,E.extname)(j).length)));const he=ue(j,Y,K,G);if(typeof he==\"string\")return he;(0,d.isThenable)(he)&&(R||(R=[]),R.push(he))}return R?(async()=>{for(const J of R){const ie=await J;if(typeof ie==\"string\")return ie}return null})():null},z=V.find(j=>!!j.allBasenames);z&&(H.allBasenames=z.allBasenames);const U=V.reduce((j,Y)=>Y.allPaths?j.concat(Y.allPaths):j,[]);return U.length&&(H.allPaths=U),H}function O(x,W,V){if(W===!1)return C;const q=f(x,V);if(q===C)return C;if(typeof W==\"boolean\")return q;if(W){const H=W.when;if(typeof H==\"string\"){const z=(U,j,Y,G)=>{if(!G||!q(U,j))return null;const K=H.replace(\"$(basename)\",()=>Y),R=G(K);return(0,d.isThenable)(R)?R.then(J=>J?x:null):R?x:null};return z.requiresSiblings=!0,z}}return q}function F(x,W){const V=x.filter(j=>!!j.basenames);if(V.length<2)return x;const q=V.reduce((j,Y)=>{const G=Y.basenames;return G?j.concat(G):j},[]);let H;if(W){H=[];for(let j=0,Y=q.length;j<Y;j++)H.push(W)}else H=V.reduce((j,Y)=>{const G=Y.patterns;return G?j.concat(G):j},[]);const z=function(j,Y){if(typeof j!=\"string\")return null;if(!Y){let K;for(K=j.length;K>0;K--){const R=j.charCodeAt(K-1);if(R===47||R===92)break}Y=j.substr(K)}const G=q.indexOf(Y);return G!==-1?H[G]:null};z.basenames=q,z.patterns=H,z.allBasenames=q;const U=x.filter(j=>!j.basenames);return U.push(z),U}}),define(ne[629],se([1,0,251,16]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.normalizeDriveLetter=I;function I(y,m=k.isWindows){return(0,d.hasDriveLetter)(y,m)?y.charAt(0).toUpperCase()+y.slice(1):y}let E=Object.create(null)}),define(ne[22],se([1,0,99,16]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.URI=void 0,e.uriToFsPath=a;const I=/^\\w[\\w\\d+.-]*$/,E=/^\\//,y=/^\\/\\//;function m(h,v){if(!h.scheme&&v)throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${h.authority}\", path: \"${h.path}\", query: \"${h.query}\", fragment: \"${h.fragment}\"}`);if(h.scheme&&!I.test(h.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(h.path){if(h.authority){if(!E.test(h.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(y.test(h.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}}function _(h,v){return!h&&!v?\"file\":h}function b(h,v){switch(h){case\"https\":case\"http\":case\"file\":v?v[0]!==n&&(v=n+v):v=n;break}return v}const p=\"\",n=\"/\",o=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;class t{static isUri(v){return v instanceof t?!0:v?typeof v.authority==\"string\"&&typeof v.fragment==\"string\"&&typeof v.path==\"string\"&&typeof v.query==\"string\"&&typeof v.scheme==\"string\"&&typeof v.fsPath==\"string\"&&typeof v.with==\"function\"&&typeof v.toString==\"function\":!1}constructor(v,w,S,L,D,T=!1){typeof v==\"object\"?(this.scheme=v.scheme||p,this.authority=v.authority||p,this.path=v.path||p,this.query=v.query||p,this.fragment=v.fragment||p):(this.scheme=_(v,T),this.authority=w||p,this.path=b(this.scheme,S||p),this.query=L||p,this.fragment=D||p,m(this,T))}get fsPath(){return a(this,!1)}with(v){if(!v)return this;let{scheme:w,authority:S,path:L,query:D,fragment:T}=v;return w===void 0?w=this.scheme:w===null&&(w=p),S===void 0?S=this.authority:S===null&&(S=p),L===void 0?L=this.path:L===null&&(L=p),D===void 0?D=this.query:D===null&&(D=p),T===void 0?T=this.fragment:T===null&&(T=p),w===this.scheme&&S===this.authority&&L===this.path&&D===this.query&&T===this.fragment?this:new s(w,S,L,D,T)}static parse(v,w=!1){const S=o.exec(v);return S?new s(S[2]||p,f(S[4]||p),f(S[5]||p),f(S[7]||p),f(S[9]||p),w):new s(p,p,p,p,p)}static file(v){let w=p;if(k.isWindows&&(v=v.replace(/\\\\/g,n)),v[0]===n&&v[1]===n){const S=v.indexOf(n,2);S===-1?(w=v.substring(2),v=n):(w=v.substring(2,S),v=v.substring(S)||n)}return new s(\"file\",w,v,p,p)}static from(v,w){return new s(v.scheme,v.authority,v.path,v.query,v.fragment,w)}static joinPath(v,...w){if(!v.path)throw new Error(\"[UriError]: cannot call joinPath on URI without path\");let S;return k.isWindows&&v.scheme===\"file\"?S=t.file(d.win32.join(a(v,!0),...w)).path:S=d.posix.join(v.path,...w),v.with({path:S})}toString(v=!1){return r(this,v)}toJSON(){return this}static revive(v){if(v){if(v instanceof t)return v;{const w=new s(v);return w._formatted=v.external??null,w._fsPath=v._sep===i?v.fsPath??null:null,w}}else return v}}e.URI=t;const i=k.isWindows?1:void 0;class s extends t{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=a(this,!1)),this._fsPath}toString(v=!1){return v?r(this,!0):(this._formatted||(this._formatted=r(this,!1)),this._formatted)}toJSON(){const v={$mid:1};return this._fsPath&&(v.fsPath=this._fsPath,v._sep=i),this._formatted&&(v.external=this._formatted),this.path&&(v.path=this.path),this.scheme&&(v.scheme=this.scheme),this.authority&&(v.authority=this.authority),this.query&&(v.query=this.query),this.fragment&&(v.fragment=this.fragment),v}}const g={58:\"%3A\",47:\"%2F\",63:\"%3F\",35:\"%23\",91:\"%5B\",93:\"%5D\",64:\"%40\",33:\"%21\",36:\"%24\",38:\"%26\",39:\"%27\",40:\"%28\",41:\"%29\",42:\"%2A\",43:\"%2B\",44:\"%2C\",59:\"%3B\",61:\"%3D\",32:\"%20\"};function c(h,v,w){let S,L=-1;for(let D=0;D<h.length;D++){const T=h.charCodeAt(D);if(T>=97&&T<=122||T>=65&&T<=90||T>=48&&T<=57||T===45||T===46||T===95||T===126||v&&T===47||w&&T===91||w&&T===93||w&&T===58)L!==-1&&(S+=encodeURIComponent(h.substring(L,D)),L=-1),S!==void 0&&(S+=h.charAt(D));else{S===void 0&&(S=h.substr(0,D));const M=g[T];M!==void 0?(L!==-1&&(S+=encodeURIComponent(h.substring(L,D)),L=-1),S+=M):L===-1&&(L=D)}}return L!==-1&&(S+=encodeURIComponent(h.substring(L))),S!==void 0?S:h}function l(h){let v;for(let w=0;w<h.length;w++){const S=h.charCodeAt(w);S===35||S===63?(v===void 0&&(v=h.substr(0,w)),v+=g[S]):v!==void 0&&(v+=h[w])}return v!==void 0?v:h}function a(h,v){let w;return h.authority&&h.path.length>1&&h.scheme===\"file\"?w=`//${h.authority}${h.path}`:h.path.charCodeAt(0)===47&&(h.path.charCodeAt(1)>=65&&h.path.charCodeAt(1)<=90||h.path.charCodeAt(1)>=97&&h.path.charCodeAt(1)<=122)&&h.path.charCodeAt(2)===58?v?w=h.path.substr(1):w=h.path[1].toLowerCase()+h.path.substr(2):w=h.path,k.isWindows&&(w=w.replace(/\\//g,\"\\\\\")),w}function r(h,v){const w=v?l:c;let S=\"\",{scheme:L,authority:D,path:T,query:M,fragment:A}=h;if(L&&(S+=L,S+=\":\"),(D||L===\"file\")&&(S+=n,S+=n),D){let P=D.indexOf(\"@\");if(P!==-1){const N=D.substr(0,P);D=D.substr(P+1),P=N.lastIndexOf(\":\"),P===-1?S+=w(N,!1,!1):(S+=w(N.substr(0,P),!1,!1),S+=\":\",S+=w(N.substr(P+1),!1,!0)),S+=\"@\"}D=D.toLowerCase(),P=D.lastIndexOf(\":\"),P===-1?S+=w(D,!1,!0):(S+=w(D.substr(0,P),!1,!0),S+=D.substr(P))}if(T){if(T.length>=3&&T.charCodeAt(0)===47&&T.charCodeAt(2)===58){const P=T.charCodeAt(1);P>=65&&P<=90&&(T=`/${String.fromCharCode(P+32)}:${T.substr(3)}`)}else if(T.length>=2&&T.charCodeAt(1)===58){const P=T.charCodeAt(0);P>=65&&P<=90&&(T=`${String.fromCharCode(P+32)}:${T.substr(2)}`)}S+=w(T,!0,!1)}return M&&(S+=\"?\",S+=w(M,!1,!1)),A&&(S+=\"#\",S+=v?A:c(A,!1,!1)),S}function u(h){try{return decodeURIComponent(h)}catch{return h.length>3?h.substr(0,3)+u(h.substr(3)):h}}const C=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function f(h){return h.match(C)?h.replace(C,v=>u(v)):h}}),define(ne[252],se([1,0,160,22]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.stringify=I,e.parse=E,e.revive=m;function I(_){return JSON.stringify(_,y)}function E(_){let b=JSON.parse(_);return b=m(b),b}function y(_,b){return b instanceof RegExp?{$mid:2,source:b.source,flags:b.flags}:b}function m(_,b=0){if(!_||b>200)return _;if(typeof _==\"object\"){switch(_.$mid){case 1:return k.URI.revive(_);case 2:return new RegExp(_.source,_.flags);case 17:return new Date(_.source)}if(_ instanceof d.VSBuffer||_ instanceof Uint8Array)return _;if(Array.isArray(_))for(let p=0;p<_.length;++p)_[p]=m(_[p],b+1);else for(const p in _)Object.hasOwnProperty.call(_,p)&&(_[p]=m(_[p],b+1))}return _}}),define(ne[42],se([1,0,8,16,11,22,99]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.COI=e.FileAccess=e.VSCODE_AUTHORITY=e.RemoteAuthorities=e.connectionTokenQueryName=e.Schemas=void 0,e.matchesScheme=_,e.matchesSomeScheme=b;var m;(function(t){t.inMemory=\"inmemory\",t.vscode=\"vscode\",t.internal=\"private\",t.walkThrough=\"walkThrough\",t.walkThroughSnippet=\"walkThroughSnippet\",t.http=\"http\",t.https=\"https\",t.file=\"file\",t.mailto=\"mailto\",t.untitled=\"untitled\",t.data=\"data\",t.command=\"command\",t.vscodeRemote=\"vscode-remote\",t.vscodeRemoteResource=\"vscode-remote-resource\",t.vscodeManagedRemoteResource=\"vscode-managed-remote-resource\",t.vscodeUserData=\"vscode-userdata\",t.vscodeCustomEditor=\"vscode-custom-editor\",t.vscodeNotebookCell=\"vscode-notebook-cell\",t.vscodeNotebookCellMetadata=\"vscode-notebook-cell-metadata\",t.vscodeNotebookCellMetadataDiff=\"vscode-notebook-cell-metadata-diff\",t.vscodeNotebookCellOutput=\"vscode-notebook-cell-output\",t.vscodeNotebookCellOutputDiff=\"vscode-notebook-cell-output-diff\",t.vscodeNotebookMetadata=\"vscode-notebook-metadata\",t.vscodeInteractiveInput=\"vscode-interactive-input\",t.vscodeSettings=\"vscode-settings\",t.vscodeWorkspaceTrust=\"vscode-workspace-trust\",t.vscodeTerminal=\"vscode-terminal\",t.vscodeChatCodeBlock=\"vscode-chat-code-block\",t.vscodeChatCodeCompareBlock=\"vscode-chat-code-compare-block\",t.vscodeChatSesssion=\"vscode-chat-editor\",t.webviewPanel=\"webview-panel\",t.vscodeWebview=\"vscode-webview\",t.extension=\"extension\",t.vscodeFileResource=\"vscode-file\",t.tmp=\"tmp\",t.vsls=\"vsls\",t.vscodeSourceControl=\"vscode-scm\",t.commentsInput=\"comment\",t.codeSetting=\"code-setting\",t.outputChannel=\"output\"})(m||(e.Schemas=m={}));function _(t,i){return E.URI.isUri(t)?(0,I.equalsIgnoreCase)(t.scheme,i):(0,I.startsWithIgnoreCase)(t,i+\":\")}function b(t,...i){return i.some(s=>_(t,s))}e.connectionTokenQueryName=\"tkn\";class p{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema=\"http\",this._delegate=null,this._serverRootPath=\"/\"}setPreferredWebSchema(i){this._preferredWebSchema=i}get _remoteResourcesPath(){return y.posix.join(this._serverRootPath,m.vscodeRemoteResource)}rewrite(i){if(this._delegate)try{return this._delegate(i)}catch(r){return d.onUnexpectedError(r),i}const s=i.authority;let g=this._hosts[s];g&&g.indexOf(\":\")!==-1&&g.indexOf(\"[\")===-1&&(g=`[${g}]`);const c=this._ports[s],l=this._connectionTokens[s];let a=`path=${encodeURIComponent(i.path)}`;return typeof l==\"string\"&&(a+=`&${e.connectionTokenQueryName}=${encodeURIComponent(l)}`),E.URI.from({scheme:k.isWeb?this._preferredWebSchema:m.vscodeRemoteResource,authority:`${g}:${c}`,path:this._remoteResourcesPath,query:a})}}e.RemoteAuthorities=new p,e.VSCODE_AUTHORITY=\"vscode-app\";class n{static{this.FALLBACK_AUTHORITY=e.VSCODE_AUTHORITY}asBrowserUri(i){const s=this.toUri(i,oe);return this.uriToBrowserUri(s)}uriToBrowserUri(i){return i.scheme===m.vscodeRemote?e.RemoteAuthorities.rewrite(i):i.scheme===m.file&&(k.isNative||k.webWorkerOrigin===`${m.vscodeFileResource}://${n.FALLBACK_AUTHORITY}`)?i.with({scheme:m.vscodeFileResource,authority:i.authority||n.FALLBACK_AUTHORITY,query:null,fragment:null}):i}toUri(i,s){if(E.URI.isUri(i))return i;if(globalThis._VSCODE_FILE_ROOT){const g=globalThis._VSCODE_FILE_ROOT;if(/^\\w[\\w\\d+.-]*:\\/\\//.test(g))return E.URI.joinPath(E.URI.parse(g,!0),i);const c=y.join(g,i);return E.URI.file(c)}return E.URI.parse(s.toUrl(i))}}e.FileAccess=new n;var o;(function(t){const i=new Map([[\"1\",{\"Cross-Origin-Opener-Policy\":\"same-origin\"}],[\"2\",{\"Cross-Origin-Embedder-Policy\":\"require-corp\"}],[\"3\",{\"Cross-Origin-Opener-Policy\":\"same-origin\",\"Cross-Origin-Embedder-Policy\":\"require-corp\"}]]);t.CoopAndCoep=Object.freeze(i.get(\"3\"));const s=\"vscode-coi\";function g(l){let a;typeof l==\"string\"?a=new URL(l).searchParams:l instanceof URL?a=l.searchParams:E.URI.isUri(l)&&(a=new URL(l.toString(!0)).searchParams);const r=a?.get(s);if(r)return i.get(r)}t.getHeadersFromQuery=g;function c(l,a,r){if(!globalThis.crossOriginIsolated)return;const u=a&&r?\"3\":r?\"2\":\"1\";l instanceof URLSearchParams?l.set(s,u):l[s]=u}t.addSearchParam=c})(o||(e.COI=o={}))}),define(ne[5],se([1,0,64,248,47,77,14,8,6,351,2,42,16,129,52]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";var s;Object.defineProperty(e,\"__esModule\",{value:!0}),e.DragAndDropObserver=e.ModifierKeyEmitter=e.basicMarkupHtmlTags=e.Namespace=e.EventHelper=e.EventType=e.sharedMutationObserver=e.Dimension=e.WindowIntervalTimer=e.scheduleAtNextAnimationFrame=e.runAtThisOrScheduleAtNextAnimationFrame=e.WindowIdleValue=e.addStandardDisposableGenericMouseUpListener=e.addStandardDisposableGenericMouseDownListener=e.addStandardDisposableListener=e.onDidUnregisterWindow=e.onWillUnregisterWindow=e.onDidRegisterWindow=e.hasWindow=e.getWindowById=e.getWindowId=e.getWindowsCount=e.getWindows=e.getDocument=e.getWindow=e.registerWindow=void 0,e.clearNode=g,e.addDisposableListener=l,e.addDisposableGenericMouseDownListener=h,e.addDisposableGenericMouseUpListener=v,e.runWhenWindowIdle=w,e.getComputedStyle=T,e.getClientArea=M,e.getTopLeftOffset=N,e.size=O,e.getDomNodePagePosition=F,e.getDomNodeZoomLevel=x,e.getTotalWidth=W,e.getContentWidth=V,e.getContentHeight=q,e.getTotalHeight=H,e.isAncestor=z,e.findParentWithClass=U,e.hasParentWithClass=j,e.isShadowRoot=Y,e.isInShadowDOM=G,e.getShadowRoot=K,e.getActiveElement=R,e.isActiveElement=J,e.isAncestorOfActiveElement=ie,e.getActiveDocument=ue,e.getActiveWindow=he,e.createStyleSheet2=ae,e.createStyleSheet=de,e.createCSSRule=Q,e.removeCSSRulesContainingSelector=Z,e.isHTMLElement=re,e.isHTMLAnchorElement=le,e.isSVGElement=me,e.isMouseEvent=Ce,e.isKeyboardEvent=ye,e.isEventLike=Le,e.saveParentsScrollTop=Ee,e.restoreParentsScrollTop=Me,e.trackFocus=Ne,e.after=Ke,e.append=ze,e.prepend=Ge,e.reset=it,e.$=_e,e.setVisibility=xe,e.show=be,e.hide=ve,e.computeScreenAwareSize=we,e.windowOpenNoOpener=Te,e.animate=Pe,e.asCSSUrl=Be,e.asCSSPropertyValue=He,e.asCssValueWithDefault=$e,e.hookDomPurifyHrefAndSrcSanitizer=je,e.h=st,e.svgElem=pt,s=function(){const De=new Map;(0,i.ensureCodeWindow)(i.mainWindow,1);const Ie={window:i.mainWindow,disposables:new p.DisposableStore};De.set(i.mainWindow.vscodeWindowId,Ie);const Re=new _.Emitter,Se=new _.Emitter,We=new _.Emitter;function qe(Ue,Je){return(typeof Ue==\"number\"?De.get(Ue):void 0)??(Je?Ie:void 0)}return{onDidRegisterWindow:Re.event,onWillUnregisterWindow:We.event,onDidUnregisterWindow:Se.event,registerWindow(Ue){if(De.has(Ue.vscodeWindowId))return p.Disposable.None;const Je=new p.DisposableStore,tt={window:Ue,disposables:Je.add(new p.DisposableStore)};return De.set(Ue.vscodeWindowId,tt),Je.add((0,p.toDisposable)(()=>{De.delete(Ue.vscodeWindowId),Se.fire(Ue)})),Je.add(l(Ue,e.EventType.BEFORE_UNLOAD,()=>{We.fire(Ue)})),Re.fire(tt),Je},getWindows(){return De.values()},getWindowsCount(){return De.size},getWindowId(Ue){return Ue.vscodeWindowId},hasWindow(Ue){return De.has(Ue)},getWindowById:qe,getWindow(Ue){const Je=Ue;if(Je?.ownerDocument?.defaultView)return Je.ownerDocument.defaultView.window;const tt=Ue;return tt?.view?tt.view.window:i.mainWindow},getDocument(Ue){const Je=Ue;return(0,e.getWindow)(Je).document}}}(),e.registerWindow=s.registerWindow,e.getWindow=s.getWindow,e.getDocument=s.getDocument,e.getWindows=s.getWindows,e.getWindowsCount=s.getWindowsCount,e.getWindowId=s.getWindowId,e.getWindowById=s.getWindowById,e.hasWindow=s.hasWindow,e.onDidRegisterWindow=s.onDidRegisterWindow,e.onWillUnregisterWindow=s.onWillUnregisterWindow,e.onDidUnregisterWindow=s.onDidUnregisterWindow;function g(De){for(;De.firstChild;)De.firstChild.remove()}class c{constructor(Ie,Re,Se,We){this._node=Ie,this._type=Re,this._handler=Se,this._options=We||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function l(De,Ie,Re,Se){return new c(De,Ie,Re,Se)}function a(De,Ie){return function(Re){return Ie(new E.StandardMouseEvent(De,Re))}}function r(De){return function(Ie){return De(new I.StandardKeyboardEvent(Ie))}}const u=function(Ie,Re,Se,We){let qe=Se;return Re===\"click\"||Re===\"mousedown\"||Re===\"contextmenu\"?qe=a((0,e.getWindow)(Ie),Se):(Re===\"keydown\"||Re===\"keypress\"||Re===\"keyup\")&&(qe=r(Se)),l(Ie,Re,qe,We)};e.addStandardDisposableListener=u;const C=function(Ie,Re,Se){const We=a((0,e.getWindow)(Ie),Re);return h(Ie,We,Se)};e.addStandardDisposableGenericMouseDownListener=C;const f=function(Ie,Re,Se){const We=a((0,e.getWindow)(Ie),Re);return v(Ie,We,Se)};e.addStandardDisposableGenericMouseUpListener=f;function h(De,Ie,Re){return l(De,o.isIOS&&k.BrowserFeatures.pointerEvents?e.EventType.POINTER_DOWN:e.EventType.MOUSE_DOWN,Ie,Re)}function v(De,Ie,Re){return l(De,o.isIOS&&k.BrowserFeatures.pointerEvents?e.EventType.POINTER_UP:e.EventType.MOUSE_UP,Ie,Re)}function w(De,Ie,Re){return(0,y._runWhenIdle)(De,Ie,Re)}class S extends y.AbstractIdleValue{constructor(Ie,Re){super(Ie,Re)}}e.WindowIdleValue=S;class L extends y.IntervalTimer{constructor(Ie){super(),this.defaultTarget=Ie&&(0,e.getWindow)(Ie)}cancelAndSet(Ie,Re,Se){return super.cancelAndSet(Ie,Re,Se??this.defaultTarget)}}e.WindowIntervalTimer=L;class D{constructor(Ie,Re=0){this._runner=Ie,this.priority=Re,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(Ie){(0,m.onUnexpectedError)(Ie)}}static sort(Ie,Re){return Re.priority-Ie.priority}}(function(){const De=new Map,Ie=new Map,Re=new Map,Se=new Map,We=qe=>{Re.set(qe,!1);const Ue=De.get(qe)??[];for(Ie.set(qe,Ue),De.set(qe,[]),Se.set(qe,!0);Ue.length>0;)Ue.sort(D.sort),Ue.shift().execute();Se.set(qe,!1)};e.scheduleAtNextAnimationFrame=(qe,Ue,Je=0)=>{const tt=(0,e.getWindowId)(qe),Qe=new D(Ue,Je);let rt=De.get(tt);return rt||(rt=[],De.set(tt,rt)),rt.push(Qe),Re.get(tt)||(Re.set(tt,!0),qe.requestAnimationFrame(()=>We(tt))),Qe},e.runAtThisOrScheduleAtNextAnimationFrame=(qe,Ue,Je)=>{const tt=(0,e.getWindowId)(qe);if(Se.get(tt)){const Qe=new D(Ue,Je);let rt=Ie.get(tt);return rt||(rt=[],Ie.set(tt,rt)),rt.push(Qe),Qe}else return(0,e.scheduleAtNextAnimationFrame)(qe,Ue,Je)}})();function T(De){return(0,e.getWindow)(De).getComputedStyle(De,null)}function M(De,Ie){const Re=(0,e.getWindow)(De),Se=Re.document;if(De!==Se.body)return new P(De.clientWidth,De.clientHeight);if(o.isIOS&&Re?.visualViewport)return new P(Re.visualViewport.width,Re.visualViewport.height);if(Re?.innerWidth&&Re.innerHeight)return new P(Re.innerWidth,Re.innerHeight);if(Se.body&&Se.body.clientWidth&&Se.body.clientHeight)return new P(Se.body.clientWidth,Se.body.clientHeight);if(Se.documentElement&&Se.documentElement.clientWidth&&Se.documentElement.clientHeight)return new P(Se.documentElement.clientWidth,Se.documentElement.clientHeight);if(Ie)return M(Ie);throw new Error(\"Unable to figure out browser width and height\")}class A{static convertToPixels(Ie,Re){return parseFloat(Re)||0}static getDimension(Ie,Re,Se){const We=T(Ie),qe=We?We.getPropertyValue(Re):\"0\";return A.convertToPixels(Ie,qe)}static getBorderLeftWidth(Ie){return A.getDimension(Ie,\"border-left-width\",\"borderLeftWidth\")}static getBorderRightWidth(Ie){return A.getDimension(Ie,\"border-right-width\",\"borderRightWidth\")}static getBorderTopWidth(Ie){return A.getDimension(Ie,\"border-top-width\",\"borderTopWidth\")}static getBorderBottomWidth(Ie){return A.getDimension(Ie,\"border-bottom-width\",\"borderBottomWidth\")}static getPaddingLeft(Ie){return A.getDimension(Ie,\"padding-left\",\"paddingLeft\")}static getPaddingRight(Ie){return A.getDimension(Ie,\"padding-right\",\"paddingRight\")}static getPaddingTop(Ie){return A.getDimension(Ie,\"padding-top\",\"paddingTop\")}static getPaddingBottom(Ie){return A.getDimension(Ie,\"padding-bottom\",\"paddingBottom\")}static getMarginLeft(Ie){return A.getDimension(Ie,\"margin-left\",\"marginLeft\")}static getMarginTop(Ie){return A.getDimension(Ie,\"margin-top\",\"marginTop\")}static getMarginRight(Ie){return A.getDimension(Ie,\"margin-right\",\"marginRight\")}static getMarginBottom(Ie){return A.getDimension(Ie,\"margin-bottom\",\"marginBottom\")}}class P{static{this.None=new P(0,0)}constructor(Ie,Re){this.width=Ie,this.height=Re}with(Ie=this.width,Re=this.height){return Ie!==this.width||Re!==this.height?new P(Ie,Re):this}static is(Ie){return typeof Ie==\"object\"&&typeof Ie.height==\"number\"&&typeof Ie.width==\"number\"}static lift(Ie){return Ie instanceof P?Ie:new P(Ie.width,Ie.height)}static equals(Ie,Re){return Ie===Re?!0:!Ie||!Re?!1:Ie.width===Re.width&&Ie.height===Re.height}}e.Dimension=P;function N(De){let Ie=De.offsetParent,Re=De.offsetTop,Se=De.offsetLeft;for(;(De=De.parentNode)!==null&&De!==De.ownerDocument.body&&De!==De.ownerDocument.documentElement;){Re-=De.scrollTop;const We=Y(De)?null:T(De);We&&(Se-=We.direction!==\"rtl\"?De.scrollLeft:-De.scrollLeft),De===Ie&&(Se+=A.getBorderLeftWidth(De),Re+=A.getBorderTopWidth(De),Re+=De.offsetTop,Se+=De.offsetLeft,Ie=De.offsetParent)}return{left:Se,top:Re}}function O(De,Ie,Re){typeof Ie==\"number\"&&(De.style.width=`${Ie}px`),typeof Re==\"number\"&&(De.style.height=`${Re}px`)}function F(De){const Ie=De.getBoundingClientRect(),Re=(0,e.getWindow)(De);return{left:Ie.left+Re.scrollX,top:Ie.top+Re.scrollY,width:Ie.width,height:Ie.height}}function x(De){let Ie=De,Re=1;do{const Se=T(Ie).zoom;Se!=null&&Se!==\"1\"&&(Re*=Se),Ie=Ie.parentElement}while(Ie!==null&&Ie!==Ie.ownerDocument.documentElement);return Re}function W(De){const Ie=A.getMarginLeft(De)+A.getMarginRight(De);return De.offsetWidth+Ie}function V(De){const Ie=A.getBorderLeftWidth(De)+A.getBorderRightWidth(De),Re=A.getPaddingLeft(De)+A.getPaddingRight(De);return De.offsetWidth-Ie-Re}function q(De){const Ie=A.getBorderTopWidth(De)+A.getBorderBottomWidth(De),Re=A.getPaddingTop(De)+A.getPaddingBottom(De);return De.offsetHeight-Ie-Re}function H(De){const Ie=A.getMarginTop(De)+A.getMarginBottom(De);return De.offsetHeight+Ie}function z(De,Ie){return!!Ie?.contains(De)}function U(De,Ie,Re){for(;De&&De.nodeType===De.ELEMENT_NODE;){if(De.classList.contains(Ie))return De;if(Re){if(typeof Re==\"string\"){if(De.classList.contains(Re))return null}else if(De===Re)return null}De=De.parentNode}return null}function j(De,Ie,Re){return!!U(De,Ie,Re)}function Y(De){return De&&!!De.host&&!!De.mode}function G(De){return!!K(De)}function K(De){for(;De.parentNode;){if(De===De.ownerDocument?.body)return null;De=De.parentNode}return Y(De)?De:null}function R(){let De=ue().activeElement;for(;De?.shadowRoot;)De=De.shadowRoot.activeElement;return De}function J(De){return R()===De}function ie(De){return z(R(),De)}function ue(){return(0,e.getWindowsCount)()<=1?i.mainWindow.document:Array.from((0,e.getWindows)()).map(({window:Ie})=>Ie.document).find(Ie=>Ie.hasFocus())??i.mainWindow.document}function he(){return ue().defaultView?.window??i.mainWindow}const pe=new Map;function ae(){return new ee}class ee{constructor(){this._currentCssStyle=\"\",this._styleSheet=void 0}setStyle(Ie){Ie!==this._currentCssStyle&&(this._currentCssStyle=Ie,this._styleSheet?this._styleSheet.innerText=Ie:this._styleSheet=de(i.mainWindow.document.head,Re=>Re.innerText=Ie))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function de(De=i.mainWindow.document.head,Ie,Re){const Se=document.createElement(\"style\");if(Se.type=\"text/css\",Se.media=\"screen\",Ie?.(Se),De.appendChild(Se),Re&&Re.add((0,p.toDisposable)(()=>Se.remove())),De===i.mainWindow.document.head){const We=new Set;pe.set(Se,We);for(const{window:qe,disposables:Ue}of(0,e.getWindows)()){if(qe===i.mainWindow)continue;const Je=Ue.add(ge(Se,We,qe));Re?.add(Je)}}return Se}function ge(De,Ie,Re){const Se=new p.DisposableStore,We=De.cloneNode(!0);Re.document.head.appendChild(We),Se.add((0,p.toDisposable)(()=>We.remove()));for(const qe of $(De))We.sheet?.insertRule(qe.cssText,We.sheet?.cssRules.length);return Se.add(e.sharedMutationObserver.observe(De,Se,{childList:!0})(()=>{We.textContent=De.textContent})),Ie.add(We),Se.add((0,p.toDisposable)(()=>Ie.delete(We))),Se}e.sharedMutationObserver=new class{constructor(){this.mutationObservers=new Map}observe(De,Ie,Re){let Se=this.mutationObservers.get(De);Se||(Se=new Map,this.mutationObservers.set(De,Se));const We=(0,t.hash)(Re);let qe=Se.get(We);if(qe)qe.users+=1;else{const Ue=new _.Emitter,Je=new MutationObserver(Qe=>Ue.fire(Qe));Je.observe(De,Re);const tt=qe={users:1,observer:Je,onDidMutate:Ue.event};Ie.add((0,p.toDisposable)(()=>{tt.users-=1,tt.users===0&&(Ue.dispose(),Je.disconnect(),Se?.delete(We),Se?.size===0&&this.mutationObservers.delete(De))})),Se.set(We,qe)}return qe.onDidMutate}};let X=null;function B(){return X||(X=de()),X}function $(De){return De?.sheet?.rules?De.sheet.rules:De?.sheet?.cssRules?De.sheet.cssRules:[]}function Q(De,Ie,Re=B()){if(!(!Re||!Ie)){Re.sheet?.insertRule(`${De} {${Ie}}`,0);for(const Se of pe.get(Re)??[])Q(De,Ie,Se)}}function Z(De,Ie=B()){if(!Ie)return;const Re=$(Ie),Se=[];for(let We=0;We<Re.length;We++){const qe=Re[We];te(qe)&&qe.selectorText.indexOf(De)!==-1&&Se.push(We)}for(let We=Se.length-1;We>=0;We--)Ie.sheet?.deleteRule(Se[We]);for(const We of pe.get(Ie)??[])Z(De,We)}function te(De){return typeof De.selectorText==\"string\"}function re(De){return De instanceof HTMLElement||De instanceof(0,e.getWindow)(De).HTMLElement}function le(De){return De instanceof HTMLAnchorElement||De instanceof(0,e.getWindow)(De).HTMLAnchorElement}function me(De){return De instanceof SVGElement||De instanceof(0,e.getWindow)(De).SVGElement}function Ce(De){return De instanceof MouseEvent||De instanceof(0,e.getWindow)(De).MouseEvent}function ye(De){return De instanceof KeyboardEvent||De instanceof(0,e.getWindow)(De).KeyboardEvent}e.EventType={CLICK:\"click\",AUXCLICK:\"auxclick\",DBLCLICK:\"dblclick\",MOUSE_UP:\"mouseup\",MOUSE_DOWN:\"mousedown\",MOUSE_OVER:\"mouseover\",MOUSE_MOVE:\"mousemove\",MOUSE_OUT:\"mouseout\",MOUSE_ENTER:\"mouseenter\",MOUSE_LEAVE:\"mouseleave\",MOUSE_WHEEL:\"wheel\",POINTER_UP:\"pointerup\",POINTER_DOWN:\"pointerdown\",POINTER_MOVE:\"pointermove\",POINTER_LEAVE:\"pointerleave\",CONTEXT_MENU:\"contextmenu\",WHEEL:\"wheel\",KEY_DOWN:\"keydown\",KEY_PRESS:\"keypress\",KEY_UP:\"keyup\",LOAD:\"load\",BEFORE_UNLOAD:\"beforeunload\",UNLOAD:\"unload\",PAGE_SHOW:\"pageshow\",PAGE_HIDE:\"pagehide\",PASTE:\"paste\",ABORT:\"abort\",ERROR:\"error\",RESIZE:\"resize\",SCROLL:\"scroll\",FULLSCREEN_CHANGE:\"fullscreenchange\",WK_FULLSCREEN_CHANGE:\"webkitfullscreenchange\",SELECT:\"select\",CHANGE:\"change\",SUBMIT:\"submit\",RESET:\"reset\",FOCUS:\"focus\",FOCUS_IN:\"focusin\",FOCUS_OUT:\"focusout\",BLUR:\"blur\",INPUT:\"input\",STORAGE:\"storage\",DRAG_START:\"dragstart\",DRAG:\"drag\",DRAG_ENTER:\"dragenter\",DRAG_LEAVE:\"dragleave\",DRAG_OVER:\"dragover\",DROP:\"drop\",DRAG_END:\"dragend\",ANIMATION_START:d.isWebKit?\"webkitAnimationStart\":\"animationstart\",ANIMATION_END:d.isWebKit?\"webkitAnimationEnd\":\"animationend\",ANIMATION_ITERATION:d.isWebKit?\"webkitAnimationIteration\":\"animationiteration\"};function Le(De){const Ie=De;return!!(Ie&&typeof Ie.preventDefault==\"function\"&&typeof Ie.stopPropagation==\"function\")}e.EventHelper={stop:(De,Ie)=>(De.preventDefault(),Ie&&De.stopPropagation(),De)};function Ee(De){const Ie=[];for(let Re=0;De&&De.nodeType===De.ELEMENT_NODE;Re++)Ie[Re]=De.scrollTop,De=De.parentNode;return Ie}function Me(De,Ie){for(let Re=0;De&&De.nodeType===De.ELEMENT_NODE;Re++)De.scrollTop!==Ie[Re]&&(De.scrollTop=Ie[Re]),De=De.parentNode}class Ae extends p.Disposable{static hasFocusWithin(Ie){if(re(Ie)){const Re=K(Ie),Se=Re?Re.activeElement:Ie.ownerDocument.activeElement;return z(Se,Ie)}else{const Re=Ie;return z(Re.document.activeElement,Re.document)}}constructor(Ie){super(),this._onDidFocus=this._register(new _.Emitter),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new _.Emitter),this.onDidBlur=this._onDidBlur.event;let Re=Ae.hasFocusWithin(Ie),Se=!1;const We=()=>{Se=!1,Re||(Re=!0,this._onDidFocus.fire())},qe=()=>{Re&&(Se=!0,(re(Ie)?(0,e.getWindow)(Ie):Ie).setTimeout(()=>{Se&&(Se=!1,Re=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{Ae.hasFocusWithin(Ie)!==Re&&(Re?qe():We())},this._register(l(Ie,e.EventType.FOCUS,We,!0)),this._register(l(Ie,e.EventType.BLUR,qe,!0)),re(Ie)&&(this._register(l(Ie,e.EventType.FOCUS_IN,()=>this._refreshStateHandler())),this._register(l(Ie,e.EventType.FOCUS_OUT,()=>this._refreshStateHandler())))}}function Ne(De){return new Ae(De)}function Ke(De,Ie){return De.after(Ie),Ie}function ze(De,...Ie){if(De.append(...Ie),Ie.length===1&&typeof Ie[0]!=\"string\")return Ie[0]}function Ge(De,Ie){return De.insertBefore(Ie,De.firstChild),Ie}function it(De,...Ie){De.innerText=\"\",ze(De,...Ie)}const Oe=/([\\w\\-]+)?(#([\\w\\-]+))?((\\.([\\w\\-]+))*)/;var Fe;(function(De){De.HTML=\"http://www.w3.org/1999/xhtml\",De.SVG=\"http://www.w3.org/2000/svg\"})(Fe||(e.Namespace=Fe={}));function fe(De,Ie,Re,...Se){const We=Oe.exec(Ie);if(!We)throw new Error(\"Bad use of emmet\");const qe=We[1]||\"div\";let Ue;return De!==Fe.HTML?Ue=document.createElementNS(De,qe):Ue=document.createElement(qe),We[3]&&(Ue.id=We[3]),We[4]&&(Ue.className=We[4].replace(/\\./g,\" \").trim()),Re&&Object.entries(Re).forEach(([Je,tt])=>{typeof tt>\"u\"||(/^on\\w+$/.test(Je)?Ue[Je]=tt:Je===\"selected\"?tt&&Ue.setAttribute(Je,\"true\"):Ue.setAttribute(Je,tt))}),Ue.append(...Se),Ue}function _e(De,Ie,...Re){return fe(Fe.HTML,De,Ie,...Re)}_e.SVG=function(De,Ie,...Re){return fe(Fe.SVG,De,Ie,...Re)};function xe(De,...Ie){De?be(...Ie):ve(...Ie)}function be(...De){for(const Ie of De)Ie.style.display=\"\",Ie.removeAttribute(\"aria-hidden\")}function ve(...De){for(const Ie of De)Ie.style.display=\"none\",Ie.setAttribute(\"aria-hidden\",\"true\")}function we(De,Ie){const Re=De.devicePixelRatio*Ie;return Math.max(1,Math.floor(Re))/De.devicePixelRatio}function Te(De){i.mainWindow.open(De,\"_blank\",\"noopener\")}function Pe(De,Ie){const Re=()=>{Ie(),Se=(0,e.scheduleAtNextAnimationFrame)(De,Re)};let Se=(0,e.scheduleAtNextAnimationFrame)(De,Re);return(0,p.toDisposable)(()=>Se.dispose())}n.RemoteAuthorities.setPreferredWebSchema(/^https:/.test(i.mainWindow.location.href)?\"https\":\"http\");function Be(De){return De?`url('${n.FileAccess.uriToBrowserUri(De).toString(!0).replace(/'/g,\"%27\")}')`:\"url('')\"}function He(De){return`'${De.replace(/'/g,\"%27\")}'`}function $e(De,Ie){if(De!==void 0){const Re=De.match(/^\\s*var\\((.+)\\)$/);if(Re){const Se=Re[1].split(\",\",2);return Se.length===2&&(Ie=$e(Se[1].trim(),Ie)),`var(${Se[0]}, ${Ie})`}return De}return Ie}function je(De,Ie=!1){const Re=document.createElement(\"a\");return b.addHook(\"afterSanitizeAttributes\",Se=>{for(const We of[\"href\",\"src\"])if(Se.hasAttribute(We)){const qe=Se.getAttribute(We);if(We===\"href\"&&qe.startsWith(\"#\"))continue;if(Re.href=qe,!De.includes(Re.protocol.replace(/:$/,\"\"))){if(Ie&&We===\"src\"&&Re.href.startsWith(\"data:\"))continue;Se.removeAttribute(We)}}}),(0,p.toDisposable)(()=>{b.removeHook(\"afterSanitizeAttributes\")})}e.basicMarkupHtmlTags=Object.freeze([\"a\",\"abbr\",\"b\",\"bdo\",\"blockquote\",\"br\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"dd\",\"del\",\"details\",\"dfn\",\"div\",\"dl\",\"dt\",\"em\",\"figcaption\",\"figure\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"hr\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"li\",\"mark\",\"ol\",\"p\",\"pre\",\"q\",\"rp\",\"rt\",\"ruby\",\"samp\",\"small\",\"small\",\"source\",\"span\",\"strike\",\"strong\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]);const Xe=Object.freeze({ALLOWED_TAGS:[\"a\",\"button\",\"blockquote\",\"code\",\"div\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"hr\",\"input\",\"label\",\"li\",\"p\",\"pre\",\"select\",\"small\",\"span\",\"strong\",\"textarea\",\"ul\",\"ol\"],ALLOWED_ATTR:[\"href\",\"data-href\",\"data-command\",\"target\",\"title\",\"name\",\"src\",\"alt\",\"class\",\"id\",\"role\",\"tabindex\",\"style\",\"data-code\",\"width\",\"height\",\"align\",\"x-dispatch\",\"required\",\"checked\",\"placeholder\",\"type\",\"start\"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class et extends _.Emitter{constructor(){super(),this._subscriptions=new p.DisposableStore,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(_.Event.runAndSubscribe(e.onDidRegisterWindow,({window:Ie,disposables:Re})=>this.registerListeners(Ie,Re),{window:i.mainWindow,disposables:this._subscriptions}))}registerListeners(Ie,Re){Re.add(l(Ie,\"keydown\",Se=>{if(Se.defaultPrevented)return;const We=new I.StandardKeyboardEvent(Se);if(!(We.keyCode===6&&Se.repeat)){if(Se.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed=\"alt\";else if(Se.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed=\"ctrl\";else if(Se.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed=\"meta\";else if(Se.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed=\"shift\";else if(We.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=Se.altKey,this._keyStatus.ctrlKey=Se.ctrlKey,this._keyStatus.metaKey=Se.metaKey,this._keyStatus.shiftKey=Se.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=Se,this.fire(this._keyStatus))}},!0)),Re.add(l(Ie,\"keyup\",Se=>{Se.defaultPrevented||(!Se.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased=\"alt\":!Se.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased=\"ctrl\":!Se.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased=\"meta\":!Se.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased=\"shift\":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=Se.altKey,this._keyStatus.ctrlKey=Se.ctrlKey,this._keyStatus.metaKey=Se.metaKey,this._keyStatus.shiftKey=Se.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=Se,this.fire(this._keyStatus)))},!0)),Re.add(l(Ie.document.body,\"mousedown\",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),Re.add(l(Ie.document.body,\"mouseup\",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),Re.add(l(Ie.document.body,\"mousemove\",Se=>{Se.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),Re.add(l(Ie,\"blur\",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return et.instance||(et.instance=new et),et.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}e.ModifierKeyEmitter=et;class dt extends p.Disposable{constructor(Ie,Re){super(),this.element=Ie,this.callbacks=Re,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(l(this.element,e.EventType.DRAG_START,Ie=>{this.callbacks.onDragStart?.(Ie)})),this.callbacks.onDrag&&this._register(l(this.element,e.EventType.DRAG,Ie=>{this.callbacks.onDrag?.(Ie)})),this._register(l(this.element,e.EventType.DRAG_ENTER,Ie=>{this.counter++,this.dragStartTime=Ie.timeStamp,this.callbacks.onDragEnter?.(Ie)})),this._register(l(this.element,e.EventType.DRAG_OVER,Ie=>{Ie.preventDefault(),this.callbacks.onDragOver?.(Ie,Ie.timeStamp-this.dragStartTime)})),this._register(l(this.element,e.EventType.DRAG_LEAVE,Ie=>{this.counter--,this.counter===0&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(Ie))})),this._register(l(this.element,e.EventType.DRAG_END,Ie=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(Ie)})),this._register(l(this.element,e.EventType.DROP,Ie=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(Ie)}))}}e.DragAndDropObserver=dt;const at=/(?<tag>[\\w\\-]+)?(?:#(?<id>[\\w\\-]+))?(?<class>(?:\\.(?:[\\w\\-]+))*)(?:@(?<name>(?:[\\w\\_])+))?/;function st(De,...Ie){let Re,Se;Array.isArray(Ie[0])?(Re={},Se=Ie[0]):(Re=Ie[0]||{},Se=Ie[1]);const We=at.exec(De);if(!We||!We.groups)throw new Error(\"Bad use of h\");const qe=We.groups.tag||\"div\",Ue=document.createElement(qe);We.groups.id&&(Ue.id=We.groups.id);const Je=[];if(We.groups.class)for(const Qe of We.groups.class.split(\".\"))Qe!==\"\"&&Je.push(Qe);if(Re.className!==void 0)for(const Qe of Re.className.split(\".\"))Qe!==\"\"&&Je.push(Qe);Je.length>0&&(Ue.className=Je.join(\" \"));const tt={};if(We.groups.name&&(tt[We.groups.name]=Ue),Se)for(const Qe of Se)re(Qe)?Ue.appendChild(Qe):typeof Qe==\"string\"?Ue.append(Qe):\"root\"in Qe&&(Object.assign(tt,Qe),Ue.appendChild(Qe.root));for(const[Qe,rt]of Object.entries(Re))if(Qe!==\"className\")if(Qe===\"style\")for(const[Ct,ut]of Object.entries(rt))Ue.style.setProperty(bt(Ct),typeof ut==\"number\"?ut+\"px\":\"\"+ut);else Qe===\"tabIndex\"?Ue.tabIndex=rt:Ue.setAttribute(bt(Qe),rt.toString());return tt.root=Ue,tt}function pt(De,...Ie){let Re,Se;Array.isArray(Ie[0])?(Re={},Se=Ie[0]):(Re=Ie[0]||{},Se=Ie[1]);const We=at.exec(De);if(!We||!We.groups)throw new Error(\"Bad use of h\");const qe=We.groups.tag||\"div\",Ue=document.createElementNS(\"http://www.w3.org/2000/svg\",qe);We.groups.id&&(Ue.id=We.groups.id);const Je=[];if(We.groups.class)for(const Qe of We.groups.class.split(\".\"))Qe!==\"\"&&Je.push(Qe);if(Re.className!==void 0)for(const Qe of Re.className.split(\".\"))Qe!==\"\"&&Je.push(Qe);Je.length>0&&(Ue.className=Je.join(\" \"));const tt={};if(We.groups.name&&(tt[We.groups.name]=Ue),Se)for(const Qe of Se)re(Qe)?Ue.appendChild(Qe):typeof Qe==\"string\"?Ue.append(Qe):\"root\"in Qe&&(Object.assign(tt,Qe),Ue.appendChild(Qe.root));for(const[Qe,rt]of Object.entries(Re))if(Qe!==\"className\")if(Qe===\"style\")for(const[Ct,ut]of Object.entries(rt))Ue.style.setProperty(bt(Ct),typeof ut==\"number\"?ut+\"px\":\"\"+ut);else Qe===\"tabIndex\"?Ue.tabIndex=rt:Ue.setAttribute(bt(Qe),rt.toString());return tt.root=Ue,tt}function bt(De){return De.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase()}}),define(ne[630],se([1,0,5,2,21]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createStyleSheetFromObservable=E;function E(y){const m=new k.DisposableStore,_=m.add((0,d.createStyleSheet2)());return m.add((0,I.autorun)(b=>{_.setStyle(y.read(b))})),m}}),define(ne[352],se([1,0,5]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.renderText=k,e.renderFormattedText=I,e.createElement=E;function k(n,o={}){const t=E(o);return t.textContent=n,t}function I(n,o={}){const t=E(o);return m(t,_(n,!!o.renderCodeSegments),o.actionHandler,o.renderCodeSegments),t}function E(n){const o=n.inline?\"span\":\"div\",t=document.createElement(o);return n.className&&(t.className=n.className),t}class y{constructor(o){this.source=o,this.index=0}eos(){return this.index>=this.source.length}next(){const o=this.peek();return this.advance(),o}peek(){return this.source[this.index]}advance(){this.index++}}function m(n,o,t,i){let s;if(o.type===2)s=document.createTextNode(o.content||\"\");else if(o.type===3)s=document.createElement(\"b\");else if(o.type===4)s=document.createElement(\"i\");else if(o.type===7&&i)s=document.createElement(\"code\");else if(o.type===5&&t){const g=document.createElement(\"a\");t.disposables.add(d.addStandardDisposableListener(g,\"click\",c=>{t.callback(String(o.index),c)})),s=g}else o.type===8?s=document.createElement(\"br\"):o.type===1&&(s=n);s&&n!==s&&n.appendChild(s),s&&Array.isArray(o.children)&&o.children.forEach(g=>{m(s,g,t,i)})}function _(n,o){const t={type:1,children:[]};let i=0,s=t;const g=[],c=new y(n);for(;!c.eos();){let l=c.next();const a=l===\"\\\\\"&&p(c.peek(),o)!==0;if(a&&(l=c.next()),!a&&b(l,o)&&l===c.peek()){c.advance(),s.type===2&&(s=g.pop());const r=p(l,o);if(s.type===r||s.type===5&&r===6)s=g.pop();else{const u={type:r,children:[]};r===5&&(u.index=i,i++),s.children.push(u),g.push(s),s=u}}else if(l===`\n`)s.type===2&&(s=g.pop()),s.children.push({type:8});else if(s.type!==2){const r={type:2,content:l};s.children.push(r),g.push(s),s=r}else s.content+=l}return s.type===2&&(s=g.pop()),g.length,t}function b(n,o){return p(n,o)!==0}function p(n,o){switch(n){case\"*\":return 3;case\"_\":return 4;case\"[\":return 5;case\"]\":return 6;case\"`\":return o?7:0;default:return 0}}}),define(ne[172],se([1,0,5,2]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GlobalPointerMoveMonitor=void 0;class I{constructor(){this._hooks=new k.DisposableStore,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(y,m){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const _=this._onStopCallback;this._onStopCallback=null,y&&_&&_(m)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(y,m,_,b,p){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=b,this._onStopCallback=p;let n=y;try{y.setPointerCapture(m),this._hooks.add((0,k.toDisposable)(()=>{try{y.releasePointerCapture(m)}catch{}}))}catch{n=d.getWindow(y)}this._hooks.add(d.addDisposableListener(n,d.EventType.POINTER_MOVE,o=>{if(o.buttons!==_){this.stopMonitoring(!0);return}o.preventDefault(),this._pointerMoveCallback(o)})),this._hooks.add(d.addDisposableListener(n,d.EventType.POINTER_UP,o=>this.stopMonitoring(!0)))}}e.GlobalPointerMoveMonitor=I}),define(ne[253],se([1,0,5,6,2]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PixelRatio=void 0;class E extends I.Disposable{constructor(b){super(),this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(b,!0),this._mediaQueryList=null,this._handleChange(b,!1)}_handleChange(b,p){this._mediaQueryList?.removeEventListener(\"change\",this._listener),this._mediaQueryList=b.matchMedia(`(resolution: ${b.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener(\"change\",this._listener),p&&this._onDidChange.fire()}}class y extends I.Disposable{get value(){return this._value}constructor(b){super(),this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(b);const p=this._register(new E(b));this._register(p.onDidChange(()=>{this._value=this._getPixelRatio(b),this._onDidChange.fire(this._value)}))}_getPixelRatio(b){const p=document.createElement(\"canvas\").getContext(\"2d\"),n=b.devicePixelRatio||1,o=p.webkitBackingStorePixelRatio||p.mozBackingStorePixelRatio||p.msBackingStorePixelRatio||p.oBackingStorePixelRatio||p.backingStorePixelRatio||1;return n/o}}class m{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(b){const p=(0,d.getWindowId)(b);let n=this.mapWindowIdToPixelRatioMonitor.get(p);return n||(n=(0,I.markAsSingleton)(new y(b)),this.mapWindowIdToPixelRatioMonitor.set(p,n),(0,I.markAsSingleton)(k.Event.once(d.onDidUnregisterWindow)(({vscodeWindowId:o})=>{o===p&&(n?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(p))}))),n}getInstance(b){return this._getOrCreatePixelRatioMonitor(b)}}e.PixelRatio=new m}),define(ne[69],se([1,0,5,52,13,126,6,2,73]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Gesture=e.EventType=void 0;var b;(function(n){n.Tap=\"-monaco-gesturetap\",n.Change=\"-monaco-gesturechange\",n.Start=\"-monaco-gesturestart\",n.End=\"-monaco-gesturesend\",n.Contextmenu=\"-monaco-gesturecontextmenu\"})(b||(e.EventType=b={}));class p extends m.Disposable{static{this.SCROLL_FRICTION=-.005}static{this.HOLD_DELAY=700}static{this.CLEAR_TAP_COUNT_TIME=400}constructor(){super(),this.dispatched=!1,this.targets=new _.LinkedList,this.ignoreTargets=new _.LinkedList,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(y.Event.runAndSubscribe(d.onDidRegisterWindow,({window:o,disposables:t})=>{t.add(d.addDisposableListener(o.document,\"touchstart\",i=>this.onTouchStart(i),{passive:!1})),t.add(d.addDisposableListener(o.document,\"touchend\",i=>this.onTouchEnd(o,i))),t.add(d.addDisposableListener(o.document,\"touchmove\",i=>this.onTouchMove(i),{passive:!1}))},{window:k.mainWindow,disposables:this._store}))}static addTarget(o){if(!p.isTouchDevice())return m.Disposable.None;p.INSTANCE||(p.INSTANCE=(0,m.markAsSingleton)(new p));const t=p.INSTANCE.targets.push(o);return(0,m.toDisposable)(t)}static ignoreTarget(o){if(!p.isTouchDevice())return m.Disposable.None;p.INSTANCE||(p.INSTANCE=(0,m.markAsSingleton)(new p));const t=p.INSTANCE.ignoreTargets.push(o);return(0,m.toDisposable)(t)}static isTouchDevice(){return\"ontouchstart\"in k.mainWindow||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(o){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,s=o.targetTouches.length;i<s;i++){const g=o.targetTouches.item(i);this.activeTouches[g.identifier]={id:g.identifier,initialTarget:g.target,initialTimeStamp:t,initialPageX:g.pageX,initialPageY:g.pageY,rollingTimestamps:[t],rollingPageX:[g.pageX],rollingPageY:[g.pageY]};const c=this.newGestureEvent(b.Start,g.target);c.pageX=g.pageX,c.pageY=g.pageY,this.dispatchEvent(c)}this.dispatched&&(o.preventDefault(),o.stopPropagation(),this.dispatched=!1)}onTouchEnd(o,t){const i=Date.now(),s=Object.keys(this.activeTouches).length;for(let g=0,c=t.changedTouches.length;g<c;g++){const l=t.changedTouches.item(g);if(!this.activeTouches.hasOwnProperty(String(l.identifier))){console.warn(\"move of an UNKNOWN touch\",l);continue}const a=this.activeTouches[l.identifier],r=Date.now()-a.initialTimeStamp;if(r<p.HOLD_DELAY&&Math.abs(a.initialPageX-I.tail(a.rollingPageX))<30&&Math.abs(a.initialPageY-I.tail(a.rollingPageY))<30){const u=this.newGestureEvent(b.Tap,a.initialTarget);u.pageX=I.tail(a.rollingPageX),u.pageY=I.tail(a.rollingPageY),this.dispatchEvent(u)}else if(r>=p.HOLD_DELAY&&Math.abs(a.initialPageX-I.tail(a.rollingPageX))<30&&Math.abs(a.initialPageY-I.tail(a.rollingPageY))<30){const u=this.newGestureEvent(b.Contextmenu,a.initialTarget);u.pageX=I.tail(a.rollingPageX),u.pageY=I.tail(a.rollingPageY),this.dispatchEvent(u)}else if(s===1){const u=I.tail(a.rollingPageX),C=I.tail(a.rollingPageY),f=I.tail(a.rollingTimestamps)-a.rollingTimestamps[0],h=u-a.rollingPageX[0],v=C-a.rollingPageY[0],w=[...this.targets].filter(S=>a.initialTarget instanceof Node&&S.contains(a.initialTarget));this.inertia(o,w,i,Math.abs(h)/f,h>0?1:-1,u,Math.abs(v)/f,v>0?1:-1,C)}this.dispatchEvent(this.newGestureEvent(b.End,a.initialTarget)),delete this.activeTouches[l.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(o,t){const i=document.createEvent(\"CustomEvent\");return i.initEvent(o,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(o){if(o.type===b.Tap){const t=new Date().getTime();let i=0;t-this._lastSetTapCountTime>p.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=t,o.tapCount=i}else(o.type===b.Change||o.type===b.Contextmenu)&&(this._lastSetTapCountTime=0);if(o.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(o.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(o.initialTarget)){let s=0,g=o.initialTarget;for(;g&&g!==i;)s++,g=g.parentElement;t.push([s,i])}t.sort((i,s)=>i[0]-s[0]);for(const[i,s]of t)s.dispatchEvent(o),this.dispatched=!0}}inertia(o,t,i,s,g,c,l,a,r){this.handle=d.scheduleAtNextAnimationFrame(o,()=>{const u=Date.now(),C=u-i;let f=0,h=0,v=!0;s+=p.SCROLL_FRICTION*C,l+=p.SCROLL_FRICTION*C,s>0&&(v=!1,f=g*s*C),l>0&&(v=!1,h=a*l*C);const w=this.newGestureEvent(b.Change);w.translationX=f,w.translationY=h,t.forEach(S=>S.dispatchEvent(w)),v||this.inertia(o,t,u,s,g,c+f,l,a,r+h)})}onTouchMove(o){const t=Date.now();for(let i=0,s=o.changedTouches.length;i<s;i++){const g=o.changedTouches.item(i);if(!this.activeTouches.hasOwnProperty(String(g.identifier))){console.warn(\"end of an UNKNOWN touch\",g);continue}const c=this.activeTouches[g.identifier],l=this.newGestureEvent(b.Change,c.initialTarget);l.translationX=g.pageX-I.tail(c.rollingPageX),l.translationY=g.pageY-I.tail(c.rollingPageY),l.pageX=g.pageX,l.pageY=g.pageY,this.dispatchEvent(l),c.rollingPageX.length>3&&(c.rollingPageX.shift(),c.rollingPageY.shift(),c.rollingTimestamps.shift()),c.rollingPageX.push(g.pageX),c.rollingPageY.push(g.pageY),c.rollingTimestamps.push(t)}this.dispatched&&(o.preventDefault(),o.stopPropagation(),this.dispatched=!1)}}e.Gesture=p,ke([E.memoize],p,\"isTouchDevice\",null)}),define(ne[46],se([1,0,5,458]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.setARIAContainer=b,e.alert=p,e.status=n;const k=2e4;let I,E,y,m,_;function b(t){I=document.createElement(\"div\"),I.className=\"monaco-aria-container\";const i=()=>{const g=document.createElement(\"div\");return g.className=\"monaco-alert\",g.setAttribute(\"role\",\"alert\"),g.setAttribute(\"aria-atomic\",\"true\"),I.appendChild(g),g};E=i(),y=i();const s=()=>{const g=document.createElement(\"div\");return g.className=\"monaco-status\",g.setAttribute(\"aria-live\",\"polite\"),g.setAttribute(\"aria-atomic\",\"true\"),I.appendChild(g),g};m=s(),_=s(),t.appendChild(I)}function p(t){I&&(E.textContent!==t?(d.clearNode(y),o(E,t)):(d.clearNode(E),o(y,t)))}function n(t){I&&(m.textContent!==t?(d.clearNode(_),o(m,t)):(d.clearNode(m),o(_,t)))}function o(t,i){d.clearNode(t),i.length>k&&(i=i.substr(0,k)),t.textContent=i,t.style.visibility=\"hidden\",t.style.visibility=\"visible\"}}),define(ne[353],se([1,0,248,5,2,16,188,462]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextView=e.LayoutAnchorMode=void 0,e.isAnchor=m,e.layout=b;function m(o){const t=o;return!!t&&typeof t.x==\"number\"&&typeof t.y==\"number\"}var _;(function(o){o[o.AVOID=0]=\"AVOID\",o[o.ALIGN=1]=\"ALIGN\"})(_||(e.LayoutAnchorMode=_={}));function b(o,t,i){const s=i.mode===_.ALIGN?i.offset:i.offset+i.size,g=i.mode===_.ALIGN?i.offset+i.size:i.offset;return i.position===0?t<=o-s?s:t<=g?g-t:Math.max(o-t,0):t<=g?g-t:t<=o-s?s:0}class p extends I.Disposable{static{this.BUBBLE_UP_EVENTS=[\"click\",\"keydown\",\"focus\",\"blur\"]}static{this.BUBBLE_DOWN_EVENTS=[\"click\"]}constructor(t,i){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=I.Disposable.None,this.toDisposeOnSetContainer=I.Disposable.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=k.$(\".context-view\"),k.hide(this.view),this.setContainer(t,i),this._register((0,I.toDisposable)(()=>this.setContainer(null,1)))}setContainer(t,i){this.useFixedPosition=i!==1;const s=this.useShadowDOM;if(this.useShadowDOM=i===3,!(t===this.container&&s===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot&&(this.shadowRoot=null,this.shadowRootHostElement?.remove(),this.shadowRootHostElement=null),this.container=null),t)){if(this.container=t,this.useShadowDOM){this.shadowRootHostElement=k.$(\".shadow-root-host\"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:\"open\"});const c=document.createElement(\"style\");c.textContent=n,this.shadowRoot.appendChild(c),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(k.$(\"slot\"))}else this.container.appendChild(this.view);const g=new I.DisposableStore;p.BUBBLE_UP_EVENTS.forEach(c=>{g.add(k.addStandardDisposableListener(this.container,c,l=>{this.onDOMEvent(l,!1)}))}),p.BUBBLE_DOWN_EVENTS.forEach(c=>{g.add(k.addStandardDisposableListener(this.container,c,l=>{this.onDOMEvent(l,!0)},!0))}),this.toDisposeOnSetContainer=g}}show(t){this.isVisible()&&this.hide(),k.clearNode(this.view),this.view.className=\"context-view monaco-component\",this.view.style.top=\"0px\",this.view.style.left=\"0px\",this.view.style.zIndex=`${2575+(t.layer??0)}`,this.view.style.position=this.useFixedPosition?\"fixed\":\"absolute\",k.show(this.view),this.toDisposeOnClean=t.render(this.view)||I.Disposable.None,this.delegate=t,this.doLayout(),this.delegate.focus?.()}getViewElement(){return this.view}layout(){if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(E.isIOS&&d.BrowserFeatures.pointerEvents)){this.hide();return}this.delegate?.layout?.(),this.doLayout()}}doLayout(){if(!this.isVisible())return;const t=this.delegate.getAnchor();let i;if(k.isHTMLElement(t)){const h=k.getDomNodePagePosition(t),v=k.getDomNodeZoomLevel(t);i={top:h.top*v,left:h.left*v,width:h.width*v,height:h.height*v}}else m(t)?i={top:t.y,left:t.x,width:t.width||1,height:t.height||2}:i={top:t.posy,left:t.posx,width:2,height:2};const s=k.getTotalWidth(this.view),g=k.getTotalHeight(this.view),c=this.delegate.anchorPosition||0,l=this.delegate.anchorAlignment||0,a=this.delegate.anchorAxisAlignment||0;let r,u;const C=k.getActiveWindow();if(a===0){const h={offset:i.top-C.pageYOffset,size:i.height,position:c===0?0:1},v={offset:i.left,size:i.width,position:l===0?0:1,mode:_.ALIGN};r=b(C.innerHeight,g,h)+C.pageYOffset,y.Range.intersects({start:r,end:r+g},{start:h.offset,end:h.offset+h.size})&&(v.mode=_.AVOID),u=b(C.innerWidth,s,v)}else{const h={offset:i.left,size:i.width,position:l===0?0:1},v={offset:i.top,size:i.height,position:c===0?0:1,mode:_.ALIGN};u=b(C.innerWidth,s,h),y.Range.intersects({start:u,end:u+s},{start:h.offset,end:h.offset+h.size})&&(v.mode=_.AVOID),r=b(C.innerHeight,g,v)+C.pageYOffset}this.view.classList.remove(\"top\",\"bottom\",\"left\",\"right\"),this.view.classList.add(c===0?\"bottom\":\"top\"),this.view.classList.add(l===0?\"left\":\"right\"),this.view.classList.toggle(\"fixed\",this.useFixedPosition);const f=k.getDomNodePagePosition(this.container);this.view.style.top=`${r-(this.useFixedPosition?k.getDomNodePagePosition(this.view).top:f.top)}px`,this.view.style.left=`${u-(this.useFixedPosition?k.getDomNodePagePosition(this.view).left:f.left)}px`,this.view.style.width=\"initial\"}hide(t){const i=this.delegate;this.delegate=null,i?.onHide&&i.onHide(t),this.toDisposeOnClean.dispose(),k.hide(this.view)}isVisible(){return!!this.delegate}onDOMEvent(t,i){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(t,k.getWindow(t).document.activeElement):i&&!k.isAncestor(t.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}e.ContextView=p;const n=`\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*='codicon-'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe WPC\", \"Segoe UI\", \"HelveticaNeue-Light\", system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang SC\", \"Hiragino Sans GB\", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang TC\", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, \"Hiragino Kaku Gothic Pro\", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, \"Nanum Gothic\", \"Apple SD Gothic Neo\", \"AppleGothic\", sans-serif; }\n\n\t:host-context(.windows) { font-family: \"Segoe WPC\", \"Segoe UI\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft YaHei\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft Jhenghei\", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Yu Gothic UI\", \"Meiryo UI\", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Malgun Gothic\", \"Dotom\", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans SC\", \"Source Han Sans CN\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans TC\", \"Source Han Sans TW\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans J\", \"Source Han Sans JP\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans K\", \"Source Han Sans JR\", \"Source Han Sans\", \"UnDotum\", \"FBaekmuk Gulim\", sans-serif; }\n`}),define(ne[354],se([1,0,5,11,463]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CountBadge=void 0;class I{constructor(y,m,_){this.options=m,this.styles=_,this.count=0,this.element=(0,d.append)(y,(0,d.$)(\".monaco-count-badge\")),this.countFormat=this.options.countFormat||\"{0}\",this.titleFormat=this.options.titleFormat||\"\",this.setCount(this.options.count||0)}setCount(y){this.count=y,this.render()}setTitleFormat(y){this.titleFormat=y,this.render()}render(){this.element.textContent=(0,k.format)(this.countFormat,this.count),this.element.title=(0,k.format)(this.titleFormat,this.count),this.element.style.backgroundColor=this.styles.badgeBackground??\"\",this.element.style.color=this.styles.badgeForeground??\"\",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}e.CountBadge=I}),define(ne[631],se([1,0,5,47,69,41,6,303]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DropdownMenu=void 0;class m extends E.ActionRunner{constructor(p,n){super(),this._onDidChangeVisibility=this._register(new y.Emitter),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=(0,d.append)(p,(0,d.$)(\".monaco-dropdown\")),this._label=(0,d.append)(this._element,(0,d.$)(\".dropdown-label\"));let o=n.labelRenderer;o||(o=i=>(i.textContent=n.label||\"\",null));for(const i of[d.EventType.CLICK,d.EventType.MOUSE_DOWN,I.EventType.Tap])this._register((0,d.addDisposableListener)(this.element,i,s=>d.EventHelper.stop(s,!0)));for(const i of[d.EventType.MOUSE_DOWN,I.EventType.Tap])this._register((0,d.addDisposableListener)(this._label,i,s=>{(0,d.isMouseEvent)(s)&&(s.detail>1||s.button!==0)||(this.visible?this.hide():this.show())}));this._register((0,d.addDisposableListener)(this._label,d.EventType.KEY_UP,i=>{const s=new k.StandardKeyboardEvent(i);(s.equals(3)||s.equals(10))&&(d.EventHelper.stop(i,!0),this.visible?this.hide():this.show())}));const t=o(this._label);t&&this._register(t),this._register(I.Gesture.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class _ extends m{constructor(p,n){super(p,n),this._options=n,this._actions=[],this.actions=n.actions||[]}set menuOptions(p){this._menuOptions=p}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(p){this._actions=p}show(){super.show(),this.element.classList.add(\"active\"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(p,n)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(p,n):void 0,getKeyBinding:p=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(p):void 0,getMenuClassName:()=>this._options.menuClassName||\"\",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove(\"active\")}}e.DropdownMenu=_}),define(ne[114],se([1,0,5,30]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.renderLabelWithIcons=E,e.renderIcon=y;const I=new RegExp(`(\\\\\\\\)?\\\\$\\\\((${k.ThemeIcon.iconNameExpression}(?:${k.ThemeIcon.iconModifierExpression})?)\\\\)`,\"g\");function E(m){const _=new Array;let b,p=0,n=0;for(;(b=I.exec(m))!==null;){n=b.index||0,p<n&&_.push(m.substring(p,n)),p=(b.index||0)+b[0].length;const[,o,t]=b;_.push(o?`$(${t})`:y({id:t}))}return p<m.length&&_.push(m.substring(p)),_}function y(m){const _=d.$(\"span\");return _.classList.add(...k.ThemeIcon.asClassNameArray(m)),_}}),define(ne[355],se([1,0,5,81,44,114,2,60]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HighlightedLabel=void 0;class _ extends y.Disposable{constructor(p,n){super(),this.options=n,this.text=\"\",this.title=\"\",this.highlights=[],this.didEverRender=!1,this.supportIcons=n?.supportIcons??!1,this.domNode=d.append(p,d.$(\"span.monaco-highlighted-label\"))}get element(){return this.domNode}set(p,n=[],o=\"\",t){p||(p=\"\"),t&&(p=_.escapeNewLines(p,n)),!(this.didEverRender&&this.text===p&&this.title===o&&m.equals(this.highlights,n))&&(this.text=p,this.title=o,this.highlights=n,this.render())}render(){const p=[];let n=0;for(const o of this.highlights){if(o.end===o.start)continue;if(n<o.start){const s=this.text.substring(n,o.start);this.supportIcons?p.push(...(0,E.renderLabelWithIcons)(s)):p.push(s),n=o.start}const t=this.text.substring(n,o.end),i=d.$(\"span.highlight\",void 0,...this.supportIcons?(0,E.renderLabelWithIcons)(t):[t]);o.extraClasses&&i.classList.add(...o.extraClasses),p.push(i),n=o.end}if(n<this.text.length){const o=this.text.substring(n);this.supportIcons?p.push(...(0,E.renderLabelWithIcons)(o)):p.push(o)}if(d.reset(this.domNode,...p),this.options?.hoverDelegate?.showNativeHover)this.domNode.title=this.title;else if(!this.customHover&&this.title!==\"\"){const o=this.options?.hoverDelegate??(0,I.getDefaultHoverDelegate)(\"mouse\");this.customHover=this._register((0,k.getBaseLayerHoverDelegate)().setupManagedHover(o,this.domNode,this.title))}else this.customHover&&this.customHover.update(this.title);this.didEverRender=!0}static escapeNewLines(p,n){let o=0,t=0;return p.replace(/\\r\\n|\\r|\\n/g,(i,s)=>{t=i===`\\r\n`?-1:0,s+=o;for(const g of n)g.end<=s||(g.start>=s&&(g.start+=t),g.end>=s&&(g.end+=t));return o+=t,\"\\u23CE\"})}}e.HighlightedLabel=_}),define(ne[254],se([1,0,5,355,2,60,188,44,81,19,142,465]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IconLabel=void 0;class n{constructor(c){this._element=c}get element(){return this._element}set textContent(c){this.disposed||c===this._textContent||(this._textContent=c,this._element.textContent=c)}set classNames(c){this.disposed||(0,E.equals)(c,this._classNames)||(this._classNames=c,this._element.classList.value=\"\",this._element.classList.add(...c))}set empty(c){this.disposed||c===this._empty||(this._empty=c,this._element.style.marginLeft=c?\"0\":\"\")}dispose(){this.disposed=!0}}class o extends I.Disposable{constructor(c,l){super(),this.customHovers=new Map,this.creationOptions=l,this.domNode=this._register(new n(d.append(c,d.$(\".monaco-icon-label\")))),this.labelContainer=d.append(this.domNode.element,d.$(\".monaco-icon-label-container\")),this.nameContainer=d.append(this.labelContainer,d.$(\"span.monaco-icon-name-container\")),l?.supportHighlights||l?.supportIcons?this.nameNode=this._register(new s(this.nameContainer,!!l.supportIcons)):this.nameNode=new t(this.nameContainer),this.hoverDelegate=l?.hoverDelegate??(0,m.getDefaultHoverDelegate)(\"mouse\")}get element(){return this.domNode.element}setLabel(c,l,a){const r=[\"monaco-icon-label\"],u=[\"monaco-icon-label-container\"];let C=\"\";a&&(a.extraClasses&&r.push(...a.extraClasses),a.italic&&r.push(\"italic\"),a.strikethrough&&r.push(\"strikethrough\"),a.disabledCommand&&u.push(\"disabled\"),a.title&&(typeof a.title==\"string\"?C+=a.title:C+=c));const f=this.domNode.element.querySelector(\".monaco-icon-label-iconpath\");if(a?.iconPath){let h;!f||!d.isHTMLElement(f)?(h=d.$(\".monaco-icon-label-iconpath\"),this.domNode.element.prepend(h)):h=f,h.style.backgroundImage=d.asCSSUrl(a?.iconPath)}else f&&f.remove();if(this.domNode.classNames=r,this.domNode.element.setAttribute(\"aria-label\",C),this.labelContainer.classList.value=\"\",this.labelContainer.classList.add(...u),this.setupHover(a?.descriptionTitle?this.labelContainer:this.element,a?.title),this.nameNode.setLabel(c,a),l||this.descriptionNode){const h=this.getOrCreateDescriptionNode();h instanceof k.HighlightedLabel?(h.set(l||\"\",a?a.descriptionMatches:void 0,void 0,a?.labelEscapeNewLines),this.setupHover(h.element,a?.descriptionTitle)):(h.textContent=l&&a?.labelEscapeNewLines?k.HighlightedLabel.escapeNewLines(l,[]):l||\"\",this.setupHover(h.element,a?.descriptionTitle||\"\"),h.empty=!l)}if(a?.suffix||this.suffixNode){const h=this.getOrCreateSuffixNode();h.textContent=a?.suffix??\"\"}}setupHover(c,l){const a=this.customHovers.get(c);if(a&&(a.dispose(),this.customHovers.delete(c)),!l){c.removeAttribute(\"title\");return}if(this.hoverDelegate.showNativeHover)(function(u,C){(0,b.isString)(C)?u.title=(0,p.stripIcons)(C):C?.markdownNotSupportedFallback?u.title=C.markdownNotSupportedFallback:u.removeAttribute(\"title\")})(c,l);else{const r=(0,_.getBaseLayerHoverDelegate)().setupManagedHover(this.hoverDelegate,c,l);r&&this.customHovers.set(c,r)}}dispose(){super.dispose();for(const c of this.customHovers.values())c.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const c=this._register(new n(d.after(this.nameContainer,d.$(\"span.monaco-icon-suffix-container\"))));this.suffixNode=this._register(new n(d.append(c.element,d.$(\"span.label-suffix\"))))}return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const c=this._register(new n(d.append(this.labelContainer,d.$(\"span.monaco-icon-description-container\"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new k.HighlightedLabel(d.append(c.element,d.$(\"span.label-description\")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new n(d.append(c.element,d.$(\"span.label-description\"))))}return this.descriptionNode}}e.IconLabel=o;class t{constructor(c){this.container=c,this.label=void 0,this.singleLabel=void 0}setLabel(c,l){if(!(this.label===c&&(0,E.equals)(this.options,l)))if(this.label=c,this.options=l,typeof c==\"string\")this.singleLabel||(this.container.innerText=\"\",this.container.classList.remove(\"multiple\"),this.singleLabel=d.append(this.container,d.$(\"a.label-name\",{id:l?.domId}))),this.singleLabel.textContent=c;else{this.container.innerText=\"\",this.container.classList.add(\"multiple\"),this.singleLabel=void 0;for(let a=0;a<c.length;a++){const r=c[a],u=l?.domId&&`${l?.domId}_${a}`;d.append(this.container,d.$(\"a.label-name\",{id:u,\"data-icon-label-count\":c.length,\"data-icon-label-index\":a,role:\"treeitem\"},r)),a<c.length-1&&d.append(this.container,d.$(\"span.label-separator\",void 0,l?.separator||\"/\"))}}}}function i(g,c,l){if(!l)return;let a=0;return g.map(r=>{const u={start:a,end:a+r.length},C=l.map(f=>y.Range.intersect(u,f)).filter(f=>!y.Range.isEmpty(f)).map(({start:f,end:h})=>({start:f-a,end:h-a}));return a=u.end+c.length,C})}class s extends I.Disposable{constructor(c,l){super(),this.container=c,this.supportIcons=l,this.label=void 0,this.singleLabel=void 0}setLabel(c,l){if(!(this.label===c&&(0,E.equals)(this.options,l)))if(this.label=c,this.options=l,typeof c==\"string\")this.singleLabel||(this.container.innerText=\"\",this.container.classList.remove(\"multiple\"),this.singleLabel=this._register(new k.HighlightedLabel(d.append(this.container,d.$(\"a.label-name\",{id:l?.domId})),{supportIcons:this.supportIcons}))),this.singleLabel.set(c,l?.matches,void 0,l?.labelEscapeNewLines);else{this.container.innerText=\"\",this.container.classList.add(\"multiple\"),this.singleLabel=void 0;const a=l?.separator||\"/\",r=i(c,a,l?.matches);for(let u=0;u<c.length;u++){const C=c[u],f=r?r[u]:void 0,h=l?.domId&&`${l?.domId}_${u}`,v=d.$(\"a.label-name\",{id:h,\"data-icon-label-count\":c.length,\"data-icon-label-index\":u,role:\"treeitem\"});this._register(new k.HighlightedLabel(d.append(this.container,v),{supportIcons:this.supportIcons})).set(C,f,void 0,l?.labelEscapeNewLines),u<c.length-1&&d.append(v,d.$(\"span.label-separator\",void 0,a))}}}}}),define(ne[206],se([1,0,5,81,44,247,2,60,3,467]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.KeybindingLabel=e.unthemedKeybindingLabelOptions=void 0;const b=d.$;e.unthemedKeybindingLabelOptions={keybindingLabelBackground:void 0,keybindingLabelForeground:void 0,keybindingLabelBorder:void 0,keybindingLabelBottomBorder:void 0,keybindingLabelShadow:void 0};class p extends y.Disposable{constructor(o,t,i){super(),this.os=t,this.keyElements=new Set,this.options=i||Object.create(null);const s=this.options.keybindingLabelForeground;this.domNode=d.append(o,b(\".monaco-keybinding\")),s&&(this.domNode.style.color=s),this.hover=this._register((0,k.getBaseLayerHoverDelegate)().setupManagedHover((0,I.getDefaultHoverDelegate)(\"mouse\"),this.domNode,\"\")),this.didEverRender=!1,o.appendChild(this.domNode)}get element(){return this.domNode}set(o,t){this.didEverRender&&this.keybinding===o&&p.areSame(this.matches,t)||(this.keybinding=o,this.matches=t,this.render())}render(){if(this.clear(),this.keybinding){const o=this.keybinding.getChords();o[0]&&this.renderChord(this.domNode,o[0],this.matches?this.matches.firstPart:null);for(let i=1;i<o.length;i++)d.append(this.domNode,b(\"span.monaco-keybinding-key-chord-separator\",void 0,\" \")),this.renderChord(this.domNode,o[i],this.matches?this.matches.chordPart:null);const t=this.options.disableTitle??!1?void 0:this.keybinding.getAriaLabel()||void 0;this.hover.update(t),this.domNode.setAttribute(\"aria-label\",t||\"\")}else this.options&&this.options.renderUnboundKeybindings&&this.renderUnbound(this.domNode);this.didEverRender=!0}clear(){d.clearNode(this.domNode),this.keyElements.clear()}renderChord(o,t,i){const s=E.UILabelProvider.modifierLabels[this.os];t.ctrlKey&&this.renderKey(o,s.ctrlKey,!!i?.ctrlKey,s.separator),t.shiftKey&&this.renderKey(o,s.shiftKey,!!i?.shiftKey,s.separator),t.altKey&&this.renderKey(o,s.altKey,!!i?.altKey,s.separator),t.metaKey&&this.renderKey(o,s.metaKey,!!i?.metaKey,s.separator);const g=t.keyLabel;g&&this.renderKey(o,g,!!i?.keyCode,\"\")}renderKey(o,t,i,s){d.append(o,this.createKeyElement(t,i?\".highlight\":\"\")),s&&d.append(o,b(\"span.monaco-keybinding-key-separator\",void 0,s))}renderUnbound(o){d.append(o,this.createKeyElement((0,_.localize)(15,\"Unbound\")))}createKeyElement(o,t=\"\"){const i=b(\"span.monaco-keybinding-key\"+t,void 0,o);return this.keyElements.add(i),this.options.keybindingLabelBackground&&(i.style.backgroundColor=this.options.keybindingLabelBackground),this.options.keybindingLabelBorder&&(i.style.borderColor=this.options.keybindingLabelBorder),this.options.keybindingLabelBottomBorder&&(i.style.borderBottomColor=this.options.keybindingLabelBottomBorder),this.options.keybindingLabelShadow&&(i.style.boxShadow=`inset 0 -1px 0 ${this.options.keybindingLabelShadow}`),i}static areSame(o,t){return o===t||!o&&!t?!0:!!o&&!!t&&(0,m.equals)(o.firstPart,t.firstPart)&&(0,m.equals)(o.chordPart,t.chordPart)}}e.KeybindingLabel=p}),define(ne[632],se([1,0,5]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RowCache=void 0;class k{constructor(E){this.renderers=E,this.cache=new Map,this.transactionNodesPendingRemoval=new Set,this.inTransaction=!1}alloc(E){let y=this.getTemplateCache(E).pop(),m=!1;if(y)m=this.transactionNodesPendingRemoval.has(y.domNode),m&&this.transactionNodesPendingRemoval.delete(y.domNode);else{const _=(0,d.$)(\".monaco-list-row\"),p=this.getRenderer(E).renderTemplate(_);y={domNode:_,templateId:E,templateData:p}}return{row:y,isReusingConnectedDomNode:m}}release(E){E&&this.releaseRow(E)}transact(E){if(this.inTransaction)throw new Error(\"Already in transaction\");this.inTransaction=!0;try{E()}finally{for(const y of this.transactionNodesPendingRemoval)this.doRemoveNode(y);this.transactionNodesPendingRemoval.clear(),this.inTransaction=!1}}releaseRow(E){const{domNode:y,templateId:m}=E;y&&(this.inTransaction?this.transactionNodesPendingRemoval.add(y):this.doRemoveNode(y)),this.getTemplateCache(m).push(E)}doRemoveNode(E){E.classList.remove(\"scrolling\"),E.remove()}getTemplateCache(E){let y=this.cache.get(E);return y||(y=[],this.cache.set(E,y)),y}dispose(){this.cache.forEach((E,y)=>{for(const m of E)this.getRenderer(y).disposeTemplate(m.templateData),m.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(E){const y=this.renderers.get(E);if(!y)throw new Error(`No renderer found for ${E}`);return y}}e.RowCache=k}),define(ne[633],se([1,0,5,14,2,469]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ProgressBar=void 0;const E=\"done\",y=\"active\",m=\"infinite\",_=\"infinite-long-running\",b=\"discrete\";class p extends I.Disposable{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(o,t){super(),this.progressSignal=this._register(new I.MutableDisposable),this.workedVal=0,this.showDelayedScheduler=this._register(new k.RunOnceScheduler(()=>(0,d.show)(this.element),0)),this.longRunningScheduler=this._register(new k.RunOnceScheduler(()=>this.infiniteLongRunning(),p.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(o,t)}create(o,t){this.element=document.createElement(\"div\"),this.element.classList.add(\"monaco-progress-container\"),this.element.setAttribute(\"role\",\"progressbar\"),this.element.setAttribute(\"aria-valuemin\",\"0\"),o.appendChild(this.element),this.bit=document.createElement(\"div\"),this.bit.classList.add(\"progress-bit\"),this.bit.style.backgroundColor=t?.progressBarBackground||\"#0E70C0\",this.element.appendChild(this.bit)}off(){this.bit.style.width=\"inherit\",this.bit.style.opacity=\"1\",this.element.classList.remove(y,m,_,b),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(o){return this.element.classList.add(E),this.element.classList.contains(m)?(this.bit.style.opacity=\"0\",o?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width=\"inherit\",o?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width=\"2%\",this.bit.style.opacity=\"1\",this.element.classList.remove(b,E,_),this.element.classList.add(y,m),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(_)}getContainer(){return this.element}}e.ProgressBar=p}),define(ne[173],se([1,0,5,93,69,14,126,6,2,16,470]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Sash=e.OrthogonalEdge=void 0;const p=!1;var n;(function(u){u.North=\"north\",u.South=\"south\",u.East=\"east\",u.West=\"west\"})(n||(e.OrthogonalEdge=n={}));let o=4;const t=new m.Emitter;let i=300;const s=new m.Emitter;class g{constructor(C){this.el=C,this.disposables=new _.DisposableStore}get onPointerMove(){return this.disposables.add(new k.DomEmitter((0,d.getWindow)(this.el),\"mousemove\")).event}get onPointerUp(){return this.disposables.add(new k.DomEmitter((0,d.getWindow)(this.el),\"mouseup\")).event}dispose(){this.disposables.dispose()}}ke([y.memoize],g.prototype,\"onPointerMove\",null),ke([y.memoize],g.prototype,\"onPointerUp\",null);class c{get onPointerMove(){return this.disposables.add(new k.DomEmitter(this.el,I.EventType.Change)).event}get onPointerUp(){return this.disposables.add(new k.DomEmitter(this.el,I.EventType.End)).event}constructor(C){this.el=C,this.disposables=new _.DisposableStore}dispose(){this.disposables.dispose()}}ke([y.memoize],c.prototype,\"onPointerMove\",null),ke([y.memoize],c.prototype,\"onPointerUp\",null);class l{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(C){this.factory=C}dispose(){}}ke([y.memoize],l.prototype,\"onPointerMove\",null),ke([y.memoize],l.prototype,\"onPointerUp\",null);const a=\"pointer-events-disabled\";class r extends _.Disposable{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(C){this._state!==C&&(this.el.classList.toggle(\"disabled\",C===0),this.el.classList.toggle(\"minimum\",C===1),this.el.classList.toggle(\"maximum\",C===2),this._state=C,this.onDidEnablementChange.fire(C))}set orthogonalStartSash(C){if(this._orthogonalStartSash!==C){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),C){const f=h=>{this.orthogonalStartDragHandleDisposables.clear(),h!==0&&(this._orthogonalStartDragHandle=(0,d.append)(this.el,(0,d.$)(\".orthogonal-drag-handle.start\")),this.orthogonalStartDragHandleDisposables.add((0,_.toDisposable)(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new k.DomEmitter(this._orthogonalStartDragHandle,\"mouseenter\")).event(()=>r.onMouseEnter(C),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new k.DomEmitter(this._orthogonalStartDragHandle,\"mouseleave\")).event(()=>r.onMouseLeave(C),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(C.onDidEnablementChange.event(f,this)),f(C.state)}this._orthogonalStartSash=C}}set orthogonalEndSash(C){if(this._orthogonalEndSash!==C){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),C){const f=h=>{this.orthogonalEndDragHandleDisposables.clear(),h!==0&&(this._orthogonalEndDragHandle=(0,d.append)(this.el,(0,d.$)(\".orthogonal-drag-handle.end\")),this.orthogonalEndDragHandleDisposables.add((0,_.toDisposable)(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new k.DomEmitter(this._orthogonalEndDragHandle,\"mouseenter\")).event(()=>r.onMouseEnter(C),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new k.DomEmitter(this._orthogonalEndDragHandle,\"mouseleave\")).event(()=>r.onMouseLeave(C),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(C.onDidEnablementChange.event(f,this)),f(C.state)}this._orthogonalEndSash=C}}constructor(C,f,h){super(),this.hoverDelay=i,this.hoverDelayer=this._register(new E.Delayer(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new m.Emitter),this._onDidStart=this._register(new m.Emitter),this._onDidChange=this._register(new m.Emitter),this._onDidReset=this._register(new m.Emitter),this._onDidEnd=this._register(new m.Emitter),this.orthogonalStartSashDisposables=this._register(new _.DisposableStore),this.orthogonalStartDragHandleDisposables=this._register(new _.DisposableStore),this.orthogonalEndSashDisposables=this._register(new _.DisposableStore),this.orthogonalEndDragHandleDisposables=this._register(new _.DisposableStore),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=(0,d.append)(C,(0,d.$)(\".monaco-sash\")),h.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${h.orthogonalEdge}`),b.isMacintosh&&this.el.classList.add(\"mac\");const v=this._register(new k.DomEmitter(this.el,\"mousedown\")).event;this._register(v(A=>this.onPointerStart(A,new g(C)),this));const w=this._register(new k.DomEmitter(this.el,\"dblclick\")).event;this._register(w(this.onPointerDoublePress,this));const S=this._register(new k.DomEmitter(this.el,\"mouseenter\")).event;this._register(S(()=>r.onMouseEnter(this)));const L=this._register(new k.DomEmitter(this.el,\"mouseleave\")).event;this._register(L(()=>r.onMouseLeave(this))),this._register(I.Gesture.addTarget(this.el));const D=this._register(new k.DomEmitter(this.el,I.EventType.Start)).event;this._register(D(A=>this.onPointerStart(A,new c(this.el)),this));const T=this._register(new k.DomEmitter(this.el,I.EventType.Tap)).event;let M;this._register(T(A=>{if(M){clearTimeout(M),M=void 0,this.onPointerDoublePress(A);return}clearTimeout(M),M=setTimeout(()=>M=void 0,250)},this)),typeof h.size==\"number\"?(this.size=h.size,h.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=o,this._register(t.event(A=>{this.size=A,this.layout()}))),this._register(s.event(A=>this.hoverDelay=A)),this.layoutProvider=f,this.orthogonalStartSash=h.orthogonalStartSash,this.orthogonalEndSash=h.orthogonalEndSash,this.orientation=h.orientation||0,this.orientation===1?(this.el.classList.add(\"horizontal\"),this.el.classList.remove(\"vertical\")):(this.el.classList.remove(\"horizontal\"),this.el.classList.add(\"vertical\")),this.el.classList.toggle(\"debug\",p),this.layout()}onPointerStart(C,f){d.EventHelper.stop(C);let h=!1;if(!C.__orthogonalSashEvent){const O=this.getOrthogonalSash(C);O&&(h=!0,C.__orthogonalSashEvent=!0,O.onPointerStart(C,new l(f)))}if(this.linkedSash&&!C.__linkedSashEvent&&(C.__linkedSashEvent=!0,this.linkedSash.onPointerStart(C,new l(f))),!this.state)return;const v=this.el.ownerDocument.getElementsByTagName(\"iframe\");for(const O of v)O.classList.add(a);const w=C.pageX,S=C.pageY,L=C.altKey,D={startX:w,currentX:w,startY:S,currentY:S,altKey:L};this.el.classList.add(\"active\"),this._onDidStart.fire(D);const T=(0,d.createStyleSheet)(this.el),M=()=>{let O=\"\";h?O=\"all-scroll\":this.orientation===1?this.state===1?O=\"s-resize\":this.state===2?O=\"n-resize\":O=b.isMacintosh?\"row-resize\":\"ns-resize\":this.state===1?O=\"e-resize\":this.state===2?O=\"w-resize\":O=b.isMacintosh?\"col-resize\":\"ew-resize\",T.textContent=`* { cursor: ${O} !important; }`},A=new _.DisposableStore;M(),h||this.onDidEnablementChange.event(M,null,A);const P=O=>{d.EventHelper.stop(O,!1);const F={startX:w,currentX:O.pageX,startY:S,currentY:O.pageY,altKey:L};this._onDidChange.fire(F)},N=O=>{d.EventHelper.stop(O,!1),T.remove(),this.el.classList.remove(\"active\"),this._onDidEnd.fire(),A.dispose();for(const F of v)F.classList.remove(a)};f.onPointerMove(P,null,A),f.onPointerUp(N,null,A),A.add(f)}onPointerDoublePress(C){const f=this.getOrthogonalSash(C);f&&f._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(C,f=!1){C.el.classList.contains(\"active\")?(C.hoverDelayer.cancel(),C.el.classList.add(\"hover\")):C.hoverDelayer.trigger(()=>C.el.classList.add(\"hover\"),C.hoverDelay).then(void 0,()=>{}),!f&&C.linkedSash&&r.onMouseEnter(C.linkedSash,!0)}static onMouseLeave(C,f=!1){C.hoverDelayer.cancel(),C.el.classList.remove(\"hover\"),!f&&C.linkedSash&&r.onMouseLeave(C.linkedSash,!0)}clearSashHoverState(){r.onMouseLeave(this)}layout(){if(this.orientation===0){const C=this.layoutProvider;this.el.style.left=C.getVerticalSashLeft(this)-this.size/2+\"px\",C.getVerticalSashTop&&(this.el.style.top=C.getVerticalSashTop(this)+\"px\"),C.getVerticalSashHeight&&(this.el.style.height=C.getVerticalSashHeight(this)+\"px\")}else{const C=this.layoutProvider;this.el.style.top=C.getHorizontalSashTop(this)-this.size/2+\"px\",C.getHorizontalSashLeft&&(this.el.style.left=C.getHorizontalSashLeft(this)+\"px\"),C.getHorizontalSashWidth&&(this.el.style.width=C.getHorizontalSashWidth(this)+\"px\")}}getOrthogonalSash(C){const f=C.initialTarget??C.target;if(!(!f||!(0,d.isHTMLElement)(f))&&f.classList.contains(\"orthogonal-drag-handle\"))return f.classList.contains(\"start\")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}e.Sash=r}),define(ne[255],se([1,0,5,173,6,2]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResizableHTMLElement=void 0;class y{constructor(){this._onDidWillResize=new I.Emitter,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new I.Emitter,this.onDidResize=this._onDidResize.event,this._sashListener=new E.DisposableStore,this._size=new d.Dimension(0,0),this._minSize=new d.Dimension(0,0),this._maxSize=new d.Dimension(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement(\"div\"),this._eastSash=new k.Sash(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new k.Sash(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new k.Sash(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:k.OrthogonalEdge.North}),this._southSash=new k.Sash(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:k.OrthogonalEdge.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let _,b=0,p=0;this._sashListener.add(I.Event.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{_===void 0&&(this._onDidWillResize.fire(),_=this._size,b=0,p=0)})),this._sashListener.add(I.Event.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{_!==void 0&&(_=void 0,b=0,p=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(n=>{_&&(p=n.currentX-n.startX,this.layout(_.height+b,_.width+p),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(n=>{_&&(p=-(n.currentX-n.startX),this.layout(_.height+b,_.width+p),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(n=>{_&&(b=-(n.currentY-n.startY),this.layout(_.height+b,_.width+p),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(n=>{_&&(b=n.currentY-n.startY,this.layout(_.height+b,_.width+p),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(I.Event.any(this._eastSash.onDidReset,this._westSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(I.Event.any(this._northSash.onDidReset,this._southSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(_,b,p,n){this._northSash.state=_?3:0,this._eastSash.state=b?3:0,this._southSash.state=p?3:0,this._westSash.state=n?3:0}layout(_=this.size.height,b=this.size.width){const{height:p,width:n}=this._minSize,{height:o,width:t}=this._maxSize;_=Math.max(p,Math.min(o,_)),b=Math.max(n,Math.min(t,b));const i=new d.Dimension(b,_);d.Dimension.equals(i,this._size)||(this.domNode.style.height=_+\"px\",this.domNode.style.width=b+\"px\",this._size=i,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(_){this._maxSize=_}get maxSize(){return this._maxSize}set minSize(_){this._minSize=_}get minSize(){return this._minSize}set preferredSize(_){this._preferredSize=_}get preferredSize(){return this._preferredSize}}e.ResizableHTMLElement=y}),define(ne[634],se([1,0,5,69,13,6,2,16]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectBoxNative=void 0;class _ extends y.Disposable{constructor(p,n,o,t){super(),this.selected=0,this.selectBoxOptions=t||Object.create(null),this.options=[],this.selectElement=document.createElement(\"select\"),this.selectElement.className=\"monaco-select-box\",typeof this.selectBoxOptions.ariaLabel==\"string\"&&this.selectElement.setAttribute(\"aria-label\",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription==\"string\"&&this.selectElement.setAttribute(\"aria-description\",this.selectBoxOptions.ariaDescription),this._onDidSelect=this._register(new E.Emitter),this.styles=o,this.registerListeners(),this.setOptions(p,n)}registerListeners(){this._register(k.Gesture.addTarget(this.selectElement)),[k.EventType.Tap].forEach(p=>{this._register(d.addDisposableListener(this.selectElement,p,n=>{this.selectElement.focus()}))}),this._register(d.addStandardDisposableListener(this.selectElement,\"click\",p=>{d.EventHelper.stop(p,!0)})),this._register(d.addStandardDisposableListener(this.selectElement,\"change\",p=>{this.selectElement.title=p.target.value,this._onDidSelect.fire({index:p.target.selectedIndex,selected:p.target.value})})),this._register(d.addStandardDisposableListener(this.selectElement,\"keydown\",p=>{let n=!1;m.isMacintosh?(p.keyCode===18||p.keyCode===16||p.keyCode===10)&&(n=!0):(p.keyCode===18&&p.altKey||p.keyCode===10||p.keyCode===3)&&(n=!0),n&&p.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(p,n){(!this.options||!I.equals(this.options,p))&&(this.options=p,this.selectElement.options.length=0,this.options.forEach((o,t)=>{this.selectElement.add(this.createOption(o.text,t,o.isDisabled))})),n!==void 0&&this.select(n)}select(p){this.options.length===0?this.selected=0:p>=0&&p<this.options.length?this.selected=p:p>this.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected<this.options.length&&typeof this.options[this.selected].text==\"string\"?this.selectElement.title=this.options[this.selected].text:this.selectElement.title=\"\"}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(p){this.selectElement.tabIndex=p?0:-1}render(p){p.classList.add(\"select-container\"),p.appendChild(this.selectElement),this.setOptions(this.options,this.selected),this.applyStyles()}applyStyles(){this.selectElement&&(this.selectElement.style.backgroundColor=this.styles.selectBackground??\"\",this.selectElement.style.color=this.styles.selectForeground??\"\",this.selectElement.style.borderColor=this.styles.selectBorder??\"\")}createOption(p,n,o){const t=document.createElement(\"option\");return t.value=p,t.text=p,t.disabled=!!o,t}}e.SelectBoxNative=_}),define(ne[85],se([1,0,5,47,77,69,2]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Widget=void 0;class m extends y.Disposable{onclick(b,p){this._register(d.addDisposableListener(b,d.EventType.CLICK,n=>p(new I.StandardMouseEvent(d.getWindow(b),n))))}onmousedown(b,p){this._register(d.addDisposableListener(b,d.EventType.MOUSE_DOWN,n=>p(new I.StandardMouseEvent(d.getWindow(b),n))))}onmouseover(b,p){this._register(d.addDisposableListener(b,d.EventType.MOUSE_OVER,n=>p(new I.StandardMouseEvent(d.getWindow(b),n))))}onmouseleave(b,p){this._register(d.addDisposableListener(b,d.EventType.MOUSE_LEAVE,n=>p(new I.StandardMouseEvent(d.getWindow(b),n))))}onkeydown(b,p){this._register(d.addDisposableListener(b,d.EventType.KEY_DOWN,n=>p(new k.StandardKeyboardEvent(n))))}onkeyup(b,p){this._register(d.addDisposableListener(b,d.EventType.KEY_UP,n=>p(new k.StandardKeyboardEvent(n))))}oninput(b,p){this._register(d.addDisposableListener(b,d.EventType.INPUT,p))}onblur(b,p){this._register(d.addDisposableListener(b,d.EventType.BLUR,p))}onfocus(b,p){this._register(d.addDisposableListener(b,d.EventType.FOCUS,p))}ignoreGesture(b){return E.Gesture.ignoreTarget(b)}}e.Widget=m}),define(ne[256],se([1,0,172,85,14,30,5]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ScrollbarArrow=e.ARROW_IMG_SIZE=void 0,e.ARROW_IMG_SIZE=11;class m extends k.Widget{constructor(b){super(),this._onActivate=b.onActivate,this.bgDomNode=document.createElement(\"div\"),this.bgDomNode.className=\"arrow-background\",this.bgDomNode.style.position=\"absolute\",this.bgDomNode.style.width=b.bgWidth+\"px\",this.bgDomNode.style.height=b.bgHeight+\"px\",typeof b.top<\"u\"&&(this.bgDomNode.style.top=\"0px\"),typeof b.left<\"u\"&&(this.bgDomNode.style.left=\"0px\"),typeof b.bottom<\"u\"&&(this.bgDomNode.style.bottom=\"0px\"),typeof b.right<\"u\"&&(this.bgDomNode.style.right=\"0px\"),this.domNode=document.createElement(\"div\"),this.domNode.className=b.className,this.domNode.classList.add(...E.ThemeIcon.asClassNameArray(b.icon)),this.domNode.style.position=\"absolute\",this.domNode.style.width=e.ARROW_IMG_SIZE+\"px\",this.domNode.style.height=e.ARROW_IMG_SIZE+\"px\",typeof b.top<\"u\"&&(this.domNode.style.top=b.top+\"px\"),typeof b.left<\"u\"&&(this.domNode.style.left=b.left+\"px\"),typeof b.bottom<\"u\"&&(this.domNode.style.bottom=b.bottom+\"px\"),typeof b.right<\"u\"&&(this.domNode.style.right=b.right+\"px\"),this._pointerMoveMonitor=this._register(new d.GlobalPointerMoveMonitor),this._register(y.addStandardDisposableListener(this.bgDomNode,y.EventType.POINTER_DOWN,p=>this._arrowPointerDown(p))),this._register(y.addStandardDisposableListener(this.domNode,y.EventType.POINTER_DOWN,p=>this._arrowPointerDown(p))),this._pointerdownRepeatTimer=this._register(new y.WindowIntervalTimer),this._pointerdownScheduleRepeatTimer=this._register(new I.TimeoutTimer)}_arrowPointerDown(b){if(!b.target||!(b.target instanceof Element))return;const p=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,y.getWindow(b))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(p,200),this._pointerMoveMonitor.startMonitoring(b.target,b.pointerId,b.buttons,n=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),b.preventDefault()}}e.ScrollbarArrow=m}),define(ne[356],se([1,0,5,39,172,256,626,85,16]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AbstractScrollbar=void 0;const b=140;class p extends m.Widget{constructor(o){super(),this._lazyRender=o.lazyRender,this._host=o.host,this._scrollable=o.scrollable,this._scrollByPage=o.scrollByPage,this._scrollbarState=o.scrollbarState,this._visibilityController=this._register(new y.ScrollbarVisibilityController(o.visibility,\"visible scrollbar \"+o.extraScrollbarClassName,\"invisible scrollbar \"+o.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new I.GlobalPointerMoveMonitor),this._shouldRender=!0,this.domNode=(0,k.createFastDomNode)(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(\"absolute\"),this._register(d.addDisposableListener(this.domNode.domNode,d.EventType.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(o){const t=this._register(new E.ScrollbarArrow(o));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(o,t,i,s){this.slider=(0,k.createFastDomNode)(document.createElement(\"div\")),this.slider.setClassName(\"slider\"),this.slider.setPosition(\"absolute\"),this.slider.setTop(o),this.slider.setLeft(t),typeof i==\"number\"&&this.slider.setWidth(i),typeof s==\"number\"&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain(\"strict\"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(d.addDisposableListener(this.slider.domNode,d.EventType.POINTER_DOWN,g=>{g.button===0&&(g.preventDefault(),this._sliderPointerDown(g))})),this.onclick(this.slider.domNode,g=>{g.leftButton&&g.stopPropagation()})}_onElementSize(o){return this._scrollbarState.setVisibleSize(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(o){return this._scrollbarState.setScrollSize(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(o){return this._scrollbarState.setScrollPosition(o)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(o){o.target===this.domNode.domNode&&this._onPointerDown(o)}delegatePointerDown(o){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),s=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),g=this._sliderPointerPosition(o);i<=g&&g<=s?o.button===0&&(o.preventDefault(),this._sliderPointerDown(o)):this._onPointerDown(o)}_onPointerDown(o){let t,i;if(o.target===this.domNode.domNode&&typeof o.offsetX==\"number\"&&typeof o.offsetY==\"number\")t=o.offsetX,i=o.offsetY;else{const g=d.getDomNodePagePosition(this.domNode.domNode);t=o.pageX-g.left,i=o.pageY-g.top}const s=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),o.button===0&&(o.preventDefault(),this._sliderPointerDown(o))}_sliderPointerDown(o){if(!o.target||!(o.target instanceof Element))return;const t=this._sliderPointerPosition(o),i=this._sliderOrthogonalPointerPosition(o),s=this._scrollbarState.clone();this.slider.toggleClassName(\"active\",!0),this._pointerMoveMonitor.startMonitoring(o.target,o.pointerId,o.buttons,g=>{const c=this._sliderOrthogonalPointerPosition(g),l=Math.abs(c-i);if(_.isWindows&&l>b){this._setDesiredScrollPositionNow(s.getScrollPosition());return}const r=this._sliderPointerPosition(g)-t;this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(r))},()=>{this.slider.toggleClassName(\"active\",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(o){const t={};this.writeScrollPosition(t,o),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(o){this._updateScrollbarSize(o),this._scrollbarState.setScrollbarSize(o),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}e.AbstractScrollbar=p}),define(ne[635],se([1,0,77,356,256,223,26]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HorizontalScrollbar=void 0;class m extends k.AbstractScrollbar{constructor(b,p,n){const o=b.getScrollDimensions(),t=b.getCurrentScrollPosition();if(super({lazyRender:p.lazyRender,host:n,scrollbarState:new E.ScrollbarState(p.horizontalHasArrows?p.arrowSize:0,p.horizontal===2?0:p.horizontalScrollbarSize,p.vertical===2?0:p.verticalScrollbarSize,o.width,o.scrollWidth,t.scrollLeft),visibility:p.horizontal,extraScrollbarClassName:\"horizontal\",scrollable:b,scrollByPage:p.scrollByPage}),p.horizontalHasArrows){const i=(p.arrowSize-I.ARROW_IMG_SIZE)/2,s=(p.horizontalScrollbarSize-I.ARROW_IMG_SIZE)/2;this._createArrow({className:\"scra\",icon:y.Codicon.scrollbarButtonLeft,top:s,left:i,bottom:void 0,right:void 0,bgWidth:p.arrowSize,bgHeight:p.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new d.StandardWheelEvent(null,1,0))}),this._createArrow({className:\"scra\",icon:y.Codicon.scrollbarButtonRight,top:s,left:void 0,bottom:void 0,right:i,bgWidth:p.arrowSize,bgHeight:p.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new d.StandardWheelEvent(null,-1,0))})}this._createSlider(Math.floor((p.horizontalScrollbarSize-p.horizontalSliderSize)/2),0,void 0,p.horizontalSliderSize)}_updateSlider(b,p){this.slider.setWidth(b),this.slider.setLeft(p)}_renderDomNode(b,p){this.domNode.setWidth(b),this.domNode.setHeight(p),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(b){return this._shouldRender=this._onElementScrollSize(b.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(b.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(b.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(b,p){return b}_sliderPointerPosition(b){return b.pageX}_sliderOrthogonalPointerPosition(b){return b.pageY}_updateScrollbarSize(b){this.slider.setHeight(b)}writeScrollPosition(b,p){b.scrollLeft=p}updateOptions(b){this.updateScrollbarSize(b.horizontal===2?0:b.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(b.vertical===2?0:b.verticalScrollbarSize),this._visibilityController.setVisibility(b.horizontal),this._scrollByPage=b.scrollByPage}}e.HorizontalScrollbar=m}),define(ne[636],se([1,0,77,356,256,223,26]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.VerticalScrollbar=void 0;class m extends k.AbstractScrollbar{constructor(b,p,n){const o=b.getScrollDimensions(),t=b.getCurrentScrollPosition();if(super({lazyRender:p.lazyRender,host:n,scrollbarState:new E.ScrollbarState(p.verticalHasArrows?p.arrowSize:0,p.vertical===2?0:p.verticalScrollbarSize,0,o.height,o.scrollHeight,t.scrollTop),visibility:p.vertical,extraScrollbarClassName:\"vertical\",scrollable:b,scrollByPage:p.scrollByPage}),p.verticalHasArrows){const i=(p.arrowSize-I.ARROW_IMG_SIZE)/2,s=(p.verticalScrollbarSize-I.ARROW_IMG_SIZE)/2;this._createArrow({className:\"scra\",icon:y.Codicon.scrollbarButtonUp,top:i,left:s,bottom:void 0,right:void 0,bgWidth:p.verticalScrollbarSize,bgHeight:p.arrowSize,onActivate:()=>this._host.onMouseWheel(new d.StandardWheelEvent(null,0,1))}),this._createArrow({className:\"scra\",icon:y.Codicon.scrollbarButtonDown,top:void 0,left:s,bottom:i,right:void 0,bgWidth:p.verticalScrollbarSize,bgHeight:p.arrowSize,onActivate:()=>this._host.onMouseWheel(new d.StandardWheelEvent(null,0,-1))})}this._createSlider(0,Math.floor((p.verticalScrollbarSize-p.verticalSliderSize)/2),p.verticalSliderSize,void 0)}_updateSlider(b,p){this.slider.setHeight(b),this.slider.setTop(p)}_renderDomNode(b,p){this.domNode.setWidth(p),this.domNode.setHeight(b),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(b){return this._shouldRender=this._onElementScrollSize(b.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(b.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(b.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(b,p){return p}_sliderPointerPosition(b){return b.pageY}_sliderOrthogonalPointerPosition(b){return b.pageX}_updateScrollbarSize(b){this.slider.setWidth(b)}writeScrollPosition(b,p){b.scrollTop=p}updateOptions(b){this.updateScrollbarSize(b.vertical===2?0:b.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(b.vertical),this._scrollByPage=b.scrollByPage}}e.VerticalScrollbar=m}),define(ne[86],se([1,0,64,5,39,77,635,636,85,14,6,2,16,163,471]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DomScrollableElement=e.SmoothScrollableElement=e.ScrollableElement=e.AbstractScrollableElement=e.MouseWheelClassifier=void 0;const i=500,s=50,g=!0;class c{constructor(v,w,S){this.timestamp=v,this.deltaX=w,this.deltaY=S,this.score=0}}class l{static{this.INSTANCE=new l}constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let v=1,w=0,S=1,L=this._rear;do{const D=L===this._front?v:Math.pow(2,-S);if(v-=D,w+=this._memory[L].score*D,L===this._front)break;L=(this._capacity+L-1)%this._capacity,S++}while(!0);return w<=.5}acceptStandardWheelEvent(v){if(d.isChrome){const w=k.getWindow(v.browserEvent),S=(0,d.getZoomFactor)(w);this.accept(Date.now(),v.deltaX*S,v.deltaY*S)}else this.accept(Date.now(),v.deltaX,v.deltaY)}accept(v,w,S){let L=null;const D=new c(v,w,S);this._front===-1&&this._rear===-1?(this._memory[0]=D,this._front=0,this._rear=0):(L=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=D),D.score=this._computeScore(D,L)}_computeScore(v,w){if(Math.abs(v.deltaX)>0&&Math.abs(v.deltaY)>0)return 1;let S=.5;if((!this._isAlmostInt(v.deltaX)||!this._isAlmostInt(v.deltaY))&&(S+=.25),w){const L=Math.abs(v.deltaX),D=Math.abs(v.deltaY),T=Math.abs(w.deltaX),M=Math.abs(w.deltaY),A=Math.max(Math.min(L,T),1),P=Math.max(Math.min(D,M),1),N=Math.max(L,T),O=Math.max(D,M);N%A===0&&O%P===0&&(S-=.5)}return Math.min(Math.max(S,0),1)}_isAlmostInt(v){return Math.abs(Math.round(v)-v)<.01}}e.MouseWheelClassifier=l;class a extends _.Widget{get options(){return this._options}constructor(v,w,S){super(),this._onScroll=this._register(new p.Emitter),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new p.Emitter),v.style.overflow=\"hidden\",this._options=f(w),this._scrollable=S,this._register(this._scrollable.onScroll(D=>{this._onWillScroll.fire(D),this._onDidScroll(D),this._onScroll.fire(D)}));const L={onMouseWheel:D=>this._onMouseWheel(D),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new m.VerticalScrollbar(this._scrollable,this._options,L)),this._horizontalScrollbar=this._register(new y.HorizontalScrollbar(this._scrollable,this._options,L)),this._domNode=document.createElement(\"div\"),this._domNode.className=\"monaco-scrollable-element \"+this._options.className,this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.style.position=\"relative\",this._domNode.style.overflow=\"hidden\",this._domNode.appendChild(v),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=(0,I.createFastDomNode)(document.createElement(\"div\")),this._leftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=(0,I.createFastDomNode)(document.createElement(\"div\")),this._topShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=(0,I.createFastDomNode)(document.createElement(\"div\")),this._topLeftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,D=>this._onMouseOver(D)),this.onmouseleave(this._listenOnDomNode,D=>this._onMouseLeave(D)),this._hideTimeout=this._register(new b.TimeoutTimer),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=(0,n.dispose)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(v){this._verticalScrollbar.delegatePointerDown(v)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(v){this._scrollable.setScrollDimensions(v,!1)}updateClassName(v){this._options.className=v,o.isMacintosh&&(this._options.className+=\" mac\"),this._domNode.className=\"monaco-scrollable-element \"+this._options.className}updateOptions(v){typeof v.handleMouseWheel<\"u\"&&(this._options.handleMouseWheel=v.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof v.mouseWheelScrollSensitivity<\"u\"&&(this._options.mouseWheelScrollSensitivity=v.mouseWheelScrollSensitivity),typeof v.fastScrollSensitivity<\"u\"&&(this._options.fastScrollSensitivity=v.fastScrollSensitivity),typeof v.scrollPredominantAxis<\"u\"&&(this._options.scrollPredominantAxis=v.scrollPredominantAxis),typeof v.horizontal<\"u\"&&(this._options.horizontal=v.horizontal),typeof v.vertical<\"u\"&&(this._options.vertical=v.vertical),typeof v.horizontalScrollbarSize<\"u\"&&(this._options.horizontalScrollbarSize=v.horizontalScrollbarSize),typeof v.verticalScrollbarSize<\"u\"&&(this._options.verticalScrollbarSize=v.verticalScrollbarSize),typeof v.scrollByPage<\"u\"&&(this._options.scrollByPage=v.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(v){this._onMouseWheel(new E.StandardWheelEvent(v))}_setListeningToMouseWheel(v){if(this._mouseWheelToDispose.length>0!==v&&(this._mouseWheelToDispose=(0,n.dispose)(this._mouseWheelToDispose),v)){const S=L=>{this._onMouseWheel(new E.StandardWheelEvent(L))};this._mouseWheelToDispose.push(k.addDisposableListener(this._listenOnDomNode,k.EventType.MOUSE_WHEEL,S,{passive:!1}))}}_onMouseWheel(v){if(v.browserEvent?.defaultPrevented)return;const w=l.INSTANCE;g&&w.acceptStandardWheelEvent(v);let S=!1;if(v.deltaY||v.deltaX){let D=v.deltaY*this._options.mouseWheelScrollSensitivity,T=v.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&T+D===0?T=D=0:Math.abs(D)>=Math.abs(T)?T=0:D=0),this._options.flipAxes&&([D,T]=[T,D]);const M=!o.isMacintosh&&v.browserEvent&&v.browserEvent.shiftKey;(this._options.scrollYToX||M)&&!T&&(T=D,D=0),v.browserEvent&&v.browserEvent.altKey&&(T=T*this._options.fastScrollSensitivity,D=D*this._options.fastScrollSensitivity);const A=this._scrollable.getFutureScrollPosition();let P={};if(D){const N=s*D,O=A.scrollTop-(N<0?Math.floor(N):Math.ceil(N));this._verticalScrollbar.writeScrollPosition(P,O)}if(T){const N=s*T,O=A.scrollLeft-(N<0?Math.floor(N):Math.ceil(N));this._horizontalScrollbar.writeScrollPosition(P,O)}P=this._scrollable.validateScrollPosition(P),(A.scrollLeft!==P.scrollLeft||A.scrollTop!==P.scrollTop)&&(g&&this._options.mouseWheelSmoothScroll&&w.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(P):this._scrollable.setScrollPositionNow(P),S=!0)}let L=S;!L&&this._options.alwaysConsumeMouseWheel&&(L=!0),!L&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(L=!0),L&&(v.preventDefault(),v.stopPropagation())}_onDidScroll(v){this._shouldRender=this._horizontalScrollbar.onDidScroll(v)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(v)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error(\"Please use `lazyRender` together with `renderNow`!\");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const v=this._scrollable.getCurrentScrollPosition(),w=v.scrollTop>0,S=v.scrollLeft>0,L=S?\" left\":\"\",D=w?\" top\":\"\",T=S||w?\" top-left-corner\":\"\";this._leftShadowDomNode.setClassName(`shadow${L}`),this._topShadowDomNode.setClassName(`shadow${D}`),this._topLeftShadowDomNode.setClassName(`shadow${T}${D}${L}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(v){this._mouseIsOver=!1,this._hide()}_onMouseOver(v){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),i)}}e.AbstractScrollableElement=a;class r extends a{constructor(v,w){w=w||{},w.mouseWheelSmoothScroll=!1;const S=new t.Scrollable({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:L=>k.scheduleAtNextAnimationFrame(k.getWindow(v),L)});super(v,w,S),this._register(S)}setScrollPosition(v){this._scrollable.setScrollPositionNow(v)}}e.ScrollableElement=r;class u extends a{constructor(v,w,S){super(v,w,S)}setScrollPosition(v){v.reuseAnimation?this._scrollable.setScrollPositionSmooth(v,v.reuseAnimation):this._scrollable.setScrollPositionNow(v)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}e.SmoothScrollableElement=u;class C extends a{constructor(v,w){w=w||{},w.mouseWheelSmoothScroll=!1;const S=new t.Scrollable({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:L=>k.scheduleAtNextAnimationFrame(k.getWindow(v),L)});super(v,w,S),this._register(S),this._element=v,this._register(this.onScroll(L=>{L.scrollTopChanged&&(this._element.scrollTop=L.scrollTop),L.scrollLeftChanged&&(this._element.scrollLeft=L.scrollLeft)})),this.scanDomNode()}setScrollPosition(v){this._scrollable.setScrollPositionNow(v)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}e.DomScrollableElement=C;function f(h){const v={lazyRender:typeof h.lazyRender<\"u\"?h.lazyRender:!1,className:typeof h.className<\"u\"?h.className:\"\",useShadows:typeof h.useShadows<\"u\"?h.useShadows:!0,handleMouseWheel:typeof h.handleMouseWheel<\"u\"?h.handleMouseWheel:!0,flipAxes:typeof h.flipAxes<\"u\"?h.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof h.consumeMouseWheelIfScrollbarIsNeeded<\"u\"?h.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof h.alwaysConsumeMouseWheel<\"u\"?h.alwaysConsumeMouseWheel:!1,scrollYToX:typeof h.scrollYToX<\"u\"?h.scrollYToX:!1,mouseWheelScrollSensitivity:typeof h.mouseWheelScrollSensitivity<\"u\"?h.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof h.fastScrollSensitivity<\"u\"?h.fastScrollSensitivity:5,scrollPredominantAxis:typeof h.scrollPredominantAxis<\"u\"?h.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof h.mouseWheelSmoothScroll<\"u\"?h.mouseWheelSmoothScroll:!0,arrowSize:typeof h.arrowSize<\"u\"?h.arrowSize:11,listenOnDomNode:typeof h.listenOnDomNode<\"u\"?h.listenOnDomNode:null,horizontal:typeof h.horizontal<\"u\"?h.horizontal:1,horizontalScrollbarSize:typeof h.horizontalScrollbarSize<\"u\"?h.horizontalScrollbarSize:10,horizontalSliderSize:typeof h.horizontalSliderSize<\"u\"?h.horizontalSliderSize:0,horizontalHasArrows:typeof h.horizontalHasArrows<\"u\"?h.horizontalHasArrows:!1,vertical:typeof h.vertical<\"u\"?h.vertical:1,verticalScrollbarSize:typeof h.verticalScrollbarSize<\"u\"?h.verticalScrollbarSize:10,verticalHasArrows:typeof h.verticalHasArrows<\"u\"?h.verticalHasArrows:!1,verticalSliderSize:typeof h.verticalSliderSize<\"u\"?h.verticalSliderSize:0,scrollByPage:typeof h.scrollByPage<\"u\"?h.scrollByPage:!1};return v.horizontalSliderSize=typeof h.horizontalSliderSize<\"u\"?h.horizontalSliderSize:v.horizontalScrollbarSize,v.verticalSliderSize=typeof h.verticalSliderSize<\"u\"?h.verticalSliderSize:v.verticalScrollbarSize,o.isMacintosh&&(v.className+=\" mac\"),v}}),define(ne[174],se([1,0,5,47,86,2,3,464]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.KeyDownAction=e.ClickAction=e.HoverAction=e.HoverWidget=void 0,e.getHoverAccessibleViewHint=p;const m=d.$;class _ extends E.Disposable{constructor(){super(),this.containerDomNode=document.createElement(\"div\"),this.containerDomNode.className=\"monaco-hover\",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute(\"role\",\"tooltip\"),this.contentsDomNode=document.createElement(\"div\"),this.contentsDomNode.className=\"monaco-hover-content\",this.scrollbar=this._register(new I.DomScrollableElement(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}e.HoverWidget=_;class b extends E.Disposable{static render(i,s,g){return new b(i,s,g)}constructor(i,s,g){super(),this.actionLabel=s.label,this.actionKeybindingLabel=g,this.actionContainer=d.append(i,m(\"div.action-container\")),this.actionContainer.setAttribute(\"tabindex\",\"0\"),this.action=d.append(this.actionContainer,m(\"a.action\")),this.action.setAttribute(\"role\",\"button\"),s.iconClass&&d.append(this.action,m(`span.icon.${s.iconClass}`));const c=d.append(this.action,m(\"span\"));c.textContent=g?`${s.label} (${g})`:s.label,this._store.add(new n(this.actionContainer,s.run)),this._store.add(new o(this.actionContainer,s.run,[3,10])),this.setEnabled(!0)}setEnabled(i){i?(this.actionContainer.classList.remove(\"disabled\"),this.actionContainer.removeAttribute(\"aria-disabled\")):(this.actionContainer.classList.add(\"disabled\"),this.actionContainer.setAttribute(\"aria-disabled\",\"true\"))}}e.HoverAction=b;function p(t,i){return t&&i?(0,y.localize)(7,\"Inspect this in the accessible view with {0}.\",i):t?(0,y.localize)(8,\"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\"):\"\"}class n extends E.Disposable{constructor(i,s){super(),this._register(d.addDisposableListener(i,d.EventType.CLICK,g=>{g.stopPropagation(),g.preventDefault(),s(i)}))}}e.ClickAction=n;class o extends E.Disposable{constructor(i,s,g){super(),this._register(d.addDisposableListener(i,d.EventType.KEY_DOWN,c=>{const l=new k.StandardKeyboardEvent(c);g.some(a=>l.equals(a))&&(c.stopPropagation(),c.preventDefault(),s(i))}))}}e.KeyDownAction=o}),define(ne[257],se([1,0,224,5,93,69,86,13,14,126,6,2,188,163,454,632,8,141]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ListView=e.NativeDragAndDropData=e.ExternalElementsDragAndDropData=e.ElementsDragAndDropData=void 0;const l={CurrentDragAndDropData:void 0},a={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(w){return[w]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class r{constructor(S){this.elements=S}update(){}getData(){return this.elements}}e.ElementsDragAndDropData=r;class u{constructor(S){this.elements=S}update(){}getData(){return this.elements}}e.ExternalElementsDragAndDropData=u;class C{constructor(){this.types=[],this.files=[]}update(S){if(S.types&&this.types.splice(0,this.types.length,...S.types),S.files){this.files.splice(0,this.files.length);for(let L=0;L<S.files.length;L++){const D=S.files.item(L);D&&(D.size||D.type)&&this.files.push(D)}}}getData(){return{types:this.types,files:this.files}}}e.NativeDragAndDropData=C;function f(w,S){return Array.isArray(w)&&Array.isArray(S)?(0,m.equals)(w,S):w===S}class h{constructor(S){S?.getSetSize?this.getSetSize=S.getSetSize.bind(S):this.getSetSize=(L,D,T)=>T,S?.getPosInSet?this.getPosInSet=S.getPosInSet.bind(S):this.getPosInSet=(L,D)=>D+1,S?.getRole?this.getRole=S.getRole.bind(S):this.getRole=L=>\"listitem\",S?.isChecked?this.isChecked=S.isChecked.bind(S):this.isChecked=L=>{}}}class v{static{this.InstanceCount=0}get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(S){if(S!==this._horizontalScrolling){if(S&&this.supportDynamicHeights)throw new Error(\"Horizontal scrolling and dynamic heights not supported simultaneously\");if(this._horizontalScrolling=S,this.domNode.classList.toggle(\"horizontal-scrolling\",this._horizontalScrolling),this._horizontalScrolling){for(const L of this.items)this.measureItemWidth(L);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:(0,k.getContentWidth)(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=\"\"}}constructor(S,L,D,T=a){if(this.virtualDelegate=L,this.domId=`list_id_${++v.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new _.Delayer(50),this.splicing=!1,this.dragOverAnimationStopDisposable=n.Disposable.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=n.Disposable.None,this.onDragLeaveTimeout=n.Disposable.None,this.disposables=new n.DisposableStore,this._onDidChangeContentHeight=new p.Emitter,this._onDidChangeContentWidth=new p.Emitter,this.onDidChangeContentHeight=p.Event.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,T.horizontalScrolling&&T.supportDynamicHeights)throw new Error(\"Horizontal scrolling and dynamic heights not supported simultaneously\");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(T.paddingTop??0);for(const A of D)this.renderers.set(A.templateId,A);this.cache=this.disposables.add(new s.RowCache(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement(\"div\"),this.domNode.className=\"monaco-list\",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle(\"mouse-support\",typeof T.mouseSupport==\"boolean\"?T.mouseSupport:!0),this._horizontalScrolling=T.horizontalScrolling??a.horizontalScrolling,this.domNode.classList.toggle(\"horizontal-scrolling\",this._horizontalScrolling),this.paddingBottom=typeof T.paddingBottom>\"u\"?0:T.paddingBottom,this.accessibilityProvider=new h(T.accessibilityProvider),this.rowsContainer=document.createElement(\"div\"),this.rowsContainer.className=\"monaco-list-rows\",(T.transformOptimization??a.transformOptimization)&&(this.rowsContainer.style.transform=\"translate3d(0px, 0px, 0px)\",this.rowsContainer.style.overflow=\"hidden\",this.rowsContainer.style.contain=\"strict\"),this.disposables.add(E.Gesture.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new t.Scrollable({forceIntegerValues:!0,smoothScrollDuration:T.smoothScrolling??!1?125:0,scheduleAtNextAnimationFrame:A=>(0,k.scheduleAtNextAnimationFrame)((0,k.getWindow)(this.domNode),A)})),this.scrollableElement=this.disposables.add(new y.SmoothScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:T.alwaysConsumeMouseWheel??a.alwaysConsumeMouseWheel,horizontal:1,vertical:T.verticalScrollMode??a.verticalScrollMode,useShadows:T.useShadows??a.useShadows,mouseWheelScrollSensitivity:T.mouseWheelScrollSensitivity,fastScrollSensitivity:T.fastScrollSensitivity,scrollByPage:T.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),S.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add((0,k.addDisposableListener)(this.rowsContainer,E.EventType.Change,A=>this.onTouchChange(A))),this.disposables.add((0,k.addDisposableListener)(this.scrollableElement.getDomNode(),\"scroll\",A=>A.target.scrollTop=0)),this.disposables.add((0,k.addDisposableListener)(this.domNode,\"dragover\",A=>this.onDragOver(this.toDragEvent(A)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,\"drop\",A=>this.onDrop(this.toDragEvent(A)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,\"dragleave\",A=>this.onDragLeave(this.toDragEvent(A)))),this.disposables.add((0,k.addDisposableListener)(this.domNode,\"dragend\",A=>this.onDragEnd(A))),this.setRowLineHeight=T.setRowLineHeight??a.setRowLineHeight,this.setRowHeight=T.setRowHeight??a.setRowHeight,this.supportDynamicHeights=T.supportDynamicHeights??a.supportDynamicHeights,this.dnd=T.dnd??this.disposables.add(a.dnd),this.layout(T.initialSize?.height,T.initialSize?.width)}updateOptions(S){S.paddingBottom!==void 0&&(this.paddingBottom=S.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),S.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(S.smoothScrolling?125:0),S.horizontalScrolling!==void 0&&(this.horizontalScrolling=S.horizontalScrolling);let L;if(S.scrollByPage!==void 0&&(L={...L??{},scrollByPage:S.scrollByPage}),S.mouseWheelScrollSensitivity!==void 0&&(L={...L??{},mouseWheelScrollSensitivity:S.mouseWheelScrollSensitivity}),S.fastScrollSensitivity!==void 0&&(L={...L??{},fastScrollSensitivity:S.fastScrollSensitivity}),L&&this.scrollableElement.updateOptions(L),S.paddingTop!==void 0&&S.paddingTop!==this.rangeMap.paddingTop){const D=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),T=S.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=S.paddingTop,this.render(D,Math.max(0,this.lastRenderTop+T),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(S){return new i.RangeMap(S)}splice(S,L,D=[]){if(this.splicing)throw new Error(\"Can't run recursive splices.\");this.splicing=!0;try{return this._splice(S,L,D)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(S,L,D=[]){const T=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),M={start:S,end:S+L},A=o.Range.intersect(T,M),P=new Map;for(let K=A.end-1;K>=A.start;K--){const R=this.items[K];if(R.dragStartDisposable.dispose(),R.checkedDisposable.dispose(),R.row){let J=P.get(R.templateId);J||(J=[],P.set(R.templateId,J));const ie=this.renderers.get(R.templateId);ie&&ie.disposeElement&&ie.disposeElement(R.element,K,R.row.templateData,R.size),J.unshift(R.row)}R.row=null,R.stale=!0}const N={start:S+L,end:this.items.length},O=o.Range.intersect(N,T),F=o.Range.relativeComplement(N,T),x=D.map(K=>({id:String(this.itemId++),element:K,templateId:this.virtualDelegate.getTemplateId(K),size:this.virtualDelegate.getHeight(K),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(K),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:n.Disposable.None,checkedDisposable:n.Disposable.None,stale:!1}));let W;S===0&&L>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,x),W=this.items,this.items=x):(this.rangeMap.splice(S,L,x),W=this.items.splice(S,L,...x));const V=D.length-L,q=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),H=(0,i.shift)(O,V),z=o.Range.intersect(q,H);for(let K=z.start;K<z.end;K++)this.updateItemInDOM(this.items[K],K);const U=o.Range.relativeComplement(H,q);for(const K of U)for(let R=K.start;R<K.end;R++)this.removeItemFromDOM(R);const j=F.map(K=>(0,i.shift)(K,V)),G=[{start:S,end:S+D.length},...j].map(K=>o.Range.intersect(q,K)).reverse();for(const K of G)for(let R=K.end-1;R>=K.start;R--){const J=this.items[R],ue=P.get(J.templateId)?.pop();this.insertItemInDOM(R,ue)}for(const K of P.values())for(const R of K)this.cache.release(R);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),W.map(K=>K.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=(0,k.scheduleAtNextAnimationFrame)((0,k.getWindow)(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let S=0;for(const L of this.items)typeof L.width<\"u\"&&(S=Math.max(S,L.width));this.scrollWidth=S,this.scrollableElement.setScrollDimensions({scrollWidth:S===0?0:S+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const S of this.items)S.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(S){return this.items[S].element}indexOf(S){return this.items.findIndex(L=>L.element===S)}domElement(S){const L=this.items[S].row;return L&&L.domNode}elementHeight(S){return this.items[S].size}elementTop(S){return this.rangeMap.positionAt(S)}indexAt(S){return this.rangeMap.indexAt(S)}indexAfter(S){return this.rangeMap.indexAfter(S)}layout(S,L){const D={height:typeof S==\"number\"?S:(0,k.getContentHeight)(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,D.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(D),typeof L<\"u\"&&(this.renderWidth=L,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof L==\"number\"?L:(0,k.getContentWidth)(this.domNode)})}render(S,L,D,T,M,A=!1){const P=this.getRenderRange(L,D),N=o.Range.relativeComplement(P,S).reverse(),O=o.Range.relativeComplement(S,P);if(A){const F=o.Range.intersect(S,P);for(let x=F.start;x<F.end;x++)this.updateItemInDOM(this.items[x],x)}this.cache.transact(()=>{for(const F of O)for(let x=F.start;x<F.end;x++)this.removeItemFromDOM(x);for(const F of N)for(let x=F.end-1;x>=F.start;x--)this.insertItemInDOM(x)}),T!==void 0&&(this.rowsContainer.style.left=`-${T}px`),this.rowsContainer.style.top=`-${L}px`,this.horizontalScrolling&&M!==void 0&&(this.rowsContainer.style.width=`${Math.max(M,this.renderWidth)}px`),this.lastRenderTop=L,this.lastRenderHeight=D}insertItemInDOM(S,L){const D=this.items[S];if(!D.row)if(L)D.row=L,D.stale=!0;else{const N=this.cache.alloc(D.templateId);D.row=N.row,D.stale||=N.isReusingConnectedDomNode}const T=this.accessibilityProvider.getRole(D.element)||\"listitem\";D.row.domNode.setAttribute(\"role\",T);const M=this.accessibilityProvider.isChecked(D.element);if(typeof M==\"boolean\")D.row.domNode.setAttribute(\"aria-checked\",String(!!M));else if(M){const N=O=>D.row.domNode.setAttribute(\"aria-checked\",String(!!O));N(M.value),D.checkedDisposable=M.onDidChange(()=>N(M.value))}if(D.stale||!D.row.domNode.parentElement){const N=this.items.at(S+1)?.row?.domNode??null;(D.row.domNode.parentElement!==this.rowsContainer||D.row.domNode.nextElementSibling!==N)&&this.rowsContainer.insertBefore(D.row.domNode,N),D.stale=!1}this.updateItemInDOM(D,S);const A=this.renderers.get(D.templateId);if(!A)throw new Error(`No renderer found for template id ${D.templateId}`);A?.renderElement(D.element,S,D.row.templateData,D.size);const P=this.dnd.getDragURI(D.element);D.dragStartDisposable.dispose(),D.row.domNode.draggable=!!P,P&&(D.dragStartDisposable=(0,k.addDisposableListener)(D.row.domNode,\"dragstart\",N=>this.onDragStart(D.element,P,N))),this.horizontalScrolling&&(this.measureItemWidth(D),this.eventuallyUpdateScrollWidth())}measureItemWidth(S){if(!S.row||!S.row.domNode)return;S.row.domNode.style.width=\"fit-content\",S.width=(0,k.getContentWidth)(S.row.domNode);const L=(0,k.getWindow)(S.row.domNode).getComputedStyle(S.row.domNode);L.paddingLeft&&(S.width+=parseFloat(L.paddingLeft)),L.paddingRight&&(S.width+=parseFloat(L.paddingRight)),S.row.domNode.style.width=\"\"}updateItemInDOM(S,L){S.row.domNode.style.top=`${this.elementTop(L)}px`,this.setRowHeight&&(S.row.domNode.style.height=`${S.size}px`),this.setRowLineHeight&&(S.row.domNode.style.lineHeight=`${S.size}px`),S.row.domNode.setAttribute(\"data-index\",`${L}`),S.row.domNode.setAttribute(\"data-last-element\",L===this.length-1?\"true\":\"false\"),S.row.domNode.setAttribute(\"data-parity\",L%2===0?\"even\":\"odd\"),S.row.domNode.setAttribute(\"aria-setsize\",String(this.accessibilityProvider.getSetSize(S.element,L,this.length))),S.row.domNode.setAttribute(\"aria-posinset\",String(this.accessibilityProvider.getPosInSet(S.element,L))),S.row.domNode.setAttribute(\"id\",this.getElementDomId(L)),S.row.domNode.classList.toggle(\"drop-target\",S.dropTarget)}removeItemFromDOM(S){const L=this.items[S];if(L.dragStartDisposable.dispose(),L.checkedDisposable.dispose(),L.row){const D=this.renderers.get(L.templateId);D&&D.disposeElement&&D.disposeElement(L.element,S,L.row.templateData,L.size),this.cache.release(L.row),L.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(S,L){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:S,reuseAnimation:L})}get scrollTop(){return this.getScrollTop()}set scrollTop(S){this.setScrollTop(S)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,\"click\")).event,S=>this.toMouseEvent(S),this.disposables)}get onMouseDblClick(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,\"dblclick\")).event,S=>this.toMouseEvent(S),this.disposables)}get onMouseMiddleClick(){return p.Event.filter(p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,\"auxclick\")).event,S=>this.toMouseEvent(S),this.disposables),S=>S.browserEvent.button===1,this.disposables)}get onMouseDown(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,\"mousedown\")).event,S=>this.toMouseEvent(S),this.disposables)}get onMouseOver(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,\"mouseover\")).event,S=>this.toMouseEvent(S),this.disposables)}get onMouseOut(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,\"mouseout\")).event,S=>this.toMouseEvent(S),this.disposables)}get onContextMenu(){return p.Event.any(p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,\"contextmenu\")).event,S=>this.toMouseEvent(S),this.disposables),p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,E.EventType.Contextmenu)).event,S=>this.toGestureEvent(S),this.disposables))}get onTouchStart(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.domNode,\"touchstart\")).event,S=>this.toTouchEvent(S),this.disposables)}get onTap(){return p.Event.map(this.disposables.add(new I.DomEmitter(this.rowsContainer,E.EventType.Tap)).event,S=>this.toGestureEvent(S),this.disposables)}toMouseEvent(S){const L=this.getItemIndexFromEventTarget(S.target||null),D=typeof L>\"u\"?void 0:this.items[L],T=D&&D.element;return{browserEvent:S,index:L,element:T}}toTouchEvent(S){const L=this.getItemIndexFromEventTarget(S.target||null),D=typeof L>\"u\"?void 0:this.items[L],T=D&&D.element;return{browserEvent:S,index:L,element:T}}toGestureEvent(S){const L=this.getItemIndexFromEventTarget(S.initialTarget||null),D=typeof L>\"u\"?void 0:this.items[L],T=D&&D.element;return{browserEvent:S,index:L,element:T}}toDragEvent(S){const L=this.getItemIndexFromEventTarget(S.target||null),D=typeof L>\"u\"?void 0:this.items[L],T=D&&D.element,M=this.getTargetSector(S,L);return{browserEvent:S,index:L,element:T,sector:M}}onScroll(S){try{const L=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(L,S.scrollTop,S.height,S.scrollLeft,S.scrollWidth),this.supportDynamicHeights&&this._rerender(S.scrollTop,S.height,S.inSmoothScrolling)}catch(L){throw console.error(\"Got bad scroll event:\",S),L}}onTouchChange(S){S.preventDefault(),S.stopPropagation(),this.scrollTop-=S.translationY}onDragStart(S,L,D){if(!D.dataTransfer)return;const T=this.dnd.getDragElements(S);if(D.dataTransfer.effectAllowed=\"copyMove\",D.dataTransfer.setData(d.DataTransfers.TEXT,L),D.dataTransfer.setDragImage){let M;this.dnd.getDragLabel&&(M=this.dnd.getDragLabel(T,D)),typeof M>\"u\"&&(M=String(T.length));const A=(0,k.$)(\".monaco-drag-image\");A.textContent=M,(O=>{for(;O&&!O.classList.contains(\"monaco-workbench\");)O=O.parentElement;return O||this.domNode.ownerDocument})(this.domNode).appendChild(A),D.dataTransfer.setDragImage(A,-10,-10),setTimeout(()=>A.remove(),0)}this.domNode.classList.add(\"dragging\"),this.currentDragData=new r(T),l.CurrentDragAndDropData=new u(T),this.dnd.onDragStart?.(this.currentDragData,D)}onDragOver(S){if(S.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),l.CurrentDragAndDropData&&l.CurrentDragAndDropData.getData()===\"vscode-ui\"||(this.setupDragAndDropScrollTopAnimation(S.browserEvent),!S.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(l.CurrentDragAndDropData)this.currentDragData=l.CurrentDragAndDropData;else{if(!S.browserEvent.dataTransfer.types)return!1;this.currentDragData=new C}const L=this.dnd.onDragOver(this.currentDragData,S.element,S.index,S.sector,S.browserEvent);if(this.canDrop=typeof L==\"boolean\"?L:L.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;S.browserEvent.dataTransfer.dropEffect=typeof L!=\"boolean\"&&L.effect?.type===0?\"copy\":\"move\";let D;typeof L!=\"boolean\"&&L.feedback?D=L.feedback:typeof S.index>\"u\"?D=[-1]:D=[S.index],D=(0,m.distinct)(D).filter(M=>M>=-1&&M<this.length).sort((M,A)=>M-A),D=D[0]===-1?[-1]:D;let T=typeof L!=\"boolean\"&&L.effect&&L.effect.position?L.effect.position:\"drop-target\";if(f(this.currentDragFeedback,D)&&this.currentDragFeedbackPosition===T)return!0;if(this.currentDragFeedback=D,this.currentDragFeedbackPosition=T,this.currentDragFeedbackDisposable.dispose(),D[0]===-1)this.domNode.classList.add(T),this.rowsContainer.classList.add(T),this.currentDragFeedbackDisposable=(0,n.toDisposable)(()=>{this.domNode.classList.remove(T),this.rowsContainer.classList.remove(T)});else{if(D.length>1&&T!==\"drop-target\")throw new Error(\"Can't use multiple feedbacks with position different than 'over'\");T===\"drop-target-after\"&&D[0]<this.length-1&&(D[0]+=1,T=\"drop-target-before\");for(const M of D){const A=this.items[M];A.dropTarget=!0,A.row?.domNode.classList.add(T)}this.currentDragFeedbackDisposable=(0,n.toDisposable)(()=>{for(const M of D){const A=this.items[M];A.dropTarget=!1,A.row?.domNode.classList.remove(T)}})}return!0}onDragLeave(S){this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=(0,_.disposableTimeout)(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&this.dnd.onDragLeave?.(this.currentDragData,S.element,S.index,S.browserEvent)}onDrop(S){if(!this.canDrop)return;const L=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove(\"dragging\"),this.currentDragData=void 0,l.CurrentDragAndDropData=void 0,!(!L||!S.browserEvent.dataTransfer)&&(S.browserEvent.preventDefault(),L.update(S.browserEvent.dataTransfer),this.dnd.drop(L,S.element,S.index,S.sector,S.browserEvent))}onDragEnd(S){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove(\"dragging\"),this.currentDragData=void 0,l.CurrentDragAndDropData=void 0,this.dnd.onDragEnd?.(S)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=n.Disposable.None}setupDragAndDropScrollTopAnimation(S){if(!this.dragOverAnimationDisposable){const L=(0,k.getTopLeftOffset)(this.domNode).top;this.dragOverAnimationDisposable=(0,k.animate)((0,k.getWindow)(this.domNode),this.animateDragAndDropScrollTop.bind(this,L))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=(0,_.disposableTimeout)(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=S.pageY}animateDragAndDropScrollTop(S){if(this.dragOverMouseY===void 0)return;const L=this.dragOverMouseY-S,D=this.renderHeight-35;L<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(L-35))):L>D&&(this.scrollTop+=Math.min(14,Math.floor(.3*(L-D))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(S,L){if(L===void 0)return;const D=S.offsetY/this.items[L].size,T=Math.floor(D/.25);return(0,c.clamp)(T,0,3)}getItemIndexFromEventTarget(S){const L=this.scrollableElement.getDomNode();let D=S;for(;((0,k.isHTMLElement)(D)||(0,k.isSVGElement)(D))&&D!==this.rowsContainer&&L.contains(D);){const T=D.getAttribute(\"data-index\");if(T){const M=Number(T);if(!isNaN(M))return M}D=D.parentElement}}getRenderRange(S,L){return{start:this.rangeMap.indexAt(S),end:this.rangeMap.indexAfter(S+L-1)}}_rerender(S,L,D){const T=this.getRenderRange(S,L);let M,A;S===this.elementTop(T.start)?(M=T.start,A=0):T.end-T.start>1&&(M=T.start+1,A=this.elementTop(M)-S);let P=0;for(;;){const N=this.getRenderRange(S,L);let O=!1;for(let F=N.start;F<N.end;F++){const x=this.probeDynamicHeight(F);x!==0&&this.rangeMap.splice(F,1,[this.items[F]]),P+=x,O=O||x!==0}if(!O){P!==0&&this.eventuallyUpdateScrollDimensions();const F=o.Range.relativeComplement(T,N);for(const W of F)for(let V=W.start;V<W.end;V++)this.items[V].row&&this.removeItemFromDOM(V);const x=o.Range.relativeComplement(N,T).reverse();for(const W of x)for(let V=W.end-1;V>=W.start;V--)this.insertItemInDOM(V);for(let W=N.start;W<N.end;W++)this.items[W].row&&this.updateItemInDOM(this.items[W],W);if(typeof M==\"number\"){const W=this.scrollable.getFutureScrollPosition().scrollTop-S,V=this.elementTop(M)-A+W;this.setScrollTop(V,D)}this._onDidChangeContentHeight.fire(this.contentHeight);return}}}probeDynamicHeight(S){const L=this.items[S];if(this.virtualDelegate.getDynamicHeight){const A=this.virtualDelegate.getDynamicHeight(L.element);if(A!==null){const P=L.size;return L.size=A,L.lastDynamicHeightWidth=this.renderWidth,A-P}}if(!L.hasDynamicHeight||L.lastDynamicHeightWidth===this.renderWidth||this.virtualDelegate.hasDynamicHeight&&!this.virtualDelegate.hasDynamicHeight(L.element))return 0;const D=L.size;if(L.row)return L.row.domNode.style.height=\"\",L.size=L.row.domNode.offsetHeight,L.size===0&&!(0,k.isAncestor)(L.row.domNode,(0,k.getWindow)(L.row.domNode).document.body)&&console.warn(\"Measuring item node that is not in DOM! Add ListView to the DOM before measuring row height!\",new Error().stack),L.lastDynamicHeightWidth=this.renderWidth,L.size-D;const{row:T}=this.cache.alloc(L.templateId);T.domNode.style.height=\"\",this.rowsContainer.appendChild(T.domNode);const M=this.renderers.get(L.templateId);if(!M)throw new g.BugIndicatingError(\"Missing renderer for templateId: \"+L.templateId);return M.renderElement(L.element,S,T.templateData,void 0),L.size=T.domNode.offsetHeight,M.disposeElement?.(L.element,S,T.templateData,void 0),this.virtualDelegate.setDynamicHeight?.(L.element,L.size),L.lastDynamicHeightWidth=this.renderWidth,T.domNode.remove(),this.cache.release(T),L.size-D}getElementDomId(S){return`${this.domId}_${S}`}dispose(){for(const S of this.items)if(S.dragStartDisposable.dispose(),S.checkedDisposable.dispose(),S.row){const L=this.renderers.get(S.row.templateId);L&&(L.disposeElement?.(S.element,-1,S.row.templateData,void 0),L.disposeTemplate(S.row.templateData))}this.items=[],this.domNode?.remove(),this.dragOverAnimationDisposable?.dispose(),this.disposables.dispose()}}e.ListView=v,ke([b.memoize],v.prototype,\"onMouseClick\",null),ke([b.memoize],v.prototype,\"onMouseDblClick\",null),ke([b.memoize],v.prototype,\"onMouseMiddleClick\",null),ke([b.memoize],v.prototype,\"onMouseDown\",null),ke([b.memoize],v.prototype,\"onMouseOver\",null),ke([b.memoize],v.prototype,\"onMouseOut\",null),ke([b.memoize],v.prototype,\"onContextMenu\",null),ke([b.memoize],v.prototype,\"onTouchStart\",null),ke([b.memoize],v.prototype,\"onTap\",null)}),define(ne[115],se([1,0,5,93,47,69,46,443,13,14,33,126,6,82,2,141,16,19,442,257,77,21,305]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.List=e.unthemedListStyles=e.DefaultStyleController=e.MouseController=e.DefaultKeyboardNavigationDelegate=e.TypeNavigationMode=void 0,e.isInputElement=w,e.isMonacoEditor=L,e.isMonacoCustomToggle=D,e.isActionItem=T,e.isStickyScrollElement=M,e.isStickyScrollContainer=A,e.isButton=P,e.isSelectionSingleChangeEvent=V,e.isSelectionRangeChangeEvent=q;class C{constructor(ee){this.trait=ee,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(ee){return ee}renderElement(ee,de,ge){const X=this.renderedElements.findIndex(B=>B.templateData===ge);if(X>=0){const B=this.renderedElements[X];this.trait.unrender(ge),B.index=de}else{const B={index:de,templateData:ge};this.renderedElements.push(B)}this.trait.renderIndex(de,ge)}splice(ee,de,ge){const X=[];for(const B of this.renderedElements)B.index<ee?X.push(B):B.index>=ee+de&&X.push({index:B.index+ge-de,templateData:B.templateData});this.renderedElements=X}renderIndexes(ee){for(const{index:de,templateData:ge}of this.renderedElements)ee.indexOf(de)>-1&&this.trait.renderIndex(de,ge)}disposeTemplate(ee){const de=this.renderedElements.findIndex(ge=>ge.templateData===ee);de<0||this.renderedElements.splice(de,1)}}class f{get name(){return this._trait}get renderer(){return new C(this)}constructor(ee){this._trait=ee,this.indexes=[],this.sortedIndexes=[],this._onChange=new o.Emitter,this.onChange=this._onChange.event}splice(ee,de,ge){const X=ge.length-de,B=ee+de,$=[];let Q=0;for(;Q<this.sortedIndexes.length&&this.sortedIndexes[Q]<ee;)$.push(this.sortedIndexes[Q++]);for(let Z=0;Z<ge.length;Z++)ge[Z]&&$.push(Z+ee);for(;Q<this.sortedIndexes.length&&this.sortedIndexes[Q]>=B;)$.push(this.sortedIndexes[Q++]+X);this.renderer.splice(ee,de,ge.length),this._set($,$)}renderIndex(ee,de){de.classList.toggle(this._trait,this.contains(ee))}unrender(ee){ee.classList.remove(this._trait)}set(ee,de){return this._set(ee,[...ee].sort(J),de)}_set(ee,de,ge){const X=this.indexes,B=this.sortedIndexes;this.indexes=ee,this.sortedIndexes=de;const $=K(B,ee);return this.renderer.renderIndexes($),this._onChange.fire({indexes:ee,browserEvent:ge}),X}get(){return this.indexes}contains(ee){return(0,_.binarySearch)(this.sortedIndexes,ee,J)>=0}dispose(){(0,i.dispose)(this._onChange)}}ke([n.memoize],f.prototype,\"renderer\",null);class h extends f{constructor(ee){super(\"selected\"),this.setAriaSelected=ee}renderIndex(ee,de){super.renderIndex(ee,de),this.setAriaSelected&&(this.contains(ee)?de.setAttribute(\"aria-selected\",\"true\"):de.setAttribute(\"aria-selected\",\"false\"))}}class v{constructor(ee,de,ge){this.trait=ee,this.view=de,this.identityProvider=ge}splice(ee,de,ge){if(!this.identityProvider)return this.trait.splice(ee,de,new Array(ge.length).fill(!1));const X=this.trait.get().map(Q=>this.identityProvider.getId(this.view.element(Q)).toString());if(X.length===0)return this.trait.splice(ee,de,new Array(ge.length).fill(!1));const B=new Set(X),$=ge.map(Q=>B.has(this.identityProvider.getId(Q).toString()));this.trait.splice(ee,de,$)}}function w(ae){return ae.tagName===\"INPUT\"||ae.tagName===\"TEXTAREA\"}function S(ae,ee){return ae.classList.contains(ee)?!0:ae.classList.contains(\"monaco-list\")||!ae.parentElement?!1:S(ae.parentElement,ee)}function L(ae){return S(ae,\"monaco-editor\")}function D(ae){return S(ae,\"monaco-custom-toggle\")}function T(ae){return S(ae,\"action-item\")}function M(ae){return S(ae,\"monaco-tree-sticky-row\")}function A(ae){return ae.classList.contains(\"monaco-tree-sticky-container\")}function P(ae){return ae.tagName===\"A\"&&ae.classList.contains(\"monaco-button\")||ae.tagName===\"DIV\"&&ae.classList.contains(\"monaco-button-dropdown\")?!0:ae.classList.contains(\"monaco-list\")||!ae.parentElement?!1:P(ae.parentElement)}class N{get onKeyDown(){return o.Event.chain(this.disposables.add(new k.DomEmitter(this.view.domNode,\"keydown\")).event,ee=>ee.filter(de=>!w(de.target)).map(de=>new I.StandardKeyboardEvent(de)))}constructor(ee,de,ge){this.list=ee,this.view=de,this.disposables=new i.DisposableStore,this.multipleSelectionDisposables=new i.DisposableStore,this.multipleSelectionSupport=ge.multipleSelectionSupport,this.disposables.add(this.onKeyDown(X=>{switch(X.keyCode){case 3:return this.onEnter(X);case 16:return this.onUpArrow(X);case 18:return this.onDownArrow(X);case 11:return this.onPageUpArrow(X);case 12:return this.onPageDownArrow(X);case 9:return this.onEscape(X);case 31:this.multipleSelectionSupport&&(g.isMacintosh?X.metaKey:X.ctrlKey)&&this.onCtrlA(X)}}))}updateOptions(ee){ee.multipleSelectionSupport!==void 0&&(this.multipleSelectionSupport=ee.multipleSelectionSupport)}onEnter(ee){ee.preventDefault(),ee.stopPropagation(),this.list.setSelection(this.list.getFocus(),ee.browserEvent)}onUpArrow(ee){ee.preventDefault(),ee.stopPropagation(),this.list.focusPrevious(1,!1,ee.browserEvent);const de=this.list.getFocus()[0];this.list.setAnchor(de),this.list.reveal(de),this.view.domNode.focus()}onDownArrow(ee){ee.preventDefault(),ee.stopPropagation(),this.list.focusNext(1,!1,ee.browserEvent);const de=this.list.getFocus()[0];this.list.setAnchor(de),this.list.reveal(de),this.view.domNode.focus()}onPageUpArrow(ee){ee.preventDefault(),ee.stopPropagation(),this.list.focusPreviousPage(ee.browserEvent);const de=this.list.getFocus()[0];this.list.setAnchor(de),this.list.reveal(de),this.view.domNode.focus()}onPageDownArrow(ee){ee.preventDefault(),ee.stopPropagation(),this.list.focusNextPage(ee.browserEvent);const de=this.list.getFocus()[0];this.list.setAnchor(de),this.list.reveal(de),this.view.domNode.focus()}onCtrlA(ee){ee.preventDefault(),ee.stopPropagation(),this.list.setSelection((0,_.range)(this.list.length),ee.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(ee){this.list.getSelection().length&&(ee.preventDefault(),ee.stopPropagation(),this.list.setSelection([],ee.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}ke([n.memoize],N.prototype,\"onKeyDown\",null);var O;(function(ae){ae[ae.Automatic=0]=\"Automatic\",ae[ae.Trigger=1]=\"Trigger\"})(O||(e.TypeNavigationMode=O={}));var F;(function(ae){ae[ae.Idle=0]=\"Idle\",ae[ae.Typing=1]=\"Typing\"})(F||(F={})),e.DefaultKeyboardNavigationDelegate=new class{mightProducePrintableCharacter(ae){return ae.ctrlKey||ae.metaKey||ae.altKey?!1:ae.keyCode>=31&&ae.keyCode<=56||ae.keyCode>=21&&ae.keyCode<=30||ae.keyCode>=98&&ae.keyCode<=107||ae.keyCode>=85&&ae.keyCode<=95}};class x{constructor(ee,de,ge,X,B){this.list=ee,this.view=de,this.keyboardNavigationLabelProvider=ge,this.keyboardNavigationEventFilter=X,this.delegate=B,this.enabled=!1,this.state=F.Idle,this.mode=O.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new i.DisposableStore,this.disposables=new i.DisposableStore,this.updateOptions(ee.options)}updateOptions(ee){ee.typeNavigationEnabled??!0?this.enable():this.disable(),this.mode=ee.typeNavigationMode??O.Automatic}enable(){if(this.enabled)return;let ee=!1;const de=o.Event.chain(this.enabledDisposables.add(new k.DomEmitter(this.view.domNode,\"keydown\")).event,B=>B.filter($=>!w($.target)).filter(()=>this.mode===O.Automatic||this.triggered).map($=>new I.StandardKeyboardEvent($)).filter($=>ee||this.keyboardNavigationEventFilter($)).filter($=>this.delegate.mightProducePrintableCharacter($)).forEach($=>d.EventHelper.stop($,!0)).map($=>$.browserEvent.key)),ge=o.Event.debounce(de,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);o.Event.reduce(o.Event.any(de,ge),(B,$)=>$===null?null:(B||\"\")+$,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),ge(this.onClear,this,this.enabledDisposables),de(()=>ee=!0,void 0,this.enabledDisposables),ge(()=>ee=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){const ee=this.list.getFocus();if(ee.length>0&&ee[0]===this.previouslyFocused){const de=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(ee[0]));typeof de==\"string\"?(0,y.alert)(de):de&&(0,y.alert)(de.get())}this.previouslyFocused=-1}onInput(ee){if(!ee){this.state=F.Idle,this.triggered=!1;return}const de=this.list.getFocus(),ge=de.length>0?de[0]:0,X=this.state===F.Idle?1:0;this.state=F.Typing;for(let B=0;B<this.list.length;B++){const $=(ge+B+X)%this.list.length,Q=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element($)),Z=Q&&Q.toString();if(this.list.options.typeNavigationEnabled){if(typeof Z<\"u\"){if((0,t.matchesPrefix)(ee,Z)){this.previouslyFocused=ge,this.list.setFocus([$]),this.list.reveal($);return}const te=(0,t.matchesFuzzy2)(ee,Z);if(te&&te[0].end-te[0].start>1&&te.length===1){this.previouslyFocused=ge,this.list.setFocus([$]),this.list.reveal($);return}}}else if(typeof Z>\"u\"||(0,t.matchesPrefix)(ee,Z)){this.previouslyFocused=ge,this.list.setFocus([$]),this.list.reveal($);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class W{constructor(ee,de){this.list=ee,this.view=de,this.disposables=new i.DisposableStore;const ge=o.Event.chain(this.disposables.add(new k.DomEmitter(de.domNode,\"keydown\")).event,B=>B.filter($=>!w($.target)).map($=>new I.StandardKeyboardEvent($)));o.Event.chain(ge,B=>B.filter($=>$.keyCode===2&&!$.ctrlKey&&!$.metaKey&&!$.shiftKey&&!$.altKey))(this.onTab,this,this.disposables)}onTab(ee){if(ee.target!==this.view.domNode)return;const de=this.list.getFocus();if(de.length===0)return;const ge=this.view.domElement(de[0]);if(!ge)return;const X=ge.querySelector(\"[tabIndex]\");if(!X||!(0,d.isHTMLElement)(X)||X.tabIndex===-1)return;const B=(0,d.getWindow)(X).getComputedStyle(X);B.visibility===\"hidden\"||B.display===\"none\"||(ee.preventDefault(),ee.stopPropagation(),X.focus())}dispose(){this.disposables.dispose()}}function V(ae){return g.isMacintosh?ae.browserEvent.metaKey:ae.browserEvent.ctrlKey}function q(ae){return ae.browserEvent.shiftKey}function H(ae){return(0,d.isMouseEvent)(ae)&&ae.button===2}const z={isSelectionSingleChangeEvent:V,isSelectionRangeChangeEvent:q};class U{constructor(ee){this.list=ee,this.disposables=new i.DisposableStore,this._onPointer=new o.Emitter,this.onPointer=this._onPointer.event,ee.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||z),this.mouseSupport=typeof ee.options.mouseSupport>\"u\"||!!ee.options.mouseSupport,this.mouseSupport&&(ee.onMouseDown(this.onMouseDown,this,this.disposables),ee.onContextMenu(this.onContextMenu,this,this.disposables),ee.onMouseDblClick(this.onDoubleClick,this,this.disposables),ee.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(E.Gesture.addTarget(ee.getHTMLElement()))),o.Event.any(ee.onMouseClick,ee.onMouseMiddleClick,ee.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(ee){ee.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,ee.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||z))}isSelectionSingleChangeEvent(ee){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(ee):!1}isSelectionRangeChangeEvent(ee){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(ee):!1}isSelectionChangeEvent(ee){return this.isSelectionSingleChangeEvent(ee)||this.isSelectionRangeChangeEvent(ee)}onMouseDown(ee){L(ee.browserEvent.target)||(0,d.getActiveElement)()!==ee.browserEvent.target&&this.list.domFocus()}onContextMenu(ee){if(w(ee.browserEvent.target)||L(ee.browserEvent.target))return;const de=typeof ee.index>\"u\"?[]:[ee.index];this.list.setFocus(de,ee.browserEvent)}onViewPointer(ee){if(!this.mouseSupport||w(ee.browserEvent.target)||L(ee.browserEvent.target)||ee.browserEvent.isHandledByList)return;ee.browserEvent.isHandledByList=!0;const de=ee.index;if(typeof de>\"u\"){this.list.setFocus([],ee.browserEvent),this.list.setSelection([],ee.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(ee))return this.changeSelection(ee);this.list.setFocus([de],ee.browserEvent),this.list.setAnchor(de),H(ee.browserEvent)||this.list.setSelection([de],ee.browserEvent),this._onPointer.fire(ee)}onDoubleClick(ee){if(w(ee.browserEvent.target)||L(ee.browserEvent.target)||this.isSelectionChangeEvent(ee)||ee.browserEvent.isHandledByList)return;ee.browserEvent.isHandledByList=!0;const de=this.list.getFocus();this.list.setSelection(de,ee.browserEvent)}changeSelection(ee){const de=ee.index;let ge=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(ee)){typeof ge>\"u\"&&(ge=this.list.getFocus()[0]??de,this.list.setAnchor(ge));const X=Math.min(ge,de),B=Math.max(ge,de),$=(0,_.range)(X,B+1),Q=this.list.getSelection(),Z=G(K(Q,[ge]),ge);if(Z.length===0)return;const te=K($,R(Q,Z));this.list.setSelection(te,ee.browserEvent),this.list.setFocus([de],ee.browserEvent)}else if(this.isSelectionSingleChangeEvent(ee)){const X=this.list.getSelection(),B=X.filter($=>$!==de);this.list.setFocus([de]),this.list.setAnchor(de),X.length===B.length?this.list.setSelection([...B,de],ee.browserEvent):this.list.setSelection(B,ee.browserEvent)}}dispose(){this.disposables.dispose()}}e.MouseController=U;class j{constructor(ee,de){this.styleElement=ee,this.selectorSuffix=de}style(ee){const de=this.selectorSuffix&&`.${this.selectorSuffix}`,ge=[];ee.listBackground&&ge.push(`.monaco-list${de} .monaco-list-rows { background: ${ee.listBackground}; }`),ee.listFocusBackground&&(ge.push(`.monaco-list${de}:focus .monaco-list-row.focused { background-color: ${ee.listFocusBackground}; }`),ge.push(`.monaco-list${de}:focus .monaco-list-row.focused:hover { background-color: ${ee.listFocusBackground}; }`)),ee.listFocusForeground&&ge.push(`.monaco-list${de}:focus .monaco-list-row.focused { color: ${ee.listFocusForeground}; }`),ee.listActiveSelectionBackground&&(ge.push(`.monaco-list${de}:focus .monaco-list-row.selected { background-color: ${ee.listActiveSelectionBackground}; }`),ge.push(`.monaco-list${de}:focus .monaco-list-row.selected:hover { background-color: ${ee.listActiveSelectionBackground}; }`)),ee.listActiveSelectionForeground&&ge.push(`.monaco-list${de}:focus .monaco-list-row.selected { color: ${ee.listActiveSelectionForeground}; }`),ee.listActiveSelectionIconForeground&&ge.push(`.monaco-list${de}:focus .monaco-list-row.selected .codicon { color: ${ee.listActiveSelectionIconForeground}; }`),ee.listFocusAndSelectionBackground&&ge.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${de}:focus .monaco-list-row.selected.focused { background-color: ${ee.listFocusAndSelectionBackground}; }\n\t\t\t`),ee.listFocusAndSelectionForeground&&ge.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${de}:focus .monaco-list-row.selected.focused { color: ${ee.listFocusAndSelectionForeground}; }\n\t\t\t`),ee.listInactiveFocusForeground&&(ge.push(`.monaco-list${de} .monaco-list-row.focused { color:  ${ee.listInactiveFocusForeground}; }`),ge.push(`.monaco-list${de} .monaco-list-row.focused:hover { color:  ${ee.listInactiveFocusForeground}; }`)),ee.listInactiveSelectionIconForeground&&ge.push(`.monaco-list${de} .monaco-list-row.focused .codicon { color:  ${ee.listInactiveSelectionIconForeground}; }`),ee.listInactiveFocusBackground&&(ge.push(`.monaco-list${de} .monaco-list-row.focused { background-color:  ${ee.listInactiveFocusBackground}; }`),ge.push(`.monaco-list${de} .monaco-list-row.focused:hover { background-color:  ${ee.listInactiveFocusBackground}; }`)),ee.listInactiveSelectionBackground&&(ge.push(`.monaco-list${de} .monaco-list-row.selected { background-color:  ${ee.listInactiveSelectionBackground}; }`),ge.push(`.monaco-list${de} .monaco-list-row.selected:hover { background-color:  ${ee.listInactiveSelectionBackground}; }`)),ee.listInactiveSelectionForeground&&ge.push(`.monaco-list${de} .monaco-list-row.selected { color: ${ee.listInactiveSelectionForeground}; }`),ee.listHoverBackground&&ge.push(`.monaco-list${de}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${ee.listHoverBackground}; }`),ee.listHoverForeground&&ge.push(`.monaco-list${de}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color:  ${ee.listHoverForeground}; }`);const X=(0,d.asCssValueWithDefault)(ee.listFocusAndSelectionOutline,(0,d.asCssValueWithDefault)(ee.listSelectionOutline,ee.listFocusOutline??\"\"));X&&ge.push(`.monaco-list${de}:focus .monaco-list-row.focused.selected { outline: 1px solid ${X}; outline-offset: -1px;}`),ee.listFocusOutline&&ge.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${de}:focus .monaco-list-row.focused { outline: 1px solid ${ee.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${de}.last-focused .monaco-list-row.focused { outline: 1px solid ${ee.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const B=(0,d.asCssValueWithDefault)(ee.listSelectionOutline,ee.listInactiveFocusOutline??\"\");B&&ge.push(`.monaco-list${de} .monaco-list-row.focused.selected { outline: 1px dotted ${B}; outline-offset: -1px; }`),ee.listSelectionOutline&&ge.push(`.monaco-list${de} .monaco-list-row.selected { outline: 1px dotted ${ee.listSelectionOutline}; outline-offset: -1px; }`),ee.listInactiveFocusOutline&&ge.push(`.monaco-list${de} .monaco-list-row.focused { outline: 1px dotted ${ee.listInactiveFocusOutline}; outline-offset: -1px; }`),ee.listHoverOutline&&ge.push(`.monaco-list${de} .monaco-list-row:hover { outline: 1px dashed ${ee.listHoverOutline}; outline-offset: -1px; }`),ee.listDropOverBackground&&ge.push(`\n\t\t\t\t.monaco-list${de}.drop-target,\n\t\t\t\t.monaco-list${de} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${de} .monaco-list-row.drop-target { background-color: ${ee.listDropOverBackground} !important; color: inherit !important; }\n\t\t\t`),ee.listDropBetweenBackground&&(ge.push(`\n\t\t\t.monaco-list${de} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n\t\t\t.monaco-list${de} .monaco-list-row.drop-target-before::before {\n\t\t\t\tcontent: \"\"; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${ee.listDropBetweenBackground};\n\t\t\t}`),ge.push(`\n\t\t\t.monaco-list${de} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n\t\t\t.monaco-list${de} .monaco-list-row.drop-target-after::after {\n\t\t\t\tcontent: \"\"; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${ee.listDropBetweenBackground};\n\t\t\t}`)),ee.tableColumnsBorder&&ge.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${ee.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),ee.tableOddRowsBackgroundColor&&ge.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${ee.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=ge.join(`\n`)}}e.DefaultStyleController=j,e.unthemedListStyles={listFocusBackground:\"#7FB0D0\",listActiveSelectionBackground:\"#0E639C\",listActiveSelectionForeground:\"#FFFFFF\",listActiveSelectionIconForeground:\"#FFFFFF\",listFocusAndSelectionOutline:\"#90C2F9\",listFocusAndSelectionBackground:\"#094771\",listFocusAndSelectionForeground:\"#FFFFFF\",listInactiveSelectionBackground:\"#3F3F46\",listInactiveSelectionIconForeground:\"#FFFFFF\",listHoverBackground:\"#2A2D2E\",listDropOverBackground:\"#383B3D\",listDropBetweenBackground:\"#EEEEEE\",treeIndentGuidesStroke:\"#a9a9a9\",treeInactiveIndentGuidesStroke:p.Color.fromHex(\"#a9a9a9\").transparent(.4).toString(),tableColumnsBorder:p.Color.fromHex(\"#cccccc\").transparent(.2).toString(),tableOddRowsBackgroundColor:p.Color.fromHex(\"#cccccc\").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0};const Y={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function G(ae,ee){const de=ae.indexOf(ee);if(de===-1)return[];const ge=[];let X=de-1;for(;X>=0&&ae[X]===ee-(de-X);)ge.push(ae[X--]);for(ge.reverse(),X=de;X<ae.length&&ae[X]===ee+(X-de);)ge.push(ae[X++]);return ge}function K(ae,ee){const de=[];let ge=0,X=0;for(;ge<ae.length||X<ee.length;)if(ge>=ae.length)de.push(ee[X++]);else if(X>=ee.length)de.push(ae[ge++]);else if(ae[ge]===ee[X]){de.push(ae[ge]),ge++,X++;continue}else ae[ge]<ee[X]?de.push(ae[ge++]):de.push(ee[X++]);return de}function R(ae,ee){const de=[];let ge=0,X=0;for(;ge<ae.length||X<ee.length;)if(ge>=ae.length)de.push(ee[X++]);else if(X>=ee.length)de.push(ae[ge++]);else if(ae[ge]===ee[X]){ge++,X++;continue}else ae[ge]<ee[X]?de.push(ae[ge++]):X++;return de}const J=(ae,ee)=>ae-ee;class ie{constructor(ee,de){this._templateId=ee,this.renderers=de}get templateId(){return this._templateId}renderTemplate(ee){return this.renderers.map(de=>de.renderTemplate(ee))}renderElement(ee,de,ge,X){let B=0;for(const $ of this.renderers)$.renderElement(ee,de,ge[B++],X)}disposeElement(ee,de,ge,X){let B=0;for(const $ of this.renderers)$.disposeElement?.(ee,de,ge[B],X),B+=1}disposeTemplate(ee){let de=0;for(const ge of this.renderers)ge.disposeTemplate(ee[de++])}}class ue{constructor(ee){this.accessibilityProvider=ee,this.templateId=\"a18n\"}renderTemplate(ee){return{container:ee,disposables:new i.DisposableStore}}renderElement(ee,de,ge){const X=this.accessibilityProvider.getAriaLabel(ee),B=X&&typeof X!=\"string\"?X:(0,u.constObservable)(X);ge.disposables.add((0,u.autorun)(Q=>{this.setAriaLabel(Q.readObservable(B),ge.container)}));const $=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(ee);typeof $==\"number\"?ge.container.setAttribute(\"aria-level\",`${$}`):ge.container.removeAttribute(\"aria-level\")}setAriaLabel(ee,de){ee?de.setAttribute(\"aria-label\",ee):de.removeAttribute(\"aria-label\")}disposeElement(ee,de,ge,X){ge.disposables.clear()}disposeTemplate(ee){ee.disposables.dispose()}}class he{constructor(ee,de){this.list=ee,this.dnd=de}getDragElements(ee){const de=this.list.getSelectedElements();return de.indexOf(ee)>-1?de:[ee]}getDragURI(ee){return this.dnd.getDragURI(ee)}getDragLabel(ee,de){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(ee,de)}onDragStart(ee,de){this.dnd.onDragStart?.(ee,de)}onDragOver(ee,de,ge,X,B){return this.dnd.onDragOver(ee,de,ge,X,B)}onDragLeave(ee,de,ge,X){this.dnd.onDragLeave?.(ee,de,ge,X)}onDragEnd(ee){this.dnd.onDragEnd?.(ee)}drop(ee,de,ge,X,B){this.dnd.drop(ee,de,ge,X,B)}dispose(){this.dnd.dispose()}}class pe{get onDidChangeFocus(){return o.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange),ee=>this.toListEvent(ee),this.disposables)}get onDidChangeSelection(){return o.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange),ee=>this.toListEvent(ee),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let ee=!1;const de=o.Event.chain(this.disposables.add(new k.DomEmitter(this.view.domNode,\"keydown\")).event,B=>B.map($=>new I.StandardKeyboardEvent($)).filter($=>ee=$.keyCode===58||$.shiftKey&&$.keyCode===68).map($=>d.EventHelper.stop($,!0)).filter(()=>!1)),ge=o.Event.chain(this.disposables.add(new k.DomEmitter(this.view.domNode,\"keyup\")).event,B=>B.forEach(()=>ee=!1).map($=>new I.StandardKeyboardEvent($)).filter($=>$.keyCode===58||$.shiftKey&&$.keyCode===68).map($=>d.EventHelper.stop($,!0)).map(({browserEvent:$})=>{const Q=this.getFocus(),Z=Q.length?Q[0]:void 0,te=typeof Z<\"u\"?this.view.element(Z):void 0,re=typeof Z<\"u\"?this.view.domElement(Z):this.view.domNode;return{index:Z,element:te,anchor:re,browserEvent:$}})),X=o.Event.chain(this.view.onContextMenu,B=>B.filter($=>!ee).map(({element:$,index:Q,browserEvent:Z})=>({element:$,index:Q,anchor:new r.StandardMouseEvent((0,d.getWindow)(this.view.domNode),Z),browserEvent:Z})));return o.Event.any(de,ge,X)}get onKeyDown(){return this.disposables.add(new k.DomEmitter(this.view.domNode,\"keydown\")).event}get onDidFocus(){return o.Event.signal(this.disposables.add(new k.DomEmitter(this.view.domNode,\"focus\",!0)).event)}get onDidBlur(){return o.Event.signal(this.disposables.add(new k.DomEmitter(this.view.domNode,\"blur\",!0)).event)}constructor(ee,de,ge,X,B=Y){this.user=ee,this._options=B,this.focus=new f(\"focused\"),this.anchor=new f(\"anchor\"),this.eventBufferer=new o.EventBufferer,this._ariaLabel=\"\",this.disposables=new i.DisposableStore,this._onDidDispose=new o.Emitter,this.onDidDispose=this._onDidDispose.event;const $=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():\"list\";this.selection=new h($!==\"listbox\");const Q=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=B.accessibilityProvider,this.accessibilityProvider&&(Q.push(new ue(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant?.(this.onDidChangeActiveDescendant,this,this.disposables)),X=X.map(te=>new ie(te.templateId,[...Q,te]));const Z={...B,dnd:B.dnd&&new he(this,B.dnd)};if(this.view=this.createListView(de,ge,X,Z),this.view.domNode.setAttribute(\"role\",$),B.styleController)this.styleController=B.styleController(this.view.domId);else{const te=(0,d.createStyleSheet)(this.view.domNode);this.styleController=new j(te,this.view.domId)}if(this.spliceable=new m.CombinedSpliceable([new v(this.focus,this.view,B.identityProvider),new v(this.selection,this.view,B.identityProvider),new v(this.anchor,this.view,B.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new W(this,this.view)),(typeof B.keyboardSupport!=\"boolean\"||B.keyboardSupport)&&(this.keyboardController=new N(this,this.view,B),this.disposables.add(this.keyboardController)),B.keyboardNavigationLabelProvider){const te=B.keyboardNavigationDelegate||e.DefaultKeyboardNavigationDelegate;this.typeNavigationController=new x(this,this.view,B.keyboardNavigationLabelProvider,B.keyboardNavigationEventFilter??(()=>!0),te),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(B),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute(\"aria-multiselectable\",\"true\")}createListView(ee,de,ge,X){return new a.ListView(ee,de,ge,X)}createMouseController(ee){return new U(this)}updateOptions(ee={}){this._options={...this._options,...ee},this.typeNavigationController?.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute(\"aria-multiselectable\",\"true\"):this.view.domNode.removeAttribute(\"aria-multiselectable\")),this.mouseController.updateOptions(ee),this.keyboardController?.updateOptions(ee),this.view.updateOptions(ee)}get options(){return this._options}splice(ee,de,ge=[]){if(ee<0||ee>this.view.length)throw new l.ListError(this.user,`Invalid start index: ${ee}`);if(de<0)throw new l.ListError(this.user,`Invalid delete count: ${de}`);de===0&&ge.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(ee,de,ge))}rerender(){this.view.rerender()}element(ee){return this.view.element(ee)}indexOf(ee){return this.view.indexOf(ee)}indexAt(ee){return this.view.indexAt(ee)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(ee){this.view.setScrollTop(ee)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(ee){this._ariaLabel=ee,this.view.domNode.setAttribute(\"aria-label\",ee)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(ee,de){this.view.layout(ee,de)}setSelection(ee,de){for(const ge of ee)if(ge<0||ge>=this.length)throw new l.ListError(this.user,`Invalid index ${ge}`);this.selection.set(ee,de)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(ee=>this.view.element(ee))}setAnchor(ee){if(typeof ee>\"u\"){this.anchor.set([]);return}if(ee<0||ee>=this.length)throw new l.ListError(this.user,`Invalid index ${ee}`);this.anchor.set([ee])}getAnchor(){return(0,_.firstOrDefault)(this.anchor.get(),void 0)}getAnchorElement(){const ee=this.getAnchor();return typeof ee>\"u\"?void 0:this.element(ee)}setFocus(ee,de){for(const ge of ee)if(ge<0||ge>=this.length)throw new l.ListError(this.user,`Invalid index ${ge}`);this.focus.set(ee,de)}focusNext(ee=1,de=!1,ge,X){if(this.length===0)return;const B=this.focus.get(),$=this.findNextIndex(B.length>0?B[0]+ee:0,de,X);$>-1&&this.setFocus([$],ge)}focusPrevious(ee=1,de=!1,ge,X){if(this.length===0)return;const B=this.focus.get(),$=this.findPreviousIndex(B.length>0?B[0]-ee:0,de,X);$>-1&&this.setFocus([$],ge)}async focusNextPage(ee,de){let ge=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);ge=ge===0?0:ge-1;const X=this.getFocus()[0];if(X!==ge&&(X===void 0||ge>X)){const B=this.findPreviousIndex(ge,!1,de);B>-1&&X!==B?this.setFocus([B],ee):this.setFocus([ge],ee)}else{const B=this.view.getScrollTop();let $=B+this.view.renderHeight;ge>X&&($-=this.view.elementHeight(ge)),this.view.setScrollTop($),this.view.getScrollTop()!==B&&(this.setFocus([]),await(0,b.timeout)(0),await this.focusNextPage(ee,de))}}async focusPreviousPage(ee,de,ge=()=>0){let X;const B=ge(),$=this.view.getScrollTop()+B;$===0?X=this.view.indexAt($):X=this.view.indexAfter($-1);const Q=this.getFocus()[0];if(Q!==X&&(Q===void 0||Q>=X)){const Z=this.findNextIndex(X,!1,de);Z>-1&&Q!==Z?this.setFocus([Z],ee):this.setFocus([X],ee)}else{const Z=$;this.view.setScrollTop($-this.view.renderHeight-B),this.view.getScrollTop()+ge()!==Z&&(this.setFocus([]),await(0,b.timeout)(0),await this.focusPreviousPage(ee,de,ge))}}focusLast(ee,de){if(this.length===0)return;const ge=this.findPreviousIndex(this.length-1,!1,de);ge>-1&&this.setFocus([ge],ee)}focusFirst(ee,de){this.focusNth(0,ee,de)}focusNth(ee,de,ge){if(this.length===0)return;const X=this.findNextIndex(ee,!1,ge);X>-1&&this.setFocus([X],de)}findNextIndex(ee,de=!1,ge){for(let X=0;X<this.length;X++){if(ee>=this.length&&!de)return-1;if(ee=ee%this.length,!ge||ge(this.element(ee)))return ee;ee++}return-1}findPreviousIndex(ee,de=!1,ge){for(let X=0;X<this.length;X++){if(ee<0&&!de)return-1;if(ee=(this.length+ee%this.length)%this.length,!ge||ge(this.element(ee)))return ee;ee--}return-1}getFocus(){return this.focus.get()}getFocusedElements(){return this.getFocus().map(ee=>this.view.element(ee))}reveal(ee,de,ge=0){if(ee<0||ee>=this.length)throw new l.ListError(this.user,`Invalid index ${ee}`);const X=this.view.getScrollTop(),B=this.view.elementTop(ee),$=this.view.elementHeight(ee);if((0,c.isNumber)(de)){const Q=$-this.view.renderHeight+ge;this.view.setScrollTop(Q*(0,s.clamp)(de,0,1)+B-ge)}else{const Q=B+$,Z=X+this.view.renderHeight;B<X+ge&&Q>=Z||(B<X+ge||Q>=Z&&$>=this.view.renderHeight?this.view.setScrollTop(B-ge):Q>=Z&&this.view.setScrollTop(Q-this.view.renderHeight))}}getRelativeTop(ee,de=0){if(ee<0||ee>=this.length)throw new l.ListError(this.user,`Invalid index ${ee}`);const ge=this.view.getScrollTop(),X=this.view.elementTop(ee),B=this.view.elementHeight(ee);if(X<ge+de||X+B>ge+this.view.renderHeight)return null;const $=B-this.view.renderHeight+de;return Math.abs((ge+de-X)/$)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(ee){return this.view.getElementDomId(ee)}getElementTop(ee){return this.view.elementTop(ee)}style(ee){this.styleController.style(ee)}toListEvent({indexes:ee,browserEvent:de}){return{indexes:ee,elements:ee.map(ge=>this.view.element(ge)),browserEvent:de}}_onFocusChange(){const ee=this.focus.get();this.view.domNode.classList.toggle(\"element-focused\",ee.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){const ee=this.focus.get();if(ee.length>0){let de;this.accessibilityProvider?.getActiveDescendantId&&(de=this.accessibilityProvider.getActiveDescendantId(this.view.element(ee[0]))),this.view.domNode.setAttribute(\"aria-activedescendant\",de||this.view.getElementDomId(ee[0]))}else this.view.domNode.removeAttribute(\"aria-activedescendant\")}_onSelectionChange(){const ee=this.selection.get();this.view.domNode.classList.toggle(\"selection-none\",ee.length===0),this.view.domNode.classList.toggle(\"selection-single\",ee.length===1),this.view.domNode.classList.toggle(\"selection-multiple\",ee.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}e.List=pe,ke([n.memoize],pe.prototype,\"onDidChangeFocus\",null),ke([n.memoize],pe.prototype,\"onDidChangeSelection\",null),ke([n.memoize],pe.prototype,\"onContextMenu\",null),ke([n.memoize],pe.prototype,\"onKeyDown\",null),ke([n.memoize],pe.prototype,\"onDidFocus\",null),ke([n.memoize],pe.prototype,\"onDidBlur\",null)}),define(ne[637],se([1,0,13,18,6,2,115,305]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PagedList=void 0;class m{get templateId(){return this.renderer.templateId}constructor(o,t){this.renderer=o,this.modelProvider=t}renderTemplate(o){return{data:this.renderer.renderTemplate(o),disposable:E.Disposable.None}}renderElement(o,t,i,s){if(i.disposable?.dispose(),!i.data)return;const g=this.modelProvider();if(g.isResolved(o))return this.renderer.renderElement(g.get(o),o,i.data,s);const c=new k.CancellationTokenSource,l=g.resolve(o,c.token);i.disposable={dispose:()=>c.cancel()},this.renderer.renderPlaceholder(o,i.data),l.then(a=>this.renderer.renderElement(a,o,i.data,s))}disposeTemplate(o){o.disposable&&(o.disposable.dispose(),o.disposable=void 0),o.data&&(this.renderer.disposeTemplate(o.data),o.data=void 0)}}class _{constructor(o,t){this.modelProvider=o,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(o){const t=this.modelProvider();return t.isResolved(o)?this.accessibilityProvider.getAriaLabel(t.get(o)):null}}function b(n,o){return{...o,accessibilityProvider:o.accessibilityProvider&&new _(n,o.accessibilityProvider)}}class p{constructor(o,t,i,s,g={}){const c=()=>this.model,l=s.map(a=>new m(a,c));this.list=new y.List(o,t,i,l,b(c,g))}updateOptions(o){this.list.updateOptions(o)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return I.Event.map(this.list.onMouseDblClick,({element:o,index:t,browserEvent:i})=>({element:o===void 0?void 0:this._model.get(o),index:t,browserEvent:i}))}get onPointer(){return I.Event.map(this.list.onPointer,({element:o,index:t,browserEvent:i})=>({element:o===void 0?void 0:this._model.get(o),index:t,browserEvent:i}))}get onDidChangeSelection(){return I.Event.map(this.list.onDidChangeSelection,({elements:o,indexes:t,browserEvent:i})=>({elements:o.map(s=>this._model.get(s)),indexes:t,browserEvent:i}))}get model(){return this._model}set model(o){this._model=o,this.list.splice(0,this.list.length,(0,d.range)(o.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(o=>this.model.get(o))}style(o){this.list.style(o)}dispose(){this.list.dispose()}}e.PagedList=p}),define(ne[357],se([1,0,5,93,173,86,13,33,6,2,141,163,19,474]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SplitView=e.Sizing=void 0;const t={separatorBorder:m.Color.transparent};class i{set size(u){this._size=u}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>\"u\"}setVisible(u,C){if(u!==this.visible){u?(this.size=(0,p.clamp)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof C==\"number\"?C:this.size,this.size=0),this.container.classList.toggle(\"visible\",u);try{this.view.setVisible?.(u)}catch(f){console.error(\"Splitview: Failed to set visible view\"),console.error(f)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){return this.view.proportionalLayout??!0}get snap(){return!!this.view.snap}set enabled(u){this.container.style.pointerEvents=u?\"\":\"none\"}constructor(u,C,f,h){this.container=u,this.view=C,this.disposable=h,this._cachedVisibleSize=void 0,typeof f==\"number\"?(this._size=f,this._cachedVisibleSize=void 0,u.classList.add(\"visible\")):(this._size=0,this._cachedVisibleSize=f.cachedVisibleSize)}layout(u,C){this.layoutContainer(u);try{this.view.layout(this.size,u,C)}catch(f){console.error(\"Splitview: Failed to layout view\"),console.error(f)}}dispose(){this.disposable.dispose()}}class s extends i{layoutContainer(u){this.container.style.top=`${u}px`,this.container.style.height=`${this.size}px`}}class g extends i{layoutContainer(u){this.container.style.left=`${u}px`,this.container.style.width=`${this.size}px`}}var c;(function(r){r[r.Idle=0]=\"Idle\",r[r.Busy=1]=\"Busy\"})(c||(c={}));var l;(function(r){r.Distribute={type:\"distribute\"};function u(h){return{type:\"split\",index:h}}r.Split=u;function C(h){return{type:\"auto\",index:h}}r.Auto=C;function f(h){return{type:\"invisible\",cachedVisibleSize:h}}r.Invisible=f})(l||(e.Sizing=l={}));class a extends b.Disposable{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(u){for(const C of this.sashItems)C.sash.orthogonalStartSash=u;this._orthogonalStartSash=u}set orthogonalEndSash(u){for(const C of this.sashItems)C.sash.orthogonalEndSash=u;this._orthogonalEndSash=u}set startSnappingEnabled(u){this._startSnappingEnabled!==u&&(this._startSnappingEnabled=u,this.updateSashEnablement())}set endSnappingEnabled(u){this._endSnappingEnabled!==u&&(this._endSnappingEnabled=u,this.updateSashEnablement())}constructor(u,C={}){super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=c.Idle,this._onDidSashChange=this._register(new _.Emitter),this._onDidSashReset=this._register(new _.Emitter),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=C.orientation??0,this.inverseAltBehavior=C.inverseAltBehavior??!1,this.proportionalLayout=C.proportionalLayout??!0,this.getSashOrthogonalSize=C.getSashOrthogonalSize,this.el=document.createElement(\"div\"),this.el.classList.add(\"monaco-split-view2\"),this.el.classList.add(this.orientation===0?\"vertical\":\"horizontal\"),u.appendChild(this.el),this.sashContainer=(0,d.append)(this.el,(0,d.$)(\".sash-container\")),this.viewContainer=(0,d.$)(\".split-view-container\"),this.scrollable=this._register(new n.Scrollable({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:h=>(0,d.scheduleAtNextAnimationFrame)((0,d.getWindow)(this.el),h)})),this.scrollableElement=this._register(new E.SmoothScrollableElement(this.viewContainer,{vertical:this.orientation===0?C.scrollbarVisibility??1:2,horizontal:this.orientation===1?C.scrollbarVisibility??1:2},this.scrollable));const f=this._register(new k.DomEmitter(this.viewContainer,\"scroll\")).event;this._register(f(h=>{const v=this.scrollableElement.getScrollPosition(),w=Math.abs(this.viewContainer.scrollLeft-v.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,S=Math.abs(this.viewContainer.scrollTop-v.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(w!==void 0||S!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:w,scrollTop:S})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(h=>{h.scrollTopChanged&&(this.viewContainer.scrollTop=h.scrollTop),h.scrollLeftChanged&&(this.viewContainer.scrollLeft=h.scrollLeft)})),(0,d.append)(this.el,this.scrollableElement.getDomNode()),this.style(C.styles||t),C.descriptor&&(this.size=C.descriptor.size,C.descriptor.views.forEach((h,v)=>{const w=o.isUndefined(h.visible)||h.visible?h.size:{type:\"invisible\",cachedVisibleSize:h.size},S=h.view;this.doAddView(S,w,v,!0)}),this._contentSize=this.viewItems.reduce((h,v)=>h+v.size,0),this.saveProportions())}style(u){u.separatorBorder.isTransparent()?(this.el.classList.remove(\"separator-border\"),this.el.style.removeProperty(\"--separator-border\")):(this.el.classList.add(\"separator-border\"),this.el.style.setProperty(\"--separator-border\",u.separatorBorder.toString()))}addView(u,C,f=this.viewItems.length,h){this.doAddView(u,C,f,h)}layout(u,C){const f=Math.max(this.size,this._contentSize);if(this.size=u,this.layoutContext=C,this.proportions){let h=0;for(let v=0;v<this.viewItems.length;v++){const w=this.viewItems[v],S=this.proportions[v];typeof S==\"number\"?h+=S:u-=w.size}for(let v=0;v<this.viewItems.length;v++){const w=this.viewItems[v],S=this.proportions[v];typeof S==\"number\"&&h>0&&(w.size=(0,p.clamp)(Math.round(S*u/h),w.minimumSize,w.maximumSize))}}else{const h=(0,y.range)(this.viewItems.length),v=h.filter(S=>this.viewItems[S].priority===1),w=h.filter(S=>this.viewItems[S].priority===2);this.resize(this.viewItems.length-1,u-f,void 0,v,w)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(u=>u.proportionalLayout&&u.visible?u.size/this._contentSize:void 0))}onSashStart({sash:u,start:C,alt:f}){for(const S of this.viewItems)S.enabled=!1;const h=this.sashItems.findIndex(S=>S.sash===u),v=(0,b.combinedDisposable)((0,d.addDisposableListener)(this.el.ownerDocument.body,\"keydown\",S=>w(this.sashDragState.current,S.altKey)),(0,d.addDisposableListener)(this.el.ownerDocument.body,\"keyup\",()=>w(this.sashDragState.current,!1))),w=(S,L)=>{const D=this.viewItems.map(N=>N.size);let T=Number.NEGATIVE_INFINITY,M=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(L=!L),L)if(h===this.sashItems.length-1){const O=this.viewItems[h];T=(O.minimumSize-O.size)/2,M=(O.maximumSize-O.size)/2}else{const O=this.viewItems[h+1];T=(O.size-O.maximumSize)/2,M=(O.size-O.minimumSize)/2}let A,P;if(!L){const N=(0,y.range)(h,-1),O=(0,y.range)(h+1,this.viewItems.length),F=N.reduce((j,Y)=>j+(this.viewItems[Y].minimumSize-D[Y]),0),x=N.reduce((j,Y)=>j+(this.viewItems[Y].viewMaximumSize-D[Y]),0),W=O.length===0?Number.POSITIVE_INFINITY:O.reduce((j,Y)=>j+(D[Y]-this.viewItems[Y].minimumSize),0),V=O.length===0?Number.NEGATIVE_INFINITY:O.reduce((j,Y)=>j+(D[Y]-this.viewItems[Y].viewMaximumSize),0),q=Math.max(F,V),H=Math.min(W,x),z=this.findFirstSnapIndex(N),U=this.findFirstSnapIndex(O);if(typeof z==\"number\"){const j=this.viewItems[z],Y=Math.floor(j.viewMinimumSize/2);A={index:z,limitDelta:j.visible?q-Y:q+Y,size:j.size}}if(typeof U==\"number\"){const j=this.viewItems[U],Y=Math.floor(j.viewMinimumSize/2);P={index:U,limitDelta:j.visible?H+Y:H-Y,size:j.size}}}this.sashDragState={start:S,current:S,index:h,sizes:D,minDelta:T,maxDelta:M,alt:L,snapBefore:A,snapAfter:P,disposable:v}};w(C,f)}onSashChange({current:u}){const{index:C,start:f,sizes:h,alt:v,minDelta:w,maxDelta:S,snapBefore:L,snapAfter:D}=this.sashDragState;this.sashDragState.current=u;const T=u-f,M=this.resize(C,T,h,void 0,void 0,w,S,L,D);if(v){const A=C===this.sashItems.length-1,P=this.viewItems.map(V=>V.size),N=A?C:C+1,O=this.viewItems[N],F=O.size-O.maximumSize,x=O.size-O.minimumSize,W=A?C-1:C+1;this.resize(W,-M,P,void 0,void 0,F,x)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(u){this._onDidSashChange.fire(u),this.sashDragState.disposable.dispose(),this.saveProportions();for(const C of this.viewItems)C.enabled=!0}onViewChange(u,C){const f=this.viewItems.indexOf(u);f<0||f>=this.viewItems.length||(C=typeof C==\"number\"?C:u.size,C=(0,p.clamp)(C,u.minimumSize,u.maximumSize),this.inverseAltBehavior&&f>0?(this.resize(f-1,Math.floor((u.size-C)/2)),this.distributeEmptySpace(),this.layoutViews()):(u.size=C,this.relayout([f],void 0)))}resizeView(u,C){if(!(u<0||u>=this.viewItems.length)){if(this.state!==c.Idle)throw new Error(\"Cant modify splitview\");this.state=c.Busy;try{const f=(0,y.range)(this.viewItems.length).filter(S=>S!==u),h=[...f.filter(S=>this.viewItems[S].priority===1),u],v=f.filter(S=>this.viewItems[S].priority===2),w=this.viewItems[u];C=Math.round(C),C=(0,p.clamp)(C,w.minimumSize,Math.min(w.maximumSize,this.size)),w.size=C,this.relayout(h,v)}finally{this.state=c.Idle}}}distributeViewSizes(){const u=[];let C=0;for(const S of this.viewItems)S.maximumSize-S.minimumSize>0&&(u.push(S),C+=S.size);const f=Math.floor(C/u.length);for(const S of u)S.size=(0,p.clamp)(f,S.minimumSize,S.maximumSize);const h=(0,y.range)(this.viewItems.length),v=h.filter(S=>this.viewItems[S].priority===1),w=h.filter(S=>this.viewItems[S].priority===2);this.relayout(v,w)}getViewSize(u){return u<0||u>=this.viewItems.length?-1:this.viewItems[u].size}doAddView(u,C,f=this.viewItems.length,h){if(this.state!==c.Idle)throw new Error(\"Cant modify splitview\");this.state=c.Busy;try{const v=(0,d.$)(\".split-view-view\");f===this.viewItems.length?this.viewContainer.appendChild(v):this.viewContainer.insertBefore(v,this.viewContainer.children.item(f));const w=u.onDidChange(A=>this.onViewChange(T,A)),S=(0,b.toDisposable)(()=>v.remove()),L=(0,b.combinedDisposable)(w,S);let D;typeof C==\"number\"?D=C:(C.type===\"auto\"&&(this.areViewsDistributed()?C={type:\"distribute\"}:C={type:\"split\",index:C.index}),C.type===\"split\"?D=this.getViewSize(C.index)/2:C.type===\"invisible\"?D={cachedVisibleSize:C.cachedVisibleSize}:D=u.minimumSize);const T=this.orientation===0?new s(v,u,D,L):new g(v,u,D,L);if(this.viewItems.splice(f,0,T),this.viewItems.length>1){const A={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},P=this.orientation===0?new I.Sash(this.sashContainer,{getHorizontalSashTop:j=>this.getSashPosition(j),getHorizontalSashWidth:this.getSashOrthogonalSize},{...A,orientation:1}):new I.Sash(this.sashContainer,{getVerticalSashLeft:j=>this.getSashPosition(j),getVerticalSashHeight:this.getSashOrthogonalSize},{...A,orientation:0}),N=this.orientation===0?j=>({sash:P,start:j.startY,current:j.currentY,alt:j.altKey}):j=>({sash:P,start:j.startX,current:j.currentX,alt:j.altKey}),F=_.Event.map(P.onDidStart,N)(this.onSashStart,this),W=_.Event.map(P.onDidChange,N)(this.onSashChange,this),q=_.Event.map(P.onDidEnd,()=>this.sashItems.findIndex(j=>j.sash===P))(this.onSashEnd,this),H=P.onDidReset(()=>{const j=this.sashItems.findIndex(J=>J.sash===P),Y=(0,y.range)(j,-1),G=(0,y.range)(j+1,this.viewItems.length),K=this.findFirstSnapIndex(Y),R=this.findFirstSnapIndex(G);typeof K==\"number\"&&!this.viewItems[K].visible||typeof R==\"number\"&&!this.viewItems[R].visible||this._onDidSashReset.fire(j)}),z=(0,b.combinedDisposable)(F,W,q,H,P),U={sash:P,disposable:z};this.sashItems.splice(f-1,0,U)}v.appendChild(u.element);let M;typeof C!=\"number\"&&C.type===\"split\"&&(M=[C.index]),h||this.relayout([f],M),!h&&typeof C!=\"number\"&&C.type===\"distribute\"&&this.distributeViewSizes()}finally{this.state=c.Idle}}relayout(u,C){const f=this.viewItems.reduce((h,v)=>h+v.size,0);this.resize(this.viewItems.length-1,this.size-f,void 0,u,C),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(u,C,f=this.viewItems.map(T=>T.size),h,v,w=Number.NEGATIVE_INFINITY,S=Number.POSITIVE_INFINITY,L,D){if(u<0||u>=this.viewItems.length)return 0;const T=(0,y.range)(u,-1),M=(0,y.range)(u+1,this.viewItems.length);if(v)for(const U of v)(0,y.pushToStart)(T,U),(0,y.pushToStart)(M,U);if(h)for(const U of h)(0,y.pushToEnd)(T,U),(0,y.pushToEnd)(M,U);const A=T.map(U=>this.viewItems[U]),P=T.map(U=>f[U]),N=M.map(U=>this.viewItems[U]),O=M.map(U=>f[U]),F=T.reduce((U,j)=>U+(this.viewItems[j].minimumSize-f[j]),0),x=T.reduce((U,j)=>U+(this.viewItems[j].maximumSize-f[j]),0),W=M.length===0?Number.POSITIVE_INFINITY:M.reduce((U,j)=>U+(f[j]-this.viewItems[j].minimumSize),0),V=M.length===0?Number.NEGATIVE_INFINITY:M.reduce((U,j)=>U+(f[j]-this.viewItems[j].maximumSize),0),q=Math.max(F,V,w),H=Math.min(W,x,S);let z=!1;if(L){const U=this.viewItems[L.index],j=C>=L.limitDelta;z=j!==U.visible,U.setVisible(j,L.size)}if(!z&&D){const U=this.viewItems[D.index],j=C<D.limitDelta;z=j!==U.visible,U.setVisible(j,D.size)}if(z)return this.resize(u,C,f,h,v,w,S);C=(0,p.clamp)(C,q,H);for(let U=0,j=C;U<A.length;U++){const Y=A[U],G=(0,p.clamp)(P[U]+j,Y.minimumSize,Y.maximumSize),K=G-P[U];j-=K,Y.size=G}for(let U=0,j=C;U<N.length;U++){const Y=N[U],G=(0,p.clamp)(O[U]-j,Y.minimumSize,Y.maximumSize),K=G-O[U];j+=K,Y.size=G}return C}distributeEmptySpace(u){const C=this.viewItems.reduce((S,L)=>S+L.size,0);let f=this.size-C;const h=(0,y.range)(this.viewItems.length-1,-1),v=h.filter(S=>this.viewItems[S].priority===1),w=h.filter(S=>this.viewItems[S].priority===2);for(const S of w)(0,y.pushToStart)(h,S);for(const S of v)(0,y.pushToEnd)(h,S);typeof u==\"number\"&&(0,y.pushToEnd)(h,u);for(let S=0;f!==0&&S<h.length;S++){const L=this.viewItems[h[S]],D=(0,p.clamp)(L.size+f,L.minimumSize,L.maximumSize),T=D-L.size;f-=T,L.size=D}}layoutViews(){this._contentSize=this.viewItems.reduce((C,f)=>C+f.size,0);let u=0;for(const C of this.viewItems)C.layout(u,this.layoutContext),u+=C.size;this.sashItems.forEach(C=>C.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let u=!1;const C=this.viewItems.map(L=>u=L.size-L.minimumSize>0||u);u=!1;const f=this.viewItems.map(L=>u=L.maximumSize-L.size>0||u),h=[...this.viewItems].reverse();u=!1;const v=h.map(L=>u=L.size-L.minimumSize>0||u).reverse();u=!1;const w=h.map(L=>u=L.maximumSize-L.size>0||u).reverse();let S=0;for(let L=0;L<this.sashItems.length;L++){const{sash:D}=this.sashItems[L],T=this.viewItems[L];S+=T.size;const M=!(C[L]&&w[L+1]),A=!(f[L]&&v[L+1]);if(M&&A){const P=(0,y.range)(L,-1),N=(0,y.range)(L+1,this.viewItems.length),O=this.findFirstSnapIndex(P),F=this.findFirstSnapIndex(N),x=typeof O==\"number\"&&!this.viewItems[O].visible,W=typeof F==\"number\"&&!this.viewItems[F].visible;x&&v[L]&&(S>0||this.startSnappingEnabled)?D.state=1:W&&C[L]&&(S<this._contentSize||this.endSnappingEnabled)?D.state=2:D.state=0}else M&&!A?D.state=1:!M&&A?D.state=2:D.state=3}}getSashPosition(u){let C=0;for(let f=0;f<this.sashItems.length;f++)if(C+=this.viewItems[f].size,this.sashItems[f].sash===u)return C;return 0}findFirstSnapIndex(u){for(const C of u){const f=this.viewItems[C];if(f.visible&&f.snap)return C}for(const C of u){const f=this.viewItems[C];if(f.visible&&f.maximumSize-f.minimumSize>0)return;if(!f.visible&&f.snap)return C}}areViewsDistributed(){let u,C;for(const f of this.viewItems)if(u=u===void 0?f.size:Math.min(u,f.size),C=C===void 0?f.size:Math.max(C,f.size),C-u>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),(0,b.dispose)(this.viewItems),this.viewItems=[],this.sashItems.forEach(u=>u.disposable.dispose()),this.sashItems=[],super.dispose()}}e.SplitView=a}),define(ne[638],se([1,0,5,81,44,115,357,6,2,475]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Table=void 0;class b{static{this.TemplateId=\"row\"}constructor(i,s,g){this.columns=i,this.getColumnSize=g,this.templateId=b.TemplateId,this.renderedTemplates=new Set;const c=new Map(s.map(l=>[l.templateId,l]));this.renderers=[];for(const l of i){const a=c.get(l.templateId);if(!a)throw new Error(`Table cell renderer for template id ${l.templateId} not found.`);this.renderers.push(a)}}renderTemplate(i){const s=(0,d.append)(i,(0,d.$)(\".monaco-table-tr\")),g=[],c=[];for(let a=0;a<this.columns.length;a++){const r=this.renderers[a],u=(0,d.append)(s,(0,d.$)(\".monaco-table-td\",{\"data-col-index\":a}));u.style.width=`${this.getColumnSize(a)}px`,g.push(u),c.push(r.renderTemplate(u))}const l={container:i,cellContainers:g,cellTemplateData:c};return this.renderedTemplates.add(l),l}renderElement(i,s,g,c){for(let l=0;l<this.columns.length;l++){const r=this.columns[l].project(i);this.renderers[l].renderElement(r,s,g.cellTemplateData[l],c)}}disposeElement(i,s,g,c){for(let l=0;l<this.columns.length;l++){const a=this.renderers[l];if(a.disposeElement){const u=this.columns[l].project(i);a.disposeElement(u,s,g.cellTemplateData[l],c)}}}disposeTemplate(i){for(let s=0;s<this.columns.length;s++)this.renderers[s].disposeTemplate(i.cellTemplateData[s]);(0,d.clearNode)(i.container),this.renderedTemplates.delete(i)}layoutColumn(i,s){for(const{cellContainers:g}of this.renderedTemplates)g[i].style.width=`${s}px`}}function p(t){return{getHeight(i){return t.getHeight(i)},getTemplateId(){return b.TemplateId}}}class n extends _.Disposable{get minimumSize(){return this.column.minimumWidth??120}get maximumSize(){return this.column.maximumWidth??Number.POSITIVE_INFINITY}get onDidChange(){return this.column.onDidChangeWidthConstraints??m.Event.None}constructor(i,s){super(),this.column=i,this.index=s,this._onDidLayout=new m.Emitter,this.onDidLayout=this._onDidLayout.event,this.element=(0,d.$)(\".monaco-table-th\",{\"data-col-index\":s},i.label),i.tooltip&&this._register((0,k.getBaseLayerHoverDelegate)().setupManagedHover((0,I.getDefaultHoverDelegate)(\"mouse\"),this.element,i.tooltip))}layout(i){this._onDidLayout.fire([this.index,i])}}class o{static{this.InstanceCount=0}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onDidScroll(){return this.list.onDidScroll}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get scrollTop(){return this.list.scrollTop}set scrollTop(i){this.list.scrollTop=i}get scrollHeight(){return this.list.scrollHeight}get renderHeight(){return this.list.renderHeight}get onDidDispose(){return this.list.onDidDispose}constructor(i,s,g,c,l,a){this.virtualDelegate=g,this.columns=c,this.domId=`table_id_${++o.InstanceCount}`,this.disposables=new _.DisposableStore,this.cachedWidth=0,this.cachedHeight=0,this.domNode=(0,d.append)(s,(0,d.$)(`.monaco-table.${this.domId}`));const r=c.map((f,h)=>this.disposables.add(new n(f,h))),u={size:r.reduce((f,h)=>f+h.column.weight,0),views:r.map(f=>({size:f.column.weight,view:f}))};this.splitview=this.disposables.add(new y.SplitView(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:u})),this.splitview.el.style.height=`${g.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${g.headerRowHeight}px`;const C=new b(c,l,f=>this.splitview.getViewSize(f));this.list=this.disposables.add(new E.List(i,this.domNode,p(g),[C],a)),m.Event.any(...r.map(f=>f.onDidLayout))(([f,h])=>C.layoutColumn(f,h),null,this.disposables),this.splitview.onDidSashReset(f=>{const h=c.reduce((w,S)=>w+S.weight,0),v=c[f].weight/h*this.cachedWidth;this.splitview.resizeView(f,v)},null,this.disposables),this.styleElement=(0,d.createStyleSheet)(this.domNode),this.style(E.unthemedListStyles)}updateOptions(i){this.list.updateOptions(i)}splice(i,s,g=[]){this.list.splice(i,s,g)}getHTMLElement(){return this.domNode}style(i){const s=[];s.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=s.join(`\n`),this.list.style(i)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}e.Table=o}),define(ne[175],se([1,0,85,30,6,44,81,476]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Toggle=e.unthemedToggleStyles=void 0,e.unthemedToggleStyles={inputActiveOptionBorder:\"#007ACC00\",inputActiveOptionForeground:\"#FFFFFF\",inputActiveOptionBackground:\"#0E639C50\"};class m extends d.Widget{constructor(b){super(),this._onChange=this._register(new I.Emitter),this.onChange=this._onChange.event,this._onKeyDown=this._register(new I.Emitter),this.onKeyDown=this._onKeyDown.event,this._opts=b,this._checked=this._opts.isChecked;const p=[\"monaco-custom-toggle\"];this._opts.icon&&(this._icon=this._opts.icon,p.push(...k.ThemeIcon.asClassNameArray(this._icon))),this._opts.actionClassName&&p.push(...this._opts.actionClassName.split(\" \")),this._checked&&p.push(\"checked\"),this.domNode=document.createElement(\"div\"),this._hover=this._register((0,y.getBaseLayerHoverDelegate)().setupManagedHover(b.hoverDelegate??(0,E.getDefaultHoverDelegate)(\"mouse\"),this.domNode,this._opts.title)),this.domNode.classList.add(...p),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute(\"role\",\"checkbox\"),this.domNode.setAttribute(\"aria-checked\",String(this._checked)),this.domNode.setAttribute(\"aria-label\",this._opts.title),this.applyStyles(),this.onclick(this.domNode,n=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),n.preventDefault())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,n=>{if(n.keyCode===10||n.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),n.preventDefault(),n.stopPropagation();return}this._onKeyDown.fire(n)})}get enabled(){return this.domNode.getAttribute(\"aria-disabled\")!==\"true\"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(b){this._checked=b,this.domNode.setAttribute(\"aria-checked\",String(this._checked)),this.domNode.classList.toggle(\"checked\",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||\"\",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||\"inherit\",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||\"\")}enable(){this.domNode.setAttribute(\"aria-disabled\",String(!1))}disable(){this.domNode.setAttribute(\"aria-disabled\",String(!0))}}e.Toggle=m}),define(ne[358],se([1,0,44,175,26,3]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RegexToggle=e.WholeWordsToggle=e.CaseSensitiveToggle=void 0;const y=E.localize(2,\"Match Case\"),m=E.localize(3,\"Match Whole Word\"),_=E.localize(4,\"Use Regular Expression\");class b extends k.Toggle{constructor(t){super({icon:I.Codicon.caseSensitive,title:y+t.appendTitle,isChecked:t.isChecked,hoverDelegate:t.hoverDelegate??(0,d.getDefaultHoverDelegate)(\"element\"),inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}e.CaseSensitiveToggle=b;class p extends k.Toggle{constructor(t){super({icon:I.Codicon.wholeWord,title:m+t.appendTitle,isChecked:t.isChecked,hoverDelegate:t.hoverDelegate??(0,d.getDefaultHoverDelegate)(\"element\"),inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}e.WholeWordsToggle=p;class n extends k.Toggle{constructor(t){super({icon:I.Codicon.regex,title:_+t.appendTitle,isChecked:t.isChecked,hoverDelegate:t.hoverDelegate??(0,d.getDefaultHoverDelegate)(\"element\"),inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}e.RegexToggle=n}),define(ne[48],se([1,0,251,42,99,16,11,22]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DataUri=e.addTrailingPathSeparator=e.removeTrailingPathSeparator=e.hasTrailingPathSeparator=e.isEqualAuthority=e.isAbsolutePath=e.resolvePath=e.relativePath=e.normalizePath=e.joinPath=e.dirname=e.extname=e.basename=e.basenameOrAuthority=e.getComparisonKey=e.isEqualOrParent=e.isEqual=e.extUriIgnorePathCase=e.extUriBiasedIgnorePathCase=e.extUri=e.ExtUri=void 0,e.originalFSPath=_;function _(n){return(0,m.uriToFsPath)(n,!0)}class b{constructor(o){this._ignorePathCasing=o}compare(o,t,i=!1){return o===t?0:(0,y.compare)(this.getComparisonKey(o,i),this.getComparisonKey(t,i))}isEqual(o,t,i=!1){return o===t?!0:!o||!t?!1:this.getComparisonKey(o,i)===this.getComparisonKey(t,i)}getComparisonKey(o,t=!1){return o.with({path:this._ignorePathCasing(o)?o.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(o,t,i=!1){if(o.scheme===t.scheme){if(o.scheme===k.Schemas.file)return d.isEqualOrParent(_(o),_(t),this._ignorePathCasing(o))&&o.query===t.query&&(i||o.fragment===t.fragment);if((0,e.isEqualAuthority)(o.authority,t.authority))return d.isEqualOrParent(o.path,t.path,this._ignorePathCasing(o),\"/\")&&o.query===t.query&&(i||o.fragment===t.fragment)}return!1}joinPath(o,...t){return m.URI.joinPath(o,...t)}basenameOrAuthority(o){return(0,e.basename)(o)||o.authority}basename(o){return I.posix.basename(o.path)}extname(o){return I.posix.extname(o.path)}dirname(o){if(o.path.length===0)return o;let t;return o.scheme===k.Schemas.file?t=m.URI.file(I.dirname(_(o))).path:(t=I.posix.dirname(o.path),o.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname(\"${o.toString})) resulted in a relative path`),t=\"/\")),o.with({path:t})}normalizePath(o){if(!o.path.length)return o;let t;return o.scheme===k.Schemas.file?t=m.URI.file(I.normalize(_(o))).path:t=I.posix.normalize(o.path),o.with({path:t})}relativePath(o,t){if(o.scheme!==t.scheme||!(0,e.isEqualAuthority)(o.authority,t.authority))return;if(o.scheme===k.Schemas.file){const g=I.relative(_(o),_(t));return E.isWindows?d.toSlashes(g):g}let i=o.path||\"/\";const s=t.path||\"/\";if(this._ignorePathCasing(o)){let g=0;for(const c=Math.min(i.length,s.length);g<c&&!(i.charCodeAt(g)!==s.charCodeAt(g)&&i.charAt(g).toLowerCase()!==s.charAt(g).toLowerCase());g++);i=s.substr(0,g)+i.substr(g)}return I.posix.relative(i,s)}resolvePath(o,t){if(o.scheme===k.Schemas.file){const i=m.URI.file(I.resolve(_(o),t));return o.with({authority:i.authority,path:i.path})}return t=d.toPosixPath(t),o.with({path:I.posix.resolve(o.path,t)})}isAbsolutePath(o){return!!o.path&&o.path[0]===\"/\"}isEqualAuthority(o,t){return o===t||o!==void 0&&t!==void 0&&(0,y.equalsIgnoreCase)(o,t)}hasTrailingPathSeparator(o,t=I.sep){if(o.scheme===k.Schemas.file){const i=_(o);return i.length>d.getRoot(i).length&&i[i.length-1]===t}else{const i=o.path;return i.length>1&&i.charCodeAt(i.length-1)===47&&!/^[a-zA-Z]:(\\/$|\\\\$)/.test(o.fsPath)}}removeTrailingPathSeparator(o,t=I.sep){return(0,e.hasTrailingPathSeparator)(o,t)?o.with({path:o.path.substr(0,o.path.length-1)}):o}addTrailingPathSeparator(o,t=I.sep){let i=!1;if(o.scheme===k.Schemas.file){const s=_(o);i=s!==void 0&&s.length===d.getRoot(s).length&&s[s.length-1]===t}else{t=\"/\";const s=o.path;i=s.length===1&&s.charCodeAt(s.length-1)===47}return!i&&!(0,e.hasTrailingPathSeparator)(o,t)?o.with({path:o.path+\"/\"}):o}}e.ExtUri=b,e.extUri=new b(()=>!1),e.extUriBiasedIgnorePathCase=new b(n=>n.scheme===k.Schemas.file?!E.isLinux:!0),e.extUriIgnorePathCase=new b(n=>!0),e.isEqual=e.extUri.isEqual.bind(e.extUri),e.isEqualOrParent=e.extUri.isEqualOrParent.bind(e.extUri),e.getComparisonKey=e.extUri.getComparisonKey.bind(e.extUri),e.basenameOrAuthority=e.extUri.basenameOrAuthority.bind(e.extUri),e.basename=e.extUri.basename.bind(e.extUri),e.extname=e.extUri.extname.bind(e.extUri),e.dirname=e.extUri.dirname.bind(e.extUri),e.joinPath=e.extUri.joinPath.bind(e.extUri),e.normalizePath=e.extUri.normalizePath.bind(e.extUri),e.relativePath=e.extUri.relativePath.bind(e.extUri),e.resolvePath=e.extUri.resolvePath.bind(e.extUri),e.isAbsolutePath=e.extUri.isAbsolutePath.bind(e.extUri),e.isEqualAuthority=e.extUri.isEqualAuthority.bind(e.extUri),e.hasTrailingPathSeparator=e.extUri.hasTrailingPathSeparator.bind(e.extUri),e.removeTrailingPathSeparator=e.extUri.removeTrailingPathSeparator.bind(e.extUri),e.addTrailingPathSeparator=e.extUri.addTrailingPathSeparator.bind(e.extUri);var p;(function(n){n.META_DATA_LABEL=\"label\",n.META_DATA_DESCRIPTION=\"description\",n.META_DATA_SIZE=\"size\",n.META_DATA_MIME=\"mime\";function o(t){const i=new Map;t.path.substring(t.path.indexOf(\";\")+1,t.path.lastIndexOf(\";\")).split(\";\").forEach(c=>{const[l,a]=c.split(\":\");l&&a&&i.set(l,a)});const g=t.path.substring(0,t.path.indexOf(\";\"));return g&&i.set(n.META_DATA_MIME,g),i}n.parseMetaData=o})(p||(e.DataUri=p={}))}),define(ne[57],se([1,0,8,142,48,11,22]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarkdownString=void 0,e.isEmptyMarkdownString=_,e.isMarkdownString=b,e.markdownStringEqual=p,e.escapeMarkdownSyntaxTokens=n,e.appendEscapedMarkdownCodeBlockFence=o,e.escapeDoubleQuotes=t,e.removeMarkdownEscapes=i,e.parseHrefAndDimensions=s;class m{constructor(c=\"\",l=!1){if(this.value=c,typeof this.value!=\"string\")throw(0,d.illegalArgument)(\"value\");typeof l==\"boolean\"?(this.isTrusted=l,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=l.isTrusted??void 0,this.supportThemeIcons=l.supportThemeIcons??!1,this.supportHtml=l.supportHtml??!1)}appendText(c,l=0){return this.value+=n(this.supportThemeIcons?(0,k.escapeIcons)(c):c).replace(/([ \\t]+)/g,(a,r)=>\"&nbsp;\".repeat(r.length)).replace(/\\>/gm,\"\\\\>\").replace(/\\n/g,l===1?`\\\\\n`:`\n\n`),this}appendMarkdown(c){return this.value+=c,this}appendCodeblock(c,l){return this.value+=`\n${o(l,c)}\n`,this}appendLink(c,l,a){return this.value+=\"[\",this.value+=this._escape(l,\"]\"),this.value+=\"](\",this.value+=this._escape(String(c),\")\"),a&&(this.value+=` \"${this._escape(this._escape(a,'\"'),\")\")}\"`),this.value+=\")\",this}_escape(c,l){const a=new RegExp((0,E.escapeRegExpCharacters)(l),\"g\");return c.replace(a,(r,u)=>c.charAt(u-1)!==\"\\\\\"?`\\\\${r}`:r)}}e.MarkdownString=m;function _(g){return b(g)?!g.value:Array.isArray(g)?g.every(_):!0}function b(g){return g instanceof m?!0:g&&typeof g==\"object\"?typeof g.value==\"string\"&&(typeof g.isTrusted==\"boolean\"||typeof g.isTrusted==\"object\"||g.isTrusted===void 0)&&(typeof g.supportThemeIcons==\"boolean\"||g.supportThemeIcons===void 0):!1}function p(g,c){return g===c?!0:!g||!c?!1:g.value===c.value&&g.isTrusted===c.isTrusted&&g.supportThemeIcons===c.supportThemeIcons&&g.supportHtml===c.supportHtml&&(g.baseUri===c.baseUri||!!g.baseUri&&!!c.baseUri&&(0,I.isEqual)(y.URI.from(g.baseUri),y.URI.from(c.baseUri)))}function n(g){return g.replace(/[\\\\`*_{}[\\]()#+\\-!~]/g,\"\\\\$&\")}function o(g,c){const l=g.match(/^`+/gm)?.reduce((r,u)=>r.length>u.length?r:u).length??0,a=l>=3?l+1:3;return[`${\"`\".repeat(a)}${c}`,g,`${\"`\".repeat(a)}`].join(`\n`)}function t(g){return g.replace(/\"/g,\"&quot;\")}function i(g){return g&&g.replace(/\\\\([\\\\`*_{}[\\]()#+\\-.!~])/g,\"$1\")}function s(g){const c=[],l=g.split(\"|\").map(r=>r.trim());g=l[0];const a=l[1];if(a){const r=/height=(\\d+)/.exec(a),u=/width=(\\d+)/.exec(a),C=r?r[1]:\"\",f=u?u[1]:\"\",h=isFinite(parseInt(f)),v=isFinite(parseInt(C));h&&c.push(`width=\"${f}\"`),v&&c.push(`height=\"${C}\"`)}return{href:g,dimensions:c}}}),define(ne[207],se([1,0,5,351,93,352,47,77,114,8,6,57,142,187,98,2,447,252,42,60,48,11,22]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.allowedMarkdownAttr=void 0,e.renderMarkdown=h,e.renderStringAsPlaintext=T,e.renderMarkdownAsPlaintext=M,e.fillInIncompleteTokens=z;const f=Object.freeze({image:({href:ee,title:de,text:ge})=>{let X=[],B=[];return ee&&({href:ee,dimensions:X}=(0,n.parseHrefAndDimensions)(ee),B.push(`src=\"${(0,n.escapeDoubleQuotes)(ee)}\"`)),ge&&B.push(`alt=\"${(0,n.escapeDoubleQuotes)(ge)}\"`),de&&B.push(`title=\"${(0,n.escapeDoubleQuotes)(de)}\"`),X.length&&(B=B.concat(X)),\"<img \"+B.join(\" \")+\">\"},paragraph({tokens:ee}){return`<p>${this.parser.parseInline(ee)}</p>`},link({href:ee,title:de,tokens:ge}){let X=this.parser.parseInline(ge);return typeof ee!=\"string\"?\"\":(ee===X&&(X=(0,n.removeMarkdownEscapes)(X)),de=typeof de==\"string\"?(0,n.escapeDoubleQuotes)((0,n.removeMarkdownEscapes)(de)):\"\",ee=(0,n.removeMarkdownEscapes)(ee),ee=ee.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\"),`<a href=\"${ee}\" title=\"${de||ee}\" draggable=\"false\">${X}</a>`)}});function h(ee,de={},ge={}){const X=new s.DisposableStore;let B=!1;const $=(0,E.createElement)(de),Q=function(Ee){let Me;try{Me=(0,c.parse)(decodeURIComponent(Ee))}catch{}return Me?(Me=(0,a.cloneAndChange)(Me,Ae=>{if(ee.uris&&ee.uris[Ae])return C.URI.revive(ee.uris[Ae])}),encodeURIComponent(JSON.stringify(Me))):Ee},Z=function(Ee,Me){const Ae=ee.uris&&ee.uris[Ee];let Ne=C.URI.revive(Ae);return Me?Ee.startsWith(l.Schemas.data+\":\")?Ee:(Ne||(Ne=C.URI.parse(Ee)),l.FileAccess.uriToBrowserUri(Ne).toString(!0)):!Ne||C.URI.parse(Ee).toString()===Ne.toString()?Ee:(Ne.query&&(Ne=Ne.with({query:Q(Ne.query)})),Ne.toString())},te=new g.Renderer;te.image=f.image,te.link=f.link,te.paragraph=f.paragraph;const re=[],le=[];if(de.codeBlockRendererSync?te.code=({text:Ee,lang:Me})=>{const Ae=t.defaultGenerator.nextId(),Ne=de.codeBlockRendererSync(v(Me),Ee);return le.push([Ae,Ne]),`<div class=\"code\" data-code=\"${Ae}\">${(0,u.escape)(Ee)}</div>`}:de.codeBlockRenderer&&(te.code=({text:Ee,lang:Me})=>{const Ae=t.defaultGenerator.nextId(),Ne=de.codeBlockRenderer(v(Me),Ee);return re.push(Ne.then(Ke=>[Ae,Ke])),`<div class=\"code\" data-code=\"${Ae}\">${(0,u.escape)(Ee)}</div>`}),de.actionHandler){const Ee=function(Ne){let Ke=Ne.target;if(!(Ke.tagName!==\"A\"&&(Ke=Ke.parentElement,!Ke||Ke.tagName!==\"A\")))try{let ze=Ke.dataset.href;ze&&(ee.baseUri&&(ze=w(C.URI.from(ee.baseUri),ze)),de.actionHandler.callback(ze,Ne))}catch(ze){(0,b.onUnexpectedError)(ze)}finally{Ne.preventDefault()}},Me=de.actionHandler.disposables.add(new I.DomEmitter($,\"click\")),Ae=de.actionHandler.disposables.add(new I.DomEmitter($,\"auxclick\"));de.actionHandler.disposables.add(p.Event.any(Me.event,Ae.event)(Ne=>{const Ke=new m.StandardMouseEvent(d.getWindow($),Ne);!Ke.leftButton&&!Ke.middleButton||Ee(Ke)})),de.actionHandler.disposables.add(d.addDisposableListener($,\"keydown\",Ne=>{const Ke=new y.StandardKeyboardEvent(Ne);!Ke.equals(10)&&!Ke.equals(3)||Ee(Ke)}))}ee.supportHtml||(te.html=({text:Ee})=>de.sanitizerOptions?.replaceWithPlaintext?(0,u.escape)(Ee):(ee.isTrusted?Ee.match(/^(<span[^>]+>)|(<\\/\\s*span>)$/):void 0)?Ee:\"\"),ge.renderer=te;let me=ee.value??\"\";me.length>1e5&&(me=`${me.substr(0,1e5)}\\u2026`),ee.supportThemeIcons&&(me=(0,o.markdownEscapeEscapedIcons)(me));let Ce;if(de.fillInIncompleteTokens){const Ee={...g.defaults,...ge},Me=g.lexer(me,Ee),Ae=z(Me);Ce=g.parser(Ae,Ee)}else Ce=g.parse(me,{...ge,async:!1});ee.supportThemeIcons&&(Ce=(0,_.renderLabelWithIcons)(Ce).map(Me=>typeof Me==\"string\"?Me:Me.outerHTML).join(\"\"));const Le=new DOMParser().parseFromString(L({isTrusted:ee.isTrusted,...de.sanitizerOptions},Ce),\"text/html\");if(Le.body.querySelectorAll(\"img, audio, video, source\").forEach(Ee=>{const Me=Ee.getAttribute(\"src\");if(Me){let Ae=Me;try{ee.baseUri&&(Ae=w(C.URI.from(ee.baseUri),Ae))}catch{}if(Ee.setAttribute(\"src\",Z(Ae,!0)),de.remoteImageIsAllowed){const Ne=C.URI.parse(Ae);Ne.scheme!==l.Schemas.file&&Ne.scheme!==l.Schemas.data&&!de.remoteImageIsAllowed(Ne)&&Ee.replaceWith(d.$(\"\",void 0,Ee.outerHTML))}}}),Le.body.querySelectorAll(\"a\").forEach(Ee=>{const Me=Ee.getAttribute(\"href\");if(Ee.setAttribute(\"href\",\"\"),!Me||/^data:|javascript:/i.test(Me)||/^command:/i.test(Me)&&!ee.isTrusted||/^command:(\\/\\/\\/)?_workbench\\.downloadResource/i.test(Me))Ee.replaceWith(...Ee.childNodes);else{let Ae=Z(Me,!1);ee.baseUri&&(Ae=w(C.URI.from(ee.baseUri),Me)),Ee.dataset.href=Ae}}),$.innerHTML=L({isTrusted:ee.isTrusted,...de.sanitizerOptions},Le.body.innerHTML),re.length>0)Promise.all(re).then(Ee=>{if(B)return;const Me=new Map(Ee),Ae=$.querySelectorAll(\"div[data-code]\");for(const Ne of Ae){const Ke=Me.get(Ne.dataset.code??\"\");Ke&&d.reset(Ne,Ke)}de.asyncRenderCallback?.()});else if(le.length>0){const Ee=new Map(le),Me=$.querySelectorAll(\"div[data-code]\");for(const Ae of Me){const Ne=Ee.get(Ae.dataset.code??\"\");Ne&&d.reset(Ae,Ne)}}if(de.asyncRenderCallback)for(const Ee of $.getElementsByTagName(\"img\")){const Me=X.add(d.addDisposableListener(Ee,\"load\",()=>{Me.dispose(),de.asyncRenderCallback()}))}return{element:$,dispose:()=>{B=!0,X.dispose()}}}function v(ee){if(!ee)return\"\";const de=ee.split(/[\\s+|:|,|\\{|\\?]/,1);return de.length?de[0]:ee}function w(ee,de){return/^\\w[\\w\\d+.-]*:/.test(de)?de:ee.path.endsWith(\"/\")?(0,r.resolvePath)(ee,de).toString():(0,r.resolvePath)((0,r.dirname)(ee),de).toString()}const S=[\"area\",\"base\",\"br\",\"col\",\"command\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"];function L(ee,de){const{config:ge,allowedSchemes:X}=D(ee),B=new s.DisposableStore;B.add(ae(\"uponSanitizeAttribute\",($,Q)=>{if(Q.attrName===\"style\"||Q.attrName===\"class\"){if($.tagName===\"SPAN\"){if(Q.attrName===\"style\"){Q.keepAttr=/^(color\\:(#[0-9a-fA-F]+|var\\(--vscode(-[a-zA-Z]+)+\\));)?(background-color\\:(#[0-9a-fA-F]+|var\\(--vscode(-[a-zA-Z]+)+\\));)?(border-radius:[0-9]+px;)?$/.test(Q.attrValue);return}else if(Q.attrName===\"class\"){Q.keepAttr=/^codicon codicon-[a-z\\-]+( codicon-modifier-[a-z\\-]+)?$/.test(Q.attrValue);return}}Q.keepAttr=!1;return}else if($.tagName===\"INPUT\"&&$.attributes.getNamedItem(\"type\")?.value===\"checkbox\"){if(Q.attrName===\"type\"&&Q.attrValue===\"checkbox\"||Q.attrName===\"disabled\"||Q.attrName===\"checked\"){Q.keepAttr=!0;return}Q.keepAttr=!1}})),B.add(ae(\"uponSanitizeElement\",($,Q)=>{if(Q.tagName===\"input\"&&($.attributes.getNamedItem(\"type\")?.value===\"checkbox\"?$.setAttribute(\"disabled\",\"\"):ee.replaceWithPlaintext||$.remove()),ee.replaceWithPlaintext&&!Q.allowedTags[Q.tagName]&&Q.tagName!==\"body\"&&$.parentElement){let Z,te;if(Q.tagName===\"#comment\")Z=`<!--${$.textContent}-->`;else{const Ce=S.includes(Q.tagName),ye=$.attributes.length?\" \"+Array.from($.attributes).map(Le=>`${Le.name}=\"${Le.value}\"`).join(\" \"):\"\";Z=`<${Q.tagName}${ye}>`,Ce||(te=`</${Q.tagName}>`)}const re=document.createDocumentFragment(),le=$.parentElement.ownerDocument.createTextNode(Z);re.appendChild(le);const me=te?$.parentElement.ownerDocument.createTextNode(te):void 0;for(;$.firstChild;)re.appendChild($.firstChild);me&&re.appendChild(me),$.nodeType===Node.COMMENT_NODE?$.parentElement.insertBefore(re,$):$.parentElement.replaceChild(re,$)}})),B.add(d.hookDomPurifyHrefAndSrcSanitizer(X));try{return k.sanitize(de,{...ge,RETURN_TRUSTED_TYPE:!0})}finally{B.dispose()}}e.allowedMarkdownAttr=[\"align\",\"autoplay\",\"alt\",\"checked\",\"class\",\"colspan\",\"controls\",\"data-code\",\"data-href\",\"disabled\",\"draggable\",\"height\",\"href\",\"loop\",\"muted\",\"playsinline\",\"poster\",\"rowspan\",\"src\",\"style\",\"target\",\"title\",\"type\",\"width\",\"start\"];function D(ee){const de=[l.Schemas.http,l.Schemas.https,l.Schemas.mailto,l.Schemas.data,l.Schemas.file,l.Schemas.vscodeFileResource,l.Schemas.vscodeRemote,l.Schemas.vscodeRemoteResource];return ee.isTrusted&&de.push(l.Schemas.command),{config:{ALLOWED_TAGS:ee.allowedTags??[...d.basicMarkupHtmlTags],ALLOWED_ATTR:e.allowedMarkdownAttr,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:de}}function T(ee){return typeof ee==\"string\"?ee:M(ee)}function M(ee,de){let ge=ee.value??\"\";ge.length>1e5&&(ge=`${ge.substr(0,1e5)}\\u2026`);const X=g.parse(ge,{async:!1,renderer:de?O.value:N.value}).replace(/&(#\\d+|[a-zA-Z]+);/g,B=>A.get(B)??B);return L({isTrusted:!1},X).toString()}const A=new Map([[\"&quot;\",'\"'],[\"&nbsp;\",\" \"],[\"&amp;\",\"&\"],[\"&#39;\",\"'\"],[\"&lt;\",\"<\"],[\"&gt;\",\">\"]]);function P(){const ee=new g.Renderer;return ee.code=({text:de})=>de,ee.blockquote=({text:de})=>de+`\n`,ee.html=de=>\"\",ee.heading=function({tokens:de}){return this.parser.parseInline(de)+`\n`},ee.hr=()=>\"\",ee.list=function({items:de}){return de.map(ge=>this.listitem(ge)).join(`\n`)+`\n`},ee.listitem=({text:de})=>de+`\n`,ee.paragraph=function({tokens:de}){return this.parser.parseInline(de)+`\n`},ee.table=function({header:de,rows:ge}){return de.map(X=>this.tablecell(X)).join(\" \")+`\n`+ge.map(X=>X.map(B=>this.tablecell(B)).join(\" \")).join(`\n`)+`\n`},ee.tablerow=({text:de})=>de,ee.tablecell=function({tokens:de}){return this.parser.parseInline(de)},ee.strong=({text:de})=>de,ee.em=({text:de})=>de,ee.codespan=({text:de})=>de,ee.br=de=>`\n`,ee.del=({text:de})=>de,ee.image=de=>\"\",ee.text=({text:de})=>de,ee.link=({text:de})=>de,ee}const N=new i.Lazy(ee=>P()),O=new i.Lazy(()=>{const ee=P();return ee.code=({text:de})=>`\n\\`\\`\\`\n${de}\n\\`\\`\\`\n`,ee});function F(ee){let de=\"\";return ee.forEach(ge=>{de+=ge.raw}),de}function x(ee){if(ee.tokens)for(let de=ee.tokens.length-1;de>=0;de--){const ge=ee.tokens[de];if(ge.type===\"text\"){const X=ge.raw.split(`\n`),B=X[X.length-1];if(B.includes(\"`\"))return j(ee);if(B.includes(\"**\"))return ie(ee);if(B.match(/\\*\\w/))return Y(ee);if(B.match(/(^|\\s)__\\w/))return ue(ee);if(B.match(/(^|\\s)_\\w/))return G(ee);if(W(B)||V(B)&&ee.tokens.slice(0,de).some($=>$.type===\"text\"&&$.raw.match(/\\[[^\\]]*$/))){const $=ee.tokens.slice(de+1);return $[0]?.type===\"link\"&&$[1]?.type===\"text\"&&$[1].raw.match(/^ *\"[^\"]*$/)||B.match(/^[^\"]* +\"[^\"]*$/)?R(ee):K(ee)}else if(B.match(/(^|\\s)\\[\\w*/))return J(ee)}}}function W(ee){return!!ee.match(/(^|\\s)\\[.*\\]\\(\\w*/)}function V(ee){return!!ee.match(/^[^\\[]*\\]\\([^\\)]*$/)}function q(ee){const de=ee.items[ee.items.length-1],ge=de.tokens?de.tokens[de.tokens.length-1]:void 0;let X;if(ge?.type===\"text\"&&!(\"inRawBlock\"in de)&&(X=x(ge)),!X||X.type!==\"paragraph\")return;const B=F(ee.items.slice(0,-1)),$=de.raw.match(/^(\\s*(-|\\d+\\.|\\*) +)/)?.[0];if(!$)return;const Q=$+F(de.tokens.slice(0,-1))+X.raw,Z=g.lexer(B+Q)[0];if(Z.type===\"list\")return Z}const H=3;function z(ee){for(let de=0;de<H;de++){const ge=U(ee);if(ge)ee=ge;else break}return ee}function U(ee){let de,ge;for(de=0;de<ee.length;de++){const X=ee[de];if(X.type===\"paragraph\"&&X.raw.match(/(\\n|^)\\|/)){ge=pe(ee.slice(de));break}if(de===ee.length-1&&X.type===\"list\"){const B=q(X);if(B){ge=[B];break}}if(de===ee.length-1&&X.type===\"paragraph\"){const B=x(X);if(B){ge=[B];break}}}if(ge){const X=[...ee.slice(0,de),...ge];return X.links=ee.links,X}return null}function j(ee){return he(ee,\"`\")}function Y(ee){return he(ee,\"*\")}function G(ee){return he(ee,\"_\")}function K(ee){return he(ee,\")\")}function R(ee){return he(ee,'\")')}function J(ee){return he(ee,\"](https://microsoft.com)\")}function ie(ee){return he(ee,\"**\")}function ue(ee){return he(ee,\"__\")}function he(ee,de){const ge=F(Array.isArray(ee)?ee:[ee]);return g.lexer(ge+de)[0]}function pe(ee){const de=F(ee),ge=de.split(`\n`);let X,B=!1;for(let $=0;$<ge.length;$++){const Q=ge[$].trim();if(typeof X>\"u\"&&Q.match(/^\\s*\\|/)){const Z=Q.match(/(\\|[^\\|]+)(?=\\||$)/g);Z&&(X=Z.length)}else if(typeof X==\"number\")if(Q.match(/^\\s*\\|/)){if($!==ge.length-1)return;B=!0}else return}if(typeof X==\"number\"&&X>0){const $=B?ge.slice(0,-1).join(`\n`):de,Q=!!$.match(/\\|\\s*$/),Z=$+(Q?\"\":\"|\")+`\n|${\" --- |\".repeat(X)}`;return g.lexer(Z)}}function ae(ee,de){return k.addHook(ee,de),(0,s.toDisposable)(()=>k.removeHook(ee))}}),define(ne[258],se([1,0,5,351,47,207,69,44,114,33,6,57,2,30,81,459]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Button=e.unthemedButtonStyles=void 0,e.unthemedButtonStyles={buttonBackground:\"#0E639C\",buttonHoverBackground:\"#006BB3\",buttonSeparator:b.Color.white.toString(),buttonForeground:b.Color.white.toString(),buttonBorder:void 0,buttonSecondaryBackground:void 0,buttonSecondaryForeground:void 0,buttonSecondaryHoverBackground:void 0};class s extends o.Disposable{get onDidClick(){return this._onDidClick.event}constructor(c,l){super(),this._label=\"\",this._onDidClick=this._register(new p.Emitter),this._onDidEscape=this._register(new p.Emitter),this.options=l,this._element=document.createElement(\"a\"),this._element.classList.add(\"monaco-button\"),this._element.tabIndex=0,this._element.setAttribute(\"role\",\"button\"),this._element.classList.toggle(\"secondary\",!!l.secondary);const a=l.secondary?l.buttonSecondaryBackground:l.buttonBackground,r=l.secondary?l.buttonSecondaryForeground:l.buttonForeground;this._element.style.color=r||\"\",this._element.style.backgroundColor=a||\"\",l.supportShortLabel&&(this._labelShortElement=document.createElement(\"div\"),this._labelShortElement.classList.add(\"monaco-button-label-short\"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement(\"div\"),this._labelElement.classList.add(\"monaco-button-label\"),this._element.appendChild(this._labelElement),this._element.classList.add(\"monaco-text-button-with-short-label\")),typeof l.title==\"string\"&&this.setTitle(l.title),typeof l.ariaLabel==\"string\"&&this._element.setAttribute(\"aria-label\",l.ariaLabel),c.appendChild(this._element),this._register(y.Gesture.addTarget(this._element)),[d.EventType.CLICK,y.EventType.Tap].forEach(u=>{this._register((0,d.addDisposableListener)(this._element,u,C=>{if(!this.enabled){d.EventHelper.stop(C);return}this._onDidClick.fire(C)}))}),this._register((0,d.addDisposableListener)(this._element,d.EventType.KEY_DOWN,u=>{const C=new I.StandardKeyboardEvent(u);let f=!1;this.enabled&&(C.equals(3)||C.equals(10))?(this._onDidClick.fire(u),f=!0):C.equals(9)&&(this._onDidEscape.fire(u),this._element.blur(),f=!0),f&&d.EventHelper.stop(C,!0)})),this._register((0,d.addDisposableListener)(this._element,d.EventType.MOUSE_OVER,u=>{this._element.classList.contains(\"disabled\")||this.updateBackground(!0)})),this._register((0,d.addDisposableListener)(this._element,d.EventType.MOUSE_OUT,u=>{this.updateBackground(!1)})),this.focusTracker=this._register((0,d.trackFocus)(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.updateBackground(!0)})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.updateBackground(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(c){const l=[];for(let a of(0,_.renderLabelWithIcons)(c))if(typeof a==\"string\"){if(a=a.trim(),a===\"\")continue;const r=document.createElement(\"span\");r.textContent=a,l.push(r)}else l.push(a);return l}updateBackground(c){let l;this.options.secondary?l=c?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:l=c?this.options.buttonHoverBackground:this.options.buttonBackground,l&&(this._element.style.backgroundColor=l)}get element(){return this._element}set label(c){if(this._label===c||(0,n.isMarkdownString)(this._label)&&(0,n.isMarkdownString)(c)&&(0,n.markdownStringEqual)(this._label,c))return;this._element.classList.add(\"monaco-text-button\");const l=this.options.supportShortLabel?this._labelElement:this._element;if((0,n.isMarkdownString)(c)){const r=(0,E.renderMarkdown)(c,{inline:!0});r.dispose();const u=r.element.querySelector(\"p\")?.innerHTML;if(u){const C=(0,k.sanitize)(u,{ADD_TAGS:[\"b\",\"i\",\"u\",\"code\",\"span\"],ALLOWED_ATTR:[\"class\"],RETURN_TRUSTED_TYPE:!0});l.innerHTML=C}else(0,d.reset)(l)}else this.options.supportIcons?(0,d.reset)(l,...this.getContentElements(c)):l.textContent=c;let a=\"\";typeof this.options.title==\"string\"?a=this.options.title:this.options.title&&(a=(0,E.renderStringAsPlaintext)(c)),this.setTitle(a),typeof this.options.ariaLabel==\"string\"?this._element.setAttribute(\"aria-label\",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute(\"aria-label\",a),this._label=c}get label(){return this._label}set icon(c){this._element.classList.add(...t.ThemeIcon.asClassNameArray(c))}set enabled(c){c?(this._element.classList.remove(\"disabled\"),this._element.setAttribute(\"aria-disabled\",String(!1)),this._element.tabIndex=0):(this._element.classList.add(\"disabled\"),this._element.setAttribute(\"aria-disabled\",String(!0)))}get enabled(){return!this._element.classList.contains(\"disabled\")}setTitle(c){!this._hover&&c!==\"\"?this._hover=this._register((0,i.getBaseLayerHoverDelegate)().setupManagedHover(this.options.hoverDelegate??(0,m.getDefaultHoverDelegate)(\"mouse\"),this._element,c)):this._hover&&this._hover.update(c)}}e.Button=s}),define(ne[639],se([1,0,5,93,47,207,81,44,115,13,6,72,2,16,3,473]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectBoxList=void 0;const s=d.$,g=\"selectOption.entry.template\";class c{get templateId(){return g}renderTemplate(r){const u=Object.create(null);return u.root=r,u.text=d.append(r,s(\".option-text\")),u.detail=d.append(r,s(\".option-detail\")),u.decoratorRight=d.append(r,s(\".option-decorator-right\")),u}renderElement(r,u,C){const f=C,h=r.text,v=r.detail,w=r.decoratorRight,S=r.isDisabled;f.text.textContent=h,f.detail.textContent=v||\"\",f.decoratorRight.innerText=w||\"\",S?f.root.classList.add(\"option-disabled\"):f.root.classList.remove(\"option-disabled\")}disposeTemplate(r){}}class l extends o.Disposable{static{this.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN=32}static{this.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN=2}static{this.DEFAULT_MINIMUM_VISIBLE_OPTIONS=3}constructor(r,u,C,f,h){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=f,this.selectBoxOptions=h||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!=\"number\"?this.selectBoxOptions.minBottomMargin=l.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement(\"select\"),this.selectElement.className=\"monaco-select-box monaco-select-box-dropdown-padding\",typeof this.selectBoxOptions.ariaLabel==\"string\"&&this.selectElement.setAttribute(\"aria-label\",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription==\"string\"&&this.selectElement.setAttribute(\"aria-description\",this.selectBoxOptions.ariaDescription),this._onDidSelect=new p.Emitter,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(C),this.selected=u||0,r&&this.setOptions(r,u),this.initStyleSheet()}setTitle(r){!this._hover&&r?this._hover=this._register((0,y.getBaseLayerHoverDelegate)().setupManagedHover((0,m.getDefaultHoverDelegate)(\"mouse\"),this.selectElement,r)):this._hover&&this._hover.update(r)}getHeight(){return 22}getTemplateId(){return g}constructSelectDropDown(r){this.contextViewProvider=r,this.selectDropDownContainer=d.$(\".monaco-select-box-dropdown-container\"),this.selectDropDownContainer.classList.add(\"monaco-select-box-dropdown-padding\"),this.selectionDetailsPane=d.append(this.selectDropDownContainer,s(\".select-box-details-pane\"));const u=d.append(this.selectDropDownContainer,s(\".select-box-dropdown-container-width-control\")),C=d.append(u,s(\".width-control-div\"));this.widthControlElement=document.createElement(\"span\"),this.widthControlElement.className=\"option-text-width-control\",d.append(C,this.widthControlElement),this._dropDownPosition=0,this.styleElement=d.createStyleSheet(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute(\"draggable\",\"true\"),this._register(d.addDisposableListener(this.selectDropDownContainer,d.EventType.DRAG_START,f=>{d.EventHelper.stop(f,!0)}))}registerListeners(){this._register(d.addStandardDisposableListener(this.selectElement,\"change\",u=>{this.selected=u.target.selectedIndex,this._onDidSelect.fire({index:u.target.selectedIndex,selected:u.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register(d.addDisposableListener(this.selectElement,d.EventType.CLICK,u=>{d.EventHelper.stop(u),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(d.addDisposableListener(this.selectElement,d.EventType.MOUSE_DOWN,u=>{d.EventHelper.stop(u)}));let r;this._register(d.addDisposableListener(this.selectElement,\"touchstart\",u=>{r=this._isVisible})),this._register(d.addDisposableListener(this.selectElement,\"touchend\",u=>{d.EventHelper.stop(u),r?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(d.addDisposableListener(this.selectElement,d.EventType.KEY_DOWN,u=>{const C=new I.StandardKeyboardEvent(u);let f=!1;t.isMacintosh?(C.keyCode===18||C.keyCode===16||C.keyCode===10||C.keyCode===3)&&(f=!0):(C.keyCode===18&&C.altKey||C.keyCode===16&&C.altKey||C.keyCode===10||C.keyCode===3)&&(f=!0),f&&(this.showSelectDropDown(),d.EventHelper.stop(u,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(r,u){b.equals(this.options,r)||(this.options=r,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((C,f)=>{this.selectElement.add(this.createOption(C.text,f,C.isDisabled)),typeof C.description==\"string\"&&(this._hasDetails=!0)})),u!==void 0&&(this.select(u),this._currentSelection=this.selected)}setOptionsList(){this.selectList?.splice(0,this.selectList.length,this.options)}select(r){r>=0&&r<this.options.length?this.selected=r:r>this.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(r){this.selectElement.tabIndex=r?0:-1}render(r){this.container=r,r.classList.add(\"select-container\"),r.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const r=[];this.styles.listFocusBackground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(r.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),r.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),r.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(r.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),r.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&r.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),r.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }\"),r.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }\"),this.styleElement.textContent=r.join(`\n`)}styleSelectElement(){const r=this.styles.selectBackground??\"\",u=this.styles.selectForeground??\"\",C=this.styles.selectBorder??\"\";this.selectElement.style.backgroundColor=r,this.selectElement.style.color=u,this.selectElement.style.borderColor=C}styleList(){const r=this.styles.selectBackground??\"\",u=d.asCssValueWithDefault(this.styles.selectListBackground,r);this.selectDropDownListContainer.style.backgroundColor=u,this.selectionDetailsPane.style.backgroundColor=u;const C=this.styles.focusBorder??\"\";this.selectDropDownContainer.style.outlineColor=C,this.selectDropDownContainer.style.outlineOffset=\"-1px\",this.selectList.style(this.styles)}createOption(r,u,C){const f=document.createElement(\"option\");return f.value=r,f.text=r,f.disabled=!!C,f}showSelectDropDown(){this.selectionDetailsPane.innerText=\"\",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:r=>this.renderSelectDropDown(r,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove(\"visible\"),this.selectElement.classList.remove(\"synthetic-focus\")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:r=>this.renderSelectDropDown(r),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove(\"visible\"),this.selectElement.classList.remove(\"synthetic-focus\")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute(\"aria-expanded\",\"true\"))}hideSelectDropDown(r){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute(\"aria-expanded\",\"false\"),r&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(r,u){return r.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(u),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let r=0;return this.options.forEach((u,C)=>{this.updateDetail(C),this.selectionDetailsPane.offsetHeight>r&&(r=this.selectionDetailsPane.offsetHeight)}),r}layoutSelectDropDown(r){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add(\"visible\");const u=d.getWindow(this.selectElement),C=d.getDomNodePagePosition(this.selectElement),f=d.getWindow(this.selectElement).getComputedStyle(this.selectElement),h=parseFloat(f.getPropertyValue(\"--dropdown-padding-top\"))+parseFloat(f.getPropertyValue(\"--dropdown-padding-bottom\")),v=u.innerHeight-C.top-C.height-(this.selectBoxOptions.minBottomMargin||0),w=C.top-l.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,S=this.selectElement.offsetWidth,L=this.setWidthControlElement(this.widthControlElement),D=Math.max(L,Math.round(S)).toString()+\"px\";this.selectDropDownContainer.style.width=D,this.selectList.getHTMLElement().style.height=\"\",this.selectList.layout();let T=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const M=this._hasDetails?this._cachedMaxDetailsHeight:0,A=T+h+M,P=Math.floor((v-h-M)/this.getHeight()),N=Math.floor((w-h-M)/this.getHeight());if(r)return C.top+C.height>u.innerHeight-22||C.top<l.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||P<1&&N<1?!1:(P<l.DEFAULT_MINIMUM_VISIBLE_OPTIONS&&N>P&&this.options.length>P?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove(\"border-top\"),this.selectionDetailsPane.classList.add(\"border-bottom\")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove(\"border-bottom\"),this.selectionDetailsPane.classList.add(\"border-top\")),!0);if(C.top+C.height>u.innerHeight-22||C.top<l.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||this._dropDownPosition===0&&P<1||this._dropDownPosition===1&&N<1)return this.hideSelectDropDown(!0),!1;if(this._dropDownPosition===0){if(this._isVisible&&P+N<1)return this.hideSelectDropDown(!0),!1;A>v&&(T=P*this.getHeight())}else A>w&&(T=N*this.getHeight());return this.selectList.layout(T),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=T+h+\"px\",this.selectDropDownContainer.style.height=\"\"):this.selectDropDownContainer.style.height=T+h+\"px\",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=D,this.selectDropDownListContainer.setAttribute(\"tabindex\",\"0\"),this.selectElement.classList.add(\"synthetic-focus\"),this.selectDropDownContainer.classList.add(\"synthetic-focus\"),!0}else return!1}setWidthControlElement(r){let u=0;if(r){let C=0,f=0;this.options.forEach((h,v)=>{const w=h.detail?h.detail.length:0,S=h.decoratorRight?h.decoratorRight.length:0,L=h.text.length+w+S;L>f&&(C=v,f=L)}),r.textContent=this.options[C].text+(this.options[C].decoratorRight?this.options[C].decoratorRight+\" \":\"\"),u=d.getTotalWidth(r)}return u}createSelectList(r){if(this.selectList)return;this.selectDropDownListContainer=d.append(r,s(\".select-box-dropdown-list-container\")),this.listRenderer=new c,this.selectList=this._register(new _.List(\"SelectBoxCustom\",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:f=>{let h=f.text;return f.detail&&(h+=`. ${f.detail}`),f.decoratorRight&&(h+=`. ${f.decoratorRight}`),f.description&&(h+=`. ${f.description}`),h},getWidgetAriaLabel:()=>(0,i.localize)(16,\"Select Box\"),getRole:()=>t.isMacintosh?\"\":\"option\",getWidgetRole:()=>\"listbox\"}})),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const u=this._register(new k.DomEmitter(this.selectDropDownListContainer,\"keydown\")),C=p.Event.chain(u.event,f=>f.filter(()=>this.selectList.length>0).map(h=>new I.StandardKeyboardEvent(h)));this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===3))(this.onEnter,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===2))(this.onEnter,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===9))(this.onEscape,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===16))(this.onUpArrow,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===18))(this.onDownArrow,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===12))(this.onPageDown,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===11))(this.onPageUp,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===14))(this.onHome,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode===13))(this.onEnd,this)),this._register(p.Event.chain(C,f=>f.filter(h=>h.keyCode>=21&&h.keyCode<=56||h.keyCode>=85&&h.keyCode<=113))(this.onCharacter,this)),this._register(d.addDisposableListener(this.selectList.getHTMLElement(),d.EventType.POINTER_UP,f=>this.onPointerUp(f))),this._register(this.selectList.onMouseOver(f=>typeof f.index<\"u\"&&this.selectList.setFocus([f.index]))),this._register(this.selectList.onDidChangeFocus(f=>this.onListFocus(f))),this._register(d.addDisposableListener(this.selectDropDownContainer,d.EventType.FOCUS_OUT,f=>{!this._isVisible||d.isAncestor(f.relatedTarget,this.selectDropDownContainer)||this.onListBlur()})),this.selectList.getHTMLElement().setAttribute(\"aria-label\",this.selectBoxOptions.ariaLabel||\"\"),this.selectList.getHTMLElement().setAttribute(\"aria-expanded\",\"true\"),this.styleList()}onPointerUp(r){if(!this.selectList.length)return;d.EventHelper.stop(r);const u=r.target;if(!u||u.classList.contains(\"slider\"))return;const C=u.closest(\".monaco-list-row\");if(!C)return;const f=Number(C.getAttribute(\"data-index\")),h=C.classList.contains(\"option-disabled\");f>=0&&f<this.options.length&&!h&&(this.selected=f,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]),this.selected!==this._currentSelection&&(this._currentSelection=this.selected,this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.options[this.selected].text}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)),this.hideSelectDropDown(!0))}onListBlur(){this._sticky||(this.selected!==this._currentSelection&&this.select(this._currentSelection),this.hideSelectDropDown(!1))}renderDescriptionMarkdown(r,u){const C=h=>{for(let v=0;v<h.childNodes.length;v++){const w=h.childNodes.item(v);(w.tagName&&w.tagName.toLowerCase())===\"img\"?w.remove():C(w)}},f=(0,E.renderMarkdown)({value:r,supportThemeIcons:!0},{actionHandler:u});return f.element.classList.add(\"select-box-description-markdown\"),C(f.element),f.element}onListFocus(r){!this._isVisible||!this._hasDetails||this.updateDetail(r.indexes[0])}updateDetail(r){this.selectionDetailsPane.innerText=\"\";const u=this.options[r],C=u?.description??\"\",f=u?.descriptionIsMarkdown??!1;if(C){if(f){const h=u.descriptionMarkdownActionHandler;this.selectionDetailsPane.appendChild(this.renderDescriptionMarkdown(C,h))}else this.selectionDetailsPane.innerText=C;this.selectionDetailsPane.style.display=\"block\"}else this.selectionDetailsPane.style.display=\"none\";this._skipLayout=!0,this.contextViewProvider.layout(),this._skipLayout=!1}onEscape(r){d.EventHelper.stop(r),this.select(this._currentSelection),this.hideSelectDropDown(!0)}onEnter(r){d.EventHelper.stop(r),this.selected!==this._currentSelection&&(this._currentSelection=this.selected,this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.options[this.selected].text}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)),this.hideSelectDropDown(!0)}onDownArrow(r){if(this.selected<this.options.length-1){d.EventHelper.stop(r,!0);const u=this.options[this.selected+1].isDisabled;if(u&&this.options.length>this.selected+2)this.selected+=2;else{if(u)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(r){this.selected>0&&(d.EventHelper.stop(r,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(r){d.EventHelper.stop(r),this.selectList.focusPreviousPage(),setTimeout(()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected<this.options.length-1&&(this.selected++,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onPageDown(r){d.EventHelper.stop(r),this.selectList.focusNextPage(),setTimeout(()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onHome(r){d.EventHelper.stop(r),!(this.options.length<2)&&(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(r){d.EventHelper.stop(r),!(this.options.length<2)&&(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(r){const u=n.KeyCodeUtils.toString(r.keyCode);let C=-1;for(let f=0;f<this.options.length-1;f++)if(C=(f+this.selected+1)%this.options.length,this.options[C].text.charAt(0).toUpperCase()===u&&!this.options[C].isDisabled){this.select(C),this.selectList.setFocus([C]),this.selectList.reveal(this.selectList.getFocus()[0]),d.EventHelper.stop(r);break}}dispose(){this.hideSelectDropDown(!1),super.dispose()}}e.SelectBoxList=l}),define(ne[640],se([1,0,639,634,85,16,472]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectBox=void 0;class y extends I.Widget{constructor(_,b,p,n,o){super(),E.isMacintosh&&!o?.useCustomDrawn?this.selectBoxDelegate=new k.SelectBoxNative(_,b,n,o):this.selectBoxDelegate=new d.SelectBoxList(_,b,p,n,o),this._register(this.selectBoxDelegate)}get onDidSelect(){return this.selectBoxDelegate.onDidSelect}setOptions(_,b){this.selectBoxDelegate.setOptions(_,b)}select(_){this.selectBoxDelegate.select(_)}focus(){this.selectBoxDelegate.focus()}blur(){this.selectBoxDelegate.blur()}setFocusable(_){this.selectBoxDelegate.setFocusable(_)}render(_){this.selectBoxDelegate.render(_)}}e.SelectBox=y}),define(ne[151],se([1,0,64,224,5,69,44,640,41,2,16,19,3,81,302]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectActionViewItem=e.ActionViewItem=e.BaseActionViewItem=void 0;class i extends b.Disposable{get action(){return this._action}constructor(l,a,r={}){super(),this.options=r,this._context=l||this,this._action=a,a instanceof _.Action&&this._register(a.onDidChange(u=>{this.element&&this.handleActionChangeEvent(u)}))}handleActionChangeEvent(l){l.enabled!==void 0&&this.updateEnabled(),l.checked!==void 0&&this.updateChecked(),l.class!==void 0&&this.updateClass(),l.label!==void 0&&(this.updateLabel(),this.updateTooltip()),l.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new _.ActionRunner)),this._actionRunner}set actionRunner(l){this._actionRunner=l}isEnabled(){return this._action.enabled}setActionContext(l){this._context=l}render(l){const a=this.element=l;this._register(E.Gesture.addTarget(l));const r=this.options&&this.options.draggable;r&&(l.draggable=!0,d.isFirefox&&this._register((0,I.addDisposableListener)(l,I.EventType.DRAG_START,u=>u.dataTransfer?.setData(k.DataTransfers.TEXT,this._action.label)))),this._register((0,I.addDisposableListener)(a,E.EventType.Tap,u=>this.onClick(u,!0))),this._register((0,I.addDisposableListener)(a,I.EventType.MOUSE_DOWN,u=>{r||I.EventHelper.stop(u,!0),this._action.enabled&&u.button===0&&a.classList.add(\"active\")})),p.isMacintosh&&this._register((0,I.addDisposableListener)(a,I.EventType.CONTEXT_MENU,u=>{u.button===0&&u.ctrlKey===!0&&this.onClick(u)})),this._register((0,I.addDisposableListener)(a,I.EventType.CLICK,u=>{I.EventHelper.stop(u,!0),this.options&&this.options.isMenu||this.onClick(u)})),this._register((0,I.addDisposableListener)(a,I.EventType.DBLCLICK,u=>{I.EventHelper.stop(u,!0)})),[I.EventType.MOUSE_UP,I.EventType.MOUSE_OUT].forEach(u=>{this._register((0,I.addDisposableListener)(a,u,C=>{I.EventHelper.stop(C),a.classList.remove(\"active\")}))})}onClick(l,a=!1){I.EventHelper.stop(l,!0);const r=n.isUndefinedOrNull(this._context)?this.options?.useEventAsContext?l:{preserveFocus:a}:this._context;this.actionRunner.run(this._action,r)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add(\"focused\"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove(\"focused\"))}setFocusable(l){this.element&&(this.element.tabIndex=l?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){if(!this.element)return;const l=this.getTooltip()??\"\";if(this.updateAriaLabel(),this.options.hoverDelegate?.showNativeHover)this.element.title=l;else if(!this.customHover&&l!==\"\"){const a=this.options.hoverDelegate??(0,y.getDefaultHoverDelegate)(\"element\");this.customHover=this._store.add((0,t.getBaseLayerHoverDelegate)().setupManagedHover(a,this.element,l))}else this.customHover&&this.customHover.update(l)}updateAriaLabel(){if(this.element){const l=this.getTooltip()??\"\";this.element.setAttribute(\"aria-label\",l)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}e.BaseActionViewItem=i;class s extends i{constructor(l,a,r){super(l,a,r),this.options=r,this.options.icon=r.icon!==void 0?r.icon:!1,this.options.label=r.label!==void 0?r.label:!0,this.cssClass=\"\"}render(l){super.render(l),n.assertType(this.element);const a=document.createElement(\"a\");if(a.classList.add(\"action-label\"),a.setAttribute(\"role\",this.getDefaultAriaRole()),this.label=a,this.element.appendChild(a),this.options.label&&this.options.keybinding){const r=document.createElement(\"span\");r.classList.add(\"keybinding\"),r.textContent=this.options.keybinding,this.element.appendChild(r)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===_.Separator.ID?\"presentation\":this.options.isMenu?\"menuitem\":this.options.isTabList?\"tab\":\"button\"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(l){this.label&&(this.label.tabIndex=l?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let l=null;return this.action.tooltip?l=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(l=this.action.label,this.options.keybinding&&(l=o.localize(0,\"{0} ({1})\",l,this.options.keybinding))),l??void 0}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(\" \")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add(\"codicon\"),this.cssClass&&this.label.classList.add(...this.cssClass.split(\" \"))),this.updateEnabled()):this.label?.classList.remove(\"codicon\")}updateEnabled(){this.action.enabled?(this.label&&(this.label.removeAttribute(\"aria-disabled\"),this.label.classList.remove(\"disabled\")),this.element?.classList.remove(\"disabled\")):(this.label&&(this.label.setAttribute(\"aria-disabled\",\"true\"),this.label.classList.add(\"disabled\")),this.element?.classList.add(\"disabled\"))}updateAriaLabel(){if(this.label){const l=this.getTooltip()??\"\";this.label.setAttribute(\"aria-label\",l)}}updateChecked(){this.label&&(this.action.checked!==void 0?(this.label.classList.toggle(\"checked\",this.action.checked),this.options.isTabList?this.label.setAttribute(\"aria-selected\",this.action.checked?\"true\":\"false\"):(this.label.setAttribute(\"aria-checked\",this.action.checked?\"true\":\"false\"),this.label.setAttribute(\"role\",\"checkbox\"))):(this.label.classList.remove(\"checked\"),this.label.removeAttribute(this.options.isTabList?\"aria-selected\":\"aria-checked\"),this.label.setAttribute(\"role\",this.getDefaultAriaRole())))}}e.ActionViewItem=s;class g extends i{constructor(l,a,r,u,C,f,h){super(l,a),this.selectBox=new m.SelectBox(r,u,C,f,h),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(l){this.selectBox.select(l)}registerListeners(){this._register(this.selectBox.onDidSelect(l=>this.runAction(l.selected,l.index)))}runAction(l,a){this.actionRunner.run(this._action,this.getActionContext(l,a))}getActionContext(l,a){return l}setFocusable(l){this.selectBox.setFocusable(l)}focus(){this.selectBox?.focus()}blur(){this.selectBox?.blur()}render(l){this.selectBox.render(l)}}e.SelectActionViewItem=g}),define(ne[87],se([1,0,5,47,151,44,41,6,2,19,302]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ActionBar=void 0;class p extends _.Disposable{constructor(o,t={}){super(),this._actionRunnerDisposables=this._register(new _.DisposableStore),this.viewItemDisposables=this._register(new _.DisposableMap),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new m.Emitter),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new m.Emitter({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new m.Emitter),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new m.Emitter),this.onWillRun=this._onWillRun.event,this.options=t,this._context=t.context??null,this._orientation=this.options.orientation??0,this._triggerKeys={keyDown:this.options.triggerKeys?.keyDown??!1,keys:this.options.triggerKeys?.keys??[3,10]},this._hoverDelegate=t.hoverDelegate??this._register((0,E.createInstantHoverDelegate)()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new y.ActionRunner,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(g=>this._onDidRun.fire(g))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(g=>this._onWillRun.fire(g))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement(\"div\"),this.domNode.className=\"monaco-action-bar\";let i,s;switch(this._orientation){case 0:i=[15],s=[17];break;case 1:i=[16],s=[18],this.domNode.className+=\" vertical\";break}this._register(d.addDisposableListener(this.domNode,d.EventType.KEY_DOWN,g=>{const c=new k.StandardKeyboardEvent(g);let l=!0;const a=typeof this.focusedItem==\"number\"?this.viewItems[this.focusedItem]:void 0;i&&(c.equals(i[0])||c.equals(i[1]))?l=this.focusPrevious():s&&(c.equals(s[0])||c.equals(s[1]))?l=this.focusNext():c.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():c.equals(14)?l=this.focusFirst():c.equals(13)?l=this.focusLast():c.equals(2)&&a instanceof I.BaseActionViewItem&&a.trapsArrowNavigation?l=this.focusNext(void 0,!0):this.isTriggerKeyEvent(c)?this._triggerKeys.keyDown?this.doTrigger(c):this.triggerKeyDown=!0:l=!1,l&&(c.preventDefault(),c.stopPropagation())})),this._register(d.addDisposableListener(this.domNode,d.EventType.KEY_UP,g=>{const c=new k.StandardKeyboardEvent(g);this.isTriggerKeyEvent(c)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(c)),c.preventDefault(),c.stopPropagation()):(c.equals(2)||c.equals(1026)||c.equals(16)||c.equals(18)||c.equals(15)||c.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register(d.trackFocus(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(d.getActiveElement()===this.domNode||!d.isAncestor(d.getActiveElement(),this.domNode))&&(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement(\"ul\"),this.actionsList.className=\"actions-container\",this.options.highlightToggledItems&&this.actionsList.classList.add(\"highlight-toggled\"),this.actionsList.setAttribute(\"role\",this.options.ariaRole||\"toolbar\"),this.options.ariaLabel&&this.actionsList.setAttribute(\"aria-label\",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),o.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute(\"role\",this.options.ariaRole||\"toolbar\"):this.actionsList.setAttribute(\"role\",\"presentation\")}setFocusable(o){if(this.focusable=o,this.focusable){const t=this.viewItems.find(i=>i instanceof I.BaseActionViewItem&&i.isEnabled());t instanceof I.BaseActionViewItem&&t.setFocusable(!0)}else this.viewItems.forEach(t=>{t instanceof I.BaseActionViewItem&&t.setFocusable(!1)})}isTriggerKeyEvent(o){let t=!1;return this._triggerKeys.keys.forEach(i=>{t=t||o.equals(i)}),t}updateFocusedItem(){for(let o=0;o<this.actionsList.children.length;o++){const t=this.actionsList.children[o];if(d.isAncestor(d.getActiveElement(),t)){this.focusedItem=o,this.viewItems[this.focusedItem]?.showHover?.();break}}}get context(){return this._context}set context(o){this._context=o,this.viewItems.forEach(t=>t.setActionContext(o))}get actionRunner(){return this._actionRunner}set actionRunner(o){this._actionRunner=o,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(t=>this._onDidRun.fire(t))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(t=>this._onWillRun.fire(t))),this.viewItems.forEach(t=>t.actionRunner=o)}getContainer(){return this.domNode}getAction(o){if(typeof o==\"number\")return this.viewItems[o]?.action;if(d.isHTMLElement(o)){for(;o.parentElement!==this.actionsList;){if(!o.parentElement)return;o=o.parentElement}for(let t=0;t<this.actionsList.childNodes.length;t++)if(this.actionsList.childNodes[t]===o)return this.viewItems[t].action}}push(o,t={}){const i=Array.isArray(o)?o:[o];let s=b.isNumber(t.index)?t.index:null;i.forEach(g=>{const c=document.createElement(\"li\");c.className=\"action-item\",c.setAttribute(\"role\",\"presentation\");let l;const a={hoverDelegate:this._hoverDelegate,...t,isTabList:this.options.ariaRole===\"tablist\"};this.options.actionViewItemProvider&&(l=this.options.actionViewItemProvider(g,a)),l||(l=new I.ActionViewItem(this.context,g,a)),this.options.allowContextMenu||this.viewItemDisposables.set(l,d.addDisposableListener(c,d.EventType.CONTEXT_MENU,r=>{d.EventHelper.stop(r,!0)})),l.actionRunner=this._actionRunner,l.setActionContext(this.context),l.render(c),this.focusable&&l instanceof I.BaseActionViewItem&&this.viewItems.length===0&&l.setFocusable(!0),s===null||s<0||s>=this.actionsList.children.length?(this.actionsList.appendChild(c),this.viewItems.push(l)):(this.actionsList.insertBefore(c,this.actionsList.children[s]),this.viewItems.splice(s,0,l),s++)}),typeof this.focusedItem==\"number\"&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=(0,_.dispose)(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),d.clearNode(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(o){let t=!1,i;if(o===void 0?t=!0:typeof o==\"number\"?i=o:typeof o==\"boolean\"&&(t=o),t&&typeof this.focusedItem>\"u\"){const s=this.viewItems.findIndex(g=>g.isEnabled());this.focusedItem=s===-1?void 0:s,this.updateFocus(void 0,void 0,!0)}else i!==void 0&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(o,t){if(typeof this.focusedItem>\"u\")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let s;do{if(!o&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,s=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!s.isEnabled()||s.action.id===y.Separator.ID));return this.updateFocus(void 0,void 0,t),!0}focusPrevious(o){if(typeof this.focusedItem>\"u\")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!o&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===y.Separator.ID));return this.updateFocus(!0),!0}updateFocus(o,t,i=!1){typeof this.focusedItem>\"u\"&&this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&this.viewItems[this.previouslyFocusedItem]?.blur();const s=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(s){let g=!0;b.isFunction(s.focus)||(g=!1),this.options.focusOnlyEnabledItems&&b.isFunction(s.isEnabled)&&!s.isEnabled()&&(g=!1),s.action.id===y.Separator.ID&&(g=!1),g?(i||this.previouslyFocusedItem!==this.focusedItem)&&(s.focus(o),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),g&&s.showHover?.()}}doTrigger(o){if(typeof this.focusedItem>\"u\")return;const t=this.viewItems[this.focusedItem];if(t instanceof I.BaseActionViewItem){const i=t._context===null||t._context===void 0?o:t._context;this.run(t._action,i)}}async run(o,t){await this._actionRunner.run(o,t)}dispose(){this._context=void 0,this.viewItems=(0,_.dispose)(this.viewItems),this.getContainer().remove(),super.dispose()}}e.ActionBar=p}),define(ne[359],se([1,0,5,151,631,6,44,81,303]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DropdownMenuActionViewItem=void 0;class _ extends k.BaseActionViewItem{constructor(p,n,o,t=Object.create(null)){super(null,p,t),this.actionItem=null,this._onDidChangeVisibility=this._register(new E.Emitter),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=n,this.contextMenuProvider=o,this.options=t,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(p){this.actionItem=p;const n=i=>{this.element=(0,d.append)(i,(0,d.$)(\"a.action-label\"));let s=[];return typeof this.options.classNames==\"string\"?s=this.options.classNames.split(/\\s+/g).filter(g=>!!g):this.options.classNames&&(s=this.options.classNames),s.find(g=>g===\"icon\")||s.push(\"codicon\"),this.element.classList.add(...s),this.element.setAttribute(\"role\",\"button\"),this.element.setAttribute(\"aria-haspopup\",\"true\"),this.element.setAttribute(\"aria-expanded\",\"false\"),this._action.label&&this._register((0,m.getBaseLayerHoverDelegate)().setupManagedHover(this.options.hoverDelegate??(0,y.getDefaultHoverDelegate)(\"mouse\"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||\"\",null},o=Array.isArray(this.menuActionsOrProvider),t={contextMenuProvider:this.contextMenuProvider,labelRenderer:n,menuAsChild:this.options.menuAsChild,actions:o?this.menuActionsOrProvider:void 0,actionProvider:o?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new I.DropdownMenu(p,t)),this._register(this.dropdownMenu.onDidChangeVisibility(i=>{this.element?.setAttribute(\"aria-expanded\",`${i}`),this._onDidChangeVisibility.fire(i)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const i=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return i.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let p=null;return this.action.tooltip?p=this.action.tooltip:this.action.label&&(p=this.action.label),p??void 0}setActionContext(p){super.setActionContext(p),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=p:this.dropdownMenu.menuOptions={context:p})}show(){this.dropdownMenu?.show()}updateEnabled(){const p=!this.action.enabled;this.actionItem?.classList.toggle(\"disabled\",p),this.element?.classList.toggle(\"disabled\",p)}}e.DropdownMenuActionViewItem=_}),define(ne[259],se([1,0,5,93,352,87,46,81,44,86,85,6,450,60,3,466]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HistoryInputBox=e.InputBox=e.unthemedInboxStyles=void 0;const s=d.$;e.unthemedInboxStyles={inputBackground:\"#3C3C3C\",inputForeground:\"#CCCCCC\",inputValidationInfoBorder:\"#55AAFF\",inputValidationInfoBackground:\"#063B49\",inputValidationWarningBorder:\"#B89500\",inputValidationWarningBackground:\"#352A05\",inputValidationErrorBorder:\"#BE1100\",inputValidationErrorBackground:\"#5A1D1D\",inputBorder:void 0,inputValidationErrorForeground:void 0,inputValidationInfoForeground:void 0,inputValidationWarningForeground:void 0};class g extends p.Widget{constructor(a,r,u){super(),this.state=\"idle\",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new n.Emitter),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new n.Emitter),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=r,this.options=u,this.message=null,this.placeholder=this.options.placeholder||\"\",this.tooltip=this.options.tooltip??(this.placeholder||\"\"),this.ariaLabel=this.options.ariaLabel||\"\",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=d.append(a,s(\".monaco-inputbox.idle\"));const C=this.options.flexibleHeight?\"textarea\":\"input\",f=d.append(this.element,s(\".ibwrapper\"));if(this.input=d.append(f,s(C+\".input.empty\")),this.input.setAttribute(\"autocorrect\",\"off\"),this.input.setAttribute(\"autocapitalize\",\"off\"),this.input.setAttribute(\"spellcheck\",\"false\"),this.onfocus(this.input,()=>this.element.classList.add(\"synthetic-focus\")),this.onblur(this.input,()=>this.element.classList.remove(\"synthetic-focus\")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight==\"number\"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=d.append(f,s(\"div.mirror\")),this.mirror.innerText=\"\\xA0\",this.scrollableElement=new b.ScrollableElement(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute(\"wrap\",\"off\"),this.mirror.style.whiteSpace=\"pre\",this.mirror.style.wordWrap=\"initial\"),d.append(a,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(w=>this.input.scrollTop=w.scrollTop));const h=this._register(new k.DomEmitter(a.ownerDocument,\"selectionchange\")),v=n.Event.filter(h.event,()=>a.ownerDocument.getSelection()?.anchorNode===f);this._register(v(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||\"text\",this.input.setAttribute(\"wrap\",\"off\");this.ariaLabel&&this.input.setAttribute(\"aria-label\",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new E.ActionBar(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute(\"placeholder\",\"\")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute(\"placeholder\",this.placeholder||\"\")}setPlaceHolder(a){this.placeholder=a,this.input.setAttribute(\"placeholder\",a)}setTooltip(a){this.tooltip=a,this.hover?this.hover.update(a):this.hover=this._register((0,m.getBaseLayerHoverDelegate)().setupManagedHover((0,_.getDefaultHoverDelegate)(\"mouse\"),this.input,a))}get inputElement(){return this.input}get value(){return this.input.value}set value(a){this.input.value!==a&&(this.input.value=a,this.onValueChange())}get height(){return typeof this.cachedHeight==\"number\"?this.cachedHeight:d.getTotalHeight(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return d.isActiveElement(this.input)}select(a=null){this.input.select(),a&&(this.input.setSelectionRange(a.start,a.end),a.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){const a=this.input.selectionStart;if(a===null)return null;const r=this.input.selectionEnd??a;return{start:a,end:r}}enable(){this.input.removeAttribute(\"disabled\")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(a){this.input.style.width=`calc(100% - ${a}px)`,this.mirror&&(this.mirror.style.paddingRight=a+\"px\")}updateScrollDimensions(){if(typeof this.cachedContentHeight!=\"number\"||typeof this.cachedHeight!=\"number\"||!this.scrollableElement)return;const a=this.cachedContentHeight,r=this.cachedHeight,u=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:a,height:r}),this.scrollableElement.setScrollPosition({scrollTop:u})}showMessage(a,r){if(this.state===\"open\"&&(0,t.equals)(this.message,a))return;this.message=a,this.element.classList.remove(\"idle\"),this.element.classList.remove(\"info\"),this.element.classList.remove(\"warning\"),this.element.classList.remove(\"error\"),this.element.classList.add(this.classForType(a.type));const u=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${d.asCssValueWithDefault(u.border,\"transparent\")}`,this.message.content&&(this.hasFocus()||r)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove(\"info\"),this.element.classList.remove(\"warning\"),this.element.classList.remove(\"error\"),this.element.classList.add(\"idle\"),this._hideMessage(),this.applyStyles()}validate(){let a=null;return this.validation&&(a=this.validation(this.value),a?(this.inputElement.setAttribute(\"aria-invalid\",\"true\"),this.showMessage(a)):this.inputElement.hasAttribute(\"aria-invalid\")&&(this.inputElement.removeAttribute(\"aria-invalid\"),this.hideMessage())),a?.type}stylesForType(a){const r=this.options.inputBoxStyles;switch(a){case 1:return{border:r.inputValidationInfoBorder,background:r.inputValidationInfoBackground,foreground:r.inputValidationInfoForeground};case 2:return{border:r.inputValidationWarningBorder,background:r.inputValidationWarningBackground,foreground:r.inputValidationWarningForeground};default:return{border:r.inputValidationErrorBorder,background:r.inputValidationErrorBackground,foreground:r.inputValidationErrorForeground}}}classForType(a){switch(a){case 1:return\"info\";case 2:return\"warning\";default:return\"error\"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let a;const r=()=>a.style.width=d.getTotalWidth(this.element)+\"px\";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:C=>{if(!this.message)return null;a=d.append(C,s(\".monaco-inputbox-container\")),r();const f={inline:!0,className:\"monaco-inputbox-message\"},h=this.message.formatContent?(0,I.renderFormattedText)(this.message.content,f):(0,I.renderText)(this.message.content,f);h.classList.add(this.classForType(this.message.type));const v=this.stylesForType(this.message.type);return h.style.backgroundColor=v.background??\"\",h.style.color=v.foreground??\"\",h.style.border=v.border?`1px solid ${v.border}`:\"\",d.append(a,h),null},onHide:()=>{this.state=\"closed\"},layout:r});let u;this.message.type===3?u=i.localize(9,\"Error: {0}\",this.message.content):this.message.type===2?u=i.localize(10,\"Warning: {0}\",this.message.content):u=i.localize(11,\"Info: {0}\",this.message.content),y.alert(u),this.state=\"open\"}_hideMessage(){this.contextViewProvider&&(this.state===\"open\"&&this.contextViewProvider.hideContextView(),this.state=\"idle\")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle(\"empty\",!this.value),this.state===\"open\"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const a=this.value,u=a.charCodeAt(a.length-1)===10?\" \":\"\";(a+u).replace(/\\u000c/g,\"\")?this.mirror.textContent=a+u:this.mirror.innerText=\"\\xA0\",this.layout()}applyStyles(){const a=this.options.inputBoxStyles,r=a.inputBackground??\"\",u=a.inputForeground??\"\",C=a.inputBorder??\"\";this.element.style.backgroundColor=r,this.element.style.color=u,this.input.style.backgroundColor=\"inherit\",this.input.style.color=u,this.element.style.border=`1px solid ${d.asCssValueWithDefault(C,\"transparent\")}`}layout(){if(!this.mirror)return;const a=this.cachedContentHeight;this.cachedContentHeight=d.getTotalHeight(this.mirror),a!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+\"px\",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(a){const r=this.inputElement,u=r.selectionStart,C=r.selectionEnd,f=r.value;u!==null&&C!==null&&(this.value=f.substr(0,u)+a+f.substr(C),r.setSelectionRange(u+1,u+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}e.InputBox=g;class c extends g{constructor(a,r,u){const C=i.localize(12,\" or {0} for history\",\"\\u21C5\"),f=i.localize(13,\" ({0} for history)\",\"\\u21C5\");super(a,r,u),this._onDidFocus=this._register(new n.Emitter),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new n.Emitter),this.onDidBlur=this._onDidBlur.event,this.history=new o.HistoryNavigator(u.history,100);const h=()=>{if(u.showHistoryHint&&u.showHistoryHint()&&!this.placeholder.endsWith(C)&&!this.placeholder.endsWith(f)&&this.history.getHistory().length){const v=this.placeholder.endsWith(\")\")?C:f,w=this.placeholder+v;u.showPlaceholderOnFocus&&!d.isActiveElement(this.input)?this.placeholder=w:this.setPlaceHolder(w)}};this.observer=new MutationObserver((v,w)=>{v.forEach(S=>{S.target.textContent||h()})}),this.observer.observe(this.input,{attributeFilter:[\"class\"]}),this.onfocus(this.input,()=>h()),this.onblur(this.input,()=>{const v=w=>{if(this.placeholder.endsWith(w)){const S=this.placeholder.slice(0,this.placeholder.length-w.length);return u.showPlaceholderOnFocus?this.placeholder=S:this.setPlaceHolder(S),!0}else return!1};v(f)||v(C)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(a){this.value&&(a||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let a=this.getNextValue();a&&(a=a===this.value?this.getNextValue():a),this.value=a??\"\",y.status(this.value?this.value:i.localize(14,\"Cleared Input\"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let a=this.getPreviousValue();a&&(a=a===this.value?this.getPreviousValue():a),a&&(this.value=a,y.status(this.value))}setPlaceHolder(a){super.setPlaceHolder(a),this.setTooltip(a)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let a=this.history.current();return a||(a=this.history.last(),this.history.next()),a}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}e.HistoryInputBox=c}),define(ne[260],se([1,0,5,358,259,85,6,3,2,44,304]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FindInput=void 0;const p=m.localize(1,\"input\");class n extends E.Widget{constructor(t,i,s){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new _.MutableDisposable),this.additionalToggles=[],this._onDidOptionChange=this._register(new y.Emitter),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new y.Emitter),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new y.Emitter),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new y.Emitter),this._onKeyUp=this._register(new y.Emitter),this._onCaseSensitiveKeyDown=this._register(new y.Emitter),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new y.Emitter),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=s.placeholder||\"\",this.validation=s.validation,this.label=s.label||p,this.showCommonFindToggles=!!s.showCommonFindToggles;const g=s.appendCaseSensitiveLabel||\"\",c=s.appendWholeWordsLabel||\"\",l=s.appendRegexLabel||\"\",a=s.history||[],r=!!s.flexibleHeight,u=!!s.flexibleWidth,C=s.flexibleMaxHeight;this.domNode=document.createElement(\"div\"),this.domNode.classList.add(\"monaco-findInput\"),this.inputBox=this._register(new I.HistoryInputBox(this.domNode,i,{placeholder:this.placeholder||\"\",ariaLabel:this.label||\"\",validationOptions:{validation:this.validation},history:a,showHistoryHint:s.showHistoryHint,flexibleHeight:r,flexibleWidth:u,flexibleMaxHeight:C,inputBoxStyles:s.inputBoxStyles}));const f=this._register((0,b.createInstantHoverDelegate)());if(this.showCommonFindToggles){this.regex=this._register(new k.RegexToggle({appendTitle:l,isChecked:!1,hoverDelegate:f,...s.toggleStyles})),this._register(this.regex.onChange(v=>{this._onDidOptionChange.fire(v),!v&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(v=>{this._onRegexKeyDown.fire(v)})),this.wholeWords=this._register(new k.WholeWordsToggle({appendTitle:c,isChecked:!1,hoverDelegate:f,...s.toggleStyles})),this._register(this.wholeWords.onChange(v=>{this._onDidOptionChange.fire(v),!v&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new k.CaseSensitiveToggle({appendTitle:g,isChecked:!1,hoverDelegate:f,...s.toggleStyles})),this._register(this.caseSensitive.onChange(v=>{this._onDidOptionChange.fire(v),!v&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(v=>{this._onCaseSensitiveKeyDown.fire(v)}));const h=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,v=>{if(v.equals(15)||v.equals(17)||v.equals(9)){const w=h.indexOf(this.domNode.ownerDocument.activeElement);if(w>=0){let S=-1;v.equals(17)?S=(w+1)%h.length:v.equals(15)&&(w===0?S=h.length-1:S=w-1),v.equals(9)?(h[w].blur(),this.inputBox.focus()):S>=0&&h[S].focus(),d.EventHelper.stop(v,!0)}}})}this.controls=document.createElement(\"div\"),this.controls.className=\"controls\",this.controls.style.display=this.showCommonFindToggles?\"\":\"none\",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(s?.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),t?.appendChild(this.domNode),this._register(d.addDisposableListener(this.inputBox.inputElement,\"compositionstart\",h=>{this.imeSessionInProgress=!0})),this._register(d.addDisposableListener(this.inputBox.inputElement,\"compositionend\",h=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,h=>this._onKeyDown.fire(h)),this.onkeyup(this.inputBox.inputElement,h=>this._onKeyUp.fire(h)),this.oninput(this.inputBox.inputElement,h=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,h=>this._onMouseDown.fire(h))}get onDidChange(){return this.inputBox.onDidChange}layout(t){this.inputBox.layout(),this.updateInputBoxPadding(t.collapsedFindWidget)}enable(){this.domNode.classList.remove(\"disabled\"),this.inputBox.enable(),this.regex?.enable(),this.wholeWords?.enable(),this.caseSensitive?.enable();for(const t of this.additionalToggles)t.enable()}disable(){this.domNode.classList.add(\"disabled\"),this.inputBox.disable(),this.regex?.disable(),this.wholeWords?.disable(),this.caseSensitive?.disable();for(const t of this.additionalToggles)t.disable()}setFocusInputOnOptionClick(t){this.fixFocusOnOptionClickEnabled=t}setEnabled(t){t?this.enable():this.disable()}setAdditionalToggles(t){for(const i of this.additionalToggles)i.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new _.DisposableStore;for(const i of t??[])this.additionalTogglesDisposables.value.add(i),this.controls.appendChild(i.domNode),this.additionalTogglesDisposables.value.add(i.onChange(s=>{this._onDidOptionChange.fire(s),!s&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(i);this.additionalToggles.length>0&&(this.controls.style.display=\"\"),this.updateInputBoxPadding()}updateInputBoxPadding(t=!1){t?this.inputBox.paddingRight=0:this.inputBox.paddingRight=(this.caseSensitive?.width()??0)+(this.wholeWords?.width()??0)+(this.regex?.width()??0)+this.additionalToggles.reduce((i,s)=>i+s.width(),0)}getValue(){return this.inputBox.value}setValue(t){this.inputBox.value!==t&&(this.inputBox.value=t)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive?.checked??!1}setCaseSensitive(t){this.caseSensitive&&(this.caseSensitive.checked=t)}getWholeWords(){return this.wholeWords?.checked??!1}setWholeWords(t){this.wholeWords&&(this.wholeWords.checked=t)}getRegex(){return this.regex?.checked??!1}setRegex(t){this.regex&&(this.regex.checked=t,this.validate())}focusOnCaseSensitive(){this.caseSensitive?.focus()}highlightFindOptions(){this.domNode.classList.remove(\"highlight-\"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add(\"highlight-\"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(t){this.inputBox.showMessage(t)}clearMessage(){this.inputBox.hideMessage()}}e.FindInput=n}),define(ne[641],se([1,0,5,175,259,85,26,6,3,44,304]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReplaceInput=void 0;const p=_.localize(5,\"input\"),n=_.localize(6,\"Preserve Case\");class o extends k.Toggle{constructor(s){super({icon:y.Codicon.preserveCase,title:n+s.appendTitle,isChecked:s.isChecked,hoverDelegate:s.hoverDelegate??(0,b.getDefaultHoverDelegate)(\"element\"),inputActiveOptionBorder:s.inputActiveOptionBorder,inputActiveOptionForeground:s.inputActiveOptionForeground,inputActiveOptionBackground:s.inputActiveOptionBackground})}}class t extends E.Widget{constructor(s,g,c,l){super(),this._showOptionButtons=c,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new m.Emitter),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new m.Emitter),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new m.Emitter),this._onInput=this._register(new m.Emitter),this._onKeyUp=this._register(new m.Emitter),this._onPreserveCaseKeyDown=this._register(new m.Emitter),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=g,this.placeholder=l.placeholder||\"\",this.validation=l.validation,this.label=l.label||p;const a=l.appendPreserveCaseLabel||\"\",r=l.history||[],u=!!l.flexibleHeight,C=!!l.flexibleWidth,f=l.flexibleMaxHeight;this.domNode=document.createElement(\"div\"),this.domNode.classList.add(\"monaco-findInput\"),this.inputBox=this._register(new I.HistoryInputBox(this.domNode,this.contextViewProvider,{ariaLabel:this.label||\"\",placeholder:this.placeholder||\"\",validationOptions:{validation:this.validation},history:r,showHistoryHint:l.showHistoryHint,flexibleHeight:u,flexibleWidth:C,flexibleMaxHeight:f,inputBoxStyles:l.inputBoxStyles})),this.preserveCase=this._register(new o({appendTitle:a,isChecked:!1,...l.toggleStyles})),this._register(this.preserveCase.onChange(w=>{this._onDidOptionChange.fire(w),!w&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(w=>{this._onPreserveCaseKeyDown.fire(w)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const h=[this.preserveCase.domNode];this.onkeydown(this.domNode,w=>{if(w.equals(15)||w.equals(17)||w.equals(9)){const S=h.indexOf(this.domNode.ownerDocument.activeElement);if(S>=0){let L=-1;w.equals(17)?L=(S+1)%h.length:w.equals(15)&&(S===0?L=h.length-1:L=S-1),w.equals(9)?(h[S].blur(),this.inputBox.focus()):L>=0&&h[L].focus(),d.EventHelper.stop(w,!0)}}});const v=document.createElement(\"div\");v.className=\"controls\",v.style.display=this._showOptionButtons?\"block\":\"none\",v.appendChild(this.preserveCase.domNode),this.domNode.appendChild(v),s?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,w=>this._onKeyDown.fire(w)),this.onkeyup(this.inputBox.inputElement,w=>this._onKeyUp.fire(w)),this.oninput(this.inputBox.inputElement,w=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,w=>this._onMouseDown.fire(w))}enable(){this.domNode.classList.remove(\"disabled\"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add(\"disabled\"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(s){s?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(s){this.preserveCase.checked=s}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(s){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=s+\"px\"}dispose(){super.dispose()}}e.ReplaceInput=t}),define(ne[642],se([1,0,64,69,5,47,77,87,151,353,86,41,14,26,191,30,142,2,16,11]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Menu=e.VerticalDirection=e.HorizontalDirection=e.MENU_ESCAPED_MNEMONIC_REGEX=e.MENU_MNEMONIC_REGEX=void 0,e.cleanMnemonic=w,e.formatRule=S,e.MENU_MNEMONIC_REGEX=/\\(&([^\\s&])\\)|(^|[^&])&([^\\s&])/,e.MENU_ESCAPED_MNEMONIC_REGEX=/(&amp;)?(&amp;)([^\\s&])/g;var r;(function(D){D[D.Right=0]=\"Right\",D[D.Left=1]=\"Left\"})(r||(e.HorizontalDirection=r={}));var u;(function(D){D[D.Above=0]=\"Above\",D[D.Below=1]=\"Below\"})(u||(e.VerticalDirection=u={}));class C extends m.ActionBar{constructor(T,M,A,P){T.classList.add(\"monaco-menu-container\"),T.setAttribute(\"role\",\"presentation\");const N=document.createElement(\"div\");N.classList.add(\"monaco-menu\"),N.setAttribute(\"role\",\"presentation\"),super(N,{orientation:1,actionViewItemProvider:W=>this.doGetActionViewItem(W,A,O),context:A.context,actionRunner:A.actionRunner,ariaLabel:A.ariaLabel,ariaRole:\"menu\",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...l.isMacintosh||l.isLinux?[10]:[]],keyDown:!0}}),this.menuStyles=P,this.menuElement=N,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(T,P),this._register(k.Gesture.addTarget(N)),this._register((0,I.addDisposableListener)(N,I.EventType.KEY_DOWN,W=>{new E.StandardKeyboardEvent(W).equals(2)&&W.preventDefault()})),A.enableMnemonics&&this._register((0,I.addDisposableListener)(N,I.EventType.KEY_DOWN,W=>{const V=W.key.toLocaleLowerCase();if(this.mnemonics.has(V)){I.EventHelper.stop(W,!0);const q=this.mnemonics.get(V);if(q.length===1&&(q[0]instanceof h&&q[0].container&&this.focusItemByElement(q[0].container),q[0].onClick(W)),q.length>1){const H=q.shift();H&&H.container&&(this.focusItemByElement(H.container),q.push(H)),this.mnemonics.set(V,q)}}})),l.isLinux&&this._register((0,I.addDisposableListener)(N,I.EventType.KEY_DOWN,W=>{const V=new E.StandardKeyboardEvent(W);V.equals(14)||V.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),I.EventHelper.stop(W,!0)):(V.equals(13)||V.equals(12))&&(this.focusedItem=0,this.focusPrevious(),I.EventHelper.stop(W,!0))})),this._register((0,I.addDisposableListener)(this.domNode,I.EventType.MOUSE_OUT,W=>{const V=W.relatedTarget;(0,I.isAncestor)(V,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),W.stopPropagation())})),this._register((0,I.addDisposableListener)(this.actionsList,I.EventType.MOUSE_OVER,W=>{let V=W.target;if(!(!V||!(0,I.isAncestor)(V,this.actionsList)||V===this.actionsList)){for(;V.parentElement!==this.actionsList&&V.parentElement!==null;)V=V.parentElement;if(V.classList.contains(\"action-item\")){const q=this.focusedItem;this.setFocusedItem(V),q!==this.focusedItem&&this.updateFocus()}}})),this._register(k.Gesture.addTarget(this.actionsList)),this._register((0,I.addDisposableListener)(this.actionsList,k.EventType.Tap,W=>{let V=W.initialTarget;if(!(!V||!(0,I.isAncestor)(V,this.actionsList)||V===this.actionsList)){for(;V.parentElement!==this.actionsList&&V.parentElement!==null;)V=V.parentElement;if(V.classList.contains(\"action-item\")){const q=this.focusedItem;this.setFocusedItem(V),q!==this.focusedItem&&this.updateFocus()}}}));const O={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new p.DomScrollableElement(N,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const F=this.scrollableElement.getDomNode();F.style.position=\"\",this.styleScrollElement(F,P),this._register((0,I.addDisposableListener)(N,k.EventType.Change,W=>{I.EventHelper.stop(W,!0);const V=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:V-W.translationY})})),this._register((0,I.addDisposableListener)(F,I.EventType.MOUSE_UP,W=>{W.preventDefault()}));const x=(0,I.getWindow)(T);N.style.maxHeight=`${Math.max(10,x.innerHeight-T.getBoundingClientRect().top-35)}px`,M=M.filter((W,V)=>A.submenuIds?.has(W.id)?(console.warn(`Found submenu cycle: ${W.id}`),!1):!(W instanceof n.Separator&&(V===M.length-1||V===0||M[V-1]instanceof n.Separator))),this.push(M,{icon:!0,label:!0,isMenu:!0}),T.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(W=>!(W instanceof v)).forEach((W,V,q)=>{W.updatePositionInSet(V+1,q.length)})}initializeOrUpdateStyleSheet(T,M){this.styleSheet||((0,I.isInShadowDOM)(T)?this.styleSheet=(0,I.createStyleSheet)(T):(C.globalStyleSheet||(C.globalStyleSheet=(0,I.createStyleSheet)()),this.styleSheet=C.globalStyleSheet)),this.styleSheet.textContent=L(M,(0,I.isInShadowDOM)(T))}styleScrollElement(T,M){const A=M.foregroundColor??\"\",P=M.backgroundColor??\"\",N=M.borderColor?`1px solid ${M.borderColor}`:\"\",O=\"5px\",F=M.shadowColor?`0 2px 8px ${M.shadowColor}`:\"\";T.style.outline=N,T.style.borderRadius=O,T.style.color=A,T.style.backgroundColor=P,T.style.boxShadow=F}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(T){const M=this.focusedItem;this.setFocusedItem(T),M!==this.focusedItem&&this.updateFocus()}setFocusedItem(T){for(let M=0;M<this.actionsList.children.length;M++){const A=this.actionsList.children[M];if(T===A){this.focusedItem=M;break}}}updateFocus(T){super.updateFocus(T,!0,!0),typeof this.focusedItem<\"u\"&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(T,M,A){if(T instanceof n.Separator)return new v(M.context,T,{icon:!0},this.menuStyles);if(T instanceof n.SubmenuAction){const P=new h(T,T.actions,A,{...M,submenuIds:new Set([...M.submenuIds||[],T.id])},this.menuStyles);if(M.enableMnemonics){const N=P.getMnemonic();if(N&&P.isEnabled()){let O=[];this.mnemonics.has(N)&&(O=this.mnemonics.get(N)),O.push(P),this.mnemonics.set(N,O)}}return P}else{const P={enableMnemonics:M.enableMnemonics,useEventAsContext:M.useEventAsContext};if(M.getKeyBinding){const O=M.getKeyBinding(T);if(O){const F=O.getLabel();F&&(P.keybinding=F)}}const N=new f(M.context,T,P,this.menuStyles);if(M.enableMnemonics){const O=N.getMnemonic();if(O&&N.isEnabled()){let F=[];this.mnemonics.has(O)&&(F=this.mnemonics.get(O)),F.push(N),this.mnemonics.set(O,F)}}return N}}}e.Menu=C;class f extends _.BaseActionViewItem{constructor(T,M,A,P){if(A.isMenu=!0,super(M,M,A),this.menuStyle=P,this.options=A,this.options.icon=A.icon!==void 0?A.icon:!1,this.options.label=A.label!==void 0?A.label:!0,this.cssClass=\"\",this.options.label&&A.enableMnemonics){const N=this.action.label;if(N){const O=e.MENU_MNEMONIC_REGEX.exec(N);O&&(this.mnemonic=(O[1]?O[1]:O[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new o.RunOnceScheduler(()=>{this.element&&(this._register((0,I.addDisposableListener)(this.element,I.EventType.MOUSE_UP,N=>{if(I.EventHelper.stop(N,!0),d.isFirefox){if(new y.StandardMouseEvent((0,I.getWindow)(this.element),N).rightButton)return;this.onClick(N)}else setTimeout(()=>{this.onClick(N)},0)})),this._register((0,I.addDisposableListener)(this.element,I.EventType.CONTEXT_MENU,N=>{I.EventHelper.stop(N,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(T){super.render(T),this.element&&(this.container=T,this.item=(0,I.append)(this.element,(0,I.$)(\"a.action-menu-item\")),this._action.id===n.Separator.ID?this.item.setAttribute(\"role\",\"presentation\"):(this.item.setAttribute(\"role\",\"menuitem\"),this.mnemonic&&this.item.setAttribute(\"aria-keyshortcuts\",`${this.mnemonic}`)),this.check=(0,I.append)(this.item,(0,I.$)(\"span.menu-item-check\"+s.ThemeIcon.asCSSSelector(t.Codicon.menuSelection))),this.check.setAttribute(\"role\",\"none\"),this.label=(0,I.append)(this.item,(0,I.$)(\"span.action-label\")),this.options.label&&this.options.keybinding&&((0,I.append)(this.item,(0,I.$)(\"span.keybinding\")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(T,M){this.item&&(this.item.setAttribute(\"aria-posinset\",`${T}`),this.item.setAttribute(\"aria-setsize\",`${M}`))}updateLabel(){if(this.label&&this.options.label){(0,I.clearNode)(this.label);let T=(0,g.stripIcons)(this.action.label);if(T){const M=w(T);this.options.enableMnemonics||(T=M),this.label.setAttribute(\"aria-label\",M.replace(/&&/g,\"&\"));const A=e.MENU_MNEMONIC_REGEX.exec(T);if(A){T=a.escape(T),e.MENU_ESCAPED_MNEMONIC_REGEX.lastIndex=0;let P=e.MENU_ESCAPED_MNEMONIC_REGEX.exec(T);for(;P&&P[1];)P=e.MENU_ESCAPED_MNEMONIC_REGEX.exec(T);const N=O=>O.replace(/&amp;&amp;/g,\"&amp;\");P?this.label.append(a.ltrim(N(T.substr(0,P.index)),\" \"),(0,I.$)(\"u\",{\"aria-hidden\":\"true\"},P[3]),a.rtrim(N(T.substr(P.index+P[0].length)),\" \")):this.label.innerText=N(T).trim(),this.item?.setAttribute(\"aria-keyshortcuts\",(A[1]?A[1]:A[3]).toLocaleLowerCase())}else this.label.innerText=T.replace(/&&/g,\"&\").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(\" \")),this.options.icon&&this.label?(this.cssClass=this.action.class||\"\",this.label.classList.add(\"icon\"),this.cssClass&&this.label.classList.add(...this.cssClass.split(\" \")),this.updateEnabled()):this.label&&this.label.classList.remove(\"icon\")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove(\"disabled\"),this.element.removeAttribute(\"aria-disabled\")),this.item&&(this.item.classList.remove(\"disabled\"),this.item.removeAttribute(\"aria-disabled\"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add(\"disabled\"),this.element.setAttribute(\"aria-disabled\",\"true\")),this.item&&(this.item.classList.add(\"disabled\"),this.item.setAttribute(\"aria-disabled\",\"true\")))}updateChecked(){if(!this.item)return;const T=this.action.checked;this.item.classList.toggle(\"checked\",!!T),T!==void 0?(this.item.setAttribute(\"role\",\"menuitemcheckbox\"),this.item.setAttribute(\"aria-checked\",T?\"true\":\"false\")):(this.item.setAttribute(\"role\",\"menuitem\"),this.item.setAttribute(\"aria-checked\",\"\"))}getMnemonic(){return this.mnemonic}applyStyle(){const T=this.element&&this.element.classList.contains(\"focused\"),M=T&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,A=T&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,P=T&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:\"\",N=T&&this.menuStyle.selectionBorderColor?\"-1px\":\"\";this.item&&(this.item.style.color=M??\"\",this.item.style.backgroundColor=A??\"\",this.item.style.outline=P,this.item.style.outlineOffset=N),this.check&&(this.check.style.color=M??\"\")}}class h extends f{constructor(T,M,A,P,N){super(T,T,P,N),this.submenuActions=M,this.parentData=A,this.submenuOptions=P,this.mysubmenu=null,this.submenuDisposables=this._register(new c.DisposableStore),this.mouseOver=!1,this.expandDirection=P&&P.expandDirection!==void 0?P.expandDirection:{horizontal:r.Right,vertical:u.Below},this.showScheduler=new o.RunOnceScheduler(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new o.RunOnceScheduler(()=>{this.element&&!(0,I.isAncestor)((0,I.getActiveElement)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(T){super.render(T),this.element&&(this.item&&(this.item.classList.add(\"monaco-submenu-item\"),this.item.tabIndex=0,this.item.setAttribute(\"aria-haspopup\",\"true\"),this.updateAriaExpanded(\"false\"),this.submenuIndicator=(0,I.append)(this.item,(0,I.$)(\"span.submenu-indicator\"+s.ThemeIcon.asCSSSelector(t.Codicon.menuSubmenu))),this.submenuIndicator.setAttribute(\"aria-hidden\",\"true\")),this._register((0,I.addDisposableListener)(this.element,I.EventType.KEY_UP,M=>{const A=new E.StandardKeyboardEvent(M);(A.equals(17)||A.equals(3))&&(I.EventHelper.stop(M,!0),this.createSubmenu(!0))})),this._register((0,I.addDisposableListener)(this.element,I.EventType.KEY_DOWN,M=>{const A=new E.StandardKeyboardEvent(M);(0,I.getActiveElement)()===this.item&&(A.equals(17)||A.equals(3))&&I.EventHelper.stop(M,!0)})),this._register((0,I.addDisposableListener)(this.element,I.EventType.MOUSE_OVER,M=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register((0,I.addDisposableListener)(this.element,I.EventType.MOUSE_LEAVE,M=>{this.mouseOver=!1})),this._register((0,I.addDisposableListener)(this.element,I.EventType.FOCUS_OUT,M=>{this.element&&!(0,I.isAncestor)((0,I.getActiveElement)(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(T){I.EventHelper.stop(T,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(T){if(this.parentData.submenu&&(T||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded(\"false\"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(T,M,A,P){const N={top:0,left:0};return N.left=(0,b.layout)(T.width,M.width,{position:P.horizontal===r.Right?0:1,offset:A.left,size:A.width}),N.left>=A.left&&N.left<A.left+A.width&&(A.left+10+M.width<=T.width&&(N.left=A.left+10),A.top+=10,A.height=0),N.top=(0,b.layout)(T.height,M.height,{position:0,offset:A.top,size:0}),N.top+M.height===A.top&&N.top+A.height+M.height<=T.height&&(N.top+=A.height),N}createSubmenu(T=!0){if(this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded(\"true\"),this.submenuContainer=(0,I.append)(this.element,(0,I.$)(\"div.monaco-submenu\")),this.submenuContainer.classList.add(\"menubar-menu-items-holder\",\"context-view\");const M=(0,I.getWindow)(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode),A=parseFloat(M.paddingTop||\"0\")||0;this.submenuContainer.style.zIndex=\"1\",this.submenuContainer.style.position=\"fixed\",this.submenuContainer.style.top=\"0\",this.submenuContainer.style.left=\"0\",this.parentData.submenu=new C(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new n.EmptySubmenuAction],this.submenuOptions,this.menuStyle);const P=this.element.getBoundingClientRect(),N={top:P.top-A,left:P.left,height:P.height+2*A,width:P.width},O=this.submenuContainer.getBoundingClientRect(),F=(0,I.getWindow)(this.element),{top:x,left:W}=this.calculateSubmenuMenuLayout(new I.Dimension(F.innerWidth,F.innerHeight),I.Dimension.lift(O),N,this.expandDirection);this.submenuContainer.style.left=`${W-O.left}px`,this.submenuContainer.style.top=`${x-O.top}px`,this.submenuDisposables.add((0,I.addDisposableListener)(this.submenuContainer,I.EventType.KEY_UP,V=>{new E.StandardKeyboardEvent(V).equals(15)&&(I.EventHelper.stop(V,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add((0,I.addDisposableListener)(this.submenuContainer,I.EventType.KEY_DOWN,V=>{new E.StandardKeyboardEvent(V).equals(15)&&I.EventHelper.stop(V,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(T),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(T){this.item&&this.item?.setAttribute(\"aria-expanded\",T)}applyStyle(){super.applyStyle();const M=this.element&&this.element.classList.contains(\"focused\")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=M??\"\")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class v extends _.ActionViewItem{constructor(T,M,A,P){super(T,M,A),this.menuStyles=P}render(T){super.render(T),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:\"\")}}function w(D){const T=e.MENU_MNEMONIC_REGEX,M=T.exec(D);if(!M)return D;const A=!M[1];return D.replace(T,A?\"$2$3\":\"\").trim()}function S(D){const T=(0,i.getCodiconFontCharacters)()[D.id];return`.codicon-${D.id}:before { content: '\\\\${T.toString(16)}'; }`}function L(D,T){let M=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${S(t.Codicon.menuSelection)}\n${S(t.Codicon.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n\tmax-height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(T){M+=`\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t`;const A=D.scrollbarShadow;A&&(M+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${A} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${A} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${A} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const P=D.scrollbarSliderBackground;P&&(M+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${P};\n\t\t\t\t}\n\t\t\t`);const N=D.scrollbarSliderHoverBackground;N&&(M+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${N};\n\t\t\t\t}\n\t\t\t`);const O=D.scrollbarSliderActiveBackground;O&&(M+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${O};\n\t\t\t\t}\n\t\t\t`)}return M}}),define(ne[643],se([1,0,87,359,41,26,30,6,2,3,44,477]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToggleMenuAction=e.ToolBar=void 0;class n extends _.Disposable{constructor(i,s,g={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new m.EventMultiplexer),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new _.DisposableStore),g.hoverDelegate=g.hoverDelegate??this._register((0,p.createInstantHoverDelegate)()),this.options=g,this.toggleMenuAction=this._register(new o(()=>this.toggleMenuActionViewItem?.show(),g.toggleMenuTitle)),this.element=document.createElement(\"div\"),this.element.className=\"monaco-toolbar\",i.appendChild(this.element),this.actionBar=this._register(new d.ActionBar(this.element,{orientation:g.orientation,ariaLabel:g.ariaLabel,actionRunner:g.actionRunner,allowContextMenu:g.allowContextMenu,highlightToggledItems:g.highlightToggledItems,hoverDelegate:g.hoverDelegate,actionViewItemProvider:(c,l)=>{if(c.id===o.ID)return this.toggleMenuActionViewItem=new k.DropdownMenuActionViewItem(c,c.menuActions,s,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:y.ThemeIcon.asClassNameArray(g.moreIcon??E.Codicon.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(g.actionViewItemProvider){const a=g.actionViewItemProvider(c,l);if(a)return a}if(c instanceof I.SubmenuAction){const a=new k.DropdownMenuActionViewItem(c,c.actions,s,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:c.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return a.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(a),this.disposables.add(this._onDidChangeDropdownVisibility.add(a.onDidChangeVisibility)),a}}}))}set actionRunner(i){this.actionBar.actionRunner=i}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(i){return this.actionBar.getAction(i)}setActions(i,s){this.clear();const g=i?i.slice(0):[];this.hasSecondaryActions=!!(s&&s.length>0),this.hasSecondaryActions&&s&&(this.toggleMenuAction.menuActions=s.slice(0),g.push(this.toggleMenuAction)),g.forEach(c=>{this.actionBar.push(c,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(c)})})}getKeybindingLabel(i){return this.options.getKeyBinding?.(i)?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}e.ToolBar=n;class o extends I.Action{static{this.ID=\"toolbar.toggle.more\"}constructor(i,s){s=s||b.localize(17,\"More Actions...\"),super(o.ID,s,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=i}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(i){this._menuActions=i}}e.ToggleMenuAction=o}),define(ne[176],se([1,0,5,93,47,87,260,259,257,115,175,249,159,41,13,14,26,30,45,6,82,2,141,19,3,44,21,46,478]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AbstractTree=e.TreeFindMatchType=e.TreeFindMode=e.FuzzyToggle=e.ModeToggle=e.TreeRenderer=e.RenderIndentGuides=e.ComposedTreeDelegate=void 0;class L extends _.ElementsDragAndDropData{constructor(B){super(B.elements.map($=>$.element)),this.data=B}}function D(X){return X instanceof _.ElementsDragAndDropData?new L(X):X}class T{constructor(B,$){this.modelProvider=B,this.dnd=$,this.autoExpandDisposable=u.Disposable.None,this.disposables=new u.DisposableStore}getDragURI(B){return this.dnd.getDragURI(B.element)}getDragLabel(B,$){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(B.map(Q=>Q.element),$)}onDragStart(B,$){this.dnd.onDragStart?.(D(B),$)}onDragOver(B,$,Q,Z,te,re=!0){const le=this.dnd.onDragOver(D(B),$&&$.element,Q,Z,te),me=this.autoExpandNode!==$;if(me&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=$),typeof $>\"u\")return le;if(me&&typeof le!=\"boolean\"&&le.autoExpand&&(this.autoExpandDisposable=(0,s.disposableTimeout)(()=>{const Me=this.modelProvider(),Ae=Me.getNodeLocation($);Me.isCollapsed(Ae)&&Me.setCollapsed(Ae,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof le==\"boolean\"||!le.accept||typeof le.bubble>\"u\"||le.feedback){if(!re){const Me=typeof le==\"boolean\"?le:le.accept,Ae=typeof le==\"boolean\"?void 0:le.effect;return{accept:Me,effect:Ae,feedback:[Q]}}return le}if(le.bubble===1){const Me=this.modelProvider(),Ae=Me.getNodeLocation($),Ne=Me.getParentNodeLocation(Ae),Ke=Me.getNode(Ne),ze=Ne&&Me.getListIndex(Ne);return this.onDragOver(B,Ke,ze,Z,te,!1)}const Ce=this.modelProvider(),ye=Ce.getNodeLocation($),Le=Ce.getListIndex(ye),Ee=Ce.getListRenderCount(ye);return{...le,feedback:(0,i.range)(Le,Le+Ee)}}drop(B,$,Q,Z,te){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(D(B),$&&$.element,Q,Z,te)}onDragEnd(B){this.dnd.onDragEnd?.(B)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function M(X,B){return B&&{...B,identityProvider:B.identityProvider&&{getId($){return B.identityProvider.getId($.element)}},dnd:B.dnd&&new T(X,B.dnd),multipleSelectionController:B.multipleSelectionController&&{isSelectionSingleChangeEvent($){return B.multipleSelectionController.isSelectionSingleChangeEvent({...$,element:$.element})},isSelectionRangeChangeEvent($){return B.multipleSelectionController.isSelectionRangeChangeEvent({...$,element:$.element})}},accessibilityProvider:B.accessibilityProvider&&{...B.accessibilityProvider,getSetSize($){const Q=X(),Z=Q.getNodeLocation($),te=Q.getParentNodeLocation(Z);return Q.getNode(te).visibleChildrenCount},getPosInSet($){return $.visibleChildIndex+1},isChecked:B.accessibilityProvider&&B.accessibilityProvider.isChecked?$=>B.accessibilityProvider.isChecked($.element):void 0,getRole:B.accessibilityProvider&&B.accessibilityProvider.getRole?$=>B.accessibilityProvider.getRole($.element):()=>\"treeitem\",getAriaLabel($){return B.accessibilityProvider.getAriaLabel($.element)},getWidgetAriaLabel(){return B.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:B.accessibilityProvider&&B.accessibilityProvider.getWidgetRole?()=>B.accessibilityProvider.getWidgetRole():()=>\"tree\",getAriaLevel:B.accessibilityProvider&&B.accessibilityProvider.getAriaLevel?$=>B.accessibilityProvider.getAriaLevel($.element):$=>$.depth,getActiveDescendantId:B.accessibilityProvider.getActiveDescendantId&&($=>B.accessibilityProvider.getActiveDescendantId($.element))},keyboardNavigationLabelProvider:B.keyboardNavigationLabelProvider&&{...B.keyboardNavigationLabelProvider,getKeyboardNavigationLabel($){return B.keyboardNavigationLabelProvider.getKeyboardNavigationLabel($.element)}}}}class A{constructor(B){this.delegate=B}getHeight(B){return this.delegate.getHeight(B.element)}getTemplateId(B){return this.delegate.getTemplateId(B.element)}hasDynamicHeight(B){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(B.element)}setDynamicHeight(B,$){this.delegate.setDynamicHeight?.(B.element,$)}}e.ComposedTreeDelegate=A;var P;(function(X){X.None=\"none\",X.OnHover=\"onHover\",X.Always=\"always\"})(P||(e.RenderIndentGuides=P={}));class N{get elements(){return this._elements}constructor(B,$=[]){this._elements=$,this.disposables=new u.DisposableStore,this.onDidChange=a.Event.forEach(B,Q=>this._elements=Q,this.disposables)}dispose(){this.disposables.dispose()}}class O{static{this.DefaultIndent=8}constructor(B,$,Q,Z,te,re={}){this.renderer=B,this.modelProvider=$,this.activeNodes=Z,this.renderedIndentGuides=te,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=O.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=u.Disposable.None,this.disposables=new u.DisposableStore,this.templateId=B.templateId,this.updateOptions(re),a.Event.map(Q,le=>le.node)(this.onDidChangeNodeTwistieState,this,this.disposables),B.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(B={}){if(typeof B.indent<\"u\"){const $=(0,C.clamp)(B.indent,0,40);if($!==this.indent){this.indent=$;for(const[Q,Z]of this.renderedNodes)this.renderTreeElement(Q,Z)}}if(typeof B.renderIndentGuides<\"u\"){const $=B.renderIndentGuides!==P.None;if($!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=$;for(const[Q,Z]of this.renderedNodes)this._renderIndentGuides(Q,Z);if(this.indentGuidesDisposable.dispose(),$){const Q=new u.DisposableStore;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,Q),this.indentGuidesDisposable=Q,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}typeof B.hideTwistiesOfChildlessElements<\"u\"&&(this.hideTwistiesOfChildlessElements=B.hideTwistiesOfChildlessElements)}renderTemplate(B){const $=(0,d.append)(B,(0,d.$)(\".monaco-tl-row\")),Q=(0,d.append)($,(0,d.$)(\".monaco-tl-indent\")),Z=(0,d.append)($,(0,d.$)(\".monaco-tl-twistie\")),te=(0,d.append)($,(0,d.$)(\".monaco-tl-contents\")),re=this.renderer.renderTemplate(te);return{container:B,indent:Q,twistie:Z,indentGuidesDisposable:u.Disposable.None,templateData:re}}renderElement(B,$,Q,Z){this.renderedNodes.set(B,Q),this.renderedElements.set(B.element,B),this.renderTreeElement(B,Q),this.renderer.renderElement(B,$,Q.templateData,Z)}disposeElement(B,$,Q,Z){Q.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(B,$,Q.templateData,Z),typeof Z==\"number\"&&(this.renderedNodes.delete(B),this.renderedElements.delete(B.element))}disposeTemplate(B){this.renderer.disposeTemplate(B.templateData)}onDidChangeTwistieState(B){const $=this.renderedElements.get(B);$&&this.onDidChangeNodeTwistieState($)}onDidChangeNodeTwistieState(B){const $=this.renderedNodes.get(B);$&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(B,$))}renderTreeElement(B,$){const Q=O.DefaultIndent+(B.depth-1)*this.indent;$.twistie.style.paddingLeft=`${Q}px`,$.indent.style.width=`${Q+this.indent-16}px`,B.collapsible?$.container.setAttribute(\"aria-expanded\",String(!B.collapsed)):$.container.removeAttribute(\"aria-expanded\"),$.twistie.classList.remove(...c.ThemeIcon.asClassNameArray(g.Codicon.treeItemExpanded));let Z=!1;this.renderer.renderTwistie&&(Z=this.renderer.renderTwistie(B.element,$.twistie)),B.collapsible&&(!this.hideTwistiesOfChildlessElements||B.visibleChildrenCount>0)?(Z||$.twistie.classList.add(...c.ThemeIcon.asClassNameArray(g.Codicon.treeItemExpanded)),$.twistie.classList.add(\"collapsible\"),$.twistie.classList.toggle(\"collapsed\",B.collapsed)):$.twistie.classList.remove(\"collapsible\",\"collapsed\"),this._renderIndentGuides(B,$)}_renderIndentGuides(B,$){if((0,d.clearNode)($.indent),$.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const Q=new u.DisposableStore,Z=this.modelProvider();for(;;){const te=Z.getNodeLocation(B),re=Z.getParentNodeLocation(te);if(!re)break;const le=Z.getNode(re),me=(0,d.$)(\".indent-guide\",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(le)&&me.classList.add(\"active\"),$.indent.childElementCount===0?$.indent.appendChild(me):$.indent.insertBefore(me,$.indent.firstElementChild),this.renderedIndentGuides.add(le,me),Q.add((0,u.toDisposable)(()=>this.renderedIndentGuides.delete(le,me))),B=le}$.indentGuidesDisposable=Q}_onDidChangeActiveNodes(B){if(!this.shouldRenderIndentGuides)return;const $=new Set,Q=this.modelProvider();B.forEach(Z=>{const te=Q.getNodeLocation(Z);try{const re=Q.getParentNodeLocation(te);Z.collapsible&&Z.children.length>0&&!Z.collapsed?$.add(Z):re&&$.add(Q.getNode(re))}catch{}}),this.activeIndentNodes.forEach(Z=>{$.has(Z)||this.renderedIndentGuides.forEach(Z,te=>te.classList.remove(\"active\"))}),$.forEach(Z=>{this.activeIndentNodes.has(Z)||this.renderedIndentGuides.forEach(Z,te=>te.classList.add(\"active\"))}),this.activeIndentNodes=$}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),(0,u.dispose)(this.disposables)}}e.TreeRenderer=O;class F{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(B,$,Q){this.tree=B,this.keyboardNavigationLabelProvider=$,this._filter=Q,this._totalCount=0,this._matchCount=0,this._pattern=\"\",this._lowercasePattern=\"\",this.disposables=new u.DisposableStore,B.onWillRefilter(this.reset,this,this.disposables)}filter(B,$){let Q=1;if(this._filter){const re=this._filter.filter(B,$);if(typeof re==\"boolean\"?Q=re?1:0:(0,n.isFilterResult)(re)?Q=(0,n.getVisibleState)(re.visibility):Q=re,Q===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:r.FuzzyScore.Default,visibility:Q};const Z=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(B),te=Array.isArray(Z)?Z:[Z];for(const re of te){const le=re&&re.toString();if(typeof le>\"u\")return{data:r.FuzzyScore.Default,visibility:Q};let me;if(this.tree.findMatchType===H.Contiguous){const Ce=le.toLowerCase().indexOf(this._lowercasePattern);if(Ce>-1){me=[Number.MAX_SAFE_INTEGER,0];for(let ye=this._lowercasePattern.length;ye>0;ye--)me.push(Ce+ye-1)}}else me=(0,r.fuzzyScore)(this._pattern,this._lowercasePattern,0,le,le.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(me)return this._matchCount++,te.length===1?{data:me,visibility:Q}:{data:{label:le,score:me},visibility:Q}}return this.tree.findMode===q.Filter?typeof this.tree.options.defaultFindVisibility==\"number\"?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(B):2:{data:r.FuzzyScore.Default,visibility:Q}}reset(){this._totalCount=0,this._matchCount=0}dispose(){(0,u.dispose)(this.disposables)}}class x extends p.Toggle{constructor(B){super({icon:g.Codicon.listFilter,title:(0,h.localize)(18,\"Filter\"),isChecked:B.isChecked??!1,hoverDelegate:B.hoverDelegate??(0,v.getDefaultHoverDelegate)(\"element\"),inputActiveOptionBorder:B.inputActiveOptionBorder,inputActiveOptionForeground:B.inputActiveOptionForeground,inputActiveOptionBackground:B.inputActiveOptionBackground})}}e.ModeToggle=x;class W extends p.Toggle{constructor(B){super({icon:g.Codicon.searchFuzzy,title:(0,h.localize)(19,\"Fuzzy Match\"),isChecked:B.isChecked??!1,hoverDelegate:B.hoverDelegate??(0,v.getDefaultHoverDelegate)(\"element\"),inputActiveOptionBorder:B.inputActiveOptionBorder,inputActiveOptionForeground:B.inputActiveOptionForeground,inputActiveOptionBackground:B.inputActiveOptionBackground})}}e.FuzzyToggle=W;const V={inputBoxStyles:m.unthemedInboxStyles,toggleStyles:p.unthemedToggleStyles,listFilterWidgetBackground:void 0,listFilterWidgetNoMatchesOutline:void 0,listFilterWidgetOutline:void 0,listFilterWidgetShadow:void 0};var q;(function(X){X[X.Highlight=0]=\"Highlight\",X[X.Filter=1]=\"Filter\"})(q||(e.TreeFindMode=q={}));var H;(function(X){X[X.Fuzzy=0]=\"Fuzzy\",X[X.Contiguous=1]=\"Contiguous\"})(H||(e.TreeFindMatchType=H={}));class z extends u.Disposable{set mode(B){this.modeToggle.checked=B===q.Filter,this.findInput.inputBox.setPlaceHolder(B===q.Filter?(0,h.localize)(20,\"Type to filter\"):(0,h.localize)(21,\"Type to search\"))}set matchType(B){this.matchTypeToggle.checked=B===H.Fuzzy}constructor(B,$,Q,Z,te,re){super(),this.tree=$,this.elements=(0,d.h)(\".monaco-tree-type-filter\",[(0,d.h)(\".monaco-tree-type-filter-grab.codicon.codicon-debug-gripper@grab\",{tabIndex:0}),(0,d.h)(\".monaco-tree-type-filter-input@findInput\"),(0,d.h)(\".monaco-tree-type-filter-actionbar@actionbar\")]),this.width=0,this.right=0,this.top=0,this._onDidDisable=new a.Emitter,B.appendChild(this.elements.root),this._register((0,u.toDisposable)(()=>this.elements.root.remove()));const le=re?.styles??V;le.listFilterWidgetBackground&&(this.elements.root.style.backgroundColor=le.listFilterWidgetBackground),le.listFilterWidgetShadow&&(this.elements.root.style.boxShadow=`0 0 8px 2px ${le.listFilterWidgetShadow}`);const me=this._register((0,v.createInstantHoverDelegate)());this.modeToggle=this._register(new x({...le.toggleStyles,isChecked:Z===q.Filter,hoverDelegate:me})),this.matchTypeToggle=this._register(new W({...le.toggleStyles,isChecked:te===H.Fuzzy,hoverDelegate:me})),this.onDidChangeMode=a.Event.map(this.modeToggle.onChange,()=>this.modeToggle.checked?q.Filter:q.Highlight,this._store),this.onDidChangeMatchType=a.Event.map(this.matchTypeToggle.onChange,()=>this.matchTypeToggle.checked?H.Fuzzy:H.Contiguous,this._store),this.findInput=this._register(new y.FindInput(this.elements.findInput,Q,{label:(0,h.localize)(22,\"Type to search\"),additionalToggles:[this.modeToggle,this.matchTypeToggle],showCommonFindToggles:!1,inputBoxStyles:le.inputBoxStyles,toggleStyles:le.toggleStyles,history:re?.history})),this.actionbar=this._register(new E.ActionBar(this.elements.actionbar)),this.mode=Z;const Ce=this._register(new k.DomEmitter(this.findInput.inputBox.inputElement,\"keydown\")),ye=a.Event.chain(Ce.event,Ae=>Ae.map(Ne=>new I.StandardKeyboardEvent(Ne)));this._register(ye(Ae=>{if(Ae.equals(3)){Ae.preventDefault(),Ae.stopPropagation(),this.findInput.inputBox.addToHistory(),this.tree.domFocus();return}if(Ae.equals(18)){Ae.preventDefault(),Ae.stopPropagation(),this.findInput.inputBox.isAtLastInHistory()||this.findInput.inputBox.isNowhereInHistory()?(this.findInput.inputBox.addToHistory(),this.tree.domFocus()):this.findInput.inputBox.showNextValue();return}if(Ae.equals(16)){Ae.preventDefault(),Ae.stopPropagation(),this.findInput.inputBox.showPreviousValue();return}}));const Le=this._register(new t.Action(\"close\",(0,h.localize)(23,\"Close\"),\"codicon codicon-close\",!0,()=>this.dispose()));this.actionbar.push(Le,{icon:!0,label:!1});const Ee=this._register(new k.DomEmitter(this.elements.grab,\"mousedown\"));this._register(Ee.event(Ae=>{const Ne=new u.DisposableStore,Ke=Ne.add(new k.DomEmitter((0,d.getWindow)(Ae),\"mousemove\")),ze=Ne.add(new k.DomEmitter((0,d.getWindow)(Ae),\"mouseup\")),Ge=this.right,it=Ae.pageX,Oe=this.top,Fe=Ae.pageY;this.elements.grab.classList.add(\"grabbing\");const fe=this.elements.root.style.transition;this.elements.root.style.transition=\"unset\";const _e=xe=>{const be=xe.pageX-it;this.right=Ge-be;const ve=xe.pageY-Fe;this.top=Oe+ve,this.layout()};Ne.add(Ke.event(_e)),Ne.add(ze.event(xe=>{_e(xe),this.elements.grab.classList.remove(\"grabbing\"),this.elements.root.style.transition=fe,Ne.dispose()}))}));const Me=a.Event.chain(this._register(new k.DomEmitter(this.elements.grab,\"keydown\")).event,Ae=>Ae.map(Ne=>new I.StandardKeyboardEvent(Ne)));this._register(Me(Ae=>{let Ne,Ke;if(Ae.keyCode===15?Ne=Number.POSITIVE_INFINITY:Ae.keyCode===17?Ne=0:Ae.keyCode===10&&(Ne=this.right===0?Number.POSITIVE_INFINITY:0),Ae.keyCode===16?Ke=0:Ae.keyCode===18&&(Ke=Number.POSITIVE_INFINITY),Ne!==void 0&&(Ae.preventDefault(),Ae.stopPropagation(),this.right=Ne,this.layout()),Ke!==void 0){Ae.preventDefault(),Ae.stopPropagation(),this.top=Ke;const ze=this.elements.root.style.transition;this.elements.root.style.transition=\"unset\",this.layout(),setTimeout(()=>{this.elements.root.style.transition=ze},0)}})),this.onDidChangeValue=this.findInput.onDidChange}layout(B=this.width){this.width=B,this.right=(0,C.clamp)(this.right,0,Math.max(0,B-212)),this.elements.root.style.right=`${this.right}px`,this.top=(0,C.clamp)(this.top,0,24),this.elements.root.style.top=`${this.top}px`}showMessage(B){this.findInput.showMessage(B)}clearMessage(){this.findInput.clearMessage()}async dispose(){this._onDidDisable.fire(),this.elements.root.classList.add(\"disabled\"),await(0,s.timeout)(300),super.dispose()}}class U{get pattern(){return this._pattern}get mode(){return this._mode}set mode(B){B!==this._mode&&(this._mode=B,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(B))}get matchType(){return this._matchType}set matchType(B){B!==this._matchType&&(this._matchType=B,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(B))}constructor(B,$,Q,Z,te,re={}){this.tree=B,this.view=Q,this.filter=Z,this.contextViewProvider=te,this.options=re,this._pattern=\"\",this.width=0,this._onDidChangeMode=new a.Emitter,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new a.Emitter,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new a.Emitter,this._onDidChangeOpenState=new a.Emitter,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new u.DisposableStore,this.disposables=new u.DisposableStore,this._mode=B.options.defaultFindMode??q.Highlight,this._matchType=B.options.defaultFindMatchType??H.Fuzzy,$.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(B={}){B.defaultFindMode!==void 0&&(this.mode=B.defaultFindMode),B.defaultFindMatchType!==void 0&&(this.matchType=B.defaultFindMatchType)}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){const B=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&B?((0,S.alert)((0,h.localize)(24,\"No results\")),this.tree.options.showNotFoundMessage??!0?this.widget?.showMessage({type:2,content:(0,h.localize)(25,\"No elements found.\")}):this.widget?.showMessage({type:2})):(this.widget?.clearMessage(),this.pattern&&(0,S.alert)((0,h.localize)(26,\"{0} results\",this.filter.matchCount)))}shouldAllowFocus(B){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!r.FuzzyScore.isDefault(B.filterData)}layout(B){this.width=B,this.widget?.layout(B)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function j(X,B){return X.position===B.position&&Y(X,B)}function Y(X,B){return X.node.element===B.node.element&&X.startIndex===B.startIndex&&X.height===B.height&&X.endIndex===B.endIndex}class G{constructor(B=[]){this.stickyNodes=B}get count(){return this.stickyNodes.length}equal(B){return(0,i.equals)(this.stickyNodes,B.stickyNodes,j)}lastNodePartiallyVisible(){if(this.count===0)return!1;const B=this.stickyNodes[this.count-1];if(this.count===1)return B.position!==0;const $=this.stickyNodes[this.count-2];return $.position+$.height!==B.position}animationStateChanged(B){if(!(0,i.equals)(this.stickyNodes,B.stickyNodes,Y)||this.count===0)return!1;const $=this.stickyNodes[this.count-1],Q=B.stickyNodes[B.count-1];return $.position!==Q.position}}class K{constrainStickyScrollNodes(B,$,Q){for(let Z=0;Z<B.length;Z++){const te=B[Z];if(te.position+te.height>Q||Z>=$)return B.slice(0,Z)}return B}}class R extends u.Disposable{constructor(B,$,Q,Z,te,re={}){super(),this.tree=B,this.model=$,this.view=Q,this.treeDelegate=te,this.maxWidgetViewRatio=.4;const le=this.validateStickySettings(re);this.stickyScrollMaxItemCount=le.stickyScrollMaxItemCount,this.stickyScrollDelegate=re.stickyScrollDelegate??new K,this._widget=this._register(new J(Q.getScrollableElement(),Q,B,Z,te,re.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(Q.onDidScroll(()=>this.update())),this._register(Q.onDidChangeContentHeight(()=>this.update())),this._register(B.onDidChangeCollapseState(()=>this.update())),this.update()}get height(){return this._widget.height}getNodeAtHeight(B){let $;if(B===0?$=this.view.firstVisibleIndex:$=this.view.indexAt(B+this.view.scrollTop),!($<0||$>=this.view.length))return this.view.element($)}update(){const B=this.getNodeAtHeight(0);if(!B||this.tree.scrollTop===0){this._widget.setState(void 0);return}const $=this.findStickyState(B);this._widget.setState($)}findStickyState(B){const $=[];let Q=B,Z=0,te=this.getNextStickyNode(Q,void 0,Z);for(;te&&($.push(te),Z+=te.height,!($.length<=this.stickyScrollMaxItemCount&&(Q=this.getNextVisibleNode(te),!Q)));)te=this.getNextStickyNode(Q,te.node,Z);const re=this.constrainStickyNodes($);return re.length?new G(re):void 0}getNextVisibleNode(B){return this.getNodeAtHeight(B.position+B.height)}getNextStickyNode(B,$,Q){const Z=this.getAncestorUnderPrevious(B,$);if(Z&&!(Z===B&&(!this.nodeIsUncollapsedParent(B)||this.nodeTopAlignsWithStickyNodesBottom(B,Q))))return this.createStickyScrollNode(Z,Q)}nodeTopAlignsWithStickyNodesBottom(B,$){const Q=this.getNodeIndex(B),Z=this.view.getElementTop(Q),te=$;return this.view.scrollTop===Z-te}createStickyScrollNode(B,$){const Q=this.treeDelegate.getHeight(B),{startIndex:Z,endIndex:te}=this.getNodeRange(B),re=this.calculateStickyNodePosition(te,$,Q);return{node:B,position:re,height:Q,startIndex:Z,endIndex:te}}getAncestorUnderPrevious(B,$=void 0){let Q=B,Z=this.getParentNode(Q);for(;Z;){if(Z===$)return Q;Q=Z,Z=this.getParentNode(Q)}if($===void 0)return Q}calculateStickyNodePosition(B,$,Q){let Z=this.view.getRelativeTop(B);if(Z===null&&this.view.firstVisibleIndex===B&&B+1<this.view.length){const Ce=this.treeDelegate.getHeight(this.view.element(B)),ye=this.view.getRelativeTop(B+1);Z=ye?ye-Ce/this.view.renderHeight:null}if(Z===null)return $;const te=this.view.element(B),re=this.treeDelegate.getHeight(te),me=Z*this.view.renderHeight+re;return $+Q>me&&$<=me?me-Q:$}constrainStickyNodes(B){if(B.length===0)return[];const $=this.view.renderHeight*this.maxWidgetViewRatio,Q=B[B.length-1];if(B.length<=this.stickyScrollMaxItemCount&&Q.position+Q.height<=$)return B;const Z=this.stickyScrollDelegate.constrainStickyScrollNodes(B,this.stickyScrollMaxItemCount,$);if(!Z.length)return[];const te=Z[Z.length-1];if(Z.length>this.stickyScrollMaxItemCount||te.position+te.height>$)throw new Error(\"stickyScrollDelegate violates constraints\");return Z}getParentNode(B){const $=this.model.getNodeLocation(B),Q=this.model.getParentNodeLocation($);return Q?this.model.getNode(Q):void 0}nodeIsUncollapsedParent(B){const $=this.model.getNodeLocation(B);return this.model.getListRenderCount($)>1}getNodeIndex(B){const $=this.model.getNodeLocation(B);return this.model.getListIndex($)}getNodeRange(B){const $=this.model.getNodeLocation(B),Q=this.model.getListIndex($);if(Q<0)throw new Error(\"Node not found in tree\");const Z=this.model.getListRenderCount($),te=Q+Z-1;return{startIndex:Q,endIndex:te}}nodePositionTopBelowWidget(B){const $=[];let Q=this.getParentNode(B);for(;Q;)$.push(Q),Q=this.getParentNode(Q);let Z=0;for(let te=0;te<$.length&&te<this.stickyScrollMaxItemCount;te++)Z+=this.treeDelegate.getHeight($[te]);return Z}domFocus(){this._widget.domFocus()}focusedLast(){return this._widget.focusedLast()}updateOptions(B={}){if(!B.stickyScrollMaxItemCount)return;const $=this.validateStickySettings(B);this.stickyScrollMaxItemCount!==$.stickyScrollMaxItemCount&&(this.stickyScrollMaxItemCount=$.stickyScrollMaxItemCount,this.update())}validateStickySettings(B){let $=7;return typeof B.stickyScrollMaxItemCount==\"number\"&&($=Math.max(B.stickyScrollMaxItemCount,1)),{stickyScrollMaxItemCount:$}}}class J{constructor(B,$,Q,Z,te,re){this.view=$,this.tree=Q,this.treeRenderers=Z,this.treeDelegate=te,this.accessibilityProvider=re,this._previousElements=[],this._previousStateDisposables=new u.DisposableStore,this._rootDomNode=(0,d.$)(\".monaco-tree-sticky-container.empty\"),B.appendChild(this._rootDomNode);const le=(0,d.$)(\".monaco-tree-sticky-container-shadow\");this._rootDomNode.appendChild(le),this.stickyScrollFocus=new ie(this._rootDomNode,$),this.onDidChangeHasFocus=this.stickyScrollFocus.onDidChangeHasFocus,this.onContextMenu=this.stickyScrollFocus.onContextMenu}get height(){if(!this._previousState)return 0;const B=this._previousState.stickyNodes[this._previousState.count-1];return B.position+B.height}setState(B){const $=!!this._previousState&&this._previousState.count>0,Q=!!B&&B.count>0;if(!$&&!Q||$&&Q&&this._previousState.equal(B))return;if($!==Q&&this.setVisible(Q),!Q){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}const Z=B.stickyNodes[B.count-1];if(this._previousState&&B.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${Z.position}px`;else{this._previousStateDisposables.clear();const te=Array(B.count);for(let re=B.count-1;re>=0;re--){const le=B.stickyNodes[re],{element:me,disposable:Ce}=this.createElement(le,re,B.count);te[re]=me,this._rootDomNode.appendChild(me),this._previousStateDisposables.add(Ce)}this.stickyScrollFocus.updateElements(te,B),this._previousElements=te}this._previousState=B,this._rootDomNode.style.height=`${Z.position+Z.height}px`}createElement(B,$,Q){const Z=B.startIndex,te=document.createElement(\"div\");te.style.top=`${B.position}px`,this.tree.options.setRowHeight!==!1&&(te.style.height=`${B.height}px`),this.tree.options.setRowLineHeight!==!1&&(te.style.lineHeight=`${B.height}px`),te.classList.add(\"monaco-tree-sticky-row\"),te.classList.add(\"monaco-list-row\"),te.setAttribute(\"data-index\",`${Z}`),te.setAttribute(\"data-parity\",Z%2===0?\"even\":\"odd\"),te.setAttribute(\"id\",this.view.getElementID(Z));const re=this.setAccessibilityAttributes(te,B.node.element,$,Q),le=this.treeDelegate.getTemplateId(B.node),me=this.treeRenderers.find(Ee=>Ee.templateId===le);if(!me)throw new Error(`No renderer found for template id ${le}`);let Ce=B.node;Ce===this.tree.getNode(this.tree.getNodeLocation(B.node))&&(Ce=new Proxy(B.node,{}));const ye=me.renderTemplate(te);me.renderElement(Ce,B.startIndex,ye,B.height);const Le=(0,u.toDisposable)(()=>{re.dispose(),me.disposeElement(Ce,B.startIndex,ye,B.height),me.disposeTemplate(ye),te.remove()});return{element:te,disposable:Le}}setAccessibilityAttributes(B,$,Q,Z){if(!this.accessibilityProvider)return u.Disposable.None;this.accessibilityProvider.getSetSize&&B.setAttribute(\"aria-setsize\",String(this.accessibilityProvider.getSetSize($,Q,Z))),this.accessibilityProvider.getPosInSet&&B.setAttribute(\"aria-posinset\",String(this.accessibilityProvider.getPosInSet($,Q))),this.accessibilityProvider.getRole&&B.setAttribute(\"role\",this.accessibilityProvider.getRole($)??\"treeitem\");const te=this.accessibilityProvider.getAriaLabel($),re=te&&typeof te!=\"string\"?te:(0,w.constObservable)(te),le=(0,w.autorun)(Ce=>{const ye=Ce.readObservable(re);ye?B.setAttribute(\"aria-label\",ye):B.removeAttribute(\"aria-label\")});typeof te==\"string\"||te&&B.setAttribute(\"aria-label\",te.get());const me=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel($);return typeof me==\"number\"&&B.setAttribute(\"aria-level\",`${me}`),B.setAttribute(\"aria-selected\",String(!1)),le}setVisible(B){this._rootDomNode.classList.toggle(\"empty\",!B),B||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class ie extends u.Disposable{get domHasFocus(){return this._domHasFocus}set domHasFocus(B){B!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(B),this._domHasFocus=B)}constructor(B,$){super(),this.container=B,this.view=$,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new a.Emitter,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new a.Emitter,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register((0,d.addDisposableListener)(this.container,\"focus\",()=>this.onFocus())),this._register((0,d.addDisposableListener)(this.container,\"blur\",()=>this.onBlur())),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(Q=>this.onKeyDown(Q))),this._register(this.view.onMouseDown(Q=>this.onMouseDown(Q))),this._register(this.view.onContextMenu(Q=>this.handleContextMenu(Q)))}handleContextMenu(B){const $=B.browserEvent.target;if(!(0,b.isStickyScrollContainer)($)&&!(0,b.isStickyScrollElement)($)){this.focusedLast()&&this.view.domFocus();return}if(!(0,d.isKeyboardEvent)(B.browserEvent)){if(!this.state)throw new Error(\"Context menu should not be triggered when state is undefined\");const re=this.state.stickyNodes.findIndex(le=>le.node.element===B.element?.element);if(re===-1)throw new Error(\"Context menu should not be triggered when element is not in sticky scroll widget\");this.container.focus(),this.setFocus(re);return}if(!this.state||this.focusedIndex<0)throw new Error(\"Context menu key should not be triggered when focus is not in sticky scroll widget\");const Z=this.state.stickyNodes[this.focusedIndex].node.element,te=this.elements[this.focusedIndex];this._onContextMenu.fire({element:Z,anchor:te,browserEvent:B.browserEvent,isStickyScroll:!0})}onKeyDown(B){if(this.domHasFocus&&this.state){if(B.key===\"ArrowUp\")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),B.preventDefault(),B.stopPropagation();else if(B.key===\"ArrowDown\"||B.key===\"ArrowRight\"){if(this.focusedIndex>=this.state.count-1){const $=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([$]),this.scrollNodeUnderWidget($,this.state)}else this.setFocusedElement(this.focusedIndex+1);B.preventDefault(),B.stopPropagation()}}}onMouseDown(B){const $=B.browserEvent.target;!(0,b.isStickyScrollContainer)($)&&!(0,b.isStickyScrollElement)($)||(B.browserEvent.preventDefault(),B.browserEvent.stopPropagation())}updateElements(B,$){if($&&$.count===0)throw new Error(\"Sticky scroll state must be undefined when there are no sticky nodes\");if($&&$.count!==B.length)throw new Error(\"Sticky scroll focus received illigel state\");const Q=this.focusedIndex;if(this.removeFocus(),this.elements=B,this.state=$,$){const Z=(0,C.clamp)(Q,0,$.count-1);this.setFocus(Z)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=$?0:-1}setFocusedElement(B){const $=this.state;if(!$)throw new Error(\"Cannot set focus when state is undefined\");if(this.setFocus(B),!(B<$.count-1)&&$.lastNodePartiallyVisible()){const Q=$.stickyNodes[B];this.scrollNodeUnderWidget(Q.endIndex+1,$)}}scrollNodeUnderWidget(B,$){const Q=$.stickyNodes[$.count-1],Z=$.count>1?$.stickyNodes[$.count-2]:void 0,te=this.view.getElementTop(B),re=Z?Z.position+Z.height+Q.height:Q.height;this.view.scrollTop=te-re}domFocus(){if(!this.state)throw new Error(\"Cannot focus when state is undefined\");this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains(\"sticky-scroll-focused\"):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(B){if(0>B)throw new Error(\"addFocus() can not remove focus\");if(!this.state&&B>=0)throw new Error(\"Cannot set focus index when state is undefined\");if(this.state&&B>=this.state.count)throw new Error(\"Cannot set focus index to an index that does not exist\");const $=this.focusedIndex;$>=0&&this.toggleElementFocus(this.elements[$],!1),B>=0&&this.toggleElementFocus(this.elements[B],!0),this.focusedIndex=B}toggleElementFocus(B,$){this.toggleElementActiveFocus(B,$&&this.domHasFocus),this.toggleElementPassiveFocus(B,$)}toggleCurrentElementActiveFocus(B){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],B)}toggleElementActiveFocus(B,$){B.classList.toggle(\"focused\",$)}toggleElementPassiveFocus(B,$){B.classList.toggle(\"passive-focused\",$)}toggleStickyScrollFocused(B){this.view.getHTMLElement().classList.toggle(\"sticky-scroll-focused\",B)}onFocus(){if(!this.state||this.elements.length===0)throw new Error(\"Cannot focus when state is undefined or elements are empty\");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function ue(X){let B=o.TreeMouseEventTarget.Unknown;return(0,d.hasParentWithClass)(X.browserEvent.target,\"monaco-tl-twistie\",\"monaco-tl-row\")?B=o.TreeMouseEventTarget.Twistie:(0,d.hasParentWithClass)(X.browserEvent.target,\"monaco-tl-contents\",\"monaco-tl-row\")?B=o.TreeMouseEventTarget.Element:(0,d.hasParentWithClass)(X.browserEvent.target,\"monaco-tree-type-filter\",\"monaco-list\")&&(B=o.TreeMouseEventTarget.Filter),{browserEvent:X.browserEvent,element:X.element?X.element.element:null,target:B}}function he(X){const B=(0,b.isStickyScrollContainer)(X.browserEvent.target);return{element:X.element?X.element.element:null,browserEvent:X.browserEvent,anchor:X.anchor,isStickyScroll:B}}function pe(X,B){B(X),X.children.forEach($=>pe($,B))}class ae{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(B,$){this.getFirstViewElementWithTrait=B,this.identityProvider=$,this.nodes=[],this._onDidChange=new a.Emitter,this.onDidChange=this._onDidChange.event}set(B,$){!$?.__forceEvent&&(0,i.equals)(this.nodes,B)||this._set(B,!1,$)}_set(B,$,Q){if(this.nodes=[...B],this.elements=void 0,this._nodeSet=void 0,!$){const Z=this;this._onDidChange.fire({get elements(){return Z.get()},browserEvent:Q})}}get(){return this.elements||(this.elements=this.nodes.map(B=>B.element)),[...this.elements]}getNodes(){return this.nodes}has(B){return this.nodeSet.has(B)}onDidModelSplice({insertedNodes:B,deletedNodes:$}){if(!this.identityProvider){const me=this.createNodeSet(),Ce=ye=>me.delete(ye);$.forEach(ye=>pe(ye,Ce)),this.set([...me.values()]);return}const Q=new Set,Z=me=>Q.add(this.identityProvider.getId(me.element).toString());$.forEach(me=>pe(me,Z));const te=new Map,re=me=>te.set(this.identityProvider.getId(me.element).toString(),me);B.forEach(me=>pe(me,re));const le=[];for(const me of this.nodes){const Ce=this.identityProvider.getId(me.element).toString();if(!Q.has(Ce))le.push(me);else{const Le=te.get(Ce);Le&&Le.visible&&le.push(Le)}}if(this.nodes.length>0&&le.length===0){const me=this.getFirstViewElementWithTrait();me&&le.push(me)}this._set(le,!0)}createNodeSet(){const B=new Set;for(const $ of this.nodes)B.add($);return B}}class ee extends b.MouseController{constructor(B,$,Q){super(B),this.tree=$,this.stickyScrollProvider=Q}onViewPointer(B){if((0,b.isButton)(B.browserEvent.target)||(0,b.isInputElement)(B.browserEvent.target)||(0,b.isMonacoEditor)(B.browserEvent.target)||B.browserEvent.isHandledByList)return;const $=B.element;if(!$)return super.onViewPointer(B);if(this.isSelectionRangeChangeEvent(B)||this.isSelectionSingleChangeEvent(B))return super.onViewPointer(B);const Q=B.browserEvent.target,Z=Q.classList.contains(\"monaco-tl-twistie\")||Q.classList.contains(\"monaco-icon-label\")&&Q.classList.contains(\"folder-icon\")&&B.browserEvent.offsetX<16,te=(0,b.isStickyScrollElement)(B.browserEvent.target);let re=!1;if(te?re=!0:typeof this.tree.expandOnlyOnTwistieClick==\"function\"?re=this.tree.expandOnlyOnTwistieClick($.element):re=!!this.tree.expandOnlyOnTwistieClick,te)this.handleStickyScrollMouseEvent(B,$);else{if(re&&!Z&&B.browserEvent.detail!==2)return super.onViewPointer(B);if(!this.tree.expandOnDoubleClick&&B.browserEvent.detail===2)return super.onViewPointer(B)}if($.collapsible&&(!te||Z)){const le=this.tree.getNodeLocation($),me=B.browserEvent.altKey;if(this.tree.setFocus([le]),this.tree.toggleCollapsed(le,me),Z){B.browserEvent.isHandledByList=!0;return}}te||super.onViewPointer(B)}handleStickyScrollMouseEvent(B,$){if((0,b.isMonacoCustomToggle)(B.browserEvent.target)||(0,b.isActionItem)(B.browserEvent.target))return;const Q=this.stickyScrollProvider();if(!Q)throw new Error(\"Sticky scroll controller not found\");const Z=this.list.indexOf($),te=this.list.getElementTop(Z),re=Q.nodePositionTopBelowWidget($);this.tree.scrollTop=te-re,this.list.domFocus(),this.list.setFocus([Z]),this.list.setSelection([Z])}onDoubleClick(B){B.browserEvent.target.classList.contains(\"monaco-tl-twistie\")||!this.tree.expandOnDoubleClick||B.browserEvent.isHandledByList||super.onDoubleClick(B)}onMouseDown(B){const $=B.browserEvent.target;if(!(0,b.isStickyScrollContainer)($)&&!(0,b.isStickyScrollElement)($)){super.onMouseDown(B);return}}onContextMenu(B){const $=B.browserEvent.target;if(!(0,b.isStickyScrollContainer)($)&&!(0,b.isStickyScrollElement)($)){super.onContextMenu(B);return}}}class de extends b.List{constructor(B,$,Q,Z,te,re,le,me){super(B,$,Q,Z,me),this.focusTrait=te,this.selectionTrait=re,this.anchorTrait=le}createMouseController(B){return new ee(this,B.tree,B.stickyScrollProvider)}splice(B,$,Q=[]){if(super.splice(B,$,Q),Q.length===0)return;const Z=[],te=[];let re;Q.forEach((le,me)=>{this.focusTrait.has(le)&&Z.push(B+me),this.selectionTrait.has(le)&&te.push(B+me),this.anchorTrait.has(le)&&(re=B+me)}),Z.length>0&&super.setFocus((0,i.distinct)([...super.getFocus(),...Z])),te.length>0&&super.setSelection((0,i.distinct)([...super.getSelection(),...te])),typeof re==\"number\"&&super.setAnchor(re)}setFocus(B,$,Q=!1){super.setFocus(B,$),Q||this.focusTrait.set(B.map(Z=>this.element(Z)),$)}setSelection(B,$,Q=!1){super.setSelection(B,$),Q||this.selectionTrait.set(B.map(Z=>this.element(Z)),$)}setAnchor(B,$=!1){super.setAnchor(B),$||(typeof B>\"u\"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(B)]))}}class ge{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return a.Event.filter(a.Event.map(this.view.onMouseDblClick,ue),B=>B.target!==o.TreeMouseEventTarget.Filter)}get onMouseOver(){return a.Event.map(this.view.onMouseOver,ue)}get onMouseOut(){return a.Event.map(this.view.onMouseOut,ue)}get onContextMenu(){return a.Event.any(a.Event.filter(a.Event.map(this.view.onContextMenu,he),B=>!B.isStickyScroll),this.stickyScrollController?.onContextMenu??a.Event.None)}get onPointer(){return a.Event.map(this.view.onPointer,ue)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return a.Event.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){return this.findController?.mode??q.Highlight}set findMode(B){this.findController&&(this.findController.mode=B)}get findMatchType(){return this.findController?.matchType??H.Fuzzy}set findMatchType(B){this.findController&&(this.findController.matchType=B)}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>\"u\"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>\"u\"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(B,$,Q,Z,te={}){this._user=B,this._options=te,this.eventBufferer=new a.EventBufferer,this.onDidChangeFindOpenState=a.Event.None,this.onDidChangeStickyScrollFocused=a.Event.None,this.disposables=new u.DisposableStore,this._onWillRefilter=new a.Emitter,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new a.Emitter,this.treeDelegate=new A(Q);const re=new a.Relay,le=new a.Relay,me=this.disposables.add(new N(le.event)),Ce=new l.SetMap;this.renderers=Z.map(Ae=>new O(Ae,()=>this.model,re.event,me,Ce,te));for(const Ae of this.renderers)this.disposables.add(Ae);let ye;te.keyboardNavigationLabelProvider&&(ye=new F(this,te.keyboardNavigationLabelProvider,te.filter),te={...te,filter:ye},this.disposables.add(ye)),this.focus=new ae(()=>this.view.getFocusedElements()[0],te.identityProvider),this.selection=new ae(()=>this.view.getSelectedElements()[0],te.identityProvider),this.anchor=new ae(()=>this.view.getAnchorElement(),te.identityProvider),this.view=new de(B,$,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...M(()=>this.model,te),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(B,this.view,te),re.input=this.model.onDidChangeCollapseState;const Le=a.Event.forEach(this.model.onDidSplice,Ae=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(Ae),this.selection.onDidModelSplice(Ae)})},this.disposables);Le(()=>null,null,this.disposables);const Ee=this.disposables.add(new a.Emitter),Me=this.disposables.add(new s.Delayer(0));if(this.disposables.add(a.Event.any(Le,this.focus.onDidChange,this.selection.onDidChange)(()=>{Me.trigger(()=>{const Ae=new Set;for(const Ne of this.focus.getNodes())Ae.add(Ne);for(const Ne of this.selection.getNodes())Ae.add(Ne);Ee.fire([...Ae.values()])})})),le.input=Ee.event,te.keyboardSupport!==!1){const Ae=a.Event.chain(this.view.onKeyDown,Ne=>Ne.filter(Ke=>!(0,b.isInputElement)(Ke.target)).map(Ke=>new I.StandardKeyboardEvent(Ke)));a.Event.chain(Ae,Ne=>Ne.filter(Ke=>Ke.keyCode===15))(this.onLeftArrow,this,this.disposables),a.Event.chain(Ae,Ne=>Ne.filter(Ke=>Ke.keyCode===17))(this.onRightArrow,this,this.disposables),a.Event.chain(Ae,Ne=>Ne.filter(Ke=>Ke.keyCode===10))(this.onSpace,this,this.disposables)}if((te.findWidgetEnabled??!0)&&te.keyboardNavigationLabelProvider&&te.contextViewProvider){const Ae=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new U(this,this.model,this.view,ye,te.contextViewProvider,Ae),this.focusNavigationFilter=Ne=>this.findController.shouldAllowFocus(Ne),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=a.Event.None,this.onDidChangeFindMatchType=a.Event.None;te.enableStickyScroll&&(this.stickyScrollController=new R(this,this.model,this.view,this.renderers,this.treeDelegate,te),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=(0,d.createStyleSheet)(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle(\"always\",this._options.renderIndentGuides===P.Always)}updateOptions(B={}){this._options={...this._options,...B};for(const $ of this.renderers)$.updateOptions(B);this.view.updateOptions(this._options),this.findController?.updateOptions(B),this.updateStickyScroll(B),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle(\"always\",this._options.renderIndentGuides===P.Always)}get options(){return this._options}updateStickyScroll(B){!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new R(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=a.Event.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),this.stickyScrollController?.updateOptions(B)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(B){this.view.scrollTop=B}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(B){this.view.ariaLabel=B}domFocus(){this.stickyScrollController?.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(B,$){this.view.layout(B,$),(0,f.isNumber)($)&&this.findController?.layout($)}style(B){const $=`.${this.view.domId}`,Q=[];B.treeIndentGuidesStroke&&(Q.push(`.monaco-list${$}:hover .monaco-tl-indent > .indent-guide, .monaco-list${$}.always .monaco-tl-indent > .indent-guide  { border-color: ${B.treeInactiveIndentGuidesStroke}; }`),Q.push(`.monaco-list${$} .monaco-tl-indent > .indent-guide.active { border-color: ${B.treeIndentGuidesStroke}; }`));const Z=B.treeStickyScrollBackground??B.listBackground;Z&&(Q.push(`.monaco-list${$} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${Z}; }`),Q.push(`.monaco-list${$} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${Z}; }`)),B.treeStickyScrollBorder&&Q.push(`.monaco-list${$} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${B.treeStickyScrollBorder}; }`),B.treeStickyScrollShadow&&Q.push(`.monaco-list${$} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${B.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`),B.listFocusForeground&&(Q.push(`.monaco-list${$}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${B.listFocusForeground}; }`),Q.push(`.monaco-list${$}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const te=(0,d.asCssValueWithDefault)(B.listFocusAndSelectionOutline,(0,d.asCssValueWithDefault)(B.listSelectionOutline,B.listFocusOutline??\"\"));te&&(Q.push(`.monaco-list${$}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${te}; outline-offset: -1px;}`),Q.push(`.monaco-list${$}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),B.listFocusOutline&&(Q.push(`.monaco-list${$}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${B.listFocusOutline}; outline-offset: -1px; }`),Q.push(`.monaco-list${$}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),Q.push(`.monaco-workbench.context-menu-visible .monaco-list${$}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${B.listFocusOutline}; outline-offset: -1px; }`),Q.push(`.monaco-workbench.context-menu-visible .monaco-list${$}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),Q.push(`.monaco-workbench.context-menu-visible .monaco-list${$}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=Q.join(`\n`),this.view.style(B)}getParentElement(B){const $=this.model.getParentNodeLocation(B);return this.model.getNode($).element}getFirstElementChild(B){return this.model.getFirstElementChild(B)}getNode(B){return this.model.getNode(B)}getNodeLocation(B){return this.model.getNodeLocation(B)}collapse(B,$=!1){return this.model.setCollapsed(B,!0,$)}expand(B,$=!1){return this.model.setCollapsed(B,!1,$)}toggleCollapsed(B,$=!1){return this.model.setCollapsed(B,void 0,$)}isCollapsible(B){return this.model.isCollapsible(B)}setCollapsible(B,$){return this.model.setCollapsible(B,$)}isCollapsed(B){return this.model.isCollapsed(B)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(B,$){this.eventBufferer.bufferEvents(()=>{const Q=B.map(te=>this.model.getNode(te));this.selection.set(Q,$);const Z=B.map(te=>this.model.getListIndex(te)).filter(te=>te>-1);this.view.setSelection(Z,$,!0)})}getSelection(){return this.selection.get()}setFocus(B,$){this.eventBufferer.bufferEvents(()=>{const Q=B.map(te=>this.model.getNode(te));this.focus.set(Q,$);const Z=B.map(te=>this.model.getListIndex(te)).filter(te=>te>-1);this.view.setFocus(Z,$,!0)})}focusNext(B=1,$=!1,Q,Z=(0,d.isKeyboardEvent)(Q)&&Q.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(B,$,Q,Z)}focusPrevious(B=1,$=!1,Q,Z=(0,d.isKeyboardEvent)(Q)&&Q.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(B,$,Q,Z)}focusNextPage(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(B,$)}focusPreviousPage(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(B,$,()=>this.stickyScrollController?.height??0)}focusLast(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(B,$)}focusFirst(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(B,$)}getFocus(){return this.focus.get()}reveal(B,$){this.model.expandTo(B);const Q=this.model.getListIndex(B);if(Q!==-1)if(!this.stickyScrollController)this.view.reveal(Q,$);else{const Z=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(B));this.view.reveal(Q,$,Z)}}onLeftArrow(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Q=$[0],Z=this.model.getNodeLocation(Q);if(!this.model.setCollapsed(Z,!0)){const re=this.model.getParentNodeLocation(Z);if(!re)return;const le=this.model.getListIndex(re);this.view.reveal(le),this.view.setFocus([le])}}onRightArrow(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Q=$[0],Z=this.model.getNodeLocation(Q);if(!this.model.setCollapsed(Z,!1)){if(!Q.children.some(me=>me.visible))return;const[re]=this.view.getFocus(),le=re+1;this.view.reveal(le),this.view.setFocus([le])}}onSpace(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Q=$[0],Z=this.model.getNodeLocation(Q),te=B.browserEvent.altKey;this.model.setCollapsed(Z,void 0,te)}dispose(){(0,u.dispose)(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose()}}e.AbstractTree=ge}),define(ne[644],se([1,0,176,250]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DataTree=void 0;class I extends d.AbstractTree{constructor(y,m,_,b,p,n={}){super(y,m,_,b,n),this.user=y,this.dataSource=p,this.identityProvider=n.identityProvider}createModel(y,m,_){return new k.ObjectTreeModel(y,m,_)}}e.DataTree=I}),define(ne[360],se([1,0,176,627,250,126,53]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CompressibleObjectTree=e.ObjectTree=void 0;class m extends d.AbstractTree{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(t,i,s,g,c={}){super(t,i,s,g,c),this.user=t}setChildren(t,i=y.Iterable.empty(),s){this.model.setChildren(t,i,s)}rerender(t){if(t===void 0){this.view.rerender();return}this.model.rerender(t)}hasElement(t){return this.model.has(t)}createModel(t,i,s){return new I.ObjectTreeModel(t,i,s)}}e.ObjectTree=m;class _{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(t,i,s){this._compressedTreeNodeProvider=t,this.stickyScrollDelegate=i,this.renderer=s,this.templateId=s.templateId,s.onDidChangeTwistieState&&(this.onDidChangeTwistieState=s.onDidChangeTwistieState)}renderTemplate(t){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(t)}}renderElement(t,i,s,g){let c=this.stickyScrollDelegate.getCompressedNode(t);c||(c=this.compressedTreeNodeProvider.getCompressedTreeNode(t.element)),c.element.elements.length===1?(s.compressedTreeNode=void 0,this.renderer.renderElement(t,i,s.data,g)):(s.compressedTreeNode=c,this.renderer.renderCompressedElements(c,i,s.data,g))}disposeElement(t,i,s,g){s.compressedTreeNode?this.renderer.disposeCompressedElements?.(s.compressedTreeNode,i,s.data,g):this.renderer.disposeElement?.(t,i,s.data,g)}disposeTemplate(t){this.renderer.disposeTemplate(t.data)}renderTwistie(t,i){return this.renderer.renderTwistie?this.renderer.renderTwistie(t,i):!1}}ke([E.memoize],_.prototype,\"compressedTreeNodeProvider\",null);class b{constructor(t){this.modelProvider=t,this.compressedStickyNodes=new Map}getCompressedNode(t){return this.compressedStickyNodes.get(t)}constrainStickyScrollNodes(t,i,s){if(this.compressedStickyNodes.clear(),t.length===0)return[];for(let g=0;g<t.length;g++){const c=t[g],l=c.position+c.height;if(g+1<t.length&&l+t[g+1].height>s||g>=i-1&&i<t.length){const r=t.slice(0,g),u=t.slice(g),C=this.compressStickyNodes(u);return[...r,C]}}return t}compressStickyNodes(t){if(t.length===0)throw new Error(\"Can't compress empty sticky nodes\");const i=this.modelProvider();if(!i.isCompressionEnabled())return t[0];const s=[];for(let u=0;u<t.length;u++){const C=t[u],f=i.getCompressedTreeNode(C.node.element);if(f.element){if(u!==0&&f.element.incompressible)break;s.push(...f.element.elements)}}if(s.length<2)return t[0];const g=t[t.length-1],c={elements:s,incompressible:!1},l={...g.node,children:[],element:c},a=new Proxy(t[0].node,{}),r={node:a,startIndex:t[0].startIndex,endIndex:g.endIndex,position:t[0].position,height:t[0].height};return this.compressedStickyNodes.set(a,l),r}}function p(o,t){return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(i){let s;try{s=o().getCompressedTreeNode(i)}catch{return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i)}return s.element.elements.length===1?t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i):t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(s.element.elements)}}}}class n extends m{constructor(t,i,s,g,c={}){const l=()=>this,a=new b(()=>this.model),r=g.map(u=>new _(l,a,u));super(t,i,s,r,{...p(l,c),stickyScrollDelegate:a})}setChildren(t,i=y.Iterable.empty(),s){this.model.setChildren(t,i,s)}createModel(t,i,s){return new k.CompressibleObjectTreeModel(t,i,s)}updateOptions(t={}){super.updateOptions(t),typeof t.compressionEnabled<\"u\"&&this.model.setCompressionEnabled(t.compressionEnabled)}getCompressedTreeNode(t=null){return this.model.getCompressedTreeNode(t)}}e.CompressibleObjectTree=n}),define(ne[645],se([1,0,257,176,249,360,159,14,26,30,8,6,53,2,19]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CompressibleAsyncDataTree=e.AsyncDataTree=void 0;function s(P){return{...P,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function g(P,N){return N.parent?N.parent===P?!0:g(P,N.parent):!1}function c(P,N){return P===N||g(P,N)||g(N,P)}class l{get element(){return this.node.element.element}get children(){return this.node.children.map(N=>new l(N))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(N){this.node=N}}class a{constructor(N,O,F){this.renderer=N,this.nodeMapper=O,this.onDidChangeTwistieState=F,this.renderedNodes=new Map,this.templateId=N.templateId}renderTemplate(N){return{templateData:this.renderer.renderTemplate(N)}}renderElement(N,O,F,x){this.renderer.renderElement(this.nodeMapper.map(N),O,F.templateData,x)}renderTwistie(N,O){return N.slow?(O.classList.add(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!0):(O.classList.remove(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!1)}disposeElement(N,O,F,x){this.renderer.disposeElement?.(this.nodeMapper.map(N),O,F.templateData,x)}disposeTemplate(N){this.renderer.disposeTemplate(N.templateData)}dispose(){this.renderedNodes.clear()}}function r(P){return{browserEvent:P.browserEvent,elements:P.elements.map(N=>N.element)}}function u(P){return{browserEvent:P.browserEvent,element:P.element&&P.element.element,target:P.target}}class C extends d.ElementsDragAndDropData{constructor(N){super(N.elements.map(O=>O.element)),this.data=N}}function f(P){return P instanceof d.ElementsDragAndDropData?new C(P):P}class h{constructor(N){this.dnd=N}getDragURI(N){return this.dnd.getDragURI(N.element)}getDragLabel(N,O){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(N.map(F=>F.element),O)}onDragStart(N,O){this.dnd.onDragStart?.(f(N),O)}onDragOver(N,O,F,x,W,V=!0){return this.dnd.onDragOver(f(N),O&&O.element,F,x,W)}drop(N,O,F,x,W){this.dnd.drop(f(N),O&&O.element,F,x,W)}onDragEnd(N){this.dnd.onDragEnd?.(N)}dispose(){this.dnd.dispose()}}function v(P){return P&&{...P,collapseByDefault:!0,identityProvider:P.identityProvider&&{getId(N){return P.identityProvider.getId(N.element)}},dnd:P.dnd&&new h(P.dnd),multipleSelectionController:P.multipleSelectionController&&{isSelectionSingleChangeEvent(N){return P.multipleSelectionController.isSelectionSingleChangeEvent({...N,element:N.element})},isSelectionRangeChangeEvent(N){return P.multipleSelectionController.isSelectionRangeChangeEvent({...N,element:N.element})}},accessibilityProvider:P.accessibilityProvider&&{...P.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:P.accessibilityProvider.getRole?N=>P.accessibilityProvider.getRole(N.element):()=>\"treeitem\",isChecked:P.accessibilityProvider.isChecked?N=>!!P.accessibilityProvider?.isChecked(N.element):void 0,getAriaLabel(N){return P.accessibilityProvider.getAriaLabel(N.element)},getWidgetAriaLabel(){return P.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:P.accessibilityProvider.getWidgetRole?()=>P.accessibilityProvider.getWidgetRole():()=>\"tree\",getAriaLevel:P.accessibilityProvider.getAriaLevel&&(N=>P.accessibilityProvider.getAriaLevel(N.element)),getActiveDescendantId:P.accessibilityProvider.getActiveDescendantId&&(N=>P.accessibilityProvider.getActiveDescendantId(N.element))},filter:P.filter&&{filter(N,O){return P.filter.filter(N.element,O)}},keyboardNavigationLabelProvider:P.keyboardNavigationLabelProvider&&{...P.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(N){return P.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(N.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof P.expandOnlyOnTwistieClick>\"u\"?void 0:typeof P.expandOnlyOnTwistieClick!=\"function\"?P.expandOnlyOnTwistieClick:N=>P.expandOnlyOnTwistieClick(N.element),defaultFindVisibility:N=>N.hasChildren&&N.stale?1:typeof P.defaultFindVisibility==\"number\"?P.defaultFindVisibility:typeof P.defaultFindVisibility>\"u\"?2:P.defaultFindVisibility(N.element)}}function w(P,N){N(P),P.children.forEach(O=>w(O,N))}class S{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return n.Event.map(this.tree.onDidChangeFocus,r)}get onDidChangeSelection(){return n.Event.map(this.tree.onDidChangeSelection,r)}get onMouseDblClick(){return n.Event.map(this.tree.onMouseDblClick,u)}get onPointer(){return n.Event.map(this.tree.onPointer,u)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(N,O,F,x,W,V={}){this.user=N,this.dataSource=W,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new n.Emitter,this._onDidChangeNodeSlowState=new n.Emitter,this.nodeMapper=new y.WeakMapper(q=>new l(q)),this.disposables=new t.DisposableStore,this.identityProvider=V.identityProvider,this.autoExpandSingleChildren=typeof V.autoExpandSingleChildren>\"u\"?!1:V.autoExpandSingleChildren,this.sorter=V.sorter,this.getDefaultCollapseState=q=>V.collapseByDefault?V.collapseByDefault(q)?y.ObjectTreeElementCollapseState.PreserveOrCollapsed:y.ObjectTreeElementCollapseState.PreserveOrExpanded:void 0,this.tree=this.createTree(N,O,F,x,V),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=s({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(N,O,F,x,W){const V=new k.ComposedTreeDelegate(F),q=x.map(z=>new a(z,this.nodeMapper,this._onDidChangeNodeSlowState.event)),H=v(W)||{};return new E.ObjectTree(N,O,V,q,H)}updateOptions(N={}){this.tree.updateOptions(N)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(N){this.tree.scrollTop=N}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(N,O){this.tree.layout(N,O)}style(N){this.tree.style(N)}getInput(){return this.root.element}async setInput(N,O){this.refreshPromises.forEach(x=>x.cancel()),this.refreshPromises.clear(),this.root.element=N;const F=O&&{viewState:O,focus:[],selection:[]};await this._updateChildren(N,!0,!1,F),F&&(this.tree.setFocus(F.focus),this.tree.setSelection(F.selection)),O&&typeof O.scrollTop==\"number\"&&(this.scrollTop=O.scrollTop)}async _updateChildren(N=this.root.element,O=!0,F=!1,x,W){if(typeof this.root.element>\"u\")throw new y.TreeError(this.user,\"Tree input not set\");this.root.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event));const V=this.getDataNode(N);if(await this.refreshAndRenderNode(V,O,x,W),F)try{this.tree.rerender(V)}catch{}}rerender(N){if(N===void 0||N===this.root.element){this.tree.rerender();return}const O=this.getDataNode(N);this.tree.rerender(O)}getNode(N=this.root.element){const O=this.getDataNode(N),F=this.tree.getNode(O===this.root?null:O);return this.nodeMapper.map(F)}collapse(N,O=!1){const F=this.getDataNode(N);return this.tree.collapse(F===this.root?null:F,O)}async expand(N,O=!1){if(typeof this.root.element>\"u\")throw new y.TreeError(this.user,\"Tree input not set\");this.root.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event));const F=this.getDataNode(N);if(this.tree.hasElement(F)&&!this.tree.isCollapsible(F)||(F.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event)),F!==this.root&&!F.refreshPromise&&!this.tree.isCollapsed(F)))return!1;const x=this.tree.expand(F===this.root?null:F,O);return F.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event)),x}setSelection(N,O){const F=N.map(x=>this.getDataNode(x));this.tree.setSelection(F,O)}getSelection(){return this.tree.getSelection().map(O=>O.element)}setFocus(N,O){const F=N.map(x=>this.getDataNode(x));this.tree.setFocus(F,O)}getFocus(){return this.tree.getFocus().map(O=>O.element)}reveal(N,O){this.tree.reveal(this.getDataNode(N),O)}getParentElement(N){const O=this.tree.getParentElement(this.getDataNode(N));return O&&O.element}getFirstElementChild(N=this.root.element){const O=this.getDataNode(N),F=this.tree.getFirstElementChild(O===this.root?null:O);return F&&F.element}getDataNode(N){const O=this.nodes.get(N===this.root.element?null:N);if(!O)throw new y.TreeError(this.user,`Data tree node not found: ${N}`);return O}async refreshAndRenderNode(N,O,F,x){await this.refreshNode(N,O,F),!this.disposables.isDisposed&&this.render(N,F,x)}async refreshNode(N,O,F){let x;if(this.subTreeRefreshPromises.forEach((W,V)=>{!x&&c(V,N)&&(x=W.then(()=>this.refreshNode(N,O,F)))}),x)return x;if(N!==this.root&&this.tree.getNode(N).collapsed){N.hasChildren=!!this.dataSource.hasChildren(N.element),N.stale=!0,this.setChildren(N,[],O,F);return}return this.doRefreshSubTree(N,O,F)}async doRefreshSubTree(N,O,F){let x;N.refreshPromise=new Promise(W=>x=W),this.subTreeRefreshPromises.set(N,N.refreshPromise),N.refreshPromise.finally(()=>{N.refreshPromise=void 0,this.subTreeRefreshPromises.delete(N)});try{const W=await this.doRefreshNode(N,O,F);N.stale=!1,await m.Promises.settled(W.map(V=>this.doRefreshSubTree(V,O,F)))}finally{x()}}async doRefreshNode(N,O,F){N.hasChildren=!!this.dataSource.hasChildren(N.element);let x;if(!N.hasChildren)x=Promise.resolve(o.Iterable.empty());else{const W=this.doGetChildren(N);if((0,i.isIterable)(W))x=Promise.resolve(W);else{const V=(0,m.timeout)(800);V.then(()=>{N.slow=!0,this._onDidChangeNodeSlowState.fire(N)},q=>null),x=W.finally(()=>V.cancel())}}try{const W=await x;return this.setChildren(N,W,O,F)}catch(W){if(N!==this.root&&this.tree.hasElement(N)&&this.tree.collapse(N),(0,p.isCancellationError)(W))return[];throw W}finally{N.slow&&(N.slow=!1,this._onDidChangeNodeSlowState.fire(N))}}doGetChildren(N){let O=this.refreshPromises.get(N);if(O)return O;const F=this.dataSource.getChildren(N.element);return(0,i.isIterable)(F)?this.processChildren(F):(O=(0,m.createCancelablePromise)(async()=>this.processChildren(await F)),this.refreshPromises.set(N,O),O.finally(()=>{this.refreshPromises.delete(N)}))}_onDidChangeCollapseState({node:N,deep:O}){N.element!==null&&!N.collapsed&&N.element.stale&&(O?this.collapse(N.element.element):this.refreshAndRenderNode(N.element,!1).catch(p.onUnexpectedError))}setChildren(N,O,F,x){const W=[...O];if(N.children.length===0&&W.length===0)return[];const V=new Map,q=new Map;for(const U of N.children)V.set(U.element,U),this.identityProvider&&q.set(U.id,{node:U,collapsed:this.tree.hasElement(U)&&this.tree.isCollapsed(U)});const H=[],z=W.map(U=>{const j=!!this.dataSource.hasChildren(U);if(!this.identityProvider){const R=s({element:U,parent:N,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(U)});return j&&R.defaultCollapseState===y.ObjectTreeElementCollapseState.PreserveOrExpanded&&H.push(R),R}const Y=this.identityProvider.getId(U).toString(),G=q.get(Y);if(G){const R=G.node;return V.delete(R.element),this.nodes.delete(R.element),this.nodes.set(U,R),R.element=U,R.hasChildren=j,F?G.collapsed?(R.children.forEach(J=>w(J,ie=>this.nodes.delete(ie.element))),R.children.splice(0,R.children.length),R.stale=!0):H.push(R):j&&!G.collapsed&&H.push(R),R}const K=s({element:U,parent:N,id:Y,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(U)});return x&&x.viewState.focus&&x.viewState.focus.indexOf(Y)>-1&&x.focus.push(K),x&&x.viewState.selection&&x.viewState.selection.indexOf(Y)>-1&&x.selection.push(K),(x&&x.viewState.expanded&&x.viewState.expanded.indexOf(Y)>-1||j&&K.defaultCollapseState===y.ObjectTreeElementCollapseState.PreserveOrExpanded)&&H.push(K),K});for(const U of V.values())w(U,j=>this.nodes.delete(j.element));for(const U of z)this.nodes.set(U.element,U);return N.children.splice(0,N.children.length,...z),N!==this.root&&this.autoExpandSingleChildren&&z.length===1&&H.length===0&&(z[0].forceExpanded=!0,H.push(z[0])),H}render(N,O,F){const x=N.children.map(V=>this.asTreeElement(V,O)),W=F&&{...F,diffIdentityProvider:F.diffIdentityProvider&&{getId(V){return F.diffIdentityProvider.getId(V.element)}}};this.tree.setChildren(N===this.root?null:N,x,W),N!==this.root&&this.tree.setCollapsible(N,N.hasChildren),this._onDidRender.fire()}asTreeElement(N,O){if(N.stale)return{element:N,collapsible:N.hasChildren,collapsed:!0};let F;return O&&O.viewState.expanded&&N.id&&O.viewState.expanded.indexOf(N.id)>-1?F=!1:N.forceExpanded?(F=!1,N.forceExpanded=!1):F=N.defaultCollapseState,{element:N,children:N.hasChildren?o.Iterable.map(N.children,x=>this.asTreeElement(x,O)):[],collapsible:N.hasChildren,collapsed:F}}processChildren(N){return this.sorter&&(N=[...N].sort(this.sorter.compare.bind(this.sorter))),N}dispose(){this.disposables.dispose(),this.tree.dispose()}}e.AsyncDataTree=S;class L{get element(){return{elements:this.node.element.elements.map(N=>N.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(N=>new L(N))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(N){this.node=N}}class D{constructor(N,O,F,x){this.renderer=N,this.nodeMapper=O,this.compressibleNodeMapperProvider=F,this.onDidChangeTwistieState=x,this.renderedNodes=new Map,this.disposables=[],this.templateId=N.templateId}renderTemplate(N){return{templateData:this.renderer.renderTemplate(N)}}renderElement(N,O,F,x){this.renderer.renderElement(this.nodeMapper.map(N),O,F.templateData,x)}renderCompressedElements(N,O,F,x){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(N),O,F.templateData,x)}renderTwistie(N,O){return N.slow?(O.classList.add(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!0):(O.classList.remove(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!1)}disposeElement(N,O,F,x){this.renderer.disposeElement?.(this.nodeMapper.map(N),O,F.templateData,x)}disposeCompressedElements(N,O,F,x){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(N),O,F.templateData,x)}disposeTemplate(N){this.renderer.disposeTemplate(N.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,t.dispose)(this.disposables)}}function T(P){const N=P&&v(P);return N&&{...N,keyboardNavigationLabelProvider:N.keyboardNavigationLabelProvider&&{...N.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(O){return P.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(O.map(F=>F.element))}}}}class M extends S{constructor(N,O,F,x,W,V,q={}){super(N,O,F,W,V,q),this.compressionDelegate=x,this.compressibleNodeMapper=new y.WeakMapper(H=>new L(H)),this.filter=q.filter}createTree(N,O,F,x,W){const V=new k.ComposedTreeDelegate(F),q=x.map(z=>new D(z,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),H=T(W)||{};return new E.CompressibleObjectTree(N,O,V,q,H)}asTreeElement(N,O){return{incompressible:this.compressionDelegate.isIncompressible(N.element),...super.asTreeElement(N,O)}}updateOptions(N={}){this.tree.updateOptions(N)}render(N,O,F){if(!this.identityProvider)return super.render(N,O);const x=G=>this.identityProvider.getId(G).toString(),W=G=>{const K=new Set;for(const R of G){const J=this.tree.getCompressedTreeNode(R===this.root?null:R);if(J.element)for(const ie of J.element.elements)K.add(x(ie.element))}return K},V=W(this.tree.getSelection()),q=W(this.tree.getFocus());super.render(N,O,F);const H=this.getSelection();let z=!1;const U=this.getFocus();let j=!1;const Y=G=>{const K=G.element;if(K)for(let R=0;R<K.elements.length;R++){const J=x(K.elements[R].element),ie=K.elements[K.elements.length-1].element;V.has(J)&&H.indexOf(ie)===-1&&(H.push(ie),z=!0),q.has(J)&&U.indexOf(ie)===-1&&(U.push(ie),j=!0)}G.children.forEach(Y)};Y(this.tree.getCompressedTreeNode(N===this.root?null:N)),z&&this.setSelection(H),j&&this.setFocus(U)}processChildren(N){return this.filter&&(N=o.Iterable.filter(N,O=>{const F=this.filter.filter(O,1),x=A(F);if(x===2)throw new Error(\"Recursive tree visibility not supported in async data compressed trees\");return x===1})),super.processChildren(N)}}e.CompressibleAsyncDataTree=M;function A(P){return typeof P==\"boolean\"?P?1:0:(0,I.isFilterResult)(P)?(0,I.getVisibleState)(P.visibility):(0,I.getVisibleState)(P)}}),define(ne[361],se([1,0,8,6,2,42,16,11]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SimpleWorkerServer=e.SimpleWorkerClient=void 0,e.logOnceWebWorkerWarning=o,e.create=f;const _=!1,b=\"default\",p=\"$initialize\";let n=!1;function o(h){y.isWeb&&(n||(n=!0,console.warn(\"Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq\")),console.warn(h.message))}class t{constructor(v,w,S,L,D){this.vsWorker=v,this.req=w,this.channel=S,this.method=L,this.args=D,this.type=0}}class i{constructor(v,w,S,L){this.vsWorker=v,this.seq=w,this.res=S,this.err=L,this.type=1}}class s{constructor(v,w,S,L,D){this.vsWorker=v,this.req=w,this.channel=S,this.eventName=L,this.arg=D,this.type=2}}class g{constructor(v,w,S){this.vsWorker=v,this.req=w,this.event=S,this.type=3}}class c{constructor(v,w){this.vsWorker=v,this.req=w,this.type=4}}class l{constructor(v){this._workerId=-1,this._handler=v,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(v){this._workerId=v}sendMessage(v,w,S){const L=String(++this._lastSentReq);return new Promise((D,T)=>{this._pendingReplies[L]={resolve:D,reject:T},this._send(new t(this._workerId,L,v,w,S))})}listen(v,w,S){let L=null;const D=new k.Emitter({onWillAddFirstListener:()=>{L=String(++this._lastSentReq),this._pendingEmitters.set(L,D),this._send(new s(this._workerId,L,v,w,S))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(L),this._send(new c(this._workerId,L)),L=null}});return D.event}handleMessage(v){!v||!v.vsWorker||this._workerId!==-1&&v.vsWorker!==this._workerId||this._handleMessage(v)}createProxyToRemoteChannel(v,w){const S={get:(L,D)=>(typeof D==\"string\"&&!L[D]&&(u(D)?L[D]=T=>this.listen(v,D,T):r(D)?L[D]=this.listen(v,D,void 0):D.charCodeAt(0)===36&&(L[D]=async(...T)=>(await w?.(),this.sendMessage(v,D,T)))),L[D])};return new Proxy(Object.create(null),S)}_handleMessage(v){switch(v.type){case 1:return this._handleReplyMessage(v);case 0:return this._handleRequestMessage(v);case 2:return this._handleSubscribeEventMessage(v);case 3:return this._handleEventMessage(v);case 4:return this._handleUnsubscribeEventMessage(v)}}_handleReplyMessage(v){if(!this._pendingReplies[v.seq]){console.warn(\"Got reply to unknown seq\");return}const w=this._pendingReplies[v.seq];if(delete this._pendingReplies[v.seq],v.err){let S=v.err;v.err.$isError&&(S=new Error,S.name=v.err.name,S.message=v.err.message,S.stack=v.err.stack),w.reject(S);return}w.resolve(v.res)}_handleRequestMessage(v){const w=v.req;this._handler.handleMessage(v.channel,v.method,v.args).then(L=>{this._send(new i(this._workerId,w,L,void 0))},L=>{L.detail instanceof Error&&(L.detail=(0,d.transformErrorForSerialization)(L.detail)),this._send(new i(this._workerId,w,void 0,(0,d.transformErrorForSerialization)(L)))})}_handleSubscribeEventMessage(v){const w=v.req,S=this._handler.handleEvent(v.channel,v.eventName,v.arg)(L=>{this._send(new g(this._workerId,w,L))});this._pendingEvents.set(w,S)}_handleEventMessage(v){if(!this._pendingEmitters.has(v.req)){console.warn(\"Got event for unknown req\");return}this._pendingEmitters.get(v.req).fire(v.event)}_handleUnsubscribeEventMessage(v){if(!this._pendingEvents.has(v.req)){console.warn(\"Got unsubscribe for unknown req\");return}this._pendingEvents.get(v.req).dispose(),this._pendingEvents.delete(v.req)}_send(v){const w=[];if(v.type===0)for(let S=0;S<v.args.length;S++)v.args[S]instanceof ArrayBuffer&&w.push(v.args[S]);else v.type===1&&v.res instanceof ArrayBuffer&&w.push(v.res);this._handler.sendMessage(v,w)}}class a extends I.Disposable{constructor(v,w){super(),this._localChannels=new Map,this._worker=this._register(v.create({amdModuleId:\"vs/base/common/worker/simpleWorker\",esmModuleLocation:w.esmModuleLocation,label:w.label},D=>{this._protocol.handleMessage(D)},D=>{(0,d.onUnexpectedError)(D)})),this._protocol=new l({sendMessage:(D,T)=>{this._worker.postMessage(D,T)},handleMessage:(D,T,M)=>this._handleMessage(D,T,M),handleEvent:(D,T,M)=>this._handleEvent(D,T,M)}),this._protocol.setWorkerId(this._worker.getId());let S=null;const L=globalThis.require;typeof L<\"u\"&&typeof L.getConfig==\"function\"?S=L.getConfig():typeof globalThis.requirejs<\"u\"&&(S=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(b,p,[this._worker.getId(),JSON.parse(JSON.stringify(S)),w.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(b,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(D=>{this._onError(\"Worker failed to load \"+w.amdModuleId,D)})}_handleMessage(v,w,S){const L=this._localChannels.get(v);if(!L)return Promise.reject(new Error(`Missing channel ${v} on main thread`));if(typeof L[w]!=\"function\")return Promise.reject(new Error(`Missing method ${w} on main thread channel ${v}`));try{return Promise.resolve(L[w].apply(L,S))}catch(D){return Promise.reject(D)}}_handleEvent(v,w,S){const L=this._localChannels.get(v);if(!L)throw new Error(`Missing channel ${v} on main thread`);if(u(w)){const D=L[w].call(L,S);if(typeof D!=\"function\")throw new Error(`Missing dynamic event ${w} on main thread channel ${v}.`);return D}if(r(w)){const D=L[w];if(typeof D!=\"function\")throw new Error(`Missing event ${w} on main thread channel ${v}.`);return D}throw new Error(`Malformed event name ${w}`)}setChannel(v,w){this._localChannels.set(v,w)}_onError(v,w){console.error(v),console.info(w)}}e.SimpleWorkerClient=a;function r(h){return h[0]===\"o\"&&h[1]===\"n\"&&m.isUpperAsciiLetter(h.charCodeAt(2))}function u(h){return/^onDynamic/.test(h)&&m.isUpperAsciiLetter(h.charCodeAt(9))}class C{constructor(v,w){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=w,this._requestHandler=null,this._protocol=new l({sendMessage:(S,L)=>{v(S,L)},handleMessage:(S,L,D)=>this._handleMessage(S,L,D),handleEvent:(S,L,D)=>this._handleEvent(S,L,D)})}onmessage(v){this._protocol.handleMessage(v)}_handleMessage(v,w,S){if(v===b&&w===p)return this.initialize(S[0],S[1],S[2]);const L=v===b?this._requestHandler:this._localChannels.get(v);if(!L)return Promise.reject(new Error(`Missing channel ${v} on worker thread`));if(typeof L[w]!=\"function\")return Promise.reject(new Error(`Missing method ${w} on worker thread channel ${v}`));try{return Promise.resolve(L[w].apply(L,S))}catch(D){return Promise.reject(D)}}_handleEvent(v,w,S){const L=v===b?this._requestHandler:this._localChannels.get(v);if(!L)throw new Error(`Missing channel ${v} on worker thread`);if(u(w)){const D=L[w].call(L,S);if(typeof D!=\"function\")throw new Error(`Missing dynamic event ${w} on request handler.`);return D}if(r(w)){const D=L[w];if(typeof D!=\"function\")throw new Error(`Missing event ${w} on request handler.`);return D}throw new Error(`Malformed event name ${w}`)}getChannel(v){if(!this._remoteChannels.has(v)){const w=this._protocol.createProxyToRemoteChannel(v);this._remoteChannels.set(v,w)}return this._remoteChannels.get(v)}async initialize(v,w,S){if(this._protocol.setWorkerId(v),this._requestHandlerFactory){this._requestHandler=this._requestHandlerFactory(this);return}if(w&&(typeof w.baseUrl<\"u\"&&delete w.baseUrl,typeof w.paths<\"u\"&&typeof w.paths.vs<\"u\"&&delete w.paths.vs,typeof w.trustedTypesPolicy<\"u\"&&delete w.trustedTypesPolicy,w.catchError=!0,globalThis.require.config(w)),_){const L=E.FileAccess.asBrowserUri(`${S}.js`).toString(!0);return new Promise((D,T)=>{oe([`${L}`],D,T)}).then(D=>{if(this._requestHandler=D.create(this),!this._requestHandler)throw new Error(\"No RequestHandler!\")})}return new Promise((L,D)=>{(globalThis.require||oe)([S],M=>{if(this._requestHandler=M.create(this),!this._requestHandler){D(new Error(\"No RequestHandler!\"));return}L()},D)})}}e.SimpleWorkerServer=C;function f(h){return new C(h,null)}}),define(ne[646],se([1,0,103,8,42,361,2,13,3]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WorkerDescriptor=void 0,e.createWebWorker=l;const b=!1;let p;typeof self==\"object\"&&self.constructor&&self.constructor.name===\"DedicatedWorkerGlobalScope\"&&globalThis.workerttPolicy!==void 0?p=globalThis.workerttPolicy:p=(0,d.createTrustedTypesPolicy)(\"defaultWorkerFactory\",{createScriptURL:a=>a});function n(a,r){const u=globalThis.MonacoEnvironment;if(u){if(typeof u.getWorker==\"function\")return u.getWorker(\"workerMain.js\",r);if(typeof u.getWorkerUrl==\"function\"){const C=u.getWorkerUrl(\"workerMain.js\",r);return new Worker(p?p.createScriptURL(C):C,{name:r,type:b?\"module\":void 0})}}if(typeof oe==\"function\"){const C=oe.toUrl(\"vs/base/worker/workerMain.js\"),f=\"vs/base/worker/defaultWorkerFactory.js\",h=oe.toUrl(f).slice(0,-f.length),v=o(r,C,h);return new Worker(p?p.createScriptURL(v):v,{name:r,type:b?\"module\":void 0})}if(a){const C=o(r,a.toString(!0)),f=new Worker(p?p.createScriptURL(C):C,{name:r,type:b?\"module\":void 0});return b?t(f):f}throw new Error(\"You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker\")}function o(a,r,u){const C=/^((http:)|(https:)|(file:)|(vscode-file:))/.test(r);if(!(C&&r.substring(0,globalThis.origin.length)!==globalThis.origin)){const h=r.lastIndexOf(\"?\"),v=r.lastIndexOf(\"#\",h),w=h>0?new URLSearchParams(r.substring(h+1,~v?v:void 0)):new URLSearchParams;I.COI.addSearchParam(w,!0,!0),w.toString()?r=`${r}?${w.toString()}#${a}`:r=`${r}#${a}`}!b&&!C&&(r=new URL(r,globalThis.origin).toString());const f=new Blob([(0,m.coalesce)([`/*${a}*/`,u?`globalThis.MonacoEnvironment = { baseUrl: '${u}' };`:void 0,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify((0,_.getNLSMessages)())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify((0,_.getNLSLanguage)())};`,`globalThis._VSCODE_FILE_ROOT = '${globalThis._VSCODE_FILE_ROOT}';`,\"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });\",\"globalThis.workerttPolicy = ttPolicy;\",b?`await import(ttPolicy?.createScriptURL('${r}') ?? '${r}');`:`importScripts(ttPolicy?.createScriptURL('${r}') ?? '${r}');`,b?\"globalThis.postMessage({ type: 'vscode-worker-ready' });\":void 0,`/*${a}*/`]).join(\"\")],{type:\"application/javascript\"});return URL.createObjectURL(f)}function t(a){return new Promise((r,u)=>{a.onmessage=function(C){C.data.type===\"vscode-worker-ready\"&&(a.onmessage=null,r(a))},a.onerror=u})}function i(a){return typeof a.then==\"function\"}class s extends y.Disposable{constructor(r,u,C,f,h,v){super(),this.id=C,this.label=f;const w=n(r,f);i(w)?this.worker=w:this.worker=Promise.resolve(w),this.postMessage(u,[]),this.worker.then(S=>{S.onmessage=function(L){h(L.data)},S.onmessageerror=v,typeof S.addEventListener==\"function\"&&S.addEventListener(\"error\",v)}),this._register((0,y.toDisposable)(()=>{this.worker?.then(S=>{S.onmessage=null,S.onmessageerror=null,S.removeEventListener(\"error\",v),S.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(r,u){this.worker?.then(C=>{try{C.postMessage(r,u)}catch(f){(0,k.onUnexpectedError)(f),(0,k.onUnexpectedError)(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:f}))}})}}class g{constructor(r,u){this.amdModuleId=r,this.label=u,this.esmModuleLocation=b?I.FileAccess.asBrowserUri(`${r}.esm.js`):void 0}}e.WorkerDescriptor=g;class c{static{this.LAST_WORKER_ID=0}constructor(){this._webWorkerFailedBeforeError=!1}create(r,u,C){const f=++c.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new s(r.esmModuleLocation,r.amdModuleId,f,r.label||\"anonymous\"+f,u,h=>{(0,E.logOnceWebWorkerWarning)(h),this._webWorkerFailedBeforeError=h,C(h)})}}function l(a,r){const u=typeof a==\"string\"?new g(a,r):a;return new E.SimpleWorkerClient(new c,u)}}),define(ne[647],se([1,0,14,6,2,252,19]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InMemoryStorageDatabase=e.Storage=e.StorageState=e.StorageHint=void 0;var m;(function(n){n[n.STORAGE_DOES_NOT_EXIST=0]=\"STORAGE_DOES_NOT_EXIST\",n[n.STORAGE_IN_MEMORY=1]=\"STORAGE_IN_MEMORY\"})(m||(e.StorageHint=m={}));var _;(function(n){n[n.None=0]=\"None\",n[n.Initialized=1]=\"Initialized\",n[n.Closed=2]=\"Closed\"})(_||(e.StorageState=_={}));class b extends I.Disposable{static{this.DEFAULT_FLUSH_DELAY=100}constructor(o,t=Object.create(null)){super(),this.database=o,this.options=t,this._onDidChangeStorage=this._register(new k.PauseableEmitter),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=_.None,this.cache=new Map,this.flushDelayer=this._register(new d.ThrottledDelayer(b.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(o=>this.onDidChangeItemsExternal(o)))}onDidChangeItemsExternal(o){this._onDidChangeStorage.pause();try{o.changed?.forEach((t,i)=>this.acceptExternal(i,t)),o.deleted?.forEach(t=>this.acceptExternal(t,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(o,t){if(this.state===_.Closed)return;let i=!1;(0,y.isUndefinedOrNull)(t)?i=this.cache.delete(o):this.cache.get(o)!==t&&(this.cache.set(o,t),i=!0),i&&this._onDidChangeStorage.fire({key:o,external:!0})}get(o,t){const i=this.cache.get(o);return(0,y.isUndefinedOrNull)(i)?t:i}getBoolean(o,t){const i=this.get(o);return(0,y.isUndefinedOrNull)(i)?t:i===\"true\"}getNumber(o,t){const i=this.get(o);return(0,y.isUndefinedOrNull)(i)?t:parseInt(i,10)}async set(o,t,i=!1){if(this.state===_.Closed)return;if((0,y.isUndefinedOrNull)(t))return this.delete(o,i);const s=(0,y.isObject)(t)||Array.isArray(t)?(0,E.stringify)(t):String(t);if(this.cache.get(o)!==s)return this.cache.set(o,s),this.pendingInserts.set(o,s),this.pendingDeletes.delete(o),this._onDidChangeStorage.fire({key:o,external:i}),this.doFlush()}async delete(o,t=!1){if(!(this.state===_.Closed||!this.cache.delete(o)))return this.pendingDeletes.has(o)||this.pendingDeletes.add(o),this.pendingInserts.delete(o),this._onDidChangeStorage.fire({key:o,external:t}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const o={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(o).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async doFlush(o){return this.options.hint===m.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),o)}}e.Storage=b;class p{constructor(){this.onDidChangeItemsExternal=k.Event.None,this.items=new Map}async updateItems(o){o.insert?.forEach((t,i)=>this.items.set(i,t)),o.delete?.forEach(t=>this.items.delete(t))}}e.InMemoryStorageDatabase=p}),define(ne[362],se([1,0,2,6,5]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ElementSizeObserver=void 0;class E extends d.Disposable{constructor(m,_){super(),this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,this._referenceDomElement=m,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,_)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let m=null;const _=()=>{m?this.observe({width:m.width,height:m.height}):this.observe()};let b=!1,p=!1;const n=()=>{if(b&&!p)try{b=!1,p=!0,_()}finally{(0,I.scheduleAtNextAnimationFrame)((0,I.getWindow)(this._referenceDomElement),()=>{p=!1,n()})}};this._resizeObserver=new ResizeObserver(o=>{o&&o[0]&&o[0].contentRect?m={width:o[0].contentRect.width,height:o[0].contentRect.height}:m=null,b=!0,n()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(m){this.measureReferenceDomElement(!0,m)}measureReferenceDomElement(m,_){let b=0,p=0;_?(b=_.width,p=_.height):this._referenceDomElement&&(b=this._referenceDomElement.clientWidth,p=this._referenceDomElement.clientHeight),b=Math.max(5,b),p=Math.max(5,p),(this._width!==b||this._height!==p)&&(this._width=b,this._height=p,m&&this._onDidChange.fire())}}e.ElementSizeObserver=E}),define(ne[648],se([1,0,5,18,57,19,3]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ManagedHoverWidget=void 0;class m{constructor(b,p,n){this.hoverDelegate=b,this.target=p,this.fadeInAnimation=n}async update(b,p,n){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let o;if(b===void 0||(0,E.isString)(b)||(0,d.isHTMLElement)(b))o=b;else if(!(0,E.isFunction)(b.markdown))o=b.markdown??b.markdownNotSupportedFallback;else{this._hoverWidget||this.show((0,y.localize)(69,\"Loading...\"),p,n),this._cancellationTokenSource=new k.CancellationTokenSource;const t=this._cancellationTokenSource.token;if(o=await b.markdown(t),o===void 0&&(o=b.markdownNotSupportedFallback),this.isDisposed||t.isCancellationRequested)return}this.show(o,p,n)}show(b,p,n){const o=this._hoverWidget;if(this.hasContent(b)){const t={content:b,target:this.target,actions:n?.actions,linkHandler:n?.linkHandler,trapFocus:n?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement===\"element\",skipFadeInAnimation:!this.fadeInAnimation||!!o,showHoverHint:n?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(t,p)}o?.dispose()}hasContent(b){return b?(0,I.isMarkdownString)(b)?!!b.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}e.ManagedHoverWidget=m}),define(ne[649],se([1,0,5,39,56]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewContentWidgets=void 0;class E extends I.ViewPart{constructor(o,t){super(o),this._viewDomNode=t,this._widgets={},this.domNode=(0,k.createFastDomNode)(document.createElement(\"div\")),I.PartFingerprints.write(this.domNode,1),this.domNode.setClassName(\"contentWidgets\"),this.domNode.setPosition(\"absolute\"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=(0,k.createFastDomNode)(document.createElement(\"div\")),I.PartFingerprints.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName(\"overflowingContentWidgets\")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onConfigurationChanged(o);return!0}onDecorationsChanged(o){return!0}onFlushed(o){return!0}onLineMappingChanged(o){return this._updateAnchorsViewPositions(),!0}onLinesChanged(o){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(o){return this._updateAnchorsViewPositions(),!0}onLinesInserted(o){return this._updateAnchorsViewPositions(),!0}onScrollChanged(o){return!0}onZonesChanged(o){return!0}_updateAnchorsViewPositions(){const o=Object.keys(this._widgets);for(const t of o)this._widgets[t].updateAnchorViewPosition()}addWidget(o){const t=new y(this._context,this._viewDomNode,o);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(o,t,i,s,g){this._widgets[o.getId()].setPosition(t,i,s,g),this.setShouldRender()}removeWidget(o){const t=o.getId();if(this._widgets.hasOwnProperty(t)){const i=this._widgets[t];delete this._widgets[t];const s=i.domNode.domNode;s.remove(),s.removeAttribute(\"monaco-visible-content-widget\"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(o){return this._widgets.hasOwnProperty(o)?this._widgets[o].suppressMouseDown:!1}onBeforeRender(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onBeforeRender(o)}prepareRender(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].prepareRender(o)}render(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].render(o)}}e.ViewContentWidgets=E;class y{constructor(o,t,i){this._primaryAnchor=new m(null,null),this._secondaryAnchor=new m(null,null),this._context=o,this._viewDomNode=t,this._actual=i,this.domNode=(0,k.createFastDomNode)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const s=this._context.configuration.options,g=s.get(146);this._fixedOverflowWidgets=s.get(42),this._contentWidth=g.contentWidth,this._contentLeft=g.contentLeft,this._lineHeight=s.get(67),this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?\"fixed\":\"absolute\"),this.domNode.setDisplay(\"none\"),this.domNode.setVisibility(\"hidden\"),this.domNode.setAttribute(\"widgetId\",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(o){const t=this._context.configuration.options;if(this._lineHeight=t.get(67),o.hasChanged(146)){const i=t.get(146);this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(o,t,i){this._affinity=o,this._primaryAnchor=s(t,this._context.viewModel,this._affinity),this._secondaryAnchor=s(i,this._context.viewModel,this._affinity);function s(g,c,l){if(!g)return new m(null,null);const a=c.model.validatePosition(g);if(c.coordinatesConverter.modelPositionIsVisible(a)){const r=c.coordinatesConverter.convertModelPositionToViewPosition(a,l??void 0);return new m(g,r)}return new m(g,null)}}_getMaxWidth(){const o=this.domNode.domNode.ownerDocument,t=o.defaultView;return this.allowEditorOverflow?t?.innerWidth||o.documentElement.offsetWidth||o.body.offsetWidth:this._contentWidth}setPosition(o,t,i,s){this._setPosition(s,o,t),this._preference=i,this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?this.domNode.setDisplay(\"block\"):this.domNode.setDisplay(\"none\"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(o,t,i,s){const g=o.top,c=g,l=o.top+o.height,a=s.viewportHeight-l,r=g-i,u=c>=i,C=l,f=a>=i;let h=o.left;return h+t>s.scrollLeft+s.viewportWidth&&(h=s.scrollLeft+s.viewportWidth-t),h<s.scrollLeft&&(h=s.scrollLeft),{fitsAbove:u,aboveTop:r,fitsBelow:f,belowTop:C,left:h}}_layoutHorizontalSegmentInPage(o,t,i,s){const l=Math.max(15,t.left-s),a=Math.min(t.left+t.width+s,o.width-15),u=this._viewDomNode.domNode.ownerDocument.defaultView;let C=t.left+i-(u?.scrollX??0);if(C+s>a){const f=C-(a-s);C-=f,i-=f}if(C<l){const f=C-l;C-=f,i-=f}return[i,C]}_layoutBoxInPage(o,t,i,s){const g=o.top-i,c=o.top+o.height,l=d.getDomNodePagePosition(this._viewDomNode.domNode),a=this._viewDomNode.domNode.ownerDocument,r=a.defaultView,u=l.top+g-(r?.scrollY??0),C=l.top+c-(r?.scrollY??0),f=d.getClientArea(a.body),[h,v]=this._layoutHorizontalSegmentInPage(f,l,o.left-s.scrollLeft+this._contentLeft,t),w=22,S=22,L=u>=w,D=C+i<=f.height-S;return this._fixedOverflowWidgets?{fitsAbove:L,aboveTop:Math.max(u,w),fitsBelow:D,belowTop:C,left:v}:{fitsAbove:L,aboveTop:g,fitsBelow:D,belowTop:c,left:h}}_prepareRenderWidgetAtExactPositionOverflowing(o){return new _(o.top,o.left+this._contentLeft)}_getAnchorsCoordinates(o){const t=g(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),i=this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,s=g(i,this._affinity,this._lineHeight);return{primary:t,secondary:s};function g(c,l,a){if(!c)return null;const r=o.visibleRangeForPosition(c);if(!r)return null;const u=c.column===1&&l===3?0:r.left,C=o.getVerticalOffsetForLineNumber(c.lineNumber)-o.scrollTop;return new b(C,u,a)}}_reduceAnchorCoordinates(o,t,i){if(!t)return o;const s=this._context.configuration.options.get(50);let g=t.left;return g<o.left?g=Math.max(g,o.left-i+s.typicalFullwidthCharacterWidth):g=Math.min(g,o.left+i-s.typicalFullwidthCharacterWidth),new b(o.top,g,o.height)}_prepareRenderWidget(o){if(!this._preference||this._preference.length===0)return null;const{primary:t,secondary:i}=this._getAnchorsCoordinates(o);if(!t)return{kind:\"offViewport\",preserveFocus:this.domNode.domNode.contains(this.domNode.domNode.ownerDocument.activeElement)};if(this._cachedDomNodeOffsetWidth===-1||this._cachedDomNodeOffsetHeight===-1){let c=null;if(typeof this._actual.beforeRender==\"function\"&&(c=p(this._actual.beforeRender,this._actual)),c)this._cachedDomNodeOffsetWidth=c.width,this._cachedDomNodeOffsetHeight=c.height;else{const a=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(a.width),this._cachedDomNodeOffsetHeight=Math.round(a.height)}}const s=this._reduceAnchorCoordinates(t,i,this._cachedDomNodeOffsetWidth);let g;this.allowEditorOverflow?g=this._layoutBoxInPage(s,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,o):g=this._layoutBoxInViewport(s,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,o);for(let c=1;c<=2;c++)for(const l of this._preference)if(l===1){if(!g)return null;if(c===2||g.fitsAbove)return{kind:\"inViewport\",coordinate:new _(g.aboveTop,g.left),position:1}}else if(l===2){if(!g)return null;if(c===2||g.fitsBelow)return{kind:\"inViewport\",coordinate:new _(g.belowTop,g.left),position:2}}else return this.allowEditorOverflow?{kind:\"inViewport\",coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(new _(s.top,s.left)),position:0}:{kind:\"inViewport\",coordinate:new _(s.top,s.left),position:0};return null}onBeforeRender(o){!this._primaryAnchor.viewPosition||!this._preference||this._primaryAnchor.viewPosition.lineNumber<o.startLineNumber||this._primaryAnchor.viewPosition.lineNumber>o.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(o){this._renderData=this._prepareRenderWidget(o)}render(o){if(!this._renderData||this._renderData.kind===\"offViewport\"){this._isVisible&&(this.domNode.removeAttribute(\"monaco-visible-content-widget\"),this._isVisible=!1,this._renderData?.kind===\"offViewport\"&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility(\"hidden\")),typeof this._actual.afterRender==\"function\"&&p(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+o.scrollTop-o.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility(\"inherit\"),this.domNode.setAttribute(\"monaco-visible-content-widget\",\"true\"),this._isVisible=!0),typeof this._actual.afterRender==\"function\"&&p(this._actual.afterRender,this._actual,this._renderData.position)}}class m{constructor(o,t){this.modelPosition=o,this.viewPosition=t}}class _{constructor(o,t){this.top=o,this.left=t,this._coordinateBrand=void 0}}class b{constructor(o,t,i){this.top=o,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function p(n,o,...t){try{return n.call(o,...t)}catch{return null}}}),define(ne[650],se([1,0,39,56,5,492]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewOverlayWidgets=void 0;class E extends k.ViewPart{constructor(m,_){super(m),this._viewDomNode=_;const p=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=p.verticalScrollbarWidth,this._minimapWidth=p.minimap.minimapWidth,this._horizontalScrollbarHeight=p.horizontalScrollbarHeight,this._editorHeight=p.height,this._editorWidth=p.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=(0,d.createFastDomNode)(document.createElement(\"div\")),k.PartFingerprints.write(this._domNode,4),this._domNode.setClassName(\"overlayWidgets\"),this.overflowingOverlayWidgetsDomNode=(0,d.createFastDomNode)(document.createElement(\"div\")),k.PartFingerprints.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName(\"overflowingOverlayWidgets\")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(m){const b=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=b.verticalScrollbarWidth,this._minimapWidth=b.minimap.minimapWidth,this._horizontalScrollbarHeight=b.horizontalScrollbarHeight,this._editorHeight=b.height,this._editorWidth=b.width,!0}addWidget(m){const _=(0,d.createFastDomNode)(m.getDomNode());this._widgets[m.getId()]={widget:m,preference:null,domNode:_},_.setPosition(\"absolute\"),_.setAttribute(\"widgetId\",m.getId()),m.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(_):this._domNode.appendChild(_),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(m,_){const b=this._widgets[m.getId()],p=_?_.preference:null,n=_?.stackOridinal;return b.preference===p&&b.stack===n?(this._updateMaxMinWidth(),!1):(b.preference=p,b.stack=n,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(m){const _=m.getId();if(this._widgets.hasOwnProperty(_)){const p=this._widgets[_].domNode.domNode;delete this._widgets[_],p.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let m=0;const _=Object.keys(this._widgets);for(let b=0,p=_.length;b<p;b++){const n=_[b],t=this._widgets[n].widget.getMinContentWidthInPx?.();typeof t<\"u\"&&(m=Math.max(m,t))}this._context.viewLayout.setOverlayWidgetsMinWidth(m)}_renderWidget(m,_){const b=m.domNode;if(m.preference===null){b.setTop(\"\");return}const p=2*this._verticalScrollbarWidth+this._minimapWidth;if(m.preference===0||m.preference===1){if(m.preference===1){const n=b.domNode.clientHeight;b.setTop(this._editorHeight-n-2*this._horizontalScrollbarHeight)}else b.setTop(0);m.stack!==void 0?(b.setTop(_[m.preference]),_[m.preference]+=b.domNode.clientWidth):b.setRight(p)}else if(m.preference===2)b.domNode.style.right=\"50%\",m.stack!==void 0?(b.setTop(_[2]),_[2]+=b.domNode.clientHeight):b.setTop(0);else{const{top:n,left:o}=m.preference;if(this._context.configuration.options.get(42)&&m.widget.allowEditorOverflow){const i=this._viewDomNodeRect;b.setTop(n+i.top),b.setLeft(o+i.left),b.setPosition(\"fixed\")}else b.setTop(n),b.setLeft(o),b.setPosition(\"absolute\")}}prepareRender(m){this._viewDomNodeRect=I.getDomNodePagePosition(this._viewDomNode.domNode)}render(m){this._domNode.setWidth(this._editorWidth);const _=Object.keys(this._widgets),b=Array.from({length:3},()=>0);_.sort((p,n)=>(this._widgets[p].stack||0)-(this._widgets[n].stack||0));for(let p=0,n=_.length;p<n;p++){const o=_[p];this._renderWidget(this._widgets[o],b)}}}e.ViewOverlayWidgets=E}),define(ne[651],se([1,0,5,8,2]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeEditorContributions=void 0;class E extends I.Disposable{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new I.DisposableMap),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(m,_,b){this._editor=m,this._instantiationService=b;for(const p of _){if(this._pending.has(p.id)){(0,k.onUnexpectedError)(new Error(`Cannot have two contributions with the same id ${p.id}`));continue}this._pending.set(p.id,p)}this._instantiateSome(0),this._register((0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register((0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register((0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const m={};for(const[_,b]of this._instances)typeof b.saveViewState==\"function\"&&(m[_]=b.saveViewState());return m}restoreViewState(m){for(const[_,b]of this._instances)typeof b.restoreViewState==\"function\"&&b.restoreViewState(m[_])}get(m){return this._instantiateById(m),this._instances.get(m)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return(0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(m){if(this._finishedInstantiation[m])return;this._finishedInstantiation[m]=!0;const _=this._findPendingContributionsByInstantiation(m);for(const b of _)this._instantiateById(b.id)}_findPendingContributionsByInstantiation(m){const _=[];for(const[,b]of this._pending)b.instantiation===m&&_.push(b);return _}_instantiateById(m){const _=this._pending.get(m);if(_){if(this._pending.delete(m),!this._instantiationService||!this._editor)throw new Error(\"Cannot instantiate contributions before being initialized!\");try{const b=this._instantiationService.createInstance(_.ctor,this._editor);this._instances.set(_.id,b),typeof b.restoreViewState==\"function\"&&_.instantiation!==0&&console.warn(`Editor contribution '${_.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(b){(0,k.onUnexpectedError)(b)}}}}e.CodeEditorContributions=E}),define(ne[363],se([1,0,173,2,21,65]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffEditorSash=e.SashLayout=void 0;class y{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(b,p){this._options=b,this.dimensions=p,this.sashLeft=(0,E.derivedWithSetter)(this,n=>{const o=this._sashRatio.read(n)??this._options.splitViewDefaultRatio.read(n);return this._computeSashLeft(o,n)},(n,o)=>{const t=this.dimensions.width.get();this._sashRatio.set(n/t,o)}),this._sashRatio=(0,I.observableValue)(this,void 0)}_computeSashLeft(b,p){const n=this.dimensions.width.read(p),o=Math.floor(this._options.splitViewDefaultRatio.read(p)*n),t=this._options.enableSplitViewResizing.read(p)?Math.floor(b*n):o,i=100;return n<=i*2?o:t<i?i:t>n-i?n-i:t}}e.SashLayout=y;class m extends k.Disposable{constructor(b,p,n,o,t,i){super(),this._domNode=b,this._dimensions=p,this._enabled=n,this._boundarySashes=o,this.sashLeft=t,this._resetSash=i,this._sash=this._register(new d.Sash(this._domNode,{getVerticalSashTop:s=>0,getVerticalSashLeft:s=>this.sashLeft.get(),getVerticalSashHeight:s=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(s=>{this.sashLeft.set(this._startSashPosition+(s.currentX-s.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register((0,I.autorun)(s=>{const g=this._boundarySashes.read(s);g&&(this._sash.orthogonalEndSash=g.bottom)})),this._register((0,I.autorun)(s=>{const g=this._enabled.read(s);this._sash.state=g?3:0,this.sashLeft.read(s),this._dimensions.height.read(s),this._sash.layout()}))}}e.DiffEditorSash=m}),define(ne[652],se([1,0,5,41,26,2,16,30,3]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineDiffDeletedCodeMargin=void 0;class b extends E.Disposable{get visibility(){return this._visibility}set visibility(n){this._visibility!==n&&(this._visibility=n,this._diffActions.style.visibility=n?\"visible\":\"hidden\")}constructor(n,o,t,i,s,g,c,l,a){super(),this._getViewZoneId=n,this._marginDomNode=o,this._modifiedEditor=t,this._diff=i,this._editor=s,this._viewLineCounts=g,this._originalTextModel=c,this._contextMenuService=l,this._clipboardService=a,this._visibility=!1,this._marginDomNode.style.zIndex=\"10\",this._diffActions=document.createElement(\"div\"),this._diffActions.className=m.ThemeIcon.asClassName(I.Codicon.lightBulb)+\" lightbulb-glyph\",this._diffActions.style.position=\"absolute\";const r=this._modifiedEditor.getOption(67);this._diffActions.style.right=\"0px\",this._diffActions.style.visibility=\"hidden\",this._diffActions.style.height=`${r}px`,this._diffActions.style.lineHeight=`${r}px`,this._marginDomNode.appendChild(this._diffActions);let u=0;const C=t.getOption(128)&&!y.isIOS,f=(h,v)=>{this._contextMenuService.showContextMenu({domForShadowRoot:C?t.getDomNode()??void 0:void 0,getAnchor:()=>({x:h,y:v}),getActions:()=>{const w=[],S=i.modified.isEmpty;return w.push(new k.Action(\"diff.clipboard.copyDeletedContent\",S?i.original.length>1?(0,_.localize)(99,\"Copy deleted lines\"):(0,_.localize)(100,\"Copy deleted line\"):i.original.length>1?(0,_.localize)(101,\"Copy changed lines\"):(0,_.localize)(102,\"Copy changed line\"),void 0,!0,async()=>{const D=this._originalTextModel.getValueInRange(i.original.toExclusiveRange());await this._clipboardService.writeText(D)})),i.original.length>1&&w.push(new k.Action(\"diff.clipboard.copyDeletedLineContent\",S?(0,_.localize)(103,\"Copy deleted line ({0})\",i.original.startLineNumber+u):(0,_.localize)(104,\"Copy changed line ({0})\",i.original.startLineNumber+u),void 0,!0,async()=>{let D=this._originalTextModel.getLineContent(i.original.startLineNumber+u);D===\"\"&&(D=this._originalTextModel.getEndOfLineSequence()===0?`\n`:`\\r\n`),await this._clipboardService.writeText(D)})),t.getOption(92)||w.push(new k.Action(\"diff.inline.revertChange\",(0,_.localize)(105,\"Revert this change\"),void 0,!0,async()=>{this._editor.revert(this._diff)})),w},autoSelectFirstItem:!0})};this._register((0,d.addStandardDisposableListener)(this._diffActions,\"mousedown\",h=>{if(!h.leftButton)return;const{top:v,height:w}=(0,d.getDomNodePagePosition)(this._diffActions),S=Math.floor(r/3);h.preventDefault(),f(h.posx,v+w+S)})),this._register(t.onMouseMove(h=>{(h.target.type===8||h.target.type===5)&&h.target.detail.viewZoneId===this._getViewZoneId()?(u=this._updateLightBulbPosition(this._marginDomNode,h.event.browserEvent.y,r),this.visibility=!0):this.visibility=!1})),this._register(t.onMouseDown(h=>{h.event.leftButton&&(h.target.type===8||h.target.type===5)&&h.target.detail.viewZoneId===this._getViewZoneId()&&(h.event.preventDefault(),u=this._updateLightBulbPosition(this._marginDomNode,h.event.browserEvent.y,r),f(h.event.posx,h.event.posy+r))}))}_updateLightBulbPosition(n,o,t){const{top:i}=(0,d.getDomNodePagePosition)(n),s=o-i,g=Math.floor(s/t),c=g*t;if(this._diffActions.style.top=`${c}px`,this._viewLineCounts){let l=0;for(let a=0;a<this._viewLineCounts.length;a++)if(l+=this._viewLineCounts[a],g<l)return a}return g}}e.InlineDiffDeletedCodeMargin=b}),define(ne[653],se([1,0,5,114,26,2,21,55,4,105,40,3]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RevertButton=e.RevertButtonsFeature=void 0;const o=[];class t extends E.Disposable{constructor(g,c,l,a){super(),this._editors=g,this._diffModel=c,this._options=l,this._widget=a,this._selectedDiffs=(0,y.derived)(this,r=>{const C=this._diffModel.read(r)?.diff.read(r);if(!C)return o;const f=this._editors.modifiedSelections.read(r);if(f.every(S=>S.isEmpty()))return o;const h=new m.LineRangeSet(f.map(S=>m.LineRange.fromRangeInclusive(S))),w=C.mappings.filter(S=>S.lineRangeMapping.innerChanges&&h.intersects(S.lineRangeMapping.modified)).map(S=>({mapping:S,rangeMappings:S.lineRangeMapping.innerChanges.filter(L=>f.some(D=>_.Range.areIntersecting(L.modifiedRange,D)))}));return w.length===0||w.every(S=>S.rangeMappings.length===0)?o:w}),this._register((0,y.autorunWithStore)((r,u)=>{if(!this._options.shouldRenderOldRevertArrows.read(r))return;const C=this._diffModel.read(r),f=C?.diff.read(r);if(!C||!f||C.movedTextToCompare.read(r))return;const h=[],v=this._selectedDiffs.read(r),w=new Set(v.map(S=>S.mapping));if(v.length>0){const S=this._editors.modifiedSelections.read(r),L=u.add(new i(S[S.length-1].positionLineNumber,this._widget,v.flatMap(D=>D.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(L),h.push(L)}for(const S of f.mappings)if(!w.has(S)&&!S.lineRangeMapping.modified.isEmpty&&S.lineRangeMapping.innerChanges){const L=u.add(new i(S.lineRangeMapping.modified.startLineNumber,this._widget,S.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(L),h.push(L)}u.add((0,E.toDisposable)(()=>{for(const S of h)this._editors.modified.removeGlyphMarginWidget(S)}))}))}}e.RevertButtonsFeature=t;class i extends E.Disposable{static{this.counter=0}getId(){return this._id}constructor(g,c,l,a){super(),this._lineNumber=g,this._widget=c,this._diffs=l,this._revertSelection=a,this._id=`revertButton${i.counter++}`,this._domNode=(0,d.h)(\"div.revertButton\",{title:this._revertSelection?(0,n.localize)(122,\"Revert Selected Changes\"):(0,n.localize)(123,\"Revert Change\")},[(0,k.renderIcon)(I.Codicon.arrowRight)]).root,this._register((0,d.addDisposableListener)(this._domNode,d.EventType.MOUSE_DOWN,r=>{r.button!==2&&(r.stopPropagation(),r.preventDefault())})),this._register((0,d.addDisposableListener)(this._domNode,d.EventType.MOUSE_UP,r=>{r.stopPropagation(),r.preventDefault()})),this._register((0,d.addDisposableListener)(this._domNode,d.EventType.CLICK,r=>{this._diffs instanceof b.LineRangeMapping?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),r.stopPropagation(),r.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:p.GlyphMarginLane.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}e.RevertButton=i}),define(ne[88],se([1,0,67,18,2,21,362,9,4,113]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RefCounted=e.DisposableCancellationTokenSource=e.ManagedOverlayWidget=e.PlaceholderViewZone=e.ViewZoneOverlayWidget=e.ObservableElementSizeObserver=void 0,e.joinCombine=p,e.applyObservableDecorations=n,e.appendRemoveOnDispose=o,e.prependRemoveOnDispose=t,e.animatedObservable=s,e.applyStyle=r,e.applyViewZones=u,e.translatePosition=f,e.filterWithPrevious=v;function p(D,T,M,A){if(D.length===0)return T;if(T.length===0)return D;const P=[];let N=0,O=0;for(;N<D.length&&O<T.length;){const F=D[N],x=T[O],W=M(F),V=M(x);W<V?(P.push(F),N++):W>V?(P.push(x),O++):(P.push(A(F,x)),N++,O++)}for(;N<D.length;)P.push(D[N]),N++;for(;O<T.length;)P.push(T[O]),O++;return P}function n(D,T){const M=new I.DisposableStore,A=D.createDecorationsCollection();return M.add((0,E.autorunOpts)({debugName:()=>`Apply decorations from ${T.debugName}`},P=>{const N=T.read(P);A.set(N)})),M.add({dispose:()=>{A.clear()}}),M}function o(D,T){return D.appendChild(T),(0,I.toDisposable)(()=>{T.remove()})}function t(D,T){return D.prepend(T),(0,I.toDisposable)(()=>{T.remove()})}class i extends I.Disposable{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(T,M){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new y.ElementSizeObserver(T,M)),this._width=(0,E.observableValue)(this,this.elementSizeObserver.getWidth()),this._height=(0,E.observableValue)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(A=>(0,E.transaction)(P=>{this._width.set(this.elementSizeObserver.getWidth(),P),this._height.set(this.elementSizeObserver.getHeight(),P)})))}observe(T){this.elementSizeObserver.observe(T)}setAutomaticLayout(T){this._automaticLayout=T,T?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}e.ObservableElementSizeObserver=i;function s(D,T,M){let A=T.get(),P=A,N=A;const O=(0,E.observableValue)(\"animatedValue\",A);let F=-1;const x=300;let W;M.add((0,E.autorunHandleChanges)({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(q,H)=>(q.didChange(T)&&(H.animate=H.animate||q.change),!0)},(q,H)=>{W!==void 0&&(D.cancelAnimationFrame(W),W=void 0),P=N,A=T.read(q),F=Date.now()-(H.animate?0:x),V()}));function V(){const q=Date.now()-F;N=Math.floor(g(q,P,A-P,x)),q<x?W=D.requestAnimationFrame(V):N=A,O.set(N,void 0)}return O}function g(D,T,M,A){return D===A?T+M:M*(-Math.pow(2,-10*D/A)+1)+T}class c extends I.Disposable{constructor(T,M,A){super(),this._register(new a(T,A)),this._register(r(A,{height:M.actualHeight,top:M.actualTop}))}}e.ViewZoneOverlayWidget=c;class l{get afterLineNumber(){return this._afterLineNumber.get()}constructor(T,M){this._afterLineNumber=T,this.heightInPx=M,this.domNode=document.createElement(\"div\"),this._actualTop=(0,E.observableValue)(this,void 0),this._actualHeight=(0,E.observableValue)(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=A=>{this._actualTop.set(A,void 0)},this.onComputedHeight=A=>{this._actualHeight.set(A,void 0)}}}e.PlaceholderViewZone=l;class a{static{this._counter=0}constructor(T,M){this._editor=T,this._domElement=M,this._overlayWidgetId=`managedOverlayWidget-${a._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}e.ManagedOverlayWidget=a;function r(D,T){return(0,E.autorun)(M=>{for(let[A,P]of Object.entries(T))P&&typeof P==\"object\"&&\"read\"in P&&(P=P.read(M)),typeof P==\"number\"&&(P=`${P}px`),A=A.replace(/[A-Z]/g,N=>\"-\"+N.toLowerCase()),D.style[A]=P})}function u(D,T,M,A){const P=new I.DisposableStore,N=[];return P.add((0,E.autorunWithStore)((O,F)=>{const x=T.read(O),W=new Map,V=new Map;M&&M(!0),D.changeViewZones(q=>{for(const H of N)q.removeZone(H),A?.delete(H);N.length=0;for(const H of x){const z=q.addZone(H);H.setZoneId&&H.setZoneId(z),N.push(z),A?.add(z),W.set(H,z)}}),M&&M(!1),F.add((0,E.autorunHandleChanges)({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(q,H){const z=V.get(q.changedObservable);return z!==void 0&&H.zoneIds.push(z),!0}},(q,H)=>{for(const z of x)z.onChange&&(V.set(z.onChange,W.get(z)),z.onChange.read(q));M&&M(!0),D.changeViewZones(z=>{for(const U of H.zoneIds)z.layoutZone(U)}),M&&M(!1)}))})),P.add({dispose(){M&&M(!0),D.changeViewZones(O=>{for(const F of N)O.removeZone(F)}),A?.clear(),M&&M(!1)}}),P}class C extends k.CancellationTokenSource{dispose(){super.dispose(!0)}}e.DisposableCancellationTokenSource=C;function f(D,T){const M=(0,d.findLast)(T,P=>P.original.startLineNumber<=D.lineNumber);if(!M)return _.Range.fromPositions(D);if(M.original.endLineNumberExclusive<=D.lineNumber){const P=D.lineNumber-M.original.endLineNumberExclusive+M.modified.endLineNumberExclusive;return _.Range.fromPositions(new m.Position(P,D.column))}if(!M.innerChanges)return _.Range.fromPositions(new m.Position(M.modified.startLineNumber,1));const A=(0,d.findLast)(M.innerChanges,P=>P.originalRange.getStartPosition().isBeforeOrEqual(D));if(!A){const P=D.lineNumber-M.original.startLineNumber+M.modified.startLineNumber;return _.Range.fromPositions(new m.Position(P,D.column))}if(A.originalRange.containsPosition(D))return A.modifiedRange;{const P=h(A.originalRange.getEndPosition(),D);return _.Range.fromPositions(P.addToPosition(A.modifiedRange.getEndPosition()))}}function h(D,T){return D.lineNumber===T.lineNumber?new b.TextLength(0,T.column-D.column):new b.TextLength(T.lineNumber-D.lineNumber,T.column-1)}function v(D,T){let M;return D.filter(A=>{const P=T(A,M);return M=A,P})}class w{static create(T,M=void 0){return new S(T,T,M)}static createWithDisposable(T,M,A=void 0){const P=new I.DisposableStore;return P.add(M),P.add(T),new S(T,P,A)}}e.RefCounted=w;class S extends w{constructor(T,M,A){super(),this.object=T,this._disposable=M,this._debugOwner=A,this._refCount=1,this._isDisposed=!1,this._owners=[],A&&this._addOwner(A)}_addOwner(T){T&&this._owners.push(T)}createNewRef(T){return this._refCount++,T&&this._addOwner(T),new L(this,T)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(T){if(this._refCount--,this._refCount===0&&this._disposable.dispose(),T){const M=this._owners.indexOf(T);M!==-1&&this._owners.splice(M,1)}}}class L extends w{constructor(T,M){super(),this._base=T,this._debugOwner=M,this._isDisposed=!1}get object(){return this._base.object}createNewRef(T){return this._base.createNewRef(T)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}}),define(ne[364],se([1,0,5,87,41,13,67,26,2,21,30,88,68,3]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MovedBlocksLinesFeature=void 0;class i extends _.Disposable{static{this.movedCodeBlockPadding=4}constructor(l,a,r,u,C){super(),this._rootElement=l,this._diffModel=a,this._originalEditorLayoutInfo=r,this._modifiedEditorLayoutInfo=u,this._editors=C,this._originalScrollTop=(0,b.observableFromEvent)(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,b.observableFromEvent)(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=(0,b.observableSignalFromEvent)(\"onDidChangeViewZones\",this._editors.modified.onDidChangeViewZones),this.width=(0,b.observableValue)(this,0),this._modifiedViewZonesChangedSignal=(0,b.observableSignalFromEvent)(\"modified.onDidChangeViewZones\",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,b.observableSignalFromEvent)(\"original.onDidChangeViewZones\",this._editors.original.onDidChangeViewZones),this._state=(0,b.derivedWithStore)(this,(S,L)=>{this._element.replaceChildren();const D=this._diffModel.read(S),T=D?.diff.read(S)?.movedTexts;if(!T||T.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(S);const M=this._originalEditorLayoutInfo.read(S),A=this._modifiedEditorLayoutInfo.read(S);if(!M||!A){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(S),this._originalViewZonesChangedSignal.read(S);const P=T.map(q=>{function H(ie,ue){const he=ue.getTopForLineNumber(ie.startLineNumber,!0),pe=ue.getTopForLineNumber(ie.endLineNumberExclusive,!0);return(he+pe)/2}const z=H(q.lineRangeMapping.original,this._editors.original),U=this._originalScrollTop.read(S),j=H(q.lineRangeMapping.modified,this._editors.modified),Y=this._modifiedScrollTop.read(S),G=z-U,K=j-Y,R=Math.min(z,j),J=Math.max(z,j);return{range:new o.OffsetRange(R,J),from:G,to:K,fromWithoutScroll:z,toWithoutScroll:j,move:q}});P.sort((0,E.tieBreakComparators)((0,E.compareBy)(q=>q.fromWithoutScroll>q.toWithoutScroll,E.booleanComparator),(0,E.compareBy)(q=>q.fromWithoutScroll>q.toWithoutScroll?q.fromWithoutScroll:-q.toWithoutScroll,E.numberComparator)));const N=s.compute(P.map(q=>q.range)),O=10,F=M.verticalScrollbarWidth,x=(N.getTrackCount()-1)*10+O*2,W=F+x+(A.contentLeft-i.movedCodeBlockPadding);let V=0;for(const q of P){const H=N.getTrack(V),z=F+O+H*10,U=15,j=15,Y=W,G=A.glyphMarginWidth+A.lineNumbersWidth,K=18,R=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");R.classList.add(\"arrow-rectangle\"),R.setAttribute(\"x\",`${Y-G}`),R.setAttribute(\"y\",`${q.to-K/2}`),R.setAttribute(\"width\",`${G}`),R.setAttribute(\"height\",`${K}`),this._element.appendChild(R);const J=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"),ie=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");ie.setAttribute(\"d\",`M 0 ${q.from} L ${z} ${q.from} L ${z} ${q.to} L ${Y-j} ${q.to}`),ie.setAttribute(\"fill\",\"none\"),J.appendChild(ie);const ue=document.createElementNS(\"http://www.w3.org/2000/svg\",\"polygon\");ue.classList.add(\"arrow\"),L.add((0,b.autorun)(he=>{ie.classList.toggle(\"currentMove\",q.move===D.activeMovedText.read(he)),ue.classList.toggle(\"currentMove\",q.move===D.activeMovedText.read(he))})),ue.setAttribute(\"points\",`${Y-j},${q.to-U/2} ${Y},${q.to} ${Y-j},${q.to+U/2}`),J.appendChild(ue),this._element.appendChild(J),V++}this.width.set(x,void 0)}),this._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this._element.setAttribute(\"class\",\"moved-blocks-lines\"),this._rootElement.appendChild(this._element),this._register((0,_.toDisposable)(()=>this._element.remove())),this._register((0,b.autorun)(S=>{const L=this._originalEditorLayoutInfo.read(S),D=this._modifiedEditorLayoutInfo.read(S);!L||!D||(this._element.style.left=`${L.width-L.verticalScrollbarWidth}px`,this._element.style.height=`${L.height}px`,this._element.style.width=`${L.verticalScrollbarWidth+L.contentLeft-i.movedCodeBlockPadding+this.width.read(S)}px`)})),this._register((0,b.recomputeInitiallyAndOnChange)(this._state));const f=(0,b.derived)(S=>{const D=this._diffModel.read(S)?.diff.read(S);return D?D.movedTexts.map(T=>({move:T,original:new n.PlaceholderViewZone((0,b.constObservable)(T.lineRangeMapping.original.startLineNumber-1),18),modified:new n.PlaceholderViewZone((0,b.constObservable)(T.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register((0,n.applyViewZones)(this._editors.original,f.map(S=>S.map(L=>L.original)))),this._register((0,n.applyViewZones)(this._editors.modified,f.map(S=>S.map(L=>L.modified)))),this._register((0,b.autorunWithStore)((S,L)=>{const D=f.read(S);for(const T of D)L.add(new g(this._editors.original,T.original,T.move,\"original\",this._diffModel.get())),L.add(new g(this._editors.modified,T.modified,T.move,\"modified\",this._diffModel.get()))}));const h=(0,b.observableSignalFromEvent)(\"original.onDidFocusEditorWidget\",S=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>S(void 0),0))),v=(0,b.observableSignalFromEvent)(\"modified.onDidFocusEditorWidget\",S=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>S(void 0),0)));let w=\"modified\";this._register((0,b.autorunHandleChanges)({createEmptyChangeSummary:()=>{},handleChange:(S,L)=>(S.didChange(h)&&(w=\"original\"),S.didChange(v)&&(w=\"modified\"),!0)},S=>{h.read(S),v.read(S);const L=this._diffModel.read(S);if(!L)return;const D=L.diff.read(S);let T;if(D&&w===\"original\"){const M=this._editors.originalCursor.read(S);M&&(T=D.movedTexts.find(A=>A.lineRangeMapping.original.contains(M.lineNumber)))}if(D&&w===\"modified\"){const M=this._editors.modifiedCursor.read(S);M&&(T=D.movedTexts.find(A=>A.lineRangeMapping.modified.contains(M.lineNumber)))}T!==L.movedTextToCompare.get()&&L.movedTextToCompare.set(void 0,void 0),L.setActiveMovedText(T)}))}}e.MovedBlocksLinesFeature=i;class s{static compute(l){const a=[],r=[];for(const u of l){let C=a.findIndex(f=>!f.intersectsStrict(u));C===-1&&(a.length>=6?C=(0,y.findMaxIdx)(a,(0,E.compareBy)(h=>h.intersectWithRangeLength(u),E.numberComparator)):(C=a.length,a.push(new o.OffsetRangeSet))),a[C].addRange(u),r.push(C)}return new s(a.length,r)}constructor(l,a){this._trackCount=l,this.trackPerLineIdx=a}getTrack(l){return this.trackPerLineIdx[l]}getTrackCount(){return this._trackCount}}class g extends n.ViewZoneOverlayWidget{constructor(l,a,r,u,C){const f=(0,d.h)(\"div.diff-hidden-lines-widget\");super(l,a,f.root),this._editor=l,this._move=r,this._kind=u,this._diffModel=C,this._nodes=(0,d.h)(\"div.diff-moved-code-block\",{style:{marginRight:\"4px\"}},[(0,d.h)(\"div.text-content@textContent\"),(0,d.h)(\"div.action-bar@actionBar\")]),f.root.appendChild(this._nodes.root);const h=(0,b.observableFromEvent)(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register((0,n.applyStyle)(this._nodes.root,{paddingRight:h.map(D=>D.verticalScrollbarWidth)}));let v;r.changes.length>0?v=this._kind===\"original\"?(0,t.localize)(118,\"Code moved with changes to line {0}-{1}\",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,t.localize)(119,\"Code moved with changes from line {0}-{1}\",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):v=this._kind===\"original\"?(0,t.localize)(120,\"Code moved to line {0}-{1}\",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,t.localize)(121,\"Code moved from line {0}-{1}\",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const w=this._register(new k.ActionBar(this._nodes.actionBar,{highlightToggledItems:!0})),S=new I.Action(\"\",v,\"\",!1);w.push(S,{icon:!1,label:!0});const L=new I.Action(\"\",\"Compare\",p.ThemeIcon.asClassName(m.Codicon.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===r?void 0:this._move,void 0)});this._register((0,b.autorun)(D=>{const T=this._diffModel.movedTextToCompare.read(D)===r;L.checked=T})),w.push(L,{icon:!1,label:!0})}}}),define(ne[654],se([1,0,5,2,21,55,68]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorGutter=void 0;class m extends k.Disposable{constructor(p,n,o){super(),this._editor=p,this._domNode=n,this.itemProvider=o,this.scrollTop=(0,I.observableFromEvent)(this,this._editor.onDidScrollChange,s=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(s=>s===0),this.modelAttached=(0,I.observableFromEvent)(this,this._editor.onDidChangeModel,s=>this._editor.hasModel()),this.editorOnDidChangeViewZones=(0,I.observableSignalFromEvent)(\"onDidChangeViewZones\",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,I.observableSignalFromEvent)(\"onDidContentSizeChange\",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,I.observableSignal)(\"domNodeSizeChanged\"),this.views=new Map,this._domNode.className=\"gutter monaco-editor\";const t=this._domNode.appendChild((0,d.h)(\"div.scroll-decoration\",{role:\"presentation\",ariaHidden:\"true\",style:{width:\"100%\"}}).root),i=new ResizeObserver(()=>{(0,I.transaction)(s=>{this.domNodeSizeChanged.trigger(s)})});i.observe(this._domNode),this._register((0,k.toDisposable)(()=>i.disconnect())),this._register((0,I.autorun)(s=>{t.className=this.isScrollTopZero.read(s)?\"\":\"scroll-decoration\"})),this._register((0,I.autorun)(s=>this.render(s)))}dispose(){super.dispose(),(0,d.reset)(this._domNode)}render(p){if(!this.modelAttached.read(p))return;this.domNodeSizeChanged.read(p),this.editorOnDidChangeViewZones.read(p),this.editorOnDidContentSizeChange.read(p);const n=this.scrollTop.read(p),o=this._editor.getVisibleRanges(),t=new Set(this.views.keys()),i=y.OffsetRange.ofStartAndLength(0,this._domNode.clientHeight);if(!i.isEmpty)for(const s of o){const g=new E.LineRange(s.startLineNumber,s.endLineNumber+1),c=this.itemProvider.getIntersectingGutterItems(g,p);(0,I.transaction)(l=>{for(const a of c){if(!a.range.intersect(g))continue;t.delete(a.id);let r=this.views.get(a.id);if(r)r.item.set(a,l);else{const h=document.createElement(\"div\");this._domNode.appendChild(h);const v=(0,I.observableValue)(\"item\",a),w=this.itemProvider.createView(v,h);r=new _(v,w,h),this.views.set(a.id,r)}const u=a.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(a.range.startLineNumber,!0)-n:this._editor.getBottomForLineNumber(a.range.startLineNumber-1,!1)-n,f=(a.range.endLineNumberExclusive===1?Math.max(u,this._editor.getTopForLineNumber(a.range.startLineNumber,!1)-n):Math.max(u,this._editor.getBottomForLineNumber(a.range.endLineNumberExclusive-1,!0)-n))-u;r.domNode.style.top=`${u}px`,r.domNode.style.height=`${f}px`,r.gutterItemView.layout(y.OffsetRange.ofStartAndLength(u,f),i)}})}for(const s of t){const g=this.views.get(s);g.gutterItemView.dispose(),g.domNode.remove(),this.views.delete(s)}}}e.EditorGutter=m;class _{constructor(p,n,o){this.item=p,this.gutterItemView=n,this.domNode=o}}}),define(ne[365],se([1,0,41]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ActionRunnerWithContext=void 0;class k extends d.ActionRunner{constructor(E){super(),this._getContext=E}runAction(E,y){const m=this._getContext();return super.runAction(E,m)}}e.ActionRunnerWithContext=k}),define(ne[37],se([1,0,13,60,16,197,147,3]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorOptions=e.editorOptionsRegistry=e.EDITOR_FONT_DEFAULTS=e.unicodeHighlightConfigKeys=e.inUntrustedWorkspace=e.ShowLightbulbIconMode=e.EditorLayoutInfoComputer=e.EditorFontVariations=e.EditorFontLigatures=e.TextEditorCursorStyle=e.ApplyUpdateResult=e.ComputeOptionsMemory=e.ConfigurationChangedEvent=e.MINIMAP_GUTTER_WIDTH=void 0,e.boolean=s,e.clampedInt=c,e.clampedFloat=a,e.stringSet=C,e.filterValidationDecorations=ge,e.MINIMAP_GUTTER_WIDTH=8;class _{constructor(fe){this._values=fe}hasChanged(fe){return this._values[fe]}}e.ConfigurationChangedEvent=_;class b{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}e.ComputeOptionsMemory=b;class p{constructor(fe,_e,xe,be){this.id=fe,this.name=_e,this.defaultValue=xe,this.schema=be}applyUpdate(fe,_e){return o(fe,_e)}compute(fe,_e,xe){return xe}}class n{constructor(fe,_e){this.newValue=fe,this.didChange=_e}}e.ApplyUpdateResult=n;function o(Fe,fe){if(typeof Fe!=\"object\"||typeof fe!=\"object\"||!Fe||!fe)return new n(fe,Fe!==fe);if(Array.isArray(Fe)||Array.isArray(fe)){const xe=Array.isArray(Fe)&&Array.isArray(fe)&&d.equals(Fe,fe);return new n(fe,!xe)}let _e=!1;for(const xe in fe)if(fe.hasOwnProperty(xe)){const be=o(Fe[xe],fe[xe]);be.didChange&&(Fe[xe]=be.newValue,_e=!0)}return new n(Fe,_e)}class t{constructor(fe){this.schema=void 0,this.id=fe,this.name=\"_never_\",this.defaultValue=void 0}applyUpdate(fe,_e){return o(fe,_e)}validate(fe){return this.defaultValue}}class i{constructor(fe,_e,xe,be){this.id=fe,this.name=_e,this.defaultValue=xe,this.schema=be}applyUpdate(fe,_e){return o(fe,_e)}validate(fe){return typeof fe>\"u\"?this.defaultValue:fe}compute(fe,_e,xe){return xe}}function s(Fe,fe){return typeof Fe>\"u\"?fe:Fe===\"false\"?!1:!!Fe}class g extends i{constructor(fe,_e,xe,be=void 0){typeof be<\"u\"&&(be.type=\"boolean\",be.default=xe),super(fe,_e,xe,be)}validate(fe){return s(fe,this.defaultValue)}}function c(Fe,fe,_e,xe){if(typeof Fe>\"u\")return fe;let be=parseInt(Fe,10);return isNaN(be)?fe:(be=Math.max(_e,be),be=Math.min(xe,be),be|0)}class l extends i{static clampedInt(fe,_e,xe,be){return c(fe,_e,xe,be)}constructor(fe,_e,xe,be,ve,we=void 0){typeof we<\"u\"&&(we.type=\"integer\",we.default=xe,we.minimum=be,we.maximum=ve),super(fe,_e,xe,we),this.minimum=be,this.maximum=ve}validate(fe){return l.clampedInt(fe,this.defaultValue,this.minimum,this.maximum)}}function a(Fe,fe,_e,xe){if(typeof Fe>\"u\")return fe;const be=r.float(Fe,fe);return r.clamp(be,_e,xe)}class r extends i{static clamp(fe,_e,xe){return fe<_e?_e:fe>xe?xe:fe}static float(fe,_e){if(typeof fe==\"number\")return fe;if(typeof fe>\"u\")return _e;const xe=parseFloat(fe);return isNaN(xe)?_e:xe}constructor(fe,_e,xe,be,ve){typeof ve<\"u\"&&(ve.type=\"number\",ve.default=xe),super(fe,_e,xe,ve),this.validationFn=be}validate(fe){return this.validationFn(r.float(fe,this.defaultValue))}}class u extends i{static string(fe,_e){return typeof fe!=\"string\"?_e:fe}constructor(fe,_e,xe,be=void 0){typeof be<\"u\"&&(be.type=\"string\",be.default=xe),super(fe,_e,xe,be)}validate(fe){return u.string(fe,this.defaultValue)}}function C(Fe,fe,_e,xe){return typeof Fe!=\"string\"?fe:xe&&Fe in xe?xe[Fe]:_e.indexOf(Fe)===-1?fe:Fe}class f extends i{constructor(fe,_e,xe,be,ve=void 0){typeof ve<\"u\"&&(ve.type=\"string\",ve.enum=be,ve.default=xe),super(fe,_e,xe,ve),this._allowedValues=be}validate(fe){return C(fe,this.defaultValue,this._allowedValues)}}class h extends p{constructor(fe,_e,xe,be,ve,we,Te=void 0){typeof Te<\"u\"&&(Te.type=\"string\",Te.enum=ve,Te.default=be),super(fe,_e,xe,Te),this._allowedValues=ve,this._convert=we}validate(fe){return typeof fe!=\"string\"?this.defaultValue:this._allowedValues.indexOf(fe)===-1?this.defaultValue:this._convert(fe)}}function v(Fe){switch(Fe){case\"none\":return 0;case\"keep\":return 1;case\"brackets\":return 2;case\"advanced\":return 3;case\"full\":return 4}}class w extends p{constructor(){super(2,\"accessibilitySupport\",0,{type:\"string\",enum:[\"auto\",\"on\",\"off\"],enumDescriptions:[m.localize(183,\"Use platform APIs to detect when a Screen Reader is attached.\"),m.localize(184,\"Optimize for usage with a Screen Reader.\"),m.localize(185,\"Assume a screen reader is not attached.\")],default:\"auto\",tags:[\"accessibility\"],description:m.localize(186,\"Controls if the UI should run in a mode where it is optimized for screen readers.\")})}validate(fe){switch(fe){case\"auto\":return 0;case\"off\":return 1;case\"on\":return 2}return this.defaultValue}compute(fe,_e,xe){return xe===0?fe.accessibilitySupport:xe}}class S extends p{constructor(){const fe={insertSpace:!0,ignoreEmptyLines:!0};super(23,\"comments\",fe,{\"editor.comments.insertSpace\":{type:\"boolean\",default:fe.insertSpace,description:m.localize(187,\"Controls whether a space character is inserted when commenting.\")},\"editor.comments.ignoreEmptyLines\":{type:\"boolean\",default:fe.ignoreEmptyLines,description:m.localize(188,\"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{insertSpace:s(_e.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:s(_e.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function L(Fe){switch(Fe){case\"blink\":return 1;case\"smooth\":return 2;case\"phase\":return 3;case\"expand\":return 4;case\"solid\":return 5}}var D;(function(Fe){Fe[Fe.Line=1]=\"Line\",Fe[Fe.Block=2]=\"Block\",Fe[Fe.Underline=3]=\"Underline\",Fe[Fe.LineThin=4]=\"LineThin\",Fe[Fe.BlockOutline=5]=\"BlockOutline\",Fe[Fe.UnderlineThin=6]=\"UnderlineThin\"})(D||(e.TextEditorCursorStyle=D={}));function T(Fe){switch(Fe){case\"line\":return D.Line;case\"block\":return D.Block;case\"underline\":return D.Underline;case\"line-thin\":return D.LineThin;case\"block-outline\":return D.BlockOutline;case\"underline-thin\":return D.UnderlineThin}}class M extends t{constructor(){super(143)}compute(fe,_e,xe){const be=[\"monaco-editor\"];return _e.get(39)&&be.push(_e.get(39)),fe.extraEditorClassName&&be.push(fe.extraEditorClassName),_e.get(74)===\"default\"?be.push(\"mouse-default\"):_e.get(74)===\"copy\"&&be.push(\"mouse-copy\"),_e.get(112)&&be.push(\"showUnused\"),_e.get(141)&&be.push(\"showDeprecated\"),be.join(\" \")}}class A extends g{constructor(){super(37,\"emptySelectionClipboard\",!0,{description:m.localize(189,\"Controls whether copying without a selection copies the current line.\")})}compute(fe,_e,xe){return xe&&fe.emptySelectionClipboard}}class P extends p{constructor(){const fe={cursorMoveOnType:!0,seedSearchStringFromSelection:\"always\",autoFindInSelection:\"never\",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,\"find\",fe,{\"editor.find.cursorMoveOnType\":{type:\"boolean\",default:fe.cursorMoveOnType,description:m.localize(190,\"Controls whether the cursor should jump to find matches while typing.\")},\"editor.find.seedSearchStringFromSelection\":{type:\"string\",enum:[\"never\",\"always\",\"selection\"],default:fe.seedSearchStringFromSelection,enumDescriptions:[m.localize(191,\"Never seed search string from the editor selection.\"),m.localize(192,\"Always seed search string from the editor selection, including word at cursor position.\"),m.localize(193,\"Only seed search string from the editor selection.\")],description:m.localize(194,\"Controls whether the search string in the Find Widget is seeded from the editor selection.\")},\"editor.find.autoFindInSelection\":{type:\"string\",enum:[\"never\",\"always\",\"multiline\"],default:fe.autoFindInSelection,enumDescriptions:[m.localize(195,\"Never turn on Find in Selection automatically (default).\"),m.localize(196,\"Always turn on Find in Selection automatically.\"),m.localize(197,\"Turn on Find in Selection automatically when multiple lines of content are selected.\")],description:m.localize(198,\"Controls the condition for turning on Find in Selection automatically.\")},\"editor.find.globalFindClipboard\":{type:\"boolean\",default:fe.globalFindClipboard,description:m.localize(199,\"Controls whether the Find Widget should read or modify the shared find clipboard on macOS.\"),included:I.isMacintosh},\"editor.find.addExtraSpaceOnTop\":{type:\"boolean\",default:fe.addExtraSpaceOnTop,description:m.localize(200,\"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.\")},\"editor.find.loop\":{type:\"boolean\",default:fe.loop,description:m.localize(201,\"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{cursorMoveOnType:s(_e.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof fe.seedSearchStringFromSelection==\"boolean\"?fe.seedSearchStringFromSelection?\"always\":\"never\":C(_e.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[\"never\",\"always\",\"selection\"]),autoFindInSelection:typeof fe.autoFindInSelection==\"boolean\"?fe.autoFindInSelection?\"always\":\"never\":C(_e.autoFindInSelection,this.defaultValue.autoFindInSelection,[\"never\",\"always\",\"multiline\"]),globalFindClipboard:s(_e.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:s(_e.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:s(_e.loop,this.defaultValue.loop)}}}class N extends p{static{this.OFF='\"liga\" off, \"calt\" off'}static{this.ON='\"liga\" on, \"calt\" on'}constructor(){super(51,\"fontLigatures\",N.OFF,{anyOf:[{type:\"boolean\",description:m.localize(202,\"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.\")},{type:\"string\",description:m.localize(203,\"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.\")}],description:m.localize(204,\"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.\"),default:!1})}validate(fe){return typeof fe>\"u\"?this.defaultValue:typeof fe==\"string\"?fe===\"false\"||fe.length===0?N.OFF:fe===\"true\"?N.ON:fe:fe?N.ON:N.OFF}}e.EditorFontLigatures=N;class O extends p{static{this.OFF=\"normal\"}static{this.TRANSLATE=\"translate\"}constructor(){super(54,\"fontVariations\",O.OFF,{anyOf:[{type:\"boolean\",description:m.localize(205,\"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.\")},{type:\"string\",description:m.localize(206,\"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.\")}],description:m.localize(207,\"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property.\"),default:!1})}validate(fe){return typeof fe>\"u\"?this.defaultValue:typeof fe==\"string\"?fe===\"false\"?O.OFF:fe===\"true\"?O.TRANSLATE:fe:fe?O.TRANSLATE:O.OFF}compute(fe,_e,xe){return fe.fontInfo.fontVariationSettings}}e.EditorFontVariations=O;class F extends t{constructor(){super(50)}compute(fe,_e,xe){return fe.fontInfo}}class x extends i{constructor(){super(52,\"fontSize\",e.EDITOR_FONT_DEFAULTS.fontSize,{type:\"number\",minimum:6,maximum:100,default:e.EDITOR_FONT_DEFAULTS.fontSize,description:m.localize(208,\"Controls the font size in pixels.\")})}validate(fe){const _e=r.float(fe,this.defaultValue);return _e===0?e.EDITOR_FONT_DEFAULTS.fontSize:r.clamp(_e,6,100)}compute(fe,_e,xe){return fe.fontInfo.fontSize}}class W extends p{static{this.SUGGESTION_VALUES=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(53,\"fontWeight\",e.EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:\"number\",minimum:W.MINIMUM_VALUE,maximum:W.MAXIMUM_VALUE,errorMessage:m.localize(209,'Only \"normal\" and \"bold\" keywords or numbers between 1 and 1000 are allowed.')},{type:\"string\",pattern:\"^(normal|bold|1000|[1-9][0-9]{0,2})$\"},{enum:W.SUGGESTION_VALUES}],default:e.EDITOR_FONT_DEFAULTS.fontWeight,description:m.localize(210,'Controls the font weight. Accepts \"normal\" and \"bold\" keywords or numbers between 1 and 1000.')})}validate(fe){return fe===\"normal\"||fe===\"bold\"?fe:String(l.clampedInt(fe,e.EDITOR_FONT_DEFAULTS.fontWeight,W.MINIMUM_VALUE,W.MAXIMUM_VALUE))}}class V extends p{constructor(){const fe={multiple:\"peek\",multipleDefinitions:\"peek\",multipleTypeDefinitions:\"peek\",multipleDeclarations:\"peek\",multipleImplementations:\"peek\",multipleReferences:\"peek\",multipleTests:\"peek\",alternativeDefinitionCommand:\"editor.action.goToReferences\",alternativeTypeDefinitionCommand:\"editor.action.goToReferences\",alternativeDeclarationCommand:\"editor.action.goToReferences\",alternativeImplementationCommand:\"\",alternativeReferenceCommand:\"\",alternativeTestsCommand:\"\"},_e={type:\"string\",enum:[\"peek\",\"gotoAndPeek\",\"goto\"],default:fe.multiple,enumDescriptions:[m.localize(211,\"Show Peek view of the results (default)\"),m.localize(212,\"Go to the primary result and show a Peek view\"),m.localize(213,\"Go to the primary result and enable Peek-less navigation to others\")]},xe=[\"\",\"editor.action.referenceSearch.trigger\",\"editor.action.goToReferences\",\"editor.action.peekImplementation\",\"editor.action.goToImplementation\",\"editor.action.peekTypeDefinition\",\"editor.action.goToTypeDefinition\",\"editor.action.peekDeclaration\",\"editor.action.revealDeclaration\",\"editor.action.peekDefinition\",\"editor.action.revealDefinitionAside\",\"editor.action.revealDefinition\"];super(58,\"gotoLocation\",fe,{\"editor.gotoLocation.multiple\":{deprecationMessage:m.localize(214,\"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.\")},\"editor.gotoLocation.multipleDefinitions\":{description:m.localize(215,\"Controls the behavior the 'Go to Definition'-command when multiple target locations exist.\"),..._e},\"editor.gotoLocation.multipleTypeDefinitions\":{description:m.localize(216,\"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.\"),..._e},\"editor.gotoLocation.multipleDeclarations\":{description:m.localize(217,\"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.\"),..._e},\"editor.gotoLocation.multipleImplementations\":{description:m.localize(218,\"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.\"),..._e},\"editor.gotoLocation.multipleReferences\":{description:m.localize(219,\"Controls the behavior the 'Go to References'-command when multiple target locations exist.\"),..._e},\"editor.gotoLocation.alternativeDefinitionCommand\":{type:\"string\",default:fe.alternativeDefinitionCommand,enum:xe,description:m.localize(220,\"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.\")},\"editor.gotoLocation.alternativeTypeDefinitionCommand\":{type:\"string\",default:fe.alternativeTypeDefinitionCommand,enum:xe,description:m.localize(221,\"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.\")},\"editor.gotoLocation.alternativeDeclarationCommand\":{type:\"string\",default:fe.alternativeDeclarationCommand,enum:xe,description:m.localize(222,\"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.\")},\"editor.gotoLocation.alternativeImplementationCommand\":{type:\"string\",default:fe.alternativeImplementationCommand,enum:xe,description:m.localize(223,\"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.\")},\"editor.gotoLocation.alternativeReferenceCommand\":{type:\"string\",default:fe.alternativeReferenceCommand,enum:xe,description:m.localize(224,\"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{multiple:C(_e.multiple,this.defaultValue.multiple,[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleDefinitions:_e.multipleDefinitions??C(_e.multipleDefinitions,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleTypeDefinitions:_e.multipleTypeDefinitions??C(_e.multipleTypeDefinitions,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleDeclarations:_e.multipleDeclarations??C(_e.multipleDeclarations,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleImplementations:_e.multipleImplementations??C(_e.multipleImplementations,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleReferences:_e.multipleReferences??C(_e.multipleReferences,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleTests:_e.multipleTests??C(_e.multipleTests,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),alternativeDefinitionCommand:u.string(_e.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:u.string(_e.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:u.string(_e.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:u.string(_e.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:u.string(_e.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:u.string(_e.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class q extends p{constructor(){const fe={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,\"hover\",fe,{\"editor.hover.enabled\":{type:\"boolean\",default:fe.enabled,description:m.localize(225,\"Controls whether the hover is shown.\")},\"editor.hover.delay\":{type:\"number\",default:fe.delay,minimum:0,maximum:1e4,description:m.localize(226,\"Controls the delay in milliseconds after which the hover is shown.\")},\"editor.hover.sticky\":{type:\"boolean\",default:fe.sticky,description:m.localize(227,\"Controls whether the hover should remain visible when mouse is moved over it.\")},\"editor.hover.hidingDelay\":{type:\"integer\",minimum:0,default:fe.hidingDelay,description:m.localize(228,\"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.\")},\"editor.hover.above\":{type:\"boolean\",default:fe.above,description:m.localize(229,\"Prefer showing hovers above the line, if there's space.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),delay:l.clampedInt(_e.delay,this.defaultValue.delay,0,1e4),sticky:s(_e.sticky,this.defaultValue.sticky),hidingDelay:l.clampedInt(_e.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:s(_e.above,this.defaultValue.above)}}}class H extends t{constructor(){super(146)}compute(fe,_e,xe){return H.computeLayout(_e,{memory:fe.memory,outerWidth:fe.outerWidth,outerHeight:fe.outerHeight,isDominatedByLongLines:fe.isDominatedByLongLines,lineHeight:fe.fontInfo.lineHeight,viewLineCount:fe.viewLineCount,lineNumbersDigitCount:fe.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:fe.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:fe.fontInfo.maxDigitWidth,pixelRatio:fe.pixelRatio,glyphMarginDecorationLaneCount:fe.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(fe){const _e=fe.height/fe.lineHeight,xe=Math.floor(fe.paddingTop/fe.lineHeight);let be=Math.floor(fe.paddingBottom/fe.lineHeight);fe.scrollBeyondLastLine&&(be=Math.max(be,_e-1));const ve=(xe+fe.viewLineCount+be)/(fe.pixelRatio*fe.height),we=Math.floor(fe.viewLineCount/ve);return{typicalViewportLineCount:_e,extraLinesBeforeFirstLine:xe,extraLinesBeyondLastLine:be,desiredRatio:ve,minimapLineCount:we}}static _computeMinimapLayout(fe,_e){const xe=fe.outerWidth,be=fe.outerHeight,ve=fe.pixelRatio;if(!fe.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(ve*be),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:be};const we=_e.stableMinimapLayoutInput,Te=we&&fe.outerHeight===we.outerHeight&&fe.lineHeight===we.lineHeight&&fe.typicalHalfwidthCharacterWidth===we.typicalHalfwidthCharacterWidth&&fe.pixelRatio===we.pixelRatio&&fe.scrollBeyondLastLine===we.scrollBeyondLastLine&&fe.paddingTop===we.paddingTop&&fe.paddingBottom===we.paddingBottom&&fe.minimap.enabled===we.minimap.enabled&&fe.minimap.side===we.minimap.side&&fe.minimap.size===we.minimap.size&&fe.minimap.showSlider===we.minimap.showSlider&&fe.minimap.renderCharacters===we.minimap.renderCharacters&&fe.minimap.maxColumn===we.minimap.maxColumn&&fe.minimap.scale===we.minimap.scale&&fe.verticalScrollbarWidth===we.verticalScrollbarWidth&&fe.isViewportWrapping===we.isViewportWrapping,Pe=fe.lineHeight,Be=fe.typicalHalfwidthCharacterWidth,He=fe.scrollBeyondLastLine,$e=fe.minimap.renderCharacters;let je=ve>=2?Math.round(fe.minimap.scale*2):fe.minimap.scale;const Xe=fe.minimap.maxColumn,et=fe.minimap.size,dt=fe.minimap.side,at=fe.verticalScrollbarWidth,st=fe.viewLineCount,pt=fe.remainingWidth,bt=fe.isViewportWrapping,De=$e?2:3;let Ie=Math.floor(ve*be);const Re=Ie/ve;let Se=!1,We=!1,qe=De*je,Ue=je/ve,Je=1;if(et===\"fill\"||et===\"fit\"){const{typicalViewportLineCount:Ve,extraLinesBeforeFirstLine:Ye,extraLinesBeyondLastLine:Ze,desiredRatio:nt,minimapLineCount:ct}=H.computeContainedMinimapLineCount({viewLineCount:st,scrollBeyondLastLine:He,paddingTop:fe.paddingTop,paddingBottom:fe.paddingBottom,height:be,lineHeight:Pe,pixelRatio:ve});if(st/ct>1)Se=!0,We=!0,je=1,qe=1,Ue=je/ve;else{let ft=!1,gt=je+1;if(et===\"fit\"){const mt=Math.ceil((Ye+st+Ze)*qe);bt&&Te&&pt<=_e.stableFitRemainingWidth?(ft=!0,gt=_e.stableFitMaxMinimapScale):ft=mt>Ie}if(et===\"fill\"||ft){Se=!0;const mt=je;qe=Math.min(Pe*ve,Math.max(1,Math.floor(1/nt))),bt&&Te&&pt<=_e.stableFitRemainingWidth&&(gt=_e.stableFitMaxMinimapScale),je=Math.min(gt,Math.max(1,Math.floor(qe/De))),je>mt&&(Je=Math.min(2,je/mt)),Ue=je/ve/Je,Ie=Math.ceil(Math.max(Ve,Ye+st+Ze)*qe),bt?(_e.stableMinimapLayoutInput=fe,_e.stableFitRemainingWidth=pt,_e.stableFitMaxMinimapScale=je):(_e.stableMinimapLayoutInput=null,_e.stableFitRemainingWidth=0)}}}const tt=Math.floor(Xe*Ue),Qe=Math.min(tt,Math.max(0,Math.floor((pt-at-2)*Ue/(Be+Ue)))+e.MINIMAP_GUTTER_WIDTH);let rt=Math.floor(ve*Qe);const Ct=rt/ve;rt=Math.floor(rt*Je);const ut=$e?1:2,ot=dt===\"left\"?0:xe-Qe-at;return{renderMinimap:ut,minimapLeft:ot,minimapWidth:Qe,minimapHeightIsEditorHeight:Se,minimapIsSampling:We,minimapScale:je,minimapLineHeight:qe,minimapCanvasInnerWidth:rt,minimapCanvasInnerHeight:Ie,minimapCanvasOuterWidth:Ct,minimapCanvasOuterHeight:Re}}static computeLayout(fe,_e){const xe=_e.outerWidth|0,be=_e.outerHeight|0,ve=_e.lineHeight|0,we=_e.lineNumbersDigitCount|0,Te=_e.typicalHalfwidthCharacterWidth,Pe=_e.maxDigitWidth,Be=_e.pixelRatio,He=_e.viewLineCount,$e=fe.get(138),je=$e===\"inherit\"?fe.get(137):$e,Xe=je===\"inherit\"?fe.get(133):je,et=fe.get(136),dt=_e.isDominatedByLongLines,at=fe.get(57),st=fe.get(68).renderType!==0,pt=fe.get(69),bt=fe.get(106),De=fe.get(84),Ie=fe.get(73),Re=fe.get(104),Se=Re.verticalScrollbarSize,We=Re.verticalHasArrows,qe=Re.arrowSize,Ue=Re.horizontalScrollbarSize,Je=fe.get(43),tt=fe.get(111)!==\"never\";let Qe=fe.get(66);Je&&tt&&(Qe+=16);let rt=0;if(st){const Dt=Math.max(we,pt);rt=Math.round(Dt*Pe)}let Ct=0;at&&(Ct=ve*_e.glyphMarginDecorationLaneCount);let ut=0,ot=ut+Ct,Ve=ot+rt,Ye=Ve+Qe;const Ze=xe-Ct-rt-Qe;let nt=!1,ct=!1,ht=-1;je===\"inherit\"&&dt?(nt=!0,ct=!0):Xe===\"on\"||Xe===\"bounded\"?ct=!0:Xe===\"wordWrapColumn\"&&(ht=et);const ft=H._computeMinimapLayout({outerWidth:xe,outerHeight:be,lineHeight:ve,typicalHalfwidthCharacterWidth:Te,pixelRatio:Be,scrollBeyondLastLine:bt,paddingTop:De.top,paddingBottom:De.bottom,minimap:Ie,verticalScrollbarWidth:Se,viewLineCount:He,remainingWidth:Ze,isViewportWrapping:ct},_e.memory||new b);ft.renderMinimap!==0&&ft.minimapLeft===0&&(ut+=ft.minimapWidth,ot+=ft.minimapWidth,Ve+=ft.minimapWidth,Ye+=ft.minimapWidth);const gt=Ze-ft.minimapWidth,mt=Math.max(1,Math.floor((gt-Se-2)/Te)),vt=We?qe:0;return ct&&(ht=Math.max(1,mt),Xe===\"bounded\"&&(ht=Math.min(ht,et))),{width:xe,height:be,glyphMarginLeft:ut,glyphMarginWidth:Ct,glyphMarginDecorationLaneCount:_e.glyphMarginDecorationLaneCount,lineNumbersLeft:ot,lineNumbersWidth:rt,decorationsLeft:Ve,decorationsWidth:Qe,contentLeft:Ye,contentWidth:gt,minimap:ft,viewportColumn:mt,isWordWrapMinified:nt,isViewportWrapping:ct,wrappingColumn:ht,verticalScrollbarWidth:Se,horizontalScrollbarHeight:Ue,overviewRuler:{top:vt,width:Se,height:be-2*vt,right:0}}}}e.EditorLayoutInfoComputer=H;class z extends p{constructor(){super(140,\"wrappingStrategy\",\"simple\",{\"editor.wrappingStrategy\":{enumDescriptions:[m.localize(230,\"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.\"),m.localize(231,\"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.\")],type:\"string\",enum:[\"simple\",\"advanced\"],default:\"simple\",description:m.localize(232,\"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.\")}})}validate(fe){return C(fe,\"simple\",[\"simple\",\"advanced\"])}compute(fe,_e,xe){return _e.get(2)===2?\"advanced\":xe}}var U;(function(Fe){Fe.Off=\"off\",Fe.OnCode=\"onCode\",Fe.On=\"on\"})(U||(e.ShowLightbulbIconMode=U={}));class j extends p{constructor(){const fe={enabled:U.OnCode};super(65,\"lightbulb\",fe,{\"editor.lightbulb.enabled\":{type:\"string\",tags:[\"experimental\"],enum:[U.Off,U.OnCode,U.On],default:fe.enabled,enumDescriptions:[m.localize(233,\"Disable the code action menu.\"),m.localize(234,\"Show the code action menu when the cursor is on lines with code.\"),m.localize(235,\"Show the code action menu when the cursor is on lines with code or on empty lines.\")],description:m.localize(236,\"Enables the Code Action lightbulb in the editor.\")}})}validate(fe){return!fe||typeof fe!=\"object\"?this.defaultValue:{enabled:C(fe.enabled,this.defaultValue.enabled,[U.Off,U.OnCode,U.On])}}}class Y extends p{constructor(){const fe={enabled:!0,maxLineCount:5,defaultModel:\"outlineModel\",scrollWithEditor:!0};super(116,\"stickyScroll\",fe,{\"editor.stickyScroll.enabled\":{type:\"boolean\",default:fe.enabled,description:m.localize(237,\"Shows the nested current scopes during the scroll at the top of the editor.\"),tags:[\"experimental\"]},\"editor.stickyScroll.maxLineCount\":{type:\"number\",default:fe.maxLineCount,minimum:1,maximum:20,description:m.localize(238,\"Defines the maximum number of sticky lines to show.\")},\"editor.stickyScroll.defaultModel\":{type:\"string\",enum:[\"outlineModel\",\"foldingProviderModel\",\"indentationModel\"],default:fe.defaultModel,description:m.localize(239,\"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.\")},\"editor.stickyScroll.scrollWithEditor\":{type:\"boolean\",default:fe.scrollWithEditor,description:m.localize(240,\"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),maxLineCount:l.clampedInt(_e.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:C(_e.defaultModel,this.defaultValue.defaultModel,[\"outlineModel\",\"foldingProviderModel\",\"indentationModel\"]),scrollWithEditor:s(_e.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class G extends p{constructor(){const fe={enabled:\"on\",fontSize:0,fontFamily:\"\",padding:!1};super(142,\"inlayHints\",fe,{\"editor.inlayHints.enabled\":{type:\"string\",default:fe.enabled,description:m.localize(241,\"Enables the inlay hints in the editor.\"),enum:[\"on\",\"onUnlessPressed\",\"offUnlessPressed\",\"off\"],markdownEnumDescriptions:[m.localize(242,\"Inlay hints are enabled\"),m.localize(243,\"Inlay hints are showing by default and hide when holding {0}\",I.isMacintosh?\"Ctrl+Option\":\"Ctrl+Alt\"),m.localize(244,\"Inlay hints are hidden by default and show when holding {0}\",I.isMacintosh?\"Ctrl+Option\":\"Ctrl+Alt\"),m.localize(245,\"Inlay hints are disabled\")]},\"editor.inlayHints.fontSize\":{type:\"number\",default:fe.fontSize,markdownDescription:m.localize(246,\"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.\",\"`#editor.fontSize#`\",\"`5`\")},\"editor.inlayHints.fontFamily\":{type:\"string\",default:fe.fontFamily,markdownDescription:m.localize(247,\"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.\",\"`#editor.fontFamily#`\")},\"editor.inlayHints.padding\":{type:\"boolean\",default:fe.padding,description:m.localize(248,\"Enables the padding around the inlay hints in the editor.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return typeof _e.enabled==\"boolean\"&&(_e.enabled=_e.enabled?\"on\":\"off\"),{enabled:C(_e.enabled,this.defaultValue.enabled,[\"on\",\"off\",\"offUnlessPressed\",\"onUnlessPressed\"]),fontSize:l.clampedInt(_e.fontSize,this.defaultValue.fontSize,0,100),fontFamily:u.string(_e.fontFamily,this.defaultValue.fontFamily),padding:s(_e.padding,this.defaultValue.padding)}}}class K extends p{constructor(){super(66,\"lineDecorationsWidth\",10)}validate(fe){return typeof fe==\"string\"&&/^\\d+(\\.\\d+)?ch$/.test(fe)?-parseFloat(fe.substring(0,fe.length-2)):l.clampedInt(fe,this.defaultValue,0,1e3)}compute(fe,_e,xe){return xe<0?l.clampedInt(-xe*fe.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):xe}}class R extends r{constructor(){super(67,\"lineHeight\",e.EDITOR_FONT_DEFAULTS.lineHeight,fe=>r.clamp(fe,0,150),{markdownDescription:m.localize(249,`Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.`)})}compute(fe,_e,xe){return fe.fontInfo.lineHeight}}class J extends p{constructor(){const fe={enabled:!0,size:\"proportional\",side:\"right\",showSlider:\"mouseover\",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(73,\"minimap\",fe,{\"editor.minimap.enabled\":{type:\"boolean\",default:fe.enabled,description:m.localize(250,\"Controls whether the minimap is shown.\")},\"editor.minimap.autohide\":{type:\"boolean\",default:fe.autohide,description:m.localize(251,\"Controls whether the minimap is hidden automatically.\")},\"editor.minimap.size\":{type:\"string\",enum:[\"proportional\",\"fill\",\"fit\"],enumDescriptions:[m.localize(252,\"The minimap has the same size as the editor contents (and might scroll).\"),m.localize(253,\"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).\"),m.localize(254,\"The minimap will shrink as necessary to never be larger than the editor (no scrolling).\")],default:fe.size,description:m.localize(255,\"Controls the size of the minimap.\")},\"editor.minimap.side\":{type:\"string\",enum:[\"left\",\"right\"],default:fe.side,description:m.localize(256,\"Controls the side where to render the minimap.\")},\"editor.minimap.showSlider\":{type:\"string\",enum:[\"always\",\"mouseover\"],default:fe.showSlider,description:m.localize(257,\"Controls when the minimap slider is shown.\")},\"editor.minimap.scale\":{type:\"number\",default:fe.scale,minimum:1,maximum:3,enum:[1,2,3],description:m.localize(258,\"Scale of content drawn in the minimap: 1, 2 or 3.\")},\"editor.minimap.renderCharacters\":{type:\"boolean\",default:fe.renderCharacters,description:m.localize(259,\"Render the actual characters on a line as opposed to color blocks.\")},\"editor.minimap.maxColumn\":{type:\"number\",default:fe.maxColumn,description:m.localize(260,\"Limit the width of the minimap to render at most a certain number of columns.\")},\"editor.minimap.showRegionSectionHeaders\":{type:\"boolean\",default:fe.showRegionSectionHeaders,description:m.localize(261,\"Controls whether named regions are shown as section headers in the minimap.\")},\"editor.minimap.showMarkSectionHeaders\":{type:\"boolean\",default:fe.showMarkSectionHeaders,description:m.localize(262,\"Controls whether MARK: comments are shown as section headers in the minimap.\")},\"editor.minimap.sectionHeaderFontSize\":{type:\"number\",default:fe.sectionHeaderFontSize,description:m.localize(263,\"Controls the font size of section headers in the minimap.\")},\"editor.minimap.sectionHeaderLetterSpacing\":{type:\"number\",default:fe.sectionHeaderLetterSpacing,description:m.localize(264,\"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),autohide:s(_e.autohide,this.defaultValue.autohide),size:C(_e.size,this.defaultValue.size,[\"proportional\",\"fill\",\"fit\"]),side:C(_e.side,this.defaultValue.side,[\"right\",\"left\"]),showSlider:C(_e.showSlider,this.defaultValue.showSlider,[\"always\",\"mouseover\"]),renderCharacters:s(_e.renderCharacters,this.defaultValue.renderCharacters),scale:l.clampedInt(_e.scale,1,1,3),maxColumn:l.clampedInt(_e.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:s(_e.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:s(_e.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:r.clamp(_e.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:r.clamp(_e.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}function ie(Fe){return Fe===\"ctrlCmd\"?I.isMacintosh?\"metaKey\":\"ctrlKey\":\"altKey\"}class ue extends p{constructor(){super(84,\"padding\",{top:0,bottom:0},{\"editor.padding.top\":{type:\"number\",default:0,minimum:0,maximum:1e3,description:m.localize(265,\"Controls the amount of space between the top edge of the editor and the first line.\")},\"editor.padding.bottom\":{type:\"number\",default:0,minimum:0,maximum:1e3,description:m.localize(266,\"Controls the amount of space between the bottom edge of the editor and the last line.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{top:l.clampedInt(_e.top,0,0,1e3),bottom:l.clampedInt(_e.bottom,0,0,1e3)}}}class he extends p{constructor(){const fe={enabled:!0,cycle:!0};super(86,\"parameterHints\",fe,{\"editor.parameterHints.enabled\":{type:\"boolean\",default:fe.enabled,description:m.localize(267,\"Enables a pop-up that shows parameter documentation and type information as you type.\")},\"editor.parameterHints.cycle\":{type:\"boolean\",default:fe.cycle,description:m.localize(268,\"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),cycle:s(_e.cycle,this.defaultValue.cycle)}}}class pe extends t{constructor(){super(144)}compute(fe,_e,xe){return fe.pixelRatio}}class ae extends p{constructor(){super(88,\"placeholder\",void 0)}validate(fe){return typeof fe>\"u\"?this.defaultValue:typeof fe==\"string\"?fe:this.defaultValue}}class ee extends p{constructor(){const fe={other:\"on\",comments:\"off\",strings:\"off\"},_e=[{type:\"boolean\"},{type:\"string\",enum:[\"on\",\"inline\",\"off\"],enumDescriptions:[m.localize(269,\"Quick suggestions show inside the suggest widget\"),m.localize(270,\"Quick suggestions show as ghost text\"),m.localize(271,\"Quick suggestions are disabled\")]}];super(90,\"quickSuggestions\",fe,{type:\"object\",additionalProperties:!1,properties:{strings:{anyOf:_e,default:fe.strings,description:m.localize(272,\"Enable quick suggestions inside strings.\")},comments:{anyOf:_e,default:fe.comments,description:m.localize(273,\"Enable quick suggestions inside comments.\")},other:{anyOf:_e,default:fe.other,description:m.localize(274,\"Enable quick suggestions outside of strings and comments.\")}},default:fe,markdownDescription:m.localize(275,\"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.\",\"`#editor.suggestOnTriggerCharacters#`\")}),this.defaultValue=fe}validate(fe){if(typeof fe==\"boolean\"){const Be=fe?\"on\":\"off\";return{comments:Be,strings:Be,other:Be}}if(!fe||typeof fe!=\"object\")return this.defaultValue;const{other:_e,comments:xe,strings:be}=fe,ve=[\"on\",\"inline\",\"off\"];let we,Te,Pe;return typeof _e==\"boolean\"?we=_e?\"on\":\"off\":we=C(_e,this.defaultValue.other,ve),typeof xe==\"boolean\"?Te=xe?\"on\":\"off\":Te=C(xe,this.defaultValue.comments,ve),typeof be==\"boolean\"?Pe=be?\"on\":\"off\":Pe=C(be,this.defaultValue.strings,ve),{other:we,comments:Te,strings:Pe}}}class de extends p{constructor(){super(68,\"lineNumbers\",{renderType:1,renderFn:null},{type:\"string\",enum:[\"off\",\"on\",\"relative\",\"interval\"],enumDescriptions:[m.localize(276,\"Line numbers are not rendered.\"),m.localize(277,\"Line numbers are rendered as absolute number.\"),m.localize(278,\"Line numbers are rendered as distance in lines to cursor position.\"),m.localize(279,\"Line numbers are rendered every 10 lines.\")],default:\"on\",description:m.localize(280,\"Controls the display of line numbers.\")})}validate(fe){let _e=this.defaultValue.renderType,xe=this.defaultValue.renderFn;return typeof fe<\"u\"&&(typeof fe==\"function\"?(_e=4,xe=fe):fe===\"interval\"?_e=3:fe===\"relative\"?_e=2:fe===\"on\"?_e=1:_e=0),{renderType:_e,renderFn:xe}}}function ge(Fe){const fe=Fe.get(99);return fe===\"editable\"?Fe.get(92):fe!==\"on\"}class X extends p{constructor(){const fe=[],_e={type:\"number\",description:m.localize(281,\"Number of monospace characters at which this editor ruler will render.\")};super(103,\"rulers\",fe,{type:\"array\",items:{anyOf:[_e,{type:[\"object\"],properties:{column:_e,color:{type:\"string\",description:m.localize(282,\"Color of this editor ruler.\"),format:\"color-hex\"}}}]},default:fe,description:m.localize(283,\"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.\")})}validate(fe){if(Array.isArray(fe)){const _e=[];for(const xe of fe)if(typeof xe==\"number\")_e.push({column:l.clampedInt(xe,0,0,1e4),color:null});else if(xe&&typeof xe==\"object\"){const be=xe;_e.push({column:l.clampedInt(be.column,0,0,1e4),color:be.color})}return _e.sort((xe,be)=>xe.column-be.column),_e}return this.defaultValue}}class B extends p{constructor(){super(93,\"readOnlyMessage\",void 0)}validate(fe){return!fe||typeof fe!=\"object\"?this.defaultValue:fe}}function $(Fe,fe){if(typeof Fe!=\"string\")return fe;switch(Fe){case\"hidden\":return 2;case\"visible\":return 3;default:return 1}}class Q extends p{constructor(){const fe={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(104,\"scrollbar\",fe,{\"editor.scrollbar.vertical\":{type:\"string\",enum:[\"auto\",\"visible\",\"hidden\"],enumDescriptions:[m.localize(284,\"The vertical scrollbar will be visible only when necessary.\"),m.localize(285,\"The vertical scrollbar will always be visible.\"),m.localize(286,\"The vertical scrollbar will always be hidden.\")],default:\"auto\",description:m.localize(287,\"Controls the visibility of the vertical scrollbar.\")},\"editor.scrollbar.horizontal\":{type:\"string\",enum:[\"auto\",\"visible\",\"hidden\"],enumDescriptions:[m.localize(288,\"The horizontal scrollbar will be visible only when necessary.\"),m.localize(289,\"The horizontal scrollbar will always be visible.\"),m.localize(290,\"The horizontal scrollbar will always be hidden.\")],default:\"auto\",description:m.localize(291,\"Controls the visibility of the horizontal scrollbar.\")},\"editor.scrollbar.verticalScrollbarSize\":{type:\"number\",default:fe.verticalScrollbarSize,description:m.localize(292,\"The width of the vertical scrollbar.\")},\"editor.scrollbar.horizontalScrollbarSize\":{type:\"number\",default:fe.horizontalScrollbarSize,description:m.localize(293,\"The height of the horizontal scrollbar.\")},\"editor.scrollbar.scrollByPage\":{type:\"boolean\",default:fe.scrollByPage,description:m.localize(294,\"Controls whether clicks scroll by page or jump to click position.\")},\"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight\":{type:\"boolean\",default:fe.ignoreHorizontalScrollbarInContentHeight,description:m.localize(295,\"When set, the horizontal scrollbar will not increase the size of the editor's content.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe,xe=l.clampedInt(_e.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),be=l.clampedInt(_e.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:l.clampedInt(_e.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:$(_e.vertical,this.defaultValue.vertical),horizontal:$(_e.horizontal,this.defaultValue.horizontal),useShadows:s(_e.useShadows,this.defaultValue.useShadows),verticalHasArrows:s(_e.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:s(_e.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:s(_e.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:s(_e.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:xe,horizontalSliderSize:l.clampedInt(_e.horizontalSliderSize,xe,0,1e3),verticalScrollbarSize:be,verticalSliderSize:l.clampedInt(_e.verticalSliderSize,be,0,1e3),scrollByPage:s(_e.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:s(_e.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}e.inUntrustedWorkspace=\"inUntrustedWorkspace\",e.unicodeHighlightConfigKeys={allowedCharacters:\"editor.unicodeHighlight.allowedCharacters\",invisibleCharacters:\"editor.unicodeHighlight.invisibleCharacters\",nonBasicASCII:\"editor.unicodeHighlight.nonBasicASCII\",ambiguousCharacters:\"editor.unicodeHighlight.ambiguousCharacters\",includeComments:\"editor.unicodeHighlight.includeComments\",includeStrings:\"editor.unicodeHighlight.includeStrings\",allowedLocales:\"editor.unicodeHighlight.allowedLocales\"};class Z extends p{constructor(){const fe={nonBasicASCII:e.inUntrustedWorkspace,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:e.inUntrustedWorkspace,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(126,\"unicodeHighlight\",fe,{[e.unicodeHighlightConfigKeys.nonBasicASCII]:{restricted:!0,type:[\"boolean\",\"string\"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.nonBasicASCII,description:m.localize(296,\"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.\")},[e.unicodeHighlightConfigKeys.invisibleCharacters]:{restricted:!0,type:\"boolean\",default:fe.invisibleCharacters,description:m.localize(297,\"Controls whether characters that just reserve space or have no width at all are highlighted.\")},[e.unicodeHighlightConfigKeys.ambiguousCharacters]:{restricted:!0,type:\"boolean\",default:fe.ambiguousCharacters,description:m.localize(298,\"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.\")},[e.unicodeHighlightConfigKeys.includeComments]:{restricted:!0,type:[\"boolean\",\"string\"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.includeComments,description:m.localize(299,\"Controls whether characters in comments should also be subject to Unicode highlighting.\")},[e.unicodeHighlightConfigKeys.includeStrings]:{restricted:!0,type:[\"boolean\",\"string\"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.includeStrings,description:m.localize(300,\"Controls whether characters in strings should also be subject to Unicode highlighting.\")},[e.unicodeHighlightConfigKeys.allowedCharacters]:{restricted:!0,type:\"object\",default:fe.allowedCharacters,description:m.localize(301,\"Defines allowed characters that are not being highlighted.\"),additionalProperties:{type:\"boolean\"}},[e.unicodeHighlightConfigKeys.allowedLocales]:{restricted:!0,type:\"object\",additionalProperties:{type:\"boolean\"},default:fe.allowedLocales,description:m.localize(302,\"Unicode characters that are common in allowed locales are not being highlighted.\")}})}applyUpdate(fe,_e){let xe=!1;_e.allowedCharacters&&fe&&(k.equals(fe.allowedCharacters,_e.allowedCharacters)||(fe={...fe,allowedCharacters:_e.allowedCharacters},xe=!0)),_e.allowedLocales&&fe&&(k.equals(fe.allowedLocales,_e.allowedLocales)||(fe={...fe,allowedLocales:_e.allowedLocales},xe=!0));const be=super.applyUpdate(fe,_e);return xe?new n(be.newValue,!0):be}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{nonBasicASCII:Ce(_e.nonBasicASCII,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),invisibleCharacters:s(_e.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:s(_e.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Ce(_e.includeComments,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),includeStrings:Ce(_e.includeStrings,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),allowedCharacters:this.validateBooleanMap(fe.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(fe.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(fe,_e){if(typeof fe!=\"object\"||!fe)return _e;const xe={};for(const[be,ve]of Object.entries(fe))ve===!0&&(xe[be]=!0);return xe}}class te extends p{constructor(){const fe={enabled:!0,mode:\"subwordSmart\",showToolbar:\"onHover\",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:\"default\"};super(62,\"inlineSuggest\",fe,{\"editor.inlineSuggest.enabled\":{type:\"boolean\",default:fe.enabled,description:m.localize(303,\"Controls whether to automatically show inline suggestions in the editor.\")},\"editor.inlineSuggest.showToolbar\":{type:\"string\",default:fe.showToolbar,enum:[\"always\",\"onHover\",\"never\"],enumDescriptions:[m.localize(304,\"Show the inline suggestion toolbar whenever an inline suggestion is shown.\"),m.localize(305,\"Show the inline suggestion toolbar when hovering over an inline suggestion.\"),m.localize(306,\"Never show the inline suggestion toolbar.\")],description:m.localize(307,\"Controls when to show the inline suggestion toolbar.\")},\"editor.inlineSuggest.suppressSuggestions\":{type:\"boolean\",default:fe.suppressSuggestions,description:m.localize(308,\"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.\")},\"editor.inlineSuggest.fontFamily\":{type:\"string\",default:fe.fontFamily,description:m.localize(309,\"Controls the font family of the inline suggestions.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),mode:C(_e.mode,this.defaultValue.mode,[\"prefix\",\"subword\",\"subwordSmart\"]),showToolbar:C(_e.showToolbar,this.defaultValue.showToolbar,[\"always\",\"onHover\",\"never\"]),suppressSuggestions:s(_e.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:s(_e.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:u.string(_e.fontFamily,this.defaultValue.fontFamily)}}}class re extends p{constructor(){const fe={enabled:!1,showToolbar:\"onHover\",fontFamily:\"default\",keepOnBlur:!1};super(63,\"experimentalInlineEdit\",fe,{\"editor.experimentalInlineEdit.enabled\":{type:\"boolean\",default:fe.enabled,description:m.localize(310,\"Controls whether to show inline edits in the editor.\")},\"editor.experimentalInlineEdit.showToolbar\":{type:\"string\",default:fe.showToolbar,enum:[\"always\",\"onHover\",\"never\"],enumDescriptions:[m.localize(311,\"Show the inline edit toolbar whenever an inline suggestion is shown.\"),m.localize(312,\"Show the inline edit toolbar when hovering over an inline suggestion.\"),m.localize(313,\"Never show the inline edit toolbar.\")],description:m.localize(314,\"Controls when to show the inline edit toolbar.\")},\"editor.experimentalInlineEdit.fontFamily\":{type:\"string\",default:fe.fontFamily,description:m.localize(315,\"Controls the font family of the inline edit.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),showToolbar:C(_e.showToolbar,this.defaultValue.showToolbar,[\"always\",\"onHover\",\"never\"]),fontFamily:u.string(_e.fontFamily,this.defaultValue.fontFamily),keepOnBlur:s(_e.keepOnBlur,this.defaultValue.keepOnBlur)}}}class le extends p{constructor(){const fe={enabled:E.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:E.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,\"bracketPairColorization\",fe,{\"editor.bracketPairColorization.enabled\":{type:\"boolean\",default:fe.enabled,markdownDescription:m.localize(316,\"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.\",\"`#workbench.colorCustomizations#`\")},\"editor.bracketPairColorization.independentColorPoolPerBracketType\":{type:\"boolean\",default:fe.independentColorPoolPerBracketType,description:m.localize(317,\"Controls whether each bracket type has its own independent color pool.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:s(_e.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class me extends p{constructor(){const fe={bracketPairs:!1,bracketPairsHorizontal:\"active\",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,\"guides\",fe,{\"editor.guides.bracketPairs\":{type:[\"boolean\",\"string\"],enum:[!0,\"active\",!1],enumDescriptions:[m.localize(318,\"Enables bracket pair guides.\"),m.localize(319,\"Enables bracket pair guides only for the active bracket pair.\"),m.localize(320,\"Disables bracket pair guides.\")],default:fe.bracketPairs,description:m.localize(321,\"Controls whether bracket pair guides are enabled or not.\")},\"editor.guides.bracketPairsHorizontal\":{type:[\"boolean\",\"string\"],enum:[!0,\"active\",!1],enumDescriptions:[m.localize(322,\"Enables horizontal guides as addition to vertical bracket pair guides.\"),m.localize(323,\"Enables horizontal guides only for the active bracket pair.\"),m.localize(324,\"Disables horizontal bracket pair guides.\")],default:fe.bracketPairsHorizontal,description:m.localize(325,\"Controls whether horizontal bracket pair guides are enabled or not.\")},\"editor.guides.highlightActiveBracketPair\":{type:\"boolean\",default:fe.highlightActiveBracketPair,description:m.localize(326,\"Controls whether the editor should highlight the active bracket pair.\")},\"editor.guides.indentation\":{type:\"boolean\",default:fe.indentation,description:m.localize(327,\"Controls whether the editor should render indent guides.\")},\"editor.guides.highlightActiveIndentation\":{type:[\"boolean\",\"string\"],enum:[!0,\"always\",!1],enumDescriptions:[m.localize(328,\"Highlights the active indent guide.\"),m.localize(329,\"Highlights the active indent guide even if bracket guides are highlighted.\"),m.localize(330,\"Do not highlight the active indent guide.\")],default:fe.highlightActiveIndentation,description:m.localize(331,\"Controls whether the editor should highlight the active indent guide.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{bracketPairs:Ce(_e.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,\"active\"]),bracketPairsHorizontal:Ce(_e.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,\"active\"]),highlightActiveBracketPair:s(_e.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:s(_e.indentation,this.defaultValue.indentation),highlightActiveIndentation:Ce(_e.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,\"always\"])}}}function Ce(Fe,fe,_e){const xe=_e.indexOf(Fe);return xe===-1?fe:_e[xe]}class ye extends p{constructor(){const fe={insertMode:\"insert\",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:\"always\",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:\"subwordSmart\",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(119,\"suggest\",fe,{\"editor.suggest.insertMode\":{type:\"string\",enum:[\"insert\",\"replace\"],enumDescriptions:[m.localize(332,\"Insert suggestion without overwriting text right of the cursor.\"),m.localize(333,\"Insert suggestion and overwrite text right of the cursor.\")],default:fe.insertMode,description:m.localize(334,\"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.\")},\"editor.suggest.filterGraceful\":{type:\"boolean\",default:fe.filterGraceful,description:m.localize(335,\"Controls whether filtering and sorting suggestions accounts for small typos.\")},\"editor.suggest.localityBonus\":{type:\"boolean\",default:fe.localityBonus,description:m.localize(336,\"Controls whether sorting favors words that appear close to the cursor.\")},\"editor.suggest.shareSuggestSelections\":{type:\"boolean\",default:fe.shareSuggestSelections,markdownDescription:m.localize(337,\"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).\")},\"editor.suggest.selectionMode\":{type:\"string\",enum:[\"always\",\"never\",\"whenTriggerCharacter\",\"whenQuickSuggestion\"],enumDescriptions:[m.localize(338,\"Always select a suggestion when automatically triggering IntelliSense.\"),m.localize(339,\"Never select a suggestion when automatically triggering IntelliSense.\"),m.localize(340,\"Select a suggestion only when triggering IntelliSense from a trigger character.\"),m.localize(341,\"Select a suggestion only when triggering IntelliSense as you type.\")],default:fe.selectionMode,markdownDescription:m.localize(342,\"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.\",\"`#editor.quickSuggestions#`\",\"`#editor.suggestOnTriggerCharacters#`\")},\"editor.suggest.snippetsPreventQuickSuggestions\":{type:\"boolean\",default:fe.snippetsPreventQuickSuggestions,description:m.localize(343,\"Controls whether an active snippet prevents quick suggestions.\")},\"editor.suggest.showIcons\":{type:\"boolean\",default:fe.showIcons,description:m.localize(344,\"Controls whether to show or hide icons in suggestions.\")},\"editor.suggest.showStatusBar\":{type:\"boolean\",default:fe.showStatusBar,description:m.localize(345,\"Controls the visibility of the status bar at the bottom of the suggest widget.\")},\"editor.suggest.preview\":{type:\"boolean\",default:fe.preview,description:m.localize(346,\"Controls whether to preview the suggestion outcome in the editor.\")},\"editor.suggest.showInlineDetails\":{type:\"boolean\",default:fe.showInlineDetails,description:m.localize(347,\"Controls whether suggest details show inline with the label or only in the details widget.\")},\"editor.suggest.maxVisibleSuggestions\":{type:\"number\",deprecationMessage:m.localize(348,\"This setting is deprecated. The suggest widget can now be resized.\")},\"editor.suggest.filteredTypes\":{type:\"object\",deprecationMessage:m.localize(349,\"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.\")},\"editor.suggest.showMethods\":{type:\"boolean\",default:!0,markdownDescription:m.localize(350,\"When enabled IntelliSense shows `method`-suggestions.\")},\"editor.suggest.showFunctions\":{type:\"boolean\",default:!0,markdownDescription:m.localize(351,\"When enabled IntelliSense shows `function`-suggestions.\")},\"editor.suggest.showConstructors\":{type:\"boolean\",default:!0,markdownDescription:m.localize(352,\"When enabled IntelliSense shows `constructor`-suggestions.\")},\"editor.suggest.showDeprecated\":{type:\"boolean\",default:!0,markdownDescription:m.localize(353,\"When enabled IntelliSense shows `deprecated`-suggestions.\")},\"editor.suggest.matchOnWordStartOnly\":{type:\"boolean\",default:!0,markdownDescription:m.localize(354,\"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.\")},\"editor.suggest.showFields\":{type:\"boolean\",default:!0,markdownDescription:m.localize(355,\"When enabled IntelliSense shows `field`-suggestions.\")},\"editor.suggest.showVariables\":{type:\"boolean\",default:!0,markdownDescription:m.localize(356,\"When enabled IntelliSense shows `variable`-suggestions.\")},\"editor.suggest.showClasses\":{type:\"boolean\",default:!0,markdownDescription:m.localize(357,\"When enabled IntelliSense shows `class`-suggestions.\")},\"editor.suggest.showStructs\":{type:\"boolean\",default:!0,markdownDescription:m.localize(358,\"When enabled IntelliSense shows `struct`-suggestions.\")},\"editor.suggest.showInterfaces\":{type:\"boolean\",default:!0,markdownDescription:m.localize(359,\"When enabled IntelliSense shows `interface`-suggestions.\")},\"editor.suggest.showModules\":{type:\"boolean\",default:!0,markdownDescription:m.localize(360,\"When enabled IntelliSense shows `module`-suggestions.\")},\"editor.suggest.showProperties\":{type:\"boolean\",default:!0,markdownDescription:m.localize(361,\"When enabled IntelliSense shows `property`-suggestions.\")},\"editor.suggest.showEvents\":{type:\"boolean\",default:!0,markdownDescription:m.localize(362,\"When enabled IntelliSense shows `event`-suggestions.\")},\"editor.suggest.showOperators\":{type:\"boolean\",default:!0,markdownDescription:m.localize(363,\"When enabled IntelliSense shows `operator`-suggestions.\")},\"editor.suggest.showUnits\":{type:\"boolean\",default:!0,markdownDescription:m.localize(364,\"When enabled IntelliSense shows `unit`-suggestions.\")},\"editor.suggest.showValues\":{type:\"boolean\",default:!0,markdownDescription:m.localize(365,\"When enabled IntelliSense shows `value`-suggestions.\")},\"editor.suggest.showConstants\":{type:\"boolean\",default:!0,markdownDescription:m.localize(366,\"When enabled IntelliSense shows `constant`-suggestions.\")},\"editor.suggest.showEnums\":{type:\"boolean\",default:!0,markdownDescription:m.localize(367,\"When enabled IntelliSense shows `enum`-suggestions.\")},\"editor.suggest.showEnumMembers\":{type:\"boolean\",default:!0,markdownDescription:m.localize(368,\"When enabled IntelliSense shows `enumMember`-suggestions.\")},\"editor.suggest.showKeywords\":{type:\"boolean\",default:!0,markdownDescription:m.localize(369,\"When enabled IntelliSense shows `keyword`-suggestions.\")},\"editor.suggest.showWords\":{type:\"boolean\",default:!0,markdownDescription:m.localize(370,\"When enabled IntelliSense shows `text`-suggestions.\")},\"editor.suggest.showColors\":{type:\"boolean\",default:!0,markdownDescription:m.localize(371,\"When enabled IntelliSense shows `color`-suggestions.\")},\"editor.suggest.showFiles\":{type:\"boolean\",default:!0,markdownDescription:m.localize(372,\"When enabled IntelliSense shows `file`-suggestions.\")},\"editor.suggest.showReferences\":{type:\"boolean\",default:!0,markdownDescription:m.localize(373,\"When enabled IntelliSense shows `reference`-suggestions.\")},\"editor.suggest.showCustomcolors\":{type:\"boolean\",default:!0,markdownDescription:m.localize(374,\"When enabled IntelliSense shows `customcolor`-suggestions.\")},\"editor.suggest.showFolders\":{type:\"boolean\",default:!0,markdownDescription:m.localize(375,\"When enabled IntelliSense shows `folder`-suggestions.\")},\"editor.suggest.showTypeParameters\":{type:\"boolean\",default:!0,markdownDescription:m.localize(376,\"When enabled IntelliSense shows `typeParameter`-suggestions.\")},\"editor.suggest.showSnippets\":{type:\"boolean\",default:!0,markdownDescription:m.localize(377,\"When enabled IntelliSense shows `snippet`-suggestions.\")},\"editor.suggest.showUsers\":{type:\"boolean\",default:!0,markdownDescription:m.localize(378,\"When enabled IntelliSense shows `user`-suggestions.\")},\"editor.suggest.showIssues\":{type:\"boolean\",default:!0,markdownDescription:m.localize(379,\"When enabled IntelliSense shows `issues`-suggestions.\")}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{insertMode:C(_e.insertMode,this.defaultValue.insertMode,[\"insert\",\"replace\"]),filterGraceful:s(_e.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:s(_e.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:s(_e.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:s(_e.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:C(_e.selectionMode,this.defaultValue.selectionMode,[\"always\",\"never\",\"whenQuickSuggestion\",\"whenTriggerCharacter\"]),showIcons:s(_e.showIcons,this.defaultValue.showIcons),showStatusBar:s(_e.showStatusBar,this.defaultValue.showStatusBar),preview:s(_e.preview,this.defaultValue.preview),previewMode:C(_e.previewMode,this.defaultValue.previewMode,[\"prefix\",\"subword\",\"subwordSmart\"]),showInlineDetails:s(_e.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:s(_e.showMethods,this.defaultValue.showMethods),showFunctions:s(_e.showFunctions,this.defaultValue.showFunctions),showConstructors:s(_e.showConstructors,this.defaultValue.showConstructors),showDeprecated:s(_e.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:s(_e.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:s(_e.showFields,this.defaultValue.showFields),showVariables:s(_e.showVariables,this.defaultValue.showVariables),showClasses:s(_e.showClasses,this.defaultValue.showClasses),showStructs:s(_e.showStructs,this.defaultValue.showStructs),showInterfaces:s(_e.showInterfaces,this.defaultValue.showInterfaces),showModules:s(_e.showModules,this.defaultValue.showModules),showProperties:s(_e.showProperties,this.defaultValue.showProperties),showEvents:s(_e.showEvents,this.defaultValue.showEvents),showOperators:s(_e.showOperators,this.defaultValue.showOperators),showUnits:s(_e.showUnits,this.defaultValue.showUnits),showValues:s(_e.showValues,this.defaultValue.showValues),showConstants:s(_e.showConstants,this.defaultValue.showConstants),showEnums:s(_e.showEnums,this.defaultValue.showEnums),showEnumMembers:s(_e.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:s(_e.showKeywords,this.defaultValue.showKeywords),showWords:s(_e.showWords,this.defaultValue.showWords),showColors:s(_e.showColors,this.defaultValue.showColors),showFiles:s(_e.showFiles,this.defaultValue.showFiles),showReferences:s(_e.showReferences,this.defaultValue.showReferences),showFolders:s(_e.showFolders,this.defaultValue.showFolders),showTypeParameters:s(_e.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:s(_e.showSnippets,this.defaultValue.showSnippets),showUsers:s(_e.showUsers,this.defaultValue.showUsers),showIssues:s(_e.showIssues,this.defaultValue.showIssues)}}}class Le extends p{constructor(){super(114,\"smartSelect\",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{\"editor.smartSelect.selectLeadingAndTrailingWhitespace\":{description:m.localize(380,\"Whether leading and trailing whitespace should always be selected.\"),default:!0,type:\"boolean\"},\"editor.smartSelect.selectSubwords\":{description:m.localize(381,\"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected.\"),default:!0,type:\"boolean\"}})}validate(fe){return!fe||typeof fe!=\"object\"?this.defaultValue:{selectLeadingAndTrailingWhitespace:s(fe.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:s(fe.selectSubwords,this.defaultValue.selectSubwords)}}}class Ee extends p{constructor(){const fe=[];super(131,\"wordSegmenterLocales\",fe,{anyOf:[{description:m.localize(382,\"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.).\"),type:\"string\"},{description:m.localize(383,\"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.).\"),type:\"array\",items:{type:\"string\"}}]})}validate(fe){if(typeof fe==\"string\"&&(fe=[fe]),Array.isArray(fe)){const _e=[];for(const xe of fe)if(typeof xe==\"string\")try{Intl.Segmenter.supportedLocalesOf(xe).length>0&&_e.push(xe)}catch{}return _e}return this.defaultValue}}class Me extends p{constructor(){super(139,\"wrappingIndent\",1,{\"editor.wrappingIndent\":{type:\"string\",enum:[\"none\",\"same\",\"indent\",\"deepIndent\"],enumDescriptions:[m.localize(384,\"No indentation. Wrapped lines begin at column 1.\"),m.localize(385,\"Wrapped lines get the same indentation as the parent.\"),m.localize(386,\"Wrapped lines get +1 indentation toward the parent.\"),m.localize(387,\"Wrapped lines get +2 indentation toward the parent.\")],description:m.localize(388,\"Controls the indentation of wrapped lines.\"),default:\"same\"}})}validate(fe){switch(fe){case\"none\":return 0;case\"same\":return 1;case\"indent\":return 2;case\"deepIndent\":return 3}return 1}compute(fe,_e,xe){return _e.get(2)===2?0:xe}}class Ae extends t{constructor(){super(147)}compute(fe,_e,xe){const be=_e.get(146);return{isDominatedByLongLines:fe.isDominatedByLongLines,isWordWrapMinified:be.isWordWrapMinified,isViewportWrapping:be.isViewportWrapping,wrappingColumn:be.wrappingColumn}}}class Ne extends p{constructor(){const fe={enabled:!0,showDropSelector:\"afterDrop\"};super(36,\"dropIntoEditor\",fe,{\"editor.dropIntoEditor.enabled\":{type:\"boolean\",default:fe.enabled,markdownDescription:m.localize(389,\"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).\")},\"editor.dropIntoEditor.showDropSelector\":{type:\"string\",markdownDescription:m.localize(390,\"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped.\"),enum:[\"afterDrop\",\"never\"],enumDescriptions:[m.localize(391,\"Show the drop selector widget after a file is dropped into the editor.\"),m.localize(392,\"Never show the drop selector widget. Instead the default drop provider is always used.\")],default:\"afterDrop\"}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),showDropSelector:C(_e.showDropSelector,this.defaultValue.showDropSelector,[\"afterDrop\",\"never\"])}}}class Ke extends p{constructor(){const fe={enabled:!0,showPasteSelector:\"afterPaste\"};super(85,\"pasteAs\",fe,{\"editor.pasteAs.enabled\":{type:\"boolean\",default:fe.enabled,markdownDescription:m.localize(393,\"Controls whether you can paste content in different ways.\")},\"editor.pasteAs.showPasteSelector\":{type:\"string\",markdownDescription:m.localize(394,\"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted.\"),enum:[\"afterPaste\",\"never\"],enumDescriptions:[m.localize(395,\"Show the paste selector widget after content is pasted into the editor.\"),m.localize(396,\"Never show the paste selector widget. Instead the default pasting behavior is always used.\")],default:\"afterPaste\"}})}validate(fe){if(!fe||typeof fe!=\"object\")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),showPasteSelector:C(_e.showPasteSelector,this.defaultValue.showPasteSelector,[\"afterPaste\",\"never\"])}}}const ze=\"Consolas, 'Courier New', monospace\",Ge=\"Menlo, Monaco, 'Courier New', monospace\",it=\"'Droid Sans Mono', 'monospace', monospace\";e.EDITOR_FONT_DEFAULTS={fontFamily:I.isMacintosh?Ge:I.isLinux?it:ze,fontWeight:\"normal\",fontSize:I.isMacintosh?12:14,lineHeight:0,letterSpacing:0},e.editorOptionsRegistry=[];function Oe(Fe){return e.editorOptionsRegistry[Fe.id]=Fe,Fe}e.EditorOptions={acceptSuggestionOnCommitCharacter:Oe(new g(0,\"acceptSuggestionOnCommitCharacter\",!0,{markdownDescription:m.localize(397,\"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.\")})),acceptSuggestionOnEnter:Oe(new f(1,\"acceptSuggestionOnEnter\",\"on\",[\"on\",\"smart\",\"off\"],{markdownEnumDescriptions:[\"\",m.localize(398,\"Only accept a suggestion with `Enter` when it makes a textual change.\"),\"\"],markdownDescription:m.localize(399,\"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.\")})),accessibilitySupport:Oe(new w),accessibilityPageSize:Oe(new l(3,\"accessibilityPageSize\",10,1,1073741824,{description:m.localize(400,\"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.\"),tags:[\"accessibility\"]})),ariaLabel:Oe(new u(4,\"ariaLabel\",m.localize(401,\"Editor content\"))),ariaRequired:Oe(new g(5,\"ariaRequired\",!1,void 0)),screenReaderAnnounceInlineSuggestion:Oe(new g(8,\"screenReaderAnnounceInlineSuggestion\",!0,{description:m.localize(402,\"Control whether inline suggestions are announced by a screen reader.\"),tags:[\"accessibility\"]})),autoClosingBrackets:Oe(new f(6,\"autoClosingBrackets\",\"languageDefined\",[\"always\",\"languageDefined\",\"beforeWhitespace\",\"never\"],{enumDescriptions:[\"\",m.localize(403,\"Use language configurations to determine when to autoclose brackets.\"),m.localize(404,\"Autoclose brackets only when the cursor is to the left of whitespace.\"),\"\"],description:m.localize(405,\"Controls whether the editor should automatically close brackets after the user adds an opening bracket.\")})),autoClosingComments:Oe(new f(7,\"autoClosingComments\",\"languageDefined\",[\"always\",\"languageDefined\",\"beforeWhitespace\",\"never\"],{enumDescriptions:[\"\",m.localize(406,\"Use language configurations to determine when to autoclose comments.\"),m.localize(407,\"Autoclose comments only when the cursor is to the left of whitespace.\"),\"\"],description:m.localize(408,\"Controls whether the editor should automatically close comments after the user adds an opening comment.\")})),autoClosingDelete:Oe(new f(9,\"autoClosingDelete\",\"auto\",[\"always\",\"auto\",\"never\"],{enumDescriptions:[\"\",m.localize(409,\"Remove adjacent closing quotes or brackets only if they were automatically inserted.\"),\"\"],description:m.localize(410,\"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.\")})),autoClosingOvertype:Oe(new f(10,\"autoClosingOvertype\",\"auto\",[\"always\",\"auto\",\"never\"],{enumDescriptions:[\"\",m.localize(411,\"Type over closing quotes or brackets only if they were automatically inserted.\"),\"\"],description:m.localize(412,\"Controls whether the editor should type over closing quotes or brackets.\")})),autoClosingQuotes:Oe(new f(11,\"autoClosingQuotes\",\"languageDefined\",[\"always\",\"languageDefined\",\"beforeWhitespace\",\"never\"],{enumDescriptions:[\"\",m.localize(413,\"Use language configurations to determine when to autoclose quotes.\"),m.localize(414,\"Autoclose quotes only when the cursor is to the left of whitespace.\"),\"\"],description:m.localize(415,\"Controls whether the editor should automatically close quotes after the user adds an opening quote.\")})),autoIndent:Oe(new h(12,\"autoIndent\",4,\"full\",[\"none\",\"keep\",\"brackets\",\"advanced\",\"full\"],v,{enumDescriptions:[m.localize(416,\"The editor will not insert indentation automatically.\"),m.localize(417,\"The editor will keep the current line's indentation.\"),m.localize(418,\"The editor will keep the current line's indentation and honor language defined brackets.\"),m.localize(419,\"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.\"),m.localize(420,\"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.\")],description:m.localize(421,\"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.\")})),automaticLayout:Oe(new g(13,\"automaticLayout\",!1)),autoSurround:Oe(new f(14,\"autoSurround\",\"languageDefined\",[\"languageDefined\",\"quotes\",\"brackets\",\"never\"],{enumDescriptions:[m.localize(422,\"Use language configurations to determine when to automatically surround selections.\"),m.localize(423,\"Surround with quotes but not brackets.\"),m.localize(424,\"Surround with brackets but not quotes.\"),\"\"],description:m.localize(425,\"Controls whether the editor should automatically surround selections when typing quotes or brackets.\")})),bracketPairColorization:Oe(new le),bracketPairGuides:Oe(new me),stickyTabStops:Oe(new g(117,\"stickyTabStops\",!1,{description:m.localize(426,\"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.\")})),codeLens:Oe(new g(17,\"codeLens\",!0,{description:m.localize(427,\"Controls whether the editor shows CodeLens.\")})),codeLensFontFamily:Oe(new u(18,\"codeLensFontFamily\",\"\",{description:m.localize(428,\"Controls the font family for CodeLens.\")})),codeLensFontSize:Oe(new l(19,\"codeLensFontSize\",0,0,100,{type:\"number\",default:0,minimum:0,maximum:100,markdownDescription:m.localize(429,\"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.\")})),colorDecorators:Oe(new g(20,\"colorDecorators\",!0,{description:m.localize(430,\"Controls whether the editor should render the inline color decorators and color picker.\")})),colorDecoratorActivatedOn:Oe(new f(149,\"colorDecoratorsActivatedOn\",\"clickAndHover\",[\"clickAndHover\",\"hover\",\"click\"],{enumDescriptions:[m.localize(431,\"Make the color picker appear both on click and hover of the color decorator\"),m.localize(432,\"Make the color picker appear on hover of the color decorator\"),m.localize(433,\"Make the color picker appear on click of the color decorator\")],description:m.localize(434,\"Controls the condition to make a color picker appear from a color decorator\")})),colorDecoratorsLimit:Oe(new l(21,\"colorDecoratorsLimit\",500,1,1e6,{markdownDescription:m.localize(435,\"Controls the max number of color decorators that can be rendered in an editor at once.\")})),columnSelection:Oe(new g(22,\"columnSelection\",!1,{description:m.localize(436,\"Enable that the selection with the mouse and keys is doing column selection.\")})),comments:Oe(new S),contextmenu:Oe(new g(24,\"contextmenu\",!0)),copyWithSyntaxHighlighting:Oe(new g(25,\"copyWithSyntaxHighlighting\",!0,{description:m.localize(437,\"Controls whether syntax highlighting should be copied into the clipboard.\")})),cursorBlinking:Oe(new h(26,\"cursorBlinking\",1,\"blink\",[\"blink\",\"smooth\",\"phase\",\"expand\",\"solid\"],L,{description:m.localize(438,\"Control the cursor animation style.\")})),cursorSmoothCaretAnimation:Oe(new f(27,\"cursorSmoothCaretAnimation\",\"off\",[\"off\",\"explicit\",\"on\"],{enumDescriptions:[m.localize(439,\"Smooth caret animation is disabled.\"),m.localize(440,\"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture.\"),m.localize(441,\"Smooth caret animation is always enabled.\")],description:m.localize(442,\"Controls whether the smooth caret animation should be enabled.\")})),cursorStyle:Oe(new h(28,\"cursorStyle\",D.Line,\"line\",[\"line\",\"block\",\"underline\",\"line-thin\",\"block-outline\",\"underline-thin\"],T,{description:m.localize(443,\"Controls the cursor style.\")})),cursorSurroundingLines:Oe(new l(29,\"cursorSurroundingLines\",0,0,1073741824,{description:m.localize(444,\"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.\")})),cursorSurroundingLinesStyle:Oe(new f(30,\"cursorSurroundingLinesStyle\",\"default\",[\"default\",\"all\"],{enumDescriptions:[m.localize(445,\"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API.\"),m.localize(446,\"`cursorSurroundingLines` is enforced always.\")],markdownDescription:m.localize(447,\"Controls when `#editor.cursorSurroundingLines#` should be enforced.\")})),cursorWidth:Oe(new l(31,\"cursorWidth\",0,0,1073741824,{markdownDescription:m.localize(448,\"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.\")})),disableLayerHinting:Oe(new g(32,\"disableLayerHinting\",!1)),disableMonospaceOptimizations:Oe(new g(33,\"disableMonospaceOptimizations\",!1)),domReadOnly:Oe(new g(34,\"domReadOnly\",!1)),dragAndDrop:Oe(new g(35,\"dragAndDrop\",!0,{description:m.localize(449,\"Controls whether the editor should allow moving selections via drag and drop.\")})),emptySelectionClipboard:Oe(new A),dropIntoEditor:Oe(new Ne),stickyScroll:Oe(new Y),experimentalWhitespaceRendering:Oe(new f(38,\"experimentalWhitespaceRendering\",\"svg\",[\"svg\",\"font\",\"off\"],{enumDescriptions:[m.localize(450,\"Use a new rendering method with svgs.\"),m.localize(451,\"Use a new rendering method with font characters.\"),m.localize(452,\"Use the stable rendering method.\")],description:m.localize(453,\"Controls whether whitespace is rendered with a new, experimental method.\")})),extraEditorClassName:Oe(new u(39,\"extraEditorClassName\",\"\")),fastScrollSensitivity:Oe(new r(40,\"fastScrollSensitivity\",5,Fe=>Fe<=0?5:Fe,{markdownDescription:m.localize(454,\"Scrolling speed multiplier when pressing `Alt`.\")})),find:Oe(new P),fixedOverflowWidgets:Oe(new g(42,\"fixedOverflowWidgets\",!1)),folding:Oe(new g(43,\"folding\",!0,{description:m.localize(455,\"Controls whether the editor has code folding enabled.\")})),foldingStrategy:Oe(new f(44,\"foldingStrategy\",\"auto\",[\"auto\",\"indentation\"],{enumDescriptions:[m.localize(456,\"Use a language-specific folding strategy if available, else the indentation-based one.\"),m.localize(457,\"Use the indentation-based folding strategy.\")],description:m.localize(458,\"Controls the strategy for computing folding ranges.\")})),foldingHighlight:Oe(new g(45,\"foldingHighlight\",!0,{description:m.localize(459,\"Controls whether the editor should highlight folded ranges.\")})),foldingImportsByDefault:Oe(new g(46,\"foldingImportsByDefault\",!1,{description:m.localize(460,\"Controls whether the editor automatically collapses import ranges.\")})),foldingMaximumRegions:Oe(new l(47,\"foldingMaximumRegions\",5e3,10,65e3,{description:m.localize(461,\"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.\")})),unfoldOnClickAfterEndOfLine:Oe(new g(48,\"unfoldOnClickAfterEndOfLine\",!1,{description:m.localize(462,\"Controls whether clicking on the empty content after a folded line will unfold the line.\")})),fontFamily:Oe(new u(49,\"fontFamily\",e.EDITOR_FONT_DEFAULTS.fontFamily,{description:m.localize(463,\"Controls the font family.\")})),fontInfo:Oe(new F),fontLigatures2:Oe(new N),fontSize:Oe(new x),fontWeight:Oe(new W),fontVariations:Oe(new O),formatOnPaste:Oe(new g(55,\"formatOnPaste\",!1,{description:m.localize(464,\"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.\")})),formatOnType:Oe(new g(56,\"formatOnType\",!1,{description:m.localize(465,\"Controls whether the editor should automatically format the line after typing.\")})),glyphMargin:Oe(new g(57,\"glyphMargin\",!0,{description:m.localize(466,\"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.\")})),gotoLocation:Oe(new V),hideCursorInOverviewRuler:Oe(new g(59,\"hideCursorInOverviewRuler\",!1,{description:m.localize(467,\"Controls whether the cursor should be hidden in the overview ruler.\")})),hover:Oe(new q),inDiffEditor:Oe(new g(61,\"inDiffEditor\",!1)),letterSpacing:Oe(new r(64,\"letterSpacing\",e.EDITOR_FONT_DEFAULTS.letterSpacing,Fe=>r.clamp(Fe,-5,20),{description:m.localize(468,\"Controls the letter spacing in pixels.\")})),lightbulb:Oe(new j),lineDecorationsWidth:Oe(new K),lineHeight:Oe(new R),lineNumbers:Oe(new de),lineNumbersMinChars:Oe(new l(69,\"lineNumbersMinChars\",5,1,300)),linkedEditing:Oe(new g(70,\"linkedEditing\",!1,{description:m.localize(469,\"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.\")})),links:Oe(new g(71,\"links\",!0,{description:m.localize(470,\"Controls whether the editor should detect links and make them clickable.\")})),matchBrackets:Oe(new f(72,\"matchBrackets\",\"always\",[\"always\",\"near\",\"never\"],{description:m.localize(471,\"Highlight matching brackets.\")})),minimap:Oe(new J),mouseStyle:Oe(new f(74,\"mouseStyle\",\"text\",[\"text\",\"default\",\"copy\"])),mouseWheelScrollSensitivity:Oe(new r(75,\"mouseWheelScrollSensitivity\",1,Fe=>Fe===0?1:Fe,{markdownDescription:m.localize(472,\"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.\")})),mouseWheelZoom:Oe(new g(76,\"mouseWheelZoom\",!1,{markdownDescription:I.isMacintosh?m.localize(473,\"Zoom the font of the editor when using mouse wheel and holding `Cmd`.\"):m.localize(474,\"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.\")})),multiCursorMergeOverlapping:Oe(new g(77,\"multiCursorMergeOverlapping\",!0,{description:m.localize(475,\"Merge multiple cursors when they are overlapping.\")})),multiCursorModifier:Oe(new h(78,\"multiCursorModifier\",\"altKey\",\"alt\",[\"ctrlCmd\",\"alt\"],ie,{markdownEnumDescriptions:[m.localize(476,\"Maps to `Control` on Windows and Linux and to `Command` on macOS.\"),m.localize(477,\"Maps to `Alt` on Windows and Linux and to `Option` on macOS.\")],markdownDescription:m.localize(478,\"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).\")})),multiCursorPaste:Oe(new f(79,\"multiCursorPaste\",\"spread\",[\"spread\",\"full\"],{markdownEnumDescriptions:[m.localize(479,\"Each cursor pastes a single line of the text.\"),m.localize(480,\"Each cursor pastes the full text.\")],markdownDescription:m.localize(481,\"Controls pasting when the line count of the pasted text matches the cursor count.\")})),multiCursorLimit:Oe(new l(80,\"multiCursorLimit\",1e4,1,1e5,{markdownDescription:m.localize(482,\"Controls the max number of cursors that can be in an active editor at once.\")})),occurrencesHighlight:Oe(new f(81,\"occurrencesHighlight\",\"singleFile\",[\"off\",\"singleFile\",\"multiFile\"],{markdownEnumDescriptions:[m.localize(483,\"Does not highlight occurrences.\"),m.localize(484,\"Highlights occurrences only in the current file.\"),m.localize(485,\"Experimental: Highlights occurrences across all valid open files.\")],markdownDescription:m.localize(486,\"Controls whether occurrences should be highlighted across open files.\")})),overviewRulerBorder:Oe(new g(82,\"overviewRulerBorder\",!0,{description:m.localize(487,\"Controls whether a border should be drawn around the overview ruler.\")})),overviewRulerLanes:Oe(new l(83,\"overviewRulerLanes\",3,0,3)),padding:Oe(new ue),pasteAs:Oe(new Ke),parameterHints:Oe(new he),peekWidgetDefaultFocus:Oe(new f(87,\"peekWidgetDefaultFocus\",\"tree\",[\"tree\",\"editor\"],{enumDescriptions:[m.localize(488,\"Focus the tree when opening peek\"),m.localize(489,\"Focus the editor when opening peek\")],description:m.localize(490,\"Controls whether to focus the inline editor or the tree in the peek widget.\")})),placeholder:Oe(new ae),definitionLinkOpensInPeek:Oe(new g(89,\"definitionLinkOpensInPeek\",!1,{description:m.localize(491,\"Controls whether the Go to Definition mouse gesture always opens the peek widget.\")})),quickSuggestions:Oe(new ee),quickSuggestionsDelay:Oe(new l(91,\"quickSuggestionsDelay\",10,0,1073741824,{description:m.localize(492,\"Controls the delay in milliseconds after which quick suggestions will show up.\")})),readOnly:Oe(new g(92,\"readOnly\",!1)),readOnlyMessage:Oe(new B),renameOnType:Oe(new g(94,\"renameOnType\",!1,{description:m.localize(493,\"Controls whether the editor auto renames on type.\"),markdownDeprecationMessage:m.localize(494,\"Deprecated, use `editor.linkedEditing` instead.\")})),renderControlCharacters:Oe(new g(95,\"renderControlCharacters\",!0,{description:m.localize(495,\"Controls whether the editor should render control characters.\"),restricted:!0})),renderFinalNewline:Oe(new f(96,\"renderFinalNewline\",I.isLinux?\"dimmed\":\"on\",[\"off\",\"on\",\"dimmed\"],{description:m.localize(496,\"Render last line number when the file ends with a newline.\")})),renderLineHighlight:Oe(new f(97,\"renderLineHighlight\",\"line\",[\"none\",\"gutter\",\"line\",\"all\"],{enumDescriptions:[\"\",\"\",\"\",m.localize(497,\"Highlights both the gutter and the current line.\")],description:m.localize(498,\"Controls how the editor should render the current line highlight.\")})),renderLineHighlightOnlyWhenFocus:Oe(new g(98,\"renderLineHighlightOnlyWhenFocus\",!1,{description:m.localize(499,\"Controls if the editor should render the current line highlight only when the editor is focused.\")})),renderValidationDecorations:Oe(new f(99,\"renderValidationDecorations\",\"editable\",[\"editable\",\"on\",\"off\"])),renderWhitespace:Oe(new f(100,\"renderWhitespace\",\"selection\",[\"none\",\"boundary\",\"selection\",\"trailing\",\"all\"],{enumDescriptions:[\"\",m.localize(500,\"Render whitespace characters except for single spaces between words.\"),m.localize(501,\"Render whitespace characters only on selected text.\"),m.localize(502,\"Render only trailing whitespace characters.\"),\"\"],description:m.localize(503,\"Controls how the editor should render whitespace characters.\")})),revealHorizontalRightPadding:Oe(new l(101,\"revealHorizontalRightPadding\",15,0,1e3)),roundedSelection:Oe(new g(102,\"roundedSelection\",!0,{description:m.localize(504,\"Controls whether selections should have rounded corners.\")})),rulers:Oe(new X),scrollbar:Oe(new Q),scrollBeyondLastColumn:Oe(new l(105,\"scrollBeyondLastColumn\",4,0,1073741824,{description:m.localize(505,\"Controls the number of extra characters beyond which the editor will scroll horizontally.\")})),scrollBeyondLastLine:Oe(new g(106,\"scrollBeyondLastLine\",!0,{description:m.localize(506,\"Controls whether the editor will scroll beyond the last line.\")})),scrollPredominantAxis:Oe(new g(107,\"scrollPredominantAxis\",!0,{description:m.localize(507,\"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.\")})),selectionClipboard:Oe(new g(108,\"selectionClipboard\",!0,{description:m.localize(508,\"Controls whether the Linux primary clipboard should be supported.\"),included:I.isLinux})),selectionHighlight:Oe(new g(109,\"selectionHighlight\",!0,{description:m.localize(509,\"Controls whether the editor should highlight matches similar to the selection.\")})),selectOnLineNumbers:Oe(new g(110,\"selectOnLineNumbers\",!0)),showFoldingControls:Oe(new f(111,\"showFoldingControls\",\"mouseover\",[\"always\",\"never\",\"mouseover\"],{enumDescriptions:[m.localize(510,\"Always show the folding controls.\"),m.localize(511,\"Never show the folding controls and reduce the gutter size.\"),m.localize(512,\"Only show the folding controls when the mouse is over the gutter.\")],description:m.localize(513,\"Controls when the folding controls on the gutter are shown.\")})),showUnused:Oe(new g(112,\"showUnused\",!0,{description:m.localize(514,\"Controls fading out of unused code.\")})),showDeprecated:Oe(new g(141,\"showDeprecated\",!0,{description:m.localize(515,\"Controls strikethrough deprecated variables.\")})),inlayHints:Oe(new G),snippetSuggestions:Oe(new f(113,\"snippetSuggestions\",\"inline\",[\"top\",\"bottom\",\"inline\",\"none\"],{enumDescriptions:[m.localize(516,\"Show snippet suggestions on top of other suggestions.\"),m.localize(517,\"Show snippet suggestions below other suggestions.\"),m.localize(518,\"Show snippets suggestions with other suggestions.\"),m.localize(519,\"Do not show snippet suggestions.\")],description:m.localize(520,\"Controls whether snippets are shown with other suggestions and how they are sorted.\")})),smartSelect:Oe(new Le),smoothScrolling:Oe(new g(115,\"smoothScrolling\",!1,{description:m.localize(521,\"Controls whether the editor will scroll using an animation.\")})),stopRenderingLineAfter:Oe(new l(118,\"stopRenderingLineAfter\",1e4,-1,1073741824)),suggest:Oe(new ye),inlineSuggest:Oe(new te),inlineEdit:Oe(new re),inlineCompletionsAccessibilityVerbose:Oe(new g(150,\"inlineCompletionsAccessibilityVerbose\",!1,{description:m.localize(522,\"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.\")})),suggestFontSize:Oe(new l(120,\"suggestFontSize\",0,0,1e3,{markdownDescription:m.localize(523,\"Font size for the suggest widget. When set to {0}, the value of {1} is used.\",\"`0`\",\"`#editor.fontSize#`\")})),suggestLineHeight:Oe(new l(121,\"suggestLineHeight\",0,0,1e3,{markdownDescription:m.localize(524,\"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.\",\"`0`\",\"`#editor.lineHeight#`\")})),suggestOnTriggerCharacters:Oe(new g(122,\"suggestOnTriggerCharacters\",!0,{description:m.localize(525,\"Controls whether suggestions should automatically show up when typing trigger characters.\")})),suggestSelection:Oe(new f(123,\"suggestSelection\",\"first\",[\"first\",\"recentlyUsed\",\"recentlyUsedByPrefix\"],{markdownEnumDescriptions:[m.localize(526,\"Always select the first suggestion.\"),m.localize(527,\"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.\"),m.localize(528,\"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.\")],description:m.localize(529,\"Controls how suggestions are pre-selected when showing the suggest list.\")})),tabCompletion:Oe(new f(124,\"tabCompletion\",\"off\",[\"on\",\"off\",\"onlySnippets\"],{enumDescriptions:[m.localize(530,\"Tab complete will insert the best matching suggestion when pressing tab.\"),m.localize(531,\"Disable tab completions.\"),m.localize(532,\"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.\")],description:m.localize(533,\"Enables tab completions.\")})),tabIndex:Oe(new l(125,\"tabIndex\",0,-1,1073741824)),unicodeHighlight:Oe(new Z),unusualLineTerminators:Oe(new f(127,\"unusualLineTerminators\",\"prompt\",[\"auto\",\"off\",\"prompt\"],{enumDescriptions:[m.localize(534,\"Unusual line terminators are automatically removed.\"),m.localize(535,\"Unusual line terminators are ignored.\"),m.localize(536,\"Unusual line terminators prompt to be removed.\")],description:m.localize(537,\"Remove unusual line terminators that might cause problems.\")})),useShadowDOM:Oe(new g(128,\"useShadowDOM\",!0)),useTabStops:Oe(new g(129,\"useTabStops\",!0,{description:m.localize(538,\"Spaces and tabs are inserted and deleted in alignment with tab stops.\")})),wordBreak:Oe(new f(130,\"wordBreak\",\"normal\",[\"normal\",\"keepAll\"],{markdownEnumDescriptions:[m.localize(539,\"Use the default line break rule.\"),m.localize(540,\"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.\")],description:m.localize(541,\"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.\")})),wordSegmenterLocales:Oe(new Ee),wordSeparators:Oe(new u(132,\"wordSeparators\",y.USUAL_WORD_SEPARATORS,{description:m.localize(542,\"Characters that will be used as word separators when doing word related navigations or operations.\")})),wordWrap:Oe(new f(133,\"wordWrap\",\"off\",[\"off\",\"on\",\"wordWrapColumn\",\"bounded\"],{markdownEnumDescriptions:[m.localize(543,\"Lines will never wrap.\"),m.localize(544,\"Lines will wrap at the viewport width.\"),m.localize(545,\"Lines will wrap at `#editor.wordWrapColumn#`.\"),m.localize(546,\"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.\")],description:m.localize(547,\"Controls how lines should wrap.\")})),wordWrapBreakAfterCharacters:Oe(new u(134,\"wordWrapBreakAfterCharacters\",\" \t})]?|/&.,;\\xA2\\xB0\\u2032\\u2033\\u2030\\u2103\\u3001\\u3002\\uFF61\\uFF64\\uFFE0\\uFF0C\\uFF0E\\uFF1A\\uFF1B\\uFF1F\\uFF01\\uFF05\\u30FB\\uFF65\\u309D\\u309E\\u30FD\\u30FE\\u30FC\\u30A1\\u30A3\\u30A5\\u30A7\\u30A9\\u30C3\\u30E3\\u30E5\\u30E7\\u30EE\\u30F5\\u30F6\\u3041\\u3043\\u3045\\u3047\\u3049\\u3063\\u3083\\u3085\\u3087\\u308E\\u3095\\u3096\\u31F0\\u31F1\\u31F2\\u31F3\\u31F4\\u31F5\\u31F6\\u31F7\\u31F8\\u31F9\\u31FA\\u31FB\\u31FC\\u31FD\\u31FE\\u31FF\\u3005\\u303B\\uFF67\\uFF68\\uFF69\\uFF6A\\uFF6B\\uFF6C\\uFF6D\\uFF6E\\uFF6F\\uFF70\\u201D\\u3009\\u300B\\u300D\\u300F\\u3011\\u3015\\uFF09\\uFF3D\\uFF5D\\uFF63\")),wordWrapBreakBeforeCharacters:Oe(new u(135,\"wordWrapBreakBeforeCharacters\",\"([{\\u2018\\u201C\\u3008\\u300A\\u300C\\u300E\\u3010\\u3014\\uFF08\\uFF3B\\uFF5B\\uFF62\\xA3\\xA5\\uFF04\\uFFE1\\uFFE5+\\uFF0B\")),wordWrapColumn:Oe(new l(136,\"wordWrapColumn\",80,1,1073741824,{markdownDescription:m.localize(548,\"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.\")})),wordWrapOverride1:Oe(new f(137,\"wordWrapOverride1\",\"inherit\",[\"off\",\"on\",\"inherit\"])),wordWrapOverride2:Oe(new f(138,\"wordWrapOverride2\",\"inherit\",[\"off\",\"on\",\"inherit\"])),editorClassName:Oe(new M),defaultColorDecorators:Oe(new g(148,\"defaultColorDecorators\",!1,{markdownDescription:m.localize(549,\"Controls whether inline color decorations should be shown using the default document color provider\")})),pixelRatio:Oe(new pe),tabFocusMode:Oe(new g(145,\"tabFocusMode\",!1,{markdownDescription:m.localize(550,\"Controls whether the editor receives tabs or defers them to the workbench for navigation.\")})),layoutInfo:Oe(new H),wrappingInfo:Oe(new Ae),wrappingIndent:Oe(new Me),wrappingStrategy:Oe(new z)}}),define(ne[655],se([1,0,5,39,11,74,37,9,4,226]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewCursor=e.CursorPlurality=void 0;class p{constructor(i,s,g,c,l,a,r){this.top=i,this.left=s,this.paddingLeft=g,this.width=c,this.height=l,this.textContent=a,this.textContentClassName=r}}var n;(function(t){t[t.Single=0]=\"Single\",t[t.MultiPrimary=1]=\"MultiPrimary\",t[t.MultiSecondary=2]=\"MultiSecondary\"})(n||(e.CursorPlurality=n={}));class o{constructor(i,s){this._context=i;const g=this._context.configuration.options,c=g.get(50);this._cursorStyle=g.get(28),this._lineHeight=g.get(67),this._typicalHalfwidthCharacterWidth=c.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(g.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=(0,k.createFastDomNode)(document.createElement(\"div\")),this._domNode.setClassName(`cursor ${b.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),(0,E.applyFontInfo)(this._domNode,c),this._domNode.setDisplay(\"none\"),this._position=new m.Position(1,1),this._pluralityClass=\"\",this.setPlurality(s),this._lastRenderedContent=\"\",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(i){switch(i){default:case n.Single:this._pluralityClass=\"\";break;case n.MultiPrimary:this._pluralityClass=\"cursor-primary\";break;case n.MultiSecondary:this._pluralityClass=\"cursor-secondary\";break}}show(){this._isVisible||(this._domNode.setVisibility(\"inherit\"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility(\"hidden\"),this._isVisible=!1)}onConfigurationChanged(i){const s=this._context.configuration.options,g=s.get(50);return this._cursorStyle=s.get(28),this._lineHeight=s.get(67),this._typicalHalfwidthCharacterWidth=g.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(s.get(31),this._typicalHalfwidthCharacterWidth),(0,E.applyFontInfo)(this._domNode,g),!0}onCursorPositionChanged(i,s){return s?this._domNode.domNode.style.transitionProperty=\"none\":this._domNode.domNode.style.transitionProperty=\"\",this._position=i,!0}_getGraphemeAwarePosition(){const{lineNumber:i,column:s}=this._position,g=this._context.viewModel.getLineContent(i),[c,l]=I.getCharContainingOffset(g,s-1);return[new m.Position(i,c+1),g.substring(c,l)]}_prepareRender(i){let s=\"\",g=\"\";const[c,l]=this._getGraphemeAwarePosition();if(this._cursorStyle===y.TextEditorCursorStyle.Line||this._cursorStyle===y.TextEditorCursorStyle.LineThin){const v=i.visibleRangeForPosition(c);if(!v||v.outsideRenderedLine)return null;const w=d.getWindow(this._domNode.domNode);let S;this._cursorStyle===y.TextEditorCursorStyle.Line?(S=d.computeScreenAwareSize(w,this._lineCursorWidth>0?this._lineCursorWidth:2),S>2&&(s=l,g=this._getTokenClassName(c))):S=d.computeScreenAwareSize(w,1);let L=v.left,D=0;S>=2&&L>=1&&(D=1,L-=D);const T=i.getVerticalOffsetForLineNumber(c.lineNumber)-i.bigNumbersDelta;return new p(T,L,D,S,this._lineHeight,s,g)}const a=i.linesVisibleRangesForRange(new _.Range(c.lineNumber,c.column,c.lineNumber,c.column+l.length),!1);if(!a||a.length===0)return null;const r=a[0];if(r.outsideRenderedLine||r.ranges.length===0)return null;const u=r.ranges[0],C=l===\"\t\"?this._typicalHalfwidthCharacterWidth:u.width<1?this._typicalHalfwidthCharacterWidth:u.width;this._cursorStyle===y.TextEditorCursorStyle.Block&&(s=l,g=this._getTokenClassName(c));let f=i.getVerticalOffsetForLineNumber(c.lineNumber)-i.bigNumbersDelta,h=this._lineHeight;return(this._cursorStyle===y.TextEditorCursorStyle.Underline||this._cursorStyle===y.TextEditorCursorStyle.UnderlineThin)&&(f+=this._lineHeight-2,h=2),new p(f,u.left,0,C,h,s,g)}_getTokenClassName(i){const s=this._context.viewModel.getViewLineData(i.lineNumber),g=s.tokens.findTokenIndexAtOffset(i.column-1);return s.tokens.getClassName(g)}prepareRender(i){this._renderData=this._prepareRender(i)}render(i){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${b.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ${this._renderData.textContentClassName}`),this._domNode.setDisplay(\"block\"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay(\"none\"),null)}}e.ViewCursor=o}),define(ne[261],se([1,0,16,37,165]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FontInfo=e.SERIALIZED_FONT_INFO_VERSION=e.BareFontInfo=void 0;const E=d.isMacintosh?1.5:1.35,y=8;class m{static createFromValidatedSettings(p,n,o){const t=p.get(49),i=p.get(53),s=p.get(52),g=p.get(51),c=p.get(54),l=p.get(67),a=p.get(64);return m._create(t,i,s,g,c,l,a,n,o)}static _create(p,n,o,t,i,s,g,c,l){s===0?s=E*o:s<y&&(s=s*o),s=Math.round(s),s<y&&(s=y);const a=1+(l?0:I.EditorZoom.getZoomLevel()*.1);return o*=a,s*=a,i===k.EditorFontVariations.TRANSLATE&&(n===\"normal\"||n===\"bold\"?i=k.EditorFontVariations.OFF:(i=`'wght' ${parseInt(n,10)}`,n=\"normal\")),new m({pixelRatio:c,fontFamily:p,fontWeight:n,fontSize:o,fontFeatureSettings:t,fontVariationSettings:i,lineHeight:s,letterSpacing:g})}constructor(p){this._bareFontInfoBrand=void 0,this.pixelRatio=p.pixelRatio,this.fontFamily=String(p.fontFamily),this.fontWeight=String(p.fontWeight),this.fontSize=p.fontSize,this.fontFeatureSettings=p.fontFeatureSettings,this.fontVariationSettings=p.fontVariationSettings,this.lineHeight=p.lineHeight|0,this.letterSpacing=p.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){const p=k.EDITOR_FONT_DEFAULTS.fontFamily,n=m._wrapInQuotes(this.fontFamily);return p&&this.fontFamily!==p?`${n}, ${p}`:n}static _wrapInQuotes(p){return/[,\"']/.test(p)?p:/[+ ]/.test(p)?`\"${p}\"`:p}}e.BareFontInfo=m,e.SERIALIZED_FONT_INFO_VERSION=2;class _ extends m{constructor(p,n){super(p),this._editorStylingBrand=void 0,this.version=e.SERIALIZED_FONT_INFO_VERSION,this.isTrusted=n,this.isMonospace=p.isMonospace,this.typicalHalfwidthCharacterWidth=p.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=p.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=p.canUseHalfwidthRightwardsArrow,this.spaceWidth=p.spaceWidth,this.middotWidth=p.middotWidth,this.wsmiddotWidth=p.wsmiddotWidth,this.maxDigitWidth=p.maxDigitWidth}equals(p){return this.fontFamily===p.fontFamily&&this.fontWeight===p.fontWeight&&this.fontSize===p.fontSize&&this.fontFeatureSettings===p.fontFeatureSettings&&this.fontVariationSettings===p.fontVariationSettings&&this.lineHeight===p.lineHeight&&this.letterSpacing===p.letterSpacing&&this.typicalHalfwidthCharacterWidth===p.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===p.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===p.canUseHalfwidthRightwardsArrow&&this.spaceWidth===p.spaceWidth&&this.middotWidth===p.middotWidth&&this.wsmiddotWidth===p.wsmiddotWidth&&this.maxDigitWidth===p.maxDigitWidth}}e.FontInfo=_}),define(ne[366],se([1,0,5,253,6,2,545,37,261]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FontMeasurements=e.FontMeasurementsImpl=void 0;class b extends E.Disposable{constructor(){super(...arguments),this._cache=new Map,this._evictUntrustedReadingsTimeout=-1,this._onDidChange=this._register(new I.Emitter),this.onDidChange=this._onDidChange.event}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}_ensureCache(o){const t=(0,d.getWindowId)(o);let i=this._cache.get(t);return i||(i=new p,this._cache.set(t,i)),i}_writeToCache(o,t,i){this._ensureCache(o).put(t,i),!i.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=o.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(o)},5e3))}_evictUntrustedReadings(o){const t=this._ensureCache(o),i=t.getValues();let s=!1;for(const g of i)g.isTrusted||(s=!0,t.remove(g));s&&this._onDidChange.fire()}readFontInfo(o,t){const i=this._ensureCache(o);if(!i.has(t)){let s=this._actualReadFontInfo(o,t);(s.typicalHalfwidthCharacterWidth<=2||s.typicalFullwidthCharacterWidth<=2||s.spaceWidth<=2||s.maxDigitWidth<=2)&&(s=new _.FontInfo({pixelRatio:k.PixelRatio.getInstance(o).value,fontFamily:s.fontFamily,fontWeight:s.fontWeight,fontSize:s.fontSize,fontFeatureSettings:s.fontFeatureSettings,fontVariationSettings:s.fontVariationSettings,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,isMonospace:s.isMonospace,typicalHalfwidthCharacterWidth:Math.max(s.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(s.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:s.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(s.spaceWidth,5),middotWidth:Math.max(s.middotWidth,5),wsmiddotWidth:Math.max(s.wsmiddotWidth,5),maxDigitWidth:Math.max(s.maxDigitWidth,5)},!1)),this._writeToCache(o,t,s)}return i.get(t)}_createRequest(o,t,i,s){const g=new y.CharWidthRequest(o,t);return i.push(g),s?.push(g),g}_actualReadFontInfo(o,t){const i=[],s=[],g=this._createRequest(\"n\",0,i,s),c=this._createRequest(\"\\uFF4D\",0,i,null),l=this._createRequest(\" \",0,i,s),a=this._createRequest(\"0\",0,i,s),r=this._createRequest(\"1\",0,i,s),u=this._createRequest(\"2\",0,i,s),C=this._createRequest(\"3\",0,i,s),f=this._createRequest(\"4\",0,i,s),h=this._createRequest(\"5\",0,i,s),v=this._createRequest(\"6\",0,i,s),w=this._createRequest(\"7\",0,i,s),S=this._createRequest(\"8\",0,i,s),L=this._createRequest(\"9\",0,i,s),D=this._createRequest(\"\\u2192\",0,i,s),T=this._createRequest(\"\\uFFEB\",0,i,null),M=this._createRequest(\"\\xB7\",0,i,s),A=this._createRequest(\"\\u2E31\",0,i,null),P=\"|/-_ilm%\";for(let W=0,V=P.length;W<V;W++)this._createRequest(P.charAt(W),0,i,s),this._createRequest(P.charAt(W),1,i,s),this._createRequest(P.charAt(W),2,i,s);(0,y.readCharWidths)(o,t,i);const N=Math.max(a.width,r.width,u.width,C.width,f.width,h.width,v.width,w.width,S.width,L.width);let O=t.fontFeatureSettings===m.EditorFontLigatures.OFF;const F=s[0].width;for(let W=1,V=s.length;O&&W<V;W++){const q=F-s[W].width;if(q<-.001||q>.001){O=!1;break}}let x=!0;return O&&T.width!==F&&(x=!1),T.width>D.width&&(x=!1),new _.FontInfo({pixelRatio:k.PixelRatio.getInstance(o).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:O,typicalHalfwidthCharacterWidth:g.width,typicalFullwidthCharacterWidth:c.width,canUseHalfwidthRightwardsArrow:x,spaceWidth:l.width,middotWidth:M.width,wsmiddotWidth:A.width,maxDigitWidth:N},!0)}}e.FontMeasurementsImpl=b;class p{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(o){const t=o.getId();return!!this._values[t]}get(o){const t=o.getId();return this._values[t]}put(o,t){const i=o.getId();this._keys[i]=o,this._values[i]=t}remove(o){const t=o.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(o=>this._values[o])}}e.FontMeasurements=new b}),define(ne[116],se([1,0,11,16,160]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StringBuilder=void 0,e.getPlatformTextDecoder=p,e.decodeUTF16LE=n;let E;function y(){return E||(E=new TextDecoder(\"UTF-16LE\")),E}let m;function _(){return m||(m=new TextDecoder(\"UTF-16BE\")),m}let b;function p(){return b||(b=k.isLittleEndian()?y():_()),b}function n(i,s,g){const c=new Uint16Array(i.buffer,s,g);return g>0&&(c[0]===65279||c[0]===65534)?o(i,s,g):y().decode(c)}function o(i,s,g){const c=[];let l=0;for(let a=0;a<g;a++){const r=I.readUInt16LE(i,s);s+=2,c[l++]=String.fromCharCode(r)}return c.join(\"\")}class t{constructor(s){this._capacity=s|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return this._completedStrings!==null?(this._flushBuffer(),this._completedStrings.join(\"\")):this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return\"\";const s=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return p().decode(s)}_flushBuffer(){const s=this._buildBuffer();this._bufferLength=0,this._completedStrings===null?this._completedStrings=[s]:this._completedStrings[this._completedStrings.length]=s}appendCharCode(s){const g=this._capacity-this._bufferLength;g<=1&&(g===0||d.isHighSurrogate(s))&&this._flushBuffer(),this._buffer[this._bufferLength++]=s}appendASCIICharCode(s){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=s}appendString(s){const g=s.length;if(this._bufferLength+g>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=s;return}for(let c=0;c<g;c++)this._buffer[this._bufferLength++]=s.charCodeAt(c)}}e.StringBuilder=t}),define(ne[656],se([1,0,103,11,19,74,116,325,132]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DOMLineBreaksComputerFactory=void 0;const b=(0,d.createTrustedTypesPolicy)(\"domLineBreaksComputer\",{createHTML:g=>g});class p{static create(c){return new p(new WeakRef(c))}constructor(c){this.targetWindow=c}createLineBreaksComputer(c,l,a,r,u){const C=[],f=[];return{addRequest:(h,v,w)=>{C.push(h),f.push(v)},finalize:()=>n((0,I.assertIsDefined)(this.targetWindow.deref()),C,c,l,a,r,u,f)}}}e.DOMLineBreaksComputerFactory=p;function n(g,c,l,a,r,u,C,f){function h(H){const z=f[H];if(z){const U=_.LineInjectedText.applyInjectedText(c[H],z),j=z.map(G=>G.options),Y=z.map(G=>G.column-1);return new m.ModelLineProjectionData(Y,j,[U.length],[],0)}else return null}if(r===-1){const H=[];for(let z=0,U=c.length;z<U;z++)H[z]=h(z);return H}const v=Math.round(r*l.typicalHalfwidthCharacterWidth),S=Math.round(a*(u===3?2:u===2?1:0)),L=Math.ceil(l.spaceWidth*S),D=document.createElement(\"div\");(0,E.applyFontInfo)(D,l);const T=new y.StringBuilder(1e4),M=[],A=[],P=[],N=[],O=[];for(let H=0;H<c.length;H++){const z=_.LineInjectedText.applyInjectedText(c[H],f[H]);let U=0,j=0,Y=v;if(u!==0)if(U=k.firstNonWhitespaceIndex(z),U===-1)U=0;else{for(let J=0;J<U;J++){const ie=z.charCodeAt(J)===9?a-j%a:1;j+=ie}const R=Math.ceil(l.spaceWidth*j);R+l.typicalFullwidthCharacterWidth>v?(U=0,j=0):Y=v-R}const G=z.substr(U),K=o(G,j,a,Y,T,L);M[H]=U,A[H]=j,P[H]=G,N[H]=K[0],O[H]=K[1]}const F=T.build(),x=b?.createHTML(F)??F;D.innerHTML=x,D.style.position=\"absolute\",D.style.top=\"10000\",C===\"keepAll\"?(D.style.wordBreak=\"keep-all\",D.style.overflowWrap=\"anywhere\"):(D.style.wordBreak=\"inherit\",D.style.overflowWrap=\"break-word\"),g.document.body.appendChild(D);const W=document.createRange(),V=Array.prototype.slice.call(D.children,0),q=[];for(let H=0;H<c.length;H++){const z=V[H],U=t(W,z,P[H],N[H]);if(U===null){q[H]=h(H);continue}const j=M[H],Y=A[H]+S,G=O[H],K=[];for(let ue=0,he=U.length;ue<he;ue++)K[ue]=G[U[ue]];if(j!==0)for(let ue=0,he=U.length;ue<he;ue++)U[ue]+=j;let R,J;const ie=f[H];ie?(R=ie.map(ue=>ue.options),J=ie.map(ue=>ue.column-1)):(R=null,J=null),q[H]=new m.ModelLineProjectionData(J,R,U,K,Y)}return D.remove(),q}function o(g,c,l,a,r,u){if(u!==0){const L=String(u);r.appendString('<div style=\"text-indent: -'),r.appendString(L),r.appendString(\"px; padding-left: \"),r.appendString(L),r.appendString(\"px; box-sizing: border-box; width:\")}else r.appendString('<div style=\"width:');r.appendString(String(a)),r.appendString('px;\">');const C=g.length;let f=c,h=0;const v=[],w=[];let S=0<C?g.charCodeAt(0):0;r.appendString(\"<span>\");for(let L=0;L<C;L++){L!==0&&L%16384===0&&r.appendString(\"</span><span>\"),v[L]=h,w[L]=f;const D=S;S=L+1<C?g.charCodeAt(L+1):0;let T=1,M=1;switch(D){case 9:T=l-f%l,M=T;for(let A=1;A<=T;A++)A<T?r.appendCharCode(160):r.appendASCIICharCode(32);break;case 32:S===32?r.appendCharCode(160):r.appendASCIICharCode(32);break;case 60:r.appendString(\"&lt;\");break;case 62:r.appendString(\"&gt;\");break;case 38:r.appendString(\"&amp;\");break;case 0:r.appendString(\"&#00;\");break;case 65279:case 8232:case 8233:case 133:r.appendCharCode(65533);break;default:k.isFullWidthCharacter(D)&&M++,D<32?r.appendCharCode(9216+D):r.appendCharCode(D)}h+=T,f+=M}return r.appendString(\"</span>\"),v[g.length]=h,w[g.length]=f,r.appendString(\"</div>\"),[v,w]}function t(g,c,l,a){if(l.length<=1)return null;const r=Array.prototype.slice.call(c.children,0),u=[];try{i(g,r,a,0,null,l.length-1,null,u)}catch(C){return console.log(C),null}return u.length===0?null:(u.push(l.length),u)}function i(g,c,l,a,r,u,C,f){if(a===u||(r=r||s(g,c,l[a],l[a+1]),C=C||s(g,c,l[u],l[u+1]),Math.abs(r[0].top-C[0].top)<=.1))return;if(a+1===u){f.push(u);return}const h=a+(u-a)/2|0,v=s(g,c,l[h],l[h+1]);i(g,c,l,a,r,h,v,f),i(g,c,l,h,v,u,C,f)}function s(g,c,l,a){return g.setStart(c[l/16384|0].firstChild,l%16384),g.setEnd(c[a/16384|0].firstChild,a%16384),g.getClientRects()}}),define(ne[262],se([1,0,39,103,8,116]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.VisibleLinesCollection=e.RenderedLinesCollection=void 0;class y{constructor(p){this._lineFactory=p,this._set(1,[])}flush(){this._set(1,[])}_set(p,n){this._lines=n,this._rendLineNumberStart=p}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(p){const n=p-this._rendLineNumberStart;if(n<0||n>=this._lines.length)throw new I.BugIndicatingError(\"Illegal value for lineNumber\");return this._lines[n]}onLinesDeleted(p,n){if(this.getCount()===0)return null;const o=this.getStartLineNumber(),t=this.getEndLineNumber();if(n<o){const c=n-p+1;return this._rendLineNumberStart-=c,null}if(p>t)return null;let i=0,s=0;for(let c=o;c<=t;c++){const l=c-this._rendLineNumberStart;p<=c&&c<=n&&(s===0?(i=l,s=1):s++)}if(p<o){let c=0;n<o?c=n-p+1:c=o-p,this._rendLineNumberStart-=c}return this._lines.splice(i,s)}onLinesChanged(p,n){const o=p+n-1;if(this.getCount()===0)return!1;const t=this.getStartLineNumber(),i=this.getEndLineNumber();let s=!1;for(let g=p;g<=o;g++)g>=t&&g<=i&&(this._lines[g-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(p,n){if(this.getCount()===0)return null;const o=n-p+1,t=this.getStartLineNumber(),i=this.getEndLineNumber();if(p<=t)return this._rendLineNumberStart+=o,null;if(p>i)return null;if(o+p>i)return this._lines.splice(p-this._rendLineNumberStart,i-p+1);const s=[];for(let r=0;r<o;r++)s[r]=this._lineFactory.createLine();const g=p-this._rendLineNumberStart,c=this._lines.slice(0,g),l=this._lines.slice(g,this._lines.length-o),a=this._lines.slice(this._lines.length-o,this._lines.length);return this._lines=c.concat(s).concat(l),a}onTokensChanged(p){if(this.getCount()===0)return!1;const n=this.getStartLineNumber(),o=this.getEndLineNumber();let t=!1;for(let i=0,s=p.length;i<s;i++){const g=p[i];if(g.toLineNumber<n||g.fromLineNumber>o)continue;const c=Math.max(n,g.fromLineNumber),l=Math.min(o,g.toLineNumber);for(let a=c;a<=l;a++){const r=a-this._rendLineNumberStart;this._lines[r].onTokensChanged(),t=!0}}return t}}e.RenderedLinesCollection=y;class m{constructor(p){this._lineFactory=p,this.domNode=this._createDomNode(),this._linesCollection=new y(this._lineFactory)}_createDomNode(){const p=(0,d.createFastDomNode)(document.createElement(\"div\"));return p.setClassName(\"view-layer\"),p.setPosition(\"absolute\"),p.domNode.setAttribute(\"role\",\"presentation\"),p.domNode.setAttribute(\"aria-hidden\",\"true\"),p}onConfigurationChanged(p){return!!p.hasChanged(146)}onFlushed(p){return this._linesCollection.flush(),!0}onLinesChanged(p){return this._linesCollection.onLinesChanged(p.fromLineNumber,p.count)}onLinesDeleted(p){const n=this._linesCollection.onLinesDeleted(p.fromLineNumber,p.toLineNumber);if(n)for(let o=0,t=n.length;o<t;o++)n[o].getDomNode()?.remove();return!0}onLinesInserted(p){const n=this._linesCollection.onLinesInserted(p.fromLineNumber,p.toLineNumber);if(n)for(let o=0,t=n.length;o<t;o++)n[o].getDomNode()?.remove();return!0}onScrollChanged(p){return p.scrollTopChanged}onTokensChanged(p){return this._linesCollection.onTokensChanged(p.ranges)}onZonesChanged(p){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(p){return this._linesCollection.getLine(p)}renderLines(p){const n=this._linesCollection._get(),o=new _(this.domNode.domNode,this._lineFactory,p),t={rendLineNumberStart:n.rendLineNumberStart,lines:n.lines,linesLength:n.lines.length},i=o.render(t,p.startLineNumber,p.endLineNumber,p.relativeVerticalOffset);this._linesCollection._set(i.rendLineNumberStart,i.lines)}}e.VisibleLinesCollection=m;class _{static{this._ttPolicy=(0,k.createTrustedTypesPolicy)(\"editorViewLayer\",{createHTML:p=>p})}constructor(p,n,o){this._domNode=p,this._lineFactory=n,this._viewportData=o}render(p,n,o,t){const i={rendLineNumberStart:p.rendLineNumberStart,lines:p.lines.slice(0),linesLength:p.linesLength};if(i.rendLineNumberStart+i.linesLength-1<n||o<i.rendLineNumberStart){i.rendLineNumberStart=n,i.linesLength=o-n+1,i.lines=[];for(let s=n;s<=o;s++)i.lines[s-n]=this._lineFactory.createLine();return this._finishRendering(i,!0,t),i}if(this._renderUntouchedLines(i,Math.max(n-i.rendLineNumberStart,0),Math.min(o-i.rendLineNumberStart,i.linesLength-1),t,n),i.rendLineNumberStart>n){const s=n,g=Math.min(o,i.rendLineNumberStart-1);s<=g&&(this._insertLinesBefore(i,s,g,t,n),i.linesLength+=g-s+1)}else if(i.rendLineNumberStart<n){const s=Math.min(i.linesLength,n-i.rendLineNumberStart);s>0&&(this._removeLinesBefore(i,s),i.linesLength-=s)}if(i.rendLineNumberStart=n,i.rendLineNumberStart+i.linesLength-1<o){const s=i.rendLineNumberStart+i.linesLength,g=o;s<=g&&(this._insertLinesAfter(i,s,g,t,n),i.linesLength+=g-s+1)}else if(i.rendLineNumberStart+i.linesLength-1>o){const s=Math.max(0,o-i.rendLineNumberStart+1),c=i.linesLength-1-s+1;c>0&&(this._removeLinesAfter(i,c),i.linesLength-=c)}return this._finishRendering(i,!1,t),i}_renderUntouchedLines(p,n,o,t,i){const s=p.rendLineNumberStart,g=p.lines;for(let c=n;c<=o;c++){const l=s+c;g[c].layoutLine(l,t[l-i],this._viewportData.lineHeight)}}_insertLinesBefore(p,n,o,t,i){const s=[];let g=0;for(let c=n;c<=o;c++)s[g++]=this._lineFactory.createLine();p.lines=s.concat(p.lines)}_removeLinesBefore(p,n){for(let o=0;o<n;o++)p.lines[o].getDomNode()?.remove();p.lines.splice(0,n)}_insertLinesAfter(p,n,o,t,i){const s=[];let g=0;for(let c=n;c<=o;c++)s[g++]=this._lineFactory.createLine();p.lines=p.lines.concat(s)}_removeLinesAfter(p,n){const o=p.linesLength-n;for(let t=0;t<n;t++)p.lines[o+t].getDomNode()?.remove();p.lines.splice(o,n)}_finishRenderingNewLines(p,n,o,t){_._ttPolicy&&(o=_._ttPolicy.createHTML(o));const i=this._domNode.lastChild;n||!i?this._domNode.innerHTML=o:i.insertAdjacentHTML(\"afterend\",o);let s=this._domNode.lastChild;for(let g=p.linesLength-1;g>=0;g--){const c=p.lines[g];t[g]&&(c.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(p,n,o){const t=document.createElement(\"div\");_._ttPolicy&&(n=_._ttPolicy.createHTML(n)),t.innerHTML=n;for(let i=0;i<p.linesLength;i++){const s=p.lines[i];if(o[i]){const g=t.firstChild,c=s.getDomNode();c.parentNode.replaceChild(g,c),s.setDomNode(g)}}}static{this._sb=new E.StringBuilder(1e5)}_finishRendering(p,n,o){const t=_._sb,i=p.linesLength,s=p.lines,g=p.rendLineNumberStart,c=[];{t.reset();let l=!1;for(let a=0;a<i;a++){const r=s[a];c[a]=!1,!(r.getDomNode()||!r.renderLine(a+g,o[a],this._viewportData.lineHeight,this._viewportData,t))&&(c[a]=!0,l=!0)}l&&this._finishRenderingNewLines(p,n,t.build(),c)}{t.reset();let l=!1;const a=[];for(let r=0;r<i;r++){const u=s[r];a[r]=!1,!(c[r]||!u.renderLine(r+g,o[r],this._viewportData.lineHeight,this._viewportData,t))&&(a[r]=!0,l=!0)}l&&this._finishRenderingInvalidLines(p,t.build(),a)}}}}),define(ne[657],se([1,0,39,74,262,56]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarginViewOverlays=e.ContentViewOverlays=e.ViewOverlayLine=e.ViewOverlays=void 0;class y extends E.ViewPart{constructor(n){super(n),this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new I.VisibleLinesCollection({createLine:()=>new m(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);(0,k.applyFontInfo)(this.domNode,t),this.domNode.setClassName(\"view-overlays\")}shouldRender(){if(super.shouldRender())return!0;for(let n=0,o=this._dynamicOverlays.length;n<o;n++)if(this._dynamicOverlays[n].shouldRender())return!0;return!1}dispose(){super.dispose();for(let n=0,o=this._dynamicOverlays.length;n<o;n++)this._dynamicOverlays[n].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}addDynamicOverlay(n){this._dynamicOverlays.push(n)}onConfigurationChanged(n){this._visibleLines.onConfigurationChanged(n);const t=this._context.configuration.options.get(50);return(0,k.applyFontInfo)(this.domNode,t),!0}onFlushed(n){return this._visibleLines.onFlushed(n)}onFocusChanged(n){return this._isFocused=n.isFocused,!0}onLinesChanged(n){return this._visibleLines.onLinesChanged(n)}onLinesDeleted(n){return this._visibleLines.onLinesDeleted(n)}onLinesInserted(n){return this._visibleLines.onLinesInserted(n)}onScrollChanged(n){return this._visibleLines.onScrollChanged(n)||!0}onTokensChanged(n){return this._visibleLines.onTokensChanged(n)}onZonesChanged(n){return this._visibleLines.onZonesChanged(n)}prepareRender(n){const o=this._dynamicOverlays.filter(t=>t.shouldRender());for(let t=0,i=o.length;t<i;t++){const s=o[t];s.prepareRender(n),s.onDidRender()}}render(n){this._viewOverlaysRender(n),this.domNode.toggleClassName(\"focused\",this._isFocused)}_viewOverlaysRender(n){this._visibleLines.renderLines(n.viewportData)}}e.ViewOverlays=y;class m{constructor(n){this._dynamicOverlays=n,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(n){this._domNode=(0,d.createFastDomNode)(n)}onContentChanged(){}onTokensChanged(){}renderLine(n,o,t,i,s){let g=\"\";for(let c=0,l=this._dynamicOverlays.length;c<l;c++){const a=this._dynamicOverlays[c];g+=a.render(i.startLineNumber,n)}return this._renderedContent===g?!1:(this._renderedContent=g,s.appendString('<div style=\"top:'),s.appendString(String(o)),s.appendString(\"px;height:\"),s.appendString(String(t)),s.appendString('px;\">'),s.appendString(g),s.appendString(\"</div>\"),!0)}layoutLine(n,o,t){this._domNode&&(this._domNode.setTop(o),this._domNode.setHeight(t))}}e.ViewOverlayLine=m;class _ extends y{constructor(n){super(n);const t=this._context.configuration.options.get(146);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(n){const t=this._context.configuration.options.get(146);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(n)||!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollWidthChanged}_viewOverlaysRender(n){super._viewOverlaysRender(n),this.domNode.setWidth(Math.max(n.scrollWidth,this._contentWidth))}}e.ContentViewOverlays=_;class b extends y{constructor(n){super(n);const o=this._context.configuration.options,t=o.get(146);this._contentLeft=t.contentLeft,this.domNode.setClassName(\"margin-view-overlays\"),this.domNode.setWidth(1),(0,k.applyFontInfo)(this.domNode,o.get(50))}onConfigurationChanged(n){const o=this._context.configuration.options;(0,k.applyFontInfo)(this.domNode,o.get(50));const t=o.get(146);return this._contentLeft=t.contentLeft,super.onConfigurationChanged(n)||!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollHeightChanged}_viewOverlaysRender(n){super._viewOverlaysRender(n);const o=Math.min(n.scrollHeight,1e6);this.domNode.setHeight(o),this.domNode.setWidth(this._contentLeft)}}e.MarginViewOverlays=b}),define(ne[367],se([1,0,160,116]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextChange=void 0,e.compressConsecutiveTextChanges=y;function I(_){return _.replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\")}class E{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(b,p,n,o){this.oldPosition=b,this.oldText=p,this.newPosition=n,this.newText=o}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} \"${I(this.newText)}\")`:this.newText.length===0?`(delete@${this.oldPosition} \"${I(this.oldText)}\")`:`(replace@${this.oldPosition} \"${I(this.oldText)}\" with \"${I(this.newText)}\")`}static _writeStringSize(b){return 4+2*b.length}static _writeString(b,p,n){const o=p.length;d.writeUInt32BE(b,o,n),n+=4;for(let t=0;t<o;t++)d.writeUInt16LE(b,p.charCodeAt(t),n),n+=2;return n}static _readString(b,p){const n=d.readUInt32BE(b,p);return p+=4,(0,k.decodeUTF16LE)(b,p,n)}writeSize(){return 8+E._writeStringSize(this.oldText)+E._writeStringSize(this.newText)}write(b,p){return d.writeUInt32BE(b,this.oldPosition,p),p+=4,d.writeUInt32BE(b,this.newPosition,p),p+=4,p=E._writeString(b,this.oldText,p),p=E._writeString(b,this.newText,p),p}static read(b,p,n){const o=d.readUInt32BE(b,p);p+=4;const t=d.readUInt32BE(b,p);p+=4;const i=E._readString(b,p);p+=E._writeStringSize(i);const s=E._readString(b,p);return p+=E._writeStringSize(s),n.push(new E(o,i,t,s)),p}}e.TextChange=E;function y(_,b){return _===null||_.length===0?b:new m(_,b).compress()}class m{constructor(b,p){this._prevEdits=b,this._currEdits=p,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let b=0,p=0,n=this._getPrev(b),o=this._getCurr(p);for(;b<this._prevLen||p<this._currLen;){if(n===null){this._acceptCurr(o),o=this._getCurr(++p);continue}if(o===null){this._acceptPrev(n),n=this._getPrev(++b);continue}if(o.oldEnd<=n.newPosition){this._acceptCurr(o),o=this._getCurr(++p);continue}if(n.newEnd<=o.oldPosition){this._acceptPrev(n),n=this._getPrev(++b);continue}if(o.oldPosition<n.newPosition){const[c,l]=m._splitCurr(o,n.newPosition-o.oldPosition);this._acceptCurr(c),o=l;continue}if(n.newPosition<o.oldPosition){const[c,l]=m._splitPrev(n,o.oldPosition-n.newPosition);this._acceptPrev(c),n=l;continue}let s,g;if(o.oldEnd===n.newEnd)s=n,g=o,n=this._getPrev(++b),o=this._getCurr(++p);else if(o.oldEnd<n.newEnd){const[c,l]=m._splitPrev(n,o.oldLength);s=c,g=o,n=l,o=this._getCurr(++p)}else{const[c,l]=m._splitCurr(o,n.newLength);s=n,g=c,n=this._getPrev(++b),o=l}this._result[this._resultLen++]=new E(s.oldPosition,s.oldText,g.newPosition,g.newText),this._prevDeltaOffset+=s.newLength-s.oldLength,this._currDeltaOffset+=g.newLength-g.oldLength}const t=m._merge(this._result);return m._removeNoOps(t)}_acceptCurr(b){this._result[this._resultLen++]=m._rebaseCurr(this._prevDeltaOffset,b),this._currDeltaOffset+=b.newLength-b.oldLength}_getCurr(b){return b<this._currLen?this._currEdits[b]:null}_acceptPrev(b){this._result[this._resultLen++]=m._rebasePrev(this._currDeltaOffset,b),this._prevDeltaOffset+=b.newLength-b.oldLength}_getPrev(b){return b<this._prevLen?this._prevEdits[b]:null}static _rebaseCurr(b,p){return new E(p.oldPosition-b,p.oldText,p.newPosition,p.newText)}static _rebasePrev(b,p){return new E(p.oldPosition,p.oldText,p.newPosition+b,p.newText)}static _splitPrev(b,p){const n=b.newText.substr(0,p),o=b.newText.substr(p);return[new E(b.oldPosition,b.oldText,b.newPosition,n),new E(b.oldEnd,\"\",b.newPosition+p,o)]}static _splitCurr(b,p){const n=b.oldText.substr(0,p),o=b.oldText.substr(p);return[new E(b.oldPosition,n,b.newPosition,b.newText),new E(b.oldPosition+p,o,b.newEnd,\"\")]}static _merge(b){if(b.length===0)return b;const p=[];let n=0,o=b[0];for(let t=1;t<b.length;t++){const i=b[t];o.oldEnd===i.oldPosition?o=new E(o.oldPosition,o.oldText+i.oldText,o.newPosition,o.newText+i.newText):(p[n++]=o,o=i)}return p[n++]=o,p}static _removeNoOps(b){if(b.length===0)return b;const p=[];let n=0;for(let o=0;o<b.length;o++){const t=b[o];t.oldText!==t.newText&&(p[n++]=t)}return p}}}),define(ne[368],se([1,0,350,99]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.score=I;function I(E,y,m,_,b,p){if(Array.isArray(E)){let n=0;for(const o of E){const t=I(o,y,m,_,b,p);if(t===10)return t;t>n&&(n=t)}return n}else{if(typeof E==\"string\")return _?E===\"*\"?5:E===m?10:0:0;if(E){const{language:n,pattern:o,scheme:t,hasAccessToAllModels:i,notebookType:s}=E;if(!_&&!i)return 0;s&&b&&(y=b);let g=0;if(t)if(t===y.scheme)g=10;else if(t===\"*\")g=5;else return 0;if(n)if(n===m)g=10;else if(n===\"*\")g=Math.max(g,5);else return 0;if(s)if(s===p)g=10;else if(s===\"*\"&&p!==void 0)g=Math.max(g,5);else return 0;if(o){let c;if(typeof o==\"string\"?c=o:c={...o,base:(0,k.normalize)(o.base)},c===y.fsPath||(0,d.match)(c,y.fsPath))g=10;else return 0}return g}else return 0}}}),define(ne[658],se([1,0,6,2,40,368]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LanguageFeatureRegistry=void 0;function y(p){return typeof p==\"string\"?!1:Array.isArray(p)?p.every(y):!!p.exclusive}class m{constructor(n,o,t,i,s){this.uri=n,this.languageId=o,this.notebookUri=t,this.notebookType=i,this.recursive=s}equals(n){return this.notebookType===n.notebookType&&this.languageId===n.languageId&&this.uri.toString()===n.uri.toString()&&this.notebookUri?.toString()===n.notebookUri?.toString()&&this.recursive===n.recursive}}class _{constructor(n){this._notebookInfoResolver=n,this._clock=0,this._entries=[],this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event}register(n,o){let t={selector:n,provider:o,_score:-1,_time:this._clock++};return this._entries.push(t),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,k.toDisposable)(()=>{if(t){const i=this._entries.indexOf(t);i>=0&&(this._entries.splice(i,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),t=void 0)}})}has(n){return this.all(n).length>0}all(n){if(!n)return[];this._updateScores(n,!1);const o=[];for(const t of this._entries)t._score>0&&o.push(t.provider);return o}ordered(n,o=!1){const t=[];return this._orderedForEach(n,o,i=>t.push(i.provider)),t}orderedGroups(n){const o=[];let t,i;return this._orderedForEach(n,!1,s=>{t&&i===s._score?t.push(s.provider):(i=s._score,t=[s.provider],o.push(t))}),o}_orderedForEach(n,o,t){this._updateScores(n,o);for(const i of this._entries)i._score>0&&t(i)}_updateScores(n,o){const t=this._notebookInfoResolver?.(n.uri),i=t?new m(n.uri,n.getLanguageId(),t.uri,t.type,o):new m(n.uri,n.getLanguageId(),void 0,void 0,o);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(const s of this._entries)if(s._score=(0,E.score)(s.selector,i.uri,i.languageId,(0,I.shouldSynchronizeModel)(n),i.notebookUri,i.notebookType),y(s.selector)&&s._score>0)if(o)s._score=0;else{for(const g of this._entries)g._score=0;s._score=1e3;break}this._entries.sort(_._compareByScoreAndTime)}}static _compareByScoreAndTime(n,o){return n._score<o._score?1:n._score>o._score?-1:b(n.selector)&&!b(o.selector)?1:!b(n.selector)&&b(o.selector)?-1:n._time<o._time?1:n._time>o._time?-1:0}}e.LanguageFeatureRegistry=_;function b(p){return typeof p==\"string\"?!1:Array.isArray(p)?p.some(b):!!p.isBuiltin}}),define(ne[27],se([1,0,26,22,4,585,3]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineEditTriggerKind=e.TreeSitterTokenizationRegistry=e.TokenizationRegistry=e.LazyTokenizationSupport=e.InlayHintKind=e.Command=e.NewSymbolNameTriggerKind=e.NewSymbolNameTag=e.FoldingRangeKind=e.TextEdit=e.SymbolKinds=e.symbolKindNames=e.DocumentHighlightKind=e.SignatureHelpTriggerKind=e.DocumentPasteTriggerKind=e.SelectedSuggestionInfo=e.InlineCompletionTriggerKind=e.CompletionItemKinds=e.HoverVerbosityAction=e.EncodedTokenizationResult=e.TokenizationResult=e.Token=void 0,e.isLocationLink=c,e.getAriaLabelForSymbol=l;class m{constructor(D,T,M){this.offset=D,this.type=T,this.language=M,this._tokenBrand=void 0}toString(){return\"(\"+this.offset+\", \"+this.type+\")\"}}e.Token=m;class _{constructor(D,T){this.tokens=D,this.endState=T,this._tokenizationResultBrand=void 0}}e.TokenizationResult=_;class b{constructor(D,T){this.tokens=D,this.endState=T,this._encodedTokenizationResultBrand=void 0}}e.EncodedTokenizationResult=b;var p;(function(L){L[L.Increase=0]=\"Increase\",L[L.Decrease=1]=\"Decrease\"})(p||(e.HoverVerbosityAction=p={}));var n;(function(L){const D=new Map;D.set(0,d.Codicon.symbolMethod),D.set(1,d.Codicon.symbolFunction),D.set(2,d.Codicon.symbolConstructor),D.set(3,d.Codicon.symbolField),D.set(4,d.Codicon.symbolVariable),D.set(5,d.Codicon.symbolClass),D.set(6,d.Codicon.symbolStruct),D.set(7,d.Codicon.symbolInterface),D.set(8,d.Codicon.symbolModule),D.set(9,d.Codicon.symbolProperty),D.set(10,d.Codicon.symbolEvent),D.set(11,d.Codicon.symbolOperator),D.set(12,d.Codicon.symbolUnit),D.set(13,d.Codicon.symbolValue),D.set(15,d.Codicon.symbolEnum),D.set(14,d.Codicon.symbolConstant),D.set(15,d.Codicon.symbolEnum),D.set(16,d.Codicon.symbolEnumMember),D.set(17,d.Codicon.symbolKeyword),D.set(27,d.Codicon.symbolSnippet),D.set(18,d.Codicon.symbolText),D.set(19,d.Codicon.symbolColor),D.set(20,d.Codicon.symbolFile),D.set(21,d.Codicon.symbolReference),D.set(22,d.Codicon.symbolCustomColor),D.set(23,d.Codicon.symbolFolder),D.set(24,d.Codicon.symbolTypeParameter),D.set(25,d.Codicon.account),D.set(26,d.Codicon.issues);function T(P){let N=D.get(P);return N||(console.info(\"No codicon found for CompletionItemKind \"+P),N=d.Codicon.symbolProperty),N}L.toIcon=T;const M=new Map;M.set(\"method\",0),M.set(\"function\",1),M.set(\"constructor\",2),M.set(\"field\",3),M.set(\"variable\",4),M.set(\"class\",5),M.set(\"struct\",6),M.set(\"interface\",7),M.set(\"module\",8),M.set(\"property\",9),M.set(\"event\",10),M.set(\"operator\",11),M.set(\"unit\",12),M.set(\"value\",13),M.set(\"constant\",14),M.set(\"enum\",15),M.set(\"enum-member\",16),M.set(\"enumMember\",16),M.set(\"keyword\",17),M.set(\"snippet\",27),M.set(\"text\",18),M.set(\"color\",19),M.set(\"file\",20),M.set(\"reference\",21),M.set(\"customcolor\",22),M.set(\"folder\",23),M.set(\"type-parameter\",24),M.set(\"typeParameter\",24),M.set(\"account\",25),M.set(\"issue\",26);function A(P,N){let O=M.get(P);return typeof O>\"u\"&&!N&&(O=9),O}L.fromString=A})(n||(e.CompletionItemKinds=n={}));var o;(function(L){L[L.Automatic=0]=\"Automatic\",L[L.Explicit=1]=\"Explicit\"})(o||(e.InlineCompletionTriggerKind=o={}));class t{constructor(D,T,M,A){this.range=D,this.text=T,this.completionKind=M,this.isSnippetText=A}equals(D){return I.Range.lift(this.range).equalsRange(D.range)&&this.text===D.text&&this.completionKind===D.completionKind&&this.isSnippetText===D.isSnippetText}}e.SelectedSuggestionInfo=t;var i;(function(L){L[L.Automatic=0]=\"Automatic\",L[L.PasteAs=1]=\"PasteAs\"})(i||(e.DocumentPasteTriggerKind=i={}));var s;(function(L){L[L.Invoke=1]=\"Invoke\",L[L.TriggerCharacter=2]=\"TriggerCharacter\",L[L.ContentChange=3]=\"ContentChange\"})(s||(e.SignatureHelpTriggerKind=s={}));var g;(function(L){L[L.Text=0]=\"Text\",L[L.Read=1]=\"Read\",L[L.Write=2]=\"Write\"})(g||(e.DocumentHighlightKind=g={}));function c(L){return L&&k.URI.isUri(L.uri)&&I.Range.isIRange(L.range)&&(I.Range.isIRange(L.originSelectionRange)||I.Range.isIRange(L.targetSelectionRange))}e.symbolKindNames={17:(0,y.localize)(669,\"array\"),16:(0,y.localize)(670,\"boolean\"),4:(0,y.localize)(671,\"class\"),13:(0,y.localize)(672,\"constant\"),8:(0,y.localize)(673,\"constructor\"),9:(0,y.localize)(674,\"enumeration\"),21:(0,y.localize)(675,\"enumeration member\"),23:(0,y.localize)(676,\"event\"),7:(0,y.localize)(677,\"field\"),0:(0,y.localize)(678,\"file\"),11:(0,y.localize)(679,\"function\"),10:(0,y.localize)(680,\"interface\"),19:(0,y.localize)(681,\"key\"),5:(0,y.localize)(682,\"method\"),1:(0,y.localize)(683,\"module\"),2:(0,y.localize)(684,\"namespace\"),20:(0,y.localize)(685,\"null\"),15:(0,y.localize)(686,\"number\"),18:(0,y.localize)(687,\"object\"),24:(0,y.localize)(688,\"operator\"),3:(0,y.localize)(689,\"package\"),6:(0,y.localize)(690,\"property\"),14:(0,y.localize)(691,\"string\"),22:(0,y.localize)(692,\"struct\"),25:(0,y.localize)(693,\"type parameter\"),12:(0,y.localize)(694,\"variable\")};function l(L,D){return(0,y.localize)(695,\"{0} ({1})\",L,e.symbolKindNames[D])}var a;(function(L){const D=new Map;D.set(0,d.Codicon.symbolFile),D.set(1,d.Codicon.symbolModule),D.set(2,d.Codicon.symbolNamespace),D.set(3,d.Codicon.symbolPackage),D.set(4,d.Codicon.symbolClass),D.set(5,d.Codicon.symbolMethod),D.set(6,d.Codicon.symbolProperty),D.set(7,d.Codicon.symbolField),D.set(8,d.Codicon.symbolConstructor),D.set(9,d.Codicon.symbolEnum),D.set(10,d.Codicon.symbolInterface),D.set(11,d.Codicon.symbolFunction),D.set(12,d.Codicon.symbolVariable),D.set(13,d.Codicon.symbolConstant),D.set(14,d.Codicon.symbolString),D.set(15,d.Codicon.symbolNumber),D.set(16,d.Codicon.symbolBoolean),D.set(17,d.Codicon.symbolArray),D.set(18,d.Codicon.symbolObject),D.set(19,d.Codicon.symbolKey),D.set(20,d.Codicon.symbolNull),D.set(21,d.Codicon.symbolEnumMember),D.set(22,d.Codicon.symbolStruct),D.set(23,d.Codicon.symbolEvent),D.set(24,d.Codicon.symbolOperator),D.set(25,d.Codicon.symbolTypeParameter);function T(M){let A=D.get(M);return A||(console.info(\"No codicon found for SymbolKind \"+M),A=d.Codicon.symbolProperty),A}L.toIcon=T})(a||(e.SymbolKinds=a={}));class r{}e.TextEdit=r;class u{static{this.Comment=new u(\"comment\")}static{this.Imports=new u(\"imports\")}static{this.Region=new u(\"region\")}static fromValue(D){switch(D){case\"comment\":return u.Comment;case\"imports\":return u.Imports;case\"region\":return u.Region}return new u(D)}constructor(D){this.value=D}}e.FoldingRangeKind=u;var C;(function(L){L[L.AIGenerated=1]=\"AIGenerated\"})(C||(e.NewSymbolNameTag=C={}));var f;(function(L){L[L.Invoke=0]=\"Invoke\",L[L.Automatic=1]=\"Automatic\"})(f||(e.NewSymbolNameTriggerKind=f={}));var h;(function(L){function D(T){return!T||typeof T!=\"object\"?!1:typeof T.id==\"string\"&&typeof T.title==\"string\"}L.is=D})(h||(e.Command=h={}));var v;(function(L){L[L.Type=1]=\"Type\",L[L.Parameter=2]=\"Parameter\"})(v||(e.InlayHintKind=v={}));class w{constructor(D){this.createSupport=D,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(D=>{D&&D.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}e.LazyTokenizationSupport=w,e.TokenizationRegistry=new E.TokenizationRegistry,e.TreeSitterTokenizationRegistry=new E.TokenizationRegistry;var S;(function(L){L[L.Invoke=0]=\"Invoke\",L[L.Automatic=1]=\"Automatic\"})(S||(e.InlineEditTriggerKind=S={}))}),define(ne[177],se([1,0,27]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.NullState=void 0,e.nullTokenize=k,e.nullTokenizeEncoded=I,e.NullState=new class{clone(){return this}equals(E){return this===E}};function k(E,y){return new d.TokenizationResult([new d.Token(0,\"\",E)],y)}function I(E,y){const m=new Uint32Array(2);return m[0]=0,m[1]=(E<<0|0|0|32768|2<<24)>>>0,new d.EncodedTokenizationResult(m,y===null?e.NullState:y)}}),define(ne[208],se([1,0,11,116,4]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BracketsUtils=e.RichEditBrackets=e.RichEditBracket=void 0,e.createBracketOrRegExp=g;class E{constructor(r,u,C,f,h,v){this._richEditBracketBrand=void 0,this.languageId=r,this.index=u,this.open=C,this.close=f,this.forwardRegex=h,this.reversedRegex=v,this._openSet=E._toSet(this.open),this._closeSet=E._toSet(this.close)}isOpen(r){return this._openSet.has(r)}isClose(r){return this._closeSet.has(r)}static _toSet(r){const u=new Set;for(const C of r)u.add(C);return u}}e.RichEditBracket=E;function y(a){const r=a.length;a=a.map(v=>[v[0].toLowerCase(),v[1].toLowerCase()]);const u=[];for(let v=0;v<r;v++)u[v]=v;const C=(v,w)=>{const[S,L]=v,[D,T]=w;return S===D||S===T||L===D||L===T},f=(v,w)=>{const S=Math.min(v,w),L=Math.max(v,w);for(let D=0;D<r;D++)u[D]===L&&(u[D]=S)};for(let v=0;v<r;v++){const w=a[v];for(let S=v+1;S<r;S++){const L=a[S];C(w,L)&&f(u[v],u[S])}}const h=[];for(let v=0;v<r;v++){const w=[],S=[];for(let L=0;L<r;L++)if(u[L]===v){const[D,T]=a[L];w.push(D),S.push(T)}w.length>0&&h.push({open:w,close:S})}return h}class m{constructor(r,u){this._richEditBracketsBrand=void 0;const C=y(u);this.brackets=C.map((f,h)=>new E(r,h,f.open,f.close,n(f.open,f.close,C,h),o(f.open,f.close,C,h))),this.forwardRegex=t(this.brackets),this.reversedRegex=i(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const f of this.brackets){for(const h of f.open)this.textIsBracket[h]=f,this.textIsOpenBracket[h]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,h.length);for(const h of f.close)this.textIsBracket[h]=f,this.textIsOpenBracket[h]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,h.length)}}}e.RichEditBrackets=m;function _(a,r,u,C){for(let f=0,h=r.length;f<h;f++){if(f===u)continue;const v=r[f];for(const w of v.open)w.indexOf(a)>=0&&C.push(w);for(const w of v.close)w.indexOf(a)>=0&&C.push(w)}}function b(a,r){return a.length-r.length}function p(a){if(a.length<=1)return a;const r=[],u=new Set;for(const C of a)u.has(C)||(r.push(C),u.add(C));return r}function n(a,r,u,C){let f=[];f=f.concat(a),f=f.concat(r);for(let h=0,v=f.length;h<v;h++)_(f[h],u,C,f);return f=p(f),f.sort(b),f.reverse(),g(f)}function o(a,r,u,C){let f=[];f=f.concat(a),f=f.concat(r);for(let h=0,v=f.length;h<v;h++)_(f[h],u,C,f);return f=p(f),f.sort(b),f.reverse(),g(f.map(c))}function t(a){let r=[];for(const u of a){for(const C of u.open)r.push(C);for(const C of u.close)r.push(C)}return r=p(r),g(r)}function i(a){let r=[];for(const u of a){for(const C of u.open)r.push(C);for(const C of u.close)r.push(C)}return r=p(r),g(r.map(c))}function s(a){const r=/^[\\w ]+$/.test(a);return a=d.escapeRegExpCharacters(a),r?`\\\\b${a}\\\\b`:a}function g(a,r){const u=`(${a.map(s).join(\")|(\")})`;return d.createRegExp(u,!0,r)}const c=function(){function a(C){const f=new Uint16Array(C.length);let h=0;for(let v=C.length-1;v>=0;v--)f[h++]=C.charCodeAt(v);return k.getPlatformTextDecoder().decode(f)}let r=null,u=null;return function(f){return r!==f&&(r=f,u=a(r)),u}}();class l{static _findPrevBracketInText(r,u,C,f){const h=C.match(r);if(!h)return null;const v=C.length-(h.index||0),w=h[0].length,S=f+v;return new I.Range(u,S-w+1,u,S+1)}static findPrevBracketInRange(r,u,C,f,h){const w=c(C).substring(C.length-h,C.length-f);return this._findPrevBracketInText(r,u,w,f)}static findNextBracketInText(r,u,C,f){const h=C.match(r);if(!h)return null;const v=h.index||0,w=h[0].length;if(w===0)return null;const S=f+v;return new I.Range(u,S+1,u,S+1+w)}static findNextBracketInRange(r,u,C,f,h){const v=C.substring(f,h);return this.findNextBracketInText(r,u,v,f)}}e.BracketsUtils=l}),define(ne[659],se([1,0,13,169,208]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BracketElectricCharacterSupport=void 0;class E{constructor(m){this._richEditBrackets=m}getElectricCharacters(){const m=[];if(this._richEditBrackets)for(const _ of this._richEditBrackets.brackets)for(const b of _.close){const p=b.charAt(b.length-1);m.push(p)}return(0,d.distinct)(m)}onElectricCharacter(m,_,b){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const p=_.findTokenIndexAtOffset(b-1);if((0,k.ignoreBracketsInToken)(_.getStandardTokenType(p)))return null;const n=this._richEditBrackets.reversedRegex,o=_.getLineContent().substring(0,b-1)+m,t=I.BracketsUtils.findPrevBracketInRange(n,1,o,0,o.length);if(!t)return null;const i=o.substring(t.startColumn-1,t.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[i])return null;const g=_.getActualLineContentBefore(t.startColumn-1);return/^\\s*$/.test(g)?{matchOpenBracket:i}:null}}e.BracketElectricCharacterSupport=E}),define(ne[660],se([1,0,297,208]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ClosingBracketKind=e.OpeningBracketKind=e.BracketKindBase=e.LanguageBracketsConfiguration=void 0;class I{constructor(p,n){this.languageId=p;const o=n.brackets?E(n.brackets):[],t=new d.CachedFunction(g=>{const c=new Set;return{info:new m(this,g,c),closing:c}}),i=new d.CachedFunction(g=>{const c=new Set,l=new Set;return{info:new _(this,g,c,l),opening:c,openingColorized:l}});for(const[g,c]of o){const l=t.get(g),a=i.get(c);l.closing.add(a.info),a.opening.add(l.info)}const s=n.colorizedBracketPairs?E(n.colorizedBracketPairs):o.filter(g=>!(g[0]===\"<\"&&g[1]===\">\"));for(const[g,c]of s){const l=t.get(g),a=i.get(c);l.closing.add(a.info),a.openingColorized.add(l.info),a.opening.add(l.info)}this._openingBrackets=new Map([...t.cachedValues].map(([g,c])=>[g,c.info])),this._closingBrackets=new Map([...i.cachedValues].map(([g,c])=>[g,c.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(p){return this._openingBrackets.get(p)}getClosingBracketInfo(p){return this._closingBrackets.get(p)}getBracketInfo(p){return this.getOpeningBracketInfo(p)||this.getClosingBracketInfo(p)}getBracketRegExp(p){const n=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return(0,k.createBracketOrRegExp)(n,p)}}e.LanguageBracketsConfiguration=I;function E(b){return b.filter(([p,n])=>p!==\"\"&&n!==\"\")}class y{constructor(p,n){this.config=p,this.bracketText=n}get languageId(){return this.config.languageId}}e.BracketKindBase=y;class m extends y{constructor(p,n,o){super(p,n),this.openedBrackets=o,this.isOpeningBracket=!0}}e.OpeningBracketKind=m;class _ extends y{constructor(p,n,o,t){super(p,n),this.openingBrackets=o,this.openingColorizedBrackets=t,this.isOpeningBracket=!1}closes(p){return p.config!==this.config?!1:this.openingBrackets.has(p)}closesColorized(p){return p.config!==this.config?!1:this.openingColorizedBrackets.has(p)}getOpeningBrackets(){return[...this.openingBrackets]}}e.ClosingBracketKind=_}),define(ne[369],se([1,0,11,83,27,177]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.tokenizeToString=m,e.tokenizeLineToHTML=_,e._tokenizeToString=b;const y={getInitialState:()=>E.NullState,tokenizeEncoded:(p,n,o)=>(0,E.nullTokenizeEncoded)(0,o)};async function m(p,n,o){if(!o)return b(n,p.languageIdCodec,y);const t=await I.TokenizationRegistry.getOrCreate(o);return b(n,p.languageIdCodec,t||y)}function _(p,n,o,t,i,s,g){let c=\"<div>\",l=t,a=0,r=!0;for(let u=0,C=n.getCount();u<C;u++){const f=n.getEndOffset(u);if(f<=t)continue;let h=\"\";for(;l<f&&l<i;l++){const v=p.charCodeAt(l);switch(v){case 9:{let w=s-(l+a)%s;for(a+=w-1;w>0;)g&&r?(h+=\"&#160;\",r=!1):(h+=\" \",r=!0),w--;break}case 60:h+=\"&lt;\",r=!1;break;case 62:h+=\"&gt;\",r=!1;break;case 38:h+=\"&amp;\",r=!1;break;case 0:h+=\"&#00;\",r=!1;break;case 65279:case 8232:case 8233:case 133:h+=\"\\uFFFD\",r=!1;break;case 13:h+=\"&#8203\",r=!1;break;case 32:g&&r?(h+=\"&#160;\",r=!1):(h+=\" \",r=!0);break;default:h+=String.fromCharCode(v),r=!1}}if(c+=`<span style=\"${n.getInlineStyle(u,o)}\">${h}</span>`,f>i||l>=i)break}return c+=\"</div>\",c}function b(p,n,o){let t='<div class=\"monaco-tokenized-source\">';const i=d.splitLines(p);let s=o.getInitialState();for(let g=0,c=i.length;g<c;g++){const l=i[g];g>0&&(t+=\"<br/>\");const a=o.tokenizeEncoded(l,!0,s);k.LineTokens.convertToEndOffset(a.tokens,l.length);const u=new k.LineTokens(a.tokens,l,n).inflate();let C=0;for(let f=0,h=u.getCount();f<h;f++){const v=u.getClassName(f),w=u.getEndOffset(f);t+=`<span class=\"${v}\">${d.escape(l.substring(C,w))}</span>`,C=w}s=a.endState}return t+=\"</div>\",t}}),define(ne[661],se([1,0,13,6,2,4,169,208,584]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BracketPairsTextModelPart=void 0;class b extends I.Disposable{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(s,g){super(),this.textModel=s,this.languageConfigurationService=g,this.bracketPairsTree=this._register(new I.MutableDisposable),this.onDidChangeEmitter=new k.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(s){(!s.languageId||this.bracketPairsTree.value?.object.didLanguageChange(s.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(s){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(s){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(s){this.bracketPairsTree.value?.object.handleContentChanged(s)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(s){this.bracketPairsTree.value?.object.handleDidChangeTokens(s)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const s=new I.DisposableStore;this.bracketPairsTree.value=p(s.add(new _.BracketPairsTree(this.textModel,g=>this.languageConfigurationService.getLanguageConfiguration(g))),s),s.add(this.bracketPairsTree.value.object.onDidChange(g=>this.onDidChangeEmitter.fire(g))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(s){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(s,!1)||d.CallbackIterable.empty}getBracketPairsInRangeWithMinIndentation(s){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(s,!0)||d.CallbackIterable.empty}getBracketsInRange(s,g=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(s,g)||d.CallbackIterable.empty}findMatchingBracketUp(s,g,c){const l=this.textModel.validatePosition(g),a=this.textModel.getLanguageIdAtPosition(l.lineNumber,l.column);if(this.canBuildAST){const r=this.languageConfigurationService.getLanguageConfiguration(a).bracketsNew.getClosingBracketInfo(s);if(!r)return null;const u=this.getBracketPairsInRange(E.Range.fromPositions(g,g)).findLast(C=>r.closes(C.openingBracketInfo));return u?u.openingBracketRange:null}else{const r=s.toLowerCase(),u=this.languageConfigurationService.getLanguageConfiguration(a).brackets;if(!u)return null;const C=u.textIsBracket[r];return C?t(this._findMatchingBracketUp(C,l,n(c))):null}}matchBracket(s,g){if(this.canBuildAST){const c=this.getBracketPairsInRange(E.Range.fromPositions(s,s)).filter(l=>l.closingBracketRange!==void 0&&(l.openingBracketRange.containsPosition(s)||l.closingBracketRange.containsPosition(s))).findLastMaxBy((0,d.compareBy)(l=>l.openingBracketRange.containsPosition(s)?l.openingBracketRange:l.closingBracketRange,E.Range.compareRangesUsingStarts));return c?[c.openingBracketRange,c.closingBracketRange]:null}else{const c=n(g);return this._matchBracket(this.textModel.validatePosition(s),c)}}_establishBracketSearchOffsets(s,g,c,l){const a=g.getCount(),r=g.getLanguageId(l);let u=Math.max(0,s.column-1-c.maxBracketLength);for(let f=l-1;f>=0;f--){const h=g.getEndOffset(f);if(h<=u)break;if((0,y.ignoreBracketsInToken)(g.getStandardTokenType(f))||g.getLanguageId(f)!==r){u=h;break}}let C=Math.min(g.getLineContent().length,s.column-1+c.maxBracketLength);for(let f=l+1;f<a;f++){const h=g.getStartOffset(f);if(h>=C)break;if((0,y.ignoreBracketsInToken)(g.getStandardTokenType(f))||g.getLanguageId(f)!==r){C=h;break}}return{searchStartOffset:u,searchEndOffset:C}}_matchBracket(s,g){const c=s.lineNumber,l=this.textModel.tokenization.getLineTokens(c),a=this.textModel.getLineContent(c),r=l.findTokenIndexAtOffset(s.column-1);if(r<0)return null;const u=this.languageConfigurationService.getLanguageConfiguration(l.getLanguageId(r)).brackets;if(u&&!(0,y.ignoreBracketsInToken)(l.getStandardTokenType(r))){let{searchStartOffset:C,searchEndOffset:f}=this._establishBracketSearchOffsets(s,l,u,r),h=null;for(;;){const v=m.BracketsUtils.findNextBracketInRange(u.forwardRegex,c,a,C,f);if(!v)break;if(v.startColumn<=s.column&&s.column<=v.endColumn){const w=a.substring(v.startColumn-1,v.endColumn-1).toLowerCase(),S=this._matchFoundBracket(v,u.textIsBracket[w],u.textIsOpenBracket[w],g);if(S){if(S instanceof o)return null;h=S}}C=v.endColumn-1}if(h)return h}if(r>0&&l.getStartOffset(r)===s.column-1){const C=r-1,f=this.languageConfigurationService.getLanguageConfiguration(l.getLanguageId(C)).brackets;if(f&&!(0,y.ignoreBracketsInToken)(l.getStandardTokenType(C))){const{searchStartOffset:h,searchEndOffset:v}=this._establishBracketSearchOffsets(s,l,f,C),w=m.BracketsUtils.findPrevBracketInRange(f.reversedRegex,c,a,h,v);if(w&&w.startColumn<=s.column&&s.column<=w.endColumn){const S=a.substring(w.startColumn-1,w.endColumn-1).toLowerCase(),L=this._matchFoundBracket(w,f.textIsBracket[S],f.textIsOpenBracket[S],g);if(L)return L instanceof o?null:L}}}return null}_matchFoundBracket(s,g,c,l){if(!g)return null;const a=c?this._findMatchingBracketDown(g,s.getEndPosition(),l):this._findMatchingBracketUp(g,s.getStartPosition(),l);return a?a instanceof o?a:[s,a]:null}_findMatchingBracketUp(s,g,c){const l=s.languageId,a=s.reversedRegex;let r=-1,u=0;const C=(f,h,v,w)=>{for(;;){if(c&&++u%100===0&&!c())return o.INSTANCE;const S=m.BracketsUtils.findPrevBracketInRange(a,f,h,v,w);if(!S)break;const L=h.substring(S.startColumn-1,S.endColumn-1).toLowerCase();if(s.isOpen(L)?r++:s.isClose(L)&&r--,r===0)return S;w=S.startColumn-1}return null};for(let f=g.lineNumber;f>=1;f--){const h=this.textModel.tokenization.getLineTokens(f),v=h.getCount(),w=this.textModel.getLineContent(f);let S=v-1,L=w.length,D=w.length;f===g.lineNumber&&(S=h.findTokenIndexAtOffset(g.column-1),L=g.column-1,D=g.column-1);let T=!0;for(;S>=0;S--){const M=h.getLanguageId(S)===l&&!(0,y.ignoreBracketsInToken)(h.getStandardTokenType(S));if(M)T?L=h.getStartOffset(S):(L=h.getStartOffset(S),D=h.getEndOffset(S));else if(T&&L!==D){const A=C(f,w,L,D);if(A)return A}T=M}if(T&&L!==D){const M=C(f,w,L,D);if(M)return M}}return null}_findMatchingBracketDown(s,g,c){const l=s.languageId,a=s.forwardRegex;let r=1,u=0;const C=(h,v,w,S)=>{for(;;){if(c&&++u%100===0&&!c())return o.INSTANCE;const L=m.BracketsUtils.findNextBracketInRange(a,h,v,w,S);if(!L)break;const D=v.substring(L.startColumn-1,L.endColumn-1).toLowerCase();if(s.isOpen(D)?r++:s.isClose(D)&&r--,r===0)return L;w=L.endColumn-1}return null},f=this.textModel.getLineCount();for(let h=g.lineNumber;h<=f;h++){const v=this.textModel.tokenization.getLineTokens(h),w=v.getCount(),S=this.textModel.getLineContent(h);let L=0,D=0,T=0;h===g.lineNumber&&(L=v.findTokenIndexAtOffset(g.column-1),D=g.column-1,T=g.column-1);let M=!0;for(;L<w;L++){const A=v.getLanguageId(L)===l&&!(0,y.ignoreBracketsInToken)(v.getStandardTokenType(L));if(A)M||(D=v.getStartOffset(L)),T=v.getEndOffset(L);else if(M&&D!==T){const P=C(h,S,D,T);if(P)return P}M=A}if(M&&D!==T){const A=C(h,S,D,T);if(A)return A}}return null}findPrevBracket(s){const g=this.textModel.validatePosition(s);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(g)||null;let c=null,l=null,a=null;for(let r=g.lineNumber;r>=1;r--){const u=this.textModel.tokenization.getLineTokens(r),C=u.getCount(),f=this.textModel.getLineContent(r);let h=C-1,v=f.length,w=f.length;if(r===g.lineNumber){h=u.findTokenIndexAtOffset(g.column-1),v=g.column-1,w=g.column-1;const L=u.getLanguageId(h);c!==L&&(c=L,l=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew)}let S=!0;for(;h>=0;h--){const L=u.getLanguageId(h);if(c!==L){if(l&&a&&S&&v!==w){const T=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(T)return this._toFoundBracket(a,T);S=!1}c=L,l=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew}const D=!!l&&!(0,y.ignoreBracketsInToken)(u.getStandardTokenType(h));if(D)S?v=u.getStartOffset(h):(v=u.getStartOffset(h),w=u.getEndOffset(h));else if(a&&l&&S&&v!==w){const T=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(T)return this._toFoundBracket(a,T)}S=D}if(a&&l&&S&&v!==w){const L=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(L)return this._toFoundBracket(a,L)}}return null}findNextBracket(s){const g=this.textModel.validatePosition(s);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(g)||null;const c=this.textModel.getLineCount();let l=null,a=null,r=null;for(let u=g.lineNumber;u<=c;u++){const C=this.textModel.tokenization.getLineTokens(u),f=C.getCount(),h=this.textModel.getLineContent(u);let v=0,w=0,S=0;if(u===g.lineNumber){v=C.findTokenIndexAtOffset(g.column-1),w=g.column-1,S=g.column-1;const D=C.getLanguageId(v);l!==D&&(l=D,a=this.languageConfigurationService.getLanguageConfiguration(l).brackets,r=this.languageConfigurationService.getLanguageConfiguration(l).bracketsNew)}let L=!0;for(;v<f;v++){const D=C.getLanguageId(v);if(l!==D){if(r&&a&&L&&w!==S){const M=m.BracketsUtils.findNextBracketInRange(a.forwardRegex,u,h,w,S);if(M)return this._toFoundBracket(r,M);L=!1}l=D,a=this.languageConfigurationService.getLanguageConfiguration(l).brackets,r=this.languageConfigurationService.getLanguageConfiguration(l).bracketsNew}const T=!!a&&!(0,y.ignoreBracketsInToken)(C.getStandardTokenType(v));if(T)L||(w=C.getStartOffset(v)),S=C.getEndOffset(v);else if(r&&a&&L&&w!==S){const M=m.BracketsUtils.findNextBracketInRange(a.forwardRegex,u,h,w,S);if(M)return this._toFoundBracket(r,M)}L=T}if(r&&a&&L&&w!==S){const D=m.BracketsUtils.findNextBracketInRange(a.forwardRegex,u,h,w,S);if(D)return this._toFoundBracket(r,D)}}return null}findEnclosingBrackets(s,g){const c=this.textModel.validatePosition(s);if(this.canBuildAST){const S=E.Range.fromPositions(c),L=this.getBracketPairsInRange(E.Range.fromPositions(c,c)).findLast(D=>D.closingBracketRange!==void 0&&D.range.strictContainsRange(S));return L?[L.openingBracketRange,L.closingBracketRange]:null}const l=n(g),a=this.textModel.getLineCount(),r=new Map;let u=[];const C=(S,L)=>{if(!r.has(S)){const D=[];for(let T=0,M=L?L.brackets.length:0;T<M;T++)D[T]=0;r.set(S,D)}u=r.get(S)};let f=0;const h=(S,L,D,T,M)=>{for(;;){if(l&&++f%100===0&&!l())return o.INSTANCE;const A=m.BracketsUtils.findNextBracketInRange(S.forwardRegex,L,D,T,M);if(!A)break;const P=D.substring(A.startColumn-1,A.endColumn-1).toLowerCase(),N=S.textIsBracket[P];if(N&&(N.isOpen(P)?u[N.index]++:N.isClose(P)&&u[N.index]--,u[N.index]===-1))return this._matchFoundBracket(A,N,!1,l);T=A.endColumn-1}return null};let v=null,w=null;for(let S=c.lineNumber;S<=a;S++){const L=this.textModel.tokenization.getLineTokens(S),D=L.getCount(),T=this.textModel.getLineContent(S);let M=0,A=0,P=0;if(S===c.lineNumber){M=L.findTokenIndexAtOffset(c.column-1),A=c.column-1,P=c.column-1;const O=L.getLanguageId(M);v!==O&&(v=O,w=this.languageConfigurationService.getLanguageConfiguration(v).brackets,C(v,w))}let N=!0;for(;M<D;M++){const O=L.getLanguageId(M);if(v!==O){if(w&&N&&A!==P){const x=h(w,S,T,A,P);if(x)return t(x);N=!1}v=O,w=this.languageConfigurationService.getLanguageConfiguration(v).brackets,C(v,w)}const F=!!w&&!(0,y.ignoreBracketsInToken)(L.getStandardTokenType(M));if(F)N||(A=L.getStartOffset(M)),P=L.getEndOffset(M);else if(w&&N&&A!==P){const x=h(w,S,T,A,P);if(x)return t(x)}N=F}if(w&&N&&A!==P){const O=h(w,S,T,A,P);if(O)return t(O)}}return null}_toFoundBracket(s,g){if(!g)return null;let c=this.textModel.getValueInRange(g);c=c.toLowerCase();const l=s.getBracketInfo(c);return l?{range:g,bracketInfo:l}:null}}e.BracketPairsTextModelPart=b;function p(i,s){return{object:i,dispose:()=>s?.dispose()}}function n(i){if(typeof i>\"u\")return()=>!0;{const s=Date.now();return()=>Date.now()-s<=i}}class o{static{this.INSTANCE=new o}constructor(){this._searchCanceledBrand=void 0}}function t(i){return i instanceof o?null:i}}),define(ne[370],se([1,0,3,8,23,22,367,160,48]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditStack=e.MultiModelEditStackElement=e.SingleModelEditStackElement=e.SingleModelEditStackData=void 0,e.isEditStackElement=i;function b(g){return g.toString()}class p{static create(c,l){const a=c.getAlternativeVersionId(),r=t(c);return new p(a,a,r,r,l,l,[])}constructor(c,l,a,r,u,C,f){this.beforeVersionId=c,this.afterVersionId=l,this.beforeEOL=a,this.afterEOL=r,this.beforeCursorState=u,this.afterCursorState=C,this.changes=f}append(c,l,a,r,u){l.length>0&&(this.changes=(0,y.compressConsecutiveTextChanges)(this.changes,l)),this.afterEOL=a,this.afterVersionId=r,this.afterCursorState=u}static _writeSelectionsSize(c){return 4+4*4*(c?c.length:0)}static _writeSelections(c,l,a){if(m.writeUInt32BE(c,l?l.length:0,a),a+=4,l)for(const r of l)m.writeUInt32BE(c,r.selectionStartLineNumber,a),a+=4,m.writeUInt32BE(c,r.selectionStartColumn,a),a+=4,m.writeUInt32BE(c,r.positionLineNumber,a),a+=4,m.writeUInt32BE(c,r.positionColumn,a),a+=4;return a}static _readSelections(c,l,a){const r=m.readUInt32BE(c,l);l+=4;for(let u=0;u<r;u++){const C=m.readUInt32BE(c,l);l+=4;const f=m.readUInt32BE(c,l);l+=4;const h=m.readUInt32BE(c,l);l+=4;const v=m.readUInt32BE(c,l);l+=4,a.push(new I.Selection(C,f,h,v))}return l}serialize(){let c=10+p._writeSelectionsSize(this.beforeCursorState)+p._writeSelectionsSize(this.afterCursorState)+4;for(const r of this.changes)c+=r.writeSize();const l=new Uint8Array(c);let a=0;m.writeUInt32BE(l,this.beforeVersionId,a),a+=4,m.writeUInt32BE(l,this.afterVersionId,a),a+=4,m.writeUInt8(l,this.beforeEOL,a),a+=1,m.writeUInt8(l,this.afterEOL,a),a+=1,a=p._writeSelections(l,this.beforeCursorState,a),a=p._writeSelections(l,this.afterCursorState,a),m.writeUInt32BE(l,this.changes.length,a),a+=4;for(const r of this.changes)a=r.write(l,a);return l.buffer}static deserialize(c){const l=new Uint8Array(c);let a=0;const r=m.readUInt32BE(l,a);a+=4;const u=m.readUInt32BE(l,a);a+=4;const C=m.readUInt8(l,a);a+=1;const f=m.readUInt8(l,a);a+=1;const h=[];a=p._readSelections(l,a,h);const v=[];a=p._readSelections(l,a,v);const w=m.readUInt32BE(l,a);a+=4;const S=[];for(let L=0;L<w;L++)a=y.TextChange.read(l,a,S);return new p(r,u,C,f,h,v,S)}}e.SingleModelEditStackData=p;class n{get type(){return 0}get resource(){return E.URI.isUri(this.model)?this.model:this.model.uri}constructor(c,l,a,r){this.label=c,this.code=l,this.model=a,this._data=p.create(a,r)}toString(){return(this._data instanceof p?this._data:p.deserialize(this._data)).changes.map(l=>l.toString()).join(\", \")}matchesResource(c){return(E.URI.isUri(this.model)?this.model:this.model.uri).toString()===c.toString()}setModel(c){this.model=c}canAppend(c){return this.model===c&&this._data instanceof p}append(c,l,a,r,u){this._data instanceof p&&this._data.append(c,l,a,r,u)}close(){this._data instanceof p&&(this._data=this._data.serialize())}open(){this._data instanceof p||(this._data=p.deserialize(this._data))}undo(){if(E.URI.isUri(this.model))throw new Error(\"Invalid SingleModelEditStackElement\");this._data instanceof p&&(this._data=this._data.serialize());const c=p.deserialize(this._data);this.model._applyUndo(c.changes,c.beforeEOL,c.beforeVersionId,c.beforeCursorState)}redo(){if(E.URI.isUri(this.model))throw new Error(\"Invalid SingleModelEditStackElement\");this._data instanceof p&&(this._data=this._data.serialize());const c=p.deserialize(this._data);this.model._applyRedo(c.changes,c.afterEOL,c.afterVersionId,c.afterCursorState)}heapSize(){return this._data instanceof p&&(this._data=this._data.serialize()),this._data.byteLength+168}}e.SingleModelEditStackElement=n;class o{get resources(){return this._editStackElementsArr.map(c=>c.resource)}constructor(c,l,a){this.label=c,this.code=l,this.type=1,this._isOpen=!0,this._editStackElementsArr=a.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const u=b(r.resource);this._editStackElementsMap.set(u,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(c){const l=b(c);return this._editStackElementsMap.has(l)}setModel(c){const l=b(E.URI.isUri(c)?c:c.uri);this._editStackElementsMap.has(l)&&this._editStackElementsMap.get(l).setModel(c)}canAppend(c){if(!this._isOpen)return!1;const l=b(c.uri);return this._editStackElementsMap.has(l)?this._editStackElementsMap.get(l).canAppend(c):!1}append(c,l,a,r,u){const C=b(c.uri);this._editStackElementsMap.get(C).append(c,l,a,r,u)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const c of this._editStackElementsArr)c.undo()}redo(){for(const c of this._editStackElementsArr)c.redo()}heapSize(c){const l=b(c);return this._editStackElementsMap.has(l)?this._editStackElementsMap.get(l).heapSize():0}split(){return this._editStackElementsArr}toString(){const c=[];for(const l of this._editStackElementsArr)c.push(`${(0,_.basename)(l.resource)}: ${l}`);return`{${c.join(\", \")}}`}}e.MultiModelEditStackElement=o;function t(g){return g.getEOL()===`\n`?0:1}function i(g){return g?g instanceof n||g instanceof o:!1}class s{constructor(c,l){this._model=c,this._undoRedoService=l}pushStackElement(){const c=this._undoRedoService.getLastElement(this._model.uri);i(c)&&c.close()}popStackElement(){const c=this._undoRedoService.getLastElement(this._model.uri);i(c)&&c.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(c,l){const a=this._undoRedoService.getLastElement(this._model.uri);if(i(a)&&a.canAppend(this._model))return a;const r=new n(d.localize(697,\"Typing\"),\"undoredo.textBufferEdit\",this._model,c);return this._undoRedoService.pushElement(r,l),r}pushEOL(c){const l=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(c),l.append(this._model,[],t(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(c,l,a,r){const u=this._getOrCreateEditStackElement(c,r),C=this._model.applyEdits(l,!0),f=s._computeCursorState(a,C),h=C.map((v,w)=>({index:w,textChange:v.textChange}));return h.sort((v,w)=>v.textChange.oldPosition===w.textChange.oldPosition?v.index-w.index:v.textChange.oldPosition-w.textChange.oldPosition),u.append(this._model,h.map(v=>v.textChange),t(this._model),this._model.getAlternativeVersionId(),f),f}static _computeCursorState(c,l){try{return c?c(l):null}catch(a){return(0,k.onUnexpectedError)(a),null}}}e.EditStack=s}),define(ne[371],se([1,0,6,11,4,40,324,145,367,2]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PieceTreeTextBuffer=void 0;class p extends b.Disposable{constructor(o,t,i,s,g,c,l){super(),this._onDidChangeContent=this._register(new d.Emitter),this._BOM=t,this._mightContainNonBasicASCII=!c,this._mightContainRTL=s,this._mightContainUnusualLineTerminators=g,this._pieceTree=new y.PieceTreeBase(o,i,l)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(o){return this._pieceTree.createSnapshot(o?this._BOM:\"\")}getOffsetAt(o,t){return this._pieceTree.getOffsetAt(o,t)}getPositionAt(o){return this._pieceTree.getPositionAt(o)}getRangeAt(o,t){const i=o+t,s=this.getPositionAt(o),g=this.getPositionAt(i);return new I.Range(s.lineNumber,s.column,g.lineNumber,g.column)}getValueInRange(o,t=0){if(o.isEmpty())return\"\";const i=this._getEndOfLine(t);return this._pieceTree.getValueInRange(o,i)}getValueLengthInRange(o,t=0){if(o.isEmpty())return 0;if(o.startLineNumber===o.endLineNumber)return o.endColumn-o.startColumn;const i=this.getOffsetAt(o.startLineNumber,o.startColumn),s=this.getOffsetAt(o.endLineNumber,o.endColumn);let g=0;const c=this._getEndOfLine(t),l=this.getEOL();if(c.length!==l.length){const a=c.length-l.length,r=o.endLineNumber-o.startLineNumber;g=a*r}return s-i+g}getCharacterCountInRange(o,t=0){if(this._mightContainNonBasicASCII){let i=0;const s=o.startLineNumber,g=o.endLineNumber;for(let c=s;c<=g;c++){const l=this.getLineContent(c),a=c===s?o.startColumn-1:0,r=c===g?o.endColumn-1:l.length;for(let u=a;u<r;u++)k.isHighSurrogate(l.charCodeAt(u))?(i=i+1,u=u+1):i=i+1}return i+=this._getEndOfLine(t).length*(g-s),i}return this.getValueLengthInRange(o,t)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(o){return this._pieceTree.getLineContent(o)}getLineCharCode(o,t){return this._pieceTree.getLineCharCode(o,t)}getLineLength(o){return this._pieceTree.getLineLength(o)}getLineFirstNonWhitespaceColumn(o){const t=k.firstNonWhitespaceIndex(this.getLineContent(o));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(o){const t=k.lastNonWhitespaceIndex(this.getLineContent(o));return t===-1?0:t+2}_getEndOfLine(o){switch(o){case 1:return`\n`;case 2:return`\\r\n`;case 0:return this.getEOL();default:throw new Error(\"Unknown EOL preference\")}}setEOL(o){this._pieceTree.setEOL(o)}applyEdits(o,t,i){let s=this._mightContainRTL,g=this._mightContainUnusualLineTerminators,c=this._mightContainNonBasicASCII,l=!0,a=[];for(let w=0;w<o.length;w++){const S=o[w];l&&S._isTracked&&(l=!1);const L=S.range;if(S.text){let P=!0;c||(P=!k.isBasicASCII(S.text),c=P),!s&&P&&(s=k.containsRTL(S.text)),!g&&P&&(g=k.containsUnusualLineTerminators(S.text))}let D=\"\",T=0,M=0,A=0;if(S.text){let P;[T,M,A,P]=(0,m.countEOL)(S.text);const N=this.getEOL();P===0||P===(N===`\\r\n`?2:1)?D=S.text:D=S.text.replace(/\\r\\n|\\r|\\n/g,N)}a[w]={sortIndex:w,identifier:S.identifier||null,range:L,rangeOffset:this.getOffsetAt(L.startLineNumber,L.startColumn),rangeLength:this.getValueLengthInRange(L),text:D,eolCount:T,firstLineLength:M,lastLineLength:A,forceMoveMarkers:!!S.forceMoveMarkers,isAutoWhitespaceEdit:S.isAutoWhitespaceEdit||!1}}a.sort(p._sortOpsAscending);let r=!1;for(let w=0,S=a.length-1;w<S;w++){const L=a[w].range.getEndPosition(),D=a[w+1].range.getStartPosition();if(D.isBeforeOrEqual(L)){if(D.isBefore(L))throw new Error(\"Overlapping ranges are not allowed!\");r=!0}}l&&(a=this._reduceOperations(a));const u=i||t?p._getInverseEditRanges(a):[],C=[];if(t)for(let w=0;w<a.length;w++){const S=a[w],L=u[w];if(S.isAutoWhitespaceEdit&&S.range.isEmpty())for(let D=L.startLineNumber;D<=L.endLineNumber;D++){let T=\"\";D===L.startLineNumber&&(T=this.getLineContent(S.range.startLineNumber),k.firstNonWhitespaceIndex(T)!==-1)||C.push({lineNumber:D,oldContent:T})}}let f=null;if(i){let w=0;f=[];for(let S=0;S<a.length;S++){const L=a[S],D=u[S],T=this.getValueInRange(L.range),M=L.rangeOffset+w;w+=L.text.length-T.length,f[S]={sortIndex:L.sortIndex,identifier:L.identifier,range:D,text:T,textChange:new _.TextChange(L.rangeOffset,T,M,L.text)}}r||f.sort((S,L)=>S.sortIndex-L.sortIndex)}this._mightContainRTL=s,this._mightContainUnusualLineTerminators=g,this._mightContainNonBasicASCII=c;const h=this._doApplyEdits(a);let v=null;if(t&&C.length>0){C.sort((w,S)=>S.lineNumber-w.lineNumber),v=[];for(let w=0,S=C.length;w<S;w++){const L=C[w].lineNumber;if(w>0&&C[w-1].lineNumber===L)continue;const D=C[w].oldContent,T=this.getLineContent(L);T.length===0||T===D||k.firstNonWhitespaceIndex(T)!==-1||v.push(L)}}return this._onDidChangeContent.fire(),new E.ApplyEditsResult(f,h,v)}_reduceOperations(o){return o.length<1e3?o:[this._toSingleEditOperation(o)]}_toSingleEditOperation(o){let t=!1;const i=o[0].range,s=o[o.length-1].range,g=new I.Range(i.startLineNumber,i.startColumn,s.endLineNumber,s.endColumn);let c=i.startLineNumber,l=i.startColumn;const a=[];for(let h=0,v=o.length;h<v;h++){const w=o[h],S=w.range;t=t||w.forceMoveMarkers,a.push(this.getValueInRange(new I.Range(c,l,S.startLineNumber,S.startColumn))),w.text.length>0&&a.push(w.text),c=S.endLineNumber,l=S.endColumn}const r=a.join(\"\"),[u,C,f]=(0,m.countEOL)(r);return{sortIndex:0,identifier:o[0].identifier,range:g,rangeOffset:this.getOffsetAt(g.startLineNumber,g.startColumn),rangeLength:this.getValueLengthInRange(g,0),text:r,eolCount:u,firstLineLength:C,lastLineLength:f,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(o){o.sort(p._sortOpsDescending);const t=[];for(let i=0;i<o.length;i++){const s=o[i],g=s.range.startLineNumber,c=s.range.startColumn,l=s.range.endLineNumber,a=s.range.endColumn;if(g===l&&c===a&&s.text.length===0)continue;s.text?(this._pieceTree.delete(s.rangeOffset,s.rangeLength),this._pieceTree.insert(s.rangeOffset,s.text,!0)):this._pieceTree.delete(s.rangeOffset,s.rangeLength);const r=new I.Range(g,c,l,a);t.push({range:r,rangeLength:s.rangeLength,text:s.text,rangeOffset:s.rangeOffset,forceMoveMarkers:s.forceMoveMarkers})}return t}findMatchesLineByLine(o,t,i,s){return this._pieceTree.findMatchesLineByLine(o,t,i,s)}static _getInverseEditRanges(o){const t=[];let i=0,s=0,g=null;for(let c=0,l=o.length;c<l;c++){const a=o[c];let r,u;g?g.range.endLineNumber===a.range.startLineNumber?(r=i,u=s+(a.range.startColumn-g.range.endColumn)):(r=i+(a.range.startLineNumber-g.range.endLineNumber),u=a.range.startColumn):(r=a.range.startLineNumber,u=a.range.startColumn);let C;if(a.text.length>0){const f=a.eolCount+1;f===1?C=new I.Range(r,u,r,u+a.firstLineLength):C=new I.Range(r,u,r+f-1,a.lastLineLength+1)}else C=new I.Range(r,u,r,u);i=C.endLineNumber,s=C.endColumn,t.push(C),g=a}return t}static _sortOpsAscending(o,t){const i=I.Range.compareRangesUsingEnds(o.range,t.range);return i===0?o.sortIndex-t.sortIndex:i}static _sortOpsDescending(o,t){const i=I.Range.compareRangesUsingEnds(o.range,t.range);return i===0?t.sortIndex-o.sortIndex:-i}}e.PieceTreeTextBuffer=p}),define(ne[662],se([1,0,11,324,371]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PieceTreeTextBufferBuilder=void 0;class E{constructor(_,b,p,n,o,t,i,s,g){this._chunks=_,this._bom=b,this._cr=p,this._lf=n,this._crlf=o,this._containsRTL=t,this._containsUnusualLineTerminators=i,this._isBasicASCII=s,this._normalizeEOL=g}_getEOL(_){const b=this._cr+this._lf+this._crlf,p=this._cr+this._crlf;return b===0?_===1?`\n`:`\\r\n`:p>b/2?`\\r\n`:`\n`}create(_){const b=this._getEOL(_),p=this._chunks;if(this._normalizeEOL&&(b===`\\r\n`&&(this._cr>0||this._lf>0)||b===`\n`&&(this._cr>0||this._crlf>0)))for(let o=0,t=p.length;o<t;o++){const i=p[o].buffer.replace(/\\r\\n|\\r|\\n/g,b),s=(0,k.createLineStartsFast)(i);p[o]=new k.StringBuffer(i,s)}const n=new I.PieceTreeTextBuffer(p,this._bom,b,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:n,disposable:n}}}class y{constructor(){this.chunks=[],this.BOM=\"\",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(_){if(_.length===0)return;this.chunks.length===0&&d.startsWithUTF8BOM(_)&&(this.BOM=d.UTF8_BOM_CHARACTER,_=_.substr(1));const b=_.charCodeAt(_.length-1);b===13||b>=55296&&b<=56319?(this._acceptChunk1(_.substr(0,_.length-1),!1),this._hasPreviousChar=!0,this._previousChar=b):(this._acceptChunk1(_,!1),this._hasPreviousChar=!1,this._previousChar=b)}_acceptChunk1(_,b){!b&&_.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+_):this._acceptChunk2(_))}_acceptChunk2(_){const b=(0,k.createLineStarts)(this._tmpLineStarts,_);this.chunks.push(new k.StringBuffer(_,b.lineStarts)),this.cr+=b.cr,this.lf+=b.lf,this.crlf+=b.crlf,b.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=d.containsRTL(_)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=d.containsUnusualLineTerminators(_)))}finish(_=!0){return this._finish(),new E(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,_)}_finish(){if(this.chunks.length===0&&this._acceptChunk1(\"\",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const _=this.chunks[this.chunks.length-1];_.buffer+=String.fromCharCode(this._previousChar);const b=(0,k.createLineStartsFast)(_.buffer);_.lineStarts=b,this._previousChar===13&&this.cr++}}}e.PieceTreeTextBufferBuilder=y}),define(ne[663],se([1,0,14,8,16,54,145,55,68,177,576,330,83]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DefaultBackgroundTokenizer=e.RangePriorityQueueImpl=e.TokenizationStateStore=e.TrackingTokenizationStateStore=e.TokenizerWithStateStoreAndTextModel=e.TokenizerWithStateStore=void 0;class t{constructor(u,C){this.tokenizationSupport=C,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new s(u)}getStartState(u){return this.store.getStartState(u,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}e.TokenizerWithStateStore=t;class i extends t{constructor(u,C,f,h){super(u,C),this._textModel=f,this._languageIdCodec=h}updateTokensUntilLine(u,C){const f=this._textModel.getLanguageId();for(;;){const h=this.getFirstInvalidLine();if(!h||h.lineNumber>C)break;const v=this._textModel.getLineContent(h.lineNumber),w=l(this._languageIdCodec,f,this.tokenizationSupport,v,!0,h.startState);u.add(h.lineNumber,w.tokens),this.store.setEndState(h.lineNumber,w.endState)}}getTokenTypeIfInsertingCharacter(u,C){const f=this.getStartState(u.lineNumber);if(!f)return 0;const h=this._textModel.getLanguageId(),v=this._textModel.getLineContent(u.lineNumber),w=v.substring(0,u.column-1)+C+v.substring(u.column-1),S=l(this._languageIdCodec,h,this.tokenizationSupport,w,!0,f),L=new o.LineTokens(S.tokens,w,this._languageIdCodec);if(L.getCount()===0)return 0;const D=L.findTokenIndexAtOffset(u.column-1);return L.getStandardTokenType(D)}tokenizeLineWithEdit(u,C,f){const h=u.lineNumber,v=u.column,w=this.getStartState(h);if(!w)return null;const S=this._textModel.getLineContent(h),L=S.substring(0,v-1)+f+S.substring(v-1+C),D=this._textModel.getLanguageIdAtPosition(h,0),T=l(this._languageIdCodec,D,this.tokenizationSupport,L,!0,w);return new o.LineTokens(T.tokens,L,this._languageIdCodec)}hasAccurateTokensForLine(u){const C=this.store.getFirstInvalidEndStateLineNumberOrMax();return u<C}isCheapToTokenize(u){const C=this.store.getFirstInvalidEndStateLineNumberOrMax();return u<C||u===C&&this._textModel.getLineLength(u)<2048}tokenizeHeuristically(u,C,f){if(f<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(C<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(u,f),{heuristicTokens:!1};let h=this.guessStartState(C);const v=this._textModel.getLanguageId();for(let w=C;w<=f;w++){const S=this._textModel.getLineContent(w),L=l(this._languageIdCodec,v,this.tokenizationSupport,S,!0,h);u.add(w,L.tokens),h=L.endState}return{heuristicTokens:!0}}guessStartState(u){let C=this._textModel.getLineFirstNonWhitespaceColumn(u);const f=[];let h=null;for(let S=u-1;C>1&&S>=1;S--){const L=this._textModel.getLineFirstNonWhitespaceColumn(S);if(L!==0&&L<C&&(f.push(this._textModel.getLineContent(S)),C=L,h=this.getStartState(S),h))break}h||(h=this.tokenizationSupport.getInitialState()),f.reverse();const v=this._textModel.getLanguageId();let w=h;for(const S of f)w=l(this._languageIdCodec,v,this.tokenizationSupport,S,!1,w).endState;return w}}e.TokenizerWithStateStoreAndTextModel=i;class s{constructor(u){this.lineCount=u,this._tokenizationStateStore=new g,this._invalidEndStatesLineNumbers=new c,this._invalidEndStatesLineNumbers.addRange(new _.OffsetRange(1,u+1))}getEndState(u){return this._tokenizationStateStore.getEndState(u)}setEndState(u,C){if(!C)throw new k.BugIndicatingError(\"Cannot set null/undefined state\");this._invalidEndStatesLineNumbers.delete(u);const f=this._tokenizationStateStore.setEndState(u,C);return f&&u<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new _.OffsetRange(u+1,u+2)),f}acceptChange(u,C){this.lineCount+=C-u.length,this._tokenizationStateStore.acceptChange(u,C),this._invalidEndStatesLineNumbers.addRangeAndResize(new _.OffsetRange(u.startLineNumber,u.endLineNumberExclusive),C)}acceptChanges(u){for(const C of u){const[f]=(0,y.countEOL)(C.text);this.acceptChange(new m.LineRange(C.range.startLineNumber,C.range.endLineNumber+1),f+1)}}invalidateEndStateRange(u){this._invalidEndStatesLineNumbers.addRange(new _.OffsetRange(u.startLineNumber,u.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return this._invalidEndStatesLineNumbers.min===null}getStartState(u,C){return u===1?C:this.getEndState(u-1)}getFirstInvalidLine(u){const C=this.getFirstInvalidEndStateLineNumber();if(C===null)return null;const f=this.getStartState(C,u);if(!f)throw new k.BugIndicatingError(\"Start state must be defined\");return{lineNumber:C,startState:f}}}e.TrackingTokenizationStateStore=s;class g{constructor(){this._lineEndStates=new p.FixedArray(null)}getEndState(u){return this._lineEndStates.get(u)}setEndState(u,C){const f=this._lineEndStates.get(u);return f&&f.equals(C)?!1:(this._lineEndStates.set(u,C),!0)}acceptChange(u,C){let f=u.length;C>0&&f>0&&(f--,C--),this._lineEndStates.replace(u.startLineNumber,f,C)}}e.TokenizationStateStore=g;class c{constructor(){this._ranges=[]}get min(){return this._ranges.length===0?null:this._ranges[0].start}delete(u){const C=this._ranges.findIndex(f=>f.contains(u));if(C!==-1){const f=this._ranges[C];f.start===u?f.endExclusive===u+1?this._ranges.splice(C,1):this._ranges[C]=new _.OffsetRange(u+1,f.endExclusive):f.endExclusive===u+1?this._ranges[C]=new _.OffsetRange(f.start,u):this._ranges.splice(C,1,new _.OffsetRange(f.start,u),new _.OffsetRange(u+1,f.endExclusive))}}addRange(u){_.OffsetRange.addRange(u,this._ranges)}addRangeAndResize(u,C){let f=0;for(;!(f>=this._ranges.length||u.start<=this._ranges[f].endExclusive);)f++;let h=f;for(;!(h>=this._ranges.length||u.endExclusive<this._ranges[h].start);)h++;const v=C-u.length;for(let w=h;w<this._ranges.length;w++)this._ranges[w]=this._ranges[w].delta(v);if(f===h){const w=new _.OffsetRange(u.start,u.start+C);w.isEmpty||this._ranges.splice(f,0,w)}else{const w=Math.min(u.start,this._ranges[f].start),S=Math.max(u.endExclusive,this._ranges[h-1].endExclusive),L=new _.OffsetRange(w,S+v);L.isEmpty?this._ranges.splice(f,h-f):this._ranges.splice(f,h-f,L)}}toString(){return this._ranges.map(u=>u.toString()).join(\" + \")}}e.RangePriorityQueueImpl=c;function l(r,u,C,f,h,v){let w=null;if(C)try{w=C.tokenizeEncoded(f,h,v.clone())}catch(S){(0,k.onUnexpectedError)(S)}return w||(w=(0,b.nullTokenizeEncoded)(r.encodeLanguageId(u),v)),o.LineTokens.convertToEndOffset(w.tokens,f.length),w}class a{constructor(u,C){this._tokenizerWithStateStore=u,this._backgroundTokenStore=C,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,(0,d.runWhenGlobalIdle)(u=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(u)}))}_backgroundTokenizeWithDeadline(u){const C=Date.now()+u.timeRemaining(),f=()=>{this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()<C?(0,I.setTimeout0)(f):this._beginBackgroundTokenization())};f()}_backgroundTokenizeForAtLeast1ms(){const u=this._tokenizerWithStateStore._textModel.getLineCount(),C=new n.ContiguousMultilineTokensBuilder,f=E.StopWatch.create(!1);do if(f.elapsed()>1||this._tokenizeOneInvalidLine(C)>=u)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(C.finalize()),this.checkFinished()}_hasLinesToTokenize(){return this._tokenizerWithStateStore?!this._tokenizerWithStateStore.store.allStatesValid():!1}_tokenizeOneInvalidLine(u){const C=this._tokenizerWithStateStore?.getFirstInvalidLine();return C?(this._tokenizerWithStateStore.updateTokensUntilLine(u,C.lineNumber),C.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(u,C){this._tokenizerWithStateStore.store.invalidateEndStateRange(new m.LineRange(u,C))}}e.DefaultBackgroundTokenizer=a}),define(ne[263],se([1,0,13,14,6,2,55]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AbstractTokens=e.AttachedViewHandler=e.AttachedViews=void 0;class m{constructor(){this._onDidChangeVisibleRanges=new I.Emitter,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const o=new _(t=>{this._onDidChangeVisibleRanges.fire({view:o,state:t})});return this._views.add(o),o}detachView(o){this._views.delete(o),this._onDidChangeVisibleRanges.fire({view:o,state:void 0})}}e.AttachedViews=m;class _{constructor(o){this.handleStateChange=o}setVisibleLines(o,t){const i=o.map(s=>new y.LineRange(s.startLineNumber,s.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}class b extends E.Disposable{get lineRanges(){return this._lineRanges}constructor(o){super(),this._refreshTokens=o,this.runner=this._register(new k.RunOnceScheduler(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,d.equals)(this._computedLineRanges,this._lineRanges,(o,t)=>o.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(o){this._lineRanges=o.visibleLineRanges,o.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}e.AttachedViewHandler=b;class p extends E.Disposable{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(o,t,i){super(),this._languageIdCodec=o,this._textModel=t,this.getLanguageId=i,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new I.Emitter),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new I.Emitter),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(o){this.isCheapToTokenize(o)&&this.forceTokenization(o)}}e.AbstractTokens=p}),define(ne[664],se([1,0,27,83,263]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TreeSitterTokens=void 0;class E extends I.AbstractTokens{constructor(m,_,b,p){super(_,b,p),this._treeSitterService=m,this._tokenizationSupport=null,this._initialize()}_initialize(){const m=this.getLanguageId();(!this._tokenizationSupport||this._lastLanguageId!==m)&&(this._lastLanguageId=m,this._tokenizationSupport=d.TreeSitterTokenizationRegistry.get(m))}getLineTokens(m){const _=this._textModel.getLineContent(m);if(this._tokenizationSupport){const b=this._tokenizationSupport.tokenizeEncoded(m,this._textModel);if(b)return new k.LineTokens(b,_,this._languageIdCodec)}return k.LineTokens.createEmpty(_,this._languageIdCodec)}resetTokenization(m=!0){m&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(m){m.isFlush&&this.resetTokenization(!1)}forceTokenization(m){}hasAccurateTokensForLine(m){return!0}isCheapToTokenize(m){return!0}getTokenTypeIfInsertingCharacter(m,_,b){return 0}tokenizeLineWithEdit(m,_,b){return null}get hasTokens(){return this._treeSitterService.getParseResult(this._textModel)!==void 0}}e.TreeSitterTokens=E}),define(ne[372],se([1,0,18,6,72,22,9,4,23,27,238]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.KeyMod=void 0,e.createMonacoBaseAPI=o;class n{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(i,s){return(0,I.KeyChord)(i,s)}}e.KeyMod=n;function o(){return{editor:void 0,languages:void 0,CancellationTokenSource:d.CancellationTokenSource,Emitter:k.Emitter,KeyCode:p.KeyCode,KeyMod:n,Position:y.Position,Range:m.Range,Selection:_.Selection,SelectionDirection:p.SelectionDirection,MarkerSeverity:p.MarkerSeverity,MarkerTag:p.MarkerTag,Uri:E.URI,Token:b.Token}}}),define(ne[665],se([1,0,160,16]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.encodeSemanticTokensDto=y;function I(_){for(let b=0,p=_.length;b<p;b+=4){const n=_[b+0],o=_[b+1],t=_[b+2],i=_[b+3];_[b+0]=i,_[b+1]=t,_[b+2]=o,_[b+3]=n}}function E(_){const b=new Uint8Array(_.buffer,_.byteOffset,_.length*4);return k.isLittleEndian()||I(b),d.VSBuffer.wrap(b)}function y(_){const b=new Uint32Array(m(_));let p=0;if(b[p++]=_.id,_.type===\"full\")b[p++]=1,b[p++]=_.data.length,b.set(_.data,p),p+=_.data.length;else{b[p++]=2,b[p++]=_.deltas.length;for(const n of _.deltas)b[p++]=n.start,b[p++]=n.deleteCount,n.data?(b[p++]=n.data.length,b.set(n.data,p),p+=n.data.length):b[p++]=0}return E(b)}function m(_){let b=0;if(b+=2,_.type===\"full\")b+=1+_.data.length;else{b+=1,b+=3*_.deltas.length;for(const p of _.deltas)p.data&&(b+=p.data.length)}return b}}),define(ne[373],se([1,0,14,2,22,9,4,147,580]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MirrorModel=e.WorkerTextModelSyncServer=e.WorkerTextModelSyncClient=e.STOP_SYNC_MODEL_DELTA_TIME_MS=void 0,e.STOP_SYNC_MODEL_DELTA_TIME_MS=60*1e3;class b extends k.Disposable{constructor(t,i,s=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=t,this._modelService=i,!s){const g=new d.IntervalTimer;g.cancelAndSet(()=>this._checkStopModelSync(),Math.round(e.STOP_SYNC_MODEL_DELTA_TIME_MS/2)),this._register(g)}}dispose(){for(const t in this._syncedModels)(0,k.dispose)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(t,i=!1){for(const s of t){const g=s.toString();this._syncedModels[g]||this._beginModelSync(s,i),this._syncedModels[g]&&(this._syncedModelsLastUsedTime[g]=new Date().getTime())}}_checkStopModelSync(){const t=new Date().getTime(),i=[];for(const s in this._syncedModelsLastUsedTime)t-this._syncedModelsLastUsedTime[s]>e.STOP_SYNC_MODEL_DELTA_TIME_MS&&i.push(s);for(const s of i)this._stopModelSync(s)}_beginModelSync(t,i){const s=this._modelService.getModel(t);if(!s||!i&&s.isTooLargeForSyncing())return;const g=t.toString();this._proxy.$acceptNewModel({url:s.uri.toString(),lines:s.getLinesContent(),EOL:s.getEOL(),versionId:s.getVersionId()});const c=new k.DisposableStore;c.add(s.onDidChangeContent(l=>{this._proxy.$acceptModelChanged(g.toString(),l)})),c.add(s.onWillDispose(()=>{this._stopModelSync(g)})),c.add((0,k.toDisposable)(()=>{this._proxy.$acceptRemovedModel(g)})),this._syncedModels[g]=c}_stopModelSync(t){const i=this._syncedModels[t];delete this._syncedModels[t],delete this._syncedModelsLastUsedTime[t],(0,k.dispose)(i)}}e.WorkerTextModelSyncClient=b;class p{constructor(){this._models=Object.create(null)}getModel(t){return this._models[t]}getModels(){const t=[];return Object.keys(this._models).forEach(i=>t.push(this._models[i])),t}$acceptNewModel(t){this._models[t.url]=new n(I.URI.parse(t.url),t.lines,t.EOL,t.versionId)}$acceptModelChanged(t,i){if(!this._models[t])return;this._models[t].onEvents(i)}$acceptRemovedModel(t){this._models[t]&&delete this._models[t]}}e.WorkerTextModelSyncServer=p;class n extends _.MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(t){const i=[];for(let s=0;s<this._lines.length;s++){const g=this._lines[s],c=this.offsetAt(new E.Position(s+1,1)),l=g.matchAll(t);for(const a of l)(a.index||a.index===0)&&(a.index=a.index+c),i.push(a)}return i}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,i){const s=(0,m.getWordAtText)(t.column,(0,m.ensureValidWordDefinition)(i),this._lines[t.lineNumber-1],0);return s?new y.Range(t.lineNumber,s.startColumn,t.lineNumber,s.endColumn):null}words(t){const i=this._lines,s=this._wordenize.bind(this);let g=0,c=\"\",l=0,a=[];return{*[Symbol.iterator](){for(;;)if(l<a.length){const r=c.substring(a[l].start,a[l].end);l+=1,yield r}else if(g<i.length)c=i[g],a=s(c,t),l=0,g+=1;else break}}}getLineWords(t,i){const s=this._lines[t-1],g=this._wordenize(s,i),c=[];for(const l of g)c.push({word:s.substring(l.start,l.end),startColumn:l.start+1,endColumn:l.end+1});return c}_wordenize(t,i){const s=[];let g;for(i.lastIndex=0;(g=i.exec(t))&&g[0].length!==0;)s.push({start:g.index,end:g.index+g[0].length});return s}getValueInRange(t){if(t=this._validateRange(t),t.startLineNumber===t.endLineNumber)return this._lines[t.startLineNumber-1].substring(t.startColumn-1,t.endColumn-1);const i=this._eol,s=t.startLineNumber-1,g=t.endLineNumber-1,c=[];c.push(this._lines[s].substring(t.startColumn-1));for(let l=s+1;l<g;l++)c.push(this._lines[l]);return c.push(this._lines[g].substring(0,t.endColumn-1)),c.join(i)}offsetAt(t){return t=this._validatePosition(t),this._ensureLineStarts(),this._lineStarts.getPrefixSum(t.lineNumber-2)+(t.column-1)}positionAt(t){t=Math.floor(t),t=Math.max(0,t),this._ensureLineStarts();const i=this._lineStarts.getIndexOf(t),s=this._lines[i.index].length;return{lineNumber:1+i.index,column:1+Math.min(i.remainder,s)}}_validateRange(t){const i=this._validatePosition({lineNumber:t.startLineNumber,column:t.startColumn}),s=this._validatePosition({lineNumber:t.endLineNumber,column:t.endColumn});return i.lineNumber!==t.startLineNumber||i.column!==t.startColumn||s.lineNumber!==t.endLineNumber||s.column!==t.endColumn?{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:s.lineNumber,endColumn:s.column}:t}_validatePosition(t){if(!E.Position.isIPosition(t))throw new Error(\"bad position\");let{lineNumber:i,column:s}=t,g=!1;if(i<1)i=1,s=1,g=!0;else if(i>this._lines.length)i=this._lines.length,s=this._lines[i-1].length+1,g=!0;else{const c=this._lines[i-1].length+1;s<1?(s=1,g=!0):s>c&&(s=c,g=!0)}return g?{lineNumber:i,column:s}:t}}e.MirrorModel=n}),define(ne[666],se([1,0,190,4,564,570,372,326,54,328,561,60,42,563,582,373]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorSimpleWorker=e.BaseEditorSimpleWorker=void 0,e.create=a;const g=!1;class c{constructor(){this._workerTextModelSyncServer=new s.WorkerTextModelSyncServer}dispose(){}_getModel(u){return this._workerTextModelSyncServer.getModel(u)}_getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(u){this._workerTextModelSyncServer.$acceptNewModel(u)}$acceptModelChanged(u,C){this._workerTextModelSyncServer.$acceptModelChanged(u,C)}$acceptRemovedModel(u){this._workerTextModelSyncServer.$acceptRemovedModel(u)}async $computeUnicodeHighlights(u,C,f){const h=this._getModel(u);return h?b.UnicodeTextModelHighlighter.computeUnicodeHighlights(h,C,f):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(u,C){const f=this._getModel(u);return f?(0,i.findSectionHeaders)(f,C):[]}async $computeDiff(u,C,f,h){const v=this._getModel(u),w=this._getModel(C);return!v||!w?null:l.computeDiff(v,w,f,h)}static computeDiff(u,C,f,h){const v=h===\"advanced\"?p.linesDiffComputers.getDefault():p.linesDiffComputers.getLegacy(),w=u.getLinesContent(),S=C.getLinesContent(),L=v.computeDiff(w,S,f),D=L.changes.length>0?!1:this._modelsAreIdentical(u,C);function T(M){return M.map(A=>[A.original.startLineNumber,A.original.endLineNumberExclusive,A.modified.startLineNumber,A.modified.endLineNumberExclusive,A.innerChanges?.map(P=>[P.originalRange.startLineNumber,P.originalRange.startColumn,P.originalRange.endLineNumber,P.originalRange.endColumn,P.modifiedRange.startLineNumber,P.modifiedRange.startColumn,P.modifiedRange.endLineNumber,P.modifiedRange.endColumn])])}return{identical:D,quitEarly:L.hitTimeout,changes:T(L.changes),moves:L.moves.map(M=>[M.lineRangeMapping.original.startLineNumber,M.lineRangeMapping.original.endLineNumberExclusive,M.lineRangeMapping.modified.startLineNumber,M.lineRangeMapping.modified.endLineNumberExclusive,T(M.changes)])}}static _modelsAreIdentical(u,C){const f=u.getLineCount(),h=C.getLineCount();if(f!==h)return!1;for(let v=1;v<=f;v++){const w=u.getLineContent(v),S=C.getLineContent(v);if(w!==S)return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(u,C,f){const h=this._getModel(u);if(!h)return C;const v=[];let w;C=C.slice(0).sort((L,D)=>{if(L.range&&D.range)return k.Range.compareRangesUsingStarts(L.range,D.range);const T=L.range?0:1,M=D.range?0:1;return T-M});let S=0;for(let L=1;L<C.length;L++)k.Range.getEndPosition(C[S].range).equals(k.Range.getStartPosition(C[L].range))?(C[S].range=k.Range.fromPositions(k.Range.getStartPosition(C[S].range),k.Range.getEndPosition(C[L].range)),C[S].text+=C[L].text):(S++,C[S]=C[L]);C.length=S+1;for(let{range:L,text:D,eol:T}of C){if(typeof T==\"number\"&&(w=T),k.Range.isEmpty(L)&&!D)continue;const M=h.getValueInRange(L);if(D=D.replace(/\\r\\n|\\n|\\r/g,h.eol),M===D)continue;if(Math.max(D.length,M.length)>l._diffLimit){v.push({range:L,text:D});continue}const A=(0,d.stringDiff)(M,D,f),P=h.offsetAt(k.Range.lift(L).getStartPosition());for(const N of A){const O=h.positionAt(P+N.originalStart),F=h.positionAt(P+N.originalStart+N.originalLength),x={text:D.substr(N.modifiedStart,N.modifiedLength),range:{startLineNumber:O.lineNumber,startColumn:O.column,endLineNumber:F.lineNumber,endColumn:F.column}};h.getValueInRange(x.range)!==x.text&&v.push(x)}}return typeof w==\"number\"&&v.push({eol:w,text:\"\",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),v}async $computeLinks(u){const C=this._getModel(u);return C?(0,I.computeLinks)(C):null}async $computeDefaultDocumentColors(u){const C=this._getModel(u);return C?(0,t.computeDefaultDocumentColors)(C):null}static{this._suggestionsLimit=1e4}async $textualSuggest(u,C,f,h){const v=new _.StopWatch,w=new RegExp(f,h),S=new Set;e:for(const L of u){const D=this._getModel(L);if(D){for(const T of D.words(w))if(!(T===C||!isNaN(Number(T)))&&(S.add(T),S.size>l._suggestionsLimit))break e}}return{words:Array.from(S),duration:v.elapsed()}}async $computeWordRanges(u,C,f,h){const v=this._getModel(u);if(!v)return Object.create(null);const w=new RegExp(f,h),S=Object.create(null);for(let L=C.startLineNumber;L<C.endLineNumber;L++){const D=v.getLineWords(L,w);for(const T of D){if(!isNaN(Number(T.word)))continue;let M=S[T.word];M||(M=[],S[T.word]=M),M.push({startLineNumber:L,startColumn:T.startColumn,endLineNumber:L,endColumn:T.endColumn})}}return S}async $navigateValueSet(u,C,f,h,v){const w=this._getModel(u);if(!w)return null;const S=new RegExp(h,v);C.startColumn===C.endColumn&&(C={startLineNumber:C.startLineNumber,startColumn:C.startColumn,endLineNumber:C.endLineNumber,endColumn:C.endColumn+1});const L=w.getValueInRange(C),D=w.getWordAtPosition({lineNumber:C.startLineNumber,column:C.startColumn},S);if(!D)return null;const T=w.getValueInRange(D);return E.BasicInplaceReplace.INSTANCE.navigateValueSet(C,L,D,T,f)}}e.BaseEditorSimpleWorker=c;class l extends c{constructor(u,C){super(),this._host=u,this._foreignModuleFactory=C,this._foreignModule=null}async $ping(){return\"pong\"}$loadForeignModule(u,C,f){const h=(S,L)=>this._host.$fhr(S,L),w={host:(0,n.createProxyObject)(f,h),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(w,C),Promise.resolve((0,n.getAllMethodNames)(this._foreignModule))):new Promise((S,L)=>{const D=T=>{this._foreignModule=T.create(w,C),S((0,n.getAllMethodNames)(this._foreignModule))};if(!g)oe([`${u}`],D,L);else{const T=o.FileAccess.asBrowserUri(`${u}.js`).toString(!0);new Promise((M,A)=>{oe([`${T}`],M,A)}).then(D).catch(L)}})}$fmr(u,C){if(!this._foreignModule||typeof this._foreignModule[u]!=\"function\")return Promise.reject(new Error(\"Missing requestHandler or method: \"+u));try{return Promise.resolve(this._foreignModule[u].apply(this._foreignModule,C))}catch(f){return Promise.reject(f)}}}e.EditorSimpleWorker=l;function a(r){return new l(m.EditorWorkerHost.getChannel(r),null)}typeof importScripts==\"function\"&&(globalThis.monaco=(0,y.createMonacoBaseAPI)())}),define(ne[107],se([1,0,3]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneServicesNLS=e.ToggleHighContrastNLS=e.StandaloneCodeEditorNLS=e.QuickOutlineNLS=e.QuickCommandNLS=e.QuickHelpNLS=e.GoToLineNLS=e.InspectTokensNLS=void 0;var k;(function(n){n.inspectTokensAction=d.localize(698,\"Developer: Inspect Tokens\")})(k||(e.InspectTokensNLS=k={}));var I;(function(n){n.gotoLineActionLabel=d.localize(699,\"Go to Line/Column...\")})(I||(e.GoToLineNLS=I={}));var E;(function(n){n.helpQuickAccessActionLabel=d.localize(700,\"Show all Quick Access Providers\")})(E||(e.QuickHelpNLS=E={}));var y;(function(n){n.quickCommandActionLabel=d.localize(701,\"Command Palette\"),n.quickCommandHelp=d.localize(702,\"Show And Run Commands\")})(y||(e.QuickCommandNLS=y={}));var m;(function(n){n.quickOutlineActionLabel=d.localize(703,\"Go to Symbol...\"),n.quickOutlineByCategoryActionLabel=d.localize(704,\"Go to Symbol by Category...\")})(m||(e.QuickOutlineNLS=m={}));var _;(function(n){n.editorViewAccessibleLabel=d.localize(705,\"Editor content\")})(_||(e.StandaloneCodeEditorNLS=_={}));var b;(function(n){n.toggleHighContrast=d.localize(706,\"Toggle High Contrast Theme\")})(b||(e.ToggleHighContrastNLS=b={}));var p;(function(n){n.bulkEditServiceSummary=d.localize(707,\"Made {0} edits in {1} files\")})(p||(e.StandaloneServicesNLS=p={}))}),define(ne[136],se([1,0,3,11,116,150,598]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenderLineOutput2=e.RenderLineOutput=e.CharacterMapping=e.DomPosition=e.RenderLineInput=e.LineRange=void 0,e.renderViewLine=o,e.renderViewLine2=i;class m{constructor(S,L){this.startOffset=S,this.endOffset=L}equals(S){return this.startOffset===S.startOffset&&this.endOffset===S.endOffset}}e.LineRange=m;class _{constructor(S,L,D,T,M,A,P,N,O,F,x,W,V,q,H,z,U,j,Y){this.useMonospaceOptimizations=S,this.canUseHalfwidthRightwardsArrow=L,this.lineContent=D,this.continuesWithWrappedLine=T,this.isBasicASCII=M,this.containsRTL=A,this.fauxIndentLength=P,this.lineTokens=N,this.lineDecorations=O.sort(E.LineDecoration.compare),this.tabSize=F,this.startVisibleColumn=x,this.spaceWidth=W,this.stopRenderingLineAfter=H,this.renderWhitespace=z===\"all\"?4:z===\"boundary\"?1:z===\"selection\"?2:z===\"trailing\"?3:0,this.renderControlCharacters=U,this.fontLigatures=j,this.selectionsOnLine=Y&&Y.sort((R,J)=>R.startOffset<J.startOffset?-1:1);const G=Math.abs(q-W),K=Math.abs(V-W);G<K?(this.renderSpaceWidth=q,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=V,this.renderSpaceCharCode=183)}sameSelection(S){if(this.selectionsOnLine===null)return S===null;if(S===null||S.length!==this.selectionsOnLine.length)return!1;for(let L=0;L<this.selectionsOnLine.length;L++)if(!this.selectionsOnLine[L].equals(S[L]))return!1;return!0}equals(S){return this.useMonospaceOptimizations===S.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===S.canUseHalfwidthRightwardsArrow&&this.lineContent===S.lineContent&&this.continuesWithWrappedLine===S.continuesWithWrappedLine&&this.isBasicASCII===S.isBasicASCII&&this.containsRTL===S.containsRTL&&this.fauxIndentLength===S.fauxIndentLength&&this.tabSize===S.tabSize&&this.startVisibleColumn===S.startVisibleColumn&&this.spaceWidth===S.spaceWidth&&this.renderSpaceWidth===S.renderSpaceWidth&&this.renderSpaceCharCode===S.renderSpaceCharCode&&this.stopRenderingLineAfter===S.stopRenderingLineAfter&&this.renderWhitespace===S.renderWhitespace&&this.renderControlCharacters===S.renderControlCharacters&&this.fontLigatures===S.fontLigatures&&E.LineDecoration.equalsArr(this.lineDecorations,S.lineDecorations)&&this.lineTokens.equals(S.lineTokens)&&this.sameSelection(S.selectionsOnLine)}}e.RenderLineInput=_;class b{constructor(S,L){this.partIndex=S,this.charIndex=L}}e.DomPosition=b;class p{static getPartIndex(S){return(S&4294901760)>>>16}static getCharIndex(S){return(S&65535)>>>0}constructor(S,L){this.length=S,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(S,L,D,T){const M=(L<<16|D<<0)>>>0;this._data[S-1]=M,this._horizontalOffset[S-1]=T}getHorizontalOffset(S){return this._horizontalOffset.length===0?0:this._horizontalOffset[S-1]}charOffsetToPartData(S){return this.length===0?0:S<0?this._data[0]:S>=this.length?this._data[this.length-1]:this._data[S]}getDomPosition(S){const L=this.charOffsetToPartData(S-1),D=p.getPartIndex(L),T=p.getCharIndex(L);return new b(D,T)}getColumn(S,L){return this.partDataToCharOffset(S.partIndex,L,S.charIndex)+1}partDataToCharOffset(S,L,D){if(this.length===0)return 0;const T=(S<<16|D<<0)>>>0;let M=0,A=this.length-1;for(;M+1<A;){const H=M+A>>>1,z=this._data[H];if(z===T)return H;z>T?A=H:M=H}if(M===A)return M;const P=this._data[M],N=this._data[A];if(P===T)return M;if(N===T)return A;const O=p.getPartIndex(P),F=p.getCharIndex(P),x=p.getPartIndex(N);let W;O!==x?W=L:W=p.getCharIndex(N);const V=D-F,q=W-D;return V<=q?M:A}}e.CharacterMapping=p;class n{constructor(S,L,D){this._renderLineOutputBrand=void 0,this.characterMapping=S,this.containsRTL=L,this.containsForeignElements=D}}e.RenderLineOutput=n;function o(w,S){if(w.lineContent.length===0){if(w.lineDecorations.length>0){S.appendString(\"<span>\");let L=0,D=0,T=0;for(const A of w.lineDecorations)(A.type===1||A.type===2)&&(S.appendString('<span class=\"'),S.appendString(A.className),S.appendString('\"></span>'),A.type===1&&(T|=1,L++),A.type===2&&(T|=2,D++));S.appendString(\"</span>\");const M=new p(1,L+D);return M.setColumnInfo(1,L,0,0),new n(M,!1,T)}return S.appendString(\"<span><span></span></span>\"),new n(new p(0,0),!1,0)}return f(g(w),S)}class t{constructor(S,L,D,T){this.characterMapping=S,this.html=L,this.containsRTL=D,this.containsForeignElements=T}}e.RenderLineOutput2=t;function i(w){const S=new I.StringBuilder(1e4),L=o(w,S);return new t(L.characterMapping,S.build(),L.containsRTL,L.containsForeignElements)}class s{constructor(S,L,D,T,M,A,P,N,O,F,x,W,V,q,H,z){this.fontIsMonospace=S,this.canUseHalfwidthRightwardsArrow=L,this.lineContent=D,this.len=T,this.isOverflowing=M,this.overflowingCharCount=A,this.parts=P,this.containsForeignElements=N,this.fauxIndentLength=O,this.tabSize=F,this.startVisibleColumn=x,this.containsRTL=W,this.spaceWidth=V,this.renderSpaceCharCode=q,this.renderWhitespace=H,this.renderControlCharacters=z}}function g(w){const S=w.lineContent;let L,D,T;w.stopRenderingLineAfter!==-1&&w.stopRenderingLineAfter<S.length?(L=!0,D=S.length-w.stopRenderingLineAfter,T=w.stopRenderingLineAfter):(L=!1,D=0,T=S.length);let M=c(S,w.containsRTL,w.lineTokens,w.fauxIndentLength,T);w.renderControlCharacters&&!w.isBasicASCII&&(M=r(S,M)),(w.renderWhitespace===4||w.renderWhitespace===1||w.renderWhitespace===2&&w.selectionsOnLine||w.renderWhitespace===3&&!w.continuesWithWrappedLine)&&(M=u(w,S,T,M));let A=0;if(w.lineDecorations.length>0){for(let P=0,N=w.lineDecorations.length;P<N;P++){const O=w.lineDecorations[P];O.type===3||O.type===1?A|=1:O.type===2&&(A|=2)}M=C(S,T,M,w.lineDecorations)}return w.containsRTL||(M=l(S,M,!w.isBasicASCII||w.fontLigatures)),new s(w.useMonospaceOptimizations,w.canUseHalfwidthRightwardsArrow,S,T,L,D,M,A,w.fauxIndentLength,w.tabSize,w.startVisibleColumn,w.containsRTL,w.spaceWidth,w.renderSpaceCharCode,w.renderWhitespace,w.renderControlCharacters)}function c(w,S,L,D,T){const M=[];let A=0;D>0&&(M[A++]=new y.LinePart(D,\"\",0,!1));let P=D;for(let N=0,O=L.getCount();N<O;N++){const F=L.getEndOffset(N);if(F<=D)continue;const x=L.getClassName(N);if(F>=T){const V=S?k.containsRTL(w.substring(P,T)):!1;M[A++]=new y.LinePart(T,x,0,V);break}const W=S?k.containsRTL(w.substring(P,F)):!1;M[A++]=new y.LinePart(F,x,0,W),P=F}return M}function l(w,S,L){let D=0;const T=[];let M=0;if(L)for(let A=0,P=S.length;A<P;A++){const N=S[A],O=N.endIndex;if(D+50<O){const F=N.type,x=N.metadata,W=N.containsRTL;let V=-1,q=D;for(let H=D;H<O;H++)w.charCodeAt(H)===32&&(V=H),V!==-1&&H-q>=50&&(T[M++]=new y.LinePart(V+1,F,x,W),q=V+1,V=-1);q!==O&&(T[M++]=new y.LinePart(O,F,x,W))}else T[M++]=N;D=O}else for(let A=0,P=S.length;A<P;A++){const N=S[A],O=N.endIndex,F=O-D;if(F>50){const x=N.type,W=N.metadata,V=N.containsRTL,q=Math.ceil(F/50);for(let H=1;H<q;H++){const z=D+H*50;T[M++]=new y.LinePart(z,x,W,V)}T[M++]=new y.LinePart(O,x,W,V)}else T[M++]=N;D=O}return T}function a(w){return w<32?w!==9:w===127||w>=8234&&w<=8238||w>=8294&&w<=8297||w>=8206&&w<=8207||w===1564}function r(w,S){const L=[];let D=new y.LinePart(0,\"\",0,!1),T=0;for(const M of S){const A=M.endIndex;for(;T<A;T++){const P=w.charCodeAt(T);a(P)&&(T>D.endIndex&&(D=new y.LinePart(T,M.type,M.metadata,M.containsRTL),L.push(D)),D=new y.LinePart(T+1,\"mtkcontrol\",M.metadata,!1),L.push(D))}T>D.endIndex&&(D=new y.LinePart(A,M.type,M.metadata,M.containsRTL),L.push(D))}return L}function u(w,S,L,D){const T=w.continuesWithWrappedLine,M=w.fauxIndentLength,A=w.tabSize,P=w.startVisibleColumn,N=w.useMonospaceOptimizations,O=w.selectionsOnLine,F=w.renderWhitespace===1,x=w.renderWhitespace===3,W=w.renderSpaceWidth!==w.spaceWidth,V=[];let q=0,H=0,z=D[H].type,U=D[H].containsRTL,j=D[H].endIndex;const Y=D.length;let G=!1,K=k.firstNonWhitespaceIndex(S),R;K===-1?(G=!0,K=L,R=L):R=k.lastNonWhitespaceIndex(S);let J=!1,ie=0,ue=O&&O[ie],he=P%A;for(let ae=M;ae<L;ae++){const ee=S.charCodeAt(ae);ue&&ae>=ue.endOffset&&(ie++,ue=O&&O[ie]);let de;if(ae<K||ae>R)de=!0;else if(ee===9)de=!0;else if(ee===32)if(F)if(J)de=!0;else{const ge=ae+1<L?S.charCodeAt(ae+1):0;de=ge===32||ge===9}else de=!0;else de=!1;if(de&&O&&(de=!!ue&&ue.startOffset<=ae&&ue.endOffset>ae),de&&x&&(de=G||ae>R),de&&U&&ae>=K&&ae<=R&&(de=!1),J){if(!de||!N&&he>=A){if(W){const ge=q>0?V[q-1].endIndex:M;for(let X=ge+1;X<=ae;X++)V[q++]=new y.LinePart(X,\"mtkw\",1,!1)}else V[q++]=new y.LinePart(ae,\"mtkw\",1,!1);he=he%A}}else(ae===j||de&&ae>M)&&(V[q++]=new y.LinePart(ae,z,0,U),he=he%A);for(ee===9?he=A:k.isFullWidthCharacter(ee)?he+=2:he++,J=de;ae===j&&(H++,H<Y);)z=D[H].type,U=D[H].containsRTL,j=D[H].endIndex}let pe=!1;if(J)if(T&&F){const ae=L>0?S.charCodeAt(L-1):0,ee=L>1?S.charCodeAt(L-2):0;ae===32&&ee!==32&&ee!==9||(pe=!0)}else pe=!0;if(pe)if(W){const ae=q>0?V[q-1].endIndex:M;for(let ee=ae+1;ee<=L;ee++)V[q++]=new y.LinePart(ee,\"mtkw\",1,!1)}else V[q++]=new y.LinePart(L,\"mtkw\",1,!1);else V[q++]=new y.LinePart(L,z,0,U);return V}function C(w,S,L,D){D.sort(E.LineDecoration.compare);const T=E.LineDecorationsNormalizer.normalize(w,D),M=T.length;let A=0;const P=[];let N=0,O=0;for(let x=0,W=L.length;x<W;x++){const V=L[x],q=V.endIndex,H=V.type,z=V.metadata,U=V.containsRTL;for(;A<M&&T[A].startOffset<q;){const j=T[A];if(j.startOffset>O&&(O=j.startOffset,P[N++]=new y.LinePart(O,H,z,U)),j.endOffset+1<=q)O=j.endOffset+1,P[N++]=new y.LinePart(O,H+\" \"+j.className,z|j.metadata,U),A++;else{O=q,P[N++]=new y.LinePart(O,H+\" \"+j.className,z|j.metadata,U);break}}q>O&&(O=q,P[N++]=new y.LinePart(O,H,z,U))}const F=L[L.length-1].endIndex;if(A<M&&T[A].startOffset===F)for(;A<M&&T[A].startOffset===F;){const x=T[A];P[N++]=new y.LinePart(O,x.className,x.metadata,!1),A++}return P}function f(w,S){const L=w.fontIsMonospace,D=w.canUseHalfwidthRightwardsArrow,T=w.containsForeignElements,M=w.lineContent,A=w.len,P=w.isOverflowing,N=w.overflowingCharCount,O=w.parts,F=w.fauxIndentLength,x=w.tabSize,W=w.startVisibleColumn,V=w.containsRTL,q=w.spaceWidth,H=w.renderSpaceCharCode,z=w.renderWhitespace,U=w.renderControlCharacters,j=new p(A+1,O.length);let Y=!1,G=0,K=W,R=0,J=0,ie=0;V?S.appendString('<span dir=\"ltr\">'):S.appendString(\"<span>\");for(let ue=0,he=O.length;ue<he;ue++){const pe=O[ue],ae=pe.endIndex,ee=pe.type,de=pe.containsRTL,ge=z!==0&&pe.isWhitespace(),X=ge&&!L&&(ee===\"mtkw\"||!T),B=G===ae&&pe.isPseudoAfter();if(R=0,S.appendString(\"<span \"),de&&S.appendString('style=\"unicode-bidi:isolate\" '),S.appendString('class=\"'),S.appendString(X?\"mtkz\":ee),S.appendASCIICharCode(34),ge){let $=0;{let Q=G,Z=K;for(;Q<ae;Q++){const re=(M.charCodeAt(Q)===9?x-Z%x:1)|0;$+=re,Q>=F&&(Z+=re)}}for(X&&(S.appendString(' style=\"width:'),S.appendString(String(q*$)),S.appendString('px\"')),S.appendASCIICharCode(62);G<ae;G++){j.setColumnInfo(G+1,ue-ie,R,J),ie=0;const Q=M.charCodeAt(G);let Z,te;if(Q===9){Z=x-K%x|0,te=Z,!D||te>1?S.appendCharCode(8594):S.appendCharCode(65515);for(let re=2;re<=te;re++)S.appendCharCode(160)}else Z=2,te=1,S.appendCharCode(H),S.appendCharCode(8204);R+=Z,J+=te,G>=F&&(K+=te)}}else for(S.appendASCIICharCode(62);G<ae;G++){j.setColumnInfo(G+1,ue-ie,R,J),ie=0;const $=M.charCodeAt(G);let Q=1,Z=1;switch($){case 9:Q=x-K%x,Z=Q;for(let te=1;te<=Q;te++)S.appendCharCode(160);break;case 32:S.appendCharCode(160);break;case 60:S.appendString(\"&lt;\");break;case 62:S.appendString(\"&gt;\");break;case 38:S.appendString(\"&amp;\");break;case 0:U?S.appendCharCode(9216):S.appendString(\"&#00;\");break;case 65279:case 8232:case 8233:case 133:S.appendCharCode(65533);break;default:k.isFullWidthCharacter($)&&Z++,U&&$<32?S.appendCharCode(9216+$):U&&$===127?S.appendCharCode(9249):U&&a($)?(S.appendString(\"[U+\"),S.appendString(h($)),S.appendString(\"]\"),Q=8,Z=Q):S.appendCharCode($)}R+=Q,J+=Z,G>=F&&(K+=Z)}B?ie++:ie=0,G>=A&&!Y&&pe.isPseudoAfter()&&(Y=!0,j.setColumnInfo(G+1,ue,R,J)),S.appendString(\"</span>\")}return Y||j.setColumnInfo(A+1,O.length-1,R,J),P&&(S.appendString('<span class=\"mtkoverflow\">'),S.appendString(d.localize(708,\"Show more ({0})\",v(N))),S.appendString(\"</span>\")),S.appendString(\"</span>\"),new n(j,V,T)}function h(w){return w.toString(16).toUpperCase().padStart(4,\"0\")}function v(w){return w<1024?d.localize(709,\"{0} chars\",w):w<1024*1024?`${(w/1024).toFixed(1)} KB`:`${(w/1024/1024).toFixed(1)} MB`}}),define(ne[667],se([1,0,103,74,37,116,150,136,95]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenderOptions=e.LineSource=void 0,e.renderLines=p;const b=(0,d.createTrustedTypesPolicy)(\"diffEditorWidget\",{createHTML:i=>i});function p(i,s,g,c){(0,k.applyFontInfo)(c,s.fontInfo);const l=g.length>0,a=new E.StringBuilder(1e4);let r=0,u=0;const C=[];for(let w=0;w<i.lineTokens.length;w++){const S=w+1,L=i.lineTokens[w],D=i.lineBreakData[w],T=y.LineDecoration.filter(g,S,1,Number.MAX_SAFE_INTEGER);if(D){let M=0;for(const A of D.breakOffsets){const P=L.sliceAndInflate(M,A,0);r=Math.max(r,t(u,P,y.LineDecoration.extractWrapped(T,M,A),l,i.mightContainNonBasicASCII,i.mightContainRTL,s,a)),u++,M=A}C.push(D.breakOffsets.length)}else C.push(1),r=Math.max(r,t(u,L,T,l,i.mightContainNonBasicASCII,i.mightContainRTL,s,a)),u++}r+=s.scrollBeyondLastColumn;const f=a.build(),h=b?b.createHTML(f):f;c.innerHTML=h;const v=r*s.typicalHalfwidthCharacterWidth;return{heightInLines:u,minWidthInPx:v,viewLineCounts:C}}class n{constructor(s,g,c,l){this.lineTokens=s,this.lineBreakData=g,this.mightContainNonBasicASCII=c,this.mightContainRTL=l}}e.LineSource=n;class o{static fromEditor(s){const g=s.getOptions(),c=g.get(50),l=g.get(146);return new o(s.getModel()?.getOptions().tabSize||0,c,g.get(33),c.typicalHalfwidthCharacterWidth,g.get(105),g.get(67),l.decorationsWidth,g.get(118),g.get(100),g.get(95),g.get(51))}constructor(s,g,c,l,a,r,u,C,f,h,v){this.tabSize=s,this.fontInfo=g,this.disableMonospaceOptimizations=c,this.typicalHalfwidthCharacterWidth=l,this.scrollBeyondLastColumn=a,this.lineHeight=r,this.lineDecorationsWidth=u,this.stopRenderingLineAfter=C,this.renderWhitespace=f,this.renderControlCharacters=h,this.fontLigatures=v}}e.RenderOptions=o;function t(i,s,g,c,l,a,r,u){u.appendString('<div class=\"view-line'),c||u.appendString(\" char-delete\"),u.appendString('\" style=\"top:'),u.appendString(String(i*r.lineHeight)),u.appendString('px;width:1000000px;\">');const C=s.getLineContent(),f=_.ViewLineRenderingData.isBasicASCII(C,l),h=_.ViewLineRenderingData.containsRTL(C,f,a),v=(0,m.renderViewLine)(new m.RenderLineInput(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,C,!1,f,h,0,s,g,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==I.EditorFontLigatures.OFF,null),u);return u.appendString(\"</div>\"),v.characterMapping.getHorizontalOffset(v.characterMapping.length)}}),define(ne[374],se([1,0,6,2,311,27]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MinimapTokensColorTracker=void 0;class y extends k.Disposable{static{this._INSTANCE=null}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,k.markAsSingleton)(new y)),this._INSTANCE}constructor(){super(),this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(E.TokenizationRegistry.onDidChange(_=>{_.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const _=E.TokenizationRegistry.getColorMap();if(!_){this._colors=[I.RGBA8.Empty],this._backgroundIsLight=!0;return}this._colors=[I.RGBA8.Empty];for(let p=1;p<_.length;p++){const n=_[p].rgba;this._colors[p]=new I.RGBA8(n.r,n.g,n.b,Math.round(n.a*255))}const b=_[2].getRelativeLuminance();this._backgroundIsLight=b>=.5,this._onDidChange.fire(void 0)}getColor(_){return(_<1||_>=this._colors.length)&&(_=2),this._colors[_]}backgroundIsLight(){return this._backgroundIsLight}}e.MinimapTokensColorTracker=y}),define(ne[375],se([1,0,9,4,95,37]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewModelDecorations=void 0,e.isModelDecorationVisible=m,e.isModelDecorationInComment=_,e.isModelDecorationInString=b;class y{constructor(o,t,i,s,g){this.editorId=o,this.model=t,this.configuration=i,this._linesCollection=s,this._coordinatesConverter=g,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(o){const t=o.id;let i=this._decorationsCache[t];if(!i){const s=o.range,g=o.options;let c;if(g.isWholeLine){const l=this._coordinatesConverter.convertModelPositionToViewPosition(new d.Position(s.startLineNumber,1),0,!1,!0),a=this._coordinatesConverter.convertModelPositionToViewPosition(new d.Position(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber)),1);c=new k.Range(l.lineNumber,l.column,a.lineNumber,a.column)}else c=this._coordinatesConverter.convertModelRangeToViewRange(s,1);i=new I.ViewModelDecoration(c,g),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(o){return this._getDecorationsInRange(o,!0,!1).decorations}getDecorationsViewportData(o){let t=this._cachedModelDecorationsResolver!==null;return t=t&&o.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(o,!1,!1),this._cachedModelDecorationsResolverViewRange=o),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(o,t=!1,i=!1){const s=new k.Range(o,this._linesCollection.getViewLineMinColumn(o),o,this._linesCollection.getViewLineMaxColumn(o));return this._getDecorationsInRange(s,t,i).inlineDecorations[0]}_getDecorationsInRange(o,t,i){const s=this._linesCollection.getDecorationsInRange(o,this.editorId,(0,E.filterValidationDecorations)(this.configuration.options),t,i),g=o.startLineNumber,c=o.endLineNumber,l=[];let a=0;const r=[];for(let u=g;u<=c;u++)r[u-g]=[];for(let u=0,C=s.length;u<C;u++){const f=s[u],h=f.options;if(!m(this.model,f))continue;const v=this._getOrCreateViewModelDecoration(f),w=v.range;if(l[a++]=v,h.inlineClassName){const S=new I.InlineDecoration(w,h.inlineClassName,h.inlineClassNameAffectsLetterSpacing?3:0),L=Math.max(g,w.startLineNumber),D=Math.min(c,w.endLineNumber);for(let T=L;T<=D;T++)r[T-g].push(S)}if(h.beforeContentClassName&&g<=w.startLineNumber&&w.startLineNumber<=c){const S=new I.InlineDecoration(new k.Range(w.startLineNumber,w.startColumn,w.startLineNumber,w.startColumn),h.beforeContentClassName,1);r[w.startLineNumber-g].push(S)}if(h.afterContentClassName&&g<=w.endLineNumber&&w.endLineNumber<=c){const S=new I.InlineDecoration(new k.Range(w.endLineNumber,w.endColumn,w.endLineNumber,w.endColumn),h.afterContentClassName,2);r[w.endLineNumber-g].push(S)}}return{decorations:l,inlineDecorations:r}}}e.ViewModelDecorations=y;function m(n,o){return!(o.options.hideInCommentTokens&&_(n,o)||o.options.hideInStringTokens&&b(n,o))}function _(n,o){return p(n,o.range,t=>t===1)}function b(n,o){return p(n,o.range,t=>t===2)}function p(n,o,t){for(let i=o.startLineNumber;i<=o.endLineNumber;i++){const s=n.tokenization.getLineTokens(i),g=i===o.startLineNumber,c=i===o.endLineNumber;let l=g?s.findTokenIndexAtOffset(o.startColumn-1):0;for(;l<s.getCount()&&!(c&&s.getStartOffset(l)>o.endColumn-1);){if(!t(s.getStandardTokenType(l)))return!1;l++}}return!0}}),define(ne[209],se([1,0,6,2,16]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ClickLinkGesture=e.ClickLinkOptions=e.ClickLinkKeyboardEvent=e.ClickLinkMouseEvent=void 0;function E(n,o){return!!n[o]}class y{constructor(o,t){this.target=o.target,this.isLeftClick=o.event.leftButton,this.isMiddleClick=o.event.middleButton,this.isRightClick=o.event.rightButton,this.hasTriggerModifier=E(o.event,t.triggerModifier),this.hasSideBySideModifier=E(o.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=o.event.detail<=1}}e.ClickLinkMouseEvent=y;class m{constructor(o,t){this.keyCodeIsTriggerKey=o.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=o.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=E(o,t.triggerModifier)}}e.ClickLinkKeyboardEvent=m;class _{constructor(o,t,i,s){this.triggerKey=o,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=s}equals(o){return this.triggerKey===o.triggerKey&&this.triggerModifier===o.triggerModifier&&this.triggerSideBySideKey===o.triggerSideBySideKey&&this.triggerSideBySideModifier===o.triggerSideBySideModifier}}e.ClickLinkOptions=_;function b(n){return n===\"altKey\"?I.isMacintosh?new _(57,\"metaKey\",6,\"altKey\"):new _(5,\"ctrlKey\",6,\"altKey\"):I.isMacintosh?new _(6,\"altKey\",57,\"metaKey\"):new _(6,\"altKey\",5,\"ctrlKey\")}class p extends k.Disposable{constructor(o,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new d.Emitter),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new d.Emitter),this.onExecute=this._onExecute.event,this._onCancel=this._register(new d.Emitter),this.onCancel=this._onCancel.event,this._editor=o,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=b(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(78)){const s=b(this._editor.getOption(78));if(this._opts.equals(s))return;this._opts=s,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new y(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new y(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new y(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new m(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new m(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(o){o.selection&&o.selection.startColumn!==o.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(o){this._lastMouseMoveEvent=o,this._onMouseMoveOrRelevantKeyDown.fire([o,null])}_onEditorMouseDown(o){this._hasTriggerKeyOnMouseDown=o.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(o)}_onEditorMouseUp(o){const t=this._extractLineNumberFromMouseEvent(o);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(o)}_onEditorKeyDown(o){this._lastMouseMoveEvent&&(o.keyCodeIsTriggerKey||o.keyCodeIsSideBySideKey&&o.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,o]):o.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(o){o.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}e.ClickLinkGesture=p}),define(ne[178],se([1,0,8,6,187,2,45,48,11,4,3]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReferencesModel=e.FileReferences=e.FilePreview=e.OneReference=void 0;class n{constructor(g,c,l,a){this.isProviderFirst=g,this.parent=c,this.link=l,this._rangeCallback=a,this.id=I.defaultGenerator.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(g){this._range=g,this._rangeCallback(this)}get ariaMessage(){const g=this.parent.getPreview(this)?.preview(this.range);return g?(0,p.localize)(996,\"{0} in {1} on line {2} at column {3}\",g.value,(0,m.basename)(this.uri),this.range.startLineNumber,this.range.startColumn):(0,p.localize)(995,\"in {0} on line {1} at column {2}\",(0,m.basename)(this.uri),this.range.startLineNumber,this.range.startColumn)}}e.OneReference=n;class o{constructor(g){this._modelReference=g}dispose(){this._modelReference.dispose()}preview(g,c=8){const l=this._modelReference.object.textEditorModel;if(!l)return;const{startLineNumber:a,startColumn:r,endLineNumber:u,endColumn:C}=g,f=l.getWordUntilPosition({lineNumber:a,column:r-c}),h=new b.Range(a,f.startColumn,a,r),v=new b.Range(u,C,u,1073741824),w=l.getValueInRange(h).replace(/^\\s+/,\"\"),S=l.getValueInRange(g),L=l.getValueInRange(v).replace(/\\s+$/,\"\");return{value:w+S+L,highlight:{start:w.length,end:w.length+S.length}}}}e.FilePreview=o;class t{constructor(g,c){this.parent=g,this.uri=c,this.children=[],this._previews=new y.ResourceMap}dispose(){(0,E.dispose)(this._previews.values()),this._previews.clear()}getPreview(g){return this._previews.get(g.uri)}get ariaMessage(){const g=this.children.length;return g===1?(0,p.localize)(997,\"1 symbol in {0}, full path {1}\",(0,m.basename)(this.uri),this.uri.fsPath):(0,p.localize)(998,\"{0} symbols in {1}, full path {2}\",g,(0,m.basename)(this.uri),this.uri.fsPath)}async resolve(g){if(this._previews.size!==0)return this;for(const c of this.children)if(!this._previews.has(c.uri))try{const l=await g.createModelReference(c.uri);this._previews.set(c.uri,new o(l))}catch(l){(0,d.onUnexpectedError)(l)}return this}}e.FileReferences=t;class i{constructor(g,c){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new k.Emitter,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=g,this._title=c;const[l]=g;g.sort(i._compareReferences);let a;for(const r of g)if((!a||!m.extUri.isEqual(a.uri,r.uri,!0))&&(a=new t(this,r.uri),this.groups.push(a)),a.children.length===0||i._compareReferences(r,a.children[a.children.length-1])!==0){const u=new n(l===r,a,r,C=>this._onDidChangeReferenceRange.fire(C));this.references.push(u),a.children.push(u)}}dispose(){(0,E.dispose)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new i(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?(0,p.localize)(999,\"No results found\"):this.references.length===1?(0,p.localize)(1e3,\"Found 1 symbol in {0}\",this.references[0].uri.fsPath):this.groups.length===1?(0,p.localize)(1001,\"Found {0} symbols in {1}\",this.references.length,this.groups[0].uri.fsPath):(0,p.localize)(1002,\"Found {0} symbols in {1} files\",this.references.length,this.groups.length)}nextOrPreviousReference(g,c){const{parent:l}=g;let a=l.children.indexOf(g);const r=l.children.length,u=l.parent.groups.length;return u===1||c&&a+1<r||!c&&a>0?(c?a=(a+1)%r:a=(a+r-1)%r,l.children[a]):(a=l.parent.groups.indexOf(l),c?(a=(a+1)%u,l.parent.groups[a].children[0]):(a=(a+u-1)%u,l.parent.groups[a].children[l.parent.groups[a].children.length-1]))}nearestReference(g,c){const l=this.references.map((a,r)=>({idx:r,prefixLen:_.commonPrefixLength(a.uri.toString(),g.toString()),offsetDist:Math.abs(a.range.startLineNumber-c.lineNumber)*100+Math.abs(a.range.startColumn-c.column)})).sort((a,r)=>a.prefixLen>r.prefixLen?-1:a.prefixLen<r.prefixLen?1:a.offsetDist<r.offsetDist?-1:a.offsetDist>r.offsetDist?1:0)[0];if(l)return this.references[l.idx]}referenceAt(g,c){for(const l of this.references)if(l.uri.toString()===g.toString()&&b.Range.containsPosition(l.range,c))return l}firstReference(){for(const g of this.references)if(g.isProviderFirst)return g;return this.references[0]}static _compareReferences(g,c){return m.extUri.compare(g.uri,c.uri)||b.Range.compareRangesUsingStarts(g.range,c.range)}}e.ReferencesModel=i}),define(ne[668],se([1,0,13,14]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContentHoverComputer=void 0;class I{get anchor(){return this._anchor}set anchor(y){this._anchor=y}get shouldFocus(){return this._shouldFocus}set shouldFocus(y){this._shouldFocus=y}get source(){return this._source}set source(y){this._source=y}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(y){this._insistOnKeepingHoverVisible=y}constructor(y,m){this._editor=y,this._participants=m,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(y,m){if(m.type!==1&&!m.supportsMarkerHover)return[];const _=y.getModel(),b=m.range.startLineNumber;if(b>_.getLineCount())return[];const p=_.getLineMaxColumn(b);return y.getLineDecorations(b).filter(n=>{if(n.options.isWholeLine)return!0;const o=n.range.startLineNumber===b?n.range.startColumn:1,t=n.range.endLineNumber===b?n.range.endColumn:p;if(n.options.showIfCollapsed){if(o>m.range.startColumn+1||m.range.endColumn-1>t)return!1}else if(o>m.range.startColumn||m.range.endColumn>t)return!1;return!0})}computeAsync(y){const m=this._anchor;if(!this._editor.hasModel()||!m)return k.AsyncIterableObject.EMPTY;const _=I._getLineDecorations(this._editor,m);return k.AsyncIterableObject.merge(this._participants.map(b=>b.computeAsync?b.computeAsync(m,_,y):k.AsyncIterableObject.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const y=I._getLineDecorations(this._editor,this._anchor);let m=[];for(const _ of this._participants)m=m.concat(_.computeSync(this._anchor,y));return(0,d.coalesce)(m)}}e.ContentHoverComputer=I}),define(ne[264],se([1,0,3]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DECREASE_HOVER_VERBOSITY_ACTION_LABEL=e.DECREASE_HOVER_VERBOSITY_ACTION_ID=e.INCREASE_HOVER_VERBOSITY_ACTION_LABEL=e.INCREASE_HOVER_VERBOSITY_ACTION_ID=e.GO_TO_BOTTOM_HOVER_ACTION_ID=e.GO_TO_TOP_HOVER_ACTION_ID=e.PAGE_DOWN_HOVER_ACTION_ID=e.PAGE_UP_HOVER_ACTION_ID=e.SCROLL_RIGHT_HOVER_ACTION_ID=e.SCROLL_LEFT_HOVER_ACTION_ID=e.SCROLL_DOWN_HOVER_ACTION_ID=e.SCROLL_UP_HOVER_ACTION_ID=e.SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID=e.SHOW_OR_FOCUS_HOVER_ACTION_ID=void 0,e.SHOW_OR_FOCUS_HOVER_ACTION_ID=\"editor.action.showHover\",e.SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID=\"editor.action.showDefinitionPreviewHover\",e.SCROLL_UP_HOVER_ACTION_ID=\"editor.action.scrollUpHover\",e.SCROLL_DOWN_HOVER_ACTION_ID=\"editor.action.scrollDownHover\",e.SCROLL_LEFT_HOVER_ACTION_ID=\"editor.action.scrollLeftHover\",e.SCROLL_RIGHT_HOVER_ACTION_ID=\"editor.action.scrollRightHover\",e.PAGE_UP_HOVER_ACTION_ID=\"editor.action.pageUpHover\",e.PAGE_DOWN_HOVER_ACTION_ID=\"editor.action.pageDownHover\",e.GO_TO_TOP_HOVER_ACTION_ID=\"editor.action.goToTopHover\",e.GO_TO_BOTTOM_HOVER_ACTION_ID=\"editor.action.goToBottomHover\",e.INCREASE_HOVER_VERBOSITY_ACTION_ID=\"editor.action.increaseHoverVerbosityLevel\",e.INCREASE_HOVER_VERBOSITY_ACTION_LABEL=d.localize(1006,\"Increase Hover Verbosity Level\"),e.DECREASE_HOVER_VERBOSITY_ACTION_ID=\"editor.action.decreaseHoverVerbosityLevel\",e.DECREASE_HOVER_VERBOSITY_ACTION_LABEL=d.localize(1007,\"Decrease Hover Verbosity Level\")}),define(ne[376],se([1,0,14,8,6,2]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HoverOperation=e.HoverResult=void 0;class y{constructor(b,p,n){this.value=b,this.isComplete=p,this.hasLoadingMessage=n}}e.HoverResult=y;class m extends E.Disposable{constructor(b,p){super(),this._editor=b,this._computer=p,this._onResult=this._register(new I.Emitter),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new d.RunOnceScheduler(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new d.RunOnceScheduler(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new d.RunOnceScheduler(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(b,p=!0){this._state=b,p&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=(0,d.createCancelableAsyncIterable)(b=>this._computer.computeAsync(b)),(async()=>{try{for await(const b of this._asyncIterable)b&&(this._result.push(b),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(b){(0,k.onUnexpectedError)(b)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const b=this._state===0,p=this._state===4;this._onResult.fire(new y(this._result.slice(0),b,p))}start(b){if(b===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}e.HoverOperation=m}),define(ne[210],se([1,0,5]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isMousePositionWithinElement=k;function k(I,E,y){const m=d.getDomNodePagePosition(I);return!(E<m.left||E>m.left+m.width||y<m.top||y>m.top+m.height)}}),define(ne[669],se([1,0,13,57,40]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarginHoverComputer=void 0;class E{get lineNumber(){return this._lineNumber}set lineNumber(m){this._lineNumber=m}get lane(){return this._laneOrLine}set lane(m){this._laneOrLine=m}constructor(m){this._editor=m,this._lineNumber=-1,this._laneOrLine=I.GlyphMarginLane.Center}computeSync(){const m=n=>({value:n}),_=this._editor.getLineDecorations(this._lineNumber),b=[],p=this._laneOrLine===\"lineNo\";if(!_)return b;for(const n of _){const o=n.options.glyphMargin?.position??I.GlyphMarginLane.Center;if(!p&&o!==this._laneOrLine)continue;const t=p?n.options.lineNumberHoverMessage:n.options.glyphMarginHoverMessage;!t||(0,k.isEmptyMarkdownString)(t)||b.push(...(0,d.asArray)(t).map(m))}return b}}e.MarginHoverComputer=E}),define(ne[670],se([1,0,255,2,9,5]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResizableContentWidget=void 0;const y=30,m=24;class _ extends k.Disposable{constructor(p,n=new E.Dimension(10,10)){super(),this._editor=p,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new d.ResizableHTMLElement),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position=\"absolute\",this._resizableNode.minSize=E.Dimension.lift(n),this._resizableNode.layout(n.height,n.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(o=>{this._resize(new E.Dimension(o.dimension.width,o.dimension.height)),o.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?I.Position.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(p){const n=this._editor.getDomNode(),o=this._editor.getScrolledVisiblePosition(p);return!n||!o?void 0:E.getDomNodePagePosition(n).top+o.top-y}_availableVerticalSpaceBelow(p){const n=this._editor.getDomNode(),o=this._editor.getScrolledVisiblePosition(p);if(!n||!o)return;const t=E.getDomNodePagePosition(n),i=E.getClientArea(n.ownerDocument.body),s=t.top+o.top+o.height;return i.height-s-m}_findPositionPreference(p,n){const o=Math.min(this._availableVerticalSpaceBelow(n)??1/0,p),t=Math.min(this._availableVerticalSpaceAbove(n)??1/0,p),i=Math.min(Math.max(t,o),p),s=Math.min(p,i);let g;return this._editor.getOption(60).above?g=s<=t?1:2:g=s<=o?2:1,g===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),g}_resize(p){this._resizableNode.layout(p.height,p.width)}}e.ResizableContentWidget=_}),define(ne[377],se([1,0,8,2,9,4,42,22]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlayHintsFragments=e.InlayHintItem=e.InlayHintAnchor=void 0,e.asCommandLink=n;class _{constructor(t,i){this.range=t,this.direction=i}}e.InlayHintAnchor=_;class b{constructor(t,i,s){this.hint=t,this.anchor=i,this.provider=s,this._isResolved=!1}with(t){const i=new b(this.hint,t.anchor,this.provider);return i._isResolved=this._isResolved,i._currentResolve=this._currentResolve,i}async resolve(t){if(typeof this.provider.resolveInlayHint==\"function\"){if(this._currentResolve)return await this._currentResolve,t.isCancellationRequested?void 0:this.resolve(t);this._isResolved||(this._currentResolve=this._doResolve(t).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(t){try{const i=await Promise.resolve(this.provider.resolveInlayHint(this.hint,t));this.hint.tooltip=i?.tooltip??this.hint.tooltip,this.hint.label=i?.label??this.hint.label,this.hint.textEdits=i?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(i){(0,d.onUnexpectedExternalError)(i),this._isResolved=!1}}}e.InlayHintItem=b;class p{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(t,i,s,g){const c=[],l=t.ordered(i).reverse().map(a=>s.map(async r=>{try{const u=await a.provideInlayHints(i,r,g);(u?.hints.length||a.onDidChangeInlayHints)&&c.push([u??p._emptyInlayHintList,a])}catch(u){(0,d.onUnexpectedExternalError)(u)}}));if(await Promise.all(l.flat()),g.isCancellationRequested||i.isDisposed())throw new d.CancellationError;return new p(s,c,i)}constructor(t,i,s){this._disposables=new k.DisposableStore,this.ranges=t,this.provider=new Set;const g=[];for(const[c,l]of i){this._disposables.add(c),this.provider.add(l);for(const a of c.hints){const r=s.validatePosition(a.position);let u=\"before\";const C=p._getRangeAtPosition(s,r);let f;C.getStartPosition().isBefore(r)?(f=E.Range.fromPositions(C.getStartPosition(),r),u=\"after\"):(f=E.Range.fromPositions(r,C.getEndPosition()),u=\"before\"),g.push(new b(a,new _(f,u),l))}}this.items=g.sort((c,l)=>I.Position.compare(c.hint.position,l.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(t,i){const s=i.lineNumber,g=t.getWordAtPosition(i);if(g)return new E.Range(s,g.startColumn,s,g.endColumn);t.tokenization.tokenizeIfCheap(s);const c=t.tokenization.getLineTokens(s),l=i.column-1,a=c.findTokenIndexAtOffset(l);let r=c.getStartOffset(a),u=c.getEndOffset(a);return u-r===1&&(r===l&&a>1?(r=c.getStartOffset(a-1),u=c.getEndOffset(a-1)):u===l&&a<c.getCount()-1&&(r=c.getStartOffset(a+1),u=c.getEndOffset(a+1))),new E.Range(s,r+1,s,u+1)}}e.InlayHintsFragments=p;function n(o){return m.URI.from({scheme:y.Schemas.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}}),define(ne[378],se([1,0,90,14,18,45,8,9,4,575,104,205,135]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineCompletionItem=e.InlineCompletionList=e.InlineCompletionProviderResult=void 0,e.provideInlineCompletions=t;async function t(a,r,u,C,f=I.CancellationToken.None,h){const v=r instanceof m.Position?c(r,u):r,w=a.all(u),S=new E.SetMap;for(const F of w)F.groupId&&S.add(F.groupId,F);function L(F){if(!F.yieldsToGroupIds)return[];const x=[];for(const W of F.yieldsToGroupIds||[]){const V=S.get(W);for(const q of V)x.push(q)}return x}const D=new Map,T=new Set;function M(F,x){if(x=[...x,F],T.has(F))return x;T.add(F);try{const W=L(F);for(const V of W){const q=M(V,x);if(q)return q}}finally{T.delete(F)}}function A(F){const x=D.get(F);if(x)return x;const W=M(F,[]);W&&(0,y.onUnexpectedExternalError)(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${W.map(q=>q.toString?q.toString():\"\"+q).join(\" -> \")}`));const V=new k.DeferredPromise;return D.set(F,V.p),(async()=>{if(!W){const q=L(F);for(const H of q){const z=await A(H);if(z&&z.items.length>0)return}}try{return r instanceof m.Position?await F.provideInlineCompletions(u,r,C,f):await F.provideInlineEdits?.(u,r,C,f)}catch(q){(0,y.onUnexpectedExternalError)(q);return}})().then(q=>V.complete(q),q=>V.error(q)),V.p}const P=await Promise.all(w.map(async F=>({provider:F,completions:await A(F)}))),N=new Map,O=[];for(const F of P){const x=F.completions;if(!x)continue;const W=new s(x,F.provider);O.push(W);for(const V of x.items){const q=g.from(V,W,v,u,h);N.set(q.hash(),q)}}return new i(Array.from(N.values()),new Set(N.keys()),O)}class i{constructor(r,u,C){this.completions=r,this.hashs=u,this.providerResults=C}has(r){return this.hashs.has(r.hash())}dispose(){for(const r of this.providerResults)r.removeRef()}}e.InlineCompletionProviderResult=i;class s{constructor(r,u){this.inlineCompletions=r,this.provider=u,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}e.InlineCompletionList=s;class g{static from(r,u,C,f,h){let v,w,S=r.range?_.Range.lift(r.range):C;if(typeof r.insertText==\"string\"){if(v=r.insertText,h&&r.completeBracketPairs){v=l(v,S.getStartPosition(),f,h);const L=v.length-r.insertText.length;L!==0&&(S=new _.Range(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn+L))}w=void 0}else if(\"snippet\"in r.insertText){const L=r.insertText.snippet.length;if(h&&r.completeBracketPairs){r.insertText.snippet=l(r.insertText.snippet,S.getStartPosition(),f,h);const T=r.insertText.snippet.length-L;T!==0&&(S=new _.Range(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn+T))}const D=new o.SnippetParser().parse(r.insertText.snippet);D.children.length===1&&D.children[0]instanceof o.Text?(v=D.children[0].value,w=void 0):(v=D.toString(),w={snippet:r.insertText.snippet,range:S})}else(0,d.assertNever)(r.insertText);return new g(v,r.command,S,v,w,r.additionalTextEdits||(0,n.getReadonlyEmptyArray)(),r,u)}constructor(r,u,C,f,h,v,w,S){this.filterText=r,this.command=u,this.range=C,this.insertText=f,this.snippetInfo=h,this.additionalTextEdits=v,this.sourceInlineCompletion=w,this.source=S,r=r.replace(/\\r\\n|\\r/g,`\n`),f=r.replace(/\\r\\n|\\r/g,`\n`)}withRange(r){return new g(this.filterText,this.command,r,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new p.SingleTextEdit(this.range,this.insertText)}}e.InlineCompletionItem=g;function c(a,r){const u=r.getWordAtPosition(a),C=r.getLineMaxColumn(a.lineNumber);return u?new _.Range(a.lineNumber,u.startColumn,a.lineNumber,C):_.Range.fromPositions(a,a.with(void 0,C))}function l(a,r,u,C){const h=u.getLineContent(r.lineNumber).substring(0,r.column-1)+a,w=u.tokenization.tokenizeLineWithEdit(r,h.length-(r.column-1),a)?.sliceAndInflate(r.column-1,h.length,0);return w?(0,b.fixBracketsInLine)(w,C):a}}),define(ne[379],se([1,0,5,102,2,21,65,112]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PlaceholderTextContribution=void 0;class _ extends I.Disposable{static{this.ID=\"editor.contrib.placeholderText\"}constructor(n){super(),this._editor=n,this._editorObs=(0,m.observableCodeEditor)(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=(0,E.derivedOpts)({owner:this,equalsFn:k.structuralEquals},o=>{const t=this._placeholderText.read(o);if(t&&this._editorObs.valueIsEmpty.read(o))return{placeholder:t}}),this._shouldViewBeAlive=b(this,o=>this._state.read(o)?.placeholder!==void 0),this._view=(0,y.derivedWithStore)((o,t)=>{if(!this._shouldViewBeAlive.read(o))return;const i=(0,d.h)(\"div.editorPlaceholder\");t.add((0,E.autorun)(s=>{const g=this._state.read(s),c=g?.placeholder!==void 0;i.root.style.display=c?\"block\":\"none\",i.root.innerText=g?.placeholder??\"\"})),t.add((0,E.autorun)(s=>{const g=this._editorObs.layoutInfo.read(s);i.root.style.left=`${g.contentLeft}px`,i.root.style.width=g.contentWidth-g.verticalScrollbarWidth+\"px\",i.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),t.add((0,E.autorun)(s=>{i.root.style.fontFamily=this._editorObs.getOption(49).read(s),i.root.style.fontSize=this._editorObs.getOption(52).read(s)+\"px\",i.root.style.lineHeight=this._editorObs.getOption(67).read(s)+\"px\"})),t.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:(0,E.constObservable)(0),position:(0,E.constObservable)(null),domNode:i.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}}e.PlaceholderTextContribution=_;function b(p,n){return(0,E.derivedObservableWithCache)(p,(o,t)=>t===!0?!0:n(o))}}),define(ne[380],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessibleViewRegistry=void 0,e.AccessibleViewRegistry=new class{constructor(){this._implementations=[]}register(k){return this._implementations.push(k),{dispose:()=>{const I=this._implementations.indexOf(k);I!==-1&&this._implementations.splice(I,1)}}}getImplementations(){return this._implementations}}}),define(ne[381],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isLocalizedString=d,e.isICommandActionToggleInfo=k;function d(I){return I&&typeof I==\"object\"&&typeof I.original==\"string\"&&typeof I.value==\"string\"}function k(I){return I?I.condition!==void 0:!1}}),define(ne[671],se([1,0,3]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Categories=void 0,e.Categories=Object.freeze({View:(0,d.localize2)(1477,\"View\"),Help:(0,d.localize2)(1478,\"Help\"),Test:(0,d.localize2)(1479,\"Test\"),File:(0,d.localize2)(1480,\"File\"),Preferences:(0,d.localize2)(1481,\"Preferences\"),Developer:(0,d.localize2)(1482,\"Developer\")})}),define(ne[672],se([1,0,8,3]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Scanner=void 0;function I(..._){switch(_.length){case 1:return(0,k.localize)(1532,\"Did you mean {0}?\",_[0]);case 2:return(0,k.localize)(1533,\"Did you mean {0} or {1}?\",_[0],_[1]);case 3:return(0,k.localize)(1534,\"Did you mean {0}, {1} or {2}?\",_[0],_[1],_[2]);default:return}}const E=(0,k.localize)(1535,\"Did you forget to open or close the quote?\"),y=(0,k.localize)(1536,\"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\\\\\/'.\");class m{constructor(){this._input=\"\",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\\-\\./\\\\:\\*\\?\\+\\[\\]\\^,#@;\"%\\$\\p{L}-]+/uy}static getLexeme(b){switch(b.type){case 0:return\"(\";case 1:return\")\";case 2:return\"!\";case 3:return b.isTripleEq?\"===\":\"==\";case 4:return b.isTripleEq?\"!==\":\"!=\";case 5:return\"<\";case 6:return\"<=\";case 7:return\">=\";case 8:return\">=\";case 9:return\"=~\";case 10:return b.lexeme;case 11:return\"true\";case 12:return\"false\";case 13:return\"in\";case 14:return\"not\";case 15:return\"&&\";case 16:return\"||\";case 17:return b.lexeme;case 18:return b.lexeme;case 19:return b.lexeme;case 20:return\"EOF\";default:throw(0,d.illegalState)(`unhandled token type: ${JSON.stringify(b)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set([\"i\",\"g\",\"s\",\"m\",\"y\",\"u\"].map(b=>b.charCodeAt(0)))}static{this._keywords=new Map([[\"not\",14],[\"in\",13],[\"false\",12],[\"true\",11]])}reset(b){return this._input=b,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const p=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:p})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const p=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:p})}else this._match(126)?this._addToken(9):this._error(I(\"==\",\"=~\"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(I(\"&&\"));break;case 124:this._match(124)?this._addToken(16):this._error(I(\"||\"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(b){return this._isAtEnd()||this._input.charCodeAt(this._current)!==b?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(b){this._tokens.push({type:b,offset:this._start})}_error(b){const p=this._start,n=this._input.substring(this._start,this._current),o={type:19,offset:this._start,lexeme:n};this._errors.push({offset:p,lexeme:n,additionalInfo:b}),this._tokens.push(o)}_string(){this.stringRe.lastIndex=this._start;const b=this.stringRe.exec(this._input);if(b){this._current=this._start+b[0].length;const p=this._input.substring(this._start,this._current),n=m._keywords.get(p);n?this._addToken(n):this._tokens.push({type:17,lexeme:p,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(E);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let b=this._current,p=!1,n=!1;for(;;){if(b>=this._input.length){this._current=b,this._error(y);return}const t=this._input.charCodeAt(b);if(p)p=!1;else if(t===47&&!n){b++;break}else t===91?n=!0:t===92?p=!0:t===93&&(n=!1);b++}for(;b<this._input.length&&m._regexFlags.has(this._input.charCodeAt(b));)b++;this._current=b;const o=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:o,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}e.Scanner=m}),define(ne[673],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorOpenSource=void 0;var d;(function(k){k[k.API=0]=\"API\",k[k.USER=1]=\"USER\"})(d||(e.EditorOpenSource=d={}))}),define(ne[674],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExtensionIdentifierSet=e.ExtensionIdentifier=void 0;class d{constructor(E){this.value=E,this._lower=E.toLowerCase()}static toKey(E){return typeof E==\"string\"?E.toLowerCase():E._lower}}e.ExtensionIdentifier=d;class k{constructor(E){if(this._set=new Set,E)for(const y of E)this.add(y)}add(E){this._set.add(d.toKey(E))}has(E){return this._set.has(d.toKey(E))}}e.ExtensionIdentifierSet=k}),define(ne[382],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FileKind=void 0;var d;(function(k){k[k.FILE=0]=\"FILE\",k[k.FOLDER=1]=\"FOLDER\",k[k.ROOT_FOLDER=2]=\"ROOT_FOLDER\"})(d||(e.FileKind=d={}))}),define(ne[675],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.showHistoryKeybindingHint=d;function d(k){return k.lookupKeybinding(\"history.showPrevious\")?.getElectronAccelerator()===\"Up\"&&k.lookupKeybinding(\"history.showNext\")?.getElectronAccelerator()===\"Down\"}}),define(ne[265],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SyncDescriptor=void 0;class d{constructor(I,E=[],y=!1){this.ctor=I,this.staticArguments=E,this.supportsDelayedInstantiation=y}}e.SyncDescriptor=d}),define(ne[49],se([1,0,265]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.registerSingleton=I,e.getSingletonServiceDescriptors=E;const k=[];function I(y,m,_){m instanceof d.SyncDescriptor||(m=new d.SyncDescriptor(m,[],!!_)),k.push([y,m])}function E(){return k}}),define(ne[676],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Graph=e.Node=void 0;class d{constructor(E,y){this.key=E,this.data=y,this.incoming=new Map,this.outgoing=new Map}}e.Node=d;class k{constructor(E){this._hashFn=E,this._nodes=new Map}roots(){const E=[];for(const y of this._nodes.values())y.outgoing.size===0&&E.push(y);return E}insertEdge(E,y){const m=this.lookupOrInsertNode(E),_=this.lookupOrInsertNode(y);m.outgoing.set(_.key,_),_.incoming.set(m.key,m)}removeNode(E){const y=this._hashFn(E);this._nodes.delete(y);for(const m of this._nodes.values())m.outgoing.delete(y),m.incoming.delete(y)}lookupOrInsertNode(E){const y=this._hashFn(E);let m=this._nodes.get(y);return m||(m=new d(y,E),this._nodes.set(y,m)),m}isEmpty(){return this._nodes.size===0}toString(){const E=[];for(const[y,m]of this._nodes)E.push(`${y}\n\t(-> incoming)[${[...m.incoming.keys()].join(\", \")}]\n\t(outgoing ->)[${[...m.outgoing.keys()].join(\",\")}]\n`);return E.join(`\n`)}findCycleSlow(){for(const[E,y]of this._nodes){const m=new Set([E]),_=this._findCycle(y,m);if(_)return _}}_findCycle(E,y){for(const[m,_]of E.outgoing){if(y.has(m))return[...y,m].join(\" -> \");y.add(m);const b=this._findCycle(_,y);if(b)return b;y.delete(m)}}}e.Graph=k}),define(ne[7],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IInstantiationService=e._util=void 0,e.createDecorator=I;var d;(function(E){E.serviceIds=new Map,E.DI_TARGET=\"$di$target\",E.DI_DEPENDENCIES=\"$di$dependencies\";function y(m){return m[E.DI_DEPENDENCIES]||[]}E.getServiceDependencies=y})(d||(e._util=d={})),e.IInstantiationService=I(\"instantiationService\");function k(E,y,m){y[d.DI_TARGET]===y?y[d.DI_DEPENDENCIES].push({id:E,index:m}):(y[d.DI_DEPENDENCIES]=[{id:E,index:m}],y[d.DI_TARGET]=y)}function I(E){if(d.serviceIds.has(E))return d.serviceIds.get(E);const y=function(m,_,b){if(arguments.length!==3)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");k(y,m,b)};return y.toString=()=>E,d.serviceIds.set(E,y),y}}),define(ne[152],se([1,0,7,22,19]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResourceFileEdit=e.ResourceTextEdit=e.ResourceEdit=e.IBulkEditService=void 0,e.IBulkEditService=(0,d.createDecorator)(\"IWorkspaceEditService\");class E{constructor(b){this.metadata=b}static convert(b){return b.edits.map(p=>{if(y.is(p))return y.lift(p);if(m.is(p))return m.lift(p);throw new Error(\"Unsupported edit\")})}}e.ResourceEdit=E;class y extends E{static is(b){return b instanceof y?!0:(0,I.isObject)(b)&&k.URI.isUri(b.resource)&&(0,I.isObject)(b.textEdit)}static lift(b){return b instanceof y?b:new y(b.resource,b.textEdit,b.versionId,b.metadata)}constructor(b,p,n=void 0,o){super(o),this.resource=b,this.textEdit=p,this.versionId=n}}e.ResourceTextEdit=y;class m extends E{static is(b){return b instanceof m?!0:(0,I.isObject)(b)&&(!!b.newResource||!!b.oldResource)}static lift(b){return b instanceof m?b:new m(b.oldResource,b.newResource,b.options,b.metadata)}constructor(b,p,n={},o){super(o),this.oldResource=b,this.newResource=p,this.options=n}}e.ResourceFileEdit=m}),define(ne[34],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ICodeEditorService=void 0,e.ICodeEditorService=(0,d.createDecorator)(\"codeEditorService\")});var ce=this&&this.__param||function(oe,e){return function(d,k){e(d,k,oe)}};define(ne[383],se([1,0,5,114,26,57,2,21,65,30,19,112,88,55,9,4,27,3,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";var a;Object.defineProperty(e,\"__esModule\",{value:!0}),e.HideUnchangedRegionsFeature=void 0;let r=class extends y.Disposable{static{a=this}static{this._breadcrumbsSourceFactory=(0,m.observableValue)(a,()=>({dispose(){},getBreadcrumbItems(h,v){return[]}}))}static setBreadcrumbsSourceFactory(h){this._breadcrumbsSourceFactory.set(h,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(h,v,w,S){super(),this._editors=h,this._diffModel=v,this._options=w,this._instantiationService=S,this._modifiedOutlineSource=(0,_.derivedDisposable)(this,M=>{const A=this._editors.modifiedModel.read(M),P=a._breadcrumbsSourceFactory.read(M);return!A||!P?void 0:P(A,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(M=>{if(M.reason===1)return;const A=this._diffModel.get();(0,m.transaction)(P=>{for(const N of this._editors.original.getSelections()||[])A?.ensureOriginalLineIsVisible(N.getStartPosition().lineNumber,0,P),A?.ensureOriginalLineIsVisible(N.getEndPosition().lineNumber,0,P)})})),this._register(this._editors.modified.onDidChangeCursorPosition(M=>{if(M.reason===1)return;const A=this._diffModel.get();(0,m.transaction)(P=>{for(const N of this._editors.modified.getSelections()||[])A?.ensureModifiedLineIsVisible(N.getStartPosition().lineNumber,0,P),A?.ensureModifiedLineIsVisible(N.getEndPosition().lineNumber,0,P)})}));const L=this._diffModel.map((M,A)=>{const P=M?.unchangedRegions.read(A)??[];return P.length===1&&P[0].modifiedLineNumber===1&&P[0].lineCount===this._editors.modifiedModel.read(A)?.getLineCount()?[]:P});this.viewZones=(0,m.derivedWithStore)(this,(M,A)=>{const P=this._modifiedOutlineSource.read(M);if(!P)return{origViewZones:[],modViewZones:[]};const N=[],O=[],F=this._options.renderSideBySide.read(M),x=this._options.compactMode.read(M),W=L.read(M);for(let V=0;V<W.length;V++){const q=W[V];if(!q.shouldHideControls(M)&&!(x&&(V===0||V===W.length-1)))if(x){{const H=(0,m.derived)(this,U=>q.getHiddenOriginalRange(U).startLineNumber-1),z=new o.PlaceholderViewZone(H,12);N.push(z),A.add(new u(this._editors.original,z,q,!F))}{const H=(0,m.derived)(this,U=>q.getHiddenModifiedRange(U).startLineNumber-1),z=new o.PlaceholderViewZone(H,12);O.push(z),A.add(new u(this._editors.modified,z,q))}}else{{const H=(0,m.derived)(this,U=>q.getHiddenOriginalRange(U).startLineNumber-1),z=new o.PlaceholderViewZone(H,24);N.push(z),A.add(new C(this._editors.original,z,q,q.originalUnchangedRange,!F,P,U=>this._diffModel.get().ensureModifiedLineIsVisible(U,2,void 0),this._options))}{const H=(0,m.derived)(this,U=>q.getHiddenModifiedRange(U).startLineNumber-1),z=new o.PlaceholderViewZone(H,24);O.push(z),A.add(new C(this._editors.modified,z,q,q.modifiedUnchangedRange,!1,P,U=>this._diffModel.get().ensureModifiedLineIsVisible(U,2,void 0),this._options))}}}return{origViewZones:N,modViewZones:O}});const D={description:\"unchanged lines\",className:\"diff-unchanged-lines\",isWholeLine:!0},T={description:\"Fold Unchanged\",glyphMarginHoverMessage:new E.MarkdownString(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,c.localize)(111,\"Fold Unchanged Region\")),glyphMarginClassName:\"fold-unchanged \"+b.ThemeIcon.asClassName(I.Codicon.fold),zIndex:10001};this._register((0,o.applyObservableDecorations)(this._editors.original,(0,m.derived)(this,M=>{const A=L.read(M),P=A.map(N=>({range:N.originalUnchangedRange.toInclusiveRange(),options:D}));for(const N of A)N.shouldHideControls(M)&&P.push({range:s.Range.fromPositions(new i.Position(N.originalLineNumber,1)),options:T});return P}))),this._register((0,o.applyObservableDecorations)(this._editors.modified,(0,m.derived)(this,M=>{const A=L.read(M),P=A.map(N=>({range:N.modifiedUnchangedRange.toInclusiveRange(),options:D}));for(const N of A)N.shouldHideControls(M)&&P.push({range:t.LineRange.ofLength(N.modifiedLineNumber,1).toInclusiveRange(),options:T});return P}))),this._register((0,m.autorun)(M=>{const A=L.read(M);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(A.map(P=>P.getHiddenOriginalRange(M).toInclusiveRange()).filter(p.isDefined)),this._editors.modified.setHiddenAreas(A.map(P=>P.getHiddenModifiedRange(M).toInclusiveRange()).filter(p.isDefined))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(M=>{if(!M.event.rightButton&&M.target.position&&M.target.element?.className.includes(\"fold-unchanged\")){const A=M.target.position.lineNumber,P=this._diffModel.get();if(!P)return;const N=P.unchangedRegions.get().find(O=>O.modifiedUnchangedRange.includes(A));if(!N)return;N.collapseAll(void 0),M.event.stopPropagation(),M.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(M=>{if(!M.event.rightButton&&M.target.position&&M.target.element?.className.includes(\"fold-unchanged\")){const A=M.target.position.lineNumber,P=this._diffModel.get();if(!P)return;const N=P.unchangedRegions.get().find(O=>O.originalUnchangedRange.includes(A));if(!N)return;N.collapseAll(void 0),M.event.stopPropagation(),M.event.preventDefault()}}))}};e.HideUnchangedRegionsFeature=r,e.HideUnchangedRegionsFeature=r=a=ke([ce(3,l.IInstantiationService)],r);class u extends o.ViewZoneOverlayWidget{constructor(h,v,w,S=!1){const L=(0,d.h)(\"div.diff-hidden-lines-widget\");super(h,v,L.root),this._unchangedRegion=w,this._hide=S,this._nodes=(0,d.h)(\"div.diff-hidden-lines-compact\",[(0,d.h)(\"div.line-left\",[]),(0,d.h)(\"div.text@text\",[]),(0,d.h)(\"div.line-right\",[])]),L.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,m.autorun)(D=>{if(!this._hide){const T=this._unchangedRegion.getHiddenModifiedRange(D).length,M=(0,c.localize)(112,\"{0} hidden lines\",T);this._nodes.text.innerText=M}}))}}class C extends o.ViewZoneOverlayWidget{constructor(h,v,w,S,L,D,T,M){const A=(0,d.h)(\"div.diff-hidden-lines-widget\");super(h,v,A.root),this._editor=h,this._unchangedRegion=w,this._unchangedRegionRange=S,this._hide=L,this._modifiedOutlineSource=D,this._revealModifiedHiddenLine=T,this._options=M,this._nodes=(0,d.h)(\"div.diff-hidden-lines\",[(0,d.h)(\"div.top@top\",{title:(0,c.localize)(113,\"Click or drag to show more above\")}),(0,d.h)(\"div.center@content\",{style:{display:\"flex\"}},[(0,d.h)(\"div@first\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",flexShrink:\"0\"}},[(0,d.$)(\"a\",{title:(0,c.localize)(114,\"Show Unchanged Region\"),role:\"button\",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...(0,k.renderLabelWithIcons)(\"$(unfold)\"))]),(0,d.h)(\"div@others\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\"}})]),(0,d.h)(\"div.bottom@bottom\",{title:(0,c.localize)(115,\"Click or drag to show more below\"),role:\"button\"})]),A.root.appendChild(this._nodes.root),this._hide?(0,d.reset)(this._nodes.first):this._register((0,o.applyStyle)(this._nodes.first,{width:(0,n.observableCodeEditor)(this._editor).layoutInfoContentLeft})),this._register((0,m.autorun)(N=>{const O=this._unchangedRegion.visibleLineCountTop.read(N)+this._unchangedRegion.visibleLineCountBottom.read(N)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle(\"canMoveTop\",!O),this._nodes.bottom.classList.toggle(\"canMoveBottom\",this._unchangedRegion.visibleLineCountBottom.read(N)>0),this._nodes.top.classList.toggle(\"canMoveTop\",this._unchangedRegion.visibleLineCountTop.read(N)>0),this._nodes.top.classList.toggle(\"canMoveBottom\",!O);const F=this._unchangedRegion.isDragged.read(N),x=this._editor.getDomNode();x&&(x.classList.toggle(\"draggingUnchangedRegion\",!!F),F===\"top\"?(x.classList.toggle(\"canMoveTop\",this._unchangedRegion.visibleLineCountTop.read(N)>0),x.classList.toggle(\"canMoveBottom\",!O)):F===\"bottom\"?(x.classList.toggle(\"canMoveTop\",!O),x.classList.toggle(\"canMoveBottom\",this._unchangedRegion.visibleLineCountBottom.read(N)>0)):(x.classList.toggle(\"canMoveTop\",!1),x.classList.toggle(\"canMoveBottom\",!1)))}));const P=this._editor;this._register((0,d.addDisposableListener)(this._nodes.top,\"mousedown\",N=>{if(N.button!==0)return;this._nodes.top.classList.toggle(\"dragging\",!0),this._nodes.root.classList.toggle(\"dragging\",!0),N.preventDefault();const O=N.clientY;let F=!1;const x=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set(\"top\",void 0);const W=(0,d.getWindow)(this._nodes.top),V=(0,d.addDisposableListener)(W,\"mousemove\",H=>{const U=H.clientY-O;F=F||Math.abs(U)>2;const j=Math.round(U/P.getOption(67)),Y=Math.max(0,Math.min(x+j,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(Y,void 0)}),q=(0,d.addDisposableListener)(W,\"mouseup\",H=>{F||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle(\"dragging\",!1),this._nodes.root.classList.toggle(\"dragging\",!1),this._unchangedRegion.isDragged.set(void 0,void 0),V.dispose(),q.dispose()})})),this._register((0,d.addDisposableListener)(this._nodes.bottom,\"mousedown\",N=>{if(N.button!==0)return;this._nodes.bottom.classList.toggle(\"dragging\",!0),this._nodes.root.classList.toggle(\"dragging\",!0),N.preventDefault();const O=N.clientY;let F=!1;const x=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set(\"bottom\",void 0);const W=(0,d.getWindow)(this._nodes.bottom),V=(0,d.addDisposableListener)(W,\"mousemove\",H=>{const U=H.clientY-O;F=F||Math.abs(U)>2;const j=Math.round(U/P.getOption(67)),Y=Math.max(0,Math.min(x-j,this._unchangedRegion.getMaxVisibleLineCountBottom())),G=this._unchangedRegionRange.endLineNumberExclusive>P.getModel().getLineCount()?P.getContentHeight():P.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(Y,void 0);const K=this._unchangedRegionRange.endLineNumberExclusive>P.getModel().getLineCount()?P.getContentHeight():P.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);P.setScrollTop(P.getScrollTop()+(K-G))}),q=(0,d.addDisposableListener)(W,\"mouseup\",H=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!F){const z=P.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const U=P.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);P.setScrollTop(P.getScrollTop()+(U-z))}this._nodes.bottom.classList.toggle(\"dragging\",!1),this._nodes.root.classList.toggle(\"dragging\",!1),V.dispose(),q.dispose()})})),this._register((0,m.autorun)(N=>{const O=[];if(!this._hide){const F=w.getHiddenModifiedRange(N).length,x=(0,c.localize)(116,\"{0} hidden lines\",F),W=(0,d.$)(\"span\",{title:(0,c.localize)(117,\"Double click to unfold\")},x);W.addEventListener(\"dblclick\",H=>{H.button===0&&(H.preventDefault(),this._unchangedRegion.showAll(void 0))}),O.push(W);const V=this._unchangedRegion.getHiddenModifiedRange(N),q=this._modifiedOutlineSource.getBreadcrumbItems(V,N);if(q.length>0){O.push((0,d.$)(\"span\",void 0,\"\\xA0\\xA0|\\xA0\\xA0\"));for(let H=0;H<q.length;H++){const z=q[H],U=g.SymbolKinds.toIcon(z.kind),j=(0,d.h)(\"div.breadcrumb-item\",{style:{display:\"flex\",alignItems:\"center\"}},[(0,k.renderIcon)(U),\"\\xA0\",z.name,...H===q.length-1?[]:[(0,k.renderIcon)(I.Codicon.chevronRight)]]).root;O.push(j),j.onclick=()=>{this._revealModifiedHiddenLine(z.startLineNumber)}}}}(0,d.reset)(this._nodes.others,...O)}))}}}),define(ne[43],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ILanguageService=void 0,e.ILanguageService=(0,d.createDecorator)(\"languageService\")}),define(ne[100],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IEditorWorkerService=void 0,e.IEditorWorkerService=(0,d.createDecorator)(\"editorWorkerService\")}),define(ne[17],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ILanguageFeaturesService=void 0,e.ILanguageFeaturesService=(0,d.createDecorator)(\"ILanguageFeaturesService\")}),define(ne[677],se([1,0,658,17,49]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LanguageFeaturesService=void 0;class E{constructor(){this.referenceProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.renameProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.newSymbolNamesProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.codeActionProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.definitionProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.typeDefinitionProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.declarationProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.implementationProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentSymbolProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.inlayHintsProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.colorProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.codeLensProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentFormattingEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeFormattingEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.onTypeFormattingEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.signatureHelpProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.hoverProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentHighlightProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.multiDocumentHighlightProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.selectionRangeProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.foldingRangeProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.linkProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.inlineCompletionsProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.inlineEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.completionProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.linkedEditingRangeProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentSemanticTokensProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentDropEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this)),this.documentPasteEditProvider=new d.LanguageFeatureRegistry(this._score.bind(this))}_score(m){return this._notebookTypeResolver?.(m)}}e.LanguageFeaturesService=E,(0,I.registerSingleton)(k.ILanguageFeaturesService,E,1)}),define(ne[266],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IMarkerDecorationsService=void 0,e.IMarkerDecorationsService=(0,d.createDecorator)(\"markerDecorationsService\")}),define(ne[51],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IModelService=void 0,e.IModelService=(0,d.createDecorator)(\"modelService\")}),define(ne[78],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ITextModelService=void 0,e.ITextModelService=(0,d.createDecorator)(\"textModelService\")}),define(ne[267],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ISemanticTokensStylingService=void 0,e.ISemanticTokensStylingService=(0,d.createDecorator)(\"semanticTokensStylingService\")}),define(ne[211],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ITextResourcePropertiesService=e.ITextResourceConfigurationService=void 0,e.ITextResourceConfigurationService=(0,d.createDecorator)(\"textResourceConfigurationService\"),e.ITextResourcePropertiesService=(0,d.createDecorator)(\"textResourcePropertiesService\")}),define(ne[384],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ITreeSitterParserService=void 0,e.ITreeSitterParserService=(0,d.createDecorator)(\"treeSitterParserService\")}),define(ne[678],se([1,0,49,7,327]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ITreeViewsDnDService=void 0,e.ITreeViewsDnDService=(0,k.createDecorator)(\"treeViewsDndService\"),(0,d.registerSingleton)(e.ITreeViewsDnDService,I.TreeViewsDnDService,1)}),define(ne[385],se([1,0,33,2,17,130,100]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DefaultDocumentColorProvider=void 0;let m=class{constructor(p){this._editorWorkerService=p}async provideDocumentColors(p,n){return this._editorWorkerService.computeDefaultDocumentColors(p.uri)}provideColorPresentations(p,n,o){const t=n.range,i=n.color,s=i.alpha,g=new d.Color(new d.RGBA(Math.round(255*i.red),Math.round(255*i.green),Math.round(255*i.blue),s)),c=s?d.Color.Format.CSS.formatRGB(g):d.Color.Format.CSS.formatRGBA(g),l=s?d.Color.Format.CSS.formatHSL(g):d.Color.Format.CSS.formatHSLA(g),a=s?d.Color.Format.CSS.formatHex(g):d.Color.Format.CSS.formatHexA(g),r=[];return r.push({label:c,textEdit:{range:t,text:c}}),r.push({label:l,textEdit:{range:t,text:l}}),r.push({label:a,textEdit:{range:t,text:a}}),r}};e.DefaultDocumentColorProvider=m,e.DefaultDocumentColorProvider=m=ke([ce(0,y.IEditorWorkerService)],m);let _=class extends k.Disposable{constructor(p,n){super(),this._register(p.colorProvider.register(\"*\",new m(n)))}};_=ke([ce(0,I.ILanguageFeaturesService),ce(1,y.IEditorWorkerService)],_),(0,E.registerEditorFeature)(_)}),define(ne[268],se([1,0,152,135]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createCombinedWorkspaceEdit=I,e.sortEditsByYieldTo=E;function I(y,m,_){return(typeof _.insertText==\"string\"?_.insertText===\"\":_.insertText.snippet===\"\")?{edits:_.additionalEdit?.edits??[]}:{edits:[...m.map(b=>new d.ResourceTextEdit(y,{range:b,text:typeof _.insertText==\"string\"?k.SnippetParser.escape(_.insertText)+\"$0\":_.insertText.snippet,insertAsSnippet:!0})),..._.additionalEdit?.edits??[]]}}function E(y){function m(o,t){return\"mimeType\"in o?o.mimeType===t.handledMimeType:!!t.kind&&o.kind.contains(t.kind)}const _=new Map;for(const o of y)for(const t of o.yieldTo??[])for(const i of y)if(i!==o&&m(t,i)){let s=_.get(o);s||(s=[],_.set(o,s)),s.push(i)}if(!_.size)return Array.from(y);const b=new Set,p=[];function n(o){if(!o.length)return[];const t=o[0];if(p.includes(t))return console.warn(\"Yield to cycle detected\",t),o;if(b.has(t))return n(o.slice(1));let i=[];const s=_.get(t);return s&&(p.push(t),i=n(s),p.pop()),b.add(t),[...i,t,...n(o.slice(1))]}return n(Array.from(y))}}),define(ne[679],se([1,0,103,6,2,21,11,74,37,9,4,116,43,40,83,150,136,204,205,517]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ttPolicy=e.AdditionalLinesWidget=e.GhostTextView=e.GHOST_TEXT_DESCRIPTION=void 0,e.GHOST_TEXT_DESCRIPTION=\"ghost-text\";let a=class extends I.Disposable{constructor(f,h,v){super(),this.editor=f,this.model=h,this.languageService=v,this.isDisposed=(0,E.observableValue)(this,!1),this.currentTextModel=(0,E.observableFromEvent)(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=(0,E.derived)(this,w=>{if(this.isDisposed.read(w))return;const S=this.currentTextModel.read(w);if(S!==this.model.targetTextModel.read(w))return;const L=this.model.ghostText.read(w);if(!L)return;const D=L instanceof c.GhostTextReplacement?L.columnRange:void 0,T=[],M=[];function A(x,W){if(M.length>0){const V=M[M.length-1];W&&V.decorations.push(new s.LineDecoration(V.content.length+1,V.content.length+1+x[0].length,W,0)),V.content+=x[0],x=x.slice(1)}for(const V of x)M.push({content:V,decorations:W?[new s.LineDecoration(1,V.length+1,W,0)]:[]})}const P=S.getLineContent(L.lineNumber);let N,O=0;for(const x of L.parts){let W=x.lines;N===void 0?(T.push({column:x.column,text:W[0],preview:x.preview}),W=W.slice(1)):A([P.substring(O,x.column-1)],void 0),W.length>0&&(A(W,e.GHOST_TEXT_DESCRIPTION),N===void 0&&x.column<=P.length&&(N=x.column)),O=x.column-1}N!==void 0&&A([P.substring(O)],void 0);const F=N!==void 0?new l.ColumnRange(N,P.length+1):void 0;return{replacedRange:D,inlineTexts:T,additionalLines:M,hiddenRange:F,lineNumber:L.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(w),targetTextModel:S}}),this.decorations=(0,E.derived)(this,w=>{const S=this.uiState.read(w);if(!S)return[];const L=[];S.replacedRange&&L.push({range:S.replacedRange.toRange(S.lineNumber),options:{inlineClassName:\"inline-completion-text-to-replace\",description:\"GhostTextReplacement\"}}),S.hiddenRange&&L.push({range:S.hiddenRange.toRange(S.lineNumber),options:{inlineClassName:\"ghost-text-hidden\",description:\"ghost-text-hidden\"}});for(const D of S.inlineTexts)L.push({range:p.Range.fromPositions(new b.Position(S.lineNumber,D.column)),options:{description:e.GHOST_TEXT_DESCRIPTION,after:{content:D.text,inlineClassName:D.preview?\"ghost-text-decoration-preview\":\"ghost-text-decoration\",cursorStops:t.InjectedTextCursorStops.Left},showIfCollapsed:!0}});return L}),this.additionalLinesWidget=this._register(new r(this.editor,this.languageService.languageIdCodec,(0,E.derived)(w=>{const S=this.uiState.read(w);return S?{lineNumber:S.lineNumber,additionalLines:S.additionalLines,minReservedLineCount:S.additionalReservedLineCount,targetTextModel:S.targetTextModel}:void 0}))),this._register((0,I.toDisposable)(()=>{this.isDisposed.set(!0,void 0)})),this._register((0,l.applyObservableDecorations)(this.editor,this.decorations))}ownsViewZone(f){return this.additionalLinesWidget.viewZoneId===f}};e.GhostTextView=a,e.GhostTextView=a=ke([ce(2,o.ILanguageService)],a);class r extends I.Disposable{get viewZoneId(){return this._viewZoneId}constructor(f,h,v){super(),this.editor=f,this.languageIdCodec=h,this.lines=v,this._viewZoneId=void 0,this.editorOptionsChanged=(0,E.observableSignalFromEvent)(\"editorOptionChanged\",k.Event.filter(this.editor.onDidChangeConfiguration,w=>w.hasChanged(33)||w.hasChanged(118)||w.hasChanged(100)||w.hasChanged(95)||w.hasChanged(51)||w.hasChanged(50)||w.hasChanged(67))),this._register((0,E.autorun)(w=>{const S=this.lines.read(w);this.editorOptionsChanged.read(w),S?this.updateLines(S.lineNumber,S.additionalLines,S.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(f=>{this._viewZoneId&&(f.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(f,h,v){const w=this.editor.getModel();if(!w)return;const{tabSize:S}=w.getOptions();this.editor.changeViewZones(L=>{this._viewZoneId&&(L.removeZone(this._viewZoneId),this._viewZoneId=void 0);const D=Math.max(h.length,v);if(D>0){const T=document.createElement(\"div\");u(T,S,h,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=L.addZone({afterLineNumber:f,heightInLines:D,domNode:T,afterColumnAffinity:1})}})}}e.AdditionalLinesWidget=r;function u(C,f,h,v,w){const S=v.get(33),L=v.get(118),D=\"none\",T=v.get(95),M=v.get(51),A=v.get(50),P=v.get(67),N=new n.StringBuilder(1e4);N.appendString('<div class=\"suggest-preview-text\">');for(let x=0,W=h.length;x<W;x++){const V=h[x],q=V.content;N.appendString('<div class=\"view-line'),N.appendString('\" style=\"top:'),N.appendString(String(x*P)),N.appendString('px;width:1000000px;\">');const H=y.isBasicASCII(q),z=y.containsRTL(q),U=i.LineTokens.createEmpty(q,w);(0,g.renderViewLine)(new g.RenderLineInput(A.isMonospace&&!S,A.canUseHalfwidthRightwardsArrow,q,!1,H,z,0,U,V.decorations,f,0,A.spaceWidth,A.middotWidth,A.wsmiddotWidth,L,D,T,M!==_.EditorFontLigatures.OFF,null),N),N.appendString(\"</div>\")}N.appendString(\"</div>\"),(0,m.applyFontInfo)(C,A);const O=N.build(),F=e.ttPolicy?e.ttPolicy.createHTML(O):O;C.innerHTML=F}e.ttPolicy=(0,d.createTrustedTypesPolicy)(\"editorGhostText\",{createHTML:C=>C})}),define(ne[680],se([1,0,147,17,27,2,45]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextualMultiDocumentHighlightFeature=void 0;class m{constructor(){this.selector={language:\"*\"}}provideDocumentHighlights(p,n,o){const t=[],i=p.getWordAtPosition({lineNumber:n.lineNumber,column:n.column});return i?p.isDisposed()?void 0:p.findMatches(i.word,!0,!1,!0,d.USUAL_WORD_SEPARATORS,!1).map(g=>({range:g.range,kind:I.DocumentHighlightKind.Text})):Promise.resolve(t)}provideMultiDocumentHighlights(p,n,o,t){const i=new y.ResourceMap,s=p.getWordAtPosition({lineNumber:n.lineNumber,column:n.column});if(!s)return Promise.resolve(i);for(const g of[p,...o]){if(g.isDisposed())continue;const l=g.findMatches(s.word,!0,!1,!0,d.USUAL_WORD_SEPARATORS,!1).map(a=>({range:a.range,kind:I.DocumentHighlightKind.Text}));l&&i.set(g.uri,l)}return i}}let _=class extends E.Disposable{constructor(p){super(),this._register(p.documentHighlightProvider.register(\"*\",new m)),this._register(p.multiDocumentHighlightProvider.register(\"*\",new m))}};e.TextualMultiDocumentHighlightFeature=_,e.TextualMultiDocumentHighlightFeature=_=ke([ce(0,k.ILanguageFeaturesService)],_)}),define(ne[153],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IStandaloneThemeService=void 0,e.IStandaloneThemeService=(0,d.createDecorator)(\"themeService\")}),define(ne[137],se([1,0,3,7]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessibilitySignal=e.SoundSource=e.Sound=e.AcknowledgeDocCommentsToken=e.IAccessibilitySignalService=void 0,e.IAccessibilitySignalService=(0,k.createDecorator)(\"accessibilitySignalService\"),e.AcknowledgeDocCommentsToken=Symbol(\"AcknowledgeDocCommentsToken\");class I{static register(_){return new I(_.fileName)}static{this.error=I.register({fileName:\"error.mp3\"})}static{this.warning=I.register({fileName:\"warning.mp3\"})}static{this.success=I.register({fileName:\"success.mp3\"})}static{this.foldedArea=I.register({fileName:\"foldedAreas.mp3\"})}static{this.break=I.register({fileName:\"break.mp3\"})}static{this.quickFixes=I.register({fileName:\"quickFixes.mp3\"})}static{this.taskCompleted=I.register({fileName:\"taskCompleted.mp3\"})}static{this.taskFailed=I.register({fileName:\"taskFailed.mp3\"})}static{this.terminalBell=I.register({fileName:\"terminalBell.mp3\"})}static{this.diffLineInserted=I.register({fileName:\"diffLineInserted.mp3\"})}static{this.diffLineDeleted=I.register({fileName:\"diffLineDeleted.mp3\"})}static{this.diffLineModified=I.register({fileName:\"diffLineModified.mp3\"})}static{this.chatRequestSent=I.register({fileName:\"chatRequestSent.mp3\"})}static{this.chatResponseReceived1=I.register({fileName:\"chatResponseReceived1.mp3\"})}static{this.chatResponseReceived2=I.register({fileName:\"chatResponseReceived2.mp3\"})}static{this.chatResponseReceived3=I.register({fileName:\"chatResponseReceived3.mp3\"})}static{this.chatResponseReceived4=I.register({fileName:\"chatResponseReceived4.mp3\"})}static{this.clear=I.register({fileName:\"clear.mp3\"})}static{this.save=I.register({fileName:\"save.mp3\"})}static{this.format=I.register({fileName:\"format.mp3\"})}static{this.voiceRecordingStarted=I.register({fileName:\"voiceRecordingStarted.mp3\"})}static{this.voiceRecordingStopped=I.register({fileName:\"voiceRecordingStopped.mp3\"})}static{this.progress=I.register({fileName:\"progress.mp3\"})}constructor(_){this.fileName=_}}e.Sound=I;class E{constructor(_){this.randomOneOf=_}}e.SoundSource=E;class y{constructor(_,b,p,n,o,t){this.sound=_,this.name=b,this.legacySoundSettingsKey=p,this.settingsKey=n,this.legacyAnnouncementSettingsKey=o,this.announcementMessage=t}static{this._signals=new Set}static register(_){const b=new E(\"randomOneOf\"in _.sound?_.sound.randomOneOf:[_.sound]),p=new y(b,_.name,_.legacySoundSettingsKey,_.settingsKey,_.legacyAnnouncementSettingsKey,_.announcementMessage);return y._signals.add(p),p}static{this.errorAtPosition=y.register({name:(0,d.localize)(1428,\"Error at Position\"),sound:I.error,announcementMessage:(0,d.localize)(1429,\"Error\"),settingsKey:\"accessibility.signals.positionHasError\",delaySettingsKey:\"accessibility.signalOptions.delays.errorAtPosition\"})}static{this.warningAtPosition=y.register({name:(0,d.localize)(1430,\"Warning at Position\"),sound:I.warning,announcementMessage:(0,d.localize)(1431,\"Warning\"),settingsKey:\"accessibility.signals.positionHasWarning\",delaySettingsKey:\"accessibility.signalOptions.delays.warningAtPosition\"})}static{this.errorOnLine=y.register({name:(0,d.localize)(1432,\"Error on Line\"),sound:I.error,legacySoundSettingsKey:\"audioCues.lineHasError\",legacyAnnouncementSettingsKey:\"accessibility.alert.error\",announcementMessage:(0,d.localize)(1433,\"Error on Line\"),settingsKey:\"accessibility.signals.lineHasError\"})}static{this.warningOnLine=y.register({name:(0,d.localize)(1434,\"Warning on Line\"),sound:I.warning,legacySoundSettingsKey:\"audioCues.lineHasWarning\",legacyAnnouncementSettingsKey:\"accessibility.alert.warning\",announcementMessage:(0,d.localize)(1435,\"Warning on Line\"),settingsKey:\"accessibility.signals.lineHasWarning\"})}static{this.foldedArea=y.register({name:(0,d.localize)(1436,\"Folded Area on Line\"),sound:I.foldedArea,legacySoundSettingsKey:\"audioCues.lineHasFoldedArea\",legacyAnnouncementSettingsKey:\"accessibility.alert.foldedArea\",announcementMessage:(0,d.localize)(1437,\"Folded\"),settingsKey:\"accessibility.signals.lineHasFoldedArea\"})}static{this.break=y.register({name:(0,d.localize)(1438,\"Breakpoint on Line\"),sound:I.break,legacySoundSettingsKey:\"audioCues.lineHasBreakpoint\",legacyAnnouncementSettingsKey:\"accessibility.alert.breakpoint\",announcementMessage:(0,d.localize)(1439,\"Breakpoint\"),settingsKey:\"accessibility.signals.lineHasBreakpoint\"})}static{this.inlineSuggestion=y.register({name:(0,d.localize)(1440,\"Inline Suggestion on Line\"),sound:I.quickFixes,legacySoundSettingsKey:\"audioCues.lineHasInlineSuggestion\",settingsKey:\"accessibility.signals.lineHasInlineSuggestion\"})}static{this.terminalQuickFix=y.register({name:(0,d.localize)(1441,\"Terminal Quick Fix\"),sound:I.quickFixes,legacySoundSettingsKey:\"audioCues.terminalQuickFix\",legacyAnnouncementSettingsKey:\"accessibility.alert.terminalQuickFix\",announcementMessage:(0,d.localize)(1442,\"Quick Fix\"),settingsKey:\"accessibility.signals.terminalQuickFix\"})}static{this.onDebugBreak=y.register({name:(0,d.localize)(1443,\"Debugger Stopped on Breakpoint\"),sound:I.break,legacySoundSettingsKey:\"audioCues.onDebugBreak\",legacyAnnouncementSettingsKey:\"accessibility.alert.onDebugBreak\",announcementMessage:(0,d.localize)(1444,\"Breakpoint\"),settingsKey:\"accessibility.signals.onDebugBreak\"})}static{this.noInlayHints=y.register({name:(0,d.localize)(1445,\"No Inlay Hints on Line\"),sound:I.error,legacySoundSettingsKey:\"audioCues.noInlayHints\",legacyAnnouncementSettingsKey:\"accessibility.alert.noInlayHints\",announcementMessage:(0,d.localize)(1446,\"No Inlay Hints\"),settingsKey:\"accessibility.signals.noInlayHints\"})}static{this.taskCompleted=y.register({name:(0,d.localize)(1447,\"Task Completed\"),sound:I.taskCompleted,legacySoundSettingsKey:\"audioCues.taskCompleted\",legacyAnnouncementSettingsKey:\"accessibility.alert.taskCompleted\",announcementMessage:(0,d.localize)(1448,\"Task Completed\"),settingsKey:\"accessibility.signals.taskCompleted\"})}static{this.taskFailed=y.register({name:(0,d.localize)(1449,\"Task Failed\"),sound:I.taskFailed,legacySoundSettingsKey:\"audioCues.taskFailed\",legacyAnnouncementSettingsKey:\"accessibility.alert.taskFailed\",announcementMessage:(0,d.localize)(1450,\"Task Failed\"),settingsKey:\"accessibility.signals.taskFailed\"})}static{this.terminalCommandFailed=y.register({name:(0,d.localize)(1451,\"Terminal Command Failed\"),sound:I.error,legacySoundSettingsKey:\"audioCues.terminalCommandFailed\",legacyAnnouncementSettingsKey:\"accessibility.alert.terminalCommandFailed\",announcementMessage:(0,d.localize)(1452,\"Command Failed\"),settingsKey:\"accessibility.signals.terminalCommandFailed\"})}static{this.terminalCommandSucceeded=y.register({name:(0,d.localize)(1453,\"Terminal Command Succeeded\"),sound:I.success,announcementMessage:(0,d.localize)(1454,\"Command Succeeded\"),settingsKey:\"accessibility.signals.terminalCommandSucceeded\"})}static{this.terminalBell=y.register({name:(0,d.localize)(1455,\"Terminal Bell\"),sound:I.terminalBell,legacySoundSettingsKey:\"audioCues.terminalBell\",legacyAnnouncementSettingsKey:\"accessibility.alert.terminalBell\",announcementMessage:(0,d.localize)(1456,\"Terminal Bell\"),settingsKey:\"accessibility.signals.terminalBell\"})}static{this.notebookCellCompleted=y.register({name:(0,d.localize)(1457,\"Notebook Cell Completed\"),sound:I.taskCompleted,legacySoundSettingsKey:\"audioCues.notebookCellCompleted\",legacyAnnouncementSettingsKey:\"accessibility.alert.notebookCellCompleted\",announcementMessage:(0,d.localize)(1458,\"Notebook Cell Completed\"),settingsKey:\"accessibility.signals.notebookCellCompleted\"})}static{this.notebookCellFailed=y.register({name:(0,d.localize)(1459,\"Notebook Cell Failed\"),sound:I.taskFailed,legacySoundSettingsKey:\"audioCues.notebookCellFailed\",legacyAnnouncementSettingsKey:\"accessibility.alert.notebookCellFailed\",announcementMessage:(0,d.localize)(1460,\"Notebook Cell Failed\"),settingsKey:\"accessibility.signals.notebookCellFailed\"})}static{this.diffLineInserted=y.register({name:(0,d.localize)(1461,\"Diff Line Inserted\"),sound:I.diffLineInserted,legacySoundSettingsKey:\"audioCues.diffLineInserted\",settingsKey:\"accessibility.signals.diffLineInserted\"})}static{this.diffLineDeleted=y.register({name:(0,d.localize)(1462,\"Diff Line Deleted\"),sound:I.diffLineDeleted,legacySoundSettingsKey:\"audioCues.diffLineDeleted\",settingsKey:\"accessibility.signals.diffLineDeleted\"})}static{this.diffLineModified=y.register({name:(0,d.localize)(1463,\"Diff Line Modified\"),sound:I.diffLineModified,legacySoundSettingsKey:\"audioCues.diffLineModified\",settingsKey:\"accessibility.signals.diffLineModified\"})}static{this.chatRequestSent=y.register({name:(0,d.localize)(1464,\"Chat Request Sent\"),sound:I.chatRequestSent,legacySoundSettingsKey:\"audioCues.chatRequestSent\",legacyAnnouncementSettingsKey:\"accessibility.alert.chatRequestSent\",announcementMessage:(0,d.localize)(1465,\"Chat Request Sent\"),settingsKey:\"accessibility.signals.chatRequestSent\"})}static{this.chatResponseReceived=y.register({name:(0,d.localize)(1466,\"Chat Response Received\"),legacySoundSettingsKey:\"audioCues.chatResponseReceived\",sound:{randomOneOf:[I.chatResponseReceived1,I.chatResponseReceived2,I.chatResponseReceived3,I.chatResponseReceived4]},settingsKey:\"accessibility.signals.chatResponseReceived\"})}static{this.progress=y.register({name:(0,d.localize)(1467,\"Progress\"),sound:I.progress,legacySoundSettingsKey:\"audioCues.chatResponsePending\",legacyAnnouncementSettingsKey:\"accessibility.alert.progress\",announcementMessage:(0,d.localize)(1468,\"Progress\"),settingsKey:\"accessibility.signals.progress\"})}static{this.clear=y.register({name:(0,d.localize)(1469,\"Clear\"),sound:I.clear,legacySoundSettingsKey:\"audioCues.clear\",legacyAnnouncementSettingsKey:\"accessibility.alert.clear\",announcementMessage:(0,d.localize)(1470,\"Clear\"),settingsKey:\"accessibility.signals.clear\"})}static{this.save=y.register({name:(0,d.localize)(1471,\"Save\"),sound:I.save,legacySoundSettingsKey:\"audioCues.save\",legacyAnnouncementSettingsKey:\"accessibility.alert.save\",announcementMessage:(0,d.localize)(1472,\"Save\"),settingsKey:\"accessibility.signals.save\"})}static{this.format=y.register({name:(0,d.localize)(1473,\"Format\"),sound:I.format,legacySoundSettingsKey:\"audioCues.format\",legacyAnnouncementSettingsKey:\"accessibility.alert.format\",announcementMessage:(0,d.localize)(1474,\"Format\"),settingsKey:\"accessibility.signals.format\"})}static{this.voiceRecordingStarted=y.register({name:(0,d.localize)(1475,\"Voice Recording Started\"),sound:I.voiceRecordingStarted,legacySoundSettingsKey:\"audioCues.voiceRecordingStarted\",settingsKey:\"accessibility.signals.voiceRecordingStarted\"})}static{this.voiceRecordingStopped=y.register({name:(0,d.localize)(1476,\"Voice Recording Stopped\"),sound:I.voiceRecordingStopped,legacySoundSettingsKey:\"audioCues.voiceRecordingStopped\",settingsKey:\"accessibility.signals.voiceRecordingStopped\"})}}e.AccessibilitySignal=y}),define(ne[117],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IClipboardService=void 0,e.IClipboardService=(0,d.createDecorator)(\"clipboardService\")}),define(ne[24],se([1,0,6,53,2,73,19,7]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CommandsRegistry=e.ICommandService=void 0,e.ICommandService=(0,m.createDecorator)(\"commandService\"),e.CommandsRegistry=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new d.Emitter,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(_,b){if(!_)throw new Error(\"invalid command\");if(typeof _==\"string\"){if(!b)throw new Error(\"invalid command\");return this.registerCommand({id:_,handler:b})}if(_.metadata&&Array.isArray(_.metadata.args)){const i=[];for(const g of _.metadata.args)i.push(g.constraint);const s=_.handler;_.handler=function(g,...c){return(0,y.validateConstraints)(c,i),s(g,...c)}}const{id:p}=_;let n=this._commands.get(p);n||(n=new E.LinkedList,this._commands.set(p,n));const o=n.unshift(_),t=(0,I.toDisposable)(()=>{o(),this._commands.get(p)?.isEmpty()&&this._commands.delete(p)});return this._onDidRegisterCommand.fire(p),t}registerCommandAlias(_,b){return e.CommandsRegistry.registerCommand(_,(p,...n)=>p.get(e.ICommandService).executeCommand(b,...n))}getCommand(_){const b=this._commands.get(_);if(!(!b||b.isEmpty()))return k.Iterable.first(b)}getCommands(){const _=new Map;for(const b of this._commands.keys()){const p=this.getCommand(b);p&&_.set(b,p)}return _}},e.CommandsRegistry.registerCommand(\"noop\",()=>{})}),define(ne[386],se([1,0,18,8,2,19,22,51,24,17]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeLensModel=void 0,e.getCodeLensModel=n;class p{constructor(){this.lenses=[],this._disposables=new I.DisposableStore}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(t,i){this._disposables.add(t);for(const s of t.lenses)this.lenses.push({symbol:s,provider:i})}}e.CodeLensModel=p;async function n(o,t,i){const s=o.ordered(t),g=new Map,c=new p,l=s.map(async(a,r)=>{g.set(a,r);try{const u=await Promise.resolve(a.provideCodeLenses(t,i));u&&c.add(u,a)}catch(u){(0,k.onUnexpectedExternalError)(u)}});return await Promise.all(l),c.lenses=c.lenses.sort((a,r)=>a.symbol.range.startLineNumber<r.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>r.symbol.range.startLineNumber?1:g.get(a.provider)<g.get(r.provider)?-1:g.get(a.provider)>g.get(r.provider)?1:a.symbol.range.startColumn<r.symbol.range.startColumn?-1:a.symbol.range.startColumn>r.symbol.range.startColumn?1:0),c}_.CommandsRegistry.registerCommand(\"_executeCodeLensProvider\",function(o,...t){let[i,s]=t;(0,E.assertType)(y.URI.isUri(i)),(0,E.assertType)(typeof s==\"number\"||!s);const{codeLensProvider:g}=o.get(b.ILanguageFeaturesService),c=o.get(m.IModelService).getModel(i);if(!c)throw(0,k.illegalArgument)();const l=[],a=new I.DisposableStore;return n(g,c,d.CancellationToken.None).then(r=>{a.add(r);const u=[];for(const C of r.lenses)s==null||C.symbol.command?l.push(C.symbol):s-- >0&&C.provider.resolveCodeLens&&u.push(Promise.resolve(C.provider.resolveCodeLens(c,C.symbol,d.CancellationToken.None)).then(f=>l.push(f||C.symbol)));return Promise.all(u)}).then(()=>l).finally(()=>{setTimeout(()=>a.dispose(),100)})})}),define(ne[681],se([1,0,13,18,8,2,19,22,4,51,24,17]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinksList=e.Link=void 0,e.getLinks=i;class o{constructor(g,c){this._link=g,this._provider=c}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(g){return this._link.url?this._link.url:typeof this._provider.resolveLink==\"function\"?Promise.resolve(this._provider.resolveLink(this._link,g)).then(c=>(this._link=c||this._link,this._link.url?this.resolve(g):Promise.reject(new Error(\"missing\")))):Promise.reject(new Error(\"missing\"))}}e.Link=o;class t{constructor(g){this._disposables=new E.DisposableStore;let c=[];for(const[l,a]of g){const r=l.links.map(u=>new o(u,a));c=t._union(c,r),(0,E.isDisposable)(l)&&this._disposables.add(l)}this.links=c}dispose(){this._disposables.dispose(),this.links.length=0}static _union(g,c){const l=[];let a,r,u,C;for(a=0,u=0,r=g.length,C=c.length;a<r&&u<C;){const f=g[a],h=c[u];if(_.Range.areIntersectingOrTouching(f.range,h.range)){a++;continue}_.Range.compareRangesUsingStarts(f.range,h.range)<0?(l.push(f),a++):(l.push(h),u++)}for(;a<r;a++)l.push(g[a]);for(;u<C;u++)l.push(c[u]);return l}}e.LinksList=t;function i(s,g,c){const l=[],a=s.ordered(g).reverse().map((r,u)=>Promise.resolve(r.provideLinks(g,c)).then(C=>{C&&(l[u]=[C,r])},I.onUnexpectedExternalError));return Promise.all(a).then(()=>{const r=new t((0,d.coalesce)(l));return c.isCancellationRequested?(r.dispose(),new t([])):r})}p.CommandsRegistry.registerCommand(\"_executeLinkProvider\",async(s,...g)=>{let[c,l]=g;(0,y.assertType)(c instanceof m.URI),typeof l!=\"number\"&&(l=0);const{linkProvider:a}=s.get(n.ILanguageFeaturesService),r=s.get(b.IModelService).getModel(c);if(!r)return[];const u=await i(a,r,k.CancellationToken.None);if(!u)return[];for(let f=0;f<Math.min(l,u.links.length);f++)await u.links[f].resolve(k.CancellationToken.None);const C=u.links.slice(0);return u.dispose(),C})}),define(ne[387],se([1,0,18,8,22,51,24,19,665,4,17]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DocumentSemanticTokensResult=void 0,e.isSemanticTokens=n,e.isSemanticTokensEdits=o,e.hasDocumentSemanticTokensProvider=i,e.getDocumentSemanticTokens=g,e.hasDocumentRangeSemanticTokensProvider=a,e.getDocumentRangeSemanticTokens=u;function n(C){return C&&!!C.data}function o(C){return C&&Array.isArray(C.edits)}class t{constructor(f,h,v){this.provider=f,this.tokens=h,this.error=v}}e.DocumentSemanticTokensResult=t;function i(C,f){return C.has(f)}function s(C,f){const h=C.orderedGroups(f);return h.length>0?h[0]:[]}async function g(C,f,h,v,w){const S=s(C,f),L=await Promise.all(S.map(async D=>{let T,M=null;try{T=await D.provideDocumentSemanticTokens(f,D===h?v:null,w)}catch(A){M=A,T=null}return(!T||!n(T)&&!o(T))&&(T=null),new t(D,T,M)}));for(const D of L){if(D.error)throw D.error;if(D.tokens)return D}return L.length>0?L[0]:null}function c(C,f){const h=C.orderedGroups(f);return h.length>0?h[0]:null}class l{constructor(f,h){this.provider=f,this.tokens=h}}function a(C,f){return C.has(f)}function r(C,f){const h=C.orderedGroups(f);return h.length>0?h[0]:[]}async function u(C,f,h,v){const w=r(C,f),S=await Promise.all(w.map(async L=>{let D;try{D=await L.provideDocumentRangeSemanticTokens(f,h,v)}catch(T){(0,k.onUnexpectedExternalError)(T),D=null}return(!D||!n(D))&&(D=null),new l(L,D)}));for(const L of S)if(L.tokens)return L;return S.length>0?S[0]:null}y.CommandsRegistry.registerCommand(\"_provideDocumentSemanticTokensLegend\",async(C,...f)=>{const[h]=f;(0,m.assertType)(h instanceof I.URI);const v=C.get(E.IModelService).getModel(h);if(!v)return;const{documentSemanticTokensProvider:w}=C.get(p.ILanguageFeaturesService),S=c(w,v);return S?S[0].getLegend():C.get(y.ICommandService).executeCommand(\"_provideDocumentRangeSemanticTokensLegend\",h)}),y.CommandsRegistry.registerCommand(\"_provideDocumentSemanticTokens\",async(C,...f)=>{const[h]=f;(0,m.assertType)(h instanceof I.URI);const v=C.get(E.IModelService).getModel(h);if(!v)return;const{documentSemanticTokensProvider:w}=C.get(p.ILanguageFeaturesService);if(!i(w,v))return C.get(y.ICommandService).executeCommand(\"_provideDocumentRangeSemanticTokens\",h,v.getFullModelRange());const S=await g(w,v,null,null,d.CancellationToken.None);if(!S)return;const{provider:L,tokens:D}=S;if(!D||!n(D))return;const T=(0,_.encodeSemanticTokensDto)({id:0,type:\"full\",data:D.data});return D.resultId&&L.releaseDocumentSemanticTokens(D.resultId),T}),y.CommandsRegistry.registerCommand(\"_provideDocumentRangeSemanticTokensLegend\",async(C,...f)=>{const[h,v]=f;(0,m.assertType)(h instanceof I.URI);const w=C.get(E.IModelService).getModel(h);if(!w)return;const{documentRangeSemanticTokensProvider:S}=C.get(p.ILanguageFeaturesService),L=r(S,w);if(L.length===0)return;if(L.length===1)return L[0].getLegend();if(!v||!b.Range.isIRange(v))return console.warn(\"provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in\"),L[0].getLegend();const D=await u(S,w,b.Range.lift(v),d.CancellationToken.None);if(D)return D.provider.getLegend()}),y.CommandsRegistry.registerCommand(\"_provideDocumentRangeSemanticTokens\",async(C,...f)=>{const[h,v]=f;(0,m.assertType)(h instanceof I.URI),(0,m.assertType)(b.Range.isIRange(v));const w=C.get(E.IModelService).getModel(h);if(!w)return;const{documentRangeSemanticTokensProvider:S}=C.get(p.ILanguageFeaturesService),L=await u(S,w,b.Range.lift(v),d.CancellationToken.None);if(!(!L||!L.tokens))return(0,_.encodeSemanticTokensDto)({id:0,type:\"full\",data:L.tokens.data})})}),define(ne[28],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IConfigurationService=void 0,e.toValuesTree=k,e.addToValueTree=I,e.removeFromValueTree=E,e.getConfigurationValue=m,e.getLanguageTagSettingPlainKey=_,e.IConfigurationService=(0,d.createDecorator)(\"configurationService\");function k(b,p){const n=Object.create(null);for(const o in b)I(n,o,b[o],p);return n}function I(b,p,n,o){const t=p.split(\".\"),i=t.pop();let s=b;for(let g=0;g<t.length;g++){const c=t[g];let l=s[c];switch(typeof l){case\"undefined\":l=s[c]=Object.create(null);break;case\"object\":if(l===null){o(`Ignoring ${p} as ${t.slice(0,g+1).join(\".\")} is null`);return}break;default:o(`Ignoring ${p} as ${t.slice(0,g+1).join(\".\")} is ${JSON.stringify(l)}`);return}s=l}if(typeof s==\"object\"&&s!==null)try{s[i]=n}catch{o(`Ignoring ${p} as ${t.join(\".\")} is ${JSON.stringify(s)}`)}else o(`Ignoring ${p} as ${t.join(\".\")} is ${JSON.stringify(s)}`)}function E(b,p){const n=p.split(\".\");y(b,n)}function y(b,p){const n=p.shift();if(p.length===0){delete b[n];return}if(Object.keys(b).indexOf(n)!==-1){const o=b[n];typeof o==\"object\"&&!Array.isArray(o)&&(y(o,p),Object.keys(o).length===0&&delete b[n])}}function m(b,p,n){function o(s,g){let c=s;for(const l of g){if(typeof c!=\"object\"||c===null)return;c=c[l]}return c}const t=p.split(\".\"),i=o(b,t);return typeof i>\"u\"?n:i}function _(b){return b.replace(/[\\[\\]]/g,\"\")}}),define(ne[388],se([1,0,18,8,22,4,51,24,17,385,28]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getColors=n,e.getColorPresentations=o;async function n(l,a,r,u=!0){return g(new t,l,a,r,u)}function o(l,a,r,u){return Promise.resolve(r.provideColorPresentations(l,a,u))}class t{constructor(){}async compute(a,r,u,C){const f=await a.provideDocumentColors(r,u);if(Array.isArray(f))for(const h of f)C.push({colorInfo:h,provider:a});return Array.isArray(f)}}class i{constructor(){}async compute(a,r,u,C){const f=await a.provideDocumentColors(r,u);if(Array.isArray(f))for(const h of f)C.push({range:h.range,color:[h.color.red,h.color.green,h.color.blue,h.color.alpha]});return Array.isArray(f)}}class s{constructor(a){this.colorInfo=a}async compute(a,r,u,C){const f=await a.provideColorPresentations(r,this.colorInfo,d.CancellationToken.None);return Array.isArray(f)&&C.push(...f),Array.isArray(f)}}async function g(l,a,r,u,C){let f=!1,h;const v=[],w=a.ordered(r);for(let S=w.length-1;S>=0;S--){const L=w[S];if(L instanceof b.DefaultDocumentColorProvider)h=L;else try{await l.compute(L,r,u,v)&&(f=!0)}catch(D){(0,k.onUnexpectedExternalError)(D)}}return f?v:h&&C?(await l.compute(h,r,u,v),v):[]}function c(l,a){const{colorProvider:r}=l.get(_.ILanguageFeaturesService),u=l.get(y.IModelService).getModel(a);if(!u)throw(0,k.illegalArgument)();const C=l.get(p.IConfigurationService).getValue(\"editor.defaultColorDecorators\",{resource:a});return{model:u,colorProviderRegistry:r,isDefaultColorDecoratorsEnabled:C}}m.CommandsRegistry.registerCommand(\"_executeDocumentColorProvider\",function(l,...a){const[r]=a;if(!(r instanceof I.URI))throw(0,k.illegalArgument)();const{model:u,colorProviderRegistry:C,isDefaultColorDecoratorsEnabled:f}=c(l,r);return g(new i,C,u,d.CancellationToken.None,f)}),m.CommandsRegistry.registerCommand(\"_executeColorPresentationProvider\",function(l,...a){const[r,u]=a,{uri:C,range:f}=u;if(!(C instanceof I.URI)||!Array.isArray(r)||r.length!==4||!E.Range.isIRange(f))throw(0,k.illegalArgument)();const{model:h,colorProviderRegistry:v,isDefaultColorDecoratorsEnabled:w}=c(l,C),[S,L,D,T]=r;return g(new s({range:f,color:{red:S,green:L,blue:D,alpha:T}}),v,h,d.CancellationToken.None,w)})}),define(ne[389],se([1,0,2,27,177,344,28]),function(oe,e,d,k,I,E,y){\"use strict\";var m;Object.defineProperty(e,\"__esModule\",{value:!0}),e.MonarchTokenizer=void 0;const _=5;class b{static{this._INSTANCE=new b(_)}static create(a,r){return this._INSTANCE.create(a,r)}constructor(a){this._maxCacheDepth=a,this._entries=Object.create(null)}create(a,r){if(a!==null&&a.depth>=this._maxCacheDepth)return new p(a,r);let u=p.getStackElementId(a);u.length>0&&(u+=\"|\"),u+=r;let C=this._entries[u];return C||(C=new p(a,r),this._entries[u]=C,C)}}class p{constructor(a,r){this.parent=a,this.state=r,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(a){let r=\"\";for(;a!==null;)r.length>0&&(r+=\"|\"),r+=a.state,a=a.parent;return r}static _equals(a,r){for(;a!==null&&r!==null;){if(a===r)return!0;if(a.state!==r.state)return!1;a=a.parent,r=r.parent}return a===null&&r===null}equals(a){return p._equals(this,a)}push(a){return b.create(this,a)}pop(){return this.parent}popall(){let a=this;for(;a.parent;)a=a.parent;return a}switchTo(a){return b.create(this.parent,a)}}class n{constructor(a,r){this.languageId=a,this.state=r}equals(a){return this.languageId===a.languageId&&this.state.equals(a.state)}clone(){return this.state.clone()===this.state?this:new n(this.languageId,this.state)}}class o{static{this._INSTANCE=new o(_)}static create(a,r){return this._INSTANCE.create(a,r)}constructor(a){this._maxCacheDepth=a,this._entries=Object.create(null)}create(a,r){if(r!==null)return new t(a,r);if(a!==null&&a.depth>=this._maxCacheDepth)return new t(a,r);const u=p.getStackElementId(a);let C=this._entries[u];return C||(C=new t(a,null),this._entries[u]=C,C)}}class t{constructor(a,r){this.stack=a,this.embeddedLanguageData=r}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:o.create(this.stack,this.embeddedLanguageData)}equals(a){return!(a instanceof t)||!this.stack.equals(a.stack)?!1:this.embeddedLanguageData===null&&a.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||a.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(a.embeddedLanguageData)}}class i{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(a){this._languageId=a}emit(a,r){this._lastTokenType===r&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=r,this._lastTokenLanguage=this._languageId,this._tokens.push(new k.Token(a,r,this._languageId)))}nestedLanguageTokenize(a,r,u,C){const f=u.languageId,h=u.state,v=k.TokenizationRegistry.get(f);if(!v)return this.enterLanguage(f),this.emit(C,\"\"),h;const w=v.tokenize(a,r,h);if(C!==0)for(const S of w.tokens)this._tokens.push(new k.Token(S.offset+C,S.type,S.language));else this._tokens=this._tokens.concat(w.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,w.endState}finalize(a){return new k.TokenizationResult(this._tokens,a)}}class s{constructor(a,r){this._languageService=a,this._theme=r,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(a){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(a)}emit(a,r){const u=this._theme.match(this._currentLanguageId,r)|1024;this._lastTokenMetadata!==u&&(this._lastTokenMetadata=u,this._tokens.push(a),this._tokens.push(u))}static _merge(a,r,u){const C=a!==null?a.length:0,f=r.length,h=u!==null?u.length:0;if(C===0&&f===0&&h===0)return new Uint32Array(0);if(C===0&&f===0)return u;if(f===0&&h===0)return a;const v=new Uint32Array(C+f+h);a!==null&&v.set(a);for(let w=0;w<f;w++)v[C+w]=r[w];return u!==null&&v.set(u,C+f),v}nestedLanguageTokenize(a,r,u,C){const f=u.languageId,h=u.state,v=k.TokenizationRegistry.get(f);if(!v)return this.enterLanguage(f),this.emit(C,\"\"),h;const w=v.tokenizeEncoded(a,r,h);if(C!==0)for(let S=0,L=w.tokens.length;S<L;S+=2)w.tokens[S]+=C;return this._prependTokens=s._merge(this._prependTokens,this._tokens,w.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,w.endState}finalize(a){return new k.EncodedTokenizationResult(s._merge(this._prependTokens,this._tokens,null),a)}}let g=m=class extends d.Disposable{constructor(a,r,u,C,f){super(),this._configurationService=f,this._languageService=a,this._standaloneThemeService=r,this._languageId=u,this._lexer=C,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let h=!1;this._register(k.TokenizationRegistry.onDidChange(v=>{if(h)return;let w=!1;for(let S=0,L=v.changedLanguages.length;S<L;S++){const D=v.changedLanguages[S];if(this._embeddedLanguages[D]){w=!0;break}}w&&(h=!0,k.TokenizationRegistry.handleChange([this._languageId]),h=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(\"editor.maxTokenizationLineLength\",{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(v=>{v.affectsConfiguration(\"editor.maxTokenizationLineLength\")&&(this._maxTokenizationLineLength=this._configurationService.getValue(\"editor.maxTokenizationLineLength\",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const a=[];for(const r in this._embeddedLanguages){const u=k.TokenizationRegistry.get(r);if(u){if(u instanceof m){const C=u.getLoadStatus();C.loaded===!1&&a.push(C.promise)}continue}k.TokenizationRegistry.isResolved(r)||a.push(k.TokenizationRegistry.getOrCreate(r))}return a.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(a).then(r=>{})}}getInitialState(){const a=b.create(null,this._lexer.start);return o.create(a,null)}tokenize(a,r,u){if(a.length>=this._maxTokenizationLineLength)return(0,I.nullTokenize)(this._languageId,u);const C=new i,f=this._tokenize(a,r,u,C);return C.finalize(f)}tokenizeEncoded(a,r,u){if(a.length>=this._maxTokenizationLineLength)return(0,I.nullTokenizeEncoded)(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),u);const C=new s(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),f=this._tokenize(a,r,u,C);return C.finalize(f)}_tokenize(a,r,u,C){return u.embeddedLanguageData?this._nestedTokenize(a,r,u,0,C):this._myTokenize(a,r,u,0,C)}_findLeavingNestedLanguageOffset(a,r){let u=this._lexer.tokenizer[r.stack.state];if(!u&&(u=E.findRules(this._lexer,r.stack.state),!u))throw E.createError(this._lexer,\"tokenizer state is not defined: \"+r.stack.state);let C=-1,f=!1;for(const h of u){if(!E.isIAction(h.action)||h.action.nextEmbedded!==\"@pop\")continue;f=!0;let v=h.resolveRegex(r.stack.state);const w=v.source;if(w.substr(0,4)===\"^(?:\"&&w.substr(w.length-1,1)===\")\"){const L=(v.ignoreCase?\"i\":\"\")+(v.unicode?\"u\":\"\");v=new RegExp(w.substr(4,w.length-5),L)}const S=a.search(v);S===-1||S!==0&&h.matchOnlyAtLineStart||(C===-1||S<C)&&(C=S)}if(!f)throw E.createError(this._lexer,'no rule containing nextEmbedded: \"@pop\" in tokenizer embedded state: '+r.stack.state);return C}_nestedTokenize(a,r,u,C,f){const h=this._findLeavingNestedLanguageOffset(a,u);if(h===-1){const S=f.nestedLanguageTokenize(a,r,u.embeddedLanguageData,C);return o.create(u.stack,new n(u.embeddedLanguageData.languageId,S))}const v=a.substring(0,h);v.length>0&&f.nestedLanguageTokenize(v,!1,u.embeddedLanguageData,C);const w=a.substring(h);return this._myTokenize(w,r,u,C+h,f)}_safeRuleName(a){return a?a.name:\"(unknown)\"}_myTokenize(a,r,u,C,f){f.enterLanguage(this._languageId);const h=a.length,v=r&&this._lexer.includeLF?a+`\n`:a,w=v.length;let S=u.embeddedLanguageData,L=u.stack,D=0,T=null,M=!0;for(;M||D<w;){const A=D,P=L.depth,N=T?T.groups.length:0,O=L.state;let F=null,x=null,W=null,V=null,q=null;if(T){F=T.matches;const U=T.groups.shift();x=U.matched,W=U.action,V=T.rule,T.groups.length===0&&(T=null)}else{if(!M&&D>=w)break;M=!1;let U=this._lexer.tokenizer[O];if(!U&&(U=E.findRules(this._lexer,O),!U))throw E.createError(this._lexer,\"tokenizer state is not defined: \"+O);const j=v.substr(D);for(const Y of U)if((D===0||!Y.matchOnlyAtLineStart)&&(F=j.match(Y.resolveRegex(O)),F)){x=F[0],W=Y.action;break}}if(F||(F=[\"\"],x=\"\"),W||(D<w&&(F=[v.charAt(D)],x=F[0]),W=this._lexer.defaultToken),x===null)break;for(D+=x.length;E.isFuzzyAction(W)&&E.isIAction(W)&&W.test;)W=W.test(x,F,O,D===w);let H=null;if(typeof W==\"string\"||Array.isArray(W))H=W;else if(W.group)H=W.group;else if(W.token!==null&&W.token!==void 0){if(W.tokenSubst?H=E.substituteMatches(this._lexer,W.token,x,F,O):H=W.token,W.nextEmbedded)if(W.nextEmbedded===\"@pop\"){if(!S)throw E.createError(this._lexer,\"cannot pop embedded language if not inside one\");S=null}else{if(S)throw E.createError(this._lexer,\"cannot enter embedded language from within an embedded language\");q=E.substituteMatches(this._lexer,W.nextEmbedded,x,F,O)}if(W.goBack&&(D=Math.max(0,D-W.goBack)),W.switchTo&&typeof W.switchTo==\"string\"){let U=E.substituteMatches(this._lexer,W.switchTo,x,F,O);if(U[0]===\"@\"&&(U=U.substr(1)),E.findRules(this._lexer,U))L=L.switchTo(U);else throw E.createError(this._lexer,\"trying to switch to a state '\"+U+\"' that is undefined in rule: \"+this._safeRuleName(V))}else{if(W.transform&&typeof W.transform==\"function\")throw E.createError(this._lexer,\"action.transform not supported\");if(W.next)if(W.next===\"@push\"){if(L.depth>=this._lexer.maxStack)throw E.createError(this._lexer,\"maximum tokenizer stack size reached: [\"+L.state+\",\"+L.parent.state+\",...]\");L=L.push(O)}else if(W.next===\"@pop\"){if(L.depth<=1)throw E.createError(this._lexer,\"trying to pop an empty stack in rule: \"+this._safeRuleName(V));L=L.pop()}else if(W.next===\"@popall\")L=L.popall();else{let U=E.substituteMatches(this._lexer,W.next,x,F,O);if(U[0]===\"@\"&&(U=U.substr(1)),E.findRules(this._lexer,U))L=L.push(U);else throw E.createError(this._lexer,\"trying to set a next state '\"+U+\"' that is undefined in rule: \"+this._safeRuleName(V))}}W.log&&typeof W.log==\"string\"&&E.log(this._lexer,this._lexer.languageId+\": \"+E.substituteMatches(this._lexer,W.log,x,F,O))}if(H===null)throw E.createError(this._lexer,\"lexer rule has no well-defined action in rule: \"+this._safeRuleName(V));const z=U=>{const j=this._languageService.getLanguageIdByLanguageName(U)||this._languageService.getLanguageIdByMimeType(U)||U,Y=this._getNestedEmbeddedLanguageData(j);if(D<w){const G=a.substr(D);return this._nestedTokenize(G,r,o.create(L,Y),C+D,f)}else return o.create(L,Y)};if(Array.isArray(H)){if(T&&T.groups.length>0)throw E.createError(this._lexer,\"groups cannot be nested: \"+this._safeRuleName(V));if(F.length!==H.length+1)throw E.createError(this._lexer,\"matched number of groups does not match the number of actions in rule: \"+this._safeRuleName(V));let U=0;for(let j=1;j<F.length;j++)U+=F[j].length;if(U!==x.length)throw E.createError(this._lexer,\"with groups, all characters should be matched in consecutive groups in rule: \"+this._safeRuleName(V));T={rule:V,matches:F,groups:[]};for(let j=0;j<H.length;j++)T.groups[j]={action:H[j],matched:F[j+1]};D-=x.length;continue}else{if(H===\"@rematch\"&&(D-=x.length,x=\"\",F=null,H=\"\",q!==null))return z(q);if(x.length===0){if(w===0||P!==L.depth||O!==L.state||(T?T.groups.length:0)!==N)continue;throw E.createError(this._lexer,\"no progress in tokenizer in rule: \"+this._safeRuleName(V))}let U=null;if(E.isString(H)&&H.indexOf(\"@brackets\")===0){const j=H.substr(9),Y=c(this._lexer,x);if(!Y)throw E.createError(this._lexer,\"@brackets token returned but no bracket defined as: \"+x);U=E.sanitize(Y.token+j)}else{const j=H===\"\"?\"\":H+this._lexer.tokenPostfix;U=E.sanitize(j)}A<h&&f.emit(A+C,U)}if(q!==null)return z(q)}return o.create(L,S)}_getNestedEmbeddedLanguageData(a){if(!this._languageService.isRegisteredLanguageId(a))return new n(a,I.NullState);a!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(a),k.TokenizationRegistry.getOrCreate(a),this._embeddedLanguages[a]=!0);const r=k.TokenizationRegistry.get(a);return r?new n(a,r.getInitialState()):new n(a,I.NullState)}};e.MonarchTokenizer=g,e.MonarchTokenizer=g=m=ke([ce(4,y.IConfigurationService)],g);function c(l,a){if(!a)return null;a=E.fixCase(l,a);const r=l.brackets;for(const u of r){if(u.open===a)return{token:u.token,bracketType:1};if(u.close===a)return{token:u.token,bracketType:-1}}return null}}),define(ne[682],se([1,0,103,11,27,83,136,95,389]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Colorizer=void 0;const b=(0,d.createTrustedTypesPolicy)(\"standaloneColorizer\",{createHTML:i=>i});class p{static colorizeElement(s,g,c,l){l=l||{};const a=l.theme||\"vs\",r=l.mimeType||c.getAttribute(\"lang\")||c.getAttribute(\"data-lang\");if(!r)return console.error(\"Mode not detected\"),Promise.resolve();const u=g.getLanguageIdByMimeType(r)||r;s.setTheme(a);const C=c.firstChild?c.firstChild.nodeValue:\"\";c.className+=\" \"+a;const f=h=>{const v=b?.createHTML(h)??h;c.innerHTML=v};return this.colorize(g,C||\"\",u,l).then(f,h=>console.error(h))}static async colorize(s,g,c,l){const a=s.languageIdCodec;let r=4;l&&typeof l.tabSize==\"number\"&&(r=l.tabSize),k.startsWithUTF8BOM(g)&&(g=g.substr(1));const u=k.splitLines(g);if(!s.isRegisteredLanguageId(c))return o(u,r,a);const C=await I.TokenizationRegistry.getOrCreate(c);return C?n(u,r,C,a):o(u,r,a)}static colorizeLine(s,g,c,l,a=4){const r=m.ViewLineRenderingData.isBasicASCII(s,g),u=m.ViewLineRenderingData.containsRTL(s,r,c);return(0,y.renderViewLine2)(new y.RenderLineInput(!1,!0,s,!1,r,u,0,l,[],a,0,0,0,0,-1,\"none\",!1,!1,null)).html}static colorizeModelLine(s,g,c=4){const l=s.getLineContent(g);s.tokenization.forceTokenization(g);const r=s.tokenization.getLineTokens(g).inflate();return this.colorizeLine(l,s.mightContainNonBasicASCII(),s.mightContainRTL(),r,c)}}e.Colorizer=p;function n(i,s,g,c){return new Promise((l,a)=>{const r=()=>{const u=t(i,s,g,c);if(g instanceof _.MonarchTokenizer){const C=g.getLoadStatus();if(C.loaded===!1){C.promise.then(r,a);return}}l(u)};r()})}function o(i,s,g){let c=[];const a=new Uint32Array(2);a[0]=0,a[1]=33587200;for(let r=0,u=i.length;r<u;r++){const C=i[r];a[0]=C.length;const f=new E.LineTokens(a,C,g),h=m.ViewLineRenderingData.isBasicASCII(C,!0),v=m.ViewLineRenderingData.containsRTL(C,h,!0),w=(0,y.renderViewLine2)(new y.RenderLineInput(!1,!0,C,!1,h,v,0,f,[],s,0,0,0,0,-1,\"none\",!1,!1,null));c=c.concat(w.html),c.push(\"<br/>\")}return c.join(\"\")}function t(i,s,g,c){let l=[],a=g.getInitialState();for(let r=0,u=i.length;r<u;r++){const C=i[r],f=g.tokenizeEncoded(C,!0,a);E.LineTokens.convertToEndOffset(f.tokens,C.length);const h=new E.LineTokens(f.tokens,C,c),v=m.ViewLineRenderingData.isBasicASCII(C,!0),w=m.ViewLineRenderingData.containsRTL(C,v,!0),S=(0,y.renderViewLine2)(new y.RenderLineInput(!1,!0,C,!1,v,w,0,h.inflate(),[],s,0,0,0,0,-1,\"none\",!1,!1,null));l=l.concat(S.html),l.push(\"<br/>\"),a=f.endState}return l.join(\"\")}}),define(ne[12],se([1,0,16,11,672,7,3]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IContextKeyService=e.RawContextKey=e.ContextKeyOrExpr=e.ContextKeyAndExpr=e.ContextKeyNotRegexExpr=e.ContextKeyRegexExpr=e.ContextKeySmallerEqualsExpr=e.ContextKeySmallerExpr=e.ContextKeyGreaterEqualsExpr=e.ContextKeyGreaterExpr=e.ContextKeyNotExpr=e.ContextKeyNotEqualsExpr=e.ContextKeyNotInExpr=e.ContextKeyInExpr=e.ContextKeyEqualsExpr=e.ContextKeyDefinedExpr=e.ContextKeyTrueExpr=e.ContextKeyFalseExpr=e.ContextKeyExpr=e.Parser=void 0,e.expressionsAreEqualWithConstantSubstitution=r,e.implies=U;const m=new Map;m.set(\"false\",!1),m.set(\"true\",!0),m.set(\"isMac\",d.isMacintosh),m.set(\"isLinux\",d.isLinux),m.set(\"isWindows\",d.isWindows),m.set(\"isWeb\",d.isWeb),m.set(\"isMacNative\",d.isMacintosh&&!d.isWeb),m.set(\"isEdge\",d.isEdge),m.set(\"isFirefox\",d.isFirefox),m.set(\"isChrome\",d.isChrome),m.set(\"isSafari\",d.isSafari);const _=Object.prototype.hasOwnProperty,b={regexParsingWithErrorRecovery:!0},p=(0,y.localize)(1514,\"Empty context key expression\"),n=(0,y.localize)(1515,\"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively.\"),o=(0,y.localize)(1516,\"'in' after 'not'.\"),t=(0,y.localize)(1517,\"closing parenthesis ')'\"),i=(0,y.localize)(1518,\"Unexpected token\"),s=(0,y.localize)(1519,\"Did you forget to put && or || before the token?\"),g=(0,y.localize)(1520,\"Unexpected end of expression\"),c=(0,y.localize)(1521,\"Did you forget to put a context key?\");class l{static{this._parseError=new Error}constructor(K=b){this._config=K,this._scanner=new I.Scanner,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(K){if(K===\"\"){this._parsingErrors.push({message:p,offset:0,lexeme:\"\",additionalInfo:n});return}this._tokens=this._scanner.reset(K).scan(),this._current=0,this._parsingErrors=[];try{const R=this._expr();if(!this._isAtEnd()){const J=this._peek(),ie=J.type===17?s:void 0;throw this._parsingErrors.push({message:i,offset:J.offset,lexeme:I.Scanner.getLexeme(J),additionalInfo:ie}),l._parseError}return R}catch(R){if(R!==l._parseError)throw R;return}}_expr(){return this._or()}_or(){const K=[this._and()];for(;this._matchOne(16);){const R=this._and();K.push(R)}return K.length===1?K[0]:a.or(...K)}_and(){const K=[this._term()];for(;this._matchOne(15);){const R=this._term();K.push(R)}return K.length===1?K[0]:a.and(...K)}_term(){if(this._matchOne(2)){const K=this._peek();switch(K.type){case 11:return this._advance(),C.INSTANCE;case 12:return this._advance(),f.INSTANCE;case 0:{this._advance();const R=this._expr();return this._consume(1,t),R?.negate()}case 17:return this._advance(),D.create(K.lexeme);default:throw this._errExpectedButGot(\"KEY | true | false | '(' expression ')'\",K)}}return this._primary()}_primary(){const K=this._peek();switch(K.type){case 11:return this._advance(),a.true();case 12:return this._advance(),a.false();case 0:{this._advance();const R=this._expr();return this._consume(1,t),R}case 17:{const R=K.lexeme;if(this._advance(),this._matchOne(9)){const ie=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),ie.type!==10)throw this._errExpectedButGot(\"REGEX\",ie);const ue=ie.lexeme,he=ue.lastIndexOf(\"/\"),pe=he===ue.length-1?void 0:this._removeFlagsGY(ue.substring(he+1));let ae;try{ae=new RegExp(ue.substring(1,he),pe)}catch{throw this._errExpectedButGot(\"REGEX\",ie)}return O.create(R,ae)}switch(ie.type){case 10:case 19:{const ue=[ie.lexeme];this._advance();let he=this._peek(),pe=0;for(let X=0;X<ie.lexeme.length;X++)ie.lexeme.charCodeAt(X)===40?pe++:ie.lexeme.charCodeAt(X)===41&&pe--;for(;!this._isAtEnd()&&he.type!==15&&he.type!==16;){switch(he.type){case 0:pe++;break;case 1:pe--;break;case 10:case 18:for(let X=0;X<he.lexeme.length;X++)he.lexeme.charCodeAt(X)===40?pe++:ie.lexeme.charCodeAt(X)===41&&pe--}if(pe<0)break;ue.push(I.Scanner.getLexeme(he)),this._advance(),he=this._peek()}const ae=ue.join(\"\"),ee=ae.lastIndexOf(\"/\"),de=ee===ae.length-1?void 0:this._removeFlagsGY(ae.substring(ee+1));let ge;try{ge=new RegExp(ae.substring(1,ee),de)}catch{throw this._errExpectedButGot(\"REGEX\",ie)}return a.regex(R,ge)}case 18:{const ue=ie.lexeme;this._advance();let he=null;if(!(0,k.isFalsyOrWhitespace)(ue)){const pe=ue.indexOf(\"/\"),ae=ue.lastIndexOf(\"/\");if(pe!==ae&&pe>=0){const ee=ue.slice(pe+1,ae),de=ue[ae+1]===\"i\"?\"i\":\"\";try{he=new RegExp(ee,de)}catch{throw this._errExpectedButGot(\"REGEX\",ie)}}}if(he===null)throw this._errExpectedButGot(\"REGEX\",ie);return O.create(R,he)}default:throw this._errExpectedButGot(\"REGEX\",this._peek())}}if(this._matchOne(14)){this._consume(13,o);const ie=this._value();return a.notIn(R,ie)}switch(this._peek().type){case 3:{this._advance();const ie=this._value();if(this._previous().type===18)return a.equals(R,ie);switch(ie){case\"true\":return a.has(R);case\"false\":return a.not(R);default:return a.equals(R,ie)}}case 4:{this._advance();const ie=this._value();if(this._previous().type===18)return a.notEquals(R,ie);switch(ie){case\"true\":return a.not(R);case\"false\":return a.has(R);default:return a.notEquals(R,ie)}}case 5:return this._advance(),P.create(R,this._value());case 6:return this._advance(),N.create(R,this._value());case 7:return this._advance(),M.create(R,this._value());case 8:return this._advance(),A.create(R,this._value());case 13:return this._advance(),a.in(R,this._value());default:return a.has(R)}}case 20:throw this._parsingErrors.push({message:g,offset:K.offset,lexeme:\"\",additionalInfo:c}),l._parseError;default:throw this._errExpectedButGot(`true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const K=this._peek();switch(K.type){case 17:case 18:return this._advance(),K.lexeme;case 11:return this._advance(),\"true\";case 12:return this._advance(),\"false\";case 13:return this._advance(),\"in\";default:return\"\"}}_removeFlagsGY(K){return K.replaceAll(this._flagsGYRe,\"\")}_previous(){return this._tokens[this._current-1]}_matchOne(K){return this._check(K)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(K,R){if(this._check(K))return this._advance();throw this._errExpectedButGot(R,this._peek())}_errExpectedButGot(K,R,J){const ie=(0,y.localize)(1522,`Expected: {0}\nReceived: '{1}'.`,K,I.Scanner.getLexeme(R)),ue=R.offset,he=I.Scanner.getLexeme(R);return this._parsingErrors.push({message:ie,offset:ue,lexeme:he,additionalInfo:J}),l._parseError}_check(K){return this._peek().type===K}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}}e.Parser=l;class a{static false(){return C.INSTANCE}static true(){return f.INSTANCE}static has(K){return h.create(K)}static equals(K,R){return v.create(K,R)}static notEquals(K,R){return L.create(K,R)}static regex(K,R){return O.create(K,R)}static in(K,R){return w.create(K,R)}static notIn(K,R){return S.create(K,R)}static not(K){return D.create(K)}static and(...K){return W.create(K,null,!0)}static or(...K){return V.create(K,null,!0)}static{this._parser=new l({regexParsingWithErrorRecovery:!1})}static deserialize(K){return K==null?void 0:this._parser.parse(K)}}e.ContextKeyExpr=a;function r(G,K){const R=G?G.substituteConstants():void 0,J=K?K.substituteConstants():void 0;return!R&&!J?!0:!R||!J?!1:R.equals(J)}function u(G,K){return G.cmp(K)}class C{static{this.INSTANCE=new C}constructor(){this.type=0}cmp(K){return this.type-K.type}equals(K){return K.type===this.type}substituteConstants(){return this}evaluate(K){return!1}serialize(){return\"false\"}keys(){return[]}negate(){return f.INSTANCE}}e.ContextKeyFalseExpr=C;class f{static{this.INSTANCE=new f}constructor(){this.type=1}cmp(K){return this.type-K.type}equals(K){return K.type===this.type}substituteConstants(){return this}evaluate(K){return!0}serialize(){return\"true\"}keys(){return[]}negate(){return C.INSTANCE}}e.ContextKeyTrueExpr=f;class h{static create(K,R=null){const J=m.get(K);return typeof J==\"boolean\"?J?f.INSTANCE:C.INSTANCE:new h(K,R)}constructor(K,R){this.key=K,this.negated=R,this.type=2}cmp(K){return K.type!==this.type?this.type-K.type:H(this.key,K.key)}equals(K){return K.type===this.type?this.key===K.key:!1}substituteConstants(){const K=m.get(this.key);return typeof K==\"boolean\"?K?f.INSTANCE:C.INSTANCE:this}evaluate(K){return!!K.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=D.create(this.key,this)),this.negated}}e.ContextKeyDefinedExpr=h;class v{static create(K,R,J=null){if(typeof R==\"boolean\")return R?h.create(K,J):D.create(K,J);const ie=m.get(K);return typeof ie==\"boolean\"?R===(ie?\"true\":\"false\")?f.INSTANCE:C.INSTANCE:new v(K,R,J)}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=4}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){const K=m.get(this.key);if(typeof K==\"boolean\"){const R=K?\"true\":\"false\";return this.value===R?f.INSTANCE:C.INSTANCE}return this}evaluate(K){return K.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=L.create(this.key,this.value,this)),this.negated}}e.ContextKeyEqualsExpr=v;class w{static create(K,R){return new w(K,R)}constructor(K,R){this.key=K,this.valueKey=R,this.type=10,this.negated=null}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.valueKey,K.key,K.valueKey)}equals(K){return K.type===this.type?this.key===K.key&&this.valueKey===K.valueKey:!1}substituteConstants(){return this}evaluate(K){const R=K.getValue(this.valueKey),J=K.getValue(this.key);return Array.isArray(R)?R.includes(J):typeof J==\"string\"&&typeof R==\"object\"&&R!==null?_.call(R,J):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=S.create(this.key,this.valueKey)),this.negated}}e.ContextKeyInExpr=w;class S{static create(K,R){return new S(K,R)}constructor(K,R){this.key=K,this.valueKey=R,this.type=11,this._negated=w.create(K,R)}cmp(K){return K.type!==this.type?this.type-K.type:this._negated.cmp(K._negated)}equals(K){return K.type===this.type?this._negated.equals(K._negated):!1}substituteConstants(){return this}evaluate(K){return!this._negated.evaluate(K)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}e.ContextKeyNotInExpr=S;class L{static create(K,R,J=null){if(typeof R==\"boolean\")return R?D.create(K,J):h.create(K,J);const ie=m.get(K);return typeof ie==\"boolean\"?R===(ie?\"true\":\"false\")?C.INSTANCE:f.INSTANCE:new L(K,R,J)}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=5}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){const K=m.get(this.key);if(typeof K==\"boolean\"){const R=K?\"true\":\"false\";return this.value===R?C.INSTANCE:f.INSTANCE}return this}evaluate(K){return K.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=v.create(this.key,this.value,this)),this.negated}}e.ContextKeyNotEqualsExpr=L;class D{static create(K,R=null){const J=m.get(K);return typeof J==\"boolean\"?J?C.INSTANCE:f.INSTANCE:new D(K,R)}constructor(K,R){this.key=K,this.negated=R,this.type=3}cmp(K){return K.type!==this.type?this.type-K.type:H(this.key,K.key)}equals(K){return K.type===this.type?this.key===K.key:!1}substituteConstants(){const K=m.get(this.key);return typeof K==\"boolean\"?K?C.INSTANCE:f.INSTANCE:this}evaluate(K){return!K.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=h.create(this.key,this)),this.negated}}e.ContextKeyNotExpr=D;function T(G,K){if(typeof G==\"string\"){const R=parseFloat(G);isNaN(R)||(G=R)}return typeof G==\"string\"||typeof G==\"number\"?K(G):C.INSTANCE}class M{static create(K,R,J=null){return T(R,ie=>new M(K,ie,J))}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=12}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){return this}evaluate(K){return typeof this.value==\"string\"?!1:parseFloat(K.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=N.create(this.key,this.value,this)),this.negated}}e.ContextKeyGreaterExpr=M;class A{static create(K,R,J=null){return T(R,ie=>new A(K,ie,J))}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=13}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){return this}evaluate(K){return typeof this.value==\"string\"?!1:parseFloat(K.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=P.create(this.key,this.value,this)),this.negated}}e.ContextKeyGreaterEqualsExpr=A;class P{static create(K,R,J=null){return T(R,ie=>new P(K,ie,J))}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=14}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){return this}evaluate(K){return typeof this.value==\"string\"?!1:parseFloat(K.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=A.create(this.key,this.value,this)),this.negated}}e.ContextKeySmallerExpr=P;class N{static create(K,R,J=null){return T(R,ie=>new N(K,ie,J))}constructor(K,R,J){this.key=K,this.value=R,this.negated=J,this.type=15}cmp(K){return K.type!==this.type?this.type-K.type:z(this.key,this.value,K.key,K.value)}equals(K){return K.type===this.type?this.key===K.key&&this.value===K.value:!1}substituteConstants(){return this}evaluate(K){return typeof this.value==\"string\"?!1:parseFloat(K.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=M.create(this.key,this.value,this)),this.negated}}e.ContextKeySmallerEqualsExpr=N;class O{static create(K,R){return new O(K,R)}constructor(K,R){this.key=K,this.regexp=R,this.type=7,this.negated=null}cmp(K){if(K.type!==this.type)return this.type-K.type;if(this.key<K.key)return-1;if(this.key>K.key)return 1;const R=this.regexp?this.regexp.source:\"\",J=K.regexp?K.regexp.source:\"\";return R<J?-1:R>J?1:0}equals(K){if(K.type===this.type){const R=this.regexp?this.regexp.source:\"\",J=K.regexp?K.regexp.source:\"\";return this.key===K.key&&R===J}return!1}substituteConstants(){return this}evaluate(K){const R=K.getValue(this.key);return this.regexp?this.regexp.test(R):!1}serialize(){const K=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:\"/invalid/\";return`${this.key} =~ ${K}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=F.create(this)),this.negated}}e.ContextKeyRegexExpr=O;class F{static create(K){return new F(K)}constructor(K){this._actual=K,this.type=8}cmp(K){return K.type!==this.type?this.type-K.type:this._actual.cmp(K._actual)}equals(K){return K.type===this.type?this._actual.equals(K._actual):!1}substituteConstants(){return this}evaluate(K){return!this._actual.evaluate(K)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}e.ContextKeyNotRegexExpr=F;function x(G){let K=null;for(let R=0,J=G.length;R<J;R++){const ie=G[R].substituteConstants();if(G[R]!==ie&&K===null){K=[];for(let ue=0;ue<R;ue++)K[ue]=G[ue]}K!==null&&(K[R]=ie)}return K===null?G:K}class W{static create(K,R,J){return W._normalizeArr(K,R,J)}constructor(K,R){this.expr=K,this.negated=R,this.type=6}cmp(K){if(K.type!==this.type)return this.type-K.type;if(this.expr.length<K.expr.length)return-1;if(this.expr.length>K.expr.length)return 1;for(let R=0,J=this.expr.length;R<J;R++){const ie=u(this.expr[R],K.expr[R]);if(ie!==0)return ie}return 0}equals(K){if(K.type===this.type){if(this.expr.length!==K.expr.length)return!1;for(let R=0,J=this.expr.length;R<J;R++)if(!this.expr[R].equals(K.expr[R]))return!1;return!0}return!1}substituteConstants(){const K=x(this.expr);return K===this.expr?this:W.create(K,this.negated,!1)}evaluate(K){for(let R=0,J=this.expr.length;R<J;R++)if(!this.expr[R].evaluate(K))return!1;return!0}static _normalizeArr(K,R,J){const ie=[];let ue=!1;for(const he of K)if(he){if(he.type===1){ue=!0;continue}if(he.type===0)return C.INSTANCE;if(he.type===6){ie.push(...he.expr);continue}ie.push(he)}if(ie.length===0&&ue)return f.INSTANCE;if(ie.length!==0){if(ie.length===1)return ie[0];ie.sort(u);for(let he=1;he<ie.length;he++)ie[he-1].equals(ie[he])&&(ie.splice(he,1),he--);if(ie.length===1)return ie[0];for(;ie.length>1;){const he=ie[ie.length-1];if(he.type!==9)break;ie.pop();const pe=ie.pop(),ae=ie.length===0,ee=V.create(he.expr.map(de=>W.create([de,pe],null,J)),null,ae);ee&&(ie.push(ee),ie.sort(u))}if(ie.length===1)return ie[0];if(J){for(let he=0;he<ie.length;he++)for(let pe=he+1;pe<ie.length;pe++)if(ie[he].negate().equals(ie[pe]))return C.INSTANCE;if(ie.length===1)return ie[0]}return new W(ie,R)}}serialize(){return this.expr.map(K=>K.serialize()).join(\" && \")}keys(){const K=[];for(const R of this.expr)K.push(...R.keys());return K}negate(){if(!this.negated){const K=[];for(const R of this.expr)K.push(R.negate());this.negated=V.create(K,this,!0)}return this.negated}}e.ContextKeyAndExpr=W;class V{static create(K,R,J){return V._normalizeArr(K,R,J)}constructor(K,R){this.expr=K,this.negated=R,this.type=9}cmp(K){if(K.type!==this.type)return this.type-K.type;if(this.expr.length<K.expr.length)return-1;if(this.expr.length>K.expr.length)return 1;for(let R=0,J=this.expr.length;R<J;R++){const ie=u(this.expr[R],K.expr[R]);if(ie!==0)return ie}return 0}equals(K){if(K.type===this.type){if(this.expr.length!==K.expr.length)return!1;for(let R=0,J=this.expr.length;R<J;R++)if(!this.expr[R].equals(K.expr[R]))return!1;return!0}return!1}substituteConstants(){const K=x(this.expr);return K===this.expr?this:V.create(K,this.negated,!1)}evaluate(K){for(let R=0,J=this.expr.length;R<J;R++)if(this.expr[R].evaluate(K))return!0;return!1}static _normalizeArr(K,R,J){let ie=[],ue=!1;if(K){for(let he=0,pe=K.length;he<pe;he++){const ae=K[he];if(ae){if(ae.type===0){ue=!0;continue}if(ae.type===1)return f.INSTANCE;if(ae.type===9){ie=ie.concat(ae.expr);continue}ie.push(ae)}}if(ie.length===0&&ue)return C.INSTANCE;ie.sort(u)}if(ie.length!==0){if(ie.length===1)return ie[0];for(let he=1;he<ie.length;he++)ie[he-1].equals(ie[he])&&(ie.splice(he,1),he--);if(ie.length===1)return ie[0];if(J){for(let he=0;he<ie.length;he++)for(let pe=he+1;pe<ie.length;pe++)if(ie[he].negate().equals(ie[pe]))return f.INSTANCE;if(ie.length===1)return ie[0]}return new V(ie,R)}}serialize(){return this.expr.map(K=>K.serialize()).join(\" || \")}keys(){const K=[];for(const R of this.expr)K.push(...R.keys());return K}negate(){if(!this.negated){const K=[];for(const R of this.expr)K.push(R.negate());for(;K.length>1;){const R=K.shift(),J=K.shift(),ie=[];for(const ue of Y(R))for(const he of Y(J))ie.push(W.create([ue,he],null,!1));K.unshift(V.create(ie,null,!1))}this.negated=V.create(K,this,!0)}return this.negated}}e.ContextKeyOrExpr=V;class q extends h{static{this._info=[]}static all(){return q._info.values()}constructor(K,R,J){super(K,null),this._defaultValue=R,typeof J==\"object\"?q._info.push({...J,key:K}):J!==!0&&q._info.push({key:K,description:J,type:R!=null?typeof R:void 0})}bindTo(K){return K.createKey(this.key,this._defaultValue)}getValue(K){return K.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(K){return v.create(this.key,K)}}e.RawContextKey=q,e.IContextKeyService=(0,E.createDecorator)(\"contextKeyService\");function H(G,K){return G<K?-1:G>K?1:0}function z(G,K,R,J){return G<R?-1:G>R?1:K<J?-1:K>J?1:0}function U(G,K){if(G.type===0||K.type===1)return!0;if(G.type===9)return K.type===9?j(G.expr,K.expr):!1;if(K.type===9){for(const R of K.expr)if(U(G,R))return!0;return!1}if(G.type===6){if(K.type===6)return j(K.expr,G.expr);for(const R of G.expr)if(U(R,K))return!0;return!1}return G.equals(K)}function j(G,K){let R=0,J=0;for(;R<G.length&&J<K.length;){const ie=G[R].cmp(K[J]);if(ie<0)return!1;ie===0&&R++,J++}return R===G.length}function Y(G){return G.type===9?G.expr:[G]}}),define(ne[20],se([1,0,3,12]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorContextKeys=void 0;var I;(function(E){E.editorSimpleInput=new k.RawContextKey(\"editorSimpleInput\",!1,!0),E.editorTextFocus=new k.RawContextKey(\"editorTextFocus\",!1,d.localize(622,\"Whether the editor text has focus (cursor is blinking)\")),E.focus=new k.RawContextKey(\"editorFocus\",!1,d.localize(623,\"Whether the editor or an editor widget has focus (e.g. focus is in the find widget)\")),E.textInputFocus=new k.RawContextKey(\"textInputFocus\",!1,d.localize(624,\"Whether an editor or a rich text input has focus (cursor is blinking)\")),E.readOnly=new k.RawContextKey(\"editorReadonly\",!1,d.localize(625,\"Whether the editor is read-only\")),E.inDiffEditor=new k.RawContextKey(\"inDiffEditor\",!1,d.localize(626,\"Whether the context is a diff editor\")),E.isEmbeddedDiffEditor=new k.RawContextKey(\"isEmbeddedDiffEditor\",!1,d.localize(627,\"Whether the context is an embedded diff editor\")),E.inMultiDiffEditor=new k.RawContextKey(\"inMultiDiffEditor\",!1,d.localize(628,\"Whether the context is a multi diff editor\")),E.multiDiffEditorAllCollapsed=new k.RawContextKey(\"multiDiffEditorAllCollapsed\",void 0,d.localize(629,\"Whether all files in multi diff editor are collapsed\")),E.hasChanges=new k.RawContextKey(\"diffEditorHasChanges\",!1,d.localize(630,\"Whether the diff editor has changes\")),E.comparingMovedCode=new k.RawContextKey(\"comparingMovedCode\",!1,d.localize(631,\"Whether a moved code block is selected for comparison\")),E.accessibleDiffViewerVisible=new k.RawContextKey(\"accessibleDiffViewerVisible\",!1,d.localize(632,\"Whether the accessible diff viewer is visible\")),E.diffEditorRenderSideBySideInlineBreakpointReached=new k.RawContextKey(\"diffEditorRenderSideBySideInlineBreakpointReached\",!1,d.localize(633,\"Whether the diff editor render side by side inline breakpoint is reached\")),E.diffEditorInlineMode=new k.RawContextKey(\"diffEditorInlineMode\",!1,d.localize(634,\"Whether inline mode is active\")),E.diffEditorOriginalWritable=new k.RawContextKey(\"diffEditorOriginalWritable\",!1,d.localize(635,\"Whether modified is writable in the diff editor\")),E.diffEditorModifiedWritable=new k.RawContextKey(\"diffEditorModifiedWritable\",!1,d.localize(636,\"Whether modified is writable in the diff editor\")),E.diffEditorOriginalUri=new k.RawContextKey(\"diffEditorOriginalUri\",\"\",d.localize(637,\"The uri of the original document\")),E.diffEditorModifiedUri=new k.RawContextKey(\"diffEditorModifiedUri\",\"\",d.localize(638,\"The uri of the modified document\")),E.columnSelection=new k.RawContextKey(\"editorColumnSelection\",!1,d.localize(639,\"Whether `editor.columnSelection` is enabled\")),E.writable=E.readOnly.toNegated(),E.hasNonEmptySelection=new k.RawContextKey(\"editorHasSelection\",!1,d.localize(640,\"Whether the editor has text selected\")),E.hasOnlyEmptySelection=E.hasNonEmptySelection.toNegated(),E.hasMultipleSelections=new k.RawContextKey(\"editorHasMultipleSelections\",!1,d.localize(641,\"Whether the editor has multiple selections\")),E.hasSingleSelection=E.hasMultipleSelections.toNegated(),E.tabMovesFocus=new k.RawContextKey(\"editorTabMovesFocus\",!1,d.localize(642,\"Whether `Tab` will move focus out of the editor\")),E.tabDoesNotMoveFocus=E.tabMovesFocus.toNegated(),E.isInEmbeddedEditor=new k.RawContextKey(\"isInEmbeddedEditor\",!1,!0),E.canUndo=new k.RawContextKey(\"canUndo\",!1,!0),E.canRedo=new k.RawContextKey(\"canRedo\",!1,!0),E.hoverVisible=new k.RawContextKey(\"editorHoverVisible\",!1,d.localize(643,\"Whether the editor hover is visible\")),E.hoverFocused=new k.RawContextKey(\"editorHoverFocused\",!1,d.localize(644,\"Whether the editor hover is focused\")),E.stickyScrollFocused=new k.RawContextKey(\"stickyScrollFocused\",!1,d.localize(645,\"Whether the sticky scroll is focused\")),E.stickyScrollVisible=new k.RawContextKey(\"stickyScrollVisible\",!1,d.localize(646,\"Whether the sticky scroll is visible\")),E.standaloneColorPickerVisible=new k.RawContextKey(\"standaloneColorPickerVisible\",!1,d.localize(647,\"Whether the standalone color picker is visible\")),E.standaloneColorPickerFocused=new k.RawContextKey(\"standaloneColorPickerFocused\",!1,d.localize(648,\"Whether the standalone color picker is focused\")),E.inCompositeEditor=new k.RawContextKey(\"inCompositeEditor\",void 0,d.localize(649,\"Whether the editor is part of a larger editor (e.g. notebooks)\")),E.notInCompositeEditor=E.inCompositeEditor.toNegated(),E.languageId=new k.RawContextKey(\"editorLangId\",\"\",d.localize(650,\"The language identifier of the editor\")),E.hasCompletionItemProvider=new k.RawContextKey(\"editorHasCompletionItemProvider\",!1,d.localize(651,\"Whether the editor has a completion item provider\")),E.hasCodeActionsProvider=new k.RawContextKey(\"editorHasCodeActionsProvider\",!1,d.localize(652,\"Whether the editor has a code actions provider\")),E.hasCodeLensProvider=new k.RawContextKey(\"editorHasCodeLensProvider\",!1,d.localize(653,\"Whether the editor has a code lens provider\")),E.hasDefinitionProvider=new k.RawContextKey(\"editorHasDefinitionProvider\",!1,d.localize(654,\"Whether the editor has a definition provider\")),E.hasDeclarationProvider=new k.RawContextKey(\"editorHasDeclarationProvider\",!1,d.localize(655,\"Whether the editor has a declaration provider\")),E.hasImplementationProvider=new k.RawContextKey(\"editorHasImplementationProvider\",!1,d.localize(656,\"Whether the editor has an implementation provider\")),E.hasTypeDefinitionProvider=new k.RawContextKey(\"editorHasTypeDefinitionProvider\",!1,d.localize(657,\"Whether the editor has a type definition provider\")),E.hasHoverProvider=new k.RawContextKey(\"editorHasHoverProvider\",!1,d.localize(658,\"Whether the editor has a hover provider\")),E.hasDocumentHighlightProvider=new k.RawContextKey(\"editorHasDocumentHighlightProvider\",!1,d.localize(659,\"Whether the editor has a document highlight provider\")),E.hasDocumentSymbolProvider=new k.RawContextKey(\"editorHasDocumentSymbolProvider\",!1,d.localize(660,\"Whether the editor has a document symbol provider\")),E.hasReferenceProvider=new k.RawContextKey(\"editorHasReferenceProvider\",!1,d.localize(661,\"Whether the editor has a reference provider\")),E.hasRenameProvider=new k.RawContextKey(\"editorHasRenameProvider\",!1,d.localize(662,\"Whether the editor has a rename provider\")),E.hasSignatureHelpProvider=new k.RawContextKey(\"editorHasSignatureHelpProvider\",!1,d.localize(663,\"Whether the editor has a signature help provider\")),E.hasInlayHintsProvider=new k.RawContextKey(\"editorHasInlayHintsProvider\",!1,d.localize(664,\"Whether the editor has an inline hints provider\")),E.hasDocumentFormattingProvider=new k.RawContextKey(\"editorHasDocumentFormattingProvider\",!1,d.localize(665,\"Whether the editor has a document formatting provider\")),E.hasDocumentSelectionFormattingProvider=new k.RawContextKey(\"editorHasDocumentSelectionFormattingProvider\",!1,d.localize(666,\"Whether the editor has a document selection formatting provider\")),E.hasMultipleDocumentFormattingProvider=new k.RawContextKey(\"editorHasMultipleDocumentFormattingProvider\",!1,d.localize(667,\"Whether the editor has multiple document formatting providers\")),E.hasMultipleDocumentSelectionFormattingProvider=new k.RawContextKey(\"editorHasMultipleDocumentSelectionFormattingProvider\",!1,d.localize(668,\"Whether the editor has multiple document selection formatting providers\"))})(I||(e.EditorContextKeys=I={}))}),define(ne[269],se([1,0,21,11,94,12,2,3]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineCompletionContextKeys=void 0;class _ extends y.Disposable{static{this.inlineSuggestionVisible=new E.RawContextKey(\"inlineSuggestionVisible\",!1,(0,m.localize)(1084,\"Whether an inline suggestion is visible\"))}static{this.inlineSuggestionHasIndentation=new E.RawContextKey(\"inlineSuggestionHasIndentation\",!1,(0,m.localize)(1085,\"Whether the inline suggestion starts with whitespace\"))}static{this.inlineSuggestionHasIndentationLessThanTabSize=new E.RawContextKey(\"inlineSuggestionHasIndentationLessThanTabSize\",!0,(0,m.localize)(1086,\"Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab\"))}static{this.suppressSuggestions=new E.RawContextKey(\"inlineSuggestionSuppressSuggestions\",void 0,(0,m.localize)(1087,\"Whether suggestions should be suppressed for the current suggestion\"))}constructor(p,n){super(),this.contextKeyService=p,this.model=n,this.inlineCompletionVisible=_.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=_.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=_.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=_.suppressSuggestions.bindTo(this.contextKeyService),this._register((0,d.autorun)(o=>{const i=this.model.read(o)?.state.read(o),s=!!i?.inlineCompletion&&i?.primaryGhostText!==void 0&&!i?.primaryGhostText.isEmpty();this.inlineCompletionVisible.set(s),i?.primaryGhostText&&i?.inlineCompletion&&this.suppressSuggestions.set(i.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register((0,d.autorun)(o=>{const t=this.model.read(o);let i=!1,s=!0;const g=t?.primaryGhostText.read(o);if(t?.selectedSuggestItem&&g&&g.parts.length>0){const{column:c,lines:l}=g.parts[0],a=l[0],r=t.textModel.getLineIndentColumn(g.lineNumber);if(c<=r){let C=(0,k.firstNonWhitespaceIndex)(a);C===-1&&(C=a.length-1),i=C>0;const f=t.textModel.getOptions().tabSize;s=I.CursorColumns.visibleColumnFromColumn(a,C+1,f)<f}}this.inlineCompletionSuggestsIndentation.set(i),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(s)}))}}e.InlineCompletionContextKeys=_}),define(ne[390],se([1,0,3,12]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isPinnedContextKey=e.inlineEditVisible=e.showNextInlineEditActionId=e.showPreviousInlineEditActionId=e.inlineEditAcceptId=void 0,e.inlineEditAcceptId=\"editor.action.inlineEdits.accept\",e.showPreviousInlineEditActionId=\"editor.action.inlineEdits.showPrevious\",e.showNextInlineEditActionId=\"editor.action.inlineEdits.showNext\",e.inlineEditVisible=new k.RawContextKey(\"inlineEditsVisible\",!1,(0,d.localize)(1101,\"Whether an inline edit is visible\")),e.isPinnedContextKey=new k.RawContextKey(\"inlineEditsIsPinned\",!1,(0,d.localize)(1102,\"Whether an inline edit is visible\"))}),define(ne[270],se([1,0,18,8,19,22,9,27,17,78,24,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Context=void 0,e.provideSignatureHelp=o,e.Context={Visible:new n.RawContextKey(\"parameterHintsVisible\",!1),MultipleSignatures:new n.RawContextKey(\"parameterHintsMultipleSignatures\",!1)};async function o(t,i,s,g,c){const l=t.ordered(i);for(const a of l)try{const r=await a.provideSignatureHelp(i,s,c,g);if(r)return r}catch(r){(0,k.onUnexpectedExternalError)(r)}}p.CommandsRegistry.registerCommand(\"_executeSignatureHelpProvider\",async(t,...i)=>{const[s,g,c]=i;(0,I.assertType)(E.URI.isUri(s)),(0,I.assertType)(y.Position.isIPosition(g)),(0,I.assertType)(typeof c==\"string\"||!c);const l=t.get(_.ILanguageFeaturesService),a=await t.get(b.ITextModelService).createModelReference(s);try{const r=await o(l.signatureHelpProvider,a.object.textEditorModel,y.Position.lift(g),{triggerKind:m.SignatureHelpTriggerKind.Invoke,isRetrigger:!1,triggerCharacter:c},d.CancellationToken.None);return r?(setTimeout(()=>r.dispose(),0),r.value):void 0}finally{a.dispose()}})}),define(ne[683],se([1,0,14,8,6,2,144,27,270]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ParameterHintsModel=void 0;var b;(function(o){o.Default={type:0};class t{constructor(g,c){this.request=g,this.previouslyActiveHints=c,this.type=2}}o.Pending=t;class i{constructor(g){this.hints=g,this.type=1}}o.Active=i})(b||(b={}));class p extends E.Disposable{static{this.DEFAULT_DELAY=120}constructor(t,i,s=p.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new I.Emitter),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=b.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new E.MutableDisposable),this.triggerChars=new y.CharacterSet,this.retriggerChars=new y.CharacterSet,this.triggerId=0,this.editor=t,this.providers=i,this.throttledDelayer=new d.Delayer(s),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(g=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(g=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(g=>this.onCursorChange(g))),this._register(this.editor.onDidChangeModelContent(g=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(g=>this.onDidType(g))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(t){this._state.type===2&&this._state.request.cancel(),this._state=t}cancel(t=!1){this.state=b.Default,this.throttledDelayer.cancel(),t||this._onChangedHints.fire(void 0)}trigger(t,i){const s=this.editor.getModel();if(!s||!this.providers.has(s))return;const g=++this.triggerId;this._pendingTriggers.push(t),this.throttledDelayer.trigger(()=>this.doTrigger(g),i).catch(k.onUnexpectedError)}next(){if(this.state.type!==1)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,s=i%t===t-1,g=this.editor.getOption(86).cycle;if((t<2||s)&&!g){this.cancel();return}this.updateActiveSignature(s&&g?0:i+1)}previous(){if(this.state.type!==1)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,s=i===0,g=this.editor.getOption(86).cycle;if((t<2||s)&&!g){this.cancel();return}this.updateActiveSignature(s&&g?t-1:i-1)}updateActiveSignature(t){this.state.type===1&&(this.state=new b.Active({...this.state.hints,activeSignature:t}),this._onChangedHints.fire(this.state.hints))}async doTrigger(t){const i=this.state.type===1||this.state.type===2,s=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const g=this._pendingTriggers.reduce(n);this._pendingTriggers=[];const c={triggerKind:g.triggerKind,triggerCharacter:g.triggerCharacter,isRetrigger:i,activeSignatureHelp:s};if(!this.editor.hasModel())return!1;const l=this.editor.getModel(),a=this.editor.getPosition();this.state=new b.Pending((0,d.createCancelablePromise)(r=>(0,_.provideSignatureHelp)(this.providers,l,a,c,r)),s);try{const r=await this.state.request;return t!==this.triggerId?(r?.dispose(),!1):!r||!r.value.signatures||r.value.signatures.length===0?(r?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new b.Active(r.value),this._lastSignatureHelpResult.value=r,this._onChangedHints.fire(this.state.hints),!0)}catch(r){return t===this.triggerId&&(this.state=b.Default),(0,k.onUnexpectedError)(r),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const t=this.editor.getModel();if(t)for(const i of this.providers.ordered(t)){for(const s of i.signatureHelpTriggerCharacters||[])if(s.length){const g=s.charCodeAt(0);this.triggerChars.add(g),this.retriggerChars.add(g)}for(const s of i.signatureHelpRetriggerCharacters||[])s.length&&this.retriggerChars.add(s.charCodeAt(0))}}onDidType(t){if(!this.triggerOnType)return;const i=t.length-1,s=t.charCodeAt(i);(this.triggerChars.has(s)||this.isTriggered&&this.retriggerChars.has(s))&&this.trigger({triggerKind:m.SignatureHelpTriggerKind.TriggerCharacter,triggerCharacter:t.charAt(i)})}onCursorChange(t){t.source===\"mouse\"?this.cancel():this.isTriggered&&this.trigger({triggerKind:m.SignatureHelpTriggerKind.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:m.SignatureHelpTriggerKind.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}e.ParameterHintsModel=p;function n(o,t){switch(t.triggerKind){case m.SignatureHelpTriggerKind.Invoke:return t;case m.SignatureHelpTriggerKind.ContentChange:return o;case m.SignatureHelpTriggerKind.TriggerCharacter:default:return t}}}),define(ne[684],se([1,0,12]),function(oe,e,d){\"use strict\";var k;Object.defineProperty(e,\"__esModule\",{value:!0}),e.SuggestAlternatives=void 0;let I=class{static{k=this}static{this.OtherSuggestions=new d.RawContextKey(\"hasOtherSuggestions\",!1)}constructor(y,m){this._editor=y,this._index=0,this._ckOtherSuggestions=k.OtherSuggestions.bindTo(m)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:y,index:m},_){if(y.items.length===0){this.reset();return}if(k._moveIndex(!0,y,m)===m){this.reset();return}this._acceptNext=_,this._model=y,this._index=m,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(y,m,_){let b=_;for(let p=m.items.length;p>0&&(b=(b+m.items.length+(y?1:-1))%m.items.length,!(b===_||!m.items[b].completion.additionalTextEdits));p--);return b}next(){this._move(!0)}prev(){this._move(!1)}_move(y){if(this._model)try{this._ignore=!0,this._index=k._moveIndex(y,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};e.SuggestAlternatives=I,e.SuggestAlternatives=I=k=ke([ce(1,d.IContextKeyService)],I)}),define(ne[685],se([1,0,12]),function(oe,e,d){\"use strict\";var k;Object.defineProperty(e,\"__esModule\",{value:!0}),e.WordContextKey=void 0;let I=class{static{k=this}static{this.AtEnd=new d.RawContextKey(\"atEndOfWord\",!1)}constructor(y,m){this._editor=y,this._enabled=!1,this._ckAtEnd=k.AtEnd.bindTo(m),this._configListener=this._editor.onDidChangeConfiguration(_=>_.hasChanged(124)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){const y=this._editor.getOption(124)===\"on\";if(this._enabled!==y)if(this._enabled=y,this._enabled){const m=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const _=this._editor.getModel(),b=this._editor.getSelection(),p=_.getWordAtPosition(b.getStartPosition());if(!p){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(p.endColumn===b.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(m),m()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};e.WordContextKey=I,e.WordContextKey=I=k=ke([ce(1,d.IContextKeyService)],I)}),define(ne[61],se([1,0,12,7]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CONTEXT_ACCESSIBILITY_MODE_ENABLED=e.IAccessibilityService=void 0,e.IAccessibilityService=(0,k.createDecorator)(\"accessibilityService\"),e.CONTEXT_ACCESSIBILITY_MODE_ENABLED=new d.RawContextKey(\"accessibilityModeEnabled\",!1)}),define(ne[686],se([1,0,64,13,6,2,60,16,362,366,546,229,37,165,261,61,5,253]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ComputedEditorOptions=e.EditorConfiguration=void 0;let l=class extends E.Disposable{constructor(w,S,L,D,T){super(),this._accessibilityService=T,this._onDidChange=this._register(new I.Emitter),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new I.Emitter),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new o.ComputeOptionsMemory,this.isSimpleWidget=w,this.contextMenuId=S,this._containerObserver=this._register(new _.ElementSizeObserver(D,L.dimension)),this._targetWindowId=(0,g.getWindow)(D).vscodeWindowId,this._rawOptions=h(L),this._validatedOptions=f.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(t.EditorZoom.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(n.TabFocus.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(b.FontMeasurements.onDidChange(()=>this._recomputeOptions())),this._register(c.PixelRatio.getInstance((0,g.getWindow)(D)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const w=this._computeOptions(),S=f.checkEquals(this.options,w);S!==null&&(this.options=w,this._onDidChangeFast.fire(S),this._onDidChange.fire(S))}_computeOptions(){const w=this._readEnvConfiguration(),S=i.BareFontInfo.createFromValidatedSettings(this._validatedOptions,w.pixelRatio,this.isSimpleWidget),L=this._readFontInfo(S),D={memory:this._computeOptionsMemory,outerWidth:w.outerWidth,outerHeight:w.outerHeight-this._reservedHeight,fontInfo:L,extraEditorClassName:w.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:w.emptySelectionClipboard,pixelRatio:w.pixelRatio,tabFocusMode:n.TabFocus.getTabFocusMode(),accessibilitySupport:w.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return f.computeOptions(this._validatedOptions,D)}_readEnvConfiguration(){return{extraEditorClassName:r(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:d.isWebKit||d.isFirefox,pixelRatio:c.PixelRatio.getInstance((0,g.getWindowById)(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(w){return b.FontMeasurements.readFontInfo((0,g.getWindowById)(this._targetWindowId,!0).window,w)}getRawOptions(){return this._rawOptions}updateOptions(w){const S=h(w);f.applyUpdate(this._rawOptions,S)&&(this._validatedOptions=f.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(w){this._containerObserver.observe(w)}setIsDominatedByLongLines(w){this._isDominatedByLongLines!==w&&(this._isDominatedByLongLines=w,this._recomputeOptions())}setModelLineCount(w){const S=a(w);this._lineNumbersDigitCount!==S&&(this._lineNumbersDigitCount=S,this._recomputeOptions())}setViewLineCount(w){this._viewLineCount!==w&&(this._viewLineCount=w,this._recomputeOptions())}setReservedHeight(w){this._reservedHeight!==w&&(this._reservedHeight=w,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(w){this._glyphMarginDecorationLaneCount!==w&&(this._glyphMarginDecorationLaneCount=w,this._recomputeOptions())}};e.EditorConfiguration=l,e.EditorConfiguration=l=ke([ce(4,s.IAccessibilityService)],l);function a(v){let w=0;for(;v;)v=Math.floor(v/10),w++;return w||1}function r(){let v=\"\";return!d.isSafari&&!d.isWebkitWebView&&(v+=\"no-user-select \"),d.isSafari&&(v+=\"no-minimap-shadow \",v+=\"enable-user-select \"),m.isMacintosh&&(v+=\"mac \"),v}class u{constructor(){this._values=[]}_read(w){return this._values[w]}get(w){return this._values[w]}_write(w,S){this._values[w]=S}}class C{constructor(){this._values=[]}_read(w){if(w>=this._values.length)throw new Error(\"Cannot read uninitialized value\");return this._values[w]}get(w){return this._read(w)}_write(w,S){this._values[w]=S}}e.ComputedEditorOptions=C;class f{static validateOptions(w){const S=new u;for(const L of o.editorOptionsRegistry){const D=L.name===\"_never_\"?void 0:w[L.name];S._write(L.id,L.validate(D))}return S}static computeOptions(w,S){const L=new C;for(const D of o.editorOptionsRegistry)L._write(D.id,D.compute(S,L,w._read(D.id)));return L}static _deepEquals(w,S){if(typeof w!=\"object\"||typeof S!=\"object\"||!w||!S)return w===S;if(Array.isArray(w)||Array.isArray(S))return Array.isArray(w)&&Array.isArray(S)?k.equals(w,S):!1;if(Object.keys(w).length!==Object.keys(S).length)return!1;for(const L in w)if(!f._deepEquals(w[L],S[L]))return!1;return!0}static checkEquals(w,S){const L=[];let D=!1;for(const T of o.editorOptionsRegistry){const M=!f._deepEquals(w._read(T.id),S._read(T.id));L[T.id]=M,M&&(D=!0)}return D?new o.ConfigurationChangedEvent(L):null}static applyUpdate(w,S){let L=!1;for(const D of o.editorOptionsRegistry)if(S.hasOwnProperty(D.name)){const T=D.applyUpdate(w[D.name],S[D.name]);w[D.name]=T.newValue,L=L||T.didChange}return L}}function h(v){const w=y.deepClone(v);return(0,p.migrateOptions)(w),w}}),define(ne[687],se([1,0,6,53,2,60,225,22,3,24,28,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextKeyService=e.AbstractContextKeyService=e.Context=void 0,e.setContext=v;const o=\"data-keybinding-context\";class t{constructor(L,D){this._id=L,this._parent=D,this._value=Object.create(null),this._value._contextId=L}get value(){return{...this._value}}setValue(L,D){return this._value[L]!==D?(this._value[L]=D,!0):!1}removeValue(L){return L in this._value?(delete this._value[L],!0):!1}getValue(L){const D=this._value[L];return typeof D>\"u\"&&this._parent?this._parent.getValue(L):D}}e.Context=t;class i extends t{static{this.INSTANCE=new i}constructor(){super(-1,null)}setValue(L,D){return!1}removeValue(L){return!1}getValue(L){}}class s extends t{static{this._keyPrefix=\"config.\"}constructor(L,D,T){super(L,null),this._configurationService=D,this._values=y.TernarySearchTree.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(M=>{if(M.source===7){const A=Array.from(this._values,([P])=>P);this._values.clear(),T.fire(new l(A))}else{const A=[];for(const P of M.affectedKeys){const N=`config.${P}`,O=this._values.findSuperstr(N);O!==void 0&&(A.push(...k.Iterable.map(O,([F])=>F)),this._values.deleteSuperstr(N)),this._values.has(N)&&(A.push(N),this._values.delete(N))}T.fire(new l(A))}})}dispose(){this._listener.dispose()}getValue(L){if(L.indexOf(s._keyPrefix)!==0)return super.getValue(L);if(this._values.has(L))return this._values.get(L);const D=L.substr(s._keyPrefix.length),T=this._configurationService.getValue(D);let M;switch(typeof T){case\"number\":case\"boolean\":case\"string\":M=T;break;default:Array.isArray(T)?M=JSON.stringify(T):M=T}return this._values.set(L,M),M}setValue(L,D){return super.setValue(L,D)}removeValue(L){return super.removeValue(L)}}class g{constructor(L,D,T){this._service=L,this._key=D,this._defaultValue=T,this.reset()}set(L){this._service.setContext(this._key,L)}reset(){typeof this._defaultValue>\"u\"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class c{constructor(L){this.key=L}affectsSome(L){return L.has(this.key)}allKeysContainedIn(L){return this.affectsSome(L)}}class l{constructor(L){this.keys=L}affectsSome(L){for(const D of this.keys)if(L.has(D))return!0;return!1}allKeysContainedIn(L){return this.keys.every(D=>L.has(D))}}class a{constructor(L){this.events=L}affectsSome(L){for(const D of this.events)if(D.affectsSome(L))return!0;return!1}allKeysContainedIn(L){return this.events.every(D=>D.allKeysContainedIn(L))}}function r(S,L){return S.allKeysContainedIn(new Set(Object.keys(L)))}class u extends I.Disposable{constructor(L){super(),this._onDidChangeContext=this._register(new d.PauseableEmitter({merge:D=>new a(D)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=L}createKey(L,D){if(this._isDisposed)throw new Error(\"AbstractContextKeyService has been disposed\");return new g(this,L,D)}bufferChangeEvents(L){this._onDidChangeContext.pause();try{L()}finally{this._onDidChangeContext.resume()}}createScoped(L){if(this._isDisposed)throw new Error(\"AbstractContextKeyService has been disposed\");return new f(this,L)}contextMatchesRules(L){if(this._isDisposed)throw new Error(\"AbstractContextKeyService has been disposed\");const D=this.getContextValuesContainer(this._myContextId);return L?L.evaluate(D):!0}getContextKeyValue(L){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(L)}setContext(L,D){if(this._isDisposed)return;const T=this.getContextValuesContainer(this._myContextId);T&&T.setValue(L,D)&&this._onDidChangeContext.fire(new c(L))}removeContext(L){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(L)&&this._onDidChangeContext.fire(new c(L))}getContext(L){return this._isDisposed?i.INSTANCE:this.getContextValuesContainer(h(L))}dispose(){super.dispose(),this._isDisposed=!0}}e.AbstractContextKeyService=u;let C=class extends u{constructor(L){super(0),this._contexts=new Map,this._lastContextId=0;const D=this._register(new s(this._myContextId,L,this._onDidChangeContext));this._contexts.set(this._myContextId,D)}getContextValuesContainer(L){return this._isDisposed?i.INSTANCE:this._contexts.get(L)||i.INSTANCE}createChildContext(L=this._myContextId){if(this._isDisposed)throw new Error(\"ContextKeyService has been disposed\");const D=++this._lastContextId;return this._contexts.set(D,new t(D,this.getContextValuesContainer(L))),D}disposeContext(L){this._isDisposed||this._contexts.delete(L)}};e.ContextKeyService=C,e.ContextKeyService=C=ke([ce(0,p.IConfigurationService)],C);class f extends u{constructor(L,D){if(super(L.createChildContext()),this._parentChangeListener=this._register(new I.MutableDisposable),this._parent=L,this._updateParentChangeListener(),this._domNode=D,this._domNode.hasAttribute(o)){let T=\"\";this._domNode.classList&&(T=Array.from(this._domNode.classList.values()).join(\", \")),console.error(`Element already has context attribute${T?\": \"+T:\"\"}`)}this._domNode.setAttribute(o,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(L=>{const T=this._parent.getContextValuesContainer(this._myContextId).value;r(L,T)||this._onDidChangeContext.fire(L)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(o),super.dispose())}getContextValuesContainer(L){return this._isDisposed?i.INSTANCE:this._parent.getContextValuesContainer(L)}createChildContext(L=this._myContextId){if(this._isDisposed)throw new Error(\"ScopedContextKeyService has been disposed\");return this._parent.createChildContext(L)}disposeContext(L){this._isDisposed||this._parent.disposeContext(L)}}function h(S){for(;S;){if(S.hasAttribute(o)){const L=S.getAttribute(o);return L?parseInt(L,10):NaN}S=S.parentElement}return 0}function v(S,L,D){S.get(n.IContextKeyService).createKey(String(L),w(D))}function w(S){return(0,E.cloneAndChange)(S,L=>{if(typeof L==\"object\"&&L.$mid===1)return m.URI.revive(L).toString();if(L instanceof m.URI)return L.toString()})}b.CommandsRegistry.registerCommand(\"_setContext\",v),b.CommandsRegistry.registerCommand({id:\"getContextKeyInfo\",handler(){return[...n.RawContextKey.all()].sort((S,L)=>S.key.localeCompare(L.key))},metadata:{description:(0,_.localize)(1513,\"A command that returns information about context keys\"),args:[]}}),b.CommandsRegistry.registerCommand(\"_generateContextKeyInfo\",function(){const S=[],L=new Set;for(const D of n.RawContextKey.all())L.has(D.key)||(L.add(D.key),S.push(D));S.sort((D,T)=>D.key.localeCompare(T.key)),console.log(JSON.stringify(S,void 0,2))})}),define(ne[179],se([1,0,16,3,12]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InputFocusedContext=e.InputFocusedContextKey=e.ProductQualityContext=e.IsDevelopmentContext=e.IsMobileContext=e.IsIOSContext=e.IsMacNativeContext=e.IsWebContext=e.IsWindowsContext=e.IsLinuxContext=e.IsMacContext=void 0,e.IsMacContext=new I.RawContextKey(\"isMac\",d.isMacintosh,(0,k.localize)(1523,\"Whether the operating system is macOS\")),e.IsLinuxContext=new I.RawContextKey(\"isLinux\",d.isLinux,(0,k.localize)(1524,\"Whether the operating system is Linux\")),e.IsWindowsContext=new I.RawContextKey(\"isWindows\",d.isWindows,(0,k.localize)(1525,\"Whether the operating system is Windows\")),e.IsWebContext=new I.RawContextKey(\"isWeb\",d.isWeb,(0,k.localize)(1526,\"Whether the platform is a web browser\")),e.IsMacNativeContext=new I.RawContextKey(\"isMacNative\",d.isMacintosh&&!d.isWeb,(0,k.localize)(1527,\"Whether the operating system is macOS on a non-browser platform\")),e.IsIOSContext=new I.RawContextKey(\"isIOS\",d.isIOS,(0,k.localize)(1528,\"Whether the operating system is iOS\")),e.IsMobileContext=new I.RawContextKey(\"isMobile\",d.isMobile,(0,k.localize)(1529,\"Whether the platform is a mobile web browser\")),e.IsDevelopmentContext=new I.RawContextKey(\"isDevelopment\",!1,!0),e.ProductQualityContext=new I.RawContextKey(\"productQualityType\",\"\",(0,k.localize)(1530,\"Quality type of VS Code\")),e.InputFocusedContextKey=\"inputFocus\",e.InputFocusedContext=new I.RawContextKey(e.InputFocusedContextKey,!1,(0,k.localize)(1531,\"Whether keyboard focus is inside an input box\"))}),define(ne[58],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IContextMenuService=e.IContextViewService=void 0,e.IContextViewService=(0,d.createDecorator)(\"contextViewService\"),e.IContextMenuService=(0,d.createDecorator)(\"contextMenuService\")}),define(ne[180],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IDialogService=void 0,e.IDialogService=(0,d.createDecorator)(\"dialogService\")}),define(ne[271],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IEnvironmentService=void 0,e.IEnvironmentService=(0,d.createDecorator)(\"environmentService\")}),define(ne[118],se([1,0,7,2,28,5]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.nativeHoverDelegate=e.WorkbenchHoverDelegate=e.IHoverService=void 0,e.IHoverService=(0,d.createDecorator)(\"hoverService\");let y=class extends k.Disposable{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(_,b,p={},n,o){super(),this.placement=_,this.instantHover=b,this.overrideOptions=p,this.configurationService=n,this.hoverService=o,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new k.DisposableStore),this._delay=this.configurationService.getValue(\"workbench.hover.delay\"),this._register(this.configurationService.onDidChangeConfiguration(t=>{t.affectsConfiguration(\"workbench.hover.delay\")&&(this._delay=this.configurationService.getValue(\"workbench.hover.delay\"))}))}showHover(_,b){const p=typeof this.overrideOptions==\"function\"?this.overrideOptions(_,b):this.overrideOptions;this.hoverDisposables.clear();const n=(0,E.isHTMLElement)(_.target)?[_.target]:_.target.targetElements;for(const t of n)this.hoverDisposables.add((0,E.addStandardDisposableListener)(t,\"keydown\",i=>{i.equals(9)&&this.hoverService.hideHover()}));const o=(0,E.isHTMLElement)(_.content)?void 0:_.content.toString();return this.hoverService.showHover({..._,...p,persistence:{hideOnKeyDown:!0,...p.persistence},id:o,appearance:{..._.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...p.appearance}},b)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime<this.timeLimit}onDidHideHover(){this.hoverDisposables.clear(),this.instantHover&&(this.lastHoverHideTime=Date.now())}};e.WorkbenchHoverDelegate=y,e.WorkbenchHoverDelegate=y=ke([ce(3,I.IConfigurationService),ce(4,e.IHoverService)],y),e.nativeHoverDelegate={showHover:function(){throw new Error(\"Native hover function not implemented.\")},delay:0,showNativeHover:!0}}),define(ne[154],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ServiceCollection=void 0;class d{constructor(...I){this._entries=new Map;for(const[E,y]of I)this.set(E,y)}set(I,E){const y=this._entries.get(I);return this._entries.set(I,E),y}get(I){return this._entries.get(I)}}e.ServiceCollection=d}),define(ne[688],se([1,0,14,8,2,265,676,7,154,73]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Trace=e.InstantiationService=void 0;const p=!1;class n extends Error{constructor(s){super(\"cyclic dependency between services\"),this.message=s.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${s.toString()}`}}class o{constructor(s=new _.ServiceCollection,g=!1,c,l=p){this._services=s,this._strict=g,this._parent=c,this._enableTracing=l,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(m.IInstantiationService,this),this._globalGraph=l?c?._globalGraph??new y.Graph(a=>a):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,(0,I.dispose)(this._children),this._children.clear();for(const s of this._servicesToMaybeDispose)(0,I.isDisposable)(s)&&s.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error(\"InstantiationService has been disposed\")}createChild(s,g){this._throwIfDisposed();const c=this,l=new class extends o{dispose(){c._children.delete(l),super.dispose()}}(s,this._strict,this,this._enableTracing);return this._children.add(l),g?.add(l),l}invokeFunction(s,...g){this._throwIfDisposed();const c=t.traceInvocation(this._enableTracing,s);let l=!1;try{return s({get:r=>{if(l)throw(0,k.illegalState)(\"service accessor is only valid during the invocation of its target method\");const u=this._getOrCreateServiceInstance(r,c);if(!u)throw new Error(`[invokeFunction] unknown service '${r}'`);return u}},...g)}finally{l=!0,c.stop()}}createInstance(s,...g){this._throwIfDisposed();let c,l;return s instanceof E.SyncDescriptor?(c=t.traceCreation(this._enableTracing,s.ctor),l=this._createInstance(s.ctor,s.staticArguments.concat(g),c)):(c=t.traceCreation(this._enableTracing,s),l=this._createInstance(s,g,c)),c.stop(),l}_createInstance(s,g=[],c){const l=m._util.getServiceDependencies(s).sort((u,C)=>u.index-C.index),a=[];for(const u of l){const C=this._getOrCreateServiceInstance(u.id,c);C||this._throwIfStrict(`[createInstance] ${s.name} depends on UNKNOWN service ${u.id}.`,!1),a.push(C)}const r=l.length>0?l[0].index:g.length;if(g.length!==r){console.trace(`[createInstance] First service dependency of ${s.name} at position ${r+1} conflicts with ${g.length} static arguments`);const u=r-g.length;u>0?g=g.concat(new Array(u)):g=g.slice(0,r)}return Reflect.construct(s,g.concat(a))}_setCreatedServiceInstance(s,g){if(this._services.get(s)instanceof E.SyncDescriptor)this._services.set(s,g);else if(this._parent)this._parent._setCreatedServiceInstance(s,g);else throw new Error(\"illegalState - setting UNKNOWN service instance\")}_getServiceInstanceOrDescriptor(s){const g=this._services.get(s);return!g&&this._parent?this._parent._getServiceInstanceOrDescriptor(s):g}_getOrCreateServiceInstance(s,g){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(s));const c=this._getServiceInstanceOrDescriptor(s);return c instanceof E.SyncDescriptor?this._safeCreateAndCacheServiceInstance(s,c,g.branch(s,!0)):(g.branch(s,!1),c)}_safeCreateAndCacheServiceInstance(s,g,c){if(this._activeInstantiations.has(s))throw new Error(`illegal state - RECURSIVELY instantiating service '${s}'`);this._activeInstantiations.add(s);try{return this._createAndCacheServiceInstance(s,g,c)}finally{this._activeInstantiations.delete(s)}}_createAndCacheServiceInstance(s,g,c){const l=new y.Graph(C=>C.id.toString());let a=0;const r=[{id:s,desc:g,_trace:c}],u=new Set;for(;r.length;){const C=r.pop();if(!u.has(String(C.id))){if(u.add(String(C.id)),l.lookupOrInsertNode(C),a++>1e3)throw new n(l);for(const f of m._util.getServiceDependencies(C.desc.ctor)){const h=this._getServiceInstanceOrDescriptor(f.id);if(h||this._throwIfStrict(`[createInstance] ${s} depends on ${f.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(C.id),String(f.id)),h instanceof E.SyncDescriptor){const v={id:f.id,desc:h,_trace:C._trace.branch(f.id,!0)};l.insertEdge(C,v),r.push(v)}}}}for(;;){const C=l.roots();if(C.length===0){if(!l.isEmpty())throw new n(l);break}for(const{data:f}of C){if(this._getServiceInstanceOrDescriptor(f.id)instanceof E.SyncDescriptor){const v=this._createServiceInstanceWithOwner(f.id,f.desc.ctor,f.desc.staticArguments,f.desc.supportsDelayedInstantiation,f._trace);this._setCreatedServiceInstance(f.id,v)}l.removeNode(f)}}return this._getServiceInstanceOrDescriptor(s)}_createServiceInstanceWithOwner(s,g,c=[],l,a){if(this._services.get(s)instanceof E.SyncDescriptor)return this._createServiceInstance(s,g,c,l,a,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(s,g,c,l,a);throw new Error(`illegalState - creating UNKNOWN service instance ${g.name}`)}_createServiceInstance(s,g,c=[],l,a,r){if(l){const u=new o(void 0,this._strict,this,this._enableTracing);u._globalGraphImplicitDependency=String(s);const C=new Map,f=new d.GlobalIdleValue(()=>{const h=u._createInstance(g,c,a);for(const[v,w]of C){const S=h[v];if(typeof S==\"function\")for(const L of w)L.disposable=S.apply(h,L.listener)}return C.clear(),r.add(h),h});return new Proxy(Object.create(null),{get(h,v){if(!f.isInitialized&&typeof v==\"string\"&&(v.startsWith(\"onDid\")||v.startsWith(\"onWill\"))){let L=C.get(v);return L||(L=new b.LinkedList,C.set(v,L)),(T,M,A)=>{if(f.isInitialized)return f.value[v](T,M,A);{const P={listener:[T,M,A],disposable:void 0},N=L.push(P);return(0,I.toDisposable)(()=>{N(),P.disposable?.dispose()})}}}if(v in h)return h[v];const w=f.value;let S=w[v];return typeof S!=\"function\"||(S=S.bind(w),h[v]=S),S},set(h,v,w){return f.value[v]=w,!0},getPrototypeOf(h){return g.prototype}})}else{const u=this._createInstance(g,c,a);return r.add(u),u}}_throwIfStrict(s,g){if(g&&console.warn(s),this._strict)throw new Error(s)}}e.InstantiationService=o;class t{static{this.all=new Set}static{this._None=new class extends t{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(s,g){return s?new t(2,g.name||new Error().stack.split(`\n`).slice(3,4).join(`\n`)):t._None}static traceCreation(s,g){return s?new t(1,g.name):t._None}static{this._totals=0}constructor(s,g){this.type=s,this.name=g,this._start=Date.now(),this._dep=[]}branch(s,g){const c=new t(3,s.toString());return this._dep.push([s,g,c]),c}stop(){const s=Date.now()-this._start;t._totals+=s;let g=!1;function c(a,r){const u=[],C=new Array(a+1).join(\"\t\");for(const[f,h,v]of r._dep)if(h&&v){g=!0,u.push(`${C}CREATES -> ${f}`);const w=c(a+1,v);w&&u.push(w)}else u.push(`${C}uses -> ${f}`);return u.join(`\n`)}const l=[`${this.type===1?\"CREATE\":\"CALL\"} ${this.name}`,`${c(1,this)}`,`DONE, took ${s.toFixed(2)}ms (grand total ${t._totals.toFixed(2)}ms)`];(s>2||g)&&t.all.add(l.join(`\n`))}}e.Trace=t}),define(ne[689],se([1,0,8,247,140]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BaseResolvedKeybinding=void 0;class E extends I.ResolvedKeybinding{constructor(m,_){if(super(),_.length===0)throw(0,d.illegalArgument)(\"chords\");this._os=m,this._chords=_}getLabel(){return k.UILabelProvider.toLabel(this._os,this._chords,m=>this._getLabel(m))}getAriaLabel(){return k.AriaLabelProvider.toLabel(this._os,this._chords,m=>this._getAriaLabel(m))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:k.ElectronAcceleratorLabelProvider.toLabel(this._os,this._chords,m=>this._getElectronAccelerator(m))}getUserSettingsLabel(){return k.UserSettingsLabelProvider.toLabel(this._os,this._chords,m=>this._getUserSettingsLabel(m))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(m=>this._getChord(m))}_getChord(m){return new I.ResolvedChord(m.ctrlKey,m.shiftKey,m.altKey,m.metaKey,this._getLabel(m),this._getAriaLabel(m))}getDispatchChords(){return this._chords.map(m=>this._getChordDispatch(m))}getSingleModifierDispatchChords(){return this._chords.map(m=>this._getSingleModifierChordDispatch(m))}}e.BaseResolvedKeybinding=E}),define(ne[31],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IKeybindingService=void 0,e.IKeybindingService=(0,d.createDecorator)(\"keybindingService\")}),define(ne[391],se([1,0,5,174,2,31]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorHoverStatusBar=void 0;const y=d.$;let m=class extends I.Disposable{get hasContent(){return this._hasContent}constructor(b){super(),this._keybindingService=b,this.actions=[],this._hasContent=!1,this.hoverElement=y(\"div.hover-row.status-bar\"),this.hoverElement.tabIndex=0,this.actionsElement=d.append(this.hoverElement,y(\"div.actions\"))}addAction(b){const p=this._keybindingService.lookupKeybinding(b.commandId),n=p?p.getLabel():null;this._hasContent=!0;const o=this._register(k.HoverAction.render(this.actionsElement,b,n));return this.actions.push(o),o}append(b){const p=d.append(this.actionsElement,b);return this._hasContent=!0,p}};e.EditorHoverStatusBar=m,e.EditorHoverStatusBar=m=ke([ce(0,E.IKeybindingService)],m)}),define(ne[690],se([1,0,5,31,670,12,28,61,20,174,6]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";var n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContentHoverWidget=void 0;const o=30,t=6;let i=class extends I.ResizableContentWidget{static{n=this}static{this.ID=\"editor.contrib.resizableContentHoverWidget\"}static{this._lastDimensions=new d.Dimension(0,0)}get isVisibleFromKeyboard(){return this._renderedHover?.source===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(c,l,a,r,u){const C=c.getOption(67)+8,f=150,h=new d.Dimension(f,C);super(c,h),this._configurationService=a,this._accessibilityService=r,this._keybindingService=u,this._hover=this._register(new b.HoverWidget),this._onDidResize=this._register(new p.Emitter),this.onDidResize=this._onDidResize.event,this._minimumSize=h,this._hoverVisibleKey=_.EditorContextKeys.hoverVisible.bindTo(l),this._hoverFocusedKey=_.EditorContextKeys.hoverFocused.bindTo(l),d.append(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex=\"50\",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(w=>{w.hasChanged(50)&&this._updateFont()}));const v=this._register(d.trackFocus(this._resizableNode.domNode));this._register(v.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(v.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return n.ID}static _applyDimensions(c,l,a){const r=typeof l==\"number\"?`${l}px`:l,u=typeof a==\"number\"?`${a}px`:a;c.style.width=r,c.style.height=u}_setContentsDomNodeDimensions(c,l){const a=this._hover.contentsDomNode;return n._applyDimensions(a,c,l)}_setContainerDomNodeDimensions(c,l){const a=this._hover.containerDomNode;return n._applyDimensions(a,c,l)}_setHoverWidgetDimensions(c,l){this._setContentsDomNodeDimensions(c,l),this._setContainerDomNodeDimensions(c,l),this._layoutContentWidget()}static _applyMaxDimensions(c,l,a){const r=typeof l==\"number\"?`${l}px`:l,u=typeof a==\"number\"?`${a}px`:a;c.style.maxWidth=r,c.style.maxHeight=u}_setHoverWidgetMaxDimensions(c,l){n._applyMaxDimensions(this._hover.contentsDomNode,c,l),n._applyMaxDimensions(this._hover.containerDomNode,c,l),this._hover.containerDomNode.style.setProperty(\"--vscode-hover-maxWidth\",typeof c==\"number\"?`${c}px`:c),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(c){this._setHoverWidgetMaxDimensions(\"none\",\"none\");const l=c.width,a=c.height;this._setHoverWidgetDimensions(l,a)}_updateResizableNodeMaxDimensions(){const c=this._findMaximumRenderingWidth()??1/0,l=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new d.Dimension(c,l),this._setHoverWidgetMaxDimensions(c,l)}_resize(c){n._lastDimensions=new d.Dimension(c.width,c.height),this._setAdjustedHoverWidgetDimensions(c),this._resizableNode.layout(c.height,c.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){const c=this._renderedHover?.showAtPosition;if(c)return this._positionPreference===1?this._availableVerticalSpaceAbove(c):this._availableVerticalSpaceBelow(c)}_findMaximumRenderingHeight(){const c=this._findAvailableSpaceVertically();if(!c)return;let l=t;return Array.from(this._hover.contentsDomNode.children).forEach(a=>{l+=a.clientHeight}),Math.min(c,l)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty(\"--vscode-hover-whiteSpace\",\"nowrap\"),this._hover.containerDomNode.style.setProperty(\"--vscode-hover-sourceWhiteSpace\",\"nowrap\");const c=Array.from(this._hover.contentsDomNode.children).some(l=>l.scrollWidth>l.clientWidth);return this._hover.containerDomNode.style.removeProperty(\"--vscode-hover-whiteSpace\"),this._hover.containerDomNode.style.removeProperty(\"--vscode-hover-sourceWhiteSpace\"),c}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const c=this._isHoverTextOverflowing(),l=typeof this._contentWidth>\"u\"?0:this._contentWidth-2;return c||this._hover.containerDomNode.clientWidth<l?d.getClientArea(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(c,l){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=c,this._renderedHover.initialMousePosY=l,!1;const a=d.getDomNodePagePosition(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=s(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,a.left,a.top,a.width,a.height));const r=s(c,l,a.left,a.top,a.width,a.height);return r>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,r),!0)}_setRenderedHover(c){this._renderedHover?.dispose(),this._renderedHover=c,this._hoverVisibleKey.set(!!c),this._hover.containerDomNode.classList.toggle(\"hidden\",!c)}_updateFont(){const{fontSize:c,lineHeight:l}=this._editor.getOption(50),a=this._hover.contentsDomNode;a.style.fontSize=`${c}px`,a.style.lineHeight=`${l/c}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName(\"code\")).forEach(u=>this._editor.applyFontInfo(u))}_updateContent(c){const l=this._hover.contentsDomNode;l.style.paddingBottom=\"\",l.textContent=\"\",l.appendChild(c)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const c=Math.max(this._editor.getLayoutInfo().height/4,250,n._lastDimensions.height),l=Math.max(this._editor.getLayoutInfo().width*.66,500,n._lastDimensions.width);this._setHoverWidgetMaxDimensions(l,c)}_render(c){this._setRenderedHover(c),this._updateFont(),this._updateContent(c.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(c){if(!this._editor||!this._editor.hasModel())return;this._render(c);const l=d.getTotalHeight(this._hover.containerDomNode),a=c.showAtPosition;this._positionPreference=this._findPositionPreference(l,a)??1,this.onContentsChanged(),c.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const u=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&(0,b.getHoverAccessibleViewHint)(this._configurationService.getValue(\"accessibility.verbosity.hover\")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(\"editor.action.accessibleView\")?.getAriaLabel()??\"\");u&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+\", \"+u)}hide(){if(!this._renderedHover)return;const c=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new d.Dimension(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),c&&this._editor.focus()}_removeConstraintsRenderNormally(){const c=this._editor.getLayoutInfo();this._resizableNode.layout(c.height,c.width),this._setHoverWidgetDimensions(\"auto\",\"auto\")}setMinimumDimensions(c){this._minimumSize=new d.Dimension(Math.max(this._minimumSize.width,c.width),Math.max(this._minimumSize.height,c.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const c=typeof this._contentWidth>\"u\"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new d.Dimension(c,this._minimumSize.height)}onContentsChanged(){this._removeConstraintsRenderNormally();const c=this._hover.containerDomNode;let l=d.getTotalHeight(c),a=d.getTotalWidth(c);if(this._resizableNode.layout(l,a),this._setHoverWidgetDimensions(a,l),l=d.getTotalHeight(c),a=d.getTotalWidth(c),this._contentWidth=a,this._updateMinimumWidth(),this._resizableNode.layout(l,a),this._renderedHover?.showAtPosition){const r=d.getTotalHeight(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(r,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const c=this._hover.scrollbar.getScrollPosition().scrollTop,l=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:c-l.lineHeight})}scrollDown(){const c=this._hover.scrollbar.getScrollPosition().scrollTop,l=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:c+l.lineHeight})}scrollLeft(){const c=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:c-o})}scrollRight(){const c=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:c+o})}pageUp(){const c=this._hover.scrollbar.getScrollPosition().scrollTop,l=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:c-l})}pageDown(){const c=this._hover.scrollbar.getScrollPosition().scrollTop,l=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:c+l})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};e.ContentHoverWidget=i,e.ContentHoverWidget=i=n=ke([ce(1,E.IContextKeyService),ce(2,y.IConfigurationService),ce(3,m.IAccessibilityService),ce(4,k.IKeybindingService)],i);function s(g,c,l,a,r,u){const C=l+r/2,f=a+u/2,h=Math.max(Math.abs(g-C)-r/2,0),v=Math.max(Math.abs(c-f)-u/2,0);return Math.sqrt(h*h+v*v)}}),define(ne[392],se([1,0,12]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.KeybindingResolver=e.NoMatchingKb=void 0,e.NoMatchingKb={kind:0};const k={kind:1};function I(_,b,p){return{kind:2,commandId:_,commandArgs:b,isBubble:p}}class E{constructor(b,p,n){this._log=n,this._defaultKeybindings=b,this._defaultBoundCommands=new Map;for(const o of b){const t=o.command;t&&t.charAt(0)!==\"-\"&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=E.handleRemovals([].concat(b).concat(p));for(let o=0,t=this._keybindings.length;o<t;o++){const i=this._keybindings[o];if(i.chords.length===0)continue;const s=i.when?.substituteConstants();s&&s.type===0||this._addKeyPress(i.chords[0],i)}}static _isTargetedForRemoval(b,p,n){if(p){for(let o=0;o<p.length;o++)if(p[o]!==b.chords[o])return!1}return!(n&&n.type!==1&&(!b.when||!(0,d.expressionsAreEqualWithConstantSubstitution)(n,b.when)))}static handleRemovals(b){const p=new Map;for(let o=0,t=b.length;o<t;o++){const i=b[o];if(i.command&&i.command.charAt(0)===\"-\"){const s=i.command.substring(1);p.has(s)?p.get(s).push(i):p.set(s,[i])}}if(p.size===0)return b;const n=[];for(let o=0,t=b.length;o<t;o++){const i=b[o];if(!i.command||i.command.length===0){n.push(i);continue}if(i.command.charAt(0)===\"-\")continue;const s=p.get(i.command);if(!s||!i.isDefault){n.push(i);continue}let g=!1;for(const c of s){const l=c.when;if(this._isTargetedForRemoval(i,c.chords,l)){g=!0;break}}if(!g){n.push(i);continue}}return n}_addKeyPress(b,p){const n=this._map.get(b);if(typeof n>\"u\"){this._map.set(b,[p]),this._addToLookupMap(p);return}for(let o=n.length-1;o>=0;o--){const t=n[o];if(t.command===p.command)continue;let i=!0;for(let s=1;s<t.chords.length&&s<p.chords.length;s++)if(t.chords[s]!==p.chords[s]){i=!1;break}i&&E.whenIsEntirelyIncluded(t.when,p.when)&&this._removeFromLookupMap(t)}n.push(p),this._addToLookupMap(p)}_addToLookupMap(b){if(!b.command)return;let p=this._lookupMap.get(b.command);typeof p>\"u\"?(p=[b],this._lookupMap.set(b.command,p)):p.push(b)}_removeFromLookupMap(b){if(!b.command)return;const p=this._lookupMap.get(b.command);if(!(typeof p>\"u\")){for(let n=0,o=p.length;n<o;n++)if(p[n]===b){p.splice(n,1);return}}}static whenIsEntirelyIncluded(b,p){return!p||p.type===1?!0:!b||b.type===1?!1:(0,d.implies)(b,p)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(b,p){const n=this._lookupMap.get(b);if(typeof n>\"u\"||n.length===0)return null;if(n.length===1)return n[0];for(let o=n.length-1;o>=0;o--){const t=n[o];if(p.contextMatchesRules(t.when))return t}return n[n.length-1]}resolve(b,p,n){const o=[...p,n];this._log(`| Resolving ${o}`);const t=this._map.get(o[0]);if(t===void 0)return this._log(\"\\\\ No keybinding entries.\"),e.NoMatchingKb;let i=null;if(o.length<2)i=t;else{i=[];for(let g=0,c=t.length;g<c;g++){const l=t[g];if(o.length>l.chords.length)continue;let a=!0;for(let r=1;r<o.length;r++)if(l.chords[r]!==o[r]){a=!1;break}a&&i.push(l)}}const s=this._findCommand(b,i);return s?o.length<s.chords.length?(this._log(`\\\\ From ${i.length} keybinding entries, awaiting ${s.chords.length-o.length} more chord(s), when: ${y(s.when)}, source: ${m(s)}.`),k):(this._log(`\\\\ From ${i.length} keybinding entries, matched ${s.command}, when: ${y(s.when)}, source: ${m(s)}.`),I(s.command,s.commandArgs,s.bubble)):(this._log(`\\\\ From ${i.length} keybinding entries, no when clauses matched the context.`),e.NoMatchingKb)}_findCommand(b,p){for(let n=p.length-1;n>=0;n--){const o=p[n];if(E._contextMatchesRules(b,o.when))return o}return null}static _contextMatchesRules(b,p){return p?p.evaluate(b):!0}}e.KeybindingResolver=E;function y(_){return _?`${_.serialize()}`:\"no when condition\"}function m(_){return _.extensionId?_.isBuiltinExtension?`built-in extension ${_.extensionId}`:`user extension ${_.extensionId}`:_.isDefault?\"built-in\":\"user\"}}),define(ne[691],se([1,0,14,8,6,300,2,3,392]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AbstractKeybindingService=void 0;const b=/^(cursor|delete|undo|redo|tab|editor\\.action\\.clipboard)/;class p extends y.Disposable{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:I.Event.None}get inChordMode(){return this._currentChords.length>0}constructor(t,i,s,g,c){super(),this._contextKeyService=t,this._commandService=i,this._telemetryService=s,this._notificationService=g,this._logService=c,this._onDidUpdateKeybindings=this._register(new I.Emitter),this._currentChords=[],this._currentChordChecker=new d.IntervalTimer,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=n.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new d.TimeoutTimer,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(t){this._logging&&this._logService.info(`[KeybindingService]: ${t}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(t,i){const s=this._getResolver().lookupPrimaryKeybinding(t,i||this._contextKeyService);if(s)return s.resolvedKeybinding}dispatchEvent(t,i){return this._dispatch(t,i)}softDispatch(t,i){this._log(\"/ Soft dispatching keyboard event\");const s=this.resolveKeyboardEvent(t);if(s.hasMultipleChords())return console.warn(\"keyboard event should not be mapped to multiple chords\"),_.NoMatchingKb;const[g]=s.getDispatchChords();if(g===null)return this._log(\"\\\\ Keyboard event cannot be dispatched\"),_.NoMatchingKb;const c=this._contextKeyService.getContext(i),l=this._currentChords.map(({keypress:a})=>a);return this._getResolver().resolve(c,l,g)}_scheduleLeaveChordMode(){const t=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-t>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(t,i){switch(this._currentChords.push({keypress:t,label:i}),this._currentChords.length){case 0:throw(0,k.illegalState)(\"impossible\");case 1:this._currentChordStatusMessage=this._notificationService.status(m.localize(1538,\"({0}) was pressed. Waiting for second key of chord...\",i));break;default:{const s=this._currentChords.map(({label:g})=>g).join(\", \");this._currentChordStatusMessage=this._notificationService.status(m.localize(1539,\"({0}) was pressed. Waiting for next key of chord...\",s))}}this._scheduleLeaveChordMode(),E.IME.enabled&&E.IME.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],E.IME.enable()}_dispatch(t,i){return this._doDispatch(this.resolveKeyboardEvent(t),i,!1)}_singleModifierDispatch(t,i){const s=this.resolveKeyboardEvent(t),[g]=s.getSingleModifierDispatchChords();if(g)return this._ignoreSingleModifiers.has(g)?(this._log(`+ Ignoring single modifier ${g} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=n.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=n.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${g}.`),this._currentSingleModifier=g,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log(\"+ Clearing single modifier due to 300ms elapsed.\"),this._currentSingleModifier=null},300),!1):g===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${g} ${g}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(s,i,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${g}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[c]=s.getChords();return this._ignoreSingleModifiers=new n(c),this._currentSingleModifier!==null&&this._log(\"+ Clearing single modifier due to other key up.\"),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(t,i,s=!1){let g=!1;if(t.hasMultipleChords())return console.warn(\"Unexpected keyboard event mapped to multiple chords\"),!1;let c=null,l=null;if(s){const[C]=t.getSingleModifierDispatchChords();c=C,l=C?[C]:[]}else[c]=t.getDispatchChords(),l=this._currentChords.map(({keypress:C})=>C);if(c===null)return this._log(\"\\\\ Keyboard event cannot be dispatched in keydown phase.\"),g;const a=this._contextKeyService.getContext(i),r=t.getLabel(),u=this._getResolver().resolve(a,l,c);switch(u.kind){case 0:{if(this._logService.trace(\"KeybindingService#dispatch\",r,\"[ No matching keybinding ]\"),this.inChordMode){const C=this._currentChords.map(({label:f})=>f).join(\", \");this._log(`+ Leaving multi-chord mode: Nothing bound to \"${C}, ${r}\".`),this._notificationService.status(m.localize(1540,\"The key combination ({0}, {1}) is not a command.\",C,r),{hideAfter:10*1e3}),this._leaveChordMode(),g=!0}return g}case 1:return this._logService.trace(\"KeybindingService#dispatch\",r,\"[ Several keybindings match - more chords needed ]\"),g=!0,this._expectAnotherChord(c,r),this._log(this._currentChords.length===1?\"+ Entering multi-chord mode...\":\"+ Continuing multi-chord mode...\"),g;case 2:{if(this._logService.trace(\"KeybindingService#dispatch\",r,`[ Will dispatch command ${u.commandId} ]`),u.commandId===null||u.commandId===\"\"){if(this.inChordMode){const C=this._currentChords.map(({label:f})=>f).join(\", \");this._log(`+ Leaving chord mode: Nothing bound to \"${C}, ${r}\".`),this._notificationService.status(m.localize(1541,\"The key combination ({0}, {1}) is not a command.\",C,r),{hideAfter:10*1e3}),this._leaveChordMode(),g=!0}}else{this.inChordMode&&this._leaveChordMode(),u.isBubble||(g=!0),this._log(`+ Invoking command ${u.commandId}.`),this._currentlyDispatchingCommandId=u.commandId;try{typeof u.commandArgs>\"u\"?this._commandService.executeCommand(u.commandId).then(void 0,C=>this._notificationService.warn(C)):this._commandService.executeCommand(u.commandId,u.commandArgs).then(void 0,C=>this._notificationService.warn(C))}finally{this._currentlyDispatchingCommandId=null}b.test(u.commandId)||this._telemetryService.publicLog2(\"workbenchActionExecuted\",{id:u.commandId,from:\"keybinding\",detail:t.getUserSettingsLabel()??void 0})}return g}}}mightProducePrintableCharacter(t){return t.ctrlKey||t.metaKey?!1:t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30}}e.AbstractKeybindingService=p;class n{static{this.EMPTY=new n(null)}constructor(t){this._ctrlKey=t?t.ctrlKey:!1,this._shiftKey=t?t.shiftKey:!1,this._altKey=t?t.altKey:!1,this._metaKey=t?t.metaKey:!1}has(t){switch(t){case\"ctrl\":return this._ctrlKey;case\"shift\":return this._shiftKey;case\"alt\":return this._altKey;case\"meta\":return this._metaKey}}}}),define(ne[393],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResolvedKeybindingItem=void 0,e.toEmptyArrayIfContainsNull=k;class d{constructor(E,y,m,_,b,p,n){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=E,this.chords=E?k(E.getDispatchChords()):[],E&&this.chords.length===0&&(this.chords=k(E.getSingleModifierDispatchChords())),this.bubble=y?y.charCodeAt(0)===94:!1,this.command=this.bubble?y.substr(1):y,this.commandArgs=m,this.when=_,this.isDefault=b,this.extensionId=p,this.isBuiltinExtension=n}}e.ResolvedKeybindingItem=d;function k(I){const E=[];for(let y=0,m=I.length;y<m;y++){const _=I[y];if(!_)return[];E.push(_)}return E}}),define(ne[692],se([1,0,72,140,689,393]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.USLayoutResolvedKeybinding=void 0;class y extends I.BaseResolvedKeybinding{constructor(_,b){super(b,_)}_keyCodeToUILabel(_){if(this._os===2)switch(_){case 15:return\"\\u2190\";case 16:return\"\\u2191\";case 17:return\"\\u2192\";case 18:return\"\\u2193\"}return d.KeyCodeUtils.toString(_)}_getLabel(_){return _.isDuplicateModifierCase()?\"\":this._keyCodeToUILabel(_.keyCode)}_getAriaLabel(_){return _.isDuplicateModifierCase()?\"\":d.KeyCodeUtils.toString(_.keyCode)}_getElectronAccelerator(_){return d.KeyCodeUtils.toElectronAccelerator(_.keyCode)}_getUserSettingsLabel(_){if(_.isDuplicateModifierCase())return\"\";const b=d.KeyCodeUtils.toUserSettingsUS(_.keyCode);return b&&b.toLowerCase()}_getChordDispatch(_){return y.getDispatchStr(_)}static getDispatchStr(_){if(_.isModifierKey())return null;let b=\"\";return _.ctrlKey&&(b+=\"ctrl+\"),_.shiftKey&&(b+=\"shift+\"),_.altKey&&(b+=\"alt+\"),_.metaKey&&(b+=\"meta+\"),b+=d.KeyCodeUtils.toString(_.keyCode),b}_getSingleModifierChordDispatch(_){return _.keyCode===5&&!_.shiftKey&&!_.altKey&&!_.metaKey?\"ctrl\":_.keyCode===4&&!_.ctrlKey&&!_.altKey&&!_.metaKey?\"shift\":_.keyCode===6&&!_.ctrlKey&&!_.shiftKey&&!_.metaKey?\"alt\":_.keyCode===57&&!_.ctrlKey&&!_.shiftKey&&!_.altKey?\"meta\":null}static _scanCodeToKeyCode(_){const b=d.IMMUTABLE_CODE_TO_KEY_CODE[_];if(b!==-1)return b;switch(_){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(_){if(!_)return null;if(_ instanceof k.KeyCodeChord)return _;const b=this._scanCodeToKeyCode(_.scanCode);return b===0?null:new k.KeyCodeChord(_.ctrlKey,_.shiftKey,_.altKey,_.metaKey,b)}static resolveKeybinding(_,b){const p=(0,E.toEmptyArrayIfContainsNull)(_.chords.map(n=>this._toKeyCodeChord(n)));return p.length>0?[new y(p,b)]:[]}}e.USLayoutResolvedKeybinding=y}),define(ne[181],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ILabelService=void 0,e.ILabelService=(0,d.createDecorator)(\"labelService\")}),define(ne[119],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ILayoutService=void 0,e.ILayoutService=(0,d.createDecorator)(\"layoutService\")}),define(ne[394],se([1,0,5,52,13,6,34,49,119]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorScopedLayoutService=void 0;let b=class{get mainContainer(){return(0,I.firstOrDefault)(this._codeEditorService.listCodeEditors())?.getContainerDomNode()??k.mainWindow.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return d.getClientArea(this.mainContainer)}get activeContainerDimension(){return d.getClientArea(this.activeContainer)}get containers(){return(0,I.coalesce)(this._codeEditorService.listCodeEditors().map(o=>o.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(o){this._codeEditorService=o,this.onDidLayoutMainContainer=E.Event.None,this.onDidLayoutActiveContainer=E.Event.None,this.onDidLayoutContainer=E.Event.None,this.onDidChangeActiveContainer=E.Event.None,this.onDidAddContainer=E.Event.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};b=ke([ce(0,y.ICodeEditorService)],b);let p=class extends b{get mainContainer(){return this._container}constructor(o,t){super(t),this._container=o}};e.EditorScopedLayoutService=p,e.EditorScopedLayoutService=p=ke([ce(1,y.ICodeEditorService)],p),(0,m.registerSingleton)(_.ILayoutService,b,1)}),define(ne[693],se([1,0,5,52,6,2,61,28,12,119]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessibilityService=void 0;let p=class extends E.Disposable{constructor(o,t,i){super(),this._contextKeyService=o,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new I.Emitter,this._onDidChangeReducedMotion=new I.Emitter,this._onDidChangeLinkUnderline=new I.Emitter,this._accessibilityModeEnabledContext=y.CONTEXT_ACCESSIBILITY_MODE_ENABLED.bindTo(this._contextKeyService);const s=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(c=>{c.affectsConfiguration(\"editor.accessibilitySupport\")&&(s(),this._onDidChangeScreenReaderOptimized.fire()),c.affectsConfiguration(\"workbench.reduceMotion\")&&(this._configMotionReduced=this._configurationService.getValue(\"workbench.reduceMotion\"),this._onDidChangeReducedMotion.fire())})),s(),this._register(this.onDidChangeScreenReaderOptimized(()=>s()));const g=k.mainWindow.matchMedia(\"(prefers-reduced-motion: reduce)\");this._systemMotionReduced=g.matches,this._configMotionReduced=this._configurationService.getValue(\"workbench.reduceMotion\"),this._linkUnderlinesEnabled=this._configurationService.getValue(\"accessibility.underlineLinks\"),this.initReducedMotionListeners(g),this.initLinkUnderlineListeners()}initReducedMotionListeners(o){this._register((0,d.addDisposableListener)(o,\"change\",()=>{this._systemMotionReduced=o.matches,this._configMotionReduced===\"auto\"&&this._onDidChangeReducedMotion.fire()}));const t=()=>{const i=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle(\"reduce-motion\",i),this._layoutService.mainContainer.classList.toggle(\"enable-motion\",!i)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(t=>{if(t.affectsConfiguration(\"accessibility.underlineLinks\")){const i=this._configurationService.getValue(\"accessibility.underlineLinks\");this._linkUnderlinesEnabled=i,this._onDidChangeLinkUnderline.fire()}}));const o=()=>{const t=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle(\"underline-links\",t)};o(),this._register(this.onDidChangeLinkUnderlines(()=>o()))}onDidChangeLinkUnderlines(o){return this._onDidChangeLinkUnderline.event(o)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const o=this._configurationService.getValue(\"editor.accessibilitySupport\");return o===\"on\"||o===\"auto\"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const o=this._configMotionReduced;return o===\"on\"||o===\"auto\"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};e.AccessibilityService=p,e.AccessibilityService=p=ke([ce(0,_.IContextKeyService),ce(1,b.ILayoutService),ce(2,m.IConfigurationService)],p)}),define(ne[395],se([1,0,353,2,119,5]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextViewService=e.ContextViewHandler=void 0;let y=class extends k.Disposable{constructor(b){super(),this.layoutService=b,this.contextView=this._register(new d.ContextView(this.layoutService.mainContainer,1)),this.layout(),this._register(b.onDidLayoutContainer(()=>this.layout()))}showContextView(b,p,n){let o;p?p===this.layoutService.getContainer((0,E.getWindow)(p))?o=1:n?o=3:o=2:o=1,this.contextView.setContainer(p??this.layoutService.activeContainer,o),this.contextView.show(b);const t={close:()=>{this.openContextView===t&&this.hideContextView()}};return this.openContextView=t,t}layout(){this.contextView.layout()}hideContextView(b){this.contextView.hide(b),this.openContextView=void 0}};e.ContextViewHandler=y,e.ContextViewHandler=y=ke([ce(0,I.ILayoutService)],y);class m extends y{getContextViewElement(){return this.contextView.getViewElement()}}e.ContextViewService=m}),define(ne[62],se([1,0,6,2,12,7]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CONTEXT_LOG_LEVEL=e.MultiplexLogger=e.ConsoleLogger=e.AbstractLogger=e.DEFAULT_LOG_LEVEL=e.LogLevel=e.ILogService=void 0,e.LogLevelToString=p,e.ILogService=(0,E.createDecorator)(\"logService\");var y;(function(n){n[n.Off=0]=\"Off\",n[n.Trace=1]=\"Trace\",n[n.Debug=2]=\"Debug\",n[n.Info=3]=\"Info\",n[n.Warning=4]=\"Warning\",n[n.Error=5]=\"Error\"})(y||(e.LogLevel=y={})),e.DEFAULT_LOG_LEVEL=y.Info;class m extends k.Disposable{constructor(){super(...arguments),this.level=e.DEFAULT_LOG_LEVEL,this._onDidChangeLogLevel=this._register(new d.Emitter),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(o){this.level!==o&&(this.level=o,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(o){return this.level!==y.Off&&this.level<=o}}e.AbstractLogger=m;class _ extends m{constructor(o=e.DEFAULT_LOG_LEVEL,t=!0){super(),this.useColors=t,this.setLevel(o)}trace(o,...t){this.checkLogLevel(y.Trace)&&(this.useColors?console.log(\"%cTRACE\",\"color: #888\",o,...t):console.log(o,...t))}debug(o,...t){this.checkLogLevel(y.Debug)&&(this.useColors?console.log(\"%cDEBUG\",\"background: #eee; color: #888\",o,...t):console.log(o,...t))}info(o,...t){this.checkLogLevel(y.Info)&&(this.useColors?console.log(\"%c INFO\",\"color: #33f\",o,...t):console.log(o,...t))}warn(o,...t){this.checkLogLevel(y.Warning)&&(this.useColors?console.log(\"%c WARN\",\"color: #993\",o,...t):console.log(o,...t))}error(o,...t){this.checkLogLevel(y.Error)&&(this.useColors?console.log(\"%c  ERR\",\"color: #f33\",o,...t):console.error(o,...t))}}e.ConsoleLogger=_;class b extends m{constructor(o){super(),this.loggers=o,o.length&&this.setLevel(o[0].getLevel())}setLevel(o){for(const t of this.loggers)t.setLevel(o);super.setLevel(o)}trace(o,...t){for(const i of this.loggers)i.trace(o,...t)}debug(o,...t){for(const i of this.loggers)i.debug(o,...t)}info(o,...t){for(const i of this.loggers)i.info(o,...t)}warn(o,...t){for(const i of this.loggers)i.warn(o,...t)}error(o,...t){for(const i of this.loggers)i.error(o,...t)}dispose(){for(const o of this.loggers)o.dispose();super.dispose()}}e.MultiplexLogger=b;function p(n){switch(n){case y.Trace:return\"trace\";case y.Debug:return\"debug\";case y.Info:return\"info\";case y.Warning:return\"warn\";case y.Error:return\"error\";case y.Off:return\"off\"}}e.CONTEXT_LOG_LEVEL=new I.RawContextKey(\"logLevel\",p(y.Info))}),define(ne[212],se([1,0,64,5,93,47,296,14,6,2,128,11,310,23,61,62]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextAreaWrapper=e.ClipboardEventUtils=e.TextAreaInput=e.InMemoryClipboardMetadataManager=e.CopyOptions=e.TextAreaSyntethicEvents=void 0;var g;(function(u){u.Tap=\"-monaco-textarea-synthetic-tap\"})(g||(e.TextAreaSyntethicEvents=g={})),e.CopyOptions={forceCopyWithSyntaxHighlighting:!1};class c{static{this.INSTANCE=new c}constructor(){this._lastState=null}set(C,f){this._lastState={lastCopiedValue:C,data:f}}get(C){return this._lastState&&this._lastState.lastCopiedValue===C?this._lastState.data:(this._lastState=null,null)}}e.InMemoryClipboardMetadataManager=c;class l{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(C){C=C||\"\";const f={text:C,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=C.length,f}}let a=class extends b.Disposable{get textAreaState(){return this._textAreaState}constructor(C,f,h,v,w,S){super(),this._host=C,this._textArea=f,this._OS=h,this._browser=v,this._accessibilityService=w,this._logService=S,this._onFocus=this._register(new _.Emitter),this.onFocus=this._onFocus.event,this._onBlur=this._register(new _.Emitter),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new _.Emitter),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new _.Emitter),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new _.Emitter),this.onCut=this._onCut.event,this._onPaste=this._register(new _.Emitter),this.onPaste=this._onPaste.event,this._onType=this._register(new _.Emitter),this.onType=this._onType.event,this._onCompositionStart=this._register(new _.Emitter),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new _.Emitter),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new _.Emitter),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new _.Emitter),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new b.MutableDisposable),this._asyncTriggerCut=this._register(new m.RunOnceScheduler(()=>this._onCut.fire(),0)),this._textAreaState=o.TextAreaState.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent(\"ctor\"),this._register(_.Event.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new m.RunOnceScheduler(()=>this.writeNativeTextAreaContent(\"asyncFocusGain\"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let L=null;this._register(this._textArea.onKeyDown(D=>{const T=new E.StandardKeyboardEvent(D);(T.keyCode===114||this._currentComposition&&T.keyCode===1)&&T.stopPropagation(),T.equals(9)&&T.preventDefault(),L=T,this._onKeyDown.fire(T)})),this._register(this._textArea.onKeyUp(D=>{const T=new E.StandardKeyboardEvent(D);this._onKeyUp.fire(T)})),this._register(this._textArea.onCompositionStart(D=>{o._debugComposition&&console.log(\"[compositionstart]\",D);const T=new l;if(this._currentComposition){this._currentComposition=T;return}if(this._currentComposition=T,this._OS===2&&L&&L.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===D.data&&(L.code===\"ArrowRight\"||L.code===\"ArrowLeft\")){o._debugComposition&&console.log(\"[compositionstart] Handling long press case on macOS + arrow key\",D),T.handleCompositionUpdate(\"x\"),this._onCompositionStart.fire({data:D.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:D.data});return}this._onCompositionStart.fire({data:D.data})})),this._register(this._textArea.onCompositionUpdate(D=>{o._debugComposition&&console.log(\"[compositionupdate]\",D);const T=this._currentComposition;if(!T)return;if(this._browser.isAndroid){const A=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),P=o.TextAreaState.deduceAndroidCompositionInput(this._textAreaState,A);this._textAreaState=A,this._onType.fire(P),this._onCompositionUpdate.fire(D);return}const M=T.handleCompositionUpdate(D.data);this._textAreaState=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(M),this._onCompositionUpdate.fire(D)})),this._register(this._textArea.onCompositionEnd(D=>{o._debugComposition&&console.log(\"[compositionend]\",D);const T=this._currentComposition;if(!T)return;if(this._currentComposition=null,this._browser.isAndroid){const A=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),P=o.TextAreaState.deduceAndroidCompositionInput(this._textAreaState,A);this._textAreaState=A,this._onType.fire(P),this._onCompositionEnd.fire();return}const M=T.handleCompositionUpdate(D.data);this._textAreaState=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(M),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(D=>{if(o._debugComposition&&console.log(\"[input]\",D),this._textArea.setIgnoreSelectionChangeTime(\"received input event\"),this._currentComposition)return;const T=o.TextAreaState.readFromTextArea(this._textArea,this._textAreaState),M=o.TextAreaState.deduceInput(this._textAreaState,T,this._OS===2);M.replacePrevCharCnt===0&&M.text.length===1&&(n.isHighSurrogate(M.text.charCodeAt(0))||M.text.charCodeAt(0)===127)||(this._textAreaState=T,(M.text!==\"\"||M.replacePrevCharCnt!==0||M.replaceNextCharCnt!==0||M.positionDelta!==0)&&this._onType.fire(M))})),this._register(this._textArea.onCut(D=>{this._textArea.setIgnoreSelectionChangeTime(\"received cut event\"),this._ensureClipboardGetsEditorSelection(D),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(D=>{this._ensureClipboardGetsEditorSelection(D)})),this._register(this._textArea.onPaste(D=>{if(this._textArea.setIgnoreSelectionChangeTime(\"received paste event\"),D.preventDefault(),!D.clipboardData)return;let[T,M]=e.ClipboardEventUtils.getTextData(D.clipboardData);T&&(M=M||c.INSTANCE.get(T),this._onPaste.fire({text:T,metadata:M}))})),this._register(this._textArea.onFocus(()=>{const D=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!D&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new m.RunOnceScheduler(()=>this.writeNativeTextAreaContent(\"asyncFocusGain\"),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent(\"blurWithoutCompositionEnd\"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent(\"tapWithoutCompositionEnd\"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let C=0;return k.addDisposableListener(this._textArea.ownerDocument,\"selectionchange\",f=>{if(y.inputLatency.onSelectionChange(),!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const h=Date.now(),v=h-C;if(C=h,v<5)return;const w=h-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),w<100||!this._textAreaState.selection)return;const S=this._textArea.getValue();if(this._textAreaState.value!==S)return;const L=this._textArea.getSelectionStart(),D=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===L&&this._textAreaState.selectionEnd===D)return;const T=this._textAreaState.deduceEditorPosition(L),M=this._host.deduceModelPosition(T[0],T[1],T[2]),A=this._textAreaState.deduceEditorPosition(D),P=this._host.deduceModelPosition(A[0],A[1],A[2]),N=new t.Selection(M.lineNumber,M.column,P.lineNumber,P.column);this._onSelectionChangeRequest.fire(N)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(C){this._hasFocus!==C&&(this._hasFocus=C,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent(\"focusgain\"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(C,f){this._hasFocus||(f=f.collapseSelection()),f.writeToTextArea(C,this._textArea,this._hasFocus),this._textAreaState=f}writeNativeTextAreaContent(C){!this._accessibilityService.isScreenReaderOptimized()&&C===\"render\"||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${C})`),this._setAndWriteTextAreaState(C,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(C){const f=this._host.getDataToCopy(),h={version:1,isFromEmptySelection:f.isFromEmptySelection,multicursorText:f.multicursorText,mode:f.mode};c.INSTANCE.set(this._browser.isFirefox?f.text.replace(/\\r\\n/g,`\n`):f.text,h),C.preventDefault(),C.clipboardData&&e.ClipboardEventUtils.setTextData(C.clipboardData,f.text,f.html,h)}};e.TextAreaInput=a,e.TextAreaInput=a=ke([ce(4,i.IAccessibilityService),ce(5,s.ILogService)],a),e.ClipboardEventUtils={getTextData(u){const C=u.getData(p.Mimes.text);let f=null;const h=u.getData(\"vscode-editor-data\");if(typeof h==\"string\")try{f=JSON.parse(h),f.version!==1&&(f=null)}catch{}return C.length===0&&f===null&&u.files.length>0?[Array.prototype.slice.call(u.files,0).map(w=>w.name).join(`\n`),null]:[C,f]},setTextData(u,C,f,h){u.setData(p.Mimes.text,C),typeof f==\"string\"&&u.setData(\"text/html\",f),u.setData(\"vscode-editor-data\",JSON.stringify(h))}};class r extends b.Disposable{get ownerDocument(){return this._actual.ownerDocument}constructor(C){super(),this._actual=C,this.onKeyDown=this._register(new I.DomEmitter(this._actual,\"keydown\")).event,this.onKeyUp=this._register(new I.DomEmitter(this._actual,\"keyup\")).event,this.onCompositionStart=this._register(new I.DomEmitter(this._actual,\"compositionstart\")).event,this.onCompositionUpdate=this._register(new I.DomEmitter(this._actual,\"compositionupdate\")).event,this.onCompositionEnd=this._register(new I.DomEmitter(this._actual,\"compositionend\")).event,this.onBeforeInput=this._register(new I.DomEmitter(this._actual,\"beforeinput\")).event,this.onInput=this._register(new I.DomEmitter(this._actual,\"input\")).event,this.onCut=this._register(new I.DomEmitter(this._actual,\"cut\")).event,this.onCopy=this._register(new I.DomEmitter(this._actual,\"copy\")).event,this.onPaste=this._register(new I.DomEmitter(this._actual,\"paste\")).event,this.onFocus=this._register(new I.DomEmitter(this._actual,\"focus\")).event,this.onBlur=this._register(new I.DomEmitter(this._actual,\"blur\")).event,this._onSyntheticTap=this._register(new _.Emitter),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown(()=>y.inputLatency.onKeyDown())),this._register(this.onBeforeInput(()=>y.inputLatency.onBeforeInput())),this._register(this.onInput(()=>y.inputLatency.onInput())),this._register(this.onKeyUp(()=>y.inputLatency.onKeyUp())),this._register(k.addDisposableListener(this._actual,g.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const C=k.getShadowRoot(this._actual);return C?C.activeElement===this._actual:this._actual.isConnected?k.getActiveElement()===this._actual:!1}setIgnoreSelectionChangeTime(C){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(C,f){const h=this._actual;h.value!==f&&(this.setIgnoreSelectionChangeTime(\"setValue\"),h.value=f)}getSelectionStart(){return this._actual.selectionDirection===\"backward\"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection===\"backward\"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(C,f,h){const v=this._actual;let w=null;const S=k.getShadowRoot(v);S?w=S.activeElement:w=k.getActiveElement();const L=k.getWindow(w),D=w===v,T=v.selectionStart,M=v.selectionEnd;if(D&&T===f&&M===h){d.isFirefox&&L.parent!==L&&v.focus();return}if(D){this.setIgnoreSelectionChangeTime(\"setSelectionRange\"),v.setSelectionRange(f,h),d.isFirefox&&L.parent!==L&&v.focus();return}try{const A=k.saveParentsScrollTop(v);this.setIgnoreSelectionChangeTime(\"setSelectionRange\"),v.focus(),v.setSelectionRange(f,h),k.restoreParentsScrollTop(v,A)}catch{}}}e.TextAreaWrapper=r}),define(ne[79],se([1,0,129,45,141,271,49,7,62,42]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LanguageFeatureDebounceService=e.ILanguageFeatureDebounceService=void 0,e.ILanguageFeatureDebounceService=(0,m.createDecorator)(\"ILanguageFeatureDebounceService\");var p;(function(i){const s=new WeakMap;let g=0;function c(l){let a=s.get(l);return a===void 0&&(a=++g,s.set(l,a)),a}i.of=c})(p||(p={}));class n{constructor(s){this._default=s}get(s){return this._default}update(s,g){return this._default}default(){return this._default}}class o{constructor(s,g,c,l,a,r){this._logService=s,this._name=g,this._registry=c,this._default=l,this._min=a,this._max=r,this._cache=new k.LRUCache(50,.7)}_key(s){return s.id+this._registry.all(s).reduce((g,c)=>(0,d.doHash)(p.of(c),g),0)}get(s){const g=this._key(s),c=this._cache.get(g);return c?(0,I.clamp)(c.value,this._min,this._max):this.default()}update(s,g){const c=this._key(s);let l=this._cache.get(c);l||(l=new I.SlidingWindowAverage(6),this._cache.set(c,l));const a=(0,I.clamp)(l.update(g),this._min,this._max);return(0,b.matchesScheme)(s.uri,\"output\")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${s.uri.toString()} is ${a}ms`),a}_overall(){const s=new I.MovingAverage;for(const[,g]of this._cache)s.update(g.value);return s.value}default(){const s=this._overall()|0||this._default;return(0,I.clamp)(s,this._min,this._max)}}let t=class{constructor(s,g){this._logService=s,this._data=new Map,this._isDev=g.isExtensionDevelopment||!g.isBuilt}for(s,g,c){const l=c?.min??50,a=c?.max??l**2,r=c?.key??void 0,u=`${p.of(s)},${l}${r?\",\"+r:\"\"}`;let C=this._data.get(u);return C||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${g}] is disabled in developed mode`),C=new n(l*1.5)):C=new o(this._logService,g,s,this._overallAverage()|0||l*1.5,l,a),this._data.set(u,C)),C}_overallAverage(){const s=new I.MovingAverage;for(const g of this._data.values())s.update(g.default());return s.value}};e.LanguageFeatureDebounceService=t,e.LanguageFeatureDebounceService=t=ke([ce(0,_.ILogService),ce(1,E.IEnvironmentService)],t),(0,y.registerSingleton)(e.ILanguageFeatureDebounceService,t,1)}),define(ne[182],se([1,0,13,18,8,53,45,9,4,79,7,49,51,2,17]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OutlineModelService=e.IOutlineModelService=e.OutlineModel=e.OutlineGroup=e.OutlineElement=e.TreeElement=void 0;class s{remove(){this.parent?.children.delete(this.id)}static findId(u,C){let f;typeof u==\"string\"?f=`${C.id}/${u}`:(f=`${C.id}/${u.name}`,C.children.get(f)!==void 0&&(f=`${C.id}/${u.name}_${u.range.startLineNumber}_${u.range.startColumn}`));let h=f;for(let v=0;C.children.get(h)!==void 0;v++)h=`${f}_${v}`;return h}static empty(u){return u.children.size===0}}e.TreeElement=s;class g extends s{constructor(u,C,f){super(),this.id=u,this.parent=C,this.symbol=f,this.children=new Map}}e.OutlineElement=g;class c extends s{constructor(u,C,f,h){super(),this.id=u,this.parent=C,this.label=f,this.order=h,this.children=new Map}}e.OutlineGroup=c;class l extends s{static create(u,C,f){const h=new k.CancellationTokenSource(f),v=new l(C.uri),w=u.ordered(C),S=w.map((D,T)=>{const M=s.findId(`provider_${T}`,v),A=new c(M,v,D.displayName??\"Unknown Outline Provider\",T);return Promise.resolve(D.provideDocumentSymbols(C,h.token)).then(P=>{for(const N of P||[])l._makeOutlineElement(N,A);return A},P=>((0,I.onUnexpectedExternalError)(P),A)).then(P=>{s.empty(P)?P.remove():v._groups.set(M,P)})}),L=u.onDidChange(()=>{const D=u.ordered(C);(0,d.equals)(D,w)||h.cancel()});return Promise.all(S).then(()=>h.token.isCancellationRequested&&!f.isCancellationRequested?l.create(u,C,f):v._compact()).finally(()=>{h.dispose(),L.dispose(),h.dispose()})}static _makeOutlineElement(u,C){const f=s.findId(u,C),h=new g(f,C,u);if(u.children)for(const v of u.children)l._makeOutlineElement(v,h);C.children.set(h.id,h)}constructor(u){super(),this.uri=u,this.id=\"root\",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id=\"root\",this.parent=void 0}_compact(){let u=0;for(const[C,f]of this._groups)f.children.size===0?this._groups.delete(C):u+=1;if(u!==1)this.children=this._groups;else{const C=E.Iterable.first(this._groups.values());for(const[,f]of C.children)f.parent=this,this.children.set(f.id,f)}return this}getTopLevelSymbols(){const u=[];for(const C of this.children.values())C instanceof g?u.push(C.symbol):u.push(...E.Iterable.map(C.children.values(),f=>f.symbol));return u.sort((C,f)=>_.Range.compareRangesUsingStarts(C.range,f.range))}asListOfDocumentSymbols(){const u=this.getTopLevelSymbols(),C=[];return l._flattenDocumentSymbols(C,u,\"\"),C.sort((f,h)=>m.Position.compare(_.Range.getStartPosition(f.range),_.Range.getStartPosition(h.range))||m.Position.compare(_.Range.getEndPosition(h.range),_.Range.getEndPosition(f.range)))}static _flattenDocumentSymbols(u,C,f){for(const h of C)u.push({kind:h.kind,tags:h.tags,name:h.name,detail:h.detail,containerName:h.containerName||f,range:h.range,selectionRange:h.selectionRange,children:void 0}),h.children&&l._flattenDocumentSymbols(u,h.children,h.name)}}e.OutlineModel=l,e.IOutlineModelService=(0,p.createDecorator)(\"IOutlineModelService\");let a=class{constructor(u,C,f){this._languageFeaturesService=u,this._disposables=new t.DisposableStore,this._cache=new y.LRUCache(10,.7),this._debounceInformation=C.for(u.documentSymbolProvider,\"DocumentSymbols\",{min:350}),this._disposables.add(f.onModelRemoved(h=>{this._cache.delete(h.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(u,C){const f=this._languageFeaturesService.documentSymbolProvider,h=f.ordered(u);let v=this._cache.get(u.id);if(!v||v.versionId!==u.getVersionId()||!(0,d.equals)(v.provider,h)){const S=new k.CancellationTokenSource;v={versionId:u.getVersionId(),provider:h,promiseCnt:0,source:S,promise:l.create(f,u,S.token),model:void 0},this._cache.set(u.id,v);const L=Date.now();v.promise.then(D=>{v.model=D,this._debounceInformation.update(u,Date.now()-L)}).catch(D=>{this._cache.delete(u.id)})}if(v.model)return v.model;v.promiseCnt+=1;const w=C.onCancellationRequested(()=>{--v.promiseCnt===0&&(v.source.cancel(),this._cache.delete(u.id))});try{return await v.promise}finally{w.dispose()}}};e.OutlineModelService=a,e.OutlineModelService=a=ke([ce(0,i.ILanguageFeaturesService),ce(1,b.ILanguageFeatureDebounceService),ce(2,o.IModelService)],a),(0,n.registerSingleton)(e.IOutlineModelService,a,1)}),define(ne[694],se([1,0,13,21,383,88,17,182,2,6]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});let p=class extends _.Disposable{constructor(o,t,i){super(),this._textModel=o,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=(0,k.observableValue)(this,void 0);const s=(0,k.observableSignalFromEvent)(\"documentSymbolProvider.onDidChange\",this._languageFeaturesService.documentSymbolProvider.onDidChange),g=(0,k.observableSignalFromEvent)(\"_textModel.onDidChangeContent\",b.Event.debounce(c=>this._textModel.onDidChangeContent(c),()=>{},100));this._register((0,k.autorunWithStore)(async(c,l)=>{s.read(c),g.read(c);const a=l.add(new E.DisposableCancellationTokenSource),r=await this._outlineModelService.getOrCreate(this._textModel,a.token);l.isDisposed||this._currentModel.set(r,void 0)}))}getBreadcrumbItems(o,t){const i=this._currentModel.read(t);if(!i)return[];const s=i.asListOfDocumentSymbols().filter(g=>o.contains(g.range.startLineNumber)&&!o.contains(g.range.endLineNumber));return s.sort((0,d.reverseOrder)((0,d.compareBy)(g=>g.range.endLineNumber-g.range.startLineNumber,d.numberComparator))),s.map(g=>({name:g.name,kind:g.kind,startLineNumber:g.range.startLineNumber}))}};p=ke([ce(1,y.ILanguageFeaturesService),ce(2,m.IOutlineModelService)],p),I.HideUnchangedRegionsFeature.setBreadcrumbsSourceFactory((n,o)=>o.createInstance(p,n))}),define(ne[695],se([1,0,18,19,22,78,182,24]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),m.CommandsRegistry.registerCommand(\"_executeDocumentSymbolProvider\",async function(_,...b){const[p]=b;(0,k.assertType)(I.URI.isUri(p));const n=_.get(y.IOutlineModelService),t=await _.get(E.ITextModelService).createModelReference(p);try{return(await n.getOrCreate(t.object.textEditorModel,d.CancellationToken.None)).getTopLevelSymbols()}finally{t.dispose()}})}),define(ne[696],se([1,0,64,5,52,14,6,129,2,22,119,62]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";var o;Object.defineProperty(e,\"__esModule\",{value:!0}),e.BrowserClipboardService=void 0;const t=\"application/vnd.code.resources\";let i=class extends _.Disposable{static{o=this}constructor(g,c){super(),this.layoutService=g,this.logService=c,this.mapTextToType=new Map,this.findText=\"\",this.resources=[],this.resourcesStateHash=void 0,(d.isSafari||d.isWebkitWebView)&&this.installWebKitWriteTextWorkaround(),this._register(y.Event.runAndSubscribe(k.onDidRegisterWindow,({window:l,disposables:a})=>{a.add((0,k.addDisposableListener)(l.document,\"copy\",()=>this.clearResourcesState()))},{window:I.mainWindow,disposables:this._store}))}installWebKitWriteTextWorkaround(){const g=()=>{const c=new E.DeferredPromise;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=c,(0,k.getActiveWindow)().navigator.clipboard.write([new ClipboardItem({\"text/plain\":c.p})]).catch(async l=>{(!(l instanceof Error)||l.name!==\"NotAllowedError\"||!c.isRejected)&&this.logService.error(l)})};this._register(y.Event.runAndSubscribe(this.layoutService.onDidAddContainer,({container:c,disposables:l})=>{l.add((0,k.addDisposableListener)(c,\"click\",g)),l.add((0,k.addDisposableListener)(c,\"keydown\",g))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(g,c){if(this.clearResourcesState(),c){this.mapTextToType.set(c,g);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(g);try{return await(0,k.getActiveWindow)().navigator.clipboard.writeText(g)}catch(l){console.error(l)}this.fallbackWriteText(g)}fallbackWriteText(g){const c=(0,k.getActiveDocument)(),l=c.activeElement,a=c.body.appendChild((0,k.$)(\"textarea\",{\"aria-hidden\":!0}));a.style.height=\"1px\",a.style.width=\"1px\",a.style.position=\"absolute\",a.value=g,a.focus(),a.select(),c.execCommand(\"copy\"),(0,k.isHTMLElement)(l)&&l.focus(),a.remove()}async readText(g){if(g)return this.mapTextToType.get(g)||\"\";try{return await(0,k.getActiveWindow)().navigator.clipboard.readText()}catch(c){console.error(c)}return\"\"}async readFindText(){return this.findText}async writeFindText(g){this.findText=g}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3}async readResources(){try{const c=await(0,k.getActiveWindow)().navigator.clipboard.read();for(const l of c)if(l.types.includes(`web ${t}`)){const a=await l.getType(`web ${t}`);return JSON.parse(await a.text()).map(u=>b.URI.from(u))}}catch{}const g=await this.computeResourcesStateHash();return this.resourcesStateHash!==g&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;const g=await this.readText();return(0,m.hash)(g.substring(0,o.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};e.BrowserClipboardService=i,e.BrowserClipboardService=i=o=ke([ce(0,p.ILayoutService),ce(1,n.ILogService)],i)}),define(ne[697],se([1,0,2,62]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LogService=void 0;class I extends d.Disposable{constructor(y,m=[]){super(),this.logger=new k.MultiplexLogger([y,...m]),this._register(y.onDidChangeLogLevel(_=>this.setLevel(_)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(y){this.logger.setLevel(y)}getLevel(){return this.logger.getLevel()}trace(y,...m){this.logger.trace(y,...m)}debug(y,...m){this.logger.debug(y,...m)}info(y,...m){this.logger.info(y,...m)}warn(y,...m){this.logger.warn(y,...m)}error(y,...m){this.logger.error(y,...m)}}e.LogService=I}),define(ne[108],se([1,0,111,3,7]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IMarkerService=e.IMarkerData=e.MarkerSeverity=void 0;var E;(function(m){m[m.Hint=1]=\"Hint\",m[m.Info=2]=\"Info\",m[m.Warning=4]=\"Warning\",m[m.Error=8]=\"Error\"})(E||(e.MarkerSeverity=E={})),function(m){function _(t,i){return i-t}m.compare=_;const b=Object.create(null);b[m.Error]=(0,k.localize)(1569,\"Error\"),b[m.Warning]=(0,k.localize)(1570,\"Warning\"),b[m.Info]=(0,k.localize)(1571,\"Info\");function p(t){return b[t]||\"\"}m.toString=p;function n(t){switch(t){case d.default.Error:return m.Error;case d.default.Warning:return m.Warning;case d.default.Info:return m.Info;case d.default.Ignore:return m.Hint}}m.fromSeverity=n;function o(t){switch(t){case m.Error:return d.default.Error;case m.Warning:return d.default.Warning;case m.Info:return d.default.Info;case m.Hint:return d.default.Ignore}}m.toSeverity=o}(E||(e.MarkerSeverity=E={}));var y;(function(m){const _=\"\";function b(n){return p(n,!0)}m.makeKey=b;function p(n,o){const t=[_];return n.source?t.push(n.source.replace(\"\\xA6\",\"\\\\\\xA6\")):t.push(_),n.code?typeof n.code==\"string\"?t.push(n.code.replace(\"\\xA6\",\"\\\\\\xA6\")):t.push(n.code.value.replace(\"\\xA6\",\"\\\\\\xA6\")):t.push(_),n.severity!==void 0&&n.severity!==null?t.push(E.toString(n.severity)):t.push(_),n.message&&o?t.push(n.message.replace(\"\\xA6\",\"\\\\\\xA6\")):t.push(_),n.startLineNumber!==void 0&&n.startLineNumber!==null?t.push(n.startLineNumber.toString()):t.push(_),n.startColumn!==void 0&&n.startColumn!==null?t.push(n.startColumn.toString()):t.push(_),n.endLineNumber!==void 0&&n.endLineNumber!==null?t.push(n.endLineNumber.toString()):t.push(_),n.endColumn!==void 0&&n.endColumn!==null?t.push(n.endColumn.toString()):t.push(_),t.push(_),t.join(\"\\xA6\")}m.makeKeyOptionalMessage=p})(y||(e.IMarkerData=y={})),e.IMarkerService=(0,I.createDecorator)(\"markerService\")}),define(ne[698],se([1,0,13,6,2,73,11,22,4,49,7,108,28]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IMarkerNavigationService=e.MarkerList=e.MarkerCoordinate=void 0;class t{constructor(c,l,a){this.marker=c,this.index=l,this.total=a}}e.MarkerCoordinate=t;let i=class{constructor(c,l,a){this._markerService=l,this._configService=a,this._onDidChange=new k.Emitter,this.onDidChange=this._onDidChange.event,this._dispoables=new I.DisposableStore,this._markers=[],this._nextIdx=-1,m.URI.isUri(c)?this._resourceFilter=f=>f.toString()===c.toString():c&&(this._resourceFilter=c);const r=this._configService.getValue(\"problems.sortOrder\"),u=(f,h)=>{let v=(0,y.compare)(f.resource.toString(),h.resource.toString());return v===0&&(r===\"position\"?v=_.Range.compareRangesUsingStarts(f,h)||n.MarkerSeverity.compare(f.severity,h.severity):v=n.MarkerSeverity.compare(f.severity,h.severity)||_.Range.compareRangesUsingStarts(f,h)),v},C=()=>{this._markers=this._markerService.read({resource:m.URI.isUri(c)?c:void 0,severities:n.MarkerSeverity.Error|n.MarkerSeverity.Warning|n.MarkerSeverity.Info}),typeof c==\"function\"&&(this._markers=this._markers.filter(f=>this._resourceFilter(f.resource))),this._markers.sort(u)};C(),this._dispoables.add(l.onMarkerChanged(f=>{(!this._resourceFilter||f.some(h=>this._resourceFilter(h)))&&(C(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(c){return!this._resourceFilter&&!c?!0:!this._resourceFilter||!c?!1:this._resourceFilter(c)}get selected(){const c=this._markers[this._nextIdx];return c&&new t(c,this._nextIdx+1,this._markers.length)}_initIdx(c,l,a){let r=!1,u=this._markers.findIndex(C=>C.resource.toString()===c.uri.toString());u<0&&(u=(0,d.binarySearch)(this._markers,{resource:c.uri},(C,f)=>(0,y.compare)(C.resource.toString(),f.resource.toString())),u<0&&(u=~u));for(let C=u;C<this._markers.length;C++){let f=_.Range.lift(this._markers[C]);if(f.isEmpty()){const h=c.getWordAtPosition(f.getStartPosition());h&&(f=new _.Range(f.startLineNumber,h.startColumn,f.startLineNumber,h.endColumn))}if(l&&(f.containsPosition(l)||l.isBeforeOrEqual(f.getStartPosition()))){this._nextIdx=C,r=!0;break}if(this._markers[C].resource.toString()!==c.uri.toString())break}r||(this._nextIdx=a?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(c,l,a){if(this._markers.length===0)return!1;const r=this._nextIdx;return this._nextIdx===-1?this._initIdx(l,a,c):c?this._nextIdx=(this._nextIdx+1)%this._markers.length:c||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),r!==this._nextIdx}find(c,l){let a=this._markers.findIndex(r=>r.resource.toString()===c.toString());if(!(a<0)){for(;a<this._markers.length;a++)if(_.Range.containsPosition(this._markers[a],l))return new t(this._markers[a],a+1,this._markers.length)}}};e.MarkerList=i,e.MarkerList=i=ke([ce(1,n.IMarkerService),ce(2,o.IConfigurationService)],i),e.IMarkerNavigationService=(0,p.createDecorator)(\"IMarkerNavigationService\");let s=class{constructor(c,l){this._markerService=c,this._configService=l,this._provider=new E.LinkedList}getMarkerList(c){for(const l of this._provider){const a=l.getMarkerList(c);if(a)return a}return new i(c,this._markerService,this._configService)}};s=ke([ce(0,n.IMarkerService),ce(1,o.IConfigurationService)],s),(0,b.registerSingleton)(e.IMarkerNavigationService,s,1)}),define(ne[699],se([1,0,13,6,53,45,42,22,108]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarkerService=e.unsupportedSchemas=void 0,e.unsupportedSchemas=new Set([y.Schemas.inMemory,y.Schemas.vscodeSourceControl,y.Schemas.walkThrough,y.Schemas.walkThroughSnippet,y.Schemas.vscodeChatCodeBlock]);class b{constructor(){this._byResource=new E.ResourceMap,this._byOwner=new Map}set(t,i,s){let g=this._byResource.get(t);g||(g=new Map,this._byResource.set(t,g)),g.set(i,s);let c=this._byOwner.get(i);c||(c=new E.ResourceMap,this._byOwner.set(i,c)),c.set(t,s)}get(t,i){return this._byResource.get(t)?.get(i)}delete(t,i){let s=!1,g=!1;const c=this._byResource.get(t);c&&(s=c.delete(i));const l=this._byOwner.get(i);if(l&&(g=l.delete(t)),s!==g)throw new Error(\"illegal state\");return s&&g}values(t){return typeof t==\"string\"?this._byOwner.get(t)?.values()??I.Iterable.empty():m.URI.isUri(t)?this._byResource.get(t)?.values()??I.Iterable.empty():I.Iterable.map(I.Iterable.concat(...this._byOwner.values()),i=>i[1])}}class p{constructor(t){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new E.ResourceMap,this._service=t,this._subscription=t.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(t){for(const i of t){const s=this._data.get(i);s&&this._substract(s);const g=this._resourceStats(i);this._add(g),this._data.set(i,g)}}_resourceStats(t){const i={errors:0,warnings:0,infos:0,unknowns:0};if(e.unsupportedSchemas.has(t.scheme))return i;for(const{severity:s}of this._service.read({resource:t}))s===_.MarkerSeverity.Error?i.errors+=1:s===_.MarkerSeverity.Warning?i.warnings+=1:s===_.MarkerSeverity.Info?i.infos+=1:i.unknowns+=1;return i}_substract(t){this.errors-=t.errors,this.warnings-=t.warnings,this.infos-=t.infos,this.unknowns-=t.unknowns}_add(t){this.errors+=t.errors,this.warnings+=t.warnings,this.infos+=t.infos,this.unknowns+=t.unknowns}}class n{constructor(){this._onMarkerChanged=new k.DebounceEmitter({delay:0,merge:n._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new b,this._stats=new p(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(t,i){for(const s of i||[])this.changeOne(t,s,[])}changeOne(t,i,s){if((0,d.isFalsyOrEmpty)(s))this._data.delete(i,t)&&this._onMarkerChanged.fire([i]);else{const g=[];for(const c of s){const l=n._toMarker(t,i,c);l&&g.push(l)}this._data.set(i,t,g),this._onMarkerChanged.fire([i])}}static _toMarker(t,i,s){let{code:g,severity:c,message:l,source:a,startLineNumber:r,startColumn:u,endLineNumber:C,endColumn:f,relatedInformation:h,tags:v}=s;if(l)return r=r>0?r:1,u=u>0?u:1,C=C>=r?C:r,f=f>0?f:u,{resource:i,owner:t,code:g,severity:c,message:l,source:a,startLineNumber:r,startColumn:u,endLineNumber:C,endColumn:f,relatedInformation:h,tags:v}}changeAll(t,i){const s=[],g=this._data.values(t);if(g)for(const c of g){const l=I.Iterable.first(c);l&&(s.push(l.resource),this._data.delete(l.resource,t))}if((0,d.isNonEmptyArray)(i)){const c=new E.ResourceMap;for(const{resource:l,marker:a}of i){const r=n._toMarker(t,l,a);if(!r)continue;const u=c.get(l);u?u.push(r):(c.set(l,[r]),s.push(l))}for(const[l,a]of c)this._data.set(l,t,a)}s.length>0&&this._onMarkerChanged.fire(s)}read(t=Object.create(null)){let{owner:i,resource:s,severities:g,take:c}=t;if((!c||c<0)&&(c=-1),i&&s){const l=this._data.get(s,i);if(l){const a=[];for(const r of l)if(n._accept(r,g)){const u=a.push(r);if(c>0&&u===c)break}return a}else return[]}else if(!i&&!s){const l=[];for(const a of this._data.values())for(const r of a)if(n._accept(r,g)){const u=l.push(r);if(c>0&&u===c)return l}return l}else{const l=this._data.values(s??i),a=[];for(const r of l)for(const u of r)if(n._accept(u,g)){const C=a.push(u);if(c>0&&C===c)return a}return a}}static _accept(t,i){return i===void 0||(i&t.severity)===t.severity}static _merge(t){const i=new E.ResourceMap;for(const s of t)for(const g of s)i.set(g,!0);return Array.from(i.keys())}}e.MarkerService=n}),define(ne[50],se([1,0,111,7]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.NoOpNotification=e.INotificationService=e.Severity=void 0,e.Severity=d.default,e.INotificationService=(0,k.createDecorator)(\"notificationService\");class I{}e.NoOpNotification=I}),define(ne[396],se([1,0,5,258,41,346,8,6,2,152,268,3,12,58,7,31,50,508]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";var c;Object.defineProperty(e,\"__esModule\",{value:!0}),e.PostEditWidgetManager=void 0;let l=class extends _.Disposable{static{c=this}static{this.baseId=\"editor.widget.postEditWidget\"}constructor(u,C,f,h,v,w,S,L,D,T){super(),this.typeId=u,this.editor=C,this.showCommand=h,this.range=v,this.edits=w,this.onSelectNewEdit=S,this._contextMenuService=L,this._keybindingService=T,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=f.bindTo(D),this.visibleContext.set(!0),this._register((0,_.toDisposable)(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register((0,_.toDisposable)(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition(M=>{v.containsPosition(M.position)||this.dispose()})),this._register(m.Event.runAndSubscribe(T.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){const u=this._keybindingService.lookupKeybinding(this.showCommand.id)?.getLabel();this.button.element.title=this.showCommand.label+(u?` (${u})`:\"\")}create(){this.domNode=d.$(\".post-edit-widget\"),this.button=this._register(new k.Button(this.domNode,{supportIcons:!0})),this.button.label=\"$(insert)\",this._register(d.addDisposableListener(this.domNode,d.EventType.CLICK,()=>this.showSelector()))}getId(){return c.baseId+\".\"+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const u=d.getDomNodePagePosition(this.button.element);return{x:u.left+u.width,y:u.top+u.height}},getActions:()=>this.edits.allEdits.map((u,C)=>(0,I.toAction)({id:\"\",label:u.title,checked:C===this.edits.activeEditIndex,run:()=>{if(C!==this.edits.activeEditIndex)return this.onSelectNewEdit(C)}}))})}};l=c=ke([ce(7,t.IContextMenuService),ce(8,o.IContextKeyService),ce(9,s.IKeybindingService)],l);let a=class extends _.Disposable{constructor(u,C,f,h,v,w,S){super(),this._id=u,this._editor=C,this._visibleContext=f,this._showCommand=h,this._instantiationService=v,this._bulkEditService=w,this._notificationService=S,this._currentWidget=this._register(new _.MutableDisposable),this._register(m.Event.any(C.onDidChangeModel,C.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(u,C,f,h,v){const w=this._editor.getModel();if(!w||!u.length)return;const S=C.allEdits.at(C.activeEditIndex);if(!S)return;const L=async F=>{const x=this._editor.getModel();x&&(await x.undo(),this.applyEditAndShowIfNeeded(u,{activeEditIndex:F,allEdits:C.allEdits},f,h,v))},D=(F,x)=>{(0,y.isCancellationError)(F)||(this._notificationService.error(x),f&&this.show(u[0],C,L))};let T;try{T=await h(S,v)}catch(F){return D(F,(0,n.localize)(845,`Error resolving edit '{0}':\n{1}`,S.title,(0,E.toErrorMessage)(F)))}if(v.isCancellationRequested)return;const M=(0,p.createCombinedWorkspaceEdit)(w.uri,u,T),A=u[0],P=w.deltaDecorations([],[{range:A,options:{description:\"paste-line-suffix\",stickiness:0}}]);this._editor.focus();let N,O;try{N=await this._bulkEditService.apply(M,{editor:this._editor,token:v}),O=w.getDecorationRange(P[0])}catch(F){return D(F,(0,n.localize)(846,`Error applying edit '{0}':\n{1}`,S.title,(0,E.toErrorMessage)(F)))}finally{w.deltaDecorations(P,[])}v.isCancellationRequested||f&&N.isApplied&&C.allEdits.length>1&&this.show(O??A,C,L)}show(u,C,f){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(l,this._id,this._editor,this._visibleContext,this._showCommand,u,C,f))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};e.PostEditWidgetManager=a,e.PostEditWidgetManager=a=ke([ce(4,i.IInstantiationService),ce(5,b.IBulkEditService),ce(6,g.INotificationService)],a)}),define(ne[397],se([1,0,21,189]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.observableConfigValue=I,e.bindContextKey=E;function I(y,m,_){return(0,k.observableFromEventOpts)({debugName:()=>`Configuration Key \"${y}\"`},b=>_.onDidChangeConfiguration(p=>{p.affectsConfiguration(y)&&b(p)}),()=>_.getValue(y)??m)}function E(y,m,_){const b=y.bindTo(m);return(0,d.autorunOpts)({debugName:()=>`Set Context Key \"${y.key}\"`},p=>{b.set(_(p))})}}),define(ne[700],se([1,0,349,171,21,7]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.wrapInReloadableClass1=_;class y{constructor(n){this.instantiationService=n}init(...n){}}function m(p,n){return class extends n{constructor(){super(...arguments),this._autorun=void 0}init(...t){this._autorun=(0,I.autorunWithStore)((i,s)=>{const g=(0,k.readHotReloadableExport)(p(),i);s.add(this.instantiationService.createInstance(g,...t))})}dispose(){this._autorun?.dispose()}}}function _(p){return(0,d.isHotReloadEnabled)()?m(p,b):p()}let b=class extends y{constructor(n,o){super(o),this.init(n)}};b=ke([ce(1,E.IInstantiationService)],b)}),define(ne[59],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IOpenerService=void 0,e.extractSelection=k,e.IOpenerService=(0,d.createDecorator)(\"openerService\");function k(I){let E;const y=/^L?(\\d+)(?:,(\\d+))?(-L?(\\d+)(?:,(\\d+))?)?/.exec(I.fragment);return y&&(E={startLineNumber:parseInt(y[1]),startColumn:y[2]?parseInt(y[2]):1,endLineNumber:y[4]?parseInt(y[4]):void 0,endColumn:y[4]?y[5]?parseInt(y[5]):1:void 0},I=I.with({fragment:\"\"})),{selection:E,uri:I}}}),define(ne[701],se([1,0,5,52,18,73,45,252,42,48,22,34,24,673,59]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OpenerService=void 0;let s=class{constructor(a){this._commandService=a}async open(a,r){if(!(0,_.matchesScheme)(a,_.Schemas.command))return!1;if(!r?.allowCommands||(typeof a==\"string\"&&(a=p.URI.parse(a)),Array.isArray(r.allowCommands)&&!r.allowCommands.includes(a.path)))return!0;let u=[];try{u=(0,m.parse)(decodeURIComponent(a.query))}catch{try{u=(0,m.parse)(a.query)}catch{}}return Array.isArray(u)||(u=[u]),await this._commandService.executeCommand(a.path,...u),!0}};s=ke([ce(0,o.ICommandService)],s);let g=class{constructor(a){this._editorService=a}async open(a,r){typeof a==\"string\"&&(a=p.URI.parse(a));const{selection:u,uri:C}=(0,i.extractSelection)(a);return a=C,a.scheme===_.Schemas.file&&(a=(0,b.normalizePath)(a)),await this._editorService.openCodeEditor({resource:a,options:{selection:u,source:r?.fromUserGesture?t.EditorOpenSource.USER:t.EditorOpenSource.API,...r?.editorOptions}},this._editorService.getFocusedCodeEditor(),r?.openToSide),!0}};g=ke([ce(0,n.ICodeEditorService)],g);let c=class{constructor(a,r){this._openers=new E.LinkedList,this._validators=new E.LinkedList,this._resolvers=new E.LinkedList,this._resolvedUriTargets=new y.ResourceMap(u=>u.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new E.LinkedList,this._defaultExternalOpener={openExternal:async u=>((0,_.matchesSomeScheme)(u,_.Schemas.http,_.Schemas.https)?d.windowOpenNoOpener(u):k.mainWindow.location.href=u,!0)},this._openers.push({open:async(u,C)=>C?.openExternal||(0,_.matchesSomeScheme)(u,_.Schemas.mailto,_.Schemas.http,_.Schemas.https,_.Schemas.vsls)?(await this._doOpenExternal(u,C),!0):!1}),this._openers.push(new s(r)),this._openers.push(new g(a))}registerOpener(a){return{dispose:this._openers.unshift(a)}}async open(a,r){const u=typeof a==\"string\"?p.URI.parse(a):a,C=this._resolvedUriTargets.get(u)??a;for(const f of this._validators)if(!await f.shouldOpen(C,r))return!1;for(const f of this._openers)if(await f.open(a,r))return!0;return!1}async resolveExternalUri(a,r){for(const u of this._resolvers)try{const C=await u.resolveExternalUri(a,r);if(C)return this._resolvedUriTargets.has(C.resolved)||this._resolvedUriTargets.set(C.resolved,a),C}catch{}throw new Error(\"Could not resolve external URI: \"+a.toString())}async _doOpenExternal(a,r){const u=typeof a==\"string\"?p.URI.parse(a):a;let C;try{C=(await this.resolveExternalUri(u,r)).resolved}catch{C=u}let f;if(typeof a==\"string\"&&u.toString()===C.toString()?f=a:f=encodeURI(C.toString(!0)),r?.allowContributedOpeners){const h=typeof r?.allowContributedOpeners==\"string\"?r?.allowContributedOpeners:void 0;for(const v of this._externalOpeners)if(await v.openExternal(f,{sourceUri:u,preferredOpenerId:h},I.CancellationToken.None))return!0}return this._defaultExternalOpener.openExternal(f,{sourceUri:u},I.CancellationToken.None)}dispose(){this._validators.clear()}};e.OpenerService=c,e.OpenerService=c=ke([ce(0,n.ICodeEditorService),ce(1,o.ICommandService)],c)}),define(ne[702],se([1,0,5,93,47,69,6,2,59,44,118,543]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Link=void 0;let n=class extends m.Disposable{get enabled(){return this._enabled}set enabled(t){t?(this.el.setAttribute(\"aria-disabled\",\"false\"),this.el.tabIndex=0,this.el.style.pointerEvents=\"auto\",this.el.style.opacity=\"1\",this.el.style.cursor=\"pointer\",this._enabled=!1):(this.el.setAttribute(\"aria-disabled\",\"true\"),this.el.tabIndex=-1,this.el.style.pointerEvents=\"none\",this.el.style.opacity=\"0.4\",this.el.style.cursor=\"default\",this._enabled=!0),this._enabled=t}constructor(t,i,s={},g,c){super(),this._link=i,this._hoverService=g,this._enabled=!0,this.el=(0,d.append)(t,(0,d.$)(\"a.monaco-link\",{tabIndex:i.tabIndex??0,href:i.href},i.label)),this.hoverDelegate=s.hoverDelegate??(0,b.getDefaultHoverDelegate)(\"mouse\"),this.setTooltip(i.title),this.el.setAttribute(\"role\",\"button\");const l=this._register(new k.DomEmitter(this.el,\"click\")),a=this._register(new k.DomEmitter(this.el,\"keypress\")),r=y.Event.chain(a.event,f=>f.map(h=>new I.StandardKeyboardEvent(h)).filter(h=>h.keyCode===3)),u=this._register(new k.DomEmitter(this.el,E.EventType.Tap)).event;this._register(E.Gesture.addTarget(this.el));const C=y.Event.any(l.event,r,u);this._register(C(f=>{this.enabled&&(d.EventHelper.stop(f,!0),s?.opener?s.opener(this._link.href):c.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(t){this.hoverDelegate.showNativeHover?this.el.title=t??\"\":!this.hover&&t?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,t)):this.hover&&this.hover.update(t)}};e.Link=n,e.Link=n=ke([ce(3,p.IHoverService),ce(4,_.IOpenerService)],n)}),define(ne[96],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IEditorProgressService=e.Progress=e.emptyProgressRunner=e.IProgressService=void 0,e.IProgressService=(0,d.createDecorator)(\"progressService\"),e.emptyProgressRunner=Object.freeze({total(){},worked(){},done(){}});class k{static{this.None=Object.freeze({report(){}})}constructor(E){this.callback=E}report(E){this._value=E,this.callback(this._value)}}e.Progress=k,e.IEditorProgressService=(0,d.createDecorator)(\"editorProgressService\")}),define(ne[703],se([1,0,14,18,2,19]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PickerQuickAccessProvider=e.TriggerAction=void 0;var y;(function(p){p[p.NO_ACTION=0]=\"NO_ACTION\",p[p.CLOSE_PICKER=1]=\"CLOSE_PICKER\",p[p.REFRESH_PICKER=2]=\"REFRESH_PICKER\",p[p.REMOVE_ITEM=3]=\"REMOVE_ITEM\"})(y||(e.TriggerAction=y={}));function m(p){const n=p;return Array.isArray(n.items)}function _(p){const n=p;return!!n.picks&&n.additionalPicks instanceof Promise}class b extends I.Disposable{constructor(n,o){super(),this.prefix=n,this.options=o}provide(n,o,t){const i=new I.DisposableStore;n.canAcceptInBackground=!!this.options?.canAcceptInBackground,n.matchOnLabel=n.matchOnDescription=n.matchOnDetail=n.sortByLabel=!1;let s;const g=i.add(new I.MutableDisposable),c=async()=>{const a=g.value=new I.DisposableStore;s?.dispose(!0),n.busy=!1,s=new k.CancellationTokenSource(o);const r=s.token;let u=n.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(u=u.trim());const C=this._getPicks(u,a,r,t),f=(v,w)=>{let S,L;if(m(v)?(S=v.items,L=v.active):S=v,S.length===0){if(w)return!1;(u.length>0||n.hideInput)&&this.options?.noResultsPick&&((0,E.isFunction)(this.options.noResultsPick)?S=[this.options.noResultsPick(u)]:S=[this.options.noResultsPick])}return n.items=S,L&&(n.activeItems=[L]),!0},h=async v=>{let w=!1,S=!1;await Promise.all([(async()=>{typeof v.mergeDelay==\"number\"&&(await(0,d.timeout)(v.mergeDelay),r.isCancellationRequested)||S||(w=f(v.picks,!0))})(),(async()=>{n.busy=!0;try{const L=await v.additionalPicks;if(r.isCancellationRequested)return;let D,T;m(v.picks)?(D=v.picks.items,T=v.picks.active):D=v.picks;let M,A;if(m(L)?(M=L.items,A=L.active):M=L,M.length>0||!w){let P;if(!T&&!A){const N=n.activeItems[0];N&&D.indexOf(N)!==-1&&(P=N)}f({items:[...D,...M],active:T||A||P})}}finally{r.isCancellationRequested||(n.busy=!1),S=!0}})()])};if(C!==null)if(_(C))await h(C);else if(!(C instanceof Promise))f(C);else{n.busy=!0;try{const v=await C;if(r.isCancellationRequested)return;_(v)?await h(v):f(v)}finally{r.isCancellationRequested||(n.busy=!1)}}};i.add(n.onDidChangeValue(()=>c())),c(),i.add(n.onDidAccept(a=>{if(t?.handleAccept){a.inBackground||n.hide(),t.handleAccept?.(n.activeItems[0]);return}const[r]=n.selectedItems;typeof r?.accept==\"function\"&&(a.inBackground||n.hide(),r.accept(n.keyMods,a))}));const l=async(a,r)=>{if(typeof r.trigger!=\"function\")return;const u=r.buttons?.indexOf(a)??-1;if(u>=0){const C=r.trigger(u,n.keyMods),f=typeof C==\"number\"?C:await C;if(o.isCancellationRequested)return;switch(f){case y.NO_ACTION:break;case y.CLOSE_PICKER:n.hide();break;case y.REFRESH_PICKER:c();break;case y.REMOVE_ITEM:{const h=n.items.indexOf(r);if(h!==-1){const v=n.items.slice(),w=v.splice(h,1),S=n.activeItems.filter(D=>D!==w[0]),L=n.keepScrollPosition;n.keepScrollPosition=!0,n.items=v,S&&(n.activeItems=S),n.keepScrollPosition=L}break}}}};return i.add(n.onDidTriggerItemButton(({button:a,item:r})=>l(a,r))),i.add(n.onDidTriggerSeparatorButton(({button:a,separator:r})=>l(a,r))),i}}e.PickerQuickAccessProvider=b}),define(ne[704],se([1,0,5,260,2,111,228]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickInputBox=void 0;const y=d.$;class m extends I.Disposable{constructor(b,p,n){super(),this.parent=b,this.onKeyDown=t=>d.addStandardDisposableListener(this.findInput.inputBox.inputElement,d.EventType.KEY_DOWN,t),this.onDidChange=t=>this.findInput.onDidChange(t),this.container=d.append(this.parent,y(\".quick-input-box\")),this.findInput=this._register(new k.FindInput(this.container,void 0,{label:\"\",inputBoxStyles:p,toggleStyles:n}));const o=this.findInput.inputBox.inputElement;o.role=\"combobox\",o.ariaHasPopup=\"menu\",o.ariaAutoComplete=\"list\",o.ariaExpanded=\"true\"}get value(){return this.findInput.getValue()}set value(b){this.findInput.setValue(b)}select(b=null){this.findInput.inputBox.select(b)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute(\"placeholder\")||\"\"}set placeholder(b){this.findInput.inputBox.setPlaceHolder(b)}get password(){return this.findInput.inputBox.inputElement.type===\"password\"}set password(b){this.findInput.inputBox.inputElement.type=b?\"password\":\"text\"}set enabled(b){this.findInput.inputBox.inputElement.toggleAttribute(\"readonly\",!b)}set toggles(b){this.findInput.setAdditionalToggles(b)}setAttribute(b,p){this.findInput.inputBox.inputElement.setAttribute(b,p)}showDecoration(b){b===E.default.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:b===E.default.Info?1:b===E.default.Warning?2:3,content:\"\"})}stylesForType(b){return this.findInput.inputBox.stylesForType(b===E.default.Info?1:b===E.default.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}e.QuickInputBox=m}),define(ne[398],se([1,0,5,93,6,47,69,114,187,446,3,228]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.quickInputButtonToAction=i,e.renderQuickInputDescription=s;const n={},o=new _.IdGenerator(\"quick-input-button-icon-\");function t(g){if(!g)return;let c;const l=g.dark.toString();return n[l]?c=n[l]:(c=o.nextId(),d.createCSSRule(`.${c}, .hc-light .${c}`,`background-image: ${d.asCSSUrl(g.light||g.dark)}`),d.createCSSRule(`.vs-dark .${c}, .hc-black .${c}`,`background-image: ${d.asCSSUrl(g.dark)}`),n[l]=c),c}function i(g,c,l){let a=g.iconClass||t(g.iconPath);return g.alwaysVisible&&(a=a?`${a} always-visible`:\"always-visible\"),{id:c,label:\"\",tooltip:g.tooltip||\"\",class:a,enabled:!0,run:l}}function s(g,c,l){d.reset(c);const a=(0,b.parseLinkedText)(g);let r=0;for(const u of a.nodes)if(typeof u==\"string\")c.append(...(0,m.renderLabelWithIcons)(u));else{let C=u.title;!C&&u.href.startsWith(\"command:\")?C=(0,p.localize)(1598,\"Click to execute command '{0}'\",u.href.substring(8)):C||(C=u.href);const f=d.$(\"a\",{href:u.href,title:C,tabIndex:r++},u.label);f.style.textDecoration=\"underline\";const h=D=>{d.isEventLike(D)&&d.EventHelper.stop(D,!0),l.callback(u.href)},v=l.disposables.add(new k.DomEmitter(f,d.EventType.CLICK)).event,w=l.disposables.add(new k.DomEmitter(f,d.EventType.KEY_DOWN)).event,S=I.Event.chain(w,D=>D.filter(T=>{const M=new E.StandardKeyboardEvent(T);return M.equals(10)||M.equals(3)}));l.disposables.add(y.Gesture.addTarget(f));const L=l.disposables.add(new k.DomEmitter(f,y.EventType.Tap)).event;I.Event.any(v,L,S)(h,null,l.disposables),c.appendChild(f)}}}),define(ne[66],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IQuickInputService=e.quickPickItemScorerAccessor=e.QuickPickItemScorerAccessor=e.QuickInputButtonLocation=e.QuickPickFocus=e.ItemActivation=e.QuickInputHideReason=e.NO_KEY_MODS=void 0,e.NO_KEY_MODS={ctrlCmd:!1,alt:!1};var k;(function(_){_[_.Blur=1]=\"Blur\",_[_.Gesture=2]=\"Gesture\",_[_.Other=3]=\"Other\"})(k||(e.QuickInputHideReason=k={}));var I;(function(_){_[_.NONE=0]=\"NONE\",_[_.FIRST=1]=\"FIRST\",_[_.SECOND=2]=\"SECOND\",_[_.LAST=3]=\"LAST\"})(I||(e.ItemActivation=I={}));var E;(function(_){_[_.First=1]=\"First\",_[_.Second=2]=\"Second\",_[_.Last=3]=\"Last\",_[_.Next=4]=\"Next\",_[_.Previous=5]=\"Previous\",_[_.NextPage=6]=\"NextPage\",_[_.PreviousPage=7]=\"PreviousPage\",_[_.NextSeparator=8]=\"NextSeparator\",_[_.PreviousSeparator=9]=\"PreviousSeparator\"})(E||(e.QuickPickFocus=E={}));var y;(function(_){_[_.Title=1]=\"Title\",_[_.Inline=2]=\"Inline\"})(y||(e.QuickInputButtonLocation=y={}));class m{constructor(b){this.options=b}}e.QuickPickItemScorerAccessor=m,e.quickPickItemScorerAccessor=new m,e.IQuickInputService=(0,d.createDecorator)(\"quickInputService\")}),define(ne[272],se([1,0,5,47,175,13,14,26,6,2,16,111,30,3,66,398,28,118,12,228]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickInputHoverDelegate=e.InputBox=e.QuickPick=e.backButton=e.endOfQuickInputBoxContext=e.EndOfQuickInputBoxContextKey=e.endOfQuickInputBoxContextKeyValue=e.QuickInputTypeContextKey=e.quickInputTypeContextKeyValue=e.inQuickInputContext=e.InQuickInputContextKey=e.inQuickInputContextKeyValue=void 0,e.inQuickInputContextKeyValue=\"inQuickInput\",e.InQuickInputContextKey=new l.RawContextKey(e.inQuickInputContextKeyValue,!1,(0,t.localize)(1580,\"Whether keyboard focus is inside the quick input control\")),e.inQuickInputContext=l.ContextKeyExpr.has(e.inQuickInputContextKeyValue),e.quickInputTypeContextKeyValue=\"quickInputType\",e.QuickInputTypeContextKey=new l.RawContextKey(e.quickInputTypeContextKeyValue,void 0,(0,t.localize)(1581,\"The type of the currently visible quick input\")),e.endOfQuickInputBoxContextKeyValue=\"cursorAtEndOfQuickInputBox\",e.EndOfQuickInputBoxContextKey=new l.RawContextKey(e.endOfQuickInputBoxContextKeyValue,!1,(0,t.localize)(1582,\"Whether the cursor in the quick input is at the end of the input box\")),e.endOfQuickInputBoxContext=l.ContextKeyExpr.has(e.endOfQuickInputBoxContextKeyValue),e.backButton={iconClass:o.ThemeIcon.asClassName(m.Codicon.quickInputBack),tooltip:(0,t.localize)(1583,\"Back\"),handle:-1};class a extends b.Disposable{static{this.noPromptMessage=(0,t.localize)(1584,\"Press 'Enter' to confirm your input or 'Escape' to cancel\")}constructor(h){super(),this.ui=h,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=a.noPromptMessage,this._severity=n.default.Ignore,this.onDidTriggerButtonEmitter=this._register(new _.Emitter),this.onDidHideEmitter=this._register(new _.Emitter),this.onWillHideEmitter=this._register(new _.Emitter),this.onDisposeEmitter=this._register(new _.Emitter),this.visibleDisposables=this._register(new b.DisposableStore),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(h){this._title=h,this.update()}get description(){return this._description}set description(h){this._description=h,this.update()}get step(){return this._steps}set step(h){this._steps=h,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(h){this._totalSteps=h,this.update()}get enabled(){return this._enabled}set enabled(h){this._enabled=h,this.update()}get contextKey(){return this._contextKey}set contextKey(h){this._contextKey=h,this.update()}get busy(){return this._busy}set busy(h){this._busy=h,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(h){const v=this._ignoreFocusOut!==h&&!p.isIOS;this._ignoreFocusOut=h&&!p.isIOS,v&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons]}set buttons(h){this._leftButtons=h.filter(v=>v===e.backButton),this._rightButtons=h.filter(v=>v!==e.backButton&&v.location!==i.QuickInputButtonLocation.Inline),this._inlineButtons=h.filter(v=>v.location===i.QuickInputButtonLocation.Inline),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(h){this._toggles=h??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(h){this._validationMessage=h,this.update()}get severity(){return this._severity}set severity(h){this._severity=h,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(h=>{this.buttons.indexOf(h)!==-1&&this.onDidTriggerButtonEmitter.fire(h)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(h=i.QuickInputHideReason.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:h})}willHide(h=i.QuickInputHideReason.Other){this.onWillHideEmitter.fire({reason:h})}update(){if(!this.visible)return;const h=this.getTitle();h&&this.ui.title.textContent!==h?this.ui.title.textContent=h:!h&&this.ui.title.innerHTML!==\"&nbsp;\"&&(this.ui.title.innerText=\"\\xA0\");const v=this.getDescription();if(this.ui.description1.textContent!==v&&(this.ui.description1.textContent=v),this.ui.description2.textContent!==v&&(this.ui.description2.textContent=v),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?d.reset(this.ui.widget,this._widget):d.reset(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new y.TimeoutTimer,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const S=this._leftButtons.map((T,M)=>(0,s.quickInputButtonToAction)(T,`id-${M}`,async()=>this.onDidTriggerButtonEmitter.fire(T)));this.ui.leftActionBar.push(S,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const L=this._rightButtons.map((T,M)=>(0,s.quickInputButtonToAction)(T,`id-${M}`,async()=>this.onDidTriggerButtonEmitter.fire(T)));this.ui.rightActionBar.push(L,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();const D=this._inlineButtons.map((T,M)=>(0,s.quickInputButtonToAction)(T,`id-${M}`,async()=>this.onDidTriggerButtonEmitter.fire(T)));this.ui.inlineActionBar.push(D,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const S=this.toggles?.filter(L=>L instanceof I.Toggle)??[];this.ui.inputBox.toggles=S}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const w=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==w&&(this._lastValidationMessage=w,d.reset(this.ui.message),(0,s.renderQuickInputDescription)(w,this.ui.message,{callback:S=>{this.ui.linkOpenerDelegate(S)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():\"\"}getDescription(){return this.description||\"\"}getSteps(){return this.step&&this.totalSteps?(0,t.localize)(1585,\"{0}/{1}\",this.step,this.totalSteps):this.step?String(this.step):\"\"}showMessageDecoration(h){if(this.ui.inputBox.showDecoration(h),h!==n.default.Ignore){const v=this.ui.inputBox.stylesForType(h);this.ui.message.style.color=v.foreground?`${v.foreground}`:\"\",this.ui.message.style.backgroundColor=v.background?`${v.background}`:\"\",this.ui.message.style.border=v.border?`1px solid ${v.border}`:\"\",this.ui.message.style.marginBottom=\"-2px\"}else this.ui.message.style.color=\"\",this.ui.message.style.backgroundColor=\"\",this.ui.message.style.border=\"\",this.ui.message.style.marginBottom=\"\"}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class r extends a{constructor(){super(...arguments),this._value=\"\",this.onDidChangeValueEmitter=this._register(new _.Emitter),this.onWillAcceptEmitter=this._register(new _.Emitter),this.onDidAcceptEmitter=this._register(new _.Emitter),this.onDidCustomEmitter=this._register(new _.Emitter),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=\"fuzzy\",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=i.ItemActivation.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new _.Emitter),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new _.Emitter),this.onDidTriggerItemButtonEmitter=this._register(new _.Emitter),this.onDidTriggerSeparatorButtonEmitter=this._register(new _.Emitter),this.valueSelectionUpdated=!0,this._ok=\"default\",this._customButton=!1,this._focusEventBufferer=new _.EventBufferer,this.type=\"quickPick\",this.filterValue=h=>h,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}static{this.DEFAULT_ARIA_LABEL=(0,t.localize)(1586,\"Type to narrow down results.\")}get quickNavigate(){return this._quickNavigate}set quickNavigate(h){this._quickNavigate=h,this.update()}get value(){return this._value}set value(h){this.doSetValue(h)}doSetValue(h,v){this._value!==h&&(this._value=h,v||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(h){this._ariaLabel=h,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(h){this._placeholder=h,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(h){this.ui.list.scrollTop=h}set items(h){this._items=h,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(h){this._canSelectMany=h,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(h){this._canAcceptInBackground=h}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(h){this._matchOnDescription=h,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(h){this._matchOnDetail=h,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(h){this._matchOnLabel=h,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(h){this._matchOnLabelMode=h,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(h){this._sortByLabel=h,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(h){this._keepScrollPosition=h}get itemActivation(){return this._itemActivation}set itemActivation(h){this._itemActivation=h}get activeItems(){return this._activeItems}set activeItems(h){this._activeItems=h,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(h){this._selectedItems=h,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?i.NO_KEY_MODS:this.ui.keyMods}get valueSelection(){const h=this.ui.inputBox.getSelection();if(h)return[h.start,h.end]}set valueSelection(h){this._valueSelection=h,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(h){this._customButton=h,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(h){this._customButtonLabel=h,this.update()}get customHover(){return this._customButtonHover}set customHover(h){this._customButtonHover=h,this.update()}get ok(){return this._ok}set ok(h){this._ok=h,this.update()}get hideInput(){return!!this._hideInput}set hideInput(h){this._hideInput=h,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(i.QuickPickFocus.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(h=>{this.doSetValue(h,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(h,v)=>v)(h=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&(0,E.equals)(h,this._activeItems,(v,w)=>v===w)||(this._activeItems=h,this.onDidChangeActiveEmitter.fire(h))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:h,event:v})=>{if(this.canSelectMany){h.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&(0,E.equals)(h,this._selectedItems,(w,S)=>w===S)||(this._selectedItems=h,this.onDidChangeSelectionEmitter.fire(h),h.length&&this.handleAccept(d.isMouseEvent(v)&&v.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(h=>{!this.canSelectMany||!this.visible||this.selectedItemsToConfirm!==this._selectedItems&&(0,E.equals)(h,this._selectedItems,(v,w)=>v===w)||(this._selectedItems=h,this.onDidChangeSelectionEmitter.fire(h))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(h=>this.onDidTriggerItemButtonEmitter.fire(h))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(h=>this.onDidTriggerSeparatorButtonEmitter.fire(h))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(h){let v=!1;this.onWillAcceptEmitter.fire({veto:()=>v=!0}),v||this.onDidAcceptEmitter.fire({inBackground:h})}registerQuickNavigation(){return d.addDisposableListener(this.ui.container,d.EventType.KEY_UP,h=>{if(this.canSelectMany||!this._quickNavigate)return;const v=new k.StandardKeyboardEvent(h),w=v.keyCode;this._quickNavigate.keybindings.some(D=>{const T=D.getChords();return T.length>1?!1:T[0].shiftKey&&w===4?!(v.ctrlKey||v.altKey||v.metaKey):!!(T[0].altKey&&w===6||T[0].ctrlKey&&w===5||T[0].metaKey&&w===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const h=this.keepScrollPosition?this.scrollTop:0,v=!!this.description,w={title:!!this.title||!!this.step||!!this.titleButtons.length,description:v,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||v,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok===\"default\"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(w),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||\"\")&&(this.ui.inputBox.placeholder=this.placeholder||\"\");let S=this.ariaLabel;!S&&w.inputBox&&(S=this.placeholder||r.DEFAULT_ARIA_LABEL,this.title&&(S+=` - ${this.title}`)),this.ui.list.ariaLabel!==S&&(this.ui.list.ariaLabel=S??null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case i.ItemActivation.NONE:this._itemActivation=i.ItemActivation.FIRST;break;case i.ItemActivation.SECOND:this.ui.list.focus(i.QuickPickFocus.Second),this._itemActivation=i.ItemActivation.FIRST;break;case i.ItemActivation.LAST:this.ui.list.focus(i.QuickPickFocus.Last),this._itemActivation=i.ItemActivation.FIRST;break;default:this.trySelectFirst();break}})),this.ui.container.classList.contains(\"show-checkboxes\")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||\"\",this.ui.customButton.element.title=this.customHover||\"\",w.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(i.QuickPickFocus.First)),this.keepScrollPosition&&(this.scrollTop=h)}focus(h){this.ui.list.focus(h),this.canSelectMany&&this.ui.list.domFocus()}accept(h){h&&!this._canAcceptInBackground||this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(h??!1))}}e.QuickPick=r;class u extends a{constructor(){super(...arguments),this._value=\"\",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new _.Emitter),this.onDidAcceptEmitter=this._register(new _.Emitter),this.type=\"inputBox\",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(h){this._value=h||\"\",this.update()}get placeholder(){return this._placeholder}set placeholder(h){this._placeholder=h,this.update()}get password(){return this._password}set password(h){this._password=h,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(h=>{h!==this.value&&(this._value=h,this.onDidValueChangeEmitter.fire(h))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove(\"hidden-input\");const h={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(h),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||\"\")&&(this.ui.inputBox.placeholder=this.placeholder||\"\"),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}e.InputBox=u;let C=class extends c.WorkbenchHoverDelegate{constructor(h,v){super(\"element\",!1,w=>this.getOverrideOptions(w),h,v)}getOverrideOptions(h){const v=(d.isHTMLElement(h.content)?h.content.textContent??\"\":typeof h.content==\"string\"?h.content:h.content.value).includes(`\n`);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:v,skipFadeInAnimation:!0}}}};e.QuickInputHoverDelegate=C,e.QuickInputHoverDelegate=C=ke([ce(0,g.IConfigurationService),ce(1,c.IHoverService)],C)}),define(ne[38],se([1,0,90,19]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Registry=void 0;class I{constructor(){this.data=new Map}add(y,m){d.ok(k.isString(y)),d.ok(k.isObject(m)),d.ok(!this.data.has(y),\"There is already an extension with this id\"),this.data.set(y,m)}as(y){return this.data.get(y)||null}}e.Registry=new I}),define(ne[399],se([1,0,38]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LocalSelectionTransfer=e.Extensions=e.CodeDataTransfers=void 0,e.CodeDataTransfers={EDITORS:\"CodeEditors\",FILES:\"CodeFiles\"};class k{}e.Extensions={DragAndDropContribution:\"workbench.contributions.dragAndDrop\"},d.Registry.add(e.Extensions.DragAndDropContribution,new k);class I{static{this.INSTANCE=new I}constructor(){}static getInstance(){return I.INSTANCE}hasData(y){return y&&y===this.proto}getData(y){if(this.hasData(y))return this.data}}e.LocalSelectionTransfer=I}),define(ne[400],se([1,0,224,194,128,22,399]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.toVSDataTransfer=m,e.toExternalVSDataTransfer=p;function m(n){const o=new k.VSDataTransfer;for(const t of n.items){const i=t.type;if(t.kind===\"string\"){const s=new Promise(g=>t.getAsString(g));o.append(i,(0,k.createStringDataTransferItem)(s))}else if(t.kind===\"file\"){const s=t.getAsFile();s&&o.append(i,_(s))}}return o}function _(n){const o=n.path?E.URI.parse(n.path):void 0;return(0,k.createFileDataTransferItem)(n.name,o,async()=>new Uint8Array(await n.arrayBuffer()))}const b=Object.freeze([y.CodeDataTransfers.EDITORS,y.CodeDataTransfers.FILES,d.DataTransfers.RESOURCES,d.DataTransfers.INTERNAL_URI_LIST]);function p(n,o=!1){const t=m(n),i=t.get(d.DataTransfers.INTERNAL_URI_LIST);if(i)t.replace(I.Mimes.uriList,i);else if(o||!t.has(I.Mimes.uriList)){const s=[];for(const g of n.items){const c=g.getAsFile();if(c){const l=c.path;try{l?s.push(E.URI.file(l).toString()):s.push(E.URI.parse(c.name,!0).toString())}catch{}}}s.length&&t.replace(I.Mimes.uriList,(0,k.createStringDataTransferItem)(k.UriList.create(s)))}for(const s of b)t.delete(s);return t}}),define(ne[273],se([1,0,6,38]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Extensions=void 0,e.Extensions={JSONContribution:\"base.contributions.json\"};function I(m){return m.length>0&&m.charAt(m.length-1)===\"#\"?m.substring(0,m.length-1):m}class E{constructor(){this._onDidChangeSchema=new d.Emitter,this.schemasById={}}registerSchema(_,b){this.schemasById[I(_)]=b,this._onDidChangeSchema.fire(_)}notifySchemaChanged(_){this._onDidChangeSchema.fire(_)}}const y=new E;k.Registry.add(e.Extensions.JSONContribution,y)}),define(ne[109],se([1,0,13,6,19,3,28,273,38]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OVERRIDE_PROPERTY_REGEX=e.OVERRIDE_PROPERTY_PATTERN=e.resourceLanguageSettingsSchemaId=e.resourceSettings=e.windowSettings=e.machineOverridableSettings=e.machineSettings=e.applicationSettings=e.allSettings=e.Extensions=void 0,e.overrideIdentifiersFromKey=t,e.getDefaultValue=i,e.validateProperty=g,e.Extensions={Configuration:\"base.contributions.configuration\"},e.allSettings={properties:{},patternProperties:{}},e.applicationSettings={properties:{},patternProperties:{}},e.machineSettings={properties:{},patternProperties:{}},e.machineOverridableSettings={properties:{},patternProperties:{}},e.windowSettings={properties:{},patternProperties:{}},e.resourceSettings={properties:{},patternProperties:{}},e.resourceLanguageSettingsSchemaId=\"vscode://schemas/settings/resourceLanguage\";const b=_.Registry.as(m.Extensions.JSONContribution);class p{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new k.Emitter,this._onDidUpdateConfiguration=new k.Emitter,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:\"defaultOverrides\",title:E.localize(1503,\"Default Language Configuration Overrides\"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},b.registerSchema(e.resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(l,a=!0){this.registerConfigurations([l],a)}registerConfigurations(l,a=!0){const r=new Set;this.doRegisterConfigurations(l,a,r),b.registerSchema(e.resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:r})}registerDefaultConfigurations(l){const a=new Set;this.doRegisterDefaultConfigurations(l,a),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:a,defaultsOverrides:!0})}doRegisterDefaultConfigurations(l,a){this.registeredConfigurationDefaults.push(...l);const r=[];for(const{overrides:u,source:C}of l)for(const f in u){a.add(f);const h=this.configurationDefaultsOverrides.get(f)??this.configurationDefaultsOverrides.set(f,{configurationDefaultOverrides:[]}).get(f),v=u[f];if(h.configurationDefaultOverrides.push({value:v,source:C}),e.OVERRIDE_PROPERTY_REGEX.test(f)){const w=this.mergeDefaultConfigurationsForOverrideIdentifier(f,v,C,h.configurationDefaultOverrideValue);if(!w)continue;h.configurationDefaultOverrideValue=w,this.updateDefaultOverrideProperty(f,w,C),r.push(...t(f))}else{const w=this.mergeDefaultConfigurationsForConfigurationProperty(f,v,C,h.configurationDefaultOverrideValue);if(!w)continue;h.configurationDefaultOverrideValue=w;const S=this.configurationProperties[f];S&&(this.updatePropertyDefaultValue(f,S),this.updateSchema(f,S))}}this.doRegisterOverrideIdentifiers(r)}updateDefaultOverrideProperty(l,a,r){const u={type:\"object\",default:a.value,description:E.localize(1504,\"Configure settings to be overridden for the {0} language.\",(0,y.getLanguageTagSettingPlainKey)(l)),$ref:e.resourceLanguageSettingsSchemaId,defaultDefaultValue:a.value,source:r,defaultValueSource:r};this.configurationProperties[l]=u,this.defaultLanguageConfigurationOverridesNode.properties[l]=u}mergeDefaultConfigurationsForOverrideIdentifier(l,a,r,u){const C=u?.value||{},f=u?.source??new Map;if(!(f instanceof Map)){console.error(\"objectConfigurationSources is not a Map\");return}for(const h of Object.keys(a)){const v=a[h];if(I.isObject(v)&&(I.isUndefined(C[h])||I.isObject(C[h]))){if(C[h]={...C[h]??{},...v},r)for(const S in v)f.set(`${h}.${S}`,r)}else C[h]=v,r?f.set(h,r):f.delete(h)}return{value:C,source:f}}mergeDefaultConfigurationsForConfigurationProperty(l,a,r,u){const C=this.configurationProperties[l],f=u?.value??C?.defaultDefaultValue;let h=r;if(I.isObject(a)&&(C!==void 0&&C.type===\"object\"||C===void 0&&(I.isUndefined(f)||I.isObject(f)))){if(h=u?.source??new Map,!(h instanceof Map)){console.error(\"defaultValueSource is not a Map\");return}for(const w in a)r&&h.set(`${l}.${w}`,r);a={...I.isObject(f)?f:{},...a}}return{value:a,source:h}}registerOverrideIdentifiers(l){this.doRegisterOverrideIdentifiers(l),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(l){for(const a of l)this.overrideIdentifiers.add(a);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(l,a,r){l.forEach(u=>{this.validateAndRegisterProperties(u,a,u.extensionInfo,u.restrictedProperties,void 0,r),this.configurationContributors.push(u),this.registerJSONConfiguration(u)})}validateAndRegisterProperties(l,a=!0,r,u,C=3,f){C=I.isUndefinedOrNull(l.scope)?C:l.scope;const h=l.properties;if(h)for(const w in h){const S=h[w];if(a&&g(w,S)){delete h[w];continue}if(S.source=r,S.defaultDefaultValue=h[w].default,this.updatePropertyDefaultValue(w,S),e.OVERRIDE_PROPERTY_REGEX.test(w)?S.scope=void 0:(S.scope=I.isUndefinedOrNull(S.scope)?C:S.scope,S.restricted=I.isUndefinedOrNull(S.restricted)?!!u?.includes(w):S.restricted),h[w].hasOwnProperty(\"included\")&&!h[w].included){this.excludedConfigurationProperties[w]=h[w],delete h[w];continue}else this.configurationProperties[w]=h[w],h[w].policy?.name&&this.policyConfigurations.set(h[w].policy.name,w);!h[w].deprecationMessage&&h[w].markdownDeprecationMessage&&(h[w].deprecationMessage=h[w].markdownDeprecationMessage),f.add(w)}const v=l.allOf;if(v)for(const w of v)this.validateAndRegisterProperties(w,a,r,u,C,f)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(l){const a=r=>{const u=r.properties;if(u)for(const f in u)this.updateSchema(f,u[f]);r.allOf?.forEach(a)};a(l)}updateSchema(l,a){switch(e.allSettings.properties[l]=a,a.scope){case 1:e.applicationSettings.properties[l]=a;break;case 2:e.machineSettings.properties[l]=a;break;case 6:e.machineOverridableSettings.properties[l]=a;break;case 3:e.windowSettings.properties[l]=a;break;case 4:e.resourceSettings.properties[l]=a;break;case 5:e.resourceSettings.properties[l]=a,this.resourceLanguageSettingsSchema.properties[l]=a;break}}updateOverridePropertyPatternKey(){for(const l of this.overrideIdentifiers.values()){const a=`[${l}]`,r={type:\"object\",description:E.localize(1505,\"Configure editor settings to be overridden for a language.\"),errorMessage:E.localize(1506,\"This setting does not support per-language configuration.\"),$ref:e.resourceLanguageSettingsSchemaId};this.updatePropertyDefaultValue(a,r),e.allSettings.properties[a]=r,e.applicationSettings.properties[a]=r,e.machineSettings.properties[a]=r,e.machineOverridableSettings.properties[a]=r,e.windowSettings.properties[a]=r,e.resourceSettings.properties[a]=r}}registerOverridePropertyPatternKey(){const l={type:\"object\",description:E.localize(1507,\"Configure editor settings to be overridden for a language.\"),errorMessage:E.localize(1508,\"This setting does not support per-language configuration.\"),$ref:e.resourceLanguageSettingsSchemaId};e.allSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.applicationSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.machineSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.machineOverridableSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.windowSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,e.resourceSettings.patternProperties[e.OVERRIDE_PROPERTY_PATTERN]=l,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(l,a){const r=this.configurationDefaultsOverrides.get(l)?.configurationDefaultOverrideValue;let u,C;r&&(!a.disallowConfigurationDefault||!r.source)&&(u=r.value,C=r.source),I.isUndefined(u)&&(u=a.defaultDefaultValue,C=void 0),I.isUndefined(u)&&(u=i(a.type)),a.default=u,a.defaultValueSource=C}}const n=\"\\\\[([^\\\\]]+)\\\\]\",o=new RegExp(n,\"g\");e.OVERRIDE_PROPERTY_PATTERN=`^(${n})+$`,e.OVERRIDE_PROPERTY_REGEX=new RegExp(e.OVERRIDE_PROPERTY_PATTERN);function t(c){const l=[];if(e.OVERRIDE_PROPERTY_REGEX.test(c)){let a=o.exec(c);for(;a?.length;){const r=a[1].trim();r&&l.push(r),a=o.exec(c)}}return(0,d.distinct)(l)}function i(c){switch(Array.isArray(c)?c[0]:c){case\"boolean\":return!1;case\"integer\":case\"number\":return 0;case\"string\":return\"\";case\"array\":return[];case\"object\":return{};default:return null}}const s=new p;_.Registry.add(e.Extensions.Configuration,s);function g(c,l){return c.trim()?e.OVERRIDE_PROPERTY_REGEX.test(c)?E.localize(1510,\"Cannot register '{0}'. This matches property pattern '\\\\\\\\[.*\\\\\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.\",c):s.getConfigurationProperties()[c]!==void 0?E.localize(1511,\"Cannot register '{0}'. This property is already registered.\",c):l.policy?.name&&s.getPolicyConfigurations().get(l.policy?.name)!==void 0?E.localize(1512,\"Cannot register '{0}'. The associated policy {1} is already registered with {2}.\",c,l.policy?.name,s.getPolicyConfigurations().get(l.policy?.name)):null:E.localize(1509,\"Cannot register an empty property\")}}),define(ne[274],se([1,0,308,37,197,3,109,38]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.editorConfigurationBaseNode=void 0,e.isEditorConfigurationKey=o,e.isDiffEditorConfigurationKey=t,e.editorConfigurationBaseNode=Object.freeze({id:\"editor\",order:5,type:\"object\",title:E.localize(133,\"Editor\"),scope:5});const _={...e.editorConfigurationBaseNode,properties:{\"editor.tabSize\":{type:\"number\",default:I.EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:E.localize(134,\"The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.\",\"`#editor.detectIndentation#`\")},\"editor.indentSize\":{anyOf:[{type:\"string\",enum:[\"tabSize\"]},{type:\"number\",minimum:1}],default:\"tabSize\",markdownDescription:E.localize(135,'The number of spaces used for indentation or `\"tabSize\"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},\"editor.insertSpaces\":{type:\"boolean\",default:I.EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:E.localize(136,\"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.\",\"`#editor.detectIndentation#`\")},\"editor.detectIndentation\":{type:\"boolean\",default:I.EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:E.localize(137,\"Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.\",\"`#editor.tabSize#`\",\"`#editor.insertSpaces#`\")},\"editor.trimAutoWhitespace\":{type:\"boolean\",default:I.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:E.localize(138,\"Remove trailing auto inserted whitespace.\")},\"editor.largeFileOptimizations\":{type:\"boolean\",default:I.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:E.localize(139,\"Special handling for large files to disable certain memory intensive features.\")},\"editor.wordBasedSuggestions\":{enum:[\"off\",\"currentDocument\",\"matchingDocuments\",\"allDocuments\"],default:\"matchingDocuments\",enumDescriptions:[E.localize(140,\"Turn off Word Based Suggestions.\"),E.localize(141,\"Only suggest words from the active document.\"),E.localize(142,\"Suggest words from all open documents of the same language.\"),E.localize(143,\"Suggest words from all open documents.\")],description:E.localize(144,\"Controls whether completions should be computed based on words in the document and from which documents they are computed.\")},\"editor.semanticHighlighting.enabled\":{enum:[!0,!1,\"configuredByTheme\"],enumDescriptions:[E.localize(145,\"Semantic highlighting enabled for all color themes.\"),E.localize(146,\"Semantic highlighting disabled for all color themes.\"),E.localize(147,\"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.\")],default:\"configuredByTheme\",description:E.localize(148,\"Controls whether the semanticHighlighting is shown for the languages that support it.\")},\"editor.stablePeek\":{type:\"boolean\",default:!1,markdownDescription:E.localize(149,\"Keep peek editors open even when double-clicking their content or when hitting `Escape`.\")},\"editor.maxTokenizationLineLength\":{type:\"integer\",default:2e4,description:E.localize(150,\"Lines above this length will not be tokenized for performance reasons\")},\"editor.experimental.asyncTokenization\":{type:\"boolean\",default:!0,description:E.localize(151,\"Controls whether the tokenization should happen asynchronously on a web worker.\"),tags:[\"experimental\"]},\"editor.experimental.asyncTokenizationLogging\":{type:\"boolean\",default:!1,description:E.localize(152,\"Controls whether async tokenization should be logged. For debugging only.\")},\"editor.experimental.asyncTokenizationVerification\":{type:\"boolean\",default:!1,description:E.localize(153,\"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only.\"),tags:[\"experimental\"]},\"editor.experimental.treeSitterTelemetry\":{type:\"boolean\",default:!1,markdownDescription:E.localize(154,\"Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `editor.experimental.preferTreeSitter` for specific languages will take precedence.\"),tags:[\"experimental\"]},\"editor.language.brackets\":{type:[\"array\",\"null\"],default:null,description:E.localize(155,\"Defines the bracket symbols that increase or decrease the indentation.\"),items:{type:\"array\",items:[{type:\"string\",description:E.localize(156,\"The opening bracket character or string sequence.\")},{type:\"string\",description:E.localize(157,\"The closing bracket character or string sequence.\")}]}},\"editor.language.colorizedBracketPairs\":{type:[\"array\",\"null\"],default:null,description:E.localize(158,\"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled.\"),items:{type:\"array\",items:[{type:\"string\",description:E.localize(159,\"The opening bracket character or string sequence.\")},{type:\"string\",description:E.localize(160,\"The closing bracket character or string sequence.\")}]}},\"diffEditor.maxComputationTime\":{type:\"number\",default:d.diffEditorDefaultOptions.maxComputationTime,description:E.localize(161,\"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.\")},\"diffEditor.maxFileSize\":{type:\"number\",default:d.diffEditorDefaultOptions.maxFileSize,description:E.localize(162,\"Maximum file size in MB for which to compute diffs. Use 0 for no limit.\")},\"diffEditor.renderSideBySide\":{type:\"boolean\",default:d.diffEditorDefaultOptions.renderSideBySide,description:E.localize(163,\"Controls whether the diff editor shows the diff side by side or inline.\")},\"diffEditor.renderSideBySideInlineBreakpoint\":{type:\"number\",default:d.diffEditorDefaultOptions.renderSideBySideInlineBreakpoint,description:E.localize(164,\"If the diff editor width is smaller than this value, the inline view is used.\")},\"diffEditor.useInlineViewWhenSpaceIsLimited\":{type:\"boolean\",default:d.diffEditorDefaultOptions.useInlineViewWhenSpaceIsLimited,description:E.localize(165,\"If enabled and the editor width is too small, the inline view is used.\")},\"diffEditor.renderMarginRevertIcon\":{type:\"boolean\",default:d.diffEditorDefaultOptions.renderMarginRevertIcon,description:E.localize(166,\"When enabled, the diff editor shows arrows in its glyph margin to revert changes.\")},\"diffEditor.renderGutterMenu\":{type:\"boolean\",default:d.diffEditorDefaultOptions.renderGutterMenu,description:E.localize(167,\"When enabled, the diff editor shows a special gutter for revert and stage actions.\")},\"diffEditor.ignoreTrimWhitespace\":{type:\"boolean\",default:d.diffEditorDefaultOptions.ignoreTrimWhitespace,description:E.localize(168,\"When enabled, the diff editor ignores changes in leading or trailing whitespace.\")},\"diffEditor.renderIndicators\":{type:\"boolean\",default:d.diffEditorDefaultOptions.renderIndicators,description:E.localize(169,\"Controls whether the diff editor shows +/- indicators for added/removed changes.\")},\"diffEditor.codeLens\":{type:\"boolean\",default:d.diffEditorDefaultOptions.diffCodeLens,description:E.localize(170,\"Controls whether the editor shows CodeLens.\")},\"diffEditor.wordWrap\":{type:\"string\",enum:[\"off\",\"on\",\"inherit\"],default:d.diffEditorDefaultOptions.diffWordWrap,markdownEnumDescriptions:[E.localize(171,\"Lines will never wrap.\"),E.localize(172,\"Lines will wrap at the viewport width.\"),E.localize(173,\"Lines will wrap according to the {0} setting.\",\"`#editor.wordWrap#`\")]},\"diffEditor.diffAlgorithm\":{type:\"string\",enum:[\"legacy\",\"advanced\"],default:d.diffEditorDefaultOptions.diffAlgorithm,markdownEnumDescriptions:[E.localize(174,\"Uses the legacy diffing algorithm.\"),E.localize(175,\"Uses the advanced diffing algorithm.\")],tags:[\"experimental\"]},\"diffEditor.hideUnchangedRegions.enabled\":{type:\"boolean\",default:d.diffEditorDefaultOptions.hideUnchangedRegions.enabled,markdownDescription:E.localize(176,\"Controls whether the diff editor shows unchanged regions.\")},\"diffEditor.hideUnchangedRegions.revealLineCount\":{type:\"integer\",default:d.diffEditorDefaultOptions.hideUnchangedRegions.revealLineCount,markdownDescription:E.localize(177,\"Controls how many lines are used for unchanged regions.\"),minimum:1},\"diffEditor.hideUnchangedRegions.minimumLineCount\":{type:\"integer\",default:d.diffEditorDefaultOptions.hideUnchangedRegions.minimumLineCount,markdownDescription:E.localize(178,\"Controls how many lines are used as a minimum for unchanged regions.\"),minimum:1},\"diffEditor.hideUnchangedRegions.contextLineCount\":{type:\"integer\",default:d.diffEditorDefaultOptions.hideUnchangedRegions.contextLineCount,markdownDescription:E.localize(179,\"Controls how many lines are used as context when comparing unchanged regions.\"),minimum:1},\"diffEditor.experimental.showMoves\":{type:\"boolean\",default:d.diffEditorDefaultOptions.experimental.showMoves,markdownDescription:E.localize(180,\"Controls whether the diff editor should show detected code moves.\")},\"diffEditor.experimental.showEmptyDecorations\":{type:\"boolean\",default:d.diffEditorDefaultOptions.experimental.showEmptyDecorations,description:E.localize(181,\"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.\")},\"diffEditor.experimental.useTrueInlineView\":{type:\"boolean\",default:d.diffEditorDefaultOptions.experimental.useTrueInlineView,description:E.localize(182,\"If enabled and the editor uses the inline view, word changes are rendered inline.\")}}};function b(s){return typeof s.type<\"u\"||typeof s.anyOf<\"u\"}for(const s of k.editorOptionsRegistry){const g=s.schema;if(typeof g<\"u\")if(b(g))_.properties[`editor.${s.name}`]=g;else for(const c in g)Object.hasOwnProperty.call(g,c)&&(_.properties[c]=g[c])}let p=null;function n(){return p===null&&(p=Object.create(null),Object.keys(_.properties).forEach(s=>{p[s]=!0})),p}function o(s){return n()[`editor.${s}`]||!1}function t(s){return n()[`diffEditor.${s}`]||!1}m.Registry.as(y.Extensions.Configuration).registerConfiguration(_)}),define(ne[70],se([1,0,3,6,38,128,109]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PLAINTEXT_EXTENSION=e.PLAINTEXT_LANGUAGE_ID=e.ModesRegistry=e.EditorModesRegistry=e.Extensions=void 0,e.Extensions={ModesRegistry:\"editor.modesRegistry\"};class m{constructor(){this._onDidChangeLanguages=new k.Emitter,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(b){return this._languages.push(b),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let p=0,n=this._languages.length;p<n;p++)if(this._languages[p]===b){this._languages.splice(p,1);return}}}}getLanguages(){return this._languages}}e.EditorModesRegistry=m,e.ModesRegistry=new m,I.Registry.add(e.Extensions.ModesRegistry,e.ModesRegistry),e.PLAINTEXT_LANGUAGE_ID=\"plaintext\",e.PLAINTEXT_EXTENSION=\".txt\",e.ModesRegistry.registerLanguage({id:e.PLAINTEXT_LANGUAGE_ID,extensions:[e.PLAINTEXT_EXTENSION],aliases:[d.localize(696,\"Plain Text\"),\"text\"],mimetypes:[E.Mimes.text]}),I.Registry.as(y.Extensions.Configuration).registerDefaultConfigurations([{overrides:{\"[plaintext]\":{\"editor.unicodeHighlight.ambiguousCharacters\":!1,\"editor.unicodeHighlight.invisibleCharacters\":!1}}}])}),define(ne[120],se([1,0,207,103,8,6,2,74,43,70,369,59,501]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";var o;Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarkdownRenderer=void 0,e.openLinkFromMarkdown=i;let t=class{static{o=this}static{this._ttpTokenizer=(0,k.createTrustedTypesPolicy)(\"tokenizeToString\",{createHTML(c){return c}})}constructor(c,l,a){this._options=c,this._languageService=l,this._openerService=a,this._onDidRenderAsync=new E.Emitter,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(c,l,a){if(!c)return{element:document.createElement(\"span\"),dispose:()=>{}};const r=new y.DisposableStore,u=r.add((0,d.renderMarkdown)(c,{...this._getRenderOptions(c,r),...l},a));return u.element.classList.add(\"rendered-markdown\"),{element:u.element,dispose:()=>r.dispose()}}_getRenderOptions(c,l){return{codeBlockRenderer:async(a,r)=>{let u;a?u=this._languageService.getLanguageIdByLanguageName(a):this._options.editor&&(u=this._options.editor.getModel()?.getLanguageId()),u||(u=b.PLAINTEXT_LANGUAGE_ID);const C=await(0,p.tokenizeToString)(this._languageService,r,u),f=document.createElement(\"span\");if(f.innerHTML=o._ttpTokenizer?.createHTML(C)??C,this._options.editor){const h=this._options.editor.getOption(50);(0,m.applyFontInfo)(f,h)}else this._options.codeBlockFontFamily&&(f.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(f.style.fontSize=this._options.codeBlockFontSize),f},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:a=>i(this._openerService,a,c.isTrusted),disposables:l}}}};e.MarkdownRenderer=t,e.MarkdownRenderer=t=o=ke([ce(1,_.ILanguageService),ce(2,n.IOpenerService)],t);async function i(g,c,l){try{return await g.open(c,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:s(l)})}catch(a){return(0,I.onUnexpectedError)(a),!1}}function s(g){return g===!0?!0:g&&Array.isArray(g.enabledCommands)?g.enabledCommands:!1}}),define(ne[705],se([1,0,2,6,5,31,28,37,174,85,59,7,120,57,3,16,61,46,480]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HoverWidget=void 0;const l=I.$;let a=class extends b.Widget{get _targetWindow(){return I.getWindow(this._target.targetElements[0])}get _targetDocumentElement(){return I.getWindow(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(f){this._isLocked!==f&&(this._isLocked=f,this._hoverContainer.classList.toggle(\"locked\",this._isLocked))}constructor(f,h,v,w,S,L){super(),this._keybindingService=h,this._configurationService=v,this._openerService=w,this._instantiationService=S,this._accessibilityService=L,this._messageListeners=new d.DisposableStore,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new k.Emitter),this._onRequestLayout=this._register(new k.Emitter),this._linkHandler=f.linkHandler||(N=>(0,o.openLinkFromMarkdown)(this._openerService,N,(0,t.isMarkdownString)(f.content)?f.content.isTrusted:void 0)),this._target=\"targetElements\"in f.target?f.target:new u(f.target),this._hoverPointer=f.appearance?.showPointer?l(\"div.workbench-hover-pointer\"):void 0,this._hover=this._register(new _.HoverWidget),this._hover.containerDomNode.classList.add(\"workbench-hover\",\"fadeIn\"),f.appearance?.compact&&this._hover.containerDomNode.classList.add(\"workbench-hover\",\"compact\"),f.appearance?.skipFadeInAnimation&&this._hover.containerDomNode.classList.add(\"skip-fade-in\"),f.additionalClasses&&this._hover.containerDomNode.classList.add(...f.additionalClasses),f.position?.forcePosition&&(this._forcePosition=!0),f.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=f.position?.hoverPosition??3,this.onmousedown(this._hover.containerDomNode,N=>N.stopPropagation()),this.onkeydown(this._hover.containerDomNode,N=>{N.equals(9)&&this.dispose()}),this._register(I.addDisposableListener(this._targetWindow,\"blur\",()=>this.dispose()));const D=l(\"div.hover-row.markdown-hover\"),T=l(\"div.hover-contents\");if(typeof f.content==\"string\")T.textContent=f.content,T.style.whiteSpace=\"pre-wrap\";else if(I.isHTMLElement(f.content))T.appendChild(f.content),T.classList.add(\"html-hover-contents\");else{const N=f.content,O=this._instantiationService.createInstance(o.MarkdownRenderer,{codeBlockFontFamily:this._configurationService.getValue(\"editor\").fontFamily||m.EDITOR_FONT_DEFAULTS.fontFamily}),{element:F}=O.render(N,{actionHandler:{callback:x=>this._linkHandler(x),disposables:this._messageListeners},asyncRenderCallback:()=>{T.classList.add(\"code-hover-contents\"),this.layout(),this._onRequestLayout.fire()}});T.appendChild(F)}if(D.appendChild(T),this._hover.contentsDomNode.appendChild(D),f.actions&&f.actions.length>0){const N=l(\"div.hover-row.status-bar\"),O=l(\"div.actions\");f.actions.forEach(F=>{const x=this._keybindingService.lookupKeybinding(F.commandId),W=x?x.getLabel():null;_.HoverAction.render(O,{label:F.label,commandId:F.commandId,run:V=>{F.run(V),this.dispose()},iconClass:F.iconClass},W)}),N.appendChild(O),this._hover.containerDomNode.appendChild(N)}this._hoverContainer=l(\"div.workbench-hover-container\"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let M;if(f.actions&&f.actions.length>0?M=!1:f.persistence?.hideOnHover===void 0?M=typeof f.content==\"string\"||(0,t.isMarkdownString)(f.content)&&!f.content.value.includes(\"](\")&&!f.content.value.includes(\"</a>\"):M=f.persistence.hideOnHover,f.appearance?.showHoverHint){const N=l(\"div.hover-row.status-bar\"),O=l(\"div.info\");O.textContent=(0,i.localize)(68,\"Hold {0} key to mouse over\",s.isMacintosh?\"Option\":\"Alt\"),N.appendChild(O),this._hover.containerDomNode.appendChild(N)}const A=[...this._target.targetElements];M||A.push(this._hoverContainer);const P=this._register(new r(A));if(this._register(P.onMouseOut(()=>{this._isLocked||this.dispose()})),M){const N=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new r(N)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=P}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const f=this._hover.containerDomNode,h=this.findLastFocusableChild(this._hover.containerDomNode);if(h){const v=I.prepend(this._hoverContainer,l(\"div\")),w=I.append(this._hoverContainer,l(\"div\"));v.tabIndex=0,w.tabIndex=0,this._register(I.addDisposableListener(w,\"focus\",S=>{f.focus(),S.preventDefault()})),this._register(I.addDisposableListener(v,\"focus\",S=>{h.focus(),S.preventDefault()}))}}findLastFocusableChild(f){if(f.hasChildNodes())for(let h=0;h<f.childNodes.length;h++){const v=f.childNodes.item(f.childNodes.length-h-1);if(v.nodeType===v.ELEMENT_NODE){const S=v;if(typeof S.tabIndex==\"number\"&&S.tabIndex>=0)return S}const w=this.findLastFocusableChild(v);if(w)return w}}render(f){f.appendChild(this._hoverContainer);const v=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&(0,_.getHoverAccessibleViewHint)(this._configurationService.getValue(\"accessibility.verbosity.hover\")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(\"editor.action.accessibleView\")?.getAriaLabel());v&&(0,c.status)(v),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove(\"right-aligned\"),this._hover.contentsDomNode.style.maxHeight=\"\";const f=A=>{const P=I.getDomNodeZoomLevel(A),N=A.getBoundingClientRect();return{top:N.top*P,bottom:N.bottom*P,right:N.right*P,left:N.left*P}},h=this._target.targetElements.map(A=>f(A)),{top:v,right:w,bottom:S,left:L}=h[0],D=w-L,T=S-v,M={top:v,right:w,bottom:S,left:L,width:D,height:T,center:{x:L+D/2,y:v+T/2}};if(this.adjustHorizontalHoverPosition(M),this.adjustVerticalHoverPosition(M),this.adjustHoverMaxHeight(M),this._hoverContainer.style.padding=\"\",this._hoverContainer.style.margin=\"\",this._hoverPointer){switch(this._hoverPosition){case 1:M.left+=3,M.right+=3,this._hoverContainer.style.paddingLeft=\"3px\",this._hoverContainer.style.marginLeft=\"-3px\";break;case 0:M.left-=3,M.right-=3,this._hoverContainer.style.paddingRight=\"3px\",this._hoverContainer.style.marginRight=\"-3px\";break;case 2:M.top+=3,M.bottom+=3,this._hoverContainer.style.paddingTop=\"3px\",this._hoverContainer.style.marginTop=\"-3px\";break;case 3:M.top-=3,M.bottom-=3,this._hoverContainer.style.paddingBottom=\"3px\",this._hoverContainer.style.marginBottom=\"-3px\";break}M.center.x=M.left+D/2,M.center.y=M.top+T/2}this.computeXCordinate(M),this.computeYCordinate(M),this._hoverPointer&&(this._hoverPointer.classList.remove(\"top\"),this._hoverPointer.classList.remove(\"left\"),this._hoverPointer.classList.remove(\"right\"),this._hoverPointer.classList.remove(\"bottom\"),this.setHoverPointerPosition(M)),this._hover.onContentsChanged()}computeXCordinate(f){const h=this._hover.containerDomNode.clientWidth+2;this._target.x!==void 0?this._x=this._target.x:this._hoverPosition===1?this._x=f.right:this._hoverPosition===0?this._x=f.left-h:(this._hoverPointer?this._x=f.center.x-this._hover.containerDomNode.clientWidth/2:this._x=f.left,this._x+h>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add(\"right-aligned\"),this._x=Math.max(this._targetDocumentElement.clientWidth-h-2,this._targetDocumentElement.clientLeft))),this._x<this._targetDocumentElement.clientLeft&&(this._x=f.left+2)}computeYCordinate(f){this._target.y!==void 0?this._y=this._target.y:this._hoverPosition===3?this._y=f.top:this._hoverPosition===2?this._y=f.bottom-2:this._hoverPointer?this._y=f.center.y+this._hover.containerDomNode.clientHeight/2:this._y=f.bottom,this._y>this._targetWindow.innerHeight&&(this._y=f.bottom)}adjustHorizontalHoverPosition(f){if(this._target.x!==void 0)return;const h=this._hoverPointer?3:0;if(this._forcePosition){const v=h+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-f.right-v}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${f.left-v}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-f.right<this._hover.containerDomNode.clientWidth+h&&(f.left>=this._hover.containerDomNode.clientWidth+h?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(f.left<this._hover.containerDomNode.clientWidth+h&&(this._targetDocumentElement.clientWidth-f.right>=this._hover.containerDomNode.clientWidth+h?this._hoverPosition=1:this._hoverPosition=2),f.left-this._hover.containerDomNode.clientWidth-h<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(f){if(this._target.y!==void 0||this._forcePosition)return;const h=this._hoverPointer?3:0;this._hoverPosition===3?f.top-this._hover.containerDomNode.clientHeight-h<0&&(this._hoverPosition=2):this._hoverPosition===2&&f.bottom+this._hover.containerDomNode.clientHeight+h>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(f){let h=this._targetWindow.innerHeight/2;if(this._forcePosition){const v=(this._hoverPointer?3:0)+2;this._hoverPosition===3?h=Math.min(h,f.top-v):this._hoverPosition===2&&(h=Math.min(h,this._targetWindow.innerHeight-f.bottom-v))}if(this._hover.containerDomNode.style.maxHeight=`${h}px`,this._hover.contentsDomNode.clientHeight<this._hover.contentsDomNode.scrollHeight){const v=`${this._hover.scrollbar.options.verticalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingRight!==v&&(this._hover.contentsDomNode.style.paddingRight=v)}}setHoverPointerPosition(f){if(this._hoverPointer)switch(this._hoverPosition){case 0:case 1:{this._hoverPointer.classList.add(this._hoverPosition===0?\"right\":\"left\");const h=this._hover.containerDomNode.clientHeight;h>f.height?this._hoverPointer.style.top=`${f.center.y-(this._y-h)-3}px`:this._hoverPointer.style.top=`${Math.round(h/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?\"bottom\":\"top\");const h=this._hover.containerDomNode.clientWidth;let v=Math.round(h/2)-3;const w=this._x+v;(w<f.left||w>f.right)&&(v=f.center.x-this._x-3),this._hoverPointer.style.left=`${v}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};e.HoverWidget=a,e.HoverWidget=a=ke([ce(1,E.IKeybindingService),ce(2,y.IConfigurationService),ce(3,p.IOpenerService),ce(4,n.IInstantiationService),ce(5,g.IAccessibilityService)],a);class r extends b.Widget{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(f){super(),this._elements=f,this._isMouseIn=!0,this._onMouseOut=this._register(new k.Emitter),this._elements.forEach(h=>this.onmouseover(h,()=>this._onTargetMouseOver(h))),this._elements.forEach(h=>this.onmouseleave(h,()=>this._onTargetMouseLeave(h)))}_onTargetMouseOver(f){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(f)}_onTargetMouseLeave(f){this._isMouseIn=!1,this._evaluateMouseState(f)}_evaluateMouseState(f){this._clearEvaluateMouseStateTimeout(f),this._mouseTimeout=I.getWindow(f).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(f){this._mouseTimeout&&(I.getWindow(f).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class u{constructor(f){this._element=f,this.targetElements=[this._element]}dispose(){}}}),define(ne[36],se([1,0,6,2,11,147,131,568,659,569,571,208,7,28,43,49,70,660]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResolvedLanguageConfiguration=e.LanguageConfigurationRegistry=e.LanguageConfigurationChangeEvent=e.LanguageConfigurationService=e.ILanguageConfigurationService=e.LanguageConfigurationServiceChangeEvent=void 0,e.getIndentationAtPosition=h;class l{constructor(A){this.languageId=A}affects(A){return this.languageId?this.languageId===A:!0}}e.LanguageConfigurationServiceChangeEvent=l,e.ILanguageConfigurationService=(0,o.createDecorator)(\"languageConfigurationService\");let a=class extends k.Disposable{constructor(A,P){super(),this.configurationService=A,this.languageService=P,this._registry=this._register(new D),this.onDidChangeEmitter=this._register(new d.Emitter),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const N=new Set(Object.values(u));this._register(this.configurationService.onDidChangeConfiguration(O=>{const F=O.change.keys.some(W=>N.has(W)),x=O.change.overrides.filter(([W,V])=>V.some(q=>N.has(q))).map(([W])=>W);if(F)this.configurations.clear(),this.onDidChangeEmitter.fire(new l(void 0));else for(const W of x)this.languageService.isRegisteredLanguageId(W)&&(this.configurations.delete(W),this.onDidChangeEmitter.fire(new l(W)))})),this._register(this._registry.onDidChange(O=>{this.configurations.delete(O.languageId),this.onDidChangeEmitter.fire(new l(O.languageId))}))}register(A,P,N){return this._registry.register(A,P,N)}getLanguageConfiguration(A){let P=this.configurations.get(A);return P||(P=r(A,this._registry,this.configurationService,this.languageService),this.configurations.set(A,P)),P}};e.LanguageConfigurationService=a,e.LanguageConfigurationService=a=ke([ce(0,t.IConfigurationService),ce(1,i.ILanguageService)],a);function r(M,A,P,N){let O=A.getLanguageConfiguration(M);if(!O){if(!N.isRegisteredLanguageId(M))return new T(M,{});O=new T(M,{})}const F=C(O.languageId,P),x=w([O.underlyingConfig,F]);return new T(O.languageId,x)}const u={brackets:\"editor.language.brackets\",colorizedBracketPairs:\"editor.language.colorizedBracketPairs\"};function C(M,A){const P=A.getValue(u.brackets,{overrideIdentifier:M}),N=A.getValue(u.colorizedBracketPairs,{overrideIdentifier:M});return{brackets:f(P),colorizedBracketPairs:f(N)}}function f(M){if(Array.isArray(M))return M.map(A=>{if(!(!Array.isArray(A)||A.length!==2))return[A[0],A[1]]}).filter(A=>!!A)}function h(M,A,P){const N=M.getLineContent(A);let O=I.getLeadingWhitespace(N);return O.length>P-1&&(O=O.substring(0,P-1)),O}class v{constructor(A){this.languageId=A,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(A,P){const N=new S(A,P,++this._order);return this._entries.push(N),this._resolved=null,(0,k.toDisposable)(()=>{for(let O=0;O<this._entries.length;O++)if(this._entries[O]===N){this._entries.splice(O,1),this._resolved=null;break}})}getResolvedConfiguration(){if(!this._resolved){const A=this._resolve();A&&(this._resolved=new T(this.languageId,A))}return this._resolved}_resolve(){return this._entries.length===0?null:(this._entries.sort(S.cmp),w(this._entries.map(A=>A.configuration)))}}function w(M){let A={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const P of M)A={comments:P.comments||A.comments,brackets:P.brackets||A.brackets,wordPattern:P.wordPattern||A.wordPattern,indentationRules:P.indentationRules||A.indentationRules,onEnterRules:P.onEnterRules||A.onEnterRules,autoClosingPairs:P.autoClosingPairs||A.autoClosingPairs,surroundingPairs:P.surroundingPairs||A.surroundingPairs,autoCloseBefore:P.autoCloseBefore||A.autoCloseBefore,folding:P.folding||A.folding,colorizedBracketPairs:P.colorizedBracketPairs||A.colorizedBracketPairs,__electricCharacterSupport:P.__electricCharacterSupport||A.__electricCharacterSupport};return A}class S{constructor(A,P,N){this.configuration=A,this.priority=P,this.order=N}static cmp(A,P){return A.priority===P.priority?A.order-P.order:A.priority-P.priority}}class L{constructor(A){this.languageId=A}}e.LanguageConfigurationChangeEvent=L;class D extends k.Disposable{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new d.Emitter),this.onDidChange=this._onDidChange.event,this._register(this.register(g.PLAINTEXT_LANGUAGE_ID,{brackets:[[\"(\",\")\"],[\"[\",\"]\"],[\"{\",\"}\"]],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(A,P,N=0){let O=this._entries.get(A);O||(O=new v(A),this._entries.set(A,O));const F=O.register(P,N);return this._onDidChange.fire(new L(A)),(0,k.toDisposable)(()=>{F.dispose(),this._onDidChange.fire(new L(A))})}getLanguageConfiguration(A){return this._entries.get(A)?.getResolvedConfiguration()||null}}e.LanguageConfigurationRegistry=D;class T{constructor(A,P){this.languageId=A,this.underlyingConfig=P,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new p.OnEnterSupport(this.underlyingConfig):null,this.comments=T._handleComments(this.underlyingConfig),this.characterPair=new m.CharacterPairSupport(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||E.DEFAULT_WORD_REGEXP,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new b.IndentRulesSupport(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new c.LanguageBracketsConfiguration(A,this.underlyingConfig)}getWordDefinition(){return(0,E.ensureValidWordDefinition)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new n.RichEditBrackets(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new _.BracketElectricCharacterSupport(this.brackets)),this._electricCharacter}onEnter(A,P,N,O){return this._onEnterSupport?this._onEnterSupport.onEnter(A,P,N,O):null}getAutoClosingPairs(){return new y.AutoClosingPairs(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(A){return this.characterPair.getAutoCloseBeforeSet(A)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(A){const P=A.comments;if(!P)return null;const N={};if(P.lineComment&&(N.lineCommentToken=P.lineComment),P.blockComment){const[O,F]=P.blockComment;N.blockCommentStartToken=O,N.blockCommentEndToken=F}return N}}e.ResolvedLanguageConfiguration=T,(0,s.registerSingleton)(e.ILanguageConfigurationService,a,1)}),define(ne[401],se([1,0,14,2,361,646,4,36,666,51,211,13,62,54,8,17,232,105,55,52,5,373,326]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorWorkerClient=e.EditorWorkerService=void 0;const f=5*60*1e3;function h(T,M){const A=T.getModel(M);return!(!A||A.isTooLargeForSyncing())}let v=class extends k.Disposable{constructor(M,A,P,N,O,F){super(),this._languageConfigurationService=O,this._modelService=A,this._workerManager=this._register(new S(M,this._modelService)),this._logService=N,this._register(F.linkProvider.register({language:\"*\",hasAccessToAllModels:!0},{provideLinks:async(x,W)=>{if(!h(this._modelService,x.uri))return Promise.resolve({links:[]});const q=await(await this._workerWithResources([x.uri])).$computeLinks(x.uri.toString());return q&&{links:q}}})),this._register(F.completionProvider.register(\"*\",new w(this._workerManager,P,this._modelService,this._languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(M){return h(this._modelService,M)}async computedUnicodeHighlights(M,A,P){return(await this._workerWithResources([M])).$computeUnicodeHighlights(M.toString(),A,P)}async computeDiff(M,A,P,N){const F=await(await this._workerWithResources([M,A],!0)).$computeDiff(M.toString(),A.toString(),P,N);if(!F)return null;return{identical:F.identical,quitEarly:F.quitEarly,changes:W(F.changes),moves:F.moves.map(V=>new g.MovedText(new c.LineRangeMapping(new l.LineRange(V[0],V[1]),new l.LineRange(V[2],V[3])),W(V[4])))};function W(V){return V.map(q=>new c.DetailedLineRangeMapping(new l.LineRange(q[0],q[1]),new l.LineRange(q[2],q[3]),q[4]?.map(H=>new c.RangeMapping(new y.Range(H[0],H[1],H[2],H[3]),new y.Range(H[4],H[5],H[6],H[7])))))}}async computeMoreMinimalEdits(M,A,P=!1){if((0,n.isNonEmptyArray)(A)){if(!h(this._modelService,M))return Promise.resolve(A);const N=t.StopWatch.create(),O=this._workerWithResources([M]).then(F=>F.$computeMoreMinimalEdits(M.toString(),A,P));return O.finally(()=>this._logService.trace(\"FORMAT#computeMoreMinimalEdits\",M.toString(!0),N.elapsed())),Promise.race([O,(0,d.timeout)(1e3).then(()=>A)])}else return Promise.resolve(void 0)}canNavigateValueSet(M){return h(this._modelService,M)}async navigateValueSet(M,A,P){const N=this._modelService.getModel(M);if(!N)return null;const O=this._languageConfigurationService.getLanguageConfiguration(N.getLanguageId()).getWordDefinition(),F=O.source,x=O.flags;return(await this._workerWithResources([M])).$navigateValueSet(M.toString(),A,P,F,x)}canComputeWordRanges(M){return h(this._modelService,M)}async computeWordRanges(M,A){const P=this._modelService.getModel(M);if(!P)return Promise.resolve(null);const N=this._languageConfigurationService.getLanguageConfiguration(P.getLanguageId()).getWordDefinition(),O=N.source,F=N.flags;return(await this._workerWithResources([M])).$computeWordRanges(M.toString(),A,O,F)}async findSectionHeaders(M,A){return(await this._workerWithResources([M])).$findSectionHeaders(M.toString(),A)}async computeDefaultDocumentColors(M){return(await this._workerWithResources([M])).$computeDefaultDocumentColors(M.toString())}async _workerWithResources(M,A=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(M,A)}};e.EditorWorkerService=v,e.EditorWorkerService=v=ke([ce(1,b.IModelService),ce(2,p.ITextResourceConfigurationService),ce(3,o.ILogService),ce(4,m.ILanguageConfigurationService),ce(5,s.ILanguageFeaturesService)],v);class w{constructor(M,A,P,N){this.languageConfigurationService=N,this._debugDisplayName=\"wordbasedCompletions\",this._workerManager=M,this._configurationService=A,this._modelService=P}async provideCompletionItems(M,A){const P=this._configurationService.getValue(M.uri,A,\"editor\");if(P.wordBasedSuggestions===\"off\")return;const N=[];if(P.wordBasedSuggestions===\"currentDocument\")h(this._modelService,M.uri)&&N.push(M.uri);else for(const H of this._modelService.getModels())h(this._modelService,H.uri)&&(H===M?N.unshift(H.uri):(P.wordBasedSuggestions===\"allDocuments\"||H.getLanguageId()===M.getLanguageId())&&N.push(H.uri));if(N.length===0)return;const O=this.languageConfigurationService.getLanguageConfiguration(M.getLanguageId()).getWordDefinition(),F=M.getWordAtPosition(A),x=F?new y.Range(A.lineNumber,F.startColumn,A.lineNumber,F.endColumn):y.Range.fromPositions(A),W=x.setEndPosition(A.lineNumber,A.column),q=await(await this._workerManager.withWorker()).textualSuggest(N,F?.word,O);if(q)return{duration:q.duration,suggestions:q.words.map(H=>({kind:18,label:H,insertText:H,range:{insert:W,replace:x}}))}}}let S=class extends k.Disposable{constructor(M,A){super(),this._workerDescriptor=M,this._modelService=A,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new r.WindowIntervalTimer).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(f/2),a.mainWindow),this._register(this._modelService.onModelRemoved(N=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>f&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new D(this._workerDescriptor,!1,this._modelService)),Promise.resolve(this._editorWorkerClient)}};S=ke([ce(1,b.IModelService)],S);class L{constructor(M){this._instance=M,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(M,A){throw new Error(\"Not supported\")}}let D=class extends k.Disposable{constructor(M,A,P){super(),this._workerDescriptor=M,this._disposed=!1,this._modelService=P,this._keepIdleModels=A,this._worker=null,this._modelManager=null}fhr(M,A){throw new Error(\"Not implemented!\")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register((0,E.createWebWorker)(this._workerDescriptor)),C.EditorWorkerHost.setChannel(this._worker,this._createEditorWorkerHost())}catch(M){(0,I.logOnceWebWorkerWarning)(M),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{const M=this._getOrCreateWorker().proxy;return await M.$ping(),M}catch(M){return(0,I.logOnceWebWorkerWarning)(M),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new L(new _.EditorSimpleWorker(this._createEditorWorkerHost(),null))}_createEditorWorkerHost(){return{$fhr:(M,A)=>this.fhr(M,A)}}_getOrCreateModelManager(M){return this._modelManager||(this._modelManager=this._register(new u.WorkerTextModelSyncClient(M,this._modelService,this._keepIdleModels))),this._modelManager}async workerWithSyncedResources(M,A=!1){if(this._disposed)return Promise.reject((0,i.canceled)());const P=await this._getProxy();return this._getOrCreateModelManager(P).ensureSyncedResources(M,A),P}async textualSuggest(M,A,P){const N=await this.workerWithSyncedResources(M),O=P.source,F=P.flags;return N.$textualSuggest(M.map(x=>x.toString()),A,O,F)}dispose(){super.dispose(),this._disposed=!0}};e.EditorWorkerClient=D,e.EditorWorkerClient=D=ke([ce(2,b.IModelService)],D)}),define(ne[275],se([1,0,131,36,240]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getEnterAction=E;function E(y,m,_,b){m.tokenization.forceTokenization(_.startLineNumber);const p=m.getLanguageIdAtPosition(_.startLineNumber,_.startColumn),n=b.getLanguageConfiguration(p);if(!n)return null;const t=new I.IndentationContextProcessor(m,b).getProcessedTokenContextAroundRange(_),i=t.previousLineProcessedTokens.getLineContent(),s=t.beforeRangeProcessedTokens.getLineContent(),g=t.afterRangeProcessedTokens.getLineContent(),c=n.onEnter(y,i,s,g);if(!c)return null;const l=c.indentAction;let a=c.appendText;const r=c.removeText||0;a?l===d.IndentAction.Indent&&(a=\"\t\"+a):l===d.IndentAction.Indent||l===d.IndentAction.IndentOutdent?a=\"\t\":a=\"\";let u=(0,k.getIndentationAtPosition)(m,_.startLineNumber,_.startColumn);return r&&(u=u.substring(0,u.length-r)),{indentAction:l,appendText:a,removeText:r,indentation:u}}}),define(ne[183],se([1,0,11,94,4,23,275,36]),function(oe,e,d,k,I,E,y,m){\"use strict\";var _;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShiftCommand=void 0;const b=Object.create(null);function p(o,t){if(t<=0)return\"\";b[o]||(b[o]=[\"\",o]);const i=b[o];for(let s=i.length;s<=t;s++)i[s]=i[s-1]+o;return i[t]}let n=_=class{static unshiftIndent(t,i,s,g,c){const l=k.CursorColumns.visibleColumnFromColumn(t,i,s);if(c){const a=p(\" \",g),u=k.CursorColumns.prevIndentTabStop(l,g)/g;return p(a,u)}else{const a=\"\t\",u=k.CursorColumns.prevRenderTabStop(l,s)/s;return p(a,u)}}static shiftIndent(t,i,s,g,c){const l=k.CursorColumns.visibleColumnFromColumn(t,i,s);if(c){const a=p(\" \",g),u=k.CursorColumns.nextIndentTabStop(l,g)/g;return p(a,u)}else{const a=\"\t\",u=k.CursorColumns.nextRenderTabStop(l,s)/s;return p(a,u)}}constructor(t,i,s){this._languageConfigurationService=s,this._opts=i,this._selection=t,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(t,i,s){this._useLastEditRangeForCursorEndPosition?t.addTrackedEditOperation(i,s):t.addEditOperation(i,s)}getEditOperations(t,i){const s=this._selection.startLineNumber;let g=this._selection.endLineNumber;this._selection.endColumn===1&&s!==g&&(g=g-1);const{tabSize:c,indentSize:l,insertSpaces:a}=this._opts,r=s===g;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\\s*$/.test(t.getLineContent(s))&&(this._useLastEditRangeForCursorEndPosition=!0);let u=0,C=0;for(let f=s;f<=g;f++,u=C){C=0;const h=t.getLineContent(f);let v=d.firstNonWhitespaceIndex(h);if(this._opts.isUnshift&&(h.length===0||v===0)||!r&&!this._opts.isUnshift&&h.length===0)continue;if(v===-1&&(v=h.length),f>1&&k.CursorColumns.visibleColumnFromColumn(h,v+1,c)%l!==0&&t.tokenization.isCheapToTokenize(f-1)){const L=(0,y.getEnterAction)(this._opts.autoIndent,t,new I.Range(f-1,t.getLineMaxColumn(f-1),f-1,t.getLineMaxColumn(f-1)),this._languageConfigurationService);if(L){if(C=u,L.appendText)for(let D=0,T=L.appendText.length;D<T&&C<l&&L.appendText.charCodeAt(D)===32;D++)C++;L.removeText&&(C=Math.max(0,C-L.removeText));for(let D=0;D<C&&!(v===0||h.charCodeAt(v-1)!==32);D++)v--}}if(this._opts.isUnshift&&v===0)continue;let w;this._opts.isUnshift?w=_.unshiftIndent(h,v+1,c,l,a):w=_.shiftIndent(h,v+1,c,l,a),this._addEditOperation(i,new I.Range(f,1,f,v+1),w),f===s&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=v+1)}}else{!this._opts.isUnshift&&this._selection.isEmpty()&&t.getLineLength(s)===0&&(this._useLastEditRangeForCursorEndPosition=!0);const u=a?p(\" \",l):\"\t\";for(let C=s;C<=g;C++){const f=t.getLineContent(C);let h=d.firstNonWhitespaceIndex(f);if(!(this._opts.isUnshift&&(f.length===0||h===0))&&!(!r&&!this._opts.isUnshift&&f.length===0)&&(h===-1&&(h=f.length),!(this._opts.isUnshift&&h===0)))if(this._opts.isUnshift){h=Math.min(h,l);for(let v=0;v<h;v++)if(f.charCodeAt(v)===9){h=v+1;break}this._addEditOperation(i,new I.Range(C,1,C,h+1),\"\")}else this._addEditOperation(i,new I.Range(C,1,C,1),u),C===s&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn===1)}}this._selectionId=i.trackSelection(this._selection)}computeCursorState(t,i){if(this._useLastEditRangeForCursorEndPosition){const g=i.getInverseEditOperations()[0];return new E.Selection(g.range.endLineNumber,g.range.endColumn,g.range.endLineNumber,g.range.endColumn)}const s=i.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){const g=this._selection.startColumn;return s.startColumn<=g?s:s.getDirection()===0?new E.Selection(s.startLineNumber,g,s.endLineNumber,s.endColumn):new E.Selection(s.endLineNumber,s.endColumn,s.startLineNumber,g)}return s}};e.ShiftCommand=n,e.ShiftCommand=n=_=ke([ce(2,m.ILanguageConfigurationService)],n)}),define(ne[213],se([1,0,8,11,146,183,312,76,166,4,9,131,36,169,241,275]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BaseTypeWithAutoClosingCommand=e.TabOperation=e.TypeWithoutInterceptorsOperation=e.CompositionOperation=e.PasteOperation=e.EnterOperation=e.SimpleCharacterTypeOperation=e.InterceptorElectricCharOperation=e.SurroundSelectionOperation=e.AutoClosingOpenCharTypeOperation=e.AutoClosingOvertypeWithInterceptorsOperation=e.AutoClosingOvertypeOperation=e.AutoIndentOperation=void 0,e.shiftIndent=x,e.unshiftIndent=W,e.shouldSurroundChar=V;class g{static getEdits(H,z,U,j,Y){if(!Y&&this._isAutoIndentType(H,z,U)){const G=[];for(const R of U){const J=this._findActualIndentationForSelection(H,z,R,j);if(J===null)return;G.push({selection:R,indentation:J})}const K=a.getAutoClosingPairClose(H,z,U,j,!1);return this._getIndentationAndAutoClosingPairEdits(H,z,G,j,K)}}static _isAutoIndentType(H,z,U){if(H.autoIndent<4)return!1;for(let j=0,Y=U.length;j<Y;j++)if(!z.tokenization.isCheapToTokenize(U[j].getEndPosition().lineNumber))return!1;return!0}static _findActualIndentationForSelection(H,z,U,j){const Y=(0,i.getIndentActionForType)(H,z,U,j,{shiftIndent:K=>x(H,K),unshiftIndent:K=>W(H,K)},H.languageConfigurationService);if(Y===null)return null;const G=(0,o.getIndentationAtPosition)(z,U.startLineNumber,U.startColumn);return Y===H.normalizeIndentation(G)?null:Y}static _getIndentationAndAutoClosingPairEdits(H,z,U,j,Y){const G=U.map(({selection:R,indentation:J})=>{if(Y!==null){const ie=this._getEditFromIndentationAndSelection(H,z,J,R,j,!1);return new T(ie,R,j,Y)}else{const ie=this._getEditFromIndentationAndSelection(H,z,J,R,j,!0);return F(ie.range,ie.text,!1)}}),K={shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1};return new m.EditOperationResult(4,G,K)}static _getEditFromIndentationAndSelection(H,z,U,j,Y,G=!0){const K=j.startLineNumber,R=z.getLineFirstNonWhitespaceColumn(K);let J=H.normalizeIndentation(U);if(R!==0){const ue=z.getLineContent(K);J+=ue.substring(R-1,j.startColumn-1)}return J+=G?Y:\"\",{range:new b.Range(K,1,j.endLineNumber,j.endColumn),text:J}}}e.AutoIndentOperation=g;class c{static getEdits(H,z,U,j,Y,G){if(O(z,U,j,Y,G))return this._runAutoClosingOvertype(H,j,G)}static _runAutoClosingOvertype(H,z,U){const j=[];for(let Y=0,G=z.length;Y<G;Y++){const R=z[Y].getPosition(),J=new b.Range(R.lineNumber,R.column,R.lineNumber,R.column+1);j[Y]=new I.ReplaceCommand(J,U)}return new m.EditOperationResult(4,j,{shouldPushStackElementBefore:A(H,4),shouldPushStackElementAfter:!1})}}e.AutoClosingOvertypeOperation=c;class l{static getEdits(H,z,U,j,Y){if(O(H,z,U,j,Y)){const G=U.map(K=>new I.ReplaceCommand(new b.Range(K.positionLineNumber,K.positionColumn,K.positionLineNumber,K.positionColumn+1),\"\",!1));return new m.EditOperationResult(4,G,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}}e.AutoClosingOvertypeWithInterceptorsOperation=l;class a{static getEdits(H,z,U,j,Y,G){if(!G){const K=this.getAutoClosingPairClose(H,z,U,j,Y);if(K!==null)return this._runAutoClosingOpenCharType(U,j,Y,K)}}static _runAutoClosingOpenCharType(H,z,U,j){const Y=[];for(let G=0,K=H.length;G<K;G++){const R=H[G];Y[G]=new D(R,z,!U,j)}return new m.EditOperationResult(4,Y,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static getAutoClosingPairClose(H,z,U,j,Y){for(const ae of U)if(!ae.isEmpty())return null;const G=U.map(ae=>{const ee=ae.getPosition();return Y?{lineNumber:ee.lineNumber,beforeColumn:ee.column-j.length,afterColumn:ee.column}:{lineNumber:ee.lineNumber,beforeColumn:ee.column,afterColumn:ee.column}}),K=this._findAutoClosingPairOpen(H,z,G.map(ae=>new p.Position(ae.lineNumber,ae.beforeColumn)),j);if(!K)return null;let R,J;if((0,m.isQuote)(j)?(R=H.autoClosingQuotes,J=H.shouldAutoCloseBefore.quote):(H.blockCommentStartToken?K.open.includes(H.blockCommentStartToken):!1)?(R=H.autoClosingComments,J=H.shouldAutoCloseBefore.comment):(R=H.autoClosingBrackets,J=H.shouldAutoCloseBefore.bracket),R===\"never\")return null;const ue=this._findContainedAutoClosingPair(H,K),he=ue?ue.close:\"\";let pe=!0;for(const ae of G){const{lineNumber:ee,beforeColumn:de,afterColumn:ge}=ae,X=z.getLineContent(ee),B=X.substring(0,de-1),$=X.substring(ge-1);if($.startsWith(he)||(pe=!1),$.length>0){const re=$.charAt(0);if(!this._isBeforeClosingBrace(H,$)&&!J(re))return null}if(K.open.length===1&&(j===\"'\"||j==='\"')&&R!==\"always\"){const re=(0,_.getMapForWordSeparators)(H.wordSeparators,[]);if(B.length>0){const le=B.charCodeAt(B.length-1);if(re.get(le)===0)return null}}if(!z.tokenization.isCheapToTokenize(ee))return null;z.tokenization.forceTokenization(ee);const Q=z.tokenization.getLineTokens(ee),Z=(0,t.createScopedLineTokens)(Q,de-1);if(!K.shouldAutoClose(Z,de-Z.firstCharOffset))return null;const te=K.findNeutralCharacter();if(te){const re=z.tokenization.getTokenTypeIfInsertingCharacter(ee,de,te);if(!K.isOK(re))return null}}return pe?K.close.substring(0,K.close.length-he.length):K.close}static _findContainedAutoClosingPair(H,z){if(z.open.length<=1)return null;const U=z.close.charAt(z.close.length-1),j=H.autoClosingPairs.autoClosingPairsCloseByEnd.get(U)||[];let Y=null;for(const G of j)G.open!==z.open&&z.open.includes(G.open)&&z.close.endsWith(G.close)&&(!Y||G.open.length>Y.open.length)&&(Y=G);return Y}static _findAutoClosingPairOpen(H,z,U,j){const Y=H.autoClosingPairs.autoClosingPairsOpenByEnd.get(j);if(!Y)return null;let G=null;for(const K of Y)if(G===null||K.open.length>G.open.length){let R=!0;for(const J of U)if(z.getValueInRange(new b.Range(J.lineNumber,J.column-K.open.length+1,J.lineNumber,J.column))+j!==K.open){R=!1;break}R&&(G=K)}return G}static _isBeforeClosingBrace(H,z){const U=z.charAt(0),j=H.autoClosingPairs.autoClosingPairsOpenByStart.get(U)||[],Y=H.autoClosingPairs.autoClosingPairsCloseByStart.get(U)||[],G=j.some(R=>z.startsWith(R.open)),K=Y.some(R=>z.startsWith(R.close));return!G&&K}}e.AutoClosingOpenCharTypeOperation=a;class r{static getEdits(H,z,U,j,Y){if(!Y&&this._isSurroundSelectionType(H,z,U,j))return this._runSurroundSelectionType(H,U,j)}static _runSurroundSelectionType(H,z,U){const j=[];for(let Y=0,G=z.length;Y<G;Y++){const K=z[Y],R=H.surroundingPairs[U];j[Y]=new y.SurroundSelectionCommand(K,U,R)}return new m.EditOperationResult(0,j,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _isSurroundSelectionType(H,z,U,j){if(!V(H,j)||!H.surroundingPairs.hasOwnProperty(j))return!1;const Y=(0,m.isQuote)(j);for(const G of U){if(G.isEmpty())return!1;let K=!0;for(let R=G.startLineNumber;R<=G.endLineNumber;R++){const J=z.getLineContent(R),ie=R===G.startLineNumber?G.startColumn-1:0,ue=R===G.endLineNumber?G.endColumn-1:J.length,he=J.substring(ie,ue);if(/[^ \\t]/.test(he)){K=!1;break}}if(K)return!1;if(Y&&G.startLineNumber===G.endLineNumber&&G.startColumn+1===G.endColumn){const R=z.getValueInRange(G);if((0,m.isQuote)(R))return!1}}return!0}}e.SurroundSelectionOperation=r;class u{static getEdits(H,z,U,j,Y,G){if(!G&&this._isTypeInterceptorElectricChar(z,U,j)){const K=this._typeInterceptorElectricChar(H,z,U,j[0],Y);if(K)return K}}static _isTypeInterceptorElectricChar(H,z,U){return!!(U.length===1&&z.tokenization.isCheapToTokenize(U[0].getEndPosition().lineNumber))}static _typeInterceptorElectricChar(H,z,U,j,Y){if(!z.electricChars.hasOwnProperty(Y)||!j.isEmpty())return null;const G=j.getPosition();U.tokenization.forceTokenization(G.lineNumber);const K=U.tokenization.getLineTokens(G.lineNumber);let R;try{R=z.onElectricCharacter(Y,K,G.column)}catch(J){return(0,d.onUnexpectedError)(J),null}if(!R)return null;if(R.matchOpenBracket){const J=(K.getLineContent()+Y).lastIndexOf(R.matchOpenBracket)+1,ie=U.bracketPairs.findMatchingBracketUp(R.matchOpenBracket,{lineNumber:G.lineNumber,column:J},500);if(ie){if(ie.startLineNumber===G.lineNumber)return null;const ue=U.getLineContent(ie.startLineNumber),he=k.getLeadingWhitespace(ue),pe=z.normalizeIndentation(he),ae=U.getLineContent(G.lineNumber),ee=U.getLineFirstNonWhitespaceColumn(G.lineNumber)||G.column,de=ae.substring(ee-1,G.column-1),ge=pe+de+Y,X=new b.Range(G.lineNumber,1,G.lineNumber,G.column),B=new I.ReplaceCommand(X,ge);return new m.EditOperationResult(M(ge,H),[B],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null}}e.InterceptorElectricCharOperation=u;class C{static getEdits(H,z,U){const j=[];for(let G=0,K=z.length;G<K;G++)j[G]=new I.ReplaceCommand(z[G],U);const Y=M(U,H);return new m.EditOperationResult(Y,j,{shouldPushStackElementBefore:A(H,Y),shouldPushStackElementAfter:!1})}}e.SimpleCharacterTypeOperation=C;class f{static getEdits(H,z,U,j,Y){if(!Y&&j===`\n`){const G=[];for(let K=0,R=U.length;K<R;K++)G[K]=this._enter(H,z,!1,U[K]);return new m.EditOperationResult(4,G,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}static _enter(H,z,U,j){if(H.autoIndent===0)return F(j,`\n`,U);if(!z.tokenization.isCheapToTokenize(j.getStartPosition().lineNumber)||H.autoIndent===1){const R=z.getLineContent(j.startLineNumber),J=k.getLeadingWhitespace(R).substring(0,j.startColumn-1);return F(j,`\n`+H.normalizeIndentation(J),U)}const Y=(0,s.getEnterAction)(H.autoIndent,z,j,H.languageConfigurationService);if(Y){if(Y.indentAction===n.IndentAction.None)return F(j,`\n`+H.normalizeIndentation(Y.indentation+Y.appendText),U);if(Y.indentAction===n.IndentAction.Indent)return F(j,`\n`+H.normalizeIndentation(Y.indentation+Y.appendText),U);if(Y.indentAction===n.IndentAction.IndentOutdent){const R=H.normalizeIndentation(Y.indentation),J=H.normalizeIndentation(Y.indentation+Y.appendText),ie=`\n`+J+`\n`+R;return U?new I.ReplaceCommandWithoutChangingPosition(j,ie,!0):new I.ReplaceCommandWithOffsetCursorState(j,ie,-1,J.length-R.length,!0)}else if(Y.indentAction===n.IndentAction.Outdent){const R=W(H,Y.indentation);return F(j,`\n`+H.normalizeIndentation(R+Y.appendText),U)}}const G=z.getLineContent(j.startLineNumber),K=k.getLeadingWhitespace(G).substring(0,j.startColumn-1);if(H.autoIndent>=4){const R=(0,i.getIndentForEnter)(H.autoIndent,z,j,{unshiftIndent:J=>W(H,J),shiftIndent:J=>x(H,J),normalizeIndentation:J=>H.normalizeIndentation(J)},H.languageConfigurationService);if(R){let J=H.visibleColumnFromColumn(z,j.getEndPosition());const ie=j.endColumn,ue=z.getLineContent(j.endLineNumber),he=k.firstNonWhitespaceIndex(ue);if(he>=0?j=j.setEndPosition(j.endLineNumber,Math.max(j.endColumn,he+1)):j=j.setEndPosition(j.endLineNumber,z.getLineMaxColumn(j.endLineNumber)),U)return new I.ReplaceCommandWithoutChangingPosition(j,`\n`+H.normalizeIndentation(R.afterEnter),!0);{let pe=0;return ie<=he+1&&(H.insertSpaces||(J=Math.ceil(J/H.indentSize)),pe=Math.min(J+1-H.normalizeIndentation(R.afterEnter).length-1,0)),new I.ReplaceCommandWithOffsetCursorState(j,`\n`+H.normalizeIndentation(R.afterEnter),0,pe,!0)}}}return F(j,`\n`+H.normalizeIndentation(K),U)}static lineInsertBefore(H,z,U){if(z===null||U===null)return[];const j=[];for(let Y=0,G=U.length;Y<G;Y++){let K=U[Y].positionLineNumber;if(K===1)j[Y]=new I.ReplaceCommandWithoutChangingPosition(new b.Range(1,1,1,1),`\n`);else{K--;const R=z.getLineMaxColumn(K);j[Y]=this._enter(H,z,!1,new b.Range(K,R,K,R))}}return j}static lineInsertAfter(H,z,U){if(z===null||U===null)return[];const j=[];for(let Y=0,G=U.length;Y<G;Y++){const K=U[Y].positionLineNumber,R=z.getLineMaxColumn(K);j[Y]=this._enter(H,z,!1,new b.Range(K,R,K,R))}return j}static lineBreakInsert(H,z,U){const j=[];for(let Y=0,G=U.length;Y<G;Y++)j[Y]=this._enter(H,z,!0,U[Y]);return j}}e.EnterOperation=f;class h{static getEdits(H,z,U,j,Y,G){const K=this._distributePasteToCursors(H,U,j,Y,G);return K?(U=U.sort(b.Range.compareRangesUsingStarts),this._distributedPaste(H,z,U,K)):this._simplePaste(H,z,U,j,Y)}static _distributePasteToCursors(H,z,U,j,Y){if(j||z.length===1)return null;if(Y&&Y.length===z.length)return Y;if(H.multiCursorPaste===\"spread\"){U.charCodeAt(U.length-1)===10&&(U=U.substring(0,U.length-1)),U.charCodeAt(U.length-1)===13&&(U=U.substring(0,U.length-1));const G=k.splitLines(U);if(G.length===z.length)return G}return null}static _distributedPaste(H,z,U,j){const Y=[];for(let G=0,K=U.length;G<K;G++)Y[G]=new I.ReplaceCommand(U[G],j[G]);return new m.EditOperationResult(0,Y,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(H,z,U,j,Y){const G=[];for(let K=0,R=U.length;K<R;K++){const J=U[K],ie=J.getPosition();if(Y&&!J.isEmpty()&&(Y=!1),Y&&j.indexOf(`\n`)!==j.length-1&&(Y=!1),Y){const ue=new b.Range(ie.lineNumber,1,ie.lineNumber,1);G[K]=new I.ReplaceCommandThatPreservesSelection(ue,j,J,!0)}else G[K]=new I.ReplaceCommand(J,j)}return new m.EditOperationResult(0,G,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}e.PasteOperation=h;class v{static getEdits(H,z,U,j,Y,G,K,R){const J=j.map(ie=>this._compositionType(U,ie,Y,G,K,R));return new m.EditOperationResult(4,J,{shouldPushStackElementBefore:A(H,4),shouldPushStackElementAfter:!1})}static _compositionType(H,z,U,j,Y,G){if(!z.isEmpty())return null;const K=z.getPosition(),R=Math.max(1,K.column-j),J=Math.min(H.getLineMaxColumn(K.lineNumber),K.column+Y),ie=new b.Range(K.lineNumber,R,K.lineNumber,J);return H.getValueInRange(ie)===U&&G===0?null:new I.ReplaceCommandWithOffsetCursorState(ie,U,0,G)}}e.CompositionOperation=v;class w{static getEdits(H,z,U){const j=[];for(let G=0,K=z.length;G<K;G++)j[G]=new I.ReplaceCommand(z[G],U);const Y=M(U,H);return new m.EditOperationResult(Y,j,{shouldPushStackElementBefore:A(H,Y),shouldPushStackElementAfter:!1})}}e.TypeWithoutInterceptorsOperation=w;class S{static getCommands(H,z,U){const j=[];for(let Y=0,G=U.length;Y<G;Y++){const K=U[Y];if(K.isEmpty()){const R=z.getLineContent(K.startLineNumber);if(/^\\s*$/.test(R)&&z.tokenization.isCheapToTokenize(K.startLineNumber)){let J=this._goodIndentForLine(H,z,K.startLineNumber);J=J||\"\t\";const ie=H.normalizeIndentation(J);if(!R.startsWith(ie)){j[Y]=new I.ReplaceCommand(new b.Range(K.startLineNumber,1,K.startLineNumber,R.length+1),ie,!0);continue}}j[Y]=this._replaceJumpToNextIndent(H,z,K,!0)}else{if(K.startLineNumber===K.endLineNumber){const R=z.getLineMaxColumn(K.startLineNumber);if(K.startColumn!==1||K.endColumn!==R){j[Y]=this._replaceJumpToNextIndent(H,z,K,!1);continue}}j[Y]=new E.ShiftCommand(K,{isUnshift:!1,tabSize:H.tabSize,indentSize:H.indentSize,insertSpaces:H.insertSpaces,useTabStops:H.useTabStops,autoIndent:H.autoIndent},H.languageConfigurationService)}}return j}static _goodIndentForLine(H,z,U){let j=null,Y=\"\";const G=(0,i.getInheritIndentForLine)(H.autoIndent,z,U,!1,H.languageConfigurationService);if(G)j=G.action,Y=G.indentation;else if(U>1){let K;for(K=U-1;K>=1;K--){const ie=z.getLineContent(K);if(k.lastNonWhitespaceIndex(ie)>=0)break}if(K<1)return null;const R=z.getLineMaxColumn(K),J=(0,s.getEnterAction)(H.autoIndent,z,new b.Range(K,R,K,R),H.languageConfigurationService);J&&(Y=J.indentation+J.appendText)}return j&&(j===n.IndentAction.Indent&&(Y=x(H,Y)),j===n.IndentAction.Outdent&&(Y=W(H,Y)),Y=H.normalizeIndentation(Y)),Y||null}static _replaceJumpToNextIndent(H,z,U,j){let Y=\"\";const G=U.getStartPosition();if(H.insertSpaces){const K=H.visibleColumnFromColumn(z,G),R=H.indentSize,J=R-K%R;for(let ie=0;ie<J;ie++)Y+=\" \"}else Y=\"\t\";return new I.ReplaceCommand(U,Y,j)}}e.TabOperation=S;class L extends I.ReplaceCommandWithOffsetCursorState{constructor(H,z,U,j,Y,G){super(H,z,U,j),this._openCharacter=Y,this._closeCharacter=G,this.closeCharacterRange=null,this.enclosingRange=null}_computeCursorStateWithRange(H,z,U){return this.closeCharacterRange=new b.Range(z.startLineNumber,z.endColumn-this._closeCharacter.length,z.endLineNumber,z.endColumn),this.enclosingRange=new b.Range(z.startLineNumber,z.endColumn-this._openCharacter.length-this._closeCharacter.length,z.endLineNumber,z.endColumn),super.computeCursorState(H,U)}}e.BaseTypeWithAutoClosingCommand=L;class D extends L{constructor(H,z,U,j){const Y=(U?z:\"\")+j,G=0,K=-j.length;super(H,Y,G,K,z,j)}computeCursorState(H,z){const j=z.getInverseEditOperations()[0].range;return this._computeCursorStateWithRange(H,j,z)}}class T extends L{constructor(H,z,U,j){const Y=U+j,G=0,K=U.length;super(z,Y,G,K,U,j),this._autoIndentationEdit=H,this._autoClosingEdit={range:z,text:Y}}getEditOperations(H,z){z.addTrackedEditOperation(this._autoIndentationEdit.range,this._autoIndentationEdit.text),z.addTrackedEditOperation(this._autoClosingEdit.range,this._autoClosingEdit.text)}computeCursorState(H,z){const U=z.getInverseEditOperations();if(U.length!==2)throw new Error(\"There should be two inverse edit operations!\");const j=U[0].range,Y=U[1].range,G=j.plusRange(Y);return this._computeCursorStateWithRange(H,G,z)}}function M(q,H){return q===\" \"?H===5||H===6?6:5:4}function A(q,H){return N(q)&&!N(H)?!0:q===5?!1:P(q)!==P(H)}function P(q){return q===6||q===5?\"space\":q}function N(q){return q===4||q===5||q===6}function O(q,H,z,U,j){if(q.autoClosingOvertype===\"never\"||!q.autoClosingPairs.autoClosingPairsCloseSingleChar.has(j))return!1;for(let Y=0,G=z.length;Y<G;Y++){const K=z[Y];if(!K.isEmpty())return!1;const R=K.getPosition(),J=H.getLineContent(R.lineNumber);if(J.charAt(R.column-1)!==j)return!1;const ue=(0,m.isQuote)(j);if((R.column>2?J.charCodeAt(R.column-2):0)===92&&ue)return!1;if(q.autoClosingOvertype===\"auto\"){let pe=!1;for(let ae=0,ee=U.length;ae<ee;ae++){const de=U[ae];if(R.lineNumber===de.startLineNumber&&R.column===de.startColumn){pe=!0;break}}if(!pe)return!1}}return!0}function F(q,H,z){return z?new I.ReplaceCommandWithoutChangingPosition(q,H,!0):new I.ReplaceCommand(q,H,!0)}function x(q,H,z){return z=z||1,E.ShiftCommand.shiftIndent(H,H.length+z,q.tabSize,q.indentSize,q.insertSpaces)}function W(q,H,z){return z=z||1,E.ShiftCommand.unshiftIndent(H,H.length+z,q.tabSize,q.indentSize,q.insertSpaces)}function V(q,H){return(0,m.isQuote)(H)?q.autoSurround===\"quotes\"||q.autoSurround===\"languageDefined\":q.autoSurround===\"brackets\"||q.autoSurround===\"languageDefined\"}}),define(ne[276],se([1,0,183,312,76,213]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CompositionOutcome=e.TypeOperations=void 0;class y{static indent(b,p,n){if(p===null||n===null)return[];const o=[];for(let t=0,i=n.length;t<i;t++)o[t]=new d.ShiftCommand(n[t],{isUnshift:!1,tabSize:b.tabSize,indentSize:b.indentSize,insertSpaces:b.insertSpaces,useTabStops:b.useTabStops,autoIndent:b.autoIndent},b.languageConfigurationService);return o}static outdent(b,p,n){const o=[];for(let t=0,i=n.length;t<i;t++)o[t]=new d.ShiftCommand(n[t],{isUnshift:!0,tabSize:b.tabSize,indentSize:b.indentSize,insertSpaces:b.insertSpaces,useTabStops:b.useTabStops,autoIndent:b.autoIndent},b.languageConfigurationService);return o}static paste(b,p,n,o,t,i){return E.PasteOperation.getEdits(b,p,n,o,t,i)}static tab(b,p,n){return E.TabOperation.getCommands(b,p,n)}static compositionType(b,p,n,o,t,i,s,g){return E.CompositionOperation.getEdits(b,p,n,o,t,i,s,g)}static compositionEndWithInterceptors(b,p,n,o,t,i){if(!o)return null;let s=null;for(const r of o)if(s===null)s=r.insertedText;else if(s!==r.insertedText)return null;if(!s||s.length!==1)return null;const g=s;let c=!1;for(const r of o)if(r.deletedText.length!==0){c=!0;break}if(c){if(!(0,E.shouldSurroundChar)(p,g)||!p.surroundingPairs.hasOwnProperty(g))return null;const r=(0,I.isQuote)(g);for(const f of o)if(f.deletedSelectionStart!==0||f.deletedSelectionEnd!==f.deletedText.length||/^[ \\t]+$/.test(f.deletedText)||r&&(0,I.isQuote)(f.deletedText))return null;const u=[];for(const f of t){if(!f.isEmpty())return null;u.push(f.getPosition())}if(u.length!==o.length)return null;const C=[];for(let f=0,h=u.length;f<h;f++)C.push(new k.CompositionSurroundSelectionCommand(u[f],o[f].deletedText,p.surroundingPairs[g]));return new I.EditOperationResult(4,C,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const l=E.AutoClosingOvertypeWithInterceptorsOperation.getEdits(p,n,t,i,g);if(l!==void 0)return l;const a=E.AutoClosingOpenCharTypeOperation.getEdits(p,n,t,g,!0,!1);return a!==void 0?a:null}static typeWithInterceptors(b,p,n,o,t,i,s){const g=E.EnterOperation.getEdits(n,o,t,s,b);if(g!==void 0)return g;const c=E.AutoIndentOperation.getEdits(n,o,t,s,b);if(c!==void 0)return c;const l=E.AutoClosingOvertypeOperation.getEdits(p,n,o,t,i,s);if(l!==void 0)return l;const a=E.AutoClosingOpenCharTypeOperation.getEdits(n,o,t,s,!1,b);if(a!==void 0)return a;const r=E.SurroundSelectionOperation.getEdits(n,o,t,s,b);if(r!==void 0)return r;const u=E.InterceptorElectricCharOperation.getEdits(p,n,o,t,s,b);return u!==void 0?u:E.SimpleCharacterTypeOperation.getEdits(p,t,s)}static typeWithoutInterceptors(b,p,n,o,t){return E.TypeWithoutInterceptorsOperation.getEdits(b,o,t)}}e.TypeOperations=y;class m{constructor(b,p,n,o,t,i){this.deletedText=b,this.deletedSelectionStart=p,this.deletedSelectionEnd=n,this.insertedText=o,this.insertedSelectionStart=t,this.insertedSelectionEnd=i}}e.CompositionOutcome=m}),define(ne[706],se([1,0,8,11,567,76,556,234,276,213,4,23,132,243,2,244]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CommandExecutor=e.CursorsController=void 0;class g extends i.Disposable{constructor(f,h,v,w){super(),this._model=f,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=h,this._coordinatesConverter=v,this.context=new y.CursorContext(this._model,this._viewModel,this._coordinatesConverter,w),this._cursors=new I.CursorCollection(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=(0,i.dispose)(this._autoClosedActions),super.dispose()}updateConfiguration(f){this.context=new y.CursorContext(this._model,this._viewModel,this._coordinatesConverter,f),this._cursors.updateContext(this.context)}onLineMappingChanged(f){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(f,\"viewModel\",0,this.getCursorStates())}setHasFocus(f){this._hasFocus=f}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){const f=this._cursors.getSelections();for(let h=0;h<this._autoClosedActions.length;h++){const v=this._autoClosedActions[h];v.isValid(f)||(v.dispose(),this._autoClosedActions.splice(h,1),h--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(f,h,v,w){let S=!1;const L=this.context.cursorConfig.multiCursorLimit;w!==null&&w.length>L&&(w=w.slice(0,L),S=!0);const D=c.from(this._model,this);return this._cursors.setStates(w),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(f,h,v,D,S)}setCursorColumnSelectData(f){this._columnSelectData=f}revealAll(f,h,v,w,S,L){const D=this._cursors.getViewPositions();let T=null,M=null;D.length>1?M=this._cursors.getViewSelections():T=p.Range.fromPositions(D[0],D[0]),f.emitViewEvent(new t.ViewRevealRangeRequestEvent(h,v,T,M,w,S,L))}revealPrimary(f,h,v,w,S,L){const T=[this._cursors.getPrimaryCursor().viewState.selection];f.emitViewEvent(new t.ViewRevealRangeRequestEvent(h,v,null,T,w,S,L))}saveState(){const f=[],h=this._cursors.getSelections();for(let v=0,w=h.length;v<w;v++){const S=h[v];f.push({inSelectionMode:!S.isEmpty(),selectionStart:{lineNumber:S.selectionStartLineNumber,column:S.selectionStartColumn},position:{lineNumber:S.positionLineNumber,column:S.positionColumn}})}return f}restoreState(f,h){const v=[];for(let w=0,S=h.length;w<S;w++){const L=h[w];let D=1,T=1;L.position&&L.position.lineNumber&&(D=L.position.lineNumber),L.position&&L.position.column&&(T=L.position.column);let M=D,A=T;L.selectionStart&&L.selectionStart.lineNumber&&(M=L.selectionStart.lineNumber),L.selectionStart&&L.selectionStart.column&&(A=L.selectionStart.column),v.push({selectionStartLineNumber:M,selectionStartColumn:A,positionLineNumber:D,positionColumn:T})}this.setStates(f,\"restoreState\",0,E.CursorState.fromModelSelections(v)),this.revealAll(f,\"restoreState\",!1,0,!0,1)}onModelContentChanged(f,h){if(h instanceof o.ModelInjectedTextChangedEvent){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(f,\"modelChange\",0,this.getCursorStates())}finally{this._isHandling=!1}}else{const v=h.rawContentChangedEvent;if(this._knownModelVersionId=v.versionId,this._isHandling)return;const w=v.containsEvent(1);if(this._prevEditOperationType=0,w)this._cursors.dispose(),this._cursors=new I.CursorCollection(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(f,\"model\",1,null,!1);else if(this._hasFocus&&v.resultingSelection&&v.resultingSelection.length>0){const S=E.CursorState.fromModelSelections(v.resultingSelection);this.setStates(f,\"modelChange\",v.isUndoing?5:v.isRedoing?6:2,S)&&this.revealAll(f,\"modelChange\",!1,0,!0,0)}else{const S=this._cursors.readSelectionFromMarkers();this.setStates(f,\"modelChange\",2,E.CursorState.fromModelSelections(S))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const f=this._cursors.getPrimaryCursor(),h=f.viewState.selectionStart.getStartPosition(),v=f.viewState.position;return{isReal:!1,fromViewLineNumber:h.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,h),toViewLineNumber:v.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,v)}}getSelections(){return this._cursors.getSelections()}setSelections(f,h,v,w){this.setStates(f,h,w,E.CursorState.fromModelSelections(v))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(f){this._prevEditOperationType=f}_pushAutoClosedAction(f,h){const v=[],w=[];for(let D=0,T=f.length;D<T;D++)v.push({range:f[D],options:{description:\"auto-closed-character\",inlineClassName:\"auto-closed-character\",stickiness:1}}),w.push({range:h[D],options:{description:\"auto-closed-enclosing\",stickiness:1}});const S=this._model.deltaDecorations([],v),L=this._model.deltaDecorations([],w);this._autoClosedActions.push(new l(this._model,S,L))}_executeEditOperation(f){if(!f)return;f.shouldPushStackElementBefore&&this._model.pushStackElement();const h=a.executeCommands(this._model,this._cursors.getSelections(),f.commands);if(h){this._interpretCommandResult(h);const v=[],w=[];for(let S=0;S<f.commands.length;S++){const L=f.commands[S];L instanceof b.BaseTypeWithAutoClosingCommand&&L.enclosingRange&&L.closeCharacterRange&&(v.push(L.closeCharacterRange),w.push(L.enclosingRange))}v.length>0&&this._pushAutoClosedAction(v,w),this._prevEditOperationType=f.type}f.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(f){(!f||f.length===0)&&(f=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(f),this._cursors.normalize()}_emitStateChangedIfNecessary(f,h,v,w,S){const L=c.from(this._model,this);if(L.equals(w))return!1;const D=this._cursors.getSelections(),T=this._cursors.getViewSelections();if(f.emitViewEvent(new t.ViewCursorStateChangedEvent(T,D,v)),!w||w.cursorState.length!==L.cursorState.length||L.cursorState.some((M,A)=>!M.modelState.equals(w.cursorState[A].modelState))){const M=w?w.cursorState.map(P=>P.modelState.selection):null,A=w?w.modelVersionId:0;f.emitOutgoingEvent(new s.CursorStateChangedEvent(M,D,A,L.modelVersionId,h||\"keyboard\",v,S))}return!0}_findAutoClosingPairs(f){if(!f.length)return null;const h=[];for(let v=0,w=f.length;v<w;v++){const S=f[v];if(!S.text||S.text.indexOf(`\n`)>=0)return null;const L=S.text.match(/([)\\]}>'\"`])([^)\\]}>'\"`]*)$/);if(!L)return null;const D=L[1],T=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(D);if(!T||T.length!==1)return null;const M=T[0].open,A=S.text.length-L[2].length-1,P=S.text.lastIndexOf(M,A-1);if(P===-1)return null;h.push([P,A])}return h}executeEdits(f,h,v,w){let S=null;h===\"snippet\"&&(S=this._findAutoClosingPairs(v)),S&&(v[0]._isTracked=!0);const L=[],D=[],T=this._model.pushEditOperations(this.getSelections(),v,M=>{if(S)for(let P=0,N=S.length;P<N;P++){const[O,F]=S[P],x=M[P],W=x.range.startLineNumber,V=x.range.startColumn-1+O,q=x.range.startColumn-1+F;L.push(new p.Range(W,q+1,W,q+2)),D.push(new p.Range(W,V+1,W,q+2))}const A=w(M);return A&&(this._isHandling=!0),A});T&&(this._isHandling=!1,this.setSelections(f,h,T,0)),L.length>0&&this._pushAutoClosedAction(L,D)}_executeEdit(f,h,v,w=0){if(this.context.cursorConfig.readOnly)return;const S=c.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),f()}catch(L){(0,d.onUnexpectedError)(L)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(h,v,w,S,!1)&&this.revealAll(h,v,!1,0,!0,0)}getAutoClosedCharacters(){return l.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(f){this._compositionState=new u(this._model,this.getSelections())}endComposition(f,h){const v=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{h===\"keyboard\"&&this._executeEditOperation(_.TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,v,this.getSelections(),this.getAutoClosedCharacters()))},f,h)}type(f,h,v){this._executeEdit(()=>{if(v===\"keyboard\"){const w=h.length;let S=0;for(;S<w;){const L=k.nextCharLength(h,S),D=h.substr(S,L);this._executeEditOperation(_.TypeOperations.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),D)),S+=L}}else this._executeEditOperation(_.TypeOperations.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),h))},f,v)}compositionType(f,h,v,w,S,L){if(h.length===0&&v===0&&w===0){if(S!==0){const D=this.getSelections().map(T=>{const M=T.getPosition();return new n.Selection(M.lineNumber,M.column+S,M.lineNumber,M.column+S)});this.setSelections(f,L,D,0)}return}this._executeEdit(()=>{this._executeEditOperation(_.TypeOperations.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),h,v,w,S))},f,L)}paste(f,h,v,w,S){this._executeEdit(()=>{this._executeEditOperation(_.TypeOperations.paste(this.context.cursorConfig,this._model,this.getSelections(),h,v,w||[]))},f,S,4)}cut(f,h){this._executeEdit(()=>{this._executeEditOperation(m.DeleteOperations.cut(this.context.cursorConfig,this._model,this.getSelections()))},f,h)}executeCommand(f,h,v){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new E.EditOperationResult(0,[h],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},f,v)}executeCommands(f,h,v){this._executeEdit(()=>{this._executeEditOperation(new E.EditOperationResult(0,h,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},f,v)}}e.CursorsController=g;class c{static from(f,h){return new c(f.getVersionId(),h.getCursorStates())}constructor(f,h){this.modelVersionId=f,this.cursorState=h}equals(f){if(!f||this.modelVersionId!==f.modelVersionId||this.cursorState.length!==f.cursorState.length)return!1;for(let h=0,v=this.cursorState.length;h<v;h++)if(!this.cursorState[h].equals(f.cursorState[h]))return!1;return!0}}class l{static getAllAutoClosedCharacters(f){let h=[];for(const v of f)h=h.concat(v.getAutoClosedCharactersRanges());return h}constructor(f,h,v){this._model=f,this._autoClosedCharactersDecorations=h,this._autoClosedEnclosingDecorations=v}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){const f=[];for(let h=0;h<this._autoClosedCharactersDecorations.length;h++){const v=this._model.getDecorationRange(this._autoClosedCharactersDecorations[h]);v&&f.push(v)}return f}isValid(f){const h=[];for(let v=0;v<this._autoClosedEnclosingDecorations.length;v++){const w=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[v]);if(w&&(h.push(w),w.startLineNumber!==w.endLineNumber))return!1}h.sort(p.Range.compareRangesUsingStarts),f.sort(p.Range.compareRangesUsingStarts);for(let v=0;v<f.length;v++)if(v>=h.length||!h[v].strictContainsRange(f[v]))return!1;return!0}}class a{static executeCommands(f,h,v){const w={model:f,selectionsBefore:h,trackedRanges:[],trackedRangesDirection:[]},S=this._innerExecuteCommands(w,v);for(let L=0,D=w.trackedRanges.length;L<D;L++)w.model._setTrackedRange(w.trackedRanges[L],null,0);return S}static _innerExecuteCommands(f,h){if(this._arrayIsEmpty(h))return null;const v=this._getEditOperations(f,h);if(v.operations.length===0)return null;const w=v.operations,S=this._getLoserCursorMap(w);if(S.hasOwnProperty(\"0\"))return console.warn(\"Ignoring commands\"),null;const L=[];for(let M=0,A=w.length;M<A;M++)S.hasOwnProperty(w[M].identifier.major.toString())||L.push(w[M]);v.hadTrackedEditOperation&&L.length>0&&(L[0]._isTracked=!0);let D=f.model.pushEditOperations(f.selectionsBefore,L,M=>{const A=[];for(let O=0;O<f.selectionsBefore.length;O++)A[O]=[];for(const O of M)O.identifier&&A[O.identifier.major].push(O);const P=(O,F)=>O.identifier.minor-F.identifier.minor,N=[];for(let O=0;O<f.selectionsBefore.length;O++)A[O].length>0?(A[O].sort(P),N[O]=h[O].computeCursorState(f.model,{getInverseEditOperations:()=>A[O],getTrackedSelection:F=>{const x=parseInt(F,10),W=f.model._getTrackedRange(f.trackedRanges[x]);return f.trackedRangesDirection[x]===0?new n.Selection(W.startLineNumber,W.startColumn,W.endLineNumber,W.endColumn):new n.Selection(W.endLineNumber,W.endColumn,W.startLineNumber,W.startColumn)}})):N[O]=f.selectionsBefore[O];return N});D||(D=f.selectionsBefore);const T=[];for(const M in S)S.hasOwnProperty(M)&&T.push(parseInt(M,10));T.sort((M,A)=>A-M);for(const M of T)D.splice(M,1);return D}static _arrayIsEmpty(f){for(let h=0,v=f.length;h<v;h++)if(f[h])return!1;return!0}static _getEditOperations(f,h){let v=[],w=!1;for(let S=0,L=h.length;S<L;S++){const D=h[S];if(D){const T=this._getEditOperationsFromCommand(f,S,D);v=v.concat(T.operations),w=w||T.hadTrackedEditOperation}}return{operations:v,hadTrackedEditOperation:w}}static _getEditOperationsFromCommand(f,h,v){const w=[];let S=0;const L=(P,N,O=!1)=>{p.Range.isEmpty(P)&&N===\"\"||w.push({identifier:{major:h,minor:S++},range:P,text:N,forceMoveMarkers:O,isAutoWhitespaceEdit:v.insertsAutoWhitespace})};let D=!1;const A={addEditOperation:L,addTrackedEditOperation:(P,N,O)=>{D=!0,L(P,N,O)},trackSelection:(P,N)=>{const O=n.Selection.liftSelection(P);let F;if(O.isEmpty())if(typeof N==\"boolean\")N?F=2:F=3;else{const V=f.model.getLineMaxColumn(O.startLineNumber);O.startColumn===V?F=2:F=3}else F=1;const x=f.trackedRanges.length,W=f.model._setTrackedRange(null,O,F);return f.trackedRanges[x]=W,f.trackedRangesDirection[x]=O.getDirection(),x.toString()}};try{v.getEditOperations(f.model,A)}catch(P){return(0,d.onUnexpectedError)(P),{operations:[],hadTrackedEditOperation:!1}}return{operations:w,hadTrackedEditOperation:D}}static _getLoserCursorMap(f){f=f.slice(0),f.sort((v,w)=>-p.Range.compareRangesUsingEnds(v.range,w.range));const h={};for(let v=1;v<f.length;v++){const w=f[v-1],S=f[v];if(p.Range.getStartPosition(w.range).isBefore(p.Range.getEndPosition(S.range))){let L;w.identifier.major>S.identifier.major?L=w.identifier.major:L=S.identifier.major,h[L.toString()]=!0;for(let D=0;D<f.length;D++)f[D].identifier.major===L&&(f.splice(D,1),D<v&&v--,D--);v>0&&v--}}return h}}e.CommandExecutor=a;class r{constructor(f,h,v){this.text=f,this.startSelection=h,this.endSelection=v}}class u{static _capture(f,h){const v=[];for(const w of h){if(w.startLineNumber!==w.endLineNumber)return null;v.push(new r(f.getLineContent(w.startLineNumber),w.startColumn-1,w.endColumn-1))}return v}constructor(f,h){this._original=u._capture(f,h)}deduceOutcome(f,h){if(!this._original)return null;const v=u._capture(f,h);if(!v||this._original.length!==v.length)return null;const w=[];for(let S=0,L=this._original.length;S<L;S++)w.push(u._deduceOutcome(this._original[S],v[S]));return w}static _deduceOutcome(f,h){const v=Math.min(f.startSelection,h.startSelection,k.commonPrefixLength(f.text,h.text)),w=Math.min(f.text.length-f.endSelection,h.text.length-h.endSelection,k.commonSuffixLength(f.text,h.text)),S=f.text.substring(v,f.text.length-w),L=h.text.substring(v,h.text.length-w);return new _.CompositionOutcome(S,f.startSelection-v,f.endSelection-v,L,h.startSelection-v,h.endSelection-v)}}}),define(ne[707],se([1,0,8,6,2,145,55,9,147,27,43,36,323,663,263,664,384,330,588,590]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){\"use strict\";var r;Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenizationTextModelPart=void 0;let u=r=class extends o.TextModelPart{constructor(h,v,w,S,L,D,T){super(),this._textModel=h,this._bracketPairsTextModelPart=v,this._languageId=w,this._attachedViews=S,this._languageService=L,this._languageConfigurationService=D,this._treeSitterService=T,this._semanticTokens=new a.SparseTokensStore(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new k.Emitter),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new k.Emitter),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new k.Emitter),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new I.DisposableStore),this._register(this._languageConfigurationService.onDidChange(M=>{M.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(k.Event.filter(b.TreeSitterTokenizationRegistry.onDidChange,M=>M.changedLanguages.includes(this._languageId))(()=>{this.createPreferredTokenProvider()})),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new C(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews))}createTreeSitterTokens(){return this._register(new s.TreeSitterTokens(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,()=>this._languageId))}createTokens(h){const v=this._tokens!==void 0;this._tokens?.dispose(),this._tokens=h?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens(w=>{this._emitModelTokensChangedEvent(w)})),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState(w=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),v&&this._tokens.resetTokenization()}createPreferredTokenProvider(){b.TreeSitterTokenizationRegistry.get(this._languageId)?this._tokens instanceof s.TreeSitterTokens||this.createTokens(!0):this._tokens instanceof C||this.createTokens(!1)}handleLanguageConfigurationServiceChange(h){h.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(h){if(h.isFlush)this._semanticTokens.flush();else if(!h.isEolChange)for(const v of h.changes){const[w,S,L]=(0,E.countEOL)(v.text);this._semanticTokens.acceptEdit(v.range,w,S,L,v.text.length>0?v.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(h)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(h){this.validateLineNumber(h);const v=this._tokens.getLineTokens(h);return this._semanticTokens.addSparseTokens(h,v)}_emitModelTokensChangedEvent(h){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(h),this._onDidChangeTokens.fire(h))}validateLineNumber(h){if(h<1||h>this._textModel.getLineCount())throw new d.BugIndicatingError(\"Illegal value for lineNumber\")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(h){this.validateLineNumber(h),this._tokens.forceTokenization(h)}hasAccurateTokensForLine(h){return this.validateLineNumber(h),this._tokens.hasAccurateTokensForLine(h)}isCheapToTokenize(h){return this.validateLineNumber(h),this._tokens.isCheapToTokenize(h)}tokenizeIfCheap(h){this.validateLineNumber(h),this._tokens.tokenizeIfCheap(h)}getTokenTypeIfInsertingCharacter(h,v,w){return this._tokens.getTokenTypeIfInsertingCharacter(h,v,w)}tokenizeLineWithEdit(h,v,w){return this._tokens.tokenizeLineWithEdit(h,v,w)}setSemanticTokens(h,v){this._semanticTokens.set(h,v),this._emitModelTokensChangedEvent({semanticTokensApplied:h!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(h,v){if(this.hasCompleteSemanticTokens())return;const w=this._textModel.validateRange(this._semanticTokens.setPartial(h,v));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:w.startLineNumber,toLineNumber:w.endLineNumber}]})}getWordAtPosition(h){this.assertNotDisposed();const v=this._textModel.validatePosition(h),w=this._textModel.getLineContent(v.lineNumber),S=this.getLineTokens(v.lineNumber),L=S.findTokenIndexAtOffset(v.column-1),[D,T]=r._findLanguageBoundaries(S,L),M=(0,_.getWordAtText)(v.column,this.getLanguageConfiguration(S.getLanguageId(L)).getWordDefinition(),w.substring(D,T),D);if(M&&M.startColumn<=h.column&&h.column<=M.endColumn)return M;if(L>0&&D===v.column-1){const[A,P]=r._findLanguageBoundaries(S,L-1),N=(0,_.getWordAtText)(v.column,this.getLanguageConfiguration(S.getLanguageId(L-1)).getWordDefinition(),w.substring(A,P),A);if(N&&N.startColumn<=h.column&&h.column<=N.endColumn)return N}return null}getLanguageConfiguration(h){return this._languageConfigurationService.getLanguageConfiguration(h)}static _findLanguageBoundaries(h,v){const w=h.getLanguageId(v);let S=0;for(let D=v;D>=0&&h.getLanguageId(D)===w;D--)S=h.getStartOffset(D);let L=h.getLineContent().length;for(let D=v,T=h.getCount();D<T&&h.getLanguageId(D)===w;D++)L=h.getEndOffset(D);return[S,L]}getWordUntilPosition(h){const v=this.getWordAtPosition(h);return v?{word:v.word.substr(0,h.column-v.startColumn),startColumn:v.startColumn,endColumn:h.column}:{word:\"\",startColumn:h.column,endColumn:h.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(h,v){const w=this._textModel.validatePosition(new m.Position(h,v)),S=this.getLineTokens(w.lineNumber);return S.getLanguageId(S.findTokenIndexAtOffset(w.column-1))}setLanguageId(h,v=\"api\"){if(this._languageId===h)return;const w={oldLanguage:this._languageId,newLanguage:h,source:v};this._languageId=h,this._bracketPairsTextModelPart.handleDidChangeLanguage(w),this._tokens.resetTokenization(),this.createPreferredTokenProvider(),this._onDidChangeLanguage.fire(w),this._onDidChangeLanguageConfiguration.fire({})}};e.TokenizationTextModelPart=u,e.TokenizationTextModelPart=u=r=ke([ce(4,p.ILanguageService),ce(5,n.ILanguageConfigurationService),ce(6,g.ITreeSitterParserService)],u);class C extends i.AbstractTokens{constructor(h,v,w,S){super(h,v,w),this._tokenizer=null,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new I.MutableDisposable),this._tokens=new l.ContiguousTokensStore(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new I.MutableDisposable),this._attachedViewStates=this._register(new I.DisposableMap),this._register(b.TokenizationRegistry.onDidChange(L=>{const D=this.getLanguageId();L.changedLanguages.indexOf(D)!==-1&&this.resetTokenization()})),this.resetTokenization(),this._register(S.onDidChangeVisibleRanges(({view:L,state:D})=>{if(D){let T=this._attachedViewStates.get(L);T||(T=new i.AttachedViewHandler(()=>this.refreshRanges(T.lineRanges)),this._attachedViewStates.set(L,T)),T.handleStateChange(D)}else this._attachedViewStates.deleteAndDispose(L)}))}resetTokenization(h=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new t.TrackingTokenizationStateStore(this._textModel.getLineCount())),h&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const v=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const L=b.TokenizationRegistry.get(this.getLanguageId());if(!L)return[null,null];let D;try{D=L.getInitialState()}catch(T){return(0,d.onUnexpectedError)(T),[null,null]}return[L,D]},[w,S]=v();if(w&&S?this._tokenizer=new t.TokenizerWithStateStoreAndTextModel(this._textModel.getLineCount(),w,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const L={setTokens:D=>{this.setTokens(D)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;const D=2;this._backgroundTokenizationState=D,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(D,T)=>{if(!this._tokenizer)return;const M=this._tokenizer.store.getFirstInvalidEndStateLineNumber();M!==null&&D>=M&&this._tokenizer?.store.setEndState(D,T)}};w&&w.createBackgroundTokenizer&&!w.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=w.createBackgroundTokenizer(this._textModel,L)),!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization()&&(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new t.DefaultBackgroundTokenizer(this._tokenizer,L),this._defaultBackgroundTokenizer.handleChanges()),w?.backgroundTokenizerShouldOnlyVerifyTokens&&w.createBackgroundTokenizer?(this._debugBackgroundTokens=new l.ContiguousTokensStore(this._languageIdCodec),this._debugBackgroundStates=new t.TrackingTokenizationStateStore(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=w.createBackgroundTokenizer(this._textModel,{setTokens:D=>{this._debugBackgroundTokens?.setMultilineTokens(D,this._textModel)},backgroundTokenizationFinished(){},setEndState:(D,T)=>{this._debugBackgroundStates?.setEndState(D,T)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(h){if(h.isFlush)this.resetTokenization(!1);else if(!h.isEolChange){for(const v of h.changes){const[w,S]=(0,E.countEOL)(v.text);this._tokens.acceptEdit(v.range,w,S),this._debugBackgroundTokens?.acceptEdit(v.range,w,S)}this._debugBackgroundStates?.acceptChanges(h.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(h.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(h){const{changes:v}=this._tokens.setMultilineTokens(h,this._textModel);return v.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:v}),{changes:v}}refreshAllVisibleLineTokens(){const h=y.LineRange.joinMany([...this._attachedViewStates].map(([v,w])=>w.lineRanges));this.refreshRanges(h)}refreshRanges(h){for(const v of h)this.refreshRange(v.startLineNumber,v.endLineNumberExclusive-1)}refreshRange(h,v){if(!this._tokenizer)return;h=Math.max(1,Math.min(this._textModel.getLineCount(),h)),v=Math.min(this._textModel.getLineCount(),v);const w=new c.ContiguousMultilineTokensBuilder,{heuristicTokens:S}=this._tokenizer.tokenizeHeuristically(w,h,v),L=this.setTokens(w.finalize());if(S)for(const D of L.changes)this._backgroundTokenizer.value?.requestTokens(D.fromLineNumber,D.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(h){const v=new c.ContiguousMultilineTokensBuilder;this._tokenizer?.updateTokensUntilLine(v,h),this.setTokens(v.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(h){return this._tokenizer?this._tokenizer.hasAccurateTokensForLine(h):!0}isCheapToTokenize(h){return this._tokenizer?this._tokenizer.isCheapToTokenize(h):!0}getLineTokens(h){const v=this._textModel.getLineContent(h),w=this._tokens.getTokens(this._textModel.getLanguageId(),h-1,v);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>h&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>h){const S=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),h-1,v);!w.equals(S)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(h)}return w}getTokenTypeIfInsertingCharacter(h,v,w){if(!this._tokenizer)return 0;const S=this._textModel.validatePosition(new m.Position(h,v));return this.forceTokenization(S.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(S,w)}tokenizeLineWithEdit(h,v,w){if(!this._tokenizer)return null;const S=this._textModel.validatePosition(h);return this.forceTokenization(S.lineNumber),this._tokenizer.tokenizeLineWithEdit(S,v,w)}get hasTokens(){return this._tokens.hasTokens}}}),define(ne[708],se([1,0,42,48,22,70,382,30]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getIconClasses=b;const _=/(?:\\/|^)(?:([^\\/]+)\\/)?([^\\/]+)$/;function b(o,t,i,s,g){if(m.ThemeIcon.isThemeIcon(g))return[`codicon-${g.id}`,\"predefined-file-icon\"];if(I.URI.isUri(g))return[];const c=s===y.FileKind.ROOT_FOLDER?[\"rootfolder-icon\"]:s===y.FileKind.FOLDER?[\"folder-icon\"]:[\"file-icon\"];if(i){let l;if(i.scheme===d.Schemas.data)l=k.DataUri.parseMetaData(i).get(k.DataUri.META_DATA_LABEL);else{const a=i.path.match(_);a?(l=n(a[2].toLowerCase()),a[1]&&c.push(`${n(a[1].toLowerCase())}-name-dir-icon`)):l=n(i.authority.toLowerCase())}if(s===y.FileKind.ROOT_FOLDER)c.push(`${l}-root-name-folder-icon`);else if(s===y.FileKind.FOLDER)c.push(`${l}-name-folder-icon`);else{if(l){if(c.push(`${l}-name-file-icon`),c.push(\"name-file-icon\"),l.length<=255){const r=l.split(\".\");for(let u=1;u<r.length;u++)c.push(`${r.slice(u).join(\".\")}-ext-file-icon`)}c.push(\"ext-file-icon\")}const a=p(o,t,i);a&&c.push(`${n(a)}-lang-file-icon`)}}return c}function p(o,t,i){if(!i)return null;let s=null;if(i.scheme===d.Schemas.data){const c=k.DataUri.parseMetaData(i).get(k.DataUri.META_DATA_MIME);c&&(s=t.getLanguageIdByMimeType(c))}else{const g=o.getModel(i);g&&(s=g.getLanguageId())}return s&&s!==E.PLAINTEXT_LANGUAGE_ID?s:t.guessLanguageIdByFilepathOrFirstLine(i)}function n(o){return o.replace(/[\\s]/g,\"/\")}}),define(ne[709],se([1,0,350,128,42,99,48,11,70]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.registerPlatformLanguageAssociation=o,e.clearPlatformLanguageAssociations=s,e.getLanguageIds=g;let b=[],p=[],n=[];function o(r,u=!1){t(r,!1,u)}function t(r,u,C){const f=i(r,u);b.push(f),f.userConfigured?n.push(f):p.push(f),C&&!f.userConfigured&&b.forEach(h=>{h.mime===f.mime||h.userConfigured||(f.extension&&h.extension===f.extension&&console.warn(`Overwriting extension <<${f.extension}>> to now point to mime <<${f.mime}>>`),f.filename&&h.filename===f.filename&&console.warn(`Overwriting filename <<${f.filename}>> to now point to mime <<${f.mime}>>`),f.filepattern&&h.filepattern===f.filepattern&&console.warn(`Overwriting filepattern <<${f.filepattern}>> to now point to mime <<${f.mime}>>`),f.firstline&&h.firstline===f.firstline&&console.warn(`Overwriting firstline <<${f.firstline}>> to now point to mime <<${f.mime}>>`))})}function i(r,u){return{id:r.id,mime:r.mime,filename:r.filename,extension:r.extension,filepattern:r.filepattern,firstline:r.firstline,userConfigured:u,filenameLowercase:r.filename?r.filename.toLowerCase():void 0,extensionLowercase:r.extension?r.extension.toLowerCase():void 0,filepatternLowercase:r.filepattern?(0,d.parse)(r.filepattern.toLowerCase()):void 0,filepatternOnPath:r.filepattern?r.filepattern.indexOf(E.posix.sep)>=0:!1}}function s(){b=b.filter(r=>r.userConfigured),p=[]}function g(r,u){return c(r,u).map(C=>C.id)}function c(r,u){let C;if(r)switch(r.scheme){case I.Schemas.file:C=r.fsPath;break;case I.Schemas.data:{C=y.DataUri.parseMetaData(r).get(y.DataUri.META_DATA_LABEL);break}case I.Schemas.vscodeNotebookCell:C=void 0;break;default:C=r.path}if(!C)return[{id:\"unknown\",mime:k.Mimes.unknown}];C=C.toLowerCase();const f=(0,E.basename)(C),h=l(C,f,n);if(h)return[h,{id:_.PLAINTEXT_LANGUAGE_ID,mime:k.Mimes.text}];const v=l(C,f,p);if(v)return[v,{id:_.PLAINTEXT_LANGUAGE_ID,mime:k.Mimes.text}];if(u){const w=a(u);if(w)return[w,{id:_.PLAINTEXT_LANGUAGE_ID,mime:k.Mimes.text}]}return[{id:\"unknown\",mime:k.Mimes.unknown}]}function l(r,u,C){let f,h,v;for(let w=C.length-1;w>=0;w--){const S=C[w];if(u===S.filenameLowercase){f=S;break}if(S.filepattern&&(!h||S.filepattern.length>h.filepattern.length)){const L=S.filepatternOnPath?r:u;S.filepatternLowercase?.(L)&&(h=S)}S.extension&&(!v||S.extension.length>v.extension.length)&&u.endsWith(S.extensionLowercase)&&(v=S)}if(f)return f;if(h)return h;if(v)return v}function a(r){if((0,m.startsWithUTF8BOM)(r)&&(r=r.substr(1)),r.length>0)for(let u=b.length-1;u>=0;u--){const C=b[u];if(!C.firstline)continue;const f=r.match(C.firstline);if(f&&f.length>0)return C}}}),define(ne[710],se([1,0,6,2,11,709,70,109,38]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LanguagesRegistry=e.LanguageIdCodec=void 0;const b=Object.prototype.hasOwnProperty,p=\"vs.editor.nullLanguage\";class n{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(p,0),this._register(y.PLAINTEXT_LANGUAGE_ID,1),this._nextLanguageId=2}_register(i,s){this._languageIdToLanguage[s]=i,this._languageToLanguageId.set(i,s)}register(i){if(this._languageToLanguageId.has(i))return;const s=this._nextLanguageId++;this._register(i,s)}encodeLanguageId(i){return this._languageToLanguageId.get(i)||0}decodeLanguageId(i){return this._languageIdToLanguage[i]||p}}e.LanguageIdCodec=n;class o extends k.Disposable{static{this.instanceCount=0}constructor(i=!0,s=!1){super(),this._onDidChange=this._register(new d.Emitter),this.onDidChange=this._onDidChange.event,o.instanceCount++,this._warnOnOverwrite=s,this.languageIdCodec=new n,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},i&&(this._initializeFromRegistry(),this._register(y.ModesRegistry.onDidChangeLanguages(g=>{this._initializeFromRegistry()})))}dispose(){o.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,E.clearPlatformLanguageAssociations)();const i=[].concat(y.ModesRegistry.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(i)}_registerLanguages(i){for(const s of i)this._registerLanguage(s);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(s=>{const g=this._languages[s];g.name&&(this._nameMap[g.name]=g.identifier),g.aliases.forEach(c=>{this._lowercaseNameMap[c.toLowerCase()]=g.identifier}),g.mimetypes.forEach(c=>{this._mimeTypesMap[c]=g.identifier})}),_.Registry.as(m.Extensions.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(i){const s=i.id;let g;b.call(this._languages,s)?g=this._languages[s]:(this.languageIdCodec.register(s),g={identifier:s,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[s]=g),this._mergeLanguage(g,i)}_mergeLanguage(i,s){const g=s.id;let c=null;if(Array.isArray(s.mimetypes)&&s.mimetypes.length>0&&(i.mimetypes.push(...s.mimetypes),c=s.mimetypes[0]),c||(c=`text/x-${g}`,i.mimetypes.push(c)),Array.isArray(s.extensions)){s.configuration?i.extensions=s.extensions.concat(i.extensions):i.extensions=i.extensions.concat(s.extensions);for(const r of s.extensions)(0,E.registerPlatformLanguageAssociation)({id:g,mime:c,extension:r},this._warnOnOverwrite)}if(Array.isArray(s.filenames))for(const r of s.filenames)(0,E.registerPlatformLanguageAssociation)({id:g,mime:c,filename:r},this._warnOnOverwrite),i.filenames.push(r);if(Array.isArray(s.filenamePatterns))for(const r of s.filenamePatterns)(0,E.registerPlatformLanguageAssociation)({id:g,mime:c,filepattern:r},this._warnOnOverwrite);if(typeof s.firstLine==\"string\"&&s.firstLine.length>0){let r=s.firstLine;r.charAt(0)!==\"^\"&&(r=\"^\"+r);try{const u=new RegExp(r);(0,I.regExpLeadsToEndlessLoop)(u)||(0,E.registerPlatformLanguageAssociation)({id:g,mime:c,firstline:u},this._warnOnOverwrite)}catch(u){console.warn(`[${s.id}]: Invalid regular expression \\`${r}\\`: `,u)}}i.aliases.push(g);let l=null;if(typeof s.aliases<\"u\"&&Array.isArray(s.aliases)&&(s.aliases.length===0?l=[null]:l=s.aliases),l!==null)for(const r of l)!r||r.length===0||i.aliases.push(r);const a=l!==null&&l.length>0;if(!(a&&l[0]===null)){const r=(a?l[0]:null)||g;(a||!i.name)&&(i.name=r)}s.configuration&&i.configurationFiles.push(s.configuration),s.icon&&i.icons.push(s.icon)}isRegisteredLanguageId(i){return i?b.call(this._languages,i):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(i){const s=i.toLowerCase();return b.call(this._lowercaseNameMap,s)?this._lowercaseNameMap[s]:null}getLanguageIdByMimeType(i){return i&&b.call(this._mimeTypesMap,i)?this._mimeTypesMap[i]:null}guessLanguageIdByFilepathOrFirstLine(i,s){return!i&&!s?[]:(0,E.getLanguageIds)(i,s)}}e.LanguagesRegistry=o}),define(ne[711],se([1,0,6,2,710,13,27,70,21]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LanguageService=void 0;class b extends k.Disposable{static{this.instanceCount=0}constructor(o=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new d.Emitter),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new d.Emitter),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new d.Emitter({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,b.instanceCount++,this._registry=this._register(new I.LanguagesRegistry(!0,o)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){b.instanceCount--,super.dispose()}isRegisteredLanguageId(o){return this._registry.isRegisteredLanguageId(o)}getLanguageIdByLanguageName(o){return this._registry.getLanguageIdByLanguageName(o)}getLanguageIdByMimeType(o){return this._registry.getLanguageIdByMimeType(o)}guessLanguageIdByFilepathOrFirstLine(o,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(o,t);return(0,E.firstOrDefault)(i,null)}createById(o){return new p(this.onDidChange,()=>this._createAndGetLanguageIdentifier(o))}createByFilepathOrFirstLine(o,t){return new p(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(o,t);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(o){return(!o||!this.isRegisteredLanguageId(o))&&(o=m.PLAINTEXT_LANGUAGE_ID),o}requestBasicLanguageFeatures(o){this._requestedBasicLanguages.has(o)||(this._requestedBasicLanguages.add(o),this._onDidRequestBasicLanguageFeatures.fire(o))}requestRichLanguageFeatures(o){this._requestedRichLanguages.has(o)||(this._requestedRichLanguages.add(o),this.requestBasicLanguageFeatures(o),y.TokenizationRegistry.getOrCreate(o),this._onDidRequestRichLanguageFeatures.fire(o))}}e.LanguageService=b;class p{constructor(o,t){this._value=(0,_.observableFromEvent)(this,o,()=>t()),this.onDidChange=d.Event.fromObservable(this._value)}get languageId(){return this._value.get()}}}),define(ne[712],se([1,0,5,2,120,43,376,59,174,669,210]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";var n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarginHoverWidget=void 0;const o=d.$;let t=class extends k.Disposable{static{n=this}static{this.ID=\"editor.contrib.modesGlyphHoverWidget\"}constructor(s,g,c){super(),this._renderDisposeables=this._register(new k.DisposableStore),this._editor=s,this._isVisible=!1,this._messages=[],this._hover=this._register(new _.HoverWidget),this._hover.containerDomNode.classList.toggle(\"hidden\",!this._isVisible),this._markdownRenderer=this._register(new I.MarkdownRenderer({editor:this._editor},g,c)),this._computer=new b.MarginHoverComputer(this._editor),this._hoverOperation=this._register(new y.HoverOperation(this._editor,this._computer)),this._register(this._hoverOperation.onResult(l=>{this._withResult(l.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(50)&&this._updateFont()})),this._register(d.addStandardDisposableListener(this._hover.containerDomNode,\"mouseleave\",l=>{this._onMouseLeave(l)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return n.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName(\"code\")).forEach(g=>this._editor.applyFontInfo(g))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(s){const g=s.target;return g.type===2&&g.detail.glyphMarginLane?(this._startShowingAt(g.position.lineNumber,g.detail.glyphMarginLane),!0):g.type===3?(this._startShowingAt(g.position.lineNumber,\"lineNo\"),!0):!1}_startShowingAt(s,g){this._computer.lineNumber===s&&this._computer.lane===g||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=s,this._computer.lane=g,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle(\"hidden\",!this._isVisible))}_withResult(s){this._messages=s,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(s,g){this._renderDisposeables.clear();const c=document.createDocumentFragment();for(const l of g){const a=o(\"div.hover-row.markdown-hover\"),r=d.append(a,o(\"div.hover-contents\")),u=this._renderDisposeables.add(this._markdownRenderer.render(l.value));r.appendChild(u.element),c.appendChild(a)}this._updateContents(c),this._showAt(s)}_updateContents(s){this._hover.contentsDomNode.textContent=\"\",this._hover.contentsDomNode.appendChild(s),this._updateFont()}_showAt(s){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle(\"hidden\",!this._isVisible));const g=this._editor.getLayoutInfo(),c=this._editor.getTopForLineNumber(s),l=this._editor.getScrollTop(),a=this._editor.getOption(67),r=this._hover.containerDomNode.clientHeight,u=c-l-(r-a)/2,C=g.glyphMarginLeft+g.glyphMarginWidth+(this._computer.lane===\"lineNo\"?g.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${C}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(u),0)}px`}_onMouseLeave(s){const g=this._editor.getDomNode();(!g||!(0,p.isMousePositionWithinElement)(g,s.x,s.y))&&this.hide()}};e.MarginHoverWidget=t,e.MarginHoverWidget=t=n=ke([ce(1,E.ILanguageService),ce(2,m.IOpenerService)],t)}),define(ne[713],se([1,0,2,7,14,210,712,196]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarginHoverController=void 0;const m=!1;let _=class extends d.Disposable{static{this.ID=\"editor.contrib.marginHover\"}constructor(p,n){super(),this._editor=p,this._instantiationService=n,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new d.DisposableStore,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new I.RunOnceScheduler(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(o=>{o.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const p=this._editor.getOption(60);this._hoverSettings={enabled:p.enabled,sticky:p.sticky,hidingDelay:p.hidingDelay},p.enabled?(this._listenersStore.add(this._editor.onMouseDown(n=>this._onEditorMouseDown(n))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(n=>this._onEditorMouseMove(n))),this._listenersStore.add(this._editor.onKeyDown(n=>this._onKeyDown(n)))):(this._listenersStore.add(this._editor.onMouseMove(n=>this._onEditorMouseMove(n))),this._listenersStore.add(this._editor.onKeyDown(n=>this._onKeyDown(n)))),this._listenersStore.add(this._editor.onMouseLeave(n=>this._onEditorMouseLeave(n))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(n=>this._onEditorScrollChanged(n)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(p){(p.scrollTopChanged||p.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(p){this._hoverState.mouseDown=!0,!this._isMouseOnMarginHoverWidget(p)&&this._hideWidgets()}_isMouseOnMarginHoverWidget(p){const n=this._glyphWidget?.getDomNode();return n?(0,E.isMousePositionWithinElement)(n,p.event.posx,p.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(p){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._isMouseOnMarginHoverWidget(p))||m||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(p){const n=this._hoverSettings.sticky,o=this._isMouseOnMarginHoverWidget(p);return n&&o}_onEditorMouseMove(p){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=p,this._shouldNotRecomputeCurrentHoverWidget(p)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(p)}_reactToEditorMouseMove(p){!p||this._tryShowHoverWidget(p)||m||this._hideWidgets()}_tryShowHoverWidget(p){return this._getOrCreateGlyphWidget().showsOrWillShow(p)}_onKeyDown(p){this._editor.hasModel()&&(p.keyCode===5||p.keyCode===6||p.keyCode===57||p.keyCode===4||this._hideWidgets())}_hideWidgets(){m||this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(y.MarginHoverWidget,this._editor)),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};e.MarginHoverController=_,e.MarginHoverController=_=ke([ce(1,k.IInstantiationService)],_)}),define(ne[714],se([1,0,11,183,75,230,23,240]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getReindentEditOperations=_;function _(p,n,o,t){if(p.getLineCount()===1&&p.getLineMaxColumn(1)===1)return[];const i=n.getLanguageConfiguration(p.getLanguageId()).indentRulesSupport;if(!i)return[];const s=new m.ProcessedIndentRulesSupport(p,i,n);for(t=Math.min(t,p.getLineCount());o<=t&&s.shouldIgnore(o);)o++;if(o>t-1)return[];const{tabSize:g,indentSize:c,insertSpaces:l}=p.getOptions(),a=(v,w)=>(w=w||1,k.ShiftCommand.shiftIndent(v,v.length+w,g,c,l)),r=(v,w)=>(w=w||1,k.ShiftCommand.unshiftIndent(v,v.length+w,g,c,l)),u=[],C=p.getLineContent(o);let f=d.getLeadingWhitespace(C),h=f;s.shouldIncrease(o)?(h=a(h),f=a(f)):s.shouldIndentNextLine(o)&&(h=a(h)),o++;for(let v=o;v<=t;v++){if(b(p,v))continue;const w=p.getLineContent(v),S=d.getLeadingWhitespace(w),L=h;s.shouldDecrease(v,L)&&(h=r(h),f=r(f)),S!==h&&u.push(I.EditOperation.replaceMove(new y.Selection(v,1,v,S.length+1),(0,E.normalizeIndentation)(h,c,l))),!s.shouldIgnore(v)&&(s.shouldIncrease(v,L)?(f=a(f),h=f):s.shouldIndentNextLine(v,L)?h=a(h):h=f)}return u}function b(p,n){return p.tokenization.isCheapToTokenize(n)?p.tokenization.getLineTokens(n).getStandardTokenType(0)===2:!1}}),define(ne[715],se([1,0,18,102,82,2,21,4,104,113,27,36,17,378,246]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineCompletionWithUpdatedRange=e.UpToDateInlineCompletions=e.InlineCompletionsSource=void 0;let s=class extends E.Disposable{constructor(f,h,v,w,S){super(),this.textModel=f,this.versionId=h,this._debounceValue=v,this.languageFeaturesService=w,this.languageConfigurationService=S,this._updateOperation=this._register(new E.MutableDisposable),this.inlineCompletions=(0,y.disposableObservableValue)(\"inlineCompletions\",void 0),this.suggestWidgetInlineCompletions=(0,y.disposableObservableValue)(\"suggestWidgetInlineCompletions\",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(f,h,v){const w=new c(f,h,this.textModel.getVersionId()),S=h.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(this._updateOperation.value?.request.satisfies(w))return this._updateOperation.value.promise;if(S.get()?.request.satisfies(w))return Promise.resolve(!0);const L=!!this._updateOperation.value;this._updateOperation.clear();const D=new d.CancellationTokenSource,T=(async()=>{if((L||h.triggerKind===p.InlineCompletionTriggerKind.Automatic)&&await g(this._debounceValue.get(this.textModel),D.token),D.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==w.versionId)return!1;const P=new Date,N=await(0,t.provideInlineCompletions)(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,h,D.token,this.languageConfigurationService);if(D.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==w.versionId)return!1;const O=new Date;this._debounceValue.update(this.textModel,O.getTime()-P.getTime());const F=new a(N,w,this.textModel,this.versionId);if(v){const x=v.toInlineCompletion(void 0);v.canBeReused(this.textModel,f)&&!N.has(x)&&F.prepend(v.inlineCompletion,x.range,!0)}return this._updateOperation.clear(),(0,y.transaction)(x=>{S.set(F,x)}),!0})(),M=new l(w,D,T);return this._updateOperation.value=M,T}clear(f){this._updateOperation.clear(),this.inlineCompletions.set(void 0,f),this.suggestWidgetInlineCompletions.set(void 0,f)}clearSuggestWidgetInlineCompletions(f){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,f)}cancelUpdate(){this._updateOperation.clear()}};e.InlineCompletionsSource=s,e.InlineCompletionsSource=s=ke([ce(3,o.ILanguageFeaturesService),ce(4,n.ILanguageConfigurationService)],s);function g(C,f){return new Promise(h=>{let v;const w=setTimeout(()=>{v&&v.dispose(),h()},C);f&&(v=f.onCancellationRequested(()=>{clearTimeout(w),v&&v.dispose(),h()}))})}class c{constructor(f,h,v){this.position=f,this.context=h,this.versionId=v}satisfies(f){return this.position.equals(f.position)&&(0,k.equalsIfDefined)(this.context.selectedSuggestionInfo,f.context.selectedSuggestionInfo,(0,k.itemEquals)())&&(f.context.triggerKind===p.InlineCompletionTriggerKind.Automatic||this.context.triggerKind===p.InlineCompletionTriggerKind.Explicit)&&this.versionId===f.versionId}}class l{constructor(f,h,v){this.request=f,this.cancellationTokenSource=h,this.promise=v}dispose(){this.cancellationTokenSource.cancel()}}class a{get inlineCompletions(){return this._inlineCompletions}constructor(f,h,v,w){this.inlineCompletionProviderResult=f,this.request=h,this._textModel=v,this._versionId=w,this._refCount=1,this._prependedInlineCompletionItems=[];const S=v.deltaDecorations([],f.completions.map(L=>({range:L.range,options:{description:\"inline-completion-tracking-range\"}})));this._inlineCompletions=f.completions.map((L,D)=>new r(L,S[D],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(f=>f.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const f of this._prependedInlineCompletionItems)f.source.removeRef()}}prepend(f,h,v){v&&f.source.addRef();const w=this._textModel.deltaDecorations([],[{range:h,options:{description:\"inline-completion-tracking-range\"}}])[0];this._inlineCompletions.unshift(new r(f,w,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(f)}}e.UpToDateInlineCompletions=a;class r{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(f,h,v,w){this.inlineCompletion=f,this.decorationId=h,this._textModel=v,this._modelVersion=w,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=(0,y.derivedOpts)({owner:this,equalsFn:m.Range.equalsRange},S=>(this._modelVersion.read(S),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(f){return this.inlineCompletion.withRange(this._updatedRange.read(f)??u)}toSingleTextEdit(f){return new _.SingleTextEdit(this._updatedRange.read(f)??u,this.inlineCompletion.insertText)}isVisible(f,h,v){const w=(0,i.singleTextRemoveCommonPrefix)(this._toFilterTextReplacement(v),f),S=this._updatedRange.read(v);if(!S||!this.inlineCompletion.range.getStartPosition().equals(S.getStartPosition())||h.lineNumber!==w.range.startLineNumber)return!1;const L=f.getValueInRange(w.range,1),D=w.text,T=Math.max(0,h.column-w.range.startColumn);let M=D.substring(0,T),A=D.substring(T),P=L.substring(0,T),N=L.substring(T);const O=f.getLineIndentColumn(w.range.startLineNumber);return w.range.startColumn<=O&&(P=P.trimStart(),P.length===0&&(N=N.trimStart()),M=M.trimStart(),M.length===0&&(A=A.trimStart())),M.startsWith(P)&&!!(0,I.matchesSubString)(N,A)}canBeReused(f,h){const v=this._updatedRange.read(void 0);return!!v&&v.containsPosition(h)&&this.isVisible(f,h,void 0)&&b.TextLength.ofRange(v).isGreaterThanOrEqualTo(b.TextLength.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(f){return new _.SingleTextEdit(this._updatedRange.read(f)??u,this.inlineCompletion.filterText)}}e.InlineCompletionWithUpdatedRange=r;const u=new m.Range(1,1,1,1)}),define(ne[716],se([1,0,11,183,4,23,131,36,338,241,275]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MoveLinesCommand=void 0;let n=class{constructor(t,i,s,g){this._languageConfigurationService=g,this._selection=t,this._isMovingDown=i,this._autoIndent=s,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(t,i){const s=()=>t.getLanguageId(),g=(f,h)=>t.getLanguageIdAtPosition(f,h),c=t.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===c){this._selectionId=i.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=i.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let l=this._selection;l.startLineNumber<l.endLineNumber&&l.endColumn===1&&(this._moveEndPositionDown=!0,l=l.setEndPosition(l.endLineNumber-1,t.getLineMaxColumn(l.endLineNumber-1)));const{tabSize:a,indentSize:r,insertSpaces:u}=t.getOptions(),C=this.buildIndentConverter(a,r,u);if(l.startLineNumber===l.endLineNumber&&t.getLineMaxColumn(l.startLineNumber)===1){const f=l.startLineNumber,h=this._isMovingDown?f+1:f-1;t.getLineMaxColumn(h)===1?i.addEditOperation(new I.Range(1,1,1,1),null):(i.addEditOperation(new I.Range(f,1,f,1),t.getLineContent(h)),i.addEditOperation(new I.Range(h,1,h,t.getLineMaxColumn(h)),null)),l=new E.Selection(h,1,h,1)}else{let f,h;if(this._isMovingDown){f=l.endLineNumber+1,h=t.getLineContent(f),i.addEditOperation(new I.Range(f-1,t.getLineMaxColumn(f-1),f,t.getLineMaxColumn(f)),null);let v=h;if(this.shouldAutoIndent(t,l)){const w=this.matchEnterRule(t,C,a,f,l.startLineNumber-1);if(w!==null){const L=d.getLeadingWhitespace(t.getLineContent(f)),D=w+_.getSpaceCnt(L,a);v=_.generateIndent(D,a,u)+this.trimStart(h)}else{const L={tokenization:{getLineTokens:T=>T===l.startLineNumber?t.tokenization.getLineTokens(f):t.tokenization.getLineTokens(T),getLanguageId:s,getLanguageIdAtPosition:g},getLineContent:T=>T===l.startLineNumber?t.getLineContent(f):t.getLineContent(T)},D=(0,b.getGoodIndentForLine)(this._autoIndent,L,t.getLanguageIdAtPosition(f,1),l.startLineNumber,C,this._languageConfigurationService);if(D!==null){const T=d.getLeadingWhitespace(t.getLineContent(f)),M=_.getSpaceCnt(D,a),A=_.getSpaceCnt(T,a);M!==A&&(v=_.generateIndent(M,a,u)+this.trimStart(h))}}i.addEditOperation(new I.Range(l.startLineNumber,1,l.startLineNumber,1),v+`\n`);const S=this.matchEnterRuleMovingDown(t,C,a,l.startLineNumber,f,v);if(S!==null)S!==0&&this.getIndentEditsOfMovingBlock(t,i,l,a,u,S);else{const L={tokenization:{getLineTokens:T=>T===l.startLineNumber?t.tokenization.getLineTokens(f):T>=l.startLineNumber+1&&T<=l.endLineNumber+1?t.tokenization.getLineTokens(T-1):t.tokenization.getLineTokens(T),getLanguageId:s,getLanguageIdAtPosition:g},getLineContent:T=>T===l.startLineNumber?v:T>=l.startLineNumber+1&&T<=l.endLineNumber+1?t.getLineContent(T-1):t.getLineContent(T)},D=(0,b.getGoodIndentForLine)(this._autoIndent,L,t.getLanguageIdAtPosition(f,1),l.startLineNumber+1,C,this._languageConfigurationService);if(D!==null){const T=d.getLeadingWhitespace(t.getLineContent(l.startLineNumber)),M=_.getSpaceCnt(D,a),A=_.getSpaceCnt(T,a);if(M!==A){const P=M-A;this.getIndentEditsOfMovingBlock(t,i,l,a,u,P)}}}}else i.addEditOperation(new I.Range(l.startLineNumber,1,l.startLineNumber,1),v+`\n`)}else if(f=l.startLineNumber-1,h=t.getLineContent(f),i.addEditOperation(new I.Range(f,1,f+1,1),null),i.addEditOperation(new I.Range(l.endLineNumber,t.getLineMaxColumn(l.endLineNumber),l.endLineNumber,t.getLineMaxColumn(l.endLineNumber)),`\n`+h),this.shouldAutoIndent(t,l)){const v={tokenization:{getLineTokens:S=>S===f?t.tokenization.getLineTokens(l.startLineNumber):t.tokenization.getLineTokens(S),getLanguageId:s,getLanguageIdAtPosition:g},getLineContent:S=>S===f?t.getLineContent(l.startLineNumber):t.getLineContent(S)},w=this.matchEnterRule(t,C,a,l.startLineNumber,l.startLineNumber-2);if(w!==null)w!==0&&this.getIndentEditsOfMovingBlock(t,i,l,a,u,w);else{const S=(0,b.getGoodIndentForLine)(this._autoIndent,v,t.getLanguageIdAtPosition(l.startLineNumber,1),f,C,this._languageConfigurationService);if(S!==null){const L=d.getLeadingWhitespace(t.getLineContent(l.startLineNumber)),D=_.getSpaceCnt(S,a),T=_.getSpaceCnt(L,a);if(D!==T){const M=D-T;this.getIndentEditsOfMovingBlock(t,i,l,a,u,M)}}}}}this._selectionId=i.trackSelection(l)}buildIndentConverter(t,i,s){return{shiftIndent:g=>k.ShiftCommand.shiftIndent(g,g.length+1,t,i,s),unshiftIndent:g=>k.ShiftCommand.unshiftIndent(g,g.length+1,t,i,s)}}parseEnterResult(t,i,s,g,c){if(c){let l=c.indentation;c.indentAction===y.IndentAction.None||c.indentAction===y.IndentAction.Indent?l=c.indentation+c.appendText:c.indentAction===y.IndentAction.IndentOutdent?l=c.indentation:c.indentAction===y.IndentAction.Outdent&&(l=i.unshiftIndent(c.indentation)+c.appendText);const a=t.getLineContent(g);if(this.trimStart(a).indexOf(this.trimStart(l))>=0){const r=d.getLeadingWhitespace(t.getLineContent(g));let u=d.getLeadingWhitespace(l);const C=(0,b.getIndentMetadata)(t,g,this._languageConfigurationService);C!==null&&C&2&&(u=i.unshiftIndent(u));const f=_.getSpaceCnt(u,s),h=_.getSpaceCnt(r,s);return f-h}}return null}matchEnterRuleMovingDown(t,i,s,g,c,l){if(d.lastNonWhitespaceIndex(l)>=0){const a=t.getLineMaxColumn(c),r=(0,p.getEnterAction)(this._autoIndent,t,new I.Range(c,a,c,a),this._languageConfigurationService);return this.parseEnterResult(t,i,s,g,r)}else{let a=g-1;for(;a>=1;){const C=t.getLineContent(a);if(d.lastNonWhitespaceIndex(C)>=0)break;a--}if(a<1||g>t.getLineCount())return null;const r=t.getLineMaxColumn(a),u=(0,p.getEnterAction)(this._autoIndent,t,new I.Range(a,r,a,r),this._languageConfigurationService);return this.parseEnterResult(t,i,s,g,u)}}matchEnterRule(t,i,s,g,c,l){let a=c;for(;a>=1;){let C;if(a===c&&l!==void 0?C=l:C=t.getLineContent(a),d.lastNonWhitespaceIndex(C)>=0)break;a--}if(a<1||g>t.getLineCount())return null;const r=t.getLineMaxColumn(a),u=(0,p.getEnterAction)(this._autoIndent,t,new I.Range(a,r,a,r),this._languageConfigurationService);return this.parseEnterResult(t,i,s,g,u)}trimStart(t){return t.replace(/^\\s+/,\"\")}shouldAutoIndent(t,i){if(this._autoIndent<4||!t.tokenization.isCheapToTokenize(i.startLineNumber))return!1;const s=t.getLanguageIdAtPosition(i.startLineNumber,1),g=t.getLanguageIdAtPosition(i.endLineNumber,1);return!(s!==g||this._languageConfigurationService.getLanguageConfiguration(s).indentRulesSupport===null)}getIndentEditsOfMovingBlock(t,i,s,g,c,l){for(let a=s.startLineNumber;a<=s.endLineNumber;a++){const r=t.getLineContent(a),u=d.getLeadingWhitespace(r),f=_.getSpaceCnt(u,g)+l,h=_.generateIndent(f,g,c);h!==u&&(i.addEditOperation(new I.Range(a,1,a,u.length+1),h),a===s.endLineNumber&&s.endColumn<=u.length+1&&h===\"\"&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(t,i){let s=i.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(s=s.setEndPosition(s.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&s.startLineNumber<s.endLineNumber&&(s=s.setEndPosition(s.endLineNumber,2)),s}};e.MoveLinesCommand=n,e.MoveLinesCommand=n=ke([ce(3,m.ILanguageConfigurationService)],n)}),define(ne[402],se([1,0,5,86,26,30,6,57,2,120,255,3,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SuggestDetailsOverlay=e.SuggestDetailsWidget=void 0,e.canExpandCompletionItem=t;function t(g){return!!g&&!!(g.completion.documentation||g.completion.detail&&g.completion.detail!==g.completion.label)}let i=class{constructor(c,l){this._editor=c,this._onDidClose=new y.Emitter,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new y.Emitter,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new _.DisposableStore,this._renderDisposeable=new _.DisposableStore,this._borderWidth=1,this._size=new d.Dimension(330,0),this.domNode=d.$(\".suggest-details\"),this.domNode.classList.add(\"no-docs\"),this._markdownRenderer=l.createInstance(b.MarkdownRenderer,{editor:c}),this._body=d.$(\".body\"),this._scrollbar=new k.DomScrollableElement(this._body,{alwaysConsumeMouseWheel:!0}),d.append(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=d.append(this._body,d.$(\".header\")),this._close=d.append(this._header,d.$(\"span\"+E.ThemeIcon.asCSSSelector(I.Codicon.close))),this._close.title=n.localize(1344,\"Close\"),this._type=d.append(this._header,d.$(\"p.type\")),this._docs=d.append(this._body,d.$(\"p.docs\")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const c=this._editor.getOptions(),l=c.get(50),a=l.getMassagedFontFamily(),r=c.get(120)||l.fontSize,u=c.get(121)||l.lineHeight,C=l.fontWeight,f=`${r}px`,h=`${u}px`;this.domNode.style.fontSize=f,this.domNode.style.lineHeight=`${u/r}`,this.domNode.style.fontWeight=C,this.domNode.style.fontFeatureSettings=l.fontFeatureSettings,this._type.style.fontFamily=a,this._close.style.height=h,this._close.style.width=h}getLayoutInfo(){const c=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,l=this._borderWidth,a=l*2;return{lineHeight:c,borderWidth:l,borderHeight:a,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=n.localize(1345,\"Loading...\"),this._docs.textContent=\"\",this.domNode.classList.remove(\"no-docs\",\"no-type\"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(c,l){this._renderDisposeable.clear();let{detail:a,documentation:r}=c.completion;if(l){let u=\"\";u+=`score: ${c.score[0]}\n`,u+=`prefix: ${c.word??\"(no prefix)\"}\n`,u+=`word: ${c.completion.filterText?c.completion.filterText+\" (filterText)\":c.textLabel}\n`,u+=`distance: ${c.distance} (localityBonus-setting)\n`,u+=`index: ${c.idx}, based on ${c.completion.sortText&&`sortText: \"${c.completion.sortText}\"`||\"label\"}\n`,u+=`commit_chars: ${c.completion.commitCharacters?.join(\"\")}\n`,r=new m.MarkdownString().appendCodeblock(\"empty\",u),a=`Provider: ${c.provider._debugDisplayName}`}if(!l&&!t(c)){this.clearContents();return}if(this.domNode.classList.remove(\"no-docs\",\"no-type\"),a){const u=a.length>1e5?`${a.substr(0,1e5)}\\u2026`:a;this._type.textContent=u,this._type.title=u,d.show(this._type),this._type.classList.toggle(\"auto-wrap\",!/\\r?\\n^\\s+/gmi.test(u))}else d.clearNode(this._type),this._type.title=\"\",d.hide(this._type),this.domNode.classList.add(\"no-type\");if(d.clearNode(this._docs),typeof r==\"string\")this._docs.classList.remove(\"markdown-docs\"),this._docs.textContent=r;else if(r){this._docs.classList.add(\"markdown-docs\"),d.clearNode(this._docs);const u=this._markdownRenderer.render(r);this._docs.appendChild(u.element),this._renderDisposeable.add(u),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect=\"text\",this.domNode.tabIndex=-1,this._close.onmousedown=u=>{u.preventDefault(),u.stopPropagation()},this._close.onclick=u=>{u.preventDefault(),u.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add(\"no-docs\"),this._type.textContent=\"\",this._docs.textContent=\"\"}get isEmpty(){return this.domNode.classList.contains(\"no-docs\")}get size(){return this._size}layout(c,l){const a=new d.Dimension(c,l);d.Dimension.equals(a,this._size)||(this._size=a,d.size(this.domNode,c,l)),this._scrollbar.scanDomNode()}scrollDown(c=8){this._body.scrollTop+=c}scrollUp(c=8){this._body.scrollTop-=c}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(c){this._borderWidth=c}get borderWidth(){return this._borderWidth}};e.SuggestDetailsWidget=i,e.SuggestDetailsWidget=i=ke([ce(1,o.IInstantiationService)],i);class s{constructor(c,l){this.widget=c,this._editor=l,this.allowEditorOverflow=!0,this._disposables=new _.DisposableStore,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new p.ResizableHTMLElement,this._resizable.domNode.classList.add(\"suggest-details-container\"),this._resizable.domNode.appendChild(c.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let a,r,u=0,C=0;this._disposables.add(this._resizable.onDidWillResize(()=>{a=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(f=>{if(a&&r){this.widget.layout(f.dimension.width,f.dimension.height);let h=!1;f.west&&(C=r.width-f.dimension.width,h=!0),f.north&&(u=r.height-f.dimension.height,h=!0),h&&this._applyTopLeft({top:a.top+u,left:a.left+C})}f.done&&(a=void 0,r=void 0,u=0,C=0,this._userSize=f.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return\"suggest.details\"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(c=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),c&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(c,l){const a=c.getBoundingClientRect();this._anchorBox=a,this._preferAlignAtTop=l,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,l)}_placeAtAnchor(c,l,a){const r=d.getClientArea(this.getDomNode().ownerDocument.body),u=this.widget.getLayoutInfo(),C=new d.Dimension(220,2*u.lineHeight),f=c.top,h=function(){const x=r.width-(c.left+c.width+u.borderWidth+u.horizontalPadding),W=-u.borderWidth+c.left+c.width,V=new d.Dimension(x,r.height-c.top-u.borderHeight-u.verticalPadding),q=V.with(void 0,c.top+c.height-u.borderHeight-u.verticalPadding);return{top:f,left:W,fit:x-l.width,maxSizeTop:V,maxSizeBottom:q,minSize:C.with(Math.min(x,C.width))}}(),v=function(){const x=c.left-u.borderWidth-u.horizontalPadding,W=Math.max(u.horizontalPadding,c.left-l.width-u.borderWidth),V=new d.Dimension(x,r.height-c.top-u.borderHeight-u.verticalPadding),q=V.with(void 0,c.top+c.height-u.borderHeight-u.verticalPadding);return{top:f,left:W,fit:x-l.width,maxSizeTop:V,maxSizeBottom:q,minSize:C.with(Math.min(x,C.width))}}(),w=function(){const x=c.left,W=-u.borderWidth+c.top+c.height,V=new d.Dimension(c.width-u.borderHeight,r.height-c.top-c.height-u.verticalPadding);return{top:W,left:x,fit:V.height-l.height,maxSizeBottom:V,maxSizeTop:V,minSize:C.with(V.width)}}(),S=[h,v,w],L=S.find(x=>x.fit>=0)??S.sort((x,W)=>W.fit-x.fit)[0],D=c.top+c.height-u.borderHeight;let T,M=l.height;const A=Math.max(L.maxSizeTop.height,L.maxSizeBottom.height);M>A&&(M=A);let P;a?M<=L.maxSizeTop.height?(T=!0,P=L.maxSizeTop):(T=!1,P=L.maxSizeBottom):M<=L.maxSizeBottom.height?(T=!1,P=L.maxSizeBottom):(T=!0,P=L.maxSizeTop);let{top:N,left:O}=L;!T&&M>c.height&&(N=D-M);const F=this._editor.getDomNode();if(F){const x=F.getBoundingClientRect();N-=x.top,O-=x.left}this._applyTopLeft({left:O,top:N}),this._resizable.enableSashes(!T,L===h,T,L!==h),this._resizable.minSize=L.minSize,this._resizable.maxSize=P,this._resizable.layout(M,Math.min(P.width,l.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(c){this._topLeft=c,this._editor.layoutOverlayWidget(this)}}e.SuggestDetailsOverlay=s}),define(ne[403],se([1,0,13,45,60,19,22,28,109,38]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConfigurationChangeEvent=e.Configuration=e.ConfigurationModelParser=e.ConfigurationModel=void 0;function p(g){return Object.isFrozen(g)?g:I.deepFreeze(g)}class n{static createEmptyModel(c){return new n({},[],[],void 0,c)}constructor(c,l,a,r,u){this._contents=c,this._keys=l,this._overrides=a,this.raw=r,this.logService=u,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this.raw?.length){const c=this.raw.map(l=>{if(l instanceof n)return l;const a=new o(\"\",this.logService);return a.parseRaw(l),a.configurationModel});this._rawConfiguration=c.reduce((l,a)=>a===l?a:l.merge(a),c[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(c){return c?(0,m.getConfigurationValue)(this.contents,c):this.contents}inspect(c,l){const a=this;return{get value(){return p(a.rawConfiguration.getValue(c))},get override(){return l?p(a.rawConfiguration.getOverrideValue(c,l)):void 0},get merged(){return p(l?a.rawConfiguration.override(l).getValue(c):a.rawConfiguration.getValue(c))},get overrides(){const r=[];for(const{contents:u,identifiers:C,keys:f}of a.rawConfiguration.overrides){const h=new n(u,f,[],void 0,a.logService).getValue(c);h!==void 0&&r.push({identifiers:C,value:h})}return r.length?p(r):void 0}}}getOverrideValue(c,l){const a=this.getContentsForOverrideIdentifer(l);return a?c?(0,m.getConfigurationValue)(a,c):a:void 0}override(c){let l=this.overrideConfigurations.get(c);return l||(l=this.createOverrideConfigurationModel(c),this.overrideConfigurations.set(c,l)),l}merge(...c){const l=I.deepClone(this.contents),a=I.deepClone(this.overrides),r=[...this.keys],u=this.raw?.length?[...this.raw]:[this];for(const C of c)if(u.push(...C.raw?.length?C.raw:[C]),!C.isEmpty()){this.mergeContents(l,C.contents);for(const f of C.overrides){const[h]=a.filter(v=>d.equals(v.identifiers,f.identifiers));h?(this.mergeContents(h.contents,f.contents),h.keys.push(...f.keys),h.keys=d.distinct(h.keys)):a.push(I.deepClone(f))}for(const f of C.keys)r.indexOf(f)===-1&&r.push(f)}return new n(l,r,a,u.every(C=>C instanceof n)?void 0:u,this.logService)}createOverrideConfigurationModel(c){const l=this.getContentsForOverrideIdentifer(c);if(!l||typeof l!=\"object\"||!Object.keys(l).length)return this;const a={};for(const r of d.distinct([...Object.keys(this.contents),...Object.keys(l)])){let u=this.contents[r];const C=l[r];C&&(typeof u==\"object\"&&typeof C==\"object\"?(u=I.deepClone(u),this.mergeContents(u,C)):u=C),a[r]=u}return new n(a,this.keys,this.overrides,void 0,this.logService)}mergeContents(c,l){for(const a of Object.keys(l)){if(a in c&&E.isObject(c[a])&&E.isObject(l[a])){this.mergeContents(c[a],l[a]);continue}c[a]=I.deepClone(l[a])}}getContentsForOverrideIdentifer(c){let l=null,a=null;const r=u=>{u&&(a?this.mergeContents(a,u):a=I.deepClone(u))};for(const u of this.overrides)u.identifiers.length===1&&u.identifiers[0]===c?l=u.contents:u.identifiers.includes(c)&&r(u.contents);return r(l),a}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(c,l){this.updateValue(c,l,!1)}removeValue(c){const l=this.keys.indexOf(c);l!==-1&&(this.keys.splice(l,1),(0,m.removeFromValueTree)(this.contents,c),_.OVERRIDE_PROPERTY_REGEX.test(c)&&this.overrides.splice(this.overrides.findIndex(a=>d.equals(a.identifiers,(0,_.overrideIdentifiersFromKey)(c))),1))}updateValue(c,l,a){if((0,m.addToValueTree)(this.contents,c,l,r=>this.logService.error(r)),a=a||this.keys.indexOf(c)===-1,a&&this.keys.push(c),_.OVERRIDE_PROPERTY_REGEX.test(c)){const r=(0,_.overrideIdentifiersFromKey)(c),u={identifiers:r,keys:Object.keys(this.contents[c]),contents:(0,m.toValuesTree)(this.contents[c],f=>this.logService.error(f))},C=this.overrides.findIndex(f=>d.equals(f.identifiers,r));C!==-1?this.overrides[C]=u:this.overrides.push(u)}}}e.ConfigurationModel=n;class o{constructor(c,l){this._name=c,this.logService=l,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||n.createEmptyModel(this.logService)}parseRaw(c,l){this._raw=c;const{contents:a,keys:r,overrides:u,restricted:C,hasExcludedProperties:f}=this.doParseRaw(c,l);this._configurationModel=new n(a,r,u,f?[c]:void 0,this.logService),this._restrictedConfigurations=C||[]}doParseRaw(c,l){const a=b.Registry.as(_.Extensions.Configuration).getConfigurationProperties(),r=this.filter(c,a,!0,l);c=r.raw;const u=(0,m.toValuesTree)(c,h=>this.logService.error(`Conflict in settings file ${this._name}: ${h}`)),C=Object.keys(c),f=this.toOverrides(c,h=>this.logService.error(`Conflict in settings file ${this._name}: ${h}`));return{contents:u,keys:C,overrides:f,restricted:r.restricted,hasExcludedProperties:r.hasExcludedProperties}}filter(c,l,a,r){let u=!1;if(!r?.scopes&&!r?.skipRestricted&&!r?.exclude?.length)return{raw:c,restricted:[],hasExcludedProperties:u};const C={},f=[];for(const h in c)if(_.OVERRIDE_PROPERTY_REGEX.test(h)&&a){const v=this.filter(c[h],l,!1,r);C[h]=v.raw,u=u||v.hasExcludedProperties,f.push(...v.restricted)}else{const v=l[h],w=v?typeof v.scope<\"u\"?v.scope:3:void 0;v?.restricted&&f.push(h),!r.exclude?.includes(h)&&(r.include?.includes(h)||(w===void 0||r.scopes===void 0||r.scopes.includes(w))&&!(r.skipRestricted&&v?.restricted))?C[h]=c[h]:u=!0}return{raw:C,restricted:f,hasExcludedProperties:u}}toOverrides(c,l){const a=[];for(const r of Object.keys(c))if(_.OVERRIDE_PROPERTY_REGEX.test(r)){const u={};for(const C in c[r])u[C]=c[r][C];a.push({identifiers:(0,_.overrideIdentifiersFromKey)(r),keys:Object.keys(u),contents:(0,m.toValuesTree)(u,l)})}return a}}e.ConfigurationModelParser=o;class t{constructor(c,l,a,r,u,C,f,h,v,w,S,L,D){this.key=c,this.overrides=l,this._value=a,this.overrideIdentifiers=r,this.defaultConfiguration=u,this.policyConfiguration=C,this.applicationConfiguration=f,this.userConfiguration=h,this.localUserConfiguration=v,this.remoteUserConfiguration=w,this.workspaceConfiguration=S,this.folderConfigurationModel=L,this.memoryConfigurationModel=D}toInspectValue(c){return c?.value!==void 0||c?.override!==void 0||c?.overrides!==void 0?c:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class i{constructor(c,l,a,r,u,C,f,h,v,w){this._defaultConfiguration=c,this._policyConfiguration=l,this._applicationConfiguration=a,this._localUserConfiguration=r,this._remoteUserConfiguration=u,this._workspaceConfiguration=C,this._folderConfigurations=f,this._memoryConfiguration=h,this._memoryConfigurationByResource=v,this.logService=w,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new k.ResourceMap,this._userConfiguration=null}getValue(c,l,a){return this.getConsolidatedConfigurationModel(c,l,a).getValue(c)}updateValue(c,l,a={}){let r;a.resource?(r=this._memoryConfigurationByResource.get(a.resource),r||(r=n.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(a.resource,r))):r=this._memoryConfiguration,l===void 0?r.removeValue(c):r.setValue(c,l),a.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(c,l,a){const r=this.getConsolidatedConfigurationModel(c,l,a),u=this.getFolderConfigurationModelForResource(l.resource,a),C=l.resource?this._memoryConfigurationByResource.get(l.resource)||this._memoryConfiguration:this._memoryConfiguration,f=new Set;for(const h of r.overrides)for(const v of h.identifiers)r.getOverrideValue(c,v)!==void 0&&f.add(v);return new t(c,l,r.getValue(c),f.size?[...f]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,a?this._workspaceConfiguration:void 0,u||void 0,C)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(c,l,a){let r=this.getConsolidatedConfigurationModelForResource(l,a);return l.overrideIdentifier&&(r=r.override(l.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(c)!==void 0&&(r=r.merge(this._policyConfiguration)),r}getConsolidatedConfigurationModelForResource({resource:c},l){let a=this.getWorkspaceConsolidatedConfiguration();if(l&&c){const r=l.getFolder(c);r&&(a=this.getFolderConsolidatedConfiguration(r.uri)||a);const u=this._memoryConfigurationByResource.get(c);u&&(a=a.merge(u))}return a}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(c){let l=this._foldersConsolidatedConfigurations.get(c);if(!l){const a=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(c);r?(l=a.merge(r),this._foldersConsolidatedConfigurations.set(c,l)):l=a}return l}getFolderConfigurationModelForResource(c,l){if(l&&c){const a=l.getFolder(c);if(a)return this._folderConfigurations.get(a.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((c,l)=>{const{contents:a,overrides:r,keys:u}=this._folderConfigurations.get(l);return c.push([l,{contents:a,overrides:r,keys:u}]),c},[])}}static parse(c,l){const a=this.parseConfigurationModel(c.defaults,l),r=this.parseConfigurationModel(c.policy,l),u=this.parseConfigurationModel(c.application,l),C=this.parseConfigurationModel(c.user,l),f=this.parseConfigurationModel(c.workspace,l),h=c.folders.reduce((v,w)=>(v.set(y.URI.revive(w[0]),this.parseConfigurationModel(w[1],l)),v),new k.ResourceMap);return new i(a,r,u,C,n.createEmptyModel(l),f,h,n.createEmptyModel(l),new k.ResourceMap,l)}static parseConfigurationModel(c,l){return new n(c.contents,c.keys,c.overrides,void 0,l)}}e.Configuration=i;class s{constructor(c,l,a,r,u){this.change=c,this.previous=l,this.currentConfiguraiton=a,this.currentWorkspace=r,this.logService=u,this._marker=`\n`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const C of c.keys)this.affectedKeys.add(C);for(const[,C]of c.overrides)for(const f of C)this.affectedKeys.add(f);this._affectsConfigStr=this._marker;for(const C of this.affectedKeys)this._affectsConfigStr+=C+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=i.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(c,l){const a=this._marker+c,r=this._affectsConfigStr.indexOf(a);if(r<0)return!1;const u=r+a.length;if(u>=this._affectsConfigStr.length)return!1;const C=this._affectsConfigStr.charCodeAt(u);if(C!==this._markerCode1&&C!==this._markerCode2)return!1;if(l){const f=this.previousConfiguration?this.previousConfiguration.getValue(c,l,this.previous?.workspace):void 0,h=this.currentConfiguraiton.getValue(c,l,this.currentWorkspace);return!I.equals(f,h)}return!0}}e.ConfigurationChangeEvent=s}),define(ne[717],se([1,0,2,403,109,38]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DefaultConfiguration=void 0;class y extends d.Disposable{get configurationModel(){return this._configurationModel}constructor(_){super(),this.logService=_,this._configurationModel=k.ConfigurationModel.createEmptyModel(this.logService)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=k.ConfigurationModel.createEmptyModel(this.logService);const _=E.Registry.as(I.Extensions.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(_),_)}updateConfigurationModel(_,b){const p=this.getConfigurationDefaultOverrides();for(const n of _){const o=p[n],t=b[n];o!==void 0?this._configurationModel.setValue(n,o):t?this._configurationModel.setValue(n,t.default):this._configurationModel.removeValue(n)}}}e.DefaultConfiguration=y}),define(ne[121],se([1,0,140,16,24,38,2,73]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Extensions=e.KeybindingsRegistry=void 0;class _{constructor(){this._coreKeybindings=new m.LinkedList,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(n){if(k.OS===1){if(n&&n.win)return n.win}else if(k.OS===2){if(n&&n.mac)return n.mac}else if(n&&n.linux)return n.linux;return n}registerKeybindingRule(n){const o=_.bindToCurrentPlatform(n),t=new y.DisposableStore;if(o&&o.primary){const i=(0,d.decodeKeybinding)(o.primary,k.OS);i&&t.add(this._registerDefaultKeybinding(i,n.id,n.args,n.weight,0,n.when))}if(o&&Array.isArray(o.secondary))for(let i=0,s=o.secondary.length;i<s;i++){const g=o.secondary[i],c=(0,d.decodeKeybinding)(g,k.OS);c&&t.add(this._registerDefaultKeybinding(c,n.id,n.args,n.weight,-i-1,n.when))}return t}registerCommandAndKeybindingRule(n){return(0,y.combinedDisposable)(this.registerKeybindingRule(n),I.CommandsRegistry.registerCommand(n))}_registerDefaultKeybinding(n,o,t,i,s,g){const c=this._coreKeybindings.push({keybinding:n,command:o,commandArgs:t,when:g,weight1:i,weight2:s,extensionId:null,isBuiltinExtension:!1});return this._cachedMergedKeybindings=null,(0,y.toDisposable)(()=>{c(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(b)),this._cachedMergedKeybindings.slice(0)}}e.KeybindingsRegistry=new _,e.Extensions={EditorModes:\"platform.keybindingsRegistry\"},E.Registry.add(e.Extensions.EditorModes,e.KeybindingsRegistry);function b(p,n){if(p.weight1!==n.weight1)return p.weight1-n.weight1;if(p.command&&n.command){if(p.command<n.command)return-1;if(p.command>n.command)return 1}return p.weight2-n.weight2}}),define(ne[29],se([1,0,41,30,6,2,73,24,12,7,121]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";var n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Action2=e.MenuItemAction=e.SubmenuItemAction=e.MenuRegistry=e.IMenuService=e.MenuId=void 0,e.isIMenuItem=o,e.isISubmenuItem=t,e.registerAction2=a;function o(r){return r.command!==void 0}function t(r){return r.submenu!==void 0}class i{static{this._instances=new Map}static{this.CommandPalette=new i(\"CommandPalette\")}static{this.DebugBreakpointsContext=new i(\"DebugBreakpointsContext\")}static{this.DebugCallStackContext=new i(\"DebugCallStackContext\")}static{this.DebugConsoleContext=new i(\"DebugConsoleContext\")}static{this.DebugVariablesContext=new i(\"DebugVariablesContext\")}static{this.NotebookVariablesContext=new i(\"NotebookVariablesContext\")}static{this.DebugHoverContext=new i(\"DebugHoverContext\")}static{this.DebugWatchContext=new i(\"DebugWatchContext\")}static{this.DebugToolBar=new i(\"DebugToolBar\")}static{this.DebugToolBarStop=new i(\"DebugToolBarStop\")}static{this.DebugCallStackToolbar=new i(\"DebugCallStackToolbar\")}static{this.DebugCreateConfiguration=new i(\"DebugCreateConfiguration\")}static{this.EditorContext=new i(\"EditorContext\")}static{this.SimpleEditorContext=new i(\"SimpleEditorContext\")}static{this.EditorContent=new i(\"EditorContent\")}static{this.EditorLineNumberContext=new i(\"EditorLineNumberContext\")}static{this.EditorContextCopy=new i(\"EditorContextCopy\")}static{this.EditorContextPeek=new i(\"EditorContextPeek\")}static{this.EditorContextShare=new i(\"EditorContextShare\")}static{this.EditorTitle=new i(\"EditorTitle\")}static{this.EditorTitleRun=new i(\"EditorTitleRun\")}static{this.EditorTitleContext=new i(\"EditorTitleContext\")}static{this.EditorTitleContextShare=new i(\"EditorTitleContextShare\")}static{this.EmptyEditorGroup=new i(\"EmptyEditorGroup\")}static{this.EmptyEditorGroupContext=new i(\"EmptyEditorGroupContext\")}static{this.EditorTabsBarContext=new i(\"EditorTabsBarContext\")}static{this.EditorTabsBarShowTabsSubmenu=new i(\"EditorTabsBarShowTabsSubmenu\")}static{this.EditorTabsBarShowTabsZenModeSubmenu=new i(\"EditorTabsBarShowTabsZenModeSubmenu\")}static{this.EditorActionsPositionSubmenu=new i(\"EditorActionsPositionSubmenu\")}static{this.ExplorerContext=new i(\"ExplorerContext\")}static{this.ExplorerContextShare=new i(\"ExplorerContextShare\")}static{this.ExtensionContext=new i(\"ExtensionContext\")}static{this.GlobalActivity=new i(\"GlobalActivity\")}static{this.CommandCenter=new i(\"CommandCenter\")}static{this.CommandCenterCenter=new i(\"CommandCenterCenter\")}static{this.LayoutControlMenuSubmenu=new i(\"LayoutControlMenuSubmenu\")}static{this.LayoutControlMenu=new i(\"LayoutControlMenu\")}static{this.MenubarMainMenu=new i(\"MenubarMainMenu\")}static{this.MenubarAppearanceMenu=new i(\"MenubarAppearanceMenu\")}static{this.MenubarDebugMenu=new i(\"MenubarDebugMenu\")}static{this.MenubarEditMenu=new i(\"MenubarEditMenu\")}static{this.MenubarCopy=new i(\"MenubarCopy\")}static{this.MenubarFileMenu=new i(\"MenubarFileMenu\")}static{this.MenubarGoMenu=new i(\"MenubarGoMenu\")}static{this.MenubarHelpMenu=new i(\"MenubarHelpMenu\")}static{this.MenubarLayoutMenu=new i(\"MenubarLayoutMenu\")}static{this.MenubarNewBreakpointMenu=new i(\"MenubarNewBreakpointMenu\")}static{this.PanelAlignmentMenu=new i(\"PanelAlignmentMenu\")}static{this.PanelPositionMenu=new i(\"PanelPositionMenu\")}static{this.ActivityBarPositionMenu=new i(\"ActivityBarPositionMenu\")}static{this.MenubarPreferencesMenu=new i(\"MenubarPreferencesMenu\")}static{this.MenubarRecentMenu=new i(\"MenubarRecentMenu\")}static{this.MenubarSelectionMenu=new i(\"MenubarSelectionMenu\")}static{this.MenubarShare=new i(\"MenubarShare\")}static{this.MenubarSwitchEditorMenu=new i(\"MenubarSwitchEditorMenu\")}static{this.MenubarSwitchGroupMenu=new i(\"MenubarSwitchGroupMenu\")}static{this.MenubarTerminalMenu=new i(\"MenubarTerminalMenu\")}static{this.MenubarViewMenu=new i(\"MenubarViewMenu\")}static{this.MenubarHomeMenu=new i(\"MenubarHomeMenu\")}static{this.OpenEditorsContext=new i(\"OpenEditorsContext\")}static{this.OpenEditorsContextShare=new i(\"OpenEditorsContextShare\")}static{this.ProblemsPanelContext=new i(\"ProblemsPanelContext\")}static{this.SCMInputBox=new i(\"SCMInputBox\")}static{this.SCMChangesSeparator=new i(\"SCMChangesSeparator\")}static{this.SCMChangesContext=new i(\"SCMChangesContext\")}static{this.SCMIncomingChanges=new i(\"SCMIncomingChanges\")}static{this.SCMIncomingChangesContext=new i(\"SCMIncomingChangesContext\")}static{this.SCMIncomingChangesSetting=new i(\"SCMIncomingChangesSetting\")}static{this.SCMOutgoingChanges=new i(\"SCMOutgoingChanges\")}static{this.SCMOutgoingChangesContext=new i(\"SCMOutgoingChangesContext\")}static{this.SCMOutgoingChangesSetting=new i(\"SCMOutgoingChangesSetting\")}static{this.SCMIncomingChangesAllChangesContext=new i(\"SCMIncomingChangesAllChangesContext\")}static{this.SCMIncomingChangesHistoryItemContext=new i(\"SCMIncomingChangesHistoryItemContext\")}static{this.SCMOutgoingChangesAllChangesContext=new i(\"SCMOutgoingChangesAllChangesContext\")}static{this.SCMOutgoingChangesHistoryItemContext=new i(\"SCMOutgoingChangesHistoryItemContext\")}static{this.SCMChangeContext=new i(\"SCMChangeContext\")}static{this.SCMResourceContext=new i(\"SCMResourceContext\")}static{this.SCMResourceContextShare=new i(\"SCMResourceContextShare\")}static{this.SCMResourceFolderContext=new i(\"SCMResourceFolderContext\")}static{this.SCMResourceGroupContext=new i(\"SCMResourceGroupContext\")}static{this.SCMSourceControl=new i(\"SCMSourceControl\")}static{this.SCMSourceControlInline=new i(\"SCMSourceControlInline\")}static{this.SCMSourceControlTitle=new i(\"SCMSourceControlTitle\")}static{this.SCMHistoryTitle=new i(\"SCMHistoryTitle\")}static{this.SCMTitle=new i(\"SCMTitle\")}static{this.SearchContext=new i(\"SearchContext\")}static{this.SearchActionMenu=new i(\"SearchActionContext\")}static{this.StatusBarWindowIndicatorMenu=new i(\"StatusBarWindowIndicatorMenu\")}static{this.StatusBarRemoteIndicatorMenu=new i(\"StatusBarRemoteIndicatorMenu\")}static{this.StickyScrollContext=new i(\"StickyScrollContext\")}static{this.TestItem=new i(\"TestItem\")}static{this.TestItemGutter=new i(\"TestItemGutter\")}static{this.TestProfilesContext=new i(\"TestProfilesContext\")}static{this.TestMessageContext=new i(\"TestMessageContext\")}static{this.TestMessageContent=new i(\"TestMessageContent\")}static{this.TestPeekElement=new i(\"TestPeekElement\")}static{this.TestPeekTitle=new i(\"TestPeekTitle\")}static{this.TestCallStack=new i(\"TestCallStack\")}static{this.TouchBarContext=new i(\"TouchBarContext\")}static{this.TitleBarContext=new i(\"TitleBarContext\")}static{this.TitleBarTitleContext=new i(\"TitleBarTitleContext\")}static{this.TunnelContext=new i(\"TunnelContext\")}static{this.TunnelPrivacy=new i(\"TunnelPrivacy\")}static{this.TunnelProtocol=new i(\"TunnelProtocol\")}static{this.TunnelPortInline=new i(\"TunnelInline\")}static{this.TunnelTitle=new i(\"TunnelTitle\")}static{this.TunnelLocalAddressInline=new i(\"TunnelLocalAddressInline\")}static{this.TunnelOriginInline=new i(\"TunnelOriginInline\")}static{this.ViewItemContext=new i(\"ViewItemContext\")}static{this.ViewContainerTitle=new i(\"ViewContainerTitle\")}static{this.ViewContainerTitleContext=new i(\"ViewContainerTitleContext\")}static{this.ViewTitle=new i(\"ViewTitle\")}static{this.ViewTitleContext=new i(\"ViewTitleContext\")}static{this.CommentEditorActions=new i(\"CommentEditorActions\")}static{this.CommentThreadTitle=new i(\"CommentThreadTitle\")}static{this.CommentThreadActions=new i(\"CommentThreadActions\")}static{this.CommentThreadAdditionalActions=new i(\"CommentThreadAdditionalActions\")}static{this.CommentThreadTitleContext=new i(\"CommentThreadTitleContext\")}static{this.CommentThreadCommentContext=new i(\"CommentThreadCommentContext\")}static{this.CommentTitle=new i(\"CommentTitle\")}static{this.CommentActions=new i(\"CommentActions\")}static{this.CommentsViewThreadActions=new i(\"CommentsViewThreadActions\")}static{this.InteractiveToolbar=new i(\"InteractiveToolbar\")}static{this.InteractiveCellTitle=new i(\"InteractiveCellTitle\")}static{this.InteractiveCellDelete=new i(\"InteractiveCellDelete\")}static{this.InteractiveCellExecute=new i(\"InteractiveCellExecute\")}static{this.InteractiveInputExecute=new i(\"InteractiveInputExecute\")}static{this.InteractiveInputConfig=new i(\"InteractiveInputConfig\")}static{this.ReplInputExecute=new i(\"ReplInputExecute\")}static{this.IssueReporter=new i(\"IssueReporter\")}static{this.NotebookToolbar=new i(\"NotebookToolbar\")}static{this.NotebookStickyScrollContext=new i(\"NotebookStickyScrollContext\")}static{this.NotebookCellTitle=new i(\"NotebookCellTitle\")}static{this.NotebookCellDelete=new i(\"NotebookCellDelete\")}static{this.NotebookCellInsert=new i(\"NotebookCellInsert\")}static{this.NotebookCellBetween=new i(\"NotebookCellBetween\")}static{this.NotebookCellListTop=new i(\"NotebookCellTop\")}static{this.NotebookCellExecute=new i(\"NotebookCellExecute\")}static{this.NotebookCellExecuteGoTo=new i(\"NotebookCellExecuteGoTo\")}static{this.NotebookCellExecutePrimary=new i(\"NotebookCellExecutePrimary\")}static{this.NotebookDiffCellInputTitle=new i(\"NotebookDiffCellInputTitle\")}static{this.NotebookDiffCellMetadataTitle=new i(\"NotebookDiffCellMetadataTitle\")}static{this.NotebookDiffCellOutputsTitle=new i(\"NotebookDiffCellOutputsTitle\")}static{this.NotebookOutputToolbar=new i(\"NotebookOutputToolbar\")}static{this.NotebookOutlineFilter=new i(\"NotebookOutlineFilter\")}static{this.NotebookOutlineActionMenu=new i(\"NotebookOutlineActionMenu\")}static{this.NotebookEditorLayoutConfigure=new i(\"NotebookEditorLayoutConfigure\")}static{this.NotebookKernelSource=new i(\"NotebookKernelSource\")}static{this.BulkEditTitle=new i(\"BulkEditTitle\")}static{this.BulkEditContext=new i(\"BulkEditContext\")}static{this.TimelineItemContext=new i(\"TimelineItemContext\")}static{this.TimelineTitle=new i(\"TimelineTitle\")}static{this.TimelineTitleContext=new i(\"TimelineTitleContext\")}static{this.TimelineFilterSubMenu=new i(\"TimelineFilterSubMenu\")}static{this.AccountsContext=new i(\"AccountsContext\")}static{this.SidebarTitle=new i(\"SidebarTitle\")}static{this.PanelTitle=new i(\"PanelTitle\")}static{this.AuxiliaryBarTitle=new i(\"AuxiliaryBarTitle\")}static{this.AuxiliaryBarHeader=new i(\"AuxiliaryBarHeader\")}static{this.TerminalInstanceContext=new i(\"TerminalInstanceContext\")}static{this.TerminalEditorInstanceContext=new i(\"TerminalEditorInstanceContext\")}static{this.TerminalNewDropdownContext=new i(\"TerminalNewDropdownContext\")}static{this.TerminalTabContext=new i(\"TerminalTabContext\")}static{this.TerminalTabEmptyAreaContext=new i(\"TerminalTabEmptyAreaContext\")}static{this.TerminalStickyScrollContext=new i(\"TerminalStickyScrollContext\")}static{this.WebviewContext=new i(\"WebviewContext\")}static{this.InlineCompletionsActions=new i(\"InlineCompletionsActions\")}static{this.InlineEditsActions=new i(\"InlineEditsActions\")}static{this.InlineEditActions=new i(\"InlineEditActions\")}static{this.NewFile=new i(\"NewFile\")}static{this.MergeInput1Toolbar=new i(\"MergeToolbar1Toolbar\")}static{this.MergeInput2Toolbar=new i(\"MergeToolbar2Toolbar\")}static{this.MergeBaseToolbar=new i(\"MergeBaseToolbar\")}static{this.MergeInputResultToolbar=new i(\"MergeToolbarResultToolbar\")}static{this.InlineSuggestionToolbar=new i(\"InlineSuggestionToolbar\")}static{this.InlineEditToolbar=new i(\"InlineEditToolbar\")}static{this.ChatContext=new i(\"ChatContext\")}static{this.ChatCodeBlock=new i(\"ChatCodeblock\")}static{this.ChatCompareBlock=new i(\"ChatCompareBlock\")}static{this.ChatMessageTitle=new i(\"ChatMessageTitle\")}static{this.ChatExecute=new i(\"ChatExecute\")}static{this.ChatExecuteSecondary=new i(\"ChatExecuteSecondary\")}static{this.ChatInputSide=new i(\"ChatInputSide\")}static{this.AccessibleView=new i(\"AccessibleView\")}static{this.MultiDiffEditorFileToolbar=new i(\"MultiDiffEditorFileToolbar\")}static{this.DiffEditorHunkToolbar=new i(\"DiffEditorHunkToolbar\")}static{this.DiffEditorSelectionToolbar=new i(\"DiffEditorSelectionToolbar\")}constructor(u){if(i._instances.has(u))throw new TypeError(`MenuId with identifier '${u}' already exists. Use MenuId.for(ident) or a unique identifier`);i._instances.set(u,this),this.id=u}}e.MenuId=i,e.IMenuService=(0,b.createDecorator)(\"menuService\");class s{static{this._all=new Map}static for(u){let C=this._all.get(u);return C||(C=new s(u),this._all.set(u,C)),C}static merge(u){const C=new Set;for(const f of u)f instanceof s&&C.add(f.id);return C}constructor(u){this.id=u,this.has=C=>C===u}}e.MenuRegistry=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new I.MicrotaskEmitter({merge:s.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(r){return this._commands.set(r.id,r),this._onDidChangeMenu.fire(s.for(i.CommandPalette)),(0,E.toDisposable)(()=>{this._commands.delete(r.id)&&this._onDidChangeMenu.fire(s.for(i.CommandPalette))})}getCommand(r){return this._commands.get(r)}getCommands(){const r=new Map;return this._commands.forEach((u,C)=>r.set(C,u)),r}appendMenuItem(r,u){let C=this._menuItems.get(r);C||(C=new y.LinkedList,this._menuItems.set(r,C));const f=C.push(u);return this._onDidChangeMenu.fire(s.for(r)),(0,E.toDisposable)(()=>{f(),this._onDidChangeMenu.fire(s.for(r))})}appendMenuItems(r){const u=new E.DisposableStore;for(const{id:C,item:f}of r)u.add(this.appendMenuItem(C,f));return u}getMenuItems(r){let u;return this._menuItems.has(r)?u=[...this._menuItems.get(r)]:u=[],r===i.CommandPalette&&this._appendImplicitItems(u),u}_appendImplicitItems(r){const u=new Set;for(const C of r)o(C)&&(u.add(C.command.id),C.alt&&u.add(C.alt.id));this._commands.forEach((C,f)=>{u.has(f)||r.push({command:C})})}};class g extends d.SubmenuAction{constructor(u,C,f){super(`submenuitem.${u.submenu.id}`,typeof u.title==\"string\"?u.title:u.title.value,f,\"submenu\"),this.item=u,this.hideActions=C}}e.SubmenuItemAction=g;let c=n=class{static label(u,C){return C?.renderShortTitle&&u.shortTitle?typeof u.shortTitle==\"string\"?u.shortTitle:u.shortTitle.value:typeof u.title==\"string\"?u.title:u.title.value}constructor(u,C,f,h,v,w,S){this.hideActions=h,this.menuKeybinding=v,this._commandService=S,this.id=u.id,this.label=n.label(u,f),this.tooltip=(typeof u.tooltip==\"string\"?u.tooltip:u.tooltip?.value)??\"\",this.enabled=!u.precondition||w.contextMatchesRules(u.precondition),this.checked=void 0;let L;if(u.toggled){const D=u.toggled.condition?u.toggled:{condition:u.toggled};this.checked=w.contextMatchesRules(D.condition),this.checked&&D.tooltip&&(this.tooltip=typeof D.tooltip==\"string\"?D.tooltip:D.tooltip.value),this.checked&&k.ThemeIcon.isThemeIcon(D.icon)&&(L=D.icon),this.checked&&D.title&&(this.label=typeof D.title==\"string\"?D.title:D.title.value)}L||(L=k.ThemeIcon.isThemeIcon(u.icon)?u.icon:void 0),this.item=u,this.alt=C?new n(C,void 0,f,h,void 0,w,S):void 0,this._options=f,this.class=L&&k.ThemeIcon.asClassName(L)}run(...u){let C=[];return this._options?.arg&&(C=[...C,this._options.arg]),this._options?.shouldForwardArgs&&(C=[...C,...u]),this._commandService.executeCommand(this.id,...C)}};e.MenuItemAction=c,e.MenuItemAction=c=n=ke([ce(5,_.IContextKeyService),ce(6,m.ICommandService)],c);class l{constructor(u){this.desc=u}}e.Action2=l;function a(r){const u=[],C=new r,{f1:f,menu:h,keybinding:v,...w}=C.desc;if(m.CommandsRegistry.getCommand(w.id))throw new Error(`Cannot register two commands with the same id: ${w.id}`);if(u.push(m.CommandsRegistry.registerCommand({id:w.id,handler:(S,...L)=>C.run(S,...L),metadata:w.metadata})),Array.isArray(h))for(const S of h)u.push(e.MenuRegistry.appendMenuItem(S.id,{command:{...w,precondition:S.precondition===null?void 0:w.precondition},...S}));else h&&u.push(e.MenuRegistry.appendMenuItem(h.id,{command:{...w,precondition:h.precondition===null?void 0:w.precondition},...h}));if(f&&(u.push(e.MenuRegistry.appendMenuItem(i.CommandPalette,{command:w,when:w.precondition})),u.push(e.MenuRegistry.addCommand(w))),Array.isArray(v))for(const S of v)u.push(p.KeybindingsRegistry.registerKeybindingRule({...S,id:w.id,when:w.precondition?_.ContextKeyExpr.and(w.precondition,S.when):S.when}));else v&&u.push(p.KeybindingsRegistry.registerKeybindingRule({...v,id:w.id,when:w.precondition?_.ContextKeyExpr.and(w.precondition,v.when):v.when}));return{dispose(){(0,E.dispose)(u)}}}}),define(ne[718],se([1,0,46,229,3,29]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToggleTabFocusModeAction=void 0;class y extends E.Action2{static{this.ID=\"editor.action.toggleTabFocusMode\"}constructor(){super({id:y.ID,title:I.localize2(1383,\"Toggle Tab Key Moves Focus\"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:I.localize2(1384,\"Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.\")},f1:!0})}run(){const b=!k.TabFocus.getTabFocusMode();k.TabFocus.setTabFocusMode(b),b?(0,d.alert)(I.localize(1381,\"Pressing Tab will now move focus to the next focusable element\")):(0,d.alert)(I.localize(1382,\"Pressing Tab will now insert the tab character\"))}}e.ToggleTabFocusModeAction=y,(0,E.registerAction2)(y)}),define(ne[404],se([1,0,260,641,12,121,3,2,5]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextScopedReplaceInput=e.ContextScopedFindInput=e.historyNavigationVisible=void 0,e.registerAndCreateHistoryNavigationContext=i,e.historyNavigationVisible=new I.RawContextKey(\"suggestWidgetVisible\",!1,(0,y.localize)(1537,\"Whether suggestion are visible\"));const b=\"historyNavigationWidgetFocus\",p=\"historyNavigationForwardsEnabled\",n=\"historyNavigationBackwardsEnabled\";let o;const t=[];function i(c,l){if(t.includes(l))throw new Error(\"Cannot register the same widget multiple times\");t.push(l);const a=new m.DisposableStore,r=new I.RawContextKey(b,!1).bindTo(c),u=new I.RawContextKey(p,!0).bindTo(c),C=new I.RawContextKey(n,!0).bindTo(c),f=()=>{r.set(!0),o=l},h=()=>{r.set(!1),o===l&&(o=void 0)};return(0,_.isActiveElement)(l.element)&&f(),a.add(l.onDidFocus(()=>f())),a.add(l.onDidBlur(()=>h())),a.add((0,m.toDisposable)(()=>{t.splice(t.indexOf(l),1),h()})),{historyNavigationForwardsEnablement:u,historyNavigationBackwardsEnablement:C,dispose(){a.dispose()}}}let s=class extends d.FindInput{constructor(l,a,r,u){super(l,a,r);const C=this._register(u.createScoped(this.inputBox.element));this._register(i(C,this.inputBox))}};e.ContextScopedFindInput=s,e.ContextScopedFindInput=s=ke([ce(3,I.IContextKeyService)],s);let g=class extends k.ReplaceInput{constructor(l,a,r,u,C=!1){super(l,a,C,r);const f=this._register(u.createScoped(this.inputBox.element));this._register(i(f,this.inputBox))}};e.ContextScopedReplaceInput=g,e.ContextScopedReplaceInput=g=ke([ce(3,I.IContextKeyService)],g),E.KeybindingsRegistry.registerCommandAndKeybindingRule({id:\"history.showPrevious\",weight:200,when:I.ContextKeyExpr.and(I.ContextKeyExpr.has(b),I.ContextKeyExpr.equals(n,!0),I.ContextKeyExpr.not(\"isComposing\"),e.historyNavigationVisible.isEqualTo(!1)),primary:16,secondary:[528],handler:c=>{o?.showPreviousValue()}}),E.KeybindingsRegistry.registerCommandAndKeybindingRule({id:\"history.showNext\",weight:200,when:I.ContextKeyExpr.and(I.ContextKeyExpr.has(b),I.ContextKeyExpr.equals(p,!0),I.ContextKeyExpr.not(\"isComposing\"),e.historyNavigationVisible.isEqualTo(!1)),primary:18,secondary:[530],handler:c=>{o?.showNextValue()}})}),define(ne[155],se([1,0,18,8,82,2,54,19,22,9,4,78,135,3,29,24,12,17,404]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickSuggestionsOptions=e.CompletionItemModel=e.CompletionOptions=e.CompletionItem=e.suggestWidgetStatusbarMenu=e.Context=void 0,e.getSnippetSuggestSupport=C,e.provideSuggestionItems=h,e.getSuggestionComparator=D,e.showSimpleSuggestions=T,e.Context={Visible:l.historyNavigationVisible,HasFocusedSuggestion:new g.RawContextKey(\"suggestWidgetHasFocusedSuggestion\",!1,(0,t.localize)(1310,\"Whether any suggestion is focused\")),DetailsVisible:new g.RawContextKey(\"suggestWidgetDetailsVisible\",!1,(0,t.localize)(1311,\"Whether suggestion details are visible\")),MultipleSuggestions:new g.RawContextKey(\"suggestWidgetMultipleSuggestions\",!1,(0,t.localize)(1312,\"Whether there are multiple suggestions to pick from\")),MakesTextEdit:new g.RawContextKey(\"suggestionMakesTextEdit\",!0,(0,t.localize)(1313,\"Whether inserting the current suggestion yields in a change or has everything already been typed\")),AcceptSuggestionsOnEnter:new g.RawContextKey(\"acceptSuggestionOnEnter\",!0,(0,t.localize)(1314,\"Whether suggestions are inserted when pressing Enter\")),HasInsertAndReplaceRange:new g.RawContextKey(\"suggestionHasInsertAndReplaceRange\",!1,(0,t.localize)(1315,\"Whether the current suggestion has insert and replace behaviour\")),InsertMode:new g.RawContextKey(\"suggestionInsertMode\",void 0,{type:\"string\",description:(0,t.localize)(1316,\"Whether the default behaviour is to insert or replace\")}),CanResolve:new g.RawContextKey(\"suggestionCanResolve\",!1,(0,t.localize)(1317,\"Whether the current suggestion supports to resolve further details\"))},e.suggestWidgetStatusbarMenu=new i.MenuId(\"suggestWidgetStatusBar\");class a{constructor(P,N,O,F){this.position=P,this.completion=N,this.container=O,this.provider=F,this.isInvalid=!1,this.score=I.FuzzyScore.Default,this.distance=0,this.textLabel=typeof N.label==\"string\"?N.label:N.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=N.sortText&&N.sortText.toLowerCase(),this.filterTextLow=N.filterText&&N.filterText.toLowerCase(),this.extensionId=N.extensionId,p.Range.isIRange(N.range)?(this.editStart=new b.Position(N.range.startLineNumber,N.range.startColumn),this.editInsertEnd=new b.Position(N.range.endLineNumber,N.range.endColumn),this.editReplaceEnd=new b.Position(N.range.endLineNumber,N.range.endColumn),this.isInvalid=this.isInvalid||p.Range.spansMultipleLines(N.range)||N.range.startLineNumber!==P.lineNumber):(this.editStart=new b.Position(N.range.insert.startLineNumber,N.range.insert.startColumn),this.editInsertEnd=new b.Position(N.range.insert.endLineNumber,N.range.insert.endColumn),this.editReplaceEnd=new b.Position(N.range.replace.endLineNumber,N.range.replace.endColumn),this.isInvalid=this.isInvalid||p.Range.spansMultipleLines(N.range.insert)||p.Range.spansMultipleLines(N.range.replace)||N.range.insert.startLineNumber!==P.lineNumber||N.range.replace.startLineNumber!==P.lineNumber||N.range.insert.startColumn!==N.range.replace.startColumn),typeof F.resolveCompletionItem!=\"function\"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(P){if(!this._resolveCache){const N=P.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),O=new y.StopWatch(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,P)).then(F=>{Object.assign(this.completion,F),this._resolveDuration=O.elapsed()},F=>{(0,k.isCancellationError)(F)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{N.dispose()})}return this._resolveCache}}e.CompletionItem=a;class r{static{this.default=new r}constructor(P=2,N=new Set,O=new Set,F=new Map,x=!0){this.snippetSortOrder=P,this.kindFilter=N,this.providerFilter=O,this.providerItemsToReuse=F,this.showDeprecated=x}}e.CompletionOptions=r;let u;function C(){return u}class f{constructor(P,N,O,F){this.items=P,this.needsClipboard=N,this.durations=O,this.disposable=F}}e.CompletionItemModel=f;async function h(A,P,N,O=r.default,F={triggerKind:0},x=d.CancellationToken.None){const W=new y.StopWatch;N=N.clone();const V=P.getWordAtPosition(N),q=V?new p.Range(N.lineNumber,V.startColumn,N.lineNumber,V.endColumn):p.Range.fromPositions(N),H={replace:q,insert:q.setEndPosition(N.lineNumber,N.column)},z=[],U=new E.DisposableStore,j=[];let Y=!1;const G=(R,J,ie)=>{let ue=!1;if(!J)return ue;for(const he of J.suggestions)if(!O.kindFilter.has(he.kind)){if(!O.showDeprecated&&he?.tags?.includes(1))continue;he.range||(he.range=H),he.sortText||(he.sortText=typeof he.label==\"string\"?he.label:he.label.label),!Y&&he.insertTextRules&&he.insertTextRules&4&&(Y=o.SnippetParser.guessNeedsClipboard(he.insertText)),z.push(new a(N,he,J,R)),ue=!0}return(0,E.isDisposable)(J)&&U.add(J),j.push({providerName:R._debugDisplayName??\"unknown_provider\",elapsedProvider:J.duration??-1,elapsedOverall:ie.elapsed()}),ue},K=(async()=>{if(!u||O.kindFilter.has(27))return;const R=O.providerItemsToReuse.get(u);if(R){R.forEach(ue=>z.push(ue));return}if(O.providerFilter.size>0&&!O.providerFilter.has(u))return;const J=new y.StopWatch,ie=await u.provideCompletionItems(P,N,F,x);G(u,ie,J)})();for(const R of A.orderedGroups(P)){let J=!1;if(await Promise.all(R.map(async ie=>{if(O.providerItemsToReuse.has(ie)){const ue=O.providerItemsToReuse.get(ie);ue.forEach(he=>z.push(he)),J=J||ue.length>0;return}if(!(O.providerFilter.size>0&&!O.providerFilter.has(ie)))try{const ue=new y.StopWatch,he=await ie.provideCompletionItems(P,N,F,x);J=G(ie,he,ue)||J}catch(ue){(0,k.onUnexpectedExternalError)(ue)}})),J||x.isCancellationRequested)break}return await K,x.isCancellationRequested?(U.dispose(),Promise.reject(new k.CancellationError)):new f(z.sort(D(O.snippetSortOrder)),Y,{entries:j,elapsed:W.elapsed()},U)}function v(A,P){if(A.sortTextLow&&P.sortTextLow){if(A.sortTextLow<P.sortTextLow)return-1;if(A.sortTextLow>P.sortTextLow)return 1}return A.textLabel<P.textLabel?-1:A.textLabel>P.textLabel?1:A.completion.kind-P.completion.kind}function w(A,P){if(A.completion.kind!==P.completion.kind){if(A.completion.kind===27)return-1;if(P.completion.kind===27)return 1}return v(A,P)}function S(A,P){if(A.completion.kind!==P.completion.kind){if(A.completion.kind===27)return 1;if(P.completion.kind===27)return-1}return v(A,P)}const L=new Map;L.set(0,w),L.set(2,S),L.set(1,v);function D(A){return L.get(A)}s.CommandsRegistry.registerCommand(\"_executeCompletionItemProvider\",async(A,...P)=>{const[N,O,F,x]=P;(0,m.assertType)(_.URI.isUri(N)),(0,m.assertType)(b.Position.isIPosition(O)),(0,m.assertType)(typeof F==\"string\"||!F),(0,m.assertType)(typeof x==\"number\"||!x);const{completionProvider:W}=A.get(c.ILanguageFeaturesService),V=await A.get(n.ITextModelService).createModelReference(N);try{const q={incomplete:!1,suggestions:[]},H=[],z=V.object.textEditorModel.validatePosition(O),U=await h(W,V.object.textEditorModel,z,void 0,{triggerCharacter:F??void 0,triggerKind:F?1:0});for(const j of U.items)H.length<(x??0)&&H.push(j.resolve(d.CancellationToken.None)),q.incomplete=q.incomplete||j.container.incomplete,q.suggestions.push(j.completion);try{return await Promise.all(H),q}finally{setTimeout(()=>U.disposable.dispose(),100)}}finally{V.dispose()}});function T(A,P){A.getContribution(\"editor.contrib.suggestController\")?.triggerSuggest(new Set().add(P),void 0,!0)}class M{static isAllOff(P){return P.other===\"off\"&&P.comments===\"off\"&&P.strings===\"off\"}static isAllOn(P){return P.other===\"on\"&&P.comments===\"on\"&&P.strings===\"on\"}static valueFor(P,N){switch(N){case 1:return P.comments;case 2:return P.strings;default:return P.other}}}e.QuickSuggestionsOptions=M}),define(ne[719],se([1,0,16,3,12,179,121,272,66]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});const b={weight:200,when:I.ContextKeyExpr.and(I.ContextKeyExpr.equals(m.quickInputTypeContextKeyValue,\"quickPick\"),m.inQuickInputContext),metadata:{description:(0,k.localize)(1587,\"Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.\")}};function p(g,c={}){y.KeybindingsRegistry.registerCommandAndKeybindingRule({...b,...g,secondary:o(g.primary,g.secondary??[],c)})}const n=d.isMacintosh?256:2048;function o(g,c,l={}){return l.withAltMod&&c.push(512+g),l.withCtrlMod&&(c.push(n+g),l.withAltMod&&c.push(512+n+g)),l.withCmdMod&&d.isMacintosh&&(c.push(2048+g),l.withCtrlMod&&c.push(2304+g),l.withAltMod&&(c.push(2560+g),l.withCtrlMod&&c.push(2816+g))),c}function t(g,c){return l=>{const a=l.get(_.IQuickInputService).currentQuickInput;if(a)return c&&a.quickNavigate?a.focus(c):a.focus(g)}}p({id:\"quickInput.pageNext\",primary:12,handler:t(_.QuickPickFocus.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),p({id:\"quickInput.pagePrevious\",primary:11,handler:t(_.QuickPickFocus.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),p({id:\"quickInput.first\",primary:n+14,handler:t(_.QuickPickFocus.First)},{withAltMod:!0,withCmdMod:!0}),p({id:\"quickInput.last\",primary:n+13,handler:t(_.QuickPickFocus.Last)},{withAltMod:!0,withCmdMod:!0}),p({id:\"quickInput.next\",primary:18,handler:t(_.QuickPickFocus.Next)},{withCtrlMod:!0}),p({id:\"quickInput.previous\",primary:16,handler:t(_.QuickPickFocus.Previous)},{withCtrlMod:!0});const i=(0,k.localize)(1588,\"If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator.\"),s=(0,k.localize)(1589,\"If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.\");d.isMacintosh?(p({id:\"quickInput.nextSeparatorWithQuickAccessFallback\",primary:2066,handler:t(_.QuickPickFocus.NextSeparator,_.QuickPickFocus.Next),metadata:{description:i}}),p({id:\"quickInput.nextSeparator\",primary:2578,secondary:[2322],handler:t(_.QuickPickFocus.NextSeparator)},{withCtrlMod:!0}),p({id:\"quickInput.previousSeparatorWithQuickAccessFallback\",primary:2064,handler:t(_.QuickPickFocus.PreviousSeparator,_.QuickPickFocus.Previous),metadata:{description:s}}),p({id:\"quickInput.previousSeparator\",primary:2576,secondary:[2320],handler:t(_.QuickPickFocus.PreviousSeparator)},{withCtrlMod:!0})):(p({id:\"quickInput.nextSeparatorWithQuickAccessFallback\",primary:530,handler:t(_.QuickPickFocus.NextSeparator,_.QuickPickFocus.Next),metadata:{description:i}}),p({id:\"quickInput.nextSeparator\",primary:2578,handler:t(_.QuickPickFocus.NextSeparator)}),p({id:\"quickInput.previousSeparatorWithQuickAccessFallback\",primary:528,handler:t(_.QuickPickFocus.PreviousSeparator,_.QuickPickFocus.Previous),metadata:{description:s}}),p({id:\"quickInput.previousSeparator\",primary:2576,handler:t(_.QuickPickFocus.PreviousSeparator)})),p({id:\"quickInput.acceptInBackground\",when:I.ContextKeyExpr.and(b.when,I.ContextKeyExpr.or(E.InputFocusedContext.negate(),m.endOfQuickInputBoxContext)),primary:17,weight:250,handler:g=>{g.get(_.IQuickInputService).currentQuickInput?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0})}),define(ne[156],se([1,0,13,2,38]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickAccessRegistry=e.Extensions=e.DefaultQuickAccessFilterValue=void 0;var E;(function(m){m[m.PRESERVE=0]=\"PRESERVE\",m[m.LAST=1]=\"LAST\"})(E||(e.DefaultQuickAccessFilterValue=E={})),e.Extensions={Quickaccess:\"workbench.contributions.quickaccess\"};class y{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(_){return _.prefix.length===0?this.defaultProvider=_:this.providers.push(_),this.providers.sort((b,p)=>p.prefix.length-b.prefix.length),(0,k.toDisposable)(()=>{this.providers.splice(this.providers.indexOf(_),1),this.defaultProvider===_&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return(0,d.coalesce)([this.defaultProvider,...this.providers])}getQuickAccessProvider(_){return _&&this.providers.find(p=>_.startsWith(p.prefix))||void 0||this.defaultProvider}}e.QuickAccessRegistry=y,I.Registry.add(e.Extensions.Quickaccess,new y)}),define(ne[720],se([1,0,3,38,2,31,156,66]),function(oe,e,d,k,I,E,y,m){\"use strict\";var _;Object.defineProperty(e,\"__esModule\",{value:!0}),e.HelpQuickAccessProvider=void 0;let b=class{static{_=this}static{this.PREFIX=\"?\"}constructor(n,o){this.quickInputService=n,this.keybindingService=o,this.registry=k.Registry.as(y.Extensions.Quickaccess)}provide(n){const o=new I.DisposableStore;return o.add(n.onDidAccept(()=>{const[t]=n.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),o.add(n.onDidChangeValue(t=>{const i=this.registry.getQuickAccessProvider(t.substr(_.PREFIX.length));i&&i.prefix&&i.prefix!==_.PREFIX&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),n.items=this.getQuickAccessProviders().filter(t=>t.prefix!==_.PREFIX),o}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((o,t)=>o.prefix.localeCompare(t.prefix)).flatMap(o=>this.createPicks(o))}createPicks(n){return n.helpEntries.map(o=>{const t=o.prefix||n.prefix,i=t||\"\\u2026\";return{prefix:t,label:i,keybinding:o.commandId?this.keybindingService.lookupKeybinding(o.commandId):void 0,ariaLabel:(0,d.localize)(1579,\"{0}, {1}\",i,o.description),description:o.description}})}};e.HelpQuickAccessProvider=b,e.HelpQuickAccessProvider=b=_=ke([ce(0,m.IQuickInputService),ce(1,E.IKeybindingService)],b)}),define(ne[721],se([1,0,38,156,107,720]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),d.Registry.as(k.Extensions.Quickaccess).registerQuickAccessProvider({ctor:E.HelpQuickAccessProvider,prefix:\"\",helpEntries:[{description:I.QuickHelpNLS.helpQuickAccessActionLabel}]})}),define(ne[722],se([1,0,14,18,6,2,7,156,66,38]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickAccessController=void 0;let p=class extends E.Disposable{constructor(o,t){super(),this.quickInputService=o,this.instantiationService=t,this.registry=b.Registry.as(m.Extensions.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(o=\"\",t){this.doShowOrPick(o,!1,t)}doShowOrPick(o,t,i){const[s,g]=this.getOrInstantiateProvider(o,i?.enabledProviderPrefixes),c=this.visibleQuickAccess,l=c?.descriptor;if(c&&g&&l===g){o!==g.prefix&&!i?.preserveValue&&(c.picker.value=o),this.adjustValueSelection(c.picker,g,i);return}if(g&&!i?.preserveValue){let v;if(c&&l&&l!==g){const w=c.value.substr(l.prefix.length);w&&(v=`${g.prefix}${w}`)}if(!v){const w=s?.defaultFilterValue;w===m.DefaultQuickAccessFilterValue.LAST?v=this.lastAcceptedPickerValues.get(g):typeof w==\"string\"&&(v=`${g.prefix}${w}`)}typeof v==\"string\"&&(o=v)}const a=c?.picker?.valueSelection,r=c?.picker?.value,u=new E.DisposableStore,C=u.add(this.quickInputService.createQuickPick({useSeparators:!0}));C.value=o,this.adjustValueSelection(C,g,i),C.placeholder=i?.placeholder??g?.placeholder,C.quickNavigate=i?.quickNavigateConfiguration,C.hideInput=!!C.quickNavigate&&!c,(typeof i?.itemActivation==\"number\"||i?.quickNavigateConfiguration)&&(C.itemActivation=i?.itemActivation??_.ItemActivation.SECOND),C.contextKey=g?.contextKey,C.filterValue=v=>v.substring(g?g.prefix.length:0);let f;t&&(f=new d.DeferredPromise,u.add(I.Event.once(C.onWillAccept)(v=>{v.veto(),C.hide()}))),u.add(this.registerPickerListeners(C,s,g,o,i));const h=u.add(new k.CancellationTokenSource);if(s&&u.add(s.provide(C,h.token,i?.providerOptions)),I.Event.once(C.onDidHide)(()=>{C.selectedItems.length===0&&h.cancel(),u.dispose(),f?.complete(C.selectedItems.slice(0))}),C.show(),a&&r===o&&(C.valueSelection=a),t)return f?.p}adjustValueSelection(o,t,i){let s;i?.preserveValue?s=[o.value.length,o.value.length]:s=[t?.prefix.length??0,o.value.length],o.valueSelection=s}registerPickerListeners(o,t,i,s,g){const c=new E.DisposableStore,l=this.visibleQuickAccess={picker:o,descriptor:i,value:s};return c.add((0,E.toDisposable)(()=>{l===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),c.add(o.onDidChangeValue(a=>{const[r]=this.getOrInstantiateProvider(a,g?.enabledProviderPrefixes);r!==t?this.show(a,{enabledProviderPrefixes:g?.enabledProviderPrefixes,preserveValue:!0,providerOptions:g?.providerOptions}):l.value=a})),i&&c.add(o.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,o.value)})),c}getOrInstantiateProvider(o,t){const i=this.registry.getQuickAccessProvider(o);if(!i||t&&!t?.includes(i.prefix))return[void 0,void 0];let s=this.mapProviderToDescriptor.get(i);return s||(s=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,s)),[s,i]}};e.QuickAccessController=p,e.QuickAccessController=p=ke([ce(0,_.IQuickInputService),ce(1,y.IInstantiationService)],p)}),define(ne[723],se([1,0,26,30,111,544]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SeverityIcon=void 0;var E;(function(y){function m(_){switch(_){case I.default.Ignore:return\"severity-ignore \"+k.ThemeIcon.asClassName(d.Codicon.info);case I.default.Info:return k.ThemeIcon.asClassName(d.Codicon.info);case I.default.Warning:return k.ThemeIcon.asClassName(d.Codicon.warning);case I.default.Error:return k.ThemeIcon.asClassName(d.Codicon.error);default:return\"\"}}y.className=m})(E||(e.SeverityIcon=E={}))}),define(ne[101],se([1,0,6,2,19,647,7]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InMemoryStorageService=e.AbstractStorageService=e.WillSaveStateReason=e.IStorageService=e.TARGET_KEY=void 0,e.loadKeyTargets=_,e.TARGET_KEY=\"__$__targetStorageMarker\",e.IStorageService=(0,y.createDecorator)(\"storageService\");var m;(function(n){n[n.NONE=0]=\"NONE\",n[n.SHUTDOWN=1]=\"SHUTDOWN\"})(m||(e.WillSaveStateReason=m={}));function _(n){const o=n.get(e.TARGET_KEY);if(o)try{return JSON.parse(o)}catch{}return Object.create(null)}class b extends k.Disposable{static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}constructor(o={flushInterval:b.DEFAULT_FLUSH_INTERVAL}){super(),this.options=o,this._onDidChangeValue=this._register(new d.PauseableEmitter),this._onDidChangeTarget=this._register(new d.PauseableEmitter),this._onWillSaveState=this._register(new d.Emitter),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(o,t,i){return d.Event.filter(this._onDidChangeValue.event,s=>s.scope===o&&(t===void 0||s.key===t),i)}emitDidChangeValue(o,t){const{key:i,external:s}=t;if(i===e.TARGET_KEY){switch(o){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:o})}else this._onDidChangeValue.fire({scope:o,key:i,target:this.getKeyTargets(o)[i],external:s})}get(o,t,i){return this.getStorage(t)?.get(o,i)}getBoolean(o,t,i){return this.getStorage(t)?.getBoolean(o,i)}getNumber(o,t,i){return this.getStorage(t)?.getNumber(o,i)}store(o,t,i,s,g=!1){if((0,I.isUndefinedOrNull)(t)){this.remove(o,i,g);return}this.withPausedEmitters(()=>{this.updateKeyTarget(o,i,s),this.getStorage(i)?.set(o,t,g)})}remove(o,t,i=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(o,t,void 0),this.getStorage(t)?.delete(o,i)})}withPausedEmitters(o){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{o()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(o,t,i,s=!1){const g=this.getKeyTargets(t);typeof i==\"number\"?g[o]!==i&&(g[o]=i,this.getStorage(t)?.set(e.TARGET_KEY,JSON.stringify(g),s)):typeof g[o]==\"number\"&&(delete g[o],this.getStorage(t)?.set(e.TARGET_KEY,JSON.stringify(g),s))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(o){switch(o){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(o){const t=this.getStorage(o);return t?_(t):Object.create(null)}}e.AbstractStorageService=b;class p extends b{constructor(){super(),this.applicationStorage=this._register(new E.Storage(new E.InMemoryStorageDatabase,{hint:E.StorageHint.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new E.Storage(new E.InMemoryStorageDatabase,{hint:E.StorageHint.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new E.Storage(new E.InMemoryStorageDatabase,{hint:E.StorageHint.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(o=>this.emitDidChangeValue(1,o))),this._register(this.profileStorage.onDidChangeStorage(o=>this.emitDidChangeValue(0,o))),this._register(this.applicationStorage.onDidChangeStorage(o=>this.emitDidChangeValue(-1,o)))}getStorage(o){switch(o){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}}e.InMemoryStorageService=p}),define(ne[724],se([1,0,6,45,4,386,49,7,101,52,5]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeLensCache=e.ICodeLensCache=void 0,e.ICodeLensCache=(0,m.createDecorator)(\"ICodeLensCache\");class n{constructor(i,s){this.lineCount=i,this.data=s}}let o=class{constructor(i){this._fakeProvider=new class{provideCodeLenses(){throw new Error(\"not supported\")}},this._cache=new k.LRUCache(20,.75);const s=\"codelens/cache\";(0,p.runWhenWindowIdle)(b.mainWindow,()=>i.remove(s,1));const g=\"codelens/cache2\",c=i.get(g,1,\"{}\");this._deserialize(c);const l=d.Event.filter(i.onWillSaveState,a=>a.reason===_.WillSaveStateReason.SHUTDOWN);d.Event.once(l)(a=>{i.store(g,this._serialize(),1,1)})}put(i,s){const g=s.lenses.map(a=>({range:a.symbol.range,command:a.symbol.command&&{id:\"\",title:a.symbol.command?.title}})),c=new E.CodeLensModel;c.add({lenses:g,dispose:()=>{}},this._fakeProvider);const l=new n(i.getLineCount(),c);this._cache.set(i.uri.toString(),l)}get(i){const s=this._cache.get(i.uri.toString());return s&&s.lineCount===i.getLineCount()?s.data:void 0}delete(i){this._cache.delete(i.uri.toString())}_serialize(){const i=Object.create(null);for(const[s,g]of this._cache){const c=new Set;for(const l of g.data.lenses)c.add(l.symbol.range.startLineNumber);i[s]={lineCount:g.lineCount,lines:[...c.values()]}}return JSON.stringify(i)}_deserialize(i){try{const s=JSON.parse(i);for(const g in s){const c=s[g],l=[];for(const r of c.lines)l.push({range:new I.Range(r,1,r,11)});const a=new E.CodeLensModel;a.add({lenses:l,dispose(){}},this._fakeProvider),this._cache.set(g,new n(c.lineCount,a))}}catch{}}};e.CodeLensCache=o,e.CodeLensCache=o=ke([ce(0,_.IStorageService)],o),(0,y.registerSingleton)(e.ICodeLensCache,o,1)}),define(ne[405],se([1,0,14,2,45,225,27,28,49,7,101]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";var n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ISuggestMemoryService=e.SuggestMemoryService=e.PrefixMemory=e.LRUMemory=e.NoMemory=e.Memory=void 0;class o{constructor(l){this.name=l}select(l,a,r){if(r.length===0)return 0;const u=r[0].score[0];for(let C=0;C<r.length;C++){const{score:f,completion:h}=r[C];if(f[0]!==u)break;if(h.preselect)return C}return 0}}e.Memory=o;class t extends o{constructor(){super(\"first\")}memorize(l,a,r){}toJSON(){}fromJSON(){}}e.NoMemory=t;class i extends o{constructor(){super(\"recentlyUsed\"),this._cache=new I.LRUCache(300,.66),this._seq=0}memorize(l,a,r){const u=`${l.getLanguageId()}/${r.textLabel}`;this._cache.set(u,{touch:this._seq++,type:r.completion.kind,insertText:r.completion.insertText})}select(l,a,r){if(r.length===0)return 0;const u=l.getLineContent(a.lineNumber).substr(a.column-10,a.column-1);if(/\\s$/.test(u))return super.select(l,a,r);const C=r[0].score[0];let f=-1,h=-1,v=-1;for(let w=0;w<r.length&&r[w].score[0]===C;w++){const S=`${l.getLanguageId()}/${r[w].textLabel}`,L=this._cache.peek(S);if(L&&L.touch>v&&L.type===r[w].completion.kind&&L.insertText===r[w].completion.insertText&&(v=L.touch,h=w),r[w].completion.preselect&&f===-1)return f=w}return h!==-1?h:f!==-1?f:0}toJSON(){return this._cache.toJSON()}fromJSON(l){this._cache.clear();const a=0;for(const[r,u]of l)u.touch=a,u.type=typeof u.type==\"number\"?u.type:y.CompletionItemKinds.fromString(u.type),this._cache.set(r,u);this._seq=this._cache.size}}e.LRUMemory=i;class s extends o{constructor(){super(\"recentlyUsedByPrefix\"),this._trie=E.TernarySearchTree.forStrings(),this._seq=0}memorize(l,a,r){const{word:u}=l.getWordUntilPosition(a),C=`${l.getLanguageId()}/${u}`;this._trie.set(C,{type:r.completion.kind,insertText:r.completion.insertText,touch:this._seq++})}select(l,a,r){const{word:u}=l.getWordUntilPosition(a);if(!u)return super.select(l,a,r);const C=`${l.getLanguageId()}/${u}`;let f=this._trie.get(C);if(f||(f=this._trie.findSubstr(C)),f)for(let h=0;h<r.length;h++){const{kind:v,insertText:w}=r[h].completion;if(v===f.type&&w===f.insertText)return h}return super.select(l,a,r)}toJSON(){const l=[];return this._trie.forEach((a,r)=>l.push([r,a])),l.sort((a,r)=>-(a[1].touch-r[1].touch)).forEach((a,r)=>a[1].touch=r),l.slice(0,200)}fromJSON(l){if(this._trie.clear(),l.length>0){this._seq=l[0][1].touch+1;for(const[a,r]of l)r.type=typeof r.type==\"number\"?r.type:y.CompletionItemKinds.fromString(r.type),this._trie.set(a,r)}}}e.PrefixMemory=s;let g=class{static{n=this}static{this._strategyCtors=new Map([[\"recentlyUsedByPrefix\",s],[\"recentlyUsed\",i],[\"first\",t]])}static{this._storagePrefix=\"suggest/memories\"}constructor(l,a){this._storageService=l,this._configService=a,this._disposables=new k.DisposableStore,this._persistSoon=new d.RunOnceScheduler(()=>this._saveState(),500),this._disposables.add(l.onWillSaveState(r=>{r.reason===p.WillSaveStateReason.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(l,a,r){this._withStrategy(l,a).memorize(l,a,r),this._persistSoon.schedule()}select(l,a,r){return this._withStrategy(l,a).select(l,a,r)}_withStrategy(l,a){const r=this._configService.getValue(\"editor.suggestSelection\",{overrideIdentifier:l.getLanguageIdAtPosition(a.lineNumber,a.column),resource:l.uri});if(this._strategy?.name!==r){this._saveState();const u=n._strategyCtors.get(r)||t;this._strategy=new u;try{const f=this._configService.getValue(\"editor.suggest.shareSuggestSelections\")?0:1,h=this._storageService.get(`${n._storagePrefix}/${r}`,f);h&&this._strategy.fromJSON(JSON.parse(h))}catch{}}return this._strategy}_saveState(){if(this._strategy){const a=this._configService.getValue(\"editor.suggest.shareSuggestSelections\")?0:1,r=JSON.stringify(this._strategy);this._storageService.store(`${n._storagePrefix}/${this._strategy.name}`,r,a,1)}}};e.SuggestMemoryService=g,e.SuggestMemoryService=g=n=ke([ce(0,p.IStorageService),ce(1,m.IConfigurationService)],g),e.ISuggestMemoryService=(0,b.createDecorator)(\"ISuggestMemories\"),(0,_.registerSingleton)(e.ISuggestMemoryService,g,1)}),define(ne[406],se([1,0,14,6,2,29,24,12,41,101,13,3,31]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";var t,i;Object.defineProperty(e,\"__esModule\",{value:!0}),e.MenuService=void 0,e.createConfigureKeybindingAction=u;let s=class{constructor(f,h,v){this._commandService=f,this._keybindingService=h,this._hiddenStates=new g(v)}createMenu(f,h,v){return new a(f,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...v},this._commandService,this._keybindingService,h)}getMenuActions(f,h,v){const w=new a(f,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...v},this._commandService,this._keybindingService,h),S=w.getActions(v);return w.dispose(),S}resetHiddenStates(f){this._hiddenStates.reset(f)}};e.MenuService=s,e.MenuService=s=ke([ce(0,y.ICommandService),ce(1,o.IKeybindingService),ce(2,b.IStorageService)],s);let g=class{static{t=this}static{this._key=\"menu.hiddenCommands\"}constructor(f){this._storageService=f,this._disposables=new I.DisposableStore,this._onDidChange=new k.Emitter,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const h=f.get(t._key,0,\"{}\");this._data=JSON.parse(h)}catch{this._data=Object.create(null)}this._disposables.add(f.onDidChangeValue(0,t._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{const h=f.get(t._key,0,\"{}\");this._data=JSON.parse(h)}catch(h){console.log(\"FAILED to read storage after UPDATE\",h)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(f,h){return this._hiddenByDefaultCache.get(`${f.id}/${h}`)??!1}setDefaultState(f,h,v){this._hiddenByDefaultCache.set(`${f.id}/${h}`,v)}isHidden(f,h){const v=this._isHiddenByDefault(f,h),w=this._data[f.id]?.includes(h)??!1;return v?!w:w}updateHidden(f,h,v){this._isHiddenByDefault(f,h)&&(v=!v);const S=this._data[f.id];if(v)S?S.indexOf(h)<0&&S.push(h):this._data[f.id]=[h];else if(S){const L=S.indexOf(h);L>=0&&(0,p.removeFastWithoutKeepingOrder)(S,L),S.length===0&&delete this._data[f.id]}this._persist()}reset(f){if(f===void 0)this._data=Object.create(null),this._persist();else{for(const{id:h}of f)this._data[h]&&delete this._data[h];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const f=JSON.stringify(this._data);this._storageService.store(t._key,f,0,0)}finally{this._ignoreChangeEvent=!1}}};g=t=ke([ce(0,b.IStorageService)],g);class c{constructor(f,h){this._id=f,this._collectContextKeysForSubmenus=h,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const f=this._sort(E.MenuRegistry.getMenuItems(this._id));let h;for(const v of f){const w=v.group||\"\";(!h||h[0]!==w)&&(h=[w,[]],this._menuGroups.push(h)),h[1].push(v),this._collectContextKeysAndSubmenuIds(v)}this._allMenuIds.add(this._id)}_sort(f){return f}_collectContextKeysAndSubmenuIds(f){if(c._fillInKbExprKeys(f.when,this._structureContextKeys),(0,E.isIMenuItem)(f)){if(f.command.precondition&&c._fillInKbExprKeys(f.command.precondition,this._preconditionContextKeys),f.command.toggled){const h=f.command.toggled.condition||f.command.toggled;c._fillInKbExprKeys(h,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(E.MenuRegistry.getMenuItems(f.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(f.submenu))}static _fillInKbExprKeys(f,h){if(f)for(const v of f.keys())h.add(v)}}let l=i=class extends c{constructor(f,h,v,w,S,L){super(f,v),this._hiddenStates=h,this._commandService=w,this._keybindingService=S,this._contextKeyService=L,this.refresh()}createActionGroups(f){const h=[];for(const v of this._menuGroups){const[w,S]=v;let L;for(const D of S)if(this._contextKeyService.contextMatchesRules(D.when)){const T=(0,E.isIMenuItem)(D);T&&this._hiddenStates.setDefaultState(this._id,D.command.id,!!D.isHiddenByDefault);const M=r(this._id,T?D.command:D,this._hiddenStates);if(T){const A=u(this._commandService,this._keybindingService,D.command.id,D.when);(L??=[]).push(new E.MenuItemAction(D.command,D.alt,f,M,A,this._contextKeyService,this._commandService))}else{const A=new i(D.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(f),P=_.Separator.join(...A.map(N=>N[1]));P.length>0&&(L??=[]).push(new E.SubmenuItemAction(D,M,P))}}L&&L.length>0&&h.push([w,L])}return h}_sort(f){return f.sort(i._compareMenuItems)}static _compareMenuItems(f,h){const v=f.group,w=h.group;if(v!==w){if(v){if(!w)return-1}else return 1;if(v===\"navigation\")return-1;if(w===\"navigation\")return 1;const D=v.localeCompare(w);if(D!==0)return D}const S=f.order||0,L=h.order||0;return S<L?-1:S>L?1:i._compareTitles((0,E.isIMenuItem)(f)?f.command.title:f.title,(0,E.isIMenuItem)(h)?h.command.title:h.title)}static _compareTitles(f,h){const v=typeof f==\"string\"?f:f.original,w=typeof h==\"string\"?h:h.original;return v.localeCompare(w)}};l=i=ke([ce(3,y.ICommandService),ce(4,o.IKeybindingService),ce(5,m.IContextKeyService)],l);let a=class{constructor(f,h,v,w,S,L){this._disposables=new I.DisposableStore,this._menuInfo=new l(f,h,v.emitEventsForSubmenuChanges,w,S,L);const D=new d.RunOnceScheduler(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},v.eventDebounceDelay);this._disposables.add(D),this._disposables.add(E.MenuRegistry.onDidChangeMenu(P=>{for(const N of this._menuInfo.allMenuIds)if(P.has(N)){D.schedule();break}}));const T=this._disposables.add(new I.DisposableStore),M=P=>{let N=!1,O=!1,F=!1;for(const x of P)if(N=N||x.isStructuralChange,O=O||x.isEnablementChange,F=F||x.isToggleChange,N&&O&&F)break;return{menu:this,isStructuralChange:N,isEnablementChange:O,isToggleChange:F}},A=()=>{T.add(L.onDidChangeContext(P=>{const N=P.affectsSome(this._menuInfo.structureContextKeys),O=P.affectsSome(this._menuInfo.preconditionContextKeys),F=P.affectsSome(this._menuInfo.toggledContextKeys);(N||O||F)&&this._onDidChange.fire({menu:this,isStructuralChange:N,isEnablementChange:O,isToggleChange:F})})),T.add(h.onDidChange(P=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new k.DebounceEmitter({onWillAddFirstListener:A,onDidRemoveLastListener:T.clear.bind(T),delay:v.eventDebounceDelay,merge:M}),this.onDidChange=this._onDidChange.event}getActions(f){return this._menuInfo.createActionGroups(f)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};a=ke([ce(3,y.ICommandService),ce(4,o.IKeybindingService),ce(5,m.IContextKeyService)],a);function r(C,f,h){const v=(0,E.isISubmenuItem)(f)?f.submenu.id:f.id,w=typeof f.title==\"string\"?f.title:f.title.value,S=(0,_.toAction)({id:`hide/${C.id}/${v}`,label:(0,n.localize)(1490,\"Hide '{0}'\",w),run(){h.updateHidden(C,v,!0)}}),L=(0,_.toAction)({id:`toggle/${C.id}/${v}`,label:w,get checked(){return!h.isHidden(C,v)},run(){h.updateHidden(C,v,!!this.checked)}});return{hide:S,toggle:L,get isHidden(){return!L.checked}}}function u(C,f,h,v=void 0,w=!0){return(0,_.toAction)({id:`configureKeybinding/${h}`,label:(0,n.localize)(1491,\"Configure Keybinding\"),enabled:w,run(){const L=!!!f.lookupKeybinding(h)&&v?v.serialize():void 0;C.executeCommand(\"workbench.action.openGlobalKeybindings\",`@command:${h}`+(L?` +when:${L}`:\"\"))}})}}),define(ne[63],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ITelemetryService=void 0,e.ITelemetryService=(0,d.createDecorator)(\"telemetryService\")}),define(ne[15],se([1,0,3,22,34,9,51,78,29,24,12,7,121,38,63,19,62,5]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectAllCommand=e.RedoCommand=e.UndoCommand=e.EditorExtensionsRegistry=e.EditorAction2=e.MultiEditorAction=e.EditorAction=e.EditorCommand=e.ProxyCommand=e.MultiCommand=e.Command=void 0,e.registerModelAndPositionCommand=v,e.registerEditorCommand=w,e.registerEditorAction=S,e.registerMultiEditorAction=L,e.registerInstantiatedEditorAction=D,e.registerEditorContribution=T;class l{constructor(F){this.id=F.id,this.precondition=F.precondition,this._kbOpts=F.kbOpts,this._menuOpts=F.menuOpts,this.metadata=F.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const F=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const x of F){let W=x.kbExpr;this.precondition&&(W?W=p.ContextKeyExpr.and(W,this.precondition):W=this.precondition);const V={id:this.id,weight:x.weight,args:x.args,when:W,primary:x.primary,secondary:x.secondary,win:x.win,linux:x.linux,mac:x.mac};o.KeybindingsRegistry.registerKeybindingRule(V)}}b.CommandsRegistry.registerCommand({id:this.id,handler:(F,x)=>this.runCommand(F,x),metadata:this.metadata})}_registerMenuItem(F){_.MenuRegistry.appendMenuItem(F.menuId,{group:F.group,command:{id:this.id,title:F.title,icon:F.icon,precondition:this.precondition},when:F.when,order:F.order})}}e.Command=l;class a extends l{constructor(){super(...arguments),this._implementations=[]}addImplementation(F,x,W,V){return this._implementations.push({priority:F,name:x,implementation:W,when:V}),this._implementations.sort((q,H)=>H.priority-q.priority),{dispose:()=>{for(let q=0;q<this._implementations.length;q++)if(this._implementations[q].implementation===W){this._implementations.splice(q,1);return}}}}runCommand(F,x){const W=F.get(g.ILogService),V=F.get(p.IContextKeyService);W.trace(`Executing Command '${this.id}' which has ${this._implementations.length} bound.`);for(const q of this._implementations){if(q.when){const z=V.getContext((0,c.getActiveElement)());if(!q.when.evaluate(z))continue}const H=q.implementation(F,x);if(H)return W.trace(`Command '${this.id}' was handled by '${q.name}'.`),typeof H==\"boolean\"?void 0:H}W.trace(`The Command '${this.id}' was not handled by any implementation.`)}}e.MultiCommand=a;class r extends l{constructor(F,x){super(x),this.command=F}runCommand(F,x){return this.command.runCommand(F,x)}}e.ProxyCommand=r;class u extends l{static bindToContribution(F){return class extends u{constructor(W){super(W),this._callback=W.handler}runEditorCommand(W,V,q){const H=F(V);H&&this._callback(H,q)}}}static runEditorCommand(F,x,W,V){const q=F.get(I.ICodeEditorService),H=q.getFocusedCodeEditor()||q.getActiveCodeEditor();if(H)return H.invokeWithinContext(z=>{if(z.get(p.IContextKeyService).contextMatchesRules(W??void 0))return V(z,H,x)})}runCommand(F,x){return u.runEditorCommand(F,x,this.precondition,(W,V,q)=>this.runEditorCommand(W,V,q))}}e.EditorCommand=u;class C extends u{static convertOptions(F){let x;Array.isArray(F.menuOpts)?x=F.menuOpts:F.menuOpts?x=[F.menuOpts]:x=[];function W(V){return V.menuId||(V.menuId=_.MenuId.EditorContext),V.title||(V.title=F.label),V.when=p.ContextKeyExpr.and(F.precondition,V.when),V}return Array.isArray(F.contextMenuOpts)?x.push(...F.contextMenuOpts.map(W)):F.contextMenuOpts&&x.push(W(F.contextMenuOpts)),F.menuOpts=x,F}constructor(F){super(C.convertOptions(F)),this.label=F.label,this.alias=F.alias}runEditorCommand(F,x,W){return this.reportTelemetry(F,x),this.run(F,x,W||{})}reportTelemetry(F,x){F.get(i.ITelemetryService).publicLog2(\"editorActionInvoked\",{name:this.label,id:this.id})}}e.EditorAction=C;class f extends C{constructor(){super(...arguments),this._implementations=[]}addImplementation(F,x){return this._implementations.push([F,x]),this._implementations.sort((W,V)=>V[0]-W[0]),{dispose:()=>{for(let W=0;W<this._implementations.length;W++)if(this._implementations[W][1]===x){this._implementations.splice(W,1);return}}}}run(F,x,W){for(const V of this._implementations){const q=V[1](F,x,W);if(q)return typeof q==\"boolean\"?void 0:q}}}e.MultiEditorAction=f;class h extends _.Action2{run(F,...x){const W=F.get(I.ICodeEditorService),V=W.getFocusedCodeEditor()||W.getActiveCodeEditor();if(V)return V.invokeWithinContext(q=>{const H=q.get(p.IContextKeyService),z=q.get(g.ILogService);if(!H.contextMatchesRules(this.desc.precondition??void 0)){z.debug(\"[EditorAction2] NOT running command because its precondition is FALSE\",this.desc.id,this.desc.precondition?.serialize());return}return this.runEditorCommand(q,V,...x)})}}e.EditorAction2=h;function v(O,F){b.CommandsRegistry.registerCommand(O,function(x,...W){const V=x.get(n.IInstantiationService),[q,H]=W;(0,s.assertType)(k.URI.isUri(q)),(0,s.assertType)(E.Position.isIPosition(H));const z=x.get(y.IModelService).getModel(q);if(z){const U=E.Position.lift(H);return V.invokeFunction(F,z,U,...W.slice(2))}return x.get(m.ITextModelService).createModelReference(q).then(U=>new Promise((j,Y)=>{try{const G=V.invokeFunction(F,U.object.textEditorModel,E.Position.lift(H),W.slice(2));j(G)}catch(G){Y(G)}}).finally(()=>{U.dispose()}))})}function w(O){return P.INSTANCE.registerEditorCommand(O),O}function S(O){const F=new O;return P.INSTANCE.registerEditorAction(F),F}function L(O){return P.INSTANCE.registerEditorAction(O),O}function D(O){P.INSTANCE.registerEditorAction(O)}function T(O,F,x){P.INSTANCE.registerEditorContribution(O,F,x)}var M;(function(O){function F(H){return P.INSTANCE.getEditorCommand(H)}O.getEditorCommand=F;function x(){return P.INSTANCE.getEditorActions()}O.getEditorActions=x;function W(){return P.INSTANCE.getEditorContributions()}O.getEditorContributions=W;function V(H){return P.INSTANCE.getEditorContributions().filter(z=>H.indexOf(z.id)>=0)}O.getSomeEditorContributions=V;function q(){return P.INSTANCE.getDiffEditorContributions()}O.getDiffEditorContributions=q})(M||(e.EditorExtensionsRegistry=M={}));const A={EditorCommonContributions:\"editor.contributions\"};class P{static{this.INSTANCE=new P}constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(F,x,W){this.editorContributions.push({id:F,ctor:x,instantiation:W})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(F){F.register(),this.editorActions.push(F)}getEditorActions(){return this.editorActions}registerEditorCommand(F){F.register(),this.editorCommands[F.id]=F}getEditorCommand(F){return this.editorCommands[F]||null}}t.Registry.add(A.EditorCommonContributions,P.INSTANCE);function N(O){return O.register(),O}e.UndoCommand=N(new a({id:\"undo\",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:_.MenuId.MenubarEditMenu,group:\"1_do\",title:d.localize(62,\"&&Undo\"),order:1},{menuId:_.MenuId.CommandPalette,group:\"\",title:d.localize(63,\"Undo\"),order:1}]})),N(new r(e.UndoCommand,{id:\"default:undo\",precondition:void 0})),e.RedoCommand=N(new a({id:\"redo\",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:_.MenuId.MenubarEditMenu,group:\"1_do\",title:d.localize(64,\"&&Redo\"),order:2},{menuId:_.MenuId.CommandPalette,group:\"\",title:d.localize(65,\"Redo\"),order:1}]})),N(new r(e.RedoCommand,{id:\"default:redo\",precondition:void 0})),e.SelectAllCommand=N(new a({id:\"editor.action.selectAll\",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:_.MenuId.MenubarSelectionMenu,group:\"1_basic\",title:d.localize(66,\"&&Select All\"),order:1},{menuId:_.MenuId.CommandPalette,group:\"\",title:d.localize(67,\"Select All\"),order:1}]}))}),define(ne[214],se([1,0,3,64,19,46,15,34,565,76,234,235,276,9,4,20,12,121,5,213]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CoreEditingCommands=e.CoreNavigationCommands=e.RevealLine_=e.EditorScroll_=e.CoreEditorCommand=void 0;const r=0;class u extends y.EditorCommand{runEditorCommand(P,N,O){const F=N._getViewModel();F&&this.runCoreEditorCommand(F,O||{})}}e.CoreEditorCommand=u;var C;(function(A){const P=function(O){if(!I.isObject(O))return!1;const F=O;return!(!I.isString(F.to)||!I.isUndefined(F.by)&&!I.isString(F.by)||!I.isUndefined(F.value)&&!I.isNumber(F.value)||!I.isUndefined(F.revealCursor)&&!I.isBoolean(F.revealCursor))};A.metadata={description:\"Scroll editor in the given direction\",args:[{name:\"Editor scroll argument object\",description:\"Property-value pairs that can be passed through this argument:\\n\t\t\t\t\t* 'to': A mandatory direction value.\\n\t\t\t\t\t\t```\\n\t\t\t\t\t\t'up', 'down'\\n\t\t\t\t\t\t```\\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\\n\t\t\t\t\t\t```\\n\t\t\t\t\t\t'line', 'wrappedLine', 'page', 'halfPage', 'editor'\\n\t\t\t\t\t\t```\\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\\n\t\t\t\t\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\\n\t\t\t\t\",constraint:P,schema:{type:\"object\",required:[\"to\"],properties:{to:{type:\"string\",enum:[\"up\",\"down\"]},by:{type:\"string\",enum:[\"line\",\"wrappedLine\",\"page\",\"halfPage\",\"editor\"]},value:{type:\"number\",default:1},revealCursor:{type:\"boolean\"}}}}]},A.RawDirection={Up:\"up\",Right:\"right\",Down:\"down\",Left:\"left\"},A.RawUnit={Line:\"line\",WrappedLine:\"wrappedLine\",Page:\"page\",HalfPage:\"halfPage\",Editor:\"editor\",Column:\"column\"};function N(O){let F;switch(O.to){case A.RawDirection.Up:F=1;break;case A.RawDirection.Right:F=2;break;case A.RawDirection.Down:F=3;break;case A.RawDirection.Left:F=4;break;default:return null}let x;switch(O.by){case A.RawUnit.Line:x=1;break;case A.RawUnit.WrappedLine:x=2;break;case A.RawUnit.Page:x=3;break;case A.RawUnit.HalfPage:x=4;break;case A.RawUnit.Editor:x=5;break;case A.RawUnit.Column:x=6;break;default:x=2}const W=Math.floor(O.value||1),V=!!O.revealCursor;return{direction:F,unit:x,value:W,revealCursor:V,select:!!O.select}}A.parse=N})(C||(e.EditorScroll_=C={}));var f;(function(A){const P=function(N){if(!I.isObject(N))return!1;const O=N;return!(!I.isNumber(O.lineNumber)&&!I.isString(O.lineNumber)||!I.isUndefined(O.at)&&!I.isString(O.at))};A.metadata={description:\"Reveal the given line at the given logical position\",args:[{name:\"Reveal line argument object\",description:\"Property-value pairs that can be passed through this argument:\\n\t\t\t\t\t* 'lineNumber': A mandatory line number value.\\n\t\t\t\t\t* 'at': Logical position at which line has to be revealed.\\n\t\t\t\t\t\t```\\n\t\t\t\t\t\t'top', 'center', 'bottom'\\n\t\t\t\t\t\t```\\n\t\t\t\t\",constraint:P,schema:{type:\"object\",required:[\"lineNumber\"],properties:{lineNumber:{type:[\"number\",\"string\"]},at:{type:\"string\",enum:[\"top\",\"center\",\"bottom\"]}}}}]},A.RawAtArgument={Top:\"top\",Center:\"center\",Bottom:\"bottom\"}})(f||(e.RevealLine_=f={}));class h{constructor(P){P.addImplementation(1e4,\"code-editor\",(N,O)=>{const F=N.get(m.ICodeEditorService).getFocusedCodeEditor();return F&&F.hasTextFocus()?this._runEditorCommand(N,F,O):!1}),P.addImplementation(1e3,\"generic-dom-input-textarea\",(N,O)=>{const F=(0,l.getActiveElement)();return F&&[\"input\",\"textarea\"].indexOf(F.tagName.toLowerCase())>=0?(this.runDOMCommand(F),!0):!1}),P.addImplementation(0,\"generic-dom\",(N,O)=>{const F=N.get(m.ICodeEditorService).getActiveCodeEditor();return F?(F.focus(),this._runEditorCommand(N,F,O)):!1})}_runEditorCommand(P,N,O){const F=this.runEditorCommand(P,N,O);return F||!0}}var v;(function(A){class P extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){if(!ue.position)return;ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,[n.CursorMoveCommands.moveTo(ie,ie.getPrimaryCursorState(),this._inSelectionMode,ue.position,ue.viewPosition)])&&ue.revealType!==2&&ie.revealAllCursors(ue.source,!0,!0)}}A.MoveTo=(0,y.registerEditorCommand)(new P({id:\"_moveTo\",inSelectionMode:!1,precondition:void 0})),A.MoveToSelect=(0,y.registerEditorCommand)(new P({id:\"_moveToSelect\",inSelectionMode:!0,precondition:void 0}));class N extends u{runCoreEditorCommand(ie,ue){ie.model.pushStackElement();const he=this._getColumnSelectResult(ie,ie.getPrimaryCursorState(),ie.getCursorColumnSelectData(),ue);he!==null&&(ie.setCursorStates(ue.source,3,he.viewStates.map(pe=>b.CursorState.fromViewState(pe))),ie.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:he.fromLineNumber,fromViewVisualColumn:he.fromVisualColumn,toViewLineNumber:he.toLineNumber,toViewVisualColumn:he.toVisualColumn}),he.reversed?ie.revealTopMostCursor(ue.source):ie.revealBottomMostCursor(ue.source))}}A.ColumnSelect=(0,y.registerEditorCommand)(new class extends N{constructor(){super({id:\"columnSelect\",precondition:void 0})}_getColumnSelectResult(J,ie,ue,he){if(typeof he.position>\"u\"||typeof he.viewPosition>\"u\"||typeof he.mouseColumn>\"u\")return null;const pe=J.model.validatePosition(he.position),ae=J.coordinatesConverter.validateViewPosition(new t.Position(he.viewPosition.lineNumber,he.viewPosition.column),pe),ee=he.doColumnSelect?ue.fromViewLineNumber:ae.lineNumber,de=he.doColumnSelect?ue.fromViewVisualColumn:he.mouseColumn-1;return _.ColumnSelection.columnSelect(J.cursorConfig,J,ee,de,ae.lineNumber,he.mouseColumn-1)}}),A.CursorColumnSelectLeft=(0,y.registerEditorCommand)(new class extends N{constructor(){super({id:\"cursorColumnSelectLeft\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(J,ie,ue,he){return _.ColumnSelection.columnSelectLeft(J.cursorConfig,J,ue)}}),A.CursorColumnSelectRight=(0,y.registerEditorCommand)(new class extends N{constructor(){super({id:\"cursorColumnSelectRight\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(J,ie,ue,he){return _.ColumnSelection.columnSelectRight(J.cursorConfig,J,ue)}});class O extends N{constructor(ie){super(ie),this._isPaged=ie.isPaged}_getColumnSelectResult(ie,ue,he,pe){return _.ColumnSelection.columnSelectUp(ie.cursorConfig,ie,he,this._isPaged)}}A.CursorColumnSelectUp=(0,y.registerEditorCommand)(new O({isPaged:!1,id:\"cursorColumnSelectUp\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3600,linux:{primary:0}}})),A.CursorColumnSelectPageUp=(0,y.registerEditorCommand)(new O({isPaged:!0,id:\"cursorColumnSelectPageUp\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3595,linux:{primary:0}}}));class F extends N{constructor(ie){super(ie),this._isPaged=ie.isPaged}_getColumnSelectResult(ie,ue,he,pe){return _.ColumnSelection.columnSelectDown(ie.cursorConfig,ie,he,this._isPaged)}}A.CursorColumnSelectDown=(0,y.registerEditorCommand)(new F({isPaged:!1,id:\"cursorColumnSelectDown\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3602,linux:{primary:0}}})),A.CursorColumnSelectPageDown=(0,y.registerEditorCommand)(new F({isPaged:!0,id:\"cursorColumnSelectPageDown\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3596,linux:{primary:0}}}));class x extends u{constructor(){super({id:\"cursorMove\",precondition:void 0,metadata:n.CursorMove.metadata})}runCoreEditorCommand(ie,ue){const he=n.CursorMove.parse(ue);he&&this._runCursorMove(ie,ue.source,he)}_runCursorMove(ie,ue,he){ie.model.pushStackElement(),ie.setCursorStates(ue,3,x._move(ie,ie.getCursorStates(),he)),ie.revealAllCursors(ue,!0)}static _move(ie,ue,he){const pe=he.select,ae=he.value;switch(he.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return n.CursorMoveCommands.simpleMove(ie,ue,he.direction,pe,ae,he.unit);case 11:case 13:case 12:case 14:return n.CursorMoveCommands.viewportMove(ie,ue,he.direction,pe,ae);default:return null}}}A.CursorMoveImpl=x,A.CursorMove=(0,y.registerEditorCommand)(new x);class W extends u{constructor(ie){super(ie),this._staticArgs=ie.args}runCoreEditorCommand(ie,ue){let he=this._staticArgs;this._staticArgs.value===-1&&(he={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:ue.pageSize||ie.cursorConfig.pageSize}),ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,n.CursorMoveCommands.simpleMove(ie,ie.getCursorStates(),he.direction,he.select,he.value,he.unit)),ie.revealAllCursors(ue.source,!0)}}A.CursorLeft=(0,y.registerEditorCommand)(new W({args:{direction:0,unit:0,select:!1,value:1},id:\"cursorLeft\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),A.CursorLeftSelect=(0,y.registerEditorCommand)(new W({args:{direction:0,unit:0,select:!0,value:1},id:\"cursorLeftSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1039}})),A.CursorRight=(0,y.registerEditorCommand)(new W({args:{direction:1,unit:0,select:!1,value:1},id:\"cursorRight\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),A.CursorRightSelect=(0,y.registerEditorCommand)(new W({args:{direction:1,unit:0,select:!0,value:1},id:\"cursorRightSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1041}})),A.CursorUp=(0,y.registerEditorCommand)(new W({args:{direction:2,unit:2,select:!1,value:1},id:\"cursorUp\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),A.CursorUpSelect=(0,y.registerEditorCommand)(new W({args:{direction:2,unit:2,select:!0,value:1},id:\"cursorUpSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),A.CursorPageUp=(0,y.registerEditorCommand)(new W({args:{direction:2,unit:2,select:!1,value:-1},id:\"cursorPageUp\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:11}})),A.CursorPageUpSelect=(0,y.registerEditorCommand)(new W({args:{direction:2,unit:2,select:!0,value:-1},id:\"cursorPageUpSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1035}})),A.CursorDown=(0,y.registerEditorCommand)(new W({args:{direction:3,unit:2,select:!1,value:1},id:\"cursorDown\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),A.CursorDownSelect=(0,y.registerEditorCommand)(new W({args:{direction:3,unit:2,select:!0,value:1},id:\"cursorDownSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),A.CursorPageDown=(0,y.registerEditorCommand)(new W({args:{direction:3,unit:2,select:!1,value:-1},id:\"cursorPageDown\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:12}})),A.CursorPageDownSelect=(0,y.registerEditorCommand)(new W({args:{direction:3,unit:2,select:!0,value:-1},id:\"cursorPageDownSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1036}})),A.CreateCursor=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"createCursor\",precondition:void 0})}runCoreEditorCommand(J,ie){if(!ie.position)return;let ue;ie.wholeLine?ue=n.CursorMoveCommands.line(J,J.getPrimaryCursorState(),!1,ie.position,ie.viewPosition):ue=n.CursorMoveCommands.moveTo(J,J.getPrimaryCursorState(),!1,ie.position,ie.viewPosition);const he=J.getCursorStates();if(he.length>1){const pe=ue.modelState?ue.modelState.position:null,ae=ue.viewState?ue.viewState.position:null;for(let ee=0,de=he.length;ee<de;ee++){const ge=he[ee];if(!(pe&&!ge.modelState.selection.containsPosition(pe))&&!(ae&&!ge.viewState.selection.containsPosition(ae))){he.splice(ee,1),J.model.pushStackElement(),J.setCursorStates(ie.source,3,he);return}}}he.push(ue),J.model.pushStackElement(),J.setCursorStates(ie.source,3,he)}}),A.LastCursorMoveToSelect=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"_lastCursorMoveToSelect\",precondition:void 0})}runCoreEditorCommand(J,ie){if(!ie.position)return;const ue=J.getLastAddedCursorIndex(),he=J.getCursorStates(),pe=he.slice(0);pe[ue]=n.CursorMoveCommands.moveTo(J,he[ue],!0,ie.position,ie.viewPosition),J.model.pushStackElement(),J.setCursorStates(ie.source,3,pe)}});class V extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,n.CursorMoveCommands.moveToBeginningOfLine(ie,ie.getCursorStates(),this._inSelectionMode)),ie.revealAllCursors(ue.source,!0)}}A.CursorHome=(0,y.registerEditorCommand)(new V({inSelectionMode:!1,id:\"cursorHome\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),A.CursorHomeSelect=(0,y.registerEditorCommand)(new V({inSelectionMode:!0,id:\"cursorHomeSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}}));class q extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,this._exec(ie.getCursorStates())),ie.revealAllCursors(ue.source,!0)}_exec(ie){const ue=[];for(let he=0,pe=ie.length;he<pe;he++){const ae=ie[he],ee=ae.modelState.position.lineNumber;ue[he]=b.CursorState.fromModelState(ae.modelState.move(this._inSelectionMode,ee,1,0))}return ue}}A.CursorLineStart=(0,y.registerEditorCommand)(new q({inSelectionMode:!1,id:\"cursorLineStart\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:0,mac:{primary:287}}})),A.CursorLineStartSelect=(0,y.registerEditorCommand)(new q({inSelectionMode:!0,id:\"cursorLineStartSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:0,mac:{primary:1311}}}));class H extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,n.CursorMoveCommands.moveToEndOfLine(ie,ie.getCursorStates(),this._inSelectionMode,ue.sticky||!1)),ie.revealAllCursors(ue.source,!0)}}A.CursorEnd=(0,y.registerEditorCommand)(new H({inSelectionMode:!1,id:\"cursorEnd\",precondition:void 0,kbOpts:{args:{sticky:!1},weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}},metadata:{description:\"Go to End\",args:[{name:\"args\",schema:{type:\"object\",properties:{sticky:{description:d.localize(59,\"Stick to the end even when going to longer lines\"),type:\"boolean\",default:!1}}}}]}})),A.CursorEndSelect=(0,y.registerEditorCommand)(new H({inSelectionMode:!0,id:\"cursorEndSelect\",precondition:void 0,kbOpts:{args:{sticky:!1},weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}},metadata:{description:\"Select to End\",args:[{name:\"args\",schema:{type:\"object\",properties:{sticky:{description:d.localize(60,\"Stick to the end even when going to longer lines\"),type:\"boolean\",default:!1}}}}]}}));class z extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,this._exec(ie,ie.getCursorStates())),ie.revealAllCursors(ue.source,!0)}_exec(ie,ue){const he=[];for(let pe=0,ae=ue.length;pe<ae;pe++){const ee=ue[pe],de=ee.modelState.position.lineNumber,ge=ie.model.getLineMaxColumn(de);he[pe]=b.CursorState.fromModelState(ee.modelState.move(this._inSelectionMode,de,ge,0))}return he}}A.CursorLineEnd=(0,y.registerEditorCommand)(new z({inSelectionMode:!1,id:\"cursorLineEnd\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:0,mac:{primary:291}}})),A.CursorLineEndSelect=(0,y.registerEditorCommand)(new z({inSelectionMode:!0,id:\"cursorLineEndSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:0,mac:{primary:1315}}}));class U extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,n.CursorMoveCommands.moveToBeginningOfBuffer(ie,ie.getCursorStates(),this._inSelectionMode)),ie.revealAllCursors(ue.source,!0)}}A.CursorTop=(0,y.registerEditorCommand)(new U({inSelectionMode:!1,id:\"cursorTop\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:2062,mac:{primary:2064}}})),A.CursorTopSelect=(0,y.registerEditorCommand)(new U({inSelectionMode:!0,id:\"cursorTopSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3086,mac:{primary:3088}}}));class j extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,n.CursorMoveCommands.moveToEndOfBuffer(ie,ie.getCursorStates(),this._inSelectionMode)),ie.revealAllCursors(ue.source,!0)}}A.CursorBottom=(0,y.registerEditorCommand)(new j({inSelectionMode:!1,id:\"cursorBottom\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:2061,mac:{primary:2066}}})),A.CursorBottomSelect=(0,y.registerEditorCommand)(new j({inSelectionMode:!0,id:\"cursorBottomSelect\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:3085,mac:{primary:3090}}}));class Y extends u{constructor(){super({id:\"editorScroll\",precondition:void 0,metadata:C.metadata})}determineScrollMethod(ie){const ue=[6],he=[1,2,3,4,5,6],pe=[4,2],ae=[1,3];return ue.includes(ie.unit)&&pe.includes(ie.direction)?this._runHorizontalEditorScroll.bind(this):he.includes(ie.unit)&&ae.includes(ie.direction)?this._runVerticalEditorScroll.bind(this):null}runCoreEditorCommand(ie,ue){const he=C.parse(ue);if(!he)return;const pe=this.determineScrollMethod(he);pe&&pe(ie,ue.source,he)}_runVerticalEditorScroll(ie,ue,he){const pe=this._computeDesiredScrollTop(ie,he);if(he.revealCursor){const ae=ie.getCompletelyVisibleViewRangeAtScrollTop(pe);ie.setCursorStates(ue,3,[n.CursorMoveCommands.findPositionInViewportIfOutside(ie,ie.getPrimaryCursorState(),ae,he.select)])}ie.viewLayout.setScrollPosition({scrollTop:pe},0)}_computeDesiredScrollTop(ie,ue){if(ue.unit===1){const ae=ie.viewLayout.getFutureViewport(),ee=ie.getCompletelyVisibleViewRangeAtScrollTop(ae.top),de=ie.coordinatesConverter.convertViewRangeToModelRange(ee);let ge;ue.direction===1?ge=Math.max(1,de.startLineNumber-ue.value):ge=Math.min(ie.model.getLineCount(),de.startLineNumber+ue.value);const X=ie.coordinatesConverter.convertModelPositionToViewPosition(new t.Position(ge,1));return ie.viewLayout.getVerticalOffsetForLineNumber(X.lineNumber)}if(ue.unit===5){let ae=0;return ue.direction===3&&(ae=ie.model.getLineCount()-ie.cursorConfig.pageSize),ie.viewLayout.getVerticalOffsetForLineNumber(ae)}let he;ue.unit===3?he=ie.cursorConfig.pageSize*ue.value:ue.unit===4?he=Math.round(ie.cursorConfig.pageSize/2)*ue.value:he=ue.value;const pe=(ue.direction===1?-1:1)*he;return ie.viewLayout.getCurrentScrollTop()+pe*ie.cursorConfig.lineHeight}_runHorizontalEditorScroll(ie,ue,he){const pe=this._computeDesiredScrollLeft(ie,he);ie.viewLayout.setScrollPosition({scrollLeft:pe},0)}_computeDesiredScrollLeft(ie,ue){const he=(ue.direction===4?-1:1)*ue.value;return ie.viewLayout.getCurrentScrollLeft()+he*ie.cursorConfig.typicalHalfwidthCharacterWidth}}A.EditorScrollImpl=Y,A.EditorScroll=(0,y.registerEditorCommand)(new Y),A.ScrollLineUp=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"scrollLineUp\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:2064,mac:{primary:267}}})}runCoreEditorCommand(J,ie){A.EditorScroll.runCoreEditorCommand(J,{to:C.RawDirection.Up,by:C.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:ie.source})}}),A.ScrollPageUp=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"scrollPageUp\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})}runCoreEditorCommand(J,ie){A.EditorScroll.runCoreEditorCommand(J,{to:C.RawDirection.Up,by:C.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:ie.source})}}),A.ScrollEditorTop=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"scrollEditorTop\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus}})}runCoreEditorCommand(J,ie){A.EditorScroll.runCoreEditorCommand(J,{to:C.RawDirection.Up,by:C.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:ie.source})}}),A.ScrollLineDown=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"scrollLineDown\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:2066,mac:{primary:268}}})}runCoreEditorCommand(J,ie){A.EditorScroll.runCoreEditorCommand(J,{to:C.RawDirection.Down,by:C.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:ie.source})}}),A.ScrollPageDown=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"scrollPageDown\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})}runCoreEditorCommand(J,ie){A.EditorScroll.runCoreEditorCommand(J,{to:C.RawDirection.Down,by:C.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:ie.source})}}),A.ScrollEditorBottom=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"scrollEditorBottom\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus}})}runCoreEditorCommand(J,ie){A.EditorScroll.runCoreEditorCommand(J,{to:C.RawDirection.Down,by:C.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:ie.source})}}),A.ScrollLeft=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"scrollLeft\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus}})}runCoreEditorCommand(J,ie){A.EditorScroll.runCoreEditorCommand(J,{to:C.RawDirection.Left,by:C.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:ie.source})}}),A.ScrollRight=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"scrollRight\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus}})}runCoreEditorCommand(J,ie){A.EditorScroll.runCoreEditorCommand(J,{to:C.RawDirection.Right,by:C.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:ie.source})}});class G extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){ue.position&&(ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,[n.CursorMoveCommands.word(ie,ie.getPrimaryCursorState(),this._inSelectionMode,ue.position)]),ue.revealType!==2&&ie.revealAllCursors(ue.source,!0,!0))}}A.WordSelect=(0,y.registerEditorCommand)(new G({inSelectionMode:!1,id:\"_wordSelect\",precondition:void 0})),A.WordSelectDrag=(0,y.registerEditorCommand)(new G({inSelectionMode:!0,id:\"_wordSelectDrag\",precondition:void 0})),A.LastCursorWordSelect=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"lastCursorWordSelect\",precondition:void 0})}runCoreEditorCommand(J,ie){if(!ie.position)return;const ue=J.getLastAddedCursorIndex(),he=J.getCursorStates(),pe=he.slice(0),ae=he[ue];pe[ue]=n.CursorMoveCommands.word(J,ae,ae.modelState.hasSelection(),ie.position),J.model.pushStackElement(),J.setCursorStates(ie.source,3,pe)}});class K extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){ue.position&&(ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,[n.CursorMoveCommands.line(ie,ie.getPrimaryCursorState(),this._inSelectionMode,ue.position,ue.viewPosition)]),ue.revealType!==2&&ie.revealAllCursors(ue.source,!1,!0))}}A.LineSelect=(0,y.registerEditorCommand)(new K({inSelectionMode:!1,id:\"_lineSelect\",precondition:void 0})),A.LineSelectDrag=(0,y.registerEditorCommand)(new K({inSelectionMode:!0,id:\"_lineSelectDrag\",precondition:void 0}));class R extends u{constructor(ie){super(ie),this._inSelectionMode=ie.inSelectionMode}runCoreEditorCommand(ie,ue){if(!ue.position)return;const he=ie.getLastAddedCursorIndex(),pe=ie.getCursorStates(),ae=pe.slice(0);ae[he]=n.CursorMoveCommands.line(ie,pe[he],this._inSelectionMode,ue.position,ue.viewPosition),ie.model.pushStackElement(),ie.setCursorStates(ue.source,3,ae)}}A.LastCursorLineSelect=(0,y.registerEditorCommand)(new R({inSelectionMode:!1,id:\"lastCursorLineSelect\",precondition:void 0})),A.LastCursorLineSelectDrag=(0,y.registerEditorCommand)(new R({inSelectionMode:!0,id:\"lastCursorLineSelectDrag\",precondition:void 0})),A.CancelSelection=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"cancelSelection\",precondition:s.EditorContextKeys.hasNonEmptySelection,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(J,ie){J.model.pushStackElement(),J.setCursorStates(ie.source,3,[n.CursorMoveCommands.cancelSelection(J,J.getPrimaryCursorState())]),J.revealAllCursors(ie.source,!0)}}),A.RemoveSecondaryCursors=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"removeSecondaryCursors\",precondition:s.EditorContextKeys.hasMultipleSelections,kbOpts:{weight:r+1,kbExpr:s.EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(J,ie){J.model.pushStackElement(),J.setCursorStates(ie.source,3,[J.getPrimaryCursorState()]),J.revealAllCursors(ie.source,!0),(0,E.status)(d.localize(61,\"Removed secondary cursors\"))}}),A.RevealLine=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"revealLine\",precondition:void 0,metadata:f.metadata})}runCoreEditorCommand(J,ie){const ue=ie,he=ue.lineNumber||0;let pe=typeof he==\"number\"?he+1:parseInt(he)+1;pe<1&&(pe=1);const ae=J.model.getLineCount();pe>ae&&(pe=ae);const ee=new i.Range(pe,1,pe,J.model.getLineMaxColumn(pe));let de=0;if(ue.at)switch(ue.at){case f.RawAtArgument.Top:de=3;break;case f.RawAtArgument.Center:de=1;break;case f.RawAtArgument.Bottom:de=4;break;default:break}const ge=J.coordinatesConverter.convertModelRangeToViewRange(ee);J.revealRange(ie.source,!1,ge,de,0)}}),A.SelectAll=new class extends h{constructor(){super(y.SelectAllCommand)}runDOMCommand(J){k.isFirefox&&(J.focus(),J.select()),J.ownerDocument.execCommand(\"selectAll\")}runEditorCommand(J,ie,ue){const he=ie._getViewModel();he&&this.runCoreEditorCommand(he,ue)}runCoreEditorCommand(J,ie){J.model.pushStackElement(),J.setCursorStates(\"keyboard\",3,[n.CursorMoveCommands.selectAll(J,J.getPrimaryCursorState())])}},A.SetSelection=(0,y.registerEditorCommand)(new class extends u{constructor(){super({id:\"setSelection\",precondition:void 0})}runCoreEditorCommand(J,ie){ie.selection&&(J.model.pushStackElement(),J.setCursorStates(ie.source,3,[b.CursorState.fromModelSelection(ie.selection)]))}})})(v||(e.CoreNavigationCommands=v={}));const w=g.ContextKeyExpr.and(s.EditorContextKeys.textInputFocus,s.EditorContextKeys.columnSelection);function S(A,P){c.KeybindingsRegistry.registerKeybindingRule({id:A,primary:P,when:w,weight:r+1})}S(v.CursorColumnSelectLeft.id,1039),S(v.CursorColumnSelectRight.id,1041),S(v.CursorColumnSelectUp.id,1040),S(v.CursorColumnSelectPageUp.id,1035),S(v.CursorColumnSelectDown.id,1042),S(v.CursorColumnSelectPageDown.id,1036);function L(A){return A.register(),A}var D;(function(A){class P extends y.EditorCommand{runEditorCommand(O,F,x){const W=F._getViewModel();W&&this.runCoreEditingCommand(F,W,x||{})}}A.CoreEditingCommand=P,A.LineBreakInsert=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:\"lineBreakInsert\",precondition:s.EditorContextKeys.writable,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(N,O,F){N.pushUndoStop(),N.executeCommands(this.id,a.EnterOperation.lineBreakInsert(O.cursorConfig,O.model,O.getCursorStates().map(x=>x.modelState.selection)))}}),A.Outdent=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:\"outdent\",precondition:s.EditorContextKeys.writable,kbOpts:{weight:r,kbExpr:g.ContextKeyExpr.and(s.EditorContextKeys.editorTextFocus,s.EditorContextKeys.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(N,O,F){N.pushUndoStop(),N.executeCommands(this.id,o.TypeOperations.outdent(O.cursorConfig,O.model,O.getCursorStates().map(x=>x.modelState.selection))),N.pushUndoStop()}}),A.Tab=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:\"tab\",precondition:s.EditorContextKeys.writable,kbOpts:{weight:r,kbExpr:g.ContextKeyExpr.and(s.EditorContextKeys.editorTextFocus,s.EditorContextKeys.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(N,O,F){N.pushUndoStop(),N.executeCommands(this.id,o.TypeOperations.tab(O.cursorConfig,O.model,O.getCursorStates().map(x=>x.modelState.selection))),N.pushUndoStop()}}),A.DeleteLeft=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:\"deleteLeft\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(N,O,F){const[x,W]=p.DeleteOperations.deleteLeft(O.getPrevEditOperationType(),O.cursorConfig,O.model,O.getCursorStates().map(V=>V.modelState.selection),O.getCursorAutoClosedCharacters());x&&N.pushUndoStop(),N.executeCommands(this.id,W),O.setPrevEditOperationType(2)}}),A.DeleteRight=(0,y.registerEditorCommand)(new class extends P{constructor(){super({id:\"deleteRight\",precondition:void 0,kbOpts:{weight:r,kbExpr:s.EditorContextKeys.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(N,O,F){const[x,W]=p.DeleteOperations.deleteRight(O.getPrevEditOperationType(),O.cursorConfig,O.model,O.getCursorStates().map(V=>V.modelState.selection));x&&N.pushUndoStop(),N.executeCommands(this.id,W),O.setPrevEditOperationType(3)}}),A.Undo=new class extends h{constructor(){super(y.UndoCommand)}runDOMCommand(N){N.ownerDocument.execCommand(\"undo\")}runEditorCommand(N,O,F){if(!(!O.hasModel()||O.getOption(92)===!0))return O.getModel().undo()}},A.Redo=new class extends h{constructor(){super(y.RedoCommand)}runDOMCommand(N){N.ownerDocument.execCommand(\"redo\")}runEditorCommand(N,O,F){if(!(!O.hasModel()||O.getOption(92)===!0))return O.getModel().redo()}}})(D||(e.CoreEditingCommands=D={}));class T extends y.Command{constructor(P,N,O){super({id:P,precondition:void 0,metadata:O}),this._handlerId=N}runCommand(P,N){const O=P.get(m.ICodeEditorService).getFocusedCodeEditor();O&&O.trigger(\"keyboard\",this._handlerId,N)}}function M(A,P){L(new T(\"default:\"+A,A)),L(new T(A,A,P))}M(\"type\",{description:\"Type\",args:[{name:\"args\",schema:{type:\"object\",required:[\"text\"],properties:{text:{type:\"string\"}}}}]}),M(\"replacePreviousChar\"),M(\"compositionType\"),M(\"compositionStart\"),M(\"compositionEnd\"),M(\"paste\"),M(\"cut\")}),define(ne[725],se([1,0,266,15]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarkerDecorationsContribution=void 0;let I=class{static{this.ID=\"editor.contrib.markerDecorations\"}constructor(y,m){}dispose(){}};e.MarkerDecorationsContribution=I,e.MarkerDecorationsContribution=I=ke([ce(1,d.IMarkerDecorationsService)],I),(0,k.registerEditorContribution)(I.ID,I,0)}),define(ne[726],se([1,0,214,9,16]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewController=void 0;class E{constructor(m,_,b,p){this.configuration=m,this.viewModel=_,this.userInputEvents=b,this.commandDelegate=p}paste(m,_,b,p){this.commandDelegate.paste(m,_,b,p)}type(m){this.commandDelegate.type(m)}compositionType(m,_,b,p){this.commandDelegate.compositionType(m,_,b,p)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(m){d.CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel,{source:\"keyboard\",selection:m})}_validateViewColumn(m){const _=this.viewModel.getLineMinColumn(m.lineNumber);return m.column<_?new k.Position(m.lineNumber,_):m}_hasMulticursorModifier(m){switch(this.configuration.options.get(78)){case\"altKey\":return m.altKey;case\"ctrlKey\":return m.ctrlKey;case\"metaKey\":return m.metaKey;default:return!1}}_hasNonMulticursorModifier(m){switch(this.configuration.options.get(78)){case\"altKey\":return m.ctrlKey||m.metaKey;case\"ctrlKey\":return m.altKey||m.metaKey;case\"metaKey\":return m.ctrlKey||m.altKey;default:return!1}}dispatchMouse(m){const _=this.configuration.options,b=I.isLinux&&_.get(108),p=_.get(22);m.middleButton&&!b?this._columnSelect(m.position,m.mouseColumn,m.inSelectionMode):m.startedOnLineNumbers?this._hasMulticursorModifier(m)?m.inSelectionMode?this._lastCursorLineSelect(m.position,m.revealType):this._createCursor(m.position,!0):m.inSelectionMode?this._lineSelectDrag(m.position,m.revealType):this._lineSelect(m.position,m.revealType):m.mouseDownCount>=4?this._selectAll():m.mouseDownCount===3?this._hasMulticursorModifier(m)?m.inSelectionMode?this._lastCursorLineSelectDrag(m.position,m.revealType):this._lastCursorLineSelect(m.position,m.revealType):m.inSelectionMode?this._lineSelectDrag(m.position,m.revealType):this._lineSelect(m.position,m.revealType):m.mouseDownCount===2?m.onInjectedText||(this._hasMulticursorModifier(m)?this._lastCursorWordSelect(m.position,m.revealType):m.inSelectionMode?this._wordSelectDrag(m.position,m.revealType):this._wordSelect(m.position,m.revealType)):this._hasMulticursorModifier(m)?this._hasNonMulticursorModifier(m)||(m.shiftKey?this._columnSelect(m.position,m.mouseColumn,!0):m.inSelectionMode?this._lastCursorMoveToSelect(m.position,m.revealType):this._createCursor(m.position,!1)):m.inSelectionMode?m.altKey?this._columnSelect(m.position,m.mouseColumn,!0):p?this._columnSelect(m.position,m.mouseColumn,!0):this._moveToSelect(m.position,m.revealType):this.moveTo(m.position,m.revealType)}_usualArgs(m,_){return m=this._validateViewColumn(m),{source:\"mouse\",position:this._convertViewToModelPosition(m),viewPosition:m,revealType:_}}moveTo(m,_){d.CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_moveToSelect(m,_){d.CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_columnSelect(m,_,b){m=this._validateViewColumn(m),d.CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:\"mouse\",position:this._convertViewToModelPosition(m),viewPosition:m,mouseColumn:_,doColumnSelect:b})}_createCursor(m,_){m=this._validateViewColumn(m),d.CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel,{source:\"mouse\",position:this._convertViewToModelPosition(m),viewPosition:m,wholeLine:_})}_lastCursorMoveToSelect(m,_){d.CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_wordSelect(m,_){d.CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_wordSelectDrag(m,_){d.CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lastCursorWordSelect(m,_){d.CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lineSelect(m,_){d.CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lineSelectDrag(m,_){d.CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lastCursorLineSelect(m,_){d.CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_lastCursorLineSelectDrag(m,_){d.CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(m,_))}_selectAll(){d.CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel,{source:\"mouse\"})}_convertViewToModelPosition(m){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(m)}emitKeyDown(m){this.userInputEvents.emitKeyDown(m)}emitKeyUp(m){this.userInputEvents.emitKeyUp(m)}emitContextMenu(m){this.userInputEvents.emitContextMenu(m)}emitMouseMove(m){this.userInputEvents.emitMouseMove(m)}emitMouseLeave(m){this.userInputEvents.emitMouseLeave(m)}emitMouseUp(m){this.userInputEvents.emitMouseUp(m)}emitMouseDown(m){this.userInputEvents.emitMouseDown(m)}emitMouseDrag(m){this.userInputEvents.emitMouseDrag(m)}emitMouseDrop(m){this.userInputEvents.emitMouseDrop(m)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(m){this.userInputEvents.emitMouseWheel(m)}}e.ViewController=E}),define(ne[215],se([1,0,49,7,6,54,55,105,100,63]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";var p;Object.defineProperty(e,\"__esModule\",{value:!0}),e.WorkerBasedDocumentDiffProvider=e.WorkerBasedDiffProviderFactoryService=e.IDiffProviderFactoryService=void 0,e.IDiffProviderFactoryService=(0,k.createDecorator)(\"diffProviderFactoryService\");let n=class{constructor(i){this.instantiationService=i}createDiffProvider(i){return this.instantiationService.createInstance(o,i)}};e.WorkerBasedDiffProviderFactoryService=n,e.WorkerBasedDiffProviderFactoryService=n=ke([ce(0,k.IInstantiationService)],n),(0,d.registerSingleton)(e.IDiffProviderFactoryService,n,1);let o=class{static{p=this}static{this.diffCache=new Map}constructor(i,s,g){this.editorWorkerService=s,this.telemetryService=g,this.onDidChangeEventEmitter=new I.Emitter,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm=\"advanced\",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(i)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(i,s,g,c){if(typeof this.diffAlgorithm!=\"string\")return this.diffAlgorithm.computeDiff(i,s,g,c);if(i.isDisposed()||s.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return s.getLineCount()===1&&s.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new m.DetailedLineRangeMapping(new y.LineRange(1,2),new y.LineRange(1,s.getLineCount()+1),[new m.RangeMapping(i.getFullModelRange(),s.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const l=JSON.stringify([i.uri.toString(),s.uri.toString()]),a=JSON.stringify([i.id,s.id,i.getAlternativeVersionId(),s.getAlternativeVersionId(),JSON.stringify(g)]),r=p.diffCache.get(l);if(r&&r.context===a)return r.result;const u=E.StopWatch.create(),C=await this.editorWorkerService.computeDiff(i.uri,s.uri,g,this.diffAlgorithm),f=u.elapsed();if(this.telemetryService.publicLog2(\"diffEditor.computeDiff\",{timeMs:f,timedOut:C?.quitEarly??!0,detectedMoves:g.computeMoves?C?.moves.length??0:-1}),c.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!C)throw new Error(\"no diff result available\");return p.diffCache.size>10&&p.diffCache.delete(p.diffCache.keys().next().value),p.diffCache.set(l,{result:C,context:a}),C}setOptions(i){let s=!1;i.diffAlgorithm&&this.diffAlgorithm!==i.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=i.diffAlgorithm,typeof i.diffAlgorithm!=\"string\"&&(this.diffAlgorithmOnDidChangeSubscription=i.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),s=!0),s&&this.onDidChangeEventEmitter.fire()}};e.WorkerBasedDocumentDiffProvider=o,e.WorkerBasedDocumentDiffProvider=o=p=ke([ce(1,_.IEditorWorkerService),ce(2,b.ITelemetryService)],o)}),define(ne[407],se([1,0,14,18,2,21,215,88,171,55,317,105,200,319,315,19,13,90]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UnchangedRegion=e.DiffMapping=e.DiffState=e.DiffEditorViewModel=void 0;let l=class extends I.Disposable{setActiveMovedText(S){this._activeMovedText.set(S,void 0)}constructor(S,L,D){super(),this.model=S,this._options=L,this._diffProviderFactoryService=D,this._isDiffUpToDate=(0,E.observableValue)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,E.observableValue)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,E.observableValue)(this,void 0),this.unchangedRegions=(0,E.derived)(this,P=>this._options.hideUnchangedRegions.read(P)?this._unchangedRegions.read(P)?.regions??[]:((0,E.transaction)(N=>{for(const O of this._unchangedRegions.get()?.regions||[])O.collapseAll(N)}),[])),this.movedTextToCompare=(0,E.observableValue)(this,void 0),this._activeMovedText=(0,E.observableValue)(this,void 0),this._hoveredMovedText=(0,E.observableValue)(this,void 0),this.activeMovedText=(0,E.derived)(this,P=>this.movedTextToCompare.read(P)??this._hoveredMovedText.read(P)??this._activeMovedText.read(P)),this._cancellationTokenSource=new k.CancellationTokenSource,this._diffProvider=(0,E.derived)(this,P=>{const N=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(P)}),O=(0,E.observableSignalFromEvent)(\"onDidChange\",N.onDidChange);return{diffProvider:N,onChangeSignal:O}}),this._register((0,I.toDisposable)(()=>this._cancellationTokenSource.cancel()));const T=(0,E.observableSignal)(\"contentChangedSignal\"),M=this._register(new d.RunOnceScheduler(()=>T.trigger(void 0),200));this._register((0,E.autorun)(P=>{const N=this._unchangedRegions.read(P);if(!N||N.regions.some(q=>q.isDragged.read(P)))return;const O=N.originalDecorationIds.map(q=>S.original.getDecorationRange(q)).map(q=>q?b.LineRange.fromRangeInclusive(q):void 0),F=N.modifiedDecorationIds.map(q=>S.modified.getDecorationRange(q)).map(q=>q?b.LineRange.fromRangeInclusive(q):void 0),x=N.regions.map((q,H)=>!O[H]||!F[H]?void 0:new f(O[H].startLineNumber,F[H].startLineNumber,O[H].length,q.visibleLineCountTop.read(P),q.visibleLineCountBottom.read(P))).filter(s.isDefined),W=[];let V=!1;for(const q of(0,g.groupAdjacentBy)(x,(H,z)=>H.getHiddenModifiedRange(P).endLineNumberExclusive===z.getHiddenModifiedRange(P).startLineNumber))if(q.length>1){V=!0;const H=q.reduce((U,j)=>U+j.lineCount,0),z=new f(q[0].originalLineNumber,q[0].modifiedLineNumber,H,q[0].visibleLineCountTop.get(),q[q.length-1].visibleLineCountBottom.get());W.push(z)}else W.push(q[0]);if(V){const q=S.original.deltaDecorations(N.originalDecorationIds,W.map(z=>({range:z.originalUnchangedRange.toInclusiveRange(),options:{description:\"unchanged\"}}))),H=S.modified.deltaDecorations(N.modifiedDecorationIds,W.map(z=>({range:z.modifiedUnchangedRange.toInclusiveRange(),options:{description:\"unchanged\"}})));(0,E.transaction)(z=>{this._unchangedRegions.set({regions:W,originalDecorationIds:q,modifiedDecorationIds:H},z)})}}));const A=(P,N,O)=>{const F=f.fromDiffs(P.changes,S.original.getLineCount(),S.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(O),this._options.hideUnchangedRegionsContextLineCount.read(O));let x;const W=this._unchangedRegions.get();if(W){const z=W.originalDecorationIds.map(G=>S.original.getDecorationRange(G)).map(G=>G?b.LineRange.fromRangeInclusive(G):void 0),U=W.modifiedDecorationIds.map(G=>S.modified.getDecorationRange(G)).map(G=>G?b.LineRange.fromRangeInclusive(G):void 0);let Y=(0,m.filterWithPrevious)(W.regions.map((G,K)=>{if(!z[K]||!U[K])return;const R=z[K].length;return new f(z[K].startLineNumber,U[K].startLineNumber,R,Math.min(G.visibleLineCountTop.get(),R),Math.min(G.visibleLineCountBottom.get(),R-G.visibleLineCountTop.get()))}).filter(s.isDefined),(G,K)=>!K||G.modifiedLineNumber>=K.modifiedLineNumber+K.lineCount&&G.originalLineNumber>=K.originalLineNumber+K.lineCount).map(G=>new n.LineRangeMapping(G.getHiddenOriginalRange(O),G.getHiddenModifiedRange(O)));Y=n.LineRangeMapping.clip(Y,b.LineRange.ofLength(1,S.original.getLineCount()),b.LineRange.ofLength(1,S.modified.getLineCount())),x=n.LineRangeMapping.inverse(Y,S.original.getLineCount(),S.modified.getLineCount())}const V=[];if(x)for(const z of F){const U=x.filter(j=>j.original.intersectsStrict(z.originalUnchangedRange)&&j.modified.intersectsStrict(z.modifiedUnchangedRange));V.push(...z.setVisibleRanges(U,N))}else V.push(...F);const q=S.original.deltaDecorations(W?.originalDecorationIds||[],V.map(z=>({range:z.originalUnchangedRange.toInclusiveRange(),options:{description:\"unchanged\"}}))),H=S.modified.deltaDecorations(W?.modifiedDecorationIds||[],V.map(z=>({range:z.modifiedUnchangedRange.toInclusiveRange(),options:{description:\"unchanged\"}})));this._unchangedRegions.set({regions:V,originalDecorationIds:q,modifiedDecorationIds:H},N)};this._register(S.modified.onDidChangeContent(P=>{if(this._diff.get()){const O=o.TextEditInfo.fromModelContentChanges(P.changes),F=(this._lastDiff,S.original,S.modified,void 0);F&&(this._lastDiff=F,(0,E.transaction)(x=>{this._diff.set(u.fromDiffResult(this._lastDiff),x),A(F,x);const W=this.movedTextToCompare.get();this.movedTextToCompare.set(W?this._lastDiff.moves.find(V=>V.lineRangeMapping.modified.intersect(W.lineRangeMapping.modified)):void 0,x)}))}this._isDiffUpToDate.set(!1,void 0),M.schedule()})),this._register(S.original.onDidChangeContent(P=>{if(this._diff.get()){const O=o.TextEditInfo.fromModelContentChanges(P.changes),F=(this._lastDiff,S.original,S.modified,void 0);F&&(this._lastDiff=F,(0,E.transaction)(x=>{this._diff.set(u.fromDiffResult(this._lastDiff),x),A(F,x);const W=this.movedTextToCompare.get();this.movedTextToCompare.set(W?this._lastDiff.moves.find(V=>V.lineRangeMapping.modified.intersect(W.lineRangeMapping.modified)):void 0,x)}))}this._isDiffUpToDate.set(!1,void 0),M.schedule()})),this._register((0,E.autorunWithStore)(async(P,N)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(P),this._options.hideUnchangedRegionsContextLineCount.read(P),M.cancel(),T.read(P);const O=this._diffProvider.read(P);O.onChangeSignal.read(P),(0,_.readHotReloadableExport)(p.DefaultLinesDiffComputer,P),(0,_.readHotReloadableExport)(i.optimizeSequenceDiffs,P),this._isDiffUpToDate.set(!1,void 0);let F=[];N.add(S.original.onDidChangeContent(V=>{const q=o.TextEditInfo.fromModelContentChanges(V.changes);F=(0,t.combineTextEditInfos)(F,q)}));let x=[];N.add(S.modified.onDidChangeContent(V=>{const q=o.TextEditInfo.fromModelContentChanges(V.changes);x=(0,t.combineTextEditInfos)(x,q)}));let W=await O.diffProvider.computeDiff(S.original,S.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(P),maxComputationTimeMs:this._options.maxComputationTimeMs.read(P),computeMoves:this._options.showMoves.read(P)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||S.original.isDisposed()||S.modified.isDisposed()||(W=a(W,S.original,S.modified),W=(S.original,S.modified,void 0)??W,W=(S.original,S.modified,void 0)??W,(0,E.transaction)(V=>{A(W,V),this._lastDiff=W;const q=u.fromDiffResult(W);this._diff.set(q,V),this._isDiffUpToDate.set(!0,V);const H=this.movedTextToCompare.get();this.movedTextToCompare.set(H?this._lastDiff.moves.find(z=>z.lineRangeMapping.modified.intersect(H.lineRangeMapping.modified)):void 0,V)}))}))}ensureModifiedLineIsVisible(S,L,D){if(this.diff.get()?.mappings.length===0)return;const T=this._unchangedRegions.get()?.regions||[];for(const M of T)if(M.getHiddenModifiedRange(void 0).contains(S)){M.showModifiedLine(S,L,D);return}}ensureOriginalLineIsVisible(S,L,D){if(this.diff.get()?.mappings.length===0)return;const T=this._unchangedRegions.get()?.regions||[];for(const M of T)if(M.getHiddenOriginalRange(void 0).contains(S)){M.showOriginalLine(S,L,D);return}}async waitForDiff(){await(0,E.waitForState)(this.isDiffUpToDate,S=>S)}serializeState(){return{collapsedRegions:this._unchangedRegions.get()?.regions.map(L=>({range:L.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(S){const L=S.collapsedRegions?.map(T=>b.LineRange.deserialize(T.range)),D=this._unchangedRegions.get();!D||!L||(0,E.transaction)(T=>{for(const M of D.regions)for(const A of L)if(M.modifiedUnchangedRange.intersect(A)){M.setHiddenModifiedRange(A,T);break}})}};e.DiffEditorViewModel=l,e.DiffEditorViewModel=l=ke([ce(2,y.IDiffProviderFactoryService)],l);function a(w,S,L){return{changes:w.changes.map(D=>new n.DetailedLineRangeMapping(D.original,D.modified,D.innerChanges?D.innerChanges.map(T=>r(T,S,L)):void 0)),moves:w.moves,identical:w.identical,quitEarly:w.quitEarly}}function r(w,S,L){let D=w.originalRange,T=w.modifiedRange;return D.startColumn===1&&T.startColumn===1&&(D.endColumn!==1||T.endColumn!==1)&&D.endColumn===S.getLineMaxColumn(D.endLineNumber)&&T.endColumn===L.getLineMaxColumn(T.endLineNumber)&&D.endLineNumber<S.getLineCount()&&T.endLineNumber<L.getLineCount()&&(D=D.setEndPosition(D.endLineNumber+1,1),T=T.setEndPosition(T.endLineNumber+1,1)),new n.RangeMapping(D,T)}class u{static fromDiffResult(S){return new u(S.changes.map(L=>new C(L)),S.moves||[],S.identical,S.quitEarly)}constructor(S,L,D,T){this.mappings=S,this.movedTexts=L,this.identical=D,this.quitEarly=T}}e.DiffState=u;class C{constructor(S){this.lineRangeMapping=S}}e.DiffMapping=C;class f{static fromDiffs(S,L,D,T,M){const A=n.DetailedLineRangeMapping.inverse(S,L,D),P=[];for(const N of A){let O=N.original.startLineNumber,F=N.modified.startLineNumber,x=N.original.length;const W=O===1&&F===1,V=O+x===L+1&&F+x===D+1;(W||V)&&x>=M+T?(W&&!V&&(x-=M),V&&!W&&(O+=M,F+=M,x-=M),P.push(new f(O,F,x,0,0))):x>=M*2+T&&(O+=M,F+=M,x-=M*2,P.push(new f(O,F,x,0,0)))}return P}get originalUnchangedRange(){return b.LineRange.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return b.LineRange.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(S,L,D,T,M){this.originalLineNumber=S,this.modifiedLineNumber=L,this.lineCount=D,this._visibleLineCountTop=(0,E.observableValue)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,E.observableValue)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,E.derived)(this,N=>this.visibleLineCountTop.read(N)+this.visibleLineCountBottom.read(N)===this.lineCount&&!this.isDragged.read(N)),this.isDragged=(0,E.observableValue)(this,void 0);const A=Math.max(Math.min(T,this.lineCount),0),P=Math.max(Math.min(M,this.lineCount-T),0);(0,c.softAssert)(T===A),(0,c.softAssert)(M===P),this._visibleLineCountTop.set(A,void 0),this._visibleLineCountBottom.set(P,void 0)}setVisibleRanges(S,L){const D=[],T=new b.LineRangeSet(S.map(N=>N.modified)).subtractFrom(this.modifiedUnchangedRange);let M=this.originalLineNumber,A=this.modifiedLineNumber;const P=this.modifiedLineNumber+this.lineCount;if(T.ranges.length===0)this.showAll(L),D.push(this);else{let N=0;for(const O of T.ranges){const F=N===T.ranges.length-1;N++;const x=(F?P:O.endLineNumberExclusive)-A,W=new f(M,A,x,0,0);W.setHiddenModifiedRange(O,L),D.push(W),M=W.originalUnchangedRange.endLineNumberExclusive,A=W.modifiedUnchangedRange.endLineNumberExclusive}}return D}shouldHideControls(S){return this._shouldHideControls.read(S)}getHiddenOriginalRange(S){return b.LineRange.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(S),this.lineCount-this._visibleLineCountTop.read(S)-this._visibleLineCountBottom.read(S))}getHiddenModifiedRange(S){return b.LineRange.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(S),this.lineCount-this._visibleLineCountTop.read(S)-this._visibleLineCountBottom.read(S))}setHiddenModifiedRange(S,L){const D=S.startLineNumber-this.modifiedLineNumber,T=this.modifiedLineNumber+this.lineCount-S.endLineNumberExclusive;this.setState(D,T,L)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(S=10,L){const D=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+S,D),L)}showMoreBelow(S=10,L){const D=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+S,D),L)}showAll(S){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),S)}showModifiedLine(S,L,D){const T=S+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),M=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-S;L===0&&T<M||L===1?this._visibleLineCountTop.set(this._visibleLineCountTop.get()+T,D):this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+M,D)}showOriginalLine(S,L,D){const T=S-this.originalLineNumber,M=this.originalLineNumber+this.lineCount-S;L===0&&T<M||L===1?this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+M-T,this.getMaxVisibleLineCountTop()),D):this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+T-M,this.getMaxVisibleLineCountBottom()),D)}collapseAll(S){this._visibleLineCountTop.set(0,S),this._visibleLineCountBottom.set(0,S)}setState(S,L,D){S=Math.max(Math.min(S,this.lineCount),0),L=Math.max(Math.min(L,this.lineCount-S),0),this._visibleLineCountTop.set(S,D),this._visibleLineCountBottom.set(L,D)}}e.UnchangedRegion=f;function h(w,S,L,D){}function v(w,S,L,D){}}),define(ne[727],se([1,0,46,57,72,15,23,20,3,12,503]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";var p;Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectionAnchorSet=void 0,e.SelectionAnchorSet=new b.RawContextKey(\"selectionAnchorSet\",!1);let n=class{static{p=this}static{this.ID=\"editor.contrib.selectionAnchorController\"}static get(c){return c.getContribution(p.ID)}constructor(c,l){this.editor=c,this.selectionAnchorSetContextKey=e.SelectionAnchorSet.bindTo(l),this.modelChangeListener=c.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const c=this.editor.getPosition();this.editor.changeDecorations(l=>{this.decorationId&&l.removeDecoration(this.decorationId),this.decorationId=l.addDecoration(y.Selection.fromPositions(c,c),{description:\"selection-anchor\",stickiness:1,hoverMessage:new k.MarkdownString().appendText((0,_.localize)(710,\"Selection Anchor\")),className:\"selection-anchor\"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),(0,d.alert)((0,_.localize)(711,\"Anchor set at {0}:{1}\",c.lineNumber,c.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const c=this.editor.getModel().getDecorationRange(this.decorationId);c&&this.editor.setPosition(c.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const c=this.editor.getModel().getDecorationRange(this.decorationId);if(c){const l=this.editor.getPosition();this.editor.setSelection(y.Selection.fromPositions(c.getStartPosition(),l)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const c=this.decorationId;this.editor.changeDecorations(l=>{l.removeDecoration(c),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};n=p=ke([ce(1,b.IContextKeyService)],n);class o extends E.EditorAction{constructor(){super({id:\"editor.action.setSelectionAnchor\",label:(0,_.localize)(712,\"Set Selection Anchor\"),alias:\"Set Selection Anchor\",precondition:void 0,kbOpts:{kbExpr:m.EditorContextKeys.editorTextFocus,primary:(0,I.KeyChord)(2089,2080),weight:100}})}async run(c,l){n.get(l)?.setSelectionAnchor()}}class t extends E.EditorAction{constructor(){super({id:\"editor.action.goToSelectionAnchor\",label:(0,_.localize)(713,\"Go to Selection Anchor\"),alias:\"Go to Selection Anchor\",precondition:e.SelectionAnchorSet})}async run(c,l){n.get(l)?.goToSelectionAnchor()}}class i extends E.EditorAction{constructor(){super({id:\"editor.action.selectFromAnchorToCursor\",label:(0,_.localize)(714,\"Select from Anchor to Cursor\"),alias:\"Select from Anchor to Cursor\",precondition:e.SelectionAnchorSet,kbOpts:{kbExpr:m.EditorContextKeys.editorTextFocus,primary:(0,I.KeyChord)(2089,2089),weight:100}})}async run(c,l){n.get(l)?.selectFromAnchorToCursor()}}class s extends E.EditorAction{constructor(){super({id:\"editor.action.cancelSelectionAnchor\",label:(0,_.localize)(715,\"Cancel Selection Anchor\"),alias:\"Cancel Selection Anchor\",precondition:e.SelectionAnchorSet,kbOpts:{kbExpr:m.EditorContextKeys.editorTextFocus,primary:9,weight:100}})}async run(c,l){n.get(l)?.cancelSelectionAnchor()}}(0,E.registerEditorContribution)(n.ID,n,4),(0,E.registerEditorAction)(o),(0,E.registerEditorAction)(t),(0,E.registerEditorAction)(i),(0,E.registerEditorAction)(s)}),define(ne[728],se([1,0,15,20,607,3]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});class y extends d.EditorAction{constructor(p,n){super(n),this.left=p}run(p,n){if(!n.hasModel())return;const o=[],t=n.getSelections();for(const i of t)o.push(new I.MoveCaretCommand(i,this.left));n.pushUndoStop(),n.executeCommands(this.id,o),n.pushUndoStop()}}class m extends y{constructor(){super(!0,{id:\"editor.action.moveCarretLeftAction\",label:E.localize(722,\"Move Selected Text Left\"),alias:\"Move Selected Text Left\",precondition:k.EditorContextKeys.writable})}}class _ extends y{constructor(){super(!1,{id:\"editor.action.moveCarretRightAction\",label:E.localize(723,\"Move Selected Text Right\"),alias:\"Move Selected Text Right\",precondition:k.EditorContextKeys.writable})}}(0,d.registerEditorAction)(m),(0,d.registerEditorAction)(_)}),define(ne[729],se([1,0,15,146,233,4,20,3]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});class _ extends d.EditorAction{constructor(){super({id:\"editor.action.transposeLetters\",label:m.localize(724,\"Transpose Letters\"),alias:\"Transpose Letters\",precondition:y.EditorContextKeys.writable,kbOpts:{kbExpr:y.EditorContextKeys.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(p,n){if(!n.hasModel())return;const o=n.getModel(),t=[],i=n.getSelections();for(const s of i){if(!s.isEmpty())continue;const g=s.startLineNumber,c=s.startColumn,l=o.getLineMaxColumn(g);if(g===1&&(c===1||c===2&&l===2))continue;const a=c===l?s.getPosition():I.MoveOperations.rightPosition(o,s.getPosition().lineNumber,s.getPosition().column),r=I.MoveOperations.leftPosition(o,a),u=I.MoveOperations.leftPosition(o,r),C=o.getValueInRange(E.Range.fromPositions(u,r)),f=o.getValueInRange(E.Range.fromPositions(r,a)),h=E.Range.fromPositions(u,a);t.push(new k.ReplaceCommand(h,f+C))}t.length>0&&(n.pushUndoStop(),n.executeCommands(this.id,t),n.pushUndoStop())}}(0,d.registerEditorAction)(_)}),define(ne[730],se([1,0,72,15,4,20,36,333,609,3,29]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});class n extends k.EditorAction{constructor(c,l){super(l),this._type=c}run(c,l){const a=c.get(y.ILanguageConfigurationService);if(!l.hasModel())return;const r=l.getModel(),u=[],C=r.getOptions(),f=l.getOption(23),h=l.getSelections().map((w,S)=>({selection:w,index:S,ignoreFirstLine:!1}));h.sort((w,S)=>I.Range.compareRangesUsingStarts(w.selection,S.selection));let v=h[0];for(let w=1;w<h.length;w++){const S=h[w];v.selection.endLineNumber===S.selection.startLineNumber&&(v.index<S.index?S.ignoreFirstLine=!0:(v.ignoreFirstLine=!0,v=S))}for(const w of h)u.push(new _.LineCommentCommand(a,w.selection,C.indentSize,this._type,f.insertSpace,f.ignoreEmptyLines,w.ignoreFirstLine));l.pushUndoStop(),l.executeCommands(this.id,u),l.pushUndoStop()}}class o extends n{constructor(){super(0,{id:\"editor.action.commentLine\",label:b.localize(805,\"Toggle Line Comment\"),alias:\"Toggle Line Comment\",precondition:E.EditorContextKeys.writable,kbOpts:{kbExpr:E.EditorContextKeys.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:p.MenuId.MenubarEditMenu,group:\"5_insert\",title:b.localize(806,\"&&Toggle Line Comment\"),order:1}})}}class t extends n{constructor(){super(1,{id:\"editor.action.addCommentLine\",label:b.localize(807,\"Add Line Comment\"),alias:\"Add Line Comment\",precondition:E.EditorContextKeys.writable,kbOpts:{kbExpr:E.EditorContextKeys.editorTextFocus,primary:(0,d.KeyChord)(2089,2081),weight:100}})}}class i extends n{constructor(){super(2,{id:\"editor.action.removeCommentLine\",label:b.localize(808,\"Remove Line Comment\"),alias:\"Remove Line Comment\",precondition:E.EditorContextKeys.writable,kbOpts:{kbExpr:E.EditorContextKeys.editorTextFocus,primary:(0,d.KeyChord)(2089,2099),weight:100}})}}class s extends k.EditorAction{constructor(){super({id:\"editor.action.blockComment\",label:b.localize(809,\"Toggle Block Comment\"),alias:\"Toggle Block Comment\",precondition:E.EditorContextKeys.writable,kbOpts:{kbExpr:E.EditorContextKeys.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:p.MenuId.MenubarEditMenu,group:\"5_insert\",title:b.localize(810,\"Toggle &&Block Comment\"),order:2}})}run(c,l){const a=c.get(y.ILanguageConfigurationService);if(!l.hasModel())return;const r=l.getOption(23),u=[],C=l.getSelections();for(const f of C)u.push(new m.BlockCommentCommand(f,r.insertSpace,a));l.pushUndoStop(),l.executeCommands(this.id,u),l.pushUndoStop()}}(0,k.registerEditorAction)(o),(0,k.registerEditorAction)(t),(0,k.registerEditorAction)(i),(0,k.registerEditorAction)(s)}),define(ne[731],se([1,0,2,15,20,3]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CursorRedo=e.CursorUndo=e.CursorUndoRedoController=void 0;class y{constructor(o){this.selections=o}equals(o){const t=this.selections.length,i=o.selections.length;if(t!==i)return!1;for(let s=0;s<t;s++)if(!this.selections[s].equalsSelection(o.selections[s]))return!1;return!0}}class m{constructor(o,t,i){this.cursorState=o,this.scrollTop=t,this.scrollLeft=i}}class _ extends d.Disposable{static{this.ID=\"editor.contrib.cursorUndoRedoController\"}static get(o){return o.getContribution(_.ID)}constructor(o){super(),this._editor=o,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(o.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(o.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(o.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new y(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new m(i,o.getScrollTop(),o.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new m(new y(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new m(new y(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(o){this._isCursorUndoRedo=!0,this._editor.setSelections(o.cursorState.selections),this._editor.setScrollPosition({scrollTop:o.scrollTop,scrollLeft:o.scrollLeft}),this._isCursorUndoRedo=!1}}e.CursorUndoRedoController=_;class b extends k.EditorAction{constructor(){super({id:\"cursorUndo\",label:E.localize(821,\"Cursor Undo\"),alias:\"Cursor Undo\",precondition:void 0,kbOpts:{kbExpr:I.EditorContextKeys.textInputFocus,primary:2099,weight:100}})}run(o,t,i){_.get(t)?.cursorUndo()}}e.CursorUndo=b;class p extends k.EditorAction{constructor(){super({id:\"cursorRedo\",label:E.localize(822,\"Cursor Redo\"),alias:\"Cursor Redo\",precondition:void 0})}run(o,t,i){_.get(t)?.cursorRedo()}}e.CursorRedo=p,(0,k.registerEditorContribution)(_.ID,_,0),(0,k.registerEditorAction)(b),(0,k.registerEditorAction)(p)}),define(ne[732],se([1,0,15,12,18,73,7,49,3]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorKeybindingCancellationTokenSource=void 0;const b=(0,y.createDecorator)(\"IEditorCancelService\"),p=new k.RawContextKey(\"cancellableOperation\",!1,(0,_.localize)(847,\"Whether the editor runs a cancellable operation, e.g. like 'Peek References'\"));(0,m.registerSingleton)(b,class{constructor(){this._tokens=new WeakMap}add(o,t){let i=this._tokens.get(o);i||(i=o.invokeWithinContext(g=>{const c=p.bindTo(g.get(k.IContextKeyService)),l=new E.LinkedList;return{key:c,tokens:l}}),this._tokens.set(o,i));let s;return i.key.set(!0),s=i.tokens.push(t),()=>{s&&(s(),i.key.set(!i.tokens.isEmpty()),s=void 0)}}cancel(o){const t=this._tokens.get(o);if(!t)return;const i=t.tokens.pop();i&&(i.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);class n extends I.CancellationTokenSource{constructor(t,i){super(i),this.editor=t,this._unregister=t.invokeWithinContext(s=>s.get(b).add(t,this))}dispose(){this._unregister(),super.dispose()}}e.EditorKeybindingCancellationTokenSource=n,(0,d.registerEditorCommand)(new class extends d.EditorCommand{constructor(){super({id:\"editor.cancelOperation\",kbOpts:{weight:100,primary:9},precondition:p})}runEditorCommand(o,t){o.get(b).cancel(t)}})}),define(ne[122],se([1,0,11,4,18,2,732]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextModelCancellationTokenSource=e.EditorStateCancellationTokenSource=e.EditorState=void 0;class m{constructor(n,o){if(this.flags=o,this.flags&1){const t=n.getModel();this.modelVersionId=t?d.format(\"{0}#{1}\",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=n.getPosition():this.position=null,this.flags&2?this.selection=n.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=n.getScrollLeft(),this.scrollTop=n.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(n){if(!(n instanceof m))return!1;const o=n;return!(this.modelVersionId!==o.modelVersionId||this.scrollLeft!==o.scrollLeft||this.scrollTop!==o.scrollTop||!this.position&&o.position||this.position&&!o.position||this.position&&o.position&&!this.position.equals(o.position)||!this.selection&&o.selection||this.selection&&!o.selection||this.selection&&o.selection&&!this.selection.equalsRange(o.selection))}validate(n){return this._equals(new m(n,this.flags))}}e.EditorState=m;class _ extends y.EditorKeybindingCancellationTokenSource{constructor(n,o,t,i){super(n,i),this._listener=new E.DisposableStore,o&4&&this._listener.add(n.onDidChangeCursorPosition(s=>{(!t||!k.Range.containsPosition(t,s.position))&&this.cancel()})),o&2&&this._listener.add(n.onDidChangeCursorSelection(s=>{(!t||!k.Range.containsRange(t,s.selection))&&this.cancel()})),o&8&&this._listener.add(n.onDidScrollChange(s=>this.cancel())),o&1&&(this._listener.add(n.onDidChangeModel(s=>this.cancel())),this._listener.add(n.onDidChangeModelContent(s=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}e.EditorStateCancellationTokenSource=_;class b extends I.CancellationTokenSource{constructor(n,o){super(o),this._listener=n.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}e.TextModelCancellationTokenSource=b}),define(ne[157],se([1,0,13,18,8,2,22,152,4,23,17,51,122,3,24,50,96,63,134,91]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ApplyCodeActionReason=e.fixAllCommandId=e.organizeImportsCommandId=e.sourceActionCommandId=e.refactorCommandId=e.autoFixCommandId=e.quickFixCommandId=e.codeActionCommandId=void 0,e.getCodeActions=C,e.applyCodeAction=S,e.codeActionCommandId=\"editor.action.codeAction\",e.quickFixCommandId=\"editor.action.quickFix\",e.autoFixCommandId=\"editor.action.autoFix\",e.refactorCommandId=\"editor.action.refactor\",e.sourceActionCommandId=\"editor.action.sourceAction\",e.organizeImportsCommandId=\"editor.action.organizeImports\",e.fixAllCommandId=\"editor.action.fixAll\";class r extends E.Disposable{static codeActionsPreferredComparator(T,M){return T.isPreferred&&!M.isPreferred?-1:!T.isPreferred&&M.isPreferred?1:0}static codeActionsComparator({action:T},{action:M}){return T.isAI&&!M.isAI?1:!T.isAI&&M.isAI?-1:(0,d.isNonEmptyArray)(T.diagnostics)?(0,d.isNonEmptyArray)(M.diagnostics)?r.codeActionsPreferredComparator(T,M):-1:(0,d.isNonEmptyArray)(M.diagnostics)?1:r.codeActionsPreferredComparator(T,M)}constructor(T,M,A){super(),this.documentation=M,this._register(A),this.allActions=[...T].sort(r.codeActionsComparator),this.validActions=this.allActions.filter(({action:P})=>!P.disabled)}get hasAutoFix(){return this.validActions.some(({action:T})=>!!T.kind&&l.CodeActionKind.QuickFix.contains(new a.HierarchicalKind(T.kind))&&!!T.isPreferred)}get hasAIFix(){return this.validActions.some(({action:T})=>!!T.isAI)}get allAIFixes(){return this.validActions.every(({action:T})=>!!T.isAI)}}const u={actions:[],documentation:void 0};async function C(D,T,M,A,P,N){const O=A.filter||{},F={...O,excludes:[...O.excludes||[],l.CodeActionKind.Notebook]},x={only:O.include?.value,trigger:A.type},W=new o.TextModelCancellationTokenSource(T,N),V=A.type===2,q=f(D,T,V?F:O),H=new E.DisposableStore,z=q.map(async j=>{try{P.report(j);const Y=await j.provideCodeActions(T,M,x,W.token);if(Y&&H.add(Y),W.token.isCancellationRequested)return u;const G=(Y?.actions||[]).filter(R=>R&&(0,l.filtersAction)(O,R)),K=v(j,G,O.include);return{actions:G.map(R=>new l.CodeActionItem(R,j)),documentation:K}}catch(Y){if((0,I.isCancellationError)(Y))throw Y;return(0,I.onUnexpectedExternalError)(Y),u}}),U=D.onDidChange(()=>{const j=D.all(T);(0,d.equals)(j,q)||W.cancel()});try{const j=await Promise.all(z),Y=j.map(K=>K.actions).flat(),G=[...(0,d.coalesce)(j.map(K=>K.documentation)),...h(D,T,A,Y)];return new r(Y,G,H)}finally{U.dispose(),W.dispose()}}function f(D,T,M){return D.all(T).filter(A=>A.providedCodeActionKinds?A.providedCodeActionKinds.some(P=>(0,l.mayIncludeActionsOfKind)(M,new a.HierarchicalKind(P))):!0)}function*h(D,T,M,A){if(T&&A.length)for(const P of D.all(T))P._getAdditionalMenuItems&&(yield*P._getAdditionalMenuItems?.({trigger:M.type,only:M.filter?.include?.value},A.map(N=>N.action)))}function v(D,T,M){if(!D.documentation)return;const A=D.documentation.map(P=>({kind:new a.HierarchicalKind(P.kind),command:P.command}));if(M){let P;for(const N of A)N.kind.contains(M)&&(P?P.kind.contains(N.kind)&&(P=N):P=N);if(P)return P?.command}for(const P of T)if(P.kind){for(const N of A)if(N.kind.contains(new a.HierarchicalKind(P.kind)))return N.command}}var w;(function(D){D.OnSave=\"onSave\",D.FromProblemsView=\"fromProblemsView\",D.FromCodeActions=\"fromCodeActions\",D.FromAILightbulb=\"fromAILightbulb\"})(w||(e.ApplyCodeActionReason=w={}));async function S(D,T,M,A,P=k.CancellationToken.None){const N=D.get(m.IBulkEditService),O=D.get(i.ICommandService),F=D.get(c.ITelemetryService),x=D.get(s.INotificationService);if(F.publicLog2(\"codeAction.applyCodeAction\",{codeActionTitle:T.action.title,codeActionKind:T.action.kind,codeActionIsPreferred:!!T.action.isPreferred,reason:M}),await T.resolve(P),!P.isCancellationRequested&&!(T.action.edit?.edits.length&&!(await N.apply(T.action.edit,{editor:A?.editor,label:T.action.title,quotableLabel:T.action.title,code:\"undoredo.codeAction\",respectAutoSaveConfig:M!==w.OnSave,showPreview:A?.preview})).isApplied)&&T.action.command)try{await O.executeCommand(T.action.command.id,...T.action.command.arguments||[])}catch(W){const V=L(W);x.error(typeof V==\"string\"?V:t.localize(742,\"An unknown error occurred while applying the code action\"))}}function L(D){return typeof D==\"string\"?D:D instanceof Error&&typeof D.message==\"string\"?D.message:void 0}i.CommandsRegistry.registerCommand(\"_executeCodeActionProvider\",async function(D,T,M,A,P){if(!(T instanceof y.URI))throw(0,I.illegalArgument)();const{codeActionProvider:N}=D.get(p.ILanguageFeaturesService),O=D.get(n.IModelService).getModel(T);if(!O)throw(0,I.illegalArgument)();const F=b.Selection.isISelection(M)?b.Selection.liftSelection(M):_.Range.isIRange(M)?O.validateRange(M):void 0;if(!F)throw(0,I.illegalArgument)();const x=typeof A==\"string\"?new a.HierarchicalKind(A):void 0,W=await C(N,O,F,{type:1,triggerAction:l.CodeActionTriggerSource.Default,filter:{includeSourceActions:!0,include:x}},g.Progress.None,k.CancellationToken.None),V=[],q=Math.min(W.validActions.length,typeof P==\"number\"?P:0);for(let H=0;H<q;H++)V.push(W.validActions[H].resolve(k.CancellationToken.None));try{return await Promise.all(V),W.validActions.map(H=>H.action)}finally{setTimeout(()=>W.dispose(),100)}})}),define(ne[733],se([1,0,91,98,157,134,31]),function(oe,e,d,k,I,E,y){\"use strict\";var m;Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeActionKeybindingResolver=void 0;let _=class{static{m=this}static{this.codeActionCommands=[I.refactorCommandId,I.codeActionCommandId,I.sourceActionCommandId,I.organizeImportsCommandId,I.fixAllCommandId]}constructor(p){this.keybindingService=p}getResolver(){const p=new k.Lazy(()=>this.keybindingService.getKeybindings().filter(n=>m.codeActionCommands.indexOf(n.command)>=0).filter(n=>n.resolvedKeybinding).map(n=>{let o=n.commandArgs;return n.command===I.organizeImportsCommandId?o={kind:E.CodeActionKind.SourceOrganizeImports.value}:n.command===I.fixAllCommandId&&(o={kind:E.CodeActionKind.SourceFixAll.value}),{resolvedKeybinding:n.resolvedKeybinding,...E.CodeActionCommandArgs.fromUser(o,{kind:d.HierarchicalKind.None,apply:\"never\"})}}));return n=>{if(n.kind)return this.bestKeybindingForCodeAction(n,p.value)?.resolvedKeybinding}}bestKeybindingForCodeAction(p,n){if(!p.kind)return;const o=new d.HierarchicalKind(p.kind);return n.filter(t=>t.kind.contains(o)).filter(t=>t.preferred?p.isPreferred:!0).reduceRight((t,i)=>t?t.kind.contains(i.kind)?i:t:i,void 0)}};e.CodeActionKeybindingResolver=_,e.CodeActionKeybindingResolver=_=m=ke([ce(0,y.IKeybindingService)],_)}),define(ne[408],se([1,0,14,8,6,2,48,37,9,23,12,96,134,157,91,54]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeActionModel=e.CodeActionsState=e.APPLY_FIX_ALL_COMMAND_ID=e.SUPPORTED_CODE_ACTIONS=void 0,e.SUPPORTED_CODE_ACTIONS=new p.RawContextKey(\"supportedCodeAction\",\"\"),e.APPLY_FIX_ALL_COMMAND_ID=\"_typescript.applyFixAllCodeAction\";class g extends E.Disposable{constructor(u,C,f,h=250){super(),this._editor=u,this._markerService=C,this._signalChange=f,this._delay=h,this._autoTriggerTimer=this._register(new d.TimeoutTimer),this._register(this._markerService.onMarkerChanged(v=>this._onMarkerChanges(v))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(u){const C=this._getRangeOfSelectionUnlessWhitespaceEnclosed(u);this._signalChange(C?{trigger:u,selection:C}:void 0)}_onMarkerChanges(u){const C=this._editor.getModel();C&&u.some(f=>(0,y.isEqual)(f,C.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:o.CodeActionTriggerSource.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(u){if(!this._editor.hasModel())return;const C=this._editor.getSelection();if(u.type===1)return C;const f=this._editor.getOption(65).enabled;if(f!==m.ShowLightbulbIconMode.Off){{if(f===m.ShowLightbulbIconMode.On)return C;if(f===m.ShowLightbulbIconMode.OnCode){if(!C.isEmpty())return C;const v=this._editor.getModel(),{lineNumber:w,column:S}=C.getPosition(),L=v.getLineContent(w);if(L.length===0)return;if(S===1){if(/\\s/.test(L[0]))return}else if(S===v.getLineMaxColumn(w)){if(/\\s/.test(L[L.length-1]))return}else if(/\\s/.test(L[S-2])&&/\\s/.test(L[S-1]))return}}return C}}}var c;(function(r){r.Empty={type:0};class u{constructor(f,h,v){this.trigger=f,this.position=h,this._cancellablePromise=v,this.type=1,this.actions=v.catch(w=>{if((0,k.isCancellationError)(w))return l;throw w})}cancel(){this._cancellablePromise.cancel()}}r.Triggered=u})(c||(e.CodeActionsState=c={}));const l=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class a extends E.Disposable{constructor(u,C,f,h,v,w,S){super(),this._editor=u,this._registry=C,this._markerService=f,this._progressService=v,this._configurationService=w,this._telemetryService=S,this._codeActionOracle=this._register(new E.MutableDisposable),this._state=c.Empty,this._onDidChangeState=this._register(new I.Emitter),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=e.SUPPORTED_CODE_ACTIONS.bindTo(h),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(L=>{L.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(c.Empty,!0))}_settingEnabledNearbyQuickfixes(){const u=this._editor?.getModel();return this._configurationService?this._configurationService.getValue(\"editor.codeActionWidget.includeNearbyQuickFixes\",{resource:u?.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(c.Empty);const u=this._editor.getModel();if(u&&this._registry.has(u)&&!this._editor.getOption(92)){const C=this._registry.all(u).flatMap(f=>f.providedCodeActionKinds??[]);this._supportedCodeActions.set(C.join(\" \")),this._codeActionOracle.value=new g(this._editor,this._markerService,f=>{if(!f){this.setState(c.Empty);return}const h=f.selection.getStartPosition(),v=(0,d.createCancelablePromise)(async L=>{if(this._settingEnabledNearbyQuickfixes()&&f.trigger.type===1&&(f.trigger.triggerAction===o.CodeActionTriggerSource.QuickFix||f.trigger.filter?.include?.contains(o.CodeActionKind.QuickFix))){const D=await(0,t.getCodeActions)(this._registry,u,f.selection,f.trigger,n.Progress.None,L),T=[...D.allActions];if(L.isCancellationRequested)return l;const M=D.validActions?.some(P=>P.action.kind?o.CodeActionKind.QuickFix.contains(new i.HierarchicalKind(P.action.kind)):!1),A=this._markerService.read({resource:u.uri});if(M){for(const P of D.validActions)P.action.command?.arguments?.some(N=>typeof N==\"string\"&&N.includes(e.APPLY_FIX_ALL_COMMAND_ID))&&(P.action.diagnostics=[...A.filter(N=>N.relatedInformation)]);return{validActions:D.validActions,allActions:T,documentation:D.documentation,hasAutoFix:D.hasAutoFix,hasAIFix:D.hasAIFix,allAIFixes:D.allAIFixes,dispose:()=>{D.dispose()}}}else if(!M&&A.length>0){const P=f.selection.getPosition();let N=P,O=Number.MAX_VALUE;const F=[...D.validActions];for(const W of A){const V=W.endColumn,q=W.endLineNumber,H=W.startLineNumber;if(q===P.lineNumber||H===P.lineNumber){N=new _.Position(q,V);const z={type:f.trigger.type,triggerAction:f.trigger.triggerAction,filter:{include:f.trigger.filter?.include?f.trigger.filter?.include:o.CodeActionKind.QuickFix},autoApply:f.trigger.autoApply,context:{notAvailableMessage:f.trigger.context?.notAvailableMessage||\"\",position:N}},U=new b.Selection(N.lineNumber,N.column,N.lineNumber,N.column),j=await(0,t.getCodeActions)(this._registry,u,U,z,n.Progress.None,L);if(j.validActions.length!==0){for(const Y of j.validActions)Y.action.command?.arguments?.some(G=>typeof G==\"string\"&&G.includes(e.APPLY_FIX_ALL_COMMAND_ID))&&(Y.action.diagnostics=[...A.filter(G=>G.relatedInformation)]);D.allActions.length===0&&T.push(...j.allActions),Math.abs(P.column-V)<O?F.unshift(...j.validActions):F.push(...j.validActions)}O=Math.abs(P.column-V)}}const x=F.filter((W,V,q)=>q.findIndex(H=>H.action.title===W.action.title)===V);return x.sort((W,V)=>W.action.isPreferred&&!V.action.isPreferred?-1:!W.action.isPreferred&&V.action.isPreferred||W.action.isAI&&!V.action.isAI?1:!W.action.isAI&&V.action.isAI?-1:0),{validActions:x,allActions:T,documentation:D.documentation,hasAutoFix:D.hasAutoFix,hasAIFix:D.hasAIFix,allAIFixes:D.allAIFixes,dispose:()=>{D.dispose()}}}}if(f.trigger.type===1){const D=new s.StopWatch,T=await(0,t.getCodeActions)(this._registry,u,f.selection,f.trigger,n.Progress.None,L);return this._telemetryService&&this._telemetryService.publicLog2(\"codeAction.invokedDurations\",{codeActions:T.validActions.length,duration:D.elapsed()}),T}return(0,t.getCodeActions)(this._registry,u,f.selection,f.trigger,n.Progress.None,L)});f.trigger.type===1&&this._progressService?.showWhile(v,250);const w=new c.Triggered(f.trigger,h,v);let S=!1;this._state.type===1&&(S=this._state.trigger.type===1&&w.type===1&&w.trigger.type===2&&this._state.position!==w.position),S?setTimeout(()=>{this.setState(w)},500):this.setState(w)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:o.CodeActionTriggerSource.Default})}else this._supportedCodeActions.reset()}trigger(u){this._codeActionOracle.value?.trigger(u)}setState(u,C){u!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=u,!C&&!this._disposed&&this._onDidChangeState.fire(u))}}e.CodeActionModel=a}),define(ne[734],se([1,0,15,165,3]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});class E extends d.EditorAction{constructor(){super({id:\"editor.action.fontZoomIn\",label:I.localize(919,\"Increase Editor Font Size\"),alias:\"Increase Editor Font Size\",precondition:void 0})}run(b,p){k.EditorZoom.setZoomLevel(k.EditorZoom.getZoomLevel()+1)}}class y extends d.EditorAction{constructor(){super({id:\"editor.action.fontZoomOut\",label:I.localize(920,\"Decrease Editor Font Size\"),alias:\"Decrease Editor Font Size\",precondition:void 0})}run(b,p){k.EditorZoom.setZoomLevel(k.EditorZoom.getZoomLevel()-1)}}class m extends d.EditorAction{constructor(){super({id:\"editor.action.fontZoomReset\",label:I.localize(921,\"Reset Editor Font Size\"),alias:\"Reset Editor Font Size\",precondition:void 0})}run(b,p){k.EditorZoom.setZoomLevel(0)}}(0,d.registerEditorAction)(E),(0,d.registerEditorAction)(y),(0,d.registerEditorAction)(m)}),define(ne[409],se([1,0,13,18,8,53,73,19,22,122,168,9,4,23,100,78,337,24,674,7,17,62,137]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FormattingConflicts=void 0,e.getRealAndSyntheticDocumentFormattersOrdered=f,e.formatDocumentRangesWithSelectedProvider=v,e.formatDocumentRangesWithProvider=w,e.formatDocumentWithSelectedProvider=S,e.formatDocumentWithProvider=L,e.getDocumentRangeFormattingEditsUntilResult=D,e.getDocumentFormattingEditsUntilResult=T,e.getOnTypeFormattingEdits=M;function f(A,P,N){const O=[],F=new l.ExtensionIdentifierSet,x=A.ordered(N);for(const V of x)O.push(V),V.extensionId&&F.add(V.extensionId);const W=P.ordered(N);for(const V of W){if(V.extensionId){if(F.has(V.extensionId))continue;F.add(V.extensionId)}O.push({displayName:V.displayName,extensionId:V.extensionId,provideDocumentFormattingEdits(q,H,z){return V.provideDocumentRangeFormattingEdits(q,q.getFullModelRange(),H,z)}})}return O}class h{static{this._selectors=new y.LinkedList}static setFormatterSelector(P){return{dispose:h._selectors.unshift(P)}}static async select(P,N,O,F){if(P.length===0)return;const x=E.Iterable.first(h._selectors);if(x)return await x(P,N,O,F)}}e.FormattingConflicts=h;async function v(A,P,N,O,F,x,W){const V=A.get(a.IInstantiationService),{documentRangeFormattingEditProvider:q}=A.get(r.ILanguageFeaturesService),H=(0,p.isCodeEditor)(P)?P.getModel():P,z=q.ordered(H),U=await h.select(z,H,O,2);U&&(F.report(U),await V.invokeFunction(w,U,P,N,x,W))}async function w(A,P,N,O,F,x){const W=A.get(i.IEditorWorkerService),V=A.get(u.ILogService),q=A.get(C.IAccessibilitySignalService);let H,z;(0,p.isCodeEditor)(N)?(H=N.getModel(),z=new b.EditorStateCancellationTokenSource(N,5,void 0,F)):(H=N,z=new b.TextModelCancellationTokenSource(N,F));const U=[];let j=0;for(const J of(0,d.asArray)(O).sort(o.Range.compareRangesUsingStarts))j>0&&o.Range.areIntersectingOrTouching(U[j-1],J)?U[j-1]=o.Range.fromPositions(U[j-1].getStartPosition(),J.getEndPosition()):j=U.push(J);const Y=async J=>{V.trace(\"[format][provideDocumentRangeFormattingEdits] (request)\",P.extensionId?.value,J);const ie=await P.provideDocumentRangeFormattingEdits(H,J,H.getFormattingOptions(),z.token)||[];return V.trace(\"[format][provideDocumentRangeFormattingEdits] (response)\",P.extensionId?.value,ie),ie},G=(J,ie)=>{if(!J.length||!ie.length)return!1;const ue=J.reduce((he,pe)=>o.Range.plusRange(he,pe.range),J[0].range);if(!ie.some(he=>o.Range.intersectRanges(ue,he.range)))return!1;for(const he of J)for(const pe of ie)if(o.Range.intersectRanges(he.range,pe.range))return!0;return!1},K=[],R=[];try{if(typeof P.provideDocumentRangesFormattingEdits==\"function\"){V.trace(\"[format][provideDocumentRangeFormattingEdits] (request)\",P.extensionId?.value,U);const J=await P.provideDocumentRangesFormattingEdits(H,U,H.getFormattingOptions(),z.token)||[];V.trace(\"[format][provideDocumentRangeFormattingEdits] (response)\",P.extensionId?.value,J),R.push(J)}else{for(const J of U){if(z.token.isCancellationRequested)return!0;R.push(await Y(J))}for(let J=0;J<U.length;++J)for(let ie=J+1;ie<U.length;++ie){if(z.token.isCancellationRequested)return!0;if(G(R[J],R[ie])){const ue=o.Range.plusRange(U[J],U[ie]),he=await Y(ue);U.splice(ie,1),U.splice(J,1),U.push(ue),R.splice(ie,1),R.splice(J,1),R.push(he),J=0,ie=0}}}for(const J of R){if(z.token.isCancellationRequested)return!0;const ie=await W.computeMoreMinimalEdits(H.uri,J);ie&&K.push(...ie)}}finally{z.dispose()}if(K.length===0)return!1;if((0,p.isCodeEditor)(N))g.FormattingEdit.execute(N,K,!0),N.revealPositionInCenterIfOutsideViewport(N.getPosition(),1);else{const[{range:J}]=K,ie=new t.Selection(J.startLineNumber,J.startColumn,J.endLineNumber,J.endColumn);H.pushEditOperations([ie],K.map(ue=>({text:ue.text,range:o.Range.lift(ue.range),forceMoveMarkers:!0})),ue=>{for(const{range:he}of ue)if(o.Range.areIntersectingOrTouching(he,ie))return[new t.Selection(he.startLineNumber,he.startColumn,he.endLineNumber,he.endColumn)];return null})}return q.playSignal(C.AccessibilitySignal.format,{userGesture:x}),!0}async function S(A,P,N,O,F,x){const W=A.get(a.IInstantiationService),V=A.get(r.ILanguageFeaturesService),q=(0,p.isCodeEditor)(P)?P.getModel():P,H=f(V.documentFormattingEditProvider,V.documentRangeFormattingEditProvider,q),z=await h.select(H,q,N,1);z&&(O.report(z),await W.invokeFunction(L,z,P,N,F,x))}async function L(A,P,N,O,F,x){const W=A.get(i.IEditorWorkerService),V=A.get(C.IAccessibilitySignalService);let q,H;(0,p.isCodeEditor)(N)?(q=N.getModel(),H=new b.EditorStateCancellationTokenSource(N,5,void 0,F)):(q=N,H=new b.TextModelCancellationTokenSource(N,F));let z;try{const U=await P.provideDocumentFormattingEdits(q,q.getFormattingOptions(),H.token);if(z=await W.computeMoreMinimalEdits(q.uri,U),H.token.isCancellationRequested)return!0}finally{H.dispose()}if(!z||z.length===0)return!1;if((0,p.isCodeEditor)(N))g.FormattingEdit.execute(N,z,O!==2),O!==2&&N.revealPositionInCenterIfOutsideViewport(N.getPosition(),1);else{const[{range:U}]=z,j=new t.Selection(U.startLineNumber,U.startColumn,U.endLineNumber,U.endColumn);q.pushEditOperations([j],z.map(Y=>({text:Y.text,range:o.Range.lift(Y.range),forceMoveMarkers:!0})),Y=>{for(const{range:G}of Y)if(o.Range.areIntersectingOrTouching(G,j))return[new t.Selection(G.startLineNumber,G.startColumn,G.endLineNumber,G.endColumn)];return null})}return V.playSignal(C.AccessibilitySignal.format,{userGesture:x}),!0}async function D(A,P,N,O,F,x){const W=P.documentRangeFormattingEditProvider.ordered(N);for(const V of W){const q=await Promise.resolve(V.provideDocumentRangeFormattingEdits(N,O,F,x)).catch(I.onUnexpectedExternalError);if((0,d.isNonEmptyArray)(q))return await A.computeMoreMinimalEdits(N.uri,q)}}async function T(A,P,N,O,F){const x=f(P.documentFormattingEditProvider,P.documentRangeFormattingEditProvider,N);for(const W of x){const V=await Promise.resolve(W.provideDocumentFormattingEdits(N,O,F)).catch(I.onUnexpectedExternalError);if((0,d.isNonEmptyArray)(V))return await A.computeMoreMinimalEdits(N.uri,V)}}function M(A,P,N,O,F,x,W){const V=P.onTypeFormattingEditProvider.ordered(N);return V.length===0||V[0].autoFormatTriggerCharacters.indexOf(F)<0?Promise.resolve(void 0):Promise.resolve(V[0].provideOnTypeFormattingEdits(N,O,F,x,W)).catch(I.onUnexpectedExternalError).then(q=>A.computeMoreMinimalEdits(N.uri,q))}c.CommandsRegistry.registerCommand(\"_executeFormatRangeProvider\",async function(A,...P){const[N,O,F]=P;(0,m.assertType)(_.URI.isUri(N)),(0,m.assertType)(o.Range.isIRange(O));const x=A.get(s.ITextModelService),W=A.get(i.IEditorWorkerService),V=A.get(r.ILanguageFeaturesService),q=await x.createModelReference(N);try{return D(W,V,q.object.textEditorModel,o.Range.lift(O),F,k.CancellationToken.None)}finally{q.dispose()}}),c.CommandsRegistry.registerCommand(\"_executeFormatDocumentProvider\",async function(A,...P){const[N,O]=P;(0,m.assertType)(_.URI.isUri(N));const F=A.get(s.ITextModelService),x=A.get(i.IEditorWorkerService),W=A.get(r.ILanguageFeaturesService),V=await F.createModelReference(N);try{return T(x,W,V.object.textEditorModel,O,k.CancellationToken.None)}finally{V.dispose()}}),c.CommandsRegistry.registerCommand(\"_executeFormatOnTypeProvider\",async function(A,...P){const[N,O,F,x]=P;(0,m.assertType)(_.URI.isUri(N)),(0,m.assertType)(n.Position.isIPosition(O)),(0,m.assertType)(typeof F==\"string\");const W=A.get(s.ITextModelService),V=A.get(i.IEditorWorkerService),q=A.get(r.ILanguageFeaturesService),H=await W.createModelReference(N);try{return M(V,q,H.object.textEditorModel,n.Position.lift(O),F,x,k.CancellationToken.None)}finally{H.dispose()}})}),define(ne[735],se([1,0,13,18,8,72,2,15,34,144,4,20,100,17,409,337,3,137,24,12,7,96]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FormatOnType=void 0;let C=class{static{this.ID=\"editor.contrib.autoFormat\"}constructor(S,L,D,T){this._editor=S,this._languageFeaturesService=L,this._workerService=D,this._accessibilitySignalService=T,this._disposables=new y.DisposableStore,this._sessionDisposables=new y.DisposableStore,this._disposables.add(L.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(S.onDidChangeModel(()=>this._update())),this._disposables.add(S.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(S.onDidChangeConfiguration(M=>{M.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const S=this._editor.getModel(),[L]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(S);if(!L||!L.autoFormatTriggerCharacters)return;const D=new b.CharacterSet;for(const T of L.autoFormatTriggerCharacters)D.add(T.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(T=>{const M=T.charCodeAt(T.length-1);D.has(M)&&this._trigger(String.fromCharCode(M))}))}_trigger(S){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const L=this._editor.getModel(),D=this._editor.getPosition(),T=new k.CancellationTokenSource,M=this._editor.onDidChangeModelContent(A=>{if(A.isFlush){T.cancel(),M.dispose();return}for(let P=0,N=A.changes.length;P<N;P++)if(A.changes[P].range.endLineNumber<=D.lineNumber){T.cancel(),M.dispose();return}});(0,i.getOnTypeFormattingEdits)(this._workerService,this._languageFeaturesService,L,D,S,L.getFormattingOptions(),T.token).then(A=>{T.token.isCancellationRequested||(0,d.isNonEmptyArray)(A)&&(this._accessibilitySignalService.playSignal(c.AccessibilitySignal.format,{userGesture:!1}),s.FormattingEdit.execute(this._editor,A,!0))}).finally(()=>{M.dispose()})}};e.FormatOnType=C,e.FormatOnType=C=ke([ce(1,t.ILanguageFeaturesService),ce(2,o.IEditorWorkerService),ce(3,c.IAccessibilitySignalService)],C);let f=class{static{this.ID=\"editor.contrib.formatOnPaste\"}constructor(S,L,D){this.editor=S,this._languageFeaturesService=L,this._instantiationService=D,this._callOnDispose=new y.DisposableStore,this._callOnModel=new y.DisposableStore,this._callOnDispose.add(S.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(S.onDidChangeModel(()=>this._update())),this._callOnDispose.add(S.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(L.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:S})=>this._trigger(S)))}_trigger(S){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(i.formatDocumentRangesWithSelectedProvider,this.editor,S,2,u.Progress.None,k.CancellationToken.None,!1).catch(I.onUnexpectedError))}};f=ke([ce(1,t.ILanguageFeaturesService),ce(2,r.IInstantiationService)],f);class h extends m.EditorAction{constructor(){super({id:\"editor.action.formatDocument\",label:g.localize(922,\"Format Document\"),alias:\"Format Document\",precondition:a.ContextKeyExpr.and(n.EditorContextKeys.notInCompositeEditor,n.EditorContextKeys.writable,n.EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:\"1_modification\",order:1.3}})}async run(S,L){if(L.hasModel()){const D=S.get(r.IInstantiationService);await S.get(u.IEditorProgressService).showWhile(D.invokeFunction(i.formatDocumentWithSelectedProvider,L,1,u.Progress.None,k.CancellationToken.None,!0),250)}}}class v extends m.EditorAction{constructor(){super({id:\"editor.action.formatSelection\",label:g.localize(923,\"Format Selection\"),alias:\"Format Selection\",precondition:a.ContextKeyExpr.and(n.EditorContextKeys.writable,n.EditorContextKeys.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2084),weight:100},contextMenuOpts:{when:n.EditorContextKeys.hasNonEmptySelection,group:\"1_modification\",order:1.31}})}async run(S,L){if(!L.hasModel())return;const D=S.get(r.IInstantiationService),T=L.getModel(),M=L.getSelections().map(P=>P.isEmpty()?new p.Range(P.startLineNumber,1,P.startLineNumber,T.getLineMaxColumn(P.startLineNumber)):P);await S.get(u.IEditorProgressService).showWhile(D.invokeFunction(i.formatDocumentRangesWithSelectedProvider,L,M,1,u.Progress.None,k.CancellationToken.None,!0),250)}}(0,m.registerEditorContribution)(C.ID,C,2),(0,m.registerEditorContribution)(f.ID,f,2),(0,m.registerEditorAction)(h),(0,m.registerEditorAction)(v),l.CommandsRegistry.registerCommand(\"editor.action.format\",async w=>{const S=w.get(_.ICodeEditorService).getFocusedCodeEditor();if(!S||!S.hasModel())return;const L=w.get(l.ICommandService);S.getSelection().isEmpty()?await L.executeCommand(\"editor.action.formatDocument\"):await L.executeCommand(\"editor.action.formatSelection\")})}),define(ne[277],se([1,0,13,18,8,42,15,17,178]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getDefinitionsAtPosition=n,e.getDeclarationsAtPosition=o,e.getImplementationsAtPosition=t,e.getTypeDefinitionsAtPosition=i,e.getReferencesAtPosition=s;function b(c,l){return l.uri.scheme===c.uri.scheme?!0:!(0,E.matchesSomeScheme)(l.uri,E.Schemas.walkThroughSnippet,E.Schemas.vscodeChatCodeBlock,E.Schemas.vscodeChatCodeCompareBlock)}async function p(c,l,a,r,u){const f=a.ordered(c,r).map(v=>Promise.resolve(u(v,c,l)).then(void 0,w=>{(0,I.onUnexpectedExternalError)(w)})),h=await Promise.all(f);return(0,d.coalesce)(h.flat()).filter(v=>b(c,v))}function n(c,l,a,r,u){return p(l,a,c,r,(C,f,h)=>C.provideDefinition(f,h,u))}function o(c,l,a,r,u){return p(l,a,c,r,(C,f,h)=>C.provideDeclaration(f,h,u))}function t(c,l,a,r,u){return p(l,a,c,r,(C,f,h)=>C.provideImplementation(f,h,u))}function i(c,l,a,r,u){return p(l,a,c,r,(C,f,h)=>C.provideTypeDefinition(f,h,u))}function s(c,l,a,r,u,C){return p(l,a,c,u,async(f,h,v)=>{const w=(await f.provideReferences(h,v,{includeDeclaration:!0},C))?.filter(L=>b(h,L));if(!r||!w||w.length!==2)return w;const S=(await f.provideReferences(h,v,{includeDeclaration:!1},C))?.filter(L=>b(h,L));return S&&S.length===1?S:w})}async function g(c){const l=await c(),a=new _.ReferencesModel(l,\"\"),r=a.references.map(u=>u.link);return a.dispose(),r}(0,y.registerModelAndPositionCommand)(\"_executeDefinitionProvider\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=n(r.definitionProvider,l,a,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeDefinitionProvider_recursive\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=n(r.definitionProvider,l,a,!0,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeTypeDefinitionProvider\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=i(r.typeDefinitionProvider,l,a,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeTypeDefinitionProvider_recursive\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=i(r.typeDefinitionProvider,l,a,!0,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeDeclarationProvider\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=o(r.declarationProvider,l,a,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeDeclarationProvider_recursive\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=o(r.declarationProvider,l,a,!0,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeReferenceProvider\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=s(r.referenceProvider,l,a,!1,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeReferenceProvider_recursive\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=s(r.referenceProvider,l,a,!1,!0,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeImplementationProvider\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=t(r.implementationProvider,l,a,!1,k.CancellationToken.None);return g(()=>u)}),(0,y.registerModelAndPositionCommand)(\"_executeImplementationProvider_recursive\",(c,l,a)=>{const r=c.get(m.ILanguageFeaturesService),u=t(r.implementationProvider,l,a,!0,k.CancellationToken.None);return g(()=>u)})}),define(ne[736],se([1,0,6,2,48,15,34,4,3,12,49,7,31,121,50]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ISymbolNavigationService=e.ctxHasSymbols=void 0,e.ctxHasSymbols=new b.RawContextKey(\"hasSymbols\",!1,(0,_.localize)(1003,\"Whether there are symbol locations that can be navigated via keyboard-only.\")),e.ISymbolNavigationService=(0,n.createDecorator)(\"ISymbolNavigationService\");let s=class{constructor(l,a,r,u){this._editorService=a,this._notificationService=r,this._keybindingService=u,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=e.ctxHasSymbols.bindTo(l)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(l){const a=l.parent.parent;if(a.references.length<=1){this.reset();return}this._currentModel=a,this._currentIdx=a.references.indexOf(l),this._ctxHasSymbols.set(!0),this._showMessage();const r=new g(this._editorService),u=r.onDidChange(C=>{if(this._ignoreEditorChange)return;const f=this._editorService.getActiveCodeEditor();if(!f)return;const h=f.getModel(),v=f.getPosition();if(!h||!v)return;let w=!1,S=!1;for(const L of a.references)if((0,I.isEqual)(L.uri,h.uri))w=!0,S=S||m.Range.containsPosition(L.range,v);else if(w)break;(!w||!S)&&this.reset()});this._currentState=(0,k.combinedDisposable)(r,u)}revealNext(l){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const a=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:a.uri,options:{selection:m.Range.collapseToStart(a.range),selectionRevealType:3}},l).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.dispose();const l=this._keybindingService.lookupKeybinding(\"editor.gotoNextSymbolFromResult\"),a=l?(0,_.localize)(1004,\"Symbol {0} of {1}, {2} for next\",this._currentIdx+1,this._currentModel.references.length,l.getLabel()):(0,_.localize)(1005,\"Symbol {0} of {1}\",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(a)}};s=ke([ce(0,b.IContextKeyService),ce(1,y.ICodeEditorService),ce(2,i.INotificationService),ce(3,o.IKeybindingService)],s),(0,p.registerSingleton)(e.ISymbolNavigationService,s,1),(0,E.registerEditorCommand)(new class extends E.EditorCommand{constructor(){super({id:\"editor.gotoNextSymbolFromResult\",precondition:e.ctxHasSymbols,kbOpts:{weight:100,primary:70}})}runEditorCommand(c,l){return c.get(e.ISymbolNavigationService).revealNext(l)}}),t.KeybindingsRegistry.registerCommandAndKeybindingRule({id:\"editor.gotoNextSymbolFromResult.cancel\",weight:100,when:e.ctxHasSymbols,primary:9,handler(c){c.get(e.ISymbolNavigationService).reset()}});let g=class{constructor(l){this._listener=new Map,this._disposables=new k.DisposableStore,this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event,this._disposables.add(l.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(l.onCodeEditorAdd(this._onDidAddEditor,this)),l.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,k.dispose)(this._listener.values())}_onDidAddEditor(l){this._listener.set(l,(0,k.combinedDisposable)(l.onDidChangeCursorPosition(a=>this._onDidChange.fire({editor:l})),l.onDidChangeModelContent(a=>this._onDidChange.fire({editor:l}))))}_onDidRemoveEditor(l){this._listener.get(l)?.dispose(),this._listener.delete(l)}};g=ke([ce(0,y.ICodeEditorService)],g)}),define(ne[410],se([1,0,14,18,8,15,17]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HoverProviderResult=void 0,e.getHoverProviderResultsAsAsyncIterable=b,e.getHoversPromise=p;class m{constructor(t,i,s){this.provider=t,this.hover=i,this.ordinal=s}}e.HoverProviderResult=m;async function _(o,t,i,s,g){const c=await Promise.resolve(o.provideHover(i,s,g)).catch(I.onUnexpectedExternalError);if(!(!c||!n(c)))return new m(o,c,t)}function b(o,t,i,s,g=!1){const l=o.ordered(t,g).map((a,r)=>_(a,r,t,i,s));return d.AsyncIterableObject.fromPromises(l).coalesce()}function p(o,t,i,s,g=!1){return b(o,t,i,s,g).map(c=>c.hover).toPromise()}(0,E.registerModelAndPositionCommand)(\"_executeHoverProvider\",(o,t,i)=>{const s=o.get(y.ILanguageFeaturesService);return p(s.hoverProvider,t,i,k.CancellationToken.None)}),(0,E.registerModelAndPositionCommand)(\"_executeHoverProvider_recursive\",(o,t,i)=>{const s=o.get(y.ILanguageFeaturesService);return p(s.hoverProvider,t,i,k.CancellationToken.None,!0)});function n(o){const t=typeof o.range<\"u\",i=typeof o.contents<\"u\"&&o.contents&&o.contents.length>0;return t&&i}}),define(ne[737],se([1,0,2,11,15,183,4,20,36,51,338,3,66,241,714,83]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IndentationToTabsCommand=e.IndentationToSpacesCommand=e.AutoIndentOnPaste=e.AutoIndentOnPasteCommand=e.ReindentSelectedLinesAction=e.ReindentLinesAction=e.DetectIndentation=e.ChangeTabDisplaySize=e.IndentUsingSpaces=e.IndentUsingTabs=e.ChangeIndentationSizeAction=e.IndentationToTabsAction=e.IndentationToSpacesAction=void 0;class g extends I.EditorAction{static{this.ID=\"editor.action.indentationToSpaces\"}constructor(){super({id:g.ID,label:n.localize(1045,\"Convert Indentation to Spaces\"),alias:\"Convert Indentation to Spaces\",precondition:m.EditorContextKeys.writable,metadata:{description:n.localize2(1057,\"Convert the tab indentation to spaces.\")}})}run(A,P){const N=P.getModel();if(!N)return;const O=N.getOptions(),F=P.getSelection();if(!F)return;const x=new D(F,O.tabSize);P.pushUndoStop(),P.executeCommands(this.id,[x]),P.pushUndoStop(),N.updateOptions({insertSpaces:!0})}}e.IndentationToSpacesAction=g;class c extends I.EditorAction{static{this.ID=\"editor.action.indentationToTabs\"}constructor(){super({id:c.ID,label:n.localize(1046,\"Convert Indentation to Tabs\"),alias:\"Convert Indentation to Tabs\",precondition:m.EditorContextKeys.writable,metadata:{description:n.localize2(1058,\"Convert the spaces indentation to tabs.\")}})}run(A,P){const N=P.getModel();if(!N)return;const O=N.getOptions(),F=P.getSelection();if(!F)return;const x=new T(F,O.tabSize);P.pushUndoStop(),P.executeCommands(this.id,[x]),P.pushUndoStop(),N.updateOptions({insertSpaces:!1})}}e.IndentationToTabsAction=c;class l extends I.EditorAction{constructor(A,P,N){super(N),this.insertSpaces=A,this.displaySizeOnly=P}run(A,P){const N=A.get(o.IQuickInputService),O=A.get(b.IModelService),F=P.getModel();if(!F)return;const x=O.getCreationOptions(F.getLanguageId(),F.uri,F.isForSimpleWidget),W=F.getOptions(),V=[1,2,3,4,5,6,7,8].map(H=>({id:H.toString(),label:H.toString(),description:H===x.tabSize&&H===W.tabSize?n.localize(1047,\"Configured Tab Size\"):H===x.tabSize?n.localize(1048,\"Default Tab Size\"):H===W.tabSize?n.localize(1049,\"Current Tab Size\"):void 0})),q=Math.min(F.getOptions().tabSize-1,7);setTimeout(()=>{N.pick(V,{placeHolder:n.localize(1050,\"Select Tab Size for Current File\"),activeItem:V[q]}).then(H=>{if(H&&F&&!F.isDisposed()){const z=parseInt(H.label,10);this.displaySizeOnly?F.updateOptions({tabSize:z}):F.updateOptions({tabSize:z,indentSize:z,insertSpaces:this.insertSpaces})}})},50)}}e.ChangeIndentationSizeAction=l;class a extends l{static{this.ID=\"editor.action.indentUsingTabs\"}constructor(){super(!1,!1,{id:a.ID,label:n.localize(1051,\"Indent Using Tabs\"),alias:\"Indent Using Tabs\",precondition:void 0,metadata:{description:n.localize2(1059,\"Use indentation with tabs.\")}})}}e.IndentUsingTabs=a;class r extends l{static{this.ID=\"editor.action.indentUsingSpaces\"}constructor(){super(!0,!1,{id:r.ID,label:n.localize(1052,\"Indent Using Spaces\"),alias:\"Indent Using Spaces\",precondition:void 0,metadata:{description:n.localize2(1060,\"Use indentation with spaces.\")}})}}e.IndentUsingSpaces=r;class u extends l{static{this.ID=\"editor.action.changeTabDisplaySize\"}constructor(){super(!0,!0,{id:u.ID,label:n.localize(1053,\"Change Tab Display Size\"),alias:\"Change Tab Display Size\",precondition:void 0,metadata:{description:n.localize2(1061,\"Change the space size equivalent of the tab.\")}})}}e.ChangeTabDisplaySize=u;class C extends I.EditorAction{static{this.ID=\"editor.action.detectIndentation\"}constructor(){super({id:C.ID,label:n.localize(1054,\"Detect Indentation from Content\"),alias:\"Detect Indentation from Content\",precondition:void 0,metadata:{description:n.localize2(1062,\"Detect the indentation from content.\")}})}run(A,P){const N=A.get(b.IModelService),O=P.getModel();if(!O)return;const F=N.getCreationOptions(O.getLanguageId(),O.uri,O.isForSimpleWidget);O.detectIndentation(F.insertSpaces,F.tabSize)}}e.DetectIndentation=C;class f extends I.EditorAction{constructor(){super({id:\"editor.action.reindentlines\",label:n.localize(1055,\"Reindent Lines\"),alias:\"Reindent Lines\",precondition:m.EditorContextKeys.writable,metadata:{description:n.localize2(1063,\"Reindent the lines of the editor.\")}})}run(A,P){const N=A.get(_.ILanguageConfigurationService),O=P.getModel();if(!O)return;const F=(0,i.getReindentEditOperations)(O,N,1,O.getLineCount());F.length>0&&(P.pushUndoStop(),P.executeEdits(this.id,F),P.pushUndoStop())}}e.ReindentLinesAction=f;class h extends I.EditorAction{constructor(){super({id:\"editor.action.reindentselectedlines\",label:n.localize(1056,\"Reindent Selected Lines\"),alias:\"Reindent Selected Lines\",precondition:m.EditorContextKeys.writable,metadata:{description:n.localize2(1064,\"Reindent the selected lines of the editor.\")}})}run(A,P){const N=A.get(_.ILanguageConfigurationService),O=P.getModel();if(!O)return;const F=P.getSelections();if(F===null)return;const x=[];for(const W of F){let V=W.startLineNumber,q=W.endLineNumber;if(V!==q&&W.endColumn===1&&q--,V===1){if(V===q)continue}else V--;const H=(0,i.getReindentEditOperations)(O,N,V,q);x.push(...H)}x.length>0&&(P.pushUndoStop(),P.executeEdits(this.id,x),P.pushUndoStop())}}e.ReindentSelectedLinesAction=h;class v{constructor(A,P){this._initialSelection=P,this._edits=[],this._selectionId=null;for(const N of A)N.range&&typeof N.text==\"string\"&&this._edits.push(N)}getEditOperations(A,P){for(const O of this._edits)P.addEditOperation(y.Range.lift(O.range),O.text);let N=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(N=!0,this._selectionId=P.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(N=!0,this._selectionId=P.trackSelection(this._initialSelection,!1))),N||(this._selectionId=P.trackSelection(this._initialSelection))}computeCursorState(A,P){return P.getTrackedSelection(this._selectionId)}}e.AutoIndentOnPasteCommand=v;let w=class{static{this.ID=\"editor.contrib.autoIndentOnPaste\"}constructor(A,P){this.editor=A,this._languageConfigurationService=P,this.callOnDispose=new d.DisposableStore,this.callOnModel=new d.DisposableStore,this.callOnDispose.add(A.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(A.onDidChangeModel(()=>this.update())),this.callOnDispose.add(A.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:A})=>{this.trigger(A)}))}trigger(A){const P=this.editor.getSelections();if(P===null||P.length>1)return;const N=this.editor.getModel();if(!N||this.rangeContainsOnlyWhitespaceCharacters(N,A)||S(N,A)||!N.tokenization.isCheapToTokenize(A.getStartPosition().lineNumber))return;const F=this.editor.getOption(12),{tabSize:x,indentSize:W,insertSpaces:V}=N.getOptions(),q=[],H={shiftIndent:Y=>E.ShiftCommand.shiftIndent(Y,Y.length+1,x,W,V),unshiftIndent:Y=>E.ShiftCommand.unshiftIndent(Y,Y.length+1,x,W,V)};let z=A.startLineNumber;for(;z<=A.endLineNumber;){if(this.shouldIgnoreLine(N,z)){z++;continue}break}if(z>A.endLineNumber)return;let U=N.getLineContent(z);if(!/\\S/.test(U.substring(0,A.startColumn-1))){const Y=(0,t.getGoodIndentForLine)(F,N,N.getLanguageId(),z,H,this._languageConfigurationService);if(Y!==null){const G=k.getLeadingWhitespace(U),K=p.getSpaceCnt(Y,x),R=p.getSpaceCnt(G,x);if(K!==R){const J=p.generateIndent(K,x,V);q.push({range:new y.Range(z,1,z,G.length+1),text:J}),U=J+U.substring(G.length)}else{const J=(0,t.getIndentMetadata)(N,z,this._languageConfigurationService);if(J===0||J===8)return}}}const j=z;for(;z<A.endLineNumber;){if(!/\\S/.test(N.getLineContent(z+1))){z++;continue}break}if(z!==A.endLineNumber){const Y={tokenization:{getLineTokens:K=>N.tokenization.getLineTokens(K),getLanguageId:()=>N.getLanguageId(),getLanguageIdAtPosition:(K,R)=>N.getLanguageIdAtPosition(K,R)},getLineContent:K=>K===j?U:N.getLineContent(K)},G=(0,t.getGoodIndentForLine)(F,Y,N.getLanguageId(),z+1,H,this._languageConfigurationService);if(G!==null){const K=p.getSpaceCnt(G,x),R=p.getSpaceCnt(k.getLeadingWhitespace(N.getLineContent(z+1)),x);if(K!==R){const J=K-R;for(let ie=z+1;ie<=A.endLineNumber;ie++){const ue=N.getLineContent(ie),he=k.getLeadingWhitespace(ue),ae=p.getSpaceCnt(he,x)+J,ee=p.generateIndent(ae,x,V);ee!==he&&q.push({range:new y.Range(ie,1,ie,he.length+1),text:ee})}}}}if(q.length>0){this.editor.pushUndoStop();const Y=new v(q,this.editor.getSelection());this.editor.executeCommand(\"autoIndentOnPaste\",Y),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(A,P){const N=F=>F.trim().length===0;let O=!0;if(P.startLineNumber===P.endLineNumber){const x=A.getLineContent(P.startLineNumber).substring(P.startColumn-1,P.endColumn-1);O=N(x)}else for(let F=P.startLineNumber;F<=P.endLineNumber;F++){const x=A.getLineContent(F);if(F===P.startLineNumber){const W=x.substring(P.startColumn-1);O=N(W)}else if(F===P.endLineNumber){const W=x.substring(0,P.endColumn-1);O=N(W)}else O=A.getLineFirstNonWhitespaceColumn(F)===0;if(!O)break}return O}shouldIgnoreLine(A,P){A.tokenization.forceTokenization(P);const N=A.getLineFirstNonWhitespaceColumn(P);if(N===0)return!0;const O=A.tokenization.getLineTokens(P);if(O.getCount()>0){const F=O.findTokenIndexAtOffset(N);if(F>=0&&O.getStandardTokenType(F)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};e.AutoIndentOnPaste=w,e.AutoIndentOnPaste=w=ke([ce(1,_.ILanguageConfigurationService)],w);function S(M,A){const P=N=>(0,s.getStandardTokenTypeAtPosition)(M,N)===2;return P(A.getStartPosition())||P(A.getEndPosition())}function L(M,A,P,N){if(M.getLineCount()===1&&M.getLineMaxColumn(1)===1)return;let O=\"\";for(let x=0;x<P;x++)O+=\" \";const F=new RegExp(O,\"gi\");for(let x=1,W=M.getLineCount();x<=W;x++){let V=M.getLineFirstNonWhitespaceColumn(x);if(V===0&&(V=M.getLineMaxColumn(x)),V===1)continue;const q=new y.Range(x,1,x,V),H=M.getValueInRange(q),z=N?H.replace(/\\t/ig,O):H.replace(F,\"\t\");A.addEditOperation(q,z)}}class D{constructor(A,P){this.selection=A,this.tabSize=P,this.selectionId=null}getEditOperations(A,P){this.selectionId=P.trackSelection(this.selection),L(A,P,this.tabSize,!0)}computeCursorState(A,P){return P.getTrackedSelection(this.selectionId)}}e.IndentationToSpacesCommand=D;class T{constructor(A,P){this.selection=A,this.tabSize=P,this.selectionId=null}getEditOperations(A,P){this.selectionId=P.trackSelection(this.selection),L(A,P,this.tabSize,!1)}computeCursorState(A,P){return P.getTrackedSelection(this.selectionId)}}e.IndentationToTabsCommand=T,(0,I.registerEditorContribution)(w.ID,w,2),(0,I.registerEditorAction)(g),(0,I.registerEditorAction)(c),(0,I.registerEditorAction)(a),(0,I.registerEditorAction)(r),(0,I.registerEditorAction)(u),(0,I.registerEditorAction)(C),(0,I.registerEditorAction)(f),(0,I.registerEditorAction)(h)}),define(ne[738],se([1,0,15,235,20,3]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExpandLineSelectionAction=void 0;class y extends d.EditorAction{constructor(){super({id:\"expandLineSelection\",label:E.localize(1105,\"Expand Line Selection\"),alias:\"Expand Line Selection\",precondition:void 0,kbOpts:{weight:0,kbExpr:I.EditorContextKeys.textInputFocus,primary:2090}})}run(_,b,p){if(p=p||{},!b.hasModel())return;const n=b._getViewModel();n.model.pushStackElement(),n.setCursorStates(p.source,3,k.CursorMoveCommands.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(p.source,!0)}}e.ExpandLineSelectionAction=y,(0,d.registerEditorAction)(y)}),define(ne[739],se([1,0,72,214,15,146,554,276,213,75,9,4,23,20,619,716,620,3,29,36,28]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.KebabCaseAction=e.PascalCaseAction=e.CamelCaseAction=e.SnakeCaseAction=e.TitleCaseAction=e.LowerCaseAction=e.UpperCaseAction=e.AbstractCaseAction=e.TransposeAction=e.JoinLinesAction=e.DeleteAllRightAction=e.DeleteAllLeftAction=e.AbstractDeleteAllToBoundaryAction=e.InsertLineAfterAction=e.InsertLineBeforeAction=e.IndentLinesAction=e.DeleteLinesAction=e.TrimTrailingWhitespaceAction=e.DeleteDuplicateLinesAction=e.SortLinesDescendingAction=e.SortLinesAscendingAction=e.AbstractSortLinesAction=e.DuplicateSelectionAction=void 0;class u extends I.EditorAction{constructor(pe,ae){super(ae),this.down=pe}run(pe,ae){if(!ae.hasModel())return;const ee=ae.getSelections().map((X,B)=>({selection:X,index:B,ignore:!1}));ee.sort((X,B)=>n.Range.compareRangesUsingStarts(X.selection,B.selection));let de=ee[0];for(let X=1;X<ee.length;X++){const B=ee[X];de.selection.endLineNumber===B.selection.startLineNumber&&(de.index<B.index?B.ignore=!0:(de.ignore=!0,de=B))}const ge=[];for(const X of ee)ge.push(new i.CopyLinesCommand(X.selection,this.down,X.ignore));ae.pushUndoStop(),ae.executeCommands(this.id,ge),ae.pushUndoStop()}}class C extends u{constructor(){super(!1,{id:\"editor.action.copyLinesUpAction\",label:c.localize(1106,\"Copy Line Up\"),alias:\"Copy Line Up\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:l.MenuId.MenubarSelectionMenu,group:\"2_line\",title:c.localize(1107,\"&&Copy Line Up\"),order:1}})}}class f extends u{constructor(){super(!0,{id:\"editor.action.copyLinesDownAction\",label:c.localize(1108,\"Copy Line Down\"),alias:\"Copy Line Down\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:l.MenuId.MenubarSelectionMenu,group:\"2_line\",title:c.localize(1109,\"Co&&py Line Down\"),order:2}})}}class h extends I.EditorAction{constructor(){super({id:\"editor.action.duplicateSelection\",label:c.localize(1110,\"Duplicate Selection\"),alias:\"Duplicate Selection\",precondition:t.EditorContextKeys.writable,menuOpts:{menuId:l.MenuId.MenubarSelectionMenu,group:\"2_line\",title:c.localize(1111,\"&&Duplicate Selection\"),order:5}})}run(pe,ae,ee){if(!ae.hasModel())return;const de=[],ge=ae.getSelections(),X=ae.getModel();for(const B of ge)if(B.isEmpty())de.push(new i.CopyLinesCommand(B,!0));else{const $=new o.Selection(B.endLineNumber,B.endColumn,B.endLineNumber,B.endColumn);de.push(new E.ReplaceCommandThatSelectsText($,X.getValueInRange(B)))}ae.pushUndoStop(),ae.executeCommands(this.id,de),ae.pushUndoStop()}}e.DuplicateSelectionAction=h;class v extends I.EditorAction{constructor(pe,ae){super(ae),this.down=pe}run(pe,ae){const ee=pe.get(a.ILanguageConfigurationService),de=[],ge=ae.getSelections()||[],X=ae.getOption(12);for(const B of ge)de.push(new s.MoveLinesCommand(B,this.down,X,ee));ae.pushUndoStop(),ae.executeCommands(this.id,de),ae.pushUndoStop()}}class w extends v{constructor(){super(!1,{id:\"editor.action.moveLinesUpAction\",label:c.localize(1112,\"Move Line Up\"),alias:\"Move Line Up\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:l.MenuId.MenubarSelectionMenu,group:\"2_line\",title:c.localize(1113,\"Mo&&ve Line Up\"),order:3}})}}class S extends v{constructor(){super(!0,{id:\"editor.action.moveLinesDownAction\",label:c.localize(1114,\"Move Line Down\"),alias:\"Move Line Down\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:l.MenuId.MenubarSelectionMenu,group:\"2_line\",title:c.localize(1115,\"Move &&Line Down\"),order:4}})}}class L extends I.EditorAction{constructor(pe,ae){super(ae),this.descending=pe}run(pe,ae){if(!ae.hasModel())return;const ee=ae.getModel();let de=ae.getSelections();de.length===1&&de[0].isEmpty()&&(de=[new o.Selection(1,1,ee.getLineCount(),ee.getLineMaxColumn(ee.getLineCount()))]);for(const X of de)if(!g.SortLinesCommand.canRun(ae.getModel(),X,this.descending))return;const ge=[];for(let X=0,B=de.length;X<B;X++)ge[X]=new g.SortLinesCommand(de[X],this.descending);ae.pushUndoStop(),ae.executeCommands(this.id,ge),ae.pushUndoStop()}}e.AbstractSortLinesAction=L;class D extends L{constructor(){super(!1,{id:\"editor.action.sortLinesAscending\",label:c.localize(1116,\"Sort Lines Ascending\"),alias:\"Sort Lines Ascending\",precondition:t.EditorContextKeys.writable})}}e.SortLinesAscendingAction=D;class T extends L{constructor(){super(!0,{id:\"editor.action.sortLinesDescending\",label:c.localize(1117,\"Sort Lines Descending\"),alias:\"Sort Lines Descending\",precondition:t.EditorContextKeys.writable})}}e.SortLinesDescendingAction=T;class M extends I.EditorAction{constructor(){super({id:\"editor.action.removeDuplicateLines\",label:c.localize(1118,\"Delete Duplicate Lines\"),alias:\"Delete Duplicate Lines\",precondition:t.EditorContextKeys.writable})}run(pe,ae){if(!ae.hasModel())return;const ee=ae.getModel();if(ee.getLineCount()===1&&ee.getLineMaxColumn(1)===1)return;const de=[],ge=[];let X=0,B=!0,$=ae.getSelections();$.length===1&&$[0].isEmpty()&&($=[new o.Selection(1,1,ee.getLineCount(),ee.getLineMaxColumn(ee.getLineCount()))],B=!1);for(const Q of $){const Z=new Set,te=[];for(let Ce=Q.startLineNumber;Ce<=Q.endLineNumber;Ce++){const ye=ee.getLineContent(Ce);Z.has(ye)||(te.push(ye),Z.add(ye))}const re=new o.Selection(Q.startLineNumber,1,Q.endLineNumber,ee.getLineMaxColumn(Q.endLineNumber)),le=Q.startLineNumber-X,me=new o.Selection(le,1,le+te.length-1,te[te.length-1].length);de.push(b.EditOperation.replace(re,te.join(`\n`))),ge.push(me),X+=Q.endLineNumber-Q.startLineNumber+1-te.length}ae.pushUndoStop(),ae.executeEdits(this.id,de,B?ge:void 0),ae.pushUndoStop()}}e.DeleteDuplicateLinesAction=M;class A extends I.EditorAction{static{this.ID=\"editor.action.trimTrailingWhitespace\"}constructor(){super({id:A.ID,label:c.localize(1119,\"Trim Trailing Whitespace\"),alias:\"Trim Trailing Whitespace\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:(0,d.KeyChord)(2089,2102),weight:100}})}run(pe,ae,ee){let de=[];ee.reason===\"auto-save\"&&(de=(ae.getSelections()||[]).map(Z=>new p.Position(Z.positionLineNumber,Z.positionColumn)));const ge=ae.getSelection();if(ge===null)return;const X=pe.get(r.IConfigurationService),B=ae.getModel(),$=X.getValue(\"files.trimTrailingWhitespaceInRegexAndStrings\",{overrideIdentifier:B?.getLanguageId(),resource:B?.uri}),Q=new y.TrimTrailingWhitespaceCommand(ge,de,$);ae.pushUndoStop(),ae.executeCommands(this.id,[Q]),ae.pushUndoStop()}}e.TrimTrailingWhitespaceAction=A;class P extends I.EditorAction{constructor(){super({id:\"editor.action.deleteLines\",label:c.localize(1120,\"Delete Line\"),alias:\"Delete Line\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.textInputFocus,primary:3113,weight:100}})}run(pe,ae){if(!ae.hasModel())return;const ee=this._getLinesToRemove(ae),de=ae.getModel();if(de.getLineCount()===1&&de.getLineMaxColumn(1)===1)return;let ge=0;const X=[],B=[];for(let $=0,Q=ee.length;$<Q;$++){const Z=ee[$];let te=Z.startLineNumber,re=Z.endLineNumber,le=1,me=de.getLineMaxColumn(re);re<de.getLineCount()?(re+=1,me=1):te>1&&(te-=1,le=de.getLineMaxColumn(te)),X.push(b.EditOperation.replace(new o.Selection(te,le,re,me),\"\")),B.push(new o.Selection(te-ge,Z.positionColumn,te-ge,Z.positionColumn)),ge+=Z.endLineNumber-Z.startLineNumber+1}ae.pushUndoStop(),ae.executeEdits(this.id,X,B),ae.pushUndoStop()}_getLinesToRemove(pe){const ae=pe.getSelections().map(ge=>{let X=ge.endLineNumber;return ge.startLineNumber<ge.endLineNumber&&ge.endColumn===1&&(X-=1),{startLineNumber:ge.startLineNumber,selectionStartColumn:ge.selectionStartColumn,endLineNumber:X,positionColumn:ge.positionColumn}});ae.sort((ge,X)=>ge.startLineNumber===X.startLineNumber?ge.endLineNumber-X.endLineNumber:ge.startLineNumber-X.startLineNumber);const ee=[];let de=ae[0];for(let ge=1;ge<ae.length;ge++)de.endLineNumber+1>=ae[ge].startLineNumber?de.endLineNumber=ae[ge].endLineNumber:(ee.push(de),de=ae[ge]);return ee.push(de),ee}}e.DeleteLinesAction=P;class N extends I.EditorAction{constructor(){super({id:\"editor.action.indentLines\",label:c.localize(1121,\"Indent Line\"),alias:\"Indent Line\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:2142,weight:100}})}run(pe,ae){const ee=ae._getViewModel();ee&&(ae.pushUndoStop(),ae.executeCommands(this.id,m.TypeOperations.indent(ee.cursorConfig,ae.getModel(),ae.getSelections())),ae.pushUndoStop())}}e.IndentLinesAction=N;class O extends I.EditorAction{constructor(){super({id:\"editor.action.outdentLines\",label:c.localize(1122,\"Outdent Line\"),alias:\"Outdent Line\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:2140,weight:100}})}run(pe,ae){k.CoreEditingCommands.Outdent.runEditorCommand(pe,ae,null)}}class F extends I.EditorAction{constructor(){super({id:\"editor.action.insertLineBefore\",label:c.localize(1123,\"Insert Line Above\"),alias:\"Insert Line Above\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:3075,weight:100}})}run(pe,ae){const ee=ae._getViewModel();ee&&(ae.pushUndoStop(),ae.executeCommands(this.id,_.EnterOperation.lineInsertBefore(ee.cursorConfig,ae.getModel(),ae.getSelections())))}}e.InsertLineBeforeAction=F;class x extends I.EditorAction{constructor(){super({id:\"editor.action.insertLineAfter\",label:c.localize(1124,\"Insert Line Below\"),alias:\"Insert Line Below\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:2051,weight:100}})}run(pe,ae){const ee=ae._getViewModel();ee&&(ae.pushUndoStop(),ae.executeCommands(this.id,_.EnterOperation.lineInsertAfter(ee.cursorConfig,ae.getModel(),ae.getSelections())))}}e.InsertLineAfterAction=x;class W extends I.EditorAction{run(pe,ae){if(!ae.hasModel())return;const ee=ae.getSelection(),de=this._getRangesToDelete(ae),ge=[];for(let $=0,Q=de.length-1;$<Q;$++){const Z=de[$],te=de[$+1];n.Range.intersectRanges(Z,te)===null?ge.push(Z):de[$+1]=n.Range.plusRange(Z,te)}ge.push(de[de.length-1]);const X=this._getEndCursorState(ee,ge),B=ge.map($=>b.EditOperation.replace($,\"\"));ae.pushUndoStop(),ae.executeEdits(this.id,B,X),ae.pushUndoStop()}}e.AbstractDeleteAllToBoundaryAction=W;class V extends W{constructor(){super({id:\"deleteAllLeft\",label:c.localize(1125,\"Delete All Left\"),alias:\"Delete All Left\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(pe,ae){let ee=null;const de=[];let ge=0;return ae.forEach(X=>{let B;if(X.endColumn===1&&ge>0){const $=X.startLineNumber-ge;B=new o.Selection($,X.startColumn,$,X.startColumn)}else B=new o.Selection(X.startLineNumber,X.startColumn,X.startLineNumber,X.startColumn);ge+=X.endLineNumber-X.startLineNumber,X.intersectRanges(pe)?ee=B:de.push(B)}),ee&&de.unshift(ee),de}_getRangesToDelete(pe){const ae=pe.getSelections();if(ae===null)return[];let ee=ae;const de=pe.getModel();return de===null?[]:(ee.sort(n.Range.compareRangesUsingStarts),ee=ee.map(ge=>{if(ge.isEmpty())if(ge.startColumn===1){const X=Math.max(1,ge.startLineNumber-1),B=ge.startLineNumber===1?1:de.getLineLength(X)+1;return new n.Range(X,B,ge.startLineNumber,1)}else return new n.Range(ge.startLineNumber,1,ge.startLineNumber,ge.startColumn);else return new n.Range(ge.startLineNumber,1,ge.endLineNumber,ge.endColumn)}),ee)}}e.DeleteAllLeftAction=V;class q extends W{constructor(){super({id:\"deleteAllRight\",label:c.localize(1126,\"Delete All Right\"),alias:\"Delete All Right\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(pe,ae){let ee=null;const de=[];for(let ge=0,X=ae.length,B=0;ge<X;ge++){const $=ae[ge],Q=new o.Selection($.startLineNumber-B,$.startColumn,$.startLineNumber-B,$.startColumn);$.intersectRanges(pe)?ee=Q:de.push(Q)}return ee&&de.unshift(ee),de}_getRangesToDelete(pe){const ae=pe.getModel();if(ae===null)return[];const ee=pe.getSelections();if(ee===null)return[];const de=ee.map(ge=>{if(ge.isEmpty()){const X=ae.getLineMaxColumn(ge.startLineNumber);return ge.startColumn===X?new n.Range(ge.startLineNumber,ge.startColumn,ge.startLineNumber+1,1):new n.Range(ge.startLineNumber,ge.startColumn,ge.startLineNumber,X)}return ge});return de.sort(n.Range.compareRangesUsingStarts),de}}e.DeleteAllRightAction=q;class H extends I.EditorAction{constructor(){super({id:\"editor.action.joinLines\",label:c.localize(1127,\"Join Lines\"),alias:\"Join Lines\",precondition:t.EditorContextKeys.writable,kbOpts:{kbExpr:t.EditorContextKeys.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(pe,ae){const ee=ae.getSelections();if(ee===null)return;let de=ae.getSelection();if(de===null)return;ee.sort(n.Range.compareRangesUsingStarts);const ge=[],X=ee.reduce((re,le)=>re.isEmpty()?re.endLineNumber===le.startLineNumber?(de.equalsSelection(re)&&(de=le),le):le.startLineNumber>re.endLineNumber+1?(ge.push(re),le):new o.Selection(re.startLineNumber,re.startColumn,le.endLineNumber,le.endColumn):le.startLineNumber>re.endLineNumber?(ge.push(re),le):new o.Selection(re.startLineNumber,re.startColumn,le.endLineNumber,le.endColumn));ge.push(X);const B=ae.getModel();if(B===null)return;const $=[],Q=[];let Z=de,te=0;for(let re=0,le=ge.length;re<le;re++){const me=ge[re],Ce=me.startLineNumber,ye=1;let Le=0,Ee,Me;const Ae=B.getLineLength(me.endLineNumber)-me.endColumn;if(me.isEmpty()||me.startLineNumber===me.endLineNumber){const ze=me.getStartPosition();ze.lineNumber<B.getLineCount()?(Ee=Ce+1,Me=B.getLineMaxColumn(Ee)):(Ee=ze.lineNumber,Me=B.getLineMaxColumn(ze.lineNumber))}else Ee=me.endLineNumber,Me=B.getLineMaxColumn(Ee);let Ne=B.getLineContent(Ce);for(let ze=Ce+1;ze<=Ee;ze++){const Ge=B.getLineContent(ze),it=B.getLineFirstNonWhitespaceColumn(ze);if(it>=1){let Oe=!0;Ne===\"\"&&(Oe=!1),Oe&&(Ne.charAt(Ne.length-1)===\" \"||Ne.charAt(Ne.length-1)===\"\t\")&&(Oe=!1,Ne=Ne.replace(/[\\s\\uFEFF\\xA0]+$/g,\" \"));const Fe=Ge.substr(it-1);Ne+=(Oe?\" \":\"\")+Fe,Oe?Le=Fe.length+1:Le=Fe.length}else Le=0}const Ke=new n.Range(Ce,ye,Ee,Me);if(!Ke.isEmpty()){let ze;me.isEmpty()?($.push(b.EditOperation.replace(Ke,Ne)),ze=new o.Selection(Ke.startLineNumber-te,Ne.length-Le+1,Ce-te,Ne.length-Le+1)):me.startLineNumber===me.endLineNumber?($.push(b.EditOperation.replace(Ke,Ne)),ze=new o.Selection(me.startLineNumber-te,me.startColumn,me.endLineNumber-te,me.endColumn)):($.push(b.EditOperation.replace(Ke,Ne)),ze=new o.Selection(me.startLineNumber-te,me.startColumn,me.startLineNumber-te,Ne.length-Ae)),n.Range.intersectRanges(Ke,de)!==null?Z=ze:Q.push(ze)}te+=Ke.endLineNumber-Ke.startLineNumber}Q.unshift(Z),ae.pushUndoStop(),ae.executeEdits(this.id,$,Q),ae.pushUndoStop()}}e.JoinLinesAction=H;class z extends I.EditorAction{constructor(){super({id:\"editor.action.transpose\",label:c.localize(1128,\"Transpose Characters around the Cursor\"),alias:\"Transpose Characters around the Cursor\",precondition:t.EditorContextKeys.writable})}run(pe,ae){const ee=ae.getSelections();if(ee===null)return;const de=ae.getModel();if(de===null)return;const ge=[];for(let X=0,B=ee.length;X<B;X++){const $=ee[X];if(!$.isEmpty())continue;const Q=$.getStartPosition(),Z=de.getLineMaxColumn(Q.lineNumber);if(Q.column>=Z){if(Q.lineNumber===de.getLineCount())continue;const te=new n.Range(Q.lineNumber,Math.max(1,Q.column-1),Q.lineNumber+1,1),re=de.getValueInRange(te).split(\"\").reverse().join(\"\");ge.push(new E.ReplaceCommand(new o.Selection(Q.lineNumber,Math.max(1,Q.column-1),Q.lineNumber+1,1),re))}else{const te=new n.Range(Q.lineNumber,Math.max(1,Q.column-1),Q.lineNumber,Q.column+1),re=de.getValueInRange(te).split(\"\").reverse().join(\"\");ge.push(new E.ReplaceCommandThatPreservesSelection(te,re,new o.Selection(Q.lineNumber,Q.column+1,Q.lineNumber,Q.column+1)))}}ae.pushUndoStop(),ae.executeCommands(this.id,ge),ae.pushUndoStop()}}e.TransposeAction=z;class U extends I.EditorAction{run(pe,ae){const ee=ae.getSelections();if(ee===null)return;const de=ae.getModel();if(de===null)return;const ge=ae.getOption(132),X=[];for(const B of ee)if(B.isEmpty()){const $=B.getStartPosition(),Q=ae.getConfiguredWordAtPosition($);if(!Q)continue;const Z=new n.Range($.lineNumber,Q.startColumn,$.lineNumber,Q.endColumn),te=de.getValueInRange(Z);X.push(b.EditOperation.replace(Z,this._modifyText(te,ge)))}else{const $=de.getValueInRange(B);X.push(b.EditOperation.replace(B,this._modifyText($,ge)))}ae.pushUndoStop(),ae.executeEdits(this.id,X),ae.pushUndoStop()}}e.AbstractCaseAction=U;class j extends U{constructor(){super({id:\"editor.action.transformToUppercase\",label:c.localize(1129,\"Transform to Uppercase\"),alias:\"Transform to Uppercase\",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){return pe.toLocaleUpperCase()}}e.UpperCaseAction=j;class Y extends U{constructor(){super({id:\"editor.action.transformToLowercase\",label:c.localize(1130,\"Transform to Lowercase\"),alias:\"Transform to Lowercase\",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){return pe.toLocaleLowerCase()}}e.LowerCaseAction=Y;class G{constructor(pe,ae){this._pattern=pe,this._flags=ae,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}class K extends U{static{this.titleBoundary=new G(\"(^|[^\\\\p{L}\\\\p{N}']|((^|\\\\P{L})'))\\\\p{L}\",\"gmu\")}constructor(){super({id:\"editor.action.transformToTitlecase\",label:c.localize(1131,\"Transform to Title Case\"),alias:\"Transform to Title Case\",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=K.titleBoundary.get();return ee?pe.toLocaleLowerCase().replace(ee,de=>de.toLocaleUpperCase()):pe}}e.TitleCaseAction=K;class R extends U{static{this.caseBoundary=new G(\"(\\\\p{Ll})(\\\\p{Lu})\",\"gmu\")}static{this.singleLetters=new G(\"(\\\\p{Lu}|\\\\p{N})(\\\\p{Lu})(\\\\p{Ll})\",\"gmu\")}constructor(){super({id:\"editor.action.transformToSnakecase\",label:c.localize(1132,\"Transform to Snake Case\"),alias:\"Transform to Snake Case\",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=R.caseBoundary.get(),de=R.singleLetters.get();return!ee||!de?pe:pe.replace(ee,\"$1_$2\").replace(de,\"$1_$2$3\").toLocaleLowerCase()}}e.SnakeCaseAction=R;class J extends U{static{this.wordBoundary=new G(\"[_\\\\s-]\",\"gm\")}constructor(){super({id:\"editor.action.transformToCamelcase\",label:c.localize(1133,\"Transform to Camel Case\"),alias:\"Transform to Camel Case\",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=J.wordBoundary.get();if(!ee)return pe;const de=pe.split(ee);return de.shift()+de.map(X=>X.substring(0,1).toLocaleUpperCase()+X.substring(1)).join(\"\")}}e.CamelCaseAction=J;class ie extends U{static{this.wordBoundary=new G(\"[_\\\\s-]\",\"gm\")}static{this.wordBoundaryToMaintain=new G(\"(?<=\\\\.)\",\"gm\")}constructor(){super({id:\"editor.action.transformToPascalcase\",label:c.localize(1134,\"Transform to Pascal Case\"),alias:\"Transform to Pascal Case\",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=ie.wordBoundary.get(),de=ie.wordBoundaryToMaintain.get();return!ee||!de?pe:pe.split(de).map(B=>B.split(ee)).flat().map(B=>B.substring(0,1).toLocaleUpperCase()+B.substring(1)).join(\"\")}}e.PascalCaseAction=ie;class ue extends U{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(ae=>ae.isSupported())}static{this.caseBoundary=new G(\"(\\\\p{Ll})(\\\\p{Lu})\",\"gmu\")}static{this.singleLetters=new G(\"(\\\\p{Lu}|\\\\p{N})(\\\\p{Lu}\\\\p{Ll})\",\"gmu\")}static{this.underscoreBoundary=new G(\"(\\\\S)(_)(\\\\S)\",\"gm\")}constructor(){super({id:\"editor.action.transformToKebabcase\",label:c.localize(1135,\"Transform to Kebab Case\"),alias:\"Transform to Kebab Case\",precondition:t.EditorContextKeys.writable})}_modifyText(pe,ae){const ee=ue.caseBoundary.get(),de=ue.singleLetters.get(),ge=ue.underscoreBoundary.get();return!ee||!de||!ge?pe:pe.replace(ge,\"$1-$3\").replace(ee,\"$1-$2\").replace(de,\"$1-$2\").toLocaleLowerCase()}}e.KebabCaseAction=ue,(0,I.registerEditorAction)(C),(0,I.registerEditorAction)(f),(0,I.registerEditorAction)(h),(0,I.registerEditorAction)(w),(0,I.registerEditorAction)(S),(0,I.registerEditorAction)(D),(0,I.registerEditorAction)(T),(0,I.registerEditorAction)(M),(0,I.registerEditorAction)(A),(0,I.registerEditorAction)(P),(0,I.registerEditorAction)(N),(0,I.registerEditorAction)(O),(0,I.registerEditorAction)(F),(0,I.registerEditorAction)(x),(0,I.registerEditorAction)(V),(0,I.registerEditorAction)(q),(0,I.registerEditorAction)(H),(0,I.registerEditorAction)(z),(0,I.registerEditorAction)(j),(0,I.registerEditorAction)(Y),R.caseBoundary.isSupported()&&R.singleLetters.isSupported()&&(0,I.registerEditorAction)(R),J.wordBoundary.isSupported()&&(0,I.registerEditorAction)(J),ie.wordBoundary.isSupported()&&(0,I.registerEditorAction)(ie),K.titleBoundary.isSupported()&&(0,I.registerEditorAction)(K),ue.isSupported()&&(0,I.registerEditorAction)(ue)}),define(ne[740],se([1,0,2,15]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});class I extends d.Disposable{static{this.ID=\"editor.contrib.longLinesHelper\"}constructor(y){super(),this._editor=y,this._register(this._editor.onMouseDown(m=>{const _=this._editor.getOption(118);_>=0&&m.target.type===6&&m.target.position.column>=_&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}(0,k.registerEditorContribution)(I.ID,I,2)}),define(ne[184],se([1,0,207,46,6,57,2,15,4,120,3,12,59,5,525]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";var i;Object.defineProperty(e,\"__esModule\",{value:!0}),e.MessageController=void 0;let s=class{static{i=this}static{this.ID=\"editor.contrib.messageController\"}static{this.MESSAGE_VISIBLE=new n.RawContextKey(\"messageVisible\",!1,p.localize(1148,\"Whether the editor is currently showing an inline message\"))}static get(a){return a.getContribution(i.ID)}constructor(a,r,u){this._openerService=u,this._messageWidget=new y.MutableDisposable,this._messageListeners=new y.DisposableStore,this._mouseOverMessage=!1,this._editor=a,this._visible=i.MESSAGE_VISIBLE.bindTo(r)}dispose(){this._message?.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(a,r){(0,k.alert)((0,E.isMarkdownString)(a)?a.value:a),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=(0,E.isMarkdownString)(a)?(0,d.renderMarkdown)(a,{actionHandler:{callback:C=>{this.closeMessage(),(0,b.openLinkFromMarkdown)(this._openerService,C,(0,E.isMarkdownString)(a)?a.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new c(this._editor,r,typeof a==\"string\"?a:this._message.element),this._messageListeners.add(I.Event.debounce(this._editor.onDidBlurEditorText,(C,f)=>f,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&t.isAncestor(t.getActiveElement(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(t.addDisposableListener(this._messageWidget.value.getDomNode(),t.EventType.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(t.addDisposableListener(this._messageWidget.value.getDomNode(),t.EventType.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let u;this._messageListeners.add(this._editor.onMouseMove(C=>{C.target.position&&(u?u.containsPosition(C.target.position)||this.closeMessage():u=new _.Range(r.lineNumber-3,1,C.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(c.fadeOut(this._messageWidget.value))}};e.MessageController=s,e.MessageController=s=i=ke([ce(1,n.IContextKeyService),ce(2,o.IOpenerService)],s);const g=m.EditorCommand.bindToContribution(s.get);(0,m.registerEditorCommand)(new g({id:\"leaveEditorMessage\",precondition:s.MESSAGE_VISIBLE,handler:l=>l.closeMessage(),kbOpts:{weight:130,primary:9}}));class c{static fadeOut(a){const r=()=>{a.dispose(),clearTimeout(u),a.getDomNode().removeEventListener(\"animationend\",r)},u=setTimeout(r,110);return a.getDomNode().addEventListener(\"animationend\",r),a.getDomNode().classList.add(\"fadeOut\"),{dispose:r}}constructor(a,{lineNumber:r,column:u},C){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=a,this._editor.revealLinesInCenterIfOutsideViewport(r,r,0),this._position={lineNumber:r,column:u},this._domNode=document.createElement(\"div\"),this._domNode.classList.add(\"monaco-editor-overlaymessage\"),this._domNode.style.marginLeft=\"-6px\";const f=document.createElement(\"div\");f.classList.add(\"anchor\",\"top\"),this._domNode.appendChild(f);const h=document.createElement(\"div\");typeof C==\"string\"?(h.classList.add(\"message\"),h.textContent=C):(C.classList.add(\"message\"),h.appendChild(C)),this._domNode.appendChild(h);const v=document.createElement(\"div\");v.classList.add(\"anchor\",\"below\"),this._domNode.appendChild(v),this._editor.addContentWidget(this),this._domNode.classList.add(\"fadeIn\")}dispose(){this._editor.removeContentWidget(this)}getId(){return\"messageoverlay\"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(a){this._domNode.classList.toggle(\"below\",a===2)}}(0,m.registerEditorContribution)(s.ID,s,4)}),define(ne[741],se([1,0,57,2,15,184,3]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReadOnlyMessageController=void 0;class m extends k.Disposable{static{this.ID=\"editor.contrib.readOnlyMessageController\"}constructor(b){super(),this.editor=b,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const b=E.MessageController.get(this.editor);if(b&&this.editor.hasModel()){let p=this.editor.getOptions().get(93);p||(this.editor.isSimpleWidget?p=new d.MarkdownString(y.localize(1233,\"Cannot edit in read-only input\")):p=new d.MarkdownString(y.localize(1234,\"Cannot edit in read-only editor\"))),b.showMessage(p,this.editor.getPosition())}}}e.ReadOnlyMessageController=m,(0,I.registerEditorContribution)(m.ID,m,2)}),define(ne[742],se([1,0,13,18,8,15,9,4,23,20,340,621,3,29,24,17,78,19,22]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";var a;Object.defineProperty(e,\"__esModule\",{value:!0}),e.SmartSelectController=void 0,e.provideSelectionRanges=v;class r{constructor(S,L){this.index=S,this.ranges=L}mov(S){const L=this.index+(S?1:-1);if(L<0||L>=this.ranges.length)return this;const D=new r(L,this.ranges);return D.ranges[L].equalsRange(this.ranges[this.index])?D.mov(S):D}}let u=class{static{a=this}static{this.ID=\"editor.contrib.smartSelectController\"}static get(S){return S.getContribution(a.ID)}constructor(S,L){this._editor=S,this._languageFeaturesService=L,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(S){if(!this._editor.hasModel())return;const L=this._editor.getSelections(),D=this._editor.getModel();if(this._state||await v(this._languageFeaturesService.selectionRangeProvider,D,L.map(M=>M.getPosition()),this._editor.getOption(114),k.CancellationToken.None).then(M=>{if(!(!d.isNonEmptyArray(M)||M.length!==L.length)&&!(!this._editor.hasModel()||!d.equals(this._editor.getSelections(),L,(A,P)=>A.equalsSelection(P)))){for(let A=0;A<M.length;A++)M[A]=M[A].filter(P=>P.containsPosition(L[A].getStartPosition())&&P.containsPosition(L[A].getEndPosition())),M[A].unshift(L[A]);this._state=M.map(A=>new r(0,A)),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{this._ignoreSelection||(this._selectionListener?.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(M=>M.mov(S));const T=this._state.map(M=>_.Selection.fromPositions(M.ranges[M.index].getStartPosition(),M.ranges[M.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(T)}finally{this._ignoreSelection=!1}}};e.SmartSelectController=u,e.SmartSelectController=u=a=ke([ce(1,s.ILanguageFeaturesService)],u);class C extends E.EditorAction{constructor(S,L){super(L),this._forward=S}async run(S,L){const D=u.get(L);D&&await D.run(this._forward)}}class f extends C{constructor(){super(!0,{id:\"editor.action.smartSelect.expand\",label:o.localize(1253,\"Expand Selection\"),alias:\"Expand Selection\",precondition:void 0,kbOpts:{kbExpr:b.EditorContextKeys.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:\"1_basic\",title:o.localize(1254,\"&&Expand Selection\"),order:2}})}}i.CommandsRegistry.registerCommandAlias(\"editor.action.smartSelect.grow\",\"editor.action.smartSelect.expand\");class h extends C{constructor(){super(!1,{id:\"editor.action.smartSelect.shrink\",label:o.localize(1255,\"Shrink Selection\"),alias:\"Shrink Selection\",precondition:void 0,kbOpts:{kbExpr:b.EditorContextKeys.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:\"1_basic\",title:o.localize(1256,\"&&Shrink Selection\"),order:3}})}}(0,E.registerEditorContribution)(u.ID,u,4),(0,E.registerEditorAction)(f),(0,E.registerEditorAction)(h);async function v(w,S,L,D,T){const M=w.all(S).concat(new n.WordSelectionRangeProvider(D.selectSubwords));M.length===1&&M.unshift(new p.BracketSelectionRangeProvider);const A=[],P=[];for(const N of M)A.push(Promise.resolve(N.provideSelectionRanges(S,L,T)).then(O=>{if(d.isNonEmptyArray(O)&&O.length===L.length)for(let F=0;F<L.length;F++){P[F]||(P[F]=[]);for(const x of O[F])m.Range.isIRange(x.range)&&m.Range.containsPosition(x.range,L[F])&&P[F].push(m.Range.lift(x.range))}},I.onUnexpectedExternalError));return await Promise.all(A),P.map(N=>{if(N.length===0)return[];N.sort((W,V)=>y.Position.isBefore(W.getStartPosition(),V.getStartPosition())?1:y.Position.isBefore(V.getStartPosition(),W.getStartPosition())||y.Position.isBefore(W.getEndPosition(),V.getEndPosition())?-1:y.Position.isBefore(V.getEndPosition(),W.getEndPosition())?1:0);const O=[];let F;for(const W of N)(!F||m.Range.containsRange(W,F)&&!m.Range.equalsRange(W,F))&&(O.push(W),F=W);if(!D.selectLeadingAndTrailingWhitespace)return O;const x=[O[0]];for(let W=1;W<O.length;W++){const V=O[W-1],q=O[W];if(q.startLineNumber!==V.startLineNumber||q.endLineNumber!==V.endLineNumber){const H=new m.Range(V.startLineNumber,S.getLineFirstNonWhitespaceColumn(V.startLineNumber),V.endLineNumber,S.getLineLastNonWhitespaceColumn(V.endLineNumber));H.containsRange(V)&&!H.equalsRange(V)&&q.containsRange(H)&&!q.equalsRange(H)&&x.push(H);const z=new m.Range(V.startLineNumber,1,V.endLineNumber,S.getLineMaxColumn(V.endLineNumber));z.containsRange(V)&&!z.equalsRange(H)&&q.containsRange(z)&&!q.equalsRange(z)&&x.push(z)}x.push(q)}return x})}i.CommandsRegistry.registerCommand(\"_executeSelectionRangeProvider\",async function(w,...S){const[L,D]=S;(0,c.assertType)(l.URI.isUri(L));const T=w.get(s.ILanguageFeaturesService).selectionRangeProvider,M=await w.get(g.ITextModelService).createModelReference(L);try{return v(T,M.object.textEditorModel,D,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},k.CancellationToken.None)}finally{M.dispose()}})}),define(ne[743],se([1,0,54,15,3]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});class E extends k.EditorAction{constructor(){super({id:\"editor.action.forceRetokenize\",label:I.localize(1385,\"Developer: Force Retokenize\"),alias:\"Developer: Force Retokenize\",precondition:void 0})}run(m,_){if(!_.hasModel())return;const b=_.getModel();b.tokenization.resetTokenization();const p=new d.StopWatch;b.tokenization.forceTokenization(b.getLineCount()),p.stop(),console.log(`tokenization took ${p.elapsed()}`)}}(0,k.registerEditorAction)(E)}),define(ne[744],se([1,0,2,48,15,34,3,180]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UnusualLineTerminatorsDetector=void 0;const _=\"ignoreUnusualLineTerminators\";function b(o,t,i){o.setModelProperty(t.uri,_,i)}function p(o,t){return o.getModelProperty(t.uri,_)}let n=class extends d.Disposable{static{this.ID=\"editor.contrib.unusualLineTerminatorsDetector\"}constructor(t,i,s){super(),this._editor=t,this._dialogService=i,this._codeEditorService=s,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(g=>{g.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(g=>{g.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config===\"off\"||!this._editor.hasModel())return;const t=this._editor.getModel();if(!t.mightContainUnusualLineTerminators()||p(this._codeEditorService,t)===!0||this._editor.getOption(92))return;if(this._config===\"auto\"){t.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let s;try{this._isPresentingDialog=!0,s=await this._dialogService.confirm({title:y.localize(1410,\"Unusual Line Terminators\"),message:y.localize(1411,\"Detected unusual line terminators\"),detail:y.localize(1412,\"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\\n\\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.\",(0,k.basename)(t.uri)),primaryButton:y.localize(1413,\"&&Remove Unusual Line Terminators\"),cancelButton:y.localize(1414,\"Ignore\")})}finally{this._isPresentingDialog=!1}if(!s.confirmed){b(this._codeEditorService,t,!0);return}t.removeUnusualLineTerminators(this._editor.getSelections())}};e.UnusualLineTerminatorsDetector=n,e.UnusualLineTerminatorsDetector=n=ke([ce(1,m.IDialogService),ce(2,E.ICodeEditorService)],n),(0,I.registerEditorContribution)(n.ID,n,1)}),define(ne[411],se([1,0,15,146,37,76,199,166,9,4,23,20,36,3,61,12,179]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DeleteInsideWord=e.DeleteWordRight=e.DeleteWordEndRight=e.DeleteWordStartRight=e.DeleteWordLeft=e.DeleteWordEndLeft=e.DeleteWordStartLeft=e.DeleteWordRightCommand=e.DeleteWordLeftCommand=e.DeleteWordCommand=e.CursorWordAccessibilityRightSelect=e.CursorWordAccessibilityRight=e.CursorWordRightSelect=e.CursorWordEndRightSelect=e.CursorWordStartRightSelect=e.CursorWordRight=e.CursorWordEndRight=e.CursorWordStartRight=e.CursorWordAccessibilityLeftSelect=e.CursorWordAccessibilityLeft=e.CursorWordLeftSelect=e.CursorWordEndLeftSelect=e.CursorWordStartLeftSelect=e.CursorWordLeft=e.CursorWordEndLeft=e.CursorWordStartLeft=e.WordRightCommand=e.WordLeftCommand=e.MoveWordCommand=void 0;class c extends d.EditorCommand{constructor(K){super(K),this._inSelectionMode=K.inSelectionMode,this._wordNavigationType=K.wordNavigationType}runEditorCommand(K,R,J){if(!R.hasModel())return;const ie=(0,m.getMapForWordSeparators)(R.getOption(132),R.getOption(131)),ue=R.getModel(),he=R.getSelections(),pe=he.length>1,ae=he.map(ee=>{const de=new _.Position(ee.positionLineNumber,ee.positionColumn),ge=this._move(ie,ue,de,this._wordNavigationType,pe);return this._moveTo(ee,ge,this._inSelectionMode)});if(ue.pushStackElement(),R._getViewModel().setCursorStates(\"moveWordCommand\",3,ae.map(ee=>E.CursorState.fromModelSelection(ee))),ae.length===1){const ee=new _.Position(ae[0].positionLineNumber,ae[0].positionColumn);R.revealPosition(ee,0)}}_moveTo(K,R,J){return J?new p.Selection(K.selectionStartLineNumber,K.selectionStartColumn,R.lineNumber,R.column):new p.Selection(R.lineNumber,R.column,R.lineNumber,R.column)}}e.MoveWordCommand=c;class l extends c{_move(K,R,J,ie,ue){return y.WordOperations.moveWordLeft(K,R,J,ie,ue)}}e.WordLeftCommand=l;class a extends c{_move(K,R,J,ie,ue){return y.WordOperations.moveWordRight(K,R,J,ie)}}e.WordRightCommand=a;class r extends l{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:\"cursorWordStartLeft\",precondition:void 0})}}e.CursorWordStartLeft=r;class u extends l{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:\"cursorWordEndLeft\",precondition:void 0})}}e.CursorWordEndLeft=u;class C extends l{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:\"cursorWordLeft\",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(n.EditorContextKeys.textInputFocus,s.ContextKeyExpr.and(i.CONTEXT_ACCESSIBILITY_MODE_ENABLED,g.IsWindowsContext)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}e.CursorWordLeft=C;class f extends l{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:\"cursorWordStartLeftSelect\",precondition:void 0})}}e.CursorWordStartLeftSelect=f;class h extends l{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:\"cursorWordEndLeftSelect\",precondition:void 0})}}e.CursorWordEndLeftSelect=h;class v extends l{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:\"cursorWordLeftSelect\",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(n.EditorContextKeys.textInputFocus,s.ContextKeyExpr.and(i.CONTEXT_ACCESSIBILITY_MODE_ENABLED,g.IsWindowsContext)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}e.CursorWordLeftSelect=v;class w extends l{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:\"cursorWordAccessibilityLeft\",precondition:void 0})}_move(K,R,J,ie,ue){return super._move((0,m.getMapForWordSeparators)(I.EditorOptions.wordSeparators.defaultValue,K.intlSegmenterLocales),R,J,ie,ue)}}e.CursorWordAccessibilityLeft=w;class S extends l{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:\"cursorWordAccessibilityLeftSelect\",precondition:void 0})}_move(K,R,J,ie,ue){return super._move((0,m.getMapForWordSeparators)(I.EditorOptions.wordSeparators.defaultValue,K.intlSegmenterLocales),R,J,ie,ue)}}e.CursorWordAccessibilityLeftSelect=S;class L extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:\"cursorWordStartRight\",precondition:void 0})}}e.CursorWordStartRight=L;class D extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:\"cursorWordEndRight\",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(n.EditorContextKeys.textInputFocus,s.ContextKeyExpr.and(i.CONTEXT_ACCESSIBILITY_MODE_ENABLED,g.IsWindowsContext)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}e.CursorWordEndRight=D;class T extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:\"cursorWordRight\",precondition:void 0})}}e.CursorWordRight=T;class M extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:\"cursorWordStartRightSelect\",precondition:void 0})}}e.CursorWordStartRightSelect=M;class A extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:\"cursorWordEndRightSelect\",precondition:void 0,kbOpts:{kbExpr:s.ContextKeyExpr.and(n.EditorContextKeys.textInputFocus,s.ContextKeyExpr.and(i.CONTEXT_ACCESSIBILITY_MODE_ENABLED,g.IsWindowsContext)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}e.CursorWordEndRightSelect=A;class P extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:\"cursorWordRightSelect\",precondition:void 0})}}e.CursorWordRightSelect=P;class N extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:\"cursorWordAccessibilityRight\",precondition:void 0})}_move(K,R,J,ie,ue){return super._move((0,m.getMapForWordSeparators)(I.EditorOptions.wordSeparators.defaultValue,K.intlSegmenterLocales),R,J,ie,ue)}}e.CursorWordAccessibilityRight=N;class O extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:\"cursorWordAccessibilityRightSelect\",precondition:void 0})}_move(K,R,J,ie,ue){return super._move((0,m.getMapForWordSeparators)(I.EditorOptions.wordSeparators.defaultValue,K.intlSegmenterLocales),R,J,ie,ue)}}e.CursorWordAccessibilityRightSelect=O;class F extends d.EditorCommand{constructor(K){super(K),this._whitespaceHeuristics=K.whitespaceHeuristics,this._wordNavigationType=K.wordNavigationType}runEditorCommand(K,R,J){const ie=K.get(o.ILanguageConfigurationService);if(!R.hasModel())return;const ue=(0,m.getMapForWordSeparators)(R.getOption(132),R.getOption(131)),he=R.getModel(),pe=R.getSelections(),ae=R.getOption(6),ee=R.getOption(11),de=ie.getLanguageConfiguration(he.getLanguageId()).getAutoClosingPairs(),ge=R._getViewModel(),X=pe.map(B=>{const $=this._delete({wordSeparators:ue,model:he,selection:B,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:R.getOption(9),autoClosingBrackets:ae,autoClosingQuotes:ee,autoClosingPairs:de,autoClosedCharacters:ge.getCursorAutoClosedCharacters()},this._wordNavigationType);return new k.ReplaceCommand($,\"\")});R.pushUndoStop(),R.executeCommands(this.id,X),R.pushUndoStop()}}e.DeleteWordCommand=F;class x extends F{_delete(K,R){const J=y.WordOperations.deleteWordLeft(K,R);return J||new b.Range(1,1,1,1)}}e.DeleteWordLeftCommand=x;class W extends F{_delete(K,R){const J=y.WordOperations.deleteWordRight(K,R);if(J)return J;const ie=K.model.getLineCount(),ue=K.model.getLineMaxColumn(ie);return new b.Range(ie,ue,ie,ue)}}e.DeleteWordRightCommand=W;class V extends x{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:\"deleteWordStartLeft\",precondition:n.EditorContextKeys.writable})}}e.DeleteWordStartLeft=V;class q extends x{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:\"deleteWordEndLeft\",precondition:n.EditorContextKeys.writable})}}e.DeleteWordEndLeft=q;class H extends x{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:\"deleteWordLeft\",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}e.DeleteWordLeft=H;class z extends W{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:\"deleteWordStartRight\",precondition:n.EditorContextKeys.writable})}}e.DeleteWordStartRight=z;class U extends W{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:\"deleteWordEndRight\",precondition:n.EditorContextKeys.writable})}}e.DeleteWordEndRight=U;class j extends W{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:\"deleteWordRight\",precondition:n.EditorContextKeys.writable,kbOpts:{kbExpr:n.EditorContextKeys.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}e.DeleteWordRight=j;class Y extends d.EditorAction{constructor(){super({id:\"deleteInsideWord\",precondition:n.EditorContextKeys.writable,label:t.localize(1427,\"Delete Word\"),alias:\"Delete Word\"})}run(K,R,J){if(!R.hasModel())return;const ie=(0,m.getMapForWordSeparators)(R.getOption(132),R.getOption(131)),ue=R.getModel(),pe=R.getSelections().map(ae=>{const ee=y.WordOperations.deleteInsideWord(ie,ue,ae);return new k.ReplaceCommand(ee,\"\")});R.pushUndoStop(),R.executeCommands(this.id,pe),R.pushUndoStop()}}e.DeleteInsideWord=Y,(0,d.registerEditorCommand)(new r),(0,d.registerEditorCommand)(new u),(0,d.registerEditorCommand)(new C),(0,d.registerEditorCommand)(new f),(0,d.registerEditorCommand)(new h),(0,d.registerEditorCommand)(new v),(0,d.registerEditorCommand)(new L),(0,d.registerEditorCommand)(new D),(0,d.registerEditorCommand)(new T),(0,d.registerEditorCommand)(new M),(0,d.registerEditorCommand)(new A),(0,d.registerEditorCommand)(new P),(0,d.registerEditorCommand)(new w),(0,d.registerEditorCommand)(new S),(0,d.registerEditorCommand)(new N),(0,d.registerEditorCommand)(new O),(0,d.registerEditorCommand)(new V),(0,d.registerEditorCommand)(new q),(0,d.registerEditorCommand)(new H),(0,d.registerEditorCommand)(new z),(0,d.registerEditorCommand)(new U),(0,d.registerEditorCommand)(new j),(0,d.registerEditorAction)(Y)}),define(ne[745],se([1,0,15,199,4,20,411,24]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CursorWordPartRightSelect=e.CursorWordPartRight=e.WordPartRightCommand=e.CursorWordPartLeftSelect=e.CursorWordPartLeft=e.WordPartLeftCommand=e.DeleteWordPartRight=e.DeleteWordPartLeft=void 0;class _ extends y.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:\"deleteWordPartLeft\",precondition:E.EditorContextKeys.writable,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(c,l){const a=k.WordPartOperations.deleteWordPartLeft(c);return a||new I.Range(1,1,1,1)}}e.DeleteWordPartLeft=_;class b extends y.DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:\"deleteWordPartRight\",precondition:E.EditorContextKeys.writable,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(c,l){const a=k.WordPartOperations.deleteWordPartRight(c);if(a)return a;const r=c.model.getLineCount(),u=c.model.getLineMaxColumn(r);return new I.Range(r,u,r,u)}}e.DeleteWordPartRight=b;class p extends y.MoveWordCommand{_move(c,l,a,r,u){return k.WordPartOperations.moveWordPartLeft(c,l,a,u)}}e.WordPartLeftCommand=p;class n extends p{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:\"cursorWordPartLeft\",precondition:void 0,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}e.CursorWordPartLeft=n,m.CommandsRegistry.registerCommandAlias(\"cursorWordPartStartLeft\",\"cursorWordPartLeft\");class o extends p{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:\"cursorWordPartLeftSelect\",precondition:void 0,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}e.CursorWordPartLeftSelect=o,m.CommandsRegistry.registerCommandAlias(\"cursorWordPartStartLeftSelect\",\"cursorWordPartLeftSelect\");class t extends y.MoveWordCommand{_move(c,l,a,r,u){return k.WordPartOperations.moveWordPartRight(c,l,a)}}e.WordPartRightCommand=t;class i extends t{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:\"cursorWordPartRight\",precondition:void 0,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}e.CursorWordPartRight=i;class s extends t{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:\"cursorWordPartRightSelect\",precondition:void 0,kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}e.CursorWordPartRightSelect=s,(0,d.registerEditorCommand)(new _),(0,d.registerEditorCommand)(new b),(0,d.registerEditorCommand)(new n),(0,d.registerEditorCommand)(new o),(0,d.registerEditorCommand)(new i),(0,d.registerEditorCommand)(new s)}),define(ne[746],se([1,0,5,2,15,16,538]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IPadShowKeyboard=void 0;class y extends k.Disposable{static{this.ID=\"editor.contrib.iPadShowKeyboard\"}constructor(b){super(),this.editor=b,this.widget=null,E.isIOS&&(this._register(b.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const b=!this.editor.getOption(92);!this.widget&&b?this.widget=new m(this.editor):this.widget&&!b&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}e.IPadShowKeyboard=y;class m extends k.Disposable{static{this.ID=\"editor.contrib.ShowKeyboardWidget\"}constructor(b){super(),this.editor=b,this._domNode=document.createElement(\"textarea\"),this._domNode.className=\"iPadShowKeyboard\",this._register(d.addDisposableListener(this._domNode,\"touchstart\",p=>{this.editor.focus()})),this._register(d.addDisposableListener(this._domNode,\"focus\",p=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return m.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}(0,I.registerEditorContribution)(y.ID,y,3)}),define(ne[747],se([1,0,5,33,2,15,27,148,177,43,153,107,539]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";var o;Object.defineProperty(e,\"__esModule\",{value:!0});let t=class extends I.Disposable{static{o=this}static{this.ID=\"editor.contrib.inspectTokens\"}static get(a){return a.getContribution(o.ID)}constructor(a,r,u){super(),this._editor=a,this._languageService=u,this._widget=null,this._register(this._editor.onDidChangeModel(C=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(C=>this.stop())),this._register(y.TokenizationRegistry.onDidChange(C=>this.stop())),this._register(this._editor.onKeyUp(C=>C.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new c(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};t=o=ke([ce(1,p.IStandaloneThemeService),ce(2,b.ILanguageService)],t);class i extends E.EditorAction{constructor(){super({id:\"editor.action.inspectTokens\",label:n.InspectTokensNLS.inspectTokensAction,alias:\"Developer: Inspect Tokens\",precondition:void 0})}run(a,r){t.get(r)?.launch()}}function s(l){let a=\"\";for(let r=0,u=l.length;r<u;r++){const C=l.charCodeAt(r);switch(C){case 9:a+=\"\\u2192\";break;case 32:a+=\"\\xB7\";break;default:a+=String.fromCharCode(C)}}return a}function g(l,a){const r=y.TokenizationRegistry.get(a);if(r)return r;const u=l.encodeLanguageId(a);return{getInitialState:()=>_.NullState,tokenize:(C,f,h)=>(0,_.nullTokenize)(a,h),tokenizeEncoded:(C,f,h)=>(0,_.nullTokenizeEncoded)(u,h)}}class c extends I.Disposable{static{this._ID=\"editor.contrib.inspectTokensWidget\"}constructor(a,r){super(),this.allowEditorOverflow=!0,this._editor=a,this._languageService=r,this._model=this._editor.getModel(),this._domNode=document.createElement(\"div\"),this._domNode.className=\"tokens-inspect-widget\",this._tokenizationSupport=g(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(u=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return c._ID}_compute(a){const r=this._getTokensAtLine(a.lineNumber);let u=0;for(let w=r.tokens1.length-1;w>=0;w--){const S=r.tokens1[w];if(a.column-1>=S.offset){u=w;break}}let C=0;for(let w=r.tokens2.length>>>1;w>=0;w--)if(a.column-1>=r.tokens2[w<<1]){C=w;break}const f=this._model.getLineContent(a.lineNumber);let h=\"\";if(u<r.tokens1.length){const w=r.tokens1[u].offset,S=u+1<r.tokens1.length?r.tokens1[u+1].offset:f.length;h=f.substring(w,S)}(0,d.reset)(this._domNode,(0,d.$)(\"h2.tm-token\",void 0,s(h),(0,d.$)(\"span.tm-token-length\",void 0,`${h.length} ${h.length===1?\"char\":\"chars\"}`))),(0,d.append)(this._domNode,(0,d.$)(\"hr.tokens-inspect-separator\",{style:\"clear:both\"}));const v=(C<<1)+1<r.tokens2.length?this._decodeMetadata(r.tokens2[(C<<1)+1]):null;(0,d.append)(this._domNode,(0,d.$)(\"table.tm-metadata-table\",void 0,(0,d.$)(\"tbody\",void 0,(0,d.$)(\"tr\",void 0,(0,d.$)(\"td.tm-metadata-key\",void 0,\"language\"),(0,d.$)(\"td.tm-metadata-value\",void 0,`${v?v.languageId:\"-?-\"}`)),(0,d.$)(\"tr\",void 0,(0,d.$)(\"td.tm-metadata-key\",void 0,\"token type\"),(0,d.$)(\"td.tm-metadata-value\",void 0,`${v?this._tokenTypeToString(v.tokenType):\"-?-\"}`)),(0,d.$)(\"tr\",void 0,(0,d.$)(\"td.tm-metadata-key\",void 0,\"font style\"),(0,d.$)(\"td.tm-metadata-value\",void 0,`${v?this._fontStyleToString(v.fontStyle):\"-?-\"}`)),(0,d.$)(\"tr\",void 0,(0,d.$)(\"td.tm-metadata-key\",void 0,\"foreground\"),(0,d.$)(\"td.tm-metadata-value\",void 0,`${v?k.Color.Format.CSS.formatHex(v.foreground):\"-?-\"}`)),(0,d.$)(\"tr\",void 0,(0,d.$)(\"td.tm-metadata-key\",void 0,\"background\"),(0,d.$)(\"td.tm-metadata-value\",void 0,`${v?k.Color.Format.CSS.formatHex(v.background):\"-?-\"}`))))),(0,d.append)(this._domNode,(0,d.$)(\"hr.tokens-inspect-separator\")),u<r.tokens1.length&&(0,d.append)(this._domNode,(0,d.$)(\"span.tm-token-type\",void 0,r.tokens1[u].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(a){const r=y.TokenizationRegistry.getColorMap(),u=m.TokenMetadata.getLanguageId(a),C=m.TokenMetadata.getTokenType(a),f=m.TokenMetadata.getFontStyle(a),h=m.TokenMetadata.getForeground(a),v=m.TokenMetadata.getBackground(a);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(u),tokenType:C,fontStyle:f,foreground:r[h],background:r[v]}}_tokenTypeToString(a){switch(a){case 0:return\"Other\";case 1:return\"Comment\";case 2:return\"String\";case 3:return\"RegEx\";default:return\"??\"}}_fontStyleToString(a){let r=\"\";return a&1&&(r+=\"italic \"),a&2&&(r+=\"bold \"),a&4&&(r+=\"underline \"),a&8&&(r+=\"strikethrough \"),r.length===0&&(r=\"---\"),r}_getTokensAtLine(a){const r=this._getStateBeforeLine(a),u=this._tokenizationSupport.tokenize(this._model.getLineContent(a),!0,r),C=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(a),!0,r);return{startState:r,tokens1:u.tokens,tokens2:C.tokens,endState:u.endState}}_getStateBeforeLine(a){let r=this._tokenizationSupport.getInitialState();for(let u=1;u<a;u++)r=this._tokenizationSupport.tokenize(this._model.getLineContent(u),!0,r).endState;return r}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}}(0,E.registerEditorContribution)(t.ID,t,4),(0,E.registerEditorAction)(i)}),define(ne[748],se([1,0,346,8,82,127,2,45,456,3,24,28,180,7,31,62,703,101,63]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";var a,r;Object.defineProperty(e,\"__esModule\",{value:!0}),e.CommandsHistory=e.AbstractCommandsQuickAccessProvider=void 0;let u=class extends g.PickerQuickAccessProvider{static{a=this}static{this.PREFIX=\">\"}static{this.TFIDF_THRESHOLD=.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=(0,I.or)(I.matchesPrefix,I.matchesWords,I.matchesContiguousSubString)}constructor(h,v,w,S,L,D){super(a.PREFIX,h),this.instantiationService=v,this.keybindingService=w,this.commandService=S,this.telemetryService=L,this.dialogService=D,this.commandsHistory=this._register(this.instantiationService.createInstance(C)),this.options=h}async _getPicks(h,v,w,S){const L=await this.getCommandPicks(w);if(w.isCancellationRequested)return[];const D=(0,E.createSingleCallFunction)(()=>{const F=new _.TfIdfCalculator;F.updateDocuments(L.map(W=>({key:W.commandId,textChunks:[this.getTfIdfChunk(W)]})));const x=F.calculateScores(h,w);return(0,_.normalizeTfIdfScores)(x).filter(W=>W.score>a.TFIDF_THRESHOLD).slice(0,a.TFIDF_MAX_RESULTS)}),T=[];for(const F of L){const x=a.WORD_FILTER(h,F.label)??void 0,W=F.commandAlias?a.WORD_FILTER(h,F.commandAlias)??void 0:void 0;if(x||W)F.highlights={label:x,detail:this.options.showAlias?W:void 0},T.push(F);else if(h===F.commandId)T.push(F);else if(h.length>=3){const V=D();if(w.isCancellationRequested)return[];const q=V.find(H=>H.key===F.commandId);q&&(F.tfIdfScore=q.score,T.push(F))}}const M=new Map;for(const F of T){const x=M.get(F.label);x?(F.description=F.commandId,x.description=x.commandId):M.set(F.label,F)}T.sort((F,x)=>{if(F.tfIdfScore&&x.tfIdfScore)return F.tfIdfScore===x.tfIdfScore?F.label.localeCompare(x.label):x.tfIdfScore-F.tfIdfScore;if(F.tfIdfScore)return 1;if(x.tfIdfScore)return-1;const W=this.commandsHistory.peek(F.commandId),V=this.commandsHistory.peek(x.commandId);if(W&&V)return W>V?-1:1;if(W)return-1;if(V)return 1;if(this.options.suggestedCommandIds){const q=this.options.suggestedCommandIds.has(F.commandId),H=this.options.suggestedCommandIds.has(x.commandId);if(q&&H)return 0;if(q)return-1;if(H)return 1}return F.label.localeCompare(x.label)});const A=[];let P=!1,N=!0,O=!!this.options.suggestedCommandIds;for(let F=0;F<T.length;F++){const x=T[F];F===0&&this.commandsHistory.peek(x.commandId)&&(A.push({type:\"separator\",label:(0,b.localize)(1572,\"recently used\")}),P=!0),N&&x.tfIdfScore!==void 0&&(A.push({type:\"separator\",label:(0,b.localize)(1573,\"similar commands\")}),N=!1),O&&x.tfIdfScore===void 0&&!this.commandsHistory.peek(x.commandId)&&this.options.suggestedCommandIds?.has(x.commandId)&&(A.push({type:\"separator\",label:(0,b.localize)(1574,\"commonly used\")}),P=!0,O=!1),P&&x.tfIdfScore===void 0&&!this.commandsHistory.peek(x.commandId)&&!this.options.suggestedCommandIds?.has(x.commandId)&&(A.push({type:\"separator\",label:(0,b.localize)(1575,\"other commands\")}),P=!1),A.push(this.toCommandPick(x,S))}return this.hasAdditionalCommandPicks(h,w)?{picks:A,additionalPicks:(async()=>{const F=await this.getAdditionalCommandPicks(L,T,h,w);if(w.isCancellationRequested)return[];const x=F.map(W=>this.toCommandPick(W,S));return N&&x[0]?.type!==\"separator\"&&x.unshift({type:\"separator\",label:(0,b.localize)(1576,\"similar commands\")}),x})()}:A}toCommandPick(h,v){if(h.type===\"separator\")return h;const w=this.keybindingService.lookupKeybinding(h.commandId),S=w?(0,b.localize)(1577,\"{0}, {1}\",h.label,w.getAriaLabel()):h.label;return{...h,ariaLabel:S,detail:this.options.showAlias&&h.commandAlias!==h.label?h.commandAlias:void 0,keybinding:w,accept:async()=>{this.commandsHistory.push(h.commandId),this.telemetryService.publicLog2(\"workbenchActionExecuted\",{id:h.commandId,from:v?.from??\"quick open\"});try{h.args?.length?await this.commandService.executeCommand(h.commandId,...h.args):await this.commandService.executeCommand(h.commandId)}catch(L){(0,k.isCancellationError)(L)||this.dialogService.error((0,b.localize)(1578,\"Command '{0}' resulted in an error\",h.label),(0,d.toErrorMessage)(L))}}}}getTfIdfChunk({label:h,commandAlias:v,commandDescription:w}){let S=h;return v&&v!==h&&(S+=` - ${v}`),w&&w.value!==h&&(S+=` - ${w.value===w.original?w.value:`${w.value} (${w.original})`}`),S}};e.AbstractCommandsQuickAccessProvider=u,e.AbstractCommandsQuickAccessProvider=u=a=ke([ce(1,t.IInstantiationService),ce(2,i.IKeybindingService),ce(3,p.ICommandService),ce(4,l.ITelemetryService),ce(5,o.IDialogService)],u);let C=class extends y.Disposable{static{r=this}static{this.DEFAULT_COMMANDS_HISTORY_LENGTH=50}static{this.PREF_KEY_CACHE=\"commandPalette.mru.cache\"}static{this.PREF_KEY_COUNTER=\"commandPalette.mru.counter\"}static{this.counter=1}static{this.hasChanges=!1}constructor(h,v,w){super(),this.storageService=h,this.configurationService=v,this.logService=w,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(h=>this.updateConfiguration(h))),this._register(this.storageService.onWillSaveState(h=>{h.reason===c.WillSaveStateReason.SHUTDOWN&&this.saveState()}))}updateConfiguration(h){h&&!h.affectsConfiguration(\"workbench.commandPalette.history\")||(this.configuredCommandsHistoryLength=r.getConfiguredCommandHistoryLength(this.configurationService),r.cache&&r.cache.limit!==this.configuredCommandsHistoryLength&&(r.cache.limit=this.configuredCommandsHistoryLength,r.hasChanges=!0))}load(){const h=this.storageService.get(r.PREF_KEY_CACHE,0);let v;if(h)try{v=JSON.parse(h)}catch(S){this.logService.error(`[CommandsHistory] invalid data: ${S}`)}const w=r.cache=new m.LRUCache(this.configuredCommandsHistoryLength,1);if(v){let S;v.usesLRU?S=v.entries:S=v.entries.sort((L,D)=>L.value-D.value),S.forEach(L=>w.set(L.key,L.value))}r.counter=this.storageService.getNumber(r.PREF_KEY_COUNTER,0,r.counter)}push(h){r.cache&&(r.cache.set(h,r.counter++),r.hasChanges=!0)}peek(h){return r.cache?.peek(h)}saveState(){if(!r.cache||!r.hasChanges)return;const h={usesLRU:!0,entries:[]};r.cache.forEach((v,w)=>h.entries.push({key:w,value:v})),this.storageService.store(r.PREF_KEY_CACHE,JSON.stringify(h),0,0),this.storageService.store(r.PREF_KEY_COUNTER,r.counter,0,0),r.hasChanges=!1}static getConfiguredCommandHistoryLength(h){const w=h.getValue().workbench?.commandPalette?.history;return typeof w==\"number\"?w:r.DEFAULT_COMMANDS_HISTORY_LENGTH}};e.CommandsHistory=C,e.CommandsHistory=C=r=ke([ce(0,c.IStorageService),ce(1,n.IConfigurationService),ce(2,s.ILogService)],C)}),define(ne[749],se([1,0,142,381,748]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AbstractEditorCommandsQuickAccessProvider=void 0;class E extends I.AbstractCommandsQuickAccessProvider{constructor(m,_,b,p,n,o){super(m,_,b,p,n,o)}getCodeEditorCommandPicks(){const m=this.activeTextEditorControl;if(!m)return[];const _=[];for(const b of m.getSupportedActions()){let p;b.metadata?.description&&((0,k.isLocalizedString)(b.metadata.description)?p=b.metadata.description:p={original:b.metadata.description,value:b.metadata.description}),_.push({commandId:b.id,commandAlias:b.alias,commandDescription:p,label:(0,d.stripIcons)(b.label)||b.id})}return _}}e.AbstractEditorCommandsQuickAccessProvider=E}),define(ne[750],se([1,0,38,156,107,34,749,7,31,24,63,180,15,20,66]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GotoLineAction=e.StandaloneCommandsQuickAccessProvider=void 0;let s=class extends y.AbstractEditorCommandsQuickAccessProvider{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(l,a,r,u,C,f){super({showAlias:!1},l,r,u,C,f),this.codeEditorService=a}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};e.StandaloneCommandsQuickAccessProvider=s,e.StandaloneCommandsQuickAccessProvider=s=ke([ce(0,m.IInstantiationService),ce(1,E.ICodeEditorService),ce(2,_.IKeybindingService),ce(3,b.ICommandService),ce(4,p.ITelemetryService),ce(5,n.IDialogService)],s);class g extends o.EditorAction{static{this.ID=\"editor.action.quickCommand\"}constructor(){super({id:g.ID,label:I.QuickCommandNLS.quickCommandActionLabel,alias:\"Command Palette\",precondition:void 0,kbOpts:{kbExpr:t.EditorContextKeys.focus,primary:59,weight:100},contextMenuOpts:{group:\"z_commands\",order:1}})}run(l){l.get(i.IQuickInputService).quickAccess.show(s.PREFIX)}}e.GotoLineAction=g,(0,o.registerEditorAction)(g),d.Registry.as(k.Extensions.Quickaccess).registerQuickAccessProvider({ctor:s,prefix:s.PREFIX,helpEntries:[{description:I.QuickCommandNLS.quickCommandHelp,commandId:g.ID}]})}),define(ne[89],se([1,0,90,14,33,6,273,38,3]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.workbenchColorsSchemaId=e.DEFAULT_COLOR_CONFIG_VALUE=e.Extensions=void 0,e.asCssVariableName=b,e.asCssVariable=p,e.asCssVariableWithDefault=n,e.isColorDefaults=o,e.registerColor=s,e.executeTransform=g,e.darken=c,e.lighten=l,e.transparent=a,e.oneOf=r,e.ifDefinedThenElse=u,e.lessProminent=C,e.resolveColorValue=f;function b(w){return`--vscode-${w.replace(/\\./g,\"-\")}`}function p(w){return`var(${b(w)})`}function n(w,S){return`var(${b(w)}, ${S})`}function o(w){return w!==null&&typeof w==\"object\"&&\"light\"in w&&\"dark\"in w}e.Extensions={ColorContribution:\"base.contributions.colors\"},e.DEFAULT_COLOR_CONFIG_VALUE=\"default\";class t{constructor(){this._onDidChangeSchema=new E.Emitter,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:\"object\",properties:{}},this.colorReferenceSchema={type:\"string\",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(S,L,D,T=!1,M){const A={id:S,description:D,defaults:L,needsTransparency:T,deprecationMessage:M};this.colorsById[S]=A;const P={type:\"string\",format:\"color-hex\",defaultSnippets:[{body:\"${1:#ff0000}\"}]};return M&&(P.deprecationMessage=M),T&&(P.pattern=\"^#(?:(?<rgba>[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$\",P.patternErrorMessage=_.localize(1836,\"This color must be transparent or it will obscure content\")),this.colorSchema.properties[S]={description:D,oneOf:[P,{type:\"string\",const:e.DEFAULT_COLOR_CONFIG_VALUE,description:_.localize(1837,\"Use the default color.\")}]},this.colorReferenceSchema.enum.push(S),this.colorReferenceSchema.enumDescriptions.push(D),this._onDidChangeSchema.fire(),S}getColors(){return Object.keys(this.colorsById).map(S=>this.colorsById[S])}resolveDefaultColor(S,L){const D=this.colorsById[S];if(D?.defaults){const T=o(D.defaults)?D.defaults[L.type]:D.defaults;return f(T,L)}}getColorSchema(){return this.colorSchema}toString(){const S=(L,D)=>{const T=L.indexOf(\".\")===-1?0:1,M=D.indexOf(\".\")===-1?0:1;return T!==M?T-M:L.localeCompare(D)};return Object.keys(this.colorsById).sort(S).map(L=>`- \\`${L}\\`: ${this.colorsById[L].description}`).join(`\n`)}}const i=new t;m.Registry.add(e.Extensions.ColorContribution,i);function s(w,S,L,D,T){return i.registerColor(w,S,L,D,T)}function g(w,S){switch(w.op){case 0:return f(w.value,S)?.darken(w.factor);case 1:return f(w.value,S)?.lighten(w.factor);case 2:return f(w.value,S)?.transparent(w.factor);case 3:{const L=f(w.background,S);return L?f(w.value,S)?.makeOpaque(L):f(w.value,S)}case 4:for(const L of w.values){const D=f(L,S);if(D)return D}return;case 6:return f(S.defines(w.if)?w.then:w.else,S);case 5:{const L=f(w.value,S);if(!L)return;const D=f(w.background,S);return D?L.isDarkerThan(D)?I.Color.getLighterColor(L,D,w.factor).transparent(w.transparency):I.Color.getDarkerColor(L,D,w.factor).transparent(w.transparency):L.transparent(w.factor*w.transparency)}default:throw(0,d.assertNever)(w)}}function c(w,S){return{op:0,value:w,factor:S}}function l(w,S){return{op:1,value:w,factor:S}}function a(w,S){return{op:2,value:w,factor:S}}function r(...w){return{op:4,values:w}}function u(w,S,L){return{op:6,if:w,then:S,else:L}}function C(w,S,L,D){return{op:5,value:w,background:S,factor:L,transparency:D}}function f(w,S){if(w!==null){if(typeof w==\"string\")return w[0]===\"#\"?I.Color.fromHex(w):S.getColor(w);if(w instanceof I.Color)return w;if(typeof w==\"object\")return g(w,S)}}e.workbenchColorsSchemaId=\"vscode://schemas/workbench-colors\";const h=m.Registry.as(y.Extensions.JSONContribution);h.registerSchema(e.workbenchColorsSchemaId,i.getColorSchema());const v=new k.RunOnceScheduler(()=>h.notifySchemaChanged(e.workbenchColorsSchemaId),200);i.onDidChangeSchema(()=>{v.isScheduled()||v.schedule()})}),define(ne[123],se([1,0,3,33,89]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.textCodeBlockBackground=e.textBlockQuoteBorder=e.textBlockQuoteBackground=e.textPreformatBackground=e.textPreformatForeground=e.textSeparatorForeground=e.textLinkActiveForeground=e.textLinkForeground=e.selectionBackground=e.activeContrastBorder=e.contrastBorder=e.focusBorder=e.iconForeground=e.descriptionForeground=e.errorForeground=e.disabledForeground=e.foreground=void 0,e.foreground=(0,I.registerColor)(\"foreground\",{dark:\"#CCCCCC\",light:\"#616161\",hcDark:\"#FFFFFF\",hcLight:\"#292929\"},d.localize(1599,\"Overall foreground color. This color is only used if not overridden by a component.\")),e.disabledForeground=(0,I.registerColor)(\"disabledForeground\",{dark:\"#CCCCCC80\",light:\"#61616180\",hcDark:\"#A5A5A5\",hcLight:\"#7F7F7F\"},d.localize(1600,\"Overall foreground for disabled elements. This color is only used if not overridden by a component.\")),e.errorForeground=(0,I.registerColor)(\"errorForeground\",{dark:\"#F48771\",light:\"#A1260D\",hcDark:\"#F48771\",hcLight:\"#B5200D\"},d.localize(1601,\"Overall foreground color for error messages. This color is only used if not overridden by a component.\")),e.descriptionForeground=(0,I.registerColor)(\"descriptionForeground\",{light:\"#717171\",dark:(0,I.transparent)(e.foreground,.7),hcDark:(0,I.transparent)(e.foreground,.7),hcLight:(0,I.transparent)(e.foreground,.7)},d.localize(1602,\"Foreground color for description text providing additional information, for example for a label.\")),e.iconForeground=(0,I.registerColor)(\"icon.foreground\",{dark:\"#C5C5C5\",light:\"#424242\",hcDark:\"#FFFFFF\",hcLight:\"#292929\"},d.localize(1603,\"The default color for icons in the workbench.\")),e.focusBorder=(0,I.registerColor)(\"focusBorder\",{dark:\"#007FD4\",light:\"#0090F1\",hcDark:\"#F38518\",hcLight:\"#006BBD\"},d.localize(1604,\"Overall border color for focused elements. This color is only used if not overridden by a component.\")),e.contrastBorder=(0,I.registerColor)(\"contrastBorder\",{light:null,dark:null,hcDark:\"#6FC3DF\",hcLight:\"#0F4A85\"},d.localize(1605,\"An extra border around elements to separate them from others for greater contrast.\")),e.activeContrastBorder=(0,I.registerColor)(\"contrastActiveBorder\",{light:null,dark:null,hcDark:e.focusBorder,hcLight:e.focusBorder},d.localize(1606,\"An extra border around active elements to separate them from others for greater contrast.\")),e.selectionBackground=(0,I.registerColor)(\"selection.background\",null,d.localize(1607,\"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.\")),e.textLinkForeground=(0,I.registerColor)(\"textLink.foreground\",{light:\"#006AB1\",dark:\"#3794FF\",hcDark:\"#21A6FF\",hcLight:\"#0F4A85\"},d.localize(1608,\"Foreground color for links in text.\")),e.textLinkActiveForeground=(0,I.registerColor)(\"textLink.activeForeground\",{light:\"#006AB1\",dark:\"#3794FF\",hcDark:\"#21A6FF\",hcLight:\"#0F4A85\"},d.localize(1609,\"Foreground color for links in text when clicked on and on mouse hover.\")),e.textSeparatorForeground=(0,I.registerColor)(\"textSeparator.foreground\",{light:\"#0000002e\",dark:\"#ffffff2e\",hcDark:k.Color.black,hcLight:\"#292929\"},d.localize(1610,\"Color for text separators.\")),e.textPreformatForeground=(0,I.registerColor)(\"textPreformat.foreground\",{light:\"#A31515\",dark:\"#D7BA7D\",hcDark:\"#000000\",hcLight:\"#FFFFFF\"},d.localize(1611,\"Foreground color for preformatted text segments.\")),e.textPreformatBackground=(0,I.registerColor)(\"textPreformat.background\",{light:\"#0000001A\",dark:\"#FFFFFF1A\",hcDark:\"#FFFFFF\",hcLight:\"#09345f\"},d.localize(1612,\"Background color for preformatted text segments.\")),e.textBlockQuoteBackground=(0,I.registerColor)(\"textBlockQuote.background\",{light:\"#f2f2f2\",dark:\"#222222\",hcDark:null,hcLight:\"#F2F2F2\"},d.localize(1613,\"Background color for block quotes in text.\")),e.textBlockQuoteBorder=(0,I.registerColor)(\"textBlockQuote.border\",{light:\"#007acc80\",dark:\"#007acc80\",hcDark:k.Color.white,hcLight:\"#292929\"},d.localize(1614,\"Border color for block quotes in text.\")),e.textCodeBlockBackground=(0,I.registerColor)(\"textCodeBlock.background\",{light:\"#dcdcdc66\",dark:\"#0a0a0a66\",hcDark:k.Color.black,hcLight:\"#F2F2F2\"},d.localize(1615,\"Background color for code blocks in text.\"))}),define(ne[278],se([1,0,3,33,89,123]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.progressBarBackground=e.scrollbarSliderActiveBackground=e.scrollbarSliderHoverBackground=e.scrollbarSliderBackground=e.scrollbarShadow=e.badgeForeground=e.badgeBackground=e.sashHoverBorder=void 0,e.sashHoverBorder=(0,I.registerColor)(\"sash.hoverBorder\",E.focusBorder,d.localize(1816,\"Border color of active sashes.\")),e.badgeBackground=(0,I.registerColor)(\"badge.background\",{dark:\"#4D4D4D\",light:\"#C4C4C4\",hcDark:k.Color.black,hcLight:\"#0F4A85\"},d.localize(1817,\"Badge background color. Badges are small information labels, e.g. for search results count.\")),e.badgeForeground=(0,I.registerColor)(\"badge.foreground\",{dark:k.Color.white,light:\"#333\",hcDark:k.Color.white,hcLight:k.Color.white},d.localize(1818,\"Badge foreground color. Badges are small information labels, e.g. for search results count.\")),e.scrollbarShadow=(0,I.registerColor)(\"scrollbar.shadow\",{dark:\"#000000\",light:\"#DDDDDD\",hcDark:null,hcLight:null},d.localize(1819,\"Scrollbar shadow to indicate that the view is scrolled.\")),e.scrollbarSliderBackground=(0,I.registerColor)(\"scrollbarSlider.background\",{dark:k.Color.fromHex(\"#797979\").transparent(.4),light:k.Color.fromHex(\"#646464\").transparent(.4),hcDark:(0,I.transparent)(E.contrastBorder,.6),hcLight:(0,I.transparent)(E.contrastBorder,.4)},d.localize(1820,\"Scrollbar slider background color.\")),e.scrollbarSliderHoverBackground=(0,I.registerColor)(\"scrollbarSlider.hoverBackground\",{dark:k.Color.fromHex(\"#646464\").transparent(.7),light:k.Color.fromHex(\"#646464\").transparent(.7),hcDark:(0,I.transparent)(E.contrastBorder,.8),hcLight:(0,I.transparent)(E.contrastBorder,.8)},d.localize(1821,\"Scrollbar slider background color when hovering.\")),e.scrollbarSliderActiveBackground=(0,I.registerColor)(\"scrollbarSlider.activeBackground\",{dark:k.Color.fromHex(\"#BFBFBF\").transparent(.4),light:k.Color.fromHex(\"#000000\").transparent(.6),hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1822,\"Scrollbar slider background color when clicked on.\")),e.progressBarBackground=(0,I.registerColor)(\"progressBar.background\",{dark:k.Color.fromHex(\"#0E70C0\"),light:k.Color.fromHex(\"#0E70C0\"),hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1823,\"Background color of the progress bar that can show for long running operations.\"))}),define(ne[138],se([1,0,3,33,89,123,278]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.problemsInfoIconForeground=e.problemsWarningIconForeground=e.problemsErrorIconForeground=e.overviewRulerSelectionHighlightForeground=e.overviewRulerFindMatchForeground=e.overviewRulerCommonContentForeground=e.overviewRulerIncomingContentForeground=e.overviewRulerCurrentContentForeground=e.mergeBorder=e.mergeCommonContentBackground=e.mergeCommonHeaderBackground=e.mergeIncomingContentBackground=e.mergeIncomingHeaderBackground=e.mergeCurrentContentBackground=e.mergeCurrentHeaderBackground=e.breadcrumbsPickerBackground=e.breadcrumbsActiveSelectionForeground=e.breadcrumbsFocusForeground=e.breadcrumbsBackground=e.breadcrumbsForeground=e.toolbarActiveBackground=e.toolbarHoverOutline=e.toolbarHoverBackground=e.widgetBorder=e.widgetShadow=e.diffUnchangedTextBackground=e.diffUnchangedRegionForeground=e.diffUnchangedRegionBackground=e.diffDiagonalFill=e.diffBorder=e.diffRemovedOutline=e.diffInsertedOutline=e.diffOverviewRulerRemoved=e.diffOverviewRulerInserted=e.diffRemovedLineGutter=e.diffInsertedLineGutter=e.diffRemovedLine=e.diffInsertedLine=e.diffRemoved=e.diffInserted=e.defaultRemoveColor=e.defaultInsertColor=e.snippetFinalTabstopHighlightBorder=e.snippetFinalTabstopHighlightBackground=e.snippetTabstopHighlightBorder=e.snippetTabstopHighlightBackground=e.editorLightBulbAiForeground=e.editorLightBulbAutoFixForeground=e.editorLightBulbForeground=e.editorInlayHintParameterBackground=e.editorInlayHintParameterForeground=e.editorInlayHintTypeBackground=e.editorInlayHintTypeForeground=e.editorInlayHintBackground=e.editorInlayHintForeground=e.editorHoverStatusBarBackground=e.editorHoverBorder=e.editorHoverForeground=e.editorHoverBackground=e.editorHoverHighlight=e.editorFindRangeHighlightBorder=e.editorFindMatchHighlightBorder=e.editorFindMatchBorder=e.editorFindRangeHighlight=e.editorFindMatchHighlightForeground=e.editorFindMatchHighlight=e.editorFindMatchForeground=e.editorFindMatch=e.editorSelectionHighlightBorder=e.editorSelectionHighlight=e.editorInactiveSelection=e.editorSelectionForeground=e.editorSelectionBackground=e.editorActiveLinkForeground=e.editorHintBorder=e.editorHintForeground=e.editorInfoBorder=e.editorInfoForeground=e.editorInfoBackground=e.editorWarningBorder=e.editorWarningForeground=e.editorWarningBackground=e.editorErrorBorder=e.editorErrorForeground=e.editorErrorBackground=e.editorWidgetResizeBorder=e.editorWidgetBorder=e.editorWidgetForeground=e.editorWidgetBackground=e.editorStickyScrollShadow=e.editorStickyScrollBorder=e.editorStickyScrollHoverBackground=e.editorStickyScrollBackground=e.editorForeground=e.editorBackground=void 0,e.editorBackground=(0,I.registerColor)(\"editor.background\",{light:\"#ffffff\",dark:\"#1E1E1E\",hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1624,\"Editor background color.\")),e.editorForeground=(0,I.registerColor)(\"editor.foreground\",{light:\"#333333\",dark:\"#BBBBBB\",hcDark:k.Color.white,hcLight:E.foreground},d.localize(1625,\"Editor default foreground color.\")),e.editorStickyScrollBackground=(0,I.registerColor)(\"editorStickyScroll.background\",e.editorBackground,d.localize(1626,\"Background color of sticky scroll in the editor\")),e.editorStickyScrollHoverBackground=(0,I.registerColor)(\"editorStickyScrollHover.background\",{dark:\"#2A2D2E\",light:\"#F0F0F0\",hcDark:null,hcLight:k.Color.fromHex(\"#0F4A85\").transparent(.1)},d.localize(1627,\"Background color of sticky scroll on hover in the editor\")),e.editorStickyScrollBorder=(0,I.registerColor)(\"editorStickyScroll.border\",{dark:null,light:null,hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1628,\"Border color of sticky scroll in the editor\")),e.editorStickyScrollShadow=(0,I.registerColor)(\"editorStickyScroll.shadow\",y.scrollbarShadow,d.localize(1629,\" Shadow color of sticky scroll in the editor\")),e.editorWidgetBackground=(0,I.registerColor)(\"editorWidget.background\",{dark:\"#252526\",light:\"#F3F3F3\",hcDark:\"#0C141F\",hcLight:k.Color.white},d.localize(1630,\"Background color of editor widgets, such as find/replace.\")),e.editorWidgetForeground=(0,I.registerColor)(\"editorWidget.foreground\",E.foreground,d.localize(1631,\"Foreground color of editor widgets, such as find/replace.\")),e.editorWidgetBorder=(0,I.registerColor)(\"editorWidget.border\",{dark:\"#454545\",light:\"#C8C8C8\",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1632,\"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.\")),e.editorWidgetResizeBorder=(0,I.registerColor)(\"editorWidget.resizeBorder\",null,d.localize(1633,\"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.\")),e.editorErrorBackground=(0,I.registerColor)(\"editorError.background\",null,d.localize(1634,\"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorErrorForeground=(0,I.registerColor)(\"editorError.foreground\",{dark:\"#F14C4C\",light:\"#E51400\",hcDark:\"#F48771\",hcLight:\"#B5200D\"},d.localize(1635,\"Foreground color of error squigglies in the editor.\")),e.editorErrorBorder=(0,I.registerColor)(\"editorError.border\",{dark:null,light:null,hcDark:k.Color.fromHex(\"#E47777\").transparent(.8),hcLight:\"#B5200D\"},d.localize(1636,\"If set, color of double underlines for errors in the editor.\")),e.editorWarningBackground=(0,I.registerColor)(\"editorWarning.background\",null,d.localize(1637,\"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorWarningForeground=(0,I.registerColor)(\"editorWarning.foreground\",{dark:\"#CCA700\",light:\"#BF8803\",hcDark:\"#FFD370\",hcLight:\"#895503\"},d.localize(1638,\"Foreground color of warning squigglies in the editor.\")),e.editorWarningBorder=(0,I.registerColor)(\"editorWarning.border\",{dark:null,light:null,hcDark:k.Color.fromHex(\"#FFCC00\").transparent(.8),hcLight:k.Color.fromHex(\"#FFCC00\").transparent(.8)},d.localize(1639,\"If set, color of double underlines for warnings in the editor.\")),e.editorInfoBackground=(0,I.registerColor)(\"editorInfo.background\",null,d.localize(1640,\"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorInfoForeground=(0,I.registerColor)(\"editorInfo.foreground\",{dark:\"#3794FF\",light:\"#1a85ff\",hcDark:\"#3794FF\",hcLight:\"#1a85ff\"},d.localize(1641,\"Foreground color of info squigglies in the editor.\")),e.editorInfoBorder=(0,I.registerColor)(\"editorInfo.border\",{dark:null,light:null,hcDark:k.Color.fromHex(\"#3794FF\").transparent(.8),hcLight:\"#292929\"},d.localize(1642,\"If set, color of double underlines for infos in the editor.\")),e.editorHintForeground=(0,I.registerColor)(\"editorHint.foreground\",{dark:k.Color.fromHex(\"#eeeeee\").transparent(.7),light:\"#6c6c6c\",hcDark:null,hcLight:null},d.localize(1643,\"Foreground color of hint squigglies in the editor.\")),e.editorHintBorder=(0,I.registerColor)(\"editorHint.border\",{dark:null,light:null,hcDark:k.Color.fromHex(\"#eeeeee\").transparent(.8),hcLight:\"#292929\"},d.localize(1644,\"If set, color of double underlines for hints in the editor.\")),e.editorActiveLinkForeground=(0,I.registerColor)(\"editorLink.activeForeground\",{dark:\"#4E94CE\",light:k.Color.blue,hcDark:k.Color.cyan,hcLight:\"#292929\"},d.localize(1645,\"Color of active links.\")),e.editorSelectionBackground=(0,I.registerColor)(\"editor.selectionBackground\",{light:\"#ADD6FF\",dark:\"#264F78\",hcDark:\"#f3f518\",hcLight:\"#0F4A85\"},d.localize(1646,\"Color of the editor selection.\")),e.editorSelectionForeground=(0,I.registerColor)(\"editor.selectionForeground\",{light:null,dark:null,hcDark:\"#000000\",hcLight:k.Color.white},d.localize(1647,\"Color of the selected text for high contrast.\")),e.editorInactiveSelection=(0,I.registerColor)(\"editor.inactiveSelectionBackground\",{light:(0,I.transparent)(e.editorSelectionBackground,.5),dark:(0,I.transparent)(e.editorSelectionBackground,.5),hcDark:(0,I.transparent)(e.editorSelectionBackground,.7),hcLight:(0,I.transparent)(e.editorSelectionBackground,.5)},d.localize(1648,\"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorSelectionHighlight=(0,I.registerColor)(\"editor.selectionHighlightBackground\",{light:(0,I.lessProminent)(e.editorSelectionBackground,e.editorBackground,.3,.6),dark:(0,I.lessProminent)(e.editorSelectionBackground,e.editorBackground,.3,.6),hcDark:null,hcLight:null},d.localize(1649,\"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorSelectionHighlightBorder=(0,I.registerColor)(\"editor.selectionHighlightBorder\",{light:null,dark:null,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1650,\"Border color for regions with the same content as the selection.\")),e.editorFindMatch=(0,I.registerColor)(\"editor.findMatchBackground\",{light:\"#A8AC94\",dark:\"#515C6A\",hcDark:null,hcLight:null},d.localize(1651,\"Color of the current search match.\")),e.editorFindMatchForeground=(0,I.registerColor)(\"editor.findMatchForeground\",null,d.localize(1652,\"Text color of the current search match.\")),e.editorFindMatchHighlight=(0,I.registerColor)(\"editor.findMatchHighlightBackground\",{light:\"#EA5C0055\",dark:\"#EA5C0055\",hcDark:null,hcLight:null},d.localize(1653,\"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorFindMatchHighlightForeground=(0,I.registerColor)(\"editor.findMatchHighlightForeground\",null,d.localize(1654,\"Foreground color of the other search matches.\"),!0),e.editorFindRangeHighlight=(0,I.registerColor)(\"editor.findRangeHighlightBackground\",{dark:\"#3a3d4166\",light:\"#b4b4b44d\",hcDark:null,hcLight:null},d.localize(1655,\"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorFindMatchBorder=(0,I.registerColor)(\"editor.findMatchBorder\",{light:null,dark:null,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1656,\"Border color of the current search match.\")),e.editorFindMatchHighlightBorder=(0,I.registerColor)(\"editor.findMatchHighlightBorder\",{light:null,dark:null,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1657,\"Border color of the other search matches.\")),e.editorFindRangeHighlightBorder=(0,I.registerColor)(\"editor.findRangeHighlightBorder\",{dark:null,light:null,hcDark:(0,I.transparent)(E.activeContrastBorder,.4),hcLight:(0,I.transparent)(E.activeContrastBorder,.4)},d.localize(1658,\"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorHoverHighlight=(0,I.registerColor)(\"editor.hoverHighlightBackground\",{light:\"#ADD6FF26\",dark:\"#264f7840\",hcDark:\"#ADD6FF26\",hcLight:null},d.localize(1659,\"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorHoverBackground=(0,I.registerColor)(\"editorHoverWidget.background\",e.editorWidgetBackground,d.localize(1660,\"Background color of the editor hover.\")),e.editorHoverForeground=(0,I.registerColor)(\"editorHoverWidget.foreground\",e.editorWidgetForeground,d.localize(1661,\"Foreground color of the editor hover.\")),e.editorHoverBorder=(0,I.registerColor)(\"editorHoverWidget.border\",e.editorWidgetBorder,d.localize(1662,\"Border color of the editor hover.\")),e.editorHoverStatusBarBackground=(0,I.registerColor)(\"editorHoverWidget.statusBarBackground\",{dark:(0,I.lighten)(e.editorHoverBackground,.2),light:(0,I.darken)(e.editorHoverBackground,.05),hcDark:e.editorWidgetBackground,hcLight:e.editorWidgetBackground},d.localize(1663,\"Background color of the editor hover status bar.\")),e.editorInlayHintForeground=(0,I.registerColor)(\"editorInlayHint.foreground\",{dark:\"#969696\",light:\"#969696\",hcDark:k.Color.white,hcLight:k.Color.black},d.localize(1664,\"Foreground color of inline hints\")),e.editorInlayHintBackground=(0,I.registerColor)(\"editorInlayHint.background\",{dark:(0,I.transparent)(y.badgeBackground,.1),light:(0,I.transparent)(y.badgeBackground,.1),hcDark:(0,I.transparent)(k.Color.white,.1),hcLight:(0,I.transparent)(y.badgeBackground,.1)},d.localize(1665,\"Background color of inline hints\")),e.editorInlayHintTypeForeground=(0,I.registerColor)(\"editorInlayHint.typeForeground\",e.editorInlayHintForeground,d.localize(1666,\"Foreground color of inline hints for types\")),e.editorInlayHintTypeBackground=(0,I.registerColor)(\"editorInlayHint.typeBackground\",e.editorInlayHintBackground,d.localize(1667,\"Background color of inline hints for types\")),e.editorInlayHintParameterForeground=(0,I.registerColor)(\"editorInlayHint.parameterForeground\",e.editorInlayHintForeground,d.localize(1668,\"Foreground color of inline hints for parameters\")),e.editorInlayHintParameterBackground=(0,I.registerColor)(\"editorInlayHint.parameterBackground\",e.editorInlayHintBackground,d.localize(1669,\"Background color of inline hints for parameters\")),e.editorLightBulbForeground=(0,I.registerColor)(\"editorLightBulb.foreground\",{dark:\"#FFCC00\",light:\"#DDB100\",hcDark:\"#FFCC00\",hcLight:\"#007ACC\"},d.localize(1670,\"The color used for the lightbulb actions icon.\")),e.editorLightBulbAutoFixForeground=(0,I.registerColor)(\"editorLightBulbAutoFix.foreground\",{dark:\"#75BEFF\",light:\"#007ACC\",hcDark:\"#75BEFF\",hcLight:\"#007ACC\"},d.localize(1671,\"The color used for the lightbulb auto fix actions icon.\")),e.editorLightBulbAiForeground=(0,I.registerColor)(\"editorLightBulbAi.foreground\",e.editorLightBulbForeground,d.localize(1672,\"The color used for the lightbulb AI icon.\")),e.snippetTabstopHighlightBackground=(0,I.registerColor)(\"editor.snippetTabstopHighlightBackground\",{dark:new k.Color(new k.RGBA(124,124,124,.3)),light:new k.Color(new k.RGBA(10,50,100,.2)),hcDark:new k.Color(new k.RGBA(124,124,124,.3)),hcLight:new k.Color(new k.RGBA(10,50,100,.2))},d.localize(1673,\"Highlight background color of a snippet tabstop.\")),e.snippetTabstopHighlightBorder=(0,I.registerColor)(\"editor.snippetTabstopHighlightBorder\",null,d.localize(1674,\"Highlight border color of a snippet tabstop.\")),e.snippetFinalTabstopHighlightBackground=(0,I.registerColor)(\"editor.snippetFinalTabstopHighlightBackground\",null,d.localize(1675,\"Highlight background color of the final tabstop of a snippet.\")),e.snippetFinalTabstopHighlightBorder=(0,I.registerColor)(\"editor.snippetFinalTabstopHighlightBorder\",{dark:\"#525252\",light:new k.Color(new k.RGBA(10,50,100,.5)),hcDark:\"#525252\",hcLight:\"#292929\"},d.localize(1676,\"Highlight border color of the final tabstop of a snippet.\")),e.defaultInsertColor=new k.Color(new k.RGBA(155,185,85,.2)),e.defaultRemoveColor=new k.Color(new k.RGBA(255,0,0,.2)),e.diffInserted=(0,I.registerColor)(\"diffEditor.insertedTextBackground\",{dark:\"#9ccc2c33\",light:\"#9ccc2c40\",hcDark:null,hcLight:null},d.localize(1677,\"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.diffRemoved=(0,I.registerColor)(\"diffEditor.removedTextBackground\",{dark:\"#ff000033\",light:\"#ff000033\",hcDark:null,hcLight:null},d.localize(1678,\"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.diffInsertedLine=(0,I.registerColor)(\"diffEditor.insertedLineBackground\",{dark:e.defaultInsertColor,light:e.defaultInsertColor,hcDark:null,hcLight:null},d.localize(1679,\"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.diffRemovedLine=(0,I.registerColor)(\"diffEditor.removedLineBackground\",{dark:e.defaultRemoveColor,light:e.defaultRemoveColor,hcDark:null,hcLight:null},d.localize(1680,\"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.diffInsertedLineGutter=(0,I.registerColor)(\"diffEditorGutter.insertedLineBackground\",null,d.localize(1681,\"Background color for the margin where lines got inserted.\")),e.diffRemovedLineGutter=(0,I.registerColor)(\"diffEditorGutter.removedLineBackground\",null,d.localize(1682,\"Background color for the margin where lines got removed.\")),e.diffOverviewRulerInserted=(0,I.registerColor)(\"diffEditorOverview.insertedForeground\",null,d.localize(1683,\"Diff overview ruler foreground for inserted content.\")),e.diffOverviewRulerRemoved=(0,I.registerColor)(\"diffEditorOverview.removedForeground\",null,d.localize(1684,\"Diff overview ruler foreground for removed content.\")),e.diffInsertedOutline=(0,I.registerColor)(\"diffEditor.insertedTextBorder\",{dark:null,light:null,hcDark:\"#33ff2eff\",hcLight:\"#374E06\"},d.localize(1685,\"Outline color for the text that got inserted.\")),e.diffRemovedOutline=(0,I.registerColor)(\"diffEditor.removedTextBorder\",{dark:null,light:null,hcDark:\"#FF008F\",hcLight:\"#AD0707\"},d.localize(1686,\"Outline color for text that got removed.\")),e.diffBorder=(0,I.registerColor)(\"diffEditor.border\",{dark:null,light:null,hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1687,\"Border color between the two text editors.\")),e.diffDiagonalFill=(0,I.registerColor)(\"diffEditor.diagonalFill\",{dark:\"#cccccc33\",light:\"#22222233\",hcDark:null,hcLight:null},d.localize(1688,\"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.\")),e.diffUnchangedRegionBackground=(0,I.registerColor)(\"diffEditor.unchangedRegionBackground\",\"sideBar.background\",d.localize(1689,\"The background color of unchanged blocks in the diff editor.\")),e.diffUnchangedRegionForeground=(0,I.registerColor)(\"diffEditor.unchangedRegionForeground\",\"foreground\",d.localize(1690,\"The foreground color of unchanged blocks in the diff editor.\")),e.diffUnchangedTextBackground=(0,I.registerColor)(\"diffEditor.unchangedCodeBackground\",{dark:\"#74747429\",light:\"#b8b8b829\",hcDark:null,hcLight:null},d.localize(1691,\"The background color of unchanged code in the diff editor.\")),e.widgetShadow=(0,I.registerColor)(\"widget.shadow\",{dark:(0,I.transparent)(k.Color.black,.36),light:(0,I.transparent)(k.Color.black,.16),hcDark:null,hcLight:null},d.localize(1692,\"Shadow color of widgets such as find/replace inside the editor.\")),e.widgetBorder=(0,I.registerColor)(\"widget.border\",{dark:null,light:null,hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1693,\"Border color of widgets such as find/replace inside the editor.\")),e.toolbarHoverBackground=(0,I.registerColor)(\"toolbar.hoverBackground\",{dark:\"#5a5d5e50\",light:\"#b8b8b850\",hcDark:null,hcLight:null},d.localize(1694,\"Toolbar background when hovering over actions using the mouse\")),e.toolbarHoverOutline=(0,I.registerColor)(\"toolbar.hoverOutline\",{dark:null,light:null,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1695,\"Toolbar outline when hovering over actions using the mouse\")),e.toolbarActiveBackground=(0,I.registerColor)(\"toolbar.activeBackground\",{dark:(0,I.lighten)(e.toolbarHoverBackground,.1),light:(0,I.darken)(e.toolbarHoverBackground,.1),hcDark:null,hcLight:null},d.localize(1696,\"Toolbar background when holding the mouse over actions\")),e.breadcrumbsForeground=(0,I.registerColor)(\"breadcrumb.foreground\",(0,I.transparent)(E.foreground,.8),d.localize(1697,\"Color of focused breadcrumb items.\")),e.breadcrumbsBackground=(0,I.registerColor)(\"breadcrumb.background\",e.editorBackground,d.localize(1698,\"Background color of breadcrumb items.\")),e.breadcrumbsFocusForeground=(0,I.registerColor)(\"breadcrumb.focusForeground\",{light:(0,I.darken)(E.foreground,.2),dark:(0,I.lighten)(E.foreground,.1),hcDark:(0,I.lighten)(E.foreground,.1),hcLight:(0,I.lighten)(E.foreground,.1)},d.localize(1699,\"Color of focused breadcrumb items.\")),e.breadcrumbsActiveSelectionForeground=(0,I.registerColor)(\"breadcrumb.activeSelectionForeground\",{light:(0,I.darken)(E.foreground,.2),dark:(0,I.lighten)(E.foreground,.1),hcDark:(0,I.lighten)(E.foreground,.1),hcLight:(0,I.lighten)(E.foreground,.1)},d.localize(1700,\"Color of selected breadcrumb items.\")),e.breadcrumbsPickerBackground=(0,I.registerColor)(\"breadcrumbPicker.background\",e.editorWidgetBackground,d.localize(1701,\"Background color of breadcrumb item picker.\"));const m=.5,_=k.Color.fromHex(\"#40C8AE\").transparent(m),b=k.Color.fromHex(\"#40A6FF\").transparent(m),p=k.Color.fromHex(\"#606060\").transparent(.4),n=.4,o=1;e.mergeCurrentHeaderBackground=(0,I.registerColor)(\"merge.currentHeaderBackground\",{dark:_,light:_,hcDark:null,hcLight:null},d.localize(1702,\"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.mergeCurrentContentBackground=(0,I.registerColor)(\"merge.currentContentBackground\",(0,I.transparent)(e.mergeCurrentHeaderBackground,n),d.localize(1703,\"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.mergeIncomingHeaderBackground=(0,I.registerColor)(\"merge.incomingHeaderBackground\",{dark:b,light:b,hcDark:null,hcLight:null},d.localize(1704,\"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.mergeIncomingContentBackground=(0,I.registerColor)(\"merge.incomingContentBackground\",(0,I.transparent)(e.mergeIncomingHeaderBackground,n),d.localize(1705,\"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.mergeCommonHeaderBackground=(0,I.registerColor)(\"merge.commonHeaderBackground\",{dark:p,light:p,hcDark:null,hcLight:null},d.localize(1706,\"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.mergeCommonContentBackground=(0,I.registerColor)(\"merge.commonContentBackground\",(0,I.transparent)(e.mergeCommonHeaderBackground,n),d.localize(1707,\"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.mergeBorder=(0,I.registerColor)(\"merge.border\",{dark:null,light:null,hcDark:\"#C3DF6F\",hcLight:\"#007ACC\"},d.localize(1708,\"Border color on headers and the splitter in inline merge-conflicts.\")),e.overviewRulerCurrentContentForeground=(0,I.registerColor)(\"editorOverviewRuler.currentContentForeground\",{dark:(0,I.transparent)(e.mergeCurrentHeaderBackground,o),light:(0,I.transparent)(e.mergeCurrentHeaderBackground,o),hcDark:e.mergeBorder,hcLight:e.mergeBorder},d.localize(1709,\"Current overview ruler foreground for inline merge-conflicts.\")),e.overviewRulerIncomingContentForeground=(0,I.registerColor)(\"editorOverviewRuler.incomingContentForeground\",{dark:(0,I.transparent)(e.mergeIncomingHeaderBackground,o),light:(0,I.transparent)(e.mergeIncomingHeaderBackground,o),hcDark:e.mergeBorder,hcLight:e.mergeBorder},d.localize(1710,\"Incoming overview ruler foreground for inline merge-conflicts.\")),e.overviewRulerCommonContentForeground=(0,I.registerColor)(\"editorOverviewRuler.commonContentForeground\",{dark:(0,I.transparent)(e.mergeCommonHeaderBackground,o),light:(0,I.transparent)(e.mergeCommonHeaderBackground,o),hcDark:e.mergeBorder,hcLight:e.mergeBorder},d.localize(1711,\"Common ancestor overview ruler foreground for inline merge-conflicts.\")),e.overviewRulerFindMatchForeground=(0,I.registerColor)(\"editorOverviewRuler.findMatchForeground\",{dark:\"#d186167e\",light:\"#d186167e\",hcDark:\"#AB5A00\",hcLight:\"#AB5A00\"},d.localize(1712,\"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.overviewRulerSelectionHighlightForeground=(0,I.registerColor)(\"editorOverviewRuler.selectionHighlightForeground\",\"#A0A0A0CC\",d.localize(1713,\"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.problemsErrorIconForeground=(0,I.registerColor)(\"problemsErrorIcon.foreground\",e.editorErrorForeground,d.localize(1714,\"The color used for the problems error icon.\")),e.problemsWarningIconForeground=(0,I.registerColor)(\"problemsWarningIcon.foreground\",e.editorWarningForeground,d.localize(1715,\"The color used for the problems warning icon.\")),e.problemsInfoIconForeground=(0,I.registerColor)(\"problemsInfoIcon.foreground\",e.editorInfoForeground,d.localize(1716,\"The color used for the problems info icon.\"))}),define(ne[412],se([1,0,3,33,89,123,138]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.keybindingLabelBottomBorder=e.keybindingLabelBorder=e.keybindingLabelForeground=e.keybindingLabelBackground=e.checkboxSelectBorder=e.checkboxBorder=e.checkboxForeground=e.checkboxSelectBackground=e.checkboxBackground=e.radioInactiveHoverBackground=e.radioInactiveBorder=e.radioInactiveBackground=e.radioInactiveForeground=e.radioActiveBorder=e.radioActiveBackground=e.radioActiveForeground=e.buttonSecondaryHoverBackground=e.buttonSecondaryBackground=e.buttonSecondaryForeground=e.buttonBorder=e.buttonHoverBackground=e.buttonBackground=e.buttonSeparator=e.buttonForeground=e.selectBorder=e.selectForeground=e.selectListBackground=e.selectBackground=e.inputValidationErrorBorder=e.inputValidationErrorForeground=e.inputValidationErrorBackground=e.inputValidationWarningBorder=e.inputValidationWarningForeground=e.inputValidationWarningBackground=e.inputValidationInfoBorder=e.inputValidationInfoForeground=e.inputValidationInfoBackground=e.inputPlaceholderForeground=e.inputActiveOptionForeground=e.inputActiveOptionBackground=e.inputActiveOptionHoverBackground=e.inputActiveOptionBorder=e.inputBorder=e.inputForeground=e.inputBackground=void 0,e.inputBackground=(0,I.registerColor)(\"input.background\",{dark:\"#3C3C3C\",light:k.Color.white,hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1717,\"Input box background.\")),e.inputForeground=(0,I.registerColor)(\"input.foreground\",E.foreground,d.localize(1718,\"Input box foreground.\")),e.inputBorder=(0,I.registerColor)(\"input.border\",{dark:null,light:null,hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1719,\"Input box border.\")),e.inputActiveOptionBorder=(0,I.registerColor)(\"inputOption.activeBorder\",{dark:\"#007ACC\",light:\"#007ACC\",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1720,\"Border color of activated options in input fields.\")),e.inputActiveOptionHoverBackground=(0,I.registerColor)(\"inputOption.hoverBackground\",{dark:\"#5a5d5e80\",light:\"#b8b8b850\",hcDark:null,hcLight:null},d.localize(1721,\"Background color of activated options in input fields.\")),e.inputActiveOptionBackground=(0,I.registerColor)(\"inputOption.activeBackground\",{dark:(0,I.transparent)(E.focusBorder,.4),light:(0,I.transparent)(E.focusBorder,.2),hcDark:k.Color.transparent,hcLight:k.Color.transparent},d.localize(1722,\"Background hover color of options in input fields.\")),e.inputActiveOptionForeground=(0,I.registerColor)(\"inputOption.activeForeground\",{dark:k.Color.white,light:k.Color.black,hcDark:E.foreground,hcLight:E.foreground},d.localize(1723,\"Foreground color of activated options in input fields.\")),e.inputPlaceholderForeground=(0,I.registerColor)(\"input.placeholderForeground\",{light:(0,I.transparent)(E.foreground,.5),dark:(0,I.transparent)(E.foreground,.5),hcDark:(0,I.transparent)(E.foreground,.7),hcLight:(0,I.transparent)(E.foreground,.7)},d.localize(1724,\"Input box foreground color for placeholder text.\")),e.inputValidationInfoBackground=(0,I.registerColor)(\"inputValidation.infoBackground\",{dark:\"#063B49\",light:\"#D6ECF2\",hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1725,\"Input validation background color for information severity.\")),e.inputValidationInfoForeground=(0,I.registerColor)(\"inputValidation.infoForeground\",{dark:null,light:null,hcDark:null,hcLight:E.foreground},d.localize(1726,\"Input validation foreground color for information severity.\")),e.inputValidationInfoBorder=(0,I.registerColor)(\"inputValidation.infoBorder\",{dark:\"#007acc\",light:\"#007acc\",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1727,\"Input validation border color for information severity.\")),e.inputValidationWarningBackground=(0,I.registerColor)(\"inputValidation.warningBackground\",{dark:\"#352A05\",light:\"#F6F5D2\",hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1728,\"Input validation background color for warning severity.\")),e.inputValidationWarningForeground=(0,I.registerColor)(\"inputValidation.warningForeground\",{dark:null,light:null,hcDark:null,hcLight:E.foreground},d.localize(1729,\"Input validation foreground color for warning severity.\")),e.inputValidationWarningBorder=(0,I.registerColor)(\"inputValidation.warningBorder\",{dark:\"#B89500\",light:\"#B89500\",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1730,\"Input validation border color for warning severity.\")),e.inputValidationErrorBackground=(0,I.registerColor)(\"inputValidation.errorBackground\",{dark:\"#5A1D1D\",light:\"#F2DEDE\",hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1731,\"Input validation background color for error severity.\")),e.inputValidationErrorForeground=(0,I.registerColor)(\"inputValidation.errorForeground\",{dark:null,light:null,hcDark:null,hcLight:E.foreground},d.localize(1732,\"Input validation foreground color for error severity.\")),e.inputValidationErrorBorder=(0,I.registerColor)(\"inputValidation.errorBorder\",{dark:\"#BE1100\",light:\"#BE1100\",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1733,\"Input validation border color for error severity.\")),e.selectBackground=(0,I.registerColor)(\"dropdown.background\",{dark:\"#3C3C3C\",light:k.Color.white,hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1734,\"Dropdown background.\")),e.selectListBackground=(0,I.registerColor)(\"dropdown.listBackground\",{dark:null,light:null,hcDark:k.Color.black,hcLight:k.Color.white},d.localize(1735,\"Dropdown list background.\")),e.selectForeground=(0,I.registerColor)(\"dropdown.foreground\",{dark:\"#F0F0F0\",light:E.foreground,hcDark:k.Color.white,hcLight:E.foreground},d.localize(1736,\"Dropdown foreground.\")),e.selectBorder=(0,I.registerColor)(\"dropdown.border\",{dark:e.selectBackground,light:\"#CECECE\",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1737,\"Dropdown border.\")),e.buttonForeground=(0,I.registerColor)(\"button.foreground\",k.Color.white,d.localize(1738,\"Button foreground color.\")),e.buttonSeparator=(0,I.registerColor)(\"button.separator\",(0,I.transparent)(e.buttonForeground,.4),d.localize(1739,\"Button separator color.\")),e.buttonBackground=(0,I.registerColor)(\"button.background\",{dark:\"#0E639C\",light:\"#007ACC\",hcDark:null,hcLight:\"#0F4A85\"},d.localize(1740,\"Button background color.\")),e.buttonHoverBackground=(0,I.registerColor)(\"button.hoverBackground\",{dark:(0,I.lighten)(e.buttonBackground,.2),light:(0,I.darken)(e.buttonBackground,.2),hcDark:e.buttonBackground,hcLight:e.buttonBackground},d.localize(1741,\"Button background color when hovering.\")),e.buttonBorder=(0,I.registerColor)(\"button.border\",E.contrastBorder,d.localize(1742,\"Button border color.\")),e.buttonSecondaryForeground=(0,I.registerColor)(\"button.secondaryForeground\",{dark:k.Color.white,light:k.Color.white,hcDark:k.Color.white,hcLight:E.foreground},d.localize(1743,\"Secondary button foreground color.\")),e.buttonSecondaryBackground=(0,I.registerColor)(\"button.secondaryBackground\",{dark:\"#3A3D41\",light:\"#5F6A79\",hcDark:null,hcLight:k.Color.white},d.localize(1744,\"Secondary button background color.\")),e.buttonSecondaryHoverBackground=(0,I.registerColor)(\"button.secondaryHoverBackground\",{dark:(0,I.lighten)(e.buttonSecondaryBackground,.2),light:(0,I.darken)(e.buttonSecondaryBackground,.2),hcDark:null,hcLight:null},d.localize(1745,\"Secondary button background color when hovering.\")),e.radioActiveForeground=(0,I.registerColor)(\"radio.activeForeground\",e.inputActiveOptionForeground,d.localize(1746,\"Foreground color of active radio option.\")),e.radioActiveBackground=(0,I.registerColor)(\"radio.activeBackground\",e.inputActiveOptionBackground,d.localize(1747,\"Background color of active radio option.\")),e.radioActiveBorder=(0,I.registerColor)(\"radio.activeBorder\",e.inputActiveOptionBorder,d.localize(1748,\"Border color of the active radio option.\")),e.radioInactiveForeground=(0,I.registerColor)(\"radio.inactiveForeground\",null,d.localize(1749,\"Foreground color of inactive radio option.\")),e.radioInactiveBackground=(0,I.registerColor)(\"radio.inactiveBackground\",null,d.localize(1750,\"Background color of inactive radio option.\")),e.radioInactiveBorder=(0,I.registerColor)(\"radio.inactiveBorder\",{light:(0,I.transparent)(e.radioActiveForeground,.2),dark:(0,I.transparent)(e.radioActiveForeground,.2),hcDark:(0,I.transparent)(e.radioActiveForeground,.4),hcLight:(0,I.transparent)(e.radioActiveForeground,.2)},d.localize(1751,\"Border color of the inactive radio option.\")),e.radioInactiveHoverBackground=(0,I.registerColor)(\"radio.inactiveHoverBackground\",e.inputActiveOptionHoverBackground,d.localize(1752,\"Background color of inactive active radio option when hovering.\")),e.checkboxBackground=(0,I.registerColor)(\"checkbox.background\",e.selectBackground,d.localize(1753,\"Background color of checkbox widget.\")),e.checkboxSelectBackground=(0,I.registerColor)(\"checkbox.selectBackground\",y.editorWidgetBackground,d.localize(1754,\"Background color of checkbox widget when the element it's in is selected.\")),e.checkboxForeground=(0,I.registerColor)(\"checkbox.foreground\",e.selectForeground,d.localize(1755,\"Foreground color of checkbox widget.\")),e.checkboxBorder=(0,I.registerColor)(\"checkbox.border\",e.selectBorder,d.localize(1756,\"Border color of checkbox widget.\")),e.checkboxSelectBorder=(0,I.registerColor)(\"checkbox.selectBorder\",E.iconForeground,d.localize(1757,\"Border color of checkbox widget when the element it's in is selected.\")),e.keybindingLabelBackground=(0,I.registerColor)(\"keybindingLabel.background\",{dark:new k.Color(new k.RGBA(128,128,128,.17)),light:new k.Color(new k.RGBA(221,221,221,.4)),hcDark:k.Color.transparent,hcLight:k.Color.transparent},d.localize(1758,\"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.\")),e.keybindingLabelForeground=(0,I.registerColor)(\"keybindingLabel.foreground\",{dark:k.Color.fromHex(\"#CCCCCC\"),light:k.Color.fromHex(\"#555555\"),hcDark:k.Color.white,hcLight:E.foreground},d.localize(1759,\"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.\")),e.keybindingLabelBorder=(0,I.registerColor)(\"keybindingLabel.border\",{dark:new k.Color(new k.RGBA(51,51,51,.6)),light:new k.Color(new k.RGBA(204,204,204,.4)),hcDark:new k.Color(new k.RGBA(111,195,223)),hcLight:E.contrastBorder},d.localize(1760,\"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.\")),e.keybindingLabelBottomBorder=(0,I.registerColor)(\"keybindingLabel.bottomBorder\",{dark:new k.Color(new k.RGBA(68,68,68,.6)),light:new k.Color(new k.RGBA(187,187,187,.4)),hcDark:new k.Color(new k.RGBA(111,195,223)),hcLight:E.foreground},d.localize(1761,\"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.\"))}),define(ne[279],se([1,0,3,33,89,123,138]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.editorActionListFocusBackground=e.editorActionListFocusForeground=e.editorActionListForeground=e.editorActionListBackground=e.tableOddRowsBackgroundColor=e.tableColumnsBorder=e.treeInactiveIndentGuidesStroke=e.treeIndentGuidesStroke=e.listDeemphasizedForeground=e.listFilterMatchHighlightBorder=e.listFilterMatchHighlight=e.listFilterWidgetShadow=e.listFilterWidgetNoMatchesOutline=e.listFilterWidgetOutline=e.listFilterWidgetBackground=e.listWarningForeground=e.listErrorForeground=e.listInvalidItemForeground=e.listFocusHighlightForeground=e.listHighlightForeground=e.listDropBetweenBackground=e.listDropOverBackground=e.listHoverForeground=e.listHoverBackground=e.listInactiveFocusOutline=e.listInactiveFocusBackground=e.listInactiveSelectionIconForeground=e.listInactiveSelectionForeground=e.listInactiveSelectionBackground=e.listActiveSelectionIconForeground=e.listActiveSelectionForeground=e.listActiveSelectionBackground=e.listFocusAndSelectionOutline=e.listFocusOutline=e.listFocusForeground=e.listFocusBackground=void 0,e.listFocusBackground=(0,I.registerColor)(\"list.focusBackground\",null,d.localize(1762,\"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),e.listFocusForeground=(0,I.registerColor)(\"list.focusForeground\",null,d.localize(1763,\"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),e.listFocusOutline=(0,I.registerColor)(\"list.focusOutline\",{dark:E.focusBorder,light:E.focusBorder,hcDark:E.activeContrastBorder,hcLight:E.activeContrastBorder},d.localize(1764,\"List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),e.listFocusAndSelectionOutline=(0,I.registerColor)(\"list.focusAndSelectionOutline\",null,d.localize(1765,\"List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.\")),e.listActiveSelectionBackground=(0,I.registerColor)(\"list.activeSelectionBackground\",{dark:\"#04395E\",light:\"#0060C0\",hcDark:null,hcLight:k.Color.fromHex(\"#0F4A85\").transparent(.1)},d.localize(1766,\"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),e.listActiveSelectionForeground=(0,I.registerColor)(\"list.activeSelectionForeground\",{dark:k.Color.white,light:k.Color.white,hcDark:null,hcLight:null},d.localize(1767,\"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),e.listActiveSelectionIconForeground=(0,I.registerColor)(\"list.activeSelectionIconForeground\",null,d.localize(1768,\"List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),e.listInactiveSelectionBackground=(0,I.registerColor)(\"list.inactiveSelectionBackground\",{dark:\"#37373D\",light:\"#E4E6F1\",hcDark:null,hcLight:k.Color.fromHex(\"#0F4A85\").transparent(.1)},d.localize(1769,\"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),e.listInactiveSelectionForeground=(0,I.registerColor)(\"list.inactiveSelectionForeground\",null,d.localize(1770,\"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),e.listInactiveSelectionIconForeground=(0,I.registerColor)(\"list.inactiveSelectionIconForeground\",null,d.localize(1771,\"List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),e.listInactiveFocusBackground=(0,I.registerColor)(\"list.inactiveFocusBackground\",null,d.localize(1772,\"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),e.listInactiveFocusOutline=(0,I.registerColor)(\"list.inactiveFocusOutline\",null,d.localize(1773,\"List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),e.listHoverBackground=(0,I.registerColor)(\"list.hoverBackground\",{dark:\"#2A2D2E\",light:\"#F0F0F0\",hcDark:k.Color.white.transparent(.1),hcLight:k.Color.fromHex(\"#0F4A85\").transparent(.1)},d.localize(1774,\"List/Tree background when hovering over items using the mouse.\")),e.listHoverForeground=(0,I.registerColor)(\"list.hoverForeground\",null,d.localize(1775,\"List/Tree foreground when hovering over items using the mouse.\")),e.listDropOverBackground=(0,I.registerColor)(\"list.dropBackground\",{dark:\"#062F4A\",light:\"#D6EBFF\",hcDark:null,hcLight:null},d.localize(1776,\"List/Tree drag and drop background when moving items over other items when using the mouse.\")),e.listDropBetweenBackground=(0,I.registerColor)(\"list.dropBetweenBackground\",{dark:E.iconForeground,light:E.iconForeground,hcDark:null,hcLight:null},d.localize(1777,\"List/Tree drag and drop border color when moving items between items when using the mouse.\")),e.listHighlightForeground=(0,I.registerColor)(\"list.highlightForeground\",{dark:\"#2AAAFF\",light:\"#0066BF\",hcDark:E.focusBorder,hcLight:E.focusBorder},d.localize(1778,\"List/Tree foreground color of the match highlights when searching inside the list/tree.\")),e.listFocusHighlightForeground=(0,I.registerColor)(\"list.focusHighlightForeground\",{dark:e.listHighlightForeground,light:(0,I.ifDefinedThenElse)(e.listActiveSelectionBackground,e.listHighlightForeground,\"#BBE7FF\"),hcDark:e.listHighlightForeground,hcLight:e.listHighlightForeground},d.localize(1779,\"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.\")),e.listInvalidItemForeground=(0,I.registerColor)(\"list.invalidItemForeground\",{dark:\"#B89500\",light:\"#B89500\",hcDark:\"#B89500\",hcLight:\"#B5200D\"},d.localize(1780,\"List/Tree foreground color for invalid items, for example an unresolved root in explorer.\")),e.listErrorForeground=(0,I.registerColor)(\"list.errorForeground\",{dark:\"#F88070\",light:\"#B01011\",hcDark:null,hcLight:null},d.localize(1781,\"Foreground color of list items containing errors.\")),e.listWarningForeground=(0,I.registerColor)(\"list.warningForeground\",{dark:\"#CCA700\",light:\"#855F00\",hcDark:null,hcLight:null},d.localize(1782,\"Foreground color of list items containing warnings.\")),e.listFilterWidgetBackground=(0,I.registerColor)(\"listFilterWidget.background\",{light:(0,I.darken)(y.editorWidgetBackground,0),dark:(0,I.lighten)(y.editorWidgetBackground,0),hcDark:y.editorWidgetBackground,hcLight:y.editorWidgetBackground},d.localize(1783,\"Background color of the type filter widget in lists and trees.\")),e.listFilterWidgetOutline=(0,I.registerColor)(\"listFilterWidget.outline\",{dark:k.Color.transparent,light:k.Color.transparent,hcDark:\"#f38518\",hcLight:\"#007ACC\"},d.localize(1784,\"Outline color of the type filter widget in lists and trees.\")),e.listFilterWidgetNoMatchesOutline=(0,I.registerColor)(\"listFilterWidget.noMatchesOutline\",{dark:\"#BE1100\",light:\"#BE1100\",hcDark:E.contrastBorder,hcLight:E.contrastBorder},d.localize(1785,\"Outline color of the type filter widget in lists and trees, when there are no matches.\")),e.listFilterWidgetShadow=(0,I.registerColor)(\"listFilterWidget.shadow\",y.widgetShadow,d.localize(1786,\"Shadow color of the type filter widget in lists and trees.\")),e.listFilterMatchHighlight=(0,I.registerColor)(\"list.filterMatchBackground\",{dark:y.editorFindMatchHighlight,light:y.editorFindMatchHighlight,hcDark:null,hcLight:null},d.localize(1787,\"Background color of the filtered match.\")),e.listFilterMatchHighlightBorder=(0,I.registerColor)(\"list.filterMatchBorder\",{dark:y.editorFindMatchHighlightBorder,light:y.editorFindMatchHighlightBorder,hcDark:E.contrastBorder,hcLight:E.activeContrastBorder},d.localize(1788,\"Border color of the filtered match.\")),e.listDeemphasizedForeground=(0,I.registerColor)(\"list.deemphasizedForeground\",{dark:\"#8C8C8C\",light:\"#8E8E90\",hcDark:\"#A7A8A9\",hcLight:\"#666666\"},d.localize(1789,\"List/Tree foreground color for items that are deemphasized.\")),e.treeIndentGuidesStroke=(0,I.registerColor)(\"tree.indentGuidesStroke\",{dark:\"#585858\",light:\"#a9a9a9\",hcDark:\"#a9a9a9\",hcLight:\"#a5a5a5\"},d.localize(1790,\"Tree stroke color for the indentation guides.\")),e.treeInactiveIndentGuidesStroke=(0,I.registerColor)(\"tree.inactiveIndentGuidesStroke\",(0,I.transparent)(e.treeIndentGuidesStroke,.4),d.localize(1791,\"Tree stroke color for the indentation guides that are not active.\")),e.tableColumnsBorder=(0,I.registerColor)(\"tree.tableColumnsBorder\",{dark:\"#CCCCCC20\",light:\"#61616120\",hcDark:null,hcLight:null},d.localize(1792,\"Table border color between columns.\")),e.tableOddRowsBackgroundColor=(0,I.registerColor)(\"tree.tableOddRowsBackground\",{dark:(0,I.transparent)(E.foreground,.04),light:(0,I.transparent)(E.foreground,.04),hcDark:null,hcLight:null},d.localize(1793,\"Background color for odd table rows.\")),e.editorActionListBackground=(0,I.registerColor)(\"editorActionList.background\",y.editorWidgetBackground,d.localize(1794,\"Action List background color.\")),e.editorActionListForeground=(0,I.registerColor)(\"editorActionList.foreground\",y.editorWidgetForeground,d.localize(1795,\"Action List foreground color.\")),e.editorActionListFocusForeground=(0,I.registerColor)(\"editorActionList.focusForeground\",e.listActiveSelectionForeground,d.localize(1796,\"Action List foreground color for the focused item.\")),e.editorActionListFocusBackground=(0,I.registerColor)(\"editorActionList.focusBackground\",e.listActiveSelectionBackground,d.localize(1797,\"Action List background color for the focused item.\"))}),define(ne[751],se([1,0,3,89,123,412,279]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.menuSeparatorBackground=e.menuSelectionBorder=e.menuSelectionBackground=e.menuSelectionForeground=e.menuBackground=e.menuForeground=e.menuBorder=void 0,e.menuBorder=(0,k.registerColor)(\"menu.border\",{dark:null,light:null,hcDark:I.contrastBorder,hcLight:I.contrastBorder},d.localize(1798,\"Border color of menus.\")),e.menuForeground=(0,k.registerColor)(\"menu.foreground\",E.selectForeground,d.localize(1799,\"Foreground color of menu items.\")),e.menuBackground=(0,k.registerColor)(\"menu.background\",E.selectBackground,d.localize(1800,\"Background color of menu items.\")),e.menuSelectionForeground=(0,k.registerColor)(\"menu.selectionForeground\",y.listActiveSelectionForeground,d.localize(1801,\"Foreground color of the selected menu item in menus.\")),e.menuSelectionBackground=(0,k.registerColor)(\"menu.selectionBackground\",y.listActiveSelectionBackground,d.localize(1802,\"Background color of the selected menu item in menus.\")),e.menuSelectionBorder=(0,k.registerColor)(\"menu.selectionBorder\",{dark:null,light:null,hcDark:I.activeContrastBorder,hcLight:I.activeContrastBorder},d.localize(1803,\"Border color of the selected menu item in menus.\")),e.menuSeparatorBackground=(0,k.registerColor)(\"menu.separatorBackground\",{dark:\"#606060\",light:\"#D4D4D4\",hcDark:I.contrastBorder,hcLight:I.contrastBorder},d.localize(1804,\"Color of a separator menu item in menus.\"))}),define(ne[413],se([1,0,3,33,89,138,278]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.minimapSliderActiveBackground=e.minimapSliderHoverBackground=e.minimapSliderBackground=e.minimapForegroundOpacity=e.minimapBackground=e.minimapError=e.minimapWarning=e.minimapInfo=e.minimapSelection=e.minimapSelectionOccurrenceHighlight=e.minimapFindMatch=void 0,e.minimapFindMatch=(0,I.registerColor)(\"minimap.findMatchHighlight\",{light:\"#d18616\",dark:\"#d18616\",hcDark:\"#AB5A00\",hcLight:\"#0F4A85\"},d.localize(1805,\"Minimap marker color for find matches.\"),!0),e.minimapSelectionOccurrenceHighlight=(0,I.registerColor)(\"minimap.selectionOccurrenceHighlight\",{light:\"#c9c9c9\",dark:\"#676767\",hcDark:\"#ffffff\",hcLight:\"#0F4A85\"},d.localize(1806,\"Minimap marker color for repeating editor selections.\"),!0),e.minimapSelection=(0,I.registerColor)(\"minimap.selectionHighlight\",{light:\"#ADD6FF\",dark:\"#264F78\",hcDark:\"#ffffff\",hcLight:\"#0F4A85\"},d.localize(1807,\"Minimap marker color for the editor selection.\"),!0),e.minimapInfo=(0,I.registerColor)(\"minimap.infoHighlight\",{dark:E.editorInfoForeground,light:E.editorInfoForeground,hcDark:E.editorInfoBorder,hcLight:E.editorInfoBorder},d.localize(1808,\"Minimap marker color for infos.\")),e.minimapWarning=(0,I.registerColor)(\"minimap.warningHighlight\",{dark:E.editorWarningForeground,light:E.editorWarningForeground,hcDark:E.editorWarningBorder,hcLight:E.editorWarningBorder},d.localize(1809,\"Minimap marker color for warnings.\")),e.minimapError=(0,I.registerColor)(\"minimap.errorHighlight\",{dark:new k.Color(new k.RGBA(255,18,18,.7)),light:new k.Color(new k.RGBA(255,18,18,.7)),hcDark:new k.Color(new k.RGBA(255,50,50,1)),hcLight:\"#B5200D\"},d.localize(1810,\"Minimap marker color for errors.\")),e.minimapBackground=(0,I.registerColor)(\"minimap.background\",null,d.localize(1811,\"Minimap background color.\")),e.minimapForegroundOpacity=(0,I.registerColor)(\"minimap.foregroundOpacity\",k.Color.fromHex(\"#000f\"),d.localize(1812,'Opacity of foreground elements rendered in the minimap. For example, \"#000000c0\" will render the elements with 75% opacity.')),e.minimapSliderBackground=(0,I.registerColor)(\"minimapSlider.background\",(0,I.transparent)(y.scrollbarSliderBackground,.5),d.localize(1813,\"Minimap slider background color.\")),e.minimapSliderHoverBackground=(0,I.registerColor)(\"minimapSlider.hoverBackground\",(0,I.transparent)(y.scrollbarSliderHoverBackground,.5),d.localize(1814,\"Minimap slider background color when hovering.\")),e.minimapSliderActiveBackground=(0,I.registerColor)(\"minimapSlider.activeBackground\",(0,I.transparent)(y.scrollbarSliderActiveBackground,.5),d.localize(1815,\"Minimap slider background color when clicked on.\"))}),define(ne[752],se([1,0,3,89,123,138,413]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.chartsPurple=e.chartsGreen=e.chartsOrange=e.chartsYellow=e.chartsBlue=e.chartsRed=e.chartsLines=e.chartsForeground=void 0,e.chartsForeground=(0,k.registerColor)(\"charts.foreground\",I.foreground,d.localize(1616,\"The foreground color used in charts.\")),e.chartsLines=(0,k.registerColor)(\"charts.lines\",(0,k.transparent)(I.foreground,.5),d.localize(1617,\"The color used for horizontal lines in charts.\")),e.chartsRed=(0,k.registerColor)(\"charts.red\",E.editorErrorForeground,d.localize(1618,\"The red color used in chart visualizations.\")),e.chartsBlue=(0,k.registerColor)(\"charts.blue\",E.editorInfoForeground,d.localize(1619,\"The blue color used in chart visualizations.\")),e.chartsYellow=(0,k.registerColor)(\"charts.yellow\",E.editorWarningForeground,d.localize(1620,\"The yellow color used in chart visualizations.\")),e.chartsOrange=(0,k.registerColor)(\"charts.orange\",y.minimapFindMatch,d.localize(1621,\"The orange color used in chart visualizations.\")),e.chartsGreen=(0,k.registerColor)(\"charts.green\",{dark:\"#89D185\",light:\"#388A34\",hcDark:\"#89D185\",hcLight:\"#374e06\"},d.localize(1622,\"The green color used in chart visualizations.\")),e.chartsPurple=(0,k.registerColor)(\"charts.purple\",{dark:\"#B180D7\",light:\"#652D90\",hcDark:\"#B180D7\",hcLight:\"#652D90\"},d.localize(1623,\"The purple color used in chart visualizations.\"))}),define(ne[753],se([1,0,3,33,89,138,279]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.quickInputListFocusBackground=e.quickInputListFocusIconForeground=e.quickInputListFocusForeground=e._deprecatedQuickInputListFocusBackground=e.pickerGroupBorder=e.pickerGroupForeground=e.quickInputTitleBackground=e.quickInputForeground=e.quickInputBackground=void 0,e.quickInputBackground=(0,I.registerColor)(\"quickInput.background\",E.editorWidgetBackground,d.localize(1824,\"Quick picker background color. The quick picker widget is the container for pickers like the command palette.\")),e.quickInputForeground=(0,I.registerColor)(\"quickInput.foreground\",E.editorWidgetForeground,d.localize(1825,\"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.\")),e.quickInputTitleBackground=(0,I.registerColor)(\"quickInputTitle.background\",{dark:new k.Color(new k.RGBA(255,255,255,.105)),light:new k.Color(new k.RGBA(0,0,0,.06)),hcDark:\"#000000\",hcLight:k.Color.white},d.localize(1826,\"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.\")),e.pickerGroupForeground=(0,I.registerColor)(\"pickerGroup.foreground\",{dark:\"#3794FF\",light:\"#0066BF\",hcDark:k.Color.white,hcLight:\"#0F4A85\"},d.localize(1827,\"Quick picker color for grouping labels.\")),e.pickerGroupBorder=(0,I.registerColor)(\"pickerGroup.border\",{dark:\"#3F3F46\",light:\"#CCCEDB\",hcDark:k.Color.white,hcLight:\"#0F4A85\"},d.localize(1828,\"Quick picker color for grouping borders.\")),e._deprecatedQuickInputListFocusBackground=(0,I.registerColor)(\"quickInput.list.focusBackground\",null,\"\",void 0,d.localize(1829,\"Please use quickInputList.focusBackground instead\")),e.quickInputListFocusForeground=(0,I.registerColor)(\"quickInputList.focusForeground\",y.listActiveSelectionForeground,d.localize(1830,\"Quick picker foreground color for the focused item.\")),e.quickInputListFocusIconForeground=(0,I.registerColor)(\"quickInputList.focusIconForeground\",y.listActiveSelectionIconForeground,d.localize(1831,\"Quick picker icon foreground color for the focused item.\")),e.quickInputListFocusBackground=(0,I.registerColor)(\"quickInputList.focusBackground\",{dark:(0,I.oneOf)(e._deprecatedQuickInputListFocusBackground,y.listActiveSelectionBackground),light:(0,I.oneOf)(e._deprecatedQuickInputListFocusBackground,y.listActiveSelectionBackground),hcDark:null,hcLight:null},d.localize(1832,\"Quick picker background color for the focused item.\"))}),define(ne[754],se([1,0,3,89,123,138]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.searchEditorFindMatchBorder=e.searchEditorFindMatch=e.searchResultsInfoForeground=void 0,e.searchResultsInfoForeground=(0,k.registerColor)(\"search.resultsInfoForeground\",{light:I.foreground,dark:(0,k.transparent)(I.foreground,.65),hcDark:I.foreground,hcLight:I.foreground},d.localize(1833,\"Color of the text in the search viewlet's completion message.\")),e.searchEditorFindMatch=(0,k.registerColor)(\"searchEditor.findMatchBackground\",{light:(0,k.transparent)(E.editorFindMatchHighlight,.66),dark:(0,k.transparent)(E.editorFindMatchHighlight,.66),hcDark:E.editorFindMatchHighlight,hcLight:E.editorFindMatchHighlight},d.localize(1834,\"Color of the Search Editor query matches.\")),e.searchEditorFindMatchBorder=(0,k.registerColor)(\"searchEditor.findMatchBorder\",{light:(0,k.transparent)(E.editorFindMatchHighlightBorder,.66),dark:(0,k.transparent)(E.editorFindMatchHighlightBorder,.66),hcDark:E.editorFindMatchHighlightBorder,hcLight:E.editorFindMatchHighlightBorder},d.localize(1835,\"Border color of the Search Editor query matches.\"))});var ci=this&&this.__createBinding||(Object.create?function(oe,e,d,k){k===void 0&&(k=d);var I=Object.getOwnPropertyDescriptor(e,d);(!I||(\"get\"in I?!e.__esModule:I.writable||I.configurable))&&(I={enumerable:!0,get:function(){return e[d]}}),Object.defineProperty(oe,k,I)}:function(oe,e,d,k){k===void 0&&(k=d),oe[k]=e[d]}),Lt=this&&this.__exportStar||function(oe,e){for(var d in oe)d!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,d)&&ci(e,oe,d)};define(ne[32],se([1,0,89,123,752,138,412,279,751,413,278,753,754]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),Lt(d,e),Lt(k,e),Lt(I,e),Lt(E,e),Lt(y,e),Lt(m,e),Lt(_,e),Lt(b,e),Lt(p,e),Lt(n,e),Lt(o,e)}),define(ne[185],se([1,0,5,172,77,14,2,32]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DynamicCssRules=e.GlobalEditorPointerMoveMonitor=e.EditorPointerEventFactory=e.EditorMouseEventFactory=e.EditorMouseEvent=e.CoordinatesRelativeToEditor=e.EditorPagePosition=e.ClientCoordinates=e.PageCoordinates=void 0,e.createEditorPagePosition=o,e.createCoordinatesRelativeToEditor=t;class _{constructor(C,f){this.x=C,this.y=f,this._pageCoordinatesBrand=void 0}toClientCoordinates(C){return new b(this.x-C.scrollX,this.y-C.scrollY)}}e.PageCoordinates=_;class b{constructor(C,f){this.clientX=C,this.clientY=f,this._clientCoordinatesBrand=void 0}toPageCoordinates(C){return new _(this.clientX+C.scrollX,this.clientY+C.scrollY)}}e.ClientCoordinates=b;class p{constructor(C,f,h,v){this.x=C,this.y=f,this.width=h,this.height=v,this._editorPagePositionBrand=void 0}}e.EditorPagePosition=p;class n{constructor(C,f){this.x=C,this.y=f,this._positionRelativeToEditorBrand=void 0}}e.CoordinatesRelativeToEditor=n;function o(u){const C=d.getDomNodePagePosition(u);return new p(C.left,C.top,C.width,C.height)}function t(u,C,f){const h=C.width/u.offsetWidth,v=C.height/u.offsetHeight,w=(f.x-C.x)/h,S=(f.y-C.y)/v;return new n(w,S)}class i extends I.StandardMouseEvent{constructor(C,f,h){super(d.getWindow(h),C),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=f,this.pos=new _(this.posx,this.posy),this.editorPos=o(h),this.relativePos=t(h,this.editorPos,this.pos)}}e.EditorMouseEvent=i;class s{constructor(C){this._editorViewDomNode=C}_create(C){return new i(C,!1,this._editorViewDomNode)}onContextMenu(C,f){return d.addDisposableListener(C,\"contextmenu\",h=>{f(this._create(h))})}onMouseUp(C,f){return d.addDisposableListener(C,\"mouseup\",h=>{f(this._create(h))})}onMouseDown(C,f){return d.addDisposableListener(C,d.EventType.MOUSE_DOWN,h=>{f(this._create(h))})}onPointerDown(C,f){return d.addDisposableListener(C,d.EventType.POINTER_DOWN,h=>{f(this._create(h),h.pointerId)})}onMouseLeave(C,f){return d.addDisposableListener(C,d.EventType.MOUSE_LEAVE,h=>{f(this._create(h))})}onMouseMove(C,f){return d.addDisposableListener(C,\"mousemove\",h=>f(this._create(h)))}}e.EditorMouseEventFactory=s;class g{constructor(C){this._editorViewDomNode=C}_create(C){return new i(C,!1,this._editorViewDomNode)}onPointerUp(C,f){return d.addDisposableListener(C,\"pointerup\",h=>{f(this._create(h))})}onPointerDown(C,f){return d.addDisposableListener(C,d.EventType.POINTER_DOWN,h=>{f(this._create(h),h.pointerId)})}onPointerLeave(C,f){return d.addDisposableListener(C,d.EventType.POINTER_LEAVE,h=>{f(this._create(h))})}onPointerMove(C,f){return d.addDisposableListener(C,\"pointermove\",h=>f(this._create(h)))}}e.EditorPointerEventFactory=g;class c extends y.Disposable{constructor(C){super(),this._editorViewDomNode=C,this._globalPointerMoveMonitor=this._register(new k.GlobalPointerMoveMonitor),this._keydownListener=null}startMonitoring(C,f,h,v,w){this._keydownListener=d.addStandardDisposableListener(C.ownerDocument,\"keydown\",S=>{S.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,S.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(C,f,h,S=>{v(new i(S,!0,this._editorViewDomNode))},S=>{this._keydownListener.dispose(),w(S)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}e.GlobalEditorPointerMoveMonitor=c;class l{static{this._idPool=0}constructor(C){this._editor=C,this._instanceId=++l._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new E.RunOnceScheduler(()=>this.garbageCollect(),1e3)}createClassNameRef(C){const f=this.getOrCreateRule(C);return f.increaseRefCount(),{className:f.className,dispose:()=>{f.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(C){const f=this.computeUniqueKey(C);let h=this._rules.get(f);if(!h){const v=this._counter++;h=new a(f,`dyn-rule-${this._instanceId}-${v}`,d.isInShadowDOM(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,C),this._rules.set(f,h)}return h}computeUniqueKey(C){return JSON.stringify(C)}garbageCollect(){for(const C of this._rules.values())C.hasReferences()||(this._rules.delete(C.key),C.dispose())}}e.DynamicCssRules=l;class a{constructor(C,f,h,v){this.key=C,this.className=f,this.properties=v,this._referenceCount=0,this._styleElementDisposables=new y.DisposableStore,this._styleElement=d.createStyleSheet(h,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(C,f){let h=`.${C} {`;for(const v in f){const w=f[v];let S;typeof w==\"object\"?S=(0,m.asCssVariable)(w.id):S=w;const L=r(v);h+=`\n\t${L}: ${S};`}return h+=`\n}`,h}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function r(u){return u.replace(/(^[A-Z])/,([C])=>C.toLowerCase()).replace(/([A-Z])/g,([C])=>`-${C.toLowerCase()}`)}}),define(ne[755],se([1,0,5,39,172,2,16,11,262,56,37,4,311,374,95,32,23,69,551,127,45,347,491]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Minimap=void 0;const C=140,f=2;class h{constructor(N,O,F){const x=N.options,W=x.get(144),V=x.get(146),q=V.minimap,H=x.get(50),z=x.get(73);this.renderMinimap=q.renderMinimap,this.size=z.size,this.minimapHeightIsEditorHeight=q.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=x.get(106),this.paddingTop=x.get(84).top,this.paddingBottom=x.get(84).bottom,this.showSlider=z.showSlider,this.autohide=z.autohide,this.pixelRatio=W,this.typicalHalfwidthCharacterWidth=H.typicalHalfwidthCharacterWidth,this.lineHeight=x.get(67),this.minimapLeft=q.minimapLeft,this.minimapWidth=q.minimapWidth,this.minimapHeight=V.height,this.canvasInnerWidth=q.minimapCanvasInnerWidth,this.canvasInnerHeight=q.minimapCanvasInnerHeight,this.canvasOuterWidth=q.minimapCanvasOuterWidth,this.canvasOuterHeight=q.minimapCanvasOuterHeight,this.isSampling=q.minimapIsSampling,this.editorHeight=V.height,this.fontScale=q.minimapScale,this.minimapLineHeight=q.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.sectionHeaderFontFamily=u.DEFAULT_FONT_FAMILY,this.sectionHeaderFontSize=z.sectionHeaderFontSize*W,this.sectionHeaderLetterSpacing=z.sectionHeaderLetterSpacing,this.sectionHeaderFontColor=h._getSectionHeaderColor(O,F.getColor(1)),this.charRenderer=(0,a.createSingleCallFunction)(()=>l.MinimapCharRendererFactory.create(this.fontScale,H.fontFamily)),this.defaultBackgroundColor=F.getColor(2),this.backgroundColor=h._getMinimapBackground(O,this.defaultBackgroundColor),this.foregroundAlpha=h._getMinimapForegroundOpacity(O)}static _getMinimapBackground(N,O){const F=N.getColor(s.minimapBackground);return F?new o.RGBA8(F.rgba.r,F.rgba.g,F.rgba.b,Math.round(255*F.rgba.a)):O}static _getMinimapForegroundOpacity(N){const O=N.getColor(s.minimapForegroundOpacity);return O?o.RGBA8._clamp(Math.round(255*O.rgba.a)):255}static _getSectionHeaderColor(N,O){const F=N.getColor(s.editorForeground);return F?new o.RGBA8(F.rgba.r,F.rgba.g,F.rgba.b,Math.round(255*F.rgba.a)):O}equals(N){return this.renderMinimap===N.renderMinimap&&this.size===N.size&&this.minimapHeightIsEditorHeight===N.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===N.scrollBeyondLastLine&&this.paddingTop===N.paddingTop&&this.paddingBottom===N.paddingBottom&&this.showSlider===N.showSlider&&this.autohide===N.autohide&&this.pixelRatio===N.pixelRatio&&this.typicalHalfwidthCharacterWidth===N.typicalHalfwidthCharacterWidth&&this.lineHeight===N.lineHeight&&this.minimapLeft===N.minimapLeft&&this.minimapWidth===N.minimapWidth&&this.minimapHeight===N.minimapHeight&&this.canvasInnerWidth===N.canvasInnerWidth&&this.canvasInnerHeight===N.canvasInnerHeight&&this.canvasOuterWidth===N.canvasOuterWidth&&this.canvasOuterHeight===N.canvasOuterHeight&&this.isSampling===N.isSampling&&this.editorHeight===N.editorHeight&&this.fontScale===N.fontScale&&this.minimapLineHeight===N.minimapLineHeight&&this.minimapCharWidth===N.minimapCharWidth&&this.sectionHeaderFontSize===N.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===N.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(N.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(N.backgroundColor)&&this.foregroundAlpha===N.foregroundAlpha}}class v{constructor(N,O,F,x,W,V,q,H,z){this.scrollTop=N,this.scrollHeight=O,this.sliderNeeded=F,this._computedSliderRatio=x,this.sliderTop=W,this.sliderHeight=V,this.topPaddingLineCount=q,this.startLineNumber=H,this.endLineNumber=z}getDesiredScrollTopFromDelta(N){return Math.round(this.scrollTop+N/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(N){return Math.round((N-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(N){const O=Math.max(this.startLineNumber,N.startLineNumber),F=Math.min(this.endLineNumber,N.endLineNumber);return O>F?null:[O,F]}getYForLineNumber(N,O){return+(N-this.startLineNumber+this.topPaddingLineCount)*O}static create(N,O,F,x,W,V,q,H,z,U,j){const Y=N.pixelRatio,G=N.minimapLineHeight,K=Math.floor(N.canvasInnerHeight/G),R=N.lineHeight;if(N.minimapHeightIsEditorHeight){let ee=H*N.lineHeight+N.paddingTop+N.paddingBottom;N.scrollBeyondLastLine&&(ee+=Math.max(0,W-N.lineHeight-N.paddingBottom));const de=Math.max(1,Math.floor(W*W/ee)),ge=Math.max(0,N.minimapHeight-de),X=ge/(U-W),B=z*X,$=ge>0,Q=Math.floor(N.canvasInnerHeight/N.minimapLineHeight),Z=Math.floor(N.paddingTop/N.lineHeight);return new v(z,U,$,X,B,de,Z,1,Math.min(q,Q))}let J;if(V&&F!==q){const ee=F-O+1;J=Math.floor(ee*G/Y)}else{const ee=W/R;J=Math.floor(ee*G/Y)}const ie=Math.floor(N.paddingTop/R);let ue=Math.floor(N.paddingBottom/R);if(N.scrollBeyondLastLine){const ee=W/R;ue=Math.max(ue,ee-1)}let he;if(ue>0){const ee=W/R;he=(ie+q+ue-ee-1)*G/Y}else he=Math.max(0,(ie+q)*G/Y-J);he=Math.min(N.minimapHeight-J,he);const pe=he/(U-W),ae=z*pe;if(K>=ie+q+ue){const ee=he>0;return new v(z,U,ee,pe,ae,J,ie,1,q)}else{let ee;O>1?ee=O+ie:ee=Math.max(1,z/R);let de,ge=Math.max(1,Math.floor(ee-ae*Y/G));ge<ie?(de=ie-ge+1,ge=1):(de=0,ge=Math.max(1,ge-ie)),j&&j.scrollHeight===U&&(j.scrollTop>z&&(ge=Math.min(ge,j.startLineNumber),de=Math.max(de,j.topPaddingLineCount)),j.scrollTop<z&&(ge=Math.max(ge,j.startLineNumber),de=Math.min(de,j.topPaddingLineCount)));const X=Math.min(q,ge-de+K-1),B=(z-x)/R;let $;return z>=N.paddingTop?$=(O-ge+de+B)*G/Y:$=z/N.paddingTop*(de+B)*G/Y,new v(z,U,!0,pe,$,J,de,ge,X)}}}class w{static{this.INVALID=new w(-1)}constructor(N){this.dy=N}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}class S{constructor(N,O,F){this.renderedLayout=N,this._imageData=O,this._renderedLines=new _.RenderedLinesCollection({createLine:()=>w.INVALID}),this._renderedLines._set(N.startLineNumber,F)}linesEquals(N){if(!this.scrollEquals(N))return!1;const F=this._renderedLines._get().lines;for(let x=0,W=F.length;x<W;x++)if(F[x].dy===-1)return!1;return!0}scrollEquals(N){return this.renderedLayout.startLineNumber===N.startLineNumber&&this.renderedLayout.endLineNumber===N.endLineNumber}_get(){const N=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:N.rendLineNumberStart,lines:N.lines}}onLinesChanged(N,O){return this._renderedLines.onLinesChanged(N,O)}onLinesDeleted(N,O){this._renderedLines.onLinesDeleted(N,O)}onLinesInserted(N,O){this._renderedLines.onLinesInserted(N,O)}onTokensChanged(N){return this._renderedLines.onTokensChanged(N)}}class L{constructor(N,O,F,x){this._backgroundFillData=L._createBackgroundFillData(O,F,x),this._buffers=[N.createImageData(O,F),N.createImageData(O,F)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;const N=this._buffers[this._lastUsedBuffer];return N.data.set(this._backgroundFillData),N}static _createBackgroundFillData(N,O,F){const x=F.r,W=F.g,V=F.b,q=F.a,H=new Uint8ClampedArray(N*O*4);let z=0;for(let U=0;U<O;U++)for(let j=0;j<N;j++)H[z]=x,H[z+1]=W,H[z+2]=V,H[z+3]=q,z+=4;return H}}class D{static compute(N,O,F){if(N.renderMinimap===0||!N.isSampling)return[null,[]];const{minimapLineCount:x}=p.EditorLayoutInfoComputer.computeContainedMinimapLineCount({viewLineCount:O,scrollBeyondLastLine:N.scrollBeyondLastLine,paddingTop:N.paddingTop,paddingBottom:N.paddingBottom,height:N.editorHeight,lineHeight:N.lineHeight,pixelRatio:N.pixelRatio}),W=O/x,V=W/2;if(!F||F.minimapLines.length===0){const J=[];if(J[0]=1,x>1){for(let ie=0,ue=x-1;ie<ue;ie++)J[ie]=Math.round(ie*W+V);J[x-1]=O}return[new D(W,J),[]]}const q=F.minimapLines,H=q.length,z=[];let U=0,j=0,Y=1;const G=10;let K=[],R=null;for(let J=0;J<x;J++){const ie=Math.max(Y,Math.round(J*W)),ue=Math.max(ie,Math.round((J+1)*W));for(;U<H&&q[U]<ie;){if(K.length<G){const pe=U+1+j;R&&R.type===\"deleted\"&&R._oldIndex===U-1?R.deleteToLineNumber++:(R={type:\"deleted\",_oldIndex:U,deleteFromLineNumber:pe,deleteToLineNumber:pe},K.push(R)),j--}U++}let he;if(U<H&&q[U]<=ue)he=q[U],U++;else if(J===0?he=1:J+1===x?he=O:he=Math.round(J*W+V),K.length<G){const pe=U+1+j;R&&R.type===\"inserted\"&&R._i===J-1?R.insertToLineNumber++:(R={type:\"inserted\",_i:J,insertFromLineNumber:pe,insertToLineNumber:pe},K.push(R)),j++}z[J]=he,Y=he}if(K.length<G)for(;U<H;){const J=U+1+j;R&&R.type===\"deleted\"&&R._oldIndex===U-1?R.deleteToLineNumber++:(R={type:\"deleted\",_oldIndex:U,deleteFromLineNumber:J,deleteToLineNumber:J},K.push(R)),j--,U++}else K=[{type:\"flush\"}];return[new D(W,z),K]}constructor(N,O){this.samplingRatio=N,this.minimapLines=O}modelLineToMinimapLine(N){return Math.min(this.minimapLines.length,Math.max(1,Math.round(N/this.samplingRatio)))}modelLineRangeToMinimapLineRange(N,O){let F=this.modelLineToMinimapLine(N)-1;for(;F>0&&this.minimapLines[F-1]>=N;)F--;let x=this.modelLineToMinimapLine(O)-1;for(;x+1<this.minimapLines.length&&this.minimapLines[x+1]<=O;)x++;if(F===x){const W=this.minimapLines[F];if(W<N||W>O)return null}return[F+1,x+1]}decorationLineRangeToMinimapLineRange(N,O){let F=this.modelLineToMinimapLine(N),x=this.modelLineToMinimapLine(O);return N!==O&&x===F&&(x===this.minimapLines.length?F>1&&F--:x++),[F,x]}onLinesDeleted(N){const O=N.toLineNumber-N.fromLineNumber+1;let F=this.minimapLines.length,x=0;for(let W=this.minimapLines.length-1;W>=0&&!(this.minimapLines[W]<N.fromLineNumber);W--)this.minimapLines[W]<=N.toLineNumber?(this.minimapLines[W]=Math.max(1,N.fromLineNumber-1),F=Math.min(F,W),x=Math.max(x,W)):this.minimapLines[W]-=O;return[F,x]}onLinesInserted(N){const O=N.toLineNumber-N.fromLineNumber+1;for(let F=this.minimapLines.length-1;F>=0&&!(this.minimapLines[F]<N.fromLineNumber);F--)this.minimapLines[F]+=O}}class T extends b.ViewPart{constructor(N){super(N),this._sectionHeaderCache=new r.LRUCache(10,1.5),this.tokensColorTracker=t.MinimapTokensColorTracker.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new h(this._context.configuration,this._context.theme,this.tokensColorTracker);const[O]=D.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=O,this._shouldCheckSampling=!1,this._actual=new M(N.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){const N=new h(this._context.configuration,this._context.theme,this.tokensColorTracker);return this.options.equals(N)?!1:(this.options=N,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(N){return this._onOptionsMaybeChanged()}onCursorStateChanged(N){return this._selections=N.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(N){return N.affectsMinimap?this._actual.onDecorationsChanged():!1}onFlushed(N){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(N){if(this._samplingState){const O=this._samplingState.modelLineRangeToMinimapLineRange(N.fromLineNumber,N.fromLineNumber+N.count-1);return O?this._actual.onLinesChanged(O[0],O[1]-O[0]+1):!1}else return this._actual.onLinesChanged(N.fromLineNumber,N.count)}onLinesDeleted(N){if(this._samplingState){const[O,F]=this._samplingState.onLinesDeleted(N);return O<=F&&this._actual.onLinesChanged(O+1,F-O+1),this._shouldCheckSampling=!0,!0}else return this._actual.onLinesDeleted(N.fromLineNumber,N.toLineNumber)}onLinesInserted(N){return this._samplingState?(this._samplingState.onLinesInserted(N),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(N.fromLineNumber,N.toLineNumber)}onScrollChanged(N){return this._actual.onScrollChanged()}onThemeChanged(N){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(N){if(this._samplingState){const O=[];for(const F of N.ranges){const x=this._samplingState.modelLineRangeToMinimapLineRange(F.fromLineNumber,F.toLineNumber);x&&O.push({fromLineNumber:x[0],toLineNumber:x[1]})}return O.length?this._actual.onTokensChanged(O):!1}else return this._actual.onTokensChanged(N.ranges)}onTokensColorsChanged(N){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(N){return this._actual.onZonesChanged()}prepareRender(N){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(N){let O=N.visibleRange.startLineNumber,F=N.visibleRange.endLineNumber;this._samplingState&&(O=this._samplingState.modelLineToMinimapLine(O),F=this._samplingState.modelLineToMinimapLine(F));const x={viewportContainsWhitespaceGaps:N.viewportData.whitespaceViewportData.length>0,scrollWidth:N.scrollWidth,scrollHeight:N.scrollHeight,viewportStartLineNumber:O,viewportEndLineNumber:F,viewportStartLineNumberVerticalOffset:N.getVerticalOffsetForLineNumber(O),scrollTop:N.scrollTop,scrollLeft:N.scrollLeft,viewportWidth:N.viewportWidth,viewportHeight:N.viewportHeight};this._actual.render(x)}_recreateLineSampling(){this._minimapSelections=null;const N=!!this._samplingState,[O,F]=D.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=O,N&&this._samplingState)for(const x of F)switch(x.type){case\"deleted\":this._actual.onLinesDeleted(x.deleteFromLineNumber,x.deleteToLineNumber);break;case\"inserted\":this._actual.onLinesInserted(x.insertFromLineNumber,x.insertToLineNumber);break;case\"flush\":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(N){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[N-1]):this._context.viewModel.getLineContent(N)}getLineMaxColumn(N){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[N-1]):this._context.viewModel.getLineMaxColumn(N)}getMinimapLinesRenderingData(N,O,F){if(this._samplingState){const x=[];for(let W=0,V=O-N+1;W<V;W++)F[W]?x[W]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[N+W-1]):x[W]=null;return x}return this._context.viewModel.getMinimapLinesRenderingData(N,O,F).data}getSelections(){if(this._minimapSelections===null)if(this._samplingState){this._minimapSelections=[];for(const N of this._selections){const[O,F]=this._samplingState.decorationLineRangeToMinimapLineRange(N.startLineNumber,N.endLineNumber);this._minimapSelections.push(new g.Selection(O,N.startColumn,F,N.endColumn))}}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(N,O){const F=this._getMinimapDecorationsInViewport(N,O).filter(x=>!x.options.minimap?.sectionHeaderStyle);if(this._samplingState){const x=[];for(const W of F){if(!W.options.minimap)continue;const V=W.range,q=this._samplingState.modelLineToMinimapLine(V.startLineNumber),H=this._samplingState.modelLineToMinimapLine(V.endLineNumber);x.push(new i.ViewModelDecoration(new n.Range(q,V.startColumn,H,V.endColumn),W.options))}return x}return F}getSectionHeaderDecorationsInViewport(N,O){const F=this.options.minimapLineHeight,W=this.options.sectionHeaderFontSize/F;return N=Math.floor(Math.max(1,N-W)),this._getMinimapDecorationsInViewport(N,O).filter(V=>!!V.options.minimap?.sectionHeaderStyle)}_getMinimapDecorationsInViewport(N,O){let F;if(this._samplingState){const x=this._samplingState.minimapLines[N-1],W=this._samplingState.minimapLines[O-1];F=new n.Range(x,1,W,this._context.viewModel.getLineMaxColumn(W))}else F=new n.Range(N,1,O,this._context.viewModel.getLineMaxColumn(O));return this._context.viewModel.getMinimapDecorationsInRange(F)}getSectionHeaderText(N,O){const F=N.options.minimap?.sectionHeaderText;if(!F)return null;const x=this._sectionHeaderCache.get(F);if(x)return x;const W=O(F);return this._sectionHeaderCache.set(F,W),W}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(N){this._samplingState&&(N=this._samplingState.minimapLines[N-1]),this._context.viewModel.revealRange(\"mouse\",!1,new n.Range(N,1,N,1),1,0)}setScrollTop(N){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:N},1)}}e.Minimap=T;class M extends E.Disposable{constructor(N,O){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=N,this._model=O,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(s.minimapSelection),this._domNode=(0,k.createFastDomNode)(document.createElement(\"div\")),b.PartFingerprints.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition(\"absolute\"),this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._shadow=(0,k.createFastDomNode)(document.createElement(\"div\")),this._shadow.setClassName(\"minimap-shadow-hidden\"),this._domNode.appendChild(this._shadow),this._canvas=(0,k.createFastDomNode)(document.createElement(\"canvas\")),this._canvas.setPosition(\"absolute\"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=(0,k.createFastDomNode)(document.createElement(\"canvas\")),this._decorationsCanvas.setPosition(\"absolute\"),this._decorationsCanvas.setClassName(\"minimap-decorations-layer\"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=(0,k.createFastDomNode)(document.createElement(\"div\")),this._slider.setPosition(\"absolute\"),this._slider.setClassName(\"minimap-slider\"),this._slider.setLayerHinting(!0),this._slider.setContain(\"strict\"),this._domNode.appendChild(this._slider),this._sliderHorizontal=(0,k.createFastDomNode)(document.createElement(\"div\")),this._sliderHorizontal.setPosition(\"absolute\"),this._sliderHorizontal.setClassName(\"minimap-slider-horizontal\"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=d.addStandardDisposableListener(this._domNode.domNode,d.EventType.POINTER_DOWN,F=>{if(F.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!==\"proportional\"){if(F.button===0&&this._lastRenderData){const z=d.getDomNodePagePosition(this._slider.domNode),U=z.top+z.height/2;this._startSliderDragging(F,U,this._lastRenderData.renderedLayout)}return}const W=this._model.options.minimapLineHeight,V=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*F.offsetY;let H=Math.floor(V/W)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;H=Math.min(H,this._model.getLineCount()),this._model.revealLineNumber(H)}),this._sliderPointerMoveMonitor=new I.GlobalPointerMoveMonitor,this._sliderPointerDownListener=d.addStandardDisposableListener(this._slider.domNode,d.EventType.POINTER_DOWN,F=>{F.preventDefault(),F.stopPropagation(),F.button===0&&this._lastRenderData&&this._startSliderDragging(F,F.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=c.Gesture.addTarget(this._domNode.domNode),this._sliderTouchStartListener=d.addDisposableListener(this._domNode.domNode,c.EventType.Start,F=>{F.preventDefault(),F.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName(\"active\",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(F))},{passive:!1}),this._sliderTouchMoveListener=d.addDisposableListener(this._domNode.domNode,c.EventType.Change,F=>{F.preventDefault(),F.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(F)},{passive:!1}),this._sliderTouchEndListener=d.addStandardDisposableListener(this._domNode.domNode,c.EventType.End,F=>{F.preventDefault(),F.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName(\"active\",!1)})}_startSliderDragging(N,O,F){if(!N.target||!(N.target instanceof Element))return;const x=N.pageX;this._slider.toggleClassName(\"active\",!0);const W=(V,q)=>{const H=d.getDomNodePagePosition(this._domNode.domNode),z=Math.min(Math.abs(q-x),Math.abs(q-H.left),Math.abs(q-H.left-H.width));if(y.isWindows&&z>C){this._model.setScrollTop(F.scrollTop);return}const U=V-O;this._model.setScrollTop(F.getDesiredScrollTopFromDelta(U))};N.pageY!==O&&W(N.pageY,x),this._sliderPointerMoveMonitor.startMonitoring(N.target,N.pointerId,N.buttons,V=>W(V.pageY,V.pageX),()=>{this._slider.toggleClassName(\"active\",!1)})}scrollDueToTouchEvent(N){const O=this._domNode.domNode.getBoundingClientRect().top,F=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(N.pageY-O);this._model.setScrollTop(F)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const N=[\"minimap\"];return this._model.options.showSlider===\"always\"?N.push(\"slider-always\"):N.push(\"slider-mouseover\"),this._model.options.autohide&&N.push(\"autohide\"),N.join(\" \")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new L(this._canvas.domNode.getContext(\"2d\"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(N,O){return this._lastRenderData?this._lastRenderData.onLinesChanged(N,O):!1}onLinesDeleted(N,O){return this._lastRenderData?.onLinesDeleted(N,O),!0}onLinesInserted(N,O){return this._lastRenderData?.onLinesInserted(N,O),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(s.minimapSelection),this._renderDecorations=!0,!0}onTokensChanged(N){return this._lastRenderData?this._lastRenderData.onTokensChanged(N):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(N){if(this._model.options.renderMinimap===0){this._shadow.setClassName(\"minimap-shadow-hidden\"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}N.scrollLeft+N.viewportWidth>=N.scrollWidth?this._shadow.setClassName(\"minimap-shadow-hidden\"):this._shadow.setClassName(\"minimap-shadow-visible\");const F=v.create(this._model.options,N.viewportStartLineNumber,N.viewportEndLineNumber,N.viewportStartLineNumberVerticalOffset,N.viewportHeight,N.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),N.scrollTop,N.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(F.sliderNeeded?\"block\":\"none\"),this._slider.setTop(F.sliderTop),this._slider.setHeight(F.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(F.sliderHeight),this.renderDecorations(F),this._lastRenderData=this.renderLines(F)}renderDecorations(N){if(this._renderDecorations){this._renderDecorations=!1;const O=this._model.getSelections();O.sort(n.Range.compareRangesUsingStarts);const F=this._model.getMinimapDecorationsInViewport(N.startLineNumber,N.endLineNumber);F.sort((Y,G)=>(Y.options.zIndex||0)-(G.options.zIndex||0));const{canvasInnerWidth:x,canvasInnerHeight:W}=this._model.options,V=this._model.options.minimapLineHeight,q=this._model.options.minimapCharWidth,H=this._model.getOptions().tabSize,z=this._decorationsCanvas.domNode.getContext(\"2d\");z.clearRect(0,0,x,W);const U=new A(N.startLineNumber,N.endLineNumber,!1);this._renderSelectionLineHighlights(z,O,U,N,V),this._renderDecorationsLineHighlights(z,F,U,N,V);const j=new A(N.startLineNumber,N.endLineNumber,null);this._renderSelectionsHighlights(z,O,j,N,V,H,q,x),this._renderDecorationsHighlights(z,F,j,N,V,H,q,x),this._renderSectionHeaders(N)}}_renderSelectionLineHighlights(N,O,F,x,W){if(!this._selectionColor||this._selectionColor.isTransparent())return;N.fillStyle=this._selectionColor.transparent(.5).toString();let V=0,q=0;for(const H of O){const z=x.intersectWithViewport(H);if(!z)continue;const[U,j]=z;for(let K=U;K<=j;K++)F.set(K,!0);const Y=x.getYForLineNumber(U,W),G=x.getYForLineNumber(j,W);q>=Y||(q>V&&N.fillRect(p.MINIMAP_GUTTER_WIDTH,V,N.canvas.width,q-V),V=Y),q=G}q>V&&N.fillRect(p.MINIMAP_GUTTER_WIDTH,V,N.canvas.width,q-V)}_renderDecorationsLineHighlights(N,O,F,x,W){const V=new Map;for(let q=O.length-1;q>=0;q--){const H=O[q],z=H.options.minimap;if(!z||z.position!==1)continue;const U=x.intersectWithViewport(H.range);if(!U)continue;const[j,Y]=U,G=z.getColor(this._theme.value);if(!G||G.isTransparent())continue;let K=V.get(G.toString());K||(K=G.transparent(.5).toString(),V.set(G.toString(),K)),N.fillStyle=K;for(let R=j;R<=Y;R++){if(F.has(R))continue;F.set(R,!0);const J=x.getYForLineNumber(j,W);N.fillRect(p.MINIMAP_GUTTER_WIDTH,J,N.canvas.width,W)}}}_renderSelectionsHighlights(N,O,F,x,W,V,q,H){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const z of O){const U=x.intersectWithViewport(z);if(!U)continue;const[j,Y]=U;for(let G=j;G<=Y;G++)this.renderDecorationOnLine(N,F,z,this._selectionColor,x,G,W,W,V,q,H)}}_renderDecorationsHighlights(N,O,F,x,W,V,q,H){for(const z of O){const U=z.options.minimap;if(!U)continue;const j=x.intersectWithViewport(z.range);if(!j)continue;const[Y,G]=j,K=U.getColor(this._theme.value);if(!(!K||K.isTransparent()))for(let R=Y;R<=G;R++)switch(U.position){case 1:this.renderDecorationOnLine(N,F,z.range,K,x,R,W,W,V,q,H);continue;case 2:{const J=x.getYForLineNumber(R,W);this.renderDecoration(N,K,2,J,f,W);continue}}}}renderDecorationOnLine(N,O,F,x,W,V,q,H,z,U,j){const Y=W.getYForLineNumber(V,H);if(Y+q<0||Y>this._model.options.canvasInnerHeight)return;const{startLineNumber:G,endLineNumber:K}=F,R=G===V?F.startColumn:1,J=K===V?F.endColumn:this._model.getLineMaxColumn(V),ie=this.getXOffsetForPosition(O,V,R,z,U,j),ue=this.getXOffsetForPosition(O,V,J,z,U,j);this.renderDecoration(N,x,ie,Y,ue-ie,q)}getXOffsetForPosition(N,O,F,x,W,V){if(F===1)return p.MINIMAP_GUTTER_WIDTH;if((F-1)*W>=V)return V;let H=N.get(O);if(!H){const z=this._model.getLineContent(O);H=[p.MINIMAP_GUTTER_WIDTH];let U=p.MINIMAP_GUTTER_WIDTH;for(let j=1;j<z.length+1;j++){const Y=z.charCodeAt(j-1),G=Y===9?x*W:m.isFullWidthCharacter(Y)?2*W:W,K=U+G;if(K>=V){H[j]=V;break}H[j]=K,U=K}N.set(O,H)}return F-1<H.length?H[F-1]:V}renderDecoration(N,O,F,x,W,V){N.fillStyle=O&&O.toString()||\"\",N.fillRect(F,x,W,V)}_renderSectionHeaders(N){const O=this._model.options.minimapLineHeight,F=this._model.options.sectionHeaderFontSize,x=this._model.options.sectionHeaderLetterSpacing,W=F*1.5,{canvasInnerWidth:V}=this._model.options,q=this._model.options.backgroundColor,H=`rgb(${q.r} ${q.g} ${q.b} / .7)`,z=this._model.options.sectionHeaderFontColor,U=`rgb(${z.r} ${z.g} ${z.b})`,j=U,Y=this._decorationsCanvas.domNode.getContext(\"2d\");Y.letterSpacing=x+\"px\",Y.font=\"500 \"+F+\"px \"+this._model.options.sectionHeaderFontFamily,Y.strokeStyle=j,Y.lineWidth=.2;const G=this._model.getSectionHeaderDecorationsInViewport(N.startLineNumber,N.endLineNumber);G.sort((R,J)=>R.range.startLineNumber-J.range.startLineNumber);const K=M._fitSectionHeader.bind(null,Y,V-p.MINIMAP_GUTTER_WIDTH);for(const R of G){const J=N.getYForLineNumber(R.range.startLineNumber,O)+F,ie=J-F,ue=ie+2,he=this._model.getSectionHeaderText(R,K);M._renderSectionLabel(Y,he,R.options.minimap?.sectionHeaderStyle===2,H,U,V,ie,W,J,ue)}}static _fitSectionHeader(N,O,F){if(!F)return F;const x=\"\\u2026\",W=N.measureText(F).width,V=N.measureText(x).width;if(W<=O||W<=V)return F;const q=F.length,H=W/F.length,z=Math.floor((O-V)/H)-1;let U=Math.ceil(z/2);for(;U>0&&/\\s/.test(F[U-1]);)--U;return F.substring(0,U)+x+F.substring(q-(z-U))}static _renderSectionLabel(N,O,F,x,W,V,q,H,z,U){O&&(N.fillStyle=x,N.fillRect(0,q,V,H),N.fillStyle=W,N.fillText(O,p.MINIMAP_GUTTER_WIDTH,z)),F&&(N.beginPath(),N.moveTo(0,U),N.lineTo(V,U),N.closePath(),N.stroke())}renderLines(N){const O=N.startLineNumber,F=N.endLineNumber,x=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(N)){const re=this._lastRenderData._get();return new S(N,re.imageData,re.lines)}const W=this._getBuffer();if(!W)return null;const[V,q,H]=M._renderUntouchedLines(W,N.topPaddingLineCount,O,F,x,this._lastRenderData),z=this._model.getMinimapLinesRenderingData(O,F,H),U=this._model.getOptions().tabSize,j=this._model.options.defaultBackgroundColor,Y=this._model.options.backgroundColor,G=this._model.options.foregroundAlpha,K=this._model.tokensColorTracker,R=K.backgroundIsLight(),J=this._model.options.renderMinimap,ie=this._model.options.charRenderer(),ue=this._model.options.fontScale,he=this._model.options.minimapCharWidth,ae=(J===1?2:3)*ue,ee=x>ae?Math.floor((x-ae)/2):0,de=Y.a/255,ge=new o.RGBA8(Math.round((Y.r-j.r)*de+j.r),Math.round((Y.g-j.g)*de+j.g),Math.round((Y.b-j.b)*de+j.b),255);let X=N.topPaddingLineCount*x;const B=[];for(let re=0,le=F-O+1;re<le;re++)H[re]&&M._renderLine(W,ge,Y.a,R,J,he,K,G,ie,X,ee,U,z[re],ue,x),B[re]=new w(X),X+=x;const $=V===-1?0:V,Z=(q===-1?W.height:q)-$;return this._canvas.domNode.getContext(\"2d\").putImageData(W,0,0,0,$,W.width,Z),new S(N,W,B)}static _renderUntouchedLines(N,O,F,x,W,V){const q=[];if(!V){for(let X=0,B=x-F+1;X<B;X++)q[X]=!0;return[-1,-1,q]}const H=V._get(),z=H.imageData.data,U=H.rendLineNumberStart,j=H.lines,Y=j.length,G=N.width,K=N.data,R=(x-F+1)*W*G*4;let J=-1,ie=-1,ue=-1,he=-1,pe=-1,ae=-1,ee=O*W;for(let X=F;X<=x;X++){const B=X-F,$=X-U,Q=$>=0&&$<Y?j[$].dy:-1;if(Q===-1){q[B]=!0,ee+=W;continue}const Z=Q*G*4,te=(Q+W)*G*4,re=ee*G*4,le=(ee+W)*G*4;he===Z&&ae===re?(he=te,ae=le):(ue!==-1&&(K.set(z.subarray(ue,he),pe),J===-1&&ue===0&&ue===pe&&(J=he),ie===-1&&he===R&&ue===pe&&(ie=ue)),ue=Z,he=te,pe=re,ae=le),q[B]=!1,ee+=W}ue!==-1&&(K.set(z.subarray(ue,he),pe),J===-1&&ue===0&&ue===pe&&(J=he),ie===-1&&he===R&&ue===pe&&(ie=ue));const de=J===-1?-1:J/(G*4),ge=ie===-1?-1:ie/(G*4);return[de,ge,q]}static _renderLine(N,O,F,x,W,V,q,H,z,U,j,Y,G,K,R){const J=G.content,ie=G.tokens,ue=N.width-V,he=R===1;let pe=p.MINIMAP_GUTTER_WIDTH,ae=0,ee=0;for(let de=0,ge=ie.getCount();de<ge;de++){const X=ie.getEndOffset(de),B=ie.getForeground(de),$=q.getColor(B);for(;ae<X;ae++){if(pe>ue)return;const Q=J.charCodeAt(ae);if(Q===9){const Z=Y-(ae+ee)%Y;ee+=Z-1,pe+=Z*V}else if(Q===32)pe+=V;else{const Z=m.isFullWidthCharacter(Q)?2:1;for(let te=0;te<Z;te++)if(W===2?z.blockRenderChar(N,pe,U+j,$,H,O,F,he):z.renderChar(N,pe,U+j,Q,$,H,O,F,K,x,he),pe+=V,pe>ue)return}}}}}class A{constructor(N,O,F){this._startLineNumber=N,this._endLineNumber=O,this._defaultValue=F,this._values=[];for(let x=0,W=this._endLineNumber-this._startLineNumber+1;x<W;x++)this._values[x]=F}has(N){return this.get(N)!==this._defaultValue}set(N,O){N<this._startLineNumber||N>this._endLineNumber||(this._values[N-this._startLineNumber]=O)}get(N){return N<this._startLineNumber||N>this._endLineNumber?this._defaultValue:this._values[N-this._startLineNumber]}}}),define(ne[756],se([1,0,3,32]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.multiDiffEditorBorder=e.multiDiffEditorBackground=e.multiDiffEditorHeaderBackground=void 0,e.multiDiffEditorHeaderBackground=(0,k.registerColor)(\"multiDiffEditor.headerBackground\",{dark:\"#262626\",light:\"tab.inactiveBackground\",hcDark:\"tab.inactiveBackground\",hcLight:\"tab.inactiveBackground\"},(0,d.localize)(129,\"The background color of the diff editor's header\")),e.multiDiffEditorBackground=(0,k.registerColor)(\"multiDiffEditor.background\",k.editorBackground,(0,d.localize)(130,\"The background color of the multi file diff editor\")),e.multiDiffEditorBorder=(0,k.registerColor)(\"multiDiffEditor.border\",{dark:\"sideBarSectionHeader.border\",light:\"#cccccc\",hcDark:\"sideBarSectionHeader.border\",hcLight:\"#cccccc\"},(0,d.localize)(131,\"The border color of the multi file diff editor\"))}),define(ne[280],se([1,0,3,32,533]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SYMBOL_ICON_VARIABLE_FOREGROUND=e.SYMBOL_ICON_UNIT_FOREGROUND=e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=e.SYMBOL_ICON_TEXT_FOREGROUND=e.SYMBOL_ICON_STRUCT_FOREGROUND=e.SYMBOL_ICON_STRING_FOREGROUND=e.SYMBOL_ICON_SNIPPET_FOREGROUND=e.SYMBOL_ICON_REFERENCE_FOREGROUND=e.SYMBOL_ICON_PROPERTY_FOREGROUND=e.SYMBOL_ICON_PACKAGE_FOREGROUND=e.SYMBOL_ICON_OPERATOR_FOREGROUND=e.SYMBOL_ICON_OBJECT_FOREGROUND=e.SYMBOL_ICON_NUMBER_FOREGROUND=e.SYMBOL_ICON_NULL_FOREGROUND=e.SYMBOL_ICON_NAMESPACE_FOREGROUND=e.SYMBOL_ICON_MODULE_FOREGROUND=e.SYMBOL_ICON_METHOD_FOREGROUND=e.SYMBOL_ICON_KEYWORD_FOREGROUND=e.SYMBOL_ICON_KEY_FOREGROUND=e.SYMBOL_ICON_INTERFACE_FOREGROUND=e.SYMBOL_ICON_FUNCTION_FOREGROUND=e.SYMBOL_ICON_FOLDER_FOREGROUND=e.SYMBOL_ICON_FILE_FOREGROUND=e.SYMBOL_ICON_FIELD_FOREGROUND=e.SYMBOL_ICON_EVENT_FOREGROUND=e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=e.SYMBOL_ICON_ENUMERATOR_FOREGROUND=e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=e.SYMBOL_ICON_CONSTANT_FOREGROUND=e.SYMBOL_ICON_COLOR_FOREGROUND=e.SYMBOL_ICON_CLASS_FOREGROUND=e.SYMBOL_ICON_BOOLEAN_FOREGROUND=e.SYMBOL_ICON_ARRAY_FOREGROUND=void 0,e.SYMBOL_ICON_ARRAY_FOREGROUND=(0,k.registerColor)(\"symbolIcon.arrayForeground\",k.foreground,(0,d.localize)(1348,\"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_BOOLEAN_FOREGROUND=(0,k.registerColor)(\"symbolIcon.booleanForeground\",k.foreground,(0,d.localize)(1349,\"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_CLASS_FOREGROUND=(0,k.registerColor)(\"symbolIcon.classForeground\",{dark:\"#EE9D28\",light:\"#D67E00\",hcDark:\"#EE9D28\",hcLight:\"#D67E00\"},(0,d.localize)(1350,\"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_COLOR_FOREGROUND=(0,k.registerColor)(\"symbolIcon.colorForeground\",k.foreground,(0,d.localize)(1351,\"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_CONSTANT_FOREGROUND=(0,k.registerColor)(\"symbolIcon.constantForeground\",k.foreground,(0,d.localize)(1352,\"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=(0,k.registerColor)(\"symbolIcon.constructorForeground\",{dark:\"#B180D7\",light:\"#652D90\",hcDark:\"#B180D7\",hcLight:\"#652D90\"},(0,d.localize)(1353,\"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_ENUMERATOR_FOREGROUND=(0,k.registerColor)(\"symbolIcon.enumeratorForeground\",{dark:\"#EE9D28\",light:\"#D67E00\",hcDark:\"#EE9D28\",hcLight:\"#D67E00\"},(0,d.localize)(1354,\"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=(0,k.registerColor)(\"symbolIcon.enumeratorMemberForeground\",{dark:\"#75BEFF\",light:\"#007ACC\",hcDark:\"#75BEFF\",hcLight:\"#007ACC\"},(0,d.localize)(1355,\"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_EVENT_FOREGROUND=(0,k.registerColor)(\"symbolIcon.eventForeground\",{dark:\"#EE9D28\",light:\"#D67E00\",hcDark:\"#EE9D28\",hcLight:\"#D67E00\"},(0,d.localize)(1356,\"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_FIELD_FOREGROUND=(0,k.registerColor)(\"symbolIcon.fieldForeground\",{dark:\"#75BEFF\",light:\"#007ACC\",hcDark:\"#75BEFF\",hcLight:\"#007ACC\"},(0,d.localize)(1357,\"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_FILE_FOREGROUND=(0,k.registerColor)(\"symbolIcon.fileForeground\",k.foreground,(0,d.localize)(1358,\"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_FOLDER_FOREGROUND=(0,k.registerColor)(\"symbolIcon.folderForeground\",k.foreground,(0,d.localize)(1359,\"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_FUNCTION_FOREGROUND=(0,k.registerColor)(\"symbolIcon.functionForeground\",{dark:\"#B180D7\",light:\"#652D90\",hcDark:\"#B180D7\",hcLight:\"#652D90\"},(0,d.localize)(1360,\"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_INTERFACE_FOREGROUND=(0,k.registerColor)(\"symbolIcon.interfaceForeground\",{dark:\"#75BEFF\",light:\"#007ACC\",hcDark:\"#75BEFF\",hcLight:\"#007ACC\"},(0,d.localize)(1361,\"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_KEY_FOREGROUND=(0,k.registerColor)(\"symbolIcon.keyForeground\",k.foreground,(0,d.localize)(1362,\"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_KEYWORD_FOREGROUND=(0,k.registerColor)(\"symbolIcon.keywordForeground\",k.foreground,(0,d.localize)(1363,\"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_METHOD_FOREGROUND=(0,k.registerColor)(\"symbolIcon.methodForeground\",{dark:\"#B180D7\",light:\"#652D90\",hcDark:\"#B180D7\",hcLight:\"#652D90\"},(0,d.localize)(1364,\"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_MODULE_FOREGROUND=(0,k.registerColor)(\"symbolIcon.moduleForeground\",k.foreground,(0,d.localize)(1365,\"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_NAMESPACE_FOREGROUND=(0,k.registerColor)(\"symbolIcon.namespaceForeground\",k.foreground,(0,d.localize)(1366,\"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_NULL_FOREGROUND=(0,k.registerColor)(\"symbolIcon.nullForeground\",k.foreground,(0,d.localize)(1367,\"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_NUMBER_FOREGROUND=(0,k.registerColor)(\"symbolIcon.numberForeground\",k.foreground,(0,d.localize)(1368,\"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_OBJECT_FOREGROUND=(0,k.registerColor)(\"symbolIcon.objectForeground\",k.foreground,(0,d.localize)(1369,\"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_OPERATOR_FOREGROUND=(0,k.registerColor)(\"symbolIcon.operatorForeground\",k.foreground,(0,d.localize)(1370,\"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_PACKAGE_FOREGROUND=(0,k.registerColor)(\"symbolIcon.packageForeground\",k.foreground,(0,d.localize)(1371,\"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_PROPERTY_FOREGROUND=(0,k.registerColor)(\"symbolIcon.propertyForeground\",k.foreground,(0,d.localize)(1372,\"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_REFERENCE_FOREGROUND=(0,k.registerColor)(\"symbolIcon.referenceForeground\",k.foreground,(0,d.localize)(1373,\"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_SNIPPET_FOREGROUND=(0,k.registerColor)(\"symbolIcon.snippetForeground\",k.foreground,(0,d.localize)(1374,\"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_STRING_FOREGROUND=(0,k.registerColor)(\"symbolIcon.stringForeground\",k.foreground,(0,d.localize)(1375,\"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_STRUCT_FOREGROUND=(0,k.registerColor)(\"symbolIcon.structForeground\",k.foreground,(0,d.localize)(1376,\"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_TEXT_FOREGROUND=(0,k.registerColor)(\"symbolIcon.textForeground\",k.foreground,(0,d.localize)(1377,\"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=(0,k.registerColor)(\"symbolIcon.typeParameterForeground\",k.foreground,(0,d.localize)(1378,\"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_UNIT_FOREGROUND=(0,k.registerColor)(\"symbolIcon.unitForeground\",k.foreground,(0,d.localize)(1379,\"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\")),e.SYMBOL_ICON_VARIABLE_FOREGROUND=(0,k.registerColor)(\"symbolIcon.variableForeground\",{dark:\"#75BEFF\",light:\"#007ACC\",hcDark:\"#75BEFF\",hcLight:\"#007ACC\"},(0,d.localize)(1380,\"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.\"))}),define(ne[757],se([1,0,26,134,3,91,195,280]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.toMenuItems=_;const y=Object.freeze({kind:E.HierarchicalKind.Empty,title:(0,I.localize)(777,\"More Actions...\")}),m=Object.freeze([{kind:k.CodeActionKind.QuickFix,title:(0,I.localize)(778,\"Quick Fix\")},{kind:k.CodeActionKind.RefactorExtract,title:(0,I.localize)(779,\"Extract\"),icon:d.Codicon.wrench},{kind:k.CodeActionKind.RefactorInline,title:(0,I.localize)(780,\"Inline\"),icon:d.Codicon.wrench},{kind:k.CodeActionKind.RefactorRewrite,title:(0,I.localize)(781,\"Rewrite\"),icon:d.Codicon.wrench},{kind:k.CodeActionKind.RefactorMove,title:(0,I.localize)(782,\"Move\"),icon:d.Codicon.wrench},{kind:k.CodeActionKind.SurroundWith,title:(0,I.localize)(783,\"Surround With\"),icon:d.Codicon.surroundWith},{kind:k.CodeActionKind.Source,title:(0,I.localize)(784,\"Source Action\"),icon:d.Codicon.symbolFile},y]);function _(b,p,n){if(!p)return b.map(i=>({kind:\"action\",item:i,group:y,disabled:!!i.action.disabled,label:i.action.disabled||i.action.title,canPreview:!!i.action.edit?.edits.length}));const o=m.map(i=>({group:i,actions:[]}));for(const i of b){const s=i.action.kind?new E.HierarchicalKind(i.action.kind):E.HierarchicalKind.None;for(const g of o)if(g.group.kind.contains(s)){g.actions.push(i);break}}const t=[];for(const i of o)if(i.actions.length){t.push({kind:\"header\",group:i.group});for(const s of i.actions){const g=i.group;t.push({kind:\"action\",item:s,group:s.action.isAI?{title:g.title,kind:g.kind,icon:d.Codicon.sparkle}:g,label:s.action.title,disabled:!!s.action.disabled,keybinding:n(s.action)})}}return t}}),define(ne[110],se([1,0,32,33]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.defaultMenuStyles=e.defaultSelectBoxStyles=e.defaultListStyles=e.defaultBreadcrumbsWidgetStyles=e.defaultCountBadgeStyles=e.defaultFindWidgetStyles=e.defaultInputBoxStyles=e.defaultDialogStyles=e.defaultCheckboxStyles=e.defaultRadioStyles=e.defaultToggleStyles=e.defaultProgressBarStyles=e.defaultButtonStyles=e.defaultKeybindingLabelStyles=void 0,e.getListStyles=E;function I(y,m){const _={...m};for(const b in y){const p=y[b];_[b]=p!==void 0?(0,d.asCssVariable)(p):void 0}return _}e.defaultKeybindingLabelStyles={keybindingLabelBackground:(0,d.asCssVariable)(d.keybindingLabelBackground),keybindingLabelForeground:(0,d.asCssVariable)(d.keybindingLabelForeground),keybindingLabelBorder:(0,d.asCssVariable)(d.keybindingLabelBorder),keybindingLabelBottomBorder:(0,d.asCssVariable)(d.keybindingLabelBottomBorder),keybindingLabelShadow:(0,d.asCssVariable)(d.widgetShadow)},e.defaultButtonStyles={buttonForeground:(0,d.asCssVariable)(d.buttonForeground),buttonSeparator:(0,d.asCssVariable)(d.buttonSeparator),buttonBackground:(0,d.asCssVariable)(d.buttonBackground),buttonHoverBackground:(0,d.asCssVariable)(d.buttonHoverBackground),buttonSecondaryForeground:(0,d.asCssVariable)(d.buttonSecondaryForeground),buttonSecondaryBackground:(0,d.asCssVariable)(d.buttonSecondaryBackground),buttonSecondaryHoverBackground:(0,d.asCssVariable)(d.buttonSecondaryHoverBackground),buttonBorder:(0,d.asCssVariable)(d.buttonBorder)},e.defaultProgressBarStyles={progressBarBackground:(0,d.asCssVariable)(d.progressBarBackground)},e.defaultToggleStyles={inputActiveOptionBorder:(0,d.asCssVariable)(d.inputActiveOptionBorder),inputActiveOptionForeground:(0,d.asCssVariable)(d.inputActiveOptionForeground),inputActiveOptionBackground:(0,d.asCssVariable)(d.inputActiveOptionBackground)},e.defaultRadioStyles={activeForeground:(0,d.asCssVariable)(d.radioActiveForeground),activeBackground:(0,d.asCssVariable)(d.radioActiveBackground),activeBorder:(0,d.asCssVariable)(d.radioActiveBorder),inactiveForeground:(0,d.asCssVariable)(d.radioInactiveForeground),inactiveBackground:(0,d.asCssVariable)(d.radioInactiveBackground),inactiveBorder:(0,d.asCssVariable)(d.radioInactiveBorder),inactiveHoverBackground:(0,d.asCssVariable)(d.radioInactiveHoverBackground)},e.defaultCheckboxStyles={checkboxBackground:(0,d.asCssVariable)(d.checkboxBackground),checkboxBorder:(0,d.asCssVariable)(d.checkboxBorder),checkboxForeground:(0,d.asCssVariable)(d.checkboxForeground)},e.defaultDialogStyles={dialogBackground:(0,d.asCssVariable)(d.editorWidgetBackground),dialogForeground:(0,d.asCssVariable)(d.editorWidgetForeground),dialogShadow:(0,d.asCssVariable)(d.widgetShadow),dialogBorder:(0,d.asCssVariable)(d.contrastBorder),errorIconForeground:(0,d.asCssVariable)(d.problemsErrorIconForeground),warningIconForeground:(0,d.asCssVariable)(d.problemsWarningIconForeground),infoIconForeground:(0,d.asCssVariable)(d.problemsInfoIconForeground),textLinkForeground:(0,d.asCssVariable)(d.textLinkForeground)},e.defaultInputBoxStyles={inputBackground:(0,d.asCssVariable)(d.inputBackground),inputForeground:(0,d.asCssVariable)(d.inputForeground),inputBorder:(0,d.asCssVariable)(d.inputBorder),inputValidationInfoBorder:(0,d.asCssVariable)(d.inputValidationInfoBorder),inputValidationInfoBackground:(0,d.asCssVariable)(d.inputValidationInfoBackground),inputValidationInfoForeground:(0,d.asCssVariable)(d.inputValidationInfoForeground),inputValidationWarningBorder:(0,d.asCssVariable)(d.inputValidationWarningBorder),inputValidationWarningBackground:(0,d.asCssVariable)(d.inputValidationWarningBackground),inputValidationWarningForeground:(0,d.asCssVariable)(d.inputValidationWarningForeground),inputValidationErrorBorder:(0,d.asCssVariable)(d.inputValidationErrorBorder),inputValidationErrorBackground:(0,d.asCssVariable)(d.inputValidationErrorBackground),inputValidationErrorForeground:(0,d.asCssVariable)(d.inputValidationErrorForeground)},e.defaultFindWidgetStyles={listFilterWidgetBackground:(0,d.asCssVariable)(d.listFilterWidgetBackground),listFilterWidgetOutline:(0,d.asCssVariable)(d.listFilterWidgetOutline),listFilterWidgetNoMatchesOutline:(0,d.asCssVariable)(d.listFilterWidgetNoMatchesOutline),listFilterWidgetShadow:(0,d.asCssVariable)(d.listFilterWidgetShadow),inputBoxStyles:e.defaultInputBoxStyles,toggleStyles:e.defaultToggleStyles},e.defaultCountBadgeStyles={badgeBackground:(0,d.asCssVariable)(d.badgeBackground),badgeForeground:(0,d.asCssVariable)(d.badgeForeground),badgeBorder:(0,d.asCssVariable)(d.contrastBorder)},e.defaultBreadcrumbsWidgetStyles={breadcrumbsBackground:(0,d.asCssVariable)(d.breadcrumbsBackground),breadcrumbsForeground:(0,d.asCssVariable)(d.breadcrumbsForeground),breadcrumbsHoverForeground:(0,d.asCssVariable)(d.breadcrumbsFocusForeground),breadcrumbsFocusForeground:(0,d.asCssVariable)(d.breadcrumbsFocusForeground),breadcrumbsFocusAndSelectionForeground:(0,d.asCssVariable)(d.breadcrumbsActiveSelectionForeground)},e.defaultListStyles={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:(0,d.asCssVariable)(d.listFocusBackground),listFocusForeground:(0,d.asCssVariable)(d.listFocusForeground),listFocusOutline:(0,d.asCssVariable)(d.listFocusOutline),listActiveSelectionBackground:(0,d.asCssVariable)(d.listActiveSelectionBackground),listActiveSelectionForeground:(0,d.asCssVariable)(d.listActiveSelectionForeground),listActiveSelectionIconForeground:(0,d.asCssVariable)(d.listActiveSelectionIconForeground),listFocusAndSelectionOutline:(0,d.asCssVariable)(d.listFocusAndSelectionOutline),listFocusAndSelectionBackground:(0,d.asCssVariable)(d.listActiveSelectionBackground),listFocusAndSelectionForeground:(0,d.asCssVariable)(d.listActiveSelectionForeground),listInactiveSelectionBackground:(0,d.asCssVariable)(d.listInactiveSelectionBackground),listInactiveSelectionIconForeground:(0,d.asCssVariable)(d.listInactiveSelectionIconForeground),listInactiveSelectionForeground:(0,d.asCssVariable)(d.listInactiveSelectionForeground),listInactiveFocusBackground:(0,d.asCssVariable)(d.listInactiveFocusBackground),listInactiveFocusOutline:(0,d.asCssVariable)(d.listInactiveFocusOutline),listHoverBackground:(0,d.asCssVariable)(d.listHoverBackground),listHoverForeground:(0,d.asCssVariable)(d.listHoverForeground),listDropOverBackground:(0,d.asCssVariable)(d.listDropOverBackground),listDropBetweenBackground:(0,d.asCssVariable)(d.listDropBetweenBackground),listSelectionOutline:(0,d.asCssVariable)(d.activeContrastBorder),listHoverOutline:(0,d.asCssVariable)(d.activeContrastBorder),treeIndentGuidesStroke:(0,d.asCssVariable)(d.treeIndentGuidesStroke),treeInactiveIndentGuidesStroke:(0,d.asCssVariable)(d.treeInactiveIndentGuidesStroke),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:(0,d.asCssVariable)(d.scrollbarShadow),tableColumnsBorder:(0,d.asCssVariable)(d.tableColumnsBorder),tableOddRowsBackgroundColor:(0,d.asCssVariable)(d.tableOddRowsBackgroundColor)};function E(y){return I(y,e.defaultListStyles)}e.defaultSelectBoxStyles={selectBackground:(0,d.asCssVariable)(d.selectBackground),selectListBackground:(0,d.asCssVariable)(d.selectListBackground),selectForeground:(0,d.asCssVariable)(d.selectForeground),decoratorRightForeground:(0,d.asCssVariable)(d.pickerGroupForeground),selectBorder:(0,d.asCssVariable)(d.selectBorder),focusBorder:(0,d.asCssVariable)(d.focusBorder),listFocusBackground:(0,d.asCssVariable)(d.quickInputListFocusBackground),listInactiveSelectionIconForeground:(0,d.asCssVariable)(d.quickInputListFocusIconForeground),listFocusForeground:(0,d.asCssVariable)(d.quickInputListFocusForeground),listFocusOutline:(0,d.asCssVariableWithDefault)(d.activeContrastBorder,k.Color.transparent.toString()),listHoverBackground:(0,d.asCssVariable)(d.listHoverBackground),listHoverForeground:(0,d.asCssVariable)(d.listHoverForeground),listHoverOutline:(0,d.asCssVariable)(d.activeContrastBorder),selectListBorder:(0,d.asCssVariable)(d.editorWidgetBorder),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},e.defaultMenuStyles={shadowColor:(0,d.asCssVariable)(d.widgetShadow),borderColor:(0,d.asCssVariable)(d.menuBorder),foregroundColor:(0,d.asCssVariable)(d.menuForeground),backgroundColor:(0,d.asCssVariable)(d.menuBackground),selectionForegroundColor:(0,d.asCssVariable)(d.menuSelectionForeground),selectionBackgroundColor:(0,d.asCssVariable)(d.menuSelectionBackground),selectionBorderColor:(0,d.asCssVariable)(d.menuSelectionBorder),separatorColor:(0,d.asCssVariable)(d.menuSeparatorBackground),scrollbarShadow:(0,d.asCssVariable)(d.scrollbarShadow),scrollbarSliderBackground:(0,d.asCssVariable)(d.scrollbarSliderBackground),scrollbarSliderHoverBackground:(0,d.asCssVariable)(d.scrollbarSliderHoverBackground),scrollbarSliderActiveBackground:(0,d.asCssVariable)(d.scrollbarSliderActiveBackground)}}),define(ne[758],se([1,0,5,354,355,254,82,2,48,78,3,7,31,181,110,178]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";var g;Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessibilityProvider=e.OneReferenceRenderer=e.FileReferencesRenderer=e.IdentityProvider=e.StringRepresentationProvider=e.Delegate=e.DataSource=void 0;let c=class{constructor(S){this._resolverService=S}hasChildren(S){return S instanceof s.ReferencesModel||S instanceof s.FileReferences}getChildren(S){if(S instanceof s.ReferencesModel)return S.groups;if(S instanceof s.FileReferences)return S.resolve(this._resolverService).then(L=>L.children);throw new Error(\"bad tree\")}};e.DataSource=c,e.DataSource=c=ke([ce(0,b.ITextModelService)],c);class l{getHeight(){return 23}getTemplateId(S){return S instanceof s.FileReferences?C.id:h.id}}e.Delegate=l;let a=class{constructor(S){this._keybindingService=S}getKeyboardNavigationLabel(S){if(S instanceof s.OneReference){const L=S.parent.getPreview(S)?.preview(S.range);if(L)return L.value}return(0,_.basename)(S.uri)}};e.StringRepresentationProvider=a,e.StringRepresentationProvider=a=ke([ce(0,o.IKeybindingService)],a);class r{getId(S){return S instanceof s.OneReference?S.id:S.uri}}e.IdentityProvider=r;let u=class extends m.Disposable{constructor(S,L){super(),this._labelService=L;const D=document.createElement(\"div\");D.classList.add(\"reference-file\"),this.file=this._register(new E.IconLabel(D,{supportHighlights:!0})),this.badge=new k.CountBadge(d.append(D,d.$(\".count\")),{},i.defaultCountBadgeStyles),S.appendChild(D)}set(S,L){const D=(0,_.dirname)(S.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(S.uri),this._labelService.getUriLabel(D,{relative:!0}),{title:this._labelService.getUriLabel(S.uri),matches:L});const T=S.children.length;this.badge.setCount(T),T>1?this.badge.setTitleFormat((0,p.localize)(989,\"{0} references\",T)):this.badge.setTitleFormat((0,p.localize)(990,\"{0} reference\",T))}};u=ke([ce(1,t.ILabelService)],u);let C=class{static{g=this}static{this.id=\"FileReferencesRenderer\"}constructor(S){this._instantiationService=S,this.templateId=g.id}renderTemplate(S){return this._instantiationService.createInstance(u,S)}renderElement(S,L,D){D.set(S.element,(0,y.createMatches)(S.filterData))}disposeTemplate(S){S.dispose()}};e.FileReferencesRenderer=C,e.FileReferencesRenderer=C=g=ke([ce(0,n.IInstantiationService)],C);class f extends m.Disposable{constructor(S){super(),this.label=this._register(new I.HighlightedLabel(S))}set(S,L){const D=S.parent.getPreview(S)?.preview(S.range);if(!D||!D.value)this.label.set(`${(0,_.basename)(S.uri)}:${S.range.startLineNumber+1}:${S.range.startColumn+1}`);else{const{value:T,highlight:M}=D;L&&!y.FuzzyScore.isDefault(L)?(this.label.element.classList.toggle(\"referenceMatch\",!1),this.label.set(T,(0,y.createMatches)(L))):(this.label.element.classList.toggle(\"referenceMatch\",!0),this.label.set(T,[M]))}}}class h{constructor(){this.templateId=h.id}static{this.id=\"OneReferenceRenderer\"}renderTemplate(S){return new f(S)}renderElement(S,L,D){D.set(S.element,S.filterData)}disposeTemplate(S){S.dispose()}}e.OneReferenceRenderer=h;class v{getWidgetAriaLabel(){return(0,p.localize)(991,\"References\")}getAriaLabel(S){return S.ariaMessage}}e.AccessibilityProvider=v}),define(ne[759],se([1,0,5,206,115,18,26,2,16,30,3,58,31,110,32,306]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ActionList=e.previewSelectedActionCommand=e.acceptSelectedActionCommand=void 0,e.acceptSelectedActionCommand=\"acceptSelectedCodeAction\",e.previewSelectedActionCommand=\"previewSelectedCodeAction\";class s{get templateId(){return\"header\"}renderTemplate(f){f.classList.add(\"group-header\");const h=document.createElement(\"span\");return f.append(h),{container:f,text:h}}renderElement(f,h,v){v.text.textContent=f.group?.title??\"\"}disposeTemplate(f){}}let g=class{get templateId(){return\"action\"}constructor(f,h){this._supportsPreview=f,this._keybindingService=h}renderTemplate(f){f.classList.add(this.templateId);const h=document.createElement(\"div\");h.className=\"icon\",f.append(h);const v=document.createElement(\"span\");v.className=\"title\",f.append(v);const w=new k.KeybindingLabel(f,_.OS);return{container:f,icon:h,text:v,keybinding:w}}renderElement(f,h,v){if(f.group?.icon?(v.icon.className=b.ThemeIcon.asClassName(f.group.icon),f.group.icon.color&&(v.icon.style.color=(0,i.asCssVariable)(f.group.icon.color.id))):(v.icon.className=b.ThemeIcon.asClassName(y.Codicon.lightBulb),v.icon.style.color=\"var(--vscode-editorLightBulb-foreground)\"),!f.item||!f.label)return;v.text.textContent=u(f.label),v.keybinding.set(f.keybinding),d.setVisibility(!!f.keybinding,v.keybinding.element);const w=this._keybindingService.lookupKeybinding(e.acceptSelectedActionCommand)?.getLabel(),S=this._keybindingService.lookupKeybinding(e.previewSelectedActionCommand)?.getLabel();v.container.classList.toggle(\"option-disabled\",f.disabled),f.disabled?v.container.title=f.label:w&&S?this._supportsPreview&&f.canPreview?v.container.title=(0,p.localize)(1492,\"{0} to Apply, {1} to Preview\",w,S):v.container.title=(0,p.localize)(1493,\"{0} to Apply\",w):v.container.title=\"\"}disposeTemplate(f){f.keybinding.dispose()}};g=ke([ce(1,o.IKeybindingService)],g);class c extends UIEvent{constructor(){super(\"acceptSelectedAction\")}}class l extends UIEvent{constructor(){super(\"previewSelectedAction\")}}function a(C){if(C.kind===\"action\")return C.label}let r=class extends m.Disposable{constructor(f,h,v,w,S,L){super(),this._delegate=w,this._contextViewService=S,this._keybindingService=L,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new E.CancellationTokenSource),this.domNode=document.createElement(\"div\"),this.domNode.classList.add(\"actionList\");const D={getHeight:T=>T.kind===\"header\"?this._headerLineHeight:this._actionLineHeight,getTemplateId:T=>T.kind};this._list=this._register(new I.List(f,this.domNode,D,[new g(h,this._keybindingService),new s],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:a},accessibilityProvider:{getAriaLabel:T=>{if(T.kind===\"action\"){let M=T.label?u(T?.label):\"\";return T.disabled&&(M=(0,p.localize)(1494,\"{0}, Disabled Reason: {1}\",M,T.disabled)),M}return null},getWidgetAriaLabel:()=>(0,p.localize)(1495,\"Action Widget\"),getRole:T=>T.kind===\"action\"?\"option\":\"separator\",getWidgetRole:()=>\"listbox\"}})),this._list.style(t.defaultListStyles),this._register(this._list.onMouseClick(T=>this.onListClick(T))),this._register(this._list.onMouseOver(T=>this.onListHover(T))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(T=>this.onListSelection(T))),this._allMenuItems=v,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(f){return!f.disabled&&f.kind===\"action\"}hide(f){this._delegate.onHide(f),this.cts.cancel(),this._contextViewService.hideContextView()}layout(f){const h=this._allMenuItems.filter(T=>T.kind===\"header\").length,w=this._allMenuItems.length*this._actionLineHeight+h*this._headerLineHeight-h*this._actionLineHeight;this._list.layout(w);let S=f;if(this._allMenuItems.length>=50)S=380;else{const T=this._allMenuItems.map((M,A)=>{const P=this.domNode.ownerDocument.getElementById(this._list.getElementID(A));if(P){P.style.width=\"auto\";const N=P.getBoundingClientRect().width;return P.style.width=\"\",N}return 0});S=Math.max(...T,f)}const D=Math.min(w,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(D,S),this.domNode.style.height=`${D}px`,this._list.domFocus(),S}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(f){const h=this._list.getFocus();if(h.length===0)return;const v=h[0],w=this._list.element(v);if(!this.focusCondition(w))return;const S=f?new l:new c;this._list.setSelection([v],S)}onListSelection(f){if(!f.elements.length)return;const h=f.elements[0];h.item&&this.focusCondition(h)?this._delegate.onSelect(h.item,f.browserEvent instanceof l):this._list.setSelection([])}onFocus(){const f=this._list.getFocus();if(f.length===0)return;const h=f[0],v=this._list.element(h);this._delegate.onFocus?.(v.item)}async onListHover(f){const h=f.element;if(h&&h.item&&this.focusCondition(h)){if(this._delegate.onHover&&!h.disabled&&h.kind===\"action\"){const v=await this._delegate.onHover(h.item,this.cts.token);h.canPreview=v?v.canPreview:void 0}f.index&&this._list.splice(f.index,1,[h])}this._list.setFocus(typeof f.index==\"number\"?[f.index]:[])}onListClick(f){f.element&&this.focusCondition(f.element)&&this._list.setFocus([])}};e.ActionList=r,e.ActionList=r=ke([ce(4,n.IContextViewService),ce(5,o.IKeybindingService)],r);function u(C){return C.replace(/\\r\\n|\\r|\\n/g,\" \")}}),define(ne[760],se([1,0,5,87,2,3,759,29,12,58,49,7,32,306]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IActionWidgetService=void 0,(0,o.registerColor)(\"actionBar.toggledBackground\",o.inputActiveOptionBackground,(0,E.localize)(1496,\"Background color for toggled action items in action bar.\"));const t={Visible:new _.RawContextKey(\"codeActionMenuVisible\",!1,(0,E.localize)(1497,\"Whether the action widget list is visible\"))};e.IActionWidgetService=(0,n.createDecorator)(\"actionWidgetService\");let i=class extends I.Disposable{get isVisible(){return t.Visible.getValue(this._contextKeyService)||!1}constructor(c,l,a){super(),this._contextViewService=c,this._contextKeyService=l,this._instantiationService=a,this._list=this._register(new I.MutableDisposable)}show(c,l,a,r,u,C,f){const h=t.Visible.bindTo(this._contextKeyService),v=this._instantiationService.createInstance(y.ActionList,c,l,a,r);this._contextViewService.showContextView({getAnchor:()=>u,render:w=>(h.set(!0),this._renderWidget(w,v,f??[])),onHide:w=>{h.reset(),this._onWidgetClosed(w)}},C,!1)}acceptSelected(c){this._list.value?.acceptSelected(c)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}hide(c){this._list.value?.hide(c),this._list.clear()}_renderWidget(c,l,a){const r=document.createElement(\"div\");if(r.classList.add(\"action-widget\"),c.appendChild(r),this._list.value=l,this._list.value)r.appendChild(this._list.value.domNode);else throw new Error(\"List has no value\");const u=new I.DisposableStore,C=document.createElement(\"div\"),f=c.appendChild(C);f.classList.add(\"context-view-block\"),u.add(d.addDisposableListener(f,d.EventType.MOUSE_DOWN,D=>D.stopPropagation()));const h=document.createElement(\"div\"),v=c.appendChild(h);v.classList.add(\"context-view-pointerBlock\"),u.add(d.addDisposableListener(v,d.EventType.POINTER_MOVE,()=>v.remove())),u.add(d.addDisposableListener(v,d.EventType.MOUSE_DOWN,()=>v.remove()));let w=0;if(a.length){const D=this._createActionBar(\".action-widget-action-bar\",a);D&&(r.appendChild(D.getContainer().parentElement),u.add(D),w=D.getContainer().offsetWidth)}const S=this._list.value?.layout(w);r.style.width=`${S}px`;const L=u.add(d.trackFocus(c));return u.add(L.onDidBlur(()=>this.hide(!0))),u}_createActionBar(c,l){if(!l.length)return;const a=d.$(c),r=new k.ActionBar(a);return r.push(l,{icon:!1,label:!0}),r}_onWidgetClosed(c){this._list.value?.hide(c)}};i=ke([ce(0,b.IContextViewService),ce(1,_.IContextKeyService),ce(2,n.IInstantiationService)],i),(0,p.registerSingleton)(e.IActionWidgetService,i,1);const s=1100;(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:\"hideCodeActionWidget\",title:(0,E.localize2)(1498,\"Hide action widget\"),precondition:t.Visible,keybinding:{weight:s,primary:9,secondary:[1033]}})}run(g){g.get(e.IActionWidgetService).hide(!0)}}),(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:\"selectPrevCodeAction\",title:(0,E.localize2)(1499,\"Select previous action\"),precondition:t.Visible,keybinding:{weight:s,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(g){const c=g.get(e.IActionWidgetService);c instanceof i&&c.focusPrevious()}}),(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:\"selectNextCodeAction\",title:(0,E.localize2)(1500,\"Select next action\"),precondition:t.Visible,keybinding:{weight:s,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(g){const c=g.get(e.IActionWidgetService);c instanceof i&&c.focusNext()}}),(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:y.acceptSelectedActionCommand,title:(0,E.localize2)(1501,\"Accept selected action\"),precondition:t.Visible,keybinding:{weight:s,primary:3,secondary:[2137]}})}run(g){const c=g.get(e.IActionWidgetService);c instanceof i&&c.acceptSelected()}}),(0,m.registerAction2)(class extends m.Action2{constructor(){super({id:y.previewSelectedActionCommand,title:(0,E.localize2)(1502,\"Preview selected action\"),precondition:t.Visible,keybinding:{weight:s,primary:2051}})}run(g){const c=g.get(e.IActionWidgetService);c instanceof i&&c.acceptSelected(!0)}})}),define(ne[761],se([1,0,5,77,642,41,8,2,110]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextMenuHandler=void 0;class b{constructor(n,o,t,i){this.contextViewService=n,this.telemetryService=o,this.notificationService=t,this.keybindingService=i,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(n){this.options=n}showContextMenu(n){const o=n.getActions();if(!o.length)return;this.focusToReturn=(0,d.getActiveElement)();let t;const i=(0,d.isHTMLElement)(n.domForShadowRoot)?n.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>n.getAnchor(),canRelayout:!1,anchorAlignment:n.anchorAlignment,anchorAxisAlignment:n.anchorAxisAlignment,render:s=>{this.lastContainer=s;const g=n.getMenuClassName?n.getMenuClassName():\"\";g&&(s.className+=\" \"+g),this.options.blockMouse&&(this.block=s.appendChild((0,d.$)(\".context-view-block\")),this.block.style.position=\"fixed\",this.block.style.cursor=\"initial\",this.block.style.left=\"0\",this.block.style.top=\"0\",this.block.style.width=\"100%\",this.block.style.height=\"100%\",this.block.style.zIndex=\"-1\",this.blockDisposable?.dispose(),this.blockDisposable=(0,d.addDisposableListener)(this.block,d.EventType.MOUSE_DOWN,r=>r.stopPropagation()));const c=new m.DisposableStore,l=n.actionRunner||new E.ActionRunner;l.onWillRun(r=>this.onActionRun(r,!n.skipTelemetry),this,c),l.onDidRun(this.onDidActionRun,this,c),t=new I.Menu(s,o,{actionViewItemProvider:n.getActionViewItem,context:n.getActionsContext?n.getActionsContext():null,actionRunner:l,getKeyBinding:n.getKeyBinding?n.getKeyBinding:r=>this.keybindingService.lookupKeybinding(r.id)},_.defaultMenuStyles),t.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,c),t.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,c);const a=(0,d.getWindow)(s);return c.add((0,d.addDisposableListener)(a,d.EventType.BLUR,()=>this.contextViewService.hideContextView(!0))),c.add((0,d.addDisposableListener)(a,d.EventType.MOUSE_DOWN,r=>{if(r.defaultPrevented)return;const u=new k.StandardMouseEvent(a,r);let C=u.target;if(!u.rightButton){for(;C;){if(C===s)return;C=C.parentElement}this.contextViewService.hideContextView(!0)}})),(0,m.combinedDisposable)(c,t)},focus:()=>{t?.focus(!!n.autoSelectFirstItem)},onHide:s=>{n.onHide?.(!!s),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&((0,d.getActiveElement)()===this.lastContainer||(0,d.isAncestor)((0,d.getActiveElement)(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},i,!!i)}onActionRun(n,o){o&&this.telemetryService.publicLog2(\"workbenchActionExecuted\",{id:n.action.id,from:\"contextMenu\"}),this.contextViewService.hideContextView(!1)}onDidActionRun(n){n.error&&!(0,y.isCancellationError)(n.error)&&this.notificationService.error(n.error)}}e.ContextMenuHandler=b}),define(ne[216],se([1,0,5,637,115,638,176,645,644,360,6,2,3,28,109,12,179,58,7,31,38,110]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WorkbenchCompressibleAsyncDataTree=e.WorkbenchAsyncDataTree=e.WorkbenchDataTree=e.WorkbenchCompressibleObjectTree=e.WorkbenchObjectTree=e.WorkbenchTable=e.WorkbenchPagedList=e.WorkbenchList=e.WorkbenchTreeFindOpen=e.WorkbenchTreeElementHasChild=e.WorkbenchTreeElementCanExpand=e.WorkbenchTreeElementHasParent=e.WorkbenchTreeElementCanCollapse=e.WorkbenchListSupportsFind=e.WorkbenchListSelectionNavigation=e.WorkbenchListMultiSelection=e.WorkbenchListDoubleSelection=e.WorkbenchListHasSelectionOrFocus=e.WorkbenchListFocusContextKey=e.WorkbenchListSupportsMultiSelectContextKey=e.WorkbenchTreeStickyScrollFocused=e.RawWorkbenchListFocusContextKey=e.WorkbenchListScrollAtBottomContextKey=e.WorkbenchListScrollAtTopContextKey=e.RawWorkbenchListScrollAtBoundaryContextKey=e.ListService=e.IListService=void 0,e.IListService=(0,l.createDecorator)(\"listService\");class C{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new n.DisposableStore,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(le){le!==this._lastFocusedWidget&&(this._lastFocusedWidget?.getHTMLElement().classList.remove(\"last-focused\"),this._lastFocusedWidget=le,this._lastFocusedWidget?.getHTMLElement().classList.add(\"last-focused\"))}register(le,me){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new I.DefaultStyleController((0,d.createStyleSheet)(),\"\").style(u.defaultListStyles)),this.lists.some(ye=>ye.widget===le))throw new Error(\"Cannot register the same widget multiple times\");const Ce={widget:le,extraContextKeys:me};return this.lists.push(Ce),(0,d.isActiveElement)(le.getHTMLElement())&&this.setLastFocusedList(le),(0,n.combinedDisposable)(le.onDidFocus(()=>this.setLastFocusedList(le)),(0,n.toDisposable)(()=>this.lists.splice(this.lists.indexOf(Ce),1)),le.onDidDispose(()=>{this.lists=this.lists.filter(ye=>ye!==Ce),this._lastFocusedWidget===le&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}e.ListService=C,e.RawWorkbenchListScrollAtBoundaryContextKey=new s.RawContextKey(\"listScrollAtBoundary\",\"none\"),e.WorkbenchListScrollAtTopContextKey=s.ContextKeyExpr.or(e.RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo(\"top\"),e.RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo(\"both\")),e.WorkbenchListScrollAtBottomContextKey=s.ContextKeyExpr.or(e.RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo(\"bottom\"),e.RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo(\"both\")),e.RawWorkbenchListFocusContextKey=new s.RawContextKey(\"listFocus\",!0),e.WorkbenchTreeStickyScrollFocused=new s.RawContextKey(\"treestickyScrollFocused\",!1),e.WorkbenchListSupportsMultiSelectContextKey=new s.RawContextKey(\"listSupportsMultiselect\",!0),e.WorkbenchListFocusContextKey=s.ContextKeyExpr.and(e.RawWorkbenchListFocusContextKey,s.ContextKeyExpr.not(g.InputFocusedContextKey),e.WorkbenchTreeStickyScrollFocused.negate()),e.WorkbenchListHasSelectionOrFocus=new s.RawContextKey(\"listHasSelectionOrFocus\",!1),e.WorkbenchListDoubleSelection=new s.RawContextKey(\"listDoubleSelection\",!1),e.WorkbenchListMultiSelection=new s.RawContextKey(\"listMultiSelection\",!1),e.WorkbenchListSelectionNavigation=new s.RawContextKey(\"listSelectionNavigation\",!1),e.WorkbenchListSupportsFind=new s.RawContextKey(\"listSupportsFind\",!0),e.WorkbenchTreeElementCanCollapse=new s.RawContextKey(\"treeElementCanCollapse\",!1),e.WorkbenchTreeElementHasParent=new s.RawContextKey(\"treeElementHasParent\",!1),e.WorkbenchTreeElementCanExpand=new s.RawContextKey(\"treeElementCanExpand\",!1),e.WorkbenchTreeElementHasChild=new s.RawContextKey(\"treeElementHasChild\",!1),e.WorkbenchTreeFindOpen=new s.RawContextKey(\"treeFindOpen\",!1);const f=\"listTypeNavigationMode\",h=\"listAutomaticKeyboardNavigation\";function v(re,le){const me=re.createScoped(le.getHTMLElement());return e.RawWorkbenchListFocusContextKey.bindTo(me),me}function w(re,le){const me=e.RawWorkbenchListScrollAtBoundaryContextKey.bindTo(re),Ce=()=>{const ye=le.scrollTop===0,Le=le.scrollHeight-le.renderHeight-le.scrollTop<1;ye&&Le?me.set(\"both\"):ye?me.set(\"top\"):Le?me.set(\"bottom\"):me.set(\"none\")};return Ce(),le.onDidScroll(Ce)}const S=\"workbench.list.multiSelectModifier\",L=\"workbench.list.openMode\",D=\"workbench.list.horizontalScrolling\",T=\"workbench.list.defaultFindMode\",M=\"workbench.list.typeNavigationMode\",A=\"workbench.list.keyboardNavigation\",P=\"workbench.list.scrollByPage\",N=\"workbench.list.defaultFindMatchType\",O=\"workbench.tree.indent\",F=\"workbench.tree.renderIndentGuides\",x=\"workbench.list.smoothScrolling\",W=\"workbench.list.mouseWheelScrollSensitivity\",V=\"workbench.list.fastScrollSensitivity\",q=\"workbench.tree.expandMode\",H=\"workbench.tree.enableStickyScroll\",z=\"workbench.tree.stickyScrollMaxItemCount\";function U(re){return re.getValue(S)===\"alt\"}class j extends n.Disposable{constructor(le){super(),this.configurationService=le,this.useAltAsMultipleSelectionModifier=U(le),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(le=>{le.affectsConfiguration(S)&&(this.useAltAsMultipleSelectionModifier=U(this.configurationService))}))}isSelectionSingleChangeEvent(le){return this.useAltAsMultipleSelectionModifier?le.browserEvent.altKey:(0,I.isSelectionSingleChangeEvent)(le)}isSelectionRangeChangeEvent(le){return(0,I.isSelectionRangeChangeEvent)(le)}}function Y(re,le){const me=re.get(t.IConfigurationService),Ce=re.get(a.IKeybindingService),ye=new n.DisposableStore;return[{...le,keyboardNavigationDelegate:{mightProducePrintableCharacter(Ee){return Ce.mightProducePrintableCharacter(Ee)}},smoothScrolling:!!me.getValue(x),mouseWheelScrollSensitivity:me.getValue(W),fastScrollSensitivity:me.getValue(V),multipleSelectionController:le.multipleSelectionController??ye.add(new j(me)),keyboardNavigationEventFilter:pe(Ce),scrollByPage:!!me.getValue(P)},ye]}let G=class extends I.List{constructor(le,me,Ce,ye,Le,Ee,Me,Ae,Ne){const Ke=typeof Le.horizontalScrolling<\"u\"?Le.horizontalScrolling:!!Ae.getValue(D),[ze,Ge]=Ne.invokeFunction(Y,Le);super(le,me,Ce,ye,{keyboardSupport:!1,...ze,horizontalScrolling:Ke}),this.disposables.add(Ge),this.contextKeyService=v(Ee,this),this.disposables.add(w(this.contextKeyService,this)),this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Le.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!Le.selectionNavigation),this.listHasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=Le.horizontalScrolling,this._useAltAsMultipleSelectionModifier=U(Ae),this.disposables.add(this.contextKeyService),this.disposables.add(Me.register(this)),this.updateStyles(Le.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const Oe=this.getSelection(),Fe=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(Oe.length>0||Fe.length>0),this.listMultiSelection.set(Oe.length>1),this.listDoubleSelection.set(Oe.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const Oe=this.getSelection(),Fe=this.getFocus();this.listHasSelectionOrFocus.set(Oe.length>0||Fe.length>0)})),this.disposables.add(Ae.onDidChangeConfiguration(Oe=>{Oe.affectsConfiguration(S)&&(this._useAltAsMultipleSelectionModifier=U(Ae));let Fe={};if(Oe.affectsConfiguration(D)&&this.horizontalScrolling===void 0){const fe=!!Ae.getValue(D);Fe={...Fe,horizontalScrolling:fe}}if(Oe.affectsConfiguration(P)){const fe=!!Ae.getValue(P);Fe={...Fe,scrollByPage:fe}}if(Oe.affectsConfiguration(x)){const fe=!!Ae.getValue(x);Fe={...Fe,smoothScrolling:fe}}if(Oe.affectsConfiguration(W)){const fe=Ae.getValue(W);Fe={...Fe,mouseWheelScrollSensitivity:fe}}if(Oe.affectsConfiguration(V)){const fe=Ae.getValue(V);Fe={...Fe,fastScrollSensitivity:fe}}Object.keys(Fe).length>0&&this.updateOptions(Fe)})),this.navigator=new ie(this,{configurationService:Ae,...Le}),this.disposables.add(this.navigator)}updateOptions(le){super.updateOptions(le),le.overrideStyles!==void 0&&this.updateStyles(le.overrideStyles),le.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!le.multipleSelectionSupport)}updateStyles(le){this.style(le?(0,u.getListStyles)(le):u.defaultListStyles)}};e.WorkbenchList=G,e.WorkbenchList=G=ke([ce(5,s.IContextKeyService),ce(6,e.IListService),ce(7,t.IConfigurationService),ce(8,l.IInstantiationService)],G);let K=class extends k.PagedList{constructor(le,me,Ce,ye,Le,Ee,Me,Ae,Ne){const Ke=typeof Le.horizontalScrolling<\"u\"?Le.horizontalScrolling:!!Ae.getValue(D),[ze,Ge]=Ne.invokeFunction(Y,Le);super(le,me,Ce,ye,{keyboardSupport:!1,...ze,horizontalScrolling:Ke}),this.disposables=new n.DisposableStore,this.disposables.add(Ge),this.contextKeyService=v(Ee,this),this.disposables.add(w(this.contextKeyService,this.widget)),this.horizontalScrolling=Le.horizontalScrolling,this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Le.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!Le.selectionNavigation),this._useAltAsMultipleSelectionModifier=U(Ae),this.disposables.add(this.contextKeyService),this.disposables.add(Me.register(this)),this.updateStyles(Le.overrideStyles),this.disposables.add(Ae.onDidChangeConfiguration(Oe=>{Oe.affectsConfiguration(S)&&(this._useAltAsMultipleSelectionModifier=U(Ae));let Fe={};if(Oe.affectsConfiguration(D)&&this.horizontalScrolling===void 0){const fe=!!Ae.getValue(D);Fe={...Fe,horizontalScrolling:fe}}if(Oe.affectsConfiguration(P)){const fe=!!Ae.getValue(P);Fe={...Fe,scrollByPage:fe}}if(Oe.affectsConfiguration(x)){const fe=!!Ae.getValue(x);Fe={...Fe,smoothScrolling:fe}}if(Oe.affectsConfiguration(W)){const fe=Ae.getValue(W);Fe={...Fe,mouseWheelScrollSensitivity:fe}}if(Oe.affectsConfiguration(V)){const fe=Ae.getValue(V);Fe={...Fe,fastScrollSensitivity:fe}}Object.keys(Fe).length>0&&this.updateOptions(Fe)})),this.navigator=new ie(this,{configurationService:Ae,...Le}),this.disposables.add(this.navigator)}updateOptions(le){super.updateOptions(le),le.overrideStyles!==void 0&&this.updateStyles(le.overrideStyles),le.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!le.multipleSelectionSupport)}updateStyles(le){this.style(le?(0,u.getListStyles)(le):u.defaultListStyles)}dispose(){this.disposables.dispose(),super.dispose()}};e.WorkbenchPagedList=K,e.WorkbenchPagedList=K=ke([ce(5,s.IContextKeyService),ce(6,e.IListService),ce(7,t.IConfigurationService),ce(8,l.IInstantiationService)],K);let R=class extends E.Table{constructor(le,me,Ce,ye,Le,Ee,Me,Ae,Ne,Ke){const ze=typeof Ee.horizontalScrolling<\"u\"?Ee.horizontalScrolling:!!Ne.getValue(D),[Ge,it]=Ke.invokeFunction(Y,Ee);super(le,me,Ce,ye,Le,{keyboardSupport:!1,...Ge,horizontalScrolling:ze}),this.disposables.add(it),this.contextKeyService=v(Me,this),this.disposables.add(w(this.contextKeyService,this)),this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ee.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!Ee.selectionNavigation),this.listHasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=Ee.horizontalScrolling,this._useAltAsMultipleSelectionModifier=U(Ne),this.disposables.add(this.contextKeyService),this.disposables.add(Ae.register(this)),this.updateStyles(Ee.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const Fe=this.getSelection(),fe=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(Fe.length>0||fe.length>0),this.listMultiSelection.set(Fe.length>1),this.listDoubleSelection.set(Fe.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const Fe=this.getSelection(),fe=this.getFocus();this.listHasSelectionOrFocus.set(Fe.length>0||fe.length>0)})),this.disposables.add(Ne.onDidChangeConfiguration(Fe=>{Fe.affectsConfiguration(S)&&(this._useAltAsMultipleSelectionModifier=U(Ne));let fe={};if(Fe.affectsConfiguration(D)&&this.horizontalScrolling===void 0){const _e=!!Ne.getValue(D);fe={...fe,horizontalScrolling:_e}}if(Fe.affectsConfiguration(P)){const _e=!!Ne.getValue(P);fe={...fe,scrollByPage:_e}}if(Fe.affectsConfiguration(x)){const _e=!!Ne.getValue(x);fe={...fe,smoothScrolling:_e}}if(Fe.affectsConfiguration(W)){const _e=Ne.getValue(W);fe={...fe,mouseWheelScrollSensitivity:_e}}if(Fe.affectsConfiguration(V)){const _e=Ne.getValue(V);fe={...fe,fastScrollSensitivity:_e}}Object.keys(fe).length>0&&this.updateOptions(fe)})),this.navigator=new ue(this,{configurationService:Ne,...Ee}),this.disposables.add(this.navigator)}updateOptions(le){super.updateOptions(le),le.overrideStyles!==void 0&&this.updateStyles(le.overrideStyles),le.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!le.multipleSelectionSupport)}updateStyles(le){this.style(le?(0,u.getListStyles)(le):u.defaultListStyles)}dispose(){this.disposables.dispose(),super.dispose()}};e.WorkbenchTable=R,e.WorkbenchTable=R=ke([ce(6,s.IContextKeyService),ce(7,e.IListService),ce(8,t.IConfigurationService),ce(9,l.IInstantiationService)],R);class J extends n.Disposable{constructor(le,me){super(),this.widget=le,this._onDidOpen=this._register(new p.Emitter),this.onDidOpen=this._onDidOpen.event,this._register(p.Event.filter(this.widget.onDidChangeSelection,Ce=>(0,d.isKeyboardEvent)(Ce.browserEvent))(Ce=>this.onSelectionFromKeyboard(Ce))),this._register(this.widget.onPointer(Ce=>this.onPointer(Ce.element,Ce.browserEvent))),this._register(this.widget.onMouseDblClick(Ce=>this.onMouseDblClick(Ce.element,Ce.browserEvent))),typeof me?.openOnSingleClick!=\"boolean\"&&me?.configurationService?(this.openOnSingleClick=me?.configurationService.getValue(L)!==\"doubleClick\",this._register(me?.configurationService.onDidChangeConfiguration(Ce=>{Ce.affectsConfiguration(L)&&(this.openOnSingleClick=me?.configurationService.getValue(L)!==\"doubleClick\")}))):this.openOnSingleClick=me?.openOnSingleClick??!0}onSelectionFromKeyboard(le){if(le.elements.length!==1)return;const me=le.browserEvent,Ce=typeof me.preserveFocus==\"boolean\"?me.preserveFocus:!0,ye=typeof me.pinned==\"boolean\"?me.pinned:!Ce;this._open(this.getSelectedElement(),Ce,ye,!1,le.browserEvent)}onPointer(le,me){if(!this.openOnSingleClick||me.detail===2)return;const ye=me.button===1,Le=!0,Ee=ye,Me=me.ctrlKey||me.metaKey||me.altKey;this._open(le,Le,Ee,Me,me)}onMouseDblClick(le,me){if(!me)return;const Ce=me.target;if(Ce.classList.contains(\"monaco-tl-twistie\")||Ce.classList.contains(\"monaco-icon-label\")&&Ce.classList.contains(\"folder-icon\")&&me.offsetX<16)return;const Le=!1,Ee=!0,Me=me.ctrlKey||me.metaKey||me.altKey;this._open(le,Le,Ee,Me,me)}_open(le,me,Ce,ye,Le){le&&this._onDidOpen.fire({editorOptions:{preserveFocus:me,pinned:Ce,revealIfVisible:!0},sideBySide:ye,element:le,browserEvent:Le})}}class ie extends J{constructor(le,me){super(le,me),this.widget=le}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class ue extends J{constructor(le,me){super(le,me)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class he extends J{constructor(le,me){super(le,me)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}}function pe(re){let le=!1;return me=>{if(me.toKeyCodeChord().isModifierKey())return!1;if(le)return le=!1,!1;const Ce=re.softDispatch(me,me.target);return Ce.kind===1?(le=!0,!1):(le=!1,Ce.kind===0)}}let ae=class extends b.ObjectTree{constructor(le,me,Ce,ye,Le,Ee,Me,Ae,Ne){const{options:Ke,getTypeNavigationMode:ze,disposable:Ge}=Ee.invokeFunction(Q,Le);super(le,me,Ce,ye,Ke),this.disposables.add(Ge),this.internals=new Z(this,Le,ze,Le.overrideStyles,Me,Ae,Ne),this.disposables.add(this.internals)}updateOptions(le){super.updateOptions(le),this.internals.updateOptions(le)}};e.WorkbenchObjectTree=ae,e.WorkbenchObjectTree=ae=ke([ce(5,l.IInstantiationService),ce(6,s.IContextKeyService),ce(7,e.IListService),ce(8,t.IConfigurationService)],ae);let ee=class extends b.CompressibleObjectTree{constructor(le,me,Ce,ye,Le,Ee,Me,Ae,Ne){const{options:Ke,getTypeNavigationMode:ze,disposable:Ge}=Ee.invokeFunction(Q,Le);super(le,me,Ce,ye,Ke),this.disposables.add(Ge),this.internals=new Z(this,Le,ze,Le.overrideStyles,Me,Ae,Ne),this.disposables.add(this.internals)}updateOptions(le={}){super.updateOptions(le),le.overrideStyles&&this.internals.updateStyleOverrides(le.overrideStyles),this.internals.updateOptions(le)}};e.WorkbenchCompressibleObjectTree=ee,e.WorkbenchCompressibleObjectTree=ee=ke([ce(5,l.IInstantiationService),ce(6,s.IContextKeyService),ce(7,e.IListService),ce(8,t.IConfigurationService)],ee);let de=class extends _.DataTree{constructor(le,me,Ce,ye,Le,Ee,Me,Ae,Ne,Ke){const{options:ze,getTypeNavigationMode:Ge,disposable:it}=Me.invokeFunction(Q,Ee);super(le,me,Ce,ye,Le,ze),this.disposables.add(it),this.internals=new Z(this,Ee,Ge,Ee.overrideStyles,Ae,Ne,Ke),this.disposables.add(this.internals)}updateOptions(le={}){super.updateOptions(le),le.overrideStyles!==void 0&&this.internals.updateStyleOverrides(le.overrideStyles),this.internals.updateOptions(le)}};e.WorkbenchDataTree=de,e.WorkbenchDataTree=de=ke([ce(6,l.IInstantiationService),ce(7,s.IContextKeyService),ce(8,e.IListService),ce(9,t.IConfigurationService)],de);let ge=class extends m.AsyncDataTree{get onDidOpen(){return this.internals.onDidOpen}constructor(le,me,Ce,ye,Le,Ee,Me,Ae,Ne,Ke){const{options:ze,getTypeNavigationMode:Ge,disposable:it}=Me.invokeFunction(Q,Ee);super(le,me,Ce,ye,Le,ze),this.disposables.add(it),this.internals=new Z(this,Ee,Ge,Ee.overrideStyles,Ae,Ne,Ke),this.disposables.add(this.internals)}updateOptions(le={}){super.updateOptions(le),le.overrideStyles&&this.internals.updateStyleOverrides(le.overrideStyles),this.internals.updateOptions(le)}};e.WorkbenchAsyncDataTree=ge,e.WorkbenchAsyncDataTree=ge=ke([ce(6,l.IInstantiationService),ce(7,s.IContextKeyService),ce(8,e.IListService),ce(9,t.IConfigurationService)],ge);let X=class extends m.CompressibleAsyncDataTree{constructor(le,me,Ce,ye,Le,Ee,Me,Ae,Ne,Ke,ze){const{options:Ge,getTypeNavigationMode:it,disposable:Oe}=Ae.invokeFunction(Q,Me);super(le,me,Ce,ye,Le,Ee,Ge),this.disposables.add(Oe),this.internals=new Z(this,Me,it,Me.overrideStyles,Ne,Ke,ze),this.disposables.add(this.internals)}updateOptions(le){super.updateOptions(le),this.internals.updateOptions(le)}};e.WorkbenchCompressibleAsyncDataTree=X,e.WorkbenchCompressibleAsyncDataTree=X=ke([ce(7,l.IInstantiationService),ce(8,s.IContextKeyService),ce(9,e.IListService),ce(10,t.IConfigurationService)],X);function B(re){const le=re.getValue(T);if(le===\"highlight\")return y.TreeFindMode.Highlight;if(le===\"filter\")return y.TreeFindMode.Filter;const me=re.getValue(A);if(me===\"simple\"||me===\"highlight\")return y.TreeFindMode.Highlight;if(me===\"filter\")return y.TreeFindMode.Filter}function $(re){const le=re.getValue(N);if(le===\"fuzzy\")return y.TreeFindMatchType.Fuzzy;if(le===\"contiguous\")return y.TreeFindMatchType.Contiguous}function Q(re,le){const me=re.get(t.IConfigurationService),Ce=re.get(c.IContextViewService),ye=re.get(s.IContextKeyService),Le=re.get(l.IInstantiationService),Ee=()=>{const Ge=ye.getContextKeyValue(f);if(Ge===\"automatic\")return I.TypeNavigationMode.Automatic;if(Ge===\"trigger\"||ye.getContextKeyValue(h)===!1)return I.TypeNavigationMode.Trigger;const Oe=me.getValue(M);if(Oe===\"automatic\")return I.TypeNavigationMode.Automatic;if(Oe===\"trigger\")return I.TypeNavigationMode.Trigger},Me=le.horizontalScrolling!==void 0?le.horizontalScrolling:!!me.getValue(D),[Ae,Ne]=Le.invokeFunction(Y,le),Ke=le.paddingBottom,ze=le.renderIndentGuides!==void 0?le.renderIndentGuides:me.getValue(F);return{getTypeNavigationMode:Ee,disposable:Ne,options:{keyboardSupport:!1,...Ae,indent:typeof me.getValue(O)==\"number\"?me.getValue(O):void 0,renderIndentGuides:ze,smoothScrolling:!!me.getValue(x),defaultFindMode:B(me),defaultFindMatchType:$(me),horizontalScrolling:Me,scrollByPage:!!me.getValue(P),paddingBottom:Ke,hideTwistiesOfChildlessElements:le.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:le.expandOnlyOnTwistieClick??me.getValue(q)===\"doubleClick\",contextViewProvider:Ce,findWidgetStyles:u.defaultFindWidgetStyles,enableStickyScroll:!!me.getValue(H),stickyScrollMaxItemCount:Number(me.getValue(z))}}}let Z=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(le,me,Ce,ye,Le,Ee,Me){this.tree=le,this.disposables=[],this.contextKeyService=v(Le,le),this.disposables.push(w(this.contextKeyService,le)),this.listSupportsMultiSelect=e.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(me.multipleSelectionSupport!==!1),e.WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!me.selectionNavigation),this.listSupportFindWidget=e.WorkbenchListSupportsFind.bindTo(this.contextKeyService),this.listSupportFindWidget.set(me.findWidgetEnabled??!0),this.hasSelectionOrFocus=e.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.hasDoubleSelection=e.WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.hasMultiSelection=e.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.treeElementCanCollapse=e.WorkbenchTreeElementCanCollapse.bindTo(this.contextKeyService),this.treeElementHasParent=e.WorkbenchTreeElementHasParent.bindTo(this.contextKeyService),this.treeElementCanExpand=e.WorkbenchTreeElementCanExpand.bindTo(this.contextKeyService),this.treeElementHasChild=e.WorkbenchTreeElementHasChild.bindTo(this.contextKeyService),this.treeFindOpen=e.WorkbenchTreeFindOpen.bindTo(this.contextKeyService),this.treeStickyScrollFocused=e.WorkbenchTreeStickyScrollFocused.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=U(Me),this.updateStyleOverrides(ye);const Ne=()=>{const ze=le.getFocus()[0];if(!ze)return;const Ge=le.getNode(ze);this.treeElementCanCollapse.set(Ge.collapsible&&!Ge.collapsed),this.treeElementHasParent.set(!!le.getParentElement(ze)),this.treeElementCanExpand.set(Ge.collapsible&&Ge.collapsed),this.treeElementHasChild.set(!!le.getFirstElementChild(ze))},Ke=new Set;Ke.add(f),Ke.add(h),this.disposables.push(this.contextKeyService,Ee.register(le),le.onDidChangeSelection(()=>{const ze=le.getSelection(),Ge=le.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(ze.length>0||Ge.length>0),this.hasMultiSelection.set(ze.length>1),this.hasDoubleSelection.set(ze.length===2)})}),le.onDidChangeFocus(()=>{const ze=le.getSelection(),Ge=le.getFocus();this.hasSelectionOrFocus.set(ze.length>0||Ge.length>0),Ne()}),le.onDidChangeCollapseState(Ne),le.onDidChangeModel(Ne),le.onDidChangeFindOpenState(ze=>this.treeFindOpen.set(ze)),le.onDidChangeStickyScrollFocused(ze=>this.treeStickyScrollFocused.set(ze)),Me.onDidChangeConfiguration(ze=>{let Ge={};if(ze.affectsConfiguration(S)&&(this._useAltAsMultipleSelectionModifier=U(Me)),ze.affectsConfiguration(O)){const it=Me.getValue(O);Ge={...Ge,indent:it}}if(ze.affectsConfiguration(F)&&me.renderIndentGuides===void 0){const it=Me.getValue(F);Ge={...Ge,renderIndentGuides:it}}if(ze.affectsConfiguration(x)){const it=!!Me.getValue(x);Ge={...Ge,smoothScrolling:it}}if(ze.affectsConfiguration(T)||ze.affectsConfiguration(A)){const it=B(Me);Ge={...Ge,defaultFindMode:it}}if(ze.affectsConfiguration(M)||ze.affectsConfiguration(A)){const it=Ce();Ge={...Ge,typeNavigationMode:it}}if(ze.affectsConfiguration(N)){const it=$(Me);Ge={...Ge,defaultFindMatchType:it}}if(ze.affectsConfiguration(D)&&me.horizontalScrolling===void 0){const it=!!Me.getValue(D);Ge={...Ge,horizontalScrolling:it}}if(ze.affectsConfiguration(P)){const it=!!Me.getValue(P);Ge={...Ge,scrollByPage:it}}if(ze.affectsConfiguration(q)&&me.expandOnlyOnTwistieClick===void 0&&(Ge={...Ge,expandOnlyOnTwistieClick:Me.getValue(q)===\"doubleClick\"}),ze.affectsConfiguration(H)){const it=Me.getValue(H);Ge={...Ge,enableStickyScroll:it}}if(ze.affectsConfiguration(z)){const it=Math.max(1,Me.getValue(z));Ge={...Ge,stickyScrollMaxItemCount:it}}if(ze.affectsConfiguration(W)){const it=Me.getValue(W);Ge={...Ge,mouseWheelScrollSensitivity:it}}if(ze.affectsConfiguration(V)){const it=Me.getValue(V);Ge={...Ge,fastScrollSensitivity:it}}Object.keys(Ge).length>0&&le.updateOptions(Ge)}),this.contextKeyService.onDidChangeContext(ze=>{ze.affectsSome(Ke)&&le.updateOptions({typeNavigationMode:Ce()})})),this.navigator=new he(le,{configurationService:Me,...me}),this.disposables.push(this.navigator)}updateOptions(le){le.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!le.multipleSelectionSupport)}updateStyleOverrides(le){this.tree.style(le?(0,u.getListStyles)(le):u.defaultListStyles)}dispose(){this.disposables=(0,n.dispose)(this.disposables)}};Z=ke([ce(4,s.IContextKeyService),ce(5,e.IListService),ce(6,t.IConfigurationService)],Z),r.Registry.as(i.Extensions.Configuration).registerConfiguration({id:\"workbench\",order:7,title:(0,o.localize)(1542,\"Workbench\"),type:\"object\",properties:{[S]:{type:\"string\",enum:[\"ctrlCmd\",\"alt\"],markdownEnumDescriptions:[(0,o.localize)(1543,\"Maps to `Control` on Windows and Linux and to `Command` on macOS.\"),(0,o.localize)(1544,\"Maps to `Alt` on Windows and Linux and to `Option` on macOS.\")],default:\"ctrlCmd\",description:(0,o.localize)(1545,\"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.\")},[L]:{type:\"string\",enum:[\"singleClick\",\"doubleClick\"],default:\"singleClick\",description:(0,o.localize)(1546,\"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.\")},[D]:{type:\"boolean\",default:!1,description:(0,o.localize)(1547,\"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.\")},[P]:{type:\"boolean\",default:!1,description:(0,o.localize)(1548,\"Controls whether clicks in the scrollbar scroll page by page.\")},[O]:{type:\"number\",default:8,minimum:4,maximum:40,description:(0,o.localize)(1549,\"Controls tree indentation in pixels.\")},[F]:{type:\"string\",enum:[\"none\",\"onHover\",\"always\"],default:\"onHover\",description:(0,o.localize)(1550,\"Controls whether the tree should render indent guides.\")},[x]:{type:\"boolean\",default:!1,description:(0,o.localize)(1551,\"Controls whether lists and trees have smooth scrolling.\")},[W]:{type:\"number\",default:1,markdownDescription:(0,o.localize)(1552,\"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.\")},[V]:{type:\"number\",default:5,markdownDescription:(0,o.localize)(1553,\"Scrolling speed multiplier when pressing `Alt`.\")},[T]:{type:\"string\",enum:[\"highlight\",\"filter\"],enumDescriptions:[(0,o.localize)(1554,\"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements.\"),(0,o.localize)(1555,\"Filter elements when searching.\")],default:\"highlight\",description:(0,o.localize)(1556,\"Controls the default find mode for lists and trees in the workbench.\")},[A]:{type:\"string\",enum:[\"simple\",\"highlight\",\"filter\"],enumDescriptions:[(0,o.localize)(1557,\"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.\"),(0,o.localize)(1558,\"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.\"),(0,o.localize)(1559,\"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.\")],default:\"highlight\",description:(0,o.localize)(1560,\"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.\"),deprecated:!0,deprecationMessage:(0,o.localize)(1561,\"Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.\")},[N]:{type:\"string\",enum:[\"fuzzy\",\"contiguous\"],enumDescriptions:[(0,o.localize)(1562,\"Use fuzzy matching when searching.\"),(0,o.localize)(1563,\"Use contiguous matching when searching.\")],default:\"fuzzy\",description:(0,o.localize)(1564,\"Controls the type of matching used when searching lists and trees in the workbench.\")},[q]:{type:\"string\",enum:[\"singleClick\",\"doubleClick\"],default:\"singleClick\",description:(0,o.localize)(1565,\"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.\")},[H]:{type:\"boolean\",default:!0,description:(0,o.localize)(1566,\"Controls whether sticky scrolling is enabled in trees.\")},[z]:{type:\"number\",minimum:1,default:7,markdownDescription:(0,o.localize)(1567,\"Controls the number of sticky elements displayed in the tree when {0} is enabled.\",\"`#workbench.tree.enableStickyScroll#`\")},[M]:{type:\"string\",enum:[\"automatic\",\"trigger\"],default:\"automatic\",markdownDescription:(0,o.localize)(1568,\"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.\")}}})}),define(ne[71],se([1,0,14,26,191,30,6,19,22,3,273,38]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.spinningLoading=e.syncing=e.gotoNextLocation=e.gotoPreviousLocation=e.widgetClose=e.iconsSchemaId=e.IconFontDefinition=e.IconContribution=e.Extensions=void 0,e.registerIcon=g,e.getIconRegistry=c,e.Extensions={IconContribution:\"base.contributions.icons\"};var o;(function(u){function C(f,h){let v=f.defaults;for(;E.ThemeIcon.isThemeIcon(v);){const w=s.getIcon(v.id);if(!w)return;v=w.defaults}return v}u.getDefinition=C})(o||(e.IconContribution=o={}));var t;(function(u){function C(h){return{weight:h.weight,style:h.style,src:h.src.map(v=>({format:v.format,location:v.location.toString()}))}}u.toJSONObject=C;function f(h){const v=w=>(0,m.isString)(w)?w:void 0;if(h&&Array.isArray(h.src)&&h.src.every(w=>(0,m.isString)(w.format)&&(0,m.isString)(w.location)))return{weight:v(h.weight),style:v(h.style),src:h.src.map(w=>({format:w.format,location:_.URI.parse(w.location)}))}}u.fromJSONObject=f})(t||(e.IconFontDefinition=t={}));class i{constructor(){this._onDidChange=new y.Emitter,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:\"object\",properties:{fontId:{type:\"string\",description:(0,b.localize)(1838,\"The id of the font to use. If not set, the font that is defined first is used.\")},fontCharacter:{type:\"string\",description:(0,b.localize)(1839,\"The font character associated with the icon definition.\")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:\"\\\\\\\\e030\"}}]}},type:\"object\",properties:{}},this.iconReferenceSchema={type:\"string\",pattern:`^${E.ThemeIcon.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(C,f,h,v){const w=this.iconsById[C];if(w){if(h&&!w.description){w.description=h,this.iconSchema.properties[C].markdownDescription=`${h} $(${C})`;const D=this.iconReferenceSchema.enum.indexOf(C);D!==-1&&(this.iconReferenceSchema.enumDescriptions[D]=h),this._onDidChange.fire()}return w}const S={id:C,description:h,defaults:f,deprecationMessage:v};this.iconsById[C]=S;const L={$ref:\"#/definitions/icons\"};return v&&(L.deprecationMessage=v),h&&(L.markdownDescription=`${h}: $(${C})`),this.iconSchema.properties[C]=L,this.iconReferenceSchema.enum.push(C),this.iconReferenceSchema.enumDescriptions.push(h||\"\"),this._onDidChange.fire(),{id:C}}getIcons(){return Object.keys(this.iconsById).map(C=>this.iconsById[C])}getIcon(C){return this.iconsById[C]}getIconSchema(){return this.iconSchema}toString(){const C=(w,S)=>w.id.localeCompare(S.id),f=w=>{for(;E.ThemeIcon.isThemeIcon(w.defaults);)w=this.iconsById[w.defaults.id];return`codicon codicon-${w?w.id:\"\"}`},h=[];h.push(\"| preview     | identifier                        | default codicon ID                | description\"),h.push(\"| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |\");const v=Object.keys(this.iconsById).map(w=>this.iconsById[w]);for(const w of v.filter(S=>!!S.description).sort(C))h.push(`|<i class=\"${f(w)}\"></i>|${w.id}|${E.ThemeIcon.isThemeIcon(w.defaults)?w.defaults.id:w.id}|${w.description||\"\"}|`);h.push(\"| preview     | identifier                        \"),h.push(\"| ----------- | --------------------------------- |\");for(const w of v.filter(S=>!E.ThemeIcon.isThemeIcon(S.defaults)).sort(C))h.push(`|<i class=\"${f(w)}\"></i>|${w.id}|`);return h.join(`\n`)}}const s=new i;n.Registry.add(e.Extensions.IconContribution,s);function g(u,C,f,h){return s.registerIcon(u,C,f,h)}function c(){return s}function l(){const u=(0,I.getCodiconFontCharacters)();for(const C in u){const f=\"\\\\\"+u[C].toString(16);s.registerIcon(C,{fontCharacter:f})}}l(),e.iconsSchemaId=\"vscode://schemas/icons\";const a=n.Registry.as(p.Extensions.JSONContribution);a.registerSchema(e.iconsSchemaId,s.getIconSchema());const r=new d.RunOnceScheduler(()=>a.notifySchemaChanged(e.iconsSchemaId),200);s.onDidChange(()=>{r.isScheduled()||r.schedule()}),e.widgetClose=g(\"widget-close\",k.Codicon.close,(0,b.localize)(1840,\"Icon for the close action in widgets.\")),e.gotoPreviousLocation=g(\"goto-previous-location\",k.Codicon.arrowUp,(0,b.localize)(1841,\"Icon for goto previous editor location.\")),e.gotoNextLocation=g(\"goto-next-location\",k.Codicon.arrowDown,(0,b.localize)(1842,\"Icon for goto next editor location.\")),e.syncing=E.ThemeIcon.modify(k.Codicon.sync,\"spin\"),e.spinningLoading=E.ThemeIcon.modify(k.Codicon.loading,\"spin\")}),define(ne[762],se([1,0,5,103,87,86,41,13,26,2,21,30,74,88,37,55,68,9,4,105,43,83,136,95,3,137,7,71,499]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessibleDiffViewerModelFromEditors=e.AccessibleDiffViewer=void 0;const L=(0,S.registerIcon)(\"diff-review-insert\",_.Codicon.add,(0,h.localize)(84,\"Icon for 'Insert' in accessible diff viewer.\")),D=(0,S.registerIcon)(\"diff-review-remove\",_.Codicon.remove,(0,h.localize)(85,\"Icon for 'Remove' in accessible diff viewer.\")),T=(0,S.registerIcon)(\"diff-review-close\",_.Codicon.close,(0,h.localize)(86,\"Icon for 'Close' in accessible diff viewer.\"));let M=class extends b.Disposable{static{this._ttPolicy=(0,k.createTrustedTypesPolicy)(\"diffReview\",{createHTML:j=>j})}constructor(j,Y,G,K,R,J,ie,ue,he){super(),this._parentNode=j,this._visible=Y,this._setVisible=G,this._canClose=K,this._width=R,this._height=J,this._diffs=ie,this._models=ue,this._instantiationService=he,this._state=(0,p.derivedWithStore)(this,(pe,ae)=>{const ee=this._visible.read(pe);if(this._parentNode.style.visibility=ee?\"visible\":\"hidden\",!ee)return null;const de=ae.add(this._instantiationService.createInstance(A,this._diffs,this._models,this._setVisible,this._canClose)),ge=ae.add(this._instantiationService.createInstance(H,this._parentNode,de,this._width,this._height,this._models));return{model:de,view:ge}}).recomputeInitiallyAndOnChange(this._store)}next(){(0,p.transaction)(j=>{const Y=this._visible.get();this._setVisible(!0,j),Y&&this._state.get().model.nextGroup(j)})}prev(){(0,p.transaction)(j=>{this._setVisible(!0,j),this._state.get().model.previousGroup(j)})}close(){(0,p.transaction)(j=>{this._setVisible(!1,j)})}};e.AccessibleDiffViewer=M,e.AccessibleDiffViewer=M=ke([ce(8,w.IInstantiationService)],M);let A=class extends b.Disposable{constructor(j,Y,G,K,R){super(),this._diffs=j,this._models=Y,this._setVisible=G,this.canClose=K,this._accessibilitySignalService=R,this._groups=(0,p.observableValue)(this,[]),this._currentGroupIdx=(0,p.observableValue)(this,0),this._currentElementIdx=(0,p.observableValue)(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((J,ie)=>this._groups.read(ie)[J]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((J,ie)=>this.currentGroup.read(ie)?.lines[J]),this._register((0,p.autorun)(J=>{const ie=this._diffs.read(J);if(!ie){this._groups.set([],void 0);return}const ue=N(ie,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());(0,p.transaction)(he=>{const pe=this._models.getModifiedPosition();if(pe){const ae=ue.findIndex(ee=>pe?.lineNumber<ee.range.modified.endLineNumberExclusive);ae!==-1&&this._currentGroupIdx.set(ae,he)}this._groups.set(ue,he)})})),this._register((0,p.autorun)(J=>{const ie=this.currentElement.read(J);ie?.type===O.Deleted?this._accessibilitySignalService.playSignal(v.AccessibilitySignal.diffLineDeleted,{source:\"accessibleDiffViewer.currentElementChanged\"}):ie?.type===O.Added&&this._accessibilitySignalService.playSignal(v.AccessibilitySignal.diffLineInserted,{source:\"accessibleDiffViewer.currentElementChanged\"})})),this._register((0,p.autorun)(J=>{const ie=this.currentElement.read(J);if(ie&&ie.type!==O.Header){const ue=ie.modifiedLineNumber??ie.diff.modified.startLineNumber;this._models.modifiedSetSelection(l.Range.fromPositions(new c.Position(ue,1)))}}))}_goToGroupDelta(j,Y){const G=this.groups.get();!G||G.length<=1||(0,p.subtransaction)(Y,K=>{this._currentGroupIdx.set(g.OffsetRange.ofLength(G.length).clipCyclic(this._currentGroupIdx.get()+j),K),this._currentElementIdx.set(0,K)})}nextGroup(j){this._goToGroupDelta(1,j)}previousGroup(j){this._goToGroupDelta(-1,j)}_goToLineDelta(j){const Y=this.currentGroup.get();!Y||Y.lines.length<=1||(0,p.transaction)(G=>{this._currentElementIdx.set(g.OffsetRange.ofLength(Y.lines.length).clip(this._currentElementIdx.get()+j),G)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(j){const Y=this.currentGroup.get();if(!Y)return;const G=Y.lines.indexOf(j);G!==-1&&(0,p.transaction)(K=>{this._currentElementIdx.set(G,K)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const j=this.currentElement.get();j&&(j.type===O.Deleted?this._models.originalReveal(l.Range.fromPositions(new c.Position(j.originalLineNumber,1))):this._models.modifiedReveal(j.type!==O.Header?l.Range.fromPositions(new c.Position(j.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};A=ke([ce(4,v.IAccessibilitySignalService)],A);const P=3;function N(U,j,Y){const G=[];for(const K of(0,m.groupAdjacentBy)(U,(R,J)=>J.modified.startLineNumber-R.modified.endLineNumberExclusive<2*P)){const R=[];R.push(new x);const J=new s.LineRange(Math.max(1,K[0].original.startLineNumber-P),Math.min(K[K.length-1].original.endLineNumberExclusive+P,j+1)),ie=new s.LineRange(Math.max(1,K[0].modified.startLineNumber-P),Math.min(K[K.length-1].modified.endLineNumberExclusive+P,Y+1));(0,m.forEachAdjacent)(K,(pe,ae)=>{const ee=new s.LineRange(pe?pe.original.endLineNumberExclusive:J.startLineNumber,ae?ae.original.startLineNumber:J.endLineNumberExclusive),de=new s.LineRange(pe?pe.modified.endLineNumberExclusive:ie.startLineNumber,ae?ae.modified.startLineNumber:ie.endLineNumberExclusive);ee.forEach(ge=>{R.push(new q(ge,de.startLineNumber+(ge-ee.startLineNumber)))}),ae&&(ae.original.forEach(ge=>{R.push(new W(ae,ge))}),ae.modified.forEach(ge=>{R.push(new V(ae,ge))}))});const ue=K[0].modified.join(K[K.length-1].modified),he=K[0].original.join(K[K.length-1].original);G.push(new F(new a.LineRangeMapping(ue,he),R))}return G}var O;(function(U){U[U.Header=0]=\"Header\",U[U.Unchanged=1]=\"Unchanged\",U[U.Deleted=2]=\"Deleted\",U[U.Added=3]=\"Added\"})(O||(O={}));class F{constructor(j,Y){this.range=j,this.lines=Y}}class x{constructor(){this.type=O.Header}}class W{constructor(j,Y){this.diff=j,this.originalLineNumber=Y,this.type=O.Deleted,this.modifiedLineNumber=void 0}}class V{constructor(j,Y){this.diff=j,this.modifiedLineNumber=Y,this.type=O.Added,this.originalLineNumber=void 0}}class q{constructor(j,Y){this.originalLineNumber=j,this.modifiedLineNumber=Y,this.type=O.Unchanged}}let H=class extends b.Disposable{constructor(j,Y,G,K,R,J){super(),this._element=j,this._model=Y,this._width=G,this._height=K,this._models=R,this._languageService=J,this.domNode=this._element,this.domNode.className=\"monaco-component diff-review monaco-editor-background\";const ie=document.createElement(\"div\");ie.className=\"diff-review-actions\",this._actionBar=this._register(new I.ActionBar(ie)),this._register((0,p.autorun)(ue=>{this._actionBar.clear(),this._model.canClose.read(ue)&&this._actionBar.push(new y.Action(\"diffreview.close\",(0,h.localize)(87,\"Close\"),\"close-diff-review \"+n.ThemeIcon.asClassName(T),!0,async()=>Y.close()),{label:!1,icon:!0})})),this._content=document.createElement(\"div\"),this._content.className=\"diff-review-content\",this._content.setAttribute(\"role\",\"code\"),this._scrollbar=this._register(new E.DomScrollableElement(this._content,{})),(0,d.reset)(this.domNode,this._scrollbar.getDomNode(),ie),this._register((0,p.autorun)(ue=>{this._height.read(ue),this._width.read(ue),this._scrollbar.scanDomNode()})),this._register((0,b.toDisposable)(()=>{(0,d.reset)(this.domNode)})),this._register((0,t.applyStyle)(this.domNode,{width:this._width,height:this._height})),this._register((0,t.applyStyle)(this._content,{width:this._width,height:this._height})),this._register((0,p.autorunWithStore)((ue,he)=>{this._model.currentGroup.read(ue),this._render(he)})),this._register((0,d.addStandardDisposableListener)(this.domNode,\"keydown\",ue=>{(ue.equals(18)||ue.equals(2066)||ue.equals(530))&&(ue.preventDefault(),this._model.goToNextLine()),(ue.equals(16)||ue.equals(2064)||ue.equals(528))&&(ue.preventDefault(),this._model.goToPreviousLine()),(ue.equals(9)||ue.equals(2057)||ue.equals(521)||ue.equals(1033))&&(ue.preventDefault(),this._model.close()),(ue.equals(10)||ue.equals(3))&&(ue.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(j){const Y=this._models.getOriginalOptions(),G=this._models.getModifiedOptions(),K=document.createElement(\"div\");K.className=\"diff-review-table\",K.setAttribute(\"role\",\"list\"),K.setAttribute(\"aria-label\",(0,h.localize)(88,\"Accessible Diff Viewer. Use arrow up and down to navigate.\")),(0,o.applyFontInfo)(K,G.get(50)),(0,d.reset)(this._content,K);const R=this._models.getOriginalModel(),J=this._models.getModifiedModel();if(!R||!J)return;const ie=R.getOptions(),ue=J.getOptions(),he=G.get(67),pe=this._model.currentGroup.get();for(const ae of pe?.lines||[]){if(!pe)break;let ee;if(ae.type===O.Header){const ge=document.createElement(\"div\");ge.className=\"diff-review-row\",ge.setAttribute(\"role\",\"listitem\");const X=pe.range,B=this._model.currentGroupIndex.get(),$=this._model.groups.get().length,Q=le=>le===0?(0,h.localize)(89,\"no lines changed\"):le===1?(0,h.localize)(90,\"1 line changed\"):(0,h.localize)(91,\"{0} lines changed\",le),Z=Q(X.original.length),te=Q(X.modified.length);ge.setAttribute(\"aria-label\",(0,h.localize)(92,\"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}\",B+1,$,X.original.startLineNumber,Z,X.modified.startLineNumber,te));const re=document.createElement(\"div\");re.className=\"diff-review-cell diff-review-summary\",re.appendChild(document.createTextNode(`${B+1}/${$}: @@ -${X.original.startLineNumber},${X.original.length} +${X.modified.startLineNumber},${X.modified.length} @@`)),ge.appendChild(re),ee=ge}else ee=this._createRow(ae,he,this._width.get(),Y,R,ie,G,J,ue);K.appendChild(ee);const de=(0,p.derived)(ge=>this._model.currentElement.read(ge)===ae);j.add((0,p.autorun)(ge=>{const X=de.read(ge);ee.tabIndex=X?0:-1,X&&ee.focus()})),j.add((0,d.addDisposableListener)(ee,\"focus\",()=>{this._model.goToLine(ae)}))}this._scrollbar.scanDomNode()}_createRow(j,Y,G,K,R,J,ie,ue,he){const pe=K.get(146),ae=pe.glyphMarginWidth+pe.lineNumbersWidth,ee=ie.get(146),de=10+ee.glyphMarginWidth+ee.lineNumbersWidth;let ge=\"diff-review-row\",X=\"\";const B=\"diff-review-spacer\";let $=null;switch(j.type){case O.Added:ge=\"diff-review-row line-insert\",X=\" char-insert\",$=L;break;case O.Deleted:ge=\"diff-review-row line-delete\",X=\" char-delete\",$=D;break}const Q=document.createElement(\"div\");Q.style.minWidth=G+\"px\",Q.className=ge,Q.setAttribute(\"role\",\"listitem\"),Q.ariaLevel=\"\";const Z=document.createElement(\"div\");Z.className=\"diff-review-cell\",Z.style.height=`${Y}px`,Q.appendChild(Z);const te=document.createElement(\"span\");te.style.width=ae+\"px\",te.style.minWidth=ae+\"px\",te.className=\"diff-review-line-number\"+X,j.originalLineNumber!==void 0?te.appendChild(document.createTextNode(String(j.originalLineNumber))):te.innerText=\"\\xA0\",Z.appendChild(te);const re=document.createElement(\"span\");re.style.width=de+\"px\",re.style.minWidth=de+\"px\",re.style.paddingRight=\"10px\",re.className=\"diff-review-line-number\"+X,j.modifiedLineNumber!==void 0?re.appendChild(document.createTextNode(String(j.modifiedLineNumber))):re.innerText=\"\\xA0\",Z.appendChild(re);const le=document.createElement(\"span\");if(le.className=B,$){const ye=document.createElement(\"span\");ye.className=n.ThemeIcon.asClassName($),ye.innerText=\"\\xA0\\xA0\",le.appendChild(ye)}else le.innerText=\"\\xA0\\xA0\";Z.appendChild(le);let me;if(j.modifiedLineNumber!==void 0){let ye=this._getLineHtml(ue,ie,he.tabSize,j.modifiedLineNumber,this._languageService.languageIdCodec);M._ttPolicy&&(ye=M._ttPolicy.createHTML(ye)),Z.insertAdjacentHTML(\"beforeend\",ye),me=ue.getLineContent(j.modifiedLineNumber)}else{let ye=this._getLineHtml(R,K,J.tabSize,j.originalLineNumber,this._languageService.languageIdCodec);M._ttPolicy&&(ye=M._ttPolicy.createHTML(ye)),Z.insertAdjacentHTML(\"beforeend\",ye),me=R.getLineContent(j.originalLineNumber)}me.length===0&&(me=(0,h.localize)(93,\"blank\"));let Ce=\"\";switch(j.type){case O.Unchanged:j.originalLineNumber===j.modifiedLineNumber?Ce=(0,h.localize)(94,\"{0} unchanged line {1}\",me,j.originalLineNumber):Ce=(0,h.localize)(95,\"{0} original line {1} modified line {2}\",me,j.originalLineNumber,j.modifiedLineNumber);break;case O.Added:Ce=(0,h.localize)(96,\"+ {0} modified line {1}\",me,j.modifiedLineNumber);break;case O.Deleted:Ce=(0,h.localize)(97,\"- {0} original line {1}\",me,j.originalLineNumber);break}return Q.setAttribute(\"aria-label\",Ce),Q}_getLineHtml(j,Y,G,K,R){const J=j.getLineContent(K),ie=Y.get(50),ue=u.LineTokens.createEmpty(J,R),he=f.ViewLineRenderingData.isBasicASCII(J,j.mightContainNonBasicASCII()),pe=f.ViewLineRenderingData.containsRTL(J,he,j.mightContainRTL());return(0,C.renderViewLine2)(new C.RenderLineInput(ie.isMonospace&&!Y.get(33),ie.canUseHalfwidthRightwardsArrow,J,!1,he,pe,0,ue,[],G,0,ie.spaceWidth,ie.middotWidth,ie.wsmiddotWidth,Y.get(118),Y.get(100),Y.get(95),Y.get(51)!==i.EditorFontLigatures.OFF,null)).html}};H=ke([ce(5,r.ILanguageService)],H);class z{constructor(j){this.editors=j}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(j){this.editors.original.revealRange(j),this.editors.original.setSelection(j),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(j){j&&(this.editors.modified.revealRange(j),this.editors.modified.setSelection(j)),this.editors.modified.focus()}modifiedSetSelection(j){this.editors.modified.setSelection(j)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}e.AccessibleDiffViewerModelFromEditors=z}),define(ne[763],se([1,0,253,5,172,85,26,33,6,2,30,3,32,71,227]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ColorPickerWidget=e.InsertButton=e.ColorPickerBody=e.ColorPickerHeader=void 0;const i=k.$;class s extends b.Disposable{constructor(v,w,S,L=!1){super(),this.model=w,this.showingStandaloneColorPicker=L,this._closeButton=null,this._domNode=i(\".colorpicker-header\"),k.append(v,this._domNode),this._pickedColorNode=k.append(this._domNode,i(\".picked-color\")),k.append(this._pickedColorNode,i(\"span.codicon.codicon-color-mode\")),this._pickedColorPresentation=k.append(this._pickedColorNode,document.createElement(\"span\")),this._pickedColorPresentation.classList.add(\"picked-color-presentation\");const D=(0,n.localize)(796,\"Click to toggle color options (rgb/hsl/hex)\");this._pickedColorNode.setAttribute(\"title\",D),this._originalColorNode=k.append(this._domNode,i(\".original-color\")),this._originalColorNode.style.backgroundColor=m.Color.Format.CSS.format(this.model.originalColor)||\"\",this.backgroundColor=S.getColorTheme().getColor(o.editorHoverBackground)||m.Color.white,this._register(S.onDidColorThemeChange(T=>{this.backgroundColor=T.getColor(o.editorHoverBackground)||m.Color.white})),this._register(k.addDisposableListener(this._pickedColorNode,k.EventType.CLICK,()=>this.model.selectNextColorPresentation())),this._register(k.addDisposableListener(this._originalColorNode,k.EventType.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(w.onDidChangeColor(this.onDidChangeColor,this)),this._register(w.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=m.Color.Format.CSS.format(w.color)||\"\",this._pickedColorNode.classList.toggle(\"light\",w.color.rgba.a<.5?this.backgroundColor.isLighter():w.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add(\"standalone-colorpicker\"),this._closeButton=this._register(new g(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(v){this._pickedColorNode.style.backgroundColor=m.Color.Format.CSS.format(v)||\"\",this._pickedColorNode.classList.toggle(\"light\",v.rgba.a<.5?this.backgroundColor.isLighter():v.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:\"\"}}e.ColorPickerHeader=s;class g extends b.Disposable{constructor(v){super(),this._onClicked=this._register(new _.Emitter),this.onClicked=this._onClicked.event,this._button=document.createElement(\"div\"),this._button.classList.add(\"close-button\"),k.append(v,this._button);const w=document.createElement(\"div\");w.classList.add(\"close-button-inner-div\"),k.append(this._button,w),k.append(w,i(\".button\"+p.ThemeIcon.asCSSSelector((0,t.registerIcon)(\"color-picker-close\",y.Codicon.close,(0,n.localize)(797,\"Icon to close the color picker\"))))).classList.add(\"close-icon\"),this._register(k.addDisposableListener(this._button,k.EventType.CLICK,()=>{this._onClicked.fire()}))}}class c extends b.Disposable{constructor(v,w,S,L=!1){super(),this.model=w,this.pixelRatio=S,this._insertButton=null,this._domNode=i(\".colorpicker-body\"),k.append(v,this._domNode),this._saturationBox=new l(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new r(this._domNode,this.model,L),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new u(this._domNode,this.model,L),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),L&&(this._insertButton=this._register(new C(this._domNode)),this._domNode.classList.add(\"standalone-colorpicker\"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:v,v:w}){const S=this.model.color.hsva;this.model.color=new m.Color(new m.HSVA(S.h,v,w,S.a))}onDidOpacityChange(v){const w=this.model.color.hsva;this.model.color=new m.Color(new m.HSVA(w.h,w.s,w.v,v))}onDidHueChange(v){const w=this.model.color.hsva,S=(1-v)*360;this.model.color=new m.Color(new m.HSVA(S===360?0:S,w.s,w.v,w.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}e.ColorPickerBody=c;class l extends b.Disposable{constructor(v,w,S){super(),this.model=w,this.pixelRatio=S,this._onDidChange=new _.Emitter,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new _.Emitter,this.onColorFlushed=this._onColorFlushed.event,this._domNode=i(\".saturation-wrap\"),k.append(v,this._domNode),this._canvas=document.createElement(\"canvas\"),this._canvas.className=\"saturation-box\",k.append(this._domNode,this._canvas),this.selection=i(\".saturation-selection\"),k.append(this._domNode,this.selection),this.layout(),this._register(k.addDisposableListener(this._domNode,k.EventType.POINTER_DOWN,L=>this.onPointerDown(L))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(v){if(!v.target||!(v.target instanceof Element))return;this.monitor=this._register(new I.GlobalPointerMoveMonitor);const w=k.getDomNodePagePosition(this._domNode);v.target!==this.selection&&this.onDidChangePosition(v.offsetX,v.offsetY),this.monitor.startMonitoring(v.target,v.pointerId,v.buttons,L=>this.onDidChangePosition(L.pageX-w.left,L.pageY-w.top),()=>null);const S=k.addDisposableListener(v.target.ownerDocument,k.EventType.POINTER_UP,()=>{this._onColorFlushed.fire(),S.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(v,w){const S=Math.max(0,Math.min(1,v/this.width)),L=Math.max(0,Math.min(1,1-w/this.height));this.paintSelection(S,L),this._onDidChange.fire({s:S,v:L})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const v=this.model.color.hsva;this.paintSelection(v.s,v.v)}paint(){const v=this.model.color.hsva,w=new m.Color(new m.HSVA(v.h,1,1,1)),S=this._canvas.getContext(\"2d\"),L=S.createLinearGradient(0,0,this._canvas.width,0);L.addColorStop(0,\"rgba(255, 255, 255, 1)\"),L.addColorStop(.5,\"rgba(255, 255, 255, 0.5)\"),L.addColorStop(1,\"rgba(255, 255, 255, 0)\");const D=S.createLinearGradient(0,0,0,this._canvas.height);D.addColorStop(0,\"rgba(0, 0, 0, 0)\"),D.addColorStop(1,\"rgba(0, 0, 0, 1)\"),S.rect(0,0,this._canvas.width,this._canvas.height),S.fillStyle=m.Color.Format.CSS.format(w),S.fill(),S.fillStyle=L,S.fill(),S.fillStyle=D,S.fill()}paintSelection(v,w){this.selection.style.left=`${v*this.width}px`,this.selection.style.top=`${this.height-w*this.height}px`}onDidChangeColor(v){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const w=v.hsva;this.paintSelection(w.s,w.v)}}class a extends b.Disposable{constructor(v,w,S=!1){super(),this.model=w,this._onDidChange=new _.Emitter,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new _.Emitter,this.onColorFlushed=this._onColorFlushed.event,S?(this.domNode=k.append(v,i(\".standalone-strip\")),this.overlay=k.append(this.domNode,i(\".standalone-overlay\"))):(this.domNode=k.append(v,i(\".strip\")),this.overlay=k.append(this.domNode,i(\".overlay\"))),this.slider=k.append(this.domNode,i(\".slider\")),this.slider.style.top=\"0px\",this._register(k.addDisposableListener(this.domNode,k.EventType.POINTER_DOWN,L=>this.onPointerDown(L))),this._register(w.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const v=this.getValue(this.model.color);this.updateSliderPosition(v)}onDidChangeColor(v){const w=this.getValue(v);this.updateSliderPosition(w)}onPointerDown(v){if(!v.target||!(v.target instanceof Element))return;const w=this._register(new I.GlobalPointerMoveMonitor),S=k.getDomNodePagePosition(this.domNode);this.domNode.classList.add(\"grabbing\"),v.target!==this.slider&&this.onDidChangeTop(v.offsetY),w.startMonitoring(v.target,v.pointerId,v.buttons,D=>this.onDidChangeTop(D.pageY-S.top),()=>null);const L=k.addDisposableListener(v.target.ownerDocument,k.EventType.POINTER_UP,()=>{this._onColorFlushed.fire(),L.dispose(),w.stopMonitoring(!0),this.domNode.classList.remove(\"grabbing\")},!0)}onDidChangeTop(v){const w=Math.max(0,Math.min(1,1-v/this.height));this.updateSliderPosition(w),this._onDidChange.fire(w)}updateSliderPosition(v){this.slider.style.top=`${(1-v)*this.height}px`}}class r extends a{constructor(v,w,S=!1){super(v,w,S),this.domNode.classList.add(\"opacity-strip\"),this.onDidChangeColor(this.model.color)}onDidChangeColor(v){super.onDidChangeColor(v);const{r:w,g:S,b:L}=v.rgba,D=new m.Color(new m.RGBA(w,S,L,1)),T=new m.Color(new m.RGBA(w,S,L,0));this.overlay.style.background=`linear-gradient(to bottom, ${D} 0%, ${T} 100%)`}getValue(v){return v.hsva.a}}class u extends a{constructor(v,w,S=!1){super(v,w,S),this.domNode.classList.add(\"hue-strip\")}getValue(v){return 1-v.hsva.h/360}}class C extends b.Disposable{constructor(v){super(),this._onClicked=this._register(new _.Emitter),this.onClicked=this._onClicked.event,this._button=k.append(v,document.createElement(\"button\")),this._button.classList.add(\"insert-button\"),this._button.textContent=\"Insert\",this._register(k.addDisposableListener(this._button,k.EventType.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}e.InsertButton=C;class f extends E.Widget{constructor(v,w,S,L,D=!1){super(),this.model=w,this.pixelRatio=S,this._register(d.PixelRatio.getInstance(k.getWindow(v)).onDidChange(()=>this.layout())),this._domNode=i(\".colorpicker-widget\"),v.appendChild(this._domNode),this.header=this._register(new s(this._domNode,this.model,L,D)),this.body=this._register(new c(this._domNode,this.model,this.pixelRatio,D))}layout(){this.body.layout()}get domNode(){return this._domNode}}e.ColorPickerWidget=f}),define(ne[217],se([1,0,5,13,18,57,2,120,264,4,43,84,3,28,59,17,27,71,26,30,8,31,174,118,14,410,24]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarkdownHoverParticipant=e.MarkdownHover=void 0,e.renderMarkdownHovers=O,e.labelForHoverVerbosityAction=x;const S=d.$,L=(0,c.registerIcon)(\"hover-increase-verbosity\",l.Codicon.add,o.localize(1031,\"Icon for increaseing hover verbosity.\")),D=(0,c.registerIcon)(\"hover-decrease-verbosity\",l.Codicon.remove,o.localize(1032,\"Icon for decreasing hover verbosity.\"));class T{constructor(V,q,H,z,U,j=void 0){this.owner=V,this.range=q,this.contents=H,this.isBeforeContent=z,this.ordinal=U,this.source=j}isValidForHoverAnchor(V){return V.type===1&&this.range.startColumn<=V.range.startColumn&&this.range.endColumn>=V.range.endColumn}}e.MarkdownHover=T;class M{constructor(V,q,H){this.hover=V,this.hoverProvider=q,this.hoverPosition=H}supportsVerbosityAction(V){switch(V){case g.HoverVerbosityAction.Increase:return this.hover.canIncreaseVerbosity??!1;case g.HoverVerbosityAction.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let A=class{constructor(V,q,H,z,U,j,Y,G){this._editor=V,this._languageService=q,this._openerService=H,this._configurationService=z,this._languageFeaturesService=U,this._keybindingService=j,this._hoverService=Y,this._commandService=G,this.hoverOrdinal=3}createLoadingMessage(V){return new T(this,V.range,[new E.MarkdownString().appendText(o.localize(1033,\"Loading...\"))],!1,2e3)}computeSync(V,q){if(!this._editor.hasModel()||V.type!==1)return[];const H=this._editor.getModel(),z=V.range.startLineNumber,U=H.getLineMaxColumn(z),j=[];let Y=1e3;const G=H.getLineLength(z),K=H.getLanguageIdAtPosition(V.range.startLineNumber,V.range.startColumn),R=this._editor.getOption(118),J=this._configurationService.getValue(\"editor.maxTokenizationLineLength\",{overrideIdentifier:K});let ie=!1;R>=0&&G>R&&V.range.startColumn>=R&&(ie=!0,j.push(new T(this,V.range,[{value:o.localize(1034,\"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.\")}],!1,Y++))),!ie&&typeof J==\"number\"&&G>=J&&j.push(new T(this,V.range,[{value:o.localize(1035,\"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.\")}],!1,Y++));let ue=!1;for(const he of q){const pe=he.range.startLineNumber===z?he.range.startColumn:1,ae=he.range.endLineNumber===z?he.range.endColumn:U,ee=he.options.hoverMessage;if(!ee||(0,E.isEmptyMarkdownString)(ee))continue;he.options.beforeContentClassName&&(ue=!0);const de=new b.Range(V.range.startLineNumber,pe,V.range.startLineNumber,ae);j.push(new T(this,de,(0,k.asArray)(ee),ue,Y++))}return j}computeAsync(V,q,H){if(!this._editor.hasModel()||V.type!==1)return h.AsyncIterableObject.EMPTY;const z=this._editor.getModel(),U=this._languageFeaturesService.hoverProvider;return U.has(z)?this._getMarkdownHovers(U,z,V,H):h.AsyncIterableObject.EMPTY}_getMarkdownHovers(V,q,H,z){const U=H.range.getStartPosition();return(0,v.getHoverProviderResultsAsAsyncIterable)(V,q,U,z).filter(G=>!(0,E.isEmptyMarkdownString)(G.hover.contents)).map(G=>{const K=G.hover.range?b.Range.lift(G.hover.range):H.range,R=new M(G.hover,G.provider,U);return new T(this,K,G.hover.contents,!1,G.ordinal,R)})}renderHoverParts(V,q){return this._renderedHoverParts=new N(q,V.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,V.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(V,q,H){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(V,q,H))}};e.MarkdownHoverParticipant=A,e.MarkdownHoverParticipant=A=ke([ce(1,p.ILanguageService),ce(2,i.IOpenerService),ce(3,t.IConfigurationService),ce(4,s.ILanguageFeaturesService),ce(5,u.IKeybindingService),ce(6,f.IHoverService),ce(7,w.ICommandService)],A);class P{constructor(V,q,H){this.hoverPart=V,this.hoverElement=q,this.disposables=H}dispose(){this.disposables.dispose()}}class N{constructor(V,q,H,z,U,j,Y,G,K,R,J){this._hoverParticipant=H,this._editor=z,this._languageService=U,this._openerService=j,this._commandService=Y,this._keybindingService=G,this._hoverService=K,this._configurationService=R,this._onFinishedRendering=J,this._ongoingHoverOperations=new Map,this._disposables=new y.DisposableStore,this.renderedHoverParts=this._renderHoverParts(V,q,this._onFinishedRendering),this._disposables.add((0,y.toDisposable)(()=>{this.renderedHoverParts.forEach(ie=>{ie.dispose()}),this._ongoingHoverOperations.forEach(ie=>{ie.tokenSource.dispose(!0)})}))}_renderHoverParts(V,q,H){return V.sort((0,k.compareBy)(z=>z.ordinal,k.numberComparator)),V.map(z=>{const U=this._renderHoverPart(z,H);return q.appendChild(U.hoverElement),U})}_renderHoverPart(V,q){const H=this._renderMarkdownHover(V,q),z=H.hoverElement,U=V.source,j=new y.DisposableStore;if(j.add(H),!U)return new P(V,z,j);const Y=U.supportsVerbosityAction(g.HoverVerbosityAction.Increase),G=U.supportsVerbosityAction(g.HoverVerbosityAction.Decrease);if(!Y&&!G)return new P(V,z,j);const K=S(\"div.verbosity-actions\");return z.prepend(K),j.add(this._renderHoverExpansionAction(K,g.HoverVerbosityAction.Increase,Y)),j.add(this._renderHoverExpansionAction(K,g.HoverVerbosityAction.Decrease,G)),new P(V,z,j)}_renderMarkdownHover(V,q){return F(this._editor,V,this._languageService,this._openerService,q)}_renderHoverExpansionAction(V,q,H){const z=new y.DisposableStore,U=q===g.HoverVerbosityAction.Increase,j=d.append(V,S(a.ThemeIcon.asCSSSelector(U?L:D)));j.tabIndex=0;const Y=new f.WorkbenchHoverDelegate(\"mouse\",!1,{target:V,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(z.add(this._hoverService.setupManagedHover(Y,j,x(this._keybindingService,q))),!H)return j.classList.add(\"disabled\"),z;j.classList.add(\"enabled\");const G=()=>this._commandService.executeCommand(q===g.HoverVerbosityAction.Increase?_.INCREASE_HOVER_VERBOSITY_ACTION_ID:_.DECREASE_HOVER_VERBOSITY_ACTION_ID);return z.add(new C.ClickAction(j,G)),z.add(new C.KeyDownAction(j,G,[3,10])),z}async updateMarkdownHoverPartVerbosityLevel(V,q,H=!0){const z=this._editor.getModel();if(!z)return;const U=this._getRenderedHoverPartAtIndex(q),j=U?.hoverPart.source;if(!U||!j?.supportsVerbosityAction(V))return;const Y=await this._fetchHover(j,z,V);if(!Y)return;const G=new M(Y,j.hoverProvider,j.hoverPosition),K=U.hoverPart,R=new T(this._hoverParticipant,K.range,Y.contents,K.isBeforeContent,K.ordinal,G),J=this._renderHoverPart(R,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(q,J,R),H&&this._focusOnHoverPartWithIndex(q),{hoverPart:R,hoverElement:J.hoverElement}}async _fetchHover(V,q,H){let z=H===g.HoverVerbosityAction.Increase?1:-1;const U=V.hoverProvider,j=this._ongoingHoverOperations.get(U);j&&(j.tokenSource.cancel(),z+=j.verbosityDelta);const Y=new I.CancellationTokenSource;this._ongoingHoverOperations.set(U,{verbosityDelta:z,tokenSource:Y});const G={verbosityRequest:{verbosityDelta:z,previousHover:V.hover}};let K;try{K=await Promise.resolve(U.provideHover(q,V.hoverPosition,Y.token,G))}catch(R){(0,r.onUnexpectedExternalError)(R)}return Y.dispose(),this._ongoingHoverOperations.delete(U),K}_replaceRenderedHoverPartAtIndex(V,q,H){if(V>=this.renderedHoverParts.length||V<0)return;const z=this.renderedHoverParts[V],U=z.hoverElement,j=q.hoverElement,Y=Array.from(j.children);U.replaceChildren(...Y);const G=new P(H,U,q.disposables);U.focus(),z.dispose(),this.renderedHoverParts[V]=G}_focusOnHoverPartWithIndex(V){this.renderedHoverParts[V].hoverElement.focus()}_getRenderedHoverPartAtIndex(V){return this.renderedHoverParts[V]}dispose(){this._disposables.dispose()}}function O(W,V,q,H,z){V.sort((0,k.compareBy)(j=>j.ordinal,k.numberComparator));const U=[];for(const j of V)U.push(F(q,j,H,z,W.onContentsChanged));return new n.RenderedHoverParts(U)}function F(W,V,q,H,z){const U=new y.DisposableStore,j=S(\"div.hover-row\"),Y=S(\"div.hover-row-contents\");j.appendChild(Y);const G=V.contents;for(const R of G){if((0,E.isEmptyMarkdownString)(R))continue;const J=S(\"div.markdown-hover\"),ie=d.append(J,S(\"div.hover-contents\")),ue=U.add(new m.MarkdownRenderer({editor:W},q,H));U.add(ue.onDidRenderAsync(()=>{ie.className=\"hover-contents code-hover-contents\",z()}));const he=U.add(ue.render(R));ie.appendChild(he.element),Y.appendChild(J)}return{hoverPart:V,hoverElement:j,dispose(){U.dispose()}}}function x(W,V){switch(V){case g.HoverVerbosityAction.Increase:{const q=W.lookupKeybinding(_.INCREASE_HOVER_VERBOSITY_ACTION_ID);return q?o.localize(1036,\"Increase Hover Verbosity ({0})\",q.getLabel()):o.localize(1037,\"Increase Hover Verbosity\")}case g.HoverVerbosityAction.Decrease:{const q=W.lookupKeybinding(_.DECREASE_HOVER_VERBOSITY_ACTION_ID);return q?o.localize(1038,\"Decrease Hover Verbosity ({0})\",q.getLabel()):o.localize(1039,\"Decrease Hover Verbosity\")}}}}),define(ne[764],se([1,0,5,46,86,26,6,2,11,19,37,43,120,270,3,12,59,32,71,30,54,63,526]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){\"use strict\";var C;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ParameterHintsWidget=void 0;const f=d.$,h=(0,l.registerIcon)(\"parameter-hints-next\",E.Codicon.chevronDown,i.localize(1173,\"Icon for show next parameter hint.\")),v=(0,l.registerIcon)(\"parameter-hints-previous\",E.Codicon.chevronUp,i.localize(1174,\"Icon for show previous parameter hint.\"));let w=class extends m.Disposable{static{C=this}static{this.ID=\"editor.widget.parameterHintsWidget\"}constructor(L,D,T,M,A,P){super(),this.editor=L,this.model=D,this.telemetryService=P,this.renderDisposeables=this._register(new m.DisposableStore),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new o.MarkdownRenderer({editor:L},A,M)),this.keyVisible=t.Context.Visible.bindTo(T),this.keyMultipleSignatures=t.Context.MultipleSignatures.bindTo(T)}createParameterHintDOMNodes(){const L=f(\".editor-widget.parameter-hints-widget\"),D=d.append(L,f(\".phwrapper\"));D.tabIndex=-1;const T=d.append(D,f(\".controls\")),M=d.append(T,f(\".button\"+a.ThemeIcon.asCSSSelector(v))),A=d.append(T,f(\".overloads\")),P=d.append(T,f(\".button\"+a.ThemeIcon.asCSSSelector(h)));this._register(d.addDisposableListener(M,\"click\",V=>{d.EventHelper.stop(V),this.previous()})),this._register(d.addDisposableListener(P,\"click\",V=>{d.EventHelper.stop(V),this.next()}));const N=f(\".body\"),O=new I.DomScrollableElement(N,{alwaysConsumeMouseWheel:!0});this._register(O),D.appendChild(O.getDomNode());const F=d.append(N,f(\".signature\")),x=d.append(N,f(\".docs\"));L.style.userSelect=\"text\",this.domNodes={element:L,signature:F,overloads:A,docs:x,scrollbar:O},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(V=>{this.visible&&this.editor.layoutContentWidget(this)}));const W=()=>{if(!this.domNodes)return;const V=this.editor.getOption(50),q=this.domNodes.element;q.style.fontSize=`${V.fontSize}px`,q.style.lineHeight=`${V.lineHeight/V.fontSize}`,q.style.setProperty(\"--vscode-parameterHintsWidget-editorFontFamily\",V.fontFamily),q.style.setProperty(\"--vscode-parameterHintsWidget-editorFontFamilyDefault\",p.EDITOR_FONT_DEFAULTS.fontFamily)};W(),this._register(y.Event.chain(this.editor.onDidChangeConfiguration.bind(this.editor),V=>V.filter(q=>q.hasChanged(50)))(W)),this._register(this.editor.onDidLayoutChange(V=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes?.element.classList.add(\"visible\")},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove(\"visible\"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(L){if(this.renderDisposeables.clear(),!this.domNodes)return;const D=L.signatures.length>1;this.domNodes.element.classList.toggle(\"multiple\",D),this.keyMultipleSignatures.set(D),this.domNodes.signature.innerText=\"\",this.domNodes.docs.innerText=\"\";const T=L.signatures[L.activeSignature];if(!T)return;const M=d.append(this.domNodes.signature,f(\".code\")),A=T.parameters.length>0,P=T.activeParameter??L.activeParameter;if(A)this.renderParameters(M,T,P);else{const F=d.append(M,f(\"span\"));F.textContent=T.label}const N=T.parameters[P];if(N?.documentation){const F=f(\"span.documentation\");if(typeof N.documentation==\"string\")F.textContent=N.documentation;else{const x=this.renderMarkdownDocs(N.documentation);F.appendChild(x.element)}d.append(this.domNodes.docs,f(\"p\",{},F))}if(T.documentation!==void 0)if(typeof T.documentation==\"string\")d.append(this.domNodes.docs,f(\"p\",{},T.documentation));else{const F=this.renderMarkdownDocs(T.documentation);d.append(this.domNodes.docs,F.element)}const O=this.hasDocs(T,N);if(this.domNodes.signature.classList.toggle(\"has-docs\",O),this.domNodes.docs.classList.toggle(\"empty\",!O),this.domNodes.overloads.textContent=String(L.activeSignature+1).padStart(L.signatures.length.toString().length,\"0\")+\"/\"+L.signatures.length,N){let F=\"\";const x=T.parameters[P];Array.isArray(x.label)?F=T.label.substring(x.label[0],x.label[1]):F=x.label,x.documentation&&(F+=typeof x.documentation==\"string\"?`, ${x.documentation}`:`, ${x.documentation.value}`),T.documentation&&(F+=typeof T.documentation==\"string\"?`, ${T.documentation}`:`, ${T.documentation.value}`),this.announcedLabel!==F&&(k.alert(i.localize(1175,\"{0}, hint\",F)),this.announcedLabel=F)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(L){const D=new r.StopWatch,T=this.renderDisposeables.add(this.markdownRenderer.render(L,{asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));T.element.classList.add(\"markdown-docs\");const M=D.elapsed();return M>300&&this.telemetryService.publicLog2(\"parameterHints.parseMarkdown\",{renderDuration:M}),T}hasDocs(L,D){return!!(D&&typeof D.documentation==\"string\"&&(0,b.assertIsDefined)(D.documentation).length>0||D&&typeof D.documentation==\"object\"&&(0,b.assertIsDefined)(D.documentation).value.length>0||L.documentation&&typeof L.documentation==\"string\"&&(0,b.assertIsDefined)(L.documentation).length>0||L.documentation&&typeof L.documentation==\"object\"&&(0,b.assertIsDefined)(L.documentation.value).length>0)}renderParameters(L,D,T){const[M,A]=this.getParameterLabelOffsets(D,T),P=document.createElement(\"span\");P.textContent=D.label.substring(0,M);const N=document.createElement(\"span\");N.textContent=D.label.substring(M,A),N.className=\"parameter active\";const O=document.createElement(\"span\");O.textContent=D.label.substring(A),d.append(L,P,N,O)}getParameterLabelOffsets(L,D){const T=L.parameters[D];if(T){if(Array.isArray(T.label))return T.label;if(T.label.length){const M=new RegExp(`(\\\\W|^)${(0,_.escapeRegExpCharacters)(T.label)}(?=\\\\W|$)`,\"g\");M.test(L.label);const A=M.lastIndex-T.label.length;return A>=0?[A,M.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return C.ID}updateMaxHeight(){if(!this.domNodes)return;const D=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=D;const T=this.domNodes.element.getElementsByClassName(\"phwrapper\");T.length&&(T[0].style.maxHeight=D)}};e.ParameterHintsWidget=w,e.ParameterHintsWidget=w=C=ke([ce(2,s.IContextKeyService),ce(3,g.IOpenerService),ce(4,n.ILanguageService),ce(5,u.ITelemetryService)],w),(0,c.registerColor)(\"editorHoverWidget.highlightForeground\",c.listHighlightForeground,i.localize(1176,\"Foreground color of the active item in the parameter hint.\"))}),define(ne[765],se([1,0,98,2,15,20,27,17,683,270,3,12,7,764]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";var i;Object.defineProperty(e,\"__esModule\",{value:!0}),e.TriggerParameterHintsAction=e.ParameterHintsController=void 0;let s=class extends k.Disposable{static{i=this}static{this.ID=\"editor.controller.parameterHints\"}static get(r){return r.getContribution(i.ID)}constructor(r,u,C){super(),this.editor=r,this.model=this._register(new _.ParameterHintsModel(r,C.signatureHelpProvider)),this._register(this.model.onChangedHints(f=>{f?(this.widget.value.show(),this.widget.value.render(f)):this.widget.rawValue?.hide()})),this.widget=new d.Lazy(()=>this._register(u.createInstance(t.ParameterHintsWidget,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(r){this.model.trigger(r,0)}};e.ParameterHintsController=s,e.ParameterHintsController=s=i=ke([ce(1,o.IInstantiationService),ce(2,m.ILanguageFeaturesService)],s);class g extends I.EditorAction{constructor(){super({id:\"editor.action.triggerParameterHints\",label:p.localize(1172,\"Trigger Parameter Hints\"),alias:\"Trigger Parameter Hints\",precondition:E.EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:E.EditorContextKeys.editorTextFocus,primary:3082,weight:100}})}run(r,u){s.get(u)?.trigger({triggerKind:y.SignatureHelpTriggerKind.Invoke})}}e.TriggerParameterHintsAction=g,(0,I.registerEditorContribution)(s.ID,s,2),(0,I.registerEditorAction)(g);const c=175,l=I.EditorCommand.bindToContribution(s.get);(0,I.registerEditorCommand)(new l({id:\"closeParameterHints\",precondition:b.Context.Visible,handler:a=>a.cancel(),kbOpts:{weight:c,kbExpr:E.EditorContextKeys.focus,primary:9,secondary:[1033]}})),(0,I.registerEditorCommand)(new l({id:\"showPrevParameterHint\",precondition:n.ContextKeyExpr.and(b.Context.Visible,b.Context.MultipleSignatures),handler:a=>a.previous(),kbOpts:{weight:c,kbExpr:E.EditorContextKeys.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),(0,I.registerEditorCommand)(new l({id:\"showNextParameterHint\",precondition:n.ContextKeyExpr.and(b.Context.Visible,b.Context.MultipleSignatures),handler:a=>a.next(),kbOpts:{weight:c,kbExpr:E.EditorContextKeys.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))}),define(ne[766],se([1,0,5,87,41,2,120,7,702,71,30,534]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BannerController=void 0;const n=26;let o=class extends E.Disposable{constructor(s,g){super(),this._editor=s,this.instantiationService=g,this.banner=this._register(this.instantiationService.createInstance(t))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(s){this.banner.show({...s,onClose:()=>{this.hide(),s.onClose?.()}}),this._editor.setBanner(this.banner.element,n)}};e.BannerController=o,e.BannerController=o=ke([ce(1,m.IInstantiationService)],o);let t=class extends E.Disposable{constructor(s){super(),this.instantiationService=s,this.markdownRenderer=this.instantiationService.createInstance(y.MarkdownRenderer,{}),this.element=(0,d.$)(\"div.editor-banner\"),this.element.tabIndex=0}getAriaLabel(s){if(s.ariaLabel)return s.ariaLabel;if(typeof s.message==\"string\")return s.message}getBannerMessage(s){if(typeof s==\"string\"){const g=(0,d.$)(\"span\");return g.innerText=s,g}return this.markdownRenderer.render(s).element}clear(){(0,d.clearNode)(this.element)}show(s){(0,d.clearNode)(this.element);const g=this.getAriaLabel(s);g&&this.element.setAttribute(\"aria-label\",g);const c=(0,d.append)(this.element,(0,d.$)(\"div.icon-container\"));c.setAttribute(\"aria-hidden\",\"true\"),s.icon&&c.appendChild((0,d.$)(`div${p.ThemeIcon.asCSSSelector(s.icon)}`));const l=(0,d.append)(this.element,(0,d.$)(\"div.message-container\"));if(l.setAttribute(\"aria-hidden\",\"true\"),l.appendChild(this.getBannerMessage(s.message)),this.messageActionsContainer=(0,d.append)(this.element,(0,d.$)(\"div.message-actions-container\")),s.actions)for(const r of s.actions)this._register(this.instantiationService.createInstance(_.Link,this.messageActionsContainer,{...r,tabIndex:-1},{}));const a=(0,d.append)(this.element,(0,d.$)(\"div.action-container\"));this.actionBar=this._register(new k.ActionBar(a)),this.actionBar.push(this._register(new I.Action(\"banner.close\",\"Close Banner\",p.ThemeIcon.asClassName(b.widgetClose),!0,()=>{typeof s.onClose==\"function\"&&s.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};t=ke([ce(0,m.IInstantiationService)],t)}),define(ne[767],se([1,0,5,6,2,30,71]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UnthemedProductIconTheme=void 0,e.getIconsStyleSheet=m;function m(b){const p=new I.DisposableStore,n=p.add(new k.Emitter),o=(0,y.getIconRegistry)();return p.add(o.onDidChange(()=>n.fire())),b&&p.add(b.onDidProductIconThemeChange(()=>n.fire())),{dispose:()=>p.dispose(),onDidChange:n.event,getCSS(){const t=b?b.getProductIconTheme():new _,i={},s=[],g=[];for(const c of o.getIcons()){const l=t.getIcon(c);if(!l)continue;const a=l.font,r=`--vscode-icon-${c.id}-font-family`,u=`--vscode-icon-${c.id}-content`;a?(i[a.id]=a.definition,g.push(`${r}: ${(0,d.asCSSPropertyValue)(a.id)};`,`${u}: '${l.fontCharacter}';`),s.push(`.codicon-${c.id}:before { content: '${l.fontCharacter}'; font-family: ${(0,d.asCSSPropertyValue)(a.id)}; }`)):(g.push(`${u}: '${l.fontCharacter}'; ${r}: 'codicon';`),s.push(`.codicon-${c.id}:before { content: '${l.fontCharacter}'; }`))}for(const c in i){const l=i[c],a=l.weight?`font-weight: ${l.weight};`:\"\",r=l.style?`font-style: ${l.style};`:\"\",u=l.src.map(C=>`${(0,d.asCSSUrl)(C.location)} format('${C.format}')`).join(\", \");s.push(`@font-face { src: ${u}; font-family: ${(0,d.asCSSPropertyValue)(c)};${a}${r} font-display: block; }`)}return s.push(`:root { ${g.join(\" \")} }`),s.join(`\n`)}}}class _{getIcon(p){const n=(0,y.getIconRegistry)();let o=p.defaults;for(;E.ThemeIcon.isThemeIcon(o);){const t=n.getIcon(o.id);if(!t)return;o=t.defaults}return o}}e.UnthemedProductIconTheme=_}),define(ne[97],se([1,0]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ColorScheme=void 0,e.isHighContrast=k,e.isDark=I;var d;(function(E){E.DARK=\"dark\",E.LIGHT=\"light\",E.HIGH_CONTRAST_DARK=\"hcDark\",E.HIGH_CONTRAST_LIGHT=\"hcLight\"})(d||(e.ColorScheme=d={}));function k(E){return E===d.HIGH_CONTRAST_DARK||E===d.HIGH_CONTRAST_LIGHT}function I(E){return E===d.DARK||E===d.HIGH_CONTRAST_DARK}}),define(ne[281],se([1,0,64,39,16,548,164,150,136,97,37]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewLine=e.ViewLineOptions=void 0,e.getColumnOfNodeOffset=u;const n=function(){return I.isNative?!0:!(I.isLinux||d.isFirefox||d.isSafari)}();let o=!0;class t{constructor(f,h){this.themeType=h;const v=f.options,w=v.get(50);v.get(38)===\"off\"?this.renderWhitespace=v.get(100):this.renderWhitespace=\"none\",this.renderControlCharacters=v.get(95),this.spaceWidth=w.spaceWidth,this.middotWidth=w.middotWidth,this.wsmiddotWidth=w.wsmiddotWidth,this.useMonospaceOptimizations=w.isMonospace&&!v.get(33),this.canUseHalfwidthRightwardsArrow=w.canUseHalfwidthRightwardsArrow,this.lineHeight=v.get(67),this.stopRenderingLineAfter=v.get(118),this.fontLigatures=v.get(51)}equals(f){return this.themeType===f.themeType&&this.renderWhitespace===f.renderWhitespace&&this.renderControlCharacters===f.renderControlCharacters&&this.spaceWidth===f.spaceWidth&&this.middotWidth===f.middotWidth&&this.wsmiddotWidth===f.wsmiddotWidth&&this.useMonospaceOptimizations===f.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===f.canUseHalfwidthRightwardsArrow&&this.lineHeight===f.lineHeight&&this.stopRenderingLineAfter===f.stopRenderingLineAfter&&this.fontLigatures===f.fontLigatures}}e.ViewLineOptions=t;class i{static{this.CLASS_NAME=\"view-line\"}constructor(f){this._options=f,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(f){if(this._renderedViewLine)this._renderedViewLine.domNode=(0,k.createFastDomNode)(f);else throw new Error(\"I have no rendered view line to set the dom node to...\")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(f){this._isMaybeInvalid=!0,this._options=f}onSelectionChanged(){return(0,b.isHighContrast)(this._options.themeType)||this._options.renderWhitespace===\"selection\"?(this._isMaybeInvalid=!0,!0):!1}renderLine(f,h,v,w,S){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const L=w.getViewLineRenderingData(f),D=this._options,T=m.LineDecoration.filter(L.inlineDecorations,f,L.minColumn,L.maxColumn);let M=null;if((0,b.isHighContrast)(D.themeType)||this._options.renderWhitespace===\"selection\"){const O=w.selections;for(const F of O){if(F.endLineNumber<f||F.startLineNumber>f)continue;const x=F.startLineNumber===f?F.startColumn:L.minColumn,W=F.endLineNumber===f?F.endColumn:L.maxColumn;x<W&&((0,b.isHighContrast)(D.themeType)&&T.push(new m.LineDecoration(x,W,\"inline-selected-text\",0)),this._options.renderWhitespace===\"selection\"&&(M||(M=[]),M.push(new _.LineRange(x-1,W-1))))}}const A=new _.RenderLineInput(D.useMonospaceOptimizations,D.canUseHalfwidthRightwardsArrow,L.content,L.continuesWithWrappedLine,L.isBasicASCII,L.containsRTL,L.minColumn-1,L.tokens,T,L.tabSize,L.startVisibleColumn,D.spaceWidth,D.middotWidth,D.wsmiddotWidth,D.stopRenderingLineAfter,D.renderWhitespace,D.renderControlCharacters,D.fontLigatures!==p.EditorFontLigatures.OFF,M);if(this._renderedViewLine&&this._renderedViewLine.input.equals(A))return!1;S.appendString('<div style=\"top:'),S.appendString(String(h)),S.appendString(\"px;height:\"),S.appendString(String(v)),S.appendString('px;\" class=\"'),S.appendString(i.CLASS_NAME),S.appendString('\">');const P=(0,_.renderViewLine)(A,S);S.appendString(\"</div>\");let N=null;return o&&n&&L.isBasicASCII&&D.useMonospaceOptimizations&&P.containsForeignElements===0&&(N=new s(this._renderedViewLine?this._renderedViewLine.domNode:null,A,P.characterMapping)),N||(N=l(this._renderedViewLine?this._renderedViewLine.domNode:null,A,P.characterMapping,P.containsRTL,P.containsForeignElements)),this._renderedViewLine=N,!0}layoutLine(f,h,v){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(h),this._renderedViewLine.domNode.setHeight(v))}getWidth(f){return this._renderedViewLine?this._renderedViewLine.getWidth(f):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof s:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof s?this._renderedViewLine.monospaceAssumptionsAreValid():o}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof s&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(f,h,v,w){if(!this._renderedViewLine)return null;h=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,h)),v=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,v));const S=this._renderedViewLine.input.stopRenderingLineAfter;if(S!==-1&&h>S+1&&v>S+1)return new y.VisibleRanges(!0,[new y.FloatHorizontalRange(this.getWidth(w),0)]);S!==-1&&h>S+1&&(h=S+1),S!==-1&&v>S+1&&(v=S+1);const L=this._renderedViewLine.getVisibleRangesForRange(f,h,v,w);return L&&L.length>0?new y.VisibleRanges(!1,L):null}getColumnOfNodeOffset(f,h){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(f,h):1}}e.ViewLine=i;class s{constructor(f,h,v){this._cachedWidth=-1,this.domNode=f,this.input=h;const w=Math.floor(h.lineContent.length/300);if(w>0){this._keyColumnPixelOffsetCache=new Float32Array(w);for(let S=0;S<w;S++)this._keyColumnPixelOffsetCache[S]=-1}else this._keyColumnPixelOffsetCache=null;this._characterMapping=v,this._charWidth=h.spaceWidth}getWidth(f){if(!this.domNode||this.input.lineContent.length<300){const h=this._characterMapping.getHorizontalOffset(this._characterMapping.length);return Math.round(this._charWidth*h)}return this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,f?.markDidDomLayout()),this._cachedWidth}getWidthIsFast(){return this.input.lineContent.length<300||this._cachedWidth!==-1}monospaceAssumptionsAreValid(){if(!this.domNode)return o;if(this.input.lineContent.length<300){const f=this.getWidth(null),h=this.domNode.domNode.firstChild.offsetWidth;Math.abs(f-h)>=2&&(console.warn(\"monospace assumptions have been violated, therefore disabling monospace optimizations!\"),o=!1)}return o}toSlowRenderedLine(){return l(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(f,h,v,w){const S=this._getColumnPixelOffset(f,h,w),L=this._getColumnPixelOffset(f,v,w);return[new y.FloatHorizontalRange(S,L-S)]}_getColumnPixelOffset(f,h,v){if(h<=300){const M=this._characterMapping.getHorizontalOffset(h);return this._charWidth*M}const w=Math.floor((h-1)/300)-1,S=(w+1)*300+1;let L=-1;if(this._keyColumnPixelOffsetCache&&(L=this._keyColumnPixelOffsetCache[w],L===-1&&(L=this._actualReadPixelOffset(f,S,v),this._keyColumnPixelOffsetCache[w]=L)),L===-1){const M=this._characterMapping.getHorizontalOffset(h);return this._charWidth*M}const D=this._characterMapping.getHorizontalOffset(S),T=this._characterMapping.getHorizontalOffset(h);return L+this._charWidth*(T-D)}_getReadingTarget(f){return f.domNode.firstChild}_actualReadPixelOffset(f,h,v){if(!this.domNode)return-1;const w=this._characterMapping.getDomPosition(h),S=E.RangeUtil.readHorizontalRanges(this._getReadingTarget(this.domNode),w.partIndex,w.charIndex,w.partIndex,w.charIndex,v);return!S||S.length===0?-1:S[0].left}getColumnOfNodeOffset(f,h){return u(this._characterMapping,f,h)}}class g{constructor(f,h,v,w,S){if(this.domNode=f,this.input=h,this._characterMapping=v,this._isWhitespaceOnly=/^\\s*$/.test(h.lineContent),this._containsForeignElements=S,this._cachedWidth=-1,this._pixelOffsetCache=null,!w||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let L=0,D=this._characterMapping.length;L<=D;L++)this._pixelOffsetCache[L]=-1}}_getReadingTarget(f){return f.domNode.firstChild}getWidth(f){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,f?.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(f,h,v,w){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const S=this._readPixelOffset(this.domNode,f,h,w);if(S===-1)return null;const L=this._readPixelOffset(this.domNode,f,v,w);return L===-1?null:[new y.FloatHorizontalRange(S,L-S)]}return this._readVisibleRangesForRange(this.domNode,f,h,v,w)}_readVisibleRangesForRange(f,h,v,w,S){if(v===w){const L=this._readPixelOffset(f,h,v,S);return L===-1?null:[new y.FloatHorizontalRange(L,0)]}else return this._readRawVisibleRangesForRange(f,v,w,S)}_readPixelOffset(f,h,v,w){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(w);const S=this._getReadingTarget(f);return S.firstChild?(w.markDidDomLayout(),S.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const S=this._pixelOffsetCache[v];if(S!==-1)return S;const L=this._actualReadPixelOffset(f,h,v,w);return this._pixelOffsetCache[v]=L,L}return this._actualReadPixelOffset(f,h,v,w)}_actualReadPixelOffset(f,h,v,w){if(this._characterMapping.length===0){const T=E.RangeUtil.readHorizontalRanges(this._getReadingTarget(f),0,0,0,0,w);return!T||T.length===0?-1:T[0].left}if(v===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(w);const S=this._characterMapping.getDomPosition(v),L=E.RangeUtil.readHorizontalRanges(this._getReadingTarget(f),S.partIndex,S.charIndex,S.partIndex,S.charIndex,w);if(!L||L.length===0)return-1;const D=L[0].left;if(this.input.isBasicASCII){const T=this._characterMapping.getHorizontalOffset(v),M=Math.round(this.input.spaceWidth*T);if(Math.abs(M-D)<=1)return M}return D}_readRawVisibleRangesForRange(f,h,v,w){if(h===1&&v===this._characterMapping.length)return[new y.FloatHorizontalRange(0,this.getWidth(w))];const S=this._characterMapping.getDomPosition(h),L=this._characterMapping.getDomPosition(v);return E.RangeUtil.readHorizontalRanges(this._getReadingTarget(f),S.partIndex,S.charIndex,L.partIndex,L.charIndex,w)}getColumnOfNodeOffset(f,h){return u(this._characterMapping,f,h)}}class c extends g{_readVisibleRangesForRange(f,h,v,w,S){const L=super._readVisibleRangesForRange(f,h,v,w,S);if(!L||L.length===0||v===w||v===1&&w===this._characterMapping.length)return L;if(!this.input.containsRTL){const D=this._readPixelOffset(f,h,w,S);if(D!==-1){const T=L[L.length-1];T.left<D&&(T.width=D-T.left)}}return L}}const l=function(){return d.isWebKit?a:r}();function a(C,f,h,v,w){return new c(C,f,h,v,w)}function r(C,f,h,v,w){return new g(C,f,h,v,w)}function u(C,f,h){const v=f.textContent.length;let w=-1;for(;f;)f=f.previousSibling,w++;return C.getColumn(new _.DomPosition(w,h),v)}}),define(ne[414],se([1,0,185,56,281,9,4,94,5,313,98]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseTargetFactory=e.HitTestContext=e.MouseTarget=e.PointerHandlerLastRenderData=void 0;class n{constructor(w=null){this.hitTarget=w,this.type=0}}class o{get hitTarget(){return this.spanNode}constructor(w,S,L){this.position=w,this.spanNode=S,this.injectedText=L,this.type=1}}var t;(function(v){function w(S,L,D){const T=S.getPositionFromDOMInfo(L,D);return T?new o(T,L,null):new n(L)}v.createFromDOMInfo=w})(t||(t={}));class i{constructor(w,S){this.lastViewCursorsRenderData=w,this.lastTextareaPosition=S}}e.PointerHandlerLastRenderData=i;class s{static _deduceRage(w,S=null){return!S&&w?new y.Range(w.lineNumber,w.column,w.lineNumber,w.column):S??null}static createUnknown(w,S,L){return{type:0,element:w,mouseColumn:S,position:L,range:this._deduceRage(L)}}static createTextarea(w,S){return{type:1,element:w,mouseColumn:S,position:null,range:null}}static createMargin(w,S,L,D,T,M){return{type:w,element:S,mouseColumn:L,position:D,range:T,detail:M}}static createViewZone(w,S,L,D,T){return{type:w,element:S,mouseColumn:L,position:D,range:this._deduceRage(D),detail:T}}static createContentText(w,S,L,D,T){return{type:6,element:w,mouseColumn:S,position:L,range:this._deduceRage(L,D),detail:T}}static createContentEmpty(w,S,L,D){return{type:7,element:w,mouseColumn:S,position:L,range:this._deduceRage(L),detail:D}}static createContentWidget(w,S,L){return{type:9,element:w,mouseColumn:S,position:null,range:null,detail:L}}static createScrollbar(w,S,L){return{type:11,element:w,mouseColumn:S,position:L,range:this._deduceRage(L)}}static createOverlayWidget(w,S,L){return{type:12,element:w,mouseColumn:S,position:null,range:null,detail:L}}static createOutsideEditor(w,S,L,D){return{type:13,element:null,mouseColumn:w,position:S,range:this._deduceRage(S),outsidePosition:L,outsideDistance:D}}static _typeToString(w){return w===1?\"TEXTAREA\":w===2?\"GUTTER_GLYPH_MARGIN\":w===3?\"GUTTER_LINE_NUMBERS\":w===4?\"GUTTER_LINE_DECORATIONS\":w===5?\"GUTTER_VIEW_ZONE\":w===6?\"CONTENT_TEXT\":w===7?\"CONTENT_EMPTY\":w===8?\"CONTENT_VIEW_ZONE\":w===9?\"CONTENT_WIDGET\":w===10?\"OVERVIEW_RULER\":w===11?\"SCROLLBAR\":w===12?\"OVERLAY_WIDGET\":\"UNKNOWN\"}static toString(w){return this._typeToString(w.type)+\": \"+w.position+\" - \"+w.range+\" - \"+JSON.stringify(w.detail)}}e.MouseTarget=s;class g{static isTextArea(w){return w.length===2&&w[0]===3&&w[1]===7}static isChildOfViewLines(w){return w.length>=4&&w[0]===3&&w[3]===8}static isStrictChildOfViewLines(w){return w.length>4&&w[0]===3&&w[3]===8}static isChildOfScrollableElement(w){return w.length>=2&&w[0]===3&&w[1]===6}static isChildOfMinimap(w){return w.length>=2&&w[0]===3&&w[1]===9}static isChildOfContentWidgets(w){return w.length>=4&&w[0]===3&&w[3]===1}static isChildOfOverflowGuard(w){return w.length>=1&&w[0]===3}static isChildOfOverflowingContentWidgets(w){return w.length>=1&&w[0]===2}static isChildOfOverlayWidgets(w){return w.length>=2&&w[0]===3&&w[1]===4}static isChildOfOverflowingOverlayWidgets(w){return w.length>=1&&w[0]===5}}class c{constructor(w,S,L){this.viewModel=w.viewModel;const D=w.configuration.options;this.layoutInfo=D.get(146),this.viewDomNode=S.viewDomNode,this.lineHeight=D.get(67),this.stickyTabStops=D.get(117),this.typicalHalfwidthCharacterWidth=D.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=L,this._context=w,this._viewHelper=S}getZoneAtCoord(w){return c.getZoneAtCoord(this._context,w)}static getZoneAtCoord(w,S){const L=w.viewLayout.getWhitespaceAtVerticalOffset(S);if(L){const D=L.verticalOffset+L.height/2,T=w.viewModel.getLineCount();let M=null,A,P=null;return L.afterLineNumber!==T&&(P=new E.Position(L.afterLineNumber+1,1)),L.afterLineNumber>0&&(M=new E.Position(L.afterLineNumber,w.viewModel.getLineMaxColumn(L.afterLineNumber))),P===null?A=M:M===null?A=P:S<D?A=M:A=P,{viewZoneId:L.id,afterLineNumber:L.afterLineNumber,positionBefore:M,positionAfter:P,position:A}}return null}getFullLineRangeAtCoord(w){if(this._context.viewLayout.isAfterLines(w)){const D=this._context.viewModel.getLineCount(),T=this._context.viewModel.getLineMaxColumn(D);return{range:new y.Range(D,T,D,T),isAfterLines:!0}}const S=this._context.viewLayout.getLineNumberAtVerticalOffset(w),L=this._context.viewModel.getLineMaxColumn(S);return{range:new y.Range(S,1,S,L),isAfterLines:!1}}getLineNumberAtVerticalOffset(w){return this._context.viewLayout.getLineNumberAtVerticalOffset(w)}isAfterLines(w){return this._context.viewLayout.isAfterLines(w)}isInTopPadding(w){return this._context.viewLayout.isInTopPadding(w)}isInBottomPadding(w){return this._context.viewLayout.isInBottomPadding(w)}getVerticalOffsetForLineNumber(w){return this._context.viewLayout.getVerticalOffsetForLineNumber(w)}findAttribute(w,S){return c._findAttribute(w,S,this._viewHelper.viewDomNode)}static _findAttribute(w,S,L){for(;w&&w!==w.ownerDocument.body;){if(w.hasAttribute&&w.hasAttribute(S))return w.getAttribute(S);if(w===L)return null;w=w.parentNode}return null}getLineWidth(w){return this._viewHelper.getLineWidth(w)}visibleRangeForPosition(w,S){return this._viewHelper.visibleRangeForPosition(w,S)}getPositionFromDOMInfo(w,S){return this._viewHelper.getPositionFromDOMInfo(w,S)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}}e.HitTestContext=c;class l{constructor(w,S,L,D){this.editorPos=S,this.pos=L,this.relativePos=D,this.mouseVerticalOffset=Math.max(0,w.getCurrentScrollTop()+this.relativePos.y),this.mouseContentHorizontalOffset=w.getCurrentScrollLeft()+this.relativePos.x-w.layoutInfo.contentLeft,this.isInMarginArea=this.relativePos.x<w.layoutInfo.contentLeft&&this.relativePos.x>=w.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,C._getMouseColumn(this.mouseContentHorizontalOffset,w.typicalHalfwidthCharacterWidth))}}class a extends l{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=k.PartFingerprints.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(w,S,L,D,T){super(w,S,L,D),this.hitTestResult=new p.Lazy(()=>C.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=w,this._eventTarget=T;const M=!!this._eventTarget;this._useHitTestTarget=!M}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(w=null){return w&&w.column<this._ctx.viewModel.getLineMaxColumn(w.lineNumber)?m.CursorColumns.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(w.lineNumber),w.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(w=null){return s.createUnknown(this.target,this._getMouseColumn(w),w)}fulfillTextarea(){return s.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(w,S,L,D){return s.createMargin(w,this.target,this._getMouseColumn(S),S,L,D)}fulfillViewZone(w,S,L){return s.createViewZone(w,this.target,this._getMouseColumn(S),S,L)}fulfillContentText(w,S,L){return s.createContentText(this.target,this._getMouseColumn(w),w,S,L)}fulfillContentEmpty(w,S){return s.createContentEmpty(this.target,this._getMouseColumn(w),w,S)}fulfillContentWidget(w){return s.createContentWidget(this.target,this._getMouseColumn(),w)}fulfillScrollbar(w){return s.createScrollbar(this.target,this._getMouseColumn(w),w)}fulfillOverlayWidget(w){return s.createOverlayWidget(this.target,this._getMouseColumn(),w)}}const r={isAfterLines:!0};function u(v){return{isAfterLines:!1,horizontalDistanceToText:v}}class C{constructor(w,S){this._context=w,this._viewHelper=S}mouseTargetIsWidget(w){const S=w.target,L=k.PartFingerprints.collect(S,this._viewHelper.viewDomNode);return!!(g.isChildOfContentWidgets(L)||g.isChildOfOverflowingContentWidgets(L)||g.isChildOfOverlayWidgets(L)||g.isChildOfOverflowingOverlayWidgets(L))}createMouseTarget(w,S,L,D,T){const M=new c(this._context,this._viewHelper,w),A=new a(M,S,L,D,T);try{const P=C._createMouseTarget(M,A);if(P.type===6&&M.stickyTabStops&&P.position!==null){const N=C._snapToSoftTabBoundary(P.position,M.viewModel),O=y.Range.fromPositions(N,N).plusRange(P.range);return A.fulfillContentText(N,O,P.detail)}return P}catch{return A.fulfillUnknown()}}static _createMouseTarget(w,S){if(S.target===null)return S.fulfillUnknown();const L=S;let D=null;return!g.isChildOfOverflowGuard(S.targetPath)&&!g.isChildOfOverflowingContentWidgets(S.targetPath)&&!g.isChildOfOverflowingOverlayWidgets(S.targetPath)&&(D=D||S.fulfillUnknown()),D=D||C._hitTestContentWidget(w,L),D=D||C._hitTestOverlayWidget(w,L),D=D||C._hitTestMinimap(w,L),D=D||C._hitTestScrollbarSlider(w,L),D=D||C._hitTestViewZone(w,L),D=D||C._hitTestMargin(w,L),D=D||C._hitTestViewCursor(w,L),D=D||C._hitTestTextArea(w,L),D=D||C._hitTestViewLines(w,L),D=D||C._hitTestScrollbar(w,L),D||S.fulfillUnknown()}static _hitTestContentWidget(w,S){if(g.isChildOfContentWidgets(S.targetPath)||g.isChildOfOverflowingContentWidgets(S.targetPath)){const L=w.findAttribute(S.target,\"widgetId\");return L?S.fulfillContentWidget(L):S.fulfillUnknown()}return null}static _hitTestOverlayWidget(w,S){if(g.isChildOfOverlayWidgets(S.targetPath)||g.isChildOfOverflowingOverlayWidgets(S.targetPath)){const L=w.findAttribute(S.target,\"widgetId\");return L?S.fulfillOverlayWidget(L):S.fulfillUnknown()}return null}static _hitTestViewCursor(w,S){if(S.target){const L=w.lastRenderData.lastViewCursorsRenderData;for(const D of L)if(S.target===D.domNode)return S.fulfillContentText(D.position,null,{mightBeForeignElement:!1,injectedText:null})}if(S.isInContentArea){const L=w.lastRenderData.lastViewCursorsRenderData,D=S.mouseContentHorizontalOffset,T=S.mouseVerticalOffset;for(const M of L){if(D<M.contentLeft||D>M.contentLeft+M.width)continue;const A=w.getVerticalOffsetForLineNumber(M.position.lineNumber);if(A<=T&&T<=A+M.height)return S.fulfillContentText(M.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(w,S){const L=w.getZoneAtCoord(S.mouseVerticalOffset);if(L){const D=S.isInContentArea?8:5;return S.fulfillViewZone(D,L.position,L)}return null}static _hitTestTextArea(w,S){return g.isTextArea(S.targetPath)?w.lastRenderData.lastTextareaPosition?S.fulfillContentText(w.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):S.fulfillTextarea():null}static _hitTestMargin(w,S){if(S.isInMarginArea){const L=w.getFullLineRangeAtCoord(S.mouseVerticalOffset),D=L.range.getStartPosition();let T=Math.abs(S.relativePos.x);const M={isAfterLines:L.isAfterLines,glyphMarginLeft:w.layoutInfo.glyphMarginLeft,glyphMarginWidth:w.layoutInfo.glyphMarginWidth,lineNumbersWidth:w.layoutInfo.lineNumbersWidth,offsetX:T};if(T-=w.layoutInfo.glyphMarginLeft,T<=w.layoutInfo.glyphMarginWidth){const A=w.viewModel.coordinatesConverter.convertViewPositionToModelPosition(L.range.getStartPosition()),P=w.viewModel.glyphLanes.getLanesAtLine(A.lineNumber);return M.glyphMarginLane=P[Math.floor(T/w.lineHeight)],S.fulfillMargin(2,D,L.range,M)}return T-=w.layoutInfo.glyphMarginWidth,T<=w.layoutInfo.lineNumbersWidth?S.fulfillMargin(3,D,L.range,M):(T-=w.layoutInfo.lineNumbersWidth,S.fulfillMargin(4,D,L.range,M))}return null}static _hitTestViewLines(w,S){if(!g.isChildOfViewLines(S.targetPath))return null;if(w.isInTopPadding(S.mouseVerticalOffset))return S.fulfillContentEmpty(new E.Position(1,1),r);if(w.isAfterLines(S.mouseVerticalOffset)||w.isInBottomPadding(S.mouseVerticalOffset)){const D=w.viewModel.getLineCount(),T=w.viewModel.getLineMaxColumn(D);return S.fulfillContentEmpty(new E.Position(D,T),r)}if(g.isStrictChildOfViewLines(S.targetPath)){const D=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset);if(w.viewModel.getLineLength(D)===0){const M=w.getLineWidth(D),A=u(S.mouseContentHorizontalOffset-M);return S.fulfillContentEmpty(new E.Position(D,1),A)}const T=w.getLineWidth(D);if(S.mouseContentHorizontalOffset>=T){const M=u(S.mouseContentHorizontalOffset-T),A=new E.Position(D,w.viewModel.getLineMaxColumn(D));return S.fulfillContentEmpty(A,M)}}const L=S.hitTestResult.value;return L.type===1?C.createMouseTargetFromHitTestPosition(w,S,L.spanNode,L.position,L.injectedText):S.wouldBenefitFromHitTestTargetSwitch?(S.switchToHitTestTarget(),this._createMouseTarget(w,S)):S.fulfillUnknown()}static _hitTestMinimap(w,S){if(g.isChildOfMinimap(S.targetPath)){const L=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset),D=w.viewModel.getLineMaxColumn(L);return S.fulfillScrollbar(new E.Position(L,D))}return null}static _hitTestScrollbarSlider(w,S){if(g.isChildOfScrollableElement(S.targetPath)&&S.target&&S.target.nodeType===1){const L=S.target.className;if(L&&/\\b(slider|scrollbar)\\b/.test(L)){const D=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset),T=w.viewModel.getLineMaxColumn(D);return S.fulfillScrollbar(new E.Position(D,T))}}return null}static _hitTestScrollbar(w,S){if(g.isChildOfScrollableElement(S.targetPath)){const L=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset),D=w.viewModel.getLineMaxColumn(L);return S.fulfillScrollbar(new E.Position(L,D))}return null}getMouseColumn(w){const S=this._context.configuration.options,L=S.get(146),D=this._context.viewLayout.getCurrentScrollLeft()+w.x-L.contentLeft;return C._getMouseColumn(D,S.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(w,S){return w<0?1:Math.round(w/S)+1}static createMouseTargetFromHitTestPosition(w,S,L,D,T){const M=D.lineNumber,A=D.column,P=w.getLineWidth(M);if(S.mouseContentHorizontalOffset>P){const z=u(S.mouseContentHorizontalOffset-P);return S.fulfillContentEmpty(D,z)}const N=w.visibleRangeForPosition(M,A);if(!N)return S.fulfillUnknown(D);const O=N.left;if(Math.abs(S.mouseContentHorizontalOffset-O)<1)return S.fulfillContentText(D,null,{mightBeForeignElement:!!T,injectedText:T});const F=[];if(F.push({offset:N.left,column:A}),A>1){const z=w.visibleRangeForPosition(M,A-1);z&&F.push({offset:z.left,column:A-1})}const x=w.viewModel.getLineMaxColumn(M);if(A<x){const z=w.visibleRangeForPosition(M,A+1);z&&F.push({offset:z.left,column:A+1})}F.sort((z,U)=>z.offset-U.offset);const W=S.pos.toClientCoordinates(_.getWindow(w.viewDomNode)),V=L.getBoundingClientRect(),q=V.left<=W.clientX&&W.clientX<=V.right;let H=null;for(let z=1;z<F.length;z++){const U=F[z-1],j=F[z];if(U.offset<=S.mouseContentHorizontalOffset&&S.mouseContentHorizontalOffset<=j.offset){H=new y.Range(M,U.column,M,j.column);const Y=Math.abs(U.offset-S.mouseContentHorizontalOffset),G=Math.abs(j.offset-S.mouseContentHorizontalOffset);D=Y<G?new E.Position(M,U.column):new E.Position(M,j.column);break}}return S.fulfillContentText(D,H,{mightBeForeignElement:!q||!!T,injectedText:T})}static _doHitTestWithCaretRangeFromPoint(w,S){const L=w.getLineNumberAtVerticalOffset(S.mouseVerticalOffset),D=w.getVerticalOffsetForLineNumber(L),T=D+w.lineHeight;if(!(L===w.viewModel.getLineCount()&&S.mouseVerticalOffset>T)){const A=Math.floor((D+T)/2);let P=S.pos.y+(A-S.mouseVerticalOffset);P<=S.editorPos.y&&(P=S.editorPos.y+1),P>=S.editorPos.y+S.editorPos.height&&(P=S.editorPos.y+S.editorPos.height-1);const N=new d.PageCoordinates(S.pos.x,P),O=this._actualDoHitTestWithCaretRangeFromPoint(w,N.toClientCoordinates(_.getWindow(w.viewDomNode)));if(O.type===1)return O}return this._actualDoHitTestWithCaretRangeFromPoint(w,S.pos.toClientCoordinates(_.getWindow(w.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(w,S){const L=_.getShadowRoot(w.viewDomNode);let D;if(L?typeof L.caretRangeFromPoint>\"u\"?D=f(L,S.clientX,S.clientY):D=L.caretRangeFromPoint(S.clientX,S.clientY):D=w.viewDomNode.ownerDocument.caretRangeFromPoint(S.clientX,S.clientY),!D||!D.startContainer)return new n;const T=D.startContainer;if(T.nodeType===T.TEXT_NODE){const M=T.parentNode,A=M?M.parentNode:null,P=A?A.parentNode:null;return(P&&P.nodeType===P.ELEMENT_NODE?P.className:null)===I.ViewLine.CLASS_NAME?t.createFromDOMInfo(w,M,D.startOffset):new n(T.parentNode)}else if(T.nodeType===T.ELEMENT_NODE){const M=T.parentNode,A=M?M.parentNode:null;return(A&&A.nodeType===A.ELEMENT_NODE?A.className:null)===I.ViewLine.CLASS_NAME?t.createFromDOMInfo(w,T,T.textContent.length):new n(T)}return new n}static _doHitTestWithCaretPositionFromPoint(w,S){const L=w.viewDomNode.ownerDocument.caretPositionFromPoint(S.clientX,S.clientY);if(L.offsetNode.nodeType===L.offsetNode.TEXT_NODE){const D=L.offsetNode.parentNode,T=D?D.parentNode:null,M=T?T.parentNode:null;return(M&&M.nodeType===M.ELEMENT_NODE?M.className:null)===I.ViewLine.CLASS_NAME?t.createFromDOMInfo(w,L.offsetNode.parentNode,L.offset):new n(L.offsetNode.parentNode)}if(L.offsetNode.nodeType===L.offsetNode.ELEMENT_NODE){const D=L.offsetNode.parentNode,T=D&&D.nodeType===D.ELEMENT_NODE?D.className:null,M=D?D.parentNode:null,A=M&&M.nodeType===M.ELEMENT_NODE?M.className:null;if(T===I.ViewLine.CLASS_NAME){const P=L.offsetNode.childNodes[Math.min(L.offset,L.offsetNode.childNodes.length-1)];if(P)return t.createFromDOMInfo(w,P,0)}else if(A===I.ViewLine.CLASS_NAME)return t.createFromDOMInfo(w,L.offsetNode,0)}return new n(L.offsetNode)}static _snapToSoftTabBoundary(w,S){const L=S.getLineContent(w.lineNumber),{tabSize:D}=S.model.getOptions(),T=b.AtomicTabMoveOperations.atomicPosition(L,w.column-1,D,2);return T!==-1?new E.Position(w.lineNumber,T+1):w}static doHitTest(w,S){let L=new n;if(typeof w.viewDomNode.ownerDocument.caretRangeFromPoint==\"function\"?L=this._doHitTestWithCaretRangeFromPoint(w,S):w.viewDomNode.ownerDocument.caretPositionFromPoint&&(L=this._doHitTestWithCaretPositionFromPoint(w,S.pos.toClientCoordinates(_.getWindow(w.viewDomNode)))),L.type===1){const D=w.viewModel.getInjectedTextAt(L.position),T=w.viewModel.normalizePosition(L.position,2);(D||!T.equals(L.position))&&(L=new o(T,L.spanNode,D))}return L}}e.MouseTargetFactory=C;function f(v,w,S){const L=document.createRange();let D=v.elementFromPoint(w,S);if(D!==null){for(;D&&D.firstChild&&D.firstChild.nodeType!==D.firstChild.TEXT_NODE&&D.lastChild&&D.lastChild.firstChild;)D=D.lastChild;const T=D.getBoundingClientRect(),M=_.getWindow(D),A=M.getComputedStyle(D,null).getPropertyValue(\"font-style\"),P=M.getComputedStyle(D,null).getPropertyValue(\"font-variant\"),N=M.getComputedStyle(D,null).getPropertyValue(\"font-weight\"),O=M.getComputedStyle(D,null).getPropertyValue(\"font-size\"),F=M.getComputedStyle(D,null).getPropertyValue(\"line-height\"),x=M.getComputedStyle(D,null).getPropertyValue(\"font-family\"),W=`${A} ${P} ${N} ${O}/${F} ${x}`,V=D.innerText;let q=T.left,H=0,z;if(w>T.left+T.width)H=V.length;else{const U=h.getInstance();for(let j=0;j<V.length+1;j++){if(z=U.getCharWidth(V.charAt(j),W)/2,q+=z,w<q){H=j;break}q+=z}}L.setStart(D.firstChild,H),L.setEnd(D.firstChild,H)}return L}class h{static{this._INSTANCE=null}static getInstance(){return h._INSTANCE||(h._INSTANCE=new h),h._INSTANCE}constructor(){this._cache={},this._canvas=document.createElement(\"canvas\")}getCharWidth(w,S){const L=w+S;if(this._cache[L])return this._cache[L];const D=this._canvas.getContext(\"2d\");D.font=S;const M=D.measureText(w).width;return this._cache[L]=M,M}}}),define(ne[768],se([1,0,5,77,2,16,414,185,165,9,23,170,86]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandler=void 0;class t extends n.ViewEventHandler{constructor(a,r,u){super(),this._mouseLeaveMonitor=null,this._context=a,this.viewController=r,this.viewHelper=u,this.mouseTargetFactory=new y.MouseTargetFactory(this._context,u),this._mouseDownOperation=this._register(new i(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,(h,v)=>this._createMouseTarget(h,v),h=>this._getMouseColumn(h))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(146).height;const C=new m.EditorMouseEventFactory(this.viewHelper.viewDomNode);this._register(C.onContextMenu(this.viewHelper.viewDomNode,h=>this._onContextMenu(h,!0))),this._register(C.onMouseMove(this.viewHelper.viewDomNode,h=>{this._onMouseMove(h),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=d.addDisposableListener(this.viewHelper.viewDomNode.ownerDocument,\"mousemove\",v=>{this.viewHelper.viewDomNode.contains(v.target)||this._onMouseLeave(new m.EditorMouseEvent(v,!1,this.viewHelper.viewDomNode))}))})),this._register(C.onMouseUp(this.viewHelper.viewDomNode,h=>this._onMouseUp(h))),this._register(C.onMouseLeave(this.viewHelper.viewDomNode,h=>this._onMouseLeave(h)));let f=0;this._register(C.onPointerDown(this.viewHelper.viewDomNode,(h,v)=>{f=v})),this._register(d.addDisposableListener(this.viewHelper.viewDomNode,d.EventType.POINTER_UP,h=>{this._mouseDownOperation.onPointerUp()})),this._register(C.onMouseDown(this.viewHelper.viewDomNode,h=>this._onMouseDown(h,f))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const a=o.MouseWheelClassifier.INSTANCE;let r=0,u=_.EditorZoom.getZoomLevel(),C=!1,f=0;const h=w=>{if(this.viewController.emitMouseWheel(w),!this._context.configuration.options.get(76))return;const S=new k.StandardWheelEvent(w);if(a.acceptStandardWheelEvent(S),a.isPhysicalMouseWheel()){if(v(w)){const L=_.EditorZoom.getZoomLevel(),D=S.deltaY>0?1:-1;_.EditorZoom.setZoomLevel(L+D),S.preventDefault(),S.stopPropagation()}}else Date.now()-r>50&&(u=_.EditorZoom.getZoomLevel(),C=v(w),f=0),r=Date.now(),f+=S.deltaY,C&&(_.EditorZoom.setZoomLevel(u+f/5),S.preventDefault(),S.stopPropagation())};this._register(d.addDisposableListener(this.viewHelper.viewDomNode,d.EventType.MOUSE_WHEEL,h,{capture:!0,passive:!1}));function v(w){return E.isMacintosh?(w.metaKey||w.ctrlKey)&&!w.shiftKey&&!w.altKey:w.ctrlKey&&!w.metaKey&&!w.shiftKey&&!w.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(a){if(a.hasChanged(146)){const r=this._context.configuration.options.get(146).height;this._height!==r&&(this._height=r,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(a){return this._mouseDownOperation.onCursorStateChanged(a),!1}onFocusChanged(a){return!1}getTargetAtClientPoint(a,r){const C=new m.ClientCoordinates(a,r).toPageCoordinates(d.getWindow(this.viewHelper.viewDomNode)),f=(0,m.createEditorPagePosition)(this.viewHelper.viewDomNode);if(C.y<f.y||C.y>f.y+f.height||C.x<f.x||C.x>f.x+f.width)return null;const h=(0,m.createCoordinatesRelativeToEditor)(this.viewHelper.viewDomNode,f,C);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),f,C,h,null)}_createMouseTarget(a,r){let u=a.target;if(!this.viewHelper.viewDomNode.contains(u)){const C=d.getShadowRoot(this.viewHelper.viewDomNode);C&&(u=C.elementsFromPoint(a.posx,a.posy).find(f=>this.viewHelper.viewDomNode.contains(f)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),a.editorPos,a.pos,a.relativePos,r?u:null)}_getMouseColumn(a){return this.mouseTargetFactory.getMouseColumn(a.relativePos)}_onContextMenu(a,r){this.viewController.emitContextMenu({event:a,target:this._createMouseTarget(a,r)})}_onMouseMove(a){this.mouseTargetFactory.mouseTargetIsWidget(a)||a.preventDefault(),!(this._mouseDownOperation.isActive()||a.timestamp<this.lastMouseLeaveTime)&&this.viewController.emitMouseMove({event:a,target:this._createMouseTarget(a,!0)})}_onMouseLeave(a){this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:a,target:null})}_onMouseUp(a){this.viewController.emitMouseUp({event:a,target:this._createMouseTarget(a,!0)})}_onMouseDown(a,r){const u=this._createMouseTarget(a,!0),C=u.type===6||u.type===7,f=u.type===2||u.type===3||u.type===4,h=u.type===3,v=this._context.configuration.options.get(110),w=u.type===8||u.type===5,S=u.type===9;let L=a.leftButton||a.middleButton;E.isMacintosh&&a.leftButton&&a.ctrlKey&&(L=!1);const D=()=>{a.preventDefault(),this.viewHelper.focusTextArea()};if(L&&(C||h&&v))D(),this._mouseDownOperation.start(u.type,a,r);else if(f)a.preventDefault();else if(w){const T=u.detail;L&&this.viewHelper.shouldSuppressMouseDownOnViewZone(T.viewZoneId)&&(D(),this._mouseDownOperation.start(u.type,a,r),a.preventDefault())}else S&&this.viewHelper.shouldSuppressMouseDownOnWidget(u.detail)&&(D(),a.preventDefault());this.viewController.emitMouseDown({event:a,target:u})}}e.MouseHandler=t;class i extends I.Disposable{constructor(a,r,u,C,f,h){super(),this._context=a,this._viewController=r,this._viewHelper=u,this._mouseTargetFactory=C,this._createMouseTarget=f,this._getMouseColumn=h,this._mouseMoveMonitor=this._register(new m.GlobalEditorPointerMoveMonitor(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new s(this._context,this._viewHelper,this._mouseTargetFactory,(v,w,S)=>this._dispatchMouse(v,w,S))),this._mouseState=new c,this._currentSelection=new p.Selection(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(a){this._lastMouseEvent=a,this._mouseState.setModifiers(a);const r=this._findMousePosition(a,!1);r&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:a,target:r}):r.type===13&&(r.outsidePosition===\"above\"||r.outsidePosition===\"below\")?this._topBottomDragScrolling.start(r,a):(this._topBottomDragScrolling.stop(),this._dispatchMouse(r,!0,1)))}start(a,r,u){this._lastMouseEvent=r,this._mouseState.setStartedOnLineNumbers(a===3),this._mouseState.setStartButtons(r),this._mouseState.setModifiers(r);const C=this._findMousePosition(r,!0);if(!C||!C.position)return;this._mouseState.trySetCount(r.detail,C.position),r.detail=this._mouseState.count;const f=this._context.configuration.options;if(!f.get(92)&&f.get(35)&&!f.get(22)&&!this._mouseState.altKey&&r.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&C.type===6&&C.position&&this._currentSelection.containsPosition(C.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,u,r.buttons,h=>this._onMouseDownThenMove(h),h=>{const v=this._findMousePosition(this._lastMouseEvent,!1);d.isKeyboardEvent(h)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:v?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(C,r.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,u,r.buttons,h=>this._onMouseDownThenMove(h),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(a){this._currentSelection=a.selections[0]}_getPositionOutsideEditor(a){const r=a.editorPos,u=this._context.viewModel,C=this._context.viewLayout,f=this._getMouseColumn(a);if(a.posy<r.y){const v=r.y-a.posy,w=Math.max(C.getCurrentScrollTop()-v,0),S=y.HitTestContext.getZoneAtCoord(this._context,w);if(S){const D=this._helpPositionJumpOverViewZone(S);if(D)return y.MouseTarget.createOutsideEditor(f,D,\"above\",v)}const L=C.getLineNumberAtVerticalOffset(w);return y.MouseTarget.createOutsideEditor(f,new b.Position(L,1),\"above\",v)}if(a.posy>r.y+r.height){const v=a.posy-r.y-r.height,w=C.getCurrentScrollTop()+a.relativePos.y,S=y.HitTestContext.getZoneAtCoord(this._context,w);if(S){const D=this._helpPositionJumpOverViewZone(S);if(D)return y.MouseTarget.createOutsideEditor(f,D,\"below\",v)}const L=C.getLineNumberAtVerticalOffset(w);return y.MouseTarget.createOutsideEditor(f,new b.Position(L,u.getLineMaxColumn(L)),\"below\",v)}const h=C.getLineNumberAtVerticalOffset(C.getCurrentScrollTop()+a.relativePos.y);if(a.posx<r.x){const v=r.x-a.posx;return y.MouseTarget.createOutsideEditor(f,new b.Position(h,1),\"left\",v)}if(a.posx>r.x+r.width){const v=a.posx-r.x-r.width;return y.MouseTarget.createOutsideEditor(f,new b.Position(h,u.getLineMaxColumn(h)),\"right\",v)}return null}_findMousePosition(a,r){const u=this._getPositionOutsideEditor(a);if(u)return u;const C=this._createMouseTarget(a,r);if(!C.position)return null;if(C.type===8||C.type===5){const h=this._helpPositionJumpOverViewZone(C.detail);if(h)return y.MouseTarget.createViewZone(C.type,C.element,C.mouseColumn,h,C.detail)}return C}_helpPositionJumpOverViewZone(a){const r=new b.Position(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),u=a.positionBefore,C=a.positionAfter;return u&&C?u.isBefore(r)?u:C:null}_dispatchMouse(a,r,u){a.position&&this._viewController.dispatchMouse({position:a.position,mouseColumn:a.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:u,inSelectionMode:r,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:a.type===6&&a.detail.injectedText!==null})}}class s extends I.Disposable{constructor(a,r,u,C){super(),this._context=a,this._viewHelper=r,this._mouseTargetFactory=u,this._dispatchMouse=C,this._operation=null}dispose(){super.dispose(),this.stop()}start(a,r){this._operation?this._operation.setPosition(a,r):this._operation=new g(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,a,r)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class g extends I.Disposable{constructor(a,r,u,C,f,h){super(),this._context=a,this._viewHelper=r,this._mouseTargetFactory=u,this._dispatchMouse=C,this._position=f,this._mouseEvent=h,this._lastTime=Date.now(),this._animationFrameDisposable=d.scheduleAtNextAnimationFrame(d.getWindow(h.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(a,r){this._position=a,this._mouseEvent=r}_tick(){const a=Date.now(),r=a-this._lastTime;return this._lastTime=a,r}_getScrollSpeed(){const a=this._context.configuration.options.get(67),r=this._context.configuration.options.get(146).height/a,u=this._position.outsideDistance/a;return u<=1.5?Math.max(30,r*(1+u)):u<=3?Math.max(60,r*(2+u)):Math.max(200,r*(7+u))}_execute(){const a=this._context.configuration.options.get(67),r=this._getScrollSpeed(),u=this._tick(),C=r*(u/1e3)*a,f=this._position.outsidePosition===\"above\"?-C:C;this._context.viewModel.viewLayout.deltaScrollNow(0,f),this._viewHelper.renderNow();const h=this._context.viewLayout.getLinesViewportData(),v=this._position.outsidePosition===\"above\"?h.startLineNumber:h.endLineNumber;let w;{const S=(0,m.createEditorPagePosition)(this._viewHelper.viewDomNode),L=this._context.configuration.options.get(146).horizontalScrollbarHeight,D=new m.PageCoordinates(this._mouseEvent.pos.x,S.y+S.height-L-.1),T=(0,m.createCoordinatesRelativeToEditor)(this._viewHelper.viewDomNode,S,D);w=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),S,D,T,null)}(!w.position||w.position.lineNumber!==v)&&(this._position.outsidePosition===\"above\"?w=y.MouseTarget.createOutsideEditor(this._position.mouseColumn,new b.Position(v,1),\"above\",this._position.outsideDistance):w=y.MouseTarget.createOutsideEditor(this._position.mouseColumn,new b.Position(v,this._context.viewModel.getLineMaxColumn(v)),\"below\",this._position.outsideDistance)),this._dispatchMouse(w,!0,2),this._animationFrameDisposable=d.scheduleAtNextAnimationFrame(d.getWindow(w.element),()=>this._execute())}}class c{static{this.CLEAR_MOUSE_DOWN_COUNT_TIME=400}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(a){this._altKey=a.altKey,this._ctrlKey=a.ctrlKey,this._metaKey=a.metaKey,this._shiftKey=a.shiftKey}setStartButtons(a){this._leftButton=a.leftButton,this._middleButton=a.middleButton}setStartedOnLineNumbers(a){this._startedOnLineNumbers=a}trySetCount(a,r){const u=new Date().getTime();u-this._lastSetMouseDownCountTime>c.CLEAR_MOUSE_DOWN_COUNT_TIME&&(a=1),this._lastSetMouseDownCountTime=u,a>this._lastMouseDownCount+1&&(a=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(r)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=r,this._lastMouseDownCount=Math.min(a,this._lastMouseDownPositionEqualCount)}}}),define(ne[769],se([1,0,248,5,69,52,2,16,768,212,185]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PointerHandler=e.PointerEventHandler=void 0;class n extends _.MouseHandler{constructor(s,g,c){super(s,g,c),this._register(I.Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Tap,a=>this.onTap(a))),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Change,a=>this.onChange(a))),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Contextmenu,a=>this._onContextMenu(new p.EditorMouseEvent(a,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType=\"mouse\",this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,\"pointerdown\",a=>{const r=a.pointerType;if(r===\"mouse\"){this._lastPointerType=\"mouse\";return}else r===\"touch\"?this._lastPointerType=\"touch\":this._lastPointerType=\"pen\"}));const l=new p.EditorPointerEventFactory(this.viewHelper.viewDomNode);this._register(l.onPointerMove(this.viewHelper.viewDomNode,a=>this._onMouseMove(a))),this._register(l.onPointerUp(this.viewHelper.viewDomNode,a=>this._onMouseUp(a))),this._register(l.onPointerLeave(this.viewHelper.viewDomNode,a=>this._onMouseLeave(a))),this._register(l.onPointerDown(this.viewHelper.viewDomNode,(a,r)=>this._onMouseDown(a,r)))}onTap(s){!s.initialTarget||!this.viewHelper.linesContentDomNode.contains(s.initialTarget)||(s.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(s,!1))}onChange(s){this._lastPointerType===\"touch\"&&this._context.viewModel.viewLayout.deltaScrollNow(-s.translationX,-s.translationY),this._lastPointerType===\"pen\"&&this._dispatchGesture(s,!0)}_dispatchGesture(s,g){const c=this._createMouseTarget(new p.EditorMouseEvent(s,!1,this.viewHelper.viewDomNode),!1);c.position&&this.viewController.dispatchMouse({position:c.position,mouseColumn:c.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:s.tapCount,inSelectionMode:g,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:c.type===6&&c.detail.injectedText!==null})}_onMouseDown(s,g){s.browserEvent.pointerType!==\"touch\"&&super._onMouseDown(s,g)}}e.PointerEventHandler=n;class o extends _.MouseHandler{constructor(s,g,c){super(s,g,c),this._register(I.Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Tap,l=>this.onTap(l))),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Change,l=>this.onChange(l))),this._register(k.addDisposableListener(this.viewHelper.linesContentDomNode,I.EventType.Contextmenu,l=>this._onContextMenu(new p.EditorMouseEvent(l,!1,this.viewHelper.viewDomNode),!1)))}onTap(s){s.preventDefault(),this.viewHelper.focusTextArea();const g=this._createMouseTarget(new p.EditorMouseEvent(s,!1,this.viewHelper.viewDomNode),!1);if(g.position){const c=document.createEvent(\"CustomEvent\");c.initEvent(b.TextAreaSyntethicEvents.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(c),this.viewController.moveTo(g.position,1)}}onChange(s){this._context.viewModel.viewLayout.deltaScrollNow(-s.translationX,-s.translationY)}}class t extends y.Disposable{constructor(s,g,c){super(),(m.isIOS||m.isAndroid&&m.isMobile)&&d.BrowserFeatures.pointerEvents?this.handler=this._register(new n(s,g,c)):E.mainWindow.TouchEvent?this.handler=this._register(new o(s,g,c)):this.handler=this._register(new _.MouseHandler(s,g,c))}getTargetAtClientPoint(s,g){return this.handler.getTargetAtClientPoint(s,g)}}e.PointerHandler=t}),define(ne[770],se([1,0,226,14,16,74,164,262,56,547,281,9,4,487]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewLines=void 0;class t{constructor(){this._currentVisibleRange=new o.Range(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(l){this._currentVisibleRange=l}}class i{constructor(l,a,r,u,C,f,h){this.minimalReveal=l,this.lineNumber=a,this.startColumn=r,this.endColumn=u,this.startScrollTop=C,this.stopScrollTop=f,this.scrollType=h,this.type=\"range\",this.minLineNumber=a,this.maxLineNumber=a}}class s{constructor(l,a,r,u,C){this.minimalReveal=l,this.selections=a,this.startScrollTop=r,this.stopScrollTop=u,this.scrollType=C,this.type=\"selections\";let f=a[0].startLineNumber,h=a[0].endLineNumber;for(let v=1,w=a.length;v<w;v++){const S=a[v];f=Math.min(f,S.startLineNumber),h=Math.max(h,S.endLineNumber)}this.minLineNumber=f,this.maxLineNumber=h}}class g extends _.ViewPart{static{this.HORIZONTAL_EXTRA_PX=30}constructor(l,a){super(l);const r=this._context.configuration,u=this._context.configuration.options,C=u.get(50),f=u.get(147);this._lineHeight=u.get(67),this._typicalHalfwidthCharacterWidth=C.typicalHalfwidthCharacterWidth,this._isViewportWrapping=f.isViewportWrapping,this._revealHorizontalRightPadding=u.get(101),this._cursorSurroundingLines=u.get(29),this._cursorSurroundingLinesStyle=u.get(30),this._canUseLayerHinting=!u.get(32),this._viewLineOptions=new p.ViewLineOptions(r,this._context.theme.type),this._linesContent=a,this._textRangeRestingSpot=document.createElement(\"div\"),this._visibleLines=new m.VisibleLinesCollection({createLine:()=>new p.ViewLine(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,_.PartFingerprints.write(this.domNode,8),this.domNode.setClassName(`view-lines ${d.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),(0,E.applyFontInfo)(this.domNode,C),this._maxLineWidth=0,this._asyncUpdateLineWidths=new k.RunOnceScheduler(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new k.RunOnceScheduler(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new t,this._horizontalRevealRequest=null,this._stickyScrollEnabled=u.get(116).enabled,this._maxNumberStickyLines=u.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(l){this._visibleLines.onConfigurationChanged(l),l.hasChanged(147)&&(this._maxLineWidth=0);const a=this._context.configuration.options,r=a.get(50),u=a.get(147);return this._lineHeight=a.get(67),this._typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this._isViewportWrapping=u.isViewportWrapping,this._revealHorizontalRightPadding=a.get(101),this._cursorSurroundingLines=a.get(29),this._cursorSurroundingLinesStyle=a.get(30),this._canUseLayerHinting=!a.get(32),this._stickyScrollEnabled=a.get(116).enabled,this._maxNumberStickyLines=a.get(116).maxLineCount,(0,E.applyFontInfo)(this.domNode,r),this._onOptionsMaybeChanged(),l.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const l=this._context.configuration,a=new p.ViewLineOptions(l,this._context.theme.type);if(!this._viewLineOptions.equals(a)){this._viewLineOptions=a;const r=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber();for(let C=r;C<=u;C++)this._visibleLines.getVisibleLine(C).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(l){const a=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();let u=!1;for(let C=a;C<=r;C++)u=this._visibleLines.getVisibleLine(C).onSelectionChanged()||u;return u}onDecorationsChanged(l){{const a=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let u=a;u<=r;u++)this._visibleLines.getVisibleLine(u).onDecorationsChanged()}return!0}onFlushed(l){const a=this._visibleLines.onFlushed(l);return this._maxLineWidth=0,a}onLinesChanged(l){return this._visibleLines.onLinesChanged(l)}onLinesDeleted(l){return this._visibleLines.onLinesDeleted(l)}onLinesInserted(l){return this._visibleLines.onLinesInserted(l)}onRevealRangeRequest(l){const a=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),l.source,l.minimalReveal,l.range,l.selections,l.verticalType);if(a===-1)return!1;let r=this._context.viewLayout.validateScrollPosition({scrollTop:a});l.revealHorizontal?l.range&&l.range.startLineNumber!==l.range.endLineNumber?r={scrollTop:r.scrollTop,scrollLeft:0}:l.range?this._horizontalRevealRequest=new i(l.minimalReveal,l.range.startLineNumber,l.range.startColumn,l.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),r.scrollTop,l.scrollType):l.selections&&l.selections.length>0&&(this._horizontalRevealRequest=new s(l.minimalReveal,l.selections,this._context.viewLayout.getCurrentScrollTop(),r.scrollTop,l.scrollType)):this._horizontalRevealRequest=null;const C=Math.abs(this._context.viewLayout.getCurrentScrollTop()-r.scrollTop)<=this._lineHeight?1:l.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(r,C),!0}onScrollChanged(l){if(this._horizontalRevealRequest&&l.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&l.scrollTopChanged){const a=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),r=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(l.scrollTop<a||l.scrollTop>r)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(l.scrollWidth),this._visibleLines.onScrollChanged(l)||!0}onTokensChanged(l){return this._visibleLines.onTokensChanged(l)}onZonesChanged(l){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(l)}onThemeChanged(l){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(l,a){const r=this._getViewLineDomNode(l);if(r===null)return null;const u=this._getLineNumberFor(r);if(u===-1||u<1||u>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(u)===1)return new n.Position(u,1);const C=this._visibleLines.getStartLineNumber(),f=this._visibleLines.getEndLineNumber();if(u<C||u>f)return null;let h=this._visibleLines.getVisibleLine(u).getColumnOfNodeOffset(l,a);const v=this._context.viewModel.getLineMinColumn(u);return h<v&&(h=v),new n.Position(u,h)}_getViewLineDomNode(l){for(;l&&l.nodeType===1;){if(l.className===p.ViewLine.CLASS_NAME)return l;l=l.parentElement}return null}_getLineNumberFor(l){const a=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let u=a;u<=r;u++){const C=this._visibleLines.getVisibleLine(u);if(l===C.getDomNode())return u}return-1}getLineWidth(l){const a=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();if(l<a||l>r)return-1;const u=new b.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),C=this._visibleLines.getVisibleLine(l).getWidth(u);return this._updateLineWidthsSlowIfDomDidLayout(u),C}linesVisibleRangesForRange(l,a){if(this.shouldRender())return null;const r=l.endLineNumber,u=o.Range.intersectRanges(l,this._lastRenderedData.getCurrentVisibleRange());if(!u)return null;const C=[];let f=0;const h=new b.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);let v=0;a&&(v=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new n.Position(u.startLineNumber,1)).lineNumber);const w=this._visibleLines.getStartLineNumber(),S=this._visibleLines.getEndLineNumber();for(let L=u.startLineNumber;L<=u.endLineNumber;L++){if(L<w||L>S)continue;const D=L===u.startLineNumber?u.startColumn:1,T=L!==u.endLineNumber,M=T?this._context.viewModel.getLineMaxColumn(L):u.endColumn,A=this._visibleLines.getVisibleLine(L).getVisibleRangesForRange(L,D,M,h);if(A){if(a&&L<r){const P=v;v=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new n.Position(L+1,1)).lineNumber,P!==v&&(A.ranges[A.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth)}C[f++]=new y.LineVisibleRanges(A.outsideRenderedLine,L,y.HorizontalRange.from(A.ranges),T)}}return this._updateLineWidthsSlowIfDomDidLayout(h),f===0?null:C}_visibleRangesForLineRange(l,a,r){if(this.shouldRender()||l<this._visibleLines.getStartLineNumber()||l>this._visibleLines.getEndLineNumber())return null;const u=new b.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),C=this._visibleLines.getVisibleLine(l).getVisibleRangesForRange(l,a,r,u);return this._updateLineWidthsSlowIfDomDidLayout(u),C}visibleRangeForPosition(l){const a=this._visibleRangesForLineRange(l.lineNumber,l.column,l.column);return a?new y.HorizontalPosition(a.outsideRenderedLine,a.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(l){l.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(l){const a=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();let u=1,C=!0;for(let f=a;f<=r;f++){const h=this._visibleLines.getVisibleLine(f);if(l&&!h.getWidthIsFast()){C=!1;continue}u=Math.max(u,h.getWidth(null))}return C&&a===1&&r===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(u),C}_checkMonospaceFontAssumptions(){let l=-1,a=-1;const r=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber();for(let C=r;C<=u;C++){const f=this._visibleLines.getVisibleLine(C);if(f.needsMonospaceFontCheck()){const h=f.getWidth(null);h>a&&(a=h,l=C)}}if(l!==-1&&!this._visibleLines.getVisibleLine(l).monospaceAssumptionsAreValid())for(let C=r;C<=u;C++)this._visibleLines.getVisibleLine(C).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error(\"Not supported\")}render(){throw new Error(\"Not supported\")}renderText(l){if(this._visibleLines.renderLines(l),this._lastRenderedData.setCurrentVisibleRange(l.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const r=this._horizontalRevealRequest;if(l.startLineNumber<=r.minLineNumber&&r.maxLineNumber<=l.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const u=this._computeScrollLeftToReveal(r);u&&(this._isViewportWrapping||this._ensureMaxLineWidth(u.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:u.scrollLeft},r.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),I.isLinux&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const r=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber();for(let C=r;C<=u;C++)if(this._visibleLines.getVisibleLine(C).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain(\"strict\");const a=this._context.viewLayout.getCurrentScrollTop()-l.bigNumbersDelta;this._linesContent.setTop(-a),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(l){const a=Math.ceil(l);this._maxLineWidth<a&&(this._maxLineWidth=a,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(l,a,r,u,C,f){const h=l.top,v=l.height,w=h+v;let S,L,D;if(C&&C.length>0){let N=C[0].startLineNumber,O=C[0].endLineNumber;for(let F=1,x=C.length;F<x;F++){const W=C[F];N=Math.min(N,W.startLineNumber),O=Math.max(O,W.endLineNumber)}S=!1,L=this._context.viewLayout.getVerticalOffsetForLineNumber(N),D=this._context.viewLayout.getVerticalOffsetForLineNumber(O)+this._lineHeight}else if(u)S=!0,L=this._context.viewLayout.getVerticalOffsetForLineNumber(u.startLineNumber),D=this._context.viewLayout.getVerticalOffsetForLineNumber(u.endLineNumber)+this._lineHeight;else return-1;const T=(a===\"mouse\"||r)&&this._cursorSurroundingLinesStyle===\"default\";let M=0,A=0;if(T)r||(M=this._lineHeight);else{const N=v/this._lineHeight,O=Math.max(this._cursorSurroundingLines,this._stickyScrollEnabled?this._maxNumberStickyLines:0),F=Math.min(N/2,O);M=F*this._lineHeight,A=Math.max(0,F-1)*this._lineHeight}r||(f===0||f===4)&&(A+=this._lineHeight),L-=M,D+=A;let P;if(D-L>v){if(!S)return-1;P=L}else if(f===5||f===6)if(f===6&&h<=L&&D<=w)P=h;else{const N=Math.max(5*this._lineHeight,v*.2),O=L-N,F=D-v;P=Math.max(F,O)}else if(f===1||f===2)if(f===2&&h<=L&&D<=w)P=h;else{const N=(L+D)/2;P=Math.max(0,N-v/2)}else P=this._computeMinimumScrolling(h,w,L,D,f===3,f===4);return P}_computeScrollLeftToReveal(l){const a=this._context.viewLayout.getCurrentViewport(),r=this._context.configuration.options.get(146),u=a.left,C=u+a.width-r.verticalScrollbarWidth;let f=1073741824,h=0;if(l.type===\"range\"){const w=this._visibleRangesForLineRange(l.lineNumber,l.startColumn,l.endColumn);if(!w)return null;for(const S of w.ranges)f=Math.min(f,Math.round(S.left)),h=Math.max(h,Math.round(S.left+S.width))}else for(const w of l.selections){if(w.startLineNumber!==w.endLineNumber)return null;const S=this._visibleRangesForLineRange(w.startLineNumber,w.startColumn,w.endColumn);if(!S)return null;for(const L of S.ranges)f=Math.min(f,Math.round(L.left)),h=Math.max(h,Math.round(L.left+L.width))}return l.minimalReveal||(f=Math.max(0,f-g.HORIZONTAL_EXTRA_PX),h+=this._revealHorizontalRightPadding),l.type===\"selections\"&&h-f>a.width?null:{scrollLeft:this._computeMinimumScrolling(u,C,f,h),maxHorizontalOffset:h}}_computeMinimumScrolling(l,a,r,u,C,f){l=l|0,a=a|0,r=r|0,u=u|0,C=!!C,f=!!f;const h=a-l;if(u-r<h){if(C)return r;if(f)return Math.max(0,u-h);if(r<l)return r;if(u>a)return Math.max(0,u-h)}else return r;return l}}e.ViewLines=g}),define(ne[25],se([1,0,6,2,7,38,97]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Themable=e.Extensions=e.IThemeService=void 0,e.themeColorFromId=m,e.getThemeTypeSelector=_,e.registerThemingParticipant=n,e.IThemeService=(0,I.createDecorator)(\"themeService\");function m(t){return{id:t}}function _(t){switch(t){case y.ColorScheme.DARK:return\"vs-dark\";case y.ColorScheme.HIGH_CONTRAST_DARK:return\"hc-black\";case y.ColorScheme.HIGH_CONTRAST_LIGHT:return\"hc-light\";default:return\"vs\"}}e.Extensions={ThemingContribution:\"base.contributions.theming\"};class b{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new d.Emitter}onColorThemeChange(i){return this.themingParticipants.push(i),this.onThemingParticipantAddedEmitter.fire(i),(0,k.toDisposable)(()=>{const s=this.themingParticipants.indexOf(i);this.themingParticipants.splice(s,1)})}getThemingParticipants(){return this.themingParticipants}}const p=new b;E.Registry.add(e.Extensions.ThemingContribution,p);function n(t){return p.onColorThemeChange(t)}class o extends k.Disposable{constructor(i){super(),this.themeService=i,this.theme=i.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(s=>this.onThemeChange(s)))}onThemeChange(i){this.theme=i,this.updateStyles()}updateStyles(){}}e.Themable=o}),define(ne[771],se([1,0,6,2,73,25]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GlobalStyleSheet=e.AbstractCodeEditorService=void 0;let y=class extends k.Disposable{constructor(b){super(),this._themeService=b,this._onWillCreateCodeEditor=this._register(new d.Emitter),this._onCodeEditorAdd=this._register(new d.Emitter),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new d.Emitter),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new d.Emitter),this._onDiffEditorAdd=this._register(new d.Emitter),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new d.Emitter),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new I.LinkedList,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(b){this._codeEditors[b.getId()]=b,this._onCodeEditorAdd.fire(b)}removeCodeEditor(b){delete this._codeEditors[b.getId()]&&this._onCodeEditorRemove.fire(b)}listCodeEditors(){return Object.keys(this._codeEditors).map(b=>this._codeEditors[b])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(b){this._diffEditors[b.getId()]=b,this._onDiffEditorAdd.fire(b)}listDiffEditors(){return Object.keys(this._diffEditors).map(b=>this._diffEditors[b])}getFocusedCodeEditor(){let b=null;const p=this.listCodeEditors();for(const n of p){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(b=n)}return b}removeDecorationType(b){const p=this._decorationOptionProviders.get(b);p&&(p.refCount--,p.refCount<=0&&(this._decorationOptionProviders.delete(b),p.dispose(),this.listCodeEditors().forEach(n=>n.removeDecorationsByType(b))))}setModelProperty(b,p,n){const o=b.toString();let t;this._modelProperties.has(o)?t=this._modelProperties.get(o):(t=new Map,this._modelProperties.set(o,t)),t.set(p,n)}getModelProperty(b,p){const n=b.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(p)}async openCodeEditor(b,p,n){for(const o of this._codeEditorOpenHandlers){const t=await o(b,p,n);if(t!==null)return t}return null}registerCodeEditorOpenHandler(b){const p=this._codeEditorOpenHandlers.unshift(b);return(0,k.toDisposable)(p)}};e.AbstractCodeEditorService=y,e.AbstractCodeEditorService=y=ke([ce(0,E.IThemeService)],y);class m{constructor(b){this._styleSheet=b}}e.GlobalStyleSheet=m}),define(ne[772],se([1,0,49,25,32,118,58,7,705,2,5,31,47,61,119,52,395,648,14]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HoverService=void 0;let a=class extends b.Disposable{constructor(h,v,w,S,L){super(),this._instantiationService=h,this._keybindingService=w,this._layoutService=S,this._accessibilityService=L,this._managedHovers=new Map,v.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new g.ContextViewHandler(this._layoutService))}showHover(h,v,w){if(r(this._currentHoverOptions)===r(h)||this._currentHover&&this._currentHoverOptions?.persistence?.sticky)return;this._currentHoverOptions=h,this._lastHoverOptions=h;const S=h.trapFocus||this._accessibilityService.isScreenReaderOptimized(),L=(0,p.getActiveElement)();w||(S&&L?L.classList.contains(\"monaco-hover\")||(this._lastFocusedElementBeforeOpen=L):this._lastFocusedElementBeforeOpen=void 0);const D=new b.DisposableStore,T=this._instantiationService.createInstance(_.HoverWidget,h);if(h.persistence?.sticky&&(T.isLocked=!0),T.onDispose(()=>{this._currentHover?.domNode&&(0,p.isAncestorOfActiveElement)(this._currentHover.domNode)&&this._lastFocusedElementBeforeOpen?.focus(),this._currentHoverOptions===h&&(this._currentHoverOptions=void 0),D.dispose()},void 0,D),!h.container){const M=(0,p.isHTMLElement)(h.target)?h.target:h.target.targetElements[0];h.container=this._layoutService.getContainer((0,p.getWindow)(M))}if(this._contextViewHandler.showContextView(new u(T,v),h.container),T.onRequestLayout(()=>this._contextViewHandler.layout(),void 0,D),h.persistence?.sticky)D.add((0,p.addDisposableListener)((0,p.getWindow)(h.container).document,p.EventType.MOUSE_DOWN,M=>{(0,p.isAncestor)(M.target,T.domNode)||this.doHideHover()}));else{if(\"targetElements\"in h.target)for(const A of h.target.targetElements)D.add((0,p.addDisposableListener)(A,p.EventType.CLICK,()=>this.hideHover()));else D.add((0,p.addDisposableListener)(h.target,p.EventType.CLICK,()=>this.hideHover()));const M=(0,p.getActiveElement)();if(M){const A=(0,p.getWindow)(M).document;D.add((0,p.addDisposableListener)(M,p.EventType.KEY_DOWN,P=>this._keyDown(P,T,!!h.persistence?.hideOnKeyDown))),D.add((0,p.addDisposableListener)(A,p.EventType.KEY_DOWN,P=>this._keyDown(P,T,!!h.persistence?.hideOnKeyDown))),D.add((0,p.addDisposableListener)(M,p.EventType.KEY_UP,P=>this._keyUp(P,T))),D.add((0,p.addDisposableListener)(A,p.EventType.KEY_UP,P=>this._keyUp(P,T)))}}if(\"IntersectionObserver\"in s.mainWindow){const M=new IntersectionObserver(P=>this._intersectionChange(P,T),{threshold:0}),A=\"targetElements\"in h.target?h.target.targetElements[0]:h.target;M.observe(A),D.add((0,b.toDisposable)(()=>M.disconnect()))}return this._currentHover=T,T}hideHover(){this._currentHover?.isLocked||!this._currentHoverOptions||this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(h,v){h[h.length-1].isIntersecting||v.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showHover(this._lastHoverOptions,!0,!0)}_keyDown(h,v,w){if(h.key===\"Alt\"){v.isLocked=!0;return}const S=new o.StandardKeyboardEvent(h);this._keybindingService.resolveKeyboardEvent(S).getSingleModifierDispatchChords().some(D=>!!D)||this._keybindingService.softDispatch(S,S.target).kind!==0||w&&(!this._currentHoverOptions?.trapFocus||h.key!==\"Tab\")&&(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus())}_keyUp(h,v){h.key===\"Alt\"&&(v.isLocked=!1,v.isMouseIn||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus()))}setupManagedHover(h,v,w,S){v.setAttribute(\"custom-hover\",\"true\"),v.title!==\"\"&&(console.warn(\"HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute.\"),console.trace(\"Stack trace:\",v.title),v.title=\"\");let L,D;const T=(z,U)=>{const j=D!==void 0;z&&(D?.dispose(),D=void 0),U&&(L?.dispose(),L=void 0),j&&(h.onDidHideHover?.(),D=void 0)},M=(z,U,j,Y)=>new l.TimeoutTimer(async()=>{(!D||D.isDisposed)&&(D=new c.ManagedHoverWidget(h,j||v,z>0),await D.update(typeof w==\"function\"?w():w,U,{...S,trapFocus:Y}))},z);let A=!1;const P=(0,p.addDisposableListener)(v,p.EventType.MOUSE_DOWN,()=>{A=!0,T(!0,!0)},!0),N=(0,p.addDisposableListener)(v,p.EventType.MOUSE_UP,()=>{A=!1},!0),O=(0,p.addDisposableListener)(v,p.EventType.MOUSE_LEAVE,z=>{A=!1,T(!1,z.fromElement===v)},!0),F=z=>{if(L)return;const U=new b.DisposableStore,j={targetElements:[v],dispose:()=>{}};if(h.placement===void 0||h.placement===\"mouse\"){const Y=G=>{j.x=G.x+10,(0,p.isHTMLElement)(G.target)&&C(G.target,v)!==v&&T(!0,!0)};U.add((0,p.addDisposableListener)(v,p.EventType.MOUSE_MOVE,Y,!0))}L=U,!((0,p.isHTMLElement)(z.target)&&C(z.target,v)!==v)&&U.add(M(h.delay,!1,j))},x=(0,p.addDisposableListener)(v,p.EventType.MOUSE_OVER,F,!0),W=()=>{if(A||L)return;const z={targetElements:[v],dispose:()=>{}},U=new b.DisposableStore,j=()=>T(!0,!0);U.add((0,p.addDisposableListener)(v,p.EventType.BLUR,j,!0)),U.add(M(h.delay,!1,z)),L=U};let V;const q=v.tagName.toLowerCase();q!==\"input\"&&q!==\"textarea\"&&(V=(0,p.addDisposableListener)(v,p.EventType.FOCUS,W,!0));const H={show:z=>{T(!1,!0),M(0,z,void 0,z)},hide:()=>{T(!0,!0)},update:async(z,U)=>{w=z,await D?.update(w,void 0,U)},dispose:()=>{this._managedHovers.delete(v),x.dispose(),O.dispose(),P.dispose(),N.dispose(),V?.dispose(),T(!0,!0)}};return this._managedHovers.set(v,H),H}showManagedHover(h){const v=this._managedHovers.get(h);v&&v.show(!0)}dispose(){this._managedHovers.forEach(h=>h.dispose()),super.dispose()}};e.HoverService=a,e.HoverService=a=ke([ce(0,m.IInstantiationService),ce(1,y.IContextMenuService),ce(2,n.IKeybindingService),ce(3,i.ILayoutService),ce(4,t.IAccessibilityService)],a);function r(f){if(f!==void 0)return f?.id??f}class u{get anchorPosition(){return this._hover.anchor}constructor(h,v=!1){this._hover=h,this._focus=v,this.layer=1}render(h){return this._hover.render(h),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function C(f,h){for(h=h??(0,p.getWindow)(f).document.body;!f.hasAttribute(\"custom-hover\")&&f!==h;)f=f.parentElement;return f}(0,d.registerSingleton)(E.IHoverService,a,1),(0,k.registerThemingParticipant)((f,h)=>{const v=f.getColor(I.editorHoverBorder);v&&(h.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${v.transparent(.5)}; }`),h.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${v.transparent(.5)}; }`))})}),define(ne[773],se([1,0,5,39,86,56,25]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorScrollbar=void 0;class m extends E.ViewPart{constructor(b,p,n,o){super(b);const t=this._context.configuration.options,i=t.get(104),s=t.get(75),g=t.get(40),c=t.get(107),l={listenOnDomNode:n.domNode,className:\"editor-scrollable \"+(0,y.getThemeTypeSelector)(b.theme.type),useShadows:!1,lazyRender:!0,vertical:i.vertical,horizontal:i.horizontal,verticalHasArrows:i.verticalHasArrows,horizontalHasArrows:i.horizontalHasArrows,verticalScrollbarSize:i.verticalScrollbarSize,verticalSliderSize:i.verticalSliderSize,horizontalScrollbarSize:i.horizontalScrollbarSize,horizontalSliderSize:i.horizontalSliderSize,handleMouseWheel:i.handleMouseWheel,alwaysConsumeMouseWheel:i.alwaysConsumeMouseWheel,arrowSize:i.arrowSize,mouseWheelScrollSensitivity:s,fastScrollSensitivity:g,scrollPredominantAxis:c,scrollByPage:i.scrollByPage};this.scrollbar=this._register(new I.SmoothScrollableElement(p.domNode,l,this._context.viewLayout.getScrollable())),E.PartFingerprints.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=(0,k.createFastDomNode)(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition(\"absolute\"),this._setLayout();const a=(r,u,C)=>{const f={};if(u){const h=r.scrollTop;h&&(f.scrollTop=this._context.viewLayout.getCurrentScrollTop()+h,r.scrollTop=0)}if(C){const h=r.scrollLeft;h&&(f.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+h,r.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(f,1)};this._register(d.addDisposableListener(n.domNode,\"scroll\",r=>a(n.domNode,!0,!0))),this._register(d.addDisposableListener(p.domNode,\"scroll\",r=>a(p.domNode,!0,!1))),this._register(d.addDisposableListener(o.domNode,\"scroll\",r=>a(o.domNode,!0,!1))),this._register(d.addDisposableListener(this.scrollbarDomNode.domNode,\"scroll\",r=>a(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const b=this._context.configuration.options,p=b.get(146);this.scrollbarDomNode.setLeft(p.contentLeft),b.get(73).side===\"right\"?this.scrollbarDomNode.setWidth(p.contentWidth+p.minimap.minimapWidth):this.scrollbarDomNode.setWidth(p.contentWidth),this.scrollbarDomNode.setHeight(p.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(b){this.scrollbar.delegateVerticalScrollbarPointerDown(b)}delegateScrollFromMouseWheelEvent(b){this.scrollbar.delegateScrollFromMouseWheelEvent(b)}onConfigurationChanged(b){if(b.hasChanged(104)||b.hasChanged(75)||b.hasChanged(40)){const p=this._context.configuration.options,n=p.get(104),o=p.get(75),t=p.get(40),i=p.get(107),s={vertical:n.vertical,horizontal:n.horizontal,verticalScrollbarSize:n.verticalScrollbarSize,horizontalScrollbarSize:n.horizontalScrollbarSize,scrollByPage:n.scrollByPage,handleMouseWheel:n.handleMouseWheel,mouseWheelScrollSensitivity:o,fastScrollSensitivity:t,scrollPredominantAxis:i};this.scrollbar.updateOptions(s)}return b.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(b){return!0}onThemeChanged(b){return this.scrollbar.updateClassName(\"editor-scrollable \"+(0,y.getThemeTypeSelector)(this._context.theme.type)),!0}prepareRender(b){}render(b){this.scrollbar.renderNow()}}e.EditorScrollbar=m}),define(ne[774],se([1,0,133,32,25,495]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectionsOverlay=void 0;class E{constructor(o){this.left=o.left,this.width=o.width,this.startStyle=null,this.endStyle=null}}class y{constructor(o,t){this.lineNumber=o,this.ranges=t}}function m(n){return new E(n)}function _(n){return new y(n.lineNumber,n.ranges.map(m))}class b extends d.DynamicViewOverlay{static{this.SELECTION_CLASS_NAME=\"selected-text\"}static{this.SELECTION_TOP_LEFT=\"top-left-radius\"}static{this.SELECTION_BOTTOM_LEFT=\"bottom-left-radius\"}static{this.SELECTION_TOP_RIGHT=\"top-right-radius\"}static{this.SELECTION_BOTTOM_RIGHT=\"bottom-right-radius\"}static{this.EDITOR_BACKGROUND_CLASS_NAME=\"monaco-editor-background\"}static{this.ROUNDED_PIECE_WIDTH=10}constructor(o){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=o;const t=this._context.configuration.options;this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(o){const t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(o){return this._selections=o.selections.slice(0),!0}onDecorationsChanged(o){return!0}onFlushed(o){return!0}onLinesChanged(o){return!0}onLinesDeleted(o){return!0}onLinesInserted(o){return!0}onScrollChanged(o){return o.scrollTopChanged}onZonesChanged(o){return!0}_visibleRangesHaveGaps(o){for(let t=0,i=o.length;t<i;t++)if(o[t].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(o,t,i){const s=this._typicalHalfwidthCharacterWidth/4;let g=null,c=null;if(i&&i.length>0&&t.length>0){const l=t[0].lineNumber;if(l===o.startLineNumber)for(let r=0;!g&&r<i.length;r++)i[r].lineNumber===l&&(g=i[r].ranges[0]);const a=t[t.length-1].lineNumber;if(a===o.endLineNumber)for(let r=i.length-1;!c&&r>=0;r--)i[r].lineNumber===a&&(c=i[r].ranges[0]);g&&!g.startStyle&&(g=null),c&&!c.startStyle&&(c=null)}for(let l=0,a=t.length;l<a;l++){const r=t[l].ranges[0],u=r.left,C=r.left+r.width,f={top:0,bottom:0},h={top:0,bottom:0};if(l>0){const v=t[l-1].ranges[0].left,w=t[l-1].ranges[0].left+t[l-1].ranges[0].width;p(u-v)<s?f.top=2:u>v&&(f.top=1),p(C-w)<s?h.top=2:v<C&&C<w&&(h.top=1)}else g&&(f.top=g.startStyle.top,h.top=g.endStyle.top);if(l+1<a){const v=t[l+1].ranges[0].left,w=t[l+1].ranges[0].left+t[l+1].ranges[0].width;p(u-v)<s?f.bottom=2:v<u&&u<w&&(f.bottom=1),p(C-w)<s?h.bottom=2:C<w&&(h.bottom=1)}else c&&(f.bottom=c.startStyle.bottom,h.bottom=c.endStyle.bottom);r.startStyle=f,r.endStyle=h}}_getVisibleRangesWithStyle(o,t,i){const g=(t.linesVisibleRangesForRange(o,!0)||[]).map(_);return!this._visibleRangesHaveGaps(g)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(t.visibleRange,g,i),g}_createSelectionPiece(o,t,i,s,g){return'<div class=\"cslr '+i+'\" style=\"top:'+o.toString()+\"px;bottom:\"+t.toString()+\"px;left:\"+s.toString()+\"px;width:\"+g.toString()+'px;\"></div>'}_actualRenderOneSelection(o,t,i,s){if(s.length===0)return;const g=!!s[0].ranges[0].startStyle,c=s[0].lineNumber,l=s[s.length-1].lineNumber;for(let a=0,r=s.length;a<r;a++){const u=s[a],C=u.lineNumber,f=C-t,h=i&&C===c?1:0,v=i&&C!==c&&C===l?1:0;let w=\"\",S=\"\";for(let L=0,D=u.ranges.length;L<D;L++){const T=u.ranges[L];if(g){const A=T.startStyle,P=T.endStyle;if(A.top===1||A.bottom===1){w+=this._createSelectionPiece(h,v,b.SELECTION_CLASS_NAME,T.left-b.ROUNDED_PIECE_WIDTH,b.ROUNDED_PIECE_WIDTH);let N=b.EDITOR_BACKGROUND_CLASS_NAME;A.top===1&&(N+=\" \"+b.SELECTION_TOP_RIGHT),A.bottom===1&&(N+=\" \"+b.SELECTION_BOTTOM_RIGHT),w+=this._createSelectionPiece(h,v,N,T.left-b.ROUNDED_PIECE_WIDTH,b.ROUNDED_PIECE_WIDTH)}if(P.top===1||P.bottom===1){w+=this._createSelectionPiece(h,v,b.SELECTION_CLASS_NAME,T.left+T.width,b.ROUNDED_PIECE_WIDTH);let N=b.EDITOR_BACKGROUND_CLASS_NAME;P.top===1&&(N+=\" \"+b.SELECTION_TOP_LEFT),P.bottom===1&&(N+=\" \"+b.SELECTION_BOTTOM_LEFT),w+=this._createSelectionPiece(h,v,N,T.left+T.width,b.ROUNDED_PIECE_WIDTH)}}let M=b.SELECTION_CLASS_NAME;if(g){const A=T.startStyle,P=T.endStyle;A.top===0&&(M+=\" \"+b.SELECTION_TOP_LEFT),A.bottom===0&&(M+=\" \"+b.SELECTION_BOTTOM_LEFT),P.top===0&&(M+=\" \"+b.SELECTION_TOP_RIGHT),P.bottom===0&&(M+=\" \"+b.SELECTION_BOTTOM_RIGHT)}S+=this._createSelectionPiece(h,v,M,T.left,T.width)}o[f][0]+=w,o[f][1]+=S}}prepareRender(o){const t=[],i=o.visibleRange.startLineNumber,s=o.visibleRange.endLineNumber;for(let c=i;c<=s;c++){const l=c-i;t[l]=[\"\",\"\"]}const g=[];for(let c=0,l=this._selections.length;c<l;c++){const a=this._selections[c];if(a.isEmpty()){g[c]=null;continue}const r=this._getVisibleRangesWithStyle(a,o,this._previousFrameVisibleRangesWithStyle[c]);g[c]=r,this._actualRenderOneSelection(t,i,this._selections.length>1,r)}this._previousFrameVisibleRangesWithStyle=g,this._renderResult=t.map(([c,l])=>c+l)}render(o,t){if(!this._renderResult)return\"\";const i=t-o;return i<0||i>=this._renderResult.length?\"\":this._renderResult[i]}}e.SelectionsOverlay=b,(0,I.registerThemingParticipant)((n,o)=>{const t=n.getColor(k.editorSelectionForeground);t&&!t.isTransparent()&&o.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${t}; }`)});function p(n){return n<0?-n:n}}),define(ne[415],se([1,0,5,39,223,2,21,88,9,332,32,25]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";var o;Object.defineProperty(e,\"__esModule\",{value:!0}),e.OverviewRulerFeature=void 0;let t=class extends E.Disposable{static{o=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=this.ONE_OVERVIEW_WIDTH*2}constructor(s,g,c,l,a,r,u){super(),this._editors=s,this._rootElement=g,this._diffModel=c,this._rootWidth=l,this._rootHeight=a,this._modifiedEditorLayoutInfo=r,this._themeService=u,this.width=o.ENTIRE_DIFF_OVERVIEW_WIDTH;const C=(0,y.observableFromEvent)(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),f=(0,y.derived)(w=>{const S=C.read(w),L=S.getColor(p.diffOverviewRulerInserted)||(S.getColor(p.diffInserted)||p.defaultInsertColor).transparent(2),D=S.getColor(p.diffOverviewRulerRemoved)||(S.getColor(p.diffRemoved)||p.defaultRemoveColor).transparent(2);return{insertColor:L,removeColor:D}}),h=(0,k.createFastDomNode)(document.createElement(\"div\"));h.setClassName(\"diffViewport\"),h.setPosition(\"absolute\");const v=(0,d.h)(\"div.diffOverview\",{style:{position:\"absolute\",top:\"0px\",width:o.ENTIRE_DIFF_OVERVIEW_WIDTH+\"px\"}}).root;this._register((0,m.appendRemoveOnDispose)(v,h.domNode)),this._register((0,d.addStandardDisposableListener)(v,d.EventType.POINTER_DOWN,w=>{this._editors.modified.delegateVerticalScrollbarPointerDown(w)})),this._register((0,d.addDisposableListener)(v,d.EventType.MOUSE_WHEEL,w=>{this._editors.modified.delegateScrollFromMouseWheelEvent(w)},{passive:!1})),this._register((0,m.appendRemoveOnDispose)(this._rootElement,v)),this._register((0,y.autorunWithStore)((w,S)=>{const L=this._diffModel.read(w),D=this._editors.original.createOverviewRuler(\"original diffOverviewRuler\");D&&(S.add(D),S.add((0,m.appendRemoveOnDispose)(v,D.getDomNode())));const T=this._editors.modified.createOverviewRuler(\"modified diffOverviewRuler\");if(T&&(S.add(T),S.add((0,m.appendRemoveOnDispose)(v,T.getDomNode()))),!D||!T)return;const M=(0,y.observableSignalFromEvent)(\"viewZoneChanged\",this._editors.original.onDidChangeViewZones),A=(0,y.observableSignalFromEvent)(\"viewZoneChanged\",this._editors.modified.onDidChangeViewZones),P=(0,y.observableSignalFromEvent)(\"hiddenRangesChanged\",this._editors.original.onDidChangeHiddenAreas),N=(0,y.observableSignalFromEvent)(\"hiddenRangesChanged\",this._editors.modified.onDidChangeHiddenAreas);S.add((0,y.autorun)(O=>{M.read(O),A.read(O),P.read(O),N.read(O);const F=f.read(O),x=L?.diff.read(O)?.mappings;function W(H,z,U){const j=U._getViewModel();return j?H.filter(Y=>Y.length>0).map(Y=>{const G=j.coordinatesConverter.convertModelPositionToViewPosition(new _.Position(Y.startLineNumber,1)),K=j.coordinatesConverter.convertModelPositionToViewPosition(new _.Position(Y.endLineNumberExclusive,1)),R=K.lineNumber-G.lineNumber;return new b.OverviewRulerZone(G.lineNumber,K.lineNumber,R,z.toString())}):[]}const V=W((x||[]).map(H=>H.lineRangeMapping.original),F.removeColor,this._editors.original),q=W((x||[]).map(H=>H.lineRangeMapping.modified),F.insertColor,this._editors.modified);D?.setZones(V),T?.setZones(q)})),S.add((0,y.autorun)(O=>{const F=this._rootHeight.read(O),x=this._rootWidth.read(O),W=this._modifiedEditorLayoutInfo.read(O);if(W){const V=o.ENTIRE_DIFF_OVERVIEW_WIDTH-2*o.ONE_OVERVIEW_WIDTH;D.setLayout({top:0,height:F,right:V+o.ONE_OVERVIEW_WIDTH,width:o.ONE_OVERVIEW_WIDTH}),T.setLayout({top:0,height:F,right:0,width:o.ONE_OVERVIEW_WIDTH});const q=this._editors.modifiedScrollTop.read(O),H=this._editors.modifiedScrollHeight.read(O),z=this._editors.modified.getOption(104),U=new I.ScrollbarState(z.verticalHasArrows?z.arrowSize:0,z.verticalScrollbarSize,0,W.height,H,q);h.setTop(U.getSliderPosition()),h.setHeight(U.getSliderSize())}else h.setTop(0),h.setHeight(0);v.style.height=F+\"px\",v.style.left=x-o.ENTIRE_DIFF_OVERVIEW_WIDTH+\"px\",h.setWidth(o.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};e.OverviewRulerFeature=t,e.OverviewRulerFeature=t=o=ke([ce(6,n.IThemeService)],t)}),define(ne[775],se([1,0,6,2,21,112,415,37,9,3,7,31]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffEditorEditors=void 0;let o=class extends k.Disposable{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(i,s,g,c,l,a,r){super(),this.originalEditorElement=i,this.modifiedEditorElement=s,this._options=g,this._argCodeEditorWidgetOptions=c,this._createInnerEditor=l,this._instantiationService=a,this._keybindingService=r,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new d.Emitter),this.modifiedScrollTop=(0,I.observableFromEvent)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=(0,I.observableFromEvent)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=(0,E.observableCodeEditor)(this.modified),this.originalObs=(0,E.observableCodeEditor)(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=(0,I.observableFromEvent)(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=(0,I.derivedOpts)({owner:this,equalsFn:_.Position.equals},u=>this.modifiedSelections.read(u)[0]?.getPosition()??new _.Position(1,1)),this.originalCursor=(0,I.observableFromEvent)(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new _.Position(1,1)),this._argCodeEditorWidgetOptions=null,this._register((0,I.autorunHandleChanges)({createEmptyChangeSummary:()=>({}),handleChange:(u,C)=>(u.didChange(g.editorOptions)&&Object.assign(C,u.change.changedOptions),!0)},(u,C)=>{g.editorOptions.read(u),this._options.renderSideBySide.read(u),this.modified.updateOptions(this._adjustOptionsForRightHandSide(u,C)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(u,C))}))}_createLeftHandSideEditor(i,s){const g=this._adjustOptionsForLeftHandSide(void 0,i),c=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,g,s);return c.setContextValue(\"isInDiffLeftEditor\",!0),c}_createRightHandSideEditor(i,s){const g=this._adjustOptionsForRightHandSide(void 0,i),c=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,g,s);return c.setContextValue(\"isInDiffRightEditor\",!0),c}_constructInnerEditor(i,s,g,c){const l=this._createInnerEditor(i,s,g,c);return this._register(l.onDidContentSizeChange(a=>{const r=this.original.getContentWidth()+this.modified.getContentWidth()+y.OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH,u=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:u,contentWidth:r,contentHeightChanged:a.contentHeightChanged,contentWidthChanged:a.contentWidthChanged})})),l}_adjustOptionsForLeftHandSide(i,s){const g=this._adjustOptionsForSubEditor(s);return this._options.renderSideBySide.get()?(g.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},g.wordWrapOverride1=this._options.diffWordWrap.get()):(g.wordWrapOverride1=\"off\",g.wordWrapOverride2=\"off\",g.stickyScroll={enabled:!1},g.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),g.glyphMargin=this._options.renderSideBySide.get(),s.originalAriaLabel&&(g.ariaLabel=s.originalAriaLabel),g.ariaLabel=this._updateAriaLabel(g.ariaLabel),g.readOnly=!this._options.originalEditable.get(),g.dropIntoEditor={enabled:!g.readOnly},g.extraEditorClassName=\"original-in-monaco-diff-editor\",g}_adjustOptionsForRightHandSide(i,s){const g=this._adjustOptionsForSubEditor(s);return s.modifiedAriaLabel&&(g.ariaLabel=s.modifiedAriaLabel),g.ariaLabel=this._updateAriaLabel(g.ariaLabel),g.wordWrapOverride1=this._options.diffWordWrap.get(),g.revealHorizontalRightPadding=m.EditorOptions.revealHorizontalRightPadding.defaultValue+y.OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH,g.scrollbar.verticalHasArrows=!1,g.extraEditorClassName=\"modified-in-monaco-diff-editor\",g}_adjustOptionsForSubEditor(i){const s={...i,dimension:{height:0,width:0}};return s.inDiffEditor=!0,s.automaticLayout=!1,s.scrollbar={...s.scrollbar||{}},s.folding=!1,s.codeLens=this._options.diffCodeLens.get(),s.fixedOverflowWidgets=!0,s.minimap={...s.minimap||{}},s.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?s.stickyScroll={enabled:!1}:s.stickyScroll=this._options.editorOptions.get().stickyScroll,s}_updateAriaLabel(i){i||(i=\"\");const s=(0,b.localize)(98,\" use {0} to open the accessibility help.\",this._keybindingService.lookupKeybinding(\"editor.action.accessibilityHelp\")?.getAriaLabel());return this._options.accessibilityVerbose.get()?i+s:i?i.replaceAll(s,\"\"):\"\"}};e.DiffEditorEditors=o,e.DiffEditorEditors=o=ke([ce(5,p.IInstantiationService),ce(6,n.IKeybindingService)],o)}),define(ne[80],se([1,0,3,33,32,25]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.editorUnicodeHighlightBackground=e.editorUnicodeHighlightBorder=e.editorBracketPairGuideActiveBackground6=e.editorBracketPairGuideActiveBackground5=e.editorBracketPairGuideActiveBackground4=e.editorBracketPairGuideActiveBackground3=e.editorBracketPairGuideActiveBackground2=e.editorBracketPairGuideActiveBackground1=e.editorBracketPairGuideBackground6=e.editorBracketPairGuideBackground5=e.editorBracketPairGuideBackground4=e.editorBracketPairGuideBackground3=e.editorBracketPairGuideBackground2=e.editorBracketPairGuideBackground1=e.editorBracketHighlightingUnexpectedBracketForeground=e.editorBracketHighlightingForeground6=e.editorBracketHighlightingForeground5=e.editorBracketHighlightingForeground4=e.editorBracketHighlightingForeground3=e.editorBracketHighlightingForeground2=e.editorBracketHighlightingForeground1=e.overviewRulerInfo=e.overviewRulerWarning=e.overviewRulerError=e.overviewRulerRangeHighlight=e.ghostTextBackground=e.ghostTextForeground=e.ghostTextBorder=e.editorUnnecessaryCodeOpacity=e.editorUnnecessaryCodeBorder=e.editorGutter=e.editorOverviewRulerBackground=e.editorOverviewRulerBorder=e.editorBracketMatchBorder=e.editorBracketMatchBackground=e.editorCodeLensForeground=e.editorRuler=e.editorDimmedLineNumber=e.editorActiveLineNumber=e.editorActiveIndentGuide6=e.editorActiveIndentGuide5=e.editorActiveIndentGuide4=e.editorActiveIndentGuide3=e.editorActiveIndentGuide2=e.editorActiveIndentGuide1=e.editorIndentGuide6=e.editorIndentGuide5=e.editorIndentGuide4=e.editorIndentGuide3=e.editorIndentGuide2=e.editorIndentGuide1=e.deprecatedEditorActiveIndentGuides=e.deprecatedEditorIndentGuides=e.editorLineNumbers=e.editorWhitespaces=e.editorMultiCursorSecondaryBackground=e.editorMultiCursorSecondaryForeground=e.editorMultiCursorPrimaryBackground=e.editorMultiCursorPrimaryForeground=e.editorCursorBackground=e.editorCursorForeground=e.editorSymbolHighlightBorder=e.editorSymbolHighlight=e.editorRangeHighlightBorder=e.editorRangeHighlight=e.editorLineHighlightBorder=e.editorLineHighlight=void 0,e.editorLineHighlight=(0,I.registerColor)(\"editor.lineHighlightBackground\",null,d.localize(551,\"Background color for the highlight of line at the cursor position.\")),e.editorLineHighlightBorder=(0,I.registerColor)(\"editor.lineHighlightBorder\",{dark:\"#282828\",light:\"#eeeeee\",hcDark:\"#f38518\",hcLight:I.contrastBorder},d.localize(552,\"Background color for the border around the line at the cursor position.\")),e.editorRangeHighlight=(0,I.registerColor)(\"editor.rangeHighlightBackground\",{dark:\"#ffffff0b\",light:\"#fdff0033\",hcDark:null,hcLight:null},d.localize(553,\"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorRangeHighlightBorder=(0,I.registerColor)(\"editor.rangeHighlightBorder\",{dark:null,light:null,hcDark:I.activeContrastBorder,hcLight:I.activeContrastBorder},d.localize(554,\"Background color of the border around highlighted ranges.\")),e.editorSymbolHighlight=(0,I.registerColor)(\"editor.symbolHighlightBackground\",{dark:I.editorFindMatchHighlight,light:I.editorFindMatchHighlight,hcDark:null,hcLight:null},d.localize(555,\"Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.editorSymbolHighlightBorder=(0,I.registerColor)(\"editor.symbolHighlightBorder\",{dark:null,light:null,hcDark:I.activeContrastBorder,hcLight:I.activeContrastBorder},d.localize(556,\"Background color of the border around highlighted symbols.\")),e.editorCursorForeground=(0,I.registerColor)(\"editorCursor.foreground\",{dark:\"#AEAFAD\",light:k.Color.black,hcDark:k.Color.white,hcLight:\"#0F4A85\"},d.localize(557,\"Color of the editor cursor.\")),e.editorCursorBackground=(0,I.registerColor)(\"editorCursor.background\",null,d.localize(558,\"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.\")),e.editorMultiCursorPrimaryForeground=(0,I.registerColor)(\"editorMultiCursor.primary.foreground\",e.editorCursorForeground,d.localize(559,\"Color of the primary editor cursor when multiple cursors are present.\")),e.editorMultiCursorPrimaryBackground=(0,I.registerColor)(\"editorMultiCursor.primary.background\",e.editorCursorBackground,d.localize(560,\"The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.\")),e.editorMultiCursorSecondaryForeground=(0,I.registerColor)(\"editorMultiCursor.secondary.foreground\",e.editorCursorForeground,d.localize(561,\"Color of secondary editor cursors when multiple cursors are present.\")),e.editorMultiCursorSecondaryBackground=(0,I.registerColor)(\"editorMultiCursor.secondary.background\",e.editorCursorBackground,d.localize(562,\"The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.\")),e.editorWhitespaces=(0,I.registerColor)(\"editorWhitespace.foreground\",{dark:\"#e3e4e229\",light:\"#33333333\",hcDark:\"#e3e4e229\",hcLight:\"#CCCCCC\"},d.localize(563,\"Color of whitespace characters in the editor.\")),e.editorLineNumbers=(0,I.registerColor)(\"editorLineNumber.foreground\",{dark:\"#858585\",light:\"#237893\",hcDark:k.Color.white,hcLight:\"#292929\"},d.localize(564,\"Color of editor line numbers.\")),e.deprecatedEditorIndentGuides=(0,I.registerColor)(\"editorIndentGuide.background\",e.editorWhitespaces,d.localize(565,\"Color of the editor indentation guides.\"),!1,d.localize(566,\"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.\")),e.deprecatedEditorActiveIndentGuides=(0,I.registerColor)(\"editorIndentGuide.activeBackground\",e.editorWhitespaces,d.localize(567,\"Color of the active editor indentation guides.\"),!1,d.localize(568,\"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.\")),e.editorIndentGuide1=(0,I.registerColor)(\"editorIndentGuide.background1\",e.deprecatedEditorIndentGuides,d.localize(569,\"Color of the editor indentation guides (1).\")),e.editorIndentGuide2=(0,I.registerColor)(\"editorIndentGuide.background2\",\"#00000000\",d.localize(570,\"Color of the editor indentation guides (2).\")),e.editorIndentGuide3=(0,I.registerColor)(\"editorIndentGuide.background3\",\"#00000000\",d.localize(571,\"Color of the editor indentation guides (3).\")),e.editorIndentGuide4=(0,I.registerColor)(\"editorIndentGuide.background4\",\"#00000000\",d.localize(572,\"Color of the editor indentation guides (4).\")),e.editorIndentGuide5=(0,I.registerColor)(\"editorIndentGuide.background5\",\"#00000000\",d.localize(573,\"Color of the editor indentation guides (5).\")),e.editorIndentGuide6=(0,I.registerColor)(\"editorIndentGuide.background6\",\"#00000000\",d.localize(574,\"Color of the editor indentation guides (6).\")),e.editorActiveIndentGuide1=(0,I.registerColor)(\"editorIndentGuide.activeBackground1\",e.deprecatedEditorActiveIndentGuides,d.localize(575,\"Color of the active editor indentation guides (1).\")),e.editorActiveIndentGuide2=(0,I.registerColor)(\"editorIndentGuide.activeBackground2\",\"#00000000\",d.localize(576,\"Color of the active editor indentation guides (2).\")),e.editorActiveIndentGuide3=(0,I.registerColor)(\"editorIndentGuide.activeBackground3\",\"#00000000\",d.localize(577,\"Color of the active editor indentation guides (3).\")),e.editorActiveIndentGuide4=(0,I.registerColor)(\"editorIndentGuide.activeBackground4\",\"#00000000\",d.localize(578,\"Color of the active editor indentation guides (4).\")),e.editorActiveIndentGuide5=(0,I.registerColor)(\"editorIndentGuide.activeBackground5\",\"#00000000\",d.localize(579,\"Color of the active editor indentation guides (5).\")),e.editorActiveIndentGuide6=(0,I.registerColor)(\"editorIndentGuide.activeBackground6\",\"#00000000\",d.localize(580,\"Color of the active editor indentation guides (6).\"));const y=(0,I.registerColor)(\"editorActiveLineNumber.foreground\",{dark:\"#c6c6c6\",light:\"#0B216F\",hcDark:I.activeContrastBorder,hcLight:I.activeContrastBorder},d.localize(581,\"Color of editor active line number\"),!1,d.localize(582,\"Id is deprecated. Use 'editorLineNumber.activeForeground' instead.\"));e.editorActiveLineNumber=(0,I.registerColor)(\"editorLineNumber.activeForeground\",y,d.localize(583,\"Color of editor active line number\")),e.editorDimmedLineNumber=(0,I.registerColor)(\"editorLineNumber.dimmedForeground\",null,d.localize(584,\"Color of the final editor line when editor.renderFinalNewline is set to dimmed.\")),e.editorRuler=(0,I.registerColor)(\"editorRuler.foreground\",{dark:\"#5A5A5A\",light:k.Color.lightgrey,hcDark:k.Color.white,hcLight:\"#292929\"},d.localize(585,\"Color of the editor rulers.\")),e.editorCodeLensForeground=(0,I.registerColor)(\"editorCodeLens.foreground\",{dark:\"#999999\",light:\"#919191\",hcDark:\"#999999\",hcLight:\"#292929\"},d.localize(586,\"Foreground color of editor CodeLens\")),e.editorBracketMatchBackground=(0,I.registerColor)(\"editorBracketMatch.background\",{dark:\"#0064001a\",light:\"#0064001a\",hcDark:\"#0064001a\",hcLight:\"#0000\"},d.localize(587,\"Background color behind matching brackets\")),e.editorBracketMatchBorder=(0,I.registerColor)(\"editorBracketMatch.border\",{dark:\"#888\",light:\"#B9B9B9\",hcDark:I.contrastBorder,hcLight:I.contrastBorder},d.localize(588,\"Color for matching brackets boxes\")),e.editorOverviewRulerBorder=(0,I.registerColor)(\"editorOverviewRuler.border\",{dark:\"#7f7f7f4d\",light:\"#7f7f7f4d\",hcDark:\"#7f7f7f4d\",hcLight:\"#666666\"},d.localize(589,\"Color of the overview ruler border.\")),e.editorOverviewRulerBackground=(0,I.registerColor)(\"editorOverviewRuler.background\",null,d.localize(590,\"Background color of the editor overview ruler.\")),e.editorGutter=(0,I.registerColor)(\"editorGutter.background\",I.editorBackground,d.localize(591,\"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.\")),e.editorUnnecessaryCodeBorder=(0,I.registerColor)(\"editorUnnecessaryCode.border\",{dark:null,light:null,hcDark:k.Color.fromHex(\"#fff\").transparent(.8),hcLight:I.contrastBorder},d.localize(592,\"Border color of unnecessary (unused) source code in the editor.\")),e.editorUnnecessaryCodeOpacity=(0,I.registerColor)(\"editorUnnecessaryCode.opacity\",{dark:k.Color.fromHex(\"#000a\"),light:k.Color.fromHex(\"#0007\"),hcDark:null,hcLight:null},d.localize(593,`Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the  'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`)),e.ghostTextBorder=(0,I.registerColor)(\"editorGhostText.border\",{dark:null,light:null,hcDark:k.Color.fromHex(\"#fff\").transparent(.8),hcLight:k.Color.fromHex(\"#292929\").transparent(.8)},d.localize(594,\"Border color of ghost text in the editor.\")),e.ghostTextForeground=(0,I.registerColor)(\"editorGhostText.foreground\",{dark:k.Color.fromHex(\"#ffffff56\"),light:k.Color.fromHex(\"#0007\"),hcDark:null,hcLight:null},d.localize(595,\"Foreground color of the ghost text in the editor.\")),e.ghostTextBackground=(0,I.registerColor)(\"editorGhostText.background\",null,d.localize(596,\"Background color of the ghost text in the editor.\"));const m=new k.Color(new k.RGBA(0,122,204,.6));e.overviewRulerRangeHighlight=(0,I.registerColor)(\"editorOverviewRuler.rangeHighlightForeground\",m,d.localize(597,\"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.\"),!0),e.overviewRulerError=(0,I.registerColor)(\"editorOverviewRuler.errorForeground\",{dark:new k.Color(new k.RGBA(255,18,18,.7)),light:new k.Color(new k.RGBA(255,18,18,.7)),hcDark:new k.Color(new k.RGBA(255,50,50,1)),hcLight:\"#B5200D\"},d.localize(598,\"Overview ruler marker color for errors.\")),e.overviewRulerWarning=(0,I.registerColor)(\"editorOverviewRuler.warningForeground\",{dark:I.editorWarningForeground,light:I.editorWarningForeground,hcDark:I.editorWarningBorder,hcLight:I.editorWarningBorder},d.localize(599,\"Overview ruler marker color for warnings.\")),e.overviewRulerInfo=(0,I.registerColor)(\"editorOverviewRuler.infoForeground\",{dark:I.editorInfoForeground,light:I.editorInfoForeground,hcDark:I.editorInfoBorder,hcLight:I.editorInfoBorder},d.localize(600,\"Overview ruler marker color for infos.\")),e.editorBracketHighlightingForeground1=(0,I.registerColor)(\"editorBracketHighlight.foreground1\",{dark:\"#FFD700\",light:\"#0431FAFF\",hcDark:\"#FFD700\",hcLight:\"#0431FAFF\"},d.localize(601,\"Foreground color of brackets (1). Requires enabling bracket pair colorization.\")),e.editorBracketHighlightingForeground2=(0,I.registerColor)(\"editorBracketHighlight.foreground2\",{dark:\"#DA70D6\",light:\"#319331FF\",hcDark:\"#DA70D6\",hcLight:\"#319331FF\"},d.localize(602,\"Foreground color of brackets (2). Requires enabling bracket pair colorization.\")),e.editorBracketHighlightingForeground3=(0,I.registerColor)(\"editorBracketHighlight.foreground3\",{dark:\"#179FFF\",light:\"#7B3814FF\",hcDark:\"#87CEFA\",hcLight:\"#7B3814FF\"},d.localize(603,\"Foreground color of brackets (3). Requires enabling bracket pair colorization.\")),e.editorBracketHighlightingForeground4=(0,I.registerColor)(\"editorBracketHighlight.foreground4\",\"#00000000\",d.localize(604,\"Foreground color of brackets (4). Requires enabling bracket pair colorization.\")),e.editorBracketHighlightingForeground5=(0,I.registerColor)(\"editorBracketHighlight.foreground5\",\"#00000000\",d.localize(605,\"Foreground color of brackets (5). Requires enabling bracket pair colorization.\")),e.editorBracketHighlightingForeground6=(0,I.registerColor)(\"editorBracketHighlight.foreground6\",\"#00000000\",d.localize(606,\"Foreground color of brackets (6). Requires enabling bracket pair colorization.\")),e.editorBracketHighlightingUnexpectedBracketForeground=(0,I.registerColor)(\"editorBracketHighlight.unexpectedBracket.foreground\",{dark:new k.Color(new k.RGBA(255,18,18,.8)),light:new k.Color(new k.RGBA(255,18,18,.8)),hcDark:\"new Color(new RGBA(255, 50, 50, 1))\",hcLight:\"#B5200D\"},d.localize(607,\"Foreground color of unexpected brackets.\")),e.editorBracketPairGuideBackground1=(0,I.registerColor)(\"editorBracketPairGuide.background1\",\"#00000000\",d.localize(608,\"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideBackground2=(0,I.registerColor)(\"editorBracketPairGuide.background2\",\"#00000000\",d.localize(609,\"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideBackground3=(0,I.registerColor)(\"editorBracketPairGuide.background3\",\"#00000000\",d.localize(610,\"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideBackground4=(0,I.registerColor)(\"editorBracketPairGuide.background4\",\"#00000000\",d.localize(611,\"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideBackground5=(0,I.registerColor)(\"editorBracketPairGuide.background5\",\"#00000000\",d.localize(612,\"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideBackground6=(0,I.registerColor)(\"editorBracketPairGuide.background6\",\"#00000000\",d.localize(613,\"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideActiveBackground1=(0,I.registerColor)(\"editorBracketPairGuide.activeBackground1\",\"#00000000\",d.localize(614,\"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideActiveBackground2=(0,I.registerColor)(\"editorBracketPairGuide.activeBackground2\",\"#00000000\",d.localize(615,\"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideActiveBackground3=(0,I.registerColor)(\"editorBracketPairGuide.activeBackground3\",\"#00000000\",d.localize(616,\"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideActiveBackground4=(0,I.registerColor)(\"editorBracketPairGuide.activeBackground4\",\"#00000000\",d.localize(617,\"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideActiveBackground5=(0,I.registerColor)(\"editorBracketPairGuide.activeBackground5\",\"#00000000\",d.localize(618,\"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.\")),e.editorBracketPairGuideActiveBackground6=(0,I.registerColor)(\"editorBracketPairGuide.activeBackground6\",\"#00000000\",d.localize(619,\"Background color of active bracket pair guides (6). Requires enabling bracket pair guides.\")),e.editorUnicodeHighlightBorder=(0,I.registerColor)(\"editorUnicodeHighlight.border\",I.editorWarningForeground,d.localize(620,\"Border color used to highlight unicode characters.\")),e.editorUnicodeHighlightBackground=(0,I.registerColor)(\"editorUnicodeHighlight.background\",I.editorWarningBackground,d.localize(621,\"Background color used to highlight unicode characters.\")),(0,E.registerThemingParticipant)((_,b)=>{const p=_.getColor(I.editorBackground),n=_.getColor(e.editorLineHighlight),o=n&&!n.isTransparent()?n:p;o&&b.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${o}; }`)})}),define(ne[776],se([1,0,133,80,13,25,23,97,9,482]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CurrentLineMarginHighlightOverlay=e.CurrentLineHighlightOverlay=e.AbstractLineHighlightOverlay=void 0;class b extends d.DynamicViewOverlay{constructor(t){super(),this._context=t;const i=this._context.configuration.options,s=i.get(146);this._renderLineHighlight=i.get(97),this._renderLineHighlightOnlyWhenFocus=i.get(98),this._wordWrap=s.isViewportWrapping,this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new y.Selection(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let t=!1;const i=new Set;for(const c of this._selections)i.add(c.positionLineNumber);const s=Array.from(i);s.sort((c,l)=>c-l),I.equals(this._cursorLineNumbers,s)||(this._cursorLineNumbers=s,t=!0);const g=this._selections.every(c=>c.isEmpty());return this._selectionIsEmpty!==g&&(this._selectionIsEmpty=g,t=!0),t}onThemeChanged(t){return this._readFromSelections()}onConfigurationChanged(t){const i=this._context.configuration.options,s=i.get(146);return this._renderLineHighlight=i.get(97),this._renderLineHighlightOnlyWhenFocus=i.get(98),this._wordWrap=s.isViewportWrapping,this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,!0}onCursorStateChanged(t){return this._selections=t.selections,this._readFromSelections()}onFlushed(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollWidthChanged||t.scrollTopChanged}onZonesChanged(t){return!0}onFocusChanged(t){return this._renderLineHighlightOnlyWhenFocus?(this._focused=t.isFocused,!0):!1}prepareRender(t){if(!this._shouldRenderThis()){this._renderData=null;return}const i=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,g=[];for(let l=i;l<=s;l++){const a=l-i;g[a]=\"\"}if(this._wordWrap){const l=this._renderOne(t,!1);for(const a of this._cursorLineNumbers){const r=this._context.viewModel.coordinatesConverter,u=r.convertViewPositionToModelPosition(new _.Position(a,1)).lineNumber,C=r.convertModelPositionToViewPosition(new _.Position(u,1)).lineNumber,f=r.convertModelPositionToViewPosition(new _.Position(u,this._context.viewModel.model.getLineMaxColumn(u))).lineNumber,h=Math.max(C,i),v=Math.min(f,s);for(let w=h;w<=v;w++){const S=w-i;g[S]=l}}}const c=this._renderOne(t,!0);for(const l of this._cursorLineNumbers){if(l<i||l>s)continue;const a=l-i;g[a]=c}this._renderData=g}render(t,i){if(!this._renderData)return\"\";const s=i-t;return s>=this._renderData.length?\"\":this._renderData[s]}_shouldRenderInMargin(){return(this._renderLineHighlight===\"gutter\"||this._renderLineHighlight===\"all\")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight===\"line\"||this._renderLineHighlight===\"all\")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}e.AbstractLineHighlightOverlay=b;class p extends b{_renderOne(t,i){return`<div class=\"${\"current-line\"+(this._shouldRenderInMargin()?\" current-line-both\":\"\")+(i?\" current-line-exact\":\"\")}\" style=\"width:${Math.max(t.scrollWidth,this._contentWidth)}px;\"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}e.CurrentLineHighlightOverlay=p;class n extends b{_renderOne(t,i){return`<div class=\"${\"current-line\"+(this._shouldRenderInMargin()?\" current-line-margin\":\"\")+(this._shouldRenderOther()?\" current-line-margin-both\":\"\")+(this._shouldRenderInMargin()&&i?\" current-line-exact-margin\":\"\")}\" style=\"width:${this._contentLeft}px\"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}e.CurrentLineMarginHighlightOverlay=n,(0,E.registerThemingParticipant)((o,t)=>{const i=o.getColor(k.editorLineHighlight);if(i&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${i}; border: none; }`)),!i||i.isTransparent()||o.defines(k.editorLineHighlightBorder)){const s=o.getColor(k.editorLineHighlightBorder);s&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${s}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${s}; }`),(0,m.isHighContrast)(o.type)&&(t.addRule(\".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }\"),t.addRule(\".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }\")))}})}),define(ne[777],se([1,0,133,80,25,9,13,19,329,239,485]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IndentGuidesOverlay=void 0;class p extends d.DynamicViewOverlay{constructor(t){super(),this._context=t,this._primaryPosition=null;const i=this._context.configuration.options,s=i.get(147),g=i.get(50);this._spaceWidth=g.spaceWidth,this._maxIndentLeft=s.wrappingColumn===-1?-1:s.wrappingColumn*g.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=i.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options,s=i.get(147),g=i.get(50);return this._spaceWidth=g.spaceWidth,this._maxIndentLeft=s.wrappingColumn===-1?-1:s.wrappingColumn*g.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=i.get(16),!0}onCursorStateChanged(t){const s=t.selections[0].getPosition();return this._primaryPosition?.equals(s)?!1:(this._primaryPosition=s,!0)}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}onLanguageConfigurationChanged(t){return!0}prepareRender(t){if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}const i=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,g=t.scrollWidth,c=this._primaryPosition,l=this.getGuidesByLine(i,Math.min(s+1,this._context.viewModel.getLineCount()),c),a=[];for(let r=i;r<=s;r++){const u=r-i,C=l[u];let f=\"\";const h=t.visibleRangeForPosition(new E.Position(r,1))?.left??0;for(const v of C){const w=v.column===-1?h+(v.visibleColumn-1)*this._spaceWidth:t.visibleRangeForPosition(new E.Position(r,v.column)).left;if(w>g||this._maxIndentLeft>0&&w>this._maxIndentLeft)break;const S=v.horizontalLine?v.horizontalLine.top?\"horizontal-top\":\"horizontal-bottom\":\"vertical\",L=v.horizontalLine?(t.visibleRangeForPosition(new E.Position(r,v.horizontalLine.endColumn))?.left??w+this._spaceWidth)-w:this._spaceWidth;f+=`<div class=\"core-guide ${v.className} ${S}\" style=\"left:${w}px;width:${L}px\"></div>`}a[u]=f}this._renderResult=a}getGuidesByLine(t,i,s){const g=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(t,i,s,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?b.HorizontalGuidesState.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal===\"active\"?b.HorizontalGuidesState.EnabledForActive:b.HorizontalGuidesState.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,c=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(t,i):null;let l=0,a=0,r=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&s){const f=this._context.viewModel.getActiveIndentGuide(s.lineNumber,t,i);l=f.startLineNumber,a=f.endLineNumber,r=f.indent}const{indentSize:u}=this._context.viewModel.model.getOptions(),C=[];for(let f=t;f<=i;f++){const h=new Array;C.push(h);const v=g?g[f-t]:[],w=new y.ArrayQueue(v),S=c?c[f-t]:0;for(let L=1;L<=S;L++){const D=(L-1)*u+1,T=(this._bracketPairGuideOptions.highlightActiveIndentation===\"always\"||v.length===0)&&l<=f&&f<=a&&L===r;h.push(...w.takeWhile(A=>A.visibleColumn<D)||[]);const M=w.peek();(!M||M.visibleColumn!==D||M.horizontalLine)&&h.push(new b.IndentGuide(D,-1,`core-guide-indent lvl-${(L-1)%30}`+(T?\" indent-active\":\"\"),null,-1,-1))}h.push(...w.takeWhile(L=>!0)||[])}return C}render(t,i){if(!this._renderResult)return\"\";const s=i-t;return s<0||s>=this._renderResult.length?\"\":this._renderResult[s]}}e.IndentGuidesOverlay=p;function n(o){if(!(o&&o.isTransparent()))return o}(0,I.registerThemingParticipant)((o,t)=>{const i=[{bracketColor:k.editorBracketHighlightingForeground1,guideColor:k.editorBracketPairGuideBackground1,guideColorActive:k.editorBracketPairGuideActiveBackground1},{bracketColor:k.editorBracketHighlightingForeground2,guideColor:k.editorBracketPairGuideBackground2,guideColorActive:k.editorBracketPairGuideActiveBackground2},{bracketColor:k.editorBracketHighlightingForeground3,guideColor:k.editorBracketPairGuideBackground3,guideColorActive:k.editorBracketPairGuideActiveBackground3},{bracketColor:k.editorBracketHighlightingForeground4,guideColor:k.editorBracketPairGuideBackground4,guideColorActive:k.editorBracketPairGuideActiveBackground4},{bracketColor:k.editorBracketHighlightingForeground5,guideColor:k.editorBracketPairGuideBackground5,guideColorActive:k.editorBracketPairGuideActiveBackground5},{bracketColor:k.editorBracketHighlightingForeground6,guideColor:k.editorBracketPairGuideBackground6,guideColorActive:k.editorBracketPairGuideActiveBackground6}],s=new _.BracketPairGuidesClassNames,g=[{indentColor:k.editorIndentGuide1,indentColorActive:k.editorActiveIndentGuide1},{indentColor:k.editorIndentGuide2,indentColorActive:k.editorActiveIndentGuide2},{indentColor:k.editorIndentGuide3,indentColorActive:k.editorActiveIndentGuide3},{indentColor:k.editorIndentGuide4,indentColorActive:k.editorActiveIndentGuide4},{indentColor:k.editorIndentGuide5,indentColorActive:k.editorActiveIndentGuide5},{indentColor:k.editorIndentGuide6,indentColorActive:k.editorActiveIndentGuide6}],c=i.map(a=>{const r=o.getColor(a.bracketColor),u=o.getColor(a.guideColor),C=o.getColor(a.guideColorActive),f=n(n(u)??r?.transparent(.3)),h=n(n(C)??r);if(!(!f||!h))return{guideColor:f,guideColorActive:h}}).filter(m.isDefined),l=g.map(a=>{const r=o.getColor(a.indentColor),u=o.getColor(a.indentColorActive),C=n(r),f=n(u);if(!(!C||!f))return{indentColor:C,indentColorActive:f}}).filter(m.isDefined);if(c.length>0){for(let a=0;a<30;a++){const r=c[a%c.length];t.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(a).replace(/ /g,\".\")} { --guide-color: ${r.guideColor}; --guide-color-active: ${r.guideColorActive}; }`)}t.addRule(\".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }\"),t.addRule(\".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }\"),t.addRule(\".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }\"),t.addRule(`.monaco-editor .vertical.${s.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${s.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${s.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(l.length>0){for(let a=0;a<30;a++){const r=l[a%l.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${a} { --indent-color: ${r.indentColor}; --indent-color-active: ${r.indentColorActive}; }`)}t.addRule(\".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }\"),t.addRule(\".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }\")}})}),define(ne[416],se([1,0,16,133,9,4,25,80,486]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LineNumbersOverlay=void 0;class _ extends k.DynamicViewOverlay{static{this.CLASS_NAME=\"line-numbers\"}constructor(p){super(),this._context=p,this._readConfig(),this._lastCursorModelPosition=new I.Position(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const p=this._context.configuration.options;this._lineHeight=p.get(67);const n=p.get(68);this._renderLineNumbers=n.renderType,this._renderCustomLineNumbers=n.renderFn,this._renderFinalNewline=p.get(96);const o=p.get(146);this._lineNumbersLeft=o.lineNumbersLeft,this._lineNumbersWidth=o.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(p){return this._readConfig(),!0}onCursorStateChanged(p){const n=p.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(n);let o=!1;return this._activeLineNumber!==n.lineNumber&&(this._activeLineNumber=n.lineNumber,o=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(o=!0),o}onFlushed(p){return!0}onLinesChanged(p){return!0}onLinesDeleted(p){return!0}onLinesInserted(p){return!0}onScrollChanged(p){return p.scrollTopChanged}onZonesChanged(p){return!0}onDecorationsChanged(p){return p.affectsLineNumber}_getLineRenderLineNumber(p){const n=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new I.Position(p,1));if(n.column!==1)return\"\";const o=n.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(o);if(this._renderLineNumbers===2){const t=Math.abs(this._lastCursorModelPosition.lineNumber-o);return t===0?'<span class=\"relative-current-line-number\">'+o+\"</span>\":String(t)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===o||o%10===0)return String(o);const t=this._context.viewModel.getLineCount();return o===t?String(o):\"\"}return String(o)}prepareRender(p){if(this._renderLineNumbers===0){this._renderResult=null;return}const n=d.isLinux?this._lineHeight%2===0?\" lh-even\":\" lh-odd\":\"\",o=p.visibleRange.startLineNumber,t=p.visibleRange.endLineNumber,i=this._context.viewModel.getDecorationsInViewport(p.visibleRange).filter(l=>!!l.options.lineNumberClassName);i.sort((l,a)=>E.Range.compareRangesUsingEnds(l.range,a.range));let s=0;const g=this._context.viewModel.getLineCount(),c=[];for(let l=o;l<=t;l++){const a=l-o;let r=this._getLineRenderLineNumber(l),u=\"\";for(;s<i.length&&i[s].range.endLineNumber<l;)s++;for(let C=s;C<i.length;C++){const{range:f,options:h}=i[C];f.startLineNumber<=l&&(u+=\" \"+h.lineNumberClassName)}if(!r&&!u){c[a]=\"\";continue}l===g&&this._context.viewModel.getLineLength(l)===0&&(this._renderFinalNewline===\"off\"&&(r=\"\"),this._renderFinalNewline===\"dimmed\"&&(u+=\" dimmed-line-number\")),l===this._activeLineNumber&&(u+=\" active-line-number\"),c[a]=`<div class=\"${_.CLASS_NAME}${n}${u}\" style=\"left:${this._lineNumbersLeft}px;width:${this._lineNumbersWidth}px;\">${r}</div>`}this._renderResult=c}render(p,n){if(!this._renderResult)return\"\";const o=n-p;return o<0||o>=this._renderResult.length?\"\":this._renderResult[o]}}e.LineNumbersOverlay=_,(0,y.registerThemingParticipant)((b,p)=>{const n=b.getColor(m.editorLineNumbers),o=b.getColor(m.editorDimmedLineNumber);o?p.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${o}; }`):n&&p.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${n.transparent(.4)}; }`)})}),define(ne[778],se([1,0,3,64,39,16,11,74,212,310,56,416,331,37,166,9,4,23,226,27,33,300,31,7,479]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextAreaHandler=void 0;class h{constructor(D,T,M,A,P){this._context=D,this.modelLineNumber=T,this.distanceToModelLineStart=M,this.widthOfHiddenLineTextBefore=A,this.distanceToModelLineEnd=P,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(D){const T=new s.Position(this.modelLineNumber,this.distanceToModelLineStart+1),M=new s.Position(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(T),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(M),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=D.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=D.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(D){return this._previousPresentation||(D?this._previousPresentation=D:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const v=k.isFirefox;let w=class extends p.ViewPart{constructor(D,T,M,A,P){super(D),this._keybindingService=A,this._instantiationService=P,this._primaryCursorPosition=new s.Position(1,1),this._primaryCursorVisibleRange=null,this._viewController=T,this._visibleRangeProvider=M,this._scrollLeft=0,this._scrollTop=0;const N=this._context.configuration.options,O=N.get(146);this._setAccessibilityOptions(N),this._contentLeft=O.contentLeft,this._contentWidth=O.contentWidth,this._contentHeight=O.height,this._fontInfo=N.get(50),this._lineHeight=N.get(67),this._emptySelectionClipboard=N.get(37),this._copyWithSyntaxHighlighting=N.get(25),this._visibleTextArea=null,this._selections=[new c.Selection(1,1,1,1)],this._modelSelections=[new c.Selection(1,1,1,1)],this._lastRenderPosition=null,this.textArea=(0,I.createFastDomNode)(document.createElement(\"textarea\")),p.PartFingerprints.write(this.textArea,7),this.textArea.setClassName(`inputarea ${l.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this.textArea.setAttribute(\"wrap\",this._textAreaWrapping&&!this._visibleTextArea?\"on\":\"off\");const{tabSize:F}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${F*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute(\"autocorrect\",\"off\"),this.textArea.setAttribute(\"autocapitalize\",\"off\"),this.textArea.setAttribute(\"autocomplete\",\"off\"),this.textArea.setAttribute(\"spellcheck\",\"false\"),this.textArea.setAttribute(\"aria-label\",this._getAriaLabel(N)),this.textArea.setAttribute(\"aria-required\",N.get(5)?\"true\":\"false\"),this.textArea.setAttribute(\"tabindex\",String(N.get(125))),this.textArea.setAttribute(\"role\",\"textbox\"),this.textArea.setAttribute(\"aria-roledescription\",d.localize(54,\"editor\")),this.textArea.setAttribute(\"aria-multiline\",\"true\"),this.textArea.setAttribute(\"aria-autocomplete\",N.get(92)?\"none\":\"both\"),this._ensureReadOnlyAttribute(),this.textAreaCover=(0,I.createFastDomNode)(document.createElement(\"div\")),this.textAreaCover.setPosition(\"absolute\");const x={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:q=>this._context.viewModel.getLineMaxColumn(q),getValueInRange:(q,H)=>this._context.viewModel.getValueInRange(q,H),getValueLengthInRange:(q,H)=>this._context.viewModel.getValueLengthInRange(q,H),modifyPosition:(q,H)=>this._context.viewModel.modifyPosition(q,H)},W={getDataToCopy:()=>{const q=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,E.isWindows),H=this._context.viewModel.model.getEOL(),z=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),U=Array.isArray(q)?q:null,j=Array.isArray(q)?q.join(H):q;let Y,G=null;if(_.CopyOptions.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&j.length<65536){const K=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);K&&(Y=K.html,G=K.mode)}return{isFromEmptySelection:z,multicursorText:U,text:j,html:Y,mode:G}},getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const q=this._selections[0];if(E.isMacintosh&&q.isEmpty()){const z=q.getStartPosition();let U=this._getWordBeforePosition(z);if(U.length===0&&(U=this._getCharacterBeforePosition(z)),U.length>0)return new b.TextAreaState(U,U.length,U.length,g.Range.fromPositions(z),0)}if(E.isMacintosh&&!q.isEmpty()&&x.getValueLengthInRange(q,0)<500){const z=x.getValueInRange(q,0);return new b.TextAreaState(z,0,z.length,q,0)}if(k.isSafari&&!q.isEmpty()){const z=\"vscode-placeholder\";return new b.TextAreaState(z,0,z.length,null,void 0)}return b.TextAreaState.EMPTY}if(k.isAndroid){const q=this._selections[0];if(q.isEmpty()){const H=q.getStartPosition(),[z,U]=this._getAndroidWordAtPosition(H);if(z.length>0)return new b.TextAreaState(z,U,U,g.Range.fromPositions(H),0)}return b.TextAreaState.EMPTY}return b.PagedScreenReaderStrategy.fromEditorSelection(x,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(q,H,z)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(q,H,z)},V=this._register(new _.TextAreaWrapper(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(_.TextAreaInput,W,V,E.OS,{isAndroid:k.isAndroid,isChrome:k.isChrome,isFirefox:k.isFirefox,isSafari:k.isSafari})),this._register(this._textAreaInput.onKeyDown(q=>{this._viewController.emitKeyDown(q)})),this._register(this._textAreaInput.onKeyUp(q=>{this._viewController.emitKeyUp(q)})),this._register(this._textAreaInput.onPaste(q=>{let H=!1,z=null,U=null;q.metadata&&(H=this._emptySelectionClipboard&&!!q.metadata.isFromEmptySelection,z=typeof q.metadata.multicursorText<\"u\"?q.metadata.multicursorText:null,U=q.metadata.mode),this._viewController.paste(q.text,H,z,U)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(q=>{q.replacePrevCharCnt||q.replaceNextCharCnt||q.positionDelta?(b._debugComposition&&console.log(` => compositionType: <<${q.text}>>, ${q.replacePrevCharCnt}, ${q.replaceNextCharCnt}, ${q.positionDelta}`),this._viewController.compositionType(q.text,q.replacePrevCharCnt,q.replaceNextCharCnt,q.positionDelta)):(b._debugComposition&&console.log(` => type: <<${q.text}>>`),this._viewController.type(q.text))})),this._register(this._textAreaInput.onSelectionChangeRequest(q=>{this._viewController.setSelection(q)})),this._register(this._textAreaInput.onCompositionStart(q=>{const H=this.textArea.domNode,z=this._modelSelections[0],{distanceToModelLineStart:U,widthOfHiddenTextBefore:j}=(()=>{const G=H.value.substring(0,Math.min(H.selectionStart,H.selectionEnd)),K=G.lastIndexOf(`\n`),R=G.substring(K+1),J=R.lastIndexOf(\"\t\"),ie=R.length-J-1,ue=z.getStartPosition(),he=Math.min(ue.column-1,ie),pe=ue.column-1-he,ae=R.substring(0,R.length-he),{tabSize:ee}=this._context.viewModel.model.getOptions(),de=S(this.textArea.domNode.ownerDocument,ae,this._fontInfo,ee);return{distanceToModelLineStart:pe,widthOfHiddenTextBefore:de}})(),{distanceToModelLineEnd:Y}=(()=>{const G=H.value.substring(Math.max(H.selectionStart,H.selectionEnd)),K=G.indexOf(`\n`),R=K===-1?G:G.substring(0,K),J=R.indexOf(\"\t\"),ie=J===-1?R.length:R.length-J-1,ue=z.getEndPosition(),he=Math.min(this._context.viewModel.model.getLineMaxColumn(ue.lineNumber)-ue.column,ie);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(ue.lineNumber)-ue.column-he}})();this._context.viewModel.revealRange(\"keyboard\",!0,g.Range.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new h(this._context,z.startLineNumber,U,j,Y),this.textArea.setAttribute(\"wrap\",this._textAreaWrapping&&!this._visibleTextArea?\"on\":\"off\"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${l.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(q=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute(\"wrap\",this._textAreaWrapping&&!this._visibleTextArea?\"on\":\"off\"),this._render(),this.textArea.setClassName(`inputarea ${l.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(u.IME.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}writeScreenReaderContent(D){this._textAreaInput.writeNativeTextAreaContent(D)}dispose(){super.dispose()}_getAndroidWordAtPosition(D){const T='`~!@#$%^&*()-=+[{]}\\\\|;:\",.<>/?',M=this._context.viewModel.getLineContent(D.lineNumber),A=(0,i.getMapForWordSeparators)(T,[]);let P=!0,N=D.column,O=!0,F=D.column,x=0;for(;x<50&&(P||O);){if(P&&N<=1&&(P=!1),P){const W=M.charCodeAt(N-2);A.get(W)!==0?P=!1:N--}if(O&&F>M.length&&(O=!1),O){const W=M.charCodeAt(F-1);A.get(W)!==0?O=!1:F++}x++}return[M.substring(N-1,F-1),D.column-N]}_getWordBeforePosition(D){const T=this._context.viewModel.getLineContent(D.lineNumber),M=(0,i.getMapForWordSeparators)(this._context.configuration.options.get(132),[]);let A=D.column,P=0;for(;A>1;){const N=T.charCodeAt(A-2);if(M.get(N)!==0||P>50)return T.substring(A-1,D.column-1);P++,A--}return T.substring(0,D.column-1)}_getCharacterBeforePosition(D){if(D.column>1){const M=this._context.viewModel.getLineContent(D.lineNumber).charAt(D.column-2);if(!y.isHighSurrogate(M.charCodeAt(0)))return M}return\"\"}_getAriaLabel(D){if(D.get(2)===1){const M=this._keybindingService.lookupKeybinding(\"editor.action.toggleScreenReaderAccessibilityMode\")?.getAriaLabel(),A=this._keybindingService.lookupKeybinding(\"workbench.action.showCommands\")?.getAriaLabel(),P=this._keybindingService.lookupKeybinding(\"workbench.action.openGlobalKeybindings\")?.getAriaLabel(),N=d.localize(55,\"The editor is not accessible at this time.\");return M?d.localize(56,\"{0} To enable screen reader optimized mode, use {1}\",N,M):A?d.localize(57,\"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.\",N,A):P?d.localize(58,\"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.\",N,P):N}return D.get(4)}_setAccessibilityOptions(D){this._accessibilitySupport=D.get(2);const T=D.get(3);this._accessibilitySupport===2&&T===t.EditorOptions.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=T;const A=D.get(146).wrappingColumn;if(A!==-1&&this._accessibilitySupport!==1){const P=D.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(A*P.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=v?0:1}onConfigurationChanged(D){const T=this._context.configuration.options,M=T.get(146);this._setAccessibilityOptions(T),this._contentLeft=M.contentLeft,this._contentWidth=M.contentWidth,this._contentHeight=M.height,this._fontInfo=T.get(50),this._lineHeight=T.get(67),this._emptySelectionClipboard=T.get(37),this._copyWithSyntaxHighlighting=T.get(25),this.textArea.setAttribute(\"wrap\",this._textAreaWrapping&&!this._visibleTextArea?\"on\":\"off\");const{tabSize:A}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=`${A*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute(\"aria-label\",this._getAriaLabel(T)),this.textArea.setAttribute(\"aria-required\",T.get(5)?\"true\":\"false\"),this.textArea.setAttribute(\"tabindex\",String(T.get(125))),(D.hasChanged(34)||D.hasChanged(92))&&this._ensureReadOnlyAttribute(),D.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent(\"strategy changed\"),!0}onCursorStateChanged(D){return this._selections=D.selections.slice(0),this._modelSelections=D.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent(\"selection changed\"),!0}onDecorationsChanged(D){return!0}onFlushed(D){return!0}onLinesChanged(D){return!0}onLinesDeleted(D){return!0}onLinesInserted(D){return!0}onScrollChanged(D){return this._scrollLeft=D.scrollLeft,this._scrollTop=D.scrollTop,!0}onZonesChanged(D){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(D){D.activeDescendant?(this.textArea.setAttribute(\"aria-haspopup\",\"true\"),this.textArea.setAttribute(\"aria-autocomplete\",\"list\"),this.textArea.setAttribute(\"aria-activedescendant\",D.activeDescendant)):(this.textArea.setAttribute(\"aria-haspopup\",\"false\"),this.textArea.setAttribute(\"aria-autocomplete\",\"both\"),this.textArea.removeAttribute(\"aria-activedescendant\")),D.role&&this.textArea.setAttribute(\"role\",D.role)}_ensureReadOnlyAttribute(){const D=this._context.configuration.options;!u.IME.enabled||D.get(34)&&D.get(92)?this.textArea.setAttribute(\"readonly\",\"true\"):this.textArea.removeAttribute(\"readonly\")}prepareRender(D){this._primaryCursorPosition=new s.Position(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=D.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea?.prepareRender(D)}render(D){this._textAreaInput.writeNativeTextAreaContent(\"render\"),this._render()}_render(){if(this._visibleTextArea){const M=this._visibleTextArea.visibleTextareaStart,A=this._visibleTextArea.visibleTextareaEnd,P=this._visibleTextArea.startPosition,N=this._visibleTextArea.endPosition;if(P&&N&&M&&A&&A.left>=this._scrollLeft&&M.left<=this._scrollLeft+this._contentWidth){const O=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,F=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let x=this._visibleTextArea.widthOfHiddenLineTextBefore,W=this._contentLeft+M.left-this._scrollLeft,V=A.left-M.left+1;if(W<this._contentLeft){const Y=this._contentLeft-W;W+=Y,x+=Y,V-=Y}V>this._contentWidth&&(V=this._contentWidth);const q=this._context.viewModel.getViewLineData(P.lineNumber),H=q.tokens.findTokenIndexAtOffset(P.column-1),z=q.tokens.findTokenIndexAtOffset(N.column-1),U=H===z,j=this._visibleTextArea.definePresentation(U?q.tokens.getPresentation(H):null);this.textArea.domNode.scrollTop=F*this._lineHeight,this.textArea.domNode.scrollLeft=x,this._doRender({lastRenderPosition:null,top:O,left:W,width:V,height:this._lineHeight,useCover:!1,color:(a.TokenizationRegistry.getColorMap()||[])[j.foreground],italic:j.italic,bold:j.bold,underline:j.underline,strikethrough:j.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const D=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(D<this._contentLeft||D>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const T=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(T<0||T>this._contentHeight){this._renderAtTopLeft();return}if(E.isMacintosh||this._accessibilitySupport===2){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:T,left:this._textAreaWrapping?this._contentLeft:D,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const M=this._textAreaInput.textAreaState.newlineCountBeforeSelection??this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=M*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:T,left:this._textAreaWrapping?this._contentLeft:D,width:this._textAreaWidth,height:v?0:1,useCover:!1})}_newlinecount(D){let T=0,M=-1;do{if(M=D.indexOf(`\n`,M+1),M===-1)break;T++}while(!0);return T}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:v?0:1,useCover:!0})}_doRender(D){this._lastRenderPosition=D.lastRenderPosition;const T=this.textArea,M=this.textAreaCover;(0,m.applyFontInfo)(T,this._fontInfo),T.setTop(D.top),T.setLeft(D.left),T.setWidth(D.width),T.setHeight(D.height),T.setColor(D.color?r.Color.Format.CSS.formatHex(D.color):\"\"),T.setFontStyle(D.italic?\"italic\":\"\"),D.bold&&T.setFontWeight(\"bold\"),T.setTextDecoration(`${D.underline?\" underline\":\"\"}${D.strikethrough?\" line-through\":\"\"}`),M.setTop(D.useCover?D.top:0),M.setLeft(D.useCover?D.left:0),M.setWidth(D.useCover?D.width:0),M.setHeight(D.useCover?D.height:0);const A=this._context.configuration.options;A.get(57)?M.setClassName(\"monaco-editor-background textAreaCover \"+o.Margin.OUTER_CLASS_NAME):A.get(68).renderType!==0?M.setClassName(\"monaco-editor-background textAreaCover \"+n.LineNumbersOverlay.CLASS_NAME):M.setClassName(\"monaco-editor-background textAreaCover\")}};e.TextAreaHandler=w,e.TextAreaHandler=w=ke([ce(3,C.IKeybindingService),ce(4,f.IInstantiationService)],w);function S(L,D,T,M){if(D.length===0)return 0;const A=L.createElement(\"div\");A.style.position=\"absolute\",A.style.top=\"-50000px\",A.style.width=\"50000px\";const P=L.createElement(\"span\");(0,m.applyFontInfo)(P,T),P.style.whiteSpace=\"pre\",P.style.tabSize=`${M*T.spaceWidth}px`,P.append(D),A.appendChild(P),L.body.appendChild(A);const N=P.offsetWidth;return A.remove(),N}}),define(ne[779],se([1,0,39,33,56,9,27,80,95,13]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DecorationsOverviewRuler=void 0;class p{constructor(t,i){const s=t.options;this.lineHeight=s.get(67),this.pixelRatio=s.get(144),this.overviewRulerLanes=s.get(83),this.renderBorder=s.get(82);const g=i.getColor(m.editorOverviewRulerBorder);this.borderColor=g?g.toString():null,this.hideCursor=s.get(59);const c=i.getColor(m.editorCursorForeground);this.cursorColorSingle=c?c.transparent(.7).toString():null;const l=i.getColor(m.editorMultiCursorPrimaryForeground);this.cursorColorPrimary=l?l.transparent(.7).toString():null;const a=i.getColor(m.editorMultiCursorSecondaryForeground);this.cursorColorSecondary=a?a.transparent(.7).toString():null,this.themeType=i.type;const r=s.get(73),u=r.enabled,C=r.side,f=i.getColor(m.editorOverviewRulerBackground),h=y.TokenizationRegistry.getDefaultBackground();f?this.backgroundColor=f:u&&C===\"right\"?this.backgroundColor=h:this.backgroundColor=null;const w=s.get(146).overviewRuler;this.top=w.top,this.right=w.right,this.domWidth=w.width,this.domHeight=w.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);const[S,L]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=S,this.w=L}_initLanes(t,i,s){const g=i-t;if(s>=3){const c=Math.floor(g/3),l=Math.floor(g/3),a=g-c-l,r=t,u=r+c,C=r+c+a;return[[0,r,u,r,C,r,u,r],[0,c,a,c+a,l,c+a+l,a+l,c+a+l]]}else if(s===2){const c=Math.floor(g/2),l=g-c,a=t,r=a+c;return[[0,a,a,a,r,a,a,a],[0,c,c,c,l,c+l,c+l,c+l]]}else{const c=t,l=g;return[[0,c,c,c,c,c,c,c],[0,l,l,l,l,l,l,l]]}}equals(t){return this.lineHeight===t.lineHeight&&this.pixelRatio===t.pixelRatio&&this.overviewRulerLanes===t.overviewRulerLanes&&this.renderBorder===t.renderBorder&&this.borderColor===t.borderColor&&this.hideCursor===t.hideCursor&&this.cursorColorSingle===t.cursorColorSingle&&this.cursorColorPrimary===t.cursorColorPrimary&&this.cursorColorSecondary===t.cursorColorSecondary&&this.themeType===t.themeType&&k.Color.equals(this.backgroundColor,t.backgroundColor)&&this.top===t.top&&this.right===t.right&&this.domWidth===t.domWidth&&this.domHeight===t.domHeight&&this.canvasWidth===t.canvasWidth&&this.canvasHeight===t.canvasHeight}}class n extends I.ViewPart{constructor(t){super(t),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=(0,d.createFastDomNode)(document.createElement(\"canvas\")),this._domNode.setClassName(\"decorationsOverviewRuler\"),this._domNode.setPosition(\"absolute\"),this._domNode.setLayerHinting(!0),this._domNode.setContain(\"strict\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._updateSettings(!1),this._tokensColorTrackerListener=y.TokenizationRegistry.onDidChange(i=>{i.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new E.Position(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(t){const i=new p(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(i)?!1:(this._settings=i,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,t&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(t){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(t){this._cursorPositions=[];for(let i=0,s=t.selections.length;i<s;i++){let g=this._settings.cursorColorSingle;s>1&&(g=i===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:t.selections[i].getPosition(),color:g})}return this._cursorPositions.sort((i,s)=>E.Position.compare(i.position,s.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(t){return t.affectsOverviewRuler?this._markRenderingIsMaybeNeeded():!1}onFlushed(t){return this._markRenderingIsNeeded()}onScrollChanged(t){return t.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(t){return this._markRenderingIsNeeded()}onThemeChanged(t){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(t){}render(t){this._render(),this._actualShouldRender=0}_render(){const t=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(t?k.Color.Format.CSS.formatHexA(t):\"\"),this._domNode.setDisplay(\"none\");return}const i=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(i.sort(_.OverviewRulerDecorationsGroup.compareByRenderingProps),this._actualShouldRender===1&&!_.OverviewRulerDecorationsGroup.equalsArr(this._renderedDecorations,i)&&(this._actualShouldRender=2),this._actualShouldRender===1&&!(0,b.equals)(this._renderedCursorPositions,this._cursorPositions,(w,S)=>w.position.lineNumber===S.position.lineNumber&&w.color===S.color)&&(this._actualShouldRender=2),this._actualShouldRender===1)return;this._renderedDecorations=i,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay(\"block\");const s=this._settings.canvasWidth,g=this._settings.canvasHeight,c=this._settings.lineHeight,l=this._context.viewLayout,a=this._context.viewLayout.getScrollHeight(),r=g/a,u=6*this._settings.pixelRatio|0,C=u/2|0,f=this._domNode.domNode.getContext(\"2d\");t?t.isOpaque()?(f.fillStyle=k.Color.Format.CSS.formatHexA(t),f.fillRect(0,0,s,g)):(f.clearRect(0,0,s,g),f.fillStyle=k.Color.Format.CSS.formatHexA(t),f.fillRect(0,0,s,g)):f.clearRect(0,0,s,g);const h=this._settings.x,v=this._settings.w;for(const w of i){const S=w.color,L=w.data;f.fillStyle=S;let D=0,T=0,M=0;for(let A=0,P=L.length/3;A<P;A++){const N=L[3*A],O=L[3*A+1],F=L[3*A+2];let x=l.getVerticalOffsetForLineNumber(O)*r|0,W=(l.getVerticalOffsetForLineNumber(F)+c)*r|0;if(W-x<u){let q=(x+W)/2|0;q<C?q=C:q+C>g&&(q=g-C),x=q-C,W=q+C}x>M+1||N!==D?(A!==0&&f.fillRect(h[D],T,v[D],M-T),D=N,T=x,M=W):W>M&&(M=W)}f.fillRect(h[D],T,v[D],M-T)}if(!this._settings.hideCursor){const w=2*this._settings.pixelRatio|0,S=w/2|0,L=this._settings.x[7],D=this._settings.w[7];let T=-100,M=-100,A=null;for(let P=0,N=this._cursorPositions.length;P<N;P++){const O=this._cursorPositions[P].color;if(!O)continue;const F=this._cursorPositions[P].position;let x=l.getVerticalOffsetForLineNumber(F.lineNumber)*r|0;x<S?x=S:x+S>g&&(x=g-S);const W=x-S,V=W+w;W>M+1||O!==A?(P!==0&&A&&f.fillRect(L,T,D,M-T),T=W,M=V):V>M&&(M=V),A=O,f.fillStyle=O}A&&f.fillRect(L,T,D,M-T)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(f.beginPath(),f.lineWidth=1,f.strokeStyle=this._settings.borderColor,f.moveTo(0,0),f.lineTo(0,g),f.moveTo(1,0),f.lineTo(s,0),f.stroke())}}e.DecorationsOverviewRuler=n}),define(ne[780],se([1,0,39,14,56,655,37,80,25,97,5,496]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewCursors=void 0;class n extends I.ViewPart{static{this.BLINK_INTERVAL=500}constructor(t){super(t);const i=this._context.configuration.options;this._readOnly=i.get(92),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new E.ViewCursor(this._context,E.CursorPlurality.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=(0,d.createFastDomNode)(document.createElement(\"div\")),this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new k.TimeoutTimer,this._cursorFlatBlinkInterval=new p.WindowIntervalTimer,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(t){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(t){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(t){const i=this._context.configuration.options;this._readOnly=i.get(92),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(t);for(let s=0,g=this._secondaryCursors.length;s<g;s++)this._secondaryCursors[s].onConfigurationChanged(t);return!0}_onCursorPositionChanged(t,i,s){const g=this._secondaryCursors.length!==i.length||this._cursorSmoothCaretAnimation===\"explicit\"&&s!==3;if(this._primaryCursor.setPlurality(i.length?E.CursorPlurality.MultiPrimary:E.CursorPlurality.Single),this._primaryCursor.onCursorPositionChanged(t,g),this._updateBlinking(),this._secondaryCursors.length<i.length){const c=i.length-this._secondaryCursors.length;for(let l=0;l<c;l++){const a=new E.ViewCursor(this._context,E.CursorPlurality.MultiSecondary);this._domNode.domNode.insertBefore(a.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(a)}}else if(this._secondaryCursors.length>i.length){const c=this._secondaryCursors.length-i.length;for(let l=0;l<c;l++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let c=0;c<i.length;c++)this._secondaryCursors[c].onCursorPositionChanged(i[c],g)}onCursorStateChanged(t){const i=[];for(let g=0,c=t.selections.length;g<c;g++)i[g]=t.selections[g].getPosition();this._onCursorPositionChanged(i[0],i.slice(1),t.reason);const s=t.selections[0].isEmpty();return this._selectionIsEmpty!==s&&(this._selectionIsEmpty=s,this._updateDomClassName()),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onFocusChanged(t){return this._editorHasFocus=t.isFocused,this._updateBlinking(),!1}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return!0}onTokensChanged(t){const i=s=>{for(let g=0,c=t.ranges.length;g<c;g++)if(t.ranges[g].fromLineNumber<=s.lineNumber&&s.lineNumber<=t.ranges[g].toLineNumber)return!0;return!1};if(i(this._primaryCursor.getPosition()))return!0;for(const s of this._secondaryCursors)if(i(s.getPosition()))return!0;return!1}onZonesChanged(t){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();const t=this._getCursorBlinking(),i=t===0,s=t===5;i?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),!i&&!s&&(t===1?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()},n.BLINK_INTERVAL,(0,p.getWindow)(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},n.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let t=\"cursors-layer\";switch(this._selectionIsEmpty||(t+=\" has-selection\"),this._cursorStyle){case y.TextEditorCursorStyle.Line:t+=\" cursor-line-style\";break;case y.TextEditorCursorStyle.Block:t+=\" cursor-block-style\";break;case y.TextEditorCursorStyle.Underline:t+=\" cursor-underline-style\";break;case y.TextEditorCursorStyle.LineThin:t+=\" cursor-line-thin-style\";break;case y.TextEditorCursorStyle.BlockOutline:t+=\" cursor-block-outline-style\";break;case y.TextEditorCursorStyle.UnderlineThin:t+=\" cursor-underline-thin-style\";break;default:t+=\" cursor-line-style\"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:t+=\" cursor-blink\";break;case 2:t+=\" cursor-smooth\";break;case 3:t+=\" cursor-phase\";break;case 4:t+=\" cursor-expand\";break;case 5:t+=\" cursor-solid\";break;default:t+=\" cursor-solid\"}else t+=\" cursor-solid\";return(this._cursorSmoothCaretAnimation===\"on\"||this._cursorSmoothCaretAnimation===\"explicit\")&&(t+=\" cursor-smooth-caret-animation\"),t}_show(){this._primaryCursor.show();for(let t=0,i=this._secondaryCursors.length;t<i;t++)this._secondaryCursors[t].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let t=0,i=this._secondaryCursors.length;t<i;t++)this._secondaryCursors[t].hide();this._isVisible=!1}prepareRender(t){this._primaryCursor.prepareRender(t);for(let i=0,s=this._secondaryCursors.length;i<s;i++)this._secondaryCursors[i].prepareRender(t)}render(t){const i=[];let s=0;const g=this._primaryCursor.render(t);g&&(i[s++]=g);for(let c=0,l=this._secondaryCursors.length;c<l;c++){const a=this._secondaryCursors[c].render(t);a&&(i[s++]=a)}this._renderData=i}getLastRenderData(){return this._renderData}}e.ViewCursors=n,(0,_.registerThemingParticipant)((o,t)=>{const i=[{class:\".cursor\",foreground:m.editorCursorForeground,background:m.editorCursorBackground},{class:\".cursor-primary\",foreground:m.editorMultiCursorPrimaryForeground,background:m.editorMultiCursorPrimaryBackground},{class:\".cursor-secondary\",foreground:m.editorMultiCursorSecondaryForeground,background:m.editorMultiCursorSecondaryBackground}];for(const s of i){const g=o.getColor(s.foreground);if(g){let c=o.getColor(s.background);c||(c=g.opposite()),t.addRule(`.monaco-editor .cursors-layer ${s.class} { background-color: ${g}; border-color: ${g}; color: ${c}; }`),(0,b.isHighContrast)(o.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${s.class} { border-left: 1px solid ${c}; border-right: 1px solid ${c}; }`)}}})}),define(ne[781],se([1,0,133,11,136,9,80,497]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WhitespaceOverlay=void 0;class m extends d.DynamicViewOverlay{constructor(p){super(),this._context=p,this._options=new _(this._context.configuration),this._selection=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(p){const n=new _(this._context.configuration);return this._options.equals(n)?p.hasChanged(146):(this._options=n,!0)}onCursorStateChanged(p){return this._selection=p.selections,this._options.renderWhitespace===\"selection\"}onDecorationsChanged(p){return!0}onFlushed(p){return!0}onLinesChanged(p){return!0}onLinesDeleted(p){return!0}onLinesInserted(p){return!0}onScrollChanged(p){return p.scrollTopChanged}onZonesChanged(p){return!0}prepareRender(p){if(this._options.renderWhitespace===\"none\"){this._renderResult=null;return}const n=p.visibleRange.startLineNumber,t=p.visibleRange.endLineNumber-n+1,i=new Array(t);for(let g=0;g<t;g++)i[g]=!0;const s=this._context.viewModel.getMinimapLinesRenderingData(p.viewportData.startLineNumber,p.viewportData.endLineNumber,i);this._renderResult=[];for(let g=p.viewportData.startLineNumber;g<=p.viewportData.endLineNumber;g++){const c=g-p.viewportData.startLineNumber,l=s.data[c];let a=null;if(this._options.renderWhitespace===\"selection\"){const r=this._selection;for(const u of r){if(u.endLineNumber<g||u.startLineNumber>g)continue;const C=u.startLineNumber===g?u.startColumn:l.minColumn,f=u.endLineNumber===g?u.endColumn:l.maxColumn;C<f&&(a||(a=[]),a.push(new I.LineRange(C-1,f-1)))}}this._renderResult[c]=this._applyRenderWhitespace(p,g,a,l)}}_applyRenderWhitespace(p,n,o,t){if(this._options.renderWhitespace===\"selection\"&&!o||this._options.renderWhitespace===\"trailing\"&&t.continuesWithWrappedLine)return\"\";const i=this._context.theme.getColor(y.editorWhitespaces),s=this._options.renderWithSVG,g=t.content,c=this._options.stopRenderingLineAfter===-1?g.length:Math.min(this._options.stopRenderingLineAfter,g.length),l=t.continuesWithWrappedLine,a=t.minColumn-1,r=this._options.renderWhitespace===\"boundary\",u=this._options.renderWhitespace===\"trailing\",C=this._options.lineHeight,f=this._options.middotWidth,h=this._options.wsmiddotWidth,v=this._options.spaceWidth,w=Math.abs(h-v),S=Math.abs(f-v),L=w<S?11825:183,D=this._options.canUseHalfwidthRightwardsArrow;let T=\"\",M=!1,A=k.firstNonWhitespaceIndex(g),P;A===-1?(M=!0,A=c,P=c):P=k.lastNonWhitespaceIndex(g);let N=0,O=o&&o[N],F=0;for(let x=a;x<c;x++){const W=g.charCodeAt(x);if(O&&x>=O.endOffset&&(N++,O=o&&o[N]),W!==9&&W!==32||u&&!M&&x<=P)continue;if(r&&x>=A&&x<=P&&W===32){const q=x-1>=0?g.charCodeAt(x-1):0,H=x+1<c?g.charCodeAt(x+1):0;if(q!==32&&H!==32)continue}if(r&&l&&x===c-1){const q=x-1>=0?g.charCodeAt(x-1):0;if(W===32&&q!==32&&q!==9)continue}if(o&&(!O||O.startOffset>x||O.endOffset<=x))continue;const V=p.visibleRangeForPosition(new E.Position(n,x+1));V&&(s?(F=Math.max(F,V.left),W===9?T+=this._renderArrow(C,v,V.left):T+=`<circle cx=\"${(V.left+v/2).toFixed(2)}\" cy=\"${(C/2).toFixed(2)}\" r=\"${(v/7).toFixed(2)}\" />`):W===9?T+=`<div class=\"mwh\" style=\"left:${V.left}px;height:${C}px;\">${D?\"\\uFFEB\":\"\\u2192\"}</div>`:T+=`<div class=\"mwh\" style=\"left:${V.left}px;height:${C}px;\">${String.fromCharCode(L)}</div>`)}return s?(F=Math.round(F+v),`<svg style=\"bottom:0;position:absolute;width:${F}px;height:${C}px\" viewBox=\"0 0 ${F} ${C}\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"${i}\">`+T+\"</svg>\"):T}_renderArrow(p,n,o){const t=n/7,i=n,s=p/2,g=o,c={x:0,y:t/2},l={x:100/125*i,y:c.y},a={x:l.x-.2*l.x,y:l.y+.2*l.x},r={x:a.x+.1*l.x,y:a.y+.1*l.x},u={x:r.x+.35*l.x,y:r.y-.35*l.x},C={x:u.x,y:-u.y},f={x:r.x,y:-r.y},h={x:a.x,y:-a.y},v={x:l.x,y:-l.y},w={x:c.x,y:-c.y};return`<path d=\"M ${[c,l,a,r,u,C,f,h,v,w].map(D=>`${(g+D.x).toFixed(2)} ${(s+D.y).toFixed(2)}`).join(\" L \")}\" />`}render(p,n){if(!this._renderResult)return\"\";const o=n-p;return o<0||o>=this._renderResult.length?\"\":this._renderResult[o]}}e.WhitespaceOverlay=m;class _{constructor(p){const n=p.options,o=n.get(50),t=n.get(38);t===\"off\"?(this.renderWhitespace=\"none\",this.renderWithSVG=!1):t===\"svg\"?(this.renderWhitespace=n.get(100),this.renderWithSVG=!0):(this.renderWhitespace=n.get(100),this.renderWithSVG=!1),this.spaceWidth=o.spaceWidth,this.middotWidth=o.middotWidth,this.wsmiddotWidth=o.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=o.canUseHalfwidthRightwardsArrow,this.lineHeight=n.get(67),this.stopRenderingLineAfter=n.get(118)}equals(p){return this.renderWhitespace===p.renderWhitespace&&this.renderWithSVG===p.renderWithSVG&&this.spaceWidth===p.spaceWidth&&this.middotWidth===p.middotWidth&&this.wsmiddotWidth===p.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===p.canUseHalfwidthRightwardsArrow&&this.lineHeight===p.lineHeight&&this.stopRenderingLineAfter===p.stopRenderingLineAfter}}}),define(ne[782],se([1,0,5,39,296,8,414,769,778,164,726,657,56,309,591,649,776,592,773,242,777,416,770,593,331,594,755,650,779,604,595,596,774,780,597,781,9,4,23,40,170,600,605,7,25]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x,W,V,q,H,z,U,j){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.View=void 0;let Y=class extends q.ViewEventHandler{constructor(J,ie,ue,he,pe,ae,ee){super(),this._instantiationService=ee,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new W.Selection(1,1,1,1)],this._renderAnimationFrame=null;const de=new p.ViewController(ie,he,pe,J);this._context=new z.ViewContext(ie,ue,he),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(_.TextAreaHandler,this._context,de,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=(0,k.createFastDomNode)(document.createElement(\"div\")),this._linesContent.setClassName(\"lines-content monaco-editor-background\"),this._linesContent.setPosition(\"absolute\"),this.domNode=(0,k.createFastDomNode)(document.createElement(\"div\")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute(\"role\",\"code\"),this._overflowGuardContainer=(0,k.createFastDomNode)(document.createElement(\"div\")),o.PartFingerprints.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName(\"overflow-guard\"),this._scrollbar=new l.EditorScrollbar(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new C.ViewLines(this._context,this._linesContent),this._viewZones=new N.ViewZones(this._context),this._viewParts.push(this._viewZones);const ge=new L.DecorationsOverviewRuler(this._context);this._viewParts.push(ge);const X=new M.ScrollDecorationViewPart(this._context);this._viewParts.push(X);const B=new n.ContentViewOverlays(this._context);this._viewParts.push(B),B.addDynamicOverlay(new g.CurrentLineHighlightOverlay(this._context)),B.addDynamicOverlay(new A.SelectionsOverlay(this._context)),B.addDynamicOverlay(new r.IndentGuidesOverlay(this._context)),B.addDynamicOverlay(new c.DecorationsOverlay(this._context)),B.addDynamicOverlay(new O.WhitespaceOverlay(this._context));const $=new n.MarginViewOverlays(this._context);this._viewParts.push($),$.addDynamicOverlay(new g.CurrentLineMarginHighlightOverlay(this._context)),$.addDynamicOverlay(new v.MarginViewLineDecorationsOverlay(this._context)),$.addDynamicOverlay(new f.LinesDecorationsOverlay(this._context)),$.addDynamicOverlay(new u.LineNumbersOverlay(this._context)),this._glyphMarginWidgets=new a.GlyphMarginWidgets(this._context),this._viewParts.push(this._glyphMarginWidgets);const Q=new h.Margin(this._context);Q.getDomNode().appendChild(this._viewZones.marginDomNode),Q.getDomNode().appendChild($.getDomNode()),Q.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(Q),this._contentWidgets=new s.ViewContentWidgets(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new P.ViewCursors(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new S.ViewOverlayWidgets(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const Z=new T.Rulers(this._context);this._viewParts.push(Z);const te=new i.BlockDecorations(this._context);this._viewParts.push(te);const re=new w.Minimap(this._context);if(this._viewParts.push(re),ge){const le=this._scrollbar.getOverviewRulerLayoutInfo();le.parent.insertBefore(ge.getDomNode(),le.insertBefore)}this._linesContent.appendChild(B.getDomNode()),this._linesContent.appendChild(Z.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(Q.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(X.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(re.getDomNode()),this._overflowGuardContainer.appendChild(te.domNode),this.domNode.appendChild(this._overflowGuardContainer),ae?(ae.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),ae.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new m.PointerHandler(this._context,de,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const J=this._context.viewModel.model,ie=this._context.viewModel.glyphLanes;let ue=[],he=0;ue=ue.concat(J.getAllMarginDecorations().map(pe=>{const ae=pe.options.glyphMargin?.position??V.GlyphMarginLane.Center;return he=Math.max(he,pe.range.endLineNumber),{range:pe.range,lane:ae,persist:pe.options.glyphMargin?.persistLane}})),ue=ue.concat(this._glyphMarginWidgets.getWidgets().map(pe=>{const ae=J.validateRange(pe.preference.range);return he=Math.max(he,ae.endLineNumber),{range:ae,lane:pe.preference.lane}})),ue.sort((pe,ae)=>x.Range.compareRangesUsingStarts(pe.range,ae.range)),ie.reset(he);for(const pe of ue)ie.push(pe.lane,pe.range,pe.persist);return ie}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:J=>{this._textAreaHandler.textArea.domNode.dispatchEvent(J)},getLastRenderData:()=>{const J=this._viewCursors.getLastRenderData()||[],ie=this._textAreaHandler.getLastRenderData();return new y.PointerHandlerLastRenderData(J,ie)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:J=>this._viewZones.shouldSuppressMouseDownOnViewZone(J),shouldSuppressMouseDownOnWidget:J=>this._contentWidgets.shouldSuppressMouseDownOnWidget(J),getPositionFromDOMInfo:(J,ie)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(J,ie)),visibleRangeForPosition:(J,ie)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new F.Position(J,ie))),getLineWidth:J=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(J))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:J=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(J))}}_applyLayout(){const ie=this._context.configuration.options.get(146);this.domNode.setWidth(ie.width),this.domNode.setHeight(ie.height),this._overflowGuardContainer.setWidth(ie.width),this._overflowGuardContainer.setHeight(ie.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const J=this._textAreaHandler.isFocused()?\" focused\":\"\";return this._context.configuration.options.get(143)+\" \"+(0,j.getThemeTypeSelector)(this._context.theme.type)+J}handleEvents(J){super.handleEvents(J),this._scheduleRender()}onConfigurationChanged(J){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(J){return this._selections=J.selections,!1}onDecorationsChanged(J){return J.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(J){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(J){return this._context.theme.update(J.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const J of this._viewParts)J.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new E.BugIndicatingError;if(this._renderAnimationFrame===null){const J=this._createCoordinatedRendering();this._renderAnimationFrame=K.INSTANCE.scheduleCoordinatedRendering({window:d.getWindow(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new E.BugIndicatingError;try{return J.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new E.BugIndicatingError;return J.renderText()},prepareRender:(ie,ue)=>{if(this._store.isDisposed)throw new E.BugIndicatingError;return J.prepareRender(ie,ue)},render:(ie,ue)=>{if(this._store.isDisposed)throw new E.BugIndicatingError;return J.render(ie,ue)}})}}_flushAccumulatedAndRenderNow(){const J=this._createCoordinatedRendering();G(()=>J.prepareRenderText());const ie=G(()=>J.renderText());if(ie){const[ue,he]=ie;G(()=>J.prepareRender(ue,he)),G(()=>J.render(ue,he))}}_getViewPartsToRender(){const J=[];let ie=0;for(const ue of this._viewParts)ue.shouldRender()&&(J[ie++]=ue);return J}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const J=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(J.requiredLanes)}I.inputLatency.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let J=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&J.length===0)return null;const ie=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(ie.startLineNumber,ie.endLineNumber,ie.centeredLineNumber);const ue=new H.ViewportData(this._selections,ie,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(ue),this._viewLines.shouldRender()&&(this._viewLines.renderText(ue),this._viewLines.onDidRender(),J=this._getViewPartsToRender()),[J,new b.RenderingContext(this._context.viewLayout,ue,this._viewLines)]},prepareRender:(J,ie)=>{for(const ue of J)ue.prepareRender(ie)},render:(J,ie)=>{for(const ue of J)ue.render(ie),ue.onDidRender()}}}delegateVerticalScrollbarPointerDown(J){this._scrollbar.delegateVerticalScrollbarPointerDown(J)}delegateScrollFromMouseWheelEvent(J){this._scrollbar.delegateScrollFromMouseWheelEvent(J)}restoreState(J){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:J.scrollTop,scrollLeft:J.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(J,ie){const ue=this._context.viewModel.model.validatePosition({lineNumber:J,column:ie}),he=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(ue);this._flushAccumulatedAndRenderNow();const pe=this._viewLines.visibleRangeForPosition(new F.Position(he.lineNumber,he.column));return pe?pe.left:-1}getTargetAtClientPoint(J,ie){const ue=this._pointerHandler.getTargetAtClientPoint(J,ie);return ue?t.ViewUserInputEvents.convertViewToModelMouseTarget(ue,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(J){return new D.OverviewRuler(this._context,J)}change(J){this._viewZones.changeViewZones(J),this._scheduleRender()}render(J,ie){if(ie){this._viewLines.forceShouldRender();for(const ue of this._viewParts)ue.forceShouldRender()}J?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(J){this._textAreaHandler.writeScreenReaderContent(J)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(J){this._textAreaHandler.setAriaOptions(J)}addContentWidget(J){this._contentWidgets.addWidget(J.widget),this.layoutContentWidget(J),this._scheduleRender()}layoutContentWidget(J){this._contentWidgets.setWidgetPosition(J.widget,J.position?.position??null,J.position?.secondaryPosition??null,J.position?.preference??null,J.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(J){this._contentWidgets.removeWidget(J.widget),this._scheduleRender()}addOverlayWidget(J){this._overlayWidgets.addWidget(J.widget),this.layoutOverlayWidget(J),this._scheduleRender()}layoutOverlayWidget(J){this._overlayWidgets.setWidgetPosition(J.widget,J.position)&&this._scheduleRender()}removeOverlayWidget(J){this._overlayWidgets.removeWidget(J.widget),this._scheduleRender()}addGlyphMarginWidget(J){this._glyphMarginWidgets.addWidget(J.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(J){const ie=J.position;this._glyphMarginWidgets.setWidgetPosition(J.widget,ie)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(J){this._glyphMarginWidgets.removeWidget(J.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};e.View=Y,e.View=Y=ke([ce(6,U.IInstantiationService)],Y);function G(R){try{return R()}catch(J){return(0,E.onUnexpectedError)(J),null}}class K{static{this.INSTANCE=new K}constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(J){return this._coordinatedRenderings.push(J),this._scheduleRender(J.window),{dispose:()=>{const ie=this._coordinatedRenderings.indexOf(J);if(ie!==-1&&(this._coordinatedRenderings.splice(ie,1),this._coordinatedRenderings.length===0)){for(const[ue,he]of this._animationFrameRunners)he.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(J){if(!this._animationFrameRunners.has(J)){const ie=()=>{this._animationFrameRunners.delete(J),this._onRenderScheduled()};this._animationFrameRunners.set(J,d.runAtThisOrScheduleAtNextAnimationFrame(J,ie,100))}}_onRenderScheduled(){const J=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const ue of J)G(()=>ue.prepareRenderText());const ie=[];for(let ue=0,he=J.length;ue<he;ue++){const pe=J[ue];ie[ue]=G(()=>pe.renderText())}for(let ue=0,he=J.length;ue<he;ue++){const pe=J[ue],ae=ie[ue];if(!ae)continue;const[ee,de]=ae;G(()=>pe.prepareRender(ee,de))}for(let ue=0,he=J.length;ue<he;ue++){const pe=J[ue],ae=ie[ue];if(!ae)continue;const[ee,de]=ae;G(()=>pe.render(ee,de))}}}}),define(ne[783],se([1,0,6,2,4,80,25]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ColorizedBracketPairsDecorationProvider=void 0;class m extends k.Disposable{constructor(p){super(),this.textModel=p,this.colorProvider=new _,this.onDidChangeEmitter=new d.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=p.getOptions().bracketPairColorizationOptions,this._register(p.bracketPairs.onDidChange(n=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(p){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(p,n,o,t){return t?[]:n===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(p,!0).map(s=>({id:`bracket${s.range.toString()}-${s.nestingLevel}`,options:{description:\"BracketPairColorization\",inlineClassName:this.colorProvider.getInlineClassName(s,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:s.range})).toArray():[]}getAllDecorations(p,n){return p===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new I.Range(1,1,this.textModel.getLineCount(),1),p,n):[]}}e.ColorizedBracketPairsDecorationProvider=m;class _{constructor(){this.unexpectedClosingBracketClassName=\"unexpected-closing-bracket\"}getInlineClassName(p,n){return p.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(n?p.nestingLevelOfEqualBracketType:p.nestingLevel)}getInlineClassNameOfLevel(p){return`bracket-highlighting-${p%30}`}}(0,y.registerThemingParticipant)((b,p)=>{const n=[E.editorBracketHighlightingForeground1,E.editorBracketHighlightingForeground2,E.editorBracketHighlightingForeground3,E.editorBracketHighlightingForeground4,E.editorBracketHighlightingForeground5,E.editorBracketHighlightingForeground6],o=new _;p.addRule(`.monaco-editor .${o.unexpectedClosingBracketClassName} { color: ${b.getColor(E.editorBracketHighlightingUnexpectedBracketForeground)}; }`);const t=n.map(i=>b.getColor(i)).filter(i=>!!i).filter(i=>!i.isTransparent());for(let i=0;i<30;i++){const s=t[i%t.length];p.addRule(`.monaco-editor .${o.getInlineClassNameOfLevel(i)} { color: ${s}; }`)}})}),define(ne[784],se([1,0,108,2,40,25,80,51,4,42,6,32,45,298]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarkerDecorationsService=void 0;let i=class extends k.Disposable{constructor(c,l){super(),this._markerService=l,this._onDidChangeMarker=this._register(new p.Emitter),this._markerDecorations=new o.ResourceMap,c.getModels().forEach(a=>this._onModelAdded(a)),this._register(c.onModelAdded(this._onModelAdded,this)),this._register(c.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(c=>c.dispose()),this._markerDecorations.clear()}getMarker(c,l){const a=this._markerDecorations.get(c);return a&&a.getMarker(l)||null}_handleMarkerChange(c){c.forEach(l=>{const a=this._markerDecorations.get(l);a&&this._updateDecorations(a)})}_onModelAdded(c){const l=new s(c);this._markerDecorations.set(c.uri,l),this._updateDecorations(l)}_onModelRemoved(c){const l=this._markerDecorations.get(c.uri);l&&(l.dispose(),this._markerDecorations.delete(c.uri)),(c.uri.scheme===b.Schemas.inMemory||c.uri.scheme===b.Schemas.internal||c.uri.scheme===b.Schemas.vscode)&&this._markerService?.read({resource:c.uri}).map(a=>a.owner).forEach(a=>this._markerService.remove(a,[c.uri]))}_updateDecorations(c){const l=this._markerService.read({resource:c.model.uri,take:500});c.update(l)&&this._onDidChangeMarker.fire(c.model)}};e.MarkerDecorationsService=i,e.MarkerDecorationsService=i=ke([ce(0,m.IModelService),ce(1,d.IMarkerService)],i);class s extends k.Disposable{constructor(c){super(),this.model=c,this._map=new o.BidirectionalMap,this._register((0,k.toDisposable)(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(c){const{added:l,removed:a}=(0,t.diffSets)(new Set(this._map.keys()),new Set(c));if(l.length===0&&a.length===0)return!1;const r=a.map(f=>this._map.get(f)),u=l.map(f=>({range:this._createDecorationRange(this.model,f),options:this._createDecorationOption(f)})),C=this.model.deltaDecorations(r,u);for(const f of a)this._map.delete(f);for(let f=0;f<C.length;f++)this._map.set(l[f],C[f]);return!0}getMarker(c){return this._map.getKey(c.id)}_createDecorationRange(c,l){let a=_.Range.lift(l);if(l.severity===d.MarkerSeverity.Hint&&!this._hasMarkerTag(l,1)&&!this._hasMarkerTag(l,2)&&(a=a.setEndPosition(a.startLineNumber,a.startColumn+2)),a=c.validateRange(a),a.isEmpty()){const r=c.getLineLastNonWhitespaceColumn(a.startLineNumber)||c.getLineMaxColumn(a.startLineNumber);if(r===1||a.endColumn>=r)return a;const u=c.getWordAtPosition(a.getStartPosition());u&&(a=new _.Range(a.startLineNumber,u.startColumn,a.endLineNumber,u.endColumn))}else if(l.endColumn===Number.MAX_VALUE&&l.startColumn===1&&a.startLineNumber===a.endLineNumber){const r=c.getLineFirstNonWhitespaceColumn(l.startLineNumber);r<a.endColumn&&(a=new _.Range(a.startLineNumber,r,a.endLineNumber,a.endColumn),l.startColumn=r)}return a}_createDecorationOption(c){let l,a,r,u,C;switch(c.severity){case d.MarkerSeverity.Hint:this._hasMarkerTag(c,2)?l=void 0:this._hasMarkerTag(c,1)?l=\"squiggly-unnecessary\":l=\"squiggly-hint\",r=0;break;case d.MarkerSeverity.Info:l=\"squiggly-info\",a=(0,E.themeColorFromId)(y.overviewRulerInfo),r=10,C={color:(0,E.themeColorFromId)(n.minimapInfo),position:1};break;case d.MarkerSeverity.Warning:l=\"squiggly-warning\",a=(0,E.themeColorFromId)(y.overviewRulerWarning),r=20,C={color:(0,E.themeColorFromId)(n.minimapWarning),position:1};break;case d.MarkerSeverity.Error:default:l=\"squiggly-error\",a=(0,E.themeColorFromId)(y.overviewRulerError),r=30,C={color:(0,E.themeColorFromId)(n.minimapError),position:1};break}return c.tags&&(c.tags.indexOf(1)!==-1&&(u=\"squiggly-inline-unnecessary\"),c.tags.indexOf(2)!==-1&&(u=\"squiggly-inline-deprecated\")),{description:\"marker-decoration\",stickiness:1,className:l,showIfCollapsed:!0,overviewRuler:{color:a,position:I.OverviewRulerLane.Right},minimap:C,zIndex:r,inlineClassName:u}}_hasMarkerTag(c,l){return c.tags?c.tags.indexOf(l)>=0:!1}}}),define(ne[282],se([1,0,148,25,62,589,43]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SemanticTokensProviderStyling=void 0,e.toMultilineTokens2=b;const m=!1;let _=class{constructor(t,i,s,g){this._legend=t,this._themeService=i,this._languageService=s,this._logService=g,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new n}getMetadata(t,i,s){const g=this._languageService.languageIdCodec.encodeLanguageId(s),c=this._hashTable.get(t,i,g);let l;if(c)l=c.metadata,m&&this._logService.getLevel()===I.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${t} / ${i}: foreground ${d.TokenMetadata.getForeground(l)}, fontStyle ${d.TokenMetadata.getFontStyle(l).toString(2)}`);else{let a=this._legend.tokenTypes[t];const r=[];if(a){let u=i;for(let f=0;u>0&&f<this._legend.tokenModifiers.length;f++)u&1&&r.push(this._legend.tokenModifiers[f]),u=u>>1;m&&u>0&&this._logService.getLevel()===I.LogLevel.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${i.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),r.push(\"not-in-legend\"));const C=this._themeService.getColorTheme().getTokenStyleMetadata(a,r,s);if(typeof C>\"u\")l=2147483647;else{if(l=0,typeof C.italic<\"u\"){const f=(C.italic?1:0)<<11;l|=f|1}if(typeof C.bold<\"u\"){const f=(C.bold?2:0)<<11;l|=f|2}if(typeof C.underline<\"u\"){const f=(C.underline?4:0)<<11;l|=f|4}if(typeof C.strikethrough<\"u\"){const f=(C.strikethrough?8:0)<<11;l|=f|8}if(C.foreground){const f=C.foreground<<15;l|=f|16}l===0&&(l=2147483647)}}else m&&this._logService.getLevel()===I.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${t} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),l=2147483647,a=\"not-in-legend\";this._hashTable.add(t,i,g,l),m&&this._logService.getLevel()===I.LogLevel.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${t} (${a}) / ${i} (${r.join(\" \")}): foreground ${d.TokenMetadata.getForeground(l)}, fontStyle ${d.TokenMetadata.getFontStyle(l).toString(2)}`)}return l}warnOverlappingSemanticTokens(t,i){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${t}, column ${i}`))}warnInvalidLengthSemanticTokens(t,i){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${t}, column ${i}`))}warnInvalidEditStart(t,i,s,g,c){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${t}, resultId: ${i}) at edit #${s}: The provided start offset ${g} is outside the previous data (length ${c}).`))}};e.SemanticTokensProviderStyling=_,e.SemanticTokensProviderStyling=_=ke([ce(1,k.IThemeService),ce(2,y.ILanguageService),ce(3,I.ILogService)],_);function b(o,t,i){const s=o.data,g=o.data.length/5|0,c=Math.max(Math.ceil(g/1024),400),l=[];let a=0,r=1,u=0;for(;a<g;){const C=a;let f=Math.min(C+c,g);if(f<g){let T=f;for(;T-1>C&&s[5*T]===0;)T--;if(T-1===C){let M=f;for(;M+1<g&&s[5*M]===0;)M++;f=M}else f=T}let h=new Uint32Array((f-C)*4),v=0,w=0,S=0,L=0;for(;a<f;){const T=5*a,M=s[T],A=s[T+1],P=r+M|0,N=M===0?u+A|0:A,O=s[T+2],F=N+O|0,x=s[T+3],W=s[T+4];if(F<=N)t.warnInvalidLengthSemanticTokens(P,N+1);else if(S===P&&L>N)t.warnOverlappingSemanticTokens(P,N+1);else{const V=t.getMetadata(x,W,i);V!==2147483647&&(w===0&&(w=P),h[v]=P-w,h[v+1]=N,h[v+2]=F,h[v+3]=V,v+=4,S=P,L=F)}r=P,u=N,a++}v!==h.length&&(h=h.subarray(0,v));const D=E.SparseMultilineTokens.create(w,h);l.push(D)}return l}class p{constructor(t,i,s,g){this.tokenTypeIndex=t,this.tokenModifierSet=i,this.languageId=s,this.metadata=g,this.next=null}}class n{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=n._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<n._SIZES.length?2/3*this._currentLength:0),this._elements=[],n._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(t,i){for(let s=0;s<i;s++)t[s]=null}_hash2(t,i){return(t<<5)-t+i|0}_hashFunc(t,i,s){return this._hash2(this._hash2(t,i),s)%this._currentLength}get(t,i,s){const g=this._hashFunc(t,i,s);let c=this._elements[g];for(;c;){if(c.tokenTypeIndex===t&&c.tokenModifierSet===i&&c.languageId===s)return c;c=c.next}return null}add(t,i,s,g){if(this._elementsCount++,this._growCount!==0&&this._elementsCount>=this._growCount){const c=this._elements;this._currentLengthIndex++,this._currentLength=n._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<n._SIZES.length?2/3*this._currentLength:0),this._elements=[],n._nullOutEntries(this._elements,this._currentLength);for(const l of c){let a=l;for(;a;){const r=a.next;a.next=null,this._add(a),a=r}}}this._add(new p(t,i,s,g))}_add(t){const i=this._hashFunc(t.tokenTypeIndex,t.tokenModifierSet,t.languageId);t.next=this._elements[i],this._elements[i]=t}}}),define(ne[785],se([1,0,2,43,25,62,282,267,49]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SemanticTokensStylingService=void 0;let b=class extends d.Disposable{constructor(n,o,t){super(),this._themeService=n,this._logService=o,this._languageService=t,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(n){return this._caches.has(n)||this._caches.set(n,new y.SemanticTokensProviderStyling(n.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(n)}};e.SemanticTokensStylingService=b,e.SemanticTokensStylingService=b=ke([ce(0,I.IThemeService),ce(1,E.ILogService),ce(2,k.ILanguageService)],b),(0,_.registerSingleton)(m.ISemanticTokensStylingService,b,1)}),define(ne[786],se([1,0,15,80,3,89,379,700,528]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,d.registerEditorContribution)(y.PlaceholderTextContribution.ID,(0,m.wrapInReloadableClass1)(()=>y.PlaceholderTextContribution),0),(0,E.registerColor)(\"editor.placeholder.foreground\",k.ghostTextForeground,(0,I.localize)(1194,\"Foreground color of the placeholder text in the editor.\"))}),define(ne[417],se([1,0,127,2,168,40,80,25,46]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AbstractEditorNavigationQuickAccessProvider=void 0;class b{constructor(n){this.options=n,this.rangeHighlightDecorationId=void 0}provide(n,o,t){const i=new k.DisposableStore;n.canAcceptInBackground=!!this.options?.canAcceptInBackground,n.matchOnLabel=n.matchOnDescription=n.matchOnDetail=n.sortByLabel=!1;const s=i.add(new k.MutableDisposable);return s.value=this.doProvide(n,o,t),i.add(this.onDidActiveTextEditorControlChange(()=>{s.value=void 0,s.value=this.doProvide(n,o)})),i}doProvide(n,o,t){const i=new k.DisposableStore,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const g={editor:s},c=(0,I.getCodeEditor)(s);if(c){let l=s.saveViewState()??void 0;i.add(c.onDidChangeCursorPosition(()=>{l=s.saveViewState()??void 0})),g.restoreViewState=()=>{l&&s===this.activeTextEditorControl&&s.restoreViewState(l)},i.add((0,d.createSingleCallFunction)(o.onCancellationRequested)(()=>g.restoreViewState?.()))}i.add((0,k.toDisposable)(()=>this.clearDecorations(s))),i.add(this.provideWithTextEditor(g,n,o,t))}else i.add(this.provideWithoutTextEditor(n,o));return i}canProvideWithTextEditor(n){return!0}gotoLocation({editor:n},o){n.setSelection(o.range,\"code.jump\"),n.revealRangeInCenter(o.range,0),o.preserveFocus||n.focus();const t=n.getModel();t&&\"getLineContent\"in t&&(0,_.status)(`${t.getLineContent(o.range.startLineNumber)}`)}getModel(n){return(0,I.isDiffEditor)(n)?n.getModel()?.modified:n.getModel()}addDecorations(n,o){n.changeDecorations(t=>{const i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),i.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:o,options:{description:\"quick-access-range-highlight\",className:\"rangeHighlight\",isWholeLine:!0}},{range:o,options:{description:\"quick-access-range-highlight-overview\",overviewRuler:{color:(0,m.themeColorFromId)(y.overviewRulerRangeHighlight),position:E.OverviewRulerLane.Full}}}],[g,c]=t.deltaDecorations(i,s);this.rangeHighlightDecorationId={rangeHighlightId:g,overviewRulerDecorationId:c}})}clearDecorations(n){const o=this.rangeHighlightDecorationId;o&&(n.changeDecorations(t=>{t.deltaDecorations([o.overviewRulerDecorationId,o.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}e.AbstractEditorNavigationQuickAccessProvider=b}),define(ne[787],se([1,0,2,168,417,3]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AbstractGotoLineQuickAccessProvider=void 0;class y extends I.AbstractEditorNavigationQuickAccessProvider{static{this.PREFIX=\":\"}constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(_){const b=(0,E.localize)(1195,\"Open a text editor first to go to a line.\");return _.items=[{label:b}],_.ariaLabel=b,d.Disposable.None}provideWithTextEditor(_,b,p){const n=_.editor,o=new d.DisposableStore;o.add(b.onDidAccept(s=>{const[g]=b.selectedItems;if(g){if(!this.isValidLineNumber(n,g.lineNumber))return;this.gotoLocation(_,{range:this.toRange(g.lineNumber,g.column),keyMods:b.keyMods,preserveFocus:s.inBackground}),s.inBackground||b.hide()}}));const t=()=>{const s=this.parsePosition(n,b.value.trim().substr(y.PREFIX.length)),g=this.getPickLabel(n,s.lineNumber,s.column);if(b.items=[{lineNumber:s.lineNumber,column:s.column,label:g}],b.ariaLabel=g,!this.isValidLineNumber(n,s.lineNumber)){this.clearDecorations(n);return}const c=this.toRange(s.lineNumber,s.column);n.revealRangeInCenter(c,0),this.addDecorations(n,c)};t(),o.add(b.onDidChangeValue(()=>t()));const i=(0,k.getCodeEditor)(n);return i&&i.getOptions().get(68).renderType===2&&(i.updateOptions({lineNumbers:\"on\"}),o.add((0,d.toDisposable)(()=>i.updateOptions({lineNumbers:\"relative\"})))),o}toRange(_=1,b=1){return{startLineNumber:_,startColumn:b,endLineNumber:_,endColumn:b}}parsePosition(_,b){const p=b.split(/,|:|#/).map(o=>parseInt(o,10)).filter(o=>!isNaN(o)),n=this.lineCount(_)+1;return{lineNumber:p[0]>0?p[0]:n+p[0],column:p[1]}}getPickLabel(_,b,p){if(this.isValidLineNumber(_,b))return this.isValidColumn(_,b,p)?(0,E.localize)(1196,\"Go to line {0} and character {1}.\",b,p):(0,E.localize)(1197,\"Go to line {0}.\",b);const n=_.getPosition()||{lineNumber:1,column:1},o=this.lineCount(_);return o>1?(0,E.localize)(1198,\"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.\",n.lineNumber,n.column,o):(0,E.localize)(1199,\"Current Line: {0}, Character: {1}. Type a line number to navigate to.\",n.lineNumber,n.column)}isValidLineNumber(_,b){return!b||typeof b!=\"number\"?!1:b>0&&b<=this.lineCount(_)}isValidColumn(_,b,p){if(!p||typeof p!=\"number\")return!1;const n=this.getModel(_);if(!n)return!1;const o={lineNumber:b,column:p};return n.validatePosition(o).equals(o)}lineCount(_){return this.getModel(_)?.getLineCount()??0}}e.AbstractGotoLineQuickAccessProvider=y}),define(ne[788],se([1,0,14,18,26,30,628,2,11,4,27,182,417,3,17,67]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";var g;Object.defineProperty(e,\"__esModule\",{value:!0}),e.AbstractGotoSymbolQuickAccessProvider=void 0;let c=class extends o.AbstractEditorNavigationQuickAccessProvider{static{g=this}static{this.PREFIX=\"@\"}static{this.SCOPE_PREFIX=\":\"}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(u,C,f=Object.create(null)){super(f),this._languageFeaturesService=u,this._outlineModelService=C,this.options=f,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(u){return this.provideLabelPick(u,(0,t.localize)(1200,\"To go to a symbol, first open a text editor with symbol information.\")),m.Disposable.None}provideWithTextEditor(u,C,f,h){const v=u.editor,w=this.getModel(v);return w?this._languageFeaturesService.documentSymbolProvider.has(w)?this.doProvideWithEditorSymbols(u,w,C,f,h):this.doProvideWithoutEditorSymbols(u,w,C,f):m.Disposable.None}doProvideWithoutEditorSymbols(u,C,f,h){const v=new m.DisposableStore;return this.provideLabelPick(f,(0,t.localize)(1201,\"The active text editor does not provide symbol information.\")),(async()=>!await this.waitForLanguageSymbolRegistry(C,v)||h.isCancellationRequested||v.add(this.doProvideWithEditorSymbols(u,C,f,h)))(),v}provideLabelPick(u,C){u.items=[{label:C,index:0,kind:14}],u.ariaLabel=C}async waitForLanguageSymbolRegistry(u,C){if(this._languageFeaturesService.documentSymbolProvider.has(u))return!0;const f=new d.DeferredPromise,h=C.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(u)&&(h.dispose(),f.complete(!0))}));return C.add((0,m.toDisposable)(()=>f.complete(!1))),f.p}doProvideWithEditorSymbols(u,C,f,h,v){const w=u.editor,S=new m.DisposableStore;S.add(f.onDidAccept(M=>{const[A]=f.selectedItems;A&&A.range&&(this.gotoLocation(u,{range:A.range.selection,keyMods:f.keyMods,preserveFocus:M.inBackground}),v?.handleAccept?.(A),M.inBackground||f.hide())})),S.add(f.onDidTriggerItemButton(({item:M})=>{M&&M.range&&(this.gotoLocation(u,{range:M.range.selection,keyMods:f.keyMods,forceSideBySide:!0}),f.hide())}));const L=this.getDocumentSymbols(C,h);let D;const T=async M=>{D?.dispose(!0),f.busy=!1,D=new k.CancellationTokenSource(h),f.busy=!0;try{const A=(0,y.prepareQuery)(f.value.substr(g.PREFIX.length).trim()),P=await this.doGetSymbolPicks(L,A,void 0,D.token,C);if(h.isCancellationRequested)return;if(P.length>0){if(f.items=P,M&&A.original.length===0){const N=(0,s.findLast)(P,O=>!!(O.type!==\"separator\"&&O.range&&b.Range.containsPosition(O.range.decoration,M)));N&&(f.activeItems=[N])}}else A.original.length>0?this.provideLabelPick(f,(0,t.localize)(1202,\"No matching editor symbols\")):this.provideLabelPick(f,(0,t.localize)(1203,\"No editor symbols\"))}finally{h.isCancellationRequested||(f.busy=!1)}};return S.add(f.onDidChangeValue(()=>T(void 0))),T(w.getSelection()?.getPosition()),S.add(f.onDidChangeActive(()=>{const[M]=f.activeItems;M&&M.range&&(w.revealRangeInCenter(M.range.selection,0),this.addDecorations(w,M.range.decoration))})),S}async doGetSymbolPicks(u,C,f,h,v){const w=await u;if(h.isCancellationRequested)return[];const S=C.original.indexOf(g.SCOPE_PREFIX)===0,L=S?1:0;let D,T;C.values&&C.values.length>1?(D=(0,y.pieceToQuery)(C.values[0]),T=(0,y.pieceToQuery)(C.values.slice(1))):D=C;let M;const A=this.options?.openSideBySideDirection?.();A&&(M=[{iconClass:A===\"right\"?E.ThemeIcon.asClassName(I.Codicon.splitHorizontal):E.ThemeIcon.asClassName(I.Codicon.splitVertical),tooltip:A===\"right\"?(0,t.localize)(1204,\"Open to the Side\"):(0,t.localize)(1205,\"Open to the Bottom\")}]);const P=[];for(let F=0;F<w.length;F++){const x=w[F],W=(0,_.trim)(x.name),V=`$(${p.SymbolKinds.toIcon(x.kind).id}) ${W}`,q=V.length-W.length;let H=x.containerName;f?.extraContainerLabel&&(H?H=`${f.extraContainerLabel} \\u2022 ${H}`:H=f.extraContainerLabel);let z,U,j,Y;if(C.original.length>L){let K=!1;if(D!==C&&([z,U]=(0,y.scoreFuzzy2)(V,{...C,values:void 0},L,q),typeof z==\"number\"&&(K=!0)),typeof z!=\"number\"&&([z,U]=(0,y.scoreFuzzy2)(V,D,L,q),typeof z!=\"number\"))continue;if(!K&&T){if(H&&T.original.length>0&&([j,Y]=(0,y.scoreFuzzy2)(H,T)),typeof j!=\"number\")continue;typeof z==\"number\"&&(z+=j)}}const G=x.tags&&x.tags.indexOf(1)>=0;P.push({index:F,kind:x.kind,score:z,label:V,ariaLabel:(0,p.getAriaLabelForSymbol)(x.name,x.kind),description:H,highlights:G?void 0:{label:U,description:Y},range:{selection:b.Range.collapseToStart(x.selectionRange),decoration:x.range},uri:v.uri,symbolName:W,strikethrough:G,buttons:M})}const N=P.sort((F,x)=>S?this.compareByKindAndScore(F,x):this.compareByScore(F,x));let O=[];if(S){let V=function(){x&&typeof F==\"number\"&&W>0&&(x.label=(0,_.format)(a[F]||l,W))},F,x,W=0;for(const q of N)F!==q.kind?(V(),F=q.kind,W=1,x={type:\"separator\"},O.push(x)):W++,O.push(q);V()}else N.length>0&&(O=[{label:(0,t.localize)(1206,\"symbols ({0})\",P.length),type:\"separator\"},...N]);return O}compareByScore(u,C){if(typeof u.score!=\"number\"&&typeof C.score==\"number\")return 1;if(typeof u.score==\"number\"&&typeof C.score!=\"number\")return-1;if(typeof u.score==\"number\"&&typeof C.score==\"number\"){if(u.score>C.score)return-1;if(u.score<C.score)return 1}return u.index<C.index?-1:u.index>C.index?1:0}compareByKindAndScore(u,C){const f=a[u.kind]||l,h=a[C.kind]||l,v=f.localeCompare(h);return v===0?this.compareByScore(u,C):v}async getDocumentSymbols(u,C){const f=await this._outlineModelService.getOrCreate(u,C);return C.isCancellationRequested?[]:f.asListOfDocumentSymbols()}};e.AbstractGotoSymbolQuickAccessProvider=c,e.AbstractGotoSymbolQuickAccessProvider=c=g=ke([ce(0,i.ILanguageFeaturesService),ce(1,n.IOutlineModelService)],c);const l=(0,t.localize)(1207,\"properties ({0})\"),a={5:(0,t.localize)(1208,\"methods ({0})\"),11:(0,t.localize)(1209,\"functions ({0})\"),8:(0,t.localize)(1210,\"constructors ({0})\"),12:(0,t.localize)(1211,\"variables ({0})\"),4:(0,t.localize)(1212,\"classes ({0})\"),22:(0,t.localize)(1213,\"structs ({0})\"),23:(0,t.localize)(1214,\"events ({0})\"),24:(0,t.localize)(1215,\"operators ({0})\"),10:(0,t.localize)(1216,\"interfaces ({0})\"),2:(0,t.localize)(1217,\"namespaces ({0})\"),3:(0,t.localize)(1218,\"packages ({0})\"),25:(0,t.localize)(1219,\"type parameters ({0})\"),1:(0,t.localize)(1220,\"modules ({0})\"),6:(0,t.localize)(1221,\"properties ({0})\"),9:(0,t.localize)(1222,\"enumerations ({0})\"),21:(0,t.localize)(1223,\"enumeration members ({0})\"),14:(0,t.localize)(1224,\"strings ({0})\"),0:(0,t.localize)(1225,\"files ({0})\"),17:(0,t.localize)(1226,\"arrays ({0})\"),15:(0,t.localize)(1227,\"numbers ({0})\"),16:(0,t.localize)(1228,\"booleans ({0})\"),18:(0,t.localize)(1229,\"objects ({0})\"),19:(0,t.localize)(1230,\"keys ({0})\"),7:(0,t.localize)(1231,\"fields ({0})\"),13:(0,t.localize)(1232,\"constants ({0})\")}}),define(ne[789],se([1,0,5,47,46,81,44,114,115,13,14,18,26,6,2,54,19,74,9,4,27,3,12,31,62,110,32,25,529]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenameWidget=e.CONTEXT_RENAME_INPUT_FOCUSED=e.CONTEXT_RENAME_INPUT_VISIBLE=void 0;const L=!1;e.CONTEXT_RENAME_INPUT_VISIBLE=new C.RawContextKey(\"renameInputVisible\",!1,u.localize(1246,\"Whether the rename input widget is visible\")),e.CONTEXT_RENAME_INPUT_FOCUSED=new C.RawContextKey(\"renameInputFocused\",!1,u.localize(1247,\"Whether the rename input widget is focused\"));let D=class{constructor(N,O,F,x,W,V){this._editor=N,this._acceptKeybindings=O,this._themeService=F,this._keybindingService=x,this._logService=V,this.allowEditorOverflow=!0,this._disposables=new i.DisposableStore,this._visibleContextKey=e.CONTEXT_RENAME_INPUT_VISIBLE.bindTo(W),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new s.StopWatch,this._inputWithButton=new M,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(q=>{q.hasChanged(50)&&this._updateFont()})),this._disposables.add(F.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return\"__renameInputWidget\"}getDomNode(){return this._domNode||(this._domNode=document.createElement(\"div\"),this._domNode.className=\"monaco-editor rename-box\",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new T(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:N=>{this._inputWithButton.input.value=N,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{this._renameCandidateListView?.focusedCandidate!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),this._renameCandidateProvidersCts?.token.isCancellationRequested===!1&&this._renameCandidateProvidersCts.cancel(),this._renameCandidateListView?.clearFocus()})),this._label=document.createElement(\"div\"),this._label.className=\"rename-label\",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(N){if(!this._domNode)return;const O=N.getColor(w.widgetShadow),F=N.getColor(w.widgetBorder);this._domNode.style.backgroundColor=String(N.getColor(w.editorWidgetBackground)??\"\"),this._domNode.style.boxShadow=O?` 0 0 8px 2px ${O}`:\"\",this._domNode.style.border=F?`1px solid ${F}`:\"\",this._domNode.style.color=String(N.getColor(w.inputForeground)??\"\");const x=N.getColor(w.inputBorder);this._inputWithButton.domNode.style.backgroundColor=String(N.getColor(w.inputBackground)??\"\"),this._inputWithButton.input.style.backgroundColor=String(N.getColor(w.inputBackground)??\"\"),this._inputWithButton.domNode.style.borderWidth=x?\"1px\":\"0px\",this._inputWithButton.domNode.style.borderStyle=x?\"solid\":\"none\",this._inputWithButton.domNode.style.borderColor=x?.toString()??\"none\"}_updateFont(){if(this._domNode===void 0)return;(0,g.assertType)(this._label!==void 0,\"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined\"),this._editor.applyFontInfo(this._inputWithButton.input);const N=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(N.fontSize)}px`}_computeLabelFontSize(N){return N*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const N=d.getClientArea(this.getDomNode().ownerDocument.body),O=d.getDomNodePagePosition(this._editor.getDomNode()),F=this._getTopForPosition();this._nPxAvailableAbove=F+O.top,this._nPxAvailableBelow=N.height-this._nPxAvailableAbove;const x=this._editor.getOption(67),{totalHeight:W}=A.getLayoutInfo({lineHeight:x}),V=this._nPxAvailableBelow>W*6?[2,1]:[1,2];return{position:this._position,preference:V}}beforeRender(){const[N,O]=this._acceptKeybindings;return this._label.innerText=u.localize(1248,\"{0} to Rename, {1} to Preview\",this._keybindingService.lookupKeybinding(N)?.getLabel(),this._keybindingService.lookupKeybinding(O)?.getLabel()),this._domNode.style.minWidth=\"200px\",null}afterRender(N){if(N===null){this.cancelInput(!0,\"afterRender (because position is null)\");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;(0,g.assertType)(this._renameCandidateListView),(0,g.assertType)(this._nPxAvailableAbove!==void 0),(0,g.assertType)(this._nPxAvailableBelow!==void 0);const O=d.getTotalHeight(this._inputWithButton.domNode),F=d.getTotalHeight(this._label);let x;N===2?x=this._nPxAvailableBelow:x=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:x-F-O,width:d.getTotalWidth(this._inputWithButton.domNode)})}acceptInput(N){this._trace(\"invoking acceptInput\"),this._currentAcceptInput?.(N)}cancelInput(N,O){this._currentCancelInput?.(N)}focusNextRenameSuggestion(){this._renameCandidateListView?.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){this._renameCandidateListView?.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(N,O,F,x,W){const{start:V,end:q}=this._getSelection(N,O);this._renameCts=W;const H=new i.DisposableStore;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,x===void 0?this._inputWithButton.button.style.display=\"none\":(this._inputWithButton.button.style.display=\"flex\",this._requestRenameCandidatesOnce=x,this._requestRenameCandidates(O,!1),H.add(d.addDisposableListener(this._inputWithButton.button,\"click\",()=>this._requestRenameCandidates(O,!0))),H.add(d.addDisposableListener(this._inputWithButton.button,d.EventType.KEY_DOWN,U=>{const j=new k.StandardKeyboardEvent(U);(j.equals(3)||j.equals(10))&&(j.stopPropagation(),j.preventDefault(),this._requestRenameCandidates(O,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle(\"preview\",F),this._position=new l.Position(N.startLineNumber,N.startColumn),this._currentName=O,this._inputWithButton.input.value=O,this._inputWithButton.input.setAttribute(\"selectionStart\",V.toString()),this._inputWithButton.input.setAttribute(\"selectionEnd\",q.toString()),this._inputWithButton.input.size=Math.max((N.endColumn-N.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),H.add((0,i.toDisposable)(()=>{this._renameCts=void 0,W.dispose(!0)})),H.add((0,i.toDisposable)(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),H.add((0,i.toDisposable)(()=>this._candidates.clear()));const z=new p.DeferredPromise;return z.p.finally(()=>{H.dispose(),this._hide()}),this._currentCancelInput=U=>(this._trace(\"invoking _currentCancelInput\"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),z.complete(U),!0),this._currentAcceptInput=U=>{this._trace(\"invoking _currentAcceptInput\"),(0,g.assertType)(this._renameCandidateListView!==void 0);const j=this._renameCandidateListView.nCandidates;let Y,G;const K=this._renameCandidateListView.focusedCandidate;if(K!==void 0?(this._trace(\"using new name from renameSuggestion\"),Y=K,G={k:\"renameSuggestion\"}):(this._trace(\"using new name from inputField\"),Y=this._inputWithButton.input.value,G=this._isEditingRenameCandidate?{k:\"userEditedRenameSuggestion\"}:{k:\"inputField\"}),Y===O||Y.trim().length===0){this.cancelInput(!0,\"_currentAcceptInput (because newName === value || newName.trim().length === 0)\");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),z.complete({newName:Y,wantsPreview:F&&U,stats:{source:G,nRenameSuggestions:j,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},H.add(W.token.onCancellationRequested(()=>this.cancelInput(!0,\"cts.token.onCancellationRequested\"))),L||H.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),\"editor.onDidBlurEditorWidget\"))),this._show(),z.p}_requestRenameCandidates(N,O){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),(0,g.assertType)(this._renameCts),this._inputWithButton.buttonState!==\"stop\")){this._renameCandidateProvidersCts=new n.CancellationTokenSource;const F=O?r.NewSymbolNameTriggerKind.Invoke:r.NewSymbolNameTriggerKind.Automatic,x=this._requestRenameCandidatesOnce(F,this._renameCandidateProvidersCts.token);if(x.length===0){this._inputWithButton.setSparkleButton();return}O||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(x,N,this._renameCts.token)}}_getSelection(N,O){(0,g.assertType)(this._editor.hasModel());const F=this._editor.getSelection();let x=0,W=O.length;return!a.Range.isEmpty(F)&&!a.Range.spansMultipleLines(F)&&a.Range.containsRange(N,F)&&(x=Math.max(0,F.startColumn-N.startColumn),W=Math.min(N.endColumn,F.endColumn)-N.startColumn),{start:x,end:W}}_show(){this._trace(\"invoking _show\"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute(\"selectionStart\")),parseInt(this._inputWithButton.input.getAttribute(\"selectionEnd\")))},100)}async _updateRenameCandidates(N,O,F){const x=(...z)=>this._trace(\"_updateRenameCandidates\",...z);x(\"start\");const W=await(0,p.raceCancellation)(Promise.allSettled(N),F);if(this._inputWithButton.setSparkleButton(),W===void 0){x(\"returning early - received updateRenameCandidates results - undefined\");return}const V=W.flatMap(z=>z.status===\"fulfilled\"&&(0,g.isDefined)(z.value)?z.value:[]);x(`received updateRenameCandidates results - total (unfiltered) ${V.length} candidates.`);const q=b.distinct(V,z=>z.newSymbolName);x(`distinct candidates - ${q.length} candidates.`);const H=q.filter(({newSymbolName:z})=>z.trim().length>0&&z!==this._inputWithButton.input.value&&z!==O&&!this._candidates.has(z));if(x(`valid distinct candidates - ${V.length} candidates.`),H.forEach(z=>this._candidates.add(z.newSymbolName)),H.length<1){x(\"returning early - no valid distinct candidates\");return}x(\"setting candidates\"),this._renameCandidateListView.setCandidates(H),x(\"asking editor to re-layout\"),this._editor.layoutContentWidget(this)}_hide(){this._trace(\"invoked _hide\"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const N=this._editor.getVisibleRanges();let O;return N.length>0?O=N[0].startLineNumber:(this._logService.warn(\"RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty\"),O=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(O)}_trace(...N){this._logService.trace(\"RenameWidget\",...N)}};e.RenameWidget=D,e.RenameWidget=D=ke([ce(2,S.IThemeService),ce(3,f.IKeybindingService),ce(4,C.IContextKeyService),ce(5,h.ILogService)],D);class T{constructor(N,O){this._disposables=new i.DisposableStore,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=O.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=O.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement(\"div\"),this._listContainer.className=\"rename-box rename-candidate-list-container\",N.appendChild(this._listContainer),this._listWidget=T._createListWidget(this._listContainer,this._candidateViewHeight,O.fontInfo),this._listWidget.onDidChangeFocus(F=>{F.elements.length===1&&O.onFocusChange(F.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(F=>{F.elements.length===1&&O.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(F=>{this._listWidget.setFocus([])})),this._listWidget.style((0,v.getListStyles)({listInactiveFocusForeground:w.quickInputListFocusForeground,listInactiveFocusBackground:w.quickInputListFocusBackground}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:N,width:O}){this._availableHeight=N,this._minimumWidth=O}setCandidates(N){this._listWidget.splice(0,0,N);const O=this._pickListHeight(this._listWidget.length),F=this._pickListWidth(N);this._listWidget.layout(O,F),this._listContainer.style.height=`${O}px`,this._listContainer.style.width=`${F}px`,I.status(u.localize(1249,\"Received {0} rename suggestions\",N.length))}clearCandidates(){this._listContainer.style.height=\"0px\",this._listContainer.style.width=\"0px\",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const N=this._listWidget.getSelectedElements()[0];if(N!==void 0)return N.newSymbolName;const O=this._listWidget.getFocusedElements()[0];if(O!==void 0)return O.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const N=this._listWidget.getFocus();if(N.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(N[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const O=this._listWidget.getFocus()[0];return this._listWidget.reveal(O),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const N=this._listWidget.getFocus();if(N.length===0){this._listWidget.focusLast();const O=this._listWidget.getFocus()[0];return this._listWidget.reveal(O),!0}else{if(N[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const O=this._listWidget.getFocus()[0];return this._listWidget.reveal(O),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:N}=A.getLayoutInfo({lineHeight:this._lineHeight});return N}_pickListHeight(N){const O=this._candidateViewHeight*N;return Math.min(O,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(N){const O=Math.ceil(Math.max(...N.map(x=>x.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+O+10)}static _createListWidget(N,O,F){const x=new class{getTemplateId(V){return\"candidate\"}getHeight(V){return O}},W=new class{constructor(){this.templateId=\"candidate\"}renderTemplate(V){return new A(V,F)}renderElement(V,q,H){H.populate(V)}disposeTemplate(V){V.dispose()}};return new _.List(\"NewSymbolNameCandidates\",N,x,[W],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class M{constructor(){this._onDidInputChange=new t.Emitter,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new i.DisposableStore}get domNode(){return this._domNode||(this._domNode=document.createElement(\"div\"),this._domNode.className=\"rename-input-with-button\",this._domNode.style.display=\"flex\",this._domNode.style.flexDirection=\"row\",this._domNode.style.alignItems=\"center\",this._inputNode=document.createElement(\"input\"),this._inputNode.className=\"rename-input\",this._inputNode.type=\"text\",this._inputNode.style.border=\"none\",this._inputNode.setAttribute(\"aria-label\",u.localize(1250,\"Rename input. Type new name and press Enter to commit.\")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement(\"div\"),this._buttonNode.className=\"rename-suggestions-button\",this._buttonNode.setAttribute(\"tabindex\",\"0\"),this._buttonGenHoverText=u.localize(1251,\"Generate new name suggestions\"),this._buttonCancelHoverText=u.localize(1252,\"Cancel\"),this._buttonHover=(0,E.getBaseLayerHoverDelegate)().setupManagedHover((0,y.getDefaultHoverDelegate)(\"element\"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(d.addDisposableListener(this.input,d.EventType.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(d.addDisposableListener(this.input,d.EventType.KEY_DOWN,N=>{const O=new k.StandardKeyboardEvent(N);(O.keyCode===15||O.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(d.addDisposableListener(this.input,d.EventType.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(d.addDisposableListener(this.input,d.EventType.FOCUS,()=>{this.domNode.style.outlineWidth=\"1px\",this.domNode.style.outlineStyle=\"solid\",this.domNode.style.outlineOffset=\"-1px\",this.domNode.style.outlineColor=\"var(--vscode-focusBorder)\"})),this._disposables.add(d.addDisposableListener(this.input,d.EventType.BLUR,()=>{this.domNode.style.outline=\"none\"}))),this._domNode}get input(){return(0,g.assertType)(this._inputNode),this._inputNode}get button(){return(0,g.assertType)(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState=\"sparkle\",this._sparkleIcon??=(0,m.renderIcon)(o.Codicon.sparkle),d.clearNode(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute(\"aria-label\",\"Generating new name suggestions\"),this._buttonHover?.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){this._buttonState=\"stop\",this._stopIcon??=(0,m.renderIcon)(o.Codicon.primitiveSquare),d.clearNode(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute(\"aria-label\",\"Cancel generating new name suggestions\"),this._buttonHover?.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}class A{static{this._PADDING=2}constructor(N,O){this._domNode=document.createElement(\"div\"),this._domNode.className=\"rename-box rename-candidate\",this._domNode.style.display=\"flex\",this._domNode.style.columnGap=\"5px\",this._domNode.style.alignItems=\"center\",this._domNode.style.height=`${O.lineHeight}px`,this._domNode.style.padding=`${A._PADDING}px`;const F=document.createElement(\"div\");F.style.display=\"flex\",F.style.alignItems=\"center\",F.style.width=F.style.height=`${O.lineHeight*.8}px`,this._domNode.appendChild(F),this._icon=(0,m.renderIcon)(o.Codicon.sparkle),this._icon.style.display=\"none\",F.appendChild(this._icon),this._label=document.createElement(\"div\"),c.applyFontInfo(this._label,O),this._domNode.appendChild(this._label),N.appendChild(this._domNode)}populate(N){this._updateIcon(N),this._updateLabel(N)}_updateIcon(N){const O=!!N.tags?.includes(r.NewSymbolNameTag.AIGenerated);this._icon.style.display=O?\"inherit\":\"none\"}_updateLabel(N){this._label.innerText=N.newSymbolName}static getLayoutInfo({lineHeight:N}){return{totalHeight:N+A._PADDING*2}}dispose(){}}}),define(ne[790],se([1,0,46,14,18,8,57,2,19,22,15,152,34,9,4,20,27,17,211,122,184,3,29,109,12,7,62,50,96,38,63,789]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M){\"use strict\";var A;Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenameAction=void 0,e.rename=N;class P{constructor(V,q,H){this.model=V,this.position=q,this._providerRenameIdx=0,this._providers=H.ordered(V)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(V){const q=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const z=this._providers[this._providerRenameIdx];if(!z.resolveRenameLocation)break;const U=await z.resolveRenameLocation(this.model,this.position,V);if(U){if(U.rejectReason){q.push(U.rejectReason);continue}return U}}this._providerRenameIdx=0;const H=this.model.getWordAtPosition(this.position);return H?{range:new i.Range(this.position.lineNumber,H.startColumn,this.position.lineNumber,H.endColumn),text:H.word,rejectReason:q.length>0?q.join(`\n`):void 0}:{range:i.Range.fromPositions(this.position),text:\"\",rejectReason:q.length>0?q.join(`\n`):void 0}}async provideRenameEdits(V,q){return this._provideRenameEdits(V,this._providerRenameIdx,[],q)}async _provideRenameEdits(V,q,H,z){const U=this._providers[q];if(!U)return{edits:[],rejectReason:H.join(`\n`)};const j=await U.provideRenameEdits(this.model,this.position,V,z);if(j){if(j.rejectReason)return this._provideRenameEdits(V,q+1,H.concat(j.rejectReason),z)}else return this._provideRenameEdits(V,q+1,H.concat(u.localize(1235,\"No result.\")),z);return j}}async function N(W,V,q,H){const z=new P(V,q,W),U=await z.resolveRenameLocation(I.CancellationToken.None);return U?.rejectReason?{edits:[],rejectReason:U.rejectReason}:z.provideRenameEdits(H,I.CancellationToken.None)}let O=class{static{A=this}static{this.ID=\"editor.contrib.renameController\"}static get(V){return V.getContribution(A.ID)}constructor(V,q,H,z,U,j,Y,G,K){this.editor=V,this._instaService=q,this._notificationService=H,this._bulkEditService=z,this._progressService=U,this._logService=j,this._configService=Y,this._languageFeaturesService=G,this._telemetryService=K,this._disposableStore=new m.DisposableStore,this._cts=new I.CancellationTokenSource,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(M.RenameWidget,this.editor,[\"acceptRenameInput\",\"acceptRenameInputWithPreview\"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){const V=this._logService.trace.bind(this._logService,\"[rename]\");if(this._cts.dispose(!0),this._cts=new I.CancellationTokenSource,!this.editor.hasModel()){V(\"editor has no model\");return}const q=this.editor.getPosition(),H=new P(this.editor.getModel(),q,this._languageFeaturesService.renameProvider);if(!H.hasProvider()){V(\"skeleton has no provider\");return}const z=new a.EditorStateCancellationTokenSource(this.editor,5,void 0,this._cts.token);let U;try{V(\"resolving rename location\");const he=H.resolveRenameLocation(z.token);this._progressService.showWhile(he,250),U=await he,V(\"resolved rename location\")}catch(he){he instanceof E.CancellationError?V(\"resolve rename location cancelled\",JSON.stringify(he,null,\"\t\")):(V(\"resolve rename location failed\",he instanceof Error?he:JSON.stringify(he,null,\"\t\")),(typeof he==\"string\"||(0,y.isMarkdownString)(he))&&r.MessageController.get(this.editor)?.showMessage(he||u.localize(1236,\"An unknown error occurred while resolving rename location\"),q));return}finally{z.dispose()}if(!U){V(\"returning early - no loc\");return}if(U.rejectReason){V(`returning early - rejected with reason: ${U.rejectReason}`,U.rejectReason),r.MessageController.get(this.editor)?.showMessage(U.rejectReason,q);return}if(z.token.isCancellationRequested){V(\"returning early - cts1 cancelled\");return}const j=new a.EditorStateCancellationTokenSource(this.editor,5,U.range,this._cts.token),Y=this.editor.getModel(),G=this._languageFeaturesService.newSymbolNamesProvider.all(Y),K=await Promise.all(G.map(async he=>[he,await he.supportsAutomaticNewSymbolNamesTriggerKind??!1])),R=(he,pe)=>{let ae=K.slice();return he===g.NewSymbolNameTriggerKind.Automatic&&(ae=ae.filter(([ee,de])=>de)),ae.map(([ee])=>ee.provideNewSymbolNames(Y,U.range,he,pe))};V(\"creating rename input field and awaiting its result\");const J=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,\"editor.rename.enablePreview\"),ie=await this._renameWidget.getInput(U.range,U.text,J,G.length>0?R:void 0,j);if(V(\"received response from rename input field\"),G.length>0&&this._reportTelemetry(G.length,Y.getLanguageId(),ie),typeof ie==\"boolean\"){V(`returning early - rename input field response - ${ie}`),ie&&this.editor.focus(),j.dispose();return}this.editor.focus(),V(\"requesting rename edits\");const ue=(0,k.raceCancellation)(H.provideRenameEdits(ie.newName,j.token),j.token).then(async he=>{if(!he){V(\"returning early - no rename edits result\");return}if(!this.editor.hasModel()){V(\"returning early - no model after rename edits are provided\");return}if(he.rejectReason){V(`returning early - rejected with reason: ${he.rejectReason}`),this._notificationService.info(he.rejectReason);return}this.editor.setSelection(i.Range.fromPositions(this.editor.getSelection().getPosition())),V(\"applying edits\"),this._bulkEditService.apply(he,{editor:this.editor,showPreview:ie.wantsPreview,label:u.localize(1237,\"Renaming '{0}' to '{1}'\",U?.text,ie.newName),code:\"undoredo.rename\",quotableLabel:u.localize(1238,\"Renaming {0} to {1}\",U?.text,ie.newName),respectAutoSaveConfig:!0}).then(pe=>{V(\"edits applied\"),pe.ariaSummary&&(0,d.alert)(u.localize(1239,\"Successfully renamed '{0}' to '{1}'. Summary: {2}\",U.text,ie.newName,pe.ariaSummary))}).catch(pe=>{V(`error when applying edits ${JSON.stringify(pe,null,\"\t\")}`),this._notificationService.error(u.localize(1240,\"Rename failed to apply edits\")),this._logService.error(pe)})},he=>{V(\"error when providing rename edits\",JSON.stringify(he,null,\"\t\")),this._notificationService.error(u.localize(1241,\"Rename failed to compute edits\")),this._logService.error(he)}).finally(()=>{j.dispose()});return V(\"returning rename operation\"),this._progressService.showWhile(ue,250),ue}acceptRenameInput(V){this._renameWidget.acceptInput(V)}cancelRenameInput(){this._renameWidget.cancelInput(!0,\"cancelRenameInput command\")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(V,q,H){const z=typeof H==\"boolean\"?{kind:\"cancelled\",languageId:q,nRenameSuggestionProviders:V}:{kind:\"accepted\",languageId:q,nRenameSuggestionProviders:V,source:H.stats.source.k,nRenameSuggestions:H.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:H.stats.timeBeforeFirstInputFieldEdit,wantsPreview:H.wantsPreview,nRenameSuggestionsInvocations:H.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:H.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2(\"renameInvokedEvent\",z)}};O=A=ke([ce(1,v.IInstantiationService),ce(2,S.INotificationService),ce(3,n.IBulkEditService),ce(4,L.IEditorProgressService),ce(5,w.ILogService),ce(6,l.ITextResourceConfigurationService),ce(7,c.ILanguageFeaturesService),ce(8,T.ITelemetryService)],O);class F extends p.EditorAction{constructor(){super({id:\"editor.action.rename\",label:u.localize(1242,\"Rename Symbol\"),alias:\"Rename Symbol\",precondition:h.ContextKeyExpr.and(s.EditorContextKeys.writable,s.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:\"1_modification\",order:1.1}})}runCommand(V,q){const H=V.get(o.ICodeEditorService),[z,U]=Array.isArray(q)&&q||[void 0,void 0];return b.URI.isUri(z)&&t.Position.isIPosition(U)?H.openCodeEditor({resource:z},H.getActiveCodeEditor()).then(j=>{j&&(j.setPosition(U),j.invokeWithinContext(Y=>(this.reportTelemetry(Y,j),this.run(Y,j))))},E.onUnexpectedError):super.runCommand(V,q)}run(V,q){const H=V.get(w.ILogService),z=O.get(q);return z?(H.trace(\"[RenameAction] got controller, running...\"),z.run()):(H.trace(\"[RenameAction] returning early - controller missing\"),Promise.resolve())}}e.RenameAction=F,(0,p.registerEditorContribution)(O.ID,O,4),(0,p.registerEditorAction)(F);const x=p.EditorCommand.bindToContribution(O.get);(0,p.registerEditorCommand)(new x({id:\"acceptRenameInput\",precondition:M.CONTEXT_RENAME_INPUT_VISIBLE,handler:W=>W.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:h.ContextKeyExpr.and(s.EditorContextKeys.focus,h.ContextKeyExpr.not(\"isComposing\")),primary:3}})),(0,p.registerEditorCommand)(new x({id:\"acceptRenameInputWithPreview\",precondition:h.ContextKeyExpr.and(M.CONTEXT_RENAME_INPUT_VISIBLE,h.ContextKeyExpr.has(\"config.editor.rename.enablePreview\")),handler:W=>W.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:h.ContextKeyExpr.and(s.EditorContextKeys.focus,h.ContextKeyExpr.not(\"isComposing\")),primary:2051}})),(0,p.registerEditorCommand)(new x({id:\"cancelRenameInput\",precondition:M.CONTEXT_RENAME_INPUT_VISIBLE,handler:W=>W.cancelRenameInput(),kbOpts:{weight:199,kbExpr:s.EditorContextKeys.focus,primary:9,secondary:[1033]}})),(0,C.registerAction2)(class extends C.Action2{constructor(){super({id:\"focusNextRenameSuggestion\",title:{...u.localize2(1244,\"Focus Next Rename Suggestion\")},precondition:M.CONTEXT_RENAME_INPUT_VISIBLE,keybinding:[{primary:18,weight:199}]})}run(V){const q=V.get(o.ICodeEditorService).getFocusedCodeEditor();if(!q)return;const H=O.get(q);H&&H.focusNextRenameSuggestion()}}),(0,C.registerAction2)(class extends C.Action2{constructor(){super({id:\"focusPreviousRenameSuggestion\",title:{...u.localize2(1245,\"Focus Previous Rename Suggestion\")},precondition:M.CONTEXT_RENAME_INPUT_VISIBLE,keybinding:[{primary:16,weight:199}]})}run(V){const q=V.get(o.ICodeEditorService).getFocusedCodeEditor();if(!q)return;const H=O.get(q);H&&H.focusPreviousRenameSuggestion()}}),(0,p.registerModelAndPositionCommand)(\"_executeDocumentRenameProvider\",function(W,V,q,...H){const[z]=H;(0,_.assertType)(typeof z==\"string\");const{renameProvider:U}=W.get(c.ILanguageFeaturesService);return N(U,V,q,z)}),(0,p.registerModelAndPositionCommand)(\"_executePrepareRename\",async function(W,V,q){const{renameProvider:H}=W.get(c.ILanguageFeaturesService),U=await new P(V,q,H).resolveRenameLocation(I.CancellationToken.None);if(U?.rejectReason)throw new Error(U.rejectReason);return U}),D.Registry.as(f.Extensions.Configuration).registerConfiguration({id:\"editor\",properties:{\"editor.rename.enablePreview\":{scope:5,description:u.localize(1243,\"Enable/disable the ability to preview changes before renaming\"),default:!0,type:\"boolean\"}}})}),define(ne[791],se([1,0,2,8,51,28,14,18,25,282,387,79,54,17,267,130,339]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";var c;Object.defineProperty(e,\"__esModule\",{value:!0}),e.DocumentSemanticTokensFeature=void 0;let l=class extends d.Disposable{constructor(C,f,h,v,w,S){super(),this._watchers=Object.create(null);const L=M=>{this._watchers[M.uri.toString()]=new a(M,C,h,w,S)},D=(M,A)=>{A.dispose(),delete this._watchers[M.uri.toString()]},T=()=>{for(const M of f.getModels()){const A=this._watchers[M.uri.toString()];(0,g.isSemanticColoringEnabled)(M,h,v)?A||L(M):A&&D(M,A)}};f.getModels().forEach(M=>{(0,g.isSemanticColoringEnabled)(M,h,v)&&L(M)}),this._register(f.onModelAdded(M=>{(0,g.isSemanticColoringEnabled)(M,h,v)&&L(M)})),this._register(f.onModelRemoved(M=>{const A=this._watchers[M.uri.toString()];A&&D(M,A)})),this._register(v.onDidChangeConfiguration(M=>{M.affectsConfiguration(g.SEMANTIC_HIGHLIGHTING_SETTING_ID)&&T()})),this._register(h.onDidColorThemeChange(T))}dispose(){for(const C of Object.values(this._watchers))C.dispose();super.dispose()}};e.DocumentSemanticTokensFeature=l,e.DocumentSemanticTokensFeature=l=ke([ce(0,i.ISemanticTokensStylingService),ce(1,I.IModelService),ce(2,_.IThemeService),ce(3,E.IConfigurationService),ce(4,n.ILanguageFeatureDebounceService),ce(5,t.ILanguageFeaturesService)],l);let a=class extends d.Disposable{static{c=this}static{this.REQUEST_MIN_DELAY=300}static{this.REQUEST_MAX_DELAY=2e3}constructor(C,f,h,v,w){super(),this._semanticTokensStylingService=f,this._isDisposed=!1,this._model=C,this._provider=w.documentSemanticTokensProvider,this._debounceInformation=v.for(this._provider,\"DocumentSemanticTokens\",{min:c.REQUEST_MIN_DELAY,max:c.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new y.RunOnceScheduler(()=>this._fetchDocumentSemanticTokensNow(),c.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const S=()=>{(0,d.dispose)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const L of this._provider.all(C))typeof L.onDidChange==\"function\"&&this._documentProvidersChangeListeners.push(L.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};S(),this._register(this._provider.onDidChange(()=>{S(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(h.onDidColorThemeChange(L=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),(0,d.dispose)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!(0,p.hasDocumentSemanticTokensProvider)(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const C=new m.CancellationTokenSource,f=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,h=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,v=(0,p.getDocumentSemanticTokens)(this._provider,this._model,f,h,C.token);this._currentDocumentRequestCancellationTokenSource=C,this._providersChangedDuringRequest=!1;const w=[],S=this._model.onDidChangeContent(D=>{w.push(D)}),L=new o.StopWatch(!1);v.then(D=>{if(this._debounceInformation.update(this._model,L.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,S.dispose(),!D)this._setDocumentSemanticTokens(null,null,null,w);else{const{provider:T,tokens:M}=D,A=this._semanticTokensStylingService.getStyling(T);this._setDocumentSemanticTokens(T,M||null,A,w)}},D=>{D&&(k.isCancellationError(D)||typeof D.message==\"string\"&&D.message.indexOf(\"busy\")!==-1)||k.onUnexpectedError(D),this._currentDocumentRequestCancellationTokenSource=null,S.dispose(),(w.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(C,f,h,v,w){w=Math.min(w,h.length-v,C.length-f);for(let S=0;S<w;S++)h[v+S]=C[f+S]}_setDocumentSemanticTokens(C,f,h,v){const w=this._currentDocumentResponse,S=()=>{(v.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){C&&f&&C.releaseDocumentSemanticTokens(f.resultId);return}if(!C||!h){this._model.tokenization.setSemanticTokens(null,!1);return}if(!f){this._model.tokenization.setSemanticTokens(null,!0),S();return}if((0,p.isSemanticTokensEdits)(f)){if(!w){this._model.tokenization.setSemanticTokens(null,!0);return}if(f.edits.length===0)f={resultId:f.resultId,data:w.data};else{let L=0;for(const P of f.edits)L+=(P.data?P.data.length:0)-P.deleteCount;const D=w.data,T=new Uint32Array(D.length+L);let M=D.length,A=T.length;for(let P=f.edits.length-1;P>=0;P--){const N=f.edits[P];if(N.start>D.length){h.warnInvalidEditStart(w.resultId,f.resultId,P,N.start,D.length),this._model.tokenization.setSemanticTokens(null,!0);return}const O=M-(N.start+N.deleteCount);O>0&&(c._copy(D,M-O,T,A-O,O),A-=O),N.data&&(c._copy(N.data,0,T,A-N.data.length,N.data.length),A-=N.data.length),M=N.start}M>0&&c._copy(D,0,T,0,M),f={resultId:f.resultId,data:T}}}if((0,p.isSemanticTokens)(f)){this._currentDocumentResponse=new r(C,f.resultId,f.data);const L=(0,b.toMultilineTokens2)(f,h,this._model.getLanguageId());if(v.length>0)for(const D of v)for(const T of L)for(const M of D.changes)T.applyEdit(M.range,M.text);this._model.tokenization.setSemanticTokens(L,!0)}else this._model.tokenization.setSemanticTokens(null,!0);S()}};a=c=ke([ce(1,i.ISemanticTokensStylingService),ce(2,_.IThemeService),ce(3,n.ILanguageFeatureDebounceService),ce(4,t.ILanguageFeaturesService)],a);class r{constructor(C,f,h){this.provider=C,this.resultId=f,this.data=h}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}(0,s.registerEditorFeature)(l)}),define(ne[792],se([1,0,14,2,15,387,339,282,28,25,79,54,17,267]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewportSemanticTokensContribution=void 0;let i=class extends k.Disposable{static{this.ID=\"editor.contrib.viewportSemanticTokens\"}constructor(g,c,l,a,r,u){super(),this._semanticTokensStylingService=c,this._themeService=l,this._configurationService=a,this._editor=g,this._provider=u.documentRangeSemanticTokensProvider,this._debounceInformation=r.for(this._provider,\"DocumentRangeSemanticTokens\",{min:100,max:500}),this._tokenizeViewport=this._register(new d.RunOnceScheduler(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const C=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{C()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),C()})),this._register(this._editor.onDidChangeModelContent(f=>{this._cancelAll(),C()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),C()})),this._register(this._configurationService.onDidChangeConfiguration(f=>{f.affectsConfiguration(y.SEMANTIC_HIGHLIGHTING_SETTING_ID)&&(this._cancelAll(),C())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),C()})),C()}_cancelAll(){for(const g of this._outstandingRequests)g.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(g){for(let c=0,l=this._outstandingRequests.length;c<l;c++)if(this._outstandingRequests[c]===g){this._outstandingRequests.splice(c,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const g=this._editor.getModel();if(g.tokenization.hasCompleteSemanticTokens())return;if(!(0,y.isSemanticColoringEnabled)(g,this._themeService,this._configurationService)){g.tokenization.hasSomeSemanticTokens()&&g.tokenization.setSemanticTokens(null,!1);return}if(!(0,E.hasDocumentRangeSemanticTokensProvider)(this._provider,g)){g.tokenization.hasSomeSemanticTokens()&&g.tokenization.setSemanticTokens(null,!1);return}const c=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(c.map(l=>this._requestRange(g,l)))}_requestRange(g,c){const l=g.getVersionId(),a=(0,d.createCancelablePromise)(u=>Promise.resolve((0,E.getDocumentRangeSemanticTokens)(this._provider,g,c,u))),r=new n.StopWatch(!1);return a.then(u=>{if(this._debounceInformation.update(g,r.elapsed()),!u||!u.tokens||g.isDisposed()||g.getVersionId()!==l)return;const{provider:C,tokens:f}=u,h=this._semanticTokensStylingService.getStyling(C);g.tokenization.setPartialSemanticTokens(c,(0,m.toMultilineTokens2)(f,h,g.getLanguageId()))}).then(()=>this._removeOutstandingRequest(a),()=>this._removeOutstandingRequest(a)),a}};e.ViewportSemanticTokensContribution=i,e.ViewportSemanticTokensContribution=i=ke([ce(1,t.ISemanticTokensStylingService),ce(2,b.IThemeService),ce(3,_.IConfigurationService),ce(4,p.ILanguageFeatureDebounceService),ce(5,o.ILanguageFeaturesService)],i),(0,I.registerEditorContribution)(i.ID,i,1)}),define(ne[793],se([1,0,5,254,26,30,6,82,2,22,27,708,51,43,3,382,71,25,402]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ItemRenderer=void 0,e.getAriaId=a;function a(h){return`suggest-aria-id:${h}`}const r=(0,g.registerIcon)(\"suggest-more-info\",I.Codicon.chevronRight,i.localize(1346,\"Icon for more information in the suggest widget.\")),u=new class xt{static{this._regexRelaxed=/(#([\\da-fA-F]{3}){1,2}|(rgb|hsl)a\\(\\s*(\\d{1,3}%?\\s*,\\s*){3}(1|0?\\.\\d+)\\)|(rgb|hsl)\\(\\s*\\d{1,3}%?(\\s*,\\s*\\d{1,3}%?){2}\\s*\\))/}static{this._regexStrict=new RegExp(`^${xt._regexRelaxed.source}$`,\"i\")}extract(v,w){if(v.textLabel.match(xt._regexStrict))return w[0]=v.textLabel,!0;if(v.completion.detail&&v.completion.detail.match(xt._regexStrict))return w[0]=v.completion.detail,!0;if(v.completion.documentation){const S=typeof v.completion.documentation==\"string\"?v.completion.documentation:v.completion.documentation.value,L=xt._regexRelaxed.exec(S);if(L&&(L.index===0||L.index+L[0].length===S.length))return w[0]=L[0],!0}return!1}};let C=class{constructor(v,w,S,L){this._editor=v,this._modelService=w,this._languageService=S,this._themeService=L,this._onDidToggleDetails=new y.Emitter,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId=\"suggestion\"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(v){const w=new _.DisposableStore,S=v;S.classList.add(\"show-file-icons\");const L=(0,d.append)(v,(0,d.$)(\".icon\")),D=(0,d.append)(L,(0,d.$)(\"span.colorspan\")),T=(0,d.append)(v,(0,d.$)(\".contents\")),M=(0,d.append)(T,(0,d.$)(\".main\")),A=(0,d.append)(M,(0,d.$)(\".icon-label.codicon\")),P=(0,d.append)(M,(0,d.$)(\"span.left\")),N=(0,d.append)(M,(0,d.$)(\"span.right\")),O=new k.IconLabel(P,{supportHighlights:!0,supportIcons:!0});w.add(O);const F=(0,d.append)(P,(0,d.$)(\"span.signature-label\")),x=(0,d.append)(P,(0,d.$)(\"span.qualifier-label\")),W=(0,d.append)(N,(0,d.$)(\"span.details-label\")),V=(0,d.append)(N,(0,d.$)(\"span.readMore\"+E.ThemeIcon.asCSSSelector(r)));return V.title=i.localize(1347,\"Read More\"),{root:S,left:P,right:N,icon:L,colorspan:D,iconLabel:O,iconContainer:A,parametersLabel:F,qualifierLabel:x,detailsLabel:W,readMore:V,disposables:w,configureFont:()=>{const H=this._editor.getOptions(),z=H.get(50),U=z.getMassagedFontFamily(),j=z.fontFeatureSettings,Y=H.get(120)||z.fontSize,G=H.get(121)||z.lineHeight,K=z.fontWeight,R=z.letterSpacing,J=`${Y}px`,ie=`${G}px`,ue=`${R}px`;S.style.fontSize=J,S.style.fontWeight=K,S.style.letterSpacing=ue,M.style.fontFamily=U,M.style.fontFeatureSettings=j,M.style.lineHeight=ie,L.style.height=ie,L.style.width=ie,V.style.height=ie,V.style.width=ie}}}renderElement(v,w,S){S.configureFont();const{completion:L}=v;S.root.id=a(w),S.colorspan.style.backgroundColor=\"\";const D={labelEscapeNewLines:!0,matches:(0,m.createMatches)(v.score)},T=[];if(L.kind===19&&u.extract(v,T))S.icon.className=\"icon customcolor\",S.iconContainer.className=\"icon hide\",S.colorspan.style.backgroundColor=T[0];else if(L.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){S.icon.className=\"icon hide\",S.iconContainer.className=\"icon hide\";const M=(0,n.getIconClasses)(this._modelService,this._languageService,b.URI.from({scheme:\"fake\",path:v.textLabel}),s.FileKind.FILE),A=(0,n.getIconClasses)(this._modelService,this._languageService,b.URI.from({scheme:\"fake\",path:L.detail}),s.FileKind.FILE);D.extraClasses=M.length>A.length?M:A}else L.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(S.icon.className=\"icon hide\",S.iconContainer.className=\"icon hide\",D.extraClasses=[(0,n.getIconClasses)(this._modelService,this._languageService,b.URI.from({scheme:\"fake\",path:v.textLabel}),s.FileKind.FOLDER),(0,n.getIconClasses)(this._modelService,this._languageService,b.URI.from({scheme:\"fake\",path:L.detail}),s.FileKind.FOLDER)].flat()):(S.icon.className=\"icon hide\",S.iconContainer.className=\"\",S.iconContainer.classList.add(\"suggest-icon\",...E.ThemeIcon.asClassNameArray(p.CompletionItemKinds.toIcon(L.kind))));L.tags&&L.tags.indexOf(1)>=0&&(D.extraClasses=(D.extraClasses||[]).concat([\"deprecated\"]),D.matches=[]),S.iconLabel.setLabel(v.textLabel,void 0,D),typeof L.label==\"string\"?(S.parametersLabel.textContent=\"\",S.detailsLabel.textContent=f(L.detail||\"\"),S.root.classList.add(\"string-label\")):(S.parametersLabel.textContent=f(L.label.detail||\"\"),S.detailsLabel.textContent=f(L.label.description||\"\"),S.root.classList.remove(\"string-label\")),this._editor.getOption(119).showInlineDetails?(0,d.show)(S.detailsLabel):(0,d.hide)(S.detailsLabel),(0,l.canExpandCompletionItem)(v)?(S.right.classList.add(\"can-expand-details\"),(0,d.show)(S.readMore),S.readMore.onmousedown=M=>{M.stopPropagation(),M.preventDefault()},S.readMore.onclick=M=>{M.stopPropagation(),M.preventDefault(),this._onDidToggleDetails.fire()}):(S.right.classList.remove(\"can-expand-details\"),(0,d.hide)(S.readMore),S.readMore.onmousedown=null,S.readMore.onclick=null)}disposeTemplate(v){v.disposables.dispose()}};e.ItemRenderer=C,e.ItemRenderer=C=ke([ce(1,o.IModelService),ce(2,t.ILanguageService),ce(3,c.IThemeService)],C);function f(h){return h.replace(/\\r\\n|\\r|\\n/g,\"\")}}),define(ne[794],se([1,0,787,38,156,34,107,6,15,20,66]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GotoLineAction=e.StandaloneGotoLineQuickAccessProvider=void 0;let n=class extends d.AbstractGotoLineQuickAccessProvider{constructor(i){super(),this.editorService=i,this.onDidActiveTextEditorControlChange=m.Event.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};e.StandaloneGotoLineQuickAccessProvider=n,e.StandaloneGotoLineQuickAccessProvider=n=ke([ce(0,E.ICodeEditorService)],n);class o extends _.EditorAction{static{this.ID=\"editor.action.gotoLine\"}constructor(){super({id:o.ID,label:y.GoToLineNLS.gotoLineActionLabel,alias:\"Go to Line/Column...\",precondition:void 0,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:2085,mac:{primary:293},weight:100}})}run(i){i.get(p.IQuickInputService).quickAccess.show(n.PREFIX)}}e.GotoLineAction=o,(0,_.registerEditorAction)(o),k.Registry.as(I.Extensions.Quickaccess).registerQuickAccessProvider({ctor:n,prefix:n.PREFIX,helpEntries:[{description:y.GoToLineNLS.gotoLineActionLabel,commandId:o.ID}]})}),define(ne[795],se([1,0,788,38,156,34,107,6,15,20,66,182,17,195,280]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GotoSymbolAction=e.StandaloneGotoSymbolQuickAccessProvider=void 0;let t=class extends d.AbstractGotoSymbolQuickAccessProvider{constructor(g,c,l){super(c,l),this.editorService=g,this.onDidActiveTextEditorControlChange=m.Event.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};e.StandaloneGotoSymbolQuickAccessProvider=t,e.StandaloneGotoSymbolQuickAccessProvider=t=ke([ce(0,E.ICodeEditorService),ce(1,o.ILanguageFeaturesService),ce(2,n.IOutlineModelService)],t);class i extends _.EditorAction{static{this.ID=\"editor.action.quickOutline\"}constructor(){super({id:i.ID,label:y.QuickOutlineNLS.quickOutlineActionLabel,alias:\"Go to Symbol...\",precondition:b.EditorContextKeys.hasDocumentSymbolProvider,kbOpts:{kbExpr:b.EditorContextKeys.focus,primary:3117,weight:100},contextMenuOpts:{group:\"navigation\",order:3}})}run(g){g.get(p.IQuickInputService).quickAccess.show(d.AbstractGotoSymbolQuickAccessProvider.PREFIX,{itemActivation:p.ItemActivation.NONE})}}e.GotoSymbolAction=i,(0,_.registerEditorAction)(i),k.Registry.as(I.Extensions.Quickaccess).registerQuickAccessProvider({ctor:t,prefix:d.AbstractGotoSymbolQuickAccessProvider.PREFIX,helpEntries:[{description:y.QuickOutlineNLS.quickOutlineActionLabel,prefix:d.AbstractGotoSymbolQuickAccessProvider.PREFIX,commandId:i.ID},{description:y.QuickOutlineNLS.quickOutlineByCategoryActionLabel,prefix:d.AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY}]})}),define(ne[418],se([1,0,5,42,771,34,12,49,25]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneCodeEditorService=void 0;let b=class extends I.AbstractCodeEditorService{constructor(n,o){super(o),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=n.createKey(\"editorIsOpen\",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(t,i,s)=>i?this.doOpenEditor(i,t):null))}_checkContextKey(){let n=!1;for(const o of this.listCodeEditors())if(!o.isSimpleWidget){n=!0;break}this._editorIsOpen.set(n)}setActiveCodeEditor(n){this._activeCodeEditor=n}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(n,o){if(!this.findModel(n,o.resource)){if(o.resource){const s=o.resource.scheme;if(s===k.Schemas.http||s===k.Schemas.https)return(0,d.windowOpenNoOpener)(o.resource.toString()),n}return null}const i=o.options?o.options.selection:null;if(i)if(typeof i.endLineNumber==\"number\"&&typeof i.endColumn==\"number\")n.setSelection(i),n.revealRangeInCenter(i,1);else{const s={lineNumber:i.startLineNumber,column:i.startColumn};n.setPosition(s),n.revealPositionInCenter(s,1)}return n}findModel(n,o){const t=n.getModel();return t&&t.uri.toString()!==o.toString()?null:t}};e.StandaloneCodeEditorService=b,e.StandaloneCodeEditorService=b=ke([ce(0,y.IContextKeyService),ce(1,_.IThemeService)],b),(0,m.registerSingleton)(E.ICodeEditorService,b,0)}),define(ne[796],se([1,0,80,32]),function(oe,e,d,k){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.hc_light=e.hc_black=e.vs_dark=e.vs=void 0,e.vs={base:\"vs\",inherit:!1,rules:[{token:\"\",foreground:\"000000\",background:\"fffffe\"},{token:\"invalid\",foreground:\"cd3131\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"001188\"},{token:\"variable.predefined\",foreground:\"4864AA\"},{token:\"constant\",foreground:\"dd0000\"},{token:\"comment\",foreground:\"008000\"},{token:\"number\",foreground:\"098658\"},{token:\"number.hex\",foreground:\"3030c0\"},{token:\"regexp\",foreground:\"800000\"},{token:\"annotation\",foreground:\"808080\"},{token:\"type\",foreground:\"008080\"},{token:\"delimiter\",foreground:\"000000\"},{token:\"delimiter.html\",foreground:\"383838\"},{token:\"delimiter.xml\",foreground:\"0000FF\"},{token:\"tag\",foreground:\"800000\"},{token:\"tag.id.pug\",foreground:\"4F76AC\"},{token:\"tag.class.pug\",foreground:\"4F76AC\"},{token:\"meta.scss\",foreground:\"800000\"},{token:\"metatag\",foreground:\"e00000\"},{token:\"metatag.content.html\",foreground:\"FF0000\"},{token:\"metatag.html\",foreground:\"808080\"},{token:\"metatag.xml\",foreground:\"808080\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"863B00\"},{token:\"string.key.json\",foreground:\"A31515\"},{token:\"string.value.json\",foreground:\"0451A5\"},{token:\"attribute.name\",foreground:\"FF0000\"},{token:\"attribute.value\",foreground:\"0451A5\"},{token:\"attribute.value.number\",foreground:\"098658\"},{token:\"attribute.value.unit\",foreground:\"098658\"},{token:\"attribute.value.html\",foreground:\"0000FF\"},{token:\"attribute.value.xml\",foreground:\"0000FF\"},{token:\"string\",foreground:\"A31515\"},{token:\"string.html\",foreground:\"0000FF\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"string.yaml\",foreground:\"0451A5\"},{token:\"keyword\",foreground:\"0000FF\"},{token:\"keyword.json\",foreground:\"0451A5\"},{token:\"keyword.flow\",foreground:\"AF00DB\"},{token:\"keyword.flow.scss\",foreground:\"0000FF\"},{token:\"operator.scss\",foreground:\"666666\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"666666\"},{token:\"predefined.sql\",foreground:\"C700C7\"}],colors:{[k.editorBackground]:\"#FFFFFE\",[k.editorForeground]:\"#000000\",[k.editorInactiveSelection]:\"#E5EBF1\",[d.editorIndentGuide1]:\"#D3D3D3\",[d.editorActiveIndentGuide1]:\"#939393\",[k.editorSelectionHighlight]:\"#ADD6FF4D\"}},e.vs_dark={base:\"vs-dark\",inherit:!1,rules:[{token:\"\",foreground:\"D4D4D4\",background:\"1E1E1E\"},{token:\"invalid\",foreground:\"f44747\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"74B0DF\"},{token:\"variable.predefined\",foreground:\"4864AA\"},{token:\"variable.parameter\",foreground:\"9CDCFE\"},{token:\"constant\",foreground:\"569CD6\"},{token:\"comment\",foreground:\"608B4E\"},{token:\"number\",foreground:\"B5CEA8\"},{token:\"number.hex\",foreground:\"5BB498\"},{token:\"regexp\",foreground:\"B46695\"},{token:\"annotation\",foreground:\"cc6666\"},{token:\"type\",foreground:\"3DC9B0\"},{token:\"delimiter\",foreground:\"DCDCDC\"},{token:\"delimiter.html\",foreground:\"808080\"},{token:\"delimiter.xml\",foreground:\"808080\"},{token:\"tag\",foreground:\"569CD6\"},{token:\"tag.id.pug\",foreground:\"4F76AC\"},{token:\"tag.class.pug\",foreground:\"4F76AC\"},{token:\"meta.scss\",foreground:\"A79873\"},{token:\"meta.tag\",foreground:\"CE9178\"},{token:\"metatag\",foreground:\"DD6A6F\"},{token:\"metatag.content.html\",foreground:\"9CDCFE\"},{token:\"metatag.html\",foreground:\"569CD6\"},{token:\"metatag.xml\",foreground:\"569CD6\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"9CDCFE\"},{token:\"string.key.json\",foreground:\"9CDCFE\"},{token:\"string.value.json\",foreground:\"CE9178\"},{token:\"attribute.name\",foreground:\"9CDCFE\"},{token:\"attribute.value\",foreground:\"CE9178\"},{token:\"attribute.value.number.css\",foreground:\"B5CEA8\"},{token:\"attribute.value.unit.css\",foreground:\"B5CEA8\"},{token:\"attribute.value.hex.css\",foreground:\"D4D4D4\"},{token:\"string\",foreground:\"CE9178\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"keyword\",foreground:\"569CD6\"},{token:\"keyword.flow\",foreground:\"C586C0\"},{token:\"keyword.json\",foreground:\"CE9178\"},{token:\"keyword.flow.scss\",foreground:\"569CD6\"},{token:\"operator.scss\",foreground:\"909090\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"909090\"},{token:\"predefined.sql\",foreground:\"FF00FF\"}],colors:{[k.editorBackground]:\"#1E1E1E\",[k.editorForeground]:\"#D4D4D4\",[k.editorInactiveSelection]:\"#3A3D41\",[d.editorIndentGuide1]:\"#404040\",[d.editorActiveIndentGuide1]:\"#707070\",[k.editorSelectionHighlight]:\"#ADD6FF26\"}},e.hc_black={base:\"hc-black\",inherit:!1,rules:[{token:\"\",foreground:\"FFFFFF\",background:\"000000\"},{token:\"invalid\",foreground:\"f44747\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"1AEBFF\"},{token:\"variable.parameter\",foreground:\"9CDCFE\"},{token:\"constant\",foreground:\"569CD6\"},{token:\"comment\",foreground:\"608B4E\"},{token:\"number\",foreground:\"FFFFFF\"},{token:\"regexp\",foreground:\"C0C0C0\"},{token:\"annotation\",foreground:\"569CD6\"},{token:\"type\",foreground:\"3DC9B0\"},{token:\"delimiter\",foreground:\"FFFF00\"},{token:\"delimiter.html\",foreground:\"FFFF00\"},{token:\"tag\",foreground:\"569CD6\"},{token:\"tag.id.pug\",foreground:\"4F76AC\"},{token:\"tag.class.pug\",foreground:\"4F76AC\"},{token:\"meta\",foreground:\"D4D4D4\"},{token:\"meta.tag\",foreground:\"CE9178\"},{token:\"metatag\",foreground:\"569CD6\"},{token:\"metatag.content.html\",foreground:\"1AEBFF\"},{token:\"metatag.html\",foreground:\"569CD6\"},{token:\"metatag.xml\",foreground:\"569CD6\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"9CDCFE\"},{token:\"string.key\",foreground:\"9CDCFE\"},{token:\"string.value\",foreground:\"CE9178\"},{token:\"attribute.name\",foreground:\"569CD6\"},{token:\"attribute.value\",foreground:\"3FF23F\"},{token:\"string\",foreground:\"CE9178\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"keyword\",foreground:\"569CD6\"},{token:\"keyword.flow\",foreground:\"C586C0\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"909090\"},{token:\"predefined.sql\",foreground:\"FF00FF\"}],colors:{[k.editorBackground]:\"#000000\",[k.editorForeground]:\"#FFFFFF\",[d.editorIndentGuide1]:\"#FFFFFF\",[d.editorActiveIndentGuide1]:\"#FFFFFF\"}},e.hc_light={base:\"hc-light\",inherit:!1,rules:[{token:\"\",foreground:\"292929\",background:\"FFFFFF\"},{token:\"invalid\",foreground:\"B5200D\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"264F70\"},{token:\"variable.predefined\",foreground:\"4864AA\"},{token:\"constant\",foreground:\"dd0000\"},{token:\"comment\",foreground:\"008000\"},{token:\"number\",foreground:\"098658\"},{token:\"number.hex\",foreground:\"3030c0\"},{token:\"regexp\",foreground:\"800000\"},{token:\"annotation\",foreground:\"808080\"},{token:\"type\",foreground:\"008080\"},{token:\"delimiter\",foreground:\"000000\"},{token:\"delimiter.html\",foreground:\"383838\"},{token:\"tag\",foreground:\"800000\"},{token:\"tag.id.pug\",foreground:\"4F76AC\"},{token:\"tag.class.pug\",foreground:\"4F76AC\"},{token:\"meta.scss\",foreground:\"800000\"},{token:\"metatag\",foreground:\"e00000\"},{token:\"metatag.content.html\",foreground:\"B5200D\"},{token:\"metatag.html\",foreground:\"808080\"},{token:\"metatag.xml\",foreground:\"808080\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"863B00\"},{token:\"string.key.json\",foreground:\"A31515\"},{token:\"string.value.json\",foreground:\"0451A5\"},{token:\"attribute.name\",foreground:\"264F78\"},{token:\"attribute.value\",foreground:\"0451A5\"},{token:\"string\",foreground:\"A31515\"},{token:\"string.sql\",foreground:\"B5200D\"},{token:\"keyword\",foreground:\"0000FF\"},{token:\"keyword.flow\",foreground:\"AF00DB\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"666666\"},{token:\"predefined.sql\",foreground:\"C700C7\"}],colors:{[k.editorBackground]:\"#FFFFFF\",[k.editorForeground]:\"#292929\",[d.editorIndentGuide1]:\"#292929\",[d.editorActiveIndentGuide1]:\"#292929\"}}}),define(ne[419],se([1,0,5,64,33,6,27,148,572,796,38,32,25,2,97,767,52]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneThemeService=e.HC_LIGHT_THEME_NAME=e.HC_BLACK_THEME_NAME=e.VS_DARK_THEME_NAME=e.VS_LIGHT_THEME_NAME=void 0,e.VS_LIGHT_THEME_NAME=\"vs\",e.VS_DARK_THEME_NAME=\"vs-dark\",e.HC_BLACK_THEME_NAME=\"hc-black\",e.HC_LIGHT_THEME_NAME=\"hc-light\";const c=p.Registry.as(n.Extensions.ColorContribution),l=p.Registry.as(o.Extensions.ThemingContribution);class a{constructor(v,w){this.semanticHighlighting=!1,this.themeData=w;const S=w.base;v.length>0?(r(v)?this.id=v:this.id=S+\" \"+v,this.themeName=v):(this.id=S,this.themeName=S),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const v=new Map;for(const w in this.themeData.colors)v.set(w,I.Color.fromHex(this.themeData.colors[w]));if(this.themeData.inherit){const w=u(this.themeData.base);for(const S in w.colors)v.has(S)||v.set(S,I.Color.fromHex(w.colors[S]))}this.colors=v}return this.colors}getColor(v,w){const S=this.getColors().get(v);if(S)return S;if(w!==!1)return this.getDefault(v)}getDefault(v){let w=this.defaultColors[v];return w||(w=c.resolveDefaultColor(v,this),this.defaultColors[v]=w,w)}defines(v){return this.getColors().has(v)}get type(){switch(this.base){case e.VS_LIGHT_THEME_NAME:return i.ColorScheme.LIGHT;case e.HC_BLACK_THEME_NAME:return i.ColorScheme.HIGH_CONTRAST_DARK;case e.HC_LIGHT_THEME_NAME:return i.ColorScheme.HIGH_CONTRAST_LIGHT;default:return i.ColorScheme.DARK}}get tokenTheme(){if(!this._tokenTheme){let v=[],w=[];if(this.themeData.inherit){const D=u(this.themeData.base);v=D.rules,D.encodedTokensColors&&(w=D.encodedTokensColors)}const S=this.themeData.colors[\"editor.foreground\"],L=this.themeData.colors[\"editor.background\"];if(S||L){const D={token:\"\"};S&&(D.foreground=S),L&&(D.background=L),v.push(D)}v=v.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(w=this.themeData.encodedTokensColors),this._tokenTheme=_.TokenTheme.createFromRawTokenTheme(v,w)}return this._tokenTheme}getTokenStyleMetadata(v,w,S){const D=this.tokenTheme._match([v].concat(w).join(\".\")).metadata,T=m.TokenMetadata.getForeground(D),M=m.TokenMetadata.getFontStyle(D);return{foreground:T,italic:!!(M&1),bold:!!(M&2),underline:!!(M&4),strikethrough:!!(M&8)}}}function r(h){return h===e.VS_LIGHT_THEME_NAME||h===e.VS_DARK_THEME_NAME||h===e.HC_BLACK_THEME_NAME||h===e.HC_LIGHT_THEME_NAME}function u(h){switch(h){case e.VS_LIGHT_THEME_NAME:return b.vs;case e.VS_DARK_THEME_NAME:return b.vs_dark;case e.HC_BLACK_THEME_NAME:return b.hc_black;case e.HC_LIGHT_THEME_NAME:return b.hc_light}}function C(h){const v=u(h);return new a(h,v)}class f extends t.Disposable{constructor(){super(),this._onColorThemeChange=this._register(new E.Emitter),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new E.Emitter),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new s.UnthemedProductIconTheme,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(e.VS_LIGHT_THEME_NAME,C(e.VS_LIGHT_THEME_NAME)),this._knownThemes.set(e.VS_DARK_THEME_NAME,C(e.VS_DARK_THEME_NAME)),this._knownThemes.set(e.HC_BLACK_THEME_NAME,C(e.HC_BLACK_THEME_NAME)),this._knownThemes.set(e.HC_LIGHT_THEME_NAME,C(e.HC_LIGHT_THEME_NAME));const v=this._register((0,s.getIconsStyleSheet)(this));this._codiconCSS=v.getCSS(),this._themeCSS=\"\",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(e.VS_LIGHT_THEME_NAME),this._onOSSchemeChanged(),this._register(v.onDidChange(()=>{this._codiconCSS=v.getCSS(),this._updateCSS()})),(0,k.addMatchMediaChangeListener)(g.mainWindow,\"(forced-colors: active)\",()=>{this._onOSSchemeChanged()})}registerEditorContainer(v){return d.isInShadowDOM(v)?this._registerShadowDomContainer(v):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=d.createStyleSheet(void 0,v=>{v.className=\"monaco-colors\",v.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),t.Disposable.None}_registerShadowDomContainer(v){const w=d.createStyleSheet(v,S=>{S.className=\"monaco-colors\",S.textContent=this._allCSS});return this._styleElements.push(w),{dispose:()=>{for(let S=0;S<this._styleElements.length;S++)if(this._styleElements[S]===w){this._styleElements.splice(S,1);return}}}}defineTheme(v,w){if(!/^[a-z0-9\\-]+$/i.test(v))throw new Error(\"Illegal theme name!\");if(!r(w.base)&&!r(v))throw new Error(\"Illegal theme base!\");this._knownThemes.set(v,new a(v,w)),r(v)&&this._knownThemes.forEach(S=>{S.base===v&&S.notifyBaseUpdated()}),this._theme.themeName===v&&this.setTheme(v)}getColorTheme(){return this._theme}setColorMapOverride(v){this._colorMapOverride=v,this._updateThemeOrColorMap()}setTheme(v){let w;this._knownThemes.has(v)?w=this._knownThemes.get(v):w=this._knownThemes.get(e.VS_LIGHT_THEME_NAME),this._updateActualTheme(w)}_updateActualTheme(v){!v||this._theme===v||(this._theme=v,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const v=g.mainWindow.matchMedia(\"(forced-colors: active)\").matches;if(v!==(0,i.isHighContrast)(this._theme.type)){let w;(0,i.isDark)(this._theme.type)?w=v?e.HC_BLACK_THEME_NAME:e.VS_DARK_THEME_NAME:w=v?e.HC_LIGHT_THEME_NAME:e.VS_LIGHT_THEME_NAME,this._updateActualTheme(this._knownThemes.get(w))}}}setAutoDetectHighContrast(v){this._autoDetectHighContrast=v,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const v=[],w={},S={addRule:T=>{w[T]||(v.push(T),w[T]=!0)}};l.getThemingParticipants().forEach(T=>T(this._theme,S,this._environment));const L=[];for(const T of c.getColors()){const M=this._theme.getColor(T.id,!0);M&&L.push(`${(0,n.asCssVariableName)(T.id)}: ${M.toString()};`)}S.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${L.join(`\n`)} }`);const D=this._colorMapOverride||this._theme.tokenTheme.getColorMap();S.addRule((0,_.generateTokensCSSForColorMap)(D)),this._themeCSS=v.join(`\n`),this._updateCSS(),y.TokenizationRegistry.setColorMap(D),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._styleElements.forEach(v=>v.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}e.StandaloneThemeService=f}),define(ne[797],se([1,0,15,153,107,97,419]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});class m extends d.EditorAction{constructor(){super({id:\"editor.action.toggleHighContrast\",label:I.ToggleHighContrastNLS.toggleHighContrast,alias:\"Toggle High Contrast Theme\",precondition:void 0}),this._originalThemeName=null}run(b,p){const n=b.get(k.IStandaloneThemeService),o=n.getColorTheme();(0,E.isHighContrast)(o.type)?(n.setTheme(this._originalThemeName||((0,E.isDark)(o.type)?y.VS_DARK_THEME_NAME:y.VS_LIGHT_THEME_NAME)),this._originalThemeName=null):(n.setTheme((0,E.isDark)(o.type)?y.HC_BLACK_THEME_NAME:y.HC_LIGHT_THEME_NAME),this._originalThemeName=o.themeName)}}(0,d.registerEditorAction)(m)}),define(ne[124],se([1,0,5,47,151,359,41,247,2,16,3,29,381,12,58,7,31,50,101,25,30,97,19,32,110,61,542]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DropdownWithDefaultActionViewItem=e.SubmenuEntryActionViewItem=e.TextOnlyMenuEntryActionViewItem=e.MenuEntryActionViewItem=void 0,e.createAndFillInContextMenuActions=w,e.createAndFillInActionBarActions=S,e.createActionViewItem=N;function w(O,F,x,W){let V,q,H;if(Array.isArray(O))H=O,V=F,q=x;else{const j=F;H=O.getActions(j),V=x,q=W}const z=d.ModifierKeyEmitter.getInstance(),U=z.keyStatus.altKey||(b.isWindows||b.isLinux)&&z.keyStatus.shiftKey;L(H,V,U,q?j=>j===q:j=>j===\"navigation\")}function S(O,F,x,W,V,q){let H,z,U,j,Y;if(Array.isArray(O))Y=O,H=F,z=x,U=W,j=V;else{const K=F;Y=O.getActions(K),H=x,z=W,U=V,j=q}L(Y,H,!1,typeof z==\"string\"?K=>K===z:z,U,j)}function L(O,F,x,W=H=>H===\"navigation\",V=()=>!1,q=!1){let H,z;Array.isArray(F)?(H=F,z=F):(H=F.primary,z=F.secondary);const U=new Set;for(const[j,Y]of O){let G;W(j)?(G=H,G.length>0&&q&&G.push(new y.Separator)):(G=z,G.length>0&&G.push(new y.Separator));for(let K of Y){x&&(K=K instanceof n.MenuItemAction&&K.alt?K.alt:K);const R=G.push(K);K instanceof y.SubmenuAction&&U.add({group:j,action:K,index:R-1})}}for(const{group:j,action:Y,index:G}of U){const K=W(j)?H:z,R=Y.actions;V(Y,j,K.length)&&K.splice(G,1,...R)}}let D=class extends I.ActionViewItem{constructor(F,x,W,V,q,H,z,U){super(void 0,F,{icon:!!(F.class||F.item.icon),label:!F.class&&!F.item.icon,draggable:x?.draggable,keybinding:x?.keybinding,hoverDelegate:x?.hoverDelegate}),this._options=x,this._keybindingService=W,this._notificationService=V,this._contextKeyService=q,this._themeService=H,this._contextMenuService=z,this._accessibilityService=U,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new _.MutableDisposable),this._altKey=d.ModifierKeyEmitter.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(F){F.preventDefault(),F.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(x){this._notificationService.error(x)}}render(F){if(super.render(F),F.classList.add(\"menu-entry\"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let x=!1;const W=()=>{const V=!!this._menuItemAction.alt?.enabled&&(!this._accessibilityService.isMotionReduced()||x)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&x);V!==this._wantsAltCommand&&(this._wantsAltCommand=V,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(W)),this._register((0,d.addDisposableListener)(F,\"mouseleave\",V=>{x=!1,W()})),this._register((0,d.addDisposableListener)(F,\"mouseenter\",V=>{x=!0,W()})),W()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){const F=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),x=F&&F.getLabel(),W=this._commandAction.tooltip||this._commandAction.label;let V=x?(0,p.localize)(1483,\"{0} ({1})\",W,x):W;if(!this._wantsAltCommand&&this._menuItemAction.alt?.enabled){const q=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,H=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),z=H&&H.getLabel(),U=z?(0,p.localize)(1484,\"{0} ({1})\",q,z):q;V=(0,p.localize)(1485,`{0}\n[{1}] {2}`,V,m.UILabelProvider.modifierLabels[b.OS].altKey,U)}return V}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(F){this._itemClassDispose.value=void 0;const{element:x,label:W}=this;if(!x||!W)return;const V=this._commandAction.checked&&(0,o.isICommandActionToggleInfo)(F.toggled)&&F.toggled.icon?F.toggled.icon:F.icon;if(V)if(r.ThemeIcon.isThemeIcon(V)){const q=r.ThemeIcon.asClassNameArray(V);W.classList.add(...q),this._itemClassDispose.value=(0,_.toDisposable)(()=>{W.classList.remove(...q)})}else W.style.backgroundImage=(0,u.isDark)(this._themeService.getColorTheme().type)?(0,d.asCSSUrl)(V.dark):(0,d.asCSSUrl)(V.light),W.classList.add(\"icon\"),this._itemClassDispose.value=(0,_.combinedDisposable)((0,_.toDisposable)(()=>{W.style.backgroundImage=\"\",W.classList.remove(\"icon\")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};e.MenuEntryActionViewItem=D,e.MenuEntryActionViewItem=D=ke([ce(2,g.IKeybindingService),ce(3,c.INotificationService),ce(4,t.IContextKeyService),ce(5,a.IThemeService),ce(6,i.IContextMenuService),ce(7,v.IAccessibilityService)],D);class T extends D{render(F){this.options.label=!0,this.options.icon=!1,super.render(F),F.classList.add(\"text-only\"),F.classList.toggle(\"use-comma\",this._options?.useComma??!1)}updateLabel(){const F=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!F)return super.updateLabel();if(this.label){const x=T._symbolPrintEnter(F);this._options?.conversational?this.label.textContent=(0,p.localize)(1486,\"{1} to {0}\",this._action.label,x):this.label.textContent=(0,p.localize)(1487,\"{0} ({1})\",this._action.label,x)}}static _symbolPrintEnter(F){return F.getLabel()?.replace(/\\benter\\b/gi,\"\\u23CE\").replace(/\\bEscape\\b/gi,\"Esc\")}}e.TextOnlyMenuEntryActionViewItem=T;let M=class extends E.DropdownMenuActionViewItem{constructor(F,x,W,V,q){const H={...x,menuAsChild:x?.menuAsChild??!1,classNames:x?.classNames??(r.ThemeIcon.isThemeIcon(F.item.icon)?r.ThemeIcon.asClassName(F.item.icon):void 0),keybindingProvider:x?.keybindingProvider??(z=>W.lookupKeybinding(z.id))};super(F,{getActions:()=>F.actions},V,H),this._keybindingService=W,this._contextMenuService=V,this._themeService=q}render(F){super.render(F),(0,C.assertType)(this.element),F.classList.add(\"menu-entry\");const x=this._action,{icon:W}=x.item;if(W&&!r.ThemeIcon.isThemeIcon(W)){this.element.classList.add(\"icon\");const V=()=>{this.element&&(this.element.style.backgroundImage=(0,u.isDark)(this._themeService.getColorTheme().type)?(0,d.asCSSUrl)(W.dark):(0,d.asCSSUrl)(W.light))};V(),this._register(this._themeService.onDidColorThemeChange(()=>{V()}))}}};e.SubmenuEntryActionViewItem=M,e.SubmenuEntryActionViewItem=M=ke([ce(2,g.IKeybindingService),ce(3,i.IContextMenuService),ce(4,a.IThemeService)],M);let A=class extends I.BaseActionViewItem{constructor(F,x,W,V,q,H,z,U){super(null,F),this._keybindingService=W,this._notificationService=V,this._contextMenuService=q,this._menuService=H,this._instaService=z,this._storageService=U,this._container=null,this._options=x,this._storageKey=`${F.item.submenu.id}_lastActionId`;let j;const Y=x?.persistLastActionId?U.get(this._storageKey,1):void 0;Y&&(j=F.actions.find(K=>Y===K.id)),j||(j=F.actions[0]),this._defaultAction=this._instaService.createInstance(D,j,{keybinding:this._getDefaultActionKeybindingLabel(j)});const G={keybindingProvider:K=>this._keybindingService.lookupKeybinding(K.id),...x,menuAsChild:x?.menuAsChild??!0,classNames:x?.classNames??[\"codicon\",\"codicon-chevron-down\"],actionRunner:x?.actionRunner??new y.ActionRunner};this._dropdown=new E.DropdownMenuActionViewItem(F,F.actions,this._contextMenuService,G),this._register(this._dropdown.actionRunner.onDidRun(K=>{K.action instanceof n.MenuItemAction&&this.update(K.action)}))}update(F){this._options?.persistLastActionId&&this._storageService.store(this._storageKey,F.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(D,F,{keybinding:this._getDefaultActionKeybindingLabel(F)}),this._defaultAction.actionRunner=new class extends y.ActionRunner{async runAction(x,W){await x.run(void 0)}},this._container&&this._defaultAction.render((0,d.prepend)(this._container,(0,d.$)(\".action-container\")))}_getDefaultActionKeybindingLabel(F){let x;if(this._options?.renderKeybindingWithDefaultActionLabel){const W=this._keybindingService.lookupKeybinding(F.id);W&&(x=`(${W.getLabel()})`)}return x}setActionContext(F){super.setActionContext(F),this._defaultAction.setActionContext(F),this._dropdown.setActionContext(F)}render(F){this._container=F,super.render(this._container),this._container.classList.add(\"monaco-dropdown-with-default\");const x=(0,d.$)(\".action-container\");this._defaultAction.render((0,d.append)(this._container,x)),this._register((0,d.addDisposableListener)(x,d.EventType.KEY_DOWN,V=>{const q=new k.StandardKeyboardEvent(V);q.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),q.stopPropagation())}));const W=(0,d.$)(\".dropdown-action-container\");this._dropdown.render((0,d.append)(this._container,W)),this._register((0,d.addDisposableListener)(W,d.EventType.KEY_DOWN,V=>{const q=new k.StandardKeyboardEvent(V);q.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaultAction.element?.focus(),q.stopPropagation())}))}focus(F){F?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(F){F?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};e.DropdownWithDefaultActionViewItem=A,e.DropdownWithDefaultActionViewItem=A=ke([ce(2,g.IKeybindingService),ce(3,c.INotificationService),ce(4,i.IContextMenuService),ce(5,n.IMenuService),ce(6,s.IInstantiationService),ce(7,l.IStorageService)],A);let P=class extends I.SelectActionViewItem{constructor(F,x){super(null,F,F.actions.map(W=>({text:W.id===y.Separator.ID?\"\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\":W.label,isDisabled:!W.enabled})),0,x,h.defaultSelectBoxStyles,{ariaLabel:F.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,F.actions.findIndex(W=>W.checked)))}render(F){super.render(F),F.style.borderColor=(0,f.asCssVariable)(f.selectBorder)}runAction(F,x){const W=this.action.actions[x];W&&this.actionRunner.run(W)}};P=ke([ce(1,i.IContextViewService)],P);function N(O,F,x){return F instanceof n.MenuItemAction?O.createInstance(D,F,x):F instanceof n.SubmenuItemAction?F.item.isSelection?O.createInstance(P,F):F.item.rememberDefaultAction?O.createInstance(A,F,{...x,persistLastActionId:!0}):O.createInstance(M,F,x):void 0}}),define(ne[798],se([1,0,5,87,2,124,29,12,7]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SuggestWidgetStatus=void 0;let b=class{constructor(n,o,t,i,s){this._menuId=o,this._menuService=i,this._contextKeyService=s,this._menuDisposables=new I.DisposableStore,this.element=d.append(n,d.$(\".suggest-status-bar\"));const g=c=>c instanceof y.MenuItemAction?t.createInstance(E.TextOnlyMenuEntryActionViewItem,c,{useComma:!0}):void 0;this._leftActions=new k.ActionBar(this.element,{actionViewItemProvider:g}),this._rightActions=new k.ActionBar(this.element,{actionViewItemProvider:g}),this._leftActions.domNode.classList.add(\"left\"),this._rightActions.domNode.classList.add(\"right\")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const n=this._menuService.createMenu(this._menuId,this._contextKeyService),o=()=>{const t=[],i=[];for(const[s,g]of n.getActions())s===\"left\"?t.push(...g):i.push(...g);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(i)};this._menuDisposables.add(n.onDidChange(()=>o())),this._menuDisposables.add(n)}hide(){this._menuDisposables.clear()}};e.SuggestWidgetStatus=b,e.SuggestWidgetStatus=b=ke([ce(2,_.IInstantiationService),ce(3,y.IMenuService),ce(4,m.IContextKeyService)],b)}),define(ne[218],se([1,0,5,77,643,41,13,298,8,6,53,2,3,124,29,406,24,12,58,31,63]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MenuWorkbenchToolBar=e.WorkbenchToolBar=void 0;let u=class extends I.ToolBar{constructor(h,v,w,S,L,D,T,M){super(h,L,{getKeyBinding:P=>D.lookupKeybinding(P.id)??void 0,...v,allowContextMenu:!0,skipTelemetry:typeof v?.telemetrySource==\"string\"}),this._options=v,this._menuService=w,this._contextKeyService=S,this._contextMenuService=L,this._keybindingService=D,this._commandService=T,this._sessionDisposables=this._store.add(new n.DisposableStore);const A=v?.telemetrySource;A&&this._store.add(this.actionBar.onDidRun(P=>M.publicLog2(\"workbenchActionExecuted\",{id:P.action.id,from:A})))}setActions(h,v=[],w){this._sessionDisposables.clear();const S=h.slice(),L=v.slice(),D=[];let T=0;const M=[];let A=!1;if(this._options?.hiddenItemStrategy!==-1)for(let P=0;P<S.length;P++){const N=S[P];!(N instanceof i.MenuItemAction)&&!(N instanceof i.SubmenuItemAction)||N.hideActions&&(D.push(N.hideActions.toggle),N.hideActions.toggle.checked&&T++,N.hideActions.isHidden&&(A=!0,S[P]=void 0,this._options?.hiddenItemStrategy!==0&&(M[P]=N)))}if(this._options?.overflowBehavior!==void 0){const P=(0,m.intersection)(new Set(this._options.overflowBehavior.exempted),p.Iterable.map(S,F=>F?.id)),N=this._options.overflowBehavior.maxItems-P.size;let O=0;for(let F=0;F<S.length;F++){const x=S[F];x&&(O++,!P.has(x.id)&&O>=N&&(S[F]=void 0,M[F]=x))}}(0,y.coalesceInPlace)(S),(0,y.coalesceInPlace)(M),super.setActions(S,E.Separator.join(M,L)),(D.length>0||S.length>0)&&this._sessionDisposables.add((0,d.addDisposableListener)(this.getElement(),\"contextmenu\",P=>{const N=new k.StandardMouseEvent((0,d.getWindow)(this.getElement()),P),O=this.getItemAction(N.target);if(!O)return;N.preventDefault(),N.stopPropagation();const F=[];if(O instanceof i.MenuItemAction&&O.menuKeybinding)F.push(O.menuKeybinding);else if(!(O instanceof i.SubmenuItemAction||O instanceof I.ToggleMenuAction)){const W=!!this._keybindingService.lookupKeybinding(O.id);F.push((0,s.createConfigureKeybindingAction)(this._commandService,this._keybindingService,O.id,void 0,W))}if(D.length>0){let W=!1;if(T===1&&this._options?.hiddenItemStrategy===0){W=!0;for(let V=0;V<D.length;V++)if(D[V].checked){D[V]=(0,E.toAction)({id:O.id,label:O.label,checked:!0,enabled:!1,run(){}});break}}if(!W&&(O instanceof i.MenuItemAction||O instanceof i.SubmenuItemAction)){if(!O.hideActions)return;F.push(O.hideActions.hide)}else F.push((0,E.toAction)({id:\"label\",label:(0,o.localize)(1488,\"Hide\"),enabled:!1,run(){}}))}const x=E.Separator.join(F,D);this._options?.resetMenu&&!w&&(w=[this._options.resetMenu]),A&&w&&(x.push(new E.Separator),x.push((0,E.toAction)({id:\"resetThisMenu\",label:(0,o.localize)(1489,\"Reset Menu\"),run:()=>this._menuService.resetHiddenStates(w)}))),x.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>N,getActions:()=>x,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:typeof this._options?.telemetrySource==\"string\",contextKeyService:this._contextKeyService})}))}};e.WorkbenchToolBar=u,e.WorkbenchToolBar=u=ke([ce(2,i.IMenuService),ce(3,c.IContextKeyService),ce(4,l.IContextMenuService),ce(5,a.IKeybindingService),ce(6,g.ICommandService),ce(7,r.ITelemetryService)],u);let C=class extends u{constructor(h,v,w,S,L,D,T,M,A){super(h,{resetMenu:v,...w},S,L,D,T,M,A),this._onDidChangeMenuItems=this._store.add(new b.Emitter),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const P=this._store.add(S.createMenu(v,L,{emitEventsForSubmenuChanges:!0})),N=()=>{const O=[],F=[];(0,t.createAndFillInActionBarActions)(P,w?.menuOptions,{primary:O,secondary:F},w?.toolbarOptions?.primaryGroup,w?.toolbarOptions?.shouldInlineSubmenu,w?.toolbarOptions?.useSeparatorsInPrimaryActions),h.classList.toggle(\"has-no-actions\",O.length===0&&F.length===0),super.setActions(O,F)};this._store.add(P.onDidChange(()=>{N(),this._onDidChangeMenuItems.fire(this)})),N()}setActions(){throw new _.BugIndicatingError(\"This toolbar is populated from a menu.\")}};e.MenuWorkbenchToolBar=C,e.MenuWorkbenchToolBar=C=ke([ce(3,i.IMenuService),ce(4,c.IContextKeyService),ce(5,l.IContextMenuService),ce(6,a.IKeybindingService),ce(7,g.ICommandService),ce(8,r.ITelemetryService)],C)}),define(ne[799],se([1,0,5,2,21,65,363,88,654,365,55,68,4,104,105,581,218,29,12,118,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffEditorGutter=void 0;const u=[],C=35;let f=class extends k.Disposable{constructor(S,L,D,T,M,A,P,N,O){super(),this._diffModel=L,this._editors=D,this._options=T,this._sashLayout=M,this._boundarySashes=A,this._instantiationService=P,this._contextKeyService=N,this._menuService=O,this._menu=this._register(this._menuService.createMenu(c.MenuId.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=(0,I.observableFromEvent)(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(F=>F.length>0),this._showSash=(0,I.derived)(this,F=>this._options.renderSideBySide.read(F)&&this._hasActions.read(F)),this.width=(0,I.derived)(this,F=>this._hasActions.read(F)?C:0),this.elements=(0,d.h)(\"div.gutter@gutter\",{style:{position:\"absolute\",height:\"100%\",width:C+\"px\"}},[]),this._currentDiff=(0,I.derived)(this,F=>{const x=this._diffModel.read(F);if(!x)return;const W=x.diff.read(F)?.mappings,V=this._editors.modifiedCursor.read(F);if(V)return W?.find(q=>q.lineRangeMapping.modified.contains(V.lineNumber))}),this._selectedDiffs=(0,I.derived)(this,F=>{const W=this._diffModel.read(F)?.diff.read(F);if(!W)return u;const V=this._editors.modifiedSelections.read(F);if(V.every(U=>U.isEmpty()))return u;const q=new p.LineRangeSet(V.map(U=>p.LineRange.fromRangeInclusive(U))),z=W.mappings.filter(U=>U.lineRangeMapping.innerChanges&&q.intersects(U.lineRangeMapping.modified)).map(U=>({mapping:U,rangeMappings:U.lineRangeMapping.innerChanges.filter(j=>V.some(Y=>o.Range.areIntersecting(j.modifiedRange,Y)))}));return z.length===0||z.every(U=>U.rangeMappings.length===0)?u:z}),this._register((0,m.prependRemoveOnDispose)(S,this.elements.root)),this._register((0,d.addDisposableListener)(this.elements.root,\"click\",()=>{this._editors.modified.focus()})),this._register((0,m.applyStyle)(this.elements.root,{display:this._hasActions.map(F=>F?\"block\":\"none\")})),(0,E.derivedDisposable)(this,F=>this._showSash.read(F)?new y.DiffEditorSash(S,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,(0,E.derivedWithSetter)(this,W=>this._sashLayout.sashLeft.read(W)-C,(W,V)=>this._sashLayout.sashLeft.set(W+C,V)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new _.EditorGutter(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(F,x)=>{const W=this._diffModel.read(x);if(!W)return[];const V=W.diff.read(x);if(!V)return[];const q=this._selectedDiffs.read(x);if(q.length>0){const z=i.DetailedLineRangeMapping.fromRangeMappings(q.flatMap(U=>U.rangeMappings));return[new h(z,!0,c.MenuId.DiffEditorSelectionToolbar,void 0,W.model.original.uri,W.model.modified.uri)]}const H=this._currentDiff.read(x);return V.mappings.map(z=>new h(z.lineRangeMapping.withInnerChangesFromLineRanges(),z.lineRangeMapping===H?.lineRangeMapping,c.MenuId.DiffEditorHunkToolbar,void 0,W.model.original.uri,W.model.modified.uri))},createView:(F,x)=>this._instantiationService.createInstance(v,F,x,this)})),this._register((0,d.addDisposableListener)(this.elements.gutter,d.EventType.MOUSE_WHEEL,F=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(F)},{passive:!1}))}computeStagedValue(S){const L=S.innerChanges??[],D=new s.TextModelText(this._editors.modifiedModel.get()),T=new s.TextModelText(this._editors.original.getModel());return new t.TextEdit(L.map(P=>P.toTextEdit(D))).apply(T)}layout(S){this.elements.gutter.style.left=S+\"px\"}};e.DiffEditorGutter=f,e.DiffEditorGutter=f=ke([ce(6,r.IInstantiationService),ce(7,l.IContextKeyService),ce(8,c.IMenuService)],f);class h{constructor(S,L,D,T,M,A){this.mapping=S,this.showAlways=L,this.menuId=D,this.rangeOverride=T,this.originalUri=M,this.modifiedUri=A}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let v=class extends k.Disposable{constructor(S,L,D,T){super(),this._item=S,this._elements=(0,d.h)(\"div.gutterItem\",{style:{height:\"20px\",width:\"34px\"}},[(0,d.h)(\"div.background@background\",{},[]),(0,d.h)(\"div.buttons@buttons\",{},[])]),this._showAlways=this._item.map(this,A=>A.showAlways),this._menuId=this._item.map(this,A=>A.menuId),this._isSmall=(0,I.observableValue)(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const M=this._register(T.createInstance(a.WorkbenchHoverDelegate,\"element\",!0,{position:{hoverPosition:1}}));this._register((0,m.appendRemoveOnDispose)(L,this._elements.root)),this._register((0,I.autorun)(A=>{const P=this._showAlways.read(A);this._elements.root.classList.toggle(\"noTransition\",!0),this._elements.root.classList.toggle(\"showAlways\",P),setTimeout(()=>{this._elements.root.classList.toggle(\"noTransition\",!1)},0)})),this._register((0,I.autorunWithStore)((A,P)=>{this._elements.buttons.replaceChildren();const N=P.add(T.createInstance(g.MenuWorkbenchToolBar,this._elements.buttons,this._menuId.read(A),{orientation:1,hoverDelegate:M,toolbarOptions:{primaryGroup:O=>O.startsWith(\"primary\")},overflowBehavior:{maxItems:this._isSmall.read(A)?1:3},hiddenItemStrategy:0,actionRunner:new b.ActionRunnerWithContext(()=>{const O=this._item.get(),F=O.mapping;return{mapping:F,originalWithModifiedChanges:D.computeStagedValue(F),originalUri:O.originalUri,modifiedUri:O.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));P.add(N.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(S,L){this._lastItemRange=S,this._lastViewRange=L;let D=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&S.length<30,void 0),D=this._elements.buttons.clientHeight;const T=S.length/2-D/2,M=D;let A=S.start+T;const P=n.OffsetRange.tryCreate(M,L.endExclusive-M-D),N=n.OffsetRange.tryCreate(S.start+M,S.endExclusive-D-M);N&&P&&N.start<N.endExclusive&&(A=P.clip(A),A=N.clip(A)),this._elements.buttons.style.top=`${A-S.start}px`}};v=ke([ce(3,r.IInstantiationService)],v)}),define(ne[283],se([1,0,5,151,206,41,13,14,26,2,21,65,16,30,9,27,245,3,124,218,29,24,12,58,7,31,63,71,516]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S){\"use strict\";var L;Object.defineProperty(e,\"__esModule\",{value:!0}),e.CustomizedMenuWorkbenchToolBar=e.InlineSuggestionHintsContentWidget=e.InlineCompletionsHintsWidget=void 0;let D=class extends b.Disposable{constructor(x,W,V){super(),this.editor=x,this.model=W,this.instantiationService=V,this.alwaysShowToolbar=(0,p.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar===\"always\"),this.sessionPosition=void 0,this.position=(0,p.derived)(this,q=>{const H=this.model.read(q)?.primaryGhostText.read(q);if(!this.alwaysShowToolbar.read(q)||!H||H.parts.length===0)return this.sessionPosition=void 0,null;const z=H.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==H.lineNumber&&(this.sessionPosition=void 0);const U=new i.Position(H.lineNumber,Math.min(z,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=U,U}),this._register((0,p.autorunWithStore)((q,H)=>{const z=this.model.read(q);if(!z||!this.alwaysShowToolbar.read(q))return;const U=(0,n.derivedWithStore)((Y,G)=>{const K=G.add(this.instantiationService.createInstance(A,this.editor,!0,this.position,z.selectedInlineCompletionIndex,z.inlineCompletionsCount,z.activeCommands));return x.addContentWidget(K),G.add((0,b.toDisposable)(()=>x.removeContentWidget(K))),G.add((0,p.autorun)(R=>{this.position.read(R)&&z.lastTriggerKind.read(R)!==s.InlineCompletionTriggerKind.Explicit&&z.triggerExplicitly()})),K}),j=(0,p.derivedObservableWithCache)(this,(Y,G)=>!!this.position.read(Y)||!!G);H.add((0,p.autorun)(Y=>{j.read(Y)&&U.read(Y)}))}))}};e.InlineCompletionsHintsWidget=D,e.InlineCompletionsHintsWidget=D=ke([ce(2,h.IInstantiationService)],D);const T=(0,S.registerIcon)(\"inline-suggestion-hints-next\",_.Codicon.chevronRight,(0,c.localize)(1090,\"Icon for show next parameter hint.\")),M=(0,S.registerIcon)(\"inline-suggestion-hints-previous\",_.Codicon.chevronLeft,(0,c.localize)(1091,\"Icon for show previous parameter hint.\"));let A=class extends b.Disposable{static{L=this}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(x,W,V){const q=new E.Action(x,W,V,!0,()=>this._commandService.executeCommand(x)),H=this.keybindingService.lookupKeybinding(x,this._contextKeyService);let z=W;return H&&(z=(0,c.localize)(1092,\"{0} ({1})\",W,H.getLabel())),q.tooltip=z,q}constructor(x,W,V,q,H,z,U,j,Y,G,K){super(),this.editor=x,this.withBorder=W,this._position=V,this._currentSuggestionIdx=q,this._suggestionCount=H,this._extraCommands=z,this._commandService=U,this.keybindingService=Y,this._contextKeyService=G,this._menuService=K,this.id=`InlineSuggestionHintsContentWidget${L.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=(0,d.h)(\"div.inlineSuggestionsHints\",{className:this.withBorder?\".withBorder\":\"\"},[(0,d.h)(\"div@toolBar\")]),this.previousAction=this.createCommandAction(g.showPreviousInlineSuggestionActionId,(0,c.localize)(1093,\"Previous\"),t.ThemeIcon.asClassName(M)),this.availableSuggestionCountAction=new E.Action(\"inlineSuggestionHints.availableSuggestionCount\",\"\",void 0,!1),this.nextAction=this.createCommandAction(g.showNextInlineSuggestionActionId,(0,c.localize)(1094,\"Next\"),t.ThemeIcon.asClassName(T)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(r.MenuId.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new m.RunOnceScheduler(()=>{this.availableSuggestionCountAction.label=\"\"},100)),this.disableButtonsDebounced=this._register(new m.RunOnceScheduler(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(j.createInstance(O,this.nodes.toolBar,r.MenuId.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:R=>R.startsWith(\"primary\")},actionViewItemProvider:(R,J)=>{if(R instanceof r.MenuItemAction)return j.createInstance(N,R,void 0);if(R===this.availableSuggestionCountAction){const ie=new P(void 0,R,{label:!0,icon:!1});return ie.setClass(\"availableSuggestionCount\"),ie}},telemetrySource:\"InlineSuggestionToolbar\"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(R=>{L._dropDownVisible=R})),this._register((0,p.autorun)(R=>{this._position.read(R),this.editor.layoutContentWidget(this)})),this._register((0,p.autorun)(R=>{const J=this._suggestionCount.read(R),ie=this._currentSuggestionIdx.read(R);J!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${ie+1}/${J}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),J!==void 0&&J>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register((0,p.autorun)(R=>{const ie=this._extraCommands.read(R).map(ue=>({class:void 0,id:ue.id,enabled:!0,tooltip:ue.tooltip||\"\",label:ue.title,run:he=>this._commandService.executeCommand(ue.id)}));for(const[ue,he]of this.inlineCompletionsActionsMenus.getActions())for(const pe of he)pe instanceof r.MenuItemAction&&ie.push(pe);ie.length>0&&ie.unshift(new E.Separator),this.toolBar.setAdditionalSecondaryActions(ie)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};e.InlineSuggestionHintsContentWidget=A,e.InlineSuggestionHintsContentWidget=A=L=ke([ce(6,u.ICommandService),ce(7,h.IInstantiationService),ce(8,v.IKeybindingService),ce(9,C.IContextKeyService),ce(10,r.IMenuService)],A);class P extends k.ActionViewItem{constructor(){super(...arguments),this._className=void 0}setClass(x){this._className=x}render(x){super.render(x),this._className&&x.classList.add(this._className)}updateTooltip(){}}class N extends l.MenuEntryActionViewItem{updateLabel(){const x=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!x)return super.updateLabel();if(this.label){const W=(0,d.h)(\"div.keybinding\").root;this._register(new I.KeybindingLabel(W,o.OS,{disableTitle:!0,...I.unthemedKeybindingLabelOptions})).set(x),this.label.textContent=this._action.label,this.label.appendChild(W),this.label.classList.add(\"inlineSuggestionStatusBarItemLabel\")}}updateTooltip(){}}let O=class extends a.WorkbenchToolBar{constructor(x,W,V,q,H,z,U,j,Y){super(x,{resetMenu:W,...V},q,H,z,U,j,Y),this.menuId=W,this.options2=V,this.menuService=q,this.contextKeyService=H,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){const x=[],W=[];(0,l.createAndFillInActionBarActions)(this.menu,this.options2?.menuOptions,{primary:x,secondary:W},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),W.push(...this.additionalActions),x.unshift(...this.prependedPrimaryActions),this.setActions(x,W)}setPrependedPrimaryActions(x){(0,y.equals)(this.prependedPrimaryActions,x,(W,V)=>W===V)||(this.prependedPrimaryActions=x,this.updateToolbar())}setAdditionalSecondaryActions(x){(0,y.equals)(this.additionalActions,x,(W,V)=>W===V)||(this.additionalActions=x,this.updateToolbar())}};e.CustomizedMenuWorkbenchToolBar=O,e.CustomizedMenuWorkbenchToolBar=O=ke([ce(3,r.IMenuService),ce(4,C.IContextKeyService),ce(5,f.IContextMenuService),ce(6,v.IKeybindingService),ce(7,u.ICommandService),ce(8,w.ITelemetryService)],O)}),define(ne[800],se([1,0,5,206,41,13,2,21,16,9,124,218,29,24,12,58,7,31,63,519]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";var a;Object.defineProperty(e,\"__esModule\",{value:!0}),e.CustomizedMenuWorkbenchToolBar=e.InlineEditHintsContentWidget=e.InlineEditHintsWidget=void 0;let r=class extends y.Disposable{constructor(v,w,S){super(),this.editor=v,this.model=w,this.instantiationService=S,this.alwaysShowToolbar=(0,m.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar===\"always\"),this.sessionPosition=void 0,this.position=(0,m.derived)(this,L=>{const D=this.model.read(L)?.model.ghostText.read(L);if(!this.alwaysShowToolbar.read(L)||!D||D.parts.length===0)return this.sessionPosition=void 0,null;const T=D.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==D.lineNumber&&(this.sessionPosition=void 0);const M=new b.Position(D.lineNumber,Math.min(T,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=M,M}),this._register((0,m.autorunWithStore)((L,D)=>{if(!this.model.read(L)||!this.alwaysShowToolbar.read(L))return;const M=D.add(this.instantiationService.createInstance(u,this.editor,!0,this.position));v.addContentWidget(M),D.add((0,y.toDisposable)(()=>v.removeContentWidget(M)))}))}};e.InlineEditHintsWidget=r,e.InlineEditHintsWidget=r=ke([ce(2,g.IInstantiationService)],r);let u=class extends y.Disposable{static{a=this}static{this._dropDownVisible=!1}static{this.id=0}constructor(v,w,S,L,D,T){super(),this.editor=v,this.withBorder=w,this._position=S,this._contextKeyService=D,this._menuService=T,this.id=`InlineEditHintsContentWidget${a.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=(0,d.h)(\"div.inlineEditHints\",{className:this.withBorder?\".withBorder\":\"\"},[(0,d.h)(\"div@toolBar\")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(o.MenuId.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(L.createInstance(f,this.nodes.toolBar,this.editor,o.MenuId.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:M=>M.startsWith(\"primary\")},actionViewItemProvider:(M,A)=>{if(M instanceof o.MenuItemAction)return L.createInstance(C,M,void 0)},telemetrySource:\"InlineEditToolbar\"})),this._register(this.toolBar.onDidChangeDropdownVisibility(M=>{a._dropDownVisible=M})),this._register((0,m.autorun)(M=>{this._position.read(M),this.editor.layoutContentWidget(this)})),this._register((0,m.autorun)(M=>{const A=[];for(const[P,N]of this.inlineCompletionsActionsMenus.getActions())for(const O of N)O instanceof o.MenuItemAction&&A.push(O);A.length>0&&A.unshift(new I.Separator),this.toolBar.setAdditionalSecondaryActions(A)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};e.InlineEditHintsContentWidget=u,e.InlineEditHintsContentWidget=u=a=ke([ce(3,g.IInstantiationService),ce(4,i.IContextKeyService),ce(5,o.IMenuService)],u);class C extends p.MenuEntryActionViewItem{updateLabel(){const v=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!v)return super.updateLabel();if(this.label){const w=(0,d.h)(\"div.keybinding\").root;this._register(new k.KeybindingLabel(w,_.OS,{disableTitle:!0,...k.unthemedKeybindingLabelOptions})).set(v),this.label.textContent=this._action.label,this.label.appendChild(w),this.label.classList.add(\"inlineEditStatusBarItemLabel\")}}updateTooltip(){}}let f=class extends n.WorkbenchToolBar{constructor(v,w,S,L,D,T,M,A,P,N){super(v,{resetMenu:S,...L},D,T,M,A,P,N),this.editor=w,this.menuId=S,this.options2=L,this.menuService=D,this.contextKeyService=T,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){const v=[],w=[];(0,p.createAndFillInActionBarActions)(this.menu,this.options2?.menuOptions,{primary:v,secondary:w},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),w.push(...this.additionalActions),v.unshift(...this.prependedPrimaryActions),this.setActions(v,w)}setAdditionalSecondaryActions(v){(0,E.equals)(this.additionalActions,v,(w,S)=>w===S)||(this.additionalActions=v,this.updateToolbar())}};e.CustomizedMenuWorkbenchToolBar=f,e.CustomizedMenuWorkbenchToolBar=f=ke([ce(4,o.IMenuService),ce(5,i.IContextKeyService),ce(6,s.IContextMenuService),ce(7,c.IKeybindingService),ce(8,t.ICommandService),ce(9,l.ITelemetryService)],f)}),define(ne[801],se([1,0,5,41,6,2,124,29,12,31,50,63,761,58]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextMenuMenuDelegate=e.ContextMenuService=void 0;let i=class extends E.Disposable{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new o.ContextMenuHandler(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(c,l,a,r,u,C){super(),this.telemetryService=c,this.notificationService=l,this.contextViewService=a,this.keybindingService=r,this.menuService=u,this.contextKeyService=C,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new I.Emitter),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new I.Emitter)}configure(c){this.contextMenuHandler.configure(c)}showContextMenu(c){c=s.transform(c,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...c,onHide:l=>{c.onHide?.(l),this._onDidHideContextMenu.fire()}}),d.ModifierKeyEmitter.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};e.ContextMenuService=i,e.ContextMenuService=i=ke([ce(0,n.ITelemetryService),ce(1,p.INotificationService),ce(2,t.IContextViewService),ce(3,b.IKeybindingService),ce(4,m.IMenuService),ce(5,_.IContextKeyService)],i);var s;(function(g){function c(a){return a&&a.menuId instanceof m.MenuId}function l(a,r,u){if(!c(a))return a;const{menuId:C,menuActionOptions:f,contextKeyService:h}=a;return{...a,getActions:()=>{const v=[];if(C){const w=r.getMenuActions(C,h??u,f);(0,y.createAndFillInContextMenuActions)(w,v)}return a.getActions?k.Separator.join(a.getActions(),v):v}}}g.transform=l})(s||(e.ContextMenuMenuDelegate=s={}))}),define(ne[802],se([1,0,5,6,3,7,216,25,2,66,47,16,126,254,206,87,97,22,398,98,142,445,11,176,14,8,61,21,13]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L){\"use strict\";var D;Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickInputTree=void 0;const T=d.$;class M{constructor(Y,G,K){this.index=Y,this.hasCheckbox=G,this._hidden=!1,this._init=new a.Lazy(()=>{const R=K.label??\"\",J=(0,r.parseLabelWithIcons)(R).text.trim(),ie=K.ariaLabel||[R,this.saneDescription,this.saneDetail].map(ue=>(0,r.getCodiconAriaLabel)(ue)).filter(ue=>!!ue).join(\", \");return{saneLabel:R,saneSortLabel:J,saneAriaLabel:ie}}),this._saneDescription=K.description,this._saneTooltip=K.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(Y){this._element=Y}get hidden(){return this._hidden}set hidden(Y){this._hidden=Y}get saneDescription(){return this._saneDescription}set saneDescription(Y){this._saneDescription=Y}get saneDetail(){return this._saneDetail}set saneDetail(Y){this._saneDetail=Y}get saneTooltip(){return this._saneTooltip}set saneTooltip(Y){this._saneTooltip=Y}get labelHighlights(){return this._labelHighlights}set labelHighlights(Y){this._labelHighlights=Y}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(Y){this._descriptionHighlights=Y}get detailHighlights(){return this._detailHighlights}set detailHighlights(Y){this._detailHighlights=Y}}class A extends M{constructor(Y,G,K,R,J,ie){super(Y,G,J),this.fireButtonTriggered=K,this._onChecked=R,this.item=J,this._separator=ie,this._checked=!1,this.onChecked=G?k.Event.map(k.Event.filter(this._onChecked.event,ue=>ue.element===this),ue=>ue.checked):k.Event.None,this._saneDetail=J.detail,this._labelHighlights=J.highlights?.label,this._descriptionHighlights=J.highlights?.description,this._detailHighlights=J.highlights?.detail}get separator(){return this._separator}set separator(Y){this._separator=Y}get checked(){return this._checked}set checked(Y){Y!==this._checked&&(this._checked=Y,this._onChecked.fire({element:this,checked:Y}))}get checkboxDisabled(){return!!this.item.disabled}}var P;(function(j){j[j.NONE=0]=\"NONE\",j[j.MOUSE_HOVER=1]=\"MOUSE_HOVER\",j[j.ACTIVE_ITEM=2]=\"ACTIVE_ITEM\"})(P||(P={}));class N extends M{constructor(Y,G,K){super(Y,!1,K),this.fireSeparatorButtonTriggered=G,this.separator=K,this.children=new Array,this.focusInsideSeparator=P.NONE}}class O{getHeight(Y){return Y instanceof N?30:Y.saneDetail?44:22}getTemplateId(Y){return Y instanceof A?W.ID:V.ID}}class F{getWidgetAriaLabel(){return(0,I.localize)(1597,\"Quick Input\")}getAriaLabel(Y){return Y.separator?.label?`${Y.saneAriaLabel}, ${Y.separator.label}`:Y.saneAriaLabel}getWidgetRole(){return\"listbox\"}getRole(Y){return Y.hasCheckbox?\"checkbox\":\"option\"}isChecked(Y){if(!(!Y.hasCheckbox||!(Y instanceof A)))return{get value(){return Y.checked},onDidChange:G=>Y.onChecked(()=>G())}}}class x{constructor(Y){this.hoverDelegate=Y}renderTemplate(Y){const G=Object.create(null);G.toDisposeElement=new _.DisposableStore,G.toDisposeTemplate=new _.DisposableStore,G.entry=d.append(Y,T(\".quick-input-list-entry\"));const K=d.append(G.entry,T(\"label.quick-input-list-label\"));G.toDisposeTemplate.add(d.addStandardDisposableListener(K,d.EventType.CLICK,pe=>{G.checkbox.offsetParent||pe.preventDefault()})),G.checkbox=d.append(K,T(\"input.quick-input-list-checkbox\")),G.checkbox.type=\"checkbox\";const R=d.append(K,T(\".quick-input-list-rows\")),J=d.append(R,T(\".quick-input-list-row\")),ie=d.append(R,T(\".quick-input-list-row\"));G.label=new t.IconLabel(J,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),G.toDisposeTemplate.add(G.label),G.icon=d.prepend(G.label.element,T(\".quick-input-list-icon\"));const ue=d.append(J,T(\".quick-input-list-entry-keybinding\"));G.keybinding=new i.KeybindingLabel(ue,n.OS),G.toDisposeTemplate.add(G.keybinding);const he=d.append(ie,T(\".quick-input-list-label-meta\"));return G.detail=new t.IconLabel(he,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),G.toDisposeTemplate.add(G.detail),G.separator=d.append(G.entry,T(\".quick-input-list-separator\")),G.actionBar=new s.ActionBar(G.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),G.actionBar.domNode.classList.add(\"quick-input-list-entry-action-bar\"),G.toDisposeTemplate.add(G.actionBar),G}disposeTemplate(Y){Y.toDisposeElement.dispose(),Y.toDisposeTemplate.dispose()}disposeElement(Y,G,K){K.toDisposeElement.clear(),K.actionBar.clear()}}let W=class extends x{static{D=this}static{this.ID=\"quickpickitem\"}constructor(Y,G){super(Y),this.themeService=G,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return D.ID}renderTemplate(Y){const G=super.renderTemplate(Y);return G.toDisposeTemplate.add(d.addStandardDisposableListener(G.checkbox,d.EventType.CHANGE,K=>{G.element.checked=G.checkbox.checked})),G}renderElement(Y,G,K){const R=Y.element;K.element=R,R.element=K.entry??void 0;const J=R.item;K.checkbox.checked=R.checked,K.toDisposeElement.add(R.onChecked(de=>K.checkbox.checked=de)),K.checkbox.disabled=R.checkboxDisabled;const{labelHighlights:ie,descriptionHighlights:ue,detailHighlights:he}=R;if(J.iconPath){const de=(0,g.isDark)(this.themeService.getColorTheme().type)?J.iconPath.dark:J.iconPath.light??J.iconPath.dark,ge=c.URI.revive(de);K.icon.className=\"quick-input-list-icon\",K.icon.style.backgroundImage=d.asCSSUrl(ge)}else K.icon.style.backgroundImage=\"\",K.icon.className=J.iconClass?`quick-input-list-icon ${J.iconClass}`:\"\";let pe;!R.saneTooltip&&R.saneDescription&&(pe={markdown:{value:R.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:R.saneDescription});const ae={matches:ie||[],descriptionTitle:pe,descriptionMatches:ue||[],labelEscapeNewLines:!0};if(ae.extraClasses=J.iconClasses,ae.italic=J.italic,ae.strikethrough=J.strikethrough,K.entry.classList.remove(\"quick-input-list-separator-as-item\"),K.label.setLabel(R.saneLabel,R.saneDescription,ae),K.keybinding.set(J.keybinding),R.saneDetail){let de;R.saneTooltip||(de={markdown:{value:R.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:R.saneDetail}),K.detail.element.style.display=\"\",K.detail.setLabel(R.saneDetail,void 0,{matches:he,title:de,labelEscapeNewLines:!0})}else K.detail.element.style.display=\"none\";R.separator?.label?(K.separator.textContent=R.separator.label,K.separator.style.display=\"\",this.addItemWithSeparator(R)):K.separator.style.display=\"none\",K.entry.classList.toggle(\"quick-input-list-separator-border\",!!R.separator);const ee=J.buttons;ee&&ee.length?(K.actionBar.push(ee.map((de,ge)=>(0,l.quickInputButtonToAction)(de,`id-${ge}`,()=>R.fireButtonTriggered({button:de,item:R.item}))),{icon:!0,label:!1}),K.entry.classList.add(\"has-actions\")):K.entry.classList.remove(\"has-actions\")}disposeElement(Y,G,K){this.removeItemWithSeparator(Y.element),super.disposeElement(Y,G,K)}isItemWithSeparatorVisible(Y){return this._itemsWithSeparatorsFrequency.has(Y)}addItemWithSeparator(Y){this._itemsWithSeparatorsFrequency.set(Y,(this._itemsWithSeparatorsFrequency.get(Y)||0)+1)}removeItemWithSeparator(Y){const G=this._itemsWithSeparatorsFrequency.get(Y)||0;G>1?this._itemsWithSeparatorsFrequency.set(Y,G-1):this._itemsWithSeparatorsFrequency.delete(Y)}};W=D=ke([ce(1,m.IThemeService)],W);class V extends x{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}static{this.ID=\"quickpickseparator\"}get templateId(){return V.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(Y){return this._visibleSeparatorsFrequency.has(Y)}renderTemplate(Y){const G=super.renderTemplate(Y);return G.checkbox.style.display=\"none\",G}renderElement(Y,G,K){const R=Y.element;K.element=R,R.element=K.entry??void 0,R.element.classList.toggle(\"focus-inside\",!!R.focusInsideSeparator);const J=R.separator,{labelHighlights:ie,descriptionHighlights:ue,detailHighlights:he}=R;K.icon.style.backgroundImage=\"\",K.icon.className=\"\";let pe;!R.saneTooltip&&R.saneDescription&&(pe={markdown:{value:R.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:R.saneDescription});const ae={matches:ie||[],descriptionTitle:pe,descriptionMatches:ue||[],labelEscapeNewLines:!0};if(K.entry.classList.add(\"quick-input-list-separator-as-item\"),K.label.setLabel(R.saneLabel,R.saneDescription,ae),R.saneDetail){let de;R.saneTooltip||(de={markdown:{value:R.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:R.saneDetail}),K.detail.element.style.display=\"\",K.detail.setLabel(R.saneDetail,void 0,{matches:he,title:de,labelEscapeNewLines:!0})}else K.detail.element.style.display=\"none\";K.separator.style.display=\"none\",K.entry.classList.add(\"quick-input-list-separator-border\");const ee=J.buttons;ee&&ee.length?(K.actionBar.push(ee.map((de,ge)=>(0,l.quickInputButtonToAction)(de,`id-${ge}`,()=>R.fireSeparatorButtonTriggered({button:de,separator:R.separator}))),{icon:!0,label:!1}),K.entry.classList.add(\"has-actions\")):K.entry.classList.remove(\"has-actions\"),this.addSeparator(R)}disposeElement(Y,G,K){this.removeSeparator(Y.element),this.isSeparatorVisible(Y.element)||Y.element.element?.classList.remove(\"focus-inside\"),super.disposeElement(Y,G,K)}addSeparator(Y){this._visibleSeparatorsFrequency.set(Y,(this._visibleSeparatorsFrequency.get(Y)||0)+1)}removeSeparator(Y){const G=this._visibleSeparatorsFrequency.get(Y)||0;G>1?this._visibleSeparatorsFrequency.set(Y,G-1):this._visibleSeparatorsFrequency.delete(Y)}}let q=class extends _.Disposable{constructor(Y,G,K,R,J,ie){super(),this.parent=Y,this.hoverDelegate=G,this.linkOpenerDelegate=K,this.accessibilityService=ie,this._onKeyDown=new k.Emitter,this._onLeave=new k.Emitter,this.onLeave=this._onLeave.event,this._visibleCountObservable=(0,S.observableValue)(\"VisibleCount\",0),this.onChangedVisibleCount=k.Event.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=(0,S.observableValue)(\"AllVisibleChecked\",!1),this.onChangedAllVisibleChecked=k.Event.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=(0,S.observableValue)(\"CheckedCount\",0),this.onChangedCheckedCount=k.Event.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=(0,S.observableValueOpts)({equalsFn:L.equals},new Array),this.onChangedCheckedElements=k.Event.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new k.Emitter,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new k.Emitter,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new k.Emitter,this._elementCheckedEventBufferer=new k.EventBufferer,this._hasCheckboxes=!1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new _.DisposableStore),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=\"fuzzy\",this._sortByLabel=!0,this._shouldLoop=!0,this._container=d.append(this.parent,T(\".quick-input-list\")),this._separatorRenderer=new V(G),this._itemRenderer=J.createInstance(W,G),this._tree=this._register(J.createInstance(y.WorkbenchObjectTree,\"QuickInput\",this._container,new O,[this._itemRenderer,this._separatorRenderer],{filter:{filter(ue){return ue.hidden?0:ue instanceof N?2:1}},sorter:{compare:(ue,he)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;const pe=this._lastQueryString.toLowerCase();return U(ue,he,pe)}},accessibilityProvider:new F,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:f.RenderIndentGuides.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=R,this._registerListeners()}get onDidChangeFocus(){return k.Event.map(this._tree.onDidChangeFocus,Y=>Y.elements.filter(G=>G instanceof A).map(G=>G.item),this._store)}get onDidChangeSelection(){return k.Event.map(this._tree.onDidChangeSelection,Y=>({items:Y.elements.filter(G=>G instanceof A).map(G=>G.item),event:Y.browserEvent}),this._store)}get displayed(){return this._container.style.display!==\"none\"}set displayed(Y){this._container.style.display=Y?\"\":\"none\"}get scrollTop(){return this._tree.scrollTop}set scrollTop(Y){this._tree.scrollTop=Y}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(Y){this._tree.ariaLabel=Y??\"\"}set enabled(Y){this._tree.getHTMLElement().style.pointerEvents=Y?\"\":\"none\"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(Y){this._matchOnDescription=Y}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(Y){this._matchOnDetail=Y}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(Y){this._matchOnLabel=Y}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(Y){this._matchOnLabelMode=Y}get sortByLabel(){return this._sortByLabel}set sortByLabel(Y){this._sortByLabel=Y}get shouldLoop(){return this._shouldLoop}set shouldLoop(Y){this._shouldLoop=Y}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(Y=>{const G=new p.StandardKeyboardEvent(Y);switch(G.keyCode){case 10:this.toggleCheckbox();break}this._onKeyDown.fire(G)}))}_registerOnContainerClick(){this._register(d.addDisposableListener(this._container,d.EventType.CLICK,Y=>{(Y.x||Y.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(d.addDisposableListener(this._container,d.EventType.AUXCLICK,Y=>{Y.button===1&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{const Y=this._itemElements.filter(G=>!G.hidden).length;this._visibleCountObservable.set(Y,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(Y,G)=>G)(Y=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(Y=>{Y.element&&(Y.browserEvent.preventDefault(),this._tree.setSelection([Y.element]))}))}_registerHoverListeners(){const Y=this._register(new h.ThrottledDelayer(this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async G=>{if(d.isHTMLAnchorElement(G.browserEvent.target)){Y.cancel();return}if(!(!d.isHTMLAnchorElement(G.browserEvent.relatedTarget)&&d.isAncestor(G.browserEvent.relatedTarget,G.element?.element)))try{await Y.trigger(async()=>{G.element instanceof A&&this.showHover(G.element)})}catch(K){if(!(0,v.isCancellationError)(K))throw K}})),this._register(this._tree.onMouseOut(G=>{d.isAncestor(G.browserEvent.relatedTarget,G.element?.element)||Y.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(Y=>{const G=Y.elements[0]?this._tree.getParentElement(Y.elements[0]):null;for(const K of this._separatorRenderer.visibleSeparators){const R=K===G;!!(K.focusInsideSeparator&P.ACTIVE_ITEM)!==R&&(R?K.focusInsideSeparator|=P.ACTIVE_ITEM:K.focusInsideSeparator&=~P.ACTIVE_ITEM,this._tree.rerender(K))}})),this._register(this._tree.onMouseOver(Y=>{const G=Y.element?this._tree.getParentElement(Y.element):null;for(const K of this._separatorRenderer.visibleSeparators){if(K!==G)continue;!!(K.focusInsideSeparator&P.MOUSE_HOVER)||(K.focusInsideSeparator|=P.MOUSE_HOVER,this._tree.rerender(K))}})),this._register(this._tree.onMouseOut(Y=>{const G=Y.element?this._tree.getParentElement(Y.element):null;for(const K of this._separatorRenderer.visibleSeparators){if(K!==G)continue;!!(K.focusInsideSeparator&P.MOUSE_HOVER)&&(K.focusInsideSeparator&=~P.MOUSE_HOVER,this._tree.rerender(K))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(Y=>{const G=Y.elements.filter(K=>K instanceof A);G.length!==Y.elements.length&&(Y.elements.length===1&&Y.elements[0]instanceof N&&(this._tree.setFocus([Y.elements[0].children[0]]),this._tree.reveal(Y.elements[0],0)),this._tree.setSelection(G))}))}setAllVisibleChecked(Y){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(G=>{!G.hidden&&!G.checkboxDisabled&&(G.checked=Y)})})}setElements(Y){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=Y,this._hasCheckboxes=this.parent.classList.contains(\"show-checkboxes\");let G;this._itemElements=new Array,this._elementTree=Y.reduce((K,R,J)=>{let ie;if(R.type===\"separator\"){if(!R.buttons)return K;G=new N(J,ue=>this._onSeparatorButtonTriggered.fire(ue),R),ie=G}else{const ue=J>0?Y[J-1]:void 0;let he;ue&&ue.type===\"separator\"&&!ue.buttons&&(G=void 0,he=ue);const pe=new A(J,this._hasCheckboxes,ae=>this._onButtonTriggered.fire(ae),this._elementChecked,R,he);if(this._itemElements.push(pe),G)return G.children.push(pe),K;ie=pe}return K.push(ie),K},new Array),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout(()=>{const K=this._tree.getHTMLElement().querySelector(\".monaco-list-row.focused\"),R=K?.parentNode;if(K&&R){const J=K.nextSibling;K.remove(),R.insertBefore(K,J)}},0)}setFocusedElements(Y){const G=Y.map(K=>this._itemElements.find(R=>R.item===K)).filter(K=>!!K).filter(K=>!K.hidden);if(this._tree.setFocus(G),Y.length>0){const K=this._tree.getFocus()[0];K&&this._tree.reveal(K)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(\"aria-activedescendant\")}setSelectedElements(Y){const G=Y.map(K=>this._itemElements.find(R=>R.item===K)).filter(K=>!!K);this._tree.setSelection(G)}getCheckedElements(){return this._itemElements.filter(Y=>Y.checked).map(Y=>Y.item)}setCheckedElements(Y){this._elementCheckedEventBufferer.bufferEvents(()=>{const G=new Set;for(const K of Y)G.add(K);for(const K of this._itemElements)K.checked=G.has(K.item)})}focus(Y){if(this._itemElements.length)switch(Y===b.QuickPickFocus.Second&&this._itemElements.length<2&&(Y=b.QuickPickFocus.First),Y){case b.QuickPickFocus.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,G=>G.element instanceof A);break;case b.QuickPickFocus.Second:{this._tree.scrollTop=0;let G=!1;this._tree.focusFirst(void 0,K=>K.element instanceof A?G?!0:(G=!G,!1):!1);break}case b.QuickPickFocus.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,G=>G.element instanceof A);break;case b.QuickPickFocus.Next:{const G=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,R=>R.element instanceof A?(this._tree.reveal(R.element),!0):!1);const K=this._tree.getFocus();G.length&&G[0]===K[0]&&G[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}case b.QuickPickFocus.Previous:{const G=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,R=>{if(!(R.element instanceof A))return!1;const J=this._tree.getParentElement(R.element);return J===null||J.children[0]!==R.element?this._tree.reveal(R.element):this._tree.reveal(J),!0});const K=this._tree.getFocus();G.length&&G[0]===K[0]&&G[0]===this._itemElements[0]&&this._onLeave.fire();break}case b.QuickPickFocus.NextPage:this._tree.focusNextPage(void 0,G=>G.element instanceof A?(this._tree.reveal(G.element),!0):!1);break;case b.QuickPickFocus.PreviousPage:this._tree.focusPreviousPage(void 0,G=>{if(!(G.element instanceof A))return!1;const K=this._tree.getParentElement(G.element);return K===null||K.children[0]!==G.element?this._tree.reveal(G.element):this._tree.reveal(K),!0});break;case b.QuickPickFocus.NextSeparator:{let G=!1;const K=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,J=>{if(G)return!0;if(J.element instanceof N)G=!0,this._separatorRenderer.isSeparatorVisible(J.element)?this._tree.reveal(J.element.children[0]):this._tree.reveal(J.element,0);else if(J.element instanceof A){if(J.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(J.element)?this._tree.reveal(J.element):this._tree.reveal(J.element,0),!0;if(J.element===this._elementTree[0])return this._tree.reveal(J.element,0),!0}return!1});const R=this._tree.getFocus()[0];K===R&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,J=>J.element instanceof A));break}case b.QuickPickFocus.PreviousSeparator:{let G,K=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,R=>{if(R.element instanceof N)K?G||(this._separatorRenderer.isSeparatorVisible(R.element)?this._tree.reveal(R.element):this._tree.reveal(R.element,0),G=R.element.children[0]):K=!0;else if(R.element instanceof A&&!G){if(R.element.separator)this._itemRenderer.isItemWithSeparatorVisible(R.element)?this._tree.reveal(R.element):this._tree.reveal(R.element,0),G=R.element;else if(R.element===this._elementTree[0])return this._tree.reveal(R.element,0),!0}return!1}),G&&this._tree.setFocus([G]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(Y){this._tree.getHTMLElement().style.maxHeight=Y?`${Math.floor(Y/44)*44+6}px`:\"\",this._tree.layout()}filter(Y){if(this._lastQueryString=Y,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const G=Y;if(Y=Y.trim(),!Y||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(K=>{K.labelHighlights=void 0,K.descriptionHighlights=void 0,K.detailHighlights=void 0,K.hidden=!1;const R=K.index&&this._inputElements[K.index-1];K.item&&(K.separator=R&&R.type===\"separator\"&&!R.buttons?R:void 0)});else{let K;this._itemElements.forEach(R=>{let J;this.matchOnLabelMode===\"fuzzy\"?J=this.matchOnLabel?(0,r.matchesFuzzyIconAware)(Y,(0,r.parseLabelWithIcons)(R.saneLabel))??void 0:void 0:J=this.matchOnLabel?H(G,(0,r.parseLabelWithIcons)(R.saneLabel))??void 0:void 0;const ie=this.matchOnDescription?(0,r.matchesFuzzyIconAware)(Y,(0,r.parseLabelWithIcons)(R.saneDescription||\"\"))??void 0:void 0,ue=this.matchOnDetail?(0,r.matchesFuzzyIconAware)(Y,(0,r.parseLabelWithIcons)(R.saneDetail||\"\"))??void 0:void 0;if(J||ie||ue?(R.labelHighlights=J,R.descriptionHighlights=ie,R.detailHighlights=ue,R.hidden=!1):(R.labelHighlights=void 0,R.descriptionHighlights=void 0,R.detailHighlights=void 0,R.hidden=R.item?!R.item.alwaysShow:!0),R.item?R.separator=void 0:R.separator&&(R.hidden=!0),!this.sortByLabel){const he=R.index&&this._inputElements[R.index-1]||void 0;he?.type===\"separator\"&&!he.buttons&&(K=he),K&&!R.hidden&&(R.separator=K,K=void 0)}})}return this._setElementsToTree(this._sortByLabel&&Y?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{const Y=this._tree.getFocus().filter(K=>K instanceof A),G=this._allVisibleChecked(Y);for(const K of Y)K.checkboxDisabled||(K.checked=!G)})}style(Y){this._tree.style(Y)}toggleHover(){const Y=this._tree.getFocus()[0];if(!Y?.saneTooltip||!(Y instanceof A))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(Y);const G=new _.DisposableStore;G.add(this._tree.onDidChangeFocus(K=>{K.elements[0]instanceof A&&this.showHover(K.elements[0])})),this._lastHover&&G.add(this._lastHover),this._elementDisposable.add(G)}_setElementsToTree(Y){const G=new Array;for(const K of Y)K instanceof N?G.push({element:K,collapsible:!1,collapsed:!1,children:K.children.map(R=>({element:R,collapsible:!1,collapsed:!1}))}):G.push({element:K,collapsible:!1,collapsed:!1});this._tree.setChildren(null,G)}_allVisibleChecked(Y,G=!0){for(let K=0,R=Y.length;K<R;K++){const J=Y[K];if(!J.hidden)if(J.checked)G=!0;else return!1}return G}_updateCheckedObservables(){(0,S.transaction)(Y=>{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),Y);const G=this._itemElements.filter(K=>K.checked).length;this._checkedCountObservable.set(G,Y),this._checkedElementsObservable.set(this.getCheckedElements(),Y)})}showHover(Y){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),!(!Y.element||!Y.saneTooltip)&&(this._lastHover=this.hoverDelegate.showHover({content:Y.saneTooltip,target:Y.element,linkHandler:G=>{this.linkOpenerDelegate(G)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};e.QuickInputTree=q,ke([o.memoize],q.prototype,\"onDidChangeFocus\",null),ke([o.memoize],q.prototype,\"onDidChangeSelection\",null),e.QuickInputTree=q=ke([ce(4,E.IInstantiationService),ce(5,w.IAccessibilityService)],q);function H(j,Y){const{text:G,iconOffsets:K}=Y;if(!K||K.length===0)return z(j,G);const R=(0,C.ltrim)(G,\" \"),J=G.length-R.length,ie=z(j,R);if(ie)for(const ue of ie){const he=K[ue.start+J]+J;ue.start+=he,ue.end+=he}return ie}function z(j,Y){const G=Y.toLowerCase().indexOf(j.toLowerCase());return G!==-1?[{start:G,end:G+j.length}]:null}function U(j,Y,G){const K=j.labelHighlights||[],R=Y.labelHighlights||[];return K.length&&!R.length?-1:!K.length&&R.length?1:K.length===0&&R.length===0?0:(0,u.compareAnything)(j.saneSortLabel,Y.saneSortLabel,G)}}),define(ne[803],se([1,0,5,87,258,354,633,18,6,2,111,3,66,704,272,119,52,7,802,12,719]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){\"use strict\";var r;Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickInputController=void 0;const u=d.$;let C=class extends b.Disposable{static{r=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(h,v,w,S){super(),this.options=h,this.layoutService=v,this.instantiationService=w,this.contextKeyService=S,this.enabled=!0,this.onDidAcceptEmitter=this._register(new _.Emitter),this.onDidCustomEmitter=this._register(new _.Emitter),this.onDidTriggerButtonEmitter=this._register(new _.Emitter),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new _.Emitter),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new _.Emitter),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=i.InQuickInputContextKey.bindTo(this.contextKeyService),this.quickInputTypeContext=i.QuickInputTypeContextKey.bindTo(this.contextKeyService),this.endOfQuickInputBoxContext=i.EndOfQuickInputBoxContextKey.bindTo(this.contextKeyService),this.idPrefix=h.idPrefix,this._container=h.container,this.styles=h.styles,this._register(_.Event.runAndSubscribe(d.onDidRegisterWindow,({window:L,disposables:D})=>this.registerKeyModsListeners(L,D),{window:g.mainWindow,disposables:this._store})),this._register(d.onWillUnregisterWindow(L=>{this.ui&&d.getWindow(this.ui.container)===L&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}))}registerKeyModsListeners(h,v){const w=S=>{this.keyMods.ctrlCmd=S.ctrlKey||S.metaKey,this.keyMods.alt=S.altKey};for(const S of[d.EventType.KEY_DOWN,d.EventType.KEY_UP,d.EventType.MOUSE_DOWN])v.add(d.addDisposableListener(h,S,w,!0))}getUI(h){if(this.ui)return h&&d.getWindow(this._container)!==d.getWindow(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const v=d.append(this._container,u(\".quick-input-widget.show-file-icons\"));v.tabIndex=-1,v.style.display=\"none\";const w=d.createStyleSheet(v),S=d.append(v,u(\".quick-input-titlebar\")),L=this._register(new k.ActionBar(S,{hoverDelegate:this.options.hoverDelegate}));L.domNode.classList.add(\"quick-input-left-action-bar\");const D=d.append(S,u(\".quick-input-title\")),T=this._register(new k.ActionBar(S,{hoverDelegate:this.options.hoverDelegate}));T.domNode.classList.add(\"quick-input-right-action-bar\");const M=d.append(v,u(\".quick-input-header\")),A=d.append(M,u(\"input.quick-input-check-all\"));A.type=\"checkbox\",A.setAttribute(\"aria-label\",(0,n.localize)(1590,\"Toggle all checkboxes\")),this._register(d.addStandardDisposableListener(A,d.EventType.CHANGE,pe=>{const ae=A.checked;ue.setAllVisibleChecked(ae)})),this._register(d.addDisposableListener(A,d.EventType.CLICK,pe=>{(pe.x||pe.y)&&F.setFocus()}));const P=d.append(M,u(\".quick-input-description\")),N=d.append(M,u(\".quick-input-and-message\")),O=d.append(N,u(\".quick-input-filter\")),F=this._register(new t.QuickInputBox(O,this.styles.inputBox,this.styles.toggle));F.setAttribute(\"aria-describedby\",`${this.idPrefix}message`);const x=d.append(O,u(\".quick-input-visible-count\"));x.setAttribute(\"aria-live\",\"polite\"),x.setAttribute(\"aria-atomic\",\"true\");const W=new E.CountBadge(x,{countFormat:(0,n.localize)(1591,\"{0} Results\")},this.styles.countBadge),V=d.append(O,u(\".quick-input-count\"));V.setAttribute(\"aria-live\",\"polite\");const q=new E.CountBadge(V,{countFormat:(0,n.localize)(1592,\"{0} Selected\")},this.styles.countBadge),H=this._register(new k.ActionBar(M,{hoverDelegate:this.options.hoverDelegate}));H.domNode.classList.add(\"quick-input-inline-action-bar\");const z=d.append(M,u(\".quick-input-action\")),U=this._register(new I.Button(z,this.styles.button));U.label=(0,n.localize)(1593,\"OK\"),this._register(U.onDidClick(pe=>{this.onDidAcceptEmitter.fire()}));const j=d.append(M,u(\".quick-input-action\")),Y=this._register(new I.Button(j,{...this.styles.button,supportIcons:!0}));Y.label=(0,n.localize)(1594,\"Custom\"),this._register(Y.onDidClick(pe=>{this.onDidCustomEmitter.fire()}));const G=d.append(N,u(`#${this.idPrefix}message.quick-input-message`)),K=this._register(new y.ProgressBar(v,this.styles.progressBar));K.getContainer().classList.add(\"quick-input-progress\");const R=d.append(v,u(\".quick-input-html-widget\"));R.tabIndex=-1;const J=d.append(v,u(\".quick-input-description\")),ie=this.idPrefix+\"list\",ue=this._register(this.instantiationService.createInstance(l.QuickInputTree,v,this.options.hoverDelegate,this.options.linkOpenerDelegate,ie));F.setAttribute(\"aria-controls\",ie),this._register(ue.onDidChangeFocus(()=>{F.setAttribute(\"aria-activedescendant\",ue.getActiveDescendant()??\"\")})),this._register(ue.onChangedAllVisibleChecked(pe=>{A.checked=pe})),this._register(ue.onChangedVisibleCount(pe=>{W.setCount(pe)})),this._register(ue.onChangedCheckedCount(pe=>{q.setCount(pe)})),this._register(ue.onLeave(()=>{setTimeout(()=>{this.controller&&(F.setFocus(),this.controller instanceof i.QuickPick&&this.controller.canSelectMany&&ue.clearFocus())},0)}));const he=d.trackFocus(v);return this._register(he),this._register(d.addDisposableListener(v,d.EventType.FOCUS,pe=>{const ae=this.getUI();if(d.isAncestor(pe.relatedTarget,ae.inputContainer)){const ee=ae.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==ee&&this.endOfQuickInputBoxContext.set(ee)}d.isAncestor(pe.relatedTarget,ae.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=d.isHTMLElement(pe.relatedTarget)?pe.relatedTarget:void 0)},!0)),this._register(he.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(o.QuickInputHideReason.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(F.onKeyDown(pe=>{const ae=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==ae&&this.endOfQuickInputBoxContext.set(ae)})),this._register(d.addDisposableListener(v,d.EventType.FOCUS,pe=>{F.setFocus()})),this._register(d.addStandardDisposableListener(v,d.EventType.KEY_DOWN,pe=>{if(!d.isAncestor(pe.target,R))switch(pe.keyCode){case 3:d.EventHelper.stop(pe,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:d.EventHelper.stop(pe,!0),this.hide(o.QuickInputHideReason.Gesture);break;case 2:if(!pe.altKey&&!pe.ctrlKey&&!pe.metaKey){const ae=[\".quick-input-list .monaco-action-bar .always-visible\",\".quick-input-list-entry:hover .monaco-action-bar\",\".monaco-list-row.focused .monaco-action-bar\"];if(v.classList.contains(\"show-checkboxes\")?ae.push(\"input\"):ae.push(\"input[type=text]\"),this.getUI().list.displayed&&ae.push(\".monaco-list\"),this.getUI().message&&ae.push(\".quick-input-message a\"),this.getUI().widget){if(d.isAncestor(pe.target,this.getUI().widget))break;ae.push(\".quick-input-html-widget\")}const ee=v.querySelectorAll(ae.join(\", \"));pe.shiftKey&&pe.target===ee[0]?(d.EventHelper.stop(pe,!0),ue.clearFocus()):!pe.shiftKey&&d.isAncestor(pe.target,ee[ee.length-1])&&(d.EventHelper.stop(pe,!0),ee[0].focus())}break;case 10:pe.ctrlKey&&(d.EventHelper.stop(pe,!0),this.getUI().list.toggleHover());break}})),this.ui={container:v,styleSheet:w,leftActionBar:L,titleBar:S,title:D,description1:J,description2:P,widget:R,rightActionBar:T,inlineActionBar:H,checkAll:A,inputContainer:N,filterContainer:O,inputBox:F,visibleCountContainer:x,visibleCount:W,countContainer:V,count:q,okContainer:z,ok:U,message:G,customButtonContainer:j,customButton:Y,list:ue,progressBar:K,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:pe=>this.show(pe),hide:()=>this.hide(),setVisibilities:pe=>this.setVisibilities(pe),setEnabled:pe=>this.setEnabled(pe),setContextKey:pe=>this.options.setContextKey(pe),linkOpenerDelegate:pe=>this.options.linkOpenerDelegate(pe)},this.updateStyles(),this.ui}reparentUI(h){this.ui&&(this._container=h,d.append(this._container,this.ui.container))}pick(h,v={},w=m.CancellationToken.None){return new Promise((S,L)=>{let D=P=>{D=S,v.onKeyMods?.(T.keyMods),S(P)};if(w.isCancellationRequested){D(void 0);return}const T=this.createQuickPick({useSeparators:!0});let M;const A=[T,T.onDidAccept(()=>{if(T.canSelectMany)D(T.selectedItems.slice()),T.hide();else{const P=T.activeItems[0];P&&(D(P),T.hide())}}),T.onDidChangeActive(P=>{const N=P[0];N&&v.onDidFocus&&v.onDidFocus(N)}),T.onDidChangeSelection(P=>{if(!T.canSelectMany){const N=P[0];N&&(D(N),T.hide())}}),T.onDidTriggerItemButton(P=>v.onDidTriggerItemButton&&v.onDidTriggerItemButton({...P,removeItem:()=>{const N=T.items.indexOf(P.item);if(N!==-1){const O=T.items.slice(),F=O.splice(N,1),x=T.activeItems.filter(V=>V!==F[0]),W=T.keepScrollPosition;T.keepScrollPosition=!0,T.items=O,x&&(T.activeItems=x),T.keepScrollPosition=W}}})),T.onDidTriggerSeparatorButton(P=>v.onDidTriggerSeparatorButton?.(P)),T.onDidChangeValue(P=>{M&&!P&&(T.activeItems.length!==1||T.activeItems[0]!==M)&&(T.activeItems=[M])}),w.onCancellationRequested(()=>{T.hide()}),T.onDidHide(()=>{(0,b.dispose)(A),D(void 0)})];T.title=v.title,v.value&&(T.value=v.value),T.canSelectMany=!!v.canPickMany,T.placeholder=v.placeHolder,T.ignoreFocusOut=!!v.ignoreFocusLost,T.matchOnDescription=!!v.matchOnDescription,T.matchOnDetail=!!v.matchOnDetail,T.matchOnLabel=v.matchOnLabel===void 0||v.matchOnLabel,T.quickNavigate=v.quickNavigate,T.hideInput=!!v.hideInput,T.contextKey=v.contextKey,T.busy=!0,Promise.all([h,v.activeItem]).then(([P,N])=>{M=N,T.busy=!1,T.items=P,T.canSelectMany&&(T.selectedItems=P.filter(O=>O.type!==\"separator\"&&O.picked)),M&&(T.activeItems=[M])}),T.show(),Promise.resolve(h).then(void 0,P=>{L(P),T.hide()})})}createQuickPick(h={useSeparators:!1}){const v=this.getUI(!0);return new i.QuickPick(v)}createInputBox(){const h=this.getUI(!0);return new i.InputBox(h)}show(h){const v=this.getUI(!0);this.onShowEmitter.fire();const w=this.controller;this.controller=h,w?.didHide(),this.setEnabled(!0),v.leftActionBar.clear(),v.title.textContent=\"\",v.description1.textContent=\"\",v.description2.textContent=\"\",d.reset(v.widget),v.rightActionBar.clear(),v.inlineActionBar.clear(),v.checkAll.checked=!1,v.inputBox.placeholder=\"\",v.inputBox.password=!1,v.inputBox.showDecoration(p.default.Ignore),v.visibleCount.setCount(0),v.count.setCount(0),d.reset(v.message),v.progressBar.stop(),v.list.setElements([]),v.list.matchOnDescription=!1,v.list.matchOnDetail=!1,v.list.matchOnLabel=!0,v.list.sortByLabel=!0,v.ignoreFocusOut=!1,v.inputBox.toggles=void 0;const S=this.options.backKeybindingLabel();i.backButton.tooltip=S?(0,n.localize)(1595,\"Back ({0})\",S):(0,n.localize)(1596,\"Back\"),v.container.style.display=\"\",this.updateLayout(),v.inputBox.setFocus(),this.quickInputTypeContext.set(h.type)}isVisible(){return!!this.ui&&this.ui.container.style.display!==\"none\"}setVisibilities(h){const v=this.getUI();v.title.style.display=h.title?\"\":\"none\",v.description1.style.display=h.description&&(h.inputBox||h.checkAll)?\"\":\"none\",v.description2.style.display=h.description&&!(h.inputBox||h.checkAll)?\"\":\"none\",v.checkAll.style.display=h.checkAll?\"\":\"none\",v.inputContainer.style.display=h.inputBox?\"\":\"none\",v.filterContainer.style.display=h.inputBox?\"\":\"none\",v.visibleCountContainer.style.display=h.visibleCount?\"\":\"none\",v.countContainer.style.display=h.count?\"\":\"none\",v.okContainer.style.display=h.ok?\"\":\"none\",v.customButtonContainer.style.display=h.customButton?\"\":\"none\",v.message.style.display=h.message?\"\":\"none\",v.progressBar.getContainer().style.display=h.progressBar?\"\":\"none\",v.list.displayed=!!h.list,v.container.classList.toggle(\"show-checkboxes\",!!h.checkBox),v.container.classList.toggle(\"hidden-input\",!h.inputBox&&!h.description),this.updateLayout()}setEnabled(h){if(h!==this.enabled){this.enabled=h;for(const v of this.getUI().leftActionBar.viewItems)v.action.enabled=h;for(const v of this.getUI().rightActionBar.viewItems)v.action.enabled=h;this.getUI().checkAll.disabled=!h,this.getUI().inputBox.enabled=h,this.getUI().ok.enabled=h,this.getUI().list.enabled=h}}hide(h){const v=this.controller;if(!v)return;v.willHide(h);const w=this.ui?.container,S=w&&!d.isAncestorOfActiveElement(w);if(this.controller=null,this.onHideEmitter.fire(),w&&(w.style.display=\"none\"),!S){let L=this.previousFocusElement;for(;L&&!L.offsetParent;)L=L.parentElement??void 0;L?.offsetParent?(L.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}v.didHide(h)}layout(h,v){this.dimension=h,this.titleBarOffset=v,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const h=this.ui.container.style,v=Math.min(this.dimension.width*.62,r.MAX_WIDTH);h.width=v+\"px\",h.marginLeft=\"-\"+v/2+\"px\",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(h){this.styles=h,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:h,quickInputBackground:v,quickInputForeground:w,widgetBorder:S,widgetShadow:L}=this.styles.widget;this.ui.titleBar.style.backgroundColor=h??\"\",this.ui.container.style.backgroundColor=v??\"\",this.ui.container.style.color=w??\"\",this.ui.container.style.border=S?`1px solid ${S}`:\"\",this.ui.container.style.boxShadow=L?`0 0 8px 2px ${L}`:\"\",this.ui.list.style(this.styles.list);const D=[];this.styles.pickerGroup.pickerGroupBorder&&D.push(`.quick-input-list .quick-input-list-entry { border-top-color:  ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&D.push(`.quick-input-list .quick-input-list-separator { color:  ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&D.push(\".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }\"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(D.push(\".quick-input-list .monaco-keybinding > .monaco-keybinding-key {\"),this.styles.keybindingLabel.keybindingLabelBackground&&D.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&D.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&D.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&D.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&D.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),D.push(\"}\"));const T=D.join(`\n`);T!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=T)}}};e.QuickInputController=C,e.QuickInputController=C=r=ke([ce(1,s.ILayoutService),ce(2,c.IInstantiationService),ce(3,a.IContextKeyService)],C)}),define(ne[804],se([1,0,18,6,12,7,119,59,722,110,32,25,272,803,28,5]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickInputService=void 0;let g=class extends n.Themable{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(_.QuickAccessController))),this._quickAccess}constructor(l,a,r,u,C){super(r),this.instantiationService=l,this.contextKeyService=a,this.layoutService=u,this.configurationService=C,this._onShow=this._register(new k.Emitter),this._onHide=this._register(new k.Emitter),this.contexts=new Map}createController(l=this.layoutService,a){const r={idPrefix:\"quickInput_\",container:l.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:C=>this.setContextKey(C),linkOpenerDelegate:C=>{this.instantiationService.invokeFunction(f=>{f.get(m.IOpenerService).open(C,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>l.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(o.QuickInputHoverDelegate))},u=this._register(this.instantiationService.createInstance(t.QuickInputController,{...r,...a}));return u.layout(l.activeContainerDimension,l.activeContainerOffset.quickPickTop),this._register(l.onDidLayoutActiveContainer(C=>{(0,s.getWindow)(l.activeContainer)===(0,s.getWindow)(u.container)&&u.layout(C,l.activeContainerOffset.quickPickTop)})),this._register(l.onDidChangeActiveContainer(()=>{u.isVisible()||u.layout(l.activeContainerDimension,l.activeContainerOffset.quickPickTop)})),this._register(u.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(u.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),u}setContextKey(l){let a;l&&(a=this.contexts.get(l),a||(a=new I.RawContextKey(l,!1).bindTo(this.contextKeyService),this.contexts.set(l,a))),!(a&&a.get())&&(this.resetContextKeys(),a?.set(!0))}resetContextKeys(){this.contexts.forEach(l=>{l.get()&&l.reset()})}pick(l,a,r=d.CancellationToken.None){return this.controller.pick(l,a,r)}createQuickPick(l={useSeparators:!1}){return this.controller.createQuickPick(l)}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:(0,p.asCssVariable)(p.quickInputBackground),quickInputForeground:(0,p.asCssVariable)(p.quickInputForeground),quickInputTitleBackground:(0,p.asCssVariable)(p.quickInputTitleBackground),widgetBorder:(0,p.asCssVariable)(p.widgetBorder),widgetShadow:(0,p.asCssVariable)(p.widgetShadow)},inputBox:b.defaultInputBoxStyles,toggle:b.defaultToggleStyles,countBadge:b.defaultCountBadgeStyles,button:b.defaultButtonStyles,progressBar:b.defaultProgressBarStyles,keybindingLabel:b.defaultKeybindingLabelStyles,list:(0,b.getListStyles)({listBackground:p.quickInputBackground,listFocusBackground:p.quickInputListFocusBackground,listFocusForeground:p.quickInputListFocusForeground,listInactiveFocusForeground:p.quickInputListFocusForeground,listInactiveSelectionIconForeground:p.quickInputListFocusIconForeground,listInactiveFocusBackground:p.quickInputListFocusBackground,listFocusOutline:p.activeContrastBorder,listInactiveFocusOutline:p.activeContrastBorder}),pickerGroup:{pickerGroupBorder:(0,p.asCssVariable)(p.pickerGroupBorder),pickerGroupForeground:(0,p.asCssVariable)(p.pickerGroupForeground)}}}};e.QuickInputService=g,e.QuickInputService=g=ke([ce(0,E.IInstantiationService),ce(1,I.IContextKeyService),ce(2,n.IThemeService),ce(3,y.ILayoutService),ce(4,i.IConfigurationService)],g)}),define(ne[805],se([1,0,6,15,25,18,7,12,394,34,804,127,28,540]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.QuickInputEditorWidget=e.QuickInputEditorContribution=e.StandaloneQuickInputService=void 0;let t=class extends p.QuickInputService{constructor(l,a,r,u,C,f){super(a,r,u,new _.EditorScopedLayoutService(l.getContainerDomNode(),C),f),this.host=void 0;const h=s.get(l);if(h){const v=h.widget;this.host={_serviceBrand:void 0,get mainContainer(){return v.getDomNode()},getContainer(){return v.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[v.getDomNode()]},get activeContainer(){return v.getDomNode()},get mainContainerDimension(){return l.getLayoutInfo()},get activeContainerDimension(){return l.getLayoutInfo()},get onDidLayoutMainContainer(){return l.onDidLayoutChange},get onDidLayoutActiveContainer(){return l.onDidLayoutChange},get onDidLayoutContainer(){return d.Event.map(l.onDidLayoutChange,w=>({container:v.getDomNode(),dimension:w}))},get onDidChangeActiveContainer(){return d.Event.None},get onDidAddContainer(){return d.Event.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>l.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};t=ke([ce(1,y.IInstantiationService),ce(2,m.IContextKeyService),ce(3,I.IThemeService),ce(4,b.ICodeEditorService),ce(5,o.IConfigurationService)],t);let i=class{get activeService(){const l=this.codeEditorService.getFocusedCodeEditor();if(!l)throw new Error(\"Quick input service needs a focused editor to work.\");let a=this.mapEditorToService.get(l);if(!a){const r=a=this.instantiationService.createInstance(t,l);this.mapEditorToService.set(l,a),(0,n.createSingleCallFunction)(l.onDidDispose)(()=>{r.dispose(),this.mapEditorToService.delete(l)})}return a}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(l,a){this.instantiationService=l,this.codeEditorService=a,this.mapEditorToService=new Map}pick(l,a,r=E.CancellationToken.None){return this.activeService.pick(l,a,r)}createQuickPick(l={useSeparators:!1}){return this.activeService.createQuickPick(l)}createInputBox(){return this.activeService.createInputBox()}};e.StandaloneQuickInputService=i,e.StandaloneQuickInputService=i=ke([ce(0,y.IInstantiationService),ce(1,b.ICodeEditorService)],i);class s{static{this.ID=\"editor.controller.quickInput\"}static get(l){return l.getContribution(s.ID)}constructor(l){this.editor=l,this.widget=new g(this.editor)}dispose(){this.widget.dispose()}}e.QuickInputEditorContribution=s;class g{static{this.ID=\"editor.contrib.quickInputWidget\"}constructor(l){this.codeEditor=l,this.domNode=document.createElement(\"div\"),this.codeEditor.addOverlayWidget(this)}getId(){return g.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}e.QuickInputEditorWidget=g,(0,k.registerEditorContribution)(s.ID,s,4)}),define(ne[284],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UndoRedoSource=e.UndoRedoGroup=e.ResourceEditStackSnapshot=e.IUndoRedoService=void 0,e.IUndoRedoService=(0,d.createDecorator)(\"undoRedoService\");class k{constructor(m,_){this.resource=m,this.elements=_}}e.ResourceEditStackSnapshot=k;class I{static{this._ID=0}constructor(){this.id=I._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}static{this.None=new I}}e.UndoRedoGroup=I;class E{static{this._ID=0}constructor(){this.id=E._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}static{this.None=new E}}e.UndoRedoSource=E}),define(ne[35],se([1,0,13,33,8,6,2,11,22,145,230,9,4,23,197,43,36,40,661,783,370,329,577,578,371,662,202,707,263,132,7,284]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M){\"use strict\";var A;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ModelDecorationOptions=e.ModelDecorationInjectedTextOptions=e.ModelDecorationMinimapOptions=e.ModelDecorationGlyphMarginOptions=e.ModelDecorationOverviewRulerOptions=e.TextModel=void 0,e.createTextBufferFactory=P,e.createTextBufferFactoryFromSnapshot=N,e.createTextBuffer=O,e.indentOfLine=z;function P(X){const B=new v.PieceTreeTextBufferBuilder;return B.acceptChunk(X),B.finish()}function N(X){const B=new v.PieceTreeTextBufferBuilder;let $;for(;typeof($=X.read())==\"string\";)B.acceptChunk($);return B.finish()}function O(X,B){let $;return typeof X==\"string\"?$=P(X):c.isITextSnapshot(X)?$=N(X):$=X,$.create(B)}let F=0;const x=999,W=1e4;class V{constructor(B){this._source=B,this._eos=!1}read(){if(this._eos)return null;const B=[];let $=0,Q=0;do{const Z=this._source.read();if(Z===null)return this._eos=!0,$===0?null:B.join(\"\");if(Z.length>0&&(B[$++]=Z,Q+=Z.length),Q>=64*1024)return B.join(\"\")}while(!0)}}const q=()=>{throw new Error(\"Invalid change accessor\")};let H=class extends y.Disposable{static{A=this}static{this._MODEL_SYNC_LIMIT=50*1024*1024}static{this.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:i.EDITOR_MODEL_DEFAULTS.tabSize,indentSize:i.EDITOR_MODEL_DEFAULTS.indentSize,insertSpaces:i.EDITOR_MODEL_DEFAULTS.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:i.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,largeFileOptimizations:i.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,bracketPairColorizationOptions:i.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions}}static resolveOptions(B,$){if($.detectIndentation){const Q=(0,C.guessIndentation)(B,$.tabSize,$.insertSpaces);return new c.TextModelResolvedOptions({tabSize:Q.tabSize,indentSize:\"tabSize\",insertSpaces:Q.insertSpaces,trimAutoWhitespace:$.trimAutoWhitespace,defaultEOL:$.defaultEOL,bracketPairColorizationOptions:$.bracketPairColorizationOptions})}return new c.TextModelResolvedOptions($)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(B){return this._eventEmitter.slowEvent($=>B($.contentChangedEvent))}onDidChangeContentOrInjectedText(B){return(0,y.combinedDisposable)(this._eventEmitter.fastEvent($=>B($)),this._onDidChangeInjectedText.event($=>B($)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(B,$,Q,Z=null,te,re,le,me){super(),this._undoRedoService=te,this._languageService=re,this._languageConfigurationService=le,this.instantiationService=me,this._onWillDispose=this._register(new E.Emitter),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new de(Ae=>this.handleBeforeFireDecorationsChangedEvent(Ae))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new E.Emitter),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new E.Emitter),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new E.Emitter),this._eventEmitter=this._register(new ge),this._languageSelectionListener=this._register(new y.MutableDisposable),this._deltaDecorationCallCnt=0,this._attachedViews=new L.AttachedViews,F++,this.id=\"$model\"+F,this.isForSimpleWidget=Q.isForSimpleWidget,typeof Z>\"u\"||Z===null?this._associatedResource=_.URI.parse(\"inmemory://model/\"+F):this._associatedResource=Z,this._attachedEditorCount=0;const{textBuffer:Ce,disposable:ye}=O(B,Q.defaultEOL);this._buffer=Ce,this._bufferDisposable=ye,this._options=A.resolveOptions(this._buffer,Q);const Le=typeof $==\"string\"?$:$.languageId;typeof $!=\"string\"&&(this._languageSelectionListener.value=$.onDidChange(()=>this._setLanguage($.languageId))),this._bracketPairs=this._register(new l.BracketPairsTextModelPart(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new u.GuidesTextModelPart(this,this._languageConfigurationService)),this._decorationProvider=this._register(new a.ColorizedBracketPairsDecorationProvider(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(S.TokenizationTextModelPart,this,this._bracketPairs,Le,this._attachedViews);const Ee=this._buffer.getLineCount(),Me=this._buffer.getValueLengthInRange(new o.Range(1,1,Ee,this._buffer.getLineLength(Ee)+1),0);Q.largeFileOptimizations?(this._isTooLargeForTokenization=Me>A.LARGE_FILE_SIZE_THRESHOLD||Ee>A.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=Me>A.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=Me>A._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=m.singleLetterHash(F),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new G,this._commandManager=new r.EditStack(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(Le),this._register(this._languageConfigurationService.onDidChange(Ae=>{this._bracketPairs.handleLanguageConfigurationServiceChange(Ae),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(Ae)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const B=new h.PieceTreeTextBuffer([],\"\",`\n`,!1,!1,!0,!0);B.dispose(),this._buffer=B,this._bufferDisposable=y.Disposable.None}_assertNotDisposed(){if(this._isDisposed)throw new I.BugIndicatingError(\"Model is disposed!\")}_emitContentChangedEvent(B,$){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent($),this._bracketPairs.handleDidChangeContent($),this._eventEmitter.fire(new D.InternalModelContentChangeEvent(B,$)))}setValue(B){if(this._assertNotDisposed(),B==null)throw(0,I.illegalArgument)();const{textBuffer:$,disposable:Q}=O(B,this._options.defaultEOL);this._setValueFromTextBuffer($,Q)}_createContentChanged2(B,$,Q,Z,te,re,le,me){return{changes:[{range:B,rangeOffset:$,rangeLength:Q,text:Z}],eol:this._buffer.getEOL(),isEolChange:me,versionId:this.getVersionId(),isUndoing:te,isRedoing:re,isFlush:le}}_setValueFromTextBuffer(B,$){this._assertNotDisposed();const Q=this.getFullModelRange(),Z=this.getValueLengthInRange(Q),te=this.getLineCount(),re=this.getLineMaxColumn(te);this._buffer=B,this._bufferDisposable.dispose(),this._bufferDisposable=$,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new G,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new D.ModelRawContentChangedEvent([new D.ModelRawFlush],this._versionId,!1,!1),this._createContentChanged2(new o.Range(1,1,te,re),0,Z,this.getValue(),!1,!1,!0,!1))}setEOL(B){this._assertNotDisposed();const $=B===1?`\\r\n`:`\n`;if(this._buffer.getEOL()===$)return;const Q=this.getFullModelRange(),Z=this.getValueLengthInRange(Q),te=this.getLineCount(),re=this.getLineMaxColumn(te);this._onBeforeEOLChange(),this._buffer.setEOL($),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new D.ModelRawContentChangedEvent([new D.ModelRawEOLChanged],this._versionId,!1,!1),this._createContentChanged2(new o.Range(1,1,te,re),0,Z,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const B=this.getVersionId(),$=this._decorationsTree.collectNodesPostOrder();for(let Q=0,Z=$.length;Q<Z;Q++){const te=$[Q],re=te.range,le=te.cachedAbsoluteStart-te.start,me=this._buffer.getOffsetAt(re.startLineNumber,re.startColumn),Ce=this._buffer.getOffsetAt(re.endLineNumber,re.endColumn);te.cachedAbsoluteStart=me,te.cachedAbsoluteEnd=Ce,te.cachedVersionId=B,te.start=me-le,te.end=Ce-le,(0,f.recomputeMaxEnd)(te)}}onBeforeAttached(){return this._attachedEditorCount++,this._attachedEditorCount===1&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(B){this._attachedEditorCount--,this._attachedEditorCount===0&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(B)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let B=0,$=0;const Q=this._buffer.getLineCount();for(let Z=1;Z<=Q;Z++){const te=this._buffer.getLineLength(Z);te>=W?$+=te:B+=te}return $>B}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(B){this._assertNotDisposed();const $=typeof B.tabSize<\"u\"?B.tabSize:this._options.tabSize,Q=typeof B.indentSize<\"u\"?B.indentSize:this._options.originalIndentSize,Z=typeof B.insertSpaces<\"u\"?B.insertSpaces:this._options.insertSpaces,te=typeof B.trimAutoWhitespace<\"u\"?B.trimAutoWhitespace:this._options.trimAutoWhitespace,re=typeof B.bracketColorizationOptions<\"u\"?B.bracketColorizationOptions:this._options.bracketPairColorizationOptions,le=new c.TextModelResolvedOptions({tabSize:$,indentSize:Q,insertSpaces:Z,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:te,bracketPairColorizationOptions:re});if(this._options.equals(le))return;const me=this._options.createChangeEvent(le);this._options=le,this._bracketPairs.handleDidChangeOptions(me),this._decorationProvider.handleDidChangeOptions(me),this._onDidChangeOptions.fire(me)}detectIndentation(B,$){this._assertNotDisposed();const Q=(0,C.guessIndentation)(this._buffer,$,B);this.updateOptions({insertSpaces:Q.insertSpaces,tabSize:Q.tabSize,indentSize:Q.tabSize})}normalizeIndentation(B){return this._assertNotDisposed(),(0,p.normalizeIndentation)(B,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(B=null){const $=this.findMatches(m.UNUSUAL_LINE_TERMINATORS.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(B,$.map(Q=>({range:Q.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(B){this._assertNotDisposed();const $=this._validatePosition(B.lineNumber,B.column,0);return this._buffer.getOffsetAt($.lineNumber,$.column)}getPositionAt(B){this._assertNotDisposed();const $=Math.min(this._buffer.getLength(),Math.max(0,B));return this._buffer.getPositionAt($)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(B){this._versionId=B}_overwriteAlternativeVersionId(B){this._alternativeVersionId=B}_overwriteInitialUndoRedoSnapshot(B){this._initialUndoRedoSnapshot=B}getValue(B,$=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new I.BugIndicatingError(\"Operation would exceed heap memory limits\");const Q=this.getFullModelRange(),Z=this.getValueInRange(Q,B);return $?this._buffer.getBOM()+Z:Z}createSnapshot(B=!1){return new V(this._buffer.createSnapshot(B))}getValueLength(B,$=!1){this._assertNotDisposed();const Q=this.getFullModelRange(),Z=this.getValueLengthInRange(Q,B);return $?this._buffer.getBOM().length+Z:Z}getValueInRange(B,$=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(B),$)}getValueLengthInRange(B,$=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(B),$)}getCharacterCountInRange(B,$=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(B),$)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError(\"Illegal value for lineNumber\");return this._buffer.getLineContent(B)}getLineLength(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError(\"Illegal value for lineNumber\");return this._buffer.getLineLength(B)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new I.BugIndicatingError(\"Operation would exceed heap memory limits\");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===`\n`?0:1}getLineMinColumn(B){return this._assertNotDisposed(),1}getLineMaxColumn(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError(\"Illegal value for lineNumber\");return this._buffer.getLineLength(B)+1}getLineFirstNonWhitespaceColumn(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError(\"Illegal value for lineNumber\");return this._buffer.getLineFirstNonWhitespaceColumn(B)}getLineLastNonWhitespaceColumn(B){if(this._assertNotDisposed(),B<1||B>this.getLineCount())throw new I.BugIndicatingError(\"Illegal value for lineNumber\");return this._buffer.getLineLastNonWhitespaceColumn(B)}_validateRangeRelaxedNoAllocations(B){const $=this._buffer.getLineCount(),Q=B.startLineNumber,Z=B.startColumn;let te=Math.floor(typeof Q==\"number\"&&!isNaN(Q)?Q:1),re=Math.floor(typeof Z==\"number\"&&!isNaN(Z)?Z:1);if(te<1)te=1,re=1;else if(te>$)te=$,re=this.getLineMaxColumn(te);else if(re<=1)re=1;else{const Le=this.getLineMaxColumn(te);re>=Le&&(re=Le)}const le=B.endLineNumber,me=B.endColumn;let Ce=Math.floor(typeof le==\"number\"&&!isNaN(le)?le:1),ye=Math.floor(typeof me==\"number\"&&!isNaN(me)?me:1);if(Ce<1)Ce=1,ye=1;else if(Ce>$)Ce=$,ye=this.getLineMaxColumn(Ce);else if(ye<=1)ye=1;else{const Le=this.getLineMaxColumn(Ce);ye>=Le&&(ye=Le)}return Q===te&&Z===re&&le===Ce&&me===ye&&B instanceof o.Range&&!(B instanceof t.Selection)?B:new o.Range(te,re,Ce,ye)}_isValidPosition(B,$,Q){if(typeof B!=\"number\"||typeof $!=\"number\"||isNaN(B)||isNaN($)||B<1||$<1||(B|0)!==B||($|0)!==$)return!1;const Z=this._buffer.getLineCount();if(B>Z)return!1;if($===1)return!0;const te=this.getLineMaxColumn(B);if($>te)return!1;if(Q===1){const re=this._buffer.getLineCharCode(B,$-2);if(m.isHighSurrogate(re))return!1}return!0}_validatePosition(B,$,Q){const Z=Math.floor(typeof B==\"number\"&&!isNaN(B)?B:1),te=Math.floor(typeof $==\"number\"&&!isNaN($)?$:1),re=this._buffer.getLineCount();if(Z<1)return new n.Position(1,1);if(Z>re)return new n.Position(re,this.getLineMaxColumn(re));if(te<=1)return new n.Position(Z,1);const le=this.getLineMaxColumn(Z);if(te>=le)return new n.Position(Z,le);if(Q===1){const me=this._buffer.getLineCharCode(Z,te-2);if(m.isHighSurrogate(me))return new n.Position(Z,te-1)}return new n.Position(Z,te)}validatePosition(B){return this._assertNotDisposed(),B instanceof n.Position&&this._isValidPosition(B.lineNumber,B.column,1)?B:this._validatePosition(B.lineNumber,B.column,1)}_isValidRange(B,$){const Q=B.startLineNumber,Z=B.startColumn,te=B.endLineNumber,re=B.endColumn;if(!this._isValidPosition(Q,Z,0)||!this._isValidPosition(te,re,0))return!1;if($===1){const le=Z>1?this._buffer.getLineCharCode(Q,Z-2):0,me=re>1&&re<=this._buffer.getLineLength(te)?this._buffer.getLineCharCode(te,re-2):0,Ce=m.isHighSurrogate(le),ye=m.isHighSurrogate(me);return!Ce&&!ye}return!0}validateRange(B){if(this._assertNotDisposed(),B instanceof o.Range&&!(B instanceof t.Selection)&&this._isValidRange(B,1))return B;const Q=this._validatePosition(B.startLineNumber,B.startColumn,0),Z=this._validatePosition(B.endLineNumber,B.endColumn,0),te=Q.lineNumber,re=Q.column,le=Z.lineNumber,me=Z.column;{const Ce=re>1?this._buffer.getLineCharCode(te,re-2):0,ye=me>1&&me<=this._buffer.getLineLength(le)?this._buffer.getLineCharCode(le,me-2):0,Le=m.isHighSurrogate(Ce),Ee=m.isHighSurrogate(ye);return!Le&&!Ee?new o.Range(te,re,le,me):te===le&&re===me?new o.Range(te,re-1,le,me-1):Le&&Ee?new o.Range(te,re-1,le,me+1):Le?new o.Range(te,re-1,le,me):new o.Range(te,re,le,me+1)}return new o.Range(te,re,le,me)}modifyPosition(B,$){this._assertNotDisposed();const Q=this.getOffsetAt(B)+$;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,Q)))}getFullModelRange(){this._assertNotDisposed();const B=this.getLineCount();return new o.Range(1,1,B,this.getLineMaxColumn(B))}findMatchesLineByLine(B,$,Q,Z){return this._buffer.findMatchesLineByLine(B,$,Q,Z)}findMatches(B,$,Q,Z,te,re,le=x){this._assertNotDisposed();let me=null;$!==null&&(Array.isArray($)||($=[$]),$.every(Le=>o.Range.isIRange(Le))&&(me=$.map(Le=>this.validateRange(Le)))),me===null&&(me=[this.getFullModelRange()]),me=me.sort((Le,Ee)=>Le.startLineNumber-Ee.startLineNumber||Le.startColumn-Ee.startColumn);const Ce=[];Ce.push(me.reduce((Le,Ee)=>o.Range.areIntersecting(Le,Ee)?Le.plusRange(Ee):(Ce.push(Le),Ee)));let ye;if(!Q&&B.indexOf(`\n`)<0){const Ee=new w.SearchParams(B,Q,Z,te).parseSearchRequest();if(!Ee)return[];ye=Me=>this.findMatchesLineByLine(Me,Ee,re,le)}else ye=Le=>w.TextModelSearch.findMatches(this,new w.SearchParams(B,Q,Z,te),Le,re,le);return Ce.map(ye).reduce((Le,Ee)=>Le.concat(Ee),[])}findNextMatch(B,$,Q,Z,te,re){this._assertNotDisposed();const le=this.validatePosition($);if(!Q&&B.indexOf(`\n`)<0){const Ce=new w.SearchParams(B,Q,Z,te).parseSearchRequest();if(!Ce)return null;const ye=this.getLineCount();let Le=new o.Range(le.lineNumber,le.column,ye,this.getLineMaxColumn(ye)),Ee=this.findMatchesLineByLine(Le,Ce,re,1);return w.TextModelSearch.findNextMatch(this,new w.SearchParams(B,Q,Z,te),le,re),Ee.length>0||(Le=new o.Range(1,1,le.lineNumber,this.getLineMaxColumn(le.lineNumber)),Ee=this.findMatchesLineByLine(Le,Ce,re,1),Ee.length>0)?Ee[0]:null}return w.TextModelSearch.findNextMatch(this,new w.SearchParams(B,Q,Z,te),le,re)}findPreviousMatch(B,$,Q,Z,te,re){this._assertNotDisposed();const le=this.validatePosition($);return w.TextModelSearch.findPreviousMatch(this,new w.SearchParams(B,Q,Z,te),le,re)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(B){if((this.getEOL()===`\n`?0:1)!==B)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(B)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(B){return B instanceof c.ValidAnnotatedEditOperation?B:new c.ValidAnnotatedEditOperation(B.identifier||null,this.validateRange(B.range),B.text,B.forceMoveMarkers||!1,B.isAutoWhitespaceEdit||!1,B._isTracked||!1)}_validateEditOperations(B){const $=[];for(let Q=0,Z=B.length;Q<Z;Q++)$[Q]=this._validateEditOperation(B[Q]);return $}pushEditOperations(B,$,Q,Z){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(B,this._validateEditOperations($),Q,Z)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(B,$,Q,Z){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const te=$.map(le=>({range:this.validateRange(le.range),text:le.text}));let re=!0;if(B)for(let le=0,me=B.length;le<me;le++){const Ce=B[le];let ye=!1;for(let Le=0,Ee=te.length;Le<Ee;Le++){const Me=te[Le].range,Ae=Me.startLineNumber>Ce.endLineNumber,Ne=Ce.startLineNumber>Me.endLineNumber;if(!Ae&&!Ne){ye=!0;break}}if(!ye){re=!1;break}}if(re)for(let le=0,me=this._trimAutoWhitespaceLines.length;le<me;le++){const Ce=this._trimAutoWhitespaceLines[le],ye=this.getLineMaxColumn(Ce);let Le=!0;for(let Ee=0,Me=te.length;Ee<Me;Ee++){const Ae=te[Ee].range,Ne=te[Ee].text;if(!(Ce<Ae.startLineNumber||Ce>Ae.endLineNumber)&&!(Ce===Ae.startLineNumber&&Ae.startColumn===ye&&Ae.isEmpty()&&Ne&&Ne.length>0&&Ne.charAt(0)===`\n`)&&!(Ce===Ae.startLineNumber&&Ae.startColumn===1&&Ae.isEmpty()&&Ne&&Ne.length>0&&Ne.charAt(Ne.length-1)===`\n`)){Le=!1;break}}if(Le){const Ee=new o.Range(Ce,1,Ce,ye);$.push(new c.ValidAnnotatedEditOperation(null,Ee,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(B,$,Q,Z)}_applyUndo(B,$,Q,Z){const te=B.map(re=>{const le=this.getPositionAt(re.newPosition),me=this.getPositionAt(re.newEnd);return{range:new o.Range(le.lineNumber,le.column,me.lineNumber,me.column),text:re.oldText}});this._applyUndoRedoEdits(te,$,!0,!1,Q,Z)}_applyRedo(B,$,Q,Z){const te=B.map(re=>{const le=this.getPositionAt(re.oldPosition),me=this.getPositionAt(re.oldEnd);return{range:new o.Range(le.lineNumber,le.column,me.lineNumber,me.column),text:re.newText}});this._applyUndoRedoEdits(te,$,!1,!0,Q,Z)}_applyUndoRedoEdits(B,$,Q,Z,te,re){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=Q,this._isRedoing=Z,this.applyEdits(B,!1),this.setEOL($),this._overwriteAlternativeVersionId(te)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(re),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(B,$=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const Q=this._validateEditOperations(B);return this._doApplyEdits(Q,$)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(B,$){const Q=this._buffer.getLineCount(),Z=this._buffer.applyEdits(B,this._options.trimAutoWhitespace,$),te=this._buffer.getLineCount(),re=Z.changes;if(this._trimAutoWhitespaceLines=Z.trimAutoWhitespaceLineNumbers,re.length!==0){for(let Ce=0,ye=re.length;Ce<ye;Ce++){const Le=re[Ce];this._decorationsTree.acceptReplace(Le.rangeOffset,Le.rangeLength,Le.text.length,Le.forceMoveMarkers)}const le=[];this._increaseVersionId();let me=Q;for(let Ce=0,ye=re.length;Ce<ye;Ce++){const Le=re[Ce],[Ee]=(0,b.countEOL)(Le.text);this._onDidChangeDecorations.fire();const Me=Le.range.startLineNumber,Ae=Le.range.endLineNumber,Ne=Ae-Me,Ke=Ee,ze=Math.min(Ne,Ke),Ge=Ke-Ne,it=te-me-Ge+Me,Oe=it,Fe=it+Ke,fe=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new n.Position(Oe,1)),this.getOffsetAt(new n.Position(Fe,this.getLineMaxColumn(Fe))),0),_e=D.LineInjectedText.fromDecorations(fe),xe=new d.ArrayQueue(_e);for(let be=ze;be>=0;be--){const ve=Me+be,we=it+be;xe.takeFromEndWhile(Pe=>Pe.lineNumber>we);const Te=xe.takeFromEndWhile(Pe=>Pe.lineNumber===we);le.push(new D.ModelRawLineChanged(ve,this.getLineContent(we),Te))}if(ze<Ne){const be=Me+ze;le.push(new D.ModelRawLinesDeleted(be+1,Ae))}if(ze<Ke){const be=new d.ArrayQueue(_e),ve=Me+ze,we=Ke-ze,Te=te-me-we+ve+1,Pe=[],Be=[];for(let He=0;He<we;He++){const $e=Te+He;Be[He]=this.getLineContent($e),be.takeWhile(je=>je.lineNumber<$e),Pe[He]=be.takeWhile(je=>je.lineNumber===$e)}le.push(new D.ModelRawLinesInserted(ve+1,Me+Ke,Be,Pe))}me+=Ge}this._emitContentChangedEvent(new D.ModelRawContentChangedEvent(le,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:re,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return Z.reverseEdits===null?void 0:Z.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(B){if(B===null||B.size===0)return;const Q=Array.from(B).map(Z=>new D.ModelRawLineChanged(Z,this.getLineContent(Z),this._getInjectedTextInLine(Z)));this._onDidChangeInjectedText.fire(new D.ModelInjectedTextChangedEvent(Q))}changeDecorations(B,$=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations($,B)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(B,$){const Q={addDecoration:(te,re)=>this._deltaDecorationsImpl(B,[],[{range:te,options:re}])[0],changeDecoration:(te,re)=>{this._changeDecorationImpl(te,re)},changeDecorationOptions:(te,re)=>{this._changeDecorationOptionsImpl(te,ee(re))},removeDecoration:te=>{this._deltaDecorationsImpl(B,[te],[])},deltaDecorations:(te,re)=>te.length===0&&re.length===0?[]:this._deltaDecorationsImpl(B,te,re)};let Z=null;try{Z=$(Q)}catch(te){(0,I.onUnexpectedError)(te)}return Q.addDecoration=q,Q.changeDecoration=q,Q.changeDecorationOptions=q,Q.removeDecoration=q,Q.deltaDecorations=q,Z}deltaDecorations(B,$,Q=0){if(this._assertNotDisposed(),B||(B=[]),B.length===0&&$.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn(\"Invoking deltaDecorations recursively could lead to leaking decorations.\"),(0,I.onUnexpectedError)(new Error(\"Invoking deltaDecorations recursively could lead to leaking decorations.\"))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(Q,B,$)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(B){return this.getDecorationRange(B)}_setTrackedRange(B,$,Q){const Z=B?this._decorations[B]:null;if(!Z)return $?this._deltaDecorationsImpl(0,[],[{range:$,options:ae[Q]}],!0)[0]:null;if(!$)return this._decorationsTree.delete(Z),delete this._decorations[Z.id],null;const te=this._validateRangeRelaxedNoAllocations($),re=this._buffer.getOffsetAt(te.startLineNumber,te.startColumn),le=this._buffer.getOffsetAt(te.endLineNumber,te.endColumn);return this._decorationsTree.delete(Z),Z.reset(this.getVersionId(),re,le,te),Z.setOptions(ae[Q]),this._decorationsTree.insert(Z),Z.id}removeAllDecorationsWithOwnerId(B){if(this._isDisposed)return;const $=this._decorationsTree.collectNodesFromOwner(B);for(let Q=0,Z=$.length;Q<Z;Q++){const te=$[Q];this._decorationsTree.delete(te),delete this._decorations[te.id]}}getDecorationOptions(B){const $=this._decorations[B];return $?$.options:null}getDecorationRange(B){const $=this._decorations[B];return $?this._decorationsTree.getNodeRange(this,$):null}getLineDecorations(B,$=0,Q=!1){return B<1||B>this.getLineCount()?[]:this.getLinesDecorations(B,B,$,Q)}getLinesDecorations(B,$,Q=0,Z=!1,te=!1){const re=this.getLineCount(),le=Math.min(re,Math.max(1,B)),me=Math.min(re,Math.max(1,$)),Ce=this.getLineMaxColumn(me),ye=new o.Range(le,1,me,Ce),Le=this._getDecorationsInRange(ye,Q,Z,te);return(0,d.pushMany)(Le,this._decorationProvider.getDecorationsInRange(ye,Q,Z)),Le}getDecorationsInRange(B,$=0,Q=!1,Z=!1,te=!1){const re=this.validateRange(B),le=this._getDecorationsInRange(re,$,Q,te);return(0,d.pushMany)(le,this._decorationProvider.getDecorationsInRange(re,$,Q,Z)),le}getOverviewRulerDecorations(B=0,$=!1){return this._decorationsTree.getAll(this,B,$,!0,!1)}getInjectedTextDecorations(B=0){return this._decorationsTree.getAllInjectedText(this,B)}_getInjectedTextInLine(B){const $=this._buffer.getOffsetAt(B,1),Q=$+this._buffer.getLineLength(B),Z=this._decorationsTree.getInjectedTextInInterval(this,$,Q,0);return D.LineInjectedText.fromDecorations(Z).filter(te=>te.lineNumber===B)}getAllDecorations(B=0,$=!1){let Q=this._decorationsTree.getAll(this,B,$,!1,!1);return Q=Q.concat(this._decorationProvider.getAllDecorations(B,$)),Q}getAllMarginDecorations(B=0){return this._decorationsTree.getAll(this,B,!1,!1,!0)}_getDecorationsInRange(B,$,Q,Z){const te=this._buffer.getOffsetAt(B.startLineNumber,B.startColumn),re=this._buffer.getOffsetAt(B.endLineNumber,B.endColumn);return this._decorationsTree.getAllInInterval(this,te,re,$,Q,Z)}getRangeAt(B,$){return this._buffer.getRangeAt(B,$-B)}_changeDecorationImpl(B,$){const Q=this._decorations[B];if(!Q)return;if(Q.options.after){const le=this.getDecorationRange(B);this._onDidChangeDecorations.recordLineAffectedByInjectedText(le.endLineNumber)}if(Q.options.before){const le=this.getDecorationRange(B);this._onDidChangeDecorations.recordLineAffectedByInjectedText(le.startLineNumber)}const Z=this._validateRangeRelaxedNoAllocations($),te=this._buffer.getOffsetAt(Z.startLineNumber,Z.startColumn),re=this._buffer.getOffsetAt(Z.endLineNumber,Z.endColumn);this._decorationsTree.delete(Q),Q.reset(this.getVersionId(),te,re,Z),this._decorationsTree.insert(Q),this._onDidChangeDecorations.checkAffectedAndFire(Q.options),Q.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Z.endLineNumber),Q.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Z.startLineNumber)}_changeDecorationOptionsImpl(B,$){const Q=this._decorations[B];if(!Q)return;const Z=!!(Q.options.overviewRuler&&Q.options.overviewRuler.color),te=!!($.overviewRuler&&$.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(Q.options),this._onDidChangeDecorations.checkAffectedAndFire($),Q.options.after||$.after){const me=this._decorationsTree.getNodeRange(this,Q);this._onDidChangeDecorations.recordLineAffectedByInjectedText(me.endLineNumber)}if(Q.options.before||$.before){const me=this._decorationsTree.getNodeRange(this,Q);this._onDidChangeDecorations.recordLineAffectedByInjectedText(me.startLineNumber)}const re=Z!==te,le=j($)!==Y(Q);re||le?(this._decorationsTree.delete(Q),Q.setOptions($),this._decorationsTree.insert(Q)):Q.setOptions($)}_deltaDecorationsImpl(B,$,Q,Z=!1){const te=this.getVersionId(),re=$.length;let le=0;const me=Q.length;let Ce=0;this._onDidChangeDecorations.beginDeferredEmit();try{const ye=new Array(me);for(;le<re||Ce<me;){let Le=null;if(le<re){do Le=this._decorations[$[le++]];while(!Le&&le<re);if(Le){if(Le.options.after){const Ee=this._decorationsTree.getNodeRange(this,Le);this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ee.endLineNumber)}if(Le.options.before){const Ee=this._decorationsTree.getNodeRange(this,Le);this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ee.startLineNumber)}this._decorationsTree.delete(Le),Z||this._onDidChangeDecorations.checkAffectedAndFire(Le.options)}}if(Ce<me){if(!Le){const ze=++this._lastDecorationId,Ge=`${this._instanceId};${ze}`;Le=new f.IntervalNode(Ge,0,0),this._decorations[Ge]=Le}const Ee=Q[Ce],Me=this._validateRangeRelaxedNoAllocations(Ee.range),Ae=ee(Ee.options),Ne=this._buffer.getOffsetAt(Me.startLineNumber,Me.startColumn),Ke=this._buffer.getOffsetAt(Me.endLineNumber,Me.endColumn);Le.ownerId=B,Le.reset(te,Ne,Ke,Me),Le.setOptions(Ae),Le.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Me.endLineNumber),Le.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Me.startLineNumber),Z||this._onDidChangeDecorations.checkAffectedAndFire(Ae),this._decorationsTree.insert(Le),ye[Ce]=Le.id,Ce++}else Le&&delete this._decorations[Le.id]}return ye}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(B,$){typeof B==\"string\"?(this._languageSelectionListener.clear(),this._setLanguage(B,$)):(this._languageSelectionListener.value=B.onDidChange(()=>this._setLanguage(B.languageId,$)),this._setLanguage(B.languageId,$))}_setLanguage(B,$){this.tokenization.setLanguageId(B,$),this._languageService.requestRichLanguageFeatures(B)}getLanguageIdAtPosition(B,$){return this.tokenization.getLanguageIdAtPosition(B,$)}getWordAtPosition(B){return this._tokenizationTextModelPart.getWordAtPosition(B)}getWordUntilPosition(B){return this._tokenizationTextModelPart.getWordUntilPosition(B)}normalizePosition(B,$){return B}getLineIndentColumn(B){return z(this.getLineContent(B))+1}};e.TextModel=H,e.TextModel=H=A=ke([ce(4,M.IUndoRedoService),ce(5,s.ILanguageService),ce(6,g.ILanguageConfigurationService),ce(7,T.IInstantiationService)],H);function z(X){let B=0;for(const $ of X)if($===\" \"||$===\"\t\")B++;else break;return B}function U(X){return!!(X.options.overviewRuler&&X.options.overviewRuler.color)}function j(X){return!!X.after||!!X.before}function Y(X){return!!X.options.after||!!X.options.before}class G{constructor(){this._decorationsTree0=new f.IntervalTree,this._decorationsTree1=new f.IntervalTree,this._injectedTextDecorationsTree=new f.IntervalTree}ensureAllNodesHaveRanges(B){this.getAll(B,0,!1,!1,!1)}_ensureNodesHaveRanges(B,$){for(const Q of $)Q.range===null&&(Q.range=B.getRangeAt(Q.cachedAbsoluteStart,Q.cachedAbsoluteEnd));return $}getAllInInterval(B,$,Q,Z,te,re){const le=B.getVersionId(),me=this._intervalSearch($,Q,Z,te,le,re);return this._ensureNodesHaveRanges(B,me)}_intervalSearch(B,$,Q,Z,te,re){const le=this._decorationsTree0.intervalSearch(B,$,Q,Z,te,re),me=this._decorationsTree1.intervalSearch(B,$,Q,Z,te,re),Ce=this._injectedTextDecorationsTree.intervalSearch(B,$,Q,Z,te,re);return le.concat(me).concat(Ce)}getInjectedTextInInterval(B,$,Q,Z){const te=B.getVersionId(),re=this._injectedTextDecorationsTree.intervalSearch($,Q,Z,!1,te,!1);return this._ensureNodesHaveRanges(B,re).filter(le=>le.options.showIfCollapsed||!le.range.isEmpty())}getAllInjectedText(B,$){const Q=B.getVersionId(),Z=this._injectedTextDecorationsTree.search($,!1,Q,!1);return this._ensureNodesHaveRanges(B,Z).filter(te=>te.options.showIfCollapsed||!te.range.isEmpty())}getAll(B,$,Q,Z,te){const re=B.getVersionId(),le=this._search($,Q,Z,re,te);return this._ensureNodesHaveRanges(B,le)}_search(B,$,Q,Z,te){if(Q)return this._decorationsTree1.search(B,$,Z,te);{const re=this._decorationsTree0.search(B,$,Z,te),le=this._decorationsTree1.search(B,$,Z,te),me=this._injectedTextDecorationsTree.search(B,$,Z,te);return re.concat(le).concat(me)}}collectNodesFromOwner(B){const $=this._decorationsTree0.collectNodesFromOwner(B),Q=this._decorationsTree1.collectNodesFromOwner(B),Z=this._injectedTextDecorationsTree.collectNodesFromOwner(B);return $.concat(Q).concat(Z)}collectNodesPostOrder(){const B=this._decorationsTree0.collectNodesPostOrder(),$=this._decorationsTree1.collectNodesPostOrder(),Q=this._injectedTextDecorationsTree.collectNodesPostOrder();return B.concat($).concat(Q)}insert(B){Y(B)?this._injectedTextDecorationsTree.insert(B):U(B)?this._decorationsTree1.insert(B):this._decorationsTree0.insert(B)}delete(B){Y(B)?this._injectedTextDecorationsTree.delete(B):U(B)?this._decorationsTree1.delete(B):this._decorationsTree0.delete(B)}getNodeRange(B,$){const Q=B.getVersionId();return $.cachedVersionId!==Q&&this._resolveNode($,Q),$.range===null&&($.range=B.getRangeAt($.cachedAbsoluteStart,$.cachedAbsoluteEnd)),$.range}_resolveNode(B,$){Y(B)?this._injectedTextDecorationsTree.resolveNode(B,$):U(B)?this._decorationsTree1.resolveNode(B,$):this._decorationsTree0.resolveNode(B,$)}acceptReplace(B,$,Q,Z){this._decorationsTree0.acceptReplace(B,$,Q,Z),this._decorationsTree1.acceptReplace(B,$,Q,Z),this._injectedTextDecorationsTree.acceptReplace(B,$,Q,Z)}}function K(X){return X.replace(/[^a-z0-9\\-_]/gi,\" \")}class R{constructor(B){this.color=B.color||\"\",this.darkColor=B.darkColor||\"\"}}class J extends R{constructor(B){super(B),this._resolvedColor=null,this.position=typeof B.position==\"number\"?B.position:c.OverviewRulerLane.Center}getColor(B){return this._resolvedColor||(B.type!==\"light\"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,B):this._resolvedColor=this._resolveColor(this.color,B)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(B,$){if(typeof B==\"string\")return B;const Q=B?$.getColor(B.id):null;return Q?Q.toString():\"\"}}e.ModelDecorationOverviewRulerOptions=J;class ie{constructor(B){this.position=B?.position??c.GlyphMarginLane.Center,this.persistLane=B?.persistLane}}e.ModelDecorationGlyphMarginOptions=ie;class ue extends R{constructor(B){super(B),this.position=B.position,this.sectionHeaderStyle=B.sectionHeaderStyle??null,this.sectionHeaderText=B.sectionHeaderText??null}getColor(B){return this._resolvedColor||(B.type!==\"light\"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,B):this._resolvedColor=this._resolveColor(this.color,B)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(B,$){return typeof B==\"string\"?k.Color.fromHex(B):$.getColor(B.id)}}e.ModelDecorationMinimapOptions=ue;class he{static from(B){return B instanceof he?B:new he(B)}constructor(B){this.content=B.content||\"\",this.inlineClassName=B.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=B.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=B.attachedData||null,this.cursorStops=B.cursorStops||null}}e.ModelDecorationInjectedTextOptions=he;class pe{static register(B){return new pe(B)}static createDynamic(B){return new pe(B)}constructor(B){this.description=B.description,this.blockClassName=B.blockClassName?K(B.blockClassName):null,this.blockDoesNotCollapse=B.blockDoesNotCollapse??null,this.blockIsAfterEnd=B.blockIsAfterEnd??null,this.blockPadding=B.blockPadding??null,this.stickiness=B.stickiness||0,this.zIndex=B.zIndex||0,this.className=B.className?K(B.className):null,this.shouldFillLineOnLineBreak=B.shouldFillLineOnLineBreak??null,this.hoverMessage=B.hoverMessage||null,this.glyphMarginHoverMessage=B.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=B.lineNumberHoverMessage||null,this.isWholeLine=B.isWholeLine||!1,this.showIfCollapsed=B.showIfCollapsed||!1,this.collapseOnReplaceEdit=B.collapseOnReplaceEdit||!1,this.overviewRuler=B.overviewRuler?new J(B.overviewRuler):null,this.minimap=B.minimap?new ue(B.minimap):null,this.glyphMargin=B.glyphMarginClassName?new ie(B.glyphMargin):null,this.glyphMarginClassName=B.glyphMarginClassName?K(B.glyphMarginClassName):null,this.linesDecorationsClassName=B.linesDecorationsClassName?K(B.linesDecorationsClassName):null,this.lineNumberClassName=B.lineNumberClassName?K(B.lineNumberClassName):null,this.linesDecorationsTooltip=B.linesDecorationsTooltip?m.htmlAttributeEncodeValue(B.linesDecorationsTooltip):null,this.firstLineDecorationClassName=B.firstLineDecorationClassName?K(B.firstLineDecorationClassName):null,this.marginClassName=B.marginClassName?K(B.marginClassName):null,this.inlineClassName=B.inlineClassName?K(B.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=B.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=B.beforeContentClassName?K(B.beforeContentClassName):null,this.afterContentClassName=B.afterContentClassName?K(B.afterContentClassName):null,this.after=B.after?he.from(B.after):null,this.before=B.before?he.from(B.before):null,this.hideInCommentTokens=B.hideInCommentTokens??!1,this.hideInStringTokens=B.hideInStringTokens??!1}}e.ModelDecorationOptions=pe,pe.EMPTY=pe.register({description:\"empty\"});const ae=[pe.register({description:\"tracked-range-always-grows-when-typing-at-edges\",stickiness:0}),pe.register({description:\"tracked-range-never-grows-when-typing-at-edges\",stickiness:1}),pe.register({description:\"tracked-range-grows-only-when-typing-before\",stickiness:2}),pe.register({description:\"tracked-range-grows-only-when-typing-after\",stickiness:3})];function ee(X){return X instanceof pe?X:pe.createDynamic(X)}class de extends y.Disposable{constructor(B){super(),this.handleBeforeFire=B,this._actual=this._register(new E.Emitter),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(B){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(B)}checkAffectedAndFire(B){this._affectsMinimap||=!!B.minimap?.position,this._affectsOverviewRuler||=!!B.overviewRuler?.color,this._affectsGlyphMargin||=!!B.glyphMarginClassName,this._affectsLineNumber||=!!B.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const B={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(B)}}class ge extends y.Disposable{constructor(){super(),this._fastEmitter=this._register(new E.Emitter),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new E.Emitter),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(B=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=B;const $=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire($),this._slowEmitter.fire($)}}fire(B){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(B):this._deferredEvent=B;return}this._fastEmitter.fire(B),this._slowEmitter.fire(B)}}}),define(ne[139],se([1,0,26,30,35,3,32,71]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.diffDeleteDecorationEmpty=e.diffWholeLineDeleteDecoration=e.diffDeleteDecoration=e.diffAddDecorationEmpty=e.diffWholeLineAddDecoration=e.diffAddDecoration=e.diffLineDeleteDecorationBackground=e.diffLineAddDecorationBackground=e.diffLineDeleteDecorationBackgroundWithIndicator=e.diffLineAddDecorationBackgroundWithIndicator=e.diffRemoveIcon=e.diffInsertIcon=e.diffEditorUnchangedRegionShadow=e.diffMoveBorderActive=e.diffMoveBorder=void 0,e.diffMoveBorder=(0,y.registerColor)(\"diffEditor.move.border\",\"#8b8b8b9c\",(0,E.localize)(124,\"The border color for text that got moved in the diff editor.\")),e.diffMoveBorderActive=(0,y.registerColor)(\"diffEditor.moveActive.border\",\"#FFA500\",(0,E.localize)(125,\"The active border color for text that got moved in the diff editor.\")),e.diffEditorUnchangedRegionShadow=(0,y.registerColor)(\"diffEditor.unchangedRegionShadow\",{dark:\"#000000\",light:\"#737373BF\",hcDark:\"#000000\",hcLight:\"#737373BF\"},(0,E.localize)(126,\"The color of the shadow around unchanged region widgets.\")),e.diffInsertIcon=(0,m.registerIcon)(\"diff-insert\",d.Codicon.add,(0,E.localize)(127,\"Line decoration for inserts in the diff editor.\")),e.diffRemoveIcon=(0,m.registerIcon)(\"diff-remove\",d.Codicon.remove,(0,E.localize)(128,\"Line decoration for removals in the diff editor.\")),e.diffLineAddDecorationBackgroundWithIndicator=I.ModelDecorationOptions.register({className:\"line-insert\",description:\"line-insert\",isWholeLine:!0,linesDecorationsClassName:\"insert-sign \"+k.ThemeIcon.asClassName(e.diffInsertIcon),marginClassName:\"gutter-insert\"}),e.diffLineDeleteDecorationBackgroundWithIndicator=I.ModelDecorationOptions.register({className:\"line-delete\",description:\"line-delete\",isWholeLine:!0,linesDecorationsClassName:\"delete-sign \"+k.ThemeIcon.asClassName(e.diffRemoveIcon),marginClassName:\"gutter-delete\"}),e.diffLineAddDecorationBackground=I.ModelDecorationOptions.register({className:\"line-insert\",description:\"line-insert\",isWholeLine:!0,marginClassName:\"gutter-insert\"}),e.diffLineDeleteDecorationBackground=I.ModelDecorationOptions.register({className:\"line-delete\",description:\"line-delete\",isWholeLine:!0,marginClassName:\"gutter-delete\"}),e.diffAddDecoration=I.ModelDecorationOptions.register({className:\"char-insert\",description:\"char-insert\",shouldFillLineOnLineBreak:!0}),e.diffWholeLineAddDecoration=I.ModelDecorationOptions.register({className:\"char-insert\",description:\"char-insert\",isWholeLine:!0}),e.diffAddDecorationEmpty=I.ModelDecorationOptions.register({className:\"char-insert diff-range-empty\",description:\"char-insert diff-range-empty\"}),e.diffDeleteDecoration=I.ModelDecorationOptions.register({className:\"char-delete\",description:\"char-delete\",shouldFillLineOnLineBreak:!0}),e.diffWholeLineDeleteDecoration=I.ModelDecorationOptions.register({className:\"char-delete\",description:\"char-delete\",isWholeLine:!0}),e.diffDeleteDecorationEmpty=I.ModelDecorationOptions.register({className:\"char-delete diff-range-empty\",description:\"char-delete diff-range-empty\"})}),define(ne[285],se([1,0,5,13,14,26,2,21,30,19,74,139,407,652,667,88,55,9,95,117,58,4]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffEditorViewZones=void 0,e.allowsTrueInlineDiffRendering=v;let C=class extends y.Disposable{constructor(L,D,T,M,A,P,N,O,F,x){super(),this._targetWindow=L,this._editors=D,this._diffModel=T,this._options=M,this._diffEditorWidget=A,this._canIgnoreViewZoneUpdateEvent=P,this._origViewZonesToIgnore=N,this._modViewZonesToIgnore=O,this._clipboardService=F,this._contextMenuService=x,this._originalTopPadding=(0,m.observableValue)(this,0),this._originalScrollOffset=(0,m.observableValue)(this,0),this._originalScrollOffsetAnimated=(0,s.animatedObservable)(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=(0,m.observableValue)(this,0),this._modifiedScrollOffset=(0,m.observableValue)(this,0),this._modifiedScrollOffsetAnimated=(0,s.animatedObservable)(this._targetWindow,this._modifiedScrollOffset,this._store);const W=(0,m.observableValue)(\"invalidateAlignmentsState\",0),V=this._register(new I.RunOnceScheduler(()=>{W.set(W.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(G=>{this._canIgnoreViewZoneUpdateEvent()||V.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(G=>{this._canIgnoreViewZoneUpdateEvent()||V.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(G=>{(G.hasChanged(147)||G.hasChanged(67))&&V.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(G=>{(G.hasChanged(147)||G.hasChanged(67))&&V.schedule()}));const q=this._diffModel.map(G=>G?(0,m.observableFromEvent)(this,G.model.original.onDidChangeTokens,()=>G.model.original.tokenization.backgroundTokenizationState===2):void 0).map((G,K)=>G?.read(K)),H=(0,m.derived)(G=>{const K=this._diffModel.read(G),R=K?.diff.read(G);if(!K||!R)return null;W.read(G);const ie=this._options.renderSideBySide.read(G);return f(this._editors.original,this._editors.modified,R.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,ie)}),z=(0,m.derived)(G=>{const K=this._diffModel.read(G)?.movedTextToCompare.read(G);if(!K)return null;W.read(G);const R=K.changes.map(J=>new o.DiffMapping(J));return f(this._editors.original,this._editors.modified,R,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function U(){const G=document.createElement(\"div\");return G.className=\"diagonal-fill\",G}const j=this._register(new y.DisposableStore);this.viewZones=(0,m.derivedWithStore)(this,(G,K)=>{j.clear();const R=H.read(G)||[],J=[],ie=[],ue=this._modifiedTopPadding.read(G);ue>0&&ie.push({afterLineNumber:0,domNode:document.createElement(\"div\"),heightInPx:ue,showInHiddenAreas:!0,suppressMouseDown:!0});const he=this._originalTopPadding.read(G);he>0&&J.push({afterLineNumber:0,domNode:document.createElement(\"div\"),heightInPx:he,showInHiddenAreas:!0,suppressMouseDown:!0});const pe=this._options.renderSideBySide.read(G),ae=pe?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(ae){const Z=this._editors.original.getModel();for(const te of R)if(te.diff)for(let re=te.originalRange.startLineNumber;re<te.originalRange.endLineNumberExclusive;re++){if(re>Z.getLineCount())return{orig:J,mod:ie};ae?.addRequest(Z.getLineContent(re),null,null)}}const ee=ae?.finalize()??[];let de=0;const ge=this._editors.modified.getOption(67),X=this._diffModel.read(G)?.movedTextToCompare.read(G),B=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,$=this._editors.original.getModel()?.mightContainRTL()??!1,Q=i.RenderOptions.fromEditor(this._editors.modified);for(const Z of R)if(Z.diff&&!pe&&(!this._options.useTrueInlineDiffRendering.read(G)||!v(Z.diff))){if(!Z.originalRange.isEmpty){q.read(G);const re=document.createElement(\"div\");re.classList.add(\"view-lines\",\"line-delete\",\"monaco-mouse-cursor-text\");const le=this._editors.original.getModel();if(Z.originalRange.endLineNumberExclusive-1>le.getLineCount())return{orig:J,mod:ie};const me=new i.LineSource(Z.originalRange.mapToLineArray(Me=>le.tokenization.getLineTokens(Me)),Z.originalRange.mapToLineArray(Me=>ee[de++]),B,$),Ce=[];for(const Me of Z.diff.innerChanges||[])Ce.push(new l.InlineDecoration(Me.originalRange.delta(-(Z.diff.original.startLineNumber-1)),n.diffDeleteDecoration.className,0));const ye=(0,i.renderLines)(me,Q,Ce,re),Le=document.createElement(\"div\");if(Le.className=\"inline-deleted-margin-view-zone\",(0,p.applyFontInfo)(Le,Q.fontInfo),this._options.renderIndicators.read(G))for(let Me=0;Me<ye.heightInLines;Me++){const Ae=document.createElement(\"div\");Ae.className=`delete-sign ${_.ThemeIcon.asClassName(n.diffRemoveIcon)}`,Ae.setAttribute(\"style\",`position:absolute;top:${Me*ge}px;width:${Q.lineDecorationsWidth}px;height:${ge}px;right:0;`),Le.appendChild(Ae)}let Ee;j.add(new t.InlineDiffDeletedCodeMargin(()=>(0,b.assertIsDefined)(Ee),Le,this._editors.modified,Z.diff,this._diffEditorWidget,ye.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let Me=0;Me<ye.viewLineCounts.length;Me++){const Ae=ye.viewLineCounts[Me];Ae>1&&J.push({afterLineNumber:Z.originalRange.startLineNumber+Me,domNode:U(),heightInPx:(Ae-1)*ge,showInHiddenAreas:!0,suppressMouseDown:!0})}ie.push({afterLineNumber:Z.modifiedRange.startLineNumber-1,domNode:re,heightInPx:ye.heightInLines*ge,minWidthInPx:ye.minWidthInPx,marginDomNode:Le,setZoneId(Me){Ee=Me},showInHiddenAreas:!0,suppressMouseDown:!0})}const te=document.createElement(\"div\");te.className=\"gutter-delete\",J.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:U(),heightInPx:Z.modifiedHeightInPx,marginDomNode:te,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const te=Z.modifiedHeightInPx-Z.originalHeightInPx;if(te>0){if(X?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(Z.originalRange.endLineNumberExclusive-1))continue;J.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:U(),heightInPx:te,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let re=function(){const me=document.createElement(\"div\");return me.className=\"arrow-revert-change \"+_.ThemeIcon.asClassName(E.Codicon.arrowRight),K.add((0,d.addDisposableListener)(me,\"mousedown\",Ce=>Ce.stopPropagation())),K.add((0,d.addDisposableListener)(me,\"click\",Ce=>{Ce.stopPropagation(),A.revert(Z.diff)})),(0,d.$)(\"div\",{},me)};if(X?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(Z.modifiedRange.endLineNumberExclusive-1))continue;let le;Z.diff&&Z.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(G)&&(le=re()),ie.push({afterLineNumber:Z.modifiedRange.endLineNumberExclusive-1,domNode:U(),heightInPx:-te,marginDomNode:le,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const Z of z.read(G)??[]){if(!X?.lineRangeMapping.original.intersect(Z.originalRange)||!X?.lineRangeMapping.modified.intersect(Z.modifiedRange))continue;const te=Z.modifiedHeightInPx-Z.originalHeightInPx;te>0?J.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:U(),heightInPx:te,showInHiddenAreas:!0,suppressMouseDown:!0}):ie.push({afterLineNumber:Z.modifiedRange.endLineNumberExclusive-1,domNode:U(),heightInPx:-te,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:J,mod:ie}});let Y=!1;this._register(this._editors.original.onDidScrollChange(G=>{G.scrollLeftChanged&&!Y&&(Y=!0,this._editors.modified.setScrollLeft(G.scrollLeft),Y=!1)})),this._register(this._editors.modified.onDidScrollChange(G=>{G.scrollLeftChanged&&!Y&&(Y=!0,this._editors.original.setScrollLeft(G.scrollLeft),Y=!1)})),this._originalScrollTop=(0,m.observableFromEvent)(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,m.observableFromEvent)(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register((0,m.autorun)(G=>{const K=this._originalScrollTop.read(G)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(G))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(G));K!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(K,1)})),this._register((0,m.autorun)(G=>{const K=this._modifiedScrollTop.read(G)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(G))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(G));K!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(K,1)})),this._register((0,m.autorun)(G=>{const K=this._diffModel.read(G)?.movedTextToCompare.read(G);let R=0;if(K){const J=this._editors.original.getTopForLineNumber(K.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();R=this._editors.modified.getTopForLineNumber(K.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-J}R>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(R,void 0)):R<0?(this._modifiedTopPadding.set(-R,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-R,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+R,void 0,!0)}))}};e.DiffEditorViewZones=C,e.DiffEditorViewZones=C=ke([ce(8,a.IClipboardService),ce(9,r.IContextMenuService)],C);function f(S,L,D,T,M,A){const P=new k.ArrayQueue(h(S,T)),N=new k.ArrayQueue(h(L,M)),O=S.getOption(67),F=L.getOption(67),x=[];let W=0,V=0;function q(H,z){for(;;){let U=P.peek(),j=N.peek();if(U&&U.lineNumber>=H&&(U=void 0),j&&j.lineNumber>=z&&(j=void 0),!U&&!j)break;const Y=U?U.lineNumber-W:Number.MAX_VALUE,G=j?j.lineNumber-V:Number.MAX_VALUE;Y<G?(P.dequeue(),j={lineNumber:U.lineNumber-W+V,heightInPx:0}):Y>G?(N.dequeue(),U={lineNumber:j.lineNumber-V+W,heightInPx:0}):(P.dequeue(),N.dequeue()),x.push({originalRange:g.LineRange.ofLength(U.lineNumber,1),modifiedRange:g.LineRange.ofLength(j.lineNumber,1),originalHeightInPx:O+U.heightInPx,modifiedHeightInPx:F+j.heightInPx,diff:void 0})}}for(const H of D){let G=function(K,R,J=!1){if(K<Y||R<j)return;if(U)U=!1;else if(!J&&(K===Y||R===j))return;const ie=new g.LineRange(Y,K),ue=new g.LineRange(j,R);if(ie.isEmpty&&ue.isEmpty)return;const he=P.takeWhile(ae=>ae.lineNumber<K)?.reduce((ae,ee)=>ae+ee.heightInPx,0)??0,pe=N.takeWhile(ae=>ae.lineNumber<R)?.reduce((ae,ee)=>ae+ee.heightInPx,0)??0;x.push({originalRange:ie,modifiedRange:ue,originalHeightInPx:ie.length*O+he,modifiedHeightInPx:ue.length*F+pe,diff:H.lineRangeMapping}),Y=K,j=R};const z=H.lineRangeMapping;q(z.original.startLineNumber,z.modified.startLineNumber);let U=!0,j=z.modified.startLineNumber,Y=z.original.startLineNumber;if(A)for(const K of z.innerChanges||[]){K.originalRange.startColumn>1&&K.modifiedRange.startColumn>1&&G(K.originalRange.startLineNumber,K.modifiedRange.startLineNumber);const R=S.getModel(),J=K.originalRange.endLineNumber<=R.getLineCount()?R.getLineMaxColumn(K.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;K.originalRange.endColumn<J&&G(K.originalRange.endLineNumber,K.modifiedRange.endLineNumber)}G(z.original.endLineNumberExclusive,z.modified.endLineNumberExclusive,!0),W=z.original.endLineNumberExclusive,V=z.modified.endLineNumberExclusive}return q(Number.MAX_VALUE,Number.MAX_VALUE),x}function h(S,L){const D=[],T=[],M=S.getOption(147).wrappingColumn!==-1,A=S._getViewModel().coordinatesConverter,P=S.getOption(67);if(M)for(let O=1;O<=S.getModel().getLineCount();O++){const F=A.getModelLineViewLineCount(O);F>1&&T.push({lineNumber:O,heightInPx:P*(F-1)})}for(const O of S.getWhitespaces()){if(L.has(O.id))continue;const F=O.afterLineNumber===0?0:A.convertViewPositionToModelPosition(new c.Position(O.afterLineNumber,1)).lineNumber;D.push({lineNumber:F,heightInPx:O.height})}return(0,s.joinCombine)(D,T,O=>O.lineNumber,(O,F)=>({lineNumber:O.lineNumber,heightInPx:O.heightInPx+F.heightInPx}))}function v(S){return S.innerChanges?S.innerChanges.every(L=>w(L.modifiedRange)&&w(L.originalRange)||L.originalRange.equalsRange(new u.Range(1,1,1,1))):!1}function w(S){return S.startLineNumber===S.endLineNumber}}),define(ne[806],se([1,0,2,21,285,364,139,88]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffEditorDecorations=void 0;class _ extends d.Disposable{constructor(p,n,o,t){super(),this._editors=p,this._diffModel=n,this._options=o,this._decorations=(0,k.derived)(this,i=>{const s=this._diffModel.read(i),g=s?.diff.read(i);if(!g)return null;const c=this._diffModel.read(i).movedTextToCompare.read(i),l=this._options.renderIndicators.read(i),a=this._options.showEmptyDecorations.read(i),r=[],u=[];if(!c)for(const f of g.mappings)if(f.lineRangeMapping.original.isEmpty||r.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:l?y.diffLineDeleteDecorationBackgroundWithIndicator:y.diffLineDeleteDecorationBackground}),f.lineRangeMapping.modified.isEmpty||u.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:l?y.diffLineAddDecorationBackgroundWithIndicator:y.diffLineAddDecorationBackground}),f.lineRangeMapping.modified.isEmpty||f.lineRangeMapping.original.isEmpty)f.lineRangeMapping.original.isEmpty||r.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:y.diffWholeLineDeleteDecoration}),f.lineRangeMapping.modified.isEmpty||u.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:y.diffWholeLineAddDecoration});else{const h=this._options.useTrueInlineDiffRendering.read(i)&&(0,I.allowsTrueInlineDiffRendering)(f.lineRangeMapping);for(const v of f.lineRangeMapping.innerChanges||[])if(f.lineRangeMapping.original.contains(v.originalRange.startLineNumber)&&r.push({range:v.originalRange,options:v.originalRange.isEmpty()&&a?y.diffDeleteDecorationEmpty:y.diffDeleteDecoration}),f.lineRangeMapping.modified.contains(v.modifiedRange.startLineNumber)&&u.push({range:v.modifiedRange,options:v.modifiedRange.isEmpty()&&a&&!h?y.diffAddDecorationEmpty:y.diffAddDecoration}),h){const w=s.model.original.getValueInRange(v.originalRange);u.push({range:v.modifiedRange,options:{description:\"deleted-text\",before:{content:w,inlineClassName:\"inline-deleted-text\"},zIndex:1e5,showIfCollapsed:!0}})}}if(c)for(const f of c.changes){const h=f.original.toInclusiveRange();h&&r.push({range:h,options:l?y.diffLineDeleteDecorationBackgroundWithIndicator:y.diffLineDeleteDecorationBackground});const v=f.modified.toInclusiveRange();v&&u.push({range:v,options:l?y.diffLineAddDecorationBackgroundWithIndicator:y.diffLineAddDecorationBackground});for(const w of f.innerChanges||[])r.push({range:w.originalRange,options:y.diffDeleteDecoration}),u.push({range:w.modifiedRange,options:y.diffAddDecoration})}const C=this._diffModel.read(i).activeMovedText.read(i);for(const f of g.movedTexts)r.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:{description:\"moved\",blockClassName:\"movedOriginal\"+(f===C?\" currentMove\":\"\"),blockPadding:[E.MovedBlocksLinesFeature.movedCodeBlockPadding,0,E.MovedBlocksLinesFeature.movedCodeBlockPadding,E.MovedBlocksLinesFeature.movedCodeBlockPadding]}}),u.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:{description:\"moved\",blockClassName:\"movedModified\"+(f===C?\" currentMove\":\"\"),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:u}}),this._register((0,m.applyObservableDecorations)(this._editors.original,this._decorations.map(i=>i?.originalDecorations||[]))),this._register((0,m.applyObservableDecorations)(this._editors.modified,this._decorations.map(i=>i?.modifiedDecorations||[])))}}e.DiffEditorDecorations=_}),define(ne[807],se([1,0,21,189,285,308,37,61]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffEditorOptions=void 0;let _=class{get editorOptions(){return this._options}constructor(i,s){this._accessibilityService=s,this._diffEditorWidth=(0,d.observableValue)(this,0),this._screenReaderMode=(0,d.observableFromEvent)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=(0,d.derived)(this,c=>this._options.read(c).renderSideBySide&&this._diffEditorWidth.read(c)<=this._options.read(c).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=(0,d.derived)(this,c=>this._options.read(c).renderOverviewRuler),this.renderSideBySide=(0,d.derived)(this,c=>this.compactMode.read(c)&&this.shouldRenderInlineViewInSmartMode.read(c)?!1:this._options.read(c).renderSideBySide&&!(this._options.read(c).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(c)&&!this._screenReaderMode.read(c))),this.readOnly=(0,d.derived)(this,c=>this._options.read(c).readOnly),this.shouldRenderOldRevertArrows=(0,d.derived)(this,c=>!(!this._options.read(c).renderMarginRevertIcon||!this.renderSideBySide.read(c)||this.readOnly.read(c)||this.shouldRenderGutterMenu.read(c))),this.shouldRenderGutterMenu=(0,d.derived)(this,c=>this._options.read(c).renderGutterMenu),this.renderIndicators=(0,d.derived)(this,c=>this._options.read(c).renderIndicators),this.enableSplitViewResizing=(0,d.derived)(this,c=>this._options.read(c).enableSplitViewResizing),this.splitViewDefaultRatio=(0,d.derived)(this,c=>this._options.read(c).splitViewDefaultRatio),this.ignoreTrimWhitespace=(0,d.derived)(this,c=>this._options.read(c).ignoreTrimWhitespace),this.maxComputationTimeMs=(0,d.derived)(this,c=>this._options.read(c).maxComputationTime),this.showMoves=(0,d.derived)(this,c=>this._options.read(c).experimental.showMoves&&this.renderSideBySide.read(c)),this.isInEmbeddedEditor=(0,d.derived)(this,c=>this._options.read(c).isInEmbeddedEditor),this.diffWordWrap=(0,d.derived)(this,c=>this._options.read(c).diffWordWrap),this.originalEditable=(0,d.derived)(this,c=>this._options.read(c).originalEditable),this.diffCodeLens=(0,d.derived)(this,c=>this._options.read(c).diffCodeLens),this.accessibilityVerbose=(0,d.derived)(this,c=>this._options.read(c).accessibilityVerbose),this.diffAlgorithm=(0,d.derived)(this,c=>this._options.read(c).diffAlgorithm),this.showEmptyDecorations=(0,d.derived)(this,c=>this._options.read(c).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=(0,d.derived)(this,c=>this._options.read(c).onlyShowAccessibleDiffViewer),this.compactMode=(0,d.derived)(this,c=>this._options.read(c).compactMode),this.trueInlineDiffRenderingEnabled=(0,d.derived)(this,c=>this._options.read(c).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=(0,d.derived)(this,c=>!this.renderSideBySide.read(c)&&this.trueInlineDiffRenderingEnabled.read(c)),this.hideUnchangedRegions=(0,d.derived)(this,c=>this._options.read(c).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=(0,d.derived)(this,c=>this._options.read(c).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=(0,d.derived)(this,c=>this._options.read(c).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=(0,d.derived)(this,c=>this._options.read(c).hideUnchangedRegions.minimumLineCount),this._model=(0,d.observableValue)(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,c=>(0,k.derivedConstOnceDefined)(this,l=>{const a=c?.diff.read(l);return a?b(a,this.trueInlineDiffRenderingEnabled.read(l)):void 0})).flatten().map(this,c=>!!c),this.inlineViewHideOriginalLineNumbers=this.compactMode;const g={...i,...o(i,E.diffEditorDefaultOptions)};this._options=(0,d.observableValue)(this,g)}updateOptions(i){const s=o(i,this._options.get()),g={...this._options.get(),...i,...s};this._options.set(g,void 0,{changedOptions:i})}setWidth(i){this._diffEditorWidth.set(i,void 0)}setModel(i){this._model.set(i,void 0)}};e.DiffEditorOptions=_,e.DiffEditorOptions=_=ke([ce(1,m.IAccessibilityService)],_);function b(t,i){return t.mappings.every(s=>p(s.lineRangeMapping)||n(s.lineRangeMapping)||i&&(0,I.allowsTrueInlineDiffRendering)(s.lineRangeMapping))}function p(t){return t.original.length===0}function n(t){return t.modified.length===0}function o(t,i){return{enableSplitViewResizing:(0,y.boolean)(t.enableSplitViewResizing,i.enableSplitViewResizing),splitViewDefaultRatio:(0,y.clampedFloat)(t.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:(0,y.boolean)(t.renderSideBySide,i.renderSideBySide),renderMarginRevertIcon:(0,y.boolean)(t.renderMarginRevertIcon,i.renderMarginRevertIcon),maxComputationTime:(0,y.clampedInt)(t.maxComputationTime,i.maxComputationTime,0,1073741824),maxFileSize:(0,y.clampedInt)(t.maxFileSize,i.maxFileSize,0,1073741824),ignoreTrimWhitespace:(0,y.boolean)(t.ignoreTrimWhitespace,i.ignoreTrimWhitespace),renderIndicators:(0,y.boolean)(t.renderIndicators,i.renderIndicators),originalEditable:(0,y.boolean)(t.originalEditable,i.originalEditable),diffCodeLens:(0,y.boolean)(t.diffCodeLens,i.diffCodeLens),renderOverviewRuler:(0,y.boolean)(t.renderOverviewRuler,i.renderOverviewRuler),diffWordWrap:(0,y.stringSet)(t.diffWordWrap,i.diffWordWrap,[\"off\",\"on\",\"inherit\"]),diffAlgorithm:(0,y.stringSet)(t.diffAlgorithm,i.diffAlgorithm,[\"legacy\",\"advanced\"],{smart:\"legacy\",experimental:\"advanced\"}),accessibilityVerbose:(0,y.boolean)(t.accessibilityVerbose,i.accessibilityVerbose),experimental:{showMoves:(0,y.boolean)(t.experimental?.showMoves,i.experimental.showMoves),showEmptyDecorations:(0,y.boolean)(t.experimental?.showEmptyDecorations,i.experimental.showEmptyDecorations),useTrueInlineView:(0,y.boolean)(t.experimental?.useTrueInlineView,i.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:(0,y.boolean)(t.hideUnchangedRegions?.enabled??t.experimental?.collapseUnchangedRegions,i.hideUnchangedRegions.enabled),contextLineCount:(0,y.clampedInt)(t.hideUnchangedRegions?.contextLineCount,i.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:(0,y.clampedInt)(t.hideUnchangedRegions?.minimumLineCount,i.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:(0,y.clampedInt)(t.hideUnchangedRegions?.revealLineCount,i.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:(0,y.boolean)(t.isInEmbeddedEditor,i.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:(0,y.boolean)(t.onlyShowAccessibleDiffViewer,i.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:(0,y.clampedInt)(t.renderSideBySideInlineBreakpoint,i.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:(0,y.boolean)(t.useInlineViewWhenSpaceIsLimited,i.useInlineViewWhenSpaceIsLimited),renderGutterMenu:(0,y.boolean)(t.renderGutterMenu,i.renderGutterMenu),compactMode:(0,y.boolean)(t.compactMode,i.compactMode)}}}),define(ne[808],se([1,0,6,2,16,35,197,70,211,28,284,129,370,42,60,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";var g;Object.defineProperty(e,\"__esModule\",{value:!0}),e.DefaultModelSHA1Computer=e.ModelService=void 0;function c(f){return f.toString()}class l{constructor(h,v,w){this.model=h,this._modelEventListeners=new k.DisposableStore,this.model=h,this._modelEventListeners.add(h.onWillDispose(()=>v(h))),this._modelEventListeners.add(h.onDidChangeLanguage(S=>w(h,S)))}dispose(){this._modelEventListeners.dispose()}}const a=I.isLinux||I.isMacintosh?1:2;class r{constructor(h,v,w,S,L,D,T,M){this.uri=h,this.initialUndoRedoSnapshot=v,this.time=w,this.sharesUndoRedoStack=S,this.heapSize=L,this.sha1=D,this.versionId=T,this.alternativeVersionId=M}}let u=class extends k.Disposable{static{g=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024}constructor(h,v,w,S){super(),this._configurationService=h,this._resourcePropertiesService=v,this._undoRedoService=w,this._instantiationService=S,this._onModelAdded=this._register(new d.Emitter),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new d.Emitter),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new d.Emitter),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(L=>this._updateModelOptions(L))),this._updateModelOptions(void 0)}static _readModelOptions(h,v){let w=y.EDITOR_MODEL_DEFAULTS.tabSize;if(h.editor&&typeof h.editor.tabSize<\"u\"){const O=parseInt(h.editor.tabSize,10);isNaN(O)||(w=O),w<1&&(w=1)}let S=\"tabSize\";if(h.editor&&typeof h.editor.indentSize<\"u\"&&h.editor.indentSize!==\"tabSize\"){const O=parseInt(h.editor.indentSize,10);isNaN(O)||(S=Math.max(O,1))}let L=y.EDITOR_MODEL_DEFAULTS.insertSpaces;h.editor&&typeof h.editor.insertSpaces<\"u\"&&(L=h.editor.insertSpaces===\"false\"?!1:!!h.editor.insertSpaces);let D=a;const T=h.eol;T===`\\r\n`?D=2:T===`\n`&&(D=1);let M=y.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;h.editor&&typeof h.editor.trimAutoWhitespace<\"u\"&&(M=h.editor.trimAutoWhitespace===\"false\"?!1:!!h.editor.trimAutoWhitespace);let A=y.EDITOR_MODEL_DEFAULTS.detectIndentation;h.editor&&typeof h.editor.detectIndentation<\"u\"&&(A=h.editor.detectIndentation===\"false\"?!1:!!h.editor.detectIndentation);let P=y.EDITOR_MODEL_DEFAULTS.largeFileOptimizations;h.editor&&typeof h.editor.largeFileOptimizations<\"u\"&&(P=h.editor.largeFileOptimizations===\"false\"?!1:!!h.editor.largeFileOptimizations);let N=y.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions;return h.editor?.bracketPairColorization&&typeof h.editor.bracketPairColorization==\"object\"&&(N={enabled:!!h.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!h.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:v,tabSize:w,indentSize:S,insertSpaces:L,detectIndentation:A,defaultEOL:D,trimAutoWhitespace:M,largeFileOptimizations:P,bracketPairColorizationOptions:N}}_getEOL(h,v){if(h)return this._resourcePropertiesService.getEOL(h,v);const w=this._configurationService.getValue(\"files.eol\",{overrideIdentifier:v});return w&&typeof w==\"string\"&&w!==\"auto\"?w:I.OS===3||I.OS===2?`\n`:`\\r\n`}_shouldRestoreUndoStack(){const h=this._configurationService.getValue(\"files.restoreUndoStack\");return typeof h==\"boolean\"?h:!0}getCreationOptions(h,v,w){const S=typeof h==\"string\"?h:h.languageId;let L=this._modelCreationOptionsByLanguageAndResource[S+v];if(!L){const D=this._configurationService.getValue(\"editor\",{overrideIdentifier:S,resource:v}),T=this._getEOL(v,S);L=g._readModelOptions({editor:D,eol:T},w),this._modelCreationOptionsByLanguageAndResource[S+v]=L}return L}_updateModelOptions(h){const v=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const w=Object.keys(this._models);for(let S=0,L=w.length;S<L;S++){const D=w[S],T=this._models[D],M=T.model.getLanguageId(),A=T.model.uri;if(h&&!h.affectsConfiguration(\"editor\",{overrideIdentifier:M,resource:A})&&!h.affectsConfiguration(\"files.eol\",{overrideIdentifier:M,resource:A}))continue;const P=v[M+A],N=this.getCreationOptions(M,A,T.model.isForSimpleWidget);g._setModelOptionsForModel(T.model,N,P)}}static _setModelOptionsForModel(h,v,w){w&&w.defaultEOL!==v.defaultEOL&&h.getLineCount()===1&&h.setEOL(v.defaultEOL===1?0:1),!(w&&w.detectIndentation===v.detectIndentation&&w.insertSpaces===v.insertSpaces&&w.tabSize===v.tabSize&&w.indentSize===v.indentSize&&w.trimAutoWhitespace===v.trimAutoWhitespace&&(0,i.equals)(w.bracketPairColorizationOptions,v.bracketPairColorizationOptions))&&(v.detectIndentation?(h.detectIndentation(v.insertSpaces,v.tabSize),h.updateOptions({trimAutoWhitespace:v.trimAutoWhitespace,bracketColorizationOptions:v.bracketPairColorizationOptions})):h.updateOptions({insertSpaces:v.insertSpaces,tabSize:v.tabSize,indentSize:v.indentSize,trimAutoWhitespace:v.trimAutoWhitespace,bracketColorizationOptions:v.bracketPairColorizationOptions}))}_insertDisposedModel(h){this._disposedModels.set(c(h.uri),h),this._disposedModelsHeapSize+=h.heapSize}_removeDisposedModel(h){const v=this._disposedModels.get(c(h));return v&&(this._disposedModelsHeapSize-=v.heapSize),this._disposedModels.delete(c(h)),v}_ensureDisposedModelsHeapSize(h){if(this._disposedModelsHeapSize>h){const v=[];for(this._disposedModels.forEach(w=>{w.sharesUndoRedoStack||v.push(w)}),v.sort((w,S)=>w.time-S.time);v.length>0&&this._disposedModelsHeapSize>h;){const w=v.shift();this._removeDisposedModel(w.uri),w.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(w.initialUndoRedoSnapshot)}}}_createModelData(h,v,w,S){const L=this.getCreationOptions(v,w,S),D=this._instantiationService.createInstance(E.TextModel,h,v,L,w);if(w&&this._disposedModels.has(c(w))){const A=this._removeDisposedModel(w),P=this._undoRedoService.getElements(w),N=this._getSHA1Computer(),O=N.canComputeSHA1(D)?N.computeSHA1(D)===A.sha1:!1;if(O||A.sharesUndoRedoStack){for(const F of P.past)(0,o.isEditStackElement)(F)&&F.matchesResource(w)&&F.setModel(D);for(const F of P.future)(0,o.isEditStackElement)(F)&&F.matchesResource(w)&&F.setModel(D);this._undoRedoService.setElementsValidFlag(w,!0,F=>(0,o.isEditStackElement)(F)&&F.matchesResource(w)),O&&(D._overwriteVersionId(A.versionId),D._overwriteAlternativeVersionId(A.alternativeVersionId),D._overwriteInitialUndoRedoSnapshot(A.initialUndoRedoSnapshot))}else A.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(A.initialUndoRedoSnapshot)}const T=c(D.uri);if(this._models[T])throw new Error(\"ModelService: Cannot add model because it already exists!\");const M=new l(D,A=>this._onWillDispose(A),(A,P)=>this._onDidChangeLanguage(A,P));return this._models[T]=M,M}createModel(h,v,w,S=!1){let L;return v?L=this._createModelData(h,v,w,S):L=this._createModelData(h,m.PLAINTEXT_LANGUAGE_ID,w,S),this._onModelAdded.fire(L.model),L.model}getModels(){const h=[],v=Object.keys(this._models);for(let w=0,S=v.length;w<S;w++){const L=v[w];h.push(this._models[L].model)}return h}getModel(h){const v=c(h),w=this._models[v];return w?w.model:null}_schemaShouldMaintainUndoRedoElements(h){return h.scheme===t.Schemas.file||h.scheme===t.Schemas.vscodeRemote||h.scheme===t.Schemas.vscodeUserData||h.scheme===t.Schemas.vscodeNotebookCell||h.scheme===\"fake-fs\"}_onWillDispose(h){const v=c(h.uri),w=this._models[v],S=this._undoRedoService.getUriComparisonKey(h.uri)!==h.uri.toString();let L=!1,D=0;if(S||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(h.uri)){const A=this._undoRedoService.getElements(h.uri);if(A.past.length>0||A.future.length>0){for(const P of A.past)(0,o.isEditStackElement)(P)&&P.matchesResource(h.uri)&&(L=!0,D+=P.heapSize(h.uri),P.setModel(h.uri));for(const P of A.future)(0,o.isEditStackElement)(P)&&P.matchesResource(h.uri)&&(L=!0,D+=P.heapSize(h.uri),P.setModel(h.uri))}}const T=g.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,M=this._getSHA1Computer();if(L)if(!S&&(D>T||!M.canComputeSHA1(h))){const A=w.model.getInitialUndoRedoSnapshot();A!==null&&this._undoRedoService.restoreSnapshot(A)}else this._ensureDisposedModelsHeapSize(T-D),this._undoRedoService.setElementsValidFlag(h.uri,!1,A=>(0,o.isEditStackElement)(A)&&A.matchesResource(h.uri)),this._insertDisposedModel(new r(h.uri,w.model.getInitialUndoRedoSnapshot(),Date.now(),S,D,M.computeSHA1(h),h.getVersionId(),h.getAlternativeVersionId()));else if(!S){const A=w.model.getInitialUndoRedoSnapshot();A!==null&&this._undoRedoService.restoreSnapshot(A)}delete this._models[v],w.dispose(),delete this._modelCreationOptionsByLanguageAndResource[h.getLanguageId()+h.uri],this._onModelRemoved.fire(h)}_onDidChangeLanguage(h,v){const w=v.oldLanguage,S=h.getLanguageId(),L=this.getCreationOptions(w,h.uri,h.isForSimpleWidget),D=this.getCreationOptions(S,h.uri,h.isForSimpleWidget);g._setModelOptionsForModel(h,D,L),this._onModelModeChanged.fire({model:h,oldLanguageId:w})}_getSHA1Computer(){return new C}};e.ModelService=u,e.ModelService=u=g=ke([ce(0,b.IConfigurationService),ce(1,_.ITextResourcePropertiesService),ce(2,p.IUndoRedoService),ce(3,s.IInstantiationService)],u);class C{static{this.MAX_MODEL_SIZE=10*1024*1024}canComputeSHA1(h){return h.getValueLength()<=C.MAX_MODEL_SIZE}computeSHA1(h){const v=new n.StringSHA1,w=h.createSnapshot();let S;for(;S=w.read();)v.update(S);return v.digest()}}e.DefaultModelSHA1Computer=C}),define(ne[809],se([1,0,13,9,4,239,35,132,243,602,322,95]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewModelLinesFromModelAsIs=e.ViewModelLinesFromProjectedModel=void 0;class o{constructor(r,u,C,f,h,v,w,S,L,D){this._editorId=r,this.model=u,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=C,this._monospaceLineBreaksComputerFactory=f,this.fontInfo=h,this.tabSize=v,this.wrappingStrategy=w,this.wrappingColumn=S,this.wrappingIndent=L,this.wordBreak=D,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new g(this)}_constructLines(r,u){this.modelLineProjections=[],r&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const C=this.model.getLinesContent(),f=this.model.getInjectedTextDecorations(this._editorId),h=C.length,v=this.createLineBreaksComputer(),w=new d.ArrayQueue(m.LineInjectedText.fromDecorations(f));for(let N=0;N<h;N++){const O=w.takeWhile(F=>F.lineNumber===N+1);v.addRequest(C[N],O,u?u[N]:null)}const S=v.finalize(),L=[],D=this.hiddenAreasDecorationIds.map(N=>this.model.getDecorationRange(N)).sort(I.Range.compareRangesUsingStarts);let T=1,M=0,A=-1,P=A+1<D.length?M+1:h+2;for(let N=0;N<h;N++){const O=N+1;O===P&&(A++,T=D[A].startLineNumber,M=D[A].endLineNumber,P=A+1<D.length?M+1:h+2);const F=O>=T&&O<=M,x=(0,b.createModelLineProjection)(S[N],!F);L[N]=x.getViewLineCount(),this.modelLineProjections[N]=x}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new p.ConstantTimePrefixSumComputer(L)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(r=>this.model.getDecorationRange(r))}setHiddenAreas(r){const u=r.map(M=>this.model.validateRange(M)),C=t(u),f=this.hiddenAreasDecorationIds.map(M=>this.model.getDecorationRange(M)).sort(I.Range.compareRangesUsingStarts);if(C.length===f.length){let M=!1;for(let A=0;A<C.length;A++)if(!C[A].equalsRange(f[A])){M=!0;break}if(!M)return!1}const h=C.map(M=>({range:M,options:y.ModelDecorationOptions.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,h);const v=C;let w=1,S=0,L=-1,D=L+1<v.length?S+1:this.modelLineProjections.length+2,T=!1;for(let M=0;M<this.modelLineProjections.length;M++){const A=M+1;A===D&&(L++,w=v[L].startLineNumber,S=v[L].endLineNumber,D=L+1<v.length?S+1:this.modelLineProjections.length+2);let P=!1;if(A>=w&&A<=S?this.modelLineProjections[M].isVisible()&&(this.modelLineProjections[M]=this.modelLineProjections[M].setVisible(!1),P=!0):(T=!0,this.modelLineProjections[M].isVisible()||(this.modelLineProjections[M]=this.modelLineProjections[M].setVisible(!0),P=!0)),P){const N=this.modelLineProjections[M].getViewLineCount();this.projectedModelLineLineCounts.setValue(M,N)}}return T||this.setHiddenAreas([]),!0}modelPositionIsVisible(r,u){return r<1||r>this.modelLineProjections.length?!1:this.modelLineProjections[r-1].isVisible()}getModelLineViewLineCount(r){return r<1||r>this.modelLineProjections.length?1:this.modelLineProjections[r-1].getViewLineCount()}setTabSize(r){return this.tabSize===r?!1:(this.tabSize=r,this._constructLines(!1,null),!0)}setWrappingSettings(r,u,C,f,h){const v=this.fontInfo.equals(r),w=this.wrappingStrategy===u,S=this.wrappingColumn===C,L=this.wrappingIndent===f,D=this.wordBreak===h;if(v&&w&&S&&L&&D)return!1;const T=v&&w&&!S&&L&&D;this.fontInfo=r,this.wrappingStrategy=u,this.wrappingColumn=C,this.wrappingIndent=f,this.wordBreak=h;let M=null;if(T){M=[];for(let A=0,P=this.modelLineProjections.length;A<P;A++)M[A]=this.modelLineProjections[A].getProjectionData()}return this._constructLines(!1,M),!0}createLineBreaksComputer(){return(this.wrappingStrategy===\"advanced\"?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(r,u,C){if(!r||r<=this._validModelVersionId)return null;const f=u===1?1:this.projectedModelLineLineCounts.getPrefixSum(u-1)+1,h=this.projectedModelLineLineCounts.getPrefixSum(C);return this.modelLineProjections.splice(u-1,C-u+1),this.projectedModelLineLineCounts.removeValues(u-1,C-u+1),new _.ViewLinesDeletedEvent(f,h)}onModelLinesInserted(r,u,C,f){if(!r||r<=this._validModelVersionId)return null;const h=u>2&&!this.modelLineProjections[u-2].isVisible(),v=u===1?1:this.projectedModelLineLineCounts.getPrefixSum(u-1)+1;let w=0;const S=[],L=[];for(let D=0,T=f.length;D<T;D++){const M=(0,b.createModelLineProjection)(f[D],!h);S.push(M);const A=M.getViewLineCount();w+=A,L[D]=A}return this.modelLineProjections=this.modelLineProjections.slice(0,u-1).concat(S).concat(this.modelLineProjections.slice(u-1)),this.projectedModelLineLineCounts.insertValues(u-1,L),new _.ViewLinesInsertedEvent(v,v+w-1)}onModelLineChanged(r,u,C){if(r!==null&&r<=this._validModelVersionId)return[!1,null,null,null];const f=u-1,h=this.modelLineProjections[f].getViewLineCount(),v=this.modelLineProjections[f].isVisible(),w=(0,b.createModelLineProjection)(C,v);this.modelLineProjections[f]=w;const S=this.modelLineProjections[f].getViewLineCount();let L=!1,D=0,T=-1,M=0,A=-1,P=0,N=-1;h>S?(D=this.projectedModelLineLineCounts.getPrefixSum(u-1)+1,T=D+S-1,P=T+1,N=P+(h-S)-1,L=!0):h<S?(D=this.projectedModelLineLineCounts.getPrefixSum(u-1)+1,T=D+h-1,M=T+1,A=M+(S-h)-1,L=!0):(D=this.projectedModelLineLineCounts.getPrefixSum(u-1)+1,T=D+S-1),this.projectedModelLineLineCounts.setValue(f,S);const O=D<=T?new _.ViewLinesChangedEvent(D,T-D+1):null,F=M<=A?new _.ViewLinesInsertedEvent(M,A):null,x=P<=N?new _.ViewLinesDeletedEvent(P,N):null;return[L,O,F,x]}acceptVersionId(r){this._validModelVersionId=r,this.modelLineProjections.length===1&&!this.modelLineProjections[0].isVisible()&&this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(r){if(r<1)return 1;const u=this.getViewLineCount();return r>u?u:r|0}getActiveIndentGuide(r,u,C){r=this._toValidViewLineNumber(r),u=this._toValidViewLineNumber(u),C=this._toValidViewLineNumber(C);const f=this.convertViewPositionToModelPosition(r,this.getViewLineMinColumn(r)),h=this.convertViewPositionToModelPosition(u,this.getViewLineMinColumn(u)),v=this.convertViewPositionToModelPosition(C,this.getViewLineMinColumn(C)),w=this.model.guides.getActiveIndentGuide(f.lineNumber,h.lineNumber,v.lineNumber),S=this.convertModelPositionToViewPosition(w.startLineNumber,1),L=this.convertModelPositionToViewPosition(w.endLineNumber,this.model.getLineMaxColumn(w.endLineNumber));return{startLineNumber:S.lineNumber,endLineNumber:L.lineNumber,indent:w.indent}}getViewLineInfo(r){r=this._toValidViewLineNumber(r);const u=this.projectedModelLineLineCounts.getIndexOf(r-1),C=u.index,f=u.remainder;return new i(C+1,f)}getMinColumnOfViewLine(r){return this.modelLineProjections[r.modelLineNumber-1].getViewLineMinColumn(this.model,r.modelLineNumber,r.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(r){return this.modelLineProjections[r.modelLineNumber-1].getViewLineMaxColumn(this.model,r.modelLineNumber,r.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(r){const u=this.modelLineProjections[r.modelLineNumber-1],C=u.getViewLineMinColumn(this.model,r.modelLineNumber,r.modelLineWrappedLineIdx),f=u.getModelColumnOfViewPosition(r.modelLineWrappedLineIdx,C);return new k.Position(r.modelLineNumber,f)}getModelEndPositionOfViewLine(r){const u=this.modelLineProjections[r.modelLineNumber-1],C=u.getViewLineMaxColumn(this.model,r.modelLineNumber,r.modelLineWrappedLineIdx),f=u.getModelColumnOfViewPosition(r.modelLineWrappedLineIdx,C);return new k.Position(r.modelLineNumber,f)}getViewLineInfosGroupedByModelRanges(r,u){const C=this.getViewLineInfo(r),f=this.getViewLineInfo(u),h=new Array;let v=this.getModelStartPositionOfViewLine(C),w=new Array;for(let S=C.modelLineNumber;S<=f.modelLineNumber;S++){const L=this.modelLineProjections[S-1];if(L.isVisible()){const D=S===C.modelLineNumber?C.modelLineWrappedLineIdx:0,T=S===f.modelLineNumber?f.modelLineWrappedLineIdx+1:L.getViewLineCount();for(let M=D;M<T;M++)w.push(new i(S,M))}if(!L.isVisible()&&v){const D=new k.Position(S-1,this.model.getLineMaxColumn(S-1)+1),T=I.Range.fromPositions(v,D);h.push(new s(T,w)),w=[],v=null}else L.isVisible()&&!v&&(v=new k.Position(S,1))}if(v){const S=I.Range.fromPositions(v,this.getModelEndPositionOfViewLine(f));h.push(new s(S,w))}return h}getViewLinesBracketGuides(r,u,C,f){const h=C?this.convertViewPositionToModelPosition(C.lineNumber,C.column):null,v=[];for(const w of this.getViewLineInfosGroupedByModelRanges(r,u)){const S=w.modelRange.startLineNumber,L=this.model.guides.getLinesBracketGuides(S,w.modelRange.endLineNumber,h,f);for(const D of w.viewLines){const M=L[D.modelLineNumber-S].map(A=>{if(A.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[D.modelLineNumber-1].getViewPositionOfModelPosition(0,A.forWrappedLinesAfterColumn).lineNumber>=D.modelLineWrappedLineIdx||A.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[D.modelLineNumber-1].getViewPositionOfModelPosition(0,A.forWrappedLinesBeforeOrAtColumn).lineNumber<D.modelLineWrappedLineIdx)return;if(!A.horizontalLine)return A;let P=-1;if(A.column!==-1){const F=this.modelLineProjections[D.modelLineNumber-1].getViewPositionOfModelPosition(0,A.column);if(F.lineNumber===D.modelLineWrappedLineIdx)P=F.column;else if(F.lineNumber<D.modelLineWrappedLineIdx)P=this.getMinColumnOfViewLine(D);else if(F.lineNumber>D.modelLineWrappedLineIdx)return}const N=this.convertModelPositionToViewPosition(D.modelLineNumber,A.horizontalLine.endColumn),O=this.modelLineProjections[D.modelLineNumber-1].getViewPositionOfModelPosition(0,A.horizontalLine.endColumn);return O.lineNumber===D.modelLineWrappedLineIdx?new E.IndentGuide(A.visibleColumn,P,A.className,new E.IndentGuideHorizontalLine(A.horizontalLine.top,N.column),-1,-1):O.lineNumber<D.modelLineWrappedLineIdx||A.visibleColumn!==-1?void 0:new E.IndentGuide(A.visibleColumn,P,A.className,new E.IndentGuideHorizontalLine(A.horizontalLine.top,this.getMaxColumnOfViewLine(D)),-1,-1)});v.push(M.filter(A=>!!A))}}return v}getViewLinesIndentGuides(r,u){r=this._toValidViewLineNumber(r),u=this._toValidViewLineNumber(u);const C=this.convertViewPositionToModelPosition(r,this.getViewLineMinColumn(r)),f=this.convertViewPositionToModelPosition(u,this.getViewLineMaxColumn(u));let h=[];const v=[],w=[],S=C.lineNumber-1,L=f.lineNumber-1;let D=null;for(let P=S;P<=L;P++){const N=this.modelLineProjections[P];if(N.isVisible()){const O=N.getViewLineNumberOfModelPosition(0,P===S?C.column:1),F=N.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(P+1)),x=F-O+1;let W=0;x>1&&N.getViewLineMinColumn(this.model,P+1,F)===1&&(W=O===0?1:2),v.push(x),w.push(W),D===null&&(D=new k.Position(P+1,0))}else D!==null&&(h=h.concat(this.model.guides.getLinesIndentGuides(D.lineNumber,P)),D=null)}D!==null&&(h=h.concat(this.model.guides.getLinesIndentGuides(D.lineNumber,f.lineNumber)),D=null);const T=u-r+1,M=new Array(T);let A=0;for(let P=0,N=h.length;P<N;P++){let O=h[P];const F=Math.min(T-A,v[P]),x=w[P];let W;x===2?W=0:x===1?W=1:W=F;for(let V=0;V<F;V++)V===W&&(O=0),M[A++]=O}return M}getViewLineContent(r){const u=this.getViewLineInfo(r);return this.modelLineProjections[u.modelLineNumber-1].getViewLineContent(this.model,u.modelLineNumber,u.modelLineWrappedLineIdx)}getViewLineLength(r){const u=this.getViewLineInfo(r);return this.modelLineProjections[u.modelLineNumber-1].getViewLineLength(this.model,u.modelLineNumber,u.modelLineWrappedLineIdx)}getViewLineMinColumn(r){const u=this.getViewLineInfo(r);return this.modelLineProjections[u.modelLineNumber-1].getViewLineMinColumn(this.model,u.modelLineNumber,u.modelLineWrappedLineIdx)}getViewLineMaxColumn(r){const u=this.getViewLineInfo(r);return this.modelLineProjections[u.modelLineNumber-1].getViewLineMaxColumn(this.model,u.modelLineNumber,u.modelLineWrappedLineIdx)}getViewLineData(r){const u=this.getViewLineInfo(r);return this.modelLineProjections[u.modelLineNumber-1].getViewLineData(this.model,u.modelLineNumber,u.modelLineWrappedLineIdx)}getViewLinesData(r,u,C){r=this._toValidViewLineNumber(r),u=this._toValidViewLineNumber(u);const f=this.projectedModelLineLineCounts.getIndexOf(r-1);let h=r;const v=f.index,w=f.remainder,S=[];for(let L=v,D=this.model.getLineCount();L<D;L++){const T=this.modelLineProjections[L];if(!T.isVisible())continue;const M=L===v?w:0;let A=T.getViewLineCount()-M,P=!1;if(h+A>u&&(P=!0,A=u-h+1),T.getViewLinesData(this.model,L+1,M,A,h-r,C,S),h+=A,P)break}return S}validateViewPosition(r,u,C){r=this._toValidViewLineNumber(r);const f=this.projectedModelLineLineCounts.getIndexOf(r-1),h=f.index,v=f.remainder,w=this.modelLineProjections[h],S=w.getViewLineMinColumn(this.model,h+1,v),L=w.getViewLineMaxColumn(this.model,h+1,v);u<S&&(u=S),u>L&&(u=L);const D=w.getModelColumnOfViewPosition(v,u);return this.model.validatePosition(new k.Position(h+1,D)).equals(C)?new k.Position(r,u):this.convertModelPositionToViewPosition(C.lineNumber,C.column)}validateViewRange(r,u){const C=this.validateViewPosition(r.startLineNumber,r.startColumn,u.getStartPosition()),f=this.validateViewPosition(r.endLineNumber,r.endColumn,u.getEndPosition());return new I.Range(C.lineNumber,C.column,f.lineNumber,f.column)}convertViewPositionToModelPosition(r,u){const C=this.getViewLineInfo(r),f=this.modelLineProjections[C.modelLineNumber-1].getModelColumnOfViewPosition(C.modelLineWrappedLineIdx,u);return this.model.validatePosition(new k.Position(C.modelLineNumber,f))}convertViewRangeToModelRange(r){const u=this.convertViewPositionToModelPosition(r.startLineNumber,r.startColumn),C=this.convertViewPositionToModelPosition(r.endLineNumber,r.endColumn);return new I.Range(u.lineNumber,u.column,C.lineNumber,C.column)}convertModelPositionToViewPosition(r,u,C=2,f=!1,h=!1){const v=this.model.validatePosition(new k.Position(r,u)),w=v.lineNumber,S=v.column;let L=w-1,D=!1;if(h)for(;L<this.modelLineProjections.length&&!this.modelLineProjections[L].isVisible();)L++,D=!0;else for(;L>0&&!this.modelLineProjections[L].isVisible();)L--,D=!0;if(L===0&&!this.modelLineProjections[L].isVisible())return new k.Position(f?0:1,1);const T=1+this.projectedModelLineLineCounts.getPrefixSum(L);let M;return D?h?M=this.modelLineProjections[L].getViewPositionOfModelPosition(T,1,C):M=this.modelLineProjections[L].getViewPositionOfModelPosition(T,this.model.getLineMaxColumn(L+1),C):M=this.modelLineProjections[w-1].getViewPositionOfModelPosition(T,S,C),M}convertModelRangeToViewRange(r,u=0){if(r.isEmpty()){const C=this.convertModelPositionToViewPosition(r.startLineNumber,r.startColumn,u);return I.Range.fromPositions(C)}else{const C=this.convertModelPositionToViewPosition(r.startLineNumber,r.startColumn,1),f=this.convertModelPositionToViewPosition(r.endLineNumber,r.endColumn,0);return new I.Range(C.lineNumber,C.column,f.lineNumber,f.column)}}getViewLineNumberOfModelPosition(r,u){let C=r-1;if(this.modelLineProjections[C].isVisible()){const h=1+this.projectedModelLineLineCounts.getPrefixSum(C);return this.modelLineProjections[C].getViewLineNumberOfModelPosition(h,u)}for(;C>0&&!this.modelLineProjections[C].isVisible();)C--;if(C===0&&!this.modelLineProjections[C].isVisible())return 1;const f=1+this.projectedModelLineLineCounts.getPrefixSum(C);return this.modelLineProjections[C].getViewLineNumberOfModelPosition(f,this.model.getLineMaxColumn(C+1))}getDecorationsInRange(r,u,C,f,h){const v=this.convertViewPositionToModelPosition(r.startLineNumber,r.startColumn),w=this.convertViewPositionToModelPosition(r.endLineNumber,r.endColumn);if(w.lineNumber-v.lineNumber<=r.endLineNumber-r.startLineNumber)return this.model.getDecorationsInRange(new I.Range(v.lineNumber,1,w.lineNumber,w.column),u,C,f,h);let S=[];const L=v.lineNumber-1,D=w.lineNumber-1;let T=null;for(let N=L;N<=D;N++)if(this.modelLineProjections[N].isVisible())T===null&&(T=new k.Position(N+1,N===L?v.column:1));else if(T!==null){const F=this.model.getLineMaxColumn(N);S=S.concat(this.model.getDecorationsInRange(new I.Range(T.lineNumber,T.column,N,F),u,C,f)),T=null}T!==null&&(S=S.concat(this.model.getDecorationsInRange(new I.Range(T.lineNumber,T.column,w.lineNumber,w.column),u,C,f)),T=null),S.sort((N,O)=>{const F=I.Range.compareRangesUsingStarts(N.range,O.range);return F===0?N.id<O.id?-1:N.id>O.id?1:0:F});const M=[];let A=0,P=null;for(const N of S){const O=N.id;P!==O&&(P=O,M[A++]=N)}return M}getInjectedTextAt(r){const u=this.getViewLineInfo(r.lineNumber);return this.modelLineProjections[u.modelLineNumber-1].getInjectedTextAt(u.modelLineWrappedLineIdx,r.column)}normalizePosition(r,u){const C=this.getViewLineInfo(r.lineNumber);return this.modelLineProjections[C.modelLineNumber-1].normalizePosition(C.modelLineWrappedLineIdx,r,u)}getLineIndentColumn(r){const u=this.getViewLineInfo(r);return u.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(u.modelLineNumber):0}}e.ViewModelLinesFromProjectedModel=o;function t(a){if(a.length===0)return[];const r=a.slice();r.sort(I.Range.compareRangesUsingStarts);const u=[];let C=r[0].startLineNumber,f=r[0].endLineNumber;for(let h=1,v=r.length;h<v;h++){const w=r[h];w.startLineNumber>f+1?(u.push(new I.Range(C,1,f,1)),C=w.startLineNumber,f=w.endLineNumber):w.endLineNumber>f&&(f=w.endLineNumber)}return u.push(new I.Range(C,1,f,1)),u}class i{constructor(r,u){this.modelLineNumber=r,this.modelLineWrappedLineIdx=u}}class s{constructor(r,u){this.modelRange=r,this.viewLines=u}}class g{constructor(r){this._lines=r}convertViewPositionToModelPosition(r){return this._lines.convertViewPositionToModelPosition(r.lineNumber,r.column)}convertViewRangeToModelRange(r){return this._lines.convertViewRangeToModelRange(r)}validateViewPosition(r,u){return this._lines.validateViewPosition(r.lineNumber,r.column,u)}validateViewRange(r,u){return this._lines.validateViewRange(r,u)}convertModelPositionToViewPosition(r,u,C,f){return this._lines.convertModelPositionToViewPosition(r.lineNumber,r.column,u,C,f)}convertModelRangeToViewRange(r,u){return this._lines.convertModelRangeToViewRange(r,u)}modelPositionIsVisible(r){return this._lines.modelPositionIsVisible(r.lineNumber,r.column)}getModelLineViewLineCount(r){return this._lines.getModelLineViewLineCount(r)}getViewLineNumberOfModelPosition(r,u){return this._lines.getViewLineNumberOfModelPosition(r,u)}}class c{constructor(r){this.model=r}dispose(){}createCoordinatesConverter(){return new l(this)}getHiddenAreas(){return[]}setHiddenAreas(r){return!1}setTabSize(r){return!1}setWrappingSettings(r,u,C,f){return!1}createLineBreaksComputer(){const r=[];return{addRequest:(u,C,f)=>{r.push(null)},finalize:()=>r}}onModelFlushed(){}onModelLinesDeleted(r,u,C){return new _.ViewLinesDeletedEvent(u,C)}onModelLinesInserted(r,u,C,f){return new _.ViewLinesInsertedEvent(u,C)}onModelLineChanged(r,u,C){return[!1,new _.ViewLinesChangedEvent(u,1),null,null]}acceptVersionId(r){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(r,u,C){return{startLineNumber:r,endLineNumber:r,indent:0}}getViewLinesBracketGuides(r,u,C){return new Array(u-r+1).fill([])}getViewLinesIndentGuides(r,u){const C=u-r+1,f=new Array(C);for(let h=0;h<C;h++)f[h]=0;return f}getViewLineContent(r){return this.model.getLineContent(r)}getViewLineLength(r){return this.model.getLineLength(r)}getViewLineMinColumn(r){return this.model.getLineMinColumn(r)}getViewLineMaxColumn(r){return this.model.getLineMaxColumn(r)}getViewLineData(r){const u=this.model.tokenization.getLineTokens(r),C=u.getLineContent();return new n.ViewLineData(C,!1,1,C.length+1,0,u.inflate(),null)}getViewLinesData(r,u,C){const f=this.model.getLineCount();r=Math.min(Math.max(1,r),f),u=Math.min(Math.max(1,u),f);const h=[];for(let v=r;v<=u;v++){const w=v-r;h[w]=C[w]?this.getViewLineData(v):null}return h}getDecorationsInRange(r,u,C,f,h){return this.model.getDecorationsInRange(r,u,C,f,h)}normalizePosition(r,u){return this.model.normalizePosition(r,u)}getLineIndentColumn(r){return this.model.getLineIndentColumn(r)}getInjectedTextAt(r){return null}}e.ViewModelLinesFromModelAsIs=c;class l{constructor(r){this._lines=r}_validPosition(r){return this._lines.model.validatePosition(r)}_validRange(r){return this._lines.model.validateRange(r)}convertViewPositionToModelPosition(r){return this._validPosition(r)}convertViewRangeToModelRange(r){return this._validRange(r)}validateViewPosition(r,u){return this._validPosition(u)}validateViewRange(r,u){return this._validRange(u)}convertModelPositionToViewPosition(r){return this._validPosition(r)}convertModelRangeToViewRange(r){return this._validRange(r)}modelPositionIsVisible(r){const u=this._lines.model.getLineCount();return!(r.lineNumber<1||r.lineNumber>u)}getModelLineViewLineCount(r){return 1}getViewLineNumberOfModelPosition(r,u){return r}}}),define(ne[810],se([1,0,13,14,33,2,16,11,37,706,76,9,4,132,27,70,369,243,606,374,95,375,244,809,601]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewModel=void 0;const v=!0;class w extends E.Disposable{constructor(N,O,F,x,W,V,q,H,z,U){if(super(),this.languageConfigurationService=q,this._themeService=H,this._attachedView=z,this._transactionalTarget=U,this.hiddenAreasModel=new D,this.previousHiddenAreas=[],this._editorId=N,this._configuration=O,this.model=F,this._eventDispatcher=new C.ViewModelEventDispatcher,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new k.RunOnceScheduler(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=S.create(this.model),this.glyphLanes=new h.GlyphMarginLanesModel(0),v&&this.model.isTooLargeForTokenization())this._lines=new f.ViewModelLinesFromModelAsIs(this.model);else{const j=this._configuration.options,Y=j.get(50),G=j.get(140),K=j.get(147),R=j.get(139),J=j.get(130);this._lines=new f.ViewModelLinesFromProjectedModel(this._editorId,this.model,x,W,Y,this.model.getOptions().tabSize,G,K.wrappingColumn,R,J)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new b.CursorsController(F,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new l.ViewLayout(this._configuration,this.getLineCount(),V)),this._register(this.viewLayout.onDidScroll(j=>{j.scrollTopChanged&&this._handleVisibleLinesChanged(),j.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new c.ViewScrollChangedEvent(j)),this._eventDispatcher.emitOutgoingEvent(new C.ScrollChangedEvent(j.oldScrollWidth,j.oldScrollLeft,j.oldScrollHeight,j.oldScrollTop,j.scrollWidth,j.scrollLeft,j.scrollHeight,j.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(j=>{this._eventDispatcher.emitOutgoingEvent(j)})),this._decorations=new u.ViewModelDecorations(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(j=>{try{const Y=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(Y,j)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(a.MinimapTokensColorTracker.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new c.ViewTokensColorsChangedEvent)})),this._register(this._themeService.onDidColorThemeChange(j=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new c.ViewThemeChangedEvent(j))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(N){this._eventDispatcher.addViewEventHandler(N)}removeViewEventHandler(N){this._eventDispatcher.removeViewEventHandler(N)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const N=this.viewLayout.getLinesViewportData(),O=new o.Range(N.startLineNumber,this.getLineMinColumn(N.startLineNumber),N.endLineNumber,this.getLineMaxColumn(N.endLineNumber));return this._toModelVisibleRanges(O)}visibleLinesStabilized(){const N=this.getModelVisibleRanges();this._attachedView.setVisibleLines(N,!0)}_handleVisibleLinesChanged(){const N=this.getModelVisibleRanges();this._attachedView.setVisibleLines(N,!1)}setHasFocus(N){this._hasFocus=N,this._cursor.setHasFocus(N),this._eventDispatcher.emitSingleViewEvent(new c.ViewFocusChangedEvent(N)),this._eventDispatcher.emitOutgoingEvent(new C.FocusChangedEvent(!N,N))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new c.ViewCompositionStartEvent)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new c.ViewCompositionEndEvent)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const N=new n.Position(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),O=this.coordinatesConverter.convertViewPositionToModelPosition(N);return new A(O,this._viewportStart.startLineDelta)}return new A(null,0)}_onConfigurationChanged(N,O){const F=this._captureStableViewport(),x=this._configuration.options,W=x.get(50),V=x.get(140),q=x.get(147),H=x.get(139),z=x.get(130);this._lines.setWrappingSettings(W,V,q.wrappingColumn,H,z)&&(N.emitViewEvent(new c.ViewFlushedEvent),N.emitViewEvent(new c.ViewLineMappingChangedEvent),N.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(N),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),O.hasChanged(92)&&(this._decorations.reset(),N.emitViewEvent(new c.ViewDecorationsChangedEvent(null))),O.hasChanged(99)&&(this._decorations.reset(),N.emitViewEvent(new c.ViewDecorationsChangedEvent(null))),N.emitViewEvent(new c.ViewConfigurationChangedEvent(O)),this.viewLayout.onConfigurationChanged(O),F.recoverViewportStart(this.coordinatesConverter,this.viewLayout),p.CursorConfiguration.shouldRecreate(O)&&(this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(N=>{try{const F=this._eventDispatcher.beginEmitViewEvents();let x=!1,W=!1;const V=N instanceof t.InternalModelContentChangeEvent?N.rawContentChangedEvent.changes:N.changes,q=N instanceof t.InternalModelContentChangeEvent?N.rawContentChangedEvent.versionId:null,H=this._lines.createLineBreaksComputer();for(const j of V)switch(j.changeType){case 4:{for(let Y=0;Y<j.detail.length;Y++){const G=j.detail[Y];let K=j.injectedTexts[Y];K&&(K=K.filter(R=>!R.ownerId||R.ownerId===this._editorId)),H.addRequest(G,K,null)}break}case 2:{let Y=null;j.injectedText&&(Y=j.injectedText.filter(G=>!G.ownerId||G.ownerId===this._editorId)),H.addRequest(j.detail,Y,null);break}}const z=H.finalize(),U=new d.ArrayQueue(z);for(const j of V)switch(j.changeType){case 1:{this._lines.onModelFlushed(),F.emitViewEvent(new c.ViewFlushedEvent),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),x=!0;break}case 3:{const Y=this._lines.onModelLinesDeleted(q,j.fromLineNumber,j.toLineNumber);Y!==null&&(F.emitViewEvent(Y),this.viewLayout.onLinesDeleted(Y.fromLineNumber,Y.toLineNumber)),x=!0;break}case 4:{const Y=U.takeCount(j.detail.length),G=this._lines.onModelLinesInserted(q,j.fromLineNumber,j.toLineNumber,Y);G!==null&&(F.emitViewEvent(G),this.viewLayout.onLinesInserted(G.fromLineNumber,G.toLineNumber)),x=!0;break}case 2:{const Y=U.dequeue(),[G,K,R,J]=this._lines.onModelLineChanged(q,j.lineNumber,Y);W=G,K&&F.emitViewEvent(K),R&&(F.emitViewEvent(R),this.viewLayout.onLinesInserted(R.fromLineNumber,R.toLineNumber)),J&&(F.emitViewEvent(J),this.viewLayout.onLinesDeleted(J.fromLineNumber,J.toLineNumber));break}case 5:break}q!==null&&this._lines.acceptVersionId(q),this.viewLayout.onHeightMaybeChanged(),!x&&W&&(F.emitViewEvent(new c.ViewLineMappingChangedEvent),F.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(F),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const O=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&O){const F=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(F){const x=this.coordinatesConverter.convertModelPositionToViewPosition(F.getStartPosition()),W=this.viewLayout.getVerticalOffsetForLineNumber(x.lineNumber);this.viewLayout.setScrollPosition({scrollTop:W+this._viewportStart.startLineDelta},1)}}try{const F=this._eventDispatcher.beginEmitViewEvents();N instanceof t.InternalModelContentChangeEvent&&F.emitOutgoingEvent(new C.ModelContentChangedEvent(N.contentChangedEvent)),this._cursor.onModelContentChanged(F,N)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(N=>{const O=[];for(let F=0,x=N.ranges.length;F<x;F++){const W=N.ranges[F],V=this.coordinatesConverter.convertModelPositionToViewPosition(new n.Position(W.fromLineNumber,1)).lineNumber,q=this.coordinatesConverter.convertModelPositionToViewPosition(new n.Position(W.toLineNumber,this.model.getLineMaxColumn(W.toLineNumber))).lineNumber;O[F]={fromLineNumber:V,toLineNumber:q}}this._eventDispatcher.emitSingleViewEvent(new c.ViewTokensChangedEvent(O)),this._eventDispatcher.emitOutgoingEvent(new C.ModelTokensChangedEvent(N))})),this._register(this.model.onDidChangeLanguageConfiguration(N=>{this._eventDispatcher.emitSingleViewEvent(new c.ViewLanguageConfigurationEvent),this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new C.ModelLanguageConfigurationChangedEvent(N))})),this._register(this.model.onDidChangeLanguage(N=>{this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new C.ModelLanguageChangedEvent(N))})),this._register(this.model.onDidChangeOptions(N=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const O=this._eventDispatcher.beginEmitViewEvents();O.emitViewEvent(new c.ViewFlushedEvent),O.emitViewEvent(new c.ViewLineMappingChangedEvent),O.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(O),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new p.CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new C.ModelOptionsChangedEvent(N))})),this._register(this.model.onDidChangeDecorations(N=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new c.ViewDecorationsChangedEvent(N)),this._eventDispatcher.emitOutgoingEvent(new C.ModelDecorationsChangedEvent(N))}))}setHiddenAreas(N,O){this.hiddenAreasModel.setHiddenAreas(O,N);const F=this.hiddenAreasModel.getMergedRanges();if(F===this.previousHiddenAreas)return;this.previousHiddenAreas=F;const x=this._captureStableViewport();let W=!1;try{const V=this._eventDispatcher.beginEmitViewEvents();W=this._lines.setHiddenAreas(F),W&&(V.emitViewEvent(new c.ViewFlushedEvent),V.emitViewEvent(new c.ViewLineMappingChangedEvent),V.emitViewEvent(new c.ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(V),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const q=x.viewportStartModelPosition?.lineNumber;q&&F.some(z=>z.startLineNumber<=q&&q<=z.endLineNumber)||x.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),W&&this._eventDispatcher.emitOutgoingEvent(new C.HiddenAreasChangedEvent)}getVisibleRangesPlusViewportAboveBelow(){const N=this._configuration.options.get(146),O=this._configuration.options.get(67),F=Math.max(20,Math.round(N.height/O)),x=this.viewLayout.getLinesViewportData(),W=Math.max(1,x.completelyVisibleStartLineNumber-F),V=Math.min(this.getLineCount(),x.completelyVisibleEndLineNumber+F);return this._toModelVisibleRanges(new o.Range(W,this.getLineMinColumn(W),V,this.getLineMaxColumn(V)))}getVisibleRanges(){const N=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(N)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(N){const O=this.coordinatesConverter.convertViewRangeToModelRange(N),F=this._lines.getHiddenAreas();if(F.length===0)return[O];const x=[];let W=0,V=O.startLineNumber,q=O.startColumn;const H=O.endLineNumber,z=O.endColumn;for(let U=0,j=F.length;U<j;U++){const Y=F[U].startLineNumber,G=F[U].endLineNumber;G<V||Y>H||(V<Y&&(x[W++]=new o.Range(V,q,Y-1,this.model.getLineMaxColumn(Y-1))),V=G+1,q=1)}return(V<H||V===H&&q<z)&&(x[W++]=new o.Range(V,q,H,z)),x}getCompletelyVisibleViewRange(){const N=this.viewLayout.getLinesViewportData(),O=N.completelyVisibleStartLineNumber,F=N.completelyVisibleEndLineNumber;return new o.Range(O,this.getLineMinColumn(O),F,this.getLineMaxColumn(F))}getCompletelyVisibleViewRangeAtScrollTop(N){const O=this.viewLayout.getLinesViewportDataAtScrollTop(N),F=O.completelyVisibleStartLineNumber,x=O.completelyVisibleEndLineNumber;return new o.Range(F,this.getLineMinColumn(F),x,this.getLineMaxColumn(x))}saveState(){const N=this.viewLayout.saveState(),O=N.scrollTop,F=this.viewLayout.getLineNumberAtVerticalOffset(O),x=this.coordinatesConverter.convertViewPositionToModelPosition(new n.Position(F,this.getLineMinColumn(F))),W=this.viewLayout.getVerticalOffsetForLineNumber(F)-O;return{scrollLeft:N.scrollLeft,firstPosition:x,firstPositionDeltaTop:W}}reduceRestoreState(N){if(typeof N.firstPosition>\"u\")return this._reduceRestoreStateCompatibility(N);const O=this.model.validatePosition(N.firstPosition),F=this.coordinatesConverter.convertModelPositionToViewPosition(O),x=this.viewLayout.getVerticalOffsetForLineNumber(F.lineNumber)-N.firstPositionDeltaTop;return{scrollLeft:N.scrollLeft,scrollTop:x}}_reduceRestoreStateCompatibility(N){return{scrollLeft:N.scrollLeft,scrollTop:N.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(N,O,F){this._viewportStart.update(this,N)}getActiveIndentGuide(N,O,F){return this._lines.getActiveIndentGuide(N,O,F)}getLinesIndentGuides(N,O){return this._lines.getViewLinesIndentGuides(N,O)}getBracketGuidesInRangeByLine(N,O,F,x){return this._lines.getViewLinesBracketGuides(N,O,F,x)}getLineContent(N){return this._lines.getViewLineContent(N)}getLineLength(N){return this._lines.getViewLineLength(N)}getLineMinColumn(N){return this._lines.getViewLineMinColumn(N)}getLineMaxColumn(N){return this._lines.getViewLineMaxColumn(N)}getLineFirstNonWhitespaceColumn(N){const O=m.firstNonWhitespaceIndex(this.getLineContent(N));return O===-1?0:O+1}getLineLastNonWhitespaceColumn(N){const O=m.lastNonWhitespaceIndex(this.getLineContent(N));return O===-1?0:O+2}getMinimapDecorationsInRange(N){return this._decorations.getMinimapDecorationsInRange(N)}getDecorationsInViewport(N){return this._decorations.getDecorationsViewportData(N).decorations}getInjectedTextAt(N){return this._lines.getInjectedTextAt(N)}getViewportViewLineRenderingData(N,O){const x=this._decorations.getDecorationsViewportData(N).inlineDecorations[O-N.startLineNumber];return this._getViewLineRenderingData(O,x)}getViewLineRenderingData(N){const O=this._decorations.getInlineDecorationsOnLine(N);return this._getViewLineRenderingData(N,O)}_getViewLineRenderingData(N,O){const F=this.model.mightContainRTL(),x=this.model.mightContainNonBasicASCII(),W=this.getTabSize(),V=this._lines.getViewLineData(N);return V.inlineDecorations&&(O=[...O,...V.inlineDecorations.map(q=>q.toInlineDecoration(N))]),new r.ViewLineRenderingData(V.minColumn,V.maxColumn,V.content,V.continuesWithWrappedLine,F,x,V.tokens,O,W,V.startVisibleColumn)}getViewLineData(N){return this._lines.getViewLineData(N)}getMinimapLinesRenderingData(N,O,F){const x=this._lines.getViewLinesData(N,O,F);return new r.MinimapLinesRenderingData(this.getTabSize(),x)}getAllOverviewRulerDecorations(N){const O=this.model.getOverviewRulerDecorations(this._editorId,(0,_.filterValidationDecorations)(this._configuration.options)),F=new L;for(const x of O){const W=x.options,V=W.overviewRuler;if(!V)continue;const q=V.position;if(q===0)continue;const H=V.getColor(N.value),z=this.coordinatesConverter.getViewLineNumberOfModelPosition(x.range.startLineNumber,x.range.startColumn),U=this.coordinatesConverter.getViewLineNumberOfModelPosition(x.range.endLineNumber,x.range.endColumn);F.accept(H,W.zIndex,z,U,q)}return F.asArray}_invalidateDecorationsColorCache(){const N=this.model.getOverviewRulerDecorations();for(const O of N)O.options.overviewRuler?.invalidateCachedColor(),O.options.minimap?.invalidateCachedColor()}getValueInRange(N,O){const F=this.coordinatesConverter.convertViewRangeToModelRange(N);return this.model.getValueInRange(F,O)}getValueLengthInRange(N,O){const F=this.coordinatesConverter.convertViewRangeToModelRange(N);return this.model.getValueLengthInRange(F,O)}modifyPosition(N,O){const F=this.coordinatesConverter.convertViewPositionToModelPosition(N),x=this.model.modifyPosition(F,O);return this.coordinatesConverter.convertModelPositionToViewPosition(x)}deduceModelPositionRelativeToViewPosition(N,O,F){const x=this.coordinatesConverter.convertViewPositionToModelPosition(N);this.model.getEOL().length===2&&(O<0?O-=F:O+=F);const V=this.model.getOffsetAt(x)+O;return this.model.getPositionAt(V)}getPlainTextToCopy(N,O,F){const x=F?`\\r\n`:this.model.getEOL();N=N.slice(0),N.sort(o.Range.compareRangesUsingStarts);let W=!1,V=!1;for(const H of N)H.isEmpty()?W=!0:V=!0;if(!V){if(!O)return\"\";const H=N.map(U=>U.startLineNumber);let z=\"\";for(let U=0;U<H.length;U++)U>0&&H[U-1]===H[U]||(z+=this.model.getLineContent(H[U])+x);return z}if(W&&O){const H=[];let z=0;for(const U of N){const j=U.startLineNumber;U.isEmpty()?j!==z&&H.push(this.model.getLineContent(j)):H.push(this.model.getValueInRange(U,F?2:0)),z=j}return H.length===1?H[0]:H}const q=[];for(const H of N)H.isEmpty()||q.push(this.model.getValueInRange(H,F?2:0));return q.length===1?q[0]:q}getRichTextToCopy(N,O){const F=this.model.getLanguageId();if(F===s.PLAINTEXT_LANGUAGE_ID||N.length!==1)return null;let x=N[0];if(x.isEmpty()){if(!O)return null;const U=x.startLineNumber;x=new o.Range(U,this.model.getLineMinColumn(U),U,this.model.getLineMaxColumn(U))}const W=this._configuration.options.get(50),V=this._getColorMap(),H=/[:;\\\\\\/<>]/.test(W.fontFamily)||W.fontFamily===_.EDITOR_FONT_DEFAULTS.fontFamily;let z;return H?z=_.EDITOR_FONT_DEFAULTS.fontFamily:(z=W.fontFamily,z=z.replace(/\"/g,\"'\"),/[,']/.test(z)||/[+ ]/.test(z)&&(z=`'${z}'`),z=`${z}, ${_.EDITOR_FONT_DEFAULTS.fontFamily}`),{mode:F,html:`<div style=\"color: ${V[1]};background-color: ${V[2]};font-family: ${z};font-weight: ${W.fontWeight};font-size: ${W.fontSize}px;line-height: ${W.lineHeight}px;white-space: pre;\">`+this._getHTMLToCopy(x,V)+\"</div>\"}}_getHTMLToCopy(N,O){const F=N.startLineNumber,x=N.startColumn,W=N.endLineNumber,V=N.endColumn,q=this.getTabSize();let H=\"\";for(let z=F;z<=W;z++){const U=this.model.tokenization.getLineTokens(z),j=U.getLineContent(),Y=z===F?x-1:0,G=z===W?V-1:j.length;j===\"\"?H+=\"<br>\":H+=(0,g.tokenizeLineToHTML)(j,U.inflate(),O,Y,G,q,y.isWindows)}return H}_getColorMap(){const N=i.TokenizationRegistry.getColorMap(),O=[\"#000000\"];if(N)for(let F=1,x=N.length;F<x;F++)O[F]=I.Color.Format.CSS.formatHex(N[F]);return O}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(N,O,F){return this._withViewEventsCollector(x=>this._cursor.setStates(x,N,O,F))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(N){this._cursor.setCursorColumnSelectData(N)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(N){this._cursor.setPrevEditOperationType(N)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(N,O,F=0){this._withViewEventsCollector(x=>this._cursor.setSelections(x,N,O,F))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(N){this._withViewEventsCollector(O=>this._cursor.restoreState(O,N))}_executeCursorEdit(N){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new C.ReadOnlyEditAttemptEvent);return}this._withViewEventsCollector(N)}executeEdits(N,O,F){this._executeCursorEdit(x=>this._cursor.executeEdits(x,N,O,F))}startComposition(){this._executeCursorEdit(N=>this._cursor.startComposition(N))}endComposition(N){this._executeCursorEdit(O=>this._cursor.endComposition(O,N))}type(N,O){this._executeCursorEdit(F=>this._cursor.type(F,N,O))}compositionType(N,O,F,x,W){this._executeCursorEdit(V=>this._cursor.compositionType(V,N,O,F,x,W))}paste(N,O,F,x){this._executeCursorEdit(W=>this._cursor.paste(W,N,O,F,x))}cut(N){this._executeCursorEdit(O=>this._cursor.cut(O,N))}executeCommand(N,O){this._executeCursorEdit(F=>this._cursor.executeCommand(F,N,O))}executeCommands(N,O){this._executeCursorEdit(F=>this._cursor.executeCommands(F,N,O))}revealAllCursors(N,O,F=!1){this._withViewEventsCollector(x=>this._cursor.revealAll(x,N,F,0,O,0))}revealPrimaryCursor(N,O,F=!1){this._withViewEventsCollector(x=>this._cursor.revealPrimary(x,N,F,0,O,0))}revealTopMostCursor(N){const O=this._cursor.getTopMostViewPosition(),F=new o.Range(O.lineNumber,O.column,O.lineNumber,O.column);this._withViewEventsCollector(x=>x.emitViewEvent(new c.ViewRevealRangeRequestEvent(N,!1,F,null,0,!0,0)))}revealBottomMostCursor(N){const O=this._cursor.getBottomMostViewPosition(),F=new o.Range(O.lineNumber,O.column,O.lineNumber,O.column);this._withViewEventsCollector(x=>x.emitViewEvent(new c.ViewRevealRangeRequestEvent(N,!1,F,null,0,!0,0)))}revealRange(N,O,F,x,W){this._withViewEventsCollector(V=>V.emitViewEvent(new c.ViewRevealRangeRequestEvent(N,!1,F,null,x,O,W)))}changeWhitespace(N){this.viewLayout.changeWhitespace(N)&&(this._eventDispatcher.emitSingleViewEvent(new c.ViewZonesChangedEvent),this._eventDispatcher.emitOutgoingEvent(new C.ViewZonesChangedEvent))}_withViewEventsCollector(N){return this._transactionalTarget.batchChanges(()=>{try{const O=this._eventDispatcher.beginEmitViewEvents();return N(O)}finally{this._eventDispatcher.endEmitViewEvents()}})}batchEvents(N){this._withViewEventsCollector(()=>{N()})}normalizePosition(N,O){return this._lines.normalizePosition(N,O)}getLineIndentColumn(N){return this._lines.getLineIndentColumn(N)}}e.ViewModel=w;class S{static create(N){const O=N._setTrackedRange(null,new o.Range(1,1,1,1),1);return new S(N,1,!1,O,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(N,O,F,x,W){this._model=N,this._viewLineNumber=O,this._isValid=F,this._modelTrackedRange=x,this._startLineDelta=W}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(N,O){const F=N.coordinatesConverter.convertViewPositionToModelPosition(new n.Position(O,N.getLineMinColumn(O))),x=N.model._setTrackedRange(this._modelTrackedRange,new o.Range(F.lineNumber,F.column,F.lineNumber,F.column),1),W=N.viewLayout.getVerticalOffsetForLineNumber(O),V=N.viewLayout.getCurrentScrollTop();this._viewLineNumber=O,this._isValid=!0,this._modelTrackedRange=x,this._startLineDelta=V-W}invalidate(){this._isValid=!1}}class L{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(N,O,F,x,W){const V=this._asMap[N];if(V){const q=V.data,H=q[q.length-3],z=q[q.length-1];if(H===W&&z+1>=F){x>z&&(q[q.length-1]=x);return}q.push(W,F,x)}else{const q=new r.OverviewRulerDecorationsGroup(N,O,[W,F,x]);this._asMap[N]=q,this.asArray.push(q)}}}class D{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(N,O){const F=this.hiddenAreas.get(N);F&&M(F,O)||(this.hiddenAreas.set(N,O),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const N=Array.from(this.hiddenAreas.values()).reduce((O,F)=>T(O,F),[]);return M(this.ranges,N)?this.ranges:(this.ranges=N,this.ranges)}}function T(P,N){const O=[];let F=0,x=0;for(;F<P.length&&x<N.length;){const W=P[F],V=N[x];if(W.endLineNumber<V.startLineNumber-1)O.push(P[F++]);else if(V.endLineNumber<W.startLineNumber-1)O.push(N[x++]);else{const q=Math.min(W.startLineNumber,V.startLineNumber),H=Math.max(W.endLineNumber,V.endLineNumber);O.push(new o.Range(q,1,H,1)),F++,x++}}for(;F<P.length;)O.push(P[F++]);for(;x<N.length;)O.push(N[x++]);return O}function M(P,N){if(P.length!==N.length)return!1;for(let O=0;O<P.length;O++)if(!P[O].equalsRange(N[O]))return!1;return!0}class A{constructor(N,O){this.viewportStartModelPosition=N,this.startLineDelta=O}recoverViewportStart(N,O){if(!this.viewportStartModelPosition)return;const F=N.convertModelPositionToViewPosition(this.viewportStartModelPosition),x=O.getVerticalOffsetForLineNumber(F.lineNumber);O.setScrollPosition({scrollTop:x+this.startLineDelta},1)}}}),define(ne[219],se([1,0,5,8,6,2,42,74,686,229,15,34,782,656,309,651,37,94,80,9,4,23,199,318,198,20,36,35,17,603,810,3,61,24,12,7,154,50,32,25,29,725,498]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x,W,V,q){\"use strict\";var H;Object.defineProperty(e,\"__esModule\",{value:!0}),e.EditorModeContext=e.BooleanEventEmitter=e.CodeEditorWidget=void 0;let z=class extends E.Disposable{static{H=this}static{this.dropIntoEditorDecorationOptions=S.ModelDecorationOptions.register({description:\"workbench-dnd-target\",className:\"dnd-target\"})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(X,B,$,Q,Z,te,re,le,me,Ce,ye,Le){super(),this.languageConfigurationService=ye,this._deliveryQueue=(0,I.createEventDeliveryQueue)(),this._contributions=this._register(new s.CodeEditorContributions),this._onDidDispose=this._register(new I.Emitter),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new G(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new Y({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new Y({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new G(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new G(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new G(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new G(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new G(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new G(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new G(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new G(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new G(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new G(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new G(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new G(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new G(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new G(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new G(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new G(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new G(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new I.Emitter({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginUpdate=this._register(new I.Emitter),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new I.Emitter),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),Z.willCreateCodeEditor();const Ee={...B};this._domElement=X,this._overflowWidgetsDomNode=Ee.overflowWidgetsDomNode,delete Ee.overflowWidgetsDomNode,this._id=++U,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=$.telemetryData,this._configuration=this._register(this._createConfiguration($.isSimpleWidget||!1,$.contextMenuId??($.isSimpleWidget?q.MenuId.SimpleEditorContext:q.MenuId.EditorContext),Ee,Ce)),this._register(this._configuration.onDidChange(Ne=>{this._onDidChangeConfiguration.fire(Ne);const Ke=this._configuration.options;if(Ne.hasChanged(146)){const ze=Ke.get(146);this._onDidLayoutChange.fire(ze)}})),this._contextKeyService=this._register(re.createScoped(this._domElement)),this._notificationService=me,this._codeEditorService=Z,this._commandService=te,this._themeService=le,this._register(new K(this,this._contextKeyService)),this._register(new R(this,this._contextKeyService,Le)),this._instantiationService=this._register(Q.createChild(new F.ServiceCollection([N.IContextKeyService,this._contextKeyService]))),this._modelData=null,this._focusTracker=new J(X,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let Me;Array.isArray($.contributions)?Me=$.contributions:Me=p.EditorExtensionsRegistry.getEditorContributions(),this._contributions.initialize(this,Me,this._instantiationService);for(const Ne of p.EditorExtensionsRegistry.getEditorActions()){if(this._actions.has(Ne.id)){(0,k.onUnexpectedError)(new Error(`Cannot have two actions with the same id ${Ne.id}`));continue}const Ke=new f.InternalEditorAction(Ne.id,Ne.label,Ne.alias,Ne.metadata,Ne.precondition??void 0,ze=>this._instantiationService.invokeFunction(Ge=>Promise.resolve(Ne.runEditorCommand(Ge,this,ze))),this._contextKeyService);this._actions.set(Ke.id,Ke)}const Ae=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new d.DragAndDropObserver(this._domElement,{onDragOver:Ne=>{if(!Ae())return;const Ke=this.getTargetAtClientPoint(Ne.clientX,Ne.clientY);Ke?.position&&this.showDropIndicatorAt(Ke.position)},onDrop:async Ne=>{if(!Ae()||(this.removeDropIndicator(),!Ne.dataTransfer))return;const Ke=this.getTargetAtClientPoint(Ne.clientX,Ne.clientY);Ke?.position&&this._onDropIntoEditor.fire({position:Ke.position,event:Ne})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(X){this._modelData?.view.writeScreenReaderContent(X)}_createConfiguration(X,B,$,Q){return new _.EditorConfiguration(X,B,$,this._domElement,Q)}getId(){return this.getEditorType()+\":\"+this._id}getEditorType(){return h.EditorType.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(X){return this._instantiationService.invokeFunction(X)}updateOptions(X){this._configuration.updateOptions(X||{})}getOptions(){return this._configuration.options}getOption(X){return this._configuration.options.get(X)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(X){return this._modelData?C.WordOperations.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),X):null}getValue(X=null){if(!this._modelData)return\"\";const B=!!(X&&X.preserveBOM);let $=0;return X&&X.lineEnding&&X.lineEnding===`\n`?$=1:X&&X.lineEnding&&X.lineEnding===`\\r\n`&&($=2),this._modelData.model.getValue($,B)}setValue(X){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(X)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(X=null){try{this._beginUpdate();const B=X;if(this._modelData===null&&B===null||this._modelData&&this._modelData.model===B)return;const $={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:B?.uri||null};this._onWillChangeModel.fire($);const Q=this.hasTextFocus(),Z=this._detachModel();this._attachModel(B),Q&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire($),this._postDetachModelCleanup(Z),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const X in this._decorationTypeSubtypes){const B=this._decorationTypeSubtypes[X];for(const $ in B)this._removeDecorationType(X+\"-\"+$)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(X,B,$,Q){const Z=X.model.validatePosition({lineNumber:B,column:$}),te=X.viewModel.coordinatesConverter.convertModelPositionToViewPosition(Z);return X.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(te.lineNumber,Q)}getTopForLineNumber(X,B=!1){return this._modelData?H._getVerticalOffsetForPosition(this._modelData,X,1,B):-1}getTopForPosition(X,B){return this._modelData?H._getVerticalOffsetForPosition(this._modelData,X,B,!1):-1}static _getVerticalOffsetForPosition(X,B,$,Q=!1){const Z=X.model.validatePosition({lineNumber:B,column:$}),te=X.viewModel.coordinatesConverter.convertModelPositionToViewPosition(Z);return X.viewModel.viewLayout.getVerticalOffsetForLineNumber(te.lineNumber,Q)}getBottomForLineNumber(X,B=!1){if(!this._modelData)return-1;const $=this._modelData.model.getLineMaxColumn(X);return H._getVerticalOffsetAfterPosition(this._modelData,X,$,B)}setHiddenAreas(X,B){this._modelData?.viewModel.setHiddenAreas(X.map($=>r.Range.lift($)),B)}getVisibleColumnFromPosition(X){if(!this._modelData)return X.column;const B=this._modelData.model.validatePosition(X),$=this._modelData.model.getOptions().tabSize;return c.CursorColumns.visibleColumnFromColumn(this._modelData.model.getLineContent(B.lineNumber),B.column,$)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(X,B=\"api\"){if(this._modelData){if(!a.Position.isIPosition(X))throw new Error(\"Invalid arguments\");this._modelData.viewModel.setSelections(B,[{selectionStartLineNumber:X.lineNumber,selectionStartColumn:X.column,positionLineNumber:X.lineNumber,positionColumn:X.column}])}}_sendRevealRange(X,B,$,Q){if(!this._modelData)return;if(!r.Range.isIRange(X))throw new Error(\"Invalid arguments\");const Z=this._modelData.model.validateRange(X),te=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(Z);this._modelData.viewModel.revealRange(\"api\",$,te,B,Q)}revealLine(X,B=0){this._revealLine(X,0,B)}revealLineInCenter(X,B=0){this._revealLine(X,1,B)}revealLineInCenterIfOutsideViewport(X,B=0){this._revealLine(X,2,B)}revealLineNearTop(X,B=0){this._revealLine(X,5,B)}_revealLine(X,B,$){if(typeof X!=\"number\")throw new Error(\"Invalid arguments\");this._sendRevealRange(new r.Range(X,1,X,1),B,!1,$)}revealPosition(X,B=0){this._revealPosition(X,0,!0,B)}revealPositionInCenter(X,B=0){this._revealPosition(X,1,!0,B)}revealPositionInCenterIfOutsideViewport(X,B=0){this._revealPosition(X,2,!0,B)}revealPositionNearTop(X,B=0){this._revealPosition(X,5,!0,B)}_revealPosition(X,B,$,Q){if(!a.Position.isIPosition(X))throw new Error(\"Invalid arguments\");this._sendRevealRange(new r.Range(X.lineNumber,X.column,X.lineNumber,X.column),B,$,Q)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(X,B=\"api\"){const $=u.Selection.isISelection(X),Q=r.Range.isIRange(X);if(!$&&!Q)throw new Error(\"Invalid arguments\");if($)this._setSelectionImpl(X,B);else if(Q){const Z={selectionStartLineNumber:X.startLineNumber,selectionStartColumn:X.startColumn,positionLineNumber:X.endLineNumber,positionColumn:X.endColumn};this._setSelectionImpl(Z,B)}}_setSelectionImpl(X,B){if(!this._modelData)return;const $=new u.Selection(X.selectionStartLineNumber,X.selectionStartColumn,X.positionLineNumber,X.positionColumn);this._modelData.viewModel.setSelections(B,[$])}revealLines(X,B,$=0){this._revealLines(X,B,0,$)}revealLinesInCenter(X,B,$=0){this._revealLines(X,B,1,$)}revealLinesInCenterIfOutsideViewport(X,B,$=0){this._revealLines(X,B,2,$)}revealLinesNearTop(X,B,$=0){this._revealLines(X,B,5,$)}_revealLines(X,B,$,Q){if(typeof X!=\"number\"||typeof B!=\"number\")throw new Error(\"Invalid arguments\");this._sendRevealRange(new r.Range(X,1,B,1),$,!1,Q)}revealRange(X,B=0,$=!1,Q=!0){this._revealRange(X,$?1:0,Q,B)}revealRangeInCenter(X,B=0){this._revealRange(X,1,!0,B)}revealRangeInCenterIfOutsideViewport(X,B=0){this._revealRange(X,2,!0,B)}revealRangeNearTop(X,B=0){this._revealRange(X,5,!0,B)}revealRangeNearTopIfOutsideViewport(X,B=0){this._revealRange(X,6,!0,B)}revealRangeAtTop(X,B=0){this._revealRange(X,3,!0,B)}_revealRange(X,B,$,Q){if(!r.Range.isIRange(X))throw new Error(\"Invalid arguments\");this._sendRevealRange(r.Range.lift(X),B,$,Q)}setSelections(X,B=\"api\",$=0){if(this._modelData){if(!X||X.length===0)throw new Error(\"Invalid arguments\");for(let Q=0,Z=X.length;Q<Z;Q++)if(!u.Selection.isISelection(X[Q]))throw new Error(\"Invalid arguments\");this._modelData.viewModel.setSelections(B,X,$)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(X,B=1){if(this._modelData){if(typeof X!=\"number\")throw new Error(\"Invalid arguments\");this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:X},B)}}setScrollTop(X,B=1){if(this._modelData){if(typeof X!=\"number\")throw new Error(\"Invalid arguments\");this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:X},B)}}setScrollPosition(X,B=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(X,B)}hasPendingScrollAnimation(){return this._modelData?this._modelData.viewModel.viewLayout.hasPendingScrollAnimation():!1}saveViewState(){if(!this._modelData)return null;const X=this._contributions.saveViewState(),B=this._modelData.viewModel.saveCursorState(),$=this._modelData.viewModel.saveState();return{cursorState:B,viewState:$,contributionsState:X}}restoreViewState(X){if(!this._modelData||!this._modelData.hasRealView)return;const B=X;if(B&&B.cursorState&&B.viewState){const $=B.cursorState;Array.isArray($)?$.length>0&&this._modelData.viewModel.restoreCursorState($):this._modelData.viewModel.restoreCursorState([$]),this._contributions.restoreViewState(B.contributionsState||{});const Q=this._modelData.viewModel.reduceRestoreState(B.viewState);this._modelData.view.restoreState(Q)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(X){return this._contributions.get(X)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let X=this.getActions();return X=X.filter(B=>B.isSupported()),X}getAction(X){return this._actions.get(X)||null}trigger(X,B,$){$=$||{};try{switch(this._beginUpdate(),B){case\"compositionStart\":this._startComposition();return;case\"compositionEnd\":this._endComposition(X);return;case\"type\":{const Z=$;this._type(X,Z.text||\"\");return}case\"replacePreviousChar\":{const Z=$;this._compositionType(X,Z.text||\"\",Z.replaceCharCnt||0,0,0);return}case\"compositionType\":{const Z=$;this._compositionType(X,Z.text||\"\",Z.replacePrevCharCnt||0,Z.replaceNextCharCnt||0,Z.positionDelta||0);return}case\"paste\":{const Z=$;this._paste(X,Z.text||\"\",Z.pasteOnNewLine||!1,Z.multicursorText||null,Z.mode||null,Z.clipboardEvent);return}case\"cut\":this._cut(X);return}const Q=this.getAction(B);if(Q){Promise.resolve(Q.run($)).then(void 0,k.onUnexpectedError);return}if(!this._modelData||this._triggerEditorCommand(X,B,$))return;this._triggerCommand(B,$)}finally{this._endUpdate()}}_triggerCommand(X,B){this._commandService.executeCommand(X,B)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(X){this._modelData&&(this._modelData.viewModel.endComposition(X),this._onDidCompositionEnd.fire())}_type(X,B){!this._modelData||B.length===0||(X===\"keyboard\"&&this._onWillType.fire(B),this._modelData.viewModel.type(B,X),X===\"keyboard\"&&this._onDidType.fire(B))}_compositionType(X,B,$,Q,Z){this._modelData&&this._modelData.viewModel.compositionType(B,$,Q,Z,X)}_paste(X,B,$,Q,Z,te){if(!this._modelData)return;const re=this._modelData.viewModel,le=re.getSelection().getStartPosition();re.paste(B,$,Q,X);const me=re.getSelection().getStartPosition();X===\"keyboard\"&&this._onDidPaste.fire({clipboardEvent:te,range:new r.Range(le.lineNumber,le.column,me.lineNumber,me.column),languageId:Z})}_cut(X){this._modelData&&this._modelData.viewModel.cut(X)}_triggerEditorCommand(X,B,$){const Q=p.EditorExtensionsRegistry.getEditorCommand(B);return Q?($=$||{},$.source=X,this._instantiationService.invokeFunction(Z=>{Promise.resolve(Q.runEditorCommand(Z,this,$)).then(void 0,k.onUnexpectedError)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(92)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(92)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(X,B,$){if(!this._modelData||this._configuration.options.get(92))return!1;let Q;return $?Array.isArray($)?Q=()=>$:Q=$:Q=()=>null,this._modelData.viewModel.executeEdits(X,B,Q),!0}executeCommand(X,B){this._modelData&&this._modelData.viewModel.executeCommand(B,X)}executeCommands(X,B){this._modelData&&this._modelData.viewModel.executeCommands(B,X)}createDecorationsCollection(X){return new ie(this,X)}changeDecorations(X){return this._modelData?this._modelData.model.changeDecorations(X,this._id):null}getLineDecorations(X){return this._modelData?this._modelData.model.getLineDecorations(X,this._id,(0,g.filterValidationDecorations)(this._configuration.options)):null}getDecorationsInRange(X){return this._modelData?this._modelData.model.getDecorationsInRange(X,this._id,(0,g.filterValidationDecorations)(this._configuration.options)):null}deltaDecorations(X,B){return this._modelData?X.length===0&&B.length===0?X:this._modelData.model.deltaDecorations(X,B,this._id):[]}removeDecorations(X){!this._modelData||X.length===0||this._modelData.model.changeDecorations(B=>{B.deltaDecorations(X,[])})}removeDecorationsByType(X){const B=this._decorationTypeKeysToIds[X];B&&this.changeDecorations($=>$.deltaDecorations(B,[])),this._decorationTypeKeysToIds.hasOwnProperty(X)&&delete this._decorationTypeKeysToIds[X],this._decorationTypeSubtypes.hasOwnProperty(X)&&delete this._decorationTypeSubtypes[X]}getLayoutInfo(){return this._configuration.options.get(146)}createOverviewRuler(X){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(X)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(X){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(X)}delegateScrollFromMouseWheelEvent(X){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateScrollFromMouseWheelEvent(X)}layout(X,B=!1){this._configuration.observeContainer(X),B||this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(X){const B={widget:X,position:X.getPosition()};this._contentWidgets.hasOwnProperty(X.getId())&&console.warn(\"Overwriting a content widget with the same id:\"+X.getId()),this._contentWidgets[X.getId()]=B,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(B)}layoutContentWidget(X){const B=X.getId();if(this._contentWidgets.hasOwnProperty(B)){const $=this._contentWidgets[B];$.position=X.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget($)}}removeContentWidget(X){const B=X.getId();if(this._contentWidgets.hasOwnProperty(B)){const $=this._contentWidgets[B];delete this._contentWidgets[B],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget($)}}addOverlayWidget(X){const B={widget:X,position:X.getPosition()};this._overlayWidgets.hasOwnProperty(X.getId())&&console.warn(\"Overwriting an overlay widget with the same id.\"),this._overlayWidgets[X.getId()]=B,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(B)}layoutOverlayWidget(X){const B=X.getId();if(this._overlayWidgets.hasOwnProperty(B)){const $=this._overlayWidgets[B];$.position=X.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget($)}}removeOverlayWidget(X){const B=X.getId();if(this._overlayWidgets.hasOwnProperty(B)){const $=this._overlayWidgets[B];delete this._overlayWidgets[B],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget($)}}addGlyphMarginWidget(X){const B={widget:X,position:X.getPosition()};this._glyphMarginWidgets.hasOwnProperty(X.getId())&&console.warn(\"Overwriting a glyph margin widget with the same id.\"),this._glyphMarginWidgets[X.getId()]=B,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(B)}layoutGlyphMarginWidget(X){const B=X.getId();if(this._glyphMarginWidgets.hasOwnProperty(B)){const $=this._glyphMarginWidgets[B];$.position=X.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget($)}}removeGlyphMarginWidget(X){const B=X.getId();if(this._glyphMarginWidgets.hasOwnProperty(B)){const $=this._glyphMarginWidgets[B];delete this._glyphMarginWidgets[B],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget($)}}changeViewZones(X){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(X)}getTargetAtClientPoint(X,B){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(X,B)}getScrolledVisiblePosition(X){if(!this._modelData||!this._modelData.hasRealView)return null;const B=this._modelData.model.validatePosition(X),$=this._configuration.options,Q=$.get(146),Z=H._getVerticalOffsetForPosition(this._modelData,B.lineNumber,B.column)-this.getScrollTop(),te=this._modelData.view.getOffsetForColumn(B.lineNumber,B.column)+Q.glyphMarginWidth+Q.lineNumbersWidth+Q.decorationsWidth-this.getScrollLeft();return{top:Z,left:te,height:$.get(67)}}getOffsetForColumn(X,B){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(X,B)}render(X=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,X)})}setAriaOptions(X){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(X)}applyFontInfo(X){(0,m.applyFontInfo)(X,this._configuration.options.get(50))}setBanner(X,B){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=X,this._configuration.setReservedHeight(X?B:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(X){if(!X){this._modelData=null;return}const B=[];this._domElement.setAttribute(\"data-mode-id\",X.getLanguageId()),this._configuration.setIsDominatedByLongLines(X.isDominatedByLongLines()),this._configuration.setModelLineCount(X.getLineCount());const $=X.onBeforeAttached(),Q=new T.ViewModel(this._id,this._configuration,X,t.DOMLineBreaksComputerFactory.create(d.getWindow(this._domElement)),D.MonospaceLineBreaksComputerFactory.create(this._configuration.options),re=>d.scheduleAtNextAnimationFrame(d.getWindow(this._domElement),re),this.languageConfigurationService,this._themeService,$,{batchChanges:re=>{try{return this._beginUpdate(),re()}finally{this._endUpdate()}}});B.push(X.onWillDispose(()=>this.setModel(null))),B.push(Q.onEvent(re=>{switch(re.kind){case 0:this._onDidContentSizeChange.fire(re);break;case 1:this._editorTextFocus.setValue(re.hasFocus);break;case 2:this._onDidScrollChange.fire(re);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(re.reachedMaxCursorCount){const ye=this.getOption(80),Le=M.localize(70,\"The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.\",ye);this._notificationService.prompt(x.Severity.Warning,Le,[{label:\"Find and Replace\",run:()=>{this._commandService.executeCommand(\"editor.action.startFindReplaceAction\")}},{label:M.localize(71,\"Increase Multi Cursor Limit\"),run:()=>{this._commandService.executeCommand(\"workbench.action.openSettings2\",{query:\"editor.multiCursorLimit\"})}}])}const le=[];for(let ye=0,Le=re.selections.length;ye<Le;ye++)le[ye]=re.selections[ye].getPosition();const me={position:le[0],secondaryPositions:le.slice(1),reason:re.reason,source:re.source};this._onDidChangeCursorPosition.fire(me);const Ce={selection:re.selections[0],secondarySelections:re.selections.slice(1),modelVersionId:re.modelVersionId,oldSelections:re.oldSelections,oldModelVersionId:re.oldModelVersionId,source:re.source,reason:re.reason};this._onDidChangeCursorSelection.fire(Ce);break}case 7:this._onDidChangeModelDecorations.fire(re.event);break;case 8:this._domElement.setAttribute(\"data-mode-id\",X.getLanguageId()),this._onDidChangeModelLanguage.fire(re.event);break;case 9:this._onDidChangeModelLanguageConfiguration.fire(re.event);break;case 10:this._onDidChangeModelContent.fire(re.event);break;case 11:this._onDidChangeModelOptions.fire(re.event);break;case 12:this._onDidChangeModelTokens.fire(re.event);break}}));const[Z,te]=this._createView(Q);if(te){this._domElement.appendChild(Z.domNode.domNode);let re=Object.keys(this._contentWidgets);for(let le=0,me=re.length;le<me;le++){const Ce=re[le];Z.addContentWidget(this._contentWidgets[Ce])}re=Object.keys(this._overlayWidgets);for(let le=0,me=re.length;le<me;le++){const Ce=re[le];Z.addOverlayWidget(this._overlayWidgets[Ce])}re=Object.keys(this._glyphMarginWidgets);for(let le=0,me=re.length;le<me;le++){const Ce=re[le];Z.addGlyphMarginWidget(this._glyphMarginWidgets[Ce])}Z.render(!1,!0),Z.domNode.domNode.setAttribute(\"data-uri\",X.uri.toString())}this._modelData=new j(X,Q,Z,te,B,$)}_createView(X){let B;this.isSimpleWidget?B={paste:(Z,te,re,le)=>{this._paste(\"keyboard\",Z,te,re,le)},type:Z=>{this._type(\"keyboard\",Z)},compositionType:(Z,te,re,le)=>{this._compositionType(\"keyboard\",Z,te,re,le)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition(\"keyboard\")},cut:()=>{this._cut(\"keyboard\")}}:B={paste:(Z,te,re,le)=>{const me={text:Z,pasteOnNewLine:te,multicursorText:re,mode:le};this._commandService.executeCommand(\"paste\",me)},type:Z=>{const te={text:Z};this._commandService.executeCommand(\"type\",te)},compositionType:(Z,te,re,le)=>{if(re||le){const me={text:Z,replacePrevCharCnt:te,replaceNextCharCnt:re,positionDelta:le};this._commandService.executeCommand(\"compositionType\",me)}else{const me={text:Z,replaceCharCnt:te};this._commandService.executeCommand(\"replacePreviousChar\",me)}},startComposition:()=>{this._commandService.executeCommand(\"compositionStart\",{})},endComposition:()=>{this._commandService.executeCommand(\"compositionEnd\",{})},cut:()=>{this._commandService.executeCommand(\"cut\",{})}};const $=new i.ViewUserInputEvents(X.coordinatesConverter);return $.onKeyDown=Z=>this._onKeyDown.fire(Z),$.onKeyUp=Z=>this._onKeyUp.fire(Z),$.onContextMenu=Z=>this._onContextMenu.fire(Z),$.onMouseMove=Z=>this._onMouseMove.fire(Z),$.onMouseLeave=Z=>this._onMouseLeave.fire(Z),$.onMouseDown=Z=>this._onMouseDown.fire(Z),$.onMouseUp=Z=>this._onMouseUp.fire(Z),$.onMouseDrag=Z=>this._onMouseDrag.fire(Z),$.onMouseDrop=Z=>this._onMouseDrop.fire(Z),$.onMouseDropCanceled=Z=>this._onMouseDropCanceled.fire(Z),$.onMouseWheel=Z=>this._onMouseWheel.fire(Z),[new o.View(B,this._configuration,this._themeService.getColorTheme(),X,$,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(X){X?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const X=this._modelData.model,B=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute(\"data-mode-id\"),B&&this._domElement.contains(B)&&B.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),X}_removeDecorationType(X){this._codeEditorService.removeDecorationType(X)}hasModel(){return this._modelData!==null}showDropIndicatorAt(X){const B=[{range:new r.Range(X.lineNumber,X.column,X.lineNumber,X.column),options:H.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(B),this.revealPosition(X,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(X,B){this._contextKeyService.createKey(X,B)}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}};e.CodeEditorWidget=z,e.CodeEditorWidget=z=H=ke([ce(3,O.IInstantiationService),ce(4,n.ICodeEditorService),ce(5,P.ICommandService),ce(6,N.IContextKeyService),ce(7,V.IThemeService),ce(8,x.INotificationService),ce(9,A.IAccessibilityService),ce(10,w.ILanguageConfigurationService),ce(11,L.ILanguageFeaturesService)],z);let U=0;class j{constructor(X,B,$,Q,Z,te){this.model=X,this.viewModel=B,this.view=$,this.hasRealView=Q,this.listenersToRemove=Z,this.attachedView=te}dispose(){(0,E.dispose)(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class Y extends E.Disposable{constructor(X){super(),this._emitterOptions=X,this._onDidChangeToTrue=this._register(new I.Emitter(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new I.Emitter(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(X){const B=X?2:1;this._value!==B&&(this._value=B,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}e.BooleanEventEmitter=Y;class G extends I.Emitter{constructor(X,B){super({deliveryQueue:B}),this._contributions=X}fire(X){this._contributions.onBeforeInteractionEvent(),super.fire(X)}}class K extends E.Disposable{constructor(X,B){super(),this._editor=X,B.createKey(\"editorId\",X.getId()),this._editorSimpleInput=v.EditorContextKeys.editorSimpleInput.bindTo(B),this._editorFocus=v.EditorContextKeys.focus.bindTo(B),this._textInputFocus=v.EditorContextKeys.textInputFocus.bindTo(B),this._editorTextFocus=v.EditorContextKeys.editorTextFocus.bindTo(B),this._tabMovesFocus=v.EditorContextKeys.tabMovesFocus.bindTo(B),this._editorReadonly=v.EditorContextKeys.readOnly.bindTo(B),this._inDiffEditor=v.EditorContextKeys.inDiffEditor.bindTo(B),this._editorColumnSelection=v.EditorContextKeys.columnSelection.bindTo(B),this._hasMultipleSelections=v.EditorContextKeys.hasMultipleSelections.bindTo(B),this._hasNonEmptySelection=v.EditorContextKeys.hasNonEmptySelection.bindTo(B),this._canUndo=v.EditorContextKeys.canUndo.bindTo(B),this._canRedo=v.EditorContextKeys.canRedo.bindTo(B),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(b.TabFocus.onDidChangeTabFocus($=>this._tabMovesFocus.set($))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const X=this._editor.getOptions();this._tabMovesFocus.set(b.TabFocus.getTabFocusMode()),this._editorReadonly.set(X.get(92)),this._inDiffEditor.set(X.get(61)),this._editorColumnSelection.set(X.get(22))}_updateFromSelection(){const X=this._editor.getSelections();X?(this._hasMultipleSelections.set(X.length>1),this._hasNonEmptySelection.set(X.some(B=>!B.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const X=this._editor.getModel();this._canUndo.set(!!(X&&X.canUndo())),this._canRedo.set(!!(X&&X.canRedo()))}}class R extends E.Disposable{constructor(X,B,$){super(),this._editor=X,this._contextKeyService=B,this._languageFeaturesService=$,this._langId=v.EditorContextKeys.languageId.bindTo(B),this._hasCompletionItemProvider=v.EditorContextKeys.hasCompletionItemProvider.bindTo(B),this._hasCodeActionsProvider=v.EditorContextKeys.hasCodeActionsProvider.bindTo(B),this._hasCodeLensProvider=v.EditorContextKeys.hasCodeLensProvider.bindTo(B),this._hasDefinitionProvider=v.EditorContextKeys.hasDefinitionProvider.bindTo(B),this._hasDeclarationProvider=v.EditorContextKeys.hasDeclarationProvider.bindTo(B),this._hasImplementationProvider=v.EditorContextKeys.hasImplementationProvider.bindTo(B),this._hasTypeDefinitionProvider=v.EditorContextKeys.hasTypeDefinitionProvider.bindTo(B),this._hasHoverProvider=v.EditorContextKeys.hasHoverProvider.bindTo(B),this._hasDocumentHighlightProvider=v.EditorContextKeys.hasDocumentHighlightProvider.bindTo(B),this._hasDocumentSymbolProvider=v.EditorContextKeys.hasDocumentSymbolProvider.bindTo(B),this._hasReferenceProvider=v.EditorContextKeys.hasReferenceProvider.bindTo(B),this._hasRenameProvider=v.EditorContextKeys.hasRenameProvider.bindTo(B),this._hasSignatureHelpProvider=v.EditorContextKeys.hasSignatureHelpProvider.bindTo(B),this._hasInlayHintsProvider=v.EditorContextKeys.hasInlayHintsProvider.bindTo(B),this._hasDocumentFormattingProvider=v.EditorContextKeys.hasDocumentFormattingProvider.bindTo(B),this._hasDocumentSelectionFormattingProvider=v.EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo(B),this._hasMultipleDocumentFormattingProvider=v.EditorContextKeys.hasMultipleDocumentFormattingProvider.bindTo(B),this._hasMultipleDocumentSelectionFormattingProvider=v.EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider.bindTo(B),this._isInEmbeddedEditor=v.EditorContextKeys.isInEmbeddedEditor.bindTo(B);const Q=()=>this._update();this._register(X.onDidChangeModel(Q)),this._register(X.onDidChangeModelLanguage(Q)),this._register($.completionProvider.onDidChange(Q)),this._register($.codeActionProvider.onDidChange(Q)),this._register($.codeLensProvider.onDidChange(Q)),this._register($.definitionProvider.onDidChange(Q)),this._register($.declarationProvider.onDidChange(Q)),this._register($.implementationProvider.onDidChange(Q)),this._register($.typeDefinitionProvider.onDidChange(Q)),this._register($.hoverProvider.onDidChange(Q)),this._register($.documentHighlightProvider.onDidChange(Q)),this._register($.documentSymbolProvider.onDidChange(Q)),this._register($.referenceProvider.onDidChange(Q)),this._register($.renameProvider.onDidChange(Q)),this._register($.documentFormattingEditProvider.onDidChange(Q)),this._register($.documentRangeFormattingEditProvider.onDidChange(Q)),this._register($.signatureHelpProvider.onDidChange(Q)),this._register($.inlayHintsProvider.onDidChange(Q)),Q()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){const X=this._editor.getModel();if(!X){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(X.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(X)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(X)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(X)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(X)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(X)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(X)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(X)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(X)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(X)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(X)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(X)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(X)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(X)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(X)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(X)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(X)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(X)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(X).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(X).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(X).length>1),this._isInEmbeddedEditor.set(X.uri.scheme===y.Schemas.walkThroughSnippet||X.uri.scheme===y.Schemas.vscodeChatCodeBlock)})}}e.EditorModeContext=R;class J extends E.Disposable{constructor(X,B){super(),this._onChange=this._register(new I.Emitter),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(d.trackFocus(X)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),B&&(this._overflowWidgetsDomNode=this._register(d.trackFocus(B)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const X=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==X&&(this._hadFocus=X,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}class ie{get length(){return this._decorationIds.length}constructor(X,B){this._editor=X,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(B)&&B.length>0&&this.set(B)}onDidChange(X,B,$){return this._editor.onDidChangeModelDecorations(Q=>{this._isChangingDecorations||X.call(B,Q)},$)}getRange(X){return!this._editor.hasModel()||X>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[X])}getRanges(){if(!this._editor.hasModel())return[];const X=this._editor.getModel(),B=[];for(const $ of this._decorationIds){const Q=X.getDecorationRange($);Q&&B.push(Q)}return B}has(X){return this._decorationIds.includes(X.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(X){try{this._isChangingDecorations=!0,this._editor.changeDecorations(B=>{this._decorationIds=B.deltaDecorations(this._decorationIds,X)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(X){let B=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations($=>{B=$.deltaDecorations([],X),this._decorationIds=this._decorationIds.concat(B)})}finally{this._isChangingDecorations=!1}return B}}const ue=encodeURIComponent(\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='\"),he=encodeURIComponent(\"'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>\");function pe(ge){return ue+encodeURIComponent(ge.toString())+he}const ae=encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"3\" width=\"12\"><g fill=\"'),ee=encodeURIComponent('\"><circle cx=\"1\" cy=\"1\" r=\"1\"/><circle cx=\"5\" cy=\"1\" r=\"1\"/><circle cx=\"9\" cy=\"1\" r=\"1\"/></g></svg>');function de(ge){return ae+encodeURIComponent(ge.toString())+ee}(0,V.registerThemingParticipant)((ge,X)=>{const B=ge.getColor(W.editorErrorForeground);B&&X.addRule(`.monaco-editor .squiggly-error { background: url(\"data:image/svg+xml,${pe(B)}\") repeat-x bottom left; }`);const $=ge.getColor(W.editorWarningForeground);$&&X.addRule(`.monaco-editor .squiggly-warning { background: url(\"data:image/svg+xml,${pe($)}\") repeat-x bottom left; }`);const Q=ge.getColor(W.editorInfoForeground);Q&&X.addRule(`.monaco-editor .squiggly-info { background: url(\"data:image/svg+xml,${pe(Q)}\") repeat-x bottom left; }`);const Z=ge.getColor(W.editorHintForeground);Z&&X.addRule(`.monaco-editor .squiggly-hint { background: url(\"data:image/svg+xml,${de(Z)}\") no-repeat bottom left; }`);const te=ge.getColor(l.editorUnnecessaryCodeOpacity);te&&X.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${te.rgba.a}; }`)})}),define(ne[125],se([1,0,60,34,219,36,17,61,24,12,7,50,25]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EmbeddedCodeEditorWidget=void 0;let t=class extends I.CodeEditorWidget{constructor(s,g,c,l,a,r,u,C,f,h,v,w,S){super(s,{...l.getRawOptions(),overflowWidgetsDomNode:l.getOverflowWidgetsDomNode()},c,a,r,u,C,f,h,v,w,S),this._parentEditor=l,this._overwriteOptions=g,super.updateOptions(this._overwriteOptions),this._register(l.onDidChangeConfiguration(L=>this._onParentConfigurationChanged(L)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(s){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(s){d.mixin(this._overwriteOptions,s,!0),super.updateOptions(this._overwriteOptions)}};e.EmbeddedCodeEditorWidget=t,e.EmbeddedCodeEditorWidget=t=ke([ce(4,p.IInstantiationService),ce(5,k.ICodeEditorService),ce(6,_.ICommandService),ce(7,b.IContextKeyService),ce(8,o.IThemeService),ce(9,n.INotificationService),ce(10,m.IAccessibilityService),ce(11,E.ILanguageConfigurationService),ce(12,y.ILanguageFeaturesService)],t)}),define(ne[286],se([1,0,5,67,8,6,2,21,65,15,34,143,219,762,806,363,285,799,383,364,415,653,88,171,397,9,4,198,20,137,12,7,154,96,775,552,807,407,500]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffEditorWidget=void 0;let W=class extends O.DelegatingEditor{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(H,z,U,j,Y,G,K,R){super(),this._domElement=H,this._parentContextKeyService=j,this._parentInstantiationService=Y,this._accessibilitySignalService=K,this._editorProgressService=R,this.elements=(0,d.h)(\"div.monaco-diff-editor.side-by-side\",{style:{position:\"relative\",height:\"100%\"}},[(0,d.h)(\"div.editor.original@original\",{style:{position:\"absolute\",height:\"100%\"}}),(0,d.h)(\"div.editor.modified@modified\",{style:{position:\"absolute\",height:\"100%\"}}),(0,d.h)(\"div.accessibleDiffViewer@accessibleDiffViewer\",{style:{position:\"absolute\",height:\"100%\"}})]),this._diffModelSrc=this._register((0,m.disposableObservableValue)(this,void 0)),this._diffModel=(0,m.derived)(this,$=>this._diffModelSrc.read($)?.object),this.onDidChangeModel=E.Event.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new A.ServiceCollection([T.IContextKeyService,this._contextKeyService]))),this._boundarySashes=(0,m.observableValue)(this,void 0),this._accessibleDiffViewerShouldBeVisible=(0,m.observableValue)(this,!1),this._accessibleDiffViewerVisible=(0,m.derived)(this,$=>this._options.onlyShowAccessibleDiffViewer.read($)?!0:this._accessibleDiffViewerShouldBeVisible.read($)),this._movedBlocksLinesPart=(0,m.observableValue)(this,void 0),this._layoutInfo=(0,m.derived)(this,$=>{const Q=this._rootSizeObserver.width.read($),Z=this._rootSizeObserver.height.read($);this._rootSizeObserver.automaticLayout?this.elements.root.style.height=\"100%\":this.elements.root.style.height=Z+\"px\";const te=this._sash.read($),re=this._gutter.read($),le=re?.width.read($)??0,me=this._overviewRulerPart.read($)?.width??0;let Ce,ye,Le,Ee,Me;if(!!te){const Ne=te.sashLeft.read($),Ke=this._movedBlocksLinesPart.read($)?.width.read($)??0;Ce=0,ye=Ne-le-Ke,Me=Ne-le,Le=Ne,Ee=Q-Le-me}else{Me=0;const Ne=this._options.inlineViewHideOriginalLineNumbers.read($);Ce=le,Ne?ye=0:ye=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read($)),Le=le+ye,Ee=Q-Le-me}return this.elements.original.style.left=Ce+\"px\",this.elements.original.style.width=ye+\"px\",this._editors.original.layout({width:ye,height:Z},!0),re?.layout(Me),this.elements.modified.style.left=Le+\"px\",this.elements.modified.style.width=Ee+\"px\",this._editors.modified.layout({width:Ee,height:Z},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map(($,Q)=>$?.diff.read(Q)),this.onDidUpdateDiff=E.Event.fromObservableLight(this._diffValue),G.willCreateDiffEditor(),this._contextKeyService.createKey(\"isInDiffEditor\",!0),this._domElement.appendChild(this.elements.root),this._register((0,y.toDisposable)(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new C.ObservableElementSizeObserver(this.elements.root,z.dimension)),this._rootSizeObserver.setAutomaticLayout(z.automaticLayout??!1),this._options=this._instantiationService.createInstance(F.DiffEditorOptions,z),this._register((0,m.autorun)($=>{this._options.setWidth(this._rootSizeObserver.width.read($))})),this._contextKeyService.createKey(L.EditorContextKeys.isEmbeddedDiffEditor.key,!1),this._register((0,h.bindContextKey)(L.EditorContextKeys.isEmbeddedDiffEditor,this._contextKeyService,$=>this._options.isInEmbeddedEditor.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.comparingMovedCode,this._contextKeyService,$=>!!this._diffModel.read($)?.movedTextToCompare.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,$=>this._options.couldShowInlineViewBecauseOfSize.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorInlineMode,this._contextKeyService,$=>!this._options.renderSideBySide.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.hasChanges,this._contextKeyService,$=>(this._diffModel.read($)?.diff.read($)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(N.DiffEditorEditors,this.elements.original,this.elements.modified,this._options,U,($,Q,Z,te)=>this._createInnerEditor($,Q,Z,te))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorOriginalWritable,this._contextKeyService,$=>this._options.originalEditable.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorModifiedWritable,this._contextKeyService,$=>!this._options.readOnly.read($))),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorOriginalUri,this._contextKeyService,$=>this._diffModel.read($)?.model.original.uri.toString()??\"\")),this._register((0,h.bindContextKey)(L.EditorContextKeys.diffEditorModifiedUri,this._contextKeyService,$=>this._diffModel.read($)?.model.modified.uri.toString()??\"\")),this._overviewRulerPart=(0,_.derivedDisposable)(this,$=>this._options.renderOverviewRuler.read($)?this._instantiationService.createInstance((0,f.readHotReloadableExport)(r.OverviewRulerFeature,$),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(Q=>Q.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const J={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(($,Q)=>$-(this._overviewRulerPart.read(Q)?.width??0))};this._sashLayout=new s.SashLayout(this._options,J),this._sash=(0,_.derivedDisposable)(this,$=>{const Q=this._options.renderSideBySide.read($);return this.elements.root.classList.toggle(\"side-by-side\",Q),Q?new s.DiffEditorSash(this.elements.root,J,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const ie=(0,_.derivedDisposable)(this,$=>this._instantiationService.createInstance((0,f.readHotReloadableExport)(l.HideUnchangedRegionsFeature,$),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);(0,_.derivedDisposable)(this,$=>this._instantiationService.createInstance((0,f.readHotReloadableExport)(i.DiffEditorDecorations,$),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const ue=new Set,he=new Set;let pe=!1;const ae=(0,_.derivedDisposable)(this,$=>this._instantiationService.createInstance((0,f.readHotReloadableExport)(g.DiffEditorViewZones,$),(0,d.getWindow)(this._domElement),this._editors,this._diffModel,this._options,this,()=>pe||ie.get().isUpdatingHiddenAreas,ue,he)).recomputeInitiallyAndOnChange(this._store),ee=(0,m.derived)(this,$=>{const Q=ae.read($).viewZones.read($).orig,Z=ie.read($).viewZones.read($).origViewZones;return Q.concat(Z)}),de=(0,m.derived)(this,$=>{const Q=ae.read($).viewZones.read($).mod,Z=ie.read($).viewZones.read($).modViewZones;return Q.concat(Z)});this._register((0,C.applyViewZones)(this._editors.original,ee,$=>{pe=$},ue));let ge;this._register((0,C.applyViewZones)(this._editors.modified,de,$=>{pe=$,pe?ge=n.StableEditorScrollState.capture(this._editors.modified):(ge?.restore(this._editors.modified),ge=void 0)},he)),this._accessibleDiffViewer=(0,_.derivedDisposable)(this,$=>this._instantiationService.createInstance((0,f.readHotReloadableExport)(t.AccessibleDiffViewer,$),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(Q,Z)=>this._accessibleDiffViewerShouldBeVisible.set(Q,Z),this._options.onlyShowAccessibleDiffViewer.map(Q=>!Q),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((Q,Z)=>Q?.diff.read(Z)?.mappings.map(te=>te.lineRangeMapping)),new t.AccessibleDiffViewerModelFromEditors(this._editors))).recomputeInitiallyAndOnChange(this._store);const X=this._accessibleDiffViewerVisible.map($=>$?\"hidden\":\"visible\");this._register((0,C.applyStyle)(this.elements.modified,{visibility:X})),this._register((0,C.applyStyle)(this.elements.original,{visibility:X})),this._createDiffEditorContributions(),G.addDiffEditor(this),this._gutter=(0,_.derivedDisposable)(this,$=>this._options.shouldRenderGutterMenu.read($)?this._instantiationService.createInstance((0,f.readHotReloadableExport)(c.DiffEditorGutter,$),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register((0,m.recomputeInitiallyAndOnChange)(this._layoutInfo)),(0,_.derivedDisposable)(this,$=>new((0,f.readHotReloadableExport)(a.MovedBlocksLinesFeature,$))(this.elements.root,this._diffModel,this._layoutInfo.map(Q=>Q.originalEditor),this._layoutInfo.map(Q=>Q.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,$=>{this._movedBlocksLinesPart.set($,void 0)}),this._register(E.Event.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,$=>this._handleCursorPositionChange($,!0))),this._register(E.Event.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,$=>this._handleCursorPositionChange($,!1)));const B=this._diffModel.map(this,($,Q)=>{if($)return $.diff.read(Q)===void 0&&!$.isDiffUpToDate.read(Q)});this._register((0,m.autorunWithStore)(($,Q)=>{if(B.read($)===!0){const Z=this._editorProgressService.show(!0,1e3);Q.add((0,y.toDisposable)(()=>Z.done()))}})),this._register((0,m.autorunWithStore)(($,Q)=>{Q.add(new((0,f.readHotReloadableExport)(u.RevertButtonsFeature,$))(this._editors,this._diffModel,this._options,this))})),this._register((0,m.autorunWithStore)(($,Q)=>{const Z=this._diffModel.read($);if(Z)for(const te of[Z.model.original,Z.model.modified])Q.add(te.onWillDispose(re=>{(0,I.onUnexpectedError)(new I.BugIndicatingError(\"TextModel got disposed before DiffEditorWidget model got reset\")),this.setModel(null)}))})),this._register((0,m.autorun)($=>{this._options.setModel(this._diffModel.read($))}))}_createInnerEditor(H,z,U,j){return H.createInstance(o.CodeEditorWidget,z,U,j)}_createDiffEditorContributions(){const H=b.EditorExtensionsRegistry.getDiffEditorContributions();for(const z of H)try{this._register(this._instantiationService.createInstance(z.ctor,this))}catch(U){(0,I.onUnexpectedError)(U)}}get _targetEditor(){return this._editors.modified}getEditorType(){return S.EditorType.IDiffEditor}layout(H){this._rootSizeObserver.observe(H)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){const H=this._editors.original.saveViewState(),z=this._editors.modified.saveViewState();return{original:H,modified:z,modelState:this._diffModel.get()?.serializeState()}}restoreViewState(H){if(H&&H.original&&H.modified){const z=H;this._editors.original.restoreViewState(z.original),this._editors.modified.restoreViewState(z.modified),z.modelState&&this._diffModel.get()?.restoreSerializedState(z.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(H){return this._instantiationService.createInstance(x.DiffEditorViewModel,H,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(H){const z=H?\"model\"in H?C.RefCounted.create(H).createNewRef(this):C.RefCounted.create(this.createViewModel(H),this):null;this.setDiffModel(z)}setDiffModel(H,z){const U=this._diffModel.get();!H&&U&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==H?.object&&(0,m.subtransaction)(z,j=>{const Y=H?.object;m.observableFromEvent.batchEventsGlobally(j,()=>{this._editors.original.setModel(Y?Y.model.original:null),this._editors.modified.setModel(Y?Y.model.modified:null)});const G=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(H?.createNewRef(this),j),setTimeout(()=>{G?.dispose()},0)})}updateOptions(H){this._options.updateOptions(H)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){const H=this._diffModel.get()?.diff.get();return H?V(H):null}revert(H){const z=this._diffModel.get();!z||!z.isDiffUpToDate.get()||this._editors.modified.executeEdits(\"diffEditor\",[{range:H.modified.toExclusiveRange(),text:z.model.original.getValueInRange(H.original.toExclusiveRange())}])}revertRangeMappings(H){const z=this._diffModel.get();if(!z||!z.isDiffUpToDate.get())return;const U=H.map(j=>({range:j.modifiedRange,text:z.model.original.getValueInRange(j.originalRange)}));this._editors.modified.executeEdits(\"diffEditor\",U)}_goTo(H){this._editors.modified.setPosition(new v.Position(H.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(H.lineRangeMapping.modified.toExclusiveRange())}goToDiff(H){const z=this._diffModel.get()?.diff.get()?.mappings;if(!z||z.length===0)return;const U=this._editors.modified.getPosition().lineNumber;let j;H===\"next\"?j=z.find(Y=>Y.lineRangeMapping.modified.startLineNumber>U)??z[0]:j=(0,k.findLast)(z,Y=>Y.lineRangeMapping.modified.startLineNumber<U)??z[z.length-1],this._goTo(j),j.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineDeleted,{source:\"diffEditor.goToDiff\"}):j.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineInserted,{source:\"diffEditor.goToDiff\"}):j&&this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineModified,{source:\"diffEditor.goToDiff\"})}revealFirstDiff(){const H=this._diffModel.get();H&&this.waitForDiff().then(()=>{const z=H.diff.get()?.mappings;!z||z.length===0||this._goTo(z[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const H=this._diffModel.get();H&&await H.waitForDiff()}mapToOtherSide(){const H=this._editors.modified.hasWidgetFocus(),z=H?this._editors.modified:this._editors.original,U=H?this._editors.original:this._editors.modified;let j;const Y=z.getSelection();if(Y){const G=this._diffModel.get()?.diff.get()?.mappings.map(K=>H?K.lineRangeMapping.flip():K.lineRangeMapping);if(G){const K=(0,C.translatePosition)(Y.getStartPosition(),G),R=(0,C.translatePosition)(Y.getEndPosition(),G);j=w.Range.plusRange(K,R)}}return{destination:U,destinationSelection:j}}switchSide(){const{destination:H,destinationSelection:z}=this.mapToOtherSide();H.focus(),z&&H.setSelection(z)}exitCompareMove(){const H=this._diffModel.get();H&&H.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){const H=this._diffModel.get()?.unchangedRegions.get();H&&(0,m.transaction)(z=>{for(const U of H)U.collapseAll(z)})}showAllUnchangedRegions(){const H=this._diffModel.get()?.unchangedRegions.get();H&&(0,m.transaction)(z=>{for(const U of H)U.showAll(z)})}_handleCursorPositionChange(H,z){if(H?.reason===3){const U=this._diffModel.get()?.diff.get()?.mappings.find(j=>z?j.lineRangeMapping.modified.contains(H.position.lineNumber):j.lineRangeMapping.original.contains(H.position.lineNumber));U?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineDeleted,{source:\"diffEditor.cursorPositionChanged\"}):U?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineInserted,{source:\"diffEditor.cursorPositionChanged\"}):U&&this._accessibilitySignalService.playSignal(D.AccessibilitySignal.diffLineModified,{source:\"diffEditor.cursorPositionChanged\"})}}};e.DiffEditorWidget=W,e.DiffEditorWidget=W=ke([ce(3,T.IContextKeyService),ce(4,M.IInstantiationService),ce(5,p.ICodeEditorService),ce(6,D.IAccessibilitySignalService),ce(7,P.IEditorProgressService)],W);function V(q){return q.mappings.map(H=>{const z=H.lineRangeMapping;let U,j,Y,G,K=z.innerChanges;return z.original.isEmpty?(U=z.original.startLineNumber-1,j=0,K=void 0):(U=z.original.startLineNumber,j=z.original.endLineNumberExclusive-1),z.modified.isEmpty?(Y=z.modified.startLineNumber-1,G=0,K=void 0):(Y=z.modified.startLineNumber,G=z.modified.endLineNumberExclusive-1),{originalStartLineNumber:U,originalEndLineNumber:j,modifiedStartLineNumber:Y,modifiedEndLineNumber:G,charChanges:K?.map(R=>({originalStartLineNumber:R.originalRange.startLineNumber,originalStartColumn:R.originalRange.startColumn,originalEndLineNumber:R.originalRange.endLineNumber,originalEndColumn:R.originalRange.endColumn,modifiedStartLineNumber:R.modifiedRange.startLineNumber,modifiedStartColumn:R.modifiedRange.startColumn,modifiedEndLineNumber:R.modifiedRange.endLineNumber,modifiedEndColumn:R.modifiedRange.endColumn}))}})}}),define(ne[811],se([1,0,5,26,15,34,286,20,3,29,28,12,139]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessibleDiffViewerPrev=e.AccessibleDiffViewerNext=e.RevertHunkOrSelection=e.ShowAllUnchangedRegions=e.CollapseAllUnchangedRegions=e.ExitCompareMove=e.SwitchSide=e.ToggleUseInlineViewWhenSpaceIsLimited=e.ToggleShowMovedCodeBlocks=e.ToggleCollapseUnchangedRegions=void 0,e.findDiffEditor=h,e.findFocusedDiffEditor=v;class o extends b.Action2{constructor(){super({id:\"diffEditor.toggleCollapseUnchangedRegions\",title:(0,_.localize2)(72,\"Toggle Collapse Unchanged Regions\"),icon:k.Codicon.map,toggled:n.ContextKeyExpr.has(\"config.diffEditor.hideUnchangedRegions.enabled\"),precondition:n.ContextKeyExpr.has(\"isInDiffEditor\"),menu:{when:n.ContextKeyExpr.has(\"isInDiffEditor\"),id:b.MenuId.EditorTitle,order:22,group:\"navigation\"}})}run(L,...D){const T=L.get(p.IConfigurationService),M=!T.getValue(\"diffEditor.hideUnchangedRegions.enabled\");T.updateValue(\"diffEditor.hideUnchangedRegions.enabled\",M)}}e.ToggleCollapseUnchangedRegions=o;class t extends b.Action2{constructor(){super({id:\"diffEditor.toggleShowMovedCodeBlocks\",title:(0,_.localize2)(73,\"Toggle Show Moved Code Blocks\"),precondition:n.ContextKeyExpr.has(\"isInDiffEditor\")})}run(L,...D){const T=L.get(p.IConfigurationService),M=!T.getValue(\"diffEditor.experimental.showMoves\");T.updateValue(\"diffEditor.experimental.showMoves\",M)}}e.ToggleShowMovedCodeBlocks=t;class i extends b.Action2{constructor(){super({id:\"diffEditor.toggleUseInlineViewWhenSpaceIsLimited\",title:(0,_.localize2)(74,\"Toggle Use Inline View When Space Is Limited\"),precondition:n.ContextKeyExpr.has(\"isInDiffEditor\")})}run(L,...D){const T=L.get(p.IConfigurationService),M=!T.getValue(\"diffEditor.useInlineViewWhenSpaceIsLimited\");T.updateValue(\"diffEditor.useInlineViewWhenSpaceIsLimited\",M)}}e.ToggleUseInlineViewWhenSpaceIsLimited=i;const s=(0,_.localize2)(75,\"Diff Editor\");class g extends I.EditorAction2{constructor(){super({id:\"diffEditor.switchSide\",title:(0,_.localize2)(76,\"Switch Side\"),icon:k.Codicon.arrowSwap,precondition:n.ContextKeyExpr.has(\"isInDiffEditor\"),f1:!0,category:s})}runEditorCommand(L,D,T){const M=v(L);if(M instanceof y.DiffEditorWidget){if(T&&T.dryRun)return{destinationSelection:M.mapToOtherSide().destinationSelection};M.switchSide()}}}e.SwitchSide=g;class c extends I.EditorAction2{constructor(){super({id:\"diffEditor.exitCompareMove\",title:(0,_.localize2)(77,\"Exit Compare Move\"),icon:k.Codicon.close,precondition:m.EditorContextKeys.comparingMovedCode,f1:!1,category:s,keybinding:{weight:1e4,primary:9}})}runEditorCommand(L,D,...T){const M=v(L);M instanceof y.DiffEditorWidget&&M.exitCompareMove()}}e.ExitCompareMove=c;class l extends I.EditorAction2{constructor(){super({id:\"diffEditor.collapseAllUnchangedRegions\",title:(0,_.localize2)(78,\"Collapse All Unchanged Regions\"),icon:k.Codicon.fold,precondition:n.ContextKeyExpr.has(\"isInDiffEditor\"),f1:!0,category:s})}runEditorCommand(L,D,...T){const M=v(L);M instanceof y.DiffEditorWidget&&M.collapseAllUnchangedRegions()}}e.CollapseAllUnchangedRegions=l;class a extends I.EditorAction2{constructor(){super({id:\"diffEditor.showAllUnchangedRegions\",title:(0,_.localize2)(79,\"Show All Unchanged Regions\"),icon:k.Codicon.unfold,precondition:n.ContextKeyExpr.has(\"isInDiffEditor\"),f1:!0,category:s})}runEditorCommand(L,D,...T){const M=v(L);M instanceof y.DiffEditorWidget&&M.showAllUnchangedRegions()}}e.ShowAllUnchangedRegions=a;class r extends b.Action2{constructor(){super({id:\"diffEditor.revert\",title:(0,_.localize2)(80,\"Revert\"),f1:!1,category:s})}run(L,D){const T=h(L,D.originalUri,D.modifiedUri);T instanceof y.DiffEditorWidget&&T.revertRangeMappings(D.mapping.innerChanges??[])}}e.RevertHunkOrSelection=r;const u=(0,_.localize2)(81,\"Accessible Diff Viewer\");class C extends b.Action2{static{this.id=\"editor.action.accessibleDiffViewer.next\"}constructor(){super({id:C.id,title:(0,_.localize2)(82,\"Go to Next Difference\"),category:u,precondition:n.ContextKeyExpr.has(\"isInDiffEditor\"),keybinding:{primary:65,weight:100},f1:!0})}run(L){v(L)?.accessibleDiffViewerNext()}}e.AccessibleDiffViewerNext=C;class f extends b.Action2{static{this.id=\"editor.action.accessibleDiffViewer.prev\"}constructor(){super({id:f.id,title:(0,_.localize2)(83,\"Go to Previous Difference\"),category:u,precondition:n.ContextKeyExpr.has(\"isInDiffEditor\"),keybinding:{primary:1089,weight:100},f1:!0})}run(L){v(L)?.accessibleDiffViewerPrev()}}e.AccessibleDiffViewerPrev=f;function h(S,L,D){return S.get(E.ICodeEditorService).listDiffEditors().find(A=>{const P=A.getModifiedEditor(),N=A.getOriginalEditor();return P&&P.getModel()?.uri.toString()===D.toString()&&N&&N.getModel()?.uri.toString()===L.toString()})||null}function v(S){const D=S.get(E.ICodeEditorService).listDiffEditors(),T=(0,d.getActiveElement)();if(T)for(const M of D){const A=M.getContainerDomNode();if(w(A,T))return M}return null}function w(S,L){let D=L;for(;D;){if(D===S)return!0;D=D.parentElement}return!1}}),define(ne[812],se([1,0,26,811,20,3,29,24,12,139]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,y.registerAction2)(k.ToggleCollapseUnchangedRegions),(0,y.registerAction2)(k.ToggleShowMovedCodeBlocks),(0,y.registerAction2)(k.ToggleUseInlineViewWhenSpaceIsLimited),y.MenuRegistry.appendMenuItem(y.MenuId.EditorTitle,{command:{id:new k.ToggleUseInlineViewWhenSpaceIsLimited().desc.id,title:(0,E.localize)(106,\"Use Inline View When Space Is Limited\"),toggled:_.ContextKeyExpr.has(\"config.diffEditor.useInlineViewWhenSpaceIsLimited\"),precondition:_.ContextKeyExpr.has(\"isInDiffEditor\")},order:11,group:\"1_diff\",when:_.ContextKeyExpr.and(I.EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,_.ContextKeyExpr.has(\"isInDiffEditor\"))}),y.MenuRegistry.appendMenuItem(y.MenuId.EditorTitle,{command:{id:new k.ToggleShowMovedCodeBlocks().desc.id,title:(0,E.localize)(107,\"Show Moved Code Blocks\"),icon:d.Codicon.move,toggled:_.ContextKeyEqualsExpr.create(\"config.diffEditor.experimental.showMoves\",!0),precondition:_.ContextKeyExpr.has(\"isInDiffEditor\")},order:10,group:\"1_diff\",when:_.ContextKeyExpr.has(\"isInDiffEditor\")}),(0,y.registerAction2)(k.RevertHunkOrSelection);for(const b of[{icon:d.Codicon.arrowRight,key:I.EditorContextKeys.diffEditorInlineMode.toNegated()},{icon:d.Codicon.discard,key:I.EditorContextKeys.diffEditorInlineMode}])y.MenuRegistry.appendMenuItem(y.MenuId.DiffEditorHunkToolbar,{command:{id:new k.RevertHunkOrSelection().desc.id,title:(0,E.localize)(108,\"Revert Block\"),icon:b.icon},when:_.ContextKeyExpr.and(I.EditorContextKeys.diffEditorModifiedWritable,b.key),order:5,group:\"primary\"}),y.MenuRegistry.appendMenuItem(y.MenuId.DiffEditorSelectionToolbar,{command:{id:new k.RevertHunkOrSelection().desc.id,title:(0,E.localize)(109,\"Revert Selection\"),icon:b.icon},when:_.ContextKeyExpr.and(I.EditorContextKeys.diffEditorModifiedWritable,b.key),order:5,group:\"primary\"});(0,y.registerAction2)(k.SwitchSide),(0,y.registerAction2)(k.ExitCompareMove),(0,y.registerAction2)(k.CollapseAllUnchangedRegions),(0,y.registerAction2)(k.ShowAllUnchangedRegions),y.MenuRegistry.appendMenuItem(y.MenuId.EditorTitle,{command:{id:k.AccessibleDiffViewerNext.id,title:(0,E.localize)(110,\"Open Accessible Diff Viewer\"),precondition:_.ContextKeyExpr.has(\"isInDiffEditor\")},order:10,group:\"2_diff\",when:_.ContextKeyExpr.and(I.EditorContextKeys.accessibleDiffViewerVisible.negate(),_.ContextKeyExpr.has(\"isInDiffEditor\"))}),m.CommandsRegistry.registerCommandAlias(\"editor.action.diffReview.next\",k.AccessibleDiffViewerNext.id),(0,y.registerAction2)(k.AccessibleDiffViewerNext),m.CommandsRegistry.registerCommandAlias(\"editor.action.diffReview.prev\",k.AccessibleDiffViewerPrev.id),(0,y.registerAction2)(k.AccessibleDiffViewerPrev)}),define(ne[420],se([1,0,5,258,26,2,21,92,112,286,124,218,29,7,365,12,154]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiffEditorItemTemplate=e.TemplateData=void 0;class c{constructor(r,u){this.viewModel=r,this.deltaScrollVertical=u}getId(){return this.viewModel}}e.TemplateData=c;let l=class extends E.Disposable{constructor(r,u,C,f,h){super(),this._container=r,this._overflowWidgetsDomNode=u,this._workbenchUIElementFactory=C,this._instantiationService=f,this._viewModel=(0,m.observableValue)(this,void 0),this._collapsed=(0,y.derived)(this,S=>this._viewModel.read(S)?.collapsed.read(S)),this._editorContentHeight=(0,m.observableValue)(this,500),this.contentHeight=(0,y.derived)(this,S=>(this._collapsed.read(S)?0:this._editorContentHeight.read(S))+this._outerEditorHeight),this._modifiedContentWidth=(0,m.observableValue)(this,0),this._modifiedWidth=(0,m.observableValue)(this,0),this._originalContentWidth=(0,m.observableValue)(this,0),this._originalWidth=(0,m.observableValue)(this,0),this.maxScroll=(0,y.derived)(this,S=>{const L=this._modifiedContentWidth.read(S)-this._modifiedWidth.read(S),D=this._originalContentWidth.read(S)-this._originalWidth.read(S);return L>D?{maxScroll:L,width:this._modifiedWidth.read(S)}:{maxScroll:D,width:this._originalWidth.read(S)}}),this._elements=(0,d.h)(\"div.multiDiffEntry\",[(0,d.h)(\"div.header@header\",[(0,d.h)(\"div.header-content\",[(0,d.h)(\"div.collapse-button@collapseButton\"),(0,d.h)(\"div.file-path\",[(0,d.h)(\"div.title.modified.show-file-icons@primaryPath\",[]),(0,d.h)(\"div.status.deleted@status\",[\"R\"]),(0,d.h)(\"div.title.original.show-file-icons@secondaryPath\",[])]),(0,d.h)(\"div.actions@actions\")])]),(0,d.h)(\"div.editorParent\",[(0,d.h)(\"div.editorContainer@editor\")])]),this.editor=this._register(this._instantiationService.createInstance(b.DiffEditorWidget,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=(0,_.observableCodeEditor)(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=(0,_.observableCodeEditor)(this.editor.getOriginalEditor()).isFocused,this.isFocused=(0,y.derived)(this,S=>this.isModifedFocused.read(S)||this.isOriginalFocused.read(S)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new E.DisposableStore),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const v=new k.Button(this._elements.collapseButton,{});this._register((0,y.autorun)(S=>{v.element.className=\"\",v.icon=this._collapsed.read(S)?I.Codicon.chevronRight:I.Codicon.chevronDown})),this._register(v.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register((0,y.autorun)(S=>{this._elements.editor.style.display=this._collapsed.read(S)?\"none\":\"block\"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(S=>{const L=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(L,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(S=>{const L=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(L,void 0)})),this._register(this.editor.onDidContentSizeChange(S=>{(0,m.globalTransaction)(L=>{this._editorContentHeight.set(S.contentHeight,L),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),L),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),L)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(S=>{if(this._isSettingScrollTop||!S.scrollTopChanged||!this._data)return;const L=S.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(L)})),this._register((0,y.autorun)(S=>{const L=this._viewModel.read(S)?.isActive.read(S);this._elements.root.classList.toggle(\"active\",L)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(h.createScoped(this._elements.actions));const w=this._register(this._instantiationService.createChild(new g.ServiceCollection([s.IContextKeyService,this._contextKeyService])));this._register(w.createInstance(n.MenuWorkbenchToolBar,this._elements.actions,o.MenuId.MultiDiffEditorFileToolbar,{actionRunner:this._register(new i.ActionRunnerWithContext(()=>this._viewModel.get()?.modifiedUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:S=>S.startsWith(\"navigation\")},actionViewItemProvider:(S,L)=>(0,p.createActionViewItem)(w,S,L)}))}setScrollLeft(r){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(r):this.editor.getOriginalEditor().setScrollLeft(r)}setData(r){this._data=r;function u(f){return{...f,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:\"hidden\",horizontal:\"hidden\",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!r){(0,m.globalTransaction)(f=>{this._viewModel.set(void 0,f),this.editor.setDiffModel(null,f),this._dataStore.clear()});return}const C=r.viewModel.documentDiffItem;if((0,m.globalTransaction)(f=>{this._resourceLabel?.setUri(r.viewModel.modifiedUri??r.viewModel.originalUri,{strikethrough:r.viewModel.modifiedUri===void 0});let h=!1,v=!1,w=!1,S=\"\";r.viewModel.modifiedUri&&r.viewModel.originalUri&&r.viewModel.modifiedUri.path!==r.viewModel.originalUri.path?(S=\"R\",h=!0):r.viewModel.modifiedUri?r.viewModel.originalUri||(S=\"A\",w=!0):(S=\"D\",v=!0),this._elements.status.classList.toggle(\"renamed\",h),this._elements.status.classList.toggle(\"deleted\",v),this._elements.status.classList.toggle(\"added\",w),this._elements.status.innerText=S,this._resourceLabel2?.setUri(h?r.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(r.viewModel,f),this.editor.setDiffModel(r.viewModel.diffEditorViewModelRef,f),this.editor.updateOptions(u(C.options??{}))}),C.onOptionsDidChange&&this._dataStore.add(C.onOptionsDidChange(()=>{this.editor.updateOptions(u(C.options??{}))})),r.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,f=>{f||this.setData(void 0)}),r.viewModel.documentDiffItem.contextKeys)for(const[f,h]of Object.entries(r.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(f,h)}render(r,u,C,f){this._elements.root.style.visibility=\"visible\",this._elements.root.style.top=`${r.start}px`,this._elements.root.style.height=`${r.length}px`,this._elements.root.style.width=`${u}px`,this._elements.root.style.position=\"absolute\";const h=r.length-this._headerHeight,v=Math.max(0,Math.min(f.start-r.start,h));this._elements.header.style.transform=`translateY(${v}px)`,(0,m.globalTransaction)(w=>{this.editor.layout({width:u-2*8-2*1,height:r.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=C,this.editor.getOriginalEditor().setScrollTop(C)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle(\"shadow\",v>0||C>0),this._elements.header.classList.toggle(\"collapsed\",v===h)}hide(){this._elements.root.style.top=\"-100000px\",this._elements.root.style.visibility=\"hidden\"}};e.DiffEditorItemTemplate=l,e.DiffEditorItemTemplate=l=ke([ce(3,t.IInstantiationService),ce(4,s.IContextKeyService)],l)}),define(ne[813],se([1,0,5,86,13,67,8,2,21,92,163,88,68,23,20,12,7,154,420,553,3,502]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MultiDiffEditorWidgetImpl=void 0;let u=class extends m.Disposable{constructor(h,v,w,S,L,D){super(),this._element=h,this._dimension=v,this._viewModel=w,this._workbenchUIElementFactory=S,this._parentContextKeyService=L,this._parentInstantiationService=D,this._scrollableElements=(0,d.h)(\"div.scrollContent\",[(0,d.h)(\"div@content\",{style:{overflow:\"hidden\"}}),(0,d.h)(\"div.monaco-editor@overflowWidgetsDomNode\",{})]),this._scrollable=this._register(new p.Scrollable({forceIntegerValues:!1,scheduleAtNextAnimationFrame:M=>(0,d.scheduleAtNextAnimationFrame)((0,d.getWindow)(this._element),M),smoothScrollDuration:100})),this._scrollableElement=this._register(new k.SmoothScrollableElement(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=(0,d.h)(\"div.monaco-component.multiDiffEditor\",{},[(0,d.h)(\"div\",{},[this._scrollableElement.getDomNode()]),(0,d.h)(\"div.placeholder@placeholder\",{},[(0,d.h)(\"div\",[(0,r.localize)(132,\"No Changed Files\")])])]),this._sizeObserver=this._register(new n.ObservableElementSizeObserver(this._element,void 0)),this._objectPool=this._register(new a.ObjectPool(M=>{const A=this._instantiationService.createInstance(l.DiffEditorItemTemplate,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return A.setData(M),A})),this.scrollTop=(0,_.observableFromEvent)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=(0,_.observableFromEvent)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=(0,_.derivedWithStore)(this,(M,A)=>{const P=this._viewModel.read(M);if(!P)return{items:[],getItem:x=>{throw new y.BugIndicatingError}};const N=P.items.read(M),O=new Map;return{items:N.map(x=>{const W=A.add(new C(x,this._objectPool,this.scrollLeft,q=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+q})})),V=this._lastDocStates?.[W.getKey()];return V&&(0,b.transaction)(q=>{W.setViewState(V,q)}),O.set(x,W),W}),getItem:x=>O.get(x)}}),this._viewItems=this._viewItemsInfo.map(this,M=>M.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(M,A)=>M.reduce((P,N)=>P+N.contentHeight.read(A)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new c.ServiceCollection([s.IContextKeyService,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(i.EditorContextKeys.inMultiDiffEditor.key,!0),this._register((0,_.autorunWithStore)((M,A)=>{const P=this._viewModel.read(M);if(P&&P.contextKeys)for(const[N,O]of Object.entries(P.contextKeys)){const F=this._contextKeyService.createKey(N,void 0);F.set(O),A.add((0,m.toDisposable)(()=>F.reset()))}}));const T=this._parentContextKeyService.createKey(i.EditorContextKeys.multiDiffEditorAllCollapsed.key,!1);this._register((0,_.autorun)(M=>{const A=this._viewModel.read(M);if(A){const P=A.items.read(M).every(N=>N.collapsed.read(M));T.set(P)}})),this._register((0,_.autorun)(M=>{const A=this._dimension.read(M);this._sizeObserver.observe(A)})),this._register((0,_.autorun)(M=>{const A=this._viewItems.read(M);this._elements.placeholder.classList.toggle(\"visible\",A.length===0)})),this._scrollableElements.content.style.position=\"relative\",this._register((0,_.autorun)(M=>{const A=this._sizeObserver.height.read(M);this._scrollableElements.root.style.height=`${A}px`;const P=this._totalHeight.read(M);this._scrollableElements.content.style.height=`${P}px`;const N=this._sizeObserver.width.read(M);let O=N;const F=this._viewItems.read(M),x=(0,E.findFirstMax)(F,(0,I.compareBy)(W=>W.maxScroll.read(M).maxScroll,I.numberComparator));if(x){const W=x.maxScroll.read(M);O=N+W.maxScroll}this._scrollableElement.setScrollDimensions({width:N,height:A,scrollHeight:P,scrollWidth:O})})),h.replaceChildren(this._elements.root),this._register((0,m.toDisposable)(()=>{h.replaceChildren()})),this._register(this._register((0,_.autorun)(M=>{(0,b.globalTransaction)(A=>{this.render(M)})})))}render(h){const v=this.scrollTop.read(h);let w=0,S=0,L=0;const D=this._sizeObserver.height.read(h),T=o.OffsetRange.ofStartAndLength(v,D),M=this._sizeObserver.width.read(h);for(const A of this._viewItems.read(h)){const P=A.contentHeight.read(h),N=Math.min(P,D),O=o.OffsetRange.ofStartAndLength(S,N),F=o.OffsetRange.ofStartAndLength(L,P);if(F.isBefore(T))w-=P-N,A.hide();else if(F.isAfter(T))A.hide();else{const x=Math.max(0,Math.min(T.start-F.start,P-N));w-=x;const W=o.OffsetRange.ofStartAndLength(v+w,D);A.render(O,x,M,W)}S+=N+this._spaceBetweenPx,L+=P+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(v+w)}px)`}};e.MultiDiffEditorWidgetImpl=u,e.MultiDiffEditorWidgetImpl=u=ke([ce(4,s.IContextKeyService),ce(5,g.IInstantiationService)],u);class C extends m.Disposable{constructor(h,v,w,S){super(),this.viewModel=h,this._objectPool=v,this._scrollLeft=w,this._deltaScrollVertical=S,this._templateRef=this._register((0,b.disposableObservableValue)(this,void 0)),this.contentHeight=(0,_.derived)(this,L=>this._templateRef.read(L)?.object.contentHeight?.read(L)??this.viewModel.lastTemplateData.read(L).contentHeight),this.maxScroll=(0,_.derived)(this,L=>this._templateRef.read(L)?.object.maxScroll.read(L)??{maxScroll:0,scrollWidth:0}),this.template=(0,_.derived)(this,L=>this._templateRef.read(L)?.object),this._isHidden=(0,_.observableValue)(this,!1),this._isFocused=(0,_.derived)(this,L=>this.template.read(L)?.isFocused.read(L)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register((0,_.autorun)(L=>{const D=this._scrollLeft.read(L);this._templateRef.read(L)?.object.setScrollLeft(D)})),this._register((0,_.autorun)(L=>{const D=this._templateRef.read(L);!D||!this._isHidden.read(L)||D.object.isFocused.read(L)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(h,v){this.viewModel.collapsed.set(h.collapsed,v),this._updateTemplateData(v);const w=this.viewModel.lastTemplateData.get(),S=h.selections?.map(t.Selection.liftSelection);this.viewModel.lastTemplateData.set({...w,selections:S},v);const L=this._templateRef.get();L&&S&&L.object.editor.setSelections(S)}_updateTemplateData(h){const v=this._templateRef.get();v&&this.viewModel.lastTemplateData.set({contentHeight:v.object.contentHeight.get(),selections:v.object.editor.getSelections()??void 0},h)}_clear(){const h=this._templateRef.get();h&&(0,b.transaction)(v=>{this._updateTemplateData(v),h.object.hide(),this._templateRef.set(void 0,v)})}hide(){this._isHidden.set(!0,void 0)}render(h,v,w,S){this._isHidden.set(!1,void 0);let L=this._templateRef.get();if(!L){L=this._objectPool.getUnusedObj(new l.TemplateData(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(L,void 0);const D=this.viewModel.lastTemplateData.get().selections;D&&L.object.editor.setSelections(D)}L.object.render(h,w,v,S)}}}),define(ne[814],se([1,0,2,21,171,813,7,420,756]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MultiDiffEditorWidget=void 0;let _=class extends d.Disposable{constructor(p,n,o){super(),this._element=p,this._workbenchUIElementFactory=n,this._instantiationService=o,this._dimension=(0,k.observableValue)(this,void 0),this._viewModel=(0,k.observableValue)(this,void 0),this._widgetImpl=(0,k.derivedWithStore)(this,(t,i)=>((0,I.readHotReloadableExport)(m.DiffEditorItemTemplate,t),i.add(this._instantiationService.createInstance((0,I.readHotReloadableExport)(E.MultiDiffEditorWidgetImpl,t),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register((0,k.recomputeInitiallyAndOnChange)(this._widgetImpl))}};e.MultiDiffEditorWidget=_,e.MultiDiffEditorWidget=_=ke([ce(2,y.IInstantiationService)],_)}),define(ne[815],se([1,0,14,2,15,9,4,23,20,40,35,3,29,32,25,504]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.BracketMatchingController=void 0;const s=(0,t.registerColor)(\"editorOverviewRuler.bracketMatchForeground\",\"#A0A0A0\",n.localize(716,\"Overview ruler marker color for matching brackets.\"));class g extends I.EditorAction{constructor(){super({id:\"editor.action.jumpToBracket\",label:n.localize(717,\"Go to Bracket\"),alias:\"Go to Bracket\",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.editorTextFocus,primary:3165,weight:100}})}run(C,f){r.get(f)?.jumpToBracket()}}class c extends I.EditorAction{constructor(){super({id:\"editor.action.selectToBracket\",label:n.localize(718,\"Select to Bracket\"),alias:\"Select to Bracket\",precondition:void 0,metadata:{description:n.localize2(721,\"Select the text inside and including the brackets or curly braces\"),args:[{name:\"args\",schema:{type:\"object\",properties:{selectBrackets:{type:\"boolean\",default:!0}}}}]}})}run(C,f,h){let v=!0;h&&h.selectBrackets===!1&&(v=!1),r.get(f)?.selectToBracket(v)}}class l extends I.EditorAction{constructor(){super({id:\"editor.action.removeBrackets\",label:n.localize(719,\"Remove Brackets\"),alias:\"Remove Brackets\",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.editorTextFocus,primary:2561,weight:100}})}run(C,f){r.get(f)?.removeBrackets(this.id)}}class a{constructor(C,f,h){this.position=C,this.brackets=f,this.options=h}}class r extends k.Disposable{static{this.ID=\"editor.contrib.bracketMatchingController\"}static get(C){return C.getContribution(r.ID)}constructor(C){super(),this._editor=C,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new d.RunOnceScheduler(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(C.onDidChangeCursorPosition(f=>{this._matchBrackets!==\"never\"&&this._updateBracketsSoon.schedule()})),this._register(C.onDidChangeModelContent(f=>{this._updateBracketsSoon.schedule()})),this._register(C.onDidChangeModel(f=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(C.onDidChangeModelLanguageConfiguration(f=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(C.onDidChangeConfiguration(f=>{f.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(C.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(C.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const C=this._editor.getModel(),f=this._editor.getSelections().map(h=>{const v=h.getStartPosition(),w=C.bracketPairs.matchBracket(v);let S=null;if(w)w[0].containsPosition(v)&&!w[1].containsPosition(v)?S=w[1].getStartPosition():w[1].containsPosition(v)&&(S=w[0].getStartPosition());else{const L=C.bracketPairs.findEnclosingBrackets(v);if(L)S=L[1].getStartPosition();else{const D=C.bracketPairs.findNextBracket(v);D&&D.range&&(S=D.range.getStartPosition())}}return S?new m.Selection(S.lineNumber,S.column,S.lineNumber,S.column):new m.Selection(v.lineNumber,v.column,v.lineNumber,v.column)});this._editor.setSelections(f),this._editor.revealRange(f[0])}selectToBracket(C){if(!this._editor.hasModel())return;const f=this._editor.getModel(),h=[];this._editor.getSelections().forEach(v=>{const w=v.getStartPosition();let S=f.bracketPairs.matchBracket(w);if(!S&&(S=f.bracketPairs.findEnclosingBrackets(w),!S)){const T=f.bracketPairs.findNextBracket(w);T&&T.range&&(S=f.bracketPairs.matchBracket(T.range.getStartPosition()))}let L=null,D=null;if(S){S.sort(y.Range.compareRangesUsingStarts);const[T,M]=S;if(L=C?T.getStartPosition():T.getEndPosition(),D=C?M.getEndPosition():M.getStartPosition(),M.containsPosition(w)){const A=L;L=D,D=A}}L&&D&&h.push(new m.Selection(L.lineNumber,L.column,D.lineNumber,D.column))}),h.length>0&&(this._editor.setSelections(h),this._editor.revealRange(h[0]))}removeBrackets(C){if(!this._editor.hasModel())return;const f=this._editor.getModel();this._editor.getSelections().forEach(h=>{const v=h.getPosition();let w=f.bracketPairs.matchBracket(v);w||(w=f.bracketPairs.findEnclosingBrackets(v)),w&&(this._editor.pushUndoStop(),this._editor.executeEdits(C,[{range:w[0],text:\"\"},{range:w[1],text:\"\"}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=p.ModelDecorationOptions.register({description:\"bracket-match-overview\",stickiness:1,className:\"bracket-match\",overviewRuler:{color:(0,i.themeColorFromId)(s),position:b.OverviewRulerLane.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=p.ModelDecorationOptions.register({description:\"bracket-match-no-overview\",stickiness:1,className:\"bracket-match\"})}_updateBrackets(){if(this._matchBrackets===\"never\")return;this._recomputeBrackets();const C=[];let f=0;for(const h of this._lastBracketsData){const v=h.brackets;v&&(C[f++]={range:v[0],options:h.options},C[f++]={range:v[1],options:h.options})}this._decorations.set(C)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const C=this._editor.getSelections();if(C.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const f=this._editor.getModel(),h=f.getVersionId();let v=[];this._lastVersionId===h&&(v=this._lastBracketsData);const w=[];let S=0;for(let A=0,P=C.length;A<P;A++){const N=C[A];N.isEmpty()&&(w[S++]=N.getStartPosition())}w.length>1&&w.sort(E.Position.compare);const L=[];let D=0,T=0;const M=v.length;for(let A=0,P=w.length;A<P;A++){const N=w[A];for(;T<M&&v[T].position.isBefore(N);)T++;if(T<M&&v[T].position.equals(N))L[D++]=v[T];else{let O=f.bracketPairs.matchBracket(N,20),F=r._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!O&&this._matchBrackets===\"always\"&&(O=f.bracketPairs.findEnclosingBrackets(N,20),F=r._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),L[D++]=new a(N,O,F)}}this._lastBracketsData=L,this._lastVersionId=h}}e.BracketMatchingController=r,(0,I.registerEditorContribution)(r.ID,r,1),(0,I.registerEditorAction)(c),(0,I.registerEditorAction)(g),(0,I.registerEditorAction)(l),o.MenuRegistry.appendMenuItem(o.MenuId.MenubarGoMenu,{group:\"5_infile_nav\",command:{id:\"editor.action.jumpToBracket\",title:n.localize(720,\"Go to &&Bracket\")},order:2})}),define(ne[421],se([1,0,5,69,26,6,2,30,40,35,237,157,3,31,71,4,505]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";var g;Object.defineProperty(e,\"__esModule\",{value:!0}),e.LightBulbWidget=void 0;const c=(0,i.registerIcon)(\"gutter-lightbulb\",I.Codicon.lightBulb,o.localize(785,\"Icon which spawns code actions menu from the gutter when there is no space in the editor.\")),l=(0,i.registerIcon)(\"gutter-lightbulb-auto-fix\",I.Codicon.lightbulbAutofix,o.localize(786,\"Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.\")),a=(0,i.registerIcon)(\"gutter-lightbulb-sparkle\",I.Codicon.lightbulbSparkle,o.localize(787,\"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.\")),r=(0,i.registerIcon)(\"gutter-lightbulb-aifix-auto-fix\",I.Codicon.lightbulbSparkleAutofix,o.localize(788,\"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.\")),u=(0,i.registerIcon)(\"gutter-lightbulb-sparkle-filled\",I.Codicon.sparkleFilled,o.localize(789,\"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.\"));var C;(function(h){h.Hidden={type:0};class v{constructor(S,L,D,T){this.actions=S,this.trigger=L,this.editorPosition=D,this.widgetPosition=T,this.type=1}}h.Showing=v})(C||(C={}));let f=class extends y.Disposable{static{g=this}static{this.GUTTER_DECORATION=b.ModelDecorationOptions.register({description:\"codicon-gutter-lightbulb-decoration\",glyphMarginClassName:m.ThemeIcon.asClassName(I.Codicon.lightBulb),glyphMargin:{position:_.GlyphMarginLane.Left},stickiness:1})}static{this.ID=\"editor.contrib.lightbulbWidget\"}static{this._posPref=[0]}constructor(v,w){super(),this._editor=v,this._keybindingService=w,this._onClick=this._register(new E.Emitter),this.onClick=this._onClick.event,this._state=C.Hidden,this._gutterState=C.Hidden,this._iconClasses=[],this.lightbulbClasses=[\"codicon-\"+c.id,\"codicon-\"+r.id,\"codicon-\"+l.id,\"codicon-\"+a.id,\"codicon-\"+u.id],this.gutterDecoration=g.GUTTER_DECORATION,this._domNode=d.$(\"div.lightBulbWidget\"),this._domNode.role=\"listbox\",this._register(k.Gesture.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(S=>{const L=this._editor.getModel();(this.state.type!==1||!L||this.state.editorPosition.lineNumber>=L.getLineCount())&&this.hide(),(this.gutterState.type!==1||!L||this.gutterState.editorPosition.lineNumber>=L.getLineCount())&&this.gutterHide()})),this._register(d.addStandardDisposableGenericMouseDownListener(this._domNode,S=>{if(this.state.type!==1)return;this._editor.focus(),S.preventDefault();const{top:L,height:D}=d.getDomNodePagePosition(this._domNode),T=this._editor.getOption(67);let M=Math.floor(T/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(M+=T),this._onClick.fire({x:S.posx,y:L+D+M,actions:this.state.actions,trigger:this.state.trigger})})),this._register(d.addDisposableListener(this._domNode,\"mouseenter\",S=>{(S.buttons&1)===1&&this.hide()})),this._register(E.Event.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel=this._keybindingService.lookupKeybinding(n.autoFixCommandId)?.getLabel()??void 0,this._quickFixKbLabel=this._keybindingService.lookupKeybinding(n.quickFixCommandId)?.getLabel()??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async S=>{if(!S.target.element||!this.lightbulbClasses.some(A=>S.target.element&&S.target.element.classList.contains(A))||this.gutterState.type!==1)return;this._editor.focus();const{top:L,height:D}=d.getDomNodePagePosition(S.target.element),T=this._editor.getOption(67);let M=Math.floor(T/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber<this.gutterState.editorPosition.lineNumber&&(M+=T),this._onClick.fire({x:S.event.posx,y:L+D+M,actions:this.gutterState.actions,trigger:this.gutterState.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return\"LightBulbWidget\"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(v,w,S){if(v.validActions.length<=0)return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(!this._editor.getOptions().get(65).enabled)return this.gutterHide(),this.hide();const T=this._editor.getModel();if(!T)return this.gutterHide(),this.hide();const{lineNumber:M,column:A}=T.validatePosition(S),P=T.getOptions().tabSize,N=this._editor.getOptions().get(50),O=T.getLineContent(M),F=(0,p.computeIndentLevel)(O,P),x=N.spaceWidth*F>22,W=Y=>Y>2&&this._editor.getTopForLineNumber(Y)===this._editor.getTopForLineNumber(Y-1),V=this._editor.getLineDecorations(M);let q=!1;if(V)for(const Y of V){const G=Y.options.glyphMarginClassName;if(G&&!this.lightbulbClasses.some(K=>G.includes(K))){q=!0;break}}let H=M,z=1;if(!x){const Y=G=>{const K=T.getLineContent(G);return/^\\s*$|^\\s+/.test(K)||K.length<=z};if(M>1&&!W(M-1)){const G=T.getLineCount(),K=M===G,R=M>1&&Y(M-1),J=!K&&Y(M+1),ie=Y(M),ue=!J&&!R;if(!J&&!R&&!q)return this.gutterState=new C.Showing(v,w,S,{position:{lineNumber:H,column:z},preference:g._posPref}),this.renderGutterLightbub(),this.hide();R||K||R&&!ie?H-=1:(J||ue&&ie)&&(H+=1)}else if(M===1&&(M===T.getLineCount()||!Y(M+1)&&!Y(M)))if(this.gutterState=new C.Showing(v,w,S,{position:{lineNumber:H,column:z},preference:g._posPref}),q)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(M<T.getLineCount()&&!W(M+1))H+=1;else if(A*N.spaceWidth<22)return this.hide();z=/^\\S\\s*$/.test(T.getLineContent(H))?2:1}this.state=new C.Showing(v,w,S,{position:{lineNumber:H,column:z},preference:g._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const U=v.validActions,j=v.validActions[0].action.kind;if(U.length!==1||!j){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==C.Hidden&&(this.state=C.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==C.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=C.Hidden)}get state(){return this._state}set state(v){this._state=v,this._updateLightBulbTitleAndIcon()}get gutterState(){return this._gutterState}set gutterState(v){this._gutterState=v,this._updateGutterLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],this.state.type!==1)return;let v,w=!1;this.state.actions.allAIFixes?(v=I.Codicon.sparkleFilled,this.state.actions.validActions.length===1&&(w=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?v=I.Codicon.lightbulbSparkleAutofix:v=I.Codicon.lightbulbAutofix:this.state.actions.hasAIFix?v=I.Codicon.lightbulbSparkle:v=I.Codicon.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,w),this._iconClasses=m.ThemeIcon.asClassNameArray(v),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let v,w=!1;this.gutterState.actions.allAIFixes?(v=u,this.gutterState.actions.validActions.length===1&&(w=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?v=r:v=l:this.gutterState.actions.hasAIFix?v=a:v=c,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,w);const S=b.ModelDecorationOptions.register({description:\"codicon-gutter-lightbulb-decoration\",glyphMarginClassName:m.ThemeIcon.asClassName(v),glyphMargin:{position:_.GlyphMarginLane.Left},stickiness:1});this.gutterDecoration=S}renderGutterLightbub(){const v=this._editor.getSelection();v&&(this._gutterDecorationID===void 0?this._addGutterDecoration(v.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,v.startLineNumber))}_addGutterDecoration(v){this._editor.changeDecorations(w=>{this._gutterDecorationID=w.addDecoration(new s.Range(v,0,v,0),this.gutterDecoration)})}_removeGutterDecoration(v){this._editor.changeDecorations(w=>{w.removeDecoration(v),this._gutterDecorationID=void 0})}_updateGutterDecoration(v,w){this._editor.changeDecorations(S=>{S.changeDecoration(v,new s.Range(w,0,w,0)),S.changeDecorationOptions(v,this.gutterDecoration)})}_updateLightbulbTitle(v,w){this.state.type===1&&(w?this.title=o.localize(790,\"Run: {0}\",this.state.actions.validActions[0].action.title):v&&this._preferredKbLabel?this.title=o.localize(791,\"Show Code Actions. Preferred Quick Fix Available ({0})\",this._preferredKbLabel):!v&&this._quickFixKbLabel?this.title=o.localize(792,\"Show Code Actions ({0})\",this._quickFixKbLabel):v||(this.title=o.localize(793,\"Show Code Actions\")))}set title(v){this._domNode.title=v}};e.LightBulbWidget=f,e.LightBulbWidget=f=g=ke([ce(1,t.IKeybindingService)],f)}),define(ne[287],se([1,0,5,46,8,98,2,9,35,17,157,733,757,421,184,3,760,24,28,12,7,108,96,32,97,25,134,408,91,63]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D){\"use strict\";var T;Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeActionController=void 0;const M=\"quickfix-edit-highlight\";let A=class extends y.Disposable{static{T=this}static{this.ID=\"editor.contrib.codeActionController\"}static get(N){return N.getContribution(T.ID)}constructor(N,O,F,x,W,V,q,H,z,U,j){super(),this._commandService=q,this._configurationService=H,this._actionWidgetService=z,this._instantiationService=U,this._telemetryService=j,this._activeCodeActions=this._register(new y.MutableDisposable),this._showDisabled=!1,this._disposed=!1,this._editor=N,this._model=this._register(new S.CodeActionModel(this._editor,W.codeActionProvider,O,F,V,H,this._telemetryService)),this._register(this._model.onDidChangeState(Y=>this.update(Y))),this._lightBulbWidget=new E.Lazy(()=>{const Y=this._editor.getContribution(t.LightBulbWidget.ID);return Y&&this._register(Y.onClick(G=>this.showCodeActionsFromLightbulb(G.actions,G))),Y}),this._resolver=x.createInstance(n.CodeActionKeybindingResolver),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(N,O){if(N.allAIFixes&&N.validActions.length===1){const F=N.validActions[0],x=F.action.command;x&&x.id===\"inlineChat.start\"&&x.arguments&&x.arguments.length>=1&&(x.arguments[0]={...x.arguments[0],autoSend:!1}),await this._applyCodeAction(F,!1,!1,p.ApplyCodeActionReason.FromAILightbulb);return}await this.showCodeActionList(N,O,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(N,O,F){return this.showCodeActionList(O,F,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(N,O,F,x){if(!this._editor.hasModel())return;i.MessageController.get(this._editor)?.closeMessage();const W=this._editor.getPosition();this._trigger({type:1,triggerAction:O,filter:F,autoApply:x,context:{notAvailableMessage:N,position:W}})}_trigger(N){return this._model.trigger(N)}async _applyCodeAction(N,O,F,x){try{await this._instantiationService.invokeFunction(p.applyCodeAction,N,x,{preview:F,editor:this._editor})}finally{O&&this._trigger({type:2,triggerAction:w.CodeActionTriggerSource.QuickFix,filter:{}})}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(N){if(N.type!==1){this.hideLightBulbWidget();return}let O;try{O=await N.actions}catch(x){(0,I.onUnexpectedError)(x);return}if(!(this._disposed||this._editor.getSelection()?.startLineNumber!==N.position.lineNumber))if(this._lightBulbWidget.value?.update(O,N.trigger,N.position),N.trigger.type===1){if(N.trigger.filter?.include){const W=this.tryGetValidActionToApply(N.trigger,O);if(W){try{this.hideLightBulbWidget(),await this._applyCodeAction(W,!1,!1,p.ApplyCodeActionReason.FromCodeActions)}finally{O.dispose()}return}if(N.trigger.context){const V=this.getInvalidActionThatWouldHaveBeenApplied(N.trigger,O);if(V&&V.action.disabled){i.MessageController.get(this._editor)?.showMessage(V.action.disabled,N.trigger.context.position),O.dispose();return}}}const x=!!N.trigger.filter?.include;if(N.trigger.context&&(!O.allActions.length||!x&&!O.validActions.length)){i.MessageController.get(this._editor)?.showMessage(N.trigger.context.notAvailableMessage,N.trigger.context.position),this._activeCodeActions.value=O,O.dispose();return}this._activeCodeActions.value=O,this.showCodeActionList(O,this.toCoords(N.position),{includeDisabledActions:x,fromLightbulb:!1})}else this._actionWidgetService.isVisible?O.dispose():this._activeCodeActions.value=O}getInvalidActionThatWouldHaveBeenApplied(N,O){if(O.allActions.length&&(N.autoApply===\"first\"&&O.validActions.length===0||N.autoApply===\"ifSingle\"&&O.allActions.length===1))return O.allActions.find(({action:F})=>F.disabled)}tryGetValidActionToApply(N,O){if(O.validActions.length&&(N.autoApply===\"first\"&&O.validActions.length>0||N.autoApply===\"ifSingle\"&&O.validActions.length===1))return O.validActions[0]}static{this.DECORATION=_.ModelDecorationOptions.register({description:\"quickfix-highlight\",className:M})}async showCodeActionList(N,O,F){const x=this._editor.createDecorationsCollection(),W=this._editor.getDomNode();if(!W)return;const V=F.includeDisabledActions&&(this._showDisabled||N.validActions.length===0)?N.allActions:N.validActions;if(!V.length)return;const q=m.Position.isIPosition(O)?this.toCoords(O):O,H={onSelect:async(z,U)=>{this._applyCodeAction(z,!0,!!U,F.fromLightbulb?p.ApplyCodeActionReason.FromAILightbulb:p.ApplyCodeActionReason.FromCodeActions),this._actionWidgetService.hide(!1),x.clear()},onHide:z=>{this._editor?.focus(),x.clear()},onHover:async(z,U)=>{if(U.isCancellationRequested)return;let j=!1;const Y=z.action.kind;if(Y){const G=new L.HierarchicalKind(Y);j=[w.CodeActionKind.RefactorExtract,w.CodeActionKind.RefactorInline,w.CodeActionKind.RefactorRewrite,w.CodeActionKind.RefactorMove,w.CodeActionKind.Source].some(R=>R.contains(G))}return{canPreview:j||!!z.action.edit?.edits.length}},onFocus:z=>{if(z&&z.action){const U=z.action.ranges,j=z.action.diagnostics;if(x.clear(),U&&U.length>0){const Y=j&&j?.length>1?j.map(G=>({range:G,options:T.DECORATION})):U.map(G=>({range:G,options:T.DECORATION}));x.set(Y)}else if(j&&j.length>0){const Y=j.map(K=>({range:K,options:T.DECORATION}));x.set(Y);const G=j[0];if(G.startLineNumber&&G.startColumn){const K=this._editor.getModel()?.getWordAtPosition({lineNumber:G.startLineNumber,column:G.startColumn})?.word;k.status((0,s.localize)(774,\"Context: {0} at line {1} and column {2}.\",K,G.startLineNumber,G.startColumn))}}}else x.clear()}};this._actionWidgetService.show(\"codeActionWidget\",!0,(0,o.toMenuItems)(V,this._shouldShowHeaders(),this._resolver.getResolver()),H,q,W,this._getActionBarActions(N,O,F))}toCoords(N){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(N,1),this._editor.render();const O=this._editor.getScrolledVisiblePosition(N),F=(0,d.getDomNodePagePosition)(this._editor.getDomNode()),x=F.left+O.left,W=F.top+O.top+O.height;return{x,y:W}}_shouldShowHeaders(){const N=this._editor?.getModel();return this._configurationService.getValue(\"editor.codeActionWidget.showHeaders\",{resource:N?.uri})}_getActionBarActions(N,O,F){if(F.fromLightbulb)return[];const x=N.documentation.map(W=>({id:W.id,label:W.title,tooltip:W.tooltip??\"\",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(W.id,...W.arguments??[])}));return F.includeDisabledActions&&N.validActions.length>0&&N.allActions.length!==N.validActions.length&&x.push(this._showDisabled?{id:\"hideMoreActions\",label:(0,s.localize)(775,\"Hide Disabled\"),enabled:!0,tooltip:\"\",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(N,O,F))}:{id:\"showMoreActions\",label:(0,s.localize)(776,\"Show Disabled\"),enabled:!0,tooltip:\"\",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(N,O,F))}),x}};e.CodeActionController=A,e.CodeActionController=A=T=ke([ce(1,u.IMarkerService),ce(2,a.IContextKeyService),ce(3,r.IInstantiationService),ce(4,b.ILanguageFeaturesService),ce(5,C.IEditorProgressService),ce(6,c.ICommandService),ce(7,l.IConfigurationService),ce(8,g.IActionWidgetService),ce(9,r.IInstantiationService),ce(10,D.ITelemetryService)],A),(0,v.registerThemingParticipant)((P,N)=>{((x,W)=>{W&&N.addRule(`.monaco-editor ${x} { background-color: ${W}; }`)})(\".quickfix-edit-highlight\",P.getColor(f.editorFindMatchHighlight));const F=P.getColor(f.editorFindMatchHighlightBorder);F&&N.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${(0,h.isHighContrast)(P.type)?\"dotted\":\"solid\"} ${F}; box-sizing: border-box; }`)})}),define(ne[816],se([1,0,91,11,15,20,157,3,12,134,287,408]),function(oe,e,d,k,I,E,y,m,_,b,p,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoFixAction=e.FixAllAction=e.OrganizeImportsAction=e.SourceAction=e.RefactorAction=e.CodeActionCommand=e.QuickFixAction=void 0;function o(C){return _.ContextKeyExpr.regex(n.SUPPORTED_CODE_ACTIONS.keys()[0],new RegExp(\"(\\\\s|^)\"+(0,k.escapeRegExpCharacters)(C.value)+\"\\\\b\"))}const t={type:\"object\",defaultSnippets:[{body:{kind:\"\"}}],properties:{kind:{type:\"string\",description:m.localize(743,\"Kind of the code action to run.\")},apply:{type:\"string\",description:m.localize(744,\"Controls when the returned actions are applied.\"),default:\"ifSingle\",enum:[\"first\",\"ifSingle\",\"never\"],enumDescriptions:[m.localize(745,\"Always apply the first returned code action.\"),m.localize(746,\"Apply the first returned code action if it is the only one.\"),m.localize(747,\"Do not apply the returned code actions.\")]},preferred:{type:\"boolean\",default:!1,description:m.localize(748,\"Controls if only preferred code actions should be returned.\")}}};function i(C,f,h,v,w=b.CodeActionTriggerSource.Default){C.hasModel()&&p.CodeActionController.get(C)?.manualTriggerAtCurrentPosition(f,w,h,v)}class s extends I.EditorAction{constructor(){super({id:y.quickFixCommandId,label:m.localize(749,\"Quick Fix...\"),alias:\"Quick Fix...\",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,E.EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:2137,weight:100}})}run(f,h){return i(h,m.localize(750,\"No code actions available\"),void 0,void 0,b.CodeActionTriggerSource.QuickFix)}}e.QuickFixAction=s;class g extends I.EditorCommand{constructor(){super({id:y.codeActionCommandId,precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,E.EditorContextKeys.hasCodeActionsProvider),metadata:{description:\"Trigger a code action\",args:[{name:\"args\",schema:t}]}})}runEditorCommand(f,h,v){const w=b.CodeActionCommandArgs.fromUser(v,{kind:d.HierarchicalKind.Empty,apply:\"ifSingle\"});return i(h,typeof v?.kind==\"string\"?w.preferred?m.localize(751,\"No preferred code actions for '{0}' available\",v.kind):m.localize(752,\"No code actions for '{0}' available\",v.kind):w.preferred?m.localize(753,\"No preferred code actions available\"):m.localize(754,\"No code actions available\"),{include:w.kind,includeSourceActions:!0,onlyIncludePreferredActions:w.preferred},w.apply)}}e.CodeActionCommand=g;class c extends I.EditorAction{constructor(){super({id:y.refactorCommandId,label:m.localize(755,\"Refactor...\"),alias:\"Refactor...\",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,E.EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:\"1_modification\",order:2,when:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.Refactor))},metadata:{description:\"Refactor...\",args:[{name:\"args\",schema:t}]}})}run(f,h,v){const w=b.CodeActionCommandArgs.fromUser(v,{kind:b.CodeActionKind.Refactor,apply:\"never\"});return i(h,typeof v?.kind==\"string\"?w.preferred?m.localize(756,\"No preferred refactorings for '{0}' available\",v.kind):m.localize(757,\"No refactorings for '{0}' available\",v.kind):w.preferred?m.localize(758,\"No preferred refactorings available\"):m.localize(759,\"No refactorings available\"),{include:b.CodeActionKind.Refactor.contains(w.kind)?w.kind:d.HierarchicalKind.None,onlyIncludePreferredActions:w.preferred},w.apply,b.CodeActionTriggerSource.Refactor)}}e.RefactorAction=c;class l extends I.EditorAction{constructor(){super({id:y.sourceActionCommandId,label:m.localize(760,\"Source Action...\"),alias:\"Source Action...\",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,E.EditorContextKeys.hasCodeActionsProvider),contextMenuOpts:{group:\"1_modification\",order:2.1,when:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.Source))},metadata:{description:\"Source Action...\",args:[{name:\"args\",schema:t}]}})}run(f,h,v){const w=b.CodeActionCommandArgs.fromUser(v,{kind:b.CodeActionKind.Source,apply:\"never\"});return i(h,typeof v?.kind==\"string\"?w.preferred?m.localize(761,\"No preferred source actions for '{0}' available\",v.kind):m.localize(762,\"No source actions for '{0}' available\",v.kind):w.preferred?m.localize(763,\"No preferred source actions available\"):m.localize(764,\"No source actions available\"),{include:b.CodeActionKind.Source.contains(w.kind)?w.kind:d.HierarchicalKind.None,includeSourceActions:!0,onlyIncludePreferredActions:w.preferred},w.apply,b.CodeActionTriggerSource.SourceAction)}}e.SourceAction=l;class a extends I.EditorAction{constructor(){super({id:y.organizeImportsCommandId,label:m.localize(765,\"Organize Imports\"),alias:\"Organize Imports\",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.SourceOrganizeImports)),kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:1581,weight:100}})}run(f,h){return i(h,m.localize(766,\"No organize imports action available\"),{include:b.CodeActionKind.SourceOrganizeImports,includeSourceActions:!0},\"ifSingle\",b.CodeActionTriggerSource.OrganizeImports)}}e.OrganizeImportsAction=a;class r extends I.EditorAction{constructor(){super({id:y.fixAllCommandId,label:m.localize(767,\"Fix All\"),alias:\"Fix All\",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.SourceFixAll))})}run(f,h){return i(h,m.localize(768,\"No fix all action available\"),{include:b.CodeActionKind.SourceFixAll,includeSourceActions:!0},\"ifSingle\",b.CodeActionTriggerSource.FixAll)}}e.FixAllAction=r;class u extends I.EditorAction{constructor(){super({id:y.autoFixCommandId,label:m.localize(769,\"Auto Fix...\"),alias:\"Auto Fix...\",precondition:_.ContextKeyExpr.and(E.EditorContextKeys.writable,o(b.CodeActionKind.QuickFix)),kbOpts:{kbExpr:E.EditorContextKeys.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(f,h){return i(h,m.localize(770,\"No auto fixes available\"),{include:b.CodeActionKind.QuickFix,onlyIncludePreferredActions:!0},\"ifSingle\",b.CodeActionTriggerSource.AutoFix)}}e.AutoFixAction=u}),define(ne[817],se([1,0,15,274,816,287,421,3,109,38]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,d.registerEditorContribution)(E.CodeActionController.ID,E.CodeActionController,3),(0,d.registerEditorContribution)(y.LightBulbWidget.ID,y.LightBulbWidget,4),(0,d.registerEditorAction)(I.QuickFixAction),(0,d.registerEditorAction)(I.RefactorAction),(0,d.registerEditorAction)(I.SourceAction),(0,d.registerEditorAction)(I.OrganizeImportsAction),(0,d.registerEditorAction)(I.AutoFixAction),(0,d.registerEditorAction)(I.FixAllAction),(0,d.registerEditorCommand)(new I.CodeActionCommand),b.Registry.as(_.Extensions.Configuration).registerConfiguration({...k.editorConfigurationBaseNode,properties:{\"editor.codeActionWidget.showHeaders\":{type:\"boolean\",scope:5,description:m.localize(771,\"Enable/disable showing group headers in the Code Action menu.\"),default:!0}}}),b.Registry.as(_.Extensions.Configuration).registerConfiguration({...k.editorConfigurationBaseNode,properties:{\"editor.codeActionWidget.includeNearbyQuickFixes\":{type:\"boolean\",scope:5,description:m.localize(772,\"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic.\"),default:!0}}}),b.Registry.as(_.Extensions.Configuration).registerConfiguration({...k.editorConfigurationBaseNode,properties:{\"editor.codeActions.triggerOnFocusChange\":{type:\"boolean\",scope:5,markdownDescription:m.localize(773,\"Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.\",\"`#editor.codeActionsOnSave#`\",\"`#files.autoSave#`\",\"`afterDelay`\",\"`always`\"),default:!1}}})}),define(ne[818],se([1,0,5,114,4,35,506]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeLensWidget=e.CodeLensHelper=void 0;class y{constructor(o,t,i){this.afterColumn=1073741824,this.afterLineNumber=o,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement(\"div\")}onComputedHeight(o){this._lastHeight===void 0?this._lastHeight=o:this._lastHeight!==o&&(this._lastHeight=o,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute(\"monaco-visible-view-zone\")}}class m{static{this._idPool=0}constructor(o,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=o,this._id=`codelens.widget-${m._idPool++}`,this.updatePosition(t),this._domNode=document.createElement(\"span\"),this._domNode.className=\"codelens-decoration\"}withCommands(o,t){this._commands.clear();const i=[];let s=!1;for(let g=0;g<o.length;g++){const c=o[g];if(c&&(s=!0,c.command)){const l=(0,k.renderLabelWithIcons)(c.command.title.trim());if(c.command.id){const a=`c${m._idPool++}`;i.push(d.$(\"a\",{id:a,title:c.command.tooltip,role:\"button\"},...l)),this._commands.set(a,c.command)}else i.push(d.$(\"span\",{title:c.command.tooltip},...l));g+1<o.length&&i.push(d.$(\"span\",void 0,\"\\xA0|\\xA0\"))}}s?(d.reset(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add(\"fadein\"),this._isEmpty=!1):d.reset(this._domNode,d.$(\"span\",void 0,\"no commands\"))}getCommand(o){return o.parentElement===this._domNode?this._commands.get(o.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(o){const t=this._editor.getModel().getLineFirstNonWhitespaceColumn(o);this._widgetPosition={position:{lineNumber:o,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}}class _{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(o,t){this._addDecorations.push(o),this._addDecorationsCallbacks.push(t)}removeDecoration(o){this._removeDecorations.push(o)}commit(o){const t=o.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,s=t.length;i<s;i++)this._addDecorationsCallbacks[i](t[i])}}e.CodeLensHelper=_;const b=E.ModelDecorationOptions.register({collapseOnReplaceEdit:!0,description:\"codelens\"});class p{constructor(o,t,i,s,g,c){this._isDisposed=!1,this._editor=t,this._data=o,this._decorationIds=[];let l;const a=[];this._data.forEach((r,u)=>{r.symbol.command&&a.push(r.symbol),i.addDecoration({range:r.symbol.range,options:b},C=>this._decorationIds[u]=C),l?l=I.Range.plusRange(l,r.symbol.range):l=I.Range.lift(r.symbol.range)}),this._viewZone=new y(l.startLineNumber-1,g,c),this._viewZoneId=s.addZone(this._viewZone),a.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(a,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new m(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(o,t){this._decorationIds.forEach(o.removeDecoration,o),this._decorationIds=[],t?.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((o,t)=>{const i=this._editor.getModel().getDecorationRange(o),s=this._data[t].symbol;return!!(i&&I.Range.isEmpty(s.range)===i.isEmpty())})}updateCodeLensSymbols(o,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=o,this._data.forEach((i,s)=>{t.addDecoration({range:i.symbol.range,options:b},g=>this._decorationIds[s]=g)})}updateHeight(o,t){this._viewZone.heightInPx=o,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(o){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){const i=o.getDecorationRange(this._decorationIds[t]);i&&(this._data[t].symbol.range=i)}return this._data}updateCommands(o){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(o,!0);for(let t=0;t<this._data.length;t++){const i=o[t];if(i){const{symbol:s}=this._data[t];s.command=i.command||s.command}}}getCommand(o){return this._contentWidget?.getCommand(o)}getLineNumber(){const o=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return o?o.startLineNumber:-1}update(o){if(this.isValid()){const t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,o.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}}e.CodeLensWidget=p}),define(ne[819],se([1,0,14,8,2,143,15,37,20,386,724,818,3,24,50,66,79,17]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CodeLensContribution=void 0;let l=class{static{this.ID=\"css.editor.codeLens\"}constructor(r,u,C,f,h,v){this._editor=r,this._languageFeaturesService=u,this._commandService=f,this._notificationService=h,this._codeLensCache=v,this._disposables=new I.DisposableStore,this._localToDispose=new I.DisposableStore,this._lenses=[],this._oldCodeLensModels=new I.DisposableStore,this._provideCodeLensDebounce=C.for(u.codeLensProvider,\"CodeLensProvide\",{min:250}),this._resolveCodeLensesDebounce=C.for(u.codeLensProvider,\"CodeLensResolve\",{min:250,salt:\"resolve\"}),this._resolveCodeLensesScheduler=new d.RunOnceScheduler(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(w=>{(w.hasChanged(50)||w.hasChanged(19)||w.hasChanged(18))&&this._updateLensStyle(),w.hasChanged(17)&&this._onModelChange()})),this._disposables.add(u.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){const r=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let u=this._editor.getOption(19);return(!u||u<5)&&(u=this._editor.getOption(52)*.9|0),{fontSize:u,codeLensHeight:u*r|0}}_updateLensStyle(){const{codeLensHeight:r,fontSize:u}=this._getLayoutInfo(),C=this._editor.getOption(18),f=this._editor.getOption(50),{style:h}=this._editor.getContainerDomNode();h.setProperty(\"--vscode-editorCodeLens-lineHeight\",`${r}px`),h.setProperty(\"--vscode-editorCodeLens-fontSize\",`${u}px`),h.setProperty(\"--vscode-editorCodeLens-fontFeatureSettings\",f.fontFeatureSettings),C&&(h.setProperty(\"--vscode-editorCodeLens-fontFamily\",C),h.setProperty(\"--vscode-editorCodeLens-fontFamilyDefault\",m.EDITOR_FONT_DEFAULTS.fontFamily)),this._editor.changeViewZones(v=>{for(const w of this._lenses)w.updateHeight(r,v)})}_localDispose(){this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=void 0,this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),this._currentCodeLensModel?.dispose()}_onModelChange(){this._localDispose();const r=this._editor.getModel();if(!r||!this._editor.getOption(17)||r.isTooLargeForTokenization())return;const u=this._codeLensCache.get(r);if(u&&this._renderCodeLensSymbols(u),!this._languageFeaturesService.codeLensProvider.has(r)){u&&(0,d.disposableTimeout)(()=>{const f=this._codeLensCache.get(r);u===f&&(this._codeLensCache.delete(r),this._onModelChange())},30*1e3,this._localToDispose);return}for(const f of this._languageFeaturesService.codeLensProvider.all(r))if(typeof f.onDidChange==\"function\"){const h=f.onDidChange(()=>C.schedule());this._localToDispose.add(h)}const C=new d.RunOnceScheduler(()=>{const f=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=(0,d.createCancelablePromise)(h=>(0,b.getCodeLensModel)(this._languageFeaturesService.codeLensProvider,r,h)),this._getCodeLensModelPromise.then(h=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=h,this._codeLensCache.put(r,h);const v=this._provideCodeLensDebounce.update(r,Date.now()-f);C.delay=v,this._renderCodeLensSymbols(h),this._resolveCodeLensesInViewportSoon()},k.onUnexpectedError)},this._provideCodeLensDebounce.get(r));this._localToDispose.add(C),this._localToDispose.add((0,I.toDisposable)(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(f=>{this._editor.changeViewZones(h=>{const v=[];let w=-1;this._lenses.forEach(L=>{!L.isValid()||w===L.getLineNumber()?v.push(L):(L.update(h),w=L.getLineNumber())});const S=new n.CodeLensHelper;v.forEach(L=>{L.dispose(S,h),this._lenses.splice(this._lenses.indexOf(L),1)}),S.commit(f)})}),C.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{C.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{C.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(f=>{f.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add((0,I.toDisposable)(()=>{if(this._editor.getModel()){const f=E.StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(h=>{this._editor.changeViewZones(v=>{this._disposeAllLenses(h,v)})}),f.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(f=>{if(f.target.type!==9)return;let h=f.target.element;if(h?.tagName===\"SPAN\"&&(h=h.parentElement),h?.tagName===\"A\")for(const v of this._lenses){const w=v.getCommand(h);if(w){this._commandService.executeCommand(w.id,...w.arguments||[]).catch(S=>this._notificationService.error(S));break}}})),C.schedule()}_disposeAllLenses(r,u){const C=new n.CodeLensHelper;for(const f of this._lenses)f.dispose(C,u);r&&C.commit(r),this._lenses.length=0}_renderCodeLensSymbols(r){if(!this._editor.hasModel())return;const u=this._editor.getModel().getLineCount(),C=[];let f;for(const w of r.lenses){const S=w.symbol.range.startLineNumber;S<1||S>u||(f&&f[f.length-1].symbol.range.startLineNumber===S?f.push(w):(f=[w],C.push(f)))}if(!C.length&&!this._lenses.length)return;const h=E.StableEditorScrollState.capture(this._editor),v=this._getLayoutInfo();this._editor.changeDecorations(w=>{this._editor.changeViewZones(S=>{const L=new n.CodeLensHelper;let D=0,T=0;for(;T<C.length&&D<this._lenses.length;){const M=C[T][0].symbol.range.startLineNumber,A=this._lenses[D].getLineNumber();A<M?(this._lenses[D].dispose(L,S),this._lenses.splice(D,1)):A===M?(this._lenses[D].updateCodeLensSymbols(C[T],L),T++,D++):(this._lenses.splice(D,0,new n.CodeLensWidget(C[T],this._editor,L,S,v.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),D++,T++)}for(;D<this._lenses.length;)this._lenses[D].dispose(L,S),this._lenses.splice(D,1);for(;T<C.length;)this._lenses.push(new n.CodeLensWidget(C[T],this._editor,L,S,v.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),T++;L.commit(w)})}),h.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;const r=this._editor.getModel();if(!r)return;const u=[],C=[];if(this._lenses.forEach(v=>{const w=v.computeIfNecessary(r);w&&(u.push(w),C.push(v))}),u.length===0)return;const f=Date.now(),h=(0,d.createCancelablePromise)(v=>{const w=u.map((S,L)=>{const D=new Array(S.length),T=S.map((M,A)=>!M.symbol.command&&typeof M.provider.resolveCodeLens==\"function\"?Promise.resolve(M.provider.resolveCodeLens(r,M.symbol,v)).then(P=>{D[A]=P},k.onUnexpectedExternalError):(D[A]=M.symbol,Promise.resolve(void 0)));return Promise.all(T).then(()=>{!v.isCancellationRequested&&!C[L].isDisposed()&&C[L].updateCommands(D)})});return Promise.all(w)});this._resolveCodeLensesPromise=h,this._resolveCodeLensesPromise.then(()=>{const v=this._resolveCodeLensesDebounce.update(r,Date.now()-f);this._resolveCodeLensesScheduler.delay=v,this._currentCodeLensModel&&this._codeLensCache.put(r,this._currentCodeLensModel),this._oldCodeLensModels.clear(),h===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},v=>{(0,k.onUnexpectedError)(v),h===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}};e.CodeLensContribution=l,e.CodeLensContribution=l=ke([ce(1,c.ILanguageFeaturesService),ce(2,g.ILanguageFeatureDebounceService),ce(3,t.ICommandService),ce(4,i.INotificationService),ce(5,p.ICodeLensCache)],l),(0,y.registerEditorContribution)(l.ID,l,1),(0,y.registerEditorAction)(class extends y.EditorAction{constructor(){super({id:\"codelens.showLensesInCurrentLine\",precondition:_.EditorContextKeys.hasCodeLensProvider,label:(0,o.localize)(794,\"Show CodeLens Commands For Current Line\"),alias:\"Show CodeLens Commands For Current Line\"})}async run(r,u){if(!u.hasModel())return;const C=r.get(s.IQuickInputService),f=r.get(t.ICommandService),h=r.get(i.INotificationService),v=u.getSelection().positionLineNumber,w=u.getContribution(l.ID);if(!w)return;const S=await w.getModel();if(!S)return;const L=[];for(const M of S.lenses)M.symbol.command&&M.symbol.range.startLineNumber===v&&L.push({label:M.symbol.command.title,command:M.symbol.command});if(L.length===0)return;const D=await C.pick(L,{canPickMany:!1,placeHolder:(0,o.localize)(795,\"Select a command\")});if(!D)return;let T=D.command;if(S.isDisposed){const A=(await w.getModel())?.lenses.find(P=>P.symbol.range.startLineNumber===v&&P.symbol.command?.title===T.title);if(!A||!A.symbol.command)return;T=A.symbol.command}try{await f.executeCommand(T.id,...T.arguments||[])}catch(M){h.error(M)}}})}),define(ne[422],se([1,0,14,33,8,6,2,54,11,185,15,4,35,79,17,388,28]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";var c;Object.defineProperty(e,\"__esModule\",{value:!0}),e.DecoratorLimitReporter=e.ColorDetector=e.ColorDecorationInjectedTextMarker=void 0,e.ColorDecorationInjectedTextMarker=Object.create({});let l=class extends y.Disposable{static{c=this}static{this.ID=\"editor.contrib.colorDetector\"}static{this.RECOMPUTE_TIME=1e3}constructor(u,C,f,h){super(),this._editor=u,this._configurationService=C,this._languageFeaturesService=f,this._localToDispose=this._register(new y.DisposableStore),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new b.DynamicCssRules(this._editor),this._decoratorLimitReporter=new a,this._colorDecorationClassRefs=this._register(new y.DisposableStore),this._debounceInformation=h.for(f.colorProvider,\"Document Colors\",{min:c.RECOMPUTE_TIME}),this._register(u.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(u.onDidChangeModelLanguage(()=>this.updateColors())),this._register(f.colorProvider.onDidChange(()=>this.updateColors())),this._register(u.onDidChangeConfiguration(v=>{const w=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const S=w!==this._isColorDecoratorsEnabled||v.hasChanged(21),L=v.hasChanged(148);(S||L)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const u=this._editor.getModel();if(!u)return!1;const C=u.getLanguageId(),f=this._configurationService.getValue(C);if(f&&typeof f==\"object\"){const h=f.colorDecorators;if(h&&h.enable!==void 0&&!h.enable)return h.enable}return this._editor.getOption(20)}static get(u){return u.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const u=this._editor.getModel();!u||!this._languageFeaturesService.colorProvider.has(u)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new d.TimeoutTimer,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(u)))})),this.beginCompute())}async beginCompute(){this._computePromise=(0,d.createCancelablePromise)(async u=>{const C=this._editor.getModel();if(!C)return[];const f=new m.StopWatch(!1),h=await(0,s.getColors)(this._languageFeaturesService.colorProvider,C,u,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(C,f.elapsed()),h});try{const u=await this._computePromise;this.updateDecorations(u),this.updateColorDecorators(u),this._computePromise=null}catch(u){(0,I.onUnexpectedError)(u)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(u){const C=u.map(f=>({range:{startLineNumber:f.colorInfo.range.startLineNumber,startColumn:f.colorInfo.range.startColumn,endLineNumber:f.colorInfo.range.endLineNumber,endColumn:f.colorInfo.range.endColumn},options:o.ModelDecorationOptions.EMPTY}));this._editor.changeDecorations(f=>{this._decorationsIds=f.deltaDecorations(this._decorationsIds,C),this._colorDatas=new Map,this._decorationsIds.forEach((h,v)=>this._colorDatas.set(h,u[v]))})}updateColorDecorators(u){this._colorDecorationClassRefs.clear();const C=[],f=this._editor.getOption(21);for(let v=0;v<u.length&&C.length<f;v++){const{red:w,green:S,blue:L,alpha:D}=u[v].colorInfo.color,T=new k.RGBA(Math.round(w*255),Math.round(S*255),Math.round(L*255),D),M=`rgba(${T.r}, ${T.g}, ${T.b}, ${T.a})`,A=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:M}));C.push({range:{startLineNumber:u[v].colorInfo.range.startLineNumber,startColumn:u[v].colorInfo.range.startColumn,endLineNumber:u[v].colorInfo.range.endLineNumber,endColumn:u[v].colorInfo.range.endColumn},options:{description:\"colorDetector\",before:{content:_.noBreakWhitespace,inlineClassName:`${A.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:e.ColorDecorationInjectedTextMarker}}})}const h=f<u.length?f:!1;this._decoratorLimitReporter.update(u.length,h),this._colorDecoratorIds.set(C)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(u){const C=this._editor.getModel();if(!C)return null;const f=C.getDecorationsInRange(n.Range.fromPositions(u,u)).filter(h=>this._colorDatas.has(h.id));return f.length===0?null:this._colorDatas.get(f[0].id)}isColorDecoration(u){return this._colorDecoratorIds.has(u)}};e.ColorDetector=l,e.ColorDetector=l=c=ke([ce(1,g.IConfigurationService),ce(2,i.ILanguageFeaturesService),ce(3,t.ILanguageFeatureDebounceService)],l);class a{constructor(){this._onDidChange=new E.Emitter,this._computed=0,this._limited=!1}update(u,C){(u!==this._computed||C!==this._limited)&&(this._computed=u,this._limited=C,this._onDidChange.fire())}}e.DecoratorLimitReporter=a,(0,p.registerEditorContribution)(l.ID,l,1)}),define(ne[288],se([1,0,14,18,33,2,4,388,422,608,763,84,25,5]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneColorPickerParticipant=e.StandaloneColorPickerHover=e.ColorHoverParticipant=e.ColorHover=void 0;class i{constructor(f,h,v,w){this.owner=f,this.range=h,this.model=v,this.provider=w,this.forceShowAtRange=!0}isValidForHoverAnchor(f){return f.type===1&&this.range.startColumn<=f.range.startColumn&&this.range.endColumn>=f.range.endColumn}}e.ColorHover=i;let s=class{constructor(f,h){this._editor=f,this._themeService=h,this.hoverOrdinal=2}computeSync(f,h){return[]}computeAsync(f,h,v){return d.AsyncIterableObject.fromPromise(this._computeAsync(f,h,v))}async _computeAsync(f,h,v){if(!this._editor.hasModel())return[];const w=_.ColorDetector.get(this._editor);if(!w)return[];for(const S of h){if(!w.isColorDecoration(S))continue;const L=w.getColorData(S.range.getStartPosition());if(L)return[await l(this,this._editor.getModel(),L.colorInfo,L.provider)]}return[]}renderHoverParts(f,h){const v=a(this,this._editor,this._themeService,h,f);if(!v)return new n.RenderedHoverParts([]);this._colorPicker=v.colorPicker;const w={hoverPart:v.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){v.disposables.dispose()}};return new n.RenderedHoverParts([w])}handleResize(){this._colorPicker?.layout()}isColorPickerVisible(){return!!this._colorPicker}};e.ColorHoverParticipant=s,e.ColorHoverParticipant=s=ke([ce(1,o.IThemeService)],s);class g{constructor(f,h,v,w){this.owner=f,this.range=h,this.model=v,this.provider=w}}e.StandaloneColorPickerHover=g;let c=class{constructor(f,h){this._editor=f,this._themeService=h,this._color=null}async createColorHover(f,h,v){if(!this._editor.hasModel()||!_.ColorDetector.get(this._editor))return null;const S=await(0,m.getColors)(v,this._editor.getModel(),k.CancellationToken.None);let L=null,D=null;for(const P of S){const N=P.colorInfo;y.Range.containsRange(N.range,f.range)&&(L=N,D=P.provider)}const T=L??f,M=D??h,A=!!L;return{colorHover:await l(this,this._editor.getModel(),T,M),foundInEditor:A}}async updateEditorModel(f){if(!this._editor.hasModel())return;const h=f.model;let v=new y.Range(f.range.startLineNumber,f.range.startColumn,f.range.endLineNumber,f.range.endColumn);this._color&&(await u(this._editor.getModel(),h,this._color,v,f),v=r(this._editor,v,h))}renderHoverParts(f,h){return a(this,this._editor,this._themeService,h,f)}set color(f){this._color=f}get color(){return this._color}};e.StandaloneColorPickerParticipant=c,e.StandaloneColorPickerParticipant=c=ke([ce(1,o.IThemeService)],c);async function l(C,f,h,v){const w=f.getValueInRange(h.range),{red:S,green:L,blue:D,alpha:T}=h.color,M=new I.RGBA(Math.round(S*255),Math.round(L*255),Math.round(D*255),T),A=new I.Color(M),P=await(0,m.getColorPresentations)(f,h,v,k.CancellationToken.None),N=new b.ColorPickerModel(A,[],0);return N.colorPresentations=P||[],N.guessColorPresentation(A,w),C instanceof s?new i(C,y.Range.lift(h.range),N,v):new g(C,y.Range.lift(h.range),N,v)}function a(C,f,h,v,w){if(v.length===0||!f.hasModel())return;if(w.setMinimumDimensions){const N=f.getOption(67)+8;w.setMinimumDimensions(new t.Dimension(302,N))}const S=new E.DisposableStore,L=v[0],D=f.getModel(),T=L.model,M=S.add(new p.ColorPickerWidget(w.fragment,T,f.getOption(144),h,C instanceof c));let A=!1,P=new y.Range(L.range.startLineNumber,L.range.startColumn,L.range.endLineNumber,L.range.endColumn);if(C instanceof c){const N=L.model.color;C.color=N,u(D,T,N,P,L),S.add(T.onColorFlushed(O=>{C.color=O}))}else S.add(T.onColorFlushed(async N=>{await u(D,T,N,P,L),A=!0,P=r(f,P,T)}));return S.add(T.onDidChangeColor(N=>{u(D,T,N,P,L)})),S.add(f.onDidChangeModelContent(N=>{A?A=!1:(w.hide(),f.focus())})),{hoverPart:L,colorPicker:M,disposables:S}}function r(C,f,h){const v=[],w=h.presentation.textEdit??{range:f,text:h.presentation.label,forceMoveMarkers:!1};v.push(w),h.presentation.additionalTextEdits&&v.push(...h.presentation.additionalTextEdits);const S=y.Range.lift(w.range),L=C.getModel()._setTrackedRange(null,S,3);return C.executeEdits(\"colorpicker\",v),C.pushUndoStop(),C.getModel()._getTrackedRange(L)??S}async function u(C,f,h,v,w){const S=await(0,m.getColorPresentations)(C,{range:v,color:{red:h.rgba.r/255,green:h.rgba.g/255,blue:h.rgba.b/255,alpha:h.rgba.a}},w.provider,k.CancellationToken.None);f.colorPresentations=S||[]}}),define(ne[820],se([1,0,2,288,7,391,31,6,17,15,20,12,385,5,100,227]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";var s,g;Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneColorPickerWidget=e.StandaloneColorPickerController=void 0;let c=class extends d.Disposable{static{s=this}static{this.ID=\"editor.contrib.standaloneColorPickerController\"}constructor(f,h,v){super(),this._editor=f,this._instantiationService=v,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=p.EditorContextKeys.standaloneColorPickerVisible.bindTo(h),this._standaloneColorPickerFocused=p.EditorContextKeys.standaloneColorPickerFocused.bindTo(h)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(r,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(f){return f.getContribution(s.ID)}};e.StandaloneColorPickerController=c,e.StandaloneColorPickerController=c=s=ke([ce(1,n.IContextKeyService),ce(2,I.IInstantiationService)],c),(0,b.registerEditorContribution)(c.ID,c,1);const l=8,a=22;let r=class extends d.Disposable{static{g=this}static{this.ID=\"editor.contrib.standaloneColorPickerWidget\"}constructor(f,h,v,w,S,L,D){super(),this._editor=f,this._standaloneColorPickerVisible=h,this._standaloneColorPickerFocused=v,this._keybindingService=S,this._languageFeaturesService=L,this._editorWorkerService=D,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement(\"div\"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new m.Emitter),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=w.createInstance(k.StandaloneColorPickerParticipant,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;const T=this._editor.getSelection(),M=T?{startLineNumber:T.startLineNumber,startColumn:T.startColumn,endLineNumber:T.endLineNumber,endColumn:T.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},A=this._register(t.trackFocus(this._body));this._register(A.onDidBlur(P=>{this.hide()})),this._register(A.onDidFocus(P=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(P=>{const N=P.target.element?.classList;N&&N.contains(\"colorpicker-color-decoration\")&&this.hide()})),this._register(this.onResult(P=>{this._render(P.value,P.foundInEditor)})),this._start(M),this._body.style.zIndex=\"50\",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return g.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const f=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:f?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(f){const h=await this._computeAsync(f);h&&this._onResult.fire(new u(h.result,h.foundInEditor))}async _computeAsync(f){if(!this._editor.hasModel())return null;const h={range:f,color:{red:0,green:0,blue:0,alpha:1}},v=await this._standaloneColorPickerParticipant.createColorHover(h,new o.DefaultDocumentColorProvider(this._editorWorkerService),this._languageFeaturesService.colorProvider);return v?{result:v.colorHover,foundInEditor:v.foundInEditor}:null}_render(f,h){const v=document.createDocumentFragment(),w=this._register(new E.EditorHoverStatusBar(this._keybindingService)),S={fragment:v,statusBar:w,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=f;const L=this._standaloneColorPickerParticipant.renderHoverParts(S,[f]);if(!L)return;this._register(L.disposables);const D=L.colorPicker;this._body.classList.add(\"standalone-colorpicker-body\"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+\"px\",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+\"px\",this._body.tabIndex=0,this._body.appendChild(v),D.layout();const T=D.body,M=T.saturationBox.domNode.clientWidth,A=T.domNode.clientWidth-M-a-l,P=D.body.enterButton;P?.onClicked(()=>{this.updateEditor(),this.hide()});const N=D.header,O=N.pickedColorNode;O.style.width=M+l+\"px\";const F=N.originalColorNode;F.style.width=A+\"px\",D.header.closeButton?.onClicked(()=>{this.hide()}),h&&(P&&(P.button.textContent=\"Replace\"),this._selectionSetInEditor=!0,this._editor.setSelection(f.range)),this._editor.layoutContentWidget(this)}};e.StandaloneColorPickerWidget=r,e.StandaloneColorPickerWidget=r=g=ke([ce(3,I.IInstantiationService),ce(4,y.IKeybindingService),ce(5,_.ILanguageFeaturesService),ce(6,i.IEditorWorkerService)],r);class u{constructor(f,h){this.value=f,this.foundInEditor=h}}}),define(ne[821],se([1,0,15,3,820,20,29,227]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShowOrFocusStandaloneColorPicker=void 0;class m extends d.EditorAction2{constructor(){super({id:\"editor.action.showOrFocusStandaloneColorPicker\",title:{...(0,k.localize2)(801,\"Show or Focus Standalone Color Picker\"),mnemonicTitle:(0,k.localize)(798,\"&&Show or Focus Standalone Color Picker\")},precondition:void 0,menu:[{id:y.MenuId.CommandPalette}],metadata:{description:(0,k.localize2)(802,\"Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.\")}})}runEditorCommand(n,o){I.StandaloneColorPickerController.get(o)?.showOrFocus()}}e.ShowOrFocusStandaloneColorPicker=m;class _ extends d.EditorAction{constructor(){super({id:\"editor.action.hideColorPicker\",label:(0,k.localize)(799,\"Hide the Color Picker\"),alias:\"Hide the Color Picker\",precondition:E.EditorContextKeys.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:(0,k.localize2)(803,\"Hide the standalone color picker.\")}})}run(n,o){I.StandaloneColorPickerController.get(o)?.hide()}}class b extends d.EditorAction{constructor(){super({id:\"editor.action.insertColorWithStandaloneColorPicker\",label:(0,k.localize)(800,\"Insert Color with Standalone Color Picker\"),alias:\"Insert Color with Standalone Color Picker\",precondition:E.EditorContextKeys.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:(0,k.localize2)(804,\"Insert hex/rgb/hsl colors with the focused standalone color picker.\")}})}run(n,o){I.StandaloneColorPickerController.get(o)?.insertColor()}}(0,d.registerEditorAction)(_),(0,d.registerEditorAction)(b),(0,y.registerAction2)(m)}),define(ne[822],se([1,0,2,16,15,9,4,23,35,610,507]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DragAndDropController=void 0;function p(o){return k.isMacintosh?o.altKey:o.ctrlKey}class n extends d.Disposable{static{this.ID=\"editor.contrib.dragAndDrop\"}static{this.TRIGGER_KEY_VALUE=k.isMacintosh?6:5}constructor(t){super(),this._editor=t,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(i))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(i))),this._register(this._editor.onMouseDrag(i=>this._onEditorMouseDrag(i))),this._register(this._editor.onMouseDrop(i=>this._onEditorMouseDrop(i))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(i=>this.onEditorKeyDown(i))),this._register(this._editor.onKeyUp(i=>this.onEditorKeyUp(i))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(t){!this._editor.getOption(35)||this._editor.getOption(22)||(p(t)&&(this._modifierPressed=!0),this._mouseDown&&p(t)&&this._editor.updateOptions({mouseStyle:\"copy\"}))}onEditorKeyUp(t){!this._editor.getOption(35)||this._editor.getOption(22)||(p(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===n.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:\"default\"}))}_onEditorMouseDown(t){this._mouseDown=!0}_onEditorMouseUp(t){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:\"text\"})}_onEditorMouseDrag(t){const i=t.target;if(this._dragSelection===null){const g=(this._editor.getSelections()||[]).filter(c=>i.position&&c.containsPosition(i.position));if(g.length===1)this._dragSelection=g[0];else return}p(t.event)?this._editor.updateOptions({mouseStyle:\"copy\"}):this._editor.updateOptions({mouseStyle:\"default\"}),i.position&&(this._dragSelection.containsPosition(i.position)?this._removeDecoration():this.showAt(i.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:\"text\"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){const i=new E.Position(t.target.position.lineNumber,t.target.position.column);if(this._dragSelection===null){let s=null;if(t.event.shiftKey){const g=this._editor.getSelection();if(g){const{selectionStartLineNumber:c,selectionStartColumn:l}=g;s=[new m.Selection(c,l,i.lineNumber,i.column)]}}else s=(this._editor.getSelections()||[]).map(g=>g.containsPosition(i)?new m.Selection(i.lineNumber,i.column,i.lineNumber,i.column):g);this._editor.setSelections(s||[],\"mouse\",3)}else(!this._dragSelection.containsPosition(i)||(p(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(i)||this._dragSelection.getStartPosition().equals(i)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(n.ID,new b.DragAndDropCommand(this._dragSelection,i,p(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:\"text\"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}static{this._DECORATION_OPTIONS=_.ModelDecorationOptions.register({description:\"dnd-target\",className:\"dnd-target\"})}showAt(t){this._dndDecorationIds.set([{range:new y.Range(t.lineNumber,t.column,t.lineNumber,t.column),options:n._DECORATION_OPTIONS}]),this._editor.revealPosition(t,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(t){return t.type===6||t.type===7}_hitMargin(t){return t.type===2||t.type===3||t.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}e.DragAndDropController=n,(0,I.registerEditorContribution)(n.ID,n,2)}),define(ne[823],se([1,0,4,40,35,32,25]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FindDecorations=void 0;class m{constructor(b){this._editor=b,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const b=this._findScopeDecorationIds.map(p=>this._editor.getModel().getDecorationRange(p)).filter(p=>!!p);if(b.length)return b}return null}getStartPosition(){return this._startPosition}setStartPosition(b){this._startPosition=b,this.setCurrentFindMatch(null)}_getDecorationIndex(b){const p=this._decorations.indexOf(b);return p>=0?p+1:1}getDecorationRangeAt(b){const p=b<this._decorations.length?this._decorations[b]:null;return p?this._editor.getModel().getDecorationRange(p):null}getCurrentMatchesPosition(b){const p=this._editor.getModel().getDecorationsInRange(b);for(const n of p){const o=n.options;if(o===m._FIND_MATCH_DECORATION||o===m._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(n.id)}return 0}setCurrentFindMatch(b){let p=null,n=0;if(b)for(let o=0,t=this._decorations.length;o<t;o++){const i=this._editor.getModel().getDecorationRange(this._decorations[o]);if(b.equalsRange(i)){p=this._decorations[o],n=o+1;break}}return(this._highlightedDecorationId!==null||p!==null)&&this._editor.changeDecorations(o=>{if(this._highlightedDecorationId!==null&&(o.changeDecorationOptions(this._highlightedDecorationId,m._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),p!==null&&(this._highlightedDecorationId=p,o.changeDecorationOptions(this._highlightedDecorationId,m._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(o.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),p!==null){let t=this._editor.getModel().getDecorationRange(p);if(t.startLineNumber!==t.endLineNumber&&t.endColumn===1){const i=t.endLineNumber-1,s=this._editor.getModel().getLineMaxColumn(i);t=new d.Range(t.startLineNumber,t.startColumn,i,s)}this._rangeHighlightDecorationId=o.addDecoration(t,m._RANGE_HIGHLIGHT_DECORATION)}}),n}set(b,p){this._editor.changeDecorations(n=>{let o=m._FIND_MATCH_DECORATION;const t=[];if(b.length>1e3){o=m._FIND_MATCH_NO_OVERVIEW_DECORATION;const s=this._editor.getModel().getLineCount(),c=this._editor.getLayoutInfo().height/s,l=Math.max(2,Math.ceil(3/c));let a=b[0].range.startLineNumber,r=b[0].range.endLineNumber;for(let u=1,C=b.length;u<C;u++){const f=b[u].range;r+l>=f.startLineNumber?f.endLineNumber>r&&(r=f.endLineNumber):(t.push({range:new d.Range(a,1,r,1),options:m._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),a=f.startLineNumber,r=f.endLineNumber)}t.push({range:new d.Range(a,1,r,1),options:m._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const i=new Array(b.length);for(let s=0,g=b.length;s<g;s++)i[s]={range:b[s].range,options:o};this._decorations=n.deltaDecorations(this._decorations,i),this._overviewRulerApproximateDecorations=n.deltaDecorations(this._overviewRulerApproximateDecorations,t),this._rangeHighlightDecorationId&&(n.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(s=>n.removeDecoration(s)),this._findScopeDecorationIds=[]),p?.length&&(this._findScopeDecorationIds=p.map(s=>n.addDecoration(s,m._FIND_SCOPE_DECORATION)))})}matchBeforePosition(b){if(this._decorations.length===0)return null;for(let p=this._decorations.length-1;p>=0;p--){const n=this._decorations[p],o=this._editor.getModel().getDecorationRange(n);if(!(!o||o.endLineNumber>b.lineNumber)){if(o.endLineNumber<b.lineNumber)return o;if(!(o.endColumn>b.column))return o}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(b){if(this._decorations.length===0)return null;for(let p=0,n=this._decorations.length;p<n;p++){const o=this._decorations[p],t=this._editor.getModel().getDecorationRange(o);if(!(!t||t.startLineNumber<b.lineNumber)){if(t.startLineNumber>b.lineNumber)return t;if(!(t.startColumn<b.column))return t}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let b=[];return b=b.concat(this._decorations),b=b.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&b.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&b.push(this._rangeHighlightDecorationId),b}static{this._CURRENT_FIND_MATCH_DECORATION=I.ModelDecorationOptions.register({description:\"current-find-match\",stickiness:1,zIndex:13,className:\"currentFindMatch\",inlineClassName:\"currentFindMatchInline\",showIfCollapsed:!0,overviewRuler:{color:(0,y.themeColorFromId)(E.overviewRulerFindMatchForeground),position:k.OverviewRulerLane.Center},minimap:{color:(0,y.themeColorFromId)(E.minimapFindMatch),position:1}})}static{this._FIND_MATCH_DECORATION=I.ModelDecorationOptions.register({description:\"find-match\",stickiness:1,zIndex:10,className:\"findMatch\",inlineClassName:\"findMatchInline\",showIfCollapsed:!0,overviewRuler:{color:(0,y.themeColorFromId)(E.overviewRulerFindMatchForeground),position:k.OverviewRulerLane.Center},minimap:{color:(0,y.themeColorFromId)(E.minimapFindMatch),position:1}})}static{this._FIND_MATCH_NO_OVERVIEW_DECORATION=I.ModelDecorationOptions.register({description:\"find-match-no-overview\",stickiness:1,className:\"findMatch\",showIfCollapsed:!0})}static{this._FIND_MATCH_ONLY_OVERVIEW_DECORATION=I.ModelDecorationOptions.register({description:\"find-match-only-overview\",stickiness:1,overviewRuler:{color:(0,y.themeColorFromId)(E.overviewRulerFindMatchForeground),position:k.OverviewRulerLane.Center}})}static{this._RANGE_HIGHLIGHT_DECORATION=I.ModelDecorationOptions.register({description:\"find-range-highlight\",stickiness:1,className:\"rangeHighlight\",isWholeLine:!0})}static{this._FIND_SCOPE_DECORATION=I.ModelDecorationOptions.register({description:\"find-scope\",className:\"findScope\",isWholeLine:!0})}}e.FindDecorations=m}),define(ne[220],se([1,0,67,14,2,146,9,4,23,202,823,611,612,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FindModelBoundToEditorModel=e.MATCHES_LIMIT=e.FIND_IDS=e.TogglePreserveCaseKeybinding=e.ToggleSearchScopeKeybinding=e.ToggleRegexKeybinding=e.ToggleWholeWordKeybinding=e.ToggleCaseSensitiveKeybinding=e.CONTEXT_REPLACE_INPUT_FOCUSED=e.CONTEXT_FIND_INPUT_FOCUSED=e.CONTEXT_FIND_WIDGET_NOT_VISIBLE=e.CONTEXT_FIND_WIDGET_VISIBLE=void 0,e.CONTEXT_FIND_WIDGET_VISIBLE=new t.RawContextKey(\"findWidgetVisible\",!1),e.CONTEXT_FIND_WIDGET_NOT_VISIBLE=e.CONTEXT_FIND_WIDGET_VISIBLE.toNegated(),e.CONTEXT_FIND_INPUT_FOCUSED=new t.RawContextKey(\"findInputFocussed\",!1),e.CONTEXT_REPLACE_INPUT_FOCUSED=new t.RawContextKey(\"replaceInputFocussed\",!1),e.ToggleCaseSensitiveKeybinding={primary:545,mac:{primary:2593}},e.ToggleWholeWordKeybinding={primary:565,mac:{primary:2613}},e.ToggleRegexKeybinding={primary:560,mac:{primary:2608}},e.ToggleSearchScopeKeybinding={primary:554,mac:{primary:2602}},e.TogglePreserveCaseKeybinding={primary:558,mac:{primary:2606}},e.FIND_IDS={StartFindAction:\"actions.find\",StartFindWithSelection:\"actions.findWithSelection\",StartFindWithArgs:\"editor.actions.findWithArgs\",NextMatchFindAction:\"editor.action.nextMatchFindAction\",PreviousMatchFindAction:\"editor.action.previousMatchFindAction\",GoToMatchFindAction:\"editor.action.goToMatchFindAction\",NextSelectionMatchFindAction:\"editor.action.nextSelectionMatchFindAction\",PreviousSelectionMatchFindAction:\"editor.action.previousSelectionMatchFindAction\",StartFindReplaceAction:\"editor.action.startFindReplaceAction\",CloseFindWidgetCommand:\"closeFindWidget\",ToggleCaseSensitiveCommand:\"toggleFindCaseSensitive\",ToggleWholeWordCommand:\"toggleFindWholeWord\",ToggleRegexCommand:\"toggleFindRegex\",ToggleSearchScopeCommand:\"toggleFindInSelection\",TogglePreserveCaseCommand:\"togglePreserveCase\",ReplaceOneAction:\"editor.action.replaceOne\",ReplaceAllAction:\"editor.action.replaceAll\",SelectAllMatchesAction:\"editor.action.selectAllMatches\"},e.MATCHES_LIMIT=19999;const i=240;class s{constructor(c,l){this._toDispose=new I.DisposableStore,this._editor=c,this._state=l,this._isDisposed=!1,this._startSearchingTimer=new k.TimeoutTimer,this._decorations=new p.FindDecorations(c),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new k.RunOnceScheduler(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(a=>{(a.reason===3||a.reason===5||a.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(a=>{this._ignoreModelContentChanged||(a.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,I.dispose)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(c){this._isDisposed||this._editor.hasModel()&&(c.searchString||c.isReplaceRevealed||c.isRegex||c.wholeWord||c.matchCase||c.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{c.searchScope?this.research(c.moveCursor,this._state.searchScope):this.research(c.moveCursor)},i)):c.searchScope?this.research(c.moveCursor,this._state.searchScope):this.research(c.moveCursor))}static _getSearchRange(c,l){return l||c.getFullModelRange()}research(c,l){let a=null;typeof l<\"u\"?l!==null&&(Array.isArray(l)?a=l:a=[l]):a=this._decorations.getFindScopes(),a!==null&&(a=a.map(f=>{if(f.startLineNumber!==f.endLineNumber){let h=f.endLineNumber;return f.endColumn===1&&(h=h-1),new m.Range(f.startLineNumber,1,h,this._editor.getModel().getLineMaxColumn(h))}return f}));const r=this._findMatches(a,!1,e.MATCHES_LIMIT);this._decorations.set(r,a);const u=this._editor.getSelection();let C=this._decorations.getCurrentMatchesPosition(u);if(C===0&&r.length>0){const f=(0,d.findFirstIdxMonotonousOrArrLen)(r.map(h=>h.range),h=>m.Range.compareRangesUsingStarts(h,u)>=0);C=f>0?f-1+1:C}this._state.changeMatchInfo(C,this._decorations.getCount(),void 0),c&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const c=this._decorations.getFindScope();return c&&this._editor.revealRangeInCenterIfOutsideViewport(c,0),!0}return!1}_setCurrentFindMatch(c){const l=this._decorations.setCurrentFindMatch(c);this._state.changeMatchInfo(l,this._decorations.getCount(),c),this._editor.setSelection(c),this._editor.revealRangeInCenterIfOutsideViewport(c,0)}_prevSearchPosition(c){const l=this._state.isRegex&&(this._state.searchString.indexOf(\"^\")>=0||this._state.searchString.indexOf(\"$\")>=0);let{lineNumber:a,column:r}=c;const u=this._editor.getModel();return l||r===1?(a===1?a=u.getLineCount():a--,r=u.getLineMaxColumn(a)):r--,new y.Position(a,r)}_moveToPrevMatch(c,l=!1){if(!this._state.canNavigateBack()){const w=this._decorations.matchAfterPosition(c);w&&this._setCurrentFindMatch(w);return}if(this._decorations.getCount()<e.MATCHES_LIMIT){let w=this._decorations.matchBeforePosition(c);w&&w.isEmpty()&&w.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),w=this._decorations.matchBeforePosition(c)),w&&this._setCurrentFindMatch(w);return}if(this._cannotFind())return;const a=this._decorations.getFindScope(),r=s._getSearchRange(this._editor.getModel(),a);r.getEndPosition().isBefore(c)&&(c=r.getEndPosition()),c.isBefore(r.getStartPosition())&&(c=r.getEndPosition());const{lineNumber:u,column:C}=c,f=this._editor.getModel();let h=new y.Position(u,C),v=f.findPreviousMatch(this._state.searchString,h,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(v&&v.range.isEmpty()&&v.range.getStartPosition().equals(h)&&(h=this._prevSearchPosition(h),v=f.findPreviousMatch(this._state.searchString,h,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!v){if(!l&&!r.containsRange(v.range))return this._moveToPrevMatch(v.range.getStartPosition(),!0);this._setCurrentFindMatch(v.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(c){const l=this._state.isRegex&&(this._state.searchString.indexOf(\"^\")>=0||this._state.searchString.indexOf(\"$\")>=0);let{lineNumber:a,column:r}=c;const u=this._editor.getModel();return l||r===u.getLineMaxColumn(a)?(a===u.getLineCount()?a=1:a++,r=1):r++,new y.Position(a,r)}_moveToNextMatch(c){if(!this._state.canNavigateForward()){const a=this._decorations.matchBeforePosition(c);a&&this._setCurrentFindMatch(a);return}if(this._decorations.getCount()<e.MATCHES_LIMIT){let a=this._decorations.matchAfterPosition(c);a&&a.isEmpty()&&a.getStartPosition().equals(c)&&(c=this._nextSearchPosition(c),a=this._decorations.matchAfterPosition(c)),a&&this._setCurrentFindMatch(a);return}const l=this._getNextMatch(c,!1,!0);l&&this._setCurrentFindMatch(l.range)}_getNextMatch(c,l,a,r=!1){if(this._cannotFind())return null;const u=this._decorations.getFindScope(),C=s._getSearchRange(this._editor.getModel(),u);C.getEndPosition().isBefore(c)&&(c=C.getStartPosition()),c.isBefore(C.getStartPosition())&&(c=C.getStartPosition());const{lineNumber:f,column:h}=c,v=this._editor.getModel();let w=new y.Position(f,h),S=v.findNextMatch(this._state.searchString,w,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,l);return a&&S&&S.range.isEmpty()&&S.range.getStartPosition().equals(w)&&(w=this._nextSearchPosition(w),S=v.findNextMatch(this._state.searchString,w,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,l)),S?!r&&!C.containsRange(S.range)?this._getNextMatch(S.range.getEndPosition(),l,a,!0):S:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(c){const l=this._decorations.getDecorationRangeAt(c);l&&this._setCurrentFindMatch(l)}moveToMatch(c){this._moveToMatch(c)}_getReplacePattern(){return this._state.isRegex?(0,o.parseReplaceString)(this._state.replaceString):o.ReplacePattern.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const c=this._getReplacePattern(),l=this._editor.getSelection(),a=this._getNextMatch(l.getStartPosition(),!0,!1);if(a)if(l.equalsRange(a.range)){const r=c.buildReplaceString(a.matches,this._state.preserveCase),u=new E.ReplaceCommand(l,r);this._executeEditorCommand(\"replace\",u),this._decorations.setStartPosition(new y.Position(l.startLineNumber,l.startColumn+r.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(a.range)}_findMatches(c,l,a){const r=(c||[null]).map(u=>s._getSearchRange(this._editor.getModel(),u));return this._editor.getModel().findMatches(this._state.searchString,r,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,l,a)}replaceAll(){if(!this._hasMatches())return;const c=this._decorations.getFindScopes();c===null&&this._state.matchesCount>=e.MATCHES_LIMIT?this._largeReplaceAll():this._regularReplaceAll(c),this.research(!1)}_largeReplaceAll(){const l=new b.SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!l)return;let a=l.regex;if(!a.multiline){let S=\"mu\";a.ignoreCase&&(S+=\"i\"),a.global&&(S+=\"g\"),a=new RegExp(a.source,S)}const r=this._editor.getModel(),u=r.getValue(1),C=r.getFullModelRange(),f=this._getReplacePattern();let h;const v=this._state.preserveCase;f.hasReplacementPatterns||v?h=u.replace(a,function(){return f.buildReplaceString(arguments,v)}):h=u.replace(a,f.buildReplaceString(null,v));const w=new E.ReplaceCommandThatPreservesSelection(C,h,this._editor.getSelection());this._executeEditorCommand(\"replaceAll\",w)}_regularReplaceAll(c){const l=this._getReplacePattern(),a=this._findMatches(c,l.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let C=0,f=a.length;C<f;C++)r[C]=l.buildReplaceString(a[C].matches,this._state.preserveCase);const u=new n.ReplaceAllCommand(this._editor.getSelection(),a.map(C=>C.range),r);this._executeEditorCommand(\"replaceAll\",u)}selectAllMatches(){if(!this._hasMatches())return;const c=this._decorations.getFindScopes();let a=this._findMatches(c,!1,1073741824).map(u=>new _.Selection(u.range.startLineNumber,u.range.startColumn,u.range.endLineNumber,u.range.endColumn));const r=this._editor.getSelection();for(let u=0,C=a.length;u<C;u++)if(a[u].equalsRange(r)){a=[r].concat(a.slice(0,u)).concat(a.slice(u+1));break}this._editor.setSelections(a)}_executeEditorCommand(c,l){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(c,l),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}e.FindModelBoundToEditorModel=s}),define(ne[824],se([1,0,5,358,85,14,220,32,44,509]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FindOptionsWidget=void 0;class b extends I.Widget{static{this.ID=\"editor.contrib.findOptionsWidget\"}constructor(n,o,t){super(),this._hideSoon=this._register(new E.RunOnceScheduler(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=n,this._state=o,this._keybindingService=t,this._domNode=document.createElement(\"div\"),this._domNode.className=\"findOptionsWidget\",this._domNode.style.display=\"none\",this._domNode.style.top=\"10px\",this._domNode.style.zIndex=\"12\",this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\");const i={inputActiveOptionBorder:(0,m.asCssVariable)(m.inputActiveOptionBorder),inputActiveOptionForeground:(0,m.asCssVariable)(m.inputActiveOptionForeground),inputActiveOptionBackground:(0,m.asCssVariable)(m.inputActiveOptionBackground)},s=this._register((0,_.createInstantHoverDelegate)());this.caseSensitive=this._register(new k.CaseSensitiveToggle({appendTitle:this._keybindingLabelFor(y.FIND_IDS.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:s,...i})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new k.WholeWordsToggle({appendTitle:this._keybindingLabelFor(y.FIND_IDS.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:s,...i})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new k.RegexToggle({appendTitle:this._keybindingLabelFor(y.FIND_IDS.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:s,...i})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(g=>{let c=!1;g.isRegex&&(this.regex.checked=this._state.isRegex,c=!0),g.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,c=!0),g.matchCase&&(this.caseSensitive.checked=this._state.matchCase,c=!0),!this._state.isRevealed&&c&&this._revealTemporarily()})),this._register(d.addDisposableListener(this._domNode,d.EventType.MOUSE_LEAVE,g=>this._onMouseLeave())),this._register(d.addDisposableListener(this._domNode,\"mouseover\",g=>this._onMouseOver()))}_keybindingLabelFor(n){const o=this._keybindingService.lookupKeybinding(n);return o?` (${o.getLabel()})`:\"\"}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return b.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display=\"block\")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display=\"none\")}}e.FindOptionsWidget=b}),define(ne[825],se([1,0,6,2,4,220]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FindReplaceState=void 0;function y(_,b){return _===1?!0:_===2?!1:b}class m extends k.Disposable{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return y(this._isRegexOverride,this._isRegex)}get wholeWord(){return y(this._wholeWordOverride,this._wholeWord)}get matchCase(){return y(this._matchCaseOverride,this._matchCase)}get preserveCase(){return y(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new d.Emitter),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString=\"\",this._replaceString=\"\",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(b,p,n){const o={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let t=!1;p===0&&(b=0),b>p&&(b=p),this._matchesPosition!==b&&(this._matchesPosition=b,o.matchesPosition=!0,t=!0),this._matchesCount!==p&&(this._matchesCount=p,o.matchesCount=!0,t=!0),typeof n<\"u\"&&(I.Range.equalsRange(this._currentMatch,n)||(this._currentMatch=n,o.currentMatch=!0,t=!0)),t&&this._onFindReplaceStateChange.fire(o)}change(b,p,n=!0){const o={moveCursor:p,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let t=!1;const i=this.isRegex,s=this.wholeWord,g=this.matchCase,c=this.preserveCase;typeof b.searchString<\"u\"&&this._searchString!==b.searchString&&(this._searchString=b.searchString,o.searchString=!0,t=!0),typeof b.replaceString<\"u\"&&this._replaceString!==b.replaceString&&(this._replaceString=b.replaceString,o.replaceString=!0,t=!0),typeof b.isRevealed<\"u\"&&this._isRevealed!==b.isRevealed&&(this._isRevealed=b.isRevealed,o.isRevealed=!0,t=!0),typeof b.isReplaceRevealed<\"u\"&&this._isReplaceRevealed!==b.isReplaceRevealed&&(this._isReplaceRevealed=b.isReplaceRevealed,o.isReplaceRevealed=!0,t=!0),typeof b.isRegex<\"u\"&&(this._isRegex=b.isRegex),typeof b.wholeWord<\"u\"&&(this._wholeWord=b.wholeWord),typeof b.matchCase<\"u\"&&(this._matchCase=b.matchCase),typeof b.preserveCase<\"u\"&&(this._preserveCase=b.preserveCase),typeof b.searchScope<\"u\"&&(b.searchScope?.every(l=>this._searchScope?.some(a=>!I.Range.equalsRange(a,l)))||(this._searchScope=b.searchScope,o.searchScope=!0,t=!0)),typeof b.loop<\"u\"&&this._loop!==b.loop&&(this._loop=b.loop,o.loop=!0,t=!0),typeof b.isSearching<\"u\"&&this._isSearching!==b.isSearching&&(this._isSearching=b.isSearching,o.isSearching=!0,t=!0),typeof b.filters<\"u\"&&(this._filters?this._filters.update(b.filters):this._filters=b.filters,o.filters=!0,t=!0),this._isRegexOverride=typeof b.isRegexOverride<\"u\"?b.isRegexOverride:0,this._wholeWordOverride=typeof b.wholeWordOverride<\"u\"?b.wholeWordOverride:0,this._matchCaseOverride=typeof b.matchCaseOverride<\"u\"?b.matchCaseOverride:0,this._preserveCaseOverride=typeof b.preserveCaseOverride<\"u\"?b.preserveCaseOverride:0,i!==this.isRegex&&(t=!0,o.isRegex=!0),s!==this.wholeWord&&(t=!0,o.wholeWord=!0),g!==this.matchCase&&(t=!0,o.matchCase=!0),c!==this.preserveCase&&(t=!0,o.preserveCase=!0),t&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=E.MATCHES_LIMIT}}e.FindReplaceState=m}),define(ne[826],se([1,0,5,46,175,173,85,14,26,8,2,16,11,4,220,3,404,675,32,71,25,30,97,19,110,44,510]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SimpleButton=e.FindWidget=e.FindWidgetViewZone=e.NLS_NO_RESULTS=e.NLS_MATCHES_LOCATION=e.findNextMatchIcon=e.findPreviousMatchIcon=e.findReplaceAllIcon=e.findReplaceIcon=e.findSelectionIcon=void 0;const w=(0,a.registerIcon)(\"find-collapsed\",_.Codicon.chevronRight,s.localize(864,\"Icon to indicate that the editor find widget is collapsed.\")),S=(0,a.registerIcon)(\"find-expanded\",_.Codicon.chevronDown,s.localize(865,\"Icon to indicate that the editor find widget is expanded.\"));e.findSelectionIcon=(0,a.registerIcon)(\"find-selection\",_.Codicon.selection,s.localize(866,\"Icon for 'Find in Selection' in the editor find widget.\")),e.findReplaceIcon=(0,a.registerIcon)(\"find-replace\",_.Codicon.replace,s.localize(867,\"Icon for 'Replace' in the editor find widget.\")),e.findReplaceAllIcon=(0,a.registerIcon)(\"find-replace-all\",_.Codicon.replaceAll,s.localize(868,\"Icon for 'Replace All' in the editor find widget.\")),e.findPreviousMatchIcon=(0,a.registerIcon)(\"find-previous-match\",_.Codicon.arrowUp,s.localize(869,\"Icon for 'Find Previous' in the editor find widget.\")),e.findNextMatchIcon=(0,a.registerIcon)(\"find-next-match\",_.Codicon.arrowDown,s.localize(870,\"Icon for 'Find Next' in the editor find widget.\"));const L=s.localize(871,\"Find / Replace\"),D=s.localize(872,\"Find\"),T=s.localize(873,\"Find\"),M=s.localize(874,\"Previous Match\"),A=s.localize(875,\"Next Match\"),P=s.localize(876,\"Find in Selection\"),N=s.localize(877,\"Close\"),O=s.localize(878,\"Replace\"),F=s.localize(879,\"Replace\"),x=s.localize(880,\"Replace\"),W=s.localize(881,\"Replace All\"),V=s.localize(882,\"Toggle Replace\"),q=s.localize(883,\"Only the first {0} results are highlighted, but all find operations work on the entire text.\",i.MATCHES_LIMIT);e.NLS_MATCHES_LOCATION=s.localize(884,\"{0} of {1}\"),e.NLS_NO_RESULTS=s.localize(885,\"No results\");const H=419,U=275-54;let j=69;const Y=33,G=\"ctrlEnterReplaceAll.windows.donotask\",K=n.isMacintosh?256:2048;class R{constructor(ae){this.afterLineNumber=ae,this.heightInPx=Y,this.suppressMouseDown=!1,this.domNode=document.createElement(\"div\"),this.domNode.className=\"dock-find-viewzone\"}}e.FindWidgetViewZone=R;function J(pe,ae,ee){const de=!!ae.match(/\\n/);if(ee&&de&&ee.selectionStart>0){pe.stopPropagation();return}}function ie(pe,ae,ee){const de=!!ae.match(/\\n/);if(ee&&de&&ee.selectionEnd<ee.value.length){pe.stopPropagation();return}}class ue extends y.Widget{static{this.ID=\"editor.contrib.findWidget\"}constructor(ae,ee,de,ge,X,B,$,Q,Z,te){super(),this._hoverService=te,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=ae,this._controller=ee,this._state=de,this._contextViewProvider=ge,this._keybindingService=X,this._contextKeyService=B,this._storageService=Q,this._notificationService=Z,this._ctrlEnterReplaceAllWarningPrompted=!!Q.getBoolean(G,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new m.Delayer(500),this._register((0,p.toDisposable)(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(re=>this._onStateChanged(re))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(re=>{if(re.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),re.hasChanged(146)&&this._tryUpdateWidgetWidth(),re.hasChanged(2)&&this.updateAccessibilitySupport(),re.hasChanged(41)){const le=this._codeEditor.getOption(41).loop;this._state.change({loop:le},!1);const me=this._codeEditor.getOption(41).addExtraSpaceOnTop;me&&!this._viewZone&&(this._viewZone=new R(0),this._showViewZone()),!me&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const re=await this._controller.getGlobalBufferTerm();re&&re!==this._state.searchString&&(this._state.change({searchString:re},!1),this._findInput.select())}})),this._findInputFocused=i.CONTEXT_FIND_INPUT_FOCUSED.bindTo(B),this._findFocusTracker=this._register(d.trackFocus(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=i.CONTEXT_REPLACE_INPUT_FOCUSED.bindTo(B),this._replaceFocusTracker=this._register(d.trackFocus(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new R(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(re=>{if(re.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return ue.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(ae){if(ae.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(ae.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),ae.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),ae.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(92)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=d.getTotalWidth(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(ae.isRevealed||ae.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),ae.isRegex&&this._findInput.setRegex(this._state.isRegex),ae.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),ae.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),ae.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),ae.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),ae.searchString||ae.matchesCount||ae.matchesPosition){const ee=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle(\"no-results\",ee),this._updateMatchesCount(),this._updateButtons()}(ae.searchString||ae.currentMatch)&&this._layoutViewZone(),ae.updateHistory&&this._delayedUpdateHistory(),ae.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,b.onUnexpectedError)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=j+\"px\",this._state.matchesCount>=i.MATCHES_LIMIT?this._matchesCount.title=q:this._matchesCount.title=\"\",this._matchesCount.firstChild?.remove();let ae;if(this._state.matchesCount>0){let ee=String(this._state.matchesCount);this._state.matchesCount>=i.MATCHES_LIMIT&&(ee+=\"+\");let de=String(this._state.matchesPosition);de===\"0\"&&(de=\"?\"),ae=o.format(e.NLS_MATCHES_LOCATION,de,ee)}else ae=e.NLS_NO_RESULTS;this._matchesCount.appendChild(document.createTextNode(ae)),(0,k.alert)(this._getAriaLabel(ae,this._state.currentMatch,this._state.searchString)),j=Math.max(j,this._matchesCount.clientWidth)}_getAriaLabel(ae,ee,de){if(ae===e.NLS_NO_RESULTS)return de===\"\"?s.localize(886,\"{0} found\",ae):s.localize(887,\"{0} found for '{1}'\",ae,de);if(ee){const ge=s.localize(888,\"{0} found for '{1}', at {2}\",ae,de,ee.startLineNumber+\":\"+ee.startColumn),X=this._codeEditor.getModel();return X&&ee.startLineNumber<=X.getLineCount()&&ee.startLineNumber>=1?`${X.getLineContent(ee.startLineNumber)}, ${ge}`:ge}return s.localize(889,\"{0} found for '{1}'\",ae,de)}_updateToggleSelectionFindButton(){const ae=this._codeEditor.getSelection(),ee=ae?ae.startLineNumber!==ae.endLineNumber||ae.startColumn!==ae.endColumn:!1,de=this._toggleSelectionFind.checked;this._isVisible&&(de||ee)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const ae=this._state.searchString.length>0,ee=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&ae&&ee&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&ae&&ee&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&ae),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&ae),this._domNode.classList.toggle(\"replaceToggled\",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const de=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&de)}_reveal(){if(this._revealTimeouts.forEach(ae=>{clearTimeout(ae)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const ae=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case\"always\":this._toggleSelectionFind.checked=!0;break;case\"never\":this._toggleSelectionFind.checked=!1;break;case\"multiline\":{const de=!!ae&&ae.startLineNumber!==ae.endLineNumber;this._toggleSelectionFind.checked=de;break}default:break}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add(\"visible\"),this._domNode.setAttribute(\"aria-hidden\",\"false\")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let ee=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&ae){const de=this._codeEditor.getDomNode();if(de){const ge=d.getDomNodePagePosition(de),X=this._codeEditor.getScrolledVisiblePosition(ae.getStartPosition()),B=ge.left+(X?X.left:0),$=X?X.top:0;if(this._viewZone&&$<this._viewZone.heightInPx){ae.endLineNumber>ae.startLineNumber&&(ee=!1);const Q=d.getTopLeftOffset(this._domNode).left;B>Q&&(ee=!1);const Z=this._codeEditor.getScrolledVisiblePosition(ae.getEndPosition());ge.left+(Z?Z.left:0)>Q&&(ee=!1)}}}this._showViewZone(ee)}}_hide(ae){this._revealTimeouts.forEach(ee=>{clearTimeout(ee)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove(\"visible\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._findInput.clearMessage(),ae&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(ae){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const de=this._viewZone;this._viewZoneId!==void 0||!de||this._codeEditor.changeViewZones(ge=>{de.heightInPx=this._getHeight(),this._viewZoneId=ge.addZone(de),this._codeEditor.setScrollTop(ae||this._codeEditor.getScrollTop()+de.heightInPx)})}_showViewZone(ae=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new R(0));const de=this._viewZone;this._codeEditor.changeViewZones(ge=>{if(this._viewZoneId!==void 0){const X=this._getHeight();if(X===de.heightInPx)return;const B=X-de.heightInPx;de.heightInPx=X,ge.layoutZone(this._viewZoneId),ae&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+B);return}else{let X=this._getHeight();if(X-=this._codeEditor.getOption(84).top,X<=0)return;de.heightInPx=X,this._viewZoneId=ge.addZone(de),ae&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+X)}})}_removeViewZone(){this._codeEditor.changeViewZones(ae=>{this._viewZoneId!==void 0&&(ae.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const ae=this._codeEditor.getLayoutInfo();if(ae.contentWidth<=0){this._domNode.classList.add(\"hiddenEditor\");return}else this._domNode.classList.contains(\"hiddenEditor\")&&this._domNode.classList.remove(\"hiddenEditor\");const de=ae.width,ge=ae.minimap.minimapWidth;let X=!1,B=!1,$=!1;if(this._resized&&d.getTotalWidth(this._domNode)>H){this._domNode.style.maxWidth=`${de-28-ge-15}px`,this._replaceInput.width=d.getTotalWidth(this._findInput.domNode);return}if(H+28+ge>=de&&(B=!0),H+28+ge-j>=de&&($=!0),H+28+ge-j>=de+50&&(X=!0),this._domNode.classList.toggle(\"collapsed-find-widget\",X),this._domNode.classList.toggle(\"narrow-find-widget\",$),this._domNode.classList.toggle(\"reduced-find-widget\",B),!$&&!X&&(this._domNode.style.maxWidth=`${de-28-ge-15}px`),this._findInput.layout({collapsedFindWidget:X,narrowFindWidget:$,reducedFindWidget:B}),this._resized){const Q=this._findInput.inputBox.element.clientWidth;Q>0&&(this._replaceInput.width=Q)}else this._isReplaceVisible&&(this._replaceInput.width=d.getTotalWidth(this._findInput.domNode))}_getHeight(){let ae=0;return ae+=4,ae+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(ae+=4,ae+=this._replaceInput.inputBox.height+2),ae+=4,ae}_tryUpdateHeight(){const ae=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===ae?!1:(this._cachedHeight=ae,this._domNode.style.height=`${ae}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const ae=this._codeEditor.getSelections();ae.map(ee=>{ee.endColumn===1&&ee.endLineNumber>ee.startLineNumber&&(ee=ee.setEndPosition(ee.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(ee.endLineNumber-1)));const de=this._state.currentMatch;return ee.startLineNumber!==ee.endLineNumber&&!t.Range.equalsRange(ee,de)?ee:null}).filter(ee=>!!ee),ae.length&&this._state.change({searchScope:ae},!0)}}_onFindInputMouseDown(ae){ae.middleButton&&ae.stopPropagation()}_onFindInputKeyDown(ae){if(ae.equals(K|3))if(this._keybindingService.dispatchEvent(ae,ae.target)){ae.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`\n`),ae.preventDefault();return}if(ae.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),ae.preventDefault();return}if(ae.equals(2066)){this._codeEditor.focus(),ae.preventDefault();return}if(ae.equals(16))return J(ae,this._findInput.getValue(),this._findInput.domNode.querySelector(\"textarea\"));if(ae.equals(18))return ie(ae,this._findInput.getValue(),this._findInput.domNode.querySelector(\"textarea\"))}_onReplaceInputKeyDown(ae){if(ae.equals(K|3))if(this._keybindingService.dispatchEvent(ae,ae.target)){ae.preventDefault();return}else{n.isWindows&&n.isNative&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(s.localize(890,\"Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.\")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(G,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`\n`),ae.preventDefault();return}if(ae.equals(2)){this._findInput.focusOnCaseSensitive(),ae.preventDefault();return}if(ae.equals(1026)){this._findInput.focus(),ae.preventDefault();return}if(ae.equals(2066)){this._codeEditor.focus(),ae.preventDefault();return}if(ae.equals(16))return J(ae,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(\"textarea\"));if(ae.equals(18))return ie(ae,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(\"textarea\"))}getVerticalSashLeft(ae){return 0}_keybindingLabelFor(ae){const ee=this._keybindingService.lookupKeybinding(ae);return ee?` (${ee.getLabel()})`:\"\"}_buildDomNode(){this._findInput=this._register(new g.ContextScopedFindInput(null,this._contextViewProvider,{width:U,label:D,placeholder:T,appendCaseSensitiveLabel:this._keybindingLabelFor(i.FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(i.FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(i.FIND_IDS.ToggleRegexCommand),validation:te=>{if(te.length===0||!this._findInput.getRegex())return null;try{return new RegExp(te,\"gu\"),null}catch(re){return{content:re.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>(0,c.showHistoryKeybindingHint)(this._keybindingService),inputBoxStyles:h.defaultInputBoxStyles,toggleStyles:h.defaultToggleStyles},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(te=>this._onFindInputKeyDown(te))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(te=>{te.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),te.preventDefault())})),this._register(this._findInput.onRegexKeyDown(te=>{te.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),te.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(te=>{this._tryUpdateHeight()&&this._showViewZone()})),n.isLinux&&this._register(this._findInput.onMouseDown(te=>this._onFindInputMouseDown(te))),this._matchesCount=document.createElement(\"div\"),this._matchesCount.className=\"matchesCount\",this._updateMatchesCount();const de=this._register((0,v.createInstantHoverDelegate)());this._prevBtn=this._register(new he({label:M+this._keybindingLabelFor(i.FIND_IDS.PreviousMatchFindAction),icon:e.findPreviousMatchIcon,hoverDelegate:de,onTrigger:()=>{(0,f.assertIsDefined)(this._codeEditor.getAction(i.FIND_IDS.PreviousMatchFindAction)).run().then(void 0,b.onUnexpectedError)}},this._hoverService)),this._nextBtn=this._register(new he({label:A+this._keybindingLabelFor(i.FIND_IDS.NextMatchFindAction),icon:e.findNextMatchIcon,hoverDelegate:de,onTrigger:()=>{(0,f.assertIsDefined)(this._codeEditor.getAction(i.FIND_IDS.NextMatchFindAction)).run().then(void 0,b.onUnexpectedError)}},this._hoverService));const ge=document.createElement(\"div\");ge.className=\"find-part\",ge.appendChild(this._findInput.domNode);const X=document.createElement(\"div\");X.className=\"find-actions\",ge.appendChild(X),X.appendChild(this._matchesCount),X.appendChild(this._prevBtn.domNode),X.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new I.Toggle({icon:e.findSelectionIcon,title:P+this._keybindingLabelFor(i.FIND_IDS.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:de,inputActiveOptionBackground:(0,l.asCssVariable)(l.inputActiveOptionBackground),inputActiveOptionBorder:(0,l.asCssVariable)(l.inputActiveOptionBorder),inputActiveOptionForeground:(0,l.asCssVariable)(l.inputActiveOptionForeground)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let te=this._codeEditor.getSelections();te=te.map(re=>(re.endColumn===1&&re.endLineNumber>re.startLineNumber&&(re=re.setEndPosition(re.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(re.endLineNumber-1))),re.isEmpty()?null:re)).filter(re=>!!re),te.length&&this._state.change({searchScope:te},!0)}}else this._state.change({searchScope:null},!0)})),X.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new he({label:N+this._keybindingLabelFor(i.FIND_IDS.CloseFindWidgetCommand),icon:a.widgetClose,hoverDelegate:de,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:te=>{te.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),te.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new g.ContextScopedReplaceInput(null,void 0,{label:O,placeholder:F,appendPreserveCaseLabel:this._keybindingLabelFor(i.FIND_IDS.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>(0,c.showHistoryKeybindingHint)(this._keybindingService),inputBoxStyles:h.defaultInputBoxStyles,toggleStyles:h.defaultToggleStyles},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(te=>this._onReplaceInputKeyDown(te))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(te=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(te=>{te.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),te.preventDefault())}));const B=this._register((0,v.createInstantHoverDelegate)());this._replaceBtn=this._register(new he({label:x+this._keybindingLabelFor(i.FIND_IDS.ReplaceOneAction),icon:e.findReplaceIcon,hoverDelegate:B,onTrigger:()=>{this._controller.replace()},onKeyDown:te=>{te.equals(1026)&&(this._closeBtn.focus(),te.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new he({label:W+this._keybindingLabelFor(i.FIND_IDS.ReplaceAllAction),icon:e.findReplaceAllIcon,hoverDelegate:B,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const $=document.createElement(\"div\");$.className=\"replace-part\",$.appendChild(this._replaceInput.domNode);const Q=document.createElement(\"div\");Q.className=\"replace-actions\",$.appendChild(Q),Q.appendChild(this._replaceBtn.domNode),Q.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new he({label:V,className:\"codicon toggle left\",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=d.getTotalWidth(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement(\"div\"),this._domNode.className=\"editor-widget find-widget\",this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._domNode.ariaLabel=L,this._domNode.role=\"dialog\",this._domNode.style.width=`${H}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(ge),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild($),this._resizeSash=this._register(new E.Sash(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let Z=H;this._register(this._resizeSash.onDidStart(()=>{Z=d.getTotalWidth(this._domNode)})),this._register(this._resizeSash.onDidChange(te=>{this._resized=!0;const re=Z+te.startX-te.currentX;if(re<H)return;const le=parseFloat(d.getComputedStyle(this._domNode).maxWidth)||0;re>le||(this._domNode.style.width=`${re}px`,this._isReplaceVisible&&(this._replaceInput.width=d.getTotalWidth(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const te=d.getTotalWidth(this._domNode);if(te<H)return;let re=H;if(!this._resized||te===H){const le=this._codeEditor.getLayoutInfo();re=le.width-28-le.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${re}px`,this._isReplaceVisible&&(this._replaceInput.width=d.getTotalWidth(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const ae=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(ae!==2)}}e.FindWidget=ue;class he extends y.Widget{constructor(ae,ee){super(),this._opts=ae;let de=\"button\";this._opts.className&&(de=de+\" \"+this._opts.className),this._opts.icon&&(de=de+\" \"+u.ThemeIcon.asClassName(this._opts.icon)),this._domNode=document.createElement(\"div\"),this._domNode.tabIndex=0,this._domNode.className=de,this._domNode.setAttribute(\"role\",\"button\"),this._domNode.setAttribute(\"aria-label\",this._opts.label),this._register(ee.setupManagedHover(ae.hoverDelegate??(0,v.getDefaultHoverDelegate)(\"element\"),this._domNode,this._opts.label)),this.onclick(this._domNode,ge=>{this._opts.onTrigger(),ge.preventDefault()}),this.onkeydown(this._domNode,ge=>{if(ge.equals(10)||ge.equals(3)){this._opts.onTrigger(),ge.preventDefault();return}this._opts.onKeyDown?.(ge)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(ae){this._domNode.classList.toggle(\"disabled\",!ae),this._domNode.setAttribute(\"aria-disabled\",String(!ae)),this._domNode.tabIndex=ae?0:-1}setExpanded(ae){this._domNode.setAttribute(\"aria-expanded\",String(!!ae)),ae?(this._domNode.classList.remove(...u.ThemeIcon.asClassNameArray(w)),this._domNode.classList.add(...u.ThemeIcon.asClassNameArray(S))):(this._domNode.classList.remove(...u.ThemeIcon.asClassNameArray(S)),this._domNode.classList.add(...u.ThemeIcon.asClassNameArray(w)))}}e.SimpleButton=he,(0,r.registerThemingParticipant)((pe,ae)=>{const ee=pe.getColor(l.editorFindMatchHighlightBorder);ee&&ae.addRule(`.monaco-editor .findMatch { border: 1px ${(0,C.isHighContrast)(pe.type)?\"dotted\":\"solid\"} ${ee}; box-sizing: border-box; }`);const de=pe.getColor(l.editorFindRangeHighlightBorder);de&&ae.addRule(`.monaco-editor .findScope { border: 1px ${(0,C.isHighContrast)(pe.type)?\"dashed\":\"solid\"} ${de}; }`);const ge=pe.getColor(l.contrastBorder);ge&&ae.addRule(`.monaco-editor .find-widget { border: 1px solid ${ge}; }`);const X=pe.getColor(l.editorFindMatchForeground);X&&ae.addRule(`.monaco-editor .findMatchInline { color: ${X}; }`);const B=pe.getColor(l.editorFindMatchHighlightForeground);B&&ae.addRule(`.monaco-editor .currentFindMatchInline { color: ${B}; }`)})}),define(ne[423],se([1,0,14,2,11,15,80,20,40,220,824,825,826,3,29,117,12,58,31,50,66,101,25,118]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){\"use strict\";var h;Object.defineProperty(e,\"__esModule\",{value:!0}),e.StartFindReplaceAction=e.PreviousSelectionMatchFindAction=e.NextSelectionMatchFindAction=e.SelectionMatchFindAction=e.MoveToMatchFindAction=e.PreviousMatchFindAction=e.NextMatchFindAction=e.MatchFindAction=e.StartFindWithSelectionAction=e.StartFindWithArgsAction=e.StartFindAction=e.FindController=e.CommonFindController=void 0,e.getSelectionSearchString=w;const v=524288;function w(q,H=\"single\",z=!1){if(!q.hasModel())return null;const U=q.getSelection();if(H===\"single\"&&U.startLineNumber===U.endLineNumber||H===\"multiple\"){if(U.isEmpty()){const j=q.getConfiguredWordAtPosition(U.getStartPosition());if(j&&z===!1)return j.word}else if(q.getModel().getValueLengthInRange(U)<v)return q.getModel().getValueInRange(U)}return null}let S=class extends k.Disposable{static{h=this}static{this.ID=\"editor.contrib.findController\"}get editor(){return this._editor}static get(H){return H.getContribution(h.ID)}constructor(H,z,U,j,Y,G){super(),this._editor=H,this._findWidgetVisible=b.CONTEXT_FIND_WIDGET_VISIBLE.bindTo(z),this._contextKeyService=z,this._storageService=U,this._clipboardService=j,this._notificationService=Y,this._hoverService=G,this._updateHistoryDelayer=new d.Delayer(500),this._state=this._register(new n.FindReplaceState),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(K=>this._onStateChanged(K))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const K=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean(\"editor.matchCase\",1,!1),wholeWord:this._storageService.getBoolean(\"editor.wholeWord\",1,!1),isRegex:this._storageService.getBoolean(\"editor.isRegex\",1,!1),preserveCase:this._storageService.getBoolean(\"editor.preserveCase\",1,!1)},!1),K&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:\"none\",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(H){this.saveQueryState(H),H.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),H.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(H){H.isRegex&&this._storageService.store(\"editor.isRegex\",this._state.actualIsRegex,1,1),H.wholeWord&&this._storageService.store(\"editor.wholeWord\",this._state.actualWholeWord,1,1),H.matchCase&&this._storageService.store(\"editor.matchCase\",this._state.actualMatchCase,1,1),H.preserveCase&&this._storageService.store(\"editor.preserveCase\",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean(\"editor.matchCase\",1,this._state.matchCase),wholeWord:this._storageService.getBoolean(\"editor.wholeWord\",1,this._state.wholeWord),isRegex:this._storageService.getBoolean(\"editor.isRegex\",1,this._state.isRegex),preserveCase:this._storageService.getBoolean(\"editor.preserveCase\",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!b.CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let H=this._editor.getSelections();H=H.map(z=>(z.endColumn===1&&z.endLineNumber>z.startLineNumber&&(z=z.setEndPosition(z.endLineNumber-1,this._editor.getModel().getLineMaxColumn(z.endLineNumber-1))),z.isEmpty()?null:z)).filter(z=>!!z),H.length&&this._state.change({searchScope:H},!0)}}setSearchString(H){this._state.isRegex&&(H=I.escapeRegExpCharacters(H)),this._state.change({searchString:H},!1)}highlightFindOptions(H=!1){}async _start(H,z){if(this.disposeModel(),!this._editor.hasModel())return;const U={...z,isRevealed:!0};if(H.seedSearchStringFromSelection===\"single\"){const j=w(this._editor,H.seedSearchStringFromSelection,H.seedSearchStringFromNonEmptySelection);j&&(this._state.isRegex?U.searchString=I.escapeRegExpCharacters(j):U.searchString=j)}else if(H.seedSearchStringFromSelection===\"multiple\"&&!H.updateSearchScope){const j=w(this._editor,H.seedSearchStringFromSelection);j&&(U.searchString=j)}if(!U.searchString&&H.seedSearchStringFromGlobalClipboard){const j=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;j&&(U.searchString=j)}if(H.forceRevealReplace||U.isReplaceRevealed?U.isReplaceRevealed=!0:this._findWidgetVisible.get()||(U.isReplaceRevealed=!1),H.updateSearchScope){const j=this._editor.getSelections();j.some(Y=>!Y.isEmpty())&&(U.searchScope=j)}U.loop=H.loop,this._state.change(U,!1),this._model||(this._model=new b.FindModelBoundToEditorModel(this._editor,this._state))}start(H,z){return this._start(H,z)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(H){return this._model?(this._model.moveToMatch(H),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn(t.localize(848,\"The file is too large to perform a replace all operation.\")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():\"\"}setGlobalBufferTerm(H){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(H)}};e.CommonFindController=S,e.CommonFindController=S=h=ke([ce(1,g.IContextKeyService),ce(2,u.IStorageService),ce(3,s.IClipboardService),ce(4,a.INotificationService),ce(5,f.IHoverService)],S);let L=class extends S{constructor(H,z,U,j,Y,G,K,R,J){super(H,U,K,R,G,J),this._contextViewService=z,this._keybindingService=j,this._themeService=Y,this._widget=null,this._findOptionsWidget=null}async _start(H,z){this._widget||this._createFindWidget();const U=this._editor.getSelection();let j=!1;switch(this._editor.getOption(41).autoFindInSelection){case\"always\":j=!0;break;case\"never\":j=!1;break;case\"multiline\":{j=!!U&&U.startLineNumber!==U.endLineNumber;break}default:break}H.updateSearchScope=H.updateSearchScope||j,await super._start(H,z),this._widget&&(H.shouldFocus===2?this._widget.focusReplaceInput():H.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(H=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!H?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new o.FindWidget(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new p.FindOptionsWidget(this._editor,this._state,this._keybindingService))}};e.FindController=L,e.FindController=L=ke([ce(1,c.IContextViewService),ce(2,g.IContextKeyService),ce(3,l.IKeybindingService),ce(4,C.IThemeService),ce(5,a.INotificationService),ce(6,u.IStorageService),ce(7,s.IClipboardService),ce(8,f.IHoverService)],L),e.StartFindAction=(0,E.registerMultiEditorAction)(new E.MultiEditorAction({id:b.FIND_IDS.StartFindAction,label:t.localize(849,\"Find\"),alias:\"Find\",precondition:g.ContextKeyExpr.or(m.EditorContextKeys.focus,g.ContextKeyExpr.has(\"editorIsOpen\")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:i.MenuId.MenubarEditMenu,group:\"3_find\",title:t.localize(850,\"&&Find\"),order:1}})),e.StartFindAction.addImplementation(0,(q,H,z)=>{const U=S.get(H);return U?U.start({forceRevealReplace:!1,seedSearchStringFromSelection:H.getOption(41).seedSearchStringFromSelection!==\"never\"?\"single\":\"none\",seedSearchStringFromNonEmptySelection:H.getOption(41).seedSearchStringFromSelection===\"selection\",seedSearchStringFromGlobalClipboard:H.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:H.getOption(41).loop}):!1});const D={description:\"Open a new In-Editor Find Widget.\",args:[{name:\"Open a new In-Editor Find Widget args\",schema:{properties:{searchString:{type:\"string\"},replaceString:{type:\"string\"},isRegex:{type:\"boolean\"},matchWholeWord:{type:\"boolean\"},isCaseSensitive:{type:\"boolean\"},preserveCase:{type:\"boolean\"},findInSelection:{type:\"boolean\"}}}}]};class T extends E.EditorAction{constructor(){super({id:b.FIND_IDS.StartFindWithArgs,label:t.localize(851,\"Find With Arguments\"),alias:\"Find With Arguments\",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:D})}async run(H,z,U){const j=S.get(z);if(j){const Y=U?{searchString:U.searchString,replaceString:U.replaceString,isReplaceRevealed:U.replaceString!==void 0,isRegex:U.isRegex,wholeWord:U.matchWholeWord,matchCase:U.isCaseSensitive,preserveCase:U.preserveCase}:{};await j.start({forceRevealReplace:!1,seedSearchStringFromSelection:j.getState().searchString.length===0&&z.getOption(41).seedSearchStringFromSelection!==\"never\"?\"single\":\"none\",seedSearchStringFromNonEmptySelection:z.getOption(41).seedSearchStringFromSelection===\"selection\",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:U?.findInSelection||!1,loop:z.getOption(41).loop},Y),j.setGlobalBufferTerm(j.getState().searchString)}}}e.StartFindWithArgsAction=T;class M extends E.EditorAction{constructor(){super({id:b.FIND_IDS.StartFindWithSelection,label:t.localize(852,\"Find With Selection\"),alias:\"Find With Selection\",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(H,z){const U=S.get(z);U&&(await U.start({forceRevealReplace:!1,seedSearchStringFromSelection:\"multiple\",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:z.getOption(41).loop}),U.setGlobalBufferTerm(U.getState().searchString))}}e.StartFindWithSelectionAction=M;class A extends E.EditorAction{async run(H,z){const U=S.get(z);U&&!this._run(U)&&(await U.start({forceRevealReplace:!1,seedSearchStringFromSelection:U.getState().searchString.length===0&&z.getOption(41).seedSearchStringFromSelection!==\"never\"?\"single\":\"none\",seedSearchStringFromNonEmptySelection:z.getOption(41).seedSearchStringFromSelection===\"selection\",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:z.getOption(41).loop}),this._run(U))}}e.MatchFindAction=A;class P extends A{constructor(){super({id:b.FIND_IDS.NextMatchFindAction,label:t.localize(853,\"Find Next\"),alias:\"Find Next\",precondition:void 0,kbOpts:[{kbExpr:m.EditorContextKeys.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,b.CONTEXT_FIND_INPUT_FOCUSED),primary:3,weight:100}]})}_run(H){return H.moveToNextMatch()?(H.editor.pushUndoStop(),!0):!1}}e.NextMatchFindAction=P;class N extends A{constructor(){super({id:b.FIND_IDS.PreviousMatchFindAction,label:t.localize(854,\"Find Previous\"),alias:\"Find Previous\",precondition:void 0,kbOpts:[{kbExpr:m.EditorContextKeys.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,b.CONTEXT_FIND_INPUT_FOCUSED),primary:1027,weight:100}]})}_run(H){return H.moveToPrevMatch()}}e.PreviousMatchFindAction=N;class O extends E.EditorAction{constructor(){super({id:b.FIND_IDS.GoToMatchFindAction,label:t.localize(855,\"Go to Match...\"),alias:\"Go to Match...\",precondition:b.CONTEXT_FIND_WIDGET_VISIBLE}),this._highlightDecorations=[]}run(H,z,U){const j=S.get(z);if(!j)return;const Y=j.getState().matchesCount;if(Y<1){H.get(a.INotificationService).notify({severity:a.Severity.Warning,message:t.localize(856,\"No matches. Try searching for something else.\")});return}const G=H.get(r.IQuickInputService),K=new k.DisposableStore,R=K.add(G.createInputBox());R.placeholder=t.localize(857,\"Type a number to go to a specific match (between 1 and {0})\",Y);const J=ue=>{const he=parseInt(ue);if(isNaN(he))return;const pe=j.getState().matchesCount;if(he>0&&he<=pe)return he-1;if(he<0&&he>=-pe)return pe+he},ie=ue=>{const he=J(ue);if(typeof he==\"number\"){R.validationMessage=void 0,j.goToMatch(he);const pe=j.getState().currentMatch;pe&&this.addDecorations(z,pe)}else R.validationMessage=t.localize(858,\"Please type a number between 1 and {0}\",j.getState().matchesCount),this.clearDecorations(z)};K.add(R.onDidChangeValue(ue=>{ie(ue)})),K.add(R.onDidAccept(()=>{const ue=J(R.value);typeof ue==\"number\"?(j.goToMatch(ue),R.hide()):R.validationMessage=t.localize(859,\"Please type a number between 1 and {0}\",j.getState().matchesCount)})),K.add(R.onDidHide(()=>{this.clearDecorations(z),K.dispose()})),R.show()}clearDecorations(H){H.changeDecorations(z=>{this._highlightDecorations=z.deltaDecorations(this._highlightDecorations,[])})}addDecorations(H,z){H.changeDecorations(U=>{this._highlightDecorations=U.deltaDecorations(this._highlightDecorations,[{range:z,options:{description:\"find-match-quick-access-range-highlight\",className:\"rangeHighlight\",isWholeLine:!0}},{range:z,options:{description:\"find-match-quick-access-range-highlight-overview\",overviewRuler:{color:(0,C.themeColorFromId)(y.overviewRulerRangeHighlight),position:_.OverviewRulerLane.Full}}}])})}}e.MoveToMatchFindAction=O;class F extends E.EditorAction{async run(H,z){const U=S.get(z);if(!U)return;const j=w(z,\"single\",!1);j&&U.setSearchString(j),this._run(U)||(await U.start({forceRevealReplace:!1,seedSearchStringFromSelection:\"none\",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:z.getOption(41).loop}),this._run(U))}}e.SelectionMatchFindAction=F;class x extends F{constructor(){super({id:b.FIND_IDS.NextSelectionMatchFindAction,label:t.localize(860,\"Find Next Selection\"),alias:\"Find Next Selection\",precondition:void 0,kbOpts:{kbExpr:m.EditorContextKeys.focus,primary:2109,weight:100}})}_run(H){return H.moveToNextMatch()}}e.NextSelectionMatchFindAction=x;class W extends F{constructor(){super({id:b.FIND_IDS.PreviousSelectionMatchFindAction,label:t.localize(861,\"Find Previous Selection\"),alias:\"Find Previous Selection\",precondition:void 0,kbOpts:{kbExpr:m.EditorContextKeys.focus,primary:3133,weight:100}})}_run(H){return H.moveToPrevMatch()}}e.PreviousSelectionMatchFindAction=W,e.StartFindReplaceAction=(0,E.registerMultiEditorAction)(new E.MultiEditorAction({id:b.FIND_IDS.StartFindReplaceAction,label:t.localize(862,\"Replace\"),alias:\"Replace\",precondition:g.ContextKeyExpr.or(m.EditorContextKeys.focus,g.ContextKeyExpr.has(\"editorIsOpen\")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:i.MenuId.MenubarEditMenu,group:\"3_find\",title:t.localize(863,\"&&Replace\"),order:2}})),e.StartFindReplaceAction.addImplementation(0,(q,H,z)=>{if(!H.hasModel()||H.getOption(92))return!1;const U=S.get(H);if(!U)return!1;const j=H.getSelection(),Y=U.isFindInputFocused(),G=!j.isEmpty()&&j.startLineNumber===j.endLineNumber&&H.getOption(41).seedSearchStringFromSelection!==\"never\"&&!Y,K=Y||G?2:1;return U.start({forceRevealReplace:!0,seedSearchStringFromSelection:G?\"single\":\"none\",seedSearchStringFromNonEmptySelection:H.getOption(41).seedSearchStringFromSelection===\"selection\",seedSearchStringFromGlobalClipboard:H.getOption(41).seedSearchStringFromSelection!==\"never\",shouldFocus:K,shouldAnimate:!0,updateSearchScope:!1,loop:H.getOption(41).loop})}),(0,E.registerEditorContribution)(S.ID,L,0),(0,E.registerEditorAction)(T),(0,E.registerEditorAction)(M),(0,E.registerEditorAction)(P),(0,E.registerEditorAction)(N),(0,E.registerEditorAction)(O),(0,E.registerEditorAction)(x),(0,E.registerEditorAction)(W);const V=E.EditorCommand.bindToContribution(S.get);(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.CloseFindWidgetCommand,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.closeFindWidget(),kbOpts:{weight:105,kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,g.ContextKeyExpr.not(\"isComposing\")),primary:9,secondary:[1033]}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ToggleCaseSensitiveCommand,precondition:void 0,handler:q=>q.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.ToggleCaseSensitiveKeybinding.primary,mac:b.ToggleCaseSensitiveKeybinding.mac,win:b.ToggleCaseSensitiveKeybinding.win,linux:b.ToggleCaseSensitiveKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ToggleWholeWordCommand,precondition:void 0,handler:q=>q.toggleWholeWords(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.ToggleWholeWordKeybinding.primary,mac:b.ToggleWholeWordKeybinding.mac,win:b.ToggleWholeWordKeybinding.win,linux:b.ToggleWholeWordKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ToggleRegexCommand,precondition:void 0,handler:q=>q.toggleRegex(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.ToggleRegexKeybinding.primary,mac:b.ToggleRegexKeybinding.mac,win:b.ToggleRegexKeybinding.win,linux:b.ToggleRegexKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ToggleSearchScopeCommand,precondition:void 0,handler:q=>q.toggleSearchScope(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.ToggleSearchScopeKeybinding.primary,mac:b.ToggleSearchScopeKeybinding.mac,win:b.ToggleSearchScopeKeybinding.win,linux:b.ToggleSearchScopeKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.TogglePreserveCaseCommand,precondition:void 0,handler:q=>q.togglePreserveCase(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:b.TogglePreserveCaseKeybinding.primary,mac:b.TogglePreserveCaseKeybinding.mac,win:b.TogglePreserveCaseKeybinding.win,linux:b.TogglePreserveCaseKeybinding.linux}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ReplaceOneAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.replace(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:3094}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ReplaceOneAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.replace(),kbOpts:{weight:105,kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,b.CONTEXT_REPLACE_INPUT_FOCUSED),primary:3}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ReplaceAllAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.replaceAll(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:2563}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.ReplaceAllAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.replaceAll(),kbOpts:{weight:105,kbExpr:g.ContextKeyExpr.and(m.EditorContextKeys.focus,b.CONTEXT_REPLACE_INPUT_FOCUSED),primary:void 0,mac:{primary:2051}}})),(0,E.registerEditorCommand)(new V({id:b.FIND_IDS.SelectAllMatchesAction,precondition:b.CONTEXT_FIND_WIDGET_VISIBLE,handler:q=>q.selectAllMatches(),kbOpts:{weight:105,kbExpr:m.EditorContextKeys.focus,primary:515}}))}),define(ne[424],se([1,0,26,35,3,32,71,25,30]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FoldingDecorationProvider=e.foldingManualExpandedIcon=e.foldingManualCollapsedIcon=e.foldingCollapsedIcon=e.foldingExpandedIcon=void 0;const b=(0,E.registerColor)(\"editor.foldBackground\",{light:(0,E.transparent)(E.editorSelectionBackground,.3),dark:(0,E.transparent)(E.editorSelectionBackground,.3),hcDark:null,hcLight:null},(0,I.localize)(910,\"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.\"),!0);(0,E.registerColor)(\"editor.foldPlaceholderForeground\",{light:\"#808080\",dark:\"#808080\",hcDark:null,hcLight:null},(0,I.localize)(911,\"Color of the collapsed text after the first line of a folded range.\")),(0,E.registerColor)(\"editorGutter.foldingControlForeground\",E.iconForeground,(0,I.localize)(912,\"Color of the folding control in the editor gutter.\")),e.foldingExpandedIcon=(0,y.registerIcon)(\"folding-expanded\",d.Codicon.chevronDown,(0,I.localize)(913,\"Icon for expanded ranges in the editor glyph margin.\")),e.foldingCollapsedIcon=(0,y.registerIcon)(\"folding-collapsed\",d.Codicon.chevronRight,(0,I.localize)(914,\"Icon for collapsed ranges in the editor glyph margin.\")),e.foldingManualCollapsedIcon=(0,y.registerIcon)(\"folding-manual-collapsed\",e.foldingCollapsedIcon,(0,I.localize)(915,\"Icon for manually collapsed ranges in the editor glyph margin.\")),e.foldingManualExpandedIcon=(0,y.registerIcon)(\"folding-manual-expanded\",e.foldingExpandedIcon,(0,I.localize)(916,\"Icon for manually expanded ranges in the editor glyph margin.\"));const p={color:(0,m.themeColorFromId)(b),position:1},n=(0,I.localize)(917,\"Click to expand the range.\"),o=(0,I.localize)(918,\"Click to collapse the range.\");class t{static{this.COLLAPSED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:\"folding-collapsed-visual-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",isWholeLine:!0,linesDecorationsTooltip:n,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingCollapsedIcon)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:\"folding-collapsed-highlighted-visual-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",className:\"folded-background\",minimap:p,isWholeLine:!0,linesDecorationsTooltip:n,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingCollapsedIcon)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:\"folding-manually-collapsed-visual-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",isWholeLine:!0,linesDecorationsTooltip:n,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingManualCollapsedIcon)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:\"folding-manually-collapsed-highlighted-visual-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",className:\"folded-background\",minimap:p,isWholeLine:!0,linesDecorationsTooltip:n,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingManualCollapsedIcon)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=k.ModelDecorationOptions.register({description:\"folding-no-controls-range-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",isWholeLine:!0,linesDecorationsTooltip:n})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=k.ModelDecorationOptions.register({description:\"folding-no-controls-range-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",className:\"folded-background\",minimap:p,isWholeLine:!0,linesDecorationsTooltip:n})}static{this.EXPANDED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:\"folding-expanded-visual-decoration\",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:\"alwaysShowFoldIcons \"+_.ThemeIcon.asClassName(e.foldingExpandedIcon),linesDecorationsTooltip:o})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:\"folding-expanded-auto-hide-visual-decoration\",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingExpandedIcon),linesDecorationsTooltip:o})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:\"folding-manually-expanded-visual-decoration\",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:\"alwaysShowFoldIcons \"+_.ThemeIcon.asClassName(e.foldingManualExpandedIcon),linesDecorationsTooltip:o})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=k.ModelDecorationOptions.register({description:\"folding-manually-expanded-auto-hide-visual-decoration\",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:_.ThemeIcon.asClassName(e.foldingManualExpandedIcon),linesDecorationsTooltip:o})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=k.ModelDecorationOptions.register({description:\"folding-no-controls-range-decoration\",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=k.ModelDecorationOptions.register({description:\"folding-hidden-range-decoration\",stickiness:1})}constructor(s){this.editor=s,this.showFoldingControls=\"mouseover\",this.showFoldingHighlights=!0}getDecorationOption(s,g,c){return g?t.HIDDEN_RANGE_DECORATION:this.showFoldingControls===\"never\"?s?this.showFoldingHighlights?t.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:t.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:t.NO_CONTROLS_EXPANDED_RANGE_DECORATION:s?c?this.showFoldingHighlights?t.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:t.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?t.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:t.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls===\"mouseover\"?c?t.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:t.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:c?t.MANUALLY_EXPANDED_VISUAL_DECORATION:t.EXPANDED_VISUAL_DECORATION}changeDecorations(s){return this.editor.changeDecorations(s)}removeDecorations(s){this.editor.removeDecorations(s)}}e.FoldingDecorationProvider=t}),define(ne[289],se([1,0,14,18,8,72,2,11,19,143,15,20,27,36,334,613,335,3,12,424,203,336,50,79,54,17,6,24,22,51,28,511]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T){\"use strict\";var M;Object.defineProperty(e,\"__esModule\",{value:!0}),e.RangesLimitReporter=e.FoldingController=void 0,e.toSelectedLines=F;const A=new l.RawContextKey(\"foldingEnabled\",!1);let P=class extends y.Disposable{static{M=this}static{this.ID=\"editor.contrib.folding\"}static get(X){return X.getContribution(M.ID)}static getFoldingRangeProviders(X,B){const $=X.foldingRangeProvider.ordered(B);return M._foldingRangeSelector?.($,B)??$}constructor(X,B,$,Q,Z,te){super(),this.contextKeyService=B,this.languageConfigurationService=$,this.languageFeaturesService=te,this.localToDispose=this._register(new y.DisposableStore),this.editor=X,this._foldingLimitReporter=new N(X);const re=this.editor.getOptions();this._isEnabled=re.get(43),this._useFoldingProviders=re.get(44)!==\"indentation\",this._unfoldOnClickAfterEndOfLine=re.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=re.get(46),this.updateDebounceInfo=Z.for(te.foldingRangeProvider,\"Folding\",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new a.FoldingDecorationProvider(X),this.foldingDecorationProvider.showFoldingControls=re.get(111),this.foldingDecorationProvider.showFoldingHighlights=re.get(45),this.foldingEnabled=A.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(le=>{if(le.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),le.hasChanged(47)&&this.onModelChanged(),le.hasChanged(111)||le.hasChanged(45)){const me=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=me.get(111),this.foldingDecorationProvider.showFoldingHighlights=me.get(45),this.triggerFoldingModelChanged()}le.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!==\"indentation\",this.onFoldingStrategyChanged()),le.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),le.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const X=this.editor.getModel();if(!X||!this._isEnabled||X.isTooLargeForTokenization())return{};if(this.foldingModel){const B=this.foldingModel.getMemento(),$=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:B,lineCount:X.getLineCount(),provider:$,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(X){const B=this.editor.getModel();if(!(!B||!this._isEnabled||B.isTooLargeForTokenization()||!this.hiddenRangeModel)&&X&&(this._currentModelHasFoldedImports=!!X.foldedImports,X.collapsedRegions&&X.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(X.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const X=this.editor.getModel();!this._isEnabled||!X||X.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new i.FoldingModel(X,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new s.HiddenRangeModel(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(B=>this.onHiddenRangesChanges(B))),this.updateScheduler=new d.Delayer(this.updateDebounceInfo.get(X)),this.cursorChangedScheduler=new d.RunOnceScheduler(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(B=>this.onDidChangeModelContent(B))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(B=>this.onEditorMouseDown(B))),this.localToDispose.add(this.editor.onMouseUp(B=>this.onEditorMouseUp(B))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(X){if(this.rangeProvider)return this.rangeProvider;const B=new g.IndentRangeProvider(X,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=B,this._useFoldingProviders&&this.foldingModel){const $=M.getFoldingRangeProviders(this.languageFeaturesService,X);$.length>0&&(this.rangeProvider=new u.SyntaxRangeProvider(X,$,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,B))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(X){this.hiddenRangeModel?.notifyChangeModelContent(X),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const X=this.foldingModel;if(!X)return null;const B=new h.StopWatch,$=this.getRangeProvider(X.textModel),Q=this.foldingRegionPromise=(0,d.createCancelablePromise)(Z=>$.compute(Z));return Q.then(Z=>{if(Z&&Q===this.foldingRegionPromise){let te;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const me=Z.setCollapsedAllOfType(o.FoldingRangeKind.Imports.value,!0);me&&(te=b.StableEditorScrollState.capture(this.editor),this._currentModelHasFoldedImports=me)}const re=this.editor.getSelections();X.update(Z,F(re)),te?.restore(this.editor);const le=this.updateDebounceInfo.update(X.textModel,B.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=le)}return X})}).then(void 0,X=>((0,I.onUnexpectedError)(X),null)))}onHiddenRangesChanges(X){if(this.hiddenRangeModel&&X.length&&!this._restoringViewState){const B=this.editor.getSelections();B&&this.hiddenRangeModel.adjustSelections(B)&&this.editor.setSelections(B)}this.editor.setHiddenAreas(X,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const X=this.getFoldingModel();X&&X.then(B=>{if(B){const $=this.editor.getSelections();if($&&$.length>0){const Q=[];for(const Z of $){const te=Z.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(te)&&Q.push(...B.getAllRegionsAtLine(te,re=>re.isCollapsed&&te>re.startLineNumber))}Q.length&&(B.toggleCollapseState(Q),this.reveal($[0].getPosition()))}}}).then(void 0,I.onUnexpectedError)}onEditorMouseDown(X){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!X.target||!X.target.range||!X.event.leftButton&&!X.event.middleButton)return;const B=X.target.range;let $=!1;switch(X.target.type){case 4:{const Q=X.target.detail,Z=X.target.element.offsetLeft;if(Q.offsetX-Z<4)return;$=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!X.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const Q=this.editor.getModel();if(Q&&B.startColumn===Q.getLineMaxColumn(B.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:B.startLineNumber,iconClicked:$}}onEditorMouseUp(X){const B=this.foldingModel;if(!B||!this.mouseDownInfo||!X.target)return;const $=this.mouseDownInfo.lineNumber,Q=this.mouseDownInfo.iconClicked,Z=X.target.range;if(!Z||Z.startLineNumber!==$)return;if(Q){if(X.target.type!==4)return}else{const re=this.editor.getModel();if(!re||Z.startColumn!==re.getLineMaxColumn($))return}const te=B.getRegionAtLine($);if(te&&te.startLineNumber===$){const re=te.isCollapsed;if(Q||re){const le=X.event.altKey;let me=[];if(le){const Ce=Le=>!Le.containedBy(te)&&!te.containedBy(Le),ye=B.getRegionsInside(null,Ce);for(const Le of ye)Le.isCollapsed&&me.push(Le);me.length===0&&(me=ye)}else{const Ce=X.event.middleButton||X.event.shiftKey;if(Ce)for(const ye of B.getRegionsInside(te))ye.isCollapsed===re&&me.push(ye);(re||!Ce||me.length===0)&&me.push(te)}B.toggleCollapseState(me),this.reveal({lineNumber:$,column:1})}}}reveal(X){this.editor.revealPositionInCenterIfOutsideViewport(X,0)}};e.FoldingController=P,e.FoldingController=P=M=ke([ce(1,l.IContextKeyService),ce(2,t.ILanguageConfigurationService),ce(3,C.INotificationService),ce(4,f.ILanguageFeatureDebounceService),ce(5,v.ILanguageFeaturesService)],P);class N{constructor(X){this.editor=X,this._onDidChange=new w.Emitter,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(X,B){(X!==this._computed||B!==this._limited)&&(this._computed=X,this._limited=B,this._onDidChange.fire())}}e.RangesLimitReporter=N;class O extends p.EditorAction{runEditorCommand(X,B,$){const Q=X.get(t.ILanguageConfigurationService),Z=P.get(B);if(!Z)return;const te=Z.getFoldingModel();if(te)return this.reportTelemetry(X,B),te.then(re=>{if(re){this.invoke(Z,re,B,$,Q);const le=B.getSelection();le&&Z.reveal(le.getStartPosition())}})}getSelectedLines(X){const B=X.getSelections();return B?B.map($=>$.startLineNumber):[]}getLineNumbers(X,B){return X&&X.selectionLines?X.selectionLines.map($=>$+1):this.getSelectedLines(B)}run(X,B){}}function F(ge){return!ge||ge.length===0?{startsInside:()=>!1}:{startsInside(X,B){for(const $ of ge){const Q=$.startLineNumber;if(Q>=X&&Q<=B)return!0}return!1}}}function x(ge){if(!_.isUndefined(ge)){if(!_.isObject(ge))return!1;const X=ge;if(!_.isUndefined(X.levels)&&!_.isNumber(X.levels)||!_.isUndefined(X.direction)&&!_.isString(X.direction)||!_.isUndefined(X.selectionLines)&&(!Array.isArray(X.selectionLines)||!X.selectionLines.every(_.isNumber)))return!1}return!0}class W extends O{constructor(){super({id:\"editor.unfold\",label:c.localize(891,\"Unfold\"),alias:\"Unfold\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:\"Unfold the content in the editor\",args:[{name:\"Unfold editor argument\",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t`,constraint:x,schema:{type:\"object\",properties:{levels:{type:\"number\",default:1},direction:{type:\"string\",enum:[\"up\",\"down\"],default:\"down\"},selectionLines:{type:\"array\",items:{type:\"number\"}}}}}]}})}invoke(X,B,$,Q){const Z=Q&&Q.levels||1,te=this.getLineNumbers(Q,$);Q&&Q.direction===\"up\"?(0,i.setCollapseStateLevelsUp)(B,!1,Z,te):(0,i.setCollapseStateLevelsDown)(B,!1,Z,te)}}class V extends O{constructor(){super({id:\"editor.unfoldRecursively\",label:c.localize(892,\"Unfold Recursively\"),alias:\"Unfold Recursively\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2142),weight:100}})}invoke(X,B,$,Q){(0,i.setCollapseStateLevelsDown)(B,!1,Number.MAX_VALUE,this.getSelectedLines($))}}class q extends O{constructor(){super({id:\"editor.fold\",label:c.localize(893,\"Fold\"),alias:\"Fold\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:\"Fold the content in the editor\",args:[{name:\"Fold editor argument\",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t`,constraint:x,schema:{type:\"object\",properties:{levels:{type:\"number\"},direction:{type:\"string\",enum:[\"up\",\"down\"]},selectionLines:{type:\"array\",items:{type:\"number\"}}}}}]}})}invoke(X,B,$,Q){const Z=this.getLineNumbers(Q,$),te=Q&&Q.levels,re=Q&&Q.direction;typeof te!=\"number\"&&typeof re!=\"string\"?(0,i.setCollapseStateUp)(B,!0,Z):re===\"up\"?(0,i.setCollapseStateLevelsUp)(B,!0,te||1,Z):(0,i.setCollapseStateLevelsDown)(B,!0,te||1,Z)}}class H extends O{constructor(){super({id:\"editor.toggleFold\",label:c.localize(894,\"Toggle Fold\"),alias:\"Toggle Fold\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2090),weight:100}})}invoke(X,B,$){const Q=this.getSelectedLines($);(0,i.toggleCollapseState)(B,1,Q)}}class z extends O{constructor(){super({id:\"editor.foldRecursively\",label:c.localize(895,\"Fold Recursively\"),alias:\"Fold Recursively\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2140),weight:100}})}invoke(X,B,$){const Q=this.getSelectedLines($);(0,i.setCollapseStateLevelsDown)(B,!0,Number.MAX_VALUE,Q)}}class U extends O{constructor(){super({id:\"editor.toggleFoldRecursively\",label:c.localize(896,\"Toggle Fold Recursively\"),alias:\"Toggle Fold Recursively\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,3114),weight:100}})}invoke(X,B,$){const Q=this.getSelectedLines($);(0,i.toggleCollapseState)(B,Number.MAX_VALUE,Q)}}class j extends O{constructor(){super({id:\"editor.foldAllBlockComments\",label:c.localize(897,\"Fold All Block Comments\"),alias:\"Fold All Block Comments\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2138),weight:100}})}invoke(X,B,$,Q,Z){if(B.regions.hasTypes())(0,i.setCollapseStateForType)(B,o.FoldingRangeKind.Comment.value,!0);else{const te=$.getModel();if(!te)return;const re=Z.getLanguageConfiguration(te.getLanguageId()).comments;if(re&&re.blockCommentStartToken){const le=new RegExp(\"^\\\\s*\"+(0,m.escapeRegExpCharacters)(re.blockCommentStartToken));(0,i.setCollapseStateForMatchingLines)(B,le,!0)}}}}class Y extends O{constructor(){super({id:\"editor.foldAllMarkerRegions\",label:c.localize(898,\"Fold All Regions\"),alias:\"Fold All Regions\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2077),weight:100}})}invoke(X,B,$,Q,Z){if(B.regions.hasTypes())(0,i.setCollapseStateForType)(B,o.FoldingRangeKind.Region.value,!0);else{const te=$.getModel();if(!te)return;const re=Z.getLanguageConfiguration(te.getLanguageId()).foldingRules;if(re&&re.markers&&re.markers.start){const le=new RegExp(re.markers.start);(0,i.setCollapseStateForMatchingLines)(B,le,!0)}}}}class G extends O{constructor(){super({id:\"editor.unfoldAllMarkerRegions\",label:c.localize(899,\"Unfold All Regions\"),alias:\"Unfold All Regions\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2078),weight:100}})}invoke(X,B,$,Q,Z){if(B.regions.hasTypes())(0,i.setCollapseStateForType)(B,o.FoldingRangeKind.Region.value,!1);else{const te=$.getModel();if(!te)return;const re=Z.getLanguageConfiguration(te.getLanguageId()).foldingRules;if(re&&re.markers&&re.markers.start){const le=new RegExp(re.markers.start);(0,i.setCollapseStateForMatchingLines)(B,le,!1)}}}}class K extends O{constructor(){super({id:\"editor.foldAllExcept\",label:c.localize(900,\"Fold All Except Selected\"),alias:\"Fold All Except Selected\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2136),weight:100}})}invoke(X,B,$){const Q=this.getSelectedLines($);(0,i.setCollapseStateForRest)(B,!0,Q)}}class R extends O{constructor(){super({id:\"editor.unfoldAllExcept\",label:c.localize(901,\"Unfold All Except Selected\"),alias:\"Unfold All Except Selected\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2134),weight:100}})}invoke(X,B,$){const Q=this.getSelectedLines($);(0,i.setCollapseStateForRest)(B,!1,Q)}}class J extends O{constructor(){super({id:\"editor.foldAll\",label:c.localize(902,\"Fold All\"),alias:\"Fold All\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2069),weight:100}})}invoke(X,B,$){(0,i.setCollapseStateLevelsDown)(B,!0)}}class ie extends O{constructor(){super({id:\"editor.unfoldAll\",label:c.localize(903,\"Unfold All\"),alias:\"Unfold All\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2088),weight:100}})}invoke(X,B,$){(0,i.setCollapseStateLevelsDown)(B,!1)}}class ue extends O{static{this.ID_PREFIX=\"editor.foldLevel\"}static{this.ID=X=>ue.ID_PREFIX+X}getFoldingLevel(){return parseInt(this.id.substr(ue.ID_PREFIX.length))}invoke(X,B,$){(0,i.setCollapseStateAtLevel)(B,this.getFoldingLevel(),!0,this.getSelectedLines($))}}class he extends O{constructor(){super({id:\"editor.gotoParentFold\",label:c.localize(904,\"Go to Parent Fold\"),alias:\"Go to Parent Fold\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,weight:100}})}invoke(X,B,$){const Q=this.getSelectedLines($);if(Q.length>0){const Z=(0,i.getParentFoldLine)(Q[0],B);Z!==null&&$.setSelection({startLineNumber:Z,startColumn:1,endLineNumber:Z,endColumn:1})}}}class pe extends O{constructor(){super({id:\"editor.gotoPreviousFold\",label:c.localize(905,\"Go to Previous Folding Range\"),alias:\"Go to Previous Folding Range\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,weight:100}})}invoke(X,B,$){const Q=this.getSelectedLines($);if(Q.length>0){const Z=(0,i.getPreviousFoldLine)(Q[0],B);Z!==null&&$.setSelection({startLineNumber:Z,startColumn:1,endLineNumber:Z,endColumn:1})}}}class ae extends O{constructor(){super({id:\"editor.gotoNextFold\",label:c.localize(906,\"Go to Next Folding Range\"),alias:\"Go to Next Folding Range\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,weight:100}})}invoke(X,B,$){const Q=this.getSelectedLines($);if(Q.length>0){const Z=(0,i.getNextFoldLine)(Q[0],B);Z!==null&&$.setSelection({startLineNumber:Z,startColumn:1,endLineNumber:Z,endColumn:1})}}}class ee extends O{constructor(){super({id:\"editor.createFoldingRangeFromSelection\",label:c.localize(907,\"Create Folding Range from Selection\"),alias:\"Create Folding Range from Selection\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2135),weight:100}})}invoke(X,B,$){const Q=[],Z=$.getSelections();if(Z){for(const te of Z){let re=te.endLineNumber;te.endColumn===1&&--re,re>te.startLineNumber&&(Q.push({startLineNumber:te.startLineNumber,endLineNumber:re,type:void 0,isCollapsed:!0,source:1}),$.setSelection({startLineNumber:te.startLineNumber,startColumn:1,endLineNumber:te.startLineNumber,endColumn:1}))}if(Q.length>0){Q.sort((re,le)=>re.startLineNumber-le.startLineNumber);const te=r.FoldingRegions.sanitizeAndMerge(B.regions,Q,$.getModel()?.getLineCount());B.updatePost(r.FoldingRegions.fromFoldRanges(te))}}}}class de extends O{constructor(){super({id:\"editor.removeManualFoldingRanges\",label:c.localize(908,\"Remove Manual Folding Ranges\"),alias:\"Remove Manual Folding Ranges\",precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2137),weight:100}})}invoke(X,B,$){const Q=$.getSelections();if(Q){const Z=[];for(const te of Q){const{startLineNumber:re,endLineNumber:le}=te;Z.push(le>=re?{startLineNumber:re,endLineNumber:le}:{endLineNumber:le,startLineNumber:re})}B.removeManualRanges(Z),X.triggerFoldingModelChanged()}}}(0,p.registerEditorContribution)(P.ID,P,0),(0,p.registerEditorAction)(W),(0,p.registerEditorAction)(V),(0,p.registerEditorAction)(q),(0,p.registerEditorAction)(z),(0,p.registerEditorAction)(U),(0,p.registerEditorAction)(J),(0,p.registerEditorAction)(ie),(0,p.registerEditorAction)(j),(0,p.registerEditorAction)(Y),(0,p.registerEditorAction)(G),(0,p.registerEditorAction)(K),(0,p.registerEditorAction)(R),(0,p.registerEditorAction)(H),(0,p.registerEditorAction)(he),(0,p.registerEditorAction)(pe),(0,p.registerEditorAction)(ae),(0,p.registerEditorAction)(ee),(0,p.registerEditorAction)(de);for(let ge=1;ge<=7;ge++)(0,p.registerInstantiatedEditorAction)(new ue({id:ue.ID(ge),label:c.localize(909,\"Fold Level {0}\",ge),alias:`Fold Level ${ge}`,precondition:A,kbOpts:{kbExpr:n.EditorContextKeys.editorTextFocus,primary:(0,E.KeyChord)(2089,2048|21+ge),weight:100}}));S.CommandsRegistry.registerCommand(\"_executeFoldingRangeProvider\",async function(ge,...X){const[B]=X;if(!(B instanceof L.URI))throw(0,I.illegalArgument)();const $=ge.get(v.ILanguageFeaturesService),Q=ge.get(D.IModelService).getModel(B);if(!Q)throw(0,I.illegalArgument)();const Z=ge.get(T.IConfigurationService);if(!Z.getValue(\"editor.folding\",{resource:B}))return[];const te=ge.get(t.ILanguageConfigurationService),re=Z.getValue(\"editor.foldingStrategy\",{resource:B}),le={get limit(){return Z.getValue(\"editor.foldingMaximumRegions\",{resource:B})},update:(Ee,Me)=>{}},me=new g.IndentRangeProvider(Q,te,le);let Ce=me;if(re!==\"indentation\"){const Ee=P.getFoldingRangeProviders($,Q);Ee.length&&(Ce=new u.SyntaxRangeProvider(Q,Ee,()=>{},le,me))}const ye=await Ce.compute(k.CancellationToken.None),Le=[];try{if(ye)for(let Ee=0;Ee<ye.length;Ee++){const Me=ye.getType(Ee);Le.push({start:ye.getStartLineNumber(Ee),end:ye.getEndLineNumber(Ee),kind:Me?o.FoldingRangeKind.fromValue(Me):void 0})}return Le}finally{Ce.dispose()}})}),define(ne[827],se([1,0,14,8,122,15,4,23,20,35,100,3,616,515]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";var t;Object.defineProperty(e,\"__esModule\",{value:!0});let i=class{static{t=this}static{this.ID=\"editor.contrib.inPlaceReplaceController\"}static get(l){return l.getContribution(t.ID)}static{this.DECORATION=b.ModelDecorationOptions.register({description:\"in-place-replace\",className:\"valueSetReplacement\"})}constructor(l,a){this.editor=l,this.editorWorkerService=a,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(l,a){this.currentRequest?.cancel();const r=this.editor.getSelection(),u=this.editor.getModel();if(!u||!r)return;let C=r;if(C.startLineNumber!==C.endLineNumber)return;const f=new I.EditorState(this.editor,5),h=u.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=(0,d.createCancelablePromise)(v=>this.editorWorkerService.navigateValueSet(h,C,a)),this.currentRequest.then(v=>{if(!v||!v.range||!v.value||!f.validate(this.editor))return;const w=y.Range.lift(v.range);let S=v.range;const L=v.value.length-(C.endColumn-C.startColumn);S={startLineNumber:S.startLineNumber,startColumn:S.startColumn,endLineNumber:S.endLineNumber,endColumn:S.startColumn+v.value.length},L>1&&(C=new m.Selection(C.startLineNumber,C.startColumn,C.endLineNumber,C.endColumn+L-1));const D=new o.InPlaceReplaceCommand(w,C,v.value);this.editor.pushUndoStop(),this.editor.executeCommand(l,D),this.editor.pushUndoStop(),this.decorations.set([{range:S,options:t.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=(0,d.timeout)(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(k.onUnexpectedError)}).catch(k.onUnexpectedError)):Promise.resolve(void 0)}};i=t=ke([ce(1,p.IEditorWorkerService)],i);class s extends E.EditorAction{constructor(){super({id:\"editor.action.inPlaceReplace.up\",label:n.localize(1103,\"Replace with Previous Value\"),alias:\"Replace with Previous Value\",precondition:_.EditorContextKeys.writable,kbOpts:{kbExpr:_.EditorContextKeys.editorTextFocus,primary:3159,weight:100}})}run(l,a){const r=i.get(a);return r?r.run(this.id,!1):Promise.resolve(void 0)}}class g extends E.EditorAction{constructor(){super({id:\"editor.action.inPlaceReplace.down\",label:n.localize(1104,\"Replace with Next Value\"),alias:\"Replace with Next Value\",precondition:_.EditorContextKeys.writable,kbOpts:{kbExpr:_.EditorContextKeys.editorTextFocus,primary:3161,weight:100}})}run(l,a){const r=i.get(a);return r?r.run(this.id,!0):Promise.resolve(void 0)}}(0,E.registerEditorContribution)(i.ID,i,4),(0,E.registerEditorAction)(s),(0,E.registerEditorAction)(g)}),define(ne[828],se([1,0,2,21,9,4,43,40,150,205,139,518]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GhostTextWidget=e.INLINE_EDIT_DESCRIPTION=void 0,e.INLINE_EDIT_DESCRIPTION=\"inline-edit\";let n=class extends d.Disposable{constructor(t,i,s){super(),this.editor=t,this.model=i,this.languageService=s,this.isDisposed=(0,k.observableValue)(this,!1),this.currentTextModel=(0,k.observableFromEvent)(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=(0,k.derived)(this,g=>{if(this.isDisposed.read(g))return;const c=this.currentTextModel.read(g);if(c!==this.model.targetTextModel.read(g))return;const l=this.model.ghostText.read(g);if(!l)return;let a=this.model.range?.read(g);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const r=(a?a.startLineNumber===a.endLineNumber:!0)&&l.parts.length===1&&l.parts[0].lines.length===1,u=l.parts.length===1&&l.parts[0].lines.every(T=>T.length===0),C=[],f=[];function h(T,M){if(f.length>0){const A=f[f.length-1];M&&A.decorations.push(new _.LineDecoration(A.content.length+1,A.content.length+1+T[0].length,M,0)),A.content+=T[0],T=T.slice(1)}for(const A of T)f.push({content:A,decorations:M?[new _.LineDecoration(1,A.length+1,M,0)]:[]})}const v=c.getLineContent(l.lineNumber);let w,S=0;if(!u&&(r||!a)){for(const T of l.parts){let M=T.lines;a&&!r&&(h(M,e.INLINE_EDIT_DESCRIPTION),M=[]),w===void 0?(C.push({column:T.column,text:M[0],preview:T.preview}),M=M.slice(1)):h([v.substring(S,T.column-1)],void 0),M.length>0&&(h(M,e.INLINE_EDIT_DESCRIPTION),w===void 0&&T.column<=v.length&&(w=T.column)),S=T.column-1}w!==void 0&&h([v.substring(S)],void 0)}const L=w!==void 0?new b.ColumnRange(w,v.length+1):void 0,D=r||!a?l.lineNumber:a.endLineNumber-1;return{inlineTexts:C,additionalLines:f,hiddenRange:L,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(g),targetTextModel:c,range:a,isSingleLine:r,isPureRemove:u}}),this.decorations=(0,k.derived)(this,g=>{const c=this.uiState.read(g);if(!c)return[];const l=[];if(c.hiddenRange&&l.push({range:c.hiddenRange.toRange(c.lineNumber),options:{inlineClassName:\"inline-edit-hidden\",description:\"inline-edit-hidden\"}}),c.range){const a=[];if(c.isSingleLine)a.push(c.range);else if(!c.isPureRemove){const r=c.range.endLineNumber-c.range.startLineNumber;for(let u=0;u<r;u++){const C=c.range.startLineNumber+u,f=c.targetTextModel.getLineFirstNonWhitespaceColumn(C),h=c.targetTextModel.getLineLastNonWhitespaceColumn(C),v=new E.Range(C,f,C,h);a.push(v)}}for(const r of a)l.push({range:r,options:p.diffDeleteDecoration})}if(c.range&&!c.isSingleLine&&c.isPureRemove){const a=new E.Range(c.range.startLineNumber,1,c.range.endLineNumber-1,1);l.push({range:a,options:p.diffLineDeleteDecorationBackgroundWithIndicator})}for(const a of c.inlineTexts)l.push({range:E.Range.fromPositions(new I.Position(c.lineNumber,a.column)),options:{description:e.INLINE_EDIT_DESCRIPTION,after:{content:a.text,inlineClassName:a.preview?\"inline-edit-decoration-preview\":\"inline-edit-decoration\",cursorStops:m.InjectedTextCursorStops.Left},showIfCollapsed:!0}});return l}),this._register((0,d.toDisposable)(()=>{this.isDisposed.set(!0,void 0)})),this._register((0,b.applyObservableDecorations)(this.editor,this.decorations))}};e.GhostTextWidget=n,e.GhostTextWidget=n=ke([ce(2,y.ILanguageService)],n)}),define(ne[829],se([1,0,5,18,2,21,65,22,112,125,215,139,9,4,70,35,51,7,520]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";var l,a;Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineEditSideBySideWidget=void 0;function*r(h,v,w=1){v===void 0&&([v,h]=[h,0]);for(let S=h;S<v;S+=w)yield S}function u(h){const v=h[0].match(/^\\s*/)?.[0]??\"\",w=v.length;return{text:h.map(S=>S.replace(new RegExp(\"^\"+v),\"\")),shift:w}}let C=class extends I.Disposable{static{l=this}static{this._modelId=0}static _createUniqueUri(){return m.URI.from({scheme:\"inline-edit-widget\",path:new Date().toString()+String(l._modelId++)})}constructor(v,w,S,L,D){super(),this._editor=v,this._model=w,this._instantiationService=S,this._diffProviderFactoryService=L,this._modelService=D,this._position=(0,E.derived)(this,T=>{const M=this._model.read(T);if(!M||M.text.length===0||M.range.startLineNumber===M.range.endLineNumber&&!(M.range.startColumn===M.range.endColumn&&M.range.startColumn===1))return null;const A=this._editor.getModel();if(!A)return null;const P=Array.from(r(M.range.startLineNumber,M.range.endLineNumber+1)),N=P.map(V=>A.getLineLastNonWhitespaceColumn(V)),O=Math.max(...N),F=P[N.indexOf(O)],x=new o.Position(F,O);return{top:M.range.startLineNumber,left:x}}),this._text=(0,E.derived)(this,T=>{const M=this._model.read(T);if(!M)return{text:\"\",shift:0};const A=u(M.text.split(`\n`));return{text:A.text.join(`\n`),shift:A.shift}}),this._originalModel=(0,y.derivedDisposable)(()=>this._modelService.createModel(\"\",null,l._createUniqueUri())).keepObserved(this._store),this._modifiedModel=(0,y.derivedDisposable)(()=>this._modelService.createModel(\"\",null,l._createUniqueUri())).keepObserved(this._store),this._diff=(0,E.derived)(this,T=>this._diffPromise.read(T)?.promiseResult.read(T)?.data),this._diffPromise=(0,E.derived)(this,T=>{const M=this._model.read(T);if(!M)return;const A=this._editor.getModel();if(!A)return;const P=u(A.getValueInRange(M.range).split(`\n`)).text.join(`\n`),N=u(M.text.split(`\n`)).text.join(`\n`);this._originalModel.get().setValue(P),this._modifiedModel.get().setValue(N);const O=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:\"advanced\"});return E.ObservablePromise.fromFn(async()=>{const F=await O.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},k.CancellationToken.None);if(!F.identical)return F.changes})}),this._register((0,E.autorunWithStore)((T,M)=>{if(!this._model.read(T)||this._position.get()===null)return;const P=M.add(this._instantiationService.createInstance(f,this._editor,this._position,this._text.map(N=>N.text),this._text.map(N=>N.shift),this._diff));v.addOverlayWidget(P),M.add((0,I.toDisposable)(()=>v.removeOverlayWidget(P)))}))}};e.InlineEditSideBySideWidget=C,e.InlineEditSideBySideWidget=C=l=ke([ce(2,c.IInstantiationService),ce(3,p.IDiffProviderFactoryService),ce(4,g.IModelService)],C);let f=class extends I.Disposable{static{a=this}static{this.id=0}constructor(v,w,S,L,D,T){super(),this._editor=v,this._position=w,this._text=S,this._shift=L,this._diff=D,this._instantiationService=T,this.id=`InlineEditSideBySideContentWidget${a.id++}`,this.allowEditorOverflow=!1,this._nodes=(0,d.$)(\"div.inlineEditSideBySide\",void 0),this._scrollChanged=(0,E.observableSignalFromEvent)(\"editor.onDidScrollChange\",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(b.EmbeddedCodeEditorWidget,this._nodes,{glyphMargin:!1,lineNumbers:\"off\",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:\"hidden\",horizontal:\"hidden\",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:\"off\",wordWrapOverride1:\"off\",wordWrapOverride2:\"off\",wrappingIndent:\"none\",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=(0,_.observableCodeEditor)(this._previewEditor),this._editorObs=(0,_.observableCodeEditor)(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(s.TextModel,\"\",this._editor.getModel()?.getLanguageId()??i.PLAINTEXT_LANGUAGE_ID,s.TextModel.DEFAULT_CREATION_OPTIONS,null)),this._setText=(0,E.derived)(M=>{const A=this._text.read(M);A&&this._previewTextModel.setValue(A)}).recomputeInitiallyAndOnChange(this._store),this._decorations=(0,E.derived)(this,M=>{this._setText.read(M);const A=this._position.read(M);if(!A)return{org:[],mod:[]};const P=this._diff.read(M);if(!P)return{org:[],mod:[]};const N=[],O=[];if(P.length===1&&P[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const F=this._shift.get(),x=W=>new t.Range(W.startLineNumber+A.top-1,W.startColumn+F,W.endLineNumber+A.top-1,W.endColumn+F);for(const W of P)if(W.original.isEmpty||N.push({range:x(W.original.toInclusiveRange()),options:n.diffLineDeleteDecorationBackgroundWithIndicator}),W.modified.isEmpty||O.push({range:W.modified.toInclusiveRange(),options:n.diffLineAddDecorationBackgroundWithIndicator}),W.modified.isEmpty||W.original.isEmpty)W.original.isEmpty||N.push({range:x(W.original.toInclusiveRange()),options:n.diffWholeLineDeleteDecoration}),W.modified.isEmpty||O.push({range:W.modified.toInclusiveRange(),options:n.diffWholeLineAddDecoration});else for(const V of W.innerChanges||[])W.original.contains(V.originalRange.startLineNumber)&&N.push({range:x(V.originalRange),options:V.originalRange.isEmpty()?n.diffDeleteDecorationEmpty:n.diffDeleteDecoration}),W.modified.contains(V.modifiedRange.startLineNumber)&&O.push({range:V.modifiedRange,options:V.modifiedRange.isEmpty()?n.diffAddDecorationEmpty:n.diffAddDecoration});return{org:N,mod:O}}),this._originalDecorations=(0,E.derived)(this,M=>this._decorations.read(M).org),this._modifiedDecorations=(0,E.derived)(this,M=>this._decorations.read(M).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register((0,E.autorun)(M=>{const A=this._previewEditorObs.contentWidth.read(M),P=this._text.read(M).split(`\n`).length-1,N=this._editor.getOption(67)*P;A<=0||this._previewEditor.layout({height:N,width:A})})),this._register((0,E.autorun)(M=>{this._position.read(M),this._editor.layoutOverlayWidget(this)})),this._register((0,E.autorun)(M=>{this._scrollChanged.read(M),this._position.read(M)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const v=this._position.get();if(!v)return null;const w=this._editor.getLayoutInfo(),S=this._editor.getScrolledVisiblePosition(new o.Position(v.top,1));if(!S)return null;const L=S.top-1,D=this._editor.getOffsetForColumn(v.left.lineNumber,v.left.column);return{preference:{left:w.contentLeft+D+10,top:L}}}};f=a=ke([ce(5,c.IInstantiationService)],f)}),define(ne[425],se([1,0,2,21,75,9,4,828,12,7,27,17,18,204,24,800,5,28,8,65,829,215,51]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){\"use strict\";var f;Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineEditController=void 0;let h=class extends d.Disposable{static{f=this}static{this.ID=\"editor.contrib.inlineEditController\"}static{this.inlineEditVisibleKey=\"inlineEditVisible\"}static{this.inlineEditVisibleContext=new _.RawContextKey(this.inlineEditVisibleKey,!1)}static{this.cursorAtInlineEditKey=\"cursorAtInlineEdit\"}static{this.cursorAtInlineEditContext=new _.RawContextKey(this.cursorAtInlineEditKey,!1)}static get(S){return S.getContribution(f.ID)}constructor(S,L,D,T,M,A,P,N){super(),this.editor=S,this.instantiationService=L,this.contextKeyService=D,this.languageFeaturesService=T,this._commandService=M,this._configurationService=A,this._diffProviderFactoryService=P,this._modelService=N,this._isVisibleContext=f.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=f.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=(0,k.observableValue)(this,void 0),this._currentWidget=(0,a.derivedDisposable)(this._currentEdit,q=>{const H=this._currentEdit.read(q);if(!H)return;const z=H.range.endLineNumber,U=H.range.endColumn,j=H.text.endsWith(`\n`)&&!(H.range.startLineNumber===H.range.endLineNumber&&H.range.startColumn===H.range.endColumn)?H.text.slice(0,-1):H.text,Y=new t.GhostText(z,[new t.GhostTextPart(U,j,!1)]),G=H.range.startLineNumber===H.range.endLineNumber&&Y.parts.length===1&&Y.parts[0].lines.length===1,K=H.text===\"\";return!G&&!K?void 0:this.instantiationService.createInstance(m.GhostTextWidget,this.editor,{ghostText:(0,k.constObservable)(Y),minReservedLineCount:(0,k.constObservable)(0),targetTextModel:(0,k.constObservable)(this.editor.getModel()??void 0),range:(0,k.constObservable)(H.range)})}),this._isAccepting=(0,k.observableValue)(this,!1),this._enabled=(0,k.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=(0,k.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const O=(0,k.observableSignalFromEvent)(\"InlineEditController.modelContentChangedSignal\",S.onDidChangeModelContent);this._register((0,k.autorun)(q=>{this._enabled.read(q)&&(O.read(q),!this._isAccepting.read(q)&&this.getInlineEdit(S,!0))}));const F=(0,k.observableFromEvent)(this,S.onDidChangeCursorPosition,()=>S.getPosition());this._register((0,k.autorun)(q=>{if(!this._enabled.read(q))return;const H=F.read(q);H&&this.checkCursorPosition(H)})),this._register((0,k.autorun)(q=>{const H=this._currentEdit.read(q);if(this._isCursorAtInlineEditContext.set(!1),!H){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const z=S.getPosition();z&&this.checkCursorPosition(z)}));const x=(0,k.observableSignalFromEvent)(\"InlineEditController.editorBlurSignal\",S.onDidBlurEditorWidget);this._register((0,k.autorun)(async q=>{this._enabled.read(q)&&(x.read(q),!(this._configurationService.getValue(\"editor.experimentalInlineEdit.keepOnBlur\")||S.getOption(63).keepOnBlur)&&(this._currentRequestCts?.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const W=(0,k.observableSignalFromEvent)(\"InlineEditController.editorFocusSignal\",S.onDidFocusEditorText);this._register((0,k.autorun)(q=>{this._enabled.read(q)&&(W.read(q),this.getInlineEdit(S,!0))}));const V=this._register((0,g.createStyleSheet2)());this._register((0,k.autorun)(q=>{const H=this._fontFamily.read(q);V.setStyle(H===\"\"||H===\"default\"?\"\":`\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .inline-edit {\n\tfont-family: ${H};\n}`)})),this._register(new s.InlineEditHintsWidget(this.editor,this._currentWidget,this.instantiationService)),this._register(new r.InlineEditSideBySideWidget(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(S){if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const L=this._currentEdit.get();if(!L){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(y.Range.containsPosition(L.range,S))}validateInlineEdit(S,L){if(L.text.includes(`\n`)&&L.range.startLineNumber!==L.range.endLineNumber&&L.range.startColumn!==L.range.endColumn){if(L.range.startColumn!==1)return!1;const T=L.range.endLineNumber,M=L.range.endColumn,A=S.getModel()?.getLineLength(T)??0;if(M!==A+1)return!1}return!0}async fetchInlineEdit(S,L){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const D=S.getModel();if(!D)return;const T=D.getVersionId(),M=this.languageFeaturesService.inlineEditProvider.all(D);if(M.length===0)return;const A=M[0];this._currentRequestCts=new o.CancellationTokenSource;const P=this._currentRequestCts.token,N=L?p.InlineEditTriggerKind.Automatic:p.InlineEditTriggerKind.Invoke;if(L&&await v(50,P),P.isCancellationRequested||D.isDisposed()||D.getVersionId()!==T)return;const F=await A.provideInlineEdit(D,{triggerKind:N},P);if(F&&!(P.isCancellationRequested||D.isDisposed()||D.getVersionId()!==T)&&this.validateInlineEdit(S,F))return F}async getInlineEdit(S,L){this._isCursorAtInlineEditContext.set(!1),await this.clear();const D=await this.fetchInlineEdit(S,L);D&&this._currentEdit.set(D,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const S=this._currentEdit.get();if(!S)return;let L=S.text;S.text.startsWith(`\n`)&&(L=S.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits(\"acceptCurrent\",[I.EditOperation.replace(y.Range.lift(S.range),L)]),S.accepted&&await this._commandService.executeCommand(S.accepted.id,...S.accepted.arguments||[]).then(void 0,l.onUnexpectedExternalError),this.freeEdit(S),(0,k.transaction)(D=>{this._currentEdit.set(void 0,D),this._isAccepting.set(!1,D)})}jumpToCurrent(){this._jumpBackPosition=this.editor.getSelection()?.getStartPosition();const S=this._currentEdit.get();if(!S)return;const L=E.Position.lift({lineNumber:S.range.startLineNumber,column:S.range.startColumn});this.editor.setPosition(L),this.editor.revealPositionInCenterIfOutsideViewport(L)}async clear(S=!0){const L=this._currentEdit.get();L&&L?.rejected&&S&&await this._commandService.executeCommand(L.rejected.id,...L.rejected.arguments||[]).then(void 0,l.onUnexpectedExternalError),L&&this.freeEdit(L),this._currentEdit.set(void 0,void 0)}freeEdit(S){const L=this.editor.getModel();if(!L)return;const D=this.languageFeaturesService.inlineEditProvider.all(L);D.length!==0&&D[0].freeInlineEdit(S)}};e.InlineEditController=h,e.InlineEditController=h=f=ke([ce(1,b.IInstantiationService),ce(2,_.IContextKeyService),ce(3,n.ILanguageFeaturesService),ce(4,i.ICommandService),ce(5,c.IConfigurationService),ce(6,u.IDiffProviderFactoryService),ce(7,C.IModelService)],h);function v(w,S){return new Promise(L=>{let D;const T=setTimeout(()=>{D&&D.dispose(),L()},w);S&&(D=S.onCancellationRequested(()=>{clearTimeout(T),D&&D.dispose(),L()}))})}}),define(ne[830],se([1,0,15,20,618,425,29,12]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RejectInlineEdit=e.JumpBackInlineEdit=e.JumpToInlineEdit=e.TriggerInlineEdit=e.AcceptInlineEdit=void 0;class _ extends d.EditorAction{constructor(){super({id:I.inlineEditAcceptId,label:\"Accept Inline Edit\",alias:\"Accept Inline Edit\",precondition:m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.inlineEditVisibleContext,E.InlineEditController.cursorAtInlineEditContext)}],menuOpts:[{menuId:y.MenuId.InlineEditToolbar,title:\"Accept\",group:\"primary\",order:1}]})}async run(i,s){await E.InlineEditController.get(s)?.accept()}}e.AcceptInlineEdit=_;class b extends d.EditorAction{constructor(){const i=m.ContextKeyExpr.and(k.EditorContextKeys.writable,m.ContextKeyExpr.not(E.InlineEditController.inlineEditVisibleKey));super({id:\"editor.action.inlineEdit.trigger\",label:\"Trigger Inline Edit\",alias:\"Trigger Inline Edit\",precondition:i,kbOpts:{weight:101,primary:2646,kbExpr:i}})}async run(i,s){E.InlineEditController.get(s)?.trigger()}}e.TriggerInlineEdit=b;class p extends d.EditorAction{constructor(){const i=m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.inlineEditVisibleContext,m.ContextKeyExpr.not(E.InlineEditController.cursorAtInlineEditKey));super({id:I.inlineEditJumpToId,label:\"Jump to Inline Edit\",alias:\"Jump to Inline Edit\",precondition:i,kbOpts:{weight:101,primary:2646,kbExpr:i},menuOpts:[{menuId:y.MenuId.InlineEditToolbar,title:\"Jump To Edit\",group:\"primary\",order:3,when:i}]})}async run(i,s){E.InlineEditController.get(s)?.jumpToCurrent()}}e.JumpToInlineEdit=p;class n extends d.EditorAction{constructor(){const i=m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.cursorAtInlineEditContext);super({id:I.inlineEditJumpBackId,label:\"Jump Back from Inline Edit\",alias:\"Jump Back from Inline Edit\",precondition:i,kbOpts:{weight:110,primary:2646,kbExpr:i},menuOpts:[{menuId:y.MenuId.InlineEditToolbar,title:\"Jump Back\",group:\"primary\",order:3,when:i}]})}async run(i,s){E.InlineEditController.get(s)?.jumpBack()}}e.JumpBackInlineEdit=n;class o extends d.EditorAction{constructor(){const i=m.ContextKeyExpr.and(k.EditorContextKeys.writable,E.InlineEditController.inlineEditVisibleContext);super({id:I.inlineEditRejectId,label:\"Reject Inline Edit\",alias:\"Reject Inline Edit\",precondition:i,kbOpts:{weight:100,primary:9,kbExpr:i},menuOpts:[{menuId:y.MenuId.InlineEditToolbar,title:\"Reject\",group:\"secondary\",order:2}]})}async run(i,s){await E.InlineEditController.get(s)?.clear()}}e.RejectInlineEdit=o}),define(ne[831],se([1,0,15,830,425]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,d.registerEditorAction)(k.AcceptInlineEdit),(0,d.registerEditorAction)(k.RejectInlineEdit),(0,d.registerEditorAction)(k.JumpToInlineEdit),(0,d.registerEditorAction)(k.JumpBackInlineEdit),(0,d.registerEditorAction)(k.TriggerInlineEdit),(0,d.registerEditorContribution)(I.InlineEditController.ID,I.InlineEditController,3)}),define(ne[290],se([1,0,5,14,26,2,11,30,4,35,7,522]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineProgressManager=void 0;const n=b.ModelDecorationOptions.register({description:\"inline-progress-widget\",stickiness:1,showIfCollapsed:!0,after:{content:y.noBreakWhitespace,inlineClassName:\"inline-editor-progress-decoration\",inlineClassNameAffectsLetterSpacing:!0}});class o extends E.Disposable{static{this.baseId=\"editor.widget.inlineProgressWidget\"}constructor(s,g,c,l,a){super(),this.typeId=s,this.editor=g,this.range=c,this.delegate=a,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(l),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(s){this.domNode=d.$(\".inline-progress-widget\"),this.domNode.role=\"button\",this.domNode.title=s;const g=d.$(\"span.icon\");this.domNode.append(g),g.classList.add(...m.ThemeIcon.asClassNameArray(I.Codicon.loading),\"codicon-modifier-spin\");const c=()=>{const l=this.editor.getOption(67);this.domNode.style.height=`${l}px`,this.domNode.style.width=`${Math.ceil(.8*l)}px`};c(),this._register(this.editor.onDidChangeConfiguration(l=>{(l.hasChanged(52)||l.hasChanged(67))&&c()})),this._register(d.addDisposableListener(this.domNode,d.EventType.CLICK,l=>{this.delegate.cancel()}))}getId(){return o.baseId+\".\"+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}let t=class extends E.Disposable{constructor(s,g,c){super(),this.id=s,this._editor=g,this._instantiationService=c,this._showDelay=500,this._showPromise=this._register(new E.MutableDisposable),this._currentWidget=this._register(new E.MutableDisposable),this._operationIdPool=0,this._currentDecorations=g.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(s,g,c,l,a){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=(0,k.disposableTimeout)(()=>{const u=_.Range.fromPositions(s);this._currentDecorations.set([{range:u,options:n}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(o,this.id,this._editor,u,g,l))},a??this._showDelay);try{return await c}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};e.InlineProgressManager=t,e.InlineProgressManager=t=ke([ce(2,p.IInstantiationService)],t)}),define(ne[832],se([1,0,13,14,194,91,2,400,4,17,327,678,122,290,3,28,12,399,7,268,396]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){\"use strict\";var u;Object.defineProperty(e,\"__esModule\",{value:!0}),e.DropIntoEditorController=e.dropWidgetVisibleCtx=e.changeDropTypeCommandId=e.defaultProviderConfig=void 0,e.defaultProviderConfig=\"editor.experimental.dropIntoEditor.defaultProvider\",e.changeDropTypeCommandId=\"editor.changeDropType\",e.dropWidgetVisibleCtx=new g.RawContextKey(\"dropWidgetVisible\",!1,(0,i.localize)(842,\"Whether the drop widget is showing\"));let C=class extends y.Disposable{static{u=this}static{this.ID=\"editor.contrib.dropIntoEditorController\"}static get(h){return h.getContribution(u.ID)}constructor(h,v,w,S,L){super(),this._configService=w,this._languageFeaturesService=S,this._treeViewsDragAndDropService=L,this.treeItemsTransfer=c.LocalSelectionTransfer.getInstance(),this._dropProgressManager=this._register(v.createInstance(t.InlineProgressManager,\"dropIntoEditor\",h)),this._postDropWidgetManager=this._register(v.createInstance(r.PostEditWidgetManager,\"dropIntoEditor\",h,e.dropWidgetVisibleCtx,{id:e.changeDropTypeCommandId,label:(0,i.localize)(843,\"Show drop options...\")})),this._register(h.onDropIntoEditor(D=>this.onDropIntoEditor(h,D.position,D.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(h,v,w){if(!w.dataTransfer||!h.hasModel())return;this._currentOperation?.cancel(),h.focus(),h.setPosition(v);const S=(0,k.createCancelablePromise)(async L=>{const D=new y.DisposableStore,T=D.add(new o.EditorStateCancellationTokenSource(h,1,void 0,L));try{const M=await this.extractDataTransferData(w);if(M.size===0||T.token.isCancellationRequested)return;const A=h.getModel();if(!A)return;const P=this._languageFeaturesService.documentDropEditProvider.ordered(A).filter(O=>O.dropMimeTypes?O.dropMimeTypes.some(F=>M.matches(F)):!0),N=D.add(await this.getDropEdits(P,A,v,M,T));if(T.token.isCancellationRequested)return;if(N.edits.length){const O=this.getInitialActiveEditIndex(A,N.edits),F=h.getOption(36).showDropSelector===\"afterDrop\";await this._postDropWidgetManager.applyEditAndShowIfNeeded([_.Range.fromPositions(v)],{activeEditIndex:O,allEdits:N.edits},F,async x=>x,L)}}finally{D.dispose(),this._currentOperation===S&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(v,(0,i.localize)(844,\"Running drop handlers. Click to cancel\"),S,{cancel:()=>S.cancel()}),this._currentOperation=S}async getDropEdits(h,v,w,S,L){const D=new y.DisposableStore,T=await(0,k.raceCancellation)(Promise.all(h.map(async A=>{try{const P=await A.provideDocumentDropEdits(v,w,S,L.token);return P&&D.add(P),P?.edits.map(N=>({...N,providerId:A.id}))}catch(P){console.error(P)}})),L.token),M=(0,d.coalesce)(T??[]).flat();return{edits:(0,a.sortEditsByYieldTo)(M),dispose:()=>D.dispose()}}getInitialActiveEditIndex(h,v){const w=this._configService.getValue(e.defaultProviderConfig,{resource:h.uri});for(const[S,L]of Object.entries(w)){const D=new E.HierarchicalKind(L),T=v.findIndex(M=>D.value===M.providerId&&M.handledMimeType&&(0,I.matchesMimeType)(S,[M.handledMimeType]));if(T>=0)return T}return 0}async extractDataTransferData(h){if(!h.dataTransfer)return new I.VSDataTransfer;const v=(0,m.toExternalVSDataTransfer)(h.dataTransfer);if(this.treeItemsTransfer.hasData(p.DraggedTreeItemsIdentifier.prototype)){const w=this.treeItemsTransfer.getData(p.DraggedTreeItemsIdentifier.prototype);if(Array.isArray(w))for(const S of w){const L=await this._treeViewsDragAndDropService.removeDragOperationTransfer(S.identifier);if(L)for(const[D,T]of L)v.replace(D,T)}}return v}};e.DropIntoEditorController=C,e.DropIntoEditorController=C=u=ke([ce(1,l.IInstantiationService),ce(2,s.IConfigurationService),ce(3,b.ILanguageFeaturesService),ce(4,n.ITreeViewsDnDService)],C)}),define(ne[833],se([1,0,13,14,18,33,8,6,2,11,22,15,34,9,4,20,35,36,3,12,17,32,79,54,523]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){\"use strict\";var h;Object.defineProperty(e,\"__esModule\",{value:!0}),e.editorLinkedEditingBackground=e.LinkedEditingAction=e.LinkedEditingContribution=e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=void 0,e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=new a.RawContextKey(\"LinkedEditingInputVisible\",!1);const v=\"linked-editing-decoration\";let w=class extends _.Disposable{static{h=this}static{this.ID=\"editor.contrib.linkedEditing\"}static{this.DECORATION=g.ModelDecorationOptions.register({description:\"linked-editing\",stickiness:0,className:v})}static get(M){return M.getContribution(h.ID)}constructor(M,A,P,N,O){super(),this.languageConfigurationService=N,this._syncRangesToken=0,this._localToDispose=this._register(new _.DisposableStore),this._editor=M,this._providers=P.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE.bindTo(A),this._debounceInformation=O.for(this._providers,\"Linked Editing\",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new _.DisposableStore),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(F=>{(F.hasChanged(70)||F.hasChanged(94))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(M){const A=this._editor.getModel(),P=A!==null&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(A);if(P===this._enabled&&!M||(this._enabled=P,this.clearRanges(),this._localToDispose.clear(),!P||A===null))return;this._localToDispose.add(m.Event.runAndSubscribe(A.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(A.getLanguageId()).getWordDefinition()}));const N=new k.Delayer(this._debounceInformation.get(A)),O=()=>{this._rangeUpdateTriggerPromise=N.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(A))},F=new k.Delayer(0),x=W=>{this._rangeSyncTriggerPromise=F.trigger(()=>this._syncRanges(W))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{O()})),this._localToDispose.add(this._editor.onDidChangeModelContent(W=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const V=this._currentDecorations.getRange(0);if(V&&W.changes.every(q=>V.intersectRanges(q.range))){x(this._syncRangesToken);return}}O()})),this._localToDispose.add({dispose:()=>{N.dispose(),F.dispose()}}),this.updateRanges()}_syncRanges(M){if(!this._editor.hasModel()||M!==this._syncRangesToken||this._currentDecorations.length===0)return;const A=this._editor.getModel(),P=this._currentDecorations.getRange(0);if(!P||P.startLineNumber!==P.endLineNumber)return this.clearRanges();const N=A.getValueInRange(P);if(this._currentWordPattern){const F=N.match(this._currentWordPattern);if((F?F[0].length:0)!==N.length)return this.clearRanges()}const O=[];for(let F=1,x=this._currentDecorations.length;F<x;F++){const W=this._currentDecorations.getRange(F);if(W)if(W.startLineNumber!==W.endLineNumber)O.push({range:W,text:N});else{let V=A.getValueInRange(W),q=N,H=W.startColumn,z=W.endColumn;const U=b.commonPrefixLength(V,q);H+=U,V=V.substr(U),q=q.substr(U);const j=b.commonSuffixLength(V,q);z-=j,V=V.substr(0,V.length-j),q=q.substr(0,q.length-j),(H!==z||q.length!==0)&&O.push({range:new i.Range(W.startLineNumber,H,W.endLineNumber,z),text:q})}}if(O.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const F=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits(\"linkedEditing\",O),this._editor._getViewModel().setPrevEditOperationType(F)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(M=!1){if(!this._editor.hasModel()){this.clearRanges();return}const A=this._editor.getPosition();if(!this._enabled&&!M||this._editor.getSelections().length>1){this.clearRanges();return}const P=this._editor.getModel(),N=P.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===N){if(A.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const F=this._currentDecorations.getRange(0);if(F&&F.containsPosition(A))return}}this.clearRanges(),this._currentRequestPosition=A,this._currentRequestModelVersion=N;const O=this._currentRequestCts=new I.CancellationTokenSource;try{const F=new f.StopWatch(!1),x=await D(this._providers,P,A,O.token);if(this._debounceInformation.update(P,F.elapsed()),O!==this._currentRequestCts||(this._currentRequestCts=null,N!==P.getVersionId()))return;let W=[];x?.ranges&&(W=x.ranges),this._currentWordPattern=x?.wordPattern||this._languageWordPattern;let V=!1;for(let H=0,z=W.length;H<z;H++)if(i.Range.containsPosition(W[H],A)){if(V=!0,H!==0){const U=W[H];W.splice(H,1),W.unshift(U)}break}if(!V){this.clearRanges();return}const q=W.map(H=>({range:H,options:h.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(q),this._syncRangesToken++}catch(F){(0,y.isCancellationError)(F)||(0,y.onUnexpectedError)(F),(this._currentRequestCts===O||!this._currentRequestCts)&&this.clearRanges()}}};e.LinkedEditingContribution=w,e.LinkedEditingContribution=w=h=ke([ce(1,a.IContextKeyService),ce(2,r.ILanguageFeaturesService),ce(3,c.ILanguageConfigurationService),ce(4,C.ILanguageFeatureDebounceService)],w);class S extends n.EditorAction{constructor(){super({id:\"editor.action.linkedEditing\",label:l.localize(1136,\"Start Linked Editing\"),alias:\"Start Linked Editing\",precondition:a.ContextKeyExpr.and(s.EditorContextKeys.writable,s.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:3132,weight:100}})}runCommand(M,A){const P=M.get(o.ICodeEditorService),[N,O]=Array.isArray(A)&&A||[void 0,void 0];return p.URI.isUri(N)&&t.Position.isIPosition(O)?P.openCodeEditor({resource:N},P.getActiveCodeEditor()).then(F=>{F&&(F.setPosition(O),F.invokeWithinContext(x=>(this.reportTelemetry(x,F),this.run(x,F))))},y.onUnexpectedError):super.runCommand(M,A)}run(M,A){const P=w.get(A);return P?Promise.resolve(P.updateRanges(!0)):Promise.resolve()}}e.LinkedEditingAction=S;const L=n.EditorCommand.bindToContribution(w.get);(0,n.registerEditorCommand)(new L({id:\"cancelLinkedEditingInput\",precondition:e.CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE,handler:T=>T.clearRanges(),kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function D(T,M,A,P){const N=T.ordered(M);return(0,k.first)(N.map(O=>async()=>{try{return await O.provideLinkedEditingRanges(M,A,P)}catch(F){(0,y.onUnexpectedExternalError)(F);return}}),O=>!!O&&d.isNonEmptyArray(O?.ranges))}e.editorLinkedEditingBackground=(0,u.registerColor)(\"editor.linkedEditingBackground\",{dark:E.Color.fromHex(\"#f00\").transparent(.3),light:E.Color.fromHex(\"#f00\").transparent(.3),hcDark:E.Color.fromHex(\"#f00\").transparent(.3),hcLight:E.Color.white},l.localize(1137,\"Background color when the editor auto renames on type.\")),(0,n.registerModelAndPositionCommand)(\"_executeLinkedEditingProvider\",(T,M,A)=>{const{linkedEditingRangeProvider:P}=T.get(r.ILanguageFeaturesService);return D(P,M,A,I.CancellationToken.None)}),(0,n.registerEditorContribution)(w.ID,w,1),(0,n.registerEditorAction)(S)}),define(ne[834],se([1,0,14,18,8,57,2,42,16,48,54,22,15,35,79,17,209,681,3,50,59,524]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r){\"use strict\";var u;Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinkDetector=void 0;let C=class extends y.Disposable{static{u=this}static{this.ID=\"editor.linkDetector\"}static get(L){return L.getContribution(u.ID)}constructor(L,D,T,M,A){super(),this.editor=L,this.openerService=D,this.notificationService=T,this.languageFeaturesService=M,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=A.for(this.providers,\"Links\",{min:1e3,max:4e3}),this.computeLinks=this._register(new d.RunOnceScheduler(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const P=this._register(new g.ClickLinkGesture(L));this._register(P.onMouseMoveOrRelevantKeyDown(([N,O])=>{this._onEditorMouseMove(N,O)})),this._register(P.onExecute(N=>{this.onEditorMouseUp(N)})),this._register(P.onCancel(N=>{this.cleanUpActiveLinkDecoration()})),this._register(L.onDidChangeConfiguration(N=>{N.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(L.onDidChangeModelContent(N=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(L.onDidChangeModel(N=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(L.onDidChangeModelLanguage(N=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(N=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const L=this.editor.getModel();if(!L.isTooLargeForSyncing()&&this.providers.has(L)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=(0,d.createCancelablePromise)(D=>(0,c.getLinks)(this.providers,L,D));try{const D=new p.StopWatch(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(L,D.elapsed()),L.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(D){(0,I.onUnexpectedError)(D)}finally{this.computePromise=null}}}updateDecorations(L){const D=this.editor.getOption(78)===\"altKey\",T=[],M=Object.keys(this.currentOccurrences);for(const P of M){const N=this.currentOccurrences[P];T.push(N.decorationId)}const A=[];if(L)for(const P of L)A.push(h.decoration(P,D));this.editor.changeDecorations(P=>{const N=P.deltaDecorations(T,A);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let O=0,F=N.length;O<F;O++){const x=new h(L[O],N[O]);this.currentOccurrences[x.decorationId]=x}})}_onEditorMouseMove(L,D){const T=this.editor.getOption(78)===\"altKey\";if(this.isEnabled(L,D)){this.cleanUpActiveLinkDecoration();const M=this.getLinkOccurrence(L.target.position);M&&this.editor.changeDecorations(A=>{M.activate(A,T),this.activeLinkDecorationId=M.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const L=this.editor.getOption(78)===\"altKey\";if(this.activeLinkDecorationId){const D=this.currentOccurrences[this.activeLinkDecorationId];D&&this.editor.changeDecorations(T=>{D.deactivate(T,L)}),this.activeLinkDecorationId=null}}onEditorMouseUp(L){if(!this.isEnabled(L))return;const D=this.getLinkOccurrence(L.target.position);D&&this.openLinkOccurrence(D,L.hasSideBySideModifier,!0)}openLinkOccurrence(L,D,T=!1){if(!this.openerService)return;const{link:M}=L;M.resolve(k.CancellationToken.None).then(A=>{if(typeof A==\"string\"&&this.editor.hasModel()){const P=this.editor.getModel().uri;if(P.scheme===m.Schemas.file&&A.startsWith(`${m.Schemas.file}:`)){const N=n.URI.parse(A);if(N.scheme===m.Schemas.file){const O=b.originalFSPath(N);let F=null;O.startsWith(\"/./\")||O.startsWith(\"\\\\.\\\\\")?F=`.${O.substr(1)}`:(O.startsWith(\"//./\")||O.startsWith(\"\\\\\\\\.\\\\\"))&&(F=`.${O.substr(2)}`),F&&(A=b.joinPath(P,F))}}}return this.openerService.open(A,{openToSide:D,fromUserGesture:T,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},A=>{const P=A instanceof Error?A.message:A;P===\"invalid\"?this.notificationService.warn(l.localize(1138,\"Failed to open this link because it is not well-formed: {0}\",M.url.toString())):P===\"missing\"?this.notificationService.warn(l.localize(1139,\"Failed to open this link because its target is missing.\")):(0,I.onUnexpectedError)(A)})}getLinkOccurrence(L){if(!this.editor.hasModel()||!L)return null;const D=this.editor.getModel().getDecorationsInRange({startLineNumber:L.lineNumber,startColumn:L.column,endLineNumber:L.lineNumber,endColumn:L.column},0,!0);for(const T of D){const M=this.currentOccurrences[T.id];if(M)return M}return null}isEnabled(L,D){return!!(L.target.type===6&&(L.hasTriggerModifier||D&&D.keyCodeIsTriggerKey))}stop(){this.computeLinks.cancel(),this.activeLinksList&&(this.activeLinksList?.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};e.LinkDetector=C,e.LinkDetector=C=u=ke([ce(1,r.IOpenerService),ce(2,a.INotificationService),ce(3,s.ILanguageFeaturesService),ce(4,i.ILanguageFeatureDebounceService)],C);const f={general:t.ModelDecorationOptions.register({description:\"detected-link\",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:\"detected-link\"}),active:t.ModelDecorationOptions.register({description:\"detected-link-active\",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:\"detected-link-active\"})};class h{static decoration(L,D){return{range:L.range,options:h._getOptions(L,D,!1)}}static _getOptions(L,D,T){const M={...T?f.active:f.general};return M.hoverMessage=v(L,D),M}constructor(L,D){this.link=L,this.decorationId=D}activate(L,D){L.changeDecorationOptions(this.decorationId,h._getOptions(this.link,D,!0))}deactivate(L,D){L.changeDecorationOptions(this.decorationId,h._getOptions(this.link,D,!1))}}function v(S,L){const D=S.url&&/^command:/i.test(S.url.toString()),T=S.tooltip?S.tooltip:D?l.localize(1140,\"Execute command\"):l.localize(1141,\"Follow link\"),M=L?_.isMacintosh?l.localize(1142,\"cmd + click\"):l.localize(1143,\"ctrl + click\"):_.isMacintosh?l.localize(1144,\"option + click\"):l.localize(1145,\"alt + click\");if(S.url){let A=\"\";if(/^command:/i.test(S.url.toString())){const N=S.url.toString().match(/^command:([^?#]+)/);if(N){const O=N[1];A=l.localize(1146,\"Execute command {0}\",O)}}return new E.MarkdownString(\"\",!0).appendLink(S.url.toString(!0).replace(/ /g,\"%20\"),T,A).appendMarkdown(` (${M})`)}else return new E.MarkdownString().appendText(`${T} (${M})`)}class w extends o.EditorAction{constructor(){super({id:\"editor.action.openLink\",label:l.localize(1147,\"Open Link\"),alias:\"Open Link\",precondition:void 0})}run(L,D){const T=C.get(D);if(!T||!D.hasModel())return;const M=D.getSelections();for(const A of M){const P=T.getLinkOccurrence(A.getEndPosition());P&&T.openLinkOccurrence(P,!1)}}}(0,o.registerEditorContribution)(C.ID,C,1),(0,o.registerEditorAction)(w)}),define(ne[835],se([1,0,14,2,15,36,35,100]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SectionHeaderDetector=void 0;let _=class extends k.Disposable{static{this.ID=\"editor.sectionHeaderDetector\"}constructor(n,o,t){super(),this.editor=n,this.languageConfigurationService=o,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(n.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(n.onDidChangeModel(i=>{this.currentOccurrences={},this.options=this.createOptions(n.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(n.onDidChangeModelLanguage(i=>{this.currentOccurrences={},this.options=this.createOptions(n.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(o.onDidChange(i=>{const s=this.editor.getModel()?.getLanguageId();s&&i.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(n.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(n.onDidChangeConfiguration(i=>{this.options&&!i.hasChanged(73)||(this.options=this.createOptions(n.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(i=>{this.computeSectionHeaders.schedule()})),this._register(n.onDidChangeModelTokens(i=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new d.RunOnceScheduler(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(n){if(!n||!this.editor.hasModel())return;const o=this.editor.getModel().getLanguageId();if(!o)return;const t=this.languageConfigurationService.getLanguageConfiguration(o).comments,i=this.languageConfigurationService.getLanguageConfiguration(o).foldingRules;if(!(!t&&!i?.markers))return{foldingRules:i,findMarkSectionHeaders:n.showMarkSectionHeaders,findRegionSectionHeaders:n.showRegionSectionHeaders}}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;const n=this.editor.getModel();if(n.isDisposed()||n.isTooLargeForSyncing())return;const o=n.getVersionId();this.editorWorkerService.findSectionHeaders(n.uri,this.options).then(t=>{n.isDisposed()||n.getVersionId()!==o||this.updateDecorations(t)})}updateDecorations(n){const o=this.editor.getModel();o&&(n=n.filter(s=>{if(!s.shouldBeInComments)return!0;const g=o.validateRange(s.range),c=o.tokenization.getLineTokens(g.startLineNumber),l=c.findTokenIndexAtOffset(g.startColumn-1),a=c.getStandardTokenType(l);return c.getLanguageId(l)===o.getLanguageId()&&a===1}));const t=Object.values(this.currentOccurrences).map(s=>s.decorationId),i=n.map(s=>b(s));this.editor.changeDecorations(s=>{const g=s.deltaDecorations(t,i);this.currentOccurrences={};for(let c=0,l=g.length;c<l;c++){const a={sectionHeader:n[c],decorationId:g[c]};this.currentOccurrences[a.decorationId]=a}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}};e.SectionHeaderDetector=_,e.SectionHeaderDetector=_=ke([ce(1,E.ILanguageConfigurationService),ce(2,m.IEditorWorkerService)],_);function b(p){return{range:p.range,options:y.ModelDecorationOptions.createDynamic({description:\"section-header\",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:p.hasSeparatorLine?2:1,sectionHeaderText:p.text}})}}(0,I.registerEditorContribution)(_.ID,_,1)}),define(ne[836],se([1,0,2,17,182,14,289,336,335,36,8,341,53,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StickyModelProvider=void 0;var i;(function(C){C.OUTLINE_MODEL=\"outlineModel\",C.FOLDING_PROVIDER_MODEL=\"foldingProviderModel\",C.INDENTATION_MODEL=\"indentationModel\"})(i||(i={}));var s;(function(C){C[C.VALID=0]=\"VALID\",C[C.INVALID=1]=\"INVALID\",C[C.CANCELED=2]=\"CANCELED\"})(s||(s={}));let g=class extends d.Disposable{constructor(f,h,v,w){switch(super(),this._editor=f,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new E.Delayer(300)),this._updateOperation=this._register(new d.DisposableStore),this._editor.getOption(116).defaultModel){case i.OUTLINE_MODEL:this._modelProviders.push(new l(this._editor,w));case i.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new u(this._editor,h,w));case i.INDENTATION_MODEL:this._modelProviders.push(new r(this._editor,v));break}}dispose(){this._modelProviders.forEach(f=>f.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(f){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const h of this._modelProviders){const{statusPromise:v,modelPromise:w}=h.computeStickyModel(f);this._modelPromise=w;const S=await v;if(this._modelPromise!==w)return null;switch(S){case s.CANCELED:return this._updateOperation.clear(),null;case s.VALID:return h.stickyModel}}return null}).catch(h=>((0,p.onUnexpectedError)(h),null))}};e.StickyModelProvider=g,e.StickyModelProvider=g=ke([ce(2,t.IInstantiationService),ce(3,k.ILanguageFeaturesService)],g);class c extends d.Disposable{constructor(f){super(),this._editor=f,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,s.INVALID}computeStickyModel(f){if(f.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const h=(0,E.createCancelablePromise)(v=>this.createModelFromProvider(v));return{statusPromise:h.then(v=>this.isModelValid(v)?f.isCancellationRequested?s.CANCELED:(this._stickyModel=this.createStickyModel(f,v),s.VALID):this._invalid()).then(void 0,v=>((0,p.onUnexpectedError)(v),s.CANCELED)),modelPromise:h}}isModelValid(f){return!0}isProviderValid(){return!0}}let l=class extends c{constructor(f,h){super(f),this._languageFeaturesService=h}createModelFromProvider(f){return I.OutlineModel.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),f)}createStickyModel(f,h){const{stickyOutlineElement:v,providerID:w}=this._stickyModelFromOutlineModel(h,this._stickyModel?.outlineProviderId),S=this._editor.getModel();return new n.StickyModel(S.uri,S.getVersionId(),v,w)}isModelValid(f){return f&&f.children.size>0}_stickyModelFromOutlineModel(f,h){let v;if(o.Iterable.first(f.children.values())instanceof I.OutlineGroup){const D=o.Iterable.find(f.children.values(),T=>T.id===h);if(D)v=D.children;else{let T=\"\",M=-1,A;for(const[P,N]of f.children.entries()){const O=this._findSumOfRangesOfGroup(N);O>M&&(A=N,M=O,T=N.id)}h=T,v=A.children}}else v=f.children;const w=[],S=Array.from(v.values()).sort((D,T)=>{const M=new n.StickyRange(D.symbol.range.startLineNumber,D.symbol.range.endLineNumber),A=new n.StickyRange(T.symbol.range.startLineNumber,T.symbol.range.endLineNumber);return this._comparator(M,A)});for(const D of S)w.push(this._stickyModelFromOutlineElement(D,D.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new n.StickyElement(void 0,w,void 0),providerID:h}}_stickyModelFromOutlineElement(f,h){const v=[];for(const S of f.children.values())if(S.symbol.selectionRange.startLineNumber!==S.symbol.range.endLineNumber)if(S.symbol.selectionRange.startLineNumber!==h)v.push(this._stickyModelFromOutlineElement(S,S.symbol.selectionRange.startLineNumber));else for(const L of S.children.values())v.push(this._stickyModelFromOutlineElement(L,S.symbol.selectionRange.startLineNumber));v.sort((S,L)=>this._comparator(S.range,L.range));const w=new n.StickyRange(f.symbol.selectionRange.startLineNumber,f.symbol.range.endLineNumber);return new n.StickyElement(w,v,void 0)}_comparator(f,h){return f.startLineNumber!==h.startLineNumber?f.startLineNumber-h.startLineNumber:h.endLineNumber-f.endLineNumber}_findSumOfRangesOfGroup(f){let h=0;for(const v of f.children.values())h+=this._findSumOfRangesOfGroup(v);return f instanceof I.OutlineElement?h+f.symbol.range.endLineNumber-f.symbol.selectionRange.startLineNumber:h}};l=ke([ce(1,k.ILanguageFeaturesService)],l);class a extends c{constructor(f){super(f),this._foldingLimitReporter=new y.RangesLimitReporter(f)}createStickyModel(f,h){const v=this._fromFoldingRegions(h),w=this._editor.getModel();return new n.StickyModel(w.uri,w.getVersionId(),v,void 0)}isModelValid(f){return f!==null}_fromFoldingRegions(f){const h=f.length,v=[],w=new n.StickyElement(void 0,[],void 0);for(let S=0;S<h;S++){const L=f.getParentIndex(S);let D;L!==-1?D=v[L]:D=w;const T=new n.StickyElement(new n.StickyRange(f.getStartLineNumber(S),f.getEndLineNumber(S)+1),[],D);D.children.push(T),v.push(T)}return w}}let r=class extends a{constructor(f,h){super(f),this._languageConfigurationService=h,this.provider=this._register(new _.IndentRangeProvider(f.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(f){return this.provider.compute(f)}};r=ke([ce(1,b.ILanguageConfigurationService)],r);let u=class extends a{constructor(f,h,v){super(f),this._languageFeaturesService=v;const w=y.FoldingController.getFoldingRangeProviders(this._languageFeaturesService,f.getModel());w.length>0&&(this.provider=this._register(new m.SyntaxRangeProvider(f.getModel(),w,h,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(f){return this.provider?.compute(f)??null}};u=ke([ce(2,k.ILanguageFeaturesService)],u)}),define(ne[837],se([1,0,2,17,18,14,13,6,36,836]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StickyLineCandidateProvider=e.StickyLineCandidate=void 0;class p{constructor(t,i,s){this.startLineNumber=t,this.endLineNumber=i,this.nestingDepth=s}}e.StickyLineCandidate=p;let n=class extends d.Disposable{constructor(t,i,s){super(),this._languageFeaturesService=i,this._languageConfigurationService=s,this._onDidChangeStickyScroll=this._register(new m.Emitter),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=t,this._sessionStore=this._register(new d.DisposableStore),this._updateSoon=this._register(new E.RunOnceScheduler(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(g=>{g.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add((0,d.toDisposable)(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null;const t=this._editor;t.hasModel()&&(this._stickyModelProvider=new b.StickyModelProvider(t,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new I.CancellationTokenSource,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(t){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const i=await this._stickyModelProvider.update(t);t.isCancellationRequested||(this._model=i)}updateIndex(t){return t===-1?t=0:t<0&&(t=-t-2),t}getCandidateStickyLinesIntersectingFromStickyModel(t,i,s,g,c){if(i.children.length===0)return;let l=c;const a=[];for(let C=0;C<i.children.length;C++){const f=i.children[C];f.range&&a.push(f.range.startLineNumber)}const r=this.updateIndex((0,y.binarySearch)(a,t.startLineNumber,(C,f)=>C-f)),u=this.updateIndex((0,y.binarySearch)(a,t.startLineNumber+g,(C,f)=>C-f));for(let C=r;C<=u;C++){const f=i.children[C];if(!f)return;if(f.range){const h=f.range.startLineNumber,v=f.range.endLineNumber;t.startLineNumber<=v+1&&h-1<=t.endLineNumber&&h!==l&&(l=h,s.push(new p(h,v-1,g+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(t,f,s,g+1,h))}else this.getCandidateStickyLinesIntersectingFromStickyModel(t,f,s,g,c)}}getCandidateStickyLinesIntersecting(t){if(!this._model?.element)return[];let i=[];this.getCandidateStickyLinesIntersectingFromStickyModel(t,this._model.element,i,0,-1);const s=this._editor._getViewModel()?.getHiddenAreas();if(s)for(const g of s)i=i.filter(c=>!(c.startLineNumber>=g.startLineNumber&&c.endLineNumber<=g.endLineNumber+1));return i}};e.StickyLineCandidateProvider=n,e.StickyLineCandidateProvider=n=ke([ce(1,k.ILanguageFeaturesService),ce(2,_.ILanguageConfigurationService)],n)}),define(ne[838],se([1,0,5,103,13,2,30,281,125,9,116,150,136,424,531]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StickyScrollWidget=e.StickyScrollWidgetState=void 0;class i{constructor(h,v,w,S=null){this.startLineNumbers=h,this.endLineNumbers=v,this.lastLineRelativePosition=w,this.showEndForLine=S}equals(h){return!!h&&this.lastLineRelativePosition===h.lastLineRelativePosition&&this.showEndForLine===h.showEndForLine&&(0,I.equals)(this.startLineNumbers,h.startLineNumbers)&&(0,I.equals)(this.endLineNumbers,h.endLineNumbers)}static get Empty(){return new i([],[],0)}}e.StickyScrollWidgetState=i;const s=(0,k.createTrustedTypesPolicy)(\"stickyScrollViewLayer\",{createHTML:f=>f}),g=\"data-sticky-line-index\",c=\"data-sticky-is-line\",l=\"data-sticky-is-line-number\",a=\"data-sticky-is-folding-icon\";class r extends E.Disposable{constructor(h){super(),this._editor=h,this._foldingIconStore=new E.DisposableStore,this._rootDomNode=document.createElement(\"div\"),this._lineNumbersDomNode=document.createElement(\"div\"),this._linesDomNodeScrollable=document.createElement(\"div\"),this._linesDomNode=document.createElement(\"div\"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className=\"sticky-widget-line-numbers\",this._lineNumbersDomNode.setAttribute(\"role\",\"none\"),this._linesDomNode.className=\"sticky-widget-lines\",this._linesDomNode.setAttribute(\"role\",\"list\"),this._linesDomNodeScrollable.className=\"sticky-widget-lines-scrollable\",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className=\"sticky-widget\",this._rootDomNode.classList.toggle(\"peek\",h instanceof _.EmbeddedCodeEditorWidget),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const v=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:\"0px\"};this._register(this._editor.onDidChangeConfiguration(w=>{w.hasChanged(116)&&v(),w.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(w=>{w.scrollLeftChanged&&v(),w.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{v(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),v(),this._register(this._editor.onDidLayoutChange(w=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(h){return this._renderedStickyLines.find(v=>v.lineNumber===h)}getCurrentLines(){return this._lineNumbers}setState(h,v,w){if(w===void 0&&(!this._previousState&&!h||this._previousState&&this._previousState.equals(h)))return;const S=this._isWidgetHeightZero(h),L=S?void 0:h,D=S?0:this._findLineToRebuildWidgetFrom(h,w);this._renderRootNode(L,v,D),this._previousState=h}_isWidgetHeightZero(h){if(!h)return!0;const v=h.startLineNumbers.length*this._lineHeight+h.lastLineRelativePosition;if(v>0){this._lastLineRelativePosition=h.lastLineRelativePosition;const w=[...h.startLineNumbers];h.showEndForLine!==null&&(w[h.showEndForLine]=h.endLineNumbers[h.showEndForLine]),this._lineNumbers=w}else this._lastLineRelativePosition=0,this._lineNumbers=[];return v===0}_findLineToRebuildWidgetFrom(h,v){if(!h||!this._previousState)return 0;if(v!==void 0)return v;const w=this._previousState,S=h.startLineNumbers.findIndex(L=>!w.startLineNumbers.includes(L));return S===-1?0:S}_updateWidgetWidth(){const h=this._editor.getLayoutInfo(),v=h.contentLeft;this._lineNumbersDomNode.style.width=`${v}px`,this._linesDomNodeScrollable.style.setProperty(\"--vscode-editorStickyScroll-scrollableWidth\",`${this._editor.getScrollWidth()-h.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${h.width-h.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(h){this._foldingIconStore.clear();for(let v=h;v<this._renderedStickyLines.length;v++){const w=this._renderedStickyLines[v];w.lineNumberDomNode.remove(),w.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,h),this._rootDomNode.style.display=\"none\"}_useFoldingOpacityTransition(h){this._lineNumbersDomNode.style.setProperty(\"--vscode-editorStickyScroll-foldingOpacityTransition\",`opacity ${h?.5:0}s`)}_setFoldingIconsVisibility(h){for(const v of this._renderedStickyLines){const w=v.foldingIcon;w&&w.setVisible(h?!0:w.isCollapsed)}}async _renderRootNode(h,v,w){if(this._clearStickyLinesFromLine(w),!h)return;for(const T of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(T);const S=this._editor.getLayoutInfo(),L=this._lineNumbers.slice(w);for(const[T,M]of L.entries()){const A=this._renderChildNode(T+w,M,v,S);A&&(this._linesDomNode.appendChild(A.lineDomNode),this._lineNumbersDomNode.appendChild(A.lineNumberDomNode),this._renderedStickyLines.push(A))}v&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const D=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display=\"block\",this._lineNumbersDomNode.style.height=`${D}px`,this._linesDomNodeScrollable.style.height=`${D}px`,this._rootDomNode.style.height=`${D}px`,this._rootDomNode.style.marginLeft=\"0px\",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(T=>T.scrollWidth))+S.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)===\"mouseover\"&&(this._foldingIconStore.add(d.addDisposableListener(this._lineNumbersDomNode,d.EventType.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(d.addDisposableListener(this._lineNumbersDomNode,d.EventType.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(h,v,w,S){const L=this._editor._getViewModel();if(!L)return;const D=L.coordinatesConverter.convertModelPositionToViewPosition(new b.Position(v,1)).lineNumber,T=L.getViewLineRenderingData(D),M=this._editor.getOption(68);let A;try{A=n.LineDecoration.filter(T.inlineDecorations,D,T.minColumn,T.maxColumn)}catch{A=[]}const P=new o.RenderLineInput(!0,!0,T.content,T.continuesWithWrappedLine,T.isBasicASCII,T.containsRTL,0,T.tokens,A,T.tabSize,T.startVisibleColumn,1,1,1,500,\"none\",!0,!0,null),N=new p.StringBuilder(2e3),O=(0,o.renderViewLine)(P,N);let F;s?F=s.createHTML(N.build()):F=N.build();const x=document.createElement(\"span\");x.setAttribute(g,String(h)),x.setAttribute(c,\"\"),x.setAttribute(\"role\",\"listitem\"),x.tabIndex=0,x.className=\"sticky-line-content\",x.classList.add(`stickyLine${v}`),x.style.lineHeight=`${this._lineHeight}px`,x.innerHTML=F;const W=document.createElement(\"span\");W.setAttribute(g,String(h)),W.setAttribute(l,\"\"),W.className=\"sticky-line-number\",W.style.lineHeight=`${this._lineHeight}px`;const V=S.contentLeft;W.style.width=`${V}px`;const q=document.createElement(\"span\");M.renderType===1||M.renderType===3&&v%10===0?q.innerText=v.toString():M.renderType===2&&(q.innerText=Math.abs(v-this._editor.getPosition().lineNumber).toString()),q.className=\"sticky-line-number-inner\",q.style.lineHeight=`${this._lineHeight}px`,q.style.width=`${S.lineNumbersWidth}px`,q.style.paddingLeft=`${S.lineNumbersLeft}px`,W.appendChild(q);const H=this._renderFoldingIconForLine(w,v);H&&W.appendChild(H.domNode),this._editor.applyFontInfo(x),this._editor.applyFontInfo(q),W.style.lineHeight=`${this._lineHeight}px`,x.style.lineHeight=`${this._lineHeight}px`,W.style.height=`${this._lineHeight}px`,x.style.height=`${this._lineHeight}px`;const z=new u(h,v,x,W,H,O.characterMapping,x.scrollWidth);return this._updateTopAndZIndexOfStickyLine(z)}_updateTopAndZIndexOfStickyLine(h){const v=h.index,w=h.lineDomNode,S=h.lineNumberDomNode,L=v===this._lineNumbers.length-1,D=\"0\",T=\"1\";w.style.zIndex=L?D:T,S.style.zIndex=L?D:T;const M=`${v*this._lineHeight+this._lastLineRelativePosition+(h.foldingIcon?.isCollapsed?1:0)}px`,A=`${v*this._lineHeight}px`;return w.style.top=L?M:A,S.style.top=L?M:A,h}_renderFoldingIconForLine(h,v){const w=this._editor.getOption(111);if(!h||w===\"never\")return;const S=h.regions,L=S.findRange(v),D=S.getStartLineNumber(L);if(!(v===D))return;const M=S.isCollapsed(L),A=new C(M,D,S.getEndLineNumber(L),this._lineHeight);return A.setVisible(this._isOnGlyphMargin?!0:M||w===\"always\"),A.domNode.setAttribute(a,\"\"),A}getId(){return\"editor.contrib.stickyScrollWidget\"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(h){0<=h&&h<this._renderedStickyLines.length&&this._renderedStickyLines[h].lineDomNode.focus()}getEditorPositionFromNode(h){if(!h||h.children.length>0)return null;const v=this._getRenderedStickyLineFromChildDomNode(h);if(!v)return null;const w=(0,m.getColumnOfNodeOffset)(v.characterMapping,h,0);return new b.Position(v.lineNumber,w)}getLineNumberFromChildDomNode(h){return this._getRenderedStickyLineFromChildDomNode(h)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(h){const v=this.getLineIndexFromChildDomNode(h);return v===null||v<0||v>=this._renderedStickyLines.length?null:this._renderedStickyLines[v]}getLineIndexFromChildDomNode(h){const v=this._getAttributeValue(h,g);return v?parseInt(v,10):null}isInStickyLine(h){return this._getAttributeValue(h,c)!==void 0}isInFoldingIconDomNode(h){return this._getAttributeValue(h,a)!==void 0}_getAttributeValue(h,v){for(;h&&h!==this._rootDomNode;){const w=h.getAttribute(v);if(w!==null)return w;h=h.parentElement}}}e.StickyScrollWidget=r;class u{constructor(h,v,w,S,L,D,T){this.index=h,this.lineNumber=v,this.lineDomNode=w,this.lineNumberDomNode=S,this.foldingIcon=L,this.characterMapping=D,this.scrollWidth=T}}class C{constructor(h,v,w,S){this.isCollapsed=h,this.foldingStartLine=v,this.foldingEndLine=w,this.dimension=S,this.domNode=document.createElement(\"div\"),this.domNode.style.width=`${S}px`,this.domNode.style.height=`${S}px`,this.domNode.className=y.ThemeIcon.asClassName(h?t.foldingCollapsedIcon:t.foldingExpandedIcon)}setVisible(h){this.domNode.style.cursor=h?\"pointer\":\"default\",this.domNode.style.opacity=h?\"1\":\"0\"}}}),define(ne[839],se([1,0,5,115,14,8,6,2,141,11,125,798,3,12,7,101,32,97,25,255,155,402,793,110,46,195,532,280]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h){\"use strict\";var v;Object.defineProperty(e,\"__esModule\",{value:!0}),e.SuggestContentWidget=e.SuggestWidget=e.editorSuggestWidgetSelectedBackground=void 0,(0,g.registerColor)(\"editorSuggestWidget.background\",g.editorWidgetBackground,o.localize(1328,\"Background color of the suggest widget.\")),(0,g.registerColor)(\"editorSuggestWidget.border\",g.editorWidgetBorder,o.localize(1329,\"Border color of the suggest widget.\"));const w=(0,g.registerColor)(\"editorSuggestWidget.foreground\",g.editorForeground,o.localize(1330,\"Foreground color of the suggest widget.\"));(0,g.registerColor)(\"editorSuggestWidget.selectedForeground\",g.quickInputListFocusForeground,o.localize(1331,\"Foreground color of the selected entry in the suggest widget.\")),(0,g.registerColor)(\"editorSuggestWidget.selectedIconForeground\",g.quickInputListFocusIconForeground,o.localize(1332,\"Icon foreground color of the selected entry in the suggest widget.\")),e.editorSuggestWidgetSelectedBackground=(0,g.registerColor)(\"editorSuggestWidget.selectedBackground\",g.quickInputListFocusBackground,o.localize(1333,\"Background color of the selected entry in the suggest widget.\")),(0,g.registerColor)(\"editorSuggestWidget.highlightForeground\",g.listHighlightForeground,o.localize(1334,\"Color of the match highlights in the suggest widget.\")),(0,g.registerColor)(\"editorSuggestWidget.focusHighlightForeground\",g.listFocusHighlightForeground,o.localize(1335,\"Color of the match highlights in the suggest widget when an item is focused.\")),(0,g.registerColor)(\"editorSuggestWidgetStatus.foreground\",(0,g.transparent)(w,.5),o.localize(1336,\"Foreground color of the suggest widget status.\"));class S{constructor(M,A){this._service=M,this._key=`suggestWidget.size/${A.getEditorType()}/${A instanceof p.EmbeddedCodeEditorWidget}`}restore(){const M=this._service.get(this._key,0)??\"\";try{const A=JSON.parse(M);if(d.Dimension.is(A))return d.Dimension.lift(A)}catch{}}store(M){this._service.store(this._key,JSON.stringify(M),0,1)}reset(){this._service.remove(this._key,0)}}let L=class{static{v=this}static{this.LOADING_MESSAGE=o.localize(1337,\"Loading...\")}static{this.NO_SUGGESTIONS_MESSAGE=o.localize(1338,\"No suggestions.\")}constructor(M,A,P,N,O){this.editor=M,this._storageService=A,this._state=0,this._isAuto=!1,this._pendingLayout=new m.MutableDisposable,this._pendingShowDetails=new m.MutableDisposable,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new I.TimeoutTimer,this._disposables=new m.DisposableStore,this._onDidSelect=new y.PauseableEmitter,this._onDidFocus=new y.PauseableEmitter,this._onDidHide=new y.Emitter,this._onDidShow=new y.Emitter,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new y.Emitter,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new a.ResizableHTMLElement,this.element.domNode.classList.add(\"editor-widget\",\"suggest-widget\"),this._contentWidget=new D(this,M),this._persistedSize=new S(A,M);class F{constructor(U,j,Y=!1,G=!1){this.persistedSize=U,this.currentSize=j,this.persistHeight=Y,this.persistWidth=G}}let x;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),x=new F(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(z=>{if(this._resize(z.dimension.width,z.dimension.height),x&&(x.persistHeight=x.persistHeight||!!z.north||!!z.south,x.persistWidth=x.persistWidth||!!z.east||!!z.west),!!z.done){if(x){const{itemHeight:U,defaultSize:j}=this.getLayoutInfo(),Y=Math.round(U/2);let{width:G,height:K}=this.element.size;(!x.persistHeight||Math.abs(x.currentSize.height-K)<=Y)&&(K=x.persistedSize?.height??j.height),(!x.persistWidth||Math.abs(x.currentSize.width-G)<=Y)&&(G=x.persistedSize?.width??j.width),this._persistedSize.store(new d.Dimension(G,K))}this._contentWidget.unlockPreference(),x=void 0}})),this._messageElement=d.append(this.element.domNode,d.$(\".message\")),this._listElement=d.append(this.element.domNode,d.$(\".tree\"));const W=this._disposables.add(O.createInstance(u.SuggestDetailsWidget,this.editor));W.onDidClose(this.toggleDetails,this,this._disposables),this._details=new u.SuggestDetailsOverlay(W,this.editor);const V=()=>this.element.domNode.classList.toggle(\"no-icons\",!this.editor.getOption(119).showIcons);V();const q=O.createInstance(C.ItemRenderer,this.editor);this._disposables.add(q),this._disposables.add(q.onDidToggleDetails(()=>this.toggleDetails())),this._list=new k.List(\"SuggestWidget\",this._listElement,{getHeight:z=>this.getLayoutInfo().itemHeight,getTemplateId:z=>\"suggestion\"},[q],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>\"option\",getWidgetAriaLabel:()=>o.localize(1339,\"Suggest\"),getWidgetRole:()=>\"listbox\",getAriaLabel:z=>{let U=z.textLabel;if(typeof z.completion.label!=\"string\"){const{detail:K,description:R}=z.completion.label;K&&R?U=o.localize(1340,\"{0} {1}, {2}\",U,K,R):K?U=o.localize(1341,\"{0} {1}\",U,K):R&&(U=o.localize(1342,\"{0}, {1}\",U,R))}if(!z.isResolved||!this._isDetailsVisible())return U;const{documentation:j,detail:Y}=z.completion,G=b.format(\"{0}{1}\",Y||\"\",j?typeof j==\"string\"?j:j.value:\"\");return o.localize(1343,\"{0}, docs: {1}\",U,G)}}}),this._list.style((0,f.getListStyles)({listInactiveFocusBackground:e.editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:g.activeContrastBorder})),this._status=O.createInstance(n.SuggestWidgetStatus,this.element.domNode,r.suggestWidgetStatusbarMenu);const H=()=>this.element.domNode.classList.toggle(\"with-status-bar\",this.editor.getOption(119).showStatusBar);H(),this._disposables.add(N.onDidColorThemeChange(z=>this._onThemeChange(z))),this._onThemeChange(N.getColorTheme()),this._disposables.add(this._list.onMouseDown(z=>this._onListMouseDownOrTap(z))),this._disposables.add(this._list.onTap(z=>this._onListMouseDownOrTap(z))),this._disposables.add(this._list.onDidChangeSelection(z=>this._onListSelection(z))),this._disposables.add(this._list.onDidChangeFocus(z=>this._onListFocus(z))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(z=>{z.hasChanged(119)&&(H(),V()),this._completionModel&&(z.hasChanged(50)||z.hasChanged(120)||z.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=r.Context.Visible.bindTo(P),this._ctxSuggestWidgetDetailsVisible=r.Context.DetailsVisible.bindTo(P),this._ctxSuggestWidgetMultipleSuggestions=r.Context.MultipleSuggestions.bindTo(P),this._ctxSuggestWidgetHasFocusedSuggestion=r.Context.HasFocusedSuggestion.bindTo(P),this._disposables.add(d.addStandardDisposableListener(this._details.widget.domNode,\"keydown\",z=>{this._onDetailsKeydown.fire(z)})),this._disposables.add(this.editor.onMouseDown(z=>this._onEditorMouseDown(z)))}dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout?.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(M){this._details.widget.domNode.contains(M.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(M.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(M){typeof M.element>\"u\"||typeof M.index>\"u\"||(M.browserEvent.preventDefault(),M.browserEvent.stopPropagation(),this._select(M.element,M.index))}_onListSelection(M){M.elements.length&&this._select(M.elements[0],M.indexes[0])}_select(M,A){const P=this._completionModel;P&&(this._onDidSelect.fire({item:M,index:A,model:P}),this.editor.focus())}_onThemeChange(M){this._details.widget.borderWidth=(0,c.isHighContrast)(M.type)?2:1}_onListFocus(M){if(this._ignoreFocusEvents)return;if(!M.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const A=M.elements[0],P=M.indexes[0];A!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=A,this._list.reveal(P),this._currentSuggestionDetails=(0,I.createCancelablePromise)(async N=>{const O=(0,I.disposableTimeout)(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),F=N.onCancellationRequested(()=>O.dispose());try{return await A.resolve(N)}finally{O.dispose(),F.dispose()}}),this._currentSuggestionDetails.then(()=>{P>=this._list.length||A!==this._list.element(P)||(this._ignoreFocusEvents=!0,this._list.splice(P,1,[A]),this._list.setFocus([P]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove(\"docs-side\"),this.editor.setAriaOptions({activeDescendant:(0,C.getAriaId)(P)}))}).catch(E.onUnexpectedError)),this._onDidFocus.fire({item:A,index:P,model:this._completionModel})}_setState(M){if(this._state!==M)switch(this._state=M,this.element.domNode.classList.toggle(\"frozen\",M===4),this.element.domNode.classList.remove(\"message\"),M){case 0:d.hide(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove(\"visible\"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add(\"message\"),this._messageElement.textContent=v.LOADING_MESSAGE,d.hide(this._listElement,this._status.element),d.show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,(0,h.status)(v.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add(\"message\"),this._messageElement.textContent=v.NO_SUGGESTIONS_MESSAGE,d.hide(this._listElement,this._status.element),d.show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,(0,h.status)(v.NO_SUGGESTIONS_MESSAGE);break;case 3:d.hide(this._messageElement),d.show(this._listElement,this._status.element),this._show();break;case 4:d.hide(this._messageElement),d.show(this._listElement,this._status.element),this._show();break;case 5:d.hide(this._messageElement),d.show(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add(\"visible\"),this._onDidShow.fire(this)},100)}showTriggered(M,A){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!M,this._isAuto||(this._loadingTimeout=(0,I.disposableTimeout)(()=>this._setState(1),A)))}showSuggestions(M,A,P,N,O){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout?.dispose(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==M&&(this._completionModel=M),P&&this._state!==2&&this._state!==0){this._setState(4);return}const F=this._completionModel.items.length,x=F===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(F>1),x){this._setState(N?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(P?4:3),this._list.reveal(A,0),this._list.setFocus(O?[]:[A])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=d.runAtThisOrScheduleAtNextAnimationFrame(d.getWindow(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove(\"focused\")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove(\"focused\")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add(\"focused\"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove(\"shows-details\")):((0,u.canExpandCompletionItem)(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(M){this._pendingShowDetails.value=d.runAtThisOrScheduleAtNextAnimationFrame(d.getWindow(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),M?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add(\"shows-details\")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetails.clear(),this._loadingTimeout?.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const M=this._persistedSize.restore(),A=Math.ceil(this.getLayoutInfo().itemHeight*4.3);M&&M.height<A&&this._persistedSize.store(M.with(void 0,A))}isFrozen(){return this._state===4}_afterRender(M){if(M===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(M){if(!this.editor.hasModel()||!this.editor.getDomNode())return;const A=d.getClientArea(this.element.domNode.ownerDocument.body),P=this.getLayoutInfo();M||(M=P.defaultSize);let N=M.height,O=M.width;if(this._status.element.style.height=`${P.itemHeight}px`,this._state===2||this._state===1)N=P.itemHeight+P.borderHeight,O=P.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new d.Dimension(O,N),this._contentWidget.setPreference(2);else{const F=A.width-P.borderHeight-2*P.horizontalPadding;O>F&&(O=F);const x=this._completionModel?this._completionModel.stats.pLabelLen*P.typicalHalfwidthCharacterWidth:O,W=P.statusBarHeight+this._list.contentHeight+P.borderHeight,V=P.itemHeight+P.statusBarHeight,q=d.getDomNodePagePosition(this.editor.getDomNode()),H=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),z=q.top+H.top+H.height,U=Math.min(A.height-z-P.verticalPadding,W),j=q.top+H.top-P.verticalPadding,Y=Math.min(j,W);let G=Math.min(Math.max(Y,U)+P.borderHeight,W);N===this._cappedHeight?.capped&&(N=this._cappedHeight.wanted),N<V&&(N=V),N>G&&(N=G),N>U||this._forceRenderingAbove&&j>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),G=Y):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),G=U),this.element.preferredSize=new d.Dimension(x,P.defaultSize.height),this.element.maxSize=new d.Dimension(F,G),this.element.minSize=new d.Dimension(220,V),this._cappedHeight=N===W?{wanted:this._cappedHeight?.wanted??M.height,capped:N}:void 0}this._resize(O,N)}_resize(M,A){const{width:P,height:N}=this.element.maxSize;M=Math.min(P,M),A=Math.min(N,A);const{statusBarHeight:O}=this.getLayoutInfo();this._list.layout(A-O,M),this._listElement.style.height=`${A-O}px`,this.element.layout(A,M),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}getLayoutInfo(){const M=this.editor.getOption(50),A=(0,_.clamp)(this.editor.getOption(121)||M.lineHeight,8,1e3),P=!this.editor.getOption(119).showStatusBar||this._state===2||this._state===1?0:A,N=this._details.widget.borderWidth,O=2*N;return{itemHeight:A,statusBarHeight:P,borderWidth:N,borderHeight:O,typicalHalfwidthCharacterWidth:M.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new d.Dimension(430,P+12*A+O)}}_isDetailsVisible(){return this._storageService.getBoolean(\"expandSuggestionDocs\",0,!1)}_setDetailsVisible(M){this._storageService.store(\"expandSuggestionDocs\",M,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};e.SuggestWidget=L,e.SuggestWidget=L=v=ke([ce(1,s.IStorageService),ce(2,t.IContextKeyService),ce(3,l.IThemeService),ce(4,i.IInstantiationService)],L);class D{constructor(M,A){this._widget=M,this._editor=A,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return\"editor.widget.suggestWidget\"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:M,width:A}=this._widget.element.size,{borderWidth:P,horizontalPadding:N}=this._widget.getLayoutInfo();return new d.Dimension(A+2*P+N,M+2*P)}afterRender(M){this._widget._afterRender(M)}setPreference(M){this._preferenceLocked||(this._preference=M)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(M){this._position=M}}e.SuggestContentWidget=D}),define(ne[426],se([1,0,40,35,27,3,32,25,536]),function(oe,e,d,k,I,E,y,m){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getHighlightDecorationOptions=l,e.getSelectionHighlightDecorationOptions=a;const _=(0,y.registerColor)(\"editor.wordHighlightBackground\",{dark:\"#575757B8\",light:\"#57575740\",hcDark:null,hcLight:null},E.localize(1415,\"Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.\"),!0);(0,y.registerColor)(\"editor.wordHighlightStrongBackground\",{dark:\"#004972B8\",light:\"#0e639c40\",hcDark:null,hcLight:null},E.localize(1416,\"Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.\"),!0),(0,y.registerColor)(\"editor.wordHighlightTextBackground\",_,E.localize(1417,\"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.\"),!0);const b=(0,y.registerColor)(\"editor.wordHighlightBorder\",{light:null,dark:null,hcDark:y.activeContrastBorder,hcLight:y.activeContrastBorder},E.localize(1418,\"Border color of a symbol during read-access, like reading a variable.\"));(0,y.registerColor)(\"editor.wordHighlightStrongBorder\",{light:null,dark:null,hcDark:y.activeContrastBorder,hcLight:y.activeContrastBorder},E.localize(1419,\"Border color of a symbol during write-access, like writing to a variable.\")),(0,y.registerColor)(\"editor.wordHighlightTextBorder\",b,E.localize(1420,\"Border color of a textual occurrence for a symbol.\"));const p=(0,y.registerColor)(\"editorOverviewRuler.wordHighlightForeground\",\"#A0A0A0CC\",E.localize(1421,\"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.\"),!0),n=(0,y.registerColor)(\"editorOverviewRuler.wordHighlightStrongForeground\",\"#C0A0C0CC\",E.localize(1422,\"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.\"),!0),o=(0,y.registerColor)(\"editorOverviewRuler.wordHighlightTextForeground\",y.overviewRulerSelectionHighlightForeground,E.localize(1423,\"Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.\"),!0),t=k.ModelDecorationOptions.register({description:\"word-highlight-strong\",stickiness:1,className:\"wordHighlightStrong\",overviewRuler:{color:(0,m.themeColorFromId)(n),position:d.OverviewRulerLane.Center},minimap:{color:(0,m.themeColorFromId)(y.minimapSelectionOccurrenceHighlight),position:1}}),i=k.ModelDecorationOptions.register({description:\"word-highlight-text\",stickiness:1,className:\"wordHighlightText\",overviewRuler:{color:(0,m.themeColorFromId)(o),position:d.OverviewRulerLane.Center},minimap:{color:(0,m.themeColorFromId)(y.minimapSelectionOccurrenceHighlight),position:1}}),s=k.ModelDecorationOptions.register({description:\"selection-highlight-overview\",stickiness:1,className:\"selectionHighlight\",overviewRuler:{color:(0,m.themeColorFromId)(y.overviewRulerSelectionHighlightForeground),position:d.OverviewRulerLane.Center},minimap:{color:(0,m.themeColorFromId)(y.minimapSelectionOccurrenceHighlight),position:1}}),g=k.ModelDecorationOptions.register({description:\"selection-highlight\",stickiness:1,className:\"selectionHighlight\"}),c=k.ModelDecorationOptions.register({description:\"word-highlight\",stickiness:1,className:\"wordHighlight\",overviewRuler:{color:(0,m.themeColorFromId)(p),position:d.OverviewRulerLane.Center},minimap:{color:(0,m.themeColorFromId)(y.minimapSelectionOccurrenceHighlight),position:1}});function l(r){return r===I.DocumentHighlightKind.Write?t:r===I.DocumentHighlightKind.Text?i:c}function a(r){return r?g:s}(0,m.registerThemingParticipant)((r,u)=>{const C=r.getColor(y.editorSelectionHighlight);C&&u.addRule(`.monaco-editor .selectionHighlight { background-color: ${C.transparent(.5)}; }`)})}),define(ne[840],se([1,0,46,14,72,2,15,235,4,23,20,423,3,29,12,17,426,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";var l;Object.defineProperty(e,\"__esModule\",{value:!0}),e.FocusPreviousCursor=e.FocusNextCursor=e.SelectionHighlighter=e.CompatChangeAll=e.SelectHighlightsAction=e.MoveSelectionToPreviousFindMatchAction=e.MoveSelectionToNextFindMatchAction=e.AddSelectionToPreviousFindMatchAction=e.AddSelectionToNextFindMatchAction=e.MultiCursorSelectionControllerAction=e.MultiCursorSelectionController=e.MultiCursorSession=e.MultiCursorSessionResult=e.InsertCursorBelow=e.InsertCursorAbove=void 0;function a(H,z){const U=z.filter(j=>!H.find(Y=>Y.equals(j)));if(U.length>=1){const j=U.map(G=>`line ${G.viewState.position.lineNumber} column ${G.viewState.position.column}`).join(\", \"),Y=U.length===1?o.localize(1149,\"Cursor added: {0}\",j):o.localize(1150,\"Cursors added: {0}\",j);(0,d.status)(Y)}}class r extends y.EditorAction{constructor(){super({id:\"editor.action.insertCursorAbove\",label:o.localize(1151,\"Add Cursor Above\"),alias:\"Add Cursor Above\",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:\"3_multi\",title:o.localize(1152,\"&&Add Cursor Above\"),order:2}})}run(z,U,j){if(!U.hasModel())return;let Y=!0;j&&j.logicalLine===!1&&(Y=!1);const G=U._getViewModel();if(G.cursorConfig.readOnly)return;G.model.pushStackElement();const K=G.getCursorStates();G.setCursorStates(j.source,3,m.CursorMoveCommands.addCursorUp(G,K,Y)),G.revealTopMostCursor(j.source),a(K,G.getCursorStates())}}e.InsertCursorAbove=r;class u extends y.EditorAction{constructor(){super({id:\"editor.action.insertCursorBelow\",label:o.localize(1153,\"Add Cursor Below\"),alias:\"Add Cursor Below\",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:\"3_multi\",title:o.localize(1154,\"A&&dd Cursor Below\"),order:3}})}run(z,U,j){if(!U.hasModel())return;let Y=!0;j&&j.logicalLine===!1&&(Y=!1);const G=U._getViewModel();if(G.cursorConfig.readOnly)return;G.model.pushStackElement();const K=G.getCursorStates();G.setCursorStates(j.source,3,m.CursorMoveCommands.addCursorDown(G,K,Y)),G.revealBottomMostCursor(j.source),a(K,G.getCursorStates())}}e.InsertCursorBelow=u;class C extends y.EditorAction{constructor(){super({id:\"editor.action.insertCursorAtEndOfEachLineSelected\",label:o.localize(1155,\"Add Cursors to Line Ends\"),alias:\"Add Cursors to Line Ends\",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:\"3_multi\",title:o.localize(1156,\"Add C&&ursors to Line Ends\"),order:4}})}getCursorsForSelection(z,U,j){if(!z.isEmpty()){for(let Y=z.startLineNumber;Y<z.endLineNumber;Y++){const G=U.getLineMaxColumn(Y);j.push(new b.Selection(Y,G,Y,G))}z.endColumn>1&&j.push(new b.Selection(z.endLineNumber,z.endColumn,z.endLineNumber,z.endColumn))}}run(z,U){if(!U.hasModel())return;const j=U.getModel(),Y=U.getSelections(),G=U._getViewModel(),K=G.getCursorStates(),R=[];Y.forEach(J=>this.getCursorsForSelection(J,j,R)),R.length>0&&U.setSelections(R),a(K,G.getCursorStates())}}class f extends y.EditorAction{constructor(){super({id:\"editor.action.addCursorsToBottom\",label:o.localize(1157,\"Add Cursors To Bottom\"),alias:\"Add Cursors To Bottom\",precondition:void 0})}run(z,U){if(!U.hasModel())return;const j=U.getSelections(),Y=U.getModel().getLineCount(),G=[];for(let J=j[0].startLineNumber;J<=Y;J++)G.push(new b.Selection(J,j[0].startColumn,J,j[0].endColumn));const K=U._getViewModel(),R=K.getCursorStates();G.length>0&&U.setSelections(G),a(R,K.getCursorStates())}}class h extends y.EditorAction{constructor(){super({id:\"editor.action.addCursorsToTop\",label:o.localize(1158,\"Add Cursors To Top\"),alias:\"Add Cursors To Top\",precondition:void 0})}run(z,U){if(!U.hasModel())return;const j=U.getSelections(),Y=[];for(let R=j[0].startLineNumber;R>=1;R--)Y.push(new b.Selection(R,j[0].startColumn,R,j[0].endColumn));const G=U._getViewModel(),K=G.getCursorStates();Y.length>0&&U.setSelections(Y),a(K,G.getCursorStates())}}class v{constructor(z,U,j){this.selections=z,this.revealRange=U,this.revealScrollType=j}}e.MultiCursorSessionResult=v;class w{static create(z,U){if(!z.hasModel())return null;const j=U.getState();if(!z.hasTextFocus()&&j.isRevealed&&j.searchString.length>0)return new w(z,U,!1,j.searchString,j.wholeWord,j.matchCase,null);let Y=!1,G,K;const R=z.getSelections();R.length===1&&R[0].isEmpty()?(Y=!0,G=!0,K=!0):(G=j.wholeWord,K=j.matchCase);const J=z.getSelection();let ie,ue=null;if(J.isEmpty()){const he=z.getConfiguredWordAtPosition(J.getStartPosition());if(!he)return null;ie=he.word,ue=new b.Selection(J.startLineNumber,he.startColumn,J.startLineNumber,he.endColumn)}else ie=z.getModel().getValueInRange(J).replace(/\\r\\n/g,`\n`);return new w(z,U,Y,ie,G,K,ue)}constructor(z,U,j,Y,G,K,R){this._editor=z,this.findController=U,this.isDisconnectedFromFindController=j,this.searchText=Y,this.wholeWord=G,this.matchCase=K,this.currentMatch=R}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const z=this._getNextMatch();if(!z)return null;const U=this._editor.getSelections();return new v(U.concat(z),z,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const z=this._getNextMatch();if(!z)return null;const U=this._editor.getSelections();return new v(U.slice(0,U.length-1).concat(z),z,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const Y=this.currentMatch;return this.currentMatch=null,Y}this.findController.highlightFindOptions();const z=this._editor.getSelections(),U=z[z.length-1],j=this._editor.getModel().findNextMatch(this.searchText,U.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return j?new b.Selection(j.range.startLineNumber,j.range.startColumn,j.range.endLineNumber,j.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const z=this._getPreviousMatch();if(!z)return null;const U=this._editor.getSelections();return new v(U.concat(z),z,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const z=this._getPreviousMatch();if(!z)return null;const U=this._editor.getSelections();return new v(U.slice(0,U.length-1).concat(z),z,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const Y=this.currentMatch;return this.currentMatch=null,Y}this.findController.highlightFindOptions();const z=this._editor.getSelections(),U=z[z.length-1],j=this._editor.getModel().findPreviousMatch(this.searchText,U.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return j?new b.Selection(j.range.startLineNumber,j.range.startColumn,j.range.endLineNumber,j.range.endColumn):null}selectAll(z){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const U=this._editor.getModel();return z?U.findMatches(this.searchText,z,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):U.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}e.MultiCursorSession=w;class S extends E.Disposable{static{this.ID=\"editor.contrib.multiCursorController\"}static get(z){return z.getContribution(S.ID)}constructor(z){super(),this._sessionDispose=this._register(new E.DisposableStore),this._editor=z,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(z){if(!this._session){const U=w.create(this._editor,z);if(!U)return;this._session=U;const j={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(j.wholeWordOverride=1,j.matchCaseOverride=1,j.isRegexOverride=2),z.getState().change(j,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(Y=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(z.getState().onFindReplaceStateChange(Y=>{(Y.matchCase||Y.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const z={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(z,!1)}this._session=null}_setSelections(z){this._ignoreSelectionChange=!0,this._editor.setSelections(z),this._ignoreSelectionChange=!1}_expandEmptyToWord(z,U){if(!U.isEmpty())return U;const j=this._editor.getConfiguredWordAtPosition(U.getStartPosition());return j?new b.Selection(U.startLineNumber,j.startColumn,U.startLineNumber,j.endColumn):U}_applySessionResult(z){z&&(this._setSelections(z.selections),z.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(z.revealRange,z.revealScrollType))}getSession(z){return this._session}addSelectionToNextFindMatch(z){if(this._editor.hasModel()){if(!this._session){const U=this._editor.getSelections();if(U.length>1){const Y=z.getState().matchCase;if(!x(this._editor.getModel(),U,Y)){const K=this._editor.getModel(),R=[];for(let J=0,ie=U.length;J<ie;J++)R[J]=this._expandEmptyToWord(K,U[J]);this._editor.setSelections(R);return}}}this._beginSessionIfNeeded(z),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(z){this._beginSessionIfNeeded(z),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(z){this._beginSessionIfNeeded(z),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(z){this._beginSessionIfNeeded(z),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(z){if(!this._editor.hasModel())return;let U=null;const j=z.getState();if(j.isRevealed&&j.searchString.length>0&&j.isRegex){const Y=this._editor.getModel();j.searchScope?U=Y.findMatches(j.searchString,j.searchScope,j.isRegex,j.matchCase,j.wholeWord?this._editor.getOption(132):null,!1,1073741824):U=Y.findMatches(j.searchString,!0,j.isRegex,j.matchCase,j.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(z),!this._session)return;U=this._session.selectAll(j.searchScope)}if(U.length>0){const Y=this._editor.getSelection();for(let G=0,K=U.length;G<K;G++){const R=U[G];if(R.range.intersectRanges(Y)){U[G]=U[0],U[0]=R;break}}this._setSelections(U.map(G=>new b.Selection(G.range.startLineNumber,G.range.startColumn,G.range.endLineNumber,G.range.endColumn)))}}}e.MultiCursorSelectionController=S;class L extends y.EditorAction{run(z,U){const j=S.get(U);if(!j)return;const Y=U._getViewModel();if(Y){const G=Y.getCursorStates(),K=n.CommonFindController.get(U);if(K)this._run(j,K);else{const R=z.get(c.IInstantiationService).createInstance(n.CommonFindController,U);this._run(j,R),R.dispose()}a(G,Y.getCursorStates())}}}e.MultiCursorSelectionControllerAction=L;class D extends L{constructor(){super({id:\"editor.action.addSelectionToNextFindMatch\",label:o.localize(1159,\"Add Selection To Next Find Match\"),alias:\"Add Selection To Next Find Match\",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:2082,weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:\"3_multi\",title:o.localize(1160,\"Add &&Next Occurrence\"),order:5}})}_run(z,U){z.addSelectionToNextFindMatch(U)}}e.AddSelectionToNextFindMatchAction=D;class T extends L{constructor(){super({id:\"editor.action.addSelectionToPreviousFindMatch\",label:o.localize(1161,\"Add Selection To Previous Find Match\"),alias:\"Add Selection To Previous Find Match\",precondition:void 0,menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:\"3_multi\",title:o.localize(1162,\"Add P&&revious Occurrence\"),order:6}})}_run(z,U){z.addSelectionToPreviousFindMatch(U)}}e.AddSelectionToPreviousFindMatchAction=T;class M extends L{constructor(){super({id:\"editor.action.moveSelectionToNextFindMatch\",label:o.localize(1163,\"Move Last Selection To Next Find Match\"),alias:\"Move Last Selection To Next Find Match\",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:(0,I.KeyChord)(2089,2082),weight:100}})}_run(z,U){z.moveSelectionToNextFindMatch(U)}}e.MoveSelectionToNextFindMatchAction=M;class A extends L{constructor(){super({id:\"editor.action.moveSelectionToPreviousFindMatch\",label:o.localize(1164,\"Move Last Selection To Previous Find Match\"),alias:\"Move Last Selection To Previous Find Match\",precondition:void 0})}_run(z,U){z.moveSelectionToPreviousFindMatch(U)}}e.MoveSelectionToPreviousFindMatchAction=A;class P extends L{constructor(){super({id:\"editor.action.selectHighlights\",label:o.localize(1165,\"Select All Occurrences of Find Match\"),alias:\"Select All Occurrences of Find Match\",precondition:void 0,kbOpts:{kbExpr:p.EditorContextKeys.focus,primary:3114,weight:100},menuOpts:{menuId:t.MenuId.MenubarSelectionMenu,group:\"3_multi\",title:o.localize(1166,\"Select All &&Occurrences\"),order:7}})}_run(z,U){z.selectAll(U)}}e.SelectHighlightsAction=P;class N extends L{constructor(){super({id:\"editor.action.changeAll\",label:o.localize(1167,\"Change All Occurrences\"),alias:\"Change All Occurrences\",precondition:i.ContextKeyExpr.and(p.EditorContextKeys.writable,p.EditorContextKeys.editorTextFocus),kbOpts:{kbExpr:p.EditorContextKeys.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:\"1_modification\",order:1.2}})}_run(z,U){z.selectAll(U)}}e.CompatChangeAll=N;class O{constructor(z,U,j,Y,G){this._model=z,this._searchText=U,this._matchCase=j,this._wordSeparators=Y,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,G&&this._model===G._model&&this._searchText===G._searchText&&this._matchCase===G._matchCase&&this._wordSeparators===G._wordSeparators&&this._modelVersionId===G._modelVersionId&&(this._cachedFindMatches=G._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(z=>z.range),this._cachedFindMatches.sort(_.Range.compareRangesUsingStarts)),this._cachedFindMatches}}let F=class extends E.Disposable{static{l=this}static{this.ID=\"editor.contrib.selectionHighlighter\"}constructor(z,U){super(),this._languageFeaturesService=U,this.editor=z,this._isEnabled=z.getOption(109),this._decorations=z.createDecorationsCollection(),this.updateSoon=this._register(new k.RunOnceScheduler(()=>this._update(),300)),this.state=null,this._register(z.onDidChangeConfiguration(Y=>{this._isEnabled=z.getOption(109)})),this._register(z.onDidChangeCursorSelection(Y=>{this._isEnabled&&(Y.selection.isEmpty()?Y.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(z.onDidChangeModel(Y=>{this._setState(null)})),this._register(z.onDidChangeModelContent(Y=>{this._isEnabled&&this.updateSoon.schedule()}));const j=n.CommonFindController.get(z);j&&this._register(j.getState().onFindReplaceStateChange(Y=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(l._createState(this.state,this._isEnabled,this.editor))}static _createState(z,U,j){if(!U||!j.hasModel())return null;const Y=j.getSelection();if(Y.startLineNumber!==Y.endLineNumber)return null;const G=S.get(j);if(!G)return null;const K=n.CommonFindController.get(j);if(!K)return null;let R=G.getSession(K);if(!R){const ue=j.getSelections();if(ue.length>1){const pe=K.getState().matchCase;if(!x(j.getModel(),ue,pe))return null}R=w.create(j,K)}if(!R||R.currentMatch||/^[ \\t]+$/.test(R.searchText)||R.searchText.length>200)return null;const J=K.getState(),ie=J.matchCase;if(J.isRevealed){let ue=J.searchString;ie||(ue=ue.toLowerCase());let he=R.searchText;if(ie||(he=he.toLowerCase()),ue===he&&R.matchCase===J.matchCase&&R.wholeWord===J.wholeWord&&!J.isRegex)return null}return new O(j.getModel(),R.searchText,R.matchCase,R.wholeWord?j.getOption(132):null,z)}_setState(z){if(this.state=z,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const U=this.editor.getModel();if(U.isTooLargeForTokenization())return;const j=this.state.findMatches(),Y=this.editor.getSelections();Y.sort(_.Range.compareRangesUsingStarts);const G=[];for(let ie=0,ue=0,he=j.length,pe=Y.length;ie<he;){const ae=j[ie];if(ue>=pe)G.push(ae),ie++;else{const ee=_.Range.compareRangesUsingStarts(ae,Y[ue]);ee<0?((Y[ue].isEmpty()||!_.Range.areIntersecting(ae,Y[ue]))&&G.push(ae),ie++):(ee>0||ie++,ue++)}}const K=this.editor.getOption(81)!==\"off\",R=this._languageFeaturesService.documentHighlightProvider.has(U)&&K,J=G.map(ie=>({range:ie,options:(0,g.getSelectionHighlightDecorationOptions)(R)}));this._decorations.set(J)}dispose(){this._setState(null),super.dispose()}};e.SelectionHighlighter=F,e.SelectionHighlighter=F=l=ke([ce(1,s.ILanguageFeaturesService)],F);function x(H,z,U){const j=W(H,z[0],!U);for(let Y=1,G=z.length;Y<G;Y++){const K=z[Y];if(K.isEmpty())return!1;const R=W(H,K,!U);if(j!==R)return!1}return!0}function W(H,z,U){const j=H.getValueInRange(z);return U?j.toLowerCase():j}class V extends y.EditorAction{constructor(){super({id:\"editor.action.focusNextCursor\",label:o.localize(1168,\"Focus Next Cursor\"),metadata:{description:o.localize(1169,\"Focuses the next cursor\"),args:[]},alias:\"Focus Next Cursor\",precondition:void 0})}run(z,U,j){if(!U.hasModel())return;const Y=U._getViewModel();if(Y.cursorConfig.readOnly)return;Y.model.pushStackElement();const G=Array.from(Y.getCursorStates()),K=G.shift();K&&(G.push(K),Y.setCursorStates(j.source,3,G),Y.revealPrimaryCursor(j.source,!0),a(G,Y.getCursorStates()))}}e.FocusNextCursor=V;class q extends y.EditorAction{constructor(){super({id:\"editor.action.focusPreviousCursor\",label:o.localize(1170,\"Focus Previous Cursor\"),metadata:{description:o.localize(1171,\"Focuses the previous cursor\"),args:[]},alias:\"Focus Previous Cursor\",precondition:void 0})}run(z,U,j){if(!U.hasModel())return;const Y=U._getViewModel();if(Y.cursorConfig.readOnly)return;Y.model.pushStackElement();const G=Array.from(Y.getCursorStates()),K=G.pop();K&&(G.unshift(K),Y.setCursorStates(j.source,3,G),Y.revealPrimaryCursor(j.source,!0),a(G,Y.getCursorStates()))}}e.FocusPreviousCursor=q,(0,y.registerEditorContribution)(S.ID,S,4),(0,y.registerEditorContribution)(F.ID,F,1),(0,y.registerEditorAction)(r),(0,y.registerEditorAction)(u),(0,y.registerEditorAction)(C),(0,y.registerEditorAction)(D),(0,y.registerEditorAction)(T),(0,y.registerEditorAction)(M),(0,y.registerEditorAction)(A),(0,y.registerEditorAction)(P),(0,y.registerEditorAction)(N),(0,y.registerEditorAction)(f),(0,y.registerEditorAction)(h),(0,y.registerEditorAction)(V),(0,y.registerEditorAction)(q)}),define(ne[841],se([1,0,3,46,14,18,8,2,168,15,34,4,20,40,17,426,12,42,45,368,48,680,130]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){\"use strict\";var f,h;Object.defineProperty(e,\"__esModule\",{value:!0}),e.WordHighlighterContribution=void 0,e.getOccurrencesAtPosition=w,e.getOccurrencesAcrossMultipleModels=S;const v=new g.RawContextKey(\"hasWordHighlights\",!1);function w(V,q,H,z){const U=V.ordered(q);return(0,I.first)(U.map(j=>()=>Promise.resolve(j.provideDocumentHighlights(q,H,z)).then(void 0,y.onUnexpectedExternalError)),j=>j!=null).then(j=>{if(j){const Y=new l.ResourceMap;return Y.set(q.uri,j),Y}return new l.ResourceMap})}function S(V,q,H,z,U,j){const Y=V.ordered(q);return(0,I.first)(Y.map(G=>()=>{const K=j.filter(R=>(0,t.shouldSynchronizeModel)(R)).filter(R=>(0,a.score)(G.selector,R.uri,R.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(G.provideMultiDocumentHighlights(q,H,K,U)).then(void 0,y.onUnexpectedExternalError)}),G=>G!=null)}class L{constructor(q,H,z){this._model=q,this._selection=H,this._wordSeparators=z,this._wordRange=this._getCurrentWordRange(q,H),this._result=null}get result(){return this._result||(this._result=(0,I.createCancelablePromise)(q=>this._compute(this._model,this._selection,this._wordSeparators,q))),this._result}_getCurrentWordRange(q,H){const z=q.getWordAtPosition(H.getPosition());return z?new n.Range(H.startLineNumber,z.startColumn,H.startLineNumber,z.endColumn):null}isValid(q,H,z){const U=H.startLineNumber,j=H.startColumn,Y=H.endColumn,G=this._getCurrentWordRange(q,H);let K=!!(this._wordRange&&this._wordRange.equalsRange(G));for(let R=0,J=z.length;!K&&R<J;R++){const ie=z.getRange(R);ie&&ie.startLineNumber===U&&ie.startColumn<=j&&ie.endColumn>=Y&&(K=!0)}return K}cancel(){this.result.cancel()}}class D extends L{constructor(q,H,z,U){super(q,H,z),this._providers=U}_compute(q,H,z,U){return w(this._providers,q,H.getPosition(),U).then(j=>j||new l.ResourceMap)}}class T extends L{constructor(q,H,z,U,j){super(q,H,z),this._providers=U,this._otherModels=j}_compute(q,H,z,U){return S(this._providers,q,H.getPosition(),z,U,this._otherModels).then(j=>j||new l.ResourceMap)}}function M(V,q,H,z,U){return new D(q,H,U,V)}function A(V,q,H,z,U,j){return new T(q,H,U,V,j)}(0,b.registerModelAndPositionCommand)(\"_executeDocumentHighlights\",async(V,q,H)=>{const z=V.get(i.ILanguageFeaturesService);return(await w(z.documentHighlightProvider,q,H,E.CancellationToken.None))?.get(q.uri)});let P=class{static{f=this}static{this.storedDecorationIDs=new l.ResourceMap}static{this.query=null}constructor(q,H,z,U,j){this.toUnhook=new m.DisposableStore,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new l.ResourceMap,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new I.Delayer(50)),this.editor=q,this.providers=H,this.multiDocumentProviders=z,this.codeEditorService=j,this._hasWordHighlights=v.bindTo(U),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(q.onDidChangeCursorPosition(Y=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!==\"off\"&&this.runDelayer.trigger(()=>{this._onPositionChanged(Y)})})),this.toUnhook.add(q.onDidFocusEditorText(Y=>{this.occurrencesHighlight!==\"off\"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(q.onDidChangeModelContent(Y=>{(0,c.matchesScheme)(this.model.uri,\"output\")||this._stopAll()})),this.toUnhook.add(q.onDidChangeModel(Y=>{!Y.newModelUrl&&Y.oldModelUrl?this._stopSingular():f.query&&this._run()})),this.toUnhook.add(q.onDidChangeConfiguration(Y=>{const G=this.editor.getOption(81);if(this.occurrencesHighlight!==G)switch(this.occurrencesHighlight=G,G){case\"off\":this._stopAll();break;case\"singleFile\":this._stopAll(f.query?.modelInfo?.model);break;case\"multiFile\":f.query&&this._run(!0);break;default:console.warn(\"Unknown occurrencesHighlight setting value:\",G);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,f.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!==\"off\"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(n.Range.compareRangesUsingStarts)}moveNext(){const q=this._getSortedHighlights(),z=(q.findIndex(j=>j.containsPosition(this.editor.getPosition()))+1)%q.length,U=q[z];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(U.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(U);const j=this._getWord();if(j){const Y=this.editor.getModel().getLineContent(U.startLineNumber);(0,k.alert)(`${Y}, ${z+1} of ${q.length} for '${j.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const q=this._getSortedHighlights(),z=(q.findIndex(j=>j.containsPosition(this.editor.getPosition()))-1+q.length)%q.length,U=q[z];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(U.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(U);const j=this._getWord();if(j){const Y=this.editor.getModel().getLineContent(U.startLineNumber);(0,k.alert)(`${Y}, ${z+1} of ${q.length} for '${j.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const q=f.storedDecorationIDs.get(this.editor.getModel().uri);q&&(this.editor.removeDecorations(q),f.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(q){const H=this.codeEditorService.listCodeEditors(),z=[];for(const U of H){if(!U.hasModel()||(0,r.isEqual)(U.getModel().uri,q?.uri))continue;const j=f.storedDecorationIDs.get(U.getModel().uri);if(!j)continue;U.removeDecorations(j),z.push(U.getModel().uri);const Y=N.get(U);Y?.wordHighlighter&&Y.wordHighlighter.decorations.length>0&&(Y.wordHighlighter.decorations.clear(),Y.wordHighlighter.workerRequest=null,Y.wordHighlighter._hasWordHighlights.set(!1))}for(const U of z)f.storedDecorationIDs.delete(U)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==c.Schemas.vscodeNotebookCell&&f.query?.modelInfo?.model.uri.scheme!==c.Schemas.vscodeNotebookCell?(f.query=null,this._run()):f.query?.modelInfo&&(f.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(q){this._removeAllDecorations(q),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(q){if(this.occurrencesHighlight===\"off\"){this._stopAll();return}if(q.reason!==3&&this.editor.getModel()?.uri.scheme!==c.Schemas.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const q=this.editor.getSelection(),H=q.startLineNumber,z=q.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:H,column:z})}getOtherModelsToHighlight(q){if(!q)return[];if(q.uri.scheme===c.Schemas.vscodeNotebookCell){const j=[],Y=this.codeEditorService.listCodeEditors();for(const G of Y){const K=G.getModel();K&&K!==q&&K.uri.scheme===c.Schemas.vscodeNotebookCell&&j.push(K)}return j}const z=[],U=this.codeEditorService.listCodeEditors();for(const j of U){if(!(0,_.isDiffEditor)(j))continue;const Y=j.getModel();Y&&q===Y.modified&&z.push(Y.modified)}if(z.length)return z;if(this.occurrencesHighlight===\"singleFile\")return[];for(const j of U){const Y=j.getModel();Y&&Y!==q&&z.push(Y)}return z}_run(q){let H;if(this.editor.hasTextFocus()){const U=this.editor.getSelection();if(!U||U.startLineNumber!==U.endLineNumber){f.query=null,this._stopAll();return}const j=U.startColumn,Y=U.endColumn,G=this._getWord();if(!G||G.startColumn>j||G.endColumn<Y){f.query=null,this._stopAll();return}H=this.workerRequest&&this.workerRequest.isValid(this.model,U,this.decorations),f.query={modelInfo:{model:this.model,selection:U},word:G}}else if(!f.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),H)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else if((0,r.isEqual)(this.editor.getModel().uri,f.query.modelInfo?.model.uri)){if(!q){const Y=this.decorations.getRanges();for(const G of Y)if(G.containsPosition(this.editor.getPosition()))return}this._stopAll(q?this.model:void 0);const U=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const j=this.getOtherModelsToHighlight(this.editor.getModel());if(!f.query||!f.query.modelInfo||f.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(f.query.modelInfo.model,f.query.modelInfo.selection,f.query.word,j),this.workerRequest?.result.then(Y=>{U===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=Y||[],this._beginRenderDecorations())},y.onUnexpectedError)}}computeWithModel(q,H,z,U){return U.length?A(this.multiDocumentProviders,q,H,z,this.editor.getOption(132),U):M(this.providers,q,H,z,this.editor.getOption(132))}_beginRenderDecorations(){const q=new Date().getTime(),H=this.lastCursorPositionChangeTime+250;q>=H?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},H-q)}renderDecorations(){this.renderDecorationsTimer=-1;const q=this.codeEditorService.listCodeEditors();for(const H of q){const z=N.get(H);if(!z)continue;const U=[],j=H.getModel()?.uri;if(j&&this.workerRequestValue.has(j)){const Y=f.storedDecorationIDs.get(j),G=this.workerRequestValue.get(j);if(G)for(const R of G)R.range&&U.push({range:R.range,options:(0,s.getHighlightDecorationOptions)(R.kind)});let K=[];H.changeDecorations(R=>{K=R.deltaDecorations(Y??[],U)}),f.storedDecorationIDs=f.storedDecorationIDs.set(j,K),U.length>0&&(z.wordHighlighter?.decorations.set(U),z.wordHighlighter?._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}};P=f=ke([ce(4,p.ICodeEditorService)],P);let N=class extends m.Disposable{static{h=this}static{this.ID=\"editor.contrib.wordHighlighter\"}static get(q){return q.getContribution(h.ID)}constructor(q,H,z,U){super(),this._wordHighlighter=null;const j=()=>{q.hasModel()&&!q.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new P(q,z.documentHighlightProvider,z.multiDocumentHighlightProvider,H,U))};this._register(q.onDidChangeModel(Y=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),j()})),j()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(q){this._wordHighlighter&&q&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};e.WordHighlighterContribution=N,e.WordHighlighterContribution=N=h=ke([ce(1,g.IContextKeyService),ce(2,i.ILanguageFeaturesService),ce(3,p.ICodeEditorService)],N);class O extends b.EditorAction{constructor(q,H){super(H),this._isNext=q}run(q,H){const z=N.get(H);z&&(this._isNext?z.moveNext():z.moveBack())}}class F extends O{constructor(){super(!0,{id:\"editor.action.wordHighlight.next\",label:d.localize(1424,\"Go to Next Symbol Highlight\"),alias:\"Go to Next Symbol Highlight\",precondition:v,kbOpts:{kbExpr:o.EditorContextKeys.editorTextFocus,primary:65,weight:100}})}}class x extends O{constructor(){super(!1,{id:\"editor.action.wordHighlight.prev\",label:d.localize(1425,\"Go to Previous Symbol Highlight\"),alias:\"Go to Previous Symbol Highlight\",precondition:v,kbOpts:{kbExpr:o.EditorContextKeys.editorTextFocus,primary:1089,weight:100}})}}class W extends b.EditorAction{constructor(){super({id:\"editor.action.wordHighlight.trigger\",label:d.localize(1426,\"Trigger Symbol Highlight\"),alias:\"Trigger Symbol Highlight\",precondition:void 0,kbOpts:{kbExpr:o.EditorContextKeys.editorTextFocus,primary:0,weight:100}})}run(q,H,z){const U=N.get(H);U&&U.restoreViewState(!0)}}(0,b.registerEditorContribution)(N.ID,N,0),(0,b.registerEditorAction)(F),(0,b.registerEditorAction)(x),(0,b.registerEditorAction)(W),(0,C.registerEditorFeature)(u.TextualMultiDocumentHighlightFeature)}),define(ne[842],se([1,0,5,173,33,187,2,60,4,35,537]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ZoneWidget=e.OverlayWidgetDelegate=void 0;const p=new I.Color(new I.RGBA(0,122,204)),n={showArrow:!0,showFrame:!0,className:\"\",frameColor:p,arrowColor:p,keepEditorSelection:!1},o=\"vs.editor.contrib.zoneWidget\";class t{constructor(l,a,r,u,C,f,h,v){this.id=\"\",this.domNode=l,this.afterLineNumber=a,this.afterColumn=r,this.heightInLines=u,this.showInHiddenAreas=h,this.ordinal=v,this._onDomNodeTop=C,this._onComputedHeight=f}onDomNodeTop(l){this._onDomNodeTop(l)}onComputedHeight(l){this._onComputedHeight(l)}}class i{constructor(l,a){this._id=l,this._domNode=a}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}e.OverlayWidgetDelegate=i;class s{static{this._IdGenerator=new E.IdGenerator(\".arrow-decoration-\")}constructor(l){this._editor=l,this._ruleName=s._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),d.removeCSSRulesContainingSelector(this._ruleName)}set color(l){this._color!==l&&(this._color=l,this._updateStyle())}set height(l){this._height!==l&&(this._height=l,this._updateStyle())}_updateStyle(){d.removeCSSRulesContainingSelector(this._ruleName),d.createCSSRule(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(l){l.column===1&&(l={lineNumber:l.lineNumber,column:2}),this._decorations.set([{range:_.Range.fromPositions(l),options:{description:\"zone-widget-arrow\",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}class g{constructor(l,a={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new y.DisposableStore,this.container=null,this._isShowing=!1,this.editor=l,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=m.deepClone(a),m.mixin(this.options,n,!1),this.domNode=document.createElement(\"div\"),this.options.isAccessible||(this.domNode.setAttribute(\"aria-hidden\",\"true\"),this.domNode.setAttribute(\"role\",\"presentation\")),this._disposables.add(this.editor.onDidLayoutChange(r=>{const u=this._getWidth(r);this.domNode.style.width=u+\"px\",this.domNode.style.left=this._getLeft(r)+\"px\",this._onWidth(u)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(l=>{this._viewZone&&l.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add(\"zone-widget\"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement(\"div\"),this.container.classList.add(\"zone-widget-container\"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new s(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(l){l.frameColor&&(this.options.frameColor=l.frameColor),l.arrowColor&&(this.options.arrowColor=l.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const l=this.options.frameColor.toString();this.container.style.borderTopColor=l,this.container.style.borderBottomColor=l}if(this._arrow&&this.options.arrowColor){const l=this.options.arrowColor.toString();this._arrow.color=l}}_getWidth(l){return l.width-l.minimap.minimapWidth-l.verticalScrollbarWidth}_getLeft(l){return l.minimap.minimapWidth>0&&l.minimap.minimapLeft===0?l.minimap.minimapWidth:0}_onViewZoneTop(l){this.domNode.style.top=l+\"px\"}_onViewZoneHeight(l){if(this.domNode.style.height=`${l}px`,this.container){const a=l-this._decoratingElementsHeight();this.container.style.height=`${a}px`;const r=this.editor.getLayoutInfo();this._doLayout(a,this._getWidth(r))}this._resizeSash?.layout()}get position(){const l=this._positionMarkerId.getRange(0);if(l)return l.getStartPosition()}show(l,a){const r=_.Range.isIRange(l)?_.Range.lift(l):_.Range.fromPositions(l);this._isShowing=!0,this._showImpl(r,a),this._isShowing=!1,this._positionMarkerId.set([{range:r,options:b.ModelDecorationOptions.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(l=>{this._viewZone&&l.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow?.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const l=this.editor.getOption(67);let a=0;if(this.options.showArrow){const r=Math.round(l/3);a+=2*r}if(this.options.showFrame){const r=Math.round(l/9);a+=2*r}return a}_showImpl(l,a){const r=l.getStartPosition(),u=this.editor.getLayoutInfo(),C=this._getWidth(u);this.domNode.style.width=`${C}px`,this.domNode.style.left=this._getLeft(u)+\"px\";const f=document.createElement(\"div\");f.style.overflow=\"hidden\";const h=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const D=Math.max(12,this.editor.getLayoutInfo().height/h*.8);a=Math.min(a,D)}let v=0,w=0;if(this._arrow&&this.options.showArrow&&(v=Math.round(h/3),this._arrow.height=v,this._arrow.show(r)),this.options.showFrame&&(w=Math.round(h/9)),this.editor.changeViewZones(D=>{this._viewZone&&D.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top=\"-1000px\",this._viewZone=new t(f,r.lineNumber,r.column,a,T=>this._onViewZoneTop(T),T=>this._onViewZoneHeight(T),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=D.addZone(this._viewZone),this._overlayWidget=new i(o+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const D=this.options.frameWidth?this.options.frameWidth:w;this.container.style.borderTopWidth=D+\"px\",this.container.style.borderBottomWidth=D+\"px\"}const S=a*h-this._decoratingElementsHeight();this.container&&(this.container.style.top=v+\"px\",this.container.style.height=S+\"px\",this.container.style.overflow=\"hidden\"),this._doLayout(S,C),this.options.keepEditorSelection||this.editor.setSelection(l);const L=this.editor.getModel();if(L){const D=L.validateRange(new _.Range(l.startLineNumber,1,l.endLineNumber+1,1));this.revealRange(D,D.startLineNumber===L.getLineCount())}}revealRange(l,a){a?this.editor.revealLineNearTop(l.endLineNumber,0):this.editor.revealRange(l,0)}setCssClass(l,a){this.container&&(a&&this.container.classList.remove(a),this.container.classList.add(l))}_onWidth(l){}_doLayout(l,a){}_relayout(l){this._viewZone&&this._viewZone.heightInLines!==l&&this.editor.changeViewZones(a=>{this._viewZone&&(this._viewZone.heightInLines=l,a.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new k.Sash(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let l;this._disposables.add(this._resizeSash.onDidStart(a=>{this._viewZone&&(l={startY:a.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{l=void 0})),this._disposables.add(this._resizeSash.onDidChange(a=>{if(l){const r=(a.currentY-l.startY)/this.editor.getOption(67),u=r<0?Math.ceil(r):Math.floor(r),C=l.heightInLines+u;C>5&&C<35&&this._relayout(C)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const l=this.editor.getLayoutInfo();return l.width-l.minimap.minimapWidth}}e.ZoneWidget=g}),define(ne[158],se([1,0,5,87,41,26,30,33,6,60,15,34,125,842,3,124,12,49,7,32,527]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.peekViewEditorMatchHighlightBorder=e.peekViewEditorMatchHighlight=e.peekViewResultsMatchHighlight=e.peekViewEditorStickyScrollBackground=e.peekViewEditorGutterBackground=e.peekViewEditorBackground=e.peekViewResultsSelectionForeground=e.peekViewResultsSelectionBackground=e.peekViewResultsFileForeground=e.peekViewResultsMatchForeground=e.peekViewResultsBackground=e.peekViewBorder=e.peekViewTitleInfoForeground=e.peekViewTitleForeground=e.peekViewTitleBackground=e.PeekViewWidget=e.PeekContext=e.IPeekViewService=void 0,e.getOuterEditor=C,e.IPeekViewService=(0,l.createDecorator)(\"IPeekViewService\"),(0,c.registerSingleton)(e.IPeekViewService,class{constructor(){this._widgets=new Map}addExclusiveWidget(v,w){const S=this._widgets.get(v);S&&(S.listener.dispose(),S.widget.dispose());const L=()=>{const D=this._widgets.get(v);D&&D.widget===w&&(D.listener.dispose(),this._widgets.delete(v))};this._widgets.set(v,{widget:w,listener:w.onDidClose(L)})}},1);var r;(function(v){v.inPeekEditor=new g.RawContextKey(\"inReferenceSearchEditor\",!0,i.localize(1177,\"Whether the current code editor is embedded inside peek\")),v.notInPeekEditor=v.inPeekEditor.toNegated()})(r||(e.PeekContext=r={}));let u=class{static{this.ID=\"editor.contrib.referenceController\"}constructor(w,S){w instanceof o.EmbeddedCodeEditorWidget&&r.inPeekEditor.bindTo(S)}dispose(){}};u=ke([ce(1,g.IContextKeyService)],u),(0,p.registerEditorContribution)(u.ID,u,0);function C(v){const w=v.get(n.ICodeEditorService).getFocusedCodeEditor();return w instanceof o.EmbeddedCodeEditorWidget?w.getParentEditor():w}const f={headerBackgroundColor:m.Color.white,primaryHeadingColor:m.Color.fromHex(\"#333333\"),secondaryHeadingColor:m.Color.fromHex(\"#6c6c6cb3\")};let h=class extends t.ZoneWidget{constructor(w,S,L){super(w,S),this.instantiationService=L,this._onDidClose=new _.Emitter,this.onDidClose=this._onDidClose.event,b.mixin(this.options,f,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(w){const S=this.options;w.headerBackgroundColor&&(S.headerBackgroundColor=w.headerBackgroundColor),w.primaryHeadingColor&&(S.primaryHeadingColor=w.primaryHeadingColor),w.secondaryHeadingColor&&(S.secondaryHeadingColor=w.secondaryHeadingColor),super.style(w)}_applyStyles(){super._applyStyles();const w=this.options;this._headElement&&w.headerBackgroundColor&&(this._headElement.style.backgroundColor=w.headerBackgroundColor.toString()),this._primaryHeading&&w.primaryHeadingColor&&(this._primaryHeading.style.color=w.primaryHeadingColor.toString()),this._secondaryHeading&&w.secondaryHeadingColor&&(this._secondaryHeading.style.color=w.secondaryHeadingColor.toString()),this._bodyElement&&w.frameColor&&(this._bodyElement.style.borderColor=w.frameColor.toString())}_fillContainer(w){this.setCssClass(\"peekview-widget\"),this._headElement=d.$(\".head\"),this._bodyElement=d.$(\".body\"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),w.appendChild(this._headElement),w.appendChild(this._bodyElement)}_fillHead(w,S){this._titleElement=d.$(\".peekview-title\"),this.options.supportOnTitleClick&&(this._titleElement.classList.add(\"clickable\"),d.addStandardDisposableListener(this._titleElement,\"click\",T=>this._onTitleClick(T))),d.append(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=d.$(\"span.filename\"),this._secondaryHeading=d.$(\"span.dirname\"),this._metaHeading=d.$(\"span.meta\"),d.append(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const L=d.$(\".peekview-actions\");d.append(this._headElement,L);const D=this._getActionBarOptions();this._actionbarWidget=new k.ActionBar(L,D),this._disposables.add(this._actionbarWidget),S||this._actionbarWidget.push(new I.Action(\"peekview.close\",i.localize(1178,\"Close\"),y.ThemeIcon.asClassName(E.Codicon.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(w){}_getActionBarOptions(){return{actionViewItemProvider:s.createActionViewItem.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(w){}setTitle(w,S){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=w,this._primaryHeading.setAttribute(\"title\",w),S?this._secondaryHeading.innerText=S:d.clearNode(this._secondaryHeading))}setMetaTitle(w){this._metaHeading&&(w?(this._metaHeading.innerText=w,d.show(this._metaHeading)):d.hide(this._metaHeading))}_doLayout(w,S){if(!this._isShowing&&w<0){this.dispose();return}const L=Math.ceil(this.editor.getOption(67)*1.2),D=Math.round(w-(L+2));this._doLayoutHead(L,S),this._doLayoutBody(D,S)}_doLayoutHead(w,S){this._headElement&&(this._headElement.style.height=`${w}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(w,S){this._bodyElement&&(this._bodyElement.style.height=`${w}px`)}};e.PeekViewWidget=h,e.PeekViewWidget=h=ke([ce(2,l.IInstantiationService)],h),e.peekViewTitleBackground=(0,a.registerColor)(\"peekViewTitle.background\",{dark:\"#252526\",light:\"#F3F3F3\",hcDark:m.Color.black,hcLight:m.Color.white},i.localize(1179,\"Background color of the peek view title area.\")),e.peekViewTitleForeground=(0,a.registerColor)(\"peekViewTitleLabel.foreground\",{dark:m.Color.white,light:m.Color.black,hcDark:m.Color.white,hcLight:a.editorForeground},i.localize(1180,\"Color of the peek view title.\")),e.peekViewTitleInfoForeground=(0,a.registerColor)(\"peekViewTitleDescription.foreground\",{dark:\"#ccccccb3\",light:\"#616161\",hcDark:\"#FFFFFF99\",hcLight:\"#292929\"},i.localize(1181,\"Color of the peek view title info.\")),e.peekViewBorder=(0,a.registerColor)(\"peekView.border\",{dark:a.editorInfoForeground,light:a.editorInfoForeground,hcDark:a.contrastBorder,hcLight:a.contrastBorder},i.localize(1182,\"Color of the peek view borders and arrow.\")),e.peekViewResultsBackground=(0,a.registerColor)(\"peekViewResult.background\",{dark:\"#252526\",light:\"#F3F3F3\",hcDark:m.Color.black,hcLight:m.Color.white},i.localize(1183,\"Background color of the peek view result list.\")),e.peekViewResultsMatchForeground=(0,a.registerColor)(\"peekViewResult.lineForeground\",{dark:\"#bbbbbb\",light:\"#646465\",hcDark:m.Color.white,hcLight:a.editorForeground},i.localize(1184,\"Foreground color for line nodes in the peek view result list.\")),e.peekViewResultsFileForeground=(0,a.registerColor)(\"peekViewResult.fileForeground\",{dark:m.Color.white,light:\"#1E1E1E\",hcDark:m.Color.white,hcLight:a.editorForeground},i.localize(1185,\"Foreground color for file nodes in the peek view result list.\")),e.peekViewResultsSelectionBackground=(0,a.registerColor)(\"peekViewResult.selectionBackground\",{dark:\"#3399ff33\",light:\"#3399ff33\",hcDark:null,hcLight:null},i.localize(1186,\"Background color of the selected entry in the peek view result list.\")),e.peekViewResultsSelectionForeground=(0,a.registerColor)(\"peekViewResult.selectionForeground\",{dark:m.Color.white,light:\"#6C6C6C\",hcDark:m.Color.white,hcLight:a.editorForeground},i.localize(1187,\"Foreground color of the selected entry in the peek view result list.\")),e.peekViewEditorBackground=(0,a.registerColor)(\"peekViewEditor.background\",{dark:\"#001F33\",light:\"#F2F8FC\",hcDark:m.Color.black,hcLight:m.Color.white},i.localize(1188,\"Background color of the peek view editor.\")),e.peekViewEditorGutterBackground=(0,a.registerColor)(\"peekViewEditorGutter.background\",e.peekViewEditorBackground,i.localize(1189,\"Background color of the gutter in the peek view editor.\")),e.peekViewEditorStickyScrollBackground=(0,a.registerColor)(\"peekViewEditorStickyScroll.background\",e.peekViewEditorBackground,i.localize(1190,\"Background color of sticky scroll in the peek view editor.\")),e.peekViewResultsMatchHighlight=(0,a.registerColor)(\"peekViewResult.matchHighlightBackground\",{dark:\"#ea5c004d\",light:\"#ea5c004d\",hcDark:null,hcLight:null},i.localize(1191,\"Match highlight color in the peek view result list.\")),e.peekViewEditorMatchHighlight=(0,a.registerColor)(\"peekViewEditor.matchHighlightBackground\",{dark:\"#ff8f0099\",light:\"#f5d802de\",hcDark:null,hcLight:null},i.localize(1192,\"Match highlight color in the peek view editor.\")),e.peekViewEditorMatchHighlightBorder=(0,a.registerColor)(\"peekViewEditor.matchHighlightBorder\",{dark:null,light:null,hcDark:a.activeContrastBorder,hcLight:a.activeContrastBorder},i.localize(1193,\"Match highlight border in the peek view editor.\"))}),define(ne[843],se([1,0,5,86,13,33,6,2,48,11,4,158,3,124,29,12,7,181,108,59,723,32,25,512]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){\"use strict\";var f;Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarkerNavigationWidget=void 0;class h{constructor(x,W,V,q,H){this._openerService=q,this._labelService=H,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new m.DisposableStore,this._editor=W;const z=document.createElement(\"div\");z.className=\"descriptioncontainer\",this._messageBlock=document.createElement(\"div\"),this._messageBlock.classList.add(\"message\"),this._messageBlock.setAttribute(\"aria-live\",\"assertive\"),this._messageBlock.setAttribute(\"role\",\"alert\"),z.appendChild(this._messageBlock),this._relatedBlock=document.createElement(\"div\"),z.appendChild(this._relatedBlock),this._disposables.add(d.addStandardDisposableListener(this._relatedBlock,\"click\",U=>{U.preventDefault();const j=this._relatedDiagnostics.get(U.target);j&&V(j)})),this._scrollable=new k.ScrollableElement(z,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),x.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(U=>{z.style.left=`-${U.scrollLeft}px`,z.style.top=`-${U.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){(0,m.dispose)(this._disposables)}update(x){const{source:W,message:V,relatedInformation:q,code:H}=x;let z=(W?.length||0)+2;H&&(typeof H==\"string\"?z+=H.length:z+=H.value.length);const U=(0,b.splitLines)(V);this._lines=U.length,this._longestLineLength=0;for(const R of U)this._longestLineLength=Math.max(R.length+z,this._longestLineLength);d.clearNode(this._messageBlock),this._messageBlock.setAttribute(\"aria-label\",this.getAriaLabel(x)),this._editor.applyFontInfo(this._messageBlock);let j=this._messageBlock;for(const R of U)j=document.createElement(\"div\"),j.innerText=R,R===\"\"&&(j.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(j);if(W||H){const R=document.createElement(\"span\");if(R.classList.add(\"details\"),j.appendChild(R),W){const J=document.createElement(\"span\");J.innerText=W,J.classList.add(\"source\"),R.appendChild(J)}if(H)if(typeof H==\"string\"){const J=document.createElement(\"span\");J.innerText=`(${H})`,J.classList.add(\"code\"),R.appendChild(J)}else{this._codeLink=d.$(\"a.code-link\"),this._codeLink.setAttribute(\"href\",`${H.target.toString()}`),this._codeLink.onclick=ie=>{this._openerService.open(H.target,{allowCommands:!0}),ie.preventDefault(),ie.stopPropagation()};const J=d.append(this._codeLink,d.$(\"span\"));J.innerText=H.value,R.appendChild(this._codeLink)}}if(d.clearNode(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,I.isNonEmptyArray)(q)){const R=this._relatedBlock.appendChild(document.createElement(\"div\"));R.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const J of q){const ie=document.createElement(\"div\"),ue=document.createElement(\"a\");ue.classList.add(\"filename\"),ue.innerText=`${this._labelService.getUriBasenameLabel(J.resource)}(${J.startLineNumber}, ${J.startColumn}): `,ue.title=this._labelService.getUriLabel(J.resource),this._relatedDiagnostics.set(ue,J);const he=document.createElement(\"span\");he.innerText=J.message,ie.appendChild(ue),ie.appendChild(he),this._lines+=1,R.appendChild(ie)}}const Y=this._editor.getOption(50),G=Math.ceil(Y.typicalFullwidthCharacterWidth*this._longestLineLength*.75),K=Y.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:G,scrollHeight:K})}layout(x,W){this._scrollable.getDomNode().style.height=`${x}px`,this._scrollable.getDomNode().style.width=`${W}px`,this._scrollable.setScrollDimensions({width:W,height:x})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(x){let W=\"\";switch(x.severity){case l.MarkerSeverity.Error:W=o.localize(932,\"Error\");break;case l.MarkerSeverity.Warning:W=o.localize(933,\"Warning\");break;case l.MarkerSeverity.Info:W=o.localize(934,\"Info\");break;case l.MarkerSeverity.Hint:W=o.localize(935,\"Hint\");break}let V=o.localize(936,\"{0} at {1}. \",W,x.startLineNumber+\":\"+x.startColumn);const q=this._editor.getModel();return q&&x.startLineNumber<=q.getLineCount()&&x.startLineNumber>=1&&(V=`${q.getLineContent(x.startLineNumber)}, ${V}`),V}}let v=class extends n.PeekViewWidget{static{f=this}static{this.TitleMenu=new i.MenuId(\"gotoErrorTitleMenu\")}constructor(x,W,V,q,H,z,U){super(x,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},H),this._themeService=W,this._openerService=V,this._menuService=q,this._contextKeyService=z,this._labelService=U,this._callOnDispose=new m.DisposableStore,this._onDidSelectRelatedInformation=new y.Emitter,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=l.MarkerSeverity.Warning,this._backgroundColor=E.Color.white,this._applyTheme(W.getColorTheme()),this._callOnDispose.add(W.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(x){this._backgroundColor=x.getColor(O);let W=D,V=T;this._severity===l.MarkerSeverity.Warning?(W=M,V=A):this._severity===l.MarkerSeverity.Info&&(W=P,V=N);const q=x.getColor(W),H=x.getColor(V);this.style({arrowColor:q,frameColor:q,headerBackgroundColor:H,primaryHeadingColor:x.getColor(n.peekViewTitleForeground),secondaryHeadingColor:x.getColor(n.peekViewTitleInfoForeground)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():\"\"),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(x){super._fillHead(x),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(q=>this.editor.focus()));const W=[],V=this._menuService.getMenuActions(f.TitleMenu,this._contextKeyService);(0,t.createAndFillInActionBarActions)(V,W),this._actionbarWidget.push(W,{label:!1,icon:!0,index:0})}_fillTitleIcon(x){this._icon=d.append(x,d.$(\"\"))}_fillBody(x){this._parentContainer=x,x.classList.add(\"marker-widget\"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute(\"role\",\"tooltip\"),this._container=document.createElement(\"div\"),x.appendChild(this._container),this._message=new h(this._container,this.editor,W=>this._onDidSelectRelatedInformation.fire(W),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error(\"call showAtMarker\")}showAtMarker(x,W,V){this._container.classList.remove(\"stale\"),this._message.update(x),this._severity=x.severity,this._applyTheme(this._themeService.getColorTheme());const q=p.Range.lift(x),H=this.editor.getPosition(),z=H&&q.containsPosition(H)?H:q.getStartPosition();super.show(z,this.computeRequiredHeight());const U=this.editor.getModel();if(U){const j=V>1?o.localize(937,\"{0} of {1} problems\",W,V):o.localize(938,\"{0} of {1} problem\",W,V);this.setTitle((0,_.basename)(U.uri),j)}this._icon.className=`codicon ${r.SeverityIcon.className(l.MarkerSeverity.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(z,0),this.editor.focus()}updateMarker(x){this._container.classList.remove(\"stale\"),this._message.update(x)}showStale(){this._container.classList.add(\"stale\"),this._relayout()}_doLayoutBody(x,W){super._doLayoutBody(x,W),this._heightInPixel=x,this._message.layout(x,W),this._container.style.height=`${x}px`}_onWidth(x){this._message.layout(this._heightInPixel,x)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};e.MarkerNavigationWidget=v,e.MarkerNavigationWidget=v=f=ke([ce(1,C.IThemeService),ce(2,a.IOpenerService),ce(3,i.IMenuService),ce(4,g.IInstantiationService),ce(5,s.IContextKeyService),ce(6,c.ILabelService)],v);const w=(0,u.oneOf)(u.editorErrorForeground,u.editorErrorBorder),S=(0,u.oneOf)(u.editorWarningForeground,u.editorWarningBorder),L=(0,u.oneOf)(u.editorInfoForeground,u.editorInfoBorder),D=(0,u.registerColor)(\"editorMarkerNavigationError.background\",{dark:w,light:w,hcDark:u.contrastBorder,hcLight:u.contrastBorder},o.localize(939,\"Editor marker navigation widget error color.\")),T=(0,u.registerColor)(\"editorMarkerNavigationError.headerBackground\",{dark:(0,u.transparent)(D,.1),light:(0,u.transparent)(D,.1),hcDark:null,hcLight:null},o.localize(940,\"Editor marker navigation widget error heading background.\")),M=(0,u.registerColor)(\"editorMarkerNavigationWarning.background\",{dark:S,light:S,hcDark:u.contrastBorder,hcLight:u.contrastBorder},o.localize(941,\"Editor marker navigation widget warning color.\")),A=(0,u.registerColor)(\"editorMarkerNavigationWarning.headerBackground\",{dark:(0,u.transparent)(M,.1),light:(0,u.transparent)(M,.1),hcDark:\"#0C141F\",hcLight:(0,u.transparent)(M,.2)},o.localize(942,\"Editor marker navigation widget warning heading background.\")),P=(0,u.registerColor)(\"editorMarkerNavigationInfo.background\",{dark:L,light:L,hcDark:u.contrastBorder,hcLight:u.contrastBorder},o.localize(943,\"Editor marker navigation widget info color.\")),N=(0,u.registerColor)(\"editorMarkerNavigationInfo.headerBackground\",{dark:(0,u.transparent)(P,.1),light:(0,u.transparent)(P,.1),hcDark:null,hcLight:null},o.localize(944,\"Editor marker navigation widget info heading background.\")),O=(0,u.registerColor)(\"editorMarkerNavigation.background\",u.editorBackground,o.localize(945,\"Editor marker navigation widget background.\"))}),define(ne[427],se([1,0,26,2,15,34,9,4,20,698,3,29,12,7,71,843]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";var g;Object.defineProperty(e,\"__esModule\",{value:!0}),e.NextMarkerAction=e.MarkerController=void 0;let c=class{static{g=this}static{this.ID=\"editor.contrib.markerController\"}static get(w){return w.getContribution(g.ID)}constructor(w,S,L,D,T){this._markerNavigationService=S,this._contextKeyService=L,this._editorService=D,this._instantiationService=T,this._sessionDispoables=new k.DisposableStore,this._editor=w,this._widgetVisible=f.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(w){if(this._model&&this._model.matches(w))return this._model;let S=!1;return this._model&&(S=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(w),S&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(s.MarkerNavigationWidget,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(L=>{(!this._model?.selected||!m.Range.containsPosition(this._model?.selected.marker,L.position))&&this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const L=this._model.find(this._editor.getModel().uri,this._widget.position);L?this._widget.updateMarker(L.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(L=>{this._editorService.openCodeEditor({resource:L.resource,options:{pinned:!0,revealIfOpened:!0,selection:m.Range.lift(L).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(w=!0){this._cleanUp(),w&&this._editor.focus()}showAtMarker(w){if(this._editor.hasModel()){const S=this._getOrCreateModel(this._editor.getModel().uri);S.resetIndex(),S.move(!0,this._editor.getModel(),new y.Position(w.startLineNumber,w.startColumn)),S.selected&&this._widget.showAtMarker(S.selected.marker,S.selected.index,S.selected.total)}}async nagivate(w,S){if(this._editor.hasModel()){const L=this._getOrCreateModel(S?void 0:this._editor.getModel().uri);if(L.move(w,this._editor.getModel(),this._editor.getPosition()),!L.selected)return;if(L.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const D=await this._editorService.openCodeEditor({resource:L.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:L.selected.marker}},this._editor);D&&(g.get(D)?.close(),g.get(D)?.nagivate(w,S))}else this._widget.showAtMarker(L.selected.marker,L.selected.index,L.selected.total)}}};e.MarkerController=c,e.MarkerController=c=g=ke([ce(1,b.IMarkerNavigationService),ce(2,o.IContextKeyService),ce(3,E.ICodeEditorService),ce(4,t.IInstantiationService)],c);class l extends I.EditorAction{constructor(w,S,L){super(L),this._next=w,this._multiFile=S}async run(w,S){S.hasModel()&&c.get(S)?.nagivate(this._next,this._multiFile)}}class a extends l{static{this.ID=\"editor.action.marker.next\"}static{this.LABEL=p.localize(924,\"Go to Next Problem (Error, Warning, Info)\")}constructor(){super(!0,!1,{id:a.ID,label:a.LABEL,alias:\"Go to Next Problem (Error, Warning, Info)\",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.focus,primary:578,weight:100},menuOpts:{menuId:s.MarkerNavigationWidget.TitleMenu,title:a.LABEL,icon:(0,i.registerIcon)(\"marker-navigation-next\",d.Codicon.arrowDown,p.localize(925,\"Icon for goto next marker.\")),group:\"navigation\",order:1}})}}e.NextMarkerAction=a;class r extends l{static{this.ID=\"editor.action.marker.prev\"}static{this.LABEL=p.localize(926,\"Go to Previous Problem (Error, Warning, Info)\")}constructor(){super(!1,!1,{id:r.ID,label:r.LABEL,alias:\"Go to Previous Problem (Error, Warning, Info)\",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.focus,primary:1602,weight:100},menuOpts:{menuId:s.MarkerNavigationWidget.TitleMenu,title:r.LABEL,icon:(0,i.registerIcon)(\"marker-navigation-previous\",d.Codicon.arrowUp,p.localize(927,\"Icon for goto previous marker.\")),group:\"navigation\",order:2}})}}class u extends l{constructor(){super(!0,!0,{id:\"editor.action.marker.nextInFiles\",label:p.localize(928,\"Go to Next Problem in Files (Error, Warning, Info)\"),alias:\"Go to Next Problem in Files (Error, Warning, Info)\",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.focus,primary:66,weight:100},menuOpts:{menuId:n.MenuId.MenubarGoMenu,title:p.localize(929,\"Next &&Problem\"),group:\"6_problem_nav\",order:1}})}}class C extends l{constructor(){super(!1,!0,{id:\"editor.action.marker.prevInFiles\",label:p.localize(930,\"Go to Previous Problem in Files (Error, Warning, Info)\"),alias:\"Go to Previous Problem in Files (Error, Warning, Info)\",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.focus,primary:1090,weight:100},menuOpts:{menuId:n.MenuId.MenubarGoMenu,title:p.localize(931,\"Previous &&Problem\"),group:\"6_problem_nav\",order:2}})}}(0,I.registerEditorContribution)(c.ID,c,4),(0,I.registerEditorAction)(a),(0,I.registerEditorAction)(r),(0,I.registerEditorAction)(u),(0,I.registerEditorAction)(C);const f=new o.RawContextKey(\"markersNavigationVisible\",!1),h=I.EditorCommand.bindToContribution(c.get);(0,I.registerEditorCommand)(new h({id:\"closeMarkersNavigation\",precondition:f,handler:v=>v.close(),kbOpts:{weight:150,kbExpr:_.EditorContextKeys.focus,primary:9,secondary:[1033]}}))}),define(ne[844],se([1,0,5,357,33,6,2,42,48,125,4,35,70,78,758,158,3,7,31,181,216,25,178,514]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReferenceWidget=e.LayoutData=void 0;class f{static{this.DecorationOptions=n.ModelDecorationOptions.register({description:\"reference-decoration\",stickiness:1,className:\"reference-decoration\"})}constructor(L,D){this._editor=L,this._model=D,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new y.DisposableStore,this._callOnModelChange=new y.DisposableStore,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const L=this._editor.getModel();if(L){for(const D of this._model.references)if(D.uri.toString()===L.uri.toString()){this._addDecorations(D.parent);return}}}_addDecorations(L){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const D=[],T=[];for(let M=0,A=L.children.length;M<A;M++){const P=L.children[M];this._decorationIgnoreSet.has(P.id)||P.uri.toString()===this._editor.getModel().uri.toString()&&(D.push({range:P.range,options:f.DecorationOptions}),T.push(M))}this._editor.changeDecorations(M=>{const A=M.deltaDecorations([],D);for(let P=0;P<A.length;P++)this._decorations.set(A[P],L.children[T[P]])})}_onDecorationChanged(){const L=[],D=this._editor.getModel();if(D){for(const[T,M]of this._decorations){const A=D.getDecorationRange(T);if(!A)continue;let P=!1;if(!p.Range.equalsRange(A,M.range)){if(p.Range.spansMultipleLines(A))P=!0;else{const N=M.range.endColumn-M.range.startColumn,O=A.endColumn-A.startColumn;N!==O&&(P=!0)}P?(this._decorationIgnoreSet.add(M.id),L.push(T)):M.range=A}}for(let T=0,M=L.length;T<M;T++)this._decorations.delete(L[T]);this._editor.removeDecorations(L)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}}class h{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(L){let D,T;try{const M=JSON.parse(L);D=M.ratio,T=M.heightInLines}catch{}return{ratio:D||.7,heightInLines:T||18}}}e.LayoutData=h;class v extends r.WorkbenchAsyncDataTree{}let w=class extends s.PeekViewWidget{constructor(L,D,T,M,A,P,N,O,F){super(L,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},P),this._defaultTreeKeyboardSupport=D,this.layoutData=T,this._textModelResolverService=A,this._instantiationService=P,this._peekViewService=N,this._uriLabel=O,this._keybindingService=F,this._disposeOnNewModel=new y.DisposableStore,this._callOnDispose=new y.DisposableStore,this._onDidSelectReference=new E.Emitter,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new d.Dimension(0,0),this._isClosing=!1,this._applyTheme(M.getColorTheme()),this._callOnDispose.add(M.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(L,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),(0,y.dispose)(this._preview),(0,y.dispose)(this._previewNotAvailableMessage),(0,y.dispose)(this._tree),(0,y.dispose)(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(L){const D=L.getColor(s.peekViewBorder)||I.Color.transparent;this.style({arrowColor:D,frameColor:D,headerBackgroundColor:L.getColor(s.peekViewTitleBackground)||I.Color.transparent,primaryHeadingColor:L.getColor(s.peekViewTitleForeground),secondaryHeadingColor:L.getColor(s.peekViewTitleInfoForeground)})}show(L){super.show(L,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(L){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:L.ctrlKey||L.metaKey||L.altKey?\"side\":\"open\",source:\"title\"})}_fillBody(L){this.setCssClass(\"reference-zone-widget\"),this._messageContainer=d.append(L,d.$(\"div.messages\")),d.hide(this._messageContainer),this._splitView=new k.SplitView(L,{orientation:1}),this._previewContainer=d.append(L,d.$(\"div.preview.inline\"));const D={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:\"auto\",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(b.EmbeddedCodeEditorWidget,this._previewContainer,D,{},this.editor),d.hide(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(n.TextModel,g.localize(992,\"no preview available\"),o.PLAINTEXT_LANGUAGE_ID,n.TextModel.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=d.append(L,d.$(\"div.ref-tree.inline\"));const T={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new i.AccessibilityProvider,keyboardNavigationLabelProvider:this._instantiationService.createInstance(i.StringRepresentationProvider),identityProvider:new i.IdentityProvider,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:s.peekViewResultsBackground}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(d.addStandardDisposableListener(this._treeContainer,\"keydown\",A=>{A.equals(9)&&(this._keybindingService.dispatchEvent(A,A.target),A.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(v,\"ReferencesWidget\",this._treeContainer,new i.Delegate,[this._instantiationService.createInstance(i.FileReferencesRenderer),this._instantiationService.createInstance(i.OneReferenceRenderer)],this._instantiationService.createInstance(i.DataSource),T),this._splitView.addView({onDidChange:E.Event.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:A=>{this._preview.layout({height:this._dim.height,width:A})}},k.Sizing.Distribute),this._splitView.addView({onDidChange:E.Event.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:A=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${A}px`,this._tree.layout(this._dim.height,A)}},k.Sizing.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const M=(A,P)=>{A instanceof C.OneReference&&(P===\"show\"&&this._revealReference(A,!1),this._onDidSelectReference.fire({element:A,kind:P,source:\"tree\"}))};this._disposables.add(this._tree.onDidOpen(A=>{A.sideBySide?M(A.element,\"side\"):A.editorOptions.pinned?M(A.element,\"goto\"):M(A.element,\"show\")})),d.hide(this._treeContainer)}_onWidth(L){this._dim&&this._doLayoutBody(this._dim.height,L)}_doLayoutBody(L,D){super._doLayoutBody(L,D),this._dim=new d.Dimension(D,L),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(D),this._splitView.resizeView(0,D*this.layoutData.ratio)}setSelection(L){return this._revealReference(L,!0).then(()=>{this._model&&(this._tree.setSelection([L]),this._tree.setFocus([L]))})}setModel(L){return this._disposeOnNewModel.clear(),this._model=L,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(\"\"),this._messageContainer.innerText=g.localize(993,\"No results\"),d.show(this._messageContainer),Promise.resolve(void 0)):(d.hide(this._messageContainer),this._decorationsManager=new f(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(L=>this._tree.rerender(L))),this._disposeOnNewModel.add(this._preview.onMouseDown(L=>{const{event:D,target:T}=L;if(D.detail!==2)return;const M=this._getFocusedReference();M&&this._onDidSelectReference.fire({element:{uri:M.uri,range:T.range},kind:D.ctrlKey||D.metaKey||D.altKey?\"side\":\"open\",source:\"editor\"})})),this.container.classList.add(\"results-loaded\"),d.show(this._treeContainer),d.show(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[L]=this._tree.getFocus();if(L instanceof C.OneReference)return L;if(L instanceof C.FileReferences&&L.children.length>0)return L.children[0]}async revealReference(L){await this._revealReference(L,!1),this._onDidSelectReference.fire({element:L,kind:\"goto\",source:\"tree\"})}async _revealReference(L,D){if(this._revealedReference===L)return;this._revealedReference=L,L.uri.scheme!==m.Schemas.inMemory?this.setTitle((0,_.basenameOrAuthority)(L.uri),this._uriLabel.getUriLabel((0,_.dirname)(L.uri))):this.setTitle(g.localize(994,\"References\"));const T=this._textModelResolverService.createModelReference(L.uri);this._tree.getInput()===L.parent?this._tree.reveal(L):(D&&this._tree.reveal(L.parent),await this._tree.expand(L.parent),this._tree.reveal(L));const M=await T;if(!this._model){M.dispose();return}(0,y.dispose)(this._previewModelReference);const A=M.object;if(A){const P=this._preview.getModel()===A.textEditorModel?0:1,N=p.Range.lift(L.range).collapseToStart();this._previewModelReference=M,this._preview.setModel(A.textEditorModel),this._preview.setSelection(N),this._preview.revealRangeInCenter(N,P)}else this._preview.setModel(this._previewNotAvailableMessage),M.dispose()}};e.ReferenceWidget=w,e.ReferenceWidget=w=ke([ce(3,u.IThemeService),ce(4,t.ITextModelService),ce(5,c.IInstantiationService),ce(6,s.IPeekViewService),ce(7,a.ILabelService),ce(8,l.IKeybindingService)],w)}),define(ne[428],se([1,0,14,8,72,2,34,9,4,158,3,24,28,12,7,121,216,50,101,178,844,20,179]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C){\"use strict\";var f;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReferencesController=e.ctxReferenceSearchVisible=void 0,e.ctxReferenceSearchVisible=new t.RawContextKey(\"referenceSearchVisible\",!1,p.localize(986,\"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'\"));let h=class{static{f=this}static{this.ID=\"editor.contrib.referencesController\"}static get(S){return S.getContribution(f.ID)}constructor(S,L,D,T,M,A,P,N){this._defaultTreeKeyboardSupport=S,this._editor=L,this._editorService=T,this._notificationService=M,this._instantiationService=A,this._storageService=P,this._configurationService=N,this._disposables=new E.DisposableStore,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=e.ctxReferenceSearchVisible.bindTo(D)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(S,L,D){let T;if(this._widget&&(T=this._widget.position),this.closeWidget(),T&&S.containsPosition(T))return;this._peekMode=D,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const M=\"peekViewLayout\",A=r.LayoutData.fromJSON(this._storageService.get(M,0,\"{}\"));this._widget=this._instantiationService.createInstance(r.ReferenceWidget,this._editor,this._defaultTreeKeyboardSupport,A),this._widget.setTitle(p.localize(987,\"Loading...\")),this._widget.show(S),this._disposables.add(this._widget.onDidClose(()=>{L.cancel(),this._widget?(this._storageService.store(M,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(N=>{const{element:O,kind:F}=N;if(O)switch(F){case\"open\":(N.source!==\"editor\"||!this._configurationService.getValue(\"editor.stablePeek\"))&&this.openReference(O,!1,!1);break;case\"side\":this.openReference(O,!0,!1);break;case\"goto\":D?this._gotoReference(O,!0):this.openReference(O,!1,!0);break}}));const P=++this._requestIdPool;L.then(N=>{if(P!==this._requestIdPool||!this._widget){N.dispose();return}return this._model?.dispose(),this._model=N,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(\"\"):this._widget.setMetaTitle(p.localize(988,\"{0} ({1})\",this._model.title,this._model.references.length));const O=this._editor.getModel().uri,F=new m.Position(S.startLineNumber,S.startColumn),x=this._model.nearestReference(O,F);if(x)return this._widget.setSelection(x).then(()=>{this._widget&&this._editor.getOption(87)===\"editor\"&&this._widget.focusOnPreviewEditor()})}})},N=>{this._notificationService.error(N)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(S){if(!this._editor.hasModel()||!this._model||!this._widget)return;const L=this._widget.position;if(!L)return;const D=this._model.nearestReference(this._editor.getModel().uri,L);if(!D)return;const T=this._model.nextOrPreviousReference(D,S),M=this._editor.hasTextFocus(),A=this._widget.isPreviewEditorFocused();await this._widget.setSelection(T),await this._gotoReference(T,!1),M?this._editor.focus():this._widget&&A&&this._widget.focusOnPreviewEditor()}async revealReference(S){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(S)}closeWidget(S=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,S&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(S,L){this._widget?.hide(),this._ignoreModelChangeEvent=!0;const D=_.Range.lift(S.range).collapseToStart();return this._editorService.openCodeEditor({resource:S.uri,options:{selection:D,selectionSource:\"code.jump\",pinned:L}},this._editor).then(T=>{if(this._ignoreModelChangeEvent=!1,!T||!this._widget){this.closeWidget();return}if(this._editor===T)this._widget.show(D),this._widget.focusOnReferenceTree();else{const M=f.get(T),A=this._model.clone();this.closeWidget(),T.focus(),M?.toggleWidget(D,(0,d.createCancelablePromise)(P=>Promise.resolve(A)),this._peekMode??!1)}},T=>{this._ignoreModelChangeEvent=!1,(0,k.onUnexpectedError)(T)})}openReference(S,L,D){L||this.closeWidget();const{uri:T,range:M}=S;this._editorService.openCodeEditor({resource:T,options:{selection:M,selectionSource:\"code.jump\",pinned:D}},this._editor,L)}};e.ReferencesController=h,e.ReferencesController=h=f=ke([ce(2,t.IContextKeyService),ce(3,y.ICodeEditorService),ce(4,c.INotificationService),ce(5,i.IInstantiationService),ce(6,l.IStorageService),ce(7,o.IConfigurationService)],h);function v(w,S){const L=(0,b.getOuterEditor)(w);if(!L)return;const D=h.get(L);D&&S(D)}s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:\"togglePeekWidgetFocus\",weight:100,primary:(0,I.KeyChord)(2089,60),when:t.ContextKeyExpr.or(e.ctxReferenceSearchVisible,b.PeekContext.inPeekEditor),handler(w){v(w,S=>{S.changeFocusBetweenPreviewAndReferences()})}}),s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:\"goToNextReference\",weight:90,primary:62,secondary:[70],when:t.ContextKeyExpr.or(e.ctxReferenceSearchVisible,b.PeekContext.inPeekEditor),handler(w){v(w,S=>{S.goToNextOrPreviousReference(!0)})}}),s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:\"goToPreviousReference\",weight:90,primary:1086,secondary:[1094],when:t.ContextKeyExpr.or(e.ctxReferenceSearchVisible,b.PeekContext.inPeekEditor),handler(w){v(w,S=>{S.goToNextOrPreviousReference(!1)})}}),n.CommandsRegistry.registerCommandAlias(\"goToNextReferenceFromEmbeddedEditor\",\"goToNextReference\"),n.CommandsRegistry.registerCommandAlias(\"goToPreviousReferenceFromEmbeddedEditor\",\"goToPreviousReference\"),n.CommandsRegistry.registerCommandAlias(\"closeReferenceSearchEditor\",\"closeReferenceSearch\"),n.CommandsRegistry.registerCommand(\"closeReferenceSearch\",w=>v(w,S=>S.closeWidget())),s.KeybindingsRegistry.registerKeybindingRule({id:\"closeReferenceSearch\",weight:-1,primary:9,secondary:[1033],when:t.ContextKeyExpr.and(b.PeekContext.inPeekEditor,t.ContextKeyExpr.not(\"config.editor.stablePeek\"))}),s.KeybindingsRegistry.registerKeybindingRule({id:\"closeReferenceSearch\",weight:250,primary:9,secondary:[1033],when:t.ContextKeyExpr.and(e.ctxReferenceSearchVisible,t.ContextKeyExpr.not(\"config.editor.stablePeek\"),t.ContextKeyExpr.or(u.EditorContextKeys.editorTextFocus,C.InputFocusedContext.negate()))}),s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:\"revealReference\",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:t.ContextKeyExpr.and(e.ctxReferenceSearchVisible,g.WorkbenchListFocusContextKey,g.WorkbenchTreeElementCanCollapse.negate(),g.WorkbenchTreeElementCanExpand.negate()),handler(w){const L=w.get(g.IListService).lastFocusedList?.getFocus();Array.isArray(L)&&L[0]instanceof a.OneReference&&v(w,D=>D.revealReference(L[0]))}}),s.KeybindingsRegistry.registerCommandAndKeybindingRule({id:\"openReferenceToSide\",weight:100,primary:2051,mac:{primary:259},when:t.ContextKeyExpr.and(e.ctxReferenceSearchVisible,g.WorkbenchListFocusContextKey,g.WorkbenchTreeElementCanCollapse.negate(),g.WorkbenchTreeElementCanExpand.negate()),handler(w){const L=w.get(g.IListService).lastFocusedList?.getFocus();Array.isArray(L)&&L[0]instanceof a.OneReference&&v(w,D=>D.openReference(L[0],!0,!0))}}),n.CommandsRegistry.registerCommand(\"openReference\",w=>{const L=w.get(g.IListService).lastFocusedList?.getFocus();Array.isArray(L)&&L[0]instanceof a.OneReference&&v(w,D=>D.openReference(L[0],!1,!0))})}),define(ne[291],se([1,0,46,14,72,19,22,122,168,15,34,125,9,4,20,27,428,178,736,184,158,3,29,24,12,7,50,96,277,17,53,179]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DefinitionAction=e.SymbolNavigationAction=e.SymbolNavigationAnchor=void 0,C.MenuRegistry.appendMenuItem(C.MenuId.EditorContext,{submenu:C.MenuId.EditorContextPeek,title:u.localize(946,\"Peek\"),group:\"navigation\",order:100});class A{static is(H){return!H||typeof H!=\"object\"?!1:!!(H instanceof A||o.Position.isIPosition(H.position)&&H.model)}constructor(H,z){this.model=H,this.position=z}}e.SymbolNavigationAnchor=A;class P extends b.EditorAction2{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return P._allSymbolNavigationCommands.values()}static _patchConfig(H){const z={...H,f1:!0};if(z.menu)for(const U of T.Iterable.wrap(z.menu))(U.id===C.MenuId.EditorContext||U.id===C.MenuId.EditorContextPeek)&&(U.when=h.ContextKeyExpr.and(H.precondition,U.when));return z}constructor(H,z){super(P._patchConfig(z)),this.configuration=H,P._allSymbolNavigationCommands.set(z.id,this)}runEditorCommand(H,z,U,j){if(!z.hasModel())return Promise.resolve(void 0);const Y=H.get(w.INotificationService),G=H.get(p.ICodeEditorService),K=H.get(S.IEditorProgressService),R=H.get(l.ISymbolNavigationService),J=H.get(D.ILanguageFeaturesService),ie=H.get(v.IInstantiationService),ue=z.getModel(),he=z.getPosition(),pe=A.is(U)?U:new A(ue,he),ae=new m.EditorStateCancellationTokenSource(z,5),ee=(0,k.raceCancellation)(this._getLocationModel(J,pe.model,pe.position,ae.token),ae.token).then(async de=>{if(!de||ae.token.isCancellationRequested)return;(0,d.alert)(de.ariaMessage);let ge;if(de.referenceAt(ue.uri,he)){const B=this._getAlternativeCommand(z);!P._activeAlternativeCommands.has(B)&&P._allSymbolNavigationCommands.has(B)&&(ge=P._allSymbolNavigationCommands.get(B))}const X=de.references.length;if(X===0){if(!this.configuration.muteMessage){const B=ue.getWordAtPosition(he);a.MessageController.get(z)?.showMessage(this._getNoResultFoundMessage(B),he)}}else if(X===1&&ge)P._activeAlternativeCommands.add(this.desc.id),ie.invokeFunction(B=>ge.runEditorCommand(B,z,U,j).finally(()=>{P._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(G,R,z,de,j)},de=>{Y.error(de)}).finally(()=>{ae.dispose()});return K.showWhile(ee,250),ee}async _onResult(H,z,U,j,Y){const G=this._getGoToPreference(U);if(!(U instanceof n.EmbeddedCodeEditorWidget)&&(this.configuration.openInPeek||G===\"peek\"&&j.references.length>1))this._openInPeek(U,j,Y);else{const K=j.firstReference(),R=j.references.length>1&&G===\"gotoAndPeek\",J=await this._openReference(U,H,K,this.configuration.openToSide,!R);R&&J?this._openInPeek(J,j,Y):j.dispose(),G===\"goto\"&&z.put(K)}}async _openReference(H,z,U,j,Y){let G;if((0,s.isLocationLink)(U)&&(G=U.targetSelectionRange),G||(G=U.range),!G)return;const K=await z.openCodeEditor({resource:U.uri,options:{selection:t.Range.collapseToStart(G),selectionRevealType:3,selectionSource:\"code.jump\"}},H,j);if(K){if(Y){const R=K.getModel(),J=K.createDecorationsCollection([{range:G,options:{description:\"symbol-navigate-action-highlight\",className:\"symbolHighlight\"}}]);setTimeout(()=>{K.getModel()===R&&J.clear()},350)}return K}}_openInPeek(H,z,U){const j=g.ReferencesController.get(H);j&&H.hasModel()?j.toggleWidget(U??H.getSelection(),(0,k.createCancelablePromise)(Y=>Promise.resolve(z)),this.configuration.openInPeek):z.dispose()}}e.SymbolNavigationAction=P;class N extends P{async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getDefinitionsAtPosition)(H.definitionProvider,z,U,!1,j),u.localize(947,\"Definitions\"))}_getNoResultFoundMessage(H){return H&&H.word?u.localize(948,\"No definition found for '{0}'\",H.word):u.localize(949,\"No definition found\")}_getAlternativeCommand(H){return H.getOption(58).alternativeDefinitionCommand}_getGoToPreference(H){return H.getOption(58).multipleDefinitions}}e.DefinitionAction=N,(0,C.registerAction2)(class Gt extends N{static{this.id=\"editor.action.revealDefinition\"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Gt.id,title:{...u.localize2(973,\"Go to Definition\"),mnemonicTitle:u.localize(950,\"Go to &&Definition\")},precondition:i.EditorContextKeys.hasDefinitionProvider,keybinding:[{when:i.EditorContextKeys.editorTextFocus,primary:70,weight:100},{when:h.ContextKeyExpr.and(i.EditorContextKeys.editorTextFocus,M.IsWebContext),primary:2118,weight:100}],menu:[{id:C.MenuId.EditorContext,group:\"navigation\",order:1.1},{id:C.MenuId.MenubarGoMenu,precondition:null,group:\"4_symbol_nav\",order:2}]}),f.CommandsRegistry.registerCommandAlias(\"editor.action.goToDeclaration\",Gt.id)}}),(0,C.registerAction2)(class Yt extends N{static{this.id=\"editor.action.revealDefinitionAside\"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Yt.id,title:u.localize2(974,\"Open Definition to the Side\"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasDefinitionProvider,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:[{when:i.EditorContextKeys.editorTextFocus,primary:(0,I.KeyChord)(2089,70),weight:100},{when:h.ContextKeyExpr.and(i.EditorContextKeys.editorTextFocus,M.IsWebContext),primary:(0,I.KeyChord)(2089,2118),weight:100}]}),f.CommandsRegistry.registerCommandAlias(\"editor.action.openDeclarationToTheSide\",Yt.id)}}),(0,C.registerAction2)(class Qt extends N{static{this.id=\"editor.action.peekDefinition\"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Qt.id,title:u.localize2(975,\"Peek Definition\"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasDefinitionProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:C.MenuId.EditorContextPeek,group:\"peek\",order:2}}),f.CommandsRegistry.registerCommandAlias(\"editor.action.previewDeclaration\",Qt.id)}});class O extends P{async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getDeclarationsAtPosition)(H.declarationProvider,z,U,!1,j),u.localize(951,\"Declarations\"))}_getNoResultFoundMessage(H){return H&&H.word?u.localize(952,\"No declaration found for '{0}'\",H.word):u.localize(953,\"No declaration found\")}_getAlternativeCommand(H){return H.getOption(58).alternativeDeclarationCommand}_getGoToPreference(H){return H.getOption(58).multipleDeclarations}}(0,C.registerAction2)(class hi extends O{static{this.id=\"editor.action.revealDeclaration\"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:hi.id,title:{...u.localize2(976,\"Go to Declaration\"),mnemonicTitle:u.localize(954,\"Go to &&Declaration\")},precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasDeclarationProvider,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:[{id:C.MenuId.EditorContext,group:\"navigation\",order:1.3},{id:C.MenuId.MenubarGoMenu,precondition:null,group:\"4_symbol_nav\",order:3}]})}_getNoResultFoundMessage(H){return H&&H.word?u.localize(955,\"No declaration found for '{0}'\",H.word):u.localize(956,\"No declaration found\")}}),(0,C.registerAction2)(class extends O{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:\"editor.action.peekDeclaration\",title:u.localize2(977,\"Peek Declaration\"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasDeclarationProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:C.MenuId.EditorContextPeek,group:\"peek\",order:3}})}});class F extends P{async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getTypeDefinitionsAtPosition)(H.typeDefinitionProvider,z,U,!1,j),u.localize(957,\"Type Definitions\"))}_getNoResultFoundMessage(H){return H&&H.word?u.localize(958,\"No type definition found for '{0}'\",H.word):u.localize(959,\"No type definition found\")}_getAlternativeCommand(H){return H.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(H){return H.getOption(58).multipleTypeDefinitions}}(0,C.registerAction2)(class gi extends F{static{this.ID=\"editor.action.goToTypeDefinition\"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:gi.ID,title:{...u.localize2(978,\"Go to Type Definition\"),mnemonicTitle:u.localize(960,\"Go to &&Type Definition\")},precondition:i.EditorContextKeys.hasTypeDefinitionProvider,keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:0,weight:100},menu:[{id:C.MenuId.EditorContext,group:\"navigation\",order:1.4},{id:C.MenuId.MenubarGoMenu,precondition:null,group:\"4_symbol_nav\",order:3}]})}}),(0,C.registerAction2)(class fi extends F{static{this.ID=\"editor.action.peekTypeDefinition\"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:fi.ID,title:u.localize2(979,\"Peek Type Definition\"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasTypeDefinitionProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:C.MenuId.EditorContextPeek,group:\"peek\",order:4}})}});class x extends P{async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getImplementationsAtPosition)(H.implementationProvider,z,U,!1,j),u.localize(961,\"Implementations\"))}_getNoResultFoundMessage(H){return H&&H.word?u.localize(962,\"No implementation found for '{0}'\",H.word):u.localize(963,\"No implementation found\")}_getAlternativeCommand(H){return H.getOption(58).alternativeImplementationCommand}_getGoToPreference(H){return H.getOption(58).multipleImplementations}}(0,C.registerAction2)(class mi extends x{static{this.ID=\"editor.action.goToImplementation\"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:mi.ID,title:{...u.localize2(980,\"Go to Implementations\"),mnemonicTitle:u.localize(964,\"Go to &&Implementations\")},precondition:i.EditorContextKeys.hasImplementationProvider,keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:2118,weight:100},menu:[{id:C.MenuId.EditorContext,group:\"navigation\",order:1.45},{id:C.MenuId.MenubarGoMenu,precondition:null,group:\"4_symbol_nav\",order:4}]})}}),(0,C.registerAction2)(class pi extends x{static{this.ID=\"editor.action.peekImplementation\"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:pi.ID,title:u.localize2(981,\"Peek Implementations\"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasImplementationProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:3142,weight:100},menu:{id:C.MenuId.EditorContextPeek,group:\"peek\",order:5}})}});class W extends P{_getNoResultFoundMessage(H){return H?u.localize(965,\"No references found for '{0}'\",H.word):u.localize(966,\"No references found\")}_getAlternativeCommand(H){return H.getOption(58).alternativeReferenceCommand}_getGoToPreference(H){return H.getOption(58).multipleReferences}}(0,C.registerAction2)(class extends W{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:\"editor.action.goToReferences\",title:{...u.localize2(982,\"Go to References\"),mnemonicTitle:u.localize(967,\"Go to &&References\")},precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasReferenceProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:i.EditorContextKeys.editorTextFocus,primary:1094,weight:100},menu:[{id:C.MenuId.EditorContext,group:\"navigation\",order:1.45},{id:C.MenuId.MenubarGoMenu,precondition:null,group:\"4_symbol_nav\",order:5}]})}async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getReferencesAtPosition)(H.referenceProvider,z,U,!0,!1,j),u.localize(968,\"References\"))}}),(0,C.registerAction2)(class extends W{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:\"editor.action.referenceSearch.trigger\",title:u.localize2(983,\"Peek References\"),precondition:h.ContextKeyExpr.and(i.EditorContextKeys.hasReferenceProvider,r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:C.MenuId.EditorContextPeek,group:\"peek\",order:6}})}async _getLocationModel(H,z,U,j){return new c.ReferencesModel(await(0,L.getReferencesAtPosition)(H.referenceProvider,z,U,!1,!1,j),u.localize(969,\"References\"))}});class V extends P{constructor(H,z,U){super(H,{id:\"editor.action.goToLocation\",title:u.localize2(984,\"Go to Any Symbol\"),precondition:h.ContextKeyExpr.and(r.PeekContext.notInPeekEditor,i.EditorContextKeys.isInEmbeddedEditor.toNegated())}),this._references=z,this._gotoMultipleBehaviour=U}async _getLocationModel(H,z,U,j){return new c.ReferencesModel(this._references,u.localize(970,\"Locations\"))}_getNoResultFoundMessage(H){return H&&u.localize(971,\"No results for '{0}'\",H.word)||\"\"}_getGoToPreference(H){return this._gotoMultipleBehaviour??H.getOption(58).multipleReferences}_getAlternativeCommand(){return\"\"}}f.CommandsRegistry.registerCommand({id:\"editor.action.goToLocations\",metadata:{description:\"Go to locations from a position in a file\",args:[{name:\"uri\",description:\"The text document in which to start\",constraint:y.URI},{name:\"position\",description:\"The position at which to start\",constraint:o.Position.isIPosition},{name:\"locations\",description:\"An array of locations.\",constraint:Array},{name:\"multiple\",description:\"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`\"},{name:\"noResultsMessage\",description:\"Human readable message that shows when locations is empty.\"}]},handler:async(q,H,z,U,j,Y,G)=>{(0,E.assertType)(y.URI.isUri(H)),(0,E.assertType)(o.Position.isIPosition(z)),(0,E.assertType)(Array.isArray(U)),(0,E.assertType)(typeof j>\"u\"||typeof j==\"string\"),(0,E.assertType)(typeof G>\"u\"||typeof G==\"boolean\");const K=q.get(p.ICodeEditorService),R=await K.openCodeEditor({resource:H},K.getFocusedCodeEditor());if((0,_.isCodeEditor)(R))return R.setPosition(z),R.revealPositionInCenterIfOutsideViewport(z,0),R.invokeWithinContext(J=>{const ie=new class extends V{_getNoResultFoundMessage(ue){return Y||super._getNoResultFoundMessage(ue)}}({muteMessage:!Y,openInPeek:!!G,openToSide:!1},U,j);J.get(v.IInstantiationService).invokeFunction(ie.run.bind(ie),R)})}}),f.CommandsRegistry.registerCommand({id:\"editor.action.peekLocations\",metadata:{description:\"Peek locations from a position in a file\",args:[{name:\"uri\",description:\"The text document in which to start\",constraint:y.URI},{name:\"position\",description:\"The position at which to start\",constraint:o.Position.isIPosition},{name:\"locations\",description:\"An array of locations.\",constraint:Array},{name:\"multiple\",description:\"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`\"}]},handler:async(q,H,z,U,j)=>{q.get(f.ICommandService).executeCommand(\"editor.action.goToLocations\",H,z,U,j,void 0,!0)}}),f.CommandsRegistry.registerCommand({id:\"editor.action.findReferences\",handler:(q,H,z)=>{(0,E.assertType)(y.URI.isUri(H)),(0,E.assertType)(o.Position.isIPosition(z));const U=q.get(D.ILanguageFeaturesService),j=q.get(p.ICodeEditorService);return j.openCodeEditor({resource:H},j.getFocusedCodeEditor()).then(Y=>{if(!(0,_.isCodeEditor)(Y)||!Y.hasModel())return;const G=g.ReferencesController.get(Y);if(!G)return;const K=(0,k.createCancelablePromise)(J=>(0,L.getReferencesAtPosition)(U.referenceProvider,Y.getModel(),o.Position.lift(z),!1,!1,J).then(ie=>new c.ReferencesModel(ie,u.localize(972,\"References\")))),R=new t.Range(z.lineNumber,z.column,z.lineNumber,z.column);return Promise.resolve(G.toggleWidget(R,K,!1))})}}),f.CommandsRegistry.registerCommandAlias(\"editor.action.showReferences\",\"editor.action.peekLocations\")}),define(ne[429],se([1,0,14,8,57,2,122,15,4,43,78,209,158,3,12,291,277,17,35,513]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l){\"use strict\";var a;Object.defineProperty(e,\"__esModule\",{value:!0}),e.GotoDefinitionAtPositionEditorContribution=void 0;let r=class{static{a=this}static{this.ID=\"editor.contrib.gotodefinitionatposition\"}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(C,f,h,v){this.textModelResolverService=f,this.languageService=h,this.languageFeaturesService=v,this.toUnhook=new E.DisposableStore,this.toUnhookForKeyboard=new E.DisposableStore,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=C,this.linkDecorations=this.editor.createDecorationsCollection();const w=new n.ClickLinkGesture(C);this.toUnhook.add(w),this.toUnhook.add(w.onMouseMoveOrRelevantKeyDown(([S,L])=>{this.startFindDefinitionFromMouse(S,L??void 0)})),this.toUnhook.add(w.onExecute(S=>{this.isEnabled(S)&&this.gotoDefinition(S.target.position,S.hasSideBySideModifier).catch(L=>{(0,k.onUnexpectedError)(L)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(w.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(C){return C.getContribution(a.ID)}async startFindDefinitionFromCursor(C){await this.startFindDefinition(C),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(f=>{f&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(C,f){if(C.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(C,f)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const h=C.target.position;this.startFindDefinition(h)}async startFindDefinition(C){this.toUnhookForKeyboard.clear();const f=C?this.editor.getModel()?.getWordAtPosition(C):null;if(!f){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===f.startColumn&&this.currentWordAtPosition.endColumn===f.endColumn&&this.currentWordAtPosition.word===f.word)return;this.currentWordAtPosition=f;const h=new y.EditorState(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,d.createCancelablePromise)(S=>this.findDefinition(C,S));let v;try{v=await this.previousPromise}catch(S){(0,k.onUnexpectedError)(S);return}if(!v||!v.length||!h.validate(this.editor)){this.removeLinkDecorations();return}const w=v[0].originSelectionRange?_.Range.lift(v[0].originSelectionRange):new _.Range(C.lineNumber,f.startColumn,C.lineNumber,f.endColumn);if(v.length>1){let S=w;for(const{originSelectionRange:L}of v)L&&(S=_.Range.plusRange(S,L));this.addDecoration(S,new I.MarkdownString().appendText(t.localize(985,\"Click to show {0} definitions.\",v.length)))}else{const S=v[0];if(!S.uri)return;this.textModelResolverService.createModelReference(S.uri).then(L=>{if(!L.object||!L.object.textEditorModel){L.dispose();return}const{object:{textEditorModel:D}}=L,{startLineNumber:T}=S.range;if(T<1||T>D.getLineCount()){L.dispose();return}const M=this.getPreviewValue(D,T,S),A=this.languageService.guessLanguageIdByFilepathOrFirstLine(D.uri);this.addDecoration(w,M?new I.MarkdownString().appendCodeblock(A||\"\",M):void 0),L.dispose()})}}getPreviewValue(C,f,h){let v=h.range;return v.endLineNumber-v.startLineNumber>=a.MAX_SOURCE_PREVIEW_LINES&&(v=this.getPreviewRangeBasedOnIndentation(C,f)),this.stripIndentationFromPreviewRange(C,f,v)}stripIndentationFromPreviewRange(C,f,h){let w=C.getLineFirstNonWhitespaceColumn(f);for(let L=f+1;L<h.endLineNumber;L++){const D=C.getLineFirstNonWhitespaceColumn(L);w=Math.min(w,D)}return C.getValueInRange(h).replace(new RegExp(`^\\\\s{${w-1}}`,\"gm\"),\"\").trim()}getPreviewRangeBasedOnIndentation(C,f){const h=C.getLineFirstNonWhitespaceColumn(f),v=Math.min(C.getLineCount(),f+a.MAX_SOURCE_PREVIEW_LINES);let w=f+1;for(;w<v;w++){const S=C.getLineFirstNonWhitespaceColumn(w);if(h===S)break}return new _.Range(f,1,w+1,1)}addDecoration(C,f){const h={range:C,options:{description:\"goto-definition-link\",inlineClassName:\"goto-definition-link\",hoverMessage:f}};this.linkDecorations.set([h])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(C,f){return this.editor.hasModel()&&C.isLeftClick&&C.isNoneOrSingleMouseDown&&C.target.type===6&&!(C.target.detail.injectedText?.options instanceof l.ModelDecorationInjectedTextOptions)&&(C.hasTriggerModifier||(f?f.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(C,f){const h=this.editor.getModel();return h?(0,g.getDefinitionsAtPosition)(this.languageFeaturesService.definitionProvider,h,C,!1,f):Promise.resolve(null)}gotoDefinition(C,f){return this.editor.setPosition(C),this.editor.invokeWithinContext(h=>{const v=!f&&this.editor.getOption(89)&&!this.isInPeekEditor(h);return new s.DefinitionAction({openToSide:f,openInPeek:v,muteMessage:!0},{title:{value:\"\",original:\"\"},id:\"\",precondition:void 0}).run(h)})}isInPeekEditor(C){const f=C.get(i.IContextKeyService);return o.PeekContext.inPeekEditor.getValue(f)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};e.GotoDefinitionAtPositionEditorContribution=r,e.GotoDefinitionAtPositionEditorContribution=r=a=ke([ce(1,p.ITextModelService),ce(2,b.ILanguageService),ce(3,c.ILanguageFeaturesService)],r),(0,m.registerEditorContribution)(r.ID,r,2)}),define(ne[845],se([1,0,5,13,14,8,2,48,4,17,266,157,287,134,427,84,3,108,59,96]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.MarkerHoverParticipant=e.MarkerHover=void 0;const r=d.$;class u{constructor(v,w,S){this.owner=v,this.range=w,this.marker=S}isValidForHoverAnchor(v){return v.type===1&&this.range.startColumn<=v.range.startColumn&&this.range.endColumn>=v.range.endColumn}}e.MarkerHover=u;const C={type:1,filter:{include:t.CodeActionKind.QuickFix},triggerAction:t.CodeActionTriggerSource.QuickFixHover};let f=class{constructor(v,w,S,L){this._editor=v,this._markerDecorationsService=w,this._openerService=S,this._languageFeaturesService=L,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(v,w){if(!this._editor.hasModel()||v.type!==1&&!v.supportsMarkerHover)return[];const S=this._editor.getModel(),L=v.range.startLineNumber,D=S.getLineMaxColumn(L),T=[];for(const M of w){const A=M.range.startLineNumber===L?M.range.startColumn:1,P=M.range.endLineNumber===L?M.range.endColumn:D,N=this._markerDecorationsService.getMarker(S.uri,M);if(!N)continue;const O=new _.Range(v.range.startLineNumber,A,v.range.startLineNumber,P);T.push(new u(this,O,N))}return T}renderHoverParts(v,w){if(!w.length)return new s.RenderedHoverParts([]);const S=new y.DisposableStore,L=[];w.forEach(T=>{const M=this._renderMarkerHover(T);v.fragment.appendChild(M.hoverElement),L.push(M)});const D=w.length===1?w[0]:w.sort((T,M)=>c.MarkerSeverity.compare(T.marker.severity,M.marker.severity))[0];return this.renderMarkerStatusbar(v,D,S),new s.RenderedHoverParts(L)}_renderMarkerHover(v){const w=new y.DisposableStore,S=r(\"div.hover-row\"),L=d.append(S,r(\"div.marker.hover-contents\")),{source:D,message:T,code:M,relatedInformation:A}=v.marker;this._editor.applyFontInfo(L);const P=d.append(L,r(\"span\"));if(P.style.whiteSpace=\"pre-wrap\",P.innerText=T,D||M)if(M&&typeof M!=\"string\"){const O=r(\"span\");if(D){const V=d.append(O,r(\"span\"));V.innerText=D}const F=d.append(O,r(\"a.code-link\"));F.setAttribute(\"href\",M.target.toString()),w.add(d.addDisposableListener(F,\"click\",V=>{this._openerService.open(M.target,{allowCommands:!0}),V.preventDefault(),V.stopPropagation()}));const x=d.append(F,r(\"span\"));x.innerText=M.value;const W=d.append(L,O);W.style.opacity=\"0.6\",W.style.paddingLeft=\"6px\"}else{const O=d.append(L,r(\"span\"));O.style.opacity=\"0.6\",O.style.paddingLeft=\"6px\",O.innerText=D&&M?`${D}(${M})`:D||`(${M})`}if((0,k.isNonEmptyArray)(A))for(const{message:O,resource:F,startLineNumber:x,startColumn:W}of A){const V=d.append(L,r(\"div\"));V.style.marginTop=\"8px\";const q=d.append(V,r(\"a\"));q.innerText=`${(0,m.basename)(F)}(${x}, ${W}): `,q.style.cursor=\"pointer\",w.add(d.addDisposableListener(q,\"click\",z=>{if(z.stopPropagation(),z.preventDefault(),this._openerService){const U={selection:{startLineNumber:x,startColumn:W}};this._openerService.open(F,{fromUserGesture:!0,editorOptions:U}).catch(E.onUnexpectedError)}}));const H=d.append(V,r(\"span\"));H.innerText=O,this._editor.applyFontInfo(H)}return{hoverPart:v,hoverElement:S,dispose:()=>w.dispose()}}renderMarkerStatusbar(v,w,S){if(w.marker.severity===c.MarkerSeverity.Error||w.marker.severity===c.MarkerSeverity.Warning||w.marker.severity===c.MarkerSeverity.Info){const L=i.MarkerController.get(this._editor);L&&v.statusBar.addAction({label:g.localize(1040,\"View Problem\"),commandId:i.NextMarkerAction.ID,run:()=>{v.hide(),L.showAtMarker(w.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const L=v.statusBar.append(r(\"div\"));this.recentMarkerCodeActionsInfo&&(c.IMarkerData.makeKey(this.recentMarkerCodeActionsInfo.marker)===c.IMarkerData.makeKey(w.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(L.textContent=g.localize(1041,\"No quick fixes available\")):this.recentMarkerCodeActionsInfo=void 0);const D=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?y.Disposable.None:(0,I.disposableTimeout)(()=>L.textContent=g.localize(1042,\"Checking for quick fixes...\"),200,S);L.textContent||(L.textContent=\"\\xA0\");const T=this.getCodeActions(w.marker);S.add((0,y.toDisposable)(()=>T.cancel())),T.then(M=>{if(D.dispose(),this.recentMarkerCodeActionsInfo={marker:w.marker,hasCodeActions:M.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){M.dispose(),L.textContent=g.localize(1043,\"No quick fixes available\");return}L.style.display=\"none\";let A=!1;S.add((0,y.toDisposable)(()=>{A||M.dispose()})),v.statusBar.addAction({label:g.localize(1044,\"Quick Fix...\"),commandId:n.quickFixCommandId,run:P=>{A=!0;const N=o.CodeActionController.get(this._editor),O=d.getDomNodePagePosition(P);v.hide(),N?.showCodeActions(C,M,{x:O.left,y:O.top,width:O.width,height:O.height})}})},E.onUnexpectedError)}}getCodeActions(v){return(0,I.createCancelablePromise)(w=>(0,n.getCodeActions)(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new _.Range(v.startLineNumber,v.startColumn,v.endLineNumber,v.endColumn),C,a.Progress.None,w))}};e.MarkerHoverParticipant=f,e.MarkerHoverParticipant=f=ke([ce(1,p.IMarkerDecorationsService),ce(2,l.IOpenerService),ce(3,b.ILanguageFeaturesService)],f)}),define(ne[430],se([1,0,5,41,18,193,4,78,291,158,29,24,12,58,7,50]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.showGoToContextMenu=g,e.goToDefinitionWithLocation=c;async function g(l,a,r,u){const C=l.get(m.ITextModelService),f=l.get(t.IContextMenuService),h=l.get(n.ICommandService),v=l.get(i.IInstantiationService),w=l.get(s.INotificationService);if(await u.item.resolve(I.CancellationToken.None),!u.part.location)return;const S=u.part.location,L=[],D=new Set(p.MenuRegistry.getMenuItems(p.MenuId.EditorContext).map(M=>(0,p.isIMenuItem)(M)?M.command.id:(0,E.generateUuid)()));for(const M of _.SymbolNavigationAction.all())D.has(M.desc.id)&&L.push(new k.Action(M.desc.id,p.MenuItemAction.label(M.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const A=await C.createModelReference(S.uri);try{const P=new _.SymbolNavigationAnchor(A.object.textEditorModel,y.Range.getStartPosition(S.range)),N=u.item.anchor.range;await v.invokeFunction(M.runEditorCommand.bind(M),a,P,N)}finally{A.dispose()}}));if(u.part.command){const{command:M}=u.part;L.push(new k.Separator),L.push(new k.Action(M.id,M.title,void 0,!0,async()=>{try{await h.executeCommand(M.id,...M.arguments??[])}catch(A){w.notify({severity:s.Severity.Error,source:u.item.provider.displayName,message:A})}}))}const T=a.getOption(128);f.showContextMenu({domForShadowRoot:T?a.getDomNode()??void 0:void 0,getAnchor:()=>{const M=d.getDomNodePagePosition(r);return{x:M.left,y:M.top+M.height+8}},getActions:()=>L,onHide:()=>{a.focus()},autoSelectFirstItem:!0})}async function c(l,a,r,u){const f=await l.get(m.ITextModelService).createModelReference(u.uri);await r.invokeWithinContext(async h=>{const v=a.hasSideBySideModifier,w=h.get(o.IContextKeyService),S=b.PeekContext.inPeekEditor.getValue(w),L=!v&&r.getOption(89)&&!S;return new _.DefinitionAction({openToSide:v,openInPeek:L,muteMessage:!0},{title:{value:\"\",original:\"\"},id:\"\",precondition:void 0}).run(h,new _.SymbolNavigationAnchor(f.object.textEditorModel,y.Range.getStartPosition(u.range)),y.Range.lift(u.range))}),f.dispose()}}),define(ne[431],se([1,0,5,13,14,18,8,2,45,19,22,185,143,37,75,4,27,40,35,79,17,78,209,377,430,24,49,7,50,32,25]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T){\"use strict\";var M;Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlayHintsController=e.RenderedInlayHintLabelPart=void 0;class A{constructor(){this._entries=new _.LRUCache(50)}get(V){const q=A._key(V);return this._entries.get(q)}set(V,q){const H=A._key(V);this._entries.set(H,q)}static _key(V){return`${V.uri.toString()}/${V.getVersionId()}`}}const P=(0,S.createDecorator)(\"IInlayHintsCache\");(0,w.registerSingleton)(P,A,1);class N{constructor(V,q){this.item=V,this.index=q}get part(){const V=this.item.hint.label;return typeof V==\"string\"?{label:V}:V[this.index]}}e.RenderedInlayHintLabelPart=N;class O{constructor(V,q){this.part=V,this.hasTriggerModifier=q}}let F=class{static{M=this}static{this.ID=\"editor.contrib.InlayHints\"}static{this._MAX_DECORATORS=1500}static{this._MAX_LABEL_LEN=43}static get(V){return V.getContribution(M.ID)??void 0}constructor(V,q,H,z,U,j,Y){this._editor=V,this._languageFeaturesService=q,this._inlayHintsCache=z,this._commandService=U,this._notificationService=j,this._instaService=Y,this._disposables=new m.DisposableStore,this._sessionDisposables=new m.DisposableStore,this._decorationsMetadata=new Map,this._ruleFactory=new n.DynamicCssRules(this._editor),this._activeRenderMode=0,this._debounceInfo=H.for(q.inlayHintsProvider,\"InlayHint\",{min:25}),this._disposables.add(q.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(V.onDidChangeModel(()=>this._update())),this._disposables.add(V.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(V.onDidChangeConfiguration(G=>{G.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const V=this._editor.getOption(142);if(V.enabled===\"off\")return;const q=this._editor.getModel();if(!q||!this._languageFeaturesService.inlayHintsProvider.has(q))return;if(V.enabled===\"on\")this._activeRenderMode=0;else{let Y,G;V.enabled===\"onUnlessPressed\"?(Y=0,G=1):(Y=1,G=0),this._activeRenderMode=Y,this._sessionDisposables.add(d.ModifierKeyEmitter.getInstance().event(K=>{if(!this._editor.hasModel())return;const R=K.altKey&&K.ctrlKey&&!(K.shiftKey||K.metaKey)?G:Y;if(R!==this._activeRenderMode){this._activeRenderMode=R;const J=this._editor.getModel(),ie=this._copyInlayHintsWithCurrentAnchor(J);this._updateHintsDecorators([J.getFullModelRange()],ie),j.schedule(0)}}))}const H=this._inlayHintsCache.get(q);H&&this._updateHintsDecorators([q.getFullModelRange()],H),this._sessionDisposables.add((0,m.toDisposable)(()=>{q.isDisposed()||this._cacheHintsForFastRestore(q)}));let z;const U=new Set,j=new I.RunOnceScheduler(async()=>{const Y=Date.now();z?.dispose(!0),z=new E.CancellationTokenSource;const G=q.onWillDispose(()=>z?.cancel());try{const K=z.token,R=await f.InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider,q,this._getHintsRanges(),K);if(j.delay=this._debounceInfo.update(q,Date.now()-Y),K.isCancellationRequested){R.dispose();return}for(const J of R.provider)typeof J.onDidChangeInlayHints==\"function\"&&!U.has(J)&&(U.add(J),this._sessionDisposables.add(J.onDidChangeInlayHints(()=>{j.isScheduled()||j.schedule()})));this._sessionDisposables.add(R),this._updateHintsDecorators(R.ranges,R.items),this._cacheHintsForFastRestore(q)}catch(K){(0,y.onUnexpectedError)(K)}finally{z.dispose(),G.dispose()}},this._debounceInfo.get(q));this._sessionDisposables.add(j),this._sessionDisposables.add((0,m.toDisposable)(()=>z?.dispose(!0))),j.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(Y=>{(Y.scrollTopChanged||!j.isScheduled())&&j.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(Y=>{z?.cancel();const G=Math.max(j.delay,1250);j.schedule(G)})),this._sessionDisposables.add(this._installDblClickGesture(()=>j.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const V=new m.DisposableStore,q=V.add(new C.ClickLinkGesture(this._editor)),H=new m.DisposableStore;return V.add(H),V.add(q.onMouseMoveOrRelevantKeyDown(z=>{const[U]=z,j=this._getInlayHintLabelPart(U),Y=this._editor.getModel();if(!j||!Y){H.clear();return}const G=new E.CancellationTokenSource;H.add((0,m.toDisposable)(()=>G.dispose(!0))),j.item.resolve(G.token),this._activeInlayHintPart=j.part.command||j.part.location?new O(j,U.hasTriggerModifier):void 0;const K=Y.validatePosition(j.item.hint.position).lineNumber,R=new s.Range(K,1,K,Y.getLineMaxColumn(K)),J=this._getInlineHintsForRange(R);this._updateHintsDecorators([R],J),H.add((0,m.toDisposable)(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([R],J)}))})),V.add(q.onCancel(()=>H.clear())),V.add(q.onExecute(async z=>{const U=this._getInlayHintLabelPart(z);if(U){const j=U.part;j.location?this._instaService.invokeFunction(h.goToDefinitionWithLocation,z,this._editor,j.location):g.Command.is(j.command)&&await this._invokeCommand(j.command,U.item)}})),V}_getInlineHintsForRange(V){const q=new Set;for(const H of this._decorationsMetadata.values())V.containsRange(H.item.anchor.range)&&q.add(H.item);return Array.from(q)}_installDblClickGesture(V){return this._editor.onMouseUp(async q=>{if(q.event.detail!==2)return;const H=this._getInlayHintLabelPart(q);if(H&&(q.event.preventDefault(),await H.item.resolve(E.CancellationToken.None),(0,k.isNonEmptyArray)(H.item.hint.textEdits))){const z=H.item.hint.textEdits.map(U=>i.EditOperation.replace(s.Range.lift(U.range),U.text));this._editor.executeEdits(\"inlayHint.default\",z),V()}})}_installContextMenu(){return this._editor.onContextMenu(async V=>{if(!(0,d.isHTMLElement)(V.event.target))return;const q=this._getInlayHintLabelPart(V);q&&await this._instaService.invokeFunction(h.showGoToContextMenu,this._editor,V.event.target,q)})}_getInlayHintLabelPart(V){if(V.target.type!==6)return;const q=V.target.detail.injectedText?.options;if(q instanceof l.ModelDecorationInjectedTextOptions&&q?.attachedData instanceof N)return q.attachedData}async _invokeCommand(V,q){try{await this._commandService.executeCommand(V.id,...V.arguments??[])}catch(H){this._notificationService.notify({severity:L.Severity.Error,source:q.provider.displayName,message:H})}}_cacheHintsForFastRestore(V){const q=this._copyInlayHintsWithCurrentAnchor(V);this._inlayHintsCache.set(V,q)}_copyInlayHintsWithCurrentAnchor(V){const q=new Map;for(const[H,z]of this._decorationsMetadata){if(q.has(z.item))continue;const U=V.getDecorationRange(H);if(U){const j=new f.InlayHintAnchor(U,z.item.anchor.direction),Y=z.item.with({anchor:j});q.set(z.item,Y)}}return Array.from(q.values())}_getHintsRanges(){const q=this._editor.getModel(),H=this._editor.getVisibleRangesPlusViewportAboveBelow(),z=[];for(const U of H.sort(s.Range.compareRangesUsingStarts)){const j=q.validateRange(new s.Range(U.startLineNumber-30,U.startColumn,U.endLineNumber+30,U.endColumn));z.length===0||!s.Range.areIntersectingOrTouching(z[z.length-1],j)?z.push(j):z[z.length-1]=s.Range.plusRange(z[z.length-1],j)}return z}_updateHintsDecorators(V,q){const H=[],z=(he,pe,ae,ee,de)=>{const ge={content:ae,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:pe.className,cursorStops:ee,attachedData:de};H.push({item:he,classNameRef:pe,decoration:{range:he.anchor.range,options:{description:\"InlayHint\",showIfCollapsed:he.anchor.range.isEmpty(),collapseOnReplaceEdit:!he.anchor.range.isEmpty(),stickiness:0,[he.anchor.direction]:this._activeRenderMode===0?ge:void 0}}})},U=(he,pe)=>{const ae=this._ruleFactory.createClassNameRef({width:`${j/3|0}px`,display:\"inline-block\"});z(he,ae,\"\\u200A\",pe?c.InjectedTextCursorStops.Right:c.InjectedTextCursorStops.None)},{fontSize:j,fontFamily:Y,padding:G,isUniform:K}=this._getLayoutInfo(),R=\"--code-editorInlayHintsFontFamily\";this._editor.getContainerDomNode().style.setProperty(R,Y);let J={line:0,totalLen:0};for(const he of q){if(J.line!==he.anchor.range.startLineNumber&&(J={line:he.anchor.range.startLineNumber,totalLen:0}),J.totalLen>M._MAX_LABEL_LEN)continue;he.hint.paddingLeft&&U(he,!1);const pe=typeof he.hint.label==\"string\"?[{label:he.hint.label}]:he.hint.label;for(let ae=0;ae<pe.length;ae++){const ee=pe[ae],de=ae===0,ge=ae===pe.length-1,X={fontSize:`${j}px`,fontFamily:`var(${R}), ${t.EDITOR_FONT_DEFAULTS.fontFamily}`,verticalAlign:K?\"baseline\":\"middle\",unicodeBidi:\"isolate\"};(0,k.isNonEmptyArray)(he.hint.textEdits)&&(X.cursor=\"default\"),this._fillInColors(X,he.hint),(ee.command||ee.location)&&this._activeInlayHintPart?.part.item===he&&this._activeInlayHintPart.part.index===ae&&(X.textDecoration=\"underline\",this._activeInlayHintPart.hasTriggerModifier&&(X.color=(0,T.themeColorFromId)(D.editorActiveLinkForeground),X.cursor=\"pointer\")),G&&(de&&ge?(X.padding=`1px ${Math.max(1,j/4)|0}px`,X.borderRadius=`${j/4|0}px`):de?(X.padding=`1px 0 1px ${Math.max(1,j/4)|0}px`,X.borderRadius=`${j/4|0}px 0 0 ${j/4|0}px`):ge?(X.padding=`1px ${Math.max(1,j/4)|0}px 1px 0`,X.borderRadius=`0 ${j/4|0}px ${j/4|0}px 0`):X.padding=\"1px 0 1px 0\");let B=ee.label;J.totalLen+=B.length;let $=!1;const Q=J.totalLen-M._MAX_LABEL_LEN;if(Q>0&&(B=B.slice(0,-Q)+\"\\u2026\",$=!0),z(he,this._ruleFactory.createClassNameRef(X),x(B),ge&&!he.hint.paddingRight?c.InjectedTextCursorStops.Right:c.InjectedTextCursorStops.None,new N(he,ae)),$)break}if(he.hint.paddingRight&&U(he,!0),H.length>M._MAX_DECORATORS)break}const ie=[];for(const[he,pe]of this._decorationsMetadata){const ae=this._editor.getModel()?.getDecorationRange(he);ae&&V.some(ee=>ee.containsRange(ae))&&(ie.push(he),pe.classNameRef.dispose(),this._decorationsMetadata.delete(he))}const ue=o.StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(he=>{const pe=he.deltaDecorations(ie,H.map(ae=>ae.decoration));for(let ae=0;ae<pe.length;ae++){const ee=H[ae];this._decorationsMetadata.set(pe[ae],ee)}}),ue.restore(this._editor)}_fillInColors(V,q){q.kind===g.InlayHintKind.Parameter?(V.backgroundColor=(0,T.themeColorFromId)(D.editorInlayHintParameterBackground),V.color=(0,T.themeColorFromId)(D.editorInlayHintParameterForeground)):q.kind===g.InlayHintKind.Type?(V.backgroundColor=(0,T.themeColorFromId)(D.editorInlayHintTypeBackground),V.color=(0,T.themeColorFromId)(D.editorInlayHintTypeForeground)):(V.backgroundColor=(0,T.themeColorFromId)(D.editorInlayHintBackground),V.color=(0,T.themeColorFromId)(D.editorInlayHintForeground))}_getLayoutInfo(){const V=this._editor.getOption(142),q=V.padding,H=this._editor.getOption(52),z=this._editor.getOption(49);let U=V.fontSize;(!U||U<5||U>H)&&(U=H);const j=V.fontFamily||z;return{fontSize:U,fontFamily:j,padding:q,isUniform:!q&&j===z&&U===H}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const V of this._decorationsMetadata.values())V.classNameRef.dispose();this._decorationsMetadata.clear()}};e.InlayHintsController=F,e.InlayHintsController=F=M=ke([ce(1,r.ILanguageFeaturesService),ce(2,a.ILanguageFeatureDebounceService),ce(3,P),ce(4,v.ICommandService),ce(5,L.INotificationService),ce(6,S.IInstantiationService)],F);function x(W){return W.replace(/[ \\t]/g,\"\\xA0\")}v.CommandsRegistry.registerCommand(\"_executeInlayHintProvider\",async(W,...V)=>{const[q,H]=V;(0,b.assertType)(p.URI.isUri(q)),(0,b.assertType)(s.Range.isIRange(H));const{inlayHintsProvider:z}=W.get(r.ILanguageFeaturesService),U=await W.get(u.ITextModelService).createModelReference(q);try{const j=await f.InlayHintsFragments.create(z,U.object.textEditorModel,[s.Range.lift(H)],E.CancellationToken.None),Y=j.items.map(G=>G.hint);return setTimeout(()=>j.dispose(),0),Y}finally{U.dispose()}})}),define(ne[432],se([1,0,14,57,9,35,84,43,78,410,217,431,28,59,17,3,16,377,13,31,118,24]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlayHintsHover=void 0;class C extends y.HoverForeignElementAnchor{constructor(v,w,S,L){super(10,w,v.item.anchor.range,S,L,!0),this.part=v}}let f=class extends p.MarkdownHoverParticipant{constructor(v,w,S,L,D,T,M,A,P){super(v,w,S,T,A,L,D,P),this._resolverService=M,this.hoverOrdinal=6}suggestHoverAnchor(v){if(!n.InlayHintsController.get(this._editor)||v.target.type!==6)return null;const S=v.target.detail.injectedText?.options;return S instanceof E.ModelDecorationInjectedTextOptions&&S.attachedData instanceof n.RenderedInlayHintLabelPart?new C(S.attachedData,this,v.event.posx,v.event.posy):null}computeSync(){return[]}computeAsync(v,w,S){return v instanceof C?new d.AsyncIterableObject(async L=>{const{part:D}=v;if(await D.item.resolve(S),S.isCancellationRequested)return;let T;typeof D.item.hint.tooltip==\"string\"?T=new k.MarkdownString().appendText(D.item.hint.tooltip):D.item.hint.tooltip&&(T=D.item.hint.tooltip),T&&L.emitOne(new p.MarkdownHover(this,v.range,[T],!1,0)),(0,l.isNonEmptyArray)(D.item.hint.textEdits)&&L.emitOne(new p.MarkdownHover(this,v.range,[new k.MarkdownString().appendText((0,s.localize)(1065,\"Double-click to insert\"))],!1,10001));let M;if(typeof D.part.tooltip==\"string\"?M=new k.MarkdownString().appendText(D.part.tooltip):D.part.tooltip&&(M=D.part.tooltip),M&&L.emitOne(new p.MarkdownHover(this,v.range,[M],!1,1)),D.part.location||D.part.command){let P;const O=this._editor.getOption(78)===\"altKey\"?g.isMacintosh?(0,s.localize)(1066,\"cmd + click\"):(0,s.localize)(1067,\"ctrl + click\"):g.isMacintosh?(0,s.localize)(1068,\"option + click\"):(0,s.localize)(1069,\"alt + click\");D.part.location&&D.part.command?P=new k.MarkdownString().appendText((0,s.localize)(1070,\"Go to Definition ({0}), right click for more\",O)):D.part.location?P=new k.MarkdownString().appendText((0,s.localize)(1071,\"Go to Definition ({0})\",O)):D.part.command&&(P=new k.MarkdownString(`[${(0,s.localize)(1072,\"Execute Command\")}](${(0,c.asCommandLink)(D.part.command)} \"${D.part.command.title}\") (${O})`,{isTrusted:!0})),P&&L.emitOne(new p.MarkdownHover(this,v.range,[P],!1,1e4))}const A=await this._resolveInlayHintLabelPartHover(D,S);for await(const P of A)L.emitOne(P)}):d.AsyncIterableObject.EMPTY}async _resolveInlayHintLabelPartHover(v,w){if(!v.part.location)return d.AsyncIterableObject.EMPTY;const{uri:S,range:L}=v.part.location,D=await this._resolverService.createModelReference(S);try{const T=D.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(T)?(0,b.getHoverProviderResultsAsAsyncIterable)(this._languageFeaturesService.hoverProvider,T,new I.Position(L.startLineNumber,L.startColumn),w).filter(M=>!(0,k.isEmptyMarkdownString)(M.hover.contents)).map(M=>new p.MarkdownHover(this,v.item.anchor.range,M.hover.contents,!1,2+M.ordinal)):d.AsyncIterableObject.EMPTY}finally{D.dispose()}}};e.InlayHintsHover=f,e.InlayHintsHover=f=ke([ce(1,m.ILanguageService),ce(2,t.IOpenerService),ce(3,a.IKeybindingService),ce(4,r.IHoverService),ce(5,o.IConfigurationService),ce(6,_.ITextModelService),ce(7,i.ILanguageFeaturesService),ce(8,u.ICommandService)],f)}),define(ne[846],se([1,0,84,2,391,35,9,4,5,217,288,432,8]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenderedContentHover=void 0;class t extends k.Disposable{constructor(c,l,a,r,u,C){super();const f=l.anchor,h=l.hoverParts;this._renderedHoverParts=this._register(new s(c,a,h,C,u));const{showAtPosition:v,showAtSecondaryPosition:w}=t.computeHoverPositions(c,f.range,h);this.shouldAppearBeforeContent=h.some(S=>S.isBeforeContent),this.showAtPosition=v,this.showAtSecondaryPosition=w,this.initialMousePosX=f.initialMousePosX,this.initialMousePosY=f.initialMousePosY,this.shouldFocus=r.shouldFocus,this.source=r.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(c,l,a){this._renderedHoverParts.updateHoverVerbosityLevel(c,l,a)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(c,l,a){let r=1;if(c.hasModel()){const w=c._getViewModel(),S=w.coordinatesConverter,L=S.convertModelRangeToViewRange(l),D=w.getLineMinColumn(L.startLineNumber),T=new y.Position(L.startLineNumber,D);r=S.convertViewPositionToModelPosition(T).column}const u=l.startLineNumber;let C=l.startColumn,f;for(const w of a){const S=w.range,L=S.startLineNumber===u,D=S.endLineNumber===u;if(L&&D){const M=S.startColumn,A=Math.min(C,M);C=Math.max(A,r)}w.forceShowAtRange&&(f=S)}let h,v;if(f){const w=f.getStartPosition();h=w,v=w}else h=l.getStartPosition(),v=new y.Position(u,C);return{showAtPosition:h,showAtSecondaryPosition:v}}}e.RenderedContentHover=t;class i{constructor(c,l){this._statusBar=l,c.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}class s extends k.Disposable{static{this._DECORATION_OPTIONS=E.ModelDecorationOptions.register({description:\"content-hover-highlight\",className:\"hoverHighlight\"})}constructor(c,l,a,r,u){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=u,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(l,a,u,r)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(c,a)),this._updateMarkdownAndColorParticipantInfo(l)}_createEditorDecorations(c,l){if(l.length===0)return k.Disposable.None;let a=l[0].range;for(const u of l){const C=u.range;a=m.Range.plusRange(a,C)}const r=c.createDecorationsCollection();return r.set([{range:a,options:s._DECORATION_OPTIONS}]),(0,k.toDisposable)(()=>{r.clear()})}_renderParts(c,l,a,r){const u=new I.EditorHoverStatusBar(r),C={fragment:this._fragment,statusBar:u,...a},f=new k.DisposableStore;for(const v of c){const w=this._renderHoverPartsForParticipant(l,v,C);f.add(w);for(const S of w.renderedHoverParts)this._renderedParts.push({type:\"hoverPart\",participant:v,hoverPart:S.hoverPart,hoverElement:S.hoverElement})}const h=this._renderStatusBar(this._fragment,u);return h&&(f.add(h),this._renderedParts.push({type:\"statusBar\",hoverElement:h.hoverElement,actions:h.actions})),(0,k.toDisposable)(()=>{f.dispose()})}_renderHoverPartsForParticipant(c,l,a){const r=c.filter(C=>C.owner===l);return r.length>0?l.renderHoverParts(a,r):new d.RenderedHoverParts([])}_renderStatusBar(c,l){if(l.hasContent)return new i(c,l)}_registerListenersOnRenderedParts(){const c=new k.DisposableStore;return this._renderedParts.forEach((l,a)=>{const r=l.hoverElement;r.tabIndex=0,c.add(_.addDisposableListener(r,_.EventType.FOCUS_IN,u=>{u.stopPropagation(),this._focusedHoverPartIndex=a})),c.add(_.addDisposableListener(r,_.EventType.FOCUS_OUT,u=>{u.stopPropagation(),this._focusedHoverPartIndex=-1}))}),c}_updateMarkdownAndColorParticipantInfo(c){const l=c.find(a=>a instanceof b.MarkdownHoverParticipant&&!(a instanceof n.InlayHintsHover));l&&(this._markdownHoverParticipant=l),this._colorHoverParticipant=c.find(a=>a instanceof p.ColorHoverParticipant)}async updateHoverVerbosityLevel(c,l,a){if(!this._markdownHoverParticipant)return;const r=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,l);if(r===void 0)return;const u=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(c,r,a);u&&(this._renderedParts[l]={type:\"hoverPart\",participant:this._markdownHoverParticipant,hoverPart:u.hoverPart,hoverElement:u.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(c,l){const a=this._renderedParts[l];if(!a||a.type!==\"hoverPart\"||!(a.participant===c))return;const u=this._renderedParts.findIndex(C=>C.type===\"hoverPart\"&&C.participant===c);if(u===-1)throw new o.BugIndicatingError;return l-u}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}}}),define(ne[847],se([1,0,5,2,27,376,84,7,31,690,668,614,6,846,210]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContentHoverWidgetWrapper=void 0;let s=class extends k.Disposable{constructor(c,l,a){super(),this._editor=c,this._instantiationService=l,this._keybindingService=a,this._currentResult=null,this._onContentsChanged=this._register(new o.Emitter),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(b.ContentHoverWidget,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new p.ContentHoverComputer(this._editor,this._participants),this._hoverOperation=this._register(new E.HoverOperation(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const c=[];for(const l of y.HoverParticipantRegistry.getAll()){const a=this._instantiationService.createInstance(l,this._editor);c.push(a)}return c.sort((l,a)=>l.hoverOrdinal-a.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(l=>l.handleResize?.())})),c}_registerListeners(){this._register(this._hoverOperation.onResult(l=>{if(!this._computer.anchor)return;const a=l.hasLoadingMessage?this._addLoadingMessage(l.value):l.value;this._withResult(new n.HoverResult(this._computer.anchor,a,l.isComplete))}));const c=this._contentHoverWidget.getDomNode();this._register(d.addStandardDisposableListener(c,\"keydown\",l=>{l.equals(9)&&this.hide()})),this._register(d.addStandardDisposableListener(c,\"mouseleave\",l=>{this._onMouseLeave(l)})),this._register(I.TokenizationRegistry.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(c,l,a,r,u){if(!(this._contentHoverWidget.position&&this._currentResult))return c?(this._startHoverOperationIfNecessary(c,l,a,r,!1),!0):!1;const f=this._editor.getOption(60).sticky,h=u&&this._contentHoverWidget.isMouseGettingCloser(u.event.posx,u.event.posy);return f&&h?(c&&this._startHoverOperationIfNecessary(c,l,a,r,!0),!0):c?this._currentResult.anchor.equals(c)?!0:c.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(c)),this._startHoverOperationIfNecessary(c,l,a,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(c,l,a,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(c,l,a,r,u){this._computer.anchor&&this._computer.anchor.equals(c)||(this._hoverOperation.cancel(),this._computer.anchor=c,this._computer.shouldFocus=r,this._computer.source=a,this._computer.insistOnKeepingHoverVisible=u,this._hoverOperation.start(l))}_setCurrentResult(c){let l=c;if(this._currentResult===l)return;l&&l.hoverParts.length===0&&(l=null),this._currentResult=l,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(c){if(!this._computer.anchor)return c;for(const l of this._participants){if(!l.createLoadingMessage)continue;const a=l.createLoadingMessage(this._computer.anchor);if(a)return c.slice(0).concat([a])}return c}_withResult(c){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(c),!c.isComplete)return;const r=c.hoverParts.length===0,u=this._computer.insistOnKeepingHoverVisible;r&&u||this._setCurrentResult(c)}_showHover(c){const l=this._getHoverContext();this._renderedContentHover=new t.RenderedContentHover(this._editor,c,this._participants,this._computer,l,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:r=>{this._contentHoverWidget.setMinimumDimensions(r)}}}showsOrWillShow(c){if(this._contentHoverWidget.isResizing)return!0;const a=this._findHoverAnchorCandidates(c);if(!(a.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,c);const u=a[0];return this._startShowingOrUpdateHover(u,0,0,!1,c)}_findHoverAnchorCandidates(c){const l=[];for(const r of this._participants){if(!r.suggestHoverAnchor)continue;const u=r.suggestHoverAnchor(c);u&&l.push(u)}const a=c.target;switch(a.type){case 6:{l.push(new y.HoverRangeAnchor(0,a.range,c.event.posx,c.event.posy));break}case 7:{const r=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!a.detail.isAfterLines&&typeof a.detail.horizontalDistanceToText==\"number\"&&a.detail.horizontalDistanceToText<r))break;l.push(new y.HoverRangeAnchor(0,a.range,c.event.posx,c.event.posy));break}}return l.sort((r,u)=>u.priority-r.priority),l}_onMouseLeave(c){const l=this._editor.getDomNode();(!l||!(0,i.isMousePositionWithinElement)(l,c.x,c.y))&&this.hide()}startShowingAtRange(c,l,a,r){this._startShowingOrUpdateHover(new y.HoverRangeAnchor(0,c,void 0,void 0),l,a,r,null)}async updateHoverVerbosityLevel(c,l,a){this._renderedContentHover?.updateHoverVerbosityLevel(c,l,a)}focusedHoverPartIndex(){return this._renderedContentHover?.focusedHoverPartIndex??-1}containsNode(c){return c?this._contentHoverWidget.getDomNode().contains(c):!1}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};e.ContentHoverWidgetWrapper=s,e.ContentHoverWidgetWrapper=s=ke([ce(1,m.IInstantiationService),ce(2,_.IKeybindingService)],s)}),define(ne[292],se([1,0,264,2,7,283,31,14,210,847,6,196]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";var n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContentHoverController=void 0;const o=!1;let t=class extends k.Disposable{static{n=this}static{this.ID=\"editor.contrib.contentHover\"}constructor(s,g,c){super(),this._editor=s,this._instantiationService=g,this._keybindingService=c,this._onHoverContentsChanged=this._register(new p.Emitter),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new k.DisposableStore,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new m.RunOnceScheduler(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(s){return s.getContribution(n.ID)}_hookListeners(){const s=this._editor.getOption(60);this._hoverSettings={enabled:s.enabled,sticky:s.sticky,hidingDelay:s.hidingDelay},s.enabled?(this._listenersStore.add(this._editor.onMouseDown(g=>this._onEditorMouseDown(g))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(g=>this._onEditorMouseMove(g))),this._listenersStore.add(this._editor.onKeyDown(g=>this._onKeyDown(g)))):(this._listenersStore.add(this._editor.onMouseMove(g=>this._onEditorMouseMove(g))),this._listenersStore.add(this._editor.onKeyDown(g=>this._onKeyDown(g)))),this._listenersStore.add(this._editor.onMouseLeave(g=>this._onEditorMouseLeave(g))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(g=>this._onEditorScrollChanged(g)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(s){(s.scrollTopChanged||s.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(s){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(s)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(s){return this._isMouseOnContentHoverWidget(s)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(s){const g=this._contentWidget?.getDomNode();return g?(0,_.isMousePositionWithinElement)(g,s.event.posx,s.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(s){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldNotHideCurrentHoverWidget(s))||o||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(s){const g=this._hoverSettings.sticky,c=(r,u)=>{const C=this._isMouseOnContentHoverWidget(r);return u&&C},l=r=>{const u=this._isMouseOnContentHoverWidget(r),C=this._contentWidget?.isColorPickerVisible??!1;return u&&C},a=(r,u)=>(u&&this._contentWidget?.containsNode(r.event.browserEvent.view?.document.activeElement)&&!r.event.browserEvent.view?.getSelection()?.isCollapsed)??!1;return c(s,g)||l(s)||a(s,g)}_onEditorMouseMove(s){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=s,this._contentWidget?.isFocused||this._contentWidget?.isResizing))return;const g=this._hoverSettings.sticky;if(g&&this._contentWidget?.isVisibleFromKeyboard)return;if(this._shouldNotRecomputeCurrentHoverWidget(s)){this._reactToEditorMouseMoveRunner.cancel();return}const l=this._hoverSettings.hidingDelay;if(this._contentWidget?.isVisible&&g&&l>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(l);return}this._reactToEditorMouseMove(s)}_reactToEditorMouseMove(s){if(!s)return;const c=s.target.element?.classList.contains(\"colorpicker-color-decoration\"),l=this._editor.getOption(149),a=this._hoverSettings.enabled,r=this._hoverState.activatedByDecoratorClick;if(c&&(l===\"click\"&&!r||l===\"hover\"&&!a&&!o||l===\"clickAndHover\"&&!a&&!r)||!c&&!a&&!r){this._hideWidgets();return}this._tryShowHoverWidget(s)||o||this._hideWidgets()}_tryShowHoverWidget(s){return this._getOrCreateContentWidget().showsOrWillShow(s)}_onKeyDown(s){if(!this._editor.hasModel())return;const g=this._keybindingService.softDispatch(s,this._editor.getDomNode()),c=g.kind===1||g.kind===2&&(g.commandId===d.SHOW_OR_FOCUS_HOVER_ACTION_ID||g.commandId===d.INCREASE_HOVER_VERBOSITY_ACTION_ID||g.commandId===d.DECREASE_HOVER_VERBOSITY_ACTION_ID)&&this._contentWidget?.isVisible;s.keyCode===5||s.keyCode===6||s.keyCode===57||s.keyCode===4||c||this._hideWidgets()}_hideWidgets(){o||this._hoverState.mouseDown&&this._contentWidget?.isColorPickerVisible||E.InlineSuggestionHintsContentWidget.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._contentWidget?.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(b.ContentHoverWidgetWrapper,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(s,g,c,l,a=!1){this._hoverState.activatedByDecoratorClick=a,this._getOrCreateContentWidget().startShowingAtRange(s,g,c,l)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(s,g,c){this._getOrCreateContentWidget().updateHoverVerbosityLevel(s,g,c)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}};e.ContentHoverController=t,e.ContentHoverController=t=n=ke([ce(1,I.IInstantiationService),ce(2,y.IKeybindingService)],t)}),define(ne[848],se([1,0,2,15,4,422,288,292,84]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ColorContribution=void 0;class b extends d.Disposable{static{this.ID=\"editor.contrib.colorContribution\"}constructor(n){super(),this._editor=n,this._register(n.onMouseDown(o=>this.onMouseDown(o)))}dispose(){super.dispose()}onMouseDown(n){const o=this._editor.getOption(149);if(o!==\"click\"&&o!==\"clickAndHover\")return;const t=n.target;if(t.type!==6||!t.detail.injectedText||t.detail.injectedText.options.attachedData!==E.ColorDecorationInjectedTextMarker||!t.range)return;const i=this._editor.getContribution(m.ContentHoverController.ID);if(i&&!i.isColorPickerVisible){const s=new I.Range(t.range.startLineNumber,t.range.startColumn+1,t.range.endLineNumber,t.range.endColumn+1);i.showContentHover(s,1,0,!1,!0)}}}e.ColorContribution=b,(0,k.registerEditorContribution)(b.ID,b,2),_.HoverParticipantRegistry.register(y.ColorHoverParticipant)}),define(ne[849],se([1,0,264,72,15,4,20,429,292,27,3,196]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DecreaseHoverVerbosityLevel=e.IncreaseHoverVerbosityLevel=e.GoToBottomHoverAction=e.GoToTopHoverAction=e.PageDownHoverAction=e.PageUpHoverAction=e.ScrollRightHoverAction=e.ScrollLeftHoverAction=e.ScrollDownHoverAction=e.ScrollUpHoverAction=e.ShowDefinitionPreviewHoverAction=e.ShowOrFocusHoverAction=void 0;var n;(function(h){h.NoAutoFocus=\"noAutoFocus\",h.FocusIfVisible=\"focusIfVisible\",h.AutoFocusImmediately=\"autoFocusImmediately\"})(n||(n={}));class o extends I.EditorAction{constructor(){super({id:d.SHOW_OR_FOCUS_HOVER_ACTION_ID,label:p.localize(1008,\"Show or Focus Hover\"),metadata:{description:p.localize2(1021,\"Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position.\"),args:[{name:\"args\",schema:{type:\"object\",properties:{focus:{description:\"Controls if and when the hover should take focus upon being triggered by this action.\",enum:[n.NoAutoFocus,n.FocusIfVisible,n.AutoFocusImmediately],enumDescriptions:[p.localize(1009,\"The hover will not automatically take focus.\"),p.localize(1010,\"The hover will take focus only if it is already visible.\"),p.localize(1011,\"The hover will automatically take focus when it appears.\")],default:n.FocusIfVisible}}}}]},alias:\"Show or Focus Hover\",precondition:void 0,kbOpts:{kbExpr:y.EditorContextKeys.editorTextFocus,primary:(0,k.KeyChord)(2089,2087),weight:100}})}run(v,w,S){if(!w.hasModel())return;const L=_.ContentHoverController.get(w);if(!L)return;const D=S?.focus;let T=n.FocusIfVisible;Object.values(n).includes(D)?T=D:typeof D==\"boolean\"&&D&&(T=n.AutoFocusImmediately);const M=P=>{const N=w.getPosition(),O=new E.Range(N.lineNumber,N.column,N.lineNumber,N.column);L.showContentHover(O,1,1,P)},A=w.getOption(2)===2;L.isHoverVisible?T!==n.NoAutoFocus?L.focus():M(A):M(A||T===n.AutoFocusImmediately)}}e.ShowOrFocusHoverAction=o;class t extends I.EditorAction{constructor(){super({id:d.SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID,label:p.localize(1012,\"Show Definition Preview Hover\"),alias:\"Show Definition Preview Hover\",precondition:void 0,metadata:{description:p.localize2(1022,\"Show the definition preview hover in the editor.\")}})}run(v,w){const S=_.ContentHoverController.get(w);if(!S)return;const L=w.getPosition();if(!L)return;const D=new E.Range(L.lineNumber,L.column,L.lineNumber,L.column),T=m.GotoDefinitionAtPositionEditorContribution.get(w);if(!T)return;T.startFindDefinitionFromCursor(L).then(()=>{S.showContentHover(D,1,1,!0)})}}e.ShowDefinitionPreviewHoverAction=t;class i extends I.EditorAction{constructor(){super({id:d.SCROLL_UP_HOVER_ACTION_ID,label:p.localize(1013,\"Scroll Up Hover\"),alias:\"Scroll Up Hover\",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:16,weight:100},metadata:{description:p.localize2(1023,\"Scroll up the editor hover.\")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.scrollUp()}}e.ScrollUpHoverAction=i;class s extends I.EditorAction{constructor(){super({id:d.SCROLL_DOWN_HOVER_ACTION_ID,label:p.localize(1014,\"Scroll Down Hover\"),alias:\"Scroll Down Hover\",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:18,weight:100},metadata:{description:p.localize2(1024,\"Scroll down the editor hover.\")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.scrollDown()}}e.ScrollDownHoverAction=s;class g extends I.EditorAction{constructor(){super({id:d.SCROLL_LEFT_HOVER_ACTION_ID,label:p.localize(1015,\"Scroll Left Hover\"),alias:\"Scroll Left Hover\",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:15,weight:100},metadata:{description:p.localize2(1025,\"Scroll left the editor hover.\")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.scrollLeft()}}e.ScrollLeftHoverAction=g;class c extends I.EditorAction{constructor(){super({id:d.SCROLL_RIGHT_HOVER_ACTION_ID,label:p.localize(1016,\"Scroll Right Hover\"),alias:\"Scroll Right Hover\",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:17,weight:100},metadata:{description:p.localize2(1026,\"Scroll right the editor hover.\")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.scrollRight()}}e.ScrollRightHoverAction=c;class l extends I.EditorAction{constructor(){super({id:d.PAGE_UP_HOVER_ACTION_ID,label:p.localize(1017,\"Page Up Hover\"),alias:\"Page Up Hover\",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:p.localize2(1027,\"Page up the editor hover.\")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.pageUp()}}e.PageUpHoverAction=l;class a extends I.EditorAction{constructor(){super({id:d.PAGE_DOWN_HOVER_ACTION_ID,label:p.localize(1018,\"Page Down Hover\"),alias:\"Page Down Hover\",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:p.localize2(1028,\"Page down the editor hover.\")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.pageDown()}}e.PageDownHoverAction=a;class r extends I.EditorAction{constructor(){super({id:d.GO_TO_TOP_HOVER_ACTION_ID,label:p.localize(1019,\"Go To Top Hover\"),alias:\"Go To Bottom Hover\",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:p.localize2(1029,\"Go to the top of the editor hover.\")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.goToTop()}}e.GoToTopHoverAction=r;class u extends I.EditorAction{constructor(){super({id:d.GO_TO_BOTTOM_HOVER_ACTION_ID,label:p.localize(1020,\"Go To Bottom Hover\"),alias:\"Go To Bottom Hover\",precondition:y.EditorContextKeys.hoverFocused,kbOpts:{kbExpr:y.EditorContextKeys.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:p.localize2(1030,\"Go to the bottom of the editor hover.\")}})}run(v,w){const S=_.ContentHoverController.get(w);S&&S.goToBottom()}}e.GoToBottomHoverAction=u;class C extends I.EditorAction{constructor(){super({id:d.INCREASE_HOVER_VERBOSITY_ACTION_ID,label:d.INCREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:\"Increase Hover Verbosity Level\",precondition:y.EditorContextKeys.hoverVisible})}run(v,w,S){const L=_.ContentHoverController.get(w);if(!L)return;const D=S?.index!==void 0?S.index:L.focusedHoverPartIndex();L.updateHoverVerbosityLevel(b.HoverVerbosityAction.Increase,D,S?.focus)}}e.IncreaseHoverVerbosityLevel=C;class f extends I.EditorAction{constructor(){super({id:d.DECREASE_HOVER_VERBOSITY_ACTION_ID,label:d.DECREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:\"Decrease Hover Verbosity Level\",precondition:y.EditorContextKeys.hoverVisible})}run(v,w,S){const L=_.ContentHoverController.get(w);if(!L)return;const D=S?.index!==void 0?S.index:L.focusedHoverPartIndex();_.ContentHoverController.get(w)?.updateHoverVerbosityLevel(b.HoverVerbosityAction.Decrease,D,S?.focus)}}e.DecreaseHoverVerbosityLevel=f}),define(ne[850],se([1,0,849,15,32,25,84,217,845,292,713,380,615,196]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,k.registerEditorContribution)(b.ContentHoverController.ID,b.ContentHoverController,2),(0,k.registerEditorContribution)(p.MarginHoverController.ID,p.MarginHoverController,2),(0,k.registerEditorAction)(d.ShowOrFocusHoverAction),(0,k.registerEditorAction)(d.ShowDefinitionPreviewHoverAction),(0,k.registerEditorAction)(d.ScrollUpHoverAction),(0,k.registerEditorAction)(d.ScrollDownHoverAction),(0,k.registerEditorAction)(d.ScrollLeftHoverAction),(0,k.registerEditorAction)(d.ScrollRightHoverAction),(0,k.registerEditorAction)(d.PageUpHoverAction),(0,k.registerEditorAction)(d.PageDownHoverAction),(0,k.registerEditorAction)(d.GoToTopHoverAction),(0,k.registerEditorAction)(d.GoToBottomHoverAction),(0,k.registerEditorAction)(d.IncreaseHoverVerbosityLevel),(0,k.registerEditorAction)(d.DecreaseHoverVerbosityLevel),y.HoverParticipantRegistry.register(m.MarkdownHoverParticipant),y.HoverParticipantRegistry.register(_.MarkerHoverParticipant),(0,E.registerThemingParticipant)((t,i)=>{const s=t.getColor(I.editorHoverBorder);s&&(i.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${s.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${s.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${s.transparent(.5)}; }`))}),n.AccessibleViewRegistry.register(new o.HoverAccessibleView),n.AccessibleViewRegistry.register(new o.HoverAccessibilityHelp),n.AccessibleViewRegistry.register(new o.ExtHoverAccessibleView)}),define(ne[851],se([1,0,15,84,431,432]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,d.registerEditorContribution)(I.InlayHintsController.ID,I.InlayHintsController,1),k.HoverParticipantRegistry.register(E.InlayHintsHover)}),define(ne[433],se([1,0,2,17,838,837,7,58,29,12,20,209,4,277,430,9,18,36,79,5,341,77,289,334]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){\"use strict\";var h;Object.defineProperty(e,\"__esModule\",{value:!0}),e.StickyScrollController=void 0;let v=class extends d.Disposable{static{h=this}static{this.ID=\"store.contrib.stickyScrollController\"}constructor(S,L,D,T,M,A,P){super(),this._editor=S,this._contextMenuService=L,this._languageFeaturesService=D,this._instaService=T,this._contextKeyService=P,this._sessionStore=new d.DisposableStore,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new I.StickyScrollWidget(this._editor),this._stickyLineCandidateProvider=new E.StickyLineCandidateProvider(this._editor,D,M),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=I.StickyScrollWidgetState.Empty,this._onDidResize(),this._readConfiguration();const N=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(F=>{this._readConfigurationChange(F)})),this._register(a.addDisposableListener(N,a.EventType.CONTEXT_MENU,async F=>{this._onContextMenu(a.getWindow(N),F)})),this._stickyScrollFocusedContextKey=p.EditorContextKeys.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=p.EditorContextKeys.stickyScrollVisible.bindTo(this._contextKeyService);const O=this._register(a.trackFocus(N));this._register(O.onDidBlur(F=>{this._positionRevealed===!1&&N.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(O.onDidFocus(F=>{this.focus()})),this._registerMouseListeners(),this._register(a.addDisposableListener(N,a.EventType.MOUSE_DOWN,F=>{this._onMouseDown=!0}))}static get(S){return S.getContribution(h.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new d.DisposableStore,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(S){this._focusedStickyElementIndex=S?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const S=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:S[this._focusedStickyElementIndex],column:1})}_revealPosition(S){this._reveaInEditor(S,()=>this._editor.revealPosition(S))}_revealLineInCenterIfOutsideViewport(S){this._reveaInEditor(S,()=>this._editor.revealLineInCenterIfOutsideViewport(S.lineNumber,0))}_reveaInEditor(S,L){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,L(),this._editor.setSelection(o.Range.fromPositions(S)),this._editor.focus()}_registerMouseListeners(){const S=this._register(new d.DisposableStore),L=this._register(new n.ClickLinkGesture(this._editor,{extractLineNumberFromMouseEvent:M=>{const A=this._stickyScrollWidget.getEditorPositionFromNode(M.target.element);return A?A.lineNumber:0}})),D=M=>{if(!this._editor.hasModel()||M.target.type!==12||M.target.detail!==this._stickyScrollWidget.getId())return null;const A=M.target.element;if(!A||A.innerText!==A.innerHTML)return null;const P=this._stickyScrollWidget.getEditorPositionFromNode(A);return P?{range:new o.Range(P.lineNumber,P.column,P.lineNumber,P.column+A.innerText.length),textElement:A}:null},T=this._stickyScrollWidget.getDomNode();this._register(a.addStandardDisposableListener(T,a.EventType.CLICK,M=>{if(M.ctrlKey||M.altKey||M.metaKey||!M.leftButton)return;if(M.shiftKey){const O=this._stickyScrollWidget.getLineIndexFromChildDomNode(M.target);if(O===null)return;const F=new s.Position(this._endLineNumbers[O],1);this._revealLineInCenterIfOutsideViewport(F);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(M.target)){const O=this._stickyScrollWidget.getLineNumberFromChildDomNode(M.target);this._toggleFoldingRegionForLine(O);return}if(!this._stickyScrollWidget.isInStickyLine(M.target))return;let N=this._stickyScrollWidget.getEditorPositionFromNode(M.target);if(!N){const O=this._stickyScrollWidget.getLineNumberFromChildDomNode(M.target);if(O===null)return;N=new s.Position(O,1)}this._revealPosition(N)})),this._register(a.addStandardDisposableListener(T,a.EventType.MOUSE_MOVE,M=>{if(M.shiftKey){const A=this._stickyScrollWidget.getLineIndexFromChildDomNode(M.target);if(A===null||this._showEndForLine!==null&&this._showEndForLine===A)return;this._showEndForLine=A,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(a.addDisposableListener(T,a.EventType.MOUSE_LEAVE,M=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(L.onMouseMoveOrRelevantKeyDown(([M,A])=>{const P=D(M);if(!P||!M.hasTriggerModifier||!this._editor.hasModel()){S.clear();return}const{range:N,textElement:O}=P;if(!N.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=N,S.clear();else if(O.style.textDecoration===\"underline\")return;const F=new g.CancellationTokenSource;S.add((0,d.toDisposable)(()=>F.dispose(!0)));let x;(0,t.getDefinitionsAtPosition)(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new s.Position(N.startLineNumber,N.startColumn+1),!1,F.token).then(W=>{if(!F.token.isCancellationRequested)if(W.length!==0){this._candidateDefinitionsLength=W.length;const V=O;x!==V?(S.clear(),x=V,x.style.textDecoration=\"underline\",S.add((0,d.toDisposable)(()=>{x.style.textDecoration=\"none\"}))):x||(x=V,x.style.textDecoration=\"underline\",S.add((0,d.toDisposable)(()=>{x.style.textDecoration=\"none\"})))}else S.clear()})})),this._register(L.onCancel(()=>{S.clear()})),this._register(L.onExecute(async M=>{if(M.target.type!==12||M.target.detail!==this._stickyScrollWidget.getId())return;const A=this._stickyScrollWidget.getEditorPositionFromNode(M.target.element);A&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:A.lineNumber,column:1})),this._instaService.invokeFunction(i.goToDefinitionWithLocation,M,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(S,L){const D=new u.StandardMouseEvent(S,L);this._contextMenuService.showContextMenu({menuId:_.MenuId.StickyScrollContext,getAnchor:()=>D})}_toggleFoldingRegionForLine(S){if(!this._foldingModel||S===null)return;const L=this._stickyScrollWidget.getRenderedStickyLine(S),D=L?.foldingIcon;if(!D)return;(0,f.toggleCollapseState)(this._foldingModel,Number.MAX_VALUE,[S]),D.isCollapsed=!D.isCollapsed;const T=(D.isCollapsed?this._editor.getTopForLineNumber(D.foldingEndLine):this._editor.getTopForLineNumber(D.foldingStartLine))-this._editor.getOption(67)*L.index+1;this._editor.setScrollTop(T),this._renderStickyScroll(S)}_readConfiguration(){const S=this._editor.getOption(116);if(S.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else S.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(D=>{D.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(D=>this._onTokensChange(D))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(S){(S.hasChanged(116)||S.hasChanged(73)||S.hasChanged(67)||S.hasChanged(111)||S.hasChanged(68))&&this._readConfiguration(),S.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(S){const L=this._stickyScrollWidget.getCurrentLines();for(const D of L)for(const T of S.ranges)if(D>=T.fromLineNumber&&D<=T.toLineNumber)return!0;return!1}_onTokensChange(S){this._needsUpdate(S)&&this._renderStickyScroll(0)}_onDidResize(){const L=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(L*.25)}async _renderStickyScroll(S){const L=this._editor.getModel();if(!L||L.isTooLargeForTokenization()){this._resetState();return}const D=this._updateAndGetMinRebuildFromLine(S),T=this._stickyLineCandidateProvider.getVersionId();if(T===void 0||T===L.getVersionId())if(!this._focused)await this._updateState(D);else if(this._focusedStickyElementIndex===-1)await this._updateState(D),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const A=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(D),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(A)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(S){if(S!==void 0){const L=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(S,L)}return this._minRebuildFromLine}async _updateState(S){this._minRebuildFromLine=void 0,this._foldingModel=await C.FoldingController.get(this._editor)?.getFoldingModel()??void 0,this._widgetState=this.findScrollWidgetState();const L=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(L),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,S)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=I.StickyScrollWidgetState.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const S=this._editor.getOption(67),L=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),D=this._editor.getScrollTop();let T=0;const M=[],A=[],P=this._editor.getVisibleRanges();if(P.length!==0){const N=new r.StickyRange(P[0].startLineNumber,P[P.length-1].endLineNumber),O=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(N);for(const F of O){const x=F.startLineNumber,W=F.endLineNumber,V=F.nestingDepth;if(W-x>0){const q=(V-1)*S,H=V*S,z=this._editor.getBottomForLineNumber(x)-D,U=this._editor.getTopForLineNumber(W)-D,j=this._editor.getBottomForLineNumber(W)-D;if(q>U&&q<=j){M.push(x),A.push(W+1),T=j-H;break}else H>z&&H<=j&&(M.push(x),A.push(W+1));if(M.length===L)break}}}return this._endLineNumbers=A,new I.StickyScrollWidgetState(M,A,T,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};e.StickyScrollController=v,e.StickyScrollController=v=h=ke([ce(1,m.IContextMenuService),ce(2,k.ILanguageFeaturesService),ce(3,y.IInstantiationService),ce(4,c.ILanguageConfigurationService),ce(5,l.ILanguageFeatureDebounceService),ce(6,b.IContextKeyService)],v)}),define(ne[852],se([1,0,15,3,671,29,28,12,20,433]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectEditor=e.GoToStickyScrollLine=e.SelectPreviousStickyScrollLine=e.SelectNextStickyScrollLine=e.FocusStickyScroll=e.ToggleStickyScroll=void 0;class p extends E.Action2{constructor(){super({id:\"editor.action.toggleStickyScroll\",title:{...(0,k.localize2)(1303,\"Toggle Editor Sticky Scroll\"),mnemonicTitle:(0,k.localize)(1299,\"&&Toggle Editor Sticky Scroll\")},metadata:{description:(0,k.localize2)(1304,\"Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport\")},category:I.Categories.View,toggled:{condition:m.ContextKeyExpr.equals(\"config.editor.stickyScroll.enabled\",!0),title:(0,k.localize)(1300,\"Sticky Scroll\"),mnemonicTitle:(0,k.localize)(1301,\"&&Sticky Scroll\")},menu:[{id:E.MenuId.CommandPalette},{id:E.MenuId.MenubarAppearanceMenu,group:\"4_editor\",order:3},{id:E.MenuId.StickyScrollContext}]})}async run(l){const a=l.get(y.IConfigurationService),r=!a.getValue(\"editor.stickyScroll.enabled\");return a.updateValue(\"editor.stickyScroll.enabled\",r)}}e.ToggleStickyScroll=p;const n=100;class o extends d.EditorAction2{constructor(){super({id:\"editor.action.focusStickyScroll\",title:{...(0,k.localize2)(1305,\"Focus on the editor sticky scroll\"),mnemonicTitle:(0,k.localize)(1302,\"&&Focus Sticky Scroll\")},precondition:m.ContextKeyExpr.and(m.ContextKeyExpr.has(\"config.editor.stickyScroll.enabled\"),_.EditorContextKeys.stickyScrollVisible),menu:[{id:E.MenuId.CommandPalette}]})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.focus()}}e.FocusStickyScroll=o;class t extends d.EditorAction2{constructor(){super({id:\"editor.action.selectNextStickyScrollLine\",title:(0,k.localize2)(1306,\"Select the next editor sticky scroll line\"),precondition:_.EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:n,primary:18}})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.focusNext()}}e.SelectNextStickyScrollLine=t;class i extends d.EditorAction2{constructor(){super({id:\"editor.action.selectPreviousStickyScrollLine\",title:(0,k.localize2)(1307,\"Select the previous sticky scroll line\"),precondition:_.EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:n,primary:16}})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.focusPrevious()}}e.SelectPreviousStickyScrollLine=i;class s extends d.EditorAction2{constructor(){super({id:\"editor.action.goToFocusedStickyScrollLine\",title:(0,k.localize2)(1308,\"Go to the focused sticky scroll line\"),precondition:_.EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:n,primary:3}})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.goToFocused()}}e.GoToStickyScrollLine=s;class g extends d.EditorAction2{constructor(){super({id:\"editor.action.selectEditor\",title:(0,k.localize2)(1309,\"Select Editor\"),precondition:_.EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:n,primary:9}})}runEditorCommand(l,a){b.StickyScrollController.get(a)?.selectEditor()}}e.SelectEditor=g}),define(ne[853],se([1,0,15,852,433,29]),function(oe,e,d,k,I,E){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,d.registerEditorContribution)(I.StickyScrollController.ID,I.StickyScrollController,1),(0,E.registerAction2)(k.ToggleStickyScroll),(0,E.registerAction2)(k.FocusStickyScroll),(0,E.registerAction2)(k.SelectPreviousStickyScrollLine),(0,E.registerAction2)(k.SelectNextStickyScrollLine),(0,E.registerAction2)(k.GoToStickyScrollLine),(0,E.registerAction2)(k.SelectEditor)}),define(ne[854],se([1,0,15,34,428,28,12,7,50,101]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneReferencesController=void 0;let p=class extends I.ReferencesController{constructor(o,t,i,s,g,c,l){super(!0,o,t,i,s,g,c,l)}};e.StandaloneReferencesController=p,e.StandaloneReferencesController=p=ke([ce(1,y.IContextKeyService),ce(2,k.ICodeEditorService),ce(3,_.INotificationService),ce(4,m.IInstantiationService),ce(5,b.IStorageService),ce(6,E.IConfigurationService)],p),(0,d.registerEditorContribution)(I.ReferencesController.ID,p,4)}),define(ne[855],se([1,0,8,2,42,111,3,180,49,50,284]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UndoRedoService=void 0;const n=!1;function o(f){return f.scheme===I.Schemas.file?f.fsPath:f.path}let t=0;class i{constructor(h,v,w,S,L,D,T){this.id=++t,this.type=0,this.actual=h,this.label=h.label,this.confirmBeforeUndo=h.confirmBeforeUndo||!1,this.resourceLabel=v,this.strResource=w,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=S,this.groupOrder=L,this.sourceId=D,this.sourceOrder=T,this.isValid=!0}setValid(h){this.isValid=h}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?\"  VALID\":\"INVALID\"}] ${this.actual.constructor.name} - ${this.actual}`}}class s{constructor(h,v){this.resourceLabel=h,this.reason=v}}class g{constructor(){this.elements=new Map}createMessage(){const h=[],v=[];for(const[,S]of this.elements)(S.reason===0?h:v).push(S.resourceLabel);const w=[];return h.length>0&&w.push(y.localize(1843,\"The following files have been closed and modified on disk: {0}.\",h.join(\", \"))),v.length>0&&w.push(y.localize(1844,\"The following files have been modified in an incompatible way: {0}.\",v.join(\", \"))),w.join(`\n`)}get size(){return this.elements.size}has(h){return this.elements.has(h)}set(h,v){this.elements.set(h,v)}delete(h){return this.elements.delete(h)}}class c{constructor(h,v,w,S,L,D,T){this.id=++t,this.type=1,this.actual=h,this.label=h.label,this.confirmBeforeUndo=h.confirmBeforeUndo||!1,this.resourceLabels=v,this.strResources=w,this.groupId=S,this.groupOrder=L,this.sourceId=D,this.sourceOrder=T,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split==\"function\"}removeResource(h,v,w){this.removedResources||(this.removedResources=new g),this.removedResources.has(v)||this.removedResources.set(v,new s(h,w))}setValid(h,v,w){w?this.invalidatedResources&&(this.invalidatedResources.delete(v),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new g),this.invalidatedResources.has(v)||this.invalidatedResources.set(v,new s(h,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?\"INVALID\":\"  VALID\"}] ${this.actual.constructor.name} - ${this.actual}`}}class l{constructor(h,v){this.resourceLabel=h,this.strResource=v,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const h of this._past)h.type===1&&h.removeResource(this.resourceLabel,this.strResource,0);for(const h of this._future)h.type===1&&h.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const h=[];h.push(`* ${this.strResource}:`);for(let v=0;v<this._past.length;v++)h.push(`   * [UNDO] ${this._past[v]}`);for(let v=this._future.length-1;v>=0;v--)h.push(`   * [REDO] ${this._future[v]}`);return h.join(`\n`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(h,v){h.type===1?h.setValid(this.resourceLabel,this.strResource,v):h.setValid(v)}setElementsValidFlag(h,v){for(const w of this._past)v(w.actual)&&this._setElementValidFlag(w,h);for(const w of this._future)v(w.actual)&&this._setElementValidFlag(w,h)}pushElement(h){for(const v of this._future)v.type===1&&v.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(h),this.versionId++}createSnapshot(h){const v=[];for(let w=0,S=this._past.length;w<S;w++)v.push(this._past[w].id);for(let w=this._future.length-1;w>=0;w--)v.push(this._future[w].id);return new p.ResourceEditStackSnapshot(h,v)}restoreSnapshot(h){const v=h.elements.length;let w=!0,S=0,L=-1;for(let T=0,M=this._past.length;T<M;T++,S++){const A=this._past[T];w&&(S>=v||A.id!==h.elements[S])&&(w=!1,L=0),!w&&A.type===1&&A.removeResource(this.resourceLabel,this.strResource,0)}let D=-1;for(let T=this._future.length-1;T>=0;T--,S++){const M=this._future[T];w&&(S>=v||M.id!==h.elements[S])&&(w=!1,D=T),!w&&M.type===1&&M.removeResource(this.resourceLabel,this.strResource,0)}L!==-1&&(this._past=this._past.slice(0,L)),D!==-1&&(this._future=this._future.slice(D+1)),this.versionId++}getElements(){const h=[],v=[];for(const w of this._past)h.push(w.actual);for(const w of this._future)v.push(w.actual);return{past:h,future:v}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(h,v){for(let w=this._past.length-1;w>=0;w--)if(this._past[w]===h){v.has(this.strResource)?this._past[w]=v.get(this.strResource):this._past.splice(w,1);break}this.versionId++}splitFutureWorkspaceElement(h,v){for(let w=this._future.length-1;w>=0;w--)if(this._future[w]===h){v.has(this.strResource)?this._future[w]=v.get(this.strResource):this._future.splice(w,1);break}this.versionId++}moveBackward(h){this._past.pop(),this._future.push(h),this.versionId++}moveForward(h){this._future.pop(),this._past.push(h),this.versionId++}}class a{constructor(h){this.editStacks=h,this._versionIds=[];for(let v=0,w=this.editStacks.length;v<w;v++)this._versionIds[v]=this.editStacks[v].versionId}isValid(){for(let h=0,v=this.editStacks.length;h<v;h++)if(this._versionIds[h]!==this.editStacks[h].versionId)return!1;return!0}}const r=new l(\"\",\"\");r.locked=!0;let u=class{constructor(h,v){this._dialogService=h,this._notificationService=v,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(h){for(const v of this._uriComparisonKeyComputers)if(v[0]===h.scheme)return v[1].getComparisonKey(h);return h.toString()}_print(h){console.log(\"------------------------------------\"),console.log(`AFTER ${h}: `);const v=[];for(const w of this._editStacks)v.push(w[1].toString());console.log(v.join(`\n`))}pushElement(h,v=p.UndoRedoGroup.None,w=p.UndoRedoSource.None){if(h.type===0){const S=o(h.resource),L=this.getUriComparisonKey(h.resource);this._pushElement(new i(h,S,L,v.id,v.nextOrder(),w.id,w.nextOrder()))}else{const S=new Set,L=[],D=[];for(const T of h.resources){const M=o(T),A=this.getUriComparisonKey(T);S.has(A)||(S.add(A),L.push(M),D.push(A))}L.length===1?this._pushElement(new i(h,L[0],D[0],v.id,v.nextOrder(),w.id,w.nextOrder())):this._pushElement(new c(h,L,D,v.id,v.nextOrder(),w.id,w.nextOrder()))}n&&this._print(\"pushElement\")}_pushElement(h){for(let v=0,w=h.strResources.length;v<w;v++){const S=h.resourceLabels[v],L=h.strResources[v];let D;this._editStacks.has(L)?D=this._editStacks.get(L):(D=new l(S,L),this._editStacks.set(L,D)),D.pushElement(h)}}getLastElement(h){const v=this.getUriComparisonKey(h);if(this._editStacks.has(v)){const w=this._editStacks.get(v);if(w.hasFutureElements())return null;const S=w.getClosestPastElement();return S?S.actual:null}return null}_splitPastWorkspaceElement(h,v){const w=h.actual.split(),S=new Map;for(const L of w){const D=o(L.resource),T=this.getUriComparisonKey(L.resource),M=new i(L,D,T,0,0,0,0);S.set(M.strResource,M)}for(const L of h.strResources){if(v&&v.has(L))continue;this._editStacks.get(L).splitPastWorkspaceElement(h,S)}}_splitFutureWorkspaceElement(h,v){const w=h.actual.split(),S=new Map;for(const L of w){const D=o(L.resource),T=this.getUriComparisonKey(L.resource),M=new i(L,D,T,0,0,0,0);S.set(M.strResource,M)}for(const L of h.strResources){if(v&&v.has(L))continue;this._editStacks.get(L).splitFutureWorkspaceElement(h,S)}}removeElements(h){const v=typeof h==\"string\"?h:this.getUriComparisonKey(h);this._editStacks.has(v)&&(this._editStacks.get(v).dispose(),this._editStacks.delete(v)),n&&this._print(\"removeElements\")}setElementsValidFlag(h,v,w){const S=this.getUriComparisonKey(h);this._editStacks.has(S)&&this._editStacks.get(S).setElementsValidFlag(v,w),n&&this._print(\"setElementsValidFlag\")}createSnapshot(h){const v=this.getUriComparisonKey(h);return this._editStacks.has(v)?this._editStacks.get(v).createSnapshot(h):new p.ResourceEditStackSnapshot(h,[])}restoreSnapshot(h){const v=this.getUriComparisonKey(h.resource);if(this._editStacks.has(v)){const w=this._editStacks.get(v);w.restoreSnapshot(h),!w.hasPastElements()&&!w.hasFutureElements()&&(w.dispose(),this._editStacks.delete(v))}n&&this._print(\"restoreSnapshot\")}getElements(h){const v=this.getUriComparisonKey(h);return this._editStacks.has(v)?this._editStacks.get(v).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(h){if(!h)return[null,null];let v=null,w=null;for(const[S,L]of this._editStacks){const D=L.getClosestPastElement();D&&D.sourceId===h&&(!v||D.sourceOrder>v.sourceOrder)&&(v=D,w=S)}return[v,w]}canUndo(h){if(h instanceof p.UndoRedoSource){const[,w]=this._findClosestUndoElementWithSource(h.id);return!!w}const v=this.getUriComparisonKey(h);return this._editStacks.has(v)?this._editStacks.get(v).hasPastElements():!1}_onError(h,v){(0,d.onUnexpectedError)(h);for(const w of v.strResources)this.removeElements(w);this._notificationService.error(h)}_acquireLocks(h){for(const v of h.editStacks)if(v.locked)throw new Error(\"Cannot acquire edit stack lock\");for(const v of h.editStacks)v.locked=!0;return()=>{for(const v of h.editStacks)v.locked=!1}}_safeInvokeWithLocks(h,v,w,S,L){const D=this._acquireLocks(w);let T;try{T=v()}catch(M){return D(),S.dispose(),this._onError(M,h)}return T?T.then(()=>(D(),S.dispose(),L()),M=>(D(),S.dispose(),this._onError(M,h))):(D(),S.dispose(),L())}async _invokeWorkspacePrepare(h){if(typeof h.actual.prepareUndoRedo>\"u\")return k.Disposable.None;const v=h.actual.prepareUndoRedo();return typeof v>\"u\"?k.Disposable.None:v}_invokeResourcePrepare(h,v){if(h.actual.type!==1||typeof h.actual.prepareUndoRedo>\"u\")return v(k.Disposable.None);const w=h.actual.prepareUndoRedo();return w?(0,k.isDisposable)(w)?v(w):w.then(S=>v(S)):v(k.Disposable.None)}_getAffectedEditStacks(h){const v=[];for(const w of h.strResources)v.push(this._editStacks.get(w)||r);return new a(v)}_tryToSplitAndUndo(h,v,w,S){if(v.canSplit())return this._splitPastWorkspaceElement(v,w),this._notificationService.warn(S),new C(this._undo(h,0,!0));for(const L of v.strResources)this.removeElements(L);return this._notificationService.warn(S),new C}_checkWorkspaceUndo(h,v,w,S){if(v.removedResources)return this._tryToSplitAndUndo(h,v,v.removedResources,y.localize(1845,\"Could not undo '{0}' across all files. {1}\",v.label,v.removedResources.createMessage()));if(S&&v.invalidatedResources)return this._tryToSplitAndUndo(h,v,v.invalidatedResources,y.localize(1846,\"Could not undo '{0}' across all files. {1}\",v.label,v.invalidatedResources.createMessage()));const L=[];for(const T of w.editStacks)T.getClosestPastElement()!==v&&L.push(T.resourceLabel);if(L.length>0)return this._tryToSplitAndUndo(h,v,null,y.localize(1847,\"Could not undo '{0}' across all files because changes were made to {1}\",v.label,L.join(\", \")));const D=[];for(const T of w.editStacks)T.locked&&D.push(T.resourceLabel);return D.length>0?this._tryToSplitAndUndo(h,v,null,y.localize(1848,\"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}\",v.label,D.join(\", \"))):w.isValid()?null:this._tryToSplitAndUndo(h,v,null,y.localize(1849,\"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime\",v.label))}_workspaceUndo(h,v,w){const S=this._getAffectedEditStacks(v),L=this._checkWorkspaceUndo(h,v,S,!1);return L?L.returnValue:this._confirmAndExecuteWorkspaceUndo(h,v,S,w)}_isPartOfUndoGroup(h){if(!h.groupId)return!1;for(const[,v]of this._editStacks){const w=v.getClosestPastElement();if(w){if(w===h){const S=v.getSecondClosestPastElement();if(S&&S.groupId===h.groupId)return!0}if(w.groupId===h.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(h,v,w,S){if(v.canSplit()&&!this._isPartOfUndoGroup(v)){let T;(function(P){P[P.All=0]=\"All\",P[P.This=1]=\"This\",P[P.Cancel=2]=\"Cancel\"})(T||(T={}));const{result:M}=await this._dialogService.prompt({type:E.default.Info,message:y.localize(1850,\"Would you like to undo '{0}' across all files?\",v.label),buttons:[{label:y.localize(1851,\"&&Undo in {0} Files\",w.editStacks.length),run:()=>T.All},{label:y.localize(1852,\"Undo this &&File\"),run:()=>T.This}],cancelButton:{run:()=>T.Cancel}});if(M===T.Cancel)return;if(M===T.This)return this._splitPastWorkspaceElement(v,null),this._undo(h,0,!0);const A=this._checkWorkspaceUndo(h,v,w,!1);if(A)return A.returnValue;S=!0}let L;try{L=await this._invokeWorkspacePrepare(v)}catch(T){return this._onError(T,v)}const D=this._checkWorkspaceUndo(h,v,w,!0);if(D)return L.dispose(),D.returnValue;for(const T of w.editStacks)T.moveBackward(v);return this._safeInvokeWithLocks(v,()=>v.actual.undo(),w,L,()=>this._continueUndoInGroup(v.groupId,S))}_resourceUndo(h,v,w){if(!v.isValid){h.flushAllElements();return}if(h.locked){const S=y.localize(1853,\"Could not undo '{0}' because there is already an undo or redo operation running.\",v.label);this._notificationService.warn(S);return}return this._invokeResourcePrepare(v,S=>(h.moveBackward(v),this._safeInvokeWithLocks(v,()=>v.actual.undo(),new a([h]),S,()=>this._continueUndoInGroup(v.groupId,w))))}_findClosestUndoElementInGroup(h){if(!h)return[null,null];let v=null,w=null;for(const[S,L]of this._editStacks){const D=L.getClosestPastElement();D&&D.groupId===h&&(!v||D.groupOrder>v.groupOrder)&&(v=D,w=S)}return[v,w]}_continueUndoInGroup(h,v){if(!h)return;const[,w]=this._findClosestUndoElementInGroup(h);if(w)return this._undo(w,0,v)}undo(h){if(h instanceof p.UndoRedoSource){const[,v]=this._findClosestUndoElementWithSource(h.id);return v?this._undo(v,h.id,!1):void 0}return typeof h==\"string\"?this._undo(h,0,!1):this._undo(this.getUriComparisonKey(h),0,!1)}_undo(h,v=0,w){if(!this._editStacks.has(h))return;const S=this._editStacks.get(h),L=S.getClosestPastElement();if(!L)return;if(L.groupId){const[T,M]=this._findClosestUndoElementInGroup(L.groupId);if(L!==T&&M)return this._undo(M,v,w)}if((L.sourceId!==v||L.confirmBeforeUndo)&&!w)return this._confirmAndContinueUndo(h,v,L);try{return L.type===1?this._workspaceUndo(h,L,w):this._resourceUndo(S,L,w)}finally{n&&this._print(\"undo\")}}async _confirmAndContinueUndo(h,v,w){if((await this._dialogService.confirm({message:y.localize(1854,\"Would you like to undo '{0}'?\",w.label),primaryButton:y.localize(1855,\"&&Yes\"),cancelButton:y.localize(1856,\"No\")})).confirmed)return this._undo(h,v,!0)}_findClosestRedoElementWithSource(h){if(!h)return[null,null];let v=null,w=null;for(const[S,L]of this._editStacks){const D=L.getClosestFutureElement();D&&D.sourceId===h&&(!v||D.sourceOrder<v.sourceOrder)&&(v=D,w=S)}return[v,w]}canRedo(h){if(h instanceof p.UndoRedoSource){const[,w]=this._findClosestRedoElementWithSource(h.id);return!!w}const v=this.getUriComparisonKey(h);return this._editStacks.has(v)?this._editStacks.get(v).hasFutureElements():!1}_tryToSplitAndRedo(h,v,w,S){if(v.canSplit())return this._splitFutureWorkspaceElement(v,w),this._notificationService.warn(S),new C(this._redo(h));for(const L of v.strResources)this.removeElements(L);return this._notificationService.warn(S),new C}_checkWorkspaceRedo(h,v,w,S){if(v.removedResources)return this._tryToSplitAndRedo(h,v,v.removedResources,y.localize(1857,\"Could not redo '{0}' across all files. {1}\",v.label,v.removedResources.createMessage()));if(S&&v.invalidatedResources)return this._tryToSplitAndRedo(h,v,v.invalidatedResources,y.localize(1858,\"Could not redo '{0}' across all files. {1}\",v.label,v.invalidatedResources.createMessage()));const L=[];for(const T of w.editStacks)T.getClosestFutureElement()!==v&&L.push(T.resourceLabel);if(L.length>0)return this._tryToSplitAndRedo(h,v,null,y.localize(1859,\"Could not redo '{0}' across all files because changes were made to {1}\",v.label,L.join(\", \")));const D=[];for(const T of w.editStacks)T.locked&&D.push(T.resourceLabel);return D.length>0?this._tryToSplitAndRedo(h,v,null,y.localize(1860,\"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}\",v.label,D.join(\", \"))):w.isValid()?null:this._tryToSplitAndRedo(h,v,null,y.localize(1861,\"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime\",v.label))}_workspaceRedo(h,v){const w=this._getAffectedEditStacks(v),S=this._checkWorkspaceRedo(h,v,w,!1);return S?S.returnValue:this._executeWorkspaceRedo(h,v,w)}async _executeWorkspaceRedo(h,v,w){let S;try{S=await this._invokeWorkspacePrepare(v)}catch(D){return this._onError(D,v)}const L=this._checkWorkspaceRedo(h,v,w,!0);if(L)return S.dispose(),L.returnValue;for(const D of w.editStacks)D.moveForward(v);return this._safeInvokeWithLocks(v,()=>v.actual.redo(),w,S,()=>this._continueRedoInGroup(v.groupId))}_resourceRedo(h,v){if(!v.isValid){h.flushAllElements();return}if(h.locked){const w=y.localize(1862,\"Could not redo '{0}' because there is already an undo or redo operation running.\",v.label);this._notificationService.warn(w);return}return this._invokeResourcePrepare(v,w=>(h.moveForward(v),this._safeInvokeWithLocks(v,()=>v.actual.redo(),new a([h]),w,()=>this._continueRedoInGroup(v.groupId))))}_findClosestRedoElementInGroup(h){if(!h)return[null,null];let v=null,w=null;for(const[S,L]of this._editStacks){const D=L.getClosestFutureElement();D&&D.groupId===h&&(!v||D.groupOrder<v.groupOrder)&&(v=D,w=S)}return[v,w]}_continueRedoInGroup(h){if(!h)return;const[,v]=this._findClosestRedoElementInGroup(h);if(v)return this._redo(v)}redo(h){if(h instanceof p.UndoRedoSource){const[,v]=this._findClosestRedoElementWithSource(h.id);return v?this._redo(v):void 0}return typeof h==\"string\"?this._redo(h):this._redo(this.getUriComparisonKey(h))}_redo(h){if(!this._editStacks.has(h))return;const v=this._editStacks.get(h),w=v.getClosestFutureElement();if(w){if(w.groupId){const[S,L]=this._findClosestRedoElementInGroup(w.groupId);if(w!==S&&L)return this._redo(L)}try{return w.type===1?this._workspaceRedo(h,w):this._resourceRedo(v,w)}finally{n&&this._print(\"redo\")}}}};e.UndoRedoService=u,e.UndoRedoService=u=ke([ce(0,m.IDialogService),ce(1,b.INotificationService)],u);class C{constructor(h){this.returnValue=h}}(0,_.registerSingleton)(p.IUndoRedoService,u,1)}),define(ne[186],se([1,0,3,99,225,22,7]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.STANDALONE_EDITOR_WORKSPACE_ID=e.WORKSPACE_FILTER=e.WORKSPACE_EXTENSION=e.WorkspaceFolder=e.Workspace=e.UNKNOWN_EMPTY_WINDOW_WORKSPACE=e.EXTENSION_DEVELOPMENT_EMPTY_WINDOW_WORKSPACE=e.IWorkspaceContextService=void 0,e.isSingleFolderWorkspaceIdentifier=m,e.isEmptyWorkspaceIdentifier=_,e.toWorkspaceIdentifier=b,e.isWorkspaceIdentifier=p,e.isStandaloneEditorWorkspace=t,e.IWorkspaceContextService=(0,y.createDecorator)(\"contextService\");function m(i){const s=i;return typeof s?.id==\"string\"&&E.URI.isUri(s.uri)}function _(i){return typeof i?.id==\"string\"&&!m(i)&&!p(i)}e.EXTENSION_DEVELOPMENT_EMPTY_WINDOW_WORKSPACE={id:\"ext-dev\"},e.UNKNOWN_EMPTY_WINDOW_WORKSPACE={id:\"empty-window\"};function b(i,s){if(typeof i==\"string\"||typeof i>\"u\")return typeof i==\"string\"?{id:(0,k.basename)(i)}:s?e.EXTENSION_DEVELOPMENT_EMPTY_WINDOW_WORKSPACE:e.UNKNOWN_EMPTY_WINDOW_WORKSPACE;const g=i;return g.configuration?{id:g.id,configPath:g.configuration}:g.folders.length===1?{id:g.id,uri:g.folders[0].uri}:{id:g.id}}function p(i){const s=i;return typeof s?.id==\"string\"&&E.URI.isUri(s.configPath)}class n{constructor(s,g,c,l,a){this._id=s,this._transient=c,this._configuration=l,this._ignorePathCasing=a,this._foldersMap=I.TernarySearchTree.forUris(this._ignorePathCasing,()=>!0),this.folders=g}get folders(){return this._folders}set folders(s){this._folders=s,this.updateFoldersMap()}get id(){return this._id}get transient(){return this._transient}get configuration(){return this._configuration}set configuration(s){this._configuration=s}getFolder(s){return s&&this._foldersMap.findSubstr(s)||null}updateFoldersMap(){this._foldersMap=I.TernarySearchTree.forUris(this._ignorePathCasing,()=>!0);for(const s of this.folders)this._foldersMap.set(s.uri,s)}toJSON(){return{id:this.id,folders:this.folders,transient:this.transient,configuration:this.configuration}}}e.Workspace=n;class o{constructor(s,g){this.raw=g,this.uri=s.uri,this.index=s.index,this.name=s.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}e.WorkspaceFolder=o,e.WORKSPACE_EXTENSION=\"code-workspace\",e.WORKSPACE_FILTER=[{name:(0,d.localize)(1863,\"Code Workspace\"),extensions:[e.WORKSPACE_EXTENSION]}],e.STANDALONE_EDITOR_WORKSPACE_ID=\"4064f6ec-cb38-4ad0-af64-ee6467e63c82\";function t(i){return i.id===e.STANDALONE_EDITOR_WORKSPACE_ID}}),define(ne[434],se([1,0,5,151,41,2,16,15,20,3,29,12,58,31,28,186]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";var g;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextMenuController=void 0;let c=class{static{g=this}static{this.ID=\"editor.contrib.contextmenu\"}static get(r){return r.getContribution(g.ID)}constructor(r,u,C,f,h,v,w,S){this._contextMenuService=u,this._contextViewService=C,this._contextKeyService=f,this._keybindingService=h,this._menuService=v,this._configurationService=w,this._workspaceContextService=S,this._toDispose=new E.DisposableStore,this._contextMenuIsBeingShownCount=0,this._editor=r,this._toDispose.add(this._editor.onContextMenu(L=>this._onContextMenu(L))),this._toDispose.add(this._editor.onMouseWheel(L=>{if(this._contextMenuIsBeingShownCount>0){const D=this._contextViewService.getContextViewElement(),T=L.srcElement;T.shadowRoot&&d.getShadowRoot(D)===T.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(L=>{this._editor.getOption(24)&&L.keyCode===58&&(L.preventDefault(),L.stopPropagation(),this.showContextMenu())}))}_onContextMenu(r){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),r.target.position&&!this._editor.getSelection().containsPosition(r.target.position)&&this._editor.setPosition(r.target.position);return}if(r.target.type===12||r.target.type===6&&r.target.detail.injectedText)return;if(r.event.preventDefault(),r.event.stopPropagation(),r.target.type===11)return this._showScrollbarContextMenu(r.event);if(r.target.type!==6&&r.target.type!==7&&r.target.type!==1)return;if(this._editor.focus(),r.target.position){let C=!1;for(const f of this._editor.getSelections())if(f.containsPosition(r.target.position)){C=!0;break}C||this._editor.setPosition(r.target.position)}let u=null;r.target.type!==1&&(u=r.event),this.showContextMenu(u)}showContextMenu(r){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const u=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);u.length>0&&this._doShowContextMenu(u,r)}_getMenuActions(r,u){const C=[],f=this._menuService.getMenuActions(u,this._contextKeyService,{arg:r.uri});for(const h of f){const[,v]=h;let w=0;for(const S of v)if(S instanceof p.SubmenuItemAction){const L=this._getMenuActions(r,S.item.submenu);L.length>0&&(C.push(new I.SubmenuAction(S.id,S.label,L)),w++)}else C.push(S),w++;w&&C.push(new I.Separator)}return C.length&&C.pop(),C}_doShowContextMenu(r,u=null){if(!this._editor.hasModel())return;const C=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let f=u;if(!f){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const v=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),w=d.getDomNodePagePosition(this._editor.getDomNode()),S=w.left+v.left,L=w.top+v.top+v.height;f={x:S,y:L}}const h=this._editor.getOption(128)&&!y.isIOS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:h?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>f,getActions:()=>r,getActionViewItem:v=>{const w=this._keybindingFor(v);if(w)return new k.ActionViewItem(v,v,{label:!0,keybinding:w.getLabel(),isMenu:!0});const S=v;return typeof S.getActionViewItem==\"function\"?S.getActionViewItem():new k.ActionViewItem(v,v,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:v=>this._keybindingFor(v),onHide:v=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:C})}})}_showScrollbarContextMenu(r){if(!this._editor.hasModel()||(0,s.isStandaloneEditorWorkspace)(this._workspaceContextService.getWorkspace()))return;const u=this._editor.getOption(73);let C=0;const f=L=>({id:`menu-action-${++C}`,label:L.label,tooltip:\"\",class:void 0,enabled:typeof L.enabled>\"u\"?!0:L.enabled,checked:L.checked,run:L.run}),h=(L,D)=>new I.SubmenuAction(`menu-action-${++C}`,L,D,void 0),v=(L,D,T,M,A)=>{if(!D)return f({label:L,enabled:D,run:()=>{}});const P=O=>()=>{this._configurationService.updateValue(T,O)},N=[];for(const O of A)N.push(f({label:O.label,checked:M===O.value,run:P(O.value)}));return h(L,N)},w=[];w.push(f({label:b.localize(811,\"Minimap\"),checked:u.enabled,run:()=>{this._configurationService.updateValue(\"editor.minimap.enabled\",!u.enabled)}})),w.push(new I.Separator),w.push(f({label:b.localize(812,\"Render Characters\"),enabled:u.enabled,checked:u.renderCharacters,run:()=>{this._configurationService.updateValue(\"editor.minimap.renderCharacters\",!u.renderCharacters)}})),w.push(v(b.localize(813,\"Vertical size\"),u.enabled,\"editor.minimap.size\",u.size,[{label:b.localize(814,\"Proportional\"),value:\"proportional\"},{label:b.localize(815,\"Fill\"),value:\"fill\"},{label:b.localize(816,\"Fit\"),value:\"fit\"}])),w.push(v(b.localize(817,\"Slider\"),u.enabled,\"editor.minimap.showSlider\",u.showSlider,[{label:b.localize(818,\"Mouse Over\"),value:\"mouseover\"},{label:b.localize(819,\"Always\"),value:\"always\"}]));const S=this._editor.getOption(128)&&!y.isIOS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:S?this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>w,onHide:L=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(r){return this._keybindingService.lookupKeybinding(r.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};e.ContextMenuController=c,e.ContextMenuController=c=g=ke([ce(1,o.IContextMenuService),ce(2,o.IContextViewService),ce(3,n.IContextKeyService),ce(4,t.IKeybindingService),ce(5,p.IMenuService),ce(6,i.IConfigurationService),ce(7,s.IWorkspaceContextService)],c);class l extends m.EditorAction{constructor(){super({id:\"editor.action.showContextMenu\",label:b.localize(820,\"Show Editor Context Menu\"),alias:\"Show Editor Context Menu\",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.textInputFocus,primary:1092,weight:100}})}run(r,u){c.get(u)?.showContextMenu()}}(0,m.registerEditorContribution)(c.ID,c,2),(0,m.registerEditorAction)(l)}),define(ne[293],se([1,0,13,194,91,2,128,42,48,22,27,17,3,186]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DefaultPasteProvidersFeature=e.DefaultDropProvidersFeature=e.DefaultTextPasteOrDropEditProvider=void 0;class i{async provideDocumentPasteEdits(f,h,v,w,S){const L=await this.getEdit(v,S);if(L)return{edits:[{insertText:L.insertText,title:L.title,kind:L.kind,handledMimeType:L.handledMimeType,yieldTo:L.yieldTo}],dispose(){}}}async provideDocumentDropEdits(f,h,v,w){const S=await this.getEdit(v,w);if(S)return{edits:[{insertText:S.insertText,title:S.title,kind:S.kind,handledMimeType:S.handledMimeType,yieldTo:S.yieldTo}],dispose(){}}}}class s extends i{constructor(){super(...arguments),this.kind=s.kind,this.dropMimeTypes=[y.Mimes.text],this.pasteMimeTypes=[y.Mimes.text]}static{this.id=\"text\"}static{this.kind=new I.HierarchicalKind(\"text.plain\")}async getEdit(f,h){const v=f.get(y.Mimes.text);if(!v||f.has(y.Mimes.uriList))return;const w=await v.asString();return{handledMimeType:y.Mimes.text,title:(0,o.localize)(833,\"Insert Plain Text\"),insertText:w,kind:this.kind}}}e.DefaultTextPasteOrDropEditProvider=s;class g extends i{constructor(){super(...arguments),this.kind=new I.HierarchicalKind(\"uri.absolute\"),this.dropMimeTypes=[y.Mimes.uriList],this.pasteMimeTypes=[y.Mimes.uriList]}async getEdit(f,h){const v=await a(f);if(!v.length||h.isCancellationRequested)return;let w=0;const S=v.map(({uri:D,originalText:T})=>D.scheme===m.Schemas.file?D.fsPath:(w++,T)).join(\" \");let L;return w>0?L=v.length>1?(0,o.localize)(834,\"Insert Uris\"):(0,o.localize)(835,\"Insert Uri\"):L=v.length>1?(0,o.localize)(836,\"Insert Paths\"):(0,o.localize)(837,\"Insert Path\"),{handledMimeType:y.Mimes.uriList,insertText:S,title:L,kind:this.kind}}}let c=class extends i{constructor(f){super(),this._workspaceContextService=f,this.kind=new I.HierarchicalKind(\"uri.relative\"),this.dropMimeTypes=[y.Mimes.uriList],this.pasteMimeTypes=[y.Mimes.uriList]}async getEdit(f,h){const v=await a(f);if(!v.length||h.isCancellationRequested)return;const w=(0,d.coalesce)(v.map(({uri:S})=>{const L=this._workspaceContextService.getWorkspaceFolder(S);return L?(0,_.relativePath)(L.uri,S):void 0}));if(w.length)return{handledMimeType:y.Mimes.uriList,insertText:w.join(\" \"),title:v.length>1?(0,o.localize)(838,\"Insert Relative Paths\"):(0,o.localize)(839,\"Insert Relative Path\"),kind:this.kind}}};c=ke([ce(0,t.IWorkspaceContextService)],c);class l{constructor(){this.kind=new I.HierarchicalKind(\"html\"),this.pasteMimeTypes=[\"text/html\"],this._yieldTo=[{mimeType:y.Mimes.text}]}async provideDocumentPasteEdits(f,h,v,w,S){if(w.triggerKind!==p.DocumentPasteTriggerKind.PasteAs&&!w.only?.contains(this.kind))return;const D=await v.get(\"text/html\")?.asString();if(!(!D||S.isCancellationRequested))return{dispose(){},edits:[{insertText:D,yieldTo:this._yieldTo,title:(0,o.localize)(840,\"Insert HTML\"),kind:this.kind}]}}}async function a(C){const f=C.get(y.Mimes.uriList);if(!f)return[];const h=await f.asString(),v=[];for(const w of k.UriList.parse(h))try{v.push({uri:b.URI.parse(w),originalText:w})}catch{}return v}let r=class extends E.Disposable{constructor(f,h){super(),this._register(f.documentDropEditProvider.register(\"*\",new s)),this._register(f.documentDropEditProvider.register(\"*\",new g)),this._register(f.documentDropEditProvider.register(\"*\",new c(h)))}};e.DefaultDropProvidersFeature=r,e.DefaultDropProvidersFeature=r=ke([ce(0,n.ILanguageFeaturesService),ce(1,t.IWorkspaceContextService)],r);let u=class extends E.Disposable{constructor(f,h){super(),this._register(f.documentPasteEditProvider.register(\"*\",new s)),this._register(f.documentPasteEditProvider.register(\"*\",new g)),this._register(f.documentPasteEditProvider.register(\"*\",new c(h))),this._register(f.documentPasteEditProvider.register(\"*\",new l))}};e.DefaultPasteProvidersFeature=u,e.DefaultPasteProvidersFeature=u=ke([ce(0,n.ILanguageFeaturesService),ce(1,t.IWorkspaceContextService)],u)}),define(ne[435],se([1,0,5,13,14,18,194,91,2,128,16,193,212,400,152,4,27,17,293,268,122,290,184,3,117,12,7,96,66,396,8]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T){\"use strict\";var M;Object.defineProperty(e,\"__esModule\",{value:!0}),e.CopyPasteController=e.pasteWidgetVisibleCtx=e.changePasteTypeCommandId=void 0,e.changePasteTypeCommandId=\"editor.changePasteType\",e.pasteWidgetVisibleCtx=new v.RawContextKey(\"pasteWidgetVisible\",!1,(0,f.localize)(826,\"Whether the paste widget is showing\"));const A=\"application/vnd.code.copyMetadata\";let P=class extends _.Disposable{static{M=this}static{this.ID=\"editor.contrib.copyPasteActionController\"}static get(O){return O.getContribution(M.ID)}constructor(O,F,x,W,V,q,H){super(),this._bulkEditService=x,this._clipboardService=W,this._languageFeaturesService=V,this._quickInputService=q,this._progressService=H,this._editor=O;const z=O.getContainerDomNode();this._register((0,d.addDisposableListener)(z,\"copy\",U=>this.handleCopy(U))),this._register((0,d.addDisposableListener)(z,\"cut\",U=>this.handleCopy(U))),this._register((0,d.addDisposableListener)(z,\"paste\",U=>this.handlePaste(U),!0)),this._pasteProgressManager=this._register(new u.InlineProgressManager(\"pasteIntoEditor\",O,F)),this._postPasteWidgetManager=this._register(F.createInstance(D.PostEditWidgetManager,\"pasteIntoEditor\",O,e.pasteWidgetVisibleCtx,{id:e.changePasteTypeCommandId,label:(0,f.localize)(827,\"Show paste options...\")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(O){this._editor.focus();try{this._pasteAsActionContext={preferred:O},(0,d.getActiveDocument)().execCommand(\"paste\")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(O){if(!this._editor.hasTextFocus()||(this._clipboardService.clearInternalState?.(),!O.clipboardData||!this.isPasteAsEnabled()))return;const F=this._editor.getModel(),x=this._editor.getSelections();if(!F||!x?.length)return;const W=this._editor.getOption(37);let V=x;const q=x.length===1&&x[0].isEmpty();if(q){if(!W)return;V=[new s.Range(V[0].startLineNumber,1,V[0].startLineNumber,1+F.getLineLength(V[0].startLineNumber))]}const H=this._editor._getViewModel()?.getPlainTextToCopy(x,W,p.isWindows),U={multicursorText:Array.isArray(H)?H:null,pasteOnNewLine:q,mode:null},j=this._languageFeaturesService.documentPasteEditProvider.ordered(F).filter(J=>!!J.prepareDocumentPaste);if(!j.length){this.setCopyMetadata(O.clipboardData,{defaultPastePayload:U});return}const Y=(0,t.toVSDataTransfer)(O.clipboardData),G=j.flatMap(J=>J.copyMimeTypes??[]),K=(0,n.generateUuid)();this.setCopyMetadata(O.clipboardData,{id:K,providerCopyMimeTypes:G,defaultPastePayload:U});const R=(0,I.createCancelablePromise)(async J=>{const ie=(0,k.coalesce)(await Promise.all(j.map(async ue=>{try{return await ue.prepareDocumentPaste(F,V,Y,J)}catch(he){console.error(he);return}})));ie.reverse();for(const ue of ie)for(const[he,pe]of ue)Y.replace(he,pe);return Y});M._currentCopyOperation?.dataTransferPromise.cancel(),M._currentCopyOperation={handle:K,dataTransferPromise:R}}async handlePaste(O){if(!O.clipboardData||!this._editor.hasTextFocus())return;C.MessageController.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;const F=this._editor.getModel(),x=this._editor.getSelections();if(!x?.length||!F||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const W=this.fetchCopyMetadata(O),V=(0,t.toExternalVSDataTransfer)(O.clipboardData);V.delete(A);const q=[...O.clipboardData.types,...W?.providerCopyMimeTypes??[],b.Mimes.uriList],H=this._languageFeaturesService.documentPasteEditProvider.ordered(F).filter(z=>{const U=this._pasteAsActionContext?.preferred;return U&&z.providedPasteEditKinds&&!this.providerMatchesPreference(z,U)?!1:z.pasteMimeTypes?.some(j=>(0,y.matchesMimeType)(j,q))});if(!H.length){this._pasteAsActionContext?.preferred&&this.showPasteAsNoEditMessage(x,this._pasteAsActionContext.preferred);return}O.preventDefault(),O.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,H,x,V,W):this.doPasteInline(H,x,V,W,O)}showPasteAsNoEditMessage(O,F){C.MessageController.get(this._editor)?.showMessage((0,f.localize)(828,\"No paste edits for '{0}' found\",F instanceof m.HierarchicalKind?F.value:F.providerId),O[0].getStartPosition())}doPasteInline(O,F,x,W,V){const q=this._editor;if(!q.hasModel())return;const H=new r.EditorStateCancellationTokenSource(q,3,void 0),z=(0,I.createCancelablePromise)(async U=>{const j=this._editor;if(!j.hasModel())return;const Y=j.getModel(),G=new _.DisposableStore,K=G.add(new E.CancellationTokenSource(U));G.add(H.token.onCancellationRequested(()=>K.cancel()));const R=K.token;try{if(await this.mergeInDataFromCopy(x,W,R),R.isCancellationRequested)return;const J=O.filter(he=>this.isSupportedPasteProvider(he,x));if(!J.length||J.length===1&&J[0]instanceof l.DefaultTextPasteOrDropEditProvider)return this.applyDefaultPasteHandler(x,W,R,V);const ie={triggerKind:g.DocumentPasteTriggerKind.Automatic},ue=await this.getPasteEdits(J,x,Y,F,ie,R);if(G.add(ue),R.isCancellationRequested)return;if(ue.edits.length===1&&ue.edits[0].provider instanceof l.DefaultTextPasteOrDropEditProvider)return this.applyDefaultPasteHandler(x,W,R,V);if(ue.edits.length){const he=j.getOption(85).showPasteSelector===\"afterPaste\";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(F,{activeEditIndex:0,allEdits:ue.edits},he,(pe,ae)=>new Promise((ee,de)=>{(async()=>{try{const ge=pe.provider.resolveDocumentPasteEdit?.(pe,ae),X=new I.DeferredPromise,B=ge&&await this._pasteProgressManager.showWhile(F[0].getEndPosition(),(0,f.localize)(829,\"Resolving paste edit. Click to cancel\"),Promise.race([X.p,ge]),{cancel:()=>(X.cancel(),de(new T.CancellationError))},0);return B&&(pe.additionalEdit=B.additionalEdit),ee(pe)}catch(ge){return de(ge)}})()}),R)}await this.applyDefaultPasteHandler(x,W,R,V)}finally{G.dispose(),this._currentPasteOperation===z&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(F[0].getEndPosition(),(0,f.localize)(830,\"Running paste handlers. Click to cancel and do basic paste\"),z,{cancel:async()=>{try{if(z.cancel(),H.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(x,W,H.token,V)}finally{H.dispose()}}}).then(()=>{H.dispose()}),this._currentPasteOperation=z}showPasteAsPick(O,F,x,W,V){const q=(0,I.createCancelablePromise)(async H=>{const z=this._editor;if(!z.hasModel())return;const U=z.getModel(),j=new _.DisposableStore,Y=j.add(new r.EditorStateCancellationTokenSource(z,3,void 0,H));try{if(await this.mergeInDataFromCopy(W,V,Y.token),Y.token.isCancellationRequested)return;let G=F.filter(ue=>this.isSupportedPasteProvider(ue,W,O));O&&(G=G.filter(ue=>this.providerMatchesPreference(ue,O)));const K={triggerKind:g.DocumentPasteTriggerKind.PasteAs,only:O&&O instanceof m.HierarchicalKind?O:void 0};let R=j.add(await this.getPasteEdits(G,W,U,x,K,Y.token));if(Y.token.isCancellationRequested)return;if(O&&(R={edits:R.edits.filter(ue=>O instanceof m.HierarchicalKind?O.contains(ue.kind):O.providerId===ue.provider.id),dispose:R.dispose}),!R.edits.length){K.only&&this.showPasteAsNoEditMessage(x,K.only);return}let J;if(O?J=R.edits.at(0):J=(await this._quickInputService.pick(R.edits.map(he=>({label:he.title,description:he.kind?.value,edit:he})),{placeHolder:(0,f.localize)(831,\"Select Paste Action\")}))?.edit,!J)return;const ie=(0,a.createCombinedWorkspaceEdit)(U.uri,x,J);await this._bulkEditService.apply(ie,{editor:this._editor})}finally{j.dispose(),this._currentPasteOperation===q&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:(0,f.localize)(832,\"Running paste handlers\")},()=>q)}setCopyMetadata(O,F){O.setData(A,JSON.stringify(F))}fetchCopyMetadata(O){if(!O.clipboardData)return;const F=O.clipboardData.getData(A);if(F)try{return JSON.parse(F)}catch{return}const[x,W]=o.ClipboardEventUtils.getTextData(O.clipboardData);if(W)return{defaultPastePayload:{mode:W.mode,multicursorText:W.multicursorText??null,pasteOnNewLine:!!W.isFromEmptySelection}}}async mergeInDataFromCopy(O,F,x){if(F?.id&&M._currentCopyOperation?.handle===F.id){const W=await M._currentCopyOperation.dataTransferPromise;if(x.isCancellationRequested)return;for(const[V,q]of W)O.replace(V,q)}if(!O.has(b.Mimes.uriList)){const W=await this._clipboardService.readResources();if(x.isCancellationRequested)return;W.length&&O.append(b.Mimes.uriList,(0,y.createStringDataTransferItem)(y.UriList.create(W)))}}async getPasteEdits(O,F,x,W,V,q){const H=new _.DisposableStore,z=await(0,I.raceCancellation)(Promise.all(O.map(async j=>{try{const Y=await j.provideDocumentPasteEdits?.(x,W,F,V,q);return Y&&H.add(Y),Y?.edits?.map(G=>({...G,provider:j}))}catch(Y){(0,T.isCancellationError)(Y)||console.error(Y);return}})),q),U=(0,k.coalesce)(z??[]).flat().filter(j=>!V.only||V.only.contains(j.kind));return{edits:(0,a.sortEditsByYieldTo)(U),dispose:()=>H.dispose()}}async applyDefaultPasteHandler(O,F,x,W){const q=await(O.get(b.Mimes.text)??O.get(\"text\"))?.asString()??\"\";if(x.isCancellationRequested)return;const H={clipboardEvent:W,text:q,pasteOnNewLine:F?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:F?.defaultPastePayload.multicursorText??null,mode:null};this._editor.trigger(\"keyboard\",\"paste\",H)}isSupportedPasteProvider(O,F,x){return O.pasteMimeTypes?.some(W=>F.matches(W))?!x||this.providerMatchesPreference(O,x):!1}providerMatchesPreference(O,F){return F instanceof m.HierarchicalKind?O.providedPasteEditKinds?O.providedPasteEditKinds.some(x=>F.contains(x)):!0:O.id===F.providerId}};e.CopyPasteController=P,e.CopyPasteController=P=M=ke([ce(1,w.IInstantiationService),ce(2,i.IBulkEditService),ce(3,h.IClipboardService),ce(4,c.ILanguageFeaturesService),ce(5,L.IQuickInputService),ce(6,S.IProgressService)],P)}),define(ne[856],se([1,0,64,5,16,212,15,34,20,435,3,29,117,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PasteAction=e.CopyAction=e.CutAction=void 0;const i=\"9_cutcopypaste\",s=I.isNative||document.queryCommandSupported(\"cut\"),g=I.isNative||document.queryCommandSupported(\"copy\"),c=typeof navigator.clipboard>\"u\"||d.isFirefox?document.queryCommandSupported(\"paste\"):!0;function l(u){return u.register(),u}e.CutAction=s?l(new y.MultiCommand({id:\"editor.action.clipboardCutAction\",precondition:void 0,kbOpts:I.isNative?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:n.MenuId.MenubarEditMenu,group:\"2_ccp\",title:p.localize(725,\"Cu&&t\"),order:1},{menuId:n.MenuId.EditorContext,group:i,title:p.localize(726,\"Cut\"),when:_.EditorContextKeys.writable,order:1},{menuId:n.MenuId.CommandPalette,group:\"\",title:p.localize(727,\"Cut\"),order:1},{menuId:n.MenuId.SimpleEditorContext,group:i,title:p.localize(728,\"Cut\"),when:_.EditorContextKeys.writable,order:1}]})):void 0,e.CopyAction=g?l(new y.MultiCommand({id:\"editor.action.clipboardCopyAction\",precondition:void 0,kbOpts:I.isNative?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:n.MenuId.MenubarEditMenu,group:\"2_ccp\",title:p.localize(729,\"&&Copy\"),order:2},{menuId:n.MenuId.EditorContext,group:i,title:p.localize(730,\"Copy\"),order:2},{menuId:n.MenuId.CommandPalette,group:\"\",title:p.localize(731,\"Copy\"),order:1},{menuId:n.MenuId.SimpleEditorContext,group:i,title:p.localize(732,\"Copy\"),order:2}]})):void 0,n.MenuRegistry.appendMenuItem(n.MenuId.MenubarEditMenu,{submenu:n.MenuId.MenubarCopy,title:p.localize2(738,\"Copy As\"),group:\"2_ccp\",order:3}),n.MenuRegistry.appendMenuItem(n.MenuId.EditorContext,{submenu:n.MenuId.EditorContextCopy,title:p.localize2(739,\"Copy As\"),group:i,order:3}),n.MenuRegistry.appendMenuItem(n.MenuId.EditorContext,{submenu:n.MenuId.EditorContextShare,title:p.localize2(740,\"Share\"),group:\"11_share\",order:-1,when:t.ContextKeyExpr.and(t.ContextKeyExpr.notEquals(\"resourceScheme\",\"output\"),_.EditorContextKeys.editorTextFocus)}),n.MenuRegistry.appendMenuItem(n.MenuId.ExplorerContext,{submenu:n.MenuId.ExplorerContextShare,title:p.localize2(741,\"Share\"),group:\"11_share\",order:-1}),e.PasteAction=c?l(new y.MultiCommand({id:\"editor.action.clipboardPasteAction\",precondition:void 0,kbOpts:I.isNative?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:n.MenuId.MenubarEditMenu,group:\"2_ccp\",title:p.localize(733,\"&&Paste\"),order:4},{menuId:n.MenuId.EditorContext,group:i,title:p.localize(734,\"Paste\"),when:_.EditorContextKeys.writable,order:4},{menuId:n.MenuId.CommandPalette,group:\"\",title:p.localize(735,\"Paste\"),order:1},{menuId:n.MenuId.SimpleEditorContext,group:i,title:p.localize(736,\"Paste\"),when:_.EditorContextKeys.writable,order:4}]})):void 0;class a extends y.EditorAction{constructor(){super({id:\"editor.action.clipboardCopyWithSyntaxHighlightingAction\",label:p.localize(737,\"Copy With Syntax Highlighting\"),alias:\"Copy With Syntax Highlighting\",precondition:void 0,kbOpts:{kbExpr:_.EditorContextKeys.textInputFocus,primary:0,weight:100}})}run(C,f){!f.hasModel()||!f.getOption(37)&&f.getSelection().isEmpty()||(E.CopyOptions.forceCopyWithSyntaxHighlighting=!0,f.focus(),f.getContainerDomNode().ownerDocument.execCommand(\"copy\"),E.CopyOptions.forceCopyWithSyntaxHighlighting=!1)}}function r(u,C){u&&(u.addImplementation(1e4,\"code-editor\",(f,h)=>{const v=f.get(m.ICodeEditorService).getFocusedCodeEditor();if(v&&v.hasTextFocus()){const w=v.getOption(37),S=v.getSelection();return S&&S.isEmpty()&&!w||v.getContainerDomNode().ownerDocument.execCommand(C),!0}return!1}),u.addImplementation(0,\"generic-dom\",(f,h)=>((0,k.getActiveDocument)().execCommand(C),!0)))}r(e.CutAction,\"cut\"),r(e.CopyAction,\"copy\"),e.PasteAction&&(e.PasteAction.addImplementation(1e4,\"code-editor\",(u,C)=>{const f=u.get(m.ICodeEditorService),h=u.get(o.IClipboardService),v=f.getFocusedCodeEditor();return v&&v.hasTextFocus()?v.getContainerDomNode().ownerDocument.execCommand(\"paste\")?b.CopyPasteController.get(v)?.finishedPaste()??Promise.resolve():I.isWeb?(async()=>{const S=await h.readText();if(S!==\"\"){const L=E.InMemoryClipboardMetadataManager.INSTANCE.get(S);let D=!1,T=null,M=null;L&&(D=v.getOption(37)&&!!L.isFromEmptySelection,T=typeof L.multicursorText<\"u\"?L.multicursorText:null,M=L.mode),v.trigger(\"keyboard\",\"paste\",{text:S,pasteOnNewLine:D,multicursorText:T,mode:M})}})():!0:!1}),e.PasteAction.addImplementation(0,\"generic-dom\",(u,C)=>((0,k.getActiveDocument)().execCommand(\"paste\"),!0))),g&&(0,y.registerEditorAction)(a)}),define(ne[857],se([1,0,91,15,20,130,435,293,3]),function(oe,e,d,k,I,E,y,m,_){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,k.registerEditorContribution)(y.CopyPasteController.ID,y.CopyPasteController,0),(0,E.registerEditorFeature)(m.DefaultPasteProvidersFeature),(0,k.registerEditorCommand)(new class extends k.EditorCommand{constructor(){super({id:y.changePasteTypeCommandId,precondition:y.pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(b,p){return y.CopyPasteController.get(p)?.changePasteType()}}),(0,k.registerEditorCommand)(new class extends k.EditorCommand{constructor(){super({id:\"editor.hidePasteWidget\",precondition:y.pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:9}})}runEditorCommand(b,p){y.CopyPasteController.get(p)?.clearWidgets()}}),(0,k.registerEditorAction)(class bi extends k.EditorAction{static{this.argsSchema={type:\"object\",properties:{kind:{type:\"string\",description:_.localize(823,\"The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.\")}}}}constructor(){super({id:\"editor.action.pasteAs\",label:_.localize(824,\"Paste As...\"),alias:\"Paste As...\",precondition:I.EditorContextKeys.writable,metadata:{description:\"Paste as\",args:[{name:\"args\",schema:bi.argsSchema}]}})}run(p,n,o){let t=typeof o?.kind==\"string\"?o.kind:void 0;return!t&&o&&(t=typeof o.id==\"string\"?o.id:void 0),y.CopyPasteController.get(n)?.pasteAs(t?new d.HierarchicalKind(t):void 0)}}),(0,k.registerEditorAction)(class extends k.EditorAction{constructor(){super({id:\"editor.action.pasteAsText\",label:_.localize(825,\"Paste as Text\"),alias:\"Paste as Text\",precondition:I.EditorContextKeys.writable})}run(b,p){return y.CopyPasteController.get(p)?.pasteAs({providerId:m.DefaultTextPasteOrDropEditProvider.id})}})}),define(ne[858],se([1,0,15,274,130,293,3,109,38,832]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,d.registerEditorContribution)(b.DropIntoEditorController.ID,b.DropIntoEditorController,2),(0,I.registerEditorFeature)(E.DefaultDropProvidersFeature),(0,d.registerEditorCommand)(new class extends d.EditorCommand{constructor(){super({id:b.changeDropTypeCommandId,precondition:b.dropWidgetVisibleCtx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(p,n,o){b.DropIntoEditorController.get(n)?.changeDropType()}}),(0,d.registerEditorCommand)(new class extends d.EditorCommand{constructor(){super({id:\"editor.hideDropWidget\",precondition:b.dropWidgetVisibleCtx,kbOpts:{weight:100,primary:9}})}runEditorCommand(p,n,o){b.DropIntoEditorController.get(n)?.clearWidgets()}}),_.Registry.as(m.Extensions.Configuration).registerConfiguration({...k.editorConfigurationBaseNode,properties:{[b.defaultProviderConfig]:{type:\"object\",scope:5,description:y.localize(841,\"Configures the default drop provider to use for content of a given mime type.\"),default:{},additionalProperties:{type:\"string\"}}}})}),define(ne[859],se([1,0,629,99,48,11,193,36,135,3,186]),function(oe,e,d,k,I,E,y,m,_,b,p){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RandomBasedVariableResolver=e.WorkspaceBasedVariableResolver=e.TimeBasedVariableResolver=e.CommentBasedVariableResolver=e.ClipboardBasedVariableResolver=e.ModelBasedVariableResolver=e.SelectionBasedVariableResolver=e.CompositeSnippetVariableResolver=e.KnownSnippetVariableNames=void 0,e.KnownSnippetVariableNames=Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class n{constructor(r){this._delegates=r}resolve(r){for(const u of this._delegates){const C=u.resolve(r);if(C!==void 0)return C}}}e.CompositeSnippetVariableResolver=n;class o{constructor(r,u,C,f){this._model=r,this._selection=u,this._selectionIdx=C,this._overtypingCapturer=f}resolve(r){const{name:u}=r;if(u===\"SELECTION\"||u===\"TM_SELECTED_TEXT\"){let C=this._model.getValueInRange(this._selection)||void 0,f=this._selection.startLineNumber!==this._selection.endLineNumber;if(!C&&this._overtypingCapturer){const h=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);h&&(C=h.value,f=h.multiline)}if(C&&f&&r.snippet){const h=this._model.getLineContent(this._selection.startLineNumber),v=(0,E.getLeadingWhitespace)(h,0,this._selection.startColumn-1);let w=v;r.snippet.walk(L=>L===r?!1:(L instanceof _.Text&&(w=(0,E.getLeadingWhitespace)((0,E.splitLines)(L.value).pop())),!0));const S=(0,E.commonPrefixLength)(w,v);C=C.replace(/(\\r\\n|\\r|\\n)(.*)/g,(L,D,T)=>`${D}${w.substr(S)}${T}`)}return C}else{if(u===\"TM_CURRENT_LINE\")return this._model.getLineContent(this._selection.positionLineNumber);if(u===\"TM_CURRENT_WORD\"){const C=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return C&&C.word||void 0}else{if(u===\"TM_LINE_INDEX\")return String(this._selection.positionLineNumber-1);if(u===\"TM_LINE_NUMBER\")return String(this._selection.positionLineNumber);if(u===\"CURSOR_INDEX\")return String(this._selectionIdx);if(u===\"CURSOR_NUMBER\")return String(this._selectionIdx+1)}}}}e.SelectionBasedVariableResolver=o;class t{constructor(r,u){this._labelService=r,this._model=u}resolve(r){const{name:u}=r;if(u===\"TM_FILENAME\")return k.basename(this._model.uri.fsPath);if(u===\"TM_FILENAME_BASE\"){const C=k.basename(this._model.uri.fsPath),f=C.lastIndexOf(\".\");return f<=0?C:C.slice(0,f)}else{if(u===\"TM_DIRECTORY\")return k.dirname(this._model.uri.fsPath)===\".\"?\"\":this._labelService.getUriLabel((0,I.dirname)(this._model.uri));if(u===\"TM_FILEPATH\")return this._labelService.getUriLabel(this._model.uri);if(u===\"RELATIVE_FILEPATH\")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}e.ModelBasedVariableResolver=t;class i{constructor(r,u,C,f){this._readClipboardText=r,this._selectionIdx=u,this._selectionCount=C,this._spread=f}resolve(r){if(r.name!==\"CLIPBOARD\")return;const u=this._readClipboardText();if(u){if(this._spread){const C=u.split(/\\r\\n|\\n|\\r/).filter(f=>!(0,E.isFalsyOrWhitespace)(f));if(C.length===this._selectionCount)return C[this._selectionIdx]}return u}}}e.ClipboardBasedVariableResolver=i;let s=class{constructor(r,u,C){this._model=r,this._selection=u,this._languageConfigurationService=C}resolve(r){const{name:u}=r,C=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),f=this._languageConfigurationService.getLanguageConfiguration(C).comments;if(f){if(u===\"LINE_COMMENT\")return f.lineCommentToken||void 0;if(u===\"BLOCK_COMMENT_START\")return f.blockCommentStartToken||void 0;if(u===\"BLOCK_COMMENT_END\")return f.blockCommentEndToken||void 0}}};e.CommentBasedVariableResolver=s,e.CommentBasedVariableResolver=s=ke([ce(2,m.ILanguageConfigurationService)],s);class g{constructor(){this._date=new Date}static{this.dayNames=[b.localize(1261,\"Sunday\"),b.localize(1262,\"Monday\"),b.localize(1263,\"Tuesday\"),b.localize(1264,\"Wednesday\"),b.localize(1265,\"Thursday\"),b.localize(1266,\"Friday\"),b.localize(1267,\"Saturday\")]}static{this.dayNamesShort=[b.localize(1268,\"Sun\"),b.localize(1269,\"Mon\"),b.localize(1270,\"Tue\"),b.localize(1271,\"Wed\"),b.localize(1272,\"Thu\"),b.localize(1273,\"Fri\"),b.localize(1274,\"Sat\")]}static{this.monthNames=[b.localize(1275,\"January\"),b.localize(1276,\"February\"),b.localize(1277,\"March\"),b.localize(1278,\"April\"),b.localize(1279,\"May\"),b.localize(1280,\"June\"),b.localize(1281,\"July\"),b.localize(1282,\"August\"),b.localize(1283,\"September\"),b.localize(1284,\"October\"),b.localize(1285,\"November\"),b.localize(1286,\"December\")]}static{this.monthNamesShort=[b.localize(1287,\"Jan\"),b.localize(1288,\"Feb\"),b.localize(1289,\"Mar\"),b.localize(1290,\"Apr\"),b.localize(1291,\"May\"),b.localize(1292,\"Jun\"),b.localize(1293,\"Jul\"),b.localize(1294,\"Aug\"),b.localize(1295,\"Sep\"),b.localize(1296,\"Oct\"),b.localize(1297,\"Nov\"),b.localize(1298,\"Dec\")]}resolve(r){const{name:u}=r;if(u===\"CURRENT_YEAR\")return String(this._date.getFullYear());if(u===\"CURRENT_YEAR_SHORT\")return String(this._date.getFullYear()).slice(-2);if(u===\"CURRENT_MONTH\")return String(this._date.getMonth().valueOf()+1).padStart(2,\"0\");if(u===\"CURRENT_DATE\")return String(this._date.getDate().valueOf()).padStart(2,\"0\");if(u===\"CURRENT_HOUR\")return String(this._date.getHours().valueOf()).padStart(2,\"0\");if(u===\"CURRENT_MINUTE\")return String(this._date.getMinutes().valueOf()).padStart(2,\"0\");if(u===\"CURRENT_SECOND\")return String(this._date.getSeconds().valueOf()).padStart(2,\"0\");if(u===\"CURRENT_DAY_NAME\")return g.dayNames[this._date.getDay()];if(u===\"CURRENT_DAY_NAME_SHORT\")return g.dayNamesShort[this._date.getDay()];if(u===\"CURRENT_MONTH_NAME\")return g.monthNames[this._date.getMonth()];if(u===\"CURRENT_MONTH_NAME_SHORT\")return g.monthNamesShort[this._date.getMonth()];if(u===\"CURRENT_SECONDS_UNIX\")return String(Math.floor(this._date.getTime()/1e3));if(u===\"CURRENT_TIMEZONE_OFFSET\"){const C=this._date.getTimezoneOffset(),f=C>0?\"-\":\"+\",h=Math.trunc(Math.abs(C/60)),v=h<10?\"0\"+h:h,w=Math.abs(C)-h*60,S=w<10?\"0\"+w:w;return f+v+\":\"+S}}}e.TimeBasedVariableResolver=g;class c{constructor(r){this._workspaceService=r}resolve(r){if(!this._workspaceService)return;const u=(0,p.toWorkspaceIdentifier)(this._workspaceService.getWorkspace());if(!(0,p.isEmptyWorkspaceIdentifier)(u)){if(r.name===\"WORKSPACE_NAME\")return this._resolveWorkspaceName(u);if(r.name===\"WORKSPACE_FOLDER\")return this._resoveWorkspacePath(u)}}_resolveWorkspaceName(r){if((0,p.isSingleFolderWorkspaceIdentifier)(r))return k.basename(r.uri.path);let u=k.basename(r.configPath.path);return u.endsWith(p.WORKSPACE_EXTENSION)&&(u=u.substr(0,u.length-p.WORKSPACE_EXTENSION.length-1)),u}_resoveWorkspacePath(r){if((0,p.isSingleFolderWorkspaceIdentifier)(r))return(0,d.normalizeDriveLetter)(r.uri.fsPath);const u=k.basename(r.configPath.path);let C=r.configPath.fsPath;return C.endsWith(u)&&(C=C.substr(0,C.length-u.length-1)),C?(0,d.normalizeDriveLetter)(C):\"/\"}}e.WorkspaceBasedVariableResolver=c;class l{resolve(r){const{name:u}=r;if(u===\"RANDOM\")return Math.random().toString().slice(-6);if(u===\"RANDOM_HEX\")return Math.random().toString(16).slice(-6);if(u===\"UUID\")return(0,y.generateUuid)()}}e.RandomBasedVariableResolver=l}),define(ne[436],se([1,0,13,2,11,75,4,23,36,35,181,186,135,859,530]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";var i;Object.defineProperty(e,\"__esModule\",{value:!0}),e.SnippetSession=e.OneSnippet=void 0;class s{static{this._decor={active:b.ModelDecorationOptions.register({description:\"snippet-placeholder-1\",stickiness:0,className:\"snippet-placeholder\"}),inactive:b.ModelDecorationOptions.register({description:\"snippet-placeholder-2\",stickiness:1,className:\"snippet-placeholder\"}),activeFinal:b.ModelDecorationOptions.register({description:\"snippet-placeholder-3\",stickiness:1,className:\"finish-snippet-placeholder\"}),inactiveFinal:b.ModelDecorationOptions.register({description:\"snippet-placeholder-4\",stickiness:1,className:\"finish-snippet-placeholder\"})}}constructor(a,r,u){this._editor=a,this._snippet=r,this._snippetLineLeadingWhitespace=u,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=(0,d.groupBy)(r.placeholders,o.Placeholder.compareByIndex),this._placeholderGroupsIdx=-1}initialize(a){this._offset=a.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error(\"Snippet not initialized!\");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const a=this._editor.getModel();this._editor.changeDecorations(r=>{for(const u of this._snippet.placeholders){const C=this._snippet.offset(u),f=this._snippet.fullLen(u),h=y.Range.fromPositions(a.getPositionAt(this._offset+C),a.getPositionAt(this._offset+C+f)),v=u.isFinalTabstop?s._decor.inactiveFinal:s._decor.inactive,w=r.addDecoration(h,v);this._placeholderDecorations.set(u,w)}})}move(a){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const C=[];for(const f of this._placeholderGroups[this._placeholderGroupsIdx])if(f.transform){const h=this._placeholderDecorations.get(f),v=this._editor.getModel().getDecorationRange(h),w=this._editor.getModel().getValueInRange(v),S=f.transform.resolve(w).split(/\\r\\n|\\r|\\n/);for(let L=1;L<S.length;L++)S[L]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+S[L]);C.push(E.EditOperation.replace(v,S.join(this._editor.getModel().getEOL())))}C.length>0&&this._editor.executeEdits(\"snippet.placeholderTransform\",C)}let r=!1;a===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,r=!0):a===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,r=!0);const u=this._editor.getModel().changeDecorations(C=>{const f=new Set,h=[];for(const v of this._placeholderGroups[this._placeholderGroupsIdx]){const w=this._placeholderDecorations.get(v),S=this._editor.getModel().getDecorationRange(w);h.push(new m.Selection(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn)),r=r&&this._hasPlaceholderBeenCollapsed(v),C.changeDecorationOptions(w,v.isFinalTabstop?s._decor.activeFinal:s._decor.active),f.add(v);for(const L of this._snippet.enclosingPlaceholders(v)){const D=this._placeholderDecorations.get(L);C.changeDecorationOptions(D,L.isFinalTabstop?s._decor.activeFinal:s._decor.active),f.add(L)}}for(const[v,w]of this._placeholderDecorations)f.has(v)||C.changeDecorationOptions(w,v.isFinalTabstop?s._decor.inactiveFinal:s._decor.inactive);return h});return r?this.move(a):u??[]}_hasPlaceholderBeenCollapsed(a){let r=a;for(;r;){if(r instanceof o.Placeholder){const u=this._placeholderDecorations.get(r);if(this._editor.getModel().getDecorationRange(u).isEmpty()&&r.toString().length>0)return!0}r=r.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[a]=this._snippet.placeholders;if(a.isFinalTabstop&&this._snippet.rightMostDescendant===a)return!0}return!1}computePossibleSelections(){const a=new Map;for(const r of this._placeholderGroups){let u;for(const C of r){if(C.isFinalTabstop)break;u||(u=[],a.set(C.index,u));const f=this._placeholderDecorations.get(C),h=this._editor.getModel().getDecorationRange(f);if(!h){a.delete(C.index);break}u.push(h)}}return a}get activeChoice(){if(!this._placeholderDecorations)return;const a=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!a?.choice)return;const r=this._placeholderDecorations.get(a);if(!r)return;const u=this._editor.getModel().getDecorationRange(r);if(u)return{range:u,choice:a.choice}}get hasChoice(){let a=!1;return this._snippet.walk(r=>(a=r instanceof o.Choice,!a)),a}merge(a){const r=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(u=>{for(const C of this._placeholderGroups[this._placeholderGroupsIdx]){const f=a.shift();console.assert(f._offset!==-1),console.assert(!f._placeholderDecorations);const h=f._snippet.placeholderInfo.last.index;for(const w of f._snippet.placeholderInfo.all)w.isFinalTabstop?w.index=C.index+(h+1)/this._nestingLevel:w.index=C.index+w.index/this._nestingLevel;this._snippet.replace(C,f._snippet.children);const v=this._placeholderDecorations.get(C);u.removeDecoration(v),this._placeholderDecorations.delete(C);for(const w of f._snippet.placeholders){const S=f._snippet.offset(w),L=f._snippet.fullLen(w),D=y.Range.fromPositions(r.getPositionAt(f._offset+S),r.getPositionAt(f._offset+S+L)),T=u.addDecoration(D,s._decor.inactive);this._placeholderDecorations.set(w,T)}}this._placeholderGroups=(0,d.groupBy)(this._snippet.placeholders,o.Placeholder.compareByIndex)})}}e.OneSnippet=s;const g={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let c=i=class{static adjustWhitespace(a,r,u,C,f){const h=a.getLineContent(r.lineNumber),v=(0,I.getLeadingWhitespace)(h,0,r.column-1);let w;return C.walk(S=>{if(!(S instanceof o.Text)||S.parent instanceof o.Choice||f&&!f.has(S))return!0;const L=S.value.split(/\\r\\n|\\r|\\n/);if(u){const T=C.offset(S);if(T===0)L[0]=a.normalizeIndentation(L[0]);else{w=w??C.toString();const M=w.charCodeAt(T-1);(M===10||M===13)&&(L[0]=a.normalizeIndentation(v+L[0]))}for(let M=1;M<L.length;M++)L[M]=a.normalizeIndentation(v+L[M])}const D=L.join(a.getEOL());return D!==S.value&&(S.parent.replace(S,[new o.Text(D)]),w=void 0),!0}),v}static adjustSelection(a,r,u,C){if(u!==0||C!==0){const{positionLineNumber:f,positionColumn:h}=r,v=h-u,w=h+C,S=a.validateRange({startLineNumber:f,startColumn:v,endLineNumber:f,endColumn:w});r=m.Selection.createWithDirection(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn,r.getDirection())}return r}static createEditsAndSnippetsFromSelections(a,r,u,C,f,h,v,w,S){const L=[],D=[];if(!a.hasModel())return{edits:L,snippets:D};const T=a.getModel(),M=a.invokeWithinContext(W=>W.get(n.IWorkspaceContextService)),A=a.invokeWithinContext(W=>new t.ModelBasedVariableResolver(W.get(p.ILabelService),T)),P=()=>v,N=T.getValueInRange(i.adjustSelection(T,a.getSelection(),u,0)),O=T.getValueInRange(i.adjustSelection(T,a.getSelection(),0,C)),F=T.getLineFirstNonWhitespaceColumn(a.getSelection().positionLineNumber),x=a.getSelections().map((W,V)=>({selection:W,idx:V})).sort((W,V)=>y.Range.compareRangesUsingStarts(W.selection,V.selection));for(const{selection:W,idx:V}of x){let q=i.adjustSelection(T,W,u,0),H=i.adjustSelection(T,W,0,C);N!==T.getValueInRange(q)&&(q=W),O!==T.getValueInRange(H)&&(H=W);const z=W.setStartPosition(q.startLineNumber,q.startColumn).setEndPosition(H.endLineNumber,H.endColumn),U=new o.SnippetParser().parse(r,!0,f),j=z.getStartPosition(),Y=i.adjustWhitespace(T,j,h||V>0&&F!==T.getLineFirstNonWhitespaceColumn(W.positionLineNumber),U);U.resolveVariables(new t.CompositeSnippetVariableResolver([A,new t.ClipboardBasedVariableResolver(P,V,x.length,a.getOption(79)===\"spread\"),new t.SelectionBasedVariableResolver(T,W,V,w),new t.CommentBasedVariableResolver(T,W,S),new t.TimeBasedVariableResolver,new t.WorkspaceBasedVariableResolver(M),new t.RandomBasedVariableResolver])),L[V]=E.EditOperation.replace(z,U.toString()),L[V].identifier={major:V,minor:0},L[V]._isTracked=!0,D[V]=new s(a,U,Y)}return{edits:L,snippets:D}}static createEditsAndSnippetsFromEdits(a,r,u,C,f,h,v){if(!a.hasModel()||r.length===0)return{edits:[],snippets:[]};const w=[],S=a.getModel(),L=new o.SnippetParser,D=new o.TextmateSnippet,T=new t.CompositeSnippetVariableResolver([a.invokeWithinContext(A=>new t.ModelBasedVariableResolver(A.get(p.ILabelService),S)),new t.ClipboardBasedVariableResolver(()=>f,0,a.getSelections().length,a.getOption(79)===\"spread\"),new t.SelectionBasedVariableResolver(S,a.getSelection(),0,h),new t.CommentBasedVariableResolver(S,a.getSelection(),v),new t.TimeBasedVariableResolver,new t.WorkspaceBasedVariableResolver(a.invokeWithinContext(A=>A.get(n.IWorkspaceContextService))),new t.RandomBasedVariableResolver]);r=r.sort((A,P)=>y.Range.compareRangesUsingStarts(A.range,P.range));let M=0;for(let A=0;A<r.length;A++){const{range:P,template:N}=r[A];if(A>0){const V=r[A-1].range,q=y.Range.fromPositions(V.getEndPosition(),P.getStartPosition()),H=new o.Text(S.getValueInRange(q));D.appendChild(H),M+=H.value.length}const O=L.parseFragment(N,D);i.adjustWhitespace(S,P.getStartPosition(),!0,D,new Set(O)),D.resolveVariables(T);const F=D.toString(),x=F.slice(M);M=F.length;const W=E.EditOperation.replace(P,x);W.identifier={major:A,minor:0},W._isTracked=!0,w.push(W)}return L.ensureFinalTabstop(D,u,!0),{edits:w,snippets:[new s(a,D,\"\")]}}constructor(a,r,u=g,C){this._editor=a,this._template=r,this._options=u,this._languageConfigurationService=C,this._templateMerges=[],this._snippets=[]}dispose(){(0,k.dispose)(this._snippets)}_logInfo(){return`template=\"${this._template}\", merged_templates=\"${this._templateMerges.join(\" -> \")}\"`}insert(){if(!this._editor.hasModel())return;const{edits:a,snippets:r}=typeof this._template==\"string\"?i.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):i.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=r,this._editor.executeEdits(\"snippet\",a,u=>{const C=u.filter(f=>!!f.identifier);for(let f=0;f<r.length;f++)r[f].initialize(C[f].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):C.map(f=>m.Selection.fromPositions(f.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(a,r=g){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,a]);const{edits:u,snippets:C}=i.createEditsAndSnippetsFromSelections(this._editor,a,r.overwriteBefore,r.overwriteAfter,!0,r.adjustWhitespace,r.clipboardText,r.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits(\"snippet\",u,f=>{const h=f.filter(w=>!!w.identifier);for(let w=0;w<C.length;w++)C[w].initialize(h[w].textChange);const v=C[0].isTrivialSnippet;if(!v){for(const w of this._snippets)w.merge(C);console.assert(C.length===0)}return this._snippets[0].hasPlaceholder&&!v?this._move(void 0):h.map(w=>m.Selection.fromPositions(w.range.getEndPosition()))})}next(){const a=this._move(!0);this._editor.setSelections(a),this._editor.revealPositionInCenterIfOutsideViewport(a[0].getPosition())}prev(){const a=this._move(!1);this._editor.setSelections(a),this._editor.revealPositionInCenterIfOutsideViewport(a[0].getPosition())}_move(a){const r=[];for(const u of this._snippets){const C=u.move(a);r.push(...C)}return r}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const a=this._editor.getSelections();if(a.length<this._snippets.length)return!1;const r=new Map;for(const u of this._snippets){const C=u.computePossibleSelections();if(r.size===0)for(const[f,h]of C){h.sort(y.Range.compareRangesUsingStarts);for(const v of a)if(h[0].containsRange(v)){r.set(f,[]);break}}if(r.size===0)return!1;r.forEach((f,h)=>{f.push(...C.get(h))})}a.sort(y.Range.compareRangesUsingStarts);for(const[u,C]of r){if(C.length!==a.length){r.delete(u);continue}C.sort(y.Range.compareRangesUsingStarts);for(let f=0;f<C.length;f++)if(!C[f].containsRange(a[f])){r.delete(u);continue}}return r.size>0}};e.SnippetSession=c,e.SnippetSession=c=i=ke([ce(3,_.ILanguageConfigurationService)],c)}),define(ne[221],se([1,0,2,19,15,9,20,36,17,155,3,12,62,436]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";var i;Object.defineProperty(e,\"__esModule\",{value:!0}),e.SnippetController2=void 0;const s={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let g=class{static{i=this}static{this.ID=\"snippetController2\"}static get(a){return a.getContribution(i.ID)}static{this.InSnippetMode=new n.RawContextKey(\"inSnippetMode\",!1,(0,p.localize)(1257,\"Whether the editor in current in snippet mode\"))}static{this.HasNextTabstop=new n.RawContextKey(\"hasNextTabstop\",!1,(0,p.localize)(1258,\"Whether there is a next tab stop when in snippet mode\"))}static{this.HasPrevTabstop=new n.RawContextKey(\"hasPrevTabstop\",!1,(0,p.localize)(1259,\"Whether there is a previous tab stop when in snippet mode\"))}constructor(a,r,u,C,f){this._editor=a,this._logService=r,this._languageFeaturesService=u,this._languageConfigurationService=f,this._snippetListener=new d.DisposableStore,this._modelVersionId=-1,this._inSnippet=i.InSnippetMode.bindTo(C),this._hasNextTabstop=i.HasNextTabstop.bindTo(C),this._hasPrevTabstop=i.HasPrevTabstop.bindTo(C)}dispose(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(a,r){try{this._doInsert(a,typeof r>\"u\"?s:{...s,...r})}catch(u){this.cancel(),this._logService.error(u),this._logService.error(\"snippet_error\"),this._logService.error(\"insert_template=\",a),this._logService.error(\"existing_template=\",this._session?this._session._logInfo():\"<no_session>\")}}_doInsert(a,r){if(this._editor.hasModel()){if(this._snippetListener.clear(),r.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof a!=\"string\"&&this.cancel(),this._session?((0,k.assertType)(typeof a==\"string\"),this._session.merge(a,r)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new t.SnippetSession(this._editor,a,r,this._languageConfigurationService),this._session.insert()),r.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){const u={_debugDisplayName:\"snippetChoiceCompletions\",provideCompletionItems:(S,L)=>{if(!this._session||S!==this._editor.getModel()||!E.Position.equals(this._editor.getPosition(),L))return;const{activeChoice:D}=this._session;if(!D||D.choice.options.length===0)return;const T=S.getValueInRange(D.range),M=!!D.choice.options.find(P=>P.value===T),A=[];for(let P=0;P<D.choice.options.length;P++){const N=D.choice.options[P];A.push({kind:13,label:N.value,insertText:N.value,sortText:\"a\".repeat(P+1),range:D.range,filterText:M?`${T}_${N.value}`:void 0,command:{id:\"jumpToNextSnippetPlaceholder\",title:(0,p.localize)(1260,\"Go to next placeholder...\")}})}return{suggestions:A}}},C=this._editor.getModel();let f,h=!1;const v=()=>{f?.dispose(),h=!1},w=()=>{h||(f=this._languageFeaturesService.completionProvider.register({language:C.getLanguageId(),pattern:C.uri.fsPath,scheme:C.uri.scheme,exclusive:!0},u),this._snippetListener.add(f),h=!0)};this._choiceCompletions={provider:u,enable:w,disable:v}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(u=>u.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:a}=this._session;if(!a||!this._choiceCompletions){this._choiceCompletions?.disable(),this._currentChoice=void 0;return}this._currentChoice!==a.choice&&(this._currentChoice=a.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{(0,b.showSimpleSuggestions)(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(a=!1){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,a&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}};e.SnippetController2=g,e.SnippetController2=g=i=ke([ce(1,o.ILogService),ce(2,_.ILanguageFeaturesService),ce(3,n.IContextKeyService),ce(4,m.ILanguageConfigurationService)],g),(0,I.registerEditorContribution)(g.ID,g,4);const c=I.EditorCommand.bindToContribution(g.get);(0,I.registerEditorCommand)(new c({id:\"jumpToNextSnippetPlaceholder\",precondition:n.ContextKeyExpr.and(g.InSnippetMode,g.HasNextTabstop),handler:l=>l.next(),kbOpts:{weight:130,kbExpr:y.EditorContextKeys.textInputFocus,primary:2}})),(0,I.registerEditorCommand)(new c({id:\"jumpToPrevSnippetPlaceholder\",precondition:n.ContextKeyExpr.and(g.InSnippetMode,g.HasPrevTabstop),handler:l=>l.prev(),kbOpts:{weight:130,kbExpr:y.EditorContextKeys.textInputFocus,primary:1026}})),(0,I.registerEditorCommand)(new c({id:\"leaveSnippet\",precondition:g.InSnippetMode,handler:l=>l.cancel(!0),kbOpts:{weight:130,kbExpr:y.EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}})),(0,I.registerEditorCommand)(new c({id:\"acceptSnippet\",precondition:g.InSnippetMode,handler:l=>l.finish()}))}),define(ne[860],se([1,0,13,67,102,8,2,21,11,19,75,9,4,23,104,113,27,36,204,715,246,205,221,24,7]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.VersionIdChangeReason=e.InlineCompletionsModel=void 0,e.getSecondaryEdits=S;let v=class extends y.Disposable{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(M,A,P,N,O,F,x,W,V,q,H,z){super(),this.textModel=M,this.selectedSuggestItem=A,this._textModelVersionId=P,this._positions=N,this._debounceValue=O,this._suggestPreviewEnabled=F,this._suggestPreviewMode=x,this._inlineSuggestMode=W,this._enabled=V,this._instantiationService=q,this._commandService=H,this._languageConfigurationService=z,this._source=this._register(this._instantiationService.createInstance(a.InlineCompletionsSource,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=(0,m.observableValue)(this,!1),this._forceUpdateExplicitlySignal=(0,m.observableSignal)(this),this._selectedInlineCompletionId=(0,m.observableValue)(this,void 0),this._primaryPosition=(0,m.derived)(this,j=>this._positions.read(j)[0]??new n.Position(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([w.Redo,w.Undo,w.AcceptWord]),this._fetchInlineCompletionsPromise=(0,m.derivedHandleChanges)({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:g.InlineCompletionTriggerKind.Automatic}),handleChange:(j,Y)=>(j.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(j.change))?Y.preserveCurrentCompletion=!0:j.didChange(this._forceUpdateExplicitlySignal)&&(Y.inlineCompletionTriggerKind=g.InlineCompletionTriggerKind.Explicit),!0)},(j,Y)=>{if(this._forceUpdateExplicitlySignal.read(j),!(this._enabled.read(j)&&this.selectedSuggestItem.read(j)||this._isActive.read(j))){this._source.cancelUpdate();return}this._textModelVersionId.read(j);const K=this._source.suggestWidgetInlineCompletions.get(),R=this.selectedSuggestItem.read(j);if(K&&!R){const pe=this._source.inlineCompletions.get();(0,m.transaction)(ae=>{(!pe||K.request.versionId>pe.request.versionId)&&this._source.inlineCompletions.set(K.clone(),ae),this._source.clearSuggestWidgetInlineCompletions(ae)})}const J=this._primaryPosition.read(j),ie={triggerKind:Y.inlineCompletionTriggerKind,selectedSuggestionInfo:R?.toSelectedSuggestionInfo()},ue=this.selectedInlineCompletion.get(),he=Y.preserveCurrentCompletion||ue?.forwardStable?ue:void 0;return this._source.fetch(J,ie,he)}),this._filteredInlineCompletionItems=(0,m.derivedOpts)({owner:this,equalsFn:(0,I.itemsEquals)()},j=>{const Y=this._source.inlineCompletions.read(j);if(!Y)return[];const G=this._primaryPosition.read(j);return Y.inlineCompletions.filter(R=>R.isVisible(this.textModel,G,j))}),this.selectedInlineCompletionIndex=(0,m.derived)(this,j=>{const Y=this._selectedInlineCompletionId.read(j),G=this._filteredInlineCompletionItems.read(j),K=this._selectedInlineCompletionId===void 0?-1:G.findIndex(R=>R.semanticId===Y);return K===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):K}),this.selectedInlineCompletion=(0,m.derived)(this,j=>{const Y=this._filteredInlineCompletionItems.read(j),G=this.selectedInlineCompletionIndex.read(j);return Y[G]}),this.activeCommands=(0,m.derivedOpts)({owner:this,equalsFn:(0,I.itemsEquals)()},j=>this.selectedInlineCompletion.read(j)?.inlineCompletion.source.inlineCompletions.commands??[]),this.lastTriggerKind=this._source.inlineCompletions.map(this,j=>j?.request.context.triggerKind),this.inlineCompletionsCount=(0,m.derived)(this,j=>{if(this.lastTriggerKind.read(j)===g.InlineCompletionTriggerKind.Explicit)return this._filteredInlineCompletionItems.read(j).length}),this.state=(0,m.derivedOpts)({owner:this,equalsFn:(j,Y)=>!j||!Y?j===Y:(0,l.ghostTextsOrReplacementsEqual)(j.ghostTexts,Y.ghostTexts)&&j.inlineCompletion===Y.inlineCompletion&&j.suggestItem===Y.suggestItem},j=>{const Y=this.textModel,G=this.selectedSuggestItem.read(j);if(G){const K=(0,r.singleTextRemoveCommonPrefix)(G.toSingleTextEdit(),Y),R=this._computeAugmentation(K,j);if(!this._suggestPreviewEnabled.read(j)&&!R)return;const ie=R?.edit??K,ue=R?R.edit.text.length-K.text.length:0,he=this._suggestPreviewMode.read(j),pe=this._positions.read(j),ae=[ie,...S(this.textModel,pe,ie)],ee=ae.map((ge,X)=>(0,r.computeGhostText)(ge,Y,he,pe[X],ue)).filter(b.isDefined),de=ee[0]??new l.GhostText(ie.range.endLineNumber,[]);return{edits:ae,primaryGhostText:de,ghostTexts:ee,inlineCompletion:R?.completion,suggestItem:G}}else{if(!this._isActive.read(j))return;const K=this.selectedInlineCompletion.read(j);if(!K)return;const R=K.toSingleTextEdit(j),J=this._inlineSuggestMode.read(j),ie=this._positions.read(j),ue=[R,...S(this.textModel,ie,R)],he=ue.map((pe,ae)=>(0,r.computeGhostText)(pe,Y,J,ie[ae],0)).filter(b.isDefined);return he[0]?{edits:ue,primaryGhostText:he[0],ghostTexts:he,inlineCompletion:K,suggestItem:void 0}:void 0}}),this.ghostTexts=(0,m.derivedOpts)({owner:this,equalsFn:l.ghostTextsOrReplacementsEqual},j=>{const Y=this.state.read(j);if(Y)return Y.ghostTexts}),this.primaryGhostText=(0,m.derivedOpts)({owner:this,equalsFn:l.ghostTextOrReplacementEquals},j=>{const Y=this.state.read(j);if(Y)return Y?.primaryGhostText}),this._register((0,m.recomputeInitiallyAndOnChange)(this._fetchInlineCompletionsPromise));let U;this._register((0,m.autorun)(j=>{const G=this.state.read(j)?.inlineCompletion;if(G?.semanticId!==U?.semanticId&&(U=G,G)){const K=G.inlineCompletion,R=K.source;R.provider.handleItemDidShow?.(R.inlineCompletions,K.sourceInlineCompletion,K.insertText)}}))}_getReason(M){return M?.isUndoing?w.Undo:M?.isRedoing?w.Redo:this.isAcceptingPartially?w.AcceptWord:w.Other}async trigger(M){this._isActive.set(!0,M),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(M){(0,m.subtransaction)(M,A=>{this._isActive.set(!0,A),this._forceUpdateExplicitlySignal.trigger(A)}),await this._fetchInlineCompletionsPromise.get()}stop(M){(0,m.subtransaction)(M,A=>{this._isActive.set(!1,A),this._source.clear(A)})}_computeAugmentation(M,A){const P=this.textModel,N=this._source.suggestWidgetInlineCompletions.read(A),O=N?N.inlineCompletions:[this.selectedInlineCompletion.read(A)].filter(b.isDefined);return(0,k.mapFindFirst)(O,x=>{let W=x.toSingleTextEdit(A);return W=(0,r.singleTextRemoveCommonPrefix)(W,P,o.Range.fromPositions(W.range.getStartPosition(),M.range.getEndPosition())),(0,r.singleTextEditAugments)(W,M)?{completion:x,edit:W}:void 0})}async _deltaSelectedInlineCompletionIndex(M){await this.triggerExplicitly();const A=this._filteredInlineCompletionItems.get()||[];if(A.length>0){const P=(this.selectedInlineCompletionIndex.get()+M+A.length)%A.length;this._selectedInlineCompletionId.set(A[P].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(M){if(M.getModel()!==this.textModel)throw new E.BugIndicatingError;const A=this.state.get();if(!A||A.primaryGhostText.isEmpty()||!A.inlineCompletion)return;const P=A.inlineCompletion.toInlineCompletion(void 0);if(P.command&&P.source.addRef(),M.pushUndoStop(),P.snippetInfo)M.executeEdits(\"inlineSuggestion.accept\",[p.EditOperation.replace(P.range,\"\"),...P.additionalTextEdits]),M.setPosition(P.snippetInfo.range.getStartPosition(),\"inlineCompletionAccept\"),C.SnippetController2.get(M)?.insert(P.snippetInfo.snippet,{undoStopBefore:!1});else{const N=A.edits,O=D(N).map(F=>t.Selection.fromPositions(F));M.executeEdits(\"inlineSuggestion.accept\",[...N.map(F=>p.EditOperation.replace(F.range,F.text)),...P.additionalTextEdits]),M.setSelections(O,\"inlineCompletionAccept\")}this.stop(),P.command&&(await this._commandService.executeCommand(P.command.id,...P.command.arguments||[]).then(void 0,E.onUnexpectedExternalError),P.source.removeRef())}async acceptNextWord(M){await this._acceptNext(M,(A,P)=>{const N=this.textModel.getLanguageIdAtPosition(A.lineNumber,A.column),O=this._languageConfigurationService.getLanguageConfiguration(N),F=new RegExp(O.wordDefinition.source,O.wordDefinition.flags.replace(\"g\",\"\")),x=P.match(F);let W=0;x&&x.index!==void 0?x.index===0?W=x[0].length:W=x.index:W=P.length;const q=/\\s+/g.exec(P);return q&&q.index!==void 0&&q.index+q[0].length<W&&(W=q.index+q[0].length),W},0)}async acceptNextLine(M){await this._acceptNext(M,(A,P)=>{const N=P.match(/\\n/);return N&&N.index!==void 0?N.index+1:P.length},1)}async _acceptNext(M,A,P){if(M.getModel()!==this.textModel)throw new E.BugIndicatingError;const N=this.state.get();if(!N||N.primaryGhostText.isEmpty()||!N.inlineCompletion)return;const O=N.primaryGhostText,F=N.inlineCompletion.toInlineCompletion(void 0);if(F.snippetInfo||F.filterText!==F.insertText){await this.accept(M);return}const x=O.parts[0],W=new n.Position(O.lineNumber,x.column),V=x.text,q=A(W,V);if(q===V.length&&O.parts.length===1){this.accept(M);return}const H=V.substring(0,q),z=this._positions.get(),U=z[0];F.source.addRef();try{this._isAcceptingPartially=!0;try{M.pushUndoStop();const j=o.Range.fromPositions(U,W),Y=M.getModel().getValueInRange(j)+H,G=new i.SingleTextEdit(j,Y),K=[G,...S(this.textModel,z,G)],R=D(K).map(J=>t.Selection.fromPositions(J));M.executeEdits(\"inlineSuggestion.accept\",K.map(J=>p.EditOperation.replace(J.range,J.text))),M.setSelections(R,\"inlineCompletionPartialAccept\"),M.revealPositionInCenterIfOutsideViewport(M.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(F.source.provider.handlePartialAccept){const j=o.Range.fromPositions(F.range.getStartPosition(),s.TextLength.ofText(H).addToPosition(W)),Y=M.getModel().getValueInRange(j,1);F.source.provider.handlePartialAccept(F.source.inlineCompletions,F.sourceInlineCompletion,Y.length,{kind:P})}}finally{F.source.removeRef()}}handleSuggestAccepted(M){const A=(0,r.singleTextRemoveCommonPrefix)(M.toSingleTextEdit(),this.textModel),P=this._computeAugmentation(A,void 0);if(!P)return;const N=P.completion.inlineCompletion;N.source.provider.handlePartialAccept?.(N.source.inlineCompletions,N.sourceInlineCompletion,A.text.length,{kind:2})}};e.InlineCompletionsModel=v,e.InlineCompletionsModel=v=ke([ce(9,h.IInstantiationService),ce(10,f.ICommandService),ce(11,c.ILanguageConfigurationService)],v);var w;(function(T){T[T.Undo=0]=\"Undo\",T[T.Redo=1]=\"Redo\",T[T.AcceptWord=2]=\"AcceptWord\",T[T.Other=3]=\"Other\"})(w||(e.VersionIdChangeReason=w={}));function S(T,M,A){if(M.length===1)return[];const P=M[0],N=M.slice(1),O=A.range.getStartPosition(),F=A.range.getEndPosition(),x=T.getValueInRange(o.Range.fromPositions(P,F)),W=(0,u.subtractPositions)(P,O);if(W.lineNumber<1)return(0,E.onUnexpectedError)(new E.BugIndicatingError(`positionWithinTextEdit line number should be bigger than 0.\n\t\t\tInvalid subtraction between ${P.toString()} and ${O.toString()}`)),[];const V=L(A.text,W);return N.map(q=>{const H=(0,u.addPositions)((0,u.subtractPositions)(q,O),F),z=T.getValueInRange(o.Range.fromPositions(q,H)),U=(0,_.commonPrefixLength)(x,z),j=o.Range.fromPositions(q,q.delta(0,U));return new i.SingleTextEdit(j,V)})}function L(T,M){let A=\"\";const P=(0,_.splitLinesIncludeSeparators)(T);for(let N=M.lineNumber-1;N<P.length;N++)A+=P[N].substring(N===M.lineNumber-1?M.column-1:0);return A}function D(T){const M=d.Permutation.createSortPermutation(T,(0,d.compareBy)(O=>O.range,o.Range.compareRangesUsingStarts)),P=new i.TextEdit(M.apply(T)).getNewRanges();return M.inverse().apply(P).map(O=>O.getEndPosition())}}),define(ne[437],se([1,0,14,18,8,6,2,11,23,100,343,117,28,12,62,63,342,155,17,82,19,269,221,271]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f){\"use strict\";var h;Object.defineProperty(e,\"__esModule\",{value:!0}),e.SuggestModel=e.LineContext=void 0;class v{static shouldAutoTrigger(T){if(!T.hasModel())return!1;const M=T.getModel(),A=T.getPosition();M.tokenization.tokenizeIfCheap(A.lineNumber);const P=M.getWordAtPosition(A);return!(!P||P.endColumn!==A.column&&P.startColumn+1!==A.column||!isNaN(Number(P.word)))}constructor(T,M,A){this.leadingLineContent=T.getLineContent(M.lineNumber).substr(0,M.column-1),this.leadingWord=T.getWordUntilPosition(M),this.lineNumber=M.lineNumber,this.column=M.column,this.triggerOptions=A}}e.LineContext=v;function w(D,T,M){if(!T.getContextKeyValue(u.InlineCompletionContextKeys.inlineSuggestionVisible.key))return!0;const A=T.getContextKeyValue(u.InlineCompletionContextKeys.suppressSuggestions.key);return A!==void 0?!A:!D.getOption(62).suppressSuggestions}function S(D,T,M){if(!T.getContextKeyValue(\"inlineSuggestionVisible\"))return!0;const A=T.getContextKeyValue(u.InlineCompletionContextKeys.suppressSuggestions.key);return A!==void 0?!A:!D.getOption(62).suppressSuggestions}let L=h=class{constructor(T,M,A,P,N,O,F,x,W){this._editor=T,this._editorWorkerService=M,this._clipboardService=A,this._telemetryService=P,this._logService=N,this._contextKeyService=O,this._configurationService=F,this._languageFeaturesService=x,this._envService=W,this._toDispose=new y.DisposableStore,this._triggerCharacterListener=new y.DisposableStore,this._triggerQuickSuggest=new d.TimeoutTimer,this._triggerState=void 0,this._completionDisposables=new y.DisposableStore,this._onDidCancel=new E.Emitter,this._onDidTrigger=new E.Emitter,this._onDidSuggest=new E.Emitter,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new _.Selection(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let V=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{V=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{V=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(q=>{V||this._onCursorChange(q)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!V&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){(0,y.dispose)(this._triggerCharacterListener),(0,y.dispose)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const T=new Map;for(const A of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const P of A.triggerCharacters||[]){let N=T.get(P);if(!N){N=new Set;const O=(0,c.getSnippetSuggestSupport)();O&&N.add(O),T.set(P,N)}N.add(A)}const M=A=>{if(!S(this._editor,this._contextKeyService,this._configurationService)||v.shouldAutoTrigger(this._editor))return;if(!A){const O=this._editor.getPosition();A=this._editor.getModel().getLineContent(O.lineNumber).substr(0,O.column-1)}let P=\"\";(0,m.isLowSurrogate)(A.charCodeAt(A.length-1))?(0,m.isHighSurrogate)(A.charCodeAt(A.length-2))&&(P=A.substr(A.length-2)):P=A.charAt(A.length-1);const N=T.get(P);if(N){const O=new Map;if(this._completionModel)for(const[F,x]of this._completionModel.getItemsByProvider())N.has(F)||O.set(F,x);this.trigger({auto:!0,triggerKind:1,triggerCharacter:P,retrigger:!!this._completionModel,clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:N,providerItemsToReuse:O}})}};this._triggerCharacterListener.add(this._editor.onDidType(M)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>M()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(T=!1){this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:T}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(T){if(!this._editor.hasModel())return;const M=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!T.selection.isEmpty()||T.reason!==0&&T.reason!==3||T.source!==\"keyboard\"&&T.source!==\"deleteLeft\"){this.cancel();return}this._triggerState===void 0&&T.reason===0?(M.containsRange(this._currentSelection)||M.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&T.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){c.QuickSuggestionsOptions.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&C.SnippetController2.get(this._editor)?.isInSnippet()||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!v.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const T=this._editor.getModel(),M=this._editor.getPosition(),A=this._editor.getOption(90);if(!c.QuickSuggestionsOptions.isAllOff(A)){if(!c.QuickSuggestionsOptions.isAllOn(A)){T.tokenization.tokenizeIfCheap(M.lineNumber);const P=T.tokenization.getLineTokens(M.lineNumber),N=P.getStandardTokenType(P.findTokenIndexAtOffset(Math.max(M.column-1-1,0)));if(c.QuickSuggestionsOptions.valueFor(A,N)!==\"on\")return}w(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(T)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){(0,r.assertType)(this._editor.hasModel()),(0,r.assertType)(this._triggerState!==void 0);const T=this._editor.getModel(),M=this._editor.getPosition(),A=new v(T,M,{...this._triggerState,refilter:!0});this._onNewContext(A)}trigger(T){if(!this._editor.hasModel())return;const M=this._editor.getModel(),A=new v(M,this._editor.getPosition(),T);this.cancel(T.retrigger),this._triggerState=T,this._onDidTrigger.fire({auto:T.auto,shy:T.shy??!1,position:this._editor.getPosition()}),this._context=A;let P={triggerKind:T.triggerKind??0};T.triggerCharacter&&(P={triggerKind:1,triggerCharacter:T.triggerCharacter}),this._requestToken=new k.CancellationTokenSource;const N=this._editor.getOption(113);let O=1;switch(N){case\"top\":O=0;break;case\"bottom\":O=2;break}const{itemKind:F,showDeprecated:x}=h.createSuggestFilter(this._editor),W=new c.CompletionOptions(O,T.completionOptions?.kindFilter??F,T.completionOptions?.providerFilter,T.completionOptions?.providerItemsToReuse,x),V=p.WordDistance.create(this._editorWorkerService,this._editor),q=(0,c.provideSuggestionItems)(this._languageFeaturesService.completionProvider,M,this._editor.getPosition(),W,P,this._requestToken.token);Promise.all([q,V]).then(async([H,z])=>{if(this._requestToken?.dispose(),!this._editor.hasModel())return;let U=T?.clipboardText;if(!U&&H.needsClipboard&&(U=await this._clipboardService.readText()),this._triggerState===void 0)return;const j=this._editor.getModel(),Y=new v(j,this._editor.getPosition(),T),G={...a.FuzzyScoreOptions.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new g.CompletionModel(H.items,this._context.column,{leadingLineContent:Y.leadingLineContent,characterCountDelta:Y.column-this._context.column},z,this._editor.getOption(119),this._editor.getOption(113),G,U),this._completionDisposables.add(H.disposable),this._onNewContext(Y),this._reportDurationsTelemetry(H.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const K of H.items)K.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${K.provider._debugDisplayName}`,K.completion)}).catch(I.onUnexpectedError)}_reportDurationsTelemetry(T){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2(\"suggest.durations.json\",{data:JSON.stringify(T)}),this._logService.debug(\"suggest.durations.json\",T)})}static createSuggestFilter(T){const M=new Set;T.getOption(113)===\"none\"&&M.add(27);const P=T.getOption(119);return P.showMethods||M.add(0),P.showFunctions||M.add(1),P.showConstructors||M.add(2),P.showFields||M.add(3),P.showVariables||M.add(4),P.showClasses||M.add(5),P.showStructs||M.add(6),P.showInterfaces||M.add(7),P.showModules||M.add(8),P.showProperties||M.add(9),P.showEvents||M.add(10),P.showOperators||M.add(11),P.showUnits||M.add(12),P.showValues||M.add(13),P.showConstants||M.add(14),P.showEnums||M.add(15),P.showEnumMembers||M.add(16),P.showKeywords||M.add(17),P.showWords||M.add(18),P.showColors||M.add(19),P.showFiles||M.add(20),P.showReferences||M.add(21),P.showColors||M.add(22),P.showFolders||M.add(23),P.showTypeParameters||M.add(24),P.showSnippets||M.add(27),P.showUsers||M.add(25),P.showIssues||M.add(26),{itemKind:M,showDeprecated:P.showDeprecated}}_onNewContext(T){if(this._context){if(T.lineNumber!==this._context.lineNumber){this.cancel();return}if((0,m.getLeadingWhitespace)(T.leadingLineContent)!==(0,m.getLeadingWhitespace)(this._context.leadingLineContent)){this.cancel();return}if(T.column<this._context.column){T.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();return}if(this._completionModel){if(T.leadingWord.word.length!==0&&T.leadingWord.startColumn>this._context.leadingWord.startColumn){if(v.shouldAutoTrigger(this._editor)&&this._context){const A=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:A}})}return}if(T.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&T.leadingWord.word.length!==0){const M=new Map,A=new Set;for(const[P,N]of this._completionModel.getItemsByProvider())N.length>0&&N[0].container.incomplete?A.add(P):M.set(P,N);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:A,providerItemsToReuse:M}})}else{const M=this._completionModel.lineContext;let A=!1;if(this._completionModel.lineContext={leadingLineContent:T.leadingLineContent,characterCountDelta:T.column-this._context.column},this._completionModel.items.length===0){const P=v.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(P&&this._context.leadingWord.endColumn<T.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}else if(this._completionModel.lineContext=M,A=this._completionModel.items.length>0,A&&T.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:T.triggerOptions,isFrozen:A})}}}}};e.SuggestModel=L,e.SuggestModel=L=h=ke([ce(1,b.IEditorWorkerService),ce(2,n.IClipboardService),ce(3,s.ITelemetryService),ce(4,i.ILogService),ce(5,t.IContextKeyService),ce(6,o.IConfigurationService),ce(7,l.ILanguageFeaturesService),ce(8,f.IEnvironmentService)],L)}),define(ne[294],se([1,0,46,13,18,8,6,140,2,16,54,19,143,15,75,9,4,20,221,135,405,685,3,24,12,7,62,155,684,622,437,623,839,63,48,129,5,35]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x){\"use strict\";var W;Object.defineProperty(e,\"__esModule\",{value:!0}),e.TriggerSuggestAction=e.SuggestController=void 0;const V=!1;class q{constructor(K,R){if(this._model=K,this._position=R,this._decorationOptions=x.ModelDecorationOptions.register({description:\"suggest-line-suffix\",stickiness:1}),K.getLineMaxColumn(R.lineNumber)!==R.column){const ie=K.getOffsetAt(R),ue=K.getPositionAt(ie+1);K.changeDecorations(he=>{this._marker&&he.removeDecoration(this._marker),this._marker=he.addDecoration(g.Range.fromPositions(R,ue),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(K=>{K.removeDecoration(this._marker),this._marker=void 0})}delta(K){if(this._model.isDisposed()||this._position.lineNumber!==K.lineNumber)return 0;if(this._marker){const R=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(R.getStartPosition())-this._model.getOffsetAt(K)}else return this._model.getLineMaxColumn(K.lineNumber)-K.column}}let H=class{static{W=this}static{this.ID=\"editor.contrib.suggestController\"}static get(K){return K.getContribution(W.ID)}constructor(K,R,J,ie,ue,he,pe){this._memoryService=R,this._commandService=J,this._contextKeyService=ie,this._instantiationService=ue,this._logService=he,this._telemetryService=pe,this._lineSuffix=new _.MutableDisposable,this._toDispose=new _.DisposableStore,this._selectors=new z(ge=>ge.priority),this._onWillInsertSuggestItem=new y.Emitter,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=K,this.model=ue.createInstance(T.SuggestModel,this.editor),this._selectors.register({priority:0,select:(ge,X,B)=>this._memoryService.select(ge,X,B)});const ae=S.Context.InsertMode.bindTo(ie);ae.set(K.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>ae.set(K.getOption(119).insertMode))),this.widget=this._toDispose.add(new F.WindowIdleValue((0,F.getWindow)(K.getDomNode()),()=>{const ge=this._instantiationService.createInstance(A.SuggestWidget,this.editor);this._toDispose.add(ge),this._toDispose.add(ge.onDidSelect(Z=>this._insertSuggestion(Z,0),this));const X=new D.CommitCharacterController(this.editor,ge,this.model,Z=>this._insertSuggestion(Z,2));this._toDispose.add(X);const B=S.Context.MakesTextEdit.bindTo(this._contextKeyService),$=S.Context.HasInsertAndReplaceRange.bindTo(this._contextKeyService),Q=S.Context.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,_.toDisposable)(()=>{B.reset(),$.reset(),Q.reset()})),this._toDispose.add(ge.onDidFocus(({item:Z})=>{const te=this.editor.getPosition(),re=Z.editStart.column,le=te.column;let me=!0;this.editor.getOption(1)===\"smart\"&&this.model.state===2&&!Z.completion.additionalTextEdits&&!(Z.completion.insertTextRules&4)&&le-re===Z.completion.insertText.length&&(me=this.editor.getModel().getValueInRange({startLineNumber:te.lineNumber,startColumn:re,endLineNumber:te.lineNumber,endColumn:le})!==Z.completion.insertText),B.set(me),$.set(!s.Position.equals(Z.editInsertEnd,Z.editReplaceEnd)),Q.set(!!Z.provider.resolveCompletionItem||!!Z.completion.documentation||Z.completion.detail!==Z.completion.label)})),this._toDispose.add(ge.onDetailsKeyDown(Z=>{if(Z.toKeyCodeChord().equals(new m.KeyCodeChord(!0,!1,!1,!1,33))||b.isMacintosh&&Z.toKeyCodeChord().equals(new m.KeyCodeChord(!1,!1,!1,!0,33))){Z.stopPropagation();return}Z.toKeyCodeChord().isModifierKey()||this.editor.focus()})),ge})),this._overtypingCapturer=this._toDispose.add(new F.WindowIdleValue((0,F.getWindow)(K.getDomNode()),()=>this._toDispose.add(new M.OvertypingCapturer(this.editor,this.model)))),this._alternatives=this._toDispose.add(new F.WindowIdleValue((0,F.getWindow)(K.getDomNode()),()=>this._toDispose.add(new L.SuggestAlternatives(this.editor,this._contextKeyService)))),this._toDispose.add(ue.createInstance(u.WordContextKey,K)),this._toDispose.add(this.model.onDidTrigger(ge=>{this.widget.value.showTriggered(ge.auto,ge.shy?250:50),this._lineSuffix.value=new q(this.editor.getModel(),ge.position)})),this._toDispose.add(this.model.onDidSuggest(ge=>{if(ge.triggerOptions.shy)return;let X=-1;for(const $ of this._selectors.itemsOrderedByPriorityDesc)if(X=$.select(this.editor.getModel(),this.editor.getPosition(),ge.completionModel.items),X!==-1)break;if(X===-1&&(X=0),this.model.state===0)return;let B=!1;if(ge.triggerOptions.auto){const $=this.editor.getOption(119);$.selectionMode===\"never\"||$.selectionMode===\"always\"?B=$.selectionMode===\"never\":$.selectionMode===\"whenTriggerCharacter\"?B=ge.triggerOptions.triggerKind!==1:$.selectionMode===\"whenQuickSuggestion\"&&(B=ge.triggerOptions.triggerKind===1&&!ge.triggerOptions.refilter)}this.widget.value.showSuggestions(ge.completionModel,X,ge.isFrozen,ge.triggerOptions.auto,B)})),this._toDispose.add(this.model.onDidCancel(ge=>{ge.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{V||(this.model.cancel(),this.model.clear())}));const ee=S.Context.AcceptSuggestionsOnEnter.bindTo(ie),de=()=>{const ge=this.editor.getOption(1);ee.set(ge===\"on\"||ge===\"smart\")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>de())),de()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(K,R){if(!K||!K.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const J=l.SnippetController2.get(this.editor);if(!J)return;this._onWillInsertSuggestItem.fire({item:K.item});const ie=this.editor.getModel(),ue=ie.getAlternativeVersionId(),{item:he}=K,pe=[],ae=new I.CancellationTokenSource;R&1||this.editor.pushUndoStop();const ee=this.getOverwriteInfo(he,!!(R&8));this._memoryService.memorize(ie,this.editor.getPosition(),he);const de=he.isResolved;let ge=-1,X=-1;if(Array.isArray(he.completion.additionalTextEdits)){this.model.cancel();const $=o.StableEditorScrollState.capture(this.editor);this.editor.executeEdits(\"suggestController.additionalTextEdits.sync\",he.completion.additionalTextEdits.map(Q=>{let Z=g.Range.lift(Q.range);if(Z.startLineNumber===he.position.lineNumber&&Z.startColumn>he.position.column){const te=this.editor.getPosition().column-he.position.column,re=te,le=g.Range.spansMultipleLines(Z)?0:te;Z=new g.Range(Z.startLineNumber,Z.startColumn+re,Z.endLineNumber,Z.endColumn+le)}return i.EditOperation.replaceMove(Z,Q.text)})),$.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!de){const $=new p.StopWatch;let Q;const Z=ie.onDidChangeContent(me=>{if(me.isFlush){ae.cancel(),Z.dispose();return}for(const Ce of me.changes){const ye=g.Range.getEndPosition(Ce.range);(!Q||s.Position.isBefore(ye,Q))&&(Q=ye)}}),te=R;R|=2;let re=!1;const le=this.editor.onWillType(()=>{le.dispose(),re=!0,te&2||this.editor.pushUndoStop()});pe.push(he.resolve(ae.token).then(()=>{if(!he.completion.additionalTextEdits||ae.token.isCancellationRequested)return;if(Q&&he.completion.additionalTextEdits.some(Ce=>s.Position.isBefore(Q,g.Range.getStartPosition(Ce.range))))return!1;re&&this.editor.pushUndoStop();const me=o.StableEditorScrollState.capture(this.editor);return this.editor.executeEdits(\"suggestController.additionalTextEdits.async\",he.completion.additionalTextEdits.map(Ce=>i.EditOperation.replaceMove(g.Range.lift(Ce.range),Ce.text))),me.restoreRelativeVerticalPositionOfCursor(this.editor),(re||!(te&2))&&this.editor.pushUndoStop(),!0}).then(me=>{this._logService.trace(\"[suggest] async resolving of edits DONE (ms, applied?)\",$.elapsed(),me),X=me===!0?1:me===!1?0:-2}).finally(()=>{Z.dispose(),le.dispose()}))}let{insertText:B}=he.completion;if(he.completion.insertTextRules&4||(B=a.SnippetParser.escape(B)),this.model.cancel(),J.insert(B,{overwriteBefore:ee.overwriteBefore,overwriteAfter:ee.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(he.completion.insertTextRules&1),clipboardText:K.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),R&2||this.editor.pushUndoStop(),he.completion.command)if(he.completion.command.id===U.id)this.model.trigger({auto:!0,retrigger:!0});else{const $=new p.StopWatch;pe.push(this._commandService.executeCommand(he.completion.command.id,...he.completion.command.arguments?[...he.completion.command.arguments]:[]).catch(Q=>{he.completion.extensionId?(0,E.onUnexpectedExternalError)(Q):(0,E.onUnexpectedError)(Q)}).finally(()=>{ge=$.elapsed()}))}R&4&&this._alternatives.value.set(K,$=>{for(ae.cancel();ie.canUndo();){ue!==ie.getAlternativeVersionId()&&ie.undo(),this._insertSuggestion($,3|(R&8?8:0));break}}),this._alertCompletionItem(he),Promise.all(pe).finally(()=>{this._reportSuggestionAcceptedTelemetry(he,ie,de,ge,X,K.index,K.model.items),this.model.clear(),ae.dispose()})}_reportSuggestionAcceptedTelemetry(K,R,J,ie,ue,he,pe){if(Math.floor(Math.random()*100)===0)return;const ae=new Map;for(let X=0;X<Math.min(30,pe.length);X++){const B=pe[X].textLabel;ae.has(B)?ae.get(B).push(X):ae.set(B,[X])}const ee=ae.get(K.textLabel),ge=ee&&ee.length>1?ee[0]:-1;this._telemetryService.publicLog2(\"suggest.acceptedSuggestion\",{extensionId:K.extensionId?.value??\"unknown\",providerId:K.provider._debugDisplayName??\"unknown\",kind:K.completion.kind,basenameHash:(0,O.hash)((0,N.basename)(R.uri)).toString(16),languageId:R.getLanguageId(),fileExtension:(0,N.extname)(R.uri),resolveInfo:K.provider.resolveCompletionItem?J?1:0:-1,resolveDuration:K.resolveDuration,commandDuration:ie,additionalEditsAsync:ue,index:he,firstIndex:ge})}getOverwriteInfo(K,R){(0,n.assertType)(this.editor.hasModel());let J=this.editor.getOption(119).insertMode===\"replace\";R&&(J=!J);const ie=K.position.column-K.editStart.column,ue=(J?K.editReplaceEnd.column:K.editInsertEnd.column)-K.position.column,he=this.editor.getPosition().column-K.position.column,pe=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:ie+he,overwriteAfter:ue+pe}}_alertCompletionItem(K){if((0,k.isNonEmptyArray)(K.completion.additionalTextEdits)){const R=C.localize(1318,\"Accepting '{0}' made {1} additional edits\",K.textLabel,K.completion.additionalTextEdits.length);(0,d.alert)(R)}}triggerSuggest(K,R,J){this.editor.hasModel()&&(this.model.trigger({auto:R??!1,completionOptions:{providerFilter:K,kindFilter:J?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(K){if(!this.editor.hasModel())return;const R=this.editor.getPosition(),J=()=>{R.equals(this.editor.getPosition())&&this._commandService.executeCommand(K.fallback)},ie=ue=>{if(ue.completion.insertTextRules&4||ue.completion.additionalTextEdits)return!0;const he=this.editor.getPosition(),pe=ue.editStart.column,ae=he.column;return ae-pe!==ue.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:he.lineNumber,startColumn:pe,endLineNumber:he.lineNumber,endColumn:ae})!==ue.completion.insertText};y.Event.once(this.model.onDidTrigger)(ue=>{const he=[];y.Event.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{(0,_.dispose)(he),J()},void 0,he),this.model.onDidSuggest(({completionModel:pe})=>{if((0,_.dispose)(he),pe.items.length===0){J();return}const ae=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),pe.items),ee=pe.items[ae];if(!ie(ee)){J();return}this.editor.pushUndoStop(),this._insertSuggestion({index:ae,item:ee,model:pe},7)},void 0,he)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(R,0),this.editor.focus()}acceptSelectedSuggestion(K,R){const J=this.widget.value.getFocusedItem();let ie=0;K&&(ie|=4),R&&(ie|=8),this._insertSuggestion(J,ie)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(K){return this._selectors.register(K)}};e.SuggestController=H,e.SuggestController=H=W=ke([ce(1,r.ISuggestMemoryService),ce(2,f.ICommandService),ce(3,h.IContextKeyService),ce(4,v.IInstantiationService),ce(5,w.ILogService),ce(6,P.ITelemetryService)],H);class z{constructor(K){this.prioritySelector=K,this._items=new Array}register(K){if(this._items.indexOf(K)!==-1)throw new Error(\"Value is already registered\");return this._items.push(K),this._items.sort((R,J)=>this.prioritySelector(J)-this.prioritySelector(R)),{dispose:()=>{const R=this._items.indexOf(K);R>=0&&this._items.splice(R,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class U extends t.EditorAction{static{this.id=\"editor.action.triggerSuggest\"}constructor(){super({id:U.id,label:C.localize(1319,\"Trigger Suggest\"),alias:\"Trigger Suggest\",precondition:h.ContextKeyExpr.and(c.EditorContextKeys.writable,c.EditorContextKeys.hasCompletionItemProvider,S.Context.Visible.toNegated()),kbOpts:{kbExpr:c.EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(K,R,J){const ie=H.get(R);if(!ie)return;let ue;J&&typeof J==\"object\"&&J.auto===!0&&(ue=!0),ie.triggerSuggest(void 0,ue,void 0)}}e.TriggerSuggestAction=U,(0,t.registerEditorContribution)(H.ID,H,2),(0,t.registerEditorAction)(U);const j=190,Y=t.EditorCommand.bindToContribution(H.get);(0,t.registerEditorCommand)(new Y({id:\"acceptSelectedSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,S.Context.HasFocusedSuggestion),handler(G){G.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:h.ContextKeyExpr.and(S.Context.Visible,c.EditorContextKeys.textInputFocus),weight:j},{primary:3,kbExpr:h.ContextKeyExpr.and(S.Context.Visible,c.EditorContextKeys.textInputFocus,S.Context.AcceptSuggestionsOnEnter,S.Context.MakesTextEdit),weight:j}],menuOpts:[{menuId:S.suggestWidgetStatusbarMenu,title:C.localize(1320,\"Insert\"),group:\"left\",order:1,when:S.Context.HasInsertAndReplaceRange.toNegated()},{menuId:S.suggestWidgetStatusbarMenu,title:C.localize(1321,\"Insert\"),group:\"left\",order:1,when:h.ContextKeyExpr.and(S.Context.HasInsertAndReplaceRange,S.Context.InsertMode.isEqualTo(\"insert\"))},{menuId:S.suggestWidgetStatusbarMenu,title:C.localize(1322,\"Replace\"),group:\"left\",order:1,when:h.ContextKeyExpr.and(S.Context.HasInsertAndReplaceRange,S.Context.InsertMode.isEqualTo(\"replace\"))}]})),(0,t.registerEditorCommand)(new Y({id:\"acceptAlternativeSelectedSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,c.EditorContextKeys.textInputFocus,S.Context.HasFocusedSuggestion),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:1027,secondary:[1026]},handler(G){G.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:S.suggestWidgetStatusbarMenu,group:\"left\",order:2,when:h.ContextKeyExpr.and(S.Context.HasInsertAndReplaceRange,S.Context.InsertMode.isEqualTo(\"insert\")),title:C.localize(1323,\"Replace\")},{menuId:S.suggestWidgetStatusbarMenu,group:\"left\",order:2,when:h.ContextKeyExpr.and(S.Context.HasInsertAndReplaceRange,S.Context.InsertMode.isEqualTo(\"replace\")),title:C.localize(1324,\"Insert\")}]})),f.CommandsRegistry.registerCommandAlias(\"acceptSelectedSuggestionOnEnter\",\"acceptSelectedSuggestion\"),(0,t.registerEditorCommand)(new Y({id:\"hideSuggestWidget\",precondition:S.Context.Visible,handler:G=>G.cancelSuggestWidget(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}})),(0,t.registerEditorCommand)(new Y({id:\"selectNextSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectNextSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),(0,t.registerEditorCommand)(new Y({id:\"selectNextPageSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectNextPageSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:12,secondary:[2060]}})),(0,t.registerEditorCommand)(new Y({id:\"selectLastSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectLastSuggestion()})),(0,t.registerEditorCommand)(new Y({id:\"selectPrevSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectPrevSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),(0,t.registerEditorCommand)(new Y({id:\"selectPrevPageSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectPrevPageSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:11,secondary:[2059]}})),(0,t.registerEditorCommand)(new Y({id:\"selectFirstSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,h.ContextKeyExpr.or(S.Context.MultipleSuggestions,S.Context.HasFocusedSuggestion.negate())),handler:G=>G.selectFirstSuggestion()})),(0,t.registerEditorCommand)(new Y({id:\"focusSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,S.Context.HasFocusedSuggestion.negate()),handler:G=>G.focusSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),(0,t.registerEditorCommand)(new Y({id:\"focusAndAcceptSuggestion\",precondition:h.ContextKeyExpr.and(S.Context.Visible,S.Context.HasFocusedSuggestion.negate()),handler:G=>{G.focusSuggestion(),G.acceptSelectedSuggestion(!0,!1)}})),(0,t.registerEditorCommand)(new Y({id:\"toggleSuggestionDetails\",precondition:h.ContextKeyExpr.and(S.Context.Visible,S.Context.HasFocusedSuggestion),handler:G=>G.toggleSuggestionDetails(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:S.suggestWidgetStatusbarMenu,group:\"right\",order:1,when:h.ContextKeyExpr.and(S.Context.DetailsVisible,S.Context.CanResolve),title:C.localize(1325,\"Show Less\")},{menuId:S.suggestWidgetStatusbarMenu,group:\"right\",order:1,when:h.ContextKeyExpr.and(S.Context.DetailsVisible.toNegated(),S.Context.CanResolve),title:C.localize(1326,\"Show More\")}]})),(0,t.registerEditorCommand)(new Y({id:\"toggleExplainMode\",precondition:S.Context.Visible,handler:G=>G.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),(0,t.registerEditorCommand)(new Y({id:\"toggleSuggestionFocus\",precondition:S.Context.Visible,handler:G=>G.toggleSuggestionFocus(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:2570,mac:{primary:778}}})),(0,t.registerEditorCommand)(new Y({id:\"insertBestCompletion\",precondition:h.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,h.ContextKeyExpr.equals(\"config.editor.tabCompletion\",\"on\"),u.WordContextKey.AtEnd,S.Context.Visible.toNegated(),L.SuggestAlternatives.OtherSuggestions.toNegated(),l.SnippetController2.InSnippetMode.toNegated()),handler:(G,K)=>{G.triggerSuggestAndAcceptBest((0,n.isObject)(K)?{fallback:\"tab\",...K}:{fallback:\"tab\"})},kbOpts:{weight:j,primary:2}})),(0,t.registerEditorCommand)(new Y({id:\"insertNextSuggestion\",precondition:h.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,h.ContextKeyExpr.equals(\"config.editor.tabCompletion\",\"on\"),L.SuggestAlternatives.OtherSuggestions,S.Context.Visible.toNegated(),l.SnippetController2.InSnippetMode.toNegated()),handler:G=>G.acceptNextSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:2}})),(0,t.registerEditorCommand)(new Y({id:\"insertPrevSuggestion\",precondition:h.ContextKeyExpr.and(c.EditorContextKeys.textInputFocus,h.ContextKeyExpr.equals(\"config.editor.tabCompletion\",\"on\"),L.SuggestAlternatives.OtherSuggestions,S.Context.Visible.toNegated(),l.SnippetController2.InSnippetMode.toNegated()),handler:G=>G.acceptPrevSuggestion(),kbOpts:{weight:j,kbExpr:c.EditorContextKeys.textInputFocus,primary:1026}})),(0,t.registerEditorAction)(class extends t.EditorAction{constructor(){super({id:\"editor.action.resetSuggestSize\",label:C.localize(1327,\"Reset Suggest Widget Size\"),alias:\"Reset Suggest Widget Size\",precondition:void 0})}run(G,K){H.get(K)?.resetWidgetSize()}})}),define(ne[861],se([1,0,13,67,6,2,9,4,104,27,246,135,436,294]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SuggestItemInfo=e.SuggestWidgetAdaptor=void 0;class i extends E.Disposable{get selectedItem(){return this._currentSuggestItemInfo}constructor(l,a,r){super(),this.editor=l,this.suggestControllerPreselector=a,this.onWillAccept=r,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new I.Emitter),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(l.onKeyDown(C=>{C.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(l.onKeyUp(C=>{C.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const u=t.SuggestController.get(this.editor);if(u){this._register(u.registerSelector({priority:100,select:(h,v,w)=>{const S=this.editor.getModel();if(!S)return-1;const L=this.suggestControllerPreselector(),D=L?(0,p.singleTextRemoveCommonPrefix)(L,S):void 0;if(!D)return-1;const T=y.Position.lift(v),M=w.map((P,N)=>{const O=s.fromSuggestion(u,S,T,P,this.isShiftKeyPressed),F=(0,p.singleTextRemoveCommonPrefix)(O.toSingleTextEdit(),S),x=(0,p.singleTextEditAugments)(D,F);return{index:N,valid:x,prefixLength:F.text.length,suggestItem:P}}).filter(P=>P&&P.valid&&P.prefixLength>0),A=(0,k.findFirstMax)(M,(0,d.compareBy)(P=>P.prefixLength,d.numberComparator));return A?A.index:-1}}));let C=!1;const f=()=>{C||(C=!0,this._register(u.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(u.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(u.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(I.Event.once(u.model.onDidTrigger)(h=>{f()})),this._register(u.onWillInsertSuggestItem(h=>{const v=this.editor.getPosition(),w=this.editor.getModel();if(!v||!w)return;const S=s.fromSuggestion(u,w,v,h.item,this.isShiftKeyPressed);this.onWillAccept(S)}))}this.update(this._isActive)}update(l){const a=this.getSuggestItemInfo();(this._isActive!==l||!g(this._currentSuggestItemInfo,a))&&(this._isActive=l,this._currentSuggestItemInfo=a,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const l=t.SuggestController.get(this.editor);if(!l||!this.isSuggestWidgetVisible)return;const a=l.widget.value.getFocusedItem(),r=this.editor.getPosition(),u=this.editor.getModel();if(!(!a||!r||!u))return s.fromSuggestion(l,u,r,a.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){t.SuggestController.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){t.SuggestController.get(this.editor)?.forceRenderingAbove()}}e.SuggestWidgetAdaptor=i;class s{static fromSuggestion(l,a,r,u,C){let{insertText:f}=u.completion,h=!1;if(u.completion.insertTextRules&4){const w=new n.SnippetParser().parse(f);w.children.length<100&&o.SnippetSession.adjustWhitespace(a,r,!0,w),f=w.toString(),h=!0}const v=l.getOverwriteInfo(u,C);return new s(m.Range.fromPositions(r.delta(0,-v.overwriteBefore),r.delta(0,Math.max(v.overwriteAfter,0))),f,u.completion.kind,h)}constructor(l,a,r,u){this.range=l,this.insertText=a,this.completionItemKind=r,this.isSnippetText=u}equals(l){return this.range.equalsRange(l.range)&&this.insertText===l.insertText&&this.completionItemKind===l.completionItemKind&&this.isSnippetText===l.isSnippetText}toSelectedSuggestionInfo(){return new b.SelectedSuggestionInfo(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new _.SingleTextEdit(this.range,this.insertText)}}e.SuggestItemInfo=s;function g(c,l){return c===l?!0:!c||!l?!1:c.equals(l)}}),define(ne[295],se([1,0,630,46,14,18,2,21,65,189,19,214,112,9,79,17,245,679,269,283,860,861,3,61,137,24,28,12,7,31]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D){\"use strict\";var T;Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineCompletionsController=void 0;let M=class extends y.Disposable{static{T=this}static{this.ID=\"editor.contrib.inlineCompletionsController\"}static get(N){return N.getContribution(T.ID)}constructor(N,O,F,x,W,V,q,H,z,U){super(),this.editor=N,this._instantiationService=O,this._contextKeyService=F,this._configurationService=x,this._commandService=W,this._debounceService=V,this._languageFeaturesService=q,this._accessibilitySignalService=H,this._keybindingService=z,this._accessibilityService=U,this._editorObs=(0,o.observableCodeEditor)(this.editor),this._positions=(0,m.derived)(this,Y=>this._editorObs.selections.read(Y)?.map(G=>G.getEndPosition())??[new t.Position(1,1)]),this._suggestWidgetAdaptor=this._register(new u.SuggestWidgetAdaptor(this.editor,()=>(this._editorObs.forceUpdate(),this.model.get()?.selectedInlineCompletion.get()?.toSingleTextEdit(void 0)),Y=>this._editorObs.forceUpdate(G=>{this.model.get()?.handleSuggestAccepted(Y)}))),this._suggestWidgetSelectedItem=(0,m.observableFromEvent)(this,Y=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(G=>Y(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=(0,m.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=(0,m.observableFromEvent)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=(0,m.observableFromEvent)(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue(\"editorDictation.inProgress\")===!0),this._enabled=(0,m.derived)(this,Y=>this._enabledInConfig.read(Y)&&(!this._isScreenReaderEnabled.read(Y)||!this._editorDictationInProgress.read(Y))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,\"InlineCompletionsDebounce\",{min:50,max:50}),this.model=(0,_.derivedDisposable)(this,Y=>{if(this._editorObs.isReadonly.read(Y))return;const G=this._editorObs.model.read(Y);return G?this._instantiationService.createInstance(r.InlineCompletionsModel,G,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,(0,m.observableFromEvent)(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),(0,m.observableFromEvent)(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),(0,m.observableFromEvent)(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=(0,m.derived)(this,Y=>this.model.read(Y)?.ghostTexts.read(Y)??[]),this._stablizedGhostTexts=A(this._ghostTexts,this._store),this._ghostTextWidgets=(0,b.mapObservableArrayCached)(this,this._stablizedGhostTexts,(Y,G)=>G.add(this._instantiationService.createInstance(c.GhostTextView,this.editor,{ghostText:Y,minReservedLineCount:(0,m.constObservable)(0),targetTextModel:this.model.map(K=>K?.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=(0,m.observableSignal)(this),this._fontFamily=(0,m.observableFromEvent)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new l.InlineCompletionContextKeys(this._contextKeyService,this.model)),this._register((0,o.reactToChange)(this._editorObs.onDidType,(Y,G)=>{this._enabled.get()&&this.model.get()?.trigger()})),this._register(this._commandService.onDidExecuteCommand(Y=>{new Set([n.CoreEditingCommands.Tab.id,n.CoreEditingCommands.DeleteLeft.id,n.CoreEditingCommands.DeleteRight.id,g.inlineSuggestCommitId,\"acceptSelectedSuggestion\"]).has(Y.commandId)&&N.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(K=>{this.model.get()?.trigger(K)})})),this._register((0,o.reactToChange)(this._editorObs.selections,(Y,G)=>{G.some(K=>K.reason===3||K.source===\"api\")&&this.model.get()?.stop()})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue(\"accessibleViewIsShown\")||this._configurationService.getValue(\"editor.inlineSuggest.keepOnBlur\")||N.getOption(62).keepOnBlur||a.InlineSuggestionHintsContentWidget.dropDownVisible||(0,m.transaction)(Y=>{this.model.get()?.stop(Y)})})),this._register((0,m.autorun)(Y=>{const G=this.model.read(Y)?.state.read(Y);G?.suggestItem?G.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register((0,y.toDisposable)(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const j=(0,b.derivedObservableWithCache)(this,(Y,G)=>{const R=this.model.read(Y)?.state.read(Y);return this._suggestWidgetSelectedItem.get()?G:R?.inlineCompletion?.semanticId});this._register((0,o.reactToChangeWithStore)((0,m.derived)(Y=>(this._playAccessibilitySignal.read(Y),j.read(Y),{})),async(Y,G,K)=>{const R=this.model.get(),J=R?.state.get();if(!J||!R)return;const ie=R.textModel.getLineContent(J.primaryGhostText.lineNumber);await(0,I.timeout)(50,(0,E.cancelOnDispose)(K)),await(0,m.waitForState)(this._suggestWidgetSelectedItem,p.isUndefined,()=>!1,(0,E.cancelOnDispose)(K)),await this._accessibilitySignalService.playSignal(h.AccessibilitySignal.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(J.primaryGhostText.renderForScreenReader(ie))})),this._register(new a.InlineCompletionsHintsWidget(this.editor,this.model,this._instantiationService)),this._register((0,d.createStyleSheetFromObservable)((0,m.derived)(Y=>{const G=this._fontFamily.read(Y);return G===\"\"||G===\"default\"?\"\":`\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .ghost-text {\n\tfont-family: ${G};\n}`}))),this._register(this._configurationService.onDidChangeConfiguration(Y=>{Y.affectsConfiguration(\"accessibility.verbosity.inlineCompletions\")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue(\"accessibility.verbosity.inlineCompletions\")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue(\"accessibility.verbosity.inlineCompletions\")})}playAccessibilitySignal(N){this._playAccessibilitySignal.trigger(N)}_provideScreenReaderUpdate(N){const O=this._contextKeyService.getContextKeyValue(\"accessibleViewIsShown\"),F=this._keybindingService.lookupKeybinding(\"editor.action.accessibleView\");let x;!O&&F&&this.editor.getOption(150)&&(x=(0,C.localize)(1088,\"Inspect this in the accessible view ({0})\",F.getAriaLabel())),(0,k.alert)(x?N+\", \"+x:N)}shouldShowHoverAt(N){const O=this.model.get()?.primaryGhostText.get();return O?O.parts.some(F=>N.containsPosition(new t.Position(O.lineNumber,F.column))):!1}shouldShowHoverAtViewZone(N){return this._ghostTextWidgets.get()[0]?.ownsViewZone(N)??!1}};e.InlineCompletionsController=M,e.InlineCompletionsController=M=T=ke([ce(1,L.IInstantiationService),ce(2,S.IContextKeyService),ce(3,w.IConfigurationService),ce(4,v.ICommandService),ce(5,i.ILanguageFeatureDebounceService),ce(6,s.ILanguageFeaturesService),ce(7,h.IAccessibilitySignalService),ce(8,D.IKeybindingService),ce(9,f.IAccessibilityService)],M);function A(P,N){const O=(0,m.observableValue)(\"result\",[]),F=[];return N.add((0,m.autorun)(x=>{const W=P.read(x);(0,m.transaction)(V=>{if(W.length!==F.length){F.length=W.length;for(let q=0;q<F.length;q++)F[q]||(F[q]=(0,m.observableValue)(\"item\",W[q]));O.set([...F],V)}F.forEach((q,H)=>q.set(W[H],V))})})),O}}),define(ne[862],se([1,0,21,92,15,20,245,269,295,155,3,29,28,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToggleAlwaysShowInlineSuggestionToolbar=e.HideInlineCompletion=e.AcceptInlineCompletion=e.AcceptNextLineOfInlineCompletion=e.AcceptNextWordOfInlineCompletion=e.TriggerInlineSuggestionAction=e.ShowPreviousInlineSuggestionAction=e.ShowNextInlineSuggestionAction=void 0;class i extends I.EditorAction{static{this.ID=y.showNextInlineSuggestionActionId}constructor(){super({id:i.ID,label:p.localize(1073,\"Show Next Inline Suggestion\"),alias:\"Show Next Inline Suggestion\",precondition:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(f,h){_.InlineCompletionsController.get(h)?.model.get()?.next()}}e.ShowNextInlineSuggestionAction=i;class s extends I.EditorAction{static{this.ID=y.showPreviousInlineSuggestionActionId}constructor(){super({id:s.ID,label:p.localize(1074,\"Show Previous Inline Suggestion\"),alias:\"Show Previous Inline Suggestion\",precondition:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(f,h){_.InlineCompletionsController.get(h)?.model.get()?.previous()}}e.ShowPreviousInlineSuggestionAction=s;class g extends I.EditorAction{constructor(){super({id:\"editor.action.inlineSuggest.trigger\",label:p.localize(1075,\"Trigger Inline Suggestion\"),alias:\"Trigger Inline Suggestion\",precondition:E.EditorContextKeys.writable})}async run(f,h){const v=_.InlineCompletionsController.get(h);await(0,k.asyncTransaction)(async w=>{await v?.model.get()?.triggerExplicitly(w),v?.playAccessibilitySignal(w)})}}e.TriggerInlineSuggestionAction=g;class c extends I.EditorAction{constructor(){super({id:\"editor.action.inlineSuggest.acceptNextWord\",label:p.localize(1076,\"Accept Next Word Of Inline Suggestion\"),alias:\"Accept Next Word Of Inline Suggestion\",precondition:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible)},menuOpts:[{menuId:n.MenuId.InlineSuggestionToolbar,title:p.localize(1077,\"Accept Word\"),group:\"primary\",order:2}]})}async run(f,h){const v=_.InlineCompletionsController.get(h);await v?.model.get()?.acceptNextWord(v.editor)}}e.AcceptNextWordOfInlineCompletion=c;class l extends I.EditorAction{constructor(){super({id:\"editor.action.inlineSuggest.acceptNextLine\",label:p.localize(1078,\"Accept Next Line Of Inline Suggestion\"),alias:\"Accept Next Line Of Inline Suggestion\",precondition:t.ContextKeyExpr.and(E.EditorContextKeys.writable,m.InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:n.MenuId.InlineSuggestionToolbar,title:p.localize(1079,\"Accept Line\"),group:\"secondary\",order:2}]})}async run(f,h){const v=_.InlineCompletionsController.get(h);await v?.model.get()?.acceptNextLine(v.editor)}}e.AcceptNextLineOfInlineCompletion=l;class a extends I.EditorAction{constructor(){super({id:y.inlineSuggestCommitId,label:p.localize(1080,\"Accept Inline Suggestion\"),alias:\"Accept Inline Suggestion\",precondition:m.InlineCompletionContextKeys.inlineSuggestionVisible,menuOpts:[{menuId:n.MenuId.InlineSuggestionToolbar,title:p.localize(1081,\"Accept\"),group:\"primary\",order:1}],kbOpts:{primary:2,weight:200,kbExpr:t.ContextKeyExpr.and(m.InlineCompletionContextKeys.inlineSuggestionVisible,E.EditorContextKeys.tabMovesFocus.toNegated(),m.InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,b.Context.Visible.toNegated(),E.EditorContextKeys.hoverFocused.toNegated())}})}async run(f,h){const v=_.InlineCompletionsController.get(h);v&&(v.model.get()?.accept(v.editor),v.editor.focus())}}e.AcceptInlineCompletion=a;class r extends I.EditorAction{static{this.ID=\"editor.action.inlineSuggest.hide\"}constructor(){super({id:r.ID,label:p.localize(1082,\"Hide Inline Suggestion\"),alias:\"Hide Inline Suggestion\",precondition:m.InlineCompletionContextKeys.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(f,h){const v=_.InlineCompletionsController.get(h);(0,d.transaction)(w=>{v?.model.get()?.stop(w)})}}e.HideInlineCompletion=r;class u extends n.Action2{static{this.ID=\"editor.action.inlineSuggest.toggleAlwaysShowToolbar\"}constructor(){super({id:u.ID,title:p.localize(1083,\"Always Show Toolbar\"),f1:!1,precondition:void 0,menu:[{id:n.MenuId.InlineSuggestionToolbar,group:\"secondary\",order:10}],toggled:t.ContextKeyExpr.equals(\"config.editor.inlineSuggest.showToolbar\",\"always\")})}async run(f,h){const v=f.get(o.IConfigurationService),S=v.getValue(\"editor.inlineSuggest.showToolbar\")===\"always\"?\"onHover\":\"always\";v.updateValue(\"editor.inlineSuggest.showToolbar\",S)}}e.ToggleAlwaysShowInlineSuggestionToolbar=u}),define(ne[863],se([1,0,5,57,2,21,4,43,84,295,283,120,3,61,7,59,63]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineCompletionsHoverParticipant=e.InlineCompletionsHover=void 0;class c{constructor(r,u,C){this.owner=r,this.range=u,this.controller=C}isValidForHoverAnchor(r){return r.type===1&&this.range.startColumn<=r.range.startColumn&&this.range.endColumn>=r.range.endColumn}}e.InlineCompletionsHover=c;let l=class{constructor(r,u,C,f,h,v){this._editor=r,this._languageService=u,this._openerService=C,this.accessibilityService=f,this._instantiationService=h,this._telemetryService=v,this.hoverOrdinal=4}suggestHoverAnchor(r){const u=b.InlineCompletionsController.get(this._editor);if(!u)return null;const C=r.target;if(C.type===8){const f=C.detail;if(u.shouldShowHoverAtViewZone(f.viewZoneId))return new _.HoverForeignElementAnchor(1e3,this,y.Range.fromPositions(this._editor.getModel().validatePosition(f.positionBefore||f.position)),r.event.posx,r.event.posy,!1)}return C.type===7&&u.shouldShowHoverAt(C.range)?new _.HoverForeignElementAnchor(1e3,this,C.range,r.event.posx,r.event.posy,!1):C.type===6&&C.detail.mightBeForeignElement&&u.shouldShowHoverAt(C.range)?new _.HoverForeignElementAnchor(1e3,this,C.range,r.event.posx,r.event.posy,!1):null}computeSync(r,u){if(this._editor.getOption(62).showToolbar!==\"onHover\")return[];const C=b.InlineCompletionsController.get(this._editor);return C&&C.shouldShowHoverAt(r.range)?[new c(this,r.range,C)]:[]}renderHoverParts(r,u){const C=new I.DisposableStore,f=u[0];this._telemetryService.publicLog2(\"inlineCompletionHover.shown\"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&C.add(this.renderScreenReaderText(r,f));const h=f.controller.model.get(),v=this._instantiationService.createInstance(p.InlineSuggestionHintsContentWidget,this._editor,!1,(0,E.constObservable)(null),h.selectedInlineCompletionIndex,h.inlineCompletionsCount,h.activeCommands),w=v.getDomNode();r.fragment.appendChild(w),h.triggerExplicitly(),C.add(v);const S={hoverPart:f,hoverElement:w,dispose(){C.dispose()}};return new _.RenderedHoverParts([S])}renderScreenReaderText(r,u){const C=new I.DisposableStore,f=d.$,h=f(\"div.hover-row.markdown-hover\"),v=d.append(h,f(\"div.hover-contents\",{\"aria-live\":\"assertive\"})),w=C.add(new n.MarkdownRenderer({editor:this._editor},this._languageService,this._openerService)),S=L=>{C.add(w.onDidRenderAsync(()=>{v.className=\"hover-contents code-hover-contents\",r.onContentsChanged()}));const D=o.localize(1089,\"Suggestion:\"),T=C.add(w.render(new k.MarkdownString().appendText(D).appendCodeblock(\"text\",L)));v.replaceChildren(T.element)};return C.add((0,E.autorun)(L=>{const D=u.controller.model.read(L)?.primaryGhostText.read(L);if(D){const T=this._editor.getModel().getLineContent(D.lineNumber);S(D.renderForScreenReader(T))}else d.reset(v)})),r.fragment.appendChild(h),C}};e.InlineCompletionsHoverParticipant=l,e.InlineCompletionsHoverParticipant=l=ke([ce(1,m.ILanguageService),ce(2,s.IOpenerService),ce(3,t.IAccessibilityService),ce(4,i.IInstantiationService),ce(5,g.ITelemetryService)],l)}),define(ne[864],se([1,0,15,84,862,863,617,295,380,29]),function(oe,e,d,k,I,E,y,m,_,b){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,d.registerEditorContribution)(m.InlineCompletionsController.ID,m.InlineCompletionsController,3),(0,d.registerEditorAction)(I.TriggerInlineSuggestionAction),(0,d.registerEditorAction)(I.ShowNextInlineSuggestionAction),(0,d.registerEditorAction)(I.ShowPreviousInlineSuggestionAction),(0,d.registerEditorAction)(I.AcceptNextWordOfInlineCompletion),(0,d.registerEditorAction)(I.AcceptNextLineOfInlineCompletion),(0,d.registerEditorAction)(I.AcceptInlineCompletion),(0,d.registerEditorAction)(I.HideInlineCompletion),(0,b.registerAction2)(I.ToggleAlwaysShowInlineSuggestionToolbar),k.HoverParticipantRegistry.register(E.InlineCompletionsHoverParticipant),_.AccessibleViewRegistry.register(new y.InlineCompletionsAccessibleView)}),define(ne[438],se([1,0,5,347,2,21,65,15,112,125,139,88,70,35,434,379,294,7,521]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineEditsWidget=e.InlineEdit=void 0;class l{constructor(v,w,S){this.range=v,this.newLines=w,this.changes=S}}e.InlineEdit=l;let a=class extends I.Disposable{constructor(v,w,S,L){super(),this._editor=v,this._edit=w,this._userPrompt=S,this._instantiationService=L,this._editorObs=(0,_.observableCodeEditor)(this._editor),this._elements=(0,d.h)(\"div.inline-edits-widget\",{style:{position:\"absolute\",overflow:\"visible\",top:\"0px\",left:\"0px\"}},[(0,d.h)(\"div@editorContainer\",{style:{position:\"absolute\",top:\"0px\",left:\"0px\",width:\"500px\",height:\"500px\"}},[(0,d.h)(\"div.toolbar@toolbar\",{style:{position:\"absolute\",top:\"-25px\",left:\"0px\"}}),(0,d.h)(\"div.promptEditor@promptEditor\",{style:{position:\"absolute\",top:\"-25px\",left:\"80px\",width:\"300px\",height:\"22px\"}}),(0,d.h)(\"div.preview@editor\",{style:{position:\"absolute\",top:\"0px\",left:\"0px\"}})]),(0,d.svgElem)(\"svg\",{style:{overflow:\"visible\",pointerEvents:\"none\"}},[(0,d.svgElem)(\"defs\",[(0,d.svgElem)(\"linearGradient\",{id:\"Gradient2\",x1:\"0\",y1:\"0\",x2:\"1\",y2:\"0\"},[(0,d.svgElem)(\"stop\",{offset:\"0%\",class:\"gradient-stop\"}),(0,d.svgElem)(\"stop\",{offset:\"100%\",class:\"gradient-stop\"})])]),(0,d.svgElem)(\"path@path\",{d:\"\",fill:\"url(#Gradient2)\"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(t.TextModel,\"\",o.PLAINTEXT_LANGUAGE_ID,t.TextModel.DEFAULT_CREATION_OPTIONS,null)),this._setText=(0,E.derived)(T=>{const M=this._edit.read(T);M&&this._previewTextModel.setValue(M.newLines.join(`\n`))}).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(t.TextModel,\"\",o.PLAINTEXT_LANGUAGE_ID,t.TextModel.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(b.EmbeddedCodeEditorWidget,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:\"off\",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:\"Describe the change you want...\",fontFamily:k.DEFAULT_FONT_FAMILY},{contributions:m.EditorExtensionsRegistry.getSomeEditorContributions([g.SuggestController.ID,s.PlaceholderTextContribution.ID,i.ContextMenuController.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(b.EmbeddedCodeEditorWidget,this._elements.editor,{glyphMargin:!1,lineNumbers:\"off\",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=(0,_.observableCodeEditor)(this._previewEditor),this._decorations=(0,E.derived)(this,T=>{this._setText.read(T);const M=this._edit.read(T)?.changes;if(!M)return[];const A=[],P=[];if(M.length===1&&M[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const N of M)if(N.original.isEmpty||A.push({range:N.original.toInclusiveRange(),options:p.diffLineDeleteDecorationBackgroundWithIndicator}),N.modified.isEmpty||P.push({range:N.modified.toInclusiveRange(),options:p.diffLineAddDecorationBackgroundWithIndicator}),N.modified.isEmpty||N.original.isEmpty)N.original.isEmpty||A.push({range:N.original.toInclusiveRange(),options:p.diffWholeLineDeleteDecoration}),N.modified.isEmpty||P.push({range:N.modified.toInclusiveRange(),options:p.diffWholeLineAddDecoration});else for(const O of N.innerChanges||[])N.original.contains(O.originalRange.startLineNumber)&&A.push({range:O.originalRange,options:O.originalRange.isEmpty()?p.diffDeleteDecorationEmpty:p.diffDeleteDecoration}),N.modified.contains(O.modifiedRange.startLineNumber)&&P.push({range:O.modifiedRange,options:O.modifiedRange.isEmpty()?p.diffAddDecorationEmpty:p.diffAddDecoration});return P}),this._layout1=(0,E.derived)(this,T=>{const M=this._editor.getModel(),A=this._edit.read(T);if(!A)return null;const P=A.range;let N=0;for(let x=P.startLineNumber;x<P.endLineNumberExclusive;x++){const W=M.getLineMaxColumn(x),V=this._editor.getOffsetForColumn(x,W);N=Math.max(N,V)}return{left:this._editor.getLayoutInfo().contentLeft+N}}),this._layout=(0,E.derived)(this,T=>{const M=this._edit.read(T);if(!M)return null;const A=M.range,P=this._editorObs.scrollLeft.read(T),N=this._layout1.read(T).left+20-P,O=this._editor.getTopForLineNumber(A.startLineNumber)-this._editorObs.scrollTop.read(T),F=this._editor.getTopForLineNumber(A.endLineNumberExclusive)-this._editorObs.scrollTop.read(T),x=new u(N,O),W=new u(N,F),V=F-O,q=50,H=this._editor.getOption(67)*M.newLines.length,z=V-H,U=new u(N+q,O+z/2),j=new u(N+q,F-z/2);return{topCode:x,bottomCode:W,codeHeight:V,topEdit:U,bottomEdit:j,editHeight:H}});const D=(0,E.derived)(this,T=>this._edit.read(T)!==void 0||this._userPrompt.read(T)!==void 0);this._register((0,n.applyStyle)(this._elements.root,{display:(0,E.derived)(this,T=>D.read(T)?\"block\":\"none\")})),this._register((0,n.appendRemoveOnDispose)(this._editor.getDomNode(),this._elements.root)),this._register((0,_.observableCodeEditor)(v).createOverlayWidget({domNode:this._elements.root,position:(0,E.constObservable)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,E.derived)(T=>{const M=this._layout1.read(T)?.left;if(M===void 0)return 0;const A=this._previewEditorObs.contentWidth.read(T);return M+A})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register((0,E.autorun)(T=>{const M=this._layout.read(T);if(!M)return;const{topCode:A,bottomCode:P,topEdit:N,bottomEdit:O,editHeight:F}=M,x=10,W=0,V=40,q=new C().moveTo(A).lineTo(A.deltaX(x)).curveTo(A.deltaX(x+V),N.deltaX(-V-W),N.deltaX(-W)).lineTo(N).lineTo(O).lineTo(O.deltaX(-W)).curveTo(O.deltaX(-V-W),P.deltaX(x+V),P.deltaX(x)).lineTo(P).build();this._elements.path.setAttribute(\"d\",q),this._elements.editorContainer.style.top=`${N.y}px`,this._elements.editorContainer.style.left=`${N.x}px`,this._elements.editorContainer.style.height=`${F}px`;const H=this._previewEditorObs.contentWidth.read(T);this._previewEditor.layout({height:F,width:H})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(f(r(this._userPrompt,T=>T??\"\",T=>T),(0,_.observableCodeEditor)(this._promptEditor).value)),this._register((0,E.autorun)(T=>{const M=(0,_.observableCodeEditor)(this._promptEditor).isFocused.read(T);this._elements.root.classList.toggle(\"focused\",M)}))}};e.InlineEditsWidget=a,e.InlineEditsWidget=a=ke([ce(3,c.IInstantiationService)],a);function r(h,v,w){return(0,y.derivedWithSetter)(void 0,S=>v(h.read(S)),(S,L)=>h.set(w(S),L))}class u{constructor(v,w){this.x=v,this.y=w}deltaX(v){return new u(this.x+v,this.y)}}class C{constructor(){this._data=\"\"}moveTo(v){return this._data+=`M ${v.x} ${v.y} `,this}lineTo(v){return this._data+=`L ${v.x} ${v.y} `,this}curveTo(v,w,S){return this._data+=`C ${v.x} ${v.y} ${w.x} ${w.y} ${S.x} ${S.y} `,this}build(){return this._data}}function f(h,v){const w=new I.DisposableStore;return w.add((0,E.autorun)(S=>{const L=h.read(S);v.set(L,void 0)})),w.add((0,E.autorun)(S=>{const L=v.read(S);h.set(L,void 0)})),w}}),define(ne[865],se([1,0,14,18,102,8,2,21,65,22,215,55,27,17,51,378,438]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";var c;Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineEditsModel=void 0;let l=class extends y.Disposable{static{c=this}static{this._modelId=0}static _createUniqueUri(){return b.URI.from({scheme:\"inline-edits\",path:new Date().toString()+String(c._modelId++)})}constructor(C,f,h,v,w,S,L){super(),this.textModel=C,this._textModelVersionId=f,this._selection=h,this._debounceValue=v,this.languageFeaturesService=w,this._diffProviderFactoryService=S,this._modelService=L,this._forceUpdateExplicitlySignal=(0,m.observableSignal)(this),this._selectedInlineCompletionId=(0,m.observableValue)(this,void 0),this._isActive=(0,m.observableValue)(this,!1),this._originalModel=(0,_.derivedDisposable)(()=>this._modelService.createModel(\"\",null,c._createUniqueUri())).keepObserved(this._store),this._modifiedModel=(0,_.derivedDisposable)(()=>this._modelService.createModel(\"\",null,c._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new r(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(D=>!!D),this.userPrompt=(0,m.observableValue)(this,void 0),this.inlineEdit=(0,m.derived)(this,D=>this._inlineEdit.read(D)?.promiseResult.read(D)?.data),this._inlineEdit=(0,m.derived)(this,D=>{const T=this.selectedInlineEdit.read(D);if(!T)return;const M=T.inlineCompletion.range;if(T.inlineCompletion.insertText.trim()===\"\")return;let A=T.inlineCompletion.insertText.split(/\\r\\n|\\r|\\n/);function P(x){const W=x[0].match(/^\\s*/)?.[0]??\"\";return x.map(V=>V.replace(new RegExp(\"^\"+W),\"\"))}A=P(A);let O=this.textModel.getValueInRange(M).split(/\\r\\n|\\r|\\n/);O=P(O),this._originalModel.get().setValue(O.join(`\n`)),this._modifiedModel.get().setValue(A.join(`\n`));const F=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:\"advanced\"});return m.ObservablePromise.fromFn(async()=>{const x=await F.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},k.CancellationToken.None);if(!x.identical)return new g.InlineEdit(n.LineRange.fromRangeInclusive(M),P(A),x.changes)})}),this._fetchStore=this._register(new y.DisposableStore),this._inlineEditsFetchResult=(0,m.disposableObservableValue)(this,void 0),this._inlineEdits=(0,m.derivedOpts)({owner:this,equalsFn:I.structuralEquals},D=>this._inlineEditsFetchResult.read(D)?.completions.map(T=>new a(T))??[]),this._fetchInlineEditsPromise=(0,m.derivedHandleChanges)({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:o.InlineCompletionTriggerKind.Automatic}),handleChange:(D,T)=>(D.didChange(this._forceUpdateExplicitlySignal)&&(T.inlineCompletionTriggerKind=o.InlineCompletionTriggerKind.Explicit),!0)},async(D,T)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(D),this._textModelVersionId.read(D);function M(F,x){return x(F)}const A=this._pinnedRange.range.read(D)??M(this._selection.read(D),F=>F.isEmpty()?void 0:F);if(!A){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const P={triggerKind:T.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(D)},N=(0,k.cancelOnDispose)(this._fetchStore);await(0,d.timeout)(200,N);const O=await(0,s.provideInlineCompletions)(this.languageFeaturesService.inlineCompletionsProvider,A,this.textModel,P,N);N.isCancellationRequested||this._inlineEditsFetchResult.set(O,void 0)}),this._filteredInlineEditItems=(0,m.derivedOpts)({owner:this,equalsFn:(0,I.itemsEquals)()},D=>this._inlineEdits.read(D)),this.selectedInlineCompletionIndex=(0,m.derived)(this,D=>{const T=this._selectedInlineCompletionId.read(D),M=this._filteredInlineEditItems.read(D),A=this._selectedInlineCompletionId===void 0?-1:M.findIndex(P=>P.semanticId===T);return A===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):A}),this.selectedInlineEdit=(0,m.derived)(this,D=>{const T=this._filteredInlineEditItems.read(D),M=this.selectedInlineCompletionIndex.read(D);return T[M]}),this._register((0,m.recomputeInitiallyAndOnChange)(this._fetchInlineEditsPromise))}async triggerExplicitly(C){(0,m.subtransaction)(C,f=>{this._isActive.set(!0,f),this._forceUpdateExplicitlySignal.trigger(f)}),await this._fetchInlineEditsPromise.get()}stop(C){(0,m.subtransaction)(C,f=>{this.userPrompt.set(void 0,f),this._isActive.set(!1,f),this._inlineEditsFetchResult.set(void 0,f),this._pinnedRange.setRange(void 0,f)})}async _deltaSelectedInlineCompletionIndex(C){await this.triggerExplicitly();const f=this._filteredInlineEditItems.get()||[];if(f.length>0){const h=(this.selectedInlineCompletionIndex.get()+C+f.length)%f.length;this._selectedInlineCompletionId.set(f[h].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(C){if(C.getModel()!==this.textModel)throw new E.BugIndicatingError;const f=this.selectedInlineEdit.get();f&&(C.pushUndoStop(),C.executeEdits(\"inlineSuggestion.accept\",[f.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}};e.InlineEditsModel=l,e.InlineEditsModel=l=c=ke([ce(4,t.ILanguageFeaturesService),ce(5,p.IDiffProviderFactoryService),ce(6,i.IModelService)],l);class a{constructor(C){this.inlineCompletion=C,this.semanticId=this.inlineCompletion.hash()}}class r extends y.Disposable{constructor(C,f){super(),this._textModel=C,this._versionId=f,this._decorations=(0,m.observableValue)(this,[]),this.range=(0,m.derived)(this,h=>{this._versionId.read(h);const v=this._decorations.read(h)[0];return v?this._textModel.getDecorationRange(v)??null:null}),this._register((0,y.toDisposable)(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(C,f){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),C?[{range:C,options:{description:\"trackedRange\"}}]:[]),f)}}}),define(ne[439],se([1,0,2,21,65,112,171,23,79,17,390,865,438,28,12,7,397]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g){\"use strict\";var c;Object.defineProperty(e,\"__esModule\",{value:!0}),e.InlineEditsController=void 0;let l=class extends d.Disposable{static{c=this}static{this.ID=\"editor.contrib.inlineEditsController\"}static get(u){return u.getContribution(c.ID)}constructor(u,C,f,h,v,w){super(),this.editor=u,this._instantiationService=C,this._contextKeyService=f,this._debounceService=h,this._languageFeaturesService=v,this._configurationService=w,this._enabled=(0,g.observableConfigValue)(\"editor.inlineEdits.enabled\",!1,this._configurationService),this._editorObs=(0,E.observableCodeEditor)(this.editor),this._selection=(0,k.derived)(this,S=>this._editorObs.cursorSelection.read(S)??new m.Selection(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,\"InlineEditsDebounce\",{min:50,max:50}),this.model=(0,I.derivedDisposable)(this,S=>{if(!this._enabled.read(S)||this._editorObs.isReadonly.read(S))return;const L=this._editorObs.model.read(S);return L?this._instantiationService.createInstance((0,y.readHotReloadableExport)(n.InlineEditsModel,S),L,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=(0,k.derivedObservableWithCache)(this,(S,L)=>L||this.model.read(S)?.inlineEdit.read(S)!==void 0),this._widget=(0,I.derivedDisposable)(this,S=>{if(this._hadInlineEdit.read(S))return this._instantiationService.createInstance((0,y.readHotReloadableExport)(o.InlineEditsWidget,S),this.editor,this.model.map((L,D)=>L?.inlineEdit.read(D)),a(L=>this.model.read(L)?.userPrompt??(0,k.observableValue)(\"empty\",\"\")))}),this._register((0,g.bindContextKey)(p.inlineEditVisible,this._contextKeyService,S=>!!this.model.read(S)?.inlineEdit.read(S))),this._register((0,g.bindContextKey)(p.isPinnedContextKey,this._contextKeyService,S=>!!this.model.read(S)?.isPinned.read(S))),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}};e.InlineEditsController=l,e.InlineEditsController=l=c=ke([ce(1,s.IInstantiationService),ce(2,i.IContextKeyService),ce(3,_.ILanguageFeatureDebounceService),ce(4,b.ILanguageFeaturesService),ce(5,t.IConfigurationService)],l);function a(r){return(0,I.derivedWithSetter)(void 0,u=>r(u).read(u),(u,C)=>{r(void 0).set(u,C)})}}),define(ne[866],se([1,0,26,21,92,15,125,20,390,439,3,29,12]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.HideInlineEdit=e.AcceptInlineEdit=e.TriggerInlineEditAction=e.ShowPreviousInlineEditAction=e.ShowNextInlineEditAction=void 0;function t(a){return{label:a.value,alias:a.original}}class i extends E.EditorAction{static{this.ID=_.showNextInlineEditActionId}constructor(){super({id:i.ID,...t(p.localize2(1096,\"Show Next Inline Edit\")),precondition:o.ContextKeyExpr.and(m.EditorContextKeys.writable,_.inlineEditVisible),kbOpts:{weight:100,primary:606}})}async run(r,u){b.InlineEditsController.get(u)?.model.get()?.next()}}e.ShowNextInlineEditAction=i;class s extends E.EditorAction{static{this.ID=_.showPreviousInlineEditActionId}constructor(){super({id:s.ID,...t(p.localize2(1097,\"Show Previous Inline Edit\")),precondition:o.ContextKeyExpr.and(m.EditorContextKeys.writable,_.inlineEditVisible),kbOpts:{weight:100,primary:604}})}async run(r,u){b.InlineEditsController.get(u)?.model.get()?.previous()}}e.ShowPreviousInlineEditAction=s;class g extends E.EditorAction{constructor(){super({id:\"editor.action.inlineEdits.trigger\",...t(p.localize2(1098,\"Trigger Inline Edit\")),precondition:m.EditorContextKeys.writable})}async run(r,u){const C=b.InlineEditsController.get(u);await(0,I.asyncTransaction)(async f=>{await C?.model.get()?.triggerExplicitly(f)})}}e.TriggerInlineEditAction=g;class c extends E.EditorAction{constructor(){super({id:_.inlineEditAcceptId,...t(p.localize2(1099,\"Accept Inline Edit\")),precondition:_.inlineEditVisible,menuOpts:{menuId:n.MenuId.InlineEditsActions,title:p.localize(1095,\"Accept Inline Edit\"),group:\"primary\",order:1,icon:d.Codicon.check},kbOpts:{primary:2058,weight:2e4,kbExpr:_.inlineEditVisible}})}async run(r,u){u instanceof y.EmbeddedCodeEditorWidget&&(u=u.getParentEditor());const C=b.InlineEditsController.get(u);C&&(C.model.get()?.accept(C.editor),C.editor.focus())}}e.AcceptInlineEdit=c;class l extends E.EditorAction{static{this.ID=\"editor.action.inlineEdits.hide\"}constructor(){super({id:l.ID,...t(p.localize2(1100,\"Hide Inline Edit\")),precondition:_.inlineEditVisible,kbOpts:{weight:100,primary:9}})}async run(r,u){const C=b.InlineEditsController.get(u);(0,k.transaction)(f=>{C?.model.get()?.stop(f)})}}e.HideInlineEdit=l}),define(ne[867],se([1,0,15,866,439]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),(0,d.registerEditorContribution)(I.InlineEditsController.ID,I.InlineEditsController,3),(0,d.registerEditorAction)(k.TriggerInlineEditAction),(0,d.registerEditorAction)(k.ShowNextInlineEditAction),(0,d.registerEditorAction)(k.ShowPreviousInlineEditAction),(0,d.registerEditorAction)(k.AcceptInlineEdit),(0,d.registerEditorAction)(k.HideInlineEdit)}),define(ne[868],se([1,0,18,82,53,2,34,4,130,17,342,155,405,437,343,117]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SuggestInlineCompletions=void 0;class g{constructor(r,u,C,f,h,v){this.range=r,this.insertText=u,this.filterText=C,this.additionalTextEdits=f,this.command=h,this.completion=v}}let c=class extends E.RefCountedDisposable{constructor(r,u,C,f,h,v){super(h.disposable),this.model=r,this.line=u,this.word=C,this.completionModel=f,this._suggestMemoryService=v}canBeReused(r,u,C){return this.model===r&&this.line===u&&this.word.word.length>0&&this.word.startColumn===C.startColumn&&this.word.endColumn<C.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){const r=[],{items:u}=this.completionModel,C=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},u),f=I.Iterable.slice(u,C),h=I.Iterable.slice(u,0,C);let v=5;for(const w of I.Iterable.concat(f,h)){if(w.score===k.FuzzyScore.Default)continue;const S=new m.Range(w.editStart.lineNumber,w.editStart.column,w.editInsertEnd.lineNumber,w.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),L=w.completion.insertTextRules&&w.completion.insertTextRules&4?{snippet:w.completion.insertText}:w.completion.insertText;r.push(new g(S,L,w.filterTextLow??w.labelLow,w.completion.additionalTextEdits,w.completion.command,w)),v-->=0&&w.resolve(d.CancellationToken.None)}return r}};c=ke([ce(5,o.ISuggestMemoryService)],c);let l=class extends E.Disposable{constructor(r,u,C,f){super(),this._languageFeatureService=r,this._clipboardService=u,this._suggestMemoryService=C,this._editorService=f,this._store.add(r.inlineCompletionsProvider.register(\"*\",this))}async provideInlineCompletions(r,u,C,f){if(C.selectedSuggestionInfo)return;let h;for(const A of this._editorService.listCodeEditors())if(A.getModel()===r){h=A;break}if(!h)return;const v=h.getOption(90);if(n.QuickSuggestionsOptions.isAllOff(v))return;r.tokenization.tokenizeIfCheap(u.lineNumber);const w=r.tokenization.getLineTokens(u.lineNumber),S=w.getStandardTokenType(w.findTokenIndexAtOffset(Math.max(u.column-1-1,0)));if(n.QuickSuggestionsOptions.valueFor(v,S)!==\"inline\")return;let L=r.getWordAtPosition(u),D;if(L?.word||(D=this._getTriggerCharacterInfo(r,u)),!L?.word&&!D||(L||(L=r.getWordUntilPosition(u)),L.endColumn!==u.column))return;let T;const M=r.getValueInRange(new m.Range(u.lineNumber,1,u.lineNumber,u.column));if(!D&&this._lastResult?.canBeReused(r,u.lineNumber,L)){const A=new p.LineContext(M,u.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=A,this._lastResult.acquire(),T=this._lastResult}else{const A=await(0,n.provideSuggestionItems)(this._languageFeatureService.completionProvider,r,u,new n.CompletionOptions(void 0,t.SuggestModel.createSuggestFilter(h).itemKind,D?.providers),D&&{triggerKind:1,triggerCharacter:D.ch},f);let P;A.needsClipboard&&(P=await this._clipboardService.readText());const N=new p.CompletionModel(A.items,u.column,new p.LineContext(M,0),i.WordDistance.None,h.getOption(119),h.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},P);T=new c(r,u.lineNumber,L,N,A,this._suggestMemoryService)}return this._lastResult=T,T}handleItemDidShow(r,u){u.completion.resolve(d.CancellationToken.None)}freeInlineCompletions(r){r.release()}_getTriggerCharacterInfo(r,u){const C=r.getValueInRange(m.Range.fromPositions({lineNumber:u.lineNumber,column:u.column-1},u)),f=new Set;for(const h of this._languageFeatureService.completionProvider.all(r))h.triggerCharacters?.includes(C)&&f.add(h);if(f.size!==0)return{providers:f,ch:C}}};e.SuggestInlineCompletions=l,e.SuggestInlineCompletions=l=ke([ce(0,b.ILanguageFeaturesService),ce(1,s.IClipboardService),ce(2,o.ISuggestMemoryService),ce(3,y.ICodeEditorService)],l),(0,_.registerEditorFeature)(l)}),define(ne[440],se([1,0,7]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.IWorkspaceTrustManagementService=void 0,e.IWorkspaceTrustManagementService=(0,d.createDecorator)(\"workspaceTrustManagementService\")}),define(ne[869],se([1,0,14,26,57,2,16,11,15,37,35,328,100,43,375,84,217,766,3,28,7,59,66,71,440,535]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShowExcludeOptions=e.DisableHighlightingOfNonBasicAsciiCharactersAction=e.DisableHighlightingOfInvisibleCharactersAction=e.DisableHighlightingOfAmbiguousCharactersAction=e.DisableHighlightingInStringsAction=e.DisableHighlightingInCommentsAction=e.UnicodeHighlighterHoverParticipant=e.UnicodeHighlighter=e.warningIcon=void 0,e.warningIcon=(0,f.registerIcon)(\"extensions-warning-message\",k.Codicon.warning,l.localize(1386,\"Icon shown with a warning message in the extensions editor.\"));let v=class extends E.Disposable{static{this.ID=\"editor.contrib.unicodeHighlighter\"}constructor(G,K,R,J){super(),this._editor=G,this._editorWorkerService=K,this._workspaceTrustService=R,this._highlighter=null,this._bannerClosed=!1,this._updateState=ie=>{if(ie&&ie.hasMore){if(this._bannerClosed)return;const ue=Math.max(ie.ambiguousCharacterCount,ie.nonBasicAsciiCharacterCount,ie.invisibleCharacterCount);let he;if(ie.nonBasicAsciiCharacterCount>=ue)he={message:l.localize(1387,\"This document contains many non-basic ASCII unicode characters\"),command:new q};else if(ie.ambiguousCharacterCount>=ue)he={message:l.localize(1388,\"This document contains many ambiguous unicode characters\"),command:new W};else if(ie.invisibleCharacterCount>=ue)he={message:l.localize(1389,\"This document contains many invisible unicode characters\"),command:new V};else throw new Error(\"Unreachable\");this._bannerController.show({id:\"unicodeHighlightBanner\",message:he.message,icon:e.warningIcon,actions:[{label:he.command.shortLabel,href:`command:${he.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(J.createInstance(c.BannerController,G)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=G.getOption(126),this._register(R.onDidChangeTrust(ie=>{this._updateHighlighter()})),this._register(G.onDidChangeConfiguration(ie=>{ie.hasChanged(126)&&(this._options=G.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const G=w(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([G.nonBasicASCII,G.ambiguousCharacters,G.invisibleCharacters].every(R=>R===!1))return;const K={nonBasicASCII:G.nonBasicASCII,ambiguousCharacters:G.ambiguousCharacters,invisibleCharacters:G.invisibleCharacters,includeComments:G.includeComments,includeStrings:G.includeStrings,allowedCodePoints:Object.keys(G.allowedCharacters).map(R=>R.codePointAt(0)),allowedLocales:Object.keys(G.allowedLocales).map(R=>R===\"_os\"?new Intl.NumberFormat().resolvedOptions().locale:R===\"_vscode\"?y.language:R)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new S(this._editor,K,this._updateState,this._editorWorkerService):this._highlighter=new L(this._editor,K,this._updateState)}getDecorationInfo(G){return this._highlighter?this._highlighter.getDecorationInfo(G):null}};e.UnicodeHighlighter=v,e.UnicodeHighlighter=v=ke([ce(1,o.IEditorWorkerService),ce(2,h.IWorkspaceTrustManagementService),ce(3,r.IInstantiationService)],v);function w(Y,G){return{nonBasicASCII:G.nonBasicASCII===b.inUntrustedWorkspace?!Y:G.nonBasicASCII,ambiguousCharacters:G.ambiguousCharacters,invisibleCharacters:G.invisibleCharacters,includeComments:G.includeComments===b.inUntrustedWorkspace?!Y:G.includeComments,includeStrings:G.includeStrings===b.inUntrustedWorkspace?!Y:G.includeStrings,allowedCharacters:G.allowedCharacters,allowedLocales:G.allowedLocales}}let S=class extends E.Disposable{constructor(G,K,R,J){super(),this._editor=G,this._options=K,this._updateState=R,this._editorWorkerService=J,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new d.RunOnceScheduler(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const G=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(K=>{if(this._model.isDisposed()||this._model.getVersionId()!==G)return;this._updateState(K);const R=[];if(!K.hasMore)for(const J of K.ranges)R.push({range:J,options:O.instance.getDecorationFromOptions(this._options)});this._decorations.set(R)})}getDecorationInfo(G){if(!this._decorations.has(G))return null;const K=this._editor.getModel();if(!(0,i.isModelDecorationVisible)(K,G))return null;const R=K.getValueInRange(G.range);return{reason:N(R,this._options),inComment:(0,i.isModelDecorationInComment)(K,G),inString:(0,i.isModelDecorationInString)(K,G)}}};S=ke([ce(3,o.IEditorWorkerService)],S);class L extends E.Disposable{constructor(G,K,R){super(),this._editor=G,this._options=K,this._updateState=R,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new d.RunOnceScheduler(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const G=this._editor.getVisibleRanges(),K=[],R={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const J of G){const ie=n.UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model,this._options,J);for(const ue of ie.ranges)R.ranges.push(ue);R.ambiguousCharacterCount+=R.ambiguousCharacterCount,R.invisibleCharacterCount+=R.invisibleCharacterCount,R.nonBasicAsciiCharacterCount+=R.nonBasicAsciiCharacterCount,R.hasMore=R.hasMore||ie.hasMore}if(!R.hasMore)for(const J of R.ranges)K.push({range:J,options:O.instance.getDecorationFromOptions(this._options)});this._updateState(R),this._decorations.set(K)}getDecorationInfo(G){if(!this._decorations.has(G))return null;const K=this._editor.getModel(),R=K.getValueInRange(G.range);return(0,i.isModelDecorationVisible)(K,G)?{reason:N(R,this._options),inComment:(0,i.isModelDecorationInComment)(K,G),inString:(0,i.isModelDecorationInString)(K,G)}:null}}const D=l.localize(1390,\"Configure Unicode Highlight Options\");let T=class{constructor(G,K,R){this._editor=G,this._languageService=K,this._openerService=R,this.hoverOrdinal=5}computeSync(G,K){if(!this._editor.hasModel()||G.type!==1)return[];const R=this._editor.getModel(),J=this._editor.getContribution(v.ID);if(!J)return[];const ie=[],ue=new Set;let he=300;for(const pe of K){const ae=J.getDecorationInfo(pe);if(!ae)continue;const de=R.getValueInRange(pe.range).codePointAt(0),ge=A(de);let X;switch(ae.reason.kind){case 0:{(0,m.isBasicASCII)(ae.reason.confusableWith)?X=l.localize(1391,\"The character {0} could be confused with the ASCII character {1}, which is more common in source code.\",ge,A(ae.reason.confusableWith.codePointAt(0))):X=l.localize(1392,\"The character {0} could be confused with the character {1}, which is more common in source code.\",ge,A(ae.reason.confusableWith.codePointAt(0)));break}case 1:X=l.localize(1393,\"The character {0} is invisible.\",ge);break;case 2:X=l.localize(1394,\"The character {0} is not a basic ASCII character.\",ge);break}if(ue.has(X))continue;ue.add(X);const B={codePoint:de,reason:ae.reason,inComment:ae.inComment,inString:ae.inString},$=l.localize(1395,\"Adjust settings\"),Q=`command:${H.ID}?${encodeURIComponent(JSON.stringify(B))}`,Z=new I.MarkdownString(\"\",!0).appendMarkdown(X).appendText(\" \").appendLink(Q,$,D);ie.push(new g.MarkdownHover(this,pe.range,[Z],!1,he++))}return ie}renderHoverParts(G,K){return(0,g.renderMarkdownHovers)(G,K,this._editor,this._languageService,this._openerService)}};e.UnicodeHighlighterHoverParticipant=T,e.UnicodeHighlighterHoverParticipant=T=ke([ce(1,t.ILanguageService),ce(2,u.IOpenerService)],T);function M(Y){return`U+${Y.toString(16).padStart(4,\"0\")}`}function A(Y){let G=`\\`${M(Y)}\\``;return m.InvisibleCharacters.isInvisibleCharacter(Y)||(G+=` \"${`${P(Y)}`}\"`),G}function P(Y){return Y===96?\"`` ` ``\":\"`\"+String.fromCodePoint(Y)+\"`\"}function N(Y,G){return n.UnicodeTextModelHighlighter.computeUnicodeHighlightReason(Y,G)}class O{constructor(){this.map=new Map}static{this.instance=new O}getDecorationFromOptions(G){return this.getDecoration(!G.includeComments,!G.includeStrings)}getDecoration(G,K){const R=`${G}${K}`;let J=this.map.get(R);return J||(J=p.ModelDecorationOptions.createDynamic({description:\"unicode-highlight\",stickiness:1,className:\"unicode-highlight\",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:G,hideInStringTokens:K}),this.map.set(R,J)),J}}class F extends _.EditorAction{constructor(){super({id:W.ID,label:l.localize(1397,\"Disable highlighting of characters in comments\"),alias:\"Disable highlighting of characters in comments\",precondition:void 0}),this.shortLabel=l.localize(1396,\"Disable Highlight In Comments\")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.includeComments,!1,2)}}e.DisableHighlightingInCommentsAction=F;class x extends _.EditorAction{constructor(){super({id:W.ID,label:l.localize(1399,\"Disable highlighting of characters in strings\"),alias:\"Disable highlighting of characters in strings\",precondition:void 0}),this.shortLabel=l.localize(1398,\"Disable Highlight In Strings\")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.includeStrings,!1,2)}}e.DisableHighlightingInStringsAction=x;class W extends _.EditorAction{static{this.ID=\"editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters\"}constructor(){super({id:W.ID,label:l.localize(1401,\"Disable highlighting of ambiguous characters\"),alias:\"Disable highlighting of ambiguous characters\",precondition:void 0}),this.shortLabel=l.localize(1400,\"Disable Ambiguous Highlight\")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.ambiguousCharacters,!1,2)}}e.DisableHighlightingOfAmbiguousCharactersAction=W;class V extends _.EditorAction{static{this.ID=\"editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters\"}constructor(){super({id:V.ID,label:l.localize(1403,\"Disable highlighting of invisible characters\"),alias:\"Disable highlighting of invisible characters\",precondition:void 0}),this.shortLabel=l.localize(1402,\"Disable Invisible Highlight\")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.invisibleCharacters,!1,2)}}e.DisableHighlightingOfInvisibleCharactersAction=V;class q extends _.EditorAction{static{this.ID=\"editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters\"}constructor(){super({id:q.ID,label:l.localize(1405,\"Disable highlighting of non basic ASCII characters\"),alias:\"Disable highlighting of non basic ASCII characters\",precondition:void 0}),this.shortLabel=l.localize(1404,\"Disable Non ASCII Highlight\")}async run(G,K,R){const J=G?.get(a.IConfigurationService);J&&this.runAction(J)}async runAction(G){await G.updateValue(b.unicodeHighlightConfigKeys.nonBasicASCII,!1,2)}}e.DisableHighlightingOfNonBasicAsciiCharactersAction=q;class H extends _.EditorAction{static{this.ID=\"editor.action.unicodeHighlight.showExcludeOptions\"}constructor(){super({id:H.ID,label:l.localize(1406,\"Show Exclude Options\"),alias:\"Show Exclude Options\",precondition:void 0})}async run(G,K,R){const{codePoint:J,reason:ie,inString:ue,inComment:he}=R,pe=String.fromCodePoint(J),ae=G.get(C.IQuickInputService),ee=G.get(a.IConfigurationService);function de(B){return m.InvisibleCharacters.isInvisibleCharacter(B)?l.localize(1407,\"Exclude {0} (invisible character) from being highlighted\",M(B)):l.localize(1408,\"Exclude {0} from being highlighted\",`${M(B)} \"${pe}\"`)}const ge=[];if(ie.kind===0)for(const B of ie.notAmbiguousInLocales)ge.push({label:l.localize(1409,'Allow unicode characters that are more common in the language \"{0}\".',B),run:async()=>{U(ee,[B])}});if(ge.push({label:de(J),run:()=>z(ee,[J])}),he){const B=new F;ge.push({label:B.label,run:async()=>B.runAction(ee)})}else if(ue){const B=new x;ge.push({label:B.label,run:async()=>B.runAction(ee)})}if(ie.kind===0){const B=new W;ge.push({label:B.label,run:async()=>B.runAction(ee)})}else if(ie.kind===1){const B=new V;ge.push({label:B.label,run:async()=>B.runAction(ee)})}else if(ie.kind===2){const B=new q;ge.push({label:B.label,run:async()=>B.runAction(ee)})}else j(ie);const X=await ae.pick(ge,{title:D});X&&await X.run()}}e.ShowExcludeOptions=H;async function z(Y,G){const K=Y.getValue(b.unicodeHighlightConfigKeys.allowedCharacters);let R;typeof K==\"object\"&&K?R=K:R={};for(const J of G)R[String.fromCodePoint(J)]=!0;await Y.updateValue(b.unicodeHighlightConfigKeys.allowedCharacters,R,2)}async function U(Y,G){const K=Y.inspect(b.unicodeHighlightConfigKeys.allowedLocales).user?.value;let R;typeof K==\"object\"&&K?R=Object.assign({},K):R={};for(const J of G)R[J]=!0;await Y.updateValue(b.unicodeHighlightConfigKeys.allowedLocales,R,2)}function j(Y){throw new Error(`Unexpected value: ${Y}`)}(0,_.registerEditorAction)(W),(0,_.registerEditorAction)(V),(0,_.registerEditorAction)(q),(0,_.registerEditorAction)(H),(0,_.registerEditorContribution)(v.ID,v,1),s.HoverParticipantRegistry.register(T)}),define(ne[870],se([1,0,214,219,812,727,815,728,729,856,817,819,848,821,730,434,731,822,857,858,423,289,734,735,695,864,290,291,429,427,850,737,851,827,738,739,833,834,740,840,831,867,765,786,790,835,791,792,742,221,853,294,868,743,718,869,744,841,411,745,741,694,107,195]),function(oe,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0})}),define(ne[222],se([1,0,11,5,47,6,140,2,16,111,22,152,274,75,9,4,51,78,211,24,28,403,12,180,7,691,31,392,121,393,692,181,50,96,63,186,119,107,48,34,62,440,58,395,711,801,49,701,100,401,43,784,266,808,805,419,153,693,61,29,406,696,117,687,265,688,154,216,108,699,59,66,101,717,137,17,36,697,130,8,271,52,45,384,624,418,394,855,79,785,677,772]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P,N,O,F,x,W,V,q,H,z,U,j,Y,G,K,R,J,ie,ue,he,pe,ae,ee,de,ge,X,B,$,Q,Z,te,re,le,me,Ce,ye,Le,Ee,Me,Ae,Ne,Ke,ze,Ge,it,Oe,Fe,fe,_e,xe,be,ve){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneServices=e.standaloneEditorWorkerDescriptor=e.StandaloneConfigurationService=e.StandaloneKeybindingService=e.StandaloneCommandService=e.StandaloneNotificationService=void 0,e.updateConfigurationService=Re;class we{constructor(Ve){this.disposed=!1,this.model=Ve,this._onWillDispose=new E.Emitter}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let Te=class{constructor(Ve){this.modelService=Ve}createModelReference(Ve){const Ye=this.modelService.getModel(Ve);return Ye?Promise.resolve(new m.ImmortalReference(new we(Ye))):Promise.reject(new Error(\"Model not found\"))}};Te=ke([ce(0,g.IModelService)],Te);class Pe{static{this.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}}}show(){return Pe.NULL_PROGRESS_RUNNER}async showWhile(Ve,Ye){await Ve}}class Be{withProgress(Ve,Ye,Ze){return Ye({report:()=>{}})}}class He{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class $e{async confirm(Ve){return{confirmed:this.doConfirm(Ve.message,Ve.detail),checkboxChecked:!1}}doConfirm(Ve,Ye){let Ze=Ve;return Ye&&(Ze=Ze+`\n\n`+Ye),_e.mainWindow.confirm(Ze)}async prompt(Ve){let Ye;if(this.doConfirm(Ve.message,Ve.detail)){const nt=[...Ve.buttons??[]];Ve.cancelButton&&typeof Ve.cancelButton!=\"string\"&&typeof Ve.cancelButton!=\"boolean\"&&nt.push(Ve.cancelButton),Ye=await nt[0]?.run({checkboxChecked:!1})}return{result:Ye}}async error(Ve,Ye){await this.prompt({type:b.default.Error,message:Ve,detail:Ye})}}class je{static{this.NO_OP=new A.NoOpNotification}info(Ve){return this.notify({severity:b.default.Info,message:Ve})}warn(Ve){return this.notify({severity:b.default.Warning,message:Ve})}error(Ve){return this.notify({severity:b.default.Error,message:Ve})}notify(Ve){switch(Ve.severity){case b.default.Error:console.error(Ve.message);break;case b.default.Warning:console.warn(Ve.message);break;default:console.log(Ve.message);break}return je.NO_OP}prompt(Ve,Ye,Ze,nt){return je.NO_OP}status(Ve,Ye){return m.Disposable.None}}e.StandaloneNotificationService=je;let Xe=class{constructor(Ve){this._onWillExecuteCommand=new E.Emitter,this._onDidExecuteCommand=new E.Emitter,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=Ve}executeCommand(Ve,...Ye){const Ze=a.CommandsRegistry.getCommand(Ve);if(!Ze)return Promise.reject(new Error(`command '${Ve}' not found`));try{this._onWillExecuteCommand.fire({commandId:Ve,args:Ye});const nt=this._instantiationService.invokeFunction.apply(this._instantiationService,[Ze.handler,...Ye]);return this._onDidExecuteCommand.fire({commandId:Ve,args:Ye}),Promise.resolve(nt)}catch(nt){return Promise.reject(nt)}}};e.StandaloneCommandService=Xe,e.StandaloneCommandService=Xe=ke([ce(0,h.IInstantiationService)],Xe);let et=class extends v.AbstractKeybindingService{constructor(Ve,Ye,Ze,nt,ct,ht){super(Ve,Ye,Ze,nt,ct),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const ft=wt=>{const kt=new m.DisposableStore;kt.add(k.addDisposableListener(wt,k.EventType.KEY_DOWN,Mt=>{const Tt=new I.StandardKeyboardEvent(Mt);this._dispatch(Tt,Tt.target)&&(Tt.preventDefault(),Tt.stopPropagation())})),kt.add(k.addDisposableListener(wt,k.EventType.KEY_UP,Mt=>{const Tt=new I.StandardKeyboardEvent(Mt);this._singleModifierDispatch(Tt,Tt.target)&&Tt.preventDefault()})),this._domNodeListeners.push(new dt(wt,kt))},gt=wt=>{for(let kt=0;kt<this._domNodeListeners.length;kt++){const Mt=this._domNodeListeners[kt];Mt.domNode===wt&&(this._domNodeListeners.splice(kt,1),Mt.dispose())}},mt=wt=>{wt.getOption(61)||ft(wt.getContainerDomNode())},vt=wt=>{wt.getOption(61)||gt(wt.getContainerDomNode())};this._register(ht.onCodeEditorAdd(mt)),this._register(ht.onCodeEditorRemove(vt)),ht.listCodeEditors().forEach(mt);const Dt=wt=>{ft(wt.getContainerDomNode())},ui=wt=>{gt(wt.getContainerDomNode())};this._register(ht.onDiffEditorAdd(Dt)),this._register(ht.onDiffEditorRemove(ui)),ht.listDiffEditors().forEach(Dt)}addDynamicKeybinding(Ve,Ye,Ze,nt){return(0,m.combinedDisposable)(a.CommandsRegistry.registerCommand(Ve,Ze),this.addDynamicKeybindings([{keybinding:Ye,command:Ve,when:nt}]))}addDynamicKeybindings(Ve){const Ye=Ve.map(Ze=>({keybinding:(0,y.decodeKeybinding)(Ze.keybinding,_.OS),command:Ze.command??null,commandArgs:Ze.commandArgs,when:Ze.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(Ye),this.updateResolver(),(0,m.toDisposable)(()=>{for(let Ze=0;Ze<this._dynamicKeybindings.length;Ze++)if(this._dynamicKeybindings[Ze]===Ye[0]){this._dynamicKeybindings.splice(Ze,Ye.length),this.updateResolver();return}})}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){const Ve=this._toNormalizedKeybindingItems(L.KeybindingsRegistry.getDefaultKeybindings(),!0),Ye=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new S.KeybindingResolver(Ve,Ye,Ze=>this._log(Ze))}return this._cachedResolver}_documentHasFocus(){return _e.mainWindow.document.hasFocus()}_toNormalizedKeybindingItems(Ve,Ye){const Ze=[];let nt=0;for(const ct of Ve){const ht=ct.when||void 0,ft=ct.keybinding;if(!ft)Ze[nt++]=new D.ResolvedKeybindingItem(void 0,ct.command,ct.commandArgs,ht,Ye,null,!1);else{const gt=T.USLayoutResolvedKeybinding.resolveKeybinding(ft,_.OS);for(const mt of gt)Ze[nt++]=new D.ResolvedKeybindingItem(mt,ct.command,ct.commandArgs,ht,Ye,null,!1)}}return Ze}resolveKeyboardEvent(Ve){const Ye=new y.KeyCodeChord(Ve.ctrlKey,Ve.shiftKey,Ve.altKey,Ve.metaKey,Ve.keyCode);return new T.USLayoutResolvedKeybinding([Ye],_.OS)}};e.StandaloneKeybindingService=et,e.StandaloneKeybindingService=et=ke([ce(0,C.IContextKeyService),ce(1,a.ICommandService),ce(2,N.ITelemetryService),ce(3,A.INotificationService),ce(4,q.ILogService),ce(5,V.ICodeEditorService)],et);class dt extends m.Disposable{constructor(Ve,Ye){super(),this.domNode=Ve,this._register(Ye)}}function at(ot){return ot&&typeof ot==\"object\"&&(!ot.overrideIdentifier||typeof ot.overrideIdentifier==\"string\")&&(!ot.resource||ot.resource instanceof p.URI)}let st=class{constructor(Ve){this.logService=Ve,this._onDidChangeConfiguration=new E.Emitter,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const Ye=new Ne.DefaultConfiguration(Ve);this._configuration=new u.Configuration(Ye.reload(),u.ConfigurationModel.createEmptyModel(Ve),u.ConfigurationModel.createEmptyModel(Ve),u.ConfigurationModel.createEmptyModel(Ve),u.ConfigurationModel.createEmptyModel(Ve),u.ConfigurationModel.createEmptyModel(Ve),new xe.ResourceMap,u.ConfigurationModel.createEmptyModel(Ve),new xe.ResourceMap,Ve),Ye.dispose()}getValue(Ve,Ye){const Ze=typeof Ve==\"string\"?Ve:void 0,nt=at(Ve)?Ve:at(Ye)?Ye:{};return this._configuration.getValue(Ze,nt,void 0)}updateValues(Ve){const Ye={data:this._configuration.toData()},Ze=[];for(const nt of Ve){const[ct,ht]=nt;this.getValue(ct)!==ht&&(this._configuration.updateValue(ct,ht),Ze.push(ct))}if(Ze.length>0){const nt=new u.ConfigurationChangeEvent({keys:Ze,overrides:[]},Ye,this._configuration,void 0,this.logService);nt.source=8,this._onDidChangeConfiguration.fire(nt)}return Promise.resolve()}updateValue(Ve,Ye,Ze,nt){return this.updateValues([[Ve,Ye]])}inspect(Ve,Ye={}){return this._configuration.inspect(Ve,Ye,void 0)}};e.StandaloneConfigurationService=st,e.StandaloneConfigurationService=st=ke([ce(0,q.ILogService)],st);let pt=class{constructor(Ve,Ye,Ze){this.configurationService=Ve,this.modelService=Ye,this.languageService=Ze,this._onDidChangeConfiguration=new E.Emitter,this.configurationService.onDidChangeConfiguration(nt=>{this._onDidChangeConfiguration.fire({affectedKeys:nt.affectedKeys,affectsConfiguration:(ct,ht)=>nt.affectsConfiguration(ht)})})}getValue(Ve,Ye,Ze){const nt=i.Position.isIPosition(Ye)?Ye:null,ct=nt?typeof Ze==\"string\"?Ze:void 0:typeof Ye==\"string\"?Ye:void 0,ht=Ve?this.getLanguage(Ve,nt):void 0;return typeof ct>\"u\"?this.configurationService.getValue({resource:Ve,overrideIdentifier:ht}):this.configurationService.getValue(ct,{resource:Ve,overrideIdentifier:ht})}getLanguage(Ve,Ye){const Ze=this.modelService.getModel(Ve);return Ze?Ye?Ze.getLanguageIdAtPosition(Ye.lineNumber,Ye.column):Ze.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(Ve)}};pt=ke([ce(0,r.IConfigurationService),ce(1,g.IModelService),ce(2,ie.ILanguageService)],pt);let bt=class{constructor(Ve){this.configurationService=Ve}getEOL(Ve,Ye){const Ze=this.configurationService.getValue(\"files.eol\",{overrideIdentifier:Ye,resource:Ve});return Ze&&typeof Ze==\"string\"&&Ze!==\"auto\"?Ze:_.isLinux||_.isMacintosh?`\n`:`\\r\n`}};bt=ke([ce(0,r.IConfigurationService)],bt);class De{publicLog2(){}}class Ie{static{this.SCHEME=\"inmemory\"}constructor(){const Ve=p.URI.from({scheme:Ie.SCHEME,authority:\"model\",path:\"/\"});this.workspace={id:O.STANDALONE_EDITOR_WORKSPACE_ID,folders:[new O.WorkspaceFolder({uri:Ve,name:\"\",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(Ve){return Ve&&Ve.scheme===Ie.SCHEME?this.workspace.folders[0]:null}}function Re(ot,Ve,Ye){if(!Ve||!(ot instanceof st))return;const Ze=[];Object.keys(Ve).forEach(nt=>{(0,o.isEditorConfigurationKey)(nt)&&Ze.push([`editor.${nt}`,Ve[nt]]),Ye&&(0,o.isDiffEditorConfigurationKey)(nt)&&Ze.push([`diffEditor.${nt}`,Ve[nt]])}),Ze.length>0&&ot.updateValues(Ze)}let Se=class{constructor(Ve){this._modelService=Ve}hasPreviewHandler(){return!1}async apply(Ve,Ye){const Ze=Array.isArray(Ve)?Ve:n.ResourceEdit.convert(Ve),nt=new Map;for(const ft of Ze){if(!(ft instanceof n.ResourceTextEdit))throw new Error(\"bad edit - only text edits are supported\");const gt=this._modelService.getModel(ft.resource);if(!gt)throw new Error(\"bad edit - model not found\");if(typeof ft.versionId==\"number\"&&gt.getVersionId()!==ft.versionId)throw new Error(\"bad state - model changed in the meantime\");let mt=nt.get(gt);mt||(mt=[],nt.set(gt,mt)),mt.push(t.EditOperation.replaceMove(s.Range.lift(ft.textEdit.range),ft.textEdit.text))}let ct=0,ht=0;for(const[ft,gt]of nt)ft.pushStackElement(),ft.pushEditOperations([],gt,()=>[]),ft.pushStackElement(),ht+=1,ct+=gt.length;return{ariaSummary:d.format(x.StandaloneServicesNLS.bulkEditServiceSummary,ct,ht),isApplied:ct>0}}};Se=ke([ce(0,g.IModelService)],Se);class We{getUriLabel(Ve,Ye){return Ve.scheme===\"file\"?Ve.fsPath:Ve.path}getUriBasenameLabel(Ve){return(0,W.basename)(Ve)}}let qe=class extends U.ContextViewService{constructor(Ve,Ye){super(Ve),this._codeEditorService=Ye}showContextView(Ve,Ye,Ze){if(!Ye){const nt=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();nt&&(Ye=nt.getContainerDomNode())}return super.showContextView(Ve,Ye,Ze)}};qe=ke([ce(0,F.ILayoutService),ce(1,V.ICodeEditorService)],qe);class Ue{constructor(){this._neverEmitter=new E.Emitter,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class Je extends j.LanguageService{constructor(){super()}}class tt extends it.LogService{constructor(){super(new q.ConsoleLogger)}}let Qe=class extends Y.ContextMenuService{constructor(Ve,Ye,Ze,nt,ct,ht){super(Ve,Ye,Ze,nt,ct,ht),this.configure({blockMouse:!1})}};Qe=ke([ce(0,N.ITelemetryService),ce(1,A.INotificationService),ce(2,z.IContextViewService),ce(3,w.IKeybindingService),ce(4,B.IMenuService),ce(5,C.IContextKeyService)],Qe),e.standaloneEditorWorkerDescriptor={amdModuleId:\"vs/editor/common/services/editorSimpleWorker\",esmModuleLocation:void 0,label:\"editorWorkerService\"};let rt=class extends J.EditorWorkerService{constructor(Ve,Ye,Ze,nt,ct){super(e.standaloneEditorWorkerDescriptor,Ve,Ye,Ze,nt,ct)}};rt=ke([ce(0,g.IModelService),ce(1,l.ITextResourceConfigurationService),ce(2,q.ILogService),ce(3,Ge.ILanguageConfigurationService),ce(4,ze.ILanguageFeaturesService)],rt);class Ct{async playSignal(Ve,Ye){}}(0,G.registerSingleton)(q.ILogService,tt,0),(0,G.registerSingleton)(r.IConfigurationService,st,0),(0,G.registerSingleton)(l.ITextResourceConfigurationService,pt,0),(0,G.registerSingleton)(l.ITextResourcePropertiesService,bt,0),(0,G.registerSingleton)(O.IWorkspaceContextService,Ie,0),(0,G.registerSingleton)(M.ILabelService,We,0),(0,G.registerSingleton)(N.ITelemetryService,De,0),(0,G.registerSingleton)(f.IDialogService,$e,0),(0,G.registerSingleton)(fe.IEnvironmentService,He,0),(0,G.registerSingleton)(A.INotificationService,je,0),(0,G.registerSingleton)(ye.IMarkerService,Le.MarkerService,0),(0,G.registerSingleton)(ie.ILanguageService,Je,0),(0,G.registerSingleton)(de.IStandaloneThemeService,ee.StandaloneThemeService,0),(0,G.registerSingleton)(g.IModelService,pe.ModelService,0),(0,G.registerSingleton)(he.IMarkerDecorationsService,ue.MarkerDecorationsService,0),(0,G.registerSingleton)(C.IContextKeyService,te.ContextKeyService,0),(0,G.registerSingleton)(P.IProgressService,Be,0),(0,G.registerSingleton)(P.IEditorProgressService,Pe,0),(0,G.registerSingleton)(Ae.IStorageService,Ae.InMemoryStorageService,0),(0,G.registerSingleton)(R.IEditorWorkerService,rt,0),(0,G.registerSingleton)(n.IBulkEditService,Se,0),(0,G.registerSingleton)(H.IWorkspaceTrustManagementService,Ue,0),(0,G.registerSingleton)(c.ITextModelService,Te,0),(0,G.registerSingleton)(X.IAccessibilityService,ge.AccessibilityService,0),(0,G.registerSingleton)(Ce.IListService,Ce.ListService,0),(0,G.registerSingleton)(a.ICommandService,Xe,0),(0,G.registerSingleton)(w.IKeybindingService,et,0),(0,G.registerSingleton)(Me.IQuickInputService,ae.StandaloneQuickInputService,0),(0,G.registerSingleton)(z.IContextViewService,qe,0),(0,G.registerSingleton)(Ee.IOpenerService,K.OpenerService,0),(0,G.registerSingleton)(Z.IClipboardService,Q.BrowserClipboardService,0),(0,G.registerSingleton)(z.IContextMenuService,Qe,0),(0,G.registerSingleton)(B.IMenuService,$.MenuService,0),(0,G.registerSingleton)(Ke.IAccessibilitySignalService,Ct,0),(0,G.registerSingleton)(be.ITreeSitterParserService,ve.StandaloneTreeSitterParserService,0);var ut;(function(ot){const Ve=new me.ServiceCollection;for(const[gt,mt]of(0,G.getSingletonServiceDescriptors)())Ve.set(gt,mt);const Ye=new le.InstantiationService(Ve,!0);Ve.set(h.IInstantiationService,Ye);function Ze(gt){nt||ht({});const mt=Ve.get(gt);if(!mt)throw new Error(\"Missing service \"+gt);return mt instanceof re.SyncDescriptor?Ye.invokeFunction(vt=>vt.get(gt)):mt}ot.get=Ze;let nt=!1;const ct=new E.Emitter;function ht(gt){if(nt)return Ye;nt=!0;for(const[vt,Dt]of(0,G.getSingletonServiceDescriptors)())Ve.get(vt)||Ve.set(vt,Dt);for(const vt in gt)if(gt.hasOwnProperty(vt)){const Dt=(0,h.createDecorator)(vt);Ve.get(Dt)instanceof re.SyncDescriptor&&Ve.set(Dt,gt[vt])}const mt=(0,Oe.getEditorFeatures)();for(const vt of mt)try{Ye.createInstance(vt)}catch(Dt){(0,Fe.onUnexpectedError)(Dt)}return ct.fire(),Ye}ot.initialize=ht;function ft(gt){if(nt)return gt();const mt=new m.DisposableStore,vt=mt.add(ct.event(()=>{vt.dispose(),mt.add(gt())}));return mt}ot.withServices=ft})(ut||(e.StandaloneServices=ut={}))}),define(ne[871],se([1,0,46,2,34,219,318,222,153,29,24,28,12,58,7,31,50,25,61,107,117,96,51,43,418,70,36,17,286,137,52,44,118,81]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M,A,P){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.StandaloneDiffEditor2=e.StandaloneEditor=e.StandaloneCodeEditor=void 0,e.createTextModel=q;let N=0,O=!1;function F(z){if(!z){if(O)return;O=!0}d.setARIAContainer(z||T.mainWindow.document.body)}let x=class extends E.CodeEditorWidget{constructor(U,j,Y,G,K,R,J,ie,ue,he,pe,ae,ee){const de={...j};de.ariaLabel=de.ariaLabel||a.StandaloneCodeEditorNLS.editorViewAccessibleLabel,super(U,de,{},Y,G,K,R,ue,he,pe,ae,ee),ie instanceof m.StandaloneKeybindingService?this._standaloneKeybindingService=ie:this._standaloneKeybindingService=null,F(de.ariaContainerElement),(0,M.setHoverDelegateFactory)((ge,X)=>Y.createInstance(A.WorkbenchHoverDelegate,ge,X,{})),(0,P.setBaseLayerHoverDelegate)(J)}addCommand(U,j,Y){if(!this._standaloneKeybindingService)return console.warn(\"Cannot add command because the editor is configured with an unrecognized KeybindingService\"),null;const G=\"DYNAMIC_\"+ ++N,K=o.ContextKeyExpr.deserialize(Y);return this._standaloneKeybindingService.addDynamicKeybinding(G,U,j,K),G}createContextKey(U,j){return this._contextKeyService.createKey(U,j)}addAction(U){if(typeof U.id!=\"string\"||typeof U.label!=\"string\"||typeof U.run!=\"function\")throw new Error(\"Invalid action descriptor, `id`, `label` and `run` are required properties!\");if(!this._standaloneKeybindingService)return console.warn(\"Cannot add keybinding because the editor is configured with an unrecognized KeybindingService\"),k.Disposable.None;const j=U.id,Y=U.label,G=o.ContextKeyExpr.and(o.ContextKeyExpr.equals(\"editorId\",this.getId()),o.ContextKeyExpr.deserialize(U.precondition)),K=U.keybindings,R=o.ContextKeyExpr.and(G,o.ContextKeyExpr.deserialize(U.keybindingContext)),J=U.contextMenuGroupId||null,ie=U.contextMenuOrder||0,ue=(ee,...de)=>Promise.resolve(U.run(this,...de)),he=new k.DisposableStore,pe=this.getId()+\":\"+j;if(he.add(p.CommandsRegistry.registerCommand(pe,ue)),J){const ee={command:{id:pe,title:Y},when:G,group:J,order:ie};he.add(b.MenuRegistry.appendMenuItem(b.MenuId.EditorContext,ee))}if(Array.isArray(K))for(const ee of K)he.add(this._standaloneKeybindingService.addDynamicKeybinding(pe,ee,ue,R));const ae=new y.InternalEditorAction(pe,Y,Y,void 0,G,(...ee)=>Promise.resolve(U.run(this,...ee)),this._contextKeyService);return this._actions.set(j,ae),he.add((0,k.toDisposable)(()=>{this._actions.delete(j)})),he}_triggerCommand(U,j){if(this._codeEditorService instanceof h.StandaloneCodeEditorService)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(U,j)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(U,j)}};e.StandaloneCodeEditor=x,e.StandaloneCodeEditor=x=ke([ce(2,i.IInstantiationService),ce(3,I.ICodeEditorService),ce(4,p.ICommandService),ce(5,o.IContextKeyService),ce(6,A.IHoverService),ce(7,s.IKeybindingService),ce(8,c.IThemeService),ce(9,g.INotificationService),ce(10,l.IAccessibilityService),ce(11,w.ILanguageConfigurationService),ce(12,S.ILanguageFeaturesService)],x);let W=class extends x{constructor(U,j,Y,G,K,R,J,ie,ue,he,pe,ae,ee,de,ge,X){const B={...j};(0,m.updateConfigurationService)(pe,B,!1);const $=ue.registerEditorContainer(U);typeof B.theme==\"string\"&&ue.setTheme(B.theme),typeof B.autoDetectHighContrast<\"u\"&&ue.setAutoDetectHighContrast(!!B.autoDetectHighContrast);const Q=B.model;delete B.model,super(U,B,Y,G,K,R,J,ie,ue,he,ae,ge,X),this._configurationService=pe,this._standaloneThemeService=ue,this._register($);let Z;if(typeof Q>\"u\"){const te=de.getLanguageIdByMimeType(B.language)||B.language||v.PLAINTEXT_LANGUAGE_ID;Z=q(ee,de,B.value||\"\",te,void 0),this._ownsModel=!0}else Z=Q,this._ownsModel=!1;if(this._attachModel(Z),Z){const te={oldModelUrl:null,newModelUrl:Z.uri};this._onDidChangeModel.fire(te)}}dispose(){super.dispose()}updateOptions(U){(0,m.updateConfigurationService)(this._configurationService,U,!1),typeof U.theme==\"string\"&&this._standaloneThemeService.setTheme(U.theme),typeof U.autoDetectHighContrast<\"u\"&&this._standaloneThemeService.setAutoDetectHighContrast(!!U.autoDetectHighContrast),super.updateOptions(U)}_postDetachModelCleanup(U){super._postDetachModelCleanup(U),U&&this._ownsModel&&(U.dispose(),this._ownsModel=!1)}};e.StandaloneEditor=W,e.StandaloneEditor=W=ke([ce(2,i.IInstantiationService),ce(3,I.ICodeEditorService),ce(4,p.ICommandService),ce(5,o.IContextKeyService),ce(6,A.IHoverService),ce(7,s.IKeybindingService),ce(8,_.IStandaloneThemeService),ce(9,g.INotificationService),ce(10,n.IConfigurationService),ce(11,l.IAccessibilityService),ce(12,C.IModelService),ce(13,f.ILanguageService),ce(14,w.ILanguageConfigurationService),ce(15,S.ILanguageFeaturesService)],W);let V=class extends L.DiffEditorWidget{constructor(U,j,Y,G,K,R,J,ie,ue,he,pe,ae){const ee={...j};(0,m.updateConfigurationService)(ie,ee,!0);const de=R.registerEditorContainer(U);typeof ee.theme==\"string\"&&R.setTheme(ee.theme),typeof ee.autoDetectHighContrast<\"u\"&&R.setAutoDetectHighContrast(!!ee.autoDetectHighContrast),super(U,ee,{},G,Y,K,ae,he),this._configurationService=ie,this._standaloneThemeService=R,this._register(de)}dispose(){super.dispose()}updateOptions(U){(0,m.updateConfigurationService)(this._configurationService,U,!0),typeof U.theme==\"string\"&&this._standaloneThemeService.setTheme(U.theme),typeof U.autoDetectHighContrast<\"u\"&&this._standaloneThemeService.setAutoDetectHighContrast(!!U.autoDetectHighContrast),super.updateOptions(U)}_createInnerEditor(U,j,Y){return U.createInstance(x,j,Y)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(U,j,Y){return this.getModifiedEditor().addCommand(U,j,Y)}createContextKey(U,j){return this.getModifiedEditor().createContextKey(U,j)}addAction(U){return this.getModifiedEditor().addAction(U)}};e.StandaloneDiffEditor2=V,e.StandaloneDiffEditor2=V=ke([ce(2,i.IInstantiationService),ce(3,o.IContextKeyService),ce(4,I.ICodeEditorService),ce(5,_.IStandaloneThemeService),ce(6,g.INotificationService),ce(7,n.IConfigurationService),ce(8,t.IContextMenuService),ce(9,u.IEditorProgressService),ce(10,r.IClipboardService),ce(11,D.IAccessibilitySignalService)],V);function q(z,U,j,Y,G){if(j=j||\"\",!Y){const K=j.indexOf(`\n`);let R=j;return K!==-1&&(R=j.substring(0,K)),H(z,j,U.createByFilepathOrFirstLine(G||null,R),G)}return H(z,j,U.createById(Y),G)}function H(z,U,j,Y){return z.createModel(U,j,Y)}}),define(ne[872],se([1,0,33,4,27,43,36,70,17,238,222,625,389,153,28,108]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenizationSupportAdapter=e.EncodedTokenizationSupportAdapter=void 0,e.register=g,e.getLanguages=c,e.getEncodedLanguageId=l,e.onLanguage=a,e.onLanguageEncountered=r,e.setLanguageConfiguration=u,e.setColorMap=S,e.registerTokensProviderFactory=D,e.setTokensProvider=T,e.setMonarchTokensProvider=M,e.registerReferenceProvider=A,e.registerRenameProvider=P,e.registerNewSymbolNameProvider=N,e.registerSignatureHelpProvider=O,e.registerHoverProvider=F,e.registerDocumentSymbolProvider=x,e.registerDocumentHighlightProvider=W,e.registerLinkedEditingRangeProvider=V,e.registerDefinitionProvider=q,e.registerImplementationProvider=H,e.registerTypeDefinitionProvider=z,e.registerCodeLensProvider=U,e.registerCodeActionProvider=j,e.registerDocumentFormattingEditProvider=Y,e.registerDocumentRangeFormattingEditProvider=G,e.registerOnTypeFormattingEditProvider=K,e.registerLinkProvider=R,e.registerCompletionItemProvider=J,e.registerColorProvider=ie,e.registerFoldingRangeProvider=ue,e.registerDeclarationProvider=he,e.registerSelectionRangeProvider=pe,e.registerDocumentSemanticTokensProvider=ae,e.registerDocumentRangeSemanticTokensProvider=ee,e.registerInlineCompletionsProvider=de,e.registerInlineEditProvider=ge,e.registerInlayHintsProvider=X,e.createMonacoLanguagesAPI=B;function g($){m.ModesRegistry.registerLanguage($)}function c(){let $=[];return $=$.concat(m.ModesRegistry.getLanguages()),$}function l($){return p.StandaloneServices.get(E.ILanguageService).languageIdCodec.encodeLanguageId($)}function a($,Q){return p.StandaloneServices.withServices(()=>{const te=p.StandaloneServices.get(E.ILanguageService).onDidRequestRichLanguageFeatures(re=>{re===$&&(te.dispose(),Q())});return te})}function r($,Q){return p.StandaloneServices.withServices(()=>{const te=p.StandaloneServices.get(E.ILanguageService).onDidRequestBasicLanguageFeatures(re=>{re===$&&(te.dispose(),Q())});return te})}function u($,Q){if(!p.StandaloneServices.get(E.ILanguageService).isRegisteredLanguageId($))throw new Error(`Cannot set configuration for unknown language ${$}`);return p.StandaloneServices.get(y.ILanguageConfigurationService).register($,Q,100)}class C{constructor(Q,Z){this._languageId=Q,this._actual=Z}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(Q,Z,te){if(typeof this._actual.tokenize==\"function\")return f.adaptTokenize(this._languageId,this._actual,Q,te);throw new Error(\"Not supported!\")}tokenizeEncoded(Q,Z,te){const re=this._actual.tokenizeEncoded(Q,te);return new I.EncodedTokenizationResult(re.tokens,re.endState)}}e.EncodedTokenizationSupportAdapter=C;class f{constructor(Q,Z,te,re){this._languageId=Q,this._actual=Z,this._languageService=te,this._standaloneThemeService=re}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(Q,Z){const te=[];let re=0;for(let le=0,me=Q.length;le<me;le++){const Ce=Q[le];let ye=Ce.startIndex;le===0?ye=0:ye<re&&(ye=re),te[le]=new I.Token(ye,Ce.scopes,Z),re=ye}return te}static adaptTokenize(Q,Z,te,re){const le=Z.tokenize(te,re),me=f._toClassicTokens(le.tokens,Q);let Ce;return le.endState.equals(re)?Ce=re:Ce=le.endState,new I.TokenizationResult(me,Ce)}tokenize(Q,Z,te){return f.adaptTokenize(this._languageId,this._actual,Q,te)}_toBinaryTokens(Q,Z){const te=Q.encodeLanguageId(this._languageId),re=this._standaloneThemeService.getColorTheme().tokenTheme,le=[];let me=0,Ce=0;for(let Le=0,Ee=Z.length;Le<Ee;Le++){const Me=Z[Le],Ae=re.match(te,Me.scopes)|1024;if(me>0&&le[me-1]===Ae)continue;let Ne=Me.startIndex;Le===0?Ne=0:Ne<Ce&&(Ne=Ce),le[me++]=Ne,le[me++]=Ae,Ce=Ne}const ye=new Uint32Array(me);for(let Le=0;Le<me;Le++)ye[Le]=le[Le];return ye}tokenizeEncoded(Q,Z,te){const re=this._actual.tokenize(Q,te),le=this._toBinaryTokens(this._languageService.languageIdCodec,re.tokens);let me;return re.endState.equals(te)?me=te:me=re.endState,new I.EncodedTokenizationResult(le,me)}}e.TokenizationSupportAdapter=f;function h($){return typeof $.getInitialState==\"function\"}function v($){return\"tokenizeEncoded\"in $}function w($){return $&&typeof $.then==\"function\"}function S($){const Q=p.StandaloneServices.get(t.IStandaloneThemeService);if($){const Z=[null];for(let te=1,re=$.length;te<re;te++)Z[te]=d.Color.fromHex($[te]);Q.setColorMapOverride(Z)}else Q.setColorMapOverride(null)}function L($,Q){return v(Q)?new C($,Q):new f($,Q,p.StandaloneServices.get(E.ILanguageService),p.StandaloneServices.get(t.IStandaloneThemeService))}function D($,Q){const Z=new I.LazyTokenizationSupport(async()=>{const te=await Promise.resolve(Q.create());return te?h(te)?L($,te):new o.MonarchTokenizer(p.StandaloneServices.get(E.ILanguageService),p.StandaloneServices.get(t.IStandaloneThemeService),$,(0,n.compile)($,te),p.StandaloneServices.get(i.IConfigurationService)):null});return I.TokenizationRegistry.registerFactory($,Z)}function T($,Q){if(!p.StandaloneServices.get(E.ILanguageService).isRegisteredLanguageId($))throw new Error(`Cannot set tokens provider for unknown language ${$}`);return w(Q)?D($,{create:()=>Q}):I.TokenizationRegistry.register($,L($,Q))}function M($,Q){const Z=te=>new o.MonarchTokenizer(p.StandaloneServices.get(E.ILanguageService),p.StandaloneServices.get(t.IStandaloneThemeService),$,(0,n.compile)($,te),p.StandaloneServices.get(i.IConfigurationService));return w(Q)?D($,{create:()=>Q}):I.TokenizationRegistry.register($,Z(Q))}function A($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).referenceProvider.register($,Q)}function P($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).renameProvider.register($,Q)}function N($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).newSymbolNamesProvider.register($,Q)}function O($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).signatureHelpProvider.register($,Q)}function F($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).hoverProvider.register($,{provideHover:async(te,re,le,me)=>{const Ce=te.getWordAtPosition(re);return Promise.resolve(Q.provideHover(te,re,le,me)).then(ye=>{if(ye)return!ye.range&&Ce&&(ye.range=new k.Range(re.lineNumber,Ce.startColumn,re.lineNumber,Ce.endColumn)),ye.range||(ye.range=new k.Range(re.lineNumber,re.column,re.lineNumber,re.column)),ye})}})}function x($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentSymbolProvider.register($,Q)}function W($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentHighlightProvider.register($,Q)}function V($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).linkedEditingRangeProvider.register($,Q)}function q($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).definitionProvider.register($,Q)}function H($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).implementationProvider.register($,Q)}function z($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).typeDefinitionProvider.register($,Q)}function U($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).codeLensProvider.register($,Q)}function j($,Q,Z){return p.StandaloneServices.get(_.ILanguageFeaturesService).codeActionProvider.register($,{providedCodeActionKinds:Z?.providedCodeActionKinds,documentation:Z?.documentation,provideCodeActions:(re,le,me,Ce)=>{const Le=p.StandaloneServices.get(s.IMarkerService).read({resource:re.uri}).filter(Ee=>k.Range.areIntersectingOrTouching(Ee,le));return Q.provideCodeActions(re,le,{markers:Le,only:me.only,trigger:me.trigger},Ce)},resolveCodeAction:Q.resolveCodeAction})}function Y($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentFormattingEditProvider.register($,Q)}function G($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentRangeFormattingEditProvider.register($,Q)}function K($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).onTypeFormattingEditProvider.register($,Q)}function R($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).linkProvider.register($,Q)}function J($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).completionProvider.register($,Q)}function ie($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).colorProvider.register($,Q)}function ue($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).foldingRangeProvider.register($,Q)}function he($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).declarationProvider.register($,Q)}function pe($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).selectionRangeProvider.register($,Q)}function ae($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentSemanticTokensProvider.register($,Q)}function ee($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).documentRangeSemanticTokensProvider.register($,Q)}function de($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).inlineCompletionsProvider.register($,Q)}function ge($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).inlineEditProvider.register($,Q)}function X($,Q){return p.StandaloneServices.get(_.ILanguageFeaturesService).inlayHintsProvider.register($,Q)}function B(){return{register:g,getLanguages:c,onLanguage:a,onLanguageEncountered:r,getEncodedLanguageId:l,setLanguageConfiguration:u,setColorMap:S,registerTokensProviderFactory:D,setTokensProvider:T,setMonarchTokensProvider:M,registerReferenceProvider:A,registerRenameProvider:P,registerNewSymbolNameProvider:N,registerCompletionItemProvider:J,registerSignatureHelpProvider:O,registerHoverProvider:F,registerDocumentSymbolProvider:x,registerDocumentHighlightProvider:W,registerLinkedEditingRangeProvider:V,registerDefinitionProvider:q,registerImplementationProvider:H,registerTypeDefinitionProvider:z,registerCodeLensProvider:U,registerCodeActionProvider:j,registerDocumentFormattingEditProvider:Y,registerDocumentRangeFormattingEditProvider:G,registerOnTypeFormattingEditProvider:K,registerLinkProvider:R,registerColorProvider:ie,registerFoldingRangeProvider:ue,registerDeclarationProvider:he,registerSelectionRangeProvider:pe,registerDocumentSemanticTokensProvider:ae,registerDocumentRangeSemanticTokensProvider:ee,registerInlineCompletionsProvider:de,registerInlineEditProvider:ge,registerInlayHintsProvider:X,DocumentHighlightKind:b.DocumentHighlightKind,CompletionItemKind:b.CompletionItemKind,CompletionItemTag:b.CompletionItemTag,CompletionItemInsertTextRule:b.CompletionItemInsertTextRule,SymbolKind:b.SymbolKind,SymbolTag:b.SymbolTag,IndentAction:b.IndentAction,CompletionTriggerKind:b.CompletionTriggerKind,SignatureHelpTriggerKind:b.SignatureHelpTriggerKind,InlayHintKind:b.InlayHintKind,InlineCompletionTriggerKind:b.InlineCompletionTriggerKind,InlineEditTriggerKind:b.InlineEditTriggerKind,CodeActionTriggerType:b.CodeActionTriggerType,NewSymbolNameTag:b.NewSymbolNameTag,NewSymbolNameTriggerKind:b.NewSymbolNameTriggerKind,PartialAcceptTriggerKind:b.PartialAcceptTriggerKind,HoverVerbosityAction:b.HoverVerbosityAction,FoldingRangeKind:I.FoldingRangeKind,SelectedSuggestionInfo:I.SelectedSuggestionInfo}}}),define(ne[873],se([1,0,60,401,222]),function(oe,e,d,k,I){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createWebWorker=E;function E(m,_){return new y(m,_)}class y extends k.EditorWorkerClient{constructor(_,b){const p={amdModuleId:I.standaloneEditorWorkerDescriptor.amdModuleId,esmModuleLocation:I.standaloneEditorWorkerDescriptor.esmModuleLocation,label:b.label};super(p,b.keepIdleModels||!1,_),this._foreignModuleId=b.moduleId,this._foreignModuleCreateData=b.createData||null,this._foreignModuleHost=b.host||null,this._foreignProxy=null}fhr(_,b){if(!this._foreignModuleHost||typeof this._foreignModuleHost[_]!=\"function\")return Promise.reject(new Error(\"Missing method \"+_+\" or missing main thread foreign host.\"));try{return Promise.resolve(this._foreignModuleHost[_].apply(this._foreignModuleHost,b))}catch(p){return Promise.reject(p)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(_=>{const b=this._foreignModuleHost?(0,d.getAllMethodNames)(this._foreignModuleHost):[];return _.$loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,b).then(p=>{this._foreignModuleCreateData=null;const n=(i,s)=>_.$fmr(i,s),o=(i,s)=>function(){const g=Array.prototype.slice.call(arguments,0);return s(i,g)},t={};for(const i of p)t[i]=o(i,n);return t})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(_){return this.workerWithSyncedResources(_).then(b=>this.getProxy())}}}),define(ne[874],se([1,0,52,2,11,22,366,15,34,873,37,165,261,198,27,43,70,177,40,51,238,682,871,222,153,29,24,12,31,108,59,814,541]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i,s,g,c,l,a,r,u,C,f,h,v,w,S,L,D,T,M){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.create=A,e.onDidCreateEditor=P,e.onDidCreateDiffEditor=N,e.getEditors=O,e.getDiffEditors=F,e.createDiffEditor=x,e.createMultiFileDiffEditor=W,e.addCommand=V,e.addEditorAction=q,e.addKeybindingRule=H,e.addKeybindingRules=z,e.createModel=U,e.setModelLanguage=j,e.setModelMarkers=Y,e.removeAllMarkers=G,e.getModelMarkers=K,e.onDidChangeMarkers=R,e.getModel=J,e.getModels=ie,e.onDidCreateModel=ue,e.onWillDisposeModel=he,e.onDidChangeModelLanguage=pe,e.createWebWorker=ae,e.colorizeElement=ee,e.colorize=de,e.colorizeModelLine=ge,e.tokenize=B,e.defineTheme=$,e.setTheme=Q,e.remeasureFonts=Z,e.registerCommand=te,e.registerLinkOpener=re,e.registerEditorOpener=le,e.createMonacoEditorAPI=me;function A(Ce,ye,Le){return f.StandaloneServices.initialize(Le||{}).createInstance(C.StandaloneEditor,Ce,ye)}function P(Ce){return f.StandaloneServices.get(_.ICodeEditorService).onCodeEditorAdd(Le=>{Ce(Le)})}function N(Ce){return f.StandaloneServices.get(_.ICodeEditorService).onDiffEditorAdd(Le=>{Ce(Le)})}function O(){return f.StandaloneServices.get(_.ICodeEditorService).listCodeEditors()}function F(){return f.StandaloneServices.get(_.ICodeEditorService).listDiffEditors()}function x(Ce,ye,Le){return f.StandaloneServices.initialize(Le||{}).createInstance(C.StandaloneDiffEditor2,Ce,ye)}function W(Ce,ye){const Le=f.StandaloneServices.initialize(ye||{});return new M.MultiDiffEditorWidget(Ce,{},Le)}function V(Ce){if(typeof Ce.id!=\"string\"||typeof Ce.run!=\"function\")throw new Error(\"Invalid command descriptor, `id` and `run` are required properties!\");return w.CommandsRegistry.registerCommand(Ce.id,Ce.run)}function q(Ce){if(typeof Ce.id!=\"string\"||typeof Ce.label!=\"string\"||typeof Ce.run!=\"function\")throw new Error(\"Invalid action descriptor, `id`, `label` and `run` are required properties!\");const ye=S.ContextKeyExpr.deserialize(Ce.precondition),Le=(Me,...Ae)=>m.EditorCommand.runEditorCommand(Me,Ae,ye,(Ne,Ke,ze)=>Promise.resolve(Ce.run(Ke,...ze))),Ee=new k.DisposableStore;if(Ee.add(w.CommandsRegistry.registerCommand(Ce.id,Le)),Ce.contextMenuGroupId){const Me={command:{id:Ce.id,title:Ce.label},when:ye,group:Ce.contextMenuGroupId,order:Ce.contextMenuOrder||0};Ee.add(v.MenuRegistry.appendMenuItem(v.MenuId.EditorContext,Me))}if(Array.isArray(Ce.keybindings)){const Me=f.StandaloneServices.get(L.IKeybindingService);if(!(Me instanceof f.StandaloneKeybindingService))console.warn(\"Cannot add keybinding because the editor is configured with an unrecognized KeybindingService\");else{const Ae=S.ContextKeyExpr.and(ye,S.ContextKeyExpr.deserialize(Ce.keybindingContext));Ee.add(Me.addDynamicKeybindings(Ce.keybindings.map(Ne=>({keybinding:Ne,command:Ce.id,when:Ae}))))}}return Ee}function H(Ce){return z([Ce])}function z(Ce){const ye=f.StandaloneServices.get(L.IKeybindingService);return ye instanceof f.StandaloneKeybindingService?ye.addDynamicKeybindings(Ce.map(Le=>({keybinding:Le.keybinding,command:Le.command,commandArgs:Le.commandArgs,when:S.ContextKeyExpr.deserialize(Le.when)}))):(console.warn(\"Cannot add keybinding because the editor is configured with an unrecognized KeybindingService\"),k.Disposable.None)}function U(Ce,ye,Le){const Ee=f.StandaloneServices.get(s.ILanguageService),Me=Ee.getLanguageIdByMimeType(ye)||ye;return(0,C.createTextModel)(f.StandaloneServices.get(a.IModelService),Ee,Ce,Me,Le)}function j(Ce,ye){const Le=f.StandaloneServices.get(s.ILanguageService),Ee=Le.getLanguageIdByMimeType(ye)||ye||g.PLAINTEXT_LANGUAGE_ID;Ce.setLanguage(Le.createById(Ee))}function Y(Ce,ye,Le){Ce&&f.StandaloneServices.get(D.IMarkerService).changeOne(ye,Ce.uri,Le)}function G(Ce){f.StandaloneServices.get(D.IMarkerService).changeAll(Ce,[])}function K(Ce){return f.StandaloneServices.get(D.IMarkerService).read(Ce)}function R(Ce){return f.StandaloneServices.get(D.IMarkerService).onMarkerChanged(Ce)}function J(Ce){return f.StandaloneServices.get(a.IModelService).getModel(Ce)}function ie(){return f.StandaloneServices.get(a.IModelService).getModels()}function ue(Ce){return f.StandaloneServices.get(a.IModelService).onModelAdded(Ce)}function he(Ce){return f.StandaloneServices.get(a.IModelService).onModelRemoved(Ce)}function pe(Ce){return f.StandaloneServices.get(a.IModelService).onModelLanguageChanged(Le=>{Ce({model:Le.model,oldLanguage:Le.oldLanguageId})})}function ae(Ce){return(0,b.createWebWorker)(f.StandaloneServices.get(a.IModelService),Ce)}function ee(Ce,ye){const Le=f.StandaloneServices.get(s.ILanguageService),Ee=f.StandaloneServices.get(h.IStandaloneThemeService);return u.Colorizer.colorizeElement(Ee,Le,Ce,ye).then(()=>{Ee.registerEditorContainer(Ce)})}function de(Ce,ye,Le){const Ee=f.StandaloneServices.get(s.ILanguageService);return f.StandaloneServices.get(h.IStandaloneThemeService).registerEditorContainer(d.mainWindow.document.body),u.Colorizer.colorize(Ee,Ce,ye,Le)}function ge(Ce,ye,Le=4){return f.StandaloneServices.get(h.IStandaloneThemeService).registerEditorContainer(d.mainWindow.document.body),u.Colorizer.colorizeModelLine(Ce,ye,Le)}function X(Ce){const ye=i.TokenizationRegistry.get(Ce);return ye||{getInitialState:()=>c.NullState,tokenize:(Le,Ee,Me)=>(0,c.nullTokenize)(Ce,Me)}}function B(Ce,ye){i.TokenizationRegistry.getOrCreate(ye);const Le=X(ye),Ee=(0,I.splitLines)(Ce),Me=[];let Ae=Le.getInitialState();for(let Ne=0,Ke=Ee.length;Ne<Ke;Ne++){const ze=Ee[Ne],Ge=Le.tokenize(ze,!0,Ae);Me[Ne]=Ge.tokens,Ae=Ge.endState}return Me}function $(Ce,ye){f.StandaloneServices.get(h.IStandaloneThemeService).defineTheme(Ce,ye)}function Q(Ce){f.StandaloneServices.get(h.IStandaloneThemeService).setTheme(Ce)}function Z(){y.FontMeasurements.clearAllFontInfos()}function te(Ce,ye){return w.CommandsRegistry.registerCommand({id:Ce,handler:ye})}function re(Ce){return f.StandaloneServices.get(T.IOpenerService).registerOpener({async open(Le){return typeof Le==\"string\"&&(Le=E.URI.parse(Le)),Ce.open(Le)}})}function le(Ce){return f.StandaloneServices.get(_.ICodeEditorService).registerCodeEditorOpenHandler(async(Le,Ee,Me)=>{if(!Ee)return null;const Ae=Le.options?.selection;let Ne;return Ae&&typeof Ae.endLineNumber==\"number\"&&typeof Ae.endColumn==\"number\"?Ne=Ae:Ae&&(Ne={lineNumber:Ae.startLineNumber,column:Ae.startColumn}),await Ce.openCodeEditor(Ee,Le.resource,Ne)?Ee:null})}function me(){return{create:A,getEditors:O,getDiffEditors:F,onDidCreateEditor:P,onDidCreateDiffEditor:N,createDiffEditor:x,addCommand:V,addEditorAction:q,addKeybindingRule:H,addKeybindingRules:z,createModel:U,setModelLanguage:j,setModelMarkers:Y,getModelMarkers:K,removeAllMarkers:G,onDidChangeMarkers:R,getModels:ie,getModel:J,onDidCreateModel:ue,onWillDisposeModel:he,onDidChangeModelLanguage:pe,createWebWorker:ae,colorizeElement:ee,colorize:de,colorizeModelLine:ge,tokenize:B,defineTheme:$,setTheme:Q,remeasureFonts:Z,registerCommand:te,registerLinkOpener:re,registerEditorOpener:le,AccessibilitySupport:r.AccessibilitySupport,ContentWidgetPositionPreference:r.ContentWidgetPositionPreference,CursorChangeReason:r.CursorChangeReason,DefaultEndOfLine:r.DefaultEndOfLine,EditorAutoIndentStrategy:r.EditorAutoIndentStrategy,EditorOption:r.EditorOption,EndOfLinePreference:r.EndOfLinePreference,EndOfLineSequence:r.EndOfLineSequence,MinimapPosition:r.MinimapPosition,MinimapSectionHeaderStyle:r.MinimapSectionHeaderStyle,MouseTargetType:r.MouseTargetType,OverlayWidgetPositionPreference:r.OverlayWidgetPositionPreference,OverviewRulerLane:r.OverviewRulerLane,GlyphMarginLane:r.GlyphMarginLane,RenderLineNumbersType:r.RenderLineNumbersType,RenderMinimap:r.RenderMinimap,ScrollbarVisibility:r.ScrollbarVisibility,ScrollType:r.ScrollType,TextEditorCursorBlinkingStyle:r.TextEditorCursorBlinkingStyle,TextEditorCursorStyle:r.TextEditorCursorStyle,TrackedRangeStickiness:r.TrackedRangeStickiness,WrappingIndent:r.WrappingIndent,InjectedTextCursorStops:r.InjectedTextCursorStops,PositionAffinity:r.PositionAffinity,ShowLightbulbIconMode:r.ShowLightbulbIconMode,ConfigurationChangedEvent:p.ConfigurationChangedEvent,BareFontInfo:o.BareFontInfo,FontInfo:o.FontInfo,TextModelResolvedOptions:l.TextModelResolvedOptions,FindMatch:l.FindMatch,ApplyUpdateResult:p.ApplyUpdateResult,EditorZoom:n.EditorZoom,createMultiFileDiffEditor:W,EditorType:t.EditorType,EditorOptions:p.EditorOptions}}}),define(ne[875],se([1,0,37,372,874,872,409]),function(oe,e,d,k,I,E,y){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.languages=e.editor=e.Token=e.Uri=e.MarkerTag=e.MarkerSeverity=e.SelectionDirection=e.Selection=e.Range=e.Position=e.KeyMod=e.KeyCode=e.Emitter=e.CancellationTokenSource=void 0,d.EditorOptions.wrappingIndent.defaultValue=0,d.EditorOptions.glyphMargin.defaultValue=!1,d.EditorOptions.autoIndent.defaultValue=3,d.EditorOptions.overviewRulerLanes.defaultValue=2,y.FormattingConflicts.setFormatterSelector((b,p,n)=>Promise.resolve(b[0]));const m=(0,k.createMonacoBaseAPI)();m.editor=(0,I.createMonacoEditorAPI)(),m.languages=(0,E.createMonacoLanguagesAPI)(),e.CancellationTokenSource=m.CancellationTokenSource,e.Emitter=m.Emitter,e.KeyCode=m.KeyCode,e.KeyMod=m.KeyMod,e.Position=m.Position,e.Range=m.Range,e.Selection=m.Selection,e.SelectionDirection=m.SelectionDirection,e.MarkerSeverity=m.MarkerSeverity,e.MarkerTag=m.MarkerTag,e.Uri=m.Uri,e.Token=m.Token,e.editor=m.editor,e.languages=m.languages,(globalThis.MonacoEnvironment?.globalAPI||typeof define==\"function\"&&define.amd)&&(globalThis.monaco=m),typeof globalThis.require<\"u\"&&typeof globalThis.require.config==\"function\"&&globalThis.require.config({ignoreDuplicateModules:[\"vscode-languageserver-types\",\"vscode-languageserver-types/main\",\"vscode-languageserver-textdocument\",\"vscode-languageserver-textdocument/main\",\"vscode-nls\",\"vscode-nls/vscode-nls\",\"jsonc-parser\",\"jsonc-parser/main\",\"vscode-uri\",\"vscode-uri/index\",\"vs/basic-languages/typescript/typescript\"]})});var Lt=this&&this.__exportStar||function(oe,e){for(var d in oe)d!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,d)&&ci(e,oe,d)};define(ne[877],se([1,0,875,870,746,747,721,794,795,750,854,797]),function(oe,e,d){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),Lt(d,e)})}).call(this);\n\n\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/basic-languages/monaco.contribution\", [\"require\",\"require\",\"vs/editor/editor.api\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var y=Object.create;var g=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var a=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(r,s)=>(typeof require<\"u\"?require:r)[s]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var D=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var l=(e,r,s,n)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let o of q(r))!M.call(e,o)&&o!==s&&g(e,o,{get:()=>r[o],enumerable:!(n=x(r,o))||n.enumerable});return e},p=(e,r,s)=>(l(e,r,\"default\"),s&&l(s,r,\"default\")),c=(e,r,s)=>(s=e!=null?y(A(e)):{},l(r||!e||!e.__esModule?g(s,\"default\",{value:e,enumerable:!0}):s,e));var v=D((w,d)=>{var b=c(a(\"vs/editor/editor.api\"));d.exports=b});var t={};p(t,c(v()));var f={},m={},u=class e{static getOrCreate(r){return m[r]||(m[r]=new e(r)),m[r]}constructor(r){this._languageId=r,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((s,n)=>{this._lazyLoadPromiseResolve=s,this._lazyLoadPromiseReject=n})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,f[this._languageId].loader().then(r=>this._lazyLoadPromiseResolve(r),r=>this._lazyLoadPromiseReject(r))),this._lazyLoadPromise}};function i(e){let r=e.id;f[r]=e,t.languages.register(e);let s=u.getOrCreate(r);t.languages.registerTokensProviderFactory(r,{create:async()=>(await s.load()).language}),t.languages.onLanguageEncountered(r,async()=>{let n=await s.load();t.languages.setLanguageConfiguration(r,n.conf)})}i({id:\"abap\",extensions:[\".abap\"],aliases:[\"abap\",\"ABAP\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/abap/abap\"],e,r)})});i({id:\"apex\",extensions:[\".cls\"],aliases:[\"Apex\",\"apex\"],mimetypes:[\"text/x-apex-source\",\"text/x-apex\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/apex/apex\"],e,r)})});i({id:\"azcli\",extensions:[\".azcli\"],aliases:[\"Azure CLI\",\"azcli\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/azcli/azcli\"],e,r)})});i({id:\"bat\",extensions:[\".bat\",\".cmd\"],aliases:[\"Batch\",\"bat\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/bat/bat\"],e,r)})});i({id:\"bicep\",extensions:[\".bicep\"],aliases:[\"Bicep\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/bicep/bicep\"],e,r)})});i({id:\"cameligo\",extensions:[\".mligo\"],aliases:[\"Cameligo\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/cameligo/cameligo\"],e,r)})});i({id:\"clojure\",extensions:[\".clj\",\".cljs\",\".cljc\",\".edn\"],aliases:[\"clojure\",\"Clojure\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/clojure/clojure\"],e,r)})});i({id:\"coffeescript\",extensions:[\".coffee\"],aliases:[\"CoffeeScript\",\"coffeescript\",\"coffee\"],mimetypes:[\"text/x-coffeescript\",\"text/coffeescript\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/coffee/coffee\"],e,r)})});i({id:\"c\",extensions:[\".c\",\".h\"],aliases:[\"C\",\"c\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/cpp/cpp\"],e,r)})});i({id:\"cpp\",extensions:[\".cpp\",\".cc\",\".cxx\",\".hpp\",\".hh\",\".hxx\"],aliases:[\"C++\",\"Cpp\",\"cpp\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/cpp/cpp\"],e,r)})});i({id:\"csharp\",extensions:[\".cs\",\".csx\",\".cake\"],aliases:[\"C#\",\"csharp\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/csharp/csharp\"],e,r)})});i({id:\"csp\",extensions:[\".csp\"],aliases:[\"CSP\",\"csp\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/csp/csp\"],e,r)})});i({id:\"css\",extensions:[\".css\"],aliases:[\"CSS\",\"css\"],mimetypes:[\"text/css\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/css/css\"],e,r)})});i({id:\"cypher\",extensions:[\".cypher\",\".cyp\"],aliases:[\"Cypher\",\"OpenCypher\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/cypher/cypher\"],e,r)})});i({id:\"dart\",extensions:[\".dart\"],aliases:[\"Dart\",\"dart\"],mimetypes:[\"text/x-dart-source\",\"text/x-dart\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/dart/dart\"],e,r)})});i({id:\"dockerfile\",extensions:[\".dockerfile\"],filenames:[\"Dockerfile\"],aliases:[\"Dockerfile\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/dockerfile/dockerfile\"],e,r)})});i({id:\"ecl\",extensions:[\".ecl\"],aliases:[\"ECL\",\"Ecl\",\"ecl\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/ecl/ecl\"],e,r)})});i({id:\"elixir\",extensions:[\".ex\",\".exs\"],aliases:[\"Elixir\",\"elixir\",\"ex\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/elixir/elixir\"],e,r)})});i({id:\"flow9\",extensions:[\".flow\"],aliases:[\"Flow9\",\"Flow\",\"flow9\",\"flow\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/flow9/flow9\"],e,r)})});i({id:\"fsharp\",extensions:[\".fs\",\".fsi\",\".ml\",\".mli\",\".fsx\",\".fsscript\"],aliases:[\"F#\",\"FSharp\",\"fsharp\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/fsharp/fsharp\"],e,r)})});i({id:\"freemarker2\",extensions:[\".ftl\",\".ftlh\",\".ftlx\"],aliases:[\"FreeMarker2\",\"Apache FreeMarker2\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/freemarker2/freemarker2\"],e,r)}).then(e=>e.TagAngleInterpolationDollar)});i({id:\"freemarker2.tag-angle.interpolation-dollar\",aliases:[\"FreeMarker2 (Angle/Dollar)\",\"Apache FreeMarker2 (Angle/Dollar)\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/freemarker2/freemarker2\"],e,r)}).then(e=>e.TagAngleInterpolationDollar)});i({id:\"freemarker2.tag-bracket.interpolation-dollar\",aliases:[\"FreeMarker2 (Bracket/Dollar)\",\"Apache FreeMarker2 (Bracket/Dollar)\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/freemarker2/freemarker2\"],e,r)}).then(e=>e.TagBracketInterpolationDollar)});i({id:\"freemarker2.tag-angle.interpolation-bracket\",aliases:[\"FreeMarker2 (Angle/Bracket)\",\"Apache FreeMarker2 (Angle/Bracket)\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/freemarker2/freemarker2\"],e,r)}).then(e=>e.TagAngleInterpolationBracket)});i({id:\"freemarker2.tag-bracket.interpolation-bracket\",aliases:[\"FreeMarker2 (Bracket/Bracket)\",\"Apache FreeMarker2 (Bracket/Bracket)\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/freemarker2/freemarker2\"],e,r)}).then(e=>e.TagBracketInterpolationBracket)});i({id:\"freemarker2.tag-auto.interpolation-dollar\",aliases:[\"FreeMarker2 (Auto/Dollar)\",\"Apache FreeMarker2 (Auto/Dollar)\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/freemarker2/freemarker2\"],e,r)}).then(e=>e.TagAutoInterpolationDollar)});i({id:\"freemarker2.tag-auto.interpolation-bracket\",aliases:[\"FreeMarker2 (Auto/Bracket)\",\"Apache FreeMarker2 (Auto/Bracket)\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/freemarker2/freemarker2\"],e,r)}).then(e=>e.TagAutoInterpolationBracket)});i({id:\"go\",extensions:[\".go\"],aliases:[\"Go\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/go/go\"],e,r)})});i({id:\"graphql\",extensions:[\".graphql\",\".gql\"],aliases:[\"GraphQL\",\"graphql\",\"gql\"],mimetypes:[\"application/graphql\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/graphql/graphql\"],e,r)})});i({id:\"handlebars\",extensions:[\".handlebars\",\".hbs\"],aliases:[\"Handlebars\",\"handlebars\",\"hbs\"],mimetypes:[\"text/x-handlebars-template\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/handlebars/handlebars\"],e,r)})});i({id:\"hcl\",extensions:[\".tf\",\".tfvars\",\".hcl\"],aliases:[\"Terraform\",\"tf\",\"HCL\",\"hcl\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/hcl/hcl\"],e,r)})});i({id:\"html\",extensions:[\".html\",\".htm\",\".shtml\",\".xhtml\",\".mdoc\",\".jsp\",\".asp\",\".aspx\",\".jshtm\"],aliases:[\"HTML\",\"htm\",\"html\",\"xhtml\"],mimetypes:[\"text/html\",\"text/x-jshtm\",\"text/template\",\"text/ng-template\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/html/html\"],e,r)})});i({id:\"ini\",extensions:[\".ini\",\".properties\",\".gitconfig\"],filenames:[\"config\",\".gitattributes\",\".gitconfig\",\".editorconfig\"],aliases:[\"Ini\",\"ini\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/ini/ini\"],e,r)})});i({id:\"java\",extensions:[\".java\",\".jav\"],aliases:[\"Java\",\"java\"],mimetypes:[\"text/x-java-source\",\"text/x-java\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/java/java\"],e,r)})});i({id:\"javascript\",extensions:[\".js\",\".es6\",\".jsx\",\".mjs\",\".cjs\"],firstLine:\"^#!.*\\\\bnode\",filenames:[\"jakefile\"],aliases:[\"JavaScript\",\"javascript\",\"js\"],mimetypes:[\"text/javascript\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/javascript/javascript\"],e,r)})});i({id:\"julia\",extensions:[\".jl\"],aliases:[\"julia\",\"Julia\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/julia/julia\"],e,r)})});i({id:\"kotlin\",extensions:[\".kt\",\".kts\"],aliases:[\"Kotlin\",\"kotlin\"],mimetypes:[\"text/x-kotlin-source\",\"text/x-kotlin\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/kotlin/kotlin\"],e,r)})});i({id:\"less\",extensions:[\".less\"],aliases:[\"Less\",\"less\"],mimetypes:[\"text/x-less\",\"text/less\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/less/less\"],e,r)})});i({id:\"lexon\",extensions:[\".lex\"],aliases:[\"Lexon\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/lexon/lexon\"],e,r)})});i({id:\"lua\",extensions:[\".lua\"],aliases:[\"Lua\",\"lua\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/lua/lua\"],e,r)})});i({id:\"liquid\",extensions:[\".liquid\",\".html.liquid\"],aliases:[\"Liquid\",\"liquid\"],mimetypes:[\"application/liquid\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/liquid/liquid\"],e,r)})});i({id:\"m3\",extensions:[\".m3\",\".i3\",\".mg\",\".ig\"],aliases:[\"Modula-3\",\"Modula3\",\"modula3\",\"m3\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/m3/m3\"],e,r)})});i({id:\"markdown\",extensions:[\".md\",\".markdown\",\".mdown\",\".mkdn\",\".mkd\",\".mdwn\",\".mdtxt\",\".mdtext\"],aliases:[\"Markdown\",\"markdown\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/markdown/markdown\"],e,r)})});i({id:\"mdx\",extensions:[\".mdx\"],aliases:[\"MDX\",\"mdx\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/mdx/mdx\"],e,r)})});i({id:\"mips\",extensions:[\".s\"],aliases:[\"MIPS\",\"MIPS-V\"],mimetypes:[\"text/x-mips\",\"text/mips\",\"text/plaintext\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/mips/mips\"],e,r)})});i({id:\"msdax\",extensions:[\".dax\",\".msdax\"],aliases:[\"DAX\",\"MSDAX\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/msdax/msdax\"],e,r)})});i({id:\"mysql\",extensions:[],aliases:[\"MySQL\",\"mysql\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/mysql/mysql\"],e,r)})});i({id:\"objective-c\",extensions:[\".m\"],aliases:[\"Objective-C\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/objective-c/objective-c\"],e,r)})});i({id:\"pascal\",extensions:[\".pas\",\".p\",\".pp\"],aliases:[\"Pascal\",\"pas\"],mimetypes:[\"text/x-pascal-source\",\"text/x-pascal\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/pascal/pascal\"],e,r)})});i({id:\"pascaligo\",extensions:[\".ligo\"],aliases:[\"Pascaligo\",\"ligo\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/pascaligo/pascaligo\"],e,r)})});i({id:\"perl\",extensions:[\".pl\",\".pm\"],aliases:[\"Perl\",\"pl\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/perl/perl\"],e,r)})});i({id:\"pgsql\",extensions:[],aliases:[\"PostgreSQL\",\"postgres\",\"pg\",\"postgre\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/pgsql/pgsql\"],e,r)})});i({id:\"php\",extensions:[\".php\",\".php4\",\".php5\",\".phtml\",\".ctp\"],aliases:[\"PHP\",\"php\"],mimetypes:[\"application/x-php\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/php/php\"],e,r)})});i({id:\"pla\",extensions:[\".pla\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/pla/pla\"],e,r)})});i({id:\"postiats\",extensions:[\".dats\",\".sats\",\".hats\"],aliases:[\"ATS\",\"ATS/Postiats\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/postiats/postiats\"],e,r)})});i({id:\"powerquery\",extensions:[\".pq\",\".pqm\"],aliases:[\"PQ\",\"M\",\"Power Query\",\"Power Query M\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/powerquery/powerquery\"],e,r)})});i({id:\"powershell\",extensions:[\".ps1\",\".psm1\",\".psd1\"],aliases:[\"PowerShell\",\"powershell\",\"ps\",\"ps1\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/powershell/powershell\"],e,r)})});i({id:\"proto\",extensions:[\".proto\"],aliases:[\"protobuf\",\"Protocol Buffers\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/protobuf/protobuf\"],e,r)})});i({id:\"pug\",extensions:[\".jade\",\".pug\"],aliases:[\"Pug\",\"Jade\",\"jade\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/pug/pug\"],e,r)})});i({id:\"python\",extensions:[\".py\",\".rpy\",\".pyw\",\".cpy\",\".gyp\",\".gypi\"],aliases:[\"Python\",\"py\"],firstLine:\"^#!/.*\\\\bpython[0-9.-]*\\\\b\",loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/python/python\"],e,r)})});i({id:\"qsharp\",extensions:[\".qs\"],aliases:[\"Q#\",\"qsharp\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/qsharp/qsharp\"],e,r)})});i({id:\"r\",extensions:[\".r\",\".rhistory\",\".rmd\",\".rprofile\",\".rt\"],aliases:[\"R\",\"r\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/r/r\"],e,r)})});i({id:\"razor\",extensions:[\".cshtml\"],aliases:[\"Razor\",\"razor\"],mimetypes:[\"text/x-cshtml\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/razor/razor\"],e,r)})});i({id:\"redis\",extensions:[\".redis\"],aliases:[\"redis\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/redis/redis\"],e,r)})});i({id:\"redshift\",extensions:[],aliases:[\"Redshift\",\"redshift\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/redshift/redshift\"],e,r)})});i({id:\"restructuredtext\",extensions:[\".rst\"],aliases:[\"reStructuredText\",\"restructuredtext\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/restructuredtext/restructuredtext\"],e,r)})});i({id:\"ruby\",extensions:[\".rb\",\".rbx\",\".rjs\",\".gemspec\",\".pp\"],filenames:[\"rakefile\",\"Gemfile\"],aliases:[\"Ruby\",\"rb\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/ruby/ruby\"],e,r)})});i({id:\"rust\",extensions:[\".rs\",\".rlib\"],aliases:[\"Rust\",\"rust\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/rust/rust\"],e,r)})});i({id:\"sb\",extensions:[\".sb\"],aliases:[\"Small Basic\",\"sb\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/sb/sb\"],e,r)})});i({id:\"scala\",extensions:[\".scala\",\".sc\",\".sbt\"],aliases:[\"Scala\",\"scala\",\"SBT\",\"Sbt\",\"sbt\",\"Dotty\",\"dotty\"],mimetypes:[\"text/x-scala-source\",\"text/x-scala\",\"text/x-sbt\",\"text/x-dotty\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/scala/scala\"],e,r)})});i({id:\"scheme\",extensions:[\".scm\",\".ss\",\".sch\",\".rkt\"],aliases:[\"scheme\",\"Scheme\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/scheme/scheme\"],e,r)})});i({id:\"scss\",extensions:[\".scss\"],aliases:[\"Sass\",\"sass\",\"scss\"],mimetypes:[\"text/x-scss\",\"text/scss\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/scss/scss\"],e,r)})});i({id:\"shell\",extensions:[\".sh\",\".bash\"],aliases:[\"Shell\",\"sh\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/shell/shell\"],e,r)})});i({id:\"sol\",extensions:[\".sol\"],aliases:[\"sol\",\"solidity\",\"Solidity\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/solidity/solidity\"],e,r)})});i({id:\"aes\",extensions:[\".aes\"],aliases:[\"aes\",\"sophia\",\"Sophia\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/sophia/sophia\"],e,r)})});i({id:\"sparql\",extensions:[\".rq\"],aliases:[\"sparql\",\"SPARQL\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/sparql/sparql\"],e,r)})});i({id:\"sql\",extensions:[\".sql\"],aliases:[\"SQL\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/sql/sql\"],e,r)})});i({id:\"st\",extensions:[\".st\",\".iecst\",\".iecplc\",\".lc3lib\",\".TcPOU\",\".TcDUT\",\".TcGVL\",\".TcIO\"],aliases:[\"StructuredText\",\"scl\",\"stl\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/st/st\"],e,r)})});i({id:\"swift\",aliases:[\"Swift\",\"swift\"],extensions:[\".swift\"],mimetypes:[\"text/swift\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/swift/swift\"],e,r)})});i({id:\"systemverilog\",extensions:[\".sv\",\".svh\"],aliases:[\"SV\",\"sv\",\"SystemVerilog\",\"systemverilog\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/systemverilog/systemverilog\"],e,r)})});i({id:\"verilog\",extensions:[\".v\",\".vh\"],aliases:[\"V\",\"v\",\"Verilog\",\"verilog\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/systemverilog/systemverilog\"],e,r)})});i({id:\"tcl\",extensions:[\".tcl\"],aliases:[\"tcl\",\"Tcl\",\"tcltk\",\"TclTk\",\"tcl/tk\",\"Tcl/Tk\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/tcl/tcl\"],e,r)})});i({id:\"twig\",extensions:[\".twig\"],aliases:[\"Twig\",\"twig\"],mimetypes:[\"text/x-twig\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/twig/twig\"],e,r)})});i({id:\"typescript\",extensions:[\".ts\",\".tsx\",\".cts\",\".mts\"],aliases:[\"TypeScript\",\"ts\",\"typescript\"],mimetypes:[\"text/typescript\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/typescript/typescript\"],e,r)})});i({id:\"typespec\",extensions:[\".tsp\"],aliases:[\"TypeSpec\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/typespec/typespec\"],e,r)})});i({id:\"vb\",extensions:[\".vb\"],aliases:[\"Visual Basic\",\"vb\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/vb/vb\"],e,r)})});i({id:\"wgsl\",extensions:[\".wgsl\"],aliases:[\"WebGPU Shading Language\",\"WGSL\",\"wgsl\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/wgsl/wgsl\"],e,r)})});i({id:\"xml\",extensions:[\".xml\",\".xsd\",\".dtd\",\".ascx\",\".csproj\",\".config\",\".props\",\".targets\",\".wxi\",\".wxl\",\".wxs\",\".xaml\",\".svg\",\".svgz\",\".opf\",\".xslt\",\".xsl\"],firstLine:\"(\\\\<\\\\?xml.*)|(\\\\<svg)|(\\\\<\\\\!doctype\\\\s+svg)\",aliases:[\"XML\",\"xml\"],mimetypes:[\"text/xml\",\"application/xml\",\"application/xaml+xml\",\"application/xml-dtd\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/xml/xml\"],e,r)})});i({id:\"yaml\",extensions:[\".yaml\",\".yml\"],aliases:[\"YAML\",\"yaml\",\"YML\",\"yml\"],mimetypes:[\"application/x-yaml\",\"text/x-yaml\"],loader:()=>new Promise((e,r)=>{a([\"vs/basic-languages/yaml/yaml\"],e,r)})});})();\nreturn moduleExports;\n});\n\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/css/monaco.contribution\", [\"require\",\"require\",\"vs/editor/editor.api\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var C=Object.create;var g=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var l=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(n,r)=>(typeof require<\"u\"?require:n)[r]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var I=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),M=(e,n)=>{for(var r in n)g(e,r,{get:n[r],enumerable:!0})},s=(e,n,r,a)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let t of b(n))!h.call(e,t)&&t!==r&&g(e,t,{get:()=>n[t],enumerable:!(a=S(n,t))||a.enumerable});return e},y=(e,n,r)=>(s(e,n,\"default\"),r&&s(r,n,\"default\")),w=(e,n,r)=>(r=e!=null?C(x(e)):{},s(n||!e||!e.__esModule?g(r,\"default\",{value:e,enumerable:!0}):r,e)),P=e=>s(g({},\"__esModule\",{value:!0}),e);var v=I((k,D)=>{var O=w(l(\"vs/editor/editor.api\"));D.exports=O});var R={};M(R,{cssDefaults:()=>p,lessDefaults:()=>f,scssDefaults:()=>c});var o={};y(o,w(v()));var i=class{constructor(n,r,a){this._onDidChange=new o.Emitter;this._languageId=n,this.setOptions(r),this.setModeConfiguration(a)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(n){this._options=n||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(n){this.setOptions(n)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},d={validate:!0,lint:{compatibleVendorPrefixes:\"ignore\",vendorPrefix:\"warning\",duplicateProperties:\"warning\",emptyRules:\"warning\",importStatement:\"ignore\",boxModel:\"ignore\",universalSelector:\"ignore\",zeroUnits:\"ignore\",fontFaceProperties:\"warning\",hexColorLength:\"error\",argumentsInColorFunction:\"error\",unknownProperties:\"warning\",ieHack:\"ignore\",unknownVendorSpecificProperties:\"ignore\",propertyIgnoredDueToDisplay:\"warning\",important:\"ignore\",float:\"ignore\",idSelector:\"ignore\"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:\"collapse\",maxPreserveNewLines:void 0,preserveNewLines:!0}},u={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},p=new i(\"css\",d,u),c=new i(\"scss\",d,u),f=new i(\"less\",d,u);o.languages.css={cssDefaults:p,lessDefaults:f,scssDefaults:c};function m(){return new Promise((e,n)=>{l([\"vs/language/css/cssMode\"],e,n)})}o.languages.onLanguage(\"less\",()=>{m().then(e=>e.setupMode(f))});o.languages.onLanguage(\"scss\",()=>{m().then(e=>e.setupMode(c))});o.languages.onLanguage(\"css\",()=>{m().then(e=>e.setupMode(p))});return P(R);})();\nreturn moduleExports;\n});\n\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/html/monaco.contribution\", [\"require\",\"require\",\"vs/editor/editor.api\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var w=Object.create;var l=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var f=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(n,t)=>(typeof require<\"u\"?require:n)[t]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var k=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),T=(e,n)=>{for(var t in n)l(e,t,{get:n[t],enumerable:!0})},d=(e,n,t,r)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let o of H(n))!_.call(e,o)&&o!==t&&l(e,o,{get:()=>n[o],enumerable:!(r=R(n,o))||r.enumerable});return e},b=(e,n,t)=>(d(e,n,\"default\"),t&&d(t,n,\"default\")),v=(e,n,t)=>(t=e!=null?w(O(e)):{},d(n||!e||!e.__esModule?l(t,\"default\",{value:e,enumerable:!0}):t,e)),A=e=>d(l({},\"__esModule\",{value:!0}),e);var C=k((z,h)=>{var E=v(f(\"vs/editor/editor.api\"));h.exports=E});var V={};T(V,{handlebarDefaults:()=>M,handlebarLanguageService:()=>m,htmlDefaults:()=>x,htmlLanguageService:()=>c,razorDefaults:()=>I,razorLanguageService:()=>y,registerHTMLLanguageService:()=>s});var a={};b(a,v(C()));var p=class{constructor(n,t,r){this._onDidChange=new a.Emitter;this._languageId=n,this.setOptions(t),this.setModeConfiguration(r)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(n){this._options=n||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},F={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default\": \"a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:\"pre\",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:\"head, body, /html\",wrapAttributes:\"auto\"},u={format:F,suggest:{},data:{useDefaultDataProvider:!0}};function g(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===i,documentFormattingEdits:e===i,documentRangeFormattingEdits:e===i}}var i=\"html\",D=\"handlebars\",L=\"razor\",c=s(i,u,g(i)),x=c.defaults,m=s(D,u,g(D)),M=m.defaults,y=s(L,u,g(L)),I=y.defaults;a.languages.html={htmlDefaults:x,razorDefaults:I,handlebarDefaults:M,htmlLanguageService:c,handlebarLanguageService:m,razorLanguageService:y,registerHTMLLanguageService:s};function P(){return new Promise((e,n)=>{f([\"vs/language/html/htmlMode\"],e,n)})}function s(e,n=u,t=g(e)){let r=new p(e,n,t),o,S=a.languages.onLanguage(e,async()=>{o=(await P()).setupMode(r)});return{defaults:r,dispose(){S.dispose(),o?.dispose(),o=void 0}}}return A(V);})();\nreturn moduleExports;\n});\n\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/json/monaco.contribution\", [\"require\",\"require\",\"vs/editor/editor.api\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var f=Object.create;var s=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var d=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(n,o)=>(typeof require<\"u\"?require:n)[o]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var v=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),x=(e,n)=>{for(var o in n)s(e,o,{get:n[o],enumerable:!0})},i=(e,n,o,a)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let r of N(n))!O.call(e,r)&&r!==o&&s(e,r,{get:()=>n[r],enumerable:!(a=h(n,r))||a.enumerable});return e},g=(e,n,o)=>(i(e,n,\"default\"),o&&i(o,n,\"default\")),c=(e,n,o)=>(o=e!=null?f(b(e)):{},i(n||!e||!e.__esModule?s(o,\"default\",{value:e,enumerable:!0}):o,e)),A=e=>i(s({},\"__esModule\",{value:!0}),e);var S=v((R,u)=>{var T=c(d(\"vs/editor/editor.api\"));u.exports=T});var M={};x(M,{getWorker:()=>p,jsonDefaults:()=>m});var t={};g(t,c(S()));var l=class{constructor(n,o,a){this._onDidChange=new t.Emitter;this._languageId=n,this.setDiagnosticsOptions(o),this.setModeConfiguration(a)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(n){this._diagnosticsOptions=n||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},D={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:\"warning\",schemaValidation:\"warning\",comments:\"error\",trailingCommas:\"error\"},C={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},m=new l(\"json\",D,C),p=()=>y().then(e=>e.getWorker());t.languages.json={jsonDefaults:m,getWorker:p};function y(){return new Promise((e,n)=>{d([\"vs/language/json/jsonMode\"],e,n)})}t.languages.register({id:\"json\",extensions:[\".json\",\".bowerrc\",\".jshintrc\",\".jscsrc\",\".eslintrc\",\".babelrc\",\".har\"],aliases:[\"JSON\",\"json\"],mimetypes:[\"application/json\"]});t.languages.onLanguage(\"json\",()=>{y().then(e=>e.setupMode(m))});return A(M);})();\nreturn moduleExports;\n});\n\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/typescript/monaco.contribution\", [\"require\",\"require\",\"vs/editor/editor.api\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var N=Object.create;var m=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var c=(n=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(n,{get:(e,t)=>(typeof require<\"u\"?require:e)[t]}):n)(function(n){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+n+'\" is not supported')});var w=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),A=(n,e)=>{for(var t in e)m(n,t,{get:e[t],enumerable:!0})},g=(n,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of M(e))!F.call(n,r)&&r!==t&&m(n,r,{get:()=>e[r],enumerable:!(i=H(e,r))||i.enumerable});return n},v=(n,e,t)=>(g(n,e,\"default\"),t&&g(t,e,\"default\")),C=(n,e,t)=>(t=n!=null?N(R(n)):{},g(e||!n||!n.__esModule?m(t,\"default\",{value:n,enumerable:!0}):t,n)),W=n=>g(m({},\"__esModule\",{value:!0}),n);var _=w((B,L)=>{var V=C(c(\"vs/editor/editor.api\"));L.exports=V});var T={};A(T,{JsxEmit:()=>f,ModuleKind:()=>b,ModuleResolutionKind:()=>O,NewLineKind:()=>y,ScriptTarget:()=>h,getJavaScriptWorker:()=>k,getTypeScriptWorker:()=>P,javascriptDefaults:()=>D,typescriptDefaults:()=>x,typescriptVersion:()=>I});var E=\"5.4.5\";var l={};v(l,C(_()));var b=(s=>(s[s.None=0]=\"None\",s[s.CommonJS=1]=\"CommonJS\",s[s.AMD=2]=\"AMD\",s[s.UMD=3]=\"UMD\",s[s.System=4]=\"System\",s[s.ES2015=5]=\"ES2015\",s[s.ESNext=99]=\"ESNext\",s))(b||{}),f=(a=>(a[a.None=0]=\"None\",a[a.Preserve=1]=\"Preserve\",a[a.React=2]=\"React\",a[a.ReactNative=3]=\"ReactNative\",a[a.ReactJSX=4]=\"ReactJSX\",a[a.ReactJSXDev=5]=\"ReactJSXDev\",a))(f||{}),y=(t=>(t[t.CarriageReturnLineFeed=0]=\"CarriageReturnLineFeed\",t[t.LineFeed=1]=\"LineFeed\",t))(y||{}),h=(o=>(o[o.ES3=0]=\"ES3\",o[o.ES5=1]=\"ES5\",o[o.ES2015=2]=\"ES2015\",o[o.ES2016=3]=\"ES2016\",o[o.ES2017=4]=\"ES2017\",o[o.ES2018=5]=\"ES2018\",o[o.ES2019=6]=\"ES2019\",o[o.ES2020=7]=\"ES2020\",o[o.ESNext=99]=\"ESNext\",o[o.JSON=100]=\"JSON\",o[o.Latest=99]=\"Latest\",o))(h||{}),O=(t=>(t[t.Classic=1]=\"Classic\",t[t.NodeJs=2]=\"NodeJs\",t))(O||{}),d=class{constructor(e,t,i,r,p){this._onDidChange=new l.Emitter;this._onDidExtraLibsChange=new l.Emitter;this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(i),this.setInlayHintsOptions(r),this.setModeConfiguration(p),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let i;if(typeof t>\"u\"?i=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i=t,this._extraLibs[i]&&this._extraLibs[i].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(r=this._extraLibs[i].version+1),this._extraLibs[i]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let p=this._extraLibs[i];p&&p.version===r&&(delete this._extraLibs[i],this._removedExtraLibs[i]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let i=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,r=t.content,p=1;this._removedExtraLibs[i]&&(p=this._removedExtraLibs[i]+1),this._extraLibs[i]={content:r,version:p}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},I=E,S={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},x=new d({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},S),D=new d({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},S),P=()=>u().then(n=>n.getTypeScriptWorker()),k=()=>u().then(n=>n.getJavaScriptWorker());l.languages.typescript={ModuleKind:b,JsxEmit:f,NewLineKind:y,ScriptTarget:h,ModuleResolutionKind:O,typescriptVersion:I,typescriptDefaults:x,javascriptDefaults:D,getTypeScriptWorker:P,getJavaScriptWorker:k};function u(){return new Promise((n,e)=>{c([\"vs/language/typescript/tsMode\"],n,e)})}l.languages.onLanguage(\"typescript\",()=>u().then(n=>n.setupTypeScript(x)));l.languages.onLanguage(\"javascript\",()=>u().then(n=>n.setupJavaScript(D)));return W(T);})();\nreturn moduleExports;\n});\n\ndefine(\"vs/editor/editor.main\", [\"vs/editor/edcore.main\",\"vs/basic-languages/monaco.contribution\",\"vs/language/css/monaco.contribution\",\"vs/language/html/monaco.contribution\",\"vs/language/json/monaco.contribution\",\"vs/language/typescript/monaco.contribution\"], function(api) { return api; });\n//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.js.map"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/language/css/cssMode.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/css/cssMode\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var Tt=Object.create;var X=Object.defineProperty;var _t=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var bt=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty;var Et=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(n,i)=>(typeof require<\"u\"?require:n)[i]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var Rt=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),Pt=(e,n)=>{for(var i in n)X(e,i,{get:n[i],enumerable:!0})},z=(e,n,i,r)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let t of Ct(n))!wt.call(e,t)&&t!==i&&X(e,t,{get:()=>n[t],enumerable:!(r=_t(n,t))||r.enumerable});return e},he=(e,n,i)=>(z(e,n,\"default\"),i&&z(i,n,\"default\")),me=(e,n,i)=>(i=e!=null?Tt(bt(e)):{},z(n||!e||!e.__esModule?X(i,\"default\",{value:e,enumerable:!0}):i,e)),Lt=e=>z(X({},\"__esModule\",{value:!0}),e);var ye=Rt((Qt,xe)=>{var Wt=me(Et(\"vs/editor/editor.api\"));xe.exports=Wt});var Bt={};Pt(Bt,{CompletionAdapter:()=>D,DefinitionAdapter:()=>A,DiagnosticsAdapter:()=>W,DocumentColorAdapter:()=>N,DocumentFormattingEditProvider:()=>U,DocumentHighlightAdapter:()=>F,DocumentLinkAdapter:()=>fe,DocumentRangeFormattingEditProvider:()=>H,DocumentSymbolAdapter:()=>j,FoldingRangeAdapter:()=>O,HoverAdapter:()=>S,ReferenceAdapter:()=>M,RenameAdapter:()=>K,SelectionRangeAdapter:()=>V,WorkerManager:()=>_,fromPosition:()=>k,fromRange:()=>pe,setupMode:()=>$t,toRange:()=>y,toTextEdit:()=>P});var d={};he(d,me(ye()));var Dt=2*60*1e3,_=class{constructor(n){this._defaults=n,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>Dt&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=d.editor.createWebWorker({moduleId:\"vs/language/css/cssWorker\",label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...n){let i;return this._getClient().then(r=>{i=r}).then(r=>{if(this._worker)return this._worker.withSyncedResources(n)}).then(r=>i)}};var ve;(function(e){function n(i){return typeof i==\"string\"}e.is=n})(ve||(ve={}));var Z;(function(e){function n(i){return typeof i==\"string\"}e.is=n})(Z||(Z={}));var Ie;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function n(i){return typeof i==\"number\"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(Ie||(Ie={}));var $;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function n(i){return typeof i==\"number\"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})($||($={}));var I;(function(e){function n(r,t){return r===Number.MAX_VALUE&&(r=$.MAX_VALUE),t===Number.MAX_VALUE&&(t=$.MAX_VALUE),{line:r,character:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.uinteger(t.line)&&a.uinteger(t.character)}e.is=i})(I||(I={}));var h;(function(e){function n(r,t,o,s){if(a.uinteger(r)&&a.uinteger(t)&&a.uinteger(o)&&a.uinteger(s))return{start:I.create(r,t),end:I.create(o,s)};if(I.is(r)&&I.is(t))return{start:r,end:t};throw new Error(`Range#create called with invalid arguments[${r}, ${t}, ${o}, ${s}]`)}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&I.is(t.start)&&I.is(t.end)}e.is=i})(h||(h={}));var B;(function(e){function n(r,t){return{uri:r,range:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&h.is(t.range)&&(a.string(t.uri)||a.undefined(t.uri))}e.is=i})(B||(B={}));var ke;(function(e){function n(r,t,o,s){return{targetUri:r,targetRange:t,targetSelectionRange:o,originSelectionRange:s}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&h.is(t.targetRange)&&a.string(t.targetUri)&&h.is(t.targetSelectionRange)&&(h.is(t.originSelectionRange)||a.undefined(t.originSelectionRange))}e.is=i})(ke||(ke={}));var ee;(function(e){function n(r,t,o,s){return{red:r,green:t,blue:o,alpha:s}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.numberRange(t.red,0,1)&&a.numberRange(t.green,0,1)&&a.numberRange(t.blue,0,1)&&a.numberRange(t.alpha,0,1)}e.is=i})(ee||(ee={}));var Te;(function(e){function n(r,t){return{range:r,color:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&h.is(t.range)&&ee.is(t.color)}e.is=i})(Te||(Te={}));var _e;(function(e){function n(r,t,o){return{label:r,textEdit:t,additionalTextEdits:o}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.string(t.label)&&(a.undefined(t.textEdit)||w.is(t))&&(a.undefined(t.additionalTextEdits)||a.typedArray(t.additionalTextEdits,w.is))}e.is=i})(_e||(_e={}));var C;(function(e){e.Comment=\"comment\",e.Imports=\"imports\",e.Region=\"region\"})(C||(C={}));var Ce;(function(e){function n(r,t,o,s,u,g){let f={startLine:r,endLine:t};return a.defined(o)&&(f.startCharacter=o),a.defined(s)&&(f.endCharacter=s),a.defined(u)&&(f.kind=u),a.defined(g)&&(f.collapsedText=g),f}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.uinteger(t.startLine)&&a.uinteger(t.startLine)&&(a.undefined(t.startCharacter)||a.uinteger(t.startCharacter))&&(a.undefined(t.endCharacter)||a.uinteger(t.endCharacter))&&(a.undefined(t.kind)||a.string(t.kind))}e.is=i})(Ce||(Ce={}));var te;(function(e){function n(r,t){return{location:r,message:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&B.is(t.location)&&a.string(t.message)}e.is=i})(te||(te={}));var T;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(T||(T={}));var be;(function(e){e.Unnecessary=1,e.Deprecated=2})(be||(be={}));var we;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&a.string(r.href)}e.is=n})(we||(we={}));var q;(function(e){function n(r,t,o,s,u,g){let f={range:r,message:t};return a.defined(o)&&(f.severity=o),a.defined(s)&&(f.code=s),a.defined(u)&&(f.source=u),a.defined(g)&&(f.relatedInformation=g),f}e.create=n;function i(r){var t;let o=r;return a.defined(o)&&h.is(o.range)&&a.string(o.message)&&(a.number(o.severity)||a.undefined(o.severity))&&(a.integer(o.code)||a.string(o.code)||a.undefined(o.code))&&(a.undefined(o.codeDescription)||a.string((t=o.codeDescription)===null||t===void 0?void 0:t.href))&&(a.string(o.source)||a.undefined(o.source))&&(a.undefined(o.relatedInformation)||a.typedArray(o.relatedInformation,te.is))}e.is=i})(q||(q={}));var b;(function(e){function n(r,t,...o){let s={title:r,command:t};return a.defined(o)&&o.length>0&&(s.arguments=o),s}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.title)&&a.string(t.command)}e.is=i})(b||(b={}));var w;(function(e){function n(o,s){return{range:o,newText:s}}e.replace=n;function i(o,s){return{range:{start:o,end:o},newText:s}}e.insert=i;function r(o){return{range:o,newText:\"\"}}e.del=r;function t(o){let s=o;return a.objectLiteral(s)&&a.string(s.newText)&&h.is(s.range)}e.is=t})(w||(w={}));var ne;(function(e){function n(r,t,o){let s={label:r};return t!==void 0&&(s.needsConfirmation=t),o!==void 0&&(s.description=o),s}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.string(t.label)&&(a.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(a.string(t.description)||t.description===void 0)}e.is=i})(ne||(ne={}));var E;(function(e){function n(i){let r=i;return a.string(r)}e.is=n})(E||(E={}));var Ee;(function(e){function n(o,s,u){return{range:o,newText:s,annotationId:u}}e.replace=n;function i(o,s,u){return{range:{start:o,end:o},newText:s,annotationId:u}}e.insert=i;function r(o,s){return{range:o,newText:\"\",annotationId:s}}e.del=r;function t(o){let s=o;return w.is(s)&&(ne.is(s.annotationId)||E.is(s.annotationId))}e.is=t})(Ee||(Ee={}));var re;(function(e){function n(r,t){return{textDocument:r,edits:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&ue.is(t.textDocument)&&Array.isArray(t.edits)}e.is=i})(re||(re={}));var ie;(function(e){function n(r,t,o){let s={kind:\"create\",uri:r};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(s.options=t),o!==void 0&&(s.annotationId=o),s}e.create=n;function i(r){let t=r;return t&&t.kind===\"create\"&&a.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||a.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||a.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(ie||(ie={}));var oe;(function(e){function n(r,t,o,s){let u={kind:\"rename\",oldUri:r,newUri:t};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(u.options=o),s!==void 0&&(u.annotationId=s),u}e.create=n;function i(r){let t=r;return t&&t.kind===\"rename\"&&a.string(t.oldUri)&&a.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||a.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||a.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(oe||(oe={}));var se;(function(e){function n(r,t,o){let s={kind:\"delete\",uri:r};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(s.options=t),o!==void 0&&(s.annotationId=o),s}e.create=n;function i(r){let t=r;return t&&t.kind===\"delete\"&&a.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||a.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||a.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(se||(se={}));var ae;(function(e){function n(i){let r=i;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(t=>a.string(t.kind)?ie.is(t)||oe.is(t)||se.is(t):re.is(t)))}e.is=n})(ae||(ae={}));var Re;(function(e){function n(r){return{uri:r}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)}e.is=i})(Re||(Re={}));var Pe;(function(e){function n(r,t){return{uri:r,version:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&a.integer(t.version)}e.is=i})(Pe||(Pe={}));var ue;(function(e){function n(r,t){return{uri:r,version:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&(t.version===null||a.integer(t.version))}e.is=i})(ue||(ue={}));var Le;(function(e){function n(r,t,o,s){return{uri:r,languageId:t,version:o,text:s}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&a.string(t.languageId)&&a.integer(t.version)&&a.string(t.text)}e.is=i})(Le||(Le={}));var de;(function(e){e.PlainText=\"plaintext\",e.Markdown=\"markdown\";function n(i){let r=i;return r===e.PlainText||r===e.Markdown}e.is=n})(de||(de={}));var L;(function(e){function n(i){let r=i;return a.objectLiteral(i)&&de.is(r.kind)&&a.string(r.value)}e.is=n})(L||(L={}));var m;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(m||(m={}));var Q;(function(e){e.PlainText=1,e.Snippet=2})(Q||(Q={}));var We;(function(e){e.Deprecated=1})(We||(We={}));var De;(function(e){function n(r,t,o){return{newText:r,insert:t,replace:o}}e.create=n;function i(r){let t=r;return t&&a.string(t.newText)&&h.is(t.insert)&&h.is(t.replace)}e.is=i})(De||(De={}));var Se;(function(e){e.asIs=1,e.adjustIndentation=2})(Se||(Se={}));var Fe;(function(e){function n(i){let r=i;return r&&(a.string(r.detail)||r.detail===void 0)&&(a.string(r.description)||r.description===void 0)}e.is=n})(Fe||(Fe={}));var Ae;(function(e){function n(i){return{label:i}}e.create=n})(Ae||(Ae={}));var Me;(function(e){function n(i,r){return{items:i||[],isIncomplete:!!r}}e.create=n})(Me||(Me={}));var G;(function(e){function n(r){return r.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}e.fromPlainText=n;function i(r){let t=r;return a.string(t)||a.objectLiteral(t)&&a.string(t.language)&&a.string(t.value)}e.is=i})(G||(G={}));var Ke;(function(e){function n(i){let r=i;return!!r&&a.objectLiteral(r)&&(L.is(r.contents)||G.is(r.contents)||a.typedArray(r.contents,G.is))&&(i.range===void 0||h.is(i.range))}e.is=n})(Ke||(Ke={}));var je;(function(e){function n(i,r){return r?{label:i,documentation:r}:{label:i}}e.create=n})(je||(je={}));var Ue;(function(e){function n(i,r,...t){let o={label:i};return a.defined(r)&&(o.documentation=r),a.defined(t)?o.parameters=t:o.parameters=[],o}e.create=n})(Ue||(Ue={}));var R;(function(e){e.Text=1,e.Read=2,e.Write=3})(R||(R={}));var He;(function(e){function n(i,r){let t={range:i};return a.number(r)&&(t.kind=r),t}e.create=n})(He||(He={}));var x;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(x||(x={}));var Ne;(function(e){e.Deprecated=1})(Ne||(Ne={}));var Oe;(function(e){function n(i,r,t,o,s){let u={name:i,kind:r,location:{uri:o,range:t}};return s&&(u.containerName=s),u}e.create=n})(Oe||(Oe={}));var Ve;(function(e){function n(i,r,t,o){return o!==void 0?{name:i,kind:r,location:{uri:t,range:o}}:{name:i,kind:r,location:{uri:t}}}e.create=n})(Ve||(Ve={}));var ze;(function(e){function n(r,t,o,s,u,g){let f={name:r,detail:t,kind:o,range:s,selectionRange:u};return g!==void 0&&(f.children=g),f}e.create=n;function i(r){let t=r;return t&&a.string(t.name)&&a.number(t.kind)&&h.is(t.range)&&h.is(t.selectionRange)&&(t.detail===void 0||a.string(t.detail))&&(t.deprecated===void 0||a.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=i})(ze||(ze={}));var Xe;(function(e){e.Empty=\"\",e.QuickFix=\"quickfix\",e.Refactor=\"refactor\",e.RefactorExtract=\"refactor.extract\",e.RefactorInline=\"refactor.inline\",e.RefactorRewrite=\"refactor.rewrite\",e.Source=\"source\",e.SourceOrganizeImports=\"source.organizeImports\",e.SourceFixAll=\"source.fixAll\"})(Xe||(Xe={}));var J;(function(e){e.Invoked=1,e.Automatic=2})(J||(J={}));var $e;(function(e){function n(r,t,o){let s={diagnostics:r};return t!=null&&(s.only=t),o!=null&&(s.triggerKind=o),s}e.create=n;function i(r){let t=r;return a.defined(t)&&a.typedArray(t.diagnostics,q.is)&&(t.only===void 0||a.typedArray(t.only,a.string))&&(t.triggerKind===void 0||t.triggerKind===J.Invoked||t.triggerKind===J.Automatic)}e.is=i})($e||($e={}));var Be;(function(e){function n(r,t,o){let s={title:r},u=!0;return typeof t==\"string\"?(u=!1,s.kind=t):b.is(t)?s.command=t:s.edit=t,u&&o!==void 0&&(s.kind=o),s}e.create=n;function i(r){let t=r;return t&&a.string(t.title)&&(t.diagnostics===void 0||a.typedArray(t.diagnostics,q.is))&&(t.kind===void 0||a.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||b.is(t.command))&&(t.isPreferred===void 0||a.boolean(t.isPreferred))&&(t.edit===void 0||ae.is(t.edit))}e.is=i})(Be||(Be={}));var qe;(function(e){function n(r,t){let o={range:r};return a.defined(t)&&(o.data=t),o}e.create=n;function i(r){let t=r;return a.defined(t)&&h.is(t.range)&&(a.undefined(t.command)||b.is(t.command))}e.is=i})(qe||(qe={}));var Qe;(function(e){function n(r,t){return{tabSize:r,insertSpaces:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.uinteger(t.tabSize)&&a.boolean(t.insertSpaces)}e.is=i})(Qe||(Qe={}));var Ge;(function(e){function n(r,t,o){return{range:r,target:t,data:o}}e.create=n;function i(r){let t=r;return a.defined(t)&&h.is(t.range)&&(a.undefined(t.target)||a.string(t.target))}e.is=i})(Ge||(Ge={}));var Je;(function(e){function n(r,t){return{range:r,parent:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&h.is(t.range)&&(t.parent===void 0||e.is(t.parent))}e.is=i})(Je||(Je={}));var Ye;(function(e){e.namespace=\"namespace\",e.type=\"type\",e.class=\"class\",e.enum=\"enum\",e.interface=\"interface\",e.struct=\"struct\",e.typeParameter=\"typeParameter\",e.parameter=\"parameter\",e.variable=\"variable\",e.property=\"property\",e.enumMember=\"enumMember\",e.event=\"event\",e.function=\"function\",e.method=\"method\",e.macro=\"macro\",e.keyword=\"keyword\",e.modifier=\"modifier\",e.comment=\"comment\",e.string=\"string\",e.number=\"number\",e.regexp=\"regexp\",e.operator=\"operator\",e.decorator=\"decorator\"})(Ye||(Ye={}));var Ze;(function(e){e.declaration=\"declaration\",e.definition=\"definition\",e.readonly=\"readonly\",e.static=\"static\",e.deprecated=\"deprecated\",e.abstract=\"abstract\",e.async=\"async\",e.modification=\"modification\",e.documentation=\"documentation\",e.defaultLibrary=\"defaultLibrary\"})(Ze||(Ze={}));var et;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId==\"string\")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]==\"number\")}e.is=n})(et||(et={}));var tt;(function(e){function n(r,t){return{range:r,text:t}}e.create=n;function i(r){let t=r;return t!=null&&h.is(t.range)&&a.string(t.text)}e.is=i})(tt||(tt={}));var nt;(function(e){function n(r,t,o){return{range:r,variableName:t,caseSensitiveLookup:o}}e.create=n;function i(r){let t=r;return t!=null&&h.is(t.range)&&a.boolean(t.caseSensitiveLookup)&&(a.string(t.variableName)||t.variableName===void 0)}e.is=i})(nt||(nt={}));var rt;(function(e){function n(r,t){return{range:r,expression:t}}e.create=n;function i(r){let t=r;return t!=null&&h.is(t.range)&&(a.string(t.expression)||t.expression===void 0)}e.is=i})(rt||(rt={}));var it;(function(e){function n(r,t){return{frameId:r,stoppedLocation:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&h.is(r.stoppedLocation)}e.is=i})(it||(it={}));var ce;(function(e){e.Type=1,e.Parameter=2;function n(i){return i===1||i===2}e.is=n})(ce||(ce={}));var le;(function(e){function n(r){return{value:r}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&(t.tooltip===void 0||a.string(t.tooltip)||L.is(t.tooltip))&&(t.location===void 0||B.is(t.location))&&(t.command===void 0||b.is(t.command))}e.is=i})(le||(le={}));var ot;(function(e){function n(r,t,o){let s={position:r,label:t};return o!==void 0&&(s.kind=o),s}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&I.is(t.position)&&(a.string(t.label)||a.typedArray(t.label,le.is))&&(t.kind===void 0||ce.is(t.kind))&&t.textEdits===void 0||a.typedArray(t.textEdits,w.is)&&(t.tooltip===void 0||a.string(t.tooltip)||L.is(t.tooltip))&&(t.paddingLeft===void 0||a.boolean(t.paddingLeft))&&(t.paddingRight===void 0||a.boolean(t.paddingRight))}e.is=i})(ot||(ot={}));var st;(function(e){function n(i){return{kind:\"snippet\",value:i}}e.createSnippet=n})(st||(st={}));var at;(function(e){function n(i,r,t,o){return{insertText:i,filterText:r,range:t,command:o}}e.create=n})(at||(at={}));var ut;(function(e){function n(i){return{items:i}}e.create=n})(ut||(ut={}));var dt;(function(e){e.Invoked=0,e.Automatic=1})(dt||(dt={}));var ct;(function(e){function n(i,r){return{range:i,text:r}}e.create=n})(ct||(ct={}));var lt;(function(e){function n(i,r){return{triggerKind:i,selectedCompletionInfo:r}}e.create=n})(lt||(lt={}));var gt;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&Z.is(r.uri)&&a.string(r.name)}e.is=n})(gt||(gt={}));var ft;(function(e){function n(o,s,u,g){return new ge(o,s,u,g)}e.create=n;function i(o){let s=o;return!!(a.defined(s)&&a.string(s.uri)&&(a.undefined(s.languageId)||a.string(s.languageId))&&a.uinteger(s.lineCount)&&a.func(s.getText)&&a.func(s.positionAt)&&a.func(s.offsetAt))}e.is=i;function r(o,s){let u=o.getText(),g=t(s,(l,p)=>{let v=l.range.start.line-p.range.start.line;return v===0?l.range.start.character-p.range.start.character:v}),f=u.length;for(let l=g.length-1;l>=0;l--){let p=g[l],v=o.offsetAt(p.range.start),c=o.offsetAt(p.range.end);if(c<=f)u=u.substring(0,v)+p.newText+u.substring(c,u.length);else throw new Error(\"Overlapping edit\");f=v}return u}e.applyEdits=r;function t(o,s){if(o.length<=1)return o;let u=o.length/2|0,g=o.slice(0,u),f=o.slice(u);t(g,s),t(f,s);let l=0,p=0,v=0;for(;l<g.length&&p<f.length;)s(g[l],f[p])<=0?o[v++]=g[l++]:o[v++]=f[p++];for(;l<g.length;)o[v++]=g[l++];for(;p<f.length;)o[v++]=f[p++];return o}})(ft||(ft={}));var ge=class{constructor(n,i,r,t){this._uri=n,this._languageId=i,this._version=r,this._content=t,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(n){if(n){let i=this.offsetAt(n.start),r=this.offsetAt(n.end);return this._content.substring(i,r)}return this._content}update(n,i){this._content=n.text,this._version=i,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let n=[],i=this._content,r=!0;for(let t=0;t<i.length;t++){r&&(n.push(t),r=!1);let o=i.charAt(t);r=o===\"\\r\"||o===`\n`,o===\"\\r\"&&t+1<i.length&&i.charAt(t+1)===`\n`&&t++}r&&i.length>0&&n.push(i.length),this._lineOffsets=n}return this._lineOffsets}positionAt(n){n=Math.max(Math.min(n,this._content.length),0);let i=this.getLineOffsets(),r=0,t=i.length;if(t===0)return I.create(0,n);for(;r<t;){let s=Math.floor((r+t)/2);i[s]>n?t=s:r=s+1}let o=r-1;return I.create(o,n-i[o])}offsetAt(n){let i=this.getLineOffsets();if(n.line>=i.length)return this._content.length;if(n.line<0)return 0;let r=i[n.line],t=n.line+1<i.length?i[n.line+1]:this._content.length;return Math.max(Math.min(r+n.character,t),r)}get lineCount(){return this.getLineOffsets().length}},a;(function(e){let n=Object.prototype.toString;function i(c){return typeof c<\"u\"}e.defined=i;function r(c){return typeof c>\"u\"}e.undefined=r;function t(c){return c===!0||c===!1}e.boolean=t;function o(c){return n.call(c)===\"[object String]\"}e.string=o;function s(c){return n.call(c)===\"[object Number]\"}e.number=s;function u(c,Y,kt){return n.call(c)===\"[object Number]\"&&Y<=c&&c<=kt}e.numberRange=u;function g(c){return n.call(c)===\"[object Number]\"&&-2147483648<=c&&c<=2147483647}e.integer=g;function f(c){return n.call(c)===\"[object Number]\"&&0<=c&&c<=2147483647}e.uinteger=f;function l(c){return n.call(c)===\"[object Function]\"}e.func=l;function p(c){return c!==null&&typeof c==\"object\"}e.objectLiteral=p;function v(c,Y){return Array.isArray(c)&&c.every(Y)}e.typedArray=v})(a||(a={}));var W=class{constructor(n,i,r){this._languageId=n;this._worker=i;this._disposables=[];this._listener=Object.create(null);let t=s=>{let u=s.getLanguageId();if(u!==this._languageId)return;let g;this._listener[s.uri.toString()]=s.onDidChangeContent(()=>{window.clearTimeout(g),g=window.setTimeout(()=>this._doValidate(s.uri,u),500)}),this._doValidate(s.uri,u)},o=s=>{d.editor.setModelMarkers(s,this._languageId,[]);let u=s.uri.toString(),g=this._listener[u];g&&(g.dispose(),delete this._listener[u])};this._disposables.push(d.editor.onDidCreateModel(t)),this._disposables.push(d.editor.onWillDisposeModel(o)),this._disposables.push(d.editor.onDidChangeModelLanguage(s=>{o(s.model),t(s.model)})),this._disposables.push(r(s=>{d.editor.getModels().forEach(u=>{u.getLanguageId()===this._languageId&&(o(u),t(u))})})),this._disposables.push({dispose:()=>{d.editor.getModels().forEach(o);for(let s in this._listener)this._listener[s].dispose()}}),d.editor.getModels().forEach(t)}dispose(){this._disposables.forEach(n=>n&&n.dispose()),this._disposables.length=0}_doValidate(n,i){this._worker(n).then(r=>r.doValidation(n.toString())).then(r=>{let t=r.map(s=>At(n,s)),o=d.editor.getModel(n);o&&o.getLanguageId()===i&&d.editor.setModelMarkers(o,i,t)}).then(void 0,r=>{console.error(r)})}};function Ft(e){switch(e){case T.Error:return d.MarkerSeverity.Error;case T.Warning:return d.MarkerSeverity.Warning;case T.Information:return d.MarkerSeverity.Info;case T.Hint:return d.MarkerSeverity.Hint;default:return d.MarkerSeverity.Info}}function At(e,n){let i=typeof n.code==\"number\"?String(n.code):n.code;return{severity:Ft(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:i,source:n.source}}var D=class{constructor(n,i){this._worker=n;this._triggerCharacters=i}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.doComplete(o.toString(),k(i))).then(s=>{if(!s)return;let u=n.getWordUntilPosition(i),g=new d.Range(i.lineNumber,u.startColumn,i.lineNumber,u.endColumn),f=s.items.map(l=>{let p={label:l.label,insertText:l.insertText||l.label,sortText:l.sortText,filterText:l.filterText,documentation:l.documentation,detail:l.detail,command:jt(l.command),range:g,kind:Kt(l.kind)};return l.textEdit&&(Mt(l.textEdit)?p.range={insert:y(l.textEdit.insert),replace:y(l.textEdit.replace)}:p.range=y(l.textEdit.range),p.insertText=l.textEdit.newText),l.additionalTextEdits&&(p.additionalTextEdits=l.additionalTextEdits.map(P)),l.insertTextFormat===Q.Snippet&&(p.insertTextRules=d.languages.CompletionItemInsertTextRule.InsertAsSnippet),p});return{isIncomplete:s.isIncomplete,suggestions:f}})}};function k(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function pe(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function y(e){if(e)return new d.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function Mt(e){return typeof e.insert<\"u\"&&typeof e.replace<\"u\"}function Kt(e){let n=d.languages.CompletionItemKind;switch(e){case m.Text:return n.Text;case m.Method:return n.Method;case m.Function:return n.Function;case m.Constructor:return n.Constructor;case m.Field:return n.Field;case m.Variable:return n.Variable;case m.Class:return n.Class;case m.Interface:return n.Interface;case m.Module:return n.Module;case m.Property:return n.Property;case m.Unit:return n.Unit;case m.Value:return n.Value;case m.Enum:return n.Enum;case m.Keyword:return n.Keyword;case m.Snippet:return n.Snippet;case m.Color:return n.Color;case m.File:return n.File;case m.Reference:return n.Reference}return n.Property}function P(e){if(e)return{range:y(e.range),text:e.newText}}function jt(e){return e&&e.command===\"editor.action.triggerSuggest\"?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var S=class{constructor(n){this._worker=n}provideHover(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.doHover(t.toString(),k(i))).then(o=>{if(o)return{range:y(o.range),contents:Ht(o.contents)}})}};function Ut(e){return e&&typeof e==\"object\"&&typeof e.kind==\"string\"}function pt(e){return typeof e==\"string\"?{value:e}:Ut(e)?e.kind===\"plaintext\"?{value:e.value.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}:{value:e.value}:{value:\"```\"+e.language+`\n`+e.value+\"\\n```\\n\"}}function Ht(e){if(e)return Array.isArray(e)?e.map(pt):[pt(e)]}var F=class{constructor(n){this._worker=n}provideDocumentHighlights(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.findDocumentHighlights(t.toString(),k(i))).then(o=>{if(o)return o.map(s=>({range:y(s.range),kind:Nt(s.kind)}))})}};function Nt(e){switch(e){case R.Read:return d.languages.DocumentHighlightKind.Read;case R.Write:return d.languages.DocumentHighlightKind.Write;case R.Text:return d.languages.DocumentHighlightKind.Text}return d.languages.DocumentHighlightKind.Text}var A=class{constructor(n){this._worker=n}provideDefinition(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.findDefinition(t.toString(),k(i))).then(o=>{if(o)return[ht(o)]})}};function ht(e){return{uri:d.Uri.parse(e.uri),range:y(e.range)}}var M=class{constructor(n){this._worker=n}provideReferences(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.findReferences(o.toString(),k(i))).then(s=>{if(s)return s.map(ht)})}},K=class{constructor(n){this._worker=n}provideRenameEdits(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.doRename(o.toString(),k(i),r)).then(s=>Ot(s))}};function Ot(e){if(!e||!e.changes)return;let n=[];for(let i in e.changes){let r=d.Uri.parse(i);for(let t of e.changes[i])n.push({resource:r,versionId:void 0,textEdit:{range:y(t.range),text:t.newText}})}return{edits:n}}var j=class{constructor(n){this._worker=n}provideDocumentSymbols(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentSymbols(r.toString())).then(t=>{if(t)return t.map(o=>Vt(o)?mt(o):{name:o.name,detail:\"\",containerName:o.containerName,kind:xt(o.kind),range:y(o.location.range),selectionRange:y(o.location.range),tags:[]})})}};function Vt(e){return\"children\"in e}function mt(e){return{name:e.name,detail:e.detail??\"\",kind:xt(e.kind),range:y(e.range),selectionRange:y(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(n=>mt(n))}}function xt(e){let n=d.languages.SymbolKind;switch(e){case x.File:return n.File;case x.Module:return n.Module;case x.Namespace:return n.Namespace;case x.Package:return n.Package;case x.Class:return n.Class;case x.Method:return n.Method;case x.Property:return n.Property;case x.Field:return n.Field;case x.Constructor:return n.Constructor;case x.Enum:return n.Enum;case x.Interface:return n.Interface;case x.Function:return n.Function;case x.Variable:return n.Variable;case x.Constant:return n.Constant;case x.String:return n.String;case x.Number:return n.Number;case x.Boolean:return n.Boolean;case x.Array:return n.Array}return n.Function}var fe=class{constructor(n){this._worker=n}provideLinks(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentLinks(r.toString())).then(t=>{if(t)return{links:t.map(o=>({range:y(o.range),url:o.target}))}})}},U=class{constructor(n){this._worker=n}provideDocumentFormattingEdits(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.format(t.toString(),null,yt(i)).then(s=>{if(!(!s||s.length===0))return s.map(P)}))}},H=class{constructor(n){this._worker=n;this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.format(o.toString(),pe(i),yt(r)).then(u=>{if(!(!u||u.length===0))return u.map(P)}))}};function yt(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var N=class{constructor(n){this._worker=n}provideDocumentColors(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentColors(r.toString())).then(t=>{if(t)return t.map(o=>({color:o.color,range:y(o.range)}))})}provideColorPresentations(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getColorPresentations(t.toString(),i.color,pe(i.range))).then(o=>{if(o)return o.map(s=>{let u={label:s.label};return s.textEdit&&(u.textEdit=P(s.textEdit)),s.additionalTextEdits&&(u.additionalTextEdits=s.additionalTextEdits.map(P)),u})})}},O=class{constructor(n){this._worker=n}provideFoldingRanges(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getFoldingRanges(t.toString(),i)).then(o=>{if(o)return o.map(s=>{let u={start:s.startLine+1,end:s.endLine+1};return typeof s.kind<\"u\"&&(u.kind=zt(s.kind)),u})})}};function zt(e){switch(e){case C.Comment:return d.languages.FoldingRangeKind.Comment;case C.Imports:return d.languages.FoldingRangeKind.Imports;case C.Region:return d.languages.FoldingRangeKind.Region}}var V=class{constructor(n){this._worker=n}provideSelectionRanges(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getSelectionRanges(t.toString(),i.map(k))).then(o=>{if(o)return o.map(s=>{let u=[];for(;s;)u.push({range:y(s.range)}),s=s.parent;return u})})}};function $t(e){let n=[],i=[],r=new _(e);n.push(r);let t=(...s)=>r.getLanguageServiceWorker(...s);function o(){let{languageId:s,modeConfiguration:u}=e;It(i),u.completionItems&&i.push(d.languages.registerCompletionItemProvider(s,new D(t,[\"/\",\"-\",\":\"]))),u.hovers&&i.push(d.languages.registerHoverProvider(s,new S(t))),u.documentHighlights&&i.push(d.languages.registerDocumentHighlightProvider(s,new F(t))),u.definitions&&i.push(d.languages.registerDefinitionProvider(s,new A(t))),u.references&&i.push(d.languages.registerReferenceProvider(s,new M(t))),u.documentSymbols&&i.push(d.languages.registerDocumentSymbolProvider(s,new j(t))),u.rename&&i.push(d.languages.registerRenameProvider(s,new K(t))),u.colors&&i.push(d.languages.registerColorProvider(s,new N(t))),u.foldingRanges&&i.push(d.languages.registerFoldingRangeProvider(s,new O(t))),u.diagnostics&&i.push(new W(s,t,e.onDidChange)),u.selectionRanges&&i.push(d.languages.registerSelectionRangeProvider(s,new V(t))),u.documentFormattingEdits&&i.push(d.languages.registerDocumentFormattingEditProvider(s,new U(t))),u.documentRangeFormattingEdits&&i.push(d.languages.registerDocumentRangeFormattingEditProvider(s,new H(t)))}return o(),n.push(vt(i)),vt(n)}function vt(e){return{dispose:()=>It(e)}}function It(e){for(;e.length;)e.pop().dispose()}return Lt(Bt);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/language/css/cssWorker.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/css/cssWorker\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var Er=Object.defineProperty;var Fo=Object.getOwnPropertyDescriptor;var Eo=Object.getOwnPropertyNames;var _o=Object.prototype.hasOwnProperty;var Io=(n,e)=>{for(var t in e)Er(n,t,{get:e[t],enumerable:!0})},Do=(n,e,t,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of Eo(e))!_o.call(n,i)&&i!==t&&Er(n,i,{get:()=>e[i],enumerable:!(r=Fo(e,i))||r.enumerable});return n};var Ro=n=>Do(Er({},\"__esModule\",{value:!0}),n);var nl={};Io(nl,{CSSWorker:()=>Fr,create:()=>tl});var c;(function(n){n[n.Ident=0]=\"Ident\",n[n.AtKeyword=1]=\"AtKeyword\",n[n.String=2]=\"String\",n[n.BadString=3]=\"BadString\",n[n.UnquotedString=4]=\"UnquotedString\",n[n.Hash=5]=\"Hash\",n[n.Num=6]=\"Num\",n[n.Percentage=7]=\"Percentage\",n[n.Dimension=8]=\"Dimension\",n[n.UnicodeRange=9]=\"UnicodeRange\",n[n.CDO=10]=\"CDO\",n[n.CDC=11]=\"CDC\",n[n.Colon=12]=\"Colon\",n[n.SemiColon=13]=\"SemiColon\",n[n.CurlyL=14]=\"CurlyL\",n[n.CurlyR=15]=\"CurlyR\",n[n.ParenthesisL=16]=\"ParenthesisL\",n[n.ParenthesisR=17]=\"ParenthesisR\",n[n.BracketL=18]=\"BracketL\",n[n.BracketR=19]=\"BracketR\",n[n.Whitespace=20]=\"Whitespace\",n[n.Includes=21]=\"Includes\",n[n.Dashmatch=22]=\"Dashmatch\",n[n.SubstringOperator=23]=\"SubstringOperator\",n[n.PrefixOperator=24]=\"PrefixOperator\",n[n.SuffixOperator=25]=\"SuffixOperator\",n[n.Delim=26]=\"Delim\",n[n.EMS=27]=\"EMS\",n[n.EXS=28]=\"EXS\",n[n.Length=29]=\"Length\",n[n.Angle=30]=\"Angle\",n[n.Time=31]=\"Time\",n[n.Freq=32]=\"Freq\",n[n.Exclamation=33]=\"Exclamation\",n[n.Resolution=34]=\"Resolution\",n[n.Comma=35]=\"Comma\",n[n.Charset=36]=\"Charset\",n[n.EscapedJavaScript=37]=\"EscapedJavaScript\",n[n.BadEscapedJavaScript=38]=\"BadEscapedJavaScript\",n[n.Comment=39]=\"Comment\",n[n.SingleLineComment=40]=\"SingleLineComment\",n[n.EOF=41]=\"EOF\",n[n.ContainerQueryLength=42]=\"ContainerQueryLength\",n[n.CustomToken=43]=\"CustomToken\"})(c||(c={}));var un=class{constructor(e){this.source=e,this.len=e.length,this.position=0}substring(e,t=this.position){return this.source.substring(e,t)}eos(){return this.len<=this.position}pos(){return this.position}goBackTo(e){this.position=e}goBack(e){this.position-=e}advance(e){this.position+=e}nextChar(){return this.source.charCodeAt(this.position++)||0}peekChar(e=0){return this.source.charCodeAt(this.position+e)||0}lookbackChar(e=0){return this.source.charCodeAt(this.position-e)||0}advanceIfChar(e){return e===this.source.charCodeAt(this.position)?(this.position++,!0):!1}advanceIfChars(e){if(this.position+e.length>this.source.length)return!1;let t=0;for(;t<e.length;t++)if(this.source.charCodeAt(this.position+t)!==e[t])return!1;return this.advance(t),!0}advanceWhileChar(e){let t=this.position;for(;this.position<this.len&&e(this.source.charCodeAt(this.position));)this.position++;return this.position-t}},pn=97,Pi=102,Ai=122;var mn=65,Wi=70,Li=90,At=48,Wt=57,zo=126,Mo=94,Lt=61,To=124,Qe=45,$i=95,No=37,_r=42,Ki=40,Gi=41,Oo=60,Po=62,Ao=64,Wo=35,Lo=36,Ir=92,Ui=47,ct=10,dt=13,$t=12,Vi=34,ji=39,Dr=32,Rr=9,$o=59,Uo=58,Vo=123,jo=125,Bo=91,qo=93,Ko=44,Bi=46,qi=33,Go=63,Ho=43,ve={};ve[$o]=c.SemiColon;ve[Uo]=c.Colon;ve[Vo]=c.CurlyL;ve[jo]=c.CurlyR;ve[qo]=c.BracketR;ve[Bo]=c.BracketL;ve[Ki]=c.ParenthesisL;ve[Gi]=c.ParenthesisR;ve[Ko]=c.Comma;var U={};U.em=c.EMS;U.ex=c.EXS;U.px=c.Length;U.cm=c.Length;U.mm=c.Length;U.in=c.Length;U.pt=c.Length;U.pc=c.Length;U.deg=c.Angle;U.rad=c.Angle;U.grad=c.Angle;U.ms=c.Time;U.s=c.Time;U.hz=c.Freq;U.khz=c.Freq;U[\"%\"]=c.Percentage;U.fr=c.Percentage;U.dpi=c.Resolution;U.dpcm=c.Resolution;U.cqw=c.ContainerQueryLength;U.cqh=c.ContainerQueryLength;U.cqi=c.ContainerQueryLength;U.cqb=c.ContainerQueryLength;U.cqmin=c.ContainerQueryLength;U.cqmax=c.ContainerQueryLength;var ce=class{constructor(){this.stream=new un(\"\"),this.ignoreComment=!0,this.ignoreWhitespace=!0,this.inURL=!1}setSource(e){this.stream=new un(e)}finishToken(e,t,r){return{offset:e,len:this.stream.pos()-e,type:t,text:r||this.stream.substring(e)}}substring(e,t){return this.stream.substring(e,e+t)}pos(){return this.stream.pos()}goBackTo(e){this.stream.goBackTo(e)}scanUnquotedString(){let e=this.stream.pos(),t=[];return this._unquotedString(t)?this.finishToken(e,c.UnquotedString,t.join(\"\")):null}scan(){let e=this.trivia();if(e!==null)return e;let t=this.stream.pos();return this.stream.eos()?this.finishToken(t,c.EOF):this.scanNext(t)}tryScanUnicode(){let e=this.stream.pos();if(!this.stream.eos()&&this._unicodeRange())return this.finishToken(e,c.UnicodeRange);this.stream.goBackTo(e)}scanNext(e){if(this.stream.advanceIfChars([Oo,qi,Qe,Qe]))return this.finishToken(e,c.CDO);if(this.stream.advanceIfChars([Qe,Qe,Po]))return this.finishToken(e,c.CDC);let t=[];if(this.ident(t))return this.finishToken(e,c.Ident,t.join(\"\"));if(this.stream.advanceIfChar(Ao))if(t=[\"@\"],this._name(t)){let i=t.join(\"\");return i===\"@charset\"?this.finishToken(e,c.Charset,i):this.finishToken(e,c.AtKeyword,i)}else return this.finishToken(e,c.Delim);if(this.stream.advanceIfChar(Wo))return t=[\"#\"],this._name(t)?this.finishToken(e,c.Hash,t.join(\"\")):this.finishToken(e,c.Delim);if(this.stream.advanceIfChar(qi))return this.finishToken(e,c.Exclamation);if(this._number()){let i=this.stream.pos();if(t=[this.stream.substring(e,i)],this.stream.advanceIfChar(No))return this.finishToken(e,c.Percentage);if(this.ident(t)){let s=this.stream.substring(i).toLowerCase(),a=U[s];return typeof a<\"u\"?this.finishToken(e,a,t.join(\"\")):this.finishToken(e,c.Dimension,t.join(\"\"))}return this.finishToken(e,c.Num)}t=[];let r=this._string(t);return r!==null?this.finishToken(e,r,t.join(\"\")):(r=ve[this.stream.peekChar()],typeof r<\"u\"?(this.stream.advance(1),this.finishToken(e,r)):this.stream.peekChar(0)===zo&&this.stream.peekChar(1)===Lt?(this.stream.advance(2),this.finishToken(e,c.Includes)):this.stream.peekChar(0)===To&&this.stream.peekChar(1)===Lt?(this.stream.advance(2),this.finishToken(e,c.Dashmatch)):this.stream.peekChar(0)===_r&&this.stream.peekChar(1)===Lt?(this.stream.advance(2),this.finishToken(e,c.SubstringOperator)):this.stream.peekChar(0)===Mo&&this.stream.peekChar(1)===Lt?(this.stream.advance(2),this.finishToken(e,c.PrefixOperator)):this.stream.peekChar(0)===Lo&&this.stream.peekChar(1)===Lt?(this.stream.advance(2),this.finishToken(e,c.SuffixOperator)):(this.stream.nextChar(),this.finishToken(e,c.Delim)))}trivia(){for(;;){let e=this.stream.pos();if(this._whitespace()){if(!this.ignoreWhitespace)return this.finishToken(e,c.Whitespace)}else if(this.comment()){if(!this.ignoreComment)return this.finishToken(e,c.Comment)}else return null}}comment(){if(this.stream.advanceIfChars([Ui,_r])){let e=!1,t=!1;return this.stream.advanceWhileChar(r=>t&&r===Ui?(e=!0,!1):(t=r===_r,!0)),e&&this.stream.advance(1),!0}return!1}_number(){let e=0,t;return this.stream.peekChar()===Bi&&(e=1),t=this.stream.peekChar(e),t>=At&&t<=Wt?(this.stream.advance(e+1),this.stream.advanceWhileChar(r=>r>=At&&r<=Wt||e===0&&r===Bi),!0):!1}_newline(e){let t=this.stream.peekChar();switch(t){case dt:case $t:case ct:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===dt&&this.stream.advanceIfChar(ct)&&e.push(`\n`),!0}return!1}_escape(e,t){let r=this.stream.peekChar();if(r===Ir){this.stream.advance(1),r=this.stream.peekChar();let i=0;for(;i<6&&(r>=At&&r<=Wt||r>=pn&&r<=Pi||r>=mn&&r<=Wi);)this.stream.advance(1),r=this.stream.peekChar(),i++;if(i>0){try{let s=parseInt(this.stream.substring(this.stream.pos()-i),16);s&&e.push(String.fromCharCode(s))}catch{}return r===Dr||r===Rr?this.stream.advance(1):this._newline([]),!0}if(r!==dt&&r!==$t&&r!==ct)return this.stream.advance(1),e.push(String.fromCharCode(r)),!0;if(t)return this._newline(e)}return!1}_stringChar(e,t){let r=this.stream.peekChar();return r!==0&&r!==e&&r!==Ir&&r!==dt&&r!==$t&&r!==ct?(this.stream.advance(1),t.push(String.fromCharCode(r)),!0):!1}_string(e){if(this.stream.peekChar()===ji||this.stream.peekChar()===Vi){let t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),c.String):c.BadString}return null}_unquotedChar(e){let t=this.stream.peekChar();return t!==0&&t!==Ir&&t!==ji&&t!==Vi&&t!==Ki&&t!==Gi&&t!==Dr&&t!==Rr&&t!==ct&&t!==$t&&t!==dt?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_unquotedString(e){let t=!1;for(;this._unquotedChar(e)||this._escape(e);)t=!0;return t}_whitespace(){return this.stream.advanceWhileChar(t=>t===Dr||t===Rr||t===ct||t===$t||t===dt)>0}_name(e){let t=!1;for(;this._identChar(e)||this._escape(e);)t=!0;return t}ident(e){let t=this.stream.pos();if(this._minus(e)){if(this._minus(e)||this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1}_identFirstChar(e){let t=this.stream.peekChar();return t===$i||t>=pn&&t<=Ai||t>=mn&&t<=Li||t>=128&&t<=65535?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_minus(e){let t=this.stream.peekChar();return t===Qe?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_identChar(e){let t=this.stream.peekChar();return t===$i||t===Qe||t>=pn&&t<=Ai||t>=mn&&t<=Li||t>=At&&t<=Wt||t>=128&&t<=65535?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_unicodeRange(){if(this.stream.advanceIfChar(Ho)){let e=r=>r>=At&&r<=Wt||r>=pn&&r<=Pi||r>=mn&&r<=Wi,t=this.stream.advanceWhileChar(e)+this.stream.advanceWhileChar(r=>r===Go);if(t>=1&&t<=6)if(this.stream.advanceIfChar(Qe)){let r=this.stream.advanceWhileChar(e);if(r>=1&&r<=6)return!0}else return!0}return!1}};function V(n,e){if(n.length<e.length)return!1;for(let t=0;t<e.length;t++)if(n[t]!==e[t])return!1;return!0}function fn(n,e){let t=n.length-e.length;return t>0?n.lastIndexOf(e)===t:t===0?n===e:!1}function Hi(n,e,t=4){let r=Math.abs(n.length-e.length);if(r>t)return 0;let i=[],s=[],a,l;for(a=0;a<e.length+1;++a)s.push(0);for(a=0;a<n.length+1;++a)i.push(s);for(a=1;a<n.length+1;++a)for(l=1;l<e.length+1;++l)n[a-1]===e[l-1]?i[a][l]=i[a-1][l-1]+1:i[a][l]=Math.max(i[a-1][l],i[a][l-1]);return i[n.length][e.length]-Math.sqrt(r)}function zr(n,e=!0){return n?n.length<140?n:n.slice(0,140)+(e?\"\\u2026\":\"\"):\"\"}function Ji(n,e){let t=e.exec(n);return t&&t[0].length?n.substr(0,n.length-t[0].length):n}function Mr(n,e){let t=\"\";for(;e>0;)(e&1)===1&&(t+=n),n+=n,e=e>>>1;return t}var m;(function(n){n[n.Undefined=0]=\"Undefined\",n[n.Identifier=1]=\"Identifier\",n[n.Stylesheet=2]=\"Stylesheet\",n[n.Ruleset=3]=\"Ruleset\",n[n.Selector=4]=\"Selector\",n[n.SimpleSelector=5]=\"SimpleSelector\",n[n.SelectorInterpolation=6]=\"SelectorInterpolation\",n[n.SelectorCombinator=7]=\"SelectorCombinator\",n[n.SelectorCombinatorParent=8]=\"SelectorCombinatorParent\",n[n.SelectorCombinatorSibling=9]=\"SelectorCombinatorSibling\",n[n.SelectorCombinatorAllSiblings=10]=\"SelectorCombinatorAllSiblings\",n[n.SelectorCombinatorShadowPiercingDescendant=11]=\"SelectorCombinatorShadowPiercingDescendant\",n[n.Page=12]=\"Page\",n[n.PageBoxMarginBox=13]=\"PageBoxMarginBox\",n[n.ClassSelector=14]=\"ClassSelector\",n[n.IdentifierSelector=15]=\"IdentifierSelector\",n[n.ElementNameSelector=16]=\"ElementNameSelector\",n[n.PseudoSelector=17]=\"PseudoSelector\",n[n.AttributeSelector=18]=\"AttributeSelector\",n[n.Declaration=19]=\"Declaration\",n[n.Declarations=20]=\"Declarations\",n[n.Property=21]=\"Property\",n[n.Expression=22]=\"Expression\",n[n.BinaryExpression=23]=\"BinaryExpression\",n[n.Term=24]=\"Term\",n[n.Operator=25]=\"Operator\",n[n.Value=26]=\"Value\",n[n.StringLiteral=27]=\"StringLiteral\",n[n.URILiteral=28]=\"URILiteral\",n[n.EscapedValue=29]=\"EscapedValue\",n[n.Function=30]=\"Function\",n[n.NumericValue=31]=\"NumericValue\",n[n.HexColorValue=32]=\"HexColorValue\",n[n.RatioValue=33]=\"RatioValue\",n[n.MixinDeclaration=34]=\"MixinDeclaration\",n[n.MixinReference=35]=\"MixinReference\",n[n.VariableName=36]=\"VariableName\",n[n.VariableDeclaration=37]=\"VariableDeclaration\",n[n.Prio=38]=\"Prio\",n[n.Interpolation=39]=\"Interpolation\",n[n.NestedProperties=40]=\"NestedProperties\",n[n.ExtendsReference=41]=\"ExtendsReference\",n[n.SelectorPlaceholder=42]=\"SelectorPlaceholder\",n[n.Debug=43]=\"Debug\",n[n.If=44]=\"If\",n[n.Else=45]=\"Else\",n[n.For=46]=\"For\",n[n.Each=47]=\"Each\",n[n.While=48]=\"While\",n[n.MixinContentReference=49]=\"MixinContentReference\",n[n.MixinContentDeclaration=50]=\"MixinContentDeclaration\",n[n.Media=51]=\"Media\",n[n.Keyframe=52]=\"Keyframe\",n[n.FontFace=53]=\"FontFace\",n[n.Import=54]=\"Import\",n[n.Namespace=55]=\"Namespace\",n[n.Invocation=56]=\"Invocation\",n[n.FunctionDeclaration=57]=\"FunctionDeclaration\",n[n.ReturnStatement=58]=\"ReturnStatement\",n[n.MediaQuery=59]=\"MediaQuery\",n[n.MediaCondition=60]=\"MediaCondition\",n[n.MediaFeature=61]=\"MediaFeature\",n[n.FunctionParameter=62]=\"FunctionParameter\",n[n.FunctionArgument=63]=\"FunctionArgument\",n[n.KeyframeSelector=64]=\"KeyframeSelector\",n[n.ViewPort=65]=\"ViewPort\",n[n.Document=66]=\"Document\",n[n.AtApplyRule=67]=\"AtApplyRule\",n[n.CustomPropertyDeclaration=68]=\"CustomPropertyDeclaration\",n[n.CustomPropertySet=69]=\"CustomPropertySet\",n[n.ListEntry=70]=\"ListEntry\",n[n.Supports=71]=\"Supports\",n[n.SupportsCondition=72]=\"SupportsCondition\",n[n.NamespacePrefix=73]=\"NamespacePrefix\",n[n.GridLine=74]=\"GridLine\",n[n.Plugin=75]=\"Plugin\",n[n.UnknownAtRule=76]=\"UnknownAtRule\",n[n.Use=77]=\"Use\",n[n.ModuleConfiguration=78]=\"ModuleConfiguration\",n[n.Forward=79]=\"Forward\",n[n.ForwardVisibility=80]=\"ForwardVisibility\",n[n.Module=81]=\"Module\",n[n.UnicodeRange=82]=\"UnicodeRange\",n[n.Layer=83]=\"Layer\",n[n.LayerNameList=84]=\"LayerNameList\",n[n.LayerName=85]=\"LayerName\",n[n.PropertyAtRule=86]=\"PropertyAtRule\",n[n.Container=87]=\"Container\"})(m||(m={}));var z;(function(n){n[n.Mixin=0]=\"Mixin\",n[n.Rule=1]=\"Rule\",n[n.Variable=2]=\"Variable\",n[n.Function=3]=\"Function\",n[n.Keyframe=4]=\"Keyframe\",n[n.Unknown=5]=\"Unknown\",n[n.Module=6]=\"Module\",n[n.Forward=7]=\"Forward\",n[n.ForwardVisibility=8]=\"ForwardVisibility\",n[n.Property=9]=\"Property\"})(z||(z={}));function Hn(n,e){let t=null;return!n||e<n.offset||e>n.end?null:(n.accept(r=>r.offset===-1&&r.length===-1?!0:r.offset<=e&&r.end>=e?(t?r.length<=t.length&&(t=r):t=r,!0):!1),t)}function vt(n,e){let t=Hn(n,e),r=[];for(;t;)r.unshift(t),t=t.parent;return r}function Xi(n){let e=n.findParent(m.Declaration),t=e&&e.getValue();return t&&t.encloses(n)?e:null}var x=class{get end(){return this.offset+this.length}constructor(e=-1,t=-1,r){this.parent=null,this.offset=e,this.length=t,r&&(this.nodeType=r)}set type(e){this.nodeType=e}get type(){return this.nodeType||m.Undefined}getTextProvider(){let e=this;for(;e&&!e.textProvider;)e=e.parent;return e?e.textProvider:()=>\"unknown\"}getText(){return this.getTextProvider()(this.offset,this.length)}matches(e){return this.length===e.length&&this.getTextProvider()(this.offset,this.length)===e}startsWith(e){return this.length>=e.length&&this.getTextProvider()(this.offset,e.length)===e}endsWith(e){return this.length>=e.length&&this.getTextProvider()(this.end-e.length,e.length)===e}accept(e){if(e(this)&&this.children)for(let t of this.children)t.accept(e)}acceptVisitor(e){this.accept(e.visitNode.bind(e))}adoptChild(e,t=-1){if(e.parent&&e.parent.children){let i=e.parent.children.indexOf(e);i>=0&&e.parent.children.splice(i,1)}e.parent=this;let r=this.children;return r||(r=this.children=[]),t!==-1?r.splice(t,0,e):r.push(e),e}attachTo(e,t=-1){return e&&e.adoptChild(this,t),this}collectIssues(e){this.issues&&e.push.apply(e,this.issues)}addIssue(e){this.issues||(this.issues=[]),this.issues.push(e)}hasIssue(e){return Array.isArray(this.issues)&&this.issues.some(t=>t.getRule()===e)}isErroneous(e=!1){return this.issues&&this.issues.length>0?!0:e&&Array.isArray(this.children)&&this.children.some(t=>t.isErroneous(!0))}setNode(e,t,r=-1){return t?(t.attachTo(this,r),this[e]=t,!0):!1}addChild(e){return e?(this.children||(this.children=[]),e.attachTo(this),this.updateOffsetAndLength(e),!0):!1}updateOffsetAndLength(e){(e.offset<this.offset||this.offset===-1)&&(this.offset=e.offset);let t=e.end;(t>this.end||this.length===-1)&&(this.length=t-this.offset)}hasChildren(){return!!this.children&&this.children.length>0}getChildren(){return this.children?this.children.slice(0):[]}getChild(e){return this.children&&e<this.children.length?this.children[e]:null}addChildren(e){for(let t of e)this.addChild(t)}findFirstChildBeforeOffset(e){if(this.children){let t=null;for(let r=this.children.length-1;r>=0;r--)if(t=this.children[r],t.offset<=e)return t}return null}findChildAtOffset(e,t){let r=this.findFirstChildBeforeOffset(e);return r&&r.end>=e?t&&r.findChildAtOffset(e,!0)||r:null}encloses(e){return this.offset<=e.offset&&this.offset+this.length>=e.offset+e.length}getParent(){let e=this.parent;for(;e instanceof J;)e=e.parent;return e}findParent(e){let t=this;for(;t&&t.type!==e;)t=t.parent;return t}findAParent(...e){let t=this;for(;t&&!e.some(r=>t.type===r);)t=t.parent;return t}setData(e,t){this.options||(this.options={}),this.options[e]=t}getData(e){return!this.options||!this.options.hasOwnProperty(e)?null:this.options[e]}},J=class extends x{constructor(e,t=-1){super(-1,-1),this.attachTo(e,t),this.offset=-1,this.length=-1}},gn=class extends x{constructor(e,t){super(e,t)}get type(){return m.UnicodeRange}setRangeStart(e){return this.setNode(\"rangeStart\",e)}getRangeStart(){return this.rangeStart}setRangeEnd(e){return this.setNode(\"rangeEnd\",e)}getRangeEnd(){return this.rangeEnd}},G=class extends x{constructor(e,t){super(e,t),this.isCustomProperty=!1}get type(){return m.Identifier}containsInterpolation(){return this.hasChildren()}},bn=class extends x{constructor(e,t){super(e,t)}get type(){return m.Stylesheet}},Ze=class extends x{constructor(e,t){super(e,t)}get type(){return m.Declarations}},L=class extends x{constructor(e,t){super(e,t)}getDeclarations(){return this.declarations}setDeclarations(e){return this.setNode(\"declarations\",e)}},ae=class extends L{constructor(e,t){super(e,t)}get type(){return m.Ruleset}getSelectors(){return this.selectors||(this.selectors=new J(this)),this.selectors}isNested(){return!!this.parent&&this.parent.findParent(m.Declarations)!==null}},de=class extends x{constructor(e,t){super(e,t)}get type(){return m.Selector}},he=class extends x{constructor(e,t){super(e,t)}get type(){return m.SimpleSelector}};var ht=class extends x{constructor(e,t){super(e,t)}},wn=class extends L{constructor(e,t){super(e,t)}get type(){return m.CustomPropertySet}},Q=class n extends ht{constructor(e,t){super(e,t),this.property=null}get type(){return m.Declaration}setProperty(e){return this.setNode(\"property\",e)}getProperty(){return this.property}getFullPropertyName(){let e=this.property?this.property.getName():\"unknown\";if(this.parent instanceof Ze&&this.parent.getParent()instanceof Ut){let t=this.parent.getParent().getParent();if(t instanceof n)return t.getFullPropertyName()+e}return e}getNonPrefixedPropertyName(){let e=this.getFullPropertyName();if(e&&e.charAt(0)===\"-\"){let t=e.indexOf(\"-\",1);if(t!==-1)return e.substring(t+1)}return e}setValue(e){return this.setNode(\"value\",e)}getValue(){return this.value}setNestedProperties(e){return this.setNode(\"nestedProperties\",e)}getNestedProperties(){return this.nestedProperties}},vn=class extends Q{constructor(e,t){super(e,t)}get type(){return m.CustomPropertyDeclaration}setPropertySet(e){return this.setNode(\"propertySet\",e)}getPropertySet(){return this.propertySet}},Ve=class extends x{constructor(e,t){super(e,t)}get type(){return m.Property}setIdentifier(e){return this.setNode(\"identifier\",e)}getIdentifier(){return this.identifier}getName(){return Ji(this.getText(),/[_\\+]+$/)}isCustomProperty(){return!!this.identifier&&this.identifier.isCustomProperty}},Tr=class extends x{constructor(e,t){super(e,t)}get type(){return m.Invocation}getArguments(){return this.arguments||(this.arguments=new J(this)),this.arguments}},me=class extends Tr{constructor(e,t){super(e,t)}get type(){return m.Function}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():\"\"}},ye=class extends x{constructor(e,t){super(e,t)}get type(){return m.FunctionParameter}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():\"\"}setDefaultValue(e){return this.setNode(\"defaultValue\",e,0)}getDefaultValue(){return this.defaultValue}},le=class extends x{constructor(e,t){super(e,t)}get type(){return m.FunctionArgument}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():\"\"}setValue(e){return this.setNode(\"value\",e,0)}getValue(){return this.value}},yn=class extends L{constructor(e,t){super(e,t)}get type(){return m.If}setExpression(e){return this.setNode(\"expression\",e,0)}setElseClause(e){return this.setNode(\"elseClause\",e)}},xn=class extends L{constructor(e,t){super(e,t)}get type(){return m.For}setVariable(e){return this.setNode(\"variable\",e,0)}},Sn=class extends L{constructor(e,t){super(e,t)}get type(){return m.Each}getVariables(){return this.variables||(this.variables=new J(this)),this.variables}},Cn=class extends L{constructor(e,t){super(e,t)}get type(){return m.While}},kn=class extends L{constructor(e,t){super(e,t)}get type(){return m.Else}},De=class extends L{constructor(e,t){super(e,t)}get type(){return m.FunctionDeclaration}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():\"\"}getParameters(){return this.parameters||(this.parameters=new J(this)),this.parameters}},Fn=class extends L{constructor(e,t){super(e,t)}get type(){return m.ViewPort}},pt=class extends L{constructor(e,t){super(e,t)}get type(){return m.FontFace}},Ut=class extends L{constructor(e,t){super(e,t)}get type(){return m.NestedProperties}},mt=class extends L{constructor(e,t){super(e,t)}get type(){return m.Keyframe}setKeyword(e){return this.setNode(\"keyword\",e,0)}getKeyword(){return this.keyword}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():\"\"}},Vt=class extends L{constructor(e,t){super(e,t)}get type(){return m.KeyframeSelector}},je=class extends x{constructor(e,t){super(e,t)}get type(){return m.Import}setMedialist(e){return e?(e.attachTo(this),!0):!1}},En=class extends x{get type(){return m.Use}getParameters(){return this.parameters||(this.parameters=new J(this)),this.parameters}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}},_n=class extends x{get type(){return m.ModuleConfiguration}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():\"\"}setValue(e){return this.setNode(\"value\",e,0)}getValue(){return this.value}},In=class extends x{get type(){return m.Forward}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getMembers(){return this.members||(this.members=new J(this)),this.members}getParameters(){return this.parameters||(this.parameters=new J(this)),this.parameters}},Dn=class extends x{get type(){return m.ForwardVisibility}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}},Rn=class extends x{constructor(e,t){super(e,t)}get type(){return m.Namespace}},Be=class extends L{constructor(e,t){super(e,t)}get type(){return m.Media}},et=class extends L{constructor(e,t){super(e,t)}get type(){return m.Supports}},zn=class extends L{constructor(e,t){super(e,t)}get type(){return m.Layer}setNames(e){return this.setNode(\"names\",e)}getNames(){return this.names}},Mn=class extends L{constructor(e,t){super(e,t)}get type(){return m.PropertyAtRule}setName(e){return e?(e.attachTo(this),this.name=e,!0):!1}getName(){return this.name}},Tn=class extends L{constructor(e,t){super(e,t)}get type(){return m.Document}},Nn=class extends L{constructor(e,t){super(e,t)}get type(){return m.Container}},ut=class extends x{constructor(e,t){super(e,t)}},ft=class extends x{constructor(e,t){super(e,t)}get type(){return m.MediaQuery}},On=class extends x{constructor(e,t){super(e,t)}get type(){return m.MediaCondition}},Pn=class extends x{constructor(e,t){super(e,t)}get type(){return m.MediaFeature}},Re=class extends x{constructor(e,t){super(e,t)}get type(){return m.SupportsCondition}},An=class extends L{constructor(e,t){super(e,t)}get type(){return m.Page}},Wn=class extends L{constructor(e,t){super(e,t)}get type(){return m.PageBoxMarginBox}},gt=class extends x{constructor(e,t){super(e,t)}get type(){return m.Expression}},qe=class extends x{constructor(e,t){super(e,t)}get type(){return m.BinaryExpression}setLeft(e){return this.setNode(\"left\",e)}getLeft(){return this.left}setRight(e){return this.setNode(\"right\",e)}getRight(){return this.right}setOperator(e){return this.setNode(\"operator\",e)}getOperator(){return this.operator}},Ln=class extends x{constructor(e,t){super(e,t)}get type(){return m.Term}setOperator(e){return this.setNode(\"operator\",e)}getOperator(){return this.operator}setExpression(e){return this.setNode(\"expression\",e)}getExpression(){return this.expression}},$n=class extends x{constructor(e,t){super(e,t)}get type(){return m.AttributeSelector}setNamespacePrefix(e){return this.setNode(\"namespacePrefix\",e)}getNamespacePrefix(){return this.namespacePrefix}setIdentifier(e){return this.setNode(\"identifier\",e)}getIdentifier(){return this.identifier}setOperator(e){return this.setNode(\"operator\",e)}getOperator(){return this.operator}setValue(e){return this.setNode(\"value\",e)}getValue(){return this.value}};var tt=class extends x{constructor(e,t){super(e,t)}get type(){return m.HexColorValue}},Un=class extends x{constructor(e,t){super(e,t)}get type(){return m.RatioValue}},Yo=46,Qo=48,Zo=57,nt=class extends x{constructor(e,t){super(e,t)}get type(){return m.NumericValue}getValue(){let e=this.getText(),t=0,r;for(let i=0,s=e.length;i<s&&(r=e.charCodeAt(i),Qo<=r&&r<=Zo||r===Yo);i++)t+=1;return{value:e.substring(0,t),unit:t<e.length?e.substring(t):void 0}}},xe=class extends ht{constructor(e,t){super(e,t),this.needsSemicolon=!0}get type(){return m.VariableDeclaration}setVariable(e){return e?(e.attachTo(this),this.variable=e,!0):!1}getVariable(){return this.variable}getName(){return this.variable?this.variable.getName():\"\"}setValue(e){return e?(e.attachTo(this),this.value=e,!0):!1}getValue(){return this.value}},rt=class extends x{constructor(e,t){super(e,t)}get type(){return m.Interpolation}},Ke=class extends x{constructor(e,t){super(e,t)}get type(){return m.VariableName}getName(){return this.getText()}},Se=class extends x{constructor(e,t){super(e,t)}get type(){return m.ExtendsReference}getSelectors(){return this.selectors||(this.selectors=new J(this)),this.selectors}},Vn=class extends x{constructor(e,t){super(e,t)}get type(){return m.MixinContentReference}getArguments(){return this.arguments||(this.arguments=new J(this)),this.arguments}},jn=class extends L{constructor(e,t){super(e,t)}get type(){return m.MixinContentDeclaration}getParameters(){return this.parameters||(this.parameters=new J(this)),this.parameters}},ze=class extends x{constructor(e,t){super(e,t)}get type(){return m.MixinReference}getNamespaces(){return this.namespaces||(this.namespaces=new J(this)),this.namespaces}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():\"\"}getArguments(){return this.arguments||(this.arguments=new J(this)),this.arguments}setContent(e){return this.setNode(\"content\",e)}getContent(){return this.content}},ue=class extends L{constructor(e,t){super(e,t)}get type(){return m.MixinDeclaration}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():\"\"}getParameters(){return this.parameters||(this.parameters=new J(this)),this.parameters}setGuard(e){return e&&(e.attachTo(this),this.guard=e),!1}},bt=class extends L{constructor(e,t){super(e,t)}get type(){return m.UnknownAtRule}setAtRuleName(e){this.atRuleName=e}getAtRuleName(){return this.atRuleName}},Bn=class extends x{get type(){return m.ListEntry}setKey(e){return this.setNode(\"key\",e,0)}setValue(e){return this.setNode(\"value\",e,1)}},qn=class extends x{getConditions(){return this.conditions||(this.conditions=new J(this)),this.conditions}},Kn=class extends x{setVariable(e){return this.setNode(\"variable\",e)}},jt=class extends x{get type(){return m.Module}setIdentifier(e){return this.setNode(\"identifier\",e,0)}getIdentifier(){return this.identifier}},ee;(function(n){n[n.Ignore=1]=\"Ignore\",n[n.Warning=2]=\"Warning\",n[n.Error=4]=\"Error\"})(ee||(ee={}));var wt=class{constructor(e,t,r,i,s=e.offset,a=e.length){this.node=e,this.rule=t,this.level=r,this.message=i||t.message,this.offset=s,this.length=a}getRule(){return this.rule}getLevel(){return this.level}getOffset(){return this.offset}getLength(){return this.length}getNode(){return this.node}getMessage(){return this.message}},Gn=class n{static entries(e){let t=new n;return e.acceptVisitor(t),t.entries}constructor(){this.entries=[]}visitNode(e){return e.isErroneous()&&e.collectIssues(this.entries),!0}};var ea;function p(...n){let e=n[0],t,r,i;if(typeof e==\"string\")t=e,r=e,n.splice(0,1),i=!n||typeof n[0]!=\"object\"?n:n[0];else if(e instanceof Array){let a=n.slice(1);if(e.length!==a.length+1)throw new Error(\"expected a string as the first argument to l10n.t\");let l=e[0];for(let o=1;o<e.length;o++)l+=`{${o-1}}`+e[o];return p(l,...a)}else r=e.message,t=r,e.comment&&e.comment.length>0&&(t+=`/${Array.isArray(e.comment)?e.comment.join(\"\"):e.comment}`),i=e.args??{};let s=ea?.[t];return s?typeof s==\"string\"?Jn(s,i):s.comment?Jn(s.message,i):Jn(r,i):Jn(r,i)}var ta=/{([^}]+)}/g;function Jn(n,e){return Object.keys(e).length===0?n:n.replace(ta,(t,r)=>e[r]??t)}var O=class{constructor(e,t){this.id=e,this.message=t}},f={NumberExpected:new O(\"css-numberexpected\",p(\"number expected\")),ConditionExpected:new O(\"css-conditionexpected\",p(\"condition expected\")),RuleOrSelectorExpected:new O(\"css-ruleorselectorexpected\",p(\"at-rule or selector expected\")),DotExpected:new O(\"css-dotexpected\",p(\"dot expected\")),ColonExpected:new O(\"css-colonexpected\",p(\"colon expected\")),SemiColonExpected:new O(\"css-semicolonexpected\",p(\"semi-colon expected\")),TermExpected:new O(\"css-termexpected\",p(\"term expected\")),ExpressionExpected:new O(\"css-expressionexpected\",p(\"expression expected\")),OperatorExpected:new O(\"css-operatorexpected\",p(\"operator expected\")),IdentifierExpected:new O(\"css-identifierexpected\",p(\"identifier expected\")),PercentageExpected:new O(\"css-percentageexpected\",p(\"percentage expected\")),URIOrStringExpected:new O(\"css-uriorstringexpected\",p(\"uri or string expected\")),URIExpected:new O(\"css-uriexpected\",p(\"URI expected\")),VariableNameExpected:new O(\"css-varnameexpected\",p(\"variable name expected\")),VariableValueExpected:new O(\"css-varvalueexpected\",p(\"variable value expected\")),PropertyValueExpected:new O(\"css-propertyvalueexpected\",p(\"property value expected\")),LeftCurlyExpected:new O(\"css-lcurlyexpected\",p(\"{ expected\")),RightCurlyExpected:new O(\"css-rcurlyexpected\",p(\"} expected\")),LeftSquareBracketExpected:new O(\"css-rbracketexpected\",p(\"[ expected\")),RightSquareBracketExpected:new O(\"css-lbracketexpected\",p(\"] expected\")),LeftParenthesisExpected:new O(\"css-lparentexpected\",p(\"( expected\")),RightParenthesisExpected:new O(\"css-rparentexpected\",p(\") expected\")),CommaExpected:new O(\"css-commaexpected\",p(\"comma expected\")),PageDirectiveOrDeclarationExpected:new O(\"css-pagedirordeclexpected\",p(\"page directive or declaraton expected\")),UnknownAtRule:new O(\"css-unknownatrule\",p(\"at-rule unknown\")),UnknownKeyword:new O(\"css-unknownkeyword\",p(\"unknown keyword\")),SelectorExpected:new O(\"css-selectorexpected\",p(\"selector expected\")),StringLiteralExpected:new O(\"css-stringliteralexpected\",p(\"string literal expected\")),WhitespaceExpected:new O(\"css-whitespaceexpected\",p(\"whitespace expected\")),MediaQueryExpected:new O(\"css-mediaqueryexpected\",p(\"media query expected\")),IdentifierOrWildcardExpected:new O(\"css-idorwildcardexpected\",p(\"identifier or wildcard expected\")),WildcardExpected:new O(\"css-wildcardexpected\",p(\"wildcard expected\")),IdentifierOrVariableExpected:new O(\"css-idorvarexpected\",p(\"identifier or variable expected\"))};var Nr;(function(n){function e(t){return typeof t==\"string\"}n.is=e})(Nr||(Nr={}));var Or;(function(n){function e(t){return typeof t==\"string\"}n.is=e})(Or||(Or={}));var Yi;(function(n){n.MIN_VALUE=-2147483648,n.MAX_VALUE=2147483647;function e(t){return typeof t==\"number\"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}n.is=e})(Yi||(Yi={}));var Xn;(function(n){n.MIN_VALUE=0,n.MAX_VALUE=2147483647;function e(t){return typeof t==\"number\"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}n.is=e})(Xn||(Xn={}));var H;(function(n){function e(r,i){return r===Number.MAX_VALUE&&(r=Xn.MAX_VALUE),i===Number.MAX_VALUE&&(i=Xn.MAX_VALUE),{line:r,character:i}}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&g.uinteger(i.line)&&g.uinteger(i.character)}n.is=t})(H||(H={}));var R;(function(n){function e(r,i,s,a){if(g.uinteger(r)&&g.uinteger(i)&&g.uinteger(s)&&g.uinteger(a))return{start:H.create(r,i),end:H.create(s,a)};if(H.is(r)&&H.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&H.is(i.start)&&H.is(i.end)}n.is=t})(R||(R={}));var it;(function(n){function e(r,i){return{uri:r,range:i}}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&R.is(i.range)&&(g.string(i.uri)||g.undefined(i.uri))}n.is=t})(it||(it={}));var Qi;(function(n){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&R.is(i.targetRange)&&g.string(i.targetUri)&&R.is(i.targetSelectionRange)&&(R.is(i.originSelectionRange)||g.undefined(i.originSelectionRange))}n.is=t})(Qi||(Qi={}));var Yn;(function(n){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&g.numberRange(i.red,0,1)&&g.numberRange(i.green,0,1)&&g.numberRange(i.blue,0,1)&&g.numberRange(i.alpha,0,1)}n.is=t})(Yn||(Yn={}));var Pr;(function(n){function e(r,i){return{range:r,color:i}}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&R.is(i.range)&&Yn.is(i.color)}n.is=t})(Pr||(Pr={}));var Ar;(function(n){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&g.string(i.label)&&(g.undefined(i.textEdit)||_.is(i))&&(g.undefined(i.additionalTextEdits)||g.typedArray(i.additionalTextEdits,_.is))}n.is=t})(Ar||(Ar={}));var Wr;(function(n){n.Comment=\"comment\",n.Imports=\"imports\",n.Region=\"region\"})(Wr||(Wr={}));var Lr;(function(n){function e(r,i,s,a,l,o){let d={startLine:r,endLine:i};return g.defined(s)&&(d.startCharacter=s),g.defined(a)&&(d.endCharacter=a),g.defined(l)&&(d.kind=l),g.defined(o)&&(d.collapsedText=o),d}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&g.uinteger(i.startLine)&&g.uinteger(i.startLine)&&(g.undefined(i.startCharacter)||g.uinteger(i.startCharacter))&&(g.undefined(i.endCharacter)||g.uinteger(i.endCharacter))&&(g.undefined(i.kind)||g.string(i.kind))}n.is=t})(Lr||(Lr={}));var $r;(function(n){function e(r,i){return{location:r,message:i}}n.create=e;function t(r){let i=r;return g.defined(i)&&it.is(i.location)&&g.string(i.message)}n.is=t})($r||($r={}));var yt;(function(n){n.Error=1,n.Warning=2,n.Information=3,n.Hint=4})(yt||(yt={}));var Zi;(function(n){n.Unnecessary=1,n.Deprecated=2})(Zi||(Zi={}));var es;(function(n){function e(t){let r=t;return g.objectLiteral(r)&&g.string(r.href)}n.is=e})(es||(es={}));var Bt;(function(n){function e(r,i,s,a,l,o){let d={range:r,message:i};return g.defined(s)&&(d.severity=s),g.defined(a)&&(d.code=a),g.defined(l)&&(d.source=l),g.defined(o)&&(d.relatedInformation=o),d}n.create=e;function t(r){var i;let s=r;return g.defined(s)&&R.is(s.range)&&g.string(s.message)&&(g.number(s.severity)||g.undefined(s.severity))&&(g.integer(s.code)||g.string(s.code)||g.undefined(s.code))&&(g.undefined(s.codeDescription)||g.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(g.string(s.source)||g.undefined(s.source))&&(g.undefined(s.relatedInformation)||g.typedArray(s.relatedInformation,$r.is))}n.is=t})(Bt||(Bt={}));var Me;(function(n){function e(r,i,...s){let a={title:r,command:i};return g.defined(s)&&s.length>0&&(a.arguments=s),a}n.create=e;function t(r){let i=r;return g.defined(i)&&g.string(i.title)&&g.string(i.command)}n.is=t})(Me||(Me={}));var _;(function(n){function e(s,a){return{range:s,newText:a}}n.replace=e;function t(s,a){return{range:{start:s,end:s},newText:a}}n.insert=t;function r(s){return{range:s,newText:\"\"}}n.del=r;function i(s){let a=s;return g.objectLiteral(a)&&g.string(a.newText)&&R.is(a.range)}n.is=i})(_||(_={}));var Ur;(function(n){function e(r,i,s){let a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&g.string(i.label)&&(g.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(g.string(i.description)||i.description===void 0)}n.is=t})(Ur||(Ur={}));var xt;(function(n){function e(t){let r=t;return g.string(r)}n.is=e})(xt||(xt={}));var ts;(function(n){function e(s,a,l){return{range:s,newText:a,annotationId:l}}n.replace=e;function t(s,a,l){return{range:{start:s,end:s},newText:a,annotationId:l}}n.insert=t;function r(s,a){return{range:s,newText:\"\",annotationId:a}}n.del=r;function i(s){let a=s;return _.is(a)&&(Ur.is(a.annotationId)||xt.is(a.annotationId))}n.is=i})(ts||(ts={}));var St;(function(n){function e(r,i){return{textDocument:r,edits:i}}n.create=e;function t(r){let i=r;return g.defined(i)&&qr.is(i.textDocument)&&Array.isArray(i.edits)}n.is=t})(St||(St={}));var Vr;(function(n){function e(r,i,s){let a={kind:\"create\",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}n.create=e;function t(r){let i=r;return i&&i.kind===\"create\"&&g.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||g.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||g.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||xt.is(i.annotationId))}n.is=t})(Vr||(Vr={}));var jr;(function(n){function e(r,i,s,a){let l={kind:\"rename\",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(l.options=s),a!==void 0&&(l.annotationId=a),l}n.create=e;function t(r){let i=r;return i&&i.kind===\"rename\"&&g.string(i.oldUri)&&g.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||g.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||g.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||xt.is(i.annotationId))}n.is=t})(jr||(jr={}));var Br;(function(n){function e(r,i,s){let a={kind:\"delete\",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}n.create=e;function t(r){let i=r;return i&&i.kind===\"delete\"&&g.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||g.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||g.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||xt.is(i.annotationId))}n.is=t})(Br||(Br={}));var Qn;(function(n){function e(t){let r=t;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>g.string(i.kind)?Vr.is(i)||jr.is(i)||Br.is(i):St.is(i)))}n.is=e})(Qn||(Qn={}));var ns;(function(n){function e(r){return{uri:r}}n.create=e;function t(r){let i=r;return g.defined(i)&&g.string(i.uri)}n.is=t})(ns||(ns={}));var qt;(function(n){function e(r,i){return{uri:r,version:i}}n.create=e;function t(r){let i=r;return g.defined(i)&&g.string(i.uri)&&g.integer(i.version)}n.is=t})(qt||(qt={}));var qr;(function(n){function e(r,i){return{uri:r,version:i}}n.create=e;function t(r){let i=r;return g.defined(i)&&g.string(i.uri)&&(i.version===null||g.integer(i.version))}n.is=t})(qr||(qr={}));var rs;(function(n){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}n.create=e;function t(r){let i=r;return g.defined(i)&&g.string(i.uri)&&g.string(i.languageId)&&g.integer(i.version)&&g.string(i.text)}n.is=t})(rs||(rs={}));var se;(function(n){n.PlainText=\"plaintext\",n.Markdown=\"markdown\";function e(t){let r=t;return r===n.PlainText||r===n.Markdown}n.is=e})(se||(se={}));var Ct;(function(n){function e(t){let r=t;return g.objectLiteral(t)&&se.is(r.kind)&&g.string(r.value)}n.is=e})(Ct||(Ct={}));var k;(function(n){n.Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25})(k||(k={}));var te;(function(n){n.PlainText=1,n.Snippet=2})(te||(te={}));var Te;(function(n){n.Deprecated=1})(Te||(Te={}));var is;(function(n){function e(r,i,s){return{newText:r,insert:i,replace:s}}n.create=e;function t(r){let i=r;return i&&g.string(i.newText)&&R.is(i.insert)&&R.is(i.replace)}n.is=t})(is||(is={}));var ss;(function(n){n.asIs=1,n.adjustIndentation=2})(ss||(ss={}));var os;(function(n){function e(t){let r=t;return r&&(g.string(r.detail)||r.detail===void 0)&&(g.string(r.description)||r.description===void 0)}n.is=e})(os||(os={}));var Kr;(function(n){function e(t){return{label:t}}n.create=e})(Kr||(Kr={}));var Gr;(function(n){function e(t,r){return{items:t||[],isIncomplete:!!r}}n.create=e})(Gr||(Gr={}));var Kt;(function(n){function e(r){return r.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}n.fromPlainText=e;function t(r){let i=r;return g.string(i)||g.objectLiteral(i)&&g.string(i.language)&&g.string(i.value)}n.is=t})(Kt||(Kt={}));var Hr;(function(n){function e(t){let r=t;return!!r&&g.objectLiteral(r)&&(Ct.is(r.contents)||Kt.is(r.contents)||g.typedArray(r.contents,Kt.is))&&(t.range===void 0||R.is(t.range))}n.is=e})(Hr||(Hr={}));var as;(function(n){function e(t,r){return r?{label:t,documentation:r}:{label:t}}n.create=e})(as||(as={}));var ls;(function(n){function e(t,r,...i){let s={label:t};return g.defined(r)&&(s.documentation=r),g.defined(i)?s.parameters=i:s.parameters=[],s}n.create=e})(ls||(ls={}));var Ge;(function(n){n.Text=1,n.Read=2,n.Write=3})(Ge||(Ge={}));var Jr;(function(n){function e(t,r){let i={range:t};return g.number(r)&&(i.kind=r),i}n.create=e})(Jr||(Jr={}));var ge;(function(n){n.File=1,n.Module=2,n.Namespace=3,n.Package=4,n.Class=5,n.Method=6,n.Property=7,n.Field=8,n.Constructor=9,n.Enum=10,n.Interface=11,n.Function=12,n.Variable=13,n.Constant=14,n.String=15,n.Number=16,n.Boolean=17,n.Array=18,n.Object=19,n.Key=20,n.Null=21,n.EnumMember=22,n.Struct=23,n.Event=24,n.Operator=25,n.TypeParameter=26})(ge||(ge={}));var cs;(function(n){n.Deprecated=1})(cs||(cs={}));var Xr;(function(n){function e(t,r,i,s,a){let l={name:t,kind:r,location:{uri:s,range:i}};return a&&(l.containerName=a),l}n.create=e})(Xr||(Xr={}));var ds;(function(n){function e(t,r,i,s){return s!==void 0?{name:t,kind:r,location:{uri:i,range:s}}:{name:t,kind:r,location:{uri:i}}}n.create=e})(ds||(ds={}));var Yr;(function(n){function e(r,i,s,a,l,o){let d={name:r,detail:i,kind:s,range:a,selectionRange:l};return o!==void 0&&(d.children=o),d}n.create=e;function t(r){let i=r;return i&&g.string(i.name)&&g.number(i.kind)&&R.is(i.range)&&R.is(i.selectionRange)&&(i.detail===void 0||g.string(i.detail))&&(i.deprecated===void 0||g.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}n.is=t})(Yr||(Yr={}));var Gt;(function(n){n.Empty=\"\",n.QuickFix=\"quickfix\",n.Refactor=\"refactor\",n.RefactorExtract=\"refactor.extract\",n.RefactorInline=\"refactor.inline\",n.RefactorRewrite=\"refactor.rewrite\",n.Source=\"source\",n.SourceOrganizeImports=\"source.organizeImports\",n.SourceFixAll=\"source.fixAll\"})(Gt||(Gt={}));var Zn;(function(n){n.Invoked=1,n.Automatic=2})(Zn||(Zn={}));var Qr;(function(n){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}n.create=e;function t(r){let i=r;return g.defined(i)&&g.typedArray(i.diagnostics,Bt.is)&&(i.only===void 0||g.typedArray(i.only,g.string))&&(i.triggerKind===void 0||i.triggerKind===Zn.Invoked||i.triggerKind===Zn.Automatic)}n.is=t})(Qr||(Qr={}));var Ht;(function(n){function e(r,i,s){let a={title:r},l=!0;return typeof i==\"string\"?(l=!1,a.kind=i):Me.is(i)?a.command=i:a.edit=i,l&&s!==void 0&&(a.kind=s),a}n.create=e;function t(r){let i=r;return i&&g.string(i.title)&&(i.diagnostics===void 0||g.typedArray(i.diagnostics,Bt.is))&&(i.kind===void 0||g.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Me.is(i.command))&&(i.isPreferred===void 0||g.boolean(i.isPreferred))&&(i.edit===void 0||Qn.is(i.edit))}n.is=t})(Ht||(Ht={}));var hs;(function(n){function e(r,i){let s={range:r};return g.defined(i)&&(s.data=i),s}n.create=e;function t(r){let i=r;return g.defined(i)&&R.is(i.range)&&(g.undefined(i.command)||Me.is(i.command))}n.is=t})(hs||(hs={}));var ps;(function(n){function e(r,i){return{tabSize:r,insertSpaces:i}}n.create=e;function t(r){let i=r;return g.defined(i)&&g.uinteger(i.tabSize)&&g.boolean(i.insertSpaces)}n.is=t})(ps||(ps={}));var Zr;(function(n){function e(r,i,s){return{range:r,target:i,data:s}}n.create=e;function t(r){let i=r;return g.defined(i)&&R.is(i.range)&&(g.undefined(i.target)||g.string(i.target))}n.is=t})(Zr||(Zr={}));var kt;(function(n){function e(r,i){return{range:r,parent:i}}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&R.is(i.range)&&(i.parent===void 0||n.is(i.parent))}n.is=t})(kt||(kt={}));var ms;(function(n){n.namespace=\"namespace\",n.type=\"type\",n.class=\"class\",n.enum=\"enum\",n.interface=\"interface\",n.struct=\"struct\",n.typeParameter=\"typeParameter\",n.parameter=\"parameter\",n.variable=\"variable\",n.property=\"property\",n.enumMember=\"enumMember\",n.event=\"event\",n.function=\"function\",n.method=\"method\",n.macro=\"macro\",n.keyword=\"keyword\",n.modifier=\"modifier\",n.comment=\"comment\",n.string=\"string\",n.number=\"number\",n.regexp=\"regexp\",n.operator=\"operator\",n.decorator=\"decorator\"})(ms||(ms={}));var us;(function(n){n.declaration=\"declaration\",n.definition=\"definition\",n.readonly=\"readonly\",n.static=\"static\",n.deprecated=\"deprecated\",n.abstract=\"abstract\",n.async=\"async\",n.modification=\"modification\",n.documentation=\"documentation\",n.defaultLibrary=\"defaultLibrary\"})(us||(us={}));var fs;(function(n){function e(t){let r=t;return g.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId==\"string\")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]==\"number\")}n.is=e})(fs||(fs={}));var gs;(function(n){function e(r,i){return{range:r,text:i}}n.create=e;function t(r){let i=r;return i!=null&&R.is(i.range)&&g.string(i.text)}n.is=t})(gs||(gs={}));var bs;(function(n){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}n.create=e;function t(r){let i=r;return i!=null&&R.is(i.range)&&g.boolean(i.caseSensitiveLookup)&&(g.string(i.variableName)||i.variableName===void 0)}n.is=t})(bs||(bs={}));var ws;(function(n){function e(r,i){return{range:r,expression:i}}n.create=e;function t(r){let i=r;return i!=null&&R.is(i.range)&&(g.string(i.expression)||i.expression===void 0)}n.is=t})(ws||(ws={}));var vs;(function(n){function e(r,i){return{frameId:r,stoppedLocation:i}}n.create=e;function t(r){let i=r;return g.defined(i)&&R.is(r.stoppedLocation)}n.is=t})(vs||(vs={}));var ei;(function(n){n.Type=1,n.Parameter=2;function e(t){return t===1||t===2}n.is=e})(ei||(ei={}));var ti;(function(n){function e(r){return{value:r}}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&(i.tooltip===void 0||g.string(i.tooltip)||Ct.is(i.tooltip))&&(i.location===void 0||it.is(i.location))&&(i.command===void 0||Me.is(i.command))}n.is=t})(ti||(ti={}));var ys;(function(n){function e(r,i,s){let a={position:r,label:i};return s!==void 0&&(a.kind=s),a}n.create=e;function t(r){let i=r;return g.objectLiteral(i)&&H.is(i.position)&&(g.string(i.label)||g.typedArray(i.label,ti.is))&&(i.kind===void 0||ei.is(i.kind))&&i.textEdits===void 0||g.typedArray(i.textEdits,_.is)&&(i.tooltip===void 0||g.string(i.tooltip)||Ct.is(i.tooltip))&&(i.paddingLeft===void 0||g.boolean(i.paddingLeft))&&(i.paddingRight===void 0||g.boolean(i.paddingRight))}n.is=t})(ys||(ys={}));var xs;(function(n){function e(t){return{kind:\"snippet\",value:t}}n.createSnippet=e})(xs||(xs={}));var Ss;(function(n){function e(t,r,i,s){return{insertText:t,filterText:r,range:i,command:s}}n.create=e})(Ss||(Ss={}));var Cs;(function(n){function e(t){return{items:t}}n.create=e})(Cs||(Cs={}));var ks;(function(n){n.Invoked=0,n.Automatic=1})(ks||(ks={}));var Fs;(function(n){function e(t,r){return{range:t,text:r}}n.create=e})(Fs||(Fs={}));var Es;(function(n){function e(t,r){return{triggerKind:t,selectedCompletionInfo:r}}n.create=e})(Es||(Es={}));var _s;(function(n){function e(t){let r=t;return g.objectLiteral(r)&&Or.is(r.uri)&&g.string(r.name)}n.is=e})(_s||(_s={}));var Is;(function(n){function e(s,a,l,o){return new ni(s,a,l,o)}n.create=e;function t(s){let a=s;return!!(g.defined(a)&&g.string(a.uri)&&(g.undefined(a.languageId)||g.string(a.languageId))&&g.uinteger(a.lineCount)&&g.func(a.getText)&&g.func(a.positionAt)&&g.func(a.offsetAt))}n.is=t;function r(s,a){let l=s.getText(),o=i(a,(h,u)=>{let w=h.range.start.line-u.range.start.line;return w===0?h.range.start.character-u.range.start.character:w}),d=l.length;for(let h=o.length-1;h>=0;h--){let u=o[h],w=s.offsetAt(u.range.start),b=s.offsetAt(u.range.end);if(b<=d)l=l.substring(0,w)+u.newText+l.substring(b,l.length);else throw new Error(\"Overlapping edit\");d=w}return l}n.applyEdits=r;function i(s,a){if(s.length<=1)return s;let l=s.length/2|0,o=s.slice(0,l),d=s.slice(l);i(o,a),i(d,a);let h=0,u=0,w=0;for(;h<o.length&&u<d.length;)a(o[h],d[u])<=0?s[w++]=o[h++]:s[w++]=d[u++];for(;h<o.length;)s[w++]=o[h++];for(;u<d.length;)s[w++]=d[u++];return s}})(Is||(Is={}));var ni=class{constructor(e,t,r,i){this._uri=e,this._languageId=t,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,r=!0;for(let i=0;i<t.length;i++){r&&(e.push(i),r=!1);let s=t.charAt(i);r=s===\"\\r\"||s===`\n`,s===\"\\r\"&&i+1<t.length&&t.charAt(i+1)===`\n`&&i++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,i=t.length;if(i===0)return H.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);t[a]>e?i=a:r=a+1}let s=r-1;return H.create(s,e-t[s])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],i=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}},g;(function(n){let e=Object.prototype.toString;function t(b){return typeof b<\"u\"}n.defined=t;function r(b){return typeof b>\"u\"}n.undefined=r;function i(b){return b===!0||b===!1}n.boolean=i;function s(b){return e.call(b)===\"[object String]\"}n.string=s;function a(b){return e.call(b)===\"[object Number]\"}n.number=a;function l(b,y,E){return e.call(b)===\"[object Number]\"&&y<=b&&b<=E}n.numberRange=l;function o(b){return e.call(b)===\"[object Number]\"&&-2147483648<=b&&b<=2147483647}n.integer=o;function d(b){return e.call(b)===\"[object Number]\"&&0<=b&&b<=2147483647}n.uinteger=d;function h(b){return e.call(b)===\"[object Function]\"}n.func=h;function u(b){return b!==null&&typeof b==\"object\"}n.objectLiteral=u;function w(b,y){return Array.isArray(b)&&b.every(y)}n.typedArray=w})(g||(g={}));var er=class n{constructor(e,t,r,i){this._uri=e,this._languageId=t,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let r of e)if(n.isIncremental(r)){let i=Rs(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);let l=Math.max(i.start.line,0),o=Math.max(i.end.line,0),d=this._lineOffsets,h=Ds(r.text,!1,s);if(o-l===h.length)for(let w=0,b=h.length;w<b;w++)d[w+l+1]=h[w];else h.length<1e4?d.splice(l+1,o-l,...h):this._lineOffsets=d=d.slice(0,l+1).concat(h,d.slice(o+1));let u=r.text.length-(a-s);if(u!==0)for(let w=l+1+h.length,b=d.length;w<b;w++)d[w]=d[w]+u}else if(n.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error(\"Unknown change event received\");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Ds(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,i=t.length;if(i===0)return{line:0,character:e};for(;r<i;){let a=Math.floor((r+i)/2);t[a]>e?i=a:r=a+1}let s=r-1;return{line:s,character:e-t[s]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],i=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return t!=null&&typeof t.text==\"string\"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength==\"number\")}static isFull(e){let t=e;return t!=null&&typeof t.text==\"string\"&&t.range===void 0&&t.rangeLength===void 0}},Jt;(function(n){function e(i,s,a,l){return new er(i,s,a,l)}n.create=e;function t(i,s,a){if(i instanceof er)return i.update(s,a),i;throw new Error(\"TextDocument.update: document must be created by TextDocument.create\")}n.update=t;function r(i,s){let a=i.getText(),l=ri(s.map(na),(h,u)=>{let w=h.range.start.line-u.range.start.line;return w===0?h.range.start.character-u.range.start.character:w}),o=0,d=[];for(let h of l){let u=i.offsetAt(h.range.start);if(u<o)throw new Error(\"Overlapping edit\");u>o&&d.push(a.substring(o,u)),h.newText.length&&d.push(h.newText),o=i.offsetAt(h.range.end)}return d.push(a.substr(o)),d.join(\"\")}n.applyEdits=r})(Jt||(Jt={}));function ri(n,e){if(n.length<=1)return n;let t=n.length/2|0,r=n.slice(0,t),i=n.slice(t);ri(r,e),ri(i,e);let s=0,a=0,l=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?n[l++]=r[s++]:n[l++]=i[a++];for(;s<r.length;)n[l++]=r[s++];for(;a<i.length;)n[l++]=i[a++];return n}function Ds(n,e,t=0){let r=e?[t]:[];for(let i=0;i<n.length;i++){let s=n.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<n.length&&n.charCodeAt(i+1)===10&&i++,r.push(t+i+1))}return r}function Rs(n){let e=n.start,t=n.end;return e.line>t.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:n}function na(n){let e=Rs(n.range);return e!==n.range?{newText:n.newText,range:e}:n}var zs;(function(n){n.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[se.Markdown,se.PlainText]}},hover:{contentFormat:[se.Markdown,se.PlainText]}}}})(zs||(zs={}));var st;(function(n){n[n.Unknown=0]=\"Unknown\",n[n.File=1]=\"File\",n[n.Directory=2]=\"Directory\",n[n.SymbolicLink=64]=\"SymbolicLink\"})(st||(st={}));var Ms={E:\"Edge\",FF:\"Firefox\",S:\"Safari\",C:\"Chrome\",IE:\"IE\",O:\"Opera\"};function Ts(n){switch(n){case\"experimental\":return`\\u26A0\\uFE0F Property is experimental. Be cautious when using it.\\uFE0F\n\n`;case\"nonstandard\":return`\\u{1F6A8}\\uFE0F Property is nonstandard. Avoid using it.\n\n`;case\"obsolete\":return`\\u{1F6A8}\\uFE0F\\uFE0F\\uFE0F Property is obsolete. Avoid using it.\n\n`;default:return\"\"}}function Ce(n,e,t){let r;if(e?r={kind:\"markdown\",value:ia(n,t)}:r={kind:\"plaintext\",value:ra(n,t)},r.value!==\"\")return r}function tr(n){return n=n.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\"),n.replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function ra(n,e){if(!n.description||n.description===\"\")return\"\";if(typeof n.description!=\"string\")return n.description.value;let t=\"\";if(e?.documentation!==!1){n.status&&(t+=Ts(n.status)),t+=n.description;let r=Ns(n.browsers);r&&(t+=`\n(`+r+\")\"),\"syntax\"in n&&(t+=`\n\nSyntax: ${n.syntax}`)}return n.references&&n.references.length>0&&e?.references!==!1&&(t.length>0&&(t+=`\n\n`),t+=n.references.map(r=>`${r.name}: ${r.url}`).join(\" | \")),t}function ia(n,e){if(!n.description||n.description===\"\")return\"\";let t=\"\";if(e?.documentation!==!1){n.status&&(t+=Ts(n.status)),typeof n.description==\"string\"?t+=tr(n.description):t+=n.description.kind===se.Markdown?n.description.value:tr(n.description.value);let r=Ns(n.browsers);r&&(t+=`\n\n(`+tr(r)+\")\"),\"syntax\"in n&&n.syntax&&(t+=`\n\nSyntax: ${tr(n.syntax)}`)}return n.references&&n.references.length>0&&e?.references!==!1&&(t.length>0&&(t+=`\n\n`),t+=n.references.map(r=>`[${r.name}](${r.url})`).join(\" | \")),t}function Ns(n=[]){return n.length===0?null:n.map(e=>{let t=\"\",r=e.match(/([A-Z]+)(\\d+)?/),i=r[1],s=r[2];return i in Ms&&(t+=Ms[i]),s&&(t+=\" \"+s),t}).join(\", \")}var sa=/(^#([0-9A-F]{3}){1,2}$)|(^#([0-9A-F]{4}){1,2}$)/i,Ws=[{label:\"rgb\",func:\"rgb($red, $green, $blue)\",insertText:\"rgb(${1:red}, ${2:green}, ${3:blue})\",desc:p(\"Creates a Color from red, green, and blue values.\")},{label:\"rgba\",func:\"rgba($red, $green, $blue, $alpha)\",insertText:\"rgba(${1:red}, ${2:green}, ${3:blue}, ${4:alpha})\",desc:p(\"Creates a Color from red, green, blue, and alpha values.\")},{label:\"rgb relative\",func:\"rgb(from $color $red $green $blue)\",insertText:\"rgb(from ${1:color} ${2:r} ${3:g} ${4:b})\",desc:p(\"Creates a Color from the red, green, and blue values of another Color.\")},{label:\"hsl\",func:\"hsl($hue, $saturation, $lightness)\",insertText:\"hsl(${1:hue}, ${2:saturation}, ${3:lightness})\",desc:p(\"Creates a Color from hue, saturation, and lightness values.\")},{label:\"hsla\",func:\"hsla($hue, $saturation, $lightness, $alpha)\",insertText:\"hsla(${1:hue}, ${2:saturation}, ${3:lightness}, ${4:alpha})\",desc:p(\"Creates a Color from hue, saturation, lightness, and alpha values.\")},{label:\"hsl relative\",func:\"hsl(from $color $hue $saturation $lightness)\",insertText:\"hsl(from ${1:color} ${2:h} ${3:s} ${4:l})\",desc:p(\"Creates a Color from the hue, saturation, and lightness values of another Color.\")},{label:\"hwb\",func:\"hwb($hue $white $black)\",insertText:\"hwb(${1:hue} ${2:white} ${3:black})\",desc:p(\"Creates a Color from hue, white, and black values.\")},{label:\"hwb relative\",func:\"hwb(from $color $hue $white $black)\",insertText:\"hwb(from ${1:color} ${2:h} ${3:w} ${4:b})\",desc:p(\"Creates a Color from the hue, white, and black values of another Color.\")},{label:\"lab\",func:\"lab($lightness $a $b)\",insertText:\"lab(${1:lightness} ${2:a} ${3:b})\",desc:p(\"Creates a Color from lightness, a, and b values.\")},{label:\"lab relative\",func:\"lab(from $color $lightness $a $b)\",insertText:\"lab(from ${1:color} ${2:l} ${3:a} ${4:b})\",desc:p(\"Creates a Color from the lightness, a, and b values of another Color.\")},{label:\"oklab\",func:\"oklab($lightness $a $b)\",insertText:\"oklab(${1:lightness} ${2:a} ${3:b})\",desc:p(\"Creates a Color from lightness, a, and b values.\")},{label:\"oklab relative\",func:\"oklab(from $color $lightness $a $b)\",insertText:\"oklab(from ${1:color} ${2:l} ${3:a} ${4:b})\",desc:p(\"Creates a Color from the lightness, a, and b values of another Color.\")},{label:\"lch\",func:\"lch($lightness $chroma $hue)\",insertText:\"lch(${1:lightness} ${2:chroma} ${3:hue})\",desc:p(\"Creates a Color from lightness, chroma, and hue values.\")},{label:\"lch relative\",func:\"lch(from $color $lightness $chroma $hue)\",insertText:\"lch(from ${1:color} ${2:l} ${3:c} ${4:h})\",desc:p(\"Creates a Color from the lightness, chroma, and hue values of another Color.\")},{label:\"oklch\",func:\"oklch($lightness $chroma $hue)\",insertText:\"oklch(${1:lightness} ${2:chroma} ${3:hue})\",desc:p(\"Creates a Color from lightness, chroma, and hue values.\")},{label:\"oklch relative\",func:\"oklch(from $color $lightness $chroma $hue)\",insertText:\"oklch(from ${1:color} ${2:l} ${3:c} ${4:h})\",desc:p(\"Creates a Color from the lightness, chroma, and hue values of another Color.\")},{label:\"color\",func:\"color($color-space $red $green $blue)\",insertText:\"color(${1|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${2:red} ${3:green} ${4:blue})\",desc:p(\"Creates a Color in a specific color space from red, green, and blue values.\")},{label:\"color relative\",func:\"color(from $color $color-space $red $green $blue)\",insertText:\"color(from ${1:color} ${2|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${3:r} ${4:g} ${5:b})\",desc:p(\"Creates a Color in a specific color space from the red, green, and blue values of another Color.\")},{label:\"color-mix\",func:\"color-mix(in $color-space, $color $percentage, $color $percentage)\",insertText:\"color-mix(in ${1|srgb,srgb-linear,lab,oklab,xyz,xyz-d50,xyz-d65|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})\",desc:p(\"Mix two colors together in a rectangular color space.\")},{label:\"color-mix hue\",func:\"color-mix(in $color-space $interpolation-method hue, $color $percentage, $color $percentage)\",insertText:\"color-mix(in ${1|hsl,hwb,lch,oklch|} ${2|shorter hue,longer hue,increasing hue,decreasing hue|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})\",desc:p(\"Mix two colors together in a polar color space.\")}],oa=/^(rgb|rgba|hsl|hsla|hwb)$/i,Xt={aliceblue:\"#f0f8ff\",antiquewhite:\"#faebd7\",aqua:\"#00ffff\",aquamarine:\"#7fffd4\",azure:\"#f0ffff\",beige:\"#f5f5dc\",bisque:\"#ffe4c4\",black:\"#000000\",blanchedalmond:\"#ffebcd\",blue:\"#0000ff\",blueviolet:\"#8a2be2\",brown:\"#a52a2a\",burlywood:\"#deb887\",cadetblue:\"#5f9ea0\",chartreuse:\"#7fff00\",chocolate:\"#d2691e\",coral:\"#ff7f50\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cyan:\"#00ffff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",darkgrey:\"#a9a9a9\",darkgreen:\"#006400\",darkkhaki:\"#bdb76b\",darkmagenta:\"#8b008b\",darkolivegreen:\"#556b2f\",darkorange:\"#ff8c00\",darkorchid:\"#9932cc\",darkred:\"#8b0000\",darksalmon:\"#e9967a\",darkseagreen:\"#8fbc8f\",darkslateblue:\"#483d8b\",darkslategray:\"#2f4f4f\",darkslategrey:\"#2f4f4f\",darkturquoise:\"#00ced1\",darkviolet:\"#9400d3\",deeppink:\"#ff1493\",deepskyblue:\"#00bfff\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1e90ff\",firebrick:\"#b22222\",floralwhite:\"#fffaf0\",forestgreen:\"#228b22\",fuchsia:\"#ff00ff\",gainsboro:\"#dcdcdc\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#adff2f\",honeydew:\"#f0fff0\",hotpink:\"#ff69b4\",indianred:\"#cd5c5c\",indigo:\"#4b0082\",ivory:\"#fffff0\",khaki:\"#f0e68c\",lavender:\"#e6e6fa\",lavenderblush:\"#fff0f5\",lawngreen:\"#7cfc00\",lemonchiffon:\"#fffacd\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lightcyan:\"#e0ffff\",lightgoldenrodyellow:\"#fafad2\",lightgray:\"#d3d3d3\",lightgrey:\"#d3d3d3\",lightgreen:\"#90ee90\",lightpink:\"#ffb6c1\",lightsalmon:\"#ffa07a\",lightseagreen:\"#20b2aa\",lightskyblue:\"#87cefa\",lightslategray:\"#778899\",lightslategrey:\"#778899\",lightsteelblue:\"#b0c4de\",lightyellow:\"#ffffe0\",lime:\"#00ff00\",limegreen:\"#32cd32\",linen:\"#faf0e6\",magenta:\"#ff00ff\",maroon:\"#800000\",mediumaquamarine:\"#66cdaa\",mediumblue:\"#0000cd\",mediumorchid:\"#ba55d3\",mediumpurple:\"#9370d8\",mediumseagreen:\"#3cb371\",mediumslateblue:\"#7b68ee\",mediumspringgreen:\"#00fa9a\",mediumturquoise:\"#48d1cc\",mediumvioletred:\"#c71585\",midnightblue:\"#191970\",mintcream:\"#f5fffa\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",navajowhite:\"#ffdead\",navy:\"#000080\",oldlace:\"#fdf5e6\",olive:\"#808000\",olivedrab:\"#6b8e23\",orange:\"#ffa500\",orangered:\"#ff4500\",orchid:\"#da70d6\",palegoldenrod:\"#eee8aa\",palegreen:\"#98fb98\",paleturquoise:\"#afeeee\",palevioletred:\"#d87093\",papayawhip:\"#ffefd5\",peachpuff:\"#ffdab9\",peru:\"#cd853f\",pink:\"#ffc0cb\",plum:\"#dda0dd\",powderblue:\"#b0e0e6\",purple:\"#800080\",red:\"#ff0000\",rebeccapurple:\"#663399\",rosybrown:\"#bc8f8f\",royalblue:\"#4169e1\",saddlebrown:\"#8b4513\",salmon:\"#fa8072\",sandybrown:\"#f4a460\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",sienna:\"#a0522d\",silver:\"#c0c0c0\",skyblue:\"#87ceeb\",slateblue:\"#6a5acd\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#fffafa\",springgreen:\"#00ff7f\",steelblue:\"#4682b4\",tan:\"#d2b48c\",teal:\"#008080\",thistle:\"#d8bfd8\",tomato:\"#ff6347\",turquoise:\"#40e0d0\",violet:\"#ee82ee\",wheat:\"#f5deb3\",white:\"#ffffff\",whitesmoke:\"#f5f5f5\",yellow:\"#ffff00\",yellowgreen:\"#9acd32\"},aa=new RegExp(`^(${Object.keys(Xt).join(\"|\")})$`,\"i\"),rr={currentColor:\"The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.\",transparent:\"Fully transparent. This keyword can be considered a shorthand for rgba(0,0,0,0) which is its computed value.\"},la=new RegExp(`^(${Object.keys(rr).join(\"|\")})$`,\"i\");function He(n,e){let r=n.getText().match(/^([-+]?[0-9]*\\.?[0-9]+)(%?)$/);if(r){r[2]&&(e=100);let i=parseFloat(r[1])/e;if(i>=0&&i<=1)return i}throw new Error}function Os(n){let e=n.getText(),t=e.match(/^([-+]?[0-9]*\\.?[0-9]+)(deg|rad|grad|turn)?$/);if(t)switch(t[2]){case\"deg\":return parseFloat(e)%360;case\"rad\":return parseFloat(e)*180/Math.PI%360;case\"grad\":return parseFloat(e)*.9%360;case\"turn\":return parseFloat(e)*360%360;default:if(typeof t[2]>\"u\")return parseFloat(e)%360}throw new Error}function Ls(n){let e=n.getName();return e?oa.test(e):!1}function ii(n){return sa.test(n)||aa.test(n)||la.test(n)}var Ps=48,ca=57,da=65;var nr=97,ha=102;function B(n){return n<Ps?0:n<=ca?n-Ps:(n<nr&&(n+=nr-da),n>=nr&&n<=ha?n-nr+10:0)}function As(n){if(n[0]!==\"#\")return null;switch(n.length){case 4:return{red:B(n.charCodeAt(1))*17/255,green:B(n.charCodeAt(2))*17/255,blue:B(n.charCodeAt(3))*17/255,alpha:1};case 5:return{red:B(n.charCodeAt(1))*17/255,green:B(n.charCodeAt(2))*17/255,blue:B(n.charCodeAt(3))*17/255,alpha:B(n.charCodeAt(4))*17/255};case 7:return{red:(B(n.charCodeAt(1))*16+B(n.charCodeAt(2)))/255,green:(B(n.charCodeAt(3))*16+B(n.charCodeAt(4)))/255,blue:(B(n.charCodeAt(5))*16+B(n.charCodeAt(6)))/255,alpha:1};case 9:return{red:(B(n.charCodeAt(1))*16+B(n.charCodeAt(2)))/255,green:(B(n.charCodeAt(3))*16+B(n.charCodeAt(4)))/255,blue:(B(n.charCodeAt(5))*16+B(n.charCodeAt(6)))/255,alpha:(B(n.charCodeAt(7))*16+B(n.charCodeAt(8)))/255}}return null}function $s(n,e,t,r=1){if(n=n/60,e===0)return{red:t,green:t,blue:t,alpha:r};{let i=(l,o,d)=>{for(;d<0;)d+=6;for(;d>=6;)d-=6;return d<1?(o-l)*d+l:d<3?o:d<4?(o-l)*(4-d)+l:l},s=t<=.5?t*(e+1):t+e-t*e,a=t*2-s;return{red:i(a,s,n+2),green:i(a,s,n),blue:i(a,s,n-2),alpha:r}}}function si(n){let e=n.red,t=n.green,r=n.blue,i=n.alpha,s=Math.max(e,t,r),a=Math.min(e,t,r),l=0,o=0,d=(a+s)/2,h=s-a;if(h>0){switch(o=Math.min(d<=.5?h/(2*d):h/(2-2*d),1),s){case e:l=(t-r)/h+(t<r?6:0);break;case t:l=(r-e)/h+2;break;case r:l=(e-t)/h+4;break}l*=60,l=Math.round(l)}return{h:l,s:o,l:d,a:i}}function pa(n,e,t,r=1){if(e+t>=1){let o=e/(e+t);return{red:o,green:o,blue:o,alpha:r}}let i=$s(n,1,.5,r),s=i.red;s*=1-e-t,s+=e;let a=i.green;a*=1-e-t,a+=e;let l=i.blue;return l*=1-e-t,l+=e,{red:s,green:a,blue:l,alpha:r}}function Us(n){let e=si(n),t=Math.min(n.red,n.green,n.blue),r=1-Math.max(n.red,n.green,n.blue);return{h:e.h,w:t,b:r,a:e.a}}function Vs(n){if(n.type===m.HexColorValue){let e=n.getText();return As(e)}else if(n.type===m.Function){let e=n,t=e.getName(),r=e.getArguments().getChildren();if(r.length===1){let i=r[0].getChildren();if(i.length===1&&i[0].type===m.Expression&&(r=i[0].getChildren(),r.length===3)){let s=r[2];if(s instanceof qe){let a=s.getLeft(),l=s.getRight(),o=s.getOperator();a&&l&&o&&o.matches(\"/\")&&(r=[r[0],r[1],a,l])}}}if(!t||r.length<3||r.length>4)return null;try{let i=r.length===4?He(r[3],1):1;if(t===\"rgb\"||t===\"rgba\")return{red:He(r[0],255),green:He(r[1],255),blue:He(r[2],255),alpha:i};if(t===\"hsl\"||t===\"hsla\"){let s=Os(r[0]),a=He(r[1],100),l=He(r[2],100);return $s(s,a,l,i)}else if(t===\"hwb\"){let s=Os(r[0]),a=He(r[1],100),l=He(r[2],100);return pa(s,a,l,i)}}catch{return null}}else if(n.type===m.Identifier){if(n.parent&&n.parent.type!==m.Term)return null;let e=n.parent;if(e&&e.parent&&e.parent.type===m.BinaryExpression){let i=e.parent;if(i.parent&&i.parent.type===m.ListEntry&&i.parent.key===i)return null}let t=n.getText().toLowerCase();if(t===\"none\")return null;let r=Xt[t];if(r)return As(r)}return null}var oi={bottom:\"Computes to \\u2018100%\\u2019 for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.\",center:\"Computes to \\u201850%\\u2019 (\\u2018left 50%\\u2019) for the horizontal position if the horizontal position is not otherwise specified, or \\u201850%\\u2019 (\\u2018top 50%\\u2019) for the vertical position if it is.\",left:\"Computes to \\u20180%\\u2019 for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.\",right:\"Computes to \\u2018100%\\u2019 for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.\",top:\"Computes to \\u20180%\\u2019 for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset.\"},ai={\"no-repeat\":\"Placed once and not repeated in this direction.\",repeat:\"Repeated in this direction as often as needed to cover the background painting area.\",\"repeat-x\":\"Computes to \\u2018repeat no-repeat\\u2019.\",\"repeat-y\":\"Computes to \\u2018no-repeat repeat\\u2019.\",round:\"Repeated as often as will fit within the background positioning area. If it doesn\\u2019t fit a whole number of times, it is rescaled so that it does.\",space:\"Repeated as often as will fit within the background positioning area without being clipped and then the images are spaced out to fill the area.\"},li={dashed:\"A series of square-ended dashes.\",dotted:\"A series of round dots.\",double:\"Two parallel solid lines with some space between them.\",groove:\"Looks as if it were carved in the canvas.\",hidden:\"Same as \\u2018none\\u2019, but has different behavior in the border conflict resolution rules for border-collapsed tables.\",inset:\"Looks as if the content on the inside of the border is sunken into the canvas.\",none:\"No border. Color and width are ignored.\",outset:\"Looks as if the content on the inside of the border is coming out of the canvas.\",ridge:\"Looks as if it were coming out of the canvas.\",solid:\"A single line segment.\"},js=[\"medium\",\"thick\",\"thin\"],ci={\"border-box\":\"The background is painted within (clipped to) the border box.\",\"content-box\":\"The background is painted within (clipped to) the content box.\",\"padding-box\":\"The background is painted within (clipped to) the padding box.\"},di={\"margin-box\":\"Uses the margin box as reference box.\",\"fill-box\":\"Uses the object bounding box as reference box.\",\"stroke-box\":\"Uses the stroke bounding box as reference box.\",\"view-box\":\"Uses the nearest SVG viewport as reference box.\"},hi={initial:\"Represents the value specified as the property\\u2019s initial value.\",inherit:\"Represents the computed value of the property on the element\\u2019s parent.\",unset:\"Acts as either `inherit` or `initial`, depending on whether the property is inherited or not.\"},pi={\"var()\":\"Evaluates the value of a custom variable.\",\"calc()\":\"Evaluates an mathematical expression. The following operators can be used: + - * /.\"},mi={\"url()\":\"Reference an image file by URL\",\"image()\":\"Provide image fallbacks and annotations.\",\"-webkit-image-set()\":\"Provide multiple resolutions. Remember to use unprefixed image-set() in addition.\",\"image-set()\":\"Provide multiple resolutions of an image and const the UA decide which is most appropriate in a given situation.\",\"-moz-element()\":\"Use an element in the document as an image. Remember to use unprefixed element() in addition.\",\"element()\":\"Use an element in the document as an image.\",\"cross-fade()\":\"Indicates the two images to be combined and how far along in the transition the combination is.\",\"-webkit-gradient()\":\"Deprecated. Use modern linear-gradient() or radial-gradient() instead.\",\"-webkit-linear-gradient()\":\"Linear gradient. Remember to use unprefixed version in addition.\",\"-moz-linear-gradient()\":\"Linear gradient. Remember to use unprefixed version in addition.\",\"-o-linear-gradient()\":\"Linear gradient. Remember to use unprefixed version in addition.\",\"linear-gradient()\":\"A linear gradient is created by specifying a straight gradient line, and then several colors placed along that line.\",\"-webkit-repeating-linear-gradient()\":\"Repeating Linear gradient. Remember to use unprefixed version in addition.\",\"-moz-repeating-linear-gradient()\":\"Repeating Linear gradient. Remember to use unprefixed version in addition.\",\"-o-repeating-linear-gradient()\":\"Repeating Linear gradient. Remember to use unprefixed version in addition.\",\"repeating-linear-gradient()\":\"Same as linear-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop\\u2019s position and the first specified color-stop\\u2019s position.\",\"-webkit-radial-gradient()\":\"Radial gradient. Remember to use unprefixed version in addition.\",\"-moz-radial-gradient()\":\"Radial gradient. Remember to use unprefixed version in addition.\",\"radial-gradient()\":\"Colors emerge from a single point and smoothly spread outward in a circular or elliptical shape.\",\"-webkit-repeating-radial-gradient()\":\"Repeating radial gradient. Remember to use unprefixed version in addition.\",\"-moz-repeating-radial-gradient()\":\"Repeating radial gradient. Remember to use unprefixed version in addition.\",\"repeating-radial-gradient()\":\"Same as radial-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop\\u2019s position and the first specified color-stop\\u2019s position.\"},ui={ease:\"Equivalent to cubic-bezier(0.25, 0.1, 0.25, 1.0).\",\"ease-in\":\"Equivalent to cubic-bezier(0.42, 0, 1.0, 1.0).\",\"ease-in-out\":\"Equivalent to cubic-bezier(0.42, 0, 0.58, 1.0).\",\"ease-out\":\"Equivalent to cubic-bezier(0, 0, 0.58, 1.0).\",linear:\"Equivalent to cubic-bezier(0.0, 0.0, 1.0, 1.0).\",\"step-end\":\"Equivalent to steps(1, end).\",\"step-start\":\"Equivalent to steps(1, start).\",\"steps()\":\"The first parameter specifies the number of intervals in the function. The second parameter, which is optional, is either the value \\u201Cstart\\u201D or \\u201Cend\\u201D.\",\"cubic-bezier()\":\"Specifies a cubic-bezier curve. The four values specify points P1 and P2  of the curve as (x1, y1, x2, y2).\",\"cubic-bezier(0.6, -0.28, 0.735, 0.045)\":\"Ease-in Back. Overshoots.\",\"cubic-bezier(0.68, -0.55, 0.265, 1.55)\":\"Ease-in-out Back. Overshoots.\",\"cubic-bezier(0.175, 0.885, 0.32, 1.275)\":\"Ease-out Back. Overshoots.\",\"cubic-bezier(0.6, 0.04, 0.98, 0.335)\":\"Ease-in Circular. Based on half circle.\",\"cubic-bezier(0.785, 0.135, 0.15, 0.86)\":\"Ease-in-out Circular. Based on half circle.\",\"cubic-bezier(0.075, 0.82, 0.165, 1)\":\"Ease-out Circular. Based on half circle.\",\"cubic-bezier(0.55, 0.055, 0.675, 0.19)\":\"Ease-in Cubic. Based on power of three.\",\"cubic-bezier(0.645, 0.045, 0.355, 1)\":\"Ease-in-out Cubic. Based on power of three.\",\"cubic-bezier(0.215, 0.610, 0.355, 1)\":\"Ease-out Cubic. Based on power of three.\",\"cubic-bezier(0.95, 0.05, 0.795, 0.035)\":\"Ease-in Exponential. Based on two to the power ten.\",\"cubic-bezier(1, 0, 0, 1)\":\"Ease-in-out Exponential. Based on two to the power ten.\",\"cubic-bezier(0.19, 1, 0.22, 1)\":\"Ease-out Exponential. Based on two to the power ten.\",\"cubic-bezier(0.47, 0, 0.745, 0.715)\":\"Ease-in Sine.\",\"cubic-bezier(0.445, 0.05, 0.55, 0.95)\":\"Ease-in-out Sine.\",\"cubic-bezier(0.39, 0.575, 0.565, 1)\":\"Ease-out Sine.\",\"cubic-bezier(0.55, 0.085, 0.68, 0.53)\":\"Ease-in Quadratic. Based on power of two.\",\"cubic-bezier(0.455, 0.03, 0.515, 0.955)\":\"Ease-in-out Quadratic. Based on power of two.\",\"cubic-bezier(0.25, 0.46, 0.45, 0.94)\":\"Ease-out Quadratic. Based on power of two.\",\"cubic-bezier(0.895, 0.03, 0.685, 0.22)\":\"Ease-in Quartic. Based on power of four.\",\"cubic-bezier(0.77, 0, 0.175, 1)\":\"Ease-in-out Quartic. Based on power of four.\",\"cubic-bezier(0.165, 0.84, 0.44, 1)\":\"Ease-out Quartic. Based on power of four.\",\"cubic-bezier(0.755, 0.05, 0.855, 0.06)\":\"Ease-in Quintic. Based on power of five.\",\"cubic-bezier(0.86, 0, 0.07, 1)\":\"Ease-in-out Quintic. Based on power of five.\",\"cubic-bezier(0.23, 1, 0.320, 1)\":\"Ease-out Quintic. Based on power of five.\"},fi={\"circle()\":\"Defines a circle.\",\"ellipse()\":\"Defines an ellipse.\",\"inset()\":\"Defines an inset rectangle.\",\"polygon()\":\"Defines a polygon.\"},ir={length:[\"cap\",\"ch\",\"cm\",\"cqb\",\"cqh\",\"cqi\",\"cqmax\",\"cqmin\",\"cqw\",\"dvb\",\"dvh\",\"dvi\",\"dvw\",\"em\",\"ex\",\"ic\",\"in\",\"lh\",\"lvb\",\"lvh\",\"lvi\",\"lvw\",\"mm\",\"pc\",\"pt\",\"px\",\"q\",\"rcap\",\"rch\",\"rem\",\"rex\",\"ric\",\"rlh\",\"svb\",\"svh\",\"svi\",\"svw\",\"vb\",\"vh\",\"vi\",\"vmax\",\"vmin\",\"vw\"],angle:[\"deg\",\"rad\",\"grad\",\"turn\"],time:[\"ms\",\"s\"],frequency:[\"Hz\",\"kHz\"],resolution:[\"dpi\",\"dpcm\",\"dppx\"],percentage:[\"%\",\"fr\"]},Bs=[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rb\",\"rp\",\"rt\",\"rtc\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"const\",\"video\",\"wbr\"],qs=[\"circle\",\"clipPath\",\"cursor\",\"defs\",\"desc\",\"ellipse\",\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\",\"filter\",\"foreignObject\",\"g\",\"hatch\",\"hatchpath\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"mesh\",\"meshpatch\",\"meshrow\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"set\",\"solidcolor\",\"stop\",\"svg\",\"switch\",\"symbol\",\"text\",\"textPath\",\"tspan\",\"use\",\"view\"],Ks=[\"@bottom-center\",\"@bottom-left\",\"@bottom-left-corner\",\"@bottom-right\",\"@bottom-right-corner\",\"@left-bottom\",\"@left-middle\",\"@left-top\",\"@right-bottom\",\"@right-middle\",\"@right-top\",\"@top-center\",\"@top-left\",\"@top-left-corner\",\"@top-right\",\"@top-right-corner\"];function Yt(n){return Object.keys(n).map(e=>n[e])}function ie(n){return typeof n<\"u\"}var ke=class{constructor(e=new ce){this.keyframeRegex=/^@(\\-(webkit|ms|moz|o)\\-)?keyframes$/i,this.scanner=e,this.token={type:c.EOF,offset:-1,len:0,text:\"\"},this.prevToken=void 0}peekIdent(e){return c.Ident===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()}peekKeyword(e){return c.AtKeyword===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()}peekDelim(e){return c.Delim===this.token.type&&e===this.token.text}peek(e){return e===this.token.type}peekOne(...e){return e.indexOf(this.token.type)!==-1}peekRegExp(e,t){return e!==this.token.type?!1:t.test(this.token.text)}hasWhitespace(){return!!this.prevToken&&this.prevToken.offset+this.prevToken.len!==this.token.offset}consumeToken(){this.prevToken=this.token,this.token=this.scanner.scan()}acceptUnicodeRange(){let e=this.scanner.tryScanUnicode();return e?(this.prevToken=e,this.token=this.scanner.scan(),!0):!1}mark(){return{prev:this.prevToken,curr:this.token,pos:this.scanner.pos()}}restoreAtMark(e){this.prevToken=e.prev,this.token=e.curr,this.scanner.goBackTo(e.pos)}try(e){let t=this.mark(),r=e();return r||(this.restoreAtMark(t),null)}acceptOneKeyword(e){if(c.AtKeyword===this.token.type){for(let t of e)if(t.length===this.token.text.length&&t===this.token.text.toLowerCase())return this.consumeToken(),!0}return!1}accept(e){return e===this.token.type?(this.consumeToken(),!0):!1}acceptIdent(e){return this.peekIdent(e)?(this.consumeToken(),!0):!1}acceptKeyword(e){return this.peekKeyword(e)?(this.consumeToken(),!0):!1}acceptDelim(e){return this.peekDelim(e)?(this.consumeToken(),!0):!1}acceptRegexp(e){return e.test(this.token.text)?(this.consumeToken(),!0):!1}_parseRegexp(e){let t=this.createNode(m.Identifier);do;while(this.acceptRegexp(e));return this.finish(t)}acceptUnquotedString(){let e=this.scanner.pos();this.scanner.goBackTo(this.token.offset);let t=this.scanner.scanUnquotedString();return t?(this.token=t,this.consumeToken(),!0):(this.scanner.goBackTo(e),!1)}resync(e,t){for(;;){if(e&&e.indexOf(this.token.type)!==-1)return this.consumeToken(),!0;if(t&&t.indexOf(this.token.type)!==-1)return!0;if(this.token.type===c.EOF)return!1;this.token=this.scanner.scan()}}createNode(e){return new x(this.token.offset,this.token.len,e)}create(e){return new e(this.token.offset,this.token.len)}finish(e,t,r,i){if(!(e instanceof J)&&(t&&this.markError(e,t,r,i),this.prevToken)){let s=this.prevToken.offset+this.prevToken.len;e.length=s>e.offset?s-e.offset:0}return e}markError(e,t,r,i){this.token!==this.lastErrorToken&&(e.addIssue(new wt(e,t,ee.Error,void 0,this.token.offset,this.token.len)),this.lastErrorToken=this.token),(r||i)&&this.resync(r,i)}parseStylesheet(e){let t=e.version,r=e.getText(),i=(s,a)=>{if(e.version!==t)throw new Error(\"Underlying model has changed, AST is no longer valid\");return r.substr(s,a)};return this.internalParse(r,this._parseStylesheet,i)}internalParse(e,t,r){this.scanner.setSource(e),this.token=this.scanner.scan();let i=t.bind(this)();return i&&(r?i.textProvider=r:i.textProvider=(s,a)=>e.substr(s,a)),i}_parseStylesheet(){let e=this.create(bn);for(;e.addChild(this._parseStylesheetStart()););let t=!1;do{let r=!1;do{r=!1;let i=this._parseStylesheetStatement();for(i&&(e.addChild(i),r=!0,t=!1,!this.peek(c.EOF)&&this._needsSemicolonAfter(i)&&!this.accept(c.SemiColon)&&this.markError(e,f.SemiColonExpected));this.accept(c.SemiColon)||this.accept(c.CDO)||this.accept(c.CDC);)r=!0,t=!1}while(r);if(this.peek(c.EOF))break;t||(this.peek(c.AtKeyword)?this.markError(e,f.UnknownAtRule):this.markError(e,f.RuleOrSelectorExpected),t=!0),this.consumeToken()}while(!this.peek(c.EOF));return this.finish(e)}_parseStylesheetStart(){return this._parseCharset()}_parseStylesheetStatement(e=!1){return this.peek(c.AtKeyword)?this._parseStylesheetAtStatement(e):this._parseRuleset(e)}_parseStylesheetAtStatement(e=!1){return this._parseImport()||this._parseMedia(e)||this._parsePage()||this._parseFontFace()||this._parseKeyframe()||this._parseSupports(e)||this._parseLayer(e)||this._parsePropertyAtRule()||this._parseViewPort()||this._parseNamespace()||this._parseDocument()||this._parseContainer(e)||this._parseUnknownAtRule()}_tryParseRuleset(e){let t=this.mark();if(this._parseSelector(e)){for(;this.accept(c.Comma)&&this._parseSelector(e););if(this.accept(c.CurlyL))return this.restoreAtMark(t),this._parseRuleset(e)}return this.restoreAtMark(t),null}_parseRuleset(e=!1){let t=this.create(ae),r=t.getSelectors();if(!r.addChild(this._parseSelector(e)))return null;for(;this.accept(c.Comma);)if(!r.addChild(this._parseSelector(e)))return this.finish(t,f.SelectorExpected);return this._parseBody(t,this._parseRuleSetDeclaration.bind(this))}_parseRuleSetDeclarationAtStatement(){return this._parseMedia(!0)||this._parseSupports(!0)||this._parseLayer(!0)||this._parseContainer(!0)||this._parseUnknownAtRule()}_parseRuleSetDeclaration(){return this.peek(c.AtKeyword)?this._parseRuleSetDeclarationAtStatement():this.peek(c.Ident)?this._tryParseRuleset(!0)||this._parseDeclaration():this._parseRuleset(!0)}_needsSemicolonAfter(e){switch(e.type){case m.Keyframe:case m.ViewPort:case m.Media:case m.Ruleset:case m.Namespace:case m.If:case m.For:case m.Each:case m.While:case m.MixinDeclaration:case m.FunctionDeclaration:case m.MixinContentDeclaration:return!1;case m.ExtendsReference:case m.MixinContentReference:case m.ReturnStatement:case m.MediaQuery:case m.Debug:case m.Import:case m.AtApplyRule:case m.CustomPropertyDeclaration:return!0;case m.VariableDeclaration:return e.needsSemicolon;case m.MixinReference:return!e.getContent();case m.Declaration:return!e.getNestedProperties()}return!1}_parseDeclarations(e){let t=this.create(Ze);if(!this.accept(c.CurlyL))return null;let r=e();for(;t.addChild(r)&&!this.peek(c.CurlyR);){if(this._needsSemicolonAfter(r)&&!this.accept(c.SemiColon))return this.finish(t,f.SemiColonExpected,[c.SemiColon,c.CurlyR]);for(r&&this.prevToken&&this.prevToken.type===c.SemiColon&&(r.semicolonPosition=this.prevToken.offset);this.accept(c.SemiColon););r=e()}return this.accept(c.CurlyR)?this.finish(t):this.finish(t,f.RightCurlyExpected,[c.CurlyR,c.SemiColon])}_parseBody(e,t){return e.setDeclarations(this._parseDeclarations(t))?this.finish(e):this.finish(e,f.LeftCurlyExpected,[c.CurlyR,c.SemiColon])}_parseSelector(e){let t=this.create(de),r=!1;for(e&&(r=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());)r=!0,t.addChild(this._parseCombinator());return r?this.finish(t):null}_parseDeclaration(e){let t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;let r=this.create(Q);return r.setProperty(this._parseProperty())?this.accept(c.Colon)?(this.prevToken&&(r.colonPosition=this.prevToken.offset),r.setValue(this._parseExpr())?(r.addChild(this._parsePrio()),this.peek(c.SemiColon)&&(r.semicolonPosition=this.token.offset),this.finish(r)):this.finish(r,f.PropertyValueExpected)):this.finish(r,f.ColonExpected,[c.Colon],e||[c.SemiColon]):null}_tryParseCustomPropertyDeclaration(e){if(!this.peekRegExp(c.Ident,/^--/))return null;let t=this.create(vn);if(!t.setProperty(this._parseProperty()))return null;if(!this.accept(c.Colon))return this.finish(t,f.ColonExpected,[c.Colon]);this.prevToken&&(t.colonPosition=this.prevToken.offset);let r=this.mark();if(this.peek(c.CurlyL)){let s=this.create(wn),a=this._parseDeclarations(this._parseRuleSetDeclaration.bind(this));if(s.setDeclarations(a)&&!a.isErroneous(!0)&&(s.addChild(this._parsePrio()),this.peek(c.SemiColon)))return this.finish(s),t.setPropertySet(s),t.semicolonPosition=this.token.offset,this.finish(t);this.restoreAtMark(r)}let i=this._parseExpr();return i&&!i.isErroneous(!0)&&(this._parsePrio(),this.peekOne(...e||[],c.SemiColon,c.EOF))?(t.setValue(i),this.peek(c.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)):(this.restoreAtMark(r),t.addChild(this._parseCustomPropertyValue(e)),t.addChild(this._parsePrio()),ie(t.colonPosition)&&this.token.offset===t.colonPosition+1?this.finish(t,f.PropertyValueExpected):this.finish(t))}_parseCustomPropertyValue(e=[c.CurlyR]){let t=this.create(x),r=()=>s===0&&a===0&&l===0,i=()=>e.indexOf(this.token.type)!==-1,s=0,a=0,l=0;e:for(;;){switch(this.token.type){case c.SemiColon:if(r())break e;break;case c.Exclamation:if(r())break e;break;case c.CurlyL:s++;break;case c.CurlyR:if(s--,s<0){if(i()&&a===0&&l===0)break e;return this.finish(t,f.LeftCurlyExpected)}break;case c.ParenthesisL:a++;break;case c.ParenthesisR:if(a--,a<0){if(i()&&l===0&&s===0)break e;return this.finish(t,f.LeftParenthesisExpected)}break;case c.BracketL:l++;break;case c.BracketR:if(l--,l<0)return this.finish(t,f.LeftSquareBracketExpected);break;case c.BadString:break e;case c.EOF:let o=f.RightCurlyExpected;return l>0?o=f.RightSquareBracketExpected:a>0&&(o=f.RightParenthesisExpected),this.finish(t,o)}this.consumeToken()}return this.finish(t)}_tryToParseDeclaration(e){let t=this.mark();return this._parseProperty()&&this.accept(c.Colon)?(this.restoreAtMark(t),this._parseDeclaration(e)):(this.restoreAtMark(t),null)}_parseProperty(){let e=this.create(Ve),t=this.mark();return(this.acceptDelim(\"*\")||this.acceptDelim(\"_\"))&&this.hasWhitespace()?(this.restoreAtMark(t),null):e.setIdentifier(this._parsePropertyIdentifier())?this.finish(e):null}_parsePropertyIdentifier(){return this._parseIdent()}_parseCharset(){if(!this.peek(c.Charset))return null;let e=this.create(x);return this.consumeToken(),this.accept(c.String)?this.accept(c.SemiColon)?this.finish(e):this.finish(e,f.SemiColonExpected):this.finish(e,f.IdentifierExpected)}_parseImport(){if(!this.peekKeyword(\"@import\"))return null;let e=this.create(je);return this.consumeToken(),!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral())?this.finish(e,f.URIOrStringExpected):this._completeParseImport(e)}_completeParseImport(e){if(this.acceptIdent(\"layer\")&&this.accept(c.ParenthesisL)){if(!e.addChild(this._parseLayerName()))return this.finish(e,f.IdentifierExpected,[c.SemiColon]);if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[c.ParenthesisR],[])}return this.acceptIdent(\"supports\")&&this.accept(c.ParenthesisL)&&(e.addChild(this._tryToParseDeclaration()||this._parseSupportsCondition()),!this.accept(c.ParenthesisR))?this.finish(e,f.RightParenthesisExpected,[c.ParenthesisR],[]):(!this.peek(c.SemiColon)&&!this.peek(c.EOF)&&e.setMedialist(this._parseMediaQueryList()),this.finish(e))}_parseNamespace(){if(!this.peekKeyword(\"@namespace\"))return null;let e=this.create(Rn);return this.consumeToken(),!e.addChild(this._parseURILiteral())&&(e.addChild(this._parseIdent()),!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral()))?this.finish(e,f.URIExpected,[c.SemiColon]):this.accept(c.SemiColon)?this.finish(e):this.finish(e,f.SemiColonExpected)}_parseFontFace(){if(!this.peekKeyword(\"@font-face\"))return null;let e=this.create(pt);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_parseViewPort(){if(!this.peekKeyword(\"@-ms-viewport\")&&!this.peekKeyword(\"@-o-viewport\")&&!this.peekKeyword(\"@viewport\"))return null;let e=this.create(Fn);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_parseKeyframe(){if(!this.peekRegExp(c.AtKeyword,this.keyframeRegex))return null;let e=this.create(mt),t=this.create(x);return this.consumeToken(),e.setKeyword(this.finish(t)),t.matches(\"@-ms-keyframes\")&&this.markError(t,f.UnknownKeyword),e.setIdentifier(this._parseKeyframeIdent())?this._parseBody(e,this._parseKeyframeSelector.bind(this)):this.finish(e,f.IdentifierExpected,[c.CurlyR])}_parseKeyframeIdent(){return this._parseIdent([z.Keyframe])}_parseKeyframeSelector(){let e=this.create(Vt),t=!1;if(e.addChild(this._parseIdent())&&(t=!0),this.accept(c.Percentage)&&(t=!0),!t)return null;for(;this.accept(c.Comma);)if(t=!1,e.addChild(this._parseIdent())&&(t=!0),this.accept(c.Percentage)&&(t=!0),!t)return this.finish(e,f.PercentageExpected);return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_tryParseKeyframeSelector(){let e=this.create(Vt),t=this.mark(),r=!1;if(e.addChild(this._parseIdent())&&(r=!0),this.accept(c.Percentage)&&(r=!0),!r)return null;for(;this.accept(c.Comma);)if(r=!1,e.addChild(this._parseIdent())&&(r=!0),this.accept(c.Percentage)&&(r=!0),!r)return this.restoreAtMark(t),null;return this.peek(c.CurlyL)?this._parseBody(e,this._parseRuleSetDeclaration.bind(this)):(this.restoreAtMark(t),null)}_parsePropertyAtRule(){if(!this.peekKeyword(\"@property\"))return null;let e=this.create(Mn);return this.consumeToken(),!this.peekRegExp(c.Ident,/^--/)||!e.setName(this._parseIdent([z.Property]))?this.finish(e,f.IdentifierExpected):this._parseBody(e,this._parseDeclaration.bind(this))}_parseLayer(e=!1){if(!this.peekKeyword(\"@layer\"))return null;let t=this.create(zn);this.consumeToken();let r=this._parseLayerNameList();return r&&t.setNames(r),(!r||r.getChildren().length===1)&&this.peek(c.CurlyL)?this._parseBody(t,this._parseLayerDeclaration.bind(this,e)):this.accept(c.SemiColon)?this.finish(t):this.finish(t,f.SemiColonExpected)}_parseLayerDeclaration(e=!1){return e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)}_parseLayerNameList(){let e=this.createNode(m.LayerNameList);if(!e.addChild(this._parseLayerName()))return null;for(;this.accept(c.Comma);)if(!e.addChild(this._parseLayerName()))return this.finish(e,f.IdentifierExpected);return this.finish(e)}_parseLayerName(){let e=this.createNode(m.LayerName);if(!e.addChild(this._parseIdent()))return null;for(;!this.hasWhitespace()&&this.acceptDelim(\".\");)if(this.hasWhitespace()||!e.addChild(this._parseIdent()))return this.finish(e,f.IdentifierExpected);return this.finish(e)}_parseSupports(e=!1){if(!this.peekKeyword(\"@supports\"))return null;let t=this.create(et);return this.consumeToken(),t.addChild(this._parseSupportsCondition()),this._parseBody(t,this._parseSupportsDeclaration.bind(this,e))}_parseSupportsDeclaration(e=!1){return e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)}_parseSupportsCondition(){let e=this.create(Re);if(this.acceptIdent(\"not\"))e.addChild(this._parseSupportsConditionInParens());else if(e.addChild(this._parseSupportsConditionInParens()),this.peekRegExp(c.Ident,/^(and|or)$/i)){let t=this.token.text.toLowerCase();for(;this.acceptIdent(t);)e.addChild(this._parseSupportsConditionInParens())}return this.finish(e)}_parseSupportsConditionInParens(){let e=this.create(Re);if(this.accept(c.ParenthesisL))return this.prevToken&&(e.lParent=this.prevToken.offset),!e.addChild(this._tryToParseDeclaration([c.ParenthesisR]))&&!this._parseSupportsCondition()?this.finish(e,f.ConditionExpected):this.accept(c.ParenthesisR)?(this.prevToken&&(e.rParent=this.prevToken.offset),this.finish(e)):this.finish(e,f.RightParenthesisExpected,[c.ParenthesisR],[]);if(this.peek(c.Ident)){let t=this.mark();if(this.consumeToken(),!this.hasWhitespace()&&this.accept(c.ParenthesisL)){let r=1;for(;this.token.type!==c.EOF&&r!==0;)this.token.type===c.ParenthesisL?r++:this.token.type===c.ParenthesisR&&r--,this.consumeToken();return this.finish(e)}else this.restoreAtMark(t)}return this.finish(e,f.LeftParenthesisExpected,[],[c.ParenthesisL])}_parseMediaDeclaration(e=!1){return e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)}_parseMedia(e=!1){if(!this.peekKeyword(\"@media\"))return null;let t=this.create(Be);return this.consumeToken(),t.addChild(this._parseMediaQueryList())?this._parseBody(t,this._parseMediaDeclaration.bind(this,e)):this.finish(t,f.MediaQueryExpected)}_parseMediaQueryList(){let e=this.create(ut);if(!e.addChild(this._parseMediaQuery()))return this.finish(e,f.MediaQueryExpected);for(;this.accept(c.Comma);)if(!e.addChild(this._parseMediaQuery()))return this.finish(e,f.MediaQueryExpected);return this.finish(e)}_parseMediaQuery(){let e=this.create(ft),t=this.mark();if(this.acceptIdent(\"not\"),this.peek(c.ParenthesisL))this.restoreAtMark(t),e.addChild(this._parseMediaCondition());else{if(this.acceptIdent(\"only\"),!e.addChild(this._parseIdent()))return null;this.acceptIdent(\"and\")&&e.addChild(this._parseMediaCondition())}return this.finish(e)}_parseRatio(){let e=this.mark(),t=this.create(Un);return this._parseNumeric()?this.acceptDelim(\"/\")?this._parseNumeric()?this.finish(t):this.finish(t,f.NumberExpected):(this.restoreAtMark(e),null):null}_parseMediaCondition(){let e=this.create(On);this.acceptIdent(\"not\");let t=!0;for(;t;){if(!this.accept(c.ParenthesisL))return this.finish(e,f.LeftParenthesisExpected,[],[c.CurlyL]);if(this.peek(c.ParenthesisL)||this.peekIdent(\"not\")?e.addChild(this._parseMediaCondition()):e.addChild(this._parseMediaFeature()),!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[],[c.CurlyL]);t=this.acceptIdent(\"and\")||this.acceptIdent(\"or\")}return this.finish(e)}_parseMediaFeature(){let e=[c.ParenthesisR],t=this.create(Pn);if(t.addChild(this._parseMediaFeatureName())){if(this.accept(c.Colon)){if(!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,f.TermExpected,[],e)}else if(this._parseMediaFeatureRangeOperator()){if(!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,f.TermExpected,[],e);if(this._parseMediaFeatureRangeOperator()&&!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,f.TermExpected,[],e)}}else if(t.addChild(this._parseMediaFeatureValue())){if(!this._parseMediaFeatureRangeOperator())return this.finish(t,f.OperatorExpected,[],e);if(!t.addChild(this._parseMediaFeatureName()))return this.finish(t,f.IdentifierExpected,[],e);if(this._parseMediaFeatureRangeOperator()&&!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,f.TermExpected,[],e)}else return this.finish(t,f.IdentifierExpected,[],e);return this.finish(t)}_parseMediaFeatureRangeOperator(){return this.acceptDelim(\"<\")||this.acceptDelim(\">\")?(this.hasWhitespace()||this.acceptDelim(\"=\"),!0):!!this.acceptDelim(\"=\")}_parseMediaFeatureName(){return this._parseIdent()}_parseMediaFeatureValue(){return this._parseRatio()||this._parseTermExpression()}_parseMedium(){let e=this.create(x);return e.addChild(this._parseIdent())?this.finish(e):null}_parsePageDeclaration(){return this._parsePageMarginBox()||this._parseRuleSetDeclaration()}_parsePage(){if(!this.peekKeyword(\"@page\"))return null;let e=this.create(An);if(this.consumeToken(),e.addChild(this._parsePageSelector())){for(;this.accept(c.Comma);)if(!e.addChild(this._parsePageSelector()))return this.finish(e,f.IdentifierExpected)}return this._parseBody(e,this._parsePageDeclaration.bind(this))}_parsePageMarginBox(){if(!this.peek(c.AtKeyword))return null;let e=this.create(Wn);return this.acceptOneKeyword(Ks)||this.markError(e,f.UnknownAtRule,[],[c.CurlyL]),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_parsePageSelector(){if(!this.peek(c.Ident)&&!this.peek(c.Colon))return null;let e=this.create(x);return e.addChild(this._parseIdent()),this.accept(c.Colon)&&!e.addChild(this._parseIdent())?this.finish(e,f.IdentifierExpected):this.finish(e)}_parseDocument(){if(!this.peekKeyword(\"@-moz-document\"))return null;let e=this.create(Tn);return this.consumeToken(),this.resync([],[c.CurlyL]),this._parseBody(e,this._parseStylesheetStatement.bind(this))}_parseContainerDeclaration(e=!1){return e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)}_parseContainer(e=!1){if(!this.peekKeyword(\"@container\"))return null;let t=this.create(Nn);return this.consumeToken(),t.addChild(this._parseIdent()),t.addChild(this._parseContainerQuery()),this._parseBody(t,this._parseContainerDeclaration.bind(this,e))}_parseContainerQuery(){let e=this.create(x);if(this.acceptIdent(\"not\"))e.addChild(this._parseContainerQueryInParens());else if(e.addChild(this._parseContainerQueryInParens()),this.peekIdent(\"and\"))for(;this.acceptIdent(\"and\");)e.addChild(this._parseContainerQueryInParens());else if(this.peekIdent(\"or\"))for(;this.acceptIdent(\"or\");)e.addChild(this._parseContainerQueryInParens());return this.finish(e)}_parseContainerQueryInParens(){let e=this.create(x);if(this.accept(c.ParenthesisL)){if(this.peekIdent(\"not\")||this.peek(c.ParenthesisL)?e.addChild(this._parseContainerQuery()):e.addChild(this._parseMediaFeature()),!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[],[c.CurlyL])}else if(this.acceptIdent(\"style\")){if(this.hasWhitespace()||!this.accept(c.ParenthesisL))return this.finish(e,f.LeftParenthesisExpected,[],[c.CurlyL]);if(e.addChild(this._parseStyleQuery()),!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[],[c.CurlyL])}else return this.finish(e,f.LeftParenthesisExpected,[],[c.CurlyL]);return this.finish(e)}_parseStyleQuery(){let e=this.create(x);if(this.acceptIdent(\"not\"))e.addChild(this._parseStyleInParens());else if(this.peek(c.ParenthesisL)){if(e.addChild(this._parseStyleInParens()),this.peekIdent(\"and\"))for(;this.acceptIdent(\"and\");)e.addChild(this._parseStyleInParens());else if(this.peekIdent(\"or\"))for(;this.acceptIdent(\"or\");)e.addChild(this._parseStyleInParens())}else e.addChild(this._parseDeclaration([c.ParenthesisR]));return this.finish(e)}_parseStyleInParens(){let e=this.create(x);if(this.accept(c.ParenthesisL)){if(e.addChild(this._parseStyleQuery()),!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[],[c.CurlyL])}else return this.finish(e,f.LeftParenthesisExpected,[],[c.CurlyL]);return this.finish(e)}_parseUnknownAtRule(){if(!this.peek(c.AtKeyword))return null;let e=this.create(bt);e.addChild(this._parseUnknownAtRuleName());let t=()=>i===0&&s===0&&a===0,r=0,i=0,s=0,a=0;e:for(;;){switch(this.token.type){case c.SemiColon:if(t())break e;break;case c.EOF:return i>0?this.finish(e,f.RightCurlyExpected):a>0?this.finish(e,f.RightSquareBracketExpected):s>0?this.finish(e,f.RightParenthesisExpected):this.finish(e);case c.CurlyL:r++,i++;break;case c.CurlyR:if(i--,r>0&&i===0){if(this.consumeToken(),a>0)return this.finish(e,f.RightSquareBracketExpected);if(s>0)return this.finish(e,f.RightParenthesisExpected);break e}if(i<0){if(s===0&&a===0)break e;return this.finish(e,f.LeftCurlyExpected)}break;case c.ParenthesisL:s++;break;case c.ParenthesisR:if(s--,s<0)return this.finish(e,f.LeftParenthesisExpected);break;case c.BracketL:a++;break;case c.BracketR:if(a--,a<0)return this.finish(e,f.LeftSquareBracketExpected);break}this.consumeToken()}return e}_parseUnknownAtRuleName(){let e=this.create(x);return this.accept(c.AtKeyword)?this.finish(e):e}_parseOperator(){if(this.peekDelim(\"/\")||this.peekDelim(\"*\")||this.peekDelim(\"+\")||this.peekDelim(\"-\")||this.peek(c.Dashmatch)||this.peek(c.Includes)||this.peek(c.SubstringOperator)||this.peek(c.PrefixOperator)||this.peek(c.SuffixOperator)||this.peekDelim(\"=\")){let e=this.createNode(m.Operator);return this.consumeToken(),this.finish(e)}else return null}_parseUnaryOperator(){if(!this.peekDelim(\"+\")&&!this.peekDelim(\"-\"))return null;let e=this.create(x);return this.consumeToken(),this.finish(e)}_parseCombinator(){if(this.peekDelim(\">\")){let e=this.create(x);this.consumeToken();let t=this.mark();if(!this.hasWhitespace()&&this.acceptDelim(\">\")){if(!this.hasWhitespace()&&this.acceptDelim(\">\"))return e.type=m.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return e.type=m.SelectorCombinatorParent,this.finish(e)}else if(this.peekDelim(\"+\")){let e=this.create(x);return this.consumeToken(),e.type=m.SelectorCombinatorSibling,this.finish(e)}else if(this.peekDelim(\"~\")){let e=this.create(x);return this.consumeToken(),e.type=m.SelectorCombinatorAllSiblings,this.finish(e)}else if(this.peekDelim(\"/\")){let e=this.create(x);this.consumeToken();let t=this.mark();if(!this.hasWhitespace()&&this.acceptIdent(\"deep\")&&!this.hasWhitespace()&&this.acceptDelim(\"/\"))return e.type=m.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return null}_parseSimpleSelector(){let e=this.create(he),t=0;for(e.addChild(this._parseElementName()||this._parseNestingSelector())&&t++;(t===0||!this.hasWhitespace())&&e.addChild(this._parseSimpleSelectorBody());)t++;return t>0?this.finish(e):null}_parseNestingSelector(){if(this.peekDelim(\"&\")){let e=this.createNode(m.SelectorCombinator);return this.consumeToken(),this.finish(e)}return null}_parseSimpleSelectorBody(){return this._parsePseudo()||this._parseHash()||this._parseClass()||this._parseAttrib()}_parseSelectorIdent(){return this._parseIdent()}_parseHash(){if(!this.peek(c.Hash)&&!this.peekDelim(\"#\"))return null;let e=this.createNode(m.IdentifierSelector);if(this.acceptDelim(\"#\")){if(this.hasWhitespace()||!e.addChild(this._parseSelectorIdent()))return this.finish(e,f.IdentifierExpected)}else this.consumeToken();return this.finish(e)}_parseClass(){if(!this.peekDelim(\".\"))return null;let e=this.createNode(m.ClassSelector);return this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseSelectorIdent())?this.finish(e,f.IdentifierExpected):this.finish(e)}_parseElementName(){let e=this.mark(),t=this.createNode(m.ElementNameSelector);return t.addChild(this._parseNamespacePrefix()),!t.addChild(this._parseSelectorIdent())&&!this.acceptDelim(\"*\")?(this.restoreAtMark(e),null):this.finish(t)}_parseNamespacePrefix(){let e=this.mark(),t=this.createNode(m.NamespacePrefix);return!t.addChild(this._parseIdent())&&this.acceptDelim(\"*\"),this.acceptDelim(\"|\")?this.finish(t):(this.restoreAtMark(e),null)}_parseAttrib(){if(!this.peek(c.BracketL))return null;let e=this.create($n);return this.consumeToken(),e.setNamespacePrefix(this._parseNamespacePrefix()),e.setIdentifier(this._parseIdent())?(e.setOperator(this._parseOperator())&&(e.setValue(this._parseBinaryExpr()),this.acceptIdent(\"i\"),this.acceptIdent(\"s\")),this.accept(c.BracketR)?this.finish(e):this.finish(e,f.RightSquareBracketExpected)):this.finish(e,f.IdentifierExpected)}_parsePseudo(){let e=this._tryParsePseudoIdentifier();if(e){if(!this.hasWhitespace()&&this.accept(c.ParenthesisL)){let t=()=>{let i=this.create(x);if(!i.addChild(this._parseSelector(!0)))return null;for(;this.accept(c.Comma)&&i.addChild(this._parseSelector(!0)););return this.peek(c.ParenthesisR)?this.finish(i):null};if(!e.addChild(this.try(t))&&e.addChild(this._parseBinaryExpr())&&this.acceptIdent(\"of\")&&!e.addChild(this.try(t)))return this.finish(e,f.SelectorExpected);if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected)}return this.finish(e)}return null}_tryParsePseudoIdentifier(){if(!this.peek(c.Colon))return null;let e=this.mark(),t=this.createNode(m.PseudoSelector);return this.consumeToken(),this.hasWhitespace()?(this.restoreAtMark(e),null):(this.accept(c.Colon),this.hasWhitespace()||!t.addChild(this._parseIdent())?this.finish(t,f.IdentifierExpected):this.finish(t))}_tryParsePrio(){let e=this.mark(),t=this._parsePrio();return t||(this.restoreAtMark(e),null)}_parsePrio(){if(!this.peek(c.Exclamation))return null;let e=this.createNode(m.Prio);return this.accept(c.Exclamation)&&this.acceptIdent(\"important\")?this.finish(e):null}_parseExpr(e=!1){let t=this.create(gt);if(!t.addChild(this._parseBinaryExpr()))return null;for(;;){if(this.peek(c.Comma)){if(e)return this.finish(t);this.consumeToken()}if(!t.addChild(this._parseBinaryExpr()))break}return this.finish(t)}_parseUnicodeRange(){if(!this.peekIdent(\"u\"))return null;let e=this.create(gn);return this.acceptUnicodeRange()?this.finish(e):null}_parseNamedLine(){if(!this.peek(c.BracketL))return null;let e=this.createNode(m.GridLine);for(this.consumeToken();e.addChild(this._parseIdent()););return this.accept(c.BracketR)?this.finish(e):this.finish(e,f.RightSquareBracketExpected)}_parseBinaryExpr(e,t){let r=this.create(qe);if(!r.setLeft(e||this._parseTerm()))return null;if(!r.setOperator(t||this._parseOperator()))return this.finish(r);if(!r.setRight(this._parseTerm()))return this.finish(r,f.TermExpected);r=this.finish(r);let i=this._parseOperator();return i&&(r=this._parseBinaryExpr(r,i)),this.finish(r)}_parseTerm(){let e=this.create(Ln);return e.setOperator(this._parseUnaryOperator()),e.setExpression(this._parseTermExpression())?this.finish(e):null}_parseTermExpression(){return this._parseURILiteral()||this._parseUnicodeRange()||this._parseFunction()||this._parseIdent()||this._parseStringLiteral()||this._parseNumeric()||this._parseHexColor()||this._parseOperation()||this._parseNamedLine()}_parseOperation(){if(!this.peek(c.ParenthesisL))return null;let e=this.create(x);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(c.ParenthesisR)?this.finish(e):this.finish(e,f.RightParenthesisExpected)}_parseNumeric(){if(this.peek(c.Num)||this.peek(c.Percentage)||this.peek(c.Resolution)||this.peek(c.Length)||this.peek(c.EMS)||this.peek(c.EXS)||this.peek(c.Angle)||this.peek(c.Time)||this.peek(c.Dimension)||this.peek(c.ContainerQueryLength)||this.peek(c.Freq)){let e=this.create(nt);return this.consumeToken(),this.finish(e)}return null}_parseStringLiteral(){if(!this.peek(c.String)&&!this.peek(c.BadString))return null;let e=this.createNode(m.StringLiteral);return this.consumeToken(),this.finish(e)}_parseURILiteral(){if(!this.peekRegExp(c.Ident,/^url(-prefix)?$/i))return null;let e=this.mark(),t=this.createNode(m.URILiteral);return this.accept(c.Ident),this.hasWhitespace()||!this.peek(c.ParenthesisL)?(this.restoreAtMark(e),null):(this.scanner.inURL=!0,this.consumeToken(),t.addChild(this._parseURLArgument()),this.scanner.inURL=!1,this.accept(c.ParenthesisR)?this.finish(t):this.finish(t,f.RightParenthesisExpected))}_parseURLArgument(){let e=this.create(x);return!this.accept(c.String)&&!this.accept(c.BadString)&&!this.acceptUnquotedString()?null:this.finish(e)}_parseIdent(e){if(!this.peek(c.Ident))return null;let t=this.create(G);return e&&(t.referenceTypes=e),t.isCustomProperty=this.peekRegExp(c.Ident,/^--/),this.consumeToken(),this.finish(t)}_parseFunction(){let e=this.mark(),t=this.create(me);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(c.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(c.Comma)&&!this.peek(c.ParenthesisR);)t.getArguments().addChild(this._parseFunctionArgument())||this.markError(t,f.ExpressionExpected);return this.accept(c.ParenthesisR)?this.finish(t):this.finish(t,f.RightParenthesisExpected)}_parseFunctionIdentifier(){if(!this.peek(c.Ident))return null;let e=this.create(G);if(e.referenceTypes=[z.Function],this.acceptIdent(\"progid\")){if(this.accept(c.Colon))for(;this.accept(c.Ident)&&this.acceptDelim(\".\"););return this.finish(e)}return this.consumeToken(),this.finish(e)}_parseFunctionArgument(){let e=this.create(le);return e.setValue(this._parseExpr(!0))?this.finish(e):null}_parseHexColor(){if(this.peekRegExp(c.Hash,/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/g)){let e=this.create(tt);return this.consumeToken(),this.finish(e)}else return null}};function Hs(n,e){let t=0,r=n.length;if(r===0)return 0;for(;t<r;){let i=Math.floor((t+r)/2);e(n[i])?r=i:t=i+1}return t}function gi(n,e){return n.indexOf(e)!==-1}function Qt(...n){let e=[];for(let t of n)for(let r of t)gi(e,r)||e.push(r);return e}var or=class{constructor(e,t){this.offset=e,this.length=t,this.symbols=[],this.parent=null,this.children=[]}addChild(e){this.children.push(e),e.setParent(this)}setParent(e){this.parent=e}findScope(e,t=0){return this.offset<=e&&this.offset+this.length>e+t||this.offset===e&&this.length===t?this.findInScope(e,t):null}findInScope(e,t=0){let r=e+t,i=Hs(this.children,a=>a.offset>r);if(i===0)return this;let s=this.children[i-1];return s.offset<=e&&s.offset+s.length>=e+t?s.findInScope(e,t):this}addSymbol(e){this.symbols.push(e)}getSymbol(e,t){for(let r=0;r<this.symbols.length;r++){let i=this.symbols[r];if(i.name===e&&i.type===t)return i}return null}getSymbols(){return this.symbols}},bi=class extends or{constructor(){super(0,Number.MAX_VALUE)}},Ft=class{constructor(e,t,r,i){this.name=e,this.value=t,this.node=r,this.type=i}},wi=class{constructor(e){this.scope=e}addSymbol(e,t,r,i){if(e.offset!==-1){let s=this.scope.findScope(e.offset,e.length);s&&s.addSymbol(new Ft(t,r,e,i))}}addScope(e){if(e.offset!==-1){let t=this.scope.findScope(e.offset,e.length);if(t&&(t.offset!==e.offset||t.length!==e.length)){let r=new or(e.offset,e.length);return t.addChild(r),r}return t}return null}addSymbolToChildScope(e,t,r,i,s){if(e&&e.offset!==-1){let a=this.addScope(e);a&&a.addSymbol(new Ft(r,i,t,s))}}visitNode(e){switch(e.type){case m.Keyframe:return this.addSymbol(e,e.getName(),void 0,z.Keyframe),!0;case m.CustomPropertyDeclaration:return this.visitCustomPropertyDeclarationNode(e);case m.VariableDeclaration:return this.visitVariableDeclarationNode(e);case m.Ruleset:return this.visitRuleSet(e);case m.MixinDeclaration:return this.addSymbol(e,e.getName(),void 0,z.Mixin),!0;case m.FunctionDeclaration:return this.addSymbol(e,e.getName(),void 0,z.Function),!0;case m.FunctionParameter:return this.visitFunctionParameterNode(e);case m.Declarations:return this.addScope(e),!0;case m.For:let t=e,r=t.getDeclarations();return r&&t.variable&&this.addSymbolToChildScope(r,t.variable,t.variable.getName(),void 0,z.Variable),!0;case m.Each:{let i=e,s=i.getDeclarations();if(s){let a=i.getVariables().getChildren();for(let l of a)this.addSymbolToChildScope(s,l,l.getName(),void 0,z.Variable)}return!0}}return!0}visitRuleSet(e){let t=this.scope.findScope(e.offset,e.length);if(t)for(let r of e.getSelectors().getChildren())r instanceof de&&r.getChildren().length===1&&t.addSymbol(new Ft(r.getChild(0).getText(),void 0,r,z.Rule));return!0}visitVariableDeclarationNode(e){let t=e.getValue()?e.getValue().getText():void 0;return this.addSymbol(e,e.getName(),t,z.Variable),!0}visitFunctionParameterNode(e){let t=e.getParent().getDeclarations();if(t){let r=e.getDefaultValue(),i=r?r.getText():void 0;this.addSymbolToChildScope(t,e,e.getName(),i,z.Variable)}return!0}visitCustomPropertyDeclarationNode(e){let t=e.getValue()?e.getValue().getText():\"\";return this.addCSSVariable(e.getProperty(),e.getProperty().getName(),t,z.Variable),!0}addCSSVariable(e,t,r,i){e.offset!==-1&&this.scope.addSymbol(new Ft(t,r,e,i))}},ot=class{constructor(e){this.global=new bi,e.acceptVisitor(new wi(this.global))}findSymbolsAtOffset(e,t){let r=this.global.findScope(e,0),i=[],s={};for(;r;){let a=r.getSymbols();for(let l=0;l<a.length;l++){let o=a[l];o.type===t&&!s[o.name]&&(i.push(o),s[o.name]=!0)}r=r.parent}return i}internalFindSymbol(e,t){let r=e;if(e.parent instanceof ye&&e.parent.getParent()instanceof L&&(r=e.parent.getParent().getDeclarations()),e.parent instanceof le&&e.parent.getParent()instanceof me){let a=e.parent.getParent().getIdentifier();if(a){let l=this.internalFindSymbol(a,[z.Function]);l&&(r=l.node.getDeclarations())}}if(!r)return null;let i=e.getText(),s=this.global.findScope(r.offset,r.length);for(;s;){for(let a=0;a<t.length;a++){let l=t[a],o=s.getSymbol(i,l);if(o)return o}s=s.parent}return null}evaluateReferenceTypes(e){if(e instanceof G){let r=e.referenceTypes;if(r)return r;{if(e.isCustomProperty)return[z.Variable];let i=Xi(e);if(i){let s=i.getNonPrefixedPropertyName();if((s===\"animation\"||s===\"animation-name\")&&i.getValue()&&i.getValue().offset===e.offset)return[z.Keyframe]}}}else if(e instanceof Ke)return[z.Variable];return e.findAParent(m.Selector,m.ExtendsReference)?[z.Rule]:null}findSymbolFromNode(e){if(!e)return null;for(;e.type===m.Interpolation;)e=e.getParent();let t=this.evaluateReferenceTypes(e);return t?this.internalFindSymbol(e,t):null}matchesSymbol(e,t){if(!e)return!1;for(;e.type===m.Interpolation;)e=e.getParent();if(!e.matches(t.name))return!1;let r=this.evaluateReferenceTypes(e);return!r||r.indexOf(t.type)===-1?!1:this.internalFindSymbol(e,r)===t}findSymbol(e,t,r){let i=this.global.findScope(r);for(;i;){let s=i.getSymbol(e,t);if(s)return s;i=i.parent}return null}};var Js;(()=>{\"use strict\";var n={470:i=>{function s(o){if(typeof o!=\"string\")throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(o))}function a(o,d){for(var h,u=\"\",w=0,b=-1,y=0,E=0;E<=o.length;++E){if(E<o.length)h=o.charCodeAt(E);else{if(h===47)break;h=47}if(h===47){if(!(b===E-1||y===1))if(b!==E-1&&y===2){if(u.length<2||w!==2||u.charCodeAt(u.length-1)!==46||u.charCodeAt(u.length-2)!==46){if(u.length>2){var A=u.lastIndexOf(\"/\");if(A!==u.length-1){A===-1?(u=\"\",w=0):w=(u=u.slice(0,A)).length-1-u.lastIndexOf(\"/\"),b=E,y=0;continue}}else if(u.length===2||u.length===1){u=\"\",w=0,b=E,y=0;continue}}d&&(u.length>0?u+=\"/..\":u=\"..\",w=2)}else u.length>0?u+=\"/\"+o.slice(b+1,E):u=o.slice(b+1,E),w=E-b-1;b=E,y=0}else h===46&&y!==-1?++y:y=-1}return u}var l={resolve:function(){for(var o,d=\"\",h=!1,u=arguments.length-1;u>=-1&&!h;u--){var w;u>=0?w=arguments[u]:(o===void 0&&(o=process.cwd()),w=o),s(w),w.length!==0&&(d=w+\"/\"+d,h=w.charCodeAt(0)===47)}return d=a(d,!h),h?d.length>0?\"/\"+d:\"/\":d.length>0?d:\".\"},normalize:function(o){if(s(o),o.length===0)return\".\";var d=o.charCodeAt(0)===47,h=o.charCodeAt(o.length-1)===47;return(o=a(o,!d)).length!==0||d||(o=\".\"),o.length>0&&h&&(o+=\"/\"),d?\"/\"+o:o},isAbsolute:function(o){return s(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return\".\";for(var o,d=0;d<arguments.length;++d){var h=arguments[d];s(h),h.length>0&&(o===void 0?o=h:o+=\"/\"+h)}return o===void 0?\".\":l.normalize(o)},relative:function(o,d){if(s(o),s(d),o===d||(o=l.resolve(o))===(d=l.resolve(d)))return\"\";for(var h=1;h<o.length&&o.charCodeAt(h)===47;++h);for(var u=o.length,w=u-h,b=1;b<d.length&&d.charCodeAt(b)===47;++b);for(var y=d.length-b,E=w<y?w:y,A=-1,I=0;I<=E;++I){if(I===E){if(y>E){if(d.charCodeAt(b+I)===47)return d.slice(b+I+1);if(I===0)return d.slice(b+I)}else w>E&&(o.charCodeAt(h+I)===47?A=I:I===0&&(A=0));break}var P=o.charCodeAt(h+I);if(P!==d.charCodeAt(b+I))break;P===47&&(A=I)}var T=\"\";for(I=h+A+1;I<=u;++I)I!==u&&o.charCodeAt(I)!==47||(T.length===0?T+=\"..\":T+=\"/..\");return T.length>0?T+d.slice(b+A):(b+=A,d.charCodeAt(b)===47&&++b,d.slice(b))},_makeLong:function(o){return o},dirname:function(o){if(s(o),o.length===0)return\".\";for(var d=o.charCodeAt(0),h=d===47,u=-1,w=!0,b=o.length-1;b>=1;--b)if((d=o.charCodeAt(b))===47){if(!w){u=b;break}}else w=!1;return u===-1?h?\"/\":\".\":h&&u===1?\"//\":o.slice(0,u)},basename:function(o,d){if(d!==void 0&&typeof d!=\"string\")throw new TypeError('\"ext\" argument must be a string');s(o);var h,u=0,w=-1,b=!0;if(d!==void 0&&d.length>0&&d.length<=o.length){if(d.length===o.length&&d===o)return\"\";var y=d.length-1,E=-1;for(h=o.length-1;h>=0;--h){var A=o.charCodeAt(h);if(A===47){if(!b){u=h+1;break}}else E===-1&&(b=!1,E=h+1),y>=0&&(A===d.charCodeAt(y)?--y==-1&&(w=h):(y=-1,w=E))}return u===w?w=E:w===-1&&(w=o.length),o.slice(u,w)}for(h=o.length-1;h>=0;--h)if(o.charCodeAt(h)===47){if(!b){u=h+1;break}}else w===-1&&(b=!1,w=h+1);return w===-1?\"\":o.slice(u,w)},extname:function(o){s(o);for(var d=-1,h=0,u=-1,w=!0,b=0,y=o.length-1;y>=0;--y){var E=o.charCodeAt(y);if(E!==47)u===-1&&(w=!1,u=y+1),E===46?d===-1?d=y:b!==1&&(b=1):d!==-1&&(b=-1);else if(!w){h=y+1;break}}return d===-1||u===-1||b===0||b===1&&d===u-1&&d===h+1?\"\":o.slice(d,u)},format:function(o){if(o===null||typeof o!=\"object\")throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof o);return function(d,h){var u=h.dir||h.root,w=h.base||(h.name||\"\")+(h.ext||\"\");return u?u===h.root?u+w:u+\"/\"+w:w}(0,o)},parse:function(o){s(o);var d={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(o.length===0)return d;var h,u=o.charCodeAt(0),w=u===47;w?(d.root=\"/\",h=1):h=0;for(var b=-1,y=0,E=-1,A=!0,I=o.length-1,P=0;I>=h;--I)if((u=o.charCodeAt(I))!==47)E===-1&&(A=!1,E=I+1),u===46?b===-1?b=I:P!==1&&(P=1):b!==-1&&(P=-1);else if(!A){y=I+1;break}return b===-1||E===-1||P===0||P===1&&b===E-1&&b===y+1?E!==-1&&(d.base=d.name=y===0&&w?o.slice(1,E):o.slice(y,E)):(y===0&&w?(d.name=o.slice(1,b),d.base=o.slice(1,E)):(d.name=o.slice(y,b),d.base=o.slice(y,E)),d.ext=o.slice(b,E)),y>0?d.dir=o.slice(0,y-1):w&&(d.dir=\"/\"),d},sep:\"/\",delimiter:\":\",win32:null,posix:null};l.posix=l,i.exports=l}},e={};function t(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return n[i](a,a.exports,t),a.exports}t.d=(i,s)=>{for(var a in s)t.o(s,a)&&!t.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},t.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),t.r=i=>{typeof Symbol<\"u\"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(i,\"__esModule\",{value:!0})};var r={};(()=>{let i;t.r(r),t.d(r,{URI:()=>w,Utils:()=>Ie}),typeof process==\"object\"?i=process.platform===\"win32\":typeof navigator==\"object\"&&(i=navigator.userAgent.indexOf(\"Windows\")>=0);let s=/^\\w[\\w\\d+.-]*$/,a=/^\\//,l=/^\\/\\//;function o(S,v){if(!S.scheme&&v)throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${S.authority}\", path: \"${S.path}\", query: \"${S.query}\", fragment: \"${S.fragment}\"}`);if(S.scheme&&!s.test(S.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(S.path){if(S.authority){if(!a.test(S.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(l.test(S.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}}let d=\"\",h=\"/\",u=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;class w{static isUri(v){return v instanceof w||!!v&&typeof v.authority==\"string\"&&typeof v.fragment==\"string\"&&typeof v.path==\"string\"&&typeof v.query==\"string\"&&typeof v.scheme==\"string\"&&typeof v.fsPath==\"string\"&&typeof v.with==\"function\"&&typeof v.toString==\"function\"}scheme;authority;path;query;fragment;constructor(v,F,C,N,D,M=!1){typeof v==\"object\"?(this.scheme=v.scheme||d,this.authority=v.authority||d,this.path=v.path||d,this.query=v.query||d,this.fragment=v.fragment||d):(this.scheme=function(oe,Z){return oe||Z?oe:\"file\"}(v,M),this.authority=F||d,this.path=function(oe,Z){switch(oe){case\"https\":case\"http\":case\"file\":Z?Z[0]!==h&&(Z=h+Z):Z=h}return Z}(this.scheme,C||d),this.query=N||d,this.fragment=D||d,o(this,M))}get fsPath(){return P(this,!1)}with(v){if(!v)return this;let{scheme:F,authority:C,path:N,query:D,fragment:M}=v;return F===void 0?F=this.scheme:F===null&&(F=d),C===void 0?C=this.authority:C===null&&(C=d),N===void 0?N=this.path:N===null&&(N=d),D===void 0?D=this.query:D===null&&(D=d),M===void 0?M=this.fragment:M===null&&(M=d),F===this.scheme&&C===this.authority&&N===this.path&&D===this.query&&M===this.fragment?this:new y(F,C,N,D,M)}static parse(v,F=!1){let C=u.exec(v);return C?new y(C[2]||d,Y(C[4]||d),Y(C[5]||d),Y(C[7]||d),Y(C[9]||d),F):new y(d,d,d,d,d)}static file(v){let F=d;if(i&&(v=v.replace(/\\\\/g,h)),v[0]===h&&v[1]===h){let C=v.indexOf(h,2);C===-1?(F=v.substring(2),v=h):(F=v.substring(2,C),v=v.substring(C)||h)}return new y(\"file\",F,v,d,d)}static from(v){let F=new y(v.scheme,v.authority,v.path,v.query,v.fragment);return o(F,!0),F}toString(v=!1){return T(this,v)}toJSON(){return this}static revive(v){if(v){if(v instanceof w)return v;{let F=new y(v);return F._formatted=v.external,F._fsPath=v._sep===b?v.fsPath:null,F}}return v}}let b=i?1:void 0;class y extends w{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=P(this,!1)),this._fsPath}toString(v=!1){return v?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let v={$mid:1};return this._fsPath&&(v.fsPath=this._fsPath,v._sep=b),this._formatted&&(v.external=this._formatted),this.path&&(v.path=this.path),this.scheme&&(v.scheme=this.scheme),this.authority&&(v.authority=this.authority),this.query&&(v.query=this.query),this.fragment&&(v.fragment=this.fragment),v}}let E={58:\"%3A\",47:\"%2F\",63:\"%3F\",35:\"%23\",91:\"%5B\",93:\"%5D\",64:\"%40\",33:\"%21\",36:\"%24\",38:\"%26\",39:\"%27\",40:\"%28\",41:\"%29\",42:\"%2A\",43:\"%2B\",44:\"%2C\",59:\"%3B\",61:\"%3D\",32:\"%20\"};function A(S,v,F){let C,N=-1;for(let D=0;D<S.length;D++){let M=S.charCodeAt(D);if(M>=97&&M<=122||M>=65&&M<=90||M>=48&&M<=57||M===45||M===46||M===95||M===126||v&&M===47||F&&M===91||F&&M===93||F&&M===58)N!==-1&&(C+=encodeURIComponent(S.substring(N,D)),N=-1),C!==void 0&&(C+=S.charAt(D));else{C===void 0&&(C=S.substr(0,D));let oe=E[M];oe!==void 0?(N!==-1&&(C+=encodeURIComponent(S.substring(N,D)),N=-1),C+=oe):N===-1&&(N=D)}}return N!==-1&&(C+=encodeURIComponent(S.substring(N))),C!==void 0?C:S}function I(S){let v;for(let F=0;F<S.length;F++){let C=S.charCodeAt(F);C===35||C===63?(v===void 0&&(v=S.substr(0,F)),v+=E[C]):v!==void 0&&(v+=S[F])}return v!==void 0?v:S}function P(S,v){let F;return F=S.authority&&S.path.length>1&&S.scheme===\"file\"?`//${S.authority}${S.path}`:S.path.charCodeAt(0)===47&&(S.path.charCodeAt(1)>=65&&S.path.charCodeAt(1)<=90||S.path.charCodeAt(1)>=97&&S.path.charCodeAt(1)<=122)&&S.path.charCodeAt(2)===58?v?S.path.substr(1):S.path[1].toLowerCase()+S.path.substr(2):S.path,i&&(F=F.replace(/\\//g,\"\\\\\")),F}function T(S,v){let F=v?I:A,C=\"\",{scheme:N,authority:D,path:M,query:oe,fragment:Z}=S;if(N&&(C+=N,C+=\":\"),(D||N===\"file\")&&(C+=h,C+=h),D){let $=D.indexOf(\"@\");if($!==-1){let Ue=D.substr(0,$);D=D.substr($+1),$=Ue.lastIndexOf(\":\"),$===-1?C+=F(Ue,!1,!1):(C+=F(Ue.substr(0,$),!1,!1),C+=\":\",C+=F(Ue.substr($+1),!1,!0)),C+=\"@\"}D=D.toLowerCase(),$=D.lastIndexOf(\":\"),$===-1?C+=F(D,!1,!0):(C+=F(D.substr(0,$),!1,!0),C+=D.substr($))}if(M){if(M.length>=3&&M.charCodeAt(0)===47&&M.charCodeAt(2)===58){let $=M.charCodeAt(1);$>=65&&$<=90&&(M=`/${String.fromCharCode($+32)}:${M.substr(3)}`)}else if(M.length>=2&&M.charCodeAt(1)===58){let $=M.charCodeAt(0);$>=65&&$<=90&&(M=`${String.fromCharCode($+32)}:${M.substr(2)}`)}C+=F(M,!0,!1)}return oe&&(C+=\"?\",C+=F(oe,!1,!1)),Z&&(C+=\"#\",C+=v?Z:A(Z,!1,!1)),C}function j(S){try{return decodeURIComponent(S)}catch{return S.length>3?S.substr(0,3)+j(S.substr(3)):S}}let X=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Y(S){return S.match(X)?S.replace(X,v=>j(v)):S}var $e=t(470);let K=$e.posix||$e,_e=\"/\";var Ie;(function(S){S.joinPath=function(v,...F){return v.with({path:K.join(v.path,...F)})},S.resolvePath=function(v,...F){let C=v.path,N=!1;C[0]!==_e&&(C=_e+C,N=!0);let D=K.resolve(C,...F);return N&&D[0]===_e&&!v.authority&&(D=D.substring(1)),v.with({path:D})},S.dirname=function(v){if(v.path.length===0||v.path===_e)return v;let F=K.dirname(v.path);return F.length===1&&F.charCodeAt(0)===46&&(F=\"\"),v.with({path:F})},S.basename=function(v){return K.basename(v.path)},S.extname=function(v){return K.extname(v.path)}})(Ie||(Ie={}))})(),Js=r})();var{URI:Zt,Utils:Fe}=Js;function ar(n){return Fe.dirname(Zt.parse(n)).toString(!0)}function Je(n,...e){return Fe.joinPath(Zt.parse(n),...e).toString(!0)}var cr=class{constructor(e){this.readDirectory=e,this.literalCompletions=[],this.importCompletions=[]}onCssURILiteralValue(e){this.literalCompletions.push(e)}onCssImportPath(e){this.importCompletions.push(e)}async computeCompletions(e,t){let r={items:[],isIncomplete:!1};for(let i of this.literalCompletions){let s=i.uriValue,a=vi(s);if(a===\".\"||a===\"..\")r.isIncomplete=!0;else{let l=await this.providePathSuggestions(s,i.position,i.range,e,t);for(let o of l)r.items.push(o)}}for(let i of this.importCompletions){let s=i.pathValue,a=vi(s);if(a===\".\"||a===\"..\")r.isIncomplete=!0;else{let l=await this.providePathSuggestions(s,i.position,i.range,e,t);e.languageId===\"scss\"&&l.forEach(o=>{V(o.label,\"_\")&&fn(o.label,\".scss\")&&(o.textEdit?o.textEdit.newText=o.label.slice(1,-5):o.label=o.label.slice(1,-5))});for(let o of l)r.items.push(o)}}return r}async providePathSuggestions(e,t,r,i,s){let a=vi(e),l=V(e,\"'\")||V(e,'\"'),o=l?a.slice(0,t.character-(r.start.character+1)):a.slice(0,t.character-r.start.character),d=i.uri,h=l?ba(r,1,-1):r,u=fa(o,a,h),w=o.substring(0,o.lastIndexOf(\"/\")+1),b=s.resolveReference(w||\".\",d);if(b)try{let y=[],E=await this.readDirectory(b);for(let[A,I]of E)A.charCodeAt(0)!==ua&&(I===st.Directory||Je(b,A)!==d)&&y.push(ga(A,I===st.Directory,u));return y}catch{}return[]}},ua=46;function vi(n){return V(n,\"'\")||V(n,'\"')?n.slice(1,-1):n}function fa(n,e,t){let r,i=n.lastIndexOf(\"/\");if(i===-1)r=t;else{let s=e.slice(i+1),a=dr(t.end,-s.length),l=s.indexOf(\" \"),o;l!==-1?o=dr(a,l):o=t.end,r=R.create(a,o)}return r}function ga(n,e,t){return e?(n=n+\"/\",{label:lr(n),kind:k.Folder,textEdit:_.replace(t,lr(n)),command:{title:\"Suggest\",command:\"editor.action.triggerSuggest\"}}):{label:lr(n),kind:k.File,textEdit:_.replace(t,lr(n))}}function lr(n){return n.replace(/(\\s|\\(|\\)|,|\"|')/g,\"\\\\$1\")}function dr(n,e){return H.create(n.line,n.character+e)}function ba(n,e,t){let r=dr(n.start,e),i=dr(n.end,t);return R.create(r,i)}var Ne=te.Snippet,Xs={title:\"Suggest\",command:\"editor.action.triggerSuggest\"},Ee;(function(n){n.Enums=\" \",n.Normal=\"d\",n.VendorPrefixed=\"x\",n.Term=\"y\",n.Variable=\"z\"})(Ee||(Ee={}));var Xe=class{constructor(e=null,t,r){this.variablePrefix=e,this.lsOptions=t,this.cssDataManager=r,this.completionParticipants=[]}configure(e){this.defaultSettings=e}getSymbolContext(){return this.symbolContext||(this.symbolContext=new ot(this.styleSheet)),this.symbolContext}setCompletionParticipants(e){this.completionParticipants=e||[]}async doComplete2(e,t,r,i,s=this.defaultSettings){if(!this.lsOptions.fileSystemProvider||!this.lsOptions.fileSystemProvider.readDirectory)return this.doComplete(e,t,r,s);let a=new cr(this.lsOptions.fileSystemProvider.readDirectory),l=this.completionParticipants;this.completionParticipants=[a].concat(l);let o=this.doComplete(e,t,r,s);try{let d=await a.computeCompletions(e,i);return{isIncomplete:o.isIncomplete||d.isIncomplete,itemDefaults:o.itemDefaults,items:d.items.concat(o.items)}}finally{this.completionParticipants=l}}doComplete(e,t,r,i){this.offset=e.offsetAt(t),this.position=t,this.currentWord=va(e,this.offset),this.defaultReplaceRange=R.create(H.create(this.position.line,this.position.character-this.currentWord.length),this.position),this.textDocument=e,this.styleSheet=r,this.documentSettings=i;try{let s={isIncomplete:!1,itemDefaults:{editRange:{start:{line:t.line,character:t.character-this.currentWord.length},end:t}},items:[]};this.nodePath=vt(this.styleSheet,this.offset);for(let a=this.nodePath.length-1;a>=0;a--){let l=this.nodePath[a];if(l instanceof Ve)this.getCompletionsForDeclarationProperty(l.getParent(),s);else if(l instanceof gt)l.parent instanceof rt?this.getVariableProposals(null,s):this.getCompletionsForExpression(l,s);else if(l instanceof he){let o=l.findAParent(m.ExtendsReference,m.Ruleset);if(o)if(o.type===m.ExtendsReference)this.getCompletionsForExtendsReference(o,l,s);else{let d=o;this.getCompletionsForSelector(d,d&&d.isNested(),s)}}else if(l instanceof le)this.getCompletionsForFunctionArgument(l,l.getParent(),s);else if(l instanceof Ze)this.getCompletionsForDeclarations(l,s);else if(l instanceof xe)this.getCompletionsForVariableDeclaration(l,s);else if(l instanceof ae)this.getCompletionsForRuleSet(l,s);else if(l instanceof rt)this.getCompletionsForInterpolation(l,s);else if(l instanceof De)this.getCompletionsForFunctionDeclaration(l,s);else if(l instanceof ze)this.getCompletionsForMixinReference(l,s);else if(l instanceof me)this.getCompletionsForFunctionArgument(null,l,s);else if(l instanceof et)this.getCompletionsForSupports(l,s);else if(l instanceof Re)this.getCompletionsForSupportsCondition(l,s);else if(l instanceof Se)this.getCompletionsForExtendsReference(l,null,s);else if(l.type===m.URILiteral)this.getCompletionForUriLiteralValue(l,s);else if(l.parent===null)this.getCompletionForTopLevel(s);else if(l.type===m.StringLiteral&&this.isImportPathParent(l.parent.type))this.getCompletionForImportPath(l,s);else continue;if(s.items.length>0||this.offset>l.offset)return this.finalize(s)}return this.getCompletionsForStylesheet(s),s.items.length===0&&this.variablePrefix&&this.currentWord.indexOf(this.variablePrefix)===0&&this.getVariableProposals(null,s),this.finalize(s)}finally{this.position=null,this.currentWord=null,this.textDocument=null,this.styleSheet=null,this.symbolContext=null,this.defaultReplaceRange=null,this.nodePath=null}}isImportPathParent(e){return e===m.Import}finalize(e){return e}findInNodePath(...e){for(let t=this.nodePath.length-1;t>=0;t--){let r=this.nodePath[t];if(e.indexOf(r.type)!==-1)return r}return null}getCompletionsForDeclarationProperty(e,t){return this.getPropertyProposals(e,t)}getPropertyProposals(e,t){let r=this.isTriggerPropertyValueCompletionEnabled,i=this.isCompletePropertyWithSemicolonEnabled;return this.cssDataManager.getProperties().forEach(a=>{let l,o,d=!1;e?(l=this.getCompletionRange(e.getProperty()),o=a.name,ie(e.colonPosition)||(o+=\": \",d=!0)):(l=this.getCompletionRange(null),o=a.name+\": \",d=!0),!e&&i&&(o+=\"$0;\"),e&&!e.semicolonPosition&&i&&this.offset>=this.textDocument.offsetAt(l.end)&&(o+=\"$0;\");let h={label:a.name,documentation:Ce(a,this.doesSupportMarkdown()),tags:en(a)?[Te.Deprecated]:[],textEdit:_.replace(l,o),insertTextFormat:te.Snippet,kind:k.Property};a.restrictions||(d=!1),r&&d&&(h.command=Xs);let w=(255-(typeof a.relevance==\"number\"?Math.min(Math.max(a.relevance,0),99):50)).toString(16),b=V(a.name,\"-\")?Ee.VendorPrefixed:Ee.Normal;h.sortText=b+\"_\"+w,t.items.push(h)}),this.completionParticipants.forEach(a=>{a.onCssProperty&&a.onCssProperty({propertyName:this.currentWord,range:this.defaultReplaceRange})}),t}get isTriggerPropertyValueCompletionEnabled(){return this.documentSettings?.triggerPropertyValueCompletion??!0}get isCompletePropertyWithSemicolonEnabled(){return this.documentSettings?.completePropertyWithSemicolon??!0}getCompletionsForDeclarationValue(e,t){let r=e.getFullPropertyName(),i=this.cssDataManager.getProperty(r),s=e.getValue()||null;for(;s&&s.hasChildren();)s=s.findChildAtOffset(this.offset,!1);if(this.completionParticipants.forEach(a=>{a.onCssPropertyValue&&a.onCssPropertyValue({propertyName:r,propertyValue:this.currentWord,range:this.getCompletionRange(s)})}),i){if(i.restrictions)for(let a of i.restrictions)switch(a){case\"color\":this.getColorProposals(i,s,t);break;case\"position\":this.getPositionProposals(i,s,t);break;case\"repeat\":this.getRepeatStyleProposals(i,s,t);break;case\"line-style\":this.getLineStyleProposals(i,s,t);break;case\"line-width\":this.getLineWidthProposals(i,s,t);break;case\"geometry-box\":this.getGeometryBoxProposals(i,s,t);break;case\"box\":this.getBoxProposals(i,s,t);break;case\"image\":this.getImageProposals(i,s,t);break;case\"timing-function\":this.getTimingFunctionProposals(i,s,t);break;case\"shape\":this.getBasicShapeProposals(i,s,t);break}this.getValueEnumProposals(i,s,t),this.getCSSWideKeywordProposals(i,s,t),this.getUnitProposals(i,s,t)}else{let a=wa(this.styleSheet,e);for(let l of a.getEntries())t.items.push({label:l,textEdit:_.replace(this.getCompletionRange(s),l),kind:k.Value})}return this.getVariableProposals(s,t),this.getTermProposals(i,s,t),t}getValueEnumProposals(e,t,r){if(e.values)for(let i of e.values){let s=i.name,a;if(fn(s,\")\")){let d=s.lastIndexOf(\"(\");d!==-1&&(s=s.substring(0,d+1)+\"$1\"+s.substring(d+1),a=Ne)}let l=Ee.Enums;V(i.name,\"-\")&&(l+=Ee.VendorPrefixed);let o={label:i.name,documentation:Ce(i,this.doesSupportMarkdown()),tags:en(e)?[Te.Deprecated]:[],textEdit:_.replace(this.getCompletionRange(t),s),sortText:l,kind:k.Value,insertTextFormat:a};r.items.push(o)}return r}getCSSWideKeywordProposals(e,t,r){for(let i in hi)r.items.push({label:i,documentation:hi[i],textEdit:_.replace(this.getCompletionRange(t),i),kind:k.Value});for(let i in pi){let s=Et(i);r.items.push({label:i,documentation:pi[i],textEdit:_.replace(this.getCompletionRange(t),s),kind:k.Function,insertTextFormat:Ne,command:V(i,\"var\")?Xs:void 0})}return r}getCompletionsForInterpolation(e,t){return this.offset>=e.offset+2&&this.getVariableProposals(null,t),t}getVariableProposals(e,t){let r=this.getSymbolContext().findSymbolsAtOffset(this.offset,z.Variable);for(let i of r){let s=V(i.name,\"--\")?`var(${i.name})`:i.name,a={label:i.name,documentation:i.value?zr(i.value):i.value,textEdit:_.replace(this.getCompletionRange(e),s),kind:k.Variable,sortText:Ee.Variable};if(typeof a.documentation==\"string\"&&ii(a.documentation)&&(a.kind=k.Color),i.node.type===m.FunctionParameter){let l=i.node.getParent();l.type===m.MixinDeclaration&&(a.detail=p(\"argument from '{0}'\",l.getName()))}t.items.push(a)}return t}getVariableProposalsForCSSVarFunction(e){let t=new tn;this.styleSheet.acceptVisitor(new xi(t,this.offset));let r=this.getSymbolContext().findSymbolsAtOffset(this.offset,z.Variable);for(let i of r){if(V(i.name,\"--\")){let s={label:i.name,documentation:i.value?zr(i.value):i.value,textEdit:_.replace(this.getCompletionRange(null),i.name),kind:k.Variable};typeof s.documentation==\"string\"&&ii(s.documentation)&&(s.kind=k.Color),e.items.push(s)}t.remove(i.name)}for(let i of t.getEntries())if(V(i,\"--\")){let s={label:i,textEdit:_.replace(this.getCompletionRange(null),i),kind:k.Variable};e.items.push(s)}return e}getUnitProposals(e,t,r){let i=\"0\";if(this.currentWord.length>0){let s=this.currentWord.match(/^-?\\d[\\.\\d+]*/);s&&(i=s[0],r.isIncomplete=i.length===this.currentWord.length)}else this.currentWord.length===0&&(r.isIncomplete=!0);if(t&&t.parent&&t.parent.type===m.Term&&(t=t.getParent()),e.restrictions)for(let s of e.restrictions){let a=ir[s];if(a)for(let l of a){let o=i+l;r.items.push({label:o,textEdit:_.replace(this.getCompletionRange(t),o),kind:k.Unit})}}return r}getCompletionRange(e){if(e&&e.offset<=this.offset&&this.offset<=e.end){let t=e.end!==-1?this.textDocument.positionAt(e.end):this.position,r=this.textDocument.positionAt(e.offset);if(r.line===t.line)return R.create(r,t)}return this.defaultReplaceRange}getColorProposals(e,t,r){for(let s in Xt)r.items.push({label:s,documentation:Xt[s],textEdit:_.replace(this.getCompletionRange(t),s),kind:k.Color});for(let s in rr)r.items.push({label:s,documentation:rr[s],textEdit:_.replace(this.getCompletionRange(t),s),kind:k.Value});let i=new tn;this.styleSheet.acceptVisitor(new yi(i,this.offset));for(let s of i.getEntries())r.items.push({label:s,textEdit:_.replace(this.getCompletionRange(t),s),kind:k.Color});for(let s of Ws)r.items.push({label:s.label,detail:s.func,documentation:s.desc,textEdit:_.replace(this.getCompletionRange(t),s.insertText),insertTextFormat:Ne,kind:k.Function});return r}getPositionProposals(e,t,r){for(let i in oi)r.items.push({label:i,documentation:oi[i],textEdit:_.replace(this.getCompletionRange(t),i),kind:k.Value});return r}getRepeatStyleProposals(e,t,r){for(let i in ai)r.items.push({label:i,documentation:ai[i],textEdit:_.replace(this.getCompletionRange(t),i),kind:k.Value});return r}getLineStyleProposals(e,t,r){for(let i in li)r.items.push({label:i,documentation:li[i],textEdit:_.replace(this.getCompletionRange(t),i),kind:k.Value});return r}getLineWidthProposals(e,t,r){for(let i of js)r.items.push({label:i,textEdit:_.replace(this.getCompletionRange(t),i),kind:k.Value});return r}getGeometryBoxProposals(e,t,r){for(let i in di)r.items.push({label:i,documentation:di[i],textEdit:_.replace(this.getCompletionRange(t),i),kind:k.Value});return r}getBoxProposals(e,t,r){for(let i in ci)r.items.push({label:i,documentation:ci[i],textEdit:_.replace(this.getCompletionRange(t),i),kind:k.Value});return r}getImageProposals(e,t,r){for(let i in mi){let s=Et(i);r.items.push({label:i,documentation:mi[i],textEdit:_.replace(this.getCompletionRange(t),s),kind:k.Function,insertTextFormat:i!==s?Ne:void 0})}return r}getTimingFunctionProposals(e,t,r){for(let i in ui){let s=Et(i);r.items.push({label:i,documentation:ui[i],textEdit:_.replace(this.getCompletionRange(t),s),kind:k.Function,insertTextFormat:i!==s?Ne:void 0})}return r}getBasicShapeProposals(e,t,r){for(let i in fi){let s=Et(i);r.items.push({label:i,documentation:fi[i],textEdit:_.replace(this.getCompletionRange(t),s),kind:k.Function,insertTextFormat:i!==s?Ne:void 0})}return r}getCompletionsForStylesheet(e){let t=this.styleSheet.findFirstChildBeforeOffset(this.offset);return t?t instanceof ae?this.getCompletionsForRuleSet(t,e):t instanceof et?this.getCompletionsForSupports(t,e):e:this.getCompletionForTopLevel(e)}getCompletionForTopLevel(e){return this.cssDataManager.getAtDirectives().forEach(t=>{e.items.push({label:t.name,textEdit:_.replace(this.getCompletionRange(null),t.name),documentation:Ce(t,this.doesSupportMarkdown()),tags:en(t)?[Te.Deprecated]:[],kind:k.Keyword})}),this.getCompletionsForSelector(null,!1,e),e}getCompletionsForRuleSet(e,t){let r=e.getDeclarations();return r&&r.endsWith(\"}\")&&this.offset>=r.end?this.getCompletionForTopLevel(t):!r||this.offset<=r.offset?this.getCompletionsForSelector(e,e.isNested(),t):this.getCompletionsForDeclarations(e.getDeclarations(),t)}getCompletionsForSelector(e,t,r){let i=this.findInNodePath(m.PseudoSelector,m.IdentifierSelector,m.ClassSelector,m.ElementNameSelector);if(!i&&this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,\":\")&&(this.currentWord=\":\"+this.currentWord,this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,\":\")&&(this.currentWord=\":\"+this.currentWord),this.defaultReplaceRange=R.create(H.create(this.position.line,this.position.character-this.currentWord.length),this.position)),this.cssDataManager.getPseudoClasses().forEach(d=>{let h=Et(d.name),u={label:d.name,textEdit:_.replace(this.getCompletionRange(i),h),documentation:Ce(d,this.doesSupportMarkdown()),tags:en(d)?[Te.Deprecated]:[],kind:k.Function,insertTextFormat:d.name!==h?Ne:void 0};V(d.name,\":-\")&&(u.sortText=Ee.VendorPrefixed),r.items.push(u)}),this.cssDataManager.getPseudoElements().forEach(d=>{let h=Et(d.name),u={label:d.name,textEdit:_.replace(this.getCompletionRange(i),h),documentation:Ce(d,this.doesSupportMarkdown()),tags:en(d)?[Te.Deprecated]:[],kind:k.Function,insertTextFormat:d.name!==h?Ne:void 0};V(d.name,\"::-\")&&(u.sortText=Ee.VendorPrefixed),r.items.push(u)}),!t){for(let d of Bs)r.items.push({label:d,textEdit:_.replace(this.getCompletionRange(i),d),kind:k.Keyword});for(let d of qs)r.items.push({label:d,textEdit:_.replace(this.getCompletionRange(i),d),kind:k.Keyword})}let l={};l[this.currentWord]=!0;let o=this.textDocument.getText();if(this.styleSheet.accept(d=>{if(d.type===m.SimpleSelector&&d.length>0){let h=o.substr(d.offset,d.length);return h.charAt(0)===\".\"&&!l[h]&&(l[h]=!0,r.items.push({label:h,textEdit:_.replace(this.getCompletionRange(i),h),kind:k.Keyword})),!1}return!0}),e&&e.isNested()){let d=e.getSelectors().findFirstChildBeforeOffset(this.offset);d&&e.getSelectors().getChildren().indexOf(d)===0&&this.getPropertyProposals(null,r)}return r}getCompletionsForDeclarations(e,t){if(!e||this.offset===e.offset)return t;let r=e.findFirstChildBeforeOffset(this.offset);if(!r)return this.getCompletionsForDeclarationProperty(null,t);if(r instanceof ht){let i=r;if(!ie(i.colonPosition)||this.offset<=i.colonPosition)return this.getCompletionsForDeclarationProperty(i,t);if(ie(i.semicolonPosition)&&i.semicolonPosition<this.offset)return this.offset===i.semicolonPosition+1?t:this.getCompletionsForDeclarationProperty(null,t);if(i instanceof Q)return this.getCompletionsForDeclarationValue(i,t)}else r instanceof Se?this.getCompletionsForExtendsReference(r,null,t):this.currentWord&&this.currentWord[0]===\"@\"?this.getCompletionsForDeclarationProperty(null,t):r instanceof ae&&this.getCompletionsForDeclarationProperty(null,t);return t}getCompletionsForVariableDeclaration(e,t){return this.offset&&ie(e.colonPosition)&&this.offset>e.colonPosition&&this.getVariableProposals(e.getValue()||null,t),t}getCompletionsForExpression(e,t){let r=e.getParent();if(r instanceof le)return this.getCompletionsForFunctionArgument(r,r.getParent(),t),t;let i=e.findParent(m.Declaration);if(!i)return this.getTermProposals(void 0,null,t),t;let s=e.findChildAtOffset(this.offset,!0);return s?s instanceof nt||s instanceof G?this.getCompletionsForDeclarationValue(i,t):t:this.getCompletionsForDeclarationValue(i,t)}getCompletionsForFunctionArgument(e,t,r){let i=t.getIdentifier();return i&&i.matches(\"var\")&&(!t.getArguments().hasChildren()||t.getArguments().getChild(0)===e)&&this.getVariableProposalsForCSSVarFunction(r),r}getCompletionsForFunctionDeclaration(e,t){let r=e.getDeclarations();return r&&this.offset>r.offset&&this.offset<r.end&&this.getTermProposals(void 0,null,t),t}getCompletionsForMixinReference(e,t){let r=this.getSymbolContext().findSymbolsAtOffset(this.offset,z.Mixin);for(let s of r)s.node instanceof ue&&t.items.push(this.makeTermProposal(s,s.node.getParameters(),null));let i=e.getIdentifier()||null;return this.completionParticipants.forEach(s=>{s.onCssMixinReference&&s.onCssMixinReference({mixinName:this.currentWord,range:this.getCompletionRange(i)})}),t}getTermProposals(e,t,r){let i=this.getSymbolContext().findSymbolsAtOffset(this.offset,z.Function);for(let s of i)s.node instanceof De&&r.items.push(this.makeTermProposal(s,s.node.getParameters(),t));return r}makeTermProposal(e,t,r){let i=e.node,s=t.getChildren().map(l=>l instanceof ye?l.getName():l.getText()),a=e.name+\"(\"+s.map((l,o)=>\"${\"+(o+1)+\":\"+l+\"}\").join(\", \")+\")\";return{label:e.name,detail:e.name+\"(\"+s.join(\", \")+\")\",textEdit:_.replace(this.getCompletionRange(r),a),insertTextFormat:Ne,kind:k.Function,sortText:Ee.Term}}getCompletionsForSupportsCondition(e,t){let r=e.findFirstChildBeforeOffset(this.offset);if(r){if(r instanceof Q)return!ie(r.colonPosition)||this.offset<=r.colonPosition?this.getCompletionsForDeclarationProperty(r,t):this.getCompletionsForDeclarationValue(r,t);if(r instanceof Re)return this.getCompletionsForSupportsCondition(r,t)}return ie(e.lParent)&&this.offset>e.lParent&&(!ie(e.rParent)||this.offset<=e.rParent)?this.getCompletionsForDeclarationProperty(null,t):t}getCompletionsForSupports(e,t){let r=e.getDeclarations();if(!r||this.offset<=r.offset){let s=e.findFirstChildBeforeOffset(this.offset);return s instanceof Re?this.getCompletionsForSupportsCondition(s,t):t}return this.getCompletionForTopLevel(t)}getCompletionsForExtendsReference(e,t,r){return r}getCompletionForUriLiteralValue(e,t){let r,i,s;if(e.hasChildren()){let a=e.getChild(0);r=a.getText(),i=this.position,s=this.getCompletionRange(a)}else{r=\"\",i=this.position;let a=this.textDocument.positionAt(e.offset+4);s=R.create(a,a)}return this.completionParticipants.forEach(a=>{a.onCssURILiteralValue&&a.onCssURILiteralValue({uriValue:r,position:i,range:s})}),t}getCompletionForImportPath(e,t){return this.completionParticipants.forEach(r=>{r.onCssImportPath&&r.onCssImportPath({pathValue:e.getText(),position:this.position,range:this.getCompletionRange(e)})}),t}hasCharacterAtPosition(e,t){let r=this.textDocument.getText();return e>=0&&e<r.length&&r.charAt(e)===t}doesSupportMarkdown(){if(!ie(this.supportsMarkdown)){if(!ie(this.lsOptions.clientCapabilities))return this.supportsMarkdown=!0,this.supportsMarkdown;let e=this.lsOptions.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(e)&&e.indexOf(se.Markdown)!==-1}return this.supportsMarkdown}};function en(n){return!!(n.status&&(n.status===\"nonstandard\"||n.status===\"obsolete\"))}var tn=class{constructor(){this.entries={}}add(e){this.entries[e]=!0}remove(e){delete this.entries[e]}getEntries(){return Object.keys(this.entries)}};function Et(n){return n.replace(/\\(\\)$/,\"($1)\")}function wa(n,e){let t=e.getFullPropertyName(),r=new tn;function i(l){return(l instanceof G||l instanceof nt||l instanceof tt)&&r.add(l.getText()),!0}function s(l){let o=l.getFullPropertyName();return t===o}function a(l){if(l instanceof Q&&l!==e&&s(l)){let o=l.getValue();o&&o.accept(i)}return!0}return n.accept(a),r}var yi=class{constructor(e,t){this.entries=e,this.currentOffset=t}visitNode(e){return(e instanceof tt||e instanceof me&&Ls(e))&&(this.currentOffset<e.offset||e.end<this.currentOffset)&&this.entries.add(e.getText()),!0}},xi=class{constructor(e,t){this.entries=e,this.currentOffset=t}visitNode(e){return e instanceof G&&e.isCustomProperty&&(this.currentOffset<e.offset||e.end<this.currentOffset)&&this.entries.add(e.getText()),!0}};function va(n,e){let t=e-1,r=n.getText();for(;t>=0&&` \t\n\\r\":{[()]},*>+`.indexOf(r.charAt(t))===-1;)t--;return r.substring(t+1,e)}var rn=class n{constructor(){this.parent=null,this.children=null,this.attributes=null}findAttribute(e){if(this.attributes){for(let t of this.attributes)if(t.name===e)return t.value}return null}addChild(e){e instanceof n&&(e.parent=this),this.children||(this.children=[]),this.children.push(e)}append(e){if(this.attributes){let t=this.attributes[this.attributes.length-1];t.value=t.value+e}}prepend(e){if(this.attributes){let t=this.attributes[0];t.value=e+t.value}}findRoot(){let e=this;for(;e.parent&&!(e.parent instanceof Ye);)e=e.parent;return e}removeChild(e){if(this.children){let t=this.children.indexOf(e);if(t!==-1)return this.children.splice(t,1),!0}return!1}addAttr(e,t){this.attributes||(this.attributes=[]);for(let r of this.attributes)if(r.name===e){r.value+=\" \"+t;return}this.attributes.push({name:e,value:t})}clone(e=!0){let t=new n;if(this.attributes){t.attributes=[];for(let r of this.attributes)t.addAttr(r.name,r.value)}if(e&&this.children){t.children=[];for(let r=0;r<this.children.length;r++)t.addChild(this.children[r].clone())}return t}cloneWithParent(){let e=this.clone(!1);return this.parent&&!(this.parent instanceof Ye)&&this.parent.cloneWithParent().addChild(e),e}},Ye=class extends rn{},sn=class extends rn{constructor(e){super(),this.addAttr(\"name\",e)}},hr=class{constructor(e){this.quote=e,this.result=[]}print(e,t){this.result=[],e instanceof Ye?e.children&&this.doPrint(e.children,0):this.doPrint([e],0);let r;return t?r=`${t.text}\n \\u2026 `+this.result.join(`\n`):r=this.result.join(`\n`),[{language:\"html\",value:r}]}doPrint(e,t){for(let r of e)this.doPrintElement(r,t),r.children&&this.doPrint(r.children,t+1)}writeLine(e,t){let r=new Array(e+1).join(\"  \");this.result.push(r+t)}doPrintElement(e,t){let r=e.findAttribute(\"name\");if(e instanceof sn||r===\"\\u2026\"){this.writeLine(t,r);return}let i=[\"<\"];if(r?i.push(r):i.push(\"element\"),e.attributes){for(let s of e.attributes)if(s.name!==\"name\"){i.push(\" \"),i.push(s.name);let a=s.value;a&&(i.push(\"=\"),i.push(Oe.ensure(a,this.quote)))}}i.push(\">\"),this.writeLine(t,i.join(\"\"))}},Oe;(function(n){function e(r,i){return i+t(r)+i}n.ensure=e;function t(r){let i=r.match(/^['\"](.*)[\"']$/);return i?i[1]:r}n.remove=t})(Oe||(Oe={}));var nn=class{constructor(){this.id=0,this.attr=0,this.tag=0}};function Ys(n,e){let t=new rn;for(let r of n.getChildren())switch(r.type){case m.SelectorCombinator:if(e){let l=r.getText().split(\"&\");if(l.length===1){t.addAttr(\"name\",l[0]);break}t=e.cloneWithParent(),l[0]&&t.findRoot().prepend(l[0]);for(let o=1;o<l.length;o++){if(o>1){let d=e.cloneWithParent();t.addChild(d.findRoot()),t=d}t.append(l[o])}}break;case m.SelectorPlaceholder:if(r.matches(\"@at-root\"))return t;case m.ElementNameSelector:let i=r.getText();t.addAttr(\"name\",i===\"*\"?\"element\":pe(i));break;case m.ClassSelector:t.addAttr(\"class\",pe(r.getText().substring(1)));break;case m.IdentifierSelector:t.addAttr(\"id\",pe(r.getText().substring(1)));break;case m.MixinDeclaration:t.addAttr(\"class\",r.getName());break;case m.PseudoSelector:t.addAttr(pe(r.getText()),\"\");break;case m.AttributeSelector:let s=r,a=s.getIdentifier();if(a){let l=s.getValue(),o=s.getOperator(),d;if(l&&o)switch(pe(o.getText())){case\"|=\":d=`${Oe.remove(pe(l.getText()))}-\\u2026`;break;case\"^=\":d=`${Oe.remove(pe(l.getText()))}\\u2026`;break;case\"$=\":d=`\\u2026${Oe.remove(pe(l.getText()))}`;break;case\"~=\":d=` \\u2026 ${Oe.remove(pe(l.getText()))} \\u2026 `;break;case\"*=\":d=`\\u2026${Oe.remove(pe(l.getText()))}\\u2026`;break;default:d=Oe.remove(pe(l.getText()));break}t.addAttr(pe(a.getText()),d)}break}return t}function pe(n){let e=new ce;e.setSource(n);let t=e.scanUnquotedString();return t?t.text:n}var pr=class{constructor(e){this.cssDataManager=e}selectorToMarkedString(e,t){let r=xa(e);if(r){let i=new hr('\"').print(r,t);return i.push(this.selectorToSpecificityMarkedString(e)),i}else return[]}simpleSelectorToMarkedString(e){let t=Ys(e),r=new hr('\"').print(t);return r.push(this.selectorToSpecificityMarkedString(e)),r}isPseudoElementIdentifier(e){let t=e.match(/^::?([\\w-]+)/);return t?!!this.cssDataManager.getPseudoElement(\"::\"+t[1]):!1}selectorToSpecificityMarkedString(e){let t=s=>{let a=new nn,l=new nn;for(let o of s)for(let d of o.getChildren()){let h=r(d);if(h.id>l.id){l=h;continue}else if(h.id<l.id)continue;if(h.attr>l.attr){l=h;continue}else if(h.attr<l.attr)continue;if(h.tag>l.tag){l=h;continue}}return a.id+=l.id,a.attr+=l.attr,a.tag+=l.tag,a},r=s=>{let a=new nn;e:for(let l of s.getChildren()){switch(l.type){case m.IdentifierSelector:a.id++;break;case m.ClassSelector:case m.AttributeSelector:a.attr++;break;case m.ElementNameSelector:if(l.matches(\"*\"))break;a.tag++;break;case m.PseudoSelector:let o=l.getText(),d=l.getChildren();if(this.isPseudoElementIdentifier(o)){if(o.match(/^::slotted/i)&&d.length>0){a.tag++;let h=t(d);a.id+=h.id,a.attr+=h.attr,a.tag+=h.tag;continue e}a.tag++;continue e}if(o.match(/^:where/i))continue e;if(o.match(/^:(?:not|has|is)/i)&&d.length>0){let h=t(d);a.id+=h.id,a.attr+=h.attr,a.tag+=h.tag;continue e}if(o.match(/^:(?:host|host-context)/i)&&d.length>0){a.attr++;let h=t(d);a.id+=h.id,a.attr+=h.attr,a.tag+=h.tag;continue e}if(o.match(/^:(?:nth-child|nth-last-child)/i)&&d.length>0){if(a.attr++,d.length===3&&d[1].type===23){let y=t(d[2].getChildren());a.id+=y.id,a.attr+=y.attr,a.tag+=y.tag;continue e}let h=new ke,u=d[1].getText();h.scanner.setSource(u);let w=h.scanner.scan(),b=h.scanner.scan();if(w.text===\"n\"||w.text===\"-n\"&&b.text===\"of\"){let y=[],A=u.slice(b.offset+2).split(\",\");for(let P of A){let T=h.internalParse(P,h._parseSelector);T&&y.push(T)}let I=t(y);a.id+=I.id,a.attr+=I.attr,a.tag+=I.tag;continue e}continue e}a.attr++;continue e}if(l.getChildren().length>0){let o=r(l);a.id+=o.id,a.attr+=o.attr,a.tag+=o.tag}}return a},i=r(e);return`[${p(\"Selector Specificity\")}](https://developer.mozilla.org/docs/Web/CSS/Specificity): (${i.id}, ${i.attr}, ${i.tag})`}},Si=class{constructor(e){this.prev=null,this.element=e}processSelector(e){let t=null;if(!(this.element instanceof Ye)&&e.getChildren().some(r=>r.hasChildren()&&r.getChild(0).type===m.SelectorCombinator)){let r=this.element.findRoot();r.parent instanceof Ye&&(t=this.element,this.element=r.parent,this.element.removeChild(r),this.prev=null)}for(let r of e.getChildren()){if(r instanceof he){if(this.prev instanceof he){let a=new sn(\"\\u2026\");this.element.addChild(a),this.element=a}else this.prev&&(this.prev.matches(\"+\")||this.prev.matches(\"~\"))&&this.element.parent&&(this.element=this.element.parent);this.prev&&this.prev.matches(\"~\")&&this.element.addChild(new sn(\"\\u22EE\"));let i=Ys(r,t),s=i.findRoot();this.element.addChild(s),this.element=i}(r instanceof he||r.type===m.SelectorCombinatorParent||r.type===m.SelectorCombinatorShadowPiercingDescendant||r.type===m.SelectorCombinatorSibling||r.type===m.SelectorCombinatorAllSiblings)&&(this.prev=r)}}};function ya(n){switch(n.type){case m.MixinDeclaration:case m.Stylesheet:return!0}return!1}function xa(n){if(n.matches(\"@at-root\"))return null;let e=new Ye,t=[],r=n.getParent();if(r instanceof ae){let s=r.getParent();for(;s&&!ya(s);){if(s instanceof ae){if(s.getSelectors().matches(\"@at-root\"))break;t.push(s)}s=s.getParent()}}let i=new Si(e);for(let s=t.length-1;s>=0;s--){let a=t[s].getSelectors().getChild(0);a&&i.processSelector(a)}return i.processSelector(n),e}var _t=class{constructor(e,t){this.clientCapabilities=e,this.cssDataManager=t,this.selectorPrinting=new pr(t)}configure(e){this.defaultSettings=e}doHover(e,t,r,i=this.defaultSettings){function s(h){return R.create(e.positionAt(h.offset),e.positionAt(h.end))}let a=e.offsetAt(t),l=vt(r,a),o=null,d;for(let h=0;h<l.length;h++){let u=l[h];if(u instanceof Be){let w=/@media[^\\{]+/g;d={isMedia:!0,text:u.getText().match(w)?.[0]}}if(u instanceof de){o={contents:this.selectorPrinting.selectorToMarkedString(u,d),range:s(u)};break}if(u instanceof he){V(u.getText(),\"@\")||(o={contents:this.selectorPrinting.simpleSelectorToMarkedString(u),range:s(u)});break}if(u instanceof Q){let w=u.getFullPropertyName(),b=this.cssDataManager.getProperty(w);if(b){let y=Ce(b,this.doesSupportMarkdown(),i);y?o={contents:y,range:s(u)}:o=null}continue}if(u instanceof bt){let w=u.getText(),b=this.cssDataManager.getAtDirective(w);if(b){let y=Ce(b,this.doesSupportMarkdown(),i);y?o={contents:y,range:s(u)}:o=null}continue}if(u instanceof x&&u.type===m.PseudoSelector){let w=u.getText(),b=w.slice(0,2)===\"::\"?this.cssDataManager.getPseudoElement(w):this.cssDataManager.getPseudoClass(w);if(b){let y=Ce(b,this.doesSupportMarkdown(),i);y?o={contents:y,range:s(u)}:o=null}continue}}return o&&(o.contents=this.convertContents(o.contents)),o}convertContents(e){return this.doesSupportMarkdown()||typeof e==\"string\"?e:\"kind\"in e?{kind:\"plaintext\",value:e.value}:Array.isArray(e)?e.map(t=>typeof t==\"string\"?t:t.value):e.value}doesSupportMarkdown(){if(!ie(this.supportsMarkdown)){if(!ie(this.clientCapabilities))return this.supportsMarkdown=!0,this.supportsMarkdown;let e=this.clientCapabilities.textDocument&&this.clientCapabilities.textDocument.hover;this.supportsMarkdown=e&&e.contentFormat&&Array.isArray(e.contentFormat)&&e.contentFormat.indexOf(se.Markdown)!==-1}return this.supportsMarkdown}};var Qs=/^\\w+:\\/\\//,Zs=/^data:/,lt=class{constructor(e,t){this.fileSystemProvider=e,this.resolveModuleReferences=t}configure(e){this.defaultSettings=e}findDefinition(e,t,r){let i=new ot(r),s=e.offsetAt(t),a=Hn(r,s);if(!a)return null;let l=i.findSymbolFromNode(a);return l?{uri:e.uri,range:Pe(l.node,e)}:null}findReferences(e,t,r){return this.findDocumentHighlights(e,t,r).map(s=>({uri:e.uri,range:s.range}))}getHighlightNode(e,t,r){let i=e.offsetAt(t),s=Hn(r,i);if(!(!s||s.type===m.Stylesheet||s.type===m.Declarations))return s.type===m.Identifier&&s.parent&&s.parent.type===m.ClassSelector&&(s=s.parent),s}findDocumentHighlights(e,t,r){let i=[],s=this.getHighlightNode(e,t,r);if(!s)return i;let a=new ot(r),l=a.findSymbolFromNode(s),o=s.getText();return r.accept(d=>{if(l){if(a.matchesSymbol(d,l))return i.push({kind:to(d),range:Pe(d,e)}),!1}else s&&s.type===d.type&&d.matches(o)&&i.push({kind:to(d),range:Pe(d,e)});return!0}),i}isRawStringDocumentLinkNode(e){return e.type===m.Import}findDocumentLinks(e,t,r){let i=this.findUnresolvedLinks(e,t),s=[];for(let a of i){let l=a.link,o=l.target;if(!(!o||Zs.test(o)))if(Qs.test(o))s.push(l);else{let d=r.resolveReference(o,e.uri);d&&(l.target=d),s.push(l)}}return s}async findDocumentLinks2(e,t,r){let i=this.findUnresolvedLinks(e,t),s=[];for(let a of i){let l=a.link,o=l.target;if(!(!o||Zs.test(o)))if(Qs.test(o))s.push(l);else{let d=await this.resolveReference(o,e.uri,r,a.isRawLink);d!==void 0&&(l.target=d,s.push(l))}}return s}findUnresolvedLinks(e,t){let r=[],i=s=>{let a=s.getText(),l=Pe(s,e);if(l.start.line===l.end.line&&l.start.character===l.end.character)return;(V(a,\"'\")||V(a,'\"'))&&(a=a.slice(1,-1));let o=s.parent?this.isRawStringDocumentLinkNode(s.parent):!1;r.push({link:{target:a,range:l},isRawLink:o})};return t.accept(s=>{if(s.type===m.URILiteral){let a=s.getChild(0);return a&&i(a),!1}if(s.parent&&this.isRawStringDocumentLinkNode(s.parent)){let a=s.getText();return(V(a,\"'\")||V(a,'\"'))&&i(s),!1}return!0}),r}findSymbolInformations(e,t){let r=[],i=(s,a,l)=>{let o=l instanceof x?Pe(l,e):l,d={name:s||p(\"<undefined>\"),kind:a,location:it.create(e.uri,o)};r.push(d)};return this.collectDocumentSymbols(e,t,i),r}findDocumentSymbols(e,t){let r=[],i=[],s=(a,l,o,d,h)=>{let u=o instanceof x?Pe(o,e):o,w=d instanceof x?Pe(d,e):d;(!w||!eo(u,w))&&(w=R.create(u.start,u.start));let b={name:a||p(\"<undefined>\"),kind:l,range:u,selectionRange:w},y=i.pop();for(;y&&!eo(y[1],u);)y=i.pop();if(y){let E=y[0];E.children||(E.children=[]),E.children.push(b),i.push(y)}else r.push(b);h&&i.push([b,Pe(h,e)])};return this.collectDocumentSymbols(e,t,s),r}collectDocumentSymbols(e,t,r){t.accept(i=>{if(i instanceof ae){for(let s of i.getSelectors().getChildren())if(s instanceof de){let a=R.create(e.positionAt(s.offset),e.positionAt(i.end));r(s.getText(),ge.Class,a,s,i.getDeclarations())}}else if(i instanceof xe)r(i.getName(),ge.Variable,i,i.getVariable(),void 0);else if(i instanceof ue)r(i.getName(),ge.Method,i,i.getIdentifier(),i.getDeclarations());else if(i instanceof De)r(i.getName(),ge.Function,i,i.getIdentifier(),i.getDeclarations());else if(i instanceof mt){let s=p(\"@keyframes {0}\",i.getName());r(s,ge.Class,i,i.getIdentifier(),i.getDeclarations())}else if(i instanceof pt){let s=p(\"@font-face\");r(s,ge.Class,i,void 0,i.getDeclarations())}else if(i instanceof Be){let s=i.getChild(0);if(s instanceof ut){let a=\"@media \"+s.getText();r(a,ge.Module,i,s,i.getDeclarations())}}return!0})}findDocumentColors(e,t){let r=[];return t.accept(i=>{let s=Sa(i,e);return s&&r.push(s),!0}),r}getColorPresentations(e,t,r,i){let s=[],a=Math.round(r.red*255),l=Math.round(r.green*255),o=Math.round(r.blue*255),d;r.alpha===1?d=`rgb(${a}, ${l}, ${o})`:d=`rgba(${a}, ${l}, ${o}, ${r.alpha})`,s.push({label:d,textEdit:_.replace(i,d)}),r.alpha===1?d=`#${at(a)}${at(l)}${at(o)}`:d=`#${at(a)}${at(l)}${at(o)}${at(Math.round(r.alpha*255))}`,s.push({label:d,textEdit:_.replace(i,d)});let h=si(r);h.a===1?d=`hsl(${h.h}, ${Math.round(h.s*100)}%, ${Math.round(h.l*100)}%)`:d=`hsla(${h.h}, ${Math.round(h.s*100)}%, ${Math.round(h.l*100)}%, ${h.a})`,s.push({label:d,textEdit:_.replace(i,d)});let u=Us(r);return u.a===1?d=`hwb(${u.h} ${Math.round(u.w*100)}% ${Math.round(u.b*100)}%)`:d=`hwb(${u.h} ${Math.round(u.w*100)}% ${Math.round(u.b*100)}% / ${u.a})`,s.push({label:d,textEdit:_.replace(i,d)}),s}prepareRename(e,t,r){let i=this.getHighlightNode(e,t,r);if(i)return R.create(e.positionAt(i.offset),e.positionAt(i.end))}doRename(e,t,r,i){let a=this.findDocumentHighlights(e,t,i).map(l=>_.replace(l.range,r));return{changes:{[e.uri]:a}}}async resolveModuleReference(e,t,r){if(V(t,\"file://\")){let i=Ca(e);if(i&&i!==\".\"&&i!==\"..\"){let s=r.resolveReference(\"/\",t),a=ar(t),l=await this.resolvePathToModule(i,a,s);if(l){let o=e.substring(i.length+1);return Je(l,o)}}}}async mapReference(e,t){return e}async resolveReference(e,t,r,i=!1,s=this.defaultSettings){if(e[0]===\"~\"&&e[1]!==\"/\"&&this.fileSystemProvider)return e=e.substring(1),this.mapReference(await this.resolveModuleReference(e,t,r),i);let a=await this.mapReference(r.resolveReference(e,t),i);if(this.resolveModuleReferences){if(a&&await this.fileExists(a))return a;let l=await this.mapReference(await this.resolveModuleReference(e,t,r),i);if(l)return l}if(a&&!await this.fileExists(a)){let l=r.resolveReference(\"/\",t);if(s&&l){if(e in s)return this.mapReference(Je(l,s[e]),i);let o=e.indexOf(\"/\"),d=`${e.substring(0,o)}/`;if(d in s){let h=s[d].slice(0,-1),u=Je(l,h);return this.mapReference(u=Je(u,e.substring(d.length-1)),i)}}}return a}async resolvePathToModule(e,t,r){let i=Je(t,\"node_modules\",e,\"package.json\");if(await this.fileExists(i))return ar(i);if(r&&t.startsWith(r)&&t.length!==r.length)return this.resolvePathToModule(e,ar(t),r)}async fileExists(e){if(!this.fileSystemProvider)return!1;try{let t=await this.fileSystemProvider.stat(e);return!(t.type===st.Unknown&&t.size===-1)}catch{return!1}}};function Sa(n,e){let t=Vs(n);if(t){let r=Pe(n,e);return{color:t,range:r}}return null}function Pe(n,e){return R.create(e.positionAt(n.offset),e.positionAt(n.end))}function eo(n,e){let t=e.start.line,r=e.end.line,i=n.start.line,s=n.end.line;return!(t<i||r<i||t>s||r>s||t===i&&e.start.character<n.start.character||r===s&&e.end.character>n.end.character)}function to(n){if(n.type===m.Selector)return Ge.Write;if(n instanceof G&&n.parent&&n.parent instanceof Ve&&n.isCustomProperty)return Ge.Write;if(n.parent)switch(n.parent.type){case m.FunctionDeclaration:case m.MixinDeclaration:case m.Keyframe:case m.VariableDeclaration:case m.FunctionParameter:return Ge.Write}return Ge.Read}function at(n){let e=n.toString(16);return e.length!==2?\"0\"+e:e}function Ca(n){let e=n.indexOf(\"/\");if(e===-1)return\"\";if(n[0]===\"@\"){let t=n.indexOf(\"/\",e+1);return t===-1?n:n.substring(0,t)}return n.substring(0,e)}var It=ee.Warning,no=ee.Error,be=ee.Ignore,q=class{constructor(e,t,r){this.id=e,this.message=t,this.defaultValue=r}},Ci=class{constructor(e,t,r){this.id=e,this.message=t,this.defaultValue=r}},W={AllVendorPrefixes:new q(\"compatibleVendorPrefixes\",p(\"When using a vendor-specific prefix make sure to also include all other vendor-specific properties\"),be),IncludeStandardPropertyWhenUsingVendorPrefix:new q(\"vendorPrefix\",p(\"When using a vendor-specific prefix also include the standard property\"),It),DuplicateDeclarations:new q(\"duplicateProperties\",p(\"Do not use duplicate style definitions\"),be),EmptyRuleSet:new q(\"emptyRules\",p(\"Do not use empty rulesets\"),It),ImportStatemement:new q(\"importStatement\",p(\"Import statements do not load in parallel\"),be),BewareOfBoxModelSize:new q(\"boxModel\",p(\"Do not use width or height when using padding or border\"),be),UniversalSelector:new q(\"universalSelector\",p(\"The universal selector (*) is known to be slow\"),be),ZeroWithUnit:new q(\"zeroUnits\",p(\"No unit for zero needed\"),be),RequiredPropertiesForFontFace:new q(\"fontFaceProperties\",p(\"@font-face rule must define 'src' and 'font-family' properties\"),It),HexColorLength:new q(\"hexColorLength\",p(\"Hex colors must consist of three, four, six or eight hex numbers\"),no),ArgsInColorFunction:new q(\"argumentsInColorFunction\",p(\"Invalid number of parameters\"),no),UnknownProperty:new q(\"unknownProperties\",p(\"Unknown property.\"),It),UnknownAtRules:new q(\"unknownAtRules\",p(\"Unknown at-rule.\"),It),IEStarHack:new q(\"ieHack\",p(\"IE hacks are only necessary when supporting IE7 and older\"),be),UnknownVendorSpecificProperty:new q(\"unknownVendorSpecificProperties\",p(\"Unknown vendor specific property.\"),be),PropertyIgnoredDueToDisplay:new q(\"propertyIgnoredDueToDisplay\",p(\"Property is ignored due to the display.\"),It),AvoidImportant:new q(\"important\",p(\"Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.\"),be),AvoidFloat:new q(\"float\",p(\"Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.\"),be),AvoidIdSelector:new q(\"idSelector\",p(\"Selectors should not contain IDs because these rules are too tightly coupled with the HTML.\"),be)},ro={ValidProperties:new Ci(\"validProperties\",p(\"A list of properties that are not validated against the `unknownProperties` rule.\"),[])},mr=class{constructor(e={}){this.conf=e}getRule(e){if(this.conf.hasOwnProperty(e.id)){let t=ka(this.conf[e.id]);if(t)return t}return e.defaultValue}getSetting(e){return this.conf[e.id]}};function ka(n){switch(n){case\"ignore\":return ee.Ignore;case\"warning\":return ee.Warning;case\"error\":return ee.Error}return null}var Dt=class{constructor(e){this.cssDataManager=e}doCodeActions(e,t,r,i){return this.doCodeActions2(e,t,r,i).map(s=>{let a=s.edit&&s.edit.documentChanges&&s.edit.documentChanges[0];return Me.create(s.title,\"_css.applyCodeAction\",e.uri,e.version,a&&a.edits)})}doCodeActions2(e,t,r,i){let s=[];if(r.diagnostics)for(let a of r.diagnostics)this.appendFixesForMarker(e,i,a,s);return s}getFixesForUnknownProperty(e,t,r,i){let s=t.getName(),a=[];this.cssDataManager.getProperties().forEach(o=>{let d=Hi(s,o.name);d>=s.length/2&&a.push({property:o.name,score:d})}),a.sort((o,d)=>d.score-o.score||o.property.localeCompare(d.property));let l=3;for(let o of a){let d=o.property,h=p(\"Rename to '{0}'\",d),u=_.replace(r.range,d),w=qt.create(e.uri,e.version),b={documentChanges:[St.create(w,[u])]},y=Ht.create(h,b,Gt.QuickFix);if(y.diagnostics=[r],i.push(y),--l<=0)return}}appendFixesForMarker(e,t,r,i){if(r.code!==W.UnknownProperty.id)return;let s=e.offsetAt(r.range.start),a=e.offsetAt(r.range.end),l=vt(t,s);for(let o=l.length-1;o>=0;o--){let d=l[o];if(d instanceof Q){let h=d.getProperty();if(h&&h.offset===s&&h.end===a){this.getFixesForUnknownProperty(e,h,r,i);return}}}}};var ur=class{constructor(e){this.fullPropertyName=e.getFullPropertyName().toLowerCase(),this.node=e}};function on(n,e,t,r){let i=n[e];i.value=t,t&&(gi(i.properties,r)||i.properties.push(r))}function Fa(n,e,t){on(n,\"top\",e,t),on(n,\"right\",e,t),on(n,\"bottom\",e,t),on(n,\"left\",e,t)}function ne(n,e,t,r){e===\"top\"||e===\"right\"||e===\"bottom\"||e===\"left\"?on(n,e,t,r):Fa(n,t,r)}function ki(n,e,t){switch(e.length){case 1:ne(n,void 0,e[0],t);break;case 2:ne(n,\"top\",e[0],t),ne(n,\"bottom\",e[0],t),ne(n,\"right\",e[1],t),ne(n,\"left\",e[1],t);break;case 3:ne(n,\"top\",e[0],t),ne(n,\"right\",e[1],t),ne(n,\"left\",e[1],t),ne(n,\"bottom\",e[2],t);break;case 4:ne(n,\"top\",e[0],t),ne(n,\"right\",e[1],t),ne(n,\"bottom\",e[2],t),ne(n,\"left\",e[3],t);break}}function Fi(n,e){for(let t of e)if(n.matches(t))return!0;return!1}function an(n,e=!0){return e&&Fi(n,[\"initial\",\"unset\"])?!1:parseFloat(n.getText())!==0}function io(n,e=!0){return n.map(t=>an(t,e))}function fr(n,e=!0){return!(Fi(n,[\"none\",\"hidden\"])||e&&Fi(n,[\"initial\",\"unset\"]))}function Ea(n,e=!0){return n.map(t=>fr(t,e))}function _a(n){let e=n.getChildren();if(e.length===1){let t=e[0];return an(t)&&fr(t)}for(let t of e){let r=t;if(!an(r,!1)||!fr(r,!1))return!1}return!0}function Ei(n){let e={top:{value:!1,properties:[]},right:{value:!1,properties:[]},bottom:{value:!1,properties:[]},left:{value:!1,properties:[]}};for(let t of n){let r=t.node.value;if(!(typeof r>\"u\"))switch(t.fullPropertyName){case\"box-sizing\":return{top:{value:!1,properties:[]},right:{value:!1,properties:[]},bottom:{value:!1,properties:[]},left:{value:!1,properties:[]}};case\"width\":e.width=t;break;case\"height\":e.height=t;break;default:let i=t.fullPropertyName.split(\"-\");switch(i[0]){case\"border\":switch(i[1]){case void 0:case\"top\":case\"right\":case\"bottom\":case\"left\":switch(i[2]){case void 0:ne(e,i[1],_a(r),t);break;case\"width\":ne(e,i[1],an(r,!1),t);break;case\"style\":ne(e,i[1],fr(r,!0),t);break}break;case\"width\":ki(e,io(r.getChildren(),!1),t);break;case\"style\":ki(e,Ea(r.getChildren(),!0),t);break}break;case\"padding\":i.length===1?ki(e,io(r.getChildren(),!0),t):ne(e,i[1],an(r,!0),t);break}break}}return e}var gr=class{constructor(){this.data={}}add(e,t,r){let i=this.data[e];i||(i={nodes:[],names:[]},this.data[e]=i),i.names.push(t),r&&i.nodes.push(r)}},ln=class n{static entries(e,t,r,i,s){let a=new n(t,r,i);return e.acceptVisitor(a),a.completeValidations(),a.getEntries(s)}constructor(e,t,r){this.cssDataManager=r,this.warnings=[],this.settings=t,this.documentText=e.getText(),this.keyframes=new gr,this.validProperties={};let i=t.getSetting(ro.ValidProperties);Array.isArray(i)&&i.forEach(s=>{if(typeof s==\"string\"){let a=s.trim().toLowerCase();a.length&&(this.validProperties[a]=!0)}})}isValidPropertyDeclaration(e){let t=e.fullPropertyName;return this.validProperties[t]}fetch(e,t){let r=[];for(let i of e)i.fullPropertyName===t&&r.push(i);return r}fetchWithValue(e,t,r){let i=[];for(let s of e)if(s.fullPropertyName===t){let a=s.node.getValue();a&&this.findValueInExpression(a,r)&&i.push(s)}return i}findValueInExpression(e,t){let r=!1;return e.accept(i=>(i.type===m.Identifier&&i.matches(t)&&(r=!0),!r)),r}getEntries(e=ee.Warning|ee.Error){return this.warnings.filter(t=>(t.getLevel()&e)!==0)}addEntry(e,t,r){let i=new wt(e,t,this.settings.getRule(t),r);this.warnings.push(i)}getMissingNames(e,t){let r=e.slice(0);for(let s=0;s<t.length;s++){let a=r.indexOf(t[s]);a!==-1&&(r[a]=null)}let i=null;for(let s=0;s<r.length;s++){let a=r[s];a&&(i===null?i=p(\"'{0}'\",a):i=p(\"{0}, '{1}'\",i,a))}return i}visitNode(e){switch(e.type){case m.UnknownAtRule:return this.visitUnknownAtRule(e);case m.Keyframe:return this.visitKeyframe(e);case m.FontFace:return this.visitFontFace(e);case m.Ruleset:return this.visitRuleSet(e);case m.SimpleSelector:return this.visitSimpleSelector(e);case m.Function:return this.visitFunction(e);case m.NumericValue:return this.visitNumericValue(e);case m.Import:return this.visitImport(e);case m.HexColorValue:return this.visitHexColorValue(e);case m.Prio:return this.visitPrio(e);case m.IdentifierSelector:return this.visitIdentifierSelector(e)}return!0}completeValidations(){this.validateKeyframes()}visitUnknownAtRule(e){let t=e.getChild(0);return!t||this.cssDataManager.getAtDirective(t.getText())?!1:(this.addEntry(t,W.UnknownAtRules,`Unknown at rule ${t.getText()}`),!0)}visitKeyframe(e){let t=e.getKeyword();if(!t)return!1;let r=t.getText();return this.keyframes.add(e.getName(),r,r!==\"@keyframes\"?t:null),!0}validateKeyframes(){let e=[\"@-webkit-keyframes\",\"@-moz-keyframes\",\"@-o-keyframes\"];for(let t in this.keyframes.data){let r=this.keyframes.data[t].names,i=r.indexOf(\"@keyframes\")===-1;if(!i&&r.length===1)continue;let s=this.getMissingNames(e,r);if(s||i)for(let a of this.keyframes.data[t].nodes){if(i){let l=p(\"Always define standard rule '@keyframes' when defining keyframes.\");this.addEntry(a,W.IncludeStandardPropertyWhenUsingVendorPrefix,l)}if(s){let l=p(\"Always include all vendor specific rules: Missing: {0}\",s);this.addEntry(a,W.AllVendorPrefixes,l)}}}return!0}visitSimpleSelector(e){let t=this.documentText.charAt(e.offset);return e.length===1&&t===\"*\"&&this.addEntry(e,W.UniversalSelector),!0}visitIdentifierSelector(e){return this.addEntry(e,W.AvoidIdSelector),!0}visitImport(e){return this.addEntry(e,W.ImportStatemement),!0}visitRuleSet(e){let t=e.getDeclarations();if(!t)return!1;t.hasChildren()||this.addEntry(e.getSelectors(),W.EmptyRuleSet);let r=[];for(let o of t.getChildren())o instanceof Q&&r.push(new ur(o));let i=Ei(r);if(i.width){let o=[];if(i.right.value&&(o=Qt(o,i.right.properties)),i.left.value&&(o=Qt(o,i.left.properties)),o.length!==0){for(let d of o)this.addEntry(d.node,W.BewareOfBoxModelSize);this.addEntry(i.width.node,W.BewareOfBoxModelSize)}}if(i.height){let o=[];if(i.top.value&&(o=Qt(o,i.top.properties)),i.bottom.value&&(o=Qt(o,i.bottom.properties)),o.length!==0){for(let d of o)this.addEntry(d.node,W.BewareOfBoxModelSize);this.addEntry(i.height.node,W.BewareOfBoxModelSize)}}let s=this.fetchWithValue(r,\"display\",\"inline-block\");if(s.length>0){let o=this.fetch(r,\"float\");for(let d=0;d<o.length;d++){let h=o[d].node,u=h.getValue();u&&!u.matches(\"none\")&&this.addEntry(h,W.PropertyIgnoredDueToDisplay,p(\"inline-block is ignored due to the float. If 'float' has a value other than 'none', the box is floated and 'display' is treated as 'block'\"))}}if(s=this.fetchWithValue(r,\"display\",\"block\"),s.length>0){let o=this.fetch(r,\"vertical-align\");for(let d=0;d<o.length;d++)this.addEntry(o[d].node,W.PropertyIgnoredDueToDisplay,p(\"Property is ignored due to the display. With 'display: block', vertical-align should not be used.\"))}let a=this.fetch(r,\"float\");for(let o=0;o<a.length;o++){let d=a[o];this.isValidPropertyDeclaration(d)||this.addEntry(d.node,W.AvoidFloat)}for(let o=0;o<r.length;o++){let d=r[o];if(d.fullPropertyName!==\"background\"&&!this.validProperties[d.fullPropertyName]){let h=d.node.getValue();if(h&&this.documentText.charAt(h.offset)!==\"-\"){let u=this.fetch(r,d.fullPropertyName);if(u.length>1)for(let w=0;w<u.length;w++){let b=u[w].node.getValue();b&&this.documentText.charAt(b.offset)!==\"-\"&&u[w]!==d&&this.addEntry(d.node,W.DuplicateDeclarations)}}}}if(!e.getSelectors().matches(\":export\")){let o=new gr,d=!1;for(let h of r){let u=h.node;if(this.isCSSDeclaration(u)){let w=h.fullPropertyName,b=w.charAt(0);if(b===\"-\"){if(w.charAt(1)!==\"-\"){!this.cssDataManager.isKnownProperty(w)&&!this.validProperties[w]&&this.addEntry(u.getProperty(),W.UnknownVendorSpecificProperty);let y=u.getNonPrefixedPropertyName();o.add(y,w,u.getProperty())}}else{let y=w;(b===\"*\"||b===\"_\")&&(this.addEntry(u.getProperty(),W.IEStarHack),w=w.substr(1)),!this.cssDataManager.isKnownProperty(y)&&!this.cssDataManager.isKnownProperty(w)&&(this.validProperties[w]||this.addEntry(u.getProperty(),W.UnknownProperty,p(\"Unknown property: '{0}'\",u.getFullPropertyName()))),o.add(w,w,null)}}else d=!0}if(!d)for(let h in o.data){let u=o.data[h],w=u.names,b=this.cssDataManager.isStandardProperty(h)&&w.indexOf(h)===-1;if(!b&&w.length===1)continue;let y=new Set(b?u.nodes:[]);if(b){let I=this.getContextualVendorSpecificPseudoElements(e);for(let P of u.nodes){let T=P.getName(),j=T.substring(0,T.length-h.length);I.some(X=>X.startsWith(j))&&y.delete(P)}}let E=[];for(let I=0,P=n.prefixes.length;I<P;I++){let T=n.prefixes[I];this.cssDataManager.isStandardProperty(T+h)&&E.push(T+h)}let A=this.getMissingNames(E,w);if(A||b)for(let I of u.nodes){if(b&&y.has(I)){let P=p(\"Also define the standard property '{0}' for compatibility\",h);this.addEntry(I,W.IncludeStandardPropertyWhenUsingVendorPrefix,P)}if(A){let P=p(\"Always include all vendor specific properties: Missing: {0}\",A);this.addEntry(I,W.AllVendorPrefixes,P)}}}}return!0}getContextualVendorSpecificPseudoElements(e){function t(s,a){for(let l of a.getChildren()){if(l.type===m.PseudoSelector){let o=l.getChildren()[0]?.getText();o&&s.add(o)}t(s,l)}}function r(s,a){if(a.type===m.Ruleset)for(let l of a.getSelectors().getChildren())t(s,l);return a.parent?r(s,a.parent):void 0}let i=new Set;return r(i,e),Array.from(i)}visitPrio(e){return this.addEntry(e,W.AvoidImportant),!0}visitNumericValue(e){let t=e.findParent(m.Function);if(t&&t.getName()===\"calc\")return!0;let r=e.findParent(m.Declaration);if(r&&r.getValue()){let s=e.getValue();if(!s.unit||ir.length.indexOf(s.unit.toLowerCase())===-1)return!0;parseFloat(s.value)===0&&s.unit&&!this.validProperties[r.getFullPropertyName()]&&this.addEntry(e,W.ZeroWithUnit)}return!0}visitFontFace(e){let t=e.getDeclarations();if(!t)return!1;let r=!1,i=!1,s=!1;for(let a of t.getChildren())if(this.isCSSDeclaration(a)){let l=a.getProperty().getName().toLowerCase();l===\"src\"&&(r=!0),l===\"font-family\"&&(i=!0)}else s=!0;return!s&&(!r||!i)&&this.addEntry(e,W.RequiredPropertiesForFontFace),!0}isCSSDeclaration(e){if(e instanceof Q){if(!e.getValue())return!1;let t=e.getProperty();if(!t)return!1;let r=t.getIdentifier();return!(!r||r.containsInterpolation())}return!1}visitHexColorValue(e){let t=e.length;return t!==9&&t!==7&&t!==5&&t!==4&&this.addEntry(e,W.HexColorLength),!1}visitFunction(e){let t=e.getName().toLowerCase(),r=-1,i=0;switch(t){case\"rgb(\":case\"hsl(\":r=3;break;case\"rgba(\":case\"hsla(\":r=4;break}return r!==-1&&(e.getArguments().accept(s=>s instanceof qe?(i+=1,!1):!0),i!==r&&this.addEntry(e,W.ArgsInColorFunction)),!0}};ln.prefixes=[\"-ms-\",\"-moz-\",\"-o-\",\"-webkit-\"];var Rt=class{constructor(e){this.cssDataManager=e}configure(e){this.settings=e}doValidation(e,t,r=this.settings){if(r&&r.validate===!1)return[];let i=[];i.push.apply(i,Gn.entries(t)),i.push.apply(i,ln.entries(t,e,new mr(r&&r.lint),this.cssDataManager));let s=[];for(let l in W)s.push(W[l].id);function a(l){let o=R.create(e.positionAt(l.getOffset()),e.positionAt(l.getOffset()+l.getLength())),d=e.languageId;return{code:l.getRule().id,source:d,message:l.getMessage(),severity:l.getLevel()===ee.Warning?yt.Warning:yt.Error,range:o}}return i.filter(l=>l.getLevel()!==ee.Ignore).map(a)}};var so=47,Ia=10,Da=13,Ra=12,za=36,Ma=35,Ta=123,cn=61,Na=33,Oa=60,Pa=62,_i=46;var Ae=c.CustomToken,br=Ae++,Mt=Ae++,pc=Ae++,Ii=Ae++,Di=Ae++,wr=Ae++,vr=Ae++,dn=Ae++,mc=Ae++,zt=class extends ce{scanNext(e){if(this.stream.advanceIfChar(za)){let t=[\"$\"];if(this.ident(t))return this.finishToken(e,br,t.join(\"\"));this.stream.goBackTo(e)}return this.stream.advanceIfChars([Ma,Ta])?this.finishToken(e,Mt):this.stream.advanceIfChars([cn,cn])?this.finishToken(e,Ii):this.stream.advanceIfChars([Na,cn])?this.finishToken(e,Di):this.stream.advanceIfChar(Oa)?this.stream.advanceIfChar(cn)?this.finishToken(e,vr):this.finishToken(e,c.Delim):this.stream.advanceIfChar(Pa)?this.stream.advanceIfChar(cn)?this.finishToken(e,wr):this.finishToken(e,c.Delim):this.stream.advanceIfChars([_i,_i,_i])?this.finishToken(e,dn):super.scanNext(e)}comment(){return super.comment()?!0:!this.inURL&&this.stream.advanceIfChars([so,so])?(this.stream.advanceWhileChar(e=>{switch(e){case Ia:case Da:case Ra:return!1;default:return!0}}),!0):!1}};var hn=class{constructor(e,t){this.id=e,this.message=t}},yr={FromExpected:new hn(\"scss-fromexpected\",p(\"'from' expected\")),ThroughOrToExpected:new hn(\"scss-throughexpected\",p(\"'through' or 'to' expected\")),InExpected:new hn(\"scss-fromexpected\",p(\"'in' expected\"))};var xr=class extends ke{constructor(){super(new zt)}_parseStylesheetStatement(e=!1){return this.peek(c.AtKeyword)?this._parseWarnAndDebug()||this._parseControlStatement()||this._parseMixinDeclaration()||this._parseMixinContent()||this._parseMixinReference()||this._parseFunctionDeclaration()||this._parseForward()||this._parseUse()||this._parseRuleset(e)||super._parseStylesheetAtStatement(e):this._parseRuleset(!0)||this._parseVariableDeclaration()}_parseImport(){if(!this.peekKeyword(\"@import\"))return null;let e=this.create(je);if(this.consumeToken(),!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral()))return this.finish(e,f.URIOrStringExpected);for(;this.accept(c.Comma);)if(!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral()))return this.finish(e,f.URIOrStringExpected);return this._completeParseImport(e)}_parseVariableDeclaration(e=[]){if(!this.peek(br))return null;let t=this.create(xe);if(!t.setVariable(this._parseVariable()))return null;if(!this.accept(c.Colon))return this.finish(t,f.ColonExpected);if(this.prevToken&&(t.colonPosition=this.prevToken.offset),!t.setValue(this._parseExpr()))return this.finish(t,f.VariableValueExpected,[],e);for(;this.peek(c.Exclamation);)if(!t.addChild(this._tryParsePrio())){if(this.consumeToken(),!this.peekRegExp(c.Ident,/^(default|global)$/))return this.finish(t,f.UnknownKeyword);this.consumeToken()}return this.peek(c.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)}_parseMediaCondition(){return this._parseInterpolation()||super._parseMediaCondition()}_parseMediaFeatureRangeOperator(){return this.accept(vr)||this.accept(wr)||super._parseMediaFeatureRangeOperator()}_parseMediaFeatureName(){return this._parseModuleMember()||this._parseFunction()||this._parseIdent()||this._parseVariable()}_parseKeyframeSelector(){return this._tryParseKeyframeSelector()||this._parseControlStatement(this._parseKeyframeSelector.bind(this))||this._parseWarnAndDebug()||this._parseMixinReference()||this._parseFunctionDeclaration()||this._parseVariableDeclaration()||this._parseMixinContent()}_parseVariable(){if(!this.peek(br))return null;let e=this.create(Ke);return this.consumeToken(),e}_parseModuleMember(){let e=this.mark(),t=this.create(jt);return t.setIdentifier(this._parseIdent([z.Module]))?this.hasWhitespace()||!this.acceptDelim(\".\")||this.hasWhitespace()?(this.restoreAtMark(e),null):t.addChild(this._parseVariable()||this._parseFunction())?t:this.finish(t,f.IdentifierOrVariableExpected):null}_parseIdent(e){if(!this.peek(c.Ident)&&!this.peek(Mt)&&!this.peekDelim(\"-\"))return null;let t=this.create(G);t.referenceTypes=e,t.isCustomProperty=this.peekRegExp(c.Ident,/^--/);let r=!1,i=()=>{let s=this.mark();return this.acceptDelim(\"-\")&&(this.hasWhitespace()||this.acceptDelim(\"-\"),this.hasWhitespace())?(this.restoreAtMark(s),null):this._parseInterpolation()};for(;(this.accept(c.Ident)||t.addChild(i())||r&&this.acceptRegexp(/^[\\w-]/))&&(r=!0,!this.hasWhitespace()););return r?this.finish(t):null}_parseTermExpression(){return this._parseModuleMember()||this._parseVariable()||this._parseNestingSelector()||super._parseTermExpression()}_parseInterpolation(){if(this.peek(Mt)){let e=this.create(rt);return this.consumeToken(),!e.addChild(this._parseExpr())&&!this._parseNestingSelector()?this.accept(c.CurlyR)?this.finish(e):this.finish(e,f.ExpressionExpected):this.accept(c.CurlyR)?this.finish(e):this.finish(e,f.RightCurlyExpected)}return null}_parseOperator(){if(this.peek(Ii)||this.peek(Di)||this.peek(wr)||this.peek(vr)||this.peekDelim(\">\")||this.peekDelim(\"<\")||this.peekIdent(\"and\")||this.peekIdent(\"or\")||this.peekDelim(\"%\")){let e=this.createNode(m.Operator);return this.consumeToken(),this.finish(e)}return super._parseOperator()}_parseUnaryOperator(){if(this.peekIdent(\"not\")){let e=this.create(x);return this.consumeToken(),this.finish(e)}return super._parseUnaryOperator()}_parseRuleSetDeclaration(){return this.peek(c.AtKeyword)?this._parseKeyframe()||this._parseImport()||this._parseMedia(!0)||this._parseFontFace()||this._parseWarnAndDebug()||this._parseControlStatement()||this._parseFunctionDeclaration()||this._parseExtends()||this._parseMixinReference()||this._parseMixinContent()||this._parseMixinDeclaration()||this._parseRuleset(!0)||this._parseSupports(!0)||this._parseLayer()||this._parsePropertyAtRule()||this._parseContainer(!0)||this._parseRuleSetDeclarationAtStatement():this._parseVariableDeclaration()||this._tryParseRuleset(!0)||this._parseDeclaration()}_parseDeclaration(e){let t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;let r=this.create(Q);if(!r.setProperty(this._parseProperty()))return null;if(!this.accept(c.Colon))return this.finish(r,f.ColonExpected,[c.Colon],e||[c.SemiColon]);this.prevToken&&(r.colonPosition=this.prevToken.offset);let i=!1;if(r.setValue(this._parseExpr())&&(i=!0,r.addChild(this._parsePrio())),this.peek(c.CurlyL))r.setNestedProperties(this._parseNestedProperties());else if(!i)return this.finish(r,f.PropertyValueExpected);return this.peek(c.SemiColon)&&(r.semicolonPosition=this.token.offset),this.finish(r)}_parseNestedProperties(){let e=this.create(Ut);return this._parseBody(e,this._parseDeclaration.bind(this))}_parseExtends(){if(this.peekKeyword(\"@extend\")){let e=this.create(Se);if(this.consumeToken(),!e.getSelectors().addChild(this._parseSimpleSelector()))return this.finish(e,f.SelectorExpected);for(;this.accept(c.Comma);)e.getSelectors().addChild(this._parseSimpleSelector());return this.accept(c.Exclamation)&&!this.acceptIdent(\"optional\")?this.finish(e,f.UnknownKeyword):this.finish(e)}return null}_parseSimpleSelectorBody(){return this._parseSelectorPlaceholder()||super._parseSimpleSelectorBody()}_parseNestingSelector(){if(this.peekDelim(\"&\")){let e=this.createNode(m.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim(\"-\")||this.accept(c.Num)||this.accept(c.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim(\"&\")););return this.finish(e)}return null}_parseSelectorPlaceholder(){if(this.peekDelim(\"%\")){let e=this.createNode(m.SelectorPlaceholder);return this.consumeToken(),this._parseIdent(),this.finish(e)}else if(this.peekKeyword(\"@at-root\")){let e=this.createNode(m.SelectorPlaceholder);if(this.consumeToken(),this.accept(c.ParenthesisL)){if(!this.acceptIdent(\"with\")&&!this.acceptIdent(\"without\"))return this.finish(e,f.IdentifierExpected);if(!this.accept(c.Colon))return this.finish(e,f.ColonExpected);if(!e.addChild(this._parseIdent()))return this.finish(e,f.IdentifierExpected);if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[c.CurlyR])}return this.finish(e)}return null}_parseElementName(){let e=this.mark(),t=super._parseElementName();return t&&!this.hasWhitespace()&&this.peek(c.ParenthesisL)?(this.restoreAtMark(e),null):t}_tryParsePseudoIdentifier(){return this._parseInterpolation()||super._tryParsePseudoIdentifier()}_parseWarnAndDebug(){if(!this.peekKeyword(\"@debug\")&&!this.peekKeyword(\"@warn\")&&!this.peekKeyword(\"@error\"))return null;let e=this.createNode(m.Debug);return this.consumeToken(),e.addChild(this._parseExpr()),this.finish(e)}_parseControlStatement(e=this._parseRuleSetDeclaration.bind(this)){return this.peek(c.AtKeyword)?this._parseIfStatement(e)||this._parseForStatement(e)||this._parseEachStatement(e)||this._parseWhileStatement(e):null}_parseIfStatement(e){return this.peekKeyword(\"@if\")?this._internalParseIfStatement(e):null}_internalParseIfStatement(e){let t=this.create(yn);if(this.consumeToken(),!t.setExpression(this._parseExpr(!0)))return this.finish(t,f.ExpressionExpected);if(this._parseBody(t,e),this.acceptKeyword(\"@else\")){if(this.peekIdent(\"if\"))t.setElseClause(this._internalParseIfStatement(e));else if(this.peek(c.CurlyL)){let r=this.create(kn);this._parseBody(r,e),t.setElseClause(r)}}return this.finish(t)}_parseForStatement(e){if(!this.peekKeyword(\"@for\"))return null;let t=this.create(xn);return this.consumeToken(),t.setVariable(this._parseVariable())?this.acceptIdent(\"from\")?t.addChild(this._parseBinaryExpr())?!this.acceptIdent(\"to\")&&!this.acceptIdent(\"through\")?this.finish(t,yr.ThroughOrToExpected,[c.CurlyR]):t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,f.ExpressionExpected,[c.CurlyR]):this.finish(t,f.ExpressionExpected,[c.CurlyR]):this.finish(t,yr.FromExpected,[c.CurlyR]):this.finish(t,f.VariableNameExpected,[c.CurlyR])}_parseEachStatement(e){if(!this.peekKeyword(\"@each\"))return null;let t=this.create(Sn);this.consumeToken();let r=t.getVariables();if(!r.addChild(this._parseVariable()))return this.finish(t,f.VariableNameExpected,[c.CurlyR]);for(;this.accept(c.Comma);)if(!r.addChild(this._parseVariable()))return this.finish(t,f.VariableNameExpected,[c.CurlyR]);return this.finish(r),this.acceptIdent(\"in\")?t.addChild(this._parseExpr())?this._parseBody(t,e):this.finish(t,f.ExpressionExpected,[c.CurlyR]):this.finish(t,yr.InExpected,[c.CurlyR])}_parseWhileStatement(e){if(!this.peekKeyword(\"@while\"))return null;let t=this.create(Cn);return this.consumeToken(),t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,f.ExpressionExpected,[c.CurlyR])}_parseFunctionBodyDeclaration(){return this._parseVariableDeclaration()||this._parseReturnStatement()||this._parseWarnAndDebug()||this._parseControlStatement(this._parseFunctionBodyDeclaration.bind(this))}_parseFunctionDeclaration(){if(!this.peekKeyword(\"@function\"))return null;let e=this.create(De);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([z.Function])))return this.finish(e,f.IdentifierExpected,[c.CurlyR]);if(!this.accept(c.ParenthesisL))return this.finish(e,f.LeftParenthesisExpected,[c.CurlyR]);if(e.getParameters().addChild(this._parseParameterDeclaration())){for(;this.accept(c.Comma)&&!this.peek(c.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,f.VariableNameExpected)}return this.accept(c.ParenthesisR)?this._parseBody(e,this._parseFunctionBodyDeclaration.bind(this)):this.finish(e,f.RightParenthesisExpected,[c.CurlyR])}_parseReturnStatement(){if(!this.peekKeyword(\"@return\"))return null;let e=this.createNode(m.ReturnStatement);return this.consumeToken(),e.addChild(this._parseExpr())?this.finish(e):this.finish(e,f.ExpressionExpected)}_parseMixinDeclaration(){if(!this.peekKeyword(\"@mixin\"))return null;let e=this.create(ue);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([z.Mixin])))return this.finish(e,f.IdentifierExpected,[c.CurlyR]);if(this.accept(c.ParenthesisL)){if(e.getParameters().addChild(this._parseParameterDeclaration())){for(;this.accept(c.Comma)&&!this.peek(c.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,f.VariableNameExpected)}if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[c.CurlyR])}return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_parseParameterDeclaration(){let e=this.create(ye);return e.setIdentifier(this._parseVariable())?(this.accept(dn),this.accept(c.Colon)&&!e.setDefaultValue(this._parseExpr(!0))?this.finish(e,f.VariableValueExpected,[],[c.Comma,c.ParenthesisR]):this.finish(e)):null}_parseMixinContent(){if(!this.peekKeyword(\"@content\"))return null;let e=this.create(Vn);if(this.consumeToken(),this.accept(c.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument())){for(;this.accept(c.Comma)&&!this.peek(c.ParenthesisR);)if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,f.ExpressionExpected)}if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected)}return this.finish(e)}_parseMixinReference(){if(!this.peekKeyword(\"@include\"))return null;let e=this.create(ze);this.consumeToken();let t=this._parseIdent([z.Mixin]);if(!e.setIdentifier(t))return this.finish(e,f.IdentifierExpected,[c.CurlyR]);if(!this.hasWhitespace()&&this.acceptDelim(\".\")&&!this.hasWhitespace()){let r=this._parseIdent([z.Mixin]);if(!r)return this.finish(e,f.IdentifierExpected,[c.CurlyR]);let i=this.create(jt);t.referenceTypes=[z.Module],i.setIdentifier(t),e.setIdentifier(r),e.addChild(i)}if(this.accept(c.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument())){for(;this.accept(c.Comma)&&!this.peek(c.ParenthesisR);)if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,f.ExpressionExpected)}if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected)}return(this.peekIdent(\"using\")||this.peek(c.CurlyL))&&e.setContent(this._parseMixinContentDeclaration()),this.finish(e)}_parseMixinContentDeclaration(){let e=this.create(jn);if(this.acceptIdent(\"using\")){if(!this.accept(c.ParenthesisL))return this.finish(e,f.LeftParenthesisExpected,[c.CurlyL]);if(e.getParameters().addChild(this._parseParameterDeclaration())){for(;this.accept(c.Comma)&&!this.peek(c.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,f.VariableNameExpected)}if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[c.CurlyL])}return this.peek(c.CurlyL)&&this._parseBody(e,this._parseMixinReferenceBodyStatement.bind(this)),this.finish(e)}_parseMixinReferenceBodyStatement(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()}_parseFunctionArgument(){let e=this.create(le),t=this.mark(),r=this._parseVariable();if(r)if(this.accept(c.Colon))e.setIdentifier(r);else{if(this.accept(dn))return e.setValue(r),this.finish(e);this.restoreAtMark(t)}return e.setValue(this._parseExpr(!0))?(this.accept(dn),e.addChild(this._parsePrio()),this.finish(e)):e.setValue(this._tryParsePrio())?this.finish(e):null}_parseURLArgument(){let e=this.mark(),t=super._parseURLArgument();if(!t||!this.peek(c.ParenthesisR)){this.restoreAtMark(e);let r=this.create(x);return r.addChild(this._parseBinaryExpr()),this.finish(r)}return t}_parseOperation(){if(!this.peek(c.ParenthesisL))return null;let e=this.create(x);for(this.consumeToken();e.addChild(this._parseListElement());)this.accept(c.Comma);return this.accept(c.ParenthesisR)?this.finish(e):this.finish(e,f.RightParenthesisExpected)}_parseListElement(){let e=this.create(Bn),t=this._parseBinaryExpr();if(!t)return null;if(this.accept(c.Colon)){if(e.setKey(t),!e.setValue(this._parseBinaryExpr()))return this.finish(e,f.ExpressionExpected)}else e.setValue(t);return this.finish(e)}_parseUse(){if(!this.peekKeyword(\"@use\"))return null;let e=this.create(En);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,f.StringLiteralExpected);if(!this.peek(c.SemiColon)&&!this.peek(c.EOF)){if(!this.peekRegExp(c.Ident,/as|with/))return this.finish(e,f.UnknownKeyword);if(this.acceptIdent(\"as\")&&!e.setIdentifier(this._parseIdent([z.Module]))&&!this.acceptDelim(\"*\"))return this.finish(e,f.IdentifierOrWildcardExpected);if(this.acceptIdent(\"with\")){if(!this.accept(c.ParenthesisL))return this.finish(e,f.LeftParenthesisExpected,[c.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,f.VariableNameExpected);for(;this.accept(c.Comma)&&!this.peek(c.ParenthesisR);)if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,f.VariableNameExpected);if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected)}}return!this.accept(c.SemiColon)&&!this.accept(c.EOF)?this.finish(e,f.SemiColonExpected):this.finish(e)}_parseModuleConfigDeclaration(){let e=this.create(_n);return e.setIdentifier(this._parseVariable())?!this.accept(c.Colon)||!e.setValue(this._parseExpr(!0))?this.finish(e,f.VariableValueExpected,[],[c.Comma,c.ParenthesisR]):this.accept(c.Exclamation)&&(this.hasWhitespace()||!this.acceptIdent(\"default\"))?this.finish(e,f.UnknownKeyword):this.finish(e):null}_parseForward(){if(!this.peekKeyword(\"@forward\"))return null;let e=this.create(In);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,f.StringLiteralExpected);if(this.acceptIdent(\"as\")){let t=this._parseIdent([z.Forward]);if(!e.setIdentifier(t))return this.finish(e,f.IdentifierExpected);if(this.hasWhitespace()||!this.acceptDelim(\"*\"))return this.finish(e,f.WildcardExpected)}if(this.acceptIdent(\"with\")){if(!this.accept(c.ParenthesisL))return this.finish(e,f.LeftParenthesisExpected,[c.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,f.VariableNameExpected);for(;this.accept(c.Comma)&&!this.peek(c.ParenthesisR);)if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,f.VariableNameExpected);if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected)}else if((this.peekIdent(\"hide\")||this.peekIdent(\"show\"))&&!e.addChild(this._parseForwardVisibility()))return this.finish(e,f.IdentifierOrVariableExpected);return!this.accept(c.SemiColon)&&!this.accept(c.EOF)?this.finish(e,f.SemiColonExpected):this.finish(e)}_parseForwardVisibility(){let e=this.create(Dn);for(e.setIdentifier(this._parseIdent());e.addChild(this._parseVariable()||this._parseIdent());)this.accept(c.Comma);return e.getChildren().length>1?e:null}_parseSupportsCondition(){return this._parseInterpolation()||super._parseSupportsCondition()}};var We=p(\"Sass documentation\"),we=class n extends Xe{constructor(e,t){super(\"$\",e,t),oo(n.scssModuleLoaders),oo(n.scssModuleBuiltIns)}isImportPathParent(e){return e===m.Forward||e===m.Use||super.isImportPathParent(e)}getCompletionForImportPath(e,t){let r=e.getParent().type;if(r===m.Forward||r===m.Use)for(let i of n.scssModuleBuiltIns){let s={label:i.label,documentation:i.documentation,textEdit:_.replace(this.getCompletionRange(e),`'${i.label}'`),kind:k.Module};t.items.push(s)}return super.getCompletionForImportPath(e,t)}createReplaceFunction(){let e=1;return(t,r)=>\"\\\\\"+r+\": ${\"+e+++\":\"+(n.variableDefaults[r]||\"\")+\"}\"}createFunctionProposals(e,t,r,i){for(let s of e){let a=s.func.replace(/\\[?(\\$\\w+)\\]?/g,this.createReplaceFunction()),o={label:s.func.substr(0,s.func.indexOf(\"(\")),detail:s.func,documentation:s.desc,textEdit:_.replace(this.getCompletionRange(t),a),insertTextFormat:te.Snippet,kind:k.Function};r&&(o.sortText=\"z\"),i.items.push(o)}return i}getCompletionsForSelector(e,t,r){return this.createFunctionProposals(n.selectorFuncs,null,!0,r),super.getCompletionsForSelector(e,t,r)}getTermProposals(e,t,r){let i=n.builtInFuncs;return e&&(i=i.filter(s=>!s.type||!e.restrictions||e.restrictions.indexOf(s.type)!==-1)),this.createFunctionProposals(i,t,!0,r),super.getTermProposals(e,t,r)}getColorProposals(e,t,r){return this.createFunctionProposals(n.colorProposals,t,!1,r),super.getColorProposals(e,t,r)}getCompletionsForDeclarationProperty(e,t){return this.getCompletionForAtDirectives(t),this.getCompletionsForSelector(null,!0,t),super.getCompletionsForDeclarationProperty(e,t)}getCompletionsForExtendsReference(e,t,r){let i=this.getSymbolContext().findSymbolsAtOffset(this.offset,z.Rule);for(let s of i){let a={label:s.name,textEdit:_.replace(this.getCompletionRange(t),s.name),kind:k.Function};r.items.push(a)}return r}getCompletionForAtDirectives(e){return e.items.push(...n.scssAtDirectives),e}getCompletionForTopLevel(e){return this.getCompletionForAtDirectives(e),this.getCompletionForModuleLoaders(e),super.getCompletionForTopLevel(e),e}getCompletionForModuleLoaders(e){return e.items.push(...n.scssModuleLoaders),e}};we.variableDefaults={$red:\"1\",$green:\"2\",$blue:\"3\",$alpha:\"1.0\",$color:\"#000000\",$weight:\"0.5\",$hue:\"0\",$saturation:\"0%\",$lightness:\"0%\",$degrees:\"0\",$amount:\"0\",$string:'\"\"',$substring:'\"s\"',$number:\"0\",$limit:\"1\"};we.colorProposals=[{func:\"red($color)\",desc:p(\"Gets the red component of a color.\")},{func:\"green($color)\",desc:p(\"Gets the green component of a color.\")},{func:\"blue($color)\",desc:p(\"Gets the blue component of a color.\")},{func:\"mix($color, $color, [$weight])\",desc:p(\"Mixes two colors together.\")},{func:\"hue($color)\",desc:p(\"Gets the hue component of a color.\")},{func:\"saturation($color)\",desc:p(\"Gets the saturation component of a color.\")},{func:\"lightness($color)\",desc:p(\"Gets the lightness component of a color.\")},{func:\"adjust-hue($color, $degrees)\",desc:p(\"Changes the hue of a color.\")},{func:\"lighten($color, $amount)\",desc:p(\"Makes a color lighter.\")},{func:\"darken($color, $amount)\",desc:p(\"Makes a color darker.\")},{func:\"saturate($color, $amount)\",desc:p(\"Makes a color more saturated.\")},{func:\"desaturate($color, $amount)\",desc:p(\"Makes a color less saturated.\")},{func:\"grayscale($color)\",desc:p(\"Converts a color to grayscale.\")},{func:\"complement($color)\",desc:p(\"Returns the complement of a color.\")},{func:\"invert($color)\",desc:p(\"Returns the inverse of a color.\")},{func:\"alpha($color)\",desc:p(\"Gets the opacity component of a color.\")},{func:\"opacity($color)\",desc:\"Gets the alpha component (opacity) of a color.\"},{func:\"rgba($color, $alpha)\",desc:p(\"Changes the alpha component for a color.\")},{func:\"opacify($color, $amount)\",desc:p(\"Makes a color more opaque.\")},{func:\"fade-in($color, $amount)\",desc:p(\"Makes a color more opaque.\")},{func:\"transparentize($color, $amount)\",desc:p(\"Makes a color more transparent.\")},{func:\"fade-out($color, $amount)\",desc:p(\"Makes a color more transparent.\")},{func:\"adjust-color($color, [$red], [$green], [$blue], [$hue], [$saturation], [$lightness], [$alpha])\",desc:p(\"Increases or decreases one or more components of a color.\")},{func:\"scale-color($color, [$red], [$green], [$blue], [$saturation], [$lightness], [$alpha])\",desc:p(\"Fluidly scales one or more properties of a color.\")},{func:\"change-color($color, [$red], [$green], [$blue], [$hue], [$saturation], [$lightness], [$alpha])\",desc:p(\"Changes one or more properties of a color.\")},{func:\"ie-hex-str($color)\",desc:p(\"Converts a color into the format understood by IE filters.\")}];we.selectorFuncs=[{func:\"selector-nest($selectors\\u2026)\",desc:p(\"Nests selector beneath one another like they would be nested in the stylesheet.\")},{func:\"selector-append($selectors\\u2026)\",desc:p(\"Appends selectors to one another without spaces in between.\")},{func:\"selector-extend($selector, $extendee, $extender)\",desc:p(\"Extends $extendee with $extender within $selector.\")},{func:\"selector-replace($selector, $original, $replacement)\",desc:p(\"Replaces $original with $replacement within $selector.\")},{func:\"selector-unify($selector1, $selector2)\",desc:p(\"Unifies two selectors to produce a selector that matches elements matched by both.\")},{func:\"is-superselector($super, $sub)\",desc:p(\"Returns whether $super matches all the elements $sub does, and possibly more.\")},{func:\"simple-selectors($selector)\",desc:p(\"Returns the simple selectors that comprise a compound selector.\")},{func:\"selector-parse($selector)\",desc:p(\"Parses a selector into the format returned by &.\")}];we.builtInFuncs=[{func:\"unquote($string)\",desc:p(\"Removes quotes from a string.\")},{func:\"quote($string)\",desc:p(\"Adds quotes to a string.\")},{func:\"str-length($string)\",desc:p(\"Returns the number of characters in a string.\")},{func:\"str-insert($string, $insert, $index)\",desc:p(\"Inserts $insert into $string at $index.\")},{func:\"str-index($string, $substring)\",desc:p(\"Returns the index of the first occurance of $substring in $string.\")},{func:\"str-slice($string, $start-at, [$end-at])\",desc:p(\"Extracts a substring from $string.\")},{func:\"to-upper-case($string)\",desc:p(\"Converts a string to upper case.\")},{func:\"to-lower-case($string)\",desc:p(\"Converts a string to lower case.\")},{func:\"percentage($number)\",desc:p(\"Converts a unitless number to a percentage.\"),type:\"percentage\"},{func:\"round($number)\",desc:p(\"Rounds a number to the nearest whole number.\")},{func:\"ceil($number)\",desc:p(\"Rounds a number up to the next whole number.\")},{func:\"floor($number)\",desc:p(\"Rounds a number down to the previous whole number.\")},{func:\"abs($number)\",desc:p(\"Returns the absolute value of a number.\")},{func:\"min($numbers)\",desc:p(\"Finds the minimum of several numbers.\")},{func:\"max($numbers)\",desc:p(\"Finds the maximum of several numbers.\")},{func:\"random([$limit])\",desc:p(\"Returns a random number.\")},{func:\"length($list)\",desc:p(\"Returns the length of a list.\")},{func:\"nth($list, $n)\",desc:p(\"Returns a specific item in a list.\")},{func:\"set-nth($list, $n, $value)\",desc:p(\"Replaces the nth item in a list.\")},{func:\"join($list1, $list2, [$separator])\",desc:p(\"Joins together two lists into one.\")},{func:\"append($list1, $val, [$separator])\",desc:p(\"Appends a single value onto the end of a list.\")},{func:\"zip($lists)\",desc:p(\"Combines several lists into a single multidimensional list.\")},{func:\"index($list, $value)\",desc:p(\"Returns the position of a value within a list.\")},{func:\"list-separator(#list)\",desc:p(\"Returns the separator of a list.\")},{func:\"map-get($map, $key)\",desc:p(\"Returns the value in a map associated with a given key.\")},{func:\"map-merge($map1, $map2)\",desc:p(\"Merges two maps together into a new map.\")},{func:\"map-remove($map, $keys)\",desc:p(\"Returns a new map with keys removed.\")},{func:\"map-keys($map)\",desc:p(\"Returns a list of all keys in a map.\")},{func:\"map-values($map)\",desc:p(\"Returns a list of all values in a map.\")},{func:\"map-has-key($map, $key)\",desc:p(\"Returns whether a map has a value associated with a given key.\")},{func:\"keywords($args)\",desc:p(\"Returns the keywords passed to a function that takes variable arguments.\")},{func:\"feature-exists($feature)\",desc:p(\"Returns whether a feature exists in the current Sass runtime.\")},{func:\"variable-exists($name)\",desc:p(\"Returns whether a variable with the given name exists in the current scope.\")},{func:\"global-variable-exists($name)\",desc:p(\"Returns whether a variable with the given name exists in the global scope.\")},{func:\"function-exists($name)\",desc:p(\"Returns whether a function with the given name exists.\")},{func:\"mixin-exists($name)\",desc:p(\"Returns whether a mixin with the given name exists.\")},{func:\"inspect($value)\",desc:p(\"Returns the string representation of a value as it would be represented in Sass.\")},{func:\"type-of($value)\",desc:p(\"Returns the type of a value.\")},{func:\"unit($number)\",desc:p(\"Returns the unit(s) associated with a number.\")},{func:\"unitless($number)\",desc:p(\"Returns whether a number has units.\")},{func:\"comparable($number1, $number2)\",desc:p(\"Returns whether two numbers can be added, subtracted, or compared.\")},{func:\"call($name, $args\\u2026)\",desc:p(\"Dynamically calls a Sass function.\")}];we.scssAtDirectives=[{label:\"@extend\",documentation:p(\"Inherits the styles of another selector.\"),kind:k.Keyword},{label:\"@at-root\",documentation:p(\"Causes one or more rules to be emitted at the root of the document.\"),kind:k.Keyword},{label:\"@debug\",documentation:p(\"Prints the value of an expression to the standard error output stream. Useful for debugging complicated Sass files.\"),kind:k.Keyword},{label:\"@warn\",documentation:p(\"Prints the value of an expression to the standard error output stream. Useful for libraries that need to warn users of deprecations or recovering from minor mixin usage mistakes. Warnings can be turned off with the `--quiet` command-line option or the `:quiet` Sass option.\"),kind:k.Keyword},{label:\"@error\",documentation:p(\"Throws the value of an expression as a fatal error with stack trace. Useful for validating arguments to mixins and functions.\"),kind:k.Keyword},{label:\"@if\",documentation:p(\"Includes the body if the expression does not evaluate to `false` or `null`.\"),insertText:`@if \\${1:expr} {\n\t$0\n}`,insertTextFormat:te.Snippet,kind:k.Keyword},{label:\"@for\",documentation:p(\"For loop that repeatedly outputs a set of styles for each `$var` in the `from/through` or `from/to` clause.\"),insertText:\"@for \\\\$${1:var} from ${2:start} ${3|to,through|} ${4:end} {\\n\t$0\\n}\",insertTextFormat:te.Snippet,kind:k.Keyword},{label:\"@each\",documentation:p(\"Each loop that sets `$var` to each item in the list or map, then outputs the styles it contains using that value of `$var`.\"),insertText:\"@each \\\\$${1:var} in ${2:list} {\\n\t$0\\n}\",insertTextFormat:te.Snippet,kind:k.Keyword},{label:\"@while\",documentation:p(\"While loop that takes an expression and repeatedly outputs the nested styles until the statement evaluates to `false`.\"),insertText:`@while \\${1:condition} {\n\t$0\n}`,insertTextFormat:te.Snippet,kind:k.Keyword},{label:\"@mixin\",documentation:p(\"Defines styles that can be re-used throughout the stylesheet with `@include`.\"),insertText:`@mixin \\${1:name} {\n\t$0\n}`,insertTextFormat:te.Snippet,kind:k.Keyword},{label:\"@include\",documentation:p(\"Includes the styles defined by another mixin into the current rule.\"),kind:k.Keyword},{label:\"@function\",documentation:p(\"Defines complex operations that can be re-used throughout stylesheets.\"),kind:k.Keyword}];we.scssModuleLoaders=[{label:\"@use\",documentation:p(\"Loads mixins, functions, and variables from other Sass stylesheets as 'modules', and combines CSS from multiple stylesheets together.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/at-rules/use\"}],insertText:\"@use $0;\",insertTextFormat:te.Snippet,kind:k.Keyword},{label:\"@forward\",documentation:p(\"Loads a Sass stylesheet and makes its mixins, functions, and variables available when this stylesheet is loaded with the @use rule.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/at-rules/forward\"}],insertText:\"@forward $0;\",insertTextFormat:te.Snippet,kind:k.Keyword}];we.scssModuleBuiltIns=[{label:\"sass:math\",documentation:p(\"Provides functions that operate on numbers.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/modules/math\"}]},{label:\"sass:string\",documentation:p(\"Makes it easy to combine, search, or split apart strings.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/modules/string\"}]},{label:\"sass:color\",documentation:p(\"Generates new colors based on existing ones, making it easy to build color themes.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/modules/color\"}]},{label:\"sass:list\",documentation:p(\"Lets you access and modify values in lists.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/modules/list\"}]},{label:\"sass:map\",documentation:p(\"Makes it possible to look up the value associated with a key in a map, and much more.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/modules/map\"}]},{label:\"sass:selector\",documentation:p(\"Provides access to Sass\\u2019s powerful selector engine.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/modules/selector\"}]},{label:\"sass:meta\",documentation:p(\"Exposes the details of Sass\\u2019s inner workings.\"),references:[{name:We,url:\"https://sass-lang.com/documentation/modules/meta\"}]}];function oo(n){n.forEach(e=>{if(e.documentation&&e.references&&e.references.length>0){let t=typeof e.documentation==\"string\"?{kind:\"markdown\",value:e.documentation}:{kind:\"markdown\",value:e.documentation.value};t.value+=`\n\n`,t.value+=e.references.map(r=>`[${r.name}](${r.url})`).join(\" | \"),e.documentation=t}})}var ao=47,Wa=10,La=13,$a=12,Ri=96,zi=46,Ua=c.CustomToken,Sr=Ua++,Tt=class extends ce{scanNext(e){let t=this.escapedJavaScript();return t!==null?this.finishToken(e,t):this.stream.advanceIfChars([zi,zi,zi])?this.finishToken(e,Sr):super.scanNext(e)}comment(){return super.comment()?!0:!this.inURL&&this.stream.advanceIfChars([ao,ao])?(this.stream.advanceWhileChar(e=>{switch(e){case Wa:case La:case $a:return!1;default:return!0}}),!0):!1}escapedJavaScript(){return this.stream.peekChar()===Ri?(this.stream.advance(1),this.stream.advanceWhileChar(t=>t!==Ri),this.stream.advanceIfChar(Ri)?c.EscapedJavaScript:c.BadEscapedJavaScript):null}};var Cr=class extends ke{constructor(){super(new Tt)}_parseStylesheetStatement(e=!1){return this.peek(c.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||super._parseStylesheetAtStatement(e):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)}_parseImport(){if(!this.peekKeyword(\"@import\")&&!this.peekKeyword(\"@import-once\"))return null;let e=this.create(je);if(this.consumeToken(),this.accept(c.ParenthesisL)){if(!this.accept(c.Ident))return this.finish(e,f.IdentifierExpected,[c.SemiColon]);do if(!this.accept(c.Comma))break;while(this.accept(c.Ident));if(!this.accept(c.ParenthesisR))return this.finish(e,f.RightParenthesisExpected,[c.SemiColon])}return!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral())?this.finish(e,f.URIOrStringExpected,[c.SemiColon]):(!this.peek(c.SemiColon)&&!this.peek(c.EOF)&&e.setMedialist(this._parseMediaQueryList()),this._completeParseImport(e))}_parsePlugin(){if(!this.peekKeyword(\"@plugin\"))return null;let e=this.createNode(m.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(c.SemiColon)?this.finish(e):this.finish(e,f.SemiColonExpected):this.finish(e,f.StringLiteralExpected)}_parseMediaQuery(){let e=super._parseMediaQuery();if(!e){let t=this.create(ft);return t.addChild(this._parseVariable())?this.finish(t):null}return e}_parseMediaDeclaration(e=!1){return this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)}_parseMediaFeatureName(){return this._parseIdent()||this._parseVariable()}_parseVariableDeclaration(e=[]){let t=this.create(xe),r=this.mark();if(!t.setVariable(this._parseVariable(!0)))return null;if(this.accept(c.Colon)){if(this.prevToken&&(t.colonPosition=this.prevToken.offset),t.setValue(this._parseDetachedRuleSet()))t.needsSemicolon=!1;else if(!t.setValue(this._parseExpr()))return this.finish(t,f.VariableValueExpected,[],e);t.addChild(this._parsePrio())}else return this.restoreAtMark(r),null;return this.peek(c.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)}_parseDetachedRuleSet(){let e=this.mark();if(this.peekDelim(\"#\")||this.peekDelim(\".\"))if(this.consumeToken(),!this.hasWhitespace()&&this.accept(c.ParenthesisL)){let r=this.create(ue);if(r.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(c.Comma)||this.accept(c.SemiColon))&&!this.peek(c.ParenthesisR);)r.getParameters().addChild(this._parseMixinParameter())||this.markError(r,f.IdentifierExpected,[],[c.ParenthesisR]);if(!this.accept(c.ParenthesisR))return this.restoreAtMark(e),null}else return this.restoreAtMark(e),null;if(!this.peek(c.CurlyL))return null;let t=this.create(L);return this._parseBody(t,this._parseDetachedRuleSetBody.bind(this)),this.finish(t)}_parseDetachedRuleSetBody(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()}_addLookupChildren(e){if(!e.addChild(this._parseLookupValue()))return!1;let t=!1;for(;this.peek(c.BracketL)&&(t=!0),!!e.addChild(this._parseLookupValue());)t=!1;return!t}_parseLookupValue(){let e=this.create(x),t=this.mark();return this.accept(c.BracketL)?(e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(c.BracketR)||this.accept(c.BracketR)?e:(this.restoreAtMark(t),null):(this.restoreAtMark(t),null)}_parseVariable(e=!1,t=!1){let r=!e&&this.peekDelim(\"$\");if(!this.peekDelim(\"@\")&&!r&&!this.peek(c.AtKeyword))return null;let i=this.create(Ke),s=this.mark();for(;this.acceptDelim(\"@\")||!e&&this.acceptDelim(\"$\");)if(this.hasWhitespace())return this.restoreAtMark(s),null;return!this.accept(c.AtKeyword)&&!this.accept(c.Ident)?(this.restoreAtMark(s),null):!t&&this.peek(c.BracketL)&&!this._addLookupChildren(i)?(this.restoreAtMark(s),null):i}_parseTermExpression(){return this._parseVariable()||this._parseEscaped()||super._parseTermExpression()||this._tryParseMixinReference(!1)}_parseEscaped(){if(this.peek(c.EscapedJavaScript)||this.peek(c.BadEscapedJavaScript)){let e=this.createNode(m.EscapedValue);return this.consumeToken(),this.finish(e)}if(this.peekDelim(\"~\")){let e=this.createNode(m.EscapedValue);return this.consumeToken(),this.accept(c.String)||this.accept(c.EscapedJavaScript)?this.finish(e):this.finish(e,f.TermExpected)}return null}_parseOperator(){let e=this._parseGuardOperator();return e||super._parseOperator()}_parseGuardOperator(){if(this.peekDelim(\">\")){let e=this.createNode(m.Operator);return this.consumeToken(),this.acceptDelim(\"=\"),e}else if(this.peekDelim(\"=\")){let e=this.createNode(m.Operator);return this.consumeToken(),this.acceptDelim(\"<\"),e}else if(this.peekDelim(\"<\")){let e=this.createNode(m.Operator);return this.consumeToken(),this.acceptDelim(\"=\"),e}return null}_parseRuleSetDeclaration(){return this.peek(c.AtKeyword)?this._parseKeyframe()||this._parseMedia(!0)||this._parseImport()||this._parseSupports(!0)||this._parseLayer()||this._parsePropertyAtRule()||this._parseContainer(!0)||this._parseDetachedRuleSetMixin()||this._parseVariableDeclaration()||this._parseRuleSetDeclarationAtStatement():this._tryParseMixinDeclaration()||this._tryParseRuleset(!0)||this._tryParseMixinReference()||this._parseFunction()||this._parseExtend()||this._parseDeclaration()}_parseKeyframeIdent(){return this._parseIdent([z.Keyframe])||this._parseVariable()}_parseKeyframeSelector(){return this._parseDetachedRuleSetMixin()||super._parseKeyframeSelector()}_parseSelector(e){let t=this.create(de),r=!1;for(e&&(r=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());){r=!0;let i=this.mark();if(t.addChild(this._parseGuard())&&this.peek(c.CurlyL))break;this.restoreAtMark(i),t.addChild(this._parseCombinator())}return r?this.finish(t):null}_parseNestingSelector(){if(this.peekDelim(\"&\")){let e=this.createNode(m.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim(\"-\")||this.accept(c.Num)||this.accept(c.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim(\"&\")););return this.finish(e)}return null}_parseSelectorIdent(){if(!this.peekInterpolatedIdent())return null;let e=this.createNode(m.SelectorInterpolation);return this._acceptInterpolatedIdent(e)?this.finish(e):null}_parsePropertyIdentifier(e=!1){let t=/^[\\w-]+/;if(!this.peekInterpolatedIdent()&&!this.peekRegExp(this.token.type,t))return null;let r=this.mark(),i=this.create(G);i.isCustomProperty=this.acceptDelim(\"-\")&&this.acceptDelim(\"-\");let s=!1;return e?i.isCustomProperty?s=i.addChild(this._parseIdent()):s=i.addChild(this._parseRegexp(t)):i.isCustomProperty?s=this._acceptInterpolatedIdent(i):s=this._acceptInterpolatedIdent(i,t),s?(!e&&!this.hasWhitespace()&&(this.acceptDelim(\"+\"),this.hasWhitespace()||this.acceptIdent(\"_\")),this.finish(i)):(this.restoreAtMark(r),null)}peekInterpolatedIdent(){return this.peek(c.Ident)||this.peekDelim(\"@\")||this.peekDelim(\"$\")||this.peekDelim(\"-\")}_acceptInterpolatedIdent(e,t){let r=!1,i=()=>{let a=this.mark();return this.acceptDelim(\"-\")&&(this.hasWhitespace()||this.acceptDelim(\"-\"),this.hasWhitespace())?(this.restoreAtMark(a),null):this._parseInterpolation()},s=t?()=>this.acceptRegexp(t):()=>this.accept(c.Ident);for(;(s()||e.addChild(this._parseInterpolation()||this.try(i)))&&(r=!0,!this.hasWhitespace()););return r}_parseInterpolation(){let e=this.mark();if(this.peekDelim(\"@\")||this.peekDelim(\"$\")){let t=this.createNode(m.Interpolation);return this.consumeToken(),this.hasWhitespace()||!this.accept(c.CurlyL)?(this.restoreAtMark(e),null):t.addChild(this._parseIdent())?this.accept(c.CurlyR)?this.finish(t):this.finish(t,f.RightCurlyExpected):this.finish(t,f.IdentifierExpected)}return null}_tryParseMixinDeclaration(){let e=this.mark(),t=this.create(ue);if(!t.setIdentifier(this._parseMixinDeclarationIdentifier())||!this.accept(c.ParenthesisL))return this.restoreAtMark(e),null;if(t.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(c.Comma)||this.accept(c.SemiColon))&&!this.peek(c.ParenthesisR);)t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,f.IdentifierExpected,[],[c.ParenthesisR]);return this.accept(c.ParenthesisR)?(t.setGuard(this._parseGuard()),this.peek(c.CurlyL)?this._parseBody(t,this._parseMixInBodyDeclaration.bind(this)):(this.restoreAtMark(e),null)):(this.restoreAtMark(e),null)}_parseMixInBodyDeclaration(){return this._parseFontFace()||this._parseRuleSetDeclaration()}_parseMixinDeclarationIdentifier(){let e;if(this.peekDelim(\"#\")||this.peekDelim(\".\")){if(e=this.create(G),this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseIdent()))return null}else if(this.peek(c.Hash))e=this.create(G),this.consumeToken();else return null;return e.referenceTypes=[z.Mixin],this.finish(e)}_parsePseudo(){if(!this.peek(c.Colon))return null;let e=this.mark(),t=this.create(Se);return this.consumeToken(),this.acceptIdent(\"extend\")?this._completeExtends(t):(this.restoreAtMark(e),super._parsePseudo())}_parseExtend(){if(!this.peekDelim(\"&\"))return null;let e=this.mark(),t=this.create(Se);return this.consumeToken(),this.hasWhitespace()||!this.accept(c.Colon)||!this.acceptIdent(\"extend\")?(this.restoreAtMark(e),null):this._completeExtends(t)}_completeExtends(e){if(!this.accept(c.ParenthesisL))return this.finish(e,f.LeftParenthesisExpected);let t=e.getSelectors();if(!t.addChild(this._parseSelector(!0)))return this.finish(e,f.SelectorExpected);for(;this.accept(c.Comma);)if(!t.addChild(this._parseSelector(!0)))return this.finish(e,f.SelectorExpected);return this.accept(c.ParenthesisR)?this.finish(e):this.finish(e,f.RightParenthesisExpected)}_parseDetachedRuleSetMixin(){if(!this.peek(c.AtKeyword))return null;let e=this.mark(),t=this.create(ze);return t.addChild(this._parseVariable(!0))&&(this.hasWhitespace()||!this.accept(c.ParenthesisL))?(this.restoreAtMark(e),null):this.accept(c.ParenthesisR)?this.finish(t):this.finish(t,f.RightParenthesisExpected)}_tryParseMixinReference(e=!0){let t=this.mark(),r=this.create(ze),i=this._parseMixinDeclarationIdentifier();for(;i;){this.acceptDelim(\">\");let a=this._parseMixinDeclarationIdentifier();if(a)r.getNamespaces().addChild(i),i=a;else break}if(!r.setIdentifier(i))return this.restoreAtMark(t),null;let s=!1;if(this.accept(c.ParenthesisL)){if(s=!0,r.getArguments().addChild(this._parseMixinArgument())){for(;(this.accept(c.Comma)||this.accept(c.SemiColon))&&!this.peek(c.ParenthesisR);)if(!r.getArguments().addChild(this._parseMixinArgument()))return this.finish(r,f.ExpressionExpected)}if(!this.accept(c.ParenthesisR))return this.finish(r,f.RightParenthesisExpected);i.referenceTypes=[z.Mixin]}else i.referenceTypes=[z.Mixin,z.Rule];return this.peek(c.BracketL)?e||this._addLookupChildren(r):r.addChild(this._parsePrio()),!s&&!this.peek(c.SemiColon)&&!this.peek(c.CurlyR)&&!this.peek(c.EOF)?(this.restoreAtMark(t),null):this.finish(r)}_parseMixinArgument(){let e=this.create(le),t=this.mark(),r=this._parseVariable();return r&&(this.accept(c.Colon)?e.setIdentifier(r):this.restoreAtMark(t)),e.setValue(this._parseDetachedRuleSet()||this._parseExpr(!0))?this.finish(e):(this.restoreAtMark(t),null)}_parseMixinParameter(){let e=this.create(ye);if(this.peekKeyword(\"@rest\")){let r=this.create(x);return this.consumeToken(),this.accept(Sr)?(e.setIdentifier(this.finish(r)),this.finish(e)):this.finish(e,f.DotExpected,[],[c.Comma,c.ParenthesisR])}if(this.peek(Sr)){let r=this.create(x);return this.consumeToken(),e.setIdentifier(this.finish(r)),this.finish(e)}let t=!1;return e.setIdentifier(this._parseVariable())&&(this.accept(c.Colon),t=!0),!e.setDefaultValue(this._parseDetachedRuleSet()||this._parseExpr(!0))&&!t?null:this.finish(e)}_parseGuard(){if(!this.peekIdent(\"when\"))return null;let e=this.create(qn);if(this.consumeToken(),!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,f.ConditionExpected);for(;this.acceptIdent(\"and\")||this.accept(c.Comma);)if(!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,f.ConditionExpected);return this.finish(e)}_parseGuardCondition(){let e=this.create(Kn);return e.isNegated=this.acceptIdent(\"not\"),this.accept(c.ParenthesisL)?(e.addChild(this._parseExpr()),this.accept(c.ParenthesisR)?this.finish(e):this.finish(e,f.RightParenthesisExpected)):e.isNegated?this.finish(e,f.LeftParenthesisExpected):null}_parseFunction(){let e=this.mark(),t=this.create(me);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(c.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseMixinArgument())){for(;(this.accept(c.Comma)||this.accept(c.SemiColon))&&!this.peek(c.ParenthesisR);)if(!t.getArguments().addChild(this._parseMixinArgument()))return this.finish(t,f.ExpressionExpected)}return this.accept(c.ParenthesisR)?this.finish(t):this.finish(t,f.RightParenthesisExpected)}_parseFunctionIdentifier(){if(this.peekDelim(\"%\")){let e=this.create(G);return e.referenceTypes=[z.Function],this.consumeToken(),this.finish(e)}return super._parseFunctionIdentifier()}_parseURLArgument(){let e=this.mark(),t=super._parseURLArgument();if(!t||!this.peek(c.ParenthesisR)){this.restoreAtMark(e);let r=this.create(x);return r.addChild(this._parseBinaryExpr()),this.finish(r)}return t}};var Nt=class n extends Xe{constructor(e,t){super(\"@\",e,t)}createFunctionProposals(e,t,r,i){for(let s of e){let a={label:s.name,detail:s.example,documentation:s.description,textEdit:_.replace(this.getCompletionRange(t),s.name+\"($0)\"),insertTextFormat:te.Snippet,kind:k.Function};r&&(a.sortText=\"z\"),i.items.push(a)}return i}getTermProposals(e,t,r){let i=n.builtInProposals;return e&&(i=i.filter(s=>!s.type||!e.restrictions||e.restrictions.indexOf(s.type)!==-1)),this.createFunctionProposals(i,t,!0,r),super.getTermProposals(e,t,r)}getColorProposals(e,t,r){return this.createFunctionProposals(n.colorProposals,t,!1,r),super.getColorProposals(e,t,r)}getCompletionsForDeclarationProperty(e,t){return this.getCompletionsForSelector(null,!0,t),super.getCompletionsForDeclarationProperty(e,t)}};Nt.builtInProposals=[{name:\"if\",example:\"if(condition, trueValue [, falseValue]);\",description:p(\"returns one of two values depending on a condition.\")},{name:\"boolean\",example:\"boolean(condition);\",description:p('\"store\" a boolean test for later evaluation in a guard or if().')},{name:\"length\",example:\"length(@list);\",description:p(\"returns the number of elements in a value list\")},{name:\"extract\",example:\"extract(@list, index);\",description:p(\"returns a value at the specified position in the list\")},{name:\"range\",example:\"range([start, ] end [, step]);\",description:p(\"generate a list spanning a range of values\")},{name:\"each\",example:\"each(@list, ruleset);\",description:p(\"bind the evaluation of a ruleset to each member of a list.\")},{name:\"escape\",example:\"escape(@string);\",description:p(\"URL encodes a string\")},{name:\"e\",example:\"e(@string);\",description:p(\"escape string content\")},{name:\"replace\",example:\"replace(@string, @pattern, @replacement[, @flags]);\",description:p(\"string replace\")},{name:\"unit\",example:\"unit(@dimension, [@unit: '']);\",description:p(\"remove or change the unit of a dimension\")},{name:\"color\",example:\"color(@string);\",description:p(\"parses a string to a color\"),type:\"color\"},{name:\"convert\",example:\"convert(@value, unit);\",description:p(\"converts numbers from one type into another\")},{name:\"data-uri\",example:\"data-uri([mimetype,] url);\",description:p(\"inlines a resource and falls back to `url()`\"),type:\"url\"},{name:\"abs\",description:p(\"absolute value of a number\"),example:\"abs(number);\"},{name:\"acos\",description:p(\"arccosine - inverse of cosine function\"),example:\"acos(number);\"},{name:\"asin\",description:p(\"arcsine - inverse of sine function\"),example:\"asin(number);\"},{name:\"ceil\",example:\"ceil(@number);\",description:p(\"rounds up to an integer\")},{name:\"cos\",description:p(\"cosine function\"),example:\"cos(number);\"},{name:\"floor\",description:p(\"rounds down to an integer\"),example:\"floor(@number);\"},{name:\"percentage\",description:p(\"converts to a %, e.g. 0.5 > 50%\"),example:\"percentage(@number);\",type:\"percentage\"},{name:\"round\",description:p(\"rounds a number to a number of places\"),example:\"round(number, [places: 0]);\"},{name:\"sqrt\",description:p(\"calculates square root of a number\"),example:\"sqrt(number);\"},{name:\"sin\",description:p(\"sine function\"),example:\"sin(number);\"},{name:\"tan\",description:p(\"tangent function\"),example:\"tan(number);\"},{name:\"atan\",description:p(\"arctangent - inverse of tangent function\"),example:\"atan(number);\"},{name:\"pi\",description:p(\"returns pi\"),example:\"pi();\"},{name:\"pow\",description:p(\"first argument raised to the power of the second argument\"),example:\"pow(@base, @exponent);\"},{name:\"mod\",description:p(\"first argument modulus second argument\"),example:\"mod(number, number);\"},{name:\"min\",description:p(\"returns the lowest of one or more values\"),example:\"min(@x, @y);\"},{name:\"max\",description:p(\"returns the lowest of one or more values\"),example:\"max(@x, @y);\"}];Nt.colorProposals=[{name:\"argb\",example:\"argb(@color);\",description:p(\"creates a #AARRGGBB\")},{name:\"hsl\",example:\"hsl(@hue, @saturation, @lightness);\",description:p(\"creates a color\")},{name:\"hsla\",example:\"hsla(@hue, @saturation, @lightness, @alpha);\",description:p(\"creates a color\")},{name:\"hsv\",example:\"hsv(@hue, @saturation, @value);\",description:p(\"creates a color\")},{name:\"hsva\",example:\"hsva(@hue, @saturation, @value, @alpha);\",description:p(\"creates a color\")},{name:\"hue\",example:\"hue(@color);\",description:p(\"returns the `hue` channel of `@color` in the HSL space\")},{name:\"saturation\",example:\"saturation(@color);\",description:p(\"returns the `saturation` channel of `@color` in the HSL space\")},{name:\"lightness\",example:\"lightness(@color);\",description:p(\"returns the `lightness` channel of `@color` in the HSL space\")},{name:\"hsvhue\",example:\"hsvhue(@color);\",description:p(\"returns the `hue` channel of `@color` in the HSV space\")},{name:\"hsvsaturation\",example:\"hsvsaturation(@color);\",description:p(\"returns the `saturation` channel of `@color` in the HSV space\")},{name:\"hsvvalue\",example:\"hsvvalue(@color);\",description:p(\"returns the `value` channel of `@color` in the HSV space\")},{name:\"red\",example:\"red(@color);\",description:p(\"returns the `red` channel of `@color`\")},{name:\"green\",example:\"green(@color);\",description:p(\"returns the `green` channel of `@color`\")},{name:\"blue\",example:\"blue(@color);\",description:p(\"returns the `blue` channel of `@color`\")},{name:\"alpha\",example:\"alpha(@color);\",description:p(\"returns the `alpha` channel of `@color`\")},{name:\"luma\",example:\"luma(@color);\",description:p(\"returns the `luma` value (perceptual brightness) of `@color`\")},{name:\"saturate\",example:\"saturate(@color, 10%);\",description:p(\"return `@color` 10% points more saturated\")},{name:\"desaturate\",example:\"desaturate(@color, 10%);\",description:p(\"return `@color` 10% points less saturated\")},{name:\"lighten\",example:\"lighten(@color, 10%);\",description:p(\"return `@color` 10% points lighter\")},{name:\"darken\",example:\"darken(@color, 10%);\",description:p(\"return `@color` 10% points darker\")},{name:\"fadein\",example:\"fadein(@color, 10%);\",description:p(\"return `@color` 10% points less transparent\")},{name:\"fadeout\",example:\"fadeout(@color, 10%);\",description:p(\"return `@color` 10% points more transparent\")},{name:\"fade\",example:\"fade(@color, 50%);\",description:p(\"return `@color` with 50% transparency\")},{name:\"spin\",example:\"spin(@color, 10);\",description:p(\"return `@color` with a 10 degree larger in hue\")},{name:\"mix\",example:\"mix(@color1, @color2, [@weight: 50%]);\",description:p(\"return a mix of `@color1` and `@color2`\")},{name:\"greyscale\",example:\"greyscale(@color);\",description:p(\"returns a grey, 100% desaturated color\")},{name:\"contrast\",example:\"contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]);\",description:p(\"return `@darkcolor` if `@color1 is> 43% luma` otherwise return `@lightcolor`, see notes\")},{name:\"multiply\",example:\"multiply(@color1, @color2);\"},{name:\"screen\",example:\"screen(@color1, @color2);\"},{name:\"overlay\",example:\"overlay(@color1, @color2);\"},{name:\"softlight\",example:\"softlight(@color1, @color2);\"},{name:\"hardlight\",example:\"hardlight(@color1, @color2);\"},{name:\"difference\",example:\"difference(@color1, @color2);\"},{name:\"exclusion\",example:\"exclusion(@color1, @color2);\"},{name:\"average\",example:\"average(@color1, @color2);\"},{name:\"negation\",example:\"negation(@color1, @color2);\"}];function co(n,e){let t=ja(n);return Ba(t,e)}function ja(n){function e(h){return n.positionAt(h.offset).line}function t(h){return n.positionAt(h.offset+h.len).line}function r(){switch(n.languageId){case\"scss\":return new zt;case\"less\":return new Tt;default:return new ce}}function i(h,u){let w=e(h),b=t(h);return w!==b?{startLine:w,endLine:b,kind:u}:null}let s=[],a=[],l=r();l.ignoreComment=!1,l.setSource(n.getText());let o=l.scan(),d=null;for(;o.type!==c.EOF;){switch(o.type){case c.CurlyL:case Mt:{a.push({line:e(o),type:\"brace\",isStart:!0});break}case c.CurlyR:{if(a.length!==0){let h=lo(a,\"brace\");if(!h)break;let u=t(o);h.type===\"brace\"&&(d&&t(d)!==u&&u--,h.line!==u&&s.push({startLine:h.line,endLine:u,kind:void 0}))}break}case c.Comment:{let h=b=>b===\"#region\"?{line:e(o),type:\"comment\",isStart:!0}:{line:t(o),type:\"comment\",isStart:!1},w=(b=>{let y=b.text.match(/^\\s*\\/\\*\\s*(#region|#endregion)\\b\\s*(.*?)\\s*\\*\\//);if(y)return h(y[1]);if(n.languageId===\"scss\"||n.languageId===\"less\"){let E=b.text.match(/^\\s*\\/\\/\\s*(#region|#endregion)\\b\\s*(.*?)\\s*/);if(E)return h(E[1])}return null})(o);if(w)if(w.isStart)a.push(w);else{let b=lo(a,\"comment\");if(!b)break;b.type===\"comment\"&&b.line!==w.line&&s.push({startLine:b.line,endLine:w.line,kind:\"region\"})}else{let b=i(o,\"comment\");b&&s.push(b)}break}}d=o,o=l.scan()}return s}function lo(n,e){if(n.length===0)return null;for(let t=n.length-1;t>=0;t--)if(n[t].type===e&&n[t].isStart)return n.splice(t,1)[0];return null}function Ba(n,e){let t=e&&e.rangeLimit||Number.MAX_VALUE,r=n.sort((a,l)=>{let o=a.startLine-l.startLine;return o===0&&(o=a.endLine-l.endLine),o}),i=[],s=-1;return r.forEach(a=>{a.startLine<s&&s<a.endLine||(i.push(a),s=a.endLine)}),i.length<t?i:i.slice(0,t)}var ho;(function(){\"use strict\";var n=[,,function(i){function s(o){this.__parent=o,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}s.prototype.clone_empty=function(){var o=new s(this.__parent);return o.set_indent(this.__indent_count,this.__alignment_count),o},s.prototype.item=function(o){return o<0?this.__items[this.__items.length+o]:this.__items[o]},s.prototype.has_match=function(o){for(var d=this.__items.length-1;d>=0;d--)if(this.__items[d].match(o))return!0;return!1},s.prototype.set_indent=function(o,d){this.is_empty()&&(this.__indent_count=o||0,this.__alignment_count=d||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},s.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},s.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},s.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var o=this.__parent.current_line;return o.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),o.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),o.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,o.__items[0]===\" \"&&(o.__items.splice(0,1),o.__character_count-=1),!0}return!1},s.prototype.is_empty=function(){return this.__items.length===0},s.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},s.prototype.push=function(o){this.__items.push(o);var d=o.lastIndexOf(`\n`);d!==-1?this.__character_count=o.length-d:this.__character_count+=o.length},s.prototype.pop=function(){var o=null;return this.is_empty()||(o=this.__items.pop(),this.__character_count-=o.length),o},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===\" \";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var o=\"\";return this.is_empty()?this.__parent.indent_empty_lines&&(o=this.__parent.get_indent_string(this.__indent_count)):(o=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),o+=this.__items.join(\"\")),o};function a(o,d){this.__cache=[\"\"],this.__indent_size=o.indent_size,this.__indent_string=o.indent_char,o.indent_with_tabs||(this.__indent_string=new Array(o.indent_size+1).join(o.indent_char)),d=d||\"\",o.indent_level>0&&(d=new Array(o.indent_level+1).join(this.__indent_string)),this.__base_string=d,this.__base_string_length=d.length}a.prototype.get_indent_size=function(o,d){var h=this.__base_string_length;return d=d||0,o<0&&(h=0),h+=o*this.__indent_size,h+=d,h},a.prototype.get_indent_string=function(o,d){var h=this.__base_string;return d=d||0,o<0&&(o=0,h=\"\"),d+=o*this.__indent_size,this.__ensure_cache(d),h+=this.__cache[d],h},a.prototype.__ensure_cache=function(o){for(;o>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var o=this.__cache.length,d=0,h=\"\";this.__indent_size&&o>=this.__indent_size&&(d=Math.floor(o/this.__indent_size),o-=d*this.__indent_size,h=new Array(d+1).join(this.__indent_string)),o&&(h+=new Array(o+1).join(\" \")),this.__cache.push(h)};function l(o,d){this.__indent_cache=new a(o,d),this.raw=!1,this._end_with_newline=o.end_with_newline,this.indent_size=o.indent_size,this.wrap_line_length=o.wrap_line_length,this.indent_empty_lines=o.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}l.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},l.prototype.get_line_number=function(){return this.__lines.length},l.prototype.get_indent_string=function(o,d){return this.__indent_cache.get_indent_string(o,d)},l.prototype.get_indent_size=function(o,d){return this.__indent_cache.get_indent_size(o,d)},l.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},l.prototype.add_new_line=function(o){return this.is_empty()||!o&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},l.prototype.get_code=function(o){this.trim(!0);var d=this.current_line.pop();d&&(d[d.length-1]===`\n`&&(d=d.replace(/\\n+$/g,\"\")),this.current_line.push(d)),this._end_with_newline&&this.__add_outputline();var h=this.__lines.join(`\n`);return o!==`\n`&&(h=h.replace(/[\\n]/g,o)),h},l.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},l.prototype.set_indent=function(o,d){return o=o||0,d=d||0,this.next_line.set_indent(o,d),this.__lines.length>1?(this.current_line.set_indent(o,d),!0):(this.current_line.set_indent(),!1)},l.prototype.add_raw_token=function(o){for(var d=0;d<o.newlines;d++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(o.whitespace_before),this.current_line.push(o.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},l.prototype.add_token=function(o){this.__add_space_before_token(),this.current_line.push(o),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},l.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(\" \"))},l.prototype.remove_indent=function(o){for(var d=this.__lines.length;o<d;)this.__lines[o]._remove_indent(),o++;this.current_line._remove_wrap_indent()},l.prototype.trim=function(o){for(o=o===void 0?!1:o,this.current_line.trim();o&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},l.prototype.just_added_newline=function(){return this.current_line.is_empty()},l.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},l.prototype.ensure_empty_line_above=function(o,d){for(var h=this.__lines.length-2;h>=0;){var u=this.__lines[h];if(u.is_empty())break;if(u.item(0).indexOf(o)!==0&&u.item(-1)!==d){this.__lines.splice(h+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}h--}},i.exports.Output=l},,,,function(i){function s(o,d){this.raw_options=a(o,d),this.disabled=this._get_boolean(\"disabled\"),this.eol=this._get_characters(\"eol\",\"auto\"),this.end_with_newline=this._get_boolean(\"end_with_newline\"),this.indent_size=this._get_number(\"indent_size\",4),this.indent_char=this._get_characters(\"indent_char\",\" \"),this.indent_level=this._get_number(\"indent_level\"),this.preserve_newlines=this._get_boolean(\"preserve_newlines\",!0),this.max_preserve_newlines=this._get_number(\"max_preserve_newlines\",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean(\"indent_with_tabs\",this.indent_char===\"\t\"),this.indent_with_tabs&&(this.indent_char=\"\t\",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number(\"wrap_line_length\",this._get_number(\"max_char\")),this.indent_empty_lines=this._get_boolean(\"indent_empty_lines\"),this.templating=this._get_selection_list(\"templating\",[\"auto\",\"none\",\"angular\",\"django\",\"erb\",\"handlebars\",\"php\",\"smarty\"],[\"auto\"])}s.prototype._get_array=function(o,d){var h=this.raw_options[o],u=d||[];return typeof h==\"object\"?h!==null&&typeof h.concat==\"function\"&&(u=h.concat()):typeof h==\"string\"&&(u=h.split(/[^a-zA-Z0-9_\\/\\-]+/)),u},s.prototype._get_boolean=function(o,d){var h=this.raw_options[o],u=h===void 0?!!d:!!h;return u},s.prototype._get_characters=function(o,d){var h=this.raw_options[o],u=d||\"\";return typeof h==\"string\"&&(u=h.replace(/\\\\r/,\"\\r\").replace(/\\\\n/,`\n`).replace(/\\\\t/,\"\t\")),u},s.prototype._get_number=function(o,d){var h=this.raw_options[o];d=parseInt(d,10),isNaN(d)&&(d=0);var u=parseInt(h,10);return isNaN(u)&&(u=d),u},s.prototype._get_selection=function(o,d,h){var u=this._get_selection_list(o,d,h);if(u.length!==1)throw new Error(\"Invalid Option Value: The option '\"+o+`' can only be one of the following values:\n`+d+`\nYou passed in: '`+this.raw_options[o]+\"'\");return u[0]},s.prototype._get_selection_list=function(o,d,h){if(!d||d.length===0)throw new Error(\"Selection list cannot be empty.\");if(h=h||[d[0]],!this._is_valid_selection(h,d))throw new Error(\"Invalid Default Value!\");var u=this._get_array(o,h);if(!this._is_valid_selection(u,d))throw new Error(\"Invalid Option Value: The option '\"+o+`' can contain only the following values:\n`+d+`\nYou passed in: '`+this.raw_options[o]+\"'\");return u},s.prototype._is_valid_selection=function(o,d){return o.length&&d.length&&!o.some(function(h){return d.indexOf(h)===-1})};function a(o,d){var h={};o=l(o);var u;for(u in o)u!==d&&(h[u]=o[u]);if(d&&o[d])for(u in o[d])h[u]=o[d][u];return h}function l(o){var d={},h;for(h in o){var u=h.replace(/-/g,\"_\");d[u]=o[h]}return d}i.exports.Options=s,i.exports.normalizeOpts=l,i.exports.mergeOpts=a},,function(i){var s=RegExp.prototype.hasOwnProperty(\"sticky\");function a(l){this.__input=l||\"\",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var l=null;return this.hasNext()&&(l=this.__input.charAt(this.__position),this.__position+=1),l},a.prototype.peek=function(l){var o=null;return l=l||0,l+=this.__position,l>=0&&l<this.__input_length&&(o=this.__input.charAt(l)),o},a.prototype.__match=function(l,o){l.lastIndex=o;var d=l.exec(this.__input);return d&&!(s&&l.sticky)&&d.index!==o&&(d=null),d},a.prototype.test=function(l,o){return o=o||0,o+=this.__position,o>=0&&o<this.__input_length?!!this.__match(l,o):!1},a.prototype.testChar=function(l,o){var d=this.peek(o);return l.lastIndex=0,d!==null&&l.test(d)},a.prototype.match=function(l){var o=this.__match(l,this.__position);return o?this.__position+=o[0].length:o=null,o},a.prototype.read=function(l,o,d){var h=\"\",u;return l&&(u=this.match(l),u&&(h+=u[0])),o&&(u||!l)&&(h+=this.readUntil(o,d)),h},a.prototype.readUntil=function(l,o){var d=\"\",h=this.__position;l.lastIndex=this.__position;var u=l.exec(this.__input);return u?(h=u.index,o&&(h+=u[0].length)):h=this.__input_length,d=this.__input.substring(this.__position,h),this.__position=h,d},a.prototype.readUntilAfter=function(l){return this.readUntil(l,!0)},a.prototype.get_regexp=function(l,o){var d=null,h=\"g\";return o&&s&&(h=\"y\"),typeof l==\"string\"&&l!==\"\"?d=new RegExp(l,h):l&&(d=new RegExp(l.source,h)),d},a.prototype.get_literal_regexp=function(l){return RegExp(l.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"))},a.prototype.peekUntilAfter=function(l){var o=this.__position,d=this.readUntilAfter(l);return this.__position=o,d},a.prototype.lookBack=function(l){var o=this.__position-1;return o>=l.length&&this.__input.substring(o-l.length,o).toLowerCase()===l},i.exports.InputScanner=a},,,,,function(i){function s(a,l){a=typeof a==\"string\"?a:a.source,l=typeof l==\"string\"?l:l.source,this.__directives_block_pattern=new RegExp(a+/ beautify( \\w+[:]\\w+)+ /.source+l,\"g\"),this.__directive_pattern=/ (\\w+)[:](\\w+)/g,this.__directives_end_ignore_pattern=new RegExp(a+/\\sbeautify\\signore:end\\s/.source+l,\"g\")}s.prototype.get_directives=function(a){if(!a.match(this.__directives_block_pattern))return null;var l={};this.__directive_pattern.lastIndex=0;for(var o=this.__directive_pattern.exec(a);o;)l[o[1]]=o[2],o=this.__directive_pattern.exec(a);return l},s.prototype.readIgnored=function(a){return a.readUntilAfter(this.__directives_end_ignore_pattern)},i.exports.Directives=s},,function(i,s,a){var l=a(16).Beautifier,o=a(17).Options;function d(h,u){var w=new l(h,u);return w.beautify()}i.exports=d,i.exports.defaultOptions=function(){return new o}},function(i,s,a){var l=a(17).Options,o=a(2).Output,d=a(8).InputScanner,h=a(13).Directives,u=new h(/\\/\\*/,/\\*\\//),w=/\\r\\n|[\\r\\n]/,b=/\\r\\n|[\\r\\n]/g,y=/\\s/,E=/(?:\\s|\\n)+/g,A=/\\/\\*(?:[\\s\\S]*?)((?:\\*\\/)|$)/g,I=/\\/\\/(?:[^\\n\\r\\u2028\\u2029]*)/g;function P(T,j){this._source_text=T||\"\",this._options=new l(j),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,\"font-face\":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=[\"grid-template-areas\",\"grid-template\"]}P.prototype.eatString=function(T){var j=\"\";for(this._ch=this._input.next();this._ch;){if(j+=this._ch,this._ch===\"\\\\\")j+=this._input.next();else if(T.indexOf(this._ch)!==-1||this._ch===`\n`)break;this._ch=this._input.next()}return j},P.prototype.eatWhitespace=function(T){for(var j=y.test(this._input.peek()),X=0;y.test(this._input.peek());)this._ch=this._input.next(),T&&this._ch===`\n`&&(X===0||X<this._options.max_preserve_newlines)&&(X++,this._output.add_new_line(!0));return j},P.prototype.foundNestedPseudoClass=function(){for(var T=0,j=1,X=this._input.peek(j);X;){if(X===\"{\")return!0;if(X===\"(\")T+=1;else if(X===\")\"){if(T===0)return!1;T-=1}else if(X===\";\"||X===\"}\")return!1;j++,X=this._input.peek(j)}return!1},P.prototype.print_string=function(T){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(T)},P.prototype.preserveSingleSpace=function(T){T&&(this._output.space_before_token=!0)},P.prototype.indent=function(){this._indentLevel++},P.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},P.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var T=this._source_text,j=this._options.eol;j===\"auto\"&&(j=`\n`,T&&w.test(T||\"\")&&(j=T.match(w)[0])),T=T.replace(b,`\n`);var X=T.match(/^[\\t ]*/)[0];this._output=new o(this._options,X),this._input=new d(T),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var Y=0,$e=!1,K=!1,_e=!1,Ie=!1,S=!1,v=this._ch,F=!1,C,N,D;C=this._input.read(E),N=C!==\"\",D=v,this._ch=this._input.next(),this._ch===\"\\\\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),v=this._ch,this._ch;)if(this._ch===\"/\"&&this._input.peek()===\"*\"){this._output.add_new_line(),this._input.back();var M=this._input.read(A),oe=u.get_directives(M);oe&&oe.ignore===\"start\"&&(M+=u.readIgnored(this._input)),this.print_string(M),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch===\"/\"&&this._input.peek()===\"/\")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(I)),this.eatWhitespace(!0);else if(this._ch===\"$\"){this.preserveSingleSpace(N),this.print_string(this._ch);var Z=this._input.peekUntilAfter(/[: ,;{}()[\\]\\/='\"]/g);Z.match(/[ :]$/)&&(Z=this.eatString(\": \").replace(/\\s+$/,\"\"),this.print_string(Z),this._output.space_before_token=!0),Y===0&&Z.indexOf(\":\")!==-1&&(K=!0,this.indent())}else if(this._ch===\"@\")if(this.preserveSingleSpace(N),this._input.peek()===\"{\")this.print_string(this._ch+this.eatString(\"}\"));else{this.print_string(this._ch);var $=this._input.peekUntilAfter(/[: ,;{}()[\\]\\/='\"]/g);$.match(/[ :]$/)&&($=this.eatString(\": \").replace(/\\s+$/,\"\"),this.print_string($),this._output.space_before_token=!0),Y===0&&$.indexOf(\":\")!==-1?(K=!0,this.indent()):$ in this.NESTED_AT_RULE?(this._nestedLevel+=1,$ in this.CONDITIONAL_GROUP_RULE&&(_e=!0)):Y===0&&!K&&(Ie=!0)}else if(this._ch===\"#\"&&this._input.peek()===\"{\")this.preserveSingleSpace(N),this.print_string(this._ch+this.eatString(\"}\"));else if(this._ch===\"{\")K&&(K=!1,this.outdent()),Ie=!1,_e?(_e=!1,$e=this._indentLevel>=this._nestedLevel):$e=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&$e&&this._output.previous_line&&this._output.previous_line.item(-1)!==\"{\"&&this._output.ensure_empty_line_above(\"/\",\",\"),this._output.space_before_token=!0,this._options.brace_style===\"expand\"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(D===\"(\"?this._output.space_before_token=!1:D!==\",\"&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch===\"}\")this.outdent(),this._output.add_new_line(),D===\"{\"&&this._output.trim(!0),K&&(this.outdent(),K=!1),this.print_string(this._ch),$e=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!==\"}\"&&this._output.add_new_line(!0),this._input.peek()===\")\"&&(this._output.trim(!0),this._options.brace_style===\"expand\"&&this._output.add_new_line(!0));else if(this._ch===\":\"){for(var Ue=0;Ue<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;Ue++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[Ue])){F=!0;break}($e||_e)&&!(this._input.lookBack(\"&\")||this.foundNestedPseudoClass())&&!this._input.lookBack(\"(\")&&!Ie&&Y===0?(this.print_string(\":\"),K||(K=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(\" \")&&(this._output.space_before_token=!0),this._input.peek()===\":\"?(this._ch=this._input.next(),this.print_string(\"::\")):this.print_string(\":\"))}else if(this._ch==='\"'||this._ch===\"'\"){var So=D==='\"'||D===\"'\";this.preserveSingleSpace(So||N),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===\";\")F=!1,Y===0?(K&&(this.outdent(),K=!1),Ie=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!==\"/\"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch===\"(\")if(this._input.lookBack(\"url\"))this.print_string(this._ch),this.eatWhitespace(),Y++,this.indent(),this._ch=this._input.next(),this._ch===\")\"||this._ch==='\"'||this._ch===\"'\"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(\")\")),Y&&(Y--,this.outdent()));else{var Oi=!1;this._input.lookBack(\"with\")&&(Oi=!0),this.preserveSingleSpace(N||Oi),this.print_string(this._ch),K&&D===\"$\"&&this._options.selector_separator_newline?(this._output.add_new_line(),S=!0):(this.eatWhitespace(),Y++,this.indent())}else if(this._ch===\")\")Y&&(Y--,this.outdent()),S&&this._input.peek()===\";\"&&this._options.selector_separator_newline&&(S=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===\",\")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!K||S)&&Y===0&&!Ie?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===\">\"||this._ch===\"+\"||this._ch===\"~\")&&!K&&Y===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&y.test(this._ch)&&(this._ch=\"\"));else if(this._ch===\"]\")this.print_string(this._ch);else if(this._ch===\"[\")this.preserveSingleSpace(N),this.print_string(this._ch);else if(this._ch===\"=\")this.eatWhitespace(),this.print_string(\"=\"),y.test(this._ch)&&(this._ch=\"\");else if(this._ch===\"!\"&&!this._input.lookBack(\"\\\\\"))this._output.space_before_token=!0,this.print_string(this._ch);else{var Co=D==='\"'||D===\"'\";this.preserveSingleSpace(Co||N),this.print_string(this._ch),!this._output.just_added_newline()&&this._input.peek()===`\n`&&F&&this._output.add_new_line()}var ko=this._output.get_code(j);return ko},i.exports.Beautifier=P},function(i,s,a){var l=a(6).Options;function o(d){l.call(this,d,\"css\"),this.selector_separator_newline=this._get_boolean(\"selector_separator_newline\",!0),this.newline_between_rules=this._get_boolean(\"newline_between_rules\",!0);var h=this._get_boolean(\"space_around_selector_separator\");this.space_around_combinator=this._get_boolean(\"space_around_combinator\")||h;var u=this._get_selection_list(\"brace_style\",[\"collapse\",\"expand\",\"end-expand\",\"none\",\"preserve-inline\"]);this.brace_style=\"collapse\";for(var w=0;w<u.length;w++)u[w]!==\"expand\"?this.brace_style=\"collapse\":this.brace_style=u[w]}o.prototype=new l,i.exports.Options=o}],e={};function t(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return n[i](a,a.exports,t),a.exports}var r=t(15);ho=r})();var po=ho;function go(n,e,t){let r=n.getText(),i=!0,s=0,a=!1,l=t.tabSize||4;if(e){let h=n.offsetAt(e.start),u=h;for(;u>0&&fo(r,u-1);)u--;u===0||uo(r,u-1)?h=u:u<h&&(h=u+1);let w=n.offsetAt(e.end),b=w;for(;b<r.length&&fo(r,b);)b++;if((b===r.length||uo(r,b))&&(w=b),e=R.create(n.positionAt(h),n.positionAt(w)),a=Ga(r,h),i=w===r.length,r=r.substring(h,w),h!==0){let y=n.offsetAt(H.create(e.start.line,0));s=Ha(n.getText(),y,t)}a&&(r=`{\n${mo(r)}`)}else e=R.create(H.create(0,0),n.positionAt(r.length));let o={indent_size:l,indent_char:t.insertSpaces?\" \":\"\t\",end_with_newline:i&&Le(t,\"insertFinalNewline\",!1),selector_separator_newline:Le(t,\"newlineBetweenSelectors\",!0),newline_between_rules:Le(t,\"newlineBetweenRules\",!0),space_around_selector_separator:Le(t,\"spaceAroundSelectorSeparator\",!1),brace_style:Le(t,\"braceStyle\",\"collapse\"),indent_empty_lines:Le(t,\"indentEmptyLines\",!1),max_preserve_newlines:Le(t,\"maxPreserveNewLines\",void 0),preserve_newlines:Le(t,\"preserveNewLines\",!0),wrap_line_length:Le(t,\"wrapLineLength\",void 0),eol:`\n`},d=po(r,o);if(a&&(d=mo(d.substring(2))),s>0){let h=t.insertSpaces?Mr(\" \",l*s):Mr(\"\t\",s);d=d.split(`\n`).join(`\n`+h),e.start.character===0&&(d=h+d)}return[{range:e,newText:d}]}function mo(n){return n.replace(/^\\s+/,\"\")}var qa=123,Ka=125;function Ga(n,e){for(;e>=0;){let t=n.charCodeAt(e);if(t===qa)return!0;if(t===Ka)return!1;e--}return!1}function Le(n,e,t){if(n&&n.hasOwnProperty(e)){let r=n[e];if(r!==null)return r}return t}function Ha(n,e,t){let r=e,i=0,s=t.tabSize||4;for(;r<n.length;){let a=n.charAt(r);if(a===\" \")i++;else if(a===\"\t\")i+=s;else break;r++}return Math.floor(i/s)}function uo(n,e){return`\\r\n`.indexOf(n.charAt(e))!==-1}function fo(n,e){return\" \t\".indexOf(n.charAt(e))!==-1}var Mi={version:1.1,properties:[{name:\"additive-symbols\",browsers:[\"FF33\"],atRule:\"@counter-style\",syntax:\"[ <integer> && <symbol> ]#\",relevance:50,description:\"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.\",restrictions:[\"integer\",\"string\",\"image\",\"identifier\"]},{name:\"align-content\",browsers:[\"E12\",\"FF28\",\"S9\",\"C29\",\"IE11\",\"O16\"],values:[{name:\"center\",description:\"Lines are packed toward the center of the flex container.\"},{name:\"flex-end\",description:\"Lines are packed toward the end of the flex container.\"},{name:\"flex-start\",description:\"Lines are packed toward the start of the flex container.\"},{name:\"space-around\",description:\"Lines are evenly distributed in the flex container, with half-size spaces on either end.\"},{name:\"space-between\",description:\"Lines are evenly distributed in the flex container.\"},{name:\"stretch\",description:\"Lines stretch to take up the remaining space.\"},{name:\"start\"},{name:\"end\"},{name:\"normal\"},{name:\"baseline\"},{name:\"first baseline\"},{name:\"last baseline\"},{name:\"space-around\"},{name:\"space-between\"},{name:\"space-evenly\"},{name:\"stretch\"},{name:\"safe\"},{name:\"unsafe\"}],syntax:\"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>\",relevance:66,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/align-content\"}],description:\"Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.\",restrictions:[\"enum\"]},{name:\"align-items\",browsers:[\"E12\",\"FF20\",\"S9\",\"C29\",\"IE11\",\"O16\"],values:[{name:\"baseline\",description:\"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment.\"},{name:\"center\",description:\"The flex item's margin box is centered in the cross axis within the line.\"},{name:\"flex-end\",description:\"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line.\"},{name:\"flex-start\",description:\"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line.\"},{name:\"stretch\",description:\"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.\"},{name:\"normal\"},{name:\"start\"},{name:\"end\"},{name:\"self-start\"},{name:\"self-end\"},{name:\"first baseline\"},{name:\"last baseline\"},{name:\"stretch\"},{name:\"safe\"},{name:\"unsafe\"}],syntax:\"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]\",relevance:87,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/align-items\"}],description:\"Aligns flex items along the cross axis of the current line of the flex container.\",restrictions:[\"enum\"]},{name:\"justify-items\",browsers:[\"E12\",\"FF20\",\"S9\",\"C52\",\"IE11\",\"O12.1\"],values:[{name:\"auto\"},{name:\"normal\"},{name:\"end\"},{name:\"start\"},{name:\"flex-end\",description:'\"Flex items are packed toward the end of the line.\"'},{name:\"flex-start\",description:'\"Flex items are packed toward the start of the line.\"'},{name:\"self-end\",description:\"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis.\"},{name:\"self-start\",description:\"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis..\"},{name:\"center\",description:\"The items are packed flush to each other toward the center of the of the alignment container.\"},{name:\"left\"},{name:\"right\"},{name:\"baseline\"},{name:\"first baseline\"},{name:\"last baseline\"},{name:\"stretch\",description:\"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.\"},{name:\"safe\"},{name:\"unsafe\"},{name:\"legacy\"}],syntax:\"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/justify-items\"}],description:\"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis\",restrictions:[\"enum\"]},{name:\"justify-self\",browsers:[\"E16\",\"FF45\",\"S10.1\",\"C57\",\"IE10\",\"O44\"],values:[{name:\"auto\"},{name:\"normal\"},{name:\"end\"},{name:\"start\"},{name:\"flex-end\",description:'\"Flex items are packed toward the end of the line.\"'},{name:\"flex-start\",description:'\"Flex items are packed toward the start of the line.\"'},{name:\"self-end\",description:\"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis.\"},{name:\"self-start\",description:\"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis..\"},{name:\"center\",description:\"The items are packed flush to each other toward the center of the of the alignment container.\"},{name:\"left\"},{name:\"right\"},{name:\"baseline\"},{name:\"first baseline\"},{name:\"last baseline\"},{name:\"stretch\",description:\"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.\"},{name:\"save\"},{name:\"unsave\"}],syntax:\"auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/justify-self\"}],description:\"Defines the way of justifying a box inside its container along the appropriate axis.\",restrictions:[\"enum\"]},{name:\"align-self\",browsers:[\"E12\",\"FF20\",\"S9\",\"C29\",\"IE10\",\"O12.1\"],values:[{name:\"auto\",description:\"Computes to the value of 'align-items' on the element's parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself.\"},{name:\"normal\"},{name:\"self-end\"},{name:\"self-start\"},{name:\"baseline\",description:\"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment.\"},{name:\"center\",description:\"The flex item's margin box is centered in the cross axis within the line.\"},{name:\"flex-end\",description:\"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line.\"},{name:\"flex-start\",description:\"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line.\"},{name:\"stretch\",description:\"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.\"},{name:\"baseline\"},{name:\"first baseline\"},{name:\"last baseline\"},{name:\"safe\"},{name:\"unsafe\"}],syntax:\"auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>\",relevance:73,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/align-self\"}],description:\"Allows the default alignment along the cross axis to be overridden for individual flex items.\",restrictions:[\"enum\"]},{name:\"all\",browsers:[\"E79\",\"FF27\",\"S9.1\",\"C37\",\"O24\"],values:[],syntax:\"initial | inherit | unset | revert | revert-layer\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/all\"}],description:\"Shorthand that resets all properties except 'direction' and 'unicode-bidi'.\",restrictions:[\"enum\"]},{name:\"alt\",browsers:[\"S9\"],values:[],relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/alt\"}],description:\"Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.\",restrictions:[\"string\",\"enum\"]},{name:\"animation\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],values:[{name:\"alternate\",description:\"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.\"},{name:\"alternate-reverse\",description:\"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.\"},{name:\"backwards\",description:\"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.\"},{name:\"both\",description:\"Both forwards and backwards fill modes are applied.\"},{name:\"forwards\",description:\"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.\"},{name:\"infinite\",description:\"Causes the animation to repeat forever.\"},{name:\"none\",description:\"No animation is performed\"},{name:\"normal\",description:\"Normal playback.\"},{name:\"reverse\",description:\"All iterations of the animation are played in the reverse direction from the way they were specified.\"}],syntax:\"<single-animation>#\",relevance:82,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation\"}],description:\"Shorthand property combines six of the animation properties into a single property.\",restrictions:[\"time\",\"timing-function\",\"enum\",\"identifier\",\"number\"]},{name:\"animation-delay\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],syntax:\"<time>#\",relevance:66,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-delay\"}],description:\"Defines when the animation will start.\",restrictions:[\"time\"]},{name:\"animation-direction\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],values:[{name:\"alternate\",description:\"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.\"},{name:\"alternate-reverse\",description:\"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.\"},{name:\"normal\",description:\"Normal playback.\"},{name:\"reverse\",description:\"All iterations of the animation are played in the reverse direction from the way they were specified.\"}],syntax:\"<single-animation-direction>#\",relevance:58,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-direction\"}],description:\"Defines whether or not the animation should play in reverse on alternate cycles.\",restrictions:[\"enum\"]},{name:\"animation-duration\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],syntax:\"<time>#\",relevance:72,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-duration\"}],description:\"Defines the length of time that an animation takes to complete one cycle.\",restrictions:[\"time\"]},{name:\"animation-fill-mode\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],values:[{name:\"backwards\",description:\"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.\"},{name:\"both\",description:\"Both forwards and backwards fill modes are applied.\"},{name:\"forwards\",description:\"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.\"},{name:\"none\",description:\"There is no change to the property value between the time the animation is applied and the time the animation begins playing or after the animation completes.\"}],syntax:\"<single-animation-fill-mode>#\",relevance:65,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode\"}],description:\"Defines what values are applied by the animation outside the time it is executing.\",restrictions:[\"enum\"]},{name:\"animation-iteration-count\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],values:[{name:\"infinite\",description:\"Causes the animation to repeat forever.\"}],syntax:\"<single-animation-iteration-count>#\",relevance:64,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count\"}],description:\"Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.\",restrictions:[\"number\",\"enum\"]},{name:\"animation-name\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],values:[{name:\"none\",description:\"No animation is performed\"}],syntax:\"[ none | <keyframes-name> ]#\",relevance:72,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-name\"}],description:\"Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.\",restrictions:[\"identifier\",\"enum\"]},{name:\"animation-play-state\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],values:[{name:\"paused\",description:\"A running animation will be paused.\"},{name:\"running\",description:\"Resume playback of a paused animation.\"}],syntax:\"<single-animation-play-state>#\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-play-state\"}],description:\"Defines whether the animation is running or paused.\",restrictions:[\"enum\"]},{name:\"animation-timing-function\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],syntax:\"<easing-function>#\",relevance:71,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-timing-function\"}],description:\"Describes how the animation will progress over one cycle of its duration.\",restrictions:[\"timing-function\"]},{name:\"backface-visibility\",browsers:[\"E12\",\"FF16\",\"S15.4\",\"C36\",\"IE10\",\"O23\"],values:[{name:\"hidden\",description:\"Back side is hidden.\"},{name:\"visible\",description:\"Back side is visible.\"}],syntax:\"visible | hidden\",relevance:60,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/backface-visibility\"}],description:\"Determines whether or not the 'back' side of a transformed element is visible when facing the viewer. With an identity transform, the front side of an element faces the viewer.\",restrictions:[\"enum\"]},{name:\"background\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"fixed\",description:\"The background is fixed with regard to the viewport. In paged media where there is no viewport, a 'fixed' background is fixed with respect to the page box and therefore replicated on every page.\"},{name:\"local\",description:\"The background is fixed with regard to the element's contents: if the element has a scrolling mechanism, the background scrolls with the element's contents.\"},{name:\"none\",description:\"A value of 'none' counts as an image layer but draws nothing.\"},{name:\"scroll\",description:\"The background is fixed with regard to the element itself and does not scroll with its contents. (It is effectively attached to the element's border.)\"}],syntax:\"[ <bg-layer> , ]* <final-bg-layer>\",relevance:93,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background\"}],description:\"Shorthand property for setting most background properties at the same place in the style sheet.\",restrictions:[\"enum\",\"image\",\"color\",\"position\",\"length\",\"repeat\",\"percentage\",\"box\"]},{name:\"background-attachment\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"fixed\",description:\"The background is fixed with regard to the viewport. In paged media where there is no viewport, a 'fixed' background is fixed with respect to the page box and therefore replicated on every page.\"},{name:\"local\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],description:\"The background is fixed with regard to the element's contents: if the element has a scrolling mechanism, the background scrolls with the element's contents.\"},{name:\"scroll\",description:\"The background is fixed with regard to the element itself and does not scroll with its contents. (It is effectively attached to the element's border.)\"}],syntax:\"<attachment>#\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-attachment\"}],description:\"Specifies whether the background images are fixed with regard to the viewport ('fixed') or scroll along with the element ('scroll') or its contents ('local').\",restrictions:[\"enum\"]},{name:\"background-blend-mode\",browsers:[\"E79\",\"FF30\",\"S8\",\"C35\",\"O22\"],values:[{name:\"normal\",description:\"Default attribute which specifies no blending\"},{name:\"multiply\",description:\"The source color is multiplied by the destination color and replaces the destination.\"},{name:\"screen\",description:\"Multiplies the complements of the backdrop and source color values, then complements the result.\"},{name:\"overlay\",description:\"Multiplies or screens the colors, depending on the backdrop color value.\"},{name:\"darken\",description:\"Selects the darker of the backdrop and source colors.\"},{name:\"lighten\",description:\"Selects the lighter of the backdrop and source colors.\"},{name:\"color-dodge\",description:\"Brightens the backdrop color to reflect the source color.\"},{name:\"color-burn\",description:\"Darkens the backdrop color to reflect the source color.\"},{name:\"hard-light\",description:\"Multiplies or screens the colors, depending on the source color value.\"},{name:\"soft-light\",description:\"Darkens or lightens the colors, depending on the source color value.\"},{name:\"difference\",description:\"Subtracts the darker of the two constituent colors from the lighter color..\"},{name:\"exclusion\",description:\"Produces an effect similar to that of the Difference mode but lower in contrast.\"},{name:\"hue\",browsers:[\"E79\",\"FF30\",\"S8\",\"C35\",\"O22\"],description:\"Creates a color with the hue of the source color and the saturation and luminosity of the backdrop color.\"},{name:\"saturation\",browsers:[\"E79\",\"FF30\",\"S8\",\"C35\",\"O22\"],description:\"Creates a color with the saturation of the source color and the hue and luminosity of the backdrop color.\"},{name:\"color\",browsers:[\"E79\",\"FF30\",\"S8\",\"C35\",\"O22\"],description:\"Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color.\"},{name:\"luminosity\",browsers:[\"E79\",\"FF30\",\"S8\",\"C35\",\"O22\"],description:\"Creates a color with the luminosity of the source color and the hue and saturation of the backdrop color.\"}],syntax:\"<blend-mode>#\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-blend-mode\"}],description:\"Defines the blending mode of each background layer.\",restrictions:[\"enum\"]},{name:\"background-clip\",browsers:[\"E12\",\"FF4\",\"S5\",\"C1\",\"IE9\",\"O10.5\"],syntax:\"<box>#\",relevance:69,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-clip\"}],description:\"Determines the background painting area.\",restrictions:[\"box\"]},{name:\"background-color\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<color>\",relevance:94,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-color\"}],description:\"Sets the background color of an element.\",restrictions:[\"color\"]},{name:\"background-image\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"none\",description:\"Counts as an image layer but draws nothing.\"}],syntax:\"<bg-image>#\",relevance:88,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-image\"}],description:\"Sets the background image(s) of an element.\",restrictions:[\"image\",\"enum\"]},{name:\"background-origin\",browsers:[\"E12\",\"FF4\",\"S3\",\"C1\",\"IE9\",\"O10.5\"],syntax:\"<box>#\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-origin\"}],description:\"For elements rendered as a single box, specifies the background positioning area. For elements rendered as multiple boxes (e.g., inline boxes on several lines, boxes on several pages) specifies which boxes 'box-decoration-break' operates on to determine the background positioning area(s).\",restrictions:[\"box\"]},{name:\"background-position\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<bg-position>#\",relevance:87,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-position\"}],description:\"Specifies the initial position of the background image(s) (after any resizing) within their corresponding background positioning area.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"background-position-x\",browsers:[\"E12\",\"FF49\",\"S1\",\"C1\",\"IE6\",\"O15\"],values:[{name:\"center\",description:\"Equivalent to '50%' ('left 50%') for the horizontal position if the horizontal position is not otherwise specified, or '50%' ('top 50%') for the vertical position if it is.\"},{name:\"left\",description:\"Equivalent to '0%' for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.\"},{name:\"right\",description:\"Equivalent to '100%' for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.\"}],syntax:\"[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-position-x\"}],description:\"If background images have been specified, this property specifies their initial position (after any resizing) within their corresponding background positioning area.\",restrictions:[\"length\",\"percentage\"]},{name:\"background-position-y\",browsers:[\"E12\",\"FF49\",\"S1\",\"C1\",\"IE6\",\"O15\"],values:[{name:\"bottom\",description:\"Equivalent to '100%' for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.\"},{name:\"center\",description:\"Equivalent to '50%' ('left 50%') for the horizontal position if the horizontal position is not otherwise specified, or '50%' ('top 50%') for the vertical position if it is.\"},{name:\"top\",description:\"Equivalent to '0%' for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset.\"}],syntax:\"[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-position-y\"}],description:\"If background images have been specified, this property specifies their initial position (after any resizing) within their corresponding background positioning area.\",restrictions:[\"length\",\"percentage\"]},{name:\"background-repeat\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[],syntax:\"<repeat-style>#\",relevance:85,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-repeat\"}],description:\"Specifies how background images are tiled after they have been sized and positioned.\",restrictions:[\"repeat\"]},{name:\"background-size\",browsers:[\"E12\",\"FF4\",\"S5\",\"C3\",\"IE9\",\"O10\"],values:[{name:\"auto\",description:\"Resolved by using the image's intrinsic ratio and the size of the other dimension, or failing that, using the image's intrinsic size, or failing that, treating it as 100%.\"},{name:\"contain\",description:\"Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area.\"},{name:\"cover\",description:\"Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area.\"}],syntax:\"<bg-size>#\",relevance:85,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/background-size\"}],description:\"Specifies the size of the background images.\",restrictions:[\"length\",\"percentage\"]},{name:\"behavior\",browsers:[\"IE6\"],relevance:50,description:\"IE only. Used to extend behaviors of the browser.\",restrictions:[\"url\"]},{name:\"block-size\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"Depends on the values of other properties.\"}],syntax:\"<'width'>\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/block-size\"}],description:\"Size of an element in the direction opposite that of the direction specified by 'writing-mode'.\",restrictions:[\"length\",\"percentage\"]},{name:\"border\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<line-width> || <line-style> || <color>\",relevance:95,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border\"}],description:\"Shorthand property for setting border width, style, and color.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-block-end\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-width'> || <'border-top-style'> || <color>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-end\"}],description:\"Logical 'border-bottom'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-block-start\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-width'> || <'border-top-style'> || <color>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-start\"}],description:\"Logical 'border-top'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-block-end-color\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-color'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-color\"}],description:\"Logical 'border-bottom-color'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"color\"]},{name:\"border-block-start-color\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-color'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-color\"}],description:\"Logical 'border-top-color'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"color\"]},{name:\"border-block-end-style\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-style'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-style\"}],description:\"Logical 'border-bottom-style'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"line-style\"]},{name:\"border-block-start-style\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-style'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-style\"}],description:\"Logical 'border-top-style'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"line-style\"]},{name:\"border-block-end-width\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-width'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-width\"}],description:\"Logical 'border-bottom-width'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"line-width\"]},{name:\"border-block-start-width\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-width'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-width\"}],description:\"Logical 'border-top-width'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"line-width\"]},{name:\"border-bottom\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<line-width> || <line-style> || <color>\",relevance:87,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-bottom\"}],description:\"Shorthand property for setting border width, style and color.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-bottom-color\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<'border-top-color'>\",relevance:70,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-color\"}],description:\"Sets the color of the bottom border.\",restrictions:[\"color\"]},{name:\"border-bottom-left-radius\",browsers:[\"E12\",\"FF4\",\"S5\",\"C4\",\"IE9\",\"O10.5\"],syntax:\"<length-percentage>{1,2}\",relevance:74,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius\"}],description:\"Defines the radii of the bottom left outer border edge.\",restrictions:[\"length\",\"percentage\"]},{name:\"border-bottom-right-radius\",browsers:[\"E12\",\"FF4\",\"S5\",\"C4\",\"IE9\",\"O10.5\"],syntax:\"<length-percentage>{1,2}\",relevance:74,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius\"}],description:\"Defines the radii of the bottom right outer border edge.\",restrictions:[\"length\",\"percentage\"]},{name:\"border-bottom-style\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O9.2\"],syntax:\"<line-style>\",relevance:60,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-style\"}],description:\"Sets the style of the bottom border.\",restrictions:[\"line-style\"]},{name:\"border-bottom-width\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<line-width>\",relevance:65,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-width\"}],description:\"Sets the thickness of the bottom border.\",restrictions:[\"length\",\"line-width\"]},{name:\"border-collapse\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE5\",\"O4\"],values:[{name:\"collapse\",description:\"Selects the collapsing borders model.\"},{name:\"separate\",description:\"Selects the separated borders border model.\"}],syntax:\"collapse | separate\",relevance:71,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-collapse\"}],description:\"Selects a table's border model.\",restrictions:[\"enum\"]},{name:\"border-color\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[],syntax:\"<color>{1,4}\",relevance:86,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-color\"}],description:\"The color of the border around all four edges of an element.\",restrictions:[\"color\"]},{name:\"border-image\",browsers:[\"E12\",\"FF15\",\"S6\",\"C16\",\"IE11\",\"O11\"],values:[{name:\"auto\",description:\"If 'auto' is specified then the border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.\"},{name:\"fill\",description:\"Causes the middle part of the border-image to be preserved.\"},{name:\"none\",description:\"Use the border styles.\"},{name:\"repeat\",description:\"The image is tiled (repeated) to fill the area.\"},{name:\"round\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.\"},{name:\"space\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.\"},{name:\"stretch\",description:\"The image is stretched to fill the area.\"},{name:\"url()\"}],syntax:\"<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-image\"}],description:\"Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.\",restrictions:[\"length\",\"percentage\",\"number\",\"url\",\"enum\"]},{name:\"border-image-outset\",browsers:[\"E12\",\"FF15\",\"S6\",\"C15\",\"IE11\",\"O15\"],syntax:\"[ <length> | <number> ]{1,4}\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-image-outset\"}],description:\"The values specify the amount by which the border image area extends beyond the border box on the top, right, bottom, and left sides respectively. If the fourth value is absent, it is the same as the second. If the third one is also absent, it is the same as the first. If the second one is also absent, it is the same as the first. Numbers represent multiples of the corresponding border-width.\",restrictions:[\"length\",\"number\"]},{name:\"border-image-repeat\",browsers:[\"E12\",\"FF15\",\"S6\",\"C15\",\"IE11\",\"O15\"],values:[{name:\"repeat\",description:\"The image is tiled (repeated) to fill the area.\"},{name:\"round\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.\"},{name:\"space\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.\"},{name:\"stretch\",description:\"The image is stretched to fill the area.\"}],syntax:\"[ stretch | repeat | round | space ]{1,2}\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-image-repeat\"}],description:\"Specifies how the images for the sides and the middle part of the border image are scaled and tiled. If the second keyword is absent, it is assumed to be the same as the first.\",restrictions:[\"enum\"]},{name:\"border-image-slice\",browsers:[\"E12\",\"FF15\",\"S6\",\"C15\",\"IE11\",\"O15\"],values:[{name:\"fill\",description:\"Causes the middle part of the border-image to be preserved.\"}],syntax:\"<number-percentage>{1,4} && fill?\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-image-slice\"}],description:\"Specifies inward offsets from the top, right, bottom, and left edges of the image, dividing it into nine regions: four corners, four edges and a middle.\",restrictions:[\"number\",\"percentage\"]},{name:\"border-image-source\",browsers:[\"E12\",\"FF15\",\"S6\",\"C15\",\"IE11\",\"O15\"],values:[{name:\"none\",description:\"Use the border styles.\"}],syntax:\"none | <image>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-image-source\"}],description:\"Specifies an image to use instead of the border styles given by the 'border-style' properties and as an additional background layer for the element. If the value is 'none' or if the image cannot be displayed, the border styles will be used.\",restrictions:[\"image\"]},{name:\"border-image-width\",browsers:[\"E12\",\"FF13\",\"S6\",\"C15\",\"IE11\",\"O15\"],values:[{name:\"auto\",description:\"The border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.\"}],syntax:\"[ <length-percentage> | <number> | auto ]{1,4}\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-image-width\"}],description:\"The four values of 'border-image-width' specify offsets that are used to divide the border image area into nine parts. They represent inward distances from the top, right, bottom, and left sides of the area, respectively.\",restrictions:[\"length\",\"percentage\",\"number\"]},{name:\"border-inline-end\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-width'> || <'border-top-style'> || <color>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end\"}],description:\"Logical 'border-right'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-inline-start\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-width'> || <'border-top-style'> || <color>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start\"}],description:\"Logical 'border-left'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-inline-end-color\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-color'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color\"}],description:\"Logical 'border-right-color'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"color\"]},{name:\"border-inline-start-color\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-color'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color\"}],description:\"Logical 'border-left-color'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"color\"]},{name:\"border-inline-end-style\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-style'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style\"}],description:\"Logical 'border-right-style'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"line-style\"]},{name:\"border-inline-start-style\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-style'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style\"}],description:\"Logical 'border-left-style'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"line-style\"]},{name:\"border-inline-end-width\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-width'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width\"}],description:\"Logical 'border-right-width'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"line-width\"]},{name:\"border-inline-start-width\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'border-top-width'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width\"}],description:\"Logical 'border-left-width'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"line-width\"]},{name:\"border-left\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<line-width> || <line-style> || <color>\",relevance:81,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-left\"}],description:\"Shorthand property for setting border width, style and color\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-left-color\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<color>\",relevance:67,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-left-color\"}],description:\"Sets the color of the left border.\",restrictions:[\"color\"]},{name:\"border-left-style\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O9.2\"],syntax:\"<line-style>\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-left-style\"}],description:\"Sets the style of the left border.\",restrictions:[\"line-style\"]},{name:\"border-left-width\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<line-width>\",relevance:63,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-left-width\"}],description:\"Sets the thickness of the left border.\",restrictions:[\"length\",\"line-width\"]},{name:\"border-radius\",browsers:[\"E12\",\"FF4\",\"S5\",\"C4\",\"IE9\",\"O10.5\"],syntax:\"<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?\",relevance:92,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-radius\"}],description:\"Defines the radii of the outer border edge.\",restrictions:[\"length\",\"percentage\"]},{name:\"border-right\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O9.2\"],syntax:\"<line-width> || <line-style> || <color>\",relevance:80,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-right\"}],description:\"Shorthand property for setting border width, style and color\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-right-color\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<color>\",relevance:66,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-right-color\"}],description:\"Sets the color of the right border.\",restrictions:[\"color\"]},{name:\"border-right-style\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O9.2\"],syntax:\"<line-style>\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-right-style\"}],description:\"Sets the style of the right border.\",restrictions:[\"line-style\"]},{name:\"border-right-width\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<line-width>\",relevance:63,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-right-width\"}],description:\"Sets the thickness of the right border.\",restrictions:[\"length\",\"line-width\"]},{name:\"border-spacing\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE8\",\"O4\"],syntax:\"<length> <length>?\",relevance:67,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-spacing\"}],description:\"The lengths specify the distance that separates adjoining cell borders. If one length is specified, it gives both the horizontal and vertical spacing. If two are specified, the first gives the horizontal spacing and the second the vertical spacing. Lengths may not be negative.\",restrictions:[\"length\"]},{name:\"border-style\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[],syntax:\"<line-style>{1,4}\",relevance:79,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-style\"}],description:\"The style of the border around edges of an element.\",restrictions:[\"line-style\"]},{name:\"border-top\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<line-width> || <line-style> || <color>\",relevance:86,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-top\"}],description:\"Shorthand property for setting border width, style and color\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"border-top-color\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<color>\",relevance:71,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-top-color\"}],description:\"Sets the color of the top border.\",restrictions:[\"color\"]},{name:\"border-top-left-radius\",browsers:[\"E12\",\"FF4\",\"S5\",\"C4\",\"IE9\",\"O10.5\"],syntax:\"<length-percentage>{1,2}\",relevance:75,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius\"}],description:\"Defines the radii of the top left outer border edge.\",restrictions:[\"length\",\"percentage\"]},{name:\"border-top-right-radius\",browsers:[\"E12\",\"FF4\",\"S5\",\"C4\",\"IE9\",\"O10.5\"],syntax:\"<length-percentage>{1,2}\",relevance:75,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius\"}],description:\"Defines the radii of the top right outer border edge.\",restrictions:[\"length\",\"percentage\"]},{name:\"border-top-style\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O9.2\"],syntax:\"<line-style>\",relevance:58,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-top-style\"}],description:\"Sets the style of the top border.\",restrictions:[\"line-style\"]},{name:\"border-top-width\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<line-width>\",relevance:61,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-top-width\"}],description:\"Sets the thickness of the top border.\",restrictions:[\"length\",\"line-width\"]},{name:\"border-width\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[],syntax:\"<line-width>{1,4}\",relevance:82,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-width\"}],description:\"Shorthand that sets the four 'border-*-width' properties. If it has four values, they set top, right, bottom and left in that order. If left is missing, it is the same as right; if bottom is missing, it is the same as top; if right is missing, it is the same as top.\",restrictions:[\"length\",\"line-width\"]},{name:\"bottom\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5\",\"O6\"],values:[{name:\"auto\",description:\"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well\"}],syntax:\"<length> | <percentage> | auto\",relevance:90,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/bottom\"}],description:\"Specifies how far an absolutely positioned box's bottom margin edge is offset above the bottom edge of the box's 'containing block'.\",restrictions:[\"length\",\"percentage\"]},{name:\"box-decoration-break\",browsers:[\"E79\",\"FF32\",\"S7\",\"C22\",\"O15\"],values:[{name:\"clone\",description:\"Each box is independently wrapped with the border and padding.\"},{name:\"slice\",description:\"The effect is as though the element were rendered with no breaks present, and then sliced by the breaks afterward.\"}],syntax:\"slice | clone\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-decoration-break\"}],description:\"Specifies whether individual boxes are treated as broken pieces of one continuous box, or whether each box is individually wrapped with the border and padding.\",restrictions:[\"enum\"]},{name:\"box-shadow\",browsers:[\"E12\",\"FF4\",\"S5.1\",\"C10\",\"IE9\",\"O10.5\"],values:[{name:\"inset\",description:\"Changes the drop shadow from an outer shadow (one that shadows the box onto the canvas, as if it were lifted above the canvas) to an inner shadow (one that shadows the canvas onto the box, as if the box were cut out of the canvas and shifted behind it).\"},{name:\"none\",description:\"No shadow.\"}],syntax:\"none | <shadow>#\",relevance:90,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-shadow\"}],description:\"Attaches one or more drop-shadows to the box. The property is a comma-separated list of shadows, each specified by 2-4 length values, an optional color, and an optional 'inset' keyword. Omitted lengths are 0; omitted colors are a user agent chosen color.\",restrictions:[\"length\",\"color\",\"enum\"]},{name:\"box-sizing\",browsers:[\"E12\",\"FF29\",\"S5.1\",\"C10\",\"IE8\",\"O7\"],values:[{name:\"border-box\",description:\"The specified width and height (and respective min/max properties) on this element determine the border box of the element.\"},{name:\"content-box\",description:\"Behavior of width and height as specified by CSS2.1. The specified width and height (and respective min/max properties) apply to the width and height respectively of the content box of the element.\"}],syntax:\"content-box | border-box\",relevance:92,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-sizing\"}],description:\"Specifies the behavior of the 'width' and 'height' properties.\",restrictions:[\"enum\"]},{name:\"break-after\",browsers:[\"E12\",\"FF65\",\"S10\",\"C50\",\"IE10\",\"O37\"],values:[{name:\"always\",description:\"Always force a page break before/after the generated box.\"},{name:\"auto\",description:\"Neither force nor forbid a page/column break before/after the principal box.\"},{name:\"avoid\",description:\"Avoid a break before/after the principal box.\"},{name:\"avoid-column\",description:\"Avoid a column break before/after the principal box.\"},{name:\"avoid-page\",description:\"Avoid a page break before/after the principal box.\"},{name:\"column\",description:\"Always force a column break before/after the principal box.\"},{name:\"left\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.\"},{name:\"page\",description:\"Always force a page break before/after the principal box.\"},{name:\"right\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.\"}],syntax:\"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/break-after\"}],description:\"Describes the page/column/region break behavior after the generated box.\",restrictions:[\"enum\"]},{name:\"break-before\",browsers:[\"E12\",\"FF65\",\"S10\",\"C50\",\"IE10\",\"O37\"],values:[{name:\"always\",description:\"Always force a page break before/after the generated box.\"},{name:\"auto\",description:\"Neither force nor forbid a page/column break before/after the principal box.\"},{name:\"avoid\",description:\"Avoid a break before/after the principal box.\"},{name:\"avoid-column\",description:\"Avoid a column break before/after the principal box.\"},{name:\"avoid-page\",description:\"Avoid a page break before/after the principal box.\"},{name:\"column\",description:\"Always force a column break before/after the principal box.\"},{name:\"left\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.\"},{name:\"page\",description:\"Always force a page break before/after the principal box.\"},{name:\"right\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.\"}],syntax:\"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/break-before\"}],description:\"Describes the page/column/region break behavior before the generated box.\",restrictions:[\"enum\"]},{name:\"break-inside\",browsers:[\"E12\",\"FF65\",\"S10\",\"C50\",\"IE10\",\"O37\"],values:[{name:\"auto\",description:\"Impose no additional breaking constraints within the box.\"},{name:\"avoid\",description:\"Avoid breaks within the box.\"},{name:\"avoid-column\",description:\"Avoid a column break within the box.\"},{name:\"avoid-page\",description:\"Avoid a page break within the box.\"}],syntax:\"auto | avoid | avoid-page | avoid-column | avoid-region\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/break-inside\"}],description:\"Describes the page/column/region break behavior inside the principal box.\",restrictions:[\"enum\"]},{name:\"caption-side\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE8\",\"O4\"],values:[{name:\"bottom\",description:\"Positions the caption box below the table box.\"},{name:\"top\",description:\"Positions the caption box above the table box.\"}],syntax:\"top | bottom | block-start | block-end | inline-start | inline-end\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/caption-side\"}],description:\"Specifies the position of the caption box with respect to the table box.\",restrictions:[\"enum\"]},{name:\"caret-color\",browsers:[\"E79\",\"FF53\",\"S11.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"The user agent selects an appropriate color for the caret. This is generally currentcolor, but the user agent may choose a different color to ensure good visibility and contrast with the surrounding content, taking into account the value of currentcolor, the background, shadows, and other factors.\"}],syntax:\"auto | <color>\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/caret-color\"}],description:\"Controls the color of the text insertion indicator.\",restrictions:[\"color\",\"enum\"]},{name:\"clear\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"both\",description:\"The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any right-floating and left-floating boxes that resulted from elements earlier in the source document.\"},{name:\"left\",description:\"The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any left-floating boxes that resulted from elements earlier in the source document.\"},{name:\"none\",description:\"No constraint on the box's position with respect to floats.\"},{name:\"right\",description:\"The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any right-floating boxes that resulted from elements earlier in the source document.\"}],syntax:\"none | left | right | both | inline-start | inline-end\",relevance:83,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/clear\"}],description:\"Indicates which sides of an element's box(es) may not be adjacent to an earlier floating box. The 'clear' property does not consider floats inside the element itself or in other block formatting contexts.\",restrictions:[\"enum\"]},{name:\"clip\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"auto\",description:\"The element does not clip.\"},{name:\"rect()\",description:\"Specifies offsets from the edges of the border box.\"}],syntax:\"<shape> | auto\",relevance:74,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/clip\"}],description:\"Deprecated. Use the 'clip-path' property when support allows. Defines the visible portion of an element's box.\",restrictions:[\"enum\"]},{name:\"clip-path\",browsers:[\"E79\",\"FF3.5\",\"S9.1\",\"C55\",\"IE10\",\"O42\"],values:[{name:\"none\",description:\"No clipping path gets created.\"},{name:\"url()\",description:\"References a <clipPath> element to create a clipping path.\"}],syntax:\"<clip-source> | [ <basic-shape> || <geometry-box> ] | none\",relevance:64,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/clip-path\"}],description:\"Specifies a clipping path where everything inside the path is visible and everything outside is clipped out.\",restrictions:[\"url\",\"shape\",\"geometry-box\",\"enum\"]},{name:\"clip-rule\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"evenodd\",description:\"Determines the 'insideness' of a point on the canvas by drawing a ray from that point to infinity in any direction and counting the number of path segments from the given shape that the ray crosses.\"},{name:\"nonzero\",description:\"Determines the 'insideness' of a point on the canvas by drawing a ray from that point to infinity in any direction and then examining the places where a segment of the shape crosses the ray.\"}],relevance:50,description:\"Indicates the algorithm which is to be used to determine what parts of the canvas are included inside the shape.\",restrictions:[\"enum\"]},{name:\"color\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],syntax:\"<color>\",relevance:94,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/color\"}],description:\"Sets the color of an element's text\",restrictions:[\"color\"]},{name:\"color-interpolation-filters\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"auto\",description:\"Color operations are not required to occur in a particular color space.\"},{name:\"linearRGB\",description:\"Color operations should occur in the linearized RGB color space.\"},{name:\"sRGB\",description:\"Color operations should occur in the sRGB color space.\"}],relevance:50,description:\"Specifies the color space for imaging operations performed via filter effects.\",restrictions:[\"enum\"]},{name:\"column-count\",browsers:[\"E12\",\"FF52\",\"S9\",\"C50\",\"IE10\",\"O11.1\"],values:[{name:\"auto\",description:\"Determines the number of columns by the 'column-width' property and the element width.\"}],syntax:\"<integer> | auto\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-count\"}],description:\"Describes the optimal number of columns into which the content of the element will be flowed.\",restrictions:[\"integer\",\"enum\"]},{name:\"column-fill\",browsers:[\"E12\",\"FF52\",\"S9\",\"C50\",\"IE10\",\"O37\"],values:[{name:\"auto\",description:\"Fills columns sequentially.\"},{name:\"balance\",description:\"Balance content equally between columns, if possible.\"}],syntax:\"auto | balance | balance-all\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-fill\"}],description:\"In continuous media, this property will only be consulted if the length of columns has been constrained. Otherwise, columns will automatically be balanced.\",restrictions:[\"enum\"]},{name:\"column-gap\",browsers:[\"E12\",\"FF1.5\",\"S3\",\"C1\",\"IE10\",\"O11.1\"],values:[{name:\"normal\",description:\"User agent specific and typically equivalent to 1em.\"}],syntax:\"normal | <length-percentage>\",relevance:60,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-gap\"}],description:\"Sets the gap between columns. If there is a column rule between columns, it will appear in the middle of the gap.\",restrictions:[\"length\",\"enum\"]},{name:\"column-rule\",browsers:[\"E12\",\"FF52\",\"S9\",\"C50\",\"IE10\",\"O11.1\"],syntax:\"<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-rule\"}],description:\"Shorthand for setting 'column-rule-width', 'column-rule-style', and 'column-rule-color' at the same place in the style sheet. Omitted values are set to their initial values.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"column-rule-color\",browsers:[\"E12\",\"FF52\",\"S9\",\"C50\",\"IE10\",\"O11.1\"],syntax:\"<color>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-rule-color\"}],description:\"Sets the color of the column rule\",restrictions:[\"color\"]},{name:\"column-rule-style\",browsers:[\"E12\",\"FF52\",\"S9\",\"C50\",\"IE10\",\"O11.1\"],syntax:\"<'border-style'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-rule-style\"}],description:\"Sets the style of the rule between columns of an element.\",restrictions:[\"line-style\"]},{name:\"column-rule-width\",browsers:[\"E12\",\"FF52\",\"S9\",\"C50\",\"IE10\",\"O11.1\"],syntax:\"<'border-width'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-rule-width\"}],description:\"Sets the width of the rule between columns. Negative values are not allowed.\",restrictions:[\"length\",\"line-width\"]},{name:\"columns\",browsers:[\"E12\",\"FF52\",\"S9\",\"C50\",\"IE10\",\"O11.1\"],values:[{name:\"auto\",description:\"The width depends on the values of other properties.\"}],syntax:\"<'column-width'> || <'column-count'>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/columns\"}],description:\"A shorthand property which sets both 'column-width' and 'column-count'.\",restrictions:[\"length\",\"integer\",\"enum\"]},{name:\"column-span\",browsers:[\"E12\",\"FF71\",\"S9\",\"C50\",\"IE10\",\"O11.1\"],values:[{name:\"all\",description:\"The element spans across all columns. Content in the normal flow that appears before the element is automatically balanced across all columns before the element appear.\"},{name:\"none\",description:\"The element does not span multiple columns.\"}],syntax:\"none | all\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-span\"}],description:\"Describes the page/column break behavior after the generated box.\",restrictions:[\"enum\"]},{name:\"column-width\",browsers:[\"E12\",\"FF50\",\"S9\",\"C50\",\"IE10\",\"O11.1\"],values:[{name:\"auto\",description:\"The width depends on the values of other properties.\"}],syntax:\"<length> | auto\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/column-width\"}],description:\"Describes the width of columns in multicol elements.\",restrictions:[\"length\",\"enum\"]},{name:\"contain\",browsers:[\"E79\",\"FF69\",\"S15.4\",\"C52\",\"O39\"],values:[{name:\"none\",description:\"Indicates that the property has no effect.\"},{name:\"strict\",description:\"Turns on all forms of containment for the element.\"},{name:\"content\",description:\"All containment rules except size are applied to the element.\"},{name:\"size\",description:\"For properties that can have effects on more than just an element and its descendants, those effects don't escape the containing element.\"},{name:\"layout\",description:\"Turns on layout containment for the element.\"},{name:\"style\",description:\"Turns on style containment for the element.\"},{name:\"paint\",description:\"Turns on paint containment for the element.\"}],syntax:\"none | strict | content | [ [ size || inline-size ] || layout || style || paint ]\",relevance:58,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/contain\"}],description:\"Indicates that an element and its contents are, as much as possible, independent of the rest of the document tree.\",restrictions:[\"enum\"]},{name:\"content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE8\",\"O4\"],values:[{name:\"attr()\",description:\"The attr(n) function returns as a string the value of attribute n for the subject of the selector.\"},{name:\"counter(name)\",description:\"Counters are denoted by identifiers (see the 'counter-increment' and 'counter-reset' properties).\"},{name:\"icon\",description:\"The (pseudo-)element is replaced in its entirety by the resource referenced by its 'icon' property, and treated as a replaced element.\"},{name:\"none\",description:\"On elements, this inhibits the children of the element from being rendered as children of this element, as if the element was empty. On pseudo-elements it causes the pseudo-element to have no content.\"},{name:\"normal\",description:\"See http://www.w3.org/TR/css3-content/#content for computation rules.\"},{name:\"url()\"}],syntax:\"normal | none | [ <content-replacement> | <content-list> ] [/ [ <string> | <counter> ]+ ]?\",relevance:89,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/content\"}],description:\"Determines which page-based occurrence of a given element is applied to a counter or string value.\",restrictions:[\"string\",\"url\"]},{name:\"counter-increment\",browsers:[\"E12\",\"FF1\",\"S3\",\"C2\",\"IE8\",\"O9.2\"],values:[{name:\"none\",description:\"This element does not alter the value of any counters.\"}],syntax:\"[ <counter-name> <integer>? ]+ | none\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/counter-increment\"}],description:\"Manipulate the value of existing counters.\",restrictions:[\"identifier\",\"integer\"]},{name:\"counter-reset\",browsers:[\"E12\",\"FF1\",\"S3\",\"C2\",\"IE8\",\"O9.2\"],values:[{name:\"none\",description:\"The counter is not modified.\"}],syntax:\"[ <counter-name> <integer>? | <reversed-counter-name> <integer>? ]+ | none\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/counter-reset\"}],description:\"Property accepts one or more names of counters (identifiers), each one optionally followed by an integer. The integer gives the value that the counter is set to on each occurrence of the element.\",restrictions:[\"identifier\",\"integer\"]},{name:\"cursor\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"alias\",description:\"Indicates an alias of/shortcut to something is to be created. Often rendered as an arrow with a small curved arrow next to it.\"},{name:\"all-scroll\",description:\"Indicates that the something can be scrolled in any direction. Often rendered as arrows pointing up, down, left, and right with a dot in the middle.\"},{name:\"auto\",description:\"The UA determines the cursor to display based on the current context.\"},{name:\"cell\",description:\"Indicates that a cell or set of cells may be selected. Often rendered as a thick plus-sign with a dot in the middle.\"},{name:\"col-resize\",description:\"Indicates that the item/column can be resized horizontally. Often rendered as arrows pointing left and right with a vertical bar separating them.\"},{name:\"context-menu\",description:\"A context menu is available for the object under the cursor. Often rendered as an arrow with a small menu-like graphic next to it.\"},{name:\"copy\",description:\"Indicates something is to be copied. Often rendered as an arrow with a small plus sign next to it.\"},{name:\"crosshair\",description:\"A simple crosshair (e.g., short line segments resembling a '+' sign). Often used to indicate a two dimensional bitmap selection mode.\"},{name:\"default\",description:\"The platform-dependent default cursor. Often rendered as an arrow.\"},{name:\"e-resize\",description:\"Indicates that east edge is to be moved.\"},{name:\"ew-resize\",description:\"Indicates a bidirectional east-west resize cursor.\"},{name:\"grab\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be grabbed.\"},{name:\"grabbing\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something is being grabbed.\"},{name:\"help\",description:\"Help is available for the object under the cursor. Often rendered as a question mark or a balloon.\"},{name:\"move\",description:\"Indicates something is to be moved.\"},{name:\"-moz-grab\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be grabbed.\"},{name:\"-moz-grabbing\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something is being grabbed.\"},{name:\"-moz-zoom-in\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be zoomed (magnified) in.\"},{name:\"-moz-zoom-out\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be zoomed (magnified) out.\"},{name:\"ne-resize\",description:\"Indicates that movement starts from north-east corner.\"},{name:\"nesw-resize\",description:\"Indicates a bidirectional north-east/south-west cursor.\"},{name:\"no-drop\",description:\"Indicates that the dragged item cannot be dropped at the current cursor location. Often rendered as a hand or pointer with a small circle with a line through it.\"},{name:\"none\",description:\"No cursor is rendered for the element.\"},{name:\"not-allowed\",description:\"Indicates that the requested action will not be carried out. Often rendered as a circle with a line through it.\"},{name:\"n-resize\",description:\"Indicates that north edge is to be moved.\"},{name:\"ns-resize\",description:\"Indicates a bidirectional north-south cursor.\"},{name:\"nw-resize\",description:\"Indicates that movement starts from north-west corner.\"},{name:\"nwse-resize\",description:\"Indicates a bidirectional north-west/south-east cursor.\"},{name:\"pointer\",description:\"The cursor is a pointer that indicates a link.\"},{name:\"progress\",description:\"A progress indicator. The program is performing some processing, but is different from 'wait' in that the user may still interact with the program. Often rendered as a spinning beach ball, or an arrow with a watch or hourglass.\"},{name:\"row-resize\",description:\"Indicates that the item/row can be resized vertically. Often rendered as arrows pointing up and down with a horizontal bar separating them.\"},{name:\"se-resize\",description:\"Indicates that movement starts from south-east corner.\"},{name:\"s-resize\",description:\"Indicates that south edge is to be moved.\"},{name:\"sw-resize\",description:\"Indicates that movement starts from south-west corner.\"},{name:\"text\",description:\"Indicates text that may be selected. Often rendered as a vertical I-beam.\"},{name:\"vertical-text\",description:\"Indicates vertical-text that may be selected. Often rendered as a horizontal I-beam.\"},{name:\"wait\",description:\"Indicates that the program is busy and the user should wait. Often rendered as a watch or hourglass.\"},{name:\"-webkit-grab\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be grabbed.\"},{name:\"-webkit-grabbing\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something is being grabbed.\"},{name:\"-webkit-zoom-in\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be zoomed (magnified) in.\"},{name:\"-webkit-zoom-out\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be zoomed (magnified) out.\"},{name:\"w-resize\",description:\"Indicates that west edge is to be moved.\"},{name:\"zoom-in\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be zoomed (magnified) in.\"},{name:\"zoom-out\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],description:\"Indicates that something can be zoomed (magnified) out.\"}],syntax:\"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]\",relevance:91,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/cursor\"}],description:\"Allows control over cursor appearance in an element\",restrictions:[\"url\",\"number\",\"enum\"]},{name:\"direction\",browsers:[\"E12\",\"FF1\",\"S1\",\"C2\",\"IE5.5\",\"O9.2\"],values:[{name:\"ltr\",description:\"Left-to-right direction.\"},{name:\"rtl\",description:\"Right-to-left direction.\"}],syntax:\"ltr | rtl\",relevance:71,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/direction\"}],description:\"Specifies the inline base direction or directionality of any bidi paragraph, embedding, isolate, or override established by the box. Note: for HTML content use the 'dir' attribute and 'bdo' element rather than this property.\",restrictions:[\"enum\"]},{name:\"display\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"block\",description:\"The element generates a block-level box\"},{name:\"contents\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element itself does not generate any boxes, but its children and pseudo-elements still generate boxes as normal.\"},{name:\"flex\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element generates a principal flex container box and establishes a flex formatting context.\"},{name:\"flexbox\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'.\"},{name:\"flow-root\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element generates a block container box, and lays out its contents using flow layout.\"},{name:\"grid\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element generates a principal grid container box, and establishes a grid formatting context.\"},{name:\"inline\",description:\"The element generates an inline-level box.\"},{name:\"inline-block\",description:\"A block box, which itself is flowed as a single inline box, similar to a replaced element. The inside of an inline-block is formatted as a block box, and the box itself is formatted as an inline box.\"},{name:\"inline-flex\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Inline-level flex container.\"},{name:\"inline-flexbox\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Inline-level flex container. Standardized as 'inline-flex'\"},{name:\"inline-table\",description:\"Inline-level table wrapper box containing table box.\"},{name:\"list-item\",description:\"One or more block boxes and one marker box.\"},{name:\"-moz-box\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'.\"},{name:\"-moz-deck\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-grid\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-grid-group\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-grid-line\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-groupbox\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-inline-box\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Inline-level flex container. Standardized as 'inline-flex'\"},{name:\"-moz-inline-grid\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-inline-stack\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-marker\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-popup\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-moz-stack\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"]},{name:\"-ms-flexbox\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'.\"},{name:\"-ms-grid\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element generates a principal grid container box, and establishes a grid formatting context.\"},{name:\"-ms-inline-flexbox\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Inline-level flex container. Standardized as 'inline-flex'\"},{name:\"-ms-inline-grid\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Inline-level grid container.\"},{name:\"none\",description:\"The element and its descendants generates no boxes.\"},{name:\"ruby\",description:\"The element generates a principal ruby container box, and establishes a ruby formatting context.\"},{name:\"ruby-base\"},{name:\"ruby-base-container\"},{name:\"ruby-text\"},{name:\"ruby-text-container\"},{name:\"run-in\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element generates a run-in box. Run-in elements act like inlines or blocks, depending on the surrounding elements.\"},{name:\"table\",description:\"The element generates a principal table wrapper box containing an additionally-generated table box, and establishes a table formatting context.\"},{name:\"table-caption\"},{name:\"table-cell\"},{name:\"table-column\"},{name:\"table-column-group\"},{name:\"table-footer-group\"},{name:\"table-header-group\"},{name:\"table-row\"},{name:\"table-row-group\"},{name:\"-webkit-box\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'.\"},{name:\"-webkit-flex\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"The element lays out its contents using flow layout (block-and-inline layout).\"},{name:\"-webkit-inline-box\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Inline-level flex container. Standardized as 'inline-flex'\"},{name:\"-webkit-inline-flex\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Inline-level flex container.\"}],syntax:\"[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>\",relevance:96,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/display\"}],description:\"In combination with 'float' and 'position', determines the type of box or boxes that are generated for an element.\",restrictions:[\"enum\"]},{name:\"empty-cells\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE8\",\"O4\"],values:[{name:\"hide\",description:\"No borders or backgrounds are drawn around/behind empty cells.\"},{name:\"-moz-show-background\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE8\",\"O4\"]},{name:\"show\",description:\"Borders and backgrounds are drawn around/behind empty cells (like normal cells).\"}],syntax:\"show | hide\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/empty-cells\"}],description:\"In the separated borders model, this property controls the rendering of borders and backgrounds around cells that have no visible content.\",restrictions:[\"enum\"]},{name:\"enable-background\",values:[{name:\"accumulate\",description:\"If the ancestor container element has a property of new, then all graphics elements within the current container are rendered both on the parent's background image and onto the target.\"},{name:\"new\",description:\"Create a new background image canvas. All children of the current container element can access the background, and they will be rendered onto both the parent's background image canvas in addition to the target device.\"}],relevance:50,description:\"Deprecated. Use 'isolation' property instead when support allows. Specifies how the accumulation of the background image is managed.\",restrictions:[\"integer\",\"length\",\"percentage\",\"enum\"]},{name:\"fallback\",browsers:[\"FF33\"],atRule:\"@counter-style\",syntax:\"<counter-style-name>\",relevance:50,description:\"@counter-style descriptor. Specifies a fallback counter style to be used when the current counter style can't create a representation for a given counter value.\",restrictions:[\"identifier\"]},{name:\"fill\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"url()\",description:\"A URL reference to a paint server element, which is an element that defines a paint server: 'hatch', 'linearGradient', 'mesh', 'pattern', 'radialGradient' and 'solidcolor'.\"},{name:\"none\",description:\"No paint is applied in this layer.\"}],relevance:77,description:\"Paints the interior of the given graphical element.\",restrictions:[\"color\",\"enum\",\"url\"]},{name:\"fill-opacity\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],relevance:52,description:\"Specifies the opacity of the painting operation used to paint the interior the current object.\",restrictions:[\"number(0-1)\"]},{name:\"fill-rule\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"evenodd\",description:\"Determines the 'insideness' of a point on the canvas by drawing a ray from that point to infinity in any direction and counting the number of path segments from the given shape that the ray crosses.\"},{name:\"nonzero\",description:\"Determines the 'insideness' of a point on the canvas by drawing a ray from that point to infinity in any direction and then examining the places where a segment of the shape crosses the ray.\"}],relevance:51,description:\"Indicates the algorithm (or winding rule) which is to be used to determine what parts of the canvas are included inside the shape.\",restrictions:[\"enum\"]},{name:\"filter\",browsers:[\"E12\",\"FF35\",\"S9.1\",\"C53\",\"O40\"],values:[{name:\"none\",description:\"No filter effects are applied.\"},{name:\"blur()\",description:\"Applies a Gaussian blur to the input image.\"},{name:\"brightness()\",description:\"Applies a linear multiplier to input image, making it appear more or less bright.\"},{name:\"contrast()\",description:\"Adjusts the contrast of the input.\"},{name:\"drop-shadow()\",description:\"Applies a drop shadow effect to the input image.\"},{name:\"grayscale()\",description:\"Converts the input image to grayscale.\"},{name:\"hue-rotate()\",description:\"Applies a hue rotation on the input image. \"},{name:\"invert()\",description:\"Inverts the samples in the input image.\"},{name:\"opacity()\",description:\"Applies transparency to the samples in the input image.\"},{name:\"saturate()\",description:\"Saturates the input image.\"},{name:\"sepia()\",description:\"Converts the input image to sepia.\"},{name:\"url()\",browsers:[\"E12\",\"FF35\",\"S9.1\",\"C53\",\"O40\"],description:\"A filter reference to a <filter> element.\"}],syntax:\"none | <filter-function-list>\",relevance:70,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/filter\"}],description:\"Processes an element's rendering before it is displayed in the document, by applying one or more filter effects.\",restrictions:[\"enum\",\"url\"]},{name:\"flex\",browsers:[\"E12\",\"FF20\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],values:[{name:\"auto\",description:\"Retrieves the value of the main size property as the used 'flex-basis'.\"},{name:\"content\",browsers:[\"E12\",\"FF20\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],description:\"Indicates automatic sizing, based on the flex item's content.\"},{name:\"none\",description:\"Expands to '0 0 auto'.\"}],syntax:\"none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]\",relevance:81,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/flex\"}],description:\"Specifies the components of a flexible length: the flex grow factor and flex shrink factor, and the flex basis.\",restrictions:[\"length\",\"number\",\"percentage\"]},{name:\"flex-basis\",browsers:[\"E12\",\"FF22\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],values:[{name:\"auto\",description:\"Retrieves the value of the main size property as the used 'flex-basis'.\"},{name:\"content\",browsers:[\"E12\",\"FF22\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],description:\"Indicates automatic sizing, based on the flex item's content.\"}],syntax:\"content | <'width'>\",relevance:70,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/flex-basis\"}],description:\"Sets the flex basis.\",restrictions:[\"length\",\"number\",\"percentage\"]},{name:\"flex-direction\",browsers:[\"E12\",\"FF81\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],values:[{name:\"column\",description:\"The flex container's main axis has the same orientation as the block axis of the current writing mode.\"},{name:\"column-reverse\",description:\"Same as 'column', except the main-start and main-end directions are swapped.\"},{name:\"row\",description:\"The flex container's main axis has the same orientation as the inline axis of the current writing mode.\"},{name:\"row-reverse\",description:\"Same as 'row', except the main-start and main-end directions are swapped.\"}],syntax:\"row | row-reverse | column | column-reverse\",relevance:84,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/flex-direction\"}],description:\"Specifies how flex items are placed in the flex container, by setting the direction of the flex container's main axis.\",restrictions:[\"enum\"]},{name:\"flex-flow\",browsers:[\"E12\",\"FF28\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],values:[{name:\"column\",description:\"The flex container's main axis has the same orientation as the block axis of the current writing mode.\"},{name:\"column-reverse\",description:\"Same as 'column', except the main-start and main-end directions are swapped.\"},{name:\"nowrap\",description:\"The flex container is single-line.\"},{name:\"row\",description:\"The flex container's main axis has the same orientation as the inline axis of the current writing mode.\"},{name:\"row-reverse\",description:\"Same as 'row', except the main-start and main-end directions are swapped.\"},{name:\"wrap\",description:\"The flexbox is multi-line.\"},{name:\"wrap-reverse\",description:\"Same as 'wrap', except the cross-start and cross-end directions are swapped.\"}],syntax:\"<'flex-direction'> || <'flex-wrap'>\",relevance:64,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/flex-flow\"}],description:\"Specifies how flexbox items are placed in the flexbox.\",restrictions:[\"enum\"]},{name:\"flex-grow\",browsers:[\"E12\",\"FF20\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],syntax:\"<number>\",relevance:77,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/flex-grow\"}],description:\"Sets the flex grow factor. Negative numbers are invalid.\",restrictions:[\"number\"]},{name:\"flex-shrink\",browsers:[\"E12\",\"FF20\",\"S9\",\"C29\",\"IE10\",\"O12.1\"],syntax:\"<number>\",relevance:76,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/flex-shrink\"}],description:\"Sets the flex shrink factor. Negative numbers are invalid.\",restrictions:[\"number\"]},{name:\"flex-wrap\",browsers:[\"E12\",\"FF28\",\"S9\",\"C29\",\"IE11\",\"O17\"],values:[{name:\"nowrap\",description:\"The flex container is single-line.\"},{name:\"wrap\",description:\"The flexbox is multi-line.\"},{name:\"wrap-reverse\",description:\"Same as 'wrap', except the cross-start and cross-end directions are swapped.\"}],syntax:\"nowrap | wrap | wrap-reverse\",relevance:82,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/flex-wrap\"}],description:\"Controls whether the flex container is single-line or multi-line, and the direction of the cross-axis, which determines the direction new lines are stacked in.\",restrictions:[\"enum\"]},{name:\"float\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"inline-end\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"A keyword indicating that the element must float on the end side of its containing block. That is the right side with ltr scripts, and the left side with rtl scripts.\"},{name:\"inline-start\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"A keyword indicating that the element must float on the start side of its containing block. That is the left side with ltr scripts, and the right side with rtl scripts.\"},{name:\"left\",description:\"The element generates a block box that is floated to the left. Content flows on the right side of the box, starting at the top (subject to the 'clear' property).\"},{name:\"none\",description:\"The box is not floated.\"},{name:\"right\",description:\"Similar to 'left', except the box is floated to the right, and content flows on the left side of the box, starting at the top.\"}],syntax:\"left | right | none | inline-start | inline-end\",relevance:89,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/float\"}],description:\"Specifies how a box should be floated. It may be set for any element, but only applies to elements that generate boxes that are not absolutely positioned.\",restrictions:[\"enum\"]},{name:\"flood-color\",browsers:[\"E12\",\"FF3\",\"S6\",\"C5\",\"IE\",\"O15\"],relevance:50,description:\"Indicates what color to use to flood the current filter primitive subregion.\",restrictions:[\"color\"]},{name:\"flood-opacity\",browsers:[\"E12\",\"FF3\",\"S6\",\"C5\",\"IE\",\"O15\"],relevance:50,description:\"Indicates what opacity to use to flood the current filter primitive subregion.\",restrictions:[\"number(0-1)\",\"percentage\"]},{name:\"font\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"100\",description:\"Thin\"},{name:\"200\",description:\"Extra Light (Ultra Light)\"},{name:\"300\",description:\"Light\"},{name:\"400\",description:\"Normal\"},{name:\"500\",description:\"Medium\"},{name:\"600\",description:\"Semi Bold (Demi Bold)\"},{name:\"700\",description:\"Bold\"},{name:\"800\",description:\"Extra Bold (Ultra Bold)\"},{name:\"900\",description:\"Black (Heavy)\"},{name:\"bold\",description:\"Same as 700\"},{name:\"bolder\",description:\"Specifies the weight of the face bolder than the inherited value.\"},{name:\"caption\",description:\"The font used for captioned controls (e.g., buttons, drop-downs, etc.).\"},{name:\"icon\",description:\"The font used to label icons.\"},{name:\"italic\",description:\"Selects a font that is labeled 'italic', or, if that is not available, one labeled 'oblique'.\"},{name:\"large\"},{name:\"larger\"},{name:\"lighter\",description:\"Specifies the weight of the face lighter than the inherited value.\"},{name:\"medium\"},{name:\"menu\",description:\"The font used in menus (e.g., dropdown menus and menu lists).\"},{name:\"message-box\",description:\"The font used in dialog boxes.\"},{name:\"normal\",description:\"Specifies a face that is not labeled as a small-caps font.\"},{name:\"oblique\",description:\"Selects a font that is labeled 'oblique'.\"},{name:\"small\"},{name:\"small-caps\",description:\"Specifies a font that is labeled as a small-caps font. If a genuine small-caps font is not available, user agents should simulate a small-caps font.\"},{name:\"small-caption\",description:\"The font used for labeling small controls.\"},{name:\"smaller\"},{name:\"status-bar\",description:\"The font used in window status bars.\"},{name:\"x-large\"},{name:\"x-small\"},{name:\"xx-large\"},{name:\"xx-small\"}],syntax:\"[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar\",relevance:83,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font\"}],description:\"Shorthand property for setting 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height', and 'font-family', at the same place in the style sheet. The syntax of this property is based on a traditional typographical shorthand notation to set multiple properties related to fonts.\",restrictions:[\"font\"]},{name:\"font-family\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif\"},{name:\"Arial, Helvetica, sans-serif\"},{name:\"Cambria, Cochin, Georgia, Times, 'Times New Roman', serif\"},{name:\"'Courier New', Courier, monospace\"},{name:\"cursive\"},{name:\"fantasy\"},{name:\"'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif\"},{name:\"Georgia, 'Times New Roman', Times, serif\"},{name:\"'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif\"},{name:\"Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif\"},{name:\"'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif\"},{name:\"monospace\"},{name:\"sans-serif\"},{name:\"'Segoe UI', Tahoma, Geneva, Verdana, sans-serif\"},{name:\"serif\"},{name:\"'Times New Roman', Times, serif\"},{name:\"'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif\"},{name:\"Verdana, Geneva, Tahoma, sans-serif\"}],atRule:\"@font-face\",syntax:\"<family-name>\",relevance:93,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-family\"}],description:\"Specifies a prioritized list of font family names or generic family names. A user agent iterates through the list of family names until it matches an available font that contains a glyph for the character to be rendered.\",restrictions:[\"font\"]},{name:\"font-feature-settings\",browsers:[\"E15\",\"FF34\",\"S9.1\",\"C48\",\"IE10\",\"O35\"],values:[{name:'\"aalt\"',description:\"Access All Alternates.\"},{name:'\"abvf\"',description:\"Above-base Forms. Required in Khmer script.\"},{name:'\"abvm\"',description:\"Above-base Mark Positioning. Required in Indic scripts.\"},{name:'\"abvs\"',description:\"Above-base Substitutions. Required in Indic scripts.\"},{name:'\"afrc\"',description:\"Alternative Fractions.\"},{name:'\"akhn\"',description:\"Akhand. Required in most Indic scripts.\"},{name:'\"blwf\"',description:\"Below-base Form. Required in a number of Indic scripts.\"},{name:'\"blwm\"',description:\"Below-base Mark Positioning. Required in Indic scripts.\"},{name:'\"blws\"',description:\"Below-base Substitutions. Required in Indic scripts.\"},{name:'\"calt\"',description:\"Contextual Alternates.\"},{name:'\"case\"',description:\"Case-Sensitive Forms. Applies only to European scripts; particularly prominent in Spanish-language setting.\"},{name:'\"ccmp\"',description:\"Glyph Composition/Decomposition.\"},{name:'\"cfar\"',description:\"Conjunct Form After Ro. Required in Khmer scripts.\"},{name:'\"cjct\"',description:\"Conjunct Forms. Required in Indic scripts that show similarity to Devanagari.\"},{name:'\"clig\"',description:\"Contextual Ligatures.\"},{name:'\"cpct\"',description:\"Centered CJK Punctuation. Used primarily in Chinese fonts.\"},{name:'\"cpsp\"',description:\"Capital Spacing. Should not be used in connecting scripts (e.g. most Arabic).\"},{name:'\"cswh\"',description:\"Contextual Swash.\"},{name:'\"curs\"',description:\"Cursive Positioning. Can be used in any cursive script.\"},{name:'\"c2pc\"',description:\"Petite Capitals From Capitals. Applies only to bicameral scripts.\"},{name:'\"c2sc\"',description:\"Small Capitals From Capitals. Applies only to bicameral scripts.\"},{name:'\"dist\"',description:\"Distances. Required in Indic scripts.\"},{name:'\"dlig\"',description:\"Discretionary ligatures.\"},{name:'\"dnom\"',description:\"Denominators.\"},{name:'\"dtls\"',description:\"Dotless Forms. Applied to math formula layout.\"},{name:'\"expt\"',description:\"Expert Forms. Applies only to Japanese.\"},{name:'\"falt\"',description:\"Final Glyph on Line Alternates. Can be used in any cursive script.\"},{name:'\"fin2\"',description:\"Terminal Form #2. Used only with the Syriac script.\"},{name:'\"fin3\"',description:\"Terminal Form #3. Used only with the Syriac script.\"},{name:'\"fina\"',description:\"Terminal Forms. Can be used in any alphabetic script.\"},{name:'\"flac\"',description:\"Flattened ascent forms. Applied to math formula layout.\"},{name:'\"frac\"',description:\"Fractions.\"},{name:'\"fwid\"',description:\"Full Widths. Applies to any script which can use monospaced forms.\"},{name:'\"half\"',description:\"Half Forms. Required in Indic scripts that show similarity to Devanagari.\"},{name:'\"haln\"',description:\"Halant Forms. Required in Indic scripts.\"},{name:'\"halt\"',description:\"Alternate Half Widths. Used only in CJKV fonts.\"},{name:'\"hist\"',description:\"Historical Forms.\"},{name:'\"hkna\"',description:\"Horizontal Kana Alternates. Applies only to fonts that support kana (hiragana and katakana).\"},{name:'\"hlig\"',description:\"Historical Ligatures.\"},{name:'\"hngl\"',description:\"Hangul. Korean only.\"},{name:'\"hojo\"',description:\"Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms). Used only with Kanji script.\"},{name:'\"hwid\"',description:\"Half Widths. Generally used only in CJKV fonts.\"},{name:'\"init\"',description:\"Initial Forms. Can be used in any alphabetic script.\"},{name:'\"isol\"',description:\"Isolated Forms. Can be used in any cursive script.\"},{name:'\"ital\"',description:\"Italics. Applies mostly to Latin; note that many non-Latin fonts contain Latin as well.\"},{name:'\"jalt\"',description:\"Justification Alternates. Can be used in any cursive script.\"},{name:'\"jp78\"',description:\"JIS78 Forms. Applies only to Japanese.\"},{name:'\"jp83\"',description:\"JIS83 Forms. Applies only to Japanese.\"},{name:'\"jp90\"',description:\"JIS90 Forms. Applies only to Japanese.\"},{name:'\"jp04\"',description:\"JIS2004 Forms. Applies only to Japanese.\"},{name:'\"kern\"',description:\"Kerning.\"},{name:'\"lfbd\"',description:\"Left Bounds.\"},{name:'\"liga\"',description:\"Standard Ligatures.\"},{name:'\"ljmo\"',description:\"Leading Jamo Forms. Required for Hangul script when Ancient Hangul writing system is supported.\"},{name:'\"lnum\"',description:\"Lining Figures.\"},{name:'\"locl\"',description:\"Localized Forms.\"},{name:'\"ltra\"',description:\"Left-to-right glyph alternates.\"},{name:'\"ltrm\"',description:\"Left-to-right mirrored forms.\"},{name:'\"mark\"',description:\"Mark Positioning.\"},{name:'\"med2\"',description:\"Medial Form #2. Used only with the Syriac script.\"},{name:'\"medi\"',description:\"Medial Forms.\"},{name:'\"mgrk\"',description:\"Mathematical Greek.\"},{name:'\"mkmk\"',description:\"Mark to Mark Positioning.\"},{name:'\"nalt\"',description:\"Alternate Annotation Forms.\"},{name:'\"nlck\"',description:\"NLC Kanji Forms. Used only with Kanji script.\"},{name:'\"nukt\"',description:\"Nukta Forms. Required in Indic scripts..\"},{name:'\"numr\"',description:\"Numerators.\"},{name:'\"onum\"',description:\"Oldstyle Figures.\"},{name:'\"opbd\"',description:\"Optical Bounds.\"},{name:'\"ordn\"',description:\"Ordinals. Applies mostly to Latin script.\"},{name:'\"ornm\"',description:\"Ornaments.\"},{name:'\"palt\"',description:\"Proportional Alternate Widths. Used mostly in CJKV fonts.\"},{name:'\"pcap\"',description:\"Petite Capitals.\"},{name:'\"pkna\"',description:\"Proportional Kana. Generally used only in Japanese fonts.\"},{name:'\"pnum\"',description:\"Proportional Figures.\"},{name:'\"pref\"',description:\"Pre-base Forms. Required in Khmer and Myanmar (Burmese) scripts and southern Indic scripts that may display a pre-base form of Ra.\"},{name:'\"pres\"',description:\"Pre-base Substitutions. Required in Indic scripts.\"},{name:'\"pstf\"',description:\"Post-base Forms. Required in scripts of south and southeast Asia that have post-base forms for consonants eg: Gurmukhi, Malayalam, Khmer.\"},{name:'\"psts\"',description:\"Post-base Substitutions.\"},{name:'\"pwid\"',description:\"Proportional Widths.\"},{name:'\"qwid\"',description:\"Quarter Widths. Generally used only in CJKV fonts.\"},{name:'\"rand\"',description:\"Randomize.\"},{name:'\"rclt\"',description:\"Required Contextual Alternates. May apply to any script, but is especially important for many styles of Arabic.\"},{name:'\"rlig\"',description:\"Required Ligatures. Applies to Arabic and Syriac. May apply to some other scripts.\"},{name:'\"rkrf\"',description:\"Rakar Forms. Required in Devanagari and Gujarati scripts.\"},{name:'\"rphf\"',description:\"Reph Form. Required in Indic scripts. E.g. Devanagari, Kannada.\"},{name:'\"rtbd\"',description:\"Right Bounds.\"},{name:'\"rtla\"',description:\"Right-to-left alternates.\"},{name:'\"rtlm\"',description:\"Right-to-left mirrored forms.\"},{name:'\"ruby\"',description:\"Ruby Notation Forms. Applies only to Japanese.\"},{name:'\"salt\"',description:\"Stylistic Alternates.\"},{name:'\"sinf\"',description:\"Scientific Inferiors.\"},{name:'\"size\"',description:\"Optical size.\"},{name:'\"smcp\"',description:\"Small Capitals. Applies only to bicameral scripts.\"},{name:'\"smpl\"',description:\"Simplified Forms. Applies only to Chinese and Japanese.\"},{name:'\"ssty\"',description:\"Math script style alternates.\"},{name:'\"stch\"',description:\"Stretching Glyph Decomposition.\"},{name:'\"subs\"',description:\"Subscript.\"},{name:'\"sups\"',description:\"Superscript.\"},{name:'\"swsh\"',description:\"Swash. Does not apply to ideographic scripts.\"},{name:'\"titl\"',description:\"Titling.\"},{name:'\"tjmo\"',description:\"Trailing Jamo Forms. Required for Hangul script when Ancient Hangul writing system is supported.\"},{name:'\"tnam\"',description:\"Traditional Name Forms. Applies only to Japanese.\"},{name:'\"tnum\"',description:\"Tabular Figures.\"},{name:'\"trad\"',description:\"Traditional Forms. Applies only to Chinese and Japanese.\"},{name:'\"twid\"',description:\"Third Widths. Generally used only in CJKV fonts.\"},{name:'\"unic\"',description:\"Unicase.\"},{name:'\"valt\"',description:\"Alternate Vertical Metrics. Applies only to scripts with vertical writing modes.\"},{name:'\"vatu\"',description:\"Vattu Variants. Used for Indic scripts. E.g. Devanagari.\"},{name:'\"vert\"',description:\"Vertical Alternates. Applies only to scripts with vertical writing modes.\"},{name:'\"vhal\"',description:\"Alternate Vertical Half Metrics. Used only in CJKV fonts.\"},{name:'\"vjmo\"',description:\"Vowel Jamo Forms. Required for Hangul script when Ancient Hangul writing system is supported.\"},{name:'\"vkna\"',description:\"Vertical Kana Alternates. Applies only to fonts that support kana (hiragana and katakana).\"},{name:'\"vkrn\"',description:\"Vertical Kerning.\"},{name:'\"vpal\"',description:\"Proportional Alternate Vertical Metrics. Used mostly in CJKV fonts.\"},{name:'\"vrt2\"',description:\"Vertical Alternates and Rotation. Applies only to scripts with vertical writing modes.\"},{name:'\"zero\"',description:\"Slashed Zero.\"},{name:\"normal\",description:\"No change in glyph substitution or positioning occurs.\"},{name:\"off\",description:\"Disable feature.\"},{name:\"on\",description:\"Enable feature.\"}],atRule:\"@font-face\",syntax:\"normal | <feature-tag-value>#\",relevance:57,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-feature-settings\"}],description:\"Provides low-level control over OpenType font features. It is intended as a way of providing access to font features that are not widely used but are needed for a particular use case.\",restrictions:[\"string\",\"integer\"]},{name:\"font-kerning\",browsers:[\"E79\",\"FF32\",\"S9\",\"C33\",\"O20\"],values:[{name:\"auto\",description:\"Specifies that kerning is applied at the discretion of the user agent.\"},{name:\"none\",description:\"Specifies that kerning is not applied.\"},{name:\"normal\",description:\"Specifies that kerning is applied.\"}],syntax:\"auto | normal | none\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-kerning\"}],description:\"Kerning is the contextual adjustment of inter-glyph spacing. This property controls metric kerning, kerning that utilizes adjustment data contained in the font.\",restrictions:[\"enum\"]},{name:\"font-language-override\",browsers:[\"FF34\"],values:[{name:\"normal\",description:\"Implies that when rendering with OpenType fonts the language of the document is used to infer the OpenType language system, used to select language specific features when rendering.\"}],syntax:\"normal | <string>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-language-override\"}],description:\"The value of 'normal' implies that when rendering with OpenType fonts the language of the document is used to infer the OpenType language system, used to select language specific features when rendering.\",restrictions:[\"string\"]},{name:\"font-size\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O7\"],values:[{name:\"large\"},{name:\"larger\"},{name:\"medium\"},{name:\"small\"},{name:\"smaller\"},{name:\"x-large\"},{name:\"x-small\"},{name:\"xx-large\"},{name:\"xx-small\"}],syntax:\"<absolute-size> | <relative-size> | <length-percentage>\",relevance:94,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-size\"}],description:\"Indicates the desired height of glyphs from the font. For scalable fonts, the font-size is a scale factor applied to the EM unit of the font. (Note that certain glyphs may bleed outside their EM box.) For non-scalable fonts, the font-size is converted into absolute units and matched against the declared font-size of the font, using the same absolute coordinate space for both of the matched values.\",restrictions:[\"length\",\"percentage\"]},{name:\"font-size-adjust\",browsers:[\"FF3\",\"S16.4\"],values:[{name:\"none\",description:\"Do not preserve the font's x-height.\"}],syntax:\"none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number> ]\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-size-adjust\"}],description:\"Preserves the readability of text when font fallback occurs by adjusting the font-size so that the x-height is the same regardless of the font used.\",restrictions:[\"number\"]},{name:\"font-stretch\",browsers:[\"E12\",\"FF9\",\"S11\",\"C60\",\"IE9\",\"O47\"],values:[{name:\"condensed\"},{name:\"expanded\"},{name:\"extra-condensed\"},{name:\"extra-expanded\"},{name:\"narrower\",browsers:[\"E12\",\"FF9\",\"S11\",\"C60\",\"IE9\",\"O47\"],description:\"Indicates a narrower value relative to the width of the parent element.\"},{name:\"normal\"},{name:\"semi-condensed\"},{name:\"semi-expanded\"},{name:\"ultra-condensed\"},{name:\"ultra-expanded\"},{name:\"wider\",browsers:[\"E12\",\"FF9\",\"S11\",\"C60\",\"IE9\",\"O47\"],description:\"Indicates a wider value relative to the width of the parent element.\"}],atRule:\"@font-face\",syntax:\"<font-stretch-absolute>{1,2}\",relevance:56,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-stretch\"}],description:\"Selects a normal, condensed, or expanded face from a font family.\",restrictions:[\"enum\"]},{name:\"font-style\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"italic\",description:\"Selects a font that is labeled as an 'italic' face, or an 'oblique' face if one is not\"},{name:\"normal\",description:\"Selects a face that is classified as 'normal'.\"},{name:\"oblique\",description:\"Selects a font that is labeled as an 'oblique' face, or an 'italic' face if one is not.\"}],atRule:\"@font-face\",syntax:\"normal | italic | oblique <angle>{0,2}\",relevance:89,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-style\"}],description:\"Allows italic or oblique faces to be selected. Italic forms are generally cursive in nature while oblique faces are typically sloped versions of the regular face.\",restrictions:[\"enum\"]},{name:\"font-synthesis\",browsers:[\"E97\",\"FF34\",\"S9\",\"C97\",\"O83\"],values:[{name:\"none\",description:\"Disallow all synthetic faces.\"},{name:\"style\",description:\"Allow synthetic italic faces.\"},{name:\"weight\",description:\"Allow synthetic bold faces.\"}],syntax:\"none | [ weight || style || small-caps || position]\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-synthesis\"}],description:\"Controls whether user agents are allowed to synthesize bold or oblique font faces when a font family lacks bold or italic faces.\",restrictions:[\"enum\"]},{name:\"font-variant\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"normal\",description:\"Specifies a face that is not labeled as a small-caps font.\"},{name:\"small-caps\",description:\"Specifies a font that is labeled as a small-caps font. If a genuine small-caps font is not available, user agents should simulate a small-caps font.\"}],syntax:\"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]\",relevance:64,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variant\"}],description:\"Specifies variant representations of the font\",restrictions:[\"enum\"]},{name:\"font-variant-alternates\",browsers:[\"E111\",\"FF34\",\"S9.1\",\"C111\",\"O97\"],values:[{name:\"annotation()\",description:\"Enables display of alternate annotation forms.\"},{name:\"character-variant()\",description:\"Enables display of specific character variants.\"},{name:\"historical-forms\",description:\"Enables display of historical forms.\"},{name:\"normal\",description:\"None of the features are enabled.\"},{name:\"ornaments()\",description:\"Enables replacement of default glyphs with ornaments, if provided in the font.\"},{name:\"styleset()\",description:\"Enables display with stylistic sets.\"},{name:\"stylistic()\",description:\"Enables display of stylistic alternates.\"},{name:\"swash()\",description:\"Enables display of swash glyphs.\"}],syntax:\"normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates\"}],description:\"For any given character, fonts can provide a variety of alternate glyphs in addition to the default glyph for that character. This property provides control over the selection of these alternate glyphs.\",restrictions:[\"enum\"]},{name:\"font-variant-caps\",browsers:[\"E79\",\"FF34\",\"S9.1\",\"C52\",\"O39\"],values:[{name:\"all-petite-caps\",description:\"Enables display of petite capitals for both upper and lowercase letters.\"},{name:\"all-small-caps\",description:\"Enables display of small capitals for both upper and lowercase letters.\"},{name:\"normal\",description:\"None of the features are enabled.\"},{name:\"petite-caps\",description:\"Enables display of petite capitals.\"},{name:\"small-caps\",description:\"Enables display of small capitals. Small-caps glyphs typically use the form of uppercase letters but are reduced to the size of lowercase letters.\"},{name:\"titling-caps\",description:\"Enables display of titling capitals.\"},{name:\"unicase\",description:\"Enables display of mixture of small capitals for uppercase letters with normal lowercase letters.\"}],syntax:\"normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variant-caps\"}],description:\"Specifies control over capitalized forms.\",restrictions:[\"enum\"]},{name:\"font-variant-east-asian\",browsers:[\"E79\",\"FF34\",\"S9.1\",\"C63\",\"O50\"],values:[{name:\"full-width\",description:\"Enables rendering of full-width variants.\"},{name:\"jis04\",description:\"Enables rendering of JIS04 forms.\"},{name:\"jis78\",description:\"Enables rendering of JIS78 forms.\"},{name:\"jis83\",description:\"Enables rendering of JIS83 forms.\"},{name:\"jis90\",description:\"Enables rendering of JIS90 forms.\"},{name:\"normal\",description:\"None of the features are enabled.\"},{name:\"proportional-width\",description:\"Enables rendering of proportionally-spaced variants.\"},{name:\"ruby\",description:\"Enables display of ruby variant glyphs.\"},{name:\"simplified\",description:\"Enables rendering of simplified forms.\"},{name:\"traditional\",description:\"Enables rendering of traditional forms.\"}],syntax:\"normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian\"}],description:\"Allows control of glyph substitute and positioning in East Asian text.\",restrictions:[\"enum\"]},{name:\"font-variant-ligatures\",browsers:[\"E79\",\"FF34\",\"S9.1\",\"C34\",\"O21\"],values:[{name:\"additional-ligatures\",description:\"Enables display of additional ligatures.\"},{name:\"common-ligatures\",description:\"Enables display of common ligatures.\"},{name:\"contextual\",browsers:[\"E79\",\"FF34\",\"S9.1\",\"C34\",\"O21\"],description:\"Enables display of contextual alternates.\"},{name:\"discretionary-ligatures\",description:\"Enables display of discretionary ligatures.\"},{name:\"historical-ligatures\",description:\"Enables display of historical ligatures.\"},{name:\"no-additional-ligatures\",description:\"Disables display of additional ligatures.\"},{name:\"no-common-ligatures\",description:\"Disables display of common ligatures.\"},{name:\"no-contextual\",browsers:[\"E79\",\"FF34\",\"S9.1\",\"C34\",\"O21\"],description:\"Disables display of contextual alternates.\"},{name:\"no-discretionary-ligatures\",description:\"Disables display of discretionary ligatures.\"},{name:\"no-historical-ligatures\",description:\"Disables display of historical ligatures.\"},{name:\"none\",browsers:[\"E79\",\"FF34\",\"S9.1\",\"C34\",\"O21\"],description:\"Disables all ligatures.\"},{name:\"normal\",description:\"Implies that the defaults set by the font are used.\"}],syntax:\"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures\"}],description:\"Specifies control over which ligatures are enabled or disabled. A value of 'normal' implies that the defaults set by the font are used.\",restrictions:[\"enum\"]},{name:\"font-variant-numeric\",browsers:[\"E79\",\"FF34\",\"S9.1\",\"C52\",\"O39\"],values:[{name:\"diagonal-fractions\",description:\"Enables display of lining diagonal fractions.\"},{name:\"lining-nums\",description:\"Enables display of lining numerals.\"},{name:\"normal\",description:\"None of the features are enabled.\"},{name:\"oldstyle-nums\",description:\"Enables display of old-style numerals.\"},{name:\"ordinal\",description:\"Enables display of letter forms used with ordinal numbers.\"},{name:\"proportional-nums\",description:\"Enables display of proportional numerals.\"},{name:\"slashed-zero\",description:\"Enables display of slashed zeros.\"},{name:\"stacked-fractions\",description:\"Enables display of lining stacked fractions.\"},{name:\"tabular-nums\",description:\"Enables display of tabular numerals.\"}],syntax:\"normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric\"}],description:\"Specifies control over numerical forms.\",restrictions:[\"enum\"]},{name:\"font-variant-position\",browsers:[\"E117\",\"FF34\",\"S9.1\",\"C117\",\"O103\"],values:[{name:\"normal\",description:\"None of the features are enabled.\"},{name:\"sub\",description:\"Enables display of subscript variants (OpenType feature: subs).\"},{name:\"super\",description:\"Enables display of superscript variants (OpenType feature: sups).\"}],syntax:\"normal | sub | super\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variant-position\"}],description:\"Specifies the vertical position\",restrictions:[\"enum\"]},{name:\"font-weight\",browsers:[\"E12\",\"FF1\",\"S1\",\"C2\",\"IE3\",\"O3.5\"],values:[{name:\"100\",description:\"Thin\"},{name:\"200\",description:\"Extra Light (Ultra Light)\"},{name:\"300\",description:\"Light\"},{name:\"400\",description:\"Normal\"},{name:\"500\",description:\"Medium\"},{name:\"600\",description:\"Semi Bold (Demi Bold)\"},{name:\"700\",description:\"Bold\"},{name:\"800\",description:\"Extra Bold (Ultra Bold)\"},{name:\"900\",description:\"Black (Heavy)\"},{name:\"bold\",description:\"Same as 700\"},{name:\"bolder\",description:\"Specifies the weight of the face bolder than the inherited value.\"},{name:\"lighter\",description:\"Specifies the weight of the face lighter than the inherited value.\"},{name:\"normal\",description:\"Same as 400\"}],atRule:\"@font-face\",syntax:\"<font-weight-absolute>{1,2}\",relevance:93,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-weight\"}],description:\"Specifies weight of glyphs in the font, their degree of blackness or stroke thickness.\",restrictions:[\"enum\"]},{name:\"glyph-orientation-horizontal\",relevance:50,description:\"Controls glyph orientation when the inline-progression-direction is horizontal.\",restrictions:[\"angle\",\"number\"]},{name:\"glyph-orientation-vertical\",browsers:[\"S13.1\"],values:[{name:\"auto\",description:\"Sets the orientation based on the fullwidth or non-fullwidth characters and the most common orientation.\"}],relevance:50,description:\"Controls glyph orientation when the inline-progression-direction is vertical.\",restrictions:[\"angle\",\"number\",\"enum\"]},{name:\"grid-area\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"The property contributes nothing to the grid item's placement, indicating auto-placement, an automatic span, or a default span of one.\"},{name:\"span\",description:\"Contributes a grid span to the grid item's placement such that the corresponding edge of the grid item's grid area is N lines from its opposite edge.\"}],syntax:\"<grid-line> [ / <grid-line> ]{0,3}\",relevance:57,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-area\"}],description:\"Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement. Shorthand for 'grid-row-start', 'grid-column-start', 'grid-row-end', and 'grid-column-end'.\",restrictions:[\"identifier\",\"integer\"]},{name:\"grid\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],syntax:\"<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid\"}],description:\"The grid CSS property is a shorthand property that sets all of the explicit grid properties ('grid-template-rows', 'grid-template-columns', and 'grid-template-areas'), and all the implicit grid properties ('grid-auto-rows', 'grid-auto-columns', and 'grid-auto-flow'), in a single declaration.\",restrictions:[\"identifier\",\"length\",\"percentage\",\"string\",\"enum\"]},{name:\"grid-auto-columns\",browsers:[\"E16\",\"FF70\",\"S10.1\",\"C57\",\"IE10\",\"O44\"],values:[{name:\"min-content\",description:\"Represents the largest min-content contribution of the grid items occupying the grid track.\"},{name:\"max-content\",description:\"Represents the largest max-content contribution of the grid items occupying the grid track.\"},{name:\"auto\",description:\"As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.\"},{name:\"minmax()\",description:\"Defines a size range greater than or equal to min and less than or equal to max.\"}],syntax:\"<track-size>+\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns\"}],description:\"Specifies the size of implicitly created columns.\",restrictions:[\"length\",\"percentage\"]},{name:\"grid-auto-flow\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"row\",description:\"The auto-placement algorithm places items by filling each row in turn, adding new rows as necessary.\"},{name:\"column\",description:\"The auto-placement algorithm places items by filling each column in turn, adding new columns as necessary.\"},{name:\"dense\",description:'If specified, the auto-placement algorithm uses a \"dense\" packing algorithm, which attempts to fill in holes earlier in the grid if smaller items come up later.'}],syntax:\"[ row | column ] || dense\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow\"}],description:\"Controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.\",restrictions:[\"enum\"]},{name:\"grid-auto-rows\",browsers:[\"E16\",\"FF70\",\"S10.1\",\"C57\",\"IE10\",\"O44\"],values:[{name:\"min-content\",description:\"Represents the largest min-content contribution of the grid items occupying the grid track.\"},{name:\"max-content\",description:\"Represents the largest max-content contribution of the grid items occupying the grid track.\"},{name:\"auto\",description:\"As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.\"},{name:\"minmax()\",description:\"Defines a size range greater than or equal to min and less than or equal to max.\"}],syntax:\"<track-size>+\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows\"}],description:\"Specifies the size of implicitly created rows.\",restrictions:[\"length\",\"percentage\"]},{name:\"grid-column\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"The property contributes nothing to the grid item's placement, indicating auto-placement, an automatic span, or a default span of one.\"},{name:\"span\",description:\"Contributes a grid span to the grid item's placement such that the corresponding edge of the grid item's grid area is N lines from its opposite edge.\"}],syntax:\"<grid-line> [ / <grid-line> ]?\",relevance:56,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-column\"}],description:\"Shorthand for 'grid-column-start' and 'grid-column-end'.\",restrictions:[\"identifier\",\"integer\",\"enum\"]},{name:\"grid-column-end\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"The property contributes nothing to the grid item's placement, indicating auto-placement, an automatic span, or a default span of one.\"},{name:\"span\",description:\"Contributes a grid span to the grid item's placement such that the corresponding edge of the grid item's grid area is N lines from its opposite edge.\"}],syntax:\"<grid-line>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-column-end\"}],description:\"Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.\",restrictions:[\"identifier\",\"integer\",\"enum\"]},{name:\"grid-column-gap\",browsers:[\"FF52\",\"C57\",\"S10.1\",\"O44\"],status:\"obsolete\",syntax:\"<length-percentage>\",relevance:4,description:\"Specifies the gutters between grid columns. Replaced by 'column-gap' property.\",restrictions:[\"length\"]},{name:\"grid-column-start\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"The property contributes nothing to the grid item's placement, indicating auto-placement, an automatic span, or a default span of one.\"},{name:\"span\",description:\"Contributes a grid span to the grid item's placement such that the corresponding edge of the grid item's grid area is N lines from its opposite edge.\"}],syntax:\"<grid-line>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-column-start\"}],description:\"Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.\",restrictions:[\"identifier\",\"integer\",\"enum\"]},{name:\"grid-gap\",browsers:[\"FF52\",\"C57\",\"S10.1\",\"O44\"],status:\"obsolete\",syntax:\"<'grid-row-gap'> <'grid-column-gap'>?\",relevance:5,description:\"Shorthand that specifies the gutters between grid columns and grid rows in one declaration. Replaced by 'gap' property.\",restrictions:[\"length\"]},{name:\"grid-row\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"The property contributes nothing to the grid item's placement, indicating auto-placement, an automatic span, or a default span of one.\"},{name:\"span\",description:\"Contributes a grid span to the grid item's placement such that the corresponding edge of the grid item's grid area is N lines from its opposite edge.\"}],syntax:\"<grid-line> [ / <grid-line> ]?\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-row\"}],description:\"Shorthand for 'grid-row-start' and 'grid-row-end'.\",restrictions:[\"identifier\",\"integer\",\"enum\"]},{name:\"grid-row-end\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"The property contributes nothing to the grid item's placement, indicating auto-placement, an automatic span, or a default span of one.\"},{name:\"span\",description:\"Contributes a grid span to the grid item's placement such that the corresponding edge of the grid item's grid area is N lines from its opposite edge.\"}],syntax:\"<grid-line>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-row-end\"}],description:\"Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.\",restrictions:[\"identifier\",\"integer\",\"enum\"]},{name:\"grid-row-gap\",browsers:[\"FF52\",\"C57\",\"S10.1\",\"O44\"],status:\"obsolete\",syntax:\"<length-percentage>\",relevance:2,description:\"Specifies the gutters between grid rows. Replaced by 'row-gap' property.\",restrictions:[\"length\"]},{name:\"grid-row-start\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"The property contributes nothing to the grid item's placement, indicating auto-placement, an automatic span, or a default span of one.\"},{name:\"span\",description:\"Contributes a grid span to the grid item's placement such that the corresponding edge of the grid item's grid area is N lines from its opposite edge.\"}],syntax:\"<grid-line>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-row-start\"}],description:\"Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.\",restrictions:[\"identifier\",\"integer\",\"enum\"]},{name:\"grid-template\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"none\",description:\"Sets all three properties to their initial values.\"},{name:\"min-content\",description:\"Represents the largest min-content contribution of the grid items occupying the grid track.\"},{name:\"max-content\",description:\"Represents the largest max-content contribution of the grid items occupying the grid track.\"},{name:\"auto\",description:\"As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.\"},{name:\"subgrid\",description:\"Sets 'grid-template-rows' and 'grid-template-columns' to 'subgrid', and 'grid-template-areas' to its initial value.\"},{name:\"minmax()\",description:\"Defines a size range greater than or equal to min and less than or equal to max.\"},{name:\"repeat()\",description:\"Represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.\"}],syntax:\"none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-template\"}],description:\"Shorthand for setting grid-template-columns, grid-template-rows, and grid-template-areas in a single declaration.\",restrictions:[\"identifier\",\"length\",\"percentage\",\"string\",\"enum\"]},{name:\"grid-template-areas\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],values:[{name:\"none\",description:\"The grid container doesn't define any named grid areas.\"}],syntax:\"none | <string>+\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-template-areas\"}],description:\"Specifies named grid areas, which are not associated with any particular grid item, but can be referenced from the grid-placement properties.\",restrictions:[\"string\"]},{name:\"grid-template-columns\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"IE10\",\"O44\"],values:[{name:\"none\",description:\"There is no explicit grid; any rows/columns will be implicitly generated.\"},{name:\"min-content\",description:\"Represents the largest min-content contribution of the grid items occupying the grid track.\"},{name:\"max-content\",description:\"Represents the largest max-content contribution of the grid items occupying the grid track.\"},{name:\"auto\",description:\"As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.\"},{name:\"subgrid\",description:\"Indicates that the grid will align to its parent grid in that axis.\"},{name:\"minmax()\",description:\"Defines a size range greater than or equal to min and less than or equal to max.\"},{name:\"repeat()\",description:\"Represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.\"}],syntax:\"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?\",relevance:64,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-template-columns\"}],description:\"specifies, as a space-separated track list, the line names and track sizing functions of the grid.\",restrictions:[\"identifier\",\"length\",\"percentage\",\"enum\"]},{name:\"grid-template-rows\",browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"IE10\",\"O44\"],values:[{name:\"none\",description:\"There is no explicit grid; any rows/columns will be implicitly generated.\"},{name:\"min-content\",description:\"Represents the largest min-content contribution of the grid items occupying the grid track.\"},{name:\"max-content\",description:\"Represents the largest max-content contribution of the grid items occupying the grid track.\"},{name:\"auto\",description:\"As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.\"},{name:\"subgrid\",description:\"Indicates that the grid will align to its parent grid in that axis.\"},{name:\"minmax()\",description:\"Defines a size range greater than or equal to min and less than or equal to max.\"},{name:\"repeat()\",description:\"Represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.\"}],syntax:\"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?\",relevance:57,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/grid-template-rows\"}],description:\"specifies, as a space-separated track list, the line names and track sizing functions of the grid.\",restrictions:[\"identifier\",\"length\",\"percentage\",\"string\",\"enum\"]},{name:\"height\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"auto\",description:\"The height depends on the values of other properties.\"},{name:\"fit-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.\"},{name:\"max-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Use the max-content inline size or max-content block size, as appropriate to the writing mode.\"},{name:\"min-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Use the min-content inline size or min-content block size, as appropriate to the writing mode.\"}],syntax:\"auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)\",relevance:96,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/height\"}],description:\"Specifies the height of the content area, padding area or border area (depending on 'box-sizing') of certain boxes.\",restrictions:[\"length\",\"percentage\"]},{name:\"hyphens\",browsers:[\"E79\",\"FF43\",\"S17\",\"C55\",\"IE10\",\"O42\"],values:[{name:\"auto\",description:\"Conditional hyphenation characters inside a word, if present, take priority over automatic resources when determining hyphenation points within the word.\"},{name:\"manual\",description:\"Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities\"},{name:\"none\",description:\"Words are not broken at line breaks, even if characters inside the word suggest line break points.\"}],syntax:\"none | manual | auto\",relevance:56,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/hyphens\"}],description:\"Controls whether hyphenation is allowed to create more break opportunities within a line of text.\",restrictions:[\"enum\"]},{name:\"image-orientation\",browsers:[\"E81\",\"FF26\",\"S13.1\",\"C81\",\"O67\"],values:[{name:\"flip\",description:\"After rotating by the precededing angle, the image is flipped horizontally. Defaults to 0deg if the angle is ommitted.\"},{name:\"from-image\",description:\"If the image has an orientation specified in its metadata, such as EXIF, this value computes to the angle that the metadata specifies is necessary to correctly orient the image.\"}],syntax:\"from-image | <angle> | [ <angle>? flip ]\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/image-orientation\"}],description:\"Specifies an orthogonal rotation to be applied to an image before it is laid out.\",restrictions:[\"angle\"]},{name:\"image-rendering\",browsers:[\"E79\",\"FF3.6\",\"S6\",\"C13\",\"O15\"],values:[{name:\"auto\",description:\"The image should be scaled with an algorithm that maximizes the appearance of the image.\"},{name:\"crisp-edges\",description:\"The image must be scaled with an algorithm that preserves contrast and edges in the image, and which does not smooth colors or introduce blur to the image in the process.\"},{name:\"-moz-crisp-edges\",browsers:[\"E79\",\"FF3.6\",\"S6\",\"C13\",\"O15\"]},{name:\"optimizeQuality\",description:\"Deprecated.\"},{name:\"optimizeSpeed\",description:\"Deprecated.\"},{name:\"pixelated\",description:\"When scaling the image up, the 'nearest neighbor' or similar algorithm must be used, so that the image appears to be simply composed of very large pixels.\"}],syntax:\"auto | crisp-edges | pixelated\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/image-rendering\"}],description:\"Provides a hint to the user-agent about what aspects of an image are most important to preserve when the image is scaled, to aid the user-agent in the choice of an appropriate scaling algorithm.\",restrictions:[\"enum\"]},{name:\"ime-mode\",browsers:[\"E12\",\"FF3\",\"IE5\"],values:[{name:\"active\",description:\"The input method editor is initially active; text entry is performed using it unless the user specifically dismisses it.\"},{name:\"auto\",description:\"No change is made to the current input method editor state. This is the default.\"},{name:\"disabled\",description:\"The input method editor is disabled and may not be activated by the user.\"},{name:\"inactive\",description:\"The input method editor is initially inactive, but the user may activate it if they wish.\"},{name:\"normal\",description:\"The IME state should be normal; this value can be used in a user style sheet to override the page setting.\"}],status:\"obsolete\",syntax:\"auto | normal | active | inactive | disabled\",relevance:0,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/ime-mode\"}],description:\"Controls the state of the input method editor for text fields.\",restrictions:[\"enum\"]},{name:\"inline-size\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C57\",\"O44\"],values:[{name:\"auto\",description:\"Depends on the values of other properties.\"}],syntax:\"<'width'>\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/inline-size\"}],description:\"Size of an element in the direction specified by 'writing-mode'.\",restrictions:[\"length\",\"percentage\"]},{name:\"isolation\",browsers:[\"E79\",\"FF36\",\"S8\",\"C41\",\"O30\"],values:[{name:\"auto\",description:\"Elements are not isolated unless an operation is applied that causes the creation of a stacking context.\"},{name:\"isolate\",description:\"In CSS will turn the element into a stacking context.\"}],syntax:\"auto | isolate\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/isolation\"}],description:\"In CSS setting to 'isolate' will turn the element into a stacking context. In SVG, it defines whether an element is isolated or not.\",restrictions:[\"enum\"]},{name:\"justify-content\",browsers:[\"E12\",\"FF20\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],values:[{name:\"center\",description:\"Flex items are packed toward the center of the line.\"},{name:\"start\",description:\"The items are packed flush to each other toward the start edge of the alignment container in the main axis.\"},{name:\"end\",description:\"The items are packed flush to each other toward the end edge of the alignment container in the main axis.\"},{name:\"left\",description:\"The items are packed flush to each other toward the left edge of the alignment container in the main axis.\"},{name:\"right\",description:\"The items are packed flush to each other toward the right edge of the alignment container in the main axis.\"},{name:\"safe\",description:\"If the size of the item overflows the alignment container, the item is instead aligned as if the alignment mode were start.\"},{name:\"unsafe\",description:\"Regardless of the relative sizes of the item and alignment container, the given alignment value is honored.\"},{name:\"stretch\",description:\"If the combined size of the alignment subjects is less than the size of the alignment container, any auto-sized alignment subjects have their size increased equally (not proportionally), while still respecting the constraints imposed by max-height/max-width (or equivalent functionality), so that the combined size exactly fills the alignment container.\"},{name:\"space-evenly\",description:\"The items are evenly distributed within the alignment container along the main axis.\"},{name:\"flex-end\",description:\"Flex items are packed toward the end of the line.\"},{name:\"flex-start\",description:\"Flex items are packed toward the start of the line.\"},{name:\"space-around\",description:\"Flex items are evenly distributed in the line, with half-size spaces on either end.\"},{name:\"space-between\",description:\"Flex items are evenly distributed in the line.\"},{name:\"baseline\",description:\"Specifies participation in first-baseline alignment.\"},{name:\"first baseline\",description:\"Specifies participation in first-baseline alignment.\"},{name:\"last baseline\",description:\"Specifies participation in last-baseline alignment.\"}],syntax:\"normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]\",relevance:87,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/justify-content\"}],description:\"Aligns flex items along the main axis of the current line of the flex container.\",restrictions:[\"enum\"]},{name:\"kerning\",values:[{name:\"auto\",description:\"Indicates that the user agent should adjust inter-glyph spacing based on kerning tables that are included in the font that will be used.\"}],relevance:50,description:\"Indicates whether the user agent should adjust inter-glyph spacing based on kerning tables that are included in the relevant font or instead disable auto-kerning and set inter-character spacing to a specific length.\",restrictions:[\"length\",\"enum\"]},{name:\"left\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O5\"],values:[{name:\"auto\",description:\"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well\"}],syntax:\"<length> | <percentage> | auto\",relevance:94,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/left\"}],description:\"Specifies how far an absolutely positioned box's left margin edge is offset to the right of the left edge of the box's 'containing block'.\",restrictions:[\"length\",\"percentage\"]},{name:\"letter-spacing\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"normal\",description:\"The spacing is the normal spacing for the current font. It is typically zero-length.\"}],syntax:\"normal | <length>\",relevance:81,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/letter-spacing\"}],description:\"Specifies the minimum, maximum, and optimal spacing between grapheme clusters.\",restrictions:[\"length\"]},{name:\"lighting-color\",browsers:[\"E12\",\"FF3\",\"S6\",\"C5\",\"IE\",\"O15\"],relevance:50,description:\"Defines the color of the light source for filter primitives 'feDiffuseLighting' and 'feSpecularLighting'.\",restrictions:[\"color\"]},{name:\"line-break\",browsers:[\"E14\",\"FF69\",\"S11\",\"C58\",\"IE5.5\",\"O45\"],values:[{name:\"auto\",description:\"The UA determines the set of line-breaking restrictions to use for CJK scripts, and it may vary the restrictions based on the length of the line; e.g., use a less restrictive set of line-break rules for short lines.\"},{name:\"loose\",description:\"Breaks text using the least restrictive set of line-breaking rules. Typically used for short lines, such as in newspapers.\"},{name:\"normal\",description:\"Breaks text using the most common set of line-breaking rules.\"},{name:\"strict\",description:\"Breaks CJK scripts using a more restrictive set of line-breaking rules than 'normal'.\"},{name:\"anywhere\",description:\"There is a soft wrap opportunity around every typographic character unit, including around any punctuation character or preserved white spaces, or in the middle of words, disregarding any prohibition against line breaks, even those introduced by characters with the GL, WJ, or ZWJ line breaking classes or mandated by the word-break property.\"}],syntax:\"auto | loose | normal | strict | anywhere\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/line-break\"}],description:\"Specifies what set of line breaking restrictions are in effect within the element.\",restrictions:[\"enum\"]},{name:\"line-height\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"normal\",description:\"Tells user agents to set the computed value to a 'reasonable' value based on the font size of the element.\"}],syntax:\"normal | <number> | <length> | <percentage>\",relevance:92,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/line-height\"}],description:\"Determines the block-progression dimension of the text content area of an inline box.\",restrictions:[\"number\",\"length\",\"percentage\"]},{name:\"list-style\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"armenian\"},{name:\"circle\",description:\"A hollow circle.\"},{name:\"decimal\"},{name:\"decimal-leading-zero\"},{name:\"disc\",description:\"A filled circle.\"},{name:\"georgian\"},{name:\"inside\",description:\"The marker box is outside the principal block box, as described in the section on the ::marker pseudo-element below.\"},{name:\"lower-alpha\"},{name:\"lower-greek\"},{name:\"lower-latin\"},{name:\"lower-roman\"},{name:\"none\"},{name:\"outside\",description:\"The ::marker pseudo-element is an inline element placed immediately before all ::before pseudo-elements in the principal block box, after which the element's content flows.\"},{name:\"square\",description:\"A filled square.\"},{name:\"symbols()\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Allows a counter style to be defined inline.\"},{name:\"upper-alpha\"},{name:\"upper-latin\"},{name:\"upper-roman\"},{name:\"url()\"}],syntax:\"<'list-style-type'> || <'list-style-position'> || <'list-style-image'>\",relevance:83,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/list-style\"}],description:\"Shorthand for setting 'list-style-type', 'list-style-position' and 'list-style-image'\",restrictions:[\"image\",\"enum\",\"url\"]},{name:\"list-style-image\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"none\",description:\"The default contents of the of the list item's marker are given by 'list-style-type' instead.\"}],syntax:\"<image> | none\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/list-style-image\"}],description:\"Sets the image that will be used as the list item marker. When the image is available, it will replace the marker set with the 'list-style-type' marker.\",restrictions:[\"image\"]},{name:\"list-style-position\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"inside\",description:\"The marker box is outside the principal block box, as described in the section on the ::marker pseudo-element below.\"},{name:\"outside\",description:\"The ::marker pseudo-element is an inline element placed immediately before all ::before pseudo-elements in the principal block box, after which the element's content flows.\"}],syntax:\"inside | outside\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/list-style-position\"}],description:\"Specifies the position of the '::marker' pseudo-element's box in the list item.\",restrictions:[\"enum\"]},{name:\"list-style-type\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"armenian\",description:\"Traditional uppercase Armenian numbering.\"},{name:\"circle\",description:\"A hollow circle.\"},{name:\"decimal\",description:\"Western decimal numbers.\"},{name:\"decimal-leading-zero\",description:\"Decimal numbers padded by initial zeros.\"},{name:\"disc\",description:\"A filled circle.\"},{name:\"georgian\",description:\"Traditional Georgian numbering.\"},{name:\"lower-alpha\",description:\"Lowercase ASCII letters.\"},{name:\"lower-greek\",description:\"Lowercase classical Greek.\"},{name:\"lower-latin\",description:\"Lowercase ASCII letters.\"},{name:\"lower-roman\",description:\"Lowercase ASCII Roman numerals.\"},{name:\"none\",description:\"No marker\"},{name:\"square\",description:\"A filled square.\"},{name:\"symbols()\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],description:\"Allows a counter style to be defined inline.\"},{name:\"upper-alpha\",description:\"Uppercase ASCII letters.\"},{name:\"upper-latin\",description:\"Uppercase ASCII letters.\"},{name:\"upper-roman\",description:\"Uppercase ASCII Roman numerals.\"}],syntax:\"<counter-style> | <string> | none\",relevance:73,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/list-style-type\"}],description:\"Used to construct the default contents of a list item's marker\",restrictions:[\"enum\",\"string\"]},{name:\"margin\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"auto\"}],syntax:\"[ <length> | <percentage> | auto ]{1,4}\",relevance:95,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin\"}],description:\"Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits.\",restrictions:[\"length\",\"percentage\"]},{name:\"margin-block-end\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],values:[{name:\"auto\"}],syntax:\"<'margin-left'>\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-block-end\"}],description:\"Logical 'margin-bottom'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"margin-block-start\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],values:[{name:\"auto\"}],syntax:\"<'margin-left'>\",relevance:56,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-block-start\"}],description:\"Logical 'margin-top'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"margin-bottom\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"auto\"}],syntax:\"<length> | <percentage> | auto\",relevance:91,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-bottom\"}],description:\"Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..\",restrictions:[\"length\",\"percentage\"]},{name:\"margin-inline-end\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],values:[{name:\"auto\"}],syntax:\"<'margin-left'>\",relevance:58,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-inline-end\"}],description:\"Logical 'margin-right'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"margin-inline-start\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],values:[{name:\"auto\"}],syntax:\"<'margin-left'>\",relevance:59,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-inline-start\"}],description:\"Logical 'margin-left'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"margin-left\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"auto\"}],syntax:\"<length> | <percentage> | auto\",relevance:91,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-left\"}],description:\"Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..\",restrictions:[\"length\",\"percentage\"]},{name:\"margin-right\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"auto\"}],syntax:\"<length> | <percentage> | auto\",relevance:91,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-right\"}],description:\"Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..\",restrictions:[\"length\",\"percentage\"]},{name:\"margin-top\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"auto\"}],syntax:\"<length> | <percentage> | auto\",relevance:94,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-top\"}],description:\"Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..\",restrictions:[\"length\",\"percentage\"]},{name:\"marker\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"none\",description:\"Indicates that no marker symbol will be drawn at the given vertex or vertices.\"},{name:\"url()\",description:\"Indicates that the <marker> element referenced will be used.\"}],relevance:50,description:\"Specifies the marker symbol that shall be used for all points on the sets the value for all vertices on the given 'path' element or basic shape.\",restrictions:[\"url\"]},{name:\"marker-end\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"none\",description:\"Indicates that no marker symbol will be drawn at the given vertex or vertices.\"},{name:\"url()\",description:\"Indicates that the <marker> element referenced will be used.\"}],relevance:50,description:\"Specifies the marker that will be drawn at the last vertices of the given markable element.\",restrictions:[\"url\"]},{name:\"marker-mid\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"none\",description:\"Indicates that no marker symbol will be drawn at the given vertex or vertices.\"},{name:\"url()\",description:\"Indicates that the <marker> element referenced will be used.\"}],relevance:50,description:\"Specifies the marker that will be drawn at all vertices except the first and last.\",restrictions:[\"url\"]},{name:\"marker-start\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"none\",description:\"Indicates that no marker symbol will be drawn at the given vertex or vertices.\"},{name:\"url()\",description:\"Indicates that the <marker> element referenced will be used.\"}],relevance:50,description:\"Specifies the marker that will be drawn at the first vertices of the given markable element.\",restrictions:[\"url\"]},{name:\"mask-image\",browsers:[\"E79\",\"FF53\",\"S15.4\",\"C120\",\"O15\"],values:[{name:\"none\",description:\"Counts as a transparent black image layer.\"},{name:\"url()\",description:\"Reference to a <mask element or to a CSS image.\"}],syntax:\"<mask-reference>#\",relevance:57,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-image\"}],description:\"Sets the mask layer image of an element.\",restrictions:[\"url\",\"image\",\"enum\"]},{name:\"mask-mode\",browsers:[\"E120\",\"FF53\",\"S15.4\",\"C120\",\"O106\"],values:[{name:\"alpha\",description:\"Alpha values of the mask layer image should be used as the mask values.\"},{name:\"auto\",description:\"Use alpha values if 'mask-image' is an image, luminance if a <mask> element or a CSS image.\"},{name:\"luminance\",description:\"Luminance values of the mask layer image should be used as the mask values.\"}],syntax:\"<masking-mode>#\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-mode\"}],description:\"Indicates whether the mask layer image is treated as luminance mask or alpha mask.\",restrictions:[\"url\",\"image\",\"enum\"]},{name:\"mask-origin\",browsers:[\"E120\",\"FF53\",\"S15.4\",\"C120\",\"O106\"],syntax:\"<geometry-box>#\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-origin\"}],description:\"Specifies the mask positioning area.\",restrictions:[\"geometry-box\",\"enum\"]},{name:\"mask-position\",browsers:[\"E79\",\"FF53\",\"S15.4\",\"C120\",\"O106\"],syntax:\"<position>#\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-position\"}],description:\"Specifies how mask layer images are positioned.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"mask-repeat\",browsers:[\"E79\",\"FF53\",\"S15.4\",\"C120\",\"O106\"],syntax:\"<repeat-style>#\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-repeat\"}],description:\"Specifies how mask layer images are tiled after they have been sized and positioned.\",restrictions:[\"repeat\"]},{name:\"mask-size\",browsers:[\"E79\",\"FF53\",\"S15.4\",\"C120\",\"O106\"],values:[{name:\"auto\",description:\"Resolved by using the image's intrinsic ratio and the size of the other dimension, or failing that, using the image's intrinsic size, or failing that, treating it as 100%.\"},{name:\"contain\",description:\"Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area.\"},{name:\"cover\",description:\"Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area.\"}],syntax:\"<bg-size>#\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-size\"}],description:\"Specifies the size of the mask layer images.\",restrictions:[\"length\",\"percentage\",\"enum\"]},{name:\"mask-type\",browsers:[\"E79\",\"FF35\",\"S7\",\"C24\",\"O15\"],values:[{name:\"alpha\",description:\"Indicates that the alpha values of the mask should be used.\"},{name:\"luminance\",description:\"Indicates that the luminance values of the mask should be used.\"}],syntax:\"luminance | alpha\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-type\"}],description:\"Defines whether the content of the <mask> element is treated as as luminance mask or alpha mask.\",restrictions:[\"enum\"]},{name:\"max-block-size\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C57\",\"O44\"],values:[{name:\"none\",description:\"No limit on the width of the box.\"}],syntax:\"<'max-width'>\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/max-block-size\"}],description:\"Maximum size of an element in the direction opposite that of the direction specified by 'writing-mode'.\",restrictions:[\"length\",\"percentage\"]},{name:\"max-height\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C18\",\"IE7\",\"O7\"],values:[{name:\"none\",description:\"No limit on the height of the box.\"},{name:\"fit-content\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C18\",\"IE7\",\"O7\"],description:\"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.\"},{name:\"max-content\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C18\",\"IE7\",\"O7\"],description:\"Use the max-content inline size or max-content block size, as appropriate to the writing mode.\"},{name:\"min-content\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C18\",\"IE7\",\"O7\"],description:\"Use the min-content inline size or min-content block size, as appropriate to the writing mode.\"}],syntax:\"none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)\",relevance:85,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/max-height\"}],description:\"Allows authors to constrain content height to a certain range.\",restrictions:[\"length\",\"percentage\"]},{name:\"max-inline-size\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C57\",\"O44\"],values:[{name:\"none\",description:\"No limit on the height of the box.\"}],syntax:\"<'max-width'>\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/max-inline-size\"}],description:\"Maximum size of an element in the direction specified by 'writing-mode'.\",restrictions:[\"length\",\"percentage\"]},{name:\"max-width\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"],values:[{name:\"none\",description:\"No limit on the width of the box.\"},{name:\"fit-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"],description:\"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.\"},{name:\"max-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"],description:\"Use the max-content inline size or max-content block size, as appropriate to the writing mode.\"},{name:\"min-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"],description:\"Use the min-content inline size or min-content block size, as appropriate to the writing mode.\"}],syntax:\"none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)\",relevance:91,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/max-width\"}],description:\"Allows authors to constrain content width to a certain range.\",restrictions:[\"length\",\"percentage\"]},{name:\"min-block-size\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C57\",\"O44\"],syntax:\"<'min-width'>\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/min-block-size\"}],description:\"Minimal size of an element in the direction opposite that of the direction specified by 'writing-mode'.\",restrictions:[\"length\",\"percentage\"]},{name:\"min-height\",browsers:[\"E12\",\"FF3\",\"S1.3\",\"C1\",\"IE7\",\"O4\"],values:[{name:\"auto\",browsers:[\"E12\",\"FF3\",\"S1.3\",\"C1\",\"IE7\",\"O4\"]},{name:\"fit-content\",browsers:[\"E12\",\"FF3\",\"S1.3\",\"C1\",\"IE7\",\"O4\"],description:\"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.\"},{name:\"max-content\",browsers:[\"E12\",\"FF3\",\"S1.3\",\"C1\",\"IE7\",\"O4\"],description:\"Use the max-content inline size or max-content block size, as appropriate to the writing mode.\"},{name:\"min-content\",browsers:[\"E12\",\"FF3\",\"S1.3\",\"C1\",\"IE7\",\"O4\"],description:\"Use the min-content inline size or min-content block size, as appropriate to the writing mode.\"}],syntax:\"auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)\",relevance:89,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/min-height\"}],description:\"Allows authors to constrain content height to a certain range.\",restrictions:[\"length\",\"percentage\"]},{name:\"min-inline-size\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C57\",\"O44\"],syntax:\"<'min-width'>\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/min-inline-size\"}],description:\"Minimal size of an element in the direction specified by 'writing-mode'.\",restrictions:[\"length\",\"percentage\"]},{name:\"min-width\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"],values:[{name:\"auto\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"]},{name:\"fit-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"],description:\"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.\"},{name:\"max-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"],description:\"Use the max-content inline size or max-content block size, as appropriate to the writing mode.\"},{name:\"min-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE7\",\"O4\"],description:\"Use the min-content inline size or min-content block size, as appropriate to the writing mode.\"}],syntax:\"auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)\",relevance:88,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/min-width\"}],description:\"Allows authors to constrain content width to a certain range.\",restrictions:[\"length\",\"percentage\"]},{name:\"mix-blend-mode\",browsers:[\"E79\",\"FF32\",\"S8\",\"C41\",\"O28\"],values:[{name:\"normal\",description:\"Default attribute which specifies no blending\"},{name:\"multiply\",description:\"The source color is multiplied by the destination color and replaces the destination.\"},{name:\"screen\",description:\"Multiplies the complements of the backdrop and source color values, then complements the result.\"},{name:\"overlay\",description:\"Multiplies or screens the colors, depending on the backdrop color value.\"},{name:\"darken\",description:\"Selects the darker of the backdrop and source colors.\"},{name:\"lighten\",description:\"Selects the lighter of the backdrop and source colors.\"},{name:\"color-dodge\",description:\"Brightens the backdrop color to reflect the source color.\"},{name:\"color-burn\",description:\"Darkens the backdrop color to reflect the source color.\"},{name:\"hard-light\",description:\"Multiplies or screens the colors, depending on the source color value.\"},{name:\"soft-light\",description:\"Darkens or lightens the colors, depending on the source color value.\"},{name:\"difference\",description:\"Subtracts the darker of the two constituent colors from the lighter color..\"},{name:\"exclusion\",description:\"Produces an effect similar to that of the Difference mode but lower in contrast.\"},{name:\"hue\",browsers:[\"E79\",\"FF32\",\"S8\",\"C41\",\"O28\"],description:\"Creates a color with the hue of the source color and the saturation and luminosity of the backdrop color.\"},{name:\"saturation\",browsers:[\"E79\",\"FF32\",\"S8\",\"C41\",\"O28\"],description:\"Creates a color with the saturation of the source color and the hue and luminosity of the backdrop color.\"},{name:\"color\",browsers:[\"E79\",\"FF32\",\"S8\",\"C41\",\"O28\"],description:\"Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color.\"},{name:\"luminosity\",browsers:[\"E79\",\"FF32\",\"S8\",\"C41\",\"O28\"],description:\"Creates a color with the luminosity of the source color and the hue and saturation of the backdrop color.\"}],syntax:\"<blend-mode> | plus-lighter\",relevance:54,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode\"}],description:\"Defines the formula that must be used to mix the colors with the backdrop.\",restrictions:[\"enum\"]},{name:\"motion\",browsers:[\"C46\",\"O33\"],values:[{name:\"none\",description:\"No motion path gets created.\"},{name:\"path()\",description:\"Defines an SVG path as a string, with optional 'fill-rule' as the first argument.\"},{name:\"auto\",description:\"Indicates that the object is rotated by the angle of the direction of the motion path.\"},{name:\"reverse\",description:\"Indicates that the object is rotated by the angle of the direction of the motion path plus 180 degrees.\"}],relevance:50,description:\"Shorthand property for setting 'motion-path', 'motion-offset' and 'motion-rotation'.\",restrictions:[\"url\",\"length\",\"percentage\",\"angle\",\"shape\",\"geometry-box\",\"enum\"]},{name:\"motion-offset\",browsers:[\"C46\",\"O33\"],relevance:50,description:\"A distance that describes the position along the specified motion path.\",restrictions:[\"length\",\"percentage\"]},{name:\"motion-path\",browsers:[\"C46\",\"O33\"],values:[{name:\"none\",description:\"No motion path gets created.\"},{name:\"path()\",description:\"Defines an SVG path as a string, with optional 'fill-rule' as the first argument.\"}],relevance:50,description:\"Specifies the motion path the element gets positioned at.\",restrictions:[\"url\",\"shape\",\"geometry-box\",\"enum\"]},{name:\"motion-rotation\",browsers:[\"C46\",\"O33\"],values:[{name:\"auto\",description:\"Indicates that the object is rotated by the angle of the direction of the motion path.\"},{name:\"reverse\",description:\"Indicates that the object is rotated by the angle of the direction of the motion path plus 180 degrees.\"}],relevance:50,description:\"Defines the direction of the element while positioning along the motion path.\",restrictions:[\"angle\"]},{name:\"-moz-animation\",browsers:[\"FF9\"],values:[{name:\"alternate\",description:\"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.\"},{name:\"alternate-reverse\",description:\"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.\"},{name:\"backwards\",description:\"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.\"},{name:\"both\",description:\"Both forwards and backwards fill modes are applied.\"},{name:\"forwards\",description:\"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.\"},{name:\"infinite\",description:\"Causes the animation to repeat forever.\"},{name:\"none\",description:\"No animation is performed\"},{name:\"normal\",description:\"Normal playback.\"},{name:\"reverse\",description:\"All iterations of the animation are played in the reverse direction from the way they were specified.\"}],relevance:50,description:\"Shorthand property combines six of the animation properties into a single property.\",restrictions:[\"time\",\"enum\",\"timing-function\",\"identifier\",\"number\"]},{name:\"-moz-animation-delay\",browsers:[\"FF9\"],relevance:50,description:\"Defines when the animation will start.\",restrictions:[\"time\"]},{name:\"-moz-animation-direction\",browsers:[\"FF9\"],values:[{name:\"alternate\",description:\"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.\"},{name:\"alternate-reverse\",description:\"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.\"},{name:\"normal\",description:\"Normal playback.\"},{name:\"reverse\",description:\"All iterations of the animation are played in the reverse direction from the way they were specified.\"}],relevance:50,description:\"Defines whether or not the animation should play in reverse on alternate cycles.\",restrictions:[\"enum\"]},{name:\"-moz-animation-duration\",browsers:[\"FF9\"],relevance:50,description:\"Defines the length of time that an animation takes to complete one cycle.\",restrictions:[\"time\"]},{name:\"-moz-animation-iteration-count\",browsers:[\"FF9\"],values:[{name:\"infinite\",description:\"Causes the animation to repeat forever.\"}],relevance:50,description:\"Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.\",restrictions:[\"number\",\"enum\"]},{name:\"-moz-animation-name\",browsers:[\"FF9\"],values:[{name:\"none\",description:\"No animation is performed\"}],relevance:50,description:\"Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.\",restrictions:[\"identifier\",\"enum\"]},{name:\"-moz-animation-play-state\",browsers:[\"FF9\"],values:[{name:\"paused\",description:\"A running animation will be paused.\"},{name:\"running\",description:\"Resume playback of a paused animation.\"}],relevance:50,description:\"Defines whether the animation is running or paused.\",restrictions:[\"enum\"]},{name:\"-moz-animation-timing-function\",browsers:[\"FF9\"],relevance:50,description:\"Describes how the animation will progress over one cycle of its duration. See the 'transition-timing-function'.\",restrictions:[\"timing-function\"]},{name:\"-moz-appearance\",browsers:[\"FF1\"],values:[{name:\"button\"},{name:\"button-arrow-down\"},{name:\"button-arrow-next\"},{name:\"button-arrow-previous\"},{name:\"button-arrow-up\"},{name:\"button-bevel\"},{name:\"checkbox\"},{name:\"checkbox-container\"},{name:\"checkbox-label\"},{name:\"dialog\"},{name:\"groupbox\"},{name:\"listbox\"},{name:\"menuarrow\"},{name:\"menuimage\"},{name:\"menuitem\"},{name:\"menuitemtext\"},{name:\"menulist\"},{name:\"menulist-button\"},{name:\"menulist-text\"},{name:\"menulist-textfield\"},{name:\"menupopup\"},{name:\"menuradio\"},{name:\"menuseparator\"},{name:\"-moz-mac-unified-toolbar\"},{name:\"-moz-win-borderless-glass\"},{name:\"-moz-win-browsertabbar-toolbox\"},{name:\"-moz-win-communications-toolbox\"},{name:\"-moz-win-glass\"},{name:\"-moz-win-media-toolbox\"},{name:\"none\"},{name:\"progressbar\"},{name:\"progresschunk\"},{name:\"radio\"},{name:\"radio-container\"},{name:\"radio-label\"},{name:\"radiomenuitem\"},{name:\"resizer\"},{name:\"resizerpanel\"},{name:\"scrollbarbutton-down\"},{name:\"scrollbarbutton-left\"},{name:\"scrollbarbutton-right\"},{name:\"scrollbarbutton-up\"},{name:\"scrollbar-small\"},{name:\"scrollbartrack-horizontal\"},{name:\"scrollbartrack-vertical\"},{name:\"separator\"},{name:\"spinner\"},{name:\"spinner-downbutton\"},{name:\"spinner-textfield\"},{name:\"spinner-upbutton\"},{name:\"statusbar\"},{name:\"statusbarpanel\"},{name:\"tab\"},{name:\"tabpanels\"},{name:\"tab-scroll-arrow-back\"},{name:\"tab-scroll-arrow-forward\"},{name:\"textfield\"},{name:\"textfield-multiline\"},{name:\"toolbar\"},{name:\"toolbox\"},{name:\"tooltip\"},{name:\"treeheadercell\"},{name:\"treeheadersortarrow\"},{name:\"treeitem\"},{name:\"treetwistyopen\"},{name:\"treeview\"},{name:\"treewisty\"},{name:\"window\"}],status:\"nonstandard\",syntax:\"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized\",relevance:0,description:\"Used in Gecko (Firefox) to display an element using a platform-native styling based on the operating system's theme.\",restrictions:[\"enum\"]},{name:\"-moz-backface-visibility\",browsers:[\"FF10\"],values:[{name:\"hidden\"},{name:\"visible\"}],relevance:50,description:\"Determines whether or not the 'back' side of a transformed element is visible when facing the viewer. With an identity transform, the front side of an element faces the viewer.\",restrictions:[\"enum\"]},{name:\"-moz-background-clip\",browsers:[\"FF1-3.6\"],values:[{name:\"padding\"}],relevance:50,description:\"Determines the background painting area.\",restrictions:[\"box\",\"enum\"]},{name:\"-moz-background-inline-policy\",browsers:[\"FF1\"],values:[{name:\"bounding-box\"},{name:\"continuous\"},{name:\"each-box\"}],relevance:50,description:\"In Gecko-based applications like Firefox, the -moz-background-inline-policy CSS property specifies how the background image of an inline element is determined when the content of the inline element wraps onto multiple lines. The choice of position has significant effects on repetition.\",restrictions:[\"enum\"]},{name:\"-moz-background-origin\",browsers:[\"FF1\"],relevance:50,description:\"For elements rendered as a single box, specifies the background positioning area. For elements rendered as multiple boxes (e.g., inline boxes on several lines, boxes on several pages) specifies which boxes 'box-decoration-break' operates on to determine the background positioning area(s).\",restrictions:[\"box\"]},{name:\"-moz-border-bottom-colors\",browsers:[\"FF1\"],status:\"nonstandard\",syntax:\"<color>+ | none\",relevance:0,description:\"Sets a list of colors for the bottom border.\",restrictions:[\"color\"]},{name:\"-moz-border-image\",browsers:[\"FF3.6\"],values:[{name:\"auto\",description:\"If 'auto' is specified then the border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.\"},{name:\"fill\",description:\"Causes the middle part of the border-image to be preserved.\"},{name:\"none\"},{name:\"repeat\",description:\"The image is tiled (repeated) to fill the area.\"},{name:\"round\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.\"},{name:\"space\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.\"},{name:\"stretch\",description:\"The image is stretched to fill the area.\"},{name:\"url()\"}],relevance:50,description:\"Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.\",restrictions:[\"length\",\"percentage\",\"number\",\"url\",\"enum\"]},{name:\"-moz-border-left-colors\",browsers:[\"FF1\"],status:\"nonstandard\",syntax:\"<color>+ | none\",relevance:0,description:\"Sets a list of colors for the bottom border.\",restrictions:[\"color\"]},{name:\"-moz-border-right-colors\",browsers:[\"FF1\"],status:\"nonstandard\",syntax:\"<color>+ | none\",relevance:0,description:\"Sets a list of colors for the bottom border.\",restrictions:[\"color\"]},{name:\"-moz-border-top-colors\",browsers:[\"FF1\"],status:\"nonstandard\",syntax:\"<color>+ | none\",relevance:0,description:\"Ske Firefox, -moz-border-bottom-colors sets a list of colors for the bottom border.\",restrictions:[\"color\"]},{name:\"-moz-box-align\",browsers:[\"FF1\"],values:[{name:\"baseline\",description:\"If this box orientation is inline-axis or horizontal, all children are placed with their baselines aligned, and extra space placed before or after as necessary. For block flows, the baseline of the first non-empty line box located within the element is used. For tables, the baseline of the first cell is used.\"},{name:\"center\",description:\"Any extra space is divided evenly, with half placed above the child and the other half placed after the child.\"},{name:\"end\",description:\"For normal direction boxes, the bottom edge of each child is placed along the bottom of the box. Extra space is placed above the element. For reverse direction boxes, the top edge of each child is placed along the top of the box. Extra space is placed below the element.\"},{name:\"start\",description:\"For normal direction boxes, the top edge of each child is placed along the top of the box. Extra space is placed below the element. For reverse direction boxes, the bottom edge of each child is placed along the bottom of the box. Extra space is placed above the element.\"},{name:\"stretch\",description:\"The height of each child is adjusted to that of the containing block.\"}],relevance:50,description:\"Specifies how a XUL box aligns its contents across (perpendicular to) the direction of its layout. The effect of this is only visible if there is extra space in the box.\",restrictions:[\"enum\"]},{name:\"-moz-box-direction\",browsers:[\"FF1\"],values:[{name:\"normal\",description:\"A box with a computed value of horizontal for box-orient displays its children from left to right. A box with a computed value of vertical displays its children from top to bottom.\"},{name:\"reverse\",description:\"A box with a computed value of horizontal for box-orient displays its children from right to left. A box with a computed value of vertical displays its children from bottom to top.\"}],relevance:50,description:\"Specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).\",restrictions:[\"enum\"]},{name:\"-moz-box-flex\",browsers:[\"FF1\"],relevance:50,description:\"Specifies how a box grows to fill the box that contains it, in the direction of the containing box's layout.\",restrictions:[\"number\"]},{name:\"-moz-box-flexgroup\",browsers:[\"FF1\"],relevance:50,description:\"Flexible elements can be assigned to flex groups using the 'box-flex-group' property.\",restrictions:[\"integer\"]},{name:\"-moz-box-ordinal-group\",browsers:[\"FF1\"],relevance:50,description:\"Indicates the ordinal group the element belongs to. Elements with a lower ordinal group are displayed before those with a higher ordinal group.\",restrictions:[\"integer\"]},{name:\"-moz-box-orient\",browsers:[\"FF1\"],values:[{name:\"block-axis\",description:\"Elements are oriented along the box's axis.\"},{name:\"horizontal\",description:\"The box displays its children from left to right in a horizontal line.\"},{name:\"inline-axis\",description:\"Elements are oriented vertically.\"},{name:\"vertical\",description:\"The box displays its children from stacked from top to bottom vertically.\"}],relevance:50,description:\"In Mozilla applications, -moz-box-orient specifies whether a box lays out its contents horizontally or vertically.\",restrictions:[\"enum\"]},{name:\"-moz-box-pack\",browsers:[\"FF1\"],values:[{name:\"center\",description:\"The extra space is divided evenly, with half placed before the first child and the other half placed after the last child.\"},{name:\"end\",description:\"For normal direction boxes, the right edge of the last child is placed at the right side, with all extra space placed before the first child. For reverse direction boxes, the left edge of the first child is placed at the left side, with all extra space placed after the last child.\"},{name:\"justify\",description:\"The space is divided evenly in-between each child, with none of the extra space placed before the first child or after the last child. If there is only one child, treat the pack value as if it were start.\"},{name:\"start\",description:\"For normal direction boxes, the left edge of the first child is placed at the left side, with all extra space placed after the last child. For reverse direction boxes, the right edge of the last child is placed at the right side, with all extra space placed before the first child.\"}],relevance:50,description:\"Specifies how a box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.\",restrictions:[\"enum\"]},{name:\"-moz-box-sizing\",browsers:[\"FF1\"],values:[{name:\"border-box\",description:\"The specified width and height (and respective min/max properties) on this element determine the border box of the element.\"},{name:\"content-box\",description:\"Behavior of width and height as specified by CSS2.1. The specified width and height (and respective min/max properties) apply to the width and height respectively of the content box of the element.\"},{name:\"padding-box\",description:\"The specified width and height (and respective min/max properties) on this element determine the padding box of the element.\"}],relevance:50,description:\"Box Model addition in CSS3.\",restrictions:[\"enum\"]},{name:\"-moz-column-count\",browsers:[\"FF3.5\"],values:[{name:\"auto\",description:\"Determines the number of columns by the 'column-width' property and the element width.\"}],relevance:50,description:\"Describes the optimal number of columns into which the content of the element will be flowed.\",restrictions:[\"integer\"]},{name:\"-moz-column-gap\",browsers:[\"FF3.5\"],values:[{name:\"normal\",description:\"User agent specific and typically equivalent to 1em.\"}],relevance:50,description:\"Sets the gap between columns. If there is a column rule between columns, it will appear in the middle of the gap.\",restrictions:[\"length\"]},{name:\"-moz-column-rule\",browsers:[\"FF3.5\"],relevance:50,description:\"Shorthand for setting 'column-rule-width', 'column-rule-style', and 'column-rule-color' at the same place in the style sheet. Omitted values are set to their initial values.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"-moz-column-rule-color\",browsers:[\"FF3.5\"],relevance:50,description:\"Sets the color of the column rule\",restrictions:[\"color\"]},{name:\"-moz-column-rule-style\",browsers:[\"FF3.5\"],relevance:50,description:\"Sets the style of the rule between columns of an element.\",restrictions:[\"line-style\"]},{name:\"-moz-column-rule-width\",browsers:[\"FF3.5\"],relevance:50,description:\"Sets the width of the rule between columns. Negative values are not allowed.\",restrictions:[\"length\",\"line-width\"]},{name:\"-moz-columns\",browsers:[\"FF9\"],values:[{name:\"auto\",description:\"The width depends on the values of other properties.\"}],relevance:50,description:\"A shorthand property which sets both 'column-width' and 'column-count'.\",restrictions:[\"length\",\"integer\"]},{name:\"-moz-column-width\",browsers:[\"FF3.5\"],values:[{name:\"auto\",description:\"The width depends on the values of other properties.\"}],relevance:50,description:\"This property describes the width of columns in multicol elements.\",restrictions:[\"length\"]},{name:\"-moz-font-feature-settings\",browsers:[\"FF4\"],values:[{name:'\"c2cs\"'},{name:'\"dlig\"'},{name:'\"kern\"'},{name:'\"liga\"'},{name:'\"lnum\"'},{name:'\"onum\"'},{name:'\"smcp\"'},{name:'\"swsh\"'},{name:'\"tnum\"'},{name:\"normal\",description:\"No change in glyph substitution or positioning occurs.\"},{name:\"off\",browsers:[\"FF4\"]},{name:\"on\",browsers:[\"FF4\"]}],relevance:50,description:\"Provides low-level control over OpenType font features. It is intended as a way of providing access to font features that are not widely used but are needed for a particular use case.\",restrictions:[\"string\",\"integer\"]},{name:\"-moz-hyphens\",browsers:[\"FF9\"],values:[{name:\"auto\",description:\"Conditional hyphenation characters inside a word, if present, take priority over automatic resources when determining hyphenation points within the word.\"},{name:\"manual\",description:\"Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities\"},{name:\"none\",description:\"Words are not broken at line breaks, even if characters inside the word suggest line break points.\"}],relevance:50,description:\"Controls whether hyphenation is allowed to create more break opportunities within a line of text.\",restrictions:[\"enum\"]},{name:\"-moz-perspective\",browsers:[\"FF10\"],values:[{name:\"none\",description:\"No perspective transform is applied.\"}],relevance:50,description:\"Applies the same transform as the perspective(<number>) transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.\",restrictions:[\"length\"]},{name:\"-moz-perspective-origin\",browsers:[\"FF10\"],relevance:50,description:\"Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.\",restrictions:[\"position\",\"percentage\",\"length\"]},{name:\"-moz-text-align-last\",browsers:[\"FF12\"],values:[{name:\"auto\"},{name:\"center\",description:\"The inline contents are centered within the line box.\"},{name:\"justify\",description:\"The text is justified according to the method specified by the 'text-justify' property.\"},{name:\"left\",description:\"The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text.\"},{name:\"right\",description:\"The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text.\"}],relevance:50,description:\"Describes how the last line of a block or a line right before a forced line break is aligned when 'text-align' is set to 'justify'.\",restrictions:[\"enum\"]},{name:\"-moz-text-decoration-color\",browsers:[\"FF6\"],relevance:50,description:\"Specifies the color of text decoration (underlines overlines, and line-throughs) set on the element with text-decoration-line.\",restrictions:[\"color\"]},{name:\"-moz-text-decoration-line\",browsers:[\"FF6\"],values:[{name:\"line-through\",description:\"Each line of text has a line through the middle.\"},{name:\"none\",description:\"Neither produces nor inhibits text decoration.\"},{name:\"overline\",description:\"Each line of text has a line above it.\"},{name:\"underline\",description:\"Each line of text is underlined.\"}],relevance:50,description:\"Specifies what line decorations, if any, are added to the element.\",restrictions:[\"enum\"]},{name:\"-moz-text-decoration-style\",browsers:[\"FF6\"],values:[{name:\"dashed\",description:\"Produces a dashed line style.\"},{name:\"dotted\",description:\"Produces a dotted line.\"},{name:\"double\",description:\"Produces a double line.\"},{name:\"none\",description:\"Produces no line.\"},{name:\"solid\",description:\"Produces a solid line.\"},{name:\"wavy\",description:\"Produces a wavy line.\"}],relevance:50,description:\"Specifies the line style for underline, line-through and overline text decoration.\",restrictions:[\"enum\"]},{name:\"-moz-text-size-adjust\",browsers:[\"FF\"],values:[{name:\"auto\",description:\"Renderers must use the default size adjustment when displaying on a small device.\"},{name:\"none\",description:\"Renderers must not do size adjustment when displaying on a small device.\"}],relevance:50,description:\"Specifies a size adjustment for displaying text content in mobile browsers.\",restrictions:[\"enum\",\"percentage\"]},{name:\"-moz-transform\",browsers:[\"FF3.5\"],values:[{name:\"matrix()\",description:\"Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]\"},{name:\"matrix3d()\",description:\"Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.\"},{name:\"none\"},{name:\"perspective\",description:\"Specifies a perspective projection matrix.\"},{name:\"rotate()\",description:\"Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.\"},{name:\"rotate3d()\",description:\"Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.\"},{name:\"rotateX('angle')\",description:\"Specifies a clockwise rotation by the given angle about the X axis.\"},{name:\"rotateY('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Y axis.\"},{name:\"rotateZ('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Z axis.\"},{name:\"scale()\",description:\"Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.\"},{name:\"scale3d()\",description:\"Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.\"},{name:\"scaleX()\",description:\"Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.\"},{name:\"scaleY()\",description:\"Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.\"},{name:\"scaleZ()\",description:\"Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.\"},{name:\"skew()\",description:\"Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).\"},{name:\"skewX()\",description:\"Specifies a skew transformation along the X axis by the given angle.\"},{name:\"skewY()\",description:\"Specifies a skew transformation along the Y axis by the given angle.\"},{name:\"translate()\",description:\"Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.\"},{name:\"translate3d()\",description:\"Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.\"},{name:\"translateX()\",description:\"Specifies a translation by the given amount in the X direction.\"},{name:\"translateY()\",description:\"Specifies a translation by the given amount in the Y direction.\"},{name:\"translateZ()\",description:\"Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.\"}],relevance:50,description:\"A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.\",restrictions:[\"enum\"]},{name:\"-moz-transform-origin\",browsers:[\"FF3.5\"],relevance:50,description:\"Establishes the origin of transformation for an element.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"-moz-transition\",browsers:[\"FF4\"],values:[{name:\"all\",description:\"Every property that is able to undergo a transition will do so.\"},{name:\"none\",description:\"No property will transition.\"}],relevance:50,description:\"Shorthand property combines four of the transition properties into a single property.\",restrictions:[\"time\",\"property\",\"timing-function\",\"enum\"]},{name:\"-moz-transition-delay\",browsers:[\"FF4\"],relevance:50,description:\"Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.\",restrictions:[\"time\"]},{name:\"-moz-transition-duration\",browsers:[\"FF4\"],relevance:50,description:\"Specifies how long the transition from the old value to the new value should take.\",restrictions:[\"time\"]},{name:\"-moz-transition-property\",browsers:[\"FF4\"],values:[{name:\"all\",description:\"Every property that is able to undergo a transition will do so.\"},{name:\"none\",description:\"No property will transition.\"}],relevance:50,description:\"Specifies the name of the CSS property to which the transition is applied.\",restrictions:[\"property\"]},{name:\"-moz-transition-timing-function\",browsers:[\"FF4\"],relevance:50,description:\"Describes how the intermediate values used during a transition will be calculated.\",restrictions:[\"timing-function\"]},{name:\"-moz-user-focus\",browsers:[\"FF1\"],values:[{name:\"ignore\"},{name:\"normal\"}],status:\"nonstandard\",syntax:\"ignore | normal | select-after | select-before | select-menu | select-same | select-all | none\",relevance:0,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus\"}],description:\"Used to indicate whether the element can have focus.\"},{name:\"-moz-user-select\",browsers:[\"FF1.5\"],values:[{name:\"all\"},{name:\"element\"},{name:\"elements\"},{name:\"-moz-all\"},{name:\"-moz-none\"},{name:\"none\"},{name:\"text\"},{name:\"toggle\"}],relevance:50,description:\"Controls the appearance of selection.\",restrictions:[\"enum\"]},{name:\"-ms-accelerator\",browsers:[\"E\",\"IE10\"],values:[{name:\"false\",description:\"The element does not contain an accelerator key sequence.\"},{name:\"true\",description:\"The element contains an accelerator key sequence.\"}],status:\"nonstandard\",syntax:\"false | true\",relevance:0,description:\"IE only. Has the ability to turn off its system underlines for accelerator keys until the ALT key is pressed\",restrictions:[\"enum\"]},{name:\"-ms-behavior\",browsers:[\"IE8\"],relevance:50,description:\"IE only. Used to extend behaviors of the browser\",restrictions:[\"url\"]},{name:\"-ms-block-progression\",browsers:[\"IE8\"],values:[{name:\"bt\",description:\"Bottom-to-top block flow. Layout is horizontal.\"},{name:\"lr\",description:\"Left-to-right direction. The flow orientation is vertical.\"},{name:\"rl\",description:\"Right-to-left direction. The flow orientation is vertical.\"},{name:\"tb\",description:\"Top-to-bottom direction. The flow orientation is horizontal.\"}],status:\"nonstandard\",syntax:\"tb | rl | bt | lr\",relevance:0,description:\"Sets the block-progression value and the flow orientation\",restrictions:[\"enum\"]},{name:\"-ms-content-zoom-chaining\",browsers:[\"E\",\"IE10\"],values:[{name:\"chained\",description:\"The nearest zoomable parent element begins zooming when the user hits a zoom limit during a manipulation. No bounce effect is shown.\"},{name:\"none\",description:\"A bounce effect is shown when the user hits a zoom limit during a manipulation.\"}],status:\"nonstandard\",syntax:\"none | chained\",relevance:0,description:\"Specifies the zoom behavior that occurs when a user hits the zoom limit during a manipulation.\"},{name:\"-ms-content-zooming\",browsers:[\"E\",\"IE10\"],values:[{name:\"none\",description:\"The element is not zoomable.\"},{name:\"zoom\",description:\"The element is zoomable.\"}],status:\"nonstandard\",syntax:\"none | zoom\",relevance:0,description:\"Specifies whether zooming is enabled.\",restrictions:[\"enum\"]},{name:\"-ms-content-zoom-limit\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>\",relevance:0,description:\"Shorthand property for the -ms-content-zoom-limit-min and -ms-content-zoom-limit-max properties.\",restrictions:[\"percentage\"]},{name:\"-ms-content-zoom-limit-max\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"<percentage>\",relevance:0,description:\"Specifies the maximum zoom factor.\",restrictions:[\"percentage\"]},{name:\"-ms-content-zoom-limit-min\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"<percentage>\",relevance:0,description:\"Specifies the minimum zoom factor.\",restrictions:[\"percentage\"]},{name:\"-ms-content-zoom-snap\",browsers:[\"E\",\"IE10\"],values:[{name:\"mandatory\",description:\"Indicates that the motion of the content after the contact is picked up is always adjusted so that it lands on a snap-point.\"},{name:\"none\",description:\"Indicates that zooming is unaffected by any defined snap-points.\"},{name:\"proximity\",description:'Indicates that the motion of the content after the contact is picked up may be adjusted if the content would normally stop \"close enough\" to a snap-point.'},{name:\"snapInterval(100%, 100%)\",description:\"Specifies where the snap-points will be placed.\"},{name:\"snapList()\",description:\"Specifies the position of individual snap-points as a comma-separated list of zoom factors.\"}],status:\"nonstandard\",syntax:\"<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>\",relevance:0,description:\"Shorthand property for the -ms-content-zoom-snap-type and -ms-content-zoom-snap-points properties.\"},{name:\"-ms-content-zoom-snap-points\",browsers:[\"E\",\"IE10\"],values:[{name:\"snapInterval(100%, 100%)\",description:\"Specifies where the snap-points will be placed.\"},{name:\"snapList()\",description:\"Specifies the position of individual snap-points as a comma-separated list of zoom factors.\"}],status:\"nonstandard\",syntax:\"snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )\",relevance:0,description:\"Defines where zoom snap-points are located.\"},{name:\"-ms-content-zoom-snap-type\",browsers:[\"E\",\"IE10\"],values:[{name:\"mandatory\",description:\"Indicates that the motion of the content after the contact is picked up is always adjusted so that it lands on a snap-point.\"},{name:\"none\",description:\"Indicates that zooming is unaffected by any defined snap-points.\"},{name:\"proximity\",description:'Indicates that the motion of the content after the contact is picked up may be adjusted if the content would normally stop \"close enough\" to a snap-point.'}],status:\"nonstandard\",syntax:\"none | proximity | mandatory\",relevance:0,description:\"Specifies how zooming is affected by defined snap-points.\",restrictions:[\"enum\"]},{name:\"-ms-filter\",browsers:[\"IE8-9\"],status:\"nonstandard\",syntax:\"<string>\",relevance:0,description:\"IE only. Used to produce visual effects.\",restrictions:[\"string\"]},{name:\"-ms-flex\",browsers:[\"IE10\"],values:[{name:\"auto\",description:\"Retrieves the value of the main size property as the used 'flex-basis'.\"},{name:\"none\",description:\"Expands to '0 0 auto'.\"}],relevance:50,description:\"specifies the parameters of a flexible length: the positive and negative flexibility, and the preferred size.\",restrictions:[\"length\",\"number\",\"percentage\"]},{name:\"-ms-flex-align\",browsers:[\"IE10\"],values:[{name:\"baseline\",description:\"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment.\"},{name:\"center\",description:\"The flex item's margin box is centered in the cross axis within the line.\"},{name:\"end\",description:\"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line.\"},{name:\"start\",description:\"The cross-start margin edge of the flexbox item is placed flush with the cross-start edge of the line.\"},{name:\"stretch\",description:\"If the cross size property of the flexbox item is anything other than 'auto', this value is identical to 'start'.\"}],relevance:50,description:\"Aligns flex items along the cross axis of the current line of the flex container.\",restrictions:[\"enum\"]},{name:\"-ms-flex-direction\",browsers:[\"IE10\"],values:[{name:\"column\",description:\"The flex container's main axis has the same orientation as the block axis of the current writing mode.\"},{name:\"column-reverse\",description:\"Same as 'column', except the main-start and main-end directions are swapped.\"},{name:\"row\",description:\"The flex container's main axis has the same orientation as the inline axis of the current writing mode.\"},{name:\"row-reverse\",description:\"Same as 'row', except the main-start and main-end directions are swapped.\"}],relevance:50,description:\"Specifies how flex items are placed in the flex container, by setting the direction of the flex container's main axis.\",restrictions:[\"enum\"]},{name:\"-ms-flex-flow\",browsers:[\"IE10\"],values:[{name:\"column\",description:\"The flex container's main axis has the same orientation as the block axis of the current writing mode.\"},{name:\"column-reverse\",description:\"Same as 'column', except the main-start and main-end directions are swapped.\"},{name:\"nowrap\",description:\"The flex container is single-line.\"},{name:\"row\",description:\"The flex container's main axis has the same orientation as the inline axis of the current writing mode.\"},{name:\"wrap\",description:\"The flexbox is multi-line.\"},{name:\"wrap-reverse\",description:\"Same as 'wrap', except the cross-start and cross-end directions are swapped.\"}],relevance:50,description:\"Specifies how flexbox items are placed in the flexbox.\",restrictions:[\"enum\"]},{name:\"-ms-flex-item-align\",browsers:[\"IE10\"],values:[{name:\"auto\",description:\"Computes to the value of 'align-items' on the element's parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself.\"},{name:\"baseline\",description:\"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment.\"},{name:\"center\",description:\"The flex item's margin box is centered in the cross axis within the line.\"},{name:\"end\",description:\"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line.\"},{name:\"start\",description:\"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line.\"},{name:\"stretch\",description:\"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.\"}],relevance:50,description:\"Allows the default alignment along the cross axis to be overridden for individual flex items.\",restrictions:[\"enum\"]},{name:\"-ms-flex-line-pack\",browsers:[\"IE10\"],values:[{name:\"center\",description:\"Lines are packed toward the center of the flex container.\"},{name:\"distribute\",description:\"Lines are evenly distributed in the flex container, with half-size spaces on either end.\"},{name:\"end\",description:\"Lines are packed toward the end of the flex container.\"},{name:\"justify\",description:\"Lines are evenly distributed in the flex container.\"},{name:\"start\",description:\"Lines are packed toward the start of the flex container.\"},{name:\"stretch\",description:\"Lines stretch to take up the remaining space.\"}],relevance:50,description:\"Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.\",restrictions:[\"enum\"]},{name:\"-ms-flex-order\",browsers:[\"IE10\"],relevance:50,description:\"Controls the order in which children of a flex container appear within the flex container, by assigning them to ordinal groups.\",restrictions:[\"integer\"]},{name:\"-ms-flex-pack\",browsers:[\"IE10\"],values:[{name:\"center\",description:\"Flex items are packed toward the center of the line.\"},{name:\"distribute\",description:\"Flex items are evenly distributed in the line, with half-size spaces on either end.\"},{name:\"end\",description:\"Flex items are packed toward the end of the line.\"},{name:\"justify\",description:\"Flex items are evenly distributed in the line.\"},{name:\"start\",description:\"Flex items are packed toward the start of the line.\"}],relevance:50,description:\"Aligns flex items along the main axis of the current line of the flex container.\",restrictions:[\"enum\"]},{name:\"-ms-flex-wrap\",browsers:[\"IE10\"],values:[{name:\"nowrap\",description:\"The flex container is single-line.\"},{name:\"wrap\",description:\"The flexbox is multi-line.\"},{name:\"wrap-reverse\",description:\"Same as 'wrap', except the cross-start and cross-end directions are swapped.\"}],relevance:50,description:\"Controls whether the flex container is single-line or multi-line, and the direction of the cross-axis, which determines the direction new lines are stacked in.\",restrictions:[\"enum\"]},{name:\"-ms-flow-from\",browsers:[\"E\",\"IE10\"],values:[{name:\"none\",description:\"The block container is not a CSS Region.\"}],status:\"nonstandard\",syntax:\"[ none | <custom-ident> ]#\",relevance:0,description:\"Makes a block container a region and associates it with a named flow.\",restrictions:[\"identifier\"]},{name:\"-ms-flow-into\",browsers:[\"E\",\"IE10\"],values:[{name:\"none\",description:\"The element is not moved to a named flow and normal CSS processing takes place.\"}],status:\"nonstandard\",syntax:\"[ none | <custom-ident> ]#\",relevance:0,description:\"Places an element or its contents into a named flow.\",restrictions:[\"identifier\"]},{name:\"-ms-grid-column\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\"},{name:\"end\"},{name:\"start\"}],relevance:50,description:\"Used to place grid items and explicitly defined grid cells in the Grid.\",restrictions:[\"integer\",\"string\",\"enum\"]},{name:\"-ms-grid-column-align\",browsers:[\"E\",\"IE10\"],values:[{name:\"center\",description:\"Places the center of the Grid Item's margin box at the center of the Grid Item's column.\"},{name:\"end\",description:\"Aligns the end edge of the Grid Item's margin box to the end edge of the Grid Item's column.\"},{name:\"start\",description:\"Aligns the starting edge of the Grid Item's margin box to the starting edge of the Grid Item's column.\"},{name:\"stretch\",description:\"Ensures that the Grid Item's margin box is equal to the size of the Grid Item's column.\"}],relevance:50,description:\"Aligns the columns in a grid.\",restrictions:[\"enum\"]},{name:\"-ms-grid-columns\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"none | <track-list> | <auto-track-list>\",relevance:0,description:\"Lays out the columns of the grid.\"},{name:\"-ms-grid-column-span\",browsers:[\"E\",\"IE10\"],relevance:50,description:\"Specifies the number of columns to span.\",restrictions:[\"integer\"]},{name:\"-ms-grid-layer\",browsers:[\"E\",\"IE10\"],relevance:50,description:\"Grid-layer is similar in concept to z-index, but avoids overloading the meaning of the z-index property, which is applicable only to positioned elements.\",restrictions:[\"integer\"]},{name:\"-ms-grid-row\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\"},{name:\"end\"},{name:\"start\"}],relevance:50,description:\"grid-row is used to place grid items and explicitly defined grid cells in the Grid.\",restrictions:[\"integer\",\"string\",\"enum\"]},{name:\"-ms-grid-row-align\",browsers:[\"E\",\"IE10\"],values:[{name:\"center\",description:\"Places the center of the Grid Item's margin box at the center of the Grid Item's row.\"},{name:\"end\",description:\"Aligns the end edge of the Grid Item's margin box to the end edge of the Grid Item's row.\"},{name:\"start\",description:\"Aligns the starting edge of the Grid Item's margin box to the starting edge of the Grid Item's row.\"},{name:\"stretch\",description:\"Ensures that the Grid Item's margin box is equal to the size of the Grid Item's row.\"}],relevance:50,description:\"Aligns the rows in a grid.\",restrictions:[\"enum\"]},{name:\"-ms-grid-rows\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"none | <track-list> | <auto-track-list>\",relevance:0,description:\"Lays out the columns of the grid.\"},{name:\"-ms-grid-row-span\",browsers:[\"E\",\"IE10\"],relevance:50,description:\"Specifies the number of rows to span.\",restrictions:[\"integer\"]},{name:\"-ms-high-contrast-adjust\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"Properties will be adjusted as applicable.\"},{name:\"none\",description:\"No adjustments will be applied.\"}],status:\"nonstandard\",syntax:\"auto | none\",relevance:0,description:\"Specifies if properties should be adjusted in high contrast mode.\",restrictions:[\"enum\"]},{name:\"-ms-hyphenate-limit-chars\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"The user agent chooses a value that adapts to the current layout.\"}],status:\"nonstandard\",syntax:\"auto | <integer>{1,3}\",relevance:0,description:\"Specifies the minimum number of characters in a hyphenated word.\",restrictions:[\"integer\"]},{name:\"-ms-hyphenate-limit-lines\",browsers:[\"E\",\"IE10\"],values:[{name:\"no-limit\",description:\"There is no limit.\"}],status:\"nonstandard\",syntax:\"no-limit | <integer>\",relevance:0,description:\"Indicates the maximum number of successive hyphenated lines in an element.\",restrictions:[\"integer\"]},{name:\"-ms-hyphenate-limit-zone\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"<percentage> | <length>\",relevance:0,description:\"Specifies the maximum amount of unfilled space (before justification) that may be left in the line box before hyphenation is triggered to pull part of a word from the next line back up into the current line.\",restrictions:[\"percentage\",\"length\"]},{name:\"-ms-hyphens\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"Conditional hyphenation characters inside a word, if present, take priority over automatic resources when determining hyphenation points within the word.\"},{name:\"manual\",description:\"Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities\"},{name:\"none\",description:\"Words are not broken at line breaks, even if characters inside the word suggest line break points.\"}],relevance:50,description:\"Controls whether hyphenation is allowed to create more break opportunities within a line of text.\",restrictions:[\"enum\"]},{name:\"-ms-ime-mode\",browsers:[\"IE10\"],values:[{name:\"active\",description:\"The input method editor is initially active; text entry is performed using it unless the user specifically dismisses it.\"},{name:\"auto\",description:\"No change is made to the current input method editor state. This is the default.\"},{name:\"disabled\",description:\"The input method editor is disabled and may not be activated by the user.\"},{name:\"inactive\",description:\"The input method editor is initially inactive, but the user may activate it if they wish.\"},{name:\"normal\",description:\"The IME state should be normal; this value can be used in a user style sheet to override the page setting.\"}],relevance:50,description:\"Controls the state of the input method editor for text fields.\",restrictions:[\"enum\"]},{name:\"-ms-interpolation-mode\",browsers:[\"IE7\"],values:[{name:\"bicubic\"},{name:\"nearest-neighbor\"}],relevance:50,description:\"Gets or sets the interpolation (resampling) method used to stretch images.\",restrictions:[\"enum\"]},{name:\"-ms-layout-grid\",browsers:[\"E\",\"IE10\"],values:[{name:\"char\",description:\"Any of the range of character values available to the -ms-layout-grid-char property.\"},{name:\"line\",description:\"Any of the range of line values available to the -ms-layout-grid-line property.\"},{name:\"mode\",description:\"Any of the range of mode values available to the -ms-layout-grid-mode property.\"},{name:\"type\",description:\"Any of the range of type values available to the -ms-layout-grid-type property.\"}],relevance:50,description:\"Sets or retrieves the composite document grid properties that specify the layout of text characters.\"},{name:\"-ms-layout-grid-char\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"Largest character in the font of the element is used to set the character grid.\"},{name:\"none\",description:\"Default. No character grid is set.\"}],relevance:50,description:\"Sets or retrieves the size of the character grid used for rendering the text content of an element.\",restrictions:[\"enum\",\"length\",\"percentage\"]},{name:\"-ms-layout-grid-line\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"Largest character in the font of the element is used to set the character grid.\"},{name:\"none\",description:\"Default. No grid line is set.\"}],relevance:50,description:\"Sets or retrieves the gridline value used for rendering the text content of an element.\",restrictions:[\"length\"]},{name:\"-ms-layout-grid-mode\",browsers:[\"E\",\"IE10\"],values:[{name:\"both\",description:\"Default. Both the char and line grid modes are enabled. This setting is necessary to fully enable the layout grid on an element.\"},{name:\"char\",description:\"Only a character grid is used. This is recommended for use with block-level elements, such as a blockquote, where the line grid is intended to be disabled.\"},{name:\"line\",description:\"Only a line grid is used. This is recommended for use with inline elements, such as a span, to disable the horizontal grid on runs of text that act as a single entity in the grid layout.\"},{name:\"none\",description:\"No grid is used.\"}],relevance:50,description:\"Gets or sets whether the text layout grid uses two dimensions.\",restrictions:[\"enum\"]},{name:\"-ms-layout-grid-type\",browsers:[\"E\",\"IE10\"],values:[{name:\"fixed\",description:\"Grid used for monospaced layout. All noncursive characters are treated as equal; every character is centered within a single grid space by default.\"},{name:\"loose\",description:\"Default. Grid used for Japanese and Korean characters.\"},{name:\"strict\",description:\"Grid used for Chinese, as well as Japanese (Genko) and Korean characters. Only the ideographs, kanas, and wide characters are snapped to the grid.\"}],relevance:50,description:\"Sets or retrieves the type of grid used for rendering the text content of an element.\",restrictions:[\"enum\"]},{name:\"-ms-line-break\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"The UA determines the set of line-breaking restrictions to use for CJK scripts, and it may vary the restrictions based on the length of the line; e.g., use a less restrictive set of line-break rules for short lines.\"},{name:\"keep-all\",description:\"Sequences of CJK characters can no longer break on implied break points. This option should only be used where the presence of word separator characters still creates line-breaking opportunities, as in Korean.\"},{name:\"newspaper\",description:\"Breaks CJK scripts using the least restrictive set of line-breaking rules. Typically used for short lines, such as in newspapers.\"},{name:\"normal\",description:\"Breaks CJK scripts using a normal set of line-breaking rules.\"},{name:\"strict\",description:\"Breaks CJK scripts using a more restrictive set of line-breaking rules than 'normal'.\"}],relevance:50,description:\"Specifies what set of line breaking restrictions are in effect within the element.\",restrictions:[\"enum\"]},{name:\"-ms-overflow-style\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"No preference, UA should use the first scrolling method in the list that it supports.\"},{name:\"-ms-autohiding-scrollbar\",description:\"Indicates the element displays auto-hiding scrollbars during mouse interactions and panning indicators during touch and keyboard interactions.\"},{name:\"none\",description:\"Indicates the element does not display scrollbars or panning indicators, even when its content overflows.\"},{name:\"scrollbar\",description:'Scrollbars are typically narrow strips inserted on one or two edges of an element and which often have arrows to click on and a \"thumb\" to drag up and down (or left and right) to move the contents of the element.'}],status:\"nonstandard\",syntax:\"auto | none | scrollbar | -ms-autohiding-scrollbar\",relevance:0,description:\"Specify whether content is clipped when it overflows the element's content area.\",restrictions:[\"enum\"]},{name:\"-ms-perspective\",browsers:[\"IE10\"],values:[{name:\"none\",description:\"No perspective transform is applied.\"}],relevance:50,description:\"Applies the same transform as the perspective(<number>) transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.\",restrictions:[\"length\"]},{name:\"-ms-perspective-origin\",browsers:[\"IE10\"],relevance:50,description:\"Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.\",restrictions:[\"position\",\"percentage\",\"length\"]},{name:\"-ms-perspective-origin-x\",browsers:[\"IE10\"],relevance:50,description:\"Establishes the origin for the perspective property. It effectively sets the X  position at which the viewer appears to be looking at the children of the element.\",restrictions:[\"position\",\"percentage\",\"length\"]},{name:\"-ms-perspective-origin-y\",browsers:[\"IE10\"],relevance:50,description:\"Establishes the origin for the perspective property. It effectively sets the Y position at which the viewer appears to be looking at the children of the element.\",restrictions:[\"position\",\"percentage\",\"length\"]},{name:\"-ms-progress-appearance\",browsers:[\"IE10\"],values:[{name:\"bar\"},{name:\"ring\"}],relevance:50,description:\"Gets or sets a value that specifies whether a progress control displays as a bar or a ring.\",restrictions:[\"enum\"]},{name:\"-ms-scrollbar-3dlight-color\",browsers:[\"IE8\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.\",restrictions:[\"color\"]},{name:\"-ms-scrollbar-arrow-color\",browsers:[\"IE8\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"Determines the color of the arrow elements of a scroll arrow.\",restrictions:[\"color\"]},{name:\"-ms-scrollbar-base-color\",browsers:[\"IE8\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"Determines the color of the main elements of a scroll bar, which include the scroll box, track, and scroll arrows.\",restrictions:[\"color\"]},{name:\"-ms-scrollbar-darkshadow-color\",browsers:[\"IE8\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"Determines the color of the gutter of a scroll bar.\",restrictions:[\"color\"]},{name:\"-ms-scrollbar-face-color\",browsers:[\"IE8\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"Determines the color of the scroll box and scroll arrows of a scroll bar.\",restrictions:[\"color\"]},{name:\"-ms-scrollbar-highlight-color\",browsers:[\"IE8\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.\",restrictions:[\"color\"]},{name:\"-ms-scrollbar-shadow-color\",browsers:[\"IE8\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"Determines the color of the bottom and right edges of the scroll box and scroll arrows of a scroll bar.\",restrictions:[\"color\"]},{name:\"-ms-scrollbar-track-color\",browsers:[\"IE8\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"Determines the color of the track element of a scroll bar.\",restrictions:[\"color\"]},{name:\"-ms-scroll-chaining\",browsers:[\"E\",\"IE10\"],values:[{name:\"chained\"},{name:\"none\"}],status:\"nonstandard\",syntax:\"chained | none\",relevance:0,description:\"Gets or sets a value that indicates the scrolling behavior that occurs when a user hits the content boundary during a manipulation.\",restrictions:[\"enum\",\"length\"]},{name:\"-ms-scroll-limit\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\"}],status:\"nonstandard\",syntax:\"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>\",relevance:0,description:\"Gets or sets a shorthand value that sets values for the -ms-scroll-limit-x-min, -ms-scroll-limit-y-min, -ms-scroll-limit-x-max, and -ms-scroll-limit-y-max properties.\",restrictions:[\"length\"]},{name:\"-ms-scroll-limit-x-max\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\"}],status:\"nonstandard\",syntax:\"auto | <length>\",relevance:0,description:\"Gets or sets a value that specifies the maximum value for the scrollLeft property.\",restrictions:[\"length\"]},{name:\"-ms-scroll-limit-x-min\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"<length>\",relevance:0,description:\"Gets or sets a value that specifies the minimum value for the scrollLeft property.\",restrictions:[\"length\"]},{name:\"-ms-scroll-limit-y-max\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\"}],status:\"nonstandard\",syntax:\"auto | <length>\",relevance:0,description:\"Gets or sets a value that specifies the maximum value for the scrollTop property.\",restrictions:[\"length\"]},{name:\"-ms-scroll-limit-y-min\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"<length>\",relevance:0,description:\"Gets or sets a value that specifies the minimum value for the scrollTop property.\",restrictions:[\"length\"]},{name:\"-ms-scroll-rails\",browsers:[\"E\",\"IE10\"],values:[{name:\"none\"},{name:\"railed\"}],status:\"nonstandard\",syntax:\"none | railed\",relevance:0,description:\"Gets or sets a value that indicates whether or not small motions perpendicular to the primary axis of motion will result in either changes to both the scrollTop and scrollLeft properties or a change to the primary axis (for instance, either the scrollTop or scrollLeft properties will change, but not both).\",restrictions:[\"enum\",\"length\"]},{name:\"-ms-scroll-snap-points-x\",browsers:[\"E\",\"IE10\"],values:[{name:\"snapInterval(100%, 100%)\"},{name:\"snapList()\"}],status:\"nonstandard\",syntax:\"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )\",relevance:0,description:\"Gets or sets a value that defines where snap-points will be located along the x-axis.\",restrictions:[\"enum\"]},{name:\"-ms-scroll-snap-points-y\",browsers:[\"E\",\"IE10\"],values:[{name:\"snapInterval(100%, 100%)\"},{name:\"snapList()\"}],status:\"nonstandard\",syntax:\"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )\",relevance:0,description:\"Gets or sets a value that defines where snap-points will be located along the y-axis.\",restrictions:[\"enum\"]},{name:\"-ms-scroll-snap-type\",browsers:[\"E\",\"IE10\"],values:[{name:\"none\",description:\"The visual viewport of this scroll container must ignore snap points, if any, when scrolled.\"},{name:\"mandatory\",description:\"The visual viewport of this scroll container is guaranteed to rest on a snap point when there are no active scrolling operations.\"},{name:\"proximity\",description:\"The visual viewport of this scroll container may come to rest on a snap point at the termination of a scroll at the discretion of the UA given the parameters of the scroll.\"}],status:\"nonstandard\",syntax:\"none | proximity | mandatory\",relevance:0,description:\"Gets or sets a value that defines what type of snap-point should be used for the current element. There are two type of snap-points, with the primary difference being whether or not the user is guaranteed to always stop on a snap-point.\",restrictions:[\"enum\"]},{name:\"-ms-scroll-snap-x\",browsers:[\"E\",\"IE10\"],values:[{name:\"mandatory\"},{name:\"none\"},{name:\"proximity\"},{name:\"snapInterval(100%, 100%)\"},{name:\"snapList()\"}],status:\"nonstandard\",syntax:\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>\",relevance:0,description:\"Gets or sets a shorthand value that sets values for the -ms-scroll-snap-type and -ms-scroll-snap-points-x properties.\",restrictions:[\"enum\"]},{name:\"-ms-scroll-snap-y\",browsers:[\"E\",\"IE10\"],values:[{name:\"mandatory\"},{name:\"none\"},{name:\"proximity\"},{name:\"snapInterval(100%, 100%)\"},{name:\"snapList()\"}],status:\"nonstandard\",syntax:\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>\",relevance:0,description:\"Gets or sets a shorthand value that sets values for the -ms-scroll-snap-type and -ms-scroll-snap-points-y properties.\",restrictions:[\"enum\"]},{name:\"-ms-scroll-translation\",browsers:[\"E\",\"IE10\"],values:[{name:\"none\"},{name:\"vertical-to-horizontal\"}],status:\"nonstandard\",syntax:\"none | vertical-to-horizontal\",relevance:0,description:\"Gets or sets a value that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.\",restrictions:[\"enum\"]},{name:\"-ms-text-align-last\",browsers:[\"E\",\"IE8\"],values:[{name:\"auto\"},{name:\"center\",description:\"The inline contents are centered within the line box.\"},{name:\"justify\",description:\"The text is justified according to the method specified by the 'text-justify' property.\"},{name:\"left\",description:\"The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text.\"},{name:\"right\",description:\"The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text.\"}],relevance:50,description:\"Describes how the last line of a block or a line right before a forced line break is aligned when 'text-align' is set to 'justify'.\",restrictions:[\"enum\"]},{name:\"-ms-text-autospace\",browsers:[\"E\",\"IE8\"],values:[{name:\"ideograph-alpha\",description:\"Creates 1/4em extra spacing between runs of ideographic letters and non-ideographic letters, such as Latin-based, Cyrillic, Greek, Arabic or Hebrew.\"},{name:\"ideograph-numeric\",description:\"Creates 1/4em extra spacing between runs of ideographic letters and numeric glyphs.\"},{name:\"ideograph-parenthesis\",description:\"Creates extra spacing between normal (non wide) parenthesis and ideographs.\"},{name:\"ideograph-space\",description:\"Extends the width of the space character while surrounded by ideographs.\"},{name:\"none\",description:\"No extra space is created.\"},{name:\"punctuation\",description:\"Creates extra non-breaking spacing around punctuation as required by language-specific typographic conventions.\"}],status:\"nonstandard\",syntax:\"none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space\",relevance:0,description:\"Determines whether or not a full-width punctuation mark character should be trimmed if it appears at the beginning of a line, so that its 'ink' lines up with the first glyph in the line above and below.\",restrictions:[\"enum\"]},{name:\"-ms-text-combine-horizontal\",browsers:[\"E\",\"IE11\"],values:[{name:\"all\",description:\"Attempt to typeset horizontally all consecutive characters within the box such that they take up the space of a single character within the vertical line box.\"},{name:\"digits\",description:\"Attempt to typeset horizontally each maximal sequence of consecutive ASCII digits (U+0030-U+0039) that has as many or fewer characters than the specified integer such that it takes up the space of a single character within the vertical line box.\"},{name:\"none\",description:\"No special processing.\"}],relevance:50,description:\"This property specifies the combination of multiple characters into the space of a single character.\",restrictions:[\"enum\",\"integer\"]},{name:\"-ms-text-justify\",browsers:[\"E\",\"IE8\"],values:[{name:\"auto\",description:\"The UA determines the justification algorithm to follow, based on a balance between performance and adequate presentation quality.\"},{name:\"distribute\",description:\"Justification primarily changes spacing both at word separators and at grapheme cluster boundaries in all scripts except those in the connected and cursive groups. This value is sometimes used in e.g. Japanese, often with the 'text-align-last' property.\"},{name:\"inter-cluster\",description:\"Justification primarily changes spacing at word separators and at grapheme cluster boundaries in clustered scripts. This value is typically used for Southeast Asian scripts such as Thai.\"},{name:\"inter-ideograph\",description:\"Justification primarily changes spacing at word separators and at inter-graphemic boundaries in scripts that use no word spaces. This value is typically used for CJK languages.\"},{name:\"inter-word\",description:\"Justification primarily changes spacing at word separators. This value is typically used for languages that separate words using spaces, like English or (sometimes) Korean.\"},{name:\"kashida\",description:\"Justification primarily stretches Arabic and related scripts through the use of kashida or other calligraphic elongation.\"}],relevance:50,description:\"Selects the justification algorithm used when 'text-align' is set to 'justify'. The property applies to block containers, but the UA may (but is not required to) also support it on inline elements.\",restrictions:[\"enum\"]},{name:\"-ms-text-kashida-space\",browsers:[\"E\",\"IE10\"],relevance:50,description:\"Sets or retrieves the ratio of kashida expansion to white space expansion when justifying lines of text in the object.\",restrictions:[\"percentage\"]},{name:\"-ms-text-overflow\",browsers:[\"IE10\"],values:[{name:\"clip\",description:\"Clip inline content that overflows. Characters may be only partially rendered.\"},{name:\"ellipsis\",description:\"Render an ellipsis character (U+2026) to represent clipped inline content.\"}],relevance:50,description:\"Text can overflow for example when it is prevented from wrapping\",restrictions:[\"enum\"]},{name:\"-ms-text-size-adjust\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"Renderers must use the default size adjustment when displaying on a small device.\"},{name:\"none\",description:\"Renderers must not do size adjustment when displaying on a small device.\"}],relevance:50,description:\"Specifies a size adjustment for displaying text content in mobile browsers.\",restrictions:[\"enum\",\"percentage\"]},{name:\"-ms-text-underline-position\",browsers:[\"E\",\"IE10\"],values:[{name:\"alphabetic\",description:\"The underline is aligned with the alphabetic baseline. In this case the underline is likely to cross some descenders.\"},{name:\"auto\",description:\"The user agent may use any algorithm to determine the underline's position. In horizontal line layout, the underline should be aligned as for alphabetic. In vertical line layout, if the language is set to Japanese or Korean, the underline should be aligned as for over.\"},{name:\"over\",description:\"The underline is aligned with the 'top' (right in vertical writing) edge of the element's em-box. In this mode, an overline also switches sides.\"},{name:\"under\",description:\"The underline is aligned with the 'bottom' (left in vertical writing) edge of the element's em-box. In this case the underline usually does not cross the descenders. This is sometimes called 'accounting' underline.\"}],relevance:50,description:\"Sets the position of an underline specified on the same element: it does not affect underlines specified by ancestor elements.This property is typically used in vertical writing contexts such as in Japanese documents where it often desired to have the underline appear 'over' (to the right of) the affected run of text\",restrictions:[\"enum\"]},{name:\"-ms-touch-action\",browsers:[\"IE10\"],values:[{name:\"auto\",description:\"The element is a passive element, with several exceptions.\"},{name:\"double-tap-zoom\",description:\"The element will zoom on double-tap.\"},{name:\"manipulation\",description:\"The element is a manipulation-causing element.\"},{name:\"none\",description:\"The element is a manipulation-blocking element.\"},{name:\"pan-x\",description:\"The element permits touch-driven panning on the horizontal axis. The touch pan is performed on the nearest ancestor with horizontally scrollable content.\"},{name:\"pan-y\",description:\"The element permits touch-driven panning on the vertical axis. The touch pan is performed on the nearest ancestor with vertically scrollable content.\"},{name:\"pinch-zoom\",description:\"The element permits pinch-zooming. The pinch-zoom is performed on the nearest ancestor with zoomable content.\"}],relevance:50,description:\"Gets or sets a value that indicates whether and how a given region can be manipulated by the user.\",restrictions:[\"enum\"]},{name:\"-ms-touch-select\",browsers:[\"E\",\"IE10\"],values:[{name:\"grippers\",description:\"Grippers are always on.\"},{name:\"none\",description:\"Grippers are always off.\"}],status:\"nonstandard\",syntax:\"grippers | none\",relevance:0,description:\"Gets or sets a value that toggles the 'gripper' visual elements that enable touch text selection.\",restrictions:[\"enum\"]},{name:\"-ms-transform\",browsers:[\"IE9-9\"],values:[{name:\"matrix()\",description:\"Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]\"},{name:\"matrix3d()\",description:\"Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.\"},{name:\"none\"},{name:\"rotate()\",description:\"Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.\"},{name:\"rotate3d()\",description:\"Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.\"},{name:\"rotateX('angle')\",description:\"Specifies a clockwise rotation by the given angle about the X axis.\"},{name:\"rotateY('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Y axis.\"},{name:\"rotateZ('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Z axis.\"},{name:\"scale()\",description:\"Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.\"},{name:\"scale3d()\",description:\"Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.\"},{name:\"scaleX()\",description:\"Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.\"},{name:\"scaleY()\",description:\"Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.\"},{name:\"scaleZ()\",description:\"Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.\"},{name:\"skew()\",description:\"Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).\"},{name:\"skewX()\",description:\"Specifies a skew transformation along the X axis by the given angle.\"},{name:\"skewY()\",description:\"Specifies a skew transformation along the Y axis by the given angle.\"},{name:\"translate()\",description:\"Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.\"},{name:\"translate3d()\",description:\"Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.\"},{name:\"translateX()\",description:\"Specifies a translation by the given amount in the X direction.\"},{name:\"translateY()\",description:\"Specifies a translation by the given amount in the Y direction.\"},{name:\"translateZ()\",description:\"Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.\"}],relevance:50,description:\"A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.\",restrictions:[\"enum\"]},{name:\"-ms-transform-origin\",browsers:[\"IE9-9\"],relevance:50,description:\"Establishes the origin of transformation for an element.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"-ms-transform-origin-x\",browsers:[\"IE10\"],relevance:50,description:\"The x coordinate of the origin for transforms applied to an element with respect to its border box.\",restrictions:[\"length\",\"percentage\"]},{name:\"-ms-transform-origin-y\",browsers:[\"IE10\"],relevance:50,description:\"The y coordinate of the origin for transforms applied to an element with respect to its border box.\",restrictions:[\"length\",\"percentage\"]},{name:\"-ms-transform-origin-z\",browsers:[\"IE10\"],relevance:50,description:\"The z coordinate of the origin for transforms applied to an element with respect to its border box.\",restrictions:[\"length\",\"percentage\"]},{name:\"-ms-user-select\",browsers:[\"E\",\"IE10\"],values:[{name:\"element\"},{name:\"none\"},{name:\"text\"}],status:\"nonstandard\",syntax:\"none | element | text\",relevance:0,description:\"Controls the appearance of selection.\",restrictions:[\"enum\"]},{name:\"-ms-word-break\",browsers:[\"IE8\"],values:[{name:\"break-all\",description:\"Lines may break between any two grapheme clusters for non-CJK scripts.\"},{name:\"keep-all\",description:\"Block characters can no longer create implied break points.\"},{name:\"normal\",description:\"Breaks non-CJK scripts according to their own rules.\"}],relevance:50,description:\"Specifies line break opportunities for non-CJK scripts.\",restrictions:[\"enum\"]},{name:\"-ms-word-wrap\",browsers:[\"IE8\"],values:[{name:\"break-word\",description:\"An unbreakable 'word' may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line.\"},{name:\"normal\",description:\"Lines may break only at allowed break points.\"}],relevance:50,description:\"Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit.\",restrictions:[\"enum\"]},{name:\"-ms-wrap-flow\",browsers:[\"E\",\"IE10\"],values:[{name:\"auto\",description:\"For floats an exclusion is created, for all other elements an exclusion is not created.\"},{name:\"both\",description:\"Inline flow content can flow on all sides of the exclusion.\"},{name:\"clear\",description:\"Inline flow content can only wrap on top and bottom of the exclusion and must leave the areas to the start and end edges of the exclusion box empty.\"},{name:\"end\",description:\"Inline flow content can wrap on the end side of the exclusion area but must leave the area to the start edge of the exclusion area empty.\"},{name:\"maximum\",description:\"Inline flow content can wrap on the side of the exclusion with the largest available space for the given line, and must leave the other side of the exclusion empty.\"},{name:\"minimum\",description:\"Inline flow content can flow around the edge of the exclusion with the smallest available space within the flow content's containing block, and must leave the other edge of the exclusion empty.\"},{name:\"start\",description:\"Inline flow content can wrap on the start edge of the exclusion area but must leave the area to end edge of the exclusion area empty.\"}],status:\"nonstandard\",syntax:\"auto | both | start | end | maximum | clear\",relevance:0,description:\"An element becomes an exclusion when its 'wrap-flow' property has a computed value other than 'auto'.\",restrictions:[\"enum\"]},{name:\"-ms-wrap-margin\",browsers:[\"E\",\"IE10\"],status:\"nonstandard\",syntax:\"<length>\",relevance:0,description:\"Gets or sets a value that is used to offset the inner wrap shape from other shapes.\",restrictions:[\"length\",\"percentage\"]},{name:\"-ms-wrap-through\",browsers:[\"E\",\"IE10\"],values:[{name:\"none\",description:\"The exclusion element does not inherit its parent node's wrapping context. Its descendants are only subject to exclusion shapes defined inside the element.\"},{name:\"wrap\",description:\"The exclusion element inherits its parent node's wrapping context. Its descendant inline content wraps around exclusions defined outside the element.\"}],status:\"nonstandard\",syntax:\"wrap | none\",relevance:0,description:\"Specifies if an element inherits its parent wrapping context. In other words if it is subject to the exclusions defined outside the element.\",restrictions:[\"enum\"]},{name:\"-ms-writing-mode\",browsers:[\"IE8\"],values:[{name:\"bt-lr\"},{name:\"bt-rl\"},{name:\"lr-bt\"},{name:\"lr-tb\"},{name:\"rl-bt\"},{name:\"rl-tb\"},{name:\"tb-lr\"},{name:\"tb-rl\"}],relevance:50,description:\"Shorthand property for both 'direction' and 'block-progression'.\",restrictions:[\"enum\"]},{name:\"-ms-zoom\",browsers:[\"IE8\"],values:[{name:\"normal\"}],relevance:50,description:\"Sets or retrieves the magnification scale of the object.\",restrictions:[\"enum\",\"integer\",\"number\",\"percentage\"]},{name:\"-ms-zoom-animation\",browsers:[\"IE10\"],values:[{name:\"default\"},{name:\"none\"}],relevance:50,description:\"Gets or sets a value that indicates whether an animation is used when zooming.\",restrictions:[\"enum\"]},{name:\"nav-down\",browsers:[\"O9.5\"],values:[{name:\"auto\",description:\"The user agent automatically determines which element to navigate the focus to in response to directional navigational input.\"},{name:\"current\",description:\"Indicates that the user agent should target the frame that the element is in.\"},{name:\"root\",description:\"Indicates that the user agent should target the full window.\"}],relevance:50,description:\"Provides an way to control directional focus navigation.\",restrictions:[\"enum\",\"identifier\",\"string\"]},{name:\"nav-index\",browsers:[\"O9.5\"],values:[{name:\"auto\",description:\"The element's sequential navigation order is assigned automatically by the user agent.\"}],relevance:50,description:\"Provides an input-method-neutral way of specifying the sequential navigation order (also known as 'tabbing order').\",restrictions:[\"number\"]},{name:\"nav-left\",browsers:[\"O9.5\"],values:[{name:\"auto\",description:\"The user agent automatically determines which element to navigate the focus to in response to directional navigational input.\"},{name:\"current\",description:\"Indicates that the user agent should target the frame that the element is in.\"},{name:\"root\",description:\"Indicates that the user agent should target the full window.\"}],relevance:50,description:\"Provides an way to control directional focus navigation.\",restrictions:[\"enum\",\"identifier\",\"string\"]},{name:\"nav-right\",browsers:[\"O9.5\"],values:[{name:\"auto\",description:\"The user agent automatically determines which element to navigate the focus to in response to directional navigational input.\"},{name:\"current\",description:\"Indicates that the user agent should target the frame that the element is in.\"},{name:\"root\",description:\"Indicates that the user agent should target the full window.\"}],relevance:50,description:\"Provides an way to control directional focus navigation.\",restrictions:[\"enum\",\"identifier\",\"string\"]},{name:\"nav-up\",browsers:[\"O9.5\"],values:[{name:\"auto\",description:\"The user agent automatically determines which element to navigate the focus to in response to directional navigational input.\"},{name:\"current\",description:\"Indicates that the user agent should target the frame that the element is in.\"},{name:\"root\",description:\"Indicates that the user agent should target the full window.\"}],relevance:50,description:\"Provides an way to control directional focus navigation.\",restrictions:[\"enum\",\"identifier\",\"string\"]},{name:\"negative\",browsers:[\"FF33\"],atRule:\"@counter-style\",syntax:\"<symbol> <symbol>?\",relevance:50,description:\"@counter-style descriptor. Defines how to alter the representation when the counter value is negative.\",restrictions:[\"image\",\"identifier\",\"string\"]},{name:\"-o-animation\",browsers:[\"O12\"],values:[{name:\"alternate\",description:\"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.\"},{name:\"alternate-reverse\",description:\"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.\"},{name:\"backwards\",description:\"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.\"},{name:\"both\",description:\"Both forwards and backwards fill modes are applied.\"},{name:\"forwards\",description:\"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.\"},{name:\"infinite\",description:\"Causes the animation to repeat forever.\"},{name:\"none\",description:\"No animation is performed\"},{name:\"normal\",description:\"Normal playback.\"},{name:\"reverse\",description:\"All iterations of the animation are played in the reverse direction from the way they were specified.\"}],relevance:50,description:\"Shorthand property combines six of the animation properties into a single property.\",restrictions:[\"time\",\"enum\",\"timing-function\",\"identifier\",\"number\"]},{name:\"-o-animation-delay\",browsers:[\"O12\"],relevance:50,description:\"Defines when the animation will start.\",restrictions:[\"time\"]},{name:\"-o-animation-direction\",browsers:[\"O12\"],values:[{name:\"alternate\",description:\"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.\"},{name:\"alternate-reverse\",description:\"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.\"},{name:\"normal\",description:\"Normal playback.\"},{name:\"reverse\",description:\"All iterations of the animation are played in the reverse direction from the way they were specified.\"}],relevance:50,description:\"Defines whether or not the animation should play in reverse on alternate cycles.\",restrictions:[\"enum\"]},{name:\"-o-animation-duration\",browsers:[\"O12\"],relevance:50,description:\"Defines the length of time that an animation takes to complete one cycle.\",restrictions:[\"time\"]},{name:\"-o-animation-fill-mode\",browsers:[\"O12\"],values:[{name:\"backwards\",description:\"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.\"},{name:\"both\",description:\"Both forwards and backwards fill modes are applied.\"},{name:\"forwards\",description:\"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.\"},{name:\"none\",description:\"There is no change to the property value between the time the animation is applied and the time the animation begins playing or after the animation completes.\"}],relevance:50,description:\"Defines what values are applied by the animation outside the time it is executing.\",restrictions:[\"enum\"]},{name:\"-o-animation-iteration-count\",browsers:[\"O12\"],values:[{name:\"infinite\",description:\"Causes the animation to repeat forever.\"}],relevance:50,description:\"Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.\",restrictions:[\"number\",\"enum\"]},{name:\"-o-animation-name\",browsers:[\"O12\"],values:[{name:\"none\",description:\"No animation is performed\"}],relevance:50,description:\"Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.\",restrictions:[\"identifier\",\"enum\"]},{name:\"-o-animation-play-state\",browsers:[\"O12\"],values:[{name:\"paused\",description:\"A running animation will be paused.\"},{name:\"running\",description:\"Resume playback of a paused animation.\"}],relevance:50,description:\"Defines whether the animation is running or paused.\",restrictions:[\"enum\"]},{name:\"-o-animation-timing-function\",browsers:[\"O12\"],relevance:50,description:\"Describes how the animation will progress over one cycle of its duration. See the 'transition-timing-function'.\",restrictions:[\"timing-function\"]},{name:\"object-fit\",browsers:[\"E79\",\"FF36\",\"S10\",\"C32\",\"O19\"],values:[{name:\"contain\",description:\"The replaced content is sized to maintain its aspect ratio while fitting within the element's content box: its concrete object size is resolved as a contain constraint against the element's used width and height.\"},{name:\"cover\",description:\"The replaced content is sized to maintain its aspect ratio while filling the element's entire content box: its concrete object size is resolved as a cover constraint against the element's used width and height.\"},{name:\"fill\",description:\"The replaced content is sized to fill the element's content box: the object's concrete object size is the element's used width and height.\"},{name:\"none\",description:\"The replaced content is not resized to fit inside the element's content box\"},{name:\"scale-down\",description:\"Size the content as if 'none' or 'contain' were specified, whichever would result in a smaller concrete object size.\"}],syntax:\"fill | contain | cover | none | scale-down\",relevance:72,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/object-fit\"}],description:\"Specifies how the contents of a replaced element should be scaled relative to the box established by its used height and width.\",restrictions:[\"enum\"]},{name:\"object-position\",browsers:[\"E79\",\"FF36\",\"S10\",\"C32\",\"O19\"],syntax:\"<position>\",relevance:57,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/object-position\"}],description:\"Determines the alignment of the replaced element inside its box.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"-o-border-image\",browsers:[\"O11.6\"],values:[{name:\"auto\",description:\"If 'auto' is specified then the border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.\"},{name:\"fill\",description:\"Causes the middle part of the border-image to be preserved.\"},{name:\"none\"},{name:\"repeat\",description:\"The image is tiled (repeated) to fill the area.\"},{name:\"round\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.\"},{name:\"space\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.\"},{name:\"stretch\",description:\"The image is stretched to fill the area.\"}],relevance:50,description:\"Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.\",restrictions:[\"length\",\"percentage\",\"number\",\"image\",\"enum\"]},{name:\"-o-object-fit\",browsers:[\"O10.6\"],values:[{name:\"contain\",description:\"The replaced content is sized to maintain its aspect ratio while fitting within the element's content box: its concrete object size is resolved as a contain constraint against the element's used width and height.\"},{name:\"cover\",description:\"The replaced content is sized to maintain its aspect ratio while filling the element's entire content box: its concrete object size is resolved as a cover constraint against the element's used width and height.\"},{name:\"fill\",description:\"The replaced content is sized to fill the element's content box: the object's concrete object size is the element's used width and height.\"},{name:\"none\",description:\"The replaced content is not resized to fit inside the element's content box\"},{name:\"scale-down\",description:\"Size the content as if 'none' or 'contain' were specified, whichever would result in a smaller concrete object size.\"}],relevance:50,description:\"Specifies how the contents of a replaced element should be scaled relative to the box established by its used height and width.\",restrictions:[\"enum\"]},{name:\"-o-object-position\",browsers:[\"O10.6\"],relevance:50,description:\"Determines the alignment of the replaced element inside its box.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"opacity\",browsers:[\"E12\",\"FF1\",\"S2\",\"C1\",\"IE9\",\"O9\"],syntax:\"<alpha-value>\",relevance:92,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/opacity\"}],description:\"Opacity of an element's text, where 1 is opaque and 0 is entirely transparent.\",restrictions:[\"number(0-1)\"]},{name:\"order\",browsers:[\"E12\",\"FF20\",\"S9\",\"C29\",\"IE11\",\"O12.1\"],syntax:\"<integer>\",relevance:67,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/order\"}],description:\"Controls the order in which children of a flex container appear within the flex container, by assigning them to ordinal groups.\",restrictions:[\"integer\"]},{name:\"orphans\",browsers:[\"E12\",\"S1.3\",\"C25\",\"IE8\",\"O9.2\"],syntax:\"<integer>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/orphans\"}],description:\"Specifies the minimum number of line boxes in a block container that must be left in a fragment before a fragmentation break.\",restrictions:[\"integer\"]},{name:\"-o-table-baseline\",browsers:[\"O9.6\"],relevance:50,description:\"Determines which row of a inline-table should be used as baseline of inline-table.\",restrictions:[\"integer\"]},{name:\"-o-tab-size\",browsers:[\"O10.6\"],relevance:50,description:\"This property determines the width of the tab character (U+0009), in space characters (U+0020), when rendered.\",restrictions:[\"integer\",\"length\"]},{name:\"-o-text-overflow\",browsers:[\"O10\"],values:[{name:\"clip\",description:\"Clip inline content that overflows. Characters may be only partially rendered.\"},{name:\"ellipsis\",description:\"Render an ellipsis character (U+2026) to represent clipped inline content.\"}],relevance:50,description:\"Text can overflow for example when it is prevented from wrapping\",restrictions:[\"enum\"]},{name:\"-o-transform\",browsers:[\"O10.5\"],values:[{name:\"matrix()\",description:\"Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]\"},{name:\"matrix3d()\",description:\"Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.\"},{name:\"none\"},{name:\"rotate()\",description:\"Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.\"},{name:\"rotate3d()\",description:\"Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.\"},{name:\"rotateX('angle')\",description:\"Specifies a clockwise rotation by the given angle about the X axis.\"},{name:\"rotateY('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Y axis.\"},{name:\"rotateZ('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Z axis.\"},{name:\"scale()\",description:\"Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.\"},{name:\"scale3d()\",description:\"Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.\"},{name:\"scaleX()\",description:\"Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.\"},{name:\"scaleY()\",description:\"Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.\"},{name:\"scaleZ()\",description:\"Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.\"},{name:\"skew()\",description:\"Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).\"},{name:\"skewX()\",description:\"Specifies a skew transformation along the X axis by the given angle.\"},{name:\"skewY()\",description:\"Specifies a skew transformation along the Y axis by the given angle.\"},{name:\"translate()\",description:\"Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.\"},{name:\"translate3d()\",description:\"Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.\"},{name:\"translateX()\",description:\"Specifies a translation by the given amount in the X direction.\"},{name:\"translateY()\",description:\"Specifies a translation by the given amount in the Y direction.\"},{name:\"translateZ()\",description:\"Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.\"}],relevance:50,description:\"A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.\",restrictions:[\"enum\"]},{name:\"-o-transform-origin\",browsers:[\"O10.5\"],relevance:50,description:\"Establishes the origin of transformation for an element.\",restrictions:[\"positon\",\"length\",\"percentage\"]},{name:\"-o-transition\",browsers:[\"O11.5\"],values:[{name:\"all\",description:\"Every property that is able to undergo a transition will do so.\"},{name:\"none\",description:\"No property will transition.\"}],relevance:50,description:\"Shorthand property combines four of the transition properties into a single property.\",restrictions:[\"time\",\"property\",\"timing-function\",\"enum\"]},{name:\"-o-transition-delay\",browsers:[\"O11.5\"],relevance:50,description:\"Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.\",restrictions:[\"time\"]},{name:\"-o-transition-duration\",browsers:[\"O11.5\"],relevance:50,description:\"Specifies how long the transition from the old value to the new value should take.\",restrictions:[\"time\"]},{name:\"-o-transition-property\",browsers:[\"O11.5\"],values:[{name:\"all\",description:\"Every property that is able to undergo a transition will do so.\"},{name:\"none\",description:\"No property will transition.\"}],relevance:50,description:\"Specifies the name of the CSS property to which the transition is applied.\",restrictions:[\"property\"]},{name:\"-o-transition-timing-function\",browsers:[\"O11.5\"],relevance:50,description:\"Describes how the intermediate values used during a transition will be calculated.\",restrictions:[\"timing-function\"]},{name:\"offset-block-end\",browsers:[\"FF41\"],values:[{name:\"auto\",description:\"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well.\"}],relevance:50,description:\"Logical 'bottom'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"offset-block-start\",browsers:[\"FF41\"],values:[{name:\"auto\",description:\"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well.\"}],relevance:50,description:\"Logical 'top'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"offset-inline-end\",browsers:[\"FF41\"],values:[{name:\"auto\",description:\"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well.\"}],relevance:50,description:\"Logical 'right'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"offset-inline-start\",browsers:[\"FF41\"],values:[{name:\"auto\",description:\"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well.\"}],relevance:50,description:\"Logical 'left'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"outline\",browsers:[\"E94\",\"FF88\",\"S16.4\",\"C94\",\"IE8\",\"O80\"],values:[{name:\"auto\",description:\"Permits the user agent to render a custom outline style, typically the default platform style.\"},{name:\"invert\",browsers:[\"E94\",\"FF88\",\"S16.4\",\"C94\",\"IE8\",\"O80\"],description:\"Performs a color inversion on the pixels on the screen.\"}],syntax:\"[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]\",relevance:88,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/outline\"}],description:\"Shorthand property for 'outline-style', 'outline-width', and 'outline-color'.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\",\"enum\"]},{name:\"outline-color\",browsers:[\"E12\",\"FF1.5\",\"S1.2\",\"C1\",\"IE8\",\"O7\"],values:[{name:\"invert\",browsers:[\"E12\",\"FF1.5\",\"S1.2\",\"C1\",\"IE8\",\"O7\"],description:\"Performs a color inversion on the pixels on the screen.\"}],syntax:\"auto | <color>\",relevance:61,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/outline-color\"}],description:\"The color of the outline.\",restrictions:[\"enum\",\"color\"]},{name:\"outline-offset\",browsers:[\"E15\",\"FF1.5\",\"S1.2\",\"C1\",\"O9.5\"],syntax:\"<length>\",relevance:69,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/outline-offset\"}],description:\"Offset the outline and draw it beyond the border edge.\",restrictions:[\"length\"]},{name:\"outline-style\",browsers:[\"E12\",\"FF1.5\",\"S1.2\",\"C1\",\"IE8\",\"O7\"],values:[{name:\"auto\",description:\"Permits the user agent to render a custom outline style, typically the default platform style.\"}],syntax:\"auto | <'border-style'>\",relevance:61,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/outline-style\"}],description:\"Style of the outline.\",restrictions:[\"line-style\",\"enum\"]},{name:\"outline-width\",browsers:[\"E12\",\"FF1.5\",\"S1.2\",\"C1\",\"IE8\",\"O7\"],syntax:\"<line-width>\",relevance:62,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/outline-width\"}],description:\"Width of the outline.\",restrictions:[\"length\",\"line-width\"]},{name:\"overflow\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"auto\",description:\"The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.\"},{name:\"hidden\",description:\"Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region.\"},{name:\"-moz-hidden-unscrollable\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],description:\"Same as the standardized 'clip', except doesn't establish a block formatting context.\"},{name:\"scroll\",description:\"Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped.\"},{name:\"visible\",description:\"Content is not clipped, i.e., it may be rendered outside the content box.\"}],syntax:\"[ visible | hidden | clip | scroll | auto ]{1,2}\",relevance:93,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overflow\"}],description:\"Shorthand for setting 'overflow-x' and 'overflow-y'.\",restrictions:[\"enum\"]},{name:\"overflow-wrap\",browsers:[\"E18\",\"FF49\",\"S7\",\"C23\",\"IE5.5\",\"O12.1\"],values:[{name:\"break-word\",description:\"An otherwise unbreakable sequence of characters may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line.\"},{name:\"normal\",description:\"Lines may break only at allowed break points.\"}],syntax:\"normal | break-word | anywhere\",relevance:65,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap\"}],description:\"Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit within the line box.\",restrictions:[\"enum\"]},{name:\"overflow-x\",browsers:[\"E12\",\"FF3.5\",\"S3\",\"C1\",\"IE5\",\"O9.5\"],values:[{name:\"auto\",description:\"The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.\"},{name:\"hidden\",description:\"Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region.\"},{name:\"scroll\",description:\"Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped.\"},{name:\"visible\",description:\"Content is not clipped, i.e., it may be rendered outside the content box.\"}],syntax:\"visible | hidden | clip | scroll | auto\",relevance:81,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overflow-x\"}],description:\"Specifies the handling of overflow in the horizontal direction.\",restrictions:[\"enum\"]},{name:\"overflow-y\",browsers:[\"E12\",\"FF3.5\",\"S3\",\"C1\",\"IE5\",\"O9.5\"],values:[{name:\"auto\",description:\"The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.\"},{name:\"hidden\",description:\"Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region.\"},{name:\"scroll\",description:\"Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped.\"},{name:\"visible\",description:\"Content is not clipped, i.e., it may be rendered outside the content box.\"}],syntax:\"visible | hidden | clip | scroll | auto\",relevance:82,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overflow-y\"}],description:\"Specifies the handling of overflow in the vertical direction.\",restrictions:[\"enum\"]},{name:\"pad\",browsers:[\"FF33\"],atRule:\"@counter-style\",syntax:\"<integer> && <symbol>\",relevance:50,description:'@counter-style descriptor. Specifies a \"fixed-width\" counter style, where representations shorter than the pad value are padded with a particular <symbol>',restrictions:[\"integer\",\"image\",\"string\",\"identifier\"]},{name:\"padding\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[],syntax:\"[ <length> | <percentage> ]{1,4}\",relevance:95,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding\"}],description:\"Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.\",restrictions:[\"length\",\"percentage\"]},{name:\"padding-bottom\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<length> | <percentage>\",relevance:88,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-bottom\"}],description:\"Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.\",restrictions:[\"length\",\"percentage\"]},{name:\"padding-block-end\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'padding-left'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-block-end\"}],description:\"Logical 'padding-bottom'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"padding-block-start\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'padding-left'>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-block-start\"}],description:\"Logical 'padding-top'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"padding-inline-end\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'padding-left'>\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-inline-end\"}],description:\"Logical 'padding-right'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"padding-inline-start\",browsers:[\"E79\",\"FF41\",\"S12.1\",\"C69\",\"O56\"],syntax:\"<'padding-left'>\",relevance:56,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-inline-start\"}],description:\"Logical 'padding-left'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.\",restrictions:[\"length\",\"percentage\"]},{name:\"padding-left\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<length> | <percentage>\",relevance:89,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-left\"}],description:\"Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.\",restrictions:[\"length\",\"percentage\"]},{name:\"padding-right\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<length> | <percentage>\",relevance:88,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-right\"}],description:\"Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.\",restrictions:[\"length\",\"percentage\"]},{name:\"padding-top\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],syntax:\"<length> | <percentage>\",relevance:89,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-top\"}],description:\"Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.\",restrictions:[\"length\",\"percentage\"]},{name:\"page-break-after\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"always\",description:\"Always force a page break after the generated box.\"},{name:\"auto\",description:\"Neither force nor forbid a page break after generated box.\"},{name:\"avoid\",description:\"Avoid a page break after the generated box.\"},{name:\"left\",description:\"Force one or two page breaks after the generated box so that the next page is formatted as a left page.\"},{name:\"right\",description:\"Force one or two page breaks after the generated box so that the next page is formatted as a right page.\"}],syntax:\"auto | always | avoid | left | right | recto | verso\",relevance:52,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/page-break-after\"}],description:\"Defines rules for page breaks after an element.\",restrictions:[\"enum\"]},{name:\"page-break-before\",browsers:[\"E12\",\"FF1\",\"S1.2\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"always\",description:\"Always force a page break before the generated box.\"},{name:\"auto\",description:\"Neither force nor forbid a page break before the generated box.\"},{name:\"avoid\",description:\"Avoid a page break before the generated box.\"},{name:\"left\",description:\"Force one or two page breaks before the generated box so that the next page is formatted as a left page.\"},{name:\"right\",description:\"Force one or two page breaks before the generated box so that the next page is formatted as a right page.\"}],syntax:\"auto | always | avoid | left | right | recto | verso\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/page-break-before\"}],description:\"Defines rules for page breaks before an element.\",restrictions:[\"enum\"]},{name:\"page-break-inside\",browsers:[\"E12\",\"FF19\",\"S1.3\",\"C1\",\"IE8\",\"O7\"],values:[{name:\"auto\",description:\"Neither force nor forbid a page break inside the generated box.\"},{name:\"avoid\",description:\"Avoid a page break inside the generated box.\"}],syntax:\"auto | avoid\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/page-break-inside\"}],description:\"Defines rules for page breaks inside an element.\",restrictions:[\"enum\"]},{name:\"paint-order\",browsers:[\"E79\",\"FF60\",\"S11\",\"C35\",\"O22\"],values:[{name:\"fill\"},{name:\"markers\"},{name:\"normal\",description:\"The element is painted with the standard order of painting operations: the 'fill' is painted first, then its 'stroke' and finally its markers.\"},{name:\"stroke\"}],syntax:\"normal | [ fill || stroke || markers ]\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/paint-order\"}],description:\"Controls the order that the three paint operations that shapes and text are rendered with: their fill, their stroke and any markers they might have.\",restrictions:[\"enum\"]},{name:\"perspective\",browsers:[\"E12\",\"FF16\",\"S9\",\"C36\",\"IE10\",\"O23\"],values:[{name:\"none\",description:\"No perspective transform is applied.\"}],syntax:\"none | <length>\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/perspective\"}],description:\"Applies the same transform as the perspective(<number>) transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.\",restrictions:[\"length\",\"enum\"]},{name:\"perspective-origin\",browsers:[\"E12\",\"FF16\",\"S9\",\"C36\",\"IE10\",\"O23\"],syntax:\"<position>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/perspective-origin\"}],description:\"Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.\",restrictions:[\"position\",\"percentage\",\"length\"]},{name:\"pointer-events\",browsers:[\"E12\",\"FF1.5\",\"S4\",\"C1\",\"IE11\",\"O9\"],values:[{name:\"all\",description:\"The given element can be the target element for pointer events whenever the pointer is over either the interior or the perimeter of the element.\"},{name:\"fill\",description:\"The given element can be the target element for pointer events whenever the pointer is over the interior of the element.\"},{name:\"none\",description:\"The given element does not receive pointer events.\"},{name:\"painted\",description:'The given element can be the target element for pointer events when the pointer is over a \"painted\" area. '},{name:\"stroke\",description:\"The given element can be the target element for pointer events whenever the pointer is over the perimeter of the element.\"},{name:\"visible\",description:\"The given element can be the target element for pointer events when the 'visibility' property is set to visible and the pointer is over either the interior or the perimeter of the element.\"},{name:\"visibleFill\",description:\"The given element can be the target element for pointer events when the 'visibility' property is set to visible and when the pointer is over the interior of the element.\"},{name:\"visiblePainted\",description:\"The given element can be the target element for pointer events when the 'visibility' property is set to visible and when the pointer is over a 'painted' area.\"},{name:\"visibleStroke\",description:\"The given element can be the target element for pointer events when the 'visibility' property is set to visible and when the pointer is over the perimeter of the element.\"}],syntax:\"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit\",relevance:82,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/pointer-events\"}],description:\"Specifies under what circumstances a given element can be the target element for a pointer event.\",restrictions:[\"enum\"]},{name:\"position\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O4\"],values:[{name:\"absolute\",description:\"The box's position (and possibly size) is specified with the 'top', 'right', 'bottom', and 'left' properties. These properties specify offsets with respect to the box's 'containing block'.\"},{name:\"fixed\",description:\"The box's position is calculated according to the 'absolute' model, but in addition, the box is fixed with respect to some reference. As with the 'absolute' model, the box's margins do not collapse with any other margins.\"},{name:\"-ms-page\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O4\"],description:\"The box's position is calculated according to the 'absolute' model.\"},{name:\"relative\",description:\"The box's position is calculated according to the normal flow (this is called the position in normal flow). Then the box is offset relative to its normal position.\"},{name:\"static\",description:\"The box is a normal box, laid out according to the normal flow. The 'top', 'right', 'bottom', and 'left' properties do not apply.\"},{name:\"sticky\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O4\"],description:\"The box's position is calculated according to the normal flow. Then the box is offset relative to its flow root and containing block and in all cases, including table elements, does not affect the position of any following boxes.\"},{name:\"-webkit-sticky\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O4\"],description:\"The box's position is calculated according to the normal flow. Then the box is offset relative to its flow root and containing block and in all cases, including table elements, does not affect the position of any following boxes.\"}],syntax:\"static | relative | absolute | sticky | fixed\",relevance:95,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/position\"}],description:\"The position CSS property sets how an element is positioned in a document. The top, right, bottom, and left properties determine the final location of positioned elements.\",restrictions:[\"enum\"]},{name:\"prefix\",browsers:[\"FF33\"],atRule:\"@counter-style\",syntax:\"<symbol>\",relevance:50,description:\"@counter-style descriptor. Specifies a <symbol> that is prepended to the marker representation.\",restrictions:[\"image\",\"string\",\"identifier\"]},{name:\"quotes\",browsers:[\"E12\",\"FF1.5\",\"S9\",\"C11\",\"IE8\",\"O4\"],values:[{name:\"none\",description:\"The 'open-quote' and 'close-quote' values of the 'content' property produce no quotations marks, as if they were 'no-open-quote' and 'no-close-quote' respectively.\"}],syntax:\"none | auto | [ <string> <string> ]+\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/quotes\"}],description:\"Specifies quotation marks for any number of embedded quotations.\",restrictions:[\"string\"]},{name:\"range\",browsers:[\"FF33\"],values:[{name:\"auto\",description:\"The range depends on the counter system.\"},{name:\"infinite\",description:\"If used as the first value in a range, it represents negative infinity; if used as the second value, it represents positive infinity.\"}],atRule:\"@counter-style\",syntax:\"[ [ <integer> | infinite ]{2} ]# | auto\",relevance:50,description:\"@counter-style descriptor. Defines the ranges over which the counter style is defined.\",restrictions:[\"integer\",\"enum\"]},{name:\"resize\",browsers:[\"E79\",\"FF4\",\"S3\",\"C1\",\"O12.1\"],values:[{name:\"both\",description:\"The UA presents a bidirectional resizing mechanism to allow the user to adjust both the height and the width of the element.\"},{name:\"horizontal\",description:\"The UA presents a unidirectional horizontal resizing mechanism to allow the user to adjust only the width of the element.\"},{name:\"none\",description:\"The UA does not present a resizing mechanism on the element, and the user is given no direct manipulation mechanism to resize the element.\"},{name:\"vertical\",description:\"The UA presents a unidirectional vertical resizing mechanism to allow the user to adjust only the height of the element.\"}],syntax:\"none | both | horizontal | vertical | block | inline\",relevance:66,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/resize\"}],description:\"Specifies whether or not an element is resizable by the user, and if so, along which axis/axes.\",restrictions:[\"enum\"]},{name:\"right\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O5\"],values:[{name:\"auto\",description:\"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well\"}],syntax:\"<length> | <percentage> | auto\",relevance:91,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/right\"}],description:\"Specifies how far an absolutely positioned box's right margin edge is offset to the left of the right edge of the box's 'containing block'.\",restrictions:[\"length\",\"percentage\"]},{name:\"ruby-align\",browsers:[\"FF38\",\"Spreview\"],values:[{name:\"auto\",browsers:[\"FF38\",\"Spreview\"],description:\"The user agent determines how the ruby contents are aligned. This is the initial value.\"},{name:\"center\",description:\"The ruby content is centered within its box.\"},{name:\"distribute-letter\",browsers:[\"FF38\",\"Spreview\"],description:\"If the width of the ruby text is smaller than that of the base, then the ruby text contents are evenly distributed across the width of the base, with the first and last ruby text glyphs lining up with the corresponding first and last base glyphs. If the width of the ruby text is at least the width of the base, then the letters of the base are evenly distributed across the width of the ruby text.\"},{name:\"distribute-space\",browsers:[\"FF38\",\"Spreview\"],description:\"If the width of the ruby text is smaller than that of the base, then the ruby text contents are evenly distributed across the width of the base, with a certain amount of white space preceding the first and following the last character in the ruby text. That amount of white space is normally equal to half the amount of inter-character space of the ruby text.\"},{name:\"left\",description:\"The ruby text content is aligned with the start edge of the base.\"},{name:\"line-edge\",browsers:[\"FF38\",\"Spreview\"],description:\"If the ruby text is not adjacent to a line edge, it is aligned as in 'auto'. If it is adjacent to a line edge, then it is still aligned as in auto, but the side of the ruby text that touches the end of the line is lined up with the corresponding edge of the base.\"},{name:\"right\",browsers:[\"FF38\",\"Spreview\"],description:\"The ruby text content is aligned with the end edge of the base.\"},{name:\"start\",browsers:[\"FF38\",\"Spreview\"],description:\"The ruby text content is aligned with the start edge of the base.\"},{name:\"space-between\",browsers:[\"FF38\",\"Spreview\"],description:\"The ruby content expands as defined for normal text justification (as defined by 'text-justify'),\"},{name:\"space-around\",browsers:[\"FF38\",\"Spreview\"],description:\"As for 'space-between' except that there exists an extra justification opportunities whose space is distributed half before and half after the ruby content.\"}],status:\"experimental\",syntax:\"start | center | space-between | space-around\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/ruby-align\"}],description:\"Specifies how text is distributed within the various ruby boxes when their contents do not exactly fill their respective boxes.\",restrictions:[\"enum\"]},{name:\"ruby-overhang\",browsers:[\"FF10\",\"IE5\"],values:[{name:\"auto\",description:\"The ruby text can overhang text adjacent to the base on either side. This is the initial value.\"},{name:\"end\",description:\"The ruby text can overhang the text that follows it.\"},{name:\"none\",description:\"The ruby text cannot overhang any text adjacent to its base, only its own base.\"},{name:\"start\",description:\"The ruby text can overhang the text that precedes it.\"}],relevance:50,description:\"Determines whether, and on which side, ruby text is allowed to partially overhang any adjacent text in addition to its own base, when the ruby text is wider than the ruby base.\",restrictions:[\"enum\"]},{name:\"ruby-position\",browsers:[\"E84\",\"FF38\",\"S7\",\"C84\",\"O70\"],values:[{name:\"after\",description:\"The ruby text appears after the base. This is a relatively rare setting used in ideographic East Asian writing systems, most easily found in educational text.\"},{name:\"before\",description:\"The ruby text appears before the base. This is the most common setting used in ideographic East Asian writing systems.\"},{name:\"inline\"},{name:\"right\",description:\"The ruby text appears on the right of the base. Unlike 'before' and 'after', this value is not relative to the text flow direction.\"}],syntax:\"[ alternate || [ over | under ] ] | inter-character\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/ruby-position\"}],description:\"Used by the parent of elements with display: ruby-text to control the position of the ruby text with respect to its base.\",restrictions:[\"enum\"]},{name:\"ruby-span\",browsers:[\"FF10\"],values:[{name:\"attr(x)\",description:\"The value of attribute 'x' is a string value. The string value is evaluated as a <number> to determine the number of ruby base elements to be spanned by the annotation element.\"},{name:\"none\",description:\"No spanning. The computed value is '1'.\"}],relevance:50,description:\"Determines whether, and on which side, ruby text is allowed to partially overhang any adjacent text in addition to its own base, when the ruby text is wider than the ruby base.\",restrictions:[\"enum\"]},{name:\"scrollbar-3dlight-color\",browsers:[\"IE5\"],relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-3dlight-color\"}],description:\"Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.\",restrictions:[\"color\"]},{name:\"scrollbar-arrow-color\",browsers:[\"IE5\"],relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-arrow-color\"}],description:\"Determines the color of the arrow elements of a scroll arrow.\",restrictions:[\"color\"]},{name:\"scrollbar-base-color\",browsers:[\"IE5\"],relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-base-color\"}],description:\"Determines the color of the main elements of a scroll bar, which include the scroll box, track, and scroll arrows.\",restrictions:[\"color\"]},{name:\"scrollbar-darkshadow-color\",browsers:[\"IE5\"],relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-darkshadow-color\"}],description:\"Determines the color of the gutter of a scroll bar.\",restrictions:[\"color\"]},{name:\"scrollbar-face-color\",browsers:[\"IE5\"],relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-face-color\"}],description:\"Determines the color of the scroll box and scroll arrows of a scroll bar.\",restrictions:[\"color\"]},{name:\"scrollbar-highlight-color\",browsers:[\"IE5\"],relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-highlight-color\"}],description:\"Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.\",restrictions:[\"color\"]},{name:\"scrollbar-shadow-color\",browsers:[\"IE5\"],relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-shadow-color\"}],description:\"Determines the color of the bottom and right edges of the scroll box and scroll arrows of a scroll bar.\",restrictions:[\"color\"]},{name:\"scrollbar-track-color\",browsers:[\"IE6\"],relevance:50,description:\"Determines the color of the track element of a scroll bar.\",restrictions:[\"color\"]},{name:\"scroll-behavior\",browsers:[\"E79\",\"FF36\",\"S15.4\",\"C61\",\"O48\"],values:[{name:\"auto\",description:\"Scrolls in an instant fashion.\"},{name:\"smooth\",description:\"Scrolls in a smooth fashion using a user-agent-defined timing function and time period.\"}],syntax:\"auto | smooth\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-behavior\"}],description:\"Specifies the scrolling behavior for a scrolling box, when scrolling happens due to navigation or CSSOM scrolling APIs.\",restrictions:[\"enum\"]},{name:\"scroll-snap-coordinate\",browsers:[\"FF39\"],values:[{name:\"none\",description:\"Specifies that this element does not contribute a snap point.\"}],status:\"obsolete\",syntax:\"none | <position>#\",relevance:0,description:\"Defines the x and y coordinate within the element which will align with the nearest ancestor scroll container's snap-destination for the respective axis.\",restrictions:[\"position\",\"length\",\"percentage\",\"enum\"]},{name:\"scroll-snap-destination\",browsers:[\"FF39\"],status:\"obsolete\",syntax:\"<position>\",relevance:0,description:\"Define the x and y coordinate within the scroll container's visual viewport which element snap points will align with.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"scroll-snap-points-x\",browsers:[\"FF39\"],values:[{name:\"none\",description:\"No snap points are defined by this scroll container.\"},{name:\"repeat()\",description:\"Defines an interval at which snap points are defined, starting from the container's relevant start edge.\"}],status:\"obsolete\",syntax:\"none | repeat( <length-percentage> )\",relevance:0,description:\"Defines the positioning of snap points along the x axis of the scroll container it is applied to.\",restrictions:[\"enum\"]},{name:\"scroll-snap-points-y\",browsers:[\"FF39\"],values:[{name:\"none\",description:\"No snap points are defined by this scroll container.\"},{name:\"repeat()\",description:\"Defines an interval at which snap points are defined, starting from the container's relevant start edge.\"}],status:\"obsolete\",syntax:\"none | repeat( <length-percentage> )\",relevance:0,description:\"Defines the positioning of snap points along the y axis of the scroll container it is applied to.\",restrictions:[\"enum\"]},{name:\"scroll-snap-type\",browsers:[\"E79\",\"FF99\",\"S11\",\"C69\",\"IE10\",\"O56\"],values:[{name:\"none\",description:\"The visual viewport of this scroll container must ignore snap points, if any, when scrolled.\"},{name:\"mandatory\",description:\"The visual viewport of this scroll container is guaranteed to rest on a snap point when there are no active scrolling operations.\"},{name:\"proximity\",description:\"The visual viewport of this scroll container may come to rest on a snap point at the termination of a scroll at the discretion of the UA given the parameters of the scroll.\"}],syntax:\"none | [ x | y | block | inline | both ] [ mandatory | proximity ]?\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type\"}],description:\"Defines how strictly snap points are enforced on the scroll container.\",restrictions:[\"enum\"]},{name:\"shape-image-threshold\",browsers:[\"E79\",\"FF62\",\"S10.1\",\"C37\",\"O24\"],syntax:\"<alpha-value>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold\"}],description:\"Defines the alpha channel threshold used to extract the shape using an image. A value of 0.5 means that the shape will enclose all the pixels that are more than 50% opaque.\",restrictions:[\"number\"]},{name:\"shape-margin\",browsers:[\"E79\",\"FF62\",\"S10.1\",\"C37\",\"O24\"],syntax:\"<length-percentage>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/shape-margin\"}],description:\"Adds a margin to a 'shape-outside'. This defines a new shape that is the smallest contour that includes all the points that are the 'shape-margin' distance outward in the perpendicular direction from a point on the underlying shape.\",restrictions:[\"url\",\"length\",\"percentage\"]},{name:\"shape-outside\",browsers:[\"E79\",\"FF62\",\"S10.1\",\"C37\",\"O24\"],values:[{name:\"margin-box\",description:\"The background is painted within (clipped to) the margin box.\"},{name:\"none\",description:\"The float area is unaffected.\"}],syntax:\"none | [ <shape-box> || <basic-shape> ] | <image>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/shape-outside\"}],description:\"Specifies an orthogonal rotation to be applied to an image before it is laid out.\",restrictions:[\"image\",\"box\",\"shape\",\"enum\"]},{name:\"shape-rendering\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"auto\",description:\"Suppresses aural rendering.\"},{name:\"crispEdges\",description:\"Emphasize the contrast between clean edges of artwork over rendering speed and geometric precision.\"},{name:\"geometricPrecision\",description:\"Emphasize geometric precision over speed and crisp edges.\"},{name:\"optimizeSpeed\",description:\"Emphasize rendering speed over geometric precision and crisp edges.\"}],relevance:50,description:\"Provides hints about what tradeoffs to make as it renders vector graphics elements such as <path> elements and basic shapes such as circles and rectangles.\",restrictions:[\"enum\"]},{name:\"size\",browsers:[\"C\",\"O8\"],atRule:\"@page\",syntax:\"<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]\",relevance:53,description:\"The size CSS at-rule descriptor, used with the @page at-rule, defines the size and orientation of the box which is used to represent a page. Most of the time, this size corresponds to the target size of the printed page if applicable.\",restrictions:[\"length\"]},{name:\"src\",values:[{name:\"url()\",description:\"Reference font by URL\"},{name:\"format()\",description:\"Optional hint describing the format of the font resource.\"},{name:\"local()\",description:\"Format-specific string that identifies a locally available copy of a given font.\"}],atRule:\"@font-face\",syntax:\"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#\",relevance:86,description:\"@font-face descriptor. Specifies the resource containing font data. It is required, whether the font is downloadable or locally installed.\",restrictions:[\"enum\",\"url\",\"identifier\"]},{name:\"stop-color\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],relevance:50,description:\"Indicates what color to use at that gradient stop.\",restrictions:[\"color\"]},{name:\"stop-opacity\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],relevance:50,description:\"Defines the opacity of a given gradient stop.\",restrictions:[\"number(0-1)\"]},{name:\"stroke\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"url()\",description:\"A URL reference to a paint server element, which is an element that defines a paint server: 'hatch', 'linearGradient', 'mesh', 'pattern', 'radialGradient' and 'solidcolor'.\"},{name:\"none\",description:\"No paint is applied in this layer.\"}],relevance:67,description:\"Paints along the outline of the given graphical element.\",restrictions:[\"color\",\"enum\",\"url\"]},{name:\"stroke-dasharray\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"none\",description:\"Indicates that no dashing is used.\"}],relevance:61,description:\"Controls the pattern of dashes and gaps used to stroke paths.\",restrictions:[\"length\",\"percentage\",\"number\",\"enum\"]},{name:\"stroke-dashoffset\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],relevance:62,description:\"Specifies the distance into the dash pattern to start the dash.\",restrictions:[\"percentage\",\"length\"]},{name:\"stroke-linecap\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"butt\",description:\"Indicates that the stroke for each subpath does not extend beyond its two endpoints.\"},{name:\"round\",description:\"Indicates that at each end of each subpath, the shape representing the stroke will be extended by a half circle with a radius equal to the stroke width.\"},{name:\"square\",description:\"Indicates that at the end of each subpath, the shape representing the stroke will be extended by a rectangle with the same width as the stroke width and whose length is half of the stroke width.\"}],relevance:53,description:\"Specifies the shape to be used at the end of open subpaths when they are stroked.\",restrictions:[\"enum\"]},{name:\"stroke-linejoin\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"bevel\",description:\"Indicates that a bevelled corner is to be used to join path segments.\"},{name:\"miter\",description:\"Indicates that a sharp corner is to be used to join path segments.\"},{name:\"round\",description:\"Indicates that a round corner is to be used to join path segments.\"}],relevance:51,description:\"Specifies the shape to be used at the corners of paths or basic shapes when they are stroked.\",restrictions:[\"enum\"]},{name:\"stroke-miterlimit\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],relevance:51,description:\"When two line segments meet at a sharp angle and miter joins have been specified for 'stroke-linejoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path.\",restrictions:[\"number\"]},{name:\"stroke-opacity\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],relevance:52,description:\"Specifies the opacity of the painting operation used to stroke the current object.\",restrictions:[\"number(0-1)\"]},{name:\"stroke-width\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],relevance:64,description:\"Specifies the width of the stroke on the current object.\",restrictions:[\"percentage\",\"length\"]},{name:\"suffix\",browsers:[\"FF33\"],atRule:\"@counter-style\",syntax:\"<symbol>\",relevance:50,description:\"@counter-style descriptor. Specifies a <symbol> that is appended to the marker representation.\",restrictions:[\"image\",\"string\",\"identifier\"]},{name:\"system\",browsers:[\"FF33\"],values:[{name:\"additive\",description:'Represents \"sign-value\" numbering systems, which, rather than using reusing digits in different positions to change their value, define additional digits with much larger values, so that the value of the number can be obtained by adding all the digits together.'},{name:\"alphabetic\",description:'Interprets the list of counter symbols as digits to an alphabetic numbering system, similar to the default lower-alpha counter style, which wraps from \"a\", \"b\", \"c\", to \"aa\", \"ab\", \"ac\".'},{name:\"cyclic\",description:\"Cycles repeatedly through its provided symbols, looping back to the beginning when it reaches the end of the list.\"},{name:\"extends\",description:\"Use the algorithm of another counter style, but alter other aspects.\"},{name:\"fixed\",description:\"Runs through its list of counter symbols once, then falls back.\"},{name:\"numeric\",description:`interprets the list of counter symbols as digits to a \"place-value\" numbering system, similar to the default 'decimal' counter style.`},{name:\"symbolic\",description:\"Cycles repeatedly through its provided symbols, doubling, tripling, etc. the symbols on each successive pass through the list.\"}],atRule:\"@counter-style\",syntax:\"cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]\",relevance:50,description:\"@counter-style descriptor. Specifies which algorithm will be used to construct the counter's representation based on the counter value.\",restrictions:[\"enum\",\"integer\"]},{name:\"symbols\",browsers:[\"FF33\"],atRule:\"@counter-style\",syntax:\"<symbol>+\",relevance:50,description:\"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor.\",restrictions:[\"image\",\"string\",\"identifier\"]},{name:\"table-layout\",browsers:[\"E12\",\"FF1\",\"S1\",\"C14\",\"IE5\",\"O7\"],values:[{name:\"auto\",description:\"Use any automatic table layout algorithm.\"},{name:\"fixed\",description:\"Use the fixed table layout algorithm.\"}],syntax:\"auto | fixed\",relevance:58,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/table-layout\"}],description:\"Controls the algorithm used to lay out the table cells, rows, and columns.\",restrictions:[\"enum\"]},{name:\"tab-size\",browsers:[\"E79\",\"FF91\",\"S7\",\"C21\",\"O15\"],syntax:\"<integer> | <length>\",relevance:53,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/tab-size\"}],description:\"Determines the width of the tab character (U+0009), in space characters (U+0020), when rendered.\",restrictions:[\"integer\",\"length\"]},{name:\"text-align\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"center\",description:\"The inline contents are centered within the line box.\"},{name:\"end\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],description:\"The inline contents are aligned to the end edge of the line box.\"},{name:\"justify\",description:\"The text is justified according to the method specified by the 'text-justify' property.\"},{name:\"left\",description:\"The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text.\"},{name:\"right\",description:\"The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text.\"},{name:\"start\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],description:\"The inline contents are aligned to the start edge of the line box.\"}],syntax:\"start | end | left | right | center | justify | match-parent\",relevance:93,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-align\"}],description:\"Describes how inline contents of a block are horizontally aligned if the contents do not completely fill the line box.\",restrictions:[\"string\"]},{name:\"text-align-last\",browsers:[\"E12\",\"FF49\",\"S16\",\"C47\",\"IE5.5\",\"O34\"],values:[{name:\"auto\",description:\"Content on the affected line is aligned per 'text-align' unless 'text-align' is set to 'justify', in which case it is 'start-aligned'.\"},{name:\"center\",description:\"The inline contents are centered within the line box.\"},{name:\"justify\",description:\"The text is justified according to the method specified by the 'text-justify' property.\"},{name:\"left\",description:\"The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text.\"},{name:\"right\",description:\"The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text.\"}],syntax:\"auto | start | end | left | right | center | justify\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-align-last\"}],description:\"Describes how the last line of a block or a line right before a forced line break is aligned when 'text-align' is set to 'justify'.\",restrictions:[\"enum\"]},{name:\"text-anchor\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"end\",description:\"The rendered characters are aligned such that the end of the resulting rendered text is at the initial current text position.\"},{name:\"middle\",description:\"The rendered characters are aligned such that the geometric middle of the resulting rendered text is at the initial current text position.\"},{name:\"start\",description:\"The rendered characters are aligned such that the start of the resulting rendered text is at the initial current text position.\"}],relevance:50,description:\"Used to align (start-, middle- or end-alignment) a string of text relative to a given point.\",restrictions:[\"enum\"]},{name:\"text-decoration\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[{name:\"dashed\",description:\"Produces a dashed line style.\"},{name:\"dotted\",description:\"Produces a dotted line.\"},{name:\"double\",description:\"Produces a double line.\"},{name:\"line-through\",description:\"Each line of text has a line through the middle.\"},{name:\"none\",description:\"Produces no line.\"},{name:\"overline\",description:\"Each line of text has a line above it.\"},{name:\"solid\",description:\"Produces a solid line.\"},{name:\"underline\",description:\"Each line of text is underlined.\"},{name:\"wavy\",description:\"Produces a wavy line.\"}],syntax:\"<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>\",relevance:91,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-decoration\"}],description:\"Decorations applied to font used for an element's text.\",restrictions:[\"enum\",\"color\"]},{name:\"text-decoration-color\",browsers:[\"E79\",\"FF36\",\"S12.1\",\"C57\",\"O44\"],syntax:\"<color>\",relevance:55,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-color\"}],description:\"Specifies the color of text decoration (underlines overlines, and line-throughs) set on the element with text-decoration-line.\",restrictions:[\"color\"]},{name:\"text-decoration-line\",browsers:[\"E79\",\"FF36\",\"S12.1\",\"C57\",\"O44\"],values:[{name:\"line-through\",description:\"Each line of text has a line through the middle.\"},{name:\"none\",description:\"Neither produces nor inhibits text decoration.\"},{name:\"overline\",description:\"Each line of text has a line above it.\"},{name:\"underline\",description:\"Each line of text is underlined.\"}],syntax:\"none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error\",relevance:57,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-line\"}],description:\"Specifies what line decorations, if any, are added to the element.\",restrictions:[\"enum\"]},{name:\"text-decoration-style\",browsers:[\"E79\",\"FF36\",\"S12.1\",\"C57\",\"O44\"],values:[{name:\"dashed\",description:\"Produces a dashed line style.\"},{name:\"dotted\",description:\"Produces a dotted line.\"},{name:\"double\",description:\"Produces a double line.\"},{name:\"none\",description:\"Produces no line.\"},{name:\"solid\",description:\"Produces a solid line.\"},{name:\"wavy\",description:\"Produces a wavy line.\"}],syntax:\"solid | double | dotted | dashed | wavy\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-style\"}],description:\"Specifies the line style for underline, line-through and overline text decoration.\",restrictions:[\"enum\"]},{name:\"text-indent\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],values:[],syntax:\"<length-percentage> && hanging? && each-line?\",relevance:67,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-indent\"}],description:\"Specifies the indentation applied to lines of inline content in a block. The indentation only affects the first line of inline content in the block unless the 'hanging' keyword is specified, in which case it affects all lines except the first.\",restrictions:[\"percentage\",\"length\"]},{name:\"text-justify\",browsers:[\"E79\",\"FF55\",\"C32\",\"IE11\",\"O19\"],values:[{name:\"auto\",description:\"The UA determines the justification algorithm to follow, based on a balance between performance and adequate presentation quality.\"},{name:\"distribute\",description:\"Justification primarily changes spacing both at word separators and at grapheme cluster boundaries in all scripts except those in the connected and cursive groups. This value is sometimes used in e.g. Japanese, often with the 'text-align-last' property.\"},{name:\"distribute-all-lines\"},{name:\"inter-cluster\",description:\"Justification primarily changes spacing at word separators and at grapheme cluster boundaries in clustered scripts. This value is typically used for Southeast Asian scripts such as Thai.\"},{name:\"inter-ideograph\",description:\"Justification primarily changes spacing at word separators and at inter-graphemic boundaries in scripts that use no word spaces. This value is typically used for CJK languages.\"},{name:\"inter-word\",description:\"Justification primarily changes spacing at word separators. This value is typically used for languages that separate words using spaces, like English or (sometimes) Korean.\"},{name:\"kashida\",description:\"Justification primarily stretches Arabic and related scripts through the use of kashida or other calligraphic elongation.\"},{name:\"newspaper\"}],syntax:\"auto | inter-character | inter-word | none\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-justify\"}],description:\"Selects the justification algorithm used when 'text-align' is set to 'justify'. The property applies to block containers, but the UA may (but is not required to) also support it on inline elements.\",restrictions:[\"enum\"]},{name:\"text-orientation\",browsers:[\"E79\",\"FF41\",\"S14\",\"C48\",\"O35\"],values:[{name:\"sideways\",browsers:[\"E79\",\"FF41\",\"S14\",\"C48\",\"O35\"],description:\"This value is equivalent to 'sideways-right' in 'vertical-rl' writing mode and equivalent to 'sideways-left' in 'vertical-lr' writing mode.\"},{name:\"sideways-right\",browsers:[\"E79\",\"FF41\",\"S14\",\"C48\",\"O35\"],description:\"In vertical writing modes, this causes text to be set as if in a horizontal layout, but rotated 90\\xB0 clockwise.\"},{name:\"upright\",description:\"In vertical writing modes, characters from horizontal-only scripts are rendered upright, i.e. in their standard horizontal orientation.\"}],syntax:\"mixed | upright | sideways\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-orientation\"}],description:\"Specifies the orientation of text within a line.\",restrictions:[\"enum\"]},{name:\"text-overflow\",browsers:[\"E12\",\"FF7\",\"S1.3\",\"C1\",\"IE6\",\"O11\"],values:[{name:\"clip\",description:\"Clip inline content that overflows. Characters may be only partially rendered.\"},{name:\"ellipsis\",description:\"Render an ellipsis character (U+2026) to represent clipped inline content.\"}],syntax:\"[ clip | ellipsis | <string> ]{1,2}\",relevance:82,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-overflow\"}],description:\"Text can overflow for example when it is prevented from wrapping.\",restrictions:[\"enum\",\"string\"]},{name:\"text-rendering\",browsers:[\"E79\",\"FF1\",\"S5\",\"C4\",\"O15\"],values:[{name:\"auto\"},{name:\"geometricPrecision\",description:\"Indicates that the user agent shall emphasize geometric precision over legibility and rendering speed.\"},{name:\"optimizeLegibility\",description:\"Indicates that the user agent shall emphasize legibility over rendering speed and geometric precision.\"},{name:\"optimizeSpeed\",description:\"Indicates that the user agent shall emphasize rendering speed over legibility and geometric precision.\"}],syntax:\"auto | optimizeSpeed | optimizeLegibility | geometricPrecision\",relevance:68,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-rendering\"}],description:\"The creator of SVG content might want to provide a hint to the implementation about what tradeoffs to make as it renders text. The 'text-rendering' property provides these hints.\",restrictions:[\"enum\"]},{name:\"text-shadow\",browsers:[\"E12\",\"FF3.5\",\"S1.1\",\"C2\",\"IE10\",\"O9.5\"],values:[{name:\"none\",description:\"No shadow.\"}],syntax:\"none | <shadow-t>#\",relevance:73,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-shadow\"}],description:\"Enables shadow effects to be applied to the text of the element.\",restrictions:[\"length\",\"color\"]},{name:\"text-transform\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O7\"],values:[{name:\"capitalize\",description:\"Puts the first typographic letter unit of each word in titlecase.\"},{name:\"lowercase\",description:\"Puts all letters in lowercase.\"},{name:\"none\",description:\"No effects.\"},{name:\"uppercase\",description:\"Puts all letters in uppercase.\"}],syntax:\"none | capitalize | uppercase | lowercase | full-width | full-size-kana\",relevance:86,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-transform\"}],description:\"Controls capitalization effects of an element's text.\",restrictions:[\"enum\"]},{name:\"text-underline-position\",browsers:[\"E12\",\"FF74\",\"S12.1\",\"C33\",\"IE6\",\"O20\"],values:[{name:\"above\"},{name:\"auto\",description:\"The user agent may use any algorithm to determine the underline's position. In horizontal line layout, the underline should be aligned as for alphabetic. In vertical line layout, if the language is set to Japanese or Korean, the underline should be aligned as for over.\"},{name:\"below\",description:\"The underline is aligned with the under edge of the element's content box.\"}],syntax:\"auto | from-font | [ under || [ left | right ] ]\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-underline-position\"}],description:\"Sets the position of an underline specified on the same element: it does not affect underlines specified by ancestor elements. This property is typically used in vertical writing contexts such as in Japanese documents where it often desired to have the underline appear 'over' (to the right of) the affected run of text\",restrictions:[\"enum\"]},{name:\"top\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5\",\"O6\"],values:[{name:\"auto\",description:\"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well\"}],syntax:\"<length> | <percentage> | auto\",relevance:95,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/top\"}],description:\"Specifies how far an absolutely positioned box's top margin edge is offset below the top edge of the box's 'containing block'.\",restrictions:[\"length\",\"percentage\"]},{name:\"touch-action\",browsers:[\"E12\",\"FF52\",\"S13\",\"C36\",\"IE11\",\"O23\"],values:[{name:\"auto\",description:\"The user agent may determine any permitted touch behaviors for touches that begin on the element.\"},{name:\"cross-slide-x\",browsers:[\"E12\",\"FF52\",\"S13\",\"C36\",\"IE11\",\"O23\"]},{name:\"cross-slide-y\",browsers:[\"E12\",\"FF52\",\"S13\",\"C36\",\"IE11\",\"O23\"]},{name:\"double-tap-zoom\",browsers:[\"E12\",\"FF52\",\"S13\",\"C36\",\"IE11\",\"O23\"]},{name:\"manipulation\",description:\"The user agent may consider touches that begin on the element only for the purposes of scrolling and continuous zooming.\"},{name:\"none\",description:\"Touches that begin on the element must not trigger default touch behaviors.\"},{name:\"pan-x\",description:\"The user agent may consider touches that begin on the element only for the purposes of horizontally scrolling the element's nearest ancestor with horizontally scrollable content.\"},{name:\"pan-y\",description:\"The user agent may consider touches that begin on the element only for the purposes of vertically scrolling the element's nearest ancestor with vertically scrollable content.\"},{name:\"pinch-zoom\",browsers:[\"E12\",\"FF52\",\"S13\",\"C36\",\"IE11\",\"O23\"]}],syntax:\"auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation\",relevance:69,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/touch-action\"}],description:\"Determines whether touch input may trigger default behavior supplied by user agent.\",restrictions:[\"enum\"]},{name:\"transform\",browsers:[\"E12\",\"FF16\",\"S9\",\"C36\",\"IE10\",\"O23\"],values:[{name:\"matrix()\",description:\"Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]\"},{name:\"matrix3d()\",description:\"Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.\"},{name:\"none\"},{name:\"perspective()\",description:\"Specifies a perspective projection matrix.\"},{name:\"rotate()\",description:\"Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.\"},{name:\"rotate3d()\",description:\"Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.\"},{name:\"rotateX('angle')\",description:\"Specifies a clockwise rotation by the given angle about the X axis.\"},{name:\"rotateY('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Y axis.\"},{name:\"rotateZ('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Z axis.\"},{name:\"scale()\",description:\"Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.\"},{name:\"scale3d()\",description:\"Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.\"},{name:\"scaleX()\",description:\"Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.\"},{name:\"scaleY()\",description:\"Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.\"},{name:\"scaleZ()\",description:\"Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.\"},{name:\"skew()\",description:\"Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).\"},{name:\"skewX()\",description:\"Specifies a skew transformation along the X axis by the given angle.\"},{name:\"skewY()\",description:\"Specifies a skew transformation along the Y axis by the given angle.\"},{name:\"translate()\",description:\"Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.\"},{name:\"translate3d()\",description:\"Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.\"},{name:\"translateX()\",description:\"Specifies a translation by the given amount in the X direction.\"},{name:\"translateY()\",description:\"Specifies a translation by the given amount in the Y direction.\"},{name:\"translateZ()\",description:\"Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.\"}],syntax:\"none | <transform-list>\",relevance:90,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transform\"}],description:\"A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.\",restrictions:[\"enum\"]},{name:\"transform-origin\",browsers:[\"E12\",\"FF16\",\"S9\",\"C36\",\"IE10\",\"O23\"],syntax:\"[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?\",relevance:76,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transform-origin\"}],description:\"Establishes the origin of transformation for an element.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"transform-style\",browsers:[\"E12\",\"FF16\",\"S9\",\"C36\",\"O23\"],values:[{name:\"flat\",description:\"All children of this element are rendered flattened into the 2D plane of the element.\"},{name:\"preserve-3d\",browsers:[\"E12\",\"FF16\",\"S9\",\"C36\",\"O23\"],description:\"Flattening is not performed, so children maintain their position in 3D space.\"}],syntax:\"flat | preserve-3d\",relevance:56,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transform-style\"}],description:\"Defines how nested elements are rendered in 3D space.\",restrictions:[\"enum\"]},{name:\"transition\",browsers:[\"E12\",\"FF16\",\"S9\",\"C26\",\"IE10\",\"O12.1\"],values:[{name:\"all\",description:\"Every property that is able to undergo a transition will do so.\"},{name:\"none\",description:\"No property will transition.\"}],syntax:\"<single-transition>#\",relevance:89,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transition\"}],description:\"Shorthand property combines four of the transition properties into a single property.\",restrictions:[\"time\",\"property\",\"timing-function\",\"enum\"]},{name:\"transition-delay\",browsers:[\"E12\",\"FF16\",\"S9\",\"C26\",\"IE10\",\"O12.1\"],syntax:\"<time>#\",relevance:64,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transition-delay\"}],description:\"Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.\",restrictions:[\"time\"]},{name:\"transition-duration\",browsers:[\"E12\",\"FF16\",\"S9\",\"C26\",\"IE10\",\"O12.1\"],syntax:\"<time>#\",relevance:68,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transition-duration\"}],description:\"Specifies how long the transition from the old value to the new value should take.\",restrictions:[\"time\"]},{name:\"transition-property\",browsers:[\"E12\",\"FF16\",\"S9\",\"C26\",\"IE10\",\"O12.1\"],values:[{name:\"all\",description:\"Every property that is able to undergo a transition will do so.\"},{name:\"none\",description:\"No property will transition.\"}],syntax:\"none | <single-transition-property>#\",relevance:68,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transition-property\"}],description:\"Specifies the name of the CSS property to which the transition is applied.\",restrictions:[\"property\"]},{name:\"transition-timing-function\",browsers:[\"E12\",\"FF16\",\"S9\",\"C26\",\"IE10\",\"O12.1\"],syntax:\"<easing-function>#\",relevance:65,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transition-timing-function\"}],description:\"Describes how the intermediate values used during a transition will be calculated.\",restrictions:[\"timing-function\"]},{name:\"unicode-bidi\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C2\",\"IE5.5\",\"O9.2\"],values:[{name:\"bidi-override\",description:\"Inside the element, reordering is strictly in sequence according to the 'direction' property; the implicit part of the bidirectional algorithm is ignored.\"},{name:\"embed\",description:\"If the element is inline-level, this value opens an additional level of embedding with respect to the bidirectional algorithm. The direction of this embedding level is given by the 'direction' property.\"},{name:\"isolate\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C2\",\"IE5.5\",\"O9.2\"],description:\"The contents of the element are considered to be inside a separate, independent paragraph.\"},{name:\"isolate-override\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C2\",\"IE5.5\",\"O9.2\"],description:\"This combines the isolation behavior of 'isolate' with the directional override behavior of 'bidi-override'\"},{name:\"normal\",description:\"The element does not open an additional level of embedding with respect to the bidirectional algorithm. For inline-level elements, implicit reordering works across element boundaries.\"},{name:\"plaintext\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C2\",\"IE5.5\",\"O9.2\"],description:\"For the purposes of the Unicode bidirectional algorithm, the base directionality of each bidi paragraph for which the element forms the containing block is determined not by the element's computed 'direction'.\"}],syntax:\"normal | embed | isolate | bidi-override | isolate-override | plaintext\",relevance:56,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/unicode-bidi\"}],description:\"The level of embedding with respect to the bidirectional algorithm.\",restrictions:[\"enum\"]},{name:\"unicode-range\",values:[{name:\"U+26\",description:\"Ampersand.\"},{name:\"U+20-24F, U+2B0-2FF, U+370-4FF, U+1E00-1EFF, U+2000-20CF, U+2100-23FF, U+2500-26FF, U+E000-F8FF, U+FB00-FB4F\",description:\"WGL4 character set (Pan-European).\"},{name:\"U+20-17F, U+2B0-2FF, U+2000-206F, U+20A0-20CF, U+2100-21FF, U+2600-26FF\",description:\"The Multilingual European Subset No. 1. Latin. Covers ~44 languages.\"},{name:\"U+20-2FF, U+370-4FF, U+1E00-20CF, U+2100-23FF, U+2500-26FF, U+FB00-FB4F, U+FFF0-FFFD\",description:\"The Multilingual European Subset No. 2. Latin, Greek, and Cyrillic. Covers ~128 language.\"},{name:\"U+20-4FF, U+530-58F, U+10D0-10FF, U+1E00-23FF, U+2440-245F, U+2500-26FF, U+FB00-FB4F, U+FE20-FE2F, U+FFF0-FFFD\",description:\"The Multilingual European Subset No. 3. Covers all characters belonging to European scripts.\"},{name:\"U+00-7F\",description:\"Basic Latin (ASCII).\"},{name:\"U+80-FF\",description:\"Latin-1 Supplement. Accented characters for Western European languages, common punctuation characters, multiplication and division signs.\"},{name:\"U+100-17F\",description:\"Latin Extended-A. Accented characters for for Czech, Dutch, Polish, and Turkish.\"},{name:\"U+180-24F\",description:\"Latin Extended-B. Croatian, Slovenian, Romanian, Non-European and historic latin, Khoisan, Pinyin, Livonian, Sinology.\"},{name:\"U+1E00-1EFF\",description:\"Latin Extended Additional. Vietnamese, German captial sharp s, Medievalist, Latin general use.\"},{name:\"U+250-2AF\",description:\"International Phonetic Alphabet Extensions.\"},{name:\"U+370-3FF\",description:\"Greek and Coptic.\"},{name:\"U+1F00-1FFF\",description:\"Greek Extended. Accented characters for polytonic Greek.\"},{name:\"U+400-4FF\",description:\"Cyrillic.\"},{name:\"U+500-52F\",description:\"Cyrillic Supplement. Extra letters for Komi, Khanty, Chukchi, Mordvin, Kurdish, Aleut, Chuvash, Abkhaz, Azerbaijani, and Orok.\"},{name:\"U+00-52F, U+1E00-1FFF, U+2200-22FF\",description:\"Latin, Greek, Cyrillic, some punctuation and symbols.\"},{name:\"U+530-58F\",description:\"Armenian.\"},{name:\"U+590-5FF\",description:\"Hebrew.\"},{name:\"U+600-6FF\",description:\"Arabic.\"},{name:\"U+750-77F\",description:\"Arabic Supplement. Additional letters for African languages, Khowar, Torwali, Burushaski, and early Persian.\"},{name:\"U+8A0-8FF\",description:\"Arabic Extended-A. Additional letters for African languages, European and Central Asian languages, Rohingya, Tamazight, Arwi, and Koranic annotation signs.\"},{name:\"U+700-74F\",description:\"Syriac.\"},{name:\"U+900-97F\",description:\"Devanagari.\"},{name:\"U+980-9FF\",description:\"Bengali.\"},{name:\"U+A00-A7F\",description:\"Gurmukhi.\"},{name:\"U+A80-AFF\",description:\"Gujarati.\"},{name:\"U+B00-B7F\",description:\"Oriya.\"},{name:\"U+B80-BFF\",description:\"Tamil.\"},{name:\"U+C00-C7F\",description:\"Telugu.\"},{name:\"U+C80-CFF\",description:\"Kannada.\"},{name:\"U+D00-D7F\",description:\"Malayalam.\"},{name:\"U+D80-DFF\",description:\"Sinhala.\"},{name:\"U+118A0-118FF\",description:\"Warang Citi.\"},{name:\"U+E00-E7F\",description:\"Thai.\"},{name:\"U+1A20-1AAF\",description:\"Tai Tham.\"},{name:\"U+AA80-AADF\",description:\"Tai Viet.\"},{name:\"U+E80-EFF\",description:\"Lao.\"},{name:\"U+F00-FFF\",description:\"Tibetan.\"},{name:\"U+1000-109F\",description:\"Myanmar (Burmese).\"},{name:\"U+10A0-10FF\",description:\"Georgian.\"},{name:\"U+1200-137F\",description:\"Ethiopic.\"},{name:\"U+1380-139F\",description:\"Ethiopic Supplement. Extra Syllables for Sebatbeit, and Tonal marks\"},{name:\"U+2D80-2DDF\",description:\"Ethiopic Extended. Extra Syllables for Me'en, Blin, and Sebatbeit.\"},{name:\"U+AB00-AB2F\",description:\"Ethiopic Extended-A. Extra characters for Gamo-Gofa-Dawro, Basketo, and Gumuz.\"},{name:\"U+1780-17FF\",description:\"Khmer.\"},{name:\"U+1800-18AF\",description:\"Mongolian.\"},{name:\"U+1B80-1BBF\",description:\"Sundanese.\"},{name:\"U+1CC0-1CCF\",description:\"Sundanese Supplement. Punctuation.\"},{name:\"U+4E00-9FD5\",description:\"CJK (Chinese, Japanese, Korean) Unified Ideographs. Most common ideographs for modern Chinese and Japanese.\"},{name:\"U+3400-4DB5\",description:\"CJK Unified Ideographs Extension A. Rare ideographs.\"},{name:\"U+2F00-2FDF\",description:\"Kangxi Radicals.\"},{name:\"U+2E80-2EFF\",description:\"CJK Radicals Supplement. Alternative forms of Kangxi Radicals.\"},{name:\"U+1100-11FF\",description:\"Hangul Jamo.\"},{name:\"U+AC00-D7AF\",description:\"Hangul Syllables.\"},{name:\"U+3040-309F\",description:\"Hiragana.\"},{name:\"U+30A0-30FF\",description:\"Katakana.\"},{name:\"U+A5, U+4E00-9FFF, U+30??, U+FF00-FF9F\",description:\"Japanese Kanji, Hiragana and Katakana characters plus Yen/Yuan symbol.\"},{name:\"U+A4D0-A4FF\",description:\"Lisu.\"},{name:\"U+A000-A48F\",description:\"Yi Syllables.\"},{name:\"U+A490-A4CF\",description:\"Yi Radicals.\"},{name:\"U+2000-206F\",description:\"General Punctuation.\"},{name:\"U+3000-303F\",description:\"CJK Symbols and Punctuation.\"},{name:\"U+2070-209F\",description:\"Superscripts and Subscripts.\"},{name:\"U+20A0-20CF\",description:\"Currency Symbols.\"},{name:\"U+2100-214F\",description:\"Letterlike Symbols.\"},{name:\"U+2150-218F\",description:\"Number Forms.\"},{name:\"U+2190-21FF\",description:\"Arrows.\"},{name:\"U+2200-22FF\",description:\"Mathematical Operators.\"},{name:\"U+2300-23FF\",description:\"Miscellaneous Technical.\"},{name:\"U+E000-F8FF\",description:\"Private Use Area.\"},{name:\"U+FB00-FB4F\",description:\"Alphabetic Presentation Forms. Ligatures for latin, Armenian, and Hebrew.\"},{name:\"U+FB50-FDFF\",description:\"Arabic Presentation Forms-A. Contextual forms / ligatures for Persian, Urdu, Sindhi, Central Asian languages, etc, Arabic pedagogical symbols, word ligatures.\"},{name:\"U+1F600-1F64F\",description:\"Emoji: Emoticons.\"},{name:\"U+2600-26FF\",description:\"Emoji: Miscellaneous Symbols.\"},{name:\"U+1F300-1F5FF\",description:\"Emoji: Miscellaneous Symbols and Pictographs.\"},{name:\"U+1F900-1F9FF\",description:\"Emoji: Supplemental Symbols and Pictographs.\"},{name:\"U+1F680-1F6FF\",description:\"Emoji: Transport and Map Symbols.\"}],atRule:\"@font-face\",syntax:\"<unicode-range>#\",relevance:72,description:\"@font-face descriptor. Defines the set of Unicode codepoints that may be supported by the font face for which it is declared.\",restrictions:[\"unicode-range\"]},{name:\"user-select\",browsers:[\"E79\",\"FF69\",\"S3\",\"C54\",\"IE10\",\"O41\"],values:[{name:\"all\",description:\"The content of the element must be selected atomically\"},{name:\"auto\"},{name:\"contain\",description:\"UAs must not allow a selection which is started in this element to be extended outside of this element.\"},{name:\"none\",description:\"The UA must not allow selections to be started in this element.\"},{name:\"text\",description:\"The element imposes no constraint on the selection.\"}],syntax:\"auto | text | none | contain | all\",relevance:82,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/user-select\"}],description:\"Controls the appearance of selection.\",restrictions:[\"enum\"]},{name:\"vertical-align\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O4\"],values:[{name:\"auto\",description:\"Align the dominant baseline of the parent box with the equivalent, or heuristically reconstructed, baseline of the element inline box.\"},{name:\"baseline\",description:\"Align the 'alphabetic' baseline of the element with the 'alphabetic' baseline of the parent element.\"},{name:\"bottom\",description:\"Align the after edge of the extended inline box with the after-edge of the line box.\"},{name:\"middle\",description:\"Align the 'middle' baseline of the inline element with the middle baseline of the parent.\"},{name:\"sub\",description:\"Lower the baseline of the box to the proper position for subscripts of the parent's box. (This value has no effect on the font size of the element's text.)\"},{name:\"super\",description:\"Raise the baseline of the box to the proper position for superscripts of the parent's box. (This value has no effect on the font size of the element's text.)\"},{name:\"text-bottom\",description:\"Align the bottom of the box with the after-edge of the parent element's font.\"},{name:\"text-top\",description:\"Align the top of the box with the before-edge of the parent element's font.\"},{name:\"top\",description:\"Align the before edge of the extended inline box with the before-edge of the line box.\"},{name:\"-webkit-baseline-middle\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O4\"]}],syntax:\"baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>\",relevance:90,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/vertical-align\"}],description:\"Affects the vertical positioning of the inline boxes generated by an inline-level element inside a line box.\",restrictions:[\"percentage\",\"length\"]},{name:\"visibility\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O4\"],values:[{name:\"collapse\",description:\"Table-specific. If used on elements other than rows, row groups, columns, or column groups, 'collapse' has the same meaning as 'hidden'.\"},{name:\"hidden\",description:\"The generated box is invisible (fully transparent, nothing is drawn), but still affects layout.\"},{name:\"visible\",description:\"The generated box is visible.\"}],syntax:\"visible | hidden | collapse\",relevance:87,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/visibility\"}],description:\"Specifies whether the boxes generated by an element are rendered. Invisible boxes still affect layout (set the 'display' property to 'none' to suppress box generation altogether).\",restrictions:[\"enum\"]},{name:\"-webkit-animation\",browsers:[\"C\",\"S5\"],values:[{name:\"alternate\",description:\"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.\"},{name:\"alternate-reverse\",description:\"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.\"},{name:\"backwards\",description:\"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.\"},{name:\"both\",description:\"Both forwards and backwards fill modes are applied.\"},{name:\"forwards\",description:\"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.\"},{name:\"infinite\",description:\"Causes the animation to repeat forever.\"},{name:\"none\",description:\"No animation is performed\"},{name:\"normal\",description:\"Normal playback.\"},{name:\"reverse\",description:\"All iterations of the animation are played in the reverse direction from the way they were specified.\"}],relevance:50,description:\"Shorthand property combines six of the animation properties into a single property.\",restrictions:[\"time\",\"enum\",\"timing-function\",\"identifier\",\"number\"]},{name:\"-webkit-animation-delay\",browsers:[\"C\",\"S5\"],relevance:50,description:\"Defines when the animation will start.\",restrictions:[\"time\"]},{name:\"-webkit-animation-direction\",browsers:[\"C\",\"S5\"],values:[{name:\"alternate\",description:\"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.\"},{name:\"alternate-reverse\",description:\"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.\"},{name:\"normal\",description:\"Normal playback.\"},{name:\"reverse\",description:\"All iterations of the animation are played in the reverse direction from the way they were specified.\"}],relevance:50,description:\"Defines whether or not the animation should play in reverse on alternate cycles.\",restrictions:[\"enum\"]},{name:\"-webkit-animation-duration\",browsers:[\"C\",\"S5\"],relevance:50,description:\"Defines the length of time that an animation takes to complete one cycle.\",restrictions:[\"time\"]},{name:\"-webkit-animation-fill-mode\",browsers:[\"C\",\"S5\"],values:[{name:\"backwards\",description:\"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.\"},{name:\"both\",description:\"Both forwards and backwards fill modes are applied.\"},{name:\"forwards\",description:\"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.\"},{name:\"none\",description:\"There is no change to the property value between the time the animation is applied and the time the animation begins playing or after the animation completes.\"}],relevance:50,description:\"Defines what values are applied by the animation outside the time it is executing.\",restrictions:[\"enum\"]},{name:\"-webkit-animation-iteration-count\",browsers:[\"C\",\"S5\"],values:[{name:\"infinite\",description:\"Causes the animation to repeat forever.\"}],relevance:50,description:\"Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.\",restrictions:[\"number\",\"enum\"]},{name:\"-webkit-animation-name\",browsers:[\"C\",\"S5\"],values:[{name:\"none\",description:\"No animation is performed\"}],relevance:50,description:\"Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.\",restrictions:[\"identifier\",\"enum\"]},{name:\"-webkit-animation-play-state\",browsers:[\"C\",\"S5\"],values:[{name:\"paused\",description:\"A running animation will be paused.\"},{name:\"running\",description:\"Resume playback of a paused animation.\"}],relevance:50,description:\"Defines whether the animation is running or paused.\",restrictions:[\"enum\"]},{name:\"-webkit-animation-timing-function\",browsers:[\"C\",\"S5\"],relevance:50,description:\"Describes how the animation will progress over one cycle of its duration. See the 'transition-timing-function'.\",restrictions:[\"timing-function\"]},{name:\"-webkit-appearance\",browsers:[\"C\",\"S3\"],values:[{name:\"button\"},{name:\"button-bevel\"},{name:\"caps-lock-indicator\"},{name:\"caret\"},{name:\"checkbox\"},{name:\"default-button\"},{name:\"listbox\"},{name:\"listitem\"},{name:\"media-fullscreen-button\"},{name:\"media-mute-button\"},{name:\"media-play-button\"},{name:\"media-seek-back-button\"},{name:\"media-seek-forward-button\"},{name:\"media-slider\"},{name:\"media-sliderthumb\"},{name:\"menulist\"},{name:\"menulist-button\"},{name:\"menulist-text\"},{name:\"menulist-textfield\"},{name:\"none\"},{name:\"push-button\"},{name:\"radio\"},{name:\"scrollbarbutton-down\"},{name:\"scrollbarbutton-left\"},{name:\"scrollbarbutton-right\"},{name:\"scrollbarbutton-up\"},{name:\"scrollbargripper-horizontal\"},{name:\"scrollbargripper-vertical\"},{name:\"scrollbarthumb-horizontal\"},{name:\"scrollbarthumb-vertical\"},{name:\"scrollbartrack-horizontal\"},{name:\"scrollbartrack-vertical\"},{name:\"searchfield\"},{name:\"searchfield-cancel-button\"},{name:\"searchfield-decoration\"},{name:\"searchfield-results-button\"},{name:\"searchfield-results-decoration\"},{name:\"slider-horizontal\"},{name:\"sliderthumb-horizontal\"},{name:\"sliderthumb-vertical\"},{name:\"slider-vertical\"},{name:\"square-button\"},{name:\"textarea\"},{name:\"textfield\"}],status:\"nonstandard\",syntax:\"none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button\",relevance:0,description:\"Changes the appearance of buttons and other controls to resemble native controls.\",restrictions:[\"enum\"]},{name:\"-webkit-backdrop-filter\",browsers:[\"S9\"],values:[{name:\"none\",description:\"No filter effects are applied.\"},{name:\"blur()\",description:\"Applies a Gaussian blur to the input image.\"},{name:\"brightness()\",description:\"Applies a linear multiplier to input image, making it appear more or less bright.\"},{name:\"contrast()\",description:\"Adjusts the contrast of the input.\"},{name:\"drop-shadow()\",description:\"Applies a drop shadow effect to the input image.\"},{name:\"grayscale()\",description:\"Converts the input image to grayscale.\"},{name:\"hue-rotate()\",description:\"Applies a hue rotation on the input image. \"},{name:\"invert()\",description:\"Inverts the samples in the input image.\"},{name:\"opacity()\",description:\"Applies transparency to the samples in the input image.\"},{name:\"saturate()\",description:\"Saturates the input image.\"},{name:\"sepia()\",description:\"Converts the input image to sepia.\"},{name:\"url()\",description:\"A filter reference to a <filter> element.\"}],relevance:50,description:\"Applies a filter effect where the first filter in the list takes the element's background image as the input image.\",restrictions:[\"enum\",\"url\"]},{name:\"-webkit-backface-visibility\",browsers:[\"C\",\"S5\"],values:[{name:\"hidden\"},{name:\"visible\"}],relevance:50,description:\"Determines whether or not the 'back' side of a transformed element is visible when facing the viewer. With an identity transform, the front side of an element faces the viewer.\",restrictions:[\"enum\"]},{name:\"-webkit-background-clip\",browsers:[\"C\",\"S3\"],relevance:50,description:\"Determines the background painting area.\",restrictions:[\"box\"]},{name:\"-webkit-background-composite\",browsers:[\"C\",\"S3\"],values:[{name:\"border\"},{name:\"padding\"}],relevance:50,restrictions:[\"enum\"]},{name:\"-webkit-background-origin\",browsers:[\"C\",\"S3\"],relevance:50,description:\"For elements rendered as a single box, specifies the background positioning area. For elements rendered as multiple boxes (e.g., inline boxes on several lines, boxes on several pages) specifies which boxes 'box-decoration-break' operates on to determine the background positioning area(s).\",restrictions:[\"box\"]},{name:\"-webkit-border-image\",browsers:[\"C\",\"S5\"],values:[{name:\"auto\",description:\"If 'auto' is specified then the border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.\"},{name:\"fill\",description:\"Causes the middle part of the border-image to be preserved.\"},{name:\"none\"},{name:\"repeat\",description:\"The image is tiled (repeated) to fill the area.\"},{name:\"round\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.\"},{name:\"space\",description:\"The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.\"},{name:\"stretch\",description:\"The image is stretched to fill the area.\"},{name:\"url()\"}],relevance:50,description:\"Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.\",restrictions:[\"length\",\"percentage\",\"number\",\"url\",\"enum\"]},{name:\"-webkit-box-align\",browsers:[\"C\",\"S3\"],values:[{name:\"baseline\",description:\"If this box orientation is inline-axis or horizontal, all children are placed with their baselines aligned, and extra space placed before or after as necessary. For block flows, the baseline of the first non-empty line box located within the element is used. For tables, the baseline of the first cell is used.\"},{name:\"center\",description:\"Any extra space is divided evenly, with half placed above the child and the other half placed after the child.\"},{name:\"end\",description:\"For normal direction boxes, the bottom edge of each child is placed along the bottom of the box. Extra space is placed above the element. For reverse direction boxes, the top edge of each child is placed along the top of the box. Extra space is placed below the element.\"},{name:\"start\",description:\"For normal direction boxes, the top edge of each child is placed along the top of the box. Extra space is placed below the element. For reverse direction boxes, the bottom edge of each child is placed along the bottom of the box. Extra space is placed above the element.\"},{name:\"stretch\",description:\"The height of each child is adjusted to that of the containing block.\"}],relevance:50,description:\"Specifies the alignment of nested elements within an outer flexible box element.\",restrictions:[\"enum\"]},{name:\"-webkit-box-direction\",browsers:[\"C\",\"S3\"],values:[{name:\"normal\",description:\"A box with a computed value of horizontal for box-orient displays its children from left to right. A box with a computed value of vertical displays its children from top to bottom.\"},{name:\"reverse\",description:\"A box with a computed value of horizontal for box-orient displays its children from right to left. A box with a computed value of vertical displays its children from bottom to top.\"}],relevance:50,description:\"In webkit applications, -webkit-box-direction specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).\",restrictions:[\"enum\"]},{name:\"-webkit-box-flex\",browsers:[\"C\",\"S3\"],relevance:50,description:\"Specifies an element's flexibility.\",restrictions:[\"number\"]},{name:\"-webkit-box-flex-group\",browsers:[\"C\",\"S3\"],relevance:50,description:\"Flexible elements can be assigned to flex groups using the 'box-flex-group' property.\",restrictions:[\"integer\"]},{name:\"-webkit-box-ordinal-group\",browsers:[\"C\",\"S3\"],relevance:50,description:\"Indicates the ordinal group the element belongs to. Elements with a lower ordinal group are displayed before those with a higher ordinal group.\",restrictions:[\"integer\"]},{name:\"-webkit-box-orient\",browsers:[\"C\",\"S3\"],values:[{name:\"block-axis\",description:\"Elements are oriented along the box's axis.\"},{name:\"horizontal\",description:\"The box displays its children from left to right in a horizontal line.\"},{name:\"inline-axis\",description:\"Elements are oriented vertically.\"},{name:\"vertical\",description:\"The box displays its children from stacked from top to bottom vertically.\"}],relevance:50,description:\"In webkit applications, -webkit-box-orient specifies whether a box lays out its contents horizontally or vertically.\",restrictions:[\"enum\"]},{name:\"-webkit-box-pack\",browsers:[\"C\",\"S3\"],values:[{name:\"center\",description:\"The extra space is divided evenly, with half placed before the first child and the other half placed after the last child.\"},{name:\"end\",description:\"For normal direction boxes, the right edge of the last child is placed at the right side, with all extra space placed before the first child. For reverse direction boxes, the left edge of the first child is placed at the left side, with all extra space placed after the last child.\"},{name:\"justify\",description:\"The space is divided evenly in-between each child, with none of the extra space placed before the first child or after the last child. If there is only one child, treat the pack value as if it were start.\"},{name:\"start\",description:\"For normal direction boxes, the left edge of the first child is placed at the left side, with all extra space placed after the last child. For reverse direction boxes, the right edge of the last child is placed at the right side, with all extra space placed before the first child.\"}],relevance:50,description:\"Specifies alignment of child elements within the current element in the direction of orientation.\",restrictions:[\"enum\"]},{name:\"-webkit-box-reflect\",browsers:[\"E79\",\"S4\",\"C4\",\"O15\"],values:[{name:\"above\",description:\"The reflection appears above the border box.\"},{name:\"below\",description:\"The reflection appears below the border box.\"},{name:\"left\",description:\"The reflection appears to the left of the border box.\"},{name:\"right\",description:\"The reflection appears to the right of the border box.\"}],status:\"nonstandard\",syntax:\"[ above | below | right | left ]? <length>? <image>?\",relevance:0,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect\"}],description:\"Defines a reflection of a border box.\"},{name:\"-webkit-box-sizing\",browsers:[\"C\",\"S3\"],values:[{name:\"border-box\",description:\"The specified width and height (and respective min/max properties) on this element determine the border box of the element.\"},{name:\"content-box\",description:\"Behavior of width and height as specified by CSS2.1. The specified width and height (and respective min/max properties) apply to the width and height respectively of the content box of the element.\"}],relevance:50,description:\"Box Model addition in CSS3.\",restrictions:[\"enum\"]},{name:\"-webkit-break-after\",browsers:[\"S7\"],values:[{name:\"always\",description:\"Always force a page break before/after the generated box.\"},{name:\"auto\",description:\"Neither force nor forbid a page/column break before/after the generated box.\"},{name:\"avoid\",description:\"Avoid a page/column break before/after the generated box.\"},{name:\"avoid-column\",description:\"Avoid a column break before/after the generated box.\"},{name:\"avoid-page\",description:\"Avoid a page break before/after the generated box.\"},{name:\"avoid-region\"},{name:\"column\",description:\"Always force a column break before/after the generated box.\"},{name:\"left\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.\"},{name:\"page\",description:\"Always force a page break before/after the generated box.\"},{name:\"region\"},{name:\"right\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.\"}],relevance:50,description:\"Describes the page/column break behavior before the generated box.\",restrictions:[\"enum\"]},{name:\"-webkit-break-before\",browsers:[\"S7\"],values:[{name:\"always\",description:\"Always force a page break before/after the generated box.\"},{name:\"auto\",description:\"Neither force nor forbid a page/column break before/after the generated box.\"},{name:\"avoid\",description:\"Avoid a page/column break before/after the generated box.\"},{name:\"avoid-column\",description:\"Avoid a column break before/after the generated box.\"},{name:\"avoid-page\",description:\"Avoid a page break before/after the generated box.\"},{name:\"avoid-region\"},{name:\"column\",description:\"Always force a column break before/after the generated box.\"},{name:\"left\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.\"},{name:\"page\",description:\"Always force a page break before/after the generated box.\"},{name:\"region\"},{name:\"right\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.\"}],relevance:50,description:\"Describes the page/column break behavior before the generated box.\",restrictions:[\"enum\"]},{name:\"-webkit-break-inside\",browsers:[\"S7\"],values:[{name:\"auto\",description:\"Neither force nor forbid a page/column break inside the generated box.\"},{name:\"avoid\",description:\"Avoid a page/column break inside the generated box.\"},{name:\"avoid-column\",description:\"Avoid a column break inside the generated box.\"},{name:\"avoid-page\",description:\"Avoid a page break inside the generated box.\"},{name:\"avoid-region\"}],relevance:50,description:\"Describes the page/column break behavior inside the generated box.\",restrictions:[\"enum\"]},{name:\"-webkit-column-break-after\",browsers:[\"E80\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"always\",description:\"Always force a page break before/after the generated box.\"},{name:\"auto\",description:\"Neither force nor forbid a page/column break before/after the generated box.\"},{name:\"avoid\",description:\"Avoid a page/column break before/after the generated box.\"},{name:\"avoid-column\",description:\"Avoid a column break before/after the generated box.\"},{name:\"avoid-page\",description:\"Avoid a page break before/after the generated box.\"},{name:\"avoid-region\"},{name:\"column\",description:\"Always force a column break before/after the generated box.\"},{name:\"left\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.\"},{name:\"page\",description:\"Always force a page break before/after the generated box.\"},{name:\"region\"},{name:\"right\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.\"}],relevance:50,description:\"Describes the page/column break behavior before the generated box.\",restrictions:[\"enum\"]},{name:\"-webkit-column-break-before\",browsers:[\"E80\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"always\",description:\"Always force a page break before/after the generated box.\"},{name:\"auto\",description:\"Neither force nor forbid a page/column break before/after the generated box.\"},{name:\"avoid\",description:\"Avoid a page/column break before/after the generated box.\"},{name:\"avoid-column\",description:\"Avoid a column break before/after the generated box.\"},{name:\"avoid-page\",description:\"Avoid a page break before/after the generated box.\"},{name:\"avoid-region\"},{name:\"column\",description:\"Always force a column break before/after the generated box.\"},{name:\"left\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.\"},{name:\"page\",description:\"Always force a page break before/after the generated box.\"},{name:\"region\"},{name:\"right\",description:\"Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.\"}],relevance:50,description:\"Describes the page/column break behavior before the generated box.\",restrictions:[\"enum\"]},{name:\"-webkit-column-break-inside\",browsers:[\"E80\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"auto\",description:\"Neither force nor forbid a page/column break inside the generated box.\"},{name:\"avoid\",description:\"Avoid a page/column break inside the generated box.\"},{name:\"avoid-column\",description:\"Avoid a column break inside the generated box.\"},{name:\"avoid-page\",description:\"Avoid a page break inside the generated box.\"},{name:\"avoid-region\"}],relevance:50,description:\"Describes the page/column break behavior inside the generated box.\",restrictions:[\"enum\"]},{name:\"-webkit-column-count\",browsers:[\"C\",\"S3\"],values:[{name:\"auto\",description:\"Determines the number of columns by the 'column-width' property and the element width.\"}],relevance:50,description:\"Describes the optimal number of columns into which the content of the element will be flowed.\",restrictions:[\"integer\"]},{name:\"-webkit-column-gap\",browsers:[\"C\",\"S3\"],values:[{name:\"normal\",description:\"User agent specific and typically equivalent to 1em.\"}],relevance:50,description:\"Sets the gap between columns. If there is a column rule between columns, it will appear in the middle of the gap.\",restrictions:[\"length\"]},{name:\"-webkit-column-rule\",browsers:[\"C\",\"S3\"],relevance:50,description:\"This property is a shorthand for setting 'column-rule-width', 'column-rule-style', and 'column-rule-color' at the same place in the style sheet. Omitted values are set to their initial values.\",restrictions:[\"length\",\"line-width\",\"line-style\",\"color\"]},{name:\"-webkit-column-rule-color\",browsers:[\"C\",\"S3\"],relevance:50,description:\"Sets the color of the column rule\",restrictions:[\"color\"]},{name:\"-webkit-column-rule-style\",browsers:[\"C\",\"S3\"],relevance:50,description:\"Sets the style of the rule between columns of an element.\",restrictions:[\"line-style\"]},{name:\"-webkit-column-rule-width\",browsers:[\"C\",\"S3\"],relevance:50,description:\"Sets the width of the rule between columns. Negative values are not allowed.\",restrictions:[\"length\",\"line-width\"]},{name:\"-webkit-columns\",browsers:[\"C\",\"S3\"],values:[{name:\"auto\",description:\"The width depends on the values of other properties.\"}],relevance:50,description:\"A shorthand property which sets both 'column-width' and 'column-count'.\",restrictions:[\"length\",\"integer\"]},{name:\"-webkit-column-span\",browsers:[\"C\",\"S3\"],values:[{name:\"all\",description:\"The element spans across all columns. Content in the normal flow that appears before the element is automatically balanced across all columns before the element appear.\"},{name:\"none\",description:\"The element does not span multiple columns.\"}],relevance:50,description:\"Describes the page/column break behavior after the generated box.\",restrictions:[\"enum\"]},{name:\"-webkit-column-width\",browsers:[\"C\",\"S3\"],values:[{name:\"auto\",description:\"The width depends on the values of other properties.\"}],relevance:50,description:\"This property describes the width of columns in multicol elements.\",restrictions:[\"length\"]},{name:\"-webkit-filter\",browsers:[\"C18\",\"O15\",\"S6\"],values:[{name:\"none\",description:\"No filter effects are applied.\"},{name:\"blur()\",description:\"Applies a Gaussian blur to the input image.\"},{name:\"brightness()\",description:\"Applies a linear multiplier to input image, making it appear more or less bright.\"},{name:\"contrast()\",description:\"Adjusts the contrast of the input.\"},{name:\"drop-shadow()\",description:\"Applies a drop shadow effect to the input image.\"},{name:\"grayscale()\",description:\"Converts the input image to grayscale.\"},{name:\"hue-rotate()\",description:\"Applies a hue rotation on the input image. \"},{name:\"invert()\",description:\"Inverts the samples in the input image.\"},{name:\"opacity()\",description:\"Applies transparency to the samples in the input image.\"},{name:\"saturate()\",description:\"Saturates the input image.\"},{name:\"sepia()\",description:\"Converts the input image to sepia.\"},{name:\"url()\",description:\"A filter reference to a <filter> element.\"}],relevance:50,description:\"Processes an element's rendering before it is displayed in the document, by applying one or more filter effects.\",restrictions:[\"enum\",\"url\"]},{name:\"-webkit-flow-from\",browsers:[\"S6.1\"],values:[{name:\"none\",description:\"The block container is not a CSS Region.\"}],relevance:50,description:\"Makes a block container a region and associates it with a named flow.\",restrictions:[\"identifier\"]},{name:\"-webkit-flow-into\",browsers:[\"S6.1\"],values:[{name:\"none\",description:\"The element is not moved to a named flow and normal CSS processing takes place.\"}],relevance:50,description:\"Places an element or its contents into a named flow.\",restrictions:[\"identifier\"]},{name:\"-webkit-font-feature-settings\",browsers:[\"C16\"],values:[{name:'\"c2cs\"'},{name:'\"dlig\"'},{name:'\"kern\"'},{name:'\"liga\"'},{name:'\"lnum\"'},{name:'\"onum\"'},{name:'\"smcp\"'},{name:'\"swsh\"'},{name:'\"tnum\"'},{name:\"normal\",description:\"No change in glyph substitution or positioning occurs.\"},{name:\"off\"},{name:\"on\"}],relevance:50,description:\"This property provides low-level control over OpenType font features. It is intended as a way of providing access to font features that are not widely used but are needed for a particular use case.\",restrictions:[\"string\",\"integer\"]},{name:\"-webkit-hyphens\",browsers:[\"S5.1\"],values:[{name:\"auto\",description:\"Conditional hyphenation characters inside a word, if present, take priority over automatic resources when determining hyphenation points within the word.\"},{name:\"manual\",description:\"Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities\"},{name:\"none\",description:\"Words are not broken at line breaks, even if characters inside the word suggest line break points.\"}],relevance:50,description:\"Controls whether hyphenation is allowed to create more break opportunities within a line of text.\",restrictions:[\"enum\"]},{name:\"-webkit-line-break\",browsers:[\"C\",\"S3\"],values:[{name:\"after-white-space\"},{name:\"normal\"}],relevance:50,description:\"Specifies line-breaking rules for CJK (Chinese, Japanese, and Korean) text.\"},{name:\"-webkit-margin-bottom-collapse\",browsers:[\"C\",\"S3\"],values:[{name:\"collapse\"},{name:\"discard\"},{name:\"separate\"}],relevance:50,restrictions:[\"enum\"]},{name:\"-webkit-margin-collapse\",browsers:[\"C\",\"S3\"],values:[{name:\"collapse\"},{name:\"discard\"},{name:\"separate\"}],relevance:50,restrictions:[\"enum\"]},{name:\"-webkit-margin-start\",browsers:[\"C\",\"S3\"],values:[{name:\"auto\"}],relevance:50,restrictions:[\"percentage\",\"length\"]},{name:\"-webkit-margin-top-collapse\",browsers:[\"C\",\"S3\"],values:[{name:\"collapse\"},{name:\"discard\"},{name:\"separate\"}],relevance:50,restrictions:[\"enum\"]},{name:\"-webkit-mask-clip\",browsers:[\"C\",\"O15\",\"S4\"],status:\"nonstandard\",syntax:\"[ <box> | border | padding | content | text ]#\",relevance:0,description:\"Determines the mask painting area, which determines the area that is affected by the mask.\",restrictions:[\"box\"]},{name:\"-webkit-mask-image\",browsers:[\"C\",\"O15\",\"S4\"],values:[{name:\"none\",description:\"Counts as a transparent black image layer.\"},{name:\"url()\",description:\"Reference to a <mask element or to a CSS image.\"}],status:\"nonstandard\",syntax:\"<mask-reference>#\",relevance:0,description:\"Sets the mask layer image of an element.\",restrictions:[\"url\",\"image\",\"enum\"]},{name:\"-webkit-mask-origin\",browsers:[\"C\",\"O15\",\"S4\"],status:\"nonstandard\",syntax:\"[ <box> | border | padding | content ]#\",relevance:0,description:\"Specifies the mask positioning area.\",restrictions:[\"box\"]},{name:\"-webkit-mask-repeat\",browsers:[\"C\",\"O15\",\"S4\"],status:\"nonstandard\",syntax:\"<repeat-style>#\",relevance:0,description:\"Specifies how mask layer images are tiled after they have been sized and positioned.\",restrictions:[\"repeat\"]},{name:\"-webkit-mask-size\",browsers:[\"C\",\"O15\",\"S4\"],values:[{name:\"auto\",description:\"Resolved by using the image's intrinsic ratio and the size of the other dimension, or failing that, using the image's intrinsic size, or failing that, treating it as 100%.\"},{name:\"contain\",description:\"Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area.\"},{name:\"cover\",description:\"Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area.\"}],status:\"nonstandard\",syntax:\"<bg-size>#\",relevance:0,description:\"Specifies the size of the mask layer images.\",restrictions:[\"length\",\"percentage\",\"enum\"]},{name:\"-webkit-nbsp-mode\",browsers:[\"S13.1\"],values:[{name:\"normal\"},{name:\"space\"}],relevance:50,description:\"Defines the behavior of nonbreaking spaces within text.\"},{name:\"-webkit-overflow-scrolling\",browsers:[\"C\",\"S5\"],values:[{name:\"auto\"},{name:\"touch\"}],status:\"nonstandard\",syntax:\"auto | touch\",relevance:0,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling\"}],description:\"Specifies whether to use native-style scrolling in an overflow:scroll element.\"},{name:\"-webkit-padding-start\",browsers:[\"C\",\"S3\"],relevance:50,restrictions:[\"percentage\",\"length\"]},{name:\"-webkit-perspective\",browsers:[\"C\",\"S4\"],values:[{name:\"none\",description:\"No perspective transform is applied.\"}],relevance:50,description:\"Applies the same transform as the perspective(<number>) transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.\",restrictions:[\"length\"]},{name:\"-webkit-perspective-origin\",browsers:[\"C\",\"S4\"],relevance:50,description:\"Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.\",restrictions:[\"position\",\"percentage\",\"length\"]},{name:\"-webkit-region-fragment\",browsers:[\"S7\"],values:[{name:\"auto\",description:\"Content flows as it would in a regular content box.\"},{name:\"break\",description:\"If the content fits within the CSS Region, then this property has no effect.\"}],relevance:50,description:\"The 'region-fragment' property controls the behavior of the last region associated with a named flow.\",restrictions:[\"enum\"]},{name:\"-webkit-tap-highlight-color\",browsers:[\"E12\",\"C16\",\"O15\"],status:\"nonstandard\",syntax:\"<color>\",relevance:0,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color\"}],restrictions:[\"color\"]},{name:\"-webkit-text-fill-color\",browsers:[\"E12\",\"FF49\",\"S3\",\"C1\",\"O15\"],syntax:\"<color>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color\"}],restrictions:[\"color\"]},{name:\"-webkit-text-size-adjust\",browsers:[\"E\",\"C\",\"S3\"],values:[{name:\"auto\",description:\"Renderers must use the default size adjustment when displaying on a small device.\"},{name:\"none\",description:\"Renderers must not do size adjustment when displaying on a small device.\"}],relevance:50,description:\"Specifies a size adjustment for displaying text content in mobile browsers.\",restrictions:[\"percentage\"]},{name:\"-webkit-text-stroke\",browsers:[\"E15\",\"FF49\",\"S3\",\"C4\",\"O15\"],syntax:\"<length> || <color>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke\"}],restrictions:[\"length\",\"line-width\",\"color\",\"percentage\"]},{name:\"-webkit-text-stroke-color\",browsers:[\"E15\",\"FF49\",\"S3\",\"C1\",\"O15\"],syntax:\"<color>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color\"}],restrictions:[\"color\"]},{name:\"-webkit-text-stroke-width\",browsers:[\"E15\",\"FF49\",\"S3\",\"C1\",\"O15\"],syntax:\"<length>\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width\"}],restrictions:[\"length\",\"line-width\",\"percentage\"]},{name:\"-webkit-touch-callout\",browsers:[\"S3\"],values:[{name:\"none\"}],status:\"nonstandard\",syntax:\"default | none\",relevance:0,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout\"}],restrictions:[\"enum\"]},{name:\"-webkit-transform\",browsers:[\"C\",\"O12\",\"S3.1\"],values:[{name:\"matrix()\",description:\"Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]\"},{name:\"matrix3d()\",description:\"Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.\"},{name:\"none\"},{name:\"perspective()\",description:\"Specifies a perspective projection matrix.\"},{name:\"rotate()\",description:\"Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.\"},{name:\"rotate3d()\",description:\"Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.\"},{name:\"rotateX('angle')\",description:\"Specifies a clockwise rotation by the given angle about the X axis.\"},{name:\"rotateY('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Y axis.\"},{name:\"rotateZ('angle')\",description:\"Specifies a clockwise rotation by the given angle about the Z axis.\"},{name:\"scale()\",description:\"Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.\"},{name:\"scale3d()\",description:\"Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.\"},{name:\"scaleX()\",description:\"Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.\"},{name:\"scaleY()\",description:\"Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.\"},{name:\"scaleZ()\",description:\"Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.\"},{name:\"skew()\",description:\"Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).\"},{name:\"skewX()\",description:\"Specifies a skew transformation along the X axis by the given angle.\"},{name:\"skewY()\",description:\"Specifies a skew transformation along the Y axis by the given angle.\"},{name:\"translate()\",description:\"Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.\"},{name:\"translate3d()\",description:\"Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.\"},{name:\"translateX()\",description:\"Specifies a translation by the given amount in the X direction.\"},{name:\"translateY()\",description:\"Specifies a translation by the given amount in the Y direction.\"},{name:\"translateZ()\",description:\"Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.\"}],relevance:50,description:\"A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.\",restrictions:[\"enum\"]},{name:\"-webkit-transform-origin\",browsers:[\"C\",\"O15\",\"S3.1\"],relevance:50,description:\"Establishes the origin of transformation for an element.\",restrictions:[\"position\",\"length\",\"percentage\"]},{name:\"-webkit-transform-origin-x\",browsers:[\"E80\",\"S13.1\",\"C80\",\"O67\"],relevance:50,description:\"The x coordinate of the origin for transforms applied to an element with respect to its border box.\",restrictions:[\"length\",\"percentage\"]},{name:\"-webkit-transform-origin-y\",browsers:[\"E80\",\"S13.1\",\"C80\",\"O67\"],relevance:50,description:\"The y coordinate of the origin for transforms applied to an element with respect to its border box.\",restrictions:[\"length\",\"percentage\"]},{name:\"-webkit-transform-origin-z\",browsers:[\"E80\",\"S13.1\",\"C80\",\"O67\"],relevance:50,description:\"The z coordinate of the origin for transforms applied to an element with respect to its border box.\",restrictions:[\"length\",\"percentage\"]},{name:\"-webkit-transform-style\",browsers:[\"C\",\"S4\"],values:[{name:\"flat\",description:\"All children of this element are rendered flattened into the 2D plane of the element.\"}],relevance:50,description:\"Defines how nested elements are rendered in 3D space.\",restrictions:[\"enum\"]},{name:\"-webkit-transition\",browsers:[\"C\",\"O12\",\"S5\"],values:[{name:\"all\",description:\"Every property that is able to undergo a transition will do so.\"},{name:\"none\",description:\"No property will transition.\"}],relevance:50,description:\"Shorthand property combines four of the transition properties into a single property.\",restrictions:[\"time\",\"property\",\"timing-function\",\"enum\"]},{name:\"-webkit-transition-delay\",browsers:[\"C\",\"O12\",\"S5\"],relevance:50,description:\"Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.\",restrictions:[\"time\"]},{name:\"-webkit-transition-duration\",browsers:[\"C\",\"O12\",\"S5\"],relevance:50,description:\"Specifies how long the transition from the old value to the new value should take.\",restrictions:[\"time\"]},{name:\"-webkit-transition-property\",browsers:[\"C\",\"O12\",\"S5\"],values:[{name:\"all\",description:\"Every property that is able to undergo a transition will do so.\"},{name:\"none\",description:\"No property will transition.\"}],relevance:50,description:\"Specifies the name of the CSS property to which the transition is applied.\",restrictions:[\"property\"]},{name:\"-webkit-transition-timing-function\",browsers:[\"C\",\"O12\",\"S5\"],relevance:50,description:\"Describes how the intermediate values used during a transition will be calculated.\",restrictions:[\"timing-function\"]},{name:\"-webkit-user-drag\",browsers:[\"E80\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"auto\"},{name:\"element\"},{name:\"none\"}],relevance:50,restrictions:[\"enum\"]},{name:\"-webkit-user-modify\",browsers:[\"E80\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"read-only\"},{name:\"read-write\"},{name:\"read-write-plaintext-only\"}],syntax:\"read-only | read-write | read-write-plaintext-only\",relevance:50,description:\"Determines whether a user can edit the content of an element.\",restrictions:[\"enum\"]},{name:\"-webkit-user-select\",browsers:[\"C\",\"S3\"],values:[{name:\"auto\"},{name:\"none\"},{name:\"text\"}],relevance:50,description:\"Controls the appearance of selection.\",restrictions:[\"enum\"]},{name:\"widows\",browsers:[\"E12\",\"S1.3\",\"C25\",\"IE8\",\"O9.2\"],syntax:\"<integer>\",relevance:51,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/widows\"}],description:\"Specifies the minimum number of line boxes of a block container that must be left in a fragment after a break.\",restrictions:[\"integer\"]},{name:\"width\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],values:[{name:\"auto\",description:\"The width depends on the values of other properties.\"},{name:\"fit-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],description:\"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.\"},{name:\"max-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],description:\"Use the max-content inline size or max-content block size, as appropriate to the writing mode.\"},{name:\"min-content\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],description:\"Use the min-content inline size or min-content block size, as appropriate to the writing mode.\"}],syntax:\"auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)\",relevance:96,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/width\"}],description:\"Specifies the width of the content area, padding area or border area (depending on 'box-sizing') of certain boxes.\",restrictions:[\"length\",\"percentage\"]},{name:\"will-change\",browsers:[\"E79\",\"FF36\",\"S9.1\",\"C36\",\"O24\"],values:[{name:\"auto\",description:\"Expresses no particular intent.\"},{name:\"contents\",description:\"Indicates that the author expects to animate or change something about the element's contents in the near future.\"},{name:\"scroll-position\",description:\"Indicates that the author expects to animate or change the scroll position of the element in the near future.\"}],syntax:\"auto | <animateable-feature>#\",relevance:65,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/will-change\"}],description:\"Provides a rendering hint to the user agent, stating what kinds of changes the author expects to perform on the element.\",restrictions:[\"enum\",\"identifier\"]},{name:\"word-break\",browsers:[\"E12\",\"FF15\",\"S3\",\"C1\",\"IE5.5\",\"O15\"],values:[{name:\"break-all\",description:\"Lines may break between any two grapheme clusters for non-CJK scripts.\"},{name:\"keep-all\",description:\"Block characters can no longer create implied break points.\"},{name:\"normal\",description:\"Breaks non-CJK scripts according to their own rules.\"}],syntax:\"normal | break-all | keep-all | break-word\",relevance:76,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/word-break\"}],description:\"Specifies line break opportunities for non-CJK scripts.\",restrictions:[\"enum\"]},{name:\"word-spacing\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE6\",\"O3.5\"],values:[{name:\"normal\",description:\"No additional spacing is applied. Computes to zero.\"}],syntax:\"normal | <length>\",relevance:57,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/word-spacing\"}],description:'Specifies additional spacing between \"words\".',restrictions:[\"length\",\"percentage\"]},{name:\"word-wrap\",browsers:[\"E80\",\"FF72\",\"S13.1\",\"C80\",\"O67\"],values:[{name:\"break-word\",description:\"An otherwise unbreakable sequence of characters may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line.\"},{name:\"normal\",description:\"Lines may break only at allowed break points.\"}],syntax:\"normal | break-word\",relevance:77,description:\"Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit.\",restrictions:[\"enum\"]},{name:\"writing-mode\",browsers:[\"E12\",\"FF41\",\"S10.1\",\"C48\",\"IE9\",\"O35\"],values:[{name:\"horizontal-tb\",description:\"Top-to-bottom block flow direction. The writing mode is horizontal.\"},{name:\"sideways-lr\",browsers:[\"E12\",\"FF41\",\"S10.1\",\"C48\",\"IE9\",\"O35\"],description:\"Left-to-right block flow direction. The writing mode is vertical, while the typographic mode is horizontal.\"},{name:\"sideways-rl\",browsers:[\"E12\",\"FF41\",\"S10.1\",\"C48\",\"IE9\",\"O35\"],description:\"Right-to-left block flow direction. The writing mode is vertical, while the typographic mode is horizontal.\"},{name:\"vertical-lr\",description:\"Left-to-right block flow direction. The writing mode is vertical.\"},{name:\"vertical-rl\",description:\"Right-to-left block flow direction. The writing mode is vertical.\"}],syntax:\"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/writing-mode\"}],description:\"This is a shorthand property for both 'direction' and 'block-progression'.\",restrictions:[\"enum\"]},{name:\"z-index\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O4\"],values:[{name:\"auto\",description:\"The stack level of the generated box in the current stacking context is 0. The box does not establish a new stacking context unless it is the root element.\"}],syntax:\"auto | <integer>\",relevance:92,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/z-index\"}],description:\"For a positioned box, the 'z-index' property specifies the stack level of the box in the current stacking context and whether the box establishes a local stacking context.\",restrictions:[\"integer\"]},{name:\"zoom\",browsers:[\"E12\",\"FFpreview\",\"S3.1\",\"C1\",\"IE5.5\",\"O15\"],values:[{name:\"normal\"}],status:\"nonstandard\",syntax:\"normal | reset | <number> | <percentage>\",relevance:15,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/zoom\"}],description:\"Non-standard. Specifies the magnification scale of the object. See 'transform: scale()' for a standards-based alternative.\",restrictions:[\"enum\",\"integer\",\"number\",\"percentage\"]},{name:\"-ms-ime-align\",status:\"nonstandard\",syntax:\"auto | after\",values:[{name:\"auto\"},{name:\"after\"}],relevance:0,description:\"Aligns the Input Method Editor (IME) candidate window box relative to the element on which the IME composition is active.\"},{name:\"-moz-binding\",status:\"nonstandard\",syntax:\"<url> | none\",relevance:0,description:\"The -moz-binding CSS property is used by Mozilla-based applications to attach an XBL binding to a DOM element.\"},{name:\"-moz-context-properties\",status:\"nonstandard\",syntax:\"none | [ fill | fill-opacity | stroke | stroke-opacity ]#\",relevance:0,description:`If you reference an SVG image in a webpage (such as with the <img> element or as a background image), the SVG image can coordinate with the embedding element (its context) to have the image adopt property values set on the embedding element. To do this the embedding element needs to list the properties that are to be made available to the image by listing them as values of the -moz-context-properties property, and the image needs to opt in to using those properties by using values such as the context-fill value.\n\nThis feature is available since Firefox 55, but is only currently supported with SVG images loaded via chrome:// or resource:// URLs. To experiment with the feature in SVG on the Web it is necessary to set the svg.context-properties.content.enabled pref to true.`},{name:\"-moz-float-edge\",status:\"obsolete\",syntax:\"border-box | content-box | margin-box | padding-box\",values:[{name:\"border-box\"},{name:\"content-box\"},{name:\"margin-box\"},{name:\"padding-box\"}],relevance:0,browsers:[\"FF1\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge\"}],description:\"The non-standard -moz-float-edge CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness.\"},{name:\"-moz-force-broken-image-icon\",status:\"obsolete\",syntax:\"0 | 1\",values:[{name:\"0\"},{name:\"1\"}],relevance:0,browsers:[\"FF1\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon\"}],description:\"The -moz-force-broken-image-icon extended CSS property can be used to force the broken image icon to be shown even when a broken image has an alt attribute.\"},{name:\"-moz-image-region\",status:\"nonstandard\",syntax:\"<shape> | auto\",relevance:0,browsers:[\"FF1\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region\"}],description:\"For certain XUL elements and pseudo-elements that use an image from the list-style-image property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance.\"},{name:\"-moz-orient\",status:\"nonstandard\",syntax:\"inline | block | horizontal | vertical\",values:[{name:\"inline\"},{name:\"block\"},{name:\"horizontal\"},{name:\"vertical\"}],relevance:0,browsers:[\"FF6\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-moz-orient\"}],description:\"The -moz-orient CSS property specifies the orientation of the element to which it's applied.\"},{name:\"-moz-outline-radius\",status:\"nonstandard\",syntax:\"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?\",relevance:0,description:\"In Mozilla applications like Firefox, the -moz-outline-radius CSS property can be used to give an element's outline rounded corners.\"},{name:\"-moz-outline-radius-bottomleft\",status:\"nonstandard\",syntax:\"<outline-radius>\",relevance:0,description:\"In Mozilla applications, the -moz-outline-radius-bottomleft CSS property can be used to round the bottom-left corner of an element's outline.\"},{name:\"-moz-outline-radius-bottomright\",status:\"nonstandard\",syntax:\"<outline-radius>\",relevance:0,description:\"In Mozilla applications, the -moz-outline-radius-bottomright CSS property can be used to round the bottom-right corner of an element's outline.\"},{name:\"-moz-outline-radius-topleft\",status:\"nonstandard\",syntax:\"<outline-radius>\",relevance:0,description:\"In Mozilla applications, the -moz-outline-radius-topleft CSS property can be used to round the top-left corner of an element's outline.\"},{name:\"-moz-outline-radius-topright\",status:\"nonstandard\",syntax:\"<outline-radius>\",relevance:0,description:\"In Mozilla applications, the -moz-outline-radius-topright CSS property can be used to round the top-right corner of an element's outline.\"},{name:\"-moz-stack-sizing\",status:\"nonstandard\",syntax:\"ignore | stretch-to-fit\",values:[{name:\"ignore\"},{name:\"stretch-to-fit\"}],relevance:0,description:\"-moz-stack-sizing is an extended CSS property. Normally, a stack will change its size so that all of its child elements are completely visible. For example, moving a child of the stack far to the right will widen the stack so the child remains visible.\"},{name:\"-moz-text-blink\",status:\"nonstandard\",syntax:\"none | blink\",values:[{name:\"none\"},{name:\"blink\"}],relevance:0,description:\"The -moz-text-blink non-standard Mozilla CSS extension specifies the blink mode.\"},{name:\"-moz-user-input\",status:\"obsolete\",syntax:\"auto | none | enabled | disabled\",values:[{name:\"auto\"},{name:\"none\"},{name:\"enabled\"},{name:\"disabled\"}],relevance:0,browsers:[\"FF1\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input\"}],description:\"In Mozilla applications, -moz-user-input determines if an element will accept user input.\"},{name:\"-moz-user-modify\",status:\"nonstandard\",syntax:\"read-only | read-write | write-only\",values:[{name:\"read-only\"},{name:\"read-write\"},{name:\"write-only\"}],relevance:0,description:\"The -moz-user-modify property has no effect. It was originally planned to determine whether or not the content of an element can be edited by a user.\"},{name:\"-moz-window-dragging\",status:\"nonstandard\",syntax:\"drag | no-drag\",values:[{name:\"drag\"},{name:\"no-drag\"}],relevance:0,description:\"The -moz-window-dragging CSS property specifies whether a window is draggable or not. It only works in Chrome code, and only on Mac OS X.\"},{name:\"-moz-window-shadow\",status:\"nonstandard\",syntax:\"default | menu | tooltip | sheet | none\",values:[{name:\"default\"},{name:\"menu\"},{name:\"tooltip\"},{name:\"sheet\"},{name:\"none\"}],relevance:0,description:\"The -moz-window-shadow CSS property specifies whether a window will have a shadow. It only works on Mac OS X.\"},{name:\"-webkit-border-before\",status:\"nonstandard\",syntax:\"<'border-width'> || <'border-style'> || <color>\",relevance:0,browsers:[\"E79\",\"S5.1\",\"C8\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before\"}],description:\"The -webkit-border-before CSS property is a shorthand property for setting the individual logical block start border property values in a single place in the style sheet.\"},{name:\"-webkit-border-before-color\",status:\"nonstandard\",syntax:\"<color>\",relevance:0,description:\"The -webkit-border-before-color CSS property sets the color of the individual logical block start border in a single place in the style sheet.\"},{name:\"-webkit-border-before-style\",status:\"nonstandard\",syntax:\"<'border-style'>\",relevance:0,description:\"The -webkit-border-before-style CSS property sets the style of the individual logical block start border in a single place in the style sheet.\"},{name:\"-webkit-border-before-width\",status:\"nonstandard\",syntax:\"<'border-width'>\",relevance:0,description:\"The -webkit-border-before-width CSS property sets the width of the individual logical block start border in a single place in the style sheet.\"},{name:\"-webkit-line-clamp\",syntax:\"none | <integer>\",relevance:50,browsers:[\"E17\",\"FF68\",\"S5\",\"C6\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp\"}],description:\"The -webkit-line-clamp CSS property allows limiting of the contents of a block container to the specified number of lines.\"},{name:\"-webkit-mask\",status:\"nonstandard\",syntax:\"[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#\",relevance:0,description:\"The mask CSS property alters the visibility of an element by either partially or fully hiding it. This is accomplished by either masking or clipping the image at specific points.\"},{name:\"-webkit-mask-attachment\",status:\"nonstandard\",syntax:\"<attachment>#\",relevance:0,browsers:[\"S4\",\"C1\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment\"}],description:\"If a -webkit-mask-image is specified, -webkit-mask-attachment determines whether the mask image's position is fixed within the viewport, or scrolls along with its containing block.\"},{name:\"-webkit-mask-composite\",status:\"nonstandard\",syntax:\"<composite-style>#\",relevance:0,browsers:[\"E18\",\"S3.1\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite\"}],description:\"The -webkit-mask-composite property specifies the manner in which multiple mask images applied to the same element are composited with one another. Mask images are composited in the opposite order that they are declared with the -webkit-mask-image property.\"},{name:\"-webkit-mask-position\",status:\"nonstandard\",syntax:\"<position>#\",relevance:0,description:\"The mask-position CSS property sets the initial position, relative to the mask position layer defined by mask-origin, for each defined mask image.\"},{name:\"-webkit-mask-position-x\",status:\"nonstandard\",syntax:\"[ <length-percentage> | left | center | right ]#\",relevance:0,browsers:[\"E18\",\"FF49\",\"S3.1\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x\"}],description:\"The -webkit-mask-position-x CSS property sets the initial horizontal position of a mask image.\"},{name:\"-webkit-mask-position-y\",status:\"nonstandard\",syntax:\"[ <length-percentage> | top | center | bottom ]#\",relevance:0,browsers:[\"E18\",\"FF49\",\"S3.1\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y\"}],description:\"The -webkit-mask-position-y CSS property sets the initial vertical position of a mask image.\"},{name:\"-webkit-mask-repeat-x\",status:\"nonstandard\",syntax:\"repeat | no-repeat | space | round\",values:[{name:\"repeat\"},{name:\"no-repeat\"},{name:\"space\"},{name:\"round\"}],relevance:0,browsers:[\"E79\",\"S5\",\"C3\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x\"}],description:\"The -webkit-mask-repeat-x property specifies whether and how a mask image is repeated (tiled) horizontally.\"},{name:\"-webkit-mask-repeat-y\",status:\"nonstandard\",syntax:\"repeat | no-repeat | space | round\",values:[{name:\"repeat\"},{name:\"no-repeat\"},{name:\"space\"},{name:\"round\"}],relevance:0,browsers:[\"E79\",\"S5\",\"C3\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y\"}],description:\"The -webkit-mask-repeat-y property specifies whether and how a mask image is repeated (tiled) vertically.\"},{name:\"accent-color\",syntax:\"auto | <color>\",relevance:50,browsers:[\"E93\",\"FF92\",\"S15.4\",\"C93\",\"O79\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/accent-color\"}],description:\"Sets the color of the elements accent\"},{name:\"align-tracks\",status:\"experimental\",syntax:\"[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#\",relevance:50,browsers:[\"FF77\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/align-tracks\"}],description:\"The align-tracks CSS property sets the alignment in the masonry axis for grid containers that have masonry in their block axis.\"},{name:\"animation-composition\",syntax:\"<single-animation-composition>#\",relevance:50,browsers:[\"E112\",\"FF115\",\"S16\",\"C112\",\"O98\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-composition\"}],description:\"The composite operation to use when multiple animations affect the same property.\"},{name:\"animation-range\",status:\"experimental\",syntax:\"[ <'animation-range-start'> <'animation-range-end'>? ]#\",relevance:50,browsers:[\"E115\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-range\"}],description:\"The animation-range CSS shorthand property is used to set the start and end of an animation's attachment range along its timeline, i.e. where along the timeline an animation will start and end.\"},{name:\"animation-range-end\",status:\"experimental\",syntax:\"[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#\",relevance:50,browsers:[\"E115\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-range-end\"}],description:\"The animation-range-end CSS property is used to set the end of an animation's attachment range along its timeline, i.e. where along the timeline an animation will end.\"},{name:\"animation-range-start\",status:\"experimental\",syntax:\"[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#\",relevance:50,browsers:[\"E115\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-range-start\"}],description:\"The animation-range-start CSS property is used to set the start of an animation's attachment range along its timeline, i.e. where along the timeline an animation will start.\"},{name:\"animation-timeline\",status:\"experimental\",syntax:\"<single-animation-timeline>#\",relevance:50,browsers:[\"E115\",\"FF110\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/animation-timeline\"}],description:\"Specifies the names of one or more @scroll-timeline at-rules to describe the element's scroll animations.\"},{name:\"appearance\",syntax:\"none | auto | textfield | menulist-button | <compat-auto>\",relevance:69,browsers:[\"E84\",\"FF80\",\"S15.4\",\"C84\",\"O70\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/appearance\"}],description:\"Changes the appearance of buttons and other controls to resemble native controls.\"},{name:\"aspect-ratio\",syntax:\"auto | <ratio>\",relevance:60,browsers:[\"E88\",\"FF89\",\"S15\",\"C88\",\"O74\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/aspect-ratio\"}],description:\"The aspect-ratio   CSS property sets a preferred aspect ratio for the box, which will be used in the calculation of auto sizes and some other layout functions.\"},{name:\"azimuth\",status:\"obsolete\",syntax:\"<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards\",relevance:0,description:\"In combination with elevation, the azimuth CSS property enables different audio sources to be positioned spatially for aural presentation. This is important in that it provides a natural way to tell several voices apart, as each can be positioned to originate at a different location on the sound stage. Stereo output produce a lateral sound stage, while binaural headphones and multi-speaker setups allow for a fully three-dimensional stage.\"},{name:\"backdrop-filter\",syntax:\"none | <filter-function-list>\",relevance:58,browsers:[\"E17\",\"FF103\",\"S9\",\"C76\",\"O63\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/backdrop-filter\"}],description:\"The backdrop-filter CSS property lets you apply graphical effects such as blurring or color shifting to the area behind an element. Because it applies to everything behind the element, to see the effect you must make the element or its background at least partially transparent.\"},{name:\"border-block\",syntax:\"<'border-top-width'> || <'border-top-style'> || <color>\",relevance:50,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block\"}],description:\"The border-block CSS property is a shorthand property for setting the individual logical block border property values in a single place in the style sheet.\"},{name:\"border-block-color\",syntax:\"<'border-top-color'>{1,2}\",relevance:50,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-color\"}],description:\"The border-block-color CSS property defines the color of the logical block borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-color and border-bottom-color, or border-right-color and border-left-color property depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"border-block-style\",syntax:\"<'border-top-style'>\",relevance:50,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-style\"}],description:\"The border-block-style CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-style and border-bottom-style, or border-left-style and border-right-style properties depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"border-block-width\",syntax:\"<'border-top-width'>\",relevance:50,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-block-width\"}],description:\"The border-block-width CSS property defines the width of the logical block borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-width and border-bottom-width, or border-left-width, and border-right-width property depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"border-end-end-radius\",syntax:\"<length-percentage>{1,2}\",relevance:53,browsers:[\"E89\",\"FF66\",\"S15\",\"C89\",\"O75\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius\"}],description:\"The border-end-end-radius CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on on the element's writing-mode, direction, and text-orientation.\"},{name:\"border-end-start-radius\",syntax:\"<length-percentage>{1,2}\",relevance:53,browsers:[\"E89\",\"FF66\",\"S15\",\"C89\",\"O75\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius\"}],description:\"The border-end-start-radius CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's writing-mode, direction, and text-orientation.\"},{name:\"border-inline\",syntax:\"<'border-top-width'> || <'border-top-style'> || <color>\",relevance:50,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline\"}],description:\"The border-inline CSS property is a shorthand property for setting the individual logical inline border property values in a single place in the style sheet.\"},{name:\"border-inline-color\",syntax:\"<'border-top-color'>{1,2}\",relevance:50,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-color\"}],description:\"The border-inline-color CSS property defines the color of the logical inline borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-color and border-bottom-color, or border-right-color and border-left-color property depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"border-inline-style\",syntax:\"<'border-top-style'>\",relevance:50,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-style\"}],description:\"The border-inline-style CSS property defines the style of the logical inline borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-style and border-bottom-style, or border-left-style and border-right-style properties depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"border-inline-width\",syntax:\"<'border-top-width'>\",relevance:50,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-inline-width\"}],description:\"The border-inline-width CSS property defines the width of the logical inline borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-width and border-bottom-width, or border-left-width, and border-right-width property depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"border-start-end-radius\",syntax:\"<length-percentage>{1,2}\",relevance:53,browsers:[\"E89\",\"FF66\",\"S15\",\"C89\",\"O75\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius\"}],description:\"The border-start-end-radius CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's writing-mode, direction, and text-orientation.\"},{name:\"border-start-start-radius\",syntax:\"<length-percentage>{1,2}\",relevance:53,browsers:[\"E89\",\"FF66\",\"S15\",\"C89\",\"O75\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius\"}],description:\"The border-start-start-radius CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's writing-mode, direction, and text-orientation.\"},{name:\"box-align\",status:\"obsolete\",syntax:\"start | center | end | baseline | stretch\",values:[{name:\"start\"},{name:\"center\"},{name:\"end\"},{name:\"baseline\"},{name:\"stretch\"}],relevance:0,browsers:[\"E12\",\"FF49\",\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-align\"}],description:\"The box-align CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.\"},{name:\"box-direction\",status:\"obsolete\",syntax:\"normal | reverse | inherit\",values:[{name:\"normal\"},{name:\"reverse\"},{name:\"inherit\"}],relevance:0,browsers:[\"E12\",\"FF49\",\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-direction\"}],description:\"The box-direction CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).\"},{name:\"box-flex\",status:\"obsolete\",syntax:\"<number>\",relevance:0,browsers:[\"E12\",\"FF49\",\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-flex\"}],description:\"The -moz-box-flex and -webkit-box-flex CSS properties specify how a -moz-box or -webkit-box grows to fill the box that contains it, in the direction of the containing box's layout.\"},{name:\"box-flex-group\",status:\"obsolete\",syntax:\"<integer>\",relevance:0,browsers:[\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-flex-group\"}],description:\"The box-flex-group CSS property assigns the flexbox's child elements to a flex group.\"},{name:\"box-lines\",status:\"obsolete\",syntax:\"single | multiple\",values:[{name:\"single\"},{name:\"multiple\"}],relevance:0,browsers:[\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-lines\"}],description:\"The box-lines CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).\"},{name:\"box-ordinal-group\",status:\"obsolete\",syntax:\"<integer>\",relevance:0,browsers:[\"E12\",\"FF49\",\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group\"}],description:\"The box-ordinal-group CSS property assigns the flexbox's child elements to an ordinal group.\"},{name:\"box-orient\",status:\"obsolete\",syntax:\"horizontal | vertical | inline-axis | block-axis | inherit\",values:[{name:\"horizontal\"},{name:\"vertical\"},{name:\"inline-axis\"},{name:\"block-axis\"},{name:\"inherit\"}],relevance:0,browsers:[\"E12\",\"FF49\",\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-orient\"}],description:\"The box-orient CSS property specifies whether an element lays out its contents horizontally or vertically.\"},{name:\"box-pack\",status:\"obsolete\",syntax:\"start | center | end | justify\",values:[{name:\"start\"},{name:\"center\"},{name:\"end\"},{name:\"justify\"}],relevance:0,browsers:[\"E12\",\"FF49\",\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/box-pack\"}],description:\"The -moz-box-pack and -webkit-box-pack CSS properties specify how a -moz-box or -webkit-box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.\"},{name:\"caret\",syntax:\"<'caret-color'> || <'caret-shape'>\",relevance:50,description:\"Shorthand for setting caret-color and caret-shape.\"},{name:\"caret-shape\",syntax:\"auto | bar | block | underscore\",values:[{name:\"auto\"},{name:\"bar\"},{name:\"block\"},{name:\"underscore\"}],relevance:50,description:\"Specifies the desired shape of the text insertion caret.\"},{name:\"color-scheme\",syntax:\"normal | [ light | dark | <custom-ident> ]+ && only?\",relevance:57,browsers:[\"E81\",\"FF96\",\"S13\",\"C81\",\"O68\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/color-scheme\"}],description:\"The color-scheme CSS property allows an element to indicate which color schemes it can comfortably be rendered in.\"},{name:\"contain-intrinsic-size\",syntax:\"[ auto? [ none | <length> ] ]{1,2}\",relevance:50,browsers:[\"E83\",\"FF107\",\"S17\",\"C83\",\"O69\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-size\"}],description:\"Size of an element when the element is subject to size containment.\"},{name:\"contain-intrinsic-block-size\",syntax:\"auto? [ none | <length> ]\",relevance:50,browsers:[\"E95\",\"FF107\",\"S17\",\"C95\",\"O81\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-contain-intrinsic-block-size\"}],description:\"Block size of an element when the element is subject to size containment.\"},{name:\"contain-intrinsic-height\",syntax:\"auto? [ none | <length> ]\",relevance:50,browsers:[\"E95\",\"FF107\",\"S17\",\"C95\",\"O81\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-height\"}],description:\"Height of an element when the element is subject to size containment.\"},{name:\"contain-intrinsic-inline-size\",syntax:\"auto? [ none | <length> ]\",relevance:50,browsers:[\"E95\",\"FF107\",\"S17\",\"C95\",\"O81\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-contain-intrinsic-inline-size\"}],description:\"Inline size of an element when the element is subject to size containment.\"},{name:\"contain-intrinsic-width\",syntax:\"auto? [ none | <length> ]\",relevance:50,browsers:[\"E95\",\"FF107\",\"S17\",\"C95\",\"O81\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-width\"}],description:\"Width of an element when the element is subject to size containment.\"},{name:\"container\",syntax:\"<'container-name'> [ / <'container-type'> ]?\",relevance:53,browsers:[\"E105\",\"FF110\",\"S16\",\"C105\",\"O91\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/container\"}],description:\"The container shorthand CSS property establishes the element as a query container and specifies the name or name for the containment context used in a container query.\"},{name:\"container-name\",syntax:\"none | <custom-ident>+\",relevance:50,browsers:[\"E105\",\"FF110\",\"S16\",\"C105\",\"O91\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/container-name\"}],description:\"The container-name CSS property specifies a list of query container names used by the @container at-rule in a container query.\"},{name:\"container-type\",syntax:\"normal | size | inline-size\",values:[{name:\"normal\"},{name:\"size\"},{name:\"inline-size\"}],relevance:50,browsers:[\"E105\",\"FF110\",\"S16\",\"C105\",\"O91\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/container-type\"}],description:\"The container-type CSS property is used to define the type of containment used in a container query.\"},{name:\"content-visibility\",syntax:\"visible | auto | hidden\",values:[{name:\"visible\"},{name:\"auto\"},{name:\"hidden\"}],relevance:52,browsers:[\"E85\",\"FFpreview\",\"Spreview\",\"C85\",\"O71\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/content-visibility\"}],description:\"Controls whether or not an element renders its contents at all, along with forcing a strong set of containments, allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed.\"},{name:\"counter-set\",syntax:\"[ <counter-name> <integer>? ]+ | none\",relevance:50,browsers:[\"E85\",\"FF68\",\"S17.2\",\"C85\",\"O71\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/counter-set\"}],description:\"The counter-set CSS property sets a CSS counter to a given value. It manipulates the value of existing counters, and will only create new counters if there isn't already a counter of the given name on the element.\"},{name:\"font-optical-sizing\",syntax:\"auto | none\",values:[{name:\"auto\"},{name:\"none\"}],relevance:50,browsers:[\"E17\",\"FF62\",\"S11\",\"C79\",\"O66\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing\"}],description:\"The font-optical-sizing CSS property allows developers to control whether browsers render text with slightly differing visual representations to optimize viewing at different sizes, or not. This only works for fonts that have an optical size variation axis.\"},{name:\"font-palette\",syntax:\"normal | light | dark | <palette-identifier>\",relevance:50,browsers:[\"E101\",\"FF107\",\"S15.4\",\"C101\",\"O87\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-palette\"}],description:\"The font-palette CSS property allows specifying one of the many palettes contained in a font that a user agent should use for the font. Users can also override the values in a palette or create a new palette by using the @font-palette-values at-rule.\"},{name:\"font-variation-settings\",atRule:\"@font-face\",syntax:\"normal | [ <string> <number> ]#\",relevance:51,browsers:[\"E17\",\"FF62\",\"S11\",\"C62\",\"O49\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variation-settings\"}],description:\"The font-variation-settings CSS property provides low-level control over OpenType or TrueType font variations, by specifying the four letter axis names of the features you want to vary, along with their variation values.\"},{name:\"font-smooth\",status:\"nonstandard\",syntax:\"auto | never | always | <absolute-size> | <length>\",relevance:0,browsers:[\"E79\",\"FF25\",\"S4\",\"C5\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-smooth\"}],description:\"The font-smooth CSS property controls the application of anti-aliasing when fonts are rendered.\"},{name:\"font-synthesis-position\",syntax:\"auto | none\",values:[{name:\"auto\"},{name:\"none\"}],relevance:50,browsers:[\"FF118\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-synthesis-position\"}],description:'The font-synthesis-position CSS property lets you specify whether or not a browser may synthesize the subscript and superscript \"position\" typefaces when they are missing in a font family, while using font-variant-position to set the positions.'},{name:\"font-synthesis-small-caps\",syntax:\"auto | none\",values:[{name:\"auto\"},{name:\"none\"}],relevance:50,browsers:[\"E97\",\"FF111\",\"S16.4\",\"C97\",\"O83\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-synthesis-small-caps\"}],description:\"The font-synthesis-small-caps CSS property lets you specify whether or not the browser may synthesize small-caps typeface when it is missing in a font family. Small-caps glyphs typically use the form of uppercase letters but are reduced to the size of lowercase letters.\"},{name:\"font-synthesis-style\",syntax:\"auto | none\",values:[{name:\"auto\"},{name:\"none\"}],relevance:50,browsers:[\"E97\",\"FF111\",\"S16.4\",\"C97\",\"O83\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-synthesis-style\"}],description:\"The font-synthesis-style CSS property lets you specify whether or not the browser may synthesize the oblique typeface when it is missing in a font family.\"},{name:\"font-synthesis-weight\",syntax:\"auto | none\",values:[{name:\"auto\"},{name:\"none\"}],relevance:50,browsers:[\"E97\",\"FF111\",\"S16.4\",\"C97\",\"O83\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-synthesis-weight\"}],description:\"The font-synthesis-weight CSS property lets you specify whether or not the browser may synthesize the bold typeface when it is missing in a font family.\"},{name:\"font-variant-emoji\",syntax:\"normal | text | emoji | unicode\",values:[{name:\"normal\"},{name:\"text\"},{name:\"emoji\"},{name:\"unicode\"}],relevance:50,browsers:[\"FF108\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/font-variant-emoji\"}],description:\"The font-variant-emoji CSS property specifies the default presentation style for displaying emojis.\"},{name:\"forced-color-adjust\",syntax:\"auto | none\",values:[{name:\"auto\"},{name:\"none\"}],relevance:57,browsers:[\"E79\",\"FF113\",\"C89\",\"IE10\",\"O75\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/forced-color-adjust\"}],description:\"Allows authors to opt certain elements out of forced colors mode. This then restores the control of those values to CSS\"},{name:\"gap\",syntax:\"<'row-gap'> <'column-gap'>?\",relevance:70,browsers:[\"E16\",\"FF52\",\"S10.1\",\"C57\",\"O44\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/gap\"}],description:\"The gap CSS property is a shorthand property for row-gap and column-gap specifying the gutters between grid rows and columns.\"},{name:\"hanging-punctuation\",syntax:\"none | [ first || [ force-end | allow-end ] || last ]\",relevance:50,browsers:[\"S10\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation\"}],description:\"The hanging-punctuation CSS property specifies whether a punctuation mark should hang at the start or end of a line of text. Hanging punctuation may be placed outside the line box.\"},{name:\"hyphenate-character\",syntax:\"auto | <string>\",relevance:50,browsers:[\"E106\",\"FF98\",\"S17\",\"C106\",\"O92\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/hyphenate-character\"}],description:\"A hyphenate character used at the end of a line.\"},{name:\"hyphenate-limit-chars\",syntax:\"[ auto | <integer> ]{1,3}\",relevance:50,browsers:[\"E109\",\"C109\",\"O95\"],description:\"The hyphenate-limit-chars CSS property specifies the minimum word length to allow hyphenation of words as well as the minimum number of characters before and after the hyphen.\"},{name:\"image-resolution\",status:\"experimental\",syntax:\"[ from-image || <resolution> ] && snap?\",relevance:50,description:\"The image-resolution property specifies the intrinsic resolution of all raster images used in or on the element. It affects both content images (e.g. replaced elements and generated content) and decorative images (such as background-image). The intrinsic resolution of an image is used to determine the image\\u2019s intrinsic dimensions.\"},{name:\"initial-letter\",status:\"experimental\",syntax:\"normal | [ <number> <integer>? ]\",relevance:50,browsers:[\"E110\",\"S9\",\"C110\",\"O96\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/initial-letter\"}],description:\"The initial-letter CSS property specifies styling for dropped, raised, and sunken initial letters.\"},{name:\"initial-letter-align\",status:\"experimental\",syntax:\"[ auto | alphabetic | hanging | ideographic ]\",relevance:50,references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/initial-letter-align\"}],description:\"The initial-letter-align CSS property specifies the alignment of initial letters within a paragraph.\"},{name:\"input-security\",syntax:\"auto | none\",values:[{name:\"auto\"},{name:\"none\"}],relevance:50,description:\"Enables or disables the obscuring a sensitive test input.\"},{name:\"inset\",syntax:\"<'top'>{1,4}\",relevance:58,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/inset\"}],description:\"The inset CSS property defines the logical block and inline start and end offsets of an element, which map to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the top and bottom, or right and left properties depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"inset-block\",syntax:\"<'top'>{1,2}\",relevance:53,browsers:[\"E87\",\"FF63\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/inset-block\"}],description:\"The inset-block CSS property defines the logical block start and end offsets of an element, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the top and bottom, or right and left properties depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"inset-block-end\",syntax:\"<'top'>\",relevance:50,browsers:[\"E87\",\"FF63\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/inset-block-end\"}],description:\"The inset-block-end CSS property defines the logical block end offset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"inset-block-start\",syntax:\"<'top'>\",relevance:53,browsers:[\"E87\",\"FF63\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/inset-block-start\"}],description:\"The inset-block-start CSS property defines the logical block start offset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"inset-inline\",syntax:\"<'top'>{1,2}\",relevance:53,browsers:[\"E87\",\"FF63\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/inset-inline\"}],description:\"The inset-inline CSS property defines the logical block start and end offsets of an element, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the top and bottom, or right and left properties depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"inset-inline-end\",syntax:\"<'top'>\",relevance:51,browsers:[\"E87\",\"FF63\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/inset-inline-end\"}],description:\"The inset-inline-end CSS property defines the logical inline end inset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"inset-inline-start\",syntax:\"<'top'>\",relevance:54,browsers:[\"E87\",\"FF63\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/inset-inline-start\"}],description:\"The inset-inline-start CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.\"},{name:\"justify-tracks\",status:\"experimental\",syntax:\"[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#\",relevance:50,browsers:[\"FF77\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/justify-tracks\"}],description:\"The justify-tracks CSS property sets the alignment in the masonry axis for grid containers that have masonry in their inline axis\"},{name:\"line-clamp\",status:\"experimental\",syntax:\"none | <integer>\",relevance:50,description:\"The line-clamp property allows limiting the contents of a block container to the specified number of lines; remaining content is fragmented away and neither rendered nor measured. Optionally, it also allows inserting content into the last line box to indicate the continuity of truncated/interrupted content.\"},{name:\"line-height-step\",status:\"experimental\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"C60\",\"O47\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/line-height-step\"}],description:\"The line-height-step CSS property defines the step units for line box heights. When the step unit is positive, line box heights are rounded up to the closest multiple of the unit. Negative values are invalid.\"},{name:\"margin-block\",syntax:\"<'margin-left'>{1,2}\",relevance:54,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-block\"}],description:\"The margin-block CSS property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.\"},{name:\"margin-inline\",syntax:\"<'margin-left'>{1,2}\",relevance:54,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-inline\"}],description:\"The margin-inline CSS property defines the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.\"},{name:\"margin-trim\",status:\"experimental\",syntax:\"none | in-flow | all\",values:[{name:\"none\"},{name:\"in-flow\"},{name:\"all\"}],relevance:50,browsers:[\"S16.4\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/margin-trim\"}],description:\"The margin-trim property allows the container to trim the margins of its children where they adjoin the container\\u2019s edges.\"},{name:\"mask\",syntax:\"<mask-layer>#\",relevance:55,browsers:[\"E79\",\"FF53\",\"S15.4\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask\"}],description:\"The mask CSS property alters the visibility of an element by either partially or fully hiding it. This is accomplished by either masking or clipping the image at specific points.\"},{name:\"mask-border\",syntax:\"<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>\",relevance:50,browsers:[\"E79\",\"S17.2\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-border\"}],description:`The mask-border CSS property lets you create a mask along the edge of an element's border.\n\nThis property is a shorthand for mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, mask-border-repeat, and mask-border-mode. As with all shorthand properties, any omitted sub-values will be set to their initial value.`},{name:\"mask-border-mode\",syntax:\"luminance | alpha\",values:[{name:\"luminance\"},{name:\"alpha\"}],relevance:50,description:\"The mask-border-mode CSS property specifies the blending mode used in a mask border.\"},{name:\"mask-border-outset\",syntax:\"[ <length> | <number> ]{1,4}\",relevance:50,browsers:[\"E79\",\"S17.2\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset\"}],description:\"The mask-border-outset CSS property specifies the distance by which an element's mask border is set out from its border box.\"},{name:\"mask-border-repeat\",syntax:\"[ stretch | repeat | round | space ]{1,2}\",relevance:50,browsers:[\"E79\",\"S17.2\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat\"}],description:\"The mask-border-repeat CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border.\"},{name:\"mask-border-slice\",syntax:\"<number-percentage>{1,4} fill?\",relevance:50,browsers:[\"E79\",\"S17.2\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice\"}],description:\"The mask-border-slice CSS property divides the image specified by mask-border-source into regions. These regions are used to form the components of an element's mask border.\"},{name:\"mask-border-source\",syntax:\"none | <image>\",relevance:50,browsers:[\"E79\",\"S17.2\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-border-source\"}],description:`The mask-border-source CSS property specifies the source image used to create an element's mask border.\n\nThe mask-border-slice property is used to divide the source image into regions, which are then dynamically applied to the final mask border.`},{name:\"mask-border-width\",syntax:\"[ <length-percentage> | <number> | auto ]{1,4}\",relevance:50,browsers:[\"E79\",\"S17.2\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-border-width\"}],description:\"The mask-border-width CSS property specifies the width of an element's mask border.\"},{name:\"mask-clip\",syntax:\"[ <geometry-box> | no-clip ]#\",relevance:50,browsers:[\"E120\",\"FF53\",\"S15.4\",\"C120\",\"O106\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-clip\"}],description:\"The mask-clip CSS property determines the area, which is affected by a mask. The painted content of an element must be restricted to this area.\"},{name:\"mask-composite\",syntax:\"<compositing-operator>#\",relevance:50,browsers:[\"E18\",\"FF53\",\"S15.4\",\"C120\",\"O106\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/mask-composite\"}],description:\"The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it.\"},{name:\"masonry-auto-flow\",status:\"experimental\",syntax:\"[ pack | next ] || [ definite-first | ordered ]\",relevance:50,browsers:[\"Spreview\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow\"}],description:\"The masonry-auto-flow CSS property modifies how items are placed when using masonry in CSS Grid Layout.\"},{name:\"math-depth\",syntax:\"auto-add | add(<integer>) | <integer>\",relevance:50,browsers:[\"E109\",\"FF117\",\"C109\",\"O95\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/math-depth\"}],description:'Describe a notion of \"depth\" for each element of a mathematical formula, with respect to the top-level container of that formula.'},{name:\"math-shift\",syntax:\"normal | compact\",values:[{name:\"normal\"},{name:\"compact\"}],relevance:50,browsers:[\"E109\",\"C109\",\"O95\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/math-shift\"}],description:\"Used for positioning superscript during the layout of MathML scripted elements.\"},{name:\"math-style\",syntax:\"normal | compact\",values:[{name:\"normal\"},{name:\"compact\"}],relevance:50,browsers:[\"E109\",\"FF117\",\"S14.1\",\"C109\",\"O95\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/math-style\"}],description:\"The math-style property indicates whether MathML equations should render with normal or compact height.\"},{name:\"max-lines\",status:\"experimental\",syntax:\"none | <integer>\",relevance:50,description:\"The max-lines property forces a break after a set number of lines\"},{name:\"offset\",syntax:\"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?\",relevance:50,browsers:[\"E79\",\"FF72\",\"S16\",\"C55\",\"O42\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/offset\"}],description:\"The offset CSS property is a shorthand property for animating an element along a defined path.\"},{name:\"offset-anchor\",syntax:\"auto | <position>\",relevance:50,browsers:[\"E116\",\"FF72\",\"S16\",\"C116\",\"O102\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/offset-anchor\"}],description:\"Defines an anchor point of the box positioned along the path. The anchor point specifies the point of the box which is to be considered as the point that is moved along the path.\"},{name:\"offset-distance\",syntax:\"<length-percentage>\",relevance:50,browsers:[\"E79\",\"FF72\",\"S16\",\"C55\",\"O42\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/offset-distance\"}],description:\"The offset-distance CSS property specifies a position along an offset-path.\"},{name:\"offset-path\",syntax:\"none | <offset-path> || <coord-box>\",relevance:50,browsers:[\"E79\",\"FF72\",\"S15.4\",\"C55\",\"O45\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/offset-path\"}],description:`The offset-path CSS property specifies the offset path where the element gets positioned. The exact element\\u2019s position on the offset path is determined by the offset-distance property. An offset path is either a specified path with one or multiple sub-paths or the geometry of a not-styled basic shape. Each shape or path must define an initial position for the computed value of \"0\" for offset-distance and an initial direction which specifies the rotation of the object to the initial position.\n\nIn this specification, a direction (or rotation) of 0 degrees is equivalent to the direction of the positive x-axis in the object\\u2019s local coordinate system. In other words, a rotation of 0 degree points to the right side of the UA if the object and its ancestors have no transformation applied.`},{name:\"offset-position\",syntax:\"normal | auto | <position>\",relevance:50,browsers:[\"E116\",\"FF122\",\"S16\",\"C116\",\"O102\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/offset-position\"}],description:\"Specifies the initial position of the offset path. If position is specified with static, offset-position would be ignored.\"},{name:\"offset-rotate\",syntax:\"[ auto | reverse ] || <angle>\",relevance:50,browsers:[\"E79\",\"FF72\",\"S16\",\"C56\",\"O43\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/offset-rotate\"}],description:\"The offset-rotate CSS property defines the direction of the element while positioning along the offset path.\"},{name:\"overflow-anchor\",syntax:\"auto | none\",values:[{name:\"auto\"},{name:\"none\"}],relevance:52,browsers:[\"E79\",\"FF66\",\"Spreview\",\"C56\",\"O43\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overflow-anchor\"}],description:\"The overflow-anchor CSS property provides a way to opt out browser scroll anchoring behavior which adjusts scroll position to minimize content shifts.\"},{name:\"overflow-block\",syntax:\"visible | hidden | clip | scroll | auto\",values:[{name:\"visible\"},{name:\"hidden\"},{name:\"clip\"},{name:\"scroll\"},{name:\"auto\"}],relevance:50,browsers:[\"FF69\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overflow-block\"}],description:\"The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis.\"},{name:\"overflow-clip-box\",status:\"nonstandard\",syntax:\"padding-box | content-box\",values:[{name:\"padding-box\"},{name:\"content-box\"}],relevance:0,description:\"The overflow-clip-box CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the overflow-clip-box-inline and overflow-clip-box-block properties.\"},{name:\"overflow-clip-margin\",syntax:\"<visual-box> || <length [0,\\u221E]>\",relevance:50,browsers:[\"E90\",\"FF102\",\"C90\",\"O76\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin\"}],description:\"The overflow-clip-margin CSS property determines how far outside its bounds an element with overflow: clip may be painted before being clipped.\"},{name:\"overflow-inline\",syntax:\"visible | hidden | clip | scroll | auto\",values:[{name:\"visible\"},{name:\"hidden\"},{name:\"clip\"},{name:\"scroll\"},{name:\"auto\"}],relevance:50,browsers:[\"FF69\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overflow-inline\"}],description:\"The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis.\"},{name:\"overlay\",status:\"experimental\",syntax:\"none | auto\",values:[{name:\"none\"},{name:\"auto\"}],relevance:50,browsers:[\"E117\",\"C117\",\"O103\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overlay\"}],description:'The overlay CSS property specifies whether an element appearing in the top layer (for example, a shown popover or modal {{htmlelement(\"dialog\")}} element) is actually rendered in the top layer. This property is only relevant within a list of transition-property values, and only if allow-discrete is set as the transition-behavior.'},{name:\"overscroll-behavior\",syntax:\"[ contain | none | auto ]{1,2}\",relevance:50,browsers:[\"E18\",\"FF59\",\"S16\",\"C63\",\"O50\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior\"}],description:\"The overscroll-behavior CSS property is shorthand for the overscroll-behavior-x and overscroll-behavior-y properties, which allow you to control the browser's scroll overflow behavior \\u2014 what happens when the boundary of a scrolling area is reached.\"},{name:\"overscroll-behavior-block\",syntax:\"contain | none | auto\",values:[{name:\"contain\"},{name:\"none\"},{name:\"auto\"}],relevance:50,browsers:[\"E79\",\"FF73\",\"S16\",\"C77\",\"O64\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block\"}],description:\"The overscroll-behavior-block CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.\"},{name:\"overscroll-behavior-inline\",syntax:\"contain | none | auto\",values:[{name:\"contain\"},{name:\"none\"},{name:\"auto\"}],relevance:50,browsers:[\"E79\",\"FF73\",\"S16\",\"C77\",\"O64\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline\"}],description:\"The overscroll-behavior-inline CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.\"},{name:\"overscroll-behavior-x\",syntax:\"contain | none | auto\",values:[{name:\"contain\"},{name:\"none\"},{name:\"auto\"}],relevance:50,browsers:[\"E18\",\"FF59\",\"S16\",\"C63\",\"O50\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x\"}],description:\"The overscroll-behavior-x CSS property is allows you to control the browser's scroll overflow behavior \\u2014 what happens when the boundary of a scrolling area is reached \\u2014 in the x axis direction.\"},{name:\"overscroll-behavior-y\",syntax:\"contain | none | auto\",values:[{name:\"contain\"},{name:\"none\"},{name:\"auto\"}],relevance:50,browsers:[\"E18\",\"FF59\",\"S16\",\"C63\",\"O50\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y\"}],description:\"The overscroll-behavior-y CSS property is allows you to control the browser's scroll overflow behavior \\u2014 what happens when the boundary of a scrolling area is reached \\u2014 in the y axis direction.\"},{name:\"padding-block\",syntax:\"<'padding-left'>{1,2}\",relevance:54,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-block\"}],description:\"The padding-block CSS property defines the logical block start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.\"},{name:\"padding-inline\",syntax:\"<'padding-left'>{1,2}\",relevance:54,browsers:[\"E87\",\"FF66\",\"S14.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/padding-inline\"}],description:\"The padding-inline CSS property defines the logical inline start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.\"},{name:\"page\",syntax:\"auto | <custom-ident>\",relevance:50,browsers:[\"E85\",\"FF110\",\"S13.1\",\"C85\",\"O71\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/page\"}],description:\"The page CSS property is used to specify the named page, a specific type of page defined by the @page at-rule.\"},{name:\"place-content\",syntax:\"<'align-content'> <'justify-content'>?\",relevance:51,browsers:[\"E79\",\"FF45\",\"S9\",\"C59\",\"O46\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/place-content\"}],description:\"The place-content CSS shorthand property sets both the align-content and justify-content properties.\"},{name:\"place-items\",syntax:\"<'align-items'> <'justify-items'>?\",relevance:51,browsers:[\"E79\",\"FF45\",\"S11\",\"C59\",\"O46\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/place-items\"}],description:\"The CSS place-items shorthand property sets both the align-items and justify-items properties. The first value is the align-items property value, the second the justify-items one. If the second value is not present, the first value is also used for it.\"},{name:\"place-self\",syntax:\"<'align-self'> <'justify-self'>?\",relevance:50,browsers:[\"E79\",\"FF45\",\"S11\",\"C59\",\"O46\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/place-self\"}],description:\"The place-self CSS property is a shorthand property sets both the align-self and justify-self properties. The first value is the align-self property value, the second the justify-self one. If the second value is not present, the first value is also used for it.\"},{name:\"print-color-adjust\",syntax:\"economy | exact\",values:[{name:\"economy\"},{name:\"exact\"}],relevance:50,browsers:[\"E79\",\"FF97\",\"S15.4\",\"C17\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/print-color-adjust\"}],description:\"Defines what optimization the user agent is allowed to do when adjusting the appearance for an output device.\"},{name:\"rotate\",syntax:\"none | <angle> | [ x | y | z | <number>{3} ] && <angle>\",relevance:50,browsers:[\"E104\",\"FF72\",\"S14.1\",\"C104\",\"O90\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/rotate\"}],description:\"The rotate CSS property allows you to specify rotation transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.\"},{name:\"row-gap\",syntax:\"normal | <length-percentage>\",relevance:58,browsers:[\"E16\",\"FF52\",\"S10.1\",\"C47\",\"O34\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/row-gap\"}],description:\"The row-gap CSS property specifies the gutter between grid rows.\"},{name:\"ruby-merge\",status:\"experimental\",syntax:\"separate | collapse | auto\",values:[{name:\"separate\"},{name:\"collapse\"},{name:\"auto\"}],relevance:50,description:\"This property controls how ruby annotation boxes should be rendered when there are more than one in a ruby container box: whether each pair should be kept separate, the annotations should be collapsed and rendered as a group, or the separation should be determined based on the space available.\"},{name:\"scale\",syntax:\"none | <number>{1,3}\",relevance:51,browsers:[\"E104\",\"FF72\",\"S14.1\",\"C104\",\"O90\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scale\"}],description:\"The scale CSS property allows you to specify scale transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.\"},{name:\"scrollbar-color\",syntax:\"auto | <color>{2}\",relevance:52,browsers:[\"E121\",\"FF64\",\"C121\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-color\"}],description:\"The scrollbar-color CSS property sets the color of the scrollbar track and thumb.\"},{name:\"scrollbar-gutter\",syntax:\"auto | stable && both-edges?\",relevance:50,browsers:[\"E94\",\"FF97\",\"S17\",\"C94\",\"O80\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter\"}],description:\"The scrollbar-gutter CSS property allows authors to reserve space for the scrollbar, preventing unwanted layout changes as the content grows while also avoiding unnecessary visuals when scrolling isn't needed.\"},{name:\"scrollbar-width\",syntax:\"auto | thin | none\",values:[{name:\"auto\"},{name:\"thin\"},{name:\"none\"}],relevance:63,browsers:[\"E121\",\"FF64\",\"C121\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-width\"}],description:\"The scrollbar-width property allows the author to set the maximum thickness of an element\\u2019s scrollbars when they are shown. \"},{name:\"scroll-margin\",syntax:\"<length>{1,4}\",relevance:50,browsers:[\"E79\",\"FF90\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin\"}],description:\"The scroll-margin property is a shorthand property which sets all of the scroll-margin longhands, assigning values much like the margin property does for the margin-* longhands.\"},{name:\"scroll-margin-block\",syntax:\"<length>{1,2}\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block\"}],description:\"The scroll-margin-block property is a shorthand property which sets the scroll-margin longhands in the block dimension.\"},{name:\"scroll-margin-block-start\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start\"}],description:\"The scroll-margin-block-start property defines the margin of the scroll snap area at the start of the block dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container\\u2019s coordinate space), then adding the specified outsets.\"},{name:\"scroll-margin-block-end\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end\"}],description:\"The scroll-margin-block-end property defines the margin of the scroll snap area at the end of the block dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container\\u2019s coordinate space), then adding the specified outsets.\"},{name:\"scroll-margin-bottom\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom\"}],description:\"The scroll-margin-bottom property defines the bottom margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container\\u2019s coordinate space), then adding the specified outsets.\"},{name:\"scroll-margin-inline\",syntax:\"<length>{1,2}\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline\"}],description:\"The scroll-margin-inline property is a shorthand property which sets the scroll-margin longhands in the inline dimension.\"},{name:\"scroll-margin-inline-start\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start\"}],description:\"The scroll-margin-inline-start property defines the margin of the scroll snap area at the start of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container\\u2019s coordinate space), then adding the specified outsets.\"},{name:\"scroll-margin-inline-end\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end\"}],description:\"The scroll-margin-inline-end property defines the margin of the scroll snap area at the end of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container\\u2019s coordinate space), then adding the specified outsets.\"},{name:\"scroll-margin-left\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left\"}],description:\"The scroll-margin-left property defines the left margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container\\u2019s coordinate space), then adding the specified outsets.\"},{name:\"scroll-margin-right\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right\"}],description:\"The scroll-margin-right property defines the right margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container\\u2019s coordinate space), then adding the specified outsets.\"},{name:\"scroll-margin-top\",syntax:\"<length>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top\"}],description:\"The scroll-margin-top property defines the top margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container\\u2019s coordinate space), then adding the specified outsets.\"},{name:\"scroll-padding\",syntax:\"[ auto | <length-percentage> ]{1,4}\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding\"}],description:\"The scroll-padding property is a shorthand property which sets all of the scroll-padding longhands, assigning values much like the padding property does for the padding-* longhands.\"},{name:\"scroll-padding-block\",syntax:\"[ auto | <length-percentage> ]{1,2}\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block\"}],description:\"The scroll-padding-block property is a shorthand property which sets the scroll-padding longhands for the block dimension.\"},{name:\"scroll-padding-block-start\",syntax:\"auto | <length-percentage>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start\"}],description:\"The scroll-padding-block-start property defines offsets for the start edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.\"},{name:\"scroll-padding-block-end\",syntax:\"auto | <length-percentage>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end\"}],description:\"The scroll-padding-block-end property defines offsets for the end edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.\"},{name:\"scroll-padding-bottom\",syntax:\"auto | <length-percentage>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom\"}],description:\"The scroll-padding-bottom property defines offsets for the bottom of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.\"},{name:\"scroll-padding-inline\",syntax:\"[ auto | <length-percentage> ]{1,2}\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline\"}],description:\"The scroll-padding-inline property is a shorthand property which sets the scroll-padding longhands for the inline dimension.\"},{name:\"scroll-padding-inline-start\",syntax:\"auto | <length-percentage>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start\"}],description:\"The scroll-padding-inline-start property defines offsets for the start edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.\"},{name:\"scroll-padding-inline-end\",syntax:\"auto | <length-percentage>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S15\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end\"}],description:\"The scroll-padding-inline-end property defines offsets for the end edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.\"},{name:\"scroll-padding-left\",syntax:\"auto | <length-percentage>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left\"}],description:\"The scroll-padding-left property defines offsets for the left of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.\"},{name:\"scroll-padding-right\",syntax:\"auto | <length-percentage>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right\"}],description:\"The scroll-padding-right property defines offsets for the right of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.\"},{name:\"scroll-padding-top\",syntax:\"auto | <length-percentage>\",relevance:50,browsers:[\"E79\",\"FF68\",\"S14.1\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top\"}],description:\"The scroll-padding-top property defines offsets for the top of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.\"},{name:\"scroll-snap-align\",syntax:\"[ none | start | end | center ]{1,2}\",relevance:53,browsers:[\"E79\",\"FF68\",\"S11\",\"C69\",\"O56\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align\"}],description:\"The scroll-snap-align property specifies the box\\u2019s snap position as an alignment of its snap area (as the alignment subject) within its snap container\\u2019s snapport (as the alignment container). The two values specify the snapping alignment in the block axis and inline axis, respectively. If only one value is specified, the second value defaults to the same value.\"},{name:\"scroll-snap-stop\",syntax:\"normal | always\",values:[{name:\"normal\"},{name:\"always\"}],relevance:51,browsers:[\"E79\",\"FF103\",\"S15\",\"C75\",\"O62\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop\"}],description:'The scroll-snap-stop CSS property defines whether the scroll container is allowed to \"pass over\" possible snap positions.'},{name:\"scroll-snap-type-x\",status:\"obsolete\",syntax:\"none | mandatory | proximity\",values:[{name:\"none\"},{name:\"mandatory\"},{name:\"proximity\"}],relevance:0,description:`The scroll-snap-type-x CSS property defines how strictly snap points are enforced on the horizontal axis of the scroll container in case there is one.\n\nSpecifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:\"scroll-snap-type-y\",status:\"obsolete\",syntax:\"none | mandatory | proximity\",values:[{name:\"none\"},{name:\"mandatory\"},{name:\"proximity\"}],relevance:0,description:`The scroll-snap-type-y CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.\n\nSpecifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:\"scroll-timeline\",status:\"experimental\",syntax:\"[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#\",relevance:50,browsers:[\"E115\",\"FF111\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline\"}],description:\"Defines a name that can be used to identify the source element of a scroll timeline, along with the scrollbar axis that should provide the timeline.\"},{name:\"scroll-timeline-axis\",status:\"experimental\",syntax:\"[ block | inline | x | y ]#\",relevance:50,browsers:[\"E115\",\"FF111\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-axis\"}],description:\"Specifies the scrollbar that will be used to provide the timeline for a scroll-timeline animation\"},{name:\"scroll-timeline-name\",status:\"experimental\",syntax:\"none | <dashed-ident>#\",relevance:50,browsers:[\"E115\",\"FF111\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-name\"}],description:\"Defines a name that can be used to identify an element as the source of a scroll-timeline.\"},{name:\"text-combine-upright\",syntax:\"none | all | [ digits <integer>? ]\",relevance:50,browsers:[\"E79\",\"FF48\",\"S15.4\",\"C48\",\"IE11\",\"O35\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright\"}],description:`The text-combine-upright CSS property specifies the combination of multiple characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.\n\nThis is used to produce an effect that is known as tate-ch\\u016B-yoko (\\u7E26\\u4E2D\\u6A2A) in Japanese, or as \\u76F4\\u66F8\\u6A6B\\u5411 in Chinese.`},{name:\"text-decoration-skip\",status:\"experimental\",syntax:\"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]\",relevance:52,browsers:[\"S12.1\",\"C57\",\"O44\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip\"}],description:\"The text-decoration-skip CSS property specifies what parts of the element\\u2019s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors.\"},{name:\"text-decoration-skip-ink\",syntax:\"auto | all | none\",values:[{name:\"auto\"},{name:\"all\"},{name:\"none\"}],relevance:51,browsers:[\"E79\",\"FF70\",\"S15.4\",\"C64\",\"O50\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink\"}],description:\"The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.\"},{name:\"text-decoration-thickness\",syntax:\"auto | from-font | <length> | <percentage> \",relevance:50,browsers:[\"E89\",\"FF70\",\"S12.1\",\"C89\",\"O75\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness\"}],description:\"The text-decoration-thickness CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.\"},{name:\"text-emphasis\",syntax:\"<'text-emphasis-style'> || <'text-emphasis-color'>\",relevance:50,browsers:[\"E99\",\"FF46\",\"S7\",\"C99\",\"O85\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis\"}],description:\"The text-emphasis CSS property is a shorthand property for setting text-emphasis-style and text-emphasis-color in one declaration. This property will apply the specified emphasis mark to each character of the element's text, except separator characters, like spaces,  and control characters.\"},{name:\"text-emphasis-color\",syntax:\"<color>\",relevance:50,browsers:[\"E99\",\"FF46\",\"S7\",\"C99\",\"O85\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color\"}],description:\"The text-emphasis-color CSS property defines the color used to draw emphasis marks on text being rendered in the HTML document. This value can also be set and reset using the text-emphasis shorthand.\"},{name:\"text-emphasis-position\",syntax:\"[ over | under ] && [ right | left ]\",relevance:50,browsers:[\"E99\",\"FF46\",\"S7\",\"C99\",\"O85\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position\"}],description:\"The text-emphasis-position CSS property describes where emphasis marks are drawn at. The effect of emphasis marks on the line height is the same as for ruby text: if there isn't enough place, the line height is increased.\"},{name:\"text-emphasis-style\",syntax:\"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>\",relevance:50,browsers:[\"E99\",\"FF46\",\"S7\",\"C99\",\"O85\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style\"}],description:\"The text-emphasis-style CSS property defines the type of emphasis used. It can also be set, and reset, using the text-emphasis shorthand.\"},{name:\"text-size-adjust\",status:\"experimental\",syntax:\"none | auto | <percentage>\",relevance:57,browsers:[\"E79\",\"C54\",\"O41\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust\"}],description:\"The text-size-adjust CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.\"},{name:\"text-underline-offset\",syntax:\"auto | <length> | <percentage> \",relevance:51,browsers:[\"E87\",\"FF70\",\"S12.1\",\"C87\",\"O73\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset\"}],description:\"The text-underline-offset CSS property sets the offset distance of an underline text decoration line (applied using text-decoration) from its original position.\"},{name:\"text-wrap\",syntax:\"wrap | nowrap | balance | stable | pretty\",values:[{name:\"wrap\"},{name:\"nowrap\"},{name:\"balance\"},{name:\"stable\"},{name:\"pretty\"}],relevance:54,browsers:[\"E114\",\"FF121\",\"Spreview\",\"C114\",\"O100\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/text-wrap\"}],description:\"The text-wrap CSS property controls how text inside an element is wrapped.\"},{name:\"timeline-scope\",status:\"experimental\",syntax:\"none | <dashed-ident>#\",relevance:50,browsers:[\"E116\",\"C116\",\"O102\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/timeline-scope\"}],description:\"The timeline-scope CSS property modifies the scope of a named animation timeline.\"},{name:\"transform-box\",syntax:\"content-box | border-box | fill-box | stroke-box | view-box\",values:[{name:\"content-box\"},{name:\"border-box\"},{name:\"fill-box\"},{name:\"stroke-box\"},{name:\"view-box\"}],relevance:50,browsers:[\"E79\",\"FF55\",\"S11\",\"C64\",\"O51\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transform-box\"}],description:\"The transform-box CSS property defines the layout box to which the transform and transform-origin properties relate.\"},{name:\"transition-behavior\",status:\"experimental\",syntax:\"<transition-behavior-value>#\",relevance:50,browsers:[\"E117\",\"C117\",\"O103\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/transition-behavior\"}],description:\"The transition-behavior CSS property specifies whether transitions will be started for properties whose animation behavior is discrete.\"},{name:\"translate\",syntax:\"none | <length-percentage> [ <length-percentage> <length>? ]?\",relevance:50,browsers:[\"E104\",\"FF72\",\"S14.1\",\"C104\",\"O90\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/translate\"}],description:\"The translate CSS property allows you to specify translation transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.\"},{name:\"view-timeline\",status:\"experimental\",syntax:\"[ <'view-timeline-name'> <'view-timeline-axis'>? ]#\",relevance:50,browsers:[\"E115\",\"FF114\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/view-timeline\"}],description:\"The view-timeline CSS shorthand property is used to define a named view progress timeline, which is progressed through based on the change in visibility of an element (known as the subject) inside a scrollable element (scroller). view-timeline is set on the subject.\"},{name:\"view-timeline-axis\",status:\"experimental\",syntax:\"[ block | inline | x | y ]#\",relevance:50,browsers:[\"E115\",\"FF114\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/view-timeline-axis\"}],description:\"The view-timeline-axis CSS property is used to specify the scrollbar direction that will be used to provide the timeline for a named view progress timeline animation, which is progressed through based on the change in visibility of an element (known as the subject) inside a scrollable element (scroller). view-timeline-axis is set on the subject. See CSS scroll-driven animations for more details.\"},{name:\"view-timeline-inset\",status:\"experimental\",syntax:\"[ [ auto | <length-percentage> ]{1,2} ]#\",relevance:50,browsers:[\"E115\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/view-timeline-inset\"}],description:\"The view-timeline-inset CSS property is used to specify one or two values representing an adjustment to the position of the scrollport (see Scroll container for more details) in which the subject element of a named view progress timeline animation is deemed to be visible. Put another way, this allows you to specify start and/or end inset (or outset) values that offset the position of the timeline.\"},{name:\"view-timeline-name\",status:\"experimental\",syntax:\"none | <dashed-ident>#\",relevance:50,browsers:[\"E115\",\"FF111\",\"C115\",\"O101\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/view-timeline-name\"}],description:\"The view-timeline-name CSS property is used to define the name of a named view progress timeline, which is progressed through based on the change in visibility of an element (known as the subject) inside a scrollable element (scroller). view-timeline is set on the subject.\"},{name:\"view-transition-name\",status:\"experimental\",syntax:\"none | <custom-ident>\",relevance:50,browsers:[\"E111\",\"C111\",\"O97\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/view-transition-name\"}],description:\"The view-transition-name CSS property provides the selected element with a distinct identifying name (a custom-ident) and causes it to participate in a separate view transition from the root view transition \\u2014 or no view transition if the none value is specified.\"},{name:\"white-space\",syntax:\"normal | pre | nowrap | pre-wrap | pre-line | break-spaces | [ <'white-space-collapse'> || <'text-wrap'> || <'white-space-trim'> ]\",relevance:89,browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O4\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/white-space\"}],description:\"Specifies how whitespace is handled in an element.\"},{name:\"white-space-collapse\",syntax:\"collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces\",values:[{name:\"collapse\"},{name:\"discard\"},{name:\"preserve\"},{name:\"preserve-breaks\"},{name:\"preserve-spaces\"},{name:\"break-spaces\"}],relevance:50,browsers:[\"E114\",\"Spreview\",\"C114\",\"O100\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/white-space-collapse\"}],description:\"The white-space-collapse CSS property controls how white space inside an element is collapsed.\"},{name:\"speak-as\",atRule:\"@counter-style\",syntax:\"auto | bullets | numbers | words | spell-out | <counter-style-name>\",relevance:50,browsers:[\"S11.1\"],description:\"The speak-as descriptor specifies how a counter symbol constructed with a given @counter-style will be represented in the spoken form. For example, an author can specify a counter symbol to be either spoken as its numerical value or just represented with an audio cue.\"},{name:\"base-palette\",atRule:\"@font-palette-values\",syntax:\"light | dark | <integer [0,\\u221E]>\",relevance:50,description:\"The base-palette CSS descriptor is used to specify the name or index of a pre-defined palette to be used for creating a new palette. If the specified base-palette does not exist, then the palette defined at index 0 will be used.\"},{name:\"override-colors\",atRule:\"@font-palette-values\",syntax:\"[ <integer [0,\\u221E]> <absolute-color-base> ]#\",relevance:50,description:\"The override-colors CSS descriptor is used to override colors in the chosen base-palette for a color font.\"},{name:\"ascent-override\",atRule:\"@font-face\",status:\"experimental\",syntax:\"normal | <percentage>\",relevance:50,description:\"Describes the ascent metric of a font.\"},{name:\"descent-override\",atRule:\"@font-face\",status:\"experimental\",syntax:\"normal | <percentage>\",relevance:50,description:\"Describes the descent metric of a font.\"},{name:\"font-display\",atRule:\"@font-face\",status:\"experimental\",syntax:\"[ auto | block | swap | fallback | optional ]\",relevance:74,description:\"The font-display descriptor determines how a font face is displayed based on whether and when it is downloaded and ready to use.\"},{name:\"line-gap-override\",atRule:\"@font-face\",status:\"experimental\",syntax:\"normal | <percentage>\",relevance:50,description:\"Describes the line-gap metric of a font.\"},{name:\"size-adjust\",atRule:\"@font-face\",status:\"experimental\",syntax:\"<percentage>\",relevance:50,description:\"A multiplier for glyph outlines and metrics of a font.\"},{name:\"bleed\",atRule:\"@page\",syntax:\"auto | <length>\",relevance:50,description:\"The bleed CSS at-rule descriptor, used with the @page at-rule, specifies the extent of the page bleed area outside the page box. This property only has effect if crop marks are enabled using the marks property.\"},{name:\"marks\",atRule:\"@page\",syntax:\"none | [ crop || cross ]\",relevance:50,description:\"The marks CSS at-rule descriptor, used with the @page at-rule, adds crop and/or cross marks to the presentation of the document. Crop marks indicate where the page should be cut. Cross marks are used to align sheets.\"},{name:\"page-orientation\",atRule:\"@page\",syntax:\"upright | rotate-left | rotate-right \",relevance:50,description:\"The page-orientation CSS descriptor for the @page at-rule controls the rotation of a printed page. It handles the flow of content across pages when the orientation of a page is changed. This behavior differs from the size descriptor in that a user can define the direction in which to rotate the page.\"},{name:\"syntax\",atRule:\"@property\",status:\"experimental\",syntax:\"<string>\",relevance:50,description:\"Specifies the syntax of the custom property registration represented by the @property rule, controlling how the property\\u2019s value is parsed at computed value time.\"},{name:\"inherits\",atRule:\"@property\",status:\"experimental\",syntax:\"true | false\",values:[{name:\"true\"},{name:\"false\"}],relevance:50,description:\"Specifies the inherit flag of the custom property registration represented by the @property rule, controlling whether or not the property inherits by default.\"},{name:\"initial-value\",atRule:\"@property\",status:\"experimental\",syntax:\"<declaration-value>?\",relevance:50,description:\"Specifies the initial value of the custom property registration represented by the @property rule, controlling the property\\u2019s initial value.\"}],atDirectives:[{name:\"@charset\",browsers:[\"E12\",\"FF1.5\",\"S4\",\"C2\",\"IE5.5\",\"O9\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@charset\"}],description:\"Defines character set of the document.\"},{name:\"@counter-style\",browsers:[\"E91\",\"FF33\",\"S17\",\"C91\",\"O77\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@counter-style\"}],description:\"Defines a custom counter style.\"},{name:\"@font-face\",browsers:[\"E12\",\"FF3.5\",\"S3.1\",\"C1\",\"IE4\",\"O10\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@font-face\"}],description:\"Allows for linking to fonts that are automatically activated when needed. This permits authors to work around the limitation of 'web-safe' fonts, allowing for consistent rendering independent of the fonts available in a given user's environment.\"},{name:\"@font-feature-values\",browsers:[\"E111\",\"FF34\",\"S9.1\",\"C111\",\"O97\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values\"}],description:\"Defines named values for the indices used to select alternate glyphs for a given font family.\"},{name:\"@import\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE5.5\",\"O3.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@import\"}],description:\"Includes content of another file.\"},{name:\"@keyframes\",browsers:[\"E12\",\"FF16\",\"S9\",\"C43\",\"IE10\",\"O30\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@keyframes\"}],description:\"Defines set of animation key frames.\"},{name:\"@layer\",browsers:[\"E99\",\"FF97\",\"S15.4\",\"C99\",\"O85\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@layer\"}],description:\"Declare a cascade layer and the order of precedence in case of multiple cascade layers.\"},{name:\"@media\",browsers:[\"E12\",\"FF1\",\"S3\",\"C1\",\"IE6\",\"O9.2\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@media\"}],description:\"Defines a stylesheet for a particular media type.\"},{name:\"@-moz-document\",browsers:[\"FF1.8\"],description:\"Gecko-specific at-rule that restricts the style rules contained within it based on the URL of the document.\"},{name:\"@-moz-keyframes\",browsers:[\"FF5\"],description:\"Defines set of animation key frames.\"},{name:\"@-ms-viewport\",browsers:[\"E\",\"IE10\"],description:\"Specifies the size, zoom factor, and orientation of the viewport.\"},{name:\"@namespace\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE9\",\"O8\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@namespace\"}],description:\"Declares a prefix and associates it with a namespace name.\"},{name:\"@-o-keyframes\",browsers:[\"O12\"],description:\"Defines set of animation key frames.\"},{name:\"@-o-viewport\",browsers:[\"O11\"],description:\"Specifies the size, zoom factor, and orientation of the viewport.\"},{name:\"@page\",browsers:[\"E12\",\"FF19\",\"S13.1\",\"C2\",\"IE8\",\"O6\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@page\"}],description:\"Directive defines various page parameters.\"},{name:\"@property\",browsers:[\"E85\",\"FFpreview\",\"S16.4\",\"C85\",\"O71\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@property\"}],description:\"Describes the aspect of custom properties and variables.\"},{name:\"@supports\",browsers:[\"E12\",\"FF22\",\"S9\",\"C28\",\"O12.1\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/@supports\"}],description:\"A conditional group rule whose condition tests whether the user agent supports CSS property:value pairs.\"},{name:\"@-webkit-keyframes\",browsers:[\"C\",\"S4\"],description:\"Defines set of animation key frames.\"}],pseudoClasses:[{name:\":active\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:active\"}],description:\"Applies while an element is being activated by the user. For example, between the times the user presses the mouse button and releases it.\"},{name:\":any-link\",browsers:[\"E79\",\"FF50\",\"S9\",\"C65\",\"O52\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:any-link\"}],description:\"Represents an element that acts as the source anchor of a hyperlink. Applies to both visited and unvisited links.\"},{name:\":checked\",browsers:[\"E12\",\"FF1\",\"S3.1\",\"C1\",\"IE9\",\"O9\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:checked\"}],description:\"Radio and checkbox elements can be toggled by the user. Some menu items are 'checked' when the user selects them. When such elements are toggled 'on' the :checked pseudo-class applies.\"},{name:\":corner-present\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Indicates whether or not a scrollbar corner is present.\"},{name:\":decrement\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to buttons and track pieces. Indicates whether or not the button or track piece will decrement the view's position when used.\"},{name:\":default\",browsers:[\"E79\",\"FF4\",\"S5\",\"C10\",\"O10\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:default\"}],description:\"Applies to the one or more UI elements that are the default among a set of similar elements. Typically applies to context menu items, buttons, and select lists/menus.\"},{name:\":disabled\",browsers:[\"E12\",\"FF1\",\"S3.1\",\"C1\",\"IE9\",\"O9\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:disabled\"}],description:\"Represents user interface elements that are in a disabled state; such elements have a corresponding enabled state.\"},{name:\":double-button\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to buttons and track pieces. Applies when both buttons are displayed together at the same end of the scrollbar.\"},{name:\":empty\",browsers:[\"E12\",\"FF1\",\"S3.1\",\"C1\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:empty\"}],description:\"Represents an element that has no children at all.\"},{name:\":enabled\",browsers:[\"E12\",\"FF1\",\"S3.1\",\"C1\",\"IE9\",\"O9\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:enabled\"}],description:\"Represents user interface elements that are in an enabled state; such elements have a corresponding disabled state.\"},{name:\":end\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to buttons and track pieces. Indicates whether the object is placed after the thumb.\"},{name:\":first\",browsers:[\"E12\",\"FF116\",\"S6\",\"C18\",\"IE8\",\"O9.2\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:first\"}],description:\"When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the  page context.\"},{name:\":first-child\",browsers:[\"E12\",\"FF3\",\"S3.1\",\"C4\",\"IE7\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:first-child\"}],description:\"Same as :nth-child(1). Represents an element that is the first child of some other element.\"},{name:\":first-of-type\",browsers:[\"E12\",\"FF3.5\",\"S3.1\",\"C1\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:first-of-type\"}],description:\"Same as :nth-of-type(1). Represents an element that is the first sibling of its type in the list of children of its parent element.\"},{name:\":focus\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE8\",\"O7\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:focus\"}],description:\"Applies while an element has the focus (accepts keyboard or mouse events, or other forms of input).\"},{name:\":fullscreen\",browsers:[\"E12\",\"FF64\",\"S16.4\",\"C71\",\"IE11\",\"O58\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:fullscreen\"}],description:\"Matches any element that has its fullscreen flag set.\"},{name:\":future\",browsers:[\"E79\",\"S7\",\"C23\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:future\"}],description:\"Represents any element that is defined to occur entirely after a :current element.\"},{name:\":horizontal\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to any scrollbar pieces that have a horizontal orientation.\"},{name:\":host\",browsers:[\"E79\",\"FF63\",\"S10\",\"C54\",\"O41\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:host\"}],description:\"When evaluated in the context of a shadow tree, matches the shadow tree's host element.\"},{name:\":host()\",browsers:[\"C35\",\"O22\"],description:\"When evaluated in the context of a shadow tree, it matches the shadow tree's host element if the host element, in its normal context, matches the selector argument.\"},{name:\":host-context()\",browsers:[\"C35\",\"O22\"],description:\"Tests whether there is an ancestor, outside the shadow tree, which matches a particular selector.\"},{name:\":hover\",browsers:[\"E12\",\"FF1\",\"S2\",\"C1\",\"IE4\",\"O4\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:hover\"}],description:\"Applies while the user designates an element with a pointing device, but does not necessarily activate it. For example, a visual user agent could apply this pseudo-class when the cursor (mouse pointer) hovers over a box generated by the element.\"},{name:\":increment\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to buttons and track pieces. Indicates whether or not the button or track piece will increment the view's position when used.\"},{name:\":indeterminate\",browsers:[\"E12\",\"FF2\",\"S3\",\"C1\",\"IE10\",\"O9\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:indeterminate\"}],description:\"Applies to UI elements whose value is in an indeterminate state.\"},{name:\":in-range\",browsers:[\"E13\",\"FF29\",\"S5.1\",\"C10\",\"O11\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:in-range\"}],description:\"Used in conjunction with the min and max attributes, whether on a range input, a number field, or any other types that accept those attributes.\"},{name:\":invalid\",browsers:[\"E12\",\"FF4\",\"S5\",\"C10\",\"IE10\",\"O10\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:invalid\"}],description:\"An element is :valid or :invalid when it is, respectively, valid or invalid with respect to data validity semantics defined by a different specification.\"},{name:\":lang()\",browsers:[\"E\",\"C\",\"FF1\",\"IE8\",\"O8\",\"S3\"],description:\"Represents an element that is in language specified.\"},{name:\":last-child\",browsers:[\"E12\",\"FF1\",\"S3.1\",\"C1\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:last-child\"}],description:\"Same as :nth-last-child(1). Represents an element that is the last child of some other element.\"},{name:\":last-of-type\",browsers:[\"E12\",\"FF3.5\",\"S3.1\",\"C1\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:last-of-type\"}],description:\"Same as :nth-last-of-type(1). Represents an element that is the last sibling of its type in the list of children of its parent element.\"},{name:\":left\",browsers:[\"E12\",\"S5\",\"C6\",\"IE8\",\"O9.2\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:left\"}],description:\"When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the  page context.\"},{name:\":link\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE3\",\"O3.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:link\"}],description:\"Applies to links that have not yet been visited.\"},{name:\":matches()\",browsers:[\"S9\"],description:\"Takes a selector list as its argument. It represents an element that is represented by its argument.\"},{name:\":-moz-any()\",browsers:[\"FF4\"],description:\"Represents an element that is represented by the selector list passed as its argument. Standardized as :matches().\"},{name:\":-moz-any-link\",browsers:[\"FF1\"],description:\"Represents an element that acts as the source anchor of a hyperlink. Applies to both visited and unvisited links.\"},{name:\":-moz-broken\",browsers:[\"FF3\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:-moz-broken\"}],description:\"Non-standard. Matches elements representing broken images.\"},{name:\":-moz-drag-over\",browsers:[\"FF1\"],description:\"Non-standard. Matches elements when a drag-over event applies to it.\"},{name:\":-moz-first-node\",browsers:[\"FF72\"],description:\"Non-standard. Represents an element that is the first child node of some other element.\"},{name:\":-moz-focusring\",browsers:[\"FF4\"],description:\"Non-standard. Matches an element that has focus and focus ring drawing is enabled in the browser.\"},{name:\":-moz-full-screen\",browsers:[\"FF9\"],description:\"Matches any element that has its fullscreen flag set. Standardized as :fullscreen.\"},{name:\":-moz-last-node\",browsers:[\"FF72\"],description:\"Non-standard. Represents an element that is the last child node of some other element.\"},{name:\":-moz-loading\",browsers:[\"FF3\"],description:\"Non-standard. Matches elements, such as images, that haven't started loading yet.\"},{name:\":-moz-only-whitespace\",browsers:[\"FF1\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:-moz-only-whitespace\"}],description:\"The same as :empty, except that it additionally matches elements that only contain code points affected by whitespace processing. Standardized as :blank.\"},{name:\":-moz-placeholder\",browsers:[\"FF4\"],description:\"Deprecated. Represents placeholder text in an input field. Use ::-moz-placeholder for Firefox 19+.\"},{name:\":-moz-submit-invalid\",browsers:[\"FF88\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:-moz-submit-invalid\"}],description:\"Non-standard. Represents any submit button when the contents of the associated form are not valid.\"},{name:\":-moz-suppressed\",browsers:[\"FF3\"],description:\"Non-standard. Matches elements representing images that have been blocked from loading.\"},{name:\":-moz-ui-invalid\",browsers:[\"FF4\"],description:\"Non-standard. Represents any validated form element whose value isn't valid \"},{name:\":-moz-ui-valid\",browsers:[\"FF4\"],description:\"Non-standard. Represents any validated form element whose value is valid \"},{name:\":-moz-user-disabled\",browsers:[\"FF3\"],description:\"Non-standard. Matches elements representing images that have been disabled due to the user's preferences.\"},{name:\":-moz-window-inactive\",browsers:[\"FF4\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:-moz-window-inactive\"}],description:\"Non-standard. Matches elements in an inactive window.\"},{name:\":-ms-fullscreen\",browsers:[\"IE11\"],description:\"Matches any element that has its fullscreen flag set.\"},{name:\":-ms-input-placeholder\",browsers:[\"IE10\"],description:\"Represents placeholder text in an input field. Note: for Edge use the pseudo-element ::-ms-input-placeholder. Standardized as ::placeholder.\"},{name:\":-ms-keyboard-active\",browsers:[\"IE10\"],description:\"Windows Store apps only. Applies one or more styles to an element when it has focus and the user presses the space bar.\"},{name:\":-ms-lang()\",browsers:[\"E\",\"IE10\"],description:\"Represents an element that is in the language specified. Accepts a comma separated list of language tokens.\"},{name:\":no-button\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to track pieces. Applies when there is no button at that end of the track.\"},{name:\":not()\",browsers:[\"E\",\"C\",\"FF1\",\"IE9\",\"O9.5\",\"S2\"],description:\"The negation pseudo-class, :not(X), is a functional notation taking a simple selector (excluding the negation pseudo-class itself) as an argument. It represents an element that is not represented by its argument.\"},{name:\":nth-child()\",browsers:[\"E\",\"C\",\"FF3.5\",\"IE9\",\"O9.5\",\"S3.1\"],description:\"Represents an element that has an+b-1 siblings before it in the document tree, for any positive integer or zero value of n, and has a parent element.\"},{name:\":nth-last-child()\",browsers:[\"E\",\"C\",\"FF3.5\",\"IE9\",\"O9.5\",\"S3.1\"],description:\"Represents an element that has an+b-1 siblings after it in the document tree, for any positive integer or zero value of n, and has a parent element.\"},{name:\":nth-last-of-type()\",browsers:[\"E\",\"C\",\"FF3.5\",\"IE9\",\"O9.5\",\"S3.1\"],description:\"Represents an element that has an+b-1 siblings with the same expanded element name after it in the document tree, for any zero or positive integer value of n, and has a parent element.\"},{name:\":nth-of-type()\",browsers:[\"E\",\"C\",\"FF3.5\",\"IE9\",\"O9.5\",\"S3.1\"],description:\"Represents an element that has an+b-1 siblings with the same expanded element name before it in the document tree, for any zero or positive integer value of n, and has a parent element.\"},{name:\":only-child\",browsers:[\"E12\",\"FF1.5\",\"S3.1\",\"C2\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:only-child\"}],description:\"Represents an element that has a parent element and whose parent element has no other element children. Same as :first-child:last-child or :nth-child(1):nth-last-child(1), but with a lower specificity.\"},{name:\":only-of-type\",browsers:[\"E12\",\"FF3.5\",\"S3.1\",\"C1\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:only-of-type\"}],description:\"Matches every element that is the only child of its type, of its parent. Same as :first-of-type:last-of-type or :nth-of-type(1):nth-last-of-type(1), but with a lower specificity.\"},{name:\":optional\",browsers:[\"E12\",\"FF4\",\"S5\",\"C10\",\"IE10\",\"O10\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:optional\"}],description:\"A form element is :required or :optional if a value for it is, respectively, required or optional before the form it belongs to is submitted. Elements that are not form elements are neither required nor optional.\"},{name:\":out-of-range\",browsers:[\"E13\",\"FF29\",\"S5.1\",\"C10\",\"O11\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:out-of-range\"}],description:\"Used in conjunction with the min and max attributes, whether on a range input, a number field, or any other types that accept those attributes.\"},{name:\":past\",browsers:[\"E79\",\"S7\",\"C23\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:past\"}],description:\"Represents any element that is defined to occur entirely prior to a :current element.\"},{name:\":read-only\",browsers:[\"E13\",\"FF78\",\"S4\",\"C1\",\"O9\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:read-only\"}],description:\"An element whose contents are not user-alterable is :read-only. However, elements whose contents are user-alterable (such as text input fields) are considered to be in a :read-write state. In typical documents, most elements are :read-only.\"},{name:\":read-write\",browsers:[\"E13\",\"FF78\",\"S4\",\"C1\",\"O9\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:read-write\"}],description:\"An element whose contents are not user-alterable is :read-only. However, elements whose contents are user-alterable (such as text input fields) are considered to be in a :read-write state. In typical documents, most elements are :read-only.\"},{name:\":required\",browsers:[\"E12\",\"FF4\",\"S5\",\"C10\",\"IE10\",\"O10\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:required\"}],description:\"A form element is :required or :optional if a value for it is, respectively, required or optional before the form it belongs to is submitted. Elements that are not form elements are neither required nor optional.\"},{name:\":right\",browsers:[\"E12\",\"S5\",\"C6\",\"IE8\",\"O9.2\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:right\"}],description:\"When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the  page context.\"},{name:\":root\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:root\"}],description:\"Represents an element that is the root of the document. In HTML 4, this is always the HTML element.\"},{name:\":scope\",browsers:[\"E79\",\"FF32\",\"S7\",\"C27\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:scope\"}],description:\"Represents any element that is in the contextual reference element set.\"},{name:\":single-button\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to buttons and track pieces. Applies when both buttons are displayed separately at either end of the scrollbar.\"},{name:\":start\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to buttons and track pieces. Indicates whether the object is placed before the thumb.\"},{name:\":target\",browsers:[\"E12\",\"FF1\",\"S1.3\",\"C1\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:target\"}],description:\"Some URIs refer to a location within a resource. This kind of URI ends with a 'number sign' (#) followed by an anchor identifier (called the fragment identifier).\"},{name:\":valid\",browsers:[\"E12\",\"FF4\",\"S5\",\"C10\",\"IE10\",\"O10\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:valid\"}],description:\"An element is :valid or :invalid when it is, respectively, valid or invalid with respect to data validity semantics defined by a different specification.\"},{name:\":vertical\",browsers:[\"C\",\"S5\"],description:\"Non-standard. Applies to any scrollbar pieces that have a vertical orientation.\"},{name:\":visited\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE4\",\"O3.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:visited\"}],description:\"Applies once the link has been visited by the user.\"},{name:\":-webkit-any()\",browsers:[\"C\",\"S5\"],description:\"Represents an element that is represented by the selector list passed as its argument. Standardized as :matches().\"},{name:\":-webkit-full-screen\",browsers:[\"C\",\"S6\"],description:\"Matches any element that has its fullscreen flag set. Standardized as :fullscreen.\"},{name:\":window-inactive\",browsers:[\"C\",\"S3\"],description:\"Non-standard. Applies to all scrollbar pieces. Indicates whether or not the window containing the scrollbar is currently active.\"},{name:\":current\",status:\"experimental\",description:\"The :current CSS pseudo-class selector is a time-dimensional pseudo-class that represents the element, or an ancestor of the element, that is currently being displayed\"},{name:\":blank\",status:\"experimental\",references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:blank\"}],description:\"The :blank CSS pseudo-class selects empty user input elements (eg. <input> or <textarea>).\"},{name:\":defined\",status:\"experimental\",browsers:[\"E79\",\"FF63\",\"S10\",\"C54\",\"O41\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:defined\"}],description:\"The :defined CSS pseudo-class represents any element that has been defined. This includes any standard element built in to the browser, and custom elements that have been successfully defined (i.e. with the CustomElementRegistry.define() method).\"},{name:\":dir\",browsers:[\"E120\",\"FF49\",\"S16.4\",\"C120\",\"O106\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:dir\"}],description:\"The :dir() CSS pseudo-class matches elements based on the directionality of the text contained in them.\"},{name:\":focus-visible\",browsers:[\"E86\",\"FF85\",\"S15.4\",\"C86\",\"O72\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:focus-visible\"}],description:\"The :focus-visible pseudo-class applies while an element matches the :focus pseudo-class and the UA determines via heuristics that the focus should be made evident on the element.\"},{name:\":focus-within\",browsers:[\"E79\",\"FF52\",\"S10.1\",\"C60\",\"O47\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:focus-within\"}],description:\"The :focus-within pseudo-class applies to any element for which the :focus pseudo class applies as well as to an element whose descendant in the flat tree (including non-element nodes, such as text nodes) matches the conditions for matching :focus.\"},{name:\":has\",status:\"experimental\",browsers:[\"E105\",\"FF121\",\"S15.4\",\"C105\",\"O91\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:has\"}],description:\":The :has() CSS pseudo-class represents an element if any of the selectors passed as parameters (relative to the :scope of the given element), match at least one element.\"},{name:\":is\",status:\"experimental\",browsers:[\"E88\",\"FF78\",\"S14\",\"C88\",\"O74\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:is\"}],description:\"The :is() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list. This is useful for writing large selectors in a more compact form.\"},{name:\":local-link\",status:\"experimental\",description:\"The :local-link CSS pseudo-class represents an link to the same document\"},{name:\":paused\",status:\"experimental\",browsers:[\"S15.4\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:paused\"}],description:\"The :paused CSS pseudo-class selector is a resource state pseudo-class that will match an audio, video, or similar resource that is capable of being \\u201Cplayed\\u201D or \\u201Cpaused\\u201D, when that element is \\u201Cpaused\\u201D.\"},{name:\":placeholder-shown\",status:\"experimental\",browsers:[\"E79\",\"FF51\",\"S9\",\"C47\",\"IE10\",\"O34\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:placeholder-shown\"}],description:\"The :placeholder-shown CSS pseudo-class represents any <input> or <textarea> element that is currently displaying placeholder text.\"},{name:\":playing\",status:\"experimental\",browsers:[\"S15.4\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:playing\"}],description:\"The :playing CSS pseudo-class selector is a resource state pseudo-class that will match an audio, video, or similar resource that is capable of being \\u201Cplayed\\u201D or \\u201Cpaused\\u201D, when that element is \\u201Cplaying\\u201D. \"},{name:\":target-within\",status:\"experimental\",references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:target-within\"}],description:\"The :target-within CSS pseudo-class represents an element that is a target element or contains an element that is a target. A target element is a unique element with an id matching the URL's fragment.\"},{name:\":user-invalid\",status:\"experimental\",browsers:[\"E119\",\"FF88\",\"S16.5\",\"C119\",\"O105\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:user-invalid\"}],description:\"The :user-invalid CSS pseudo-class represents any validated form element whose value isn't valid based on their validation constraints, after the user has interacted with it.\"},{name:\":user-valid\",status:\"experimental\",browsers:[\"E119\",\"FF88\",\"S16.5\",\"C119\",\"O105\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:user-valid\"}],description:\"The :user-valid CSS pseudo-class represents any validated form element whose value validates correctly based on its validation constraints. However, unlike :valid it only matches once the user has interacted with it.\"},{name:\":where\",status:\"experimental\",browsers:[\"E88\",\"FF78\",\"S14\",\"C88\",\"O74\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:where\"}],description:\"The :where() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list.\"},{name:\":picture-in-picture\",status:\"experimental\",browsers:[\"E110\",\"S13.1\",\"C110\",\"O96\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/:picture-in-picture\"}],description:\"The :picture-in-picture CSS pseudo-class matches the element which is currently in picture-in-picture mode.\"}],pseudoElements:[{name:\"::after\",browsers:[\"E12\",\"FF1.5\",\"S4\",\"C1\",\"IE9\",\"O7\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::after\"}],description:\"Represents a styleable child pseudo-element immediately after the originating element's actual content.\"},{name:\"::backdrop\",browsers:[\"E79\",\"FF47\",\"S15.4\",\"C37\",\"IE11\",\"O24\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::backdrop\"}],description:\"Used to create a backdrop that hides the underlying document for an element in a top layer (such as an element that is displayed fullscreen).\"},{name:\"::before\",browsers:[\"E12\",\"FF1.5\",\"S4\",\"C1\",\"IE9\",\"O7\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::before\"}],description:\"Represents a styleable child pseudo-element immediately before the originating element's actual content.\"},{name:\"::content\",browsers:[\"C35\",\"O22\"],description:\"Deprecated. Matches the distribution list itself, on elements that have one. Use ::slotted for forward compatibility.\"},{name:\"::cue\",browsers:[\"E79\",\"FF55\",\"S7\",\"C26\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::cue\"}]},{name:\"::cue()\",browsers:[\"C\",\"O16\",\"S6\"]},{name:\"::cue-region\",browsers:[\"C\",\"O16\",\"S6\"]},{name:\"::cue-region()\",browsers:[\"C\",\"O16\",\"S6\"]},{name:\"::first-letter\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE9\",\"O7\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::first-letter\"}],description:\"Represents the first letter of an element, if it is not preceded by any other content (such as images or inline tables) on its line.\"},{name:\"::first-line\",browsers:[\"E12\",\"FF1\",\"S1\",\"C1\",\"IE9\",\"O7\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::first-line\"}],description:\"Describes the contents of the first formatted line of its originating element.\"},{name:\"::-moz-focus-inner\",browsers:[\"FF72\"]},{name:\"::-moz-focus-outer\",browsers:[\"FF4\"]},{name:\"::-moz-list-bullet\",browsers:[\"FF72\"],description:\"Used to style the bullet of a list element. Similar to the standardized ::marker.\"},{name:\"::-moz-list-number\",browsers:[\"FF72\"],description:\"Used to style the numbers of a list element. Similar to the standardized ::marker.\"},{name:\"::-moz-placeholder\",browsers:[\"FF19\"],description:\"Represents placeholder text in an input field\"},{name:\"::-moz-progress-bar\",browsers:[\"FF72\"],description:\"Represents the bar portion of a progress bar.\"},{name:\"::-moz-selection\",browsers:[\"FF1\"],description:\"Represents the portion of a document that has been highlighted by the user.\"},{name:\"::-ms-backdrop\",browsers:[\"IE11\"],description:\"Used to create a backdrop that hides the underlying document for an element in a top layer (such as an element that is displayed fullscreen).\"},{name:\"::-ms-browse\",browsers:[\"E\",\"IE10\"],description:\"Represents the browse button of an input type=file control.\"},{name:\"::-ms-check\",browsers:[\"E\",\"IE10\"],description:\"Represents the check of a checkbox or radio button input control.\"},{name:\"::-ms-clear\",browsers:[\"E\",\"IE10\"],description:\"Represents the clear button of a text input control\"},{name:\"::-ms-expand\",browsers:[\"E\",\"IE10\"],description:\"Represents the drop-down button of a select control.\"},{name:\"::-ms-fill\",browsers:[\"E\",\"IE10\"],description:\"Represents the bar portion of a progress bar.\"},{name:\"::-ms-fill-lower\",browsers:[\"E\",\"IE10\"],description:\"Represents the portion of the slider track from its smallest value up to the value currently selected by the thumb. In a left-to-right layout, this is the portion of the slider track to the left of the thumb.\"},{name:\"::-ms-fill-upper\",browsers:[\"E\",\"IE10\"],description:\"Represents the portion of the slider track from the value currently selected by the thumb up to the slider's largest value. In a left-to-right layout, this is the portion of the slider track to the right of the thumb.\"},{name:\"::-ms-reveal\",browsers:[\"E\",\"IE10\"],description:\"Represents the password reveal button of an input type=password control.\"},{name:\"::-ms-thumb\",browsers:[\"E\",\"IE10\"],description:\"Represents the portion of range input control (also known as a slider control) that the user drags.\"},{name:\"::-ms-ticks-after\",browsers:[\"E\",\"IE10\"],description:\"Represents the tick marks of a slider that begin just after the thumb and continue up to the slider's largest value. In a left-to-right layout, these are the ticks to the right of the thumb.\"},{name:\"::-ms-ticks-before\",browsers:[\"E\",\"IE10\"],description:\"Represents the tick marks of a slider that represent its smallest values up to the value currently selected by the thumb. In a left-to-right layout, these are the ticks to the left of the thumb.\"},{name:\"::-ms-tooltip\",browsers:[\"E\",\"IE10\"],description:\"Represents the tooltip of a slider (input type=range).\"},{name:\"::-ms-track\",browsers:[\"E\",\"IE10\"],description:\"Represents the track of a slider.\"},{name:\"::-ms-value\",browsers:[\"E\",\"IE10\"],description:\"Represents the content of a text or password input control, or a select control.\"},{name:\"::selection\",browsers:[\"E12\",\"FF62\",\"S1.1\",\"C1\",\"IE9\",\"O9.5\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::selection\"}],description:\"Represents the portion of a document that has been highlighted by the user.\"},{name:\"::shadow\",browsers:[\"C35\",\"O22\"],description:\"Matches the shadow root if an element has a shadow tree.\"},{name:\"::-webkit-file-upload-button\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-inner-spin-button\",browsers:[\"E79\",\"S5\",\"C6\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-inner-spin-button\"}]},{name:\"::-webkit-input-placeholder\",browsers:[\"C\",\"S4\"]},{name:\"::-webkit-keygen-select\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-meter-bar\",browsers:[\"E79\",\"S5.1\",\"C12\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-bar\"}]},{name:\"::-webkit-meter-even-less-good-value\",browsers:[\"E79\",\"S5.1\",\"C12\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-even-less-good-value\"}]},{name:\"::-webkit-meter-optimum-value\",browsers:[\"E79\",\"S5.1\",\"C12\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-optimum-value\"}]},{name:\"::-webkit-meter-suboptimum-value\",browsers:[\"E79\",\"S5.1\",\"C12\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-suboptimum-value\"}]},{name:\"::-webkit-outer-spin-button\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-progress-bar\",browsers:[\"E79\",\"S7\",\"C25\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-bar\"}]},{name:\"::-webkit-progress-inner-element\",browsers:[\"E79\",\"S7\",\"C23\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-inner-element\"}]},{name:\"::-webkit-progress-value\",browsers:[\"E79\",\"S7\",\"C25\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-value\"}]},{name:\"::-webkit-resizer\",browsers:[\"E79\",\"S4\",\"C2\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar\"}]},{name:\"::-webkit-scrollbar\",browsers:[\"E79\",\"S4\",\"C2\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar\"}]},{name:\"::-webkit-scrollbar-button\",browsers:[\"E79\",\"S4\",\"C2\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar\"}]},{name:\"::-webkit-scrollbar-corner\",browsers:[\"E79\",\"S4\",\"C2\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar\"}]},{name:\"::-webkit-scrollbar-thumb\",browsers:[\"E79\",\"S4\",\"C2\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar\"}]},{name:\"::-webkit-scrollbar-track\",browsers:[\"E79\",\"S4\",\"C2\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar\"}]},{name:\"::-webkit-scrollbar-track-piece\",browsers:[\"E79\",\"S4\",\"C2\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar\"}]},{name:\"::-webkit-search-cancel-button\",browsers:[\"E79\",\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-search-cancel-button\"}]},{name:\"::-webkit-search-decoration\",browsers:[\"C\",\"S4\"]},{name:\"::-webkit-search-results-button\",browsers:[\"E79\",\"S3\",\"C1\",\"O15\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-webkit-search-results-button\"}]},{name:\"::-webkit-search-results-decoration\",browsers:[\"C\",\"S4\"]},{name:\"::-webkit-slider-runnable-track\",browsers:[\"E83\",\"C83\",\"O69\"]},{name:\"::-webkit-slider-thumb\",browsers:[\"E83\",\"C83\",\"O69\"]},{name:\"::-webkit-textfield-decoration-container\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-validation-bubble\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-validation-bubble-arrow\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-validation-bubble-arrow-clipper\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-validation-bubble-heading\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-validation-bubble-message\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::-webkit-validation-bubble-text-block\",browsers:[\"C\",\"O\",\"S6\"]},{name:\"::target-text\",status:\"experimental\",browsers:[\"E89\",\"C89\",\"O75\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::target-text\"}],description:\"The ::target-text CSS pseudo-element represents the text that has been scrolled to if the browser supports scroll-to-text fragments. It allows authors to choose how to highlight that section of text.\"},{name:\"::-moz-range-progress\",status:\"nonstandard\",browsers:[\"FF22\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-moz-range-progress\"}],description:'The ::-moz-range-progress CSS pseudo-element is a Mozilla extension that represents the lower portion of the track (i.e., groove) in which the indicator slides in an <input> of type=\"range\". This portion corresponds to values lower than the value currently selected by the thumb (i.e., virtual knob).'},{name:\"::-moz-range-thumb\",status:\"nonstandard\",browsers:[\"FF21\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-moz-range-thumb\"}],description:`The ::-moz-range-thumb CSS pseudo-element is a Mozilla extension that represents the thumb (i.e., virtual knob) of an <input> of type=\"range\". The user can move the thumb along the input's track to alter its numerical value.`},{name:\"::-moz-range-track\",status:\"nonstandard\",browsers:[\"FF21\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::-moz-range-track\"}],description:'The ::-moz-range-track CSS pseudo-element is a Mozilla extension that represents the track (i.e., groove) in which the indicator slides in an <input> of type=\"range\".'},{name:\"::-webkit-progress-inner-value\",status:\"nonstandard\",description:`The ::-webkit-progress-value CSS pseudo-element represents the filled-in portion of the bar of a <progress> element. It is a child of the ::-webkit-progress-bar pseudo-element.\n\nIn order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.`},{name:\"::grammar-error\",status:\"experimental\",browsers:[\"E121\",\"Spreview\",\"C121\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::grammar-error\"}],description:\"The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect.\"},{name:\"::marker\",browsers:[\"E86\",\"FF68\",\"S11.1\",\"C86\",\"O72\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::marker\"}],description:\"The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements.\"},{name:\"::part\",status:\"experimental\",browsers:[\"E79\",\"FF72\",\"S13.1\",\"C73\",\"O60\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::part\"}],description:\"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute.\"},{name:\"::placeholder\",browsers:[\"E79\",\"FF51\",\"S10.1\",\"C57\",\"O44\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::placeholder\"}],description:\"The ::placeholder CSS pseudo-element represents the placeholder text of a form element.\"},{name:\"::slotted\",browsers:[\"E79\",\"FF63\",\"S10\",\"C50\",\"O37\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::slotted\"}],description:\"The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template.\"},{name:\"::spelling-error\",status:\"experimental\",browsers:[\"E121\",\"Spreview\",\"C121\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::spelling-error\"}],description:\"The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled.\"},{name:\"::view-transition\",status:\"experimental\",browsers:[\"E109\",\"C109\",\"O95\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::view-transition\"}],description:\"The ::view-transition CSS pseudo-element represents the root of the view transitions overlay, which contains all view transitions and sits over the top of all other page content.\"},{name:\"::view-transition-group\",status:\"experimental\",browsers:[\"E109\",\"C109\",\"O95\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::view-transition-group\"}],description:\"The ::view-transition-group CSS pseudo-element represents a single view transition group.\"},{name:\"::view-transition-image-pair\",status:\"experimental\",browsers:[\"E109\",\"C109\",\"O95\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::view-transition-image-pair\"}],description:`The ::view-transition-image-pair CSS pseudo-element represents a container for a view transition's \"old\" and \"new\" view states \\u2014 before and after the transition.`},{name:\"::view-transition-new\",status:\"experimental\",browsers:[\"E109\",\"C109\",\"O95\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::view-transition-new\"}],description:'The ::view-transition-new CSS pseudo-element represents the \"new\" view state of a view transition \\u2014 a live representation of the new view, after the transition.'},{name:\"::view-transition-old\",status:\"experimental\",browsers:[\"E109\",\"C109\",\"O95\"],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/CSS/::view-transition-old\"}],description:'The ::view-transition-old CSS pseudo-element represents the \"old\" view state of a view transition \\u2014 a static screenshot of the old view, before the transition.'}]};var Ot=class{constructor(e){this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.addData(e)}provideProperties(){return this._properties}provideAtDirectives(){return this._atDirectives}providePseudoClasses(){return this._pseudoClasses}providePseudoElements(){return this._pseudoElements}addData(e){if(Array.isArray(e.properties))for(let t of e.properties)Ja(t)&&this._properties.push(t);if(Array.isArray(e.atDirectives))for(let t of e.atDirectives)Xa(t)&&this._atDirectives.push(t);if(Array.isArray(e.pseudoClasses))for(let t of e.pseudoClasses)Ya(t)&&this._pseudoClasses.push(t);if(Array.isArray(e.pseudoElements))for(let t of e.pseudoElements)Qa(t)&&this._pseudoElements.push(t)}};function Ja(n){return typeof n.name==\"string\"}function Xa(n){return typeof n.name==\"string\"}function Ya(n){return typeof n.name==\"string\"}function Qa(n){return typeof n.name==\"string\"}var Pt=class{constructor(e){this.dataProviders=[],this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.setDataProviders(e?.useDefaultDataProvider!==!1,e?.customDataProviders||[])}setDataProviders(e,t){this.dataProviders=[],e&&this.dataProviders.push(new Ot(Mi)),this.dataProviders.push(...t),this.collectData()}collectData(){this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this.dataProviders.forEach(e=>{e.provideProperties().forEach(t=>{this._propertySet[t.name]||(this._propertySet[t.name]=t)}),e.provideAtDirectives().forEach(t=>{this._atDirectiveSet[t.name]||(this._atDirectiveSet[t.name]=t)}),e.providePseudoClasses().forEach(t=>{this._pseudoClassSet[t.name]||(this._pseudoClassSet[t.name]=t)}),e.providePseudoElements().forEach(t=>{this._pseudoElementSet[t.name]||(this._pseudoElementSet[t.name]=t)})}),this._properties=Yt(this._propertySet),this._atDirectives=Yt(this._atDirectiveSet),this._pseudoClasses=Yt(this._pseudoClassSet),this._pseudoElements=Yt(this._pseudoElementSet)}getProperty(e){return this._propertySet[e]}getAtDirective(e){return this._atDirectiveSet[e]}getPseudoClass(e){return this._pseudoClassSet[e]}getPseudoElement(e){return this._pseudoElementSet[e]}getProperties(){return this._properties}getAtDirectives(){return this._atDirectives}getPseudoClasses(){return this._pseudoClasses}getPseudoElements(){return this._pseudoElements}isKnownProperty(e){return e.toLowerCase()in this._propertySet}isStandardProperty(e){return this.isKnownProperty(e)&&(!this._propertySet[e.toLowerCase()].status||this._propertySet[e.toLowerCase()].status===\"standard\")}};function bo(n,e,t){function r(s){let a=i(s),l;for(let o=a.length-1;o>=0;o--)l=kt.create(R.create(n.positionAt(a[o][0]),n.positionAt(a[o][1])),l);return l||(l=kt.create(R.create(s,s))),l}return e.map(r);function i(s){let a=n.offsetAt(s),l=t.findChildAtOffset(a,!0);if(!l)return[];let o=[];for(;l;){if(l.parent&&l.offset===l.parent.offset&&l.end===l.parent.end){l=l.parent;continue}l.type===m.Declarations&&a>l.offset&&a<l.end&&o.push([l.offset+1,l.end-1]),o.push([l.offset,l.end]),l=l.parent}return o}}var kr=class extends lt{constructor(e){super(e,!0)}isRawStringDocumentLinkNode(e){return super.isRawStringDocumentLinkNode(e)||e.type===m.Use||e.type===m.Forward}async mapReference(e,t){if(this.fileSystemProvider&&e&&t){let r=Za(e);for(let i of r)if(await this.fileExists(i))return i}return e}async resolveReference(e,t,r,i=!1){if(!V(e,\"sass:\"))return super.resolveReference(e,t,r,i)}};function Za(n){if(n.endsWith(\".css\"))return[n];if(n.endsWith(\"/\"))return[n+\"index.scss\",n+\"_index.scss\"];let e=Zt.parse(n.replace(/\\.scss$/,\"\")),t=Fe.basename(e),r=Fe.dirname(e);return t.startsWith(\"_\")?[Fe.joinPath(r,t+\".scss\").toString(!0)]:[Fe.joinPath(r,t+\".scss\").toString(!0),Fe.joinPath(r,\"_\"+t+\".scss\").toString(!0),n+\"/index.scss\",n+\"/_index.scss\",Fe.joinPath(r,t+\".css\").toString(!0)]}function wo(n){return new Ot(n)}function Ti(n,e,t,r,i,s,a){return{configure:l=>{s.configure(l),e.configure(l?.completion),t.configure(l?.hover),r.configure(l?.importAliases)},setDataProviders:a.setDataProviders.bind(a),doValidation:s.doValidation.bind(s),parseStylesheet:n.parseStylesheet.bind(n),doComplete:e.doComplete.bind(e),doComplete2:e.doComplete2.bind(e),setCompletionParticipants:e.setCompletionParticipants.bind(e),doHover:t.doHover.bind(t),format:go,findDefinition:r.findDefinition.bind(r),findReferences:r.findReferences.bind(r),findDocumentHighlights:r.findDocumentHighlights.bind(r),findDocumentLinks:r.findDocumentLinks.bind(r),findDocumentLinks2:r.findDocumentLinks2.bind(r),findDocumentSymbols:r.findSymbolInformations.bind(r),findDocumentSymbols2:r.findDocumentSymbols.bind(r),doCodeActions:i.doCodeActions.bind(i),doCodeActions2:i.doCodeActions2.bind(i),findDocumentColors:r.findDocumentColors.bind(r),getColorPresentations:r.getColorPresentations.bind(r),prepareRename:r.prepareRename.bind(r),doRename:r.doRename.bind(r),getFoldingRanges:co,getSelectionRanges:bo}}var Ni={};function vo(n=Ni){let e=new Pt(n);return Ti(new ke,new Xe(null,n,e),new _t(n&&n.clientCapabilities,e),new lt(n&&n.fileSystemProvider,!1),new Dt(e),new Rt(e),e)}function yo(n=Ni){let e=new Pt(n);return Ti(new xr,new we(n,e),new _t(n&&n.clientCapabilities,e),new kr(n&&n.fileSystemProvider),new Dt(e),new Rt(e),e)}function xo(n=Ni){let e=new Pt(n);return Ti(new Cr,new Nt(n,e),new _t(n&&n.clientCapabilities,e),new lt(n&&n.fileSystemProvider,!0),new Dt(e),new Rt(e),e)}var Fr=class{constructor(e,t){this._ctx=e,this._languageSettings=t.options,this._languageId=t.languageId;let r=t.options.data,i=r?.useDefaultDataProvider,s=[];if(r?.dataProviders)for(let l in r.dataProviders)s.push(wo(r.dataProviders[l]));let a={customDataProviders:s,useDefaultDataProvider:i};switch(this._languageId){case\"css\":this._languageService=vo(a);break;case\"less\":this._languageService=xo(a);break;case\"scss\":this._languageService=yo(a);break;default:throw new Error(\"Invalid language id: \"+this._languageId)}this._languageService.configure(this._languageSettings)}async doValidation(e){let t=this._getTextDocument(e);if(t){let r=this._languageService.parseStylesheet(t),i=this._languageService.doValidation(t,r);return Promise.resolve(i)}return Promise.resolve([])}async doComplete(e,t){let r=this._getTextDocument(e);if(!r)return null;let i=this._languageService.parseStylesheet(r),s=this._languageService.doComplete(r,t,i);return Promise.resolve(s)}async doHover(e,t){let r=this._getTextDocument(e);if(!r)return null;let i=this._languageService.parseStylesheet(r),s=this._languageService.doHover(r,t,i);return Promise.resolve(s)}async findDefinition(e,t){let r=this._getTextDocument(e);if(!r)return null;let i=this._languageService.parseStylesheet(r),s=this._languageService.findDefinition(r,t,i);return Promise.resolve(s)}async findReferences(e,t){let r=this._getTextDocument(e);if(!r)return[];let i=this._languageService.parseStylesheet(r),s=this._languageService.findReferences(r,t,i);return Promise.resolve(s)}async findDocumentHighlights(e,t){let r=this._getTextDocument(e);if(!r)return[];let i=this._languageService.parseStylesheet(r),s=this._languageService.findDocumentHighlights(r,t,i);return Promise.resolve(s)}async findDocumentSymbols(e){let t=this._getTextDocument(e);if(!t)return[];let r=this._languageService.parseStylesheet(t),i=this._languageService.findDocumentSymbols(t,r);return Promise.resolve(i)}async doCodeActions(e,t,r){let i=this._getTextDocument(e);if(!i)return[];let s=this._languageService.parseStylesheet(i),a=this._languageService.doCodeActions(i,t,r,s);return Promise.resolve(a)}async findDocumentColors(e){let t=this._getTextDocument(e);if(!t)return[];let r=this._languageService.parseStylesheet(t),i=this._languageService.findDocumentColors(t,r);return Promise.resolve(i)}async getColorPresentations(e,t,r){let i=this._getTextDocument(e);if(!i)return[];let s=this._languageService.parseStylesheet(i),a=this._languageService.getColorPresentations(i,s,t,r);return Promise.resolve(a)}async getFoldingRanges(e,t){let r=this._getTextDocument(e);if(!r)return[];let i=this._languageService.getFoldingRanges(r,t);return Promise.resolve(i)}async getSelectionRanges(e,t){let r=this._getTextDocument(e);if(!r)return[];let i=this._languageService.parseStylesheet(r),s=this._languageService.getSelectionRanges(r,t,i);return Promise.resolve(s)}async doRename(e,t,r){let i=this._getTextDocument(e);if(!i)return null;let s=this._languageService.parseStylesheet(i),a=this._languageService.doRename(i,t,r,s);return Promise.resolve(a)}async format(e,t,r){let i=this._getTextDocument(e);if(!i)return[];let s={...this._languageSettings.format,...r},a=this._languageService.format(i,t,s);return Promise.resolve(a)}_getTextDocument(e){let t=this._ctx.getMirrorModels();for(let r of t)if(r.uri.toString()===e)return Jt.create(e,this._languageId,r.version,r.getValue());return null}};function tl(n,e){return new Fr(n,e)}return Ro(nl);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/language/html/htmlMode.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/html/htmlMode\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var _t=Object.create;var O=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var wt=Object.getPrototypeOf,Et=Object.prototype.hasOwnProperty;var Lt=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(n,i)=>(typeof require<\"u\"?require:n)[i]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var Rt=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),Pt=(e,n)=>{for(var i in n)O(e,i,{get:n[i],enumerable:!0})},N=(e,n,i,r)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let t of Ct(n))!Et.call(e,t)&&t!==i&&O(e,t,{get:()=>n[t],enumerable:!(r=bt(n,t))||r.enumerable});return e},he=(e,n,i)=>(N(e,n,\"default\"),i&&N(i,n,\"default\")),xe=(e,n,i)=>(i=e!=null?_t(wt(e)):{},N(n||!e||!e.__esModule?O(i,\"default\",{value:e,enumerable:!0}):i,e)),Wt=e=>N(O({},\"__esModule\",{value:!0}),e);var ye=Rt((Jt,ve)=>{var Dt=xe(Lt(\"vs/editor/editor.api\"));ve.exports=Dt});var Qt={};Pt(Qt,{CompletionAdapter:()=>U,DefinitionAdapter:()=>ge,DiagnosticsAdapter:()=>le,DocumentColorAdapter:()=>pe,DocumentFormattingEditProvider:()=>A,DocumentHighlightAdapter:()=>W,DocumentLinkAdapter:()=>M,DocumentRangeFormattingEditProvider:()=>S,DocumentSymbolAdapter:()=>F,FoldingRangeAdapter:()=>H,HoverAdapter:()=>P,ReferenceAdapter:()=>fe,RenameAdapter:()=>D,SelectionRangeAdapter:()=>K,WorkerManager:()=>T,fromPosition:()=>I,fromRange:()=>me,setupMode:()=>qt,setupMode1:()=>Bt,toRange:()=>v,toTextEdit:()=>R});var d={};he(d,xe(ye()));var Ft=2*60*1e3,T=class{constructor(n){this._defaults=n,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>Ft&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=d.editor.createWebWorker({moduleId:\"vs/language/html/htmlWorker\",createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...n){let i;return this._getClient().then(r=>{i=r}).then(r=>{if(this._worker)return this._worker.withSyncedResources(n)}).then(r=>i)}};var ke;(function(e){function n(i){return typeof i==\"string\"}e.is=n})(ke||(ke={}));var J;(function(e){function n(i){return typeof i==\"string\"}e.is=n})(J||(J={}));var Ie;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function n(i){return typeof i==\"number\"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(Ie||(Ie={}));var V;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function n(i){return typeof i==\"number\"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(V||(V={}));var k;(function(e){function n(r,t){return r===Number.MAX_VALUE&&(r=V.MAX_VALUE),t===Number.MAX_VALUE&&(t=V.MAX_VALUE),{line:r,character:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.uinteger(t.line)&&a.uinteger(t.character)}e.is=i})(k||(k={}));var m;(function(e){function n(r,t,o,s){if(a.uinteger(r)&&a.uinteger(t)&&a.uinteger(o)&&a.uinteger(s))return{start:k.create(r,t),end:k.create(o,s)};if(k.is(r)&&k.is(t))return{start:r,end:t};throw new Error(`Range#create called with invalid arguments[${r}, ${t}, ${o}, ${s}]`)}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&k.is(t.start)&&k.is(t.end)}e.is=i})(m||(m={}));var z;(function(e){function n(r,t){return{uri:r,range:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&m.is(t.range)&&(a.string(t.uri)||a.undefined(t.uri))}e.is=i})(z||(z={}));var Te;(function(e){function n(r,t,o,s){return{targetUri:r,targetRange:t,targetSelectionRange:o,originSelectionRange:s}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&m.is(t.targetRange)&&a.string(t.targetUri)&&m.is(t.targetSelectionRange)&&(m.is(t.originSelectionRange)||a.undefined(t.originSelectionRange))}e.is=i})(Te||(Te={}));var Y;(function(e){function n(r,t,o,s){return{red:r,green:t,blue:o,alpha:s}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.numberRange(t.red,0,1)&&a.numberRange(t.green,0,1)&&a.numberRange(t.blue,0,1)&&a.numberRange(t.alpha,0,1)}e.is=i})(Y||(Y={}));var _e;(function(e){function n(r,t){return{range:r,color:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&m.is(t.range)&&Y.is(t.color)}e.is=i})(_e||(_e={}));var be;(function(e){function n(r,t,o){return{label:r,textEdit:t,additionalTextEdits:o}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.string(t.label)&&(a.undefined(t.textEdit)||w.is(t))&&(a.undefined(t.additionalTextEdits)||a.typedArray(t.additionalTextEdits,w.is))}e.is=i})(be||(be={}));var b;(function(e){e.Comment=\"comment\",e.Imports=\"imports\",e.Region=\"region\"})(b||(b={}));var Ce;(function(e){function n(r,t,o,s,u,g){let f={startLine:r,endLine:t};return a.defined(o)&&(f.startCharacter=o),a.defined(s)&&(f.endCharacter=s),a.defined(u)&&(f.kind=u),a.defined(g)&&(f.collapsedText=g),f}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.uinteger(t.startLine)&&a.uinteger(t.startLine)&&(a.undefined(t.startCharacter)||a.uinteger(t.startCharacter))&&(a.undefined(t.endCharacter)||a.uinteger(t.endCharacter))&&(a.undefined(t.kind)||a.string(t.kind))}e.is=i})(Ce||(Ce={}));var Z;(function(e){function n(r,t){return{location:r,message:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&z.is(t.location)&&a.string(t.message)}e.is=i})(Z||(Z={}));var _;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(_||(_={}));var we;(function(e){e.Unnecessary=1,e.Deprecated=2})(we||(we={}));var Ee;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&a.string(r.href)}e.is=n})(Ee||(Ee={}));var X;(function(e){function n(r,t,o,s,u,g){let f={range:r,message:t};return a.defined(o)&&(f.severity=o),a.defined(s)&&(f.code=s),a.defined(u)&&(f.source=u),a.defined(g)&&(f.relatedInformation=g),f}e.create=n;function i(r){var t;let o=r;return a.defined(o)&&m.is(o.range)&&a.string(o.message)&&(a.number(o.severity)||a.undefined(o.severity))&&(a.integer(o.code)||a.string(o.code)||a.undefined(o.code))&&(a.undefined(o.codeDescription)||a.string((t=o.codeDescription)===null||t===void 0?void 0:t.href))&&(a.string(o.source)||a.undefined(o.source))&&(a.undefined(o.relatedInformation)||a.typedArray(o.relatedInformation,Z.is))}e.is=i})(X||(X={}));var C;(function(e){function n(r,t,...o){let s={title:r,command:t};return a.defined(o)&&o.length>0&&(s.arguments=o),s}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.title)&&a.string(t.command)}e.is=i})(C||(C={}));var w;(function(e){function n(o,s){return{range:o,newText:s}}e.replace=n;function i(o,s){return{range:{start:o,end:o},newText:s}}e.insert=i;function r(o){return{range:o,newText:\"\"}}e.del=r;function t(o){let s=o;return a.objectLiteral(s)&&a.string(s.newText)&&m.is(s.range)}e.is=t})(w||(w={}));var ee;(function(e){function n(r,t,o){let s={label:r};return t!==void 0&&(s.needsConfirmation=t),o!==void 0&&(s.description=o),s}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&a.string(t.label)&&(a.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(a.string(t.description)||t.description===void 0)}e.is=i})(ee||(ee={}));var E;(function(e){function n(i){let r=i;return a.string(r)}e.is=n})(E||(E={}));var Le;(function(e){function n(o,s,u){return{range:o,newText:s,annotationId:u}}e.replace=n;function i(o,s,u){return{range:{start:o,end:o},newText:s,annotationId:u}}e.insert=i;function r(o,s){return{range:o,newText:\"\",annotationId:s}}e.del=r;function t(o){let s=o;return w.is(s)&&(ee.is(s.annotationId)||E.is(s.annotationId))}e.is=t})(Le||(Le={}));var te;(function(e){function n(r,t){return{textDocument:r,edits:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&se.is(t.textDocument)&&Array.isArray(t.edits)}e.is=i})(te||(te={}));var ne;(function(e){function n(r,t,o){let s={kind:\"create\",uri:r};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(s.options=t),o!==void 0&&(s.annotationId=o),s}e.create=n;function i(r){let t=r;return t&&t.kind===\"create\"&&a.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||a.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||a.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(ne||(ne={}));var re;(function(e){function n(r,t,o,s){let u={kind:\"rename\",oldUri:r,newUri:t};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(u.options=o),s!==void 0&&(u.annotationId=s),u}e.create=n;function i(r){let t=r;return t&&t.kind===\"rename\"&&a.string(t.oldUri)&&a.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||a.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||a.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(re||(re={}));var ie;(function(e){function n(r,t,o){let s={kind:\"delete\",uri:r};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(s.options=t),o!==void 0&&(s.annotationId=o),s}e.create=n;function i(r){let t=r;return t&&t.kind===\"delete\"&&a.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||a.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||a.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=i})(ie||(ie={}));var oe;(function(e){function n(i){let r=i;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(t=>a.string(t.kind)?ne.is(t)||re.is(t)||ie.is(t):te.is(t)))}e.is=n})(oe||(oe={}));var Re;(function(e){function n(r){return{uri:r}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)}e.is=i})(Re||(Re={}));var Pe;(function(e){function n(r,t){return{uri:r,version:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&a.integer(t.version)}e.is=i})(Pe||(Pe={}));var se;(function(e){function n(r,t){return{uri:r,version:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&(t.version===null||a.integer(t.version))}e.is=i})(se||(se={}));var We;(function(e){function n(r,t,o,s){return{uri:r,languageId:t,version:o,text:s}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.string(t.uri)&&a.string(t.languageId)&&a.integer(t.version)&&a.string(t.text)}e.is=i})(We||(We={}));var ae;(function(e){e.PlainText=\"plaintext\",e.Markdown=\"markdown\";function n(i){let r=i;return r===e.PlainText||r===e.Markdown}e.is=n})(ae||(ae={}));var j;(function(e){function n(i){let r=i;return a.objectLiteral(i)&&ae.is(r.kind)&&a.string(r.value)}e.is=n})(j||(j={}));var h;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(h||(h={}));var $;(function(e){e.PlainText=1,e.Snippet=2})($||($={}));var De;(function(e){e.Deprecated=1})(De||(De={}));var Fe;(function(e){function n(r,t,o){return{newText:r,insert:t,replace:o}}e.create=n;function i(r){let t=r;return t&&a.string(t.newText)&&m.is(t.insert)&&m.is(t.replace)}e.is=i})(Fe||(Fe={}));var Me;(function(e){e.asIs=1,e.adjustIndentation=2})(Me||(Me={}));var Ae;(function(e){function n(i){let r=i;return r&&(a.string(r.detail)||r.detail===void 0)&&(a.string(r.description)||r.description===void 0)}e.is=n})(Ae||(Ae={}));var Se;(function(e){function n(i){return{label:i}}e.create=n})(Se||(Se={}));var He;(function(e){function n(i,r){return{items:i||[],isIncomplete:!!r}}e.create=n})(He||(He={}));var B;(function(e){function n(r){return r.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}e.fromPlainText=n;function i(r){let t=r;return a.string(t)||a.objectLiteral(t)&&a.string(t.language)&&a.string(t.value)}e.is=i})(B||(B={}));var Ke;(function(e){function n(i){let r=i;return!!r&&a.objectLiteral(r)&&(j.is(r.contents)||B.is(r.contents)||a.typedArray(r.contents,B.is))&&(i.range===void 0||m.is(i.range))}e.is=n})(Ke||(Ke={}));var je;(function(e){function n(i,r){return r?{label:i,documentation:r}:{label:i}}e.create=n})(je||(je={}));var Ue;(function(e){function n(i,r,...t){let o={label:i};return a.defined(r)&&(o.documentation=r),a.defined(t)?o.parameters=t:o.parameters=[],o}e.create=n})(Ue||(Ue={}));var L;(function(e){e.Text=1,e.Read=2,e.Write=3})(L||(L={}));var Ne;(function(e){function n(i,r){let t={range:i};return a.number(r)&&(t.kind=r),t}e.create=n})(Ne||(Ne={}));var x;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(x||(x={}));var Oe;(function(e){e.Deprecated=1})(Oe||(Oe={}));var Ve;(function(e){function n(i,r,t,o,s){let u={name:i,kind:r,location:{uri:o,range:t}};return s&&(u.containerName=s),u}e.create=n})(Ve||(Ve={}));var ze;(function(e){function n(i,r,t,o){return o!==void 0?{name:i,kind:r,location:{uri:t,range:o}}:{name:i,kind:r,location:{uri:t}}}e.create=n})(ze||(ze={}));var Xe;(function(e){function n(r,t,o,s,u,g){let f={name:r,detail:t,kind:o,range:s,selectionRange:u};return g!==void 0&&(f.children=g),f}e.create=n;function i(r){let t=r;return t&&a.string(t.name)&&a.number(t.kind)&&m.is(t.range)&&m.is(t.selectionRange)&&(t.detail===void 0||a.string(t.detail))&&(t.deprecated===void 0||a.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=i})(Xe||(Xe={}));var $e;(function(e){e.Empty=\"\",e.QuickFix=\"quickfix\",e.Refactor=\"refactor\",e.RefactorExtract=\"refactor.extract\",e.RefactorInline=\"refactor.inline\",e.RefactorRewrite=\"refactor.rewrite\",e.Source=\"source\",e.SourceOrganizeImports=\"source.organizeImports\",e.SourceFixAll=\"source.fixAll\"})($e||($e={}));var q;(function(e){e.Invoked=1,e.Automatic=2})(q||(q={}));var Be;(function(e){function n(r,t,o){let s={diagnostics:r};return t!=null&&(s.only=t),o!=null&&(s.triggerKind=o),s}e.create=n;function i(r){let t=r;return a.defined(t)&&a.typedArray(t.diagnostics,X.is)&&(t.only===void 0||a.typedArray(t.only,a.string))&&(t.triggerKind===void 0||t.triggerKind===q.Invoked||t.triggerKind===q.Automatic)}e.is=i})(Be||(Be={}));var qe;(function(e){function n(r,t,o){let s={title:r},u=!0;return typeof t==\"string\"?(u=!1,s.kind=t):C.is(t)?s.command=t:s.edit=t,u&&o!==void 0&&(s.kind=o),s}e.create=n;function i(r){let t=r;return t&&a.string(t.title)&&(t.diagnostics===void 0||a.typedArray(t.diagnostics,X.is))&&(t.kind===void 0||a.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||C.is(t.command))&&(t.isPreferred===void 0||a.boolean(t.isPreferred))&&(t.edit===void 0||oe.is(t.edit))}e.is=i})(qe||(qe={}));var Qe;(function(e){function n(r,t){let o={range:r};return a.defined(t)&&(o.data=t),o}e.create=n;function i(r){let t=r;return a.defined(t)&&m.is(t.range)&&(a.undefined(t.command)||C.is(t.command))}e.is=i})(Qe||(Qe={}));var Ge;(function(e){function n(r,t){return{tabSize:r,insertSpaces:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&a.uinteger(t.tabSize)&&a.boolean(t.insertSpaces)}e.is=i})(Ge||(Ge={}));var Je;(function(e){function n(r,t,o){return{range:r,target:t,data:o}}e.create=n;function i(r){let t=r;return a.defined(t)&&m.is(t.range)&&(a.undefined(t.target)||a.string(t.target))}e.is=i})(Je||(Je={}));var Ye;(function(e){function n(r,t){return{range:r,parent:t}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&m.is(t.range)&&(t.parent===void 0||e.is(t.parent))}e.is=i})(Ye||(Ye={}));var Ze;(function(e){e.namespace=\"namespace\",e.type=\"type\",e.class=\"class\",e.enum=\"enum\",e.interface=\"interface\",e.struct=\"struct\",e.typeParameter=\"typeParameter\",e.parameter=\"parameter\",e.variable=\"variable\",e.property=\"property\",e.enumMember=\"enumMember\",e.event=\"event\",e.function=\"function\",e.method=\"method\",e.macro=\"macro\",e.keyword=\"keyword\",e.modifier=\"modifier\",e.comment=\"comment\",e.string=\"string\",e.number=\"number\",e.regexp=\"regexp\",e.operator=\"operator\",e.decorator=\"decorator\"})(Ze||(Ze={}));var et;(function(e){e.declaration=\"declaration\",e.definition=\"definition\",e.readonly=\"readonly\",e.static=\"static\",e.deprecated=\"deprecated\",e.abstract=\"abstract\",e.async=\"async\",e.modification=\"modification\",e.documentation=\"documentation\",e.defaultLibrary=\"defaultLibrary\"})(et||(et={}));var tt;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId==\"string\")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]==\"number\")}e.is=n})(tt||(tt={}));var nt;(function(e){function n(r,t){return{range:r,text:t}}e.create=n;function i(r){let t=r;return t!=null&&m.is(t.range)&&a.string(t.text)}e.is=i})(nt||(nt={}));var rt;(function(e){function n(r,t,o){return{range:r,variableName:t,caseSensitiveLookup:o}}e.create=n;function i(r){let t=r;return t!=null&&m.is(t.range)&&a.boolean(t.caseSensitiveLookup)&&(a.string(t.variableName)||t.variableName===void 0)}e.is=i})(rt||(rt={}));var it;(function(e){function n(r,t){return{range:r,expression:t}}e.create=n;function i(r){let t=r;return t!=null&&m.is(t.range)&&(a.string(t.expression)||t.expression===void 0)}e.is=i})(it||(it={}));var ot;(function(e){function n(r,t){return{frameId:r,stoppedLocation:t}}e.create=n;function i(r){let t=r;return a.defined(t)&&m.is(r.stoppedLocation)}e.is=i})(ot||(ot={}));var ue;(function(e){e.Type=1,e.Parameter=2;function n(i){return i===1||i===2}e.is=n})(ue||(ue={}));var de;(function(e){function n(r){return{value:r}}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&(t.tooltip===void 0||a.string(t.tooltip)||j.is(t.tooltip))&&(t.location===void 0||z.is(t.location))&&(t.command===void 0||C.is(t.command))}e.is=i})(de||(de={}));var st;(function(e){function n(r,t,o){let s={position:r,label:t};return o!==void 0&&(s.kind=o),s}e.create=n;function i(r){let t=r;return a.objectLiteral(t)&&k.is(t.position)&&(a.string(t.label)||a.typedArray(t.label,de.is))&&(t.kind===void 0||ue.is(t.kind))&&t.textEdits===void 0||a.typedArray(t.textEdits,w.is)&&(t.tooltip===void 0||a.string(t.tooltip)||j.is(t.tooltip))&&(t.paddingLeft===void 0||a.boolean(t.paddingLeft))&&(t.paddingRight===void 0||a.boolean(t.paddingRight))}e.is=i})(st||(st={}));var at;(function(e){function n(i){return{kind:\"snippet\",value:i}}e.createSnippet=n})(at||(at={}));var ut;(function(e){function n(i,r,t,o){return{insertText:i,filterText:r,range:t,command:o}}e.create=n})(ut||(ut={}));var dt;(function(e){function n(i){return{items:i}}e.create=n})(dt||(dt={}));var ct;(function(e){e.Invoked=0,e.Automatic=1})(ct||(ct={}));var lt;(function(e){function n(i,r){return{range:i,text:r}}e.create=n})(lt||(lt={}));var gt;(function(e){function n(i,r){return{triggerKind:i,selectedCompletionInfo:r}}e.create=n})(gt||(gt={}));var ft;(function(e){function n(i){let r=i;return a.objectLiteral(r)&&J.is(r.uri)&&a.string(r.name)}e.is=n})(ft||(ft={}));var pt;(function(e){function n(o,s,u,g){return new ce(o,s,u,g)}e.create=n;function i(o){let s=o;return!!(a.defined(s)&&a.string(s.uri)&&(a.undefined(s.languageId)||a.string(s.languageId))&&a.uinteger(s.lineCount)&&a.func(s.getText)&&a.func(s.positionAt)&&a.func(s.offsetAt))}e.is=i;function r(o,s){let u=o.getText(),g=t(s,(l,p)=>{let y=l.range.start.line-p.range.start.line;return y===0?l.range.start.character-p.range.start.character:y}),f=u.length;for(let l=g.length-1;l>=0;l--){let p=g[l],y=o.offsetAt(p.range.start),c=o.offsetAt(p.range.end);if(c<=f)u=u.substring(0,y)+p.newText+u.substring(c,u.length);else throw new Error(\"Overlapping edit\");f=y}return u}e.applyEdits=r;function t(o,s){if(o.length<=1)return o;let u=o.length/2|0,g=o.slice(0,u),f=o.slice(u);t(g,s),t(f,s);let l=0,p=0,y=0;for(;l<g.length&&p<f.length;)s(g[l],f[p])<=0?o[y++]=g[l++]:o[y++]=f[p++];for(;l<g.length;)o[y++]=g[l++];for(;p<f.length;)o[y++]=f[p++];return o}})(pt||(pt={}));var ce=class{constructor(n,i,r,t){this._uri=n,this._languageId=i,this._version=r,this._content=t,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(n){if(n){let i=this.offsetAt(n.start),r=this.offsetAt(n.end);return this._content.substring(i,r)}return this._content}update(n,i){this._content=n.text,this._version=i,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let n=[],i=this._content,r=!0;for(let t=0;t<i.length;t++){r&&(n.push(t),r=!1);let o=i.charAt(t);r=o===\"\\r\"||o===`\n`,o===\"\\r\"&&t+1<i.length&&i.charAt(t+1)===`\n`&&t++}r&&i.length>0&&n.push(i.length),this._lineOffsets=n}return this._lineOffsets}positionAt(n){n=Math.max(Math.min(n,this._content.length),0);let i=this.getLineOffsets(),r=0,t=i.length;if(t===0)return k.create(0,n);for(;r<t;){let s=Math.floor((r+t)/2);i[s]>n?t=s:r=s+1}let o=r-1;return k.create(o,n-i[o])}offsetAt(n){let i=this.getLineOffsets();if(n.line>=i.length)return this._content.length;if(n.line<0)return 0;let r=i[n.line],t=n.line+1<i.length?i[n.line+1]:this._content.length;return Math.max(Math.min(r+n.character,t),r)}get lineCount(){return this.getLineOffsets().length}},a;(function(e){let n=Object.prototype.toString;function i(c){return typeof c<\"u\"}e.defined=i;function r(c){return typeof c>\"u\"}e.undefined=r;function t(c){return c===!0||c===!1}e.boolean=t;function o(c){return n.call(c)===\"[object String]\"}e.string=o;function s(c){return n.call(c)===\"[object Number]\"}e.number=s;function u(c,G,Tt){return n.call(c)===\"[object Number]\"&&G<=c&&c<=Tt}e.numberRange=u;function g(c){return n.call(c)===\"[object Number]\"&&-2147483648<=c&&c<=2147483647}e.integer=g;function f(c){return n.call(c)===\"[object Number]\"&&0<=c&&c<=2147483647}e.uinteger=f;function l(c){return n.call(c)===\"[object Function]\"}e.func=l;function p(c){return c!==null&&typeof c==\"object\"}e.objectLiteral=p;function y(c,G){return Array.isArray(c)&&c.every(G)}e.typedArray=y})(a||(a={}));var le=class{constructor(n,i,r){this._languageId=n;this._worker=i;this._disposables=[];this._listener=Object.create(null);let t=s=>{let u=s.getLanguageId();if(u!==this._languageId)return;let g;this._listener[s.uri.toString()]=s.onDidChangeContent(()=>{window.clearTimeout(g),g=window.setTimeout(()=>this._doValidate(s.uri,u),500)}),this._doValidate(s.uri,u)},o=s=>{d.editor.setModelMarkers(s,this._languageId,[]);let u=s.uri.toString(),g=this._listener[u];g&&(g.dispose(),delete this._listener[u])};this._disposables.push(d.editor.onDidCreateModel(t)),this._disposables.push(d.editor.onWillDisposeModel(o)),this._disposables.push(d.editor.onDidChangeModelLanguage(s=>{o(s.model),t(s.model)})),this._disposables.push(r(s=>{d.editor.getModels().forEach(u=>{u.getLanguageId()===this._languageId&&(o(u),t(u))})})),this._disposables.push({dispose:()=>{d.editor.getModels().forEach(o);for(let s in this._listener)this._listener[s].dispose()}}),d.editor.getModels().forEach(t)}dispose(){this._disposables.forEach(n=>n&&n.dispose()),this._disposables.length=0}_doValidate(n,i){this._worker(n).then(r=>r.doValidation(n.toString())).then(r=>{let t=r.map(s=>St(n,s)),o=d.editor.getModel(n);o&&o.getLanguageId()===i&&d.editor.setModelMarkers(o,i,t)}).then(void 0,r=>{console.error(r)})}};function At(e){switch(e){case _.Error:return d.MarkerSeverity.Error;case _.Warning:return d.MarkerSeverity.Warning;case _.Information:return d.MarkerSeverity.Info;case _.Hint:return d.MarkerSeverity.Hint;default:return d.MarkerSeverity.Info}}function St(e,n){let i=typeof n.code==\"number\"?String(n.code):n.code;return{severity:At(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:i,source:n.source}}var U=class{constructor(n,i){this._worker=n;this._triggerCharacters=i}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.doComplete(o.toString(),I(i))).then(s=>{if(!s)return;let u=n.getWordUntilPosition(i),g=new d.Range(i.lineNumber,u.startColumn,i.lineNumber,u.endColumn),f=s.items.map(l=>{let p={label:l.label,insertText:l.insertText||l.label,sortText:l.sortText,filterText:l.filterText,documentation:l.documentation,detail:l.detail,command:jt(l.command),range:g,kind:Kt(l.kind)};return l.textEdit&&(Ht(l.textEdit)?p.range={insert:v(l.textEdit.insert),replace:v(l.textEdit.replace)}:p.range=v(l.textEdit.range),p.insertText=l.textEdit.newText),l.additionalTextEdits&&(p.additionalTextEdits=l.additionalTextEdits.map(R)),l.insertTextFormat===$.Snippet&&(p.insertTextRules=d.languages.CompletionItemInsertTextRule.InsertAsSnippet),p});return{isIncomplete:s.isIncomplete,suggestions:f}})}};function I(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function me(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function v(e){if(e)return new d.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function Ht(e){return typeof e.insert<\"u\"&&typeof e.replace<\"u\"}function Kt(e){let n=d.languages.CompletionItemKind;switch(e){case h.Text:return n.Text;case h.Method:return n.Method;case h.Function:return n.Function;case h.Constructor:return n.Constructor;case h.Field:return n.Field;case h.Variable:return n.Variable;case h.Class:return n.Class;case h.Interface:return n.Interface;case h.Module:return n.Module;case h.Property:return n.Property;case h.Unit:return n.Unit;case h.Value:return n.Value;case h.Enum:return n.Enum;case h.Keyword:return n.Keyword;case h.Snippet:return n.Snippet;case h.Color:return n.Color;case h.File:return n.File;case h.Reference:return n.Reference}return n.Property}function R(e){if(e)return{range:v(e.range),text:e.newText}}function jt(e){return e&&e.command===\"editor.action.triggerSuggest\"?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var P=class{constructor(n){this._worker=n}provideHover(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.doHover(t.toString(),I(i))).then(o=>{if(o)return{range:v(o.range),contents:Nt(o.contents)}})}};function Ut(e){return e&&typeof e==\"object\"&&typeof e.kind==\"string\"}function mt(e){return typeof e==\"string\"?{value:e}:Ut(e)?e.kind===\"plaintext\"?{value:e.value.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}:{value:e.value}:{value:\"```\"+e.language+`\n`+e.value+\"\\n```\\n\"}}function Nt(e){if(e)return Array.isArray(e)?e.map(mt):[mt(e)]}var W=class{constructor(n){this._worker=n}provideDocumentHighlights(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.findDocumentHighlights(t.toString(),I(i))).then(o=>{if(o)return o.map(s=>({range:v(s.range),kind:Ot(s.kind)}))})}};function Ot(e){switch(e){case L.Read:return d.languages.DocumentHighlightKind.Read;case L.Write:return d.languages.DocumentHighlightKind.Write;case L.Text:return d.languages.DocumentHighlightKind.Text}return d.languages.DocumentHighlightKind.Text}var ge=class{constructor(n){this._worker=n}provideDefinition(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.findDefinition(t.toString(),I(i))).then(o=>{if(o)return[ht(o)]})}};function ht(e){return{uri:d.Uri.parse(e.uri),range:v(e.range)}}var fe=class{constructor(n){this._worker=n}provideReferences(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.findReferences(o.toString(),I(i))).then(s=>{if(s)return s.map(ht)})}},D=class{constructor(n){this._worker=n}provideRenameEdits(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.doRename(o.toString(),I(i),r)).then(s=>Vt(s))}};function Vt(e){if(!e||!e.changes)return;let n=[];for(let i in e.changes){let r=d.Uri.parse(i);for(let t of e.changes[i])n.push({resource:r,versionId:void 0,textEdit:{range:v(t.range),text:t.newText}})}return{edits:n}}var F=class{constructor(n){this._worker=n}provideDocumentSymbols(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentSymbols(r.toString())).then(t=>{if(t)return t.map(o=>zt(o)?xt(o):{name:o.name,detail:\"\",containerName:o.containerName,kind:vt(o.kind),range:v(o.location.range),selectionRange:v(o.location.range),tags:[]})})}};function zt(e){return\"children\"in e}function xt(e){return{name:e.name,detail:e.detail??\"\",kind:vt(e.kind),range:v(e.range),selectionRange:v(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(n=>xt(n))}}function vt(e){let n=d.languages.SymbolKind;switch(e){case x.File:return n.File;case x.Module:return n.Module;case x.Namespace:return n.Namespace;case x.Package:return n.Package;case x.Class:return n.Class;case x.Method:return n.Method;case x.Property:return n.Property;case x.Field:return n.Field;case x.Constructor:return n.Constructor;case x.Enum:return n.Enum;case x.Interface:return n.Interface;case x.Function:return n.Function;case x.Variable:return n.Variable;case x.Constant:return n.Constant;case x.String:return n.String;case x.Number:return n.Number;case x.Boolean:return n.Boolean;case x.Array:return n.Array}return n.Function}var M=class{constructor(n){this._worker=n}provideLinks(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentLinks(r.toString())).then(t=>{if(t)return{links:t.map(o=>({range:v(o.range),url:o.target}))}})}},A=class{constructor(n){this._worker=n}provideDocumentFormattingEdits(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.format(t.toString(),null,yt(i)).then(s=>{if(!(!s||s.length===0))return s.map(R)}))}},S=class{constructor(n){this._worker=n;this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(n,i,r,t){let o=n.uri;return this._worker(o).then(s=>s.format(o.toString(),me(i),yt(r)).then(u=>{if(!(!u||u.length===0))return u.map(R)}))}};function yt(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var pe=class{constructor(n){this._worker=n}provideDocumentColors(n,i){let r=n.uri;return this._worker(r).then(t=>t.findDocumentColors(r.toString())).then(t=>{if(t)return t.map(o=>({color:o.color,range:v(o.range)}))})}provideColorPresentations(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getColorPresentations(t.toString(),i.color,me(i.range))).then(o=>{if(o)return o.map(s=>{let u={label:s.label};return s.textEdit&&(u.textEdit=R(s.textEdit)),s.additionalTextEdits&&(u.additionalTextEdits=s.additionalTextEdits.map(R)),u})})}},H=class{constructor(n){this._worker=n}provideFoldingRanges(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getFoldingRanges(t.toString(),i)).then(o=>{if(o)return o.map(s=>{let u={start:s.startLine+1,end:s.endLine+1};return typeof s.kind<\"u\"&&(u.kind=Xt(s.kind)),u})})}};function Xt(e){switch(e){case b.Comment:return d.languages.FoldingRangeKind.Comment;case b.Imports:return d.languages.FoldingRangeKind.Imports;case b.Region:return d.languages.FoldingRangeKind.Region}}var K=class{constructor(n){this._worker=n}provideSelectionRanges(n,i,r){let t=n.uri;return this._worker(t).then(o=>o.getSelectionRanges(t.toString(),i.map(I))).then(o=>{if(o)return o.map(s=>{let u=[];for(;s;)u.push({range:v(s.range)}),s=s.parent;return u})})}};var Q=class extends U{constructor(n){super(n,[\".\",\":\",\"<\",'\"',\"=\",\"/\"])}};function Bt(e){let n=new T(e),i=(...t)=>n.getLanguageServiceWorker(...t),r=e.languageId;d.languages.registerCompletionItemProvider(r,new Q(i)),d.languages.registerHoverProvider(r,new P(i)),d.languages.registerDocumentHighlightProvider(r,new W(i)),d.languages.registerLinkProvider(r,new M(i)),d.languages.registerFoldingRangeProvider(r,new H(i)),d.languages.registerDocumentSymbolProvider(r,new F(i)),d.languages.registerSelectionRangeProvider(r,new K(i)),d.languages.registerRenameProvider(r,new D(i)),r===\"html\"&&(d.languages.registerDocumentFormattingEditProvider(r,new A(i)),d.languages.registerDocumentRangeFormattingEditProvider(r,new S(i)))}function qt(e){let n=[],i=[],r=new T(e);n.push(r);let t=(...s)=>r.getLanguageServiceWorker(...s);function o(){let{languageId:s,modeConfiguration:u}=e;It(i),u.completionItems&&i.push(d.languages.registerCompletionItemProvider(s,new Q(t))),u.hovers&&i.push(d.languages.registerHoverProvider(s,new P(t))),u.documentHighlights&&i.push(d.languages.registerDocumentHighlightProvider(s,new W(t))),u.links&&i.push(d.languages.registerLinkProvider(s,new M(t))),u.documentSymbols&&i.push(d.languages.registerDocumentSymbolProvider(s,new F(t))),u.rename&&i.push(d.languages.registerRenameProvider(s,new D(t))),u.foldingRanges&&i.push(d.languages.registerFoldingRangeProvider(s,new H(t))),u.selectionRanges&&i.push(d.languages.registerSelectionRangeProvider(s,new K(t))),u.documentFormattingEdits&&i.push(d.languages.registerDocumentFormattingEditProvider(s,new A(t))),u.documentRangeFormattingEdits&&i.push(d.languages.registerDocumentRangeFormattingEditProvider(s,new S(t)))}return o(),n.push(kt(i)),kt(n)}function kt(e){return{dispose:()=>It(e)}}function It(e){for(;e.length;)e.pop().dispose()}return Wt(Qt);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/language/html/htmlWorker.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/html/htmlWorker\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var Fe=Object.defineProperty;var Rn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var Hn=Object.prototype.hasOwnProperty;var In=(t,n)=>{for(var o in n)Fe(t,o,{get:n[o],enumerable:!0})},Wn=(t,n,o,a)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let e of zn(n))!Hn.call(t,e)&&e!==o&&Fe(t,e,{get:()=>n[e],enumerable:!(a=Rn(n,e))||a.enumerable});return t};var Un=t=>Wn(Fe({},\"__esModule\",{value:!0}),t);var Ei={};In(Ei,{HTMLWorker:()=>Ne,create:()=>Di});var On;function J(...t){let n=t[0],o,a,e;if(typeof n==\"string\")o=n,a=n,t.splice(0,1),e=!t||typeof t[0]!=\"object\"?t:t[0];else if(n instanceof Array){let u=t.slice(1);if(n.length!==u.length+1)throw new Error(\"expected a string as the first argument to l10n.t\");let c=n[0];for(let i=1;i<n.length;i++)c+=`{${i-1}}`+n[i];return J(c,...u)}else a=n.message,o=a,n.comment&&n.comment.length>0&&(o+=`/${Array.isArray(n.comment)?n.comment.join(\"\"):n.comment}`),e=n.args??{};let r=On?.[o];return r?typeof r==\"string\"?Te(r,e):r.comment?Te(r.message,e):Te(a,e):Te(a,e)}var Bn=/{([^}]+)}/g;function Te(t,n){return Object.keys(n).length===0?t:t.replace(Bn,(o,a)=>n[a]??o)}var qe;(function(t){function n(o){return typeof o==\"string\"}t.is=n})(qe||(qe={}));var je;(function(t){function n(o){return typeof o==\"string\"}t.is=n})(je||(je={}));var kt;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function n(o){return typeof o==\"number\"&&t.MIN_VALUE<=o&&o<=t.MAX_VALUE}t.is=n})(kt||(kt={}));var ke;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function n(o){return typeof o==\"number\"&&t.MIN_VALUE<=o&&o<=t.MAX_VALUE}t.is=n})(ke||(ke={}));var q;(function(t){function n(a,e){return a===Number.MAX_VALUE&&(a=ke.MAX_VALUE),e===Number.MAX_VALUE&&(e=ke.MAX_VALUE),{line:a,character:e}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.uinteger(e.line)&&w.uinteger(e.character)}t.is=o})(q||(q={}));var W;(function(t){function n(a,e,r,u){if(w.uinteger(a)&&w.uinteger(e)&&w.uinteger(r)&&w.uinteger(u))return{start:q.create(a,e),end:q.create(r,u)};if(q.is(a)&&q.is(e))return{start:a,end:e};throw new Error(`Range#create called with invalid arguments[${a}, ${e}, ${r}, ${u}]`)}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&q.is(e.start)&&q.is(e.end)}t.is=o})(W||(W={}));var me;(function(t){function n(a,e){return{uri:a,range:e}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&W.is(e.range)&&(w.string(e.uri)||w.undefined(e.uri))}t.is=o})(me||(me={}));var St;(function(t){function n(a,e,r,u){return{targetUri:a,targetRange:e,targetSelectionRange:r,originSelectionRange:u}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&W.is(e.targetRange)&&w.string(e.targetUri)&&W.is(e.targetSelectionRange)&&(W.is(e.originSelectionRange)||w.undefined(e.originSelectionRange))}t.is=o})(St||(St={}));var Se;(function(t){function n(a,e,r,u){return{red:a,green:e,blue:r,alpha:u}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.numberRange(e.red,0,1)&&w.numberRange(e.green,0,1)&&w.numberRange(e.blue,0,1)&&w.numberRange(e.alpha,0,1)}t.is=o})(Se||(Se={}));var Ge;(function(t){function n(a,e){return{range:a,color:e}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&W.is(e.range)&&Se.is(e.color)}t.is=o})(Ge||(Ge={}));var Ve;(function(t){function n(a,e,r){return{label:a,textEdit:e,additionalTextEdits:r}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.string(e.label)&&(w.undefined(e.textEdit)||G.is(e))&&(w.undefined(e.additionalTextEdits)||w.typedArray(e.additionalTextEdits,G.is))}t.is=o})(Ve||(Ve={}));var oe;(function(t){t.Comment=\"comment\",t.Imports=\"imports\",t.Region=\"region\"})(oe||(oe={}));var $e;(function(t){function n(a,e,r,u,c,i){let s={startLine:a,endLine:e};return w.defined(r)&&(s.startCharacter=r),w.defined(u)&&(s.endCharacter=u),w.defined(c)&&(s.kind=c),w.defined(i)&&(s.collapsedText=i),s}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.uinteger(e.startLine)&&w.uinteger(e.startLine)&&(w.undefined(e.startCharacter)||w.uinteger(e.startCharacter))&&(w.undefined(e.endCharacter)||w.uinteger(e.endCharacter))&&(w.undefined(e.kind)||w.string(e.kind))}t.is=o})($e||($e={}));var Je;(function(t){function n(a,e){return{location:a,message:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&me.is(e.location)&&w.string(e.message)}t.is=o})(Je||(Je={}));var At;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(At||(At={}));var xt;(function(t){t.Unnecessary=1,t.Deprecated=2})(xt||(xt={}));var Dt;(function(t){function n(o){let a=o;return w.objectLiteral(a)&&w.string(a.href)}t.is=n})(Dt||(Dt={}));var fe;(function(t){function n(a,e,r,u,c,i){let s={range:a,message:e};return w.defined(r)&&(s.severity=r),w.defined(u)&&(s.code=u),w.defined(c)&&(s.source=c),w.defined(i)&&(s.relatedInformation=i),s}t.create=n;function o(a){var e;let r=a;return w.defined(r)&&W.is(r.range)&&w.string(r.message)&&(w.number(r.severity)||w.undefined(r.severity))&&(w.integer(r.code)||w.string(r.code)||w.undefined(r.code))&&(w.undefined(r.codeDescription)||w.string((e=r.codeDescription)===null||e===void 0?void 0:e.href))&&(w.string(r.source)||w.undefined(r.source))&&(w.undefined(r.relatedInformation)||w.typedArray(r.relatedInformation,Je.is))}t.is=o})(fe||(fe={}));var ne;(function(t){function n(a,e,...r){let u={title:a,command:e};return w.defined(r)&&r.length>0&&(u.arguments=r),u}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.title)&&w.string(e.command)}t.is=o})(ne||(ne={}));var G;(function(t){function n(r,u){return{range:r,newText:u}}t.replace=n;function o(r,u){return{range:{start:r,end:r},newText:u}}t.insert=o;function a(r){return{range:r,newText:\"\"}}t.del=a;function e(r){let u=r;return w.objectLiteral(u)&&w.string(u.newText)&&W.is(u.range)}t.is=e})(G||(G={}));var Xe;(function(t){function n(a,e,r){let u={label:a};return e!==void 0&&(u.needsConfirmation=e),r!==void 0&&(u.description=r),u}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&w.string(e.label)&&(w.boolean(e.needsConfirmation)||e.needsConfirmation===void 0)&&(w.string(e.description)||e.description===void 0)}t.is=o})(Xe||(Xe={}));var se;(function(t){function n(o){let a=o;return w.string(a)}t.is=n})(se||(se={}));var Et;(function(t){function n(r,u,c){return{range:r,newText:u,annotationId:c}}t.replace=n;function o(r,u,c){return{range:{start:r,end:r},newText:u,annotationId:c}}t.insert=o;function a(r,u){return{range:r,newText:\"\",annotationId:u}}t.del=a;function e(r){let u=r;return G.is(u)&&(Xe.is(u.annotationId)||se.is(u.annotationId))}t.is=e})(Et||(Et={}));var Ye;(function(t){function n(a,e){return{textDocument:a,edits:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&et.is(e.textDocument)&&Array.isArray(e.edits)}t.is=o})(Ye||(Ye={}));var Qe;(function(t){function n(a,e,r){let u={kind:\"create\",uri:a};return e!==void 0&&(e.overwrite!==void 0||e.ignoreIfExists!==void 0)&&(u.options=e),r!==void 0&&(u.annotationId=r),u}t.create=n;function o(a){let e=a;return e&&e.kind===\"create\"&&w.string(e.uri)&&(e.options===void 0||(e.options.overwrite===void 0||w.boolean(e.options.overwrite))&&(e.options.ignoreIfExists===void 0||w.boolean(e.options.ignoreIfExists)))&&(e.annotationId===void 0||se.is(e.annotationId))}t.is=o})(Qe||(Qe={}));var Ze;(function(t){function n(a,e,r,u){let c={kind:\"rename\",oldUri:a,newUri:e};return r!==void 0&&(r.overwrite!==void 0||r.ignoreIfExists!==void 0)&&(c.options=r),u!==void 0&&(c.annotationId=u),c}t.create=n;function o(a){let e=a;return e&&e.kind===\"rename\"&&w.string(e.oldUri)&&w.string(e.newUri)&&(e.options===void 0||(e.options.overwrite===void 0||w.boolean(e.options.overwrite))&&(e.options.ignoreIfExists===void 0||w.boolean(e.options.ignoreIfExists)))&&(e.annotationId===void 0||se.is(e.annotationId))}t.is=o})(Ze||(Ze={}));var Ke;(function(t){function n(a,e,r){let u={kind:\"delete\",uri:a};return e!==void 0&&(e.recursive!==void 0||e.ignoreIfNotExists!==void 0)&&(u.options=e),r!==void 0&&(u.annotationId=r),u}t.create=n;function o(a){let e=a;return e&&e.kind===\"delete\"&&w.string(e.uri)&&(e.options===void 0||(e.options.recursive===void 0||w.boolean(e.options.recursive))&&(e.options.ignoreIfNotExists===void 0||w.boolean(e.options.ignoreIfNotExists)))&&(e.annotationId===void 0||se.is(e.annotationId))}t.is=o})(Ke||(Ke={}));var Ae;(function(t){function n(o){let a=o;return a&&(a.changes!==void 0||a.documentChanges!==void 0)&&(a.documentChanges===void 0||a.documentChanges.every(e=>w.string(e.kind)?Qe.is(e)||Ze.is(e)||Ke.is(e):Ye.is(e)))}t.is=n})(Ae||(Ae={}));var Ct;(function(t){function n(a){return{uri:a}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.uri)}t.is=o})(Ct||(Ct={}));var Lt;(function(t){function n(a,e){return{uri:a,version:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.uri)&&w.integer(e.version)}t.is=o})(Lt||(Lt={}));var et;(function(t){function n(a,e){return{uri:a,version:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.uri)&&(e.version===null||w.integer(e.version))}t.is=o})(et||(et={}));var Mt;(function(t){function n(a,e,r,u){return{uri:a,languageId:e,version:r,text:u}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.string(e.uri)&&w.string(e.languageId)&&w.integer(e.version)&&w.string(e.text)}t.is=o})(Mt||(Mt={}));var Q;(function(t){t.PlainText=\"plaintext\",t.Markdown=\"markdown\";function n(o){let a=o;return a===t.PlainText||a===t.Markdown}t.is=n})(Q||(Q={}));var le;(function(t){function n(o){let a=o;return w.objectLiteral(o)&&Q.is(a.kind)&&w.string(a.value)}t.is=n})(le||(le={}));var $;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})($||($={}));var X;(function(t){t.PlainText=1,t.Snippet=2})(X||(X={}));var tt;(function(t){t.Deprecated=1})(tt||(tt={}));var nt;(function(t){function n(a,e,r){return{newText:a,insert:e,replace:r}}t.create=n;function o(a){let e=a;return e&&w.string(e.newText)&&W.is(e.insert)&&W.is(e.replace)}t.is=o})(nt||(nt={}));var it;(function(t){t.asIs=1,t.adjustIndentation=2})(it||(it={}));var Rt;(function(t){function n(o){let a=o;return a&&(w.string(a.detail)||a.detail===void 0)&&(w.string(a.description)||a.description===void 0)}t.is=n})(Rt||(Rt={}));var rt;(function(t){function n(o){return{label:o}}t.create=n})(rt||(rt={}));var at;(function(t){function n(o,a){return{items:o||[],isIncomplete:!!a}}t.create=n})(at||(at={}));var ge;(function(t){function n(a){return a.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}t.fromPlainText=n;function o(a){let e=a;return w.string(e)||w.objectLiteral(e)&&w.string(e.language)&&w.string(e.value)}t.is=o})(ge||(ge={}));var ot;(function(t){function n(o){let a=o;return!!a&&w.objectLiteral(a)&&(le.is(a.contents)||ge.is(a.contents)||w.typedArray(a.contents,ge.is))&&(o.range===void 0||W.is(o.range))}t.is=n})(ot||(ot={}));var zt;(function(t){function n(o,a){return a?{label:o,documentation:a}:{label:o}}t.create=n})(zt||(zt={}));var Ht;(function(t){function n(o,a,...e){let r={label:o};return w.defined(a)&&(r.documentation=a),w.defined(e)?r.parameters=e:r.parameters=[],r}t.create=n})(Ht||(Ht={}));var ue;(function(t){t.Text=1,t.Read=2,t.Write=3})(ue||(ue={}));var st;(function(t){function n(o,a){let e={range:o};return w.number(a)&&(e.kind=a),e}t.create=n})(st||(st={}));var be;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(be||(be={}));var It;(function(t){t.Deprecated=1})(It||(It={}));var we;(function(t){function n(o,a,e,r,u){let c={name:o,kind:a,location:{uri:r,range:e}};return u&&(c.containerName=u),c}t.create=n})(we||(we={}));var Wt;(function(t){function n(o,a,e,r){return r!==void 0?{name:o,kind:a,location:{uri:e,range:r}}:{name:o,kind:a,location:{uri:e}}}t.create=n})(Wt||(Wt={}));var _e;(function(t){function n(a,e,r,u,c,i){let s={name:a,detail:e,kind:r,range:u,selectionRange:c};return i!==void 0&&(s.children=i),s}t.create=n;function o(a){let e=a;return e&&w.string(e.name)&&w.number(e.kind)&&W.is(e.range)&&W.is(e.selectionRange)&&(e.detail===void 0||w.string(e.detail))&&(e.deprecated===void 0||w.boolean(e.deprecated))&&(e.children===void 0||Array.isArray(e.children))&&(e.tags===void 0||Array.isArray(e.tags))}t.is=o})(_e||(_e={}));var Ut;(function(t){t.Empty=\"\",t.QuickFix=\"quickfix\",t.Refactor=\"refactor\",t.RefactorExtract=\"refactor.extract\",t.RefactorInline=\"refactor.inline\",t.RefactorRewrite=\"refactor.rewrite\",t.Source=\"source\",t.SourceOrganizeImports=\"source.organizeImports\",t.SourceFixAll=\"source.fixAll\"})(Ut||(Ut={}));var xe;(function(t){t.Invoked=1,t.Automatic=2})(xe||(xe={}));var Ot;(function(t){function n(a,e,r){let u={diagnostics:a};return e!=null&&(u.only=e),r!=null&&(u.triggerKind=r),u}t.create=n;function o(a){let e=a;return w.defined(e)&&w.typedArray(e.diagnostics,fe.is)&&(e.only===void 0||w.typedArray(e.only,w.string))&&(e.triggerKind===void 0||e.triggerKind===xe.Invoked||e.triggerKind===xe.Automatic)}t.is=o})(Ot||(Ot={}));var Bt;(function(t){function n(a,e,r){let u={title:a},c=!0;return typeof e==\"string\"?(c=!1,u.kind=e):ne.is(e)?u.command=e:u.edit=e,c&&r!==void 0&&(u.kind=r),u}t.create=n;function o(a){let e=a;return e&&w.string(e.title)&&(e.diagnostics===void 0||w.typedArray(e.diagnostics,fe.is))&&(e.kind===void 0||w.string(e.kind))&&(e.edit!==void 0||e.command!==void 0)&&(e.command===void 0||ne.is(e.command))&&(e.isPreferred===void 0||w.boolean(e.isPreferred))&&(e.edit===void 0||Ae.is(e.edit))}t.is=o})(Bt||(Bt={}));var Nt;(function(t){function n(a,e){let r={range:a};return w.defined(e)&&(r.data=e),r}t.create=n;function o(a){let e=a;return w.defined(e)&&W.is(e.range)&&(w.undefined(e.command)||ne.is(e.command))}t.is=o})(Nt||(Nt={}));var lt;(function(t){function n(a,e){return{tabSize:a,insertSpaces:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&w.uinteger(e.tabSize)&&w.boolean(e.insertSpaces)}t.is=o})(lt||(lt={}));var ut;(function(t){function n(a,e,r){return{range:a,target:e,data:r}}t.create=n;function o(a){let e=a;return w.defined(e)&&W.is(e.range)&&(w.undefined(e.target)||w.string(e.target))}t.is=o})(ut||(ut={}));var ce;(function(t){function n(a,e){return{range:a,parent:e}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&W.is(e.range)&&(e.parent===void 0||t.is(e.parent))}t.is=o})(ce||(ce={}));var Ft;(function(t){t.namespace=\"namespace\",t.type=\"type\",t.class=\"class\",t.enum=\"enum\",t.interface=\"interface\",t.struct=\"struct\",t.typeParameter=\"typeParameter\",t.parameter=\"parameter\",t.variable=\"variable\",t.property=\"property\",t.enumMember=\"enumMember\",t.event=\"event\",t.function=\"function\",t.method=\"method\",t.macro=\"macro\",t.keyword=\"keyword\",t.modifier=\"modifier\",t.comment=\"comment\",t.string=\"string\",t.number=\"number\",t.regexp=\"regexp\",t.operator=\"operator\",t.decorator=\"decorator\"})(Ft||(Ft={}));var Pt;(function(t){t.declaration=\"declaration\",t.definition=\"definition\",t.readonly=\"readonly\",t.static=\"static\",t.deprecated=\"deprecated\",t.abstract=\"abstract\",t.async=\"async\",t.modification=\"modification\",t.documentation=\"documentation\",t.defaultLibrary=\"defaultLibrary\"})(Pt||(Pt={}));var qt;(function(t){function n(o){let a=o;return w.objectLiteral(a)&&(a.resultId===void 0||typeof a.resultId==\"string\")&&Array.isArray(a.data)&&(a.data.length===0||typeof a.data[0]==\"number\")}t.is=n})(qt||(qt={}));var jt;(function(t){function n(a,e){return{range:a,text:e}}t.create=n;function o(a){let e=a;return e!=null&&W.is(e.range)&&w.string(e.text)}t.is=o})(jt||(jt={}));var Gt;(function(t){function n(a,e,r){return{range:a,variableName:e,caseSensitiveLookup:r}}t.create=n;function o(a){let e=a;return e!=null&&W.is(e.range)&&w.boolean(e.caseSensitiveLookup)&&(w.string(e.variableName)||e.variableName===void 0)}t.is=o})(Gt||(Gt={}));var Vt;(function(t){function n(a,e){return{range:a,expression:e}}t.create=n;function o(a){let e=a;return e!=null&&W.is(e.range)&&(w.string(e.expression)||e.expression===void 0)}t.is=o})(Vt||(Vt={}));var $t;(function(t){function n(a,e){return{frameId:a,stoppedLocation:e}}t.create=n;function o(a){let e=a;return w.defined(e)&&W.is(a.stoppedLocation)}t.is=o})($t||($t={}));var ct;(function(t){t.Type=1,t.Parameter=2;function n(o){return o===1||o===2}t.is=n})(ct||(ct={}));var ht;(function(t){function n(a){return{value:a}}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&(e.tooltip===void 0||w.string(e.tooltip)||le.is(e.tooltip))&&(e.location===void 0||me.is(e.location))&&(e.command===void 0||ne.is(e.command))}t.is=o})(ht||(ht={}));var Jt;(function(t){function n(a,e,r){let u={position:a,label:e};return r!==void 0&&(u.kind=r),u}t.create=n;function o(a){let e=a;return w.objectLiteral(e)&&q.is(e.position)&&(w.string(e.label)||w.typedArray(e.label,ht.is))&&(e.kind===void 0||ct.is(e.kind))&&e.textEdits===void 0||w.typedArray(e.textEdits,G.is)&&(e.tooltip===void 0||w.string(e.tooltip)||le.is(e.tooltip))&&(e.paddingLeft===void 0||w.boolean(e.paddingLeft))&&(e.paddingRight===void 0||w.boolean(e.paddingRight))}t.is=o})(Jt||(Jt={}));var Xt;(function(t){function n(o){return{kind:\"snippet\",value:o}}t.createSnippet=n})(Xt||(Xt={}));var Yt;(function(t){function n(o,a,e,r){return{insertText:o,filterText:a,range:e,command:r}}t.create=n})(Yt||(Yt={}));var Qt;(function(t){function n(o){return{items:o}}t.create=n})(Qt||(Qt={}));var Zt;(function(t){t.Invoked=0,t.Automatic=1})(Zt||(Zt={}));var Kt;(function(t){function n(o,a){return{range:o,text:a}}t.create=n})(Kt||(Kt={}));var en;(function(t){function n(o,a){return{triggerKind:o,selectedCompletionInfo:a}}t.create=n})(en||(en={}));var tn;(function(t){function n(o){let a=o;return w.objectLiteral(a)&&je.is(a.uri)&&w.string(a.name)}t.is=n})(tn||(tn={}));var nn;(function(t){function n(r,u,c,i){return new dt(r,u,c,i)}t.create=n;function o(r){let u=r;return!!(w.defined(u)&&w.string(u.uri)&&(w.undefined(u.languageId)||w.string(u.languageId))&&w.uinteger(u.lineCount)&&w.func(u.getText)&&w.func(u.positionAt)&&w.func(u.offsetAt))}t.is=o;function a(r,u){let c=r.getText(),i=e(u,(l,h)=>{let p=l.range.start.line-h.range.start.line;return p===0?l.range.start.character-h.range.start.character:p}),s=c.length;for(let l=i.length-1;l>=0;l--){let h=i[l],p=r.offsetAt(h.range.start),m=r.offsetAt(h.range.end);if(m<=s)c=c.substring(0,p)+h.newText+c.substring(m,c.length);else throw new Error(\"Overlapping edit\");s=p}return c}t.applyEdits=a;function e(r,u){if(r.length<=1)return r;let c=r.length/2|0,i=r.slice(0,c),s=r.slice(c);e(i,u),e(s,u);let l=0,h=0,p=0;for(;l<i.length&&h<s.length;)u(i[l],s[h])<=0?r[p++]=i[l++]:r[p++]=s[h++];for(;l<i.length;)r[p++]=i[l++];for(;h<s.length;)r[p++]=s[h++];return r}})(nn||(nn={}));var dt=class{constructor(n,o,a,e){this._uri=n,this._languageId=o,this._version=a,this._content=e,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(n){if(n){let o=this.offsetAt(n.start),a=this.offsetAt(n.end);return this._content.substring(o,a)}return this._content}update(n,o){this._content=n.text,this._version=o,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let n=[],o=this._content,a=!0;for(let e=0;e<o.length;e++){a&&(n.push(e),a=!1);let r=o.charAt(e);a=r===\"\\r\"||r===`\n`,r===\"\\r\"&&e+1<o.length&&o.charAt(e+1)===`\n`&&e++}a&&o.length>0&&n.push(o.length),this._lineOffsets=n}return this._lineOffsets}positionAt(n){n=Math.max(Math.min(n,this._content.length),0);let o=this.getLineOffsets(),a=0,e=o.length;if(e===0)return q.create(0,n);for(;a<e;){let u=Math.floor((a+e)/2);o[u]>n?e=u:a=u+1}let r=a-1;return q.create(r,n-o[r])}offsetAt(n){let o=this.getLineOffsets();if(n.line>=o.length)return this._content.length;if(n.line<0)return 0;let a=o[n.line],e=n.line+1<o.length?o[n.line+1]:this._content.length;return Math.max(Math.min(a+n.character,e),a)}get lineCount(){return this.getLineOffsets().length}},w;(function(t){let n=Object.prototype.toString;function o(m){return typeof m<\"u\"}t.defined=o;function a(m){return typeof m>\"u\"}t.undefined=a;function e(m){return m===!0||m===!1}t.boolean=e;function r(m){return n.call(m)===\"[object String]\"}t.string=r;function u(m){return n.call(m)===\"[object Number]\"}t.number=u;function c(m,A,b){return n.call(m)===\"[object Number]\"&&A<=m&&m<=b}t.numberRange=c;function i(m){return n.call(m)===\"[object Number]\"&&-2147483648<=m&&m<=2147483647}t.integer=i;function s(m){return n.call(m)===\"[object Number]\"&&0<=m&&m<=2147483647}t.uinteger=s;function l(m){return n.call(m)===\"[object Function]\"}t.func=l;function h(m){return m!==null&&typeof m==\"object\"}t.objectLiteral=h;function p(m,A){return Array.isArray(m)&&m.every(A)}t.typedArray=p})(w||(w={}));var De=class t{constructor(n,o,a,e){this._uri=n,this._languageId=o,this._version=a,this._content=e,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(n){if(n){let o=this.offsetAt(n.start),a=this.offsetAt(n.end);return this._content.substring(o,a)}return this._content}update(n,o){for(let a of n)if(t.isIncremental(a)){let e=an(a.range),r=this.offsetAt(e.start),u=this.offsetAt(e.end);this._content=this._content.substring(0,r)+a.text+this._content.substring(u,this._content.length);let c=Math.max(e.start.line,0),i=Math.max(e.end.line,0),s=this._lineOffsets,l=rn(a.text,!1,r);if(i-c===l.length)for(let p=0,m=l.length;p<m;p++)s[p+c+1]=l[p];else l.length<1e4?s.splice(c+1,i-c,...l):this._lineOffsets=s=s.slice(0,c+1).concat(l,s.slice(i+1));let h=a.text.length-(u-r);if(h!==0)for(let p=c+1+l.length,m=s.length;p<m;p++)s[p]=s[p]+h}else if(t.isFull(a))this._content=a.text,this._lineOffsets=void 0;else throw new Error(\"Unknown change event received\");this._version=o}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=rn(this._content,!0)),this._lineOffsets}positionAt(n){n=Math.max(Math.min(n,this._content.length),0);let o=this.getLineOffsets(),a=0,e=o.length;if(e===0)return{line:0,character:n};for(;a<e;){let u=Math.floor((a+e)/2);o[u]>n?e=u:a=u+1}let r=a-1;return{line:r,character:n-o[r]}}offsetAt(n){let o=this.getLineOffsets();if(n.line>=o.length)return this._content.length;if(n.line<0)return 0;let a=o[n.line],e=n.line+1<o.length?o[n.line+1]:this._content.length;return Math.max(Math.min(a+n.character,e),a)}get lineCount(){return this.getLineOffsets().length}static isIncremental(n){let o=n;return o!=null&&typeof o.text==\"string\"&&o.range!==void 0&&(o.rangeLength===void 0||typeof o.rangeLength==\"number\")}static isFull(n){let o=n;return o!=null&&typeof o.text==\"string\"&&o.range===void 0&&o.rangeLength===void 0}},ve;(function(t){function n(e,r,u,c){return new De(e,r,u,c)}t.create=n;function o(e,r,u){if(e instanceof De)return e.update(r,u),e;throw new Error(\"TextDocument.update: document must be created by TextDocument.create\")}t.update=o;function a(e,r){let u=e.getText(),c=pt(r.map(Nn),(l,h)=>{let p=l.range.start.line-h.range.start.line;return p===0?l.range.start.character-h.range.start.character:p}),i=0,s=[];for(let l of c){let h=e.offsetAt(l.range.start);if(h<i)throw new Error(\"Overlapping edit\");h>i&&s.push(u.substring(i,h)),l.newText.length&&s.push(l.newText),i=e.offsetAt(l.range.end)}return s.push(u.substr(i)),s.join(\"\")}t.applyEdits=a})(ve||(ve={}));function pt(t,n){if(t.length<=1)return t;let o=t.length/2|0,a=t.slice(0,o),e=t.slice(o);pt(a,n),pt(e,n);let r=0,u=0,c=0;for(;r<a.length&&u<e.length;)n(a[r],e[u])<=0?t[c++]=a[r++]:t[c++]=e[u++];for(;r<a.length;)t[c++]=a[r++];for(;u<e.length;)t[c++]=e[u++];return t}function rn(t,n,o=0){let a=n?[o]:[];for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);(r===13||r===10)&&(r===13&&e+1<t.length&&t.charCodeAt(e+1)===10&&e++,a.push(o+e+1))}return a}function an(t){let n=t.start,o=t.end;return n.line>o.line||n.line===o.line&&n.character>o.character?{start:o,end:n}:t}function Nn(t){let n=an(t.range);return n!==t.range?{newText:t.newText,range:n}:t}var S;(function(t){t[t.StartCommentTag=0]=\"StartCommentTag\",t[t.Comment=1]=\"Comment\",t[t.EndCommentTag=2]=\"EndCommentTag\",t[t.StartTagOpen=3]=\"StartTagOpen\",t[t.StartTagClose=4]=\"StartTagClose\",t[t.StartTagSelfClose=5]=\"StartTagSelfClose\",t[t.StartTag=6]=\"StartTag\",t[t.EndTagOpen=7]=\"EndTagOpen\",t[t.EndTagClose=8]=\"EndTagClose\",t[t.EndTag=9]=\"EndTag\",t[t.DelimiterAssign=10]=\"DelimiterAssign\",t[t.AttributeName=11]=\"AttributeName\",t[t.AttributeValue=12]=\"AttributeValue\",t[t.StartDoctypeTag=13]=\"StartDoctypeTag\",t[t.Doctype=14]=\"Doctype\",t[t.EndDoctypeTag=15]=\"EndDoctypeTag\",t[t.Content=16]=\"Content\",t[t.Whitespace=17]=\"Whitespace\",t[t.Unknown=18]=\"Unknown\",t[t.Script=19]=\"Script\",t[t.Styles=20]=\"Styles\",t[t.EOS=21]=\"EOS\"})(S||(S={}));var H;(function(t){t[t.WithinContent=0]=\"WithinContent\",t[t.AfterOpeningStartTag=1]=\"AfterOpeningStartTag\",t[t.AfterOpeningEndTag=2]=\"AfterOpeningEndTag\",t[t.WithinDoctype=3]=\"WithinDoctype\",t[t.WithinTag=4]=\"WithinTag\",t[t.WithinEndTag=5]=\"WithinEndTag\",t[t.WithinComment=6]=\"WithinComment\",t[t.WithinScriptContent=7]=\"WithinScriptContent\",t[t.WithinStyleContent=8]=\"WithinStyleContent\",t[t.AfterAttributeName=9]=\"AfterAttributeName\",t[t.BeforeAttributeValue=10]=\"BeforeAttributeValue\"})(H||(H={}));var on;(function(t){t.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Q.Markdown,Q.PlainText]}},hover:{contentFormat:[Q.Markdown,Q.PlainText]}}}})(on||(on={}));var Ee;(function(t){t[t.Unknown=0]=\"Unknown\",t[t.File=1]=\"File\",t[t.Directory=2]=\"Directory\",t[t.SymbolicLink=64]=\"SymbolicLink\"})(Ee||(Ee={}));var ft=class{constructor(n,o){this.source=n,this.len=n.length,this.position=o}eos(){return this.len<=this.position}getSource(){return this.source}pos(){return this.position}goBackTo(n){this.position=n}goBack(n){this.position-=n}advance(n){this.position+=n}goToEnd(){this.position=this.source.length}nextChar(){return this.source.charCodeAt(this.position++)||0}peekChar(n=0){return this.source.charCodeAt(this.position+n)||0}advanceIfChar(n){return n===this.source.charCodeAt(this.position)?(this.position++,!0):!1}advanceIfChars(n){let o;if(this.position+n.length>this.source.length)return!1;for(o=0;o<n.length;o++)if(this.source.charCodeAt(this.position+o)!==n[o])return!1;return this.advance(o),!0}advanceIfRegExp(n){let a=this.source.substr(this.position).match(n);return a?(this.position=this.position+a.index+a[0].length,a[0]):\"\"}advanceUntilRegExp(n){let a=this.source.substr(this.position).match(n);return a?(this.position=this.position+a.index,a[0]):(this.goToEnd(),\"\")}advanceUntilChar(n){for(;this.position<this.source.length;){if(this.source.charCodeAt(this.position)===n)return!0;this.advance(1)}return!1}advanceUntilChars(n){for(;this.position+n.length<=this.source.length;){let o=0;for(;o<n.length&&this.source.charCodeAt(this.position+o)===n[o];o++);if(o===n.length)return!0;this.advance(1)}return this.goToEnd(),!1}skipWhitespace(){return this.advanceWhileChar(o=>o===$n||o===Jn||o===jn||o===Vn||o===Gn)>0}advanceWhileChar(n){let o=this.position;for(;this.position<this.len&&n(this.source.charCodeAt(this.position));)this.position++;return this.position-o}},sn=33,he=45,Ce=60,ee=62,mt=47,Fn=61,Pn=34,qn=39,jn=10,Gn=13,Vn=12,$n=32,Jn=9,Xn={\"text/x-handlebars-template\":!0,\"text/html\":!0};function V(t,n=0,o=H.WithinContent,a=!1){let e=new ft(t,n),r=o,u=0,c=S.Unknown,i,s,l,h,p;function m(){return e.advanceIfRegExp(/^[_:\\w][_:\\w-.\\d]*/).toLowerCase()}function A(){return e.advanceIfRegExp(/^[^\\s\"'></=\\x00-\\x0F\\x7F\\x80-\\x9F]*/).toLowerCase()}function b(y,L,I){return c=L,u=y,i=I,L}function D(){let y=e.pos(),L=r,I=T();return I!==S.EOS&&y===e.pos()&&!(a&&(I===S.StartTagClose||I===S.EndTagClose))?(console.warn(\"Scanner.scan has not advanced at offset \"+y+\", state before: \"+L+\" after: \"+r),e.advance(1),b(y,S.Unknown)):I}function T(){let y=e.pos();if(e.eos())return b(y,S.EOS);let L;switch(r){case H.WithinComment:return e.advanceIfChars([he,he,ee])?(r=H.WithinContent,b(y,S.EndCommentTag)):(e.advanceUntilChars([he,he,ee]),b(y,S.Comment));case H.WithinDoctype:return e.advanceIfChar(ee)?(r=H.WithinContent,b(y,S.EndDoctypeTag)):(e.advanceUntilChar(ee),b(y,S.Doctype));case H.WithinContent:if(e.advanceIfChar(Ce)){if(!e.eos()&&e.peekChar()===sn){if(e.advanceIfChars([sn,he,he]))return r=H.WithinComment,b(y,S.StartCommentTag);if(e.advanceIfRegExp(/^!doctype/i))return r=H.WithinDoctype,b(y,S.StartDoctypeTag)}return e.advanceIfChar(mt)?(r=H.AfterOpeningEndTag,b(y,S.EndTagOpen)):(r=H.AfterOpeningStartTag,b(y,S.StartTagOpen))}return e.advanceUntilChar(Ce),b(y,S.Content);case H.AfterOpeningEndTag:return m().length>0?(r=H.WithinEndTag,b(y,S.EndTag)):e.skipWhitespace()?b(y,S.Whitespace,J(\"Tag name must directly follow the open bracket.\")):(r=H.WithinEndTag,e.advanceUntilChar(ee),y<e.pos()?b(y,S.Unknown,J(\"End tag name expected.\")):T());case H.WithinEndTag:if(e.skipWhitespace())return b(y,S.Whitespace);if(e.advanceIfChar(ee))return r=H.WithinContent,b(y,S.EndTagClose);if(a&&e.peekChar()===Ce)return r=H.WithinContent,b(y,S.EndTagClose,J(\"Closing bracket missing.\"));L=J(\"Closing bracket expected.\");break;case H.AfterOpeningStartTag:return l=m(),p=void 0,h=void 0,l.length>0?(s=!1,r=H.WithinTag,b(y,S.StartTag)):e.skipWhitespace()?b(y,S.Whitespace,J(\"Tag name must directly follow the open bracket.\")):(r=H.WithinTag,e.advanceUntilChar(ee),y<e.pos()?b(y,S.Unknown,J(\"Start tag name expected.\")):T());case H.WithinTag:return e.skipWhitespace()?(s=!0,b(y,S.Whitespace)):s&&(h=A(),h.length>0)?(r=H.AfterAttributeName,s=!1,b(y,S.AttributeName)):e.advanceIfChars([mt,ee])?(r=H.WithinContent,b(y,S.StartTagSelfClose)):e.advanceIfChar(ee)?(l===\"script\"?p&&Xn[p]?r=H.WithinContent:r=H.WithinScriptContent:l===\"style\"?r=H.WithinStyleContent:r=H.WithinContent,b(y,S.StartTagClose)):a&&e.peekChar()===Ce?(r=H.WithinContent,b(y,S.StartTagClose,J(\"Closing bracket missing.\"))):(e.advance(1),b(y,S.Unknown,J(\"Unexpected character in tag.\")));case H.AfterAttributeName:return e.skipWhitespace()?(s=!0,b(y,S.Whitespace)):e.advanceIfChar(Fn)?(r=H.BeforeAttributeValue,b(y,S.DelimiterAssign)):(r=H.WithinTag,T());case H.BeforeAttributeValue:if(e.skipWhitespace())return b(y,S.Whitespace);let N=e.advanceIfRegExp(/^[^\\s\"'`=<>]+/);if(N.length>0&&(e.peekChar()===ee&&e.peekChar(-1)===mt&&(e.goBack(1),N=N.substring(0,N.length-1)),h===\"type\"&&(p=N),N.length>0))return r=H.WithinTag,s=!1,b(y,S.AttributeValue);let F=e.peekChar();return F===qn||F===Pn?(e.advance(1),e.advanceUntilChar(F)&&e.advance(1),h===\"type\"&&(p=e.getSource().substring(y+1,e.pos()-1)),r=H.WithinTag,s=!1,b(y,S.AttributeValue)):(r=H.WithinTag,s=!1,T());case H.WithinScriptContent:let f=1;for(;!e.eos();){let d=e.advanceIfRegExp(/<!--|-->|<\\/?script\\s*\\/?>?/i);if(d.length===0)return e.goToEnd(),b(y,S.Script);if(d===\"<!--\")f===1&&(f=2);else if(d===\"-->\")f=1;else if(d[1]!==\"/\")f===2&&(f=3);else if(f===3)f=2;else{e.goBack(d.length);break}}return r=H.WithinContent,y<e.pos()?b(y,S.Script):T();case H.WithinStyleContent:return e.advanceUntilRegExp(/<\\/style/i),r=H.WithinContent,y<e.pos()?b(y,S.Styles):T()}return e.advance(1),r=H.WithinContent,b(y,S.Unknown,L)}return{scan:D,getTokenType:()=>c,getTokenOffset:()=>u,getTokenLength:()=>e.pos()-u,getTokenEnd:()=>e.pos(),getTokenText:()=>e.getSource().substring(u,e.pos()),getScannerState:()=>r,getTokenError:()=>i}}function gt(t,n){let o=0,a=t.length;if(a===0)return 0;for(;o<a;){let e=Math.floor((o+a)/2);n(t[e])?a=e:o=e+1}return o}function ln(t,n,o){let a=0,e=t.length-1;for(;a<=e;){let r=(a+e)/2|0,u=o(t[r],n);if(u<0)a=r+1;else if(u>0)e=r-1;else return r}return-(a+1)}var Le=class{get attributeNames(){return this.attributes?Object.keys(this.attributes):[]}constructor(n,o,a,e){this.start=n,this.end=o,this.children=a,this.parent=e,this.closed=!1}isSameTag(n){return this.tag===void 0?n===void 0:n!==void 0&&this.tag.length===n.length&&this.tag.toLowerCase()===n}get firstChild(){return this.children[0]}get lastChild(){return this.children.length?this.children[this.children.length-1]:void 0}findNodeBefore(n){let o=gt(this.children,a=>n<=a.start)-1;if(o>=0){let a=this.children[o];if(n>a.start){if(n<a.end)return a.findNodeBefore(n);let e=a.lastChild;return e&&e.end===a.end?a.findNodeBefore(n):a}}return this}findNodeAt(n){let o=gt(this.children,a=>n<=a.start)-1;if(o>=0){let a=this.children[o];if(n>a.start&&n<=a.end)return a.findNodeAt(n)}return this}},Me=class{constructor(n){this.dataManager=n}parseDocument(n){return this.parse(n.getText(),this.dataManager.getVoidElements(n.languageId))}parse(n,o){let a=V(n,void 0,void 0,!0),e=new Le(0,n.length,[],void 0),r=e,u=-1,c,i=null,s=a.scan();for(;s!==S.EOS;){switch(s){case S.StartTagOpen:let l=new Le(a.getTokenOffset(),n.length,[],r);r.children.push(l),r=l;break;case S.StartTag:r.tag=a.getTokenText();break;case S.StartTagClose:r.parent&&(r.end=a.getTokenEnd(),a.getTokenLength()?(r.startTagEnd=a.getTokenEnd(),r.tag&&this.dataManager.isVoidElement(r.tag,o)&&(r.closed=!0,r=r.parent)):r=r.parent);break;case S.StartTagSelfClose:r.parent&&(r.closed=!0,r.end=a.getTokenEnd(),r.startTagEnd=a.getTokenEnd(),r=r.parent);break;case S.EndTagOpen:u=a.getTokenOffset(),c=void 0;break;case S.EndTag:c=a.getTokenText().toLowerCase();break;case S.EndTagClose:let h=r;for(;!h.isSameTag(c)&&h.parent;)h=h.parent;if(h.parent){for(;r!==h;)r.end=u,r.closed=!1,r=r.parent;r.closed=!0,r.endTagStart=u,r.end=a.getTokenEnd(),r=r.parent}break;case S.AttributeName:{i=a.getTokenText();let p=r.attributes;p||(r.attributes=p={}),p[i]=null;break}case S.AttributeValue:{let p=a.getTokenText(),m=r.attributes;m&&i&&(m[i]=p,i=null);break}}s=a.scan()}for(;r.parent;)r.end=n.length,r.closed=!1,r=r.parent;return{roots:e.children,findNodeBefore:e.findNodeBefore.bind(e),findNodeAt:e.findNodeAt.bind(e)}}};var ie={\"Aacute;\":\"\\xC1\",Aacute:\"\\xC1\",\"aacute;\":\"\\xE1\",aacute:\"\\xE1\",\"Abreve;\":\"\\u0102\",\"abreve;\":\"\\u0103\",\"ac;\":\"\\u223E\",\"acd;\":\"\\u223F\",\"acE;\":\"\\u223E\\u0333\",\"Acirc;\":\"\\xC2\",Acirc:\"\\xC2\",\"acirc;\":\"\\xE2\",acirc:\"\\xE2\",\"acute;\":\"\\xB4\",acute:\"\\xB4\",\"Acy;\":\"\\u0410\",\"acy;\":\"\\u0430\",\"AElig;\":\"\\xC6\",AElig:\"\\xC6\",\"aelig;\":\"\\xE6\",aelig:\"\\xE6\",\"af;\":\"\\u2061\",\"Afr;\":\"\\u{1D504}\",\"afr;\":\"\\u{1D51E}\",\"Agrave;\":\"\\xC0\",Agrave:\"\\xC0\",\"agrave;\":\"\\xE0\",agrave:\"\\xE0\",\"alefsym;\":\"\\u2135\",\"aleph;\":\"\\u2135\",\"Alpha;\":\"\\u0391\",\"alpha;\":\"\\u03B1\",\"Amacr;\":\"\\u0100\",\"amacr;\":\"\\u0101\",\"amalg;\":\"\\u2A3F\",\"AMP;\":\"&\",AMP:\"&\",\"amp;\":\"&\",amp:\"&\",\"And;\":\"\\u2A53\",\"and;\":\"\\u2227\",\"andand;\":\"\\u2A55\",\"andd;\":\"\\u2A5C\",\"andslope;\":\"\\u2A58\",\"andv;\":\"\\u2A5A\",\"ang;\":\"\\u2220\",\"ange;\":\"\\u29A4\",\"angle;\":\"\\u2220\",\"angmsd;\":\"\\u2221\",\"angmsdaa;\":\"\\u29A8\",\"angmsdab;\":\"\\u29A9\",\"angmsdac;\":\"\\u29AA\",\"angmsdad;\":\"\\u29AB\",\"angmsdae;\":\"\\u29AC\",\"angmsdaf;\":\"\\u29AD\",\"angmsdag;\":\"\\u29AE\",\"angmsdah;\":\"\\u29AF\",\"angrt;\":\"\\u221F\",\"angrtvb;\":\"\\u22BE\",\"angrtvbd;\":\"\\u299D\",\"angsph;\":\"\\u2222\",\"angst;\":\"\\xC5\",\"angzarr;\":\"\\u237C\",\"Aogon;\":\"\\u0104\",\"aogon;\":\"\\u0105\",\"Aopf;\":\"\\u{1D538}\",\"aopf;\":\"\\u{1D552}\",\"ap;\":\"\\u2248\",\"apacir;\":\"\\u2A6F\",\"apE;\":\"\\u2A70\",\"ape;\":\"\\u224A\",\"apid;\":\"\\u224B\",\"apos;\":\"'\",\"ApplyFunction;\":\"\\u2061\",\"approx;\":\"\\u2248\",\"approxeq;\":\"\\u224A\",\"Aring;\":\"\\xC5\",Aring:\"\\xC5\",\"aring;\":\"\\xE5\",aring:\"\\xE5\",\"Ascr;\":\"\\u{1D49C}\",\"ascr;\":\"\\u{1D4B6}\",\"Assign;\":\"\\u2254\",\"ast;\":\"*\",\"asymp;\":\"\\u2248\",\"asympeq;\":\"\\u224D\",\"Atilde;\":\"\\xC3\",Atilde:\"\\xC3\",\"atilde;\":\"\\xE3\",atilde:\"\\xE3\",\"Auml;\":\"\\xC4\",Auml:\"\\xC4\",\"auml;\":\"\\xE4\",auml:\"\\xE4\",\"awconint;\":\"\\u2233\",\"awint;\":\"\\u2A11\",\"backcong;\":\"\\u224C\",\"backepsilon;\":\"\\u03F6\",\"backprime;\":\"\\u2035\",\"backsim;\":\"\\u223D\",\"backsimeq;\":\"\\u22CD\",\"Backslash;\":\"\\u2216\",\"Barv;\":\"\\u2AE7\",\"barvee;\":\"\\u22BD\",\"Barwed;\":\"\\u2306\",\"barwed;\":\"\\u2305\",\"barwedge;\":\"\\u2305\",\"bbrk;\":\"\\u23B5\",\"bbrktbrk;\":\"\\u23B6\",\"bcong;\":\"\\u224C\",\"Bcy;\":\"\\u0411\",\"bcy;\":\"\\u0431\",\"bdquo;\":\"\\u201E\",\"becaus;\":\"\\u2235\",\"Because;\":\"\\u2235\",\"because;\":\"\\u2235\",\"bemptyv;\":\"\\u29B0\",\"bepsi;\":\"\\u03F6\",\"bernou;\":\"\\u212C\",\"Bernoullis;\":\"\\u212C\",\"Beta;\":\"\\u0392\",\"beta;\":\"\\u03B2\",\"beth;\":\"\\u2136\",\"between;\":\"\\u226C\",\"Bfr;\":\"\\u{1D505}\",\"bfr;\":\"\\u{1D51F}\",\"bigcap;\":\"\\u22C2\",\"bigcirc;\":\"\\u25EF\",\"bigcup;\":\"\\u22C3\",\"bigodot;\":\"\\u2A00\",\"bigoplus;\":\"\\u2A01\",\"bigotimes;\":\"\\u2A02\",\"bigsqcup;\":\"\\u2A06\",\"bigstar;\":\"\\u2605\",\"bigtriangledown;\":\"\\u25BD\",\"bigtriangleup;\":\"\\u25B3\",\"biguplus;\":\"\\u2A04\",\"bigvee;\":\"\\u22C1\",\"bigwedge;\":\"\\u22C0\",\"bkarow;\":\"\\u290D\",\"blacklozenge;\":\"\\u29EB\",\"blacksquare;\":\"\\u25AA\",\"blacktriangle;\":\"\\u25B4\",\"blacktriangledown;\":\"\\u25BE\",\"blacktriangleleft;\":\"\\u25C2\",\"blacktriangleright;\":\"\\u25B8\",\"blank;\":\"\\u2423\",\"blk12;\":\"\\u2592\",\"blk14;\":\"\\u2591\",\"blk34;\":\"\\u2593\",\"block;\":\"\\u2588\",\"bne;\":\"=\\u20E5\",\"bnequiv;\":\"\\u2261\\u20E5\",\"bNot;\":\"\\u2AED\",\"bnot;\":\"\\u2310\",\"Bopf;\":\"\\u{1D539}\",\"bopf;\":\"\\u{1D553}\",\"bot;\":\"\\u22A5\",\"bottom;\":\"\\u22A5\",\"bowtie;\":\"\\u22C8\",\"boxbox;\":\"\\u29C9\",\"boxDL;\":\"\\u2557\",\"boxDl;\":\"\\u2556\",\"boxdL;\":\"\\u2555\",\"boxdl;\":\"\\u2510\",\"boxDR;\":\"\\u2554\",\"boxDr;\":\"\\u2553\",\"boxdR;\":\"\\u2552\",\"boxdr;\":\"\\u250C\",\"boxH;\":\"\\u2550\",\"boxh;\":\"\\u2500\",\"boxHD;\":\"\\u2566\",\"boxHd;\":\"\\u2564\",\"boxhD;\":\"\\u2565\",\"boxhd;\":\"\\u252C\",\"boxHU;\":\"\\u2569\",\"boxHu;\":\"\\u2567\",\"boxhU;\":\"\\u2568\",\"boxhu;\":\"\\u2534\",\"boxminus;\":\"\\u229F\",\"boxplus;\":\"\\u229E\",\"boxtimes;\":\"\\u22A0\",\"boxUL;\":\"\\u255D\",\"boxUl;\":\"\\u255C\",\"boxuL;\":\"\\u255B\",\"boxul;\":\"\\u2518\",\"boxUR;\":\"\\u255A\",\"boxUr;\":\"\\u2559\",\"boxuR;\":\"\\u2558\",\"boxur;\":\"\\u2514\",\"boxV;\":\"\\u2551\",\"boxv;\":\"\\u2502\",\"boxVH;\":\"\\u256C\",\"boxVh;\":\"\\u256B\",\"boxvH;\":\"\\u256A\",\"boxvh;\":\"\\u253C\",\"boxVL;\":\"\\u2563\",\"boxVl;\":\"\\u2562\",\"boxvL;\":\"\\u2561\",\"boxvl;\":\"\\u2524\",\"boxVR;\":\"\\u2560\",\"boxVr;\":\"\\u255F\",\"boxvR;\":\"\\u255E\",\"boxvr;\":\"\\u251C\",\"bprime;\":\"\\u2035\",\"Breve;\":\"\\u02D8\",\"breve;\":\"\\u02D8\",\"brvbar;\":\"\\xA6\",brvbar:\"\\xA6\",\"Bscr;\":\"\\u212C\",\"bscr;\":\"\\u{1D4B7}\",\"bsemi;\":\"\\u204F\",\"bsim;\":\"\\u223D\",\"bsime;\":\"\\u22CD\",\"bsol;\":\"\\\\\",\"bsolb;\":\"\\u29C5\",\"bsolhsub;\":\"\\u27C8\",\"bull;\":\"\\u2022\",\"bullet;\":\"\\u2022\",\"bump;\":\"\\u224E\",\"bumpE;\":\"\\u2AAE\",\"bumpe;\":\"\\u224F\",\"Bumpeq;\":\"\\u224E\",\"bumpeq;\":\"\\u224F\",\"Cacute;\":\"\\u0106\",\"cacute;\":\"\\u0107\",\"Cap;\":\"\\u22D2\",\"cap;\":\"\\u2229\",\"capand;\":\"\\u2A44\",\"capbrcup;\":\"\\u2A49\",\"capcap;\":\"\\u2A4B\",\"capcup;\":\"\\u2A47\",\"capdot;\":\"\\u2A40\",\"CapitalDifferentialD;\":\"\\u2145\",\"caps;\":\"\\u2229\\uFE00\",\"caret;\":\"\\u2041\",\"caron;\":\"\\u02C7\",\"Cayleys;\":\"\\u212D\",\"ccaps;\":\"\\u2A4D\",\"Ccaron;\":\"\\u010C\",\"ccaron;\":\"\\u010D\",\"Ccedil;\":\"\\xC7\",Ccedil:\"\\xC7\",\"ccedil;\":\"\\xE7\",ccedil:\"\\xE7\",\"Ccirc;\":\"\\u0108\",\"ccirc;\":\"\\u0109\",\"Cconint;\":\"\\u2230\",\"ccups;\":\"\\u2A4C\",\"ccupssm;\":\"\\u2A50\",\"Cdot;\":\"\\u010A\",\"cdot;\":\"\\u010B\",\"cedil;\":\"\\xB8\",cedil:\"\\xB8\",\"Cedilla;\":\"\\xB8\",\"cemptyv;\":\"\\u29B2\",\"cent;\":\"\\xA2\",cent:\"\\xA2\",\"CenterDot;\":\"\\xB7\",\"centerdot;\":\"\\xB7\",\"Cfr;\":\"\\u212D\",\"cfr;\":\"\\u{1D520}\",\"CHcy;\":\"\\u0427\",\"chcy;\":\"\\u0447\",\"check;\":\"\\u2713\",\"checkmark;\":\"\\u2713\",\"Chi;\":\"\\u03A7\",\"chi;\":\"\\u03C7\",\"cir;\":\"\\u25CB\",\"circ;\":\"\\u02C6\",\"circeq;\":\"\\u2257\",\"circlearrowleft;\":\"\\u21BA\",\"circlearrowright;\":\"\\u21BB\",\"circledast;\":\"\\u229B\",\"circledcirc;\":\"\\u229A\",\"circleddash;\":\"\\u229D\",\"CircleDot;\":\"\\u2299\",\"circledR;\":\"\\xAE\",\"circledS;\":\"\\u24C8\",\"CircleMinus;\":\"\\u2296\",\"CirclePlus;\":\"\\u2295\",\"CircleTimes;\":\"\\u2297\",\"cirE;\":\"\\u29C3\",\"cire;\":\"\\u2257\",\"cirfnint;\":\"\\u2A10\",\"cirmid;\":\"\\u2AEF\",\"cirscir;\":\"\\u29C2\",\"ClockwiseContourIntegral;\":\"\\u2232\",\"CloseCurlyDoubleQuote;\":\"\\u201D\",\"CloseCurlyQuote;\":\"\\u2019\",\"clubs;\":\"\\u2663\",\"clubsuit;\":\"\\u2663\",\"Colon;\":\"\\u2237\",\"colon;\":\":\",\"Colone;\":\"\\u2A74\",\"colone;\":\"\\u2254\",\"coloneq;\":\"\\u2254\",\"comma;\":\",\",\"commat;\":\"@\",\"comp;\":\"\\u2201\",\"compfn;\":\"\\u2218\",\"complement;\":\"\\u2201\",\"complexes;\":\"\\u2102\",\"cong;\":\"\\u2245\",\"congdot;\":\"\\u2A6D\",\"Congruent;\":\"\\u2261\",\"Conint;\":\"\\u222F\",\"conint;\":\"\\u222E\",\"ContourIntegral;\":\"\\u222E\",\"Copf;\":\"\\u2102\",\"copf;\":\"\\u{1D554}\",\"coprod;\":\"\\u2210\",\"Coproduct;\":\"\\u2210\",\"COPY;\":\"\\xA9\",COPY:\"\\xA9\",\"copy;\":\"\\xA9\",copy:\"\\xA9\",\"copysr;\":\"\\u2117\",\"CounterClockwiseContourIntegral;\":\"\\u2233\",\"crarr;\":\"\\u21B5\",\"Cross;\":\"\\u2A2F\",\"cross;\":\"\\u2717\",\"Cscr;\":\"\\u{1D49E}\",\"cscr;\":\"\\u{1D4B8}\",\"csub;\":\"\\u2ACF\",\"csube;\":\"\\u2AD1\",\"csup;\":\"\\u2AD0\",\"csupe;\":\"\\u2AD2\",\"ctdot;\":\"\\u22EF\",\"cudarrl;\":\"\\u2938\",\"cudarrr;\":\"\\u2935\",\"cuepr;\":\"\\u22DE\",\"cuesc;\":\"\\u22DF\",\"cularr;\":\"\\u21B6\",\"cularrp;\":\"\\u293D\",\"Cup;\":\"\\u22D3\",\"cup;\":\"\\u222A\",\"cupbrcap;\":\"\\u2A48\",\"CupCap;\":\"\\u224D\",\"cupcap;\":\"\\u2A46\",\"cupcup;\":\"\\u2A4A\",\"cupdot;\":\"\\u228D\",\"cupor;\":\"\\u2A45\",\"cups;\":\"\\u222A\\uFE00\",\"curarr;\":\"\\u21B7\",\"curarrm;\":\"\\u293C\",\"curlyeqprec;\":\"\\u22DE\",\"curlyeqsucc;\":\"\\u22DF\",\"curlyvee;\":\"\\u22CE\",\"curlywedge;\":\"\\u22CF\",\"curren;\":\"\\xA4\",curren:\"\\xA4\",\"curvearrowleft;\":\"\\u21B6\",\"curvearrowright;\":\"\\u21B7\",\"cuvee;\":\"\\u22CE\",\"cuwed;\":\"\\u22CF\",\"cwconint;\":\"\\u2232\",\"cwint;\":\"\\u2231\",\"cylcty;\":\"\\u232D\",\"Dagger;\":\"\\u2021\",\"dagger;\":\"\\u2020\",\"daleth;\":\"\\u2138\",\"Darr;\":\"\\u21A1\",\"dArr;\":\"\\u21D3\",\"darr;\":\"\\u2193\",\"dash;\":\"\\u2010\",\"Dashv;\":\"\\u2AE4\",\"dashv;\":\"\\u22A3\",\"dbkarow;\":\"\\u290F\",\"dblac;\":\"\\u02DD\",\"Dcaron;\":\"\\u010E\",\"dcaron;\":\"\\u010F\",\"Dcy;\":\"\\u0414\",\"dcy;\":\"\\u0434\",\"DD;\":\"\\u2145\",\"dd;\":\"\\u2146\",\"ddagger;\":\"\\u2021\",\"ddarr;\":\"\\u21CA\",\"DDotrahd;\":\"\\u2911\",\"ddotseq;\":\"\\u2A77\",\"deg;\":\"\\xB0\",deg:\"\\xB0\",\"Del;\":\"\\u2207\",\"Delta;\":\"\\u0394\",\"delta;\":\"\\u03B4\",\"demptyv;\":\"\\u29B1\",\"dfisht;\":\"\\u297F\",\"Dfr;\":\"\\u{1D507}\",\"dfr;\":\"\\u{1D521}\",\"dHar;\":\"\\u2965\",\"dharl;\":\"\\u21C3\",\"dharr;\":\"\\u21C2\",\"DiacriticalAcute;\":\"\\xB4\",\"DiacriticalDot;\":\"\\u02D9\",\"DiacriticalDoubleAcute;\":\"\\u02DD\",\"DiacriticalGrave;\":\"`\",\"DiacriticalTilde;\":\"\\u02DC\",\"diam;\":\"\\u22C4\",\"Diamond;\":\"\\u22C4\",\"diamond;\":\"\\u22C4\",\"diamondsuit;\":\"\\u2666\",\"diams;\":\"\\u2666\",\"die;\":\"\\xA8\",\"DifferentialD;\":\"\\u2146\",\"digamma;\":\"\\u03DD\",\"disin;\":\"\\u22F2\",\"div;\":\"\\xF7\",\"divide;\":\"\\xF7\",divide:\"\\xF7\",\"divideontimes;\":\"\\u22C7\",\"divonx;\":\"\\u22C7\",\"DJcy;\":\"\\u0402\",\"djcy;\":\"\\u0452\",\"dlcorn;\":\"\\u231E\",\"dlcrop;\":\"\\u230D\",\"dollar;\":\"$\",\"Dopf;\":\"\\u{1D53B}\",\"dopf;\":\"\\u{1D555}\",\"Dot;\":\"\\xA8\",\"dot;\":\"\\u02D9\",\"DotDot;\":\"\\u20DC\",\"doteq;\":\"\\u2250\",\"doteqdot;\":\"\\u2251\",\"DotEqual;\":\"\\u2250\",\"dotminus;\":\"\\u2238\",\"dotplus;\":\"\\u2214\",\"dotsquare;\":\"\\u22A1\",\"doublebarwedge;\":\"\\u2306\",\"DoubleContourIntegral;\":\"\\u222F\",\"DoubleDot;\":\"\\xA8\",\"DoubleDownArrow;\":\"\\u21D3\",\"DoubleLeftArrow;\":\"\\u21D0\",\"DoubleLeftRightArrow;\":\"\\u21D4\",\"DoubleLeftTee;\":\"\\u2AE4\",\"DoubleLongLeftArrow;\":\"\\u27F8\",\"DoubleLongLeftRightArrow;\":\"\\u27FA\",\"DoubleLongRightArrow;\":\"\\u27F9\",\"DoubleRightArrow;\":\"\\u21D2\",\"DoubleRightTee;\":\"\\u22A8\",\"DoubleUpArrow;\":\"\\u21D1\",\"DoubleUpDownArrow;\":\"\\u21D5\",\"DoubleVerticalBar;\":\"\\u2225\",\"DownArrow;\":\"\\u2193\",\"Downarrow;\":\"\\u21D3\",\"downarrow;\":\"\\u2193\",\"DownArrowBar;\":\"\\u2913\",\"DownArrowUpArrow;\":\"\\u21F5\",\"DownBreve;\":\"\\u0311\",\"downdownarrows;\":\"\\u21CA\",\"downharpoonleft;\":\"\\u21C3\",\"downharpoonright;\":\"\\u21C2\",\"DownLeftRightVector;\":\"\\u2950\",\"DownLeftTeeVector;\":\"\\u295E\",\"DownLeftVector;\":\"\\u21BD\",\"DownLeftVectorBar;\":\"\\u2956\",\"DownRightTeeVector;\":\"\\u295F\",\"DownRightVector;\":\"\\u21C1\",\"DownRightVectorBar;\":\"\\u2957\",\"DownTee;\":\"\\u22A4\",\"DownTeeArrow;\":\"\\u21A7\",\"drbkarow;\":\"\\u2910\",\"drcorn;\":\"\\u231F\",\"drcrop;\":\"\\u230C\",\"Dscr;\":\"\\u{1D49F}\",\"dscr;\":\"\\u{1D4B9}\",\"DScy;\":\"\\u0405\",\"dscy;\":\"\\u0455\",\"dsol;\":\"\\u29F6\",\"Dstrok;\":\"\\u0110\",\"dstrok;\":\"\\u0111\",\"dtdot;\":\"\\u22F1\",\"dtri;\":\"\\u25BF\",\"dtrif;\":\"\\u25BE\",\"duarr;\":\"\\u21F5\",\"duhar;\":\"\\u296F\",\"dwangle;\":\"\\u29A6\",\"DZcy;\":\"\\u040F\",\"dzcy;\":\"\\u045F\",\"dzigrarr;\":\"\\u27FF\",\"Eacute;\":\"\\xC9\",Eacute:\"\\xC9\",\"eacute;\":\"\\xE9\",eacute:\"\\xE9\",\"easter;\":\"\\u2A6E\",\"Ecaron;\":\"\\u011A\",\"ecaron;\":\"\\u011B\",\"ecir;\":\"\\u2256\",\"Ecirc;\":\"\\xCA\",Ecirc:\"\\xCA\",\"ecirc;\":\"\\xEA\",ecirc:\"\\xEA\",\"ecolon;\":\"\\u2255\",\"Ecy;\":\"\\u042D\",\"ecy;\":\"\\u044D\",\"eDDot;\":\"\\u2A77\",\"Edot;\":\"\\u0116\",\"eDot;\":\"\\u2251\",\"edot;\":\"\\u0117\",\"ee;\":\"\\u2147\",\"efDot;\":\"\\u2252\",\"Efr;\":\"\\u{1D508}\",\"efr;\":\"\\u{1D522}\",\"eg;\":\"\\u2A9A\",\"Egrave;\":\"\\xC8\",Egrave:\"\\xC8\",\"egrave;\":\"\\xE8\",egrave:\"\\xE8\",\"egs;\":\"\\u2A96\",\"egsdot;\":\"\\u2A98\",\"el;\":\"\\u2A99\",\"Element;\":\"\\u2208\",\"elinters;\":\"\\u23E7\",\"ell;\":\"\\u2113\",\"els;\":\"\\u2A95\",\"elsdot;\":\"\\u2A97\",\"Emacr;\":\"\\u0112\",\"emacr;\":\"\\u0113\",\"empty;\":\"\\u2205\",\"emptyset;\":\"\\u2205\",\"EmptySmallSquare;\":\"\\u25FB\",\"emptyv;\":\"\\u2205\",\"EmptyVerySmallSquare;\":\"\\u25AB\",\"emsp;\":\"\\u2003\",\"emsp13;\":\"\\u2004\",\"emsp14;\":\"\\u2005\",\"ENG;\":\"\\u014A\",\"eng;\":\"\\u014B\",\"ensp;\":\"\\u2002\",\"Eogon;\":\"\\u0118\",\"eogon;\":\"\\u0119\",\"Eopf;\":\"\\u{1D53C}\",\"eopf;\":\"\\u{1D556}\",\"epar;\":\"\\u22D5\",\"eparsl;\":\"\\u29E3\",\"eplus;\":\"\\u2A71\",\"epsi;\":\"\\u03B5\",\"Epsilon;\":\"\\u0395\",\"epsilon;\":\"\\u03B5\",\"epsiv;\":\"\\u03F5\",\"eqcirc;\":\"\\u2256\",\"eqcolon;\":\"\\u2255\",\"eqsim;\":\"\\u2242\",\"eqslantgtr;\":\"\\u2A96\",\"eqslantless;\":\"\\u2A95\",\"Equal;\":\"\\u2A75\",\"equals;\":\"=\",\"EqualTilde;\":\"\\u2242\",\"equest;\":\"\\u225F\",\"Equilibrium;\":\"\\u21CC\",\"equiv;\":\"\\u2261\",\"equivDD;\":\"\\u2A78\",\"eqvparsl;\":\"\\u29E5\",\"erarr;\":\"\\u2971\",\"erDot;\":\"\\u2253\",\"Escr;\":\"\\u2130\",\"escr;\":\"\\u212F\",\"esdot;\":\"\\u2250\",\"Esim;\":\"\\u2A73\",\"esim;\":\"\\u2242\",\"Eta;\":\"\\u0397\",\"eta;\":\"\\u03B7\",\"ETH;\":\"\\xD0\",ETH:\"\\xD0\",\"eth;\":\"\\xF0\",eth:\"\\xF0\",\"Euml;\":\"\\xCB\",Euml:\"\\xCB\",\"euml;\":\"\\xEB\",euml:\"\\xEB\",\"euro;\":\"\\u20AC\",\"excl;\":\"!\",\"exist;\":\"\\u2203\",\"Exists;\":\"\\u2203\",\"expectation;\":\"\\u2130\",\"ExponentialE;\":\"\\u2147\",\"exponentiale;\":\"\\u2147\",\"fallingdotseq;\":\"\\u2252\",\"Fcy;\":\"\\u0424\",\"fcy;\":\"\\u0444\",\"female;\":\"\\u2640\",\"ffilig;\":\"\\uFB03\",\"fflig;\":\"\\uFB00\",\"ffllig;\":\"\\uFB04\",\"Ffr;\":\"\\u{1D509}\",\"ffr;\":\"\\u{1D523}\",\"filig;\":\"\\uFB01\",\"FilledSmallSquare;\":\"\\u25FC\",\"FilledVerySmallSquare;\":\"\\u25AA\",\"fjlig;\":\"fj\",\"flat;\":\"\\u266D\",\"fllig;\":\"\\uFB02\",\"fltns;\":\"\\u25B1\",\"fnof;\":\"\\u0192\",\"Fopf;\":\"\\u{1D53D}\",\"fopf;\":\"\\u{1D557}\",\"ForAll;\":\"\\u2200\",\"forall;\":\"\\u2200\",\"fork;\":\"\\u22D4\",\"forkv;\":\"\\u2AD9\",\"Fouriertrf;\":\"\\u2131\",\"fpartint;\":\"\\u2A0D\",\"frac12;\":\"\\xBD\",frac12:\"\\xBD\",\"frac13;\":\"\\u2153\",\"frac14;\":\"\\xBC\",frac14:\"\\xBC\",\"frac15;\":\"\\u2155\",\"frac16;\":\"\\u2159\",\"frac18;\":\"\\u215B\",\"frac23;\":\"\\u2154\",\"frac25;\":\"\\u2156\",\"frac34;\":\"\\xBE\",frac34:\"\\xBE\",\"frac35;\":\"\\u2157\",\"frac38;\":\"\\u215C\",\"frac45;\":\"\\u2158\",\"frac56;\":\"\\u215A\",\"frac58;\":\"\\u215D\",\"frac78;\":\"\\u215E\",\"frasl;\":\"\\u2044\",\"frown;\":\"\\u2322\",\"Fscr;\":\"\\u2131\",\"fscr;\":\"\\u{1D4BB}\",\"gacute;\":\"\\u01F5\",\"Gamma;\":\"\\u0393\",\"gamma;\":\"\\u03B3\",\"Gammad;\":\"\\u03DC\",\"gammad;\":\"\\u03DD\",\"gap;\":\"\\u2A86\",\"Gbreve;\":\"\\u011E\",\"gbreve;\":\"\\u011F\",\"Gcedil;\":\"\\u0122\",\"Gcirc;\":\"\\u011C\",\"gcirc;\":\"\\u011D\",\"Gcy;\":\"\\u0413\",\"gcy;\":\"\\u0433\",\"Gdot;\":\"\\u0120\",\"gdot;\":\"\\u0121\",\"gE;\":\"\\u2267\",\"ge;\":\"\\u2265\",\"gEl;\":\"\\u2A8C\",\"gel;\":\"\\u22DB\",\"geq;\":\"\\u2265\",\"geqq;\":\"\\u2267\",\"geqslant;\":\"\\u2A7E\",\"ges;\":\"\\u2A7E\",\"gescc;\":\"\\u2AA9\",\"gesdot;\":\"\\u2A80\",\"gesdoto;\":\"\\u2A82\",\"gesdotol;\":\"\\u2A84\",\"gesl;\":\"\\u22DB\\uFE00\",\"gesles;\":\"\\u2A94\",\"Gfr;\":\"\\u{1D50A}\",\"gfr;\":\"\\u{1D524}\",\"Gg;\":\"\\u22D9\",\"gg;\":\"\\u226B\",\"ggg;\":\"\\u22D9\",\"gimel;\":\"\\u2137\",\"GJcy;\":\"\\u0403\",\"gjcy;\":\"\\u0453\",\"gl;\":\"\\u2277\",\"gla;\":\"\\u2AA5\",\"glE;\":\"\\u2A92\",\"glj;\":\"\\u2AA4\",\"gnap;\":\"\\u2A8A\",\"gnapprox;\":\"\\u2A8A\",\"gnE;\":\"\\u2269\",\"gne;\":\"\\u2A88\",\"gneq;\":\"\\u2A88\",\"gneqq;\":\"\\u2269\",\"gnsim;\":\"\\u22E7\",\"Gopf;\":\"\\u{1D53E}\",\"gopf;\":\"\\u{1D558}\",\"grave;\":\"`\",\"GreaterEqual;\":\"\\u2265\",\"GreaterEqualLess;\":\"\\u22DB\",\"GreaterFullEqual;\":\"\\u2267\",\"GreaterGreater;\":\"\\u2AA2\",\"GreaterLess;\":\"\\u2277\",\"GreaterSlantEqual;\":\"\\u2A7E\",\"GreaterTilde;\":\"\\u2273\",\"Gscr;\":\"\\u{1D4A2}\",\"gscr;\":\"\\u210A\",\"gsim;\":\"\\u2273\",\"gsime;\":\"\\u2A8E\",\"gsiml;\":\"\\u2A90\",\"GT;\":\">\",GT:\">\",\"Gt;\":\"\\u226B\",\"gt;\":\">\",gt:\">\",\"gtcc;\":\"\\u2AA7\",\"gtcir;\":\"\\u2A7A\",\"gtdot;\":\"\\u22D7\",\"gtlPar;\":\"\\u2995\",\"gtquest;\":\"\\u2A7C\",\"gtrapprox;\":\"\\u2A86\",\"gtrarr;\":\"\\u2978\",\"gtrdot;\":\"\\u22D7\",\"gtreqless;\":\"\\u22DB\",\"gtreqqless;\":\"\\u2A8C\",\"gtrless;\":\"\\u2277\",\"gtrsim;\":\"\\u2273\",\"gvertneqq;\":\"\\u2269\\uFE00\",\"gvnE;\":\"\\u2269\\uFE00\",\"Hacek;\":\"\\u02C7\",\"hairsp;\":\"\\u200A\",\"half;\":\"\\xBD\",\"hamilt;\":\"\\u210B\",\"HARDcy;\":\"\\u042A\",\"hardcy;\":\"\\u044A\",\"hArr;\":\"\\u21D4\",\"harr;\":\"\\u2194\",\"harrcir;\":\"\\u2948\",\"harrw;\":\"\\u21AD\",\"Hat;\":\"^\",\"hbar;\":\"\\u210F\",\"Hcirc;\":\"\\u0124\",\"hcirc;\":\"\\u0125\",\"hearts;\":\"\\u2665\",\"heartsuit;\":\"\\u2665\",\"hellip;\":\"\\u2026\",\"hercon;\":\"\\u22B9\",\"Hfr;\":\"\\u210C\",\"hfr;\":\"\\u{1D525}\",\"HilbertSpace;\":\"\\u210B\",\"hksearow;\":\"\\u2925\",\"hkswarow;\":\"\\u2926\",\"hoarr;\":\"\\u21FF\",\"homtht;\":\"\\u223B\",\"hookleftarrow;\":\"\\u21A9\",\"hookrightarrow;\":\"\\u21AA\",\"Hopf;\":\"\\u210D\",\"hopf;\":\"\\u{1D559}\",\"horbar;\":\"\\u2015\",\"HorizontalLine;\":\"\\u2500\",\"Hscr;\":\"\\u210B\",\"hscr;\":\"\\u{1D4BD}\",\"hslash;\":\"\\u210F\",\"Hstrok;\":\"\\u0126\",\"hstrok;\":\"\\u0127\",\"HumpDownHump;\":\"\\u224E\",\"HumpEqual;\":\"\\u224F\",\"hybull;\":\"\\u2043\",\"hyphen;\":\"\\u2010\",\"Iacute;\":\"\\xCD\",Iacute:\"\\xCD\",\"iacute;\":\"\\xED\",iacute:\"\\xED\",\"ic;\":\"\\u2063\",\"Icirc;\":\"\\xCE\",Icirc:\"\\xCE\",\"icirc;\":\"\\xEE\",icirc:\"\\xEE\",\"Icy;\":\"\\u0418\",\"icy;\":\"\\u0438\",\"Idot;\":\"\\u0130\",\"IEcy;\":\"\\u0415\",\"iecy;\":\"\\u0435\",\"iexcl;\":\"\\xA1\",iexcl:\"\\xA1\",\"iff;\":\"\\u21D4\",\"Ifr;\":\"\\u2111\",\"ifr;\":\"\\u{1D526}\",\"Igrave;\":\"\\xCC\",Igrave:\"\\xCC\",\"igrave;\":\"\\xEC\",igrave:\"\\xEC\",\"ii;\":\"\\u2148\",\"iiiint;\":\"\\u2A0C\",\"iiint;\":\"\\u222D\",\"iinfin;\":\"\\u29DC\",\"iiota;\":\"\\u2129\",\"IJlig;\":\"\\u0132\",\"ijlig;\":\"\\u0133\",\"Im;\":\"\\u2111\",\"Imacr;\":\"\\u012A\",\"imacr;\":\"\\u012B\",\"image;\":\"\\u2111\",\"ImaginaryI;\":\"\\u2148\",\"imagline;\":\"\\u2110\",\"imagpart;\":\"\\u2111\",\"imath;\":\"\\u0131\",\"imof;\":\"\\u22B7\",\"imped;\":\"\\u01B5\",\"Implies;\":\"\\u21D2\",\"in;\":\"\\u2208\",\"incare;\":\"\\u2105\",\"infin;\":\"\\u221E\",\"infintie;\":\"\\u29DD\",\"inodot;\":\"\\u0131\",\"Int;\":\"\\u222C\",\"int;\":\"\\u222B\",\"intcal;\":\"\\u22BA\",\"integers;\":\"\\u2124\",\"Integral;\":\"\\u222B\",\"intercal;\":\"\\u22BA\",\"Intersection;\":\"\\u22C2\",\"intlarhk;\":\"\\u2A17\",\"intprod;\":\"\\u2A3C\",\"InvisibleComma;\":\"\\u2063\",\"InvisibleTimes;\":\"\\u2062\",\"IOcy;\":\"\\u0401\",\"iocy;\":\"\\u0451\",\"Iogon;\":\"\\u012E\",\"iogon;\":\"\\u012F\",\"Iopf;\":\"\\u{1D540}\",\"iopf;\":\"\\u{1D55A}\",\"Iota;\":\"\\u0399\",\"iota;\":\"\\u03B9\",\"iprod;\":\"\\u2A3C\",\"iquest;\":\"\\xBF\",iquest:\"\\xBF\",\"Iscr;\":\"\\u2110\",\"iscr;\":\"\\u{1D4BE}\",\"isin;\":\"\\u2208\",\"isindot;\":\"\\u22F5\",\"isinE;\":\"\\u22F9\",\"isins;\":\"\\u22F4\",\"isinsv;\":\"\\u22F3\",\"isinv;\":\"\\u2208\",\"it;\":\"\\u2062\",\"Itilde;\":\"\\u0128\",\"itilde;\":\"\\u0129\",\"Iukcy;\":\"\\u0406\",\"iukcy;\":\"\\u0456\",\"Iuml;\":\"\\xCF\",Iuml:\"\\xCF\",\"iuml;\":\"\\xEF\",iuml:\"\\xEF\",\"Jcirc;\":\"\\u0134\",\"jcirc;\":\"\\u0135\",\"Jcy;\":\"\\u0419\",\"jcy;\":\"\\u0439\",\"Jfr;\":\"\\u{1D50D}\",\"jfr;\":\"\\u{1D527}\",\"jmath;\":\"\\u0237\",\"Jopf;\":\"\\u{1D541}\",\"jopf;\":\"\\u{1D55B}\",\"Jscr;\":\"\\u{1D4A5}\",\"jscr;\":\"\\u{1D4BF}\",\"Jsercy;\":\"\\u0408\",\"jsercy;\":\"\\u0458\",\"Jukcy;\":\"\\u0404\",\"jukcy;\":\"\\u0454\",\"Kappa;\":\"\\u039A\",\"kappa;\":\"\\u03BA\",\"kappav;\":\"\\u03F0\",\"Kcedil;\":\"\\u0136\",\"kcedil;\":\"\\u0137\",\"Kcy;\":\"\\u041A\",\"kcy;\":\"\\u043A\",\"Kfr;\":\"\\u{1D50E}\",\"kfr;\":\"\\u{1D528}\",\"kgreen;\":\"\\u0138\",\"KHcy;\":\"\\u0425\",\"khcy;\":\"\\u0445\",\"KJcy;\":\"\\u040C\",\"kjcy;\":\"\\u045C\",\"Kopf;\":\"\\u{1D542}\",\"kopf;\":\"\\u{1D55C}\",\"Kscr;\":\"\\u{1D4A6}\",\"kscr;\":\"\\u{1D4C0}\",\"lAarr;\":\"\\u21DA\",\"Lacute;\":\"\\u0139\",\"lacute;\":\"\\u013A\",\"laemptyv;\":\"\\u29B4\",\"lagran;\":\"\\u2112\",\"Lambda;\":\"\\u039B\",\"lambda;\":\"\\u03BB\",\"Lang;\":\"\\u27EA\",\"lang;\":\"\\u27E8\",\"langd;\":\"\\u2991\",\"langle;\":\"\\u27E8\",\"lap;\":\"\\u2A85\",\"Laplacetrf;\":\"\\u2112\",\"laquo;\":\"\\xAB\",laquo:\"\\xAB\",\"Larr;\":\"\\u219E\",\"lArr;\":\"\\u21D0\",\"larr;\":\"\\u2190\",\"larrb;\":\"\\u21E4\",\"larrbfs;\":\"\\u291F\",\"larrfs;\":\"\\u291D\",\"larrhk;\":\"\\u21A9\",\"larrlp;\":\"\\u21AB\",\"larrpl;\":\"\\u2939\",\"larrsim;\":\"\\u2973\",\"larrtl;\":\"\\u21A2\",\"lat;\":\"\\u2AAB\",\"lAtail;\":\"\\u291B\",\"latail;\":\"\\u2919\",\"late;\":\"\\u2AAD\",\"lates;\":\"\\u2AAD\\uFE00\",\"lBarr;\":\"\\u290E\",\"lbarr;\":\"\\u290C\",\"lbbrk;\":\"\\u2772\",\"lbrace;\":\"{\",\"lbrack;\":\"[\",\"lbrke;\":\"\\u298B\",\"lbrksld;\":\"\\u298F\",\"lbrkslu;\":\"\\u298D\",\"Lcaron;\":\"\\u013D\",\"lcaron;\":\"\\u013E\",\"Lcedil;\":\"\\u013B\",\"lcedil;\":\"\\u013C\",\"lceil;\":\"\\u2308\",\"lcub;\":\"{\",\"Lcy;\":\"\\u041B\",\"lcy;\":\"\\u043B\",\"ldca;\":\"\\u2936\",\"ldquo;\":\"\\u201C\",\"ldquor;\":\"\\u201E\",\"ldrdhar;\":\"\\u2967\",\"ldrushar;\":\"\\u294B\",\"ldsh;\":\"\\u21B2\",\"lE;\":\"\\u2266\",\"le;\":\"\\u2264\",\"LeftAngleBracket;\":\"\\u27E8\",\"LeftArrow;\":\"\\u2190\",\"Leftarrow;\":\"\\u21D0\",\"leftarrow;\":\"\\u2190\",\"LeftArrowBar;\":\"\\u21E4\",\"LeftArrowRightArrow;\":\"\\u21C6\",\"leftarrowtail;\":\"\\u21A2\",\"LeftCeiling;\":\"\\u2308\",\"LeftDoubleBracket;\":\"\\u27E6\",\"LeftDownTeeVector;\":\"\\u2961\",\"LeftDownVector;\":\"\\u21C3\",\"LeftDownVectorBar;\":\"\\u2959\",\"LeftFloor;\":\"\\u230A\",\"leftharpoondown;\":\"\\u21BD\",\"leftharpoonup;\":\"\\u21BC\",\"leftleftarrows;\":\"\\u21C7\",\"LeftRightArrow;\":\"\\u2194\",\"Leftrightarrow;\":\"\\u21D4\",\"leftrightarrow;\":\"\\u2194\",\"leftrightarrows;\":\"\\u21C6\",\"leftrightharpoons;\":\"\\u21CB\",\"leftrightsquigarrow;\":\"\\u21AD\",\"LeftRightVector;\":\"\\u294E\",\"LeftTee;\":\"\\u22A3\",\"LeftTeeArrow;\":\"\\u21A4\",\"LeftTeeVector;\":\"\\u295A\",\"leftthreetimes;\":\"\\u22CB\",\"LeftTriangle;\":\"\\u22B2\",\"LeftTriangleBar;\":\"\\u29CF\",\"LeftTriangleEqual;\":\"\\u22B4\",\"LeftUpDownVector;\":\"\\u2951\",\"LeftUpTeeVector;\":\"\\u2960\",\"LeftUpVector;\":\"\\u21BF\",\"LeftUpVectorBar;\":\"\\u2958\",\"LeftVector;\":\"\\u21BC\",\"LeftVectorBar;\":\"\\u2952\",\"lEg;\":\"\\u2A8B\",\"leg;\":\"\\u22DA\",\"leq;\":\"\\u2264\",\"leqq;\":\"\\u2266\",\"leqslant;\":\"\\u2A7D\",\"les;\":\"\\u2A7D\",\"lescc;\":\"\\u2AA8\",\"lesdot;\":\"\\u2A7F\",\"lesdoto;\":\"\\u2A81\",\"lesdotor;\":\"\\u2A83\",\"lesg;\":\"\\u22DA\\uFE00\",\"lesges;\":\"\\u2A93\",\"lessapprox;\":\"\\u2A85\",\"lessdot;\":\"\\u22D6\",\"lesseqgtr;\":\"\\u22DA\",\"lesseqqgtr;\":\"\\u2A8B\",\"LessEqualGreater;\":\"\\u22DA\",\"LessFullEqual;\":\"\\u2266\",\"LessGreater;\":\"\\u2276\",\"lessgtr;\":\"\\u2276\",\"LessLess;\":\"\\u2AA1\",\"lesssim;\":\"\\u2272\",\"LessSlantEqual;\":\"\\u2A7D\",\"LessTilde;\":\"\\u2272\",\"lfisht;\":\"\\u297C\",\"lfloor;\":\"\\u230A\",\"Lfr;\":\"\\u{1D50F}\",\"lfr;\":\"\\u{1D529}\",\"lg;\":\"\\u2276\",\"lgE;\":\"\\u2A91\",\"lHar;\":\"\\u2962\",\"lhard;\":\"\\u21BD\",\"lharu;\":\"\\u21BC\",\"lharul;\":\"\\u296A\",\"lhblk;\":\"\\u2584\",\"LJcy;\":\"\\u0409\",\"ljcy;\":\"\\u0459\",\"Ll;\":\"\\u22D8\",\"ll;\":\"\\u226A\",\"llarr;\":\"\\u21C7\",\"llcorner;\":\"\\u231E\",\"Lleftarrow;\":\"\\u21DA\",\"llhard;\":\"\\u296B\",\"lltri;\":\"\\u25FA\",\"Lmidot;\":\"\\u013F\",\"lmidot;\":\"\\u0140\",\"lmoust;\":\"\\u23B0\",\"lmoustache;\":\"\\u23B0\",\"lnap;\":\"\\u2A89\",\"lnapprox;\":\"\\u2A89\",\"lnE;\":\"\\u2268\",\"lne;\":\"\\u2A87\",\"lneq;\":\"\\u2A87\",\"lneqq;\":\"\\u2268\",\"lnsim;\":\"\\u22E6\",\"loang;\":\"\\u27EC\",\"loarr;\":\"\\u21FD\",\"lobrk;\":\"\\u27E6\",\"LongLeftArrow;\":\"\\u27F5\",\"Longleftarrow;\":\"\\u27F8\",\"longleftarrow;\":\"\\u27F5\",\"LongLeftRightArrow;\":\"\\u27F7\",\"Longleftrightarrow;\":\"\\u27FA\",\"longleftrightarrow;\":\"\\u27F7\",\"longmapsto;\":\"\\u27FC\",\"LongRightArrow;\":\"\\u27F6\",\"Longrightarrow;\":\"\\u27F9\",\"longrightarrow;\":\"\\u27F6\",\"looparrowleft;\":\"\\u21AB\",\"looparrowright;\":\"\\u21AC\",\"lopar;\":\"\\u2985\",\"Lopf;\":\"\\u{1D543}\",\"lopf;\":\"\\u{1D55D}\",\"loplus;\":\"\\u2A2D\",\"lotimes;\":\"\\u2A34\",\"lowast;\":\"\\u2217\",\"lowbar;\":\"_\",\"LowerLeftArrow;\":\"\\u2199\",\"LowerRightArrow;\":\"\\u2198\",\"loz;\":\"\\u25CA\",\"lozenge;\":\"\\u25CA\",\"lozf;\":\"\\u29EB\",\"lpar;\":\"(\",\"lparlt;\":\"\\u2993\",\"lrarr;\":\"\\u21C6\",\"lrcorner;\":\"\\u231F\",\"lrhar;\":\"\\u21CB\",\"lrhard;\":\"\\u296D\",\"lrm;\":\"\\u200E\",\"lrtri;\":\"\\u22BF\",\"lsaquo;\":\"\\u2039\",\"Lscr;\":\"\\u2112\",\"lscr;\":\"\\u{1D4C1}\",\"Lsh;\":\"\\u21B0\",\"lsh;\":\"\\u21B0\",\"lsim;\":\"\\u2272\",\"lsime;\":\"\\u2A8D\",\"lsimg;\":\"\\u2A8F\",\"lsqb;\":\"[\",\"lsquo;\":\"\\u2018\",\"lsquor;\":\"\\u201A\",\"Lstrok;\":\"\\u0141\",\"lstrok;\":\"\\u0142\",\"LT;\":\"<\",LT:\"<\",\"Lt;\":\"\\u226A\",\"lt;\":\"<\",lt:\"<\",\"ltcc;\":\"\\u2AA6\",\"ltcir;\":\"\\u2A79\",\"ltdot;\":\"\\u22D6\",\"lthree;\":\"\\u22CB\",\"ltimes;\":\"\\u22C9\",\"ltlarr;\":\"\\u2976\",\"ltquest;\":\"\\u2A7B\",\"ltri;\":\"\\u25C3\",\"ltrie;\":\"\\u22B4\",\"ltrif;\":\"\\u25C2\",\"ltrPar;\":\"\\u2996\",\"lurdshar;\":\"\\u294A\",\"luruhar;\":\"\\u2966\",\"lvertneqq;\":\"\\u2268\\uFE00\",\"lvnE;\":\"\\u2268\\uFE00\",\"macr;\":\"\\xAF\",macr:\"\\xAF\",\"male;\":\"\\u2642\",\"malt;\":\"\\u2720\",\"maltese;\":\"\\u2720\",\"Map;\":\"\\u2905\",\"map;\":\"\\u21A6\",\"mapsto;\":\"\\u21A6\",\"mapstodown;\":\"\\u21A7\",\"mapstoleft;\":\"\\u21A4\",\"mapstoup;\":\"\\u21A5\",\"marker;\":\"\\u25AE\",\"mcomma;\":\"\\u2A29\",\"Mcy;\":\"\\u041C\",\"mcy;\":\"\\u043C\",\"mdash;\":\"\\u2014\",\"mDDot;\":\"\\u223A\",\"measuredangle;\":\"\\u2221\",\"MediumSpace;\":\"\\u205F\",\"Mellintrf;\":\"\\u2133\",\"Mfr;\":\"\\u{1D510}\",\"mfr;\":\"\\u{1D52A}\",\"mho;\":\"\\u2127\",\"micro;\":\"\\xB5\",micro:\"\\xB5\",\"mid;\":\"\\u2223\",\"midast;\":\"*\",\"midcir;\":\"\\u2AF0\",\"middot;\":\"\\xB7\",middot:\"\\xB7\",\"minus;\":\"\\u2212\",\"minusb;\":\"\\u229F\",\"minusd;\":\"\\u2238\",\"minusdu;\":\"\\u2A2A\",\"MinusPlus;\":\"\\u2213\",\"mlcp;\":\"\\u2ADB\",\"mldr;\":\"\\u2026\",\"mnplus;\":\"\\u2213\",\"models;\":\"\\u22A7\",\"Mopf;\":\"\\u{1D544}\",\"mopf;\":\"\\u{1D55E}\",\"mp;\":\"\\u2213\",\"Mscr;\":\"\\u2133\",\"mscr;\":\"\\u{1D4C2}\",\"mstpos;\":\"\\u223E\",\"Mu;\":\"\\u039C\",\"mu;\":\"\\u03BC\",\"multimap;\":\"\\u22B8\",\"mumap;\":\"\\u22B8\",\"nabla;\":\"\\u2207\",\"Nacute;\":\"\\u0143\",\"nacute;\":\"\\u0144\",\"nang;\":\"\\u2220\\u20D2\",\"nap;\":\"\\u2249\",\"napE;\":\"\\u2A70\\u0338\",\"napid;\":\"\\u224B\\u0338\",\"napos;\":\"\\u0149\",\"napprox;\":\"\\u2249\",\"natur;\":\"\\u266E\",\"natural;\":\"\\u266E\",\"naturals;\":\"\\u2115\",\"nbsp;\":\"\\xA0\",nbsp:\"\\xA0\",\"nbump;\":\"\\u224E\\u0338\",\"nbumpe;\":\"\\u224F\\u0338\",\"ncap;\":\"\\u2A43\",\"Ncaron;\":\"\\u0147\",\"ncaron;\":\"\\u0148\",\"Ncedil;\":\"\\u0145\",\"ncedil;\":\"\\u0146\",\"ncong;\":\"\\u2247\",\"ncongdot;\":\"\\u2A6D\\u0338\",\"ncup;\":\"\\u2A42\",\"Ncy;\":\"\\u041D\",\"ncy;\":\"\\u043D\",\"ndash;\":\"\\u2013\",\"ne;\":\"\\u2260\",\"nearhk;\":\"\\u2924\",\"neArr;\":\"\\u21D7\",\"nearr;\":\"\\u2197\",\"nearrow;\":\"\\u2197\",\"nedot;\":\"\\u2250\\u0338\",\"NegativeMediumSpace;\":\"\\u200B\",\"NegativeThickSpace;\":\"\\u200B\",\"NegativeThinSpace;\":\"\\u200B\",\"NegativeVeryThinSpace;\":\"\\u200B\",\"nequiv;\":\"\\u2262\",\"nesear;\":\"\\u2928\",\"nesim;\":\"\\u2242\\u0338\",\"NestedGreaterGreater;\":\"\\u226B\",\"NestedLessLess;\":\"\\u226A\",\"NewLine;\":`\n`,\"nexist;\":\"\\u2204\",\"nexists;\":\"\\u2204\",\"Nfr;\":\"\\u{1D511}\",\"nfr;\":\"\\u{1D52B}\",\"ngE;\":\"\\u2267\\u0338\",\"nge;\":\"\\u2271\",\"ngeq;\":\"\\u2271\",\"ngeqq;\":\"\\u2267\\u0338\",\"ngeqslant;\":\"\\u2A7E\\u0338\",\"nges;\":\"\\u2A7E\\u0338\",\"nGg;\":\"\\u22D9\\u0338\",\"ngsim;\":\"\\u2275\",\"nGt;\":\"\\u226B\\u20D2\",\"ngt;\":\"\\u226F\",\"ngtr;\":\"\\u226F\",\"nGtv;\":\"\\u226B\\u0338\",\"nhArr;\":\"\\u21CE\",\"nharr;\":\"\\u21AE\",\"nhpar;\":\"\\u2AF2\",\"ni;\":\"\\u220B\",\"nis;\":\"\\u22FC\",\"nisd;\":\"\\u22FA\",\"niv;\":\"\\u220B\",\"NJcy;\":\"\\u040A\",\"njcy;\":\"\\u045A\",\"nlArr;\":\"\\u21CD\",\"nlarr;\":\"\\u219A\",\"nldr;\":\"\\u2025\",\"nlE;\":\"\\u2266\\u0338\",\"nle;\":\"\\u2270\",\"nLeftarrow;\":\"\\u21CD\",\"nleftarrow;\":\"\\u219A\",\"nLeftrightarrow;\":\"\\u21CE\",\"nleftrightarrow;\":\"\\u21AE\",\"nleq;\":\"\\u2270\",\"nleqq;\":\"\\u2266\\u0338\",\"nleqslant;\":\"\\u2A7D\\u0338\",\"nles;\":\"\\u2A7D\\u0338\",\"nless;\":\"\\u226E\",\"nLl;\":\"\\u22D8\\u0338\",\"nlsim;\":\"\\u2274\",\"nLt;\":\"\\u226A\\u20D2\",\"nlt;\":\"\\u226E\",\"nltri;\":\"\\u22EA\",\"nltrie;\":\"\\u22EC\",\"nLtv;\":\"\\u226A\\u0338\",\"nmid;\":\"\\u2224\",\"NoBreak;\":\"\\u2060\",\"NonBreakingSpace;\":\"\\xA0\",\"Nopf;\":\"\\u2115\",\"nopf;\":\"\\u{1D55F}\",\"Not;\":\"\\u2AEC\",\"not;\":\"\\xAC\",not:\"\\xAC\",\"NotCongruent;\":\"\\u2262\",\"NotCupCap;\":\"\\u226D\",\"NotDoubleVerticalBar;\":\"\\u2226\",\"NotElement;\":\"\\u2209\",\"NotEqual;\":\"\\u2260\",\"NotEqualTilde;\":\"\\u2242\\u0338\",\"NotExists;\":\"\\u2204\",\"NotGreater;\":\"\\u226F\",\"NotGreaterEqual;\":\"\\u2271\",\"NotGreaterFullEqual;\":\"\\u2267\\u0338\",\"NotGreaterGreater;\":\"\\u226B\\u0338\",\"NotGreaterLess;\":\"\\u2279\",\"NotGreaterSlantEqual;\":\"\\u2A7E\\u0338\",\"NotGreaterTilde;\":\"\\u2275\",\"NotHumpDownHump;\":\"\\u224E\\u0338\",\"NotHumpEqual;\":\"\\u224F\\u0338\",\"notin;\":\"\\u2209\",\"notindot;\":\"\\u22F5\\u0338\",\"notinE;\":\"\\u22F9\\u0338\",\"notinva;\":\"\\u2209\",\"notinvb;\":\"\\u22F7\",\"notinvc;\":\"\\u22F6\",\"NotLeftTriangle;\":\"\\u22EA\",\"NotLeftTriangleBar;\":\"\\u29CF\\u0338\",\"NotLeftTriangleEqual;\":\"\\u22EC\",\"NotLess;\":\"\\u226E\",\"NotLessEqual;\":\"\\u2270\",\"NotLessGreater;\":\"\\u2278\",\"NotLessLess;\":\"\\u226A\\u0338\",\"NotLessSlantEqual;\":\"\\u2A7D\\u0338\",\"NotLessTilde;\":\"\\u2274\",\"NotNestedGreaterGreater;\":\"\\u2AA2\\u0338\",\"NotNestedLessLess;\":\"\\u2AA1\\u0338\",\"notni;\":\"\\u220C\",\"notniva;\":\"\\u220C\",\"notnivb;\":\"\\u22FE\",\"notnivc;\":\"\\u22FD\",\"NotPrecedes;\":\"\\u2280\",\"NotPrecedesEqual;\":\"\\u2AAF\\u0338\",\"NotPrecedesSlantEqual;\":\"\\u22E0\",\"NotReverseElement;\":\"\\u220C\",\"NotRightTriangle;\":\"\\u22EB\",\"NotRightTriangleBar;\":\"\\u29D0\\u0338\",\"NotRightTriangleEqual;\":\"\\u22ED\",\"NotSquareSubset;\":\"\\u228F\\u0338\",\"NotSquareSubsetEqual;\":\"\\u22E2\",\"NotSquareSuperset;\":\"\\u2290\\u0338\",\"NotSquareSupersetEqual;\":\"\\u22E3\",\"NotSubset;\":\"\\u2282\\u20D2\",\"NotSubsetEqual;\":\"\\u2288\",\"NotSucceeds;\":\"\\u2281\",\"NotSucceedsEqual;\":\"\\u2AB0\\u0338\",\"NotSucceedsSlantEqual;\":\"\\u22E1\",\"NotSucceedsTilde;\":\"\\u227F\\u0338\",\"NotSuperset;\":\"\\u2283\\u20D2\",\"NotSupersetEqual;\":\"\\u2289\",\"NotTilde;\":\"\\u2241\",\"NotTildeEqual;\":\"\\u2244\",\"NotTildeFullEqual;\":\"\\u2247\",\"NotTildeTilde;\":\"\\u2249\",\"NotVerticalBar;\":\"\\u2224\",\"npar;\":\"\\u2226\",\"nparallel;\":\"\\u2226\",\"nparsl;\":\"\\u2AFD\\u20E5\",\"npart;\":\"\\u2202\\u0338\",\"npolint;\":\"\\u2A14\",\"npr;\":\"\\u2280\",\"nprcue;\":\"\\u22E0\",\"npre;\":\"\\u2AAF\\u0338\",\"nprec;\":\"\\u2280\",\"npreceq;\":\"\\u2AAF\\u0338\",\"nrArr;\":\"\\u21CF\",\"nrarr;\":\"\\u219B\",\"nrarrc;\":\"\\u2933\\u0338\",\"nrarrw;\":\"\\u219D\\u0338\",\"nRightarrow;\":\"\\u21CF\",\"nrightarrow;\":\"\\u219B\",\"nrtri;\":\"\\u22EB\",\"nrtrie;\":\"\\u22ED\",\"nsc;\":\"\\u2281\",\"nsccue;\":\"\\u22E1\",\"nsce;\":\"\\u2AB0\\u0338\",\"Nscr;\":\"\\u{1D4A9}\",\"nscr;\":\"\\u{1D4C3}\",\"nshortmid;\":\"\\u2224\",\"nshortparallel;\":\"\\u2226\",\"nsim;\":\"\\u2241\",\"nsime;\":\"\\u2244\",\"nsimeq;\":\"\\u2244\",\"nsmid;\":\"\\u2224\",\"nspar;\":\"\\u2226\",\"nsqsube;\":\"\\u22E2\",\"nsqsupe;\":\"\\u22E3\",\"nsub;\":\"\\u2284\",\"nsubE;\":\"\\u2AC5\\u0338\",\"nsube;\":\"\\u2288\",\"nsubset;\":\"\\u2282\\u20D2\",\"nsubseteq;\":\"\\u2288\",\"nsubseteqq;\":\"\\u2AC5\\u0338\",\"nsucc;\":\"\\u2281\",\"nsucceq;\":\"\\u2AB0\\u0338\",\"nsup;\":\"\\u2285\",\"nsupE;\":\"\\u2AC6\\u0338\",\"nsupe;\":\"\\u2289\",\"nsupset;\":\"\\u2283\\u20D2\",\"nsupseteq;\":\"\\u2289\",\"nsupseteqq;\":\"\\u2AC6\\u0338\",\"ntgl;\":\"\\u2279\",\"Ntilde;\":\"\\xD1\",Ntilde:\"\\xD1\",\"ntilde;\":\"\\xF1\",ntilde:\"\\xF1\",\"ntlg;\":\"\\u2278\",\"ntriangleleft;\":\"\\u22EA\",\"ntrianglelefteq;\":\"\\u22EC\",\"ntriangleright;\":\"\\u22EB\",\"ntrianglerighteq;\":\"\\u22ED\",\"Nu;\":\"\\u039D\",\"nu;\":\"\\u03BD\",\"num;\":\"#\",\"numero;\":\"\\u2116\",\"numsp;\":\"\\u2007\",\"nvap;\":\"\\u224D\\u20D2\",\"nVDash;\":\"\\u22AF\",\"nVdash;\":\"\\u22AE\",\"nvDash;\":\"\\u22AD\",\"nvdash;\":\"\\u22AC\",\"nvge;\":\"\\u2265\\u20D2\",\"nvgt;\":\">\\u20D2\",\"nvHarr;\":\"\\u2904\",\"nvinfin;\":\"\\u29DE\",\"nvlArr;\":\"\\u2902\",\"nvle;\":\"\\u2264\\u20D2\",\"nvlt;\":\"<\\u20D2\",\"nvltrie;\":\"\\u22B4\\u20D2\",\"nvrArr;\":\"\\u2903\",\"nvrtrie;\":\"\\u22B5\\u20D2\",\"nvsim;\":\"\\u223C\\u20D2\",\"nwarhk;\":\"\\u2923\",\"nwArr;\":\"\\u21D6\",\"nwarr;\":\"\\u2196\",\"nwarrow;\":\"\\u2196\",\"nwnear;\":\"\\u2927\",\"Oacute;\":\"\\xD3\",Oacute:\"\\xD3\",\"oacute;\":\"\\xF3\",oacute:\"\\xF3\",\"oast;\":\"\\u229B\",\"ocir;\":\"\\u229A\",\"Ocirc;\":\"\\xD4\",Ocirc:\"\\xD4\",\"ocirc;\":\"\\xF4\",ocirc:\"\\xF4\",\"Ocy;\":\"\\u041E\",\"ocy;\":\"\\u043E\",\"odash;\":\"\\u229D\",\"Odblac;\":\"\\u0150\",\"odblac;\":\"\\u0151\",\"odiv;\":\"\\u2A38\",\"odot;\":\"\\u2299\",\"odsold;\":\"\\u29BC\",\"OElig;\":\"\\u0152\",\"oelig;\":\"\\u0153\",\"ofcir;\":\"\\u29BF\",\"Ofr;\":\"\\u{1D512}\",\"ofr;\":\"\\u{1D52C}\",\"ogon;\":\"\\u02DB\",\"Ograve;\":\"\\xD2\",Ograve:\"\\xD2\",\"ograve;\":\"\\xF2\",ograve:\"\\xF2\",\"ogt;\":\"\\u29C1\",\"ohbar;\":\"\\u29B5\",\"ohm;\":\"\\u03A9\",\"oint;\":\"\\u222E\",\"olarr;\":\"\\u21BA\",\"olcir;\":\"\\u29BE\",\"olcross;\":\"\\u29BB\",\"oline;\":\"\\u203E\",\"olt;\":\"\\u29C0\",\"Omacr;\":\"\\u014C\",\"omacr;\":\"\\u014D\",\"Omega;\":\"\\u03A9\",\"omega;\":\"\\u03C9\",\"Omicron;\":\"\\u039F\",\"omicron;\":\"\\u03BF\",\"omid;\":\"\\u29B6\",\"ominus;\":\"\\u2296\",\"Oopf;\":\"\\u{1D546}\",\"oopf;\":\"\\u{1D560}\",\"opar;\":\"\\u29B7\",\"OpenCurlyDoubleQuote;\":\"\\u201C\",\"OpenCurlyQuote;\":\"\\u2018\",\"operp;\":\"\\u29B9\",\"oplus;\":\"\\u2295\",\"Or;\":\"\\u2A54\",\"or;\":\"\\u2228\",\"orarr;\":\"\\u21BB\",\"ord;\":\"\\u2A5D\",\"order;\":\"\\u2134\",\"orderof;\":\"\\u2134\",\"ordf;\":\"\\xAA\",ordf:\"\\xAA\",\"ordm;\":\"\\xBA\",ordm:\"\\xBA\",\"origof;\":\"\\u22B6\",\"oror;\":\"\\u2A56\",\"orslope;\":\"\\u2A57\",\"orv;\":\"\\u2A5B\",\"oS;\":\"\\u24C8\",\"Oscr;\":\"\\u{1D4AA}\",\"oscr;\":\"\\u2134\",\"Oslash;\":\"\\xD8\",Oslash:\"\\xD8\",\"oslash;\":\"\\xF8\",oslash:\"\\xF8\",\"osol;\":\"\\u2298\",\"Otilde;\":\"\\xD5\",Otilde:\"\\xD5\",\"otilde;\":\"\\xF5\",otilde:\"\\xF5\",\"Otimes;\":\"\\u2A37\",\"otimes;\":\"\\u2297\",\"otimesas;\":\"\\u2A36\",\"Ouml;\":\"\\xD6\",Ouml:\"\\xD6\",\"ouml;\":\"\\xF6\",ouml:\"\\xF6\",\"ovbar;\":\"\\u233D\",\"OverBar;\":\"\\u203E\",\"OverBrace;\":\"\\u23DE\",\"OverBracket;\":\"\\u23B4\",\"OverParenthesis;\":\"\\u23DC\",\"par;\":\"\\u2225\",\"para;\":\"\\xB6\",para:\"\\xB6\",\"parallel;\":\"\\u2225\",\"parsim;\":\"\\u2AF3\",\"parsl;\":\"\\u2AFD\",\"part;\":\"\\u2202\",\"PartialD;\":\"\\u2202\",\"Pcy;\":\"\\u041F\",\"pcy;\":\"\\u043F\",\"percnt;\":\"%\",\"period;\":\".\",\"permil;\":\"\\u2030\",\"perp;\":\"\\u22A5\",\"pertenk;\":\"\\u2031\",\"Pfr;\":\"\\u{1D513}\",\"pfr;\":\"\\u{1D52D}\",\"Phi;\":\"\\u03A6\",\"phi;\":\"\\u03C6\",\"phiv;\":\"\\u03D5\",\"phmmat;\":\"\\u2133\",\"phone;\":\"\\u260E\",\"Pi;\":\"\\u03A0\",\"pi;\":\"\\u03C0\",\"pitchfork;\":\"\\u22D4\",\"piv;\":\"\\u03D6\",\"planck;\":\"\\u210F\",\"planckh;\":\"\\u210E\",\"plankv;\":\"\\u210F\",\"plus;\":\"+\",\"plusacir;\":\"\\u2A23\",\"plusb;\":\"\\u229E\",\"pluscir;\":\"\\u2A22\",\"plusdo;\":\"\\u2214\",\"plusdu;\":\"\\u2A25\",\"pluse;\":\"\\u2A72\",\"PlusMinus;\":\"\\xB1\",\"plusmn;\":\"\\xB1\",plusmn:\"\\xB1\",\"plussim;\":\"\\u2A26\",\"plustwo;\":\"\\u2A27\",\"pm;\":\"\\xB1\",\"Poincareplane;\":\"\\u210C\",\"pointint;\":\"\\u2A15\",\"Popf;\":\"\\u2119\",\"popf;\":\"\\u{1D561}\",\"pound;\":\"\\xA3\",pound:\"\\xA3\",\"Pr;\":\"\\u2ABB\",\"pr;\":\"\\u227A\",\"prap;\":\"\\u2AB7\",\"prcue;\":\"\\u227C\",\"prE;\":\"\\u2AB3\",\"pre;\":\"\\u2AAF\",\"prec;\":\"\\u227A\",\"precapprox;\":\"\\u2AB7\",\"preccurlyeq;\":\"\\u227C\",\"Precedes;\":\"\\u227A\",\"PrecedesEqual;\":\"\\u2AAF\",\"PrecedesSlantEqual;\":\"\\u227C\",\"PrecedesTilde;\":\"\\u227E\",\"preceq;\":\"\\u2AAF\",\"precnapprox;\":\"\\u2AB9\",\"precneqq;\":\"\\u2AB5\",\"precnsim;\":\"\\u22E8\",\"precsim;\":\"\\u227E\",\"Prime;\":\"\\u2033\",\"prime;\":\"\\u2032\",\"primes;\":\"\\u2119\",\"prnap;\":\"\\u2AB9\",\"prnE;\":\"\\u2AB5\",\"prnsim;\":\"\\u22E8\",\"prod;\":\"\\u220F\",\"Product;\":\"\\u220F\",\"profalar;\":\"\\u232E\",\"profline;\":\"\\u2312\",\"profsurf;\":\"\\u2313\",\"prop;\":\"\\u221D\",\"Proportion;\":\"\\u2237\",\"Proportional;\":\"\\u221D\",\"propto;\":\"\\u221D\",\"prsim;\":\"\\u227E\",\"prurel;\":\"\\u22B0\",\"Pscr;\":\"\\u{1D4AB}\",\"pscr;\":\"\\u{1D4C5}\",\"Psi;\":\"\\u03A8\",\"psi;\":\"\\u03C8\",\"puncsp;\":\"\\u2008\",\"Qfr;\":\"\\u{1D514}\",\"qfr;\":\"\\u{1D52E}\",\"qint;\":\"\\u2A0C\",\"Qopf;\":\"\\u211A\",\"qopf;\":\"\\u{1D562}\",\"qprime;\":\"\\u2057\",\"Qscr;\":\"\\u{1D4AC}\",\"qscr;\":\"\\u{1D4C6}\",\"quaternions;\":\"\\u210D\",\"quatint;\":\"\\u2A16\",\"quest;\":\"?\",\"questeq;\":\"\\u225F\",\"QUOT;\":'\"',QUOT:'\"',\"quot;\":'\"',quot:'\"',\"rAarr;\":\"\\u21DB\",\"race;\":\"\\u223D\\u0331\",\"Racute;\":\"\\u0154\",\"racute;\":\"\\u0155\",\"radic;\":\"\\u221A\",\"raemptyv;\":\"\\u29B3\",\"Rang;\":\"\\u27EB\",\"rang;\":\"\\u27E9\",\"rangd;\":\"\\u2992\",\"range;\":\"\\u29A5\",\"rangle;\":\"\\u27E9\",\"raquo;\":\"\\xBB\",raquo:\"\\xBB\",\"Rarr;\":\"\\u21A0\",\"rArr;\":\"\\u21D2\",\"rarr;\":\"\\u2192\",\"rarrap;\":\"\\u2975\",\"rarrb;\":\"\\u21E5\",\"rarrbfs;\":\"\\u2920\",\"rarrc;\":\"\\u2933\",\"rarrfs;\":\"\\u291E\",\"rarrhk;\":\"\\u21AA\",\"rarrlp;\":\"\\u21AC\",\"rarrpl;\":\"\\u2945\",\"rarrsim;\":\"\\u2974\",\"Rarrtl;\":\"\\u2916\",\"rarrtl;\":\"\\u21A3\",\"rarrw;\":\"\\u219D\",\"rAtail;\":\"\\u291C\",\"ratail;\":\"\\u291A\",\"ratio;\":\"\\u2236\",\"rationals;\":\"\\u211A\",\"RBarr;\":\"\\u2910\",\"rBarr;\":\"\\u290F\",\"rbarr;\":\"\\u290D\",\"rbbrk;\":\"\\u2773\",\"rbrace;\":\"}\",\"rbrack;\":\"]\",\"rbrke;\":\"\\u298C\",\"rbrksld;\":\"\\u298E\",\"rbrkslu;\":\"\\u2990\",\"Rcaron;\":\"\\u0158\",\"rcaron;\":\"\\u0159\",\"Rcedil;\":\"\\u0156\",\"rcedil;\":\"\\u0157\",\"rceil;\":\"\\u2309\",\"rcub;\":\"}\",\"Rcy;\":\"\\u0420\",\"rcy;\":\"\\u0440\",\"rdca;\":\"\\u2937\",\"rdldhar;\":\"\\u2969\",\"rdquo;\":\"\\u201D\",\"rdquor;\":\"\\u201D\",\"rdsh;\":\"\\u21B3\",\"Re;\":\"\\u211C\",\"real;\":\"\\u211C\",\"realine;\":\"\\u211B\",\"realpart;\":\"\\u211C\",\"reals;\":\"\\u211D\",\"rect;\":\"\\u25AD\",\"REG;\":\"\\xAE\",REG:\"\\xAE\",\"reg;\":\"\\xAE\",reg:\"\\xAE\",\"ReverseElement;\":\"\\u220B\",\"ReverseEquilibrium;\":\"\\u21CB\",\"ReverseUpEquilibrium;\":\"\\u296F\",\"rfisht;\":\"\\u297D\",\"rfloor;\":\"\\u230B\",\"Rfr;\":\"\\u211C\",\"rfr;\":\"\\u{1D52F}\",\"rHar;\":\"\\u2964\",\"rhard;\":\"\\u21C1\",\"rharu;\":\"\\u21C0\",\"rharul;\":\"\\u296C\",\"Rho;\":\"\\u03A1\",\"rho;\":\"\\u03C1\",\"rhov;\":\"\\u03F1\",\"RightAngleBracket;\":\"\\u27E9\",\"RightArrow;\":\"\\u2192\",\"Rightarrow;\":\"\\u21D2\",\"rightarrow;\":\"\\u2192\",\"RightArrowBar;\":\"\\u21E5\",\"RightArrowLeftArrow;\":\"\\u21C4\",\"rightarrowtail;\":\"\\u21A3\",\"RightCeiling;\":\"\\u2309\",\"RightDoubleBracket;\":\"\\u27E7\",\"RightDownTeeVector;\":\"\\u295D\",\"RightDownVector;\":\"\\u21C2\",\"RightDownVectorBar;\":\"\\u2955\",\"RightFloor;\":\"\\u230B\",\"rightharpoondown;\":\"\\u21C1\",\"rightharpoonup;\":\"\\u21C0\",\"rightleftarrows;\":\"\\u21C4\",\"rightleftharpoons;\":\"\\u21CC\",\"rightrightarrows;\":\"\\u21C9\",\"rightsquigarrow;\":\"\\u219D\",\"RightTee;\":\"\\u22A2\",\"RightTeeArrow;\":\"\\u21A6\",\"RightTeeVector;\":\"\\u295B\",\"rightthreetimes;\":\"\\u22CC\",\"RightTriangle;\":\"\\u22B3\",\"RightTriangleBar;\":\"\\u29D0\",\"RightTriangleEqual;\":\"\\u22B5\",\"RightUpDownVector;\":\"\\u294F\",\"RightUpTeeVector;\":\"\\u295C\",\"RightUpVector;\":\"\\u21BE\",\"RightUpVectorBar;\":\"\\u2954\",\"RightVector;\":\"\\u21C0\",\"RightVectorBar;\":\"\\u2953\",\"ring;\":\"\\u02DA\",\"risingdotseq;\":\"\\u2253\",\"rlarr;\":\"\\u21C4\",\"rlhar;\":\"\\u21CC\",\"rlm;\":\"\\u200F\",\"rmoust;\":\"\\u23B1\",\"rmoustache;\":\"\\u23B1\",\"rnmid;\":\"\\u2AEE\",\"roang;\":\"\\u27ED\",\"roarr;\":\"\\u21FE\",\"robrk;\":\"\\u27E7\",\"ropar;\":\"\\u2986\",\"Ropf;\":\"\\u211D\",\"ropf;\":\"\\u{1D563}\",\"roplus;\":\"\\u2A2E\",\"rotimes;\":\"\\u2A35\",\"RoundImplies;\":\"\\u2970\",\"rpar;\":\")\",\"rpargt;\":\"\\u2994\",\"rppolint;\":\"\\u2A12\",\"rrarr;\":\"\\u21C9\",\"Rrightarrow;\":\"\\u21DB\",\"rsaquo;\":\"\\u203A\",\"Rscr;\":\"\\u211B\",\"rscr;\":\"\\u{1D4C7}\",\"Rsh;\":\"\\u21B1\",\"rsh;\":\"\\u21B1\",\"rsqb;\":\"]\",\"rsquo;\":\"\\u2019\",\"rsquor;\":\"\\u2019\",\"rthree;\":\"\\u22CC\",\"rtimes;\":\"\\u22CA\",\"rtri;\":\"\\u25B9\",\"rtrie;\":\"\\u22B5\",\"rtrif;\":\"\\u25B8\",\"rtriltri;\":\"\\u29CE\",\"RuleDelayed;\":\"\\u29F4\",\"ruluhar;\":\"\\u2968\",\"rx;\":\"\\u211E\",\"Sacute;\":\"\\u015A\",\"sacute;\":\"\\u015B\",\"sbquo;\":\"\\u201A\",\"Sc;\":\"\\u2ABC\",\"sc;\":\"\\u227B\",\"scap;\":\"\\u2AB8\",\"Scaron;\":\"\\u0160\",\"scaron;\":\"\\u0161\",\"sccue;\":\"\\u227D\",\"scE;\":\"\\u2AB4\",\"sce;\":\"\\u2AB0\",\"Scedil;\":\"\\u015E\",\"scedil;\":\"\\u015F\",\"Scirc;\":\"\\u015C\",\"scirc;\":\"\\u015D\",\"scnap;\":\"\\u2ABA\",\"scnE;\":\"\\u2AB6\",\"scnsim;\":\"\\u22E9\",\"scpolint;\":\"\\u2A13\",\"scsim;\":\"\\u227F\",\"Scy;\":\"\\u0421\",\"scy;\":\"\\u0441\",\"sdot;\":\"\\u22C5\",\"sdotb;\":\"\\u22A1\",\"sdote;\":\"\\u2A66\",\"searhk;\":\"\\u2925\",\"seArr;\":\"\\u21D8\",\"searr;\":\"\\u2198\",\"searrow;\":\"\\u2198\",\"sect;\":\"\\xA7\",sect:\"\\xA7\",\"semi;\":\";\",\"seswar;\":\"\\u2929\",\"setminus;\":\"\\u2216\",\"setmn;\":\"\\u2216\",\"sext;\":\"\\u2736\",\"Sfr;\":\"\\u{1D516}\",\"sfr;\":\"\\u{1D530}\",\"sfrown;\":\"\\u2322\",\"sharp;\":\"\\u266F\",\"SHCHcy;\":\"\\u0429\",\"shchcy;\":\"\\u0449\",\"SHcy;\":\"\\u0428\",\"shcy;\":\"\\u0448\",\"ShortDownArrow;\":\"\\u2193\",\"ShortLeftArrow;\":\"\\u2190\",\"shortmid;\":\"\\u2223\",\"shortparallel;\":\"\\u2225\",\"ShortRightArrow;\":\"\\u2192\",\"ShortUpArrow;\":\"\\u2191\",\"shy;\":\"\\xAD\",shy:\"\\xAD\",\"Sigma;\":\"\\u03A3\",\"sigma;\":\"\\u03C3\",\"sigmaf;\":\"\\u03C2\",\"sigmav;\":\"\\u03C2\",\"sim;\":\"\\u223C\",\"simdot;\":\"\\u2A6A\",\"sime;\":\"\\u2243\",\"simeq;\":\"\\u2243\",\"simg;\":\"\\u2A9E\",\"simgE;\":\"\\u2AA0\",\"siml;\":\"\\u2A9D\",\"simlE;\":\"\\u2A9F\",\"simne;\":\"\\u2246\",\"simplus;\":\"\\u2A24\",\"simrarr;\":\"\\u2972\",\"slarr;\":\"\\u2190\",\"SmallCircle;\":\"\\u2218\",\"smallsetminus;\":\"\\u2216\",\"smashp;\":\"\\u2A33\",\"smeparsl;\":\"\\u29E4\",\"smid;\":\"\\u2223\",\"smile;\":\"\\u2323\",\"smt;\":\"\\u2AAA\",\"smte;\":\"\\u2AAC\",\"smtes;\":\"\\u2AAC\\uFE00\",\"SOFTcy;\":\"\\u042C\",\"softcy;\":\"\\u044C\",\"sol;\":\"/\",\"solb;\":\"\\u29C4\",\"solbar;\":\"\\u233F\",\"Sopf;\":\"\\u{1D54A}\",\"sopf;\":\"\\u{1D564}\",\"spades;\":\"\\u2660\",\"spadesuit;\":\"\\u2660\",\"spar;\":\"\\u2225\",\"sqcap;\":\"\\u2293\",\"sqcaps;\":\"\\u2293\\uFE00\",\"sqcup;\":\"\\u2294\",\"sqcups;\":\"\\u2294\\uFE00\",\"Sqrt;\":\"\\u221A\",\"sqsub;\":\"\\u228F\",\"sqsube;\":\"\\u2291\",\"sqsubset;\":\"\\u228F\",\"sqsubseteq;\":\"\\u2291\",\"sqsup;\":\"\\u2290\",\"sqsupe;\":\"\\u2292\",\"sqsupset;\":\"\\u2290\",\"sqsupseteq;\":\"\\u2292\",\"squ;\":\"\\u25A1\",\"Square;\":\"\\u25A1\",\"square;\":\"\\u25A1\",\"SquareIntersection;\":\"\\u2293\",\"SquareSubset;\":\"\\u228F\",\"SquareSubsetEqual;\":\"\\u2291\",\"SquareSuperset;\":\"\\u2290\",\"SquareSupersetEqual;\":\"\\u2292\",\"SquareUnion;\":\"\\u2294\",\"squarf;\":\"\\u25AA\",\"squf;\":\"\\u25AA\",\"srarr;\":\"\\u2192\",\"Sscr;\":\"\\u{1D4AE}\",\"sscr;\":\"\\u{1D4C8}\",\"ssetmn;\":\"\\u2216\",\"ssmile;\":\"\\u2323\",\"sstarf;\":\"\\u22C6\",\"Star;\":\"\\u22C6\",\"star;\":\"\\u2606\",\"starf;\":\"\\u2605\",\"straightepsilon;\":\"\\u03F5\",\"straightphi;\":\"\\u03D5\",\"strns;\":\"\\xAF\",\"Sub;\":\"\\u22D0\",\"sub;\":\"\\u2282\",\"subdot;\":\"\\u2ABD\",\"subE;\":\"\\u2AC5\",\"sube;\":\"\\u2286\",\"subedot;\":\"\\u2AC3\",\"submult;\":\"\\u2AC1\",\"subnE;\":\"\\u2ACB\",\"subne;\":\"\\u228A\",\"subplus;\":\"\\u2ABF\",\"subrarr;\":\"\\u2979\",\"Subset;\":\"\\u22D0\",\"subset;\":\"\\u2282\",\"subseteq;\":\"\\u2286\",\"subseteqq;\":\"\\u2AC5\",\"SubsetEqual;\":\"\\u2286\",\"subsetneq;\":\"\\u228A\",\"subsetneqq;\":\"\\u2ACB\",\"subsim;\":\"\\u2AC7\",\"subsub;\":\"\\u2AD5\",\"subsup;\":\"\\u2AD3\",\"succ;\":\"\\u227B\",\"succapprox;\":\"\\u2AB8\",\"succcurlyeq;\":\"\\u227D\",\"Succeeds;\":\"\\u227B\",\"SucceedsEqual;\":\"\\u2AB0\",\"SucceedsSlantEqual;\":\"\\u227D\",\"SucceedsTilde;\":\"\\u227F\",\"succeq;\":\"\\u2AB0\",\"succnapprox;\":\"\\u2ABA\",\"succneqq;\":\"\\u2AB6\",\"succnsim;\":\"\\u22E9\",\"succsim;\":\"\\u227F\",\"SuchThat;\":\"\\u220B\",\"Sum;\":\"\\u2211\",\"sum;\":\"\\u2211\",\"sung;\":\"\\u266A\",\"Sup;\":\"\\u22D1\",\"sup;\":\"\\u2283\",\"sup1;\":\"\\xB9\",sup1:\"\\xB9\",\"sup2;\":\"\\xB2\",sup2:\"\\xB2\",\"sup3;\":\"\\xB3\",sup3:\"\\xB3\",\"supdot;\":\"\\u2ABE\",\"supdsub;\":\"\\u2AD8\",\"supE;\":\"\\u2AC6\",\"supe;\":\"\\u2287\",\"supedot;\":\"\\u2AC4\",\"Superset;\":\"\\u2283\",\"SupersetEqual;\":\"\\u2287\",\"suphsol;\":\"\\u27C9\",\"suphsub;\":\"\\u2AD7\",\"suplarr;\":\"\\u297B\",\"supmult;\":\"\\u2AC2\",\"supnE;\":\"\\u2ACC\",\"supne;\":\"\\u228B\",\"supplus;\":\"\\u2AC0\",\"Supset;\":\"\\u22D1\",\"supset;\":\"\\u2283\",\"supseteq;\":\"\\u2287\",\"supseteqq;\":\"\\u2AC6\",\"supsetneq;\":\"\\u228B\",\"supsetneqq;\":\"\\u2ACC\",\"supsim;\":\"\\u2AC8\",\"supsub;\":\"\\u2AD4\",\"supsup;\":\"\\u2AD6\",\"swarhk;\":\"\\u2926\",\"swArr;\":\"\\u21D9\",\"swarr;\":\"\\u2199\",\"swarrow;\":\"\\u2199\",\"swnwar;\":\"\\u292A\",\"szlig;\":\"\\xDF\",szlig:\"\\xDF\",\"Tab;\":\"\t\",\"target;\":\"\\u2316\",\"Tau;\":\"\\u03A4\",\"tau;\":\"\\u03C4\",\"tbrk;\":\"\\u23B4\",\"Tcaron;\":\"\\u0164\",\"tcaron;\":\"\\u0165\",\"Tcedil;\":\"\\u0162\",\"tcedil;\":\"\\u0163\",\"Tcy;\":\"\\u0422\",\"tcy;\":\"\\u0442\",\"tdot;\":\"\\u20DB\",\"telrec;\":\"\\u2315\",\"Tfr;\":\"\\u{1D517}\",\"tfr;\":\"\\u{1D531}\",\"there4;\":\"\\u2234\",\"Therefore;\":\"\\u2234\",\"therefore;\":\"\\u2234\",\"Theta;\":\"\\u0398\",\"theta;\":\"\\u03B8\",\"thetasym;\":\"\\u03D1\",\"thetav;\":\"\\u03D1\",\"thickapprox;\":\"\\u2248\",\"thicksim;\":\"\\u223C\",\"ThickSpace;\":\"\\u205F\\u200A\",\"thinsp;\":\"\\u2009\",\"ThinSpace;\":\"\\u2009\",\"thkap;\":\"\\u2248\",\"thksim;\":\"\\u223C\",\"THORN;\":\"\\xDE\",THORN:\"\\xDE\",\"thorn;\":\"\\xFE\",thorn:\"\\xFE\",\"Tilde;\":\"\\u223C\",\"tilde;\":\"\\u02DC\",\"TildeEqual;\":\"\\u2243\",\"TildeFullEqual;\":\"\\u2245\",\"TildeTilde;\":\"\\u2248\",\"times;\":\"\\xD7\",times:\"\\xD7\",\"timesb;\":\"\\u22A0\",\"timesbar;\":\"\\u2A31\",\"timesd;\":\"\\u2A30\",\"tint;\":\"\\u222D\",\"toea;\":\"\\u2928\",\"top;\":\"\\u22A4\",\"topbot;\":\"\\u2336\",\"topcir;\":\"\\u2AF1\",\"Topf;\":\"\\u{1D54B}\",\"topf;\":\"\\u{1D565}\",\"topfork;\":\"\\u2ADA\",\"tosa;\":\"\\u2929\",\"tprime;\":\"\\u2034\",\"TRADE;\":\"\\u2122\",\"trade;\":\"\\u2122\",\"triangle;\":\"\\u25B5\",\"triangledown;\":\"\\u25BF\",\"triangleleft;\":\"\\u25C3\",\"trianglelefteq;\":\"\\u22B4\",\"triangleq;\":\"\\u225C\",\"triangleright;\":\"\\u25B9\",\"trianglerighteq;\":\"\\u22B5\",\"tridot;\":\"\\u25EC\",\"trie;\":\"\\u225C\",\"triminus;\":\"\\u2A3A\",\"TripleDot;\":\"\\u20DB\",\"triplus;\":\"\\u2A39\",\"trisb;\":\"\\u29CD\",\"tritime;\":\"\\u2A3B\",\"trpezium;\":\"\\u23E2\",\"Tscr;\":\"\\u{1D4AF}\",\"tscr;\":\"\\u{1D4C9}\",\"TScy;\":\"\\u0426\",\"tscy;\":\"\\u0446\",\"TSHcy;\":\"\\u040B\",\"tshcy;\":\"\\u045B\",\"Tstrok;\":\"\\u0166\",\"tstrok;\":\"\\u0167\",\"twixt;\":\"\\u226C\",\"twoheadleftarrow;\":\"\\u219E\",\"twoheadrightarrow;\":\"\\u21A0\",\"Uacute;\":\"\\xDA\",Uacute:\"\\xDA\",\"uacute;\":\"\\xFA\",uacute:\"\\xFA\",\"Uarr;\":\"\\u219F\",\"uArr;\":\"\\u21D1\",\"uarr;\":\"\\u2191\",\"Uarrocir;\":\"\\u2949\",\"Ubrcy;\":\"\\u040E\",\"ubrcy;\":\"\\u045E\",\"Ubreve;\":\"\\u016C\",\"ubreve;\":\"\\u016D\",\"Ucirc;\":\"\\xDB\",Ucirc:\"\\xDB\",\"ucirc;\":\"\\xFB\",ucirc:\"\\xFB\",\"Ucy;\":\"\\u0423\",\"ucy;\":\"\\u0443\",\"udarr;\":\"\\u21C5\",\"Udblac;\":\"\\u0170\",\"udblac;\":\"\\u0171\",\"udhar;\":\"\\u296E\",\"ufisht;\":\"\\u297E\",\"Ufr;\":\"\\u{1D518}\",\"ufr;\":\"\\u{1D532}\",\"Ugrave;\":\"\\xD9\",Ugrave:\"\\xD9\",\"ugrave;\":\"\\xF9\",ugrave:\"\\xF9\",\"uHar;\":\"\\u2963\",\"uharl;\":\"\\u21BF\",\"uharr;\":\"\\u21BE\",\"uhblk;\":\"\\u2580\",\"ulcorn;\":\"\\u231C\",\"ulcorner;\":\"\\u231C\",\"ulcrop;\":\"\\u230F\",\"ultri;\":\"\\u25F8\",\"Umacr;\":\"\\u016A\",\"umacr;\":\"\\u016B\",\"uml;\":\"\\xA8\",uml:\"\\xA8\",\"UnderBar;\":\"_\",\"UnderBrace;\":\"\\u23DF\",\"UnderBracket;\":\"\\u23B5\",\"UnderParenthesis;\":\"\\u23DD\",\"Union;\":\"\\u22C3\",\"UnionPlus;\":\"\\u228E\",\"Uogon;\":\"\\u0172\",\"uogon;\":\"\\u0173\",\"Uopf;\":\"\\u{1D54C}\",\"uopf;\":\"\\u{1D566}\",\"UpArrow;\":\"\\u2191\",\"Uparrow;\":\"\\u21D1\",\"uparrow;\":\"\\u2191\",\"UpArrowBar;\":\"\\u2912\",\"UpArrowDownArrow;\":\"\\u21C5\",\"UpDownArrow;\":\"\\u2195\",\"Updownarrow;\":\"\\u21D5\",\"updownarrow;\":\"\\u2195\",\"UpEquilibrium;\":\"\\u296E\",\"upharpoonleft;\":\"\\u21BF\",\"upharpoonright;\":\"\\u21BE\",\"uplus;\":\"\\u228E\",\"UpperLeftArrow;\":\"\\u2196\",\"UpperRightArrow;\":\"\\u2197\",\"Upsi;\":\"\\u03D2\",\"upsi;\":\"\\u03C5\",\"upsih;\":\"\\u03D2\",\"Upsilon;\":\"\\u03A5\",\"upsilon;\":\"\\u03C5\",\"UpTee;\":\"\\u22A5\",\"UpTeeArrow;\":\"\\u21A5\",\"upuparrows;\":\"\\u21C8\",\"urcorn;\":\"\\u231D\",\"urcorner;\":\"\\u231D\",\"urcrop;\":\"\\u230E\",\"Uring;\":\"\\u016E\",\"uring;\":\"\\u016F\",\"urtri;\":\"\\u25F9\",\"Uscr;\":\"\\u{1D4B0}\",\"uscr;\":\"\\u{1D4CA}\",\"utdot;\":\"\\u22F0\",\"Utilde;\":\"\\u0168\",\"utilde;\":\"\\u0169\",\"utri;\":\"\\u25B5\",\"utrif;\":\"\\u25B4\",\"uuarr;\":\"\\u21C8\",\"Uuml;\":\"\\xDC\",Uuml:\"\\xDC\",\"uuml;\":\"\\xFC\",uuml:\"\\xFC\",\"uwangle;\":\"\\u29A7\",\"vangrt;\":\"\\u299C\",\"varepsilon;\":\"\\u03F5\",\"varkappa;\":\"\\u03F0\",\"varnothing;\":\"\\u2205\",\"varphi;\":\"\\u03D5\",\"varpi;\":\"\\u03D6\",\"varpropto;\":\"\\u221D\",\"vArr;\":\"\\u21D5\",\"varr;\":\"\\u2195\",\"varrho;\":\"\\u03F1\",\"varsigma;\":\"\\u03C2\",\"varsubsetneq;\":\"\\u228A\\uFE00\",\"varsubsetneqq;\":\"\\u2ACB\\uFE00\",\"varsupsetneq;\":\"\\u228B\\uFE00\",\"varsupsetneqq;\":\"\\u2ACC\\uFE00\",\"vartheta;\":\"\\u03D1\",\"vartriangleleft;\":\"\\u22B2\",\"vartriangleright;\":\"\\u22B3\",\"Vbar;\":\"\\u2AEB\",\"vBar;\":\"\\u2AE8\",\"vBarv;\":\"\\u2AE9\",\"Vcy;\":\"\\u0412\",\"vcy;\":\"\\u0432\",\"VDash;\":\"\\u22AB\",\"Vdash;\":\"\\u22A9\",\"vDash;\":\"\\u22A8\",\"vdash;\":\"\\u22A2\",\"Vdashl;\":\"\\u2AE6\",\"Vee;\":\"\\u22C1\",\"vee;\":\"\\u2228\",\"veebar;\":\"\\u22BB\",\"veeeq;\":\"\\u225A\",\"vellip;\":\"\\u22EE\",\"Verbar;\":\"\\u2016\",\"verbar;\":\"|\",\"Vert;\":\"\\u2016\",\"vert;\":\"|\",\"VerticalBar;\":\"\\u2223\",\"VerticalLine;\":\"|\",\"VerticalSeparator;\":\"\\u2758\",\"VerticalTilde;\":\"\\u2240\",\"VeryThinSpace;\":\"\\u200A\",\"Vfr;\":\"\\u{1D519}\",\"vfr;\":\"\\u{1D533}\",\"vltri;\":\"\\u22B2\",\"vnsub;\":\"\\u2282\\u20D2\",\"vnsup;\":\"\\u2283\\u20D2\",\"Vopf;\":\"\\u{1D54D}\",\"vopf;\":\"\\u{1D567}\",\"vprop;\":\"\\u221D\",\"vrtri;\":\"\\u22B3\",\"Vscr;\":\"\\u{1D4B1}\",\"vscr;\":\"\\u{1D4CB}\",\"vsubnE;\":\"\\u2ACB\\uFE00\",\"vsubne;\":\"\\u228A\\uFE00\",\"vsupnE;\":\"\\u2ACC\\uFE00\",\"vsupne;\":\"\\u228B\\uFE00\",\"Vvdash;\":\"\\u22AA\",\"vzigzag;\":\"\\u299A\",\"Wcirc;\":\"\\u0174\",\"wcirc;\":\"\\u0175\",\"wedbar;\":\"\\u2A5F\",\"Wedge;\":\"\\u22C0\",\"wedge;\":\"\\u2227\",\"wedgeq;\":\"\\u2259\",\"weierp;\":\"\\u2118\",\"Wfr;\":\"\\u{1D51A}\",\"wfr;\":\"\\u{1D534}\",\"Wopf;\":\"\\u{1D54E}\",\"wopf;\":\"\\u{1D568}\",\"wp;\":\"\\u2118\",\"wr;\":\"\\u2240\",\"wreath;\":\"\\u2240\",\"Wscr;\":\"\\u{1D4B2}\",\"wscr;\":\"\\u{1D4CC}\",\"xcap;\":\"\\u22C2\",\"xcirc;\":\"\\u25EF\",\"xcup;\":\"\\u22C3\",\"xdtri;\":\"\\u25BD\",\"Xfr;\":\"\\u{1D51B}\",\"xfr;\":\"\\u{1D535}\",\"xhArr;\":\"\\u27FA\",\"xharr;\":\"\\u27F7\",\"Xi;\":\"\\u039E\",\"xi;\":\"\\u03BE\",\"xlArr;\":\"\\u27F8\",\"xlarr;\":\"\\u27F5\",\"xmap;\":\"\\u27FC\",\"xnis;\":\"\\u22FB\",\"xodot;\":\"\\u2A00\",\"Xopf;\":\"\\u{1D54F}\",\"xopf;\":\"\\u{1D569}\",\"xoplus;\":\"\\u2A01\",\"xotime;\":\"\\u2A02\",\"xrArr;\":\"\\u27F9\",\"xrarr;\":\"\\u27F6\",\"Xscr;\":\"\\u{1D4B3}\",\"xscr;\":\"\\u{1D4CD}\",\"xsqcup;\":\"\\u2A06\",\"xuplus;\":\"\\u2A04\",\"xutri;\":\"\\u25B3\",\"xvee;\":\"\\u22C1\",\"xwedge;\":\"\\u22C0\",\"Yacute;\":\"\\xDD\",Yacute:\"\\xDD\",\"yacute;\":\"\\xFD\",yacute:\"\\xFD\",\"YAcy;\":\"\\u042F\",\"yacy;\":\"\\u044F\",\"Ycirc;\":\"\\u0176\",\"ycirc;\":\"\\u0177\",\"Ycy;\":\"\\u042B\",\"ycy;\":\"\\u044B\",\"yen;\":\"\\xA5\",yen:\"\\xA5\",\"Yfr;\":\"\\u{1D51C}\",\"yfr;\":\"\\u{1D536}\",\"YIcy;\":\"\\u0407\",\"yicy;\":\"\\u0457\",\"Yopf;\":\"\\u{1D550}\",\"yopf;\":\"\\u{1D56A}\",\"Yscr;\":\"\\u{1D4B4}\",\"yscr;\":\"\\u{1D4CE}\",\"YUcy;\":\"\\u042E\",\"yucy;\":\"\\u044E\",\"Yuml;\":\"\\u0178\",\"yuml;\":\"\\xFF\",yuml:\"\\xFF\",\"Zacute;\":\"\\u0179\",\"zacute;\":\"\\u017A\",\"Zcaron;\":\"\\u017D\",\"zcaron;\":\"\\u017E\",\"Zcy;\":\"\\u0417\",\"zcy;\":\"\\u0437\",\"Zdot;\":\"\\u017B\",\"zdot;\":\"\\u017C\",\"zeetrf;\":\"\\u2128\",\"ZeroWidthSpace;\":\"\\u200B\",\"Zeta;\":\"\\u0396\",\"zeta;\":\"\\u03B6\",\"Zfr;\":\"\\u2128\",\"zfr;\":\"\\u{1D537}\",\"ZHcy;\":\"\\u0416\",\"zhcy;\":\"\\u0436\",\"zigrarr;\":\"\\u21DD\",\"Zopf;\":\"\\u2124\",\"zopf;\":\"\\u{1D56B}\",\"Zscr;\":\"\\u{1D4B5}\",\"zscr;\":\"\\u{1D4CF}\",\"zwj;\":\"\\u200D\",\"zwnj;\":\"\\u200C\"};function Z(t,n){if(t.length<n.length)return!1;for(let o=0;o<n.length;o++)if(t[o]!==n[o])return!1;return!0}function un(t,n){let o=t.length-n.length;return o>0?t.lastIndexOf(n)===o:o===0?t===n:!1}function bt(t,n){let o=\"\";for(;n>0;)(n&1)===1&&(o+=t),t+=t,n=n>>>1;return o}var Qn=97,Zn=122,Kn=65,ei=90,ti=48,ni=57;function re(t,n){let o=t.charCodeAt(n);return Qn<=o&&o<=Zn||Kn<=o&&o<=ei||ti<=o&&o<=ni}function de(t){return typeof t<\"u\"}function cn(t){if(t)return typeof t==\"string\"?{kind:\"markdown\",value:t}:{kind:\"markdown\",value:t.value}}var pe=class{isApplicable(){return!0}constructor(n,o){this.id=n,this._tags=[],this._tagMap={},this._valueSetMap={},this._tags=o.tags||[],this._globalAttributes=o.globalAttributes||[],this._tags.forEach(a=>{this._tagMap[a.name.toLowerCase()]=a}),o.valueSets&&o.valueSets.forEach(a=>{this._valueSetMap[a.name]=a.values})}getId(){return this.id}provideTags(){return this._tags}provideAttributes(n){let o=[],a=r=>{o.push(r)},e=this._tagMap[n.toLowerCase()];return e&&e.attributes.forEach(a),this._globalAttributes.forEach(a),o}provideValues(n,o){let a=[];o=o.toLowerCase();let e=u=>{u.forEach(c=>{c.name.toLowerCase()===o&&(c.values&&c.values.forEach(i=>{a.push(i)}),c.valueSet&&this._valueSetMap[c.valueSet]&&this._valueSetMap[c.valueSet].forEach(i=>{a.push(i)}))})},r=this._tagMap[n.toLowerCase()];return r&&e(r.attributes),e(this._globalAttributes),a}};function te(t,n={},o){let a={kind:o?\"markdown\":\"plaintext\",value:\"\"};if(t.description&&n.documentation!==!1){let e=cn(t.description);e&&(a.value+=e.value)}if(t.references&&t.references.length>0&&n.references!==!1&&(a.value.length&&(a.value+=`\n\n`),o?a.value+=t.references.map(e=>`[${e.name}](${e.url})`).join(\" | \"):a.value+=t.references.map(e=>`${e.name}: ${e.url}`).join(`\n`)),a.value!==\"\")return a}var Re=class{constructor(n,o){this.dataManager=n,this.readDirectory=o,this.atributeCompletions=[]}onHtmlAttributeValue(n){this.dataManager.isPathAttribute(n.tag,n.attribute)&&this.atributeCompletions.push(n)}async computeCompletions(n,o){let a={items:[],isIncomplete:!1};for(let e of this.atributeCompletions){let r=ai(n.getText(e.range));if(oi(r))if(r===\".\"||r===\"..\")a.isIncomplete=!0;else{let u=si(e.value,r,e.range),c=await this.providePathSuggestions(e.value,u,n,o);for(let i of c)a.items.push(i)}}return a}async providePathSuggestions(n,o,a,e){let r=n.substring(0,n.lastIndexOf(\"/\")+1),u=e.resolveReference(r||\".\",a.uri);if(u)try{let c=[],i=await this.readDirectory(u);for(let[s,l]of i)s.charCodeAt(0)!==ri&&c.push(li(s,l===Ee.Directory,o));return c}catch{}return[]}},ri=46;function ai(t){return Z(t,\"'\")||Z(t,'\"')?t.slice(1,-1):t}function oi(t){return!(Z(t,\"http\")||Z(t,\"https\")||Z(t,\"//\"))}function si(t,n,o){let a,e=t.lastIndexOf(\"/\");if(e===-1)a=ui(o,1,-1);else{let r=n.slice(e+1),u=ye(o.end,-1-r.length),c=r.indexOf(\" \"),i;c!==-1?i=ye(u,c):i=ye(o.end,-1),a=W.create(u,i)}return a}function li(t,n,o){return n?(t=t+\"/\",{label:t,kind:$.Folder,textEdit:G.replace(o,t),command:{title:\"Suggest\",command:\"editor.action.triggerSuggest\"}}):{label:t,kind:$.File,textEdit:G.replace(o,t)}}function ye(t,n){return q.create(t.line,t.character+n)}function ui(t,n,o){let a=ye(t.start,n),e=ye(t.end,o);return W.create(a,e)}var ze=class{constructor(n,o){this.lsOptions=n,this.dataManager=o,this.completionParticipants=[]}setCompletionParticipants(n){this.completionParticipants=n||[]}async doComplete2(n,o,a,e,r){if(!this.lsOptions.fileSystemProvider||!this.lsOptions.fileSystemProvider.readDirectory)return this.doComplete(n,o,a,r);let u=new Re(this.dataManager,this.lsOptions.fileSystemProvider.readDirectory),c=this.completionParticipants;this.completionParticipants=[u].concat(c);let i=this.doComplete(n,o,a,r);try{let s=await u.computeCompletions(n,e);return{isIncomplete:i.isIncomplete||s.isIncomplete,items:s.items.concat(i.items)}}finally{this.completionParticipants=c}}doComplete(n,o,a,e){let r=this._doComplete(n,o,a,e);return this.convertCompletionList(r)}_doComplete(n,o,a,e){let r={isIncomplete:!1,items:[]},u=this.completionParticipants,c=this.dataManager.getDataProviders().filter(k=>k.isApplicable(n.languageId)&&(!e||e[k.getId()]!==!1)),i=this.dataManager.getVoidElements(c),s=this.doesSupportMarkdown(),l=n.getText(),h=n.offsetAt(o),p=a.findNodeBefore(h);if(!p)return r;let m=V(l,p.start),A=\"\",b;function D(k,x=h){return k>h&&(k=h),{start:n.positionAt(k),end:n.positionAt(x)}}function T(k,x){let M=D(k,x);return c.forEach(B=>{B.provideTags().forEach(O=>{r.items.push({label:O.name,kind:$.Property,documentation:te(O,void 0,s),textEdit:G.replace(M,O.name),insertTextFormat:X.PlainText})})}),r}function y(k){let x=k;for(;x>0;){let M=l.charAt(x-1);if(`\n\\r`.indexOf(M)>=0)return l.substring(x,k);if(!He(M))return null;x--}return l.substring(0,k)}function L(k,x,M=h){let B=D(k,M),O=hn(l,M,H.WithinEndTag,S.EndTagClose)?\"\":\">\",z=p;for(x&&(z=z.parent);z;){let U=z.tag;if(U&&(!z.closed||z.endTagStart&&z.endTagStart>h)){let P={label:\"/\"+U,kind:$.Property,filterText:\"/\"+U,textEdit:G.replace(B,\"/\"+U+O),insertTextFormat:X.PlainText},j=y(z.start),K=y(k-1);if(j!==null&&K!==null&&j!==K){let ae=j+\"</\"+U+O;P.textEdit=G.replace(D(k-1-K.length),ae),P.filterText=K+\"</\"+U}return r.items.push(P),r}z=z.parent}return x||c.forEach(U=>{U.provideTags().forEach(P=>{r.items.push({label:\"/\"+P.name,kind:$.Property,documentation:te(P,void 0,s),filterText:\"/\"+P.name+O,textEdit:G.replace(B,\"/\"+P.name+O),insertTextFormat:X.PlainText})})}),r}let I=(k,x)=>{if(e&&e.hideAutoCompleteProposals)return r;if(!this.dataManager.isVoidElement(x,i)){let M=n.positionAt(k);r.items.push({label:\"</\"+x+\">\",kind:$.Property,filterText:\"</\"+x+\">\",textEdit:G.insert(M,\"$0</\"+x+\">\"),insertTextFormat:X.Snippet})}return r};function N(k,x){return T(k,x),L(k,!0,x),r}function F(){let k=Object.create(null);return p.attributeNames.forEach(x=>{k[x]=!0}),k}function f(k,x=h){let M=h;for(;M<x&&l[M]!==\"<\";)M++;let B=l.substring(k,x),O=D(k,M),z=\"\";if(!hn(l,x,H.AfterAttributeName,S.DelimiterAssign)){let P=e?.attributeDefaultValue??\"doublequotes\";P===\"empty\"?z=\"=$1\":P===\"singlequotes\"?z=\"='$1'\":z='=\"$1\"'}let U=F();return U[B]=!1,c.forEach(P=>{P.provideAttributes(A).forEach(j=>{if(U[j.name])return;U[j.name]=!0;let K=j.name,ae;j.valueSet!==\"v\"&&z.length&&(K=K+z,(j.valueSet||j.name===\"style\")&&(ae={title:\"Suggest\",command:\"editor.action.triggerSuggest\"})),r.items.push({label:j.name,kind:j.valueSet===\"handler\"?$.Function:$.Value,documentation:te(j,void 0,s),textEdit:G.replace(O,K),insertTextFormat:X.Snippet,command:ae})})}),d(O,U),r}function d(k,x){let M=\"data-\",B={};B[M]=`${M}$1=\"$2\"`;function O(z){z.attributeNames.forEach(U=>{Z(U,M)&&!B[U]&&!x[U]&&(B[U]=U+'=\"$1\"')}),z.children.forEach(U=>O(U))}a&&a.roots.forEach(z=>O(z)),Object.keys(B).forEach(z=>r.items.push({label:z,kind:$.Value,textEdit:G.replace(k,B[z]),insertTextFormat:X.Snippet}))}function g(k,x=h){let M,B,O;if(h>k&&h<=x&&ci(l[k])){let z=k+1,U=x;x>k&&l[x-1]===l[k]&&U--;let P=hi(l,h,z),j=di(l,h,U);M=D(P,j),O=h>=z&&h<=U?l.substring(z,h):\"\",B=!1}else M=D(k,x),O=l.substring(k,h),B=!0;if(u.length>0){let z=A.toLowerCase(),U=b.toLowerCase(),P=D(k,x);for(let j of u)j.onHtmlAttributeValue&&j.onHtmlAttributeValue({document:n,position:o,tag:z,attribute:U,value:O,range:P})}return c.forEach(z=>{z.provideValues(A,b).forEach(U=>{let P=B?'\"'+U.name+'\"':U.name;r.items.push({label:U.name,filterText:P,kind:$.Unit,documentation:te(U,void 0,s),textEdit:G.replace(M,P),insertTextFormat:X.PlainText})})}),_(),r}function R(k){return h===m.getTokenEnd()&&(E=m.scan(),E===k&&m.getTokenOffset()===h)?m.getTokenEnd():h}function v(){for(let k of u)k.onHtmlContent&&k.onHtmlContent({document:n,position:o});return _()}function _(){let k=h-1,x=o.character;for(;k>=0&&re(l,k);)k--,x--;if(k>=0&&l[k]===\"&\"){let M=W.create(q.create(o.line,x-1),o);for(let B in ie)if(un(B,\";\")){let O=\"&\"+B;r.items.push({label:O,kind:$.Keyword,documentation:J(\"Character entity representing '{0}'\",ie[B]),textEdit:G.replace(M,O),insertTextFormat:X.PlainText})}}return r}function C(k,x){let M=D(k,x);r.items.push({label:\"!DOCTYPE\",kind:$.Property,documentation:\"A preamble for an HTML document.\",textEdit:G.replace(M,\"!DOCTYPE html>\"),insertTextFormat:X.PlainText})}let E=m.scan();for(;E!==S.EOS&&m.getTokenOffset()<=h;){switch(E){case S.StartTagOpen:if(m.getTokenEnd()===h){let k=R(S.StartTag);return o.line===0&&C(h,k),N(h,k)}break;case S.StartTag:if(m.getTokenOffset()<=h&&h<=m.getTokenEnd())return T(m.getTokenOffset(),m.getTokenEnd());A=m.getTokenText();break;case S.AttributeName:if(m.getTokenOffset()<=h&&h<=m.getTokenEnd())return f(m.getTokenOffset(),m.getTokenEnd());b=m.getTokenText();break;case S.DelimiterAssign:if(m.getTokenEnd()===h){let k=R(S.AttributeValue);return g(h,k)}break;case S.AttributeValue:if(m.getTokenOffset()<=h&&h<=m.getTokenEnd())return g(m.getTokenOffset(),m.getTokenEnd());break;case S.Whitespace:if(h<=m.getTokenEnd())switch(m.getScannerState()){case H.AfterOpeningStartTag:let k=m.getTokenOffset(),x=R(S.StartTag);return N(k,x);case H.WithinTag:case H.AfterAttributeName:return f(m.getTokenEnd());case H.BeforeAttributeValue:return g(m.getTokenEnd());case H.AfterOpeningEndTag:return L(m.getTokenOffset()-1,!1);case H.WithinContent:return v()}break;case S.EndTagOpen:if(h<=m.getTokenEnd()){let k=m.getTokenOffset()+1,x=R(S.EndTag);return L(k,!1,x)}break;case S.EndTag:if(h<=m.getTokenEnd()){let k=m.getTokenOffset()-1;for(;k>=0;){let x=l.charAt(k);if(x===\"/\")return L(k,!1,m.getTokenEnd());if(!He(x))break;k--}}break;case S.StartTagClose:if(h<=m.getTokenEnd()&&A)return I(m.getTokenEnd(),A);break;case S.Content:if(h<=m.getTokenEnd())return v();break;default:if(h<=m.getTokenEnd())return r;break}E=m.scan()}return r}doQuoteComplete(n,o,a,e){let r=n.offsetAt(o);if(r<=0)return null;let u=e?.attributeDefaultValue??\"doublequotes\";if(u===\"empty\"||n.getText().charAt(r-1)!==\"=\")return null;let i=u===\"doublequotes\"?'\"$1\"':\"'$1'\",s=a.findNodeBefore(r);if(s&&s.attributes&&s.start<r&&(!s.endTagStart||s.endTagStart>r)){let l=V(n.getText(),s.start),h=l.scan();for(;h!==S.EOS&&l.getTokenEnd()<=r;){if(h===S.AttributeName&&l.getTokenEnd()===r-1)return h=l.scan(),h!==S.DelimiterAssign||(h=l.scan(),h===S.Unknown||h===S.AttributeValue)?null:i;h=l.scan()}}return null}doTagComplete(n,o,a){let e=n.offsetAt(o);if(e<=0)return null;let r=n.getText().charAt(e-1);if(r===\">\"){let u=this.dataManager.getVoidElements(n.languageId),c=a.findNodeBefore(e);if(c&&c.tag&&!this.dataManager.isVoidElement(c.tag,u)&&c.start<e&&(!c.endTagStart||c.endTagStart>e)){let i=V(n.getText(),c.start),s=i.scan();for(;s!==S.EOS&&i.getTokenEnd()<=e;){if(s===S.StartTagClose&&i.getTokenEnd()===e)return`$0</${c.tag}>`;s=i.scan()}}}else if(r===\"/\"){let u=a.findNodeBefore(e);for(;u&&u.closed&&!(u.endTagStart&&u.endTagStart>e);)u=u.parent;if(u&&u.tag){let c=V(n.getText(),u.start),i=c.scan();for(;i!==S.EOS&&c.getTokenEnd()<=e;){if(i===S.EndTagOpen&&c.getTokenEnd()===e)return n.getText().charAt(e)!==\">\"?`${u.tag}>`:u.tag;i=c.scan()}}}return null}convertCompletionList(n){return this.doesSupportMarkdown()||n.items.forEach(o=>{o.documentation&&typeof o.documentation!=\"string\"&&(o.documentation={kind:\"plaintext\",value:o.documentation.value})}),n}doesSupportMarkdown(){if(!de(this.supportsMarkdown)){if(!de(this.lsOptions.clientCapabilities))return this.supportsMarkdown=!0,this.supportsMarkdown;let n=this.lsOptions.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(n)&&n.indexOf(Q.Markdown)!==-1}return this.supportsMarkdown}};function ci(t){return/^[\"']*$/.test(t)}function He(t){return/^\\s*$/.test(t)}function hn(t,n,o,a){let e=V(t,n,o),r=e.scan();for(;r===S.Whitespace;)r=e.scan();return r===a}function hi(t,n,o){for(;n>o&&!He(t[n-1]);)n--;return n}function di(t,n,o){for(;n<o&&!He(t[n]);)n++;return n}var Ie=class{constructor(n,o){this.lsOptions=n,this.dataManager=o}doHover(n,o,a,e){let r=this.convertContents.bind(this),u=this.doesSupportMarkdown(),c=n.offsetAt(o),i=a.findNodeAt(c),s=n.getText();if(!i||!i.tag)return null;let l=this.dataManager.getDataProviders().filter(f=>f.isApplicable(n.languageId));function h(f,d,g){for(let R of l){let v=null;if(R.provideTags().forEach(_=>{if(_.name.toLowerCase()===f.toLowerCase()){let C=te(_,e,u);C||(C={kind:u?\"markdown\":\"plaintext\",value:\"\"}),v={contents:C,range:d}}}),v)return v.contents=r(v.contents),v}return null}function p(f,d,g){for(let R of l){let v=null;if(R.provideAttributes(f).forEach(_=>{if(d===_.name&&_.description){let C=te(_,e,u);C?v={contents:C,range:g}:v=null}}),v)return v.contents=r(v.contents),v}return null}function m(f,d,g,R){for(let v of l){let _=null;if(v.provideValues(f,d).forEach(C=>{if(g===C.name&&C.description){let E=te(C,e,u);E?_={contents:E,range:R}:_=null}}),_)return _.contents=r(_.contents),_}return null}function A(f,d){let g=T(f);for(let R in ie){let v=null,_=\"&\"+R;if(g===_){let C=ie[R].charCodeAt(0).toString(16).toUpperCase(),E=\"U+\";if(C.length<4){let x=4-C.length,M=0;for(;M<x;)E+=\"0\",M+=1}E+=C;let k=J(\"Character entity representing '{0}', unicode equivalent '{1}'\",ie[R],E);k?v={contents:k,range:d}:v=null}if(v)return v.contents=r(v.contents),v}return null}function b(f,d){let g=V(n.getText(),d),R=g.scan();for(;R!==S.EOS&&(g.getTokenEnd()<c||g.getTokenEnd()===c&&R!==f);)R=g.scan();return R===f&&c<=g.getTokenEnd()?{start:n.positionAt(g.getTokenOffset()),end:n.positionAt(g.getTokenEnd())}:null}function D(){let f=c-1,d=o.character;for(;f>=0&&re(s,f);)f--,d--;let g=f+1,R=d;for(;re(s,g);)g++,R++;if(f>=0&&s[f]===\"&\"){let v=null;return s[g]===\";\"?v=W.create(q.create(o.line,d),q.create(o.line,R+1)):v=W.create(q.create(o.line,d),q.create(o.line,R)),v}return null}function T(f){let d=c-1,g=\"&\";for(;d>=0&&re(f,d);)d--;for(d=d+1;re(f,d);)g+=f[d],d+=1;return g+=\";\",g}if(i.endTagStart&&c>=i.endTagStart){let f=b(S.EndTag,i.endTagStart);return f?h(i.tag,f,!1):null}let y=b(S.StartTag,i.start);if(y)return h(i.tag,y,!0);let L=b(S.AttributeName,i.start);if(L){let f=i.tag,d=n.getText(L);return p(f,d,L)}let I=D();if(I)return A(s,I);function N(f,d){let g=V(n.getText(),f),R=g.scan(),v;for(;R!==S.EOS&&g.getTokenEnd()<=d;)R=g.scan(),R===S.AttributeName&&(v=g.getTokenText());return v}let F=b(S.AttributeValue,i.start);if(F){let f=i.tag,d=pi(n.getText(F)),g=N(i.start,n.offsetAt(F.start));if(g)return m(f,g,d,F)}return null}convertContents(n){if(!this.doesSupportMarkdown()){if(typeof n==\"string\")return n;if(\"kind\"in n)return{kind:\"plaintext\",value:n.value};if(Array.isArray(n))n.map(o=>typeof o==\"string\"?o:o.value);else return n.value}return n}doesSupportMarkdown(){if(!de(this.supportsMarkdown)){if(!de(this.lsOptions.clientCapabilities))return this.supportsMarkdown=!0,this.supportsMarkdown;let n=this.lsOptions.clientCapabilities?.textDocument?.hover?.contentFormat;this.supportsMarkdown=Array.isArray(n)&&n.indexOf(Q.Markdown)!==-1}return this.supportsMarkdown}};function pi(t){return t.length<=1?t.replace(/['\"]/,\"\"):((t[0]===\"'\"||t[0]==='\"')&&(t=t.slice(1)),(t[t.length-1]===\"'\"||t[t.length-1]==='\"')&&(t=t.slice(0,-1)),t)}function dn(t,n){return t}var pn;(function(){\"use strict\";var t=[,,function(e){function r(i){this.__parent=i,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}r.prototype.clone_empty=function(){var i=new r(this.__parent);return i.set_indent(this.__indent_count,this.__alignment_count),i},r.prototype.item=function(i){return i<0?this.__items[this.__items.length+i]:this.__items[i]},r.prototype.has_match=function(i){for(var s=this.__items.length-1;s>=0;s--)if(this.__items[s].match(i))return!0;return!1},r.prototype.set_indent=function(i,s){this.is_empty()&&(this.__indent_count=i||0,this.__alignment_count=s||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},r.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},r.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},r.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var i=this.__parent.current_line;return i.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),i.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),i.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,i.__items[0]===\" \"&&(i.__items.splice(0,1),i.__character_count-=1),!0}return!1},r.prototype.is_empty=function(){return this.__items.length===0},r.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},r.prototype.push=function(i){this.__items.push(i);var s=i.lastIndexOf(`\n`);s!==-1?this.__character_count=i.length-s:this.__character_count+=i.length},r.prototype.pop=function(){var i=null;return this.is_empty()||(i=this.__items.pop(),this.__character_count-=i.length),i},r.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},r.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},r.prototype.trim=function(){for(;this.last()===\" \";)this.__items.pop(),this.__character_count-=1},r.prototype.toString=function(){var i=\"\";return this.is_empty()?this.__parent.indent_empty_lines&&(i=this.__parent.get_indent_string(this.__indent_count)):(i=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),i+=this.__items.join(\"\")),i};function u(i,s){this.__cache=[\"\"],this.__indent_size=i.indent_size,this.__indent_string=i.indent_char,i.indent_with_tabs||(this.__indent_string=new Array(i.indent_size+1).join(i.indent_char)),s=s||\"\",i.indent_level>0&&(s=new Array(i.indent_level+1).join(this.__indent_string)),this.__base_string=s,this.__base_string_length=s.length}u.prototype.get_indent_size=function(i,s){var l=this.__base_string_length;return s=s||0,i<0&&(l=0),l+=i*this.__indent_size,l+=s,l},u.prototype.get_indent_string=function(i,s){var l=this.__base_string;return s=s||0,i<0&&(i=0,l=\"\"),s+=i*this.__indent_size,this.__ensure_cache(s),l+=this.__cache[s],l},u.prototype.__ensure_cache=function(i){for(;i>=this.__cache.length;)this.__add_column()},u.prototype.__add_column=function(){var i=this.__cache.length,s=0,l=\"\";this.__indent_size&&i>=this.__indent_size&&(s=Math.floor(i/this.__indent_size),i-=s*this.__indent_size,l=new Array(s+1).join(this.__indent_string)),i&&(l+=new Array(i+1).join(\" \")),this.__cache.push(l)};function c(i,s){this.__indent_cache=new u(i,s),this.raw=!1,this._end_with_newline=i.end_with_newline,this.indent_size=i.indent_size,this.wrap_line_length=i.wrap_line_length,this.indent_empty_lines=i.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new r(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(i,s){return this.__indent_cache.get_indent_string(i,s)},c.prototype.get_indent_size=function(i,s){return this.__indent_cache.get_indent_size(i,s)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(i){return this.is_empty()||!i&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(i){this.trim(!0);var s=this.current_line.pop();s&&(s[s.length-1]===`\n`&&(s=s.replace(/\\n+$/g,\"\")),this.current_line.push(s)),this._end_with_newline&&this.__add_outputline();var l=this.__lines.join(`\n`);return i!==`\n`&&(l=l.replace(/[\\n]/g,i)),l},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(i,s){return i=i||0,s=s||0,this.next_line.set_indent(i,s),this.__lines.length>1?(this.current_line.set_indent(i,s),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(i){for(var s=0;s<i.newlines;s++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(i.whitespace_before),this.current_line.push(i.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},c.prototype.add_token=function(i){this.__add_space_before_token(),this.current_line.push(i),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},c.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(\" \"))},c.prototype.remove_indent=function(i){for(var s=this.__lines.length;i<s;)this.__lines[i]._remove_indent(),i++;this.current_line._remove_wrap_indent()},c.prototype.trim=function(i){for(i=i===void 0?!1:i,this.current_line.trim();i&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(i,s){for(var l=this.__lines.length-2;l>=0;){var h=this.__lines[l];if(h.is_empty())break;if(h.item(0).indexOf(i)!==0&&h.item(-1)!==s){this.__lines.splice(l+1,0,new r(this)),this.previous_line=this.__lines[this.__lines.length-2];break}l--}},e.exports.Output=c},,,,function(e){function r(i,s){this.raw_options=u(i,s),this.disabled=this._get_boolean(\"disabled\"),this.eol=this._get_characters(\"eol\",\"auto\"),this.end_with_newline=this._get_boolean(\"end_with_newline\"),this.indent_size=this._get_number(\"indent_size\",4),this.indent_char=this._get_characters(\"indent_char\",\" \"),this.indent_level=this._get_number(\"indent_level\"),this.preserve_newlines=this._get_boolean(\"preserve_newlines\",!0),this.max_preserve_newlines=this._get_number(\"max_preserve_newlines\",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean(\"indent_with_tabs\",this.indent_char===\"\t\"),this.indent_with_tabs&&(this.indent_char=\"\t\",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number(\"wrap_line_length\",this._get_number(\"max_char\")),this.indent_empty_lines=this._get_boolean(\"indent_empty_lines\"),this.templating=this._get_selection_list(\"templating\",[\"auto\",\"none\",\"angular\",\"django\",\"erb\",\"handlebars\",\"php\",\"smarty\"],[\"auto\"])}r.prototype._get_array=function(i,s){var l=this.raw_options[i],h=s||[];return typeof l==\"object\"?l!==null&&typeof l.concat==\"function\"&&(h=l.concat()):typeof l==\"string\"&&(h=l.split(/[^a-zA-Z0-9_\\/\\-]+/)),h},r.prototype._get_boolean=function(i,s){var l=this.raw_options[i],h=l===void 0?!!s:!!l;return h},r.prototype._get_characters=function(i,s){var l=this.raw_options[i],h=s||\"\";return typeof l==\"string\"&&(h=l.replace(/\\\\r/,\"\\r\").replace(/\\\\n/,`\n`).replace(/\\\\t/,\"\t\")),h},r.prototype._get_number=function(i,s){var l=this.raw_options[i];s=parseInt(s,10),isNaN(s)&&(s=0);var h=parseInt(l,10);return isNaN(h)&&(h=s),h},r.prototype._get_selection=function(i,s,l){var h=this._get_selection_list(i,s,l);if(h.length!==1)throw new Error(\"Invalid Option Value: The option '\"+i+`' can only be one of the following values:\n`+s+`\nYou passed in: '`+this.raw_options[i]+\"'\");return h[0]},r.prototype._get_selection_list=function(i,s,l){if(!s||s.length===0)throw new Error(\"Selection list cannot be empty.\");if(l=l||[s[0]],!this._is_valid_selection(l,s))throw new Error(\"Invalid Default Value!\");var h=this._get_array(i,l);if(!this._is_valid_selection(h,s))throw new Error(\"Invalid Option Value: The option '\"+i+`' can contain only the following values:\n`+s+`\nYou passed in: '`+this.raw_options[i]+\"'\");return h},r.prototype._is_valid_selection=function(i,s){return i.length&&s.length&&!i.some(function(l){return s.indexOf(l)===-1})};function u(i,s){var l={};i=c(i);var h;for(h in i)h!==s&&(l[h]=i[h]);if(s&&i[s])for(h in i[s])l[h]=i[s][h];return l}function c(i){var s={},l;for(l in i){var h=l.replace(/-/g,\"_\");s[h]=i[l]}return s}e.exports.Options=r,e.exports.normalizeOpts=c,e.exports.mergeOpts=u},,function(e){var r=RegExp.prototype.hasOwnProperty(\"sticky\");function u(c){this.__input=c||\"\",this.__input_length=this.__input.length,this.__position=0}u.prototype.restart=function(){this.__position=0},u.prototype.back=function(){this.__position>0&&(this.__position-=1)},u.prototype.hasNext=function(){return this.__position<this.__input_length},u.prototype.next=function(){var c=null;return this.hasNext()&&(c=this.__input.charAt(this.__position),this.__position+=1),c},u.prototype.peek=function(c){var i=null;return c=c||0,c+=this.__position,c>=0&&c<this.__input_length&&(i=this.__input.charAt(c)),i},u.prototype.__match=function(c,i){c.lastIndex=i;var s=c.exec(this.__input);return s&&!(r&&c.sticky)&&s.index!==i&&(s=null),s},u.prototype.test=function(c,i){return i=i||0,i+=this.__position,i>=0&&i<this.__input_length?!!this.__match(c,i):!1},u.prototype.testChar=function(c,i){var s=this.peek(i);return c.lastIndex=0,s!==null&&c.test(s)},u.prototype.match=function(c){var i=this.__match(c,this.__position);return i?this.__position+=i[0].length:i=null,i},u.prototype.read=function(c,i,s){var l=\"\",h;return c&&(h=this.match(c),h&&(l+=h[0])),i&&(h||!c)&&(l+=this.readUntil(i,s)),l},u.prototype.readUntil=function(c,i){var s=\"\",l=this.__position;c.lastIndex=this.__position;var h=c.exec(this.__input);return h?(l=h.index,i&&(l+=h[0].length)):l=this.__input_length,s=this.__input.substring(this.__position,l),this.__position=l,s},u.prototype.readUntilAfter=function(c){return this.readUntil(c,!0)},u.prototype.get_regexp=function(c,i){var s=null,l=\"g\";return i&&r&&(l=\"y\"),typeof c==\"string\"&&c!==\"\"?s=new RegExp(c,l):c&&(s=new RegExp(c.source,l)),s},u.prototype.get_literal_regexp=function(c){return RegExp(c.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"))},u.prototype.peekUntilAfter=function(c){var i=this.__position,s=this.readUntilAfter(c);return this.__position=i,s},u.prototype.lookBack=function(c){var i=this.__position-1;return i>=c.length&&this.__input.substring(i-c.length,i).toLowerCase()===c},e.exports.InputScanner=u},,,,,function(e){function r(u,c){u=typeof u==\"string\"?u:u.source,c=typeof c==\"string\"?c:c.source,this.__directives_block_pattern=new RegExp(u+/ beautify( \\w+[:]\\w+)+ /.source+c,\"g\"),this.__directive_pattern=/ (\\w+)[:](\\w+)/g,this.__directives_end_ignore_pattern=new RegExp(u+/\\sbeautify\\signore:end\\s/.source+c,\"g\")}r.prototype.get_directives=function(u){if(!u.match(this.__directives_block_pattern))return null;var c={};this.__directive_pattern.lastIndex=0;for(var i=this.__directive_pattern.exec(u);i;)c[i[1]]=i[2],i=this.__directive_pattern.exec(u);return c},r.prototype.readIgnored=function(u){return u.readUntilAfter(this.__directives_end_ignore_pattern)},e.exports.Directives=r},,function(e,r,u){var c=u(16).Beautifier,i=u(17).Options;function s(l,h){var p=new c(l,h);return p.beautify()}e.exports=s,e.exports.defaultOptions=function(){return new i}},function(e,r,u){var c=u(17).Options,i=u(2).Output,s=u(8).InputScanner,l=u(13).Directives,h=new l(/\\/\\*/,/\\*\\//),p=/\\r\\n|[\\r\\n]/,m=/\\r\\n|[\\r\\n]/g,A=/\\s/,b=/(?:\\s|\\n)+/g,D=/\\/\\*(?:[\\s\\S]*?)((?:\\*\\/)|$)/g,T=/\\/\\/(?:[^\\n\\r\\u2028\\u2029]*)/g;function y(L,I){this._source_text=L||\"\",this._options=new c(I),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,\"font-face\":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=[\"grid-template-areas\",\"grid-template\"]}y.prototype.eatString=function(L){var I=\"\";for(this._ch=this._input.next();this._ch;){if(I+=this._ch,this._ch===\"\\\\\")I+=this._input.next();else if(L.indexOf(this._ch)!==-1||this._ch===`\n`)break;this._ch=this._input.next()}return I},y.prototype.eatWhitespace=function(L){for(var I=A.test(this._input.peek()),N=0;A.test(this._input.peek());)this._ch=this._input.next(),L&&this._ch===`\n`&&(N===0||N<this._options.max_preserve_newlines)&&(N++,this._output.add_new_line(!0));return I},y.prototype.foundNestedPseudoClass=function(){for(var L=0,I=1,N=this._input.peek(I);N;){if(N===\"{\")return!0;if(N===\"(\")L+=1;else if(N===\")\"){if(L===0)return!1;L-=1}else if(N===\";\"||N===\"}\")return!1;I++,N=this._input.peek(I)}return!1},y.prototype.print_string=function(L){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(L)},y.prototype.preserveSingleSpace=function(L){L&&(this._output.space_before_token=!0)},y.prototype.indent=function(){this._indentLevel++},y.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},y.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var L=this._source_text,I=this._options.eol;I===\"auto\"&&(I=`\n`,L&&p.test(L||\"\")&&(I=L.match(p)[0])),L=L.replace(m,`\n`);var N=L.match(/^[\\t ]*/)[0];this._output=new i(this._options,N),this._input=new s(L),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var F=0,f=!1,d=!1,g=!1,R=!1,v=!1,_=this._ch,C=!1,E,k,x;E=this._input.read(b),k=E!==\"\",x=_,this._ch=this._input.next(),this._ch===\"\\\\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),_=this._ch,this._ch;)if(this._ch===\"/\"&&this._input.peek()===\"*\"){this._output.add_new_line(),this._input.back();var M=this._input.read(D),B=h.get_directives(M);B&&B.ignore===\"start\"&&(M+=h.readIgnored(this._input)),this.print_string(M),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch===\"/\"&&this._input.peek()===\"/\")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(T)),this.eatWhitespace(!0);else if(this._ch===\"$\"){this.preserveSingleSpace(k),this.print_string(this._ch);var O=this._input.peekUntilAfter(/[: ,;{}()[\\]\\/='\"]/g);O.match(/[ :]$/)&&(O=this.eatString(\": \").replace(/\\s+$/,\"\"),this.print_string(O),this._output.space_before_token=!0),F===0&&O.indexOf(\":\")!==-1&&(d=!0,this.indent())}else if(this._ch===\"@\")if(this.preserveSingleSpace(k),this._input.peek()===\"{\")this.print_string(this._ch+this.eatString(\"}\"));else{this.print_string(this._ch);var z=this._input.peekUntilAfter(/[: ,;{}()[\\]\\/='\"]/g);z.match(/[ :]$/)&&(z=this.eatString(\": \").replace(/\\s+$/,\"\"),this.print_string(z),this._output.space_before_token=!0),F===0&&z.indexOf(\":\")!==-1?(d=!0,this.indent()):z in this.NESTED_AT_RULE?(this._nestedLevel+=1,z in this.CONDITIONAL_GROUP_RULE&&(g=!0)):F===0&&!d&&(R=!0)}else if(this._ch===\"#\"&&this._input.peek()===\"{\")this.preserveSingleSpace(k),this.print_string(this._ch+this.eatString(\"}\"));else if(this._ch===\"{\")d&&(d=!1,this.outdent()),R=!1,g?(g=!1,f=this._indentLevel>=this._nestedLevel):f=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&f&&this._output.previous_line&&this._output.previous_line.item(-1)!==\"{\"&&this._output.ensure_empty_line_above(\"/\",\",\"),this._output.space_before_token=!0,this._options.brace_style===\"expand\"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(x===\"(\"?this._output.space_before_token=!1:x!==\",\"&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch===\"}\")this.outdent(),this._output.add_new_line(),x===\"{\"&&this._output.trim(!0),d&&(this.outdent(),d=!1),this.print_string(this._ch),f=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!==\"}\"&&this._output.add_new_line(!0),this._input.peek()===\")\"&&(this._output.trim(!0),this._options.brace_style===\"expand\"&&this._output.add_new_line(!0));else if(this._ch===\":\"){for(var U=0;U<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;U++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[U])){C=!0;break}(f||g)&&!(this._input.lookBack(\"&\")||this.foundNestedPseudoClass())&&!this._input.lookBack(\"(\")&&!R&&F===0?(this.print_string(\":\"),d||(d=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(\" \")&&(this._output.space_before_token=!0),this._input.peek()===\":\"?(this._ch=this._input.next(),this.print_string(\"::\")):this.print_string(\":\"))}else if(this._ch==='\"'||this._ch===\"'\"){var P=x==='\"'||x===\"'\";this.preserveSingleSpace(P||k),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===\";\")C=!1,F===0?(d&&(this.outdent(),d=!1),R=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!==\"/\"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch===\"(\")if(this._input.lookBack(\"url\"))this.print_string(this._ch),this.eatWhitespace(),F++,this.indent(),this._ch=this._input.next(),this._ch===\")\"||this._ch==='\"'||this._ch===\"'\"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(\")\")),F&&(F--,this.outdent()));else{var j=!1;this._input.lookBack(\"with\")&&(j=!0),this.preserveSingleSpace(k||j),this.print_string(this._ch),d&&x===\"$\"&&this._options.selector_separator_newline?(this._output.add_new_line(),v=!0):(this.eatWhitespace(),F++,this.indent())}else if(this._ch===\")\")F&&(F--,this.outdent()),v&&this._input.peek()===\";\"&&this._options.selector_separator_newline&&(v=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===\",\")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!d||v)&&F===0&&!R?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===\">\"||this._ch===\"+\"||this._ch===\"~\")&&!d&&F===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&A.test(this._ch)&&(this._ch=\"\"));else if(this._ch===\"]\")this.print_string(this._ch);else if(this._ch===\"[\")this.preserveSingleSpace(k),this.print_string(this._ch);else if(this._ch===\"=\")this.eatWhitespace(),this.print_string(\"=\"),A.test(this._ch)&&(this._ch=\"\");else if(this._ch===\"!\"&&!this._input.lookBack(\"\\\\\"))this._output.space_before_token=!0,this.print_string(this._ch);else{var K=x==='\"'||x===\"'\";this.preserveSingleSpace(K||k),this.print_string(this._ch),!this._output.just_added_newline()&&this._input.peek()===`\n`&&C&&this._output.add_new_line()}var ae=this._output.get_code(I);return ae},e.exports.Beautifier=y},function(e,r,u){var c=u(6).Options;function i(s){c.call(this,s,\"css\"),this.selector_separator_newline=this._get_boolean(\"selector_separator_newline\",!0),this.newline_between_rules=this._get_boolean(\"newline_between_rules\",!0);var l=this._get_boolean(\"space_around_selector_separator\");this.space_around_combinator=this._get_boolean(\"space_around_combinator\")||l;var h=this._get_selection_list(\"brace_style\",[\"collapse\",\"expand\",\"end-expand\",\"none\",\"preserve-inline\"]);this.brace_style=\"collapse\";for(var p=0;p<h.length;p++)h[p]!==\"expand\"?this.brace_style=\"collapse\":this.brace_style=h[p]}i.prototype=new c,e.exports.Options=i}],n={};function o(e){var r=n[e];if(r!==void 0)return r.exports;var u=n[e]={exports:{}};return t[e](u,u.exports,o),u.exports}var a=o(15);pn=a})();var mn=pn;var fn;(function(){\"use strict\";var t=[,,function(e){function r(i){this.__parent=i,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}r.prototype.clone_empty=function(){var i=new r(this.__parent);return i.set_indent(this.__indent_count,this.__alignment_count),i},r.prototype.item=function(i){return i<0?this.__items[this.__items.length+i]:this.__items[i]},r.prototype.has_match=function(i){for(var s=this.__items.length-1;s>=0;s--)if(this.__items[s].match(i))return!0;return!1},r.prototype.set_indent=function(i,s){this.is_empty()&&(this.__indent_count=i||0,this.__alignment_count=s||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},r.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},r.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},r.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var i=this.__parent.current_line;return i.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),i.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),i.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,i.__items[0]===\" \"&&(i.__items.splice(0,1),i.__character_count-=1),!0}return!1},r.prototype.is_empty=function(){return this.__items.length===0},r.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},r.prototype.push=function(i){this.__items.push(i);var s=i.lastIndexOf(`\n`);s!==-1?this.__character_count=i.length-s:this.__character_count+=i.length},r.prototype.pop=function(){var i=null;return this.is_empty()||(i=this.__items.pop(),this.__character_count-=i.length),i},r.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},r.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},r.prototype.trim=function(){for(;this.last()===\" \";)this.__items.pop(),this.__character_count-=1},r.prototype.toString=function(){var i=\"\";return this.is_empty()?this.__parent.indent_empty_lines&&(i=this.__parent.get_indent_string(this.__indent_count)):(i=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),i+=this.__items.join(\"\")),i};function u(i,s){this.__cache=[\"\"],this.__indent_size=i.indent_size,this.__indent_string=i.indent_char,i.indent_with_tabs||(this.__indent_string=new Array(i.indent_size+1).join(i.indent_char)),s=s||\"\",i.indent_level>0&&(s=new Array(i.indent_level+1).join(this.__indent_string)),this.__base_string=s,this.__base_string_length=s.length}u.prototype.get_indent_size=function(i,s){var l=this.__base_string_length;return s=s||0,i<0&&(l=0),l+=i*this.__indent_size,l+=s,l},u.prototype.get_indent_string=function(i,s){var l=this.__base_string;return s=s||0,i<0&&(i=0,l=\"\"),s+=i*this.__indent_size,this.__ensure_cache(s),l+=this.__cache[s],l},u.prototype.__ensure_cache=function(i){for(;i>=this.__cache.length;)this.__add_column()},u.prototype.__add_column=function(){var i=this.__cache.length,s=0,l=\"\";this.__indent_size&&i>=this.__indent_size&&(s=Math.floor(i/this.__indent_size),i-=s*this.__indent_size,l=new Array(s+1).join(this.__indent_string)),i&&(l+=new Array(i+1).join(\" \")),this.__cache.push(l)};function c(i,s){this.__indent_cache=new u(i,s),this.raw=!1,this._end_with_newline=i.end_with_newline,this.indent_size=i.indent_size,this.wrap_line_length=i.wrap_line_length,this.indent_empty_lines=i.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new r(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(i,s){return this.__indent_cache.get_indent_string(i,s)},c.prototype.get_indent_size=function(i,s){return this.__indent_cache.get_indent_size(i,s)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(i){return this.is_empty()||!i&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(i){this.trim(!0);var s=this.current_line.pop();s&&(s[s.length-1]===`\n`&&(s=s.replace(/\\n+$/g,\"\")),this.current_line.push(s)),this._end_with_newline&&this.__add_outputline();var l=this.__lines.join(`\n`);return i!==`\n`&&(l=l.replace(/[\\n]/g,i)),l},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(i,s){return i=i||0,s=s||0,this.next_line.set_indent(i,s),this.__lines.length>1?(this.current_line.set_indent(i,s),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(i){for(var s=0;s<i.newlines;s++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(i.whitespace_before),this.current_line.push(i.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},c.prototype.add_token=function(i){this.__add_space_before_token(),this.current_line.push(i),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},c.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(\" \"))},c.prototype.remove_indent=function(i){for(var s=this.__lines.length;i<s;)this.__lines[i]._remove_indent(),i++;this.current_line._remove_wrap_indent()},c.prototype.trim=function(i){for(i=i===void 0?!1:i,this.current_line.trim();i&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(i,s){for(var l=this.__lines.length-2;l>=0;){var h=this.__lines[l];if(h.is_empty())break;if(h.item(0).indexOf(i)!==0&&h.item(-1)!==s){this.__lines.splice(l+1,0,new r(this)),this.previous_line=this.__lines[this.__lines.length-2];break}l--}},e.exports.Output=c},function(e){function r(u,c,i,s){this.type=u,this.text=c,this.comments_before=null,this.newlines=i||0,this.whitespace_before=s||\"\",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}e.exports.Token=r},,,function(e){function r(i,s){this.raw_options=u(i,s),this.disabled=this._get_boolean(\"disabled\"),this.eol=this._get_characters(\"eol\",\"auto\"),this.end_with_newline=this._get_boolean(\"end_with_newline\"),this.indent_size=this._get_number(\"indent_size\",4),this.indent_char=this._get_characters(\"indent_char\",\" \"),this.indent_level=this._get_number(\"indent_level\"),this.preserve_newlines=this._get_boolean(\"preserve_newlines\",!0),this.max_preserve_newlines=this._get_number(\"max_preserve_newlines\",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean(\"indent_with_tabs\",this.indent_char===\"\t\"),this.indent_with_tabs&&(this.indent_char=\"\t\",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number(\"wrap_line_length\",this._get_number(\"max_char\")),this.indent_empty_lines=this._get_boolean(\"indent_empty_lines\"),this.templating=this._get_selection_list(\"templating\",[\"auto\",\"none\",\"angular\",\"django\",\"erb\",\"handlebars\",\"php\",\"smarty\"],[\"auto\"])}r.prototype._get_array=function(i,s){var l=this.raw_options[i],h=s||[];return typeof l==\"object\"?l!==null&&typeof l.concat==\"function\"&&(h=l.concat()):typeof l==\"string\"&&(h=l.split(/[^a-zA-Z0-9_\\/\\-]+/)),h},r.prototype._get_boolean=function(i,s){var l=this.raw_options[i],h=l===void 0?!!s:!!l;return h},r.prototype._get_characters=function(i,s){var l=this.raw_options[i],h=s||\"\";return typeof l==\"string\"&&(h=l.replace(/\\\\r/,\"\\r\").replace(/\\\\n/,`\n`).replace(/\\\\t/,\"\t\")),h},r.prototype._get_number=function(i,s){var l=this.raw_options[i];s=parseInt(s,10),isNaN(s)&&(s=0);var h=parseInt(l,10);return isNaN(h)&&(h=s),h},r.prototype._get_selection=function(i,s,l){var h=this._get_selection_list(i,s,l);if(h.length!==1)throw new Error(\"Invalid Option Value: The option '\"+i+`' can only be one of the following values:\n`+s+`\nYou passed in: '`+this.raw_options[i]+\"'\");return h[0]},r.prototype._get_selection_list=function(i,s,l){if(!s||s.length===0)throw new Error(\"Selection list cannot be empty.\");if(l=l||[s[0]],!this._is_valid_selection(l,s))throw new Error(\"Invalid Default Value!\");var h=this._get_array(i,l);if(!this._is_valid_selection(h,s))throw new Error(\"Invalid Option Value: The option '\"+i+`' can contain only the following values:\n`+s+`\nYou passed in: '`+this.raw_options[i]+\"'\");return h},r.prototype._is_valid_selection=function(i,s){return i.length&&s.length&&!i.some(function(l){return s.indexOf(l)===-1})};function u(i,s){var l={};i=c(i);var h;for(h in i)h!==s&&(l[h]=i[h]);if(s&&i[s])for(h in i[s])l[h]=i[s][h];return l}function c(i){var s={},l;for(l in i){var h=l.replace(/-/g,\"_\");s[h]=i[l]}return s}e.exports.Options=r,e.exports.normalizeOpts=c,e.exports.mergeOpts=u},,function(e){var r=RegExp.prototype.hasOwnProperty(\"sticky\");function u(c){this.__input=c||\"\",this.__input_length=this.__input.length,this.__position=0}u.prototype.restart=function(){this.__position=0},u.prototype.back=function(){this.__position>0&&(this.__position-=1)},u.prototype.hasNext=function(){return this.__position<this.__input_length},u.prototype.next=function(){var c=null;return this.hasNext()&&(c=this.__input.charAt(this.__position),this.__position+=1),c},u.prototype.peek=function(c){var i=null;return c=c||0,c+=this.__position,c>=0&&c<this.__input_length&&(i=this.__input.charAt(c)),i},u.prototype.__match=function(c,i){c.lastIndex=i;var s=c.exec(this.__input);return s&&!(r&&c.sticky)&&s.index!==i&&(s=null),s},u.prototype.test=function(c,i){return i=i||0,i+=this.__position,i>=0&&i<this.__input_length?!!this.__match(c,i):!1},u.prototype.testChar=function(c,i){var s=this.peek(i);return c.lastIndex=0,s!==null&&c.test(s)},u.prototype.match=function(c){var i=this.__match(c,this.__position);return i?this.__position+=i[0].length:i=null,i},u.prototype.read=function(c,i,s){var l=\"\",h;return c&&(h=this.match(c),h&&(l+=h[0])),i&&(h||!c)&&(l+=this.readUntil(i,s)),l},u.prototype.readUntil=function(c,i){var s=\"\",l=this.__position;c.lastIndex=this.__position;var h=c.exec(this.__input);return h?(l=h.index,i&&(l+=h[0].length)):l=this.__input_length,s=this.__input.substring(this.__position,l),this.__position=l,s},u.prototype.readUntilAfter=function(c){return this.readUntil(c,!0)},u.prototype.get_regexp=function(c,i){var s=null,l=\"g\";return i&&r&&(l=\"y\"),typeof c==\"string\"&&c!==\"\"?s=new RegExp(c,l):c&&(s=new RegExp(c.source,l)),s},u.prototype.get_literal_regexp=function(c){return RegExp(c.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"))},u.prototype.peekUntilAfter=function(c){var i=this.__position,s=this.readUntilAfter(c);return this.__position=i,s},u.prototype.lookBack=function(c){var i=this.__position-1;return i>=c.length&&this.__input.substring(i-c.length,i).toLowerCase()===c},e.exports.InputScanner=u},function(e,r,u){var c=u(8).InputScanner,i=u(3).Token,s=u(10).TokenStream,l=u(11).WhitespacePattern,h={START:\"TK_START\",RAW:\"TK_RAW\",EOF:\"TK_EOF\"},p=function(m,A){this._input=new c(m),this._options=A||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new l(this._input)};p.prototype.tokenize=function(){this._input.restart(),this.__tokens=new s,this._reset();for(var m,A=new i(h.START,\"\"),b=null,D=[],T=new s;A.type!==h.EOF;){for(m=this._get_next_token(A,b);this._is_comment(m);)T.add(m),m=this._get_next_token(A,b);T.isEmpty()||(m.comments_before=T,T=new s),m.parent=b,this._is_opening(m)?(D.push(b),b=m):b&&this._is_closing(m,b)&&(m.opened=b,b.closed=m,b=D.pop(),m.parent=b),m.previous=A,A.next=m,this.__tokens.add(m),A=m}return this.__tokens},p.prototype._is_first_token=function(){return this.__tokens.isEmpty()},p.prototype._reset=function(){},p.prototype._get_next_token=function(m,A){this._readWhitespace();var b=this._input.read(/.+/g);return b?this._create_token(h.RAW,b):this._create_token(h.EOF,\"\")},p.prototype._is_comment=function(m){return!1},p.prototype._is_opening=function(m){return!1},p.prototype._is_closing=function(m,A){return!1},p.prototype._create_token=function(m,A){var b=new i(m,A,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return b},p.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},e.exports.Tokenizer=p,e.exports.TOKEN=h},function(e){function r(u){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=u}r.prototype.restart=function(){this.__position=0},r.prototype.isEmpty=function(){return this.__tokens_length===0},r.prototype.hasNext=function(){return this.__position<this.__tokens_length},r.prototype.next=function(){var u=null;return this.hasNext()&&(u=this.__tokens[this.__position],this.__position+=1),u},r.prototype.peek=function(u){var c=null;return u=u||0,u+=this.__position,u>=0&&u<this.__tokens_length&&(c=this.__tokens[u]),c},r.prototype.add=function(u){this.__parent_token&&(u.parent=this.__parent_token),this.__tokens.push(u),this.__tokens_length+=1},e.exports.TokenStream=r},function(e,r,u){var c=u(12).Pattern;function i(s,l){c.call(this,s,l),l?this._line_regexp=this._input.get_regexp(l._line_regexp):this.__set_whitespace_patterns(\"\",\"\"),this.newline_count=0,this.whitespace_before_token=\"\"}i.prototype=new c,i.prototype.__set_whitespace_patterns=function(s,l){s+=\"\\\\t \",l+=\"\\\\n\\\\r\",this._match_pattern=this._input.get_regexp(\"[\"+s+l+\"]+\",!0),this._newline_regexp=this._input.get_regexp(\"\\\\r\\\\n|[\"+l+\"]\")},i.prototype.read=function(){this.newline_count=0,this.whitespace_before_token=\"\";var s=this._input.read(this._match_pattern);if(s===\" \")this.whitespace_before_token=\" \";else if(s){var l=this.__split(this._newline_regexp,s);this.newline_count=l.length-1,this.whitespace_before_token=l[this.newline_count]}return s},i.prototype.matching=function(s,l){var h=this._create();return h.__set_whitespace_patterns(s,l),h._update(),h},i.prototype._create=function(){return new i(this._input,this)},i.prototype.__split=function(s,l){s.lastIndex=0;for(var h=0,p=[],m=s.exec(l);m;)p.push(l.substring(h,m.index)),h=m.index+m[0].length,m=s.exec(l);return h<l.length?p.push(l.substring(h,l.length)):p.push(\"\"),p},e.exports.WhitespacePattern=i},function(e){function r(u,c){this._input=u,this._starting_pattern=null,this._match_pattern=null,this._until_pattern=null,this._until_after=!1,c&&(this._starting_pattern=this._input.get_regexp(c._starting_pattern,!0),this._match_pattern=this._input.get_regexp(c._match_pattern,!0),this._until_pattern=this._input.get_regexp(c._until_pattern),this._until_after=c._until_after)}r.prototype.read=function(){var u=this._input.read(this._starting_pattern);return(!this._starting_pattern||u)&&(u+=this._input.read(this._match_pattern,this._until_pattern,this._until_after)),u},r.prototype.read_match=function(){return this._input.match(this._match_pattern)},r.prototype.until_after=function(u){var c=this._create();return c._until_after=!0,c._until_pattern=this._input.get_regexp(u),c._update(),c},r.prototype.until=function(u){var c=this._create();return c._until_after=!1,c._until_pattern=this._input.get_regexp(u),c._update(),c},r.prototype.starting_with=function(u){var c=this._create();return c._starting_pattern=this._input.get_regexp(u,!0),c._update(),c},r.prototype.matching=function(u){var c=this._create();return c._match_pattern=this._input.get_regexp(u,!0),c._update(),c},r.prototype._create=function(){return new r(this._input,this)},r.prototype._update=function(){},e.exports.Pattern=r},function(e){function r(u,c){u=typeof u==\"string\"?u:u.source,c=typeof c==\"string\"?c:c.source,this.__directives_block_pattern=new RegExp(u+/ beautify( \\w+[:]\\w+)+ /.source+c,\"g\"),this.__directive_pattern=/ (\\w+)[:](\\w+)/g,this.__directives_end_ignore_pattern=new RegExp(u+/\\sbeautify\\signore:end\\s/.source+c,\"g\")}r.prototype.get_directives=function(u){if(!u.match(this.__directives_block_pattern))return null;var c={};this.__directive_pattern.lastIndex=0;for(var i=this.__directive_pattern.exec(u);i;)c[i[1]]=i[2],i=this.__directive_pattern.exec(u);return c},r.prototype.readIgnored=function(u){return u.readUntilAfter(this.__directives_end_ignore_pattern)},e.exports.Directives=r},function(e,r,u){var c=u(12).Pattern,i={django:!1,erb:!1,handlebars:!1,php:!1,smarty:!1,angular:!1};function s(l,h){c.call(this,l,h),this.__template_pattern=null,this._disabled=Object.assign({},i),this._excluded=Object.assign({},i),h&&(this.__template_pattern=this._input.get_regexp(h.__template_pattern),this._excluded=Object.assign(this._excluded,h._excluded),this._disabled=Object.assign(this._disabled,h._disabled));var p=new c(l);this.__patterns={handlebars_comment:p.starting_with(/{{!--/).until_after(/--}}/),handlebars_unescaped:p.starting_with(/{{{/).until_after(/}}}/),handlebars:p.starting_with(/{{/).until_after(/}}/),php:p.starting_with(/<\\?(?:[= ]|php)/).until_after(/\\?>/),erb:p.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:p.starting_with(/{%/).until_after(/%}/),django_value:p.starting_with(/{{/).until_after(/}}/),django_comment:p.starting_with(/{#/).until_after(/#}/),smarty:p.starting_with(/{(?=[^}{\\s\\n])/).until_after(/[^\\s\\n]}/),smarty_comment:p.starting_with(/{\\*/).until_after(/\\*}/),smarty_literal:p.starting_with(/{literal}/).until_after(/{\\/literal}/)}}s.prototype=new c,s.prototype._create=function(){return new s(this._input,this)},s.prototype._update=function(){this.__set_templated_pattern()},s.prototype.disable=function(l){var h=this._create();return h._disabled[l]=!0,h._update(),h},s.prototype.read_options=function(l){var h=this._create();for(var p in i)h._disabled[p]=l.templating.indexOf(p)===-1;return h._update(),h},s.prototype.exclude=function(l){var h=this._create();return h._excluded[l]=!0,h._update(),h},s.prototype.read=function(){var l=\"\";this._match_pattern?l=this._input.read(this._starting_pattern):l=this._input.read(this._starting_pattern,this.__template_pattern);for(var h=this._read_template();h;)this._match_pattern?h+=this._input.read(this._match_pattern):h+=this._input.readUntil(this.__template_pattern),l+=h,h=this._read_template();return this._until_after&&(l+=this._input.readUntilAfter(this._until_pattern)),l},s.prototype.__set_templated_pattern=function(){var l=[];this._disabled.php||l.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||l.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||l.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(l.push(this.__patterns.django._starting_pattern.source),l.push(this.__patterns.django_value._starting_pattern.source),l.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||l.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&l.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp(\"(?:\"+l.join(\"|\")+\")\")},s.prototype._read_template=function(){var l=\"\",h=this._input.peek();if(h===\"<\"){var p=this._input.peek(1);!this._disabled.php&&!this._excluded.php&&p===\"?\"&&(l=l||this.__patterns.php.read()),!this._disabled.erb&&!this._excluded.erb&&p===\"%\"&&(l=l||this.__patterns.erb.read())}else h===\"{\"&&(!this._disabled.handlebars&&!this._excluded.handlebars&&(l=l||this.__patterns.handlebars_comment.read(),l=l||this.__patterns.handlebars_unescaped.read(),l=l||this.__patterns.handlebars.read()),this._disabled.django||(!this._excluded.django&&!this._excluded.handlebars&&(l=l||this.__patterns.django_value.read()),this._excluded.django||(l=l||this.__patterns.django_comment.read(),l=l||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(l=l||this.__patterns.smarty_comment.read(),l=l||this.__patterns.smarty_literal.read(),l=l||this.__patterns.smarty.read()));return l},e.exports.TemplatablePattern=s},,,,function(e,r,u){var c=u(19).Beautifier,i=u(20).Options;function s(l,h,p,m){var A=new c(l,h,p,m);return A.beautify()}e.exports=s,e.exports.defaultOptions=function(){return new i}},function(e,r,u){var c=u(20).Options,i=u(2).Output,s=u(21).Tokenizer,l=u(21).TOKEN,h=/\\r\\n|[\\r\\n]/,p=/\\r\\n|[\\r\\n]/g,m=function(f,d){this.indent_level=0,this.alignment_size=0,this.max_preserve_newlines=f.max_preserve_newlines,this.preserve_newlines=f.preserve_newlines,this._output=new i(f,d)};m.prototype.current_line_has_match=function(f){return this._output.current_line.has_match(f)},m.prototype.set_space_before_token=function(f,d){this._output.space_before_token=f,this._output.non_breaking_space=d},m.prototype.set_wrap_point=function(){this._output.set_indent(this.indent_level,this.alignment_size),this._output.set_wrap_point()},m.prototype.add_raw_token=function(f){this._output.add_raw_token(f)},m.prototype.print_preserved_newlines=function(f){var d=0;f.type!==l.TEXT&&f.previous.type!==l.TEXT&&(d=f.newlines?1:0),this.preserve_newlines&&(d=f.newlines<this.max_preserve_newlines+1?f.newlines:this.max_preserve_newlines+1);for(var g=0;g<d;g++)this.print_newline(g>0);return d!==0},m.prototype.traverse_whitespace=function(f){return f.whitespace_before||f.newlines?(this.print_preserved_newlines(f)||(this._output.space_before_token=!0),!0):!1},m.prototype.previous_token_wrapped=function(){return this._output.previous_token_wrapped},m.prototype.print_newline=function(f){this._output.add_new_line(f)},m.prototype.print_token=function(f){f.text&&(this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(f.text))},m.prototype.indent=function(){this.indent_level++},m.prototype.deindent=function(){this.indent_level>0&&(this.indent_level--,this._output.set_indent(this.indent_level,this.alignment_size))},m.prototype.get_full_indent=function(f){return f=this.indent_level+(f||0),f<1?\"\":this._output.get_indent_string(f)};var A=function(f){for(var d=null,g=f.next;g.type!==l.EOF&&f.closed!==g;){if(g.type===l.ATTRIBUTE&&g.text===\"type\"){g.next&&g.next.type===l.EQUALS&&g.next.next&&g.next.next.type===l.VALUE&&(d=g.next.next.text);break}g=g.next}return d},b=function(f,d){var g=null,R=null;return d.closed?(f===\"script\"?g=\"text/javascript\":f===\"style\"&&(g=\"text/css\"),g=A(d)||g,g.search(\"text/css\")>-1?R=\"css\":g.search(/module|((text|application|dojo)\\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\\+)?json|method|aspect))/)>-1?R=\"javascript\":g.search(/(text|application|dojo)\\/(x-)?(html)/)>-1?R=\"html\":g.search(/test\\/null/)>-1&&(R=\"null\"),R):null};function D(f,d){return d.indexOf(f)!==-1}function T(f,d,g){this.parent=f||null,this.tag=d?d.tag_name:\"\",this.indent_level=g||0,this.parser_token=d||null}function y(f){this._printer=f,this._current_frame=null}y.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},y.prototype.record_tag=function(f){var d=new T(this._current_frame,f,this._printer.indent_level);this._current_frame=d},y.prototype._try_pop_frame=function(f){var d=null;return f&&(d=f.parser_token,this._printer.indent_level=f.indent_level,this._current_frame=f.parent),d},y.prototype._get_frame=function(f,d){for(var g=this._current_frame;g&&f.indexOf(g.tag)===-1;){if(d&&d.indexOf(g.tag)!==-1){g=null;break}g=g.parent}return g},y.prototype.try_pop=function(f,d){var g=this._get_frame([f],d);return this._try_pop_frame(g)},y.prototype.indent_to_tag=function(f){var d=this._get_frame(f);d&&(this._printer.indent_level=d.indent_level)};function L(f,d,g,R){this._source_text=f||\"\",d=d||{},this._js_beautify=g,this._css_beautify=R,this._tag_stack=null;var v=new c(d,\"html\");this._options=v,this._is_wrap_attributes_force=this._options.wrap_attributes.substr(0,5)===\"force\",this._is_wrap_attributes_force_expand_multiline=this._options.wrap_attributes===\"force-expand-multiline\",this._is_wrap_attributes_force_aligned=this._options.wrap_attributes===\"force-aligned\",this._is_wrap_attributes_aligned_multiple=this._options.wrap_attributes===\"aligned-multiple\",this._is_wrap_attributes_preserve=this._options.wrap_attributes.substr(0,8)===\"preserve\",this._is_wrap_attributes_preserve_aligned=this._options.wrap_attributes===\"preserve-aligned\"}L.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var f=this._source_text,d=this._options.eol;this._options.eol===\"auto\"&&(d=`\n`,f&&h.test(f)&&(d=f.match(h)[0])),f=f.replace(p,`\n`);var g=f.match(/^[\\t ]*/)[0],R={text:\"\",type:\"\"},v=new I,_=new m(this._options,g),C=new s(f,this._options).tokenize();this._tag_stack=new y(_);for(var E=null,k=C.next();k.type!==l.EOF;)k.type===l.TAG_OPEN||k.type===l.COMMENT?(E=this._handle_tag_open(_,k,v,R,C),v=E):k.type===l.ATTRIBUTE||k.type===l.EQUALS||k.type===l.VALUE||k.type===l.TEXT&&!v.tag_complete?E=this._handle_inside_tag(_,k,v,R):k.type===l.TAG_CLOSE?E=this._handle_tag_close(_,k,v):k.type===l.TEXT?E=this._handle_text(_,k,v):k.type===l.CONTROL_FLOW_OPEN?E=this._handle_control_flow_open(_,k):k.type===l.CONTROL_FLOW_CLOSE?E=this._handle_control_flow_close(_,k):_.add_raw_token(k),R=E,k=C.next();var x=_._output.get_code(d);return x},L.prototype._handle_control_flow_open=function(f,d){var g={text:d.text,type:d.type};return f.set_space_before_token(d.newlines||d.whitespace_before!==\"\",!0),d.newlines?f.print_preserved_newlines(d):f.set_space_before_token(d.newlines||d.whitespace_before!==\"\",!0),f.print_token(d),f.indent(),g},L.prototype._handle_control_flow_close=function(f,d){var g={text:d.text,type:d.type};return f.deindent(),d.newlines?f.print_preserved_newlines(d):f.set_space_before_token(d.newlines||d.whitespace_before!==\"\",!0),f.print_token(d),g},L.prototype._handle_tag_close=function(f,d,g){var R={text:d.text,type:d.type};return f.alignment_size=0,g.tag_complete=!0,f.set_space_before_token(d.newlines||d.whitespace_before!==\"\",!0),g.is_unformatted?f.add_raw_token(d):(g.tag_start_char===\"<\"&&(f.set_space_before_token(d.text[0]===\"/\",!0),this._is_wrap_attributes_force_expand_multiline&&g.has_wrapped_attrs&&f.print_newline(!1)),f.print_token(d)),g.indent_content&&!(g.is_unformatted||g.is_content_unformatted)&&(f.indent(),g.indent_content=!1),!g.is_inline_element&&!(g.is_unformatted||g.is_content_unformatted)&&f.set_wrap_point(),R},L.prototype._handle_inside_tag=function(f,d,g,R){var v=g.has_wrapped_attrs,_={text:d.text,type:d.type};return f.set_space_before_token(d.newlines||d.whitespace_before!==\"\",!0),g.is_unformatted?f.add_raw_token(d):g.tag_start_char===\"{\"&&d.type===l.TEXT?f.print_preserved_newlines(d)?(d.newlines=0,f.add_raw_token(d)):f.print_token(d):(d.type===l.ATTRIBUTE?f.set_space_before_token(!0):(d.type===l.EQUALS||d.type===l.VALUE&&d.previous.type===l.EQUALS)&&f.set_space_before_token(!1),d.type===l.ATTRIBUTE&&g.tag_start_char===\"<\"&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(f.traverse_whitespace(d),v=v||d.newlines!==0),this._is_wrap_attributes_force&&g.attr_count>=this._options.wrap_attributes_min_attrs&&(R.type!==l.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(f.print_newline(!1),v=!0)),f.print_token(d),v=v||f.previous_token_wrapped(),g.has_wrapped_attrs=v),_},L.prototype._handle_text=function(f,d,g){var R={text:d.text,type:\"TK_CONTENT\"};return g.custom_beautifier_name?this._print_custom_beatifier_text(f,d,g):g.is_unformatted||g.is_content_unformatted?f.add_raw_token(d):(f.traverse_whitespace(d),f.print_token(d)),R},L.prototype._print_custom_beatifier_text=function(f,d,g){var R=this;if(d.text!==\"\"){var v=d.text,_,C=1,E=\"\",k=\"\";g.custom_beautifier_name===\"javascript\"&&typeof this._js_beautify==\"function\"?_=this._js_beautify:g.custom_beautifier_name===\"css\"&&typeof this._css_beautify==\"function\"?_=this._css_beautify:g.custom_beautifier_name===\"html\"&&(_=function(U,P){var j=new L(U,P,R._js_beautify,R._css_beautify);return j.beautify()}),this._options.indent_scripts===\"keep\"?C=0:this._options.indent_scripts===\"separate\"&&(C=-f.indent_level);var x=f.get_full_indent(C);if(v=v.replace(/\\n[ \\t]*$/,\"\"),g.custom_beautifier_name!==\"html\"&&v[0]===\"<\"&&v.match(/^(<!--|<!\\[CDATA\\[)/)){var M=/^(<!--[^\\n]*|<!\\[CDATA\\[)(\\n?)([ \\t\\n]*)([\\s\\S]*)(-->|]]>)$/.exec(v);if(!M){f.add_raw_token(d);return}E=x+M[1]+`\n`,v=M[4],M[5]&&(k=x+M[5]),v=v.replace(/\\n[ \\t]*$/,\"\"),(M[2]||M[3].indexOf(`\n`)!==-1)&&(M=M[3].match(/[ \\t]+$/),M&&(d.whitespace_before=M[0]))}if(v)if(_){var B=function(){this.eol=`\n`};B.prototype=this._options.raw_options;var O=new B;v=_(x+v,O)}else{var z=d.whitespace_before;z&&(v=v.replace(new RegExp(`\n(`+z+\")?\",\"g\"),`\n`)),v=x+v.replace(/\\n/g,`\n`+x)}E&&(v?v=E+v+`\n`+k:v=E+k),f.print_newline(!1),v&&(d.text=v,d.whitespace_before=\"\",d.newlines=0,f.add_raw_token(d),f.print_newline(!0))}},L.prototype._handle_tag_open=function(f,d,g,R,v){var _=this._get_tag_open_token(d);if((g.is_unformatted||g.is_content_unformatted)&&!g.is_empty_element&&d.type===l.TAG_OPEN&&!_.is_start_tag?(f.add_raw_token(d),_.start_tag_token=this._tag_stack.try_pop(_.tag_name)):(f.traverse_whitespace(d),this._set_tag_position(f,d,_,g,R),_.is_inline_element||f.set_wrap_point(),f.print_token(d)),_.is_start_tag&&this._is_wrap_attributes_force){var C=0,E;do E=v.peek(C),E.type===l.ATTRIBUTE&&(_.attr_count+=1),C+=1;while(E.type!==l.EOF&&E.type!==l.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(_.alignment_size=d.text.length+1),!_.tag_complete&&!_.is_unformatted&&(f.alignment_size=_.alignment_size),_};var I=function(f,d){if(this.parent=f||null,this.text=\"\",this.type=\"TK_TAG_OPEN\",this.tag_name=\"\",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char=\"\",this.tag_check=\"\",!d)this.tag_complete=!0;else{var g;this.tag_start_char=d.text[0],this.text=d.text,this.tag_start_char===\"<\"?(g=d.text.match(/^<([^\\s>]*)/),this.tag_check=g?g[1]:\"\"):(g=d.text.match(/^{{~?(?:[\\^]|#\\*?)?([^\\s}]+)/),this.tag_check=g?g[1]:\"\",(d.text.startsWith(\"{{#>\")||d.text.startsWith(\"{{~#>\"))&&this.tag_check[0]===\">\"&&(this.tag_check===\">\"&&d.next!==null?this.tag_check=d.next.text.split(\" \")[0]:this.tag_check=d.text.split(\">\")[1])),this.tag_check=this.tag_check.toLowerCase(),d.type===l.COMMENT&&(this.tag_complete=!0),this.is_start_tag=this.tag_check.charAt(0)!==\"/\",this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||d.closed&&d.closed.text===\"/>\";var R=2;this.tag_start_char===\"{\"&&this.text.length>=3&&this.text.charAt(2)===\"~\"&&(R=3),this.is_end_tag=this.is_end_tag||this.tag_start_char===\"{\"&&(this.text.length<3||/[^#\\^]/.test(this.text.charAt(R)))}};L.prototype._get_tag_open_token=function(f){var d=new I(this._tag_stack.get_parser_token(),f);return d.alignment_size=this._options.wrap_attributes_indent_size,d.is_end_tag=d.is_end_tag||D(d.tag_check,this._options.void_elements),d.is_empty_element=d.tag_complete||d.is_start_tag&&d.is_end_tag,d.is_unformatted=!d.tag_complete&&D(d.tag_check,this._options.unformatted),d.is_content_unformatted=!d.is_empty_element&&D(d.tag_check,this._options.content_unformatted),d.is_inline_element=D(d.tag_name,this._options.inline)||this._options.inline_custom_elements&&d.tag_name.includes(\"-\")||d.tag_start_char===\"{\",d},L.prototype._set_tag_position=function(f,d,g,R,v){if(g.is_empty_element||(g.is_end_tag?g.start_tag_token=this._tag_stack.try_pop(g.tag_name):(this._do_optional_end_element(g)&&(g.is_inline_element||f.print_newline(!1)),this._tag_stack.record_tag(g),(g.tag_name===\"script\"||g.tag_name===\"style\")&&!(g.is_unformatted||g.is_content_unformatted)&&(g.custom_beautifier_name=b(g.tag_check,d)))),D(g.tag_check,this._options.extra_liners)&&(f.print_newline(!1),f._output.just_added_blankline()||f.print_newline(!0)),g.is_empty_element){if(g.tag_start_char===\"{\"&&g.tag_check===\"else\"){this._tag_stack.indent_to_tag([\"if\",\"unless\",\"each\"]),g.indent_content=!0;var _=f.current_line_has_match(/{{#if/);_||f.print_newline(!1)}g.tag_name===\"!--\"&&v.type===l.TAG_CLOSE&&R.is_end_tag&&g.text.indexOf(`\n`)===-1||(g.is_inline_element||g.is_unformatted||f.print_newline(!1),this._calcluate_parent_multiline(f,g))}else if(g.is_end_tag){var C=!1;C=g.start_tag_token&&g.start_tag_token.multiline_content,C=C||!g.is_inline_element&&!(R.is_inline_element||R.is_unformatted)&&!(v.type===l.TAG_CLOSE&&g.start_tag_token===R)&&v.type!==\"TK_CONTENT\",(g.is_content_unformatted||g.is_unformatted)&&(C=!1),C&&f.print_newline(!1)}else g.indent_content=!g.custom_beautifier_name,g.tag_start_char===\"<\"&&(g.tag_name===\"html\"?g.indent_content=this._options.indent_inner_html:g.tag_name===\"head\"?g.indent_content=this._options.indent_head_inner_html:g.tag_name===\"body\"&&(g.indent_content=this._options.indent_body_inner_html)),!(g.is_inline_element||g.is_unformatted)&&(v.type!==\"TK_CONTENT\"||g.is_content_unformatted)&&f.print_newline(!1),this._calcluate_parent_multiline(f,g)},L.prototype._calcluate_parent_multiline=function(f,d){d.parent&&f._output.just_added_newline()&&!((d.is_inline_element||d.is_unformatted)&&d.parent.is_inline_element)&&(d.parent.multiline_content=!0)};var N=[\"address\",\"article\",\"aside\",\"blockquote\",\"details\",\"div\",\"dl\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hr\",\"main\",\"menu\",\"nav\",\"ol\",\"p\",\"pre\",\"section\",\"table\",\"ul\"],F=[\"a\",\"audio\",\"del\",\"ins\",\"map\",\"noscript\",\"video\"];L.prototype._do_optional_end_element=function(f){var d=null;if(!(f.is_empty_element||!f.is_start_tag||!f.parent)){if(f.tag_name===\"body\")d=d||this._tag_stack.try_pop(\"head\");else if(f.tag_name===\"li\")d=d||this._tag_stack.try_pop(\"li\",[\"ol\",\"ul\",\"menu\"]);else if(f.tag_name===\"dd\"||f.tag_name===\"dt\")d=d||this._tag_stack.try_pop(\"dt\",[\"dl\"]),d=d||this._tag_stack.try_pop(\"dd\",[\"dl\"]);else if(f.parent.tag_name===\"p\"&&N.indexOf(f.tag_name)!==-1){var g=f.parent.parent;(!g||F.indexOf(g.tag_name)===-1)&&(d=d||this._tag_stack.try_pop(\"p\"))}else f.tag_name===\"rp\"||f.tag_name===\"rt\"?(d=d||this._tag_stack.try_pop(\"rt\",[\"ruby\",\"rtc\"]),d=d||this._tag_stack.try_pop(\"rp\",[\"ruby\",\"rtc\"])):f.tag_name===\"optgroup\"?d=d||this._tag_stack.try_pop(\"optgroup\",[\"select\"]):f.tag_name===\"option\"?d=d||this._tag_stack.try_pop(\"option\",[\"select\",\"datalist\",\"optgroup\"]):f.tag_name===\"colgroup\"?d=d||this._tag_stack.try_pop(\"caption\",[\"table\"]):f.tag_name===\"thead\"?(d=d||this._tag_stack.try_pop(\"caption\",[\"table\"]),d=d||this._tag_stack.try_pop(\"colgroup\",[\"table\"])):f.tag_name===\"tbody\"||f.tag_name===\"tfoot\"?(d=d||this._tag_stack.try_pop(\"caption\",[\"table\"]),d=d||this._tag_stack.try_pop(\"colgroup\",[\"table\"]),d=d||this._tag_stack.try_pop(\"thead\",[\"table\"]),d=d||this._tag_stack.try_pop(\"tbody\",[\"table\"])):f.tag_name===\"tr\"?(d=d||this._tag_stack.try_pop(\"caption\",[\"table\"]),d=d||this._tag_stack.try_pop(\"colgroup\",[\"table\"]),d=d||this._tag_stack.try_pop(\"tr\",[\"table\",\"thead\",\"tbody\",\"tfoot\"])):(f.tag_name===\"th\"||f.tag_name===\"td\")&&(d=d||this._tag_stack.try_pop(\"td\",[\"table\",\"thead\",\"tbody\",\"tfoot\",\"tr\"]),d=d||this._tag_stack.try_pop(\"th\",[\"table\",\"thead\",\"tbody\",\"tfoot\",\"tr\"]));return f.parent=this._tag_stack.get_parser_token(),d}},e.exports.Beautifier=L},function(e,r,u){var c=u(6).Options;function i(s){c.call(this,s,\"html\"),this.templating.length===1&&this.templating[0]===\"auto\"&&(this.templating=[\"django\",\"erb\",\"handlebars\",\"php\"]),this.indent_inner_html=this._get_boolean(\"indent_inner_html\"),this.indent_body_inner_html=this._get_boolean(\"indent_body_inner_html\",!0),this.indent_head_inner_html=this._get_boolean(\"indent_head_inner_html\",!0),this.indent_handlebars=this._get_boolean(\"indent_handlebars\",!0),this.wrap_attributes=this._get_selection(\"wrap_attributes\",[\"auto\",\"force\",\"force-aligned\",\"force-expand-multiline\",\"aligned-multiple\",\"preserve\",\"preserve-aligned\"]),this.wrap_attributes_min_attrs=this._get_number(\"wrap_attributes_min_attrs\",2),this.wrap_attributes_indent_size=this._get_number(\"wrap_attributes_indent_size\",this.indent_size),this.extra_liners=this._get_array(\"extra_liners\",[\"head\",\"body\",\"/html\"]),this.inline=this._get_array(\"inline\",[\"a\",\"abbr\",\"area\",\"audio\",\"b\",\"bdi\",\"bdo\",\"br\",\"button\",\"canvas\",\"cite\",\"code\",\"data\",\"datalist\",\"del\",\"dfn\",\"em\",\"embed\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"map\",\"mark\",\"math\",\"meter\",\"noscript\",\"object\",\"output\",\"progress\",\"q\",\"ruby\",\"s\",\"samp\",\"select\",\"small\",\"span\",\"strong\",\"sub\",\"sup\",\"svg\",\"template\",\"textarea\",\"time\",\"u\",\"var\",\"video\",\"wbr\",\"text\",\"acronym\",\"big\",\"strike\",\"tt\"]),this.inline_custom_elements=this._get_boolean(\"inline_custom_elements\",!0),this.void_elements=this._get_array(\"void_elements\",[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\",\"!doctype\",\"?xml\",\"basefont\",\"isindex\"]),this.unformatted=this._get_array(\"unformatted\",[]),this.content_unformatted=this._get_array(\"content_unformatted\",[\"pre\",\"textarea\"]),this.unformatted_content_delimiter=this._get_characters(\"unformatted_content_delimiter\"),this.indent_scripts=this._get_selection(\"indent_scripts\",[\"normal\",\"keep\",\"separate\"])}i.prototype=new c,e.exports.Options=i},function(e,r,u){var c=u(9).Tokenizer,i=u(9).TOKEN,s=u(13).Directives,l=u(14).TemplatablePattern,h=u(12).Pattern,p={TAG_OPEN:\"TK_TAG_OPEN\",TAG_CLOSE:\"TK_TAG_CLOSE\",CONTROL_FLOW_OPEN:\"TK_CONTROL_FLOW_OPEN\",CONTROL_FLOW_CLOSE:\"TK_CONTROL_FLOW_CLOSE\",ATTRIBUTE:\"TK_ATTRIBUTE\",EQUALS:\"TK_EQUALS\",VALUE:\"TK_VALUE\",COMMENT:\"TK_COMMENT\",TEXT:\"TK_TEXT\",UNKNOWN:\"TK_UNKNOWN\",START:i.START,RAW:i.RAW,EOF:i.EOF},m=new s(/<\\!--/,/-->/),A=function(b,D){c.call(this,b,D),this._current_tag_name=\"\";var T=new l(this._input).read_options(this._options),y=new h(this._input);if(this.__patterns={word:T.until(/[\\n\\r\\t <]/),word_control_flow_close_excluded:T.until(/[\\n\\r\\t <}]/),single_quote:T.until_after(/'/),double_quote:T.until_after(/\"/),attribute:T.until(/[\\n\\r\\t =>]|\\/>/),element_name:T.until(/[\\n\\r\\t >\\/]/),angular_control_flow_start:y.matching(/\\@[a-zA-Z]+[^({]*[({]/),handlebars_comment:y.starting_with(/{{!--/).until_after(/--}}/),handlebars:y.starting_with(/{{/).until_after(/}}/),handlebars_open:y.until(/[\\n\\r\\t }]/),handlebars_raw_close:y.until(/}}/),comment:y.starting_with(/<!--/).until_after(/-->/),cdata:y.starting_with(/<!\\[CDATA\\[/).until_after(/]]>/),conditional_comment:y.starting_with(/<!\\[/).until_after(/]>/),processing:y.starting_with(/<\\?/).until_after(/\\?>/)},this._options.indent_handlebars&&(this.__patterns.word=this.__patterns.word.exclude(\"handlebars\"),this.__patterns.word_control_flow_close_excluded=this.__patterns.word_control_flow_close_excluded.exclude(\"handlebars\")),this._unformatted_content_delimiter=null,this._options.unformatted_content_delimiter){var L=this._input.get_literal_regexp(this._options.unformatted_content_delimiter);this.__patterns.unformatted_content_delimiter=y.matching(L).until_after(L)}};A.prototype=new c,A.prototype._is_comment=function(b){return!1},A.prototype._is_opening=function(b){return b.type===p.TAG_OPEN||b.type===p.CONTROL_FLOW_OPEN},A.prototype._is_closing=function(b,D){return b.type===p.TAG_CLOSE&&D&&((b.text===\">\"||b.text===\"/>\")&&D.text[0]===\"<\"||b.text===\"}}\"&&D.text[0]===\"{\"&&D.text[1]===\"{\")||b.type===p.CONTROL_FLOW_CLOSE&&b.text===\"}\"&&D.text.endsWith(\"{\")},A.prototype._reset=function(){this._current_tag_name=\"\"},A.prototype._get_next_token=function(b,D){var T=null;this._readWhitespace();var y=this._input.peek();return y===null?this._create_token(p.EOF,\"\"):(T=T||this._read_open_handlebars(y,D),T=T||this._read_attribute(y,b,D),T=T||this._read_close(y,D),T=T||this._read_control_flows(y,D),T=T||this._read_raw_content(y,b,D),T=T||this._read_content_word(y,D),T=T||this._read_comment_or_cdata(y),T=T||this._read_processing(y),T=T||this._read_open(y,D),T=T||this._create_token(p.UNKNOWN,this._input.next()),T)},A.prototype._read_comment_or_cdata=function(b){var D=null,T=null,y=null;if(b===\"<\"){var L=this._input.peek(1);L===\"!\"&&(T=this.__patterns.comment.read(),T?(y=m.get_directives(T),y&&y.ignore===\"start\"&&(T+=m.readIgnored(this._input))):T=this.__patterns.cdata.read()),T&&(D=this._create_token(p.COMMENT,T),D.directives=y)}return D},A.prototype._read_processing=function(b){var D=null,T=null,y=null;if(b===\"<\"){var L=this._input.peek(1);(L===\"!\"||L===\"?\")&&(T=this.__patterns.conditional_comment.read(),T=T||this.__patterns.processing.read()),T&&(D=this._create_token(p.COMMENT,T),D.directives=y)}return D},A.prototype._read_open=function(b,D){var T=null,y=null;return(!D||D.type===p.CONTROL_FLOW_OPEN)&&b===\"<\"&&(T=this._input.next(),this._input.peek()===\"/\"&&(T+=this._input.next()),T+=this.__patterns.element_name.read(),y=this._create_token(p.TAG_OPEN,T)),y},A.prototype._read_open_handlebars=function(b,D){var T=null,y=null;return(!D||D.type===p.CONTROL_FLOW_OPEN)&&this._options.indent_handlebars&&b===\"{\"&&this._input.peek(1)===\"{\"&&(this._input.peek(2)===\"!\"?(T=this.__patterns.handlebars_comment.read(),T=T||this.__patterns.handlebars.read(),y=this._create_token(p.COMMENT,T)):(T=this.__patterns.handlebars_open.read(),y=this._create_token(p.TAG_OPEN,T))),y},A.prototype._read_control_flows=function(b,D){var T=\"\",y=null;if(!this._options.templating.includes(\"angular\")||!this._options.indent_handlebars)return y;if(b===\"@\"){if(T=this.__patterns.angular_control_flow_start.read(),T===\"\")return y;for(var L=T.endsWith(\"(\")?1:0,I=0;!(T.endsWith(\"{\")&&L===I);){var N=this._input.next();if(N===null)break;N===\"(\"?L++:N===\")\"&&I++,T+=N}y=this._create_token(p.CONTROL_FLOW_OPEN,T)}else b===\"}\"&&D&&D.type===p.CONTROL_FLOW_OPEN&&(T=this._input.next(),y=this._create_token(p.CONTROL_FLOW_CLOSE,T));return y},A.prototype._read_close=function(b,D){var T=null,y=null;return D&&D.type===p.TAG_OPEN&&(D.text[0]===\"<\"&&(b===\">\"||b===\"/\"&&this._input.peek(1)===\">\")?(T=this._input.next(),b===\"/\"&&(T+=this._input.next()),y=this._create_token(p.TAG_CLOSE,T)):D.text[0]===\"{\"&&b===\"}\"&&this._input.peek(1)===\"}\"&&(this._input.next(),this._input.next(),y=this._create_token(p.TAG_CLOSE,\"}}\"))),y},A.prototype._read_attribute=function(b,D,T){var y=null,L=\"\";if(T&&T.text[0]===\"<\")if(b===\"=\")y=this._create_token(p.EQUALS,this._input.next());else if(b==='\"'||b===\"'\"){var I=this._input.next();b==='\"'?I+=this.__patterns.double_quote.read():I+=this.__patterns.single_quote.read(),y=this._create_token(p.VALUE,I)}else L=this.__patterns.attribute.read(),L&&(D.type===p.EQUALS?y=this._create_token(p.VALUE,L):y=this._create_token(p.ATTRIBUTE,L));return y},A.prototype._is_content_unformatted=function(b){return this._options.void_elements.indexOf(b)===-1&&(this._options.content_unformatted.indexOf(b)!==-1||this._options.unformatted.indexOf(b)!==-1)},A.prototype._read_raw_content=function(b,D,T){var y=\"\";if(T&&T.text[0]===\"{\")y=this.__patterns.handlebars_raw_close.read();else if(D.type===p.TAG_CLOSE&&D.opened.text[0]===\"<\"&&D.text[0]!==\"/\"){var L=D.opened.text.substr(1).toLowerCase();if(L===\"script\"||L===\"style\"){var I=this._read_comment_or_cdata(b);if(I)return I.type=p.TEXT,I;y=this._input.readUntil(new RegExp(\"</\"+L+\"[\\\\n\\\\r\\\\t ]*?>\",\"ig\"))}else this._is_content_unformatted(L)&&(y=this._input.readUntil(new RegExp(\"</\"+L+\"[\\\\n\\\\r\\\\t ]*?>\",\"ig\")))}return y?this._create_token(p.TEXT,y):null},A.prototype._read_content_word=function(b,D){var T=\"\";if(this._options.unformatted_content_delimiter&&b===this._options.unformatted_content_delimiter[0]&&(T=this.__patterns.unformatted_content_delimiter.read()),T||(T=D&&D.type===p.CONTROL_FLOW_OPEN?this.__patterns.word_control_flow_close_excluded.read():this.__patterns.word.read()),T)return this._create_token(p.TEXT,T)},e.exports.Tokenizer=A,e.exports.TOKEN=p}],n={};function o(e){var r=n[e];if(r!==void 0)return r.exports;var u=n[e]={exports:{}};return t[e](u,u.exports,o),u.exports}var a=o(18);fn=a})();function gn(t,n){return fn(t,n,dn,mn)}function _n(t,n,o){let a=t.getText(),e=!0,r=0,u=o.tabSize||4;if(n){let s=t.offsetAt(n.start),l=s;for(;l>0&&wn(a,l-1);)l--;l===0||bn(a,l-1)?s=l:l<s&&(s=l+1);let h=t.offsetAt(n.end),p=h;for(;p<a.length&&wn(a,p);)p++;(p===a.length||bn(a,p))&&(h=p),n=W.create(t.positionAt(s),t.positionAt(h));let m=a.substring(0,s);if(new RegExp(/.*[<][^>]*$/).test(m))return a=a.substring(s,h),[{range:n,newText:a}];if(e=h===a.length,a=a.substring(s,h),s!==0){let A=t.offsetAt(q.create(n.start.line,0));r=gi(t.getText(),A,o)}}else n=W.create(q.create(0,0),t.positionAt(a.length));let c={indent_size:u,indent_char:o.insertSpaces?\" \":\"\t\",indent_empty_lines:Y(o,\"indentEmptyLines\",!1),wrap_line_length:Y(o,\"wrapLineLength\",120),unformatted:wt(o,\"unformatted\",void 0),content_unformatted:wt(o,\"contentUnformatted\",void 0),indent_inner_html:Y(o,\"indentInnerHtml\",!1),preserve_newlines:Y(o,\"preserveNewLines\",!0),max_preserve_newlines:Y(o,\"maxPreserveNewLines\",32786),indent_handlebars:Y(o,\"indentHandlebars\",!1),end_with_newline:e&&Y(o,\"endWithNewline\",!1),extra_liners:wt(o,\"extraLiners\",void 0),wrap_attributes:Y(o,\"wrapAttributes\",\"auto\"),wrap_attributes_indent_size:Y(o,\"wrapAttributesIndentSize\",void 0),eol:`\n`,indent_scripts:Y(o,\"indentScripts\",\"normal\"),templating:fi(o,\"all\"),unformatted_content_delimiter:Y(o,\"unformattedContentDelimiter\",\"\")},i=gn(mi(a),c);if(r>0){let s=o.insertSpaces?bt(\" \",u*r):bt(\"\t\",r);i=i.split(`\n`).join(`\n`+s),n.start.character===0&&(i=s+i)}return[{range:n,newText:i}]}function mi(t){return t.replace(/^\\s+/,\"\")}function Y(t,n,o){if(t&&t.hasOwnProperty(n)){let a=t[n];if(a!==null)return a}return o}function wt(t,n,o){let a=Y(t,n,null);return typeof a==\"string\"?a.length>0?a.split(\",\").map(e=>e.trim().toLowerCase()):[]:o}function fi(t,n){let o=Y(t,\"templating\",n);return o===!0?[\"auto\"]:o===!1||o===n||Array.isArray(o)===!1?[\"none\"]:o}function gi(t,n,o){let a=n,e=0,r=o.tabSize||4;for(;a<t.length;){let u=t.charAt(a);if(u===\" \")e++;else if(u===\"\t\")e+=r;else break;a++}return Math.floor(e/r)}function bn(t,n){return`\\r\n`.indexOf(t.charAt(n))!==-1}function wn(t,n){return\" \t\".indexOf(t.charAt(n))!==-1}var vn;(()=>{\"use strict\";var t={470:e=>{function r(i){if(typeof i!=\"string\")throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(i))}function u(i,s){for(var l,h=\"\",p=0,m=-1,A=0,b=0;b<=i.length;++b){if(b<i.length)l=i.charCodeAt(b);else{if(l===47)break;l=47}if(l===47){if(!(m===b-1||A===1))if(m!==b-1&&A===2){if(h.length<2||p!==2||h.charCodeAt(h.length-1)!==46||h.charCodeAt(h.length-2)!==46){if(h.length>2){var D=h.lastIndexOf(\"/\");if(D!==h.length-1){D===-1?(h=\"\",p=0):p=(h=h.slice(0,D)).length-1-h.lastIndexOf(\"/\"),m=b,A=0;continue}}else if(h.length===2||h.length===1){h=\"\",p=0,m=b,A=0;continue}}s&&(h.length>0?h+=\"/..\":h=\"..\",p=2)}else h.length>0?h+=\"/\"+i.slice(m+1,b):h=i.slice(m+1,b),p=b-m-1;m=b,A=0}else l===46&&A!==-1?++A:A=-1}return h}var c={resolve:function(){for(var i,s=\"\",l=!1,h=arguments.length-1;h>=-1&&!l;h--){var p;h>=0?p=arguments[h]:(i===void 0&&(i=process.cwd()),p=i),r(p),p.length!==0&&(s=p+\"/\"+s,l=p.charCodeAt(0)===47)}return s=u(s,!l),l?s.length>0?\"/\"+s:\"/\":s.length>0?s:\".\"},normalize:function(i){if(r(i),i.length===0)return\".\";var s=i.charCodeAt(0)===47,l=i.charCodeAt(i.length-1)===47;return(i=u(i,!s)).length!==0||s||(i=\".\"),i.length>0&&l&&(i+=\"/\"),s?\"/\"+i:i},isAbsolute:function(i){return r(i),i.length>0&&i.charCodeAt(0)===47},join:function(){if(arguments.length===0)return\".\";for(var i,s=0;s<arguments.length;++s){var l=arguments[s];r(l),l.length>0&&(i===void 0?i=l:i+=\"/\"+l)}return i===void 0?\".\":c.normalize(i)},relative:function(i,s){if(r(i),r(s),i===s||(i=c.resolve(i))===(s=c.resolve(s)))return\"\";for(var l=1;l<i.length&&i.charCodeAt(l)===47;++l);for(var h=i.length,p=h-l,m=1;m<s.length&&s.charCodeAt(m)===47;++m);for(var A=s.length-m,b=p<A?p:A,D=-1,T=0;T<=b;++T){if(T===b){if(A>b){if(s.charCodeAt(m+T)===47)return s.slice(m+T+1);if(T===0)return s.slice(m+T)}else p>b&&(i.charCodeAt(l+T)===47?D=T:T===0&&(D=0));break}var y=i.charCodeAt(l+T);if(y!==s.charCodeAt(m+T))break;y===47&&(D=T)}var L=\"\";for(T=l+D+1;T<=h;++T)T!==h&&i.charCodeAt(T)!==47||(L.length===0?L+=\"..\":L+=\"/..\");return L.length>0?L+s.slice(m+D):(m+=D,s.charCodeAt(m)===47&&++m,s.slice(m))},_makeLong:function(i){return i},dirname:function(i){if(r(i),i.length===0)return\".\";for(var s=i.charCodeAt(0),l=s===47,h=-1,p=!0,m=i.length-1;m>=1;--m)if((s=i.charCodeAt(m))===47){if(!p){h=m;break}}else p=!1;return h===-1?l?\"/\":\".\":l&&h===1?\"//\":i.slice(0,h)},basename:function(i,s){if(s!==void 0&&typeof s!=\"string\")throw new TypeError('\"ext\" argument must be a string');r(i);var l,h=0,p=-1,m=!0;if(s!==void 0&&s.length>0&&s.length<=i.length){if(s.length===i.length&&s===i)return\"\";var A=s.length-1,b=-1;for(l=i.length-1;l>=0;--l){var D=i.charCodeAt(l);if(D===47){if(!m){h=l+1;break}}else b===-1&&(m=!1,b=l+1),A>=0&&(D===s.charCodeAt(A)?--A==-1&&(p=l):(A=-1,p=b))}return h===p?p=b:p===-1&&(p=i.length),i.slice(h,p)}for(l=i.length-1;l>=0;--l)if(i.charCodeAt(l)===47){if(!m){h=l+1;break}}else p===-1&&(m=!1,p=l+1);return p===-1?\"\":i.slice(h,p)},extname:function(i){r(i);for(var s=-1,l=0,h=-1,p=!0,m=0,A=i.length-1;A>=0;--A){var b=i.charCodeAt(A);if(b!==47)h===-1&&(p=!1,h=A+1),b===46?s===-1?s=A:m!==1&&(m=1):s!==-1&&(m=-1);else if(!p){l=A+1;break}}return s===-1||h===-1||m===0||m===1&&s===h-1&&s===l+1?\"\":i.slice(s,h)},format:function(i){if(i===null||typeof i!=\"object\")throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof i);return function(s,l){var h=l.dir||l.root,p=l.base||(l.name||\"\")+(l.ext||\"\");return h?h===l.root?h+p:h+\"/\"+p:p}(0,i)},parse:function(i){r(i);var s={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(i.length===0)return s;var l,h=i.charCodeAt(0),p=h===47;p?(s.root=\"/\",l=1):l=0;for(var m=-1,A=0,b=-1,D=!0,T=i.length-1,y=0;T>=l;--T)if((h=i.charCodeAt(T))!==47)b===-1&&(D=!1,b=T+1),h===46?m===-1?m=T:y!==1&&(y=1):m!==-1&&(y=-1);else if(!D){A=T+1;break}return m===-1||b===-1||y===0||y===1&&m===b-1&&m===A+1?b!==-1&&(s.base=s.name=A===0&&p?i.slice(1,b):i.slice(A,b)):(A===0&&p?(s.name=i.slice(1,m),s.base=i.slice(1,b)):(s.name=i.slice(A,m),s.base=i.slice(A,b)),s.ext=i.slice(m,b)),A>0?s.dir=i.slice(0,A-1):p&&(s.dir=\"/\"),s},sep:\"/\",delimiter:\":\",win32:null,posix:null};c.posix=c,e.exports=c}},n={};function o(e){var r=n[e];if(r!==void 0)return r.exports;var u=n[e]={exports:{}};return t[e](u,u.exports,o),u.exports}o.d=(e,r)=>{for(var u in r)o.o(r,u)&&!o.o(e,u)&&Object.defineProperty(e,u,{enumerable:!0,get:r[u]})},o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{typeof Symbol<\"u\"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var a={};(()=>{let e;o.r(a),o.d(a,{URI:()=>p,Utils:()=>R}),typeof process==\"object\"?e=process.platform===\"win32\":typeof navigator==\"object\"&&(e=navigator.userAgent.indexOf(\"Windows\")>=0);let r=/^\\w[\\w\\d+.-]*$/,u=/^\\//,c=/^\\/\\//;function i(v,_){if(!v.scheme&&_)throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${v.authority}\", path: \"${v.path}\", query: \"${v.query}\", fragment: \"${v.fragment}\"}`);if(v.scheme&&!r.test(v.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(v.path){if(v.authority){if(!u.test(v.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(c.test(v.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}}let s=\"\",l=\"/\",h=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;class p{static isUri(_){return _ instanceof p||!!_&&typeof _.authority==\"string\"&&typeof _.fragment==\"string\"&&typeof _.path==\"string\"&&typeof _.query==\"string\"&&typeof _.scheme==\"string\"&&typeof _.fsPath==\"string\"&&typeof _.with==\"function\"&&typeof _.toString==\"function\"}scheme;authority;path;query;fragment;constructor(_,C,E,k,x,M=!1){typeof _==\"object\"?(this.scheme=_.scheme||s,this.authority=_.authority||s,this.path=_.path||s,this.query=_.query||s,this.fragment=_.fragment||s):(this.scheme=function(B,O){return B||O?B:\"file\"}(_,M),this.authority=C||s,this.path=function(B,O){switch(B){case\"https\":case\"http\":case\"file\":O?O[0]!==l&&(O=l+O):O=l}return O}(this.scheme,E||s),this.query=k||s,this.fragment=x||s,i(this,M))}get fsPath(){return y(this,!1)}with(_){if(!_)return this;let{scheme:C,authority:E,path:k,query:x,fragment:M}=_;return C===void 0?C=this.scheme:C===null&&(C=s),E===void 0?E=this.authority:E===null&&(E=s),k===void 0?k=this.path:k===null&&(k=s),x===void 0?x=this.query:x===null&&(x=s),M===void 0?M=this.fragment:M===null&&(M=s),C===this.scheme&&E===this.authority&&k===this.path&&x===this.query&&M===this.fragment?this:new A(C,E,k,x,M)}static parse(_,C=!1){let E=h.exec(_);return E?new A(E[2]||s,F(E[4]||s),F(E[5]||s),F(E[7]||s),F(E[9]||s),C):new A(s,s,s,s,s)}static file(_){let C=s;if(e&&(_=_.replace(/\\\\/g,l)),_[0]===l&&_[1]===l){let E=_.indexOf(l,2);E===-1?(C=_.substring(2),_=l):(C=_.substring(2,E),_=_.substring(E)||l)}return new A(\"file\",C,_,s,s)}static from(_){let C=new A(_.scheme,_.authority,_.path,_.query,_.fragment);return i(C,!0),C}toString(_=!1){return L(this,_)}toJSON(){return this}static revive(_){if(_){if(_ instanceof p)return _;{let C=new A(_);return C._formatted=_.external,C._fsPath=_._sep===m?_.fsPath:null,C}}return _}}let m=e?1:void 0;class A extends p{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=y(this,!1)),this._fsPath}toString(_=!1){return _?L(this,!0):(this._formatted||(this._formatted=L(this,!1)),this._formatted)}toJSON(){let _={$mid:1};return this._fsPath&&(_.fsPath=this._fsPath,_._sep=m),this._formatted&&(_.external=this._formatted),this.path&&(_.path=this.path),this.scheme&&(_.scheme=this.scheme),this.authority&&(_.authority=this.authority),this.query&&(_.query=this.query),this.fragment&&(_.fragment=this.fragment),_}}let b={58:\"%3A\",47:\"%2F\",63:\"%3F\",35:\"%23\",91:\"%5B\",93:\"%5D\",64:\"%40\",33:\"%21\",36:\"%24\",38:\"%26\",39:\"%27\",40:\"%28\",41:\"%29\",42:\"%2A\",43:\"%2B\",44:\"%2C\",59:\"%3B\",61:\"%3D\",32:\"%20\"};function D(v,_,C){let E,k=-1;for(let x=0;x<v.length;x++){let M=v.charCodeAt(x);if(M>=97&&M<=122||M>=65&&M<=90||M>=48&&M<=57||M===45||M===46||M===95||M===126||_&&M===47||C&&M===91||C&&M===93||C&&M===58)k!==-1&&(E+=encodeURIComponent(v.substring(k,x)),k=-1),E!==void 0&&(E+=v.charAt(x));else{E===void 0&&(E=v.substr(0,x));let B=b[M];B!==void 0?(k!==-1&&(E+=encodeURIComponent(v.substring(k,x)),k=-1),E+=B):k===-1&&(k=x)}}return k!==-1&&(E+=encodeURIComponent(v.substring(k))),E!==void 0?E:v}function T(v){let _;for(let C=0;C<v.length;C++){let E=v.charCodeAt(C);E===35||E===63?(_===void 0&&(_=v.substr(0,C)),_+=b[E]):_!==void 0&&(_+=v[C])}return _!==void 0?_:v}function y(v,_){let C;return C=v.authority&&v.path.length>1&&v.scheme===\"file\"?`//${v.authority}${v.path}`:v.path.charCodeAt(0)===47&&(v.path.charCodeAt(1)>=65&&v.path.charCodeAt(1)<=90||v.path.charCodeAt(1)>=97&&v.path.charCodeAt(1)<=122)&&v.path.charCodeAt(2)===58?_?v.path.substr(1):v.path[1].toLowerCase()+v.path.substr(2):v.path,e&&(C=C.replace(/\\//g,\"\\\\\")),C}function L(v,_){let C=_?T:D,E=\"\",{scheme:k,authority:x,path:M,query:B,fragment:O}=v;if(k&&(E+=k,E+=\":\"),(x||k===\"file\")&&(E+=l,E+=l),x){let z=x.indexOf(\"@\");if(z!==-1){let U=x.substr(0,z);x=x.substr(z+1),z=U.lastIndexOf(\":\"),z===-1?E+=C(U,!1,!1):(E+=C(U.substr(0,z),!1,!1),E+=\":\",E+=C(U.substr(z+1),!1,!0)),E+=\"@\"}x=x.toLowerCase(),z=x.lastIndexOf(\":\"),z===-1?E+=C(x,!1,!0):(E+=C(x.substr(0,z),!1,!0),E+=x.substr(z))}if(M){if(M.length>=3&&M.charCodeAt(0)===47&&M.charCodeAt(2)===58){let z=M.charCodeAt(1);z>=65&&z<=90&&(M=`/${String.fromCharCode(z+32)}:${M.substr(3)}`)}else if(M.length>=2&&M.charCodeAt(1)===58){let z=M.charCodeAt(0);z>=65&&z<=90&&(M=`${String.fromCharCode(z+32)}:${M.substr(2)}`)}E+=C(M,!0,!1)}return B&&(E+=\"?\",E+=C(B,!1,!1)),O&&(E+=\"#\",E+=_?O:D(O,!1,!1)),E}function I(v){try{return decodeURIComponent(v)}catch{return v.length>3?v.substr(0,3)+I(v.substr(3)):v}}let N=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function F(v){return v.match(N)?v.replace(N,_=>I(_)):v}var f=o(470);let d=f.posix||f,g=\"/\";var R;(function(v){v.joinPath=function(_,...C){return _.with({path:d.join(_.path,...C)})},v.resolvePath=function(_,...C){let E=_.path,k=!1;E[0]!==g&&(E=g+E,k=!0);let x=d.resolve(E,...C);return k&&x[0]===g&&!_.authority&&(x=x.substring(1)),_.with({path:x})},v.dirname=function(_){if(_.path.length===0||_.path===g)return _;let C=d.dirname(_.path);return C.length===1&&C.charCodeAt(0)===46&&(C=\"\"),_.with({path:C})},v.basename=function(_){return d.basename(_.path)},v.extname=function(_){return d.extname(_.path)}})(R||(R={}))})(),vn=a})();var{URI:yn,Utils:_r}=vn;function _t(t){let n=t[0],o=t[t.length-1];return n===o&&(n===\"'\"||n==='\"')&&(t=t.substring(1,t.length-1)),t}function bi(t,n){return!t.length||n===\"handlebars\"&&/{{|}}/.test(t)?!1:/\\b(w[\\w\\d+.-]*:\\/\\/)?[^\\s()<>]+(?:\\([\\w\\d]+\\)|([^[:punct:]\\s]|\\/?))/.test(t)}function wi(t,n,o,a){if(/^\\s*javascript\\:/i.test(n)||/[\\n\\r]/.test(n))return;n=n.replace(/^\\s*/g,\"\");let e=n.match(/^(\\w[\\w\\d+.-]*):/);if(e){let r=e[1].toLowerCase();return r===\"http\"||r===\"https\"||r===\"file\"?n:void 0}return/^\\#/i.test(n)?t+n:/^\\/\\//i.test(n)?(Z(t,\"https://\")?\"https\":\"http\")+\":\"+n.replace(/^\\s*/g,\"\"):o?o.resolveReference(n,a||t):n}function _i(t,n,o,a,e,r){let u=_t(o);if(!bi(u,t.languageId))return;u.length<o.length&&(a++,e--);let c=wi(t.uri,u,n,r);if(!c)return;let i=yi(c,t);return{range:W.create(t.positionAt(a),t.positionAt(e)),target:i}}var vi=35;function yi(t,n){try{let o=yn.parse(t);return o.scheme===\"file\"&&o.query&&(o=o.with({query:null}),t=o.toString(!0)),o.scheme===\"file\"&&o.fragment&&!(t.startsWith(n.uri)&&t.charCodeAt(n.uri.length)===vi)?o.with({fragment:null}).toString(!0):t}catch{return}}var We=class{constructor(n){this.dataManager=n}findDocumentLinks(n,o){let a=[],e=V(n.getText(),0),r=e.scan(),u,c,i=!1,s,l={};for(;r!==S.EOS;){switch(r){case S.StartTag:c=e.getTokenText().toLowerCase(),s||(i=c===\"base\");break;case S.AttributeName:u=e.getTokenText().toLowerCase();break;case S.AttributeValue:if(c&&u&&this.dataManager.isPathAttribute(c,u)){let h=e.getTokenText();if(!i){let p=_i(n,o,h,e.getTokenOffset(),e.getTokenEnd(),s);p&&a.push(p)}i&&typeof s>\"u\"&&(s=_t(h),s&&o&&(s=o.resolveReference(s,n.uri))),i=!1,u=void 0}else if(u===\"id\"){let h=_t(e.getTokenText());l[h]=e.getTokenOffset()}break}r=e.scan()}for(let h of a){let p=n.uri+\"#\";if(h.target&&Z(h.target,p)){let m=h.target.substring(p.length),A=l[m];if(A!==void 0){let b=n.positionAt(A);h.target=`${p}${b.line+1},${b.character+1}`}else h.target=n.uri}}return a}};function An(t,n,o){let a=t.offsetAt(n),e=o.findNodeAt(a);if(!e.tag)return[];let r=[],u=Sn(S.StartTag,t,e.start),c=typeof e.endTagStart==\"number\"&&Sn(S.EndTag,t,e.endTagStart);return(u&&kn(u,n)||c&&kn(c,n))&&(u&&r.push({kind:ue.Read,range:u}),c&&r.push({kind:ue.Read,range:c})),r}function Tn(t,n){return t.line<n.line||t.line===n.line&&t.character<=n.character}function kn(t,n){return Tn(t.start,n)&&Tn(n,t.end)}function Sn(t,n,o){let a=V(n.getText(),o),e=a.scan();for(;e!==S.EOS&&e!==t;)e=a.scan();return e!==S.EOS?{start:n.positionAt(a.getTokenOffset()),end:n.positionAt(a.getTokenEnd())}:null}function xn(t,n){let o=[],a=vt(t,n);for(let r of a)e(r,void 0);return o;function e(r,u){let c=we.create(r.name,r.kind,r.range,t.uri,u?.name);if(c.containerName??(c.containerName=\"\"),o.push(c),r.children)for(let i of r.children)e(i,r)}}function vt(t,n){let o=[];return n.roots.forEach(a=>{Dn(t,a,o)}),o}function Dn(t,n,o){let a=Ti(n),e=W.create(t.positionAt(n.start),t.positionAt(n.end)),r=_e.create(a,void 0,be.Field,e,e);o.push(r),n.children.forEach(u=>{r.children??(r.children=[]),Dn(t,u,r.children)})}function Ti(t){let n=t.tag;if(t.attributes){let o=t.attributes.id,a=t.attributes.class;o&&(n+=`#${o.replace(/[\\\"\\']/g,\"\")}`),a&&(n+=a.replace(/[\\\"\\']/g,\"\").split(/\\s+/).map(e=>`.${e}`).join(\"\"))}return n||\"?\"}function En(t,n,o,a){let e=t.offsetAt(n),r=a.findNodeAt(e);if(!r.tag||!ki(r,e,r.tag))return null;let u=[],c={start:t.positionAt(r.start+1),end:t.positionAt(r.start+1+r.tag.length)};if(u.push({range:c,newText:o}),r.endTagStart){let s={start:t.positionAt(r.endTagStart+2),end:t.positionAt(r.endTagStart+2+r.tag.length)};u.push({range:s,newText:o})}return{changes:{[t.uri.toString()]:u}}}function ki(t,n,o){return t.endTagStart&&t.endTagStart+2<=n&&n<=t.endTagStart+2+o.length?!0:t.start+1<=n&&n<=t.start+1+o.length}function Cn(t,n,o){let a=t.offsetAt(n),e=o.findNodeAt(a);if(!e.tag||!e.endTagStart)return null;if(e.start+1<=a&&a<=e.start+1+e.tag.length){let r=a-1-e.start+e.endTagStart+2;return t.positionAt(r)}if(e.endTagStart+2<=a&&a<=e.endTagStart+2+e.tag.length){let r=a-2-e.endTagStart+e.start+1;return t.positionAt(r)}return null}function yt(t,n,o){let a=t.offsetAt(n),e=o.findNodeAt(a),r=e.tag?e.tag.length:0;return e.endTagStart&&(e.start+1<=a&&a<=e.start+1+r||e.endTagStart+2<=a&&a<=e.endTagStart+2+r)?[W.create(t.positionAt(e.start+1),t.positionAt(e.start+1+r)),W.create(t.positionAt(e.endTagStart+2),t.positionAt(e.endTagStart+2+r))]:null}var Ue=class{constructor(n){this.dataManager=n}limitRanges(n,o){n=n.sort((h,p)=>{let m=h.startLine-p.startLine;return m===0&&(m=h.endLine-p.endLine),m});let a,e=[],r=[],u=[],c=(h,p)=>{r[h]=p,p<30&&(u[p]=(u[p]||0)+1)};for(let h=0;h<n.length;h++){let p=n[h];if(!a)a=p,c(h,0);else if(p.startLine>a.startLine){if(p.endLine<=a.endLine)e.push(a),a=p,c(h,e.length);else if(p.startLine>a.endLine){do a=e.pop();while(a&&p.startLine>a.endLine);a&&e.push(a),a=p,c(h,e.length)}}}let i=0,s=0;for(let h=0;h<u.length;h++){let p=u[h];if(p){if(p+i>o){s=h;break}i+=p}}let l=[];for(let h=0;h<n.length;h++){let p=r[h];typeof p==\"number\"&&(p<s||p===s&&i++<o)&&l.push(n[h])}return l}getFoldingRanges(n,o){let a=this.dataManager.getVoidElements(n.languageId),e=V(n.getText()),r=e.scan(),u=[],c=[],i=null,s=-1;function l(p){u.push(p),s=p.startLine}for(;r!==S.EOS;){switch(r){case S.StartTag:{let p=e.getTokenText(),m=n.positionAt(e.getTokenOffset()).line;c.push({startLine:m,tagName:p}),i=p;break}case S.EndTag:{i=e.getTokenText();break}case S.StartTagClose:if(!i||!this.dataManager.isVoidElement(i,a))break;case S.EndTagClose:case S.StartTagSelfClose:{let p=c.length-1;for(;p>=0&&c[p].tagName!==i;)p--;if(p>=0){let m=c[p];c.length=p;let A=n.positionAt(e.getTokenOffset()).line,b=m.startLine,D=A-1;D>b&&s!==b&&l({startLine:b,endLine:D})}break}case S.Comment:{let p=n.positionAt(e.getTokenOffset()).line,A=e.getTokenText().match(/^\\s*#(region\\b)|(endregion\\b)/);if(A)if(A[1])c.push({startLine:p,tagName:\"\"});else{let b=c.length-1;for(;b>=0&&c[b].tagName.length;)b--;if(b>=0){let D=c[b];c.length=b;let T=p;p=D.startLine,T>p&&s!==p&&l({startLine:p,endLine:T,kind:oe.Region})}}else{let b=n.positionAt(e.getTokenOffset()+e.getTokenLength()).line;p<b&&l({startLine:p,endLine:b,kind:oe.Comment})}break}}r=e.scan()}let h=o&&o.rangeLimit||Number.MAX_VALUE;return u.length>h?this.limitRanges(u,h):u}};var Oe=class{constructor(n){this.htmlParser=n}getSelectionRanges(n,o){let a=this.htmlParser.parseDocument(n);return o.map(e=>this.getSelectionRange(e,n,a))}getSelectionRange(n,o,a){let e=this.getApplicableRanges(o,n,a),r,u;for(let c=e.length-1;c>=0;c--){let i=e[c];(!r||i[0]!==r[0]||i[1]!==r[1])&&(u=ce.create(W.create(o.positionAt(e[c][0]),o.positionAt(e[c][1])),u)),r=i}return u||(u=ce.create(W.create(n,n))),u}getApplicableRanges(n,o,a){let e=n.offsetAt(o),r=a.findNodeAt(e),u=this.getAllParentTagRanges(r);if(r.startTagEnd&&!r.endTagStart){if(r.startTagEnd!==r.end)return[[r.start,r.end]];let c=W.create(n.positionAt(r.startTagEnd-2),n.positionAt(r.startTagEnd));return n.getText(c)===\"/>\"?u.unshift([r.start+1,r.startTagEnd-2]):u.unshift([r.start+1,r.startTagEnd-1]),u=this.getAttributeLevelRanges(n,r,e).concat(u),u}return!r.startTagEnd||!r.endTagStart?u:(u.unshift([r.start,r.end]),r.start<e&&e<r.startTagEnd?(u.unshift([r.start+1,r.startTagEnd-1]),u=this.getAttributeLevelRanges(n,r,e).concat(u),u):r.startTagEnd<=e&&e<=r.endTagStart?(u.unshift([r.startTagEnd,r.endTagStart]),u):(e>=r.endTagStart+2&&u.unshift([r.endTagStart+2,r.end-1]),u))}getAllParentTagRanges(n){let o=n,a=[];for(;o.parent;)o=o.parent,this.getNodeRanges(o).forEach(e=>a.push(e));return a}getNodeRanges(n){return n.startTagEnd&&n.endTagStart&&n.startTagEnd<n.endTagStart?[[n.startTagEnd,n.endTagStart],[n.start,n.end]]:[[n.start,n.end]]}getAttributeLevelRanges(n,o,a){let e=W.create(n.positionAt(o.start),n.positionAt(o.end)),r=n.getText(e),u=a-o.start,c=V(r),i=c.scan(),s=o.start,l=[],h=!1,p=-1;for(;i!==S.EOS;){switch(i){case S.AttributeName:{if(u<c.getTokenOffset()){h=!1;break}u<=c.getTokenEnd()&&l.unshift([c.getTokenOffset(),c.getTokenEnd()]),h=!0,p=c.getTokenOffset();break}case S.AttributeValue:{if(!h)break;let m=c.getTokenText();if(u<c.getTokenOffset()){l.push([p,c.getTokenEnd()]);break}u>=c.getTokenOffset()&&u<=c.getTokenEnd()&&(l.unshift([c.getTokenOffset(),c.getTokenEnd()]),(m[0]==='\"'&&m[m.length-1]==='\"'||m[0]===\"'\"&&m[m.length-1]===\"'\")&&u>=c.getTokenOffset()+1&&u<=c.getTokenEnd()-1&&l.unshift([c.getTokenOffset()+1,c.getTokenEnd()-1]),l.push([p,c.getTokenEnd()]));break}}i=c.scan()}return l.map(m=>[m[0]+s,m[1]+s])}};var Tt={version:1.1,tags:[{name:\"html\",description:{kind:\"markdown\",value:\"The html element represents the root of an HTML document.\"},attributes:[{name:\"manifest\",description:{kind:\"markdown\",value:\"Specifies the URI of a resource manifest indicating resources that should be cached locally. See [Using the application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache) for details.\"}},{name:\"version\",description:'Specifies the version of the HTML [Document Type Definition](https://developer.mozilla.org/en-US/docs/Glossary/DTD \"Document Type Definition: In HTML, the doctype is the required \"<!DOCTYPE html>\" preamble found at the top of all documents. Its sole purpose is to prevent a browser from switching into so-called \\u201Cquirks mode\\u201D when rendering a document; that is, the \"<!DOCTYPE html>\" doctype ensures that the browser makes a best-effort attempt at following the relevant specifications, rather than using a different rendering mode that is incompatible with some specifications.\") that governs the current document. This attribute is not needed, because it is redundant with the version information in the document type declaration.'},{name:\"xmlns\",description:'Specifies the XML Namespace of the document. Default value is `\"http://www.w3.org/1999/xhtml\"`. This is required in documents parsed with XML parsers, and optional in text/html documents.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/html\"}]},{name:\"head\",description:{kind:\"markdown\",value:\"The head element represents a collection of metadata for the Document.\"},attributes:[{name:\"profile\",description:\"The URIs of one or more metadata profiles, separated by white space.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/head\"}]},{name:\"title\",description:{kind:\"markdown\",value:\"The title element represents the document's title or name. Authors should use titles that identify their documents even when they are used out of context, for example in a user's history or bookmarks, or in search results. The document's title is often different from its first heading, since the first heading does not have to stand alone when taken out of context.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/title\"}]},{name:\"base\",description:{kind:\"markdown\",value:\"The base element allows authors to specify the document base URL for the purposes of resolving relative URLs, and the name of the default browsing context for the purposes of following hyperlinks. The element does not represent any content beyond this information.\"},void:!0,attributes:[{name:\"href\",description:{kind:\"markdown\",value:\"The base URL to be used throughout the document for relative URL addresses. If this attribute is specified, this element must come before any other elements with attributes whose values are URLs. Absolute and relative URLs are allowed.\"}},{name:\"target\",valueSet:\"target\",description:{kind:\"markdown\",value:\"A name or keyword indicating the default location to display the result when hyperlinks or forms cause navigation, for elements that do not have an explicit target reference. It is a name of, or keyword for, a _browsing context_ (for example: tab, window, or inline frame). The following keywords have special meanings:\\n\\n*   `_self`: Load the result into the same browsing context as the current one. This value is the default if the attribute is not specified.\\n*   `_blank`: Load the result into a new unnamed browsing context.\\n*   `_parent`: Load the result into the parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\\n*   `_top`: Load the result into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`.\\n\\nIf this attribute is specified, this element must come before any other elements with attributes whose values are URLs.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/base\"}]},{name:\"link\",description:{kind:\"markdown\",value:\"The link element allows authors to link their document to other resources.\"},void:!0,attributes:[{name:\"href\",description:{kind:\"markdown\",value:'This attribute specifies the [URL](https://developer.mozilla.org/en-US/docs/Glossary/URL \"URL: Uniform Resource Locator (URL) is a text string specifying where a resource can be found on the Internet.\") of the linked resource. A URL can be absolute or relative.'}},{name:\"crossorigin\",valueSet:\"xo\",description:{kind:\"markdown\",value:'This enumerated attribute indicates whether [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS \"CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.\") must be used when fetching the resource. [CORS-enabled images](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas \"Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.\") element without being _tainted_. The allowed values are:\\n\\n`anonymous`\\n\\nA cross-origin request (i.e. with an [`Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin \"The Origin request header indicates where a fetch originates from. It doesn\\'t include any path information, but only the server name. It is sent with CORS requests, as well as with POST requests. It is similar to the Referer header, but, unlike this header, it doesn\\'t disclose the whole path.\") HTTP header) is performed, but no credential is sent (i.e. no cookie, X.509 certificate, or HTTP Basic authentication). If the server does not give credentials to the origin site (by not setting the [`Access-Control-Allow-Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin \"The Access-Control-Allow-Origin response header indicates whether the response can be shared with requesting code from the given origin.\") HTTP header) the image will be tainted and its usage restricted.\\n\\n`use-credentials`\\n\\nA cross-origin request (i.e. with an `Origin` HTTP header) is performed along with a credential sent (i.e. a cookie, certificate, and/or HTTP Basic authentication is performed). If the server does not give credentials to the origin site (through [`Access-Control-Allow-Credentials`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials \"The Access-Control-Allow-Credentials response header tells browsers whether to expose the response to frontend JavaScript code when the request\\'s credentials mode (Request.credentials) is \"include\".\") HTTP header), the resource will be _tainted_ and its usage restricted.\\n\\nIf the attribute is not present, the resource is fetched without a [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS \"CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.\") request (i.e. without sending the `Origin` HTTP header), preventing its non-tainted usage. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for additional information.'}},{name:\"rel\",description:{kind:\"markdown\",value:\"This attribute names a relationship of the linked document to the current document. The attribute must be a space-separated list of the [link types values](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).\"}},{name:\"media\",description:{kind:\"markdown\",value:\"This attribute specifies the media that the linked resource applies to. Its value must be a media type / [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries). This attribute is mainly useful when linking to external stylesheets \\u2014 it allows the user agent to pick the best adapted one for the device it runs on.\\n\\n**Notes:**\\n\\n*   In HTML 4, this can only be a simple white-space-separated list of media description literals, i.e., [media types and groups](https://developer.mozilla.org/en-US/docs/Web/CSS/@media), where defined and allowed as values for this attribute, such as `print`, `screen`, `aural`, `braille`. HTML5 extended this to any kind of [media queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries), which are a superset of the allowed values of HTML 4.\\n*   Browsers not supporting [CSS3 Media Queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries) won't necessarily recognize the adequate link; do not forget to set fallback links, the restricted set of media queries defined in HTML 4.\"}},{name:\"hreflang\",description:{kind:\"markdown\",value:\"This attribute indicates the language of the linked resource. It is purely advisory. Allowed values are determined by [BCP47](https://www.ietf.org/rfc/bcp/bcp47.txt). Use this attribute only if the [`href`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href) attribute is present.\"}},{name:\"type\",description:{kind:\"markdown\",value:'This attribute is used to define the type of the content linked to. The value of the attribute should be a MIME type such as **text/html**, **text/css**, and so on. The common use of this attribute is to define the type of stylesheet being referenced (such as **text/css**), but given that CSS is the only stylesheet language used on the web, not only is it possible to omit the `type` attribute, but is actually now recommended practice. It is also used on `rel=\"preload\"` link types, to make sure the browser only downloads file types that it supports.'}},{name:\"sizes\",description:{kind:\"markdown\",value:\"This attribute defines the sizes of the icons for visual media contained in the resource. It must be present only if the [`rel`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#attr-rel) contains a value of `icon` or a non-standard type such as Apple's `apple-touch-icon`. It may have the following values:\\n\\n*   `any`, meaning that the icon can be scaled to any size as it is in a vector format, like `image/svg+xml`.\\n*   a white-space separated list of sizes, each in the format `_<width in pixels>_x_<height in pixels>_` or `_<width in pixels>_X_<height in pixels>_`. Each of these sizes must be contained in the resource.\\n\\n**Note:** Most icon formats are only able to store one single icon; therefore most of the time the [`sizes`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-sizes) contains only one entry. MS's ICO format does, as well as Apple's ICNS. ICO is more ubiquitous; you should definitely use it.\"}},{name:\"as\",description:'This attribute is only used when `rel=\"preload\"` or `rel=\"prefetch\"` has been set on the `<link>` element. It specifies the type of content being loaded by the `<link>`, which is necessary for content prioritization, request matching, application of correct [content security policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP), and setting of correct [`Accept`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept \"The Accept request HTTP header advertises which content types, expressed as MIME types, the client is able to understand. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the Content-Type response header. Browsers set adequate values for this header depending on\\xA0the context where the request is done: when fetching a CSS stylesheet a different value is set for the request than when fetching an image,\\xA0video or a script.\") request header.'},{name:\"importance\",description:\"Indicates the relative importance of the resource. Priority hints are delegated using the values:\"},{name:\"importance\",description:'**`auto`**: Indicates\\xA0**no\\xA0preference**. The browser may use its own heuristics to decide the priority of the resource.\\n\\n**`high`**: Indicates to the\\xA0browser\\xA0that the resource is of\\xA0**high** priority.\\n\\n**`low`**:\\xA0Indicates to the\\xA0browser\\xA0that the resource is of\\xA0**low** priority.\\n\\n**Note:** The `importance` attribute may only be used for the `<link>` element if `rel=\"preload\"` or `rel=\"prefetch\"` is present.'},{name:\"integrity\",description:\"Contains inline metadata \\u2014 a base64-encoded cryptographic hash of the resource (file) you\\u2019re telling the browser to fetch. The browser can use this to verify that the fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity).\"},{name:\"referrerpolicy\",description:'A string indicating which referrer to use when fetching the resource:\\n\\n*   `no-referrer` means that the [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent.\\n*   `no-referrer-when-downgrade` means that no [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent\\u2019s default behavior, if no policy is otherwise specified.\\n*   `origin` means that the referrer will be the origin of the page, which is roughly the scheme, the host, and the port.\\n*   `origin-when-cross-origin` means that navigating to other origins will be limited to the scheme, the host, and the port, while navigating on the same origin will include the referrer\\'s path.\\n*   `unsafe-url` means that the referrer will include the origin and the path (but not the fragment, password, or username). This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins.'},{name:\"title\",description:'The `title` attribute has special semantics on the `<link>` element. When used on a `<link rel=\"stylesheet\">` it defines a [preferred or an alternate stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets). Incorrectly using it may [cause the stylesheet to be ignored](https://developer.mozilla.org/en-US/docs/Correctly_Using_Titles_With_External_Stylesheets).'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/link\"}]},{name:\"meta\",description:{kind:\"markdown\",value:\"The meta element represents various kinds of metadata that cannot be expressed using the title, base, link, style, and script elements.\"},void:!0,attributes:[{name:\"name\",description:{kind:\"markdown\",value:`This attribute defines the name of a piece of document-level metadata. It should not be set if one of the attributes [\\`itemprop\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-itemprop), [\\`http-equiv\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [\\`charset\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) is also set.\n\nThis metadata name is associated with the value contained by the [\\`content\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute. The possible values for the name attribute are:\n\n*   \\`application-name\\` which defines the name of the application running in the web page.\n    \n    **Note:**\n    \n    *   Browsers may use this to identify the application. It is different from the [\\`<title>\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title \"The HTML Title element (<title>) defines the document's title that is shown in a browser's title bar or a page's tab.\") element, which usually contain the application name, but may also contain information like the document name or a status.\n    *   Simple web pages shouldn't define an application-name.\n    \n*   \\`author\\` which defines the name of the document's author.\n*   \\`description\\` which contains a short and accurate summary of the content of the page. Several browsers, like Firefox and Opera, use this as the default description of bookmarked pages.\n*   \\`generator\\` which contains the identifier of the software that generated the page.\n*   \\`keywords\\` which contains words relevant to the page's content separated by commas.\n*   \\`referrer\\` which controls the [\\`Referer\\` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) attached to requests sent from the document:\n    \n    Values for the \\`content\\` attribute of \\`<meta name=\"referrer\">\\`\n    \n    \\`no-referrer\\`\n    \n    Do not send a HTTP \\`Referrer\\` header.\n    \n    \\`origin\\`\n    \n    Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the document.\n    \n    \\`no-referrer-when-downgrade\\`\n    \n    Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) as a referrer to URLs as secure as the current page, (https\\u2192https), but does not send a referrer to less secure URLs (https\\u2192http). This is the default behaviour.\n    \n    \\`origin-when-cross-origin\\`\n    \n    Send the full URL (stripped of parameters) for same-origin requests, but only send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) for other cases.\n    \n    \\`same-origin\\`\n    \n    A referrer will be sent for [same-site origins](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), but cross-origin requests will contain no referrer information.\n    \n    \\`strict-origin\\`\n    \n    Only send the origin of the document as the referrer to a-priori as-much-secure destination (HTTPS->HTTPS), but don't send it to a less secure destination (HTTPS->HTTP).\n    \n    \\`strict-origin-when-cross-origin\\`\n    \n    Send a full URL when performing a same-origin request, only send the origin of the document to a-priori as-much-secure destination (HTTPS->HTTPS), and send no header to a less secure destination (HTTPS->HTTP).\n    \n    \\`unsafe-URL\\`\n    \n    Send the full URL (stripped of parameters) for same-origin or cross-origin requests.\n    \n    **Notes:**\n    \n    *   Some browsers support the deprecated values of \\`always\\`, \\`default\\`, and \\`never\\` for referrer.\n    *   Dynamically inserting \\`<meta name=\"referrer\">\\` (with [\\`document.write\\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/write) or [\\`appendChild\\`](https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild)) makes the referrer behaviour unpredictable.\n    *   When several conflicting policies are defined, the no-referrer policy is applied.\n    \n\nThis attribute may also have a value taken from the extended list defined on [WHATWG Wiki MetaExtensions page](https://wiki.whatwg.org/wiki/MetaExtensions). Although none have been formally accepted yet, a few commonly used names are:\n\n*   \\`creator\\` which defines the name of the creator of the document, such as an organization or institution. If there are more than one, several [\\`<meta>\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta \"The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.\") elements should be used.\n*   \\`googlebot\\`, a synonym of \\`robots\\`, is only followed by Googlebot (the indexing crawler for Google).\n*   \\`publisher\\` which defines the name of the document's publisher.\n*   \\`robots\\` which defines the behaviour that cooperative crawlers, or \"robots\", should use with the page. It is a comma-separated list of the values below:\n    \n    Values for the content of \\`<meta name=\"robots\">\\`\n    \n    Value\n    \n    Description\n    \n    Used by\n    \n    \\`index\\`\n    \n    Allows the robot to index the page (default).\n    \n    All\n    \n    \\`noindex\\`\n    \n    Requests the robot to not index the page.\n    \n    All\n    \n    \\`follow\\`\n    \n    Allows the robot to follow the links on the page (default).\n    \n    All\n    \n    \\`nofollow\\`\n    \n    Requests the robot to not follow the links on the page.\n    \n    All\n    \n    \\`none\\`\n    \n    Equivalent to \\`noindex, nofollow\\`\n    \n    [Google](https://support.google.com/webmasters/answer/79812)\n    \n    \\`noodp\\`\n    \n    Prevents using the [Open Directory Project](https://www.dmoz.org/) description, if any, as the page description in search engine results.\n    \n    [Google](https://support.google.com/webmasters/answer/35624#nodmoz), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/meta-tags-robotstxt-yahoo-search-sln2213.html#cont5), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)\n    \n    \\`noarchive\\`\n    \n    Requests the search engine not to cache the page content.\n    \n    [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/SLN2213.html), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)\n    \n    \\`nosnippet\\`\n    \n    Prevents displaying any description of the page in search engine results.\n    \n    [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)\n    \n    \\`noimageindex\\`\n    \n    Requests this page not to appear as the referring page of an indexed image.\n    \n    [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives)\n    \n    \\`nocache\\`\n    \n    Synonym of \\`noarchive\\`.\n    \n    [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)\n    \n    **Notes:**\n    \n    *   Only cooperative robots follow these rules. Do not expect to prevent e-mail harvesters with them.\n    *   The robot still needs to access the page in order to read these rules. To prevent bandwidth consumption, use a _[robots.txt](https://developer.mozilla.org/en-US/docs/Glossary/robots.txt \"robots.txt: Robots.txt is a file which is usually placed in the root of any website. It decides whether\\xA0crawlers are permitted or forbidden access to the web site.\")_ file.\n    *   If you want to remove a page, \\`noindex\\` will work, but only after the robot visits the page again. Ensure that the \\`robots.txt\\` file is not preventing revisits.\n    *   Some values are mutually exclusive, like \\`index\\` and \\`noindex\\`, or \\`follow\\` and \\`nofollow\\`. In these cases the robot's behaviour is undefined and may vary between them.\n    *   Some crawler robots, like Google, Yahoo and Bing, support the same values for the HTTP header \\`X-Robots-Tag\\`; this allows non-HTML documents like images to use these rules.\n    \n*   \\`slurp\\`, is a synonym of \\`robots\\`, but only for Slurp - the crawler for Yahoo Search.\n*   \\`viewport\\`, which gives hints about the size of the initial size of the [viewport](https://developer.mozilla.org/en-US/docs/Glossary/viewport \"viewport: A viewport represents a polygonal (normally rectangular) area in computer graphics that is currently being viewed. In web browser terms, it refers to the part of the document you're viewing which is currently visible in its window (or the screen, if the document is being viewed in full screen mode). Content outside the viewport is not visible onscreen until scrolled into view.\"). Used by mobile devices only.\n    \n    Values for the content of \\`<meta name=\"viewport\">\\`\n    \n    Value\n    \n    Possible subvalues\n    \n    Description\n    \n    \\`width\\`\n    \n    A positive integer number, or the text \\`device-width\\`\n    \n    Defines the pixel width of the viewport that you want the web site to be rendered at.\n    \n    \\`height\\`\n    \n    A positive integer, or the text \\`device-height\\`\n    \n    Defines the height of the viewport. Not used by any browser.\n    \n    \\`initial-scale\\`\n    \n    A positive number between \\`0.0\\` and \\`10.0\\`\n    \n    Defines the ratio between the device width (\\`device-width\\` in portrait mode or \\`device-height\\` in landscape mode) and the viewport size.\n    \n    \\`maximum-scale\\`\n    \n    A positive number between \\`0.0\\` and \\`10.0\\`\n    \n    Defines the maximum amount to zoom in. It must be greater or equal to the \\`minimum-scale\\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.\n    \n    \\`minimum-scale\\`\n    \n    A positive number between \\`0.0\\` and \\`10.0\\`\n    \n    Defines the minimum zoom level. It must be smaller or equal to the \\`maximum-scale\\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.\n    \n    \\`user-scalable\\`\n    \n    \\`yes\\` or \\`no\\`\n    \n    If set to \\`no\\`, the user is not able to zoom in the webpage. The default is \\`yes\\`. Browser settings can ignore this rule, and iOS10+ ignores it by default.\n    \n    Specification\n    \n    Status\n    \n    Comment\n    \n    [CSS Device Adaptation  \n    The definition of '<meta name=\"viewport\">' in that specification.](https://drafts.csswg.org/css-device-adapt/#viewport-meta)\n    \n    Working Draft\n    \n    Non-normatively describes the Viewport META element\n    \n    See also: [\\`@viewport\\`](https://developer.mozilla.org/en-US/docs/Web/CSS/@viewport \"The @viewport CSS at-rule lets you configure the viewport through which the document is viewed. It's primarily used for mobile devices, but is also used by desktop browsers that support features like \"snap to edge\" (such as Microsoft Edge).\")\n    \n    **Notes:**\n    \n    *   Though unstandardized, this declaration is respected by most mobile browsers due to de-facto dominance.\n    *   The default values may vary between devices and browsers.\n    *   To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag \"Mobile/Viewport meta tag\").`}},{name:\"http-equiv\",description:{kind:\"markdown\",value:'Defines a pragma directive. The attribute is named `**http-equiv**(alent)` because all the allowed values are names of particular HTTP headers:\\n\\n*   `\"content-language\"`  \\n    Defines the default language of the page. It can be overridden by the [lang](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) attribute on any element.\\n    \\n    **Warning:** Do not use this value, as it is obsolete. Prefer the `lang` attribute on the [`<html>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html \"The HTML <html> element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.\") element.\\n    \\n*   `\"content-security-policy\"`  \\n    Allows page authors to define a [content policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives) for the current page. Content policies mostly specify allowed server origins and script endpoints which help guard against cross-site scripting attacks.\\n*   `\"content-type\"`  \\n    Defines the [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type) of the document, followed by its character encoding. It follows the same syntax as the HTTP `content-type` entity-header field, but as it is inside a HTML page, most values other than `text/html` are impossible. Therefore the valid syntax for its `content` is the string \\'`text/html`\\' followed by a character set with the following syntax: \\'`; charset=_IANAcharset_`\\', where `IANAcharset` is the _preferred MIME name_ for a character set as [defined by the IANA.](https://www.iana.org/assignments/character-sets)\\n    \\n    **Warning:** Do not use this value, as it is obsolete. Use the [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute on the [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta \"The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.\") element.\\n    \\n    **Note:** As [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta \"The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.\") can\\'t change documents\\' types in XHTML or HTML5\\'s XHTML serialization, never set the MIME type to an XHTML MIME type with `<meta>`.\\n    \\n*   `\"refresh\"`  \\n    This instruction specifies:\\n    *   The number of seconds until the page should be reloaded - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer.\\n    *   The number of seconds until the page should redirect to another - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer followed by the string \\'`;url=`\\', and a valid URL.\\n*   `\"set-cookie\"`  \\n    Defines a [cookie](https://developer.mozilla.org/en-US/docs/cookie) for the page. Its content must follow the syntax defined in the [IETF HTTP Cookie Specification](https://tools.ietf.org/html/draft-ietf-httpstate-cookie-14).\\n    \\n    **Warning:** Do not use this instruction, as it is obsolete. Use the HTTP header [`Set-Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) instead.'}},{name:\"content\",description:{kind:\"markdown\",value:\"This attribute contains the value for the [`http-equiv`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-name) attribute, depending on which is used.\"}},{name:\"charset\",description:{kind:\"markdown\",value:'This attribute declares the page\\'s character encoding. It must contain a [standard IANA MIME name for character encodings](https://www.iana.org/assignments/character-sets). Although the standard doesn\\'t request a specific encoding, it suggests:\\n\\n*   Authors are encouraged to use [`UTF-8`](https://developer.mozilla.org/en-US/docs/Glossary/UTF-8).\\n*   Authors should not use ASCII-incompatible encodings to avoid security risk: browsers not supporting them may interpret harmful content as HTML. This happens with the `JIS_C6226-1983`, `JIS_X0212-1990`, `HZ-GB-2312`, `JOHAB`, the ISO-2022 family and the EBCDIC family.\\n\\n**Note:** ASCII-incompatible encodings are those that don\\'t map the 8-bit code points `0x20` to `0x7E` to the `0x0020` to `0x007E` Unicode code points)\\n\\n*   Authors **must not** use `CESU-8`, `UTF-7`, `BOCU-1` and/or `SCSU` as [cross-site scripting](https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting) attacks with these encodings have been demonstrated.\\n*   Authors should not use `UTF-32` because not all HTML5 encoding algorithms can distinguish it from `UTF-16`.\\n\\n**Notes:**\\n\\n*   The declared character encoding must match the one the page was saved with to avoid garbled characters and security holes.\\n*   The [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta \"The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.\") element declaring the encoding must be inside the [`<head>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head \"The HTML <head> element provides general information (metadata) about the document, including its title and links to its\\xA0scripts and style sheets.\") element and **within the first 1024 bytes** of the HTML as some browsers only look at those bytes before choosing an encoding.\\n*   This [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta \"The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.\") element is only one part of the [algorithm to determine a page\\'s character set](https://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#encoding-sniffing-algorithm \"Algorithm charset page\"). The [`Content-Type` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) and any [Byte-Order Marks](https://developer.mozilla.org/en-US/docs/Glossary/Byte-Order_Mark \"The definition of that term (Byte-Order Marks) has not been written yet; please consider contributing it!\") override this element.\\n*   It is strongly recommended to define the character encoding. If a page\\'s encoding is undefined, cross-scripting techniques are possible, such as the [`UTF-7` fallback cross-scripting technique](https://code.google.com/p/doctype-mirror/wiki/ArticleUtf7).\\n*   The [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta \"The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.\") element with a `charset` attribute is a synonym for the pre-HTML5 `<meta http-equiv=\"Content-Type\" content=\"text/html; charset=_IANAcharset_\">`, where _`IANAcharset`_ contains the value of the equivalent [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute. This syntax is still allowed, although no longer recommended.'}},{name:\"scheme\",description:\"This attribute defines the scheme in which metadata is described. A scheme is a context leading to the correct interpretations of the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) value, like a format.\\n\\n**Warning:** Do not use this value, as it is obsolete. There is no replacement as there was no real usage for it.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/meta\"}]},{name:\"style\",description:{kind:\"markdown\",value:\"The style element allows authors to embed style information in their documents. The style element is one of several inputs to the styling processing model. The element does not represent content for the user.\"},attributes:[{name:\"media\",description:{kind:\"markdown\",value:\"This attribute defines which media the style should be applied to. Its value is a [media query](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries), which defaults to `all` if the attribute is missing.\"}},{name:\"nonce\",description:{kind:\"markdown\",value:\"A cryptographic nonce (number used once) used to whitelist inline styles in a [style-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource\\u2019s policy is otherwise trivial.\"}},{name:\"type\",description:{kind:\"markdown\",value:\"This attribute defines the styling language as a MIME type (charset should not be specified). This attribute is optional and defaults to `text/css` if it is not specified \\u2014 there is very little reason to include this in modern web documents.\"}},{name:\"scoped\",valueSet:\"v\"},{name:\"title\",description:\"This attribute specifies [alternative style sheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets) sets.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/style\"}]},{name:\"body\",description:{kind:\"markdown\",value:\"The body element represents the content of the document.\"},attributes:[{name:\"onafterprint\",description:{kind:\"markdown\",value:\"Function to call after the user has printed the document.\"}},{name:\"onbeforeprint\",description:{kind:\"markdown\",value:\"Function to call when the user requests printing of the document.\"}},{name:\"onbeforeunload\",description:{kind:\"markdown\",value:\"Function to call when the document is about to be unloaded.\"}},{name:\"onhashchange\",description:{kind:\"markdown\",value:\"Function to call when the fragment identifier part (starting with the hash (`'#'`) character) of the document's current address has changed.\"}},{name:\"onlanguagechange\",description:{kind:\"markdown\",value:\"Function to call when the preferred languages changed.\"}},{name:\"onmessage\",description:{kind:\"markdown\",value:\"Function to call when the document has received a message.\"}},{name:\"onoffline\",description:{kind:\"markdown\",value:\"Function to call when network communication has failed.\"}},{name:\"ononline\",description:{kind:\"markdown\",value:\"Function to call when network communication has been restored.\"}},{name:\"onpagehide\"},{name:\"onpageshow\"},{name:\"onpopstate\",description:{kind:\"markdown\",value:\"Function to call when the user has navigated session history.\"}},{name:\"onstorage\",description:{kind:\"markdown\",value:\"Function to call when the storage area has changed.\"}},{name:\"onunload\",description:{kind:\"markdown\",value:\"Function to call when the document is going away.\"}},{name:\"alink\",description:'Color of text for hyperlinks when selected. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color \"The color CSS property sets the foreground color value of an element\\'s text and text decorations, and sets the currentcolor value.\") property in conjunction with the [`:active`](https://developer.mozilla.org/en-US/docs/Web/CSS/:active \"The :active CSS pseudo-class represents an element (such as a button) that is being activated by the user.\") pseudo-class instead._'},{name:\"background\",description:'URI of a image to use as a background. _This method is non-conforming, use CSS [`background`](https://developer.mozilla.org/en-US/docs/Web/CSS/background \"The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.\") property on the element instead._'},{name:\"bgcolor\",description:'Background color for the document. _This method is non-conforming, use CSS [`background-color`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color \"The background-color CSS property sets the background color of an element.\") property on the element instead._'},{name:\"bottommargin\",description:'The margin of the bottom of the body. _This method is non-conforming, use CSS [`margin-bottom`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom \"The margin-bottom CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\") property on the element instead._'},{name:\"leftmargin\",description:'The margin of the left of the body. _This method is non-conforming, use CSS [`margin-left`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left \"The margin-left CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\") property on the element instead._'},{name:\"link\",description:'Color of text for unvisited hypertext links. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color \"The color CSS property sets the foreground color value of an element\\'s text and text decorations, and sets the currentcolor value.\") property in conjunction with the [`:link`](https://developer.mozilla.org/en-US/docs/Web/CSS/:link \"The :link CSS pseudo-class represents an element that has not yet been visited. It matches every unvisited <a>, <area>, or <link> element that has an href attribute.\") pseudo-class instead._'},{name:\"onblur\",description:\"Function to call when the document loses focus.\"},{name:\"onerror\",description:\"Function to call when the document fails to load properly.\"},{name:\"onfocus\",description:\"Function to call when the document receives focus.\"},{name:\"onload\",description:\"Function to call when the document has finished loading.\"},{name:\"onredo\",description:\"Function to call when the user has moved forward in undo transaction history.\"},{name:\"onresize\",description:\"Function to call when the document has been resized.\"},{name:\"onundo\",description:\"Function to call when the user has moved backward in undo transaction history.\"},{name:\"rightmargin\",description:'The margin of the right of the body. _This method is non-conforming, use CSS [`margin-right`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right \"The margin-right CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\") property on the element instead._'},{name:\"text\",description:'Foreground color of text. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color \"The color CSS property sets the foreground color value of an element\\'s text and text decorations, and sets the currentcolor value.\") property on the element instead._'},{name:\"topmargin\",description:'The margin of the top of the body. _This method is non-conforming, use CSS [`margin-top`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top \"The margin-top CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\") property on the element instead._'},{name:\"vlink\",description:'Color of text for visited hypertext links. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color \"The color CSS property sets the foreground color value of an element\\'s text and text decorations, and sets the currentcolor value.\") property in conjunction with the [`:visited`](https://developer.mozilla.org/en-US/docs/Web/CSS/:visited \"The :visited CSS pseudo-class represents links that the user has already visited. For privacy reasons, the styles that can be modified using this selector are very limited.\") pseudo-class instead._'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/body\"}]},{name:\"article\",description:{kind:\"markdown\",value:\"The article element represents a complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content. Each article should be identified, typically by including a heading (h1\\u2013h6 element) as a child of the article element.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/article\"}]},{name:\"section\",description:{kind:\"markdown\",value:\"The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content. Each section should be identified, typically by including a heading ( h1- h6 element) as a child of the section element.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/section\"}]},{name:\"nav\",description:{kind:\"markdown\",value:\"The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/nav\"}]},{name:\"aside\",description:{kind:\"markdown\",value:\"The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/aside\"}]},{name:\"h1\",description:{kind:\"markdown\",value:\"The h1 element represents a section heading.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements\"}]},{name:\"h2\",description:{kind:\"markdown\",value:\"The h2 element represents a section heading.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements\"}]},{name:\"h3\",description:{kind:\"markdown\",value:\"The h3 element represents a section heading.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements\"}]},{name:\"h4\",description:{kind:\"markdown\",value:\"The h4 element represents a section heading.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements\"}]},{name:\"h5\",description:{kind:\"markdown\",value:\"The h5 element represents a section heading.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements\"}]},{name:\"h6\",description:{kind:\"markdown\",value:\"The h6 element represents a section heading.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements\"}]},{name:\"header\",description:{kind:\"markdown\",value:\"The header element represents introductory content for its nearest ancestor sectioning content or sectioning root element. A header typically contains a group of introductory or navigational aids. When the nearest ancestor sectioning content or sectioning root element is the body element, then it applies to the whole page.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/header\"}]},{name:\"footer\",description:{kind:\"markdown\",value:\"The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/footer\"}]},{name:\"address\",description:{kind:\"markdown\",value:\"The address element represents the contact information for its nearest article or body element ancestor. If that is the body element, then the contact information applies to the document as a whole.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/address\"}]},{name:\"p\",description:{kind:\"markdown\",value:\"The p element represents a paragraph.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/p\"}]},{name:\"hr\",description:{kind:\"markdown\",value:\"The hr element represents a paragraph-level thematic break, e.g. a scene change in a story, or a transition to another topic within a section of a reference book.\"},void:!0,attributes:[{name:\"align\",description:\"Sets the alignment of the rule on the page. If no value is specified, the default value is `left`.\"},{name:\"color\",description:\"Sets the color of the rule through color name or hexadecimal value.\"},{name:\"noshade\",description:\"Sets the rule to have no shading.\"},{name:\"size\",description:\"Sets the height, in pixels, of the rule.\"},{name:\"width\",description:\"Sets the length of the rule on the page through a pixel or percentage value.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/hr\"}]},{name:\"pre\",description:{kind:\"markdown\",value:\"The pre element represents a block of preformatted text, in which structure is represented by typographic conventions rather than by elements.\"},attributes:[{name:\"cols\",description:'Contains the _preferred_ count of characters that a line should have. It was a non-standard synonym of [`width`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre#attr-width). To achieve such an effect, use CSS [`width`](https://developer.mozilla.org/en-US/docs/Web/CSS/width \"The width CSS property sets an element\\'s width. By default it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area.\") instead.'},{name:\"width\",description:'Contains the _preferred_ count of characters that a line should have. Though technically still implemented, this attribute has no visual effect; to achieve such an effect, use CSS [`width`](https://developer.mozilla.org/en-US/docs/Web/CSS/width \"The width CSS property sets an element\\'s width. By default it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area.\") instead.'},{name:\"wrap\",description:'Is a _hint_ indicating how the overflow must happen. In modern browser this hint is ignored and no visual effect results in its present; to achieve such an effect, use CSS [`white-space`](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space \"The white-space CSS property sets how white space inside an element is handled.\") instead.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/pre\"}]},{name:\"blockquote\",description:{kind:\"markdown\",value:\"The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a footer or cite element, and optionally with in-line changes such as annotations and abbreviations.\"},attributes:[{name:\"cite\",description:{kind:\"markdown\",value:\"A URL that designates a source document or message for the information quoted. This attribute is intended to point to information explaining the context or the reference for the quote.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/blockquote\"}]},{name:\"ol\",description:{kind:\"markdown\",value:\"The ol element represents a list of items, where the items have been intentionally ordered, such that changing the order would change the meaning of the document.\"},attributes:[{name:\"reversed\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute specifies that the items of the list are specified in reversed order.\"}},{name:\"start\",description:{kind:\"markdown\",value:'This integer attribute specifies the start value for numbering the individual list items. Although the ordering type of list elements might be Roman numerals, such as XXXI, or letters, the value of start is always represented as a number. To start numbering elements from the letter \"C\", use `<ol start=\"3\">`.\\n\\n**Note**: This attribute was deprecated in HTML4, but reintroduced in HTML5.'}},{name:\"type\",valueSet:\"lt\",description:{kind:\"markdown\",value:\"Indicates the numbering type:\\n\\n*   `'a'` indicates lowercase letters,\\n*   `'A'` indicates uppercase letters,\\n*   `'i'` indicates lowercase Roman numerals,\\n*   `'I'` indicates uppercase Roman numerals,\\n*   and `'1'` indicates numbers (default).\\n\\nThe type set is used for the entire list unless a different [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li#attr-type) attribute is used within an enclosed [`<li>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li \\\"The HTML <li> element is used to represent an item in a list. It must be contained in a parent element: an ordered list (<ol>), an unordered list (<ul>), or a menu (<menu>). In menus and unordered lists, list items are usually displayed using bullet points. In ordered lists, they are usually displayed with an ascending counter on the left, such as a number or letter.\\\") element.\\n\\n**Note:** This attribute was deprecated in HTML4, but reintroduced in HTML5.\\n\\nUnless the value of the list number matters (e.g. in legal or technical documents where items are to be referenced by their number/letter), the CSS [`list-style-type`](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type \\\"The list-style-type CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.\\\") property should be used instead.\"}},{name:\"compact\",description:'This Boolean attribute hints that the list should be rendered in a compact style. The interpretation of this attribute depends on the user agent and it doesn\\'t work in all browsers.\\n\\n**Warning:** Do not use this attribute, as it has been deprecated: the [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol \"The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.\") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To give an effect similar to the `compact` attribute, the [CSS](https://developer.mozilla.org/en-US/docs/CSS) property [`line-height`](https://developer.mozilla.org/en-US/docs/Web/CSS/line-height \"The line-height CSS property sets the amount of space used for lines, such as in text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height.\") can be used with a value of `80%`.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/ol\"}]},{name:\"ul\",description:{kind:\"markdown\",value:\"The ul element represents a list of items, where the order of the items is not important \\u2014 that is, where changing the order would not materially change the meaning of the document.\"},attributes:[{name:\"compact\",description:'This Boolean attribute hints that the list should be rendered in a compact style. The interpretation of this attribute depends on the user agent and it doesn\\'t work in all browsers.\\n\\n**Usage note:\\xA0**Do not use this attribute, as it has been deprecated: the [`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul \"The HTML <ul> element represents an unordered list of items, typically rendered as a bulleted list.\") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To give a similar effect as the `compact` attribute, the [CSS](https://developer.mozilla.org/en-US/docs/CSS) property [line-height](https://developer.mozilla.org/en-US/docs/CSS/line-height) can be used with a value of `80%`.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/ul\"}]},{name:\"li\",description:{kind:\"markdown\",value:\"The li element represents a list item. If its parent element is an ol, ul, or menu element, then the element is an item of the parent element's list, as defined for those elements. Otherwise, the list item has no defined list-related relationship to any other li element.\"},attributes:[{name:\"value\",description:{kind:\"markdown\",value:'This integer attribute indicates the current ordinal value of the list item as defined by the [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol \"The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.\") element. The only allowed value for this attribute is a number, even if the list is displayed with Roman numerals or letters. List items that follow this one continue numbering from the value set. The **value** attribute has no meaning for unordered lists ([`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul \"The HTML <ul> element represents an unordered list of items, typically rendered as a bulleted list.\")) or for menus ([`<menu>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu \"The HTML <menu> element represents a group of commands that a user can perform or activate. This includes both list menus, which might appear across the top of a screen, as well as context menus, such as those that might appear underneath a button after it has been clicked.\")).\\n\\n**Note**: This attribute was deprecated in HTML4, but reintroduced in HTML5.\\n\\n**Note:** Prior to Gecko\\xA09.0, negative values were incorrectly converted to 0. Starting in Gecko\\xA09.0 all integer values are correctly parsed.'}},{name:\"type\",description:'This character attribute indicates the numbering type:\\n\\n*   `a`: lowercase letters\\n*   `A`: uppercase letters\\n*   `i`: lowercase Roman numerals\\n*   `I`: uppercase Roman numerals\\n*   `1`: numbers\\n\\nThis type overrides the one used by its parent [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol \"The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.\") element, if any.\\n\\n**Usage note:** This attribute has been deprecated: use the CSS [`list-style-type`](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type \"The list-style-type CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.\") property instead.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/li\"}]},{name:\"dl\",description:{kind:\"markdown\",value:\"The dl element represents an association list consisting of zero or more name-value groups (a description list). A name-value group consists of one or more names (dt elements) followed by one or more values (dd elements), ignoring any nodes other than dt and dd elements. Within a single dl element, there should not be more than one dt element for each name.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/dl\"}]},{name:\"dt\",description:{kind:\"markdown\",value:\"The dt element represents the term, or name, part of a term-description group in a description list (dl element).\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/dt\"}]},{name:\"dd\",description:{kind:\"markdown\",value:\"The dd element represents the description, definition, or value, part of a term-description group in a description list (dl element).\"},attributes:[{name:\"nowrap\",description:\"If the value of this attribute is set to `yes`, the definition text will not wrap. The default value is `no`.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/dd\"}]},{name:\"figure\",description:{kind:\"markdown\",value:\"The figure element represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/figure\"}]},{name:\"figcaption\",description:{kind:\"markdown\",value:\"The figcaption element represents a caption or legend for the rest of the contents of the figcaption element's parent figure element, if any.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/figcaption\"}]},{name:\"main\",description:{kind:\"markdown\",value:\"The main element represents the main content of the body of a document or application. The main content area consists of content that is directly related to or expands upon the central topic of a document or central functionality of an application.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/main\"}]},{name:\"div\",description:{kind:\"markdown\",value:\"The div element has no special meaning at all. It represents its children. It can be used with the class, lang, and title attributes to mark up semantics common to a group of consecutive elements.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/div\"}]},{name:\"a\",description:{kind:\"markdown\",value:\"If the a element has an href attribute, then it represents a hyperlink (a hypertext anchor) labeled by its contents.\"},attributes:[{name:\"href\",description:{kind:\"markdown\",value:'Contains a URL or a URL fragment that the hyperlink points to.\\nA URL fragment is a name preceded by a hash mark (`#`), which specifies an internal target location (an [`id`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-id) of an HTML element) within the current document. URLs are not restricted to Web (HTTP)-based documents, but can use any protocol supported by the browser. For example, [`file:`](https://en.wikipedia.org/wiki/File_URI_scheme), `ftp:`, and `mailto:` work in most browsers.\\n\\n**Note:** You can use `href=\"#top\"` or the empty fragment `href=\"#\"` to link to the top of the current page. [This behavior is specified by HTML5](https://www.w3.org/TR/html5/single-page.html#scroll-to-fragid).'}},{name:\"target\",valueSet:\"target\",description:{kind:\"markdown\",value:'Specifies where to display the linked URL. It is a name of, or keyword for, a _browsing context_: a tab, window, or `<iframe>`. The following keywords have special meanings:\\n\\n*   `_self`: Load the URL into the same browsing context as the current one. This is the default behavior.\\n*   `_blank`: Load the URL into a new browsing context. This is usually a tab, but users can configure browsers to use new windows instead.\\n*   `_parent`: Load the URL into the parent browsing context of the current one. If there is no parent, this behaves the same way as `_self`.\\n*   `_top`: Load the URL into the top-level browsing context (that is, the \"highest\" browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this behaves the same way as `_self`.\\n\\n**Note:** When using `target`, consider adding `rel=\"noreferrer\"` to avoid exploitation of the `window.opener` API.\\n\\n**Note:** Linking to another page using `target=\"_blank\"` will run the new page on the same process as your page. If the new page is executing expensive JS, your page\\'s performance may suffer. To avoid this use `rel=\"noopener\"`.'}},{name:\"download\",description:{kind:\"markdown\",value:\"This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). There are no restrictions on allowed values, though `/` and `\\\\` are converted to underscores. Most file systems limit some punctuation in file names, and browsers will adjust the suggested name accordingly.\\n\\n**Notes:**\\n\\n*   This attribute only works for [same-origin URLs](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy).\\n*   Although HTTP(s) URLs need to be in the same-origin, [`blob:` URLs](https://developer.mozilla.org/en-US/docs/Web/API/URL.createObjectURL) and [`data:` URLs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) are allowed so that content generated by JavaScript, such as pictures created in an image-editor Web app, can be downloaded.\\n*   If the HTTP header [`Content-Disposition:`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) gives a different filename than this attribute, the HTTP header takes priority over this attribute.\\n*   If `Content-Disposition:` is set to `inline`, Firefox prioritizes `Content-Disposition`, like the filename case, while Chrome prioritizes the `download` attribute.\"}},{name:\"ping\",description:{kind:\"markdown\",value:'Contains a space-separated list of URLs to which, when the hyperlink is followed, [`POST`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST \"The HTTP POST method sends data to the server. The type of the body of the request is indicated by the Content-Type header.\") requests with the body `PING` will be sent by the browser (in the background). Typically used for tracking.'}},{name:\"rel\",description:{kind:\"markdown\",value:\"Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).\"}},{name:\"hreflang\",description:{kind:\"markdown\",value:'This attribute indicates the human language of the linked resource. It is purely advisory, with no built-in functionality. Allowed values are determined by [BCP47](https://www.ietf.org/rfc/bcp/bcp47.txt \"Tags for Identifying Languages\").'}},{name:\"type\",description:{kind:\"markdown\",value:'Specifies the media type in the form of a [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type \"MIME type: A\\xA0MIME type\\xA0(now properly called \"media type\", but\\xA0also sometimes \"content type\") is a string sent along\\xA0with a file indicating the type of the file (describing the content format, for example, a sound file might be labeled\\xA0audio/ogg, or an image file\\xA0image/png).\") for the linked URL. It is purely advisory, with no built-in functionality.'}},{name:\"referrerpolicy\",description:\"Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) to send when fetching the URL:\\n\\n*   `'no-referrer'` means the `Referer:` header will not be sent.\\n*   `'no-referrer-when-downgrade'` means no `Referer:` header will be sent when navigating to an origin without HTTPS. This is the default behavior.\\n*   `'origin'` means the referrer will be the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the page, not including information after the domain.\\n*   `'origin-when-cross-origin'` meaning that navigations to other origins will be limited to the scheme, the host and the port, while navigations on the same origin will include the referrer's path.\\n*   `'strict-origin-when-cross-origin'`\\n*   `'unsafe-url'` means the referrer will include the origin and path, but not the fragment, password, or username. This is unsafe because it can leak data from secure URLs to insecure ones.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/a\"}]},{name:\"em\",description:{kind:\"markdown\",value:\"The em element represents stress emphasis of its contents.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/em\"}]},{name:\"strong\",description:{kind:\"markdown\",value:\"The strong element represents strong importance, seriousness, or urgency for its contents.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/strong\"}]},{name:\"small\",description:{kind:\"markdown\",value:\"The small element represents side comments such as small print.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/small\"}]},{name:\"s\",description:{kind:\"markdown\",value:\"The s element represents contents that are no longer accurate or no longer relevant.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/s\"}]},{name:\"cite\",description:{kind:\"markdown\",value:\"The cite element represents a reference to a creative work. It must include the title of the work or the name of the author(person, people or organization) or an URL reference, or a reference in abbreviated form as per the conventions used for the addition of citation metadata.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/cite\"}]},{name:\"q\",description:{kind:\"markdown\",value:\"The q element represents some phrasing content quoted from another source.\"},attributes:[{name:\"cite\",description:{kind:\"markdown\",value:\"The value of this attribute is a URL that designates a source document or message for the information quoted. This attribute is intended to point to information explaining the context or the reference for the quote.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/q\"}]},{name:\"dfn\",description:{kind:\"markdown\",value:\"The dfn element represents the defining instance of a term. The paragraph, description list group, or section that is the nearest ancestor of the dfn element must also contain the definition(s) for the term given by the dfn element.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/dfn\"}]},{name:\"abbr\",description:{kind:\"markdown\",value:\"The abbr element represents an abbreviation or acronym, optionally with its expansion. The title attribute may be used to provide an expansion of the abbreviation. The attribute, if specified, must contain an expansion of the abbreviation, and nothing else.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/abbr\"}]},{name:\"ruby\",description:{kind:\"markdown\",value:\"The ruby element allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana. Ruby text can appear on either side, and sometimes both sides, of the base text, and it is possible to control its position using CSS. A more complete introduction to ruby can be found in the Use Cases & Exploratory Approaches for Ruby Markup document as well as in CSS Ruby Module Level 1. [RUBY-UC] [CSSRUBY]\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/ruby\"}]},{name:\"rb\",description:{kind:\"markdown\",value:\"The rb element marks the base text component of a ruby annotation. When it is the child of a ruby element, it doesn't represent anything itself, but its parent ruby element uses it as part of determining what it represents.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/rb\"}]},{name:\"rt\",description:{kind:\"markdown\",value:\"The rt element marks the ruby text component of a ruby annotation. When it is the child of a ruby element or of an rtc element that is itself the child of a ruby element, it doesn't represent anything itself, but its ancestor ruby element uses it as part of determining what it represents.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/rt\"}]},{name:\"rp\",description:{kind:\"markdown\",value:\"The rp element is used to provide fallback text to be shown by user agents that don't support ruby annotations. One widespread convention is to provide parentheses around the ruby text component of a ruby annotation.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/rp\"}]},{name:\"time\",description:{kind:\"markdown\",value:\"The time element represents its contents, along with a machine-readable form of those contents in the datetime attribute. The kind of content is limited to various kinds of dates, times, time-zone offsets, and durations, as described below.\"},attributes:[{name:\"datetime\",description:{kind:\"markdown\",value:\"This attribute indicates the time and/or date of the element and must be in one of the formats described below.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/time\"}]},{name:\"code\",description:{kind:\"markdown\",value:\"The code element represents a fragment of computer code. This could be an XML element name, a file name, a computer program, or any other string that a computer would recognize.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/code\"}]},{name:\"var\",description:{kind:\"markdown\",value:\"The var element represents a variable. This could be an actual variable in a mathematical expression or programming context, an identifier representing a constant, a symbol identifying a physical quantity, a function parameter, or just be a term used as a placeholder in prose.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/var\"}]},{name:\"samp\",description:{kind:\"markdown\",value:\"The samp element represents sample or quoted output from another program or computing system.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/samp\"}]},{name:\"kbd\",description:{kind:\"markdown\",value:\"The kbd element represents user input (typically keyboard input, although it may also be used to represent other input, such as voice commands).\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/kbd\"}]},{name:\"sub\",description:{kind:\"markdown\",value:\"The sub element represents a subscript.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/sub\"}]},{name:\"sup\",description:{kind:\"markdown\",value:\"The sup element represents a superscript.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/sup\"}]},{name:\"i\",description:{kind:\"markdown\",value:\"The i element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose in a manner indicating a different quality of text, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, transliteration, a thought, or a ship name in Western texts.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/i\"}]},{name:\"b\",description:{kind:\"markdown\",value:\"The b element represents a span of text to which attention is being drawn for utilitarian purposes without conveying any extra importance and with no implication of an alternate voice or mood, such as key words in a document abstract, product names in a review, actionable words in interactive text-driven software, or an article lede.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/b\"}]},{name:\"u\",description:{kind:\"markdown\",value:\"The u element represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/u\"}]},{name:\"mark\",description:{kind:\"markdown\",value:\"The mark element represents a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context. When used in a quotation or other block of text referred to from the prose, it indicates a highlight that was not originally present but which has been added to bring the reader's attention to a part of the text that might not have been considered important by the original author when the block was originally written, but which is now under previously unexpected scrutiny. When used in the main prose of a document, it indicates a part of the document that has been highlighted due to its likely relevance to the user's current activity.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/mark\"}]},{name:\"bdi\",description:{kind:\"markdown\",value:\"The bdi element represents a span of text that is to be isolated from its surroundings for the purposes of bidirectional text formatting. [BIDI]\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/bdi\"}]},{name:\"bdo\",description:{kind:\"markdown\",value:\"The bdo element represents explicit text directionality formatting control for its children. It allows authors to override the Unicode bidirectional algorithm by explicitly specifying a direction override. [BIDI]\"},attributes:[{name:\"dir\",description:\"The direction in which text should be rendered in this element's contents. Possible values are:\\n\\n*   `ltr`: Indicates that the text should go in a left-to-right direction.\\n*   `rtl`: Indicates that the text should go in a right-to-left direction.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/bdo\"}]},{name:\"span\",description:{kind:\"markdown\",value:\"The span element doesn't mean anything on its own, but can be useful when used together with the global attributes, e.g. class, lang, or dir. It represents its children.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/span\"}]},{name:\"br\",description:{kind:\"markdown\",value:\"The br element represents a line break.\"},void:!0,attributes:[{name:\"clear\",description:\"Indicates where to begin the next line after the break.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/br\"}]},{name:\"wbr\",description:{kind:\"markdown\",value:\"The wbr element represents a line break opportunity.\"},void:!0,attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/wbr\"}]},{name:\"ins\",description:{kind:\"markdown\",value:\"The ins element represents an addition to the document.\"},attributes:[{name:\"cite\",description:\"This attribute defines the URI of a resource that explains the change, such as a link to meeting minutes or a ticket in a troubleshooting system.\"},{name:\"datetime\",description:'This attribute indicates the time and date of the change and must be a valid date with an optional time string. If the value cannot be parsed as a date with an optional time string, the element does not have an associated time stamp. For the format of the string without a time, see [Format of a valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_date_string \"Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.\") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats \"Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.\"). The format of the string if it includes both date and time is covered in [Format of a valid local date and time string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_local_date_and_time_string \"Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.\") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats \"Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.\").'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/ins\"}]},{name:\"del\",description:{kind:\"markdown\",value:\"The del element represents a removal from the document.\"},attributes:[{name:\"cite\",description:{kind:\"markdown\",value:\"A URI for a resource that explains the change (for example, meeting minutes).\"}},{name:\"datetime\",description:{kind:\"markdown\",value:'This attribute indicates the time and date of the change and must be a valid date string with an optional time. If the value cannot be parsed as a date with an optional time string, the element does not have an associated time stamp. For the format of the string without a time, see [Format of a valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_date_string \"Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.\") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats \"Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.\"). The format of the string if it includes both date and time is covered in [Format of a valid local date and time string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_local_date_and_time_string \"Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.\") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats \"Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.\").'}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/del\"}]},{name:\"picture\",description:{kind:\"markdown\",value:\"The picture element is a container which provides multiple sources to its contained img element to allow authors to declaratively control or give hints to the user agent about which image resource to use, based on the screen pixel density, viewport size, image format, and other factors. It represents its children.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/picture\"}]},{name:\"img\",description:{kind:\"markdown\",value:\"An img element represents an image.\"},void:!0,attributes:[{name:\"alt\",description:{kind:\"markdown\",value:'This attribute defines an alternative text description of the image.\\n\\n**Note:** Browsers do not always display the image referenced by the element. This is the case for non-graphical browsers (including those used by people with visual impairments), if the user chooses not to display images, or if the browser cannot display the image because it is invalid or an [unsupported type](#Supported_image_formats). In these cases, the browser may replace the image with the text defined in this element\\'s `alt` attribute. You should, for these reasons and others, provide a useful value for `alt` whenever possible.\\n\\n**Note:** Omitting this attribute altogether indicates that the image is a key part of the content, and no textual equivalent is available. Setting this attribute to an empty string (`alt=\"\"`) indicates that this image is _not_ a key part of the content (decorative), and that non-visual browsers may omit it from rendering.'}},{name:\"src\",description:{kind:\"markdown\",value:\"The image URL. This attribute is mandatory for the `<img>` element. On browsers supporting `srcset`, `src` is treated like a candidate image with a pixel density descriptor `1x` unless an image with this pixel density descriptor is already defined in `srcset,` or unless `srcset` contains '`w`' descriptors.\"}},{name:\"srcset\",description:{kind:\"markdown\",value:\"A list of one or more strings separated by commas indicating a set of possible image sources for the user agent to use. Each string is composed of:\\n\\n1.  a URL to an image,\\n2.  optionally, whitespace followed by one of:\\n    *   A width descriptor, or a positive integer directly followed by '`w`'. The width descriptor is divided by the source size given in the `sizes` attribute to calculate the effective pixel density.\\n    *   A pixel density descriptor, which is a positive floating point number directly followed by '`x`'.\\n\\nIf no descriptor is specified, the source is assigned the default descriptor: `1x`.\\n\\nIt is incorrect to mix width descriptors and pixel density descriptors in the same `srcset` attribute. Duplicate descriptors (for instance, two sources in the same `srcset` which are both described with '`2x`') are also invalid.\\n\\nThe user agent selects any one of the available sources at its discretion. This provides them with significant leeway to tailor their selection based on things like user preferences or bandwidth conditions. See our [Responsive images](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images) tutorial for an example.\"}},{name:\"crossorigin\",valueSet:\"xo\",description:{kind:\"markdown\",value:'This enumerated attribute indicates if the fetching of the related image must be done using CORS or not. [CORS-enabled images](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas \"Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.\") element without being \"[tainted](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image#What_is_a_tainted_canvas).\" The allowed values are:\\n`anonymous`\\n\\nA cross-origin request (i.e., with `Origin:` HTTP header) is performed, but no credential is sent (i.e., no cookie, X.509 certificate, or HTTP Basic authentication). If the server does not give credentials to the origin site (by not setting the [`Access-Control-Allow-Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin \"The Access-Control-Allow-Origin response header indicates whether the response can be shared with requesting code from the given origin.\") HTTP header), the image will be tainted and its usage restricted.\\n\\n`use-credentials`\\n\\nA cross-origin request (i.e., with the [`Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin \"The Origin request header indicates where a fetch originates from. It doesn\\'t include any path information, but only the server name. It is sent with CORS requests, as well as with POST requests. It is similar to the Referer header, but, unlike this header, it doesn\\'t disclose the whole path.\") HTTP header) performed along with credentials sent (i.e., a cookie, certificate, or HTTP Basic authentication). If the server does not give credentials to the origin site (through the `Access-Control-Allow-Credentials` HTTP header), the image will be tainted and its usage restricted.\\n\\nIf the attribute is not present, the resource is fetched without a CORS request (i.e., without sending the `Origin` HTTP header), preventing its non-tainted usage in [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas \"Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.\") elements. If invalid, it is handled as if the `anonymous` value was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes) for additional information.'}},{name:\"usemap\",description:{kind:\"markdown\",value:'The partial URL (starting with \\'#\\') of an [image map](https://developer.mozilla.org/en-US/docs/HTML/Element/map) associated with the element.\\n\\n**Note:** You cannot use this attribute if the `<img>` element is a descendant of an [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a \"The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.\") or [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") element.'}},{name:\"ismap\",valueSet:\"v\",description:{kind:\"markdown\",value:'This Boolean attribute indicates that the image is part of a server-side map. If so, the precise coordinates of a click are sent to the server.\\n\\n**Note:** This attribute is allowed only if the `<img>` element is a descendant of an [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a \"The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.\") element with a valid [`href`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href) attribute.'}},{name:\"width\",description:{kind:\"markdown\",value:\"The intrinsic width of the image in pixels.\"}},{name:\"height\",description:{kind:\"markdown\",value:\"The intrinsic height of the image in pixels.\"}},{name:\"decoding\",valueSet:\"decoding\",description:{kind:\"markdown\",value:`Provides an image decoding hint to the browser. The allowed values are:\n\\`sync\\`\n\nDecode the image synchronously for atomic presentation with other content.\n\n\\`async\\`\n\nDecode the image asynchronously to reduce delay in presenting other content.\n\n\\`auto\\`\n\nDefault mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{name:\"loading\",valueSet:\"loading\",description:{kind:\"markdown\",value:\"Indicates how the browser should load the image.\"}},{name:\"referrerpolicy\",valueSet:\"referrerpolicy\",description:{kind:\"markdown\",value:\"A string indicating which referrer to use when fetching the resource:\\n\\n*   `no-referrer:` The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \\\"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\\\") header will not be sent.\\n*   `no-referrer-when-downgrade:` No `Referer` header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent\\u2019s default behavior if no policy is otherwise specified.\\n*   `origin:` The `Referer` header will include the page of origin's scheme, the host, and the port.\\n*   `origin-when-cross-origin:` Navigating to other origins will limit the included referral data to the scheme, the host and the port, while navigating from the same origin will include the referrer's full path.\\n*   `unsafe-url:` The `Referer` header will include the origin and the path, but not the fragment, password, or username. This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins.\"}},{name:\"sizes\",description:{kind:\"markdown\",value:\"A list of one or more strings separated by commas indicating a set of source sizes. Each source size consists of:\\n\\n1.  a media condition. This must be omitted for the last item.\\n2.  a source size value.\\n\\nSource size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the `srcset` attribute, when those sources are described using width ('`w`') descriptors. The selected source size affects the intrinsic size of the image (the image\\u2019s display size if no CSS styling is applied). If the `srcset` attribute is absent, or contains no values with a width (`w`) descriptor, then the `sizes` attribute has no effect.\"}},{name:\"importance\",description:\"Indicates the relative importance of the resource. Priority hints are delegated using the values:\"},{name:\"importance\",description:\"`auto`: Indicates\\xA0**no\\xA0preference**. The browser may use its own heuristics to decide the priority of the image.\\n\\n`high`: Indicates to the\\xA0browser\\xA0that the image is of\\xA0**high** priority.\\n\\n`low`:\\xA0Indicates to the\\xA0browser\\xA0that the image is of\\xA0**low** priority.\"},{name:\"intrinsicsize\",description:\"This attribute tells the browser to ignore the actual intrinsic size of the image and pretend it\\u2019s the size specified in the attribute. Specifically, the image would raster at these dimensions and `naturalWidth`/`naturalHeight` on images would return the values specified in this attribute. [Explainer](https://github.com/ojanvafai/intrinsicsize-attribute), [examples](https://googlechrome.github.io/samples/intrinsic-size/index.html)\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/img\"}]},{name:\"iframe\",description:{kind:\"markdown\",value:\"The iframe element represents a nested browsing context.\"},attributes:[{name:\"src\",description:{kind:\"markdown\",value:'The URL of the page to embed. Use a value of `about:blank` to embed an empty page that conforms to the [same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy#Inherited_origins). Also note that programatically removing an `<iframe>`\\'s src attribute (e.g. via [`Element.removeAttribute()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute \"The Element method removeAttribute() removes the attribute with the specified name from the element.\")) causes `about:blank` to be loaded in the frame in Firefox (from version 65), Chromium-based browsers, and Safari/iOS.'}},{name:\"srcdoc\",description:{kind:\"markdown\",value:\"Inline HTML to embed, overriding the `src` attribute. If a browser does not support the `srcdoc` attribute, it will fall back to the URL in the `src` attribute.\"}},{name:\"name\",description:{kind:\"markdown\",value:'A targetable name for the embedded browsing context. This can be used in the `target` attribute of the [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a \"The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.\"), [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\"), or [`<base>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base \"The HTML <base> element specifies the base URL to use for all relative URLs contained within a document. There can be only one <base> element in a document.\") elements; the `formtarget` attribute of the [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") or [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") elements; or the `windowName` parameter in the [`window.open()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/open \"The\\xA0Window interface\\'s open() method loads the specified resource into the browsing context (window, <iframe> or tab) with the specified name. If the name doesn\\'t exist, then a new window is opened and the specified resource is loaded into its browsing context.\") method.'}},{name:\"sandbox\",valueSet:\"sb\",description:{kind:\"markdown\",value:'Applies extra restrictions to the content in the frame. The value of the attribute can either be empty to apply all restrictions, or space-separated tokens to lift particular restrictions:\\n\\n*   `allow-forms`: Allows the resource to submit forms. If this keyword is not used, form submission is blocked.\\n*   `allow-modals`: Lets the resource [open modal windows](https://html.spec.whatwg.org/multipage/origin.html#sandboxed-modals-flag).\\n*   `allow-orientation-lock`: Lets the resource [lock the screen orientation](https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation).\\n*   `allow-pointer-lock`: Lets the resource use the [Pointer Lock API](https://developer.mozilla.org/en-US/docs/WebAPI/Pointer_Lock).\\n*   `allow-popups`: Allows popups (such as `window.open()`, `target=\"_blank\"`, or `showModalDialog()`). If this keyword is not used, the popup will silently fail to open.\\n*   `allow-popups-to-escape-sandbox`: Lets the sandboxed document open new windows without those windows inheriting the sandboxing. For example, this can safely sandbox an advertisement without forcing the same restrictions upon the page the ad links to.\\n*   `allow-presentation`: Lets the resource start a [presentation session](https://developer.mozilla.org/en-US/docs/Web/API/PresentationRequest).\\n*   `allow-same-origin`: If this token is not used, the resource is treated as being from a special origin that always fails the [same-origin policy](https://developer.mozilla.org/en-US/docs/Glossary/same-origin_policy \"same-origin policy: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin.\").\\n*   `allow-scripts`: Lets the resource run scripts (but not create popup windows).\\n*   `allow-storage-access-by-user-activation` : Lets the resource request access to the parent\\'s storage capabilities with the [Storage Access API](https://developer.mozilla.org/en-US/docs/Web/API/Storage_Access_API).\\n*   `allow-top-navigation`: Lets the resource navigate the top-level browsing context (the one named `_top`).\\n*   `allow-top-navigation-by-user-activation`: Lets the resource navigate the top-level browsing context, but only if initiated by a user gesture.\\n\\n**Notes about sandboxing:**\\n\\n*   When the embedded document has the same origin as the embedding page, it is **strongly discouraged** to use both `allow-scripts` and `allow-same-origin`, as that lets the embedded document remove the `sandbox` attribute \\u2014 making it no more secure than not using the `sandbox` attribute at all.\\n*   Sandboxing is useless if the attacker can display content outside a sandboxed `iframe` \\u2014 such as if the viewer opens the frame in a new tab. Such content should be also served from a _separate origin_ to limit potential damage.\\n*   The `sandbox` attribute is unsupported in Internet Explorer 9 and earlier.'}},{name:\"seamless\",valueSet:\"v\"},{name:\"allowfullscreen\",valueSet:\"v\",description:{kind:\"markdown\",value:'Set to `true` if the `<iframe>` can activate fullscreen mode by calling the [`requestFullscreen()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen \"The Element.requestFullscreen() method issues an asynchronous request to make the element be displayed in full-screen mode.\") method.\\nThis attribute is considered a legacy attribute and redefined as `allow=\"fullscreen\"`.'}},{name:\"width\",description:{kind:\"markdown\",value:\"The width of the frame in CSS pixels. Default is `300`.\"}},{name:\"height\",description:{kind:\"markdown\",value:\"The height of the frame in CSS pixels. Default is `150`.\"}},{name:\"allow\",description:\"Specifies a [feature policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Feature_Policy) for the `<iframe>`.\"},{name:\"allowpaymentrequest\",description:\"Set to `true` if a cross-origin `<iframe>` should be allowed to invoke the [Payment Request API](https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API).\"},{name:\"allowpaymentrequest\",description:'This attribute is considered a legacy attribute and redefined as `allow=\"payment\"`.'},{name:\"csp\",description:'A [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) enforced for the embedded resource. See [`HTMLIFrameElement.csp`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/csp \"The csp property of the HTMLIFrameElement interface specifies the Content Security Policy that an embedded document must agree to enforce upon itself.\") for details.'},{name:\"importance\",description:`The download priority of the resource in the \\`<iframe>\\`'s \\`src\\` attribute. Allowed values:\n\n\\`auto\\` (default)\n\nNo preference. The browser uses its own heuristics to decide the priority of the resource.\n\n\\`high\\`\n\nThe resource should be downloaded before other lower-priority page resources.\n\n\\`low\\`\n\nThe resource should be downloaded after other higher-priority page resources.`},{name:\"referrerpolicy\",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the frame\\'s resource:\\n\\n*   `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent.\\n*   `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin \"origin: Web content\\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.\")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS \"TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.\") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS \"HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.\")).\\n*   `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host \"host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails.\"), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port \"port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.\").\\n*   `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\\n*   `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy \"same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin.\"), but cross-origin requests will contain no referrer information.\\n*   `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS\\u2192HTTPS), but don\\'t send it to a less secure destination (HTTPS\\u2192HTTP).\\n*   `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS\\u2192HTTPS), and send no header to a less secure destination (HTTPS\\u2192HTTP).\\n*   `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/iframe\"}]},{name:\"embed\",description:{kind:\"markdown\",value:\"The embed element provides an integration point for an external (typically non-HTML) application or interactive content.\"},void:!0,attributes:[{name:\"src\",description:{kind:\"markdown\",value:\"The URL\\xA0of the resource being embedded.\"}},{name:\"type\",description:{kind:\"markdown\",value:\"The MIME\\xA0type to use to select the plug-in to instantiate.\"}},{name:\"width\",description:{kind:\"markdown\",value:\"The displayed width of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentages are _not_ allowed.\"}},{name:\"height\",description:{kind:\"markdown\",value:\"The displayed height of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentages are _not_ allowed.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/embed\"}]},{name:\"object\",description:{kind:\"markdown\",value:\"The object element can represent an external resource, which, depending on the type of the resource, will either be treated as an image, as a nested browsing context, or as an external resource to be processed by a plugin.\"},attributes:[{name:\"data\",description:{kind:\"markdown\",value:\"The address of the resource as a valid URL. At least one of **data** and **type** must be defined.\"}},{name:\"type\",description:{kind:\"markdown\",value:\"The [content type](https://developer.mozilla.org/en-US/docs/Glossary/Content_type) of the resource specified by **data**. At least one of **data** and **type** must be defined.\"}},{name:\"typemustmatch\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute indicates if the **type** attribute and the actual [content type](https://developer.mozilla.org/en-US/docs/Glossary/Content_type) of the resource must match to be used.\"}},{name:\"name\",description:{kind:\"markdown\",value:\"The name of valid browsing context (HTML5), or the name of the control (HTML 4).\"}},{name:\"usemap\",description:{kind:\"markdown\",value:\"A hash-name reference to a [`<map>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map \\\"The HTML <map> element is used with <area> elements to define an image map (a clickable link area).\\\") element; that is a '#' followed by the value of a [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map#attr-name) of a map element.\"}},{name:\"form\",description:{kind:\"markdown\",value:'The form element, if any, that the object element is associated with (its _form owner_). The value of the attribute must be an ID of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") element in the same document.'}},{name:\"width\",description:{kind:\"markdown\",value:\"The width of the display resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). -- (Absolute values only. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes))\"}},{name:\"height\",description:{kind:\"markdown\",value:\"The height of the displayed resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). -- (Absolute values only. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes))\"}},{name:\"archive\",description:\"A space-separated list of URIs for archives of resources for the object.\"},{name:\"border\",description:\"The width of a border around the control, in pixels.\"},{name:\"classid\",description:\"The URI of the object's implementation. It can be used together with, or in place of, the **data** attribute.\"},{name:\"codebase\",description:\"The base path used to resolve relative URIs specified by **classid**, **data**, or **archive**. If not specified, the default is the base URI of the current document.\"},{name:\"codetype\",description:\"The content type of the data specified by **classid**.\"},{name:\"declare\",description:\"The presence of this Boolean attribute makes this element a declaration only. The object must be instantiated by a subsequent `<object>` element. In HTML5, repeat the <object> element completely each that that the resource is reused.\"},{name:\"standby\",description:\"A message that the browser can show while loading the object's implementation and data.\"},{name:\"tabindex\",description:\"The position of the element in the tabbing navigation order for the current document.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/object\"}]},{name:\"param\",description:{kind:\"markdown\",value:\"The param element defines parameters for plugins invoked by object elements. It does not represent anything on its own.\"},void:!0,attributes:[{name:\"name\",description:{kind:\"markdown\",value:\"Name of the parameter.\"}},{name:\"value\",description:{kind:\"markdown\",value:\"Specifies the value of the parameter.\"}},{name:\"type\",description:'Only used if the `valuetype` is set to \"ref\". Specifies the MIME type of values found at the URI specified by value.'},{name:\"valuetype\",description:`Specifies the type of the \\`value\\` attribute. Possible values are:\n\n*   data: Default value. The value is passed to the object's implementation as a string.\n*   ref: The value is a URI to a resource where run-time values are stored.\n*   object: An ID of another [\\`<object>\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object \"The HTML <object> element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.\") in the same document.`}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/param\"}]},{name:\"video\",description:{kind:\"markdown\",value:\"A video element is used for playing videos or movies, and audio files with captions.\"},attributes:[{name:\"src\"},{name:\"crossorigin\",valueSet:\"xo\"},{name:\"poster\"},{name:\"preload\",valueSet:\"pl\"},{name:\"autoplay\",valueSet:\"v\",description:{kind:\"markdown\",value:'A Boolean attribute; if specified, the video automatically begins to play back as soon as it can do so without stopping to finish loading the data.\\n**Note**: Sites that automatically play audio (or video with an audio track) can be an unpleasant experience for users, so it should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.\\n\\nTo disable video autoplay, `autoplay=\"false\"` will not work; the video will autoplay if the attribute is there in the `<video>` tag at all. To remove autoplay the attribute needs to be removed altogether.\\n\\nIn some browsers (e.g. Chrome 70.0) autoplay is not working if no `muted` attribute is present.'}},{name:\"mediagroup\"},{name:\"loop\",valueSet:\"v\"},{name:\"muted\",valueSet:\"v\"},{name:\"controls\",valueSet:\"v\"},{name:\"width\"},{name:\"height\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/video\"}]},{name:\"audio\",description:{kind:\"markdown\",value:\"An audio element represents a sound or audio stream.\"},attributes:[{name:\"src\",description:{kind:\"markdown\",value:'The URL of the audio to embed. This is subject to [HTTP access controls](https://developer.mozilla.org/en-US/docs/HTTP_access_control). This is optional; you may instead use the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source \"The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.\") element within the audio block to specify the audio to embed.'}},{name:\"crossorigin\",valueSet:\"xo\",description:{kind:\"markdown\",value:'This enumerated attribute indicates whether to use CORS to fetch the related image. [CORS-enabled resources](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas \"Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.\") element without being _tainted_. The allowed values are:\\n\\nanonymous\\n\\nSends a cross-origin request without a credential. In other words, it sends the `Origin:` HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the `Access-Control-Allow-Origin:` HTTP header), the image will be _tainted_, and its usage restricted.\\n\\nuse-credentials\\n\\nSends a cross-origin request with a credential. In other words, it sends the `Origin:` HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through `Access-Control-Allow-Credentials:` HTTP header), the image will be _tainted_ and its usage restricted.\\n\\nWhen not present, the resource is fetched without a CORS request (i.e. without sending the `Origin:` HTTP header), preventing its non-tainted used in [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas \"Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.\") elements. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes) for additional information.'}},{name:\"preload\",valueSet:\"pl\",description:{kind:\"markdown\",value:\"This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values:\\n\\n*   `none`: Indicates that the audio should not be preloaded.\\n*   `metadata`: Indicates that only audio metadata (e.g. length) is fetched.\\n*   `auto`: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it.\\n*   _empty string_: A synonym of the `auto` value.\\n\\nIf not set, `preload`'s default value is browser-defined (i.e. each browser may have its own default value). The spec advises it to be set to `metadata`.\\n\\n**Usage notes:**\\n\\n*   The `autoplay` attribute has precedence over\\xA0`preload`. If `autoplay` is specified, the browser would obviously need to start downloading the audio for playback.\\n*   The browser is not forced by the specification to follow the value of this attribute; it is a mere hint.\"}},{name:\"autoplay\",valueSet:\"v\",description:{kind:\"markdown\",value:`A Boolean attribute:\\xA0if specified, the audio will automatically begin playback as soon as it can do so, without waiting for the entire audio file to finish downloading.\n\n**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.`}},{name:\"mediagroup\"},{name:\"loop\",valueSet:\"v\",description:{kind:\"markdown\",value:\"A Boolean attribute:\\xA0if specified, the audio player will\\xA0automatically seek back to the start\\xA0upon reaching the end of the audio.\"}},{name:\"muted\",valueSet:\"v\",description:{kind:\"markdown\",value:\"A Boolean attribute that indicates whether the audio will be initially silenced. Its default value is `false`.\"}},{name:\"controls\",valueSet:\"v\",description:{kind:\"markdown\",value:\"If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/audio\"}]},{name:\"source\",description:{kind:\"markdown\",value:\"The source element allows authors to specify multiple alternative media resources for media elements. It does not represent anything on its own.\"},void:!0,attributes:[{name:\"src\",description:{kind:\"markdown\",value:'Required for [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio \"The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element:\\xA0the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.\") and [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video \"The HTML Video element (<video>) embeds a media player which supports video playback into the document.\"), address of the media resource. The value of this attribute is ignored when the `<source>` element is placed inside a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture \"The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.\") element.'}},{name:\"type\",description:{kind:\"markdown\",value:\"The MIME-type of the resource, optionally with a `codecs` parameter. See [RFC 4281](https://tools.ietf.org/html/rfc4281) for information about how to specify codecs.\"}},{name:\"sizes\",description:'Is a list of source sizes that describes the final rendered width of the image represented by the source. Each source size consists of a comma-separated list of media condition-length pairs. This information is used by the browser to determine, before laying the page out, which image defined in [`srcset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source#attr-srcset) to use.  \\nThe `sizes` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source \"The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.\") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture \"The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.\") element.'},{name:\"srcset\",description:\"A list of one or more strings separated by commas indicating a set of possible images represented by the source for the browser to use. Each string is composed of:\\n\\n1.  one URL to an image,\\n2.  a width descriptor, that is a positive integer directly followed by `'w'`. The default value, if missing, is the infinity.\\n3.  a pixel density descriptor, that is a positive floating number directly followed by `'x'`. The default value, if missing, is `1x`.\\n\\nEach string in the list must have at least a width descriptor or a pixel density descriptor to be valid. Among the list, there must be only one string containing the same tuple of width descriptor and pixel density descriptor.  \\nThe browser chooses the most adequate image to display at a given point of time.  \\nThe `srcset` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source \\\"The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.\\\") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture \\\"The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.\\\") element.\"},{name:\"media\",description:'[Media query](https://developer.mozilla.org/en-US/docs/CSS/Media_queries) of the resource\\'s intended media; this should be used only in a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture \"The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.\") element.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/source\"}]},{name:\"track\",description:{kind:\"markdown\",value:\"The track element allows authors to specify explicit external timed text tracks for media elements. It does not represent anything on its own.\"},void:!0,attributes:[{name:\"default\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This attribute indicates that the track should be enabled unless the user's preferences indicate that another track is more appropriate. This may only be used on one `track` element per media element.\"}},{name:\"kind\",valueSet:\"tk\",description:{kind:\"markdown\",value:\"How the text track is meant to be used. If omitted the default kind is `subtitles`. If the attribute is not present, it will use the `subtitles`. If the attribute contains an invalid value, it will use `metadata`. (Versions of Chrome earlier than 52 treated an invalid value as `subtitles`.)\\xA0The following keywords are allowed:\\n\\n*   `subtitles`\\n    *   Subtitles provide translation of content that cannot be understood by the viewer. For example dialogue or text that is not English in an English language film.\\n    *   Subtitles may contain additional content, usually extra background information. For example the text at the beginning of the Star Wars films, or the date, time, and location of a scene.\\n*   `captions`\\n    *   Closed captions provide a transcription and possibly a translation of audio.\\n    *   It may include important non-verbal information such as music cues or sound effects. It may indicate the cue's source (e.g. music, text, character).\\n    *   Suitable for users who are deaf or when the sound is muted.\\n*   `descriptions`\\n    *   Textual description of the video content.\\n    *   Suitable for users who are blind or where the video cannot be seen.\\n*   `chapters`\\n    *   Chapter titles are intended to be used when the user is navigating the media resource.\\n*   `metadata`\\n    *   Tracks used by scripts. Not visible to the user.\"}},{name:\"label\",description:{kind:\"markdown\",value:\"A user-readable title of the text track which is used by the browser when listing available text tracks.\"}},{name:\"src\",description:{kind:\"markdown\",value:'Address of the track (`.vtt` file). Must be a valid URL. This attribute must be specified and its URL value must have the same origin as the document \\u2014 unless the [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio \"The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element:\\xA0the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.\") or [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video \"The HTML Video element (<video>) embeds a media player which supports video playback into the document.\") parent element of the `track` element has a [`crossorigin`](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) attribute.'}},{name:\"srclang\",description:{kind:\"markdown\",value:\"Language of the track text data. It must be a valid [BCP 47](https://r12a.github.io/app-subtags/) language tag. If the `kind` attribute is set to\\xA0`subtitles,` then `srclang` must be defined.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/track\"}]},{name:\"map\",description:{kind:\"markdown\",value:\"The map element, in conjunction with an img element and any area element descendants, defines an image map. The element represents its children.\"},attributes:[{name:\"name\",description:{kind:\"markdown\",value:\"The name attribute gives the map a name so that it can be referenced. The attribute must be present and must have a non-empty value with no space characters. The value of the name attribute must not be a compatibility-caseless match for the value of the name attribute of another map element in the same document. If the id attribute is also specified, both attributes must have the same value.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/map\"}]},{name:\"area\",description:{kind:\"markdown\",value:\"The area element represents either a hyperlink with some text and a corresponding area on an image map, or a dead area on an image map.\"},void:!0,attributes:[{name:\"alt\"},{name:\"coords\"},{name:\"shape\",valueSet:\"sh\"},{name:\"href\"},{name:\"target\",valueSet:\"target\"},{name:\"download\"},{name:\"ping\"},{name:\"rel\"},{name:\"hreflang\"},{name:\"type\"},{name:\"accesskey\",description:\"Specifies a keyboard navigation accelerator for the element. Pressing ALT or a similar key in association with the specified character selects the form control correlated with that key sequence. Page designers are forewarned to avoid key sequences already bound to browsers. This attribute is global since HTML5.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/area\"}]},{name:\"table\",description:{kind:\"markdown\",value:\"The table element represents data with more than one dimension, in the form of a table.\"},attributes:[{name:\"border\"},{name:\"align\",description:'This enumerated attribute indicates how the table must be aligned inside the containing document. It may have the following values:\\n\\n*   left: the table is displayed on the left side of the document;\\n*   center: the table is displayed in the center of the document;\\n*   right: the table is displayed on the right side of the document.\\n\\n**Usage Note**\\n\\n*   **Do not use this attribute**, as it has been deprecated. The [`<table>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table \"The HTML <table> element represents tabular data \\u2014 that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.\") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). Set [`margin-left`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left \"The margin-left CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\") and [`margin-right`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right \"The margin-right CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.\") to `auto` or [`margin`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin \"The margin CSS property sets the margin area on all four sides of an element. It is a shorthand for margin-top, margin-right, margin-bottom, and margin-left.\") to `0 auto` to achieve an effect that is similar to the align attribute.\\n*   Prior to Firefox 4, Firefox also supported the `middle`, `absmiddle`, and `abscenter` values as synonyms of `center`, in quirks mode only.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/table\"}]},{name:\"caption\",description:{kind:\"markdown\",value:\"The caption element represents the title of the table that is its parent, if it has a parent and that is a table element.\"},attributes:[{name:\"align\",description:`This enumerated attribute indicates how the caption must be aligned with respect to the table. It may have one of the following values:\n\n\\`left\\`\n\nThe caption is displayed to the left of the table.\n\n\\`top\\`\n\nThe caption is displayed above the table.\n\n\\`right\\`\n\nThe caption is displayed to the right of the table.\n\n\\`bottom\\`\n\nThe caption is displayed below the table.\n\n**Usage note:** Do not use this attribute, as it has been deprecated. The [\\`<caption>\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption \"The HTML Table Caption element (<caption>) specifies the caption (or title) of a table, and if used is always the first child of a <table>.\") element should be styled using the [CSS](https://developer.mozilla.org/en-US/docs/CSS) properties [\\`caption-side\\`](https://developer.mozilla.org/en-US/docs/Web/CSS/caption-side \"The caption-side CSS property puts the content of a table's <caption> on the specified side. The values are relative to the writing-mode of the table.\") and [\\`text-align\\`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\").`}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/caption\"}]},{name:\"colgroup\",description:{kind:\"markdown\",value:\"The colgroup element represents a group of one or more columns in the table that is its parent, if it has a parent and that is a table element.\"},attributes:[{name:\"span\"},{name:\"align\",description:'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\\n\\n*   `left`, aligning the content to the left of the cell\\n*   `center`, centering the content in the cell\\n*   `right`, aligning the content to the right of the cell\\n*   `justify`, inserting spaces into the textual content so that the content is justified in the cell\\n*   `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug\\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 \"character alignment not implemented (align=char, charoff=, text-align:<string>)\")).\\n\\nIf this attribute is not set, the `left` value is assumed. The descendant [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col \"The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.\") elements may override this value using their own [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-align) attribute.\\n\\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\\n\\n*   To achieve the same effect as the `left`, `center`, `right` or `justify` values:\\n    *   Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property on a selector giving a [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup \"The HTML <colgroup> element defines a group of columns within a table.\") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td \"The HTML <td> element defines a cell of a table that contains data. It participates in the table model.\") elements are not descendant of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup \"The HTML <colgroup> element defines a group of columns within a table.\") element, they won\\'t inherit it.\\n    *   If the table doesn\\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use one `td:nth-child(an+b)` CSS selector per column, where a is the total number of the columns in the table and b is the ordinal position of this column in the table. Only after this selector the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property can be used.\\n    *   If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\\n*   To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property Unimplemented.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/colgroup\"}]},{name:\"col\",description:{kind:\"markdown\",value:\"If a col element has a parent and that is a colgroup element that itself has a parent that is a table element, then the col element represents one or more columns in the column group represented by that colgroup.\"},void:!0,attributes:[{name:\"span\"},{name:\"align\",description:'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\\n\\n*   `left`, aligning the content to the left of the cell\\n*   `center`, centering the content in the cell\\n*   `right`, aligning the content to the right of the cell\\n*   `justify`, inserting spaces into the textual content so that the content is justified in the cell\\n*   `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug\\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 \"character alignment not implemented (align=char, charoff=, text-align:<string>)\")).\\n\\nIf this attribute is not set, its value is inherited from the [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-align) of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup \"The HTML <colgroup> element defines a group of columns within a table.\") element this `<col>` element belongs too. If there are none, the `left` value is assumed.\\n\\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\\n\\n*   To achieve the same effect as the `left`, `center`, `right` or `justify` values:\\n    *   Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property on a selector giving a [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col \"The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.\") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td \"The HTML <td> element defines a cell of a table that contains data. It participates in the table model.\") elements are not descendant of the [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col \"The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.\") element, they won\\'t inherit it.\\n    *   If the table doesn\\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use the `td:nth-child(an+b)` CSS selector. Set `a` to zero and `b` to the position of the column in the table, e.g. `td:nth-child(2) { text-align: right; }` to right-align the second column.\\n    *   If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\\n*   To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property Unimplemented.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/col\"}]},{name:\"tbody\",description:{kind:\"markdown\",value:\"The tbody element represents a block of rows that consist of a body of data for the parent table element, if the tbody element has a parent and it is a table.\"},attributes:[{name:\"align\",description:'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\\n\\n*   `left`, aligning the content to the left of the cell\\n*   `center`, centering the content in the cell\\n*   `right`, aligning the content to the right of the cell\\n*   `justify`, inserting spaces into the textual content so that the content is justified in the cell\\n*   `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-charoff) attributes.\\n\\nIf this attribute is not set, the `left` value is assumed.\\n\\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\\n\\n*   To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property on it.\\n*   To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property Unimplemented.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/tbody\"}]},{name:\"thead\",description:{kind:\"markdown\",value:\"The thead element represents the block of rows that consist of the column labels (headers) for the parent table element, if the thead element has a parent and it is a table.\"},attributes:[{name:\"align\",description:'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\\n\\n*   `left`, aligning the content to the left of the cell\\n*   `center`, centering the content in the cell\\n*   `right`, aligning the content to the right of the cell\\n*   `justify`, inserting spaces into the textual content so that the content is justified in the cell\\n*   `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-charoff) attributes Unimplemented (see [bug\\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 \"character alignment not implemented (align=char, charoff=, text-align:<string>)\")).\\n\\nIf this attribute is not set, the `left` value is assumed.\\n\\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\\n\\n*   To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property on it.\\n*   To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property Unimplemented.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/thead\"}]},{name:\"tfoot\",description:{kind:\"markdown\",value:\"The tfoot element represents the block of rows that consist of the column summaries (footers) for the parent table element, if the tfoot element has a parent and it is a table.\"},attributes:[{name:\"align\",description:'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\\n\\n*   `left`, aligning the content to the left of the cell\\n*   `center`, centering the content in the cell\\n*   `right`, aligning the content to the right of the cell\\n*   `justify`, inserting spaces into the textual content so that the content is justified in the cell\\n*   `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-charoff) attributes Unimplemented (see [bug\\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 \"character alignment not implemented (align=char, charoff=, text-align:<string>)\")).\\n\\nIf this attribute is not set, the `left` value is assumed.\\n\\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\\n\\n*   To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property on it.\\n*   To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property Unimplemented.'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/tfoot\"}]},{name:\"tr\",description:{kind:\"markdown\",value:\"The tr element represents a row of cells in a table.\"},attributes:[{name:\"align\",description:'A [`DOMString`](https://developer.mozilla.org/en-US/docs/Web/API/DOMString \"DOMString is a UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String.\") which specifies how the cell\\'s context should be aligned horizontally within the cells in the row; this is shorthand for using `align` on every cell in the row individually. Possible values are:\\n\\n`left`\\n\\nAlign the content of each cell at its left edge.\\n\\n`center`\\n\\nCenter the contents of each cell between their left and right edges.\\n\\n`right`\\n\\nAlign the content of each cell at its right edge.\\n\\n`justify`\\n\\nWiden whitespaces within the text of each cell so that the text fills the full width of each cell (full justification).\\n\\n`char`\\n\\nAlign each cell in the row on a specific character (such that each row in the column that is configured this way will horizontally align its cells on that character). This uses the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr#attr-charoff) to establish the alignment character (typically \".\" or \",\" when aligning numerical data) and the number of characters that should follow the alignment character. This alignment type was never widely supported.\\n\\nIf no value is expressly set for `align`, the parent node\\'s value is inherited.\\n\\nInstead of using the obsolete `align` attribute, you should instead use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property to establish `left`, `center`, `right`, or `justify` alignment for the row\\'s cells. To apply character-based alignment, set the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property to the alignment character (such as `\".\"` or `\",\"`).'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/tr\"}]},{name:\"td\",description:{kind:\"markdown\",value:\"The td element represents a data cell in a table.\"},attributes:[{name:\"colspan\"},{name:\"rowspan\"},{name:\"headers\"},{name:\"abbr\",description:`This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the **title** attribute.`},{name:\"align\",description:'This enumerated attribute specifies how the cell content\\'s horizontal alignment will be handled. Possible values are:\\n\\n*   `left`: The content is aligned to the left of the cell.\\n*   `center`: The content is centered in the cell.\\n*   `right`: The content is aligned to the right of the cell.\\n*   `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\\n*   `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-charoff) attributes Unimplemented (see [bug\\xA02212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 \"character alignment not implemented (align=char, charoff=, text-align:<string>)\")).\\n\\nThe default value when this attribute is not specified is `left`.\\n\\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\\n\\n*   To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property to the element.\\n*   To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char). Unimplemented in CSS3.'},{name:\"axis\",description:\"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\\n\\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\"},{name:\"bgcolor\",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:\n\n\\xA0\n\n\\`black\\` = \"#000000\"\n\n\\xA0\n\n\\`green\\` = \"#008000\"\n\n\\xA0\n\n\\`silver\\` = \"#C0C0C0\"\n\n\\xA0\n\n\\`lime\\` = \"#00FF00\"\n\n\\xA0\n\n\\`gray\\` = \"#808080\"\n\n\\xA0\n\n\\`olive\\` = \"#808000\"\n\n\\xA0\n\n\\`white\\` = \"#FFFFFF\"\n\n\\xA0\n\n\\`yellow\\` = \"#FFFF00\"\n\n\\xA0\n\n\\`maroon\\` = \"#800000\"\n\n\\xA0\n\n\\`navy\\` = \"#000080\"\n\n\\xA0\n\n\\`red\\` = \"#FF0000\"\n\n\\xA0\n\n\\`blue\\` = \"#0000FF\"\n\n\\xA0\n\n\\`purple\\` = \"#800080\"\n\n\\xA0\n\n\\`teal\\` = \"#008080\"\n\n\\xA0\n\n\\`fuchsia\\` = \"#FF00FF\"\n\n\\xA0\n\n\\`aqua\\` = \"#00FFFF\"\n\n**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\\`<td>\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td \"The HTML <td> element defines a cell of a table that contains data. It participates in the table model.\") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To create a similar effect use the [\\`background-color\\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color \"The background-color CSS property sets the background color of an element.\") property in [CSS](https://developer.mozilla.org/en-US/docs/CSS) instead.`}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/td\"}]},{name:\"th\",description:{kind:\"markdown\",value:\"The th element represents a header cell in a table.\"},attributes:[{name:\"colspan\"},{name:\"rowspan\"},{name:\"headers\"},{name:\"scope\",valueSet:\"s\"},{name:\"sorted\"},{name:\"abbr\",description:{kind:\"markdown\",value:\"This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself.\"}},{name:\"align\",description:'This enumerated attribute specifies how the cell content\\'s horizontal alignment will be handled. Possible values are:\\n\\n*   `left`: The content is aligned to the left of the cell.\\n*   `center`: The content is centered in the cell.\\n*   `right`: The content is aligned to the right of the cell.\\n*   `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\\n*   `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-charoff) attributes.\\n\\nThe default value when this attribute is not specified is `left`.\\n\\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\\n\\n*   To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property to the element.\\n*   To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align \"The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.\") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char). Unimplemented in CSS3.'},{name:\"axis\",description:\"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\\n\\n**Note:** Do not use this attribute as it is obsolete in the latest standard: use the [`scope`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope) attribute instead.\"},{name:\"bgcolor\",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:\n\n\\xA0\n\n\\`black\\` = \"#000000\"\n\n\\xA0\n\n\\`green\\` = \"#008000\"\n\n\\xA0\n\n\\`silver\\` = \"#C0C0C0\"\n\n\\xA0\n\n\\`lime\\` = \"#00FF00\"\n\n\\xA0\n\n\\`gray\\` = \"#808080\"\n\n\\xA0\n\n\\`olive\\` = \"#808000\"\n\n\\xA0\n\n\\`white\\` = \"#FFFFFF\"\n\n\\xA0\n\n\\`yellow\\` = \"#FFFF00\"\n\n\\xA0\n\n\\`maroon\\` = \"#800000\"\n\n\\xA0\n\n\\`navy\\` = \"#000080\"\n\n\\xA0\n\n\\`red\\` = \"#FF0000\"\n\n\\xA0\n\n\\`blue\\` = \"#0000FF\"\n\n\\xA0\n\n\\`purple\\` = \"#800080\"\n\n\\xA0\n\n\\`teal\\` = \"#008080\"\n\n\\xA0\n\n\\`fuchsia\\` = \"#FF00FF\"\n\n\\xA0\n\n\\`aqua\\` = \"#00FFFF\"\n\n**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\\`<th>\\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th \"The HTML <th> element defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.\") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS). To create a similar effect use the [\\`background-color\\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color \"The background-color CSS property sets the background color of an element.\") property in [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) instead.`}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/th\"}]},{name:\"form\",description:{kind:\"markdown\",value:\"The form element represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing.\"},attributes:[{name:\"accept-charset\",description:{kind:\"markdown\",value:'A space- or comma-delimited list of character encodings that the server accepts. The browser uses them in the order in which they are listed. The default value, the reserved string `\"UNKNOWN\"`, indicates the same encoding as that of the document containing the form element.  \\nIn previous versions of HTML, the different character encodings could be delimited by spaces or commas. In HTML5, only spaces are allowed as delimiters.'}},{name:\"action\",description:{kind:\"markdown\",value:'The URI of a program that processes the form information. This value can be overridden by a [`formaction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formaction) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") element.'}},{name:\"autocomplete\",valueSet:\"o\",description:{kind:\"markdown\",value:\"Indicates whether input elements can by default have their values automatically completed by the browser. This setting can be overridden by an `autocomplete` attribute on an element belonging to the form. Possible values are:\\n\\n*   `off`: The user must explicitly enter a value into each field for every use, or the document provides its own auto-completion method; the browser does not automatically complete entries.\\n*   `on`: The browser can automatically complete values based on values that the user has previously entered in the form.\\n\\nFor most modern browsers (including Firefox 38+, Google Chrome 34+, IE 11+) setting the autocomplete attribute will not prevent a browser's password manager from asking the user if they want to store login fields (username and password), if the user permits the storage the browser will autofill the login the next time the user visits the page. See [The autocomplete attribute and login fields](https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields).\\n**Note:** If you set `autocomplete` to `off` in a form because the document provides its own auto-completion, then you should also set `autocomplete` to `off` for each of the form's `input` elements that the document can auto-complete. For details, see the note regarding Google Chrome in the [Browser Compatibility chart](#compatChart).\"}},{name:\"enctype\",valueSet:\"et\",description:{kind:\"markdown\",value:'When the value of the `method` attribute is `post`, enctype is the [MIME type](https://en.wikipedia.org/wiki/Mime_type) of content that is used to submit the form to the server. Possible values are:\\n\\n*   `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\\n*   `multipart/form-data`: The value used for an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") element with the `type` attribute set to \"file\".\\n*   `text/plain`: (HTML5)\\n\\nThis value can be overridden by a [`formenctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formenctype) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") element.'}},{name:\"method\",valueSet:\"m\",description:{kind:\"markdown\",value:'The [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP) method that the browser uses to submit the form. Possible values are:\\n\\n*   `post`: Corresponds to the HTTP [POST method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5) ; form data are included in the body of the form and sent to the server.\\n*   `get`: Corresponds to the HTTP [GET method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3); form data are appended to the `action` attribute URI with a \\'?\\' as separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.\\n*   `dialog`: Use when the form is inside a\\xA0[`<dialog>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog \"The HTML <dialog> element represents a dialog box or other interactive component, such as an inspector or window.\") element to close the dialog when submitted.\\n\\nThis value can be overridden by a [`formmethod`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formmethod) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") element.'}},{name:\"name\",description:{kind:\"markdown\",value:\"The name of the form. In HTML 4, its use is deprecated (`id` should be used instead). It must be unique among the forms in a document and not just an empty string in HTML 5.\"}},{name:\"novalidate\",valueSet:\"v\",description:{kind:\"markdown\",value:'This Boolean attribute indicates that the form is not to be validated when submitted. If this attribute is not specified (and therefore the form is validated), this default setting can be overridden by a [`formnovalidate`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formnovalidate) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") element belonging to the form.'}},{name:\"target\",valueSet:\"target\",description:{kind:\"markdown\",value:'A name or keyword indicating where to display the response that is received after submitting the form. In HTML 4, this is the name/keyword for a frame. In HTML5, it is a name/keyword for a _browsing context_ (for example, tab, window, or inline frame). The following keywords have special meanings:\\n\\n*   `_self`: Load the response into the same HTML 4 frame (or HTML5 browsing context) as the current one. This value is the default if the attribute is not specified.\\n*   `_blank`: Load the response into a new unnamed HTML 4 window or HTML5 browsing context.\\n*   `_parent`: Load the response into the HTML 4 frameset parent of the current frame, or HTML5 parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\\n*   `_top`: HTML 4: Load the response into the full original window, and cancel all other frames. HTML5: Load the response into the top-level browsing context (i.e., the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`.\\n*   _iframename_: The response is displayed in a named [`<iframe>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe \"The HTML Inline Frame element (<iframe>) represents a nested browsing context, embedding another HTML page into the current one.\").\\n\\nHTML5: This value can be overridden by a [`formtarget`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formtarget) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") element.'}},{name:\"accept\",description:'A comma-separated list of content types that the server accepts.\\n\\n**Usage note:** This attribute has been removed in HTML5 and should no longer be used. Instead, use the [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept) attribute of the specific [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") element.'},{name:\"autocapitalize\",description:\"This is a nonstandard attribute used by iOS Safari Mobile which controls whether and how the text value for textual form control descendants should be automatically capitalized as it is entered/edited by the user. If the `autocapitalize` attribute is specified on an individual form control descendant, it trumps the form-wide `autocapitalize` setting. The non-deprecated values are available in iOS 5 and later. The default value is `sentences`. Possible values are:\\n\\n*   `none`: Completely disables automatic capitalization\\n*   `sentences`: Automatically capitalize the first letter of sentences.\\n*   `words`: Automatically capitalize the first letter of words.\\n*   `characters`: Automatically capitalize all characters.\\n*   `on`: Deprecated since iOS 5.\\n*   `off`: Deprecated since iOS 5.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/form\"}]},{name:\"label\",description:{kind:\"markdown\",value:\"The label element represents a caption in a user interface. The caption can be associated with a specific form control, known as the label element's labeled control, either using the for attribute, or by putting the form control inside the label element itself.\"},attributes:[{name:\"form\",description:{kind:\"markdown\",value:'The [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") element with which the label is associated (its _form owner_). If specified, the value of the attribute is the `id` of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") element in the same document. This lets you place label elements anywhere within a document, not just as descendants of their form elements.'}},{name:\"for\",description:{kind:\"markdown\",value:\"The [`id`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-id) of a [labelable](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Form_labelable) form-related element in the same document as the `<label>` element. The first element in the document with an `id` matching the value of the `for` attribute is the _labeled control_ for this label element, if it is a labelable element. If it is\\xA0not labelable then the `for` attribute has no effect. If there are other elements which also match the `id` value, later in the document, they are not considered.\\n\\n**Note**: A `<label>` element can have both a `for` attribute and a contained control element, as long as the `for` attribute points to the contained control element.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/label\"}]},{name:\"input\",description:{kind:\"markdown\",value:\"The input element represents a typed data field, usually with a form control to allow the user to edit the data.\"},void:!0,attributes:[{name:\"accept\"},{name:\"alt\"},{name:\"autocomplete\",valueSet:\"inputautocomplete\"},{name:\"autofocus\",valueSet:\"v\"},{name:\"checked\",valueSet:\"v\"},{name:\"dirname\"},{name:\"disabled\",valueSet:\"v\"},{name:\"form\"},{name:\"formaction\"},{name:\"formenctype\",valueSet:\"et\"},{name:\"formmethod\",valueSet:\"fm\"},{name:\"formnovalidate\",valueSet:\"v\"},{name:\"formtarget\"},{name:\"height\"},{name:\"inputmode\",valueSet:\"im\"},{name:\"list\"},{name:\"max\"},{name:\"maxlength\"},{name:\"min\"},{name:\"minlength\"},{name:\"multiple\",valueSet:\"v\"},{name:\"name\"},{name:\"pattern\"},{name:\"placeholder\"},{name:\"readonly\",valueSet:\"v\"},{name:\"required\",valueSet:\"v\"},{name:\"size\"},{name:\"src\"},{name:\"step\"},{name:\"type\",valueSet:\"t\"},{name:\"value\"},{name:\"width\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/input\"}]},{name:\"button\",description:{kind:\"markdown\",value:\"The button element represents a button labeled by its contents.\"},attributes:[{name:\"autofocus\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute lets you specify that the button should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form-associated element in a document can have this attribute specified.\"}},{name:\"disabled\",valueSet:\"v\",description:{kind:\"markdown\",value:'This Boolean attribute indicates that the user cannot interact with the button. If this attribute is not specified, the button inherits its setting from the containing element, for example [`<fieldset>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset \"The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form.\"); if there is no containing element with the **disabled** attribute set, then the button is enabled.\\n\\nFirefox will, unlike other browsers, by default, [persist the dynamic disabled state](https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing) of a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") across page loads. Use the [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-autocomplete) attribute to control this feature.'}},{name:\"form\",description:{kind:\"markdown\",value:'The form element that the button is associated with (its _form owner_). The value of the attribute must be the **id** attribute of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") element in the same document. If this attribute is not specified, the `<button>` element will be associated to an ancestor [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") element, if one exists. This attribute enables you to associate `<button>` elements to [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") elements anywhere within a document, not just as descendants of [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") elements.'}},{name:\"formaction\",description:{kind:\"markdown\",value:\"The URI of a program that processes the information submitted by the button. If specified, it overrides the [`action`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-action) attribute of the button's form owner.\"}},{name:\"formenctype\",valueSet:\"et\",description:{kind:\"markdown\",value:'If the button is a submit button, this attribute specifies the type of content that is used to submit the form to the server. Possible values are:\\n\\n*   `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\\n*   `multipart/form-data`: Use this value if you are using an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") element with the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-type) attribute set to `file`.\\n*   `text/plain`\\n\\nIf this attribute is specified, it overrides the [`enctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-enctype) attribute of the button\\'s form owner.'}},{name:\"formmethod\",valueSet:\"fm\",description:{kind:\"markdown\",value:\"If the button is a submit button, this attribute specifies the HTTP method that the browser uses to submit the form. Possible values are:\\n\\n*   `post`: The data from the form are included in the body of the form and sent to the server.\\n*   `get`: The data from the form are appended to the **form** attribute URI, with a '?' as a separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.\\n\\nIf specified, this attribute overrides the [`method`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-method) attribute of the button's form owner.\"}},{name:\"formnovalidate\",valueSet:\"v\",description:{kind:\"markdown\",value:\"If the button is a submit button, this Boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the [`novalidate`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-novalidate) attribute of the button's form owner.\"}},{name:\"formtarget\",description:{kind:\"markdown\",value:\"If the button is a submit button, this attribute is a name or keyword indicating where to display the response that is received after submitting the form. This is a name of, or keyword for, a _browsing context_ (for example, tab, window, or inline frame). If this attribute is specified, it overrides the [`target`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-target) attribute of the button's form owner. The following keywords have special meanings:\\n\\n*   `_self`: Load the response into the same browsing context as the current one. This value is the default if the attribute is not specified.\\n*   `_blank`: Load the response into a new unnamed browsing context.\\n*   `_parent`: Load the response into the parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\\n*   `_top`: Load the response into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`.\"}},{name:\"name\",description:{kind:\"markdown\",value:\"The name of the button, which is submitted with the form data.\"}},{name:\"type\",valueSet:\"bt\",description:{kind:\"markdown\",value:\"The type of the button. Possible values are:\\n\\n*   `submit`: The button submits the form data to the server. This is the default if the attribute is not specified, or if the attribute is dynamically changed to an empty or invalid value.\\n*   `reset`: The button resets all the controls to their initial values.\\n*   `button`: The button has no default behavior. It can have client-side scripts associated with the element's events, which are triggered when the events occur.\"}},{name:\"value\",description:{kind:\"markdown\",value:\"The initial value of the button. It defines the value associated with the button which is submitted with the form data. This value is passed to the server in params when the form is submitted.\"}},{name:\"autocomplete\",description:'The use of this attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") is nonstandard and Firefox-specific. By default, unlike other browsers, [Firefox persists the dynamic disabled state](https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing) of a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button \"The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.\") across page loads. Setting the value of this attribute to `off` (i.e. `autocomplete=\"off\"`) disables this feature. See [bug\\xA0654072](https://bugzilla.mozilla.org/show_bug.cgi?id=654072 \"if disabled state is changed with javascript, the normal state doesn\\'t return after refreshing the page\").'}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/button\"}]},{name:\"select\",description:{kind:\"markdown\",value:\"The select element represents a control for selecting amongst a set of options.\"},attributes:[{name:\"autocomplete\",valueSet:\"inputautocomplete\",description:{kind:\"markdown\",value:'A [`DOMString`](https://developer.mozilla.org/en-US/docs/Web/API/DOMString \"DOMString is a UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String.\") providing a hint for a [user agent\\'s](https://developer.mozilla.org/en-US/docs/Glossary/user_agent \"user agent\\'s: A user agent is a computer program representing a person, for example, a browser in a Web context.\") autocomplete feature. See [The HTML autocomplete attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for a complete list of values and details on how to use autocomplete.'}},{name:\"autofocus\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute lets you specify that a form control should have input focus when the page loads. Only one form element in a document can have the `autofocus` attribute.\"}},{name:\"disabled\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute indicates that the user cannot interact with the control. If this attribute is not specified, the control inherits its setting from the containing element, for example `fieldset`; if there is no containing element with the `disabled` attribute set, then the control is enabled.\"}},{name:\"form\",description:{kind:\"markdown\",value:'This attribute lets you specify the form element to\\xA0which\\xA0the select element is associated\\xA0(that is, its \"form owner\"). If this attribute is specified, its value must be the same as the `id` of a form element in the same document. This enables you to place select elements anywhere within a document, not just as descendants of their form elements.'}},{name:\"multiple\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute indicates that multiple options can be selected in the list. If it is not specified, then only one option can be selected at a time. When `multiple` is specified, most browsers will show a scrolling list box instead of a single line dropdown.\"}},{name:\"name\",description:{kind:\"markdown\",value:\"This attribute is used to specify the name of the control.\"}},{name:\"required\",valueSet:\"v\",description:{kind:\"markdown\",value:\"A Boolean attribute indicating that an option with a non-empty string value must be selected.\"}},{name:\"size\",description:{kind:\"markdown\",value:\"If the control is presented as a scrolling list box (e.g. when `multiple` is specified), this attribute represents the number of rows in the list that should be visible at one time. Browsers are not required to present a select element as a scrolled list box. The default value is 0.\\n\\n**Note:** According to the HTML5 specification, the default value for size should be 1; however, in practice, this has been found to break some web sites, and no other browser currently does that, so Mozilla has opted to continue to return 0 for the time being with Firefox.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/select\"}]},{name:\"datalist\",description:{kind:\"markdown\",value:\"The datalist element represents a set of option elements that represent predefined options for other controls. In the rendering, the datalist element represents nothing and it, along with its children, should be hidden.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/datalist\"}]},{name:\"optgroup\",description:{kind:\"markdown\",value:\"The optgroup element represents a group of option elements with a common label.\"},attributes:[{name:\"disabled\",valueSet:\"v\",description:{kind:\"markdown\",value:\"If this Boolean attribute is set, none of the items in this option group is selectable. Often browsers grey out such control and it won't receive any browsing events, like mouse clicks or focus-related ones.\"}},{name:\"label\",description:{kind:\"markdown\",value:\"The name of the group of options, which the browser can use when labeling the options in the user interface. This attribute is mandatory if this element is used.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/optgroup\"}]},{name:\"option\",description:{kind:\"markdown\",value:\"The option element represents an option in a select element or as part of a list of suggestions in a datalist element.\"},attributes:[{name:\"disabled\",valueSet:\"v\",description:{kind:\"markdown\",value:'If this Boolean attribute is set, this option is not checkable. Often browsers grey out such control and it won\\'t receive any browsing event, like mouse clicks or focus-related ones. If this attribute is not set, the element can still be disabled if one of its ancestors is a disabled [`<optgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup \"The HTML <optgroup> element creates a grouping of options within a <select> element.\") element.'}},{name:\"label\",description:{kind:\"markdown\",value:\"This attribute is text for the label indicating the meaning of the option. If the `label` attribute isn't defined, its value is that of the element text content.\"}},{name:\"selected\",valueSet:\"v\",description:{kind:\"markdown\",value:'If present, this Boolean attribute indicates that the option is initially selected. If the `<option>` element is the descendant of a [`<select>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select \"The HTML <select> element represents a control that provides a menu of options\") element whose [`multiple`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple) attribute is not set, only one single `<option>` of this [`<select>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select \"The HTML <select> element represents a control that provides a menu of options\") element may have the `selected` attribute.'}},{name:\"value\",description:{kind:\"markdown\",value:\"The content of this attribute represents the value to be submitted with the form, should this option be selected.\\xA0If this attribute is omitted, the value is taken from the text content of the option element.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/option\"}]},{name:\"textarea\",description:{kind:\"markdown\",value:\"The textarea element represents a multiline plain text edit control for the element's raw value. The contents of the control represent the control's default value.\"},attributes:[{name:\"autocomplete\",valueSet:\"inputautocomplete\",description:{kind:\"markdown\",value:'This attribute indicates whether the value of the control can be automatically completed by the browser. Possible values are:\\n\\n*   `off`: The user must explicitly enter a value into this field for every use, or the document provides its own auto-completion method; the browser does not automatically complete the entry.\\n*   `on`: The browser can automatically complete the value based on values that the user has entered during previous uses.\\n\\nIf the `autocomplete` attribute is not specified on a `<textarea>` element, then the browser uses the `autocomplete` attribute value of the `<textarea>` element\\'s form owner. The form owner is either the [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") element that this `<textarea>` element is a descendant of or the form element whose `id` is specified by the `form` attribute of the input element. For more information, see the [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-autocomplete) attribute in [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\").'}},{name:\"autofocus\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute lets you specify that a form control should have input focus when the page loads. Only one form-associated element in a document can have this attribute specified.\"}},{name:\"cols\",description:{kind:\"markdown\",value:\"The visible width of the text control, in average character widths. If it is specified, it must be a positive integer. If it is not specified, the default value is `20`.\"}},{name:\"dirname\"},{name:\"disabled\",valueSet:\"v\",description:{kind:\"markdown\",value:'This Boolean attribute indicates that the user cannot interact with the control. If this attribute is not specified, the control inherits its setting from the containing element, for example [`<fieldset>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset \"The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form.\"); if there is no containing element when the `disabled` attribute is set, the control is enabled.'}},{name:\"form\",description:{kind:\"markdown\",value:'The form element that the `<textarea>` element is associated with (its \"form owner\"). The value of the attribute must be the `id` of a form element in the same document. If this attribute is not specified, the `<textarea>` element must be a descendant of a form element. This attribute enables you to place `<textarea>` elements anywhere within a document, not just as descendants of form elements.'}},{name:\"inputmode\",valueSet:\"im\"},{name:\"maxlength\",description:{kind:\"markdown\",value:\"The maximum number of characters (unicode code points) that the user can enter. If this value isn't specified, the user can enter an unlimited number of characters.\"}},{name:\"minlength\",description:{kind:\"markdown\",value:\"The minimum number of characters (unicode code points) required that the user should enter.\"}},{name:\"name\",description:{kind:\"markdown\",value:\"The name of the control.\"}},{name:\"placeholder\",description:{kind:\"markdown\",value:'A hint to the user of what can be entered in the control. Carriage returns or line-feeds within the placeholder text must be treated as line breaks when rendering the hint.\\n\\n**Note:** Placeholders should only be used to show an example of the type of data that should be entered into a form; they are _not_ a substitute for a proper [`<label>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label \"The HTML <label> element represents a caption for an item in a user interface.\") element tied to the input. See [Labels and placeholders](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Labels_and_placeholders \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") in [<input>: The Input (Form Input) element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") for a full explanation.'}},{name:\"readonly\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute indicates that the user cannot modify the value of the control. Unlike the `disabled` attribute, the `readonly` attribute does not prevent the user from clicking or selecting in the control. The value of a read-only control is still submitted with the form.\"}},{name:\"required\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This attribute specifies that the user must fill in a value before submitting a form.\"}},{name:\"rows\",description:{kind:\"markdown\",value:\"The number of visible text lines for the control.\"}},{name:\"wrap\",valueSet:\"w\",description:{kind:\"markdown\",value:\"Indicates how the control wraps text. Possible values are:\\n\\n*   `hard`: The browser automatically inserts line breaks (CR+LF) so that each line has no more than the width of the control; the `cols` attribute must also be specified for this to take effect.\\n*   `soft`: The browser ensures that all line breaks in the value consist of a CR+LF pair, but does not insert any additional line breaks.\\n*   `off` : Like `soft` but changes appearance to `white-space: pre` so line segments exceeding `cols` are not wrapped and the `<textarea>` becomes horizontally scrollable.\\n\\nIf this attribute is not specified, `soft` is its default value.\"}},{name:\"autocapitalize\",description:\"This is a non-standard attribute supported by WebKit on iOS (therefore nearly all browsers running on iOS, including Safari, Firefox, and Chrome), which controls whether and how the text value should be automatically capitalized as it is entered/edited by the user. The non-deprecated values are available in iOS 5 and later. Possible values are:\\n\\n*   `none`: Completely disables automatic capitalization.\\n*   `sentences`: Automatically capitalize the first letter of sentences.\\n*   `words`: Automatically capitalize the first letter of words.\\n*   `characters`: Automatically capitalize all characters.\\n*   `on`: Deprecated since iOS 5.\\n*   `off`: Deprecated since iOS 5.\"},{name:\"spellcheck\",description:\"Specifies whether the `<textarea>` is subject to spell checking by the underlying browser/OS. the value can be:\\n\\n*   `true`: Indicates that the element needs to have its spelling and grammar checked.\\n*   `default` : Indicates that the element is to act according to a default behavior, possibly based on the parent element's own `spellcheck` value.\\n*   `false` : Indicates that the element should not be spell checked.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/textarea\"}]},{name:\"output\",description:{kind:\"markdown\",value:\"The output element represents the result of a calculation performed by the application, or the result of a user action.\"},attributes:[{name:\"for\",description:{kind:\"markdown\",value:\"A space-separated list of other elements\\u2019 [`id`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)s, indicating that those elements contributed input values to (or otherwise affected) the calculation.\"}},{name:\"form\",description:{kind:\"markdown\",value:'The [form element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) that this element is associated with (its \"form owner\"). The value of the attribute must be an `id` of a form element in the same document. If this attribute is not specified, the output element must be a descendant of a form element. This attribute enables you to place output elements anywhere within a document, not just as descendants of their form elements.'}},{name:\"name\",description:{kind:\"markdown\",value:'The name of the element, exposed in the [`HTMLFormElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement \"The HTMLFormElement interface represents a <form> element in the DOM; it allows access to and in some cases modification of aspects of the form, as well as access to its component elements.\") API.'}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/output\"}]},{name:\"progress\",description:{kind:\"markdown\",value:\"The progress element represents the completion progress of a task. The progress is either indeterminate, indicating that progress is being made but that it is not clear how much more work remains to be done before the task is complete (e.g. because the task is waiting for a remote host to respond), or the progress is a number in the range zero to a maximum, giving the fraction of work that has so far been completed.\"},attributes:[{name:\"value\",description:{kind:\"markdown\",value:\"This attribute specifies how much of the task that has been completed. It must be a valid floating point number between 0 and `max`, or between 0 and 1 if `max` is omitted. If there is no `value` attribute, the progress bar is indeterminate; this indicates that an activity is ongoing with no indication of how long it is expected to take.\"}},{name:\"max\",description:{kind:\"markdown\",value:\"This attribute describes how much work the task indicated by the `progress` element requires. The `max` attribute, if present, must have a value greater than zero and be a valid floating point number. The default value is 1.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/progress\"}]},{name:\"meter\",description:{kind:\"markdown\",value:\"The meter element represents a scalar measurement within a known range, or a fractional value; for example disk usage, the relevance of a query result, or the fraction of a voting population to have selected a particular candidate.\"},attributes:[{name:\"value\",description:{kind:\"markdown\",value:\"The current numeric value. This must be between the minimum and maximum values (`min` attribute and `max` attribute) if they are specified. If unspecified or malformed, the value is 0. If specified, but not within the range given by the `min` attribute and `max` attribute, the value is equal to the nearest end of the range.\\n\\n**Usage note:** Unless the `value` attribute is between `0` and `1` (inclusive), the `min` and `max` attributes should define the range so that the `value` attribute's value is within it.\"}},{name:\"min\",description:{kind:\"markdown\",value:\"The lower numeric bound of the measured range. This must be less than the maximum value (`max` attribute), if specified. If unspecified, the minimum value is 0.\"}},{name:\"max\",description:{kind:\"markdown\",value:\"The upper numeric bound of the measured range. This must be greater than the minimum value (`min` attribute), if specified. If unspecified, the maximum value is 1.\"}},{name:\"low\",description:{kind:\"markdown\",value:\"The upper numeric bound of the low end of the measured range. This must be greater than the minimum value (`min` attribute), and it also must be less than the high value and maximum value (`high` attribute and `max` attribute, respectively), if any are specified. If unspecified, or if less than the minimum value, the `low` value is equal to the minimum value.\"}},{name:\"high\",description:{kind:\"markdown\",value:\"The lower numeric bound of the high end of the measured range. This must be less than the maximum value (`max` attribute), and it also must be greater than the low value and minimum value (`low` attribute and **min** attribute, respectively), if any are specified. If unspecified, or if greater than the maximum value, the `high` value is equal to the maximum value.\"}},{name:\"optimum\",description:{kind:\"markdown\",value:\"This attribute indicates the optimal numeric value. It must be within the range (as defined by the `min` attribute and `max` attribute). When used with the `low` attribute and `high` attribute, it gives an indication where along the range is considered preferable. For example, if it is between the `min` attribute and the `low` attribute, then the lower range is considered preferred.\"}},{name:\"form\",description:\"This attribute associates the element with a `form` element that has ownership of the `meter` element. For example, a `meter` might be displaying a range corresponding to an `input` element of `type` _number_. This attribute is only used if the `meter` element is being used as a form-associated element; even then, it may be omitted if the element appears as a descendant of a `form` element.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/meter\"}]},{name:\"fieldset\",description:{kind:\"markdown\",value:\"The fieldset element represents a set of form controls optionally grouped under a common name.\"},attributes:[{name:\"disabled\",valueSet:\"v\",description:{kind:\"markdown\",value:\"If this Boolean attribute is set, all form controls that are descendants of the `<fieldset>`, are disabled, meaning they are not editable and won't be submitted along with the `<form>`. They won't receive any browsing events, like mouse clicks or focus-related events. By default browsers display such controls grayed out. Note that form elements inside the [`<legend>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend \\\"The HTML <legend> element represents a caption for the content of its parent <fieldset>.\\\") element won't be disabled.\"}},{name:\"form\",description:{kind:\"markdown\",value:'This attribute takes the value of the `id` attribute of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form \"The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.\") element you want the `<fieldset>` to be part of, even if it is not inside the form.'}},{name:\"name\",description:{kind:\"markdown\",value:'The name associated with the group.\\n\\n**Note**: The caption for the fieldset is given by the first [`<legend>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend \"The HTML <legend> element represents a caption for the content of its parent <fieldset>.\") element nested inside it.'}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/fieldset\"}]},{name:\"legend\",description:{kind:\"markdown\",value:\"The legend element represents a caption for the rest of the contents of the legend element's parent fieldset element, if any.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/legend\"}]},{name:\"details\",description:{kind:\"markdown\",value:\"The details element represents a disclosure widget from which the user can obtain additional information or controls.\"},attributes:[{name:\"open\",valueSet:\"v\",description:{kind:\"markdown\",value:\"This Boolean attribute indicates whether or not the details \\u2014 that is, the contents of the `<details>` element \\u2014 are currently visible. The default, `false`, means the details are not visible.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/details\"}]},{name:\"summary\",description:{kind:\"markdown\",value:\"The summary element represents a summary, caption, or legend for the rest of the contents of the summary element's parent details element, if any.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/summary\"}]},{name:\"dialog\",description:{kind:\"markdown\",value:\"The dialog element represents a part of an application that a user interacts with to perform a task, for example a dialog box, inspector, or window.\"},attributes:[{name:\"open\",description:\"Indicates that the dialog is active and available for interaction. When the `open` attribute is not set, the dialog shouldn't be shown to the user.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/dialog\"}]},{name:\"script\",description:{kind:\"markdown\",value:\"The script element allows authors to include dynamic script and data blocks in their documents. The element does not represent content for the user.\"},attributes:[{name:\"src\",description:{kind:\"markdown\",value:\"This attribute specifies the URI of an external script; this can be used as an alternative to embedding a script directly within a document.\\n\\nIf a `script` element has a `src` attribute specified, it should not have a script embedded inside its tags.\"}},{name:\"type\",description:{kind:\"markdown\",value:'This attribute indicates the type of script represented. The value of this attribute will be in one of the following categories:\\n\\n*   **Omitted or a JavaScript MIME type:** For HTML5-compliant browsers this indicates the script is JavaScript. HTML5 specification urges authors to omit the attribute rather than provide a redundant MIME type. In earlier browsers, this identified the scripting language of the embedded or imported (via the `src` attribute) code. JavaScript MIME types are [listed in the specification](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#JavaScript_types).\\n*   **`module`:** For HTML5-compliant browsers the code is treated as a JavaScript module. The processing of the script contents is not affected by the `charset` and `defer` attributes. For information on using `module`, see [ES6 in Depth: Modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/). Code may behave differently when the `module` keyword is used.\\n*   **Any other value:** The embedded content is treated as a data block which won\\'t be processed by the browser. Developers must use a valid MIME type that is not a JavaScript MIME type to denote data blocks. The `src` attribute will be ignored.\\n\\n**Note:** in Firefox you could specify the version of JavaScript contained in a `<script>` element by including a non-standard `version` parameter inside the `type` attribute \\u2014 for example `type=\"text/javascript;version=1.8\"`. This has been removed in Firefox 59 (see [bug\\xA01428745](https://bugzilla.mozilla.org/show_bug.cgi?id=1428745 \"FIXED: Remove support for version parameter from script loader\")).'}},{name:\"charset\"},{name:\"async\",valueSet:\"v\",description:{kind:\"markdown\",value:`This is a Boolean attribute indicating that the browser should, if possible, load the script asynchronously.\n\nThis attribute must not be used if the \\`src\\` attribute is absent (i.e. for inline scripts). If it is included in this case it will have no effect.\n\nBrowsers usually assume the worst case scenario and load scripts synchronously, (i.e. \\`async=\"false\"\\`) during HTML parsing.\n\nDynamically inserted scripts (using [\\`document.createElement()\\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement \"In an HTML document, the document.createElement() method creates the HTML element specified by tagName, or an HTMLUnknownElement if tagName isn't recognized.\")) load asynchronously by default, so to turn on synchronous loading (i.e. scripts load in the order they were inserted) set \\`async=\"false\"\\`.\n\nSee [Browser compatibility](#Browser_compatibility) for notes on browser support. See also [Async scripts for asm.js](https://developer.mozilla.org/en-US/docs/Games/Techniques/Async_scripts).`}},{name:\"defer\",valueSet:\"v\",description:{kind:\"markdown\",value:'This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has been parsed, but before firing [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded \"/en-US/docs/Web/Events/DOMContentLoaded\").\\n\\nScripts with the `defer` attribute will prevent the `DOMContentLoaded` event from firing until the script has loaded and finished evaluating.\\n\\nThis attribute must not be used if the `src` attribute is absent (i.e. for inline scripts), in this case it would have no effect.\\n\\nTo achieve a similar effect for dynamically inserted scripts use `async=\"false\"` instead. Scripts with the `defer` attribute will execute in the order in which they appear in the document.'}},{name:\"crossorigin\",valueSet:\"xo\",description:{kind:\"markdown\",value:'Normal `script` elements pass minimal information to the [`window.onerror`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror \"The onerror property of the GlobalEventHandlers mixin is an EventHandler that processes error events.\") for scripts which do not pass the standard [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS \"CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.\") checks. To allow error logging for sites which use a separate domain for static media, use this attribute. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for a more descriptive explanation of its valid arguments.'}},{name:\"nonce\",description:{kind:\"markdown\",value:\"A cryptographic nonce (number used once) to list the allowed inline scripts in a [script-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource's policy is otherwise trivial.\"}},{name:\"integrity\",description:\"This attribute contains inline metadata that a user agent can use to verify that a fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity).\"},{name:\"nomodule\",description:\"This Boolean attribute is set to indicate that the script should not be executed in browsers that support [ES2015 modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/) \\u2014 in effect, this can be used to serve fallback scripts to older browsers that do not support modular JavaScript code.\"},{name:\"referrerpolicy\",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the script, or resources fetched by the script:\\n\\n*   `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent.\\n*   `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin \"origin: Web content\\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.\")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS \"TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.\") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS \"HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.\")).\\n*   `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host \"host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails.\"), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port \"port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.\").\\n*   `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\\n*   `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy \"same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin.\"), but cross-origin requests will contain no referrer information.\\n*   `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (e.g. HTTPS\\u2192HTTPS), but don\\'t send it to a less secure destination (e.g. HTTPS\\u2192HTTP).\\n*   `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, but only send the origin when the protocol security level stays the same (e.g.HTTPS\\u2192HTTPS), and send no header to a less secure destination (e.g. HTTPS\\u2192HTTP).\\n*   `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.\\n\\n**Note**: An empty string value (`\"\"`) is both the default value, and a fallback value if `referrerpolicy` is not supported. If `referrerpolicy` is not explicitly specified on the `<script>` element, it will adopt a higher-level referrer policy, i.e. one set on the whole document or domain. If a higher-level policy is not available,\\xA0the empty string is treated as being equivalent to `no-referrer-when-downgrade`.'},{name:\"text\",description:\"Like the `textContent` attribute, this attribute sets the text content of the element. Unlike the `textContent` attribute, however, this attribute is evaluated as executable code after the node is inserted into the DOM.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/script\"}]},{name:\"noscript\",description:{kind:\"markdown\",value:\"The noscript element represents nothing if scripting is enabled, and represents its children if scripting is disabled. It is used to present different markup to user agents that support scripting and those that don't support scripting, by affecting how the document is parsed.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/noscript\"}]},{name:\"template\",description:{kind:\"markdown\",value:\"The template element is used to declare fragments of HTML that can be cloned and inserted in the document by script.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/template\"}]},{name:\"canvas\",description:{kind:\"markdown\",value:\"The canvas element provides scripts with a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, art, or other visual images on the fly.\"},attributes:[{name:\"width\",description:{kind:\"markdown\",value:\"The width of the coordinate space in CSS pixels. Defaults to 300.\"}},{name:\"height\",description:{kind:\"markdown\",value:\"The height of the coordinate space in CSS pixels. Defaults to 150.\"}},{name:\"moz-opaque\",description:\"Lets the canvas know whether or not translucency will be a factor. If the canvas knows there's no translucency, painting performance can be optimized. This is only supported by Mozilla-based browsers; use the standardized [`canvas.getContext('2d', { alpha: false })`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext \\\"The HTMLCanvasElement.getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\\\") instead.\"}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/canvas\"}]},{name:\"slot\",description:{kind:\"markdown\",value:\"The slot element is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together.\"},attributes:[{name:\"name\",description:{kind:\"markdown\",value:\"The slot's name.\\nA **named slot** is a `<slot>` element with a `name` attribute.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/slot\"}]},{name:\"data\",description:{kind:\"markdown\",value:\"The data element links a given piece of content with a machine-readable translation.\"},attributes:[{name:\"value\",description:{kind:\"markdown\",value:\"This attribute specifies the machine-readable translation of the content of the element.\"}}],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/data\"}]},{name:\"hgroup\",description:{kind:\"markdown\",value:\"The hgroup element represents a heading and related content. It groups a single h1\\u2013h6 element with one or more p.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/hgroup\"}]},{name:\"menu\",description:{kind:\"markdown\",value:\"The menu element represents an unordered list of interactive items.\"},attributes:[],references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Element/menu\"}]}],globalAttributes:[{name:\"accesskey\",description:{kind:\"markdown\",value:\"Provides a hint for generating a keyboard shortcut for the current element. This attribute consists of a space-separated list of characters. The browser should use the first one that exists on the computer keyboard layout.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/accesskey\"}]},{name:\"autocapitalize\",description:{kind:\"markdown\",value:\"Controls whether and how text input is automatically capitalized as it is entered/edited by the user. It can have the following values:\\n\\n*   `off` or `none`, no autocapitalization is applied (all letters default to lowercase)\\n*   `on` or `sentences`, the first letter of each sentence defaults to a capital letter; all other letters default to lowercase\\n*   `words`, the first letter of each word defaults to a capital letter; all other letters default to lowercase\\n*   `characters`, all letters should default to uppercase\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/autocapitalize\"}]},{name:\"class\",description:{kind:\"markdown\",value:'A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the [class selectors](https://developer.mozilla.org/docs/Web/CSS/Class_selectors) or functions like the method [`Document.getElementsByClassName()`](https://developer.mozilla.org/docs/Web/API/Document/getElementsByClassName \"returns an array-like object of all child elements which have all of the given class names.\").'},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/class\"}]},{name:\"contenteditable\",description:{kind:\"markdown\",value:\"An enumerated attribute indicating if the element should be editable by the user. If so, the browser modifies its widget to allow editing. The attribute must take one of the following values:\\n\\n*   `true` or the _empty string_, which indicates that the element must be editable;\\n*   `false`, which indicates that the element must not be editable.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/contenteditable\"}]},{name:\"contextmenu\",description:{kind:\"markdown\",value:'The `[**id**](#attr-id)` of a [`<menu>`](https://developer.mozilla.org/docs/Web/HTML/Element/menu \"The HTML <menu> element represents a group of commands that a user can perform or activate. This includes both list menus, which might appear across the top of a screen, as well as context menus, such as those that might appear underneath a button after it has been clicked.\") to use as the contextual menu for this element.'},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/contextmenu\"}]},{name:\"dir\",description:{kind:\"markdown\",value:\"An enumerated attribute indicating the directionality of the element's text. It can have the following values:\\n\\n*   `ltr`, which means _left to right_ and is to be used for languages that are written from the left to the right (like English);\\n*   `rtl`, which means _right to left_ and is to be used for languages that are written from the right to the left (like Arabic);\\n*   `auto`, which lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then it applies that directionality to the whole element.\"},valueSet:\"d\",references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/dir\"}]},{name:\"draggable\",description:{kind:\"markdown\",value:\"An enumerated attribute indicating whether the element can be dragged, using the [Drag and Drop API](https://developer.mozilla.org/docs/DragDrop/Drag_and_Drop). It can have the following values:\\n\\n*   `true`, which indicates that the element may be dragged\\n*   `false`, which indicates that the element may not be dragged.\"},valueSet:\"b\",references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/draggable\"}]},{name:\"dropzone\",description:{kind:\"markdown\",value:\"An enumerated attribute indicating what types of content can be dropped on an element, using the [Drag and Drop API](https://developer.mozilla.org/docs/DragDrop/Drag_and_Drop). It can have the following values:\\n\\n*   `copy`, which indicates that dropping will create a copy of the element that was dragged\\n*   `move`, which indicates that the element that was dragged will be moved to this new location.\\n*   `link`, will create a link to the dragged data.\"}},{name:\"exportparts\",description:{kind:\"markdown\",value:\"Used to transitively export shadow parts from a nested shadow tree into a containing light tree.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/exportparts\"}]},{name:\"hidden\",description:{kind:\"markdown\",value:\"A Boolean attribute indicates that the element is not yet, or is no longer, _relevant_. For example, it can be used to hide elements of the page that can't be used until the login process has been completed. The browser won't render such elements. This attribute must not be used to hide content that could legitimately be shown.\"},valueSet:\"v\",references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/hidden\"}]},{name:\"id\",description:{kind:\"markdown\",value:\"Defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking (using a fragment identifier), scripting, or styling (with CSS).\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/id\"}]},{name:\"inputmode\",description:{kind:\"markdown\",value:'Provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents. Used primarily on [`<input>`](https://developer.mozilla.org/docs/Web/HTML/Element/input \"The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.\") elements, but is usable on any element while in `[contenteditable](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-contenteditable)` mode.'},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/inputmode\"}]},{name:\"is\",description:{kind:\"markdown\",value:\"Allows you to specify that a standard HTML element should behave like a registered custom built-in element (see [Using custom elements](https://developer.mozilla.org/docs/Web/Web_Components/Using_custom_elements) for more details).\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/is\"}]},{name:\"itemid\",description:{kind:\"markdown\",value:\"The unique, global identifier of an item.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemid\"}]},{name:\"itemprop\",description:{kind:\"markdown\",value:\"Used to add properties to an item. Every HTML element may have an `itemprop` attribute specified, where an `itemprop` consists of a name and value pair.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemprop\"}]},{name:\"itemref\",description:{kind:\"markdown\",value:\"Properties that are not descendants of an element with the `itemscope` attribute can be associated with the item using an `itemref`. It provides a list of element ids (not `itemid`s) with additional properties elsewhere in the document.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemref\"}]},{name:\"itemscope\",description:{kind:\"markdown\",value:\"`itemscope` (usually) works along with `[itemtype](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-itemtype)` to specify that the HTML contained in a block is about a particular item. `itemscope` creates the Item and defines the scope of the `itemtype` associated with it. `itemtype` is a valid URL of a vocabulary (such as [schema.org](https://schema.org/)) that describes the item and its properties context.\"},valueSet:\"v\",references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemscope\"}]},{name:\"itemtype\",description:{kind:\"markdown\",value:\"Specifies the URL of the vocabulary that will be used to define `itemprop`s (item properties) in the data structure. `[itemscope](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-itemscope)` is used to set the scope of where in the data structure the vocabulary set by `itemtype` will be active.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemtype\"}]},{name:\"lang\",description:{kind:\"markdown\",value:\"Helps define the language of an element: the language that non-editable elements are in, or the language that editable elements should be written in by the user. The attribute contains one \\u201Clanguage tag\\u201D (made of hyphen-separated \\u201Clanguage subtags\\u201D) in the format defined in [_Tags for Identifying Languages (BCP47)_](https://www.ietf.org/rfc/bcp/bcp47.txt). [**xml:lang**](#attr-xml:lang) has priority over it.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/lang\"}]},{name:\"part\",description:{kind:\"markdown\",value:'A space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the [`::part`](https://developer.mozilla.org/docs/Web/CSS/::part \"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute.\") pseudo-element.'},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/part\"}]},{name:\"role\",valueSet:\"roles\"},{name:\"slot\",description:{kind:\"markdown\",value:\"Assigns a slot in a [shadow DOM](https://developer.mozilla.org/docs/Web/Web_Components/Shadow_DOM) shadow tree to an element: An element with a `slot` attribute is assigned to the slot created by the [`<slot>`](https://developer.mozilla.org/docs/Web/HTML/Element/slot \\\"The HTML <slot> element\\u2014part of the Web Components technology suite\\u2014is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together.\\\") element whose `[name](https://developer.mozilla.org/docs/Web/HTML/Element/slot#attr-name)` attribute's value matches that `slot` attribute's value.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/slot\"}]},{name:\"spellcheck\",description:{kind:\"markdown\",value:\"An enumerated attribute defines whether the element may be checked for spelling errors. It may have the following values:\\n\\n*   `true`, which indicates that the element should be, if possible, checked for spelling errors;\\n*   `false`, which indicates that the element should not be checked for spelling errors.\"},valueSet:\"b\",references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/spellcheck\"}]},{name:\"style\",description:{kind:\"markdown\",value:'Contains [CSS](https://developer.mozilla.org/docs/Web/CSS) styling declarations to be applied to the element. Note that it is recommended for styles to be defined in a separate file or files. This attribute and the [`<style>`](https://developer.mozilla.org/docs/Web/HTML/Element/style \"The HTML <style> element contains style information for a document, or part of a document.\") element have mainly the purpose of allowing for quick styling, for example for testing purposes.'},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/style\"}]},{name:\"tabindex\",description:{kind:\"markdown\",value:`An integer attribute indicating if the element can take input focus (is _focusable_), if it should participate to sequential keyboard navigation, and if so, at what position. It can take several values:\n\n*   a _negative value_ means that the element should be focusable, but should not be reachable via sequential keyboard navigation;\n*   \\`0\\` means that the element should be focusable and reachable via sequential keyboard navigation, but its relative order is defined by the platform convention;\n*   a _positive value_ means that the element should be focusable and reachable via sequential keyboard navigation; the order in which the elements are focused is the increasing value of the [**tabindex**](#attr-tabindex). If several elements share the same tabindex, their relative order follows their relative positions in the document.`},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/tabindex\"}]},{name:\"title\",description:{kind:\"markdown\",value:\"Contains a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip.\"},references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/title\"}]},{name:\"translate\",description:{kind:\"markdown\",value:\"An enumerated attribute that is used to specify whether an element's attribute values and the values of its [`Text`](https://developer.mozilla.org/docs/Web/API/Text \\\"The Text interface represents the textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.\\\") node children are to be translated when the page is localized, or whether to leave them unchanged. It can have the following values:\\n\\n*   empty string and `yes`, which indicates that the element will be translated.\\n*   `no`, which indicates that the element will not be translated.\"},valueSet:\"y\",references:[{name:\"MDN Reference\",url:\"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/translate\"}]},{name:\"onabort\",description:{kind:\"markdown\",value:\"The loading of a resource has been aborted.\"}},{name:\"onblur\",description:{kind:\"markdown\",value:\"An element has lost focus (does not bubble).\"}},{name:\"oncanplay\",description:{kind:\"markdown\",value:\"The user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of content.\"}},{name:\"oncanplaythrough\",description:{kind:\"markdown\",value:\"The user agent can play the media up to its end without having to stop for further buffering of content.\"}},{name:\"onchange\",description:{kind:\"markdown\",value:\"The change event is fired for <input>, <select>, and <textarea> elements when a change to the element's value is committed by the user.\"}},{name:\"onclick\",description:{kind:\"markdown\",value:\"A pointing device button has been pressed and released on an element.\"}},{name:\"oncontextmenu\",description:{kind:\"markdown\",value:\"The right button of the mouse is clicked (before the context menu is displayed).\"}},{name:\"ondblclick\",description:{kind:\"markdown\",value:\"A pointing device button is clicked twice on an element.\"}},{name:\"ondrag\",description:{kind:\"markdown\",value:\"An element or text selection is being dragged (every 350ms).\"}},{name:\"ondragend\",description:{kind:\"markdown\",value:\"A drag operation is being ended (by releasing a mouse button or hitting the escape key).\"}},{name:\"ondragenter\",description:{kind:\"markdown\",value:\"A dragged element or text selection enters a valid drop target.\"}},{name:\"ondragleave\",description:{kind:\"markdown\",value:\"A dragged element or text selection leaves a valid drop target.\"}},{name:\"ondragover\",description:{kind:\"markdown\",value:\"An element or text selection is being dragged over a valid drop target (every 350ms).\"}},{name:\"ondragstart\",description:{kind:\"markdown\",value:\"The user starts dragging an element or text selection.\"}},{name:\"ondrop\",description:{kind:\"markdown\",value:\"An element is dropped on a valid drop target.\"}},{name:\"ondurationchange\",description:{kind:\"markdown\",value:\"The duration attribute has been updated.\"}},{name:\"onemptied\",description:{kind:\"markdown\",value:\"The media has become empty; for example, this event is sent if the media has already been loaded (or partially loaded), and the load() method is called to reload it.\"}},{name:\"onended\",description:{kind:\"markdown\",value:\"Playback has stopped because the end of the media was reached.\"}},{name:\"onerror\",description:{kind:\"markdown\",value:\"A resource failed to load.\"}},{name:\"onfocus\",description:{kind:\"markdown\",value:\"An element has received focus (does not bubble).\"}},{name:\"onformchange\"},{name:\"onforminput\"},{name:\"oninput\",description:{kind:\"markdown\",value:\"The value of an element changes or the content of an element with the attribute contenteditable is modified.\"}},{name:\"oninvalid\",description:{kind:\"markdown\",value:\"A submittable element has been checked and doesn't satisfy its constraints.\"}},{name:\"onkeydown\",description:{kind:\"markdown\",value:\"A key is pressed down.\"}},{name:\"onkeypress\",description:{kind:\"markdown\",value:\"A key is pressed down and that key normally produces a character value (use input instead).\"}},{name:\"onkeyup\",description:{kind:\"markdown\",value:\"A key is released.\"}},{name:\"onload\",description:{kind:\"markdown\",value:\"A resource and its dependent resources have finished loading.\"}},{name:\"onloadeddata\",description:{kind:\"markdown\",value:\"The first frame of the media has finished loading.\"}},{name:\"onloadedmetadata\",description:{kind:\"markdown\",value:\"The metadata has been loaded.\"}},{name:\"onloadstart\",description:{kind:\"markdown\",value:\"Progress has begun.\"}},{name:\"onmousedown\",description:{kind:\"markdown\",value:\"A pointing device button (usually a mouse) is pressed on an element.\"}},{name:\"onmousemove\",description:{kind:\"markdown\",value:\"A pointing device is moved over an element.\"}},{name:\"onmouseout\",description:{kind:\"markdown\",value:\"A pointing device is moved off the element that has the listener attached or off one of its children.\"}},{name:\"onmouseover\",description:{kind:\"markdown\",value:\"A pointing device is moved onto the element that has the listener attached or onto one of its children.\"}},{name:\"onmouseup\",description:{kind:\"markdown\",value:\"A pointing device button is released over an element.\"}},{name:\"onmousewheel\"},{name:\"onmouseenter\",description:{kind:\"markdown\",value:\"A pointing device is moved onto the element that has the listener attached.\"}},{name:\"onmouseleave\",description:{kind:\"markdown\",value:\"A pointing device is moved off the element that has the listener attached.\"}},{name:\"onpause\",description:{kind:\"markdown\",value:\"Playback has been paused.\"}},{name:\"onplay\",description:{kind:\"markdown\",value:\"Playback has begun.\"}},{name:\"onplaying\",description:{kind:\"markdown\",value:\"Playback is ready to start after having been paused or delayed due to lack of data.\"}},{name:\"onprogress\",description:{kind:\"markdown\",value:\"In progress.\"}},{name:\"onratechange\",description:{kind:\"markdown\",value:\"The playback rate has changed.\"}},{name:\"onreset\",description:{kind:\"markdown\",value:\"A form is reset.\"}},{name:\"onresize\",description:{kind:\"markdown\",value:\"The document view has been resized.\"}},{name:\"onreadystatechange\",description:{kind:\"markdown\",value:\"The readyState attribute of a document has changed.\"}},{name:\"onscroll\",description:{kind:\"markdown\",value:\"The document view or an element has been scrolled.\"}},{name:\"onseeked\",description:{kind:\"markdown\",value:\"A seek operation completed.\"}},{name:\"onseeking\",description:{kind:\"markdown\",value:\"A seek operation began.\"}},{name:\"onselect\",description:{kind:\"markdown\",value:\"Some text is being selected.\"}},{name:\"onshow\",description:{kind:\"markdown\",value:\"A contextmenu event was fired on/bubbled to an element that has a contextmenu attribute\"}},{name:\"onstalled\",description:{kind:\"markdown\",value:\"The user agent is trying to fetch media data, but data is unexpectedly not forthcoming.\"}},{name:\"onsubmit\",description:{kind:\"markdown\",value:\"A form is submitted.\"}},{name:\"onsuspend\",description:{kind:\"markdown\",value:\"Media data loading has been suspended.\"}},{name:\"ontimeupdate\",description:{kind:\"markdown\",value:\"The time indicated by the currentTime attribute has been updated.\"}},{name:\"onvolumechange\",description:{kind:\"markdown\",value:\"The volume has changed.\"}},{name:\"onwaiting\",description:{kind:\"markdown\",value:\"Playback has stopped because of a temporary lack of data.\"}},{name:\"onpointercancel\",description:{kind:\"markdown\",value:\"The pointer is unlikely to produce any more events.\"}},{name:\"onpointerdown\",description:{kind:\"markdown\",value:\"The pointer enters the active buttons state.\"}},{name:\"onpointerenter\",description:{kind:\"markdown\",value:\"Pointing device is moved inside the hit-testing boundary.\"}},{name:\"onpointerleave\",description:{kind:\"markdown\",value:\"Pointing device is moved out of the hit-testing boundary.\"}},{name:\"onpointerlockchange\",description:{kind:\"markdown\",value:\"The pointer was locked or released.\"}},{name:\"onpointerlockerror\",description:{kind:\"markdown\",value:\"It was impossible to lock the pointer for technical reasons or because the permission was denied.\"}},{name:\"onpointermove\",description:{kind:\"markdown\",value:\"The pointer changed coordinates.\"}},{name:\"onpointerout\",description:{kind:\"markdown\",value:\"The pointing device moved out of hit-testing boundary or leaves detectable hover range.\"}},{name:\"onpointerover\",description:{kind:\"markdown\",value:\"The pointing device is moved into the hit-testing boundary.\"}},{name:\"onpointerup\",description:{kind:\"markdown\",value:\"The pointer leaves the active buttons state.\"}},{name:\"aria-activedescendant\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-activedescendant\"}],description:{kind:\"markdown\",value:\"Identifies the currently active element when DOM focus is on a [`composite`](https://www.w3.org/TR/wai-aria-1.1/#composite) widget, [`textbox`](https://www.w3.org/TR/wai-aria-1.1/#textbox), [`group`](https://www.w3.org/TR/wai-aria-1.1/#group), or [`application`](https://www.w3.org/TR/wai-aria-1.1/#application).\"}},{name:\"aria-atomic\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-atomic\"}],description:{kind:\"markdown\",value:\"Indicates whether [assistive technologies](https://www.w3.org/TR/wai-aria-1.1/#dfn-assistive-technology) will present all, or only parts of, the changed region based on the change notifications defined by the [`aria-relevant`](https://www.w3.org/TR/wai-aria-1.1/#aria-relevant) attribute.\"}},{name:\"aria-autocomplete\",valueSet:\"autocomplete\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-autocomplete\"}],description:{kind:\"markdown\",value:\"Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made.\"}},{name:\"aria-busy\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-busy\"}],description:{kind:\"markdown\",value:\"Indicates an element is being modified and that assistive technologies _MAY_ want to wait until the modifications are complete before exposing them to the user.\"}},{name:\"aria-checked\",valueSet:\"tristate\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-checked\"}],description:{kind:\"markdown\",value:'Indicates the current \"checked\" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of checkboxes, radio buttons, and other [widgets](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-pressed`](https://www.w3.org/TR/wai-aria-1.1/#aria-pressed) and [`aria-selected`](https://www.w3.org/TR/wai-aria-1.1/#aria-selected).'}},{name:\"aria-colcount\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-colcount\"}],description:{kind:\"markdown\",value:\"Defines the total number of columns in a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-colindex).\"}},{name:\"aria-colindex\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-colindex\"}],description:{kind:\"markdown\",value:\"Defines an [element's](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) column index or position with respect to the total number of columns within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colcount`](https://www.w3.org/TR/wai-aria-1.1/#aria-colcount) and [`aria-colspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-colspan).\"}},{name:\"aria-colspan\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-colspan\"}],description:{kind:\"markdown\",value:\"Defines the number of columns spanned by a cell or gridcell within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-colindex) and [`aria-rowspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan).\"}},{name:\"aria-controls\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-controls\"}],description:{kind:\"markdown\",value:\"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) whose contents or presence are controlled by the current element. See related [`aria-owns`](https://www.w3.org/TR/wai-aria-1.1/#aria-owns).\"}},{name:\"aria-current\",valueSet:\"current\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-current\"}],description:{kind:\"markdown\",value:\"Indicates the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that represents the current item within a container or set of related elements.\"}},{name:\"aria-describedby\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-describedby\"}],description:{kind:\"markdown\",value:\"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) that describes the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-labelledby`](https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby).\"}},{name:\"aria-disabled\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-disabled\"}],description:{kind:\"markdown\",value:\"Indicates that the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is [perceivable](https://www.w3.org/TR/wai-aria-1.1/#dfn-perceivable) but disabled, so it is not editable or otherwise [operable](https://www.w3.org/TR/wai-aria-1.1/#dfn-operable). See related [`aria-hidden`](https://www.w3.org/TR/wai-aria-1.1/#aria-hidden) and [`aria-readonly`](https://www.w3.org/TR/wai-aria-1.1/#aria-readonly).\"}},{name:\"aria-dropeffect\",valueSet:\"dropeffect\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-dropeffect\"}],description:{kind:\"markdown\",value:\"\\\\[Deprecated in ARIA 1.1\\\\] Indicates what functions can be performed when a dragged object is released on the drop target.\"}},{name:\"aria-errormessage\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-errormessage\"}],description:{kind:\"markdown\",value:\"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that provides an error message for the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-invalid`](https://www.w3.org/TR/wai-aria-1.1/#aria-invalid) and [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby).\"}},{name:\"aria-expanded\",valueSet:\"u\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-expanded\"}],description:{kind:\"markdown\",value:\"Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.\"}},{name:\"aria-flowto\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-flowto\"}],description:{kind:\"markdown\",value:\"Identifies the next [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.\"}},{name:\"aria-grabbed\",valueSet:\"u\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-grabbed\"}],description:{kind:\"markdown\",value:`\\\\[Deprecated in ARIA 1.1\\\\] Indicates an element's \"grabbed\" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) in a drag-and-drop operation.`}},{name:\"aria-haspopup\",valueSet:\"haspopup\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup\"}],description:{kind:\"markdown\",value:\"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element).\"}},{name:\"aria-hidden\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-hidden\"}],description:{kind:\"markdown\",value:\"Indicates whether the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is exposed to an accessibility API. See related [`aria-disabled`](https://www.w3.org/TR/wai-aria-1.1/#aria-disabled).\"}},{name:\"aria-invalid\",valueSet:\"invalid\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-invalid\"}],description:{kind:\"markdown\",value:\"Indicates the entered value does not conform to the format expected by the application. See related [`aria-errormessage`](https://www.w3.org/TR/wai-aria-1.1/#aria-errormessage).\"}},{name:\"aria-label\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-label\"}],description:{kind:\"markdown\",value:\"Defines a string value that labels the current element. See related [`aria-labelledby`](https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby).\"}},{name:\"aria-labelledby\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby\"}],description:{kind:\"markdown\",value:\"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) that labels the current element. See related [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby).\"}},{name:\"aria-level\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-level\"}],description:{kind:\"markdown\",value:\"Defines the hierarchical level of an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) within a structure.\"}},{name:\"aria-live\",valueSet:\"live\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-live\"}],description:{kind:\"markdown\",value:\"Indicates that an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) will be updated, and describes the types of updates the [user agents](https://www.w3.org/TR/wai-aria-1.1/#dfn-user-agent), [assistive technologies](https://www.w3.org/TR/wai-aria-1.1/#dfn-assistive-technology), and user can expect from the [live region](https://www.w3.org/TR/wai-aria-1.1/#dfn-live-region).\"}},{name:\"aria-modal\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-modal\"}],description:{kind:\"markdown\",value:\"Indicates whether an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is modal when displayed.\"}},{name:\"aria-multiline\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-multiline\"}],description:{kind:\"markdown\",value:\"Indicates whether a text box accepts multiple lines of input or only a single line.\"}},{name:\"aria-multiselectable\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-multiselectable\"}],description:{kind:\"markdown\",value:\"Indicates that the user may select more than one item from the current selectable descendants.\"}},{name:\"aria-orientation\",valueSet:\"orientation\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-orientation\"}],description:{kind:\"markdown\",value:\"Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.\"}},{name:\"aria-owns\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-owns\"}],description:{kind:\"markdown\",value:\"Identifies an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) in order to define a visual, functional, or contextual parent/child [relationship](https://www.w3.org/TR/wai-aria-1.1/#dfn-relationship) between DOM elements where the DOM hierarchy cannot be used to represent the relationship. See related [`aria-controls`](https://www.w3.org/TR/wai-aria-1.1/#aria-controls).\"}},{name:\"aria-placeholder\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-placeholder\"}],description:{kind:\"markdown\",value:\"Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.\"}},{name:\"aria-posinset\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-posinset\"}],description:{kind:\"markdown\",value:\"Defines an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element)'s number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related [`aria-setsize`](https://www.w3.org/TR/wai-aria-1.1/#aria-setsize).\"}},{name:\"aria-pressed\",valueSet:\"tristate\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-pressed\"}],description:{kind:\"markdown\",value:'Indicates the current \"pressed\" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of toggle buttons. See related [`aria-checked`](https://www.w3.org/TR/wai-aria-1.1/#aria-checked) and [`aria-selected`](https://www.w3.org/TR/wai-aria-1.1/#aria-selected).'}},{name:\"aria-readonly\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-readonly\"}],description:{kind:\"markdown\",value:\"Indicates that the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is not editable, but is otherwise [operable](https://www.w3.org/TR/wai-aria-1.1/#dfn-operable). See related [`aria-disabled`](https://www.w3.org/TR/wai-aria-1.1/#aria-disabled).\"}},{name:\"aria-relevant\",valueSet:\"relevant\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-relevant\"}],description:{kind:\"markdown\",value:\"Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See related [`aria-atomic`](https://www.w3.org/TR/wai-aria-1.1/#aria-atomic).\"}},{name:\"aria-required\",valueSet:\"b\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-required\"}],description:{kind:\"markdown\",value:\"Indicates that user input is required on the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) before a form may be submitted.\"}},{name:\"aria-roledescription\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-roledescription\"}],description:{kind:\"markdown\",value:\"Defines a human-readable, author-localized description for the [role](https://www.w3.org/TR/wai-aria-1.1/#dfn-role) of an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element).\"}},{name:\"aria-rowcount\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-rowcount\"}],description:{kind:\"markdown\",value:\"Defines the total number of rows in a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex).\"}},{name:\"aria-rowindex\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex\"}],description:{kind:\"markdown\",value:\"Defines an [element's](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) row index or position with respect to the total number of rows within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowcount`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowcount) and [`aria-rowspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan).\"}},{name:\"aria-rowspan\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan\"}],description:{kind:\"markdown\",value:\"Defines the number of rows spanned by a cell or gridcell within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex) and [`aria-colspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-colspan).\"}},{name:\"aria-selected\",valueSet:\"u\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-selected\"}],description:{kind:\"markdown\",value:'Indicates the current \"selected\" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of various [widgets](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-checked`](https://www.w3.org/TR/wai-aria-1.1/#aria-checked) and [`aria-pressed`](https://www.w3.org/TR/wai-aria-1.1/#aria-pressed).'}},{name:\"aria-setsize\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-setsize\"}],description:{kind:\"markdown\",value:\"Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related [`aria-posinset`](https://www.w3.org/TR/wai-aria-1.1/#aria-posinset).\"}},{name:\"aria-sort\",valueSet:\"sort\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-sort\"}],description:{kind:\"markdown\",value:\"Indicates if items in a table or grid are sorted in ascending or descending order.\"}},{name:\"aria-valuemax\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-valuemax\"}],description:{kind:\"markdown\",value:\"Defines the maximum allowed value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget).\"}},{name:\"aria-valuemin\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-valuemin\"}],description:{kind:\"markdown\",value:\"Defines the minimum allowed value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget).\"}},{name:\"aria-valuenow\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-valuenow\"}],description:{kind:\"markdown\",value:\"Defines the current value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-valuetext`](https://www.w3.org/TR/wai-aria-1.1/#aria-valuetext).\"}},{name:\"aria-valuetext\",references:[{name:\"WAI-ARIA Reference\",url:\"https://www.w3.org/TR/wai-aria-1.1/#aria-valuetext\"}],description:{kind:\"markdown\",value:\"Defines the human readable text alternative of [`aria-valuenow`](https://www.w3.org/TR/wai-aria-1.1/#aria-valuenow) for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget).\"}},{name:\"aria-details\",description:{kind:\"markdown\",value:\"Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that provides a detailed, extended description for the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby).\"}},{name:\"aria-keyshortcuts\",description:{kind:\"markdown\",value:\"Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.\"}}],valueSets:[{name:\"b\",values:[{name:\"true\"},{name:\"false\"}]},{name:\"u\",values:[{name:\"true\"},{name:\"false\"},{name:\"undefined\"}]},{name:\"o\",values:[{name:\"on\"},{name:\"off\"}]},{name:\"y\",values:[{name:\"yes\"},{name:\"no\"}]},{name:\"w\",values:[{name:\"soft\"},{name:\"hard\"}]},{name:\"d\",values:[{name:\"ltr\"},{name:\"rtl\"},{name:\"auto\"}]},{name:\"m\",values:[{name:\"get\",description:{kind:\"markdown\",value:\"Corresponds to the HTTP [GET method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3); form data are appended to the `action` attribute URI with a '?' as separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.\"}},{name:\"post\",description:{kind:\"markdown\",value:\"Corresponds to the HTTP [POST method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5); form data are included in the body of the form and sent to the server.\"}},{name:\"dialog\",description:{kind:\"markdown\",value:\"Use when the form is inside a [`<dialog>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element to close the dialog when submitted.\"}}]},{name:\"fm\",values:[{name:\"get\"},{name:\"post\"}]},{name:\"s\",values:[{name:\"row\"},{name:\"col\"},{name:\"rowgroup\"},{name:\"colgroup\"}]},{name:\"t\",values:[{name:\"hidden\"},{name:\"text\"},{name:\"search\"},{name:\"tel\"},{name:\"url\"},{name:\"email\"},{name:\"password\"},{name:\"datetime\"},{name:\"date\"},{name:\"month\"},{name:\"week\"},{name:\"time\"},{name:\"datetime-local\"},{name:\"number\"},{name:\"range\"},{name:\"color\"},{name:\"checkbox\"},{name:\"radio\"},{name:\"file\"},{name:\"submit\"},{name:\"image\"},{name:\"reset\"},{name:\"button\"}]},{name:\"im\",values:[{name:\"verbatim\"},{name:\"latin\"},{name:\"latin-name\"},{name:\"latin-prose\"},{name:\"full-width-latin\"},{name:\"kana\"},{name:\"kana-name\"},{name:\"katakana\"},{name:\"numeric\"},{name:\"tel\"},{name:\"email\"},{name:\"url\"}]},{name:\"bt\",values:[{name:\"button\"},{name:\"submit\"},{name:\"reset\"},{name:\"menu\"}]},{name:\"lt\",values:[{name:\"1\"},{name:\"a\"},{name:\"A\"},{name:\"i\"},{name:\"I\"}]},{name:\"mt\",values:[{name:\"context\"},{name:\"toolbar\"}]},{name:\"mit\",values:[{name:\"command\"},{name:\"checkbox\"},{name:\"radio\"}]},{name:\"et\",values:[{name:\"application/x-www-form-urlencoded\"},{name:\"multipart/form-data\"},{name:\"text/plain\"}]},{name:\"tk\",values:[{name:\"subtitles\"},{name:\"captions\"},{name:\"descriptions\"},{name:\"chapters\"},{name:\"metadata\"}]},{name:\"pl\",values:[{name:\"none\"},{name:\"metadata\"},{name:\"auto\"}]},{name:\"sh\",values:[{name:\"circle\"},{name:\"default\"},{name:\"poly\"},{name:\"rect\"}]},{name:\"xo\",values:[{name:\"anonymous\"},{name:\"use-credentials\"}]},{name:\"target\",values:[{name:\"_self\"},{name:\"_blank\"},{name:\"_parent\"},{name:\"_top\"}]},{name:\"sb\",values:[{name:\"allow-forms\"},{name:\"allow-modals\"},{name:\"allow-pointer-lock\"},{name:\"allow-popups\"},{name:\"allow-popups-to-escape-sandbox\"},{name:\"allow-same-origin\"},{name:\"allow-scripts\"},{name:\"allow-top-navigation\"}]},{name:\"tristate\",values:[{name:\"true\"},{name:\"false\"},{name:\"mixed\"},{name:\"undefined\"}]},{name:\"inputautocomplete\",values:[{name:\"additional-name\"},{name:\"address-level1\"},{name:\"address-level2\"},{name:\"address-level3\"},{name:\"address-level4\"},{name:\"address-line1\"},{name:\"address-line2\"},{name:\"address-line3\"},{name:\"bday\"},{name:\"bday-year\"},{name:\"bday-day\"},{name:\"bday-month\"},{name:\"billing\"},{name:\"cc-additional-name\"},{name:\"cc-csc\"},{name:\"cc-exp\"},{name:\"cc-exp-month\"},{name:\"cc-exp-year\"},{name:\"cc-family-name\"},{name:\"cc-given-name\"},{name:\"cc-name\"},{name:\"cc-number\"},{name:\"cc-type\"},{name:\"country\"},{name:\"country-name\"},{name:\"current-password\"},{name:\"email\"},{name:\"family-name\"},{name:\"fax\"},{name:\"given-name\"},{name:\"home\"},{name:\"honorific-prefix\"},{name:\"honorific-suffix\"},{name:\"impp\"},{name:\"language\"},{name:\"mobile\"},{name:\"name\"},{name:\"new-password\"},{name:\"nickname\"},{name:\"off\"},{name:\"on\"},{name:\"organization\"},{name:\"organization-title\"},{name:\"pager\"},{name:\"photo\"},{name:\"postal-code\"},{name:\"sex\"},{name:\"shipping\"},{name:\"street-address\"},{name:\"tel-area-code\"},{name:\"tel\"},{name:\"tel-country-code\"},{name:\"tel-extension\"},{name:\"tel-local\"},{name:\"tel-local-prefix\"},{name:\"tel-local-suffix\"},{name:\"tel-national\"},{name:\"transaction-amount\"},{name:\"transaction-currency\"},{name:\"url\"},{name:\"username\"},{name:\"work\"}]},{name:\"autocomplete\",values:[{name:\"inline\"},{name:\"list\"},{name:\"both\"},{name:\"none\"}]},{name:\"current\",values:[{name:\"page\"},{name:\"step\"},{name:\"location\"},{name:\"date\"},{name:\"time\"},{name:\"true\"},{name:\"false\"}]},{name:\"dropeffect\",values:[{name:\"copy\"},{name:\"move\"},{name:\"link\"},{name:\"execute\"},{name:\"popup\"},{name:\"none\"}]},{name:\"invalid\",values:[{name:\"grammar\"},{name:\"false\"},{name:\"spelling\"},{name:\"true\"}]},{name:\"live\",values:[{name:\"off\"},{name:\"polite\"},{name:\"assertive\"}]},{name:\"orientation\",values:[{name:\"vertical\"},{name:\"horizontal\"},{name:\"undefined\"}]},{name:\"relevant\",values:[{name:\"additions\"},{name:\"removals\"},{name:\"text\"},{name:\"all\"},{name:\"additions text\"}]},{name:\"sort\",values:[{name:\"ascending\"},{name:\"descending\"},{name:\"none\"},{name:\"other\"}]},{name:\"roles\",values:[{name:\"alert\"},{name:\"alertdialog\"},{name:\"button\"},{name:\"checkbox\"},{name:\"dialog\"},{name:\"gridcell\"},{name:\"link\"},{name:\"log\"},{name:\"marquee\"},{name:\"menuitem\"},{name:\"menuitemcheckbox\"},{name:\"menuitemradio\"},{name:\"option\"},{name:\"progressbar\"},{name:\"radio\"},{name:\"scrollbar\"},{name:\"searchbox\"},{name:\"slider\"},{name:\"spinbutton\"},{name:\"status\"},{name:\"switch\"},{name:\"tab\"},{name:\"tabpanel\"},{name:\"textbox\"},{name:\"timer\"},{name:\"tooltip\"},{name:\"treeitem\"},{name:\"combobox\"},{name:\"grid\"},{name:\"listbox\"},{name:\"menu\"},{name:\"menubar\"},{name:\"radiogroup\"},{name:\"tablist\"},{name:\"tree\"},{name:\"treegrid\"},{name:\"application\"},{name:\"article\"},{name:\"cell\"},{name:\"columnheader\"},{name:\"definition\"},{name:\"directory\"},{name:\"document\"},{name:\"feed\"},{name:\"figure\"},{name:\"group\"},{name:\"heading\"},{name:\"img\"},{name:\"list\"},{name:\"listitem\"},{name:\"math\"},{name:\"none\"},{name:\"note\"},{name:\"presentation\"},{name:\"region\"},{name:\"row\"},{name:\"rowgroup\"},{name:\"rowheader\"},{name:\"separator\"},{name:\"table\"},{name:\"term\"},{name:\"text\"},{name:\"toolbar\"},{name:\"banner\"},{name:\"complementary\"},{name:\"contentinfo\"},{name:\"form\"},{name:\"main\"},{name:\"navigation\"},{name:\"region\"},{name:\"search\"},{name:\"doc-abstract\"},{name:\"doc-acknowledgments\"},{name:\"doc-afterword\"},{name:\"doc-appendix\"},{name:\"doc-backlink\"},{name:\"doc-biblioentry\"},{name:\"doc-bibliography\"},{name:\"doc-biblioref\"},{name:\"doc-chapter\"},{name:\"doc-colophon\"},{name:\"doc-conclusion\"},{name:\"doc-cover\"},{name:\"doc-credit\"},{name:\"doc-credits\"},{name:\"doc-dedication\"},{name:\"doc-endnote\"},{name:\"doc-endnotes\"},{name:\"doc-epigraph\"},{name:\"doc-epilogue\"},{name:\"doc-errata\"},{name:\"doc-example\"},{name:\"doc-footnote\"},{name:\"doc-foreword\"},{name:\"doc-glossary\"},{name:\"doc-glossref\"},{name:\"doc-index\"},{name:\"doc-introduction\"},{name:\"doc-noteref\"},{name:\"doc-notice\"},{name:\"doc-pagebreak\"},{name:\"doc-pagelist\"},{name:\"doc-part\"},{name:\"doc-preface\"},{name:\"doc-prologue\"},{name:\"doc-pullquote\"},{name:\"doc-qna\"},{name:\"doc-subtitle\"},{name:\"doc-tip\"},{name:\"doc-toc\"}]},{name:\"metanames\",values:[{name:\"application-name\"},{name:\"author\"},{name:\"description\"},{name:\"format-detection\"},{name:\"generator\"},{name:\"keywords\"},{name:\"publisher\"},{name:\"referrer\"},{name:\"robots\"},{name:\"theme-color\"},{name:\"viewport\"}]},{name:\"haspopup\",values:[{name:\"false\",description:{kind:\"markdown\",value:\"(default) Indicates the element does not have a popup.\"}},{name:\"true\",description:{kind:\"markdown\",value:\"Indicates the popup is a menu.\"}},{name:\"menu\",description:{kind:\"markdown\",value:\"Indicates the popup is a menu.\"}},{name:\"listbox\",description:{kind:\"markdown\",value:\"Indicates the popup is a listbox.\"}},{name:\"tree\",description:{kind:\"markdown\",value:\"Indicates the popup is a tree.\"}},{name:\"grid\",description:{kind:\"markdown\",value:\"Indicates the popup is a grid.\"}},{name:\"dialog\",description:{kind:\"markdown\",value:\"Indicates the popup is a dialog.\"}}]},{name:\"decoding\",values:[{name:\"sync\"},{name:\"async\"},{name:\"auto\"}]},{name:\"loading\",values:[{name:\"eager\",description:{kind:\"markdown\",value:\"Loads the image immediately, regardless of whether or not the image is currently within the visible viewport (this is the default value).\"}},{name:\"lazy\",description:{kind:\"markdown\",value:\"Defers loading the image until it reaches a calculated distance from the viewport, as defined by the browser. The intent is to avoid the network and storage bandwidth needed to handle the image until it's reasonably certain that it will be needed. This generally improves the performance of the content in most typical use cases.\"}}]},{name:\"referrerpolicy\",values:[{name:\"no-referrer\"},{name:\"no-referrer-when-downgrade\"},{name:\"origin\"},{name:\"origin-when-cross-origin\"},{name:\"same-origin\"},{name:\"strict-origin\"},{name:\"strict-origin-when-cross-origin\"},{name:\"unsafe-url\"}]}]};var Be=class{constructor(n){this.dataProviders=[],this.setDataProviders(n.useDefaultDataProvider!==!1,n.customDataProviders||[])}setDataProviders(n,o){this.dataProviders=[],n&&this.dataProviders.push(new pe(\"html5\",Tt)),this.dataProviders.push(...o)}getDataProviders(){return this.dataProviders}isVoidElement(n,o){return!!n&&ln(o,n.toLowerCase(),(a,e)=>a.localeCompare(e))>=0}getVoidElements(n){let o=Array.isArray(n)?n:this.getDataProviders().filter(e=>e.isApplicable(n)),a=[];return o.forEach(e=>{e.provideTags().filter(r=>r.void).forEach(r=>a.push(r.name))}),a.sort()}isPathAttribute(n,o){if(o===\"src\"||o===\"href\")return!0;let a=Si[n];return a?typeof a==\"string\"?a===o:a.indexOf(o)!==-1:!1}},Si={a:\"href\",area:\"href\",body:\"background\",blockquote:\"cite\",del:\"cite\",form:\"action\",frame:[\"src\",\"longdesc\"],img:[\"src\",\"longdesc\"],ins:\"cite\",link:\"href\",object:\"data\",q:\"cite\",script:\"src\",audio:\"src\",button:\"formaction\",command:\"icon\",embed:\"src\",html:\"manifest\",input:[\"src\",\"formaction\"],source:\"src\",track:\"src\",video:[\"src\",\"poster\"]};var Ai={};function Ln(t=Ai){let n=new Be(t),o=new Ie(t,n),a=new ze(t,n),e=new Me(n),r=new Oe(e),u=new Ue(n),c=new We(n);return{setDataProviders:n.setDataProviders.bind(n),createScanner:V,parseHTMLDocument:e.parseDocument.bind(e),doComplete:a.doComplete.bind(a),doComplete2:a.doComplete2.bind(a),setCompletionParticipants:a.setCompletionParticipants.bind(a),doHover:o.doHover.bind(o),format:_n,findDocumentHighlights:An,findDocumentLinks:c.findDocumentLinks.bind(c),findDocumentSymbols:xn,findDocumentSymbols2:vt,getFoldingRanges:u.getFoldingRanges.bind(u),getSelectionRanges:r.getSelectionRanges.bind(r),doQuoteComplete:a.doQuoteComplete.bind(a),doTagComplete:a.doTagComplete.bind(a),doRename:En,findMatchingTagPosition:Cn,findOnTypeRenameRanges:yt,findLinkedEditingRanges:yt}}function Mn(t,n){return new pe(t,n)}var Ne=class{constructor(n,o){this._ctx=n,this._languageSettings=o.languageSettings,this._languageId=o.languageId;let a=this._languageSettings.data,e=a?.useDefaultDataProvider,r=[];if(a?.dataProviders)for(let u in a.dataProviders)r.push(Mn(u,a.dataProviders[u]));this._languageService=Ln({useDefaultDataProvider:e,customDataProviders:r})}async doComplete(n,o){let a=this._getTextDocument(n);if(!a)return null;let e=this._languageService.parseHTMLDocument(a);return Promise.resolve(this._languageService.doComplete(a,o,e,this._languageSettings&&this._languageSettings.suggest))}async format(n,o,a){let e=this._getTextDocument(n);if(!e)return[];let r={...this._languageSettings.format,...a},u=this._languageService.format(e,o,r);return Promise.resolve(u)}async doHover(n,o){let a=this._getTextDocument(n);if(!a)return null;let e=this._languageService.parseHTMLDocument(a),r=this._languageService.doHover(a,o,e);return Promise.resolve(r)}async findDocumentHighlights(n,o){let a=this._getTextDocument(n);if(!a)return[];let e=this._languageService.parseHTMLDocument(a),r=this._languageService.findDocumentHighlights(a,o,e);return Promise.resolve(r)}async findDocumentLinks(n){let o=this._getTextDocument(n);if(!o)return[];let a=this._languageService.findDocumentLinks(o,null);return Promise.resolve(a)}async findDocumentSymbols(n){let o=this._getTextDocument(n);if(!o)return[];let a=this._languageService.parseHTMLDocument(o),e=this._languageService.findDocumentSymbols(o,a);return Promise.resolve(e)}async getFoldingRanges(n,o){let a=this._getTextDocument(n);if(!a)return[];let e=this._languageService.getFoldingRanges(a,o);return Promise.resolve(e)}async getSelectionRanges(n,o){let a=this._getTextDocument(n);if(!a)return[];let e=this._languageService.getSelectionRanges(a,o);return Promise.resolve(e)}async doRename(n,o,a){let e=this._getTextDocument(n);if(!e)return null;let r=this._languageService.parseHTMLDocument(e),u=this._languageService.doRename(e,o,a,r);return Promise.resolve(u)}_getTextDocument(n){let o=this._ctx.getMirrorModels();for(let a of o)if(a.uri.toString()===n)return ve.create(n,this._languageId,a.version,a.getValue());return null}};function Di(t,n){return new Ne(t,n)}return Un(Ei);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/language/json/jsonMode.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/json/jsonMode\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var Qn=Object.create;var Z=Object.defineProperty;var Yn=Object.getOwnPropertyDescriptor;var Gn=Object.getOwnPropertyNames;var Zn=Object.getPrototypeOf,Cn=Object.prototype.hasOwnProperty;var et=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(r,i)=>(typeof require<\"u\"?require:r)[i]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var nt=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),tt=(e,r)=>{for(var i in r)Z(e,i,{get:r[i],enumerable:!0})},G=(e,r,i,t)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let n of Gn(r))!Cn.call(e,n)&&n!==i&&Z(e,n,{get:()=>r[n],enumerable:!(t=Yn(r,n))||t.enumerable});return e},Re=(e,r,i)=>(G(e,r,\"default\"),i&&G(i,r,\"default\")),We=(e,r,i)=>(i=e!=null?Qn(Zn(e)):{},G(r||!e||!e.__esModule?Z(i,\"default\",{value:e,enumerable:!0}):i,e)),rt=e=>G(Z({},\"__esModule\",{value:!0}),e);var Ne=nt((zt,Se)=>{var it=We(et(\"vs/editor/editor.api\"));Se.exports=it});var Ht={};tt(Ht,{CompletionAdapter:()=>H,DefinitionAdapter:()=>Ie,DiagnosticsAdapter:()=>B,DocumentColorAdapter:()=>X,DocumentFormattingEditProvider:()=>$,DocumentHighlightAdapter:()=>xe,DocumentLinkAdapter:()=>Ee,DocumentRangeFormattingEditProvider:()=>K,DocumentSymbolAdapter:()=>z,FoldingRangeAdapter:()=>q,HoverAdapter:()=>J,ReferenceAdapter:()=>we,RenameAdapter:()=>_e,SelectionRangeAdapter:()=>Q,WorkerManager:()=>R,fromPosition:()=>L,fromRange:()=>Le,getWorker:()=>Ut,setupMode:()=>Vt,toRange:()=>v,toTextEdit:()=>M});var u={};Re(u,We(Ne()));var ot=2*60*1e3,R=class{constructor(r){this._defaults=r,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>ot&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:\"vs/language/json/jsonWorker\",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...r){let i;return this._getClient().then(t=>{i=t}).then(t=>{if(this._worker)return this._worker.withSyncedResources(r)}).then(t=>i)}};var De;(function(e){function r(i){return typeof i==\"string\"}e.is=r})(De||(De={}));var le;(function(e){function r(i){return typeof i==\"string\"}e.is=r})(le||(le={}));var Fe;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function r(i){return typeof i==\"number\"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=r})(Fe||(Fe={}));var C;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function r(i){return typeof i==\"number\"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=r})(C||(C={}));var E;(function(e){function r(t,n){return t===Number.MAX_VALUE&&(t=C.MAX_VALUE),n===Number.MAX_VALUE&&(n=C.MAX_VALUE),{line:t,character:n}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&a.uinteger(n.line)&&a.uinteger(n.character)}e.is=i})(E||(E={}));var h;(function(e){function r(t,n,o,s){if(a.uinteger(t)&&a.uinteger(n)&&a.uinteger(o)&&a.uinteger(s))return{start:E.create(t,n),end:E.create(o,s)};if(E.is(t)&&E.is(n))return{start:t,end:n};throw new Error(`Range#create called with invalid arguments[${t}, ${n}, ${o}, ${s}]`)}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&E.is(n.start)&&E.is(n.end)}e.is=i})(h||(h={}));var ee;(function(e){function r(t,n){return{uri:t,range:n}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&h.is(n.range)&&(a.string(n.uri)||a.undefined(n.uri))}e.is=i})(ee||(ee={}));var Me;(function(e){function r(t,n,o,s){return{targetUri:t,targetRange:n,targetSelectionRange:o,originSelectionRange:s}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&h.is(n.targetRange)&&a.string(n.targetUri)&&h.is(n.targetSelectionRange)&&(h.is(n.originSelectionRange)||a.undefined(n.originSelectionRange))}e.is=i})(Me||(Me={}));var ue;(function(e){function r(t,n,o,s){return{red:t,green:n,blue:o,alpha:s}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&a.numberRange(n.red,0,1)&&a.numberRange(n.green,0,1)&&a.numberRange(n.blue,0,1)&&a.numberRange(n.alpha,0,1)}e.is=i})(ue||(ue={}));var je;(function(e){function r(t,n){return{range:t,color:n}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&h.is(n.range)&&ue.is(n.color)}e.is=i})(je||(je={}));var Ue;(function(e){function r(t,n,o){return{label:t,textEdit:n,additionalTextEdits:o}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&a.string(n.label)&&(a.undefined(n.textEdit)||N.is(n))&&(a.undefined(n.additionalTextEdits)||a.typedArray(n.additionalTextEdits,N.is))}e.is=i})(Ue||(Ue={}));var W;(function(e){e.Comment=\"comment\",e.Imports=\"imports\",e.Region=\"region\"})(W||(W={}));var Ve;(function(e){function r(t,n,o,s,l,f){let m={startLine:t,endLine:n};return a.defined(o)&&(m.startCharacter=o),a.defined(s)&&(m.endCharacter=s),a.defined(l)&&(m.kind=l),a.defined(f)&&(m.collapsedText=f),m}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&a.uinteger(n.startLine)&&a.uinteger(n.startLine)&&(a.undefined(n.startCharacter)||a.uinteger(n.startCharacter))&&(a.undefined(n.endCharacter)||a.uinteger(n.endCharacter))&&(a.undefined(n.kind)||a.string(n.kind))}e.is=i})(Ve||(Ve={}));var ce;(function(e){function r(t,n){return{location:t,message:n}}e.create=r;function i(t){let n=t;return a.defined(n)&&ee.is(n.location)&&a.string(n.message)}e.is=i})(ce||(ce={}));var O;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(O||(O={}));var Be;(function(e){e.Unnecessary=1,e.Deprecated=2})(Be||(Be={}));var He;(function(e){function r(i){let t=i;return a.objectLiteral(t)&&a.string(t.href)}e.is=r})(He||(He={}));var ne;(function(e){function r(t,n,o,s,l,f){let m={range:t,message:n};return a.defined(o)&&(m.severity=o),a.defined(s)&&(m.code=s),a.defined(l)&&(m.source=l),a.defined(f)&&(m.relatedInformation=f),m}e.create=r;function i(t){var n;let o=t;return a.defined(o)&&h.is(o.range)&&a.string(o.message)&&(a.number(o.severity)||a.undefined(o.severity))&&(a.integer(o.code)||a.string(o.code)||a.undefined(o.code))&&(a.undefined(o.codeDescription)||a.string((n=o.codeDescription)===null||n===void 0?void 0:n.href))&&(a.string(o.source)||a.undefined(o.source))&&(a.undefined(o.relatedInformation)||a.typedArray(o.relatedInformation,ce.is))}e.is=i})(ne||(ne={}));var S;(function(e){function r(t,n,...o){let s={title:t,command:n};return a.defined(o)&&o.length>0&&(s.arguments=o),s}e.create=r;function i(t){let n=t;return a.defined(n)&&a.string(n.title)&&a.string(n.command)}e.is=i})(S||(S={}));var N;(function(e){function r(o,s){return{range:o,newText:s}}e.replace=r;function i(o,s){return{range:{start:o,end:o},newText:s}}e.insert=i;function t(o){return{range:o,newText:\"\"}}e.del=t;function n(o){let s=o;return a.objectLiteral(s)&&a.string(s.newText)&&h.is(s.range)}e.is=n})(N||(N={}));var fe;(function(e){function r(t,n,o){let s={label:t};return n!==void 0&&(s.needsConfirmation=n),o!==void 0&&(s.description=o),s}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&a.string(n.label)&&(a.boolean(n.needsConfirmation)||n.needsConfirmation===void 0)&&(a.string(n.description)||n.description===void 0)}e.is=i})(fe||(fe={}));var D;(function(e){function r(i){let t=i;return a.string(t)}e.is=r})(D||(D={}));var Je;(function(e){function r(o,s,l){return{range:o,newText:s,annotationId:l}}e.replace=r;function i(o,s,l){return{range:{start:o,end:o},newText:s,annotationId:l}}e.insert=i;function t(o,s){return{range:o,newText:\"\",annotationId:s}}e.del=t;function n(o){let s=o;return N.is(s)&&(fe.is(s.annotationId)||D.is(s.annotationId))}e.is=n})(Je||(Je={}));var de;(function(e){function r(t,n){return{textDocument:t,edits:n}}e.create=r;function i(t){let n=t;return a.defined(n)&&ke.is(n.textDocument)&&Array.isArray(n.edits)}e.is=i})(de||(de={}));var ge;(function(e){function r(t,n,o){let s={kind:\"create\",uri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(s.options=n),o!==void 0&&(s.annotationId=o),s}e.create=r;function i(t){let n=t;return n&&n.kind===\"create\"&&a.string(n.uri)&&(n.options===void 0||(n.options.overwrite===void 0||a.boolean(n.options.overwrite))&&(n.options.ignoreIfExists===void 0||a.boolean(n.options.ignoreIfExists)))&&(n.annotationId===void 0||D.is(n.annotationId))}e.is=i})(ge||(ge={}));var pe;(function(e){function r(t,n,o,s){let l={kind:\"rename\",oldUri:t,newUri:n};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(l.options=o),s!==void 0&&(l.annotationId=s),l}e.create=r;function i(t){let n=t;return n&&n.kind===\"rename\"&&a.string(n.oldUri)&&a.string(n.newUri)&&(n.options===void 0||(n.options.overwrite===void 0||a.boolean(n.options.overwrite))&&(n.options.ignoreIfExists===void 0||a.boolean(n.options.ignoreIfExists)))&&(n.annotationId===void 0||D.is(n.annotationId))}e.is=i})(pe||(pe={}));var me;(function(e){function r(t,n,o){let s={kind:\"delete\",uri:t};return n!==void 0&&(n.recursive!==void 0||n.ignoreIfNotExists!==void 0)&&(s.options=n),o!==void 0&&(s.annotationId=o),s}e.create=r;function i(t){let n=t;return n&&n.kind===\"delete\"&&a.string(n.uri)&&(n.options===void 0||(n.options.recursive===void 0||a.boolean(n.options.recursive))&&(n.options.ignoreIfNotExists===void 0||a.boolean(n.options.ignoreIfNotExists)))&&(n.annotationId===void 0||D.is(n.annotationId))}e.is=i})(me||(me={}));var he;(function(e){function r(i){let t=i;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(n=>a.string(n.kind)?ge.is(n)||pe.is(n)||me.is(n):de.is(n)))}e.is=r})(he||(he={}));var ze;(function(e){function r(t){return{uri:t}}e.create=r;function i(t){let n=t;return a.defined(n)&&a.string(n.uri)}e.is=i})(ze||(ze={}));var $e;(function(e){function r(t,n){return{uri:t,version:n}}e.create=r;function i(t){let n=t;return a.defined(n)&&a.string(n.uri)&&a.integer(n.version)}e.is=i})($e||($e={}));var ke;(function(e){function r(t,n){return{uri:t,version:n}}e.create=r;function i(t){let n=t;return a.defined(n)&&a.string(n.uri)&&(n.version===null||a.integer(n.version))}e.is=i})(ke||(ke={}));var Ke;(function(e){function r(t,n,o,s){return{uri:t,languageId:n,version:o,text:s}}e.create=r;function i(t){let n=t;return a.defined(n)&&a.string(n.uri)&&a.string(n.languageId)&&a.integer(n.version)&&a.string(n.text)}e.is=i})(Ke||(Ke={}));var be;(function(e){e.PlainText=\"plaintext\",e.Markdown=\"markdown\";function r(i){let t=i;return t===e.PlainText||t===e.Markdown}e.is=r})(be||(be={}));var V;(function(e){function r(i){let t=i;return a.objectLiteral(i)&&be.is(t.kind)&&a.string(t.value)}e.is=r})(V||(V={}));var k;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(k||(k={}));var te;(function(e){e.PlainText=1,e.Snippet=2})(te||(te={}));var Xe;(function(e){e.Deprecated=1})(Xe||(Xe={}));var qe;(function(e){function r(t,n,o){return{newText:t,insert:n,replace:o}}e.create=r;function i(t){let n=t;return n&&a.string(n.newText)&&h.is(n.insert)&&h.is(n.replace)}e.is=i})(qe||(qe={}));var Qe;(function(e){e.asIs=1,e.adjustIndentation=2})(Qe||(Qe={}));var Ye;(function(e){function r(i){let t=i;return t&&(a.string(t.detail)||t.detail===void 0)&&(a.string(t.description)||t.description===void 0)}e.is=r})(Ye||(Ye={}));var Ge;(function(e){function r(i){return{label:i}}e.create=r})(Ge||(Ge={}));var Ze;(function(e){function r(i,t){return{items:i||[],isIncomplete:!!t}}e.create=r})(Ze||(Ze={}));var re;(function(e){function r(t){return t.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}e.fromPlainText=r;function i(t){let n=t;return a.string(n)||a.objectLiteral(n)&&a.string(n.language)&&a.string(n.value)}e.is=i})(re||(re={}));var Ce;(function(e){function r(i){let t=i;return!!t&&a.objectLiteral(t)&&(V.is(t.contents)||re.is(t.contents)||a.typedArray(t.contents,re.is))&&(i.range===void 0||h.is(i.range))}e.is=r})(Ce||(Ce={}));var en;(function(e){function r(i,t){return t?{label:i,documentation:t}:{label:i}}e.create=r})(en||(en={}));var nn;(function(e){function r(i,t,...n){let o={label:i};return a.defined(t)&&(o.documentation=t),a.defined(n)?o.parameters=n:o.parameters=[],o}e.create=r})(nn||(nn={}));var F;(function(e){e.Text=1,e.Read=2,e.Write=3})(F||(F={}));var tn;(function(e){function r(i,t){let n={range:i};return a.number(t)&&(n.kind=t),n}e.create=r})(tn||(tn={}));var b;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(b||(b={}));var rn;(function(e){e.Deprecated=1})(rn||(rn={}));var on;(function(e){function r(i,t,n,o,s){let l={name:i,kind:t,location:{uri:o,range:n}};return s&&(l.containerName=s),l}e.create=r})(on||(on={}));var sn;(function(e){function r(i,t,n,o){return o!==void 0?{name:i,kind:t,location:{uri:n,range:o}}:{name:i,kind:t,location:{uri:n}}}e.create=r})(sn||(sn={}));var an;(function(e){function r(t,n,o,s,l,f){let m={name:t,detail:n,kind:o,range:s,selectionRange:l};return f!==void 0&&(m.children=f),m}e.create=r;function i(t){let n=t;return n&&a.string(n.name)&&a.number(n.kind)&&h.is(n.range)&&h.is(n.selectionRange)&&(n.detail===void 0||a.string(n.detail))&&(n.deprecated===void 0||a.boolean(n.deprecated))&&(n.children===void 0||Array.isArray(n.children))&&(n.tags===void 0||Array.isArray(n.tags))}e.is=i})(an||(an={}));var ln;(function(e){e.Empty=\"\",e.QuickFix=\"quickfix\",e.Refactor=\"refactor\",e.RefactorExtract=\"refactor.extract\",e.RefactorInline=\"refactor.inline\",e.RefactorRewrite=\"refactor.rewrite\",e.Source=\"source\",e.SourceOrganizeImports=\"source.organizeImports\",e.SourceFixAll=\"source.fixAll\"})(ln||(ln={}));var ie;(function(e){e.Invoked=1,e.Automatic=2})(ie||(ie={}));var un;(function(e){function r(t,n,o){let s={diagnostics:t};return n!=null&&(s.only=n),o!=null&&(s.triggerKind=o),s}e.create=r;function i(t){let n=t;return a.defined(n)&&a.typedArray(n.diagnostics,ne.is)&&(n.only===void 0||a.typedArray(n.only,a.string))&&(n.triggerKind===void 0||n.triggerKind===ie.Invoked||n.triggerKind===ie.Automatic)}e.is=i})(un||(un={}));var cn;(function(e){function r(t,n,o){let s={title:t},l=!0;return typeof n==\"string\"?(l=!1,s.kind=n):S.is(n)?s.command=n:s.edit=n,l&&o!==void 0&&(s.kind=o),s}e.create=r;function i(t){let n=t;return n&&a.string(n.title)&&(n.diagnostics===void 0||a.typedArray(n.diagnostics,ne.is))&&(n.kind===void 0||a.string(n.kind))&&(n.edit!==void 0||n.command!==void 0)&&(n.command===void 0||S.is(n.command))&&(n.isPreferred===void 0||a.boolean(n.isPreferred))&&(n.edit===void 0||he.is(n.edit))}e.is=i})(cn||(cn={}));var fn;(function(e){function r(t,n){let o={range:t};return a.defined(n)&&(o.data=n),o}e.create=r;function i(t){let n=t;return a.defined(n)&&h.is(n.range)&&(a.undefined(n.command)||S.is(n.command))}e.is=i})(fn||(fn={}));var dn;(function(e){function r(t,n){return{tabSize:t,insertSpaces:n}}e.create=r;function i(t){let n=t;return a.defined(n)&&a.uinteger(n.tabSize)&&a.boolean(n.insertSpaces)}e.is=i})(dn||(dn={}));var gn;(function(e){function r(t,n,o){return{range:t,target:n,data:o}}e.create=r;function i(t){let n=t;return a.defined(n)&&h.is(n.range)&&(a.undefined(n.target)||a.string(n.target))}e.is=i})(gn||(gn={}));var pn;(function(e){function r(t,n){return{range:t,parent:n}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&h.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=i})(pn||(pn={}));var mn;(function(e){e.namespace=\"namespace\",e.type=\"type\",e.class=\"class\",e.enum=\"enum\",e.interface=\"interface\",e.struct=\"struct\",e.typeParameter=\"typeParameter\",e.parameter=\"parameter\",e.variable=\"variable\",e.property=\"property\",e.enumMember=\"enumMember\",e.event=\"event\",e.function=\"function\",e.method=\"method\",e.macro=\"macro\",e.keyword=\"keyword\",e.modifier=\"modifier\",e.comment=\"comment\",e.string=\"string\",e.number=\"number\",e.regexp=\"regexp\",e.operator=\"operator\",e.decorator=\"decorator\"})(mn||(mn={}));var hn;(function(e){e.declaration=\"declaration\",e.definition=\"definition\",e.readonly=\"readonly\",e.static=\"static\",e.deprecated=\"deprecated\",e.abstract=\"abstract\",e.async=\"async\",e.modification=\"modification\",e.documentation=\"documentation\",e.defaultLibrary=\"defaultLibrary\"})(hn||(hn={}));var kn;(function(e){function r(i){let t=i;return a.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==\"string\")&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==\"number\")}e.is=r})(kn||(kn={}));var bn;(function(e){function r(t,n){return{range:t,text:n}}e.create=r;function i(t){let n=t;return n!=null&&h.is(n.range)&&a.string(n.text)}e.is=i})(bn||(bn={}));var yn;(function(e){function r(t,n,o){return{range:t,variableName:n,caseSensitiveLookup:o}}e.create=r;function i(t){let n=t;return n!=null&&h.is(n.range)&&a.boolean(n.caseSensitiveLookup)&&(a.string(n.variableName)||n.variableName===void 0)}e.is=i})(yn||(yn={}));var Tn;(function(e){function r(t,n){return{range:t,expression:n}}e.create=r;function i(t){let n=t;return n!=null&&h.is(n.range)&&(a.string(n.expression)||n.expression===void 0)}e.is=i})(Tn||(Tn={}));var vn;(function(e){function r(t,n){return{frameId:t,stoppedLocation:n}}e.create=r;function i(t){let n=t;return a.defined(n)&&h.is(t.stoppedLocation)}e.is=i})(vn||(vn={}));var ye;(function(e){e.Type=1,e.Parameter=2;function r(i){return i===1||i===2}e.is=r})(ye||(ye={}));var Te;(function(e){function r(t){return{value:t}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&(n.tooltip===void 0||a.string(n.tooltip)||V.is(n.tooltip))&&(n.location===void 0||ee.is(n.location))&&(n.command===void 0||S.is(n.command))}e.is=i})(Te||(Te={}));var xn;(function(e){function r(t,n,o){let s={position:t,label:n};return o!==void 0&&(s.kind=o),s}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&E.is(n.position)&&(a.string(n.label)||a.typedArray(n.label,Te.is))&&(n.kind===void 0||ye.is(n.kind))&&n.textEdits===void 0||a.typedArray(n.textEdits,N.is)&&(n.tooltip===void 0||a.string(n.tooltip)||V.is(n.tooltip))&&(n.paddingLeft===void 0||a.boolean(n.paddingLeft))&&(n.paddingRight===void 0||a.boolean(n.paddingRight))}e.is=i})(xn||(xn={}));var In;(function(e){function r(i){return{kind:\"snippet\",value:i}}e.createSnippet=r})(In||(In={}));var wn;(function(e){function r(i,t,n,o){return{insertText:i,filterText:t,range:n,command:o}}e.create=r})(wn||(wn={}));var _n;(function(e){function r(i){return{items:i}}e.create=r})(_n||(_n={}));var En;(function(e){e.Invoked=0,e.Automatic=1})(En||(En={}));var Ln;(function(e){function r(i,t){return{range:i,text:t}}e.create=r})(Ln||(Ln={}));var An;(function(e){function r(i,t){return{triggerKind:i,selectedCompletionInfo:t}}e.create=r})(An||(An={}));var On;(function(e){function r(i){let t=i;return a.objectLiteral(t)&&le.is(t.uri)&&a.string(t.name)}e.is=r})(On||(On={}));var Pn;(function(e){function r(o,s,l,f){return new ve(o,s,l,f)}e.create=r;function i(o){let s=o;return!!(a.defined(s)&&a.string(s.uri)&&(a.undefined(s.languageId)||a.string(s.languageId))&&a.uinteger(s.lineCount)&&a.func(s.getText)&&a.func(s.positionAt)&&a.func(s.offsetAt))}e.is=i;function t(o,s){let l=o.getText(),f=n(s,(g,c)=>{let y=g.range.start.line-c.range.start.line;return y===0?g.range.start.character-c.range.start.character:y}),m=l.length;for(let g=f.length-1;g>=0;g--){let c=f[g],y=o.offsetAt(c.range.start),p=o.offsetAt(c.range.end);if(p<=m)l=l.substring(0,y)+c.newText+l.substring(p,l.length);else throw new Error(\"Overlapping edit\");m=y}return l}e.applyEdits=t;function n(o,s){if(o.length<=1)return o;let l=o.length/2|0,f=o.slice(0,l),m=o.slice(l);n(f,s),n(m,s);let g=0,c=0,y=0;for(;g<f.length&&c<m.length;)s(f[g],m[c])<=0?o[y++]=f[g++]:o[y++]=m[c++];for(;g<f.length;)o[y++]=f[g++];for(;c<m.length;)o[y++]=m[c++];return o}})(Pn||(Pn={}));var ve=class{constructor(r,i,t,n){this._uri=r,this._languageId=i,this._version=t,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(r){if(r){let i=this.offsetAt(r.start),t=this.offsetAt(r.end);return this._content.substring(i,t)}return this._content}update(r,i){this._content=r.text,this._version=i,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let r=[],i=this._content,t=!0;for(let n=0;n<i.length;n++){t&&(r.push(n),t=!1);let o=i.charAt(n);t=o===\"\\r\"||o===`\n`,o===\"\\r\"&&n+1<i.length&&i.charAt(n+1)===`\n`&&n++}t&&i.length>0&&r.push(i.length),this._lineOffsets=r}return this._lineOffsets}positionAt(r){r=Math.max(Math.min(r,this._content.length),0);let i=this.getLineOffsets(),t=0,n=i.length;if(n===0)return E.create(0,r);for(;t<n;){let s=Math.floor((t+n)/2);i[s]>r?n=s:t=s+1}let o=t-1;return E.create(o,r-i[o])}offsetAt(r){let i=this.getLineOffsets();if(r.line>=i.length)return this._content.length;if(r.line<0)return 0;let t=i[r.line],n=r.line+1<i.length?i[r.line+1]:this._content.length;return Math.max(Math.min(t+r.character,n),t)}get lineCount(){return this.getLineOffsets().length}},a;(function(e){let r=Object.prototype.toString;function i(p){return typeof p<\"u\"}e.defined=i;function t(p){return typeof p>\"u\"}e.undefined=t;function n(p){return p===!0||p===!1}e.boolean=n;function o(p){return r.call(p)===\"[object String]\"}e.string=o;function s(p){return r.call(p)===\"[object Number]\"}e.number=s;function l(p,A,ae){return r.call(p)===\"[object Number]\"&&A<=p&&p<=ae}e.numberRange=l;function f(p){return r.call(p)===\"[object Number]\"&&-2147483648<=p&&p<=2147483647}e.integer=f;function m(p){return r.call(p)===\"[object Number]\"&&0<=p&&p<=2147483647}e.uinteger=m;function g(p){return r.call(p)===\"[object Function]\"}e.func=g;function c(p){return p!==null&&typeof p==\"object\"}e.objectLiteral=c;function y(p,A){return Array.isArray(p)&&p.every(A)}e.typedArray=y})(a||(a={}));var B=class{constructor(r,i,t){this._languageId=r;this._worker=i;this._disposables=[];this._listener=Object.create(null);let n=s=>{let l=s.getLanguageId();if(l!==this._languageId)return;let f;this._listener[s.uri.toString()]=s.onDidChangeContent(()=>{window.clearTimeout(f),f=window.setTimeout(()=>this._doValidate(s.uri,l),500)}),this._doValidate(s.uri,l)},o=s=>{u.editor.setModelMarkers(s,this._languageId,[]);let l=s.uri.toString(),f=this._listener[l];f&&(f.dispose(),delete this._listener[l])};this._disposables.push(u.editor.onDidCreateModel(n)),this._disposables.push(u.editor.onWillDisposeModel(o)),this._disposables.push(u.editor.onDidChangeModelLanguage(s=>{o(s.model),n(s.model)})),this._disposables.push(t(s=>{u.editor.getModels().forEach(l=>{l.getLanguageId()===this._languageId&&(o(l),n(l))})})),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(o);for(let s in this._listener)this._listener[s].dispose()}}),u.editor.getModels().forEach(n)}dispose(){this._disposables.forEach(r=>r&&r.dispose()),this._disposables.length=0}_doValidate(r,i){this._worker(r).then(t=>t.doValidation(r.toString())).then(t=>{let n=t.map(s=>lt(r,s)),o=u.editor.getModel(r);o&&o.getLanguageId()===i&&u.editor.setModelMarkers(o,i,n)}).then(void 0,t=>{console.error(t)})}};function at(e){switch(e){case O.Error:return u.MarkerSeverity.Error;case O.Warning:return u.MarkerSeverity.Warning;case O.Information:return u.MarkerSeverity.Info;case O.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}function lt(e,r){let i=typeof r.code==\"number\"?String(r.code):r.code;return{severity:at(r.severity),startLineNumber:r.range.start.line+1,startColumn:r.range.start.character+1,endLineNumber:r.range.end.line+1,endColumn:r.range.end.character+1,message:r.message,code:i,source:r.source}}var H=class{constructor(r,i){this._worker=r;this._triggerCharacters=i}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(r,i,t,n){let o=r.uri;return this._worker(o).then(s=>s.doComplete(o.toString(),L(i))).then(s=>{if(!s)return;let l=r.getWordUntilPosition(i),f=new u.Range(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),m=s.items.map(g=>{let c={label:g.label,insertText:g.insertText||g.label,sortText:g.sortText,filterText:g.filterText,documentation:g.documentation,detail:g.detail,command:ft(g.command),range:f,kind:ct(g.kind)};return g.textEdit&&(ut(g.textEdit)?c.range={insert:v(g.textEdit.insert),replace:v(g.textEdit.replace)}:c.range=v(g.textEdit.range),c.insertText=g.textEdit.newText),g.additionalTextEdits&&(c.additionalTextEdits=g.additionalTextEdits.map(M)),g.insertTextFormat===te.Snippet&&(c.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),c});return{isIncomplete:s.isIncomplete,suggestions:m}})}};function L(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function Le(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function v(e){if(e)return new u.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function ut(e){return typeof e.insert<\"u\"&&typeof e.replace<\"u\"}function ct(e){let r=u.languages.CompletionItemKind;switch(e){case k.Text:return r.Text;case k.Method:return r.Method;case k.Function:return r.Function;case k.Constructor:return r.Constructor;case k.Field:return r.Field;case k.Variable:return r.Variable;case k.Class:return r.Class;case k.Interface:return r.Interface;case k.Module:return r.Module;case k.Property:return r.Property;case k.Unit:return r.Unit;case k.Value:return r.Value;case k.Enum:return r.Enum;case k.Keyword:return r.Keyword;case k.Snippet:return r.Snippet;case k.Color:return r.Color;case k.File:return r.File;case k.Reference:return r.Reference}return r.Property}function M(e){if(e)return{range:v(e.range),text:e.newText}}function ft(e){return e&&e.command===\"editor.action.triggerSuggest\"?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var J=class{constructor(r){this._worker=r}provideHover(r,i,t){let n=r.uri;return this._worker(n).then(o=>o.doHover(n.toString(),L(i))).then(o=>{if(o)return{range:v(o.range),contents:gt(o.contents)}})}};function dt(e){return e&&typeof e==\"object\"&&typeof e.kind==\"string\"}function Rn(e){return typeof e==\"string\"?{value:e}:dt(e)?e.kind===\"plaintext\"?{value:e.value.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}:{value:e.value}:{value:\"```\"+e.language+`\n`+e.value+\"\\n```\\n\"}}function gt(e){if(e)return Array.isArray(e)?e.map(Rn):[Rn(e)]}var xe=class{constructor(r){this._worker=r}provideDocumentHighlights(r,i,t){let n=r.uri;return this._worker(n).then(o=>o.findDocumentHighlights(n.toString(),L(i))).then(o=>{if(o)return o.map(s=>({range:v(s.range),kind:pt(s.kind)}))})}};function pt(e){switch(e){case F.Read:return u.languages.DocumentHighlightKind.Read;case F.Write:return u.languages.DocumentHighlightKind.Write;case F.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var Ie=class{constructor(r){this._worker=r}provideDefinition(r,i,t){let n=r.uri;return this._worker(n).then(o=>o.findDefinition(n.toString(),L(i))).then(o=>{if(o)return[Wn(o)]})}};function Wn(e){return{uri:u.Uri.parse(e.uri),range:v(e.range)}}var we=class{constructor(r){this._worker=r}provideReferences(r,i,t,n){let o=r.uri;return this._worker(o).then(s=>s.findReferences(o.toString(),L(i))).then(s=>{if(s)return s.map(Wn)})}},_e=class{constructor(r){this._worker=r}provideRenameEdits(r,i,t,n){let o=r.uri;return this._worker(o).then(s=>s.doRename(o.toString(),L(i),t)).then(s=>mt(s))}};function mt(e){if(!e||!e.changes)return;let r=[];for(let i in e.changes){let t=u.Uri.parse(i);for(let n of e.changes[i])r.push({resource:t,versionId:void 0,textEdit:{range:v(n.range),text:n.newText}})}return{edits:r}}var z=class{constructor(r){this._worker=r}provideDocumentSymbols(r,i){let t=r.uri;return this._worker(t).then(n=>n.findDocumentSymbols(t.toString())).then(n=>{if(n)return n.map(o=>ht(o)?Sn(o):{name:o.name,detail:\"\",containerName:o.containerName,kind:Nn(o.kind),range:v(o.location.range),selectionRange:v(o.location.range),tags:[]})})}};function ht(e){return\"children\"in e}function Sn(e){return{name:e.name,detail:e.detail??\"\",kind:Nn(e.kind),range:v(e.range),selectionRange:v(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(r=>Sn(r))}}function Nn(e){let r=u.languages.SymbolKind;switch(e){case b.File:return r.File;case b.Module:return r.Module;case b.Namespace:return r.Namespace;case b.Package:return r.Package;case b.Class:return r.Class;case b.Method:return r.Method;case b.Property:return r.Property;case b.Field:return r.Field;case b.Constructor:return r.Constructor;case b.Enum:return r.Enum;case b.Interface:return r.Interface;case b.Function:return r.Function;case b.Variable:return r.Variable;case b.Constant:return r.Constant;case b.String:return r.String;case b.Number:return r.Number;case b.Boolean:return r.Boolean;case b.Array:return r.Array}return r.Function}var Ee=class{constructor(r){this._worker=r}provideLinks(r,i){let t=r.uri;return this._worker(t).then(n=>n.findDocumentLinks(t.toString())).then(n=>{if(n)return{links:n.map(o=>({range:v(o.range),url:o.target}))}})}},$=class{constructor(r){this._worker=r}provideDocumentFormattingEdits(r,i,t){let n=r.uri;return this._worker(n).then(o=>o.format(n.toString(),null,Dn(i)).then(s=>{if(!(!s||s.length===0))return s.map(M)}))}},K=class{constructor(r){this._worker=r;this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(r,i,t,n){let o=r.uri;return this._worker(o).then(s=>s.format(o.toString(),Le(i),Dn(t)).then(l=>{if(!(!l||l.length===0))return l.map(M)}))}};function Dn(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var X=class{constructor(r){this._worker=r}provideDocumentColors(r,i){let t=r.uri;return this._worker(t).then(n=>n.findDocumentColors(t.toString())).then(n=>{if(n)return n.map(o=>({color:o.color,range:v(o.range)}))})}provideColorPresentations(r,i,t){let n=r.uri;return this._worker(n).then(o=>o.getColorPresentations(n.toString(),i.color,Le(i.range))).then(o=>{if(o)return o.map(s=>{let l={label:s.label};return s.textEdit&&(l.textEdit=M(s.textEdit)),s.additionalTextEdits&&(l.additionalTextEdits=s.additionalTextEdits.map(M)),l})})}},q=class{constructor(r){this._worker=r}provideFoldingRanges(r,i,t){let n=r.uri;return this._worker(n).then(o=>o.getFoldingRanges(n.toString(),i)).then(o=>{if(o)return o.map(s=>{let l={start:s.startLine+1,end:s.endLine+1};return typeof s.kind<\"u\"&&(l.kind=kt(s.kind)),l})})}};function kt(e){switch(e){case W.Comment:return u.languages.FoldingRangeKind.Comment;case W.Imports:return u.languages.FoldingRangeKind.Imports;case W.Region:return u.languages.FoldingRangeKind.Region}}var Q=class{constructor(r){this._worker=r}provideSelectionRanges(r,i,t){let n=r.uri;return this._worker(n).then(o=>o.getSelectionRanges(n.toString(),i.map(L))).then(o=>{if(o)return o.map(s=>{let l=[];for(;s;)l.push({range:v(s.range)}),s=s.parent;return l})})}};function oe(e,r=!1){let i=e.length,t=0,n=\"\",o=0,s=16,l=0,f=0,m=0,g=0,c=0;function y(d,x){let _=0,I=0;for(;_<d||!x;){let T=e.charCodeAt(t);if(T>=48&&T<=57)I=I*16+T-48;else if(T>=65&&T<=70)I=I*16+T-65+10;else if(T>=97&&T<=102)I=I*16+T-97+10;else break;t++,_++}return _<d&&(I=-1),I}function p(d){t=d,n=\"\",o=0,s=16,c=0}function A(){let d=t;if(e.charCodeAt(t)===48)t++;else for(t++;t<e.length&&j(e.charCodeAt(t));)t++;if(t<e.length&&e.charCodeAt(t)===46)if(t++,t<e.length&&j(e.charCodeAt(t)))for(t++;t<e.length&&j(e.charCodeAt(t));)t++;else return c=3,e.substring(d,t);let x=t;if(t<e.length&&(e.charCodeAt(t)===69||e.charCodeAt(t)===101))if(t++,(t<e.length&&e.charCodeAt(t)===43||e.charCodeAt(t)===45)&&t++,t<e.length&&j(e.charCodeAt(t))){for(t++;t<e.length&&j(e.charCodeAt(t));)t++;x=t}else c=3;return e.substring(d,x)}function ae(){let d=\"\",x=t;for(;;){if(t>=i){d+=e.substring(x,t),c=2;break}let _=e.charCodeAt(t);if(_===34){d+=e.substring(x,t),t++;break}if(_===92){if(d+=e.substring(x,t),t++,t>=i){c=2;break}switch(e.charCodeAt(t++)){case 34:d+='\"';break;case 92:d+=\"\\\\\";break;case 47:d+=\"/\";break;case 98:d+=\"\\b\";break;case 102:d+=\"\\f\";break;case 110:d+=`\n`;break;case 114:d+=\"\\r\";break;case 116:d+=\"\t\";break;case 117:let T=y(4,!0);T>=0?d+=String.fromCharCode(T):c=4;break;default:c=5}x=t;continue}if(_>=0&&_<=31)if(Y(_)){d+=e.substring(x,t),c=2;break}else c=6;t++}return d}function Pe(){if(n=\"\",c=0,o=t,f=l,g=m,t>=i)return o=i,s=17;let d=e.charCodeAt(t);if(Ae(d)){do t++,n+=String.fromCharCode(d),d=e.charCodeAt(t);while(Ae(d));return s=15}if(Y(d))return t++,n+=String.fromCharCode(d),d===13&&e.charCodeAt(t)===10&&(t++,n+=`\n`),l++,m=t,s=14;switch(d){case 123:return t++,s=1;case 125:return t++,s=2;case 91:return t++,s=3;case 93:return t++,s=4;case 58:return t++,s=6;case 44:return t++,s=5;case 34:return t++,n=ae(),s=10;case 47:let x=t-1;if(e.charCodeAt(t+1)===47){for(t+=2;t<i&&!Y(e.charCodeAt(t));)t++;return n=e.substring(x,t),s=12}if(e.charCodeAt(t+1)===42){t+=2;let _=i-1,I=!1;for(;t<_;){let T=e.charCodeAt(t);if(T===42&&e.charCodeAt(t+1)===47){t+=2,I=!0;break}t++,Y(T)&&(T===13&&e.charCodeAt(t)===10&&t++,l++,m=t)}return I||(t++,c=1),n=e.substring(x,t),s=13}return n+=String.fromCharCode(d),t++,s=16;case 45:if(n+=String.fromCharCode(d),t++,t===i||!j(e.charCodeAt(t)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return n+=A(),s=11;default:for(;t<i&&Xn(d);)t++,d=e.charCodeAt(t);if(o!==t){switch(n=e.substring(o,t),n){case\"true\":return s=8;case\"false\":return s=9;case\"null\":return s=7}return s=16}return n+=String.fromCharCode(d),t++,s=16}}function Xn(d){if(Ae(d)||Y(d))return!1;switch(d){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function qn(){let d;do d=Pe();while(d>=12&&d<=15);return d}return{setPosition:p,getPosition:()=>t,scan:r?qn:Pe,getToken:()=>s,getTokenValue:()=>n,getTokenOffset:()=>o,getTokenLength:()=>t-o,getTokenStartLine:()=>f,getTokenStartCharacter:()=>o-g,getTokenError:()=>c}}function Ae(e){return e===32||e===9}function Y(e){return e===10||e===13}function j(e){return e>=48&&e<=57}var Fn;(function(e){e[e.lineFeed=10]=\"lineFeed\",e[e.carriageReturn=13]=\"carriageReturn\",e[e.space=32]=\"space\",e[e._0=48]=\"_0\",e[e._1=49]=\"_1\",e[e._2=50]=\"_2\",e[e._3=51]=\"_3\",e[e._4=52]=\"_4\",e[e._5=53]=\"_5\",e[e._6=54]=\"_6\",e[e._7=55]=\"_7\",e[e._8=56]=\"_8\",e[e._9=57]=\"_9\",e[e.a=97]=\"a\",e[e.b=98]=\"b\",e[e.c=99]=\"c\",e[e.d=100]=\"d\",e[e.e=101]=\"e\",e[e.f=102]=\"f\",e[e.g=103]=\"g\",e[e.h=104]=\"h\",e[e.i=105]=\"i\",e[e.j=106]=\"j\",e[e.k=107]=\"k\",e[e.l=108]=\"l\",e[e.m=109]=\"m\",e[e.n=110]=\"n\",e[e.o=111]=\"o\",e[e.p=112]=\"p\",e[e.q=113]=\"q\",e[e.r=114]=\"r\",e[e.s=115]=\"s\",e[e.t=116]=\"t\",e[e.u=117]=\"u\",e[e.v=118]=\"v\",e[e.w=119]=\"w\",e[e.x=120]=\"x\",e[e.y=121]=\"y\",e[e.z=122]=\"z\",e[e.A=65]=\"A\",e[e.B=66]=\"B\",e[e.C=67]=\"C\",e[e.D=68]=\"D\",e[e.E=69]=\"E\",e[e.F=70]=\"F\",e[e.G=71]=\"G\",e[e.H=72]=\"H\",e[e.I=73]=\"I\",e[e.J=74]=\"J\",e[e.K=75]=\"K\",e[e.L=76]=\"L\",e[e.M=77]=\"M\",e[e.N=78]=\"N\",e[e.O=79]=\"O\",e[e.P=80]=\"P\",e[e.Q=81]=\"Q\",e[e.R=82]=\"R\",e[e.S=83]=\"S\",e[e.T=84]=\"T\",e[e.U=85]=\"U\",e[e.V=86]=\"V\",e[e.W=87]=\"W\",e[e.X=88]=\"X\",e[e.Y=89]=\"Y\",e[e.Z=90]=\"Z\",e[e.asterisk=42]=\"asterisk\",e[e.backslash=92]=\"backslash\",e[e.closeBrace=125]=\"closeBrace\",e[e.closeBracket=93]=\"closeBracket\",e[e.colon=58]=\"colon\",e[e.comma=44]=\"comma\",e[e.dot=46]=\"dot\",e[e.doubleQuote=34]=\"doubleQuote\",e[e.minus=45]=\"minus\",e[e.openBrace=123]=\"openBrace\",e[e.openBracket=91]=\"openBracket\",e[e.plus=43]=\"plus\",e[e.slash=47]=\"slash\",e[e.formFeed=12]=\"formFeed\",e[e.tab=9]=\"tab\"})(Fn||(Fn={}));var Tt=new Array(20).fill(0).map((e,r)=>\" \".repeat(r)),U=200,vt={\" \":{\"\\n\":new Array(U).fill(0).map((e,r)=>`\n`+\" \".repeat(r)),\"\\r\":new Array(U).fill(0).map((e,r)=>\"\\r\"+\" \".repeat(r)),\"\\r\\n\":new Array(U).fill(0).map((e,r)=>`\\r\n`+\" \".repeat(r))},\"\t\":{\"\\n\":new Array(U).fill(0).map((e,r)=>`\n`+\"\t\".repeat(r)),\"\\r\":new Array(U).fill(0).map((e,r)=>\"\\r\"+\"\t\".repeat(r)),\"\\r\\n\":new Array(U).fill(0).map((e,r)=>`\\r\n`+\"\t\".repeat(r))}};var Mn;(function(e){e.DEFAULT={allowTrailingComma:!1}})(Mn||(Mn={}));var Bn=oe,jn;(function(e){e[e.None=0]=\"None\",e[e.UnexpectedEndOfComment=1]=\"UnexpectedEndOfComment\",e[e.UnexpectedEndOfString=2]=\"UnexpectedEndOfString\",e[e.UnexpectedEndOfNumber=3]=\"UnexpectedEndOfNumber\",e[e.InvalidUnicode=4]=\"InvalidUnicode\",e[e.InvalidEscapeCharacter=5]=\"InvalidEscapeCharacter\",e[e.InvalidCharacter=6]=\"InvalidCharacter\"})(jn||(jn={}));var Un;(function(e){e[e.OpenBraceToken=1]=\"OpenBraceToken\",e[e.CloseBraceToken=2]=\"CloseBraceToken\",e[e.OpenBracketToken=3]=\"OpenBracketToken\",e[e.CloseBracketToken=4]=\"CloseBracketToken\",e[e.CommaToken=5]=\"CommaToken\",e[e.ColonToken=6]=\"ColonToken\",e[e.NullKeyword=7]=\"NullKeyword\",e[e.TrueKeyword=8]=\"TrueKeyword\",e[e.FalseKeyword=9]=\"FalseKeyword\",e[e.StringLiteral=10]=\"StringLiteral\",e[e.NumericLiteral=11]=\"NumericLiteral\",e[e.LineCommentTrivia=12]=\"LineCommentTrivia\",e[e.BlockCommentTrivia=13]=\"BlockCommentTrivia\",e[e.LineBreakTrivia=14]=\"LineBreakTrivia\",e[e.Trivia=15]=\"Trivia\",e[e.Unknown=16]=\"Unknown\",e[e.EOF=17]=\"EOF\"})(Un||(Un={}));var Vn;(function(e){e[e.InvalidSymbol=1]=\"InvalidSymbol\",e[e.InvalidNumberFormat=2]=\"InvalidNumberFormat\",e[e.PropertyNameExpected=3]=\"PropertyNameExpected\",e[e.ValueExpected=4]=\"ValueExpected\",e[e.ColonExpected=5]=\"ColonExpected\",e[e.CommaExpected=6]=\"CommaExpected\",e[e.CloseBraceExpected=7]=\"CloseBraceExpected\",e[e.CloseBracketExpected=8]=\"CloseBracketExpected\",e[e.EndOfFileExpected=9]=\"EndOfFileExpected\",e[e.InvalidCommentToken=10]=\"InvalidCommentToken\",e[e.UnexpectedEndOfComment=11]=\"UnexpectedEndOfComment\",e[e.UnexpectedEndOfString=12]=\"UnexpectedEndOfString\",e[e.UnexpectedEndOfNumber=13]=\"UnexpectedEndOfNumber\",e[e.InvalidUnicode=14]=\"InvalidUnicode\",e[e.InvalidEscapeCharacter=15]=\"InvalidEscapeCharacter\",e[e.InvalidCharacter=16]=\"InvalidCharacter\"})(Vn||(Vn={}));function zn(e){return{getInitialState:()=>new se(null,null,!1,null),tokenize:(r,i)=>jt(e,r,i)}}var Hn=\"delimiter.bracket.json\",Jn=\"delimiter.array.json\",Ot=\"delimiter.colon.json\",Pt=\"delimiter.comma.json\",Rt=\"keyword.json\",Wt=\"keyword.json\",St=\"string.value.json\",Nt=\"number.json\",Dt=\"string.key.json\",Ft=\"comment.block.json\",Mt=\"comment.line.json\";var P=class e{constructor(r,i){this.parent=r;this.type=i}static pop(r){return r?r.parent:null}static push(r,i){return new e(r,i)}static equals(r,i){if(!r&&!i)return!0;if(!r||!i)return!1;for(;r&&i;){if(r===i)return!0;if(r.type!==i.type)return!1;r=r.parent,i=i.parent}return!0}},se=class e{constructor(r,i,t,n){this._state=r,this.scanError=i,this.lastWasColon=t,this.parents=n}clone(){return new e(this._state,this.scanError,this.lastWasColon,this.parents)}equals(r){return r===this?!0:!r||!(r instanceof e)?!1:this.scanError===r.scanError&&this.lastWasColon===r.lastWasColon&&P.equals(this.parents,r.parents)}getStateData(){return this._state}setStateData(r){this._state=r}};function jt(e,r,i,t=0){let n=0,o=!1;switch(i.scanError){case 2:r='\"'+r,n=1;break;case 1:r=\"/*\"+r,n=2;break}let s=Bn(r),l=i.lastWasColon,f=i.parents,m={tokens:[],endState:i.clone()};for(;;){let g=t+s.getPosition(),c=\"\",y=s.scan();if(y===17)break;if(g===t+s.getPosition())throw new Error(\"Scanner did not advance, next 3 characters are: \"+r.substr(s.getPosition(),3));switch(o&&(g-=n),o=n>0,y){case 1:f=P.push(f,0),c=Hn,l=!1;break;case 2:f=P.pop(f),c=Hn,l=!1;break;case 3:f=P.push(f,1),c=Jn,l=!1;break;case 4:f=P.pop(f),c=Jn,l=!1;break;case 6:c=Ot,l=!0;break;case 5:c=Pt,l=!1;break;case 8:case 9:c=Rt,l=!1;break;case 7:c=Wt,l=!1;break;case 10:let A=(f?f.type:0)===1;c=l||A?St:Dt,l=!1;break;case 11:c=Nt,l=!1;break}if(e)switch(y){case 12:c=Mt;break;case 13:c=Ft;break}m.endState=new se(i.getStateData(),s.getTokenError(),l,f),m.tokens.push({startIndex:g,scopes:c})}return m}var w;function Ut(){return new Promise((e,r)=>{if(!w)return r(\"JSON not registered!\");e(w)})}var Oe=class extends B{constructor(r,i,t){super(r,i,t.onDidChange),this._disposables.push(u.editor.onWillDisposeModel(n=>{this._resetSchema(n.uri)})),this._disposables.push(u.editor.onDidChangeModelLanguage(n=>{this._resetSchema(n.model.uri)}))}_resetSchema(r){this._worker().then(i=>{i.resetSchema(r.toString())})}};function Vt(e){let r=[],i=[],t=new R(e);r.push(t),w=(...s)=>t.getLanguageServiceWorker(...s);function n(){let{languageId:s,modeConfiguration:l}=e;Kn(i),l.documentFormattingEdits&&i.push(u.languages.registerDocumentFormattingEditProvider(s,new $(w))),l.documentRangeFormattingEdits&&i.push(u.languages.registerDocumentRangeFormattingEditProvider(s,new K(w))),l.completionItems&&i.push(u.languages.registerCompletionItemProvider(s,new H(w,[\" \",\":\",'\"']))),l.hovers&&i.push(u.languages.registerHoverProvider(s,new J(w))),l.documentSymbols&&i.push(u.languages.registerDocumentSymbolProvider(s,new z(w))),l.tokens&&i.push(u.languages.setTokensProvider(s,zn(!0))),l.colors&&i.push(u.languages.registerColorProvider(s,new X(w))),l.foldingRanges&&i.push(u.languages.registerFoldingRangeProvider(s,new q(w))),l.diagnostics&&i.push(new Oe(s,w,e)),l.selectionRanges&&i.push(u.languages.registerSelectionRangeProvider(s,new Q(w)))}n(),r.push(u.languages.setLanguageConfiguration(e.languageId,Bt));let o=e.modeConfiguration;return e.onDidChange(s=>{s.modeConfiguration!==o&&(o=s.modeConfiguration,n())}),r.push($n(i)),$n(r)}function $n(e){return{dispose:()=>Kn(e)}}function Kn(e){for(;e.length;)e.pop().dispose()}var Bt={wordPattern:/(-?\\d*\\.\\d\\w*)|([^\\[\\{\\]\\}\\:\\\"\\,\\s]+)/g,comments:{lineComment:\"//\",blockComment:[\"/*\",\"*/\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"]],autoClosingPairs:[{open:\"{\",close:\"}\",notIn:[\"string\"]},{open:\"[\",close:\"]\",notIn:[\"string\"]},{open:'\"',close:'\"',notIn:[\"string\"]}]};return rt(Ht);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/language/json/jsonWorker.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/json/jsonWorker\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var ft=Object.defineProperty;var br=Object.getOwnPropertyDescriptor;var vr=Object.getOwnPropertyNames;var xr=Object.prototype.hasOwnProperty;var kr=(e,t)=>{for(var r in t)ft(e,r,{get:t[r],enumerable:!0})},Ar=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of vr(t))!xr.call(e,i)&&i!==r&&ft(e,i,{get:()=>t[i],enumerable:!(n=br(t,i))||n.enumerable});return e};var Sr=e=>Ar(ft({},\"__esModule\",{value:!0}),e);var ai={};kr(ai,{JSONWorker:()=>ct,create:()=>oi});function Se(e,t=!1){let r=e.length,n=0,i=\"\",s=0,o=16,c=0,l=0,a=0,u=0,f=0;function d(g,S){let x=0,T=0;for(;x<g||!S;){let O=e.charCodeAt(n);if(O>=48&&O<=57)T=T*16+O-48;else if(O>=65&&O<=70)T=T*16+O-65+10;else if(O>=97&&O<=102)T=T*16+O-97+10;else break;n++,x++}return x<g&&(T=-1),T}function h(g){n=g,i=\"\",s=0,o=16,f=0}function p(){let g=n;if(e.charCodeAt(n)===48)n++;else for(n++;n<e.length&&Ae(e.charCodeAt(n));)n++;if(n<e.length&&e.charCodeAt(n)===46)if(n++,n<e.length&&Ae(e.charCodeAt(n)))for(n++;n<e.length&&Ae(e.charCodeAt(n));)n++;else return f=3,e.substring(g,n);let S=n;if(n<e.length&&(e.charCodeAt(n)===69||e.charCodeAt(n)===101))if(n++,(n<e.length&&e.charCodeAt(n)===43||e.charCodeAt(n)===45)&&n++,n<e.length&&Ae(e.charCodeAt(n))){for(n++;n<e.length&&Ae(e.charCodeAt(n));)n++;S=n}else f=3;return e.substring(g,S)}function m(){let g=\"\",S=n;for(;;){if(n>=r){g+=e.substring(S,n),f=2;break}let x=e.charCodeAt(n);if(x===34){g+=e.substring(S,n),n++;break}if(x===92){if(g+=e.substring(S,n),n++,n>=r){f=2;break}switch(e.charCodeAt(n++)){case 34:g+='\"';break;case 92:g+=\"\\\\\";break;case 47:g+=\"/\";break;case 98:g+=\"\\b\";break;case 102:g+=\"\\f\";break;case 110:g+=`\n`;break;case 114:g+=\"\\r\";break;case 116:g+=\"\t\";break;case 117:let O=d(4,!0);O>=0?g+=String.fromCharCode(O):f=4;break;default:f=5}S=n;continue}if(x>=0&&x<=31)if(Ie(x)){g+=e.substring(S,n),f=2;break}else f=6;n++}return g}function y(){if(i=\"\",f=0,s=n,l=c,u=a,n>=r)return s=r,o=17;let g=e.charCodeAt(n);if(ut(g)){do n++,i+=String.fromCharCode(g),g=e.charCodeAt(n);while(ut(g));return o=15}if(Ie(g))return n++,i+=String.fromCharCode(g),g===13&&e.charCodeAt(n)===10&&(n++,i+=`\n`),c++,a=n,o=14;switch(g){case 123:return n++,o=1;case 125:return n++,o=2;case 91:return n++,o=3;case 93:return n++,o=4;case 58:return n++,o=6;case 44:return n++,o=5;case 34:return n++,i=m(),o=10;case 47:let S=n-1;if(e.charCodeAt(n+1)===47){for(n+=2;n<r&&!Ie(e.charCodeAt(n));)n++;return i=e.substring(S,n),o=12}if(e.charCodeAt(n+1)===42){n+=2;let x=r-1,T=!1;for(;n<x;){let O=e.charCodeAt(n);if(O===42&&e.charCodeAt(n+1)===47){n+=2,T=!0;break}n++,Ie(O)&&(O===13&&e.charCodeAt(n)===10&&n++,c++,a=n)}return T||(n++,f=1),i=e.substring(S,n),o=13}return i+=String.fromCharCode(g),n++,o=16;case 45:if(i+=String.fromCharCode(g),n++,n===r||!Ae(e.charCodeAt(n)))return o=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=p(),o=11;default:for(;n<r&&k(g);)n++,g=e.charCodeAt(n);if(s!==n){switch(i=e.substring(s,n),i){case\"true\":return o=8;case\"false\":return o=9;case\"null\":return o=7}return o=16}return i+=String.fromCharCode(g),n++,o=16}}function k(g){if(ut(g)||Ie(g))return!1;switch(g){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function w(){let g;do g=y();while(g>=12&&g<=15);return g}return{setPosition:h,getPosition:()=>n,scan:t?w:y,getToken:()=>o,getTokenValue:()=>i,getTokenOffset:()=>s,getTokenLength:()=>n-s,getTokenStartLine:()=>l,getTokenStartCharacter:()=>s-u,getTokenError:()=>f}}function ut(e){return e===32||e===9}function Ie(e){return e===10||e===13}function Ae(e){return e>=48&&e<=57}var sn;(function(e){e[e.lineFeed=10]=\"lineFeed\",e[e.carriageReturn=13]=\"carriageReturn\",e[e.space=32]=\"space\",e[e._0=48]=\"_0\",e[e._1=49]=\"_1\",e[e._2=50]=\"_2\",e[e._3=51]=\"_3\",e[e._4=52]=\"_4\",e[e._5=53]=\"_5\",e[e._6=54]=\"_6\",e[e._7=55]=\"_7\",e[e._8=56]=\"_8\",e[e._9=57]=\"_9\",e[e.a=97]=\"a\",e[e.b=98]=\"b\",e[e.c=99]=\"c\",e[e.d=100]=\"d\",e[e.e=101]=\"e\",e[e.f=102]=\"f\",e[e.g=103]=\"g\",e[e.h=104]=\"h\",e[e.i=105]=\"i\",e[e.j=106]=\"j\",e[e.k=107]=\"k\",e[e.l=108]=\"l\",e[e.m=109]=\"m\",e[e.n=110]=\"n\",e[e.o=111]=\"o\",e[e.p=112]=\"p\",e[e.q=113]=\"q\",e[e.r=114]=\"r\",e[e.s=115]=\"s\",e[e.t=116]=\"t\",e[e.u=117]=\"u\",e[e.v=118]=\"v\",e[e.w=119]=\"w\",e[e.x=120]=\"x\",e[e.y=121]=\"y\",e[e.z=122]=\"z\",e[e.A=65]=\"A\",e[e.B=66]=\"B\",e[e.C=67]=\"C\",e[e.D=68]=\"D\",e[e.E=69]=\"E\",e[e.F=70]=\"F\",e[e.G=71]=\"G\",e[e.H=72]=\"H\",e[e.I=73]=\"I\",e[e.J=74]=\"J\",e[e.K=75]=\"K\",e[e.L=76]=\"L\",e[e.M=77]=\"M\",e[e.N=78]=\"N\",e[e.O=79]=\"O\",e[e.P=80]=\"P\",e[e.Q=81]=\"Q\",e[e.R=82]=\"R\",e[e.S=83]=\"S\",e[e.T=84]=\"T\",e[e.U=85]=\"U\",e[e.V=86]=\"V\",e[e.W=87]=\"W\",e[e.X=88]=\"X\",e[e.Y=89]=\"Y\",e[e.Z=90]=\"Z\",e[e.asterisk=42]=\"asterisk\",e[e.backslash=92]=\"backslash\",e[e.closeBrace=125]=\"closeBrace\",e[e.closeBracket=93]=\"closeBracket\",e[e.colon=58]=\"colon\",e[e.comma=44]=\"comma\",e[e.dot=46]=\"dot\",e[e.doubleQuote=34]=\"doubleQuote\",e[e.minus=45]=\"minus\",e[e.openBrace=123]=\"openBrace\",e[e.openBracket=91]=\"openBracket\",e[e.plus=43]=\"plus\",e[e.slash=47]=\"slash\",e[e.formFeed=12]=\"formFeed\",e[e.tab=9]=\"tab\"})(sn||(sn={}));var Q=new Array(20).fill(0).map((e,t)=>\" \".repeat(t)),we=200,dt={\" \":{\"\\n\":new Array(we).fill(0).map((e,t)=>`\n`+\" \".repeat(t)),\"\\r\":new Array(we).fill(0).map((e,t)=>\"\\r\"+\" \".repeat(t)),\"\\r\\n\":new Array(we).fill(0).map((e,t)=>`\\r\n`+\" \".repeat(t))},\"\t\":{\"\\n\":new Array(we).fill(0).map((e,t)=>`\n`+\"\t\".repeat(t)),\"\\r\":new Array(we).fill(0).map((e,t)=>\"\\r\"+\"\t\".repeat(t)),\"\\r\\n\":new Array(we).fill(0).map((e,t)=>`\\r\n`+\"\t\".repeat(t))}},on=[`\n`,\"\\r\",`\\r\n`];function pt(e,t,r){let n,i,s,o,c;if(t){for(o=t.offset,c=o+t.length,s=o;s>0&&!ht(e,s-1);)s--;let x=c;for(;x<e.length&&!ht(e,x);)x++;i=e.substring(s,x),n=Or(i,r)}else i=e,n=0,s=0,o=0,c=e.length;let l=Tr(r,e),a=on.includes(l),u=0,f=0,d;r.insertSpaces?d=Q[r.tabSize||4]??Oe(Q[1],r.tabSize||4):d=\"\t\";let h=d===\"\t\"?\"\t\":\" \",p=Se(i,!1),m=!1;function y(){if(u>1)return Oe(l,u)+Oe(d,n+f);let x=d.length*(n+f);return!a||x>dt[h][l].length?l+Oe(d,n+f):x<=0?l:dt[h][l][x]}function k(){let x=p.scan();for(u=0;x===15||x===14;)x===14&&r.keepLines?u+=1:x===14&&(u=1),x=p.scan();return m=x===16||p.getTokenError()!==0,x}let w=[];function g(x,T,O){!m&&(!t||T<c&&O>o)&&e.substring(T,O)!==x&&w.push({offset:T,length:O-T,content:x})}let S=k();if(r.keepLines&&u>0&&g(Oe(l,u),0,0),S!==17){let x=p.getTokenOffset()+s,T=d.length*n<20&&r.insertSpaces?Q[d.length*n]:Oe(d,n);g(T,s,x)}for(;S!==17;){let x=p.getTokenOffset()+p.getTokenLength()+s,T=k(),O=\"\",I=!1;for(;u===0&&(T===12||T===13);){let j=p.getTokenOffset()+s;g(Q[1],x,j),x=p.getTokenOffset()+p.getTokenLength()+s,I=T===12,O=I?y():\"\",T=k()}if(T===2)S!==1&&f--,r.keepLines&&u>0||!r.keepLines&&S!==1?O=y():r.keepLines&&(O=Q[1]);else if(T===4)S!==3&&f--,r.keepLines&&u>0||!r.keepLines&&S!==3?O=y():r.keepLines&&(O=Q[1]);else{switch(S){case 3:case 1:f++,r.keepLines&&u>0||!r.keepLines?O=y():O=Q[1];break;case 5:r.keepLines&&u>0||!r.keepLines?O=y():O=Q[1];break;case 12:O=y();break;case 13:u>0?O=y():I||(O=Q[1]);break;case 6:r.keepLines&&u>0?O=y():I||(O=Q[1]);break;case 10:r.keepLines&&u>0?O=y():T===6&&!I&&(O=\"\");break;case 7:case 8:case 9:case 11:case 2:case 4:r.keepLines&&u>0?O=y():(T===12||T===13)&&!I?O=Q[1]:T!==5&&T!==17&&(m=!0);break;case 16:m=!0;break}u>0&&(T===12||T===13)&&(O=y())}T===17&&(r.keepLines&&u>0?O=y():O=r.insertFinalNewline?l:\"\");let E=p.getTokenOffset()+s;g(O,x,E),S=T}return w}function Oe(e,t){let r=\"\";for(let n=0;n<t;n++)r+=e;return r}function Or(e,t){let r=0,n=0,i=t.tabSize||4;for(;r<e.length;){let s=e.charAt(r);if(s===Q[1])n++;else if(s===\"\t\")n+=i;else break;r++}return Math.floor(n/i)}function Tr(e,t){for(let r=0;r<t.length;r++){let n=t.charAt(r);if(n===\"\\r\")return r+1<t.length&&t.charAt(r+1)===`\n`?`\\r\n`:\"\\r\";if(n===`\n`)return`\n`}return e&&e.eol||`\n`}function ht(e,t){return`\\r\n`.indexOf(e.charAt(t))!==-1}var De;(function(e){e.DEFAULT={allowTrailingComma:!1}})(De||(De={}));function an(e,t=[],r=De.DEFAULT){let n=null,i=[],s=[];function o(l){Array.isArray(i)?i.push(l):n!==null&&(i[n]=l)}return ln(e,{onObjectBegin:()=>{let l={};o(l),s.push(i),i=l,n=null},onObjectProperty:l=>{n=l},onObjectEnd:()=>{i=s.pop()},onArrayBegin:()=>{let l=[];o(l),s.push(i),i=l,n=null},onArrayEnd:()=>{i=s.pop()},onLiteralValue:o,onError:(l,a,u)=>{t.push({error:l,offset:a,length:u})}},r),i[0]}function gt(e){if(!e.parent||!e.parent.children)return[];let t=gt(e.parent);if(e.parent.type===\"property\"){let r=e.parent.children[0].value;t.push(r)}else if(e.parent.type===\"array\"){let r=e.parent.children.indexOf(e);r!==-1&&t.push(r)}return t}function Re(e){switch(e.type){case\"array\":return e.children.map(Re);case\"object\":let t=Object.create(null);for(let r of e.children){let n=r.children[1];n&&(t[r.children[0].value]=Re(n))}return t;case\"null\":case\"string\":case\"number\":case\"boolean\":return e.value;default:return}}function Pr(e,t,r=!1){return t>=e.offset&&t<e.offset+e.length||r&&t===e.offset+e.length}function mt(e,t,r=!1){if(Pr(e,t,r)){let n=e.children;if(Array.isArray(n))for(let i=0;i<n.length&&n[i].offset<=t;i++){let s=mt(n[i],t,r);if(s)return s}return e}}function ln(e,t,r=De.DEFAULT){let n=Se(e,!1),i=[];function s(v){return v?()=>v(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function o(v){return v?()=>v(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>i.slice()):()=>!0}function c(v){return v?P=>v(P,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function l(v){return v?P=>v(P,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>i.slice()):()=>!0}let a=o(t.onObjectBegin),u=l(t.onObjectProperty),f=s(t.onObjectEnd),d=o(t.onArrayBegin),h=s(t.onArrayEnd),p=l(t.onLiteralValue),m=c(t.onSeparator),y=s(t.onComment),k=c(t.onError),w=r&&r.disallowComments,g=r&&r.allowTrailingComma;function S(){for(;;){let v=n.scan();switch(n.getTokenError()){case 4:x(14);break;case 5:x(15);break;case 3:x(13);break;case 1:w||x(11);break;case 2:x(12);break;case 6:x(16);break}switch(v){case 12:case 13:w?x(10):y();break;case 16:x(1);break;case 15:case 14:break;default:return v}}}function x(v,P=[],L=[]){if(k(v),P.length+L.length>0){let $=n.getToken();for(;$!==17;){if(P.indexOf($)!==-1){S();break}else if(L.indexOf($)!==-1)break;$=S()}}}function T(v){let P=n.getTokenValue();return v?p(P):(u(P),i.push(P)),S(),!0}function O(){switch(n.getToken()){case 11:let v=n.getTokenValue(),P=Number(v);isNaN(P)&&(x(2),P=0),p(P);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return S(),!0}function I(){return n.getToken()!==10?(x(3,[],[2,5]),!1):(T(!1),n.getToken()===6?(m(\":\"),S(),N()||x(4,[],[2,5])):x(5,[],[2,5]),i.pop(),!0)}function E(){a(),S();let v=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(v||x(4,[],[]),m(\",\"),S(),n.getToken()===2&&g)break}else v&&x(6,[],[]);I()||x(4,[],[2,5]),v=!0}return f(),n.getToken()!==2?x(7,[2],[]):S(),!0}function j(){d(),S();let v=!0,P=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(P||x(4,[],[]),m(\",\"),S(),n.getToken()===4&&g)break}else P&&x(6,[],[]);v?(i.push(0),v=!1):i[i.length-1]++,N()||x(4,[],[4,5]),P=!0}return h(),v||i.pop(),n.getToken()!==4?x(8,[4],[]):S(),!0}function N(){switch(n.getToken()){case 3:return j();case 1:return E();case 10:return T(!0);default:return O()}}return S(),n.getToken()===17?r.allowEmptyContent?!0:(x(4,[],[]),!1):N()?(n.getToken()!==17&&x(9,[],[]),!0):(x(4,[],[]),!1)}var ee=Se,cn;(function(e){e[e.None=0]=\"None\",e[e.UnexpectedEndOfComment=1]=\"UnexpectedEndOfComment\",e[e.UnexpectedEndOfString=2]=\"UnexpectedEndOfString\",e[e.UnexpectedEndOfNumber=3]=\"UnexpectedEndOfNumber\",e[e.InvalidUnicode=4]=\"InvalidUnicode\",e[e.InvalidEscapeCharacter=5]=\"InvalidEscapeCharacter\",e[e.InvalidCharacter=6]=\"InvalidCharacter\"})(cn||(cn={}));var fn;(function(e){e[e.OpenBraceToken=1]=\"OpenBraceToken\",e[e.CloseBraceToken=2]=\"CloseBraceToken\",e[e.OpenBracketToken=3]=\"OpenBracketToken\",e[e.CloseBracketToken=4]=\"CloseBracketToken\",e[e.CommaToken=5]=\"CommaToken\",e[e.ColonToken=6]=\"ColonToken\",e[e.NullKeyword=7]=\"NullKeyword\",e[e.TrueKeyword=8]=\"TrueKeyword\",e[e.FalseKeyword=9]=\"FalseKeyword\",e[e.StringLiteral=10]=\"StringLiteral\",e[e.NumericLiteral=11]=\"NumericLiteral\",e[e.LineCommentTrivia=12]=\"LineCommentTrivia\",e[e.BlockCommentTrivia=13]=\"BlockCommentTrivia\",e[e.LineBreakTrivia=14]=\"LineBreakTrivia\",e[e.Trivia=15]=\"Trivia\",e[e.Unknown=16]=\"Unknown\",e[e.EOF=17]=\"EOF\"})(fn||(fn={}));var dn=an;var hn=mt,pn=gt,gn=Re;var un;(function(e){e[e.InvalidSymbol=1]=\"InvalidSymbol\",e[e.InvalidNumberFormat=2]=\"InvalidNumberFormat\",e[e.PropertyNameExpected=3]=\"PropertyNameExpected\",e[e.ValueExpected=4]=\"ValueExpected\",e[e.ColonExpected=5]=\"ColonExpected\",e[e.CommaExpected=6]=\"CommaExpected\",e[e.CloseBraceExpected=7]=\"CloseBraceExpected\",e[e.CloseBracketExpected=8]=\"CloseBracketExpected\",e[e.EndOfFileExpected=9]=\"EndOfFileExpected\",e[e.InvalidCommentToken=10]=\"InvalidCommentToken\",e[e.UnexpectedEndOfComment=11]=\"UnexpectedEndOfComment\",e[e.UnexpectedEndOfString=12]=\"UnexpectedEndOfString\",e[e.UnexpectedEndOfNumber=13]=\"UnexpectedEndOfNumber\",e[e.InvalidUnicode=14]=\"InvalidUnicode\",e[e.InvalidEscapeCharacter=15]=\"InvalidEscapeCharacter\",e[e.InvalidCharacter=16]=\"InvalidCharacter\"})(un||(un={}));function mn(e,t,r){return pt(e,t,r)}function ge(e,t){if(e===t)return!0;if(e==null||t===null||t===void 0||typeof e!=typeof t||typeof e!=\"object\"||Array.isArray(e)!==Array.isArray(t))return!1;let r,n;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(r=0;r<e.length;r++)if(!ge(e[r],t[r]))return!1}else{let i=[];for(n in e)i.push(n);i.sort();let s=[];for(n in t)s.push(n);if(s.sort(),!ge(i,s))return!1;for(r=0;r<i.length;r++)if(!ge(e[i[r]],t[i[r]]))return!1}return!0}function W(e){return typeof e==\"number\"}function Y(e){return typeof e<\"u\"}function te(e){return typeof e==\"boolean\"}function Ue(e){return typeof e==\"string\"}function oe(e){return typeof e==\"object\"&&e!==null&&!Array.isArray(e)}function jr(e,t){if(e.length<t.length)return!1;for(let r=0;r<t.length;r++)if(e[r]!==t[r])return!1;return!0}function fe(e,t){let r=e.length-t.length;return r>0?e.lastIndexOf(t)===r:r===0?e===t:!1}function me(e){let t=\"\";jr(e,\"(?i)\")&&(e=e.substring(4),t=\"i\");try{return new RegExp(e,t+\"u\")}catch{try{return new RegExp(e,t)}catch{return}}}function bt(e){let t=0;for(let r=0;r<e.length;r++){t++;let n=e.charCodeAt(r);55296<=n&&n<=56319&&r++}return t}var vt;(function(e){function t(r){return typeof r==\"string\"}e.is=t})(vt||(vt={}));var xt;(function(e){function t(r){return typeof r==\"string\"}e.is=t})(xt||(xt={}));var bn;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(r){return typeof r==\"number\"&&e.MIN_VALUE<=r&&r<=e.MAX_VALUE}e.is=t})(bn||(bn={}));var Be;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(r){return typeof r==\"number\"&&e.MIN_VALUE<=r&&r<=e.MAX_VALUE}e.is=t})(Be||(Be={}));var D;(function(e){function t(n,i){return n===Number.MAX_VALUE&&(n=Be.MAX_VALUE),i===Number.MAX_VALUE&&(i=Be.MAX_VALUE),{line:n,character:i}}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.line)&&b.uinteger(i.character)}e.is=r})(D||(D={}));var _;(function(e){function t(n,i,s,o){if(b.uinteger(n)&&b.uinteger(i)&&b.uinteger(s)&&b.uinteger(o))return{start:D.create(n,i),end:D.create(s,o)};if(D.is(n)&&D.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${s}, ${o}]`)}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&D.is(i.start)&&D.is(i.end)}e.is=r})(_||(_={}));var ue;(function(e){function t(n,i){return{uri:n,range:i}}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&_.is(i.range)&&(b.string(i.uri)||b.undefined(i.uri))}e.is=r})(ue||(ue={}));var vn;(function(e){function t(n,i,s,o){return{targetUri:n,targetRange:i,targetSelectionRange:s,originSelectionRange:o}}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&_.is(i.targetRange)&&b.string(i.targetUri)&&_.is(i.targetSelectionRange)&&(_.is(i.originSelectionRange)||b.undefined(i.originSelectionRange))}e.is=r})(vn||(vn={}));var Je;(function(e){function t(n,i,s,o){return{red:n,green:i,blue:s,alpha:o}}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&b.numberRange(i.red,0,1)&&b.numberRange(i.green,0,1)&&b.numberRange(i.blue,0,1)&&b.numberRange(i.alpha,0,1)}e.is=r})(Je||(Je={}));var kt;(function(e){function t(n,i){return{range:n,color:i}}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&_.is(i.range)&&Je.is(i.color)}e.is=r})(kt||(kt={}));var At;(function(e){function t(n,i,s){return{label:n,textEdit:i,additionalTextEdits:s}}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.undefined(i.textEdit)||G.is(i))&&(b.undefined(i.additionalTextEdits)||b.typedArray(i.additionalTextEdits,G.is))}e.is=r})(At||(At={}));var ye;(function(e){e.Comment=\"comment\",e.Imports=\"imports\",e.Region=\"region\"})(ye||(ye={}));var St;(function(e){function t(n,i,s,o,c,l){let a={startLine:n,endLine:i};return b.defined(s)&&(a.startCharacter=s),b.defined(o)&&(a.endCharacter=o),b.defined(c)&&(a.kind=c),b.defined(l)&&(a.collapsedText=l),a}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.startLine)&&b.uinteger(i.startLine)&&(b.undefined(i.startCharacter)||b.uinteger(i.startCharacter))&&(b.undefined(i.endCharacter)||b.uinteger(i.endCharacter))&&(b.undefined(i.kind)||b.string(i.kind))}e.is=r})(St||(St={}));var wt;(function(e){function t(n,i){return{location:n,message:i}}e.create=t;function r(n){let i=n;return b.defined(i)&&ue.is(i.location)&&b.string(i.message)}e.is=r})(wt||(wt={}));var z;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(z||(z={}));var xn;(function(e){e.Unnecessary=1,e.Deprecated=2})(xn||(xn={}));var kn;(function(e){function t(r){let n=r;return b.objectLiteral(n)&&b.string(n.href)}e.is=t})(kn||(kn={}));var ne;(function(e){function t(n,i,s,o,c,l){let a={range:n,message:i};return b.defined(s)&&(a.severity=s),b.defined(o)&&(a.code=o),b.defined(c)&&(a.source=c),b.defined(l)&&(a.relatedInformation=l),a}e.create=t;function r(n){var i;let s=n;return b.defined(s)&&_.is(s.range)&&b.string(s.message)&&(b.number(s.severity)||b.undefined(s.severity))&&(b.integer(s.code)||b.string(s.code)||b.undefined(s.code))&&(b.undefined(s.codeDescription)||b.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(b.string(s.source)||b.undefined(s.source))&&(b.undefined(s.relatedInformation)||b.typedArray(s.relatedInformation,wt.is))}e.is=r})(ne||(ne={}));var be;(function(e){function t(n,i,...s){let o={title:n,command:i};return b.defined(s)&&s.length>0&&(o.arguments=s),o}e.create=t;function r(n){let i=n;return b.defined(i)&&b.string(i.title)&&b.string(i.command)}e.is=r})(be||(be={}));var G;(function(e){function t(s,o){return{range:s,newText:o}}e.replace=t;function r(s,o){return{range:{start:s,end:s},newText:o}}e.insert=r;function n(s){return{range:s,newText:\"\"}}e.del=n;function i(s){let o=s;return b.objectLiteral(o)&&b.string(o.newText)&&_.is(o.range)}e.is=i})(G||(G={}));var Ot;(function(e){function t(n,i,s){let o={label:n};return i!==void 0&&(o.needsConfirmation=i),s!==void 0&&(o.description=s),o}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(b.string(i.description)||i.description===void 0)}e.is=r})(Ot||(Ot={}));var Te;(function(e){function t(r){let n=r;return b.string(n)}e.is=t})(Te||(Te={}));var An;(function(e){function t(s,o,c){return{range:s,newText:o,annotationId:c}}e.replace=t;function r(s,o,c){return{range:{start:s,end:s},newText:o,annotationId:c}}e.insert=r;function n(s,o){return{range:s,newText:\"\",annotationId:o}}e.del=n;function i(s){let o=s;return G.is(o)&&(Ot.is(o.annotationId)||Te.is(o.annotationId))}e.is=i})(An||(An={}));var Ce;(function(e){function t(n,i){return{textDocument:n,edits:i}}e.create=t;function r(n){let i=n;return b.defined(i)&&It.is(i.textDocument)&&Array.isArray(i.edits)}e.is=r})(Ce||(Ce={}));var Tt;(function(e){function t(n,i,s){let o={kind:\"create\",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}e.create=t;function r(n){let i=n;return i&&i.kind===\"create\"&&b.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Te.is(i.annotationId))}e.is=r})(Tt||(Tt={}));var Nt;(function(e){function t(n,i,s,o){let c={kind:\"rename\",oldUri:n,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(c.options=s),o!==void 0&&(c.annotationId=o),c}e.create=t;function r(n){let i=n;return i&&i.kind===\"rename\"&&b.string(i.oldUri)&&b.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Te.is(i.annotationId))}e.is=r})(Nt||(Nt={}));var Pt;(function(e){function t(n,i,s){let o={kind:\"delete\",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}e.create=t;function r(n){let i=n;return i&&i.kind===\"delete\"&&b.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||b.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||b.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Te.is(i.annotationId))}e.is=r})(Pt||(Pt={}));var qe;(function(e){function t(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>b.string(i.kind)?Tt.is(i)||Nt.is(i)||Pt.is(i):Ce.is(i)))}e.is=t})(qe||(qe={}));var Sn;(function(e){function t(n){return{uri:n}}e.create=t;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)}e.is=r})(Sn||(Sn={}));var Lt;(function(e){function t(n,i){return{uri:n,version:i}}e.create=t;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.integer(i.version)}e.is=r})(Lt||(Lt={}));var It;(function(e){function t(n,i){return{uri:n,version:i}}e.create=t;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&(i.version===null||b.integer(i.version))}e.is=r})(It||(It={}));var wn;(function(e){function t(n,i,s,o){return{uri:n,languageId:i,version:s,text:o}}e.create=t;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.string(i.languageId)&&b.integer(i.version)&&b.string(i.text)}e.is=r})(wn||(wn={}));var le;(function(e){e.PlainText=\"plaintext\",e.Markdown=\"markdown\";function t(r){let n=r;return n===e.PlainText||n===e.Markdown}e.is=t})(le||(le={}));var Ne;(function(e){function t(r){let n=r;return b.objectLiteral(r)&&le.is(n.kind)&&b.string(n.value)}e.is=t})(Ne||(Ne={}));var H;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(H||(H={}));var R;(function(e){e.PlainText=1,e.Snippet=2})(R||(R={}));var Et;(function(e){e.Deprecated=1})(Et||(Et={}));var On;(function(e){function t(n,i,s){return{newText:n,insert:i,replace:s}}e.create=t;function r(n){let i=n;return i&&b.string(i.newText)&&_.is(i.insert)&&_.is(i.replace)}e.is=r})(On||(On={}));var Tn;(function(e){e.asIs=1,e.adjustIndentation=2})(Tn||(Tn={}));var Nn;(function(e){function t(r){let n=r;return n&&(b.string(n.detail)||n.detail===void 0)&&(b.string(n.description)||n.description===void 0)}e.is=t})(Nn||(Nn={}));var Ee;(function(e){function t(r){return{label:r}}e.create=t})(Ee||(Ee={}));var _t;(function(e){function t(r,n){return{items:r||[],isIncomplete:!!n}}e.create=t})(_t||(_t={}));var _e;(function(e){function t(n){return n.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}e.fromPlainText=t;function r(n){let i=n;return b.string(i)||b.objectLiteral(i)&&b.string(i.language)&&b.string(i.value)}e.is=r})(_e||(_e={}));var jt;(function(e){function t(r){let n=r;return!!n&&b.objectLiteral(n)&&(Ne.is(n.contents)||_e.is(n.contents)||b.typedArray(n.contents,_e.is))&&(r.range===void 0||_.is(r.range))}e.is=t})(jt||(jt={}));var Pn;(function(e){function t(r,n){return n?{label:r,documentation:n}:{label:r}}e.create=t})(Pn||(Pn={}));var Ln;(function(e){function t(r,n,...i){let s={label:r};return b.defined(n)&&(s.documentation=n),b.defined(i)?s.parameters=i:s.parameters=[],s}e.create=t})(Ln||(Ln={}));var Vt;(function(e){e.Text=1,e.Read=2,e.Write=3})(Vt||(Vt={}));var Mt;(function(e){function t(r,n){let i={range:r};return b.number(n)&&(i.kind=n),i}e.create=t})(Mt||(Mt={}));var re;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(re||(re={}));var In;(function(e){e.Deprecated=1})(In||(In={}));var Ft;(function(e){function t(r,n,i,s,o){let c={name:r,kind:n,location:{uri:s,range:i}};return o&&(c.containerName=o),c}e.create=t})(Ft||(Ft={}));var En;(function(e){function t(r,n,i,s){return s!==void 0?{name:r,kind:n,location:{uri:i,range:s}}:{name:r,kind:n,location:{uri:i}}}e.create=t})(En||(En={}));var $t;(function(e){function t(n,i,s,o,c,l){let a={name:n,detail:i,kind:s,range:o,selectionRange:c};return l!==void 0&&(a.children=l),a}e.create=t;function r(n){let i=n;return i&&b.string(i.name)&&b.number(i.kind)&&_.is(i.range)&&_.is(i.selectionRange)&&(i.detail===void 0||b.string(i.detail))&&(i.deprecated===void 0||b.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}e.is=r})($t||($t={}));var Dt;(function(e){e.Empty=\"\",e.QuickFix=\"quickfix\",e.Refactor=\"refactor\",e.RefactorExtract=\"refactor.extract\",e.RefactorInline=\"refactor.inline\",e.RefactorRewrite=\"refactor.rewrite\",e.Source=\"source\",e.SourceOrganizeImports=\"source.organizeImports\",e.SourceFixAll=\"source.fixAll\"})(Dt||(Dt={}));var We;(function(e){e.Invoked=1,e.Automatic=2})(We||(We={}));var Rt;(function(e){function t(n,i,s){let o={diagnostics:n};return i!=null&&(o.only=i),s!=null&&(o.triggerKind=s),o}e.create=t;function r(n){let i=n;return b.defined(i)&&b.typedArray(i.diagnostics,ne.is)&&(i.only===void 0||b.typedArray(i.only,b.string))&&(i.triggerKind===void 0||i.triggerKind===We.Invoked||i.triggerKind===We.Automatic)}e.is=r})(Rt||(Rt={}));var Ut;(function(e){function t(n,i,s){let o={title:n},c=!0;return typeof i==\"string\"?(c=!1,o.kind=i):be.is(i)?o.command=i:o.edit=i,c&&s!==void 0&&(o.kind=s),o}e.create=t;function r(n){let i=n;return i&&b.string(i.title)&&(i.diagnostics===void 0||b.typedArray(i.diagnostics,ne.is))&&(i.kind===void 0||b.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||be.is(i.command))&&(i.isPreferred===void 0||b.boolean(i.isPreferred))&&(i.edit===void 0||qe.is(i.edit))}e.is=r})(Ut||(Ut={}));var _n;(function(e){function t(n,i){let s={range:n};return b.defined(i)&&(s.data=i),s}e.create=t;function r(n){let i=n;return b.defined(i)&&_.is(i.range)&&(b.undefined(i.command)||be.is(i.command))}e.is=r})(_n||(_n={}));var jn;(function(e){function t(n,i){return{tabSize:n,insertSpaces:i}}e.create=t;function r(n){let i=n;return b.defined(i)&&b.uinteger(i.tabSize)&&b.boolean(i.insertSpaces)}e.is=r})(jn||(jn={}));var Bt;(function(e){function t(n,i,s){return{range:n,target:i,data:s}}e.create=t;function r(n){let i=n;return b.defined(i)&&_.is(i.range)&&(b.undefined(i.target)||b.string(i.target))}e.is=r})(Bt||(Bt={}));var Pe;(function(e){function t(n,i){return{range:n,parent:i}}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&_.is(i.range)&&(i.parent===void 0||e.is(i.parent))}e.is=r})(Pe||(Pe={}));var Vn;(function(e){e.namespace=\"namespace\",e.type=\"type\",e.class=\"class\",e.enum=\"enum\",e.interface=\"interface\",e.struct=\"struct\",e.typeParameter=\"typeParameter\",e.parameter=\"parameter\",e.variable=\"variable\",e.property=\"property\",e.enumMember=\"enumMember\",e.event=\"event\",e.function=\"function\",e.method=\"method\",e.macro=\"macro\",e.keyword=\"keyword\",e.modifier=\"modifier\",e.comment=\"comment\",e.string=\"string\",e.number=\"number\",e.regexp=\"regexp\",e.operator=\"operator\",e.decorator=\"decorator\"})(Vn||(Vn={}));var Mn;(function(e){e.declaration=\"declaration\",e.definition=\"definition\",e.readonly=\"readonly\",e.static=\"static\",e.deprecated=\"deprecated\",e.abstract=\"abstract\",e.async=\"async\",e.modification=\"modification\",e.documentation=\"documentation\",e.defaultLibrary=\"defaultLibrary\"})(Mn||(Mn={}));var Fn;(function(e){function t(r){let n=r;return b.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId==\"string\")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]==\"number\")}e.is=t})(Fn||(Fn={}));var $n;(function(e){function t(n,i){return{range:n,text:i}}e.create=t;function r(n){let i=n;return i!=null&&_.is(i.range)&&b.string(i.text)}e.is=r})($n||($n={}));var Dn;(function(e){function t(n,i,s){return{range:n,variableName:i,caseSensitiveLookup:s}}e.create=t;function r(n){let i=n;return i!=null&&_.is(i.range)&&b.boolean(i.caseSensitiveLookup)&&(b.string(i.variableName)||i.variableName===void 0)}e.is=r})(Dn||(Dn={}));var Rn;(function(e){function t(n,i){return{range:n,expression:i}}e.create=t;function r(n){let i=n;return i!=null&&_.is(i.range)&&(b.string(i.expression)||i.expression===void 0)}e.is=r})(Rn||(Rn={}));var Un;(function(e){function t(n,i){return{frameId:n,stoppedLocation:i}}e.create=t;function r(n){let i=n;return b.defined(i)&&_.is(n.stoppedLocation)}e.is=r})(Un||(Un={}));var Jt;(function(e){e.Type=1,e.Parameter=2;function t(r){return r===1||r===2}e.is=t})(Jt||(Jt={}));var Ct;(function(e){function t(n){return{value:n}}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&(i.tooltip===void 0||b.string(i.tooltip)||Ne.is(i.tooltip))&&(i.location===void 0||ue.is(i.location))&&(i.command===void 0||be.is(i.command))}e.is=r})(Ct||(Ct={}));var Bn;(function(e){function t(n,i,s){let o={position:n,label:i};return s!==void 0&&(o.kind=s),o}e.create=t;function r(n){let i=n;return b.objectLiteral(i)&&D.is(i.position)&&(b.string(i.label)||b.typedArray(i.label,Ct.is))&&(i.kind===void 0||Jt.is(i.kind))&&i.textEdits===void 0||b.typedArray(i.textEdits,G.is)&&(i.tooltip===void 0||b.string(i.tooltip)||Ne.is(i.tooltip))&&(i.paddingLeft===void 0||b.boolean(i.paddingLeft))&&(i.paddingRight===void 0||b.boolean(i.paddingRight))}e.is=r})(Bn||(Bn={}));var Jn;(function(e){function t(r){return{kind:\"snippet\",value:r}}e.createSnippet=t})(Jn||(Jn={}));var Cn;(function(e){function t(r,n,i,s){return{insertText:r,filterText:n,range:i,command:s}}e.create=t})(Cn||(Cn={}));var qn;(function(e){function t(r){return{items:r}}e.create=t})(qn||(qn={}));var Wn;(function(e){e.Invoked=0,e.Automatic=1})(Wn||(Wn={}));var zn;(function(e){function t(r,n){return{range:r,text:n}}e.create=t})(zn||(zn={}));var Hn;(function(e){function t(r,n){return{triggerKind:r,selectedCompletionInfo:n}}e.create=t})(Hn||(Hn={}));var Gn;(function(e){function t(r){let n=r;return b.objectLiteral(n)&&xt.is(n.uri)&&b.string(n.name)}e.is=t})(Gn||(Gn={}));var Xn;(function(e){function t(s,o,c,l){return new qt(s,o,c,l)}e.create=t;function r(s){let o=s;return!!(b.defined(o)&&b.string(o.uri)&&(b.undefined(o.languageId)||b.string(o.languageId))&&b.uinteger(o.lineCount)&&b.func(o.getText)&&b.func(o.positionAt)&&b.func(o.offsetAt))}e.is=r;function n(s,o){let c=s.getText(),l=i(o,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),a=c.length;for(let u=l.length-1;u>=0;u--){let f=l[u],d=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=a)c=c.substring(0,d)+f.newText+c.substring(h,c.length);else throw new Error(\"Overlapping edit\");a=d}return c}e.applyEdits=n;function i(s,o){if(s.length<=1)return s;let c=s.length/2|0,l=s.slice(0,c),a=s.slice(c);i(l,o),i(a,o);let u=0,f=0,d=0;for(;u<l.length&&f<a.length;)o(l[u],a[f])<=0?s[d++]=l[u++]:s[d++]=a[f++];for(;u<l.length;)s[d++]=l[u++];for(;f<a.length;)s[d++]=a[f++];return s}})(Xn||(Xn={}));var qt=class{constructor(t,r,n,i){this._uri=t,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let r=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(r,n)}return this._content}update(t,r){this._content=t.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let t=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(t.push(i),n=!1);let s=r.charAt(i);n=s===\"\\r\"||s===`\n`,s===\"\\r\"&&i+1<r.length&&r.charAt(i+1)===`\n`&&i++}n&&r.length>0&&t.push(r.length),this._lineOffsets=t}return this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return D.create(0,t);for(;n<i;){let o=Math.floor((n+i)/2);r[o]>t?i=o:n=o+1}let s=n-1;return D.create(s,t-r[s])}offsetAt(t){let r=this.getLineOffsets();if(t.line>=r.length)return this._content.length;if(t.line<0)return 0;let n=r[t.line],i=t.line+1<r.length?r[t.line+1]:this._content.length;return Math.max(Math.min(n+t.character,i),n)}get lineCount(){return this.getLineOffsets().length}},b;(function(e){let t=Object.prototype.toString;function r(h){return typeof h<\"u\"}e.defined=r;function n(h){return typeof h>\"u\"}e.undefined=n;function i(h){return h===!0||h===!1}e.boolean=i;function s(h){return t.call(h)===\"[object String]\"}e.string=s;function o(h){return t.call(h)===\"[object Number]\"}e.number=o;function c(h,p,m){return t.call(h)===\"[object Number]\"&&p<=h&&h<=m}e.numberRange=c;function l(h){return t.call(h)===\"[object Number]\"&&-2147483648<=h&&h<=2147483647}e.integer=l;function a(h){return t.call(h)===\"[object Number]\"&&0<=h&&h<=2147483647}e.uinteger=a;function u(h){return t.call(h)===\"[object Function]\"}e.func=u;function f(h){return h!==null&&typeof h==\"object\"}e.objectLiteral=f;function d(h,p){return Array.isArray(h)&&h.every(p)}e.typedArray=d})(b||(b={}));var ze=class e{constructor(t,r,n,i){this._uri=t,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let r=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(r,n)}return this._content}update(t,r){for(let n of t)if(e.isIncremental(n)){let i=Qn(n.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(o,this._content.length);let c=Math.max(i.start.line,0),l=Math.max(i.end.line,0),a=this._lineOffsets,u=Zn(n.text,!1,s);if(l-c===u.length)for(let d=0,h=u.length;d<h;d++)a[d+c+1]=u[d];else u.length<1e4?a.splice(c+1,l-c,...u):this._lineOffsets=a=a.slice(0,c+1).concat(u,a.slice(l+1));let f=n.text.length-(o-s);if(f!==0)for(let d=c+1+u.length,h=a.length;d<h;d++)a[d]=a[d]+f}else if(e.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error(\"Unknown change event received\");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Zn(this._content,!0)),this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:t};for(;n<i;){let o=Math.floor((n+i)/2);r[o]>t?i=o:n=o+1}let s=n-1;return{line:s,character:t-r[s]}}offsetAt(t){let r=this.getLineOffsets();if(t.line>=r.length)return this._content.length;if(t.line<0)return 0;let n=r[t.line],i=t.line+1<r.length?r[t.line+1]:this._content.length;return Math.max(Math.min(n+t.character,i),n)}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let r=t;return r!=null&&typeof r.text==\"string\"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength==\"number\")}static isFull(t){let r=t;return r!=null&&typeof r.text==\"string\"&&r.range===void 0&&r.rangeLength===void 0}},X;(function(e){function t(i,s,o,c){return new ze(i,s,o,c)}e.create=t;function r(i,s,o){if(i instanceof ze)return i.update(s,o),i;throw new Error(\"TextDocument.update: document must be created by TextDocument.create\")}e.update=r;function n(i,s){let o=i.getText(),c=Wt(s.map(Vr),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=0,a=[];for(let u of c){let f=i.offsetAt(u.range.start);if(f<l)throw new Error(\"Overlapping edit\");f>l&&a.push(o.substring(l,f)),u.newText.length&&a.push(u.newText),l=i.offsetAt(u.range.end)}return a.push(o.substr(l)),a.join(\"\")}e.applyEdits=n})(X||(X={}));function Wt(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),i=e.slice(r);Wt(n,t),Wt(i,t);let s=0,o=0,c=0;for(;s<n.length&&o<i.length;)t(n[s],i[o])<=0?e[c++]=n[s++]:e[c++]=i[o++];for(;s<n.length;)e[c++]=n[s++];for(;o<i.length;)e[c++]=i[o++];return e}function Zn(e,t,r=0){let n=t?[r]:[];for(let i=0;i<e.length;i++){let s=e.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<e.length&&e.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function Qn(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function Vr(e){let t=Qn(e.range);return t!==e.range?{newText:e.newText,range:t}:e}var M;(function(e){e[e.Undefined=0]=\"Undefined\",e[e.EnumValueMismatch=1]=\"EnumValueMismatch\",e[e.Deprecated=2]=\"Deprecated\",e[e.UnexpectedEndOfComment=257]=\"UnexpectedEndOfComment\",e[e.UnexpectedEndOfString=258]=\"UnexpectedEndOfString\",e[e.UnexpectedEndOfNumber=259]=\"UnexpectedEndOfNumber\",e[e.InvalidUnicode=260]=\"InvalidUnicode\",e[e.InvalidEscapeCharacter=261]=\"InvalidEscapeCharacter\",e[e.InvalidCharacter=262]=\"InvalidCharacter\",e[e.PropertyExpected=513]=\"PropertyExpected\",e[e.CommaExpected=514]=\"CommaExpected\",e[e.ColonExpected=515]=\"ColonExpected\",e[e.ValueExpected=516]=\"ValueExpected\",e[e.CommaOrCloseBacketExpected=517]=\"CommaOrCloseBacketExpected\",e[e.CommaOrCloseBraceExpected=518]=\"CommaOrCloseBraceExpected\",e[e.TrailingComma=519]=\"TrailingComma\",e[e.DuplicateKey=520]=\"DuplicateKey\",e[e.CommentNotPermitted=521]=\"CommentNotPermitted\",e[e.PropertyKeysMustBeDoublequoted=528]=\"PropertyKeysMustBeDoublequoted\",e[e.SchemaResolveError=768]=\"SchemaResolveError\",e[e.SchemaUnsupportedFeature=769]=\"SchemaUnsupportedFeature\"})(M||(M={}));var ie;(function(e){e[e.v3=3]=\"v3\",e[e.v4=4]=\"v4\",e[e.v6=6]=\"v6\",e[e.v7=7]=\"v7\",e[e.v2019_09=19]=\"v2019_09\",e[e.v2020_12=20]=\"v2020_12\"})(ie||(ie={}));var He;(function(e){e.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[le.Markdown,le.PlainText],commitCharactersSupport:!0,labelDetailsSupport:!0}}}}})(He||(He={}));var Mr;function A(...e){let t=e[0],r,n,i;if(typeof t==\"string\")r=t,n=t,e.splice(0,1),i=!e||typeof e[0]!=\"object\"?e:e[0];else if(t instanceof Array){let o=e.slice(1);if(t.length!==o.length+1)throw new Error(\"expected a string as the first argument to l10n.t\");let c=t[0];for(let l=1;l<t.length;l++)c+=`{${l-1}}`+t[l];return A(c,...o)}else n=t.message,r=n,t.comment&&t.comment.length>0&&(r+=`/${Array.isArray(t.comment)?t.comment.join(\"\"):t.comment}`),i=t.args??{};let s=Mr?.[r];return s?typeof s==\"string\"?Ge(s,i):s.comment?Ge(s.message,i):Ge(n,i):Ge(n,i)}var Fr=/{([^}]+)}/g;function Ge(e,t){return Object.keys(t).length===0?e:e.replace(Fr,(r,n)=>t[n]??r)}var $r={\"color-hex\":{errorMessage:A(\"Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA.\"),pattern:/^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/},\"date-time\":{errorMessage:A(\"String is not a RFC3339 date-time.\"),pattern:/^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},date:{errorMessage:A(\"String is not a RFC3339 date.\"),pattern:/^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/i},time:{errorMessage:A(\"String is not a RFC3339 time.\"),pattern:/^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},email:{errorMessage:A(\"String is not an e-mail address.\"),pattern:/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}))$/},hostname:{errorMessage:A(\"String is not a hostname.\"),pattern:/^(?=.{1,253}\\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\\.?$/i},ipv4:{errorMessage:A(\"String is not an IPv4 address.\"),pattern:/^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/},ipv6:{errorMessage:A(\"String is not an IPv6 address.\"),pattern:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))$/i}},ce=class{constructor(t,r,n=0){this.offset=r,this.length=n,this.parent=t}get children(){return[]}toString(){return\"type: \"+this.type+\" (\"+this.offset+\"/\"+this.length+\")\"+(this.parent?\" parent: {\"+this.parent.toString()+\"}\":\"\")}},zt=class extends ce{constructor(t,r){super(t,r),this.type=\"null\",this.value=null}},Xe=class extends ce{constructor(t,r,n){super(t,n),this.type=\"boolean\",this.value=r}},Ht=class extends ce{constructor(t,r){super(t,r),this.type=\"array\",this.items=[]}get children(){return this.items}},Gt=class extends ce{constructor(t,r){super(t,r),this.type=\"number\",this.isInteger=!0,this.value=Number.NaN}},je=class extends ce{constructor(t,r,n){super(t,r,n),this.type=\"string\",this.value=\"\"}},Xt=class extends ce{constructor(t,r,n){super(t,r),this.type=\"property\",this.colonOffset=-1,this.keyNode=n}get children(){return this.valueNode?[this.keyNode,this.valueNode]:[this.keyNode]}},Zt=class extends ce{constructor(t,r){super(t,r),this.type=\"object\",this.properties=[]}get children(){return this.properties}};function Z(e){return te(e)?e?{}:{not:{}}:e}var Yn;(function(e){e[e.Key=0]=\"Key\",e[e.Enum=1]=\"Enum\"})(Yn||(Yn={}));var Dr={\"http://json-schema.org/draft-03/schema#\":ie.v3,\"http://json-schema.org/draft-04/schema#\":ie.v4,\"http://json-schema.org/draft-06/schema#\":ie.v6,\"http://json-schema.org/draft-07/schema#\":ie.v7,\"https://json-schema.org/draft/2019-09/schema\":ie.v2019_09,\"https://json-schema.org/draft/2020-12/schema\":ie.v2020_12},Ze=class{constructor(t){this.schemaDraft=t}},Qt=class e{constructor(t=-1,r){this.focusOffset=t,this.exclude=r,this.schemas=[]}add(t){this.schemas.push(t)}merge(t){Array.prototype.push.apply(this.schemas,t.schemas)}include(t){return(this.focusOffset===-1||Yt(t,this.focusOffset))&&t!==this.exclude}newSub(){return new e(-1,this.exclude)}},ve=class{constructor(){}get schemas(){return[]}add(t){}merge(t){}include(t){return!0}newSub(){return this}};ve.instance=new ve;var q=class{constructor(){this.problems=[],this.propertiesMatches=0,this.processedProperties=new Set,this.propertiesValueMatches=0,this.primaryValueMatches=0,this.enumValueMatch=!1,this.enumValues=void 0}hasProblems(){return!!this.problems.length}merge(t){this.problems=this.problems.concat(t.problems),this.propertiesMatches+=t.propertiesMatches,this.propertiesValueMatches+=t.propertiesValueMatches,this.mergeProcessedProperties(t)}mergeEnumValues(t){if(!this.enumValueMatch&&!t.enumValueMatch&&this.enumValues&&t.enumValues){this.enumValues=this.enumValues.concat(t.enumValues);for(let r of this.problems)r.code===M.EnumValueMismatch&&(r.message=A(\"Value is not accepted. Valid values: {0}.\",this.enumValues.map(n=>JSON.stringify(n)).join(\", \")))}}mergePropertyMatch(t){this.problems=this.problems.concat(t.problems),this.propertiesMatches++,(t.enumValueMatch||!t.hasProblems()&&t.propertiesMatches)&&this.propertiesValueMatches++,t.enumValueMatch&&t.enumValues&&t.enumValues.length===1&&this.primaryValueMatches++}mergeProcessedProperties(t){t.processedProperties.forEach(r=>this.processedProperties.add(r))}compare(t){let r=this.hasProblems();return r!==t.hasProblems()?r?-1:1:this.enumValueMatch!==t.enumValueMatch?t.enumValueMatch?-1:1:this.primaryValueMatches!==t.primaryValueMatches?this.primaryValueMatches-t.primaryValueMatches:this.propertiesValueMatches!==t.propertiesValueMatches?this.propertiesValueMatches-t.propertiesValueMatches:this.propertiesMatches-t.propertiesMatches}};function er(e,t=[]){return new Qe(e,t,[])}function ae(e){return gn(e)}function Ve(e){return pn(e)}function Yt(e,t,r=!1){return t>=e.offset&&t<e.offset+e.length||r&&t===e.offset+e.length}var Qe=class{constructor(t,r=[],n=[]){this.root=t,this.syntaxErrors=r,this.comments=n}getNodeFromOffset(t,r=!1){if(this.root)return hn(this.root,t,r)}visit(t){if(this.root){let r=n=>{let i=t(n),s=n.children;if(Array.isArray(s))for(let o=0;o<s.length&&i;o++)i=r(s[o]);return i};r(this.root)}}validate(t,r,n=z.Warning,i){if(this.root&&r){let s=new q;return C(this.root,r,s,ve.instance,new Ze(i??Kn(r))),s.problems.map(o=>{let c=_.create(t.positionAt(o.location.offset),t.positionAt(o.location.offset+o.location.length));return ne.create(c,o.message,o.severity??n,o.code)})}}getMatchingSchemas(t,r=-1,n){if(this.root&&t){let i=new Qt(r,n),s=Kn(t),o=new Ze(s);return C(this.root,t,new q,i,o),i.schemas}return[]}};function Kn(e,t=ie.v2020_12){let r=e.$schema;return r?Dr[r]??t:t}function C(e,t,r,n,i){if(!e||!n.include(e))return;if(e.type===\"property\")return C(e.valueNode,t,r,n,i);let s=e;switch(o(),s.type){case\"object\":u(s);break;case\"array\":a(s);break;case\"string\":l(s);break;case\"number\":c(s);break}n.add({node:s,schema:t});function o(){function f(w){return s.type===w||w===\"integer\"&&s.type===\"number\"&&s.isInteger}if(Array.isArray(t.type)?t.type.some(f)||r.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||A(\"Incorrect type. Expected one of {0}.\",t.type.join(\", \"))}):t.type&&(f(t.type)||r.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||A('Incorrect type. Expected \"{0}\".',t.type)})),Array.isArray(t.allOf))for(let w of t.allOf){let g=new q,S=n.newSub();C(s,Z(w),g,S,i),r.merge(g),n.merge(S)}let d=Z(t.not);if(d){let w=new q,g=n.newSub();C(s,d,w,g,i),w.hasProblems()||r.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||A(\"Matches a schema that is not allowed.\")});for(let S of g.schemas)S.inverted=!S.inverted,n.add(S)}let h=(w,g)=>{let S=[],x;for(let T of w){let O=Z(T),I=new q,E=n.newSub();if(C(s,O,I,E,i),I.hasProblems()||S.push(O),!x)x={schema:O,validationResult:I,matchingSchemas:E};else if(!g&&!I.hasProblems()&&!x.validationResult.hasProblems())x.matchingSchemas.merge(E),x.validationResult.propertiesMatches+=I.propertiesMatches,x.validationResult.propertiesValueMatches+=I.propertiesValueMatches,x.validationResult.mergeProcessedProperties(I);else{let j=I.compare(x.validationResult);j>0?x={schema:O,validationResult:I,matchingSchemas:E}:j===0&&(x.matchingSchemas.merge(E),x.validationResult.mergeEnumValues(I))}}return S.length>1&&g&&r.problems.push({location:{offset:s.offset,length:1},message:A(\"Matches multiple schemas when only one must validate.\")}),x&&(r.merge(x.validationResult),n.merge(x.matchingSchemas)),S.length};Array.isArray(t.anyOf)&&h(t.anyOf,!1),Array.isArray(t.oneOf)&&h(t.oneOf,!0);let p=w=>{let g=new q,S=n.newSub();C(s,Z(w),g,S,i),r.merge(g),n.merge(S)},m=(w,g,S)=>{let x=Z(w),T=new q,O=n.newSub();C(s,x,T,O,i),n.merge(O),r.mergeProcessedProperties(T),T.hasProblems()?S&&p(S):g&&p(g)},y=Z(t.if);if(y&&m(y,Z(t.then),Z(t.else)),Array.isArray(t.enum)){let w=ae(s),g=!1;for(let S of t.enum)if(ge(w,S)){g=!0;break}r.enumValues=t.enum,r.enumValueMatch=g,g||r.problems.push({location:{offset:s.offset,length:s.length},code:M.EnumValueMismatch,message:t.errorMessage||A(\"Value is not accepted. Valid values: {0}.\",t.enum.map(S=>JSON.stringify(S)).join(\", \"))})}if(Y(t.const)){let w=ae(s);ge(w,t.const)?r.enumValueMatch=!0:(r.problems.push({location:{offset:s.offset,length:s.length},code:M.EnumValueMismatch,message:t.errorMessage||A(\"Value must be {0}.\",JSON.stringify(t.const))}),r.enumValueMatch=!1),r.enumValues=[t.const]}let k=t.deprecationMessage;if(k||t.deprecated){k=k||A(\"Value is deprecated\");let w=s.parent?.type===\"property\"?s.parent:s;r.problems.push({location:{offset:w.offset,length:w.length},severity:z.Warning,message:k,code:M.Deprecated})}}function c(f){let d=f.value;function h(S){let x=/^(-?\\d+)(?:\\.(\\d+))?(?:e([-+]\\d+))?$/.exec(S.toString());return x&&{value:Number(x[1]+(x[2]||\"\")),multiplier:(x[2]?.length||0)-(parseInt(x[3])||0)}}if(W(t.multipleOf)){let S=-1;if(Number.isInteger(t.multipleOf))S=d%t.multipleOf;else{let x=h(t.multipleOf),T=h(d);if(x&&T){let O=10**Math.abs(T.multiplier-x.multiplier);T.multiplier<x.multiplier?T.value*=O:x.value*=O,S=T.value%x.value}}S!==0&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Value is not divisible by {0}.\",t.multipleOf)})}function p(S,x){if(W(x))return x;if(te(x)&&x)return S}function m(S,x){if(!te(x)||!x)return S}let y=p(t.minimum,t.exclusiveMinimum);W(y)&&d<=y&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Value is below the exclusive minimum of {0}.\",y)});let k=p(t.maximum,t.exclusiveMaximum);W(k)&&d>=k&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Value is above the exclusive maximum of {0}.\",k)});let w=m(t.minimum,t.exclusiveMinimum);W(w)&&d<w&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Value is below the minimum of {0}.\",w)});let g=m(t.maximum,t.exclusiveMaximum);W(g)&&d>g&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Value is above the maximum of {0}.\",g)})}function l(f){if(W(t.minLength)&&bt(f.value)<t.minLength&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"String is shorter than the minimum length of {0}.\",t.minLength)}),W(t.maxLength)&&bt(f.value)>t.maxLength&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"String is longer than the maximum length of {0}.\",t.maxLength)}),Ue(t.pattern)&&(me(t.pattern)?.test(f.value)||r.problems.push({location:{offset:f.offset,length:f.length},message:t.patternErrorMessage||t.errorMessage||A('String does not match the pattern of \"{0}\".',t.pattern)})),t.format)switch(t.format){case\"uri\":case\"uri-reference\":{let h;if(!f.value)h=A(\"URI expected.\");else{let p=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/.exec(f.value);p?!p[2]&&t.format===\"uri\"&&(h=A(\"URI with a scheme is expected.\")):h=A(\"URI is expected.\")}h&&r.problems.push({location:{offset:f.offset,length:f.length},message:t.patternErrorMessage||t.errorMessage||A(\"String is not a URI: {0}\",h)})}break;case\"color-hex\":case\"date-time\":case\"date\":case\"time\":case\"email\":case\"hostname\":case\"ipv4\":case\"ipv6\":let d=$r[t.format];(!f.value||!d.pattern.exec(f.value))&&r.problems.push({location:{offset:f.offset,length:f.length},message:t.patternErrorMessage||t.errorMessage||d.errorMessage});default:}}function a(f){let d,h;i.schemaDraft>=ie.v2020_12?(d=t.prefixItems,h=Array.isArray(t.items)?void 0:t.items):(d=Array.isArray(t.items)?t.items:void 0,h=Array.isArray(t.items)?t.additionalItems:t.items);let p=0;if(d!==void 0){let k=Math.min(d.length,f.items.length);for(;p<k;p++){let w=d[p],g=Z(w),S=new q,x=f.items[p];x&&(C(x,g,S,n,i),r.mergePropertyMatch(S)),r.processedProperties.add(String(p))}}if(h!==void 0&&p<f.items.length)if(typeof h==\"boolean\")for(h===!1&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Array has too many items according to schema. Expected {0} or fewer.\",p)});p<f.items.length;p++)r.processedProperties.add(String(p)),r.propertiesValueMatches++;else for(;p<f.items.length;p++){let k=new q;C(f.items[p],h,k,n,i),r.mergePropertyMatch(k),r.processedProperties.add(String(p))}let m=Z(t.contains);if(m){let k=0;for(let w=0;w<f.items.length;w++){let g=f.items[w],S=new q;C(g,m,S,ve.instance,i),S.hasProblems()||(k++,i.schemaDraft>=ie.v2020_12&&r.processedProperties.add(String(w)))}k===0&&!W(t.minContains)&&r.problems.push({location:{offset:f.offset,length:f.length},message:t.errorMessage||A(\"Array does not contain required item.\")}),W(t.minContains)&&k<t.minContains&&r.problems.push({location:{offset:f.offset,length:f.length},message:t.errorMessage||A(\"Array has too few items that match the contains contraint. Expected {0} or more.\",t.minContains)}),W(t.maxContains)&&k>t.maxContains&&r.problems.push({location:{offset:f.offset,length:f.length},message:t.errorMessage||A(\"Array has too many items that match the contains contraint. Expected {0} or less.\",t.maxContains)})}let y=t.unevaluatedItems;if(y!==void 0)for(let k=0;k<f.items.length;k++){if(!r.processedProperties.has(String(k)))if(y===!1)r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Item does not match any validation rule from the array.\")});else{let w=new q;C(f.items[k],t.unevaluatedItems,w,n,i),r.mergePropertyMatch(w)}r.processedProperties.add(String(k)),r.propertiesValueMatches++}if(W(t.minItems)&&f.items.length<t.minItems&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Array has too few items. Expected {0} or more.\",t.minItems)}),W(t.maxItems)&&f.items.length>t.maxItems&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Array has too many items. Expected {0} or fewer.\",t.maxItems)}),t.uniqueItems===!0){let w=function(){for(let g=0;g<k.length-1;g++){let S=k[g];for(let x=g+1;x<k.length;x++)if(ge(S,k[x]))return!0}return!1},k=ae(f);w()&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Array has duplicate items.\")})}}function u(f){let d=Object.create(null),h=new Set;for(let g of f.properties){let S=g.keyNode.value;d[S]=g.valueNode,h.add(S)}if(Array.isArray(t.required)){for(let g of t.required)if(!d[g]){let S=f.parent&&f.parent.type===\"property\"&&f.parent.keyNode,x=S?{offset:S.offset,length:S.length}:{offset:f.offset,length:1};r.problems.push({location:x,message:A('Missing property \"{0}\".',g)})}}let p=g=>{h.delete(g),r.processedProperties.add(g)};if(t.properties)for(let g of Object.keys(t.properties)){p(g);let S=t.properties[g],x=d[g];if(x)if(te(S))if(S)r.propertiesMatches++,r.propertiesValueMatches++;else{let T=x.parent;r.problems.push({location:{offset:T.keyNode.offset,length:T.keyNode.length},message:t.errorMessage||A(\"Property {0} is not allowed.\",g)})}else{let T=new q;C(x,S,T,n,i),r.mergePropertyMatch(T)}}if(t.patternProperties)for(let g of Object.keys(t.patternProperties)){let S=me(g);if(S){let x=[];for(let T of h)if(S.test(T)){x.push(T);let O=d[T];if(O){let I=t.patternProperties[g];if(te(I))if(I)r.propertiesMatches++,r.propertiesValueMatches++;else{let E=O.parent;r.problems.push({location:{offset:E.keyNode.offset,length:E.keyNode.length},message:t.errorMessage||A(\"Property {0} is not allowed.\",T)})}else{let E=new q;C(O,I,E,n,i),r.mergePropertyMatch(E)}}}x.forEach(p)}}let m=t.additionalProperties;if(m!==void 0)for(let g of h){p(g);let S=d[g];if(S){if(m===!1){let x=S.parent;r.problems.push({location:{offset:x.keyNode.offset,length:x.keyNode.length},message:t.errorMessage||A(\"Property {0} is not allowed.\",g)})}else if(m!==!0){let x=new q;C(S,m,x,n,i),r.mergePropertyMatch(x)}}}let y=t.unevaluatedProperties;if(y!==void 0){let g=[];for(let S of h)if(!r.processedProperties.has(S)){g.push(S);let x=d[S];if(x){if(y===!1){let T=x.parent;r.problems.push({location:{offset:T.keyNode.offset,length:T.keyNode.length},message:t.errorMessage||A(\"Property {0} is not allowed.\",S)})}else if(y!==!0){let T=new q;C(x,y,T,n,i),r.mergePropertyMatch(T)}}}g.forEach(p)}if(W(t.maxProperties)&&f.properties.length>t.maxProperties&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Object has more properties than limit of {0}.\",t.maxProperties)}),W(t.minProperties)&&f.properties.length<t.minProperties&&r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Object has fewer properties than the required number of {0}\",t.minProperties)}),t.dependentRequired)for(let g in t.dependentRequired){let S=d[g],x=t.dependentRequired[g];S&&Array.isArray(x)&&w(g,x)}if(t.dependentSchemas)for(let g in t.dependentSchemas){let S=d[g],x=t.dependentSchemas[g];S&&oe(x)&&w(g,x)}if(t.dependencies)for(let g in t.dependencies)d[g]&&w(g,t.dependencies[g]);let k=Z(t.propertyNames);if(k)for(let g of f.properties){let S=g.keyNode;S&&C(S,k,r,ve.instance,i)}function w(g,S){if(Array.isArray(S))for(let x of S)d[x]?r.propertiesValueMatches++:r.problems.push({location:{offset:f.offset,length:f.length},message:A(\"Object is missing property {0} required by property {1}.\",x,g)});else{let x=Z(S);if(x){let T=new q;C(f,x,T,n,i),r.mergePropertyMatch(T)}}}}}function tr(e,t){let r=[],n=-1,i=e.getText(),s=ee(i,!1),o=t&&t.collectComments?[]:void 0;function c(){for(;;){let O=s.scan();switch(f(),O){case 12:case 13:Array.isArray(o)&&o.push(_.create(e.positionAt(s.getTokenOffset()),e.positionAt(s.getTokenOffset()+s.getTokenLength())));break;case 15:case 14:break;default:return O}}}function l(O){return s.getToken()===O?(c(),!0):!1}function a(O,I,E,j,N=z.Error){if(r.length===0||E!==n){let v=_.create(e.positionAt(E),e.positionAt(j));r.push(ne.create(v,O,N,I,e.languageId)),n=E}}function u(O,I,E=void 0,j=[],N=[]){let v=s.getTokenOffset(),P=s.getTokenOffset()+s.getTokenLength();if(v===P&&v>0){for(v--;v>0&&/\\s/.test(i.charAt(v));)v--;P=v+1}if(a(O,I,v,P),E&&d(E,!1),j.length+N.length>0){let L=s.getToken();for(;L!==17;){if(j.indexOf(L)!==-1){c();break}else if(N.indexOf(L)!==-1)break;L=c()}}return E}function f(){switch(s.getTokenError()){case 4:return u(A(\"Invalid unicode sequence in string.\"),M.InvalidUnicode),!0;case 5:return u(A(\"Invalid escape character in string.\"),M.InvalidEscapeCharacter),!0;case 3:return u(A(\"Unexpected end of number.\"),M.UnexpectedEndOfNumber),!0;case 1:return u(A(\"Unexpected end of comment.\"),M.UnexpectedEndOfComment),!0;case 2:return u(A(\"Unexpected end of string.\"),M.UnexpectedEndOfString),!0;case 6:return u(A(\"Invalid characters in string. Control characters must be escaped.\"),M.InvalidCharacter),!0}return!1}function d(O,I){return O.length=s.getTokenOffset()+s.getTokenLength()-O.offset,I&&c(),O}function h(O){if(s.getToken()!==3)return;let I=new Ht(O,s.getTokenOffset());c();let E=0,j=!1;for(;s.getToken()!==4&&s.getToken()!==17;){if(s.getToken()===5){j||u(A(\"Value expected\"),M.ValueExpected);let v=s.getTokenOffset();if(c(),s.getToken()===4){j&&a(A(\"Trailing comma\"),M.TrailingComma,v,v+1);continue}}else j&&u(A(\"Expected comma\"),M.CommaExpected);let N=S(I);N?I.items.push(N):u(A(\"Value expected\"),M.ValueExpected,void 0,[],[4,5]),j=!0}return s.getToken()!==4?u(A(\"Expected comma or closing bracket\"),M.CommaOrCloseBacketExpected,I):d(I,!0)}let p=new je(void 0,0,0);function m(O,I){let E=new Xt(O,s.getTokenOffset(),p),j=k(E);if(!j)if(s.getToken()===16){u(A(\"Property keys must be doublequoted\"),M.PropertyKeysMustBeDoublequoted);let v=new je(E,s.getTokenOffset(),s.getTokenLength());v.value=s.getTokenValue(),j=v,c()}else return;if(E.keyNode=j,j.value!==\"//\"){let v=I[j.value];v?(a(A(\"Duplicate object key\"),M.DuplicateKey,E.keyNode.offset,E.keyNode.offset+E.keyNode.length,z.Warning),oe(v)&&a(A(\"Duplicate object key\"),M.DuplicateKey,v.keyNode.offset,v.keyNode.offset+v.keyNode.length,z.Warning),I[j.value]=!0):I[j.value]=E}if(s.getToken()===6)E.colonOffset=s.getTokenOffset(),c();else if(u(A(\"Colon expected\"),M.ColonExpected),s.getToken()===10&&e.positionAt(j.offset+j.length).line<e.positionAt(s.getTokenOffset()).line)return E.length=j.length,E;let N=S(E);return N?(E.valueNode=N,E.length=N.offset+N.length-E.offset,E):u(A(\"Value expected\"),M.ValueExpected,E,[],[2,5])}function y(O){if(s.getToken()!==1)return;let I=new Zt(O,s.getTokenOffset()),E=Object.create(null);c();let j=!1;for(;s.getToken()!==2&&s.getToken()!==17;){if(s.getToken()===5){j||u(A(\"Property expected\"),M.PropertyExpected);let v=s.getTokenOffset();if(c(),s.getToken()===2){j&&a(A(\"Trailing comma\"),M.TrailingComma,v,v+1);continue}}else j&&u(A(\"Expected comma\"),M.CommaExpected);let N=m(I,E);N?I.properties.push(N):u(A(\"Property expected\"),M.PropertyExpected,void 0,[],[2,5]),j=!0}return s.getToken()!==2?u(A(\"Expected comma or closing brace\"),M.CommaOrCloseBraceExpected,I):d(I,!0)}function k(O){if(s.getToken()!==10)return;let I=new je(O,s.getTokenOffset());return I.value=s.getTokenValue(),d(I,!0)}function w(O){if(s.getToken()!==11)return;let I=new Gt(O,s.getTokenOffset());if(s.getTokenError()===0){let E=s.getTokenValue();try{let j=JSON.parse(E);if(!W(j))return u(A(\"Invalid number format.\"),M.Undefined,I);I.value=j}catch{return u(A(\"Invalid number format.\"),M.Undefined,I)}I.isInteger=E.indexOf(\".\")===-1}return d(I,!0)}function g(O){let I;switch(s.getToken()){case 7:return d(new zt(O,s.getTokenOffset()),!0);case 8:return d(new Xe(O,!0,s.getTokenOffset()),!0);case 9:return d(new Xe(O,!1,s.getTokenOffset()),!0);default:return}}function S(O){return h(O)||y(O)||k(O)||w(O)||g(O)}let x;return c()!==17&&(x=S(x),x?s.getToken()!==17&&u(A(\"End of file expected.\"),M.Undefined):u(A(\"Expected a JSON object, array or literal.\"),M.Undefined)),new Qe(x,r,o)}function Ke(e,t,r){if(e!==null&&typeof e==\"object\"){let n=t+\"\t\";if(Array.isArray(e)){if(e.length===0)return\"[]\";let i=`[\n`;for(let s=0;s<e.length;s++)i+=n+Ke(e[s],n,r),s<e.length-1&&(i+=\",\"),i+=`\n`;return i+=t+\"]\",i}else{let i=Object.keys(e);if(i.length===0)return\"{}\";let s=`{\n`;for(let o=0;o<i.length;o++){let c=i[o];s+=n+JSON.stringify(c)+\": \"+Ke(e[c],n,r),o<i.length-1&&(s+=\",\"),s+=`\n`}return s+=t+\"}\",s}}return r(e)}var Rr=[\",\",\"}\",\"]\"],Ur=[\":\"],et=class{constructor(t,r=[],n=Promise,i={}){this.schemaService=t,this.contributions=r,this.promiseConstructor=n,this.clientCapabilities=i}doResolve(t){for(let r=this.contributions.length-1;r>=0;r--){let n=this.contributions[r].resolveCompletion;if(n){let i=n(t);if(i)return i}}return this.promiseConstructor.resolve(t)}doComplete(t,r,n){let i={items:[],isIncomplete:!1},s=t.getText(),o=t.offsetAt(r),c=n.getNodeFromOffset(o,!0);if(this.isInComment(t,c?c.offset:0,o))return Promise.resolve(i);if(c&&o===c.offset+c.length&&o>0){let h=s[o-1];(c.type===\"object\"&&h===\"}\"||c.type===\"array\"&&h===\"]\")&&(c=c.parent)}let l=this.getCurrentWord(t,o),a;if(c&&(c.type===\"string\"||c.type===\"number\"||c.type===\"boolean\"||c.type===\"null\"))a=_.create(t.positionAt(c.offset),t.positionAt(c.offset+c.length));else{let h=o-l.length;h>0&&s[h-1]==='\"'&&h--,a=_.create(t.positionAt(h),r)}let u=!1,f=new Map,d={add:h=>{let p=h.label,m=f.get(p);if(m)m.documentation||(m.documentation=h.documentation),m.detail||(m.detail=h.detail),m.labelDetails||(m.labelDetails=h.labelDetails);else{if(p=p.replace(/[\\n]/g,\"\\u21B5\"),p.length>60){let y=p.substr(0,57).trim()+\"...\";f.has(y)||(p=y)}h.textEdit=G.replace(a,h.insertText),u&&(h.commitCharacters=h.kind===H.Property?Ur:Rr),h.label=p,f.set(p,h),i.items.push(h)}},setAsIncomplete:()=>{i.isIncomplete=!0},error:h=>{console.error(h)},getNumberOfProposals:()=>i.items.length};return this.schemaService.getSchemaForResource(t.uri,n).then(h=>{let p=[],m=!0,y=\"\",k;if(c&&c.type===\"string\"){let g=c.parent;g&&g.type===\"property\"&&g.keyNode===c&&(m=!g.valueNode,k=g,y=s.substr(c.offset+1,c.length-2),g&&(c=g.parent))}if(c&&c.type===\"object\"){if(c.offset===o)return i;c.properties.forEach(T=>{(!k||k!==T)&&f.set(T.keyNode.value,Ee.create(\"__\"))});let S=\"\";m&&(S=this.evaluateSeparatorAfter(t,t.offsetAt(a.end))),h?this.getPropertyCompletions(h,n,c,m,S,d):this.getSchemaLessPropertyCompletions(n,c,y,d);let x=Ve(c);this.contributions.forEach(T=>{let O=T.collectPropertyCompletions(t.uri,x,l,m,S===\"\",d);O&&p.push(O)}),!h&&l.length>0&&s.charAt(o-l.length-1)!=='\"'&&(d.add({kind:H.Property,label:this.getLabelForValue(l),insertText:this.getInsertTextForProperty(l,void 0,!1,S),insertTextFormat:R.Snippet,documentation:\"\"}),d.setAsIncomplete())}let w={};return h?this.getValueCompletions(h,n,c,o,t,d,w):this.getSchemaLessValueCompletions(n,c,o,t,d),this.contributions.length>0&&this.getContributedValueCompletions(n,c,o,t,d,p),this.promiseConstructor.all(p).then(()=>{if(d.getNumberOfProposals()===0){let g=o;c&&(c.type===\"string\"||c.type===\"number\"||c.type===\"boolean\"||c.type===\"null\")&&(g=c.offset+c.length);let S=this.evaluateSeparatorAfter(t,g);this.addFillerValueCompletions(w,S,d)}return i})})}getPropertyCompletions(t,r,n,i,s,o){r.getMatchingSchemas(t.schema,n.offset).forEach(l=>{if(l.node===n&&!l.inverted){let a=l.schema.properties;a&&Object.keys(a).forEach(f=>{let d=a[f];if(typeof d==\"object\"&&!d.deprecationMessage&&!d.doNotSuggest){let h={kind:H.Property,label:f,insertText:this.getInsertTextForProperty(f,d,i,s),insertTextFormat:R.Snippet,filterText:this.getFilterTextForValue(f),documentation:this.fromMarkup(d.markdownDescription)||d.description||\"\"};d.suggestSortText!==void 0&&(h.sortText=d.suggestSortText),h.insertText&&fe(h.insertText,`$1${s}`)&&(h.command={title:\"Suggest\",command:\"editor.action.triggerSuggest\"}),o.add(h)}});let u=l.schema.propertyNames;if(typeof u==\"object\"&&!u.deprecationMessage&&!u.doNotSuggest){let f=(d,h=void 0)=>{let p={kind:H.Property,label:d,insertText:this.getInsertTextForProperty(d,void 0,i,s),insertTextFormat:R.Snippet,filterText:this.getFilterTextForValue(d),documentation:h||this.fromMarkup(u.markdownDescription)||u.description||\"\"};u.suggestSortText!==void 0&&(p.sortText=u.suggestSortText),p.insertText&&fe(p.insertText,`$1${s}`)&&(p.command={title:\"Suggest\",command:\"editor.action.triggerSuggest\"}),o.add(p)};if(u.enum)for(let d=0;d<u.enum.length;d++){let h;u.markdownEnumDescriptions&&d<u.markdownEnumDescriptions.length?h=this.fromMarkup(u.markdownEnumDescriptions[d]):u.enumDescriptions&&d<u.enumDescriptions.length&&(h=u.enumDescriptions[d]),f(u.enum[d],h)}u.const&&f(u.const)}}})}getSchemaLessPropertyCompletions(t,r,n,i){let s=o=>{o.properties.forEach(c=>{let l=c.keyNode.value;i.add({kind:H.Property,label:l,insertText:this.getInsertTextForValue(l,\"\"),insertTextFormat:R.Snippet,filterText:this.getFilterTextForValue(l),documentation:\"\"})})};if(r.parent)if(r.parent.type===\"property\"){let o=r.parent.keyNode.value;t.visit(c=>(c.type===\"property\"&&c!==r.parent&&c.keyNode.value===o&&c.valueNode&&c.valueNode.type===\"object\"&&s(c.valueNode),!0))}else r.parent.type===\"array\"&&r.parent.items.forEach(o=>{o.type===\"object\"&&o!==r&&s(o)});else r.type===\"object\"&&i.add({kind:H.Property,label:\"$schema\",insertText:this.getInsertTextForProperty(\"$schema\",void 0,!0,\"\"),insertTextFormat:R.Snippet,documentation:\"\",filterText:this.getFilterTextForValue(\"$schema\")})}getSchemaLessValueCompletions(t,r,n,i,s){let o=n;if(r&&(r.type===\"string\"||r.type===\"number\"||r.type===\"boolean\"||r.type===\"null\")&&(o=r.offset+r.length,r=r.parent),!r){s.add({kind:this.getSuggestionKind(\"object\"),label:\"Empty object\",insertText:this.getInsertTextForValue({},\"\"),insertTextFormat:R.Snippet,documentation:\"\"}),s.add({kind:this.getSuggestionKind(\"array\"),label:\"Empty array\",insertText:this.getInsertTextForValue([],\"\"),insertTextFormat:R.Snippet,documentation:\"\"});return}let c=this.evaluateSeparatorAfter(i,o),l=a=>{a.parent&&!Yt(a.parent,n,!0)&&s.add({kind:this.getSuggestionKind(a.type),label:this.getLabelTextForMatchingNode(a,i),insertText:this.getInsertTextForMatchingNode(a,i,c),insertTextFormat:R.Snippet,documentation:\"\"}),a.type===\"boolean\"&&this.addBooleanValueCompletion(!a.value,c,s)};if(r.type===\"property\"&&n>(r.colonOffset||0)){let a=r.valueNode;if(a&&(n>a.offset+a.length||a.type===\"object\"||a.type===\"array\"))return;let u=r.keyNode.value;t.visit(f=>(f.type===\"property\"&&f.keyNode.value===u&&f.valueNode&&l(f.valueNode),!0)),u===\"$schema\"&&r.parent&&!r.parent.parent&&this.addDollarSchemaCompletions(c,s)}if(r.type===\"array\")if(r.parent&&r.parent.type===\"property\"){let a=r.parent.keyNode.value;t.visit(u=>(u.type===\"property\"&&u.keyNode.value===a&&u.valueNode&&u.valueNode.type===\"array\"&&u.valueNode.items.forEach(l),!0))}else r.items.forEach(l)}getValueCompletions(t,r,n,i,s,o,c){let l=i,a,u;if(n&&(n.type===\"string\"||n.type===\"number\"||n.type===\"boolean\"||n.type===\"null\")&&(l=n.offset+n.length,u=n,n=n.parent),!n){this.addSchemaValueCompletions(t.schema,\"\",o,c);return}if(n.type===\"property\"&&i>(n.colonOffset||0)){let f=n.valueNode;if(f&&i>f.offset+f.length)return;a=n.keyNode.value,n=n.parent}if(n&&(a!==void 0||n.type===\"array\")){let f=this.evaluateSeparatorAfter(s,l),d=r.getMatchingSchemas(t.schema,n.offset,u);for(let h of d)if(h.node===n&&!h.inverted&&h.schema){if(n.type===\"array\"&&h.schema.items){let p=o;if(h.schema.uniqueItems){let m=new Set;n.children.forEach(y=>{y.type!==\"array\"&&y.type!==\"object\"&&m.add(this.getLabelForValue(ae(y)))}),p={...o,add(y){m.has(y.label)||o.add(y)}}}if(Array.isArray(h.schema.items)){let m=this.findItemAtOffset(n,s,i);m<h.schema.items.length&&this.addSchemaValueCompletions(h.schema.items[m],f,p,c)}else this.addSchemaValueCompletions(h.schema.items,f,p,c)}if(a!==void 0){let p=!1;if(h.schema.properties){let m=h.schema.properties[a];m&&(p=!0,this.addSchemaValueCompletions(m,f,o,c))}if(h.schema.patternProperties&&!p){for(let m of Object.keys(h.schema.patternProperties))if(me(m)?.test(a)){p=!0;let k=h.schema.patternProperties[m];this.addSchemaValueCompletions(k,f,o,c)}}if(h.schema.additionalProperties&&!p){let m=h.schema.additionalProperties;this.addSchemaValueCompletions(m,f,o,c)}}}a===\"$schema\"&&!n.parent&&this.addDollarSchemaCompletions(f,o),c.boolean&&(this.addBooleanValueCompletion(!0,f,o),this.addBooleanValueCompletion(!1,f,o)),c.null&&this.addNullValueCompletion(f,o)}}getContributedValueCompletions(t,r,n,i,s,o){if(!r)this.contributions.forEach(c=>{let l=c.collectDefaultCompletions(i.uri,s);l&&o.push(l)});else if((r.type===\"string\"||r.type===\"number\"||r.type===\"boolean\"||r.type===\"null\")&&(r=r.parent),r&&r.type===\"property\"&&n>(r.colonOffset||0)){let c=r.keyNode.value,l=r.valueNode;if((!l||n<=l.offset+l.length)&&r.parent){let a=Ve(r.parent);this.contributions.forEach(u=>{let f=u.collectValueCompletions(i.uri,a,c,s);f&&o.push(f)})}}}addSchemaValueCompletions(t,r,n,i){typeof t==\"object\"&&(this.addEnumValueCompletions(t,r,n),this.addDefaultValueCompletions(t,r,n),this.collectTypes(t,i),Array.isArray(t.allOf)&&t.allOf.forEach(s=>this.addSchemaValueCompletions(s,r,n,i)),Array.isArray(t.anyOf)&&t.anyOf.forEach(s=>this.addSchemaValueCompletions(s,r,n,i)),Array.isArray(t.oneOf)&&t.oneOf.forEach(s=>this.addSchemaValueCompletions(s,r,n,i)))}addDefaultValueCompletions(t,r,n,i=0){let s=!1;if(Y(t.default)){let o=t.type,c=t.default;for(let a=i;a>0;a--)c=[c],o=\"array\";let l={kind:this.getSuggestionKind(o),label:this.getLabelForValue(c),insertText:this.getInsertTextForValue(c,r),insertTextFormat:R.Snippet};this.doesSupportsLabelDetails()?l.labelDetails={description:A(\"Default value\")}:l.detail=A(\"Default value\"),n.add(l),s=!0}Array.isArray(t.examples)&&t.examples.forEach(o=>{let c=t.type,l=o;for(let a=i;a>0;a--)l=[l],c=\"array\";n.add({kind:this.getSuggestionKind(c),label:this.getLabelForValue(l),insertText:this.getInsertTextForValue(l,r),insertTextFormat:R.Snippet}),s=!0}),Array.isArray(t.defaultSnippets)&&t.defaultSnippets.forEach(o=>{let c=t.type,l=o.body,a=o.label,u,f;if(Y(l)){let d=t.type;for(let h=i;h>0;h--)l=[l],d=\"array\";u=this.getInsertTextForSnippetValue(l,r),f=this.getFilterTextForSnippetValue(l),a=a||this.getLabelForSnippetValue(l)}else if(typeof o.bodyText==\"string\"){let d=\"\",h=\"\",p=\"\";for(let m=i;m>0;m--)d=d+p+`[\n`,h=h+`\n`+p+\"]\",p+=\"\t\",c=\"array\";u=d+p+o.bodyText.split(`\n`).join(`\n`+p)+h+r,a=a||u,f=u.replace(/[\\n]/g,\"\")}else return;n.add({kind:this.getSuggestionKind(c),label:a,documentation:this.fromMarkup(o.markdownDescription)||o.description,insertText:u,insertTextFormat:R.Snippet,filterText:f}),s=!0}),!s&&typeof t.items==\"object\"&&!Array.isArray(t.items)&&i<5&&this.addDefaultValueCompletions(t.items,r,n,i+1)}addEnumValueCompletions(t,r,n){if(Y(t.const)&&n.add({kind:this.getSuggestionKind(t.type),label:this.getLabelForValue(t.const),insertText:this.getInsertTextForValue(t.const,r),insertTextFormat:R.Snippet,documentation:this.fromMarkup(t.markdownDescription)||t.description}),Array.isArray(t.enum))for(let i=0,s=t.enum.length;i<s;i++){let o=t.enum[i],c=this.fromMarkup(t.markdownDescription)||t.description;t.markdownEnumDescriptions&&i<t.markdownEnumDescriptions.length&&this.doesSupportMarkdown()?c=this.fromMarkup(t.markdownEnumDescriptions[i]):t.enumDescriptions&&i<t.enumDescriptions.length&&(c=t.enumDescriptions[i]),n.add({kind:this.getSuggestionKind(t.type),label:this.getLabelForValue(o),insertText:this.getInsertTextForValue(o,r),insertTextFormat:R.Snippet,documentation:c})}}collectTypes(t,r){if(Array.isArray(t.enum)||Y(t.const))return;let n=t.type;Array.isArray(n)?n.forEach(i=>r[i]=!0):n&&(r[n]=!0)}addFillerValueCompletions(t,r,n){t.object&&n.add({kind:this.getSuggestionKind(\"object\"),label:\"{}\",insertText:this.getInsertTextForGuessedValue({},r),insertTextFormat:R.Snippet,detail:A(\"New object\"),documentation:\"\"}),t.array&&n.add({kind:this.getSuggestionKind(\"array\"),label:\"[]\",insertText:this.getInsertTextForGuessedValue([],r),insertTextFormat:R.Snippet,detail:A(\"New array\"),documentation:\"\"})}addBooleanValueCompletion(t,r,n){n.add({kind:this.getSuggestionKind(\"boolean\"),label:t?\"true\":\"false\",insertText:this.getInsertTextForValue(t,r),insertTextFormat:R.Snippet,documentation:\"\"})}addNullValueCompletion(t,r){r.add({kind:this.getSuggestionKind(\"null\"),label:\"null\",insertText:\"null\"+t,insertTextFormat:R.Snippet,documentation:\"\"})}addDollarSchemaCompletions(t,r){this.schemaService.getRegisteredSchemaIds(i=>i===\"http\"||i===\"https\").forEach(i=>{i.startsWith(\"http://json-schema.org/draft-\")&&(i=i+\"#\"),r.add({kind:H.Module,label:this.getLabelForValue(i),filterText:this.getFilterTextForValue(i),insertText:this.getInsertTextForValue(i,t),insertTextFormat:R.Snippet,documentation:\"\"})})}getLabelForValue(t){return JSON.stringify(t)}getValueFromLabel(t){return JSON.parse(t)}getFilterTextForValue(t){return JSON.stringify(t)}getFilterTextForSnippetValue(t){return JSON.stringify(t).replace(/\\$\\{\\d+:([^}]+)\\}|\\$\\d+/g,\"$1\")}getLabelForSnippetValue(t){return JSON.stringify(t).replace(/\\$\\{\\d+:([^}]+)\\}|\\$\\d+/g,\"$1\")}getInsertTextForPlainText(t){return t.replace(/[\\\\\\$\\}]/g,\"\\\\$&\")}getInsertTextForValue(t,r){let n=JSON.stringify(t,null,\"\t\");return n===\"{}\"?\"{$1}\"+r:n===\"[]\"?\"[$1]\"+r:this.getInsertTextForPlainText(n+r)}getInsertTextForSnippetValue(t,r){return Ke(t,\"\",i=>typeof i==\"string\"&&i[0]===\"^\"?i.substr(1):JSON.stringify(i))+r}getInsertTextForGuessedValue(t,r){switch(typeof t){case\"object\":return t===null?\"${1:null}\"+r:this.getInsertTextForValue(t,r);case\"string\":let n=JSON.stringify(t);return n=n.substr(1,n.length-2),n=this.getInsertTextForPlainText(n),'\"${1:'+n+'}\"'+r;case\"number\":case\"boolean\":return\"${1:\"+JSON.stringify(t)+\"}\"+r}return this.getInsertTextForValue(t,r)}getSuggestionKind(t){if(Array.isArray(t)){let r=t;t=r.length>0?r[0]:void 0}if(!t)return H.Value;switch(t){case\"string\":return H.Value;case\"object\":return H.Module;case\"property\":return H.Property;default:return H.Value}}getLabelTextForMatchingNode(t,r){switch(t.type){case\"array\":return\"[]\";case\"object\":return\"{}\";default:return r.getText().substr(t.offset,t.length)}}getInsertTextForMatchingNode(t,r,n){switch(t.type){case\"array\":return this.getInsertTextForValue([],n);case\"object\":return this.getInsertTextForValue({},n);default:let i=r.getText().substr(t.offset,t.length)+n;return this.getInsertTextForPlainText(i)}}getInsertTextForProperty(t,r,n,i){let s=this.getInsertTextForValue(t,\"\");if(!n)return s;let o=s+\": \",c,l=0;if(r){if(Array.isArray(r.defaultSnippets)){if(r.defaultSnippets.length===1){let a=r.defaultSnippets[0].body;Y(a)&&(c=this.getInsertTextForSnippetValue(a,\"\"))}l+=r.defaultSnippets.length}if(r.enum&&(!c&&r.enum.length===1&&(c=this.getInsertTextForGuessedValue(r.enum[0],\"\")),l+=r.enum.length),Y(r.const)&&(c||(c=this.getInsertTextForGuessedValue(r.const,\"\")),l++),Y(r.default)&&(c||(c=this.getInsertTextForGuessedValue(r.default,\"\")),l++),Array.isArray(r.examples)&&r.examples.length&&(c||(c=this.getInsertTextForGuessedValue(r.examples[0],\"\")),l+=r.examples.length),l===0){let a=Array.isArray(r.type)?r.type[0]:r.type;switch(a||(r.properties?a=\"object\":r.items&&(a=\"array\")),a){case\"boolean\":c=\"$1\";break;case\"string\":c='\"$1\"';break;case\"object\":c=\"{$1}\";break;case\"array\":c=\"[$1]\";break;case\"number\":case\"integer\":c=\"${1:0}\";break;case\"null\":c=\"${1:null}\";break;default:return s}}}return(!c||l>1)&&(c=\"$1\"),o+c+i}getCurrentWord(t,r){let n=r-1,i=t.getText();for(;n>=0&&` \t\n\\r\\v\":{[,]}`.indexOf(i.charAt(n))===-1;)n--;return i.substring(n+1,r)}evaluateSeparatorAfter(t,r){let n=ee(t.getText(),!0);switch(n.setPosition(r),n.scan()){case 5:case 2:case 4:case 17:return\"\";default:return\",\"}}findItemAtOffset(t,r,n){let i=ee(r.getText(),!0),s=t.items;for(let o=s.length-1;o>=0;o--){let c=s[o];if(n>c.offset+c.length)return i.setPosition(c.offset+c.length),i.scan()===5&&n>=i.getTokenOffset()+i.getTokenLength()?o+1:o;if(n>=c.offset)return o}return 0}isInComment(t,r,n){let i=ee(t.getText(),!1);i.setPosition(r);let s=i.scan();for(;s!==17&&i.getTokenOffset()+i.getTokenLength()<n;)s=i.scan();return(s===12||s===13)&&i.getTokenOffset()<=n}fromMarkup(t){if(t&&this.doesSupportMarkdown())return{kind:le.Markdown,value:t}}doesSupportMarkdown(){if(!Y(this.supportsMarkdown)){let t=this.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(t)&&t.indexOf(le.Markdown)!==-1}return this.supportsMarkdown}doesSupportsCommitCharacters(){return Y(this.supportsCommitCharacters)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.commitCharactersSupport),this.supportsCommitCharacters}doesSupportsLabelDetails(){return Y(this.labelDetailsSupport)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.labelDetailsSupport),this.labelDetailsSupport}};var tt=class{constructor(t,r=[],n){this.schemaService=t,this.contributions=r,this.promise=n||Promise}doHover(t,r,n){let i=t.offsetAt(r),s=n.getNodeFromOffset(i);if(!s||(s.type===\"object\"||s.type===\"array\")&&i>s.offset+1&&i<s.offset+s.length-1)return this.promise.resolve(null);let o=s;if(s.type===\"string\"){let u=s.parent;if(u&&u.type===\"property\"&&u.keyNode===s&&(s=u.valueNode,!s))return this.promise.resolve(null)}let c=_.create(t.positionAt(o.offset),t.positionAt(o.offset+o.length)),l=u=>({contents:u,range:c}),a=Ve(s);for(let u=this.contributions.length-1;u>=0;u--){let d=this.contributions[u].getInfoContribution(t.uri,a);if(d)return d.then(h=>l(h))}return this.schemaService.getSchemaForResource(t.uri,n).then(u=>{if(u&&s){let f=n.getMatchingSchemas(u.schema,s.offset),d,h,p,m;f.every(k=>{if(k.node===s&&!k.inverted&&k.schema&&(d=d||k.schema.title,h=h||k.schema.markdownDescription||Kt(k.schema.description),k.schema.enum)){let w=k.schema.enum.indexOf(ae(s));k.schema.markdownEnumDescriptions?p=k.schema.markdownEnumDescriptions[w]:k.schema.enumDescriptions&&(p=Kt(k.schema.enumDescriptions[w])),p&&(m=k.schema.enum[w],typeof m!=\"string\"&&(m=JSON.stringify(m)))}return!0});let y=\"\";return d&&(y=Kt(d)),h&&(y.length>0&&(y+=`\n\n`),y+=h),p&&(y.length>0&&(y+=`\n\n`),y+=`\\`${Br(m)}\\`: ${p}`),l([y])}return null})}};function Kt(e){if(e)return e.replace(/([^\\n\\r])(\\r?\\n)([^\\n\\r])/gm,`$1\n\n$3`).replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")}function Br(e){return e.indexOf(\"`\")!==-1?\"`` \"+e+\" ``\":e}var rt=class{constructor(t,r){this.jsonSchemaService=t,this.promise=r,this.validationEnabled=!0}configure(t){t&&(this.validationEnabled=t.validate!==!1,this.commentSeverity=t.allowComments?void 0:z.Error)}doValidation(t,r,n,i){if(!this.validationEnabled)return this.promise.resolve([]);let s=[],o={},c=a=>{let u=a.range.start.line+\" \"+a.range.start.character+\" \"+a.message;o[u]||(o[u]=!0,s.push(a))},l=a=>{let u=n?.trailingCommas?nt(n.trailingCommas):z.Error,f=n?.comments?nt(n.comments):this.commentSeverity,d=n?.schemaValidation?nt(n.schemaValidation):z.Warning,h=n?.schemaRequest?nt(n.schemaRequest):z.Warning;if(a){let p=(m,y)=>{if(r.root&&h){let k=r.root,w=k.type===\"object\"?k.properties[0]:void 0;if(w&&w.keyNode.value===\"$schema\"){let g=w.valueNode||w,S=_.create(t.positionAt(g.offset),t.positionAt(g.offset+g.length));c(ne.create(S,m,h,y))}else{let g=_.create(t.positionAt(k.offset),t.positionAt(k.offset+1));c(ne.create(g,m,h,y))}}};if(a.errors.length)p(a.errors[0],M.SchemaResolveError);else if(d){for(let y of a.warnings)p(y,M.SchemaUnsupportedFeature);let m=r.validate(t,a.schema,d,n?.schemaDraft);m&&m.forEach(c)}nr(a.schema)&&(f=void 0),rr(a.schema)&&(u=void 0)}for(let p of r.syntaxErrors){if(p.code===M.TrailingComma){if(typeof u!=\"number\")continue;p.severity=u}c(p)}if(typeof f==\"number\"){let p=A(\"Comments are not permitted in JSON.\");r.comments.forEach(m=>{c(ne.create(m,p,f,M.CommentNotPermitted))})}return s};if(i){let a=i.id||\"schemaservice://untitled/\"+Jr++;return this.jsonSchemaService.registerExternalSchema({uri:a,schema:i}).getResolvedSchema().then(f=>l(f))}return this.jsonSchemaService.getSchemaForResource(t.uri,r).then(a=>l(a))}getLanguageStatus(t,r){return{schemas:this.jsonSchemaService.getSchemaURIsForResource(t.uri,r)}}},Jr=0;function nr(e){if(e&&typeof e==\"object\"){if(te(e.allowComments))return e.allowComments;if(e.allOf)for(let t of e.allOf){let r=nr(t);if(te(r))return r}}}function rr(e){if(e&&typeof e==\"object\"){if(te(e.allowTrailingCommas))return e.allowTrailingCommas;let t=e;if(te(t.allowsTrailingCommas))return t.allowsTrailingCommas;if(e.allOf)for(let r of e.allOf){let n=rr(r);if(te(n))return n}}}function nt(e){switch(e){case\"error\":return z.Error;case\"warning\":return z.Warning;case\"ignore\":return}}function U(e){return e<48?0:e<=57?e-48:(e<97&&(e+=32),e>=97&&e<=102?e-97+10:0)}function ir(e){if(e[0]===\"#\")switch(e.length){case 4:return{red:U(e.charCodeAt(1))*17/255,green:U(e.charCodeAt(2))*17/255,blue:U(e.charCodeAt(3))*17/255,alpha:1};case 5:return{red:U(e.charCodeAt(1))*17/255,green:U(e.charCodeAt(2))*17/255,blue:U(e.charCodeAt(3))*17/255,alpha:U(e.charCodeAt(4))*17/255};case 7:return{red:(U(e.charCodeAt(1))*16+U(e.charCodeAt(2)))/255,green:(U(e.charCodeAt(3))*16+U(e.charCodeAt(4)))/255,blue:(U(e.charCodeAt(5))*16+U(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(U(e.charCodeAt(1))*16+U(e.charCodeAt(2)))/255,green:(U(e.charCodeAt(3))*16+U(e.charCodeAt(4)))/255,blue:(U(e.charCodeAt(5))*16+U(e.charCodeAt(6)))/255,alpha:(U(e.charCodeAt(7))*16+U(e.charCodeAt(8)))/255}}}var it=class{constructor(t){this.schemaService=t}findDocumentSymbols(t,r,n={resultLimit:Number.MAX_VALUE}){let i=r.root;if(!i)return[];let s=n.resultLimit||Number.MAX_VALUE,o=t.uri;if((o===\"vscode://defaultsettings/keybindings.json\"||fe(o.toLowerCase(),\"/user/keybindings.json\"))&&i.type===\"array\"){let d=[];for(let h of i.items)if(h.type===\"object\"){for(let p of h.properties)if(p.keyNode.value===\"key\"&&p.valueNode){let m=ue.create(t.uri,de(t,h));if(d.push({name:sr(p.valueNode),kind:re.Function,location:m}),s--,s<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(o),d}}return d}let c=[{node:i,containerName:\"\"}],l=0,a=!1,u=[],f=(d,h)=>{d.type===\"array\"?d.items.forEach(p=>{p&&c.push({node:p,containerName:h})}):d.type===\"object\"&&d.properties.forEach(p=>{let m=p.valueNode;if(m)if(s>0){s--;let y=ue.create(t.uri,de(t,p)),k=h?h+\".\"+p.keyNode.value:p.keyNode.value;u.push({name:this.getKeyLabel(p),kind:this.getSymbolKind(m.type),location:y,containerName:h}),c.push({node:m,containerName:k})}else a=!0})};for(;l<c.length;){let d=c[l++];f(d.node,d.containerName)}return a&&n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(o),u}findDocumentSymbols2(t,r,n={resultLimit:Number.MAX_VALUE}){let i=r.root;if(!i)return[];let s=n.resultLimit||Number.MAX_VALUE,o=t.uri;if((o===\"vscode://defaultsettings/keybindings.json\"||fe(o.toLowerCase(),\"/user/keybindings.json\"))&&i.type===\"array\"){let d=[];for(let h of i.items)if(h.type===\"object\"){for(let p of h.properties)if(p.keyNode.value===\"key\"&&p.valueNode){let m=de(t,h),y=de(t,p.keyNode);if(d.push({name:sr(p.valueNode),kind:re.Function,range:m,selectionRange:y}),s--,s<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(o),d}}return d}let c=[],l=[{node:i,result:c}],a=0,u=!1,f=(d,h)=>{d.type===\"array\"?d.items.forEach((p,m)=>{if(p)if(s>0){s--;let y=de(t,p),k=y,g={name:String(m),kind:this.getSymbolKind(p.type),range:y,selectionRange:k,children:[]};h.push(g),l.push({result:g.children,node:p})}else u=!0}):d.type===\"object\"&&d.properties.forEach(p=>{let m=p.valueNode;if(m)if(s>0){s--;let y=de(t,p),k=de(t,p.keyNode),w=[],g={name:this.getKeyLabel(p),kind:this.getSymbolKind(m.type),range:y,selectionRange:k,children:w,detail:this.getDetail(m)};h.push(g),l.push({result:w,node:m})}else u=!0})};for(;a<l.length;){let d=l[a++];f(d.node,d.result)}return u&&n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(o),c}getSymbolKind(t){switch(t){case\"object\":return re.Module;case\"string\":return re.String;case\"number\":return re.Number;case\"array\":return re.Array;case\"boolean\":return re.Boolean;default:return re.Variable}}getKeyLabel(t){let r=t.keyNode.value;return r&&(r=r.replace(/[\\n]/g,\"\\u21B5\")),r&&r.trim()?r:`\"${r}\"`}getDetail(t){if(t){if(t.type===\"boolean\"||t.type===\"number\"||t.type===\"null\"||t.type===\"string\")return String(t.value);if(t.type===\"array\")return t.children.length?void 0:\"[]\";if(t.type===\"object\")return t.children.length?void 0:\"{}\"}}findDocumentColors(t,r,n){return this.schemaService.getSchemaForResource(t.uri,r).then(i=>{let s=[];if(i){let o=n&&typeof n.resultLimit==\"number\"?n.resultLimit:Number.MAX_VALUE,c=r.getMatchingSchemas(i.schema),l={};for(let a of c)if(!a.inverted&&a.schema&&(a.schema.format===\"color\"||a.schema.format===\"color-hex\")&&a.node&&a.node.type===\"string\"){let u=String(a.node.offset);if(!l[u]){let f=ir(ae(a.node));if(f){let d=de(t,a.node);s.push({color:f,range:d})}if(l[u]=!0,o--,o<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(t.uri),s}}}return s})}getColorPresentations(t,r,n,i){let s=[],o=Math.round(n.red*255),c=Math.round(n.green*255),l=Math.round(n.blue*255);function a(f){let d=f.toString(16);return d.length!==2?\"0\"+d:d}let u;return n.alpha===1?u=`#${a(o)}${a(c)}${a(l)}`:u=`#${a(o)}${a(c)}${a(l)}${a(Math.round(n.alpha*255))}`,s.push({label:u,textEdit:G.replace(i,JSON.stringify(u))}),s}};function de(e,t){return _.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length))}function sr(e){return ae(e)||A(\"<empty>\")}var st={schemaAssociations:[],schemas:{\"http://json-schema.org/draft-04/schema#\":{$schema:\"http://json-schema.org/draft-04/schema#\",definitions:{schemaArray:{type:\"array\",minItems:1,items:{$ref:\"#\"}},positiveInteger:{type:\"integer\",minimum:0},positiveIntegerDefault0:{allOf:[{$ref:\"#/definitions/positiveInteger\"},{default:0}]},simpleTypes:{type:\"string\",enum:[\"array\",\"boolean\",\"integer\",\"null\",\"number\",\"object\",\"string\"]},stringArray:{type:\"array\",items:{type:\"string\"},minItems:1,uniqueItems:!0}},type:\"object\",properties:{id:{type:\"string\",format:\"uri\"},$schema:{type:\"string\",format:\"uri\"},title:{type:\"string\"},description:{type:\"string\"},default:{},multipleOf:{type:\"number\",minimum:0,exclusiveMinimum:!0},maximum:{type:\"number\"},exclusiveMaximum:{type:\"boolean\",default:!1},minimum:{type:\"number\"},exclusiveMinimum:{type:\"boolean\",default:!1},maxLength:{allOf:[{$ref:\"#/definitions/positiveInteger\"}]},minLength:{allOf:[{$ref:\"#/definitions/positiveIntegerDefault0\"}]},pattern:{type:\"string\",format:\"regex\"},additionalItems:{anyOf:[{type:\"boolean\"},{$ref:\"#\"}],default:{}},items:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/schemaArray\"}],default:{}},maxItems:{allOf:[{$ref:\"#/definitions/positiveInteger\"}]},minItems:{allOf:[{$ref:\"#/definitions/positiveIntegerDefault0\"}]},uniqueItems:{type:\"boolean\",default:!1},maxProperties:{allOf:[{$ref:\"#/definitions/positiveInteger\"}]},minProperties:{allOf:[{$ref:\"#/definitions/positiveIntegerDefault0\"}]},required:{allOf:[{$ref:\"#/definitions/stringArray\"}]},additionalProperties:{anyOf:[{type:\"boolean\"},{$ref:\"#\"}],default:{}},definitions:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},properties:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},patternProperties:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},dependencies:{type:\"object\",additionalProperties:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/stringArray\"}]}},enum:{type:\"array\",minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:\"#/definitions/simpleTypes\"},{type:\"array\",items:{$ref:\"#/definitions/simpleTypes\"},minItems:1,uniqueItems:!0}]},format:{anyOf:[{type:\"string\",enum:[\"date-time\",\"uri\",\"email\",\"hostname\",\"ipv4\",\"ipv6\",\"regex\"]},{type:\"string\"}]},allOf:{allOf:[{$ref:\"#/definitions/schemaArray\"}]},anyOf:{allOf:[{$ref:\"#/definitions/schemaArray\"}]},oneOf:{allOf:[{$ref:\"#/definitions/schemaArray\"}]},not:{allOf:[{$ref:\"#\"}]}},dependencies:{exclusiveMaximum:[\"maximum\"],exclusiveMinimum:[\"minimum\"]},default:{}},\"http://json-schema.org/draft-07/schema#\":{definitions:{schemaArray:{type:\"array\",minItems:1,items:{$ref:\"#\"}},nonNegativeInteger:{type:\"integer\",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:\"#/definitions/nonNegativeInteger\"},{default:0}]},simpleTypes:{enum:[\"array\",\"boolean\",\"integer\",\"null\",\"number\",\"object\",\"string\"]},stringArray:{type:\"array\",items:{type:\"string\"},uniqueItems:!0,default:[]}},type:[\"object\",\"boolean\"],properties:{$id:{type:\"string\",format:\"uri-reference\"},$schema:{type:\"string\",format:\"uri\"},$ref:{type:\"string\",format:\"uri-reference\"},$comment:{type:\"string\"},title:{type:\"string\"},description:{type:\"string\"},default:!0,readOnly:{type:\"boolean\",default:!1},examples:{type:\"array\",items:!0},multipleOf:{type:\"number\",exclusiveMinimum:0},maximum:{type:\"number\"},exclusiveMaximum:{type:\"number\"},minimum:{type:\"number\"},exclusiveMinimum:{type:\"number\"},maxLength:{$ref:\"#/definitions/nonNegativeInteger\"},minLength:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},pattern:{type:\"string\",format:\"regex\"},additionalItems:{$ref:\"#\"},items:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/schemaArray\"}],default:!0},maxItems:{$ref:\"#/definitions/nonNegativeInteger\"},minItems:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},uniqueItems:{type:\"boolean\",default:!1},contains:{$ref:\"#\"},maxProperties:{$ref:\"#/definitions/nonNegativeInteger\"},minProperties:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},required:{$ref:\"#/definitions/stringArray\"},additionalProperties:{$ref:\"#\"},definitions:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},properties:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},patternProperties:{type:\"object\",additionalProperties:{$ref:\"#\"},propertyNames:{format:\"regex\"},default:{}},dependencies:{type:\"object\",additionalProperties:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/stringArray\"}]}},propertyNames:{$ref:\"#\"},const:!0,enum:{type:\"array\",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:\"#/definitions/simpleTypes\"},{type:\"array\",items:{$ref:\"#/definitions/simpleTypes\"},minItems:1,uniqueItems:!0}]},format:{type:\"string\"},contentMediaType:{type:\"string\"},contentEncoding:{type:\"string\"},if:{$ref:\"#\"},then:{$ref:\"#\"},else:{$ref:\"#\"},allOf:{$ref:\"#/definitions/schemaArray\"},anyOf:{$ref:\"#/definitions/schemaArray\"},oneOf:{$ref:\"#/definitions/schemaArray\"},not:{$ref:\"#\"}},default:!0}}},Cr={id:A(\"A unique identifier for the schema.\"),$schema:A(\"The schema to verify this document against.\"),title:A(\"A descriptive title of the element.\"),description:A(\"A long description of the element. Used in hover menus and suggestions.\"),default:A(\"A default value. Used by suggestions.\"),multipleOf:A(\"A number that should cleanly divide the current value (i.e. have no remainder).\"),maximum:A(\"The maximum numerical value, inclusive by default.\"),exclusiveMaximum:A(\"Makes the maximum property exclusive.\"),minimum:A(\"The minimum numerical value, inclusive by default.\"),exclusiveMinimum:A(\"Makes the minimum property exclusive.\"),maxLength:A(\"The maximum length of a string.\"),minLength:A(\"The minimum length of a string.\"),pattern:A(\"A regular expression to match the string against. It is not implicitly anchored.\"),additionalItems:A(\"For arrays, only when items is set as an array. If it is a schema, then this schema validates items after the ones specified by the items array. If it is false, then additional items will cause validation to fail.\"),items:A(\"For arrays. Can either be a schema to validate every element against or an array of schemas to validate each item against in order (the first schema will validate the first element, the second schema will validate the second element, and so on.\"),maxItems:A(\"The maximum number of items that can be inside an array. Inclusive.\"),minItems:A(\"The minimum number of items that can be inside an array. Inclusive.\"),uniqueItems:A(\"If all of the items in the array must be unique. Defaults to false.\"),maxProperties:A(\"The maximum number of properties an object can have. Inclusive.\"),minProperties:A(\"The minimum number of properties an object can have. Inclusive.\"),required:A(\"An array of strings that lists the names of all properties required on this object.\"),additionalProperties:A(\"Either a schema or a boolean. If a schema, then used to validate all properties not matched by 'properties' or 'patternProperties'. If false, then any properties not matched by either will cause this schema to fail.\"),definitions:A(\"Not used for validation. Place subschemas here that you wish to reference inline with $ref.\"),properties:A(\"A map of property names to schemas for each property.\"),patternProperties:A(\"A map of regular expressions on property names to schemas for matching properties.\"),dependencies:A(\"A map of property names to either an array of property names or a schema. An array of property names means the property named in the key depends on the properties in the array being present in the object in order to be valid. If the value is a schema, then the schema is only applied to the object if the property in the key exists on the object.\"),enum:A(\"The set of literal values that are valid.\"),type:A(\"Either a string of one of the basic schema types (number, integer, null, array, object, boolean, string) or an array of strings specifying a subset of those types.\"),format:A(\"Describes the format expected for the value.\"),allOf:A(\"An array of schemas, all of which must match.\"),anyOf:A(\"An array of schemas, where at least one must match.\"),oneOf:A(\"An array of schemas, exactly one of which must match.\"),not:A(\"A schema which must not match.\"),$id:A(\"A unique identifier for the schema.\"),$ref:A(\"Reference a definition hosted on any location.\"),$comment:A(\"Comments from schema authors to readers or maintainers of the schema.\"),readOnly:A(\"Indicates that the value of the instance is managed exclusively by the owning authority.\"),examples:A(\"Sample JSON values associated with a particular schema, for the purpose of illustrating usage.\"),contains:A('An array instance is valid against \"contains\" if at least one of its elements is valid against the given schema.'),propertyNames:A(\"If the instance is an object, this keyword validates if every property name in the instance validates against the provided schema.\"),const:A(\"An instance validates successfully against this keyword if its value is equal to the value of the keyword.\"),contentMediaType:A(\"Describes the media type of a string property.\"),contentEncoding:A(\"Describes the content encoding of a string property.\"),if:A('The validation outcome of the \"if\" subschema controls which of the \"then\" or \"else\" keywords are evaluated.'),then:A('The \"if\" subschema is used for validation when the \"if\" subschema succeeds.'),else:A('The \"else\" subschema is used for validation when the \"if\" subschema fails.')};for(let e in st.schemas){let t=st.schemas[e];for(let r in t.properties){let n=t.properties[r];typeof n==\"boolean\"&&(n=t.properties[r]={});let i=Cr[r];i&&(n.description=i)}}var or;(()=>{\"use strict\";var e={470:i=>{function s(l){if(typeof l!=\"string\")throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(l))}function o(l,a){for(var u,f=\"\",d=0,h=-1,p=0,m=0;m<=l.length;++m){if(m<l.length)u=l.charCodeAt(m);else{if(u===47)break;u=47}if(u===47){if(!(h===m-1||p===1))if(h!==m-1&&p===2){if(f.length<2||d!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){var y=f.lastIndexOf(\"/\");if(y!==f.length-1){y===-1?(f=\"\",d=0):d=(f=f.slice(0,y)).length-1-f.lastIndexOf(\"/\"),h=m,p=0;continue}}else if(f.length===2||f.length===1){f=\"\",d=0,h=m,p=0;continue}}a&&(f.length>0?f+=\"/..\":f=\"..\",d=2)}else f.length>0?f+=\"/\"+l.slice(h+1,m):f=l.slice(h+1,m),d=m-h-1;h=m,p=0}else u===46&&p!==-1?++p:p=-1}return f}var c={resolve:function(){for(var l,a=\"\",u=!1,f=arguments.length-1;f>=-1&&!u;f--){var d;f>=0?d=arguments[f]:(l===void 0&&(l=process.cwd()),d=l),s(d),d.length!==0&&(a=d+\"/\"+a,u=d.charCodeAt(0)===47)}return a=o(a,!u),u?a.length>0?\"/\"+a:\"/\":a.length>0?a:\".\"},normalize:function(l){if(s(l),l.length===0)return\".\";var a=l.charCodeAt(0)===47,u=l.charCodeAt(l.length-1)===47;return(l=o(l,!a)).length!==0||a||(l=\".\"),l.length>0&&u&&(l+=\"/\"),a?\"/\"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return\".\";for(var l,a=0;a<arguments.length;++a){var u=arguments[a];s(u),u.length>0&&(l===void 0?l=u:l+=\"/\"+u)}return l===void 0?\".\":c.normalize(l)},relative:function(l,a){if(s(l),s(a),l===a||(l=c.resolve(l))===(a=c.resolve(a)))return\"\";for(var u=1;u<l.length&&l.charCodeAt(u)===47;++u);for(var f=l.length,d=f-u,h=1;h<a.length&&a.charCodeAt(h)===47;++h);for(var p=a.length-h,m=d<p?d:p,y=-1,k=0;k<=m;++k){if(k===m){if(p>m){if(a.charCodeAt(h+k)===47)return a.slice(h+k+1);if(k===0)return a.slice(h+k)}else d>m&&(l.charCodeAt(u+k)===47?y=k:k===0&&(y=0));break}var w=l.charCodeAt(u+k);if(w!==a.charCodeAt(h+k))break;w===47&&(y=k)}var g=\"\";for(k=u+y+1;k<=f;++k)k!==f&&l.charCodeAt(k)!==47||(g.length===0?g+=\"..\":g+=\"/..\");return g.length>0?g+a.slice(h+y):(h+=y,a.charCodeAt(h)===47&&++h,a.slice(h))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return\".\";for(var a=l.charCodeAt(0),u=a===47,f=-1,d=!0,h=l.length-1;h>=1;--h)if((a=l.charCodeAt(h))===47){if(!d){f=h;break}}else d=!1;return f===-1?u?\"/\":\".\":u&&f===1?\"//\":l.slice(0,f)},basename:function(l,a){if(a!==void 0&&typeof a!=\"string\")throw new TypeError('\"ext\" argument must be a string');s(l);var u,f=0,d=-1,h=!0;if(a!==void 0&&a.length>0&&a.length<=l.length){if(a.length===l.length&&a===l)return\"\";var p=a.length-1,m=-1;for(u=l.length-1;u>=0;--u){var y=l.charCodeAt(u);if(y===47){if(!h){f=u+1;break}}else m===-1&&(h=!1,m=u+1),p>=0&&(y===a.charCodeAt(p)?--p==-1&&(d=u):(p=-1,d=m))}return f===d?d=m:d===-1&&(d=l.length),l.slice(f,d)}for(u=l.length-1;u>=0;--u)if(l.charCodeAt(u)===47){if(!h){f=u+1;break}}else d===-1&&(h=!1,d=u+1);return d===-1?\"\":l.slice(f,d)},extname:function(l){s(l);for(var a=-1,u=0,f=-1,d=!0,h=0,p=l.length-1;p>=0;--p){var m=l.charCodeAt(p);if(m!==47)f===-1&&(d=!1,f=p+1),m===46?a===-1?a=p:h!==1&&(h=1):a!==-1&&(h=-1);else if(!d){u=p+1;break}}return a===-1||f===-1||h===0||h===1&&a===f-1&&a===u+1?\"\":l.slice(a,f)},format:function(l){if(l===null||typeof l!=\"object\")throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof l);return function(a,u){var f=u.dir||u.root,d=u.base||(u.name||\"\")+(u.ext||\"\");return f?f===u.root?f+d:f+\"/\"+d:d}(0,l)},parse:function(l){s(l);var a={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(l.length===0)return a;var u,f=l.charCodeAt(0),d=f===47;d?(a.root=\"/\",u=1):u=0;for(var h=-1,p=0,m=-1,y=!0,k=l.length-1,w=0;k>=u;--k)if((f=l.charCodeAt(k))!==47)m===-1&&(y=!1,m=k+1),f===46?h===-1?h=k:w!==1&&(w=1):h!==-1&&(w=-1);else if(!y){p=k+1;break}return h===-1||m===-1||w===0||w===1&&h===m-1&&h===p+1?m!==-1&&(a.base=a.name=p===0&&d?l.slice(1,m):l.slice(p,m)):(p===0&&d?(a.name=l.slice(1,h),a.base=l.slice(1,m)):(a.name=l.slice(p,h),a.base=l.slice(p,m)),a.ext=l.slice(h,m)),p>0?a.dir=l.slice(0,p-1):d&&(a.dir=\"/\"),a},sep:\"/\",delimiter:\":\",win32:null,posix:null};c.posix=c,i.exports=c}},t={};function r(i){var s=t[i];if(s!==void 0)return s.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,r),o.exports}r.d=(i,s)=>{for(var o in s)r.o(s,o)&&!r.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:s[o]})},r.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),r.r=i=>{typeof Symbol<\"u\"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(i,\"__esModule\",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>j}),typeof process==\"object\"?i=process.platform===\"win32\":typeof navigator==\"object\"&&(i=navigator.userAgent.indexOf(\"Windows\")>=0);let s=/^\\w[\\w\\d+.-]*$/,o=/^\\//,c=/^\\/\\//;function l(N,v){if(!N.scheme&&v)throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${N.authority}\", path: \"${N.path}\", query: \"${N.query}\", fragment: \"${N.fragment}\"}`);if(N.scheme&&!s.test(N.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(N.path){if(N.authority){if(!o.test(N.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(c.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}}let a=\"\",u=\"/\",f=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;class d{static isUri(v){return v instanceof d||!!v&&typeof v.authority==\"string\"&&typeof v.fragment==\"string\"&&typeof v.path==\"string\"&&typeof v.query==\"string\"&&typeof v.scheme==\"string\"&&typeof v.fsPath==\"string\"&&typeof v.with==\"function\"&&typeof v.toString==\"function\"}scheme;authority;path;query;fragment;constructor(v,P,L,$,F,V=!1){typeof v==\"object\"?(this.scheme=v.scheme||a,this.authority=v.authority||a,this.path=v.path||a,this.query=v.query||a,this.fragment=v.fragment||a):(this.scheme=function(se,K){return se||K?se:\"file\"}(v,V),this.authority=P||a,this.path=function(se,K){switch(se){case\"https\":case\"http\":case\"file\":K?K[0]!==u&&(K=u+K):K=u}return K}(this.scheme,L||a),this.query=$||a,this.fragment=F||a,l(this,V))}get fsPath(){return w(this,!1)}with(v){if(!v)return this;let{scheme:P,authority:L,path:$,query:F,fragment:V}=v;return P===void 0?P=this.scheme:P===null&&(P=a),L===void 0?L=this.authority:L===null&&(L=a),$===void 0?$=this.path:$===null&&($=a),F===void 0?F=this.query:F===null&&(F=a),V===void 0?V=this.fragment:V===null&&(V=a),P===this.scheme&&L===this.authority&&$===this.path&&F===this.query&&V===this.fragment?this:new p(P,L,$,F,V)}static parse(v,P=!1){let L=f.exec(v);return L?new p(L[2]||a,T(L[4]||a),T(L[5]||a),T(L[7]||a),T(L[9]||a),P):new p(a,a,a,a,a)}static file(v){let P=a;if(i&&(v=v.replace(/\\\\/g,u)),v[0]===u&&v[1]===u){let L=v.indexOf(u,2);L===-1?(P=v.substring(2),v=u):(P=v.substring(2,L),v=v.substring(L)||u)}return new p(\"file\",P,v,a,a)}static from(v){let P=new p(v.scheme,v.authority,v.path,v.query,v.fragment);return l(P,!0),P}toString(v=!1){return g(this,v)}toJSON(){return this}static revive(v){if(v){if(v instanceof d)return v;{let P=new p(v);return P._formatted=v.external,P._fsPath=v._sep===h?v.fsPath:null,P}}return v}}let h=i?1:void 0;class p extends d{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=w(this,!1)),this._fsPath}toString(v=!1){return v?g(this,!0):(this._formatted||(this._formatted=g(this,!1)),this._formatted)}toJSON(){let v={$mid:1};return this._fsPath&&(v.fsPath=this._fsPath,v._sep=h),this._formatted&&(v.external=this._formatted),this.path&&(v.path=this.path),this.scheme&&(v.scheme=this.scheme),this.authority&&(v.authority=this.authority),this.query&&(v.query=this.query),this.fragment&&(v.fragment=this.fragment),v}}let m={58:\"%3A\",47:\"%2F\",63:\"%3F\",35:\"%23\",91:\"%5B\",93:\"%5D\",64:\"%40\",33:\"%21\",36:\"%24\",38:\"%26\",39:\"%27\",40:\"%28\",41:\"%29\",42:\"%2A\",43:\"%2B\",44:\"%2C\",59:\"%3B\",61:\"%3D\",32:\"%20\"};function y(N,v,P){let L,$=-1;for(let F=0;F<N.length;F++){let V=N.charCodeAt(F);if(V>=97&&V<=122||V>=65&&V<=90||V>=48&&V<=57||V===45||V===46||V===95||V===126||v&&V===47||P&&V===91||P&&V===93||P&&V===58)$!==-1&&(L+=encodeURIComponent(N.substring($,F)),$=-1),L!==void 0&&(L+=N.charAt(F));else{L===void 0&&(L=N.substr(0,F));let se=m[V];se!==void 0?($!==-1&&(L+=encodeURIComponent(N.substring($,F)),$=-1),L+=se):$===-1&&($=F)}}return $!==-1&&(L+=encodeURIComponent(N.substring($))),L!==void 0?L:N}function k(N){let v;for(let P=0;P<N.length;P++){let L=N.charCodeAt(P);L===35||L===63?(v===void 0&&(v=N.substr(0,P)),v+=m[L]):v!==void 0&&(v+=N[P])}return v!==void 0?v:N}function w(N,v){let P;return P=N.authority&&N.path.length>1&&N.scheme===\"file\"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?v?N.path.substr(1):N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(P=P.replace(/\\//g,\"\\\\\")),P}function g(N,v){let P=v?k:y,L=\"\",{scheme:$,authority:F,path:V,query:se,fragment:K}=N;if($&&(L+=$,L+=\":\"),(F||$===\"file\")&&(L+=u,L+=u),F){let J=F.indexOf(\"@\");if(J!==-1){let $e=F.substr(0,J);F=F.substr(J+1),J=$e.lastIndexOf(\":\"),J===-1?L+=P($e,!1,!1):(L+=P($e.substr(0,J),!1,!1),L+=\":\",L+=P($e.substr(J+1),!1,!0)),L+=\"@\"}F=F.toLowerCase(),J=F.lastIndexOf(\":\"),J===-1?L+=P(F,!1,!0):(L+=P(F.substr(0,J),!1,!0),L+=F.substr(J))}if(V){if(V.length>=3&&V.charCodeAt(0)===47&&V.charCodeAt(2)===58){let J=V.charCodeAt(1);J>=65&&J<=90&&(V=`/${String.fromCharCode(J+32)}:${V.substr(3)}`)}else if(V.length>=2&&V.charCodeAt(1)===58){let J=V.charCodeAt(0);J>=65&&J<=90&&(V=`${String.fromCharCode(J+32)}:${V.substr(2)}`)}L+=P(V,!0,!1)}return se&&(L+=\"?\",L+=P(se,!1,!1)),K&&(L+=\"#\",L+=v?K:y(K,!1,!1)),L}function S(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+S(N.substr(3)):N}}let x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function T(N){return N.match(x)?N.replace(x,v=>S(v)):N}var O=r(470);let I=O.posix||O,E=\"/\";var j;(function(N){N.joinPath=function(v,...P){return v.with({path:I.join(v.path,...P)})},N.resolvePath=function(v,...P){let L=v.path,$=!1;L[0]!==E&&(L=E+L,$=!0);let F=I.resolve(L,...P);return $&&F[0]===E&&!v.authority&&(F=F.substring(1)),v.with({path:F})},N.dirname=function(v){if(v.path.length===0||v.path===E)return v;let P=I.dirname(v.path);return P.length===1&&P.charCodeAt(0)===46&&(P=\"\"),v.with({path:P})},N.basename=function(v){return I.basename(v.path)},N.extname=function(v){return I.extname(v.path)}})(j||(j={}))})(),or=n})();var{URI:he,Utils:qi}=or;function ar(e,t){if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");let r=String(e),n=\"\",i=t?!!t.extended:!1,s=t?!!t.globstar:!1,o=!1,c=t&&typeof t.flags==\"string\"?t.flags:\"\",l;for(let a=0,u=r.length;a<u;a++)switch(l=r[a],l){case\"/\":case\"$\":case\"^\":case\"+\":case\".\":case\"(\":case\")\":case\"=\":case\"!\":case\"|\":n+=\"\\\\\"+l;break;case\"?\":if(i){n+=\".\";break}case\"[\":case\"]\":if(i){n+=l;break}case\"{\":if(i){o=!0,n+=\"(\";break}case\"}\":if(i){o=!1,n+=\")\";break}case\",\":if(o){n+=\"|\";break}n+=\"\\\\\"+l;break;case\"*\":let f=r[a-1],d=1;for(;r[a+1]===\"*\";)d++,a++;let h=r[a+1];s?d>1&&(f===\"/\"||f===void 0||f===\"{\"||f===\",\")&&(h===\"/\"||h===void 0||h===\",\"||h===\"}\")?(h===\"/\"?a++:f===\"/\"&&n.endsWith(\"\\\\/\")&&(n=n.substr(0,n.length-2)),n+=\"((?:[^/]*(?:/|$))*)\"):n+=\"([^/]*)\":n+=\".*\";break;default:n+=l}return(!c||!~c.indexOf(\"g\"))&&(n=\"^\"+n+\"$\"),new RegExp(n,c)}var qr=\"!\",Wr=\"/\",en=class{constructor(t,r,n){this.folderUri=r,this.uris=n,this.globWrappers=[];try{for(let i of t){let s=i[0]!==qr;s||(i=i.substring(1)),i.length>0&&(i[0]===Wr&&(i=i.substring(1)),this.globWrappers.push({regexp:ar(\"**/\"+i,{extended:!0,globstar:!0}),include:s}))}r&&(r=lr(r),r.endsWith(\"/\")||(r=r+\"/\"),this.folderUri=r)}catch{this.globWrappers.length=0,this.uris=[]}}matchesPattern(t){if(this.folderUri&&!t.startsWith(this.folderUri))return!1;let r=!1;for(let{regexp:n,include:i}of this.globWrappers)n.test(t)&&(r=i);return r}getURIs(){return this.uris}},tn=class{constructor(t,r,n){this.service=t,this.uri=r,this.dependencies=new Set,this.anchors=void 0,n&&(this.unresolvedSchema=this.service.promise.resolve(new xe(n)))}getUnresolvedSchema(){return this.unresolvedSchema||(this.unresolvedSchema=this.service.loadSchema(this.uri)),this.unresolvedSchema}getResolvedSchema(){return this.resolvedSchema||(this.resolvedSchema=this.getUnresolvedSchema().then(t=>this.service.resolveSchemaContent(t,this))),this.resolvedSchema}clearSchema(){let t=!!this.unresolvedSchema;return this.resolvedSchema=void 0,this.unresolvedSchema=void 0,this.dependencies.clear(),this.anchors=void 0,t}},xe=class{constructor(t,r=[]){this.schema=t,this.errors=r}},ot=class{constructor(t,r=[],n=[],i){this.schema=t,this.errors=r,this.warnings=n,this.schemaDraft=i}getSection(t){let r=this.getSectionRecursive(t,this.schema);if(r)return Z(r)}getSectionRecursive(t,r){if(!r||typeof r==\"boolean\"||t.length===0)return r;let n=t.shift();if(r.properties&&typeof r.properties[n])return this.getSectionRecursive(t,r.properties[n]);if(r.patternProperties){for(let i of Object.keys(r.patternProperties))if(me(i)?.test(n))return this.getSectionRecursive(t,r.patternProperties[i])}else{if(typeof r.additionalProperties==\"object\")return this.getSectionRecursive(t,r.additionalProperties);if(n.match(\"[0-9]+\")){if(Array.isArray(r.items)){let i=parseInt(n,10);if(!isNaN(i)&&r.items[i])return this.getSectionRecursive(t,r.items[i])}else if(r.items)return this.getSectionRecursive(t,r.items)}}}},at=class{constructor(t,r,n){this.contextService=r,this.requestService=t,this.promiseConstructor=n||Promise,this.callOnDispose=[],this.contributionSchemas={},this.contributionAssociations=[],this.schemasById={},this.filePatternAssociations=[],this.registeredSchemasIds={}}getRegisteredSchemaIds(t){return Object.keys(this.registeredSchemasIds).filter(r=>{let n=he.parse(r).scheme;return n!==\"schemaservice\"&&(!t||t(n))})}get promise(){return this.promiseConstructor}dispose(){for(;this.callOnDispose.length>0;)this.callOnDispose.pop()()}onResourceChange(t){this.cachedSchemaForResource=void 0;let r=!1;t=pe(t);let n=[t],i=Object.keys(this.schemasById).map(s=>this.schemasById[s]);for(;n.length;){let s=n.pop();for(let o=0;o<i.length;o++){let c=i[o];c&&(c.uri===s||c.dependencies.has(s))&&(c.uri!==s&&n.push(c.uri),c.clearSchema()&&(r=!0),i[o]=void 0)}}return r}setSchemaContributions(t){if(t.schemas){let r=t.schemas;for(let n in r){let i=pe(n);this.contributionSchemas[i]=this.addSchemaHandle(i,r[n])}}if(Array.isArray(t.schemaAssociations)){let r=t.schemaAssociations;for(let n of r){let i=n.uris.map(pe),s=this.addFilePatternAssociation(n.pattern,n.folderUri,i);this.contributionAssociations.push(s)}}}addSchemaHandle(t,r){let n=new tn(this,t,r);return this.schemasById[t]=n,n}getOrAddSchemaHandle(t,r){return this.schemasById[t]||this.addSchemaHandle(t,r)}addFilePatternAssociation(t,r,n){let i=new en(t,r,n);return this.filePatternAssociations.push(i),i}registerExternalSchema(t){let r=pe(t.uri);return this.registeredSchemasIds[r]=!0,this.cachedSchemaForResource=void 0,t.fileMatch&&t.fileMatch.length&&this.addFilePatternAssociation(t.fileMatch,t.folderUri,[r]),t.schema?this.addSchemaHandle(r,t.schema):this.getOrAddSchemaHandle(r)}clearExternalSchemas(){this.schemasById={},this.filePatternAssociations=[],this.registeredSchemasIds={},this.cachedSchemaForResource=void 0;for(let t in this.contributionSchemas)this.schemasById[t]=this.contributionSchemas[t],this.registeredSchemasIds[t]=!0;for(let t of this.contributionAssociations)this.filePatternAssociations.push(t)}getResolvedSchema(t){let r=pe(t),n=this.schemasById[r];return n?n.getResolvedSchema():this.promise.resolve(void 0)}loadSchema(t){if(!this.requestService){let r=A(\"Unable to load schema from '{0}'. No schema request service available\",Me(t));return this.promise.resolve(new xe({},[r]))}return t.startsWith(\"http://json-schema.org/\")&&(t=\"https\"+t.substring(4)),this.requestService(t).then(r=>{if(!r){let o=A(\"Unable to load schema from '{0}': No content.\",Me(t));return new xe({},[o])}let n=[];r.charCodeAt(0)===65279&&(n.push(A(\"Problem reading content from '{0}': UTF-8 with BOM detected, only UTF 8 is allowed.\",Me(t))),r=r.trimStart());let i={},s=[];return i=dn(r,s),s.length&&n.push(A(\"Unable to parse content from '{0}': Parse error at offset {1}.\",Me(t),s[0].offset)),new xe(i,n)},r=>{let n=r.toString(),i=r.toString().split(\"Error: \");return i.length>1&&(n=i[1]),fe(n,\".\")&&(n=n.substr(0,n.length-1)),new xe({},[A(\"Unable to load schema from '{0}': {1}.\",Me(t),n)])})}resolveSchemaContent(t,r){let n=t.errors.slice(0),i=t.schema,s=i.$schema?pe(i.$schema):void 0;if(s===\"http://json-schema.org/draft-03/schema\")return this.promise.resolve(new ot({},[A(\"Draft-03 schemas are not supported.\")],[],s));let o=new Set,c=this.contextService,l=(m,y)=>{y=decodeURIComponent(y);let k=m;return y[0]===\"/\"&&(y=y.substring(1)),y.split(\"/\").some(w=>(w=w.replace(/~1/g,\"/\").replace(/~0/g,\"~\"),k=k[w],!k)),k},a=(m,y,k)=>(y.anchors||(y.anchors=p(m)),y.anchors.get(k)),u=(m,y)=>{for(let k in y)y.hasOwnProperty(k)&&k!==\"id\"&&k!==\"$id\"&&(m[k]=y[k])},f=(m,y,k,w)=>{let g;w===void 0||w.length===0?g=y:w.charAt(0)===\"/\"?g=l(y,w):g=a(y,k,w),g?u(m,g):n.push(A(\"$ref '{0}' in '{1}' can not be resolved.\",w||\"\",k.uri))},d=(m,y,k,w)=>{c&&!/^[A-Za-z][A-Za-z0-9+\\-.+]*:\\/\\/.*/.test(y)&&(y=c.resolveRelativePath(y,w.uri)),y=pe(y);let g=this.getOrAddSchemaHandle(y);return g.getUnresolvedSchema().then(S=>{if(w.dependencies.add(y),S.errors.length){let x=k?y+\"#\"+k:y;n.push(A(\"Problems loading reference '{0}': {1}\",x,S.errors[0]))}return f(m,S.schema,g,k),h(m,S.schema,g)})},h=(m,y,k)=>{let w=[];return this.traverseNodes(m,g=>{let S=new Set;for(;g.$ref;){let x=g.$ref,T=x.split(\"#\",2);if(delete g.$ref,T[0].length>0){w.push(d(g,T[0],T[1],k));return}else if(!S.has(x)){let O=T[1];f(g,y,k,O),S.add(x)}}g.$recursiveRef&&o.add(\"$recursiveRef\"),g.$dynamicRef&&o.add(\"$dynamicRef\")}),this.promise.all(w)},p=m=>{let y=new Map;return this.traverseNodes(m,k=>{let w=k.$id||k.id,g=Ue(w)&&w.charAt(0)===\"#\"?w.substring(1):k.$anchor;g&&(y.has(g)?n.push(A(\"Duplicate anchor declaration: '{0}'\",g)):y.set(g,k)),k.$recursiveAnchor&&o.add(\"$recursiveAnchor\"),k.$dynamicAnchor&&o.add(\"$dynamicAnchor\")}),y};return h(i,i,r).then(m=>{let y=[];return o.size&&y.push(A(\"The schema uses meta-schema features ({0}) that are not yet supported by the validator.\",Array.from(o.keys()).join(\", \"))),new ot(i,n,y,s)})}traverseNodes(t,r){if(!t||typeof t!=\"object\")return Promise.resolve(null);let n=new Set,i=(...u)=>{for(let f of u)oe(f)&&l.push(f)},s=(...u)=>{for(let f of u)if(oe(f))for(let d in f){let p=f[d];oe(p)&&l.push(p)}},o=(...u)=>{for(let f of u)if(Array.isArray(f))for(let d of f)oe(d)&&l.push(d)},c=u=>{if(Array.isArray(u))for(let f of u)oe(f)&&l.push(f);else oe(u)&&l.push(u)},l=[t],a=l.pop();for(;a;)n.has(a)||(n.add(a),r(a),i(a.additionalItems,a.additionalProperties,a.not,a.contains,a.propertyNames,a.if,a.then,a.else,a.unevaluatedItems,a.unevaluatedProperties),s(a.definitions,a.$defs,a.properties,a.patternProperties,a.dependencies,a.dependentSchemas),o(a.anyOf,a.allOf,a.oneOf,a.prefixItems),c(a.items)),a=l.pop()}getSchemaFromProperty(t,r){if(r.root?.type===\"object\"){for(let n of r.root.properties)if(n.keyNode.value===\"$schema\"&&n.valueNode?.type===\"string\"){let i=n.valueNode.value;return this.contextService&&!/^\\w[\\w\\d+.-]*:/.test(i)&&(i=this.contextService.resolveRelativePath(i,t)),i}}}getAssociatedSchemas(t){let r=Object.create(null),n=[],i=lr(t);for(let s of this.filePatternAssociations)if(s.matchesPattern(i))for(let o of s.getURIs())r[o]||(n.push(o),r[o]=!0);return n}getSchemaURIsForResource(t,r){let n=r&&this.getSchemaFromProperty(t,r);return n?[n]:this.getAssociatedSchemas(t)}getSchemaForResource(t,r){if(r){let s=this.getSchemaFromProperty(t,r);if(s){let o=pe(s);return this.getOrAddSchemaHandle(o).getResolvedSchema()}}if(this.cachedSchemaForResource&&this.cachedSchemaForResource.resource===t)return this.cachedSchemaForResource.resolvedSchema;let n=this.getAssociatedSchemas(t),i=n.length>0?this.createCombinedSchema(t,n).getResolvedSchema():this.promise.resolve(void 0);return this.cachedSchemaForResource={resource:t,resolvedSchema:i},i}createCombinedSchema(t,r){if(r.length===1)return this.getOrAddSchemaHandle(r[0]);{let n=\"schemaservice://combinedSchema/\"+encodeURIComponent(t),i={allOf:r.map(s=>({$ref:s}))};return this.addSchemaHandle(n,i)}}getMatchingSchemas(t,r,n){if(n){let i=n.id||\"schemaservice://untitled/matchingSchemas/\"+zr++;return this.addSchemaHandle(i,n).getResolvedSchema().then(o=>r.getMatchingSchemas(o.schema).filter(c=>!c.inverted))}return this.getSchemaForResource(t.uri,r).then(i=>i?r.getMatchingSchemas(i.schema).filter(s=>!s.inverted):[])}},zr=0;function pe(e){try{return he.parse(e).toString(!0)}catch{return e}}function lr(e){try{return he.parse(e).with({fragment:null,query:null}).toString(!0)}catch{return e}}function Me(e){try{let t=he.parse(e);if(t.scheme===\"file\")return t.fsPath}catch{}return e}function cr(e,t){let r=[],n=[],i=[],s=-1,o=ee(e.getText(),!1),c=o.scan();function l(p){r.push(p),n.push(i.length)}for(;c!==17;){switch(c){case 1:case 3:{let p=e.positionAt(o.getTokenOffset()).line,m={startLine:p,endLine:p,kind:c===1?\"object\":\"array\"};i.push(m);break}case 2:case 4:{let p=c===2?\"object\":\"array\";if(i.length>0&&i[i.length-1].kind===p){let m=i.pop(),y=e.positionAt(o.getTokenOffset()).line;m&&y>m.startLine+1&&s!==m.startLine&&(m.endLine=y-1,l(m),s=m.startLine)}break}case 13:{let p=e.positionAt(o.getTokenOffset()).line,m=e.positionAt(o.getTokenOffset()+o.getTokenLength()).line;o.getTokenError()===1&&p+1<e.lineCount?o.setPosition(e.offsetAt(D.create(p+1,0))):p<m&&(l({startLine:p,endLine:m,kind:ye.Comment}),s=p);break}case 12:{let m=e.getText().substr(o.getTokenOffset(),o.getTokenLength()).match(/^\\/\\/\\s*#(region\\b)|(endregion\\b)/);if(m){let y=e.positionAt(o.getTokenOffset()).line;if(m[1]){let k={startLine:y,endLine:y,kind:ye.Region};i.push(k)}else{let k=i.length-1;for(;k>=0&&i[k].kind!==ye.Region;)k--;if(k>=0){let w=i[k];i.length=k,y>w.startLine&&s!==w.startLine&&(w.endLine=y,l(w),s=w.startLine)}}}break}}c=o.scan()}let a=t&&t.rangeLimit;if(typeof a!=\"number\"||r.length<=a)return r;t&&t.onRangeLimitExceeded&&t.onRangeLimitExceeded(e.uri);let u=[];for(let p of n)p<30&&(u[p]=(u[p]||0)+1);let f=0,d=0;for(let p=0;p<u.length;p++){let m=u[p];if(m){if(m+f>a){d=p;break}f+=m}}let h=[];for(let p=0;p<r.length;p++){let m=n[p];typeof m==\"number\"&&(m<d||m===d&&f++<a)&&h.push(r[p])}return h}function fr(e,t,r){function n(c){let l=e.offsetAt(c),a=r.getNodeFromOffset(l,!0),u=[];for(;a;){switch(a.type){case\"string\":case\"object\":case\"array\":let d=a.offset+1,h=a.offset+a.length-1;d<h&&l>=d&&l<=h&&u.push(i(d,h)),u.push(i(a.offset,a.offset+a.length));break;case\"number\":case\"boolean\":case\"null\":case\"property\":u.push(i(a.offset,a.offset+a.length));break}if(a.type===\"property\"||a.parent&&a.parent.type===\"array\"){let d=o(a.offset+a.length,5);d!==-1&&u.push(i(a.offset,d))}a=a.parent}let f;for(let d=u.length-1;d>=0;d--)f=Pe.create(u[d],f);return f||(f=Pe.create(_.create(c,c))),f}function i(c,l){return _.create(e.positionAt(c),e.positionAt(l))}let s=ee(e.getText(),!0);function o(c,l){return s.setPosition(c),s.scan()===l?s.getTokenOffset()+s.getTokenLength():-1}return t.map(n)}function Fe(e,t,r){let n;if(r){let s=e.offsetAt(r.start),o=e.offsetAt(r.end)-s;n={offset:s,length:o}}let i={tabSize:t?t.tabSize:4,insertSpaces:t?.insertSpaces===!0,insertFinalNewline:t?.insertFinalNewline===!0,eol:`\n`,keepLines:t?.keepLines===!0};return mn(e.getText(),n,i).map(s=>G.replace(_.create(e.positionAt(s.offset),e.positionAt(s.offset+s.length)),s.content))}var B;(function(e){e[e.Object=0]=\"Object\",e[e.Array=1]=\"Array\"})(B||(B={}));var ke=class{constructor(t,r){this.propertyName=t??\"\",this.beginningLineNumber=r,this.childrenProperties=[],this.lastProperty=!1,this.noKeyName=!1}addChildProperty(t){if(t.parent=this,this.childrenProperties.length>0){let r=0;t.noKeyName?r=this.childrenProperties.length:r=Gr(this.childrenProperties,t,Hr),r<0&&(r=r*-1-1),this.childrenProperties.splice(r,0,t)}else this.childrenProperties.push(t);return t}};function Hr(e,t){let r=e.propertyName.toLowerCase(),n=t.propertyName.toLowerCase();return r<n?-1:r>n?1:0}function Gr(e,t,r){let n=t.propertyName.toLowerCase(),i=e[0].propertyName.toLowerCase(),s=e[e.length-1].propertyName.toLowerCase();if(n<i)return 0;if(n>s)return e.length;let o=0,c=e.length-1;for(;o<=c;){let l=c+o>>1,a=r(t,e[l]);if(a>0)o=l+1;else if(a<0)c=l-1;else return l}return-o-1}function dr(e,t){let r={...t,keepLines:!1},n=X.applyEdits(e,Fe(e,r,void 0)),i=X.create(\"test://test.json\",\"json\",0,n),s=Xr(i),o=Zr(i,s),c=Fe(o,r,void 0),l=X.applyEdits(o,c);return[G.replace(_.create(D.create(0,0),e.positionAt(e.getText().length)),l)]}function Xr(e){let t=e.getText(),r=ee(t,!1),n=new ke,i=n,s=n,o=n,c,l=0,a=0,u,f,d=-1,h=-1,p=0,m=0,y=[],k=!1,w=!1;for(;(c=r.scan())!==17;){if(k===!0&&c!==14&&c!==15&&c!==12&&c!==13&&s.endLineNumber===void 0){let g=r.getTokenStartLine();f===2||f===4?o.endLineNumber=g-1:s.endLineNumber=g-1,p=g,k=!1}if(w===!0&&c!==14&&c!==15&&c!==12&&c!==13&&(p=r.getTokenStartLine(),w=!1),r.getTokenStartLine()!==l){for(let g=l;g<r.getTokenStartLine();g++){let S=e.getText(_.create(D.create(g,0),D.create(g+1,0))).length;a=a+S}l=r.getTokenStartLine()}switch(c){case 10:{if(u===void 0||u===1||u===5&&y[y.length-1]===B.Object){let g=new ke(r.getTokenValue(),p);o=s,s=i.addChildProperty(g)}break}case 3:{if(n.beginningLineNumber===void 0&&(n.beginningLineNumber=r.getTokenStartLine()),y[y.length-1]===B.Object)i=s;else if(y[y.length-1]===B.Array){let g=new ke(r.getTokenValue(),p);g.noKeyName=!0,o=s,s=i.addChildProperty(g),i=s}y.push(B.Array),s.type=B.Array,p=r.getTokenStartLine(),p++;break}case 1:{if(n.beginningLineNumber===void 0)n.beginningLineNumber=r.getTokenStartLine();else if(y[y.length-1]===B.Array){let g=new ke(r.getTokenValue(),p);g.noKeyName=!0,o=s,s=i.addChildProperty(g)}s.type=B.Object,y.push(B.Object),i=s,p=r.getTokenStartLine(),p++;break}case 4:{m=r.getTokenStartLine(),y.pop(),s.endLineNumber===void 0&&(u===2||u===4)&&(s.endLineNumber=m-1,s.lastProperty=!0,s.lineWhereToAddComma=d,s.indexWhereToAddComa=h,o=s,s=s?s.parent:void 0,i=s),n.endLineNumber=m,p=m+1;break}case 2:{m=r.getTokenStartLine(),y.pop(),u!==1&&(s.endLineNumber===void 0&&(s.endLineNumber=m-1,s.lastProperty=!0,s.lineWhereToAddComma=d,s.indexWhereToAddComa=h),o=s,s=s?s.parent:void 0,i=s),n.endLineNumber=r.getTokenStartLine(),p=m+1;break}case 5:{m=r.getTokenStartLine(),s.endLineNumber===void 0&&(y[y.length-1]===B.Object||y[y.length-1]===B.Array&&(u===2||u===4))&&(s.endLineNumber=m,s.commaIndex=r.getTokenOffset()-a,s.commaLine=m),(u===2||u===4)&&(o=s,s=s?s.parent:void 0,i=s),p=m+1;break}case 13:{u===5&&d===r.getTokenStartLine()&&(y[y.length-1]===B.Array&&(f===2||f===4)||y[y.length-1]===B.Object)&&(y[y.length-1]===B.Array&&(f===2||f===4)||y[y.length-1]===B.Object)&&(s.endLineNumber=void 0,k=!0),(u===1||u===3)&&d===r.getTokenStartLine()&&(w=!0);break}}c!==14&&c!==13&&c!==12&&c!==15&&(f=u,u=c,d=r.getTokenStartLine(),h=r.getTokenOffset()+r.getTokenLength()-a)}return n}function Zr(e,t){if(t.childrenProperties.length===0)return e;let r=X.create(\"test://test.json\",\"json\",0,e.getText()),n=[];for(ur(n,t,t.beginningLineNumber);n.length>0;){let i=n.shift(),s=i.propertyTreeArray,o=i.beginningLineNumber;for(let c=0;c<s.length;c++){let l=s[c],a=_.create(D.create(l.beginningLineNumber,0),D.create(l.endLineNumber+1,0)),u=e.getText(a),f=X.create(\"test://test.json\",\"json\",0,u);if(l.lastProperty===!0&&c!==s.length-1){let p=l.lineWhereToAddComma-l.beginningLineNumber,m=l.indexWhereToAddComa,y={range:_.create(D.create(p,m),D.create(p,m)),text:\",\"};X.update(f,[y],1)}else if(l.lastProperty===!1&&c===s.length-1){let p=l.commaIndex,y=l.commaLine-l.beginningLineNumber,k={range:_.create(D.create(y,p),D.create(y,p+1)),text:\"\"};X.update(f,[k],1)}let d=l.endLineNumber-l.beginningLineNumber+1,h={range:_.create(D.create(o,0),D.create(o+d,0)),text:f.getText()};X.update(r,[h],1),ur(n,l,o),o=o+d}}return r}function ur(e,t,r){if(t.childrenProperties.length!==0)if(t.type===B.Object){let n=1/0;for(let s of t.childrenProperties)s.beginningLineNumber<n&&(n=s.beginningLineNumber);let i=n-t.beginningLineNumber;r=r+i,e.push(new lt(r,t.childrenProperties))}else t.type===B.Array&&hr(e,t,r)}function hr(e,t,r){for(let n of t.childrenProperties){if(n.type===B.Object){let i=1/0;for(let o of n.childrenProperties)o.beginningLineNumber<i&&(i=o.beginningLineNumber);let s=i-n.beginningLineNumber;e.push(new lt(r+n.beginningLineNumber-t.beginningLineNumber+s,n.childrenProperties))}n.type===B.Array&&hr(e,n,r+n.beginningLineNumber-t.beginningLineNumber)}}var lt=class{constructor(t,r){this.beginningLineNumber=t,this.propertyTreeArray=r}};function pr(e,t){let r=[];return t.visit(n=>{if(n.type===\"property\"&&n.keyNode.value===\"$ref\"&&n.valueNode?.type===\"string\"){let i=n.valueNode.value,s=Yr(t,i);if(s){let o=e.positionAt(s.offset);r.push({target:`${e.uri}#${o.line+1},${o.character+1}`,range:Qr(e,n.valueNode)})}}return!0}),Promise.resolve(r)}function Qr(e,t){return _.create(e.positionAt(t.offset+1),e.positionAt(t.offset+t.length-1))}function Yr(e,t){let r=Kr(t);return r?nn(r,e.root):null}function nn(e,t){if(!t)return null;if(e.length===0)return t;let r=e.shift();if(t&&t.type===\"object\"){let n=t.properties.find(i=>i.keyNode.value===r);return n?nn(e,n.valueNode):null}else if(t&&t.type===\"array\"&&r.match(/^(0|[1-9][0-9]*)$/)){let n=Number.parseInt(r),i=t.items[n];return i?nn(e,i):null}return null}function Kr(e){return e===\"#\"?[]:e[0]!==\"#\"||e[1]!==\"/\"?null:e.substring(2).split(/\\//).map(ei)}function ei(e){return e.replace(/~1/g,\"/\").replace(/~0/g,\"~\")}function gr(e){let t=e.promiseConstructor||Promise,r=new at(e.schemaRequestService,e.workspaceContext,t);r.setSchemaContributions(st);let n=new et(r,e.contributions,t,e.clientCapabilities),i=new tt(r,e.contributions,t),s=new it(r),o=new rt(r,t);return{configure:c=>{r.clearExternalSchemas(),c.schemas?.forEach(r.registerExternalSchema.bind(r)),o.configure(c)},resetSchema:c=>r.onResourceChange(c),doValidation:o.doValidation.bind(o),getLanguageStatus:o.getLanguageStatus.bind(o),parseJSONDocument:c=>tr(c,{collectComments:!0}),newJSONDocument:(c,l)=>er(c,l),getMatchingSchemas:r.getMatchingSchemas.bind(r),doResolve:n.doResolve.bind(n),doComplete:n.doComplete.bind(n),findDocumentSymbols:s.findDocumentSymbols.bind(s),findDocumentSymbols2:s.findDocumentSymbols2.bind(s),findDocumentColors:s.findDocumentColors.bind(s),getColorPresentations:s.getColorPresentations.bind(s),doHover:i.doHover.bind(i),getFoldingRanges:cr,getSelectionRanges:fr,findDefinition:()=>Promise.resolve([]),findLinks:pr,format:(c,l,a)=>Fe(c,a,l),sort:(c,l)=>dr(c,l)}}var mr;typeof fetch<\"u\"&&(mr=function(e){return fetch(e).then(t=>t.text())});var ct=class{constructor(t,r){this._ctx=t,this._languageSettings=r.languageSettings,this._languageId=r.languageId,this._languageService=gr({workspaceContext:{resolveRelativePath:(n,i)=>{let s=i.substr(0,i.lastIndexOf(\"/\")+1);return ii(s,n)}},schemaRequestService:r.enableSchemaRequest?mr:void 0,clientCapabilities:He.LATEST}),this._languageService.configure(this._languageSettings)}async doValidation(t){let r=this._getTextDocument(t);if(r){let n=this._languageService.parseJSONDocument(r);return this._languageService.doValidation(r,n,this._languageSettings)}return Promise.resolve([])}async doComplete(t,r){let n=this._getTextDocument(t);if(!n)return null;let i=this._languageService.parseJSONDocument(n);return this._languageService.doComplete(n,r,i)}async doResolve(t){return this._languageService.doResolve(t)}async doHover(t,r){let n=this._getTextDocument(t);if(!n)return null;let i=this._languageService.parseJSONDocument(n);return this._languageService.doHover(n,r,i)}async format(t,r,n){let i=this._getTextDocument(t);if(!i)return[];let s=this._languageService.format(i,r,n);return Promise.resolve(s)}async resetSchema(t){return Promise.resolve(this._languageService.resetSchema(t))}async findDocumentSymbols(t){let r=this._getTextDocument(t);if(!r)return[];let n=this._languageService.parseJSONDocument(r),i=this._languageService.findDocumentSymbols2(r,n);return Promise.resolve(i)}async findDocumentColors(t){let r=this._getTextDocument(t);if(!r)return[];let n=this._languageService.parseJSONDocument(r),i=this._languageService.findDocumentColors(r,n);return Promise.resolve(i)}async getColorPresentations(t,r,n){let i=this._getTextDocument(t);if(!i)return[];let s=this._languageService.parseJSONDocument(i),o=this._languageService.getColorPresentations(i,s,r,n);return Promise.resolve(o)}async getFoldingRanges(t,r){let n=this._getTextDocument(t);if(!n)return[];let i=this._languageService.getFoldingRanges(n,r);return Promise.resolve(i)}async getSelectionRanges(t,r){let n=this._getTextDocument(t);if(!n)return[];let i=this._languageService.parseJSONDocument(n),s=this._languageService.getSelectionRanges(n,r,i);return Promise.resolve(s)}async parseJSONDocument(t){let r=this._getTextDocument(t);if(!r)return null;let n=this._languageService.parseJSONDocument(r);return Promise.resolve(n)}async getMatchingSchemas(t){let r=this._getTextDocument(t);if(!r)return[];let n=this._languageService.parseJSONDocument(r);return Promise.resolve(this._languageService.getMatchingSchemas(r,n))}_getTextDocument(t){let r=this._ctx.getMirrorModels();for(let n of r)if(n.uri.toString()===t)return X.create(t,this._languageId,n.version,n.getValue());return null}},ni=47,rn=46;function ri(e){return e.charCodeAt(0)===ni}function ii(e,t){if(ri(t)){let r=he.parse(e),n=t.split(\"/\");return r.with({path:yr(n)}).toString()}return si(e,t)}function yr(e){let t=[];for(let n of e)n.length===0||n.length===1&&n.charCodeAt(0)===rn||(n.length===2&&n.charCodeAt(0)===rn&&n.charCodeAt(1)===rn?t.pop():t.push(n));e.length>1&&e[e.length-1].length===0&&t.push(\"\");let r=t.join(\"/\");return e[0].length===0&&(r=\"/\"+r),r}function si(e,...t){let r=he.parse(e),n=r.path.split(\"/\");for(let i of t)n.push(...i.split(\"/\"));return r.with({path:yr(n)}).toString()}function oi(e,t){return new ct(e,t)}return Sr(ai);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/language/typescript/tsMode.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/typescript/tsMode\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var ee=Object.create;var K=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var B=(n=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(n,{get:(e,t)=>(typeof require<\"u\"?require:e)[t]}):n)(function(n){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+n+'\" is not supported')});var ne=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),oe=(n,e)=>{for(var t in e)K(n,t,{get:e[t],enumerable:!0})},H=(n,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let l of ie(e))!se.call(n,l)&&l!==t&&K(n,l,{get:()=>e[l],enumerable:!(i=te(e,l))||i.enumerable});return n},$=(n,e,t)=>(H(n,e,\"default\"),t&&H(t,e,\"default\")),z=(n,e,t)=>(t=n!=null?ee(re(n)):{},H(e||!n||!n.__esModule?K(t,\"default\",{value:n,enumerable:!0}):t,n)),ae=n=>H(K({},\"__esModule\",{value:!0}),n);var G=ne((he,J)=>{var le=z(B(\"vs/editor/editor.api\"));J.exports=le});var me={};oe(me,{Adapter:()=>k,CodeActionAdaptor:()=>O,DefinitionAdapter:()=>F,DiagnosticsAdapter:()=>T,DocumentHighlightAdapter:()=>D,FormatAdapter:()=>A,FormatHelper:()=>x,FormatOnTypeAdapter:()=>R,InlayHintsAdapter:()=>N,Kind:()=>m,LibFiles:()=>_,OutlineAdapter:()=>M,QuickInfoAdapter:()=>P,ReferenceAdapter:()=>L,RenameAdapter:()=>E,SignatureHelpAdapter:()=>I,SuggestAdapter:()=>C,WorkerManager:()=>v,flattenDiagnosticMessageText:()=>U,getJavaScriptWorker:()=>pe,getTypeScriptWorker:()=>de,setupJavaScript:()=>ge,setupTypeScript:()=>ce});var s={};$(s,z(G()));var v=class{constructor(e,t){this._modeId=e;this._defaults=t;this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=s.editor.createWebWorker({moduleId:\"vs/language/typescript/tsWorker\",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(s.editor.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}};var q=B(\"./monaco.contribution\");var r={};r[\"lib.d.ts\"]=!0;r[\"lib.decorators.d.ts\"]=!0;r[\"lib.decorators.legacy.d.ts\"]=!0;r[\"lib.dom.asynciterable.d.ts\"]=!0;r[\"lib.dom.d.ts\"]=!0;r[\"lib.dom.iterable.d.ts\"]=!0;r[\"lib.es2015.collection.d.ts\"]=!0;r[\"lib.es2015.core.d.ts\"]=!0;r[\"lib.es2015.d.ts\"]=!0;r[\"lib.es2015.generator.d.ts\"]=!0;r[\"lib.es2015.iterable.d.ts\"]=!0;r[\"lib.es2015.promise.d.ts\"]=!0;r[\"lib.es2015.proxy.d.ts\"]=!0;r[\"lib.es2015.reflect.d.ts\"]=!0;r[\"lib.es2015.symbol.d.ts\"]=!0;r[\"lib.es2015.symbol.wellknown.d.ts\"]=!0;r[\"lib.es2016.array.include.d.ts\"]=!0;r[\"lib.es2016.d.ts\"]=!0;r[\"lib.es2016.full.d.ts\"]=!0;r[\"lib.es2016.intl.d.ts\"]=!0;r[\"lib.es2017.d.ts\"]=!0;r[\"lib.es2017.date.d.ts\"]=!0;r[\"lib.es2017.full.d.ts\"]=!0;r[\"lib.es2017.intl.d.ts\"]=!0;r[\"lib.es2017.object.d.ts\"]=!0;r[\"lib.es2017.sharedmemory.d.ts\"]=!0;r[\"lib.es2017.string.d.ts\"]=!0;r[\"lib.es2017.typedarrays.d.ts\"]=!0;r[\"lib.es2018.asyncgenerator.d.ts\"]=!0;r[\"lib.es2018.asynciterable.d.ts\"]=!0;r[\"lib.es2018.d.ts\"]=!0;r[\"lib.es2018.full.d.ts\"]=!0;r[\"lib.es2018.intl.d.ts\"]=!0;r[\"lib.es2018.promise.d.ts\"]=!0;r[\"lib.es2018.regexp.d.ts\"]=!0;r[\"lib.es2019.array.d.ts\"]=!0;r[\"lib.es2019.d.ts\"]=!0;r[\"lib.es2019.full.d.ts\"]=!0;r[\"lib.es2019.intl.d.ts\"]=!0;r[\"lib.es2019.object.d.ts\"]=!0;r[\"lib.es2019.string.d.ts\"]=!0;r[\"lib.es2019.symbol.d.ts\"]=!0;r[\"lib.es2020.bigint.d.ts\"]=!0;r[\"lib.es2020.d.ts\"]=!0;r[\"lib.es2020.date.d.ts\"]=!0;r[\"lib.es2020.full.d.ts\"]=!0;r[\"lib.es2020.intl.d.ts\"]=!0;r[\"lib.es2020.number.d.ts\"]=!0;r[\"lib.es2020.promise.d.ts\"]=!0;r[\"lib.es2020.sharedmemory.d.ts\"]=!0;r[\"lib.es2020.string.d.ts\"]=!0;r[\"lib.es2020.symbol.wellknown.d.ts\"]=!0;r[\"lib.es2021.d.ts\"]=!0;r[\"lib.es2021.full.d.ts\"]=!0;r[\"lib.es2021.intl.d.ts\"]=!0;r[\"lib.es2021.promise.d.ts\"]=!0;r[\"lib.es2021.string.d.ts\"]=!0;r[\"lib.es2021.weakref.d.ts\"]=!0;r[\"lib.es2022.array.d.ts\"]=!0;r[\"lib.es2022.d.ts\"]=!0;r[\"lib.es2022.error.d.ts\"]=!0;r[\"lib.es2022.full.d.ts\"]=!0;r[\"lib.es2022.intl.d.ts\"]=!0;r[\"lib.es2022.object.d.ts\"]=!0;r[\"lib.es2022.regexp.d.ts\"]=!0;r[\"lib.es2022.sharedmemory.d.ts\"]=!0;r[\"lib.es2022.string.d.ts\"]=!0;r[\"lib.es2023.array.d.ts\"]=!0;r[\"lib.es2023.collection.d.ts\"]=!0;r[\"lib.es2023.d.ts\"]=!0;r[\"lib.es2023.full.d.ts\"]=!0;r[\"lib.es5.d.ts\"]=!0;r[\"lib.es6.d.ts\"]=!0;r[\"lib.esnext.collection.d.ts\"]=!0;r[\"lib.esnext.d.ts\"]=!0;r[\"lib.esnext.decorators.d.ts\"]=!0;r[\"lib.esnext.disposable.d.ts\"]=!0;r[\"lib.esnext.full.d.ts\"]=!0;r[\"lib.esnext.intl.d.ts\"]=!0;r[\"lib.esnext.object.d.ts\"]=!0;r[\"lib.esnext.promise.d.ts\"]=!0;r[\"lib.scripthost.d.ts\"]=!0;r[\"lib.webworker.asynciterable.d.ts\"]=!0;r[\"lib.webworker.d.ts\"]=!0;r[\"lib.webworker.importscripts.d.ts\"]=!0;r[\"lib.webworker.iterable.d.ts\"]=!0;function U(n,e,t=0){if(typeof n==\"string\")return n;if(n===void 0)return\"\";let i=\"\";if(t){i+=e;for(let l=0;l<t;l++)i+=\"  \"}if(i+=n.messageText,t++,n.next)for(let l of n.next)i+=U(l,e,t);return i}function S(n){return n?n.map(e=>e.text).join(\"\"):\"\"}var k=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let i=e.getPositionAt(t.start),l=e.getPositionAt(t.start+t.length),{lineNumber:u,column:c}=i,{lineNumber:g,column:o}=l;return{startLineNumber:u,startColumn:c,endLineNumber:g,endColumn:o}}},_=class{constructor(e){this._worker=e;this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf(\"/lib.\")===0?!!r[e.path.slice(1)]:!1}getOrCreateModel(e){let t=s.Uri.parse(e),i=s.editor.getModel(t);if(i)return i;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return s.editor.createModel(this._libFiles[t.path.slice(1)],\"typescript\",t);let l=q.typescriptDefaults.getExtraLibs()[e];return l?s.editor.createModel(l.content,\"typescript\",t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e})),this._fetchLibFilesPromise}};var T=class extends k{constructor(t,i,l,u){super(u);this._libFiles=t;this._defaults=i;this._selector=l;this._disposables=[];this._listener=Object.create(null);let c=a=>{if(a.getLanguageId()!==l)return;let d=()=>{let{onlyVisible:y}=this._defaults.getDiagnosticsOptions();y?a.isAttachedToEditor()&&this._doValidate(a):this._doValidate(a)},p,f=a.onDidChangeContent(()=>{clearTimeout(p),p=window.setTimeout(d,500)}),b=a.onDidChangeAttached(()=>{let{onlyVisible:y}=this._defaults.getDiagnosticsOptions();y&&(a.isAttachedToEditor()?d():s.editor.setModelMarkers(a,this._selector,[]))});this._listener[a.uri.toString()]={dispose(){f.dispose(),b.dispose(),clearTimeout(p)}},d()},g=a=>{s.editor.setModelMarkers(a,this._selector,[]);let d=a.uri.toString();this._listener[d]&&(this._listener[d].dispose(),delete this._listener[d])};this._disposables.push(s.editor.onDidCreateModel(a=>c(a))),this._disposables.push(s.editor.onWillDisposeModel(g)),this._disposables.push(s.editor.onDidChangeModelLanguage(a=>{g(a.model),c(a.model)})),this._disposables.push({dispose(){for(let a of s.editor.getModels())g(a)}});let o=()=>{for(let a of s.editor.getModels())g(a),c(a)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),s.editor.getModels().forEach(a=>c(a))}dispose(){this._disposables.forEach(t=>t&&t.dispose()),this._disposables=[]}async _doValidate(t){let i=await this._worker(t.uri);if(t.isDisposed())return;let l=[],{noSyntaxValidation:u,noSemanticValidation:c,noSuggestionDiagnostics:g}=this._defaults.getDiagnosticsOptions();u||l.push(i.getSyntacticDiagnostics(t.uri.toString())),c||l.push(i.getSemanticDiagnostics(t.uri.toString())),g||l.push(i.getSuggestionDiagnostics(t.uri.toString()));let o=await Promise.all(l);if(!o||t.isDisposed())return;let a=o.reduce((p,f)=>f.concat(p),[]).filter(p=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(p.code)===-1),d=a.map(p=>p.relatedInformation||[]).reduce((p,f)=>f.concat(p),[]).map(p=>p.file?s.Uri.parse(p.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(d),!t.isDisposed()&&s.editor.setModelMarkers(t,this._selector,a.map(p=>this._convertDiagnostics(t,p)))}_convertDiagnostics(t,i){let l=i.start||0,u=i.length||1,{lineNumber:c,column:g}=t.getPositionAt(l),{lineNumber:o,column:a}=t.getPositionAt(l+u),d=[];return i.reportsUnnecessary&&d.push(s.MarkerTag.Unnecessary),i.reportsDeprecated&&d.push(s.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(i.category),startLineNumber:c,startColumn:g,endLineNumber:o,endColumn:a,message:U(i.messageText,`\n`),code:i.code.toString(),tags:d,relatedInformation:this._convertRelatedInformation(t,i.relatedInformation)}}_convertRelatedInformation(t,i){if(!i)return[];let l=[];return i.forEach(u=>{let c=t;if(u.file&&(c=this._libFiles.getOrCreateModel(u.file.fileName)),!c)return;let g=u.start||0,o=u.length||1,{lineNumber:a,column:d}=c.getPositionAt(g),{lineNumber:p,column:f}=c.getPositionAt(g+o);l.push({resource:c.uri,startLineNumber:a,startColumn:d,endLineNumber:p,endColumn:f,message:U(u.messageText,`\n`)})}),l}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return s.MarkerSeverity.Error;case 3:return s.MarkerSeverity.Info;case 0:return s.MarkerSeverity.Warning;case 2:return s.MarkerSeverity.Hint}return s.MarkerSeverity.Info}},C=class n extends k{get triggerCharacters(){return[\".\"]}async provideCompletionItems(e,t,i,l){let u=e.getWordUntilPosition(t),c=new s.Range(t.lineNumber,u.startColumn,t.lineNumber,u.endColumn),g=e.uri,o=e.getOffsetAt(t),a=await this._worker(g);if(e.isDisposed())return;let d=await a.getCompletionsAtPosition(g.toString(),o);return!d||e.isDisposed()?void 0:{suggestions:d.entries.map(f=>{let b=c;if(f.replacementSpan){let W=e.getPositionAt(f.replacementSpan.start),w=e.getPositionAt(f.replacementSpan.start+f.replacementSpan.length);b=new s.Range(W.lineNumber,W.column,w.lineNumber,w.column)}let y=[];return f.kindModifiers!==void 0&&f.kindModifiers.indexOf(\"deprecated\")!==-1&&y.push(s.languages.CompletionItemTag.Deprecated),{uri:g,position:t,offset:o,range:b,label:f.name,insertText:f.name,sortText:f.sortText,kind:n.convertKind(f.kind),tags:y}})}}async resolveCompletionItem(e,t){let i=e,l=i.uri,u=i.position,c=i.offset,o=await(await this._worker(l)).getCompletionEntryDetails(l.toString(),c,i.label);return o?{uri:l,position:u,label:o.name,kind:n.convertKind(o.kind),detail:S(o.displayParts),documentation:{value:n.createDocumentationString(o)}}:i}static convertKind(e){switch(e){case m.primitiveType:case m.keyword:return s.languages.CompletionItemKind.Keyword;case m.variable:case m.localVariable:return s.languages.CompletionItemKind.Variable;case m.memberVariable:case m.memberGetAccessor:case m.memberSetAccessor:return s.languages.CompletionItemKind.Field;case m.function:case m.memberFunction:case m.constructSignature:case m.callSignature:case m.indexSignature:return s.languages.CompletionItemKind.Function;case m.enum:return s.languages.CompletionItemKind.Enum;case m.module:return s.languages.CompletionItemKind.Module;case m.class:return s.languages.CompletionItemKind.Class;case m.interface:return s.languages.CompletionItemKind.Interface;case m.warning:return s.languages.CompletionItemKind.File}return s.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=S(e.documentation);if(e.tags)for(let i of e.tags)t+=`\n\n${Q(i)}`;return t}};function Q(n){let e=`*@${n.name}*`;if(n.name===\"param\"&&n.text){let[t,...i]=n.text;e+=`\\`${t.text}\\``,i.length>0&&(e+=` \\u2014 ${i.map(l=>l.text).join(\" \")}`)}else Array.isArray(n.text)?e+=` \\u2014 ${n.text.map(t=>t.text).join(\" \")}`:n.text&&(e+=` \\u2014 ${n.text}`);return e}var I=class n extends k{constructor(){super(...arguments);this.signatureHelpTriggerCharacters=[\"(\",\",\"]}static _toSignatureHelpTriggerReason(t){switch(t.triggerKind){case s.languages.SignatureHelpTriggerKind.TriggerCharacter:return t.triggerCharacter?t.isRetrigger?{kind:\"retrigger\",triggerCharacter:t.triggerCharacter}:{kind:\"characterTyped\",triggerCharacter:t.triggerCharacter}:{kind:\"invoked\"};case s.languages.SignatureHelpTriggerKind.ContentChange:return t.isRetrigger?{kind:\"retrigger\"}:{kind:\"invoked\"};case s.languages.SignatureHelpTriggerKind.Invoke:default:return{kind:\"invoked\"}}}async provideSignatureHelp(t,i,l,u){let c=t.uri,g=t.getOffsetAt(i),o=await this._worker(c);if(t.isDisposed())return;let a=await o.getSignatureHelpItems(c.toString(),g,{triggerReason:n._toSignatureHelpTriggerReason(u)});if(!a||t.isDisposed())return;let d={activeSignature:a.selectedItemIndex,activeParameter:a.argumentIndex,signatures:[]};return a.items.forEach(p=>{let f={label:\"\",parameters:[]};f.documentation={value:S(p.documentation)},f.label+=S(p.prefixDisplayParts),p.parameters.forEach((b,y,W)=>{let w=S(b.displayParts),Z={label:w,documentation:{value:S(b.documentation)}};f.label+=w,f.parameters.push(Z),y<W.length-1&&(f.label+=S(p.separatorDisplayParts))}),f.label+=S(p.suffixDisplayParts),d.signatures.push(f)}),{value:d,dispose(){}}}},P=class extends k{async provideHover(e,t,i){let l=e.uri,u=e.getOffsetAt(t),c=await this._worker(l);if(e.isDisposed())return;let g=await c.getQuickInfoAtPosition(l.toString(),u);if(!g||e.isDisposed())return;let o=S(g.documentation),a=g.tags?g.tags.map(p=>Q(p)).join(`  \n\n`):\"\",d=S(g.displayParts);return{range:this._textSpanToRange(e,g.textSpan),contents:[{value:\"```typescript\\n\"+d+\"\\n```\\n\"},{value:o+(a?`\n\n`+a:\"\")}]}}},D=class extends k{async provideDocumentHighlights(e,t,i){let l=e.uri,u=e.getOffsetAt(t),c=await this._worker(l);if(e.isDisposed())return;let g=await c.getDocumentHighlights(l.toString(),u,[l.toString()]);if(!(!g||e.isDisposed()))return g.flatMap(o=>o.highlightSpans.map(a=>({range:this._textSpanToRange(e,a.textSpan),kind:a.kind===\"writtenReference\"?s.languages.DocumentHighlightKind.Write:s.languages.DocumentHighlightKind.Text})))}},F=class extends k{constructor(t,i){super(i);this._libFiles=t}async provideDefinition(t,i,l){let u=t.uri,c=t.getOffsetAt(i),g=await this._worker(u);if(t.isDisposed())return;let o=await g.getDefinitionAtPosition(u.toString(),c);if(!o||t.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(o.map(d=>s.Uri.parse(d.fileName))),t.isDisposed()))return;let a=[];for(let d of o){let p=this._libFiles.getOrCreateModel(d.fileName);p&&a.push({uri:p.uri,range:this._textSpanToRange(p,d.textSpan)})}return a}},L=class extends k{constructor(t,i){super(i);this._libFiles=t}async provideReferences(t,i,l,u){let c=t.uri,g=t.getOffsetAt(i),o=await this._worker(c);if(t.isDisposed())return;let a=await o.getReferencesAtPosition(c.toString(),g);if(!a||t.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(a.map(p=>s.Uri.parse(p.fileName))),t.isDisposed()))return;let d=[];for(let p of a){let f=this._libFiles.getOrCreateModel(p.fileName);f&&d.push({uri:f.uri,range:this._textSpanToRange(f,p.textSpan)})}return d}},M=class extends k{async provideDocumentSymbols(e,t){let i=e.uri,l=await this._worker(i);if(e.isDisposed())return;let u=await l.getNavigationTree(i.toString());if(!u||e.isDisposed())return;let c=(o,a)=>({name:o.text,detail:\"\",kind:h[o.kind]||s.languages.SymbolKind.Variable,range:this._textSpanToRange(e,o.spans[0]),selectionRange:this._textSpanToRange(e,o.spans[0]),tags:[],children:o.childItems?.map(p=>c(p,o.text)),containerName:a});return u.childItems?u.childItems.map(o=>c(o)):[]}},m=class{static{this.unknown=\"\"}static{this.keyword=\"keyword\"}static{this.script=\"script\"}static{this.module=\"module\"}static{this.class=\"class\"}static{this.interface=\"interface\"}static{this.type=\"type\"}static{this.enum=\"enum\"}static{this.variable=\"var\"}static{this.localVariable=\"local var\"}static{this.function=\"function\"}static{this.localFunction=\"local function\"}static{this.memberFunction=\"method\"}static{this.memberGetAccessor=\"getter\"}static{this.memberSetAccessor=\"setter\"}static{this.memberVariable=\"property\"}static{this.constructorImplementation=\"constructor\"}static{this.callSignature=\"call\"}static{this.indexSignature=\"index\"}static{this.constructSignature=\"construct\"}static{this.parameter=\"parameter\"}static{this.typeParameter=\"type parameter\"}static{this.primitiveType=\"primitive type\"}static{this.label=\"label\"}static{this.alias=\"alias\"}static{this.const=\"const\"}static{this.let=\"let\"}static{this.warning=\"warning\"}},h=Object.create(null);h[m.module]=s.languages.SymbolKind.Module;h[m.class]=s.languages.SymbolKind.Class;h[m.enum]=s.languages.SymbolKind.Enum;h[m.interface]=s.languages.SymbolKind.Interface;h[m.memberFunction]=s.languages.SymbolKind.Method;h[m.memberVariable]=s.languages.SymbolKind.Property;h[m.memberGetAccessor]=s.languages.SymbolKind.Property;h[m.memberSetAccessor]=s.languages.SymbolKind.Property;h[m.variable]=s.languages.SymbolKind.Variable;h[m.const]=s.languages.SymbolKind.Variable;h[m.localVariable]=s.languages.SymbolKind.Variable;h[m.variable]=s.languages.SymbolKind.Variable;h[m.function]=s.languages.SymbolKind.Function;h[m.localFunction]=s.languages.SymbolKind.Function;var x=class extends k{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:`\n`,InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(e,t){return{text:t.newText,range:this._textSpanToRange(e,t.span)}}},A=class extends x{constructor(){super(...arguments);this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(t,i,l,u){let c=t.uri,g=t.getOffsetAt({lineNumber:i.startLineNumber,column:i.startColumn}),o=t.getOffsetAt({lineNumber:i.endLineNumber,column:i.endColumn}),a=await this._worker(c);if(t.isDisposed())return;let d=await a.getFormattingEditsForRange(c.toString(),g,o,x._convertOptions(l));if(!(!d||t.isDisposed()))return d.map(p=>this._convertTextChanges(t,p))}},R=class extends x{get autoFormatTriggerCharacters(){return[\";\",\"}\",`\n`]}async provideOnTypeFormattingEdits(e,t,i,l,u){let c=e.uri,g=e.getOffsetAt(t),o=await this._worker(c);if(e.isDisposed())return;let a=await o.getFormattingEditsAfterKeystroke(c.toString(),g,i,x._convertOptions(l));if(!(!a||e.isDisposed()))return a.map(d=>this._convertTextChanges(e,d))}},O=class extends x{async provideCodeActions(e,t,i,l){let u=e.uri,c=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),g=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),o=x._convertOptions(e.getOptions()),a=i.markers.filter(b=>b.code).map(b=>b.code).map(Number),d=await this._worker(u);if(e.isDisposed())return;let p=await d.getCodeFixesAtPosition(u.toString(),c,g,a,o);return!p||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:p.filter(b=>b.changes.filter(y=>y.isNewFile).length===0).map(b=>this._tsCodeFixActionToMonacoCodeAction(e,i,b)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,i){let l=[];for(let c of i.changes)for(let g of c.textChanges)l.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,g.span),text:g.newText}});return{title:i.description,edit:{edits:l},diagnostics:t.markers,kind:\"quickfix\"}}},E=class extends k{constructor(t,i){super(i);this._libFiles=t}async provideRenameEdits(t,i,l,u){let c=t.uri,g=c.toString(),o=t.getOffsetAt(i),a=await this._worker(c);if(t.isDisposed())return;let d=await a.getRenameInfo(g,o,{allowRenameOfImportPath:!1});if(d.canRename===!1)return{edits:[],rejectReason:d.localizedErrorMessage};if(d.fileToRename!==void 0)throw new Error(\"Renaming files is not supported.\");let p=await a.findRenameLocations(g,o,!1,!1,!1);if(!p||t.isDisposed())return;let f=[];for(let b of p){let y=this._libFiles.getOrCreateModel(b.fileName);if(y)f.push({resource:y.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(y,b.textSpan),text:l}});else throw new Error(`Unknown file ${b.fileName}.`)}return{edits:f}}},N=class extends k{async provideInlayHints(e,t,i){let l=e.uri,u=l.toString(),c=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),g=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),o=await this._worker(l);return e.isDisposed()?null:{hints:(await o.provideInlayHints(u,c,g)).map(p=>({...p,label:p.text,position:e.getPositionAt(p.position),kind:this._convertHintKind(p.kind)})),dispose:()=>{}}}_convertHintKind(e){switch(e){case\"Parameter\":return s.languages.InlayHintKind.Parameter;case\"Type\":return s.languages.InlayHintKind.Type;default:return s.languages.InlayHintKind.Type}}};var V,j;function ce(n){j=X(n,\"typescript\")}function ge(n){V=X(n,\"javascript\")}function pe(){return new Promise((n,e)=>{if(!V)return e(\"JavaScript not registered!\");n(V)})}function de(){return new Promise((n,e)=>{if(!j)return e(\"TypeScript not registered!\");n(j)})}function X(n,e){let t=[],i=[],l=new v(e,n);t.push(l);let u=(...o)=>l.getLanguageServiceWorker(...o),c=new _(u);function g(){let{modeConfiguration:o}=n;Y(i),o.completionItems&&i.push(s.languages.registerCompletionItemProvider(e,new C(u))),o.signatureHelp&&i.push(s.languages.registerSignatureHelpProvider(e,new I(u))),o.hovers&&i.push(s.languages.registerHoverProvider(e,new P(u))),o.documentHighlights&&i.push(s.languages.registerDocumentHighlightProvider(e,new D(u))),o.definitions&&i.push(s.languages.registerDefinitionProvider(e,new F(c,u))),o.references&&i.push(s.languages.registerReferenceProvider(e,new L(c,u))),o.documentSymbols&&i.push(s.languages.registerDocumentSymbolProvider(e,new M(u))),o.rename&&i.push(s.languages.registerRenameProvider(e,new E(c,u))),o.documentRangeFormattingEdits&&i.push(s.languages.registerDocumentRangeFormattingEditProvider(e,new A(u))),o.onTypeFormattingEdits&&i.push(s.languages.registerOnTypeFormattingEditProvider(e,new R(u))),o.codeActions&&i.push(s.languages.registerCodeActionProvider(e,new O(u))),o.inlayHints&&i.push(s.languages.registerInlayHintsProvider(e,new N(u))),o.diagnostics&&i.push(new T(c,n,e,u))}return g(),t.push(fe(i)),u}function fe(n){return{dispose:()=>Y(n)}}function Y(n){for(;n.length;)n.pop().dispose()}return ae(me);})();\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/language/typescript/tsWorker.js",
    "content": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\ndefine(\"vs/language/typescript/tsWorker\", [\"require\",\"require\"],(require)=>{\n\"use strict\";var moduleExports=(()=>{var $ge=Object.defineProperty;var Upt=Object.getOwnPropertyDescriptor;var Hpt=Object.getOwnPropertyNames;var qpt=Object.prototype.hasOwnProperty;var hWe=(yp,mi)=>{for(var pt in mi)$ge(yp,pt,{get:mi[pt],enumerable:!0})},Jpt=(yp,mi,pt,ds)=>{if(mi&&typeof mi==\"object\"||typeof mi==\"function\")for(let la of Hpt(mi))!qpt.call(yp,la)&&la!==pt&&$ge(yp,la,{get:()=>mi[la],enumerable:!(ds=Upt(mi,la))||ds.enumerable});return yp};var Kpt=yp=>Jpt($ge({},\"__esModule\",{value:!0}),yp);var rft={};hWe(rft,{TypeScriptWorker:()=>H5,create:()=>nft});var ove={};hWe(ove,{EndOfLineState:()=>$pt,IndentStyle:()=>Zpt,ScriptKind:()=>kD,ScriptTarget:()=>eft,TokenClass:()=>tft,createClassifier:()=>Xpt,createLanguageService:()=>rve,displayPartsToString:()=>Ypt,flattenDiagnosticMessageText:()=>Qpt,typescript:()=>ive});var cS=void 0,IZ={exports:{}};var dS=(()=>{var yp=Object.defineProperty,mi=Object.getOwnPropertyNames,pt=(e,t)=>function(){return e&&(t=(0,e[mi(e)[0]])(e=0)),t},ds=(e,t)=>function(){return t||(0,e[mi(e)[0]])((t={exports:{}}).exports,t),t.exports},la=(e,t)=>{for(var r in t)yp(e,r,{get:t[r],enumerable:!0})},jm,bp,q5,AWe=pt({\"src/compiler/corePublic.ts\"(){\"use strict\";jm=\"5.4\",bp=\"5.4.5\",q5=(e=>(e[e.LessThan=-1]=\"LessThan\",e[e.EqualTo=0]=\"EqualTo\",e[e.GreaterThan=1]=\"GreaterThan\",e))(q5||{})}});function yn(e){return e?e.length:0}function an(e,t){if(e)for(let r=0;r<e.length;r++){let i=t(e[r],r);if(i)return i}}function RZ(e,t){if(e)for(let r=e.length-1;r>=0;r--){let i=t(e[r],r);if(i)return i}}function ml(e,t){if(e!==void 0)for(let r=0;r<e.length;r++){let i=t(e[r],r);if(i!==void 0)return i}}function cM(e,t){for(let r of e){let i=t(r);if(i!==void 0)return i}}function ave(e,t,r){let i=r;if(e){let o=0;for(let s of e)i=t(i,s,o),o++}return i}function J5(e,t,r){let i=[];x.assertEqual(e.length,t.length);for(let o=0;o<e.length;o++)i.push(r(e[o],t[o],o));return i}function K5(e,t){if(e.length<=1)return e;let r=[];for(let i=0,o=e.length;i<o;i++)i&&r.push(t),r.push(e[i]);return r}function ji(e,t){if(e){for(let r=0;r<e.length;r++)if(!t(e[r],r))return!1}return!0}function Dr(e,t,r){if(e!==void 0)for(let i=r??0;i<e.length;i++){let o=e[i];if(t(o,i))return o}}function hA(e,t,r){if(e!==void 0)for(let i=r??e.length-1;i>=0;i--){let o=e[i];if(t(o,i))return o}}function Tl(e,t,r){if(e===void 0)return-1;for(let i=r??0;i<e.length;i++)if(t(e[i],i))return i;return-1}function Uw(e,t,r){if(e===void 0)return-1;for(let i=r??e.length-1;i>=0;i--)if(t(e[i],i))return i;return-1}function sve(e,t){for(let r=0;r<e.length;r++){let i=t(e[r],r);if(i)return i}return x.fail()}function To(e,t,r=Hg){if(e){for(let i of e)if(r(i,t))return!0}return!1}function dM(e,t,r=Hg){return e.length===t.length&&e.every((i,o)=>r(i,t[o]))}function DZ(e,t,r){for(let i=r||0;i<e.length;i++)if(To(t,e.charCodeAt(i)))return i;return-1}function Wv(e,t){let r=0;if(e)for(let i=0;i<e.length;i++){let o=e[i];t(o,i)&&r++}return r}function Cr(e,t){if(e){let r=e.length,i=0;for(;i<r&&t(e[i]);)i++;if(i<r){let o=e.slice(0,i);for(i++;i<r;){let s=e[i];t(s)&&o.push(s),i++}return o}}return e}function X5(e,t){let r=0;for(let i=0;i<e.length;i++)t(e[i],i,e)&&(e[r]=e[i],r++);e.length=r}function ph(e){e.length=0}function nn(e,t){let r;if(e){r=[];for(let i=0;i<e.length;i++)r.push(t(e[i],i))}return r}function*OD(e,t){for(let r of e)yield t(r)}function sc(e,t){if(e)for(let r=0;r<e.length;r++){let i=e[r],o=t(i,r);if(i!==o){let s=e.slice(0,r);for(s.push(o),r++;r<e.length;r++)s.push(t(e[r],r));return s}}return e}function Ff(e){let t=[];for(let r of e)r&&(oo(r)?Pr(t,r):t.push(r));return t}function ta(e,t){let r;if(e)for(let i=0;i<e.length;i++){let o=t(e[i],i);o&&(oo(o)?r=Pr(r,o):r=pn(r,o))}return r||je}function wD(e,t){let r=[];if(e)for(let i=0;i<e.length;i++){let o=t(e[i],i);o&&(oo(o)?Pr(r,o):r.push(o))}return r}function*Y5(e,t){for(let r of e){let i=t(r);i&&(yield*i)}}function CZ(e,t){let r;if(e)for(let i=0;i<e.length;i++){let o=e[i],s=t(o,i);(r||o!==s||oo(s))&&(r||(r=e.slice(0,i)),oo(s)?Pr(r,s):r.push(s))}return r||e}function $5(e,t){let r=[];for(let i=0;i<e.length;i++){let o=t(e[i],i);if(o===void 0)return;r.push(o)}return r}function Fi(e,t){let r=[];if(e)for(let i=0;i<e.length;i++){let o=t(e[i],i);o!==void 0&&r.push(o)}return r}function*WD(e,t){for(let r of e){let i=t(r);i!==void 0&&(yield i)}}function NZ(e,t){if(!e)return;let r=new Map;return e.forEach((i,o)=>{let s=t(o,i);if(s!==void 0){let[l,d]=s;l!==void 0&&d!==void 0&&r.set(l,d)}}),r}function FD(e,t,r){if(e.has(t))return e.get(t);let i=r();return e.set(t,i),i}function db(e,t){return e.has(t)?!1:(e.add(t),!0)}function*PZ(e){yield e}function Q5(e,t,r){let i;if(e){i=[];let o=e.length,s,l,d=0,p=0;for(;d<o;){for(;p<o;){let h=e[p];if(l=t(h,p),p===0)s=l;else if(l!==s)break;p++}if(d<p){let h=r(e.slice(d,p),s,d,p);h&&i.push(h),d=p}s=l,p++}}return i}function MZ(e,t){if(!e)return;let r=new Map;return e.forEach((i,o)=>{let[s,l]=t(o,i);r.set(s,l)}),r}function ct(e,t){if(e)if(t){for(let r of e)if(t(r))return!0}else return e.length>0;return!1}function Z5(e,t,r){let i;for(let o=0;o<e.length;o++)t(e[o])?i=i===void 0?o:i:i!==void 0&&(r(i,o),i=void 0);i!==void 0&&r(i,e.length)}function ro(e,t){return ct(t)?ct(e)?[...e,...t]:t:e}function IWe(e,t){return t}function uM(e){return e.map(IWe)}function xWe(e,t,r){let i=uM(e);lve(e,i,r);let o=e[i[0]],s=[i[0]];for(let l=1;l<i.length;l++){let d=i[l],p=e[d];t(o,p)||(s.push(d),o=p)}return s.sort(),s.map(l=>e[l])}function RWe(e,t){let r=[];for(let i of e)jp(r,i,t);return r}function NE(e,t,r){return e.length===0?[]:e.length===1?e.slice():r?xWe(e,t,r):RWe(e,t)}function DWe(e,t){if(e.length===0)return je;let r=e[0],i=[r];for(let o=1;o<e.length;o++){let s=e[o];switch(t(s,r)){case!0:case 0:continue;case-1:return x.fail(\"Array is unsorted.\")}i.push(r=s)}return i}function eB(){return[]}function Fv(e,t,r,i){if(e.length===0)return e.push(t),!0;let o=Vg(e,t,Ps,r);return o<0?(e.splice(~o,0,t),!0):i?(e.splice(o,0,t),!0):!1}function zD(e,t,r){return DWe(uS(e,t),r||t||gd)}function Hw(e,t){if(e.length<2)return!0;for(let r=1,i=e.length;r<i;r++)if(t(e[r-1],e[r])===1)return!1;return!0}function BD(e,t,r,i){let o=3;if(e.length<2)return o;let s=t(e[0]);for(let l=1,d=e.length;l<d&&o!==0;l++){let p=t(e[l]);o&1&&r(s,p)>0&&(o&=-2),o&2&&i(s,p)>0&&(o&=-3),s=p}return o}function mm(e,t,r=Hg){if(!e||!t)return e===t;if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!r(e[i],t[i],i))return!1;return!0}function pM(e){let t;if(e)for(let r=0;r<e.length;r++){let i=e[r];(t||!i)&&(t||(t=e.slice(0,r)),i&&t.push(i))}return t||e}function LZ(e,t,r){if(!t||!e||t.length===0||e.length===0)return t;let i=[];e:for(let o=0,s=0;s<t.length;s++){s>0&&x.assertGreaterThanOrEqual(r(t[s],t[s-1]),0);t:for(let l=o;o<e.length;o++)switch(o>l&&x.assertGreaterThanOrEqual(r(e[o],e[o-1]),0),r(t[s],e[o])){case-1:i.push(t[s]);continue e;case 0:continue e;case 1:continue t}}return i}function pn(e,t){return t===void 0?e:e===void 0?[t]:(e.push(t),e)}function x1(e,t){return e===void 0?t:t===void 0?e:oo(e)?oo(t)?ro(e,t):pn(e,t):oo(t)?pn(t,e):[e,t]}function kZ(e,t){return t<0?e.length+t:t}function Pr(e,t,r,i){if(t===void 0||t.length===0)return e;if(e===void 0)return t.slice(r,i);r=r===void 0?0:kZ(t,r),i=i===void 0?t.length:kZ(t,i);for(let o=r;o<i&&o<t.length;o++)t[o]!==void 0&&e.push(t[o]);return e}function jp(e,t,r){return To(e,t,r)?!1:(e.push(t),!0)}function Kh(e,t,r){return e?(jp(e,t,r),e):[t]}function lve(e,t,r){t.sort((i,o)=>r(e[i],e[o])||Ms(i,o))}function uS(e,t){return e.length===0?e:e.slice().sort(t)}function*tB(e){for(let t=e.length-1;t>=0;t--)yield e[t]}function Gg(e,t){let r=uM(e);return lve(e,r,t),r.map(i=>e[i])}function nB(e,t,r,i){for(;r<i;){if(e[r]!==t[r])return!1;r++}return!0}function Ac(e){return e===void 0||e.length===0?void 0:e[0]}function qw(e){if(e)for(let t of e)return t}function Ta(e){return x.assert(e.length!==0),e[0]}function rB(e){for(let t of e)return t;x.fail(\"iterator is empty\")}function Ns(e){return e===void 0||e.length===0?void 0:e[e.length-1]}function Da(e){return x.assert(e.length!==0),e[e.length-1]}function R_(e){return e&&e.length===1?e[0]:void 0}function iB(e){return x.checkDefined(R_(e))}function D_(e){return e&&e.length===1?e[0]:e}function oB(e,t,r){let i=e.slice(0);return i[t]=r,i}function Vg(e,t,r,i,o){return gA(e,r(t),r,i,o)}function gA(e,t,r,i,o){if(!ct(e))return-1;let s=o||0,l=e.length-1;for(;s<=l;){let d=s+(l-s>>1),p=r(e[d],d);switch(i(p,t)){case-1:s=d+1;break;case 0:return d;case 1:l=d-1;break}}return~s}function Nd(e,t,r,i,o){if(e&&e.length>0){let s=e.length;if(s>0){let l=i===void 0||i<0?0:i,d=o===void 0||l+o>s-1?s-1:l+o,p;for(arguments.length<=2?(p=e[l],l++):p=r;l<=d;)p=t(p,e[l],l),l++;return p}}return r}function rs(e,t){return Gv.call(e,t)}function Jw(e,t){return Gv.call(e,t)?e[t]:void 0}function fh(e){let t=[];for(let r in e)Gv.call(e,r)&&t.push(r);return t}function cve(e){let t=[];do{let r=Object.getOwnPropertyNames(e);for(let i of r)jp(t,i)}while(e=Object.getPrototypeOf(e));return t}function vA(e){let t=[];for(let r in e)Gv.call(e,r)&&t.push(e[r]);return t}function OZ(e,t){let r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i);return r}function bo(e,t){let r=[];for(let i of e)r.push(t?t(i):i);return r}function R1(e,...t){for(let r of t)if(r!==void 0)for(let i in r)rs(r,i)&&(e[i]=r[i]);return e}function wZ(e,t,r=Hg){if(e===t)return!0;if(!e||!t)return!1;for(let i in e)if(Gv.call(e,i)&&(!Gv.call(t,i)||!r(e[i],t[i])))return!1;for(let i in t)if(Gv.call(t,i)&&!Gv.call(e,i))return!1;return!0}function PE(e,t,r=Ps){let i=new Map;for(let o of e){let s=t(o);s!==void 0&&i.set(s,r(o))}return i}function WZ(e,t,r=Ps){let i=[];for(let o of e)i[t(o)]=r(o);return i}function fM(e,t,r=Ps){let i=Ep();for(let o of e)i.add(t(o),r(o));return i}function GD(e,t,r=Ps){return bo(fM(e,t).values(),r)}function Kw(e,t){let r={};if(e)for(let i of e){let o=`${t(i)}`;(r[o]??(r[o]=[])).push(i)}return r}function aB(e){let t={};for(let r in e)Gv.call(e,r)&&(t[r]=e[r]);return t}function Xw(e,t){let r={};for(let i in t)Gv.call(t,i)&&(r[i]=t[i]);for(let i in e)Gv.call(e,i)&&(r[i]=e[i]);return r}function sB(e,t){for(let r in t)Gv.call(t,r)&&(e[r]=t[r])}function Wo(e,t){return t?t.bind(e):void 0}function Ep(){let e=new Map;return e.add=CWe,e.remove=NWe,e}function CWe(e,t){let r=this.get(e);return r?r.push(t):this.set(e,r=[t]),r}function NWe(e,t){let r=this.get(e);r&&(bA(r,t),r.length||this.delete(e))}function mM(e){let t=e?.slice()||[],r=0;function i(){return r===t.length}function o(...l){t.push(...l)}function s(){if(i())throw new Error(\"Queue is empty\");let l=t[r];if(t[r]=void 0,r++,r>100&&r>t.length>>1){let d=t.length-r;t.copyWithin(0,r),t.length=d,r=0}return l}return{enqueue:o,dequeue:s,isEmpty:i}}function lB(e,t){let r=new Map,i=0;function*o(){for(let l of r.values())oo(l)?yield*l:yield l}let s={has(l){let d=e(l);if(!r.has(d))return!1;let p=r.get(d);if(!oo(p))return t(p,l);for(let h of p)if(t(h,l))return!0;return!1},add(l){let d=e(l);if(r.has(d)){let p=r.get(d);if(oo(p))To(p,l,t)||(p.push(l),i++);else{let h=p;t(h,l)||(r.set(d,[h,l]),i++)}}else r.set(d,l),i++;return this},delete(l){let d=e(l);if(!r.has(d))return!1;let p=r.get(d);if(oo(p)){for(let h=0;h<p.length;h++)if(t(p[h],l))return p.length===1?r.delete(d):p.length===2?r.set(d,p[1-h]):uB(p,h),i--,!0}else if(t(p,l))return r.delete(d),i--,!0;return!1},clear(){r.clear(),i=0},get size(){return i},forEach(l){for(let d of bo(r.values()))if(oo(d))for(let p of d)l(p,p,s);else{let p=d;l(p,p,s)}},keys(){return o()},values(){return o()},*entries(){for(let l of o())yield[l,l]},[Symbol.iterator]:()=>o(),[Symbol.toStringTag]:r[Symbol.toStringTag]};return s}function oo(e){return Array.isArray(e)}function yA(e){return oo(e)?e:[e]}function fo(e){return typeof e==\"string\"}function jg(e){return typeof e==\"number\"}function Vr(e,t){return e!==void 0&&t(e)?e:void 0}function Fo(e,t){return e!==void 0&&t(e)?e:x.fail(`Invalid cast. The supplied value ${e} did not pass the test '${x.getFunctionName(t)}'.`)}function Ca(e){}function _m(){return!1}function Ug(){return!0}function ub(){}function Ps(e){return e}function FZ(e){return e.toLowerCase()}function C_(e){return YZ.test(e)?e.replace(YZ,FZ):e}function Ro(){throw new Error(\"Not implemented\")}function Kd(e){let t;return()=>(e&&(t=e(),e=void 0),t)}function N_(e){let t=new Map;return r=>{let i=`${typeof r}:${r}`,o=t.get(i);return o===void 0&&!t.has(i)&&(o=e(r),t.set(i,o)),o}}function dve(e){let t=new WeakMap;return r=>{let i=t.get(r);return i===void 0&&!t.has(r)&&(i=e(r),t.set(r,i)),i}}function zZ(e,t){return(...r)=>{let i=t.get(r);return i===void 0&&!t.has(r)&&(i=e(...r),t.set(r,i)),i}}function uve(e,t,r,i,o){if(o){let s=[];for(let l=0;l<arguments.length;l++)s[l]=arguments[l];return l=>Nd(s,(d,p)=>p(d),l)}else return i?s=>i(r(t(e(s)))):r?s=>r(t(e(s))):t?s=>t(e(s)):e?s=>e(s):s=>s}function Hg(e,t){return e===t}function pb(e,t){return e===t||e!==void 0&&t!==void 0&&e.toUpperCase()===t.toUpperCase()}function pS(e,t){return Hg(e,t)}function pve(e,t){return e===t?0:e===void 0?-1:t===void 0?1:e<t?-1:1}function Ms(e,t){return pve(e,t)}function Yw(e,t){return Ms(e?.start,t?.start)||Ms(e?.length,t?.length)}function cB(e,t){return Nd(e,(r,i)=>t(r,i)===-1?r:i)}function $w(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toUpperCase(),t=t.toUpperCase(),e<t?-1:e>t?1:0)}function BZ(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toLowerCase(),t=t.toLowerCase(),e<t?-1:e>t?1:0)}function gd(e,t){return pve(e,t)}function D1(e){return e?$w:gd}function GZ(){return gB}function VZ(e){gB!==e&&(gB=e,$Z=void 0)}function _M(e,t){return($Z||($Z=_ve(gB)))(e,t)}function jZ(e,t,r,i){return e===t?0:e===void 0?-1:t===void 0?1:i(e[r],t[r])}function zv(e,t){return Ms(e?1:0,t?1:0)}function VD(e,t,r){let i=Math.max(2,Math.floor(e.length*.34)),o=Math.floor(e.length*.4)+1,s;for(let l of t){let d=r(l);if(d!==void 0&&Math.abs(d.length-e.length)<=i){if(d===e||d.length<3&&d.toLowerCase()!==e.toLowerCase())continue;let p=PWe(e,d,o-.1);if(p===void 0)continue;x.assert(p<o),o=p,s=l}}return s}function PWe(e,t,r){let i=new Array(t.length+1),o=new Array(t.length+1),s=r+.01;for(let d=0;d<=t.length;d++)i[d]=d;for(let d=1;d<=e.length;d++){let p=e.charCodeAt(d-1),h=Math.ceil(d>r?d-r:1),m=Math.floor(t.length>r+d?r+d:t.length);o[0]=d;let v=d;for(let S=1;S<h;S++)o[S]=s;for(let S=h;S<=m;S++){let A=e[d-1].toLowerCase()===t[S-1].toLowerCase()?i[S-1]+.1:i[S-1]+2,C=p===t.charCodeAt(S-1)?i[S-1]:Math.min(i[S]+1,o[S-1]+1,A);o[S]=C,v=Math.min(v,C)}for(let S=m+1;S<=t.length;S++)o[S]=s;if(v>r)return;let E=i;i=o,o=E}let l=i[t.length];return l>r?void 0:l}function Zs(e,t,r){let i=e.length-t.length;return i>=0&&(r?pb(e.slice(i),t):e.indexOf(t,i)===i)}function C1(e,t){return Zs(e,t)?e.slice(0,e.length-t.length):e}function UZ(e,t){return Zs(e,t)?e.slice(0,e.length-t.length):void 0}function dB(e){let t=e.length;for(let r=t-1;r>0;r--){let i=e.charCodeAt(r);if(i>=48&&i<=57)do--r,i=e.charCodeAt(r);while(r>0&&i>=48&&i<=57);else if(r>4&&(i===110||i===78)){if(--r,i=e.charCodeAt(r),i!==105&&i!==73||(--r,i=e.charCodeAt(r),i!==109&&i!==77))break;--r,i=e.charCodeAt(r)}else break;if(i!==45&&i!==46)break;t=r}return t===e.length?e:e.slice(0,t)}function N1(e,t){for(let r=0;r<e.length;r++)if(e[r]===t)return Bv(e,r),!0;return!1}function Bv(e,t){for(let r=t;r<e.length-1;r++)e[r]=e[r+1];e.pop()}function uB(e,t){e[t]=e[e.length-1],e.pop()}function bA(e,t){return MWe(e,r=>r===t)}function MWe(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return uB(e,r),!0;return!1}function od(e){return e?Ps:C_}function HZ({prefix:e,suffix:t}){return`${e}*${t}`}function qZ(e,t){return x.assert(Qw(e,t)),t.substring(e.prefix.length,t.length-e.suffix.length)}function pB(e,t,r){let i,o=-1;for(let s of e){let l=t(s);Qw(l,r)&&l.prefix.length>o&&(o=l.prefix.length,i=s)}return i}function Ui(e,t,r){return r?pb(e.slice(0,t.length),t):e.lastIndexOf(t,0)===0}function jD(e,t){return Ui(e,t)?e.substr(t.length):e}function fB(e,t,r=Ps){return Ui(r(e),r(t))?e.substring(t.length):void 0}function Qw({prefix:e,suffix:t},r){return r.length>=e.length+t.length&&Ui(r,e)&&Zs(r,t)}function Zw(e,t){return r=>e(r)&&t(r)}function hm(...e){return(...t)=>{let r;for(let i of e)if(r=i(...t),r)return r;return r}}function e8(e){return(...t)=>!e(...t)}function fve(e){}function EA(e){return e===void 0?void 0:[e]}function t8(e,t,r,i,o,s){s=s||Ca;let l=0,d=0,p=e.length,h=t.length,m=!1;for(;l<p&&d<h;){let v=e[l],E=t[d],S=r(v,E);S===-1?(i(v),l++,m=!0):S===1?(o(E),d++,m=!0):(s(E,v),l++,d++)}for(;l<p;)i(e[l++]),m=!0;for(;d<h;)o(t[d++]),m=!0;return m}function JZ(e){let t=[];return mve(e,t,void 0,0),t}function mve(e,t,r,i){for(let o of e[i]){let s;r?(s=r.slice(),s.push(o)):s=[o],i===e.length-1?t.push(s):mve(e,t,s,i+1)}}function n8(e,t){if(e){let r=e.length,i=0;for(;i<r&&t(e[i]);)i++;return e.slice(0,i)}}function KZ(e,t){if(e){let r=e.length,i=0;for(;i<r&&t(e[i]);)i++;return e.slice(i)}}function mB(){return typeof process<\"u\"&&!!process.nextTick&&!process.browser&&typeof IZ==\"object\"}var je,r8,XZ,_B,qg,Gv,YZ,hB,_ve,$Z,gB,LWe=pt({\"src/compiler/core.ts\"(){\"use strict\";wo(),je=[],r8=new Map,XZ=new Set,_B=(e=>(e[e.None=0]=\"None\",e[e.CaseSensitive=1]=\"CaseSensitive\",e[e.CaseInsensitive=2]=\"CaseInsensitive\",e[e.Both=3]=\"Both\",e))(_B||{}),qg=Array.prototype.at?(e,t)=>e?.at(t):(e,t)=>{if(e&&(t=kZ(e,t),t<e.length))return e[t]},Gv=Object.prototype.hasOwnProperty,YZ=/[^\\u0130\\u0131\\u00DFa-z0-9\\\\/:\\-_. ]+/g,hB=(e=>(e[e.None=0]=\"None\",e[e.Normal=1]=\"Normal\",e[e.Aggressive=2]=\"Aggressive\",e[e.VeryAggressive=3]=\"VeryAggressive\",e))(hB||{}),_ve=(()=>{return t;function e(r,i,o){if(r===i)return 0;if(r===void 0)return-1;if(i===void 0)return 1;let s=o(r,i);return s<0?-1:s>0?1:0}function t(r){let i=new Intl.Collator(r,{usage:\"sort\",sensitivity:\"variant\"}).compare;return(o,s)=>e(o,s,i)}})()}}),vB,x,kWe=pt({\"src/compiler/debug.ts\"(){\"use strict\";wo(),wo(),vB=(e=>(e[e.Off=0]=\"Off\",e[e.Error=1]=\"Error\",e[e.Warning=2]=\"Warning\",e[e.Info=3]=\"Info\",e[e.Verbose=4]=\"Verbose\",e))(vB||{}),(e=>{let t=0;e.currentLogLevel=2,e.isDebugging=!1;function r(Jt){return e.currentLogLevel<=Jt}e.shouldLog=r;function i(Jt,Ue){e.loggingHost&&r(Jt)&&e.loggingHost.log(Jt,Ue)}function o(Jt){i(3,Jt)}e.log=o,(Jt=>{function Ue(ni){i(1,ni)}Jt.error=Ue;function Rt(ni){i(2,ni)}Jt.warn=Rt;function mn(ni){i(3,ni)}Jt.log=mn;function qr(ni){i(4,ni)}Jt.trace=qr})(o=e.log||(e.log={}));let s={};function l(){return t}e.getAssertionLevel=l;function d(Jt){let Ue=t;if(t=Jt,Jt>Ue)for(let Rt of fh(s)){let mn=s[Rt];mn!==void 0&&e[Rt]!==mn.assertion&&Jt>=mn.level&&(e[Rt]=mn,s[Rt]=void 0)}}e.setAssertionLevel=d;function p(Jt){return t>=Jt}e.shouldAssert=p;function h(Jt,Ue){return p(Jt)?!0:(s[Ue]={level:Jt,assertion:e[Ue]},e[Ue]=Ca,!1)}function m(Jt,Ue){let Rt=new Error(Jt?`Debug Failure. ${Jt}`:\"Debug Failure.\");throw Error.captureStackTrace&&Error.captureStackTrace(Rt,Ue||m),Rt}e.fail=m;function v(Jt,Ue,Rt){return m(`${Ue||\"Unexpected node.\"}\\r\nNode ${pe(Jt.kind)} was unexpected.`,Rt||v)}e.failBadSyntaxKind=v;function E(Jt,Ue,Rt,mn){Jt||(Ue=Ue?`False expression: ${Ue}`:\"False expression.\",Rt&&(Ue+=`\\r\nVerbose Debug Information: `+(typeof Rt==\"string\"?Rt:Rt())),m(Ue,mn||E))}e.assert=E;function S(Jt,Ue,Rt,mn,qr){if(Jt!==Ue){let ni=Rt?mn?`${Rt} ${mn}`:Rt:\"\";m(`Expected ${Jt} === ${Ue}. ${ni}`,qr||S)}}e.assertEqual=S;function A(Jt,Ue,Rt,mn){Jt>=Ue&&m(`Expected ${Jt} < ${Ue}. ${Rt||\"\"}`,mn||A)}e.assertLessThan=A;function C(Jt,Ue,Rt){Jt>Ue&&m(`Expected ${Jt} <= ${Ue}`,Rt||C)}e.assertLessThanOrEqual=C;function R(Jt,Ue,Rt){Jt<Ue&&m(`Expected ${Jt} >= ${Ue}`,Rt||R)}e.assertGreaterThanOrEqual=R;function L(Jt,Ue,Rt){Jt==null&&m(Ue,Rt||L)}e.assertIsDefined=L;function G(Jt,Ue,Rt){return L(Jt,Ue,Rt||G),Jt}e.checkDefined=G;function U(Jt,Ue,Rt){for(let mn of Jt)L(mn,Ue,Rt||U)}e.assertEachIsDefined=U;function K(Jt,Ue,Rt){return U(Jt,Ue,Rt||K),Jt}e.checkEachDefined=K;function F(Jt,Ue=\"Illegal value:\",Rt){let mn=typeof Jt==\"object\"&&rs(Jt,\"kind\")&&rs(Jt,\"pos\")?\"SyntaxKind: \"+pe(Jt.kind):JSON.stringify(Jt);return m(`${Ue} ${mn}`,Rt||F)}e.assertNever=F;function oe(Jt,Ue,Rt,mn){h(1,\"assertEachNode\")&&E(Ue===void 0||ji(Jt,Ue),Rt||\"Unexpected node.\",()=>`Node array did not pass test '${ee(Ue)}'.`,mn||oe)}e.assertEachNode=oe;function W(Jt,Ue,Rt,mn){h(1,\"assertNode\")&&E(Jt!==void 0&&(Ue===void 0||Ue(Jt)),Rt||\"Unexpected node.\",()=>`Node ${pe(Jt?.kind)} did not pass test '${ee(Ue)}'.`,mn||W)}e.assertNode=W;function $(Jt,Ue,Rt,mn){h(1,\"assertNotNode\")&&E(Jt===void 0||Ue===void 0||!Ue(Jt),Rt||\"Unexpected node.\",()=>`Node ${pe(Jt.kind)} should not have passed test '${ee(Ue)}'.`,mn||$)}e.assertNotNode=$;function de(Jt,Ue,Rt,mn){h(1,\"assertOptionalNode\")&&E(Ue===void 0||Jt===void 0||Ue(Jt),Rt||\"Unexpected node.\",()=>`Node ${pe(Jt?.kind)} did not pass test '${ee(Ue)}'.`,mn||de)}e.assertOptionalNode=de;function fe(Jt,Ue,Rt,mn){h(1,\"assertOptionalToken\")&&E(Ue===void 0||Jt===void 0||Jt.kind===Ue,Rt||\"Unexpected node.\",()=>`Node ${pe(Jt?.kind)} was not a '${pe(Ue)}' token.`,mn||fe)}e.assertOptionalToken=fe;function q(Jt,Ue,Rt){h(1,\"assertMissingNode\")&&E(Jt===void 0,Ue||\"Unexpected node.\",()=>`Node ${pe(Jt.kind)} was unexpected'.`,Rt||q)}e.assertMissingNode=q;function H(Jt){}e.type=H;function ee(Jt){if(typeof Jt!=\"function\")return\"\";if(rs(Jt,\"name\"))return Jt.name;{let Ue=Function.prototype.toString.call(Jt),Rt=/^function\\s+([\\w$]+)\\s*\\(/.exec(Ue);return Rt?Rt[1]:\"\"}}e.getFunctionName=ee;function le(Jt){return`{ name: ${Ii(Jt.escapedName)}; flags: ${ft(Jt.flags)}; declarations: ${nn(Jt.declarations,Ue=>pe(Ue.kind))} }`}e.formatSymbol=le;function Ee(Jt=0,Ue,Rt){let mn=Z(Ue);if(Jt===0)return mn.length>0&&mn[0][0]===0?mn[0][1]:\"0\";if(Rt){let qr=[],ni=Jt;for(let[ki,so]of mn){if(ki>Jt)break;ki!==0&&ki&Jt&&(qr.push(so),ni&=~ki)}if(ni===0)return qr.join(\"|\")}else for(let[qr,ni]of mn)if(qr===Jt)return ni;return Jt.toString()}e.formatEnum=Ee;let ce=new Map;function Z(Jt){let Ue=ce.get(Jt);if(Ue)return Ue;let Rt=[];for(let qr in Jt){let ni=Jt[qr];typeof ni==\"number\"&&Rt.push([ni,qr])}let mn=Gg(Rt,(qr,ni)=>Ms(qr[0],ni[0]));return ce.set(Jt,mn),mn}function pe(Jt){return Ee(Jt,o8,!1)}e.formatSyntaxKind=pe;function Ae(Jt){return Ee(Jt,v8,!1)}e.formatSnippetKind=Ae;function Oe(Jt){return Ee(Jt,h8,!1)}e.formatScriptKind=Oe;function _e(Jt){return Ee(Jt,a8,!0)}e.formatNodeFlags=_e;function be(Jt){return Ee(Jt,s8,!0)}e.formatModifierFlags=be;function Te(Jt){return Ee(Jt,g8,!0)}e.formatTransformFlags=Te;function De(Jt){return Ee(Jt,y8,!0)}e.formatEmitFlags=De;function ft(Jt){return Ee(Jt,p8,!0)}e.formatSymbolFlags=ft;function he(Jt){return Ee(Jt,f8,!0)}e.formatTypeFlags=he;function Le(Jt){return Ee(Jt,_8,!0)}e.formatSignatureFlags=Le;function Ke(Jt){return Ee(Jt,m8,!0)}e.formatObjectFlags=Ke;function Dt(Jt){return Ee(Jt,yM,!0)}e.formatFlowFlags=Dt;function st(Jt){return Ee(Jt,l8,!0)}e.formatRelationComparisonResult=st;function Ge(Jt){return Ee(Jt,c4,!0)}e.formatCheckMode=Ge;function ot(Jt){return Ee(Jt,d4,!0)}e.formatSignatureCheckMode=ot;function Vt(Jt){return Ee(Jt,l4,!0)}e.formatTypeFacts=Vt;let jt=!1,gn;function On(Jt){\"__debugFlowFlags\"in Jt||Object.defineProperties(Jt,{__tsDebuggerDisplay:{value(){let Ue=this.flags&2?\"FlowStart\":this.flags&4?\"FlowBranchLabel\":this.flags&8?\"FlowLoopLabel\":this.flags&16?\"FlowAssignment\":this.flags&32?\"FlowTrueCondition\":this.flags&64?\"FlowFalseCondition\":this.flags&128?\"FlowSwitchClause\":this.flags&256?\"FlowArrayMutation\":this.flags&512?\"FlowCall\":this.flags&1024?\"FlowReduceLabel\":this.flags&1?\"FlowUnreachable\":\"UnknownFlow\",Rt=this.flags&-2048;return`${Ue}${Rt?` (${Dt(Rt)})`:\"\"}`}},__debugFlowFlags:{get(){return Ee(this.flags,yM,!0)}},__debugToString:{value(){return cr(this)}}})}function en(Jt){jt&&(typeof Object.setPrototypeOf==\"function\"?(gn||(gn=Object.create(Object.prototype),On(gn)),Object.setPrototypeOf(Jt,gn)):On(Jt))}e.attachFlowNodeDebugInfo=en;let zt;function Wt(Jt){\"__tsDebuggerDisplay\"in Jt||Object.defineProperties(Jt,{__tsDebuggerDisplay:{value(Ue){return Ue=String(Ue).replace(/(?:,[\\s\\w\\d_]+:[^,]+)+\\]$/,\"]\"),`NodeArray ${Ue}`}}})}function ei(Jt){jt&&(typeof Object.setPrototypeOf==\"function\"?(zt||(zt=Object.create(Array.prototype),Wt(zt)),Object.setPrototypeOf(Jt,zt)):Wt(Jt))}e.attachNodeArrayDebugInfo=ei;function Ki(){if(jt)return;let Jt=new WeakMap,Ue=new WeakMap;Object.defineProperties(wc.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){let mn=this.flags&33554432?\"TransientSymbol\":\"Symbol\",qr=this.flags&-33554433;return`${mn} '${$s(this)}'${qr?` (${ft(qr)})`:\"\"}`}},__debugFlags:{get(){return ft(this.flags)}}}),Object.defineProperties(wc.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){let mn=this.flags&67359327?`IntrinsicType ${this.intrinsicName}${this.debugIntrinsicName?` (${this.debugIntrinsicName})`:\"\"}`:this.flags&98304?\"NullableType\":this.flags&384?`LiteralType ${JSON.stringify(this.value)}`:this.flags&2048?`LiteralType ${this.value.negative?\"-\":\"\"}${this.value.base10Value}n`:this.flags&8192?\"UniqueESSymbolType\":this.flags&32?\"EnumType\":this.flags&1048576?\"UnionType\":this.flags&2097152?\"IntersectionType\":this.flags&4194304?\"IndexType\":this.flags&8388608?\"IndexedAccessType\":this.flags&16777216?\"ConditionalType\":this.flags&33554432?\"SubstitutionType\":this.flags&262144?\"TypeParameter\":this.flags&524288?this.objectFlags&3?\"InterfaceType\":this.objectFlags&4?\"TypeReference\":this.objectFlags&8?\"TupleType\":this.objectFlags&16?\"AnonymousType\":this.objectFlags&32?\"MappedType\":this.objectFlags&1024?\"ReverseMappedType\":this.objectFlags&256?\"EvolvingArrayType\":\"ObjectType\":\"Type\",qr=this.flags&524288?this.objectFlags&-1344:0;return`${mn}${this.symbol?` '${$s(this.symbol)}'`:\"\"}${qr?` (${Ke(qr)})`:\"\"}`}},__debugFlags:{get(){return he(this.flags)}},__debugObjectFlags:{get(){return this.flags&524288?Ke(this.objectFlags):\"\"}},__debugTypeToString:{value(){let mn=Jt.get(this);return mn===void 0&&(mn=this.checker.typeToString(this),Jt.set(this,mn)),mn}}}),Object.defineProperties(wc.getSignatureConstructor().prototype,{__debugFlags:{get(){return Le(this.flags)}},__debugSignatureToString:{value(){var mn;return(mn=this.checker)==null?void 0:mn.signatureToString(this)}}});let Rt=[wc.getNodeConstructor(),wc.getIdentifierConstructor(),wc.getTokenConstructor(),wc.getSourceFileConstructor()];for(let mn of Rt)rs(mn.prototype,\"__debugKind\")||Object.defineProperties(mn.prototype,{__tsDebuggerDisplay:{value(){return`${ws(this)?\"GeneratedIdentifier\":Me(this)?`Identifier '${ar(this)}'`:Ci(this)?`PrivateIdentifier '${ar(this)}'`:da(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+\"...\")}`:Bu(this)?`NumericLiteral ${this.text}`:c6(this)?`BigIntLiteral ${this.text}n`:qs(this)?\"TypeParameterDeclaration\":ao(this)?\"ParameterDeclaration\":ll(this)?\"ConstructorDeclaration\":Ip(this)?\"GetAccessorDeclaration\":Vu(this)?\"SetAccessorDeclaration\":iI(this)?\"CallSignatureDeclaration\":S2(this)?\"ConstructSignatureDeclaration\":r0(this)?\"IndexSignatureDeclaration\":T2(this)?\"TypePredicateNode\":Yp(this)?\"TypeReferenceNode\":G_(this)?\"FunctionTypeNode\":kx(this)?\"ConstructorTypeNode\":oI(this)?\"TypeQueryNode\":ju(this)?\"TypeLiteralNode\":A2(this)?\"ArrayTypeNode\":aI(this)?\"TupleTypeNode\":m6(this)?\"OptionalTypeNode\":_6(this)?\"RestTypeNode\":dy(this)?\"UnionTypeNode\":sI(this)?\"IntersectionTypeNode\":lI(this)?\"ConditionalTypeNode\":GS(this)?\"InferTypeNode\":VS(this)?\"ParenthesizedTypeNode\":I2(this)?\"ThisTypeNode\":jS(this)?\"TypeOperatorNode\":US(this)?\"IndexedAccessTypeNode\":wx(this)?\"MappedTypeNode\":uy(this)?\"LiteralTypeNode\":Ox(this)?\"NamedTupleMember\":Dh(this)?\"ImportTypeNode\":pe(this.kind)}${this.flags?` (${_e(this.flags)})`:\"\"}`}},__debugKind:{get(){return pe(this.kind)}},__debugNodeFlags:{get(){return _e(this.flags)}},__debugModifierFlags:{get(){return be(Ane(this))}},__debugTransformFlags:{get(){return Te(this.transformFlags)}},__debugIsParseTreeNode:{get(){return eC(this)}},__debugEmitFlags:{get(){return De(ba(this))}},__debugGetText:{value(qr){if(xs(this))return\"\";let ni=Ue.get(this);if(ni===void 0){let ki=uo(this),so=ki&&Nn(ki);ni=so?FE(so,ki,qr):\"\",Ue.set(this,ni)}return ni}}});jt=!0}e.enableDebugInfo=Ki;function gi(Jt){let Ue=Jt&7,Rt=Ue===0?\"in out\":Ue===3?\"[bivariant]\":Ue===2?\"in\":Ue===1?\"out\":Ue===4?\"[independent]\":\"\";return Jt&8?Rt+=\" (unmeasurable)\":Jt&16&&(Rt+=\" (unreliable)\"),Rt}e.formatVariance=gi;class io{__debugToString(){var Ue;switch(this.kind){case 3:return((Ue=this.debugInfo)==null?void 0:Ue.call(this))||\"(function mapper)\";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return J5(this.sources,this.targets||nn(this.sources,()=>\"any\"),(Rt,mn)=>`${Rt.__debugTypeToString()} -> ${typeof mn==\"string\"?mn:mn.__debugTypeToString()}`).join(\", \");case 2:return J5(this.sources,this.targets,(Rt,mn)=>`${Rt.__debugTypeToString()} -> ${mn().__debugTypeToString()}`).join(\", \");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split(`\n`).join(`\n    `)}\nm2: ${this.mapper2.__debugToString().split(`\n`).join(`\n    `)}`;default:return F(this)}}}e.DebugTypeMapper=io;function Gn(Jt){return e.isDebugging?Object.setPrototypeOf(Jt,io.prototype):Jt}e.attachDebugPrototypeIfDebug=Gn;function Nr(Jt){return console.log(cr(Jt))}e.printControlFlowGraph=Nr;function cr(Jt){let Ue=-1;function Rt(te){return te.id||(te.id=Ue,Ue--),te.id}let mn;(te=>{te.lr=\"\\u2500\",te.ud=\"\\u2502\",te.dr=\"\\u256D\",te.dl=\"\\u256E\",te.ul=\"\\u256F\",te.ur=\"\\u2570\",te.udr=\"\\u251C\",te.udl=\"\\u2524\",te.dlr=\"\\u252C\",te.ulr=\"\\u2534\",te.udlr=\"\\u256B\"})(mn||(mn={}));let qr;(te=>{te[te.None=0]=\"None\",te[te.Up=1]=\"Up\",te[te.Down=2]=\"Down\",te[te.Left=4]=\"Left\",te[te.Right=8]=\"Right\",te[te.UpDown=3]=\"UpDown\",te[te.LeftRight=12]=\"LeftRight\",te[te.UpLeft=5]=\"UpLeft\",te[te.UpRight=9]=\"UpRight\",te[te.DownLeft=6]=\"DownLeft\",te[te.DownRight=10]=\"DownRight\",te[te.UpDownLeft=7]=\"UpDownLeft\",te[te.UpDownRight=11]=\"UpDownRight\",te[te.UpLeftRight=13]=\"UpLeftRight\",te[te.DownLeftRight=14]=\"DownLeftRight\",te[te.UpDownLeftRight=15]=\"UpDownLeftRight\",te[te.NoChildren=16]=\"NoChildren\"})(qr||(qr={}));let ni=2032,ki=882,so=Object.create(null),Jo=[],Ea=[],ln=z(Jt,new Set);for(let te of Jo)te.text=Zt(te.flowNode,te.circular),_t(te);let Tn=ze(ln),ke=it(Tn);return Ct(ln,0),V();function nt(te){return!!(te.flags&128)}function tt(te){return!!(te.flags&12)&&!!te.antecedents}function yt(te){return!!(te.flags&ni)}function re(te){return!!(te.flags&ki)}function Ce(te){let j=[];for(let se of te.edges)se.source===te&&j.push(se.target);return j}function et(te){let j=[];for(let se of te.edges)se.target===te&&j.push(se.source);return j}function z(te,j){let se=Rt(te),Pe=so[se];if(Pe&&j.has(te))return Pe.circular=!0,Pe={id:-1,flowNode:te,edges:[],text:\"\",lane:-1,endLane:-1,level:-1,circular:\"circularity\"},Jo.push(Pe),Pe;if(j.add(te),!Pe)if(so[se]=Pe={id:se,flowNode:te,edges:[],text:\"\",lane:-1,endLane:-1,level:-1,circular:!1},Jo.push(Pe),tt(te))for(let Ie of te.antecedents)Je(Pe,Ie,j);else yt(te)&&Je(Pe,te.antecedent,j);return j.delete(te),Pe}function Je(te,j,se){let Pe=z(j,se),Ie={source:te,target:Pe};Ea.push(Ie),te.edges.push(Ie),Pe.edges.push(Ie)}function _t(te){if(te.level!==-1)return te.level;let j=0;for(let se of et(te))j=Math.max(j,_t(se)+1);return te.level=j}function ze(te){let j=0;for(let se of Ce(te))j=Math.max(j,ze(se));return j+1}function it(te){let j=St(Array(te),0);for(let se of Jo)j[se.level]=Math.max(j[se.level],se.text.length);return j}function Ct(te,j){if(te.lane===-1){te.lane=j,te.endLane=j;let se=Ce(te);for(let Pe=0;Pe<se.length;Pe++){Pe>0&&j++;let Ie=se[Pe];Ct(Ie,j),Ie.endLane>te.endLane&&(j=Ie.endLane)}te.endLane=j}}function on(te){if(te&2)return\"Start\";if(te&4)return\"Branch\";if(te&8)return\"Loop\";if(te&16)return\"Assignment\";if(te&32)return\"True\";if(te&64)return\"False\";if(te&128)return\"SwitchClause\";if(te&256)return\"ArrayMutation\";if(te&512)return\"Call\";if(te&1024)return\"ReduceLabel\";if(te&1)return\"Unreachable\";throw new Error}function Qt(te){let j=Nn(te);return FE(j,te,!1)}function Zt(te,j){let se=on(te.flags);if(j&&(se=`${se}#${Rt(te)}`),re(te))te.node&&(se+=` (${Qt(te.node)})`);else if(nt(te)){let Pe=[];for(let Ie=te.clauseStart;Ie<te.clauseEnd;Ie++){let gt=te.switchStatement.caseBlock.clauses[Ie];_N(gt)?Pe.push(\"default\"):Pe.push(Qt(gt.expression))}se+=` (${Pe.join(\", \")})`}return j===\"circularity\"?`Circular(${se})`:se}function V(){let te=ke.length,j=Jo.reduce((bt,Ot)=>Math.max(bt,Ot.lane),0)+1,se=St(Array(j),\"\"),Pe=ke.map(()=>Array(j)),Ie=ke.map(()=>St(Array(j),0));for(let bt of Jo){Pe[bt.level][bt.lane]=bt;let Ot=Ce(bt);for(let An=0;An<Ot.length;An++){let Cn=Ot[An],ti=8;Cn.lane===bt.lane&&(ti|=4),An>0&&(ti|=1),An<Ot.length-1&&(ti|=2),Ie[bt.level][Cn.lane]|=ti}Ot.length===0&&(Ie[bt.level][bt.lane]|=16);let dn=et(bt);for(let An=0;An<dn.length;An++){let Cn=dn[An],ti=4;An>0&&(ti|=1),An<dn.length-1&&(ti|=2),Ie[bt.level-1][Cn.lane]|=ti}}for(let bt=0;bt<te;bt++)for(let Ot=0;Ot<j;Ot++){let dn=bt>0?Ie[bt-1][Ot]:0,An=Ot>0?Ie[bt][Ot-1]:0,Cn=Ie[bt][Ot];Cn||(dn&8&&(Cn|=12),An&2&&(Cn|=3),Ie[bt][Ot]=Cn)}for(let bt=0;bt<te;bt++)for(let Ot=0;Ot<se.length;Ot++){let dn=Ie[bt][Ot],An=dn&4?\"\\u2500\":\" \",Cn=Pe[bt][Ot];Cn?(gt(Ot,Cn.text),bt<te-1&&(gt(Ot,\" \"),gt(Ot,M(An,ke[bt]-Cn.text.length)))):bt<te-1&&gt(Ot,M(An,ke[bt]+1)),gt(Ot,Re(dn)),gt(Ot,dn&8&&bt<te-1&&!Pe[bt+1][Ot]?\"\\u2500\":\" \")}return`\n${se.join(`\n`)}\n`;function gt(bt,Ot){se[bt]+=Ot}}function Re(te){switch(te){case 3:return\"\\u2502\";case 12:return\"\\u2500\";case 5:return\"\\u256F\";case 9:return\"\\u2570\";case 6:return\"\\u256E\";case 10:return\"\\u256D\";case 7:return\"\\u2524\";case 11:return\"\\u251C\";case 13:return\"\\u2534\";case 14:return\"\\u252C\";case 15:return\"\\u256B\"}return\" \"}function St(te,j){if(te.fill)te.fill(j);else for(let se=0;se<te.length;se++)te[se]=j;return te}function M(te,j){if(te.repeat)return j>0?te.repeat(j):\"\";let se=\"\";for(;se.length<j;)se+=te;return se}}e.formatControlFlowGraph=cr})(x||(x={}))}});function hve(e){let t=vve.exec(e);if(!t)return;let[,r,i=\"0\",o=\"0\",s=\"\",l=\"\"]=t;if(!(s&&!yve.test(s))&&!(l&&!Eve.test(l)))return{major:parseInt(r,10),minor:parseInt(i,10),patch:parseInt(o,10),prerelease:s,build:l}}function OWe(e,t){if(e===t)return 0;if(e.length===0)return t.length===0?0:1;if(t.length===0)return-1;let r=Math.min(e.length,t.length);for(let i=0;i<r;i++){let o=e[i],s=t[i];if(o===s)continue;let l=ZZ.test(o),d=ZZ.test(s);if(l||d){if(l!==d)return l?-1:1;let p=Ms(+o,+s);if(p)return p}else{let p=gd(o,s);if(p)return p}}return Ms(e.length,t.length)}function gve(e){let t=[];for(let r of e.trim().split(Tve)){if(!r)continue;let i=[];r=r.trim();let o=xve.exec(r);if(o){if(!wWe(o[1],o[2],i))return}else for(let s of r.split(Ave)){let l=Rve.exec(s.trim());if(!l||!WWe(l[1],l[2],i))return}t.push(i)}return t}function QZ(e){let t=Ive.exec(e);if(!t)return;let[,r,i=\"*\",o=\"*\",s,l]=t;return{version:new zf(_f(r)?0:parseInt(r,10),_f(r)||_f(i)?0:parseInt(i,10),_f(r)||_f(i)||_f(o)?0:parseInt(o,10),s,l),major:r,minor:i,patch:o}}function wWe(e,t,r){let i=QZ(e);if(!i)return!1;let o=QZ(t);return o?(_f(i.major)||r.push(P_(\">=\",i.version)),_f(o.major)||r.push(_f(o.minor)?P_(\"<\",o.version.increment(\"major\")):_f(o.patch)?P_(\"<\",o.version.increment(\"minor\")):P_(\"<=\",o.version)),!0):!1}function WWe(e,t,r){let i=QZ(t);if(!i)return!1;let{version:o,major:s,minor:l,patch:d}=i;if(_f(s))(e===\"<\"||e===\">\")&&r.push(P_(\"<\",zf.zero));else switch(e){case\"~\":r.push(P_(\">=\",o)),r.push(P_(\"<\",o.increment(_f(l)?\"major\":\"minor\")));break;case\"^\":r.push(P_(\">=\",o)),r.push(P_(\"<\",o.increment(o.major>0||_f(l)?\"major\":o.minor>0||_f(d)?\"minor\":\"patch\")));break;case\"<\":case\">=\":r.push(_f(l)||_f(d)?P_(e,o.with({prerelease:\"0\"})):P_(e,o));break;case\"<=\":case\">\":r.push(_f(l)?P_(e===\"<=\"?\"<\":\">=\",o.increment(\"major\").with({prerelease:\"0\"})):_f(d)?P_(e===\"<=\"?\"<\":\">=\",o.increment(\"minor\").with({prerelease:\"0\"})):P_(e,o));break;case\"=\":case void 0:_f(l)||_f(d)?(r.push(P_(\">=\",o.with({prerelease:\"0\"}))),r.push(P_(\"<\",o.increment(_f(l)?\"major\":\"minor\").with({prerelease:\"0\"})))):r.push(P_(\"=\",o));break;default:return!1}return!0}function _f(e){return e===\"*\"||e===\"x\"||e===\"X\"}function P_(e,t){return{operator:e,operand:t}}function FWe(e,t){if(t.length===0)return!0;for(let r of t)if(zWe(e,r))return!0;return!1}function zWe(e,t){for(let r of t)if(!BWe(e,r.operator,r.operand))return!1;return!0}function BWe(e,t,r){let i=e.compareTo(r);switch(t){case\"<\":return i<0;case\"<=\":return i<=0;case\">\":return i>0;case\">=\":return i>=0;case\"=\":return i===0;default:return x.assertNever(t)}}function GWe(e){return nn(e,VWe).join(\" || \")||\"*\"}function VWe(e){return nn(e,jWe).join(\" \")}function jWe(e){return`${e.operator}${e.operand}`}var vve,yve,bve,Eve,Sve,ZZ,yB,zf,hM,Tve,Ave,Ive,xve,Rve,UWe=pt({\"src/compiler/semver.ts\"(){\"use strict\";wo(),vve=/^(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:-([a-z0-9-.]+))?(?:\\+([a-z0-9-.]+))?)?)?$/i,yve=/^(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*)(?:\\.(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*))*$/i,bve=/^(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*)$/i,Eve=/^[a-z0-9-]+(?:\\.[a-z0-9-]+)*$/i,Sve=/^[a-z0-9-]+$/i,ZZ=/^(0|[1-9]\\d*)$/,yB=class jw{constructor(t,r=0,i=0,o=\"\",s=\"\"){typeof t==\"string\"&&({major:t,minor:r,patch:i,prerelease:o,build:s}=x.checkDefined(hve(t),\"Invalid version\")),x.assert(t>=0,\"Invalid argument: major\"),x.assert(r>=0,\"Invalid argument: minor\"),x.assert(i>=0,\"Invalid argument: patch\");let l=o?oo(o)?o:o.split(\".\"):je,d=s?oo(s)?s:s.split(\".\"):je;x.assert(ji(l,p=>bve.test(p)),\"Invalid argument: prerelease\"),x.assert(ji(d,p=>Sve.test(p)),\"Invalid argument: build\"),this.major=t,this.minor=r,this.patch=i,this.prerelease=l,this.build=d}static tryParse(t){let r=hve(t);if(!r)return;let{major:i,minor:o,patch:s,prerelease:l,build:d}=r;return new jw(i,o,s,l,d)}compareTo(t){return this===t?0:t===void 0?1:Ms(this.major,t.major)||Ms(this.minor,t.minor)||Ms(this.patch,t.patch)||OWe(this.prerelease,t.prerelease)}increment(t){switch(t){case\"major\":return new jw(this.major+1,0,0);case\"minor\":return new jw(this.major,this.minor+1,0);case\"patch\":return new jw(this.major,this.minor,this.patch+1);default:return x.assertNever(t)}}with(t){let{major:r=this.major,minor:i=this.minor,patch:o=this.patch,prerelease:s=this.prerelease,build:l=this.build}=t;return new jw(r,i,o,s,l)}toString(){let t=`${this.major}.${this.minor}.${this.patch}`;return ct(this.prerelease)&&(t+=`-${this.prerelease.join(\".\")}`),ct(this.build)&&(t+=`+${this.build.join(\".\")}`),t}},yB.zero=new yB(0,0,0,[\"0\"]),zf=yB,hM=class gWe{constructor(t){this._alternatives=t?x.checkDefined(gve(t),\"Invalid range spec.\"):je}static tryParse(t){let r=gve(t);if(r){let i=new gWe(\"\");return i._alternatives=r,i}}test(t){return typeof t==\"string\"&&(t=new zf(t)),FWe(t,this._alternatives)}toString(){return GWe(this._alternatives)}},Tve=/\\|\\|/g,Ave=/\\s+/g,Ive=/^([xX*0]|[1-9]\\d*)(?:\\.([xX*0]|[1-9]\\d*)(?:\\.([xX*0]|[1-9]\\d*)(?:-([a-z0-9-.]+))?(?:\\+([a-z0-9-.]+))?)?)?$/i,xve=/^\\s*([a-z0-9-+.*]+)\\s+-\\s+([a-z0-9-+.*]+)\\s*$/i,Rve=/^(~|\\^|<|<=|>|>=|=)?\\s*([a-z0-9-+.*]+)$/i}});function Dve(e,t){return typeof e==\"object\"&&typeof e.timeOrigin==\"number\"&&typeof e.mark==\"function\"&&typeof e.measure==\"function\"&&typeof e.now==\"function\"&&typeof e.clearMarks==\"function\"&&typeof e.clearMeasures==\"function\"&&typeof t==\"function\"}function HWe(){if(typeof performance==\"object\"&&typeof PerformanceObserver==\"function\"&&Dve(performance,PerformanceObserver))return{shouldWriteNativeEvents:!0,performance,PerformanceObserver}}function qWe(){if(mB())try{let{performance:e,PerformanceObserver:t}=cS(\"perf_hooks\");if(Dve(e,t))return{shouldWriteNativeEvents:!1,performance:e,PerformanceObserver:t}}catch{}}function eee(){return bB}var bB,tee,Is,JWe=pt({\"src/compiler/performanceCore.ts\"(){\"use strict\";wo(),bB=HWe()||qWe(),tee=bB?.performance,Is=tee?()=>tee.now():Date.now?Date.now:()=>+new Date}}),i8,Pd,KWe=pt({\"src/compiler/perfLogger.ts\"(){\"use strict\";try{let e=process.env.TS_ETW_MODULE_PATH??\"./node_modules/@microsoft/typescript-etw\";i8=cS(e)}catch{i8=void 0}Pd=i8?.logEvent?i8:void 0}});function Cve(e,t,r,i){return e?EB(t,r,i):SB}function EB(e,t,r){let i=0;return{enter:o,exit:s};function o(){++i===1&&Ls(t)}function s(){--i===0?(Ls(r),Sp(e,t,r)):i<0&&x.fail(\"enter/exit count does not match.\")}}function Ls(e){if(P1){let t=UD.get(e)??0;UD.set(e,t+1),M1.set(e,Is()),fS?.mark(e),typeof onProfilerEvent==\"function\"&&onProfilerEvent(e)}}function Sp(e,t,r){if(P1){let i=(r!==void 0?M1.get(r):void 0)??Is(),o=(t!==void 0?M1.get(t):void 0)??nee,s=L1.get(e)||0;L1.set(e,s+(i-o)),fS?.measure(e,t,r)}}function XWe(e){return UD.get(e)||0}function YWe(e){return L1.get(e)||0}function $We(e){L1.forEach((t,r)=>e(r,t))}function QWe(e){M1.forEach((t,r)=>e(r))}function ZWe(e){e!==void 0?L1.delete(e):L1.clear(),fS?.clearMeasures(e)}function eFe(e){e!==void 0?(UD.delete(e),M1.delete(e)):(UD.clear(),M1.clear()),fS?.clearMarks(e)}function tFe(){return P1}function nFe(e=Hc){var t;return P1||(P1=!0,gM||(gM=eee()),gM&&(nee=gM.performance.timeOrigin,(gM.shouldWriteNativeEvents||(t=e?.cpuProfilingEnabled)!=null&&t.call(e)||e?.debugMode)&&(fS=gM.performance))),!0}function rFe(){P1&&(M1.clear(),UD.clear(),L1.clear(),fS=void 0,P1=!1)}var gM,fS,SB,P1,nee,M1,UD,L1,iFe=pt({\"src/compiler/performance.ts\"(){\"use strict\";wo(),SB={enter:Ca,exit:Ca},P1=!1,nee=Is(),M1=new Map,UD=new Map,L1=new Map}}),ree={};la(ree,{clearMarks:()=>eFe,clearMeasures:()=>ZWe,createTimer:()=>EB,createTimerIf:()=>Cve,disable:()=>rFe,enable:()=>nFe,forEachMark:()=>QWe,forEachMeasure:()=>$We,getCount:()=>XWe,getDuration:()=>YWe,isEnabled:()=>tFe,mark:()=>Ls,measure:()=>Sp,nullTimer:()=>SB});var mS=pt({\"src/compiler/_namespaces/ts.performance.ts\"(){\"use strict\";iFe()}}),qn,vM,iee,oee,oFe=pt({\"src/compiler/tracing.ts\"(){\"use strict\";wo(),mS(),(e=>{let t,r=0,i=0,o,s=[],l,d=[];function p(W,$,de){if(x.assert(!qn,\"Tracing already started\"),t===void 0)try{t=cS(\"fs\")}catch(le){throw new Error(`tracing requires having fs\n(original error: ${le.message||le})`)}o=W,s.length=0,l===void 0&&(l=wr($,\"legend.json\")),t.existsSync($)||t.mkdirSync($,{recursive:!0});let fe=o===\"build\"?`.${process.pid}-${++r}`:o===\"server\"?`.${process.pid}`:\"\",q=wr($,`trace${fe}.json`),H=wr($,`types${fe}.json`);d.push({configFilePath:de,tracePath:q,typesPath:H}),i=t.openSync(q,\"w\"),qn=e;let ee={cat:\"__metadata\",ph:\"M\",ts:1e3*Is(),pid:1,tid:1};t.writeSync(i,`[\n`+[{name:\"process_name\",args:{name:\"tsc\"},...ee},{name:\"thread_name\",args:{name:\"Main\"},...ee},{name:\"TracingStartedInBrowser\",...ee,cat:\"disabled-by-default-devtools.timeline\"}].map(le=>JSON.stringify(le)).join(`,\n`))}e.startTracing=p;function h(){x.assert(qn,\"Tracing is not in progress\"),x.assert(!!s.length==(o!==\"server\")),t.writeSync(i,`\n]\n`),t.closeSync(i),qn=void 0,s.length?F(s):d[d.length-1].typesPath=void 0}e.stopTracing=h;function m(W){o!==\"server\"&&s.push(W)}e.recordType=m;let v;(W=>{W.Parse=\"parse\",W.Program=\"program\",W.Bind=\"bind\",W.Check=\"check\",W.CheckTypes=\"checkTypes\",W.Emit=\"emit\",W.Session=\"session\"})(v=e.Phase||(e.Phase={}));function E(W,$,de){U(\"I\",W,$,de,'\"s\":\"g\"')}e.instant=E;let S=[];function A(W,$,de,fe=!1){fe&&U(\"B\",W,$,de),S.push({phase:W,name:$,args:de,time:1e3*Is(),separateBeginAndEnd:fe})}e.push=A;function C(W){x.assert(S.length>0),G(S.length-1,1e3*Is(),W),S.length--}e.pop=C;function R(){let W=1e3*Is();for(let $=S.length-1;$>=0;$--)G($,W);S.length=0}e.popAll=R;let L=1e3*10;function G(W,$,de){let{phase:fe,name:q,args:H,time:ee,separateBeginAndEnd:le}=S[W];le?(x.assert(!de,\"`results` are not supported for events with `separateBeginAndEnd`\"),U(\"E\",fe,q,H,void 0,$)):L-ee%L<=$-ee&&U(\"X\",fe,q,{...H,results:de},`\"dur\":${$-ee}`,ee)}function U(W,$,de,fe,q,H=1e3*Is()){o===\"server\"&&$===\"checkTypes\"||(Ls(\"beginTracing\"),t.writeSync(i,`,\n{\"pid\":1,\"tid\":1,\"ph\":\"${W}\",\"cat\":\"${$}\",\"ts\":${H},\"name\":\"${de}\"`),q&&t.writeSync(i,`,${q}`),fe&&t.writeSync(i,`,\"args\":${JSON.stringify(fe)}`),t.writeSync(i,\"}\"),Ls(\"endTracing\"),Sp(\"Tracing\",\"beginTracing\",\"endTracing\"))}function K(W){let $=Nn(W);return $?{path:$.path,start:de($a($,W.pos)),end:de($a($,W.end))}:void 0;function de(fe){return{line:fe.line+1,character:fe.character+1}}}function F(W){var $,de,fe,q,H,ee,le,Ee,ce,Z,pe,Ae,Oe,_e,be,Te,De,ft,he;Ls(\"beginDumpTypes\");let Le=d[d.length-1].typesPath,Ke=t.openSync(Le,\"w\"),Dt=new Map;t.writeSync(Ke,\"[\");let st=W.length;for(let Ge=0;Ge<st;Ge++){let ot=W[Ge],Vt=ot.objectFlags,jt=ot.aliasSymbol??ot.symbol,gn;if(Vt&16|ot.flags&2944)try{gn=($=ot.checker)==null?void 0:$.typeToString(ot)}catch{gn=void 0}let On={};if(ot.flags&8388608){let Nr=ot;On={indexedAccessObjectType:(de=Nr.objectType)==null?void 0:de.id,indexedAccessIndexType:(fe=Nr.indexType)==null?void 0:fe.id}}let en={};if(Vt&4){let Nr=ot;en={instantiatedType:(q=Nr.target)==null?void 0:q.id,typeArguments:(H=Nr.resolvedTypeArguments)==null?void 0:H.map(cr=>cr.id),referenceLocation:K(Nr.node)}}let zt={};if(ot.flags&16777216){let Nr=ot;zt={conditionalCheckType:(ee=Nr.checkType)==null?void 0:ee.id,conditionalExtendsType:(le=Nr.extendsType)==null?void 0:le.id,conditionalTrueType:((Ee=Nr.resolvedTrueType)==null?void 0:Ee.id)??-1,conditionalFalseType:((ce=Nr.resolvedFalseType)==null?void 0:ce.id)??-1}}let Wt={};if(ot.flags&33554432){let Nr=ot;Wt={substitutionBaseType:(Z=Nr.baseType)==null?void 0:Z.id,constraintType:(pe=Nr.constraint)==null?void 0:pe.id}}let ei={};if(Vt&1024){let Nr=ot;ei={reverseMappedSourceType:(Ae=Nr.source)==null?void 0:Ae.id,reverseMappedMappedType:(Oe=Nr.mappedType)==null?void 0:Oe.id,reverseMappedConstraintType:(_e=Nr.constraintType)==null?void 0:_e.id}}let Ki={};if(Vt&256){let Nr=ot;Ki={evolvingArrayElementType:Nr.elementType.id,evolvingArrayFinalType:(be=Nr.finalArrayType)==null?void 0:be.id}}let gi,io=ot.checker.getRecursionIdentity(ot);io&&(gi=Dt.get(io),gi||(gi=Dt.size,Dt.set(io,gi)));let Gn={id:ot.id,intrinsicName:ot.intrinsicName,symbolName:jt?.escapedName&&Ii(jt.escapedName),recursionId:gi,isTuple:Vt&8?!0:void 0,unionTypes:ot.flags&1048576?(Te=ot.types)==null?void 0:Te.map(Nr=>Nr.id):void 0,intersectionTypes:ot.flags&2097152?ot.types.map(Nr=>Nr.id):void 0,aliasTypeArguments:(De=ot.aliasTypeArguments)==null?void 0:De.map(Nr=>Nr.id),keyofType:ot.flags&4194304?(ft=ot.type)==null?void 0:ft.id:void 0,...On,...en,...zt,...Wt,...ei,...Ki,destructuringPattern:K(ot.pattern),firstDeclaration:K((he=jt?.declarations)==null?void 0:he[0]),flags:x.formatTypeFlags(ot.flags).split(\"|\"),display:gn};t.writeSync(Ke,JSON.stringify(Gn)),Ge<st-1&&t.writeSync(Ke,`,\n`)}t.writeSync(Ke,`]\n`),t.closeSync(Ke),Ls(\"endDumpTypes\"),Sp(\"Dump types\",\"beginDumpTypes\",\"endDumpTypes\")}function oe(){l&&t.writeFileSync(l,JSON.stringify(d))}e.dumpLegend=oe})(vM||(vM={})),iee=vM.startTracing,oee=vM.dumpLegend}});function _S(e,t=!0){let r=bM[e.category];return t?r.toLowerCase():r}var o8,a8,s8,TB,l8,c8,AB,yM,IB,k1,d8,xB,RB,u8,DB,CB,NB,PB,MB,LB,kB,OB,wB,WB,FB,p8,zB,BB,GB,VB,f8,m8,jB,UB,HB,qB,JB,KB,_8,XB,YB,$B,QB,ZB,eG,bM,O1,tG,nG,rG,iG,HD,oG,aG,sG,h8,lG,cG,dG,uG,pG,g8,v8,y8,fG,mG,_G,hG,gG,vG,yG,bG,EM,EG,Nve=pt({\"src/compiler/types.ts\"(){\"use strict\";o8=(e=>(e[e.Unknown=0]=\"Unknown\",e[e.EndOfFileToken=1]=\"EndOfFileToken\",e[e.SingleLineCommentTrivia=2]=\"SingleLineCommentTrivia\",e[e.MultiLineCommentTrivia=3]=\"MultiLineCommentTrivia\",e[e.NewLineTrivia=4]=\"NewLineTrivia\",e[e.WhitespaceTrivia=5]=\"WhitespaceTrivia\",e[e.ShebangTrivia=6]=\"ShebangTrivia\",e[e.ConflictMarkerTrivia=7]=\"ConflictMarkerTrivia\",e[e.NonTextFileMarkerTrivia=8]=\"NonTextFileMarkerTrivia\",e[e.NumericLiteral=9]=\"NumericLiteral\",e[e.BigIntLiteral=10]=\"BigIntLiteral\",e[e.StringLiteral=11]=\"StringLiteral\",e[e.JsxText=12]=\"JsxText\",e[e.JsxTextAllWhiteSpaces=13]=\"JsxTextAllWhiteSpaces\",e[e.RegularExpressionLiteral=14]=\"RegularExpressionLiteral\",e[e.NoSubstitutionTemplateLiteral=15]=\"NoSubstitutionTemplateLiteral\",e[e.TemplateHead=16]=\"TemplateHead\",e[e.TemplateMiddle=17]=\"TemplateMiddle\",e[e.TemplateTail=18]=\"TemplateTail\",e[e.OpenBraceToken=19]=\"OpenBraceToken\",e[e.CloseBraceToken=20]=\"CloseBraceToken\",e[e.OpenParenToken=21]=\"OpenParenToken\",e[e.CloseParenToken=22]=\"CloseParenToken\",e[e.OpenBracketToken=23]=\"OpenBracketToken\",e[e.CloseBracketToken=24]=\"CloseBracketToken\",e[e.DotToken=25]=\"DotToken\",e[e.DotDotDotToken=26]=\"DotDotDotToken\",e[e.SemicolonToken=27]=\"SemicolonToken\",e[e.CommaToken=28]=\"CommaToken\",e[e.QuestionDotToken=29]=\"QuestionDotToken\",e[e.LessThanToken=30]=\"LessThanToken\",e[e.LessThanSlashToken=31]=\"LessThanSlashToken\",e[e.GreaterThanToken=32]=\"GreaterThanToken\",e[e.LessThanEqualsToken=33]=\"LessThanEqualsToken\",e[e.GreaterThanEqualsToken=34]=\"GreaterThanEqualsToken\",e[e.EqualsEqualsToken=35]=\"EqualsEqualsToken\",e[e.ExclamationEqualsToken=36]=\"ExclamationEqualsToken\",e[e.EqualsEqualsEqualsToken=37]=\"EqualsEqualsEqualsToken\",e[e.ExclamationEqualsEqualsToken=38]=\"ExclamationEqualsEqualsToken\",e[e.EqualsGreaterThanToken=39]=\"EqualsGreaterThanToken\",e[e.PlusToken=40]=\"PlusToken\",e[e.MinusToken=41]=\"MinusToken\",e[e.AsteriskToken=42]=\"AsteriskToken\",e[e.AsteriskAsteriskToken=43]=\"AsteriskAsteriskToken\",e[e.SlashToken=44]=\"SlashToken\",e[e.PercentToken=45]=\"PercentToken\",e[e.PlusPlusToken=46]=\"PlusPlusToken\",e[e.MinusMinusToken=47]=\"MinusMinusToken\",e[e.LessThanLessThanToken=48]=\"LessThanLessThanToken\",e[e.GreaterThanGreaterThanToken=49]=\"GreaterThanGreaterThanToken\",e[e.GreaterThanGreaterThanGreaterThanToken=50]=\"GreaterThanGreaterThanGreaterThanToken\",e[e.AmpersandToken=51]=\"AmpersandToken\",e[e.BarToken=52]=\"BarToken\",e[e.CaretToken=53]=\"CaretToken\",e[e.ExclamationToken=54]=\"ExclamationToken\",e[e.TildeToken=55]=\"TildeToken\",e[e.AmpersandAmpersandToken=56]=\"AmpersandAmpersandToken\",e[e.BarBarToken=57]=\"BarBarToken\",e[e.QuestionToken=58]=\"QuestionToken\",e[e.ColonToken=59]=\"ColonToken\",e[e.AtToken=60]=\"AtToken\",e[e.QuestionQuestionToken=61]=\"QuestionQuestionToken\",e[e.BacktickToken=62]=\"BacktickToken\",e[e.HashToken=63]=\"HashToken\",e[e.EqualsToken=64]=\"EqualsToken\",e[e.PlusEqualsToken=65]=\"PlusEqualsToken\",e[e.MinusEqualsToken=66]=\"MinusEqualsToken\",e[e.AsteriskEqualsToken=67]=\"AsteriskEqualsToken\",e[e.AsteriskAsteriskEqualsToken=68]=\"AsteriskAsteriskEqualsToken\",e[e.SlashEqualsToken=69]=\"SlashEqualsToken\",e[e.PercentEqualsToken=70]=\"PercentEqualsToken\",e[e.LessThanLessThanEqualsToken=71]=\"LessThanLessThanEqualsToken\",e[e.GreaterThanGreaterThanEqualsToken=72]=\"GreaterThanGreaterThanEqualsToken\",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=73]=\"GreaterThanGreaterThanGreaterThanEqualsToken\",e[e.AmpersandEqualsToken=74]=\"AmpersandEqualsToken\",e[e.BarEqualsToken=75]=\"BarEqualsToken\",e[e.BarBarEqualsToken=76]=\"BarBarEqualsToken\",e[e.AmpersandAmpersandEqualsToken=77]=\"AmpersandAmpersandEqualsToken\",e[e.QuestionQuestionEqualsToken=78]=\"QuestionQuestionEqualsToken\",e[e.CaretEqualsToken=79]=\"CaretEqualsToken\",e[e.Identifier=80]=\"Identifier\",e[e.PrivateIdentifier=81]=\"PrivateIdentifier\",e[e.JSDocCommentTextToken=82]=\"JSDocCommentTextToken\",e[e.BreakKeyword=83]=\"BreakKeyword\",e[e.CaseKeyword=84]=\"CaseKeyword\",e[e.CatchKeyword=85]=\"CatchKeyword\",e[e.ClassKeyword=86]=\"ClassKeyword\",e[e.ConstKeyword=87]=\"ConstKeyword\",e[e.ContinueKeyword=88]=\"ContinueKeyword\",e[e.DebuggerKeyword=89]=\"DebuggerKeyword\",e[e.DefaultKeyword=90]=\"DefaultKeyword\",e[e.DeleteKeyword=91]=\"DeleteKeyword\",e[e.DoKeyword=92]=\"DoKeyword\",e[e.ElseKeyword=93]=\"ElseKeyword\",e[e.EnumKeyword=94]=\"EnumKeyword\",e[e.ExportKeyword=95]=\"ExportKeyword\",e[e.ExtendsKeyword=96]=\"ExtendsKeyword\",e[e.FalseKeyword=97]=\"FalseKeyword\",e[e.FinallyKeyword=98]=\"FinallyKeyword\",e[e.ForKeyword=99]=\"ForKeyword\",e[e.FunctionKeyword=100]=\"FunctionKeyword\",e[e.IfKeyword=101]=\"IfKeyword\",e[e.ImportKeyword=102]=\"ImportKeyword\",e[e.InKeyword=103]=\"InKeyword\",e[e.InstanceOfKeyword=104]=\"InstanceOfKeyword\",e[e.NewKeyword=105]=\"NewKeyword\",e[e.NullKeyword=106]=\"NullKeyword\",e[e.ReturnKeyword=107]=\"ReturnKeyword\",e[e.SuperKeyword=108]=\"SuperKeyword\",e[e.SwitchKeyword=109]=\"SwitchKeyword\",e[e.ThisKeyword=110]=\"ThisKeyword\",e[e.ThrowKeyword=111]=\"ThrowKeyword\",e[e.TrueKeyword=112]=\"TrueKeyword\",e[e.TryKeyword=113]=\"TryKeyword\",e[e.TypeOfKeyword=114]=\"TypeOfKeyword\",e[e.VarKeyword=115]=\"VarKeyword\",e[e.VoidKeyword=116]=\"VoidKeyword\",e[e.WhileKeyword=117]=\"WhileKeyword\",e[e.WithKeyword=118]=\"WithKeyword\",e[e.ImplementsKeyword=119]=\"ImplementsKeyword\",e[e.InterfaceKeyword=120]=\"InterfaceKeyword\",e[e.LetKeyword=121]=\"LetKeyword\",e[e.PackageKeyword=122]=\"PackageKeyword\",e[e.PrivateKeyword=123]=\"PrivateKeyword\",e[e.ProtectedKeyword=124]=\"ProtectedKeyword\",e[e.PublicKeyword=125]=\"PublicKeyword\",e[e.StaticKeyword=126]=\"StaticKeyword\",e[e.YieldKeyword=127]=\"YieldKeyword\",e[e.AbstractKeyword=128]=\"AbstractKeyword\",e[e.AccessorKeyword=129]=\"AccessorKeyword\",e[e.AsKeyword=130]=\"AsKeyword\",e[e.AssertsKeyword=131]=\"AssertsKeyword\",e[e.AssertKeyword=132]=\"AssertKeyword\",e[e.AnyKeyword=133]=\"AnyKeyword\",e[e.AsyncKeyword=134]=\"AsyncKeyword\",e[e.AwaitKeyword=135]=\"AwaitKeyword\",e[e.BooleanKeyword=136]=\"BooleanKeyword\",e[e.ConstructorKeyword=137]=\"ConstructorKeyword\",e[e.DeclareKeyword=138]=\"DeclareKeyword\",e[e.GetKeyword=139]=\"GetKeyword\",e[e.InferKeyword=140]=\"InferKeyword\",e[e.IntrinsicKeyword=141]=\"IntrinsicKeyword\",e[e.IsKeyword=142]=\"IsKeyword\",e[e.KeyOfKeyword=143]=\"KeyOfKeyword\",e[e.ModuleKeyword=144]=\"ModuleKeyword\",e[e.NamespaceKeyword=145]=\"NamespaceKeyword\",e[e.NeverKeyword=146]=\"NeverKeyword\",e[e.OutKeyword=147]=\"OutKeyword\",e[e.ReadonlyKeyword=148]=\"ReadonlyKeyword\",e[e.RequireKeyword=149]=\"RequireKeyword\",e[e.NumberKeyword=150]=\"NumberKeyword\",e[e.ObjectKeyword=151]=\"ObjectKeyword\",e[e.SatisfiesKeyword=152]=\"SatisfiesKeyword\",e[e.SetKeyword=153]=\"SetKeyword\",e[e.StringKeyword=154]=\"StringKeyword\",e[e.SymbolKeyword=155]=\"SymbolKeyword\",e[e.TypeKeyword=156]=\"TypeKeyword\",e[e.UndefinedKeyword=157]=\"UndefinedKeyword\",e[e.UniqueKeyword=158]=\"UniqueKeyword\",e[e.UnknownKeyword=159]=\"UnknownKeyword\",e[e.UsingKeyword=160]=\"UsingKeyword\",e[e.FromKeyword=161]=\"FromKeyword\",e[e.GlobalKeyword=162]=\"GlobalKeyword\",e[e.BigIntKeyword=163]=\"BigIntKeyword\",e[e.OverrideKeyword=164]=\"OverrideKeyword\",e[e.OfKeyword=165]=\"OfKeyword\",e[e.QualifiedName=166]=\"QualifiedName\",e[e.ComputedPropertyName=167]=\"ComputedPropertyName\",e[e.TypeParameter=168]=\"TypeParameter\",e[e.Parameter=169]=\"Parameter\",e[e.Decorator=170]=\"Decorator\",e[e.PropertySignature=171]=\"PropertySignature\",e[e.PropertyDeclaration=172]=\"PropertyDeclaration\",e[e.MethodSignature=173]=\"MethodSignature\",e[e.MethodDeclaration=174]=\"MethodDeclaration\",e[e.ClassStaticBlockDeclaration=175]=\"ClassStaticBlockDeclaration\",e[e.Constructor=176]=\"Constructor\",e[e.GetAccessor=177]=\"GetAccessor\",e[e.SetAccessor=178]=\"SetAccessor\",e[e.CallSignature=179]=\"CallSignature\",e[e.ConstructSignature=180]=\"ConstructSignature\",e[e.IndexSignature=181]=\"IndexSignature\",e[e.TypePredicate=182]=\"TypePredicate\",e[e.TypeReference=183]=\"TypeReference\",e[e.FunctionType=184]=\"FunctionType\",e[e.ConstructorType=185]=\"ConstructorType\",e[e.TypeQuery=186]=\"TypeQuery\",e[e.TypeLiteral=187]=\"TypeLiteral\",e[e.ArrayType=188]=\"ArrayType\",e[e.TupleType=189]=\"TupleType\",e[e.OptionalType=190]=\"OptionalType\",e[e.RestType=191]=\"RestType\",e[e.UnionType=192]=\"UnionType\",e[e.IntersectionType=193]=\"IntersectionType\",e[e.ConditionalType=194]=\"ConditionalType\",e[e.InferType=195]=\"InferType\",e[e.ParenthesizedType=196]=\"ParenthesizedType\",e[e.ThisType=197]=\"ThisType\",e[e.TypeOperator=198]=\"TypeOperator\",e[e.IndexedAccessType=199]=\"IndexedAccessType\",e[e.MappedType=200]=\"MappedType\",e[e.LiteralType=201]=\"LiteralType\",e[e.NamedTupleMember=202]=\"NamedTupleMember\",e[e.TemplateLiteralType=203]=\"TemplateLiteralType\",e[e.TemplateLiteralTypeSpan=204]=\"TemplateLiteralTypeSpan\",e[e.ImportType=205]=\"ImportType\",e[e.ObjectBindingPattern=206]=\"ObjectBindingPattern\",e[e.ArrayBindingPattern=207]=\"ArrayBindingPattern\",e[e.BindingElement=208]=\"BindingElement\",e[e.ArrayLiteralExpression=209]=\"ArrayLiteralExpression\",e[e.ObjectLiteralExpression=210]=\"ObjectLiteralExpression\",e[e.PropertyAccessExpression=211]=\"PropertyAccessExpression\",e[e.ElementAccessExpression=212]=\"ElementAccessExpression\",e[e.CallExpression=213]=\"CallExpression\",e[e.NewExpression=214]=\"NewExpression\",e[e.TaggedTemplateExpression=215]=\"TaggedTemplateExpression\",e[e.TypeAssertionExpression=216]=\"TypeAssertionExpression\",e[e.ParenthesizedExpression=217]=\"ParenthesizedExpression\",e[e.FunctionExpression=218]=\"FunctionExpression\",e[e.ArrowFunction=219]=\"ArrowFunction\",e[e.DeleteExpression=220]=\"DeleteExpression\",e[e.TypeOfExpression=221]=\"TypeOfExpression\",e[e.VoidExpression=222]=\"VoidExpression\",e[e.AwaitExpression=223]=\"AwaitExpression\",e[e.PrefixUnaryExpression=224]=\"PrefixUnaryExpression\",e[e.PostfixUnaryExpression=225]=\"PostfixUnaryExpression\",e[e.BinaryExpression=226]=\"BinaryExpression\",e[e.ConditionalExpression=227]=\"ConditionalExpression\",e[e.TemplateExpression=228]=\"TemplateExpression\",e[e.YieldExpression=229]=\"YieldExpression\",e[e.SpreadElement=230]=\"SpreadElement\",e[e.ClassExpression=231]=\"ClassExpression\",e[e.OmittedExpression=232]=\"OmittedExpression\",e[e.ExpressionWithTypeArguments=233]=\"ExpressionWithTypeArguments\",e[e.AsExpression=234]=\"AsExpression\",e[e.NonNullExpression=235]=\"NonNullExpression\",e[e.MetaProperty=236]=\"MetaProperty\",e[e.SyntheticExpression=237]=\"SyntheticExpression\",e[e.SatisfiesExpression=238]=\"SatisfiesExpression\",e[e.TemplateSpan=239]=\"TemplateSpan\",e[e.SemicolonClassElement=240]=\"SemicolonClassElement\",e[e.Block=241]=\"Block\",e[e.EmptyStatement=242]=\"EmptyStatement\",e[e.VariableStatement=243]=\"VariableStatement\",e[e.ExpressionStatement=244]=\"ExpressionStatement\",e[e.IfStatement=245]=\"IfStatement\",e[e.DoStatement=246]=\"DoStatement\",e[e.WhileStatement=247]=\"WhileStatement\",e[e.ForStatement=248]=\"ForStatement\",e[e.ForInStatement=249]=\"ForInStatement\",e[e.ForOfStatement=250]=\"ForOfStatement\",e[e.ContinueStatement=251]=\"ContinueStatement\",e[e.BreakStatement=252]=\"BreakStatement\",e[e.ReturnStatement=253]=\"ReturnStatement\",e[e.WithStatement=254]=\"WithStatement\",e[e.SwitchStatement=255]=\"SwitchStatement\",e[e.LabeledStatement=256]=\"LabeledStatement\",e[e.ThrowStatement=257]=\"ThrowStatement\",e[e.TryStatement=258]=\"TryStatement\",e[e.DebuggerStatement=259]=\"DebuggerStatement\",e[e.VariableDeclaration=260]=\"VariableDeclaration\",e[e.VariableDeclarationList=261]=\"VariableDeclarationList\",e[e.FunctionDeclaration=262]=\"FunctionDeclaration\",e[e.ClassDeclaration=263]=\"ClassDeclaration\",e[e.InterfaceDeclaration=264]=\"InterfaceDeclaration\",e[e.TypeAliasDeclaration=265]=\"TypeAliasDeclaration\",e[e.EnumDeclaration=266]=\"EnumDeclaration\",e[e.ModuleDeclaration=267]=\"ModuleDeclaration\",e[e.ModuleBlock=268]=\"ModuleBlock\",e[e.CaseBlock=269]=\"CaseBlock\",e[e.NamespaceExportDeclaration=270]=\"NamespaceExportDeclaration\",e[e.ImportEqualsDeclaration=271]=\"ImportEqualsDeclaration\",e[e.ImportDeclaration=272]=\"ImportDeclaration\",e[e.ImportClause=273]=\"ImportClause\",e[e.NamespaceImport=274]=\"NamespaceImport\",e[e.NamedImports=275]=\"NamedImports\",e[e.ImportSpecifier=276]=\"ImportSpecifier\",e[e.ExportAssignment=277]=\"ExportAssignment\",e[e.ExportDeclaration=278]=\"ExportDeclaration\",e[e.NamedExports=279]=\"NamedExports\",e[e.NamespaceExport=280]=\"NamespaceExport\",e[e.ExportSpecifier=281]=\"ExportSpecifier\",e[e.MissingDeclaration=282]=\"MissingDeclaration\",e[e.ExternalModuleReference=283]=\"ExternalModuleReference\",e[e.JsxElement=284]=\"JsxElement\",e[e.JsxSelfClosingElement=285]=\"JsxSelfClosingElement\",e[e.JsxOpeningElement=286]=\"JsxOpeningElement\",e[e.JsxClosingElement=287]=\"JsxClosingElement\",e[e.JsxFragment=288]=\"JsxFragment\",e[e.JsxOpeningFragment=289]=\"JsxOpeningFragment\",e[e.JsxClosingFragment=290]=\"JsxClosingFragment\",e[e.JsxAttribute=291]=\"JsxAttribute\",e[e.JsxAttributes=292]=\"JsxAttributes\",e[e.JsxSpreadAttribute=293]=\"JsxSpreadAttribute\",e[e.JsxExpression=294]=\"JsxExpression\",e[e.JsxNamespacedName=295]=\"JsxNamespacedName\",e[e.CaseClause=296]=\"CaseClause\",e[e.DefaultClause=297]=\"DefaultClause\",e[e.HeritageClause=298]=\"HeritageClause\",e[e.CatchClause=299]=\"CatchClause\",e[e.ImportAttributes=300]=\"ImportAttributes\",e[e.ImportAttribute=301]=\"ImportAttribute\",e[e.AssertClause=300]=\"AssertClause\",e[e.AssertEntry=301]=\"AssertEntry\",e[e.ImportTypeAssertionContainer=302]=\"ImportTypeAssertionContainer\",e[e.PropertyAssignment=303]=\"PropertyAssignment\",e[e.ShorthandPropertyAssignment=304]=\"ShorthandPropertyAssignment\",e[e.SpreadAssignment=305]=\"SpreadAssignment\",e[e.EnumMember=306]=\"EnumMember\",e[e.UnparsedPrologue=307]=\"UnparsedPrologue\",e[e.UnparsedPrepend=308]=\"UnparsedPrepend\",e[e.UnparsedText=309]=\"UnparsedText\",e[e.UnparsedInternalText=310]=\"UnparsedInternalText\",e[e.UnparsedSyntheticReference=311]=\"UnparsedSyntheticReference\",e[e.SourceFile=312]=\"SourceFile\",e[e.Bundle=313]=\"Bundle\",e[e.UnparsedSource=314]=\"UnparsedSource\",e[e.InputFiles=315]=\"InputFiles\",e[e.JSDocTypeExpression=316]=\"JSDocTypeExpression\",e[e.JSDocNameReference=317]=\"JSDocNameReference\",e[e.JSDocMemberName=318]=\"JSDocMemberName\",e[e.JSDocAllType=319]=\"JSDocAllType\",e[e.JSDocUnknownType=320]=\"JSDocUnknownType\",e[e.JSDocNullableType=321]=\"JSDocNullableType\",e[e.JSDocNonNullableType=322]=\"JSDocNonNullableType\",e[e.JSDocOptionalType=323]=\"JSDocOptionalType\",e[e.JSDocFunctionType=324]=\"JSDocFunctionType\",e[e.JSDocVariadicType=325]=\"JSDocVariadicType\",e[e.JSDocNamepathType=326]=\"JSDocNamepathType\",e[e.JSDoc=327]=\"JSDoc\",e[e.JSDocComment=327]=\"JSDocComment\",e[e.JSDocText=328]=\"JSDocText\",e[e.JSDocTypeLiteral=329]=\"JSDocTypeLiteral\",e[e.JSDocSignature=330]=\"JSDocSignature\",e[e.JSDocLink=331]=\"JSDocLink\",e[e.JSDocLinkCode=332]=\"JSDocLinkCode\",e[e.JSDocLinkPlain=333]=\"JSDocLinkPlain\",e[e.JSDocTag=334]=\"JSDocTag\",e[e.JSDocAugmentsTag=335]=\"JSDocAugmentsTag\",e[e.JSDocImplementsTag=336]=\"JSDocImplementsTag\",e[e.JSDocAuthorTag=337]=\"JSDocAuthorTag\",e[e.JSDocDeprecatedTag=338]=\"JSDocDeprecatedTag\",e[e.JSDocClassTag=339]=\"JSDocClassTag\",e[e.JSDocPublicTag=340]=\"JSDocPublicTag\",e[e.JSDocPrivateTag=341]=\"JSDocPrivateTag\",e[e.JSDocProtectedTag=342]=\"JSDocProtectedTag\",e[e.JSDocReadonlyTag=343]=\"JSDocReadonlyTag\",e[e.JSDocOverrideTag=344]=\"JSDocOverrideTag\",e[e.JSDocCallbackTag=345]=\"JSDocCallbackTag\",e[e.JSDocOverloadTag=346]=\"JSDocOverloadTag\",e[e.JSDocEnumTag=347]=\"JSDocEnumTag\",e[e.JSDocParameterTag=348]=\"JSDocParameterTag\",e[e.JSDocReturnTag=349]=\"JSDocReturnTag\",e[e.JSDocThisTag=350]=\"JSDocThisTag\",e[e.JSDocTypeTag=351]=\"JSDocTypeTag\",e[e.JSDocTemplateTag=352]=\"JSDocTemplateTag\",e[e.JSDocTypedefTag=353]=\"JSDocTypedefTag\",e[e.JSDocSeeTag=354]=\"JSDocSeeTag\",e[e.JSDocPropertyTag=355]=\"JSDocPropertyTag\",e[e.JSDocThrowsTag=356]=\"JSDocThrowsTag\",e[e.JSDocSatisfiesTag=357]=\"JSDocSatisfiesTag\",e[e.SyntaxList=358]=\"SyntaxList\",e[e.NotEmittedStatement=359]=\"NotEmittedStatement\",e[e.PartiallyEmittedExpression=360]=\"PartiallyEmittedExpression\",e[e.CommaListExpression=361]=\"CommaListExpression\",e[e.SyntheticReferenceExpression=362]=\"SyntheticReferenceExpression\",e[e.Count=363]=\"Count\",e[e.FirstAssignment=64]=\"FirstAssignment\",e[e.LastAssignment=79]=\"LastAssignment\",e[e.FirstCompoundAssignment=65]=\"FirstCompoundAssignment\",e[e.LastCompoundAssignment=79]=\"LastCompoundAssignment\",e[e.FirstReservedWord=83]=\"FirstReservedWord\",e[e.LastReservedWord=118]=\"LastReservedWord\",e[e.FirstKeyword=83]=\"FirstKeyword\",e[e.LastKeyword=165]=\"LastKeyword\",e[e.FirstFutureReservedWord=119]=\"FirstFutureReservedWord\",e[e.LastFutureReservedWord=127]=\"LastFutureReservedWord\",e[e.FirstTypeNode=182]=\"FirstTypeNode\",e[e.LastTypeNode=205]=\"LastTypeNode\",e[e.FirstPunctuation=19]=\"FirstPunctuation\",e[e.LastPunctuation=79]=\"LastPunctuation\",e[e.FirstToken=0]=\"FirstToken\",e[e.LastToken=165]=\"LastToken\",e[e.FirstTriviaToken=2]=\"FirstTriviaToken\",e[e.LastTriviaToken=7]=\"LastTriviaToken\",e[e.FirstLiteralToken=9]=\"FirstLiteralToken\",e[e.LastLiteralToken=15]=\"LastLiteralToken\",e[e.FirstTemplateToken=15]=\"FirstTemplateToken\",e[e.LastTemplateToken=18]=\"LastTemplateToken\",e[e.FirstBinaryOperator=30]=\"FirstBinaryOperator\",e[e.LastBinaryOperator=79]=\"LastBinaryOperator\",e[e.FirstStatement=243]=\"FirstStatement\",e[e.LastStatement=259]=\"LastStatement\",e[e.FirstNode=166]=\"FirstNode\",e[e.FirstJSDocNode=316]=\"FirstJSDocNode\",e[e.LastJSDocNode=357]=\"LastJSDocNode\",e[e.FirstJSDocTagNode=334]=\"FirstJSDocTagNode\",e[e.LastJSDocTagNode=357]=\"LastJSDocTagNode\",e[e.FirstContextualKeyword=128]=\"FirstContextualKeyword\",e[e.LastContextualKeyword=165]=\"LastContextualKeyword\",e))(o8||{}),a8=(e=>(e[e.None=0]=\"None\",e[e.Let=1]=\"Let\",e[e.Const=2]=\"Const\",e[e.Using=4]=\"Using\",e[e.AwaitUsing=6]=\"AwaitUsing\",e[e.NestedNamespace=8]=\"NestedNamespace\",e[e.Synthesized=16]=\"Synthesized\",e[e.Namespace=32]=\"Namespace\",e[e.OptionalChain=64]=\"OptionalChain\",e[e.ExportContext=128]=\"ExportContext\",e[e.ContainsThis=256]=\"ContainsThis\",e[e.HasImplicitReturn=512]=\"HasImplicitReturn\",e[e.HasExplicitReturn=1024]=\"HasExplicitReturn\",e[e.GlobalAugmentation=2048]=\"GlobalAugmentation\",e[e.HasAsyncFunctions=4096]=\"HasAsyncFunctions\",e[e.DisallowInContext=8192]=\"DisallowInContext\",e[e.YieldContext=16384]=\"YieldContext\",e[e.DecoratorContext=32768]=\"DecoratorContext\",e[e.AwaitContext=65536]=\"AwaitContext\",e[e.DisallowConditionalTypesContext=131072]=\"DisallowConditionalTypesContext\",e[e.ThisNodeHasError=262144]=\"ThisNodeHasError\",e[e.JavaScriptFile=524288]=\"JavaScriptFile\",e[e.ThisNodeOrAnySubNodesHasError=1048576]=\"ThisNodeOrAnySubNodesHasError\",e[e.HasAggregatedChildData=2097152]=\"HasAggregatedChildData\",e[e.PossiblyContainsDynamicImport=4194304]=\"PossiblyContainsDynamicImport\",e[e.PossiblyContainsImportMeta=8388608]=\"PossiblyContainsImportMeta\",e[e.JSDoc=16777216]=\"JSDoc\",e[e.Ambient=33554432]=\"Ambient\",e[e.InWithStatement=67108864]=\"InWithStatement\",e[e.JsonFile=134217728]=\"JsonFile\",e[e.TypeCached=268435456]=\"TypeCached\",e[e.Deprecated=536870912]=\"Deprecated\",e[e.BlockScoped=7]=\"BlockScoped\",e[e.Constant=6]=\"Constant\",e[e.ReachabilityCheckFlags=1536]=\"ReachabilityCheckFlags\",e[e.ReachabilityAndEmitFlags=5632]=\"ReachabilityAndEmitFlags\",e[e.ContextFlags=101441536]=\"ContextFlags\",e[e.TypeExcludesFlags=81920]=\"TypeExcludesFlags\",e[e.PermanentlySetIncrementalFlags=12582912]=\"PermanentlySetIncrementalFlags\",e[e.IdentifierHasExtendedUnicodeEscape=256]=\"IdentifierHasExtendedUnicodeEscape\",e[e.IdentifierIsInJSDocNamespace=4096]=\"IdentifierIsInJSDocNamespace\",e))(a8||{}),s8=(e=>(e[e.None=0]=\"None\",e[e.Public=1]=\"Public\",e[e.Private=2]=\"Private\",e[e.Protected=4]=\"Protected\",e[e.Readonly=8]=\"Readonly\",e[e.Override=16]=\"Override\",e[e.Export=32]=\"Export\",e[e.Abstract=64]=\"Abstract\",e[e.Ambient=128]=\"Ambient\",e[e.Static=256]=\"Static\",e[e.Accessor=512]=\"Accessor\",e[e.Async=1024]=\"Async\",e[e.Default=2048]=\"Default\",e[e.Const=4096]=\"Const\",e[e.In=8192]=\"In\",e[e.Out=16384]=\"Out\",e[e.Decorator=32768]=\"Decorator\",e[e.Deprecated=65536]=\"Deprecated\",e[e.JSDocPublic=8388608]=\"JSDocPublic\",e[e.JSDocPrivate=16777216]=\"JSDocPrivate\",e[e.JSDocProtected=33554432]=\"JSDocProtected\",e[e.JSDocReadonly=67108864]=\"JSDocReadonly\",e[e.JSDocOverride=134217728]=\"JSDocOverride\",e[e.SyntacticOrJSDocModifiers=31]=\"SyntacticOrJSDocModifiers\",e[e.SyntacticOnlyModifiers=65504]=\"SyntacticOnlyModifiers\",e[e.SyntacticModifiers=65535]=\"SyntacticModifiers\",e[e.JSDocCacheOnlyModifiers=260046848]=\"JSDocCacheOnlyModifiers\",e[e.JSDocOnlyModifiers=65536]=\"JSDocOnlyModifiers\",e[e.NonCacheOnlyModifiers=131071]=\"NonCacheOnlyModifiers\",e[e.HasComputedJSDocModifiers=268435456]=\"HasComputedJSDocModifiers\",e[e.HasComputedFlags=536870912]=\"HasComputedFlags\",e[e.AccessibilityModifier=7]=\"AccessibilityModifier\",e[e.ParameterPropertyModifier=31]=\"ParameterPropertyModifier\",e[e.NonPublicAccessibilityModifier=6]=\"NonPublicAccessibilityModifier\",e[e.TypeScriptModifier=28895]=\"TypeScriptModifier\",e[e.ExportDefault=2080]=\"ExportDefault\",e[e.All=131071]=\"All\",e[e.Modifier=98303]=\"Modifier\",e))(s8||{}),TB=(e=>(e[e.None=0]=\"None\",e[e.IntrinsicNamedElement=1]=\"IntrinsicNamedElement\",e[e.IntrinsicIndexedElement=2]=\"IntrinsicIndexedElement\",e[e.IntrinsicElement=3]=\"IntrinsicElement\",e))(TB||{}),l8=(e=>(e[e.None=0]=\"None\",e[e.Succeeded=1]=\"Succeeded\",e[e.Failed=2]=\"Failed\",e[e.Reported=4]=\"Reported\",e[e.ReportsUnmeasurable=8]=\"ReportsUnmeasurable\",e[e.ReportsUnreliable=16]=\"ReportsUnreliable\",e[e.ReportsMask=24]=\"ReportsMask\",e))(l8||{}),c8=(e=>(e[e.None=0]=\"None\",e[e.Auto=1]=\"Auto\",e[e.Loop=2]=\"Loop\",e[e.Unique=3]=\"Unique\",e[e.Node=4]=\"Node\",e[e.KindMask=7]=\"KindMask\",e[e.ReservedInNestedScopes=8]=\"ReservedInNestedScopes\",e[e.Optimistic=16]=\"Optimistic\",e[e.FileLevel=32]=\"FileLevel\",e[e.AllowNameSubstitution=64]=\"AllowNameSubstitution\",e))(c8||{}),AB=(e=>(e[e.None=0]=\"None\",e[e.PrecedingLineBreak=1]=\"PrecedingLineBreak\",e[e.PrecedingJSDocComment=2]=\"PrecedingJSDocComment\",e[e.Unterminated=4]=\"Unterminated\",e[e.ExtendedUnicodeEscape=8]=\"ExtendedUnicodeEscape\",e[e.Scientific=16]=\"Scientific\",e[e.Octal=32]=\"Octal\",e[e.HexSpecifier=64]=\"HexSpecifier\",e[e.BinarySpecifier=128]=\"BinarySpecifier\",e[e.OctalSpecifier=256]=\"OctalSpecifier\",e[e.ContainsSeparator=512]=\"ContainsSeparator\",e[e.UnicodeEscape=1024]=\"UnicodeEscape\",e[e.ContainsInvalidEscape=2048]=\"ContainsInvalidEscape\",e[e.HexEscape=4096]=\"HexEscape\",e[e.ContainsLeadingZero=8192]=\"ContainsLeadingZero\",e[e.ContainsInvalidSeparator=16384]=\"ContainsInvalidSeparator\",e[e.BinaryOrOctalSpecifier=384]=\"BinaryOrOctalSpecifier\",e[e.WithSpecifier=448]=\"WithSpecifier\",e[e.StringLiteralFlags=7176]=\"StringLiteralFlags\",e[e.NumericLiteralFlags=25584]=\"NumericLiteralFlags\",e[e.TemplateLiteralLikeFlags=7176]=\"TemplateLiteralLikeFlags\",e[e.IsInvalid=26656]=\"IsInvalid\",e))(AB||{}),yM=(e=>(e[e.Unreachable=1]=\"Unreachable\",e[e.Start=2]=\"Start\",e[e.BranchLabel=4]=\"BranchLabel\",e[e.LoopLabel=8]=\"LoopLabel\",e[e.Assignment=16]=\"Assignment\",e[e.TrueCondition=32]=\"TrueCondition\",e[e.FalseCondition=64]=\"FalseCondition\",e[e.SwitchClause=128]=\"SwitchClause\",e[e.ArrayMutation=256]=\"ArrayMutation\",e[e.Call=512]=\"Call\",e[e.ReduceLabel=1024]=\"ReduceLabel\",e[e.Referenced=2048]=\"Referenced\",e[e.Shared=4096]=\"Shared\",e[e.Label=12]=\"Label\",e[e.Condition=96]=\"Condition\",e))(yM||{}),IB=(e=>(e[e.ExpectError=0]=\"ExpectError\",e[e.Ignore=1]=\"Ignore\",e))(IB||{}),k1=class{},d8=(e=>(e[e.RootFile=0]=\"RootFile\",e[e.SourceFromProjectReference=1]=\"SourceFromProjectReference\",e[e.OutputFromProjectReference=2]=\"OutputFromProjectReference\",e[e.Import=3]=\"Import\",e[e.ReferenceFile=4]=\"ReferenceFile\",e[e.TypeReferenceDirective=5]=\"TypeReferenceDirective\",e[e.LibFile=6]=\"LibFile\",e[e.LibReferenceDirective=7]=\"LibReferenceDirective\",e[e.AutomaticTypeDirectiveFile=8]=\"AutomaticTypeDirectiveFile\",e))(d8||{}),xB=(e=>(e[e.FilePreprocessingReferencedDiagnostic=0]=\"FilePreprocessingReferencedDiagnostic\",e[e.FilePreprocessingFileExplainingDiagnostic=1]=\"FilePreprocessingFileExplainingDiagnostic\",e[e.ResolutionDiagnostics=2]=\"ResolutionDiagnostics\",e))(xB||{}),RB=(e=>(e[e.Js=0]=\"Js\",e[e.Dts=1]=\"Dts\",e))(RB||{}),u8=(e=>(e[e.Not=0]=\"Not\",e[e.SafeModules=1]=\"SafeModules\",e[e.Completely=2]=\"Completely\",e))(u8||{}),DB=(e=>(e[e.Success=0]=\"Success\",e[e.DiagnosticsPresent_OutputsSkipped=1]=\"DiagnosticsPresent_OutputsSkipped\",e[e.DiagnosticsPresent_OutputsGenerated=2]=\"DiagnosticsPresent_OutputsGenerated\",e[e.InvalidProject_OutputsSkipped=3]=\"InvalidProject_OutputsSkipped\",e[e.ProjectReferenceCycle_OutputsSkipped=4]=\"ProjectReferenceCycle_OutputsSkipped\",e))(DB||{}),CB=(e=>(e[e.Ok=0]=\"Ok\",e[e.NeedsOverride=1]=\"NeedsOverride\",e[e.HasInvalidOverride=2]=\"HasInvalidOverride\",e))(CB||{}),NB=(e=>(e[e.None=0]=\"None\",e[e.Literal=1]=\"Literal\",e[e.Subtype=2]=\"Subtype\",e))(NB||{}),PB=(e=>(e[e.None=0]=\"None\",e[e.Signature=1]=\"Signature\",e[e.NoConstraints=2]=\"NoConstraints\",e[e.Completions=4]=\"Completions\",e[e.SkipBindingPatterns=8]=\"SkipBindingPatterns\",e))(PB||{}),MB=(e=>(e[e.None=0]=\"None\",e[e.NoTruncation=1]=\"NoTruncation\",e[e.WriteArrayAsGenericType=2]=\"WriteArrayAsGenericType\",e[e.GenerateNamesForShadowedTypeParams=4]=\"GenerateNamesForShadowedTypeParams\",e[e.UseStructuralFallback=8]=\"UseStructuralFallback\",e[e.ForbidIndexedAccessSymbolReferences=16]=\"ForbidIndexedAccessSymbolReferences\",e[e.WriteTypeArgumentsOfSignature=32]=\"WriteTypeArgumentsOfSignature\",e[e.UseFullyQualifiedType=64]=\"UseFullyQualifiedType\",e[e.UseOnlyExternalAliasing=128]=\"UseOnlyExternalAliasing\",e[e.SuppressAnyReturnType=256]=\"SuppressAnyReturnType\",e[e.WriteTypeParametersInQualifiedName=512]=\"WriteTypeParametersInQualifiedName\",e[e.MultilineObjectLiterals=1024]=\"MultilineObjectLiterals\",e[e.WriteClassExpressionAsTypeLiteral=2048]=\"WriteClassExpressionAsTypeLiteral\",e[e.UseTypeOfFunction=4096]=\"UseTypeOfFunction\",e[e.OmitParameterModifiers=8192]=\"OmitParameterModifiers\",e[e.UseAliasDefinedOutsideCurrentScope=16384]=\"UseAliasDefinedOutsideCurrentScope\",e[e.UseSingleQuotesForStringLiteralType=268435456]=\"UseSingleQuotesForStringLiteralType\",e[e.NoTypeReduction=536870912]=\"NoTypeReduction\",e[e.OmitThisParameter=33554432]=\"OmitThisParameter\",e[e.AllowThisInObjectLiteral=32768]=\"AllowThisInObjectLiteral\",e[e.AllowQualifiedNameInPlaceOfIdentifier=65536]=\"AllowQualifiedNameInPlaceOfIdentifier\",e[e.AllowAnonymousIdentifier=131072]=\"AllowAnonymousIdentifier\",e[e.AllowEmptyUnionOrIntersection=262144]=\"AllowEmptyUnionOrIntersection\",e[e.AllowEmptyTuple=524288]=\"AllowEmptyTuple\",e[e.AllowUniqueESSymbolType=1048576]=\"AllowUniqueESSymbolType\",e[e.AllowEmptyIndexInfoType=2097152]=\"AllowEmptyIndexInfoType\",e[e.WriteComputedProps=1073741824]=\"WriteComputedProps\",e[e.AllowNodeModulesRelativePaths=67108864]=\"AllowNodeModulesRelativePaths\",e[e.DoNotIncludeSymbolChain=134217728]=\"DoNotIncludeSymbolChain\",e[e.IgnoreErrors=70221824]=\"IgnoreErrors\",e[e.InObjectTypeLiteral=4194304]=\"InObjectTypeLiteral\",e[e.InTypeAlias=8388608]=\"InTypeAlias\",e[e.InInitialEntityName=16777216]=\"InInitialEntityName\",e))(MB||{}),LB=(e=>(e[e.None=0]=\"None\",e[e.NoTruncation=1]=\"NoTruncation\",e[e.WriteArrayAsGenericType=2]=\"WriteArrayAsGenericType\",e[e.GenerateNamesForShadowedTypeParams=4]=\"GenerateNamesForShadowedTypeParams\",e[e.UseStructuralFallback=8]=\"UseStructuralFallback\",e[e.WriteTypeArgumentsOfSignature=32]=\"WriteTypeArgumentsOfSignature\",e[e.UseFullyQualifiedType=64]=\"UseFullyQualifiedType\",e[e.SuppressAnyReturnType=256]=\"SuppressAnyReturnType\",e[e.MultilineObjectLiterals=1024]=\"MultilineObjectLiterals\",e[e.WriteClassExpressionAsTypeLiteral=2048]=\"WriteClassExpressionAsTypeLiteral\",e[e.UseTypeOfFunction=4096]=\"UseTypeOfFunction\",e[e.OmitParameterModifiers=8192]=\"OmitParameterModifiers\",e[e.UseAliasDefinedOutsideCurrentScope=16384]=\"UseAliasDefinedOutsideCurrentScope\",e[e.UseSingleQuotesForStringLiteralType=268435456]=\"UseSingleQuotesForStringLiteralType\",e[e.NoTypeReduction=536870912]=\"NoTypeReduction\",e[e.OmitThisParameter=33554432]=\"OmitThisParameter\",e[e.AllowUniqueESSymbolType=1048576]=\"AllowUniqueESSymbolType\",e[e.AddUndefined=131072]=\"AddUndefined\",e[e.WriteArrowStyleSignature=262144]=\"WriteArrowStyleSignature\",e[e.InArrayType=524288]=\"InArrayType\",e[e.InElementType=2097152]=\"InElementType\",e[e.InFirstTypeArgument=4194304]=\"InFirstTypeArgument\",e[e.InTypeAlias=8388608]=\"InTypeAlias\",e[e.NodeBuilderFlagsMask=848330095]=\"NodeBuilderFlagsMask\",e))(LB||{}),kB=(e=>(e[e.None=0]=\"None\",e[e.WriteTypeParametersOrArguments=1]=\"WriteTypeParametersOrArguments\",e[e.UseOnlyExternalAliasing=2]=\"UseOnlyExternalAliasing\",e[e.AllowAnyNodeKind=4]=\"AllowAnyNodeKind\",e[e.UseAliasDefinedOutsideCurrentScope=8]=\"UseAliasDefinedOutsideCurrentScope\",e[e.WriteComputedProps=16]=\"WriteComputedProps\",e[e.DoNotIncludeSymbolChain=32]=\"DoNotIncludeSymbolChain\",e))(kB||{}),OB=(e=>(e[e.Accessible=0]=\"Accessible\",e[e.NotAccessible=1]=\"NotAccessible\",e[e.CannotBeNamed=2]=\"CannotBeNamed\",e))(OB||{}),wB=(e=>(e[e.UnionOrIntersection=0]=\"UnionOrIntersection\",e[e.Spread=1]=\"Spread\",e))(wB||{}),WB=(e=>(e[e.This=0]=\"This\",e[e.Identifier=1]=\"Identifier\",e[e.AssertsThis=2]=\"AssertsThis\",e[e.AssertsIdentifier=3]=\"AssertsIdentifier\",e))(WB||{}),FB=(e=>(e[e.Unknown=0]=\"Unknown\",e[e.TypeWithConstructSignatureAndValue=1]=\"TypeWithConstructSignatureAndValue\",e[e.VoidNullableOrNeverType=2]=\"VoidNullableOrNeverType\",e[e.NumberLikeType=3]=\"NumberLikeType\",e[e.BigIntLikeType=4]=\"BigIntLikeType\",e[e.StringLikeType=5]=\"StringLikeType\",e[e.BooleanType=6]=\"BooleanType\",e[e.ArrayLikeType=7]=\"ArrayLikeType\",e[e.ESSymbolType=8]=\"ESSymbolType\",e[e.Promise=9]=\"Promise\",e[e.TypeWithCallSignature=10]=\"TypeWithCallSignature\",e[e.ObjectType=11]=\"ObjectType\",e))(FB||{}),p8=(e=>(e[e.None=0]=\"None\",e[e.FunctionScopedVariable=1]=\"FunctionScopedVariable\",e[e.BlockScopedVariable=2]=\"BlockScopedVariable\",e[e.Property=4]=\"Property\",e[e.EnumMember=8]=\"EnumMember\",e[e.Function=16]=\"Function\",e[e.Class=32]=\"Class\",e[e.Interface=64]=\"Interface\",e[e.ConstEnum=128]=\"ConstEnum\",e[e.RegularEnum=256]=\"RegularEnum\",e[e.ValueModule=512]=\"ValueModule\",e[e.NamespaceModule=1024]=\"NamespaceModule\",e[e.TypeLiteral=2048]=\"TypeLiteral\",e[e.ObjectLiteral=4096]=\"ObjectLiteral\",e[e.Method=8192]=\"Method\",e[e.Constructor=16384]=\"Constructor\",e[e.GetAccessor=32768]=\"GetAccessor\",e[e.SetAccessor=65536]=\"SetAccessor\",e[e.Signature=131072]=\"Signature\",e[e.TypeParameter=262144]=\"TypeParameter\",e[e.TypeAlias=524288]=\"TypeAlias\",e[e.ExportValue=1048576]=\"ExportValue\",e[e.Alias=2097152]=\"Alias\",e[e.Prototype=4194304]=\"Prototype\",e[e.ExportStar=8388608]=\"ExportStar\",e[e.Optional=16777216]=\"Optional\",e[e.Transient=33554432]=\"Transient\",e[e.Assignment=67108864]=\"Assignment\",e[e.ModuleExports=134217728]=\"ModuleExports\",e[e.All=-1]=\"All\",e[e.Enum=384]=\"Enum\",e[e.Variable=3]=\"Variable\",e[e.Value=111551]=\"Value\",e[e.Type=788968]=\"Type\",e[e.Namespace=1920]=\"Namespace\",e[e.Module=1536]=\"Module\",e[e.Accessor=98304]=\"Accessor\",e[e.FunctionScopedVariableExcludes=111550]=\"FunctionScopedVariableExcludes\",e[e.BlockScopedVariableExcludes=111551]=\"BlockScopedVariableExcludes\",e[e.ParameterExcludes=111551]=\"ParameterExcludes\",e[e.PropertyExcludes=0]=\"PropertyExcludes\",e[e.EnumMemberExcludes=900095]=\"EnumMemberExcludes\",e[e.FunctionExcludes=110991]=\"FunctionExcludes\",e[e.ClassExcludes=899503]=\"ClassExcludes\",e[e.InterfaceExcludes=788872]=\"InterfaceExcludes\",e[e.RegularEnumExcludes=899327]=\"RegularEnumExcludes\",e[e.ConstEnumExcludes=899967]=\"ConstEnumExcludes\",e[e.ValueModuleExcludes=110735]=\"ValueModuleExcludes\",e[e.NamespaceModuleExcludes=0]=\"NamespaceModuleExcludes\",e[e.MethodExcludes=103359]=\"MethodExcludes\",e[e.GetAccessorExcludes=46015]=\"GetAccessorExcludes\",e[e.SetAccessorExcludes=78783]=\"SetAccessorExcludes\",e[e.AccessorExcludes=13247]=\"AccessorExcludes\",e[e.TypeParameterExcludes=526824]=\"TypeParameterExcludes\",e[e.TypeAliasExcludes=788968]=\"TypeAliasExcludes\",e[e.AliasExcludes=2097152]=\"AliasExcludes\",e[e.ModuleMember=2623475]=\"ModuleMember\",e[e.ExportHasLocal=944]=\"ExportHasLocal\",e[e.BlockScoped=418]=\"BlockScoped\",e[e.PropertyOrAccessor=98308]=\"PropertyOrAccessor\",e[e.ClassMember=106500]=\"ClassMember\",e[e.ExportSupportsDefaultModifier=112]=\"ExportSupportsDefaultModifier\",e[e.ExportDoesNotSupportDefaultModifier=-113]=\"ExportDoesNotSupportDefaultModifier\",e[e.Classifiable=2885600]=\"Classifiable\",e[e.LateBindingContainer=6256]=\"LateBindingContainer\",e))(p8||{}),zB=(e=>(e[e.Numeric=0]=\"Numeric\",e[e.Literal=1]=\"Literal\",e))(zB||{}),BB=(e=>(e[e.None=0]=\"None\",e[e.Instantiated=1]=\"Instantiated\",e[e.SyntheticProperty=2]=\"SyntheticProperty\",e[e.SyntheticMethod=4]=\"SyntheticMethod\",e[e.Readonly=8]=\"Readonly\",e[e.ReadPartial=16]=\"ReadPartial\",e[e.WritePartial=32]=\"WritePartial\",e[e.HasNonUniformType=64]=\"HasNonUniformType\",e[e.HasLiteralType=128]=\"HasLiteralType\",e[e.ContainsPublic=256]=\"ContainsPublic\",e[e.ContainsProtected=512]=\"ContainsProtected\",e[e.ContainsPrivate=1024]=\"ContainsPrivate\",e[e.ContainsStatic=2048]=\"ContainsStatic\",e[e.Late=4096]=\"Late\",e[e.ReverseMapped=8192]=\"ReverseMapped\",e[e.OptionalParameter=16384]=\"OptionalParameter\",e[e.RestParameter=32768]=\"RestParameter\",e[e.DeferredType=65536]=\"DeferredType\",e[e.HasNeverType=131072]=\"HasNeverType\",e[e.Mapped=262144]=\"Mapped\",e[e.StripOptional=524288]=\"StripOptional\",e[e.Unresolved=1048576]=\"Unresolved\",e[e.Synthetic=6]=\"Synthetic\",e[e.Discriminant=192]=\"Discriminant\",e[e.Partial=48]=\"Partial\",e))(BB||{}),GB=(e=>(e.Call=\"__call\",e.Constructor=\"__constructor\",e.New=\"__new\",e.Index=\"__index\",e.ExportStar=\"__export\",e.Global=\"__global\",e.Missing=\"__missing\",e.Type=\"__type\",e.Object=\"__object\",e.JSXAttributes=\"__jsxAttributes\",e.Class=\"__class\",e.Function=\"__function\",e.Computed=\"__computed\",e.Resolving=\"__resolving__\",e.ExportEquals=\"export=\",e.Default=\"default\",e.This=\"this\",e.InstantiationExpression=\"__instantiationExpression\",e.ImportAttributes=\"__importAttributes\",e))(GB||{}),VB=(e=>(e[e.None=0]=\"None\",e[e.TypeChecked=1]=\"TypeChecked\",e[e.LexicalThis=2]=\"LexicalThis\",e[e.CaptureThis=4]=\"CaptureThis\",e[e.CaptureNewTarget=8]=\"CaptureNewTarget\",e[e.SuperInstance=16]=\"SuperInstance\",e[e.SuperStatic=32]=\"SuperStatic\",e[e.ContextChecked=64]=\"ContextChecked\",e[e.MethodWithSuperPropertyAccessInAsync=128]=\"MethodWithSuperPropertyAccessInAsync\",e[e.MethodWithSuperPropertyAssignmentInAsync=256]=\"MethodWithSuperPropertyAssignmentInAsync\",e[e.CaptureArguments=512]=\"CaptureArguments\",e[e.EnumValuesComputed=1024]=\"EnumValuesComputed\",e[e.LexicalModuleMergesWithClass=2048]=\"LexicalModuleMergesWithClass\",e[e.LoopWithCapturedBlockScopedBinding=4096]=\"LoopWithCapturedBlockScopedBinding\",e[e.ContainsCapturedBlockScopeBinding=8192]=\"ContainsCapturedBlockScopeBinding\",e[e.CapturedBlockScopedBinding=16384]=\"CapturedBlockScopedBinding\",e[e.BlockScopedBindingInLoop=32768]=\"BlockScopedBindingInLoop\",e[e.NeedsLoopOutParameter=65536]=\"NeedsLoopOutParameter\",e[e.AssignmentsMarked=131072]=\"AssignmentsMarked\",e[e.ContainsConstructorReference=262144]=\"ContainsConstructorReference\",e[e.ConstructorReference=536870912]=\"ConstructorReference\",e[e.ContainsClassWithPrivateIdentifiers=1048576]=\"ContainsClassWithPrivateIdentifiers\",e[e.ContainsSuperPropertyInStaticInitializer=2097152]=\"ContainsSuperPropertyInStaticInitializer\",e[e.InCheckIdentifier=4194304]=\"InCheckIdentifier\",e))(VB||{}),f8=(e=>(e[e.Any=1]=\"Any\",e[e.Unknown=2]=\"Unknown\",e[e.String=4]=\"String\",e[e.Number=8]=\"Number\",e[e.Boolean=16]=\"Boolean\",e[e.Enum=32]=\"Enum\",e[e.BigInt=64]=\"BigInt\",e[e.StringLiteral=128]=\"StringLiteral\",e[e.NumberLiteral=256]=\"NumberLiteral\",e[e.BooleanLiteral=512]=\"BooleanLiteral\",e[e.EnumLiteral=1024]=\"EnumLiteral\",e[e.BigIntLiteral=2048]=\"BigIntLiteral\",e[e.ESSymbol=4096]=\"ESSymbol\",e[e.UniqueESSymbol=8192]=\"UniqueESSymbol\",e[e.Void=16384]=\"Void\",e[e.Undefined=32768]=\"Undefined\",e[e.Null=65536]=\"Null\",e[e.Never=131072]=\"Never\",e[e.TypeParameter=262144]=\"TypeParameter\",e[e.Object=524288]=\"Object\",e[e.Union=1048576]=\"Union\",e[e.Intersection=2097152]=\"Intersection\",e[e.Index=4194304]=\"Index\",e[e.IndexedAccess=8388608]=\"IndexedAccess\",e[e.Conditional=16777216]=\"Conditional\",e[e.Substitution=33554432]=\"Substitution\",e[e.NonPrimitive=67108864]=\"NonPrimitive\",e[e.TemplateLiteral=134217728]=\"TemplateLiteral\",e[e.StringMapping=268435456]=\"StringMapping\",e[e.Reserved1=536870912]=\"Reserved1\",e[e.AnyOrUnknown=3]=\"AnyOrUnknown\",e[e.Nullable=98304]=\"Nullable\",e[e.Literal=2944]=\"Literal\",e[e.Unit=109472]=\"Unit\",e[e.Freshable=2976]=\"Freshable\",e[e.StringOrNumberLiteral=384]=\"StringOrNumberLiteral\",e[e.StringOrNumberLiteralOrUnique=8576]=\"StringOrNumberLiteralOrUnique\",e[e.DefinitelyFalsy=117632]=\"DefinitelyFalsy\",e[e.PossiblyFalsy=117724]=\"PossiblyFalsy\",e[e.Intrinsic=67359327]=\"Intrinsic\",e[e.StringLike=402653316]=\"StringLike\",e[e.NumberLike=296]=\"NumberLike\",e[e.BigIntLike=2112]=\"BigIntLike\",e[e.BooleanLike=528]=\"BooleanLike\",e[e.EnumLike=1056]=\"EnumLike\",e[e.ESSymbolLike=12288]=\"ESSymbolLike\",e[e.VoidLike=49152]=\"VoidLike\",e[e.Primitive=402784252]=\"Primitive\",e[e.DefinitelyNonNullable=470302716]=\"DefinitelyNonNullable\",e[e.DisjointDomains=469892092]=\"DisjointDomains\",e[e.UnionOrIntersection=3145728]=\"UnionOrIntersection\",e[e.StructuredType=3670016]=\"StructuredType\",e[e.TypeVariable=8650752]=\"TypeVariable\",e[e.InstantiableNonPrimitive=58982400]=\"InstantiableNonPrimitive\",e[e.InstantiablePrimitive=406847488]=\"InstantiablePrimitive\",e[e.Instantiable=465829888]=\"Instantiable\",e[e.StructuredOrInstantiable=469499904]=\"StructuredOrInstantiable\",e[e.ObjectFlagsType=3899393]=\"ObjectFlagsType\",e[e.Simplifiable=25165824]=\"Simplifiable\",e[e.Singleton=67358815]=\"Singleton\",e[e.Narrowable=536624127]=\"Narrowable\",e[e.IncludesMask=473694207]=\"IncludesMask\",e[e.IncludesMissingType=262144]=\"IncludesMissingType\",e[e.IncludesNonWideningType=4194304]=\"IncludesNonWideningType\",e[e.IncludesWildcard=8388608]=\"IncludesWildcard\",e[e.IncludesEmptyObject=16777216]=\"IncludesEmptyObject\",e[e.IncludesInstantiable=33554432]=\"IncludesInstantiable\",e[e.IncludesConstrainedTypeVariable=536870912]=\"IncludesConstrainedTypeVariable\",e[e.NotPrimitiveUnion=36323331]=\"NotPrimitiveUnion\",e))(f8||{}),m8=(e=>(e[e.None=0]=\"None\",e[e.Class=1]=\"Class\",e[e.Interface=2]=\"Interface\",e[e.Reference=4]=\"Reference\",e[e.Tuple=8]=\"Tuple\",e[e.Anonymous=16]=\"Anonymous\",e[e.Mapped=32]=\"Mapped\",e[e.Instantiated=64]=\"Instantiated\",e[e.ObjectLiteral=128]=\"ObjectLiteral\",e[e.EvolvingArray=256]=\"EvolvingArray\",e[e.ObjectLiteralPatternWithComputedProperties=512]=\"ObjectLiteralPatternWithComputedProperties\",e[e.ReverseMapped=1024]=\"ReverseMapped\",e[e.JsxAttributes=2048]=\"JsxAttributes\",e[e.JSLiteral=4096]=\"JSLiteral\",e[e.FreshLiteral=8192]=\"FreshLiteral\",e[e.ArrayLiteral=16384]=\"ArrayLiteral\",e[e.PrimitiveUnion=32768]=\"PrimitiveUnion\",e[e.ContainsWideningType=65536]=\"ContainsWideningType\",e[e.ContainsObjectOrArrayLiteral=131072]=\"ContainsObjectOrArrayLiteral\",e[e.NonInferrableType=262144]=\"NonInferrableType\",e[e.CouldContainTypeVariablesComputed=524288]=\"CouldContainTypeVariablesComputed\",e[e.CouldContainTypeVariables=1048576]=\"CouldContainTypeVariables\",e[e.ClassOrInterface=3]=\"ClassOrInterface\",e[e.RequiresWidening=196608]=\"RequiresWidening\",e[e.PropagatingFlags=458752]=\"PropagatingFlags\",e[e.InstantiatedMapped=96]=\"InstantiatedMapped\",e[e.ObjectTypeKindMask=1343]=\"ObjectTypeKindMask\",e[e.ContainsSpread=2097152]=\"ContainsSpread\",e[e.ObjectRestType=4194304]=\"ObjectRestType\",e[e.InstantiationExpressionType=8388608]=\"InstantiationExpressionType\",e[e.IsClassInstanceClone=16777216]=\"IsClassInstanceClone\",e[e.IdenticalBaseTypeCalculated=33554432]=\"IdenticalBaseTypeCalculated\",e[e.IdenticalBaseTypeExists=67108864]=\"IdenticalBaseTypeExists\",e[e.IsGenericTypeComputed=2097152]=\"IsGenericTypeComputed\",e[e.IsGenericObjectType=4194304]=\"IsGenericObjectType\",e[e.IsGenericIndexType=8388608]=\"IsGenericIndexType\",e[e.IsGenericType=12582912]=\"IsGenericType\",e[e.ContainsIntersections=16777216]=\"ContainsIntersections\",e[e.IsUnknownLikeUnionComputed=33554432]=\"IsUnknownLikeUnionComputed\",e[e.IsUnknownLikeUnion=67108864]=\"IsUnknownLikeUnion\",e[e.IsNeverIntersectionComputed=16777216]=\"IsNeverIntersectionComputed\",e[e.IsNeverIntersection=33554432]=\"IsNeverIntersection\",e[e.IsConstrainedTypeVariable=67108864]=\"IsConstrainedTypeVariable\",e))(m8||{}),jB=(e=>(e[e.Invariant=0]=\"Invariant\",e[e.Covariant=1]=\"Covariant\",e[e.Contravariant=2]=\"Contravariant\",e[e.Bivariant=3]=\"Bivariant\",e[e.Independent=4]=\"Independent\",e[e.VarianceMask=7]=\"VarianceMask\",e[e.Unmeasurable=8]=\"Unmeasurable\",e[e.Unreliable=16]=\"Unreliable\",e[e.AllowsStructuralFallback=24]=\"AllowsStructuralFallback\",e))(jB||{}),UB=(e=>(e[e.Required=1]=\"Required\",e[e.Optional=2]=\"Optional\",e[e.Rest=4]=\"Rest\",e[e.Variadic=8]=\"Variadic\",e[e.Fixed=3]=\"Fixed\",e[e.Variable=12]=\"Variable\",e[e.NonRequired=14]=\"NonRequired\",e[e.NonRest=11]=\"NonRest\",e))(UB||{}),HB=(e=>(e[e.None=0]=\"None\",e[e.IncludeUndefined=1]=\"IncludeUndefined\",e[e.NoIndexSignatures=2]=\"NoIndexSignatures\",e[e.Writing=4]=\"Writing\",e[e.CacheSymbol=8]=\"CacheSymbol\",e[e.NoTupleBoundsCheck=16]=\"NoTupleBoundsCheck\",e[e.ExpressionPosition=32]=\"ExpressionPosition\",e[e.ReportDeprecated=64]=\"ReportDeprecated\",e[e.SuppressNoImplicitAnyError=128]=\"SuppressNoImplicitAnyError\",e[e.Contextual=256]=\"Contextual\",e[e.Persistent=1]=\"Persistent\",e))(HB||{}),qB=(e=>(e[e.None=0]=\"None\",e[e.StringsOnly=1]=\"StringsOnly\",e[e.NoIndexSignatures=2]=\"NoIndexSignatures\",e[e.NoReducibleCheck=4]=\"NoReducibleCheck\",e))(qB||{}),JB=(e=>(e[e.Component=0]=\"Component\",e[e.Function=1]=\"Function\",e[e.Mixed=2]=\"Mixed\",e))(JB||{}),KB=(e=>(e[e.Call=0]=\"Call\",e[e.Construct=1]=\"Construct\",e))(KB||{}),_8=(e=>(e[e.None=0]=\"None\",e[e.HasRestParameter=1]=\"HasRestParameter\",e[e.HasLiteralTypes=2]=\"HasLiteralTypes\",e[e.Abstract=4]=\"Abstract\",e[e.IsInnerCallChain=8]=\"IsInnerCallChain\",e[e.IsOuterCallChain=16]=\"IsOuterCallChain\",e[e.IsUntypedSignatureInJSFile=32]=\"IsUntypedSignatureInJSFile\",e[e.IsNonInferrable=64]=\"IsNonInferrable\",e[e.IsSignatureCandidateForOverloadFailure=128]=\"IsSignatureCandidateForOverloadFailure\",e[e.PropagatingFlags=167]=\"PropagatingFlags\",e[e.CallChainFlags=24]=\"CallChainFlags\",e))(_8||{}),XB=(e=>(e[e.String=0]=\"String\",e[e.Number=1]=\"Number\",e))(XB||{}),YB=(e=>(e[e.Simple=0]=\"Simple\",e[e.Array=1]=\"Array\",e[e.Deferred=2]=\"Deferred\",e[e.Function=3]=\"Function\",e[e.Composite=4]=\"Composite\",e[e.Merged=5]=\"Merged\",e))(YB||{}),$B=(e=>(e[e.None=0]=\"None\",e[e.NakedTypeVariable=1]=\"NakedTypeVariable\",e[e.SpeculativeTuple=2]=\"SpeculativeTuple\",e[e.SubstituteSource=4]=\"SubstituteSource\",e[e.HomomorphicMappedType=8]=\"HomomorphicMappedType\",e[e.PartialHomomorphicMappedType=16]=\"PartialHomomorphicMappedType\",e[e.MappedTypeConstraint=32]=\"MappedTypeConstraint\",e[e.ContravariantConditional=64]=\"ContravariantConditional\",e[e.ReturnType=128]=\"ReturnType\",e[e.LiteralKeyof=256]=\"LiteralKeyof\",e[e.NoConstraints=512]=\"NoConstraints\",e[e.AlwaysStrict=1024]=\"AlwaysStrict\",e[e.MaxValue=2048]=\"MaxValue\",e[e.PriorityImpliesCombination=416]=\"PriorityImpliesCombination\",e[e.Circularity=-1]=\"Circularity\",e))($B||{}),QB=(e=>(e[e.None=0]=\"None\",e[e.NoDefault=1]=\"NoDefault\",e[e.AnyDefault=2]=\"AnyDefault\",e[e.SkippedGenericFunction=4]=\"SkippedGenericFunction\",e))(QB||{}),ZB=(e=>(e[e.False=0]=\"False\",e[e.Unknown=1]=\"Unknown\",e[e.Maybe=3]=\"Maybe\",e[e.True=-1]=\"True\",e))(ZB||{}),eG=(e=>(e[e.None=0]=\"None\",e[e.ExportsProperty=1]=\"ExportsProperty\",e[e.ModuleExports=2]=\"ModuleExports\",e[e.PrototypeProperty=3]=\"PrototypeProperty\",e[e.ThisProperty=4]=\"ThisProperty\",e[e.Property=5]=\"Property\",e[e.Prototype=6]=\"Prototype\",e[e.ObjectDefinePropertyValue=7]=\"ObjectDefinePropertyValue\",e[e.ObjectDefinePropertyExports=8]=\"ObjectDefinePropertyExports\",e[e.ObjectDefinePrototypeProperty=9]=\"ObjectDefinePrototypeProperty\",e))(eG||{}),bM=(e=>(e[e.Warning=0]=\"Warning\",e[e.Error=1]=\"Error\",e[e.Suggestion=2]=\"Suggestion\",e[e.Message=3]=\"Message\",e))(bM||{}),O1=(e=>(e[e.Classic=1]=\"Classic\",e[e.NodeJs=2]=\"NodeJs\",e[e.Node10=2]=\"Node10\",e[e.Node16=3]=\"Node16\",e[e.NodeNext=99]=\"NodeNext\",e[e.Bundler=100]=\"Bundler\",e))(O1||{}),tG=(e=>(e[e.Legacy=1]=\"Legacy\",e[e.Auto=2]=\"Auto\",e[e.Force=3]=\"Force\",e))(tG||{}),nG=(e=>(e[e.FixedPollingInterval=0]=\"FixedPollingInterval\",e[e.PriorityPollingInterval=1]=\"PriorityPollingInterval\",e[e.DynamicPriorityPolling=2]=\"DynamicPriorityPolling\",e[e.FixedChunkSizePolling=3]=\"FixedChunkSizePolling\",e[e.UseFsEvents=4]=\"UseFsEvents\",e[e.UseFsEventsOnParentDirectory=5]=\"UseFsEventsOnParentDirectory\",e))(nG||{}),rG=(e=>(e[e.UseFsEvents=0]=\"UseFsEvents\",e[e.FixedPollingInterval=1]=\"FixedPollingInterval\",e[e.DynamicPriorityPolling=2]=\"DynamicPriorityPolling\",e[e.FixedChunkSizePolling=3]=\"FixedChunkSizePolling\",e))(rG||{}),iG=(e=>(e[e.FixedInterval=0]=\"FixedInterval\",e[e.PriorityInterval=1]=\"PriorityInterval\",e[e.DynamicPriority=2]=\"DynamicPriority\",e[e.FixedChunkSize=3]=\"FixedChunkSize\",e))(iG||{}),HD=(e=>(e[e.None=0]=\"None\",e[e.CommonJS=1]=\"CommonJS\",e[e.AMD=2]=\"AMD\",e[e.UMD=3]=\"UMD\",e[e.System=4]=\"System\",e[e.ES2015=5]=\"ES2015\",e[e.ES2020=6]=\"ES2020\",e[e.ES2022=7]=\"ES2022\",e[e.ESNext=99]=\"ESNext\",e[e.Node16=100]=\"Node16\",e[e.NodeNext=199]=\"NodeNext\",e[e.Preserve=200]=\"Preserve\",e))(HD||{}),oG=(e=>(e[e.None=0]=\"None\",e[e.Preserve=1]=\"Preserve\",e[e.React=2]=\"React\",e[e.ReactNative=3]=\"ReactNative\",e[e.ReactJSX=4]=\"ReactJSX\",e[e.ReactJSXDev=5]=\"ReactJSXDev\",e))(oG||{}),aG=(e=>(e[e.Remove=0]=\"Remove\",e[e.Preserve=1]=\"Preserve\",e[e.Error=2]=\"Error\",e))(aG||{}),sG=(e=>(e[e.CarriageReturnLineFeed=0]=\"CarriageReturnLineFeed\",e[e.LineFeed=1]=\"LineFeed\",e))(sG||{}),h8=(e=>(e[e.Unknown=0]=\"Unknown\",e[e.JS=1]=\"JS\",e[e.JSX=2]=\"JSX\",e[e.TS=3]=\"TS\",e[e.TSX=4]=\"TSX\",e[e.External=5]=\"External\",e[e.JSON=6]=\"JSON\",e[e.Deferred=7]=\"Deferred\",e))(h8||{}),lG=(e=>(e[e.ES3=0]=\"ES3\",e[e.ES5=1]=\"ES5\",e[e.ES2015=2]=\"ES2015\",e[e.ES2016=3]=\"ES2016\",e[e.ES2017=4]=\"ES2017\",e[e.ES2018=5]=\"ES2018\",e[e.ES2019=6]=\"ES2019\",e[e.ES2020=7]=\"ES2020\",e[e.ES2021=8]=\"ES2021\",e[e.ES2022=9]=\"ES2022\",e[e.ESNext=99]=\"ESNext\",e[e.JSON=100]=\"JSON\",e[e.Latest=99]=\"Latest\",e))(lG||{}),cG=(e=>(e[e.Standard=0]=\"Standard\",e[e.JSX=1]=\"JSX\",e))(cG||{}),dG=(e=>(e[e.None=0]=\"None\",e[e.Recursive=1]=\"Recursive\",e))(dG||{}),uG=(e=>(e[e.nullCharacter=0]=\"nullCharacter\",e[e.maxAsciiCharacter=127]=\"maxAsciiCharacter\",e[e.lineFeed=10]=\"lineFeed\",e[e.carriageReturn=13]=\"carriageReturn\",e[e.lineSeparator=8232]=\"lineSeparator\",e[e.paragraphSeparator=8233]=\"paragraphSeparator\",e[e.nextLine=133]=\"nextLine\",e[e.space=32]=\"space\",e[e.nonBreakingSpace=160]=\"nonBreakingSpace\",e[e.enQuad=8192]=\"enQuad\",e[e.emQuad=8193]=\"emQuad\",e[e.enSpace=8194]=\"enSpace\",e[e.emSpace=8195]=\"emSpace\",e[e.threePerEmSpace=8196]=\"threePerEmSpace\",e[e.fourPerEmSpace=8197]=\"fourPerEmSpace\",e[e.sixPerEmSpace=8198]=\"sixPerEmSpace\",e[e.figureSpace=8199]=\"figureSpace\",e[e.punctuationSpace=8200]=\"punctuationSpace\",e[e.thinSpace=8201]=\"thinSpace\",e[e.hairSpace=8202]=\"hairSpace\",e[e.zeroWidthSpace=8203]=\"zeroWidthSpace\",e[e.narrowNoBreakSpace=8239]=\"narrowNoBreakSpace\",e[e.ideographicSpace=12288]=\"ideographicSpace\",e[e.mathematicalSpace=8287]=\"mathematicalSpace\",e[e.ogham=5760]=\"ogham\",e[e._=95]=\"_\",e[e.$=36]=\"$\",e[e._0=48]=\"_0\",e[e._1=49]=\"_1\",e[e._2=50]=\"_2\",e[e._3=51]=\"_3\",e[e._4=52]=\"_4\",e[e._5=53]=\"_5\",e[e._6=54]=\"_6\",e[e._7=55]=\"_7\",e[e._8=56]=\"_8\",e[e._9=57]=\"_9\",e[e.a=97]=\"a\",e[e.b=98]=\"b\",e[e.c=99]=\"c\",e[e.d=100]=\"d\",e[e.e=101]=\"e\",e[e.f=102]=\"f\",e[e.g=103]=\"g\",e[e.h=104]=\"h\",e[e.i=105]=\"i\",e[e.j=106]=\"j\",e[e.k=107]=\"k\",e[e.l=108]=\"l\",e[e.m=109]=\"m\",e[e.n=110]=\"n\",e[e.o=111]=\"o\",e[e.p=112]=\"p\",e[e.q=113]=\"q\",e[e.r=114]=\"r\",e[e.s=115]=\"s\",e[e.t=116]=\"t\",e[e.u=117]=\"u\",e[e.v=118]=\"v\",e[e.w=119]=\"w\",e[e.x=120]=\"x\",e[e.y=121]=\"y\",e[e.z=122]=\"z\",e[e.A=65]=\"A\",e[e.B=66]=\"B\",e[e.C=67]=\"C\",e[e.D=68]=\"D\",e[e.E=69]=\"E\",e[e.F=70]=\"F\",e[e.G=71]=\"G\",e[e.H=72]=\"H\",e[e.I=73]=\"I\",e[e.J=74]=\"J\",e[e.K=75]=\"K\",e[e.L=76]=\"L\",e[e.M=77]=\"M\",e[e.N=78]=\"N\",e[e.O=79]=\"O\",e[e.P=80]=\"P\",e[e.Q=81]=\"Q\",e[e.R=82]=\"R\",e[e.S=83]=\"S\",e[e.T=84]=\"T\",e[e.U=85]=\"U\",e[e.V=86]=\"V\",e[e.W=87]=\"W\",e[e.X=88]=\"X\",e[e.Y=89]=\"Y\",e[e.Z=90]=\"Z\",e[e.ampersand=38]=\"ampersand\",e[e.asterisk=42]=\"asterisk\",e[e.at=64]=\"at\",e[e.backslash=92]=\"backslash\",e[e.backtick=96]=\"backtick\",e[e.bar=124]=\"bar\",e[e.caret=94]=\"caret\",e[e.closeBrace=125]=\"closeBrace\",e[e.closeBracket=93]=\"closeBracket\",e[e.closeParen=41]=\"closeParen\",e[e.colon=58]=\"colon\",e[e.comma=44]=\"comma\",e[e.dot=46]=\"dot\",e[e.doubleQuote=34]=\"doubleQuote\",e[e.equals=61]=\"equals\",e[e.exclamation=33]=\"exclamation\",e[e.greaterThan=62]=\"greaterThan\",e[e.hash=35]=\"hash\",e[e.lessThan=60]=\"lessThan\",e[e.minus=45]=\"minus\",e[e.openBrace=123]=\"openBrace\",e[e.openBracket=91]=\"openBracket\",e[e.openParen=40]=\"openParen\",e[e.percent=37]=\"percent\",e[e.plus=43]=\"plus\",e[e.question=63]=\"question\",e[e.semicolon=59]=\"semicolon\",e[e.singleQuote=39]=\"singleQuote\",e[e.slash=47]=\"slash\",e[e.tilde=126]=\"tilde\",e[e.backspace=8]=\"backspace\",e[e.formFeed=12]=\"formFeed\",e[e.byteOrderMark=65279]=\"byteOrderMark\",e[e.tab=9]=\"tab\",e[e.verticalTab=11]=\"verticalTab\",e))(uG||{}),pG=(e=>(e.Ts=\".ts\",e.Tsx=\".tsx\",e.Dts=\".d.ts\",e.Js=\".js\",e.Jsx=\".jsx\",e.Json=\".json\",e.TsBuildInfo=\".tsbuildinfo\",e.Mjs=\".mjs\",e.Mts=\".mts\",e.Dmts=\".d.mts\",e.Cjs=\".cjs\",e.Cts=\".cts\",e.Dcts=\".d.cts\",e))(pG||{}),g8=(e=>(e[e.None=0]=\"None\",e[e.ContainsTypeScript=1]=\"ContainsTypeScript\",e[e.ContainsJsx=2]=\"ContainsJsx\",e[e.ContainsESNext=4]=\"ContainsESNext\",e[e.ContainsES2022=8]=\"ContainsES2022\",e[e.ContainsES2021=16]=\"ContainsES2021\",e[e.ContainsES2020=32]=\"ContainsES2020\",e[e.ContainsES2019=64]=\"ContainsES2019\",e[e.ContainsES2018=128]=\"ContainsES2018\",e[e.ContainsES2017=256]=\"ContainsES2017\",e[e.ContainsES2016=512]=\"ContainsES2016\",e[e.ContainsES2015=1024]=\"ContainsES2015\",e[e.ContainsGenerator=2048]=\"ContainsGenerator\",e[e.ContainsDestructuringAssignment=4096]=\"ContainsDestructuringAssignment\",e[e.ContainsTypeScriptClassSyntax=8192]=\"ContainsTypeScriptClassSyntax\",e[e.ContainsLexicalThis=16384]=\"ContainsLexicalThis\",e[e.ContainsRestOrSpread=32768]=\"ContainsRestOrSpread\",e[e.ContainsObjectRestOrSpread=65536]=\"ContainsObjectRestOrSpread\",e[e.ContainsComputedPropertyName=131072]=\"ContainsComputedPropertyName\",e[e.ContainsBlockScopedBinding=262144]=\"ContainsBlockScopedBinding\",e[e.ContainsBindingPattern=524288]=\"ContainsBindingPattern\",e[e.ContainsYield=1048576]=\"ContainsYield\",e[e.ContainsAwait=2097152]=\"ContainsAwait\",e[e.ContainsHoistedDeclarationOrCompletion=4194304]=\"ContainsHoistedDeclarationOrCompletion\",e[e.ContainsDynamicImport=8388608]=\"ContainsDynamicImport\",e[e.ContainsClassFields=16777216]=\"ContainsClassFields\",e[e.ContainsDecorators=33554432]=\"ContainsDecorators\",e[e.ContainsPossibleTopLevelAwait=67108864]=\"ContainsPossibleTopLevelAwait\",e[e.ContainsLexicalSuper=134217728]=\"ContainsLexicalSuper\",e[e.ContainsUpdateExpressionForIdentifier=268435456]=\"ContainsUpdateExpressionForIdentifier\",e[e.ContainsPrivateIdentifierInExpression=536870912]=\"ContainsPrivateIdentifierInExpression\",e[e.HasComputedFlags=-2147483648]=\"HasComputedFlags\",e[e.AssertTypeScript=1]=\"AssertTypeScript\",e[e.AssertJsx=2]=\"AssertJsx\",e[e.AssertESNext=4]=\"AssertESNext\",e[e.AssertES2022=8]=\"AssertES2022\",e[e.AssertES2021=16]=\"AssertES2021\",e[e.AssertES2020=32]=\"AssertES2020\",e[e.AssertES2019=64]=\"AssertES2019\",e[e.AssertES2018=128]=\"AssertES2018\",e[e.AssertES2017=256]=\"AssertES2017\",e[e.AssertES2016=512]=\"AssertES2016\",e[e.AssertES2015=1024]=\"AssertES2015\",e[e.AssertGenerator=2048]=\"AssertGenerator\",e[e.AssertDestructuringAssignment=4096]=\"AssertDestructuringAssignment\",e[e.OuterExpressionExcludes=-2147483648]=\"OuterExpressionExcludes\",e[e.PropertyAccessExcludes=-2147483648]=\"PropertyAccessExcludes\",e[e.NodeExcludes=-2147483648]=\"NodeExcludes\",e[e.ArrowFunctionExcludes=-2072174592]=\"ArrowFunctionExcludes\",e[e.FunctionExcludes=-1937940480]=\"FunctionExcludes\",e[e.ConstructorExcludes=-1937948672]=\"ConstructorExcludes\",e[e.MethodOrAccessorExcludes=-2005057536]=\"MethodOrAccessorExcludes\",e[e.PropertyExcludes=-2013249536]=\"PropertyExcludes\",e[e.ClassExcludes=-2147344384]=\"ClassExcludes\",e[e.ModuleExcludes=-1941676032]=\"ModuleExcludes\",e[e.TypeExcludes=-2]=\"TypeExcludes\",e[e.ObjectLiteralExcludes=-2147278848]=\"ObjectLiteralExcludes\",e[e.ArrayLiteralOrCallOrNewExcludes=-2147450880]=\"ArrayLiteralOrCallOrNewExcludes\",e[e.VariableDeclarationListExcludes=-2146893824]=\"VariableDeclarationListExcludes\",e[e.ParameterExcludes=-2147483648]=\"ParameterExcludes\",e[e.CatchClauseExcludes=-2147418112]=\"CatchClauseExcludes\",e[e.BindingPatternExcludes=-2147450880]=\"BindingPatternExcludes\",e[e.ContainsLexicalThisOrSuper=134234112]=\"ContainsLexicalThisOrSuper\",e[e.PropertyNamePropagatingFlags=134234112]=\"PropertyNamePropagatingFlags\",e))(g8||{}),v8=(e=>(e[e.TabStop=0]=\"TabStop\",e[e.Placeholder=1]=\"Placeholder\",e[e.Choice=2]=\"Choice\",e[e.Variable=3]=\"Variable\",e))(v8||{}),y8=(e=>(e[e.None=0]=\"None\",e[e.SingleLine=1]=\"SingleLine\",e[e.MultiLine=2]=\"MultiLine\",e[e.AdviseOnEmitNode=4]=\"AdviseOnEmitNode\",e[e.NoSubstitution=8]=\"NoSubstitution\",e[e.CapturesThis=16]=\"CapturesThis\",e[e.NoLeadingSourceMap=32]=\"NoLeadingSourceMap\",e[e.NoTrailingSourceMap=64]=\"NoTrailingSourceMap\",e[e.NoSourceMap=96]=\"NoSourceMap\",e[e.NoNestedSourceMaps=128]=\"NoNestedSourceMaps\",e[e.NoTokenLeadingSourceMaps=256]=\"NoTokenLeadingSourceMaps\",e[e.NoTokenTrailingSourceMaps=512]=\"NoTokenTrailingSourceMaps\",e[e.NoTokenSourceMaps=768]=\"NoTokenSourceMaps\",e[e.NoLeadingComments=1024]=\"NoLeadingComments\",e[e.NoTrailingComments=2048]=\"NoTrailingComments\",e[e.NoComments=3072]=\"NoComments\",e[e.NoNestedComments=4096]=\"NoNestedComments\",e[e.HelperName=8192]=\"HelperName\",e[e.ExportName=16384]=\"ExportName\",e[e.LocalName=32768]=\"LocalName\",e[e.InternalName=65536]=\"InternalName\",e[e.Indented=131072]=\"Indented\",e[e.NoIndentation=262144]=\"NoIndentation\",e[e.AsyncFunctionBody=524288]=\"AsyncFunctionBody\",e[e.ReuseTempVariableScope=1048576]=\"ReuseTempVariableScope\",e[e.CustomPrologue=2097152]=\"CustomPrologue\",e[e.NoHoisting=4194304]=\"NoHoisting\",e[e.Iterator=8388608]=\"Iterator\",e[e.NoAsciiEscaping=16777216]=\"NoAsciiEscaping\",e))(y8||{}),fG=(e=>(e[e.None=0]=\"None\",e[e.TypeScriptClassWrapper=1]=\"TypeScriptClassWrapper\",e[e.NeverApplyImportHelper=2]=\"NeverApplyImportHelper\",e[e.IgnoreSourceNewlines=4]=\"IgnoreSourceNewlines\",e[e.Immutable=8]=\"Immutable\",e[e.IndirectCall=16]=\"IndirectCall\",e[e.TransformPrivateStaticElements=32]=\"TransformPrivateStaticElements\",e))(fG||{}),mG=(e=>(e[e.Extends=1]=\"Extends\",e[e.Assign=2]=\"Assign\",e[e.Rest=4]=\"Rest\",e[e.Decorate=8]=\"Decorate\",e[e.ESDecorateAndRunInitializers=8]=\"ESDecorateAndRunInitializers\",e[e.Metadata=16]=\"Metadata\",e[e.Param=32]=\"Param\",e[e.Awaiter=64]=\"Awaiter\",e[e.Generator=128]=\"Generator\",e[e.Values=256]=\"Values\",e[e.Read=512]=\"Read\",e[e.SpreadArray=1024]=\"SpreadArray\",e[e.Await=2048]=\"Await\",e[e.AsyncGenerator=4096]=\"AsyncGenerator\",e[e.AsyncDelegator=8192]=\"AsyncDelegator\",e[e.AsyncValues=16384]=\"AsyncValues\",e[e.ExportStar=32768]=\"ExportStar\",e[e.ImportStar=65536]=\"ImportStar\",e[e.ImportDefault=131072]=\"ImportDefault\",e[e.MakeTemplateObject=262144]=\"MakeTemplateObject\",e[e.ClassPrivateFieldGet=524288]=\"ClassPrivateFieldGet\",e[e.ClassPrivateFieldSet=1048576]=\"ClassPrivateFieldSet\",e[e.ClassPrivateFieldIn=2097152]=\"ClassPrivateFieldIn\",e[e.CreateBinding=4194304]=\"CreateBinding\",e[e.SetFunctionName=8388608]=\"SetFunctionName\",e[e.PropKey=16777216]=\"PropKey\",e[e.AddDisposableResourceAndDisposeResources=33554432]=\"AddDisposableResourceAndDisposeResources\",e[e.FirstEmitHelper=1]=\"FirstEmitHelper\",e[e.LastEmitHelper=33554432]=\"LastEmitHelper\",e[e.ForOfIncludes=256]=\"ForOfIncludes\",e[e.ForAwaitOfIncludes=16384]=\"ForAwaitOfIncludes\",e[e.AsyncGeneratorIncludes=6144]=\"AsyncGeneratorIncludes\",e[e.AsyncDelegatorIncludes=26624]=\"AsyncDelegatorIncludes\",e[e.SpreadIncludes=1536]=\"SpreadIncludes\",e))(mG||{}),_G=(e=>(e[e.SourceFile=0]=\"SourceFile\",e[e.Expression=1]=\"Expression\",e[e.IdentifierName=2]=\"IdentifierName\",e[e.MappedTypeParameter=3]=\"MappedTypeParameter\",e[e.Unspecified=4]=\"Unspecified\",e[e.EmbeddedStatement=5]=\"EmbeddedStatement\",e[e.JsxAttributeValue=6]=\"JsxAttributeValue\",e[e.ImportTypeNodeAttributes=7]=\"ImportTypeNodeAttributes\",e))(_G||{}),hG=(e=>(e[e.Parentheses=1]=\"Parentheses\",e[e.TypeAssertions=2]=\"TypeAssertions\",e[e.NonNullAssertions=4]=\"NonNullAssertions\",e[e.PartiallyEmittedExpressions=8]=\"PartiallyEmittedExpressions\",e[e.Assertions=6]=\"Assertions\",e[e.All=15]=\"All\",e[e.ExcludeJSDocTypeAssertion=16]=\"ExcludeJSDocTypeAssertion\",e))(hG||{}),gG=(e=>(e[e.None=0]=\"None\",e[e.InParameters=1]=\"InParameters\",e[e.VariablesHoistedInParameters=2]=\"VariablesHoistedInParameters\",e))(gG||{}),vG=(e=>(e.Prologue=\"prologue\",e.EmitHelpers=\"emitHelpers\",e.NoDefaultLib=\"no-default-lib\",e.Reference=\"reference\",e.Type=\"type\",e.TypeResolutionModeRequire=\"type-require\",e.TypeResolutionModeImport=\"type-import\",e.Lib=\"lib\",e.Prepend=\"prepend\",e.Text=\"text\",e.Internal=\"internal\",e))(vG||{}),yG=(e=>(e[e.None=0]=\"None\",e[e.SingleLine=0]=\"SingleLine\",e[e.MultiLine=1]=\"MultiLine\",e[e.PreserveLines=2]=\"PreserveLines\",e[e.LinesMask=3]=\"LinesMask\",e[e.NotDelimited=0]=\"NotDelimited\",e[e.BarDelimited=4]=\"BarDelimited\",e[e.AmpersandDelimited=8]=\"AmpersandDelimited\",e[e.CommaDelimited=16]=\"CommaDelimited\",e[e.AsteriskDelimited=32]=\"AsteriskDelimited\",e[e.DelimitersMask=60]=\"DelimitersMask\",e[e.AllowTrailingComma=64]=\"AllowTrailingComma\",e[e.Indented=128]=\"Indented\",e[e.SpaceBetweenBraces=256]=\"SpaceBetweenBraces\",e[e.SpaceBetweenSiblings=512]=\"SpaceBetweenSiblings\",e[e.Braces=1024]=\"Braces\",e[e.Parenthesis=2048]=\"Parenthesis\",e[e.AngleBrackets=4096]=\"AngleBrackets\",e[e.SquareBrackets=8192]=\"SquareBrackets\",e[e.BracketsMask=15360]=\"BracketsMask\",e[e.OptionalIfUndefined=16384]=\"OptionalIfUndefined\",e[e.OptionalIfEmpty=32768]=\"OptionalIfEmpty\",e[e.Optional=49152]=\"Optional\",e[e.PreferNewLine=65536]=\"PreferNewLine\",e[e.NoTrailingNewLine=131072]=\"NoTrailingNewLine\",e[e.NoInterveningComments=262144]=\"NoInterveningComments\",e[e.NoSpaceIfEmpty=524288]=\"NoSpaceIfEmpty\",e[e.SingleElement=1048576]=\"SingleElement\",e[e.SpaceAfterList=2097152]=\"SpaceAfterList\",e[e.Modifiers=2359808]=\"Modifiers\",e[e.HeritageClauses=512]=\"HeritageClauses\",e[e.SingleLineTypeLiteralMembers=768]=\"SingleLineTypeLiteralMembers\",e[e.MultiLineTypeLiteralMembers=32897]=\"MultiLineTypeLiteralMembers\",e[e.SingleLineTupleTypeElements=528]=\"SingleLineTupleTypeElements\",e[e.MultiLineTupleTypeElements=657]=\"MultiLineTupleTypeElements\",e[e.UnionTypeConstituents=516]=\"UnionTypeConstituents\",e[e.IntersectionTypeConstituents=520]=\"IntersectionTypeConstituents\",e[e.ObjectBindingPatternElements=525136]=\"ObjectBindingPatternElements\",e[e.ArrayBindingPatternElements=524880]=\"ArrayBindingPatternElements\",e[e.ObjectLiteralExpressionProperties=526226]=\"ObjectLiteralExpressionProperties\",e[e.ImportAttributes=526226]=\"ImportAttributes\",e[e.ImportClauseEntries=526226]=\"ImportClauseEntries\",e[e.ArrayLiteralExpressionElements=8914]=\"ArrayLiteralExpressionElements\",e[e.CommaListElements=528]=\"CommaListElements\",e[e.CallExpressionArguments=2576]=\"CallExpressionArguments\",e[e.NewExpressionArguments=18960]=\"NewExpressionArguments\",e[e.TemplateExpressionSpans=262144]=\"TemplateExpressionSpans\",e[e.SingleLineBlockStatements=768]=\"SingleLineBlockStatements\",e[e.MultiLineBlockStatements=129]=\"MultiLineBlockStatements\",e[e.VariableDeclarationList=528]=\"VariableDeclarationList\",e[e.SingleLineFunctionBodyStatements=768]=\"SingleLineFunctionBodyStatements\",e[e.MultiLineFunctionBodyStatements=1]=\"MultiLineFunctionBodyStatements\",e[e.ClassHeritageClauses=0]=\"ClassHeritageClauses\",e[e.ClassMembers=129]=\"ClassMembers\",e[e.InterfaceMembers=129]=\"InterfaceMembers\",e[e.EnumMembers=145]=\"EnumMembers\",e[e.CaseBlockClauses=129]=\"CaseBlockClauses\",e[e.NamedImportsOrExportsElements=525136]=\"NamedImportsOrExportsElements\",e[e.JsxElementOrFragmentChildren=262144]=\"JsxElementOrFragmentChildren\",e[e.JsxElementAttributes=262656]=\"JsxElementAttributes\",e[e.CaseOrDefaultClauseStatements=163969]=\"CaseOrDefaultClauseStatements\",e[e.HeritageClauseTypes=528]=\"HeritageClauseTypes\",e[e.SourceFileStatements=131073]=\"SourceFileStatements\",e[e.Decorators=2146305]=\"Decorators\",e[e.TypeArguments=53776]=\"TypeArguments\",e[e.TypeParameters=53776]=\"TypeParameters\",e[e.Parameters=2576]=\"Parameters\",e[e.IndexSignatureParameters=8848]=\"IndexSignatureParameters\",e[e.JSDocComment=33]=\"JSDocComment\",e))(yG||{}),bG=(e=>(e[e.None=0]=\"None\",e[e.TripleSlashXML=1]=\"TripleSlashXML\",e[e.SingleLine=2]=\"SingleLine\",e[e.MultiLine=4]=\"MultiLine\",e[e.All=7]=\"All\",e[e.Default=7]=\"Default\",e))(bG||{}),EM={reference:{args:[{name:\"types\",optional:!0,captureSpan:!0},{name:\"lib\",optional:!0,captureSpan:!0},{name:\"path\",optional:!0,captureSpan:!0},{name:\"no-default-lib\",optional:!0},{name:\"resolution-mode\",optional:!0}],kind:1},\"amd-dependency\":{args:[{name:\"path\"},{name:\"name\",optional:!0}],kind:1},\"amd-module\":{args:[{name:\"name\"}],kind:1},\"ts-check\":{kind:2},\"ts-nocheck\":{kind:2},jsx:{args:[{name:\"factory\"}],kind:4},jsxfrag:{args:[{name:\"factory\"}],kind:4},jsximportsource:{args:[{name:\"factory\"}],kind:4},jsxruntime:{args:[{name:\"factory\"}],kind:4}},EG=(e=>(e[e.ParseAll=0]=\"ParseAll\",e[e.ParseNone=1]=\"ParseNone\",e[e.ParseForTypeErrors=2]=\"ParseForTypeErrors\",e[e.ParseForTypeInfo=3]=\"ParseForTypeInfo\",e))(EG||{})}});function qD(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r);return t.toString()}function Pve(){Error.stackTraceLimit<100&&(Error.stackTraceLimit=100)}function SA(e,t){return e.getModifiedTime(t)||ip}function aee(e){return{250:e.Low,500:e.Medium,2e3:e.High}}function aFe(e){if(!e.getEnvironmentVariable)return;let t=o(\"TSC_WATCH_POLLINGINTERVAL\",b8);S8=s(\"TSC_WATCH_POLLINGCHUNKSIZE\",E8)||S8,TM=s(\"TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS\",E8)||TM;function r(l,d){return e.getEnvironmentVariable(`${l}_${d.toUpperCase()}`)}function i(l){let d;return p(\"Low\"),p(\"Medium\"),p(\"High\"),d;function p(h){let m=r(l,h);m&&((d||(d={}))[h]=Number(m))}}function o(l,d){let p=i(l);if(p)return h(\"Low\"),h(\"Medium\"),h(\"High\"),!0;return!1;function h(m){d[m]=p[m]||d[m]}}function s(l,d){let p=i(l);return(t||p)&&aee(p?{...d,...p}:d)}}function Mve(e,t,r,i,o){let s=r;for(let d=t.length;i&&d;l(),d--){let p=t[r];if(p){if(p.isClosed){t[r]=void 0;continue}}else continue;i--;let h=dFe(p,SA(e,p.fileName));if(p.isClosed){t[r]=void 0;continue}o?.(p,r,h),t[r]&&(s<r&&(t[s]=p,t[r]=void 0),s++)}return r;function l(){r++,r===t.length&&(s<r&&(t.length=s),r=0,s=0)}}function sFe(e){let t=[],r=[],i=d(250),o=d(500),s=d(2e3);return l;function l(R,L,G){let U={fileName:R,callback:L,unchangedPolls:0,mtime:SA(e,R)};return t.push(U),E(U,G),{close:()=>{U.isClosed=!0,bA(t,U)}}}function d(R){let L=[];return L.pollingInterval=R,L.pollIndex=0,L.pollScheduled=!1,L}function p(R,L){L.pollIndex=m(L,L.pollingInterval,L.pollIndex,S8[L.pollingInterval]),L.length?C(L.pollingInterval):(x.assert(L.pollIndex===0),L.pollScheduled=!1)}function h(R,L){m(r,250,0,r.length),p(R,L),!L.pollScheduled&&r.length&&C(250)}function m(R,L,G,U){return Mve(e,R,G,U,K);function K(F,oe,W){W?(F.unchangedPolls=0,R!==r&&(R[oe]=void 0,S(F))):F.unchangedPolls!==TM[L]?F.unchangedPolls++:R===r?(F.unchangedPolls=1,R[oe]=void 0,E(F,250)):L!==2e3&&(F.unchangedPolls++,R[oe]=void 0,E(F,L===250?500:2e3))}}function v(R){switch(R){case 250:return i;case 500:return o;case 2e3:return s}}function E(R,L){v(L).push(R),A(L)}function S(R){r.push(R),A(250)}function A(R){v(R).pollScheduled||C(R)}function C(R){v(R).pollScheduled=e.setTimeout(R===250?h:p,R,R===250?\"pollLowPollingIntervalQueue\":\"pollPollingIntervalQueue\",v(R))}}function lFe(e,t,r,i){let o=Ep(),s=i?new Map:void 0,l=new Map,d=od(t);return p;function p(m,v,E,S){let A=d(m);o.add(A,v).length===1&&s&&s.set(A,r(m)||ip);let C=Ur(A)||\".\",R=l.get(C)||h(Ur(m)||\".\",C,S);return R.referenceCount++,{close:()=>{R.referenceCount===1?(R.close(),l.delete(C)):R.referenceCount--,o.remove(A,v)}}}function h(m,v,E){let S=e(m,1,(A,C)=>{if(!fo(C))return;let R=Qi(C,m),L=d(R),G=R&&o.get(L);if(G){let U,K=1;if(s){let F=s.get(L);if(A===\"change\"&&(U=r(R)||ip,U.getTime()===F.getTime()))return;U||(U=r(R)||ip),s.set(L,U),F===ip?K=0:U===ip&&(K=2)}for(let F of G)F(R,K,U)}},!1,500,E);return S.referenceCount=0,l.set(v,S),S}}function cFe(e){let t=[],r=0,i;return o;function o(d,p){let h={fileName:d,callback:p,mtime:SA(e,d)};return t.push(h),l(),{close:()=>{h.isClosed=!0,bA(t,h)}}}function s(){i=void 0,r=Mve(e,t,r,S8[250]),l()}function l(){!t.length||i||(i=e.setTimeout(s,2e3,\"pollQueue\"))}}function Lve(e,t,r,i,o){let l=od(t)(r),d=e.get(l);return d?d.callbacks.push(i):e.set(l,{watcher:o((p,h,m)=>{var v;return(v=e.get(l))==null?void 0:v.callbacks.slice().forEach(E=>E(p,h,m))}),callbacks:[i]}),{close:()=>{let p=e.get(l);p&&(!N1(p.callbacks,i)||p.callbacks.length||(e.delete(l),Qp(p)))}}}function dFe(e,t){let r=e.mtime.getTime(),i=t.getTime();return r!==i?(e.mtime=t,e.callback(e.fileName,SG(r,i),t),!0):!1}function SG(e,t){return e===0?0:t===0?2:1}function SM(e){return dee(e)}function see(e){dee=e}function uFe({watchDirectory:e,useCaseSensitiveFileNames:t,getCurrentDirectory:r,getAccessibleSortedChildDirectories:i,fileSystemEntryExists:o,realpath:s,setTimeout:l,clearTimeout:d}){let p=new Map,h=Ep(),m=new Map,v,E=D1(!t),S=od(t);return(W,$,de,fe)=>de?A(W,fe,$):e(W,$,de,fe);function A(W,$,de){let fe=S(W),q=p.get(fe);q?q.refCount++:(q={watcher:e(W,ee=>{F(ee,$)||($?.synchronousWatchDirectory?(C(fe,ee),K(W,fe,$)):R(W,fe,ee,$))},!1,$),refCount:1,childWatches:je},p.set(fe,q),K(W,fe,$));let H=de&&{dirName:W,callback:de};return H&&h.add(fe,H),{dirName:W,close:()=>{let ee=x.checkDefined(p.get(fe));H&&h.remove(fe,H),ee.refCount--,!ee.refCount&&(p.delete(fe),Qp(ee),ee.childWatches.forEach(vm))}}}function C(W,$,de){let fe,q;fo($)?fe=$:q=$,h.forEach((H,ee)=>{if(!(q&&q.get(ee)===!0)&&(ee===W||Ui(W,ee)&&W[ee.length]===Os))if(q)if(de){let le=q.get(ee);le?le.push(...de):q.set(ee,de.slice())}else q.set(ee,!0);else H.forEach(({callback:le})=>le(fe))})}function R(W,$,de,fe){let q=p.get($);if(q&&o(W,1)){L(W,$,de,fe);return}C($,de),U(q)}function L(W,$,de,fe){let q=m.get($);q?q.fileNames.push(de):m.set($,{dirName:W,options:fe,fileNames:[de]}),v&&(d(v),v=void 0),v=l(G,1e3,\"timerToUpdateChildWatches\")}function G(){v=void 0,SM(`sysLog:: onTimerToUpdateChildWatches:: ${m.size}`);let W=Is(),$=new Map;for(;!v&&m.size;){let fe=m.entries().next();x.assert(!fe.done);let{value:[q,{dirName:H,options:ee,fileNames:le}]}=fe;m.delete(q);let Ee=K(H,q,ee);C(q,$,Ee?void 0:le)}SM(`sysLog:: invokingWatchers:: Elapsed:: ${Is()-W}ms:: ${m.size}`),h.forEach((fe,q)=>{let H=$.get(q);H&&fe.forEach(({callback:ee,dirName:le})=>{oo(H)?H.forEach(ee):ee(le)})});let de=Is()-W;SM(`sysLog:: Elapsed:: ${de}ms:: onTimerToUpdateChildWatches:: ${m.size} ${v}`)}function U(W){if(!W)return;let $=W.childWatches;W.childWatches=je;for(let de of $)de.close(),U(p.get(S(de.dirName)))}function K(W,$,de){let fe=p.get($);if(!fe)return!1;let q,H=t8(o(W,1)?Fi(i(W),Ee=>{let ce=Qi(Ee,W);return!F(ce,de)&&E(ce,Yo(s(ce)))===0?ce:void 0}):je,fe.childWatches,(Ee,ce)=>E(Ee,ce.dirName),ee,vm,le);return fe.childWatches=q||je,H;function ee(Ee){let ce=A(Ee,de);le(ce)}function le(Ee){(q||(q=[])).push(Ee)}}function F(W,$){return ct(AM,de=>oe(W,de))||kve(W,$,t,r)}function oe(W,$){return W.includes($)?!0:t?!1:S(W).includes($)}}function pFe(e){return(t,r,i)=>e(r===1?\"change\":\"rename\",\"\",i)}function fFe(e,t,r){return(i,o,s)=>{i===\"rename\"?(s||(s=r(e)||ip),t(e,s!==ip?0:2,s)):t(e,1,s)}}function kve(e,t,r,i){return(t?.excludeDirectories||t?.excludeFiles)&&(B6(e,t?.excludeFiles,r,i())||B6(e,t?.excludeDirectories,r,i()))}function Ove(e,t,r,i,o){return(s,l)=>{if(s===\"rename\"){let d=l?Yo(wr(e,l)):e;(!l||!kve(d,r,i,o))&&t(d)}}}function lee({pollingWatchFileWorker:e,getModifiedTime:t,setTimeout:r,clearTimeout:i,fsWatchWorker:o,fileSystemEntryExists:s,useCaseSensitiveFileNames:l,getCurrentDirectory:d,fsSupportsRecursiveFsWatch:p,getAccessibleSortedChildDirectories:h,realpath:m,tscWatchFile:v,useNonPollingWatchers:E,tscWatchDirectory:S,inodeWatching:A,fsWatchWithTimestamp:C,sysLog:R}){let L=new Map,G=new Map,U=new Map,K,F,oe,W,$=!1;return{watchFile:de,watchDirectory:le};function de(_e,be,Te,De){De=H(De,E);let ft=x.checkDefined(De.watchFile);switch(ft){case 0:return Z(_e,be,250,void 0);case 1:return Z(_e,be,Te,void 0);case 2:return fe()(_e,be,Te,void 0);case 3:return q()(_e,be,void 0,void 0);case 4:return pe(_e,0,fFe(_e,be,t),!1,Te,yk(De));case 5:return oe||(oe=lFe(pe,l,t,C)),oe(_e,be,Te,yk(De));default:x.assertNever(ft)}}function fe(){return K||(K=sFe({getModifiedTime:t,setTimeout:r}))}function q(){return F||(F=cFe({getModifiedTime:t,setTimeout:r}))}function H(_e,be){if(_e&&_e.watchFile!==void 0)return _e;switch(v){case\"PriorityPollingInterval\":return{watchFile:1};case\"DynamicPriorityPolling\":return{watchFile:2};case\"UseFsEvents\":return ee(4,1,_e);case\"UseFsEventsWithFallbackDynamicPolling\":return ee(4,2,_e);case\"UseFsEventsOnParentDirectory\":be=!0;default:return be?ee(5,1,_e):{watchFile:4}}}function ee(_e,be,Te){let De=Te?.fallbackPolling;return{watchFile:_e,fallbackPolling:De===void 0?be:De}}function le(_e,be,Te,De){return p?pe(_e,1,Ove(_e,be,De,l,d),Te,500,yk(De)):(W||(W=uFe({useCaseSensitiveFileNames:l,getCurrentDirectory:d,fileSystemEntryExists:s,getAccessibleSortedChildDirectories:h,watchDirectory:Ee,realpath:m,setTimeout:r,clearTimeout:i})),W(_e,be,Te,De))}function Ee(_e,be,Te,De){x.assert(!Te);let ft=ce(De),he=x.checkDefined(ft.watchDirectory);switch(he){case 1:return Z(_e,()=>be(_e),500,void 0);case 2:return fe()(_e,()=>be(_e),500,void 0);case 3:return q()(_e,()=>be(_e),void 0,void 0);case 0:return pe(_e,1,Ove(_e,be,De,l,d),Te,500,yk(ft));default:x.assertNever(he)}}function ce(_e){if(_e&&_e.watchDirectory!==void 0)return _e;switch(S){case\"RecursiveDirectoryUsingFsWatchFile\":return{watchDirectory:1};case\"RecursiveDirectoryUsingDynamicPriorityPolling\":return{watchDirectory:2};default:let be=_e?.fallbackPolling;return{watchDirectory:0,fallbackPolling:be!==void 0?be:void 0}}}function Z(_e,be,Te,De){return Lve(L,l,_e,be,ft=>e(_e,ft,Te,De))}function pe(_e,be,Te,De,ft,he){return Lve(De?U:G,l,_e,Te,Le=>Ae(_e,be,Le,De,ft,he))}function Ae(_e,be,Te,De,ft,he){let Le,Ke;A&&(Le=_e.substring(_e.lastIndexOf(Os)),Ke=Le.slice(Os.length));let Dt=s(_e,be)?Ge():jt();return{close:()=>{Dt&&(Dt.close(),Dt=void 0)}};function st(gn){Dt&&(R(`sysLog:: ${_e}:: Changing watcher to ${gn===Ge?\"Present\":\"Missing\"}FileSystemEntryWatcher`),Dt.close(),Dt=gn())}function Ge(){if($)return R(`sysLog:: ${_e}:: Defaulting to watchFile`),Vt();try{let gn=(be===1||!C?o:Oe)(_e,De,A?ot:Te);return gn.on(\"error\",()=>{Te(\"rename\",\"\"),st(jt)}),gn}catch(gn){return $||($=gn.code===\"ENOSPC\"),R(`sysLog:: ${_e}:: Changing to watchFile`),Vt()}}function ot(gn,On){let en;if(On&&Zs(On,\"~\")&&(en=On,On=On.slice(0,On.length-1)),gn===\"rename\"&&(!On||On===Ke||Zs(On,Le))){let zt=t(_e)||ip;en&&Te(gn,en,zt),Te(gn,On,zt),A?st(zt===ip?jt:Ge):zt===ip&&st(jt)}else en&&Te(gn,en),Te(gn,On)}function Vt(){return de(_e,pFe(Te),ft,he)}function jt(){return de(_e,(gn,On,en)=>{On===0&&(en||(en=t(_e)||ip),en!==ip&&(Te(\"rename\",\"\",en),st(Ge)))},ft,he)}}function Oe(_e,be,Te){let De=t(_e)||ip;return o(_e,be,(ft,he,Le)=>{ft===\"change\"&&(Le||(Le=t(_e)||ip),Le.getTime()===De.getTime())||(De=Le||t(_e)||ip,Te(ft,he,De))})}}function cee(e){let t=e.writeFile;e.writeFile=(r,i,o)=>oV(r,i,!!o,(s,l,d)=>t.call(e,s,l,d),s=>e.createDirectory(s),s=>e.directoryExists(s))}function wve(e){Hc=e}var TG,b8,ip,E8,S8,TM,AM,dee,AG,Hc,mFe=pt({\"src/compiler/sys.ts\"(){\"use strict\";wo(),TG=(e=>(e[e.Created=0]=\"Created\",e[e.Changed=1]=\"Changed\",e[e.Deleted=2]=\"Deleted\",e))(TG||{}),b8=(e=>(e[e.High=2e3]=\"High\",e[e.Medium=500]=\"Medium\",e[e.Low=250]=\"Low\",e))(b8||{}),ip=new Date(0),E8={Low:32,Medium:64,High:256},S8=aee(E8),TM=aee(E8),AM=[\"/node_modules/.\",\"/.git\",\"/.#\"],dee=Ca,AG=(e=>(e[e.File=0]=\"File\",e[e.Directory=1]=\"Directory\",e))(AG||{}),Hc=(()=>{let e=\"\\uFEFF\";function t(){let i=/^native |^\\([^)]+\\)$|^(internal[\\\\/]|[a-zA-Z0-9_\\s]+(\\.js)?$)/,o=cS(\"fs\"),s=cS(\"path\"),l=cS(\"os\"),d;try{d=cS(\"crypto\")}catch{d=void 0}let p,h=\"./profile.cpuprofile\",m=cS(\"buffer\").Buffer,v=process.platform===\"darwin\",E=process.platform===\"linux\"||v,S=l.platform(),A=q(),C=o.realpathSync.native?process.platform===\"win32\"?De:o.realpathSync.native:o.realpathSync,R=__filename.endsWith(\"sys.js\")?s.join(s.dirname(__dirname),\"__fake__.js\"):__filename,L=process.platform===\"win32\"||v,G=Kd(()=>process.cwd()),{watchFile:U,watchDirectory:K}=lee({pollingWatchFileWorker:ee,getModifiedTime:he,setTimeout,clearTimeout,fsWatchWorker:le,useCaseSensitiveFileNames:A,getCurrentDirectory:G,fileSystemEntryExists:Oe,fsSupportsRecursiveFsWatch:L,getAccessibleSortedChildDirectories:st=>pe(st).directories,realpath:ft,tscWatchFile:process.env.TSC_WATCHFILE,useNonPollingWatchers:!!process.env.TSC_NONPOLLING_WATCHER,tscWatchDirectory:process.env.TSC_WATCHDIRECTORY,inodeWatching:E,fsWatchWithTimestamp:v,sysLog:SM}),F={args:process.argv.slice(2),newLine:l.EOL,useCaseSensitiveFileNames:A,write(st){process.stdout.write(st)},getWidthOfTerminal(){return process.stdout.columns},writeOutputIsTTY(){return process.stdout.isTTY},readFile:ce,writeFile:Z,watchFile:U,watchDirectory:K,resolvePath:st=>s.resolve(st),fileExists:_e,directoryExists:be,getAccessibleFileSystemEntries:pe,createDirectory(st){if(!F.directoryExists(st))try{o.mkdirSync(st)}catch(Ge){if(Ge.code!==\"EEXIST\")throw Ge}},getExecutingFilePath(){return R},getCurrentDirectory:G,getDirectories:Te,getEnvironmentVariable(st){return process.env[st]||\"\"},readDirectory:Ae,getModifiedTime:he,setModifiedTime:Le,deleteFile:Ke,createHash:d?Dt:qD,createSHA256Hash:d?Dt:void 0,getMemoryUsage(){return global.gc&&global.gc(),process.memoryUsage().heapUsed},getFileSize(st){try{let Ge=oe(st);if(Ge?.isFile())return Ge.size}catch{}return 0},exit(st){de(()=>process.exit(st))},enableCPUProfiler:W,disableCPUProfiler:de,cpuProfilingEnabled:()=>!!p||To(process.execArgv,\"--cpu-prof\")||To(process.execArgv,\"--prof\"),realpath:ft,debugMode:!!process.env.NODE_INSPECTOR_IPC||!!process.env.VSCODE_INSPECTOR_OPTIONS||ct(process.execArgv,st=>/^--(inspect|debug)(-brk)?(=\\d+)?$/i.test(st))||!!process.recordreplay,tryEnableSourceMapsForHost(){try{cS(\"source-map-support\").install()}catch{}},setTimeout,clearTimeout,clearScreen:()=>{process.stdout.write(\"\\x1Bc\")},setBlocking:()=>{var st;let Ge=(st=process.stdout)==null?void 0:st._handle;Ge&&Ge.setBlocking&&Ge.setBlocking(!0)},bufferFrom:fe,base64decode:st=>fe(st,\"base64\").toString(\"utf8\"),base64encode:st=>fe(st).toString(\"base64\"),require:(st,Ge)=>{try{let ot=ioe(Ge,st,F);return{module:cS(ot),modulePath:ot,error:void 0}}catch(ot){return{module:void 0,modulePath:void 0,error:ot}}}};return F;function oe(st){return o.statSync(st,{throwIfNoEntry:!1})}function W(st,Ge){if(p)return Ge(),!1;let ot=cS(\"inspector\");if(!ot||!ot.Session)return Ge(),!1;let Vt=new ot.Session;return Vt.connect(),Vt.post(\"Profiler.enable\",()=>{Vt.post(\"Profiler.start\",()=>{p=Vt,h=st,Ge()})}),!0}function $(st){let Ge=0,ot=new Map,Vt=ad(s.dirname(R)),jt=`file://${M_(Vt)===1?\"\":\"/\"}${Vt}`;for(let gn of st.nodes)if(gn.callFrame.url){let On=ad(gn.callFrame.url);Bf(jt,On,A)?gn.callFrame.url=AA(jt,On,jt,od(A),!0):i.test(On)||(gn.callFrame.url=(ot.has(On)?ot:ot.set(On,`external${Ge}.js`)).get(On),Ge++)}return st}function de(st){if(p&&p!==\"stopping\"){let Ge=p;return p.post(\"Profiler.stop\",(ot,{profile:Vt})=>{var jt;if(!ot){try{(jt=oe(h))!=null&&jt.isDirectory()&&(h=s.join(h,`${new Date().toISOString().replace(/:/g,\"-\")}+P${process.pid}.cpuprofile`))}catch{}try{o.mkdirSync(s.dirname(h),{recursive:!0})}catch{}o.writeFileSync(h,JSON.stringify($(Vt)))}p=void 0,Ge.disconnect(),st()}),p=\"stopping\",!0}else return st(),!1}function fe(st,Ge){return m.from&&m.from!==Int8Array.from?m.from(st,Ge):new m(st,Ge)}function q(){return S===\"win32\"||S===\"win64\"?!1:!_e(H(__filename))}function H(st){return st.replace(/\\w/g,Ge=>{let ot=Ge.toUpperCase();return Ge===ot?Ge.toLowerCase():ot})}function ee(st,Ge,ot){o.watchFile(st,{persistent:!0,interval:ot},jt);let Vt;return{close:()=>o.unwatchFile(st,jt)};function jt(gn,On){let en=+On.mtime==0||Vt===2;if(+gn.mtime==0){if(en)return;Vt=2}else if(en)Vt=0;else{if(+gn.mtime==+On.mtime)return;Vt=1}Ge(st,Vt,gn.mtime)}}function le(st,Ge,ot){return o.watch(st,L?{persistent:!0,recursive:!!Ge}:{persistent:!0},ot)}function Ee(st,Ge){let ot;try{ot=o.readFileSync(st)}catch{return}let Vt=ot.length;if(Vt>=2&&ot[0]===254&&ot[1]===255){Vt&=-2;for(let jt=0;jt<Vt;jt+=2){let gn=ot[jt];ot[jt]=ot[jt+1],ot[jt+1]=gn}return ot.toString(\"utf16le\",2)}return Vt>=2&&ot[0]===255&&ot[1]===254?ot.toString(\"utf16le\",2):Vt>=3&&ot[0]===239&&ot[1]===187&&ot[2]===191?ot.toString(\"utf8\",3):ot.toString(\"utf8\")}function ce(st,Ge){var ot,Vt;(ot=Pd)==null||ot.logStartReadFile(st);let jt=Ee(st,Ge);return(Vt=Pd)==null||Vt.logStopReadFile(),jt}function Z(st,Ge,ot){var Vt;(Vt=Pd)==null||Vt.logEvent(\"WriteFile: \"+st),ot&&(Ge=e+Ge);let jt;try{jt=o.openSync(st,\"w\"),o.writeSync(jt,Ge,void 0,\"utf8\")}finally{jt!==void 0&&o.closeSync(jt)}}function pe(st){var Ge;(Ge=Pd)==null||Ge.logEvent(\"ReadDir: \"+(st||\".\"));try{let ot=o.readdirSync(st||\".\",{withFileTypes:!0}),Vt=[],jt=[];for(let gn of ot){let On=typeof gn==\"string\"?gn:gn.name;if(On===\".\"||On===\"..\")continue;let en;if(typeof gn==\"string\"||gn.isSymbolicLink()){let zt=wr(st,On);try{if(en=oe(zt),!en)continue}catch{continue}}else en=gn;en.isFile()?Vt.push(On):en.isDirectory()&&jt.push(On)}return Vt.sort(),jt.sort(),{files:Vt,directories:jt}}catch{return NF}}function Ae(st,Ge,ot,Vt,jt){return DV(st,Ge,ot,Vt,A,process.cwd(),jt,pe,ft)}function Oe(st,Ge){let ot=Error.stackTraceLimit;Error.stackTraceLimit=0;try{let Vt=oe(st);if(!Vt)return!1;switch(Ge){case 0:return Vt.isFile();case 1:return Vt.isDirectory();default:return!1}}catch{return!1}finally{Error.stackTraceLimit=ot}}function _e(st){return Oe(st,0)}function be(st){return Oe(st,1)}function Te(st){return pe(st).directories.slice()}function De(st){return st.length<260?o.realpathSync.native(st):o.realpathSync(st)}function ft(st){try{return C(st)}catch{return st}}function he(st){var Ge;let ot=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return(Ge=oe(st))==null?void 0:Ge.mtime}catch{return}finally{Error.stackTraceLimit=ot}}function Le(st,Ge){try{o.utimesSync(st,Ge,Ge)}catch{return}}function Ke(st){try{return o.unlinkSync(st)}catch{return}}function Dt(st){let Ge=d.createHash(\"sha256\");return Ge.update(st),Ge.digest(\"hex\")}}let r;return mB()&&(r=t()),r&&cee(r),r})(),Hc&&Hc.getEnvironmentVariable&&(aFe(Hc),x.setAssertionLevel(/^development$/i.test(Hc.getEnvironmentVariable(\"NODE_ENV\"))?1:0)),Hc&&Hc.debugMode&&(x.isDebugging=!0)}});function IG(e){return e===47||e===92}function uee(e){return T8(e)<0}function Ou(e){return T8(e)>0}function xG(e){let t=T8(e);return t>0&&t===e.length}function JD(e){return T8(e)!==0}function op(e){return/^\\.\\.?($|[\\\\/])/.test(e)}function RG(e){return!JD(e)&&!op(e)}function TA(e){return Ll(e).includes(\".\")}function el(e,t){return e.length>t.length&&Zs(e,t)}function $l(e,t){for(let r of t)if(el(e,r))return!0;return!1}function Jg(e){return e.length>0&&IG(e.charCodeAt(e.length-1))}function Wve(e){return e>=97&&e<=122||e>=65&&e<=90}function _Fe(e,t){let r=e.charCodeAt(t);if(r===58)return t+1;if(r===37&&e.charCodeAt(t+1)===51){let i=e.charCodeAt(t+2);if(i===97||i===65)return t+3}return-1}function T8(e){if(!e)return 0;let t=e.charCodeAt(0);if(t===47||t===92){if(e.charCodeAt(1)!==t)return 1;let i=e.indexOf(t===47?Os:DM,2);return i<0?e.length:i+1}if(Wve(t)&&e.charCodeAt(1)===58){let i=e.charCodeAt(2);if(i===47||i===92)return 3;if(e.length===2)return 2}let r=e.indexOf(mee);if(r!==-1){let i=r+mee.length,o=e.indexOf(Os,i);if(o!==-1){let s=e.slice(0,r),l=e.slice(i,o);if(s===\"file\"&&(l===\"\"||l===\"localhost\")&&Wve(e.charCodeAt(o+1))){let d=_Fe(e,o+2);if(d!==-1){if(e.charCodeAt(d)===47)return~(d+1);if(d===e.length)return~d}}return~(o+1)}return~e.length}return 0}function M_(e){let t=T8(e);return t<0?~t:t}function Ur(e){e=ad(e);let t=M_(e);return t===e.length?e:(e=fb(e),e.slice(0,Math.max(t,e.lastIndexOf(Os))))}function Ll(e,t,r){if(e=ad(e),M_(e)===e.length)return\"\";e=fb(e);let o=e.slice(Math.max(M_(e),e.lastIndexOf(Os)+1)),s=t!==void 0&&r!==void 0?w1(o,t,r):void 0;return s?o.slice(0,o.length-s.length):o}function Fve(e,t,r){if(Ui(t,\".\")||(t=\".\"+t),e.length>=t.length&&e.charCodeAt(e.length-t.length)===46){let i=e.slice(e.length-t.length);if(r(i,t))return i}}function hFe(e,t,r){if(typeof t==\"string\")return Fve(e,t,r)||\"\";for(let i of t){let o=Fve(e,i,r);if(o)return o}return\"\"}function w1(e,t,r){if(t)return hFe(fb(e),t,r?pb:pS);let i=Ll(e),o=i.lastIndexOf(\".\");return o>=0?i.substring(o):\"\"}function gFe(e,t){let r=e.substring(0,t),i=e.substring(t).split(Os);return i.length&&!Ns(i)&&i.pop(),[r,...i]}function mc(e,t=\"\"){return e=wr(t,e),gFe(e,M_(e))}function Vv(e,t){return e.length===0?\"\":(e[0]&&_c(e[0]))+e.slice(1,t).join(Os)}function ad(e){return e.includes(\"\\\\\")?e.replace(Gve,Os):e}function hS(e){if(!ct(e))return[];let t=[e[0]];for(let r=1;r<e.length;r++){let i=e[r];if(i&&i!==\".\"){if(i===\"..\"){if(t.length>1){if(t[t.length-1]!==\"..\"){t.pop();continue}}else if(t[0])continue}t.push(i)}}return t}function wr(e,...t){e&&(e=ad(e));for(let r of t)r&&(r=ad(r),!e||M_(r)!==0?e=r:e=_c(e)+r);return e}function jv(e,...t){return Yo(ct(t)?wr(e,...t):ad(e))}function IM(e,t){return hS(mc(e,t))}function Qi(e,t){return Vv(IM(e,t))}function Yo(e){if(e=ad(e),!I8.test(e))return e;let t=e.replace(/\\/\\.\\//g,\"/\").replace(/^\\.\\//,\"\");if(t!==e&&(e=t,!I8.test(e)))return e;let r=Vv(hS(mc(e)));return r&&Jg(e)?_c(r):r}function vFe(e){return e.length===0?\"\":e.slice(1).join(Os)}function DG(e,t){return vFe(IM(e,t))}function ks(e,t,r){let i=Ou(e)?Yo(e):Qi(e,t);return r(i)}function fb(e){return Jg(e)?e.substr(0,e.length-1):e}function _c(e){return Jg(e)?e:e+Os}function ME(e){return!JD(e)&&!op(e)?\"./\"+e:e}function xM(e,t,r,i){let o=r!==void 0&&i!==void 0?w1(e,r,i):w1(e);return o?e.slice(0,e.length-o.length)+(Ui(t,\".\")?t:\".\"+t):e}function pee(e,t){let r=Xj(e);return r?e.slice(0,e.length-r.length)+(Ui(t,\".\")?t:\".\"+t):xM(e,t)}function fee(e,t,r){if(e===t)return 0;if(e===void 0)return-1;if(t===void 0)return 1;let i=e.substring(0,M_(e)),o=t.substring(0,M_(t)),s=$w(i,o);if(s!==0)return s;let l=e.substring(i.length),d=t.substring(o.length);if(!I8.test(l)&&!I8.test(d))return r(l,d);let p=hS(mc(e)),h=hS(mc(t)),m=Math.min(p.length,h.length);for(let v=1;v<m;v++){let E=r(p[v],h[v]);if(E!==0)return E}return Ms(p.length,h.length)}function zve(e,t){return fee(e,t,gd)}function Bve(e,t){return fee(e,t,$w)}function Xh(e,t,r,i){return typeof r==\"string\"?(e=wr(r,e),t=wr(r,t)):typeof r==\"boolean\"&&(i=r),fee(e,t,D1(i))}function Bf(e,t,r,i){if(typeof r==\"string\"?(e=wr(r,e),t=wr(r,t)):typeof r==\"boolean\"&&(i=r),e===void 0||t===void 0)return!1;if(e===t)return!0;let o=hS(mc(e)),s=hS(mc(t));if(s.length<o.length)return!1;let l=i?pb:pS;for(let d=0;d<o.length;d++)if(!(d===0?pb:l)(o[d],s[d]))return!1;return!0}function CG(e,t,r){let i=r(e),o=r(t);return Ui(i,o+\"/\")||Ui(i,o+\"\\\\\")}function NG(e,t,r,i){let o=hS(mc(e)),s=hS(mc(t)),l;for(l=0;l<o.length&&l<s.length;l++){let h=i(o[l]),m=i(s[l]);if(!(l===0?pb:r)(h,m))break}if(l===0)return s;let d=s.slice(l),p=[];for(;l<o.length;l++)p.push(\"..\");return[\"\",...p,...d]}function Gf(e,t,r){x.assert(M_(e)>0==M_(t)>0,\"Paths must either both be absolute or both be relative\");let s=NG(e,t,(typeof r==\"boolean\"?r:!1)?pb:pS,typeof r==\"function\"?r:Ps);return Vv(s)}function KD(e,t,r){return Ou(e)?AA(t,e,t,r,!1):e}function RM(e,t,r){return ME(Gf(Ur(e),t,r))}function AA(e,t,r,i,o){let s=NG(jv(r,e),jv(r,t),pS,i),l=s[0];if(o&&Ou(l)){let d=l.charAt(0)===Os?\"file://\":\"file:///\";s[0]=d+l}return Vv(s)}function Vf(e,t){for(;;){let r=t(e);if(r!==void 0)return r;let i=Ur(e);if(i===e)return;e=i}}function A8(e){return Zs(e,\"/node_modules\")}var Os,DM,mee,Gve,I8,yFe=pt({\"src/compiler/path.ts\"(){\"use strict\";wo(),Os=\"/\",DM=\"\\\\\",mee=\"://\",Gve=/\\\\/g,I8=/(?:\\/\\/)|(?:^|\\/)\\.\\.?(?:$|\\/)/}});function b(e,t,r,i,o,s,l){return{code:e,category:t,key:r,message:i,reportsUnnecessary:o,elidedInCompatabilityPyramid:s,reportsDeprecated:l}}var f,bFe=pt({\"src/compiler/diagnosticInformationMap.generated.ts\"(){\"use strict\";Nve(),f={Unterminated_string_literal:b(1002,1,\"Unterminated_string_literal_1002\",\"Unterminated string literal.\"),Identifier_expected:b(1003,1,\"Identifier_expected_1003\",\"Identifier expected.\"),_0_expected:b(1005,1,\"_0_expected_1005\",\"'{0}' expected.\"),A_file_cannot_have_a_reference_to_itself:b(1006,1,\"A_file_cannot_have_a_reference_to_itself_1006\",\"A file cannot have a reference to itself.\"),The_parser_expected_to_find_a_1_to_match_the_0_token_here:b(1007,1,\"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007\",\"The parser expected to find a '{1}' to match the '{0}' token here.\"),Trailing_comma_not_allowed:b(1009,1,\"Trailing_comma_not_allowed_1009\",\"Trailing comma not allowed.\"),Asterisk_Slash_expected:b(1010,1,\"Asterisk_Slash_expected_1010\",\"'*/' expected.\"),An_element_access_expression_should_take_an_argument:b(1011,1,\"An_element_access_expression_should_take_an_argument_1011\",\"An element access expression should take an argument.\"),Unexpected_token:b(1012,1,\"Unexpected_token_1012\",\"Unexpected token.\"),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:b(1013,1,\"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013\",\"A rest parameter or binding pattern may not have a trailing comma.\"),A_rest_parameter_must_be_last_in_a_parameter_list:b(1014,1,\"A_rest_parameter_must_be_last_in_a_parameter_list_1014\",\"A rest parameter must be last in a parameter list.\"),Parameter_cannot_have_question_mark_and_initializer:b(1015,1,\"Parameter_cannot_have_question_mark_and_initializer_1015\",\"Parameter cannot have question mark and initializer.\"),A_required_parameter_cannot_follow_an_optional_parameter:b(1016,1,\"A_required_parameter_cannot_follow_an_optional_parameter_1016\",\"A required parameter cannot follow an optional parameter.\"),An_index_signature_cannot_have_a_rest_parameter:b(1017,1,\"An_index_signature_cannot_have_a_rest_parameter_1017\",\"An index signature cannot have a rest parameter.\"),An_index_signature_parameter_cannot_have_an_accessibility_modifier:b(1018,1,\"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018\",\"An index signature parameter cannot have an accessibility modifier.\"),An_index_signature_parameter_cannot_have_a_question_mark:b(1019,1,\"An_index_signature_parameter_cannot_have_a_question_mark_1019\",\"An index signature parameter cannot have a question mark.\"),An_index_signature_parameter_cannot_have_an_initializer:b(1020,1,\"An_index_signature_parameter_cannot_have_an_initializer_1020\",\"An index signature parameter cannot have an initializer.\"),An_index_signature_must_have_a_type_annotation:b(1021,1,\"An_index_signature_must_have_a_type_annotation_1021\",\"An index signature must have a type annotation.\"),An_index_signature_parameter_must_have_a_type_annotation:b(1022,1,\"An_index_signature_parameter_must_have_a_type_annotation_1022\",\"An index signature parameter must have a type annotation.\"),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:b(1024,1,\"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024\",\"'readonly' modifier can only appear on a property declaration or index signature.\"),An_index_signature_cannot_have_a_trailing_comma:b(1025,1,\"An_index_signature_cannot_have_a_trailing_comma_1025\",\"An index signature cannot have a trailing comma.\"),Accessibility_modifier_already_seen:b(1028,1,\"Accessibility_modifier_already_seen_1028\",\"Accessibility modifier already seen.\"),_0_modifier_must_precede_1_modifier:b(1029,1,\"_0_modifier_must_precede_1_modifier_1029\",\"'{0}' modifier must precede '{1}' modifier.\"),_0_modifier_already_seen:b(1030,1,\"_0_modifier_already_seen_1030\",\"'{0}' modifier already seen.\"),_0_modifier_cannot_appear_on_class_elements_of_this_kind:b(1031,1,\"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031\",\"'{0}' modifier cannot appear on class elements of this kind.\"),super_must_be_followed_by_an_argument_list_or_member_access:b(1034,1,\"super_must_be_followed_by_an_argument_list_or_member_access_1034\",\"'super' must be followed by an argument list or member access.\"),Only_ambient_modules_can_use_quoted_names:b(1035,1,\"Only_ambient_modules_can_use_quoted_names_1035\",\"Only ambient modules can use quoted names.\"),Statements_are_not_allowed_in_ambient_contexts:b(1036,1,\"Statements_are_not_allowed_in_ambient_contexts_1036\",\"Statements are not allowed in ambient contexts.\"),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:b(1038,1,\"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038\",\"A 'declare' modifier cannot be used in an already ambient context.\"),Initializers_are_not_allowed_in_ambient_contexts:b(1039,1,\"Initializers_are_not_allowed_in_ambient_contexts_1039\",\"Initializers are not allowed in ambient contexts.\"),_0_modifier_cannot_be_used_in_an_ambient_context:b(1040,1,\"_0_modifier_cannot_be_used_in_an_ambient_context_1040\",\"'{0}' modifier cannot be used in an ambient context.\"),_0_modifier_cannot_be_used_here:b(1042,1,\"_0_modifier_cannot_be_used_here_1042\",\"'{0}' modifier cannot be used here.\"),_0_modifier_cannot_appear_on_a_module_or_namespace_element:b(1044,1,\"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044\",\"'{0}' modifier cannot appear on a module or namespace element.\"),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:b(1046,1,\"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046\",\"Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.\"),A_rest_parameter_cannot_be_optional:b(1047,1,\"A_rest_parameter_cannot_be_optional_1047\",\"A rest parameter cannot be optional.\"),A_rest_parameter_cannot_have_an_initializer:b(1048,1,\"A_rest_parameter_cannot_have_an_initializer_1048\",\"A rest parameter cannot have an initializer.\"),A_set_accessor_must_have_exactly_one_parameter:b(1049,1,\"A_set_accessor_must_have_exactly_one_parameter_1049\",\"A 'set' accessor must have exactly one parameter.\"),A_set_accessor_cannot_have_an_optional_parameter:b(1051,1,\"A_set_accessor_cannot_have_an_optional_parameter_1051\",\"A 'set' accessor cannot have an optional parameter.\"),A_set_accessor_parameter_cannot_have_an_initializer:b(1052,1,\"A_set_accessor_parameter_cannot_have_an_initializer_1052\",\"A 'set' accessor parameter cannot have an initializer.\"),A_set_accessor_cannot_have_rest_parameter:b(1053,1,\"A_set_accessor_cannot_have_rest_parameter_1053\",\"A 'set' accessor cannot have rest parameter.\"),A_get_accessor_cannot_have_parameters:b(1054,1,\"A_get_accessor_cannot_have_parameters_1054\",\"A 'get' accessor cannot have parameters.\"),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:b(1055,1,\"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055\",\"Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value.\"),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:b(1056,1,\"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056\",\"Accessors are only available when targeting ECMAScript 5 and higher.\"),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:b(1058,1,\"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058\",\"The return type of an async function must either be a valid promise or must not contain a callable 'then' member.\"),A_promise_must_have_a_then_method:b(1059,1,\"A_promise_must_have_a_then_method_1059\",\"A promise must have a 'then' method.\"),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:b(1060,1,\"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060\",\"The first parameter of the 'then' method of a promise must be a callback.\"),Enum_member_must_have_initializer:b(1061,1,\"Enum_member_must_have_initializer_1061\",\"Enum member must have initializer.\"),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:b(1062,1,\"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062\",\"Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method.\"),An_export_assignment_cannot_be_used_in_a_namespace:b(1063,1,\"An_export_assignment_cannot_be_used_in_a_namespace_1063\",\"An export assignment cannot be used in a namespace.\"),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:b(1064,1,\"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064\",\"The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?\"),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type:b(1065,1,\"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065\",\"The return type of an async function or method must be the global Promise<T> type.\"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:b(1066,1,\"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066\",\"In ambient enum declarations member initializer must be constant expression.\"),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:b(1068,1,\"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068\",\"Unexpected token. A constructor, method, accessor, or property was expected.\"),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:b(1069,1,\"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069\",\"Unexpected token. A type parameter name was expected without curly braces.\"),_0_modifier_cannot_appear_on_a_type_member:b(1070,1,\"_0_modifier_cannot_appear_on_a_type_member_1070\",\"'{0}' modifier cannot appear on a type member.\"),_0_modifier_cannot_appear_on_an_index_signature:b(1071,1,\"_0_modifier_cannot_appear_on_an_index_signature_1071\",\"'{0}' modifier cannot appear on an index signature.\"),A_0_modifier_cannot_be_used_with_an_import_declaration:b(1079,1,\"A_0_modifier_cannot_be_used_with_an_import_declaration_1079\",\"A '{0}' modifier cannot be used with an import declaration.\"),Invalid_reference_directive_syntax:b(1084,1,\"Invalid_reference_directive_syntax_1084\",\"Invalid 'reference' directive syntax.\"),_0_modifier_cannot_appear_on_a_constructor_declaration:b(1089,1,\"_0_modifier_cannot_appear_on_a_constructor_declaration_1089\",\"'{0}' modifier cannot appear on a constructor declaration.\"),_0_modifier_cannot_appear_on_a_parameter:b(1090,1,\"_0_modifier_cannot_appear_on_a_parameter_1090\",\"'{0}' modifier cannot appear on a parameter.\"),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:b(1091,1,\"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091\",\"Only a single variable declaration is allowed in a 'for...in' statement.\"),Type_parameters_cannot_appear_on_a_constructor_declaration:b(1092,1,\"Type_parameters_cannot_appear_on_a_constructor_declaration_1092\",\"Type parameters cannot appear on a constructor declaration.\"),Type_annotation_cannot_appear_on_a_constructor_declaration:b(1093,1,\"Type_annotation_cannot_appear_on_a_constructor_declaration_1093\",\"Type annotation cannot appear on a constructor declaration.\"),An_accessor_cannot_have_type_parameters:b(1094,1,\"An_accessor_cannot_have_type_parameters_1094\",\"An accessor cannot have type parameters.\"),A_set_accessor_cannot_have_a_return_type_annotation:b(1095,1,\"A_set_accessor_cannot_have_a_return_type_annotation_1095\",\"A 'set' accessor cannot have a return type annotation.\"),An_index_signature_must_have_exactly_one_parameter:b(1096,1,\"An_index_signature_must_have_exactly_one_parameter_1096\",\"An index signature must have exactly one parameter.\"),_0_list_cannot_be_empty:b(1097,1,\"_0_list_cannot_be_empty_1097\",\"'{0}' list cannot be empty.\"),Type_parameter_list_cannot_be_empty:b(1098,1,\"Type_parameter_list_cannot_be_empty_1098\",\"Type parameter list cannot be empty.\"),Type_argument_list_cannot_be_empty:b(1099,1,\"Type_argument_list_cannot_be_empty_1099\",\"Type argument list cannot be empty.\"),Invalid_use_of_0_in_strict_mode:b(1100,1,\"Invalid_use_of_0_in_strict_mode_1100\",\"Invalid use of '{0}' in strict mode.\"),with_statements_are_not_allowed_in_strict_mode:b(1101,1,\"with_statements_are_not_allowed_in_strict_mode_1101\",\"'with' statements are not allowed in strict mode.\"),delete_cannot_be_called_on_an_identifier_in_strict_mode:b(1102,1,\"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102\",\"'delete' cannot be called on an identifier in strict mode.\"),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:b(1103,1,\"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103\",\"'for await' loops are only allowed within async functions and at the top levels of modules.\"),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:b(1104,1,\"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104\",\"A 'continue' statement can only be used within an enclosing iteration statement.\"),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:b(1105,1,\"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105\",\"A 'break' statement can only be used within an enclosing iteration or switch statement.\"),The_left_hand_side_of_a_for_of_statement_may_not_be_async:b(1106,1,\"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106\",\"The left-hand side of a 'for...of' statement may not be 'async'.\"),Jump_target_cannot_cross_function_boundary:b(1107,1,\"Jump_target_cannot_cross_function_boundary_1107\",\"Jump target cannot cross function boundary.\"),A_return_statement_can_only_be_used_within_a_function_body:b(1108,1,\"A_return_statement_can_only_be_used_within_a_function_body_1108\",\"A 'return' statement can only be used within a function body.\"),Expression_expected:b(1109,1,\"Expression_expected_1109\",\"Expression expected.\"),Type_expected:b(1110,1,\"Type_expected_1110\",\"Type expected.\"),Private_field_0_must_be_declared_in_an_enclosing_class:b(1111,1,\"Private_field_0_must_be_declared_in_an_enclosing_class_1111\",\"Private field '{0}' must be declared in an enclosing class.\"),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:b(1113,1,\"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113\",\"A 'default' clause cannot appear more than once in a 'switch' statement.\"),Duplicate_label_0:b(1114,1,\"Duplicate_label_0_1114\",\"Duplicate label '{0}'.\"),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:b(1115,1,\"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115\",\"A 'continue' statement can only jump to a label of an enclosing iteration statement.\"),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:b(1116,1,\"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116\",\"A 'break' statement can only jump to a label of an enclosing statement.\"),An_object_literal_cannot_have_multiple_properties_with_the_same_name:b(1117,1,\"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117\",\"An object literal cannot have multiple properties with the same name.\"),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:b(1118,1,\"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118\",\"An object literal cannot have multiple get/set accessors with the same name.\"),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:b(1119,1,\"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119\",\"An object literal cannot have property and accessor with the same name.\"),An_export_assignment_cannot_have_modifiers:b(1120,1,\"An_export_assignment_cannot_have_modifiers_1120\",\"An export assignment cannot have modifiers.\"),Octal_literals_are_not_allowed_Use_the_syntax_0:b(1121,1,\"Octal_literals_are_not_allowed_Use_the_syntax_0_1121\",\"Octal literals are not allowed. Use the syntax '{0}'.\"),Variable_declaration_list_cannot_be_empty:b(1123,1,\"Variable_declaration_list_cannot_be_empty_1123\",\"Variable declaration list cannot be empty.\"),Digit_expected:b(1124,1,\"Digit_expected_1124\",\"Digit expected.\"),Hexadecimal_digit_expected:b(1125,1,\"Hexadecimal_digit_expected_1125\",\"Hexadecimal digit expected.\"),Unexpected_end_of_text:b(1126,1,\"Unexpected_end_of_text_1126\",\"Unexpected end of text.\"),Invalid_character:b(1127,1,\"Invalid_character_1127\",\"Invalid character.\"),Declaration_or_statement_expected:b(1128,1,\"Declaration_or_statement_expected_1128\",\"Declaration or statement expected.\"),Statement_expected:b(1129,1,\"Statement_expected_1129\",\"Statement expected.\"),case_or_default_expected:b(1130,1,\"case_or_default_expected_1130\",\"'case' or 'default' expected.\"),Property_or_signature_expected:b(1131,1,\"Property_or_signature_expected_1131\",\"Property or signature expected.\"),Enum_member_expected:b(1132,1,\"Enum_member_expected_1132\",\"Enum member expected.\"),Variable_declaration_expected:b(1134,1,\"Variable_declaration_expected_1134\",\"Variable declaration expected.\"),Argument_expression_expected:b(1135,1,\"Argument_expression_expected_1135\",\"Argument expression expected.\"),Property_assignment_expected:b(1136,1,\"Property_assignment_expected_1136\",\"Property assignment expected.\"),Expression_or_comma_expected:b(1137,1,\"Expression_or_comma_expected_1137\",\"Expression or comma expected.\"),Parameter_declaration_expected:b(1138,1,\"Parameter_declaration_expected_1138\",\"Parameter declaration expected.\"),Type_parameter_declaration_expected:b(1139,1,\"Type_parameter_declaration_expected_1139\",\"Type parameter declaration expected.\"),Type_argument_expected:b(1140,1,\"Type_argument_expected_1140\",\"Type argument expected.\"),String_literal_expected:b(1141,1,\"String_literal_expected_1141\",\"String literal expected.\"),Line_break_not_permitted_here:b(1142,1,\"Line_break_not_permitted_here_1142\",\"Line break not permitted here.\"),or_expected:b(1144,1,\"or_expected_1144\",\"'{' or ';' expected.\"),or_JSX_element_expected:b(1145,1,\"or_JSX_element_expected_1145\",\"'{' or JSX element expected.\"),Declaration_expected:b(1146,1,\"Declaration_expected_1146\",\"Declaration expected.\"),Import_declarations_in_a_namespace_cannot_reference_a_module:b(1147,1,\"Import_declarations_in_a_namespace_cannot_reference_a_module_1147\",\"Import declarations in a namespace cannot reference a module.\"),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:b(1148,1,\"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148\",\"Cannot use imports, exports, or module augmentations when '--module' is 'none'.\"),File_name_0_differs_from_already_included_file_name_1_only_in_casing:b(1149,1,\"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149\",\"File name '{0}' differs from already included file name '{1}' only in casing.\"),_0_declarations_must_be_initialized:b(1155,1,\"_0_declarations_must_be_initialized_1155\",\"'{0}' declarations must be initialized.\"),_0_declarations_can_only_be_declared_inside_a_block:b(1156,1,\"_0_declarations_can_only_be_declared_inside_a_block_1156\",\"'{0}' declarations can only be declared inside a block.\"),Unterminated_template_literal:b(1160,1,\"Unterminated_template_literal_1160\",\"Unterminated template literal.\"),Unterminated_regular_expression_literal:b(1161,1,\"Unterminated_regular_expression_literal_1161\",\"Unterminated regular expression literal.\"),An_object_member_cannot_be_declared_optional:b(1162,1,\"An_object_member_cannot_be_declared_optional_1162\",\"An object member cannot be declared optional.\"),A_yield_expression_is_only_allowed_in_a_generator_body:b(1163,1,\"A_yield_expression_is_only_allowed_in_a_generator_body_1163\",\"A 'yield' expression is only allowed in a generator body.\"),Computed_property_names_are_not_allowed_in_enums:b(1164,1,\"Computed_property_names_are_not_allowed_in_enums_1164\",\"Computed property names are not allowed in enums.\"),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:b(1165,1,\"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165\",\"A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:b(1166,1,\"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166\",\"A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:b(1168,1,\"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168\",\"A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:b(1169,1,\"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169\",\"A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:b(1170,1,\"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170\",\"A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_comma_expression_is_not_allowed_in_a_computed_property_name:b(1171,1,\"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171\",\"A comma expression is not allowed in a computed property name.\"),extends_clause_already_seen:b(1172,1,\"extends_clause_already_seen_1172\",\"'extends' clause already seen.\"),extends_clause_must_precede_implements_clause:b(1173,1,\"extends_clause_must_precede_implements_clause_1173\",\"'extends' clause must precede 'implements' clause.\"),Classes_can_only_extend_a_single_class:b(1174,1,\"Classes_can_only_extend_a_single_class_1174\",\"Classes can only extend a single class.\"),implements_clause_already_seen:b(1175,1,\"implements_clause_already_seen_1175\",\"'implements' clause already seen.\"),Interface_declaration_cannot_have_implements_clause:b(1176,1,\"Interface_declaration_cannot_have_implements_clause_1176\",\"Interface declaration cannot have 'implements' clause.\"),Binary_digit_expected:b(1177,1,\"Binary_digit_expected_1177\",\"Binary digit expected.\"),Octal_digit_expected:b(1178,1,\"Octal_digit_expected_1178\",\"Octal digit expected.\"),Unexpected_token_expected:b(1179,1,\"Unexpected_token_expected_1179\",\"Unexpected token. '{' expected.\"),Property_destructuring_pattern_expected:b(1180,1,\"Property_destructuring_pattern_expected_1180\",\"Property destructuring pattern expected.\"),Array_element_destructuring_pattern_expected:b(1181,1,\"Array_element_destructuring_pattern_expected_1181\",\"Array element destructuring pattern expected.\"),A_destructuring_declaration_must_have_an_initializer:b(1182,1,\"A_destructuring_declaration_must_have_an_initializer_1182\",\"A destructuring declaration must have an initializer.\"),An_implementation_cannot_be_declared_in_ambient_contexts:b(1183,1,\"An_implementation_cannot_be_declared_in_ambient_contexts_1183\",\"An implementation cannot be declared in ambient contexts.\"),Modifiers_cannot_appear_here:b(1184,1,\"Modifiers_cannot_appear_here_1184\",\"Modifiers cannot appear here.\"),Merge_conflict_marker_encountered:b(1185,1,\"Merge_conflict_marker_encountered_1185\",\"Merge conflict marker encountered.\"),A_rest_element_cannot_have_an_initializer:b(1186,1,\"A_rest_element_cannot_have_an_initializer_1186\",\"A rest element cannot have an initializer.\"),A_parameter_property_may_not_be_declared_using_a_binding_pattern:b(1187,1,\"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187\",\"A parameter property may not be declared using a binding pattern.\"),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:b(1188,1,\"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188\",\"Only a single variable declaration is allowed in a 'for...of' statement.\"),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:b(1189,1,\"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189\",\"The variable declaration of a 'for...in' statement cannot have an initializer.\"),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:b(1190,1,\"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190\",\"The variable declaration of a 'for...of' statement cannot have an initializer.\"),An_import_declaration_cannot_have_modifiers:b(1191,1,\"An_import_declaration_cannot_have_modifiers_1191\",\"An import declaration cannot have modifiers.\"),Module_0_has_no_default_export:b(1192,1,\"Module_0_has_no_default_export_1192\",\"Module '{0}' has no default export.\"),An_export_declaration_cannot_have_modifiers:b(1193,1,\"An_export_declaration_cannot_have_modifiers_1193\",\"An export declaration cannot have modifiers.\"),Export_declarations_are_not_permitted_in_a_namespace:b(1194,1,\"Export_declarations_are_not_permitted_in_a_namespace_1194\",\"Export declarations are not permitted in a namespace.\"),export_Asterisk_does_not_re_export_a_default:b(1195,1,\"export_Asterisk_does_not_re_export_a_default_1195\",\"'export *' does not re-export a default.\"),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:b(1196,1,\"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196\",\"Catch clause variable type annotation must be 'any' or 'unknown' if specified.\"),Catch_clause_variable_cannot_have_an_initializer:b(1197,1,\"Catch_clause_variable_cannot_have_an_initializer_1197\",\"Catch clause variable cannot have an initializer.\"),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:b(1198,1,\"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198\",\"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive.\"),Unterminated_Unicode_escape_sequence:b(1199,1,\"Unterminated_Unicode_escape_sequence_1199\",\"Unterminated Unicode escape sequence.\"),Line_terminator_not_permitted_before_arrow:b(1200,1,\"Line_terminator_not_permitted_before_arrow_1200\",\"Line terminator not permitted before arrow.\"),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:b(1202,1,\"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202\",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:b(1203,1,\"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203\",\"Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead.\"),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:b(1205,1,\"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205\",\"Re-exporting a type when '{0}' is enabled requires using 'export type'.\"),Decorators_are_not_valid_here:b(1206,1,\"Decorators_are_not_valid_here_1206\",\"Decorators are not valid here.\"),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:b(1207,1,\"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207\",\"Decorators cannot be applied to multiple get/set accessors of the same name.\"),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:b(1209,1,\"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209\",\"Invalid optional chain from new expression. Did you mean to call '{0}()'?\"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:b(1210,1,\"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210\",\"Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode.\"),A_class_declaration_without_the_default_modifier_must_have_a_name:b(1211,1,\"A_class_declaration_without_the_default_modifier_must_have_a_name_1211\",\"A class declaration without the 'default' modifier must have a name.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode:b(1212,1,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212\",\"Identifier expected. '{0}' is a reserved word in strict mode.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:b(1213,1,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213\",\"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:b(1214,1,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214\",\"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode.\"),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:b(1215,1,\"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215\",\"Invalid use of '{0}'. Modules are automatically in strict mode.\"),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:b(1216,1,\"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216\",\"Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.\"),Export_assignment_is_not_supported_when_module_flag_is_system:b(1218,1,\"Export_assignment_is_not_supported_when_module_flag_is_system_1218\",\"Export assignment is not supported when '--module' flag is 'system'.\"),Generators_are_not_allowed_in_an_ambient_context:b(1221,1,\"Generators_are_not_allowed_in_an_ambient_context_1221\",\"Generators are not allowed in an ambient context.\"),An_overload_signature_cannot_be_declared_as_a_generator:b(1222,1,\"An_overload_signature_cannot_be_declared_as_a_generator_1222\",\"An overload signature cannot be declared as a generator.\"),_0_tag_already_specified:b(1223,1,\"_0_tag_already_specified_1223\",\"'{0}' tag already specified.\"),Signature_0_must_be_a_type_predicate:b(1224,1,\"Signature_0_must_be_a_type_predicate_1224\",\"Signature '{0}' must be a type predicate.\"),Cannot_find_parameter_0:b(1225,1,\"Cannot_find_parameter_0_1225\",\"Cannot find parameter '{0}'.\"),Type_predicate_0_is_not_assignable_to_1:b(1226,1,\"Type_predicate_0_is_not_assignable_to_1_1226\",\"Type predicate '{0}' is not assignable to '{1}'.\"),Parameter_0_is_not_in_the_same_position_as_parameter_1:b(1227,1,\"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227\",\"Parameter '{0}' is not in the same position as parameter '{1}'.\"),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:b(1228,1,\"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228\",\"A type predicate is only allowed in return type position for functions and methods.\"),A_type_predicate_cannot_reference_a_rest_parameter:b(1229,1,\"A_type_predicate_cannot_reference_a_rest_parameter_1229\",\"A type predicate cannot reference a rest parameter.\"),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:b(1230,1,\"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230\",\"A type predicate cannot reference element '{0}' in a binding pattern.\"),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:b(1231,1,\"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231\",\"An export assignment must be at the top level of a file or module declaration.\"),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:b(1232,1,\"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232\",\"An import declaration can only be used at the top level of a namespace or module.\"),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:b(1233,1,\"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233\",\"An export declaration can only be used at the top level of a namespace or module.\"),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:b(1234,1,\"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234\",\"An ambient module declaration is only allowed at the top level in a file.\"),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:b(1235,1,\"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235\",\"A namespace declaration is only allowed at the top level of a namespace or module.\"),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:b(1236,1,\"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236\",\"The return type of a property decorator function must be either 'void' or 'any'.\"),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:b(1237,1,\"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237\",\"The return type of a parameter decorator function must be either 'void' or 'any'.\"),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:b(1238,1,\"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238\",\"Unable to resolve signature of class decorator when called as an expression.\"),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:b(1239,1,\"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239\",\"Unable to resolve signature of parameter decorator when called as an expression.\"),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:b(1240,1,\"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240\",\"Unable to resolve signature of property decorator when called as an expression.\"),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:b(1241,1,\"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241\",\"Unable to resolve signature of method decorator when called as an expression.\"),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:b(1242,1,\"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242\",\"'abstract' modifier can only appear on a class, method, or property declaration.\"),_0_modifier_cannot_be_used_with_1_modifier:b(1243,1,\"_0_modifier_cannot_be_used_with_1_modifier_1243\",\"'{0}' modifier cannot be used with '{1}' modifier.\"),Abstract_methods_can_only_appear_within_an_abstract_class:b(1244,1,\"Abstract_methods_can_only_appear_within_an_abstract_class_1244\",\"Abstract methods can only appear within an abstract class.\"),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:b(1245,1,\"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245\",\"Method '{0}' cannot have an implementation because it is marked abstract.\"),An_interface_property_cannot_have_an_initializer:b(1246,1,\"An_interface_property_cannot_have_an_initializer_1246\",\"An interface property cannot have an initializer.\"),A_type_literal_property_cannot_have_an_initializer:b(1247,1,\"A_type_literal_property_cannot_have_an_initializer_1247\",\"A type literal property cannot have an initializer.\"),A_class_member_cannot_have_the_0_keyword:b(1248,1,\"A_class_member_cannot_have_the_0_keyword_1248\",\"A class member cannot have the '{0}' keyword.\"),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:b(1249,1,\"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249\",\"A decorator can only decorate a method implementation, not an overload.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:b(1250,1,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:b(1251,1,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:b(1252,1,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode.\"),Abstract_properties_can_only_appear_within_an_abstract_class:b(1253,1,\"Abstract_properties_can_only_appear_within_an_abstract_class_1253\",\"Abstract properties can only appear within an abstract class.\"),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:b(1254,1,\"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254\",\"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.\"),A_definite_assignment_assertion_is_not_permitted_in_this_context:b(1255,1,\"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255\",\"A definite assignment assertion '!' is not permitted in this context.\"),A_required_element_cannot_follow_an_optional_element:b(1257,1,\"A_required_element_cannot_follow_an_optional_element_1257\",\"A required element cannot follow an optional element.\"),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:b(1258,1,\"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258\",\"A default export must be at the top level of a file or module declaration.\"),Module_0_can_only_be_default_imported_using_the_1_flag:b(1259,1,\"Module_0_can_only_be_default_imported_using_the_1_flag_1259\",\"Module '{0}' can only be default-imported using the '{1}' flag\"),Keywords_cannot_contain_escape_characters:b(1260,1,\"Keywords_cannot_contain_escape_characters_1260\",\"Keywords cannot contain escape characters.\"),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:b(1261,1,\"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261\",\"Already included file name '{0}' differs from file name '{1}' only in casing.\"),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:b(1262,1,\"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262\",\"Identifier expected. '{0}' is a reserved word at the top-level of a module.\"),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:b(1263,1,\"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263\",\"Declarations with initializers cannot also have definite assignment assertions.\"),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:b(1264,1,\"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264\",\"Declarations with definite assignment assertions must also have type annotations.\"),A_rest_element_cannot_follow_another_rest_element:b(1265,1,\"A_rest_element_cannot_follow_another_rest_element_1265\",\"A rest element cannot follow another rest element.\"),An_optional_element_cannot_follow_a_rest_element:b(1266,1,\"An_optional_element_cannot_follow_a_rest_element_1266\",\"An optional element cannot follow a rest element.\"),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:b(1267,1,\"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267\",\"Property '{0}' cannot have an initializer because it is marked abstract.\"),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:b(1268,1,\"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268\",\"An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type.\"),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:b(1269,1,\"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269\",\"Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled.\"),Decorator_function_return_type_0_is_not_assignable_to_type_1:b(1270,1,\"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270\",\"Decorator function return type '{0}' is not assignable to type '{1}'.\"),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:b(1271,1,\"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271\",\"Decorator function return type is '{0}' but is expected to be 'void' or 'any'.\"),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:b(1272,1,\"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272\",\"A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled.\"),_0_modifier_cannot_appear_on_a_type_parameter:b(1273,1,\"_0_modifier_cannot_appear_on_a_type_parameter_1273\",\"'{0}' modifier cannot appear on a type parameter\"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:b(1274,1,\"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274\",\"'{0}' modifier can only appear on a type parameter of a class, interface or type alias\"),accessor_modifier_can_only_appear_on_a_property_declaration:b(1275,1,\"accessor_modifier_can_only_appear_on_a_property_declaration_1275\",\"'accessor' modifier can only appear on a property declaration.\"),An_accessor_property_cannot_be_declared_optional:b(1276,1,\"An_accessor_property_cannot_be_declared_optional_1276\",\"An 'accessor' property cannot be declared optional.\"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:b(1277,1,\"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277\",\"'{0}' modifier can only appear on a type parameter of a function, method or class\"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:b(1278,1,\"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278\",\"The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}.\"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:b(1279,1,\"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279\",\"The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}.\"),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:b(1280,1,\"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280\",\"Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement.\"),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:b(1281,1,\"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281\",\"Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead.\"),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:b(1282,1,\"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282\",\"An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type.\"),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:b(1283,1,\"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283\",\"An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration.\"),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:b(1284,1,\"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284\",\"An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type.\"),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:b(1285,1,\"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285\",\"An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration.\"),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:b(1286,1,\"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286\",\"ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.\"),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:b(1287,1,\"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287\",\"A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled.\"),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:b(1288,1,\"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288\",\"An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled.\"),_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:b(1289,1,\"_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_1289\",\"'{0}' resolves to a type-only declaration and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'import type' where '{0}' is imported.\"),_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default:b(1290,1,\"_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_1290\",\"'{0}' resolves to a type-only declaration and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'export type { {0} as default }'.\"),_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:b(1291,1,\"_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enable_1291\",\"'{0}' resolves to a type and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'import type' where '{0}' is imported.\"),_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default:b(1292,1,\"_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enable_1292\",\"'{0}' resolves to a type and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'export type { {0} as default }'.\"),with_statements_are_not_allowed_in_an_async_function_block:b(1300,1,\"with_statements_are_not_allowed_in_an_async_function_block_1300\",\"'with' statements are not allowed in an async function block.\"),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:b(1308,1,\"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308\",\"'await' expressions are only allowed within async functions and at the top levels of modules.\"),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:b(1309,1,\"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309\",\"The current file is a CommonJS module and cannot use 'await' at the top level.\"),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:b(1312,1,\"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312\",\"Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern.\"),The_body_of_an_if_statement_cannot_be_the_empty_statement:b(1313,1,\"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313\",\"The body of an 'if' statement cannot be the empty statement.\"),Global_module_exports_may_only_appear_in_module_files:b(1314,1,\"Global_module_exports_may_only_appear_in_module_files_1314\",\"Global module exports may only appear in module files.\"),Global_module_exports_may_only_appear_in_declaration_files:b(1315,1,\"Global_module_exports_may_only_appear_in_declaration_files_1315\",\"Global module exports may only appear in declaration files.\"),Global_module_exports_may_only_appear_at_top_level:b(1316,1,\"Global_module_exports_may_only_appear_at_top_level_1316\",\"Global module exports may only appear at top level.\"),A_parameter_property_cannot_be_declared_using_a_rest_parameter:b(1317,1,\"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317\",\"A parameter property cannot be declared using a rest parameter.\"),An_abstract_accessor_cannot_have_an_implementation:b(1318,1,\"An_abstract_accessor_cannot_have_an_implementation_1318\",\"An abstract accessor cannot have an implementation.\"),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:b(1319,1,\"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319\",\"A default export can only be used in an ECMAScript-style module.\"),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:b(1320,1,\"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320\",\"Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member.\"),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:b(1321,1,\"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321\",\"Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member.\"),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:b(1322,1,\"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322\",\"Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member.\"),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:b(1323,1,\"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323\",\"Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'.\"),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext:b(1324,1,\"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324\",\"Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'.\"),Argument_of_dynamic_import_cannot_be_spread_element:b(1325,1,\"Argument_of_dynamic_import_cannot_be_spread_element_1325\",\"Argument of dynamic import cannot be spread element.\"),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:b(1326,1,\"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326\",\"This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments.\"),String_literal_with_double_quotes_expected:b(1327,1,\"String_literal_with_double_quotes_expected_1327\",\"String literal with double quotes expected.\"),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:b(1328,1,\"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328\",\"Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal.\"),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:b(1329,1,\"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329\",\"'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?\"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:b(1330,1,\"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330\",\"A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.\"),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:b(1331,1,\"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331\",\"A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.\"),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:b(1332,1,\"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332\",\"A variable whose type is a 'unique symbol' type must be 'const'.\"),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:b(1333,1,\"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333\",\"'unique symbol' types may not be used on a variable declaration with a binding name.\"),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:b(1334,1,\"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334\",\"'unique symbol' types are only allowed on variables in a variable statement.\"),unique_symbol_types_are_not_allowed_here:b(1335,1,\"unique_symbol_types_are_not_allowed_here_1335\",\"'unique symbol' types are not allowed here.\"),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:b(1337,1,\"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337\",\"An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead.\"),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:b(1338,1,\"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338\",\"'infer' declarations are only permitted in the 'extends' clause of a conditional type.\"),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:b(1339,1,\"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339\",\"Module '{0}' does not refer to a value, but is used as a value here.\"),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:b(1340,1,\"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340\",\"Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?\"),Class_constructor_may_not_be_an_accessor:b(1341,1,\"Class_constructor_may_not_be_an_accessor_1341\",\"Class constructor may not be an accessor.\"),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:b(1343,1,\"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343\",\"The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'.\"),A_label_is_not_allowed_here:b(1344,1,\"A_label_is_not_allowed_here_1344\",\"'A label is not allowed here.\"),An_expression_of_type_void_cannot_be_tested_for_truthiness:b(1345,1,\"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345\",\"An expression of type 'void' cannot be tested for truthiness.\"),This_parameter_is_not_allowed_with_use_strict_directive:b(1346,1,\"This_parameter_is_not_allowed_with_use_strict_directive_1346\",\"This parameter is not allowed with 'use strict' directive.\"),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:b(1347,1,\"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347\",\"'use strict' directive cannot be used with non-simple parameter list.\"),Non_simple_parameter_declared_here:b(1348,1,\"Non_simple_parameter_declared_here_1348\",\"Non-simple parameter declared here.\"),use_strict_directive_used_here:b(1349,1,\"use_strict_directive_used_here_1349\",\"'use strict' directive used here.\"),Print_the_final_configuration_instead_of_building:b(1350,3,\"Print_the_final_configuration_instead_of_building_1350\",\"Print the final configuration instead of building.\"),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:b(1351,1,\"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351\",\"An identifier or keyword cannot immediately follow a numeric literal.\"),A_bigint_literal_cannot_use_exponential_notation:b(1352,1,\"A_bigint_literal_cannot_use_exponential_notation_1352\",\"A bigint literal cannot use exponential notation.\"),A_bigint_literal_must_be_an_integer:b(1353,1,\"A_bigint_literal_must_be_an_integer_1353\",\"A bigint literal must be an integer.\"),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:b(1354,1,\"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354\",\"'readonly' type modifier is only permitted on array and tuple literal types.\"),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:b(1355,1,\"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355\",\"A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals.\"),Did_you_mean_to_mark_this_function_as_async:b(1356,1,\"Did_you_mean_to_mark_this_function_as_async_1356\",\"Did you mean to mark this function as 'async'?\"),An_enum_member_name_must_be_followed_by_a_or:b(1357,1,\"An_enum_member_name_must_be_followed_by_a_or_1357\",\"An enum member name must be followed by a ',', '=', or '}'.\"),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:b(1358,1,\"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358\",\"Tagged template expressions are not permitted in an optional chain.\"),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:b(1359,1,\"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359\",\"Identifier expected. '{0}' is a reserved word that cannot be used here.\"),Type_0_does_not_satisfy_the_expected_type_1:b(1360,1,\"Type_0_does_not_satisfy_the_expected_type_1_1360\",\"Type '{0}' does not satisfy the expected type '{1}'.\"),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:b(1361,1,\"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361\",\"'{0}' cannot be used as a value because it was imported using 'import type'.\"),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:b(1362,1,\"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362\",\"'{0}' cannot be used as a value because it was exported using 'export type'.\"),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:b(1363,1,\"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363\",\"A type-only import can specify a default import or named bindings, but not both.\"),Convert_to_type_only_export:b(1364,3,\"Convert_to_type_only_export_1364\",\"Convert to type-only export\"),Convert_all_re_exported_types_to_type_only_exports:b(1365,3,\"Convert_all_re_exported_types_to_type_only_exports_1365\",\"Convert all re-exported types to type-only exports\"),Split_into_two_separate_import_declarations:b(1366,3,\"Split_into_two_separate_import_declarations_1366\",\"Split into two separate import declarations\"),Split_all_invalid_type_only_imports:b(1367,3,\"Split_all_invalid_type_only_imports_1367\",\"Split all invalid type-only imports\"),Class_constructor_may_not_be_a_generator:b(1368,1,\"Class_constructor_may_not_be_a_generator_1368\",\"Class constructor may not be a generator.\"),Did_you_mean_0:b(1369,3,\"Did_you_mean_0_1369\",\"Did you mean '{0}'?\"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:b(1371,1,\"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371\",\"This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'.\"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:b(1375,1,\"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375\",\"'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\"),_0_was_imported_here:b(1376,3,\"_0_was_imported_here_1376\",\"'{0}' was imported here.\"),_0_was_exported_here:b(1377,3,\"_0_was_exported_here_1377\",\"'{0}' was exported here.\"),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:b(1378,1,\"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378\",\"Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher.\"),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:b(1379,1,\"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379\",\"An import alias cannot reference a declaration that was exported using 'export type'.\"),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:b(1380,1,\"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380\",\"An import alias cannot reference a declaration that was imported using 'import type'.\"),Unexpected_token_Did_you_mean_or_rbrace:b(1381,1,\"Unexpected_token_Did_you_mean_or_rbrace_1381\",\"Unexpected token. Did you mean `{'}'}` or `&rbrace;`?\"),Unexpected_token_Did_you_mean_or_gt:b(1382,1,\"Unexpected_token_Did_you_mean_or_gt_1382\",\"Unexpected token. Did you mean `{'>'}` or `&gt;`?\"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:b(1385,1,\"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385\",\"Function type notation must be parenthesized when used in a union type.\"),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:b(1386,1,\"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386\",\"Constructor type notation must be parenthesized when used in a union type.\"),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:b(1387,1,\"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387\",\"Function type notation must be parenthesized when used in an intersection type.\"),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:b(1388,1,\"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388\",\"Constructor type notation must be parenthesized when used in an intersection type.\"),_0_is_not_allowed_as_a_variable_declaration_name:b(1389,1,\"_0_is_not_allowed_as_a_variable_declaration_name_1389\",\"'{0}' is not allowed as a variable declaration name.\"),_0_is_not_allowed_as_a_parameter_name:b(1390,1,\"_0_is_not_allowed_as_a_parameter_name_1390\",\"'{0}' is not allowed as a parameter name.\"),An_import_alias_cannot_use_import_type:b(1392,1,\"An_import_alias_cannot_use_import_type_1392\",\"An import alias cannot use 'import type'\"),Imported_via_0_from_file_1:b(1393,3,\"Imported_via_0_from_file_1_1393\",\"Imported via {0} from file '{1}'\"),Imported_via_0_from_file_1_with_packageId_2:b(1394,3,\"Imported_via_0_from_file_1_with_packageId_2_1394\",\"Imported via {0} from file '{1}' with packageId '{2}'\"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:b(1395,3,\"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395\",\"Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions\"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:b(1396,3,\"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396\",\"Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions\"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:b(1397,3,\"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397\",\"Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions\"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:b(1398,3,\"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398\",\"Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions\"),File_is_included_via_import_here:b(1399,3,\"File_is_included_via_import_here_1399\",\"File is included via import here.\"),Referenced_via_0_from_file_1:b(1400,3,\"Referenced_via_0_from_file_1_1400\",\"Referenced via '{0}' from file '{1}'\"),File_is_included_via_reference_here:b(1401,3,\"File_is_included_via_reference_here_1401\",\"File is included via reference here.\"),Type_library_referenced_via_0_from_file_1:b(1402,3,\"Type_library_referenced_via_0_from_file_1_1402\",\"Type library referenced via '{0}' from file '{1}'\"),Type_library_referenced_via_0_from_file_1_with_packageId_2:b(1403,3,\"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403\",\"Type library referenced via '{0}' from file '{1}' with packageId '{2}'\"),File_is_included_via_type_library_reference_here:b(1404,3,\"File_is_included_via_type_library_reference_here_1404\",\"File is included via type library reference here.\"),Library_referenced_via_0_from_file_1:b(1405,3,\"Library_referenced_via_0_from_file_1_1405\",\"Library referenced via '{0}' from file '{1}'\"),File_is_included_via_library_reference_here:b(1406,3,\"File_is_included_via_library_reference_here_1406\",\"File is included via library reference here.\"),Matched_by_include_pattern_0_in_1:b(1407,3,\"Matched_by_include_pattern_0_in_1_1407\",\"Matched by include pattern '{0}' in '{1}'\"),File_is_matched_by_include_pattern_specified_here:b(1408,3,\"File_is_matched_by_include_pattern_specified_here_1408\",\"File is matched by include pattern specified here.\"),Part_of_files_list_in_tsconfig_json:b(1409,3,\"Part_of_files_list_in_tsconfig_json_1409\",\"Part of 'files' list in tsconfig.json\"),File_is_matched_by_files_list_specified_here:b(1410,3,\"File_is_matched_by_files_list_specified_here_1410\",\"File is matched by 'files' list specified here.\"),Output_from_referenced_project_0_included_because_1_specified:b(1411,3,\"Output_from_referenced_project_0_included_because_1_specified_1411\",\"Output from referenced project '{0}' included because '{1}' specified\"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:b(1412,3,\"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412\",\"Output from referenced project '{0}' included because '--module' is specified as 'none'\"),File_is_output_from_referenced_project_specified_here:b(1413,3,\"File_is_output_from_referenced_project_specified_here_1413\",\"File is output from referenced project specified here.\"),Source_from_referenced_project_0_included_because_1_specified:b(1414,3,\"Source_from_referenced_project_0_included_because_1_specified_1414\",\"Source from referenced project '{0}' included because '{1}' specified\"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:b(1415,3,\"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415\",\"Source from referenced project '{0}' included because '--module' is specified as 'none'\"),File_is_source_from_referenced_project_specified_here:b(1416,3,\"File_is_source_from_referenced_project_specified_here_1416\",\"File is source from referenced project specified here.\"),Entry_point_of_type_library_0_specified_in_compilerOptions:b(1417,3,\"Entry_point_of_type_library_0_specified_in_compilerOptions_1417\",\"Entry point of type library '{0}' specified in compilerOptions\"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:b(1418,3,\"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418\",\"Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'\"),File_is_entry_point_of_type_library_specified_here:b(1419,3,\"File_is_entry_point_of_type_library_specified_here_1419\",\"File is entry point of type library specified here.\"),Entry_point_for_implicit_type_library_0:b(1420,3,\"Entry_point_for_implicit_type_library_0_1420\",\"Entry point for implicit type library '{0}'\"),Entry_point_for_implicit_type_library_0_with_packageId_1:b(1421,3,\"Entry_point_for_implicit_type_library_0_with_packageId_1_1421\",\"Entry point for implicit type library '{0}' with packageId '{1}'\"),Library_0_specified_in_compilerOptions:b(1422,3,\"Library_0_specified_in_compilerOptions_1422\",\"Library '{0}' specified in compilerOptions\"),File_is_library_specified_here:b(1423,3,\"File_is_library_specified_here_1423\",\"File is library specified here.\"),Default_library:b(1424,3,\"Default_library_1424\",\"Default library\"),Default_library_for_target_0:b(1425,3,\"Default_library_for_target_0_1425\",\"Default library for target '{0}'\"),File_is_default_library_for_target_specified_here:b(1426,3,\"File_is_default_library_for_target_specified_here_1426\",\"File is default library for target specified here.\"),Root_file_specified_for_compilation:b(1427,3,\"Root_file_specified_for_compilation_1427\",\"Root file specified for compilation\"),File_is_output_of_project_reference_source_0:b(1428,3,\"File_is_output_of_project_reference_source_0_1428\",\"File is output of project reference source '{0}'\"),File_redirects_to_file_0:b(1429,3,\"File_redirects_to_file_0_1429\",\"File redirects to file '{0}'\"),The_file_is_in_the_program_because_Colon:b(1430,3,\"The_file_is_in_the_program_because_Colon_1430\",\"The file is in the program because:\"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:b(1431,1,\"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431\",\"'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\"),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:b(1432,1,\"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432\",\"Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher.\"),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:b(1433,1,\"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433\",\"Neither decorators nor modifiers may be applied to 'this' parameters.\"),Unexpected_keyword_or_identifier:b(1434,1,\"Unexpected_keyword_or_identifier_1434\",\"Unexpected keyword or identifier.\"),Unknown_keyword_or_identifier_Did_you_mean_0:b(1435,1,\"Unknown_keyword_or_identifier_Did_you_mean_0_1435\",\"Unknown keyword or identifier. Did you mean '{0}'?\"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:b(1436,1,\"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436\",\"Decorators must precede the name and all keywords of property declarations.\"),Namespace_must_be_given_a_name:b(1437,1,\"Namespace_must_be_given_a_name_1437\",\"Namespace must be given a name.\"),Interface_must_be_given_a_name:b(1438,1,\"Interface_must_be_given_a_name_1438\",\"Interface must be given a name.\"),Type_alias_must_be_given_a_name:b(1439,1,\"Type_alias_must_be_given_a_name_1439\",\"Type alias must be given a name.\"),Variable_declaration_not_allowed_at_this_location:b(1440,1,\"Variable_declaration_not_allowed_at_this_location_1440\",\"Variable declaration not allowed at this location.\"),Cannot_start_a_function_call_in_a_type_annotation:b(1441,1,\"Cannot_start_a_function_call_in_a_type_annotation_1441\",\"Cannot start a function call in a type annotation.\"),Expected_for_property_initializer:b(1442,1,\"Expected_for_property_initializer_1442\",\"Expected '=' for property initializer.\"),Module_declaration_names_may_only_use_or_quoted_strings:b(1443,1,\"Module_declaration_names_may_only_use_or_quoted_strings_1443\",`Module declaration names may only use ' or \" quoted strings.`),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:b(1444,1,\"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444\",\"'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled.\"),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:b(1446,1,\"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446\",\"'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled.\"),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:b(1448,1,\"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448\",\"'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled.\"),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:b(1449,3,\"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449\",\"Preserve unused imported values in the JavaScript output that would otherwise be removed.\"),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments:b(1450,3,\"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments_1450\",\"Dynamic imports can only accept a module specifier and an optional set of attributes as arguments\"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:b(1451,1,\"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451\",\"Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression\"),resolution_mode_should_be_either_require_or_import:b(1453,1,\"resolution_mode_should_be_either_require_or_import_1453\",\"`resolution-mode` should be either `require` or `import`.\"),resolution_mode_can_only_be_set_for_type_only_imports:b(1454,1,\"resolution_mode_can_only_be_set_for_type_only_imports_1454\",\"`resolution-mode` can only be set for type-only imports.\"),resolution_mode_is_the_only_valid_key_for_type_import_assertions:b(1455,1,\"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455\",\"`resolution-mode` is the only valid key for type import assertions.\"),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:b(1456,1,\"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456\",\"Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`.\"),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:b(1457,3,\"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457\",\"Matched by default include pattern '**/*'\"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:b(1458,3,\"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458\",`File is ECMAScript module because '{0}' has field \"type\" with value \"module\"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:b(1459,3,\"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459\",`File is CommonJS module because '{0}' has field \"type\" whose value is not \"module\"`),File_is_CommonJS_module_because_0_does_not_have_field_type:b(1460,3,\"File_is_CommonJS_module_because_0_does_not_have_field_type_1460\",`File is CommonJS module because '{0}' does not have field \"type\"`),File_is_CommonJS_module_because_package_json_was_not_found:b(1461,3,\"File_is_CommonJS_module_because_package_json_was_not_found_1461\",\"File is CommonJS module because 'package.json' was not found\"),resolution_mode_is_the_only_valid_key_for_type_import_attributes:b(1463,1,\"resolution_mode_is_the_only_valid_key_for_type_import_attributes_1463\",\"'resolution-mode' is the only valid key for type import attributes.\"),Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:b(1464,1,\"Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1464\",\"Type import attributes should have exactly one key - 'resolution-mode' - with value 'import' or 'require'.\"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:b(1470,1,\"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470\",\"The 'import.meta' meta-property is not allowed in files which will build into CommonJS output.\"),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:b(1471,1,\"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471\",\"Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead.\"),catch_or_finally_expected:b(1472,1,\"catch_or_finally_expected_1472\",\"'catch' or 'finally' expected.\"),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:b(1473,1,\"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473\",\"An import declaration can only be used at the top level of a module.\"),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:b(1474,1,\"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474\",\"An export declaration can only be used at the top level of a module.\"),Control_what_method_is_used_to_detect_module_format_JS_files:b(1475,3,\"Control_what_method_is_used_to_detect_module_format_JS_files_1475\",\"Control what method is used to detect module-format JS files.\"),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:b(1476,3,\"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476\",'\"auto\": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:b(1477,1,\"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477\",\"An instantiation expression cannot be followed by a property access.\"),Identifier_or_string_literal_expected:b(1478,1,\"Identifier_or_string_literal_expected_1478\",\"Identifier or string literal expected.\"),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:b(1479,1,\"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479\",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"{0}\")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:b(1480,3,\"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480\",'To convert this file to an ECMAScript module, change its file extension to \\'{0}\\' or create a local package.json file with `{ \"type\": \"module\" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:b(1481,3,\"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481\",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \\`\"type\": \"module\"\\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:b(1482,3,\"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482\",'To convert this file to an ECMAScript module, add the field `\"type\": \"module\"` to \\'{0}\\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:b(1483,3,\"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483\",'To convert this file to an ECMAScript module, create a local package.json file with `{ \"type\": \"module\" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:b(1484,1,\"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484\",\"'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled.\"),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:b(1485,1,\"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485\",\"'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled.\"),Decorator_used_before_export_here:b(1486,1,\"Decorator_used_before_export_here_1486\",\"Decorator used before 'export' here.\"),Octal_escape_sequences_are_not_allowed_Use_the_syntax_0:b(1487,1,\"Octal_escape_sequences_are_not_allowed_Use_the_syntax_0_1487\",\"Octal escape sequences are not allowed. Use the syntax '{0}'.\"),Escape_sequence_0_is_not_allowed:b(1488,1,\"Escape_sequence_0_is_not_allowed_1488\",\"Escape sequence '{0}' is not allowed.\"),Decimals_with_leading_zeros_are_not_allowed:b(1489,1,\"Decimals_with_leading_zeros_are_not_allowed_1489\",\"Decimals with leading zeros are not allowed.\"),File_appears_to_be_binary:b(1490,1,\"File_appears_to_be_binary_1490\",\"File appears to be binary.\"),_0_modifier_cannot_appear_on_a_using_declaration:b(1491,1,\"_0_modifier_cannot_appear_on_a_using_declaration_1491\",\"'{0}' modifier cannot appear on a 'using' declaration.\"),_0_declarations_may_not_have_binding_patterns:b(1492,1,\"_0_declarations_may_not_have_binding_patterns_1492\",\"'{0}' declarations may not have binding patterns.\"),The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration:b(1493,1,\"The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration_1493\",\"The left-hand side of a 'for...in' statement cannot be a 'using' declaration.\"),The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration:b(1494,1,\"The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration_1494\",\"The left-hand side of a 'for...in' statement cannot be an 'await using' declaration.\"),_0_modifier_cannot_appear_on_an_await_using_declaration:b(1495,1,\"_0_modifier_cannot_appear_on_an_await_using_declaration_1495\",\"'{0}' modifier cannot appear on an 'await using' declaration.\"),Identifier_string_literal_or_number_literal_expected:b(1496,1,\"Identifier_string_literal_or_number_literal_expected_1496\",\"Identifier, string literal, or number literal expected.\"),The_types_of_0_are_incompatible_between_these_types:b(2200,1,\"The_types_of_0_are_incompatible_between_these_types_2200\",\"The types of '{0}' are incompatible between these types.\"),The_types_returned_by_0_are_incompatible_between_these_types:b(2201,1,\"The_types_returned_by_0_are_incompatible_between_these_types_2201\",\"The types returned by '{0}' are incompatible between these types.\"),Call_signature_return_types_0_and_1_are_incompatible:b(2202,1,\"Call_signature_return_types_0_and_1_are_incompatible_2202\",\"Call signature return types '{0}' and '{1}' are incompatible.\",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:b(2203,1,\"Construct_signature_return_types_0_and_1_are_incompatible_2203\",\"Construct signature return types '{0}' and '{1}' are incompatible.\",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:b(2204,1,\"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204\",\"Call signatures with no arguments have incompatible return types '{0}' and '{1}'.\",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:b(2205,1,\"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205\",\"Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.\",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:b(2206,1,\"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206\",\"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.\"),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:b(2207,1,\"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207\",\"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.\"),This_type_parameter_might_need_an_extends_0_constraint:b(2208,1,\"This_type_parameter_might_need_an_extends_0_constraint_2208\",\"This type parameter might need an `extends {0}` constraint.\"),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:b(2209,1,\"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209\",\"The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate.\"),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:b(2210,1,\"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210\",\"The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate.\"),Add_extends_constraint:b(2211,3,\"Add_extends_constraint_2211\",\"Add `extends` constraint.\"),Add_extends_constraint_to_all_type_parameters:b(2212,3,\"Add_extends_constraint_to_all_type_parameters_2212\",\"Add `extends` constraint to all type parameters\"),Duplicate_identifier_0:b(2300,1,\"Duplicate_identifier_0_2300\",\"Duplicate identifier '{0}'.\"),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:b(2301,1,\"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301\",\"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor.\"),Static_members_cannot_reference_class_type_parameters:b(2302,1,\"Static_members_cannot_reference_class_type_parameters_2302\",\"Static members cannot reference class type parameters.\"),Circular_definition_of_import_alias_0:b(2303,1,\"Circular_definition_of_import_alias_0_2303\",\"Circular definition of import alias '{0}'.\"),Cannot_find_name_0:b(2304,1,\"Cannot_find_name_0_2304\",\"Cannot find name '{0}'.\"),Module_0_has_no_exported_member_1:b(2305,1,\"Module_0_has_no_exported_member_1_2305\",\"Module '{0}' has no exported member '{1}'.\"),File_0_is_not_a_module:b(2306,1,\"File_0_is_not_a_module_2306\",\"File '{0}' is not a module.\"),Cannot_find_module_0_or_its_corresponding_type_declarations:b(2307,1,\"Cannot_find_module_0_or_its_corresponding_type_declarations_2307\",\"Cannot find module '{0}' or its corresponding type declarations.\"),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:b(2308,1,\"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308\",\"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity.\"),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:b(2309,1,\"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309\",\"An export assignment cannot be used in a module with other exported elements.\"),Type_0_recursively_references_itself_as_a_base_type:b(2310,1,\"Type_0_recursively_references_itself_as_a_base_type_2310\",\"Type '{0}' recursively references itself as a base type.\"),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:b(2311,1,\"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311\",\"Cannot find name '{0}'. Did you mean to write this in an async function?\"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:b(2312,1,\"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312\",\"An interface can only extend an object type or intersection of object types with statically known members.\"),Type_parameter_0_has_a_circular_constraint:b(2313,1,\"Type_parameter_0_has_a_circular_constraint_2313\",\"Type parameter '{0}' has a circular constraint.\"),Generic_type_0_requires_1_type_argument_s:b(2314,1,\"Generic_type_0_requires_1_type_argument_s_2314\",\"Generic type '{0}' requires {1} type argument(s).\"),Type_0_is_not_generic:b(2315,1,\"Type_0_is_not_generic_2315\",\"Type '{0}' is not generic.\"),Global_type_0_must_be_a_class_or_interface_type:b(2316,1,\"Global_type_0_must_be_a_class_or_interface_type_2316\",\"Global type '{0}' must be a class or interface type.\"),Global_type_0_must_have_1_type_parameter_s:b(2317,1,\"Global_type_0_must_have_1_type_parameter_s_2317\",\"Global type '{0}' must have {1} type parameter(s).\"),Cannot_find_global_type_0:b(2318,1,\"Cannot_find_global_type_0_2318\",\"Cannot find global type '{0}'.\"),Named_property_0_of_types_1_and_2_are_not_identical:b(2319,1,\"Named_property_0_of_types_1_and_2_are_not_identical_2319\",\"Named property '{0}' of types '{1}' and '{2}' are not identical.\"),Interface_0_cannot_simultaneously_extend_types_1_and_2:b(2320,1,\"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320\",\"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'.\"),Excessive_stack_depth_comparing_types_0_and_1:b(2321,1,\"Excessive_stack_depth_comparing_types_0_and_1_2321\",\"Excessive stack depth comparing types '{0}' and '{1}'.\"),Type_0_is_not_assignable_to_type_1:b(2322,1,\"Type_0_is_not_assignable_to_type_1_2322\",\"Type '{0}' is not assignable to type '{1}'.\"),Cannot_redeclare_exported_variable_0:b(2323,1,\"Cannot_redeclare_exported_variable_0_2323\",\"Cannot redeclare exported variable '{0}'.\"),Property_0_is_missing_in_type_1:b(2324,1,\"Property_0_is_missing_in_type_1_2324\",\"Property '{0}' is missing in type '{1}'.\"),Property_0_is_private_in_type_1_but_not_in_type_2:b(2325,1,\"Property_0_is_private_in_type_1_but_not_in_type_2_2325\",\"Property '{0}' is private in type '{1}' but not in type '{2}'.\"),Types_of_property_0_are_incompatible:b(2326,1,\"Types_of_property_0_are_incompatible_2326\",\"Types of property '{0}' are incompatible.\"),Property_0_is_optional_in_type_1_but_required_in_type_2:b(2327,1,\"Property_0_is_optional_in_type_1_but_required_in_type_2_2327\",\"Property '{0}' is optional in type '{1}' but required in type '{2}'.\"),Types_of_parameters_0_and_1_are_incompatible:b(2328,1,\"Types_of_parameters_0_and_1_are_incompatible_2328\",\"Types of parameters '{0}' and '{1}' are incompatible.\"),Index_signature_for_type_0_is_missing_in_type_1:b(2329,1,\"Index_signature_for_type_0_is_missing_in_type_1_2329\",\"Index signature for type '{0}' is missing in type '{1}'.\"),_0_and_1_index_signatures_are_incompatible:b(2330,1,\"_0_and_1_index_signatures_are_incompatible_2330\",\"'{0}' and '{1}' index signatures are incompatible.\"),this_cannot_be_referenced_in_a_module_or_namespace_body:b(2331,1,\"this_cannot_be_referenced_in_a_module_or_namespace_body_2331\",\"'this' cannot be referenced in a module or namespace body.\"),this_cannot_be_referenced_in_current_location:b(2332,1,\"this_cannot_be_referenced_in_current_location_2332\",\"'this' cannot be referenced in current location.\"),this_cannot_be_referenced_in_constructor_arguments:b(2333,1,\"this_cannot_be_referenced_in_constructor_arguments_2333\",\"'this' cannot be referenced in constructor arguments.\"),this_cannot_be_referenced_in_a_static_property_initializer:b(2334,1,\"this_cannot_be_referenced_in_a_static_property_initializer_2334\",\"'this' cannot be referenced in a static property initializer.\"),super_can_only_be_referenced_in_a_derived_class:b(2335,1,\"super_can_only_be_referenced_in_a_derived_class_2335\",\"'super' can only be referenced in a derived class.\"),super_cannot_be_referenced_in_constructor_arguments:b(2336,1,\"super_cannot_be_referenced_in_constructor_arguments_2336\",\"'super' cannot be referenced in constructor arguments.\"),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:b(2337,1,\"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337\",\"Super calls are not permitted outside constructors or in nested functions inside constructors.\"),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:b(2338,1,\"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338\",\"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class.\"),Property_0_does_not_exist_on_type_1:b(2339,1,\"Property_0_does_not_exist_on_type_1_2339\",\"Property '{0}' does not exist on type '{1}'.\"),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:b(2340,1,\"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340\",\"Only public and protected methods of the base class are accessible via the 'super' keyword.\"),Property_0_is_private_and_only_accessible_within_class_1:b(2341,1,\"Property_0_is_private_and_only_accessible_within_class_1_2341\",\"Property '{0}' is private and only accessible within class '{1}'.\"),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:b(2343,1,\"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343\",\"This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'.\"),Type_0_does_not_satisfy_the_constraint_1:b(2344,1,\"Type_0_does_not_satisfy_the_constraint_1_2344\",\"Type '{0}' does not satisfy the constraint '{1}'.\"),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:b(2345,1,\"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345\",\"Argument of type '{0}' is not assignable to parameter of type '{1}'.\"),Untyped_function_calls_may_not_accept_type_arguments:b(2347,1,\"Untyped_function_calls_may_not_accept_type_arguments_2347\",\"Untyped function calls may not accept type arguments.\"),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:b(2348,1,\"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348\",\"Value of type '{0}' is not callable. Did you mean to include 'new'?\"),This_expression_is_not_callable:b(2349,1,\"This_expression_is_not_callable_2349\",\"This expression is not callable.\"),Only_a_void_function_can_be_called_with_the_new_keyword:b(2350,1,\"Only_a_void_function_can_be_called_with_the_new_keyword_2350\",\"Only a void function can be called with the 'new' keyword.\"),This_expression_is_not_constructable:b(2351,1,\"This_expression_is_not_constructable_2351\",\"This expression is not constructable.\"),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:b(2352,1,\"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352\",\"Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.\"),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:b(2353,1,\"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353\",\"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'.\"),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:b(2354,1,\"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354\",\"This syntax requires an imported helper but module '{0}' cannot be found.\"),A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value:b(2355,1,\"A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value_2355\",\"A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\"),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:b(2356,1,\"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356\",\"An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type.\"),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:b(2357,1,\"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357\",\"The operand of an increment or decrement operator must be a variable or a property access.\"),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:b(2358,1,\"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358\",\"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\"),The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_type_assignable_to_the_Function_interface_type_or_an_object_type_with_a_Symbol_hasInstance_method:b(2359,1,\"The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_2359\",\"The right-hand side of an 'instanceof' expression must be either of type 'any', a class, function, or other type assignable to the 'Function' interface type, or an object type with a 'Symbol.hasInstance' method.\"),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:b(2362,1,\"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362\",\"The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.\"),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:b(2363,1,\"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363\",\"The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.\"),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:b(2364,1,\"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364\",\"The left-hand side of an assignment expression must be a variable or a property access.\"),Operator_0_cannot_be_applied_to_types_1_and_2:b(2365,1,\"Operator_0_cannot_be_applied_to_types_1_and_2_2365\",\"Operator '{0}' cannot be applied to types '{1}' and '{2}'.\"),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:b(2366,1,\"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366\",\"Function lacks ending return statement and return type does not include 'undefined'.\"),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:b(2367,1,\"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367\",\"This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap.\"),Type_parameter_name_cannot_be_0:b(2368,1,\"Type_parameter_name_cannot_be_0_2368\",\"Type parameter name cannot be '{0}'.\"),A_parameter_property_is_only_allowed_in_a_constructor_implementation:b(2369,1,\"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369\",\"A parameter property is only allowed in a constructor implementation.\"),A_rest_parameter_must_be_of_an_array_type:b(2370,1,\"A_rest_parameter_must_be_of_an_array_type_2370\",\"A rest parameter must be of an array type.\"),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:b(2371,1,\"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371\",\"A parameter initializer is only allowed in a function or constructor implementation.\"),Parameter_0_cannot_reference_itself:b(2372,1,\"Parameter_0_cannot_reference_itself_2372\",\"Parameter '{0}' cannot reference itself.\"),Parameter_0_cannot_reference_identifier_1_declared_after_it:b(2373,1,\"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373\",\"Parameter '{0}' cannot reference identifier '{1}' declared after it.\"),Duplicate_index_signature_for_type_0:b(2374,1,\"Duplicate_index_signature_for_type_0_2374\",\"Duplicate index signature for type '{0}'.\"),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:b(2375,1,\"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375\",\"Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties.\"),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:b(2376,1,\"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376\",\"A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers.\"),Constructors_for_derived_classes_must_contain_a_super_call:b(2377,1,\"Constructors_for_derived_classes_must_contain_a_super_call_2377\",\"Constructors for derived classes must contain a 'super' call.\"),A_get_accessor_must_return_a_value:b(2378,1,\"A_get_accessor_must_return_a_value_2378\",\"A 'get' accessor must return a value.\"),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:b(2379,1,\"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379\",\"Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties.\"),Overload_signatures_must_all_be_exported_or_non_exported:b(2383,1,\"Overload_signatures_must_all_be_exported_or_non_exported_2383\",\"Overload signatures must all be exported or non-exported.\"),Overload_signatures_must_all_be_ambient_or_non_ambient:b(2384,1,\"Overload_signatures_must_all_be_ambient_or_non_ambient_2384\",\"Overload signatures must all be ambient or non-ambient.\"),Overload_signatures_must_all_be_public_private_or_protected:b(2385,1,\"Overload_signatures_must_all_be_public_private_or_protected_2385\",\"Overload signatures must all be public, private or protected.\"),Overload_signatures_must_all_be_optional_or_required:b(2386,1,\"Overload_signatures_must_all_be_optional_or_required_2386\",\"Overload signatures must all be optional or required.\"),Function_overload_must_be_static:b(2387,1,\"Function_overload_must_be_static_2387\",\"Function overload must be static.\"),Function_overload_must_not_be_static:b(2388,1,\"Function_overload_must_not_be_static_2388\",\"Function overload must not be static.\"),Function_implementation_name_must_be_0:b(2389,1,\"Function_implementation_name_must_be_0_2389\",\"Function implementation name must be '{0}'.\"),Constructor_implementation_is_missing:b(2390,1,\"Constructor_implementation_is_missing_2390\",\"Constructor implementation is missing.\"),Function_implementation_is_missing_or_not_immediately_following_the_declaration:b(2391,1,\"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391\",\"Function implementation is missing or not immediately following the declaration.\"),Multiple_constructor_implementations_are_not_allowed:b(2392,1,\"Multiple_constructor_implementations_are_not_allowed_2392\",\"Multiple constructor implementations are not allowed.\"),Duplicate_function_implementation:b(2393,1,\"Duplicate_function_implementation_2393\",\"Duplicate function implementation.\"),This_overload_signature_is_not_compatible_with_its_implementation_signature:b(2394,1,\"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394\",\"This overload signature is not compatible with its implementation signature.\"),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:b(2395,1,\"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395\",\"Individual declarations in merged declaration '{0}' must be all exported or all local.\"),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:b(2396,1,\"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396\",\"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.\"),Declaration_name_conflicts_with_built_in_global_identifier_0:b(2397,1,\"Declaration_name_conflicts_with_built_in_global_identifier_0_2397\",\"Declaration name conflicts with built-in global identifier '{0}'.\"),constructor_cannot_be_used_as_a_parameter_property_name:b(2398,1,\"constructor_cannot_be_used_as_a_parameter_property_name_2398\",\"'constructor' cannot be used as a parameter property name.\"),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:b(2399,1,\"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399\",\"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference.\"),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:b(2400,1,\"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400\",\"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference.\"),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:b(2401,1,\"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401\",\"A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers.\"),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:b(2402,1,\"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402\",\"Expression resolves to '_super' that compiler uses to capture base class reference.\"),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:b(2403,1,\"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403\",\"Subsequent variable declarations must have the same type.  Variable '{0}' must be of type '{1}', but here has type '{2}'.\"),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:b(2404,1,\"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404\",\"The left-hand side of a 'for...in' statement cannot use a type annotation.\"),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:b(2405,1,\"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405\",\"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'.\"),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:b(2406,1,\"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406\",\"The left-hand side of a 'for...in' statement must be a variable or a property access.\"),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:b(2407,1,\"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407\",\"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'.\"),Setters_cannot_return_a_value:b(2408,1,\"Setters_cannot_return_a_value_2408\",\"Setters cannot return a value.\"),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:b(2409,1,\"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409\",\"Return type of constructor signature must be assignable to the instance type of the class.\"),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:b(2410,1,\"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410\",\"The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'.\"),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:b(2412,1,\"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412\",\"Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target.\"),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:b(2411,1,\"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411\",\"Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'.\"),_0_index_type_1_is_not_assignable_to_2_index_type_3:b(2413,1,\"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413\",\"'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'.\"),Class_name_cannot_be_0:b(2414,1,\"Class_name_cannot_be_0_2414\",\"Class name cannot be '{0}'.\"),Class_0_incorrectly_extends_base_class_1:b(2415,1,\"Class_0_incorrectly_extends_base_class_1_2415\",\"Class '{0}' incorrectly extends base class '{1}'.\"),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:b(2416,1,\"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416\",\"Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.\"),Class_static_side_0_incorrectly_extends_base_class_static_side_1:b(2417,1,\"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417\",\"Class static side '{0}' incorrectly extends base class static side '{1}'.\"),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:b(2418,1,\"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418\",\"Type of computed property's value is '{0}', which is not assignable to type '{1}'.\"),Types_of_construct_signatures_are_incompatible:b(2419,1,\"Types_of_construct_signatures_are_incompatible_2419\",\"Types of construct signatures are incompatible.\"),Class_0_incorrectly_implements_interface_1:b(2420,1,\"Class_0_incorrectly_implements_interface_1_2420\",\"Class '{0}' incorrectly implements interface '{1}'.\"),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:b(2422,1,\"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422\",\"A class can only implement an object type or intersection of object types with statically known members.\"),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:b(2423,1,\"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423\",\"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor.\"),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:b(2425,1,\"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425\",\"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function.\"),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:b(2426,1,\"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426\",\"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function.\"),Interface_name_cannot_be_0:b(2427,1,\"Interface_name_cannot_be_0_2427\",\"Interface name cannot be '{0}'.\"),All_declarations_of_0_must_have_identical_type_parameters:b(2428,1,\"All_declarations_of_0_must_have_identical_type_parameters_2428\",\"All declarations of '{0}' must have identical type parameters.\"),Interface_0_incorrectly_extends_interface_1:b(2430,1,\"Interface_0_incorrectly_extends_interface_1_2430\",\"Interface '{0}' incorrectly extends interface '{1}'.\"),Enum_name_cannot_be_0:b(2431,1,\"Enum_name_cannot_be_0_2431\",\"Enum name cannot be '{0}'.\"),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:b(2432,1,\"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432\",\"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element.\"),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:b(2433,1,\"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433\",\"A namespace declaration cannot be in a different file from a class or function with which it is merged.\"),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:b(2434,1,\"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434\",\"A namespace declaration cannot be located prior to a class or function with which it is merged.\"),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:b(2435,1,\"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435\",\"Ambient modules cannot be nested in other modules or namespaces.\"),Ambient_module_declaration_cannot_specify_relative_module_name:b(2436,1,\"Ambient_module_declaration_cannot_specify_relative_module_name_2436\",\"Ambient module declaration cannot specify relative module name.\"),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:b(2437,1,\"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437\",\"Module '{0}' is hidden by a local declaration with the same name.\"),Import_name_cannot_be_0:b(2438,1,\"Import_name_cannot_be_0_2438\",\"Import name cannot be '{0}'.\"),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:b(2439,1,\"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439\",\"Import or export declaration in an ambient module declaration cannot reference module through relative module name.\"),Import_declaration_conflicts_with_local_declaration_of_0:b(2440,1,\"Import_declaration_conflicts_with_local_declaration_of_0_2440\",\"Import declaration conflicts with local declaration of '{0}'.\"),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:b(2441,1,\"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module.\"),Types_have_separate_declarations_of_a_private_property_0:b(2442,1,\"Types_have_separate_declarations_of_a_private_property_0_2442\",\"Types have separate declarations of a private property '{0}'.\"),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:b(2443,1,\"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443\",\"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'.\"),Property_0_is_protected_in_type_1_but_public_in_type_2:b(2444,1,\"Property_0_is_protected_in_type_1_but_public_in_type_2_2444\",\"Property '{0}' is protected in type '{1}' but public in type '{2}'.\"),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:b(2445,1,\"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445\",\"Property '{0}' is protected and only accessible within class '{1}' and its subclasses.\"),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:b(2446,1,\"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446\",\"Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'.\"),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:b(2447,1,\"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447\",\"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead.\"),Block_scoped_variable_0_used_before_its_declaration:b(2448,1,\"Block_scoped_variable_0_used_before_its_declaration_2448\",\"Block-scoped variable '{0}' used before its declaration.\"),Class_0_used_before_its_declaration:b(2449,1,\"Class_0_used_before_its_declaration_2449\",\"Class '{0}' used before its declaration.\"),Enum_0_used_before_its_declaration:b(2450,1,\"Enum_0_used_before_its_declaration_2450\",\"Enum '{0}' used before its declaration.\"),Cannot_redeclare_block_scoped_variable_0:b(2451,1,\"Cannot_redeclare_block_scoped_variable_0_2451\",\"Cannot redeclare block-scoped variable '{0}'.\"),An_enum_member_cannot_have_a_numeric_name:b(2452,1,\"An_enum_member_cannot_have_a_numeric_name_2452\",\"An enum member cannot have a numeric name.\"),Variable_0_is_used_before_being_assigned:b(2454,1,\"Variable_0_is_used_before_being_assigned_2454\",\"Variable '{0}' is used before being assigned.\"),Type_alias_0_circularly_references_itself:b(2456,1,\"Type_alias_0_circularly_references_itself_2456\",\"Type alias '{0}' circularly references itself.\"),Type_alias_name_cannot_be_0:b(2457,1,\"Type_alias_name_cannot_be_0_2457\",\"Type alias name cannot be '{0}'.\"),An_AMD_module_cannot_have_multiple_name_assignments:b(2458,1,\"An_AMD_module_cannot_have_multiple_name_assignments_2458\",\"An AMD module cannot have multiple name assignments.\"),Module_0_declares_1_locally_but_it_is_not_exported:b(2459,1,\"Module_0_declares_1_locally_but_it_is_not_exported_2459\",\"Module '{0}' declares '{1}' locally, but it is not exported.\"),Module_0_declares_1_locally_but_it_is_exported_as_2:b(2460,1,\"Module_0_declares_1_locally_but_it_is_exported_as_2_2460\",\"Module '{0}' declares '{1}' locally, but it is exported as '{2}'.\"),Type_0_is_not_an_array_type:b(2461,1,\"Type_0_is_not_an_array_type_2461\",\"Type '{0}' is not an array type.\"),A_rest_element_must_be_last_in_a_destructuring_pattern:b(2462,1,\"A_rest_element_must_be_last_in_a_destructuring_pattern_2462\",\"A rest element must be last in a destructuring pattern.\"),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:b(2463,1,\"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463\",\"A binding pattern parameter cannot be optional in an implementation signature.\"),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:b(2464,1,\"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464\",\"A computed property name must be of type 'string', 'number', 'symbol', or 'any'.\"),this_cannot_be_referenced_in_a_computed_property_name:b(2465,1,\"this_cannot_be_referenced_in_a_computed_property_name_2465\",\"'this' cannot be referenced in a computed property name.\"),super_cannot_be_referenced_in_a_computed_property_name:b(2466,1,\"super_cannot_be_referenced_in_a_computed_property_name_2466\",\"'super' cannot be referenced in a computed property name.\"),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:b(2467,1,\"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467\",\"A computed property name cannot reference a type parameter from its containing type.\"),Cannot_find_global_value_0:b(2468,1,\"Cannot_find_global_value_0_2468\",\"Cannot find global value '{0}'.\"),The_0_operator_cannot_be_applied_to_type_symbol:b(2469,1,\"The_0_operator_cannot_be_applied_to_type_symbol_2469\",\"The '{0}' operator cannot be applied to type 'symbol'.\"),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:b(2472,1,\"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472\",\"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher.\"),Enum_declarations_must_all_be_const_or_non_const:b(2473,1,\"Enum_declarations_must_all_be_const_or_non_const_2473\",\"Enum declarations must all be const or non-const.\"),const_enum_member_initializers_must_be_constant_expressions:b(2474,1,\"const_enum_member_initializers_must_be_constant_expressions_2474\",\"const enum member initializers must be constant expressions.\"),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:b(2475,1,\"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475\",\"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query.\"),A_const_enum_member_can_only_be_accessed_using_a_string_literal:b(2476,1,\"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476\",\"A const enum member can only be accessed using a string literal.\"),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:b(2477,1,\"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477\",\"'const' enum member initializer was evaluated to a non-finite value.\"),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:b(2478,1,\"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478\",\"'const' enum member initializer was evaluated to disallowed value 'NaN'.\"),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:b(2480,1,\"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480\",\"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\"),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:b(2481,1,\"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481\",\"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'.\"),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:b(2483,1,\"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483\",\"The left-hand side of a 'for...of' statement cannot use a type annotation.\"),Export_declaration_conflicts_with_exported_declaration_of_0:b(2484,1,\"Export_declaration_conflicts_with_exported_declaration_of_0_2484\",\"Export declaration conflicts with exported declaration of '{0}'.\"),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:b(2487,1,\"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487\",\"The left-hand side of a 'for...of' statement must be a variable or a property access.\"),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:b(2488,1,\"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488\",\"Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator.\"),An_iterator_must_have_a_next_method:b(2489,1,\"An_iterator_must_have_a_next_method_2489\",\"An iterator must have a 'next()' method.\"),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:b(2490,1,\"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490\",\"The type returned by the '{0}()' method of an iterator must have a 'value' property.\"),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:b(2491,1,\"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491\",\"The left-hand side of a 'for...in' statement cannot be a destructuring pattern.\"),Cannot_redeclare_identifier_0_in_catch_clause:b(2492,1,\"Cannot_redeclare_identifier_0_in_catch_clause_2492\",\"Cannot redeclare identifier '{0}' in catch clause.\"),Tuple_type_0_of_length_1_has_no_element_at_index_2:b(2493,1,\"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493\",\"Tuple type '{0}' of length '{1}' has no element at index '{2}'.\"),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:b(2494,1,\"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494\",\"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher.\"),Type_0_is_not_an_array_type_or_a_string_type:b(2495,1,\"Type_0_is_not_an_array_type_or_a_string_type_2495\",\"Type '{0}' is not an array type or a string type.\"),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:b(2496,1,\"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496\",\"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression.\"),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:b(2497,1,\"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497\",\"This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export.\"),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:b(2498,1,\"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498\",\"Module '{0}' uses 'export =' and cannot be used with 'export *'.\"),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:b(2499,1,\"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499\",\"An interface can only extend an identifier/qualified-name with optional type arguments.\"),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:b(2500,1,\"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500\",\"A class can only implement an identifier/qualified-name with optional type arguments.\"),A_rest_element_cannot_contain_a_binding_pattern:b(2501,1,\"A_rest_element_cannot_contain_a_binding_pattern_2501\",\"A rest element cannot contain a binding pattern.\"),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:b(2502,1,\"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502\",\"'{0}' is referenced directly or indirectly in its own type annotation.\"),Cannot_find_namespace_0:b(2503,1,\"Cannot_find_namespace_0_2503\",\"Cannot find namespace '{0}'.\"),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:b(2504,1,\"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504\",\"Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator.\"),A_generator_cannot_have_a_void_type_annotation:b(2505,1,\"A_generator_cannot_have_a_void_type_annotation_2505\",\"A generator cannot have a 'void' type annotation.\"),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:b(2506,1,\"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506\",\"'{0}' is referenced directly or indirectly in its own base expression.\"),Type_0_is_not_a_constructor_function_type:b(2507,1,\"Type_0_is_not_a_constructor_function_type_2507\",\"Type '{0}' is not a constructor function type.\"),No_base_constructor_has_the_specified_number_of_type_arguments:b(2508,1,\"No_base_constructor_has_the_specified_number_of_type_arguments_2508\",\"No base constructor has the specified number of type arguments.\"),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:b(2509,1,\"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509\",\"Base constructor return type '{0}' is not an object type or intersection of object types with statically known members.\"),Base_constructors_must_all_have_the_same_return_type:b(2510,1,\"Base_constructors_must_all_have_the_same_return_type_2510\",\"Base constructors must all have the same return type.\"),Cannot_create_an_instance_of_an_abstract_class:b(2511,1,\"Cannot_create_an_instance_of_an_abstract_class_2511\",\"Cannot create an instance of an abstract class.\"),Overload_signatures_must_all_be_abstract_or_non_abstract:b(2512,1,\"Overload_signatures_must_all_be_abstract_or_non_abstract_2512\",\"Overload signatures must all be abstract or non-abstract.\"),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:b(2513,1,\"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513\",\"Abstract method '{0}' in class '{1}' cannot be accessed via super expression.\"),A_tuple_type_cannot_be_indexed_with_a_negative_value:b(2514,1,\"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514\",\"A tuple type cannot be indexed with a negative value.\"),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:b(2515,1,\"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515\",\"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'.\"),All_declarations_of_an_abstract_method_must_be_consecutive:b(2516,1,\"All_declarations_of_an_abstract_method_must_be_consecutive_2516\",\"All declarations of an abstract method must be consecutive.\"),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:b(2517,1,\"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517\",\"Cannot assign an abstract constructor type to a non-abstract constructor type.\"),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:b(2518,1,\"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518\",\"A 'this'-based type guard is not compatible with a parameter-based type guard.\"),An_async_iterator_must_have_a_next_method:b(2519,1,\"An_async_iterator_must_have_a_next_method_2519\",\"An async iterator must have a 'next()' method.\"),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:b(2520,1,\"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520\",\"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions.\"),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:b(2522,1,\"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522\",\"The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method.\"),yield_expressions_cannot_be_used_in_a_parameter_initializer:b(2523,1,\"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523\",\"'yield' expressions cannot be used in a parameter initializer.\"),await_expressions_cannot_be_used_in_a_parameter_initializer:b(2524,1,\"await_expressions_cannot_be_used_in_a_parameter_initializer_2524\",\"'await' expressions cannot be used in a parameter initializer.\"),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:b(2525,1,\"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525\",\"Initializer provides no value for this binding element and the binding element has no default value.\"),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:b(2526,1,\"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526\",\"A 'this' type is available only in a non-static member of a class or interface.\"),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:b(2527,1,\"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527\",\"The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary.\"),A_module_cannot_have_multiple_default_exports:b(2528,1,\"A_module_cannot_have_multiple_default_exports_2528\",\"A module cannot have multiple default exports.\"),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:b(2529,1,\"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions.\"),Property_0_is_incompatible_with_index_signature:b(2530,1,\"Property_0_is_incompatible_with_index_signature_2530\",\"Property '{0}' is incompatible with index signature.\"),Object_is_possibly_null:b(2531,1,\"Object_is_possibly_null_2531\",\"Object is possibly 'null'.\"),Object_is_possibly_undefined:b(2532,1,\"Object_is_possibly_undefined_2532\",\"Object is possibly 'undefined'.\"),Object_is_possibly_null_or_undefined:b(2533,1,\"Object_is_possibly_null_or_undefined_2533\",\"Object is possibly 'null' or 'undefined'.\"),A_function_returning_never_cannot_have_a_reachable_end_point:b(2534,1,\"A_function_returning_never_cannot_have_a_reachable_end_point_2534\",\"A function returning 'never' cannot have a reachable end point.\"),Type_0_cannot_be_used_to_index_type_1:b(2536,1,\"Type_0_cannot_be_used_to_index_type_1_2536\",\"Type '{0}' cannot be used to index type '{1}'.\"),Type_0_has_no_matching_index_signature_for_type_1:b(2537,1,\"Type_0_has_no_matching_index_signature_for_type_1_2537\",\"Type '{0}' has no matching index signature for type '{1}'.\"),Type_0_cannot_be_used_as_an_index_type:b(2538,1,\"Type_0_cannot_be_used_as_an_index_type_2538\",\"Type '{0}' cannot be used as an index type.\"),Cannot_assign_to_0_because_it_is_not_a_variable:b(2539,1,\"Cannot_assign_to_0_because_it_is_not_a_variable_2539\",\"Cannot assign to '{0}' because it is not a variable.\"),Cannot_assign_to_0_because_it_is_a_read_only_property:b(2540,1,\"Cannot_assign_to_0_because_it_is_a_read_only_property_2540\",\"Cannot assign to '{0}' because it is a read-only property.\"),Index_signature_in_type_0_only_permits_reading:b(2542,1,\"Index_signature_in_type_0_only_permits_reading_2542\",\"Index signature in type '{0}' only permits reading.\"),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:b(2543,1,\"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543\",\"Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference.\"),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:b(2544,1,\"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544\",\"Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference.\"),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:b(2545,1,\"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545\",\"A mixin class must have a constructor with a single rest parameter of type 'any[]'.\"),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:b(2547,1,\"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547\",\"The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property.\"),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:b(2548,1,\"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548\",\"Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator.\"),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:b(2549,1,\"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549\",\"Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator.\"),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:b(2550,1,\"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550\",\"Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later.\"),Property_0_does_not_exist_on_type_1_Did_you_mean_2:b(2551,1,\"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551\",\"Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?\"),Cannot_find_name_0_Did_you_mean_1:b(2552,1,\"Cannot_find_name_0_Did_you_mean_1_2552\",\"Cannot find name '{0}'. Did you mean '{1}'?\"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:b(2553,1,\"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553\",\"Computed values are not permitted in an enum with string valued members.\"),Expected_0_arguments_but_got_1:b(2554,1,\"Expected_0_arguments_but_got_1_2554\",\"Expected {0} arguments, but got {1}.\"),Expected_at_least_0_arguments_but_got_1:b(2555,1,\"Expected_at_least_0_arguments_but_got_1_2555\",\"Expected at least {0} arguments, but got {1}.\"),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:b(2556,1,\"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556\",\"A spread argument must either have a tuple type or be passed to a rest parameter.\"),Expected_0_type_arguments_but_got_1:b(2558,1,\"Expected_0_type_arguments_but_got_1_2558\",\"Expected {0} type arguments, but got {1}.\"),Type_0_has_no_properties_in_common_with_type_1:b(2559,1,\"Type_0_has_no_properties_in_common_with_type_1_2559\",\"Type '{0}' has no properties in common with type '{1}'.\"),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:b(2560,1,\"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560\",\"Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?\"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:b(2561,1,\"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561\",\"Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?\"),Base_class_expressions_cannot_reference_class_type_parameters:b(2562,1,\"Base_class_expressions_cannot_reference_class_type_parameters_2562\",\"Base class expressions cannot reference class type parameters.\"),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:b(2563,1,\"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563\",\"The containing function or module body is too large for control flow analysis.\"),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:b(2564,1,\"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564\",\"Property '{0}' has no initializer and is not definitely assigned in the constructor.\"),Property_0_is_used_before_being_assigned:b(2565,1,\"Property_0_is_used_before_being_assigned_2565\",\"Property '{0}' is used before being assigned.\"),A_rest_element_cannot_have_a_property_name:b(2566,1,\"A_rest_element_cannot_have_a_property_name_2566\",\"A rest element cannot have a property name.\"),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:b(2567,1,\"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567\",\"Enum declarations can only merge with namespace or other enum declarations.\"),Property_0_may_not_exist_on_type_1_Did_you_mean_2:b(2568,1,\"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568\",\"Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?\"),Could_not_find_name_0_Did_you_mean_1:b(2570,1,\"Could_not_find_name_0_Did_you_mean_1_2570\",\"Could not find name '{0}'. Did you mean '{1}'?\"),Object_is_of_type_unknown:b(2571,1,\"Object_is_of_type_unknown_2571\",\"Object is of type 'unknown'.\"),A_rest_element_type_must_be_an_array_type:b(2574,1,\"A_rest_element_type_must_be_an_array_type_2574\",\"A rest element type must be an array type.\"),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:b(2575,1,\"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575\",\"No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments.\"),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:b(2576,1,\"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576\",\"Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?\"),Return_type_annotation_circularly_references_itself:b(2577,1,\"Return_type_annotation_circularly_references_itself_2577\",\"Return type annotation circularly references itself.\"),Unused_ts_expect_error_directive:b(2578,1,\"Unused_ts_expect_error_directive_2578\",\"Unused '@ts-expect-error' directive.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:b(2580,1,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580\",\"Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:b(2581,1,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581\",\"Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:b(2582,1,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582\",\"Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.\"),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:b(2583,1,\"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583\",\"Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later.\"),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:b(2584,1,\"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584\",\"Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:b(2585,1,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585\",\"'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later.\"),Cannot_assign_to_0_because_it_is_a_constant:b(2588,1,\"Cannot_assign_to_0_because_it_is_a_constant_2588\",\"Cannot assign to '{0}' because it is a constant.\"),Type_instantiation_is_excessively_deep_and_possibly_infinite:b(2589,1,\"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589\",\"Type instantiation is excessively deep and possibly infinite.\"),Expression_produces_a_union_type_that_is_too_complex_to_represent:b(2590,1,\"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590\",\"Expression produces a union type that is too complex to represent.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:b(2591,1,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591\",\"Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:b(2592,1,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592\",\"Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:b(2593,1,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593\",\"Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig.\"),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:b(2594,1,\"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594\",\"This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag.\"),_0_can_only_be_imported_by_using_a_default_import:b(2595,1,\"_0_can_only_be_imported_by_using_a_default_import_2595\",\"'{0}' can only be imported by using a default import.\"),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:b(2596,1,\"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596\",\"'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import.\"),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:b(2597,1,\"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597\",\"'{0}' can only be imported by using a 'require' call or by using a default import.\"),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:b(2598,1,\"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598\",\"'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import.\"),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:b(2602,1,\"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602\",\"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist.\"),Property_0_in_type_1_is_not_assignable_to_type_2:b(2603,1,\"Property_0_in_type_1_is_not_assignable_to_type_2_2603\",\"Property '{0}' in type '{1}' is not assignable to type '{2}'.\"),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:b(2604,1,\"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604\",\"JSX element type '{0}' does not have any construct or call signatures.\"),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:b(2606,1,\"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606\",\"Property '{0}' of JSX spread attribute is not assignable to target property.\"),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:b(2607,1,\"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607\",\"JSX element class does not support attributes because it does not have a '{0}' property.\"),The_global_type_JSX_0_may_not_have_more_than_one_property:b(2608,1,\"The_global_type_JSX_0_may_not_have_more_than_one_property_2608\",\"The global type 'JSX.{0}' may not have more than one property.\"),JSX_spread_child_must_be_an_array_type:b(2609,1,\"JSX_spread_child_must_be_an_array_type_2609\",\"JSX spread child must be an array type.\"),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:b(2610,1,\"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610\",\"'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property.\"),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:b(2611,1,\"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611\",\"'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor.\"),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:b(2612,1,\"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612\",\"Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration.\"),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:b(2613,1,\"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613\",\"Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?\"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:b(2614,1,\"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614\",\"Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?\"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:b(2615,1,\"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615\",\"Type of property '{0}' circularly references itself in mapped type '{1}'.\"),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:b(2616,1,\"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616\",\"'{0}' can only be imported by using 'import {1} = require({2})' or a default import.\"),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:b(2617,1,\"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617\",\"'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import.\"),Source_has_0_element_s_but_target_requires_1:b(2618,1,\"Source_has_0_element_s_but_target_requires_1_2618\",\"Source has {0} element(s) but target requires {1}.\"),Source_has_0_element_s_but_target_allows_only_1:b(2619,1,\"Source_has_0_element_s_but_target_allows_only_1_2619\",\"Source has {0} element(s) but target allows only {1}.\"),Target_requires_0_element_s_but_source_may_have_fewer:b(2620,1,\"Target_requires_0_element_s_but_source_may_have_fewer_2620\",\"Target requires {0} element(s) but source may have fewer.\"),Target_allows_only_0_element_s_but_source_may_have_more:b(2621,1,\"Target_allows_only_0_element_s_but_source_may_have_more_2621\",\"Target allows only {0} element(s) but source may have more.\"),Source_provides_no_match_for_required_element_at_position_0_in_target:b(2623,1,\"Source_provides_no_match_for_required_element_at_position_0_in_target_2623\",\"Source provides no match for required element at position {0} in target.\"),Source_provides_no_match_for_variadic_element_at_position_0_in_target:b(2624,1,\"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624\",\"Source provides no match for variadic element at position {0} in target.\"),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:b(2625,1,\"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625\",\"Variadic element at position {0} in source does not match element at position {1} in target.\"),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:b(2626,1,\"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626\",\"Type at position {0} in source is not compatible with type at position {1} in target.\"),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:b(2627,1,\"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627\",\"Type at positions {0} through {1} in source is not compatible with type at position {2} in target.\"),Cannot_assign_to_0_because_it_is_an_enum:b(2628,1,\"Cannot_assign_to_0_because_it_is_an_enum_2628\",\"Cannot assign to '{0}' because it is an enum.\"),Cannot_assign_to_0_because_it_is_a_class:b(2629,1,\"Cannot_assign_to_0_because_it_is_a_class_2629\",\"Cannot assign to '{0}' because it is a class.\"),Cannot_assign_to_0_because_it_is_a_function:b(2630,1,\"Cannot_assign_to_0_because_it_is_a_function_2630\",\"Cannot assign to '{0}' because it is a function.\"),Cannot_assign_to_0_because_it_is_a_namespace:b(2631,1,\"Cannot_assign_to_0_because_it_is_a_namespace_2631\",\"Cannot assign to '{0}' because it is a namespace.\"),Cannot_assign_to_0_because_it_is_an_import:b(2632,1,\"Cannot_assign_to_0_because_it_is_an_import_2632\",\"Cannot assign to '{0}' because it is an import.\"),JSX_property_access_expressions_cannot_include_JSX_namespace_names:b(2633,1,\"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633\",\"JSX property access expressions cannot include JSX namespace names\"),_0_index_signatures_are_incompatible:b(2634,1,\"_0_index_signatures_are_incompatible_2634\",\"'{0}' index signatures are incompatible.\"),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:b(2635,1,\"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635\",\"Type '{0}' has no signatures for which the type argument list is applicable.\"),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:b(2636,1,\"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636\",\"Type '{0}' is not assignable to type '{1}' as implied by variance annotation.\"),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:b(2637,1,\"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637\",\"Variance annotations are only supported in type aliases for object, function, constructor, and mapped types.\"),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:b(2638,1,\"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638\",\"Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator.\"),React_components_cannot_include_JSX_namespace_names:b(2639,1,\"React_components_cannot_include_JSX_namespace_names_2639\",\"React components cannot include JSX namespace names\"),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:b(2649,1,\"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649\",\"Cannot augment module '{0}' with value exports because it resolves to a non-module entity.\"),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:b(2651,1,\"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651\",\"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.\"),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:b(2652,1,\"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652\",\"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead.\"),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:b(2653,1,\"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653\",\"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'.\"),JSX_expressions_must_have_one_parent_element:b(2657,1,\"JSX_expressions_must_have_one_parent_element_2657\",\"JSX expressions must have one parent element.\"),Type_0_provides_no_match_for_the_signature_1:b(2658,1,\"Type_0_provides_no_match_for_the_signature_1_2658\",\"Type '{0}' provides no match for the signature '{1}'.\"),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:b(2659,1,\"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659\",\"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher.\"),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:b(2660,1,\"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660\",\"'super' can only be referenced in members of derived classes or object literal expressions.\"),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:b(2661,1,\"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661\",\"Cannot export '{0}'. Only local declarations can be exported from a module.\"),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:b(2662,1,\"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662\",\"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?\"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:b(2663,1,\"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663\",\"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?\"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:b(2664,1,\"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664\",\"Invalid module name in augmentation, module '{0}' cannot be found.\"),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:b(2665,1,\"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665\",\"Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented.\"),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:b(2666,1,\"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666\",\"Exports and export assignments are not permitted in module augmentations.\"),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:b(2667,1,\"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667\",\"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module.\"),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:b(2668,1,\"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668\",\"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible.\"),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:b(2669,1,\"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669\",\"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.\"),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:b(2670,1,\"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670\",\"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context.\"),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:b(2671,1,\"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671\",\"Cannot augment module '{0}' because it resolves to a non-module entity.\"),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:b(2672,1,\"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672\",\"Cannot assign a '{0}' constructor type to a '{1}' constructor type.\"),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:b(2673,1,\"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673\",\"Constructor of class '{0}' is private and only accessible within the class declaration.\"),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:b(2674,1,\"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674\",\"Constructor of class '{0}' is protected and only accessible within the class declaration.\"),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:b(2675,1,\"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675\",\"Cannot extend a class '{0}'. Class constructor is marked as private.\"),Accessors_must_both_be_abstract_or_non_abstract:b(2676,1,\"Accessors_must_both_be_abstract_or_non_abstract_2676\",\"Accessors must both be abstract or non-abstract.\"),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:b(2677,1,\"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677\",\"A type predicate's type must be assignable to its parameter's type.\"),Type_0_is_not_comparable_to_type_1:b(2678,1,\"Type_0_is_not_comparable_to_type_1_2678\",\"Type '{0}' is not comparable to type '{1}'.\"),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:b(2679,1,\"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679\",\"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'.\"),A_0_parameter_must_be_the_first_parameter:b(2680,1,\"A_0_parameter_must_be_the_first_parameter_2680\",\"A '{0}' parameter must be the first parameter.\"),A_constructor_cannot_have_a_this_parameter:b(2681,1,\"A_constructor_cannot_have_a_this_parameter_2681\",\"A constructor cannot have a 'this' parameter.\"),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:b(2683,1,\"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683\",\"'this' implicitly has type 'any' because it does not have a type annotation.\"),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:b(2684,1,\"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684\",\"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'.\"),The_this_types_of_each_signature_are_incompatible:b(2685,1,\"The_this_types_of_each_signature_are_incompatible_2685\",\"The 'this' types of each signature are incompatible.\"),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:b(2686,1,\"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686\",\"'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead.\"),All_declarations_of_0_must_have_identical_modifiers:b(2687,1,\"All_declarations_of_0_must_have_identical_modifiers_2687\",\"All declarations of '{0}' must have identical modifiers.\"),Cannot_find_type_definition_file_for_0:b(2688,1,\"Cannot_find_type_definition_file_for_0_2688\",\"Cannot find type definition file for '{0}'.\"),Cannot_extend_an_interface_0_Did_you_mean_implements:b(2689,1,\"Cannot_extend_an_interface_0_Did_you_mean_implements_2689\",\"Cannot extend an interface '{0}'. Did you mean 'implements'?\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:b(2690,1,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690\",\"'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?\"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:b(2692,1,\"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692\",\"'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:b(2693,1,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693\",\"'{0}' only refers to a type, but is being used as a value here.\"),Namespace_0_has_no_exported_member_1:b(2694,1,\"Namespace_0_has_no_exported_member_1_2694\",\"Namespace '{0}' has no exported member '{1}'.\"),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:b(2695,1,\"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695\",\"Left side of comma operator is unused and has no side effects.\",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:b(2696,1,\"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696\",\"The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?\"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:b(2697,1,\"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697\",\"An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option.\"),Spread_types_may_only_be_created_from_object_types:b(2698,1,\"Spread_types_may_only_be_created_from_object_types_2698\",\"Spread types may only be created from object types.\"),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:b(2699,1,\"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699\",\"Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'.\"),Rest_types_may_only_be_created_from_object_types:b(2700,1,\"Rest_types_may_only_be_created_from_object_types_2700\",\"Rest types may only be created from object types.\"),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:b(2701,1,\"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701\",\"The target of an object rest assignment must be a variable or a property access.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:b(2702,1,\"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702\",\"'{0}' only refers to a type, but is being used as a namespace here.\"),The_operand_of_a_delete_operator_must_be_a_property_reference:b(2703,1,\"The_operand_of_a_delete_operator_must_be_a_property_reference_2703\",\"The operand of a 'delete' operator must be a property reference.\"),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:b(2704,1,\"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704\",\"The operand of a 'delete' operator cannot be a read-only property.\"),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:b(2705,1,\"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705\",\"An async function or method in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option.\"),Required_type_parameters_may_not_follow_optional_type_parameters:b(2706,1,\"Required_type_parameters_may_not_follow_optional_type_parameters_2706\",\"Required type parameters may not follow optional type parameters.\"),Generic_type_0_requires_between_1_and_2_type_arguments:b(2707,1,\"Generic_type_0_requires_between_1_and_2_type_arguments_2707\",\"Generic type '{0}' requires between {1} and {2} type arguments.\"),Cannot_use_namespace_0_as_a_value:b(2708,1,\"Cannot_use_namespace_0_as_a_value_2708\",\"Cannot use namespace '{0}' as a value.\"),Cannot_use_namespace_0_as_a_type:b(2709,1,\"Cannot_use_namespace_0_as_a_type_2709\",\"Cannot use namespace '{0}' as a type.\"),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:b(2710,1,\"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710\",\"'{0}' are specified twice. The attribute named '{0}' will be overwritten.\"),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:b(2711,1,\"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711\",\"A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option.\"),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:b(2712,1,\"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712\",\"A dynamic import call in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option.\"),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:b(2713,1,\"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713\",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:b(2714,1,\"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714\",\"The expression of an export assignment must be an identifier or qualified name in an ambient context.\"),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:b(2715,1,\"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715\",\"Abstract property '{0}' in class '{1}' cannot be accessed in the constructor.\"),Type_parameter_0_has_a_circular_default:b(2716,1,\"Type_parameter_0_has_a_circular_default_2716\",\"Type parameter '{0}' has a circular default.\"),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:b(2717,1,\"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717\",\"Subsequent property declarations must have the same type.  Property '{0}' must be of type '{1}', but here has type '{2}'.\"),Duplicate_property_0:b(2718,1,\"Duplicate_property_0_2718\",\"Duplicate property '{0}'.\"),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:b(2719,1,\"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719\",\"Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated.\"),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:b(2720,1,\"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720\",\"Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?\"),Cannot_invoke_an_object_which_is_possibly_null:b(2721,1,\"Cannot_invoke_an_object_which_is_possibly_null_2721\",\"Cannot invoke an object which is possibly 'null'.\"),Cannot_invoke_an_object_which_is_possibly_undefined:b(2722,1,\"Cannot_invoke_an_object_which_is_possibly_undefined_2722\",\"Cannot invoke an object which is possibly 'undefined'.\"),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:b(2723,1,\"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723\",\"Cannot invoke an object which is possibly 'null' or 'undefined'.\"),_0_has_no_exported_member_named_1_Did_you_mean_2:b(2724,1,\"_0_has_no_exported_member_named_1_Did_you_mean_2_2724\",\"'{0}' has no exported member named '{1}'. Did you mean '{2}'?\"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:b(2725,1,\"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725\",\"Class name cannot be 'Object' when targeting ES5 with module {0}.\"),Cannot_find_lib_definition_for_0:b(2726,1,\"Cannot_find_lib_definition_for_0_2726\",\"Cannot find lib definition for '{0}'.\"),Cannot_find_lib_definition_for_0_Did_you_mean_1:b(2727,1,\"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727\",\"Cannot find lib definition for '{0}'. Did you mean '{1}'?\"),_0_is_declared_here:b(2728,3,\"_0_is_declared_here_2728\",\"'{0}' is declared here.\"),Property_0_is_used_before_its_initialization:b(2729,1,\"Property_0_is_used_before_its_initialization_2729\",\"Property '{0}' is used before its initialization.\"),An_arrow_function_cannot_have_a_this_parameter:b(2730,1,\"An_arrow_function_cannot_have_a_this_parameter_2730\",\"An arrow function cannot have a 'this' parameter.\"),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:b(2731,1,\"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731\",\"Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'.\"),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:b(2732,1,\"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732\",\"Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension.\"),Property_0_was_also_declared_here:b(2733,1,\"Property_0_was_also_declared_here_2733\",\"Property '{0}' was also declared here.\"),Are_you_missing_a_semicolon:b(2734,1,\"Are_you_missing_a_semicolon_2734\",\"Are you missing a semicolon?\"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:b(2735,1,\"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735\",\"Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?\"),Operator_0_cannot_be_applied_to_type_1:b(2736,1,\"Operator_0_cannot_be_applied_to_type_1_2736\",\"Operator '{0}' cannot be applied to type '{1}'.\"),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:b(2737,1,\"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737\",\"BigInt literals are not available when targeting lower than ES2020.\"),An_outer_value_of_this_is_shadowed_by_this_container:b(2738,3,\"An_outer_value_of_this_is_shadowed_by_this_container_2738\",\"An outer value of 'this' is shadowed by this container.\"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:b(2739,1,\"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739\",\"Type '{0}' is missing the following properties from type '{1}': {2}\"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:b(2740,1,\"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740\",\"Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more.\"),Property_0_is_missing_in_type_1_but_required_in_type_2:b(2741,1,\"Property_0_is_missing_in_type_1_but_required_in_type_2_2741\",\"Property '{0}' is missing in type '{1}' but required in type '{2}'.\"),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:b(2742,1,\"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742\",\"The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary.\"),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:b(2743,1,\"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743\",\"No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments.\"),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:b(2744,1,\"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744\",\"Type parameter defaults can only reference previously declared type parameters.\"),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:b(2745,1,\"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745\",\"This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided.\"),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:b(2746,1,\"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746\",\"This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided.\"),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:b(2747,1,\"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747\",\"'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'.\"),Cannot_access_ambient_const_enums_when_0_is_enabled:b(2748,1,\"Cannot_access_ambient_const_enums_when_0_is_enabled_2748\",\"Cannot access ambient const enums when '{0}' is enabled.\"),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:b(2749,1,\"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749\",\"'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?\"),The_implementation_signature_is_declared_here:b(2750,1,\"The_implementation_signature_is_declared_here_2750\",\"The implementation signature is declared here.\"),Circularity_originates_in_type_at_this_location:b(2751,1,\"Circularity_originates_in_type_at_this_location_2751\",\"Circularity originates in type at this location.\"),The_first_export_default_is_here:b(2752,1,\"The_first_export_default_is_here_2752\",\"The first export default is here.\"),Another_export_default_is_here:b(2753,1,\"Another_export_default_is_here_2753\",\"Another export default is here.\"),super_may_not_use_type_arguments:b(2754,1,\"super_may_not_use_type_arguments_2754\",\"'super' may not use type arguments.\"),No_constituent_of_type_0_is_callable:b(2755,1,\"No_constituent_of_type_0_is_callable_2755\",\"No constituent of type '{0}' is callable.\"),Not_all_constituents_of_type_0_are_callable:b(2756,1,\"Not_all_constituents_of_type_0_are_callable_2756\",\"Not all constituents of type '{0}' are callable.\"),Type_0_has_no_call_signatures:b(2757,1,\"Type_0_has_no_call_signatures_2757\",\"Type '{0}' has no call signatures.\"),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:b(2758,1,\"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758\",\"Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other.\"),No_constituent_of_type_0_is_constructable:b(2759,1,\"No_constituent_of_type_0_is_constructable_2759\",\"No constituent of type '{0}' is constructable.\"),Not_all_constituents_of_type_0_are_constructable:b(2760,1,\"Not_all_constituents_of_type_0_are_constructable_2760\",\"Not all constituents of type '{0}' are constructable.\"),Type_0_has_no_construct_signatures:b(2761,1,\"Type_0_has_no_construct_signatures_2761\",\"Type '{0}' has no construct signatures.\"),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:b(2762,1,\"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762\",\"Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:b(2763,1,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:b(2764,1,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:b(2765,1,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'.\"),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:b(2766,1,\"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766\",\"Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'.\"),The_0_property_of_an_iterator_must_be_a_method:b(2767,1,\"The_0_property_of_an_iterator_must_be_a_method_2767\",\"The '{0}' property of an iterator must be a method.\"),The_0_property_of_an_async_iterator_must_be_a_method:b(2768,1,\"The_0_property_of_an_async_iterator_must_be_a_method_2768\",\"The '{0}' property of an async iterator must be a method.\"),No_overload_matches_this_call:b(2769,1,\"No_overload_matches_this_call_2769\",\"No overload matches this call.\"),The_last_overload_gave_the_following_error:b(2770,1,\"The_last_overload_gave_the_following_error_2770\",\"The last overload gave the following error.\"),The_last_overload_is_declared_here:b(2771,1,\"The_last_overload_is_declared_here_2771\",\"The last overload is declared here.\"),Overload_0_of_1_2_gave_the_following_error:b(2772,1,\"Overload_0_of_1_2_gave_the_following_error_2772\",\"Overload {0} of {1}, '{2}', gave the following error.\"),Did_you_forget_to_use_await:b(2773,1,\"Did_you_forget_to_use_await_2773\",\"Did you forget to use 'await'?\"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:b(2774,1,\"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774\",\"This condition will always return true since this function is always defined. Did you mean to call it instead?\"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:b(2775,1,\"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775\",\"Assertions require every name in the call target to be declared with an explicit type annotation.\"),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:b(2776,1,\"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776\",\"Assertions require the call target to be an identifier or qualified name.\"),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:b(2777,1,\"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777\",\"The operand of an increment or decrement operator may not be an optional property access.\"),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:b(2778,1,\"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778\",\"The target of an object rest assignment may not be an optional property access.\"),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:b(2779,1,\"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779\",\"The left-hand side of an assignment expression may not be an optional property access.\"),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:b(2780,1,\"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780\",\"The left-hand side of a 'for...in' statement may not be an optional property access.\"),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:b(2781,1,\"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781\",\"The left-hand side of a 'for...of' statement may not be an optional property access.\"),_0_needs_an_explicit_type_annotation:b(2782,3,\"_0_needs_an_explicit_type_annotation_2782\",\"'{0}' needs an explicit type annotation.\"),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:b(2783,1,\"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783\",\"'{0}' is specified more than once, so this usage will be overwritten.\"),get_and_set_accessors_cannot_declare_this_parameters:b(2784,1,\"get_and_set_accessors_cannot_declare_this_parameters_2784\",\"'get' and 'set' accessors cannot declare 'this' parameters.\"),This_spread_always_overwrites_this_property:b(2785,1,\"This_spread_always_overwrites_this_property_2785\",\"This spread always overwrites this property.\"),_0_cannot_be_used_as_a_JSX_component:b(2786,1,\"_0_cannot_be_used_as_a_JSX_component_2786\",\"'{0}' cannot be used as a JSX component.\"),Its_return_type_0_is_not_a_valid_JSX_element:b(2787,1,\"Its_return_type_0_is_not_a_valid_JSX_element_2787\",\"Its return type '{0}' is not a valid JSX element.\"),Its_instance_type_0_is_not_a_valid_JSX_element:b(2788,1,\"Its_instance_type_0_is_not_a_valid_JSX_element_2788\",\"Its instance type '{0}' is not a valid JSX element.\"),Its_element_type_0_is_not_a_valid_JSX_element:b(2789,1,\"Its_element_type_0_is_not_a_valid_JSX_element_2789\",\"Its element type '{0}' is not a valid JSX element.\"),The_operand_of_a_delete_operator_must_be_optional:b(2790,1,\"The_operand_of_a_delete_operator_must_be_optional_2790\",\"The operand of a 'delete' operator must be optional.\"),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:b(2791,1,\"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791\",\"Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later.\"),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:b(2792,1,\"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792\",\"Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?\"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:b(2793,1,\"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793\",\"The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible.\"),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:b(2794,1,\"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794\",\"Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?\"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:b(2795,1,\"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795\",\"The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types.\"),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:b(2796,1,\"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796\",\"It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked.\"),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:b(2797,1,\"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797\",\"A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'.\"),The_declaration_was_marked_as_deprecated_here:b(2798,1,\"The_declaration_was_marked_as_deprecated_here_2798\",\"The declaration was marked as deprecated here.\"),Type_produces_a_tuple_type_that_is_too_large_to_represent:b(2799,1,\"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799\",\"Type produces a tuple type that is too large to represent.\"),Expression_produces_a_tuple_type_that_is_too_large_to_represent:b(2800,1,\"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800\",\"Expression produces a tuple type that is too large to represent.\"),This_condition_will_always_return_true_since_this_0_is_always_defined:b(2801,1,\"This_condition_will_always_return_true_since_this_0_is_always_defined_2801\",\"This condition will always return true since this '{0}' is always defined.\"),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:b(2802,1,\"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802\",\"Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher.\"),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:b(2803,1,\"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803\",\"Cannot assign to private method '{0}'. Private methods are not writable.\"),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:b(2804,1,\"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804\",\"Duplicate identifier '{0}'. Static and instance elements cannot share the same private name.\"),Private_accessor_was_defined_without_a_getter:b(2806,1,\"Private_accessor_was_defined_without_a_getter_2806\",\"Private accessor was defined without a getter.\"),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:b(2807,1,\"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807\",\"This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'.\"),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:b(2808,1,\"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808\",\"A get accessor must be at least as accessible as the setter\"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:b(2809,1,\"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809\",\"Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses.\"),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:b(2810,1,\"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810\",\"Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments.\"),Initializer_for_property_0:b(2811,1,\"Initializer_for_property_0_2811\",\"Initializer for property '{0}'\"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:b(2812,1,\"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812\",\"Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'.\"),Class_declaration_cannot_implement_overload_list_for_0:b(2813,1,\"Class_declaration_cannot_implement_overload_list_for_0_2813\",\"Class declaration cannot implement overload list for '{0}'.\"),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:b(2814,1,\"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814\",\"Function with bodies can only merge with classes that are ambient.\"),arguments_cannot_be_referenced_in_property_initializers:b(2815,1,\"arguments_cannot_be_referenced_in_property_initializers_2815\",\"'arguments' cannot be referenced in property initializers.\"),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:b(2816,1,\"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816\",\"Cannot use 'this' in a static property initializer of a decorated class.\"),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:b(2817,1,\"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817\",\"Property '{0}' has no initializer and is not definitely assigned in a class static block.\"),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:b(2818,1,\"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers.\"),Namespace_name_cannot_be_0:b(2819,1,\"Namespace_name_cannot_be_0_2819\",\"Namespace name cannot be '{0}'.\"),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:b(2820,1,\"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820\",\"Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?\"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve:b(2821,1,\"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve_2821\",\"Import assertions are only supported when the '--module' option is set to 'esnext', 'nodenext', or 'preserve'.\"),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:b(2822,1,\"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822\",\"Import assertions cannot be used with type-only imports or exports.\"),Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve:b(2823,1,\"Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve_2823\",\"Import attributes are only supported when the '--module' option is set to 'esnext', 'nodenext', or 'preserve'.\"),Cannot_find_namespace_0_Did_you_mean_1:b(2833,1,\"Cannot_find_namespace_0_Did_you_mean_1_2833\",\"Cannot find namespace '{0}'. Did you mean '{1}'?\"),Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:b(2834,1,\"Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2834\",\"Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path.\"),Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:b(2835,1,\"Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2835\",\"Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?\"),Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:b(2836,1,\"Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2836\",\"Import assertions are not allowed on statements that compile to CommonJS 'require' calls.\"),Import_assertion_values_must_be_string_literal_expressions:b(2837,1,\"Import_assertion_values_must_be_string_literal_expressions_2837\",\"Import assertion values must be string literal expressions.\"),All_declarations_of_0_must_have_identical_constraints:b(2838,1,\"All_declarations_of_0_must_have_identical_constraints_2838\",\"All declarations of '{0}' must have identical constraints.\"),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:b(2839,1,\"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839\",\"This condition will always return '{0}' since JavaScript compares objects by reference, not value.\"),An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types:b(2840,1,\"An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types_2840\",\"An interface cannot extend a primitive type like '{0}'. It can only extend other named object types.\"),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:b(2842,1,\"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842\",\"'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?\"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:b(2843,1,\"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843\",\"We can only write a type for '{0}' by adding a type for the entire parameter here.\"),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:b(2844,1,\"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844\",\"Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor.\"),This_condition_will_always_return_0:b(2845,1,\"This_condition_will_always_return_0_2845\",\"This condition will always return '{0}'.\"),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:b(2846,1,\"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846\",\"A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?\"),The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression:b(2848,1,\"The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression_2848\",\"The right-hand side of an 'instanceof' expression must not be an instantiation expression.\"),Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1:b(2849,1,\"Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1_2849\",\"Target signature provides too few arguments. Expected {0} or more, but got {1}.\"),The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_null_or_undefined:b(2850,1,\"The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_n_2850\",\"The initializer of a 'using' declaration must be either an object with a '[Symbol.dispose]()' method, or be 'null' or 'undefined'.\"),The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined:b(2851,1,\"The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_2851\",\"The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'.\"),await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:b(2852,1,\"await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_2852\",\"'await using' statements are only allowed within async functions and at the top levels of modules.\"),await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:b(2853,1,\"await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_th_2853\",\"'await using' statements are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\"),Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:b(2854,1,\"Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_sys_2854\",\"Top-level 'await using' statements are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher.\"),Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super:b(2855,1,\"Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super_2855\",\"Class field '{0}' defined by the parent class is not accessible in the child class via super.\"),Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:b(2856,1,\"Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2856\",\"Import attributes are not allowed on statements that compile to CommonJS 'require' calls.\"),Import_attributes_cannot_be_used_with_type_only_imports_or_exports:b(2857,1,\"Import_attributes_cannot_be_used_with_type_only_imports_or_exports_2857\",\"Import attributes cannot be used with type-only imports or exports.\"),Import_attribute_values_must_be_string_literal_expressions:b(2858,1,\"Import_attribute_values_must_be_string_literal_expressions_2858\",\"Import attribute values must be string literal expressions.\"),Excessive_complexity_comparing_types_0_and_1:b(2859,1,\"Excessive_complexity_comparing_types_0_and_1_2859\",\"Excessive complexity comparing types '{0}' and '{1}'.\"),The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_hand_side_s_Symbol_hasInstance_method:b(2860,1,\"The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_2860\",\"The left-hand side of an 'instanceof' expression must be assignable to the first argument of the right-hand side's '[Symbol.hasInstance]' method.\"),An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_hand_side_of_an_instanceof_expression:b(2861,1,\"An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_han_2861\",\"An object's '[Symbol.hasInstance]' method must return a boolean value for it to be used on the right-hand side of an 'instanceof' expression.\"),Type_0_is_generic_and_can_only_be_indexed_for_reading:b(2862,1,\"Type_0_is_generic_and_can_only_be_indexed_for_reading_2862\",\"Type '{0}' is generic and can only be indexed for reading.\"),A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values:b(2863,1,\"A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values_2863\",\"A class cannot extend a primitive type like '{0}'. Classes can only extend constructable values.\"),A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types:b(2864,1,\"A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types_2864\",\"A class cannot implement a primitive type like '{0}'. It can only implement other named object types.\"),Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled:b(2865,1,\"Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_2865\",\"Import '{0}' conflicts with local value, so must be declared with a type-only import when 'isolatedModules' is enabled.\"),Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled:b(2866,1,\"Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_w_2866\",\"Import '{0}' conflicts with global value used in this file, so must be declared with a type-only import when 'isolatedModules' is enabled.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun:b(2867,1,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_2867\",\"Cannot find name '{0}'. Do you need to install type definitions for Bun? Try `npm i --save-dev @types/bun`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_and_then_add_bun_to_the_types_field_in_your_tsconfig:b(2868,1,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_2868\",\"Cannot find name '{0}'. Do you need to install type definitions for Bun? Try `npm i --save-dev @types/bun` and then add 'bun' to the types field in your tsconfig.\"),Import_declaration_0_is_using_private_name_1:b(4e3,1,\"Import_declaration_0_is_using_private_name_1_4000\",\"Import declaration '{0}' is using private name '{1}'.\"),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:b(4002,1,\"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002\",\"Type parameter '{0}' of exported class has or is using private name '{1}'.\"),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:b(4004,1,\"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004\",\"Type parameter '{0}' of exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:b(4006,1,\"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006\",\"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:b(4008,1,\"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008\",\"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:b(4010,1,\"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010\",\"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'.\"),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:b(4012,1,\"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012\",\"Type parameter '{0}' of public method from exported class has or is using private name '{1}'.\"),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:b(4014,1,\"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014\",\"Type parameter '{0}' of method from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:b(4016,1,\"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016\",\"Type parameter '{0}' of exported function has or is using private name '{1}'.\"),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:b(4019,1,\"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019\",\"Implements clause of exported class '{0}' has or is using private name '{1}'.\"),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:b(4020,1,\"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020\",\"'extends' clause of exported class '{0}' has or is using private name '{1}'.\"),extends_clause_of_exported_class_has_or_is_using_private_name_0:b(4021,1,\"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021\",\"'extends' clause of exported class has or is using private name '{0}'.\"),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:b(4022,1,\"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022\",\"'extends' clause of exported interface '{0}' has or is using private name '{1}'.\"),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4023,1,\"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023\",\"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named.\"),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:b(4024,1,\"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024\",\"Exported variable '{0}' has or is using name '{1}' from private module '{2}'.\"),Exported_variable_0_has_or_is_using_private_name_1:b(4025,1,\"Exported_variable_0_has_or_is_using_private_name_1_4025\",\"Exported variable '{0}' has or is using private name '{1}'.\"),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4026,1,\"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026\",\"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:b(4027,1,\"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027\",\"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:b(4028,1,\"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028\",\"Public static property '{0}' of exported class has or is using private name '{1}'.\"),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4029,1,\"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029\",\"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:b(4030,1,\"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030\",\"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_property_0_of_exported_class_has_or_is_using_private_name_1:b(4031,1,\"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031\",\"Public property '{0}' of exported class has or is using private name '{1}'.\"),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4032,1,\"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032\",\"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'.\"),Property_0_of_exported_interface_has_or_is_using_private_name_1:b(4033,1,\"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033\",\"Property '{0}' of exported interface has or is using private name '{1}'.\"),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4034,1,\"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034\",\"Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:b(4035,1,\"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035\",\"Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'.\"),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4036,1,\"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036\",\"Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:b(4037,1,\"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037\",\"Parameter type of public setter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4038,1,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038\",\"Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4039,1,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039\",\"Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:b(4040,1,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040\",\"Return type of public static getter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4041,1,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041\",\"Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4042,1,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042\",\"Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:b(4043,1,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043\",\"Return type of public getter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:b(4044,1,\"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044\",\"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:b(4045,1,\"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045\",\"Return type of constructor signature from exported interface has or is using private name '{0}'.\"),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:b(4046,1,\"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046\",\"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:b(4047,1,\"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047\",\"Return type of call signature from exported interface has or is using private name '{0}'.\"),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:b(4048,1,\"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048\",\"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:b(4049,1,\"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049\",\"Return type of index signature from exported interface has or is using private name '{0}'.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:b(4050,1,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050\",\"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:b(4051,1,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051\",\"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:b(4052,1,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052\",\"Return type of public static method from exported class has or is using private name '{0}'.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:b(4053,1,\"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053\",\"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:b(4054,1,\"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054\",\"Return type of public method from exported class has or is using name '{0}' from private module '{1}'.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:b(4055,1,\"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055\",\"Return type of public method from exported class has or is using private name '{0}'.\"),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:b(4056,1,\"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056\",\"Return type of method from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:b(4057,1,\"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057\",\"Return type of method from exported interface has or is using private name '{0}'.\"),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:b(4058,1,\"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058\",\"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:b(4059,1,\"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059\",\"Return type of exported function has or is using name '{0}' from private module '{1}'.\"),Return_type_of_exported_function_has_or_is_using_private_name_0:b(4060,1,\"Return_type_of_exported_function_has_or_is_using_private_name_0_4060\",\"Return type of exported function has or is using private name '{0}'.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4061,1,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061\",\"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4062,1,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062\",\"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:b(4063,1,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063\",\"Parameter '{0}' of constructor from exported class has or is using private name '{1}'.\"),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4064,1,\"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064\",\"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:b(4065,1,\"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065\",\"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.\"),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4066,1,\"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066\",\"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:b(4067,1,\"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067\",\"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4068,1,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068\",\"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4069,1,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069\",\"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:b(4070,1,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070\",\"Parameter '{0}' of public static method from exported class has or is using private name '{1}'.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4071,1,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071\",\"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4072,1,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072\",\"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:b(4073,1,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073\",\"Parameter '{0}' of public method from exported class has or is using private name '{1}'.\"),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4074,1,\"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074\",\"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:b(4075,1,\"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075\",\"Parameter '{0}' of method from exported interface has or is using private name '{1}'.\"),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4076,1,\"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076\",\"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:b(4077,1,\"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077\",\"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_exported_function_has_or_is_using_private_name_1:b(4078,1,\"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078\",\"Parameter '{0}' of exported function has or is using private name '{1}'.\"),Exported_type_alias_0_has_or_is_using_private_name_1:b(4081,1,\"Exported_type_alias_0_has_or_is_using_private_name_1_4081\",\"Exported type alias '{0}' has or is using private name '{1}'.\"),Default_export_of_the_module_has_or_is_using_private_name_0:b(4082,1,\"Default_export_of_the_module_has_or_is_using_private_name_0_4082\",\"Default export of the module has or is using private name '{0}'.\"),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:b(4083,1,\"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083\",\"Type parameter '{0}' of exported type alias has or is using private name '{1}'.\"),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:b(4084,1,\"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084\",\"Exported type alias '{0}' has or is using private name '{1}' from module {2}.\"),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:b(4085,1,\"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085\",\"Extends clause for inferred type '{0}' has or is using private name '{1}'.\"),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:b(4090,1,\"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090\",\"Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict.\"),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4091,1,\"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091\",\"Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:b(4092,1,\"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092\",\"Parameter '{0}' of index signature from exported interface has or is using private name '{1}'.\"),Property_0_of_exported_class_expression_may_not_be_private_or_protected:b(4094,1,\"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094\",\"Property '{0}' of exported class expression may not be private or protected.\"),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4095,1,\"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095\",\"Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:b(4096,1,\"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096\",\"Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:b(4097,1,\"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097\",\"Public static method '{0}' of exported class has or is using private name '{1}'.\"),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4098,1,\"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098\",\"Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:b(4099,1,\"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099\",\"Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_method_0_of_exported_class_has_or_is_using_private_name_1:b(4100,1,\"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100\",\"Public method '{0}' of exported class has or is using private name '{1}'.\"),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4101,1,\"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101\",\"Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'.\"),Method_0_of_exported_interface_has_or_is_using_private_name_1:b(4102,1,\"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102\",\"Method '{0}' of exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:b(4103,1,\"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103\",\"Type parameter '{0}' of exported mapped object type is using private name '{1}'.\"),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:b(4104,1,\"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104\",\"The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'.\"),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:b(4105,1,\"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105\",\"Private or protected member '{0}' cannot be accessed on a type parameter.\"),Parameter_0_of_accessor_has_or_is_using_private_name_1:b(4106,1,\"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106\",\"Parameter '{0}' of accessor has or is using private name '{1}'.\"),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:b(4107,1,\"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107\",\"Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4108,1,\"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108\",\"Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named.\"),Type_arguments_for_0_circularly_reference_themselves:b(4109,1,\"Type_arguments_for_0_circularly_reference_themselves_4109\",\"Type arguments for '{0}' circularly reference themselves.\"),Tuple_type_arguments_circularly_reference_themselves:b(4110,1,\"Tuple_type_arguments_circularly_reference_themselves_4110\",\"Tuple type arguments circularly reference themselves.\"),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:b(4111,1,\"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111\",\"Property '{0}' comes from an index signature, so it must be accessed with ['{0}'].\"),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:b(4112,1,\"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112\",\"This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class.\"),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:b(4113,1,\"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113\",\"This member cannot have an 'override' modifier because it is not declared in the base class '{0}'.\"),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:b(4114,1,\"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114\",\"This member must have an 'override' modifier because it overrides a member in the base class '{0}'.\"),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:b(4115,1,\"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115\",\"This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'.\"),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:b(4116,1,\"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116\",\"This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'.\"),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:b(4117,1,\"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117\",\"This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?\"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:b(4118,1,\"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118\",\"The type of this node cannot be serialized because its property '{0}' cannot be serialized.\"),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:b(4119,1,\"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119\",\"This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'.\"),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:b(4120,1,\"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120\",\"This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'.\"),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:b(4121,1,\"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121\",\"This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class.\"),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:b(4122,1,\"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122\",\"This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'.\"),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:b(4123,1,\"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123\",\"This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?\"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:b(4124,1,\"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124\",\"Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'.\"),Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given:b(4125,1,\"Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given_4125\",\"Each declaration of '{0}.{1}' differs in its value, where '{2}' was expected but '{3}' was given.\"),One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value:b(4126,1,\"One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value_4126\",\"One value of '{0}.{1}' is the string '{2}', and the other is assumed to be an unknown numeric value.\"),The_current_host_does_not_support_the_0_option:b(5001,1,\"The_current_host_does_not_support_the_0_option_5001\",\"The current host does not support the '{0}' option.\"),Cannot_find_the_common_subdirectory_path_for_the_input_files:b(5009,1,\"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009\",\"Cannot find the common subdirectory path for the input files.\"),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:b(5010,1,\"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010\",\"File specification cannot end in a recursive directory wildcard ('**'): '{0}'.\"),Cannot_read_file_0_Colon_1:b(5012,1,\"Cannot_read_file_0_Colon_1_5012\",\"Cannot read file '{0}': {1}.\"),Failed_to_parse_file_0_Colon_1:b(5014,1,\"Failed_to_parse_file_0_Colon_1_5014\",\"Failed to parse file '{0}': {1}.\"),Unknown_compiler_option_0:b(5023,1,\"Unknown_compiler_option_0_5023\",\"Unknown compiler option '{0}'.\"),Compiler_option_0_requires_a_value_of_type_1:b(5024,1,\"Compiler_option_0_requires_a_value_of_type_1_5024\",\"Compiler option '{0}' requires a value of type {1}.\"),Unknown_compiler_option_0_Did_you_mean_1:b(5025,1,\"Unknown_compiler_option_0_Did_you_mean_1_5025\",\"Unknown compiler option '{0}'. Did you mean '{1}'?\"),Could_not_write_file_0_Colon_1:b(5033,1,\"Could_not_write_file_0_Colon_1_5033\",\"Could not write file '{0}': {1}.\"),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:b(5042,1,\"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042\",\"Option 'project' cannot be mixed with source files on a command line.\"),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:b(5047,1,\"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047\",\"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher.\"),Option_0_cannot_be_specified_when_option_target_is_ES3:b(5048,1,\"Option_0_cannot_be_specified_when_option_target_is_ES3_5048\",\"Option '{0}' cannot be specified when option 'target' is 'ES3'.\"),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:b(5051,1,\"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051\",\"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided.\"),Option_0_cannot_be_specified_without_specifying_option_1:b(5052,1,\"Option_0_cannot_be_specified_without_specifying_option_1_5052\",\"Option '{0}' cannot be specified without specifying option '{1}'.\"),Option_0_cannot_be_specified_with_option_1:b(5053,1,\"Option_0_cannot_be_specified_with_option_1_5053\",\"Option '{0}' cannot be specified with option '{1}'.\"),A_tsconfig_json_file_is_already_defined_at_Colon_0:b(5054,1,\"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054\",\"A 'tsconfig.json' file is already defined at: '{0}'.\"),Cannot_write_file_0_because_it_would_overwrite_input_file:b(5055,1,\"Cannot_write_file_0_because_it_would_overwrite_input_file_5055\",\"Cannot write file '{0}' because it would overwrite input file.\"),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:b(5056,1,\"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056\",\"Cannot write file '{0}' because it would be overwritten by multiple input files.\"),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:b(5057,1,\"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057\",\"Cannot find a tsconfig.json file at the specified directory: '{0}'.\"),The_specified_path_does_not_exist_Colon_0:b(5058,1,\"The_specified_path_does_not_exist_Colon_0_5058\",\"The specified path does not exist: '{0}'.\"),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:b(5059,1,\"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059\",\"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier.\"),Pattern_0_can_have_at_most_one_Asterisk_character:b(5061,1,\"Pattern_0_can_have_at_most_one_Asterisk_character_5061\",\"Pattern '{0}' can have at most one '*' character.\"),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:b(5062,1,\"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062\",\"Substitution '{0}' in pattern '{1}' can have at most one '*' character.\"),Substitutions_for_pattern_0_should_be_an_array:b(5063,1,\"Substitutions_for_pattern_0_should_be_an_array_5063\",\"Substitutions for pattern '{0}' should be an array.\"),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:b(5064,1,\"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064\",\"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'.\"),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:b(5065,1,\"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065\",\"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'.\"),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:b(5066,1,\"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066\",\"Substitutions for pattern '{0}' shouldn't be an empty array.\"),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:b(5067,1,\"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067\",\"Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name.\"),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:b(5068,1,\"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068\",\"Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig.\"),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:b(5069,1,\"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069\",\"Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'.\"),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:b(5070,1,\"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070\",\"Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'.\"),Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd:b(5071,1,\"Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd_5071\",\"Option '--resolveJsonModule' cannot be specified when 'module' is set to 'none', 'system', or 'umd'.\"),Unknown_build_option_0:b(5072,1,\"Unknown_build_option_0_5072\",\"Unknown build option '{0}'.\"),Build_option_0_requires_a_value_of_type_1:b(5073,1,\"Build_option_0_requires_a_value_of_type_1_5073\",\"Build option '{0}' requires a value of type {1}.\"),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:b(5074,1,\"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074\",\"Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified.\"),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:b(5075,1,\"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075\",\"'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'.\"),_0_and_1_operations_cannot_be_mixed_without_parentheses:b(5076,1,\"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076\",\"'{0}' and '{1}' operations cannot be mixed without parentheses.\"),Unknown_build_option_0_Did_you_mean_1:b(5077,1,\"Unknown_build_option_0_Did_you_mean_1_5077\",\"Unknown build option '{0}'. Did you mean '{1}'?\"),Unknown_watch_option_0:b(5078,1,\"Unknown_watch_option_0_5078\",\"Unknown watch option '{0}'.\"),Unknown_watch_option_0_Did_you_mean_1:b(5079,1,\"Unknown_watch_option_0_Did_you_mean_1_5079\",\"Unknown watch option '{0}'. Did you mean '{1}'?\"),Watch_option_0_requires_a_value_of_type_1:b(5080,1,\"Watch_option_0_requires_a_value_of_type_1_5080\",\"Watch option '{0}' requires a value of type {1}.\"),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:b(5081,1,\"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081\",\"Cannot find a tsconfig.json file at the current directory: {0}.\"),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:b(5082,1,\"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082\",\"'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'.\"),Cannot_read_file_0:b(5083,1,\"Cannot_read_file_0_5083\",\"Cannot read file '{0}'.\"),A_tuple_member_cannot_be_both_optional_and_rest:b(5085,1,\"A_tuple_member_cannot_be_both_optional_and_rest_5085\",\"A tuple member cannot be both optional and rest.\"),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:b(5086,1,\"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086\",\"A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type.\"),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:b(5087,1,\"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087\",\"A labeled tuple element is declared as rest with a '...' before the name, rather than before the type.\"),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:b(5088,1,\"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088\",\"The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary.\"),Option_0_cannot_be_specified_when_option_jsx_is_1:b(5089,1,\"Option_0_cannot_be_specified_when_option_jsx_is_1_5089\",\"Option '{0}' cannot be specified when option 'jsx' is '{1}'.\"),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:b(5090,1,\"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090\",\"Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?\"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:b(5091,1,\"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091\",\"Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled.\"),The_root_value_of_a_0_file_must_be_an_object:b(5092,1,\"The_root_value_of_a_0_file_must_be_an_object_5092\",\"The root value of a '{0}' file must be an object.\"),Compiler_option_0_may_only_be_used_with_build:b(5093,1,\"Compiler_option_0_may_only_be_used_with_build_5093\",\"Compiler option '--{0}' may only be used with '--build'.\"),Compiler_option_0_may_not_be_used_with_build:b(5094,1,\"Compiler_option_0_may_not_be_used_with_build_5094\",\"Compiler option '--{0}' may not be used with '--build'.\"),Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later:b(5095,1,\"Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later_5095\",\"Option '{0}' can only be used when 'module' is set to 'preserve' or to 'es2015' or later.\"),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:b(5096,1,\"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096\",\"Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set.\"),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:b(5097,1,\"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097\",\"An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled.\"),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:b(5098,1,\"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098\",\"Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'.\"),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:b(5101,1,\"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101\",`Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '\"ignoreDeprecations\": \"{2}\"' to silence this error.`),Option_0_has_been_removed_Please_remove_it_from_your_configuration:b(5102,1,\"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102\",\"Option '{0}' has been removed. Please remove it from your configuration.\"),Invalid_value_for_ignoreDeprecations:b(5103,1,\"Invalid_value_for_ignoreDeprecations_5103\",\"Invalid value for '--ignoreDeprecations'.\"),Option_0_is_redundant_and_cannot_be_specified_with_option_1:b(5104,1,\"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104\",\"Option '{0}' is redundant and cannot be specified with option '{1}'.\"),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:b(5105,1,\"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105\",\"Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'.\"),Use_0_instead:b(5106,3,\"Use_0_instead_5106\",\"Use '{0}' instead.\"),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:b(5107,1,\"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107\",`Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '\"ignoreDeprecations\": \"{3}\"' to silence this error.`),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:b(5108,1,\"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108\",\"Option '{0}={1}' has been removed. Please remove it from your configuration.\"),Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1:b(5109,1,\"Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1_5109\",\"Option 'moduleResolution' must be set to '{0}' (or left unspecified) when option 'module' is set to '{1}'.\"),Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1:b(5110,1,\"Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1_5110\",\"Option 'module' must be set to '{0}' when option 'moduleResolution' is set to '{1}'.\"),Generates_a_sourcemap_for_each_corresponding_d_ts_file:b(6e3,3,\"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000\",\"Generates a sourcemap for each corresponding '.d.ts' file.\"),Concatenate_and_emit_output_to_single_file:b(6001,3,\"Concatenate_and_emit_output_to_single_file_6001\",\"Concatenate and emit output to single file.\"),Generates_corresponding_d_ts_file:b(6002,3,\"Generates_corresponding_d_ts_file_6002\",\"Generates corresponding '.d.ts' file.\"),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:b(6004,3,\"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004\",\"Specify the location where debugger should locate TypeScript files instead of source locations.\"),Watch_input_files:b(6005,3,\"Watch_input_files_6005\",\"Watch input files.\"),Redirect_output_structure_to_the_directory:b(6006,3,\"Redirect_output_structure_to_the_directory_6006\",\"Redirect output structure to the directory.\"),Do_not_erase_const_enum_declarations_in_generated_code:b(6007,3,\"Do_not_erase_const_enum_declarations_in_generated_code_6007\",\"Do not erase const enum declarations in generated code.\"),Do_not_emit_outputs_if_any_errors_were_reported:b(6008,3,\"Do_not_emit_outputs_if_any_errors_were_reported_6008\",\"Do not emit outputs if any errors were reported.\"),Do_not_emit_comments_to_output:b(6009,3,\"Do_not_emit_comments_to_output_6009\",\"Do not emit comments to output.\"),Do_not_emit_outputs:b(6010,3,\"Do_not_emit_outputs_6010\",\"Do not emit outputs.\"),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:b(6011,3,\"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011\",\"Allow default imports from modules with no default export. This does not affect code emit, just typechecking.\"),Skip_type_checking_of_declaration_files:b(6012,3,\"Skip_type_checking_of_declaration_files_6012\",\"Skip type checking of declaration files.\"),Do_not_resolve_the_real_path_of_symlinks:b(6013,3,\"Do_not_resolve_the_real_path_of_symlinks_6013\",\"Do not resolve the real path of symlinks.\"),Only_emit_d_ts_declaration_files:b(6014,3,\"Only_emit_d_ts_declaration_files_6014\",\"Only emit '.d.ts' declaration files.\"),Specify_ECMAScript_target_version:b(6015,3,\"Specify_ECMAScript_target_version_6015\",\"Specify ECMAScript target version.\"),Specify_module_code_generation:b(6016,3,\"Specify_module_code_generation_6016\",\"Specify module code generation.\"),Print_this_message:b(6017,3,\"Print_this_message_6017\",\"Print this message.\"),Print_the_compiler_s_version:b(6019,3,\"Print_the_compiler_s_version_6019\",\"Print the compiler's version.\"),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:b(6020,3,\"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020\",\"Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.\"),Syntax_Colon_0:b(6023,3,\"Syntax_Colon_0_6023\",\"Syntax: {0}\"),options:b(6024,3,\"options_6024\",\"options\"),file:b(6025,3,\"file_6025\",\"file\"),Examples_Colon_0:b(6026,3,\"Examples_Colon_0_6026\",\"Examples: {0}\"),Options_Colon:b(6027,3,\"Options_Colon_6027\",\"Options:\"),Version_0:b(6029,3,\"Version_0_6029\",\"Version {0}\"),Insert_command_line_options_and_files_from_a_file:b(6030,3,\"Insert_command_line_options_and_files_from_a_file_6030\",\"Insert command line options and files from a file.\"),Starting_compilation_in_watch_mode:b(6031,3,\"Starting_compilation_in_watch_mode_6031\",\"Starting compilation in watch mode...\"),File_change_detected_Starting_incremental_compilation:b(6032,3,\"File_change_detected_Starting_incremental_compilation_6032\",\"File change detected. Starting incremental compilation...\"),KIND:b(6034,3,\"KIND_6034\",\"KIND\"),FILE:b(6035,3,\"FILE_6035\",\"FILE\"),VERSION:b(6036,3,\"VERSION_6036\",\"VERSION\"),LOCATION:b(6037,3,\"LOCATION_6037\",\"LOCATION\"),DIRECTORY:b(6038,3,\"DIRECTORY_6038\",\"DIRECTORY\"),STRATEGY:b(6039,3,\"STRATEGY_6039\",\"STRATEGY\"),FILE_OR_DIRECTORY:b(6040,3,\"FILE_OR_DIRECTORY_6040\",\"FILE OR DIRECTORY\"),Errors_Files:b(6041,3,\"Errors_Files_6041\",\"Errors  Files\"),Generates_corresponding_map_file:b(6043,3,\"Generates_corresponding_map_file_6043\",\"Generates corresponding '.map' file.\"),Compiler_option_0_expects_an_argument:b(6044,1,\"Compiler_option_0_expects_an_argument_6044\",\"Compiler option '{0}' expects an argument.\"),Unterminated_quoted_string_in_response_file_0:b(6045,1,\"Unterminated_quoted_string_in_response_file_0_6045\",\"Unterminated quoted string in response file '{0}'.\"),Argument_for_0_option_must_be_Colon_1:b(6046,1,\"Argument_for_0_option_must_be_Colon_1_6046\",\"Argument for '{0}' option must be: {1}.\"),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:b(6048,1,\"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048\",\"Locale must be of the form <language> or <language>-<territory>. For example '{0}' or '{1}'.\"),Unable_to_open_file_0:b(6050,1,\"Unable_to_open_file_0_6050\",\"Unable to open file '{0}'.\"),Corrupted_locale_file_0:b(6051,1,\"Corrupted_locale_file_0_6051\",\"Corrupted locale file {0}.\"),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:b(6052,3,\"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052\",\"Raise error on expressions and declarations with an implied 'any' type.\"),File_0_not_found:b(6053,1,\"File_0_not_found_6053\",\"File '{0}' not found.\"),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:b(6054,1,\"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054\",\"File '{0}' has an unsupported extension. The only supported extensions are {1}.\"),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:b(6055,3,\"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055\",\"Suppress noImplicitAny errors for indexing objects lacking index signatures.\"),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:b(6056,3,\"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056\",\"Do not emit declarations for code that has an '@internal' annotation.\"),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:b(6058,3,\"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058\",\"Specify the root directory of input files. Use to control the output directory structure with --outDir.\"),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:b(6059,1,\"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059\",\"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files.\"),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:b(6060,3,\"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060\",\"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix).\"),NEWLINE:b(6061,3,\"NEWLINE_6061\",\"NEWLINE\"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:b(6064,1,\"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064\",\"Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line.\"),Enables_experimental_support_for_ES7_decorators:b(6065,3,\"Enables_experimental_support_for_ES7_decorators_6065\",\"Enables experimental support for ES7 decorators.\"),Enables_experimental_support_for_emitting_type_metadata_for_decorators:b(6066,3,\"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066\",\"Enables experimental support for emitting type metadata for decorators.\"),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:b(6070,3,\"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070\",\"Initializes a TypeScript project and creates a tsconfig.json file.\"),Successfully_created_a_tsconfig_json_file:b(6071,3,\"Successfully_created_a_tsconfig_json_file_6071\",\"Successfully created a tsconfig.json file.\"),Suppress_excess_property_checks_for_object_literals:b(6072,3,\"Suppress_excess_property_checks_for_object_literals_6072\",\"Suppress excess property checks for object literals.\"),Stylize_errors_and_messages_using_color_and_context_experimental:b(6073,3,\"Stylize_errors_and_messages_using_color_and_context_experimental_6073\",\"Stylize errors and messages using color and context (experimental).\"),Do_not_report_errors_on_unused_labels:b(6074,3,\"Do_not_report_errors_on_unused_labels_6074\",\"Do not report errors on unused labels.\"),Report_error_when_not_all_code_paths_in_function_return_a_value:b(6075,3,\"Report_error_when_not_all_code_paths_in_function_return_a_value_6075\",\"Report error when not all code paths in function return a value.\"),Report_errors_for_fallthrough_cases_in_switch_statement:b(6076,3,\"Report_errors_for_fallthrough_cases_in_switch_statement_6076\",\"Report errors for fallthrough cases in switch statement.\"),Do_not_report_errors_on_unreachable_code:b(6077,3,\"Do_not_report_errors_on_unreachable_code_6077\",\"Do not report errors on unreachable code.\"),Disallow_inconsistently_cased_references_to_the_same_file:b(6078,3,\"Disallow_inconsistently_cased_references_to_the_same_file_6078\",\"Disallow inconsistently-cased references to the same file.\"),Specify_library_files_to_be_included_in_the_compilation:b(6079,3,\"Specify_library_files_to_be_included_in_the_compilation_6079\",\"Specify library files to be included in the compilation.\"),Specify_JSX_code_generation:b(6080,3,\"Specify_JSX_code_generation_6080\",\"Specify JSX code generation.\"),Only_amd_and_system_modules_are_supported_alongside_0:b(6082,1,\"Only_amd_and_system_modules_are_supported_alongside_0_6082\",\"Only 'amd' and 'system' modules are supported alongside --{0}.\"),Base_directory_to_resolve_non_absolute_module_names:b(6083,3,\"Base_directory_to_resolve_non_absolute_module_names_6083\",\"Base directory to resolve non-absolute module names.\"),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:b(6084,3,\"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084\",\"[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit\"),Enable_tracing_of_the_name_resolution_process:b(6085,3,\"Enable_tracing_of_the_name_resolution_process_6085\",\"Enable tracing of the name resolution process.\"),Resolving_module_0_from_1:b(6086,3,\"Resolving_module_0_from_1_6086\",\"======== Resolving module '{0}' from '{1}'. ========\"),Explicitly_specified_module_resolution_kind_Colon_0:b(6087,3,\"Explicitly_specified_module_resolution_kind_Colon_0_6087\",\"Explicitly specified module resolution kind: '{0}'.\"),Module_resolution_kind_is_not_specified_using_0:b(6088,3,\"Module_resolution_kind_is_not_specified_using_0_6088\",\"Module resolution kind is not specified, using '{0}'.\"),Module_name_0_was_successfully_resolved_to_1:b(6089,3,\"Module_name_0_was_successfully_resolved_to_1_6089\",\"======== Module name '{0}' was successfully resolved to '{1}'. ========\"),Module_name_0_was_not_resolved:b(6090,3,\"Module_name_0_was_not_resolved_6090\",\"======== Module name '{0}' was not resolved. ========\"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:b(6091,3,\"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091\",\"'paths' option is specified, looking for a pattern to match module name '{0}'.\"),Module_name_0_matched_pattern_1:b(6092,3,\"Module_name_0_matched_pattern_1_6092\",\"Module name '{0}', matched pattern '{1}'.\"),Trying_substitution_0_candidate_module_location_Colon_1:b(6093,3,\"Trying_substitution_0_candidate_module_location_Colon_1_6093\",\"Trying substitution '{0}', candidate module location: '{1}'.\"),Resolving_module_name_0_relative_to_base_url_1_2:b(6094,3,\"Resolving_module_name_0_relative_to_base_url_1_2_6094\",\"Resolving module name '{0}' relative to base url '{1}' - '{2}'.\"),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:b(6095,3,\"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095\",\"Loading module as file / folder, candidate module location '{0}', target file types: {1}.\"),File_0_does_not_exist:b(6096,3,\"File_0_does_not_exist_6096\",\"File '{0}' does not exist.\"),File_0_exists_use_it_as_a_name_resolution_result:b(6097,3,\"File_0_exists_use_it_as_a_name_resolution_result_6097\",\"File '{0}' exists - use it as a name resolution result.\"),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:b(6098,3,\"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098\",\"Loading module '{0}' from 'node_modules' folder, target file types: {1}.\"),Found_package_json_at_0:b(6099,3,\"Found_package_json_at_0_6099\",\"Found 'package.json' at '{0}'.\"),package_json_does_not_have_a_0_field:b(6100,3,\"package_json_does_not_have_a_0_field_6100\",\"'package.json' does not have a '{0}' field.\"),package_json_has_0_field_1_that_references_2:b(6101,3,\"package_json_has_0_field_1_that_references_2_6101\",\"'package.json' has '{0}' field '{1}' that references '{2}'.\"),Allow_javascript_files_to_be_compiled:b(6102,3,\"Allow_javascript_files_to_be_compiled_6102\",\"Allow javascript files to be compiled.\"),Checking_if_0_is_the_longest_matching_prefix_for_1_2:b(6104,3,\"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104\",\"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'.\"),Expected_type_of_0_field_in_package_json_to_be_1_got_2:b(6105,3,\"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105\",\"Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'.\"),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:b(6106,3,\"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106\",\"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'.\"),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:b(6107,3,\"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107\",\"'rootDirs' option is set, using it to resolve relative module name '{0}'.\"),Longest_matching_prefix_for_0_is_1:b(6108,3,\"Longest_matching_prefix_for_0_is_1_6108\",\"Longest matching prefix for '{0}' is '{1}'.\"),Loading_0_from_the_root_dir_1_candidate_location_2:b(6109,3,\"Loading_0_from_the_root_dir_1_candidate_location_2_6109\",\"Loading '{0}' from the root dir '{1}', candidate location '{2}'.\"),Trying_other_entries_in_rootDirs:b(6110,3,\"Trying_other_entries_in_rootDirs_6110\",\"Trying other entries in 'rootDirs'.\"),Module_resolution_using_rootDirs_has_failed:b(6111,3,\"Module_resolution_using_rootDirs_has_failed_6111\",\"Module resolution using 'rootDirs' has failed.\"),Do_not_emit_use_strict_directives_in_module_output:b(6112,3,\"Do_not_emit_use_strict_directives_in_module_output_6112\",\"Do not emit 'use strict' directives in module output.\"),Enable_strict_null_checks:b(6113,3,\"Enable_strict_null_checks_6113\",\"Enable strict null checks.\"),Unknown_option_excludes_Did_you_mean_exclude:b(6114,1,\"Unknown_option_excludes_Did_you_mean_exclude_6114\",\"Unknown option 'excludes'. Did you mean 'exclude'?\"),Raise_error_on_this_expressions_with_an_implied_any_type:b(6115,3,\"Raise_error_on_this_expressions_with_an_implied_any_type_6115\",\"Raise error on 'this' expressions with an implied 'any' type.\"),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:b(6116,3,\"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116\",\"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========\"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:b(6119,3,\"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119\",\"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========\"),Type_reference_directive_0_was_not_resolved:b(6120,3,\"Type_reference_directive_0_was_not_resolved_6120\",\"======== Type reference directive '{0}' was not resolved. ========\"),Resolving_with_primary_search_path_0:b(6121,3,\"Resolving_with_primary_search_path_0_6121\",\"Resolving with primary search path '{0}'.\"),Root_directory_cannot_be_determined_skipping_primary_search_paths:b(6122,3,\"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122\",\"Root directory cannot be determined, skipping primary search paths.\"),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:b(6123,3,\"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123\",\"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========\"),Type_declaration_files_to_be_included_in_compilation:b(6124,3,\"Type_declaration_files_to_be_included_in_compilation_6124\",\"Type declaration files to be included in compilation.\"),Looking_up_in_node_modules_folder_initial_location_0:b(6125,3,\"Looking_up_in_node_modules_folder_initial_location_0_6125\",\"Looking up in 'node_modules' folder, initial location '{0}'.\"),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:b(6126,3,\"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126\",\"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder.\"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:b(6127,3,\"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127\",\"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========\"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:b(6128,3,\"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128\",\"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========\"),Resolving_real_path_for_0_result_1:b(6130,3,\"Resolving_real_path_for_0_result_1_6130\",\"Resolving real path for '{0}', result '{1}'.\"),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:b(6131,1,\"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131\",\"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'.\"),File_name_0_has_a_1_extension_stripping_it:b(6132,3,\"File_name_0_has_a_1_extension_stripping_it_6132\",\"File name '{0}' has a '{1}' extension - stripping it.\"),_0_is_declared_but_its_value_is_never_read:b(6133,1,\"_0_is_declared_but_its_value_is_never_read_6133\",\"'{0}' is declared but its value is never read.\",!0),Report_errors_on_unused_locals:b(6134,3,\"Report_errors_on_unused_locals_6134\",\"Report errors on unused locals.\"),Report_errors_on_unused_parameters:b(6135,3,\"Report_errors_on_unused_parameters_6135\",\"Report errors on unused parameters.\"),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:b(6136,3,\"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136\",\"The maximum dependency depth to search under node_modules and load JavaScript files.\"),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:b(6137,1,\"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137\",\"Cannot import type declaration files. Consider importing '{0}' instead of '{1}'.\"),Property_0_is_declared_but_its_value_is_never_read:b(6138,1,\"Property_0_is_declared_but_its_value_is_never_read_6138\",\"Property '{0}' is declared but its value is never read.\",!0),Import_emit_helpers_from_tslib:b(6139,3,\"Import_emit_helpers_from_tslib_6139\",\"Import emit helpers from 'tslib'.\"),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:b(6140,1,\"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140\",\"Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'.\"),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:b(6141,3,\"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141\",'Parse in strict mode and emit \"use strict\" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:b(6142,1,\"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142\",\"Module '{0}' was resolved to '{1}', but '--jsx' is not set.\"),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:b(6144,3,\"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144\",\"Module '{0}' was resolved as locally declared ambient module in file '{1}'.\"),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:b(6145,3,\"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145\",\"Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified.\"),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:b(6146,3,\"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146\",\"Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'.\"),Resolution_for_module_0_was_found_in_cache_from_location_1:b(6147,3,\"Resolution_for_module_0_was_found_in_cache_from_location_1_6147\",\"Resolution for module '{0}' was found in cache from location '{1}'.\"),Directory_0_does_not_exist_skipping_all_lookups_in_it:b(6148,3,\"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148\",\"Directory '{0}' does not exist, skipping all lookups in it.\"),Show_diagnostic_information:b(6149,3,\"Show_diagnostic_information_6149\",\"Show diagnostic information.\"),Show_verbose_diagnostic_information:b(6150,3,\"Show_verbose_diagnostic_information_6150\",\"Show verbose diagnostic information.\"),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:b(6151,3,\"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151\",\"Emit a single file with source maps instead of having a separate file.\"),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:b(6152,3,\"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152\",\"Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set.\"),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:b(6153,3,\"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153\",\"Transpile each file as a separate module (similar to 'ts.transpileModule').\"),Print_names_of_generated_files_part_of_the_compilation:b(6154,3,\"Print_names_of_generated_files_part_of_the_compilation_6154\",\"Print names of generated files part of the compilation.\"),Print_names_of_files_part_of_the_compilation:b(6155,3,\"Print_names_of_files_part_of_the_compilation_6155\",\"Print names of files part of the compilation.\"),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:b(6156,3,\"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156\",\"The locale used when displaying messages to the user (e.g. 'en-us')\"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:b(6157,3,\"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157\",\"Do not generate custom helper functions like '__extends' in compiled output.\"),Do_not_include_the_default_library_file_lib_d_ts:b(6158,3,\"Do_not_include_the_default_library_file_lib_d_ts_6158\",\"Do not include the default library file (lib.d.ts).\"),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:b(6159,3,\"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159\",\"Do not add triple-slash references or imported modules to the list of compiled files.\"),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:b(6160,3,\"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160\",\"[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files.\"),List_of_folders_to_include_type_definitions_from:b(6161,3,\"List_of_folders_to_include_type_definitions_from_6161\",\"List of folders to include type definitions from.\"),Disable_size_limitations_on_JavaScript_projects:b(6162,3,\"Disable_size_limitations_on_JavaScript_projects_6162\",\"Disable size limitations on JavaScript projects.\"),The_character_set_of_the_input_files:b(6163,3,\"The_character_set_of_the_input_files_6163\",\"The character set of the input files.\"),Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1:b(6164,3,\"Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1_6164\",\"Skipping module '{0}' that looks like an absolute URI, target file types: {1}.\"),Do_not_truncate_error_messages:b(6165,3,\"Do_not_truncate_error_messages_6165\",\"Do not truncate error messages.\"),Output_directory_for_generated_declaration_files:b(6166,3,\"Output_directory_for_generated_declaration_files_6166\",\"Output directory for generated declaration files.\"),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:b(6167,3,\"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167\",\"A series of entries which re-map imports to lookup locations relative to the 'baseUrl'.\"),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:b(6168,3,\"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168\",\"List of root folders whose combined content represents the structure of the project at runtime.\"),Show_all_compiler_options:b(6169,3,\"Show_all_compiler_options_6169\",\"Show all compiler options.\"),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:b(6170,3,\"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170\",\"[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file\"),Command_line_Options:b(6171,3,\"Command_line_Options_6171\",\"Command-line Options\"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:b(6179,3,\"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179\",\"Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'.\"),Enable_all_strict_type_checking_options:b(6180,3,\"Enable_all_strict_type_checking_options_6180\",\"Enable all strict type-checking options.\"),Scoped_package_detected_looking_in_0:b(6182,3,\"Scoped_package_detected_looking_in_0_6182\",\"Scoped package detected, looking in '{0}'\"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:b(6183,3,\"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183\",\"Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'.\"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:b(6184,3,\"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184\",\"Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'.\"),Enable_strict_checking_of_function_types:b(6186,3,\"Enable_strict_checking_of_function_types_6186\",\"Enable strict checking of function types.\"),Enable_strict_checking_of_property_initialization_in_classes:b(6187,3,\"Enable_strict_checking_of_property_initialization_in_classes_6187\",\"Enable strict checking of property initialization in classes.\"),Numeric_separators_are_not_allowed_here:b(6188,1,\"Numeric_separators_are_not_allowed_here_6188\",\"Numeric separators are not allowed here.\"),Multiple_consecutive_numeric_separators_are_not_permitted:b(6189,1,\"Multiple_consecutive_numeric_separators_are_not_permitted_6189\",\"Multiple consecutive numeric separators are not permitted.\"),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:b(6191,3,\"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191\",\"Whether to keep outdated console output in watch mode instead of clearing the screen.\"),All_imports_in_import_declaration_are_unused:b(6192,1,\"All_imports_in_import_declaration_are_unused_6192\",\"All imports in import declaration are unused.\",!0),Found_1_error_Watching_for_file_changes:b(6193,3,\"Found_1_error_Watching_for_file_changes_6193\",\"Found 1 error. Watching for file changes.\"),Found_0_errors_Watching_for_file_changes:b(6194,3,\"Found_0_errors_Watching_for_file_changes_6194\",\"Found {0} errors. Watching for file changes.\"),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:b(6195,3,\"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195\",\"Resolve 'keyof' to string valued property names only (no numbers or symbols).\"),_0_is_declared_but_never_used:b(6196,1,\"_0_is_declared_but_never_used_6196\",\"'{0}' is declared but never used.\",!0),Include_modules_imported_with_json_extension:b(6197,3,\"Include_modules_imported_with_json_extension_6197\",\"Include modules imported with '.json' extension\"),All_destructured_elements_are_unused:b(6198,1,\"All_destructured_elements_are_unused_6198\",\"All destructured elements are unused.\",!0),All_variables_are_unused:b(6199,1,\"All_variables_are_unused_6199\",\"All variables are unused.\",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:b(6200,1,\"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200\",\"Definitions of the following identifiers conflict with those in another file: {0}\"),Conflicts_are_in_this_file:b(6201,3,\"Conflicts_are_in_this_file_6201\",\"Conflicts are in this file.\"),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:b(6202,1,\"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202\",\"Project references may not form a circular graph. Cycle detected: {0}\"),_0_was_also_declared_here:b(6203,3,\"_0_was_also_declared_here_6203\",\"'{0}' was also declared here.\"),and_here:b(6204,3,\"and_here_6204\",\"and here.\"),All_type_parameters_are_unused:b(6205,1,\"All_type_parameters_are_unused_6205\",\"All type parameters are unused.\"),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:b(6206,3,\"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206\",\"'package.json' has a 'typesVersions' field with version-specific path mappings.\"),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:b(6207,3,\"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207\",\"'package.json' does not have a 'typesVersions' entry that matches version '{0}'.\"),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:b(6208,3,\"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208\",\"'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'.\"),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:b(6209,3,\"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209\",\"'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range.\"),An_argument_for_0_was_not_provided:b(6210,3,\"An_argument_for_0_was_not_provided_6210\",\"An argument for '{0}' was not provided.\"),An_argument_matching_this_binding_pattern_was_not_provided:b(6211,3,\"An_argument_matching_this_binding_pattern_was_not_provided_6211\",\"An argument matching this binding pattern was not provided.\"),Did_you_mean_to_call_this_expression:b(6212,3,\"Did_you_mean_to_call_this_expression_6212\",\"Did you mean to call this expression?\"),Did_you_mean_to_use_new_with_this_expression:b(6213,3,\"Did_you_mean_to_use_new_with_this_expression_6213\",\"Did you mean to use 'new' with this expression?\"),Enable_strict_bind_call_and_apply_methods_on_functions:b(6214,3,\"Enable_strict_bind_call_and_apply_methods_on_functions_6214\",\"Enable strict 'bind', 'call', and 'apply' methods on functions.\"),Using_compiler_options_of_project_reference_redirect_0:b(6215,3,\"Using_compiler_options_of_project_reference_redirect_0_6215\",\"Using compiler options of project reference redirect '{0}'.\"),Found_1_error:b(6216,3,\"Found_1_error_6216\",\"Found 1 error.\"),Found_0_errors:b(6217,3,\"Found_0_errors_6217\",\"Found {0} errors.\"),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:b(6218,3,\"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218\",\"======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========\"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:b(6219,3,\"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219\",\"======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========\"),package_json_had_a_falsy_0_field:b(6220,3,\"package_json_had_a_falsy_0_field_6220\",\"'package.json' had a falsy '{0}' field.\"),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:b(6221,3,\"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221\",\"Disable use of source files instead of declaration files from referenced projects.\"),Emit_class_fields_with_Define_instead_of_Set:b(6222,3,\"Emit_class_fields_with_Define_instead_of_Set_6222\",\"Emit class fields with Define instead of Set.\"),Generates_a_CPU_profile:b(6223,3,\"Generates_a_CPU_profile_6223\",\"Generates a CPU profile.\"),Disable_solution_searching_for_this_project:b(6224,3,\"Disable_solution_searching_for_this_project_6224\",\"Disable solution searching for this project.\"),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:b(6225,3,\"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225\",\"Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'.\"),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:b(6226,3,\"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226\",\"Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'.\"),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:b(6227,3,\"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227\",\"Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'.\"),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:b(6229,1,\"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229\",\"Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'.\"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:b(6230,1,\"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230\",\"Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line.\"),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:b(6231,1,\"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231\",\"Could not resolve the path '{0}' with the extensions: {1}.\"),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:b(6232,1,\"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232\",\"Declaration augments declaration in another file. This cannot be serialized.\"),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:b(6233,1,\"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233\",\"This is the declaration being augmented. Consider moving the augmenting declaration into the same file.\"),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:b(6234,1,\"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234\",\"This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?\"),Disable_loading_referenced_projects:b(6235,3,\"Disable_loading_referenced_projects_6235\",\"Disable loading referenced projects.\"),Arguments_for_the_rest_parameter_0_were_not_provided:b(6236,1,\"Arguments_for_the_rest_parameter_0_were_not_provided_6236\",\"Arguments for the rest parameter '{0}' were not provided.\"),Generates_an_event_trace_and_a_list_of_types:b(6237,3,\"Generates_an_event_trace_and_a_list_of_types_6237\",\"Generates an event trace and a list of types.\"),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:b(6238,1,\"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238\",\"Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react\"),File_0_exists_according_to_earlier_cached_lookups:b(6239,3,\"File_0_exists_according_to_earlier_cached_lookups_6239\",\"File '{0}' exists according to earlier cached lookups.\"),File_0_does_not_exist_according_to_earlier_cached_lookups:b(6240,3,\"File_0_does_not_exist_according_to_earlier_cached_lookups_6240\",\"File '{0}' does not exist according to earlier cached lookups.\"),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:b(6241,3,\"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241\",\"Resolution for type reference directive '{0}' was found in cache from location '{1}'.\"),Resolving_type_reference_directive_0_containing_file_1:b(6242,3,\"Resolving_type_reference_directive_0_containing_file_1_6242\",\"======== Resolving type reference directive '{0}', containing file '{1}'. ========\"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:b(6243,3,\"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243\",\"Interpret optional property types as written, rather than adding 'undefined'.\"),Modules:b(6244,3,\"Modules_6244\",\"Modules\"),File_Management:b(6245,3,\"File_Management_6245\",\"File Management\"),Emit:b(6246,3,\"Emit_6246\",\"Emit\"),JavaScript_Support:b(6247,3,\"JavaScript_Support_6247\",\"JavaScript Support\"),Type_Checking:b(6248,3,\"Type_Checking_6248\",\"Type Checking\"),Editor_Support:b(6249,3,\"Editor_Support_6249\",\"Editor Support\"),Watch_and_Build_Modes:b(6250,3,\"Watch_and_Build_Modes_6250\",\"Watch and Build Modes\"),Compiler_Diagnostics:b(6251,3,\"Compiler_Diagnostics_6251\",\"Compiler Diagnostics\"),Interop_Constraints:b(6252,3,\"Interop_Constraints_6252\",\"Interop Constraints\"),Backwards_Compatibility:b(6253,3,\"Backwards_Compatibility_6253\",\"Backwards Compatibility\"),Language_and_Environment:b(6254,3,\"Language_and_Environment_6254\",\"Language and Environment\"),Projects:b(6255,3,\"Projects_6255\",\"Projects\"),Output_Formatting:b(6256,3,\"Output_Formatting_6256\",\"Output Formatting\"),Completeness:b(6257,3,\"Completeness_6257\",\"Completeness\"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:b(6258,1,\"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258\",\"'{0}' should be set inside the 'compilerOptions' object of the config json file\"),Found_1_error_in_0:b(6259,3,\"Found_1_error_in_0_6259\",\"Found 1 error in {0}\"),Found_0_errors_in_the_same_file_starting_at_Colon_1:b(6260,3,\"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260\",\"Found {0} errors in the same file, starting at: {1}\"),Found_0_errors_in_1_files:b(6261,3,\"Found_0_errors_in_1_files_6261\",\"Found {0} errors in {1} files.\"),File_name_0_has_a_1_extension_looking_up_2_instead:b(6262,3,\"File_name_0_has_a_1_extension_looking_up_2_instead_6262\",\"File name '{0}' has a '{1}' extension - looking up '{2}' instead.\"),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:b(6263,1,\"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263\",\"Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set.\"),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:b(6264,3,\"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264\",\"Enable importing files with any extension, provided a declaration file is present.\"),Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_node_modules_folder:b(6265,3,\"Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_no_6265\",\"Resolving type reference directive for program that specifies custom typeRoots, skipping lookup in 'node_modules' folder.\"),Option_0_can_only_be_specified_on_command_line:b(6266,1,\"Option_0_can_only_be_specified_on_command_line_6266\",\"Option '{0}' can only be specified on command line.\"),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:b(6270,3,\"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270\",\"Directory '{0}' has no containing package.json scope. Imports will not resolve.\"),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:b(6271,3,\"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271\",\"Import specifier '{0}' does not exist in package.json scope at path '{1}'.\"),Invalid_import_specifier_0_has_no_possible_resolutions:b(6272,3,\"Invalid_import_specifier_0_has_no_possible_resolutions_6272\",\"Invalid import specifier '{0}' has no possible resolutions.\"),package_json_scope_0_has_no_imports_defined:b(6273,3,\"package_json_scope_0_has_no_imports_defined_6273\",\"package.json scope '{0}' has no imports defined.\"),package_json_scope_0_explicitly_maps_specifier_1_to_null:b(6274,3,\"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274\",\"package.json scope '{0}' explicitly maps specifier '{1}' to null.\"),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:b(6275,3,\"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275\",\"package.json scope '{0}' has invalid type for target of specifier '{1}'\"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:b(6276,3,\"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276\",\"Export specifier '{0}' does not exist in package.json scope at path '{1}'.\"),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:b(6277,3,\"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277\",\"Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update.\"),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:b(6278,3,\"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278\",`There are types at '{0}', but this result could not be resolved when respecting package.json \"exports\". The '{1}' library may need to update its package.json or typings.`),Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_need_configuration_update:b(6279,3,\"Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_ne_6279\",\"Resolution of non-relative name failed; trying with '--moduleResolution bundler' to see if project may need configuration update.\"),There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setting_Consider_updating_to_node16_nodenext_or_bundler:b(6280,3,\"There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setti_6280\",\"There are types at '{0}', but this result could not be resolved under your current 'moduleResolution' setting. Consider updating to 'node16', 'nodenext', or 'bundler'.\"),Enable_project_compilation:b(6302,3,\"Enable_project_compilation_6302\",\"Enable project compilation\"),Composite_projects_may_not_disable_declaration_emit:b(6304,1,\"Composite_projects_may_not_disable_declaration_emit_6304\",\"Composite projects may not disable declaration emit.\"),Output_file_0_has_not_been_built_from_source_file_1:b(6305,1,\"Output_file_0_has_not_been_built_from_source_file_1_6305\",\"Output file '{0}' has not been built from source file '{1}'.\"),Referenced_project_0_must_have_setting_composite_Colon_true:b(6306,1,\"Referenced_project_0_must_have_setting_composite_Colon_true_6306\",`Referenced project '{0}' must have setting \"composite\": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:b(6307,1,\"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307\",\"File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern.\"),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:b(6308,1,\"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308\",\"Cannot prepend project '{0}' because it does not have 'outFile' set\"),Output_file_0_from_project_1_does_not_exist:b(6309,1,\"Output_file_0_from_project_1_does_not_exist_6309\",\"Output file '{0}' from project '{1}' does not exist\"),Referenced_project_0_may_not_disable_emit:b(6310,1,\"Referenced_project_0_may_not_disable_emit_6310\",\"Referenced project '{0}' may not disable emit.\"),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:b(6350,3,\"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350\",\"Project '{0}' is out of date because output '{1}' is older than input '{2}'\"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:b(6351,3,\"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351\",\"Project '{0}' is up to date because newest input '{1}' is older than output '{2}'\"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:b(6352,3,\"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352\",\"Project '{0}' is out of date because output file '{1}' does not exist\"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:b(6353,3,\"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353\",\"Project '{0}' is out of date because its dependency '{1}' is out of date\"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:b(6354,3,\"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354\",\"Project '{0}' is up to date with .d.ts files from its dependencies\"),Projects_in_this_build_Colon_0:b(6355,3,\"Projects_in_this_build_Colon_0_6355\",\"Projects in this build: {0}\"),A_non_dry_build_would_delete_the_following_files_Colon_0:b(6356,3,\"A_non_dry_build_would_delete_the_following_files_Colon_0_6356\",\"A non-dry build would delete the following files: {0}\"),A_non_dry_build_would_build_project_0:b(6357,3,\"A_non_dry_build_would_build_project_0_6357\",\"A non-dry build would build project '{0}'\"),Building_project_0:b(6358,3,\"Building_project_0_6358\",\"Building project '{0}'...\"),Updating_output_timestamps_of_project_0:b(6359,3,\"Updating_output_timestamps_of_project_0_6359\",\"Updating output timestamps of project '{0}'...\"),Project_0_is_up_to_date:b(6361,3,\"Project_0_is_up_to_date_6361\",\"Project '{0}' is up to date\"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:b(6362,3,\"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362\",\"Skipping build of project '{0}' because its dependency '{1}' has errors\"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:b(6363,3,\"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363\",\"Project '{0}' can't be built because its dependency '{1}' has errors\"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:b(6364,3,\"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364\",\"Build one or more projects and their dependencies, if out of date\"),Delete_the_outputs_of_all_projects:b(6365,3,\"Delete_the_outputs_of_all_projects_6365\",\"Delete the outputs of all projects.\"),Show_what_would_be_built_or_deleted_if_specified_with_clean:b(6367,3,\"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367\",\"Show what would be built (or deleted, if specified with '--clean')\"),Option_build_must_be_the_first_command_line_argument:b(6369,1,\"Option_build_must_be_the_first_command_line_argument_6369\",\"Option '--build' must be the first command line argument.\"),Options_0_and_1_cannot_be_combined:b(6370,1,\"Options_0_and_1_cannot_be_combined_6370\",\"Options '{0}' and '{1}' cannot be combined.\"),Updating_unchanged_output_timestamps_of_project_0:b(6371,3,\"Updating_unchanged_output_timestamps_of_project_0_6371\",\"Updating unchanged output timestamps of project '{0}'...\"),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:b(6372,3,\"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372\",\"Project '{0}' is out of date because output of its dependency '{1}' has changed\"),Updating_output_of_project_0:b(6373,3,\"Updating_output_of_project_0_6373\",\"Updating output of project '{0}'...\"),A_non_dry_build_would_update_timestamps_for_output_of_project_0:b(6374,3,\"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374\",\"A non-dry build would update timestamps for output of project '{0}'\"),A_non_dry_build_would_update_output_of_project_0:b(6375,3,\"A_non_dry_build_would_update_output_of_project_0_6375\",\"A non-dry build would update output of project '{0}'\"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:b(6376,3,\"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376\",\"Cannot update output of project '{0}' because there was error reading file '{1}'\"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:b(6377,1,\"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377\",\"Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'\"),Composite_projects_may_not_disable_incremental_compilation:b(6379,1,\"Composite_projects_may_not_disable_incremental_compilation_6379\",\"Composite projects may not disable incremental compilation.\"),Specify_file_to_store_incremental_compilation_information:b(6380,3,\"Specify_file_to_store_incremental_compilation_information_6380\",\"Specify file to store incremental compilation information\"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:b(6381,3,\"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381\",\"Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'\"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:b(6382,3,\"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382\",\"Skipping build of project '{0}' because its dependency '{1}' was not built\"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:b(6383,3,\"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383\",\"Project '{0}' can't be built because its dependency '{1}' was not built\"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:b(6384,3,\"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384\",\"Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it.\"),_0_is_deprecated:b(6385,2,\"_0_is_deprecated_6385\",\"'{0}' is deprecated.\",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:b(6386,3,\"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386\",\"Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found.\"),The_signature_0_of_1_is_deprecated:b(6387,2,\"The_signature_0_of_1_is_deprecated_6387\",\"The signature '{0}' of '{1}' is deprecated.\",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:b(6388,3,\"Project_0_is_being_forcibly_rebuilt_6388\",\"Project '{0}' is being forcibly rebuilt\"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:b(6389,3,\"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389\",\"Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved.\"),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:b(6390,3,\"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390\",\"Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'.\"),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:b(6391,3,\"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391\",\"Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'.\"),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:b(6392,3,\"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392\",\"Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved.\"),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:b(6393,3,\"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393\",\"Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'.\"),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:b(6394,3,\"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394\",\"Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'.\"),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:b(6395,3,\"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395\",\"Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved.\"),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:b(6396,3,\"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396\",\"Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'.\"),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:b(6397,3,\"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397\",\"Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'.\"),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:b(6398,3,\"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398\",\"Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved.\"),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:b(6399,3,\"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399\",\"Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted\"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:b(6400,3,\"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400\",\"Project '{0}' is up to date but needs to update timestamps of output files that are older than input files\"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:b(6401,3,\"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401\",\"Project '{0}' is out of date because there was error reading file '{1}'\"),Resolving_in_0_mode_with_conditions_1:b(6402,3,\"Resolving_in_0_mode_with_conditions_1_6402\",\"Resolving in {0} mode with conditions {1}.\"),Matched_0_condition_1:b(6403,3,\"Matched_0_condition_1_6403\",\"Matched '{0}' condition '{1}'.\"),Using_0_subpath_1_with_target_2:b(6404,3,\"Using_0_subpath_1_with_target_2_6404\",\"Using '{0}' subpath '{1}' with target '{2}'.\"),Saw_non_matching_condition_0:b(6405,3,\"Saw_non_matching_condition_0_6405\",\"Saw non-matching condition '{0}'.\"),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:b(6406,3,\"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406\",\"Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions\"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:b(6407,3,\"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407\",\"Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set.\"),Use_the_package_json_exports_field_when_resolving_package_imports:b(6408,3,\"Use_the_package_json_exports_field_when_resolving_package_imports_6408\",\"Use the package.json 'exports' field when resolving package imports.\"),Use_the_package_json_imports_field_when_resolving_imports:b(6409,3,\"Use_the_package_json_imports_field_when_resolving_imports_6409\",\"Use the package.json 'imports' field when resolving imports.\"),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:b(6410,3,\"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410\",\"Conditions to set in addition to the resolver-specific defaults when resolving imports.\"),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:b(6411,3,\"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411\",\"`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`.\"),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:b(6412,3,\"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412\",\"Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more.\"),Entering_conditional_exports:b(6413,3,\"Entering_conditional_exports_6413\",\"Entering conditional exports.\"),Resolved_under_condition_0:b(6414,3,\"Resolved_under_condition_0_6414\",\"Resolved under condition '{0}'.\"),Failed_to_resolve_under_condition_0:b(6415,3,\"Failed_to_resolve_under_condition_0_6415\",\"Failed to resolve under condition '{0}'.\"),Exiting_conditional_exports:b(6416,3,\"Exiting_conditional_exports_6416\",\"Exiting conditional exports.\"),Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0:b(6417,3,\"Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0_6417\",\"Searching all ancestor node_modules directories for preferred extensions: {0}.\"),Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0:b(6418,3,\"Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0_6418\",\"Searching all ancestor node_modules directories for fallback extensions: {0}.\"),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:b(6500,3,\"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500\",\"The expected type comes from property '{0}' which is declared here on type '{1}'\"),The_expected_type_comes_from_this_index_signature:b(6501,3,\"The_expected_type_comes_from_this_index_signature_6501\",\"The expected type comes from this index signature.\"),The_expected_type_comes_from_the_return_type_of_this_signature:b(6502,3,\"The_expected_type_comes_from_the_return_type_of_this_signature_6502\",\"The expected type comes from the return type of this signature.\"),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:b(6503,3,\"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503\",\"Print names of files that are part of the compilation and then stop processing.\"),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:b(6504,1,\"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504\",\"File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?\"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:b(6505,3,\"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505\",\"Print names of files and the reason they are part of the compilation.\"),Consider_adding_a_declare_modifier_to_this_class:b(6506,3,\"Consider_adding_a_declare_modifier_to_this_class_6506\",\"Consider adding a 'declare' modifier to this class.\"),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:b(6600,3,\"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600\",\"Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files.\"),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:b(6601,3,\"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601\",\"Allow 'import x from y' when a module doesn't have a default export.\"),Allow_accessing_UMD_globals_from_modules:b(6602,3,\"Allow_accessing_UMD_globals_from_modules_6602\",\"Allow accessing UMD globals from modules.\"),Disable_error_reporting_for_unreachable_code:b(6603,3,\"Disable_error_reporting_for_unreachable_code_6603\",\"Disable error reporting for unreachable code.\"),Disable_error_reporting_for_unused_labels:b(6604,3,\"Disable_error_reporting_for_unused_labels_6604\",\"Disable error reporting for unused labels.\"),Ensure_use_strict_is_always_emitted:b(6605,3,\"Ensure_use_strict_is_always_emitted_6605\",\"Ensure 'use strict' is always emitted.\"),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:b(6606,3,\"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606\",\"Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it.\"),Specify_the_base_directory_to_resolve_non_relative_module_names:b(6607,3,\"Specify_the_base_directory_to_resolve_non_relative_module_names_6607\",\"Specify the base directory to resolve non-relative module names.\"),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:b(6608,3,\"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608\",\"No longer supported. In early versions, manually set the text encoding for reading files.\"),Enable_error_reporting_in_type_checked_JavaScript_files:b(6609,3,\"Enable_error_reporting_in_type_checked_JavaScript_files_6609\",\"Enable error reporting in type-checked JavaScript files.\"),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:b(6611,3,\"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611\",\"Enable constraints that allow a TypeScript project to be used with project references.\"),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:b(6612,3,\"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612\",\"Generate .d.ts files from TypeScript and JavaScript files in your project.\"),Specify_the_output_directory_for_generated_declaration_files:b(6613,3,\"Specify_the_output_directory_for_generated_declaration_files_6613\",\"Specify the output directory for generated declaration files.\"),Create_sourcemaps_for_d_ts_files:b(6614,3,\"Create_sourcemaps_for_d_ts_files_6614\",\"Create sourcemaps for d.ts files.\"),Output_compiler_performance_information_after_building:b(6615,3,\"Output_compiler_performance_information_after_building_6615\",\"Output compiler performance information after building.\"),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:b(6616,3,\"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616\",\"Disables inference for type acquisition by looking at filenames in a project.\"),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:b(6617,3,\"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617\",\"Reduce the number of projects loaded automatically by TypeScript.\"),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:b(6618,3,\"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618\",\"Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server.\"),Opt_a_project_out_of_multi_project_reference_checking_when_editing:b(6619,3,\"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619\",\"Opt a project out of multi-project reference checking when editing.\"),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:b(6620,3,\"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620\",\"Disable preferring source files instead of declaration files when referencing composite projects.\"),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:b(6621,3,\"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621\",\"Emit more compliant, but verbose and less performant JavaScript for iteration.\"),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:b(6622,3,\"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622\",\"Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.\"),Only_output_d_ts_files_and_not_JavaScript_files:b(6623,3,\"Only_output_d_ts_files_and_not_JavaScript_files_6623\",\"Only output d.ts files and not JavaScript files.\"),Emit_design_type_metadata_for_decorated_declarations_in_source_files:b(6624,3,\"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624\",\"Emit design-type metadata for decorated declarations in source files.\"),Disable_the_type_acquisition_for_JavaScript_projects:b(6625,3,\"Disable_the_type_acquisition_for_JavaScript_projects_6625\",\"Disable the type acquisition for JavaScript projects\"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:b(6626,3,\"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626\",\"Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility.\"),Filters_results_from_the_include_option:b(6627,3,\"Filters_results_from_the_include_option_6627\",\"Filters results from the `include` option.\"),Remove_a_list_of_directories_from_the_watch_process:b(6628,3,\"Remove_a_list_of_directories_from_the_watch_process_6628\",\"Remove a list of directories from the watch process.\"),Remove_a_list_of_files_from_the_watch_mode_s_processing:b(6629,3,\"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629\",\"Remove a list of files from the watch mode's processing.\"),Enable_experimental_support_for_legacy_experimental_decorators:b(6630,3,\"Enable_experimental_support_for_legacy_experimental_decorators_6630\",\"Enable experimental support for legacy experimental decorators.\"),Print_files_read_during_the_compilation_including_why_it_was_included:b(6631,3,\"Print_files_read_during_the_compilation_including_why_it_was_included_6631\",\"Print files read during the compilation including why it was included.\"),Output_more_detailed_compiler_performance_information_after_building:b(6632,3,\"Output_more_detailed_compiler_performance_information_after_building_6632\",\"Output more detailed compiler performance information after building.\"),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:b(6633,3,\"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633\",\"Specify one or more path or node module references to base configuration files from which settings are inherited.\"),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:b(6634,3,\"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634\",\"Specify what approach the watcher should use if the system runs out of native file watchers.\"),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:b(6635,3,\"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635\",\"Include a list of files. This does not support glob patterns, as opposed to `include`.\"),Build_all_projects_including_those_that_appear_to_be_up_to_date:b(6636,3,\"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636\",\"Build all projects, including those that appear to be up to date.\"),Ensure_that_casing_is_correct_in_imports:b(6637,3,\"Ensure_that_casing_is_correct_in_imports_6637\",\"Ensure that casing is correct in imports.\"),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:b(6638,3,\"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638\",\"Emit a v8 CPU profile of the compiler run for debugging.\"),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:b(6639,3,\"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639\",\"Allow importing helper functions from tslib once per project, instead of including them per-file.\"),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:b(6641,3,\"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641\",\"Specify a list of glob patterns that match files to be included in compilation.\"),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:b(6642,3,\"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642\",\"Save .tsbuildinfo files to allow for incremental compilation of projects.\"),Include_sourcemap_files_inside_the_emitted_JavaScript:b(6643,3,\"Include_sourcemap_files_inside_the_emitted_JavaScript_6643\",\"Include sourcemap files inside the emitted JavaScript.\"),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:b(6644,3,\"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644\",\"Include source code in the sourcemaps inside the emitted JavaScript.\"),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:b(6645,3,\"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645\",\"Ensure that each file can be safely transpiled without relying on other imports.\"),Specify_what_JSX_code_is_generated:b(6646,3,\"Specify_what_JSX_code_is_generated_6646\",\"Specify what JSX code is generated.\"),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:b(6647,3,\"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647\",\"Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'.\"),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:b(6648,3,\"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648\",\"Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'.\"),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:b(6649,3,\"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649\",\"Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'.\"),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:b(6650,3,\"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650\",\"Make keyof only return strings instead of string, numbers or symbols. Legacy option.\"),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:b(6651,3,\"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651\",\"Specify a set of bundled library declaration files that describe the target runtime environment.\"),Print_the_names_of_emitted_files_after_a_compilation:b(6652,3,\"Print_the_names_of_emitted_files_after_a_compilation_6652\",\"Print the names of emitted files after a compilation.\"),Print_all_of_the_files_read_during_the_compilation:b(6653,3,\"Print_all_of_the_files_read_during_the_compilation_6653\",\"Print all of the files read during the compilation.\"),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:b(6654,3,\"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654\",\"Set the language of the messaging from TypeScript. This does not affect emit.\"),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:b(6655,3,\"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655\",\"Specify the location where debugger should locate map files instead of generated locations.\"),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:b(6656,3,\"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656\",\"Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'.\"),Specify_what_module_code_is_generated:b(6657,3,\"Specify_what_module_code_is_generated_6657\",\"Specify what module code is generated.\"),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:b(6658,3,\"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658\",\"Specify how TypeScript looks up a file from a given module specifier.\"),Set_the_newline_character_for_emitting_files:b(6659,3,\"Set_the_newline_character_for_emitting_files_6659\",\"Set the newline character for emitting files.\"),Disable_emitting_files_from_a_compilation:b(6660,3,\"Disable_emitting_files_from_a_compilation_6660\",\"Disable emitting files from a compilation.\"),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:b(6661,3,\"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661\",\"Disable generating custom helper functions like '__extends' in compiled output.\"),Disable_emitting_files_if_any_type_checking_errors_are_reported:b(6662,3,\"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662\",\"Disable emitting files if any type checking errors are reported.\"),Disable_truncating_types_in_error_messages:b(6663,3,\"Disable_truncating_types_in_error_messages_6663\",\"Disable truncating types in error messages.\"),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:b(6664,3,\"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664\",\"Enable error reporting for fallthrough cases in switch statements.\"),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:b(6665,3,\"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665\",\"Enable error reporting for expressions and declarations with an implied 'any' type.\"),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:b(6666,3,\"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666\",\"Ensure overriding members in derived classes are marked with an override modifier.\"),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:b(6667,3,\"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667\",\"Enable error reporting for codepaths that do not explicitly return in a function.\"),Enable_error_reporting_when_this_is_given_the_type_any:b(6668,3,\"Enable_error_reporting_when_this_is_given_the_type_any_6668\",\"Enable error reporting when 'this' is given the type 'any'.\"),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:b(6669,3,\"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669\",\"Disable adding 'use strict' directives in emitted JavaScript files.\"),Disable_including_any_library_files_including_the_default_lib_d_ts:b(6670,3,\"Disable_including_any_library_files_including_the_default_lib_d_ts_6670\",\"Disable including any library files, including the default lib.d.ts.\"),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:b(6671,3,\"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671\",\"Enforces using indexed accessors for keys declared using an indexed type.\"),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:b(6672,3,\"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672\",\"Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project.\"),Disable_strict_checking_of_generic_signatures_in_function_types:b(6673,3,\"Disable_strict_checking_of_generic_signatures_in_function_types_6673\",\"Disable strict checking of generic signatures in function types.\"),Add_undefined_to_a_type_when_accessed_using_an_index:b(6674,3,\"Add_undefined_to_a_type_when_accessed_using_an_index_6674\",\"Add 'undefined' to a type when accessed using an index.\"),Enable_error_reporting_when_local_variables_aren_t_read:b(6675,3,\"Enable_error_reporting_when_local_variables_aren_t_read_6675\",\"Enable error reporting when local variables aren't read.\"),Raise_an_error_when_a_function_parameter_isn_t_read:b(6676,3,\"Raise_an_error_when_a_function_parameter_isn_t_read_6676\",\"Raise an error when a function parameter isn't read.\"),Deprecated_setting_Use_outFile_instead:b(6677,3,\"Deprecated_setting_Use_outFile_instead_6677\",\"Deprecated setting. Use 'outFile' instead.\"),Specify_an_output_folder_for_all_emitted_files:b(6678,3,\"Specify_an_output_folder_for_all_emitted_files_6678\",\"Specify an output folder for all emitted files.\"),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:b(6679,3,\"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679\",\"Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output.\"),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:b(6680,3,\"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680\",\"Specify a set of entries that re-map imports to additional lookup locations.\"),Specify_a_list_of_language_service_plugins_to_include:b(6681,3,\"Specify_a_list_of_language_service_plugins_to_include_6681\",\"Specify a list of language service plugins to include.\"),Disable_erasing_const_enum_declarations_in_generated_code:b(6682,3,\"Disable_erasing_const_enum_declarations_in_generated_code_6682\",\"Disable erasing 'const enum' declarations in generated code.\"),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:b(6683,3,\"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683\",\"Disable resolving symlinks to their realpath. This correlates to the same flag in node.\"),Disable_wiping_the_console_in_watch_mode:b(6684,3,\"Disable_wiping_the_console_in_watch_mode_6684\",\"Disable wiping the console in watch mode.\"),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:b(6685,3,\"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685\",\"Enable color and formatting in TypeScript's output to make compiler errors easier to read.\"),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:b(6686,3,\"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686\",\"Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit.\"),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:b(6687,3,\"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687\",\"Specify an array of objects that specify paths for projects. Used in project references.\"),Disable_emitting_comments:b(6688,3,\"Disable_emitting_comments_6688\",\"Disable emitting comments.\"),Enable_importing_json_files:b(6689,3,\"Enable_importing_json_files_6689\",\"Enable importing .json files.\"),Specify_the_root_folder_within_your_source_files:b(6690,3,\"Specify_the_root_folder_within_your_source_files_6690\",\"Specify the root folder within your source files.\"),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:b(6691,3,\"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691\",\"Allow multiple folders to be treated as one when resolving modules.\"),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:b(6692,3,\"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692\",\"Skip type checking .d.ts files that are included with TypeScript.\"),Skip_type_checking_all_d_ts_files:b(6693,3,\"Skip_type_checking_all_d_ts_files_6693\",\"Skip type checking all .d.ts files.\"),Create_source_map_files_for_emitted_JavaScript_files:b(6694,3,\"Create_source_map_files_for_emitted_JavaScript_files_6694\",\"Create source map files for emitted JavaScript files.\"),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:b(6695,3,\"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695\",\"Specify the root path for debuggers to find the reference source code.\"),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:b(6697,3,\"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697\",\"Check that the arguments for 'bind', 'call', and 'apply' methods match the original function.\"),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:b(6698,3,\"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698\",\"When assigning functions, check to ensure parameters and the return values are subtype-compatible.\"),When_type_checking_take_into_account_null_and_undefined:b(6699,3,\"When_type_checking_take_into_account_null_and_undefined_6699\",\"When type checking, take into account 'null' and 'undefined'.\"),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:b(6700,3,\"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700\",\"Check for class properties that are declared but not set in the constructor.\"),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:b(6701,3,\"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701\",\"Disable emitting declarations that have '@internal' in their JSDoc comments.\"),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:b(6702,3,\"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702\",\"Disable reporting of excess property errors during the creation of object literals.\"),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:b(6703,3,\"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703\",\"Suppress 'noImplicitAny' errors when indexing objects that lack index signatures.\"),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:b(6704,3,\"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704\",\"Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively.\"),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:b(6705,3,\"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705\",\"Set the JavaScript language version for emitted JavaScript and include compatible library declarations.\"),Log_paths_used_during_the_moduleResolution_process:b(6706,3,\"Log_paths_used_during_the_moduleResolution_process_6706\",\"Log paths used during the 'moduleResolution' process.\"),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:b(6707,3,\"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707\",\"Specify the path to .tsbuildinfo incremental compilation file.\"),Specify_options_for_automatic_acquisition_of_declaration_files:b(6709,3,\"Specify_options_for_automatic_acquisition_of_declaration_files_6709\",\"Specify options for automatic acquisition of declaration files.\"),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:b(6710,3,\"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710\",\"Specify multiple folders that act like './node_modules/@types'.\"),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:b(6711,3,\"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711\",\"Specify type package names to be included without being referenced in a source file.\"),Emit_ECMAScript_standard_compliant_class_fields:b(6712,3,\"Emit_ECMAScript_standard_compliant_class_fields_6712\",\"Emit ECMAScript-standard-compliant class fields.\"),Enable_verbose_logging:b(6713,3,\"Enable_verbose_logging_6713\",\"Enable verbose logging.\"),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:b(6714,3,\"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714\",\"Specify how directories are watched on systems that lack recursive file-watching functionality.\"),Specify_how_the_TypeScript_watch_mode_works:b(6715,3,\"Specify_how_the_TypeScript_watch_mode_works_6715\",\"Specify how the TypeScript watch mode works.\"),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:b(6717,3,\"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717\",\"Require undeclared properties from index signatures to use element accesses.\"),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:b(6718,3,\"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718\",\"Specify emit/checking behavior for imports that are only used for types.\"),Default_catch_clause_variables_as_unknown_instead_of_any:b(6803,3,\"Default_catch_clause_variables_as_unknown_instead_of_any_6803\",\"Default catch clause variables as 'unknown' instead of 'any'.\"),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:b(6804,3,\"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804\",\"Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting.\"),one_of_Colon:b(6900,3,\"one_of_Colon_6900\",\"one of:\"),one_or_more_Colon:b(6901,3,\"one_or_more_Colon_6901\",\"one or more:\"),type_Colon:b(6902,3,\"type_Colon_6902\",\"type:\"),default_Colon:b(6903,3,\"default_Colon_6903\",\"default:\"),module_system_or_esModuleInterop:b(6904,3,\"module_system_or_esModuleInterop_6904\",'module === \"system\" or esModuleInterop'),false_unless_strict_is_set:b(6905,3,\"false_unless_strict_is_set_6905\",\"`false`, unless `strict` is set\"),false_unless_composite_is_set:b(6906,3,\"false_unless_composite_is_set_6906\",\"`false`, unless `composite` is set\"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:b(6907,3,\"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907\",'`[\"node_modules\", \"bower_components\", \"jspm_packages\"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:b(6908,3,\"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908\",'`[]` if `files` is specified, otherwise `[\"**/*\"]`'),true_if_composite_false_otherwise:b(6909,3,\"true_if_composite_false_otherwise_6909\",\"`true` if `composite`, `false` otherwise\"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:b(69010,3,\"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010\",\"module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`\"),Computed_from_the_list_of_input_files:b(6911,3,\"Computed_from_the_list_of_input_files_6911\",\"Computed from the list of input files\"),Platform_specific:b(6912,3,\"Platform_specific_6912\",\"Platform specific\"),You_can_learn_about_all_of_the_compiler_options_at_0:b(6913,3,\"You_can_learn_about_all_of_the_compiler_options_at_0_6913\",\"You can learn about all of the compiler options at {0}\"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:b(6914,3,\"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914\",\"Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:\"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:b(6915,3,\"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915\",\"Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}\"),COMMON_COMMANDS:b(6916,3,\"COMMON_COMMANDS_6916\",\"COMMON COMMANDS\"),ALL_COMPILER_OPTIONS:b(6917,3,\"ALL_COMPILER_OPTIONS_6917\",\"ALL COMPILER OPTIONS\"),WATCH_OPTIONS:b(6918,3,\"WATCH_OPTIONS_6918\",\"WATCH OPTIONS\"),BUILD_OPTIONS:b(6919,3,\"BUILD_OPTIONS_6919\",\"BUILD OPTIONS\"),COMMON_COMPILER_OPTIONS:b(6920,3,\"COMMON_COMPILER_OPTIONS_6920\",\"COMMON COMPILER OPTIONS\"),COMMAND_LINE_FLAGS:b(6921,3,\"COMMAND_LINE_FLAGS_6921\",\"COMMAND LINE FLAGS\"),tsc_Colon_The_TypeScript_Compiler:b(6922,3,\"tsc_Colon_The_TypeScript_Compiler_6922\",\"tsc: The TypeScript Compiler\"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:b(6923,3,\"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923\",\"Compiles the current project (tsconfig.json in the working directory.)\"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:b(6924,3,\"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924\",\"Ignoring tsconfig.json, compiles the specified files with default compiler options.\"),Build_a_composite_project_in_the_working_directory:b(6925,3,\"Build_a_composite_project_in_the_working_directory_6925\",\"Build a composite project in the working directory.\"),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:b(6926,3,\"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926\",\"Creates a tsconfig.json with the recommended settings in the working directory.\"),Compiles_the_TypeScript_project_located_at_the_specified_path:b(6927,3,\"Compiles_the_TypeScript_project_located_at_the_specified_path_6927\",\"Compiles the TypeScript project located at the specified path.\"),An_expanded_version_of_this_information_showing_all_possible_compiler_options:b(6928,3,\"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928\",\"An expanded version of this information, showing all possible compiler options\"),Compiles_the_current_project_with_additional_settings:b(6929,3,\"Compiles_the_current_project_with_additional_settings_6929\",\"Compiles the current project, with additional settings.\"),true_for_ES2022_and_above_including_ESNext:b(6930,3,\"true_for_ES2022_and_above_including_ESNext_6930\",\"`true` for ES2022 and above, including ESNext.\"),List_of_file_name_suffixes_to_search_when_resolving_a_module:b(6931,1,\"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931\",\"List of file name suffixes to search when resolving a module.\"),Variable_0_implicitly_has_an_1_type:b(7005,1,\"Variable_0_implicitly_has_an_1_type_7005\",\"Variable '{0}' implicitly has an '{1}' type.\"),Parameter_0_implicitly_has_an_1_type:b(7006,1,\"Parameter_0_implicitly_has_an_1_type_7006\",\"Parameter '{0}' implicitly has an '{1}' type.\"),Member_0_implicitly_has_an_1_type:b(7008,1,\"Member_0_implicitly_has_an_1_type_7008\",\"Member '{0}' implicitly has an '{1}' type.\"),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:b(7009,1,\"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009\",\"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type.\"),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:b(7010,1,\"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010\",\"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type.\"),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:b(7011,1,\"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011\",\"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type.\"),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:b(7012,1,\"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012\",\"This overload implicitly returns the type '{0}' because it lacks a return type annotation.\"),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:b(7013,1,\"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013\",\"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.\"),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:b(7014,1,\"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014\",\"Function type, which lacks return-type annotation, implicitly has an '{0}' return type.\"),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:b(7015,1,\"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015\",\"Element implicitly has an 'any' type because index expression is not of type 'number'.\"),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:b(7016,1,\"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016\",\"Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type.\"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:b(7017,1,\"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017\",\"Element implicitly has an 'any' type because type '{0}' has no index signature.\"),Object_literal_s_property_0_implicitly_has_an_1_type:b(7018,1,\"Object_literal_s_property_0_implicitly_has_an_1_type_7018\",\"Object literal's property '{0}' implicitly has an '{1}' type.\"),Rest_parameter_0_implicitly_has_an_any_type:b(7019,1,\"Rest_parameter_0_implicitly_has_an_any_type_7019\",\"Rest parameter '{0}' implicitly has an 'any[]' type.\"),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:b(7020,1,\"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020\",\"Call signature, which lacks return-type annotation, implicitly has an 'any' return type.\"),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:b(7022,1,\"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022\",\"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.\"),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:b(7023,1,\"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023\",\"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.\"),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:b(7024,1,\"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024\",\"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.\"),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:b(7025,1,\"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025\",\"Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation.\"),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:b(7026,1,\"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026\",\"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists.\"),Unreachable_code_detected:b(7027,1,\"Unreachable_code_detected_7027\",\"Unreachable code detected.\",!0),Unused_label:b(7028,1,\"Unused_label_7028\",\"Unused label.\",!0),Fallthrough_case_in_switch:b(7029,1,\"Fallthrough_case_in_switch_7029\",\"Fallthrough case in switch.\"),Not_all_code_paths_return_a_value:b(7030,1,\"Not_all_code_paths_return_a_value_7030\",\"Not all code paths return a value.\"),Binding_element_0_implicitly_has_an_1_type:b(7031,1,\"Binding_element_0_implicitly_has_an_1_type_7031\",\"Binding element '{0}' implicitly has an '{1}' type.\"),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:b(7032,1,\"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032\",\"Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation.\"),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:b(7033,1,\"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033\",\"Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation.\"),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:b(7034,1,\"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034\",\"Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined.\"),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:b(7035,1,\"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035\",\"Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`\"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:b(7036,1,\"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036\",\"Dynamic import's specifier must be of type 'string', but here has type '{0}'.\"),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:b(7037,3,\"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037\",\"Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'.\"),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:b(7038,3,\"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038\",\"Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead.\"),Mapped_object_type_implicitly_has_an_any_template_type:b(7039,1,\"Mapped_object_type_implicitly_has_an_any_template_type_7039\",\"Mapped object type implicitly has an 'any' template type.\"),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:b(7040,1,\"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040\",\"If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'\"),The_containing_arrow_function_captures_the_global_value_of_this:b(7041,1,\"The_containing_arrow_function_captures_the_global_value_of_this_7041\",\"The containing arrow function captures the global value of 'this'.\"),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:b(7042,1,\"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042\",\"Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used.\"),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:b(7043,2,\"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043\",\"Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:b(7044,2,\"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044\",\"Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:b(7045,2,\"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045\",\"Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:b(7046,2,\"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046\",\"Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage.\"),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:b(7047,2,\"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047\",\"Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage.\"),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:b(7048,2,\"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048\",\"Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage.\"),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:b(7049,2,\"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049\",\"Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage.\"),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:b(7050,2,\"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050\",\"'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage.\"),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:b(7051,1,\"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051\",\"Parameter has a name but no type. Did you mean '{0}: {1}'?\"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:b(7052,1,\"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052\",\"Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?\"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:b(7053,1,\"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053\",\"Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'.\"),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:b(7054,1,\"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054\",\"No index signature with a parameter of type '{0}' was found on type '{1}'.\"),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:b(7055,1,\"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055\",\"'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type.\"),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:b(7056,1,\"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056\",\"The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.\"),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:b(7057,1,\"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057\",\"'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation.\"),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:b(7058,1,\"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058\",\"If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`\"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:b(7059,1,\"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059\",\"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.\"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:b(7060,1,\"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060\",\"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint.\"),A_mapped_type_may_not_declare_properties_or_methods:b(7061,1,\"A_mapped_type_may_not_declare_properties_or_methods_7061\",\"A mapped type may not declare properties or methods.\"),You_cannot_rename_this_element:b(8e3,1,\"You_cannot_rename_this_element_8000\",\"You cannot rename this element.\"),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:b(8001,1,\"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001\",\"You cannot rename elements that are defined in the standard TypeScript library.\"),import_can_only_be_used_in_TypeScript_files:b(8002,1,\"import_can_only_be_used_in_TypeScript_files_8002\",\"'import ... =' can only be used in TypeScript files.\"),export_can_only_be_used_in_TypeScript_files:b(8003,1,\"export_can_only_be_used_in_TypeScript_files_8003\",\"'export =' can only be used in TypeScript files.\"),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:b(8004,1,\"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004\",\"Type parameter declarations can only be used in TypeScript files.\"),implements_clauses_can_only_be_used_in_TypeScript_files:b(8005,1,\"implements_clauses_can_only_be_used_in_TypeScript_files_8005\",\"'implements' clauses can only be used in TypeScript files.\"),_0_declarations_can_only_be_used_in_TypeScript_files:b(8006,1,\"_0_declarations_can_only_be_used_in_TypeScript_files_8006\",\"'{0}' declarations can only be used in TypeScript files.\"),Type_aliases_can_only_be_used_in_TypeScript_files:b(8008,1,\"Type_aliases_can_only_be_used_in_TypeScript_files_8008\",\"Type aliases can only be used in TypeScript files.\"),The_0_modifier_can_only_be_used_in_TypeScript_files:b(8009,1,\"The_0_modifier_can_only_be_used_in_TypeScript_files_8009\",\"The '{0}' modifier can only be used in TypeScript files.\"),Type_annotations_can_only_be_used_in_TypeScript_files:b(8010,1,\"Type_annotations_can_only_be_used_in_TypeScript_files_8010\",\"Type annotations can only be used in TypeScript files.\"),Type_arguments_can_only_be_used_in_TypeScript_files:b(8011,1,\"Type_arguments_can_only_be_used_in_TypeScript_files_8011\",\"Type arguments can only be used in TypeScript files.\"),Parameter_modifiers_can_only_be_used_in_TypeScript_files:b(8012,1,\"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012\",\"Parameter modifiers can only be used in TypeScript files.\"),Non_null_assertions_can_only_be_used_in_TypeScript_files:b(8013,1,\"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013\",\"Non-null assertions can only be used in TypeScript files.\"),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:b(8016,1,\"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016\",\"Type assertion expressions can only be used in TypeScript files.\"),Signature_declarations_can_only_be_used_in_TypeScript_files:b(8017,1,\"Signature_declarations_can_only_be_used_in_TypeScript_files_8017\",\"Signature declarations can only be used in TypeScript files.\"),Report_errors_in_js_files:b(8019,3,\"Report_errors_in_js_files_8019\",\"Report errors in .js files.\"),JSDoc_types_can_only_be_used_inside_documentation_comments:b(8020,1,\"JSDoc_types_can_only_be_used_inside_documentation_comments_8020\",\"JSDoc types can only be used inside documentation comments.\"),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:b(8021,1,\"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021\",\"JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags.\"),JSDoc_0_is_not_attached_to_a_class:b(8022,1,\"JSDoc_0_is_not_attached_to_a_class_8022\",\"JSDoc '@{0}' is not attached to a class.\"),JSDoc_0_1_does_not_match_the_extends_2_clause:b(8023,1,\"JSDoc_0_1_does_not_match_the_extends_2_clause_8023\",\"JSDoc '@{0} {1}' does not match the 'extends {2}' clause.\"),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:b(8024,1,\"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024\",\"JSDoc '@param' tag has name '{0}', but there is no parameter with that name.\"),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:b(8025,1,\"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025\",\"Class declarations cannot have more than one '@augments' or '@extends' tag.\"),Expected_0_type_arguments_provide_these_with_an_extends_tag:b(8026,1,\"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026\",\"Expected {0} type arguments; provide these with an '@extends' tag.\"),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:b(8027,1,\"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027\",\"Expected {0}-{1} type arguments; provide these with an '@extends' tag.\"),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:b(8028,1,\"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028\",\"JSDoc '...' may only appear in the last parameter of a signature.\"),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:b(8029,1,\"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029\",\"JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type.\"),The_type_of_a_function_declaration_must_match_the_function_s_signature:b(8030,1,\"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030\",\"The type of a function declaration must match the function's signature.\"),You_cannot_rename_a_module_via_a_global_import:b(8031,1,\"You_cannot_rename_a_module_via_a_global_import_8031\",\"You cannot rename a module via a global import.\"),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:b(8032,1,\"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032\",\"Qualified name '{0}' is not allowed without a leading '@param {object} {1}'.\"),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:b(8033,1,\"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033\",\"A JSDoc '@typedef' comment may not contain multiple '@type' tags.\"),The_tag_was_first_specified_here:b(8034,1,\"The_tag_was_first_specified_here_8034\",\"The tag was first specified here.\"),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:b(8035,1,\"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035\",\"You cannot rename elements that are defined in a 'node_modules' folder.\"),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:b(8036,1,\"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036\",\"You cannot rename elements that are defined in another 'node_modules' folder.\"),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:b(8037,1,\"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037\",\"Type satisfaction expressions can only be used in TypeScript files.\"),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:b(8038,1,\"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038\",\"Decorators may not appear after 'export' or 'export default' if they also appear before 'export'.\"),A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag:b(8039,1,\"A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag_8039\",\"A JSDoc '@template' tag may not follow a '@typedef', '@callback', or '@overload' tag\"),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:b(9005,1,\"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005\",\"Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit.\"),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:b(9006,1,\"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006\",\"Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit.\"),JSX_attributes_must_only_be_assigned_a_non_empty_expression:b(17e3,1,\"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000\",\"JSX attributes must only be assigned a non-empty 'expression'.\"),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:b(17001,1,\"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001\",\"JSX elements cannot have multiple attributes with the same name.\"),Expected_corresponding_JSX_closing_tag_for_0:b(17002,1,\"Expected_corresponding_JSX_closing_tag_for_0_17002\",\"Expected corresponding JSX closing tag for '{0}'.\"),Cannot_use_JSX_unless_the_jsx_flag_is_provided:b(17004,1,\"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004\",\"Cannot use JSX unless the '--jsx' flag is provided.\"),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:b(17005,1,\"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005\",\"A constructor cannot contain a 'super' call when its class extends 'null'.\"),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:b(17006,1,\"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006\",\"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.\"),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:b(17007,1,\"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007\",\"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.\"),JSX_element_0_has_no_corresponding_closing_tag:b(17008,1,\"JSX_element_0_has_no_corresponding_closing_tag_17008\",\"JSX element '{0}' has no corresponding closing tag.\"),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:b(17009,1,\"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009\",\"'super' must be called before accessing 'this' in the constructor of a derived class.\"),Unknown_type_acquisition_option_0:b(17010,1,\"Unknown_type_acquisition_option_0_17010\",\"Unknown type acquisition option '{0}'.\"),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:b(17011,1,\"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011\",\"'super' must be called before accessing a property of 'super' in the constructor of a derived class.\"),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:b(17012,1,\"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012\",\"'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?\"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:b(17013,1,\"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013\",\"Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor.\"),JSX_fragment_has_no_corresponding_closing_tag:b(17014,1,\"JSX_fragment_has_no_corresponding_closing_tag_17014\",\"JSX fragment has no corresponding closing tag.\"),Expected_corresponding_closing_tag_for_JSX_fragment:b(17015,1,\"Expected_corresponding_closing_tag_for_JSX_fragment_17015\",\"Expected corresponding closing tag for JSX fragment.\"),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:b(17016,1,\"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016\",\"The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option.\"),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:b(17017,1,\"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017\",\"An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.\"),Unknown_type_acquisition_option_0_Did_you_mean_1:b(17018,1,\"Unknown_type_acquisition_option_0_Did_you_mean_1_17018\",\"Unknown type acquisition option '{0}'. Did you mean '{1}'?\"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:b(17019,1,\"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019\",\"'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?\"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:b(17020,1,\"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020\",\"'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?\"),Unicode_escape_sequence_cannot_appear_here:b(17021,1,\"Unicode_escape_sequence_cannot_appear_here_17021\",\"Unicode escape sequence cannot appear here.\"),Circularity_detected_while_resolving_configuration_Colon_0:b(18e3,1,\"Circularity_detected_while_resolving_configuration_Colon_0_18000\",\"Circularity detected while resolving configuration: {0}\"),The_files_list_in_config_file_0_is_empty:b(18002,1,\"The_files_list_in_config_file_0_is_empty_18002\",\"The 'files' list in config file '{0}' is empty.\"),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:b(18003,1,\"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003\",\"No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'.\"),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:b(80001,2,\"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001\",\"File is a CommonJS module; it may be converted to an ES module.\"),This_constructor_function_may_be_converted_to_a_class_declaration:b(80002,2,\"This_constructor_function_may_be_converted_to_a_class_declaration_80002\",\"This constructor function may be converted to a class declaration.\"),Import_may_be_converted_to_a_default_import:b(80003,2,\"Import_may_be_converted_to_a_default_import_80003\",\"Import may be converted to a default import.\"),JSDoc_types_may_be_moved_to_TypeScript_types:b(80004,2,\"JSDoc_types_may_be_moved_to_TypeScript_types_80004\",\"JSDoc types may be moved to TypeScript types.\"),require_call_may_be_converted_to_an_import:b(80005,2,\"require_call_may_be_converted_to_an_import_80005\",\"'require' call may be converted to an import.\"),This_may_be_converted_to_an_async_function:b(80006,2,\"This_may_be_converted_to_an_async_function_80006\",\"This may be converted to an async function.\"),await_has_no_effect_on_the_type_of_this_expression:b(80007,2,\"await_has_no_effect_on_the_type_of_this_expression_80007\",\"'await' has no effect on the type of this expression.\"),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:b(80008,2,\"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008\",\"Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers.\"),JSDoc_typedef_may_be_converted_to_TypeScript_type:b(80009,2,\"JSDoc_typedef_may_be_converted_to_TypeScript_type_80009\",\"JSDoc typedef may be converted to TypeScript type.\"),JSDoc_typedefs_may_be_converted_to_TypeScript_types:b(80010,2,\"JSDoc_typedefs_may_be_converted_to_TypeScript_types_80010\",\"JSDoc typedefs may be converted to TypeScript types.\"),Add_missing_super_call:b(90001,3,\"Add_missing_super_call_90001\",\"Add missing 'super()' call\"),Make_super_call_the_first_statement_in_the_constructor:b(90002,3,\"Make_super_call_the_first_statement_in_the_constructor_90002\",\"Make 'super()' call the first statement in the constructor\"),Change_extends_to_implements:b(90003,3,\"Change_extends_to_implements_90003\",\"Change 'extends' to 'implements'\"),Remove_unused_declaration_for_Colon_0:b(90004,3,\"Remove_unused_declaration_for_Colon_0_90004\",\"Remove unused declaration for: '{0}'\"),Remove_import_from_0:b(90005,3,\"Remove_import_from_0_90005\",\"Remove import from '{0}'\"),Implement_interface_0:b(90006,3,\"Implement_interface_0_90006\",\"Implement interface '{0}'\"),Implement_inherited_abstract_class:b(90007,3,\"Implement_inherited_abstract_class_90007\",\"Implement inherited abstract class\"),Add_0_to_unresolved_variable:b(90008,3,\"Add_0_to_unresolved_variable_90008\",\"Add '{0}.' to unresolved variable\"),Remove_variable_statement:b(90010,3,\"Remove_variable_statement_90010\",\"Remove variable statement\"),Remove_template_tag:b(90011,3,\"Remove_template_tag_90011\",\"Remove template tag\"),Remove_type_parameters:b(90012,3,\"Remove_type_parameters_90012\",\"Remove type parameters\"),Import_0_from_1:b(90013,3,\"Import_0_from_1_90013\",`Import '{0}' from \"{1}\"`),Change_0_to_1:b(90014,3,\"Change_0_to_1_90014\",\"Change '{0}' to '{1}'\"),Declare_property_0:b(90016,3,\"Declare_property_0_90016\",\"Declare property '{0}'\"),Add_index_signature_for_property_0:b(90017,3,\"Add_index_signature_for_property_0_90017\",\"Add index signature for property '{0}'\"),Disable_checking_for_this_file:b(90018,3,\"Disable_checking_for_this_file_90018\",\"Disable checking for this file\"),Ignore_this_error_message:b(90019,3,\"Ignore_this_error_message_90019\",\"Ignore this error message\"),Initialize_property_0_in_the_constructor:b(90020,3,\"Initialize_property_0_in_the_constructor_90020\",\"Initialize property '{0}' in the constructor\"),Initialize_static_property_0:b(90021,3,\"Initialize_static_property_0_90021\",\"Initialize static property '{0}'\"),Change_spelling_to_0:b(90022,3,\"Change_spelling_to_0_90022\",\"Change spelling to '{0}'\"),Declare_method_0:b(90023,3,\"Declare_method_0_90023\",\"Declare method '{0}'\"),Declare_static_method_0:b(90024,3,\"Declare_static_method_0_90024\",\"Declare static method '{0}'\"),Prefix_0_with_an_underscore:b(90025,3,\"Prefix_0_with_an_underscore_90025\",\"Prefix '{0}' with an underscore\"),Rewrite_as_the_indexed_access_type_0:b(90026,3,\"Rewrite_as_the_indexed_access_type_0_90026\",\"Rewrite as the indexed access type '{0}'\"),Declare_static_property_0:b(90027,3,\"Declare_static_property_0_90027\",\"Declare static property '{0}'\"),Call_decorator_expression:b(90028,3,\"Call_decorator_expression_90028\",\"Call decorator expression\"),Add_async_modifier_to_containing_function:b(90029,3,\"Add_async_modifier_to_containing_function_90029\",\"Add async modifier to containing function\"),Replace_infer_0_with_unknown:b(90030,3,\"Replace_infer_0_with_unknown_90030\",\"Replace 'infer {0}' with 'unknown'\"),Replace_all_unused_infer_with_unknown:b(90031,3,\"Replace_all_unused_infer_with_unknown_90031\",\"Replace all unused 'infer' with 'unknown'\"),Add_parameter_name:b(90034,3,\"Add_parameter_name_90034\",\"Add parameter name\"),Declare_private_property_0:b(90035,3,\"Declare_private_property_0_90035\",\"Declare private property '{0}'\"),Replace_0_with_Promise_1:b(90036,3,\"Replace_0_with_Promise_1_90036\",\"Replace '{0}' with 'Promise<{1}>'\"),Fix_all_incorrect_return_type_of_an_async_functions:b(90037,3,\"Fix_all_incorrect_return_type_of_an_async_functions_90037\",\"Fix all incorrect return type of an async functions\"),Declare_private_method_0:b(90038,3,\"Declare_private_method_0_90038\",\"Declare private method '{0}'\"),Remove_unused_destructuring_declaration:b(90039,3,\"Remove_unused_destructuring_declaration_90039\",\"Remove unused destructuring declaration\"),Remove_unused_declarations_for_Colon_0:b(90041,3,\"Remove_unused_declarations_for_Colon_0_90041\",\"Remove unused declarations for: '{0}'\"),Declare_a_private_field_named_0:b(90053,3,\"Declare_a_private_field_named_0_90053\",\"Declare a private field named '{0}'.\"),Includes_imports_of_types_referenced_by_0:b(90054,3,\"Includes_imports_of_types_referenced_by_0_90054\",\"Includes imports of types referenced by '{0}'\"),Remove_type_from_import_declaration_from_0:b(90055,3,\"Remove_type_from_import_declaration_from_0_90055\",`Remove 'type' from import declaration from \"{0}\"`),Remove_type_from_import_of_0_from_1:b(90056,3,\"Remove_type_from_import_of_0_from_1_90056\",`Remove 'type' from import of '{0}' from \"{1}\"`),Add_import_from_0:b(90057,3,\"Add_import_from_0_90057\",'Add import from \"{0}\"'),Update_import_from_0:b(90058,3,\"Update_import_from_0_90058\",'Update import from \"{0}\"'),Export_0_from_module_1:b(90059,3,\"Export_0_from_module_1_90059\",\"Export '{0}' from module '{1}'\"),Export_all_referenced_locals:b(90060,3,\"Export_all_referenced_locals_90060\",\"Export all referenced locals\"),Convert_function_to_an_ES2015_class:b(95001,3,\"Convert_function_to_an_ES2015_class_95001\",\"Convert function to an ES2015 class\"),Convert_0_to_1_in_0:b(95003,3,\"Convert_0_to_1_in_0_95003\",\"Convert '{0}' to '{1} in {0}'\"),Extract_to_0_in_1:b(95004,3,\"Extract_to_0_in_1_95004\",\"Extract to {0} in {1}\"),Extract_function:b(95005,3,\"Extract_function_95005\",\"Extract function\"),Extract_constant:b(95006,3,\"Extract_constant_95006\",\"Extract constant\"),Extract_to_0_in_enclosing_scope:b(95007,3,\"Extract_to_0_in_enclosing_scope_95007\",\"Extract to {0} in enclosing scope\"),Extract_to_0_in_1_scope:b(95008,3,\"Extract_to_0_in_1_scope_95008\",\"Extract to {0} in {1} scope\"),Annotate_with_type_from_JSDoc:b(95009,3,\"Annotate_with_type_from_JSDoc_95009\",\"Annotate with type from JSDoc\"),Infer_type_of_0_from_usage:b(95011,3,\"Infer_type_of_0_from_usage_95011\",\"Infer type of '{0}' from usage\"),Infer_parameter_types_from_usage:b(95012,3,\"Infer_parameter_types_from_usage_95012\",\"Infer parameter types from usage\"),Convert_to_default_import:b(95013,3,\"Convert_to_default_import_95013\",\"Convert to default import\"),Install_0:b(95014,3,\"Install_0_95014\",\"Install '{0}'\"),Replace_import_with_0:b(95015,3,\"Replace_import_with_0_95015\",\"Replace import with '{0}'.\"),Use_synthetic_default_member:b(95016,3,\"Use_synthetic_default_member_95016\",\"Use synthetic 'default' member.\"),Convert_to_ES_module:b(95017,3,\"Convert_to_ES_module_95017\",\"Convert to ES module\"),Add_undefined_type_to_property_0:b(95018,3,\"Add_undefined_type_to_property_0_95018\",\"Add 'undefined' type to property '{0}'\"),Add_initializer_to_property_0:b(95019,3,\"Add_initializer_to_property_0_95019\",\"Add initializer to property '{0}'\"),Add_definite_assignment_assertion_to_property_0:b(95020,3,\"Add_definite_assignment_assertion_to_property_0_95020\",\"Add definite assignment assertion to property '{0}'\"),Convert_all_type_literals_to_mapped_type:b(95021,3,\"Convert_all_type_literals_to_mapped_type_95021\",\"Convert all type literals to mapped type\"),Add_all_missing_members:b(95022,3,\"Add_all_missing_members_95022\",\"Add all missing members\"),Infer_all_types_from_usage:b(95023,3,\"Infer_all_types_from_usage_95023\",\"Infer all types from usage\"),Delete_all_unused_declarations:b(95024,3,\"Delete_all_unused_declarations_95024\",\"Delete all unused declarations\"),Prefix_all_unused_declarations_with_where_possible:b(95025,3,\"Prefix_all_unused_declarations_with_where_possible_95025\",\"Prefix all unused declarations with '_' where possible\"),Fix_all_detected_spelling_errors:b(95026,3,\"Fix_all_detected_spelling_errors_95026\",\"Fix all detected spelling errors\"),Add_initializers_to_all_uninitialized_properties:b(95027,3,\"Add_initializers_to_all_uninitialized_properties_95027\",\"Add initializers to all uninitialized properties\"),Add_definite_assignment_assertions_to_all_uninitialized_properties:b(95028,3,\"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028\",\"Add definite assignment assertions to all uninitialized properties\"),Add_undefined_type_to_all_uninitialized_properties:b(95029,3,\"Add_undefined_type_to_all_uninitialized_properties_95029\",\"Add undefined type to all uninitialized properties\"),Change_all_jsdoc_style_types_to_TypeScript:b(95030,3,\"Change_all_jsdoc_style_types_to_TypeScript_95030\",\"Change all jsdoc-style types to TypeScript\"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:b(95031,3,\"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031\",\"Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)\"),Implement_all_unimplemented_interfaces:b(95032,3,\"Implement_all_unimplemented_interfaces_95032\",\"Implement all unimplemented interfaces\"),Install_all_missing_types_packages:b(95033,3,\"Install_all_missing_types_packages_95033\",\"Install all missing types packages\"),Rewrite_all_as_indexed_access_types:b(95034,3,\"Rewrite_all_as_indexed_access_types_95034\",\"Rewrite all as indexed access types\"),Convert_all_to_default_imports:b(95035,3,\"Convert_all_to_default_imports_95035\",\"Convert all to default imports\"),Make_all_super_calls_the_first_statement_in_their_constructor:b(95036,3,\"Make_all_super_calls_the_first_statement_in_their_constructor_95036\",\"Make all 'super()' calls the first statement in their constructor\"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:b(95037,3,\"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037\",\"Add qualifier to all unresolved variables matching a member name\"),Change_all_extended_interfaces_to_implements:b(95038,3,\"Change_all_extended_interfaces_to_implements_95038\",\"Change all extended interfaces to 'implements'\"),Add_all_missing_super_calls:b(95039,3,\"Add_all_missing_super_calls_95039\",\"Add all missing super calls\"),Implement_all_inherited_abstract_classes:b(95040,3,\"Implement_all_inherited_abstract_classes_95040\",\"Implement all inherited abstract classes\"),Add_all_missing_async_modifiers:b(95041,3,\"Add_all_missing_async_modifiers_95041\",\"Add all missing 'async' modifiers\"),Add_ts_ignore_to_all_error_messages:b(95042,3,\"Add_ts_ignore_to_all_error_messages_95042\",\"Add '@ts-ignore' to all error messages\"),Annotate_everything_with_types_from_JSDoc:b(95043,3,\"Annotate_everything_with_types_from_JSDoc_95043\",\"Annotate everything with types from JSDoc\"),Add_to_all_uncalled_decorators:b(95044,3,\"Add_to_all_uncalled_decorators_95044\",\"Add '()' to all uncalled decorators\"),Convert_all_constructor_functions_to_classes:b(95045,3,\"Convert_all_constructor_functions_to_classes_95045\",\"Convert all constructor functions to classes\"),Generate_get_and_set_accessors:b(95046,3,\"Generate_get_and_set_accessors_95046\",\"Generate 'get' and 'set' accessors\"),Convert_require_to_import:b(95047,3,\"Convert_require_to_import_95047\",\"Convert 'require' to 'import'\"),Convert_all_require_to_import:b(95048,3,\"Convert_all_require_to_import_95048\",\"Convert all 'require' to 'import'\"),Move_to_a_new_file:b(95049,3,\"Move_to_a_new_file_95049\",\"Move to a new file\"),Remove_unreachable_code:b(95050,3,\"Remove_unreachable_code_95050\",\"Remove unreachable code\"),Remove_all_unreachable_code:b(95051,3,\"Remove_all_unreachable_code_95051\",\"Remove all unreachable code\"),Add_missing_typeof:b(95052,3,\"Add_missing_typeof_95052\",\"Add missing 'typeof'\"),Remove_unused_label:b(95053,3,\"Remove_unused_label_95053\",\"Remove unused label\"),Remove_all_unused_labels:b(95054,3,\"Remove_all_unused_labels_95054\",\"Remove all unused labels\"),Convert_0_to_mapped_object_type:b(95055,3,\"Convert_0_to_mapped_object_type_95055\",\"Convert '{0}' to mapped object type\"),Convert_namespace_import_to_named_imports:b(95056,3,\"Convert_namespace_import_to_named_imports_95056\",\"Convert namespace import to named imports\"),Convert_named_imports_to_namespace_import:b(95057,3,\"Convert_named_imports_to_namespace_import_95057\",\"Convert named imports to namespace import\"),Add_or_remove_braces_in_an_arrow_function:b(95058,3,\"Add_or_remove_braces_in_an_arrow_function_95058\",\"Add or remove braces in an arrow function\"),Add_braces_to_arrow_function:b(95059,3,\"Add_braces_to_arrow_function_95059\",\"Add braces to arrow function\"),Remove_braces_from_arrow_function:b(95060,3,\"Remove_braces_from_arrow_function_95060\",\"Remove braces from arrow function\"),Convert_default_export_to_named_export:b(95061,3,\"Convert_default_export_to_named_export_95061\",\"Convert default export to named export\"),Convert_named_export_to_default_export:b(95062,3,\"Convert_named_export_to_default_export_95062\",\"Convert named export to default export\"),Add_missing_enum_member_0:b(95063,3,\"Add_missing_enum_member_0_95063\",\"Add missing enum member '{0}'\"),Add_all_missing_imports:b(95064,3,\"Add_all_missing_imports_95064\",\"Add all missing imports\"),Convert_to_async_function:b(95065,3,\"Convert_to_async_function_95065\",\"Convert to async function\"),Convert_all_to_async_functions:b(95066,3,\"Convert_all_to_async_functions_95066\",\"Convert all to async functions\"),Add_missing_call_parentheses:b(95067,3,\"Add_missing_call_parentheses_95067\",\"Add missing call parentheses\"),Add_all_missing_call_parentheses:b(95068,3,\"Add_all_missing_call_parentheses_95068\",\"Add all missing call parentheses\"),Add_unknown_conversion_for_non_overlapping_types:b(95069,3,\"Add_unknown_conversion_for_non_overlapping_types_95069\",\"Add 'unknown' conversion for non-overlapping types\"),Add_unknown_to_all_conversions_of_non_overlapping_types:b(95070,3,\"Add_unknown_to_all_conversions_of_non_overlapping_types_95070\",\"Add 'unknown' to all conversions of non-overlapping types\"),Add_missing_new_operator_to_call:b(95071,3,\"Add_missing_new_operator_to_call_95071\",\"Add missing 'new' operator to call\"),Add_missing_new_operator_to_all_calls:b(95072,3,\"Add_missing_new_operator_to_all_calls_95072\",\"Add missing 'new' operator to all calls\"),Add_names_to_all_parameters_without_names:b(95073,3,\"Add_names_to_all_parameters_without_names_95073\",\"Add names to all parameters without names\"),Enable_the_experimentalDecorators_option_in_your_configuration_file:b(95074,3,\"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074\",\"Enable the 'experimentalDecorators' option in your configuration file\"),Convert_parameters_to_destructured_object:b(95075,3,\"Convert_parameters_to_destructured_object_95075\",\"Convert parameters to destructured object\"),Extract_type:b(95077,3,\"Extract_type_95077\",\"Extract type\"),Extract_to_type_alias:b(95078,3,\"Extract_to_type_alias_95078\",\"Extract to type alias\"),Extract_to_typedef:b(95079,3,\"Extract_to_typedef_95079\",\"Extract to typedef\"),Infer_this_type_of_0_from_usage:b(95080,3,\"Infer_this_type_of_0_from_usage_95080\",\"Infer 'this' type of '{0}' from usage\"),Add_const_to_unresolved_variable:b(95081,3,\"Add_const_to_unresolved_variable_95081\",\"Add 'const' to unresolved variable\"),Add_const_to_all_unresolved_variables:b(95082,3,\"Add_const_to_all_unresolved_variables_95082\",\"Add 'const' to all unresolved variables\"),Add_await:b(95083,3,\"Add_await_95083\",\"Add 'await'\"),Add_await_to_initializer_for_0:b(95084,3,\"Add_await_to_initializer_for_0_95084\",\"Add 'await' to initializer for '{0}'\"),Fix_all_expressions_possibly_missing_await:b(95085,3,\"Fix_all_expressions_possibly_missing_await_95085\",\"Fix all expressions possibly missing 'await'\"),Remove_unnecessary_await:b(95086,3,\"Remove_unnecessary_await_95086\",\"Remove unnecessary 'await'\"),Remove_all_unnecessary_uses_of_await:b(95087,3,\"Remove_all_unnecessary_uses_of_await_95087\",\"Remove all unnecessary uses of 'await'\"),Enable_the_jsx_flag_in_your_configuration_file:b(95088,3,\"Enable_the_jsx_flag_in_your_configuration_file_95088\",\"Enable the '--jsx' flag in your configuration file\"),Add_await_to_initializers:b(95089,3,\"Add_await_to_initializers_95089\",\"Add 'await' to initializers\"),Extract_to_interface:b(95090,3,\"Extract_to_interface_95090\",\"Extract to interface\"),Convert_to_a_bigint_numeric_literal:b(95091,3,\"Convert_to_a_bigint_numeric_literal_95091\",\"Convert to a bigint numeric literal\"),Convert_all_to_bigint_numeric_literals:b(95092,3,\"Convert_all_to_bigint_numeric_literals_95092\",\"Convert all to bigint numeric literals\"),Convert_const_to_let:b(95093,3,\"Convert_const_to_let_95093\",\"Convert 'const' to 'let'\"),Prefix_with_declare:b(95094,3,\"Prefix_with_declare_95094\",\"Prefix with 'declare'\"),Prefix_all_incorrect_property_declarations_with_declare:b(95095,3,\"Prefix_all_incorrect_property_declarations_with_declare_95095\",\"Prefix all incorrect property declarations with 'declare'\"),Convert_to_template_string:b(95096,3,\"Convert_to_template_string_95096\",\"Convert to template string\"),Add_export_to_make_this_file_into_a_module:b(95097,3,\"Add_export_to_make_this_file_into_a_module_95097\",\"Add 'export {}' to make this file into a module\"),Set_the_target_option_in_your_configuration_file_to_0:b(95098,3,\"Set_the_target_option_in_your_configuration_file_to_0_95098\",\"Set the 'target' option in your configuration file to '{0}'\"),Set_the_module_option_in_your_configuration_file_to_0:b(95099,3,\"Set_the_module_option_in_your_configuration_file_to_0_95099\",\"Set the 'module' option in your configuration file to '{0}'\"),Convert_invalid_character_to_its_html_entity_code:b(95100,3,\"Convert_invalid_character_to_its_html_entity_code_95100\",\"Convert invalid character to its html entity code\"),Convert_all_invalid_characters_to_HTML_entity_code:b(95101,3,\"Convert_all_invalid_characters_to_HTML_entity_code_95101\",\"Convert all invalid characters to HTML entity code\"),Convert_all_const_to_let:b(95102,3,\"Convert_all_const_to_let_95102\",\"Convert all 'const' to 'let'\"),Convert_function_expression_0_to_arrow_function:b(95105,3,\"Convert_function_expression_0_to_arrow_function_95105\",\"Convert function expression '{0}' to arrow function\"),Convert_function_declaration_0_to_arrow_function:b(95106,3,\"Convert_function_declaration_0_to_arrow_function_95106\",\"Convert function declaration '{0}' to arrow function\"),Fix_all_implicit_this_errors:b(95107,3,\"Fix_all_implicit_this_errors_95107\",\"Fix all implicit-'this' errors\"),Wrap_invalid_character_in_an_expression_container:b(95108,3,\"Wrap_invalid_character_in_an_expression_container_95108\",\"Wrap invalid character in an expression container\"),Wrap_all_invalid_characters_in_an_expression_container:b(95109,3,\"Wrap_all_invalid_characters_in_an_expression_container_95109\",\"Wrap all invalid characters in an expression container\"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:b(95110,3,\"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110\",\"Visit https://aka.ms/tsconfig to read more about this file\"),Add_a_return_statement:b(95111,3,\"Add_a_return_statement_95111\",\"Add a return statement\"),Remove_braces_from_arrow_function_body:b(95112,3,\"Remove_braces_from_arrow_function_body_95112\",\"Remove braces from arrow function body\"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:b(95113,3,\"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113\",\"Wrap the following body with parentheses which should be an object literal\"),Add_all_missing_return_statement:b(95114,3,\"Add_all_missing_return_statement_95114\",\"Add all missing return statement\"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:b(95115,3,\"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115\",\"Remove braces from all arrow function bodies with relevant issues\"),Wrap_all_object_literal_with_parentheses:b(95116,3,\"Wrap_all_object_literal_with_parentheses_95116\",\"Wrap all object literal with parentheses\"),Move_labeled_tuple_element_modifiers_to_labels:b(95117,3,\"Move_labeled_tuple_element_modifiers_to_labels_95117\",\"Move labeled tuple element modifiers to labels\"),Convert_overload_list_to_single_signature:b(95118,3,\"Convert_overload_list_to_single_signature_95118\",\"Convert overload list to single signature\"),Generate_get_and_set_accessors_for_all_overriding_properties:b(95119,3,\"Generate_get_and_set_accessors_for_all_overriding_properties_95119\",\"Generate 'get' and 'set' accessors for all overriding properties\"),Wrap_in_JSX_fragment:b(95120,3,\"Wrap_in_JSX_fragment_95120\",\"Wrap in JSX fragment\"),Wrap_all_unparented_JSX_in_JSX_fragment:b(95121,3,\"Wrap_all_unparented_JSX_in_JSX_fragment_95121\",\"Wrap all unparented JSX in JSX fragment\"),Convert_arrow_function_or_function_expression:b(95122,3,\"Convert_arrow_function_or_function_expression_95122\",\"Convert arrow function or function expression\"),Convert_to_anonymous_function:b(95123,3,\"Convert_to_anonymous_function_95123\",\"Convert to anonymous function\"),Convert_to_named_function:b(95124,3,\"Convert_to_named_function_95124\",\"Convert to named function\"),Convert_to_arrow_function:b(95125,3,\"Convert_to_arrow_function_95125\",\"Convert to arrow function\"),Remove_parentheses:b(95126,3,\"Remove_parentheses_95126\",\"Remove parentheses\"),Could_not_find_a_containing_arrow_function:b(95127,3,\"Could_not_find_a_containing_arrow_function_95127\",\"Could not find a containing arrow function\"),Containing_function_is_not_an_arrow_function:b(95128,3,\"Containing_function_is_not_an_arrow_function_95128\",\"Containing function is not an arrow function\"),Could_not_find_export_statement:b(95129,3,\"Could_not_find_export_statement_95129\",\"Could not find export statement\"),This_file_already_has_a_default_export:b(95130,3,\"This_file_already_has_a_default_export_95130\",\"This file already has a default export\"),Could_not_find_import_clause:b(95131,3,\"Could_not_find_import_clause_95131\",\"Could not find import clause\"),Could_not_find_namespace_import_or_named_imports:b(95132,3,\"Could_not_find_namespace_import_or_named_imports_95132\",\"Could not find namespace import or named imports\"),Selection_is_not_a_valid_type_node:b(95133,3,\"Selection_is_not_a_valid_type_node_95133\",\"Selection is not a valid type node\"),No_type_could_be_extracted_from_this_type_node:b(95134,3,\"No_type_could_be_extracted_from_this_type_node_95134\",\"No type could be extracted from this type node\"),Could_not_find_property_for_which_to_generate_accessor:b(95135,3,\"Could_not_find_property_for_which_to_generate_accessor_95135\",\"Could not find property for which to generate accessor\"),Name_is_not_valid:b(95136,3,\"Name_is_not_valid_95136\",\"Name is not valid\"),Can_only_convert_property_with_modifier:b(95137,3,\"Can_only_convert_property_with_modifier_95137\",\"Can only convert property with modifier\"),Switch_each_misused_0_to_1:b(95138,3,\"Switch_each_misused_0_to_1_95138\",\"Switch each misused '{0}' to '{1}'\"),Convert_to_optional_chain_expression:b(95139,3,\"Convert_to_optional_chain_expression_95139\",\"Convert to optional chain expression\"),Could_not_find_convertible_access_expression:b(95140,3,\"Could_not_find_convertible_access_expression_95140\",\"Could not find convertible access expression\"),Could_not_find_matching_access_expressions:b(95141,3,\"Could_not_find_matching_access_expressions_95141\",\"Could not find matching access expressions\"),Can_only_convert_logical_AND_access_chains:b(95142,3,\"Can_only_convert_logical_AND_access_chains_95142\",\"Can only convert logical AND access chains\"),Add_void_to_Promise_resolved_without_a_value:b(95143,3,\"Add_void_to_Promise_resolved_without_a_value_95143\",\"Add 'void' to Promise resolved without a value\"),Add_void_to_all_Promises_resolved_without_a_value:b(95144,3,\"Add_void_to_all_Promises_resolved_without_a_value_95144\",\"Add 'void' to all Promises resolved without a value\"),Use_element_access_for_0:b(95145,3,\"Use_element_access_for_0_95145\",\"Use element access for '{0}'\"),Use_element_access_for_all_undeclared_properties:b(95146,3,\"Use_element_access_for_all_undeclared_properties_95146\",\"Use element access for all undeclared properties.\"),Delete_all_unused_imports:b(95147,3,\"Delete_all_unused_imports_95147\",\"Delete all unused imports\"),Infer_function_return_type:b(95148,3,\"Infer_function_return_type_95148\",\"Infer function return type\"),Return_type_must_be_inferred_from_a_function:b(95149,3,\"Return_type_must_be_inferred_from_a_function_95149\",\"Return type must be inferred from a function\"),Could_not_determine_function_return_type:b(95150,3,\"Could_not_determine_function_return_type_95150\",\"Could not determine function return type\"),Could_not_convert_to_arrow_function:b(95151,3,\"Could_not_convert_to_arrow_function_95151\",\"Could not convert to arrow function\"),Could_not_convert_to_named_function:b(95152,3,\"Could_not_convert_to_named_function_95152\",\"Could not convert to named function\"),Could_not_convert_to_anonymous_function:b(95153,3,\"Could_not_convert_to_anonymous_function_95153\",\"Could not convert to anonymous function\"),Can_only_convert_string_concatenations_and_string_literals:b(95154,3,\"Can_only_convert_string_concatenations_and_string_literals_95154\",\"Can only convert string concatenations and string literals\"),Selection_is_not_a_valid_statement_or_statements:b(95155,3,\"Selection_is_not_a_valid_statement_or_statements_95155\",\"Selection is not a valid statement or statements\"),Add_missing_function_declaration_0:b(95156,3,\"Add_missing_function_declaration_0_95156\",\"Add missing function declaration '{0}'\"),Add_all_missing_function_declarations:b(95157,3,\"Add_all_missing_function_declarations_95157\",\"Add all missing function declarations\"),Method_not_implemented:b(95158,3,\"Method_not_implemented_95158\",\"Method not implemented.\"),Function_not_implemented:b(95159,3,\"Function_not_implemented_95159\",\"Function not implemented.\"),Add_override_modifier:b(95160,3,\"Add_override_modifier_95160\",\"Add 'override' modifier\"),Remove_override_modifier:b(95161,3,\"Remove_override_modifier_95161\",\"Remove 'override' modifier\"),Add_all_missing_override_modifiers:b(95162,3,\"Add_all_missing_override_modifiers_95162\",\"Add all missing 'override' modifiers\"),Remove_all_unnecessary_override_modifiers:b(95163,3,\"Remove_all_unnecessary_override_modifiers_95163\",\"Remove all unnecessary 'override' modifiers\"),Can_only_convert_named_export:b(95164,3,\"Can_only_convert_named_export_95164\",\"Can only convert named export\"),Add_missing_properties:b(95165,3,\"Add_missing_properties_95165\",\"Add missing properties\"),Add_all_missing_properties:b(95166,3,\"Add_all_missing_properties_95166\",\"Add all missing properties\"),Add_missing_attributes:b(95167,3,\"Add_missing_attributes_95167\",\"Add missing attributes\"),Add_all_missing_attributes:b(95168,3,\"Add_all_missing_attributes_95168\",\"Add all missing attributes\"),Add_undefined_to_optional_property_type:b(95169,3,\"Add_undefined_to_optional_property_type_95169\",\"Add 'undefined' to optional property type\"),Convert_named_imports_to_default_import:b(95170,3,\"Convert_named_imports_to_default_import_95170\",\"Convert named imports to default import\"),Delete_unused_param_tag_0:b(95171,3,\"Delete_unused_param_tag_0_95171\",\"Delete unused '@param' tag '{0}'\"),Delete_all_unused_param_tags:b(95172,3,\"Delete_all_unused_param_tags_95172\",\"Delete all unused '@param' tags\"),Rename_param_tag_name_0_to_1:b(95173,3,\"Rename_param_tag_name_0_to_1_95173\",\"Rename '@param' tag name '{0}' to '{1}'\"),Use_0:b(95174,3,\"Use_0_95174\",\"Use `{0}`.\"),Use_Number_isNaN_in_all_conditions:b(95175,3,\"Use_Number_isNaN_in_all_conditions_95175\",\"Use `Number.isNaN` in all conditions.\"),Convert_typedef_to_TypeScript_type:b(95176,3,\"Convert_typedef_to_TypeScript_type_95176\",\"Convert typedef to TypeScript type.\"),Convert_all_typedef_to_TypeScript_types:b(95177,3,\"Convert_all_typedef_to_TypeScript_types_95177\",\"Convert all typedef to TypeScript types.\"),Move_to_file:b(95178,3,\"Move_to_file_95178\",\"Move to file\"),Cannot_move_to_file_selected_file_is_invalid:b(95179,3,\"Cannot_move_to_file_selected_file_is_invalid_95179\",\"Cannot move to file, selected file is invalid\"),Use_import_type:b(95180,3,\"Use_import_type_95180\",\"Use 'import type'\"),Use_type_0:b(95181,3,\"Use_type_0_95181\",\"Use 'type {0}'\"),Fix_all_with_type_only_imports:b(95182,3,\"Fix_all_with_type_only_imports_95182\",\"Fix all with type-only imports\"),Cannot_move_statements_to_the_selected_file:b(95183,3,\"Cannot_move_statements_to_the_selected_file_95183\",\"Cannot move statements to the selected file\"),Inline_variable:b(95184,3,\"Inline_variable_95184\",\"Inline variable\"),Could_not_find_variable_to_inline:b(95185,3,\"Could_not_find_variable_to_inline_95185\",\"Could not find variable to inline.\"),Variables_with_multiple_declarations_cannot_be_inlined:b(95186,3,\"Variables_with_multiple_declarations_cannot_be_inlined_95186\",\"Variables with multiple declarations cannot be inlined.\"),Add_missing_comma_for_object_member_completion_0:b(95187,3,\"Add_missing_comma_for_object_member_completion_0_95187\",\"Add missing comma for object member completion '{0}'.\"),Add_missing_parameter_to_0:b(95188,3,\"Add_missing_parameter_to_0_95188\",\"Add missing parameter to '{0}'\"),Add_missing_parameters_to_0:b(95189,3,\"Add_missing_parameters_to_0_95189\",\"Add missing parameters to '{0}'\"),Add_all_missing_parameters:b(95190,3,\"Add_all_missing_parameters_95190\",\"Add all missing parameters\"),Add_optional_parameter_to_0:b(95191,3,\"Add_optional_parameter_to_0_95191\",\"Add optional parameter to '{0}'\"),Add_optional_parameters_to_0:b(95192,3,\"Add_optional_parameters_to_0_95192\",\"Add optional parameters to '{0}'\"),Add_all_optional_parameters:b(95193,3,\"Add_all_optional_parameters_95193\",\"Add all optional parameters\"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:b(18004,1,\"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004\",\"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.\"),Classes_may_not_have_a_field_named_constructor:b(18006,1,\"Classes_may_not_have_a_field_named_constructor_18006\",\"Classes may not have a field named 'constructor'.\"),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:b(18007,1,\"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007\",\"JSX expressions may not use the comma operator. Did you mean to write an array?\"),Private_identifiers_cannot_be_used_as_parameters:b(18009,1,\"Private_identifiers_cannot_be_used_as_parameters_18009\",\"Private identifiers cannot be used as parameters.\"),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:b(18010,1,\"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010\",\"An accessibility modifier cannot be used with a private identifier.\"),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:b(18011,1,\"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011\",\"The operand of a 'delete' operator cannot be a private identifier.\"),constructor_is_a_reserved_word:b(18012,1,\"constructor_is_a_reserved_word_18012\",\"'#constructor' is a reserved word.\"),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:b(18013,1,\"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013\",\"Property '{0}' is not accessible outside class '{1}' because it has a private identifier.\"),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:b(18014,1,\"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014\",\"The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling.\"),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:b(18015,1,\"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015\",\"Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'.\"),Private_identifiers_are_not_allowed_outside_class_bodies:b(18016,1,\"Private_identifiers_are_not_allowed_outside_class_bodies_18016\",\"Private identifiers are not allowed outside class bodies.\"),The_shadowing_declaration_of_0_is_defined_here:b(18017,1,\"The_shadowing_declaration_of_0_is_defined_here_18017\",\"The shadowing declaration of '{0}' is defined here\"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:b(18018,1,\"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018\",\"The declaration of '{0}' that you probably intended to use is defined here\"),_0_modifier_cannot_be_used_with_a_private_identifier:b(18019,1,\"_0_modifier_cannot_be_used_with_a_private_identifier_18019\",\"'{0}' modifier cannot be used with a private identifier.\"),An_enum_member_cannot_be_named_with_a_private_identifier:b(18024,1,\"An_enum_member_cannot_be_named_with_a_private_identifier_18024\",\"An enum member cannot be named with a private identifier.\"),can_only_be_used_at_the_start_of_a_file:b(18026,1,\"can_only_be_used_at_the_start_of_a_file_18026\",\"'#!' can only be used at the start of a file.\"),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:b(18027,1,\"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027\",\"Compiler reserves name '{0}' when emitting private identifier downlevel.\"),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:b(18028,1,\"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028\",\"Private identifiers are only available when targeting ECMAScript 2015 and higher.\"),Private_identifiers_are_not_allowed_in_variable_declarations:b(18029,1,\"Private_identifiers_are_not_allowed_in_variable_declarations_18029\",\"Private identifiers are not allowed in variable declarations.\"),An_optional_chain_cannot_contain_private_identifiers:b(18030,1,\"An_optional_chain_cannot_contain_private_identifiers_18030\",\"An optional chain cannot contain private identifiers.\"),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:b(18031,1,\"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031\",\"The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents.\"),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:b(18032,1,\"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032\",\"The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some.\"),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:b(18033,1,\"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033\",\"Type '{0}' is not assignable to type '{1}' as required for computed enum member values.\"),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:b(18034,3,\"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034\",\"Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'.\"),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:b(18035,1,\"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035\",\"Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name.\"),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:b(18036,1,\"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036\",\"Class decorators can't be used with static private identifier. Consider removing the experimental decorator.\"),await_expression_cannot_be_used_inside_a_class_static_block:b(18037,1,\"await_expression_cannot_be_used_inside_a_class_static_block_18037\",\"'await' expression cannot be used inside a class static block.\"),for_await_loops_cannot_be_used_inside_a_class_static_block:b(18038,1,\"for_await_loops_cannot_be_used_inside_a_class_static_block_18038\",\"'for await' loops cannot be used inside a class static block.\"),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:b(18039,1,\"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039\",\"Invalid use of '{0}'. It cannot be used inside a class static block.\"),A_return_statement_cannot_be_used_inside_a_class_static_block:b(18041,1,\"A_return_statement_cannot_be_used_inside_a_class_static_block_18041\",\"A 'return' statement cannot be used inside a class static block.\"),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:b(18042,1,\"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042\",\"'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation.\"),Types_cannot_appear_in_export_declarations_in_JavaScript_files:b(18043,1,\"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043\",\"Types cannot appear in export declarations in JavaScript files.\"),_0_is_automatically_exported_here:b(18044,3,\"_0_is_automatically_exported_here_18044\",\"'{0}' is automatically exported here.\"),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:b(18045,1,\"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045\",\"Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher.\"),_0_is_of_type_unknown:b(18046,1,\"_0_is_of_type_unknown_18046\",\"'{0}' is of type 'unknown'.\"),_0_is_possibly_null:b(18047,1,\"_0_is_possibly_null_18047\",\"'{0}' is possibly 'null'.\"),_0_is_possibly_undefined:b(18048,1,\"_0_is_possibly_undefined_18048\",\"'{0}' is possibly 'undefined'.\"),_0_is_possibly_null_or_undefined:b(18049,1,\"_0_is_possibly_null_or_undefined_18049\",\"'{0}' is possibly 'null' or 'undefined'.\"),The_value_0_cannot_be_used_here:b(18050,1,\"The_value_0_cannot_be_used_here_18050\",\"The value '{0}' cannot be used here.\"),Compiler_option_0_cannot_be_given_an_empty_string:b(18051,1,\"Compiler_option_0_cannot_be_given_an_empty_string_18051\",\"Compiler option '{0}' cannot be given an empty string.\"),Non_abstract_class_0_does_not_implement_all_abstract_members_of_1:b(18052,1,\"Non_abstract_class_0_does_not_implement_all_abstract_members_of_1_18052\",\"Non-abstract class '{0}' does not implement all abstract members of '{1}'\"),Its_type_0_is_not_a_valid_JSX_element_type:b(18053,1,\"Its_type_0_is_not_a_valid_JSX_element_type_18053\",\"Its type '{0}' is not a valid JSX element type.\"),await_using_statements_cannot_be_used_inside_a_class_static_block:b(18054,1,\"await_using_statements_cannot_be_used_inside_a_class_static_block_18054\",\"'await using' statements cannot be used inside a class static block.\")}}});function Md(e){return e>=80}function _ee(e){return e===32||Md(e)}function CM(e,t){if(e<t[0])return!1;let r=0,i=t.length,o;for(;r+1<i;){if(o=r+(i-r)/2,o-=o%2,t[o]<=e&&e<=t[o+1])return!0;e<t[o]?i=o:r=o+2}return!1}function x8(e,t){return t>=2?CM(e,Xve):t===1?CM(e,Jve):CM(e,Hve)}function EFe(e,t){return t>=2?CM(e,Yve):t===1?CM(e,Kve):CM(e,qve)}function SFe(e){let t=[];return e.forEach((r,i)=>{t[r]=i}),t}function qo(e){return eye[e]}function LE(e){return yee.get(e)}function IA(e){let t=[],r=0,i=0;for(;r<e.length;){let o=e.charCodeAt(r);switch(r++,o){case 13:e.charCodeAt(r)===10&&r++;case 10:t.push(i),i=r;break;default:o>127&&vd(o)&&(t.push(i),i=r);break}}return t.push(i),t}function NM(e,t,r,i){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,i):R8(Yh(e),t,r,e.text,i)}function R8(e,t,r,i,o){(t<0||t>=e.length)&&(o?t=t<0?0:t>=e.length?e.length-1:t:x.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${i!==void 0?dM(e,IA(i)):\"unknown\"}`));let s=e[t]+r;return o?s>e[t+1]?e[t+1]:typeof i==\"string\"&&s>i.length?i.length:s:(t<e.length-1?x.assert(s<e[t+1]):i!==void 0&&x.assert(s<=i.length),s)}function Yh(e){return e.lineMap||(e.lineMap=IA(e.text))}function W1(e,t){let r=XD(e,t);return{line:r,character:t-e[r]}}function XD(e,t,r){let i=Vg(e,t,Ps,Ms,r);return i<0&&(i=~i-1,x.assert(i!==-1,\"position cannot precede the beginning of the file\")),i}function YD(e,t,r){if(t===r)return 0;let i=Yh(e),o=Math.min(t,r),s=o===r,l=s?t:r,d=XD(i,o),p=XD(i,l,d);return s?d-p:p-d}function $a(e,t){return W1(Yh(e),t)}function $h(e){return Um(e)||vd(e)}function Um(e){return e===32||e===9||e===11||e===12||e===160||e===133||e===5760||e>=8192&&e<=8203||e===8239||e===8287||e===12288||e===65279}function vd(e){return e===10||e===13||e===8232||e===8233}function $D(e){return e>=48&&e<=57}function Vve(e){return $D(e)||e>=65&&e<=70||e>=97&&e<=102}function TFe(e){return e<=1114111}function D8(e){return e>=48&&e<=55}function hee(e,t){let r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return t===0;default:return r>127}}function pa(e,t,r,i,o){if(ym(t))return t;let s=!1;for(;;){let l=e.charCodeAt(t);switch(l){case 13:e.charCodeAt(t+1)===10&&t++;case 10:if(t++,r)return t;s=!!o;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(i)break;if(e.charCodeAt(t+1)===47){for(t+=2;t<e.length&&!vd(e.charCodeAt(t));)t++;s=!1;continue}if(e.charCodeAt(t+1)===42){for(t+=2;t<e.length;){if(e.charCodeAt(t)===42&&e.charCodeAt(t+1)===47){t+=2;break}t++}s=!1;continue}break;case 60:case 124:case 61:case 62:if(QD(e,t)){t=PM(e,t),s=!1;continue}break;case 35:if(t===0&&PG(e,t)){t=MG(e,t),s=!1;continue}break;case 42:if(s){t++,s=!1;continue}break;default:if(l>127&&$h(l)){t++;continue}break}return t}}function QD(e,t){if(x.assert(t>=0),t===0||vd(e.charCodeAt(t-1))){let r=e.charCodeAt(t);if(t+N8<e.length){for(let i=0;i<N8;i++)if(e.charCodeAt(t+i)!==r)return!1;return r===61||e.charCodeAt(t+N8)===32}}return!1}function PM(e,t,r){r&&r(f.Merge_conflict_marker_encountered,t,N8);let i=e.charCodeAt(t),o=e.length;if(i===60||i===62)for(;t<o&&!vd(e.charCodeAt(t));)t++;else for(x.assert(i===124||i===61);t<o;){let s=e.charCodeAt(t);if((s===61||s===62)&&s!==i&&QD(e,t))break;t++}return t}function PG(e,t){return x.assert(t===0),kG.test(e)}function MG(e,t){let r=kG.exec(e)[0];return t=t+r.length,t}function LG(e,t,r,i,o,s,l){let d,p,h,m,v=!1,E=i,S=l;if(r===0){E=!0;let A=C8(t);A&&(r=A.length)}e:for(;r>=0&&r<t.length;){let A=t.charCodeAt(r);switch(A){case 13:t.charCodeAt(r+1)===10&&r++;case 10:if(r++,i)break e;E=!0,v&&(m=!0);continue;case 9:case 11:case 12:case 32:r++;continue;case 47:let C=t.charCodeAt(r+1),R=!1;if(C===47||C===42){let L=C===47?2:3,G=r;if(r+=2,C===47)for(;r<t.length;){if(vd(t.charCodeAt(r))){R=!0;break}r++}else for(;r<t.length;){if(t.charCodeAt(r)===42&&t.charCodeAt(r+1)===47){r+=2;break}r++}if(E){if(v&&(S=o(d,p,h,m,s,S),!e&&S))return S;d=G,p=r,h=L,m=R,v=!0}continue}break e;default:if(A>127&&$h(A)){v&&vd(A)&&(m=!0),r++;continue}break e}}return v&&(S=o(d,p,h,m,s,S)),S}function MM(e,t,r,i){return LG(!1,e,t,!1,r,i)}function LM(e,t,r,i){return LG(!1,e,t,!0,r,i)}function gee(e,t,r,i,o){return LG(!0,e,t,!1,r,i,o)}function vee(e,t,r,i,o){return LG(!0,e,t,!0,r,i,o)}function jve(e,t,r,i,o,s=[]){return s.push({kind:r,pos:e,end:t,hasTrailingNewLine:i}),s}function mh(e,t){return gee(e,t,jve,void 0,void 0)}function mb(e,t){return vee(e,t,jve,void 0,void 0)}function C8(e){let t=kG.exec(e);if(t)return t[0]}function _h(e,t){return e>=65&&e<=90||e>=97&&e<=122||e===36||e===95||e>127&&x8(e,t)}function _b(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||(r===1?e===45||e===58:!1)||e>127&&EFe(e,t)}function Tp(e,t,r){let i=Uv(e,0);if(!_h(i,t))return!1;for(let o=hb(i);o<e.length;o+=hb(i))if(!_b(i=Uv(e,o),t,r))return!1;return!0}function Kg(e,t,r=0,i,o,s,l){var d=i,p,h,m,v,E,S,A,C,R=0,L=0,G=0;Rt(d,s,l);var U={getTokenFullStart:()=>m,getStartPos:()=>m,getTokenEnd:()=>p,getTextPos:()=>p,getToken:()=>E,getTokenStart:()=>v,getTokenPos:()=>v,getTokenText:()=>d.substring(v,p),getTokenValue:()=>S,hasUnicodeEscape:()=>(A&1024)!==0,hasExtendedUnicodeEscape:()=>(A&8)!==0,hasPrecedingLineBreak:()=>(A&1)!==0,hasPrecedingJSDocComment:()=>(A&2)!==0,isIdentifier:()=>E===80||E>118,isReservedWord:()=>E>=83&&E<=118,isUnterminated:()=>(A&4)!==0,getCommentDirectives:()=>C,getNumericLiteralFlags:()=>A&25584,getTokenFlags:()=>A,reScanGreaterToken:he,reScanAsteriskEqualsToken:Le,reScanSlashToken:Ke,reScanTemplateToken:Ge,reScanTemplateHeadOrNoSubstitutionTemplate:ot,scanJsxIdentifier:zt,scanJsxAttributeValue:Wt,reScanJsxAttributeValue:ei,reScanJsxToken:Vt,reScanLessThanToken:jt,reScanHashToken:gn,reScanQuestionToken:On,reScanInvalidIdentifier:De,scanJsxToken:en,scanJsDocToken:gi,scanJSDocCommentTextToken:Ki,scan:be,getText:Jt,clearCommentDirectives:Ue,setText:Rt,setScriptTarget:qr,setLanguageVariant:ni,setScriptKind:ki,setJSDocParsingMode:so,setOnError:mn,resetTokenState:Jo,setTextPos:Jo,setInJSDocType:Ea,tryScan:cr,lookAhead:Nr,scanRange:Gn};return x.isDebugging&&Object.defineProperty(U,\"__debugShowCurrentPositionInText\",{get:()=>{let ln=U.getText();return ln.slice(0,U.getTokenFullStart())+\"\\u2551\"+ln.slice(U.getTokenFullStart())}}),U;function K(ln,Tn=p,ke,nt){if(o){let tt=p;p=Tn,o(ln,ke||0,nt),p=tt}}function F(){let ln=p,Tn=!1,ke=!1,nt=\"\";for(;;){let tt=d.charCodeAt(p);if(tt===95){A|=512,Tn?(Tn=!1,ke=!0,nt+=d.substring(ln,p)):(A|=16384,K(ke?f.Multiple_consecutive_numeric_separators_are_not_permitted:f.Numeric_separators_are_not_allowed_here,p,1)),p++,ln=p;continue}if($D(tt)){Tn=!0,ke=!1,p++;continue}break}return d.charCodeAt(p-1)===95&&(A|=16384,K(f.Numeric_separators_are_not_allowed_here,p-1,1)),nt+d.substring(ln,p)}function oe(){let ln=p,Tn;if(d.charCodeAt(p)===48)if(p++,d.charCodeAt(p)===95)A|=16896,K(f.Numeric_separators_are_not_allowed_here,p,1),p--,Tn=F();else if(!$())A|=8192,Tn=\"\"+ +S;else if(!S)Tn=\"0\";else{S=\"\"+parseInt(S,8),A|=32;let re=E===41,Ce=(re?\"-\":\"\")+\"0o\"+(+S).toString(8);return re&&ln--,K(f.Octal_literals_are_not_allowed_Use_the_syntax_0,ln,p-ln,Ce),9}else Tn=F();let ke,nt;d.charCodeAt(p)===46&&(p++,ke=F());let tt=p;if(d.charCodeAt(p)===69||d.charCodeAt(p)===101){p++,A|=16,(d.charCodeAt(p)===43||d.charCodeAt(p)===45)&&p++;let re=p,Ce=F();Ce?(nt=d.substring(tt,re)+Ce,tt=p):K(f.Digit_expected)}let yt;if(A&512?(yt=Tn,ke&&(yt+=\".\"+ke),nt&&(yt+=nt)):yt=d.substring(ln,tt),A&8192)return K(f.Decimals_with_leading_zeros_are_not_allowed,ln,tt-ln),S=\"\"+ +yt,9;if(ke!==void 0||A&16)return W(ln,ke===void 0&&!!(A&16)),S=\"\"+ +yt,9;{S=yt;let re=_e();return W(ln),re}}function W(ln,Tn){if(!_h(Uv(d,p),e))return;let ke=p,{length:nt}=pe();nt===1&&d[ke]===\"n\"?K(Tn?f.A_bigint_literal_cannot_use_exponential_notation:f.A_bigint_literal_must_be_an_integer,ln,ke-ln+1):(K(f.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,ke,nt),p=ke)}function $(){let ln=p,Tn=!0;for(;$D(d.charCodeAt(p));)D8(d.charCodeAt(p))||(Tn=!1),p++;return S=d.substring(ln,p),Tn}function de(ln,Tn){let ke=q(ln,!1,Tn);return ke?parseInt(ke,16):-1}function fe(ln,Tn){return q(ln,!0,Tn)}function q(ln,Tn,ke){let nt=[],tt=!1,yt=!1;for(;nt.length<ln||Tn;){let re=d.charCodeAt(p);if(ke&&re===95){A|=512,tt?(tt=!1,yt=!0):K(yt?f.Multiple_consecutive_numeric_separators_are_not_permitted:f.Numeric_separators_are_not_allowed_here,p,1),p++;continue}if(tt=ke,re>=65&&re<=70)re+=32;else if(!(re>=48&&re<=57||re>=97&&re<=102))break;nt.push(re),p++,yt=!1}return nt.length<ln&&(nt=[]),d.charCodeAt(p-1)===95&&K(f.Numeric_separators_are_not_allowed_here,p-1,1),String.fromCharCode(...nt)}function H(ln=!1){let Tn=d.charCodeAt(p);p++;let ke=\"\",nt=p;for(;;){if(p>=h){ke+=d.substring(nt,p),A|=4,K(f.Unterminated_string_literal);break}let tt=d.charCodeAt(p);if(tt===Tn){ke+=d.substring(nt,p),p++;break}if(tt===92&&!ln){ke+=d.substring(nt,p),ke+=le(!0),nt=p;continue}if((tt===10||tt===13)&&!ln){ke+=d.substring(nt,p),A|=4,K(f.Unterminated_string_literal);break}p++}return ke}function ee(ln){let Tn=d.charCodeAt(p)===96;p++;let ke=p,nt=\"\",tt;for(;;){if(p>=h){nt+=d.substring(ke,p),A|=4,K(f.Unterminated_template_literal),tt=Tn?15:18;break}let yt=d.charCodeAt(p);if(yt===96){nt+=d.substring(ke,p),p++,tt=Tn?15:18;break}if(yt===36&&p+1<h&&d.charCodeAt(p+1)===123){nt+=d.substring(ke,p),p+=2,tt=Tn?16:17;break}if(yt===92){nt+=d.substring(ke,p),nt+=le(ln),ke=p;continue}if(yt===13){nt+=d.substring(ke,p),p++,p<h&&d.charCodeAt(p)===10&&p++,nt+=`\n`,ke=p;continue}p++}return x.assert(tt!==void 0),S=nt,tt}function le(ln){let Tn=p;if(p++,p>=h)return K(f.Unexpected_end_of_text),\"\";let ke=d.charCodeAt(p);switch(p++,ke){case 48:if(p>=h||!$D(d.charCodeAt(p)))return\"\\0\";case 49:case 50:case 51:p<h&&D8(d.charCodeAt(p))&&p++;case 52:case 53:case 54:case 55:if(p<h&&D8(d.charCodeAt(p))&&p++,A|=2048,ln){let nt=parseInt(d.substring(Tn+1,p),8);return K(f.Octal_escape_sequences_are_not_allowed_Use_the_syntax_0,Tn,p-Tn,\"\\\\x\"+nt.toString(16).padStart(2,\"0\")),String.fromCharCode(nt)}return d.substring(Tn,p);case 56:case 57:return A|=2048,ln?(K(f.Escape_sequence_0_is_not_allowed,Tn,p-Tn,d.substring(Tn,p)),String.fromCharCode(ke)):d.substring(Tn,p);case 98:return\"\\b\";case 116:return\"\t\";case 110:return`\n`;case 118:return\"\\v\";case 102:return\"\\f\";case 114:return\"\\r\";case 39:return\"'\";case 34:return'\"';case 117:if(p<h&&d.charCodeAt(p)===123){p++;let nt=fe(1,!1),tt=nt?parseInt(nt,16):-1;return tt<0?(A|=2048,ln&&K(f.Hexadecimal_digit_expected),d.substring(Tn,p)):TFe(tt)?p>=h?(A|=2048,ln&&K(f.Unexpected_end_of_text),d.substring(Tn,p)):d.charCodeAt(p)!==125?(A|=2048,ln&&K(f.Unterminated_Unicode_escape_sequence),d.substring(Tn,p)):(p++,A|=8,F1(tt)):(A|=2048,ln&&K(f.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),d.substring(Tn,p))}for(;p<Tn+6;p++)if(!(p<h&&Vve(d.charCodeAt(p))))return A|=2048,ln&&K(f.Hexadecimal_digit_expected),d.substring(Tn,p);return A|=1024,String.fromCharCode(parseInt(d.substring(Tn+2,p),16));case 120:for(;p<Tn+4;p++)if(!(p<h&&Vve(d.charCodeAt(p))))return A|=2048,ln&&K(f.Hexadecimal_digit_expected),d.substring(Tn,p);return A|=4096,String.fromCharCode(parseInt(d.substring(Tn+2,p),16));case 13:p<h&&d.charCodeAt(p)===10&&p++;case 10:case 8232:case 8233:return\"\";default:return String.fromCharCode(ke)}}function Ee(){let ln=fe(1,!1),Tn=ln?parseInt(ln,16):-1,ke=!1;return Tn<0?(K(f.Hexadecimal_digit_expected),ke=!0):Tn>1114111&&(K(f.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),ke=!0),p>=h?(K(f.Unexpected_end_of_text),ke=!0):d.charCodeAt(p)===125?p++:(K(f.Unterminated_Unicode_escape_sequence),ke=!0),ke?\"\":F1(Tn)}function ce(){if(p+5<h&&d.charCodeAt(p+1)===117){let ln=p;p+=2;let Tn=de(4,!1);return p=ln,Tn}return-1}function Z(){if(Uv(d,p+1)===117&&Uv(d,p+2)===123){let ln=p;p+=3;let Tn=fe(1,!1),ke=Tn?parseInt(Tn,16):-1;return p=ln,ke}return-1}function pe(){let ln=\"\",Tn=p;for(;p<h;){let ke=Uv(d,p);if(_b(ke,e))p+=hb(ke);else if(ke===92){if(ke=Z(),ke>=0&&_b(ke,e)){p+=3,A|=8,ln+=Ee(),Tn=p;continue}if(ke=ce(),!(ke>=0&&_b(ke,e)))break;A|=1024,ln+=d.substring(Tn,p),ln+=F1(ke),p+=6,Tn=p}else break}return ln+=d.substring(Tn,p),ln}function Ae(){let ln=S.length;if(ln>=2&&ln<=12){let Tn=S.charCodeAt(0);if(Tn>=97&&Tn<=122){let ke=Uve.get(S);if(ke!==void 0)return E=ke}}return E=80}function Oe(ln){let Tn=\"\",ke=!1,nt=!1;for(;;){let tt=d.charCodeAt(p);if(tt===95){A|=512,ke?(ke=!1,nt=!0):K(nt?f.Multiple_consecutive_numeric_separators_are_not_permitted:f.Numeric_separators_are_not_allowed_here,p,1),p++;continue}if(ke=!0,!$D(tt)||tt-48>=ln)break;Tn+=d[p],p++,nt=!1}return d.charCodeAt(p-1)===95&&K(f.Numeric_separators_are_not_allowed_here,p-1,1),Tn}function _e(){return d.charCodeAt(p)===110?(S+=\"n\",A&384&&(S=HC(S)+\"n\"),p++,10):(S=\"\"+(A&128?parseInt(S.slice(2),2):A&256?parseInt(S.slice(2),8):+S),9)}function be(){m=p,A=0;let ln=!1;for(;;){if(v=p,p>=h)return E=1;let Tn=Uv(d,p);if(p===0){if(d.slice(0,256).includes(\"\\uFFFD\"))return K(f.File_appears_to_be_binary),p=h,E=8;if(Tn===35&&PG(d,p)){if(p=MG(d,p),t)continue;return E=6}}switch(Tn){case 10:case 13:if(A|=1,t){p++;continue}else return Tn===13&&p+1<h&&d.charCodeAt(p+1)===10?p+=2:p++,E=4;case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8203:case 8239:case 8287:case 12288:case 65279:if(t){p++;continue}else{for(;p<h&&Um(d.charCodeAt(p));)p++;return E=5}case 33:return d.charCodeAt(p+1)===61?d.charCodeAt(p+2)===61?(p+=3,E=38):(p+=2,E=36):(p++,E=54);case 34:case 39:return S=H(),E=11;case 96:return E=ee(!1);case 37:return d.charCodeAt(p+1)===61?(p+=2,E=70):(p++,E=45);case 38:return d.charCodeAt(p+1)===38?d.charCodeAt(p+2)===61?(p+=3,E=77):(p+=2,E=56):d.charCodeAt(p+1)===61?(p+=2,E=74):(p++,E=51);case 40:return p++,E=21;case 41:return p++,E=22;case 42:if(d.charCodeAt(p+1)===61)return p+=2,E=67;if(d.charCodeAt(p+1)===42)return d.charCodeAt(p+2)===61?(p+=3,E=68):(p+=2,E=43);if(p++,R&&!ln&&A&1){ln=!0;continue}return E=42;case 43:return d.charCodeAt(p+1)===43?(p+=2,E=46):d.charCodeAt(p+1)===61?(p+=2,E=65):(p++,E=40);case 44:return p++,E=28;case 45:return d.charCodeAt(p+1)===45?(p+=2,E=47):d.charCodeAt(p+1)===61?(p+=2,E=66):(p++,E=41);case 46:return $D(d.charCodeAt(p+1))?(oe(),E=9):d.charCodeAt(p+1)===46&&d.charCodeAt(p+2)===46?(p+=3,E=26):(p++,E=25);case 47:if(d.charCodeAt(p+1)===47){for(p+=2;p<h&&!vd(d.charCodeAt(p));)p++;if(C=Dt(C,d.slice(v,p),$ve,v),t)continue;return E=2}if(d.charCodeAt(p+1)===42){p+=2;let Ce=d.charCodeAt(p)===42&&d.charCodeAt(p+1)!==47,et=!1,z=v;for(;p<h;){let Je=d.charCodeAt(p);if(Je===42&&d.charCodeAt(p+1)===47){p+=2,et=!0;break}p++,vd(Je)&&(z=p,A|=1)}if(Ce&&Te()&&(A|=2),C=Dt(C,d.slice(z,p),Qve,z),et||K(f.Asterisk_Slash_expected),t)continue;return et||(A|=4),E=3}return d.charCodeAt(p+1)===61?(p+=2,E=69):(p++,E=44);case 48:if(p+2<h&&(d.charCodeAt(p+1)===88||d.charCodeAt(p+1)===120))return p+=2,S=fe(1,!0),S||(K(f.Hexadecimal_digit_expected),S=\"0\"),S=\"0x\"+S,A|=64,E=_e();if(p+2<h&&(d.charCodeAt(p+1)===66||d.charCodeAt(p+1)===98))return p+=2,S=Oe(2),S||(K(f.Binary_digit_expected),S=\"0\"),S=\"0b\"+S,A|=128,E=_e();if(p+2<h&&(d.charCodeAt(p+1)===79||d.charCodeAt(p+1)===111))return p+=2,S=Oe(8),S||(K(f.Octal_digit_expected),S=\"0\"),S=\"0o\"+S,A|=256,E=_e();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return E=oe();case 58:return p++,E=59;case 59:return p++,E=27;case 60:if(QD(d,p)){if(p=PM(d,p,K),t)continue;return E=7}return d.charCodeAt(p+1)===60?d.charCodeAt(p+2)===61?(p+=3,E=71):(p+=2,E=48):d.charCodeAt(p+1)===61?(p+=2,E=33):r===1&&d.charCodeAt(p+1)===47&&d.charCodeAt(p+2)!==42?(p+=2,E=31):(p++,E=30);case 61:if(QD(d,p)){if(p=PM(d,p,K),t)continue;return E=7}return d.charCodeAt(p+1)===61?d.charCodeAt(p+2)===61?(p+=3,E=37):(p+=2,E=35):d.charCodeAt(p+1)===62?(p+=2,E=39):(p++,E=64);case 62:if(QD(d,p)){if(p=PM(d,p,K),t)continue;return E=7}return p++,E=32;case 63:return d.charCodeAt(p+1)===46&&!$D(d.charCodeAt(p+2))?(p+=2,E=29):d.charCodeAt(p+1)===63?d.charCodeAt(p+2)===61?(p+=3,E=78):(p+=2,E=61):(p++,E=58);case 91:return p++,E=23;case 93:return p++,E=24;case 94:return d.charCodeAt(p+1)===61?(p+=2,E=79):(p++,E=53);case 123:return p++,E=19;case 124:if(QD(d,p)){if(p=PM(d,p,K),t)continue;return E=7}return d.charCodeAt(p+1)===124?d.charCodeAt(p+2)===61?(p+=3,E=76):(p+=2,E=57):d.charCodeAt(p+1)===61?(p+=2,E=75):(p++,E=52);case 125:return p++,E=20;case 126:return p++,E=55;case 64:return p++,E=60;case 92:let ke=Z();if(ke>=0&&_h(ke,e))return p+=3,A|=8,S=Ee()+pe(),E=Ae();let nt=ce();return nt>=0&&_h(nt,e)?(p+=6,A|=1024,S=String.fromCharCode(nt)+pe(),E=Ae()):(K(f.Invalid_character),p++,E=0);case 35:if(p!==0&&d[p+1]===\"!\")return K(f.can_only_be_used_at_the_start_of_a_file),p++,E=0;let tt=Uv(d,p+1);if(tt===92){p++;let Ce=Z();if(Ce>=0&&_h(Ce,e))return p+=3,A|=8,S=\"#\"+Ee()+pe(),E=81;let et=ce();if(et>=0&&_h(et,e))return p+=6,A|=1024,S=\"#\"+String.fromCharCode(et)+pe(),E=81;p--}return _h(tt,e)?(p++,ft(tt,e)):(S=\"#\",K(f.Invalid_character,p++,hb(Tn))),E=81;default:let yt=ft(Tn,e);if(yt)return E=yt;if(Um(Tn)){p+=hb(Tn);continue}else if(vd(Tn)){A|=1,p+=hb(Tn);continue}let re=hb(Tn);return K(f.Invalid_character,p,re),p+=re,E=0}}}function Te(){switch(G){case 0:return!0;case 1:return!1}return L!==3&&L!==4?!0:G===3?!1:Zve.test(d.slice(m,p))}function De(){x.assert(E===0,\"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'.\"),p=v=m,A=0;let ln=Uv(d,p),Tn=ft(ln,99);return Tn?E=Tn:(p+=hb(ln),E)}function ft(ln,Tn){let ke=ln;if(_h(ke,Tn)){for(p+=hb(ke);p<h&&_b(ke=Uv(d,p),Tn);)p+=hb(ke);return S=d.substring(v,p),ke===92&&(S+=pe()),Ae()}}function he(){if(E===32){if(d.charCodeAt(p)===62)return d.charCodeAt(p+1)===62?d.charCodeAt(p+2)===61?(p+=3,E=73):(p+=2,E=50):d.charCodeAt(p+1)===61?(p+=2,E=72):(p++,E=49);if(d.charCodeAt(p)===61)return p++,E=34}return E}function Le(){return x.assert(E===67,\"'reScanAsteriskEqualsToken' should only be called on a '*='\"),p=v+1,E=64}function Ke(){if(E===44||E===69){let ln=v+1,Tn=!1,ke=!1;for(;;){if(ln>=h){A|=4,K(f.Unterminated_regular_expression_literal);break}let nt=d.charCodeAt(ln);if(vd(nt)){A|=4,K(f.Unterminated_regular_expression_literal);break}if(Tn)Tn=!1;else if(nt===47&&!ke){ln++;break}else nt===91?ke=!0:nt===92?Tn=!0:nt===93&&(ke=!1);ln++}for(;ln<h&&_b(d.charCodeAt(ln),e);)ln++;p=ln,S=d.substring(v,p),E=14}return E}function Dt(ln,Tn,ke,nt){let tt=st(Tn.trimStart(),ke);return tt===void 0?ln:pn(ln,{range:{pos:nt,end:p},type:tt})}function st(ln,Tn){let ke=Tn.exec(ln);if(ke)switch(ke[1]){case\"ts-expect-error\":return 0;case\"ts-ignore\":return 1}}function Ge(ln){return p=v,E=ee(!ln)}function ot(){return p=v,E=ee(!0)}function Vt(ln=!0){return p=v=m,E=en(ln)}function jt(){return E===48?(p=v+1,E=30):E}function gn(){return E===81?(p=v+1,E=63):E}function On(){return x.assert(E===61,\"'reScanQuestionToken' should only be called on a '??'\"),p=v+1,E=58}function en(ln=!0){if(m=v=p,p>=h)return E=1;let Tn=d.charCodeAt(p);if(Tn===60)return d.charCodeAt(p+1)===47?(p+=2,E=31):(p++,E=30);if(Tn===123)return p++,E=19;let ke=0;for(;p<h&&(Tn=d.charCodeAt(p),Tn!==123);){if(Tn===60){if(QD(d,p))return p=PM(d,p,K),E=7;break}if(Tn===62&&K(f.Unexpected_token_Did_you_mean_or_gt,p,1),Tn===125&&K(f.Unexpected_token_Did_you_mean_or_rbrace,p,1),vd(Tn)&&ke===0)ke=-1;else{if(!ln&&vd(Tn)&&ke>0)break;$h(Tn)||(ke=p)}p++}return S=d.substring(m,p),ke===-1?13:12}function zt(){if(Md(E)){for(;p<h;){if(d.charCodeAt(p)===45){S+=\"-\",p++;continue}let Tn=p;if(S+=pe(),p===Tn)break}return Ae()}return E}function Wt(){switch(m=p,d.charCodeAt(p)){case 34:case 39:return S=H(!0),E=11;default:return be()}}function ei(){return p=v=m,Wt()}function Ki(ln){if(m=v=p,A=0,p>=h)return E=1;for(let Tn=d.charCodeAt(p);p<h&&!vd(Tn)&&Tn!==96;Tn=Uv(d,++p))if(!ln){if(Tn===123)break;if(Tn===64&&p-1>=0&&Um(d.charCodeAt(p-1))&&!(p+1<h&&$h(d.charCodeAt(p+1))))break}return p===v?gi():(S=d.substring(v,p),E=82)}function gi(){if(m=v=p,A=0,p>=h)return E=1;let ln=Uv(d,p);switch(p+=hb(ln),ln){case 9:case 11:case 12:case 32:for(;p<h&&Um(d.charCodeAt(p));)p++;return E=5;case 64:return E=60;case 13:d.charCodeAt(p)===10&&p++;case 10:return A|=1,E=4;case 42:return E=42;case 123:return E=19;case 125:return E=20;case 91:return E=23;case 93:return E=24;case 60:return E=30;case 62:return E=32;case 61:return E=64;case 44:return E=28;case 46:return E=25;case 96:return E=62;case 35:return E=63;case 92:p--;let Tn=Z();if(Tn>=0&&_h(Tn,e))return p+=3,A|=8,S=Ee()+pe(),E=Ae();let ke=ce();return ke>=0&&_h(ke,e)?(p+=6,A|=1024,S=String.fromCharCode(ke)+pe(),E=Ae()):(p++,E=0)}if(_h(ln,e)){let Tn=ln;for(;p<h&&_b(Tn=Uv(d,p),e)||d.charCodeAt(p)===45;)p+=hb(Tn);return S=d.substring(v,p),Tn===92&&(S+=pe()),E=Ae()}else return E=0}function io(ln,Tn){let ke=p,nt=m,tt=v,yt=E,re=S,Ce=A,et=ln();return(!et||Tn)&&(p=ke,m=nt,v=tt,E=yt,S=re,A=Ce),et}function Gn(ln,Tn,ke){let nt=h,tt=p,yt=m,re=v,Ce=E,et=S,z=A,Je=C;Rt(d,ln,Tn);let _t=ke();return h=nt,p=tt,m=yt,v=re,E=Ce,S=et,A=z,C=Je,_t}function Nr(ln){return io(ln,!0)}function cr(ln){return io(ln,!1)}function Jt(){return d}function Ue(){C=void 0}function Rt(ln,Tn,ke){d=ln||\"\",h=ke===void 0?d.length:Tn+ke,Jo(Tn||0)}function mn(ln){o=ln}function qr(ln){e=ln}function ni(ln){r=ln}function ki(ln){L=ln}function so(ln){G=ln}function Jo(ln){x.assert(ln>=0),p=ln,m=ln,v=ln,E=0,S=void 0,A=0}function Ea(ln){R+=ln?1:-1}}function Uv(e,t){return e.codePointAt(t)}function hb(e){return e>=65536?2:1}function AFe(e){if(x.assert(0<=e&&e<=1114111),e<=65535)return String.fromCharCode(e);let t=Math.floor((e-65536)/1024)+55296,r=(e-65536)%1024+56320;return String.fromCharCode(t,r)}function F1(e){return tye(e)}var kM,Uve,yee,Hve,qve,Jve,Kve,Xve,Yve,$ve,Qve,Zve,eye,N8,kG,tye,IFe=pt({\"src/compiler/scanner.ts\"(){\"use strict\";wo(),kM={abstract:128,accessor:129,any:133,as:130,asserts:131,assert:132,bigint:163,boolean:136,break:83,case:84,catch:85,class:86,continue:88,const:87,constructor:137,debugger:89,declare:138,default:90,delete:91,do:92,else:93,enum:94,export:95,extends:96,false:97,finally:98,for:99,from:161,function:100,get:139,if:101,implements:119,import:102,in:103,infer:140,instanceof:104,interface:120,intrinsic:141,is:142,keyof:143,let:121,module:144,namespace:145,never:146,new:105,null:106,number:150,object:151,package:122,private:123,protected:124,public:125,override:164,out:147,readonly:148,require:149,global:162,return:107,satisfies:152,set:153,static:126,string:154,super:108,switch:109,symbol:155,this:110,throw:111,true:112,try:113,type:156,typeof:114,undefined:157,unique:158,unknown:159,using:160,var:115,void:116,while:117,with:118,yield:127,async:134,await:135,of:165},Uve=new Map(Object.entries(kM)),yee=new Map(Object.entries({...kM,\"{\":19,\"}\":20,\"(\":21,\")\":22,\"[\":23,\"]\":24,\".\":25,\"...\":26,\";\":27,\",\":28,\"<\":30,\">\":32,\"<=\":33,\">=\":34,\"==\":35,\"!=\":36,\"===\":37,\"!==\":38,\"=>\":39,\"+\":40,\"-\":41,\"**\":43,\"*\":42,\"/\":44,\"%\":45,\"++\":46,\"--\":47,\"<<\":48,\"</\":31,\">>\":49,\">>>\":50,\"&\":51,\"|\":52,\"^\":53,\"!\":54,\"~\":55,\"&&\":56,\"||\":57,\"?\":58,\"??\":61,\"?.\":29,\":\":59,\"=\":64,\"+=\":65,\"-=\":66,\"*=\":67,\"**=\":68,\"/=\":69,\"%=\":70,\"<<=\":71,\">>=\":72,\">>>=\":73,\"&=\":74,\"|=\":75,\"^=\":79,\"||=\":76,\"&&=\":77,\"??=\":78,\"@\":60,\"#\":63,\"`\":62})),Hve=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],qve=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],Jve=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Kve=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Xve=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],Yve=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],$ve=/^\\/\\/\\/?\\s*@(ts-expect-error|ts-ignore)/,Qve=/^(?:\\/|\\*)*\\s*@(ts-expect-error|ts-ignore)/,Zve=/@(?:see|link)/i,eye=SFe(yee),N8=7,kG=/^#!.*/,tye=String.fromCodePoint?e=>String.fromCodePoint(e):AFe}});function Ic(e){return op(e)||Ou(e)}function z1(e){return zD(e,zC)}function OM(e){switch(Wa(e)){case 99:return\"lib.esnext.full.d.ts\";case 9:return\"lib.es2022.full.d.ts\";case 8:return\"lib.es2021.full.d.ts\";case 7:return\"lib.es2020.full.d.ts\";case 6:return\"lib.es2019.full.d.ts\";case 5:return\"lib.es2018.full.d.ts\";case 4:return\"lib.es2017.full.d.ts\";case 3:return\"lib.es2016.full.d.ts\";case 2:return\"lib.es6.d.ts\";default:return\"lib.d.ts\"}}function Al(e){return e.start+e.length}function bee(e){return e.length===0}function OG(e,t){return t>=e.start&&t<Al(e)}function wM(e,t){return t>=e.pos&&t<=e.end}function Eee(e,t){return t.start>=e.start&&Al(t)<=Al(e)}function nye(e,t){return See(e,t)!==void 0}function See(e,t){let r=Aee(e,t);return r&&r.length===0?void 0:r}function rye(e,t){return WM(e.start,e.length,t.start,t.length)}function P8(e,t,r){return WM(e.start,e.length,t,r)}function WM(e,t,r,i){let o=e+t,s=r+i;return r<=o&&s>=e}function Tee(e,t){return t<=Al(e)&&t>=e.start}function Aee(e,t){let r=Math.max(e.start,t.start),i=Math.min(Al(e),Al(t));return r<=i?Gl(r,i):void 0}function qc(e,t){if(e<0)throw new Error(\"start < 0\");if(t<0)throw new Error(\"length < 0\");return{start:e,length:t}}function Gl(e,t){return qc(e,t-e)}function ZD(e){return qc(e.span.start,e.newLength)}function Iee(e){return bee(e.span)&&e.newLength===0}function FM(e,t){if(t<0)throw new Error(\"newLength < 0\");return{span:e,newLength:t}}function xee(e){if(e.length===0)return eL;if(e.length===1)return e[0];let t=e[0],r=t.span.start,i=Al(t.span),o=r+t.newLength;for(let s=1;s<e.length;s++){let l=e[s],d=r,p=i,h=o,m=l.span.start,v=Al(l.span),E=m+l.newLength;r=Math.min(d,m),i=Math.max(p,p+(v-h)),o=Math.max(E,E+(h-v))}return FM(Gl(r,i),o-r)}function iye(e){if(e&&e.kind===168){for(let t=e;t;t=t.parent)if(Lo(t)||Kr(t)||t.kind===264)return t}}function wu(e,t){return ao(e)&&Wr(e,31)&&t.kind===176}function Ree(e){return ko(e)?ji(e.elements,Dee):!1}function Dee(e){return vc(e)?!0:Ree(e.name)}function B1(e){let t=e.parent;for(;Na(t.parent);)t=t.parent.parent;return t.parent}function Cee(e,t){Na(e)&&(e=B1(e));let r=t(e);return e.kind===260&&(e=e.parent),e&&e.kind===261&&(r|=t(e),e=e.parent),e&&e.kind===243&&(r|=t(e)),r}function gb(e){return Cee(e,Wd)}function wG(e){return Cee(e,Tne)}function Xg(e){return Cee(e,xFe)}function xFe(e){return e.flags}function oye(e,t,r){let i=e.toLowerCase(),o=/^([a-z]+)([_-]([a-z]+))?$/.exec(i);if(!o){r&&r.push(bl(f.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,\"en\",\"ja-jp\"));return}let s=o[1],l=o[3];To(a9,i)&&!d(s,l,r)&&d(s,void 0,r),VZ(e);function d(p,h,m){let v=Yo(t.getExecutingFilePath()),E=Ur(v),S=wr(E,p);if(h&&(S=S+\"-\"+h),S=t.resolvePath(wr(S,\"diagnosticMessages.generated.json\")),!t.fileExists(S))return!1;let A=\"\";try{A=t.readFile(S)}catch{return m&&m.push(bl(f.Unable_to_open_file_0,S)),!1}try{Une(JSON.parse(A))}catch{return m&&m.push(bl(f.Corrupted_locale_file_0,S)),!1}return!0}}function sl(e,t){if(e)for(;e.original!==void 0;)e=e.original;return!e||!t||t(e)?e:void 0}function Rn(e,t){for(;e;){let r=t(e);if(r===\"quit\")return;if(r)return e;e=e.parent}}function eC(e){return(e.flags&16)===0}function uo(e,t){if(e===void 0||eC(e))return e;for(e=e.original;e;){if(eC(e))return!t||t(e)?e:void 0;e=e.original}}function Hs(e){return e.length>=2&&e.charCodeAt(0)===95&&e.charCodeAt(1)===95?\"_\"+e:e}function Ii(e){let t=e;return t.length>=3&&t.charCodeAt(0)===95&&t.charCodeAt(1)===95&&t.charCodeAt(2)===95?t.substr(1):t}function ar(e){return Ii(e.escapedText)}function vb(e){let t=LE(e.escapedText);return t?Vr(t,du):void 0}function $s(e){return e.valueDeclaration&&kd(e.valueDeclaration)?ar(e.valueDeclaration.name):Ii(e.escapedName)}function aye(e){let t=e.parent.parent;if(t){if(bd(t))return WG(t);switch(t.kind){case 243:if(t.declarationList&&t.declarationList.declarations[0])return WG(t.declarationList.declarations[0]);break;case 244:let r=t.expression;switch(r.kind===226&&r.operatorToken.kind===64&&(r=r.left),r.kind){case 211:return r.name;case 212:let i=r.argumentExpression;if(Me(i))return i}break;case 217:return WG(t.expression);case 256:{if(bd(t.statement)||lt(t.statement))return WG(t.statement);break}}}}function WG(e){let t=mo(e);return t&&Me(t)?t:void 0}function zM(e,t){return!!(Ld(e)&&Me(e.name)&&ar(e.name)===ar(t)||cl(e)&&ct(e.declarationList.declarations,r=>zM(r,t)))}function Nee(e){return e.name||aye(e)}function Ld(e){return!!e.name}function M8(e){switch(e.kind){case 80:return e;case 355:case 348:{let{name:r}=e;if(r.kind===166)return r.right;break}case 213:case 226:{let r=e;switch(hl(r)){case 1:case 4:case 5:case 3:return DW(r.left);case 7:case 8:case 9:return r.arguments[1];default:return}}case 353:return Nee(e);case 347:return aye(e);case 277:{let{expression:r}=e;return Me(r)?r:void 0}case 212:let t=e;if(RW(t))return t.argumentExpression}return e.name}function mo(e){if(e!==void 0)return M8(e)||(ps(e)||gs(e)||Dc(e)?L8(e):void 0)}function L8(e){if(e.parent){if(Hl(e.parent)||Na(e.parent))return e.parent.name;if(Zn(e.parent)&&e===e.parent.right){if(Me(e.parent.left))return e.parent.left;if(us(e.parent.left))return DW(e.parent.left)}else if(yi(e.parent)&&Me(e.parent.name))return e.parent.name}else return}function Hv(e){if(Hp(e))return Cr(e.modifiers,Xc)}function kE(e){if(Wr(e,98303))return Cr(e.modifiers,ia)}function sye(e,t){if(e.name)if(Me(e.name)){let r=e.name.escapedText;return GM(e.parent,t).filter(i=>Tm(i)&&Me(i.name)&&i.name.escapedText===r)}else{let r=e.parent.parameters.indexOf(e);x.assert(r>-1,\"Parameters should always be in their parents' parameter list\");let i=GM(e.parent,t).filter(Tm);if(r<i.length)return[i[r]]}return je}function G1(e){return sye(e,!1)}function Pee(e){return sye(e,!0)}function lye(e,t){let r=e.name.escapedText;return GM(e.parent,t).filter(i=>Df(i)&&i.typeParameters.some(o=>o.name.escapedText===r))}function Mee(e){return lye(e,!1)}function Lee(e){return lye(e,!0)}function kee(e){return!!hf(e,Tm)}function Oee(e){return hf(e,_I)}function wee(e){return O8(e,A6)}function FG(e){return hf(e,sie)}function cye(e){return hf(e,Cj)}function Wee(e){return hf(e,Cj,!0)}function dye(e){return hf(e,Nj)}function Fee(e){return hf(e,Nj,!0)}function uye(e){return hf(e,Pj)}function zee(e){return hf(e,Pj,!0)}function pye(e){return hf(e,Mj)}function Bee(e){return hf(e,Mj,!0)}function Gee(e){return hf(e,S6,!0)}function zG(e){return hf(e,Lj)}function Vee(e){return hf(e,Lj,!0)}function BG(e){return hf(e,C2)}function k8(e){return hf(e,kj)}function jee(e){return hf(e,T6)}function fye(e){return hf(e,Df)}function GG(e){return hf(e,I6)}function yb(e){let t=hf(e,gN);if(t&&t.typeExpression&&t.typeExpression.type)return t}function bb(e){let t=hf(e,gN);return!t&&ao(e)&&(t=Dr(G1(e),r=>!!r.typeExpression)),t&&t.typeExpression&&t.typeExpression.type}function BM(e){let t=jee(e);if(t&&t.typeExpression)return t.typeExpression.type;let r=yb(e);if(r&&r.typeExpression){let i=r.typeExpression.type;if(ju(i)){let o=Dr(i.members,iI);return o&&o.type}if(G_(i)||Gx(i))return i.type}}function GM(e,t){var r;if(!CL(e))return je;let i=(r=e.jsDoc)==null?void 0:r.jsDocCache;if(i===void 0||t){let o=W9(e,t);x.assert(o.length<2||o[0]!==o[1]),i=ta(o,s=>Sm(s)?s.tags:s),t||(e.jsDoc??(e.jsDoc=[]),e.jsDoc.jsDocCache=i)}return i}function Eb(e){return GM(e,!1)}function mye(e){return GM(e,!0)}function hf(e,t,r){return Dr(GM(e,r),t)}function O8(e,t){return Eb(e).filter(t)}function _ye(e,t){return Eb(e).filter(r=>r.kind===t)}function VM(e){return typeof e==\"string\"?e:e?.map(t=>t.kind===328?t.text:RFe(t)).join(\"\")}function RFe(e){let t=e.kind===331?\"link\":e.kind===332?\"linkcode\":\"linkplain\",r=e.name?Wu(e.name):\"\",i=e.name&&e.text.startsWith(\"://\")?\"\":\" \";return`{@${t} ${r}${i}${e.text}}`}function qv(e){if(wb(e)){if(Vx(e.parent)){let t=ux(e.parent);if(t&&yn(t.tags))return ta(t.tags,r=>Df(r)?r.typeParameters:void 0)}return je}if(bf(e))return x.assert(e.parent.kind===327),ta(e.parent.tags,t=>Df(t)?t.typeParameters:void 0);if(e.typeParameters||vie(e)&&e.typeParameters)return e.typeParameters;if(Jn(e)){let t=VW(e);if(t.length)return t;let r=bb(e);if(r&&G_(r)&&r.typeParameters)return r.typeParameters}return je}function V1(e){return e.constraint?e.constraint:Df(e.parent)&&e===e.parent.typeParameters[0]?e.parent.constraint:void 0}function hh(e){return e.kind===80||e.kind===81}function w8(e){return e.kind===178||e.kind===177}function W8(e){return Er(e)&&!!(e.flags&64)}function VG(e){return Rs(e)&&!!(e.flags&64)}function gS(e){return Bo(e)&&!!(e.flags&64)}function yd(e){let t=e.kind;return!!(e.flags&64)&&(t===211||t===212||t===213||t===235)}function tC(e){return yd(e)&&!dI(e)&&!!e.questionDotToken}function F8(e){return tC(e.parent)&&e.parent.expression===e}function nC(e){return!yd(e.parent)||tC(e.parent)||e!==e.parent.expression}function jG(e){return e.kind===226&&e.operatorToken.kind===61}function Qh(e){return Yp(e)&&Me(e.typeName)&&e.typeName.escapedText===\"const\"&&!e.typeArguments}function jf(e){return Rl(e,8)}function z8(e){return dI(e)&&!!(e.flags&64)}function rC(e){return e.kind===252||e.kind===251}function UG(e){return e.kind===280||e.kind===279}function Uee(e){switch(e.kind){case 309:case 310:return!0;default:return!1}}function HG(e){return Uee(e)||e.kind===307||e.kind===311}function iC(e){return e.kind===355||e.kind===348}function hye(e){return jM(e.kind)}function jM(e){return e>=166}function qG(e){return e>=0&&e<=165}function xA(e){return qG(e.kind)}function OE(e){return rs(e,\"pos\")&&rs(e,\"end\")}function oC(e){return 9<=e&&e<=15}function wE(e){return oC(e.kind)}function JG(e){switch(e.kind){case 210:case 209:case 14:case 218:case 231:return!0}return!1}function Jv(e){return 15<=e&&e<=18}function Hee(e){return Jv(e.kind)}function B8(e){let t=e.kind;return t===17||t===18}function RA(e){return Iu(e)||Ed(e)}function UM(e){switch(e.kind){case 276:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 274:return e.parent.isTypeOnly;case 273:case 271:return e.isTypeOnly}return!1}function qee(e){switch(e.kind){case 281:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 278:return e.isTypeOnly&&!!e.moduleSpecifier&&!e.exportClause;case 280:return e.parent.isTypeOnly}return!1}function Sb(e){return UM(e)||qee(e)}function KG(e){return e.kind===11||Jv(e.kind)}function Jee(e){return da(e)||Me(e)}function ws(e){var t;return Me(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function vS(e){var t;return Ci(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function HM(e){let t=e.emitNode.autoGenerate.flags;return!!(t&32)&&!!(t&16)&&!!(t&8)}function kd(e){return(xo(e)||CA(e))&&Ci(e.name)}function j1(e){return Er(e)&&Ci(e.name)}function Yg(e){switch(e){case 128:case 129:case 134:case 87:case 138:case 90:case 95:case 103:case 125:case 123:case 124:case 148:case 126:case 147:case 164:return!0}return!1}function aC(e){return!!(GA(e)&31)}function XG(e){return aC(e)||e===126||e===164||e===129}function ia(e){return Yg(e.kind)}function Su(e){let t=e.kind;return t===166||t===80}function kl(e){let t=e.kind;return t===80||t===81||t===11||t===9||t===167}function yS(e){let t=e.kind;return t===80||t===206||t===207}function Lo(e){return!!e&&DA(e.kind)}function U1(e){return!!e&&(DA(e.kind)||nl(e))}function hs(e){return e&&gye(e.kind)}function sC(e){return e.kind===112||e.kind===97}function gye(e){switch(e){case 262:case 174:case 176:case 177:case 178:case 218:case 219:return!0;default:return!1}}function DA(e){switch(e){case 173:case 179:case 330:case 180:case 181:case 184:case 324:case 185:return!0;default:return gye(e)}}function YG(e){return Li(e)||n_(e)||Do(e)&&Lo(e.parent)}function xc(e){let t=e.kind;return t===176||t===172||t===174||t===177||t===178||t===181||t===175||t===240}function Kr(e){return e&&(e.kind===263||e.kind===231)}function Kv(e){return e&&(e.kind===177||e.kind===178)}function su(e){return xo(e)&&$m(e)}function Kee(e){return Jn(e)&&EF(e)?(!UE(e)||!ry(e.expression))&&!NS(e,!0):e.parent&&Kr(e.parent)&&xo(e)&&!$m(e)}function CA(e){switch(e.kind){case 174:case 177:case 178:return!0;default:return!1}}function vye(e){switch(e.kind){case 174:case 177:case 178:case 172:return!0;default:return!1}}function Ws(e){return ia(e)||Xc(e)}function bS(e){let t=e.kind;return t===180||t===179||t===171||t===173||t===181||t===177||t===178}function G8(e){return bS(e)||xc(e)}function Zh(e){let t=e.kind;return t===303||t===304||t===305||t===174||t===177||t===178}function xi(e){return bV(e.kind)}function Xee(e){switch(e.kind){case 184:case 185:return!0}return!1}function ko(e){if(e){let t=e.kind;return t===207||t===206}return!1}function lC(e){let t=e.kind;return t===209||t===210}function V8(e){let t=e.kind;return t===208||t===232}function qM(e){switch(e.kind){case 260:case 169:case 208:return!0}return!1}function Yee(e){return yi(e)||ao(e)||KM(e)||XM(e)}function JM(e){return $G(e)||QG(e)}function $G(e){switch(e.kind){case 206:case 210:return!0}return!1}function KM(e){switch(e.kind){case 208:case 303:case 304:case 305:return!0}return!1}function QG(e){switch(e.kind){case 207:case 209:return!0}return!1}function XM(e){switch(e.kind){case 208:case 232:case 230:case 209:case 210:case 80:case 211:case 212:return!0}return lc(e,!0)}function $ee(e){let t=e.kind;return t===211||t===166||t===205}function Qee(e){let t=e.kind;return t===211||t===166}function ZG(e){return WE(e)||e0(e)}function WE(e){switch(e.kind){case 286:case 285:case 213:case 214:case 215:case 170:return!0;default:return!1}}function Hm(e){return e.kind===213||e.kind===214}function NA(e){let t=e.kind;return t===228||t===15}function Tu(e){return yye(jf(e).kind)}function yye(e){switch(e){case 211:case 212:case 214:case 213:case 284:case 285:case 288:case 215:case 209:case 217:case 210:case 231:case 218:case 80:case 81:case 14:case 9:case 10:case 11:case 15:case 228:case 97:case 106:case 110:case 112:case 108:case 235:case 233:case 236:case 102:case 282:return!0;default:return!1}}function e9(e){return bye(jf(e).kind)}function bye(e){switch(e){case 224:case 225:case 220:case 221:case 222:case 223:case 216:return!0;default:return yye(e)}}function Zee(e){switch(e.kind){case 225:return!0;case 224:return e.operator===46||e.operator===47;default:return!1}}function ete(e){switch(e.kind){case 106:case 112:case 97:case 224:return!0;default:return wE(e)}}function lt(e){return DFe(jf(e).kind)}function DFe(e){switch(e){case 227:case 229:case 219:case 226:case 230:case 234:case 232:case 361:case 360:case 238:return!0;default:return bye(e)}}function ES(e){let t=e.kind;return t===216||t===234}function Eye(e){return Ij(e)||v6(e)}function Xv(e,t){switch(e.kind){case 248:case 249:case 250:case 246:case 247:return!0;case 256:return t&&Xv(e.statement,t)}return!1}function tte(e){return dl(e)||xl(e)}function nte(e){return ct(e,tte)}function j8(e){return!oL(e)&&!dl(e)&&!Wr(e,32)&&!sd(e)}function YM(e){return oL(e)||dl(e)||Wr(e,32)}function H1(e){return e.kind===249||e.kind===250}function U8(e){return Do(e)||lt(e)}function t9(e){return Do(e)}function Up(e){return yc(e)||lt(e)}function rte(e){let t=e.kind;return t===268||t===267||t===80}function Sye(e){let t=e.kind;return t===268||t===267}function Tye(e){let t=e.kind;return t===80||t===267}function n9(e){let t=e.kind;return t===275||t===274}function $M(e){return e.kind===267||e.kind===266}function qm(e){switch(e.kind){case 219:case 226:case 208:case 213:case 179:case 263:case 231:case 175:case 176:case 185:case 180:case 212:case 266:case 306:case 277:case 278:case 281:case 262:case 218:case 184:case 177:case 80:case 273:case 271:case 276:case 181:case 264:case 345:case 347:case 324:case 348:case 355:case 330:case 353:case 329:case 291:case 292:case 293:case 200:case 174:case 173:case 267:case 202:case 280:case 270:case 274:case 214:case 15:case 9:case 210:case 169:case 211:case 303:case 172:case 171:case 178:case 304:case 312:case 305:case 11:case 265:case 187:case 168:case 260:return!0;default:return!1}}function L_(e){switch(e.kind){case 219:case 241:case 179:case 269:case 299:case 175:case 194:case 176:case 185:case 180:case 248:case 249:case 250:case 262:case 218:case 184:case 177:case 181:case 345:case 347:case 324:case 330:case 353:case 200:case 174:case 173:case 267:case 178:case 312:case 265:return!0;default:return!1}}function CFe(e){return e===219||e===208||e===263||e===231||e===175||e===176||e===266||e===306||e===281||e===262||e===218||e===177||e===273||e===271||e===276||e===264||e===291||e===174||e===173||e===267||e===270||e===274||e===280||e===169||e===303||e===172||e===171||e===178||e===304||e===265||e===168||e===260||e===353||e===345||e===355}function ite(e){return e===262||e===282||e===263||e===264||e===265||e===266||e===267||e===272||e===271||e===278||e===277||e===270}function ote(e){return e===252||e===251||e===259||e===246||e===244||e===242||e===249||e===250||e===248||e===245||e===256||e===253||e===255||e===257||e===258||e===243||e===247||e===254||e===359}function bd(e){return e.kind===168?e.parent&&e.parent.kind!==352||Jn(e):CFe(e.kind)}function ate(e){return ite(e.kind)}function QM(e){return ote(e.kind)}function Di(e){let t=e.kind;return ote(t)||ite(t)||NFe(e)}function NFe(e){return e.kind!==241||e.parent!==void 0&&(e.parent.kind===258||e.parent.kind===299)?!1:!VE(e)}function ste(e){let t=e.kind;return ote(t)||ite(t)||t===241}function lte(e){let t=e.kind;return t===283||t===166||t===80}function cC(e){let t=e.kind;return t===110||t===80||t===211||t===295}function ZM(e){let t=e.kind;return t===284||t===294||t===285||t===12||t===288}function H8(e){let t=e.kind;return t===291||t===293}function cte(e){let t=e.kind;return t===11||t===294}function Od(e){let t=e.kind;return t===286||t===285}function q8(e){let t=e.kind;return t===296||t===297}function q1(e){return e.kind>=316&&e.kind<=357}function J8(e){return e.kind===327||e.kind===326||e.kind===328||PA(e)||J1(e)||YS(e)||wb(e)}function J1(e){return e.kind>=334&&e.kind<=357}function $g(e){return e.kind===178}function Yv(e){return e.kind===177}function ap(e){if(!CL(e))return!1;let{jsDoc:t}=e;return!!t&&t.length>0}function K8(e){return!!e.type}function $v(e){return!!e.initializer}function SS(e){switch(e.kind){case 260:case 169:case 208:case 172:case 303:case 306:return!0;default:return!1}}function r9(e){return e.kind===291||e.kind===293||Zh(e)}function X8(e){return e.kind===183||e.kind===233}function dte(e){let t=ute;for(let r of e){if(!r.length)continue;let i=0;for(;i<r.length&&i<t&&$h(r.charCodeAt(i));i++);if(i<t&&(t=i),t===0)return 0}return t===ute?void 0:t}function Ga(e){return e.kind===11||e.kind===15}function PA(e){return e.kind===331||e.kind===332||e.kind===333}function i9(e){let t=Ns(e.parameters);return!!t&&gh(t)}function gh(e){let t=Tm(e)?e.typeExpression&&e.typeExpression.type:e.type;return e.dotDotDotToken!==void 0||!!t&&t.kind===325}function Aye(e,t){return t.text.substring(e.pos,e.end).includes(\"@internal\")}function o9(e,t){t??(t=Nn(e));let r=uo(e);if(r&&r.kind===169){let o=r.parent.parameters.indexOf(r),s=o>0?r.parent.parameters[o-1]:void 0,l=t.text,d=s?ro(mb(l,pa(l,s.end+1,!1,!0)),mh(l,e.pos)):mb(l,pa(l,e.pos,!1,!0));return ct(d)&&Aye(Da(d),t)}let i=r&&A9(r,t);return!!an(i,o=>Aye(o,t))}var eL,a9,ute,PFe=pt({\"src/compiler/utilitiesPublic.ts\"(){\"use strict\";wo(),eL=FM(qc(0,0),0),a9=[\"cs\",\"de\",\"es\",\"fr\",\"it\",\"ja\",\"ko\",\"pl\",\"pt-br\",\"ru\",\"tr\",\"zh-cn\",\"zh-tw\"],ute=1073741823}});function Vs(e,t){let r=e.declarations;if(r){for(let i of r)if(i.kind===t)return i}}function pte(e,t){return Cr(e.declarations||je,r=>r.kind===t)}function Vo(e){let t=new Map;if(e)for(let r of e)t.set(r.escapedName,r);return t}function k_(e){return(e.flags&33554432)!==0}function MFe(){var e=\"\";let t=r=>e+=r;return{getText:()=>e,write:t,rawWrite:t,writeKeyword:t,writeOperator:t,writePunctuation:t,writeSpace:t,writeStringLiteral:t,writeLiteral:t,writeParameter:t,writeProperty:t,writeSymbol:(r,i)=>t(r),writeTrailingSemicolon:t,writeComment:t,getTextPos:()=>e.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!e.length&&$h(e.charCodeAt(e.length-1)),writeLine:()=>e+=\" \",increaseIndent:Ca,decreaseIndent:Ca,clear:()=>e=\"\"}}function Y8(e,t){return e.configFilePath!==t.configFilePath||fte(e,t)}function fte(e,t){return K1(e,t,V6)}function mte(e,t){return K1(e,t,_U)}function K1(e,t,r){return e!==t&&r.some(i=>!_F(iF(e,i),iF(t,i)))}function _te(e,t){for(;;){let r=t(e);if(r===\"quit\")return;if(r!==void 0)return r;if(Li(e))return;e=e.parent}}function hc(e,t){let r=e.entries();for(let[i,o]of r){let s=t(o,i);if(s)return s}}function O_(e,t){let r=e.keys();for(let i of r){let o=t(i);if(o)return o}}function $8(e,t){e.forEach((r,i)=>{t.set(i,r)})}function dC(e){let t=o2.getText();try{return e(o2),o2.getText()}finally{o2.clear(),o2.writeKeyword(t)}}function tL(e){return e.end-e.pos}function s9(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular}function hte(e,t){return e===t||e.resolvedModule===t.resolvedModule||!!e.resolvedModule&&!!t.resolvedModule&&e.resolvedModule.isExternalLibraryImport===t.resolvedModule.isExternalLibraryImport&&e.resolvedModule.extension===t.resolvedModule.extension&&e.resolvedModule.resolvedFileName===t.resolvedModule.resolvedFileName&&e.resolvedModule.originalPath===t.resolvedModule.originalPath&&LFe(e.resolvedModule.packageId,t.resolvedModule.packageId)&&e.alternateResult===t.alternateResult}function Q8(e,t,r,i,o){var s;let l=(s=t.getResolvedModule(e,r,i))==null?void 0:s.alternateResult,d=l&&(zd(t.getCompilerOptions())===2?[f.There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setting_Consider_updating_to_node16_nodenext_or_bundler,[l]]:[f.There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings,[l,l.includes(q_+\"@types/\")?`@types/${tR(o)}`:o]]),p=d?So(void 0,d[0],...d[1]):t.typesPackageExists(o)?So(void 0,f.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,o,tR(o)):t.packageBundlesTypes(o)?So(void 0,f.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1,o,r):So(void 0,f.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,r,tR(o));return p&&(p.repopulateInfo=()=>({moduleReference:r,mode:i,packageName:o===r?void 0:o})),p}function LFe(e,t){return e===t||!!e&&!!t&&e.name===t.name&&e.subModuleName===t.subModuleName&&e.version===t.version}function Z8({name:e,subModuleName:t}){return t?`${e}/${t}`:e}function Qv(e){return`${Z8(e)}@${e.version}`}function gte(e,t){return e===t||e.resolvedTypeReferenceDirective===t.resolvedTypeReferenceDirective||!!e.resolvedTypeReferenceDirective&&!!t.resolvedTypeReferenceDirective&&e.resolvedTypeReferenceDirective.resolvedFileName===t.resolvedTypeReferenceDirective.resolvedFileName&&!!e.resolvedTypeReferenceDirective.primary==!!t.resolvedTypeReferenceDirective.primary&&e.resolvedTypeReferenceDirective.originalPath===t.resolvedTypeReferenceDirective.originalPath}function l9(e,t,r,i){x.assert(e.length===t.length);for(let o=0;o<e.length;o++){let s=t[o],l=e[o],d=r(l);if(d?!s||!i(d,s):s)return!0}return!1}function X1(e){return kFe(e),(e.flags&1048576)!==0}function kFe(e){e.flags&2097152||((e.flags&262144||Ao(e,X1))&&(e.flags|=1048576),e.flags|=2097152)}function Nn(e){for(;e&&e.kind!==312;)e=e.parent;return e}function eW(e){return Nn(e.valueDeclaration||h9(e))}function nL(e,t){return!!e&&(e.scriptKind===1||e.scriptKind===2)&&!e.checkJsDirective&&t===void 0}function vte(e){switch(e.kind){case 241:case 269:case 248:case 249:case 250:return!0}return!1}function Zv(e,t){return x.assert(e>=0),Yh(t)[e]}function Iye(e){let t=Nn(e),r=$a(t,e.pos);return`${t.fileName}(${r.line+1},${r.character+1})`}function rL(e,t){x.assert(e>=0);let r=Yh(t),i=e,o=t.text;if(i+1===r.length)return o.length-1;{let s=r[i],l=r[i+1]-1;for(x.assert(vd(o.charCodeAt(l)));s<=l&&vd(o.charCodeAt(l));)l--;return l}}function tW(e,t,r){return!(r&&r(t))&&!e.identifiers.has(t)}function _l(e){return e===void 0?!0:e.pos===e.end&&e.pos>=0&&e.kind!==1}function gf(e){return!_l(e)}function yte(e,t){return qs(e)?t===e.expression:nl(e)?t===e.modifiers:Gu(e)?t===e.initializer:xo(e)?t===e.questionToken&&su(e):Hl(e)?t===e.modifiers||t===e.questionToken||t===e.exclamationToken||iL(e.modifiers,t,Ws):xu(e)?t===e.equalsToken||t===e.modifiers||t===e.questionToken||t===e.exclamationToken||iL(e.modifiers,t,Ws):El(e)?t===e.exclamationToken:ll(e)?t===e.typeParameters||t===e.type||iL(e.typeParameters,t,qs):Ip(e)?t===e.typeParameters||iL(e.typeParameters,t,qs):Vu(e)?t===e.typeParameters||t===e.type||iL(e.typeParameters,t,qs):D2(e)?t===e.modifiers||iL(e.modifiers,t,Ws):!1}function iL(e,t,r){return!e||oo(t)||!r(t)?!1:To(e,t)}function xye(e,t,r){if(t===void 0||t.length===0)return e;let i=0;for(;i<e.length&&r(e[i]);++i);return e.splice(i,0,...t),e}function Rye(e,t,r){if(t===void 0)return e;let i=0;for(;i<e.length&&r(e[i]);++i);return e.splice(i,0,t),e}function Dye(e){return Hf(e)||!!(ba(e)&2097152)}function vh(e,t){return xye(e,t,Hf)}function c9(e,t){return xye(e,t,Dye)}function Cye(e,t){return Rye(e,t,Hf)}function TS(e,t){return Rye(e,t,Dye)}function d9(e,t,r){if(e.charCodeAt(t+1)===47&&t+2<r&&e.charCodeAt(t+2)===47){let i=e.substring(t,r);return!!(BV.test(i)||GV.test(i)||hbe.test(i)||mbe.test(i)||_be.test(i)||gbe.test(i))}return!1}function nW(e,t){return e.charCodeAt(t+1)===42&&e.charCodeAt(t+2)===33}function bte(e,t){let r=new Map(t.map(l=>[`${$a(e,l.range.end).line}`,l])),i=new Map;return{getUnusedExpectations:o,markUsed:s};function o(){return bo(r.entries()).filter(([l,d])=>d.type===0&&!i.get(l)).map(([l,d])=>d)}function s(l){return r.has(`${l}`)?(i.set(`${l}`,!0),!0):!1}}function Tb(e,t,r){return _l(e)?e.pos:q1(e)||e.kind===12?pa((t||Nn(e)).text,e.pos,!1,!0):r&&ap(e)?Tb(e.jsDoc[0],t):e.kind===358&&e._children.length>0?Tb(e._children[0],t,r):pa((t||Nn(e)).text,e.pos,!1,!1,hL(e))}function u9(e,t){let r=!_l(e)&&Yf(e)?hA(e.modifiers,Xc):void 0;return r?pa((t||Nn(e)).text,r.end):Tb(e,t)}function FE(e,t,r=!1){return uC(e.text,t,r)}function OFe(e){return!!Rn(e,f0)}function rW(e){return!!(xl(e)&&e.exportClause&&j_(e.exportClause)&&e.exportClause.name.escapedText===\"default\")}function uC(e,t,r=!1){if(_l(t))return\"\";let i=e.substring(r?t.pos:pa(e,t.pos),t.end);return OFe(t)&&(i=i.split(/\\r\\n|\\n|\\r/).map(o=>o.replace(/^\\s*\\*/,\"\").trimStart()).join(`\n`)),i}function Vl(e,t=!1){return FE(Nn(e),e,t)}function wFe(e){return e.pos}function Y1(e,t){return Vg(e,t,wFe,Ms)}function ba(e){let t=e.emitNode;return t&&t.flags||0}function Uf(e){let t=e.emitNode;return t&&t.internalFlags||0}function Ete(e,t,r){if(t&&WFe(e,r))return FE(t,e);switch(e.kind){case 11:{let i=r&2?tV:r&1||ba(e)&16777216?Th:BL;return e.singleQuote?\"'\"+i(e.text,39)+\"'\":'\"'+i(e.text,34)+'\"'}case 15:case 16:case 17:case 18:{let i=r&1||ba(e)&16777216?Th:BL,o=e.rawText??Z9(i(e.text,96));switch(e.kind){case 15:return\"`\"+o+\"`\";case 16:return\"`\"+o+\"${\";case 17:return\"}\"+o+\"${\";case 18:return\"}\"+o+\"`\"}break}case 9:case 10:return e.text;case 14:return r&4&&e.isUnterminated?e.text+(e.text.charCodeAt(e.text.length-1)===92?\" /\":\"/\"):e.text}return x.fail(`Literal kind '${e.kind}' not accounted for.`)}function WFe(e,t){if(xs(e)||!e.parent||t&4&&e.isUnterminated)return!1;if(Bu(e)){if(e.numericLiteralFlags&26656)return!1;if(e.numericLiteralFlags&512)return!!(t&8)}return!c6(e)}function Ste(e){return fo(e)?'\"'+BL(e)+'\"':\"\"+e}function Tte(e){return Ll(e).replace(/^(\\d)/,\"_$1\").replace(/\\W/g,\"_\")}function p9(e){return(Xg(e)&7)!==0||f9(e)}function f9(e){let t=Ym(e);return t.kind===260&&t.parent.kind===299}function sd(e){return Il(e)&&(e.name.kind===11||Jm(e))}function iW(e){return Il(e)&&e.name.kind===11}function m9(e){return Il(e)&&da(e.name)}function Ate(e){return Il(e)||Me(e)}function pC(e){return FFe(e.valueDeclaration)}function FFe(e){return!!e&&e.kind===267&&!e.body}function Ite(e){return e.kind===312||e.kind===267||U1(e)}function Jm(e){return!!(e.flags&2048)}function zE(e){return sd(e)&&_9(e)}function _9(e){switch(e.parent.kind){case 312:return wl(e.parent);case 268:return sd(e.parent.parent)&&Li(e.parent.parent.parent)&&!wl(e.parent.parent.parent)}return!1}function h9(e){var t;return(t=e.declarations)==null?void 0:t.find(r=>!zE(r)&&!(Il(r)&&Jm(r)))}function zFe(e){return e===1||e===100||e===199}function MA(e,t){return wl(e)||zFe(ld(t))&&!!e.commonJsModuleIndicator}function g9(e,t){switch(e.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return e.isDeclarationFile?!1:Fd(t,\"alwaysStrict\")||mie(e.statements)?!0:wl(e)||xf(t)?ld(t)>=5?!0:!t.noImplicitUseStrict:!1}function v9(e){return!!(e.flags&33554432)||Wr(e,128)}function y9(e,t){switch(e.kind){case 312:case 269:case 299:case 267:case 248:case 249:case 250:case 176:case 174:case 177:case 178:case 262:case 218:case 219:case 172:case 175:return!0;case 241:return!U1(t)}return!1}function b9(e){switch(x.type(e),e.kind){case 345:case 353:case 330:return!0;default:return E9(e)}}function E9(e){switch(x.type(e),e.kind){case 179:case 180:case 173:case 181:case 184:case 185:case 324:case 263:case 231:case 264:case 265:case 352:case 262:case 174:case 176:case 177:case 178:case 218:case 219:return!0;default:return!1}}function AS(e){switch(e.kind){case 272:case 271:return!0;default:return!1}}function xte(e){return AS(e)||jE(e)}function oW(e){switch(e.kind){case 272:case 271:case 243:case 263:case 262:case 267:case 265:case 264:case 266:return!0;default:return!1}}function Rte(e){return oL(e)||Il(e)||Dh(e)||lp(e)}function oL(e){return AS(e)||xl(e)}function S9(e){return Rn(e.parent,t=>!!(kU(t)&1))}function w_(e){return Rn(e.parent,t=>y9(t,t.parent))}function Dte(e,t){let r=w_(e);for(;r;)t(r),r=w_(r)}function is(e){return!e||tL(e)===0?\"(Missing)\":Vl(e)}function Cte(e){return e.declaration?is(e.declaration.parameters[0].name):void 0}function aL(e){return e.kind===167&&!Ap(e.expression)}function fC(e){var t;switch(e.kind){case 80:case 81:return(t=e.emitNode)!=null&&t.autoGenerate?void 0:e.escapedText;case 11:case 9:case 15:return Hs(e.text);case 167:return Ap(e.expression)?Hs(e.expression.text):void 0;case 295:return JA(e);default:return x.assertNever(e)}}function $1(e){return x.checkDefined(fC(e))}function Wu(e){switch(e.kind){case 110:return\"this\";case 81:case 80:return tL(e)===0?ar(e):Vl(e);case 166:return Wu(e.left)+\".\"+Wu(e.right);case 211:return Me(e.name)||Ci(e.name)?Wu(e.expression)+\".\"+Wu(e.name):x.assertNever(e.name);case 318:return Wu(e.left)+Wu(e.right);case 295:return Wu(e.namespace)+\":\"+Wu(e.name);default:return x.assertNever(e)}}function vr(e,t,...r){let i=Nn(e);return vf(i,e,t,...r)}function Q1(e,t,r,...i){let o=pa(e.text,t.pos);return Rc(e,o,t.end-o,r,...i)}function vf(e,t,r,...i){let o=IS(e,t);return Rc(e,o.start,o.length,r,...i)}function eg(e,t,r,i){let o=IS(e,t);return aW(e,o.start,o.length,r,i)}function sL(e,t,r,i){let o=pa(e.text,t.pos);return aW(e,o,t.end-o,r,i)}function Nte(e,t,r){x.assertGreaterThanOrEqual(t,0),x.assertGreaterThanOrEqual(r,0),x.assertLessThanOrEqual(t,e.length),x.assertLessThanOrEqual(t+r,e.length)}function aW(e,t,r,i,o){return Nte(e.text,t,r),{file:e,start:t,length:r,code:i.code,category:i.category,messageText:i.next?i:i.messageText,relatedInformation:o}}function T9(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}}function Pte(e){return typeof e.messageText==\"string\"?{code:e.code,category:e.category,messageText:e.messageText,next:e.next}:e.messageText}function Mte(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}}function W_(e,t){let r=Kg(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);r.scan();let i=r.getTokenStart();return Gl(i,r.getTokenEnd())}function Lte(e,t){let r=Kg(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);return r.scan(),r.getToken()}function BFe(e,t){let r=pa(e.text,t.pos);if(t.body&&t.body.kind===241){let{line:i}=$a(e,t.body.pos),{line:o}=$a(e,t.body.end);if(i<o)return qc(r,rL(i,e)-r+1)}return Gl(r,t.end)}function IS(e,t){let r=t;switch(t.kind){case 312:{let s=pa(e.text,0,!1);return s===e.text.length?qc(0,0):W_(e,s)}case 260:case 208:case 263:case 231:case 264:case 267:case 266:case 306:case 262:case 218:case 174:case 177:case 178:case 265:case 172:case 171:case 274:r=t.name;break;case 219:return BFe(e,t);case 296:case 297:{let s=pa(e.text,t.pos),l=t.statements.length>0?t.statements[0].pos:t.end;return Gl(s,l)}case 253:case 229:{let s=pa(e.text,t.pos);return W_(e,s)}case 238:{let s=pa(e.text,t.expression.end);return W_(e,s)}case 357:{let s=pa(e.text,t.tagName.pos);return W_(e,s)}}if(r===void 0)return W_(e,t.pos);x.assert(!Sm(r));let i=_l(r),o=i||ZA(t)?r.pos:pa(e.text,r.pos);return i?(x.assert(o===r.pos,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\"),x.assert(o===r.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\")):(x.assert(o>=r.pos,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\"),x.assert(o<=r.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\")),Gl(o,r.end)}function sp(e){return(e.externalModuleIndicator||e.commonJsModuleIndicator)!==void 0}function yf(e){return e.scriptKind===6}function BE(e){return!!(gb(e)&4096)}function sW(e){return!!(gb(e)&8&&!wu(e,e.parent))}function lL(e){return(Xg(e)&7)===6}function cL(e){return(Xg(e)&7)===4}function Z1(e){return(Xg(e)&7)===2}function lW(e){return(Xg(e)&7)===1}function xS(e){return e.kind===213&&e.expression.kind===108}function lp(e){return e.kind===213&&e.expression.kind===102}function ex(e){return cN(e)&&e.keywordToken===102&&e.name.escapedText===\"meta\"}function ey(e){return Dh(e)&&uy(e.argument)&&da(e.argument.literal)}function Hf(e){return e.kind===244&&e.expression.kind===11}function dL(e){return!!(ba(e)&2097152)}function cW(e){return dL(e)&&Ql(e)}function GFe(e){return Me(e.name)&&!e.initializer}function dW(e){return dL(e)&&cl(e)&&ji(e.declarationList.declarations,GFe)}function A9(e,t){return e.kind!==12?mh(t.text,e.pos):void 0}function I9(e,t){let r=e.kind===169||e.kind===168||e.kind===218||e.kind===219||e.kind===217||e.kind===260||e.kind===281?ro(mb(t,e.pos),mh(t,e.pos)):mh(t,e.pos);return Cr(r,i=>t.charCodeAt(i.pos+1)===42&&t.charCodeAt(i.pos+2)===42&&t.charCodeAt(i.pos+3)!==47)}function yh(e){if(182<=e.kind&&e.kind<=205)return!0;switch(e.kind){case 133:case 159:case 150:case 163:case 154:case 136:case 155:case 151:case 157:case 106:case 146:return!0;case 116:return e.parent.kind!==222;case 233:return Nye(e);case 168:return e.parent.kind===200||e.parent.kind===195;case 80:(e.parent.kind===166&&e.parent.right===e||e.parent.kind===211&&e.parent.name===e)&&(e=e.parent),x.assert(e.kind===80||e.kind===166||e.kind===211,\"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.\");case 166:case 211:case 110:{let{parent:t}=e;if(t.kind===186)return!1;if(t.kind===205)return!t.isTypeOf;if(182<=t.kind&&t.kind<=205)return!0;switch(t.kind){case 233:return Nye(t);case 168:return e===t.constraint;case 352:return e===t.constraint;case 172:case 171:case 169:case 260:return e===t.type;case 262:case 218:case 219:case 176:case 174:case 173:case 177:case 178:return e===t.type;case 179:case 180:case 181:return e===t.type;case 216:return e===t.type;case 213:case 214:case 215:return To(t.typeArguments,e)}}}return!1}function Nye(e){return A6(e.parent)||_I(e.parent)||xp(e.parent)&&!HW(e)}function Pye(e,t){for(;e;){if(e.kind===t)return!0;e=e.parent}return!1}function GE(e,t){return r(e);function r(i){switch(i.kind){case 253:return t(i);case 269:case 241:case 245:case 246:case 247:case 248:case 249:case 250:case 254:case 255:case 296:case 297:case 256:case 258:case 299:return Ao(i,r)}}}function kte(e,t){return r(e);function r(i){switch(i.kind){case 229:t(i);let o=i.expression;o&&r(o);return;case 266:case 264:case 267:case 265:return;default:if(Lo(i)){if(i.name&&i.name.kind===167){r(i.name.expression);return}}else yh(i)||Ao(i,r)}}}function x9(e){return e&&e.kind===188?e.elementType:e&&e.kind===183?R_(e.typeArguments):void 0}function Ote(e){switch(e.kind){case 264:case 263:case 231:case 187:return e.members;case 210:return e.properties}}function tx(e){if(e)switch(e.kind){case 208:case 306:case 169:case 303:case 172:case 171:case 304:case 260:return!0}return!1}function wte(e){return tx(e)||Kv(e)}function mC(e){return e.parent.kind===261&&e.parent.parent.kind===243}function Wte(e){return Jn(e)?ma(e.parent)&&Zn(e.parent.parent)&&hl(e.parent.parent)===2||uW(e.parent):!1}function uW(e){return Jn(e)?Zn(e)&&hl(e)===1:!1}function Fte(e){return(yi(e)?Z1(e)&&Me(e.name)&&mC(e):xo(e)?NC(e)&&jl(e):Gu(e)&&NC(e))||uW(e)}function zte(e){switch(e.kind){case 174:case 173:case 176:case 177:case 178:case 262:case 218:return!0}return!1}function R9(e,t){for(;;){if(t&&t(e),e.statement.kind!==256)return e.statement;e=e.statement}}function VE(e){return e&&e.kind===241&&Lo(e.parent)}function qf(e){return e&&e.kind===174&&e.parent.kind===210}function pW(e){return(e.kind===174||e.kind===177||e.kind===178)&&(e.parent.kind===210||e.parent.kind===231)}function Bte(e){return e&&e.kind===1}function Mye(e){return e&&e.kind===0}function nx(e,t,r,i){return an(e?.properties,o=>{if(!Hl(o))return;let s=fC(o.name);return t===s||i&&i===s?r(o):void 0})}function Gte(e,t,r){return nx(e,t,i=>Bd(i.initializer)?Dr(i.initializer.elements,o=>da(o)&&o.text===r):void 0)}function _C(e){if(e&&e.statements.length){let t=e.statements[0].expression;return Vr(t,ma)}}function fW(e,t,r){return uL(e,t,i=>Bd(i.initializer)?Dr(i.initializer.elements,o=>da(o)&&o.text===r):void 0)}function uL(e,t,r){return nx(_C(e),t,r)}function cp(e){return Rn(e.parent,Lo)}function Vte(e){return Rn(e.parent,hs)}function Oc(e){return Rn(e.parent,Kr)}function jte(e){return Rn(e.parent,t=>Kr(t)||Lo(t)?\"quit\":nl(t))}function mW(e){return Rn(e.parent,U1)}function _W(e){let t=Rn(e.parent,r=>Kr(r)?\"quit\":Xc(r));return t&&Kr(t.parent)?Oc(t.parent):Oc(t??e)}function lu(e,t,r){for(x.assert(e.kind!==312);;){if(e=e.parent,!e)return x.fail();switch(e.kind){case 167:if(r&&Kr(e.parent.parent))return e;e=e.parent.parent;break;case 170:e.parent.kind===169&&xc(e.parent.parent)?e=e.parent.parent:xc(e.parent)&&(e=e.parent);break;case 219:if(!t)continue;case 262:case 218:case 267:case 175:case 172:case 171:case 174:case 173:case 176:case 177:case 178:case 179:case 180:case 181:case 266:case 312:return e}}}function Ute(e){switch(e.kind){case 219:case 262:case 218:case 172:return!0;case 241:switch(e.parent.kind){case 176:case 174:case 177:case 178:return!0;default:return!1}default:return!1}}function hW(e){Me(e)&&(Zl(e.parent)||Ql(e.parent))&&e.parent.name===e&&(e=e.parent);let t=lu(e,!0,!1);return Li(t)}function Hte(e){let t=lu(e,!1,!1);if(t)switch(t.kind){case 176:case 262:case 218:return t}}function pL(e,t){for(;;){if(e=e.parent,!e)return;switch(e.kind){case 167:e=e.parent;break;case 262:case 218:case 219:if(!t)continue;case 172:case 171:case 174:case 173:case 176:case 177:case 178:case 175:return e;case 170:e.parent.kind===169&&xc(e.parent.parent)?e=e.parent.parent:xc(e.parent)&&(e=e.parent);break}}}function RS(e){if(e.kind===218||e.kind===219){let t=e,r=e.parent;for(;r.kind===217;)t=r,r=r.parent;if(r.kind===213&&r.expression===t)return r}}function Lye(e){return e.kind===108||cu(e)}function cu(e){let t=e.kind;return(t===211||t===212)&&e.expression.kind===108}function fL(e){let t=e.kind;return(t===211||t===212)&&e.expression.kind===110}function gW(e){var t;return!!e&&yi(e)&&((t=e.initializer)==null?void 0:t.kind)===110}function qte(e){return!!e&&(xu(e)||Hl(e))&&Zn(e.parent.parent)&&e.parent.parent.operatorToken.kind===64&&e.parent.parent.right.kind===110}function mL(e){switch(e.kind){case 183:return e.typeName;case 233:return gl(e.expression)?e.expression:void 0;case 80:case 166:return e}}function vW(e){switch(e.kind){case 215:return e.tag;case 286:case 285:return e.tagName;case 226:return e.right;default:return e.expression}}function yW(e,t,r,i){if(e&&Ld(t)&&Ci(t.name))return!1;switch(t.kind){case 263:return!0;case 231:return!e;case 172:return r!==void 0&&(e?Zl(r):Kr(r)&&!$E(t)&&!sV(t));case 177:case 178:case 174:return t.body!==void 0&&r!==void 0&&(e?Zl(r):Kr(r));case 169:return e?r!==void 0&&r.body!==void 0&&(r.kind===176||r.kind===174||r.kind===178)&&KE(r)!==t&&i!==void 0&&i.kind===263:!1}return!1}function rx(e,t,r,i){return Hp(t)&&yW(e,t,r,i)}function _L(e,t,r,i){return rx(e,t,r,i)||hC(e,t,r)}function hC(e,t,r){switch(t.kind){case 263:return ct(t.members,i=>_L(e,i,t,r));case 231:return!e&&ct(t.members,i=>_L(e,i,t,r));case 174:case 178:case 176:return ct(t.parameters,i=>rx(e,i,t,r));default:return!1}}function Qg(e,t){if(rx(e,t))return!0;let r=Ah(t);return!!r&&hC(e,r,t)}function D9(e,t,r){let i;if(Kv(t)){let{firstAccessor:o,secondAccessor:s,setAccessor:l}=wS(r.members,t),d=Hp(o)?o:s&&Hp(s)?s:void 0;if(!d||t!==d)return!1;i=l?.parameters}else El(t)&&(i=t.parameters);if(rx(e,t,r))return!0;if(i){for(let o of i)if(!XE(o)&&rx(e,o,t,r))return!0}return!1}function C9(e){if(e.textSourceNode){switch(e.textSourceNode.kind){case 11:return C9(e.textSourceNode);case 15:return e.text===\"\"}return!1}return e.text===\"\"}function ix(e){let{parent:t}=e;return t.kind===286||t.kind===285||t.kind===287?t.tagName===e:!1}function bh(e){switch(e.kind){case 108:case 106:case 112:case 97:case 14:case 209:case 210:case 211:case 212:case 213:case 214:case 215:case 234:case 216:case 238:case 235:case 217:case 218:case 231:case 219:case 222:case 220:case 221:case 224:case 225:case 226:case 227:case 230:case 228:case 232:case 284:case 285:case 288:case 229:case 223:case 236:return!0;case 233:return!xp(e.parent)&&!_I(e.parent);case 166:for(;e.parent.kind===166;)e=e.parent;return e.parent.kind===186||PA(e.parent)||hN(e.parent)||Ob(e.parent)||ix(e);case 318:for(;Ob(e.parent);)e=e.parent;return e.parent.kind===186||PA(e.parent)||hN(e.parent)||Ob(e.parent)||ix(e);case 81:return Zn(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===103;case 80:if(e.parent.kind===186||PA(e.parent)||hN(e.parent)||Ob(e.parent)||ix(e))return!0;case 9:case 10:case 11:case 15:case 110:return bW(e);default:return!1}}function bW(e){let{parent:t}=e;switch(t.kind){case 260:case 169:case 172:case 171:case 306:case 303:case 208:return t.initializer===e;case 244:case 245:case 246:case 247:case 253:case 254:case 255:case 296:case 257:return t.expression===e;case 248:let r=t;return r.initializer===e&&r.initializer.kind!==261||r.condition===e||r.incrementor===e;case 249:case 250:let i=t;return i.initializer===e&&i.initializer.kind!==261||i.expression===e;case 216:case 234:return e===t.expression;case 239:return e===t.expression;case 167:return e===t.expression;case 170:case 294:case 293:case 305:return!0;case 233:return t.expression===e&&!yh(t);case 304:return t.objectAssignmentInitializer===e;case 238:return e===t.expression;default:return bh(t)}}function EW(e){for(;e.kind===166||e.kind===80;)e=e.parent;return e.kind===186}function Jte(e){return j_(e)&&!!e.parent.moduleSpecifier}function Ab(e){return e.kind===271&&e.moduleReference.kind===283}function gC(e){return x.assert(Ab(e)),e.moduleReference.expression}function N9(e){return jE(e)&&Tx(e.initializer).arguments[0]}function ox(e){return e.kind===271&&e.moduleReference.kind!==283}function wd(e){return Jn(e)}function kye(e){return!Jn(e)}function Jn(e){return!!e&&!!(e.flags&524288)}function SW(e){return!!e&&!!(e.flags&134217728)}function P9(e){return!yf(e)}function hL(e){return!!e&&!!(e.flags&16777216)}function TW(e){return Yp(e)&&Me(e.typeName)&&e.typeName.escapedText===\"Object\"&&e.typeArguments&&e.typeArguments.length===2&&(e.typeArguments[0].kind===154||e.typeArguments[0].kind===150)}function Xd(e,t){if(e.kind!==213)return!1;let{expression:r,arguments:i}=e;if(r.kind!==80||r.escapedText!==\"require\"||i.length!==1)return!1;let o=i[0];return!t||Ga(o)}function AW(e){return Oye(e,!1)}function jE(e){return Oye(e,!0)}function Kte(e){return Na(e)&&jE(e.parent.parent)}function Oye(e,t){return yi(e)&&!!e.initializer&&Xd(t?Tx(e.initializer):e.initializer,!0)}function M9(e){return cl(e)&&e.declarationList.declarations.length>0&&ji(e.declarationList.declarations,t=>AW(t))}function gL(e){return e===39||e===34}function IW(e,t){return FE(t,e).charCodeAt(0)===34}function vC(e){return Zn(e)||us(e)||Me(e)||Bo(e)}function vL(e){return Jn(e)&&e.initializer&&Zn(e.initializer)&&(e.initializer.operatorToken.kind===57||e.initializer.operatorToken.kind===61)&&e.name&&gl(e.name)&&ax(e.name,e.initializer.left)?e.initializer.right:e.initializer}function yL(e){let t=vL(e);return t&&Ib(t,ry(e.name))}function VFe(e,t){return an(e.properties,r=>Hl(r)&&Me(r.name)&&r.name.escapedText===\"value\"&&r.initializer&&Ib(r.initializer,t))}function LA(e){if(e&&e.parent&&Zn(e.parent)&&e.parent.operatorToken.kind===64){let t=ry(e.parent.left);return Ib(e.parent.right,t)||jFe(e.parent.left,e.parent.right,t)}if(e&&Bo(e)&&CS(e)){let t=VFe(e.arguments[2],e.arguments[1].text===\"prototype\");if(t)return t}}function Ib(e,t){if(Bo(e)){let r=Ka(e.expression);return r.kind===218||r.kind===219?e:void 0}if(e.kind===218||e.kind===231||e.kind===219||ma(e)&&(e.properties.length===0||t))return e}function jFe(e,t,r){let i=Zn(t)&&(t.operatorToken.kind===57||t.operatorToken.kind===61)&&Ib(t.right,r);if(i&&ax(e,t.left))return i}function Xte(e){let t=yi(e.parent)?e.parent.name:Zn(e.parent)&&e.parent.operatorToken.kind===64?e.parent.left:void 0;return t&&Ib(e.right,ry(t))&&gl(t)&&ax(t,e.left)}function L9(e){if(Zn(e.parent)){let t=(e.parent.operatorToken.kind===57||e.parent.operatorToken.kind===61)&&Zn(e.parent.parent)?e.parent.parent:e.parent;if(t.operatorToken.kind===64&&Me(t.left))return t.left}else if(yi(e.parent))return e.parent.name}function ax(e,t){return Xm(e)&&Xm(t)?Ef(e)===Ef(t):hh(e)&&xW(t)&&(t.expression.kind===110||Me(t.expression)&&(t.expression.escapedText===\"window\"||t.expression.escapedText===\"self\"||t.expression.escapedText===\"global\"))?ax(e,SL(t)):xW(e)&&xW(t)?tg(e)===tg(t)&&ax(e.expression,t.expression):!1}function bL(e){for(;lc(e,!0);)e=e.right;return e}function DS(e){return Me(e)&&e.escapedText===\"exports\"}function k9(e){return Me(e)&&e.escapedText===\"module\"}function Eh(e){return(Er(e)||EL(e))&&k9(e.expression)&&tg(e)===\"exports\"}function hl(e){let t=UFe(e);return t===5||Jn(e)?t:0}function CS(e){return yn(e.arguments)===3&&Er(e.expression)&&Me(e.expression.expression)&&ar(e.expression.expression)===\"Object\"&&ar(e.expression.name)===\"defineProperty\"&&Ap(e.arguments[1])&&NS(e.arguments[0],!0)}function xW(e){return Er(e)||EL(e)}function EL(e){return Rs(e)&&Ap(e.argumentExpression)}function UE(e,t){return Er(e)&&(!t&&e.expression.kind===110||Me(e.name)&&NS(e.expression,!0))||RW(e,t)}function RW(e,t){return EL(e)&&(!t&&e.expression.kind===110||gl(e.expression)||UE(e.expression,!0))}function NS(e,t){return gl(e)||UE(e,t)}function SL(e){return Er(e)?e.name:e.argumentExpression}function UFe(e){if(Bo(e)){if(!CS(e))return 0;let t=e.arguments[0];return DS(t)||Eh(t)?8:UE(t)&&tg(t)===\"prototype\"?9:7}return e.operatorToken.kind!==64||!us(e.left)||HFe(bL(e))?0:NS(e.left.expression,!0)&&tg(e.left)===\"prototype\"&&ma(O9(e))?6:TL(e.left)}function HFe(e){return cI(e)&&Bu(e.expression)&&e.expression.text===\"0\"}function DW(e){if(Er(e))return e.name;let t=Ka(e.argumentExpression);return Bu(t)||Ga(t)?t:e}function tg(e){let t=DW(e);if(t){if(Me(t))return t.escapedText;if(Ga(t)||Bu(t))return Hs(t.text)}}function TL(e){if(e.expression.kind===110)return 4;if(Eh(e))return 2;if(NS(e.expression,!0)){if(ry(e.expression))return 3;let t=e;for(;!Me(t.expression);)t=t.expression;let r=t.expression;if((r.escapedText===\"exports\"||r.escapedText===\"module\"&&tg(t)===\"exports\")&&UE(e))return 1;if(NS(e,!0)||Rs(e)&&kW(e))return 5}return 0}function O9(e){for(;Zn(e.right);)e=e.right;return e.right}function AL(e){return Zn(e)&&hl(e)===3}function Yte(e){return Jn(e)&&e.parent&&e.parent.kind===244&&(!Rs(e)||EL(e))&&!!yb(e.parent)}function IL(e,t){let{valueDeclaration:r}=e;(!r||!(t.flags&33554432&&!Jn(t)&&!(r.flags&33554432))&&vC(r)&&!vC(t)||r.kind!==t.kind&&Ate(r))&&(e.valueDeclaration=t)}function $te(e){if(!e||!e.valueDeclaration)return!1;let t=e.valueDeclaration;return t.kind===262||yi(t)&&t.initializer&&Lo(t.initializer)}function sx(e){var t,r;switch(e.kind){case 260:case 208:return(t=Rn(e.initializer,i=>Xd(i,!0)))==null?void 0:t.arguments[0];case 272:case 278:return Vr(e.moduleSpecifier,Ga);case 271:return Vr((r=Vr(e.moduleReference,U_))==null?void 0:r.expression,Ga);case 273:case 280:return Vr(e.parent.moduleSpecifier,Ga);case 274:case 281:return Vr(e.parent.parent.moduleSpecifier,Ga);case 276:return Vr(e.parent.parent.parent.moduleSpecifier,Ga);case 205:return ey(e)?e.argument.literal:void 0;default:x.assertNever(e)}}function yC(e){return xL(e)||x.failBadSyntaxKind(e.parent)}function xL(e){switch(e.parent.kind){case 272:case 278:return e.parent;case 283:return e.parent.parent;case 213:return lp(e.parent)||Xd(e.parent,!1)?e.parent:void 0;case 201:return x.assert(da(e)),Vr(e.parent.parent,Dh);default:return}}function lx(e){switch(e.kind){case 272:case 278:return e.moduleSpecifier;case 271:return e.moduleReference.kind===283?e.moduleReference.expression:void 0;case 205:return ey(e)?e.argument.literal:void 0;case 213:return e.arguments[0];case 267:return e.name.kind===11?e.name:void 0;default:return x.assertNever(e)}}function cx(e){switch(e.kind){case 272:return e.importClause&&Vr(e.importClause.namedBindings,my);case 271:return e;case 278:return e.exportClause&&Vr(e.exportClause,j_);default:return x.assertNever(e)}}function kA(e){return e.kind===272&&!!e.importClause&&!!e.importClause.name}function CW(e,t){if(e.name){let r=t(e);if(r)return r}if(e.namedBindings){let r=my(e.namedBindings)?t(e.namedBindings):an(e.namedBindings.elements,t);if(r)return r}}function OA(e){if(e)switch(e.kind){case 169:case 174:case 173:case 304:case 303:case 172:case 171:return e.questionToken!==void 0}return!1}function dx(e){let t=Gx(e)?Ac(e.parameters):void 0,r=Vr(t&&t.name,Me);return!!r&&r.escapedText===\"new\"}function bf(e){return e.kind===353||e.kind===345||e.kind===347}function RL(e){return bf(e)||Xf(e)}function qFe(e){return Cc(e)&&Zn(e.expression)&&e.expression.operatorToken.kind===64?bL(e.expression):void 0}function wye(e){return Cc(e)&&Zn(e.expression)&&hl(e.expression)!==0&&Zn(e.expression.right)&&(e.expression.right.operatorToken.kind===57||e.expression.right.operatorToken.kind===61)?e.expression.right.right:void 0}function w9(e){switch(e.kind){case 243:let t=wA(e);return t&&t.initializer;case 172:return e.initializer;case 303:return e.initializer}}function wA(e){return cl(e)?Ac(e.declarationList.declarations):void 0}function Wye(e){return Il(e)&&e.body&&e.body.kind===267?e.body:void 0}function DL(e){if(e.kind>=243&&e.kind<=259)return!0;switch(e.kind){case 80:case 110:case 108:case 166:case 236:case 212:case 211:case 208:case 218:case 219:case 174:case 177:case 178:return!0;default:return!1}}function CL(e){switch(e.kind){case 219:case 226:case 241:case 252:case 179:case 296:case 263:case 231:case 175:case 176:case 185:case 180:case 251:case 259:case 246:case 212:case 242:case 1:case 266:case 306:case 277:case 278:case 281:case 244:case 249:case 250:case 248:case 262:case 218:case 184:case 177:case 80:case 245:case 272:case 271:case 181:case 264:case 324:case 330:case 256:case 174:case 173:case 267:case 202:case 270:case 210:case 169:case 217:case 211:case 303:case 172:case 171:case 253:case 240:case 178:case 304:case 305:case 255:case 257:case 258:case 265:case 168:case 260:case 243:case 247:case 254:return!0;default:return!1}}function W9(e,t){let r;tx(e)&&$v(e)&&ap(e.initializer)&&(r=Pr(r,Fye(e,e.initializer.jsDoc)));let i=e;for(;i&&i.parent;){if(ap(i)&&(r=Pr(r,Fye(e,i.jsDoc))),i.kind===169){r=Pr(r,(t?Pee:G1)(i));break}if(i.kind===168){r=Pr(r,(t?Lee:Mee)(i));break}i=F9(i)}return r||je}function Fye(e,t){let r=Da(t);return ta(t,i=>{if(i===r){let o=Cr(i.tags,s=>JFe(e,s));return i.tags===o?[i]:o}else return Cr(i.tags,Vx)})}function JFe(e,t){return!(gN(t)||I6(t))||!t.parent||!Sm(t.parent)||!uu(t.parent.parent)||t.parent.parent===e}function F9(e){let t=e.parent;if(t.kind===303||t.kind===277||t.kind===172||t.kind===244&&e.kind===211||t.kind===253||Wye(t)||lc(e))return t;if(t.parent&&(wA(t.parent)===e||lc(t)))return t.parent;if(t.parent&&t.parent.parent&&(wA(t.parent.parent)||w9(t.parent.parent)===e||wye(t.parent.parent)))return t.parent.parent}function NL(e){if(e.symbol)return e.symbol;if(!Me(e.name))return;let t=e.name.escapedText,r=xb(e);if(!r)return;let i=Dr(r.parameters,o=>o.name.kind===80&&o.name.escapedText===t);return i&&i.symbol}function NW(e){if(Sm(e.parent)&&e.parent.tags){let t=Dr(e.parent.tags,bf);if(t)return t}return xb(e)}function z9(e){return O8(e,Vx)}function xb(e){let t=Rb(e);if(t)return Gu(t)&&t.type&&Lo(t.type)?t.type:Lo(t)?t:void 0}function Rb(e){let t=PS(e);if(t)return wye(t)||qFe(t)||w9(t)||wA(t)||Wye(t)||t}function PS(e){let t=ux(e);if(!t)return;let r=t.parent;if(r&&r.jsDoc&&t===Ns(r.jsDoc))return r}function ux(e){return Rn(e.parent,Sm)}function Qte(e){let t=e.name.escapedText,{typeParameters:r}=e.parent.parent.parent;return r&&Dr(r,i=>i.name.escapedText===t)}function zye(e){return!!e.typeArguments}function Zte(e){let t=e.parent;for(;;){switch(t.kind){case 226:let r=t,i=r.operatorToken.kind;return tv(i)&&r.left===e?r:void 0;case 224:case 225:let o=t,s=o.operator;return s===46||s===47?o:void 0;case 249:case 250:let l=t;return l.initializer===e?l:void 0;case 217:case 209:case 230:case 235:e=t;break;case 305:e=t.parent;break;case 304:if(t.name!==e)return;e=t.parent;break;case 303:if(t.name===e)return;e=t.parent;break;default:return}t=e.parent}}function WA(e){let t=Zte(e);if(!t)return 0;switch(t.kind){case 226:let r=t.operatorToken.kind;return r===64||PC(r)?1:2;case 224:case 225:return 2;case 249:case 250:return 1}}function Sh(e){return!!Zte(e)}function KFe(e){let t=Ka(e.right);return t.kind===226&&Uj(t.operatorToken.kind)}function B9(e){let t=Zte(e);return!!t&&lc(t,!0)&&KFe(t)}function ene(e){switch(e.kind){case 241:case 243:case 254:case 245:case 255:case 269:case 296:case 297:case 256:case 248:case 249:case 250:case 246:case 247:case 258:case 299:return!0}return!1}function tne(e){return ps(e)||gs(e)||CA(e)||Ql(e)||ll(e)}function Bye(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function PL(e){return Bye(e,196)}function Zg(e){return Bye(e,217)}function nne(e){let t;for(;e&&e.kind===196;)t=e,e=e.parent;return[t,e]}function ML(e){for(;VS(e);)e=e.type;return e}function Ka(e,t){return Rl(e,t?17:1)}function G9(e){return e.kind!==211&&e.kind!==212?!1:(e=Zg(e.parent),e&&e.kind===220)}function HE(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1}function ng(e){return!Li(e)&&!ko(e)&&bd(e.parent)&&e.parent.name===e}function bC(e){let t=e.parent;switch(e.kind){case 11:case 15:case 9:if(Pa(t))return t.parent;case 80:if(bd(t))return t.name===e?t:void 0;if($d(t)){let r=t.parent;return Tm(r)&&r.name===t?r:void 0}else{let r=t.parent;return Zn(r)&&hl(r)!==0&&(r.left.symbol||r.symbol)&&mo(r)===e?r:void 0}case 81:return bd(t)&&t.name===e?t:void 0;default:return}}function LL(e){return Ap(e)&&e.parent.kind===167&&bd(e.parent.parent)}function rne(e){let t=e.parent;switch(t.kind){case 172:case 171:case 174:case 173:case 177:case 178:case 306:case 303:case 211:return t.name===e;case 166:return t.right===e;case 208:case 276:return t.propertyName===e;case 281:case 291:case 285:case 286:case 287:return!0}return!1}function Gye(e){return e.kind===271||e.kind===270||e.kind===273&&e.name||e.kind===274||e.kind===280||e.kind===276||e.kind===281||e.kind===277&&px(e)?!0:Jn(e)&&(Zn(e)&&hl(e)===2&&px(e)||Er(e)&&Zn(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===64&&kL(e.parent.right))}function V9(e){switch(e.parent.kind){case 273:case 276:case 274:case 281:case 277:case 271:case 280:return e.parent;case 166:do e=e.parent;while(e.parent.kind===166);return V9(e)}}function kL(e){return gl(e)||Dc(e)}function px(e){let t=j9(e);return kL(t)}function j9(e){return dl(e)?e.expression:e.right}function ine(e){return e.kind===304?e.name:e.kind===303?e.initializer:e.parent.right}function Km(e){let t=qE(e);if(t&&Jn(e)){let r=Oee(e);if(r)return r.class}return t}function qE(e){let t=OL(e.heritageClauses,96);return t&&t.types.length>0?t.types[0]:void 0}function fx(e){if(Jn(e))return wee(e).map(t=>t.class);{let t=OL(e.heritageClauses,119);return t?.types}}function EC(e){return Gd(e)?SC(e)||je:Kr(e)&&ro(EA(Km(e)),fx(e))||je}function SC(e){let t=OL(e.heritageClauses,96);return t?t.types:void 0}function OL(e,t){if(e){for(let r of e)if(r.token===t)return r}}function Db(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}}function du(e){return 83<=e&&e<=165}function U9(e){return 19<=e&&e<=79}function PW(e){return du(e)||U9(e)}function MW(e){return 128<=e&&e<=165}function H9(e){return du(e)&&!MW(e)}function Vye(e){return 119<=e&&e<=127}function FA(e){let t=LE(e);return t!==void 0&&H9(t)}function jye(e){let t=LE(e);return t!==void 0&&du(t)}function q9(e){let t=vb(e);return!!t&&!MW(t)}function mx(e){return 2<=e&&e<=7}function gc(e){if(!e)return 4;let t=0;switch(e.kind){case 262:case 218:case 174:e.asteriskToken&&(t|=1);case 219:Wr(e,1024)&&(t|=2);break}return e.body||(t|=4),t}function TC(e){switch(e.kind){case 262:case 218:case 219:case 174:return e.body!==void 0&&e.asteriskToken===void 0&&Wr(e,1024)}return!1}function Ap(e){return Ga(e)||Bu(e)}function LW(e){return fy(e)&&(e.operator===40||e.operator===41)&&Bu(e.operand)}function ty(e){let t=mo(e);return!!t&&kW(t)}function kW(e){if(!(e.kind===167||e.kind===212))return!1;let t=Rs(e)?Ka(e.argumentExpression):e.expression;return!Ap(t)&&!LW(t)}function MS(e){switch(e.kind){case 80:case 81:return e.escapedText;case 11:case 15:case 9:return Hs(e.text);case 167:let t=e.expression;return Ap(t)?Hs(t.text):LW(t)?t.operator===41?qo(t.operator)+t.operand.text:t.operand.text:void 0;case 295:return JA(e);default:return x.assertNever(e)}}function Xm(e){switch(e.kind){case 80:case 11:case 15:case 9:return!0;default:return!1}}function Ef(e){return hh(e)?ar(e):Em(e)?ZC(e):e.text}function AC(e){return hh(e)?e.escapedText:Em(e)?JA(e):Hs(e.text)}function Uye(e){return`__@${na(e)}@${e.escapedName}`}function wL(e,t){return`__#${na(e)}@${t}`}function WL(e){return Ui(e.escapedName,\"__@\")}function one(e){return Ui(e.escapedName,\"__#\")}function Hye(e){return e.kind===80&&e.escapedText===\"Symbol\"}function ane(e){return Me(e)?ar(e)===\"__proto__\":da(e)&&e.text===\"__proto__\"}function IC(e,t){switch(e=Rl(e),e.kind){case 231:if(nH(e))return!1;break;case 218:if(e.name)return!1;break;case 219:break;default:return!1}return typeof t==\"function\"?t(e):!0}function J9(e){switch(e.kind){case 303:return!ane(e.name);case 304:return!!e.objectAssignmentInitializer;case 260:return Me(e.name)&&!!e.initializer;case 169:return Me(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 208:return Me(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 172:return!!e.initializer;case 226:switch(e.operatorToken.kind){case 64:case 77:case 76:case 78:return Me(e.left)}break;case 277:return!0}return!1}function Fu(e,t){if(!J9(e))return!1;switch(e.kind){case 303:return IC(e.initializer,t);case 304:return IC(e.objectAssignmentInitializer,t);case 260:case 169:case 208:case 172:return IC(e.initializer,t);case 226:return IC(e.right,t);case 277:return IC(e.expression,t)}}function K9(e){return e.escapedText===\"push\"||e.escapedText===\"unshift\"}function JE(e){return Ym(e).kind===169}function Ym(e){for(;e.kind===208;)e=e.parent.parent;return e}function X9(e){let t=e.kind;return t===176||t===218||t===262||t===219||t===174||t===177||t===178||t===267||t===312}function xs(e){return ym(e.pos)||ym(e.end)}function qye(e){return uo(e,Li)||e}function Y9(e){let t=Q9(e),r=e.kind===214&&e.arguments!==void 0;return $9(e.kind,t,r)}function $9(e,t,r){switch(e){case 214:return r?0:1;case 224:case 221:case 222:case 220:case 223:case 227:case 229:return 1;case 226:switch(t){case 43:case 64:case 65:case 66:case 68:case 67:case 69:case 70:case 71:case 72:case 73:case 74:case 79:case 75:case 76:case 77:case 78:return 1}}return 0}function xC(e){let t=Q9(e),r=e.kind===214&&e.arguments!==void 0;return FL(e.kind,t,r)}function Q9(e){return e.kind===226?e.operatorToken.kind:e.kind===224||e.kind===225?e.operator:e.kind}function FL(e,t,r){switch(e){case 361:return 0;case 230:return 1;case 229:return 2;case 227:return 4;case 226:switch(t){case 28:return 0;case 64:case 65:case 66:case 68:case 67:case 69:case 70:case 71:case 72:case 73:case 74:case 79:case 75:case 76:case 77:case 78:return 3;default:return zL(t)}case 216:case 235:case 224:case 221:case 222:case 220:case 223:return 16;case 225:return 17;case 213:return 18;case 214:return r?19:18;case 215:case 211:case 212:case 236:return 19;case 234:case 238:return 11;case 110:case 108:case 80:case 81:case 106:case 112:case 97:case 9:case 10:case 11:case 209:case 210:case 218:case 219:case 231:case 14:case 15:case 228:case 217:case 232:case 284:case 285:case 288:return 20;default:return-1}}function zL(e){switch(e){case 61:return 4;case 57:return 5;case 56:return 6;case 52:return 7;case 53:return 8;case 51:return 9;case 35:case 36:case 37:case 38:return 10;case 30:case 32:case 33:case 34:case 104:case 103:case 130:case 152:return 11;case 48:case 49:case 50:return 12;case 40:case 41:return 13;case 42:case 44:case 45:return 14;case 43:return 15}return-1}function _x(e){return Cr(e,t=>{switch(t.kind){case 294:return!!t.expression;case 12:return!t.containsOnlyTriviaWhiteSpaces;default:return!0}})}function hx(){let e=[],t=[],r=new Map,i=!1;return{add:s,lookup:o,getGlobalDiagnostics:l,getDiagnostics:d};function o(p){let h;if(p.file?h=r.get(p.file.fileName):h=e,!h)return;let m=Vg(h,p,Ps,tF);if(m>=0)return h[m]}function s(p){let h;p.file?(h=r.get(p.file.fileName),h||(h=[],r.set(p.file.fileName,h),Fv(t,p.file.fileName,gd))):(i&&(i=!1,e=e.slice()),h=e),Fv(h,p,tF)}function l(){return i=!0,e}function d(p){if(p)return r.get(p)||[];let h=wD(t,m=>r.get(m));return e.length&&h.unshift(...e),h}}function Z9(e){return e.replace(vbe,\"\\\\${\")}function sne(e){return!!((e.templateFlags||0)&2048)}function eV(e){return e&&!!(eI(e)?sne(e):sne(e.head)||ct(e.templateSpans,t=>sne(t.literal)))}function Jye(e){return\"\\\\u\"+(\"0000\"+e.toString(16).toUpperCase()).slice(-4)}function XFe(e,t,r){if(e.charCodeAt(0)===0){let i=r.charCodeAt(t+e.length);return i>=48&&i<=57?\"\\\\x00\":\"\\\\0\"}return Sbe.get(e)||Jye(e.charCodeAt(0))}function Th(e,t){let r=t===96?Ebe:t===39?bbe:ybe;return e.replace(r,XFe)}function BL(e,t){return e=Th(e,t),gre.test(e)?e.replace(gre,r=>Jye(r.charCodeAt(0))):e}function YFe(e){return\"&#x\"+e.toString(16).toUpperCase()+\";\"}function $Fe(e){return e.charCodeAt(0)===0?\"&#0;\":Ibe.get(e)||YFe(e.charCodeAt(0))}function tV(e,t){let r=t===39?Abe:Tbe;return e.replace(r,$Fe)}function Sf(e){let t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&QFe(e.charCodeAt(0))?e.substring(1,t-1):e}function QFe(e){return e===39||e===34||e===96}function gx(e){let t=e.charCodeAt(0);return t>=97&&t<=122||e.includes(\"-\")}function OW(e){let t=eN[1];for(let r=eN.length;r<=e;r++)eN.push(eN[r-1]+t);return eN[e]}function vx(){return eN[1].length}function GL(e){var t,r,i,o,s,l=!1;function d(R){let L=IA(R);L.length>1?(o=o+L.length-1,s=t.length-R.length+Da(L),i=s-t.length===0):i=!1}function p(R){R&&R.length&&(i&&(R=OW(r)+R,i=!1),t+=R,d(R))}function h(R){R&&(l=!1),p(R)}function m(R){R&&(l=!0),p(R)}function v(){t=\"\",r=0,i=!0,o=0,s=0,l=!1}function E(R){R!==void 0&&(t+=R,d(R),l=!1)}function S(R){R&&R.length&&h(R)}function A(R){(!i||R)&&(t+=e,o++,s=t.length,i=!0,l=!1)}function C(){return i?t.length:t.length+e.length}return v(),{write:h,rawWrite:E,writeLiteral:S,writeLine:A,increaseIndent:()=>{r++},decreaseIndent:()=>{r--},getIndent:()=>r,getTextPos:()=>t.length,getLine:()=>o,getColumn:()=>i?r*vx():t.length-s,getText:()=>t,isAtStartOfLine:()=>i,hasTrailingComment:()=>l,hasTrailingWhitespace:()=>!!t.length&&$h(t.charCodeAt(t.length-1)),clear:v,writeKeyword:h,writeOperator:h,writeParameter:h,writeProperty:h,writePunctuation:h,writeSpace:h,writeStringLiteral:h,writeSymbol:(R,L)=>h(R),writeTrailingSemicolon:h,writeComment:m,getTextPosWithWriteLine:C}}function nV(e){let t=!1;function r(){t&&(e.writeTrailingSemicolon(\";\"),t=!1)}return{...e,writeTrailingSemicolon(){t=!0},writeLiteral(i){r(),e.writeLiteral(i)},writeStringLiteral(i){r(),e.writeStringLiteral(i)},writeSymbol(i,o){r(),e.writeSymbol(i,o)},writePunctuation(i){r(),e.writePunctuation(i)},writeKeyword(i){r(),e.writeKeyword(i)},writeOperator(i){r(),e.writeOperator(i)},writeParameter(i){r(),e.writeParameter(i)},writeSpace(i){r(),e.writeSpace(i)},writeProperty(i){r(),e.writeProperty(i)},writeComment(i){r(),e.writeComment(i)},writeLine(){r(),e.writeLine()},increaseIndent(){r(),e.increaseIndent()},decreaseIndent(){r(),e.decreaseIndent()}}}function yx(e){return e.useCaseSensitiveFileNames?e.useCaseSensitiveFileNames():!1}function ev(e){return od(yx(e))}function wW(e,t,r){return t.moduleName||rV(e,t.fileName,r&&r.fileName)}function Kye(e,t){return e.getCanonicalFileName(Qi(t,e.getCurrentDirectory()))}function lne(e,t,r){let i=t.getExternalModuleFileFromDeclaration(r);if(!i||i.isDeclarationFile)return;let o=lx(r);if(!(o&&Ga(o)&&!op(o.text)&&!Kye(e,i.path).includes(Kye(e,_c(e.getCommonSourceDirectory())))))return wW(e,i)}function rV(e,t,r){let i=p=>e.getCanonicalFileName(p),o=ks(r?Ur(r):e.getCommonSourceDirectory(),e.getCurrentDirectory(),i),s=Qi(t,e.getCurrentDirectory()),l=AA(o,s,o,i,!1),d=Yd(l);return r?ME(d):d}function cne(e,t,r){let i=t.getCompilerOptions(),o;return i.outDir?o=Yd(BW(e,t,i.outDir)):o=Yd(e),o+r}function dne(e,t){return WW(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),r=>t.getCanonicalFileName(r))}function WW(e,t,r,i,o){let s=t.declarationDir||t.outDir,l=s?GW(e,s,r,i,o):e,d=FW(l);return Yd(l)+d}function FW(e){return $l(e,[\".mjs\",\".mts\"])?\".d.mts\":$l(e,[\".cjs\",\".cts\"])?\".d.cts\":$l(e,[\".json\"])?\".d.json.ts\":\".d.ts\"}function une(e){return $l(e,[\".d.mts\",\".mjs\",\".mts\"])?[\".mts\",\".mjs\"]:$l(e,[\".d.cts\",\".cjs\",\".cts\"])?[\".cts\",\".cjs\"]:$l(e,[\".d.json.ts\"])?[\".json\"]:[\".tsx\",\".ts\",\".jsx\",\".js\"]}function ss(e){return e.outFile||e.out}function zW(e,t){var r;if(e.paths)return e.baseUrl??x.checkDefined(e.pathsBasePath||((r=t.getCurrentDirectory)==null?void 0:r.call(t)),\"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.\")}function iV(e,t,r){let i=e.getCompilerOptions();if(ss(i)){let o=ld(i),s=i.emitDeclarationOnly||o===2||o===4;return Cr(e.getSourceFiles(),l=>(s||!wl(l))&&LS(l,e,r))}else{let o=t===void 0?e.getSourceFiles():[t];return Cr(o,s=>LS(s,e,r))}}function LS(e,t,r){let i=t.getCompilerOptions();if(i.noEmitForJsFiles&&wd(e)||e.isDeclarationFile||t.isSourceFileFromExternalLibrary(e))return!1;if(r)return!0;if(t.isSourceOfProjectReferenceRedirect(e.fileName))return!1;if(!yf(e))return!0;if(t.getResolvedProjectReferenceToRedirect(e.fileName))return!1;if(ss(i))return!0;if(!i.outDir)return!1;if(i.rootDir||i.composite&&i.configFilePath){let o=Qi(VN(i,()=>[],t.getCurrentDirectory(),t.getCanonicalFileName),t.getCurrentDirectory()),s=GW(e.fileName,i.outDir,t.getCurrentDirectory(),o,t.getCanonicalFileName);if(Xh(e.fileName,s,t.getCurrentDirectory(),!t.useCaseSensitiveFileNames())===0)return!1}return!0}function BW(e,t,r){return GW(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),i=>t.getCanonicalFileName(i))}function GW(e,t,r,i,o){let s=Qi(e,r);return s=o(s).indexOf(o(i))===0?s.substring(i.length):s,wr(t,s)}function RC(e,t,r,i,o,s,l){e.writeFile(r,i,o,d=>{t.add(bl(f.Could_not_write_file_0_Colon_1,r,d))},s,l)}function Xye(e,t,r){if(e.length>M_(e)&&!r(e)){let i=Ur(e);Xye(i,t,r),t(e)}}function oV(e,t,r,i,o,s){try{i(e,t,r)}catch{Xye(Ur(Yo(e)),o,s),i(e,t,r)}}function DC(e,t){let r=Yh(e);return XD(r,t)}function kS(e,t){return XD(e,t)}function Ah(e){return Dr(e.members,t=>ll(t)&&gf(t.body))}function CC(e){if(e&&e.parameters.length>0){let t=e.parameters.length===2&&XE(e.parameters[0]);return e.parameters[t?1:0]}}function pne(e){let t=CC(e);return t&&t.type}function KE(e){if(e.parameters.length&&!wb(e)){let t=e.parameters[0];if(XE(t))return t}}function XE(e){return YE(e.name)}function YE(e){return!!e&&e.kind===80&&aV(e)}function OS(e){return!!Rn(e,t=>t.kind===186?!0:t.kind===80||t.kind===166?!1:\"quit\")}function zA(e){if(!YE(e))return!1;for(;$d(e.parent)&&e.parent.left===e;)e=e.parent;return e.parent.kind===186}function aV(e){return e.escapedText===\"this\"}function wS(e,t){let r,i,o,s;return ty(t)?(r=t,t.kind===177?o=t:t.kind===178?s=t:x.fail(\"Accessor has wrong kind\")):an(e,l=>{if(Kv(l)&&zo(l)===zo(t)){let d=MS(l.name),p=MS(t.name);d===p&&(r?i||(i=l):r=l,l.kind===177&&!o&&(o=l),l.kind===178&&!s&&(s=l))}}),{firstAccessor:r,secondAccessor:i,getAccessor:o,setAccessor:s}}function Jc(e){if(!Jn(e)&&Ql(e))return;let t=e.type;return t||!Jn(e)?t:iC(e)?e.typeExpression&&e.typeExpression.type:bb(e)}function fne(e){return e.type}function Tf(e){return wb(e)?e.type&&e.type.typeExpression&&e.type.typeExpression.type:e.type||(Jn(e)?BM(e):void 0)}function VW(e){return ta(Eb(e),t=>ZFe(t)?t.typeParameters:void 0)}function ZFe(e){return Df(e)&&!(e.parent.kind===327&&(e.parent.tags.some(bf)||e.parent.tags.some(Vx)))}function mne(e){let t=CC(e);return t&&Jc(t)}function _ne(e,t,r,i){hne(e,t,r.pos,i)}function hne(e,t,r,i){i&&i.length&&r!==i[0].pos&&kS(e,r)!==kS(e,i[0].pos)&&t.writeLine()}function gne(e,t,r,i){r!==i&&kS(e,r)!==kS(e,i)&&t.writeLine()}function vne(e,t,r,i,o,s,l,d){if(i&&i.length>0){o&&r.writeSpace(\" \");let p=!1;for(let h of i)p&&(r.writeSpace(\" \"),p=!1),d(e,t,r,h.pos,h.end,l),h.hasTrailingNewLine?r.writeLine():p=!0;p&&s&&r.writeSpace(\" \")}}function yne(e,t,r,i,o,s,l){let d,p;if(l?o.pos===0&&(d=Cr(mh(e,o.pos),h)):d=mh(e,o.pos),d){let m=[],v;for(let E of d){if(v){let S=kS(t,v.end);if(kS(t,E.pos)>=S+2)break}m.push(E),v=E}if(m.length){let E=kS(t,Da(m).end);kS(t,pa(e,o.pos))>=E+2&&(_ne(t,r,o,d),vne(e,t,r,m,!1,!0,s,i),p={nodePos:o.pos,detachedCommentEndPos:Da(m).end})}}return p;function h(m){return nW(e,m.pos)}}function bx(e,t,r,i,o,s){if(e.charCodeAt(i+1)===42){let l=W1(t,i),d=t.length,p;for(let h=i,m=l.line;h<o;m++){let v=m+1===d?e.length+1:t[m+1];if(h!==i){p===void 0&&(p=Yye(e,t[l.line],i));let S=r.getIndent()*vx()-p+Yye(e,h,v);if(S>0){let A=S%vx(),C=OW((S-A)/vx());for(r.rawWrite(C);A;)r.rawWrite(\" \"),A--}else r.rawWrite(\"\")}e6e(e,o,r,s,h,v),h=v}}else r.writeComment(e.substring(i,o))}function e6e(e,t,r,i,o,s){let l=Math.min(t,s-1),d=e.substring(o,l).trim();d?(r.writeComment(d),l!==t&&r.writeLine()):r.rawWrite(i)}function Yye(e,t,r){let i=0;for(;t<r&&Um(e.charCodeAt(t));t++)e.charCodeAt(t)===9?i+=vx()-i%vx():i++;return i}function jW(e){return Wd(e)!==0}function bne(e){return ny(e)!==0}function zu(e,t){return!!BA(e,t)}function Wr(e,t){return!!Ene(e,t)}function zo(e){return xc(e)&&jl(e)||nl(e)}function jl(e){return Wr(e,256)}function UW(e){return zu(e,16)}function $E(e){return Wr(e,64)}function sV(e){return Wr(e,128)}function $m(e){return Wr(e,512)}function NC(e){return zu(e,8)}function Hp(e){return Wr(e,32768)}function BA(e,t){return Wd(e)&t}function Ene(e,t){return ny(e)&t}function Sne(e,t,r){return e.kind>=0&&e.kind<=165?0:(e.modifierFlagsCache&536870912||(e.modifierFlagsCache=lV(e)|536870912),r||t&&Jn(e)?(!(e.modifierFlagsCache&268435456)&&e.parent&&(e.modifierFlagsCache|=$ye(e)|268435456),Qye(e.modifierFlagsCache)):t6e(e.modifierFlagsCache))}function Wd(e){return Sne(e,!0)}function Tne(e){return Sne(e,!0,!0)}function ny(e){return Sne(e,!1)}function $ye(e){let t=0;return e.parent&&!ao(e)&&(Jn(e)&&(Wee(e)&&(t|=8388608),Fee(e)&&(t|=16777216),zee(e)&&(t|=33554432),Bee(e)&&(t|=67108864),Gee(e)&&(t|=134217728)),Vee(e)&&(t|=65536)),t}function t6e(e){return e&65535}function Qye(e){return e&131071|(e&260046848)>>>23}function n6e(e){return Qye($ye(e))}function Ane(e){return lV(e)|n6e(e)}function lV(e){let t=Yf(e)?Qm(e.modifiers):0;return(e.flags&8||e.kind===80&&e.flags&4096)&&(t|=32),t}function Qm(e){let t=0;if(e)for(let r of e)t|=GA(r.kind);return t}function GA(e){switch(e){case 126:return 256;case 125:return 1;case 124:return 4;case 123:return 2;case 128:return 64;case 129:return 512;case 95:return 32;case 138:return 128;case 87:return 4096;case 90:return 2048;case 134:return 1024;case 148:return 8;case 164:return 16;case 103:return 8192;case 147:return 16384;case 170:return 32768}return 0}function Zye(e){return e===57||e===56}function Ine(e){return Zye(e)||e===54}function PC(e){return e===76||e===77||e===78}function cV(e){return Zn(e)&&PC(e.operatorToken.kind)}function VL(e){return Zye(e)||e===61}function jL(e){return Zn(e)&&VL(e.operatorToken.kind)}function tv(e){return e>=64&&e<=79}function dV(e){let t=uV(e);return t&&!t.isImplements?t.class:void 0}function uV(e){if(sv(e)){if(xp(e.parent)&&Kr(e.parent.parent))return{class:e.parent.parent,isImplements:e.parent.token===119};if(_I(e.parent)){let t=Rb(e.parent);if(t&&Kr(t))return{class:t,isImplements:!1}}}}function lc(e,t){return Zn(e)&&(t?e.operatorToken.kind===64:tv(e.operatorToken.kind))&&Tu(e.left)}function ebe(e){return lc(e.parent)&&e.parent.left===e}function nv(e){if(lc(e,!0)){let t=e.left.kind;return t===210||t===209}return!1}function HW(e){return dV(e)!==void 0}function gl(e){return e.kind===80||UL(e)}function dp(e){switch(e.kind){case 80:return e;case 166:do e=e.left;while(e.kind!==80);return e;case 211:do e=e.expression;while(e.kind!==80);return e}}function MC(e){return e.kind===80||e.kind===110||e.kind===108||e.kind===236||e.kind===211&&MC(e.expression)||e.kind===217&&MC(e.expression)}function UL(e){return Er(e)&&Me(e.name)&&gl(e.expression)}function HL(e){if(Er(e)){let t=HL(e.expression);if(t!==void 0)return t+\".\"+Wu(e.name)}else if(Rs(e)){let t=HL(e.expression);if(t!==void 0&&kl(e.argumentExpression))return t+\".\"+MS(e.argumentExpression)}else{if(Me(e))return Ii(e.escapedText);if(Em(e))return ZC(e)}}function ry(e){return UE(e)&&tg(e)===\"prototype\"}function LC(e){return e.parent.kind===166&&e.parent.right===e||e.parent.kind===211&&e.parent.name===e||e.parent.kind===236&&e.parent.name===e}function pV(e){return!!e.parent&&(Er(e.parent)&&e.parent.name===e||Rs(e.parent)&&e.parent.argumentExpression===e)}function xne(e){return $d(e.parent)&&e.parent.right===e||Er(e.parent)&&e.parent.name===e||Ob(e.parent)&&e.parent.right===e}function qW(e){return Zn(e)&&e.operatorToken.kind===104}function Rne(e){return qW(e.parent)&&e===e.parent.right}function fV(e){return e.kind===210&&e.properties.length===0}function Dne(e){return e.kind===209&&e.elements.length===0}function Ex(e){if(!(!r6e(e)||!e.declarations)){for(let t of e.declarations)if(t.localSymbol)return t.localSymbol}}function r6e(e){return e&&yn(e.declarations)>0&&Wr(e.declarations[0],2048)}function JW(e){return Dr(Nbe,t=>el(e,t))}function i6e(e){let t=[],r=e.length;for(let i=0;i<r;i++){let o=e.charCodeAt(i);o<128?t.push(o):o<2048?(t.push(o>>6|192),t.push(o&63|128)):o<65536?(t.push(o>>12|224),t.push(o>>6&63|128),t.push(o&63|128)):o<131072?(t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)):x.assert(!1,\"Unexpected code point\")}return t}function Cne(e){let t=\"\",r=i6e(e),i=0,o=r.length,s,l,d,p;for(;i<o;)s=r[i]>>2,l=(r[i]&3)<<4|r[i+1]>>4,d=(r[i+1]&15)<<2|r[i+2]>>6,p=r[i+2]&63,i+1>=o?d=p=64:i+2>=o&&(p=64),t+=FS.charAt(s)+FS.charAt(l)+FS.charAt(d)+FS.charAt(p),i+=3;return t}function o6e(e){let t=\"\",r=0,i=e.length;for(;r<i;){let o=e[r];if(o<128)t+=String.fromCharCode(o),r++;else if((o&192)===192){let s=o&63;r++;let l=e[r];for(;(l&192)===128;)s=s<<6|l&63,r++,l=e[r];t+=String.fromCharCode(s)}else t+=String.fromCharCode(o),r++}return t}function Nne(e,t){return e&&e.base64encode?e.base64encode(t):Cne(t)}function Pne(e,t){if(e&&e.base64decode)return e.base64decode(t);let r=t.length,i=[],o=0;for(;o<r&&t.charCodeAt(o)!==FS.charCodeAt(64);){let s=FS.indexOf(t[o]),l=FS.indexOf(t[o+1]),d=FS.indexOf(t[o+2]),p=FS.indexOf(t[o+3]),h=(s&63)<<2|l>>4&3,m=(l&15)<<4|d>>2&15,v=(d&3)<<6|p&63;m===0&&d!==0?i.push(h):v===0&&p!==0?i.push(h,m):i.push(h,m,v),o+=4}return o6e(i)}function mV(e,t){let r=fo(t)?t:t.readFile(e);if(!r)return;let i=rU(e,r);return i.error?void 0:i.config}function kC(e,t){return mV(e,t)||{}}function KW(e){try{return JSON.parse(e)}catch{return}}function gm(e,t){return!t.directoryExists||t.directoryExists(e)}function rv(e){switch(e.newLine){case 0:return xbe;case 1:case void 0:return Rbe}}function qp(e,t=e){return x.assert(t>=e||t===-1),{pos:e,end:t}}function XW(e,t){return qp(e.pos,t)}function Cb(e,t){return qp(t,e.end)}function rg(e){let t=Yf(e)?hA(e.modifiers,Xc):void 0;return t&&!ym(t.end)?Cb(e,t.end):e}function Zm(e){if(xo(e)||El(e))return Cb(e,e.name.pos);let t=Yf(e)?Ns(e.modifiers):void 0;return t&&!ym(t.end)?Cb(e,t.end):rg(e)}function tbe(e){return e.pos===e.end}function _V(e,t){return qp(e,e+qo(t).length)}function WS(e,t){return Lne(e,e,t)}function YW(e,t,r){return Jp(OC(e,r,!1),OC(t,r,!1),r)}function Mne(e,t,r){return Jp(e.end,t.end,r)}function Lne(e,t,r){return Jp(OC(e,r,!1),t.end,r)}function qL(e,t,r){return Jp(e.end,OC(t,r,!1),r)}function hV(e,t,r,i){let o=OC(t,r,i);return YD(r,e.end,o)}function nbe(e,t,r){return YD(r,e.end,t.end)}function kne(e,t){return!Jp(e.pos,e.end,t)}function Jp(e,t,r){return YD(r,e,t)===0}function OC(e,t,r){return ym(e.pos)?-1:pa(t.text,e.pos,!1,r)}function One(e,t,r,i){let o=pa(r.text,e,!1,i),s=a6e(o,t,r);return YD(r,s??t,o)}function wne(e,t,r,i){let o=pa(r.text,e,!1,i);return YD(r,e,Math.min(t,o))}function a6e(e,t=0,r){for(;e-- >t;)if(!$h(r.text.charCodeAt(e)))return e}function gV(e){let t=uo(e);if(t)switch(t.parent.kind){case 266:case 267:return t===t.parent.name}return!1}function wC(e){return Cr(e.declarations,JL)}function JL(e){return yi(e)&&e.initializer!==void 0}function rbe(e){return e.watch&&rs(e,\"watch\")}function vm(e){e.close()}function tl(e){return e.flags&33554432?e.links.checkFlags:0}function Kp(e,t=!1){if(e.valueDeclaration){let r=t&&e.declarations&&Dr(e.declarations,Vu)||e.flags&32768&&Dr(e.declarations,Ip)||e.valueDeclaration,i=gb(r);return e.parent&&e.parent.flags&32?i:i&-8}if(tl(e)&6){let r=e.links.checkFlags,i=r&1024?2:r&256?1:4,o=r&2048?256:0;return i|o}return e.flags&4194304?257:0}function Kc(e,t){return e.flags&2097152?t.getAliasedSymbol(e):e}function Sx(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags}function $W(e){return WC(e)===1}function VA(e){return WC(e)!==0}function WC(e){let{parent:t}=e;switch(t?.kind){case 217:return WC(t);case 225:case 224:let{operator:r}=t;return r===46||r===47?2:0;case 226:let{left:i,operatorToken:o}=t;return i===e&&tv(o.kind)?o.kind===64?1:2:0;case 211:return t.name!==e?0:WC(t);case 303:{let s=WC(t.parent);return e===t.name?s6e(s):s}case 304:return e===t.objectAssignmentInitializer?0:WC(t.parent);case 209:return WC(t);default:return 0}}function s6e(e){switch(e){case 0:return 1;case 1:return 0;case 2:return 2;default:return x.assertNever(e)}}function vV(e,t){if(!e||!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(typeof e[r]==\"object\"){if(!vV(e[r],t[r]))return!1}else if(typeof e[r]!=\"function\"&&e[r]!==t[r])return!1;return!0}function Au(e,t){e.forEach(t),e.clear()}function Ih(e,t,r){let{onDeleteValue:i,onExistingValue:o}=r;e.forEach((s,l)=>{var d;t?.has(l)?o&&o(s,(d=t.get)==null?void 0:d.call(t,l),l):(e.delete(l),i(s,l))})}function FC(e,t,r){Ih(e,t,r);let{createNewValue:i}=r;t?.forEach((o,s)=>{e.has(s)||e.set(s,i(s,o))})}function Wne(e){if(e.flags&32){let t=ig(e);return!!t&&Wr(t,64)}return!1}function ig(e){var t;return(t=e.declarations)==null?void 0:t.find(Kr)}function br(e){return e.flags&3899393?e.objectFlags:0}function ibe(e,t){return!!Vf(e,r=>t(r)?!0:void 0)}function QW(e){return!!e&&!!e.declarations&&!!e.declarations[0]&&D2(e.declarations[0])}function Fne({moduleSpecifier:e}){return da(e)?e.text:Vl(e)}function yV(e){let t;return Ao(e,r=>{gf(r)&&(t=r)},r=>{for(let i=r.length-1;i>=0;i--)if(gf(r[i])){t=r[i];break}}),t}function Jf(e,t,r=!0){return e.has(t)?!1:(e.set(t,r),!0)}function jA(e){return Kr(e)||Gd(e)||ju(e)}function bV(e){return e>=182&&e<=205||e===133||e===159||e===150||e===163||e===151||e===136||e===154||e===155||e===116||e===157||e===146||e===141||e===233||e===319||e===320||e===321||e===322||e===323||e===324||e===325}function us(e){return e.kind===211||e.kind===212}function EV(e){return e.kind===211?e.name:(x.assert(e.kind===212),e.argumentExpression)}function zne(e){switch(e.kind){case\"text\":case\"internal\":return!0;default:return!1}}function ZW(e){return e.kind===275||e.kind===279}function Tx(e){for(;us(e);)e=e.expression;return e}function Bne(e,t){if(us(e.parent)&&pV(e))return r(e.parent);function r(i){if(i.kind===211){let o=t(i.name);if(o!==void 0)return o}else if(i.kind===212)if(Me(i.argumentExpression)||Ga(i.argumentExpression)){let o=t(i.argumentExpression);if(o!==void 0)return o}else return;if(us(i.expression))return r(i.expression);if(Me(i.expression))return t(i.expression)}}function Ax(e,t){for(;;){switch(e.kind){case 225:e=e.operand;continue;case 226:e=e.left;continue;case 227:e=e.condition;continue;case 215:e=e.tag;continue;case 213:if(t)return e;case 234:case 212:case 211:case 235:case 360:case 238:e=e.expression;continue}return e}}function l6e(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.lastAssignmentPos=void 0,this.links=void 0}function c6e(e,t){this.flags=t,(x.isDebugging||qn)&&(this.checker=e)}function d6e(e,t){this.flags=t,x.isDebugging&&(this.checker=e)}function Gne(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function u6e(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function p6e(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function f6e(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||(i=>i)}function Vne(e){vre.push(e),e(wc)}function jne(e){Object.assign(wc,e),an(vre,t=>t(wc))}function xh(e,t){return e.replace(/{(\\d+)}/g,(r,i)=>\"\"+x.checkDefined(t[+i]))}function Une(e){xF=e}function Hne(e){!xF&&e&&(xF=e())}function vo(e){return xF&&xF[e.key]||e.message}function Ix(e,t,r,i,o,...s){r+i>t.length&&(i=t.length-r),Nte(t,r,i);let l=vo(o);return ct(s)&&(l=xh(l,s)),{file:void 0,start:r,length:i,messageText:l,category:o.category,code:o.code,reportsUnnecessary:o.reportsUnnecessary,fileName:e}}function m6e(e){return e.file===void 0&&e.start!==void 0&&e.length!==void 0&&typeof e.fileName==\"string\"}function obe(e,t){let r=t.fileName||\"\",i=t.text.length;x.assertEqual(e.fileName,r),x.assertLessThanOrEqual(e.start,i),x.assertLessThanOrEqual(e.start+e.length,i);let o={file:t,start:e.start,length:e.length,messageText:e.messageText,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary};if(e.relatedInformation){o.relatedInformation=[];for(let s of e.relatedInformation)m6e(s)&&s.fileName===r?(x.assertLessThanOrEqual(s.start,i),x.assertLessThanOrEqual(s.start+s.length,i),o.relatedInformation.push(obe(s,t))):o.relatedInformation.push(s)}return o}function UA(e,t){let r=[];for(let i of e)r.push(obe(i,t));return r}function Rc(e,t,r,i,...o){Nte(e.text,t,r);let s=vo(i);return ct(o)&&(s=xh(s,o)),{file:e,start:t,length:r,messageText:s,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,reportsDeprecated:i.reportsDeprecated}}function SV(e,...t){let r=vo(e);return ct(t)&&(r=xh(r,t)),r}function bl(e,...t){let r=vo(e);return ct(t)&&(r=xh(r,t)),{file:void 0,start:void 0,length:void 0,messageText:r,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function eF(e,t){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText,relatedInformation:t}}function So(e,t,...r){let i=vo(t);return ct(r)&&(i=xh(i,r)),{messageText:i,category:t.category,code:t.code,next:e===void 0||Array.isArray(e)?e:[e]}}function qne(e,t){let r=e;for(;r.next;)r=r.next[0];r.next=[t]}function abe(e){return e.file?e.file.path:void 0}function zC(e,t){return tF(e,t)||_6e(e,t)||0}function tF(e,t){return gd(abe(e),abe(t))||Ms(e.start,t.start)||Ms(e.length,t.length)||Ms(e.code,t.code)||sbe(e.messageText,t.messageText)||0}function _6e(e,t){return!e.relatedInformation&&!t.relatedInformation?0:e.relatedInformation&&t.relatedInformation?Ms(e.relatedInformation.length,t.relatedInformation.length)||an(e.relatedInformation,(r,i)=>{let o=t.relatedInformation[i];return zC(r,o)})||0:e.relatedInformation?-1:1}function sbe(e,t){if(typeof e==\"string\"&&typeof t==\"string\")return gd(e,t);if(typeof e==\"string\")return-1;if(typeof t==\"string\")return 1;let r=gd(e.messageText,t.messageText);if(r)return r;if(!e.next&&!t.next)return 0;if(!e.next)return-1;if(!t.next)return 1;let i=Math.min(e.next.length,t.next.length);for(let o=0;o<i;o++)if(r=sbe(e.next[o],t.next[o]),r)return r;return e.next.length<t.next.length?-1:e.next.length>t.next.length?1:0}function KL(e){return e===4||e===2||e===1||e===6?1:0}function lbe(e){if(e.transformFlags&2)return Od(e)||c0(e)?e:Ao(e,lbe)}function h6e(e){return e.isDeclarationFile?void 0:lbe(e)}function g6e(e){return(e.impliedNodeFormat===99||$l(e.fileName,[\".cjs\",\".cts\",\".mjs\",\".mts\"]))&&!e.isDeclarationFile?!0:void 0}function XL(e){switch(qV(e)){case 3:return o=>{o.externalModuleIndicator=z2(o)||!o.isDeclarationFile||void 0};case 1:return o=>{o.externalModuleIndicator=z2(o)};case 2:let t=[z2];(e.jsx===4||e.jsx===5)&&t.push(h6e),t.push(g6e);let r=hm(...t);return o=>void(o.externalModuleIndicator=r(o))}}function ift(e){return e}function nF(e){return e>=5&&e<=99}function rF(e){switch(ld(e)){case 0:case 4:case 3:return!1}return!0}function TV(e){return e.verbatimModuleSyntax||e.isolatedModules&&e.preserveValueImports}function Jne(e){return e.allowUnreachableCode===!1}function Kne(e){return e.allowUnusedLabels===!1}function HA(e){return e>=3&&e<=99||e===100}function Fd(e,t){return e[t]===void 0?!!e.strict:!!e[t]}function Xne(e){return e.useDefineForClassFields!==!1&&Wa(e)>=9}function Yne(e,t){return K1(t,e,pU)}function $ne(e,t){return K1(t,e,fU)}function Qne(e,t){return K1(t,e,mU)}function iF(e,t){return t.strictFlag?Fd(e,t.name):t.allowJsFlag?sy(e):e[t.name]}function oF(e){let t=e.jsx;return t===2||t===4||t===5}function aF(e,t){let r=t?.pragmas.get(\"jsximportsource\"),i=oo(r)?r[r.length-1]:r;return e.jsx===4||e.jsx===5||e.jsxImportSource||i?i?.arguments.factory||e.jsxImportSource||\"react\":void 0}function sF(e,t){return e?`${e}/${t.jsx===5?\"jsx-dev-runtime\":\"jsx-runtime\"}`:void 0}function AV(e){let t=!1;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)===42)if(!t)t=!0;else return!1;return!0}function IV(e,t){let r,i,o,s=!1;return{getSymlinkedFiles:()=>o,getSymlinkedDirectories:()=>r,getSymlinkedDirectoriesByRealpath:()=>i,setSymlinkedFile:(d,p)=>(o||(o=new Map)).set(d,p),setSymlinkedDirectory:(d,p)=>{let h=ks(d,e,t);KC(h)||(h=_c(h),p!==!1&&!r?.has(h)&&(i||(i=Ep())).add(p.realPath,d),(r||(r=new Map)).set(h,p))},setSymlinksFromResolutions(d,p,h){x.assert(!s),s=!0,d(m=>l(this,m.resolvedModule)),p(m=>l(this,m.resolvedTypeReferenceDirective)),h.forEach(m=>l(this,m.resolvedTypeReferenceDirective))},hasProcessedResolutions:()=>s};function l(d,p){if(!p||!p.originalPath||!p.resolvedFileName)return;let{resolvedFileName:h,originalPath:m}=p;d.setSymlinkedFile(ks(m,e,t),h);let[v,E]=v6e(h,m,e,t)||je;v&&E&&d.setSymlinkedDirectory(E,{real:_c(v),realPath:_c(ks(v,e,t))})}}function v6e(e,t,r,i){let o=mc(Qi(e,r)),s=mc(Qi(t,r)),l=!1;for(;o.length>=2&&s.length>=2&&!cbe(o[o.length-2],i)&&!cbe(s[s.length-2],i)&&i(o[o.length-1])===i(s[s.length-1]);)o.pop(),s.pop(),l=!0;return l?[Vv(o),Vv(s)]:void 0}function cbe(e,t){return e!==void 0&&(t(e)===\"node_modules\"||Ui(e,\"@\"))}function y6e(e){return IG(e.charCodeAt(0))?e.slice(1):void 0}function xV(e,t,r){let i=fB(e,t,r);return i===void 0?void 0:y6e(i)}function dbe(e){return e.replace(JV,b6e)}function b6e(e){return\"\\\\\"+e}function BC(e,t,r){let i=lF(e,t,r);return!i||!i.length?void 0:`^(${i.map(l=>`(${l})`).join(\"|\")})${r===\"exclude\"?\"($|/)\":\"$\"}`}function lF(e,t,r){if(!(e===void 0||e.length===0))return ta(e,i=>i&&cF(i,t,r,YV[r]))}function RV(e){return!/[.*?]/.test(e)}function Zne(e,t,r){let i=e&&cF(e,t,r,YV[r]);return i&&`^(${i})${r===\"exclude\"?\"($|/)\":\"$\"}`}function cF(e,t,r,{singleAsteriskRegexFragment:i,doubleAsteriskRegexFragment:o,replaceWildcardCharacter:s}=YV[r]){let l=\"\",d=!1,p=IM(e,t),h=Da(p);if(r!==\"exclude\"&&h===\"**\")return;p[0]=fb(p[0]),RV(h)&&p.push(\"**\",\"*\");let m=0;for(let v of p){if(v===\"**\")l+=o;else if(r===\"directories\"&&(l+=\"(\",m++),d&&(l+=Os),r!==\"exclude\"){let E=\"\";v.charCodeAt(0)===42?(E+=\"([^./]\"+i+\")?\",v=v.substr(1)):v.charCodeAt(0)===63&&(E+=\"[^./]\",v=v.substr(1)),E+=v.replace(JV,s),E!==v&&(l+=XV),l+=E}else l+=v.replace(JV,s);d=!0}for(;m>0;)l+=\")?\",m--;return l}function ere(e,t){return e===\"*\"?t:e===\"?\"?\"[^/]\":\"\\\\\"+e}function dF(e,t,r,i,o){e=Yo(e),o=Yo(o);let s=wr(o,e);return{includeFilePatterns:nn(lF(r,s,\"files\"),l=>`^${l}$`),includeFilePattern:BC(r,s,\"files\"),includeDirectoryPattern:BC(r,s,\"directories\"),excludePattern:BC(t,s,\"exclude\"),basePaths:E6e(e,r,i)}}function iy(e,t){return new RegExp(e,t?\"\":\"i\")}function DV(e,t,r,i,o,s,l,d,p){e=Yo(e),s=Yo(s);let h=dF(e,r,i,o,s),m=h.includeFilePatterns&&h.includeFilePatterns.map(L=>iy(L,o)),v=h.includeDirectoryPattern&&iy(h.includeDirectoryPattern,o),E=h.excludePattern&&iy(h.excludePattern,o),S=m?m.map(()=>[]):[[]],A=new Map,C=od(o);for(let L of h.basePaths)R(L,wr(s,L),l);return Ff(S);function R(L,G,U){let K=C(p(G));if(A.has(K))return;A.set(K,!0);let{files:F,directories:oe}=d(L);for(let W of uS(F,gd)){let $=wr(L,W),de=wr(G,W);if(!(t&&!$l($,t))&&!(E&&E.test(de)))if(!m)S[0].push($);else{let fe=Tl(m,q=>q.test(de));fe!==-1&&S[fe].push($)}}if(!(U!==void 0&&(U--,U===0)))for(let W of uS(oe,gd)){let $=wr(L,W),de=wr(G,W);(!v||v.test(de))&&(!E||!E.test(de))&&R($,de,U)}}}function E6e(e,t,r){let i=[e];if(t){let o=[];for(let s of t){let l=Ou(s)?s:Yo(wr(e,s));o.push(S6e(l))}o.sort(D1(!r));for(let s of o)ji(i,l=>!Bf(l,s,e,!r))&&i.push(s)}return i}function S6e(e){let t=DZ(e,Dbe);return t<0?TA(e)?fb(Ur(e)):e:e.substring(0,e.lastIndexOf(Os,t))}function uF(e,t){return t||pF(e)||3}function pF(e){switch(e.substr(e.lastIndexOf(\".\")).toLowerCase()){case\".js\":case\".cjs\":case\".mjs\":return 1;case\".jsx\":return 2;case\".ts\":case\".cts\":case\".mts\":return 3;case\".tsx\":return 4;case\".json\":return 6;default:return 0}}function GC(e,t){let r=e&&sy(e);if(!t||t.length===0)return r?CF:Nx;let i=r?CF:Nx,o=Ff(i);return[...i,...Fi(t,l=>l.scriptKind===7||r&&T6e(l.scriptKind)&&!o.includes(l.extension)?[l.extension]:void 0)]}function YL(e,t){return!e||!Mb(e)?t:t===CF?Pbe:t===Nx?Cbe:[...t,[\".json\"]]}function T6e(e){return e===1||e===2}function QE(e){return ct(Px,t=>el(e,t))}function qA(e){return ct($V,t=>el(e,t))}function tre({imports:e},t=hm(QE,qA)){return ml(e,({text:r})=>op(r)&&!$l(r,c2)?t(r):void 0)||!1}function nre(e,t,r,i){let o=zd(r),s=3<=o&&o<=99;if(e===\"js\"||t===99&&s)return nR(r)&&l()!==2?3:2;if(e===\"minimal\")return 0;if(e===\"index\")return 1;if(!nR(r))return tre(i)?2:0;return l();function l(){let d=!1,p=i.imports.length?i.imports:wd(i)?A6e(i).map(h=>h.arguments[0]):je;for(let h of p)if(op(h.text)){if(s&&t===1&&DH(i,h,r)===99||$l(h.text,c2))continue;if(qA(h.text))return 3;QE(h.text)&&(d=!0)}return d?2:0}}function A6e(e){let t=0,r;for(let i of e.statements){if(t>3)break;M9(i)?r=ro(r,i.declarationList.declarations.map(o=>o.initializer)):Cc(i)&&Xd(i.expression,!0)?r=pn(r,i.expression):t++}return r||je}function rre(e,t,r){if(!e)return!1;let i=GC(t,r);for(let o of Ff(YL(t,i)))if(el(e,o))return!0;return!1}function ube(e){let t=e.match(/\\//g);return t?t.length:0}function $L(e,t){return Ms(ube(e),ube(t))}function Yd(e){for(let t of ej){let r=ire(e,t);if(r!==void 0)return r}return e}function ire(e,t){return el(e,t)?QL(e,t):void 0}function QL(e,t){return e.substring(0,e.length-t.length)}function Nb(e,t){return xM(e,t,ej,!1)}function xx(e){let t=e.indexOf(\"*\");return t===-1?e:e.indexOf(\"*\",t+1)!==-1?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function fF(e){return Fi(fh(e),t=>xx(t))}function ym(e){return!(e>=0)}function mF(e){return e===\".ts\"||e===\".tsx\"||e===\".d.ts\"||e===\".cts\"||e===\".mts\"||e===\".d.mts\"||e===\".d.cts\"||Ui(e,\".d.\")&&Zs(e,\".ts\")}function VC(e){return mF(e)||e===\".json\"}function jC(e){let t=og(e);return t!==void 0?t:x.fail(`File ${e} has unknown extension.`)}function pbe(e){return og(e)!==void 0}function og(e){return Dr(ej,t=>el(e,t))}function ZL(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}function CV(e,t){let r=[];for(let i of e){if(i===t)return t;fo(i)||r.push(i)}return pB(r,i=>i,t)}function NV(e,t){let r=e.indexOf(t);return x.assert(r!==-1),e.slice(r)}function fa(e,...t){return t.length&&(e.relatedInformation||(e.relatedInformation=[]),x.assert(e.relatedInformation!==je,\"Diagnostic had empty array singleton for related info, but is still being constructed!\"),e.relatedInformation.push(...t)),e}function ore(e,t){x.assert(e.length!==0);let r=t(e[0]),i=r;for(let o=1;o<e.length;o++){let s=t(e[o]);s<r?r=s:s>i&&(i=s)}return{min:r,max:i}}function PV(e){return{pos:Tb(e),end:e.end}}function MV(e,t){let r=t.pos-1,i=Math.min(e.text.length,pa(e.text,t.end)+1);return{pos:r,end:i}}function UC(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)}function _F(e,t){return e===t||typeof e==\"object\"&&e!==null&&typeof t==\"object\"&&t!==null&&wZ(e,t,_F)}function HC(e){let t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:let h=e.length-1,m=0;for(;e.charCodeAt(m)===48;)m++;return e.slice(m,h)||\"0\"}let r=2,i=e.length-1,o=(i-r)*t,s=new Uint16Array((o>>>4)+(o&15?1:0));for(let h=i-1,m=0;h>=r;h--,m+=t){let v=m>>>4,E=e.charCodeAt(h),A=(E<=57?E-48:10+E-(E<=70?65:97))<<(m&15);s[v]|=A;let C=A>>>16;C&&(s[v+1]|=C)}let l=\"\",d=s.length-1,p=!0;for(;p;){let h=0;p=!1;for(let m=d;m>=0;m--){let v=h<<16|s[m],E=v/10|0;s[m]=E,h=v-E*10,E&&!p&&(d=m,p=!0)}l=h+l}return l}function ZE({negative:e,base10Value:t}){return(e&&t!==\"0\"?\"-\":\"\")+t}function are(e){if(hF(e,!1))return LV(e)}function LV(e){let t=e.startsWith(\"-\"),r=HC(`${t?e.slice(1):e}n`);return{negative:t,base10Value:r}}function hF(e,t){if(e===\"\")return!1;let r=Kg(99,!1),i=!0;r.setOnError(()=>i=!1),r.setText(e+\"n\");let o=r.scan(),s=o===41;s&&(o=r.scan());let l=r.getTokenFlags();return i&&o===10&&r.getTokenEnd()===e.length+1&&!(l&512)&&(!t||e===ZE({negative:s,base10Value:HC(r.getTokenValue())}))}function Pb(e){return!!(e.flags&33554432)||EW(e)||R6e(e)||x6e(e)||!(bh(e)||I6e(e))}function I6e(e){return Me(e)&&xu(e.parent)&&e.parent.name===e}function x6e(e){for(;e.kind===80||e.kind===211;)e=e.parent;if(e.kind!==167)return!1;if(Wr(e.parent,64))return!0;let t=e.parent.parent.kind;return t===264||t===187}function R6e(e){if(e.kind!==80)return!1;let t=Rn(e.parent,r=>{switch(r.kind){case 298:return!0;case 211:case 233:return!1;default:return\"quit\"}});return t?.token===119||t?.parent.kind===264}function sre(e){return Yp(e)&&Me(e.typeName)}function lre(e,t=Hg){if(e.length<2)return!0;let r=e[0];for(let i=1,o=e.length;i<o;i++){let s=e[i];if(!t(r,s))return!1}return!0}function qC(e,t){return e.pos=t,e}function Rx(e,t){return e.end=t,e}function F_(e,t,r){return Rx(qC(e,t),r)}function JC(e,t,r){return F_(e,t,t+r)}function cre(e,t){return e&&(e.flags=t),e}function Aa(e,t){return e&&t&&(e.parent=t),e}function Dx(e,t){if(e)for(let r of e)Aa(r,t);return e}function oy(e,t){if(!e)return e;return EN(e,q1(e)?r:o),e;function r(s,l){if(t&&s.parent===l)return\"skip\";Aa(s,l)}function i(s){if(ap(s))for(let l of s.jsDoc)r(l,s),EN(l,r)}function o(s,l){return r(s,l)||i(s)}}function D6e(e){return!vc(e)}function kV(e){return Bd(e)&&ji(e.elements,D6e)}function dre(e){for(x.assertIsDefined(e.parent);;){let t=e.parent;if(uu(t)){e=t;continue}if(Cc(t)||cI(t)||qS(t)&&(t.initializer===e||t.incrementor===e))return!0;if(dN(t)){if(e!==Da(t.elements))return!0;e=t;continue}if(Zn(t)&&t.operatorToken.kind===28){if(e===t.left)return!0;e=t;continue}return!1}}function KC(e){return ct(AM,t=>e.includes(t))}function ure(e){if(!e.parent)return;switch(e.kind){case 168:let{parent:r}=e;return r.kind===195?void 0:r.typeParameters;case 169:return e.parent.parameters;case 204:return e.parent.templateSpans;case 239:return e.parent.templateSpans;case 170:{let{parent:i}=e;return ZS(i)?i.modifiers:void 0}case 298:return e.parent.heritageClauses}let{parent:t}=e;if(J1(e))return YS(e.parent)?void 0:e.parent.tags;switch(t.kind){case 187:case 264:return bS(e)?t.members:void 0;case 192:case 193:return t.types;case 189:case 209:case 361:case 275:case 279:return t.elements;case 210:case 292:return t.properties;case 213:case 214:return xi(e)?t.typeArguments:t.expression===e?void 0:t.arguments;case 284:case 288:return ZM(e)?t.children:void 0;case 286:case 285:return xi(e)?t.typeArguments:void 0;case 241:case 296:case 297:case 268:return t.statements;case 269:return t.clauses;case 263:case 231:return xc(e)?t.members:void 0;case 266:return p0(e)?t.members:void 0;case 312:return t.statements}}function gF(e){if(!e.typeParameters){if(ct(e.parameters,t=>!Jc(t)))return!0;if(e.kind!==219){let t=Ac(e.parameters);if(!(t&&XE(t)))return!0}}return!1}function XC(e){return e===\"Infinity\"||e===\"-Infinity\"||e===\"NaN\"}function pre(e){return e.kind===260&&e.parent.kind===299}function e0(e){return e.kind===218||e.kind===219}function t0(e){return e.replace(/\\$/gm,()=>\"\\\\$\")}function Rh(e){return(+e).toString()===e}function vF(e,t,r,i,o){let s=o&&e===\"new\";return!s&&Tp(e,t)?P.createIdentifier(e):!i&&!s&&Rh(e)&&+e>=0?P.createNumericLiteral(+e):P.createStringLiteral(e,!!r)}function YC(e){return!!(e.flags&262144&&e.isThisType)}function yF(e){let t=0,r=0,i=0,o=0,s;(h=>{h[h.BeforeNodeModules=0]=\"BeforeNodeModules\",h[h.NodeModules=1]=\"NodeModules\",h[h.Scope=2]=\"Scope\",h[h.PackageContent=3]=\"PackageContent\"})(s||(s={}));let l=0,d=0,p=0;for(;d>=0;)switch(l=d,d=e.indexOf(\"/\",l+1),p){case 0:e.indexOf(q_,l)===l&&(t=l,r=d,p=1);break;case 1:case 2:p===1&&e.charAt(l+1)===\"@\"?p=2:(i=d,p=3);break;case 3:e.indexOf(q_,l)===l?p=1:p=3;break}return o=l,p>1?{topLevelNodeModulesIndex:t,topLevelPackageNameIndex:r,packageRootIndex:i,fileNameIndex:o}:void 0}function fbe(e){var t;return e.kind===348?(t=e.typeExpression)==null?void 0:t.type:e.type}function Cx(e){switch(e.kind){case 168:case 263:case 264:case 265:case 266:case 353:case 345:case 347:return!0;case 273:return e.isTypeOnly;case 276:case 281:return e.parent.parent.isTypeOnly;default:return!1}}function e2(e){return kb(e)||cl(e)||Ql(e)||Zl(e)||Gd(e)||Cx(e)||Il(e)&&!zE(e)&&!Jm(e)}function t2(e){if(!iC(e))return!1;let{isBracketed:t,typeExpression:r}=e;return t||!!r&&r.type.kind===323}function OV(e,t){if(e.length===0)return!1;let r=e.charCodeAt(0);return r===35?e.length>1&&_h(e.charCodeAt(1),t):_h(r,t)}function fre(e){var t;return((t=cj(e))==null?void 0:t.kind)===0}function n2(e){return Jn(e)&&(e.type&&e.type.kind===323||G1(e).some(({isBracketed:t,typeExpression:r})=>t||!!r&&r.type.kind===323))}function $C(e){switch(e.kind){case 172:case 171:return!!e.questionToken;case 169:return!!e.questionToken||n2(e);case 355:case 348:return t2(e);default:return!1}}function mre(e){let t=e.kind;return(t===211||t===212)&&dI(e.expression)}function wV(e){return Jn(e)&&uu(e)&&ap(e)&&!!GG(e)}function WV(e){return x.checkDefined(bF(e))}function bF(e){let t=GG(e);return t&&t.typeExpression&&t.typeExpression.type}function QC(e){return Me(e)?e.escapedText:JA(e)}function r2(e){return Me(e)?ar(e):ZC(e)}function _re(e){let t=e.kind;return t===80||t===295}function JA(e){return`${e.namespace.escapedText}:${ar(e.name)}`}function ZC(e){return`${ar(e.namespace)}:${ar(e.name)}`}function FV(e){return Me(e)?ar(e):ZC(e)}function Af(e){return!!(e.flags&8576)}function If(e){return e.flags&8192?e.escapedName:e.flags&384?Hs(\"\"+e.value):x.fail()}function EF(e){return!!e&&(Er(e)||Rs(e)||Zn(e))}function hre(e){return e===void 0?!1:!!oR(e.attributes)}function KA(e,t){return Mbe.call(e,\"*\",t)}function SF(e){return Me(e.name)?e.name.escapedText:Hs(e.name.text)}var TF,ay,i2,AF,o2,IF,zV,BV,mbe,_be,GV,hbe,gbe,VV,jV,UV,HV,vbe,ybe,bbe,Ebe,Sbe,gre,Tbe,Abe,Ibe,eN,FS,xbe,Rbe,wc,vre,xF,Ul,Wa,ld,zd,qV,xf,z_,zS,RF,DF,Mb,Xp,n0,tN,a2,sy,nN,JV,Dbe,KV,XV,yre,bre,Ere,YV,Nx,$V,Cbe,Nbe,QV,Px,CF,Pbe,s2,l2,c2,ZV,ej,NF,Mbe,C6e=pt({\"src/compiler/utilities.ts\"(){\"use strict\";wo(),TF=[],ay=\"tslib\",i2=160,AF=1e6,o2=MFe(),IF=Kd(()=>new Map(Object.entries({Array:new Map(Object.entries({es2015:[\"find\",\"findIndex\",\"fill\",\"copyWithin\",\"entries\",\"keys\",\"values\"],es2016:[\"includes\"],es2019:[\"flat\",\"flatMap\"],es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Iterator:new Map(Object.entries({es2015:je})),AsyncIterator:new Map(Object.entries({es2015:je})),Atomics:new Map(Object.entries({es2017:je})),SharedArrayBuffer:new Map(Object.entries({es2017:je})),AsyncIterable:new Map(Object.entries({es2018:je})),AsyncIterableIterator:new Map(Object.entries({es2018:je})),AsyncGenerator:new Map(Object.entries({es2018:je})),AsyncGeneratorFunction:new Map(Object.entries({es2018:je})),RegExp:new Map(Object.entries({es2015:[\"flags\",\"sticky\",\"unicode\"],es2018:[\"dotAll\"]})),Reflect:new Map(Object.entries({es2015:[\"apply\",\"construct\",\"defineProperty\",\"deleteProperty\",\"get\",\"getOwnPropertyDescriptor\",\"getPrototypeOf\",\"has\",\"isExtensible\",\"ownKeys\",\"preventExtensions\",\"set\",\"setPrototypeOf\"]})),ArrayConstructor:new Map(Object.entries({es2015:[\"from\",\"of\"]})),ObjectConstructor:new Map(Object.entries({es2015:[\"assign\",\"getOwnPropertySymbols\",\"keys\",\"is\",\"setPrototypeOf\"],es2017:[\"values\",\"entries\",\"getOwnPropertyDescriptors\"],es2019:[\"fromEntries\"],es2022:[\"hasOwn\"]})),NumberConstructor:new Map(Object.entries({es2015:[\"isFinite\",\"isInteger\",\"isNaN\",\"isSafeInteger\",\"parseFloat\",\"parseInt\"]})),Math:new Map(Object.entries({es2015:[\"clz32\",\"imul\",\"sign\",\"log10\",\"log2\",\"log1p\",\"expm1\",\"cosh\",\"sinh\",\"tanh\",\"acosh\",\"asinh\",\"atanh\",\"hypot\",\"trunc\",\"fround\",\"cbrt\"]})),Map:new Map(Object.entries({es2015:[\"entries\",\"keys\",\"values\"]})),Set:new Map(Object.entries({es2015:[\"entries\",\"keys\",\"values\"]})),PromiseConstructor:new Map(Object.entries({es2015:[\"all\",\"race\",\"reject\",\"resolve\"],es2020:[\"allSettled\"],es2021:[\"any\"]})),Symbol:new Map(Object.entries({es2015:[\"for\",\"keyFor\"],es2019:[\"description\"]})),WeakMap:new Map(Object.entries({es2015:[\"entries\",\"keys\",\"values\"]})),WeakSet:new Map(Object.entries({es2015:[\"entries\",\"keys\",\"values\"]})),String:new Map(Object.entries({es2015:[\"codePointAt\",\"includes\",\"endsWith\",\"normalize\",\"repeat\",\"startsWith\",\"anchor\",\"big\",\"blink\",\"bold\",\"fixed\",\"fontcolor\",\"fontsize\",\"italics\",\"link\",\"small\",\"strike\",\"sub\",\"sup\"],es2017:[\"padStart\",\"padEnd\"],es2019:[\"trimStart\",\"trimEnd\",\"trimLeft\",\"trimRight\"],es2020:[\"matchAll\"],es2021:[\"replaceAll\"],es2022:[\"at\"]})),StringConstructor:new Map(Object.entries({es2015:[\"fromCodePoint\",\"raw\"]})),DateTimeFormat:new Map(Object.entries({es2017:[\"formatToParts\"]})),Promise:new Map(Object.entries({es2015:je,es2018:[\"finally\"]})),RegExpMatchArray:new Map(Object.entries({es2018:[\"groups\"]})),RegExpExecArray:new Map(Object.entries({es2018:[\"groups\"]})),Intl:new Map(Object.entries({es2018:[\"PluralRules\"]})),NumberFormat:new Map(Object.entries({es2018:[\"formatToParts\"]})),SymbolConstructor:new Map(Object.entries({es2020:[\"matchAll\"]})),DataView:new Map(Object.entries({es2020:[\"setBigInt64\",\"setBigUint64\",\"getBigInt64\",\"getBigUint64\"]})),BigInt:new Map(Object.entries({es2020:je})),RelativeTimeFormat:new Map(Object.entries({es2020:[\"format\",\"formatToParts\",\"resolvedOptions\"]})),Int8Array:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Uint8Array:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Uint8ClampedArray:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Int16Array:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Uint16Array:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Int32Array:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Uint32Array:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Float32Array:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Float64Array:new Map(Object.entries({es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),BigInt64Array:new Map(Object.entries({es2020:je,es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),BigUint64Array:new Map(Object.entries({es2020:je,es2022:[\"at\"],es2023:[\"findLastIndex\",\"findLast\"]})),Error:new Map(Object.entries({es2022:[\"cause\"]}))}))),zV=(e=>(e[e.None=0]=\"None\",e[e.NeverAsciiEscape=1]=\"NeverAsciiEscape\",e[e.JsxAttributeEscape=2]=\"JsxAttributeEscape\",e[e.TerminateUnterminatedLiterals=4]=\"TerminateUnterminatedLiterals\",e[e.AllowNumericSeparator=8]=\"AllowNumericSeparator\",e))(zV||{}),BV=/^(\\/\\/\\/\\s*<reference\\s+path\\s*=\\s*)(('[^']*')|(\"[^\"]*\")).*?\\/>/,mbe=/^(\\/\\/\\/\\s*<reference\\s+types\\s*=\\s*)(('[^']*')|(\"[^\"]*\")).*?\\/>/,_be=/^(\\/\\/\\/\\s*<reference\\s+lib\\s*=\\s*)(('[^']*')|(\"[^\"]*\")).*?\\/>/,GV=/^(\\/\\/\\/\\s*<amd-dependency\\s+path\\s*=\\s*)(('[^']*')|(\"[^\"]*\")).*?\\/>/,hbe=/^\\/\\/\\/\\s*<amd-module\\s+.*?\\/>/,gbe=/^(\\/\\/\\/\\s*<reference\\s+no-default-lib\\s*=\\s*)(('[^']*')|(\"[^\"]*\"))\\s*\\/>/,VV=(e=>(e[e.None=0]=\"None\",e[e.Definite=1]=\"Definite\",e[e.Compound=2]=\"Compound\",e))(VV||{}),jV=(e=>(e[e.Normal=0]=\"Normal\",e[e.Generator=1]=\"Generator\",e[e.Async=2]=\"Async\",e[e.Invalid=4]=\"Invalid\",e[e.AsyncGenerator=3]=\"AsyncGenerator\",e))(jV||{}),UV=(e=>(e[e.Left=0]=\"Left\",e[e.Right=1]=\"Right\",e))(UV||{}),HV=(e=>(e[e.Comma=0]=\"Comma\",e[e.Spread=1]=\"Spread\",e[e.Yield=2]=\"Yield\",e[e.Assignment=3]=\"Assignment\",e[e.Conditional=4]=\"Conditional\",e[e.Coalesce=4]=\"Coalesce\",e[e.LogicalOR=5]=\"LogicalOR\",e[e.LogicalAND=6]=\"LogicalAND\",e[e.BitwiseOR=7]=\"BitwiseOR\",e[e.BitwiseXOR=8]=\"BitwiseXOR\",e[e.BitwiseAND=9]=\"BitwiseAND\",e[e.Equality=10]=\"Equality\",e[e.Relational=11]=\"Relational\",e[e.Shift=12]=\"Shift\",e[e.Additive=13]=\"Additive\",e[e.Multiplicative=14]=\"Multiplicative\",e[e.Exponentiation=15]=\"Exponentiation\",e[e.Unary=16]=\"Unary\",e[e.Update=17]=\"Update\",e[e.LeftHandSide=18]=\"LeftHandSide\",e[e.Member=19]=\"Member\",e[e.Primary=20]=\"Primary\",e[e.Highest=20]=\"Highest\",e[e.Lowest=0]=\"Lowest\",e[e.Invalid=-1]=\"Invalid\",e))(HV||{}),vbe=/\\$\\{/g,ybe=/[\\\\\"\\u0000-\\u001f\\t\\v\\f\\b\\r\\n\\u2028\\u2029\\u0085]/g,bbe=/[\\\\'\\u0000-\\u001f\\t\\v\\f\\b\\r\\n\\u2028\\u2029\\u0085]/g,Ebe=/\\r\\n|[\\\\`\\u0000-\\u001f\\t\\v\\f\\b\\r\\u2028\\u2029\\u0085]/g,Sbe=new Map(Object.entries({\"\t\":\"\\\\t\",\"\\v\":\"\\\\v\",\"\\f\":\"\\\\f\",\"\\b\":\"\\\\b\",\"\\r\":\"\\\\r\",\"\\n\":\"\\\\n\",\"\\\\\":\"\\\\\\\\\",'\"':'\\\\\"',\"'\":\"\\\\'\",\"`\":\"\\\\`\",\"\\u2028\":\"\\\\u2028\",\"\\u2029\":\"\\\\u2029\",\"\\x85\":\"\\\\u0085\",\"\\r\\n\":\"\\\\r\\\\n\"})),gre=/[^\\u0000-\\u007F]/g,Tbe=/[\"\\u0000-\\u001f\\u2028\\u2029\\u0085]/g,Abe=/['\\u0000-\\u001f\\u2028\\u2029\\u0085]/g,Ibe=new Map(Object.entries({'\"':\"&quot;\",\"'\":\"&apos;\"})),eN=[\"\",\"    \"],FS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",xbe=`\\r\n`,Rbe=`\n`,wc={getNodeConstructor:()=>Gne,getTokenConstructor:()=>u6e,getIdentifierConstructor:()=>p6e,getPrivateIdentifierConstructor:()=>Gne,getSourceFileConstructor:()=>Gne,getSymbolConstructor:()=>l6e,getTypeConstructor:()=>c6e,getSignatureConstructor:()=>d6e,getSourceMapSourceConstructor:()=>f6e},vre=[],Ul={target:{dependencies:[\"module\"],computeValue:e=>e.target??(e.module===100&&9||e.module===199&&99||1)},module:{dependencies:[\"target\"],computeValue:e=>typeof e.module==\"number\"?e.module:Ul.target.computeValue(e)>=2?5:1},moduleResolution:{dependencies:[\"module\",\"target\"],computeValue:e=>{let t=e.moduleResolution;if(t===void 0)switch(Ul.module.computeValue(e)){case 1:t=2;break;case 100:t=3;break;case 199:t=99;break;case 200:t=100;break;default:t=1;break}return t}},moduleDetection:{dependencies:[\"module\",\"target\"],computeValue:e=>e.moduleDetection||(Ul.module.computeValue(e)===100||Ul.module.computeValue(e)===199?3:2)},isolatedModules:{dependencies:[\"verbatimModuleSyntax\"],computeValue:e=>!!(e.isolatedModules||e.verbatimModuleSyntax)},esModuleInterop:{dependencies:[\"module\",\"target\"],computeValue:e=>{if(e.esModuleInterop!==void 0)return e.esModuleInterop;switch(Ul.module.computeValue(e)){case 100:case 199:case 200:return!0}return!1}},allowSyntheticDefaultImports:{dependencies:[\"module\",\"target\",\"moduleResolution\"],computeValue:e=>e.allowSyntheticDefaultImports!==void 0?e.allowSyntheticDefaultImports:Ul.esModuleInterop.computeValue(e)||Ul.module.computeValue(e)===4||Ul.moduleResolution.computeValue(e)===100},resolvePackageJsonExports:{dependencies:[\"moduleResolution\"],computeValue:e=>{let t=Ul.moduleResolution.computeValue(e);if(!HA(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}},resolvePackageJsonImports:{dependencies:[\"moduleResolution\",\"resolvePackageJsonExports\"],computeValue:e=>{let t=Ul.moduleResolution.computeValue(e);if(!HA(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}},resolveJsonModule:{dependencies:[\"moduleResolution\",\"module\",\"target\"],computeValue:e=>e.resolveJsonModule!==void 0?e.resolveJsonModule:Ul.moduleResolution.computeValue(e)===100},declaration:{dependencies:[\"composite\"],computeValue:e=>!!(e.declaration||e.composite)},preserveConstEnums:{dependencies:[\"isolatedModules\",\"verbatimModuleSyntax\"],computeValue:e=>!!(e.preserveConstEnums||Ul.isolatedModules.computeValue(e))},incremental:{dependencies:[\"composite\"],computeValue:e=>!!(e.incremental||e.composite)},declarationMap:{dependencies:[\"declaration\",\"composite\"],computeValue:e=>!!(e.declarationMap&&Ul.declaration.computeValue(e))},allowJs:{dependencies:[\"checkJs\"],computeValue:e=>e.allowJs===void 0?!!e.checkJs:e.allowJs},useDefineForClassFields:{dependencies:[\"target\",\"module\"],computeValue:e=>e.useDefineForClassFields===void 0?Ul.target.computeValue(e)>=9:e.useDefineForClassFields},noImplicitAny:{dependencies:[\"strict\"],computeValue:e=>Fd(e,\"noImplicitAny\")},noImplicitThis:{dependencies:[\"strict\"],computeValue:e=>Fd(e,\"noImplicitThis\")},strictNullChecks:{dependencies:[\"strict\"],computeValue:e=>Fd(e,\"strictNullChecks\")},strictFunctionTypes:{dependencies:[\"strict\"],computeValue:e=>Fd(e,\"strictFunctionTypes\")},strictBindCallApply:{dependencies:[\"strict\"],computeValue:e=>Fd(e,\"strictBindCallApply\")},strictPropertyInitialization:{dependencies:[\"strict\"],computeValue:e=>Fd(e,\"strictPropertyInitialization\")},alwaysStrict:{dependencies:[\"strict\"],computeValue:e=>Fd(e,\"alwaysStrict\")},useUnknownInCatchVariables:{dependencies:[\"strict\"],computeValue:e=>Fd(e,\"useUnknownInCatchVariables\")}},Wa=Ul.target.computeValue,ld=Ul.module.computeValue,zd=Ul.moduleResolution.computeValue,qV=Ul.moduleDetection.computeValue,xf=Ul.isolatedModules.computeValue,z_=Ul.esModuleInterop.computeValue,zS=Ul.allowSyntheticDefaultImports.computeValue,RF=Ul.resolvePackageJsonExports.computeValue,DF=Ul.resolvePackageJsonImports.computeValue,Mb=Ul.resolveJsonModule.computeValue,Xp=Ul.declaration.computeValue,n0=Ul.preserveConstEnums.computeValue,tN=Ul.incremental.computeValue,a2=Ul.declarationMap.computeValue,sy=Ul.allowJs.computeValue,nN=Ul.useDefineForClassFields.computeValue,JV=/[^\\w\\s/]/g,Dbe=[42,63],KV=[\"node_modules\",\"bower_components\",\"jspm_packages\"],XV=`(?!(${KV.join(\"|\")})(/|$))`,yre={singleAsteriskRegexFragment:\"([^./]|(\\\\.(?!min\\\\.js$))?)*\",doubleAsteriskRegexFragment:`(/${XV}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>ere(e,yre.singleAsteriskRegexFragment)},bre={singleAsteriskRegexFragment:\"[^/]*\",doubleAsteriskRegexFragment:`(/${XV}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>ere(e,bre.singleAsteriskRegexFragment)},Ere={singleAsteriskRegexFragment:\"[^/]*\",doubleAsteriskRegexFragment:\"(/.+?)?\",replaceWildcardCharacter:e=>ere(e,Ere.singleAsteriskRegexFragment)},YV={files:yre,directories:bre,exclude:Ere},Nx=[[\".ts\",\".tsx\",\".d.ts\"],[\".cts\",\".d.cts\"],[\".mts\",\".d.mts\"]],$V=Ff(Nx),Cbe=[...Nx,[\".json\"]],Nbe=[\".d.ts\",\".d.cts\",\".d.mts\",\".cts\",\".mts\",\".ts\",\".tsx\"],QV=[[\".js\",\".jsx\"],[\".mjs\"],[\".cjs\"]],Px=Ff(QV),CF=[[\".ts\",\".tsx\",\".d.ts\",\".js\",\".jsx\"],[\".cts\",\".d.cts\",\".cjs\"],[\".mts\",\".d.mts\",\".mjs\"]],Pbe=[...CF,[\".json\"]],s2=[\".d.ts\",\".d.cts\",\".d.mts\"],l2=[\".ts\",\".cts\",\".mts\",\".tsx\"],c2=[\".mts\",\".d.mts\",\".mjs\",\".cts\",\".d.cts\",\".cjs\"],ZV=(e=>(e[e.Minimal=0]=\"Minimal\",e[e.Index=1]=\"Index\",e[e.JsExtension=2]=\"JsExtension\",e[e.TsExtension=3]=\"TsExtension\",e))(ZV||{}),ej=[\".d.ts\",\".d.mts\",\".d.cts\",\".mjs\",\".mts\",\".cjs\",\".cts\",\".ts\",\".js\",\".tsx\",\".jsx\",\".json\"],NF={files:je,directories:je},Mbe=String.prototype.replace}});function Sre(){let e,t,r,i,o;return{createBaseSourceFileNode:s,createBaseIdentifierNode:l,createBasePrivateIdentifierNode:d,createBaseTokenNode:p,createBaseNode:h};function s(m){return new(o||(o=wc.getSourceFileConstructor()))(m,-1,-1)}function l(m){return new(r||(r=wc.getIdentifierConstructor()))(m,-1,-1)}function d(m){return new(i||(i=wc.getPrivateIdentifierConstructor()))(m,-1,-1)}function p(m){return new(t||(t=wc.getTokenConstructor()))(m,-1,-1)}function h(m){return new(e||(e=wc.getNodeConstructor()))(m,-1,-1)}}var N6e=pt({\"src/compiler/factory/baseNodeFactory.ts\"(){\"use strict\";wo()}});function Tre(e){let t,r;return{getParenthesizeLeftSideOfBinaryForOperator:i,getParenthesizeRightSideOfBinaryForOperator:o,parenthesizeLeftSideOfBinary:h,parenthesizeRightSideOfBinary:m,parenthesizeExpressionOfComputedPropertyName:v,parenthesizeConditionOfConditionalExpression:E,parenthesizeBranchOfConditionalExpression:S,parenthesizeExpressionOfExportDefault:A,parenthesizeExpressionOfNew:C,parenthesizeLeftSideOfAccess:R,parenthesizeOperandOfPostfixUnary:L,parenthesizeOperandOfPrefixUnary:G,parenthesizeExpressionsOfCommaDelimitedList:U,parenthesizeExpressionForDisallowedComma:K,parenthesizeExpressionOfExpressionStatement:F,parenthesizeConciseBodyOfArrowFunction:oe,parenthesizeCheckTypeOfConditionalType:W,parenthesizeExtendsTypeOfConditionalType:$,parenthesizeConstituentTypesOfUnionType:fe,parenthesizeConstituentTypeOfUnionType:de,parenthesizeConstituentTypesOfIntersectionType:H,parenthesizeConstituentTypeOfIntersectionType:q,parenthesizeOperandOfTypeOperator:ee,parenthesizeOperandOfReadonlyTypeOperator:le,parenthesizeNonArrayTypeOfPostfixType:Ee,parenthesizeElementTypesOfTupleType:ce,parenthesizeElementTypeOfTupleType:Z,parenthesizeTypeOfOptionalType:Ae,parenthesizeTypeArguments:be,parenthesizeLeadingTypeArgument:Oe};function i(Te){t||(t=new Map);let De=t.get(Te);return De||(De=ft=>h(Te,ft),t.set(Te,De)),De}function o(Te){r||(r=new Map);let De=r.get(Te);return De||(De=ft=>m(Te,void 0,ft),r.set(Te,De)),De}function s(Te,De,ft,he){let Le=FL(226,Te),Ke=$9(226,Te),Dt=jf(De);if(!ft&&De.kind===219&&Le>3)return!0;let st=xC(Dt);switch(Ms(st,Le)){case-1:return!(!ft&&Ke===1&&De.kind===229);case 1:return!1;case 0:if(ft)return Ke===1;if(Zn(Dt)&&Dt.operatorToken.kind===Te){if(l(Te))return!1;if(Te===40){let ot=he?d(he):0;if(oC(ot)&&ot===d(Dt))return!1}}return Y9(Dt)===0}}function l(Te){return Te===42||Te===52||Te===51||Te===53||Te===28}function d(Te){if(Te=jf(Te),oC(Te.kind))return Te.kind;if(Te.kind===226&&Te.operatorToken.kind===40){if(Te.cachedLiteralKind!==void 0)return Te.cachedLiteralKind;let De=d(Te.left),ft=oC(De)&&De===d(Te.right)?De:0;return Te.cachedLiteralKind=ft,ft}return 0}function p(Te,De,ft,he){return jf(De).kind===217?De:s(Te,De,ft,he)?e.createParenthesizedExpression(De):De}function h(Te,De){return p(Te,De,!0)}function m(Te,De,ft){return p(Te,ft,!1,De)}function v(Te){return vN(Te)?e.createParenthesizedExpression(Te):Te}function E(Te){let De=FL(227,58),ft=jf(Te),he=xC(ft);return Ms(he,De)!==1?e.createParenthesizedExpression(Te):Te}function S(Te){let De=jf(Te);return vN(De)?e.createParenthesizedExpression(Te):Te}function A(Te){let De=jf(Te),ft=vN(De);if(!ft)switch(Ax(De,!1).kind){case 231:case 218:ft=!0}return ft?e.createParenthesizedExpression(Te):Te}function C(Te){let De=Ax(Te,!0);switch(De.kind){case 213:return e.createParenthesizedExpression(Te);case 214:return De.arguments?Te:e.createParenthesizedExpression(Te)}return R(Te)}function R(Te,De){let ft=jf(Te);return Tu(ft)&&(ft.kind!==214||ft.arguments)&&(De||!yd(ft))?Te:Ze(e.createParenthesizedExpression(Te),Te)}function L(Te){return Tu(Te)?Te:Ze(e.createParenthesizedExpression(Te),Te)}function G(Te){return e9(Te)?Te:Ze(e.createParenthesizedExpression(Te),Te)}function U(Te){let De=sc(Te,K);return Ze(e.createNodeArray(De,Te.hasTrailingComma),Te)}function K(Te){let De=jf(Te),ft=xC(De),he=FL(226,28);return ft>he?Te:Ze(e.createParenthesizedExpression(Te),Te)}function F(Te){let De=jf(Te);if(Bo(De)){let he=De.expression,Le=jf(he).kind;if(Le===218||Le===219){let Ke=e.updateCallExpression(De,Ze(e.createParenthesizedExpression(he),he),De.typeArguments,De.arguments);return e.restoreOuterExpressions(Te,Ke,8)}}let ft=Ax(De,!1).kind;return ft===210||ft===218?Ze(e.createParenthesizedExpression(Te),Te):Te}function oe(Te){return!Do(Te)&&(vN(Te)||Ax(Te,!1).kind===210)?Ze(e.createParenthesizedExpression(Te),Te):Te}function W(Te){switch(Te.kind){case 184:case 185:case 194:return e.createParenthesizedType(Te)}return Te}function $(Te){switch(Te.kind){case 194:return e.createParenthesizedType(Te)}return Te}function de(Te){switch(Te.kind){case 192:case 193:return e.createParenthesizedType(Te)}return W(Te)}function fe(Te){return e.createNodeArray(sc(Te,de))}function q(Te){switch(Te.kind){case 192:case 193:return e.createParenthesizedType(Te)}return de(Te)}function H(Te){return e.createNodeArray(sc(Te,q))}function ee(Te){switch(Te.kind){case 193:return e.createParenthesizedType(Te)}return q(Te)}function le(Te){switch(Te.kind){case 198:return e.createParenthesizedType(Te)}return ee(Te)}function Ee(Te){switch(Te.kind){case 195:case 198:case 186:return e.createParenthesizedType(Te)}return ee(Te)}function ce(Te){return e.createNodeArray(sc(Te,Z))}function Z(Te){return pe(Te)?e.createParenthesizedType(Te):Te}function pe(Te){return Bx(Te)?Te.postfix:Ox(Te)||G_(Te)||kx(Te)||jS(Te)?pe(Te.type):lI(Te)?pe(Te.falseType):dy(Te)||sI(Te)?pe(Da(Te.types)):GS(Te)?!!Te.typeParameter.constraint&&pe(Te.typeParameter.constraint):!1}function Ae(Te){return pe(Te)?e.createParenthesizedType(Te):Ee(Te)}function Oe(Te){return Xee(Te)&&Te.typeParameters?e.createParenthesizedType(Te):Te}function _e(Te,De){return De===0?Oe(Te):Te}function be(Te){if(ct(Te))return e.createNodeArray(sc(Te,_e))}}var tj,P6e=pt({\"src/compiler/factory/parenthesizerRules.ts\"(){\"use strict\";wo(),tj={getParenthesizeLeftSideOfBinaryForOperator:e=>Ps,getParenthesizeRightSideOfBinaryForOperator:e=>Ps,parenthesizeLeftSideOfBinary:(e,t)=>t,parenthesizeRightSideOfBinary:(e,t,r)=>r,parenthesizeExpressionOfComputedPropertyName:Ps,parenthesizeConditionOfConditionalExpression:Ps,parenthesizeBranchOfConditionalExpression:Ps,parenthesizeExpressionOfExportDefault:Ps,parenthesizeExpressionOfNew:e=>Fo(e,Tu),parenthesizeLeftSideOfAccess:e=>Fo(e,Tu),parenthesizeOperandOfPostfixUnary:e=>Fo(e,Tu),parenthesizeOperandOfPrefixUnary:e=>Fo(e,e9),parenthesizeExpressionsOfCommaDelimitedList:e=>Fo(e,OE),parenthesizeExpressionForDisallowedComma:Ps,parenthesizeExpressionOfExpressionStatement:Ps,parenthesizeConciseBodyOfArrowFunction:Ps,parenthesizeCheckTypeOfConditionalType:Ps,parenthesizeExtendsTypeOfConditionalType:Ps,parenthesizeConstituentTypesOfUnionType:e=>Fo(e,OE),parenthesizeConstituentTypeOfUnionType:Ps,parenthesizeConstituentTypesOfIntersectionType:e=>Fo(e,OE),parenthesizeConstituentTypeOfIntersectionType:Ps,parenthesizeOperandOfTypeOperator:Ps,parenthesizeOperandOfReadonlyTypeOperator:Ps,parenthesizeNonArrayTypeOfPostfixType:Ps,parenthesizeElementTypesOfTupleType:e=>Fo(e,OE),parenthesizeElementTypeOfTupleType:Ps,parenthesizeTypeOfOptionalType:Ps,parenthesizeTypeArguments:e=>e&&Fo(e,OE),parenthesizeLeadingTypeArgument:Ps}}});function Are(e){return{convertToFunctionBlock:t,convertToFunctionExpression:r,convertToClassExpression:i,convertToArrayAssignmentElement:o,convertToObjectAssignmentElement:s,convertToAssignmentPattern:l,convertToObjectAssignmentPattern:d,convertToArrayAssignmentPattern:p,convertToAssignmentElementTarget:h};function t(m,v){if(Do(m))return m;let E=e.createReturnStatement(m);Ze(E,m);let S=e.createBlock([E],v);return Ze(S,m),S}function r(m){var v;if(!m.body)return x.fail(\"Cannot convert a FunctionDeclaration without a body\");let E=e.createFunctionExpression((v=kE(m))==null?void 0:v.filter(S=>!nI(S)&&!f6(S)),m.asteriskToken,m.name,m.typeParameters,m.parameters,m.type,m.body);return mr(E,m),Ze(E,m),rN(m)&&LF(E,!0),E}function i(m){var v;let E=e.createClassExpression((v=m.modifiers)==null?void 0:v.filter(S=>!nI(S)&&!f6(S)),m.name,m.typeParameters,m.heritageClauses,m.members);return mr(E,m),Ze(E,m),rN(m)&&LF(E,!0),E}function o(m){if(Na(m)){if(m.dotDotDotToken)return x.assertNode(m.name,Me),mr(Ze(e.createSpreadElement(m.name),m),m);let v=h(m.name);return m.initializer?mr(Ze(e.createAssignment(v,m.initializer),m),m):v}return Fo(m,lt)}function s(m){if(Na(m)){if(m.dotDotDotToken)return x.assertNode(m.name,Me),mr(Ze(e.createSpreadAssignment(m.name),m),m);if(m.propertyName){let v=h(m.name);return mr(Ze(e.createPropertyAssignment(m.propertyName,m.initializer?e.createAssignment(v,m.initializer):v),m),m)}return x.assertNode(m.name,Me),mr(Ze(e.createShorthandPropertyAssignment(m.name,m.initializer),m),m)}return Fo(m,Zh)}function l(m){switch(m.kind){case 207:case 209:return p(m);case 206:case 210:return d(m)}}function d(m){return Rf(m)?mr(Ze(e.createObjectLiteralExpression(nn(m.elements,s)),m),m):Fo(m,ma)}function p(m){return i0(m)?mr(Ze(e.createArrayLiteralExpression(nn(m.elements,o)),m),m):Fo(m,Bd)}function h(m){return ko(m)?l(m):Fo(m,lt)}}var nj,M6e=pt({\"src/compiler/factory/nodeConverters.ts\"(){\"use strict\";wo(),nj={convertToFunctionBlock:Ro,convertToFunctionExpression:Ro,convertToClassExpression:Ro,convertToArrayAssignmentElement:Ro,convertToObjectAssignmentElement:Ro,convertToAssignmentPattern:Ro,convertToObjectAssignmentPattern:Ro,convertToArrayAssignmentPattern:Ro,convertToAssignmentElementTarget:Ro}}});function Lbe(e){xre.push(e)}function d2(e,t){let r=e&8?Ps:mr,i=Kd(()=>e&1?tj:Tre(L)),o=Kd(()=>e&2?nj:Are(L)),s=N_(y=>(D,w)=>ge(D,y,w)),l=N_(y=>D=>Ye(y,D)),d=N_(y=>D=>Nt(D,y)),p=N_(y=>()=>XR(y)),h=N_(y=>D=>xT(y,D)),m=N_(y=>(D,w)=>O0(y,D,w)),v=N_(y=>(D,w)=>YR(y,D,w)),E=N_(y=>(D,w)=>Ds(y,D,w)),S=N_(y=>(D,w)=>sE(y,D,w)),A=N_(y=>(D,w,ie)=>of(y,D,w,ie)),C=N_(y=>(D,w,ie)=>ky(y,D,w,ie)),R=N_(y=>(D,w,ie,Be)=>Oy(y,D,w,ie,Be)),L={get parenthesizer(){return i()},get converters(){return o()},baseFactory:t,flags:e,createNodeArray:G,createNumericLiteral:oe,createBigIntLiteral:W,createStringLiteral:de,createStringLiteralFromNode:fe,createRegularExpressionLiteral:q,createLiteralLikeNode:H,createIdentifier:Ee,createTempVariable:ce,createLoopVariable:Z,createUniqueName:pe,getGeneratedNameForNode:Ae,createPrivateIdentifier:_e,createUniquePrivateName:Te,getGeneratedPrivateNameForNode:De,createToken:he,createSuper:Le,createThis:Ke,createNull:Dt,createTrue:st,createFalse:Ge,createModifier:ot,createModifiersFromModifierFlags:Vt,createQualifiedName:jt,updateQualifiedName:gn,createComputedPropertyName:On,updateComputedPropertyName:en,createTypeParameterDeclaration:zt,updateTypeParameterDeclaration:Wt,createParameterDeclaration:ei,updateParameterDeclaration:Ki,createDecorator:gi,updateDecorator:io,createPropertySignature:Gn,updatePropertySignature:Nr,createPropertyDeclaration:Jt,updatePropertyDeclaration:Ue,createMethodSignature:Rt,updateMethodSignature:mn,createMethodDeclaration:qr,updateMethodDeclaration:ni,createConstructorDeclaration:ln,updateConstructorDeclaration:Tn,createGetAccessorDeclaration:nt,updateGetAccessorDeclaration:tt,createSetAccessorDeclaration:re,updateSetAccessorDeclaration:Ce,createCallSignature:z,updateCallSignature:Je,createConstructSignature:_t,updateConstructSignature:ze,createIndexSignature:it,updateIndexSignature:Ct,createClassStaticBlockDeclaration:so,updateClassStaticBlockDeclaration:Jo,createTemplateLiteralTypeSpan:on,updateTemplateLiteralTypeSpan:Qt,createKeywordTypeNode:Zt,createTypePredicateNode:V,updateTypePredicateNode:Re,createTypeReferenceNode:St,updateTypeReferenceNode:M,createFunctionTypeNode:te,updateFunctionTypeNode:j,createConstructorTypeNode:Pe,updateConstructorTypeNode:bt,createTypeQueryNode:An,updateTypeQueryNode:Cn,createTypeLiteralNode:ti,updateTypeLiteralNode:di,createArrayTypeNode:jn,updateArrayTypeNode:Ar,createTupleTypeNode:Zi,updateTupleTypeNode:_i,createNamedTupleMember:ui,updateNamedTupleMember:Mr,createOptionalTypeNode:lo,updateOptionalTypeNode:_n,createRestTypeNode:ms,updateRestTypeNode:Dl,createUnionTypeNode:vs,updateUnionTypeNode:Js,createIntersectionTypeNode:Fc,updateIntersectionTypeNode:$i,createConditionalTypeNode:Uo,updateConditionalTypeNode:zc,createInferTypeNode:ts,updateInferTypeNode:ua,createImportTypeNode:Wl,updateImportTypeNode:il,createParenthesizedType:zs,updateParenthesizedType:ho,createThisTypeNode:Ut,createTypeOperatorNode:ys,updateTypeOperatorNode:Pc,createIndexedAccessTypeNode:Bc,updateIndexedAccessTypeNode:Ju,createMappedTypeNode:ls,updateMappedTypeNode:tc,createLiteralTypeNode:ae,updateLiteralTypeNode:X,createTemplateLiteralType:Us,updateTemplateLiteralType:tf,createObjectBindingPattern:xe,updateObjectBindingPattern:dt,createArrayBindingPattern:$t,updateArrayBindingPattern:sr,createBindingElement:tr,updateBindingElement:Ir,createArrayLiteralExpression:pi,updateArrayLiteralExpression:hr,createObjectLiteralExpression:No,updateObjectLiteralExpression:Qs,createPropertyAccessExpression:e&4?(y,D)=>$n(bs(y,D),262144):bs,updatePropertyAccessExpression:Jl,createPropertyAccessChain:e&4?(y,D,w)=>$n(Za(y,D,w),262144):Za,updatePropertyAccessChain:Ec,createElementAccessExpression:pc,updateElementAccessExpression:Nf,createElementAccessChain:Vd,updateElementAccessChain:Se,createCallExpression:Ln,updateCallExpression:eo,createCallChain:Po,updateCallChain:Oo,createNewExpression:Cl,updateNewExpression:Kl,createTaggedTemplateExpression:Bs,updateTaggedTemplateExpression:Ks,createTypeAssertion:vl,updateTypeAssertion:Nl,createParenthesizedExpression:Sc,updateParenthesizedExpression:kp,createFunctionExpression:fu,updateFunctionExpression:tu,createArrowFunction:nf,updateArrowFunction:u_,createDeleteExpression:X_,updateDeleteExpression:fg,createTypeOfExpression:fd,updateTypeOfExpression:mg,createVoidExpression:Ku,updateVoidExpression:Lh,createAwaitExpression:mu,updateAwaitExpression:Y,createPrefixUnaryExpression:Ye,updatePrefixUnaryExpression:xt,createPostfixUnaryExpression:Nt,updatePostfixUnaryExpression:k,createBinaryExpression:ge,updateBinaryExpression:Mt,createConditionalExpression:Vn,updateConditionalExpression:jr,createTemplateExpression:Or,updateTemplateExpression:zi,createTemplateHead:Xu,createTemplateMiddle:_u,createTemplateTail:Ay,createNoSubstitutionTemplateLiteral:ja,createTemplateLiteralLikeNode:nc,createYieldExpression:em,updateYieldExpression:tm,createSpreadElement:Ri,updateSpreadElement:_g,createClassExpression:yv,updateClassExpression:nm,createOmittedExpression:D0,createExpressionWithTypeArguments:C0,updateExpressionWithTypeArguments:Op,createAsExpression:p_,updateAsExpression:wp,createNonNullExpression:hg,updateNonNullExpression:Ne,createSatisfiesExpression:Ve,updateSatisfiesExpression:Tt,createNonNullChain:Pt,updateNonNullChain:rn,createMetaProperty:wn,updateMetaProperty:tn,createTemplateSpan:Wn,updateTemplateSpan:Qr,createSemicolonClassElement:Kn,createBlock:Gr,updateBlock:Qn,createVariableStatement:Mo,updateVariableStatement:xa,createEmptyStatement:xd,createExpressionStatement:Vc,updateExpressionStatement:gg,createIfStatement:$b,updateIfStatement:UI,createDoStatement:Qb,updateDoStatement:GR,createWhileStatement:VR,updateWhileStatement:jR,createForStatement:gT,updateForStatement:N0,createForInStatement:HI,updateForInStatement:UR,createForOfStatement:qI,updateForOfStatement:JI,createContinueStatement:KI,updateContinueStatement:XI,createBreakStatement:vT,updateBreakStatement:YI,createReturnStatement:P0,updateReturnStatement:M0,createWithStatement:Iy,updateWithStatement:xy,createSwitchStatement:kh,updateSwitchStatement:Zb,createLabeledStatement:La,updateLabeledStatement:yT,createThrowStatement:HR,updateThrowStatement:eE,createTryStatement:vg,updateTryStatement:Y_,createDebuggerStatement:rf,createVariableDeclaration:hu,updateVariableDeclaration:Yu,createVariableDeclarationList:Cu,updateVariableDeclarationList:bv,createFunctionDeclaration:bT,updateFunctionDeclaration:qR,createClassDeclaration:Ry,updateClassDeclaration:tE,createInterfaceDeclaration:QI,updateInterfaceDeclaration:Xl,createTypeAliasDeclaration:Ev,updateTypeAliasDeclaration:ZI,createEnumDeclaration:xm,updateEnumDeclaration:ET,createModuleDeclaration:we,updateModuleDeclaration:Rm,createModuleBlock:jc,updateModuleBlock:nE,createCaseBlock:e1,updateCaseBlock:Dy,createNamespaceExportDeclaration:Sv,updateNamespaceExportDeclaration:Tv,createImportEqualsDeclaration:Ra,updateImportEqualsDeclaration:Dm,createImportDeclaration:ST,updateImportDeclaration:TT,createImportClause:rE,updateImportClause:AT,createAssertClause:Pf,updateAssertClause:Mf,createAssertEntry:yg,updateAssertEntry:t1,createImportTypeAssertionContainer:Cm,updateImportTypeAssertionContainer:JR,createImportAttributes:L0,updateImportAttributes:Pi,createImportAttribute:Fr,updateImportAttribute:$_,createNamespaceImport:gu,updateNamespaceImport:TP,createNamespaceExport:bg,updateNamespaceExport:AP,createNamedImports:Cy,updateNamedImports:Xs,createImportSpecifier:pp,updateImportSpecifier:Oh,createExportAssignment:Lf,updateExportAssignment:Ny,createExportDeclaration:rm,updateExportDeclaration:Eg,createNamedExports:IT,updateNamedExports:wh,createExportSpecifier:n1,updateExportSpecifier:Wh,createMissingDeclaration:f_,createExternalModuleReference:Av,updateExternalModuleReference:KR,get createJSDocAllType(){return p(319)},get createJSDocUnknownType(){return p(320)},get createJSDocNonNullableType(){return v(322)},get updateJSDocNonNullableType(){return E(322)},get createJSDocNullableType(){return v(321)},get updateJSDocNullableType(){return E(321)},get createJSDocOptionalType(){return h(323)},get updateJSDocOptionalType(){return m(323)},get createJSDocVariadicType(){return h(325)},get updateJSDocVariadicType(){return m(325)},get createJSDocNamepathType(){return h(326)},get updateJSDocNamepathType(){return m(326)},createJSDocFunctionType:RT,updateJSDocFunctionType:im,createJSDocTypeLiteral:Py,updateJSDocTypeLiteral:$R,createJSDocTypeExpression:DT,updateJSDocTypeExpression:IP,createJSDocSignature:nr,updateJSDocSignature:Mc,createJSDocTemplateTag:m_,updateJSDocTemplateTag:Xn,createJSDocTypedefTag:CT,updateJSDocTypedefTag:iE,createJSDocParameterTag:Tc,updateJSDocParameterTag:Q_,createJSDocPropertyTag:om,updateJSDocPropertyTag:w0,createJSDocCallbackTag:W0,updateJSDocCallbackTag:My,createJSDocOverloadTag:Sg,updateJSDocOverloadTag:NT,createJSDocAugmentsTag:am,updateJSDocAugmentsTag:oE,createJSDocImplementsTag:Fh,updateJSDocImplementsTag:Nu,createJSDocSeeTag:Ly,updateJSDocSeeTag:r1,createJSDocNameReference:aE,updateJSDocNameReference:QR,createJSDocMemberName:F0,updateJSDocMemberName:PT,createJSDocLink:fp,updateJSDocLink:MT,createJSDocLinkCode:yl,updateJSDocLinkCode:fc,createJSDocLinkPlain:LT,updateJSDocLinkPlain:Qc,get createJSDocTypeTag(){return C(351)},get updateJSDocTypeTag(){return R(351)},get createJSDocReturnTag(){return C(349)},get updateJSDocReturnTag(){return R(349)},get createJSDocThisTag(){return C(350)},get updateJSDocThisTag(){return R(350)},get createJSDocAuthorTag(){return S(337)},get updateJSDocAuthorTag(){return A(337)},get createJSDocClassTag(){return S(339)},get updateJSDocClassTag(){return A(339)},get createJSDocPublicTag(){return S(340)},get updateJSDocPublicTag(){return A(340)},get createJSDocPrivateTag(){return S(341)},get updateJSDocPrivateTag(){return A(341)},get createJSDocProtectedTag(){return S(342)},get updateJSDocProtectedTag(){return A(342)},get createJSDocReadonlyTag(){return S(343)},get updateJSDocReadonlyTag(){return A(343)},get createJSDocOverrideTag(){return S(344)},get updateJSDocOverrideTag(){return A(344)},get createJSDocDeprecatedTag(){return S(338)},get updateJSDocDeprecatedTag(){return A(338)},get createJSDocThrowsTag(){return C(356)},get updateJSDocThrowsTag(){return R(356)},get createJSDocSatisfiesTag(){return C(357)},get updateJSDocSatisfiesTag(){return R(357)},createJSDocEnumTag:mp,updateJSDocEnumTag:kT,createJSDocUnknownTag:Lc,updateJSDocUnknownTag:i1,createJSDocText:OT,updateJSDocText:Es,createJSDocComment:ZR,updateJSDocComment:lE,createJsxElement:z0,updateJsxElement:xP,createJsxSelfClosingElement:jd,updateJsxSelfClosingElement:Tg,createJsxOpeningElement:__,updateJsxOpeningElement:o1,createJsxClosingElement:$u,updateJsxClosingElement:a1,createJsxFragment:Pu,createJsxText:xv,updateJsxText:wT,createJsxOpeningFragment:eD,createJsxJsxClosingFragment:tD,updateJsxFragment:s1,createJsxAttribute:WT,updateJsxAttribute:nD,createJsxAttributes:wy,updateJsxAttributes:Qu,createJsxSpreadAttribute:Z_,updateJsxSpreadAttribute:rD,createJsxExpression:FT,updateJsxExpression:Oa,createJsxNamespacedName:dr,updateJsxNamespacedName:Fp,createCaseClause:nu,updateCaseClause:B0,createDefaultClause:iD,updateDefaultClause:cE,createHeritageClause:G0,updateHeritageClause:zT,createCatchClause:zh,updateCatchClause:Nm,createPropertyAssignment:zp,updatePropertyAssignment:sm,createShorthandPropertyAssignment:Bh,updateShorthandPropertyAssignment:Gh,createSpreadAssignment:Fl,updateSpreadAssignment:oD,createEnumMember:af,updateEnumMember:eh,createSourceFile:Bp,updateSourceFile:cs,createRedirectedSourceFile:V0,createBundle:j0,updateBundle:U0,createUnparsedSource:Ig,createUnparsedPrologue:uE,createUnparsedPrepend:I,createUnparsedTextLike:ne,createUnparsedSyntheticReference:rt,createInputFiles:Ht,createSyntheticExpression:yr,createSyntaxList:vi,createNotEmittedStatement:ri,createPartiallyEmittedExpression:wi,updatePartiallyEmittedExpression:$o,createCommaListExpression:ru,updateCommaListExpression:sf,createSyntheticReferenceExpression:Fy,updateSyntheticReferenceExpression:ai,cloneNode:By,get createComma(){return s(28)},get createAssignment(){return s(64)},get createLogicalOr(){return s(57)},get createLogicalAnd(){return s(56)},get createBitwiseOr(){return s(52)},get createBitwiseXor(){return s(53)},get createBitwiseAnd(){return s(51)},get createStrictEquality(){return s(37)},get createStrictInequality(){return s(38)},get createEquality(){return s(35)},get createInequality(){return s(36)},get createLessThan(){return s(30)},get createLessThanEquals(){return s(33)},get createGreaterThan(){return s(32)},get createGreaterThanEquals(){return s(34)},get createLeftShift(){return s(48)},get createRightShift(){return s(49)},get createUnsignedRightShift(){return s(50)},get createAdd(){return s(40)},get createSubtract(){return s(41)},get createMultiply(){return s(42)},get createDivide(){return s(44)},get createModulo(){return s(45)},get createExponent(){return s(43)},get createPrefixPlus(){return l(40)},get createPrefixMinus(){return l(41)},get createPrefixIncrement(){return l(46)},get createPrefixDecrement(){return l(47)},get createBitwiseNot(){return l(55)},get createLogicalNot(){return l(54)},get createPostfixIncrement(){return d(46)},get createPostfixDecrement(){return d(47)},createImmediatelyInvokedFunctionExpression:GT,createImmediatelyInvokedArrowFunction:H0,createVoidZero:h_,createExportDefault:nh,createExternalModuleExport:aD,createTypeCheck:VT,createIsNotTypeCheck:S7,createMethodCall:Gy,createGlobalMethodCall:Pm,createFunctionBindCall:QO,createFunctionCallCall:ZO,createFunctionApplyCall:pE,createArraySliceCall:RP,createArrayConcatCall:rh,createObjectDefinePropertyCall:u1,createObjectGetOwnPropertyDescriptorCall:ew,createReflectGetCall:g_,createReflectSetCall:J,createPropertyDescriptor:Fe,createCallBinding:fi,createAssignmentTargetWrapper:Zr,inlineExpressions:Mi,getInternalName:os,getLocalName:Ma,getExportName:lf,getDeclarationName:v_,getNamespaceMemberName:Vh,getExternalModuleOrNamespaceExportName:xg,restoreOuterExpressions:Lt,restoreEnclosingLabel:Sr,createUseStrictPrologue:Mu,copyPrologue:Rg,copyStandardPrologue:jT,copyCustomPrologue:sD,ensureUseStrict:DP,liftToBlock:CP,mergeLexicalEnvironment:Dg,replaceModifiers:jy,replaceDecoratorsAndModifiers:lD,replacePropertyName:_p};return an(xre,y=>y(L)),L;function G(y,D){if(y===void 0||y===je)y=[];else if(OE(y)){if(D===void 0||y.hasTrailingComma===D)return y.transformFlags===void 0&&kbe(y),x.attachNodeArrayDebugInfo(y),y;let Be=y.slice();return Be.pos=y.pos,Be.end=y.end,Be.hasTrailingComma=D,Be.transformFlags=y.transformFlags,x.attachNodeArrayDebugInfo(Be),Be}let w=y.length,ie=w>=1&&w<=4?y.slice():y;return ie.pos=-1,ie.end=-1,ie.hasTrailingComma=!!D,ie.transformFlags=0,kbe(ie),x.attachNodeArrayDebugInfo(ie),ie}function U(y){return t.createBaseNode(y)}function K(y){let D=U(y);return D.symbol=void 0,D.localSymbol=void 0,D}function F(y,D){return y!==D&&(y.typeArguments=D.typeArguments),Un(y,D)}function oe(y,D=0){let w=typeof y==\"number\"?y+\"\":y;x.assert(w.charCodeAt(0)!==45,\"Negative numbers should be created in combination with createPrefixUnaryExpression\");let ie=K(9);return ie.text=w,ie.numericLiteralFlags=D,D&384&&(ie.transformFlags|=1024),ie}function W(y){let D=ft(10);return D.text=typeof y==\"string\"?y:ZE(y)+\"n\",D.transformFlags|=32,D}function $(y,D){let w=K(11);return w.text=y,w.singleQuote=D,w}function de(y,D,w){let ie=$(y,D);return ie.hasExtendedUnicodeEscape=w,w&&(ie.transformFlags|=1024),ie}function fe(y){let D=$(Ef(y),void 0);return D.textSourceNode=y,D}function q(y){let D=ft(14);return D.text=y,D}function H(y,D){switch(y){case 9:return oe(D,0);case 10:return W(D);case 11:return de(D,void 0);case 12:return xv(D,!1);case 13:return xv(D,!0);case 14:return q(D);case 15:return nc(y,D,void 0,0)}}function ee(y){let D=t.createBaseIdentifierNode(80);return D.escapedText=y,D.jsDoc=void 0,D.flowNode=void 0,D.symbol=void 0,D}function le(y,D,w,ie){let Be=ee(Hs(y));return h2(Be,{flags:D,id:MF,prefix:w,suffix:ie}),MF++,Be}function Ee(y,D,w){D===void 0&&y&&(D=LE(y)),D===80&&(D=void 0);let ie=ee(Hs(y));return w&&(ie.flags|=256),ie.escapedText===\"await\"&&(ie.transformFlags|=67108864),ie.flags&256&&(ie.transformFlags|=1024),ie}function ce(y,D,w,ie){let Be=1;D&&(Be|=8);let kt=le(\"\",Be,w,ie);return y&&y(kt),kt}function Z(y){let D=2;return y&&(D|=8),le(\"\",D,void 0,void 0)}function pe(y,D=0,w,ie){return x.assert(!(D&7),\"Argument out of range: flags\"),x.assert((D&48)!==32,\"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic\"),le(y,3|D,w,ie)}function Ae(y,D=0,w,ie){x.assert(!(D&7),\"Argument out of range: flags\");let Be=y?hh(y)?Wb(!1,w,y,ie,ar):`generated@${Fa(y)}`:\"\";(w||ie)&&(D|=16);let kt=le(Be,4|D,w,ie);return kt.original=y,kt}function Oe(y){let D=t.createBasePrivateIdentifierNode(81);return D.escapedText=y,D.transformFlags|=16777216,D}function _e(y){return Ui(y,\"#\")||x.fail(\"First character of private identifier must be #: \"+y),Oe(Hs(y))}function be(y,D,w,ie){let Be=Oe(Hs(y));return h2(Be,{flags:D,id:MF,prefix:w,suffix:ie}),MF++,Be}function Te(y,D,w){y&&!Ui(y,\"#\")&&x.fail(\"First character of private identifier must be #: \"+y);let ie=8|(y?3:1);return be(y??\"\",ie,D,w)}function De(y,D,w){let ie=hh(y)?Wb(!0,D,y,w,ar):`#generated@${Fa(y)}`,kt=be(ie,4|(D||w?16:0),D,w);return kt.original=y,kt}function ft(y){return t.createBaseTokenNode(y)}function he(y){x.assert(y>=0&&y<=165,\"Invalid token\"),x.assert(y<=15||y>=18,\"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals.\"),x.assert(y<=9||y>=15,\"Invalid token. Use 'createLiteralLikeNode' to create literals.\"),x.assert(y!==80,\"Invalid token. Use 'createIdentifier' to create identifiers\");let D=ft(y),w=0;switch(y){case 134:w=384;break;case 160:w=4;break;case 125:case 123:case 124:case 148:case 128:case 138:case 87:case 133:case 150:case 163:case 146:case 151:case 103:case 147:case 164:case 154:case 136:case 155:case 116:case 159:case 157:w=1;break;case 108:w=134218752,D.flowNode=void 0;break;case 126:w=1024;break;case 129:w=16777216;break;case 110:w=16384,D.flowNode=void 0;break}return w&&(D.transformFlags|=w),D}function Le(){return he(108)}function Ke(){return he(110)}function Dt(){return he(106)}function st(){return he(112)}function Ge(){return he(97)}function ot(y){return he(y)}function Vt(y){let D=[];return y&32&&D.push(ot(95)),y&128&&D.push(ot(138)),y&2048&&D.push(ot(90)),y&4096&&D.push(ot(87)),y&1&&D.push(ot(125)),y&2&&D.push(ot(123)),y&4&&D.push(ot(124)),y&64&&D.push(ot(128)),y&256&&D.push(ot(126)),y&16&&D.push(ot(164)),y&8&&D.push(ot(148)),y&512&&D.push(ot(129)),y&1024&&D.push(ot(134)),y&8192&&D.push(ot(103)),y&16384&&D.push(ot(147)),D.length?D:void 0}function jt(y,D){let w=U(166);return w.left=y,w.right=zl(D),w.transformFlags|=lr(w.left)|u2(w.right),w.flowNode=void 0,w}function gn(y,D,w){return y.left!==D||y.right!==w?Un(jt(D,w),y):y}function On(y){let D=U(167);return D.expression=i().parenthesizeExpressionOfComputedPropertyName(y),D.transformFlags|=lr(D.expression)|1024|131072,D}function en(y,D){return y.expression!==D?Un(On(D),y):y}function zt(y,D,w,ie){let Be=K(168);return Be.modifiers=Sa(y),Be.name=zl(D),Be.constraint=w,Be.default=ie,Be.transformFlags=1,Be.expression=void 0,Be.jsDoc=void 0,Be}function Wt(y,D,w,ie,Be){return y.modifiers!==D||y.name!==w||y.constraint!==ie||y.default!==Be?Un(zt(D,w,ie,Be),y):y}function ei(y,D,w,ie,Be,kt){let ir=K(169);return ir.modifiers=Sa(y),ir.dotDotDotToken=D,ir.name=zl(w),ir.questionToken=ie,ir.type=Be,ir.initializer=p1(kt),YE(ir.name)?ir.transformFlags=1:ir.transformFlags=Ia(ir.modifiers)|lr(ir.dotDotDotToken)|ly(ir.name)|lr(ir.questionToken)|lr(ir.initializer)|(ir.questionToken??ir.type?1:0)|(ir.dotDotDotToken??ir.initializer?1024:0)|(Qm(ir.modifiers)&31?8192:0),ir.jsDoc=void 0,ir}function Ki(y,D,w,ie,Be,kt,ir){return y.modifiers!==D||y.dotDotDotToken!==w||y.name!==ie||y.questionToken!==Be||y.type!==kt||y.initializer!==ir?Un(ei(D,w,ie,Be,kt,ir),y):y}function gi(y){let D=U(170);return D.expression=i().parenthesizeLeftSideOfAccess(y,!1),D.transformFlags|=lr(D.expression)|1|8192|33554432,D}function io(y,D){return y.expression!==D?Un(gi(D),y):y}function Gn(y,D,w,ie){let Be=K(171);return Be.modifiers=Sa(y),Be.name=zl(D),Be.type=ie,Be.questionToken=w,Be.transformFlags=1,Be.initializer=void 0,Be.jsDoc=void 0,Be}function Nr(y,D,w,ie,Be){return y.modifiers!==D||y.name!==w||y.questionToken!==ie||y.type!==Be?cr(Gn(D,w,ie,Be),y):y}function cr(y,D){return y!==D&&(y.initializer=D.initializer),Un(y,D)}function Jt(y,D,w,ie,Be){let kt=K(172);kt.modifiers=Sa(y),kt.name=zl(D),kt.questionToken=w&&cy(w)?w:void 0,kt.exclamationToken=w&&E2(w)?w:void 0,kt.type=ie,kt.initializer=p1(Be);let ir=kt.flags&33554432||Qm(kt.modifiers)&128;return kt.transformFlags=Ia(kt.modifiers)|ly(kt.name)|lr(kt.initializer)|(ir||kt.questionToken||kt.exclamationToken||kt.type?1:0)|(Pa(kt.name)||Qm(kt.modifiers)&256&&kt.initializer?8192:0)|16777216,kt.jsDoc=void 0,kt}function Ue(y,D,w,ie,Be,kt){return y.modifiers!==D||y.name!==w||y.questionToken!==(ie!==void 0&&cy(ie)?ie:void 0)||y.exclamationToken!==(ie!==void 0&&E2(ie)?ie:void 0)||y.type!==Be||y.initializer!==kt?Un(Jt(D,w,ie,Be,kt),y):y}function Rt(y,D,w,ie,Be,kt){let ir=K(173);return ir.modifiers=Sa(y),ir.name=zl(D),ir.questionToken=w,ir.typeParameters=Sa(ie),ir.parameters=Sa(Be),ir.type=kt,ir.transformFlags=1,ir.jsDoc=void 0,ir.locals=void 0,ir.nextContainer=void 0,ir.typeArguments=void 0,ir}function mn(y,D,w,ie,Be,kt,ir){return y.modifiers!==D||y.name!==w||y.questionToken!==ie||y.typeParameters!==Be||y.parameters!==kt||y.type!==ir?F(Rt(D,w,ie,Be,kt,ir),y):y}function qr(y,D,w,ie,Be,kt,ir,Wi){let Ss=K(174);if(Ss.modifiers=Sa(y),Ss.asteriskToken=D,Ss.name=zl(w),Ss.questionToken=ie,Ss.exclamationToken=void 0,Ss.typeParameters=Sa(Be),Ss.parameters=G(kt),Ss.type=ir,Ss.body=Wi,!Ss.body)Ss.transformFlags=1;else{let Mm=Qm(Ss.modifiers)&1024,Hy=!!Ss.asteriskToken,lm=Mm&&Hy;Ss.transformFlags=Ia(Ss.modifiers)|lr(Ss.asteriskToken)|ly(Ss.name)|lr(Ss.questionToken)|Ia(Ss.typeParameters)|Ia(Ss.parameters)|lr(Ss.type)|lr(Ss.body)&-67108865|(lm?128:Mm?256:Hy?2048:0)|(Ss.questionToken||Ss.typeParameters||Ss.type?1:0)|1024}return Ss.typeArguments=void 0,Ss.jsDoc=void 0,Ss.locals=void 0,Ss.nextContainer=void 0,Ss.flowNode=void 0,Ss.endFlowNode=void 0,Ss.returnFlowNode=void 0,Ss}function ni(y,D,w,ie,Be,kt,ir,Wi,Ss){return y.modifiers!==D||y.asteriskToken!==w||y.name!==ie||y.questionToken!==Be||y.typeParameters!==kt||y.parameters!==ir||y.type!==Wi||y.body!==Ss?ki(qr(D,w,ie,Be,kt,ir,Wi,Ss),y):y}function ki(y,D){return y!==D&&(y.exclamationToken=D.exclamationToken),Un(y,D)}function so(y){let D=K(175);return D.body=y,D.transformFlags=lr(y)|16777216,D.modifiers=void 0,D.jsDoc=void 0,D.locals=void 0,D.nextContainer=void 0,D.endFlowNode=void 0,D.returnFlowNode=void 0,D}function Jo(y,D){return y.body!==D?Ea(so(D),y):y}function Ea(y,D){return y!==D&&(y.modifiers=D.modifiers),Un(y,D)}function ln(y,D,w){let ie=K(176);return ie.modifiers=Sa(y),ie.parameters=G(D),ie.body=w,ie.transformFlags=Ia(ie.modifiers)|Ia(ie.parameters)|lr(ie.body)&-67108865|1024,ie.typeParameters=void 0,ie.type=void 0,ie.typeArguments=void 0,ie.jsDoc=void 0,ie.locals=void 0,ie.nextContainer=void 0,ie.endFlowNode=void 0,ie.returnFlowNode=void 0,ie}function Tn(y,D,w,ie){return y.modifiers!==D||y.parameters!==w||y.body!==ie?ke(ln(D,w,ie),y):y}function ke(y,D){return y!==D&&(y.typeParameters=D.typeParameters,y.type=D.type),F(y,D)}function nt(y,D,w,ie,Be){let kt=K(177);return kt.modifiers=Sa(y),kt.name=zl(D),kt.parameters=G(w),kt.type=ie,kt.body=Be,kt.body?kt.transformFlags=Ia(kt.modifiers)|ly(kt.name)|Ia(kt.parameters)|lr(kt.type)|lr(kt.body)&-67108865|(kt.type?1:0):kt.transformFlags=1,kt.typeArguments=void 0,kt.typeParameters=void 0,kt.jsDoc=void 0,kt.locals=void 0,kt.nextContainer=void 0,kt.flowNode=void 0,kt.endFlowNode=void 0,kt.returnFlowNode=void 0,kt}function tt(y,D,w,ie,Be,kt){return y.modifiers!==D||y.name!==w||y.parameters!==ie||y.type!==Be||y.body!==kt?yt(nt(D,w,ie,Be,kt),y):y}function yt(y,D){return y!==D&&(y.typeParameters=D.typeParameters),F(y,D)}function re(y,D,w,ie){let Be=K(178);return Be.modifiers=Sa(y),Be.name=zl(D),Be.parameters=G(w),Be.body=ie,Be.body?Be.transformFlags=Ia(Be.modifiers)|ly(Be.name)|Ia(Be.parameters)|lr(Be.body)&-67108865|(Be.type?1:0):Be.transformFlags=1,Be.typeArguments=void 0,Be.typeParameters=void 0,Be.type=void 0,Be.jsDoc=void 0,Be.locals=void 0,Be.nextContainer=void 0,Be.flowNode=void 0,Be.endFlowNode=void 0,Be.returnFlowNode=void 0,Be}function Ce(y,D,w,ie,Be){return y.modifiers!==D||y.name!==w||y.parameters!==ie||y.body!==Be?et(re(D,w,ie,Be),y):y}function et(y,D){return y!==D&&(y.typeParameters=D.typeParameters,y.type=D.type),F(y,D)}function z(y,D,w){let ie=K(179);return ie.typeParameters=Sa(y),ie.parameters=Sa(D),ie.type=w,ie.transformFlags=1,ie.jsDoc=void 0,ie.locals=void 0,ie.nextContainer=void 0,ie.typeArguments=void 0,ie}function Je(y,D,w,ie){return y.typeParameters!==D||y.parameters!==w||y.type!==ie?F(z(D,w,ie),y):y}function _t(y,D,w){let ie=K(180);return ie.typeParameters=Sa(y),ie.parameters=Sa(D),ie.type=w,ie.transformFlags=1,ie.jsDoc=void 0,ie.locals=void 0,ie.nextContainer=void 0,ie.typeArguments=void 0,ie}function ze(y,D,w,ie){return y.typeParameters!==D||y.parameters!==w||y.type!==ie?F(_t(D,w,ie),y):y}function it(y,D,w){let ie=K(181);return ie.modifiers=Sa(y),ie.parameters=Sa(D),ie.type=w,ie.transformFlags=1,ie.jsDoc=void 0,ie.locals=void 0,ie.nextContainer=void 0,ie.typeArguments=void 0,ie}function Ct(y,D,w,ie){return y.parameters!==w||y.type!==ie||y.modifiers!==D?F(it(D,w,ie),y):y}function on(y,D){let w=U(204);return w.type=y,w.literal=D,w.transformFlags=1,w}function Qt(y,D,w){return y.type!==D||y.literal!==w?Un(on(D,w),y):y}function Zt(y){return he(y)}function V(y,D,w){let ie=U(182);return ie.assertsModifier=y,ie.parameterName=zl(D),ie.type=w,ie.transformFlags=1,ie}function Re(y,D,w,ie){return y.assertsModifier!==D||y.parameterName!==w||y.type!==ie?Un(V(D,w,ie),y):y}function St(y,D){let w=U(183);return w.typeName=zl(y),w.typeArguments=D&&i().parenthesizeTypeArguments(G(D)),w.transformFlags=1,w}function M(y,D,w){return y.typeName!==D||y.typeArguments!==w?Un(St(D,w),y):y}function te(y,D,w){let ie=K(184);return ie.typeParameters=Sa(y),ie.parameters=Sa(D),ie.type=w,ie.transformFlags=1,ie.modifiers=void 0,ie.jsDoc=void 0,ie.locals=void 0,ie.nextContainer=void 0,ie.typeArguments=void 0,ie}function j(y,D,w,ie){return y.typeParameters!==D||y.parameters!==w||y.type!==ie?se(te(D,w,ie),y):y}function se(y,D){return y!==D&&(y.modifiers=D.modifiers),F(y,D)}function Pe(...y){return y.length===4?Ie(...y):y.length===3?gt(...y):x.fail(\"Incorrect number of arguments specified.\")}function Ie(y,D,w,ie){let Be=K(185);return Be.modifiers=Sa(y),Be.typeParameters=Sa(D),Be.parameters=Sa(w),Be.type=ie,Be.transformFlags=1,Be.jsDoc=void 0,Be.locals=void 0,Be.nextContainer=void 0,Be.typeArguments=void 0,Be}function gt(y,D,w){return Ie(void 0,y,D,w)}function bt(...y){return y.length===5?Ot(...y):y.length===4?dn(...y):x.fail(\"Incorrect number of arguments specified.\")}function Ot(y,D,w,ie,Be){return y.modifiers!==D||y.typeParameters!==w||y.parameters!==ie||y.type!==Be?F(Pe(D,w,ie,Be),y):y}function dn(y,D,w,ie){return Ot(y,y.modifiers,D,w,ie)}function An(y,D){let w=U(186);return w.exprName=y,w.typeArguments=D&&i().parenthesizeTypeArguments(D),w.transformFlags=1,w}function Cn(y,D,w){return y.exprName!==D||y.typeArguments!==w?Un(An(D,w),y):y}function ti(y){let D=K(187);return D.members=G(y),D.transformFlags=1,D}function di(y,D){return y.members!==D?Un(ti(D),y):y}function jn(y){let D=U(188);return D.elementType=i().parenthesizeNonArrayTypeOfPostfixType(y),D.transformFlags=1,D}function Ar(y,D){return y.elementType!==D?Un(jn(D),y):y}function Zi(y){let D=U(189);return D.elements=G(i().parenthesizeElementTypesOfTupleType(y)),D.transformFlags=1,D}function _i(y,D){return y.elements!==D?Un(Zi(D),y):y}function ui(y,D,w,ie){let Be=K(202);return Be.dotDotDotToken=y,Be.name=D,Be.questionToken=w,Be.type=ie,Be.transformFlags=1,Be.jsDoc=void 0,Be}function Mr(y,D,w,ie,Be){return y.dotDotDotToken!==D||y.name!==w||y.questionToken!==ie||y.type!==Be?Un(ui(D,w,ie,Be),y):y}function lo(y){let D=U(190);return D.type=i().parenthesizeTypeOfOptionalType(y),D.transformFlags=1,D}function _n(y,D){return y.type!==D?Un(lo(D),y):y}function ms(y){let D=U(191);return D.type=y,D.transformFlags=1,D}function Dl(y,D){return y.type!==D?Un(ms(D),y):y}function _o(y,D,w){let ie=U(y);return ie.types=L.createNodeArray(w(D)),ie.transformFlags=1,ie}function Va(y,D,w){return y.types!==D?Un(_o(y.kind,D,w),y):y}function vs(y){return _o(192,y,i().parenthesizeConstituentTypesOfUnionType)}function Js(y,D){return Va(y,D,i().parenthesizeConstituentTypesOfUnionType)}function Fc(y){return _o(193,y,i().parenthesizeConstituentTypesOfIntersectionType)}function $i(y,D){return Va(y,D,i().parenthesizeConstituentTypesOfIntersectionType)}function Uo(y,D,w,ie){let Be=U(194);return Be.checkType=i().parenthesizeCheckTypeOfConditionalType(y),Be.extendsType=i().parenthesizeExtendsTypeOfConditionalType(D),Be.trueType=w,Be.falseType=ie,Be.transformFlags=1,Be.locals=void 0,Be.nextContainer=void 0,Be}function zc(y,D,w,ie,Be){return y.checkType!==D||y.extendsType!==w||y.trueType!==ie||y.falseType!==Be?Un(Uo(D,w,ie,Be),y):y}function ts(y){let D=U(195);return D.typeParameter=y,D.transformFlags=1,D}function ua(y,D){return y.typeParameter!==D?Un(ts(D),y):y}function Us(y,D){let w=U(203);return w.head=y,w.templateSpans=G(D),w.transformFlags=1,w}function tf(y,D,w){return y.head!==D||y.templateSpans!==w?Un(Us(D,w),y):y}function Wl(y,D,w,ie,Be=!1){let kt=U(205);return kt.argument=y,kt.attributes=D,kt.assertions&&kt.assertions.assertClause&&kt.attributes&&(kt.assertions.assertClause=kt.attributes),kt.qualifier=w,kt.typeArguments=ie&&i().parenthesizeTypeArguments(ie),kt.isTypeOf=Be,kt.transformFlags=1,kt}function il(y,D,w,ie,Be,kt=y.isTypeOf){return y.argument!==D||y.attributes!==w||y.qualifier!==ie||y.typeArguments!==Be||y.isTypeOf!==kt?Un(Wl(D,w,ie,Be,kt),y):y}function zs(y){let D=U(196);return D.type=y,D.transformFlags=1,D}function ho(y,D){return y.type!==D?Un(zs(D),y):y}function Ut(){let y=U(197);return y.transformFlags=1,y}function ys(y,D){let w=U(198);return w.operator=y,w.type=y===148?i().parenthesizeOperandOfReadonlyTypeOperator(D):i().parenthesizeOperandOfTypeOperator(D),w.transformFlags=1,w}function Pc(y,D){return y.type!==D?Un(ys(y.operator,D),y):y}function Bc(y,D){let w=U(199);return w.objectType=i().parenthesizeNonArrayTypeOfPostfixType(y),w.indexType=D,w.transformFlags=1,w}function Ju(y,D,w){return y.objectType!==D||y.indexType!==w?Un(Bc(D,w),y):y}function ls(y,D,w,ie,Be,kt){let ir=K(200);return ir.readonlyToken=y,ir.typeParameter=D,ir.nameType=w,ir.questionToken=ie,ir.type=Be,ir.members=kt&&G(kt),ir.transformFlags=1,ir.locals=void 0,ir.nextContainer=void 0,ir}function tc(y,D,w,ie,Be,kt,ir){return y.readonlyToken!==D||y.typeParameter!==w||y.nameType!==ie||y.questionToken!==Be||y.type!==kt||y.members!==ir?Un(ls(D,w,ie,Be,kt,ir),y):y}function ae(y){let D=U(201);return D.literal=y,D.transformFlags=1,D}function X(y,D){return y.literal!==D?Un(ae(D),y):y}function xe(y){let D=U(206);return D.elements=G(y),D.transformFlags|=Ia(D.elements)|1024|524288,D.transformFlags&32768&&(D.transformFlags|=65664),D}function dt(y,D){return y.elements!==D?Un(xe(D),y):y}function $t(y){let D=U(207);return D.elements=G(y),D.transformFlags|=Ia(D.elements)|1024|524288,D}function sr(y,D){return y.elements!==D?Un($t(D),y):y}function tr(y,D,w,ie){let Be=K(208);return Be.dotDotDotToken=y,Be.propertyName=zl(D),Be.name=zl(w),Be.initializer=p1(ie),Be.transformFlags|=lr(Be.dotDotDotToken)|ly(Be.propertyName)|ly(Be.name)|lr(Be.initializer)|(Be.dotDotDotToken?32768:0)|1024,Be.flowNode=void 0,Be}function Ir(y,D,w,ie,Be){return y.propertyName!==w||y.dotDotDotToken!==D||y.name!==ie||y.initializer!==Be?Un(tr(D,w,ie,Be),y):y}function pi(y,D){let w=U(209),ie=y&&Ns(y),Be=G(y,ie&&vc(ie)?!0:void 0);return w.elements=i().parenthesizeExpressionsOfCommaDelimitedList(Be),w.multiLine=D,w.transformFlags|=Ia(w.elements),w}function hr(y,D){return y.elements!==D?Un(pi(D,y.multiLine),y):y}function No(y,D){let w=K(210);return w.properties=G(y),w.multiLine=D,w.transformFlags|=Ia(w.properties),w.jsDoc=void 0,w}function Qs(y,D){return y.properties!==D?Un(No(D,y.multiLine),y):y}function bc(y,D,w){let ie=K(211);return ie.expression=y,ie.questionDotToken=D,ie.name=w,ie.transformFlags=lr(ie.expression)|lr(ie.questionDotToken)|(Me(ie.name)?u2(ie.name):lr(ie.name)|536870912),ie.jsDoc=void 0,ie.flowNode=void 0,ie}function bs(y,D){let w=bc(i().parenthesizeLeftSideOfAccess(y,!1),void 0,zl(D));return sN(y)&&(w.transformFlags|=384),w}function Jl(y,D,w){return W8(y)?Ec(y,D,y.questionDotToken,Fo(w,Me)):y.expression!==D||y.name!==w?Un(bs(D,w),y):y}function Za(y,D,w){let ie=bc(i().parenthesizeLeftSideOfAccess(y,!0),D,zl(w));return ie.flags|=64,ie.transformFlags|=32,ie}function Ec(y,D,w,ie){return x.assert(!!(y.flags&64),\"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead.\"),y.expression!==D||y.questionDotToken!==w||y.name!==ie?Un(Za(D,w,ie),y):y}function Du(y,D,w){let ie=K(212);return ie.expression=y,ie.questionDotToken=D,ie.argumentExpression=w,ie.transformFlags|=lr(ie.expression)|lr(ie.questionDotToken)|lr(ie.argumentExpression),ie.jsDoc=void 0,ie.flowNode=void 0,ie}function pc(y,D){let w=Du(i().parenthesizeLeftSideOfAccess(y,!1),void 0,mE(D));return sN(y)&&(w.transformFlags|=384),w}function Nf(y,D,w){return VG(y)?Se(y,D,y.questionDotToken,w):y.expression!==D||y.argumentExpression!==w?Un(pc(D,w),y):y}function Vd(y,D,w){let ie=Du(i().parenthesizeLeftSideOfAccess(y,!0),D,mE(w));return ie.flags|=64,ie.transformFlags|=32,ie}function Se(y,D,w,ie){return x.assert(!!(y.flags&64),\"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead.\"),y.expression!==D||y.questionDotToken!==w||y.argumentExpression!==ie?Un(Vd(D,w,ie),y):y}function At(y,D,w,ie){let Be=K(213);return Be.expression=y,Be.questionDotToken=D,Be.typeArguments=w,Be.arguments=ie,Be.transformFlags|=lr(Be.expression)|lr(Be.questionDotToken)|Ia(Be.typeArguments)|Ia(Be.arguments),Be.typeArguments&&(Be.transformFlags|=1),cu(Be.expression)&&(Be.transformFlags|=16384),Be}function Ln(y,D,w){let ie=At(i().parenthesizeLeftSideOfAccess(y,!1),void 0,Sa(D),i().parenthesizeExpressionsOfCommaDelimitedList(G(w)));return lN(ie.expression)&&(ie.transformFlags|=8388608),ie}function eo(y,D,w,ie){return gS(y)?Oo(y,D,y.questionDotToken,w,ie):y.expression!==D||y.typeArguments!==w||y.arguments!==ie?Un(Ln(D,w,ie),y):y}function Po(y,D,w,ie){let Be=At(i().parenthesizeLeftSideOfAccess(y,!0),D,Sa(w),i().parenthesizeExpressionsOfCommaDelimitedList(G(ie)));return Be.flags|=64,Be.transformFlags|=32,Be}function Oo(y,D,w,ie,Be){return x.assert(!!(y.flags&64),\"Cannot update a CallExpression using updateCallChain. Use updateCall instead.\"),y.expression!==D||y.questionDotToken!==w||y.typeArguments!==ie||y.arguments!==Be?Un(Po(D,w,ie,Be),y):y}function Cl(y,D,w){let ie=K(214);return ie.expression=i().parenthesizeExpressionOfNew(y),ie.typeArguments=Sa(D),ie.arguments=w?i().parenthesizeExpressionsOfCommaDelimitedList(w):void 0,ie.transformFlags|=lr(ie.expression)|Ia(ie.typeArguments)|Ia(ie.arguments)|32,ie.typeArguments&&(ie.transformFlags|=1),ie}function Kl(y,D,w,ie){return y.expression!==D||y.typeArguments!==w||y.arguments!==ie?Un(Cl(D,w,ie),y):y}function Bs(y,D,w){let ie=U(215);return ie.tag=i().parenthesizeLeftSideOfAccess(y,!1),ie.typeArguments=Sa(D),ie.template=w,ie.transformFlags|=lr(ie.tag)|Ia(ie.typeArguments)|lr(ie.template)|1024,ie.typeArguments&&(ie.transformFlags|=1),eV(ie.template)&&(ie.transformFlags|=128),ie}function Ks(y,D,w,ie){return y.tag!==D||y.typeArguments!==w||y.template!==ie?Un(Bs(D,w,ie),y):y}function vl(y,D){let w=U(216);return w.expression=i().parenthesizeOperandOfPrefixUnary(D),w.type=y,w.transformFlags|=lr(w.expression)|lr(w.type)|1,w}function Nl(y,D,w){return y.type!==D||y.expression!==w?Un(vl(D,w),y):y}function Sc(y){let D=U(217);return D.expression=y,D.transformFlags=lr(D.expression),D.jsDoc=void 0,D}function kp(y,D){return y.expression!==D?Un(Sc(D),y):y}function fu(y,D,w,ie,Be,kt,ir){let Wi=K(218);Wi.modifiers=Sa(y),Wi.asteriskToken=D,Wi.name=zl(w),Wi.typeParameters=Sa(ie),Wi.parameters=G(Be),Wi.type=kt,Wi.body=ir;let Ss=Qm(Wi.modifiers)&1024,Mm=!!Wi.asteriskToken,Hy=Ss&&Mm;return Wi.transformFlags=Ia(Wi.modifiers)|lr(Wi.asteriskToken)|ly(Wi.name)|Ia(Wi.typeParameters)|Ia(Wi.parameters)|lr(Wi.type)|lr(Wi.body)&-67108865|(Hy?128:Ss?256:Mm?2048:0)|(Wi.typeParameters||Wi.type?1:0)|4194304,Wi.typeArguments=void 0,Wi.jsDoc=void 0,Wi.locals=void 0,Wi.nextContainer=void 0,Wi.flowNode=void 0,Wi.endFlowNode=void 0,Wi.returnFlowNode=void 0,Wi}function tu(y,D,w,ie,Be,kt,ir,Wi){return y.name!==ie||y.modifiers!==D||y.asteriskToken!==w||y.typeParameters!==Be||y.parameters!==kt||y.type!==ir||y.body!==Wi?F(fu(D,w,ie,Be,kt,ir,Wi),y):y}function nf(y,D,w,ie,Be,kt){let ir=K(219);ir.modifiers=Sa(y),ir.typeParameters=Sa(D),ir.parameters=G(w),ir.type=ie,ir.equalsGreaterThanToken=Be??he(39),ir.body=i().parenthesizeConciseBodyOfArrowFunction(kt);let Wi=Qm(ir.modifiers)&1024;return ir.transformFlags=Ia(ir.modifiers)|Ia(ir.typeParameters)|Ia(ir.parameters)|lr(ir.type)|lr(ir.equalsGreaterThanToken)|lr(ir.body)&-67108865|(ir.typeParameters||ir.type?1:0)|(Wi?16640:0)|1024,ir.typeArguments=void 0,ir.jsDoc=void 0,ir.locals=void 0,ir.nextContainer=void 0,ir.flowNode=void 0,ir.endFlowNode=void 0,ir.returnFlowNode=void 0,ir}function u_(y,D,w,ie,Be,kt,ir){return y.modifiers!==D||y.typeParameters!==w||y.parameters!==ie||y.type!==Be||y.equalsGreaterThanToken!==kt||y.body!==ir?F(nf(D,w,ie,Be,kt,ir),y):y}function X_(y){let D=U(220);return D.expression=i().parenthesizeOperandOfPrefixUnary(y),D.transformFlags|=lr(D.expression),D}function fg(y,D){return y.expression!==D?Un(X_(D),y):y}function fd(y){let D=U(221);return D.expression=i().parenthesizeOperandOfPrefixUnary(y),D.transformFlags|=lr(D.expression),D}function mg(y,D){return y.expression!==D?Un(fd(D),y):y}function Ku(y){let D=U(222);return D.expression=i().parenthesizeOperandOfPrefixUnary(y),D.transformFlags|=lr(D.expression),D}function Lh(y,D){return y.expression!==D?Un(Ku(D),y):y}function mu(y){let D=U(223);return D.expression=i().parenthesizeOperandOfPrefixUnary(y),D.transformFlags|=lr(D.expression)|256|128|2097152,D}function Y(y,D){return y.expression!==D?Un(mu(D),y):y}function Ye(y,D){let w=U(224);return w.operator=y,w.operand=i().parenthesizeOperandOfPrefixUnary(D),w.transformFlags|=lr(w.operand),(y===46||y===47)&&Me(w.operand)&&!ws(w.operand)&&!lg(w.operand)&&(w.transformFlags|=268435456),w}function xt(y,D){return y.operand!==D?Un(Ye(y.operator,D),y):y}function Nt(y,D){let w=U(225);return w.operator=D,w.operand=i().parenthesizeOperandOfPostfixUnary(y),w.transformFlags|=lr(w.operand),Me(w.operand)&&!ws(w.operand)&&!lg(w.operand)&&(w.transformFlags|=268435456),w}function k(y,D){return y.operand!==D?Un(Nt(D,y.operator),y):y}function ge(y,D,w){let ie=K(226),Be=NP(D),kt=Be.kind;return ie.left=i().parenthesizeLeftSideOfBinary(kt,y),ie.operatorToken=Be,ie.right=i().parenthesizeRightSideOfBinary(kt,ie.left,w),ie.transformFlags|=lr(ie.left)|lr(ie.operatorToken)|lr(ie.right),kt===61?ie.transformFlags|=32:kt===64?ma(ie.left)?ie.transformFlags|=5248|Xe(ie.left):Bd(ie.left)&&(ie.transformFlags|=5120|Xe(ie.left)):kt===43||kt===68?ie.transformFlags|=512:PC(kt)&&(ie.transformFlags|=16),kt===103&&Ci(ie.left)&&(ie.transformFlags|=536870912),ie.jsDoc=void 0,ie}function Xe(y){return F2(y)?65536:0}function Mt(y,D,w,ie){return y.left!==D||y.operatorToken!==w||y.right!==ie?Un(ge(D,w,ie),y):y}function Vn(y,D,w,ie,Be){let kt=U(227);return kt.condition=i().parenthesizeConditionOfConditionalExpression(y),kt.questionToken=D??he(58),kt.whenTrue=i().parenthesizeBranchOfConditionalExpression(w),kt.colonToken=ie??he(59),kt.whenFalse=i().parenthesizeBranchOfConditionalExpression(Be),kt.transformFlags|=lr(kt.condition)|lr(kt.questionToken)|lr(kt.whenTrue)|lr(kt.colonToken)|lr(kt.whenFalse),kt}function jr(y,D,w,ie,Be,kt){return y.condition!==D||y.questionToken!==w||y.whenTrue!==ie||y.colonToken!==Be||y.whenFalse!==kt?Un(Vn(D,w,ie,Be,kt),y):y}function Or(y,D){let w=U(228);return w.head=y,w.templateSpans=G(D),w.transformFlags|=lr(w.head)|Ia(w.templateSpans)|1024,w}function zi(y,D,w){return y.head!==D||y.templateSpans!==w?Un(Or(D,w),y):y}function _a(y,D,w,ie=0){x.assert(!(ie&-7177),\"Unsupported template flags.\");let Be;if(w!==void 0&&w!==D&&(Be=L6e(y,w),typeof Be==\"object\"))return x.fail(\"Invalid raw text\");if(D===void 0){if(Be===void 0)return x.fail(\"Arguments 'text' and 'rawText' may not both be undefined.\");D=Be}else Be!==void 0&&x.assert(D===Be,\"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.\");return D}function ha(y){let D=1024;return y&&(D|=128),D}function pl(y,D,w,ie){let Be=ft(y);return Be.text=D,Be.rawText=w,Be.templateFlags=ie&7176,Be.transformFlags=ha(Be.templateFlags),Be}function Gc(y,D,w,ie){let Be=K(y);return Be.text=D,Be.rawText=w,Be.templateFlags=ie&7176,Be.transformFlags=ha(Be.templateFlags),Be}function nc(y,D,w,ie){return y===15?Gc(y,D,w,ie):pl(y,D,w,ie)}function Xu(y,D,w){return y=_a(16,y,D,w),nc(16,y,D,w)}function _u(y,D,w){return y=_a(16,y,D,w),nc(17,y,D,w)}function Ay(y,D,w){return y=_a(16,y,D,w),nc(18,y,D,w)}function ja(y,D,w){return y=_a(16,y,D,w),Gc(15,y,D,w)}function em(y,D){x.assert(!y||!!D,\"A `YieldExpression` with an asteriskToken must have an expression.\");let w=U(229);return w.expression=D&&i().parenthesizeExpressionForDisallowedComma(D),w.asteriskToken=y,w.transformFlags|=lr(w.expression)|lr(w.asteriskToken)|1024|128|1048576,w}function tm(y,D,w){return y.expression!==w||y.asteriskToken!==D?Un(em(D,w),y):y}function Ri(y){let D=U(230);return D.expression=i().parenthesizeExpressionForDisallowedComma(y),D.transformFlags|=lr(D.expression)|1024|32768,D}function _g(y,D){return y.expression!==D?Un(Ri(D),y):y}function yv(y,D,w,ie,Be){let kt=K(231);return kt.modifiers=Sa(y),kt.name=zl(D),kt.typeParameters=Sa(w),kt.heritageClauses=Sa(ie),kt.members=G(Be),kt.transformFlags|=Ia(kt.modifiers)|ly(kt.name)|Ia(kt.typeParameters)|Ia(kt.heritageClauses)|Ia(kt.members)|(kt.typeParameters?1:0)|1024,kt.jsDoc=void 0,kt}function nm(y,D,w,ie,Be,kt){return y.modifiers!==D||y.name!==w||y.typeParameters!==ie||y.heritageClauses!==Be||y.members!==kt?Un(yv(D,w,ie,Be,kt),y):y}function D0(){return U(232)}function C0(y,D){let w=U(233);return w.expression=i().parenthesizeLeftSideOfAccess(y,!1),w.typeArguments=D&&i().parenthesizeTypeArguments(D),w.transformFlags|=lr(w.expression)|Ia(w.typeArguments)|1024,w}function Op(y,D,w){return y.expression!==D||y.typeArguments!==w?Un(C0(D,w),y):y}function p_(y,D){let w=U(234);return w.expression=y,w.type=D,w.transformFlags|=lr(w.expression)|lr(w.type)|1,w}function wp(y,D,w){return y.expression!==D||y.type!==w?Un(p_(D,w),y):y}function hg(y){let D=U(235);return D.expression=i().parenthesizeLeftSideOfAccess(y,!1),D.transformFlags|=lr(D.expression)|1,D}function Ne(y,D){return z8(y)?rn(y,D):y.expression!==D?Un(hg(D),y):y}function Ve(y,D){let w=U(238);return w.expression=y,w.type=D,w.transformFlags|=lr(w.expression)|lr(w.type)|1,w}function Tt(y,D,w){return y.expression!==D||y.type!==w?Un(Ve(D,w),y):y}function Pt(y){let D=U(235);return D.flags|=64,D.expression=i().parenthesizeLeftSideOfAccess(y,!0),D.transformFlags|=lr(D.expression)|1,D}function rn(y,D){return x.assert(!!(y.flags&64),\"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead.\"),y.expression!==D?Un(Pt(D),y):y}function wn(y,D){let w=U(236);switch(w.keywordToken=y,w.name=D,w.transformFlags|=lr(w.name),y){case 105:w.transformFlags|=1024;break;case 102:w.transformFlags|=32;break;default:return x.assertNever(y)}return w.flowNode=void 0,w}function tn(y,D){return y.name!==D?Un(wn(y.keywordToken,D),y):y}function Wn(y,D){let w=U(239);return w.expression=y,w.literal=D,w.transformFlags|=lr(w.expression)|lr(w.literal)|1024,w}function Qr(y,D,w){return y.expression!==D||y.literal!==w?Un(Wn(D,w),y):y}function Kn(){let y=U(240);return y.transformFlags|=1024,y}function Gr(y,D){let w=U(241);return w.statements=G(y),w.multiLine=D,w.transformFlags|=Ia(w.statements),w.jsDoc=void 0,w.locals=void 0,w.nextContainer=void 0,w}function Qn(y,D){return y.statements!==D?Un(Gr(D,y.multiLine),y):y}function Mo(y,D){let w=U(243);return w.modifiers=Sa(y),w.declarationList=oo(D)?Cu(D):D,w.transformFlags|=Ia(w.modifiers)|lr(w.declarationList),Qm(w.modifiers)&128&&(w.transformFlags=1),w.jsDoc=void 0,w.flowNode=void 0,w}function xa(y,D,w){return y.modifiers!==D||y.declarationList!==w?Un(Mo(D,w),y):y}function xd(){let y=U(242);return y.jsDoc=void 0,y}function Vc(y){let D=U(244);return D.expression=i().parenthesizeExpressionOfExpressionStatement(y),D.transformFlags|=lr(D.expression),D.jsDoc=void 0,D.flowNode=void 0,D}function gg(y,D){return y.expression!==D?Un(Vc(D),y):y}function $b(y,D,w){let ie=U(245);return ie.expression=y,ie.thenStatement=Uy(D),ie.elseStatement=Uy(w),ie.transformFlags|=lr(ie.expression)|lr(ie.thenStatement)|lr(ie.elseStatement),ie.jsDoc=void 0,ie.flowNode=void 0,ie}function UI(y,D,w,ie){return y.expression!==D||y.thenStatement!==w||y.elseStatement!==ie?Un($b(D,w,ie),y):y}function Qb(y,D){let w=U(246);return w.statement=Uy(y),w.expression=D,w.transformFlags|=lr(w.statement)|lr(w.expression),w.jsDoc=void 0,w.flowNode=void 0,w}function GR(y,D,w){return y.statement!==D||y.expression!==w?Un(Qb(D,w),y):y}function VR(y,D){let w=U(247);return w.expression=y,w.statement=Uy(D),w.transformFlags|=lr(w.expression)|lr(w.statement),w.jsDoc=void 0,w.flowNode=void 0,w}function jR(y,D,w){return y.expression!==D||y.statement!==w?Un(VR(D,w),y):y}function gT(y,D,w,ie){let Be=U(248);return Be.initializer=y,Be.condition=D,Be.incrementor=w,Be.statement=Uy(ie),Be.transformFlags|=lr(Be.initializer)|lr(Be.condition)|lr(Be.incrementor)|lr(Be.statement),Be.jsDoc=void 0,Be.locals=void 0,Be.nextContainer=void 0,Be.flowNode=void 0,Be}function N0(y,D,w,ie,Be){return y.initializer!==D||y.condition!==w||y.incrementor!==ie||y.statement!==Be?Un(gT(D,w,ie,Be),y):y}function HI(y,D,w){let ie=U(249);return ie.initializer=y,ie.expression=D,ie.statement=Uy(w),ie.transformFlags|=lr(ie.initializer)|lr(ie.expression)|lr(ie.statement),ie.jsDoc=void 0,ie.locals=void 0,ie.nextContainer=void 0,ie.flowNode=void 0,ie}function UR(y,D,w,ie){return y.initializer!==D||y.expression!==w||y.statement!==ie?Un(HI(D,w,ie),y):y}function qI(y,D,w,ie){let Be=U(250);return Be.awaitModifier=y,Be.initializer=D,Be.expression=i().parenthesizeExpressionForDisallowedComma(w),Be.statement=Uy(ie),Be.transformFlags|=lr(Be.awaitModifier)|lr(Be.initializer)|lr(Be.expression)|lr(Be.statement)|1024,y&&(Be.transformFlags|=128),Be.jsDoc=void 0,Be.locals=void 0,Be.nextContainer=void 0,Be.flowNode=void 0,Be}function JI(y,D,w,ie,Be){return y.awaitModifier!==D||y.initializer!==w||y.expression!==ie||y.statement!==Be?Un(qI(D,w,ie,Be),y):y}function KI(y){let D=U(251);return D.label=zl(y),D.transformFlags|=lr(D.label)|4194304,D.jsDoc=void 0,D.flowNode=void 0,D}function XI(y,D){return y.label!==D?Un(KI(D),y):y}function vT(y){let D=U(252);return D.label=zl(y),D.transformFlags|=lr(D.label)|4194304,D.jsDoc=void 0,D.flowNode=void 0,D}function YI(y,D){return y.label!==D?Un(vT(D),y):y}function P0(y){let D=U(253);return D.expression=y,D.transformFlags|=lr(D.expression)|128|4194304,D.jsDoc=void 0,D.flowNode=void 0,D}function M0(y,D){return y.expression!==D?Un(P0(D),y):y}function Iy(y,D){let w=U(254);return w.expression=y,w.statement=Uy(D),w.transformFlags|=lr(w.expression)|lr(w.statement),w.jsDoc=void 0,w.flowNode=void 0,w}function xy(y,D,w){return y.expression!==D||y.statement!==w?Un(Iy(D,w),y):y}function kh(y,D){let w=U(255);return w.expression=i().parenthesizeExpressionForDisallowedComma(y),w.caseBlock=D,w.transformFlags|=lr(w.expression)|lr(w.caseBlock),w.jsDoc=void 0,w.flowNode=void 0,w.possiblyExhaustive=!1,w}function Zb(y,D,w){return y.expression!==D||y.caseBlock!==w?Un(kh(D,w),y):y}function La(y,D){let w=U(256);return w.label=zl(y),w.statement=Uy(D),w.transformFlags|=lr(w.label)|lr(w.statement),w.jsDoc=void 0,w.flowNode=void 0,w}function yT(y,D,w){return y.label!==D||y.statement!==w?Un(La(D,w),y):y}function HR(y){let D=U(257);return D.expression=y,D.transformFlags|=lr(D.expression),D.jsDoc=void 0,D.flowNode=void 0,D}function eE(y,D){return y.expression!==D?Un(HR(D),y):y}function vg(y,D,w){let ie=U(258);return ie.tryBlock=y,ie.catchClause=D,ie.finallyBlock=w,ie.transformFlags|=lr(ie.tryBlock)|lr(ie.catchClause)|lr(ie.finallyBlock),ie.jsDoc=void 0,ie.flowNode=void 0,ie}function Y_(y,D,w,ie){return y.tryBlock!==D||y.catchClause!==w||y.finallyBlock!==ie?Un(vg(D,w,ie),y):y}function rf(){let y=U(259);return y.jsDoc=void 0,y.flowNode=void 0,y}function hu(y,D,w,ie){let Be=K(260);return Be.name=zl(y),Be.exclamationToken=D,Be.type=w,Be.initializer=p1(ie),Be.transformFlags|=ly(Be.name)|lr(Be.initializer)|(Be.exclamationToken??Be.type?1:0),Be.jsDoc=void 0,Be}function Yu(y,D,w,ie,Be){return y.name!==D||y.type!==ie||y.exclamationToken!==w||y.initializer!==Be?Un(hu(D,w,ie,Be),y):y}function Cu(y,D=0){let w=U(261);return w.flags|=D&7,w.declarations=G(y),w.transformFlags|=Ia(w.declarations)|4194304,D&7&&(w.transformFlags|=263168),D&4&&(w.transformFlags|=4),w}function bv(y,D){return y.declarations!==D?Un(Cu(D,y.flags),y):y}function bT(y,D,w,ie,Be,kt,ir){let Wi=K(262);if(Wi.modifiers=Sa(y),Wi.asteriskToken=D,Wi.name=zl(w),Wi.typeParameters=Sa(ie),Wi.parameters=G(Be),Wi.type=kt,Wi.body=ir,!Wi.body||Qm(Wi.modifiers)&128)Wi.transformFlags=1;else{let Ss=Qm(Wi.modifiers)&1024,Mm=!!Wi.asteriskToken,Hy=Ss&&Mm;Wi.transformFlags=Ia(Wi.modifiers)|lr(Wi.asteriskToken)|ly(Wi.name)|Ia(Wi.typeParameters)|Ia(Wi.parameters)|lr(Wi.type)|lr(Wi.body)&-67108865|(Hy?128:Ss?256:Mm?2048:0)|(Wi.typeParameters||Wi.type?1:0)|4194304}return Wi.typeArguments=void 0,Wi.jsDoc=void 0,Wi.locals=void 0,Wi.nextContainer=void 0,Wi.endFlowNode=void 0,Wi.returnFlowNode=void 0,Wi}function qR(y,D,w,ie,Be,kt,ir,Wi){return y.modifiers!==D||y.asteriskToken!==w||y.name!==ie||y.typeParameters!==Be||y.parameters!==kt||y.type!==ir||y.body!==Wi?$I(bT(D,w,ie,Be,kt,ir,Wi),y):y}function $I(y,D){return y!==D&&y.modifiers===D.modifiers&&(y.modifiers=D.modifiers),F(y,D)}function Ry(y,D,w,ie,Be){let kt=K(263);return kt.modifiers=Sa(y),kt.name=zl(D),kt.typeParameters=Sa(w),kt.heritageClauses=Sa(ie),kt.members=G(Be),Qm(kt.modifiers)&128?kt.transformFlags=1:(kt.transformFlags|=Ia(kt.modifiers)|ly(kt.name)|Ia(kt.typeParameters)|Ia(kt.heritageClauses)|Ia(kt.members)|(kt.typeParameters?1:0)|1024,kt.transformFlags&8192&&(kt.transformFlags|=1)),kt.jsDoc=void 0,kt}function tE(y,D,w,ie,Be,kt){return y.modifiers!==D||y.name!==w||y.typeParameters!==ie||y.heritageClauses!==Be||y.members!==kt?Un(Ry(D,w,ie,Be,kt),y):y}function QI(y,D,w,ie,Be){let kt=K(264);return kt.modifiers=Sa(y),kt.name=zl(D),kt.typeParameters=Sa(w),kt.heritageClauses=Sa(ie),kt.members=G(Be),kt.transformFlags=1,kt.jsDoc=void 0,kt}function Xl(y,D,w,ie,Be,kt){return y.modifiers!==D||y.name!==w||y.typeParameters!==ie||y.heritageClauses!==Be||y.members!==kt?Un(QI(D,w,ie,Be,kt),y):y}function Ev(y,D,w,ie){let Be=K(265);return Be.modifiers=Sa(y),Be.name=zl(D),Be.typeParameters=Sa(w),Be.type=ie,Be.transformFlags=1,Be.jsDoc=void 0,Be.locals=void 0,Be.nextContainer=void 0,Be}function ZI(y,D,w,ie,Be){return y.modifiers!==D||y.name!==w||y.typeParameters!==ie||y.type!==Be?Un(Ev(D,w,ie,Be),y):y}function xm(y,D,w){let ie=K(266);return ie.modifiers=Sa(y),ie.name=zl(D),ie.members=G(w),ie.transformFlags|=Ia(ie.modifiers)|lr(ie.name)|Ia(ie.members)|1,ie.transformFlags&=-67108865,ie.jsDoc=void 0,ie}function ET(y,D,w,ie){return y.modifiers!==D||y.name!==w||y.members!==ie?Un(xm(D,w,ie),y):y}function we(y,D,w,ie=0){let Be=K(267);return Be.modifiers=Sa(y),Be.flags|=ie&2088,Be.name=D,Be.body=w,Qm(Be.modifiers)&128?Be.transformFlags=1:Be.transformFlags|=Ia(Be.modifiers)|lr(Be.name)|lr(Be.body)|1,Be.transformFlags&=-67108865,Be.jsDoc=void 0,Be.locals=void 0,Be.nextContainer=void 0,Be}function Rm(y,D,w,ie){return y.modifiers!==D||y.name!==w||y.body!==ie?Un(we(D,w,ie,y.flags),y):y}function jc(y){let D=U(268);return D.statements=G(y),D.transformFlags|=Ia(D.statements),D.jsDoc=void 0,D}function nE(y,D){return y.statements!==D?Un(jc(D),y):y}function e1(y){let D=U(269);return D.clauses=G(y),D.transformFlags|=Ia(D.clauses),D.locals=void 0,D.nextContainer=void 0,D}function Dy(y,D){return y.clauses!==D?Un(e1(D),y):y}function Sv(y){let D=K(270);return D.name=zl(y),D.transformFlags|=u2(D.name)|1,D.modifiers=void 0,D.jsDoc=void 0,D}function Tv(y,D){return y.name!==D?SP(Sv(D),y):y}function SP(y,D){return y!==D&&(y.modifiers=D.modifiers),Un(y,D)}function Ra(y,D,w,ie){let Be=K(271);return Be.modifiers=Sa(y),Be.name=zl(w),Be.isTypeOnly=D,Be.moduleReference=ie,Be.transformFlags|=Ia(Be.modifiers)|u2(Be.name)|lr(Be.moduleReference),U_(Be.moduleReference)||(Be.transformFlags|=1),Be.transformFlags&=-67108865,Be.jsDoc=void 0,Be}function Dm(y,D,w,ie,Be){return y.modifiers!==D||y.isTypeOnly!==w||y.name!==ie||y.moduleReference!==Be?Un(Ra(D,w,ie,Be),y):y}function ST(y,D,w,ie){let Be=U(272);return Be.modifiers=Sa(y),Be.importClause=D,Be.moduleSpecifier=w,Be.attributes=Be.assertClause=ie,Be.transformFlags|=lr(Be.importClause)|lr(Be.moduleSpecifier),Be.transformFlags&=-67108865,Be.jsDoc=void 0,Be}function TT(y,D,w,ie,Be){return y.modifiers!==D||y.importClause!==w||y.moduleSpecifier!==ie||y.attributes!==Be?Un(ST(D,w,ie,Be),y):y}function rE(y,D,w){let ie=K(273);return ie.isTypeOnly=y,ie.name=D,ie.namedBindings=w,ie.transformFlags|=lr(ie.name)|lr(ie.namedBindings),y&&(ie.transformFlags|=1),ie.transformFlags&=-67108865,ie}function AT(y,D,w,ie){return y.isTypeOnly!==D||y.name!==w||y.namedBindings!==ie?Un(rE(D,w,ie),y):y}function Pf(y,D){let w=U(300);return w.elements=G(y),w.multiLine=D,w.token=132,w.transformFlags|=4,w}function Mf(y,D,w){return y.elements!==D||y.multiLine!==w?Un(Pf(D,w),y):y}function yg(y,D){let w=U(301);return w.name=y,w.value=D,w.transformFlags|=4,w}function t1(y,D,w){return y.name!==D||y.value!==w?Un(yg(D,w),y):y}function Cm(y,D){let w=U(302);return w.assertClause=y,w.multiLine=D,w}function JR(y,D,w){return y.assertClause!==D||y.multiLine!==w?Un(Cm(D,w),y):y}function L0(y,D,w){let ie=U(300);return ie.token=w??118,ie.elements=G(y),ie.multiLine=D,ie.transformFlags|=4,ie}function Pi(y,D,w){return y.elements!==D||y.multiLine!==w?Un(L0(D,w,y.token),y):y}function Fr(y,D){let w=U(301);return w.name=y,w.value=D,w.transformFlags|=4,w}function $_(y,D,w){return y.name!==D||y.value!==w?Un(Fr(D,w),y):y}function gu(y){let D=K(274);return D.name=y,D.transformFlags|=lr(D.name),D.transformFlags&=-67108865,D}function TP(y,D){return y.name!==D?Un(gu(D),y):y}function bg(y){let D=K(280);return D.name=y,D.transformFlags|=lr(D.name)|32,D.transformFlags&=-67108865,D}function AP(y,D){return y.name!==D?Un(bg(D),y):y}function Cy(y){let D=U(275);return D.elements=G(y),D.transformFlags|=Ia(D.elements),D.transformFlags&=-67108865,D}function Xs(y,D){return y.elements!==D?Un(Cy(D),y):y}function pp(y,D,w){let ie=K(276);return ie.isTypeOnly=y,ie.propertyName=D,ie.name=w,ie.transformFlags|=lr(ie.propertyName)|lr(ie.name),ie.transformFlags&=-67108865,ie}function Oh(y,D,w,ie){return y.isTypeOnly!==D||y.propertyName!==w||y.name!==ie?Un(pp(D,w,ie),y):y}function Lf(y,D,w){let ie=K(277);return ie.modifiers=Sa(y),ie.isExportEquals=D,ie.expression=D?i().parenthesizeRightSideOfBinary(64,void 0,w):i().parenthesizeExpressionOfExportDefault(w),ie.transformFlags|=Ia(ie.modifiers)|lr(ie.expression),ie.transformFlags&=-67108865,ie.jsDoc=void 0,ie}function Ny(y,D,w){return y.modifiers!==D||y.expression!==w?Un(Lf(D,y.isExportEquals,w),y):y}function rm(y,D,w,ie,Be){let kt=K(278);return kt.modifiers=Sa(y),kt.isTypeOnly=D,kt.exportClause=w,kt.moduleSpecifier=ie,kt.attributes=kt.assertClause=Be,kt.transformFlags|=Ia(kt.modifiers)|lr(kt.exportClause)|lr(kt.moduleSpecifier),kt.transformFlags&=-67108865,kt.jsDoc=void 0,kt}function Eg(y,D,w,ie,Be,kt){return y.modifiers!==D||y.isTypeOnly!==w||y.exportClause!==ie||y.moduleSpecifier!==Be||y.attributes!==kt?k0(rm(D,w,ie,Be,kt),y):y}function k0(y,D){return y!==D&&y.modifiers===D.modifiers&&(y.modifiers=D.modifiers),Un(y,D)}function IT(y){let D=U(279);return D.elements=G(y),D.transformFlags|=Ia(D.elements),D.transformFlags&=-67108865,D}function wh(y,D){return y.elements!==D?Un(IT(D),y):y}function n1(y,D,w){let ie=U(281);return ie.isTypeOnly=y,ie.propertyName=zl(D),ie.name=zl(w),ie.transformFlags|=lr(ie.propertyName)|lr(ie.name),ie.transformFlags&=-67108865,ie.jsDoc=void 0,ie}function Wh(y,D,w,ie){return y.isTypeOnly!==D||y.propertyName!==w||y.name!==ie?Un(n1(D,w,ie),y):y}function f_(){let y=K(282);return y.jsDoc=void 0,y}function Av(y){let D=U(283);return D.expression=y,D.transformFlags|=lr(D.expression),D.transformFlags&=-67108865,D}function KR(y,D){return y.expression!==D?Un(Av(D),y):y}function XR(y){return U(y)}function YR(y,D,w=!1){let ie=xT(y,w?D&&i().parenthesizeNonArrayTypeOfPostfixType(D):D);return ie.postfix=w,ie}function xT(y,D){let w=U(y);return w.type=D,w}function Ds(y,D,w){return D.type!==w?Un(YR(y,w,D.postfix),D):D}function O0(y,D,w){return D.type!==w?Un(xT(y,w),D):D}function RT(y,D){let w=K(324);return w.parameters=Sa(y),w.type=D,w.transformFlags=Ia(w.parameters)|(w.type?1:0),w.jsDoc=void 0,w.locals=void 0,w.nextContainer=void 0,w.typeArguments=void 0,w}function im(y,D,w){return y.parameters!==D||y.type!==w?Un(RT(D,w),y):y}function Py(y,D=!1){let w=K(329);return w.jsDocPropertyTags=Sa(y),w.isArrayType=D,w}function $R(y,D,w){return y.jsDocPropertyTags!==D||y.isArrayType!==w?Un(Py(D,w),y):y}function DT(y){let D=U(316);return D.type=y,D}function IP(y,D){return y.type!==D?Un(DT(D),y):y}function nr(y,D,w){let ie=K(330);return ie.typeParameters=Sa(y),ie.parameters=G(D),ie.type=w,ie.jsDoc=void 0,ie.locals=void 0,ie.nextContainer=void 0,ie}function Mc(y,D,w,ie){return y.typeParameters!==D||y.parameters!==w||y.type!==ie?Un(nr(D,w,ie),y):y}function Oi(y){let D=rj(y.kind);return y.tagName.escapedText===Hs(D)?y.tagName:Ee(D)}function Wp(y,D,w){let ie=U(y);return ie.tagName=D,ie.comment=w,ie}function Iv(y,D,w){let ie=K(y);return ie.tagName=D,ie.comment=w,ie}function m_(y,D,w,ie){let Be=Wp(352,y??Ee(\"template\"),ie);return Be.constraint=D,Be.typeParameters=G(w),Be}function Xn(y,D=Oi(y),w,ie,Be){return y.tagName!==D||y.constraint!==w||y.typeParameters!==ie||y.comment!==Be?Un(m_(D,w,ie,Be),y):y}function CT(y,D,w,ie){let Be=Iv(353,y??Ee(\"typedef\"),ie);return Be.typeExpression=D,Be.fullName=w,Be.name=Vj(w),Be.locals=void 0,Be.nextContainer=void 0,Be}function iE(y,D=Oi(y),w,ie,Be){return y.tagName!==D||y.typeExpression!==w||y.fullName!==ie||y.comment!==Be?Un(CT(D,w,ie,Be),y):y}function Tc(y,D,w,ie,Be,kt){let ir=Iv(348,y??Ee(\"param\"),kt);return ir.typeExpression=ie,ir.name=D,ir.isNameFirst=!!Be,ir.isBracketed=w,ir}function Q_(y,D=Oi(y),w,ie,Be,kt,ir){return y.tagName!==D||y.name!==w||y.isBracketed!==ie||y.typeExpression!==Be||y.isNameFirst!==kt||y.comment!==ir?Un(Tc(D,w,ie,Be,kt,ir),y):y}function om(y,D,w,ie,Be,kt){let ir=Iv(355,y??Ee(\"prop\"),kt);return ir.typeExpression=ie,ir.name=D,ir.isNameFirst=!!Be,ir.isBracketed=w,ir}function w0(y,D=Oi(y),w,ie,Be,kt,ir){return y.tagName!==D||y.name!==w||y.isBracketed!==ie||y.typeExpression!==Be||y.isNameFirst!==kt||y.comment!==ir?Un(om(D,w,ie,Be,kt,ir),y):y}function W0(y,D,w,ie){let Be=Iv(345,y??Ee(\"callback\"),ie);return Be.typeExpression=D,Be.fullName=w,Be.name=Vj(w),Be.locals=void 0,Be.nextContainer=void 0,Be}function My(y,D=Oi(y),w,ie,Be){return y.tagName!==D||y.typeExpression!==w||y.fullName!==ie||y.comment!==Be?Un(W0(D,w,ie,Be),y):y}function Sg(y,D,w){let ie=Wp(346,y??Ee(\"overload\"),w);return ie.typeExpression=D,ie}function NT(y,D=Oi(y),w,ie){return y.tagName!==D||y.typeExpression!==w||y.comment!==ie?Un(Sg(D,w,ie),y):y}function am(y,D,w){let ie=Wp(335,y??Ee(\"augments\"),w);return ie.class=D,ie}function oE(y,D=Oi(y),w,ie){return y.tagName!==D||y.class!==w||y.comment!==ie?Un(am(D,w,ie),y):y}function Fh(y,D,w){let ie=Wp(336,y??Ee(\"implements\"),w);return ie.class=D,ie}function Ly(y,D,w){let ie=Wp(354,y??Ee(\"see\"),w);return ie.name=D,ie}function r1(y,D,w,ie){return y.tagName!==D||y.name!==w||y.comment!==ie?Un(Ly(D,w,ie),y):y}function aE(y){let D=U(317);return D.name=y,D}function QR(y,D){return y.name!==D?Un(aE(D),y):y}function F0(y,D){let w=U(318);return w.left=y,w.right=D,w.transformFlags|=lr(w.left)|lr(w.right),w}function PT(y,D,w){return y.left!==D||y.right!==w?Un(F0(D,w),y):y}function fp(y,D){let w=U(331);return w.name=y,w.text=D,w}function MT(y,D,w){return y.name!==D?Un(fp(D,w),y):y}function yl(y,D){let w=U(332);return w.name=y,w.text=D,w}function fc(y,D,w){return y.name!==D?Un(yl(D,w),y):y}function LT(y,D){let w=U(333);return w.name=y,w.text=D,w}function Qc(y,D,w){return y.name!==D?Un(LT(D,w),y):y}function Nu(y,D=Oi(y),w,ie){return y.tagName!==D||y.class!==w||y.comment!==ie?Un(Fh(D,w,ie),y):y}function sE(y,D,w){return Wp(y,D??Ee(rj(y)),w)}function of(y,D,w=Oi(D),ie){return D.tagName!==w||D.comment!==ie?Un(sE(y,w,ie),D):D}function ky(y,D,w,ie){let Be=Wp(y,D??Ee(rj(y)),ie);return Be.typeExpression=w,Be}function Oy(y,D,w=Oi(D),ie,Be){return D.tagName!==w||D.typeExpression!==ie||D.comment!==Be?Un(ky(y,w,ie,Be),D):D}function Lc(y,D){return Wp(334,y,D)}function i1(y,D,w){return y.tagName!==D||y.comment!==w?Un(Lc(D,w),y):y}function mp(y,D,w){let ie=Iv(347,y??Ee(rj(347)),w);return ie.typeExpression=D,ie.locals=void 0,ie.nextContainer=void 0,ie}function kT(y,D=Oi(y),w,ie){return y.tagName!==D||y.typeExpression!==w||y.comment!==ie?Un(mp(D,w,ie),y):y}function OT(y){let D=U(328);return D.text=y,D}function Es(y,D){return y.text!==D?Un(OT(D),y):y}function ZR(y,D){let w=U(327);return w.comment=y,w.tags=Sa(D),w}function lE(y,D,w){return y.comment!==D||y.tags!==w?Un(ZR(D,w),y):y}function z0(y,D,w){let ie=U(284);return ie.openingElement=y,ie.children=G(D),ie.closingElement=w,ie.transformFlags|=lr(ie.openingElement)|Ia(ie.children)|lr(ie.closingElement)|2,ie}function xP(y,D,w,ie){return y.openingElement!==D||y.children!==w||y.closingElement!==ie?Un(z0(D,w,ie),y):y}function jd(y,D,w){let ie=U(285);return ie.tagName=y,ie.typeArguments=Sa(D),ie.attributes=w,ie.transformFlags|=lr(ie.tagName)|Ia(ie.typeArguments)|lr(ie.attributes)|2,ie.typeArguments&&(ie.transformFlags|=1),ie}function Tg(y,D,w,ie){return y.tagName!==D||y.typeArguments!==w||y.attributes!==ie?Un(jd(D,w,ie),y):y}function __(y,D,w){let ie=U(286);return ie.tagName=y,ie.typeArguments=Sa(D),ie.attributes=w,ie.transformFlags|=lr(ie.tagName)|Ia(ie.typeArguments)|lr(ie.attributes)|2,D&&(ie.transformFlags|=1),ie}function o1(y,D,w,ie){return y.tagName!==D||y.typeArguments!==w||y.attributes!==ie?Un(__(D,w,ie),y):y}function $u(y){let D=U(287);return D.tagName=y,D.transformFlags|=lr(D.tagName)|2,D}function a1(y,D){return y.tagName!==D?Un($u(D),y):y}function Pu(y,D,w){let ie=U(288);return ie.openingFragment=y,ie.children=G(D),ie.closingFragment=w,ie.transformFlags|=lr(ie.openingFragment)|Ia(ie.children)|lr(ie.closingFragment)|2,ie}function s1(y,D,w,ie){return y.openingFragment!==D||y.children!==w||y.closingFragment!==ie?Un(Pu(D,w,ie),y):y}function xv(y,D){let w=U(12);return w.text=y,w.containsOnlyTriviaWhiteSpaces=!!D,w.transformFlags|=2,w}function wT(y,D,w){return y.text!==D||y.containsOnlyTriviaWhiteSpaces!==w?Un(xv(D,w),y):y}function eD(){let y=U(289);return y.transformFlags|=2,y}function tD(){let y=U(290);return y.transformFlags|=2,y}function WT(y,D){let w=K(291);return w.name=y,w.initializer=D,w.transformFlags|=lr(w.name)|lr(w.initializer)|2,w}function nD(y,D,w){return y.name!==D||y.initializer!==w?Un(WT(D,w),y):y}function wy(y){let D=K(292);return D.properties=G(y),D.transformFlags|=Ia(D.properties)|2,D}function Qu(y,D){return y.properties!==D?Un(wy(D),y):y}function Z_(y){let D=U(293);return D.expression=y,D.transformFlags|=lr(D.expression)|2,D}function rD(y,D){return y.expression!==D?Un(Z_(D),y):y}function FT(y,D){let w=U(294);return w.dotDotDotToken=y,w.expression=D,w.transformFlags|=lr(w.dotDotDotToken)|lr(w.expression)|2,w}function Oa(y,D){return y.expression!==D?Un(FT(y.dotDotDotToken,D),y):y}function dr(y,D){let w=U(295);return w.namespace=y,w.name=D,w.transformFlags|=lr(w.namespace)|lr(w.name)|2,w}function Fp(y,D,w){return y.namespace!==D||y.name!==w?Un(dr(D,w),y):y}function nu(y,D){let w=U(296);return w.expression=i().parenthesizeExpressionForDisallowedComma(y),w.statements=G(D),w.transformFlags|=lr(w.expression)|Ia(w.statements),w.jsDoc=void 0,w}function B0(y,D,w){return y.expression!==D||y.statements!==w?Un(nu(D,w),y):y}function iD(y){let D=U(297);return D.statements=G(y),D.transformFlags=Ia(D.statements),D}function cE(y,D){return y.statements!==D?Un(iD(D),y):y}function G0(y,D){let w=U(298);switch(w.token=y,w.types=G(D),w.transformFlags|=Ia(w.types),y){case 96:w.transformFlags|=1024;break;case 119:w.transformFlags|=1;break;default:return x.assertNever(y)}return w}function zT(y,D){return y.types!==D?Un(G0(y.token,D),y):y}function zh(y,D){let w=U(299);return w.variableDeclaration=PP(y),w.block=D,w.transformFlags|=lr(w.variableDeclaration)|lr(w.block)|(y?0:64),w.locals=void 0,w.nextContainer=void 0,w}function Nm(y,D,w){return y.variableDeclaration!==D||y.block!==w?Un(zh(D,w),y):y}function zp(y,D){let w=K(303);return w.name=zl(y),w.initializer=i().parenthesizeExpressionForDisallowedComma(D),w.transformFlags|=ly(w.name)|lr(w.initializer),w.modifiers=void 0,w.questionToken=void 0,w.exclamationToken=void 0,w.jsDoc=void 0,w}function sm(y,D,w){return y.name!==D||y.initializer!==w?Ag(zp(D,w),y):y}function Ag(y,D){return y!==D&&(y.modifiers=D.modifiers,y.questionToken=D.questionToken,y.exclamationToken=D.exclamationToken),Un(y,D)}function Bh(y,D){let w=K(304);return w.name=zl(y),w.objectAssignmentInitializer=D&&i().parenthesizeExpressionForDisallowedComma(D),w.transformFlags|=u2(w.name)|lr(w.objectAssignmentInitializer)|1024,w.equalsToken=void 0,w.modifiers=void 0,w.questionToken=void 0,w.exclamationToken=void 0,w.jsDoc=void 0,w}function Gh(y,D,w){return y.name!==D||y.objectAssignmentInitializer!==w?l1(Bh(D,w),y):y}function l1(y,D){return y!==D&&(y.modifiers=D.modifiers,y.questionToken=D.questionToken,y.exclamationToken=D.exclamationToken,y.equalsToken=D.equalsToken),Un(y,D)}function Fl(y){let D=K(305);return D.expression=i().parenthesizeExpressionForDisallowedComma(y),D.transformFlags|=lr(D.expression)|128|65536,D.jsDoc=void 0,D}function oD(y,D){return y.expression!==D?Un(Fl(D),y):y}function af(y,D){let w=K(306);return w.name=zl(y),w.initializer=D&&i().parenthesizeExpressionForDisallowedComma(D),w.transformFlags|=lr(w.name)|lr(w.initializer)|1,w.jsDoc=void 0,w}function eh(y,D,w){return y.name!==D||y.initializer!==w?Un(af(D,w),y):y}function Bp(y,D,w){let ie=t.createBaseSourceFileNode(312);return ie.statements=G(y),ie.endOfFileToken=D,ie.flags|=w,ie.text=\"\",ie.fileName=\"\",ie.path=\"\",ie.resolvedPath=\"\",ie.originalFileName=\"\",ie.languageVersion=0,ie.languageVariant=0,ie.scriptKind=0,ie.isDeclarationFile=!1,ie.hasNoDefaultLib=!1,ie.transformFlags|=Ia(ie.statements)|lr(ie.endOfFileToken),ie.locals=void 0,ie.nextContainer=void 0,ie.endFlowNode=void 0,ie.nodeCount=0,ie.identifierCount=0,ie.symbolCount=0,ie.parseDiagnostics=void 0,ie.bindDiagnostics=void 0,ie.bindSuggestionDiagnostics=void 0,ie.lineMap=void 0,ie.externalModuleIndicator=void 0,ie.setExternalModuleIndicator=void 0,ie.pragmas=void 0,ie.checkJsDirective=void 0,ie.referencedFiles=void 0,ie.typeReferenceDirectives=void 0,ie.libReferenceDirectives=void 0,ie.amdDependencies=void 0,ie.commentDirectives=void 0,ie.identifiers=void 0,ie.packageJsonLocations=void 0,ie.packageJsonScope=void 0,ie.imports=void 0,ie.moduleAugmentations=void 0,ie.ambientModuleNames=void 0,ie.classifiableNames=void 0,ie.impliedNodeFormat=void 0,ie}function V0(y){let D=Object.create(y.redirectTarget);return Object.defineProperties(D,{id:{get(){return this.redirectInfo.redirectTarget.id},set(w){this.redirectInfo.redirectTarget.id=w}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(w){this.redirectInfo.redirectTarget.symbol=w}}}),D.redirectInfo=y,D}function dE(y){let D=V0(y.redirectInfo);return D.flags|=y.flags&-17,D.fileName=y.fileName,D.path=y.path,D.resolvedPath=y.resolvedPath,D.originalFileName=y.originalFileName,D.packageJsonLocations=y.packageJsonLocations,D.packageJsonScope=y.packageJsonScope,D.emitNode=void 0,D}function c1(y){let D=t.createBaseSourceFileNode(312);D.flags|=y.flags&-17;for(let w in y)if(!(rs(D,w)||!rs(y,w))){if(w===\"emitNode\"){D.emitNode=void 0;continue}D[w]=y[w]}return D}function BT(y){let D=y.redirectInfo?dE(y):c1(y);return r(D,y),D}function Gp(y,D,w,ie,Be,kt,ir){let Wi=BT(y);return Wi.statements=G(D),Wi.isDeclarationFile=w,Wi.referencedFiles=ie,Wi.typeReferenceDirectives=Be,Wi.hasNoDefaultLib=kt,Wi.libReferenceDirectives=ir,Wi.transformFlags=Ia(Wi.statements)|lr(Wi.endOfFileToken),Wi}function cs(y,D,w=y.isDeclarationFile,ie=y.referencedFiles,Be=y.typeReferenceDirectives,kt=y.hasNoDefaultLib,ir=y.libReferenceDirectives){return y.statements!==D||y.isDeclarationFile!==w||y.referencedFiles!==ie||y.typeReferenceDirectives!==Be||y.hasNoDefaultLib!==kt||y.libReferenceDirectives!==ir?Un(Gp(y,D,w,ie,Be,kt,ir),y):y}function j0(y,D=je){let w=U(313);return w.prepends=D,w.sourceFiles=y,w.syntheticFileReferences=void 0,w.syntheticTypeReferences=void 0,w.syntheticLibReferences=void 0,w.hasNoDefaultLib=void 0,w}function U0(y,D,w=je){return y.sourceFiles!==D||y.prepends!==w?Un(j0(D,w),y):y}function Ig(y,D,w){let ie=U(314);return ie.prologues=y,ie.syntheticReferences=D,ie.texts=w,ie.fileName=\"\",ie.text=\"\",ie.referencedFiles=je,ie.libReferenceDirectives=je,ie.getLineAndCharacterOfPosition=Be=>$a(ie,Be),ie}function Wy(y,D){let w=U(y);return w.data=D,w}function uE(y){return Wy(307,y)}function I(y,D){let w=Wy(308,y);return w.texts=D,w}function ne(y,D){return Wy(D?310:309,y)}function rt(y){let D=U(311);return D.data=y.data,D.section=y,D}function Ht(){let y=U(315);return y.javascriptText=\"\",y.declarationText=\"\",y}function yr(y,D=!1,w){let ie=U(237);return ie.type=y,ie.isSpread=D,ie.tupleNameSource=w,ie}function vi(y){let D=U(358);return D._children=y,D}function ri(y){let D=U(359);return D.original=y,Ze(D,y),D}function wi(y,D){let w=U(360);return w.expression=y,w.original=D,w.transformFlags|=lr(w.expression)|1,Ze(w,D),w}function $o(y,D){return y.expression!==D?Un(wi(D,y.original),y):y}function Rd(y){if(xs(y)&&!eC(y)&&!y.original&&!y.emitNode&&!y.id){if(dN(y))return y.elements;if(Zn(y)&&zre(y.operatorToken))return[y.left,y.right]}return y}function ru(y){let D=U(361);return D.elements=G(CZ(y,Rd)),D.transformFlags|=Ia(D.elements),D}function sf(y,D){return y.elements!==D?Un(ru(D),y):y}function Fy(y,D){let w=U(362);return w.expression=y,w.thisArg=D,w.transformFlags|=lr(w.expression)|lr(w.thisArg),w}function ai(y,D,w){return y.expression!==D||y.thisArg!==w?Un(Fy(D,w),y):y}function th(y){let D=ee(y.escapedText);return D.flags|=y.flags&-17,D.transformFlags=y.transformFlags,r(D,y),h2(D,{...y.emitNode.autoGenerate}),D}function Pn(y){let D=ee(y.escapedText);D.flags|=y.flags&-17,D.jsDoc=y.jsDoc,D.flowNode=y.flowNode,D.symbol=y.symbol,D.transformFlags=y.transformFlags,r(D,y);let w=BS(y);return w&&av(D,w),D}function d1(y){let D=Oe(y.escapedText);return D.flags|=y.flags&-17,D.transformFlags=y.transformFlags,r(D,y),h2(D,{...y.emitNode.autoGenerate}),D}function zy(y){let D=Oe(y.escapedText);return D.flags|=y.flags&-17,D.transformFlags=y.transformFlags,r(D,y),D}function By(y){if(y===void 0)return y;if(Li(y))return BT(y);if(ws(y))return th(y);if(Me(y))return Pn(y);if(vS(y))return d1(y);if(Ci(y))return zy(y);let D=jM(y.kind)?t.createBaseNode(y.kind):t.createBaseTokenNode(y.kind);D.flags|=y.flags&-17,D.transformFlags=y.transformFlags,r(D,y);for(let w in y)rs(D,w)||!rs(y,w)||(D[w]=y[w]);return D}function GT(y,D,w){return Ln(fu(void 0,void 0,void 0,void 0,D?[D]:[],void 0,Gr(y,!0)),void 0,w?[w]:[])}function H0(y,D,w){return Ln(nf(void 0,void 0,D?[D]:[],void 0,void 0,Gr(y,!0)),void 0,w?[w]:[])}function h_(){return Ku(oe(\"0\"))}function nh(y){return Lf(void 0,!1,y)}function aD(y){return rm(void 0,!1,IT([n1(!1,void 0,y)]))}function VT(y,D){return D===\"null\"?L.createStrictEquality(y,Dt()):D===\"undefined\"?L.createStrictEquality(y,h_()):L.createStrictEquality(fd(y),de(D))}function S7(y,D){return D===\"null\"?L.createStrictInequality(y,Dt()):D===\"undefined\"?L.createStrictInequality(y,h_()):L.createStrictInequality(fd(y),de(D))}function Gy(y,D,w){return gS(y)?Po(Za(y,void 0,D),void 0,void 0,w):Ln(bs(y,D),void 0,w)}function QO(y,D,w){return Gy(y,\"bind\",[D,...w])}function ZO(y,D,w){return Gy(y,\"call\",[D,...w])}function pE(y,D,w){return Gy(y,\"apply\",[D,w])}function Pm(y,D,w){return Gy(Ee(y),D,w)}function RP(y,D){return Gy(y,\"slice\",D===void 0?[]:[mE(D)])}function rh(y,D){return Gy(y,\"concat\",D)}function u1(y,D,w){return Pm(\"Object\",\"defineProperty\",[y,mE(D),w])}function ew(y,D){return Pm(\"Object\",\"getOwnPropertyDescriptor\",[y,mE(D)])}function g_(y,D,w){return Pm(\"Reflect\",\"get\",w?[y,D,w]:[y,D])}function J(y,D,w,ie){return Pm(\"Reflect\",\"set\",ie?[y,D,w,ie]:[y,D,w])}function ye(y,D,w){return w?(y.push(zp(D,w)),!0):!1}function Fe(y,D){let w=[];ye(w,\"enumerable\",mE(y.enumerable)),ye(w,\"configurable\",mE(y.configurable));let ie=ye(w,\"writable\",mE(y.writable));ie=ye(w,\"value\",y.value)||ie;let Be=ye(w,\"get\",y.get);return Be=ye(w,\"set\",y.set)||Be,x.assert(!(ie&&Be),\"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor.\"),No(w,!D)}function mt(y,D){switch(y.kind){case 217:return kp(y,D);case 216:return Nl(y,y.type,D);case 234:return wp(y,D,y.type);case 238:return Tt(y,D,y.type);case 235:return Ne(y,D);case 360:return $o(y,D)}}function vt(y){return uu(y)&&xs(y)&&xs(ov(y))&&xs(t_(y))&&!ct(Mx(y))&&!ct(_2(y))}function Lt(y,D,w=15){return y&&C6(y,w)&&!vt(y)?mt(y,Lt(y.expression,D)):D}function Sr(y,D,w){if(!D)return y;let ie=yT(D,D.label,s0(D.statement)?Sr(y,D.statement):y);return w&&w(D),ie}function bi(y,D){let w=Ka(y);switch(w.kind){case 80:return D;case 110:case 9:case 10:case 11:return!1;case 209:return w.elements.length!==0;case 210:return w.properties.length>0;default:return!0}}function fi(y,D,w,ie=!1){let Be=Rl(y,15),kt,ir;return cu(Be)?(kt=Ke(),ir=Be):sN(Be)?(kt=Ke(),ir=w!==void 0&&w<2?Ze(Ee(\"_super\"),Be):Be):ba(Be)&8192?(kt=h_(),ir=i().parenthesizeLeftSideOfAccess(Be,!1)):Er(Be)?bi(Be.expression,ie)?(kt=ce(D),ir=bs(Ze(L.createAssignment(kt,Be.expression),Be.expression),Be.name),Ze(ir,Be)):(kt=Be.expression,ir=Be):Rs(Be)?bi(Be.expression,ie)?(kt=ce(D),ir=pc(Ze(L.createAssignment(kt,Be.expression),Be.expression),Be.argumentExpression),Ze(ir,Be)):(kt=Be.expression,ir=Be):(kt=h_(),ir=i().parenthesizeLeftSideOfAccess(y,!1)),{target:ir,thisArg:kt}}function Zr(y,D){return bs(Sc(No([re(void 0,\"value\",[ei(void 0,void 0,y,void 0,void 0,void 0)],Gr([Vc(D)]))])),\"value\")}function Mi(y){return y.length>10?ru(y):Nd(y,L.createComma)}function Ua(y,D,w,ie=0,Be){let kt=Be?y&&M8(y):mo(y);if(kt&&Me(kt)&&!ws(kt)){let ir=Aa(Ze(By(kt),kt),kt.parent);return ie|=ba(kt),w||(ie|=96),D||(ie|=3072),ie&&$n(ir,ie),ir}return Ae(y)}function os(y,D,w){return Ua(y,D,w,98304)}function Ma(y,D,w,ie){return Ua(y,D,w,32768,ie)}function lf(y,D,w){return Ua(y,D,w,16384)}function v_(y,D,w){return Ua(y,D,w)}function Vh(y,D,w,ie){let Be=bs(y,xs(D)?D:By(D));Ze(Be,D);let kt=0;return ie||(kt|=96),w||(kt|=3072),kt&&$n(Be,kt),Be}function xg(y,D,w,ie){return y&&Wr(D,32)?Vh(y,Ua(D),w,ie):lf(D,w,ie)}function Rg(y,D,w,ie){let Be=jT(y,D,0,w);return sD(y,D,Be,ie)}function Vy(y){return da(y.expression)&&y.expression.text===\"use strict\"}function Mu(){return Sd(Vc(de(\"use strict\")))}function jT(y,D,w=0,ie){x.assert(D.length===0,\"Prologue directives should be at the first statement in the target statements array\");let Be=!1,kt=y.length;for(;w<kt;){let ir=y[w];if(Hf(ir))Vy(ir)&&(Be=!0),D.push(ir);else break;w++}return ie&&!Be&&D.push(Mu()),w}function sD(y,D,w,ie,Be=Ug){let kt=y.length;for(;w!==void 0&&w<kt;){let ir=y[w];if(ba(ir)&2097152&&Be(ir))pn(D,ie?He(ir,ie,Di):ir);else break;w++}return w}function DP(y){return zj(y)?y:Ze(G([Mu(),...y]),y)}function CP(y){return x.assert(ji(y,ste),\"Cannot lift nodes to a Block.\"),R_(y)||Gr(y)}function fE(y,D,w){let ie=w;for(;ie<y.length&&D(y[ie]);)ie++;return ie}function Dg(y,D){if(!ct(D))return y;let w=fE(y,Hf,0),ie=fE(y,cW,w),Be=fE(y,dW,ie),kt=fE(D,Hf,0),ir=fE(D,cW,kt),Wi=fE(D,dW,ir),Ss=fE(D,dL,Wi);x.assert(Ss===D.length,\"Expected declarations to be valid standard or custom prologues\");let Mm=OE(y)?y.slice():y;if(Ss>Wi&&Mm.splice(Be,0,...D.slice(Wi,Ss)),Wi>ir&&Mm.splice(ie,0,...D.slice(ir,Wi)),ir>kt&&Mm.splice(w,0,...D.slice(kt,ir)),kt>0)if(w===0)Mm.splice(0,0,...D.slice(0,kt));else{let Hy=new Map;for(let lm=0;lm<w;lm++){let _E=y[lm];Hy.set(_E.expression.text,!0)}for(let lm=kt-1;lm>=0;lm--){let _E=D[lm];Hy.has(_E.expression.text)||Mm.unshift(_E)}}return OE(y)?Ze(G(Mm,y.hasTrailingComma),y):y}function jy(y,D){let w;return typeof D==\"number\"?w=Vt(D):w=D,qs(y)?Wt(y,w,y.name,y.constraint,y.default):ao(y)?Ki(y,w,y.dotDotDotToken,y.name,y.questionToken,y.type,y.initializer):kx(y)?Ot(y,w,y.typeParameters,y.parameters,y.type):Gu(y)?Nr(y,w,y.name,y.questionToken,y.type):xo(y)?Ue(y,w,y.name,y.questionToken??y.exclamationToken,y.type,y.initializer):B_(y)?mn(y,w,y.name,y.questionToken,y.typeParameters,y.parameters,y.type):El(y)?ni(y,w,y.asteriskToken,y.name,y.questionToken,y.typeParameters,y.parameters,y.type,y.body):ll(y)?Tn(y,w,y.parameters,y.body):Ip(y)?tt(y,w,y.name,y.parameters,y.type,y.body):Vu(y)?Ce(y,w,y.name,y.parameters,y.body):r0(y)?Ct(y,w,y.parameters,y.type):ps(y)?tu(y,w,y.asteriskToken,y.name,y.typeParameters,y.parameters,y.type,y.body):gs(y)?u_(y,w,y.typeParameters,y.parameters,y.type,y.equalsGreaterThanToken,y.body):Dc(y)?nm(y,w,y.name,y.typeParameters,y.heritageClauses,y.members):cl(y)?xa(y,w,y.declarationList):Ql(y)?qR(y,w,y.asteriskToken,y.name,y.typeParameters,y.parameters,y.type,y.body):Zl(y)?tE(y,w,y.name,y.typeParameters,y.heritageClauses,y.members):Gd(y)?Xl(y,w,y.name,y.typeParameters,y.heritageClauses,y.members):Xf(y)?ZI(y,w,y.name,y.typeParameters,y.type):kb(y)?ET(y,w,y.name,y.members):Il(y)?Rm(y,w,y.name,y.body):Nc(y)?Dm(y,w,y.isTypeOnly,y.name,y.moduleReference):cc(y)?TT(y,w,y.importClause,y.moduleSpecifier,y.attributes):dl(y)?Ny(y,w,y.expression):xl(y)?Eg(y,w,y.isTypeOnly,y.exportClause,y.moduleSpecifier,y.attributes):x.assertNever(y)}function lD(y,D){return ao(y)?Ki(y,D,y.dotDotDotToken,y.name,y.questionToken,y.type,y.initializer):xo(y)?Ue(y,D,y.name,y.questionToken??y.exclamationToken,y.type,y.initializer):El(y)?ni(y,D,y.asteriskToken,y.name,y.questionToken,y.typeParameters,y.parameters,y.type,y.body):Ip(y)?tt(y,D,y.name,y.parameters,y.type,y.body):Vu(y)?Ce(y,D,y.name,y.parameters,y.body):Dc(y)?nm(y,D,y.name,y.typeParameters,y.heritageClauses,y.members):Zl(y)?tE(y,D,y.name,y.typeParameters,y.heritageClauses,y.members):x.assertNever(y)}function _p(y,D){switch(y.kind){case 177:return tt(y,y.modifiers,D,y.parameters,y.type,y.body);case 178:return Ce(y,y.modifiers,D,y.parameters,y.body);case 174:return ni(y,y.modifiers,y.asteriskToken,D,y.questionToken,y.typeParameters,y.parameters,y.type,y.body);case 173:return mn(y,y.modifiers,D,y.questionToken,y.typeParameters,y.parameters,y.type);case 172:return Ue(y,y.modifiers,D,y.questionToken??y.exclamationToken,y.type,y.initializer);case 171:return Nr(y,y.modifiers,D,y.questionToken,y.type);case 303:return sm(y,D,y.initializer)}}function Sa(y){return y?G(y):void 0}function zl(y){return typeof y==\"string\"?Ee(y):y}function mE(y){return typeof y==\"string\"?de(y):typeof y==\"number\"?oe(y):typeof y==\"boolean\"?y?st():Ge():y}function p1(y){return y&&i().parenthesizeExpressionForDisallowedComma(y)}function NP(y){return typeof y==\"number\"?he(y):y}function Uy(y){return y&&Ij(y)?Ze(r(xd(),y),y):y}function PP(y){return typeof y==\"string\"||y&&!yi(y)?hu(y,void 0,void 0,void 0):y}function Un(y,D){return y!==D&&(r(y,D),Ze(y,D)),y}}function rj(e){switch(e){case 351:return\"type\";case 349:return\"returns\";case 350:return\"this\";case 347:return\"enum\";case 337:return\"author\";case 339:return\"class\";case 340:return\"public\";case 341:return\"private\";case 342:return\"protected\";case 343:return\"readonly\";case 344:return\"override\";case 352:return\"template\";case 353:return\"typedef\";case 348:return\"param\";case 355:return\"prop\";case 345:return\"callback\";case 346:return\"overload\";case 335:return\"augments\";case 336:return\"implements\";default:return x.fail(`Unsupported kind: ${x.formatSyntaxKind(e)}`)}}function L6e(e,t){switch(iv||(iv=Kg(99,!1,0)),e){case 15:iv.setText(\"`\"+t+\"`\");break;case 16:iv.setText(\"`\"+t+\"${\");break;case 17:iv.setText(\"}\"+t+\"${\");break;case 18:iv.setText(\"}\"+t+\"`\");break}let r=iv.scan();if(r===20&&(r=iv.reScanTemplateToken(!1)),iv.isUnterminated())return iv.setText(void 0),Rre;let i;switch(r){case 15:case 16:case 17:case 18:i=iv.getTokenValue();break}return i===void 0||iv.scan()!==1?(iv.setText(void 0),Rre):(iv.setText(void 0),i)}function ly(e){return e&&Me(e)?u2(e):lr(e)}function u2(e){return lr(e)&-67108865}function k6e(e,t){return t|e.transformFlags&134234112}function lr(e){if(!e)return 0;let t=e.transformFlags&~Ire(e.kind);return Ld(e)&&kl(e.name)?k6e(e.name,t):t}function Ia(e){return e?e.transformFlags:0}function kbe(e){let t=0;for(let r of e)t|=lr(r);e.transformFlags=t}function Ire(e){if(e>=182&&e<=205)return-2;switch(e){case 213:case 214:case 209:return-2147450880;case 267:return-1941676032;case 169:return-2147483648;case 219:return-2072174592;case 218:case 262:return-1937940480;case 261:return-2146893824;case 263:case 231:return-2147344384;case 176:return-1937948672;case 172:return-2013249536;case 174:case 177:case 178:return-2005057536;case 133:case 150:case 163:case 146:case 154:case 151:case 136:case 155:case 116:case 168:case 171:case 173:case 179:case 180:case 181:case 264:case 265:return-2;case 210:return-2147278848;case 299:return-2147418112;case 206:case 207:return-2147450880;case 216:case 238:case 234:case 360:case 217:case 108:return-2147483648;case 211:case 212:return-2147483648;default:return-2147483648}}function PF(e){return e.flags|=16,e}function ij(e,t,r){let i,o,s,l,d,p,h,m,v,E;fo(e)?(s=\"\",l=e,d=e.length,p=t,h=r):(x.assert(t===\"js\"||t===\"dts\"),s=(t===\"js\"?e.javascriptPath:e.declarationPath)||\"\",p=t===\"js\"?e.javascriptMapPath:e.declarationMapPath,m=()=>t===\"js\"?e.javascriptText:e.declarationText,v=()=>t===\"js\"?e.javascriptMapText:e.declarationMapText,d=()=>m().length,e.buildInfo&&e.buildInfo.bundle&&(x.assert(r===void 0||typeof r==\"boolean\"),i=r,o=t===\"js\"?e.buildInfo.bundle.js:e.buildInfo.bundle.dts,E=e.oldFileOfCurrentEmit));let S=E?w6e(x.checkDefined(o)):O6e(o,i,d);return S.fileName=s,S.sourceMapPath=p,S.oldFileOfCurrentEmit=E,m&&v?(Object.defineProperty(S,\"text\",{get:m}),Object.defineProperty(S,\"sourceMapText\",{get:v})):(x.assert(!E),S.text=l??\"\",S.sourceMapText=h),S}function O6e(e,t,r){let i,o,s,l,d,p,h,m;for(let E of e?e.sections:je)switch(E.kind){case\"prologue\":i=pn(i,Ze(P.createUnparsedPrologue(E.data),E));break;case\"emitHelpers\":o=pn(o,fj().get(E.data));break;case\"no-default-lib\":m=!0;break;case\"reference\":s=pn(s,{pos:-1,end:-1,fileName:E.data});break;case\"type\":l=pn(l,{pos:-1,end:-1,fileName:E.data});break;case\"type-import\":l=pn(l,{pos:-1,end:-1,fileName:E.data,resolutionMode:99});break;case\"type-require\":l=pn(l,{pos:-1,end:-1,fileName:E.data,resolutionMode:1});break;case\"lib\":d=pn(d,{pos:-1,end:-1,fileName:E.data});break;case\"prepend\":let S;for(let A of E.texts)(!t||A.kind!==\"internal\")&&(S=pn(S,Ze(P.createUnparsedTextLike(A.data,A.kind===\"internal\"),A)));p=Pr(p,S),h=pn(h,P.createUnparsedPrepend(E.data,S??je));break;case\"internal\":if(t){h||(h=[]);break}case\"text\":h=pn(h,Ze(P.createUnparsedTextLike(E.data,E.kind===\"internal\"),E));break;default:x.assertNever(E)}if(!h){let E=P.createUnparsedTextLike(void 0,!1);JC(E,0,typeof r==\"function\"?r():r),h=[E]}let v=H_.createUnparsedSource(i??je,void 0,h);return Dx(i,v),Dx(h,v),Dx(p,v),v.hasNoDefaultLib=m,v.helpers=o,v.referencedFiles=s||je,v.typeReferenceDirectives=l,v.libReferenceDirectives=d||je,v}function w6e(e){let t,r;for(let o of e.sections)switch(o.kind){case\"internal\":case\"text\":t=pn(t,Ze(P.createUnparsedTextLike(o.data,o.kind===\"internal\"),o));break;case\"no-default-lib\":case\"reference\":case\"type\":case\"type-import\":case\"type-require\":case\"lib\":r=pn(r,Ze(P.createUnparsedSyntheticReference(o),o));break;case\"prologue\":case\"emitHelpers\":case\"prepend\":break;default:x.assertNever(o)}let i=P.createUnparsedSource(je,r,t??je);return Dx(r,i),Dx(t,i),i.helpers=nn(e.sources&&e.sources.helpers,o=>fj().get(o)),i}function Obe(e,t,r,i,o,s){return fo(e)?aj(void 0,e,r,i,void 0,t,o,s):oj(e,t,r,i,o,s)}function oj(e,t,r,i,o,s,l,d){let p=H_.createInputFiles();p.javascriptPath=t,p.javascriptMapPath=r,p.declarationPath=i,p.declarationMapPath=o,p.buildInfoPath=s;let h=new Map,m=A=>{if(A===void 0)return;let C=h.get(A);return C===void 0&&(C=e(A),h.set(A,C!==void 0?C:!1)),C!==!1?C:void 0},v=A=>{let C=m(A);return C!==void 0?C:`/* Input file ${A} was missing */\\r\n`},E;return Object.defineProperties(p,{javascriptText:{get:()=>v(t)},javascriptMapText:{get:()=>m(r)},declarationText:{get:()=>v(x.checkDefined(i))},declarationMapText:{get:()=>m(o)},buildInfo:{get:()=>{if(E===void 0&&s)if(l?.getBuildInfo)E=l.getBuildInfo(s,d.configFilePath)??!1;else{let A=m(s);E=A!==void 0?R4(s,A)??!1:!1}return E||void 0}}}),p}function aj(e,t,r,i,o,s,l,d,p,h,m){let v=H_.createInputFiles();return v.javascriptPath=e,v.javascriptText=t,v.javascriptMapPath=r,v.javascriptMapText=i,v.declarationPath=o,v.declarationText=s,v.declarationMapPath=l,v.declarationMapText=d,v.buildInfoPath=p,v.buildInfo=h,v.oldFileOfCurrentEmit=m,v}function wbe(e,t,r){return new(Fbe||(Fbe=wc.getSourceMapSourceConstructor()))(e,t,r)}function mr(e,t){if(e.original!==t&&(e.original=t,t)){let r=t.emitNode;r&&(e.emitNode=W6e(r,e.emitNode))}return e}function W6e(e,t){let{flags:r,internalFlags:i,leadingComments:o,trailingComments:s,commentRange:l,sourceMapRange:d,tokenSourceMapRanges:p,constantValue:h,helpers:m,startsOnNewLine:v,snippetElement:E,classThis:S,assignedName:A}=e;if(t||(t={}),r&&(t.flags=r),i&&(t.internalFlags=i&-9),o&&(t.leadingComments=Pr(o.slice(),t.leadingComments)),s&&(t.trailingComments=Pr(s.slice(),t.trailingComments)),l&&(t.commentRange=l),d&&(t.sourceMapRange=d),p&&(t.tokenSourceMapRanges=F6e(p,t.tokenSourceMapRanges)),h!==void 0&&(t.constantValue=h),m)for(let C of m)t.helpers=Kh(t.helpers,C);return v!==void 0&&(t.startsOnNewLine=v),E!==void 0&&(t.snippetElement=E),S&&(t.classThis=S),A&&(t.assignedName=A),t}function F6e(e,t){t||(t=[]);for(let r in e)t[r]=e[r];return t}var MF,sj,xre,iv,Rre,p2,Wbe,P,Fbe,z6e=pt({\"src/compiler/factory/nodeFactory.ts\"(){\"use strict\";wo(),MF=0,sj=(e=>(e[e.None=0]=\"None\",e[e.NoParenthesizerRules=1]=\"NoParenthesizerRules\",e[e.NoNodeConverters=2]=\"NoNodeConverters\",e[e.NoIndentationOnFreshPropertyAccess=4]=\"NoIndentationOnFreshPropertyAccess\",e[e.NoOriginalNode=8]=\"NoOriginalNode\",e))(sj||{}),xre=[],Rre={},p2=Sre(),Wbe={createBaseSourceFileNode:e=>PF(p2.createBaseSourceFileNode(e)),createBaseIdentifierNode:e=>PF(p2.createBaseIdentifierNode(e)),createBasePrivateIdentifierNode:e=>PF(p2.createBasePrivateIdentifierNode(e)),createBaseTokenNode:e=>PF(p2.createBaseTokenNode(e)),createBaseNode:e=>PF(p2.createBaseNode(e))},P=d2(4,Wbe)}});function cd(e){if(e.emitNode)x.assert(!(e.emitNode.internalFlags&8),\"Invalid attempt to mutate an immutable node.\");else{if(eC(e)){if(e.kind===312)return e.emitNode={annotatedNodes:[e]};let t=Nn(uo(Nn(e)))??x.fail(\"Could not determine parsed source file.\");cd(t).annotatedNodes.push(e)}e.emitNode={}}return e.emitNode}function lj(e){var t,r;let i=(r=(t=Nn(uo(e)))==null?void 0:t.emitNode)==null?void 0:r.annotatedNodes;if(i)for(let o of i)o.emitNode=void 0}function f2(e){let t=cd(e);return t.flags|=3072,t.leadingComments=void 0,t.trailingComments=void 0,e}function $n(e,t){return cd(e).flags=t,e}function e_(e,t){let r=cd(e);return r.flags=r.flags|t,e}function m2(e,t){return cd(e).internalFlags=t,e}function XA(e,t){let r=cd(e);return r.internalFlags=r.internalFlags|t,e}function ov(e){var t;return((t=e.emitNode)==null?void 0:t.sourceMapRange)??e}function ca(e,t){return cd(e).sourceMapRange=t,e}function zbe(e,t){var r,i;return(i=(r=e.emitNode)==null?void 0:r.tokenSourceMapRanges)==null?void 0:i[t]}function Dre(e,t,r){let i=cd(e),o=i.tokenSourceMapRanges??(i.tokenSourceMapRanges=[]);return o[t]=r,e}function rN(e){var t;return(t=e.emitNode)==null?void 0:t.startsOnNewLine}function LF(e,t){return cd(e).startsOnNewLine=t,e}function t_(e){var t;return((t=e.emitNode)==null?void 0:t.commentRange)??e}function Ol(e,t){return cd(e).commentRange=t,e}function Mx(e){var t;return(t=e.emitNode)==null?void 0:t.leadingComments}function Lb(e,t){return cd(e).leadingComments=t,e}function iN(e,t,r,i){return Lb(e,pn(Mx(e),{kind:t,pos:-1,end:-1,hasTrailingNewLine:i,text:r}))}function _2(e){var t;return(t=e.emitNode)==null?void 0:t.trailingComments}function YA(e,t){return cd(e).trailingComments=t,e}function kF(e,t,r,i){return YA(e,pn(_2(e),{kind:t,pos:-1,end:-1,hasTrailingNewLine:i,text:r}))}function Cre(e,t){Lb(e,Mx(t)),YA(e,_2(t));let r=cd(t);return r.leadingComments=void 0,r.trailingComments=void 0,e}function Nre(e){var t;return(t=e.emitNode)==null?void 0:t.constantValue}function Pre(e,t){let r=cd(e);return r.constantValue=t,e}function $A(e,t){let r=cd(e);return r.helpers=pn(r.helpers,t),e}function ag(e,t){if(ct(t)){let r=cd(e);for(let i of t)r.helpers=Kh(r.helpers,i)}return e}function Bbe(e,t){var r;let i=(r=e.emitNode)==null?void 0:r.helpers;return i?N1(i,t):!1}function OF(e){var t;return(t=e.emitNode)==null?void 0:t.helpers}function Mre(e,t,r){let i=e.emitNode,o=i&&i.helpers;if(!ct(o))return;let s=cd(t),l=0;for(let d=0;d<o.length;d++){let p=o[d];r(p)?(l++,s.helpers=Kh(s.helpers,p)):l>0&&(o[d-l]=p)}l>0&&(o.length-=l)}function cj(e){var t;return(t=e.emitNode)==null?void 0:t.snippetElement}function dj(e,t){let r=cd(e);return r.snippetElement=t,e}function uj(e){return cd(e).internalFlags|=4,e}function Lre(e,t){let r=cd(e);return r.typeNode=t,e}function kre(e){var t;return(t=e.emitNode)==null?void 0:t.typeNode}function av(e,t){return cd(e).identifierTypeArguments=t,e}function BS(e){var t;return(t=e.emitNode)==null?void 0:t.identifierTypeArguments}function h2(e,t){return cd(e).autoGenerate=t,e}function Gbe(e){var t;return(t=e.emitNode)==null?void 0:t.autoGenerate}function Ore(e,t){return cd(e).generatedImportReference=t,e}function wre(e){var t;return(t=e.emitNode)==null?void 0:t.generatedImportReference}var B6e=pt({\"src/compiler/factory/emitNode.ts\"(){\"use strict\";wo()}});function Wre(e){let t=e.factory,r=Kd(()=>m2(t.createTrue(),8)),i=Kd(()=>m2(t.createFalse(),8));return{getUnscopedHelperName:o,createDecorateHelper:s,createMetadataHelper:l,createParamHelper:d,createESDecorateHelper:C,createRunInitializersHelper:R,createAssignHelper:L,createAwaitHelper:G,createAsyncGeneratorHelper:U,createAsyncDelegatorHelper:K,createAsyncValuesHelper:F,createRestHelper:oe,createAwaiterHelper:W,createExtendsHelper:$,createTemplateObjectHelper:de,createSpreadArrayHelper:fe,createPropKeyHelper:q,createSetFunctionNameHelper:H,createValuesHelper:ee,createReadHelper:le,createGeneratorHelper:Ee,createCreateBindingHelper:ce,createImportStarHelper:Z,createImportStarCallbackHelper:pe,createImportDefaultHelper:Ae,createExportStarHelper:Oe,createClassPrivateFieldGetHelper:_e,createClassPrivateFieldSetHelper:be,createClassPrivateFieldInHelper:Te,createAddDisposableResourceHelper:De,createDisposeResourcesHelper:ft};function o(he){return $n(t.createIdentifier(he),8196)}function s(he,Le,Ke,Dt){e.requestEmitHelper(wF);let st=[];return st.push(t.createArrayLiteralExpression(he,!0)),st.push(Le),Ke&&(st.push(Ke),Dt&&st.push(Dt)),t.createCallExpression(o(\"__decorate\"),void 0,st)}function l(he,Le){return e.requestEmitHelper(WF),t.createCallExpression(o(\"__metadata\"),void 0,[t.createStringLiteral(he),Le])}function d(he,Le,Ke){return e.requestEmitHelper(FF),Ze(t.createCallExpression(o(\"__param\"),void 0,[t.createNumericLiteral(Le+\"\"),he]),Ke)}function p(he){let Le=[t.createPropertyAssignment(t.createIdentifier(\"kind\"),t.createStringLiteral(\"class\")),t.createPropertyAssignment(t.createIdentifier(\"name\"),he.name),t.createPropertyAssignment(t.createIdentifier(\"metadata\"),he.metadata)];return t.createObjectLiteralExpression(Le)}function h(he){let Le=he.computed?t.createElementAccessExpression(t.createIdentifier(\"obj\"),he.name):t.createPropertyAccessExpression(t.createIdentifier(\"obj\"),he.name);return t.createPropertyAssignment(\"get\",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier(\"obj\"))],void 0,void 0,Le))}function m(he){let Le=he.computed?t.createElementAccessExpression(t.createIdentifier(\"obj\"),he.name):t.createPropertyAccessExpression(t.createIdentifier(\"obj\"),he.name);return t.createPropertyAssignment(\"set\",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier(\"obj\")),t.createParameterDeclaration(void 0,void 0,t.createIdentifier(\"value\"))],void 0,void 0,t.createBlock([t.createExpressionStatement(t.createAssignment(Le,t.createIdentifier(\"value\")))])))}function v(he){let Le=he.computed?he.name:Me(he.name)?t.createStringLiteralFromNode(he.name):he.name;return t.createPropertyAssignment(\"has\",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier(\"obj\"))],void 0,void 0,t.createBinaryExpression(Le,103,t.createIdentifier(\"obj\"))))}function E(he,Le){let Ke=[];return Ke.push(v(he)),Le.get&&Ke.push(h(he)),Le.set&&Ke.push(m(he)),t.createObjectLiteralExpression(Ke)}function S(he){let Le=[t.createPropertyAssignment(t.createIdentifier(\"kind\"),t.createStringLiteral(he.kind)),t.createPropertyAssignment(t.createIdentifier(\"name\"),he.name.computed?he.name.name:t.createStringLiteralFromNode(he.name.name)),t.createPropertyAssignment(t.createIdentifier(\"static\"),he.static?t.createTrue():t.createFalse()),t.createPropertyAssignment(t.createIdentifier(\"private\"),he.private?t.createTrue():t.createFalse()),t.createPropertyAssignment(t.createIdentifier(\"access\"),E(he.name,he.access)),t.createPropertyAssignment(t.createIdentifier(\"metadata\"),he.metadata)];return t.createObjectLiteralExpression(Le)}function A(he){return he.kind===\"class\"?p(he):S(he)}function C(he,Le,Ke,Dt,st,Ge){return e.requestEmitHelper(zF),t.createCallExpression(o(\"__esDecorate\"),void 0,[he??t.createNull(),Le??t.createNull(),Ke,A(Dt),st,Ge])}function R(he,Le,Ke){return e.requestEmitHelper(BF),t.createCallExpression(o(\"__runInitializers\"),void 0,Ke?[he,Le,Ke]:[he,Le])}function L(he){return Wa(e.getCompilerOptions())>=2?t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier(\"Object\"),\"assign\"),void 0,he):(e.requestEmitHelper(GF),t.createCallExpression(o(\"__assign\"),void 0,he))}function G(he){return e.requestEmitHelper(QA),t.createCallExpression(o(\"__await\"),void 0,[he])}function U(he,Le){return e.requestEmitHelper(QA),e.requestEmitHelper(VF),(he.emitNode||(he.emitNode={})).flags|=1572864,t.createCallExpression(o(\"__asyncGenerator\"),void 0,[Le?t.createThis():t.createVoidZero(),t.createIdentifier(\"arguments\"),he])}function K(he){return e.requestEmitHelper(QA),e.requestEmitHelper(jF),t.createCallExpression(o(\"__asyncDelegator\"),void 0,[he])}function F(he){return e.requestEmitHelper(UF),t.createCallExpression(o(\"__asyncValues\"),void 0,[he])}function oe(he,Le,Ke,Dt){e.requestEmitHelper(HF);let st=[],Ge=0;for(let ot=0;ot<Le.length-1;ot++){let Vt=Gj(Le[ot]);if(Vt)if(Pa(Vt)){x.assertIsDefined(Ke,\"Encountered computed property name but 'computedTempVariables' argument was not provided.\");let jt=Ke[Ge];Ge++,st.push(t.createConditionalExpression(t.createTypeCheck(jt,\"symbol\"),void 0,jt,void 0,t.createAdd(jt,t.createStringLiteral(\"\"))))}else st.push(t.createStringLiteralFromNode(Vt))}return t.createCallExpression(o(\"__rest\"),void 0,[he,Ze(t.createArrayLiteralExpression(st),Dt)])}function W(he,Le,Ke,Dt,st){e.requestEmitHelper(qF);let Ge=t.createFunctionExpression(void 0,t.createToken(42),void 0,void 0,Dt??[],void 0,st);return(Ge.emitNode||(Ge.emitNode={})).flags|=1572864,t.createCallExpression(o(\"__awaiter\"),void 0,[he?t.createThis():t.createVoidZero(),Le??t.createVoidZero(),Ke?P2(t,Ke):t.createVoidZero(),Ge])}function $(he){return e.requestEmitHelper(JF),t.createCallExpression(o(\"__extends\"),void 0,[he,t.createUniqueName(\"_super\",48)])}function de(he,Le){return e.requestEmitHelper(KF),t.createCallExpression(o(\"__makeTemplateObject\"),void 0,[he,Le])}function fe(he,Le,Ke){return e.requestEmitHelper(YF),t.createCallExpression(o(\"__spreadArray\"),void 0,[he,Le,Ke?r():i()])}function q(he){return e.requestEmitHelper($F),t.createCallExpression(o(\"__propKey\"),void 0,[he])}function H(he,Le,Ke){return e.requestEmitHelper(QF),e.factory.createCallExpression(o(\"__setFunctionName\"),void 0,Ke?[he,Le,e.factory.createStringLiteral(Ke)]:[he,Le])}function ee(he){return e.requestEmitHelper(ZF),t.createCallExpression(o(\"__values\"),void 0,[he])}function le(he,Le){return e.requestEmitHelper(XF),t.createCallExpression(o(\"__read\"),void 0,Le!==void 0?[he,t.createNumericLiteral(Le+\"\")]:[he])}function Ee(he){return e.requestEmitHelper(e6),t.createCallExpression(o(\"__generator\"),void 0,[t.createThis(),he])}function ce(he,Le,Ke){return e.requestEmitHelper(Lx),t.createCallExpression(o(\"__createBinding\"),void 0,[t.createIdentifier(\"exports\"),he,Le,...Ke?[Ke]:[]])}function Z(he){return e.requestEmitHelper(g2),t.createCallExpression(o(\"__importStar\"),void 0,[he])}function pe(){return e.requestEmitHelper(g2),o(\"__importStar\")}function Ae(he){return e.requestEmitHelper(n6),t.createCallExpression(o(\"__importDefault\"),void 0,[he])}function Oe(he,Le=t.createIdentifier(\"exports\")){return e.requestEmitHelper(r6),e.requestEmitHelper(Lx),t.createCallExpression(o(\"__exportStar\"),void 0,[he,Le])}function _e(he,Le,Ke,Dt){e.requestEmitHelper(i6);let st;return Dt?st=[he,Le,t.createStringLiteral(Ke),Dt]:st=[he,Le,t.createStringLiteral(Ke)],t.createCallExpression(o(\"__classPrivateFieldGet\"),void 0,st)}function be(he,Le,Ke,Dt,st){e.requestEmitHelper(o6);let Ge;return st?Ge=[he,Le,Ke,t.createStringLiteral(Dt),st]:Ge=[he,Le,Ke,t.createStringLiteral(Dt)],t.createCallExpression(o(\"__classPrivateFieldSet\"),void 0,Ge)}function Te(he,Le){return e.requestEmitHelper(a6),t.createCallExpression(o(\"__classPrivateFieldIn\"),void 0,[he,Le])}function De(he,Le,Ke){return e.requestEmitHelper(s6),t.createCallExpression(o(\"__addDisposableResource\"),void 0,[he,Le,Ke?t.createTrue():t.createFalse()])}function ft(he){return e.requestEmitHelper(l6),t.createCallExpression(o(\"__disposeResources\"),void 0,[he])}}function Fre(e,t){return e===t||e.priority===t.priority?0:e.priority===void 0?1:t.priority===void 0?-1:Ms(e.priority,t.priority)}function pj(e,...t){return r=>{let i=\"\";for(let o=0;o<t.length;o++)i+=e[o],i+=r(t[o]);return i+=e[e.length-1],i}}function fj(){return Vbe||(Vbe=PE([wF,WF,FF,zF,BF,GF,QA,VF,jF,UF,HF,qF,JF,KF,YF,ZF,XF,$F,QF,e6,g2,n6,r6,i6,o6,a6,Lx,t6,s6,l6],e=>e.name))}function oN(e,t){return Bo(e)&&Me(e.expression)&&(ba(e.expression)&8192)!==0&&e.expression.escapedText===t}var mj,wF,WF,FF,zF,BF,GF,QA,VF,jF,UF,HF,qF,JF,KF,XF,YF,$F,QF,ZF,e6,Lx,t6,g2,n6,r6,i6,o6,a6,s6,l6,Vbe,v2,y2,G6e=pt({\"src/compiler/factory/emitHelpers.ts\"(){\"use strict\";wo(),mj=(e=>(e.Field=\"f\",e.Method=\"m\",e.Accessor=\"a\",e))(mj||{}),wF={name:\"typescript:decorate\",importName:\"__decorate\",scoped:!1,priority:2,text:`\n            var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n                var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n                if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n                else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n                return c > 3 && r && Object.defineProperty(target, key, r), r;\n            };`},WF={name:\"typescript:metadata\",importName:\"__metadata\",scoped:!1,priority:3,text:`\n            var __metadata = (this && this.__metadata) || function (k, v) {\n                if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n            };`},FF={name:\"typescript:param\",importName:\"__param\",scoped:!1,priority:4,text:`\n            var __param = (this && this.__param) || function (paramIndex, decorator) {\n                return function (target, key) { decorator(target, key, paramIndex); }\n            };`},zF={name:\"typescript:esDecorate\",importName:\"__esDecorate\",scoped:!1,priority:2,text:`\n        var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n            function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n            var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n            var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n            var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n            var _, done = false;\n            for (var i = decorators.length - 1; i >= 0; i--) {\n                var context = {};\n                for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n                for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n                context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n                var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n                if (kind === \"accessor\") {\n                    if (result === void 0) continue;\n                    if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n                    if (_ = accept(result.get)) descriptor.get = _;\n                    if (_ = accept(result.set)) descriptor.set = _;\n                    if (_ = accept(result.init)) initializers.unshift(_);\n                }\n                else if (_ = accept(result)) {\n                    if (kind === \"field\") initializers.unshift(_);\n                    else descriptor[key] = _;\n                }\n            }\n            if (target) Object.defineProperty(target, contextIn.name, descriptor);\n            done = true;\n        };`},BF={name:\"typescript:runInitializers\",importName:\"__runInitializers\",scoped:!1,priority:2,text:`\n        var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {\n            var useValue = arguments.length > 2;\n            for (var i = 0; i < initializers.length; i++) {\n                value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n            }\n            return useValue ? value : void 0;\n        };`},GF={name:\"typescript:assign\",importName:\"__assign\",scoped:!1,priority:1,text:`\n            var __assign = (this && this.__assign) || function () {\n                __assign = Object.assign || function(t) {\n                    for (var s, i = 1, n = arguments.length; i < n; i++) {\n                        s = arguments[i];\n                        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                            t[p] = s[p];\n                    }\n                    return t;\n                };\n                return __assign.apply(this, arguments);\n            };`},QA={name:\"typescript:await\",importName:\"__await\",scoped:!1,text:`\n            var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }`},VF={name:\"typescript:asyncGenerator\",importName:\"__asyncGenerator\",scoped:!1,dependencies:[QA],text:`\n        var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n            if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n            var g = generator.apply(thisArg, _arguments || []), i, q = [];\n            return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n            function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n            function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n            function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n            function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n            function fulfill(value) { resume(\"next\", value); }\n            function reject(value) { resume(\"throw\", value); }\n            function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n        };`},jF={name:\"typescript:asyncDelegator\",importName:\"__asyncDelegator\",scoped:!1,dependencies:[QA],text:`\n            var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n                var i, p;\n                return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n                function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n            };`},UF={name:\"typescript:asyncValues\",importName:\"__asyncValues\",scoped:!1,text:`\n            var __asyncValues = (this && this.__asyncValues) || function (o) {\n                if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n                var m = o[Symbol.asyncIterator], i;\n                return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n                function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n                function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n            };`},HF={name:\"typescript:rest\",importName:\"__rest\",scoped:!1,text:`\n            var __rest = (this && this.__rest) || function (s, e) {\n                var t = {};\n                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n                    t[p] = s[p];\n                if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n                    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n                        if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                            t[p[i]] = s[p[i]];\n                    }\n                return t;\n            };`},qF={name:\"typescript:awaiter\",importName:\"__awaiter\",scoped:!1,priority:5,text:`\n            var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n                function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n                return new (P || (P = Promise))(function (resolve, reject) {\n                    function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n                    function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n                    function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n                    step((generator = generator.apply(thisArg, _arguments || [])).next());\n                });\n            };`},JF={name:\"typescript:extends\",importName:\"__extends\",scoped:!1,priority:0,text:`\n            var __extends = (this && this.__extends) || (function () {\n                var extendStatics = function (d, b) {\n                    extendStatics = Object.setPrototypeOf ||\n                        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n                        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n                    return extendStatics(d, b);\n                };\n\n                return function (d, b) {\n                    if (typeof b !== \"function\" && b !== null)\n                        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n                    extendStatics(d, b);\n                    function __() { this.constructor = d; }\n                    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n                };\n            })();`},KF={name:\"typescript:makeTemplateObject\",importName:\"__makeTemplateObject\",scoped:!1,priority:0,text:`\n            var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n                if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n                return cooked;\n            };`},XF={name:\"typescript:read\",importName:\"__read\",scoped:!1,text:`\n            var __read = (this && this.__read) || function (o, n) {\n                var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n                if (!m) return o;\n                var i = m.call(o), r, ar = [], e;\n                try {\n                    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n                }\n                catch (error) { e = { error: error }; }\n                finally {\n                    try {\n                        if (r && !r.done && (m = i[\"return\"])) m.call(i);\n                    }\n                    finally { if (e) throw e.error; }\n                }\n                return ar;\n            };`},YF={name:\"typescript:spreadArray\",importName:\"__spreadArray\",scoped:!1,text:`\n            var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n                if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n                    if (ar || !(i in from)) {\n                        if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n                        ar[i] = from[i];\n                    }\n                }\n                return to.concat(ar || Array.prototype.slice.call(from));\n            };`},$F={name:\"typescript:propKey\",importName:\"__propKey\",scoped:!1,text:`\n        var __propKey = (this && this.__propKey) || function (x) {\n            return typeof x === \"symbol\" ? x : \"\".concat(x);\n        };`},QF={name:\"typescript:setFunctionName\",importName:\"__setFunctionName\",scoped:!1,text:`\n        var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {\n            if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n            return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n        };`},ZF={name:\"typescript:values\",importName:\"__values\",scoped:!1,text:`\n            var __values = (this && this.__values) || function(o) {\n                var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n                if (m) return m.call(o);\n                if (o && typeof o.length === \"number\") return {\n                    next: function () {\n                        if (o && i >= o.length) o = void 0;\n                        return { value: o && o[i++], done: !o };\n                    }\n                };\n                throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n            };`},e6={name:\"typescript:generator\",importName:\"__generator\",scoped:!1,priority:6,text:`\n            var __generator = (this && this.__generator) || function (thisArg, body) {\n                var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n                return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n                function verb(n) { return function (v) { return step([n, v]); }; }\n                function step(op) {\n                    if (f) throw new TypeError(\"Generator is already executing.\");\n                    while (g && (g = 0, op[0] && (_ = 0)), _) try {\n                        if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n                        if (y = 0, t) op = [op[0] & 2, t.value];\n                        switch (op[0]) {\n                            case 0: case 1: t = op; break;\n                            case 4: _.label++; return { value: op[1], done: false };\n                            case 5: _.label++; y = op[1]; op = [0]; continue;\n                            case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                            default:\n                                if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                                if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                                if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                                if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                                if (t[2]) _.ops.pop();\n                                _.trys.pop(); continue;\n                        }\n                        op = body.call(thisArg, _);\n                    } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n                    if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n                }\n            };`},Lx={name:\"typescript:commonjscreatebinding\",importName:\"__createBinding\",scoped:!1,priority:1,text:`\n            var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n                if (k2 === undefined) k2 = k;\n                var desc = Object.getOwnPropertyDescriptor(m, k);\n                if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n                  desc = { enumerable: true, get: function() { return m[k]; } };\n                }\n                Object.defineProperty(o, k2, desc);\n            }) : (function(o, m, k, k2) {\n                if (k2 === undefined) k2 = k;\n                o[k2] = m[k];\n            }));`},t6={name:\"typescript:commonjscreatevalue\",importName:\"__setModuleDefault\",scoped:!1,priority:1,text:`\n            var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n                Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n            }) : function(o, v) {\n                o[\"default\"] = v;\n            });`},g2={name:\"typescript:commonjsimportstar\",importName:\"__importStar\",scoped:!1,dependencies:[Lx,t6],priority:2,text:`\n            var __importStar = (this && this.__importStar) || function (mod) {\n                if (mod && mod.__esModule) return mod;\n                var result = {};\n                if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n                __setModuleDefault(result, mod);\n                return result;\n            };`},n6={name:\"typescript:commonjsimportdefault\",importName:\"__importDefault\",scoped:!1,text:`\n            var __importDefault = (this && this.__importDefault) || function (mod) {\n                return (mod && mod.__esModule) ? mod : { \"default\": mod };\n            };`},r6={name:\"typescript:export-star\",importName:\"__exportStar\",scoped:!1,dependencies:[Lx],priority:2,text:`\n            var __exportStar = (this && this.__exportStar) || function(m, exports) {\n                for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n            };`},i6={name:\"typescript:classPrivateFieldGet\",importName:\"__classPrivateFieldGet\",scoped:!1,text:`\n            var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n                if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n                if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n                return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n            };`},o6={name:\"typescript:classPrivateFieldSet\",importName:\"__classPrivateFieldSet\",scoped:!1,text:`\n            var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n                if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n                if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n                if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n                return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n            };`},a6={name:\"typescript:classPrivateFieldIn\",importName:\"__classPrivateFieldIn\",scoped:!1,text:`\n            var __classPrivateFieldIn = (this && this.__classPrivateFieldIn) || function(state, receiver) {\n                if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n                return typeof state === \"function\" ? receiver === state : state.has(receiver);\n            };`},s6={name:\"typescript:addDisposableResource\",importName:\"__addDisposableResource\",scoped:!1,text:`\n        var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {\n            if (value !== null && value !== void 0) {\n                if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n                var dispose;\n                if (async) {\n                    if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n                    dispose = value[Symbol.asyncDispose];\n                }\n                if (dispose === void 0) {\n                    if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n                    dispose = value[Symbol.dispose];\n                }\n                if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n                env.stack.push({ value: value, dispose: dispose, async: async });\n            }\n            else if (async) {\n                env.stack.push({ async: true });\n            }\n            return value;\n        };`},l6={name:\"typescript:disposeResources\",importName:\"__disposeResources\",scoped:!1,text:`\n        var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {\n            return function (env) {\n                function fail(e) {\n                    env.error = env.hasError ? new SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n                    env.hasError = true;\n                }\n                function next() {\n                    while (env.stack.length) {\n                        var rec = env.stack.pop();\n                        try {\n                            var result = rec.dispose && rec.dispose.call(rec.value);\n                            if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n                        }\n                        catch (e) {\n                            fail(e);\n                        }\n                    }\n                    if (env.hasError) throw env.error;\n                }\n                return next();\n            };\n        })(typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n            var e = new Error(message);\n            return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n        });`},v2={name:\"typescript:async-super\",scoped:!0,text:pj`\n            const ${\"_superIndex\"} = name => super[name];`},y2={name:\"typescript:advanced-async-super\",scoped:!0,text:pj`\n            const ${\"_superIndex\"} = (function (geti, seti) {\n                const cache = Object.create(null);\n                return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n            })(name => super[name], (name, value) => super[name] = value);`}}});function Bu(e){return e.kind===9}function c6(e){return e.kind===10}function da(e){return e.kind===11}function ZA(e){return e.kind===12}function _j(e){return e.kind===14}function eI(e){return e.kind===15}function tI(e){return e.kind===16}function hj(e){return e.kind===17}function d6(e){return e.kind===18}function u6(e){return e.kind===26}function zre(e){return e.kind===28}function gj(e){return e.kind===40}function vj(e){return e.kind===41}function b2(e){return e.kind===42}function E2(e){return e.kind===54}function cy(e){return e.kind===58}function Bre(e){return e.kind===59}function p6(e){return e.kind===29}function Gre(e){return e.kind===39}function Me(e){return e.kind===80}function Ci(e){return e.kind===81}function nI(e){return e.kind===95}function f6(e){return e.kind===90}function aN(e){return e.kind===134}function Vre(e){return e.kind===131}function yj(e){return e.kind===135}function jre(e){return e.kind===148}function rI(e){return e.kind===126}function Ure(e){return e.kind===128}function Hre(e){return e.kind===164}function qre(e){return e.kind===129}function sN(e){return e.kind===108}function lN(e){return e.kind===102}function Jre(e){return e.kind===84}function $d(e){return e.kind===166}function Pa(e){return e.kind===167}function qs(e){return e.kind===168}function ao(e){return e.kind===169}function Xc(e){return e.kind===170}function Gu(e){return e.kind===171}function xo(e){return e.kind===172}function B_(e){return e.kind===173}function El(e){return e.kind===174}function nl(e){return e.kind===175}function ll(e){return e.kind===176}function Ip(e){return e.kind===177}function Vu(e){return e.kind===178}function iI(e){return e.kind===179}function S2(e){return e.kind===180}function r0(e){return e.kind===181}function T2(e){return e.kind===182}function Yp(e){return e.kind===183}function G_(e){return e.kind===184}function kx(e){return e.kind===185}function oI(e){return e.kind===186}function ju(e){return e.kind===187}function A2(e){return e.kind===188}function aI(e){return e.kind===189}function Ox(e){return e.kind===202}function m6(e){return e.kind===190}function _6(e){return e.kind===191}function dy(e){return e.kind===192}function sI(e){return e.kind===193}function lI(e){return e.kind===194}function GS(e){return e.kind===195}function VS(e){return e.kind===196}function I2(e){return e.kind===197}function jS(e){return e.kind===198}function US(e){return e.kind===199}function wx(e){return e.kind===200}function uy(e){return e.kind===201}function Dh(e){return e.kind===205}function bj(e){return e.kind===204}function Kre(e){return e.kind===203}function Rf(e){return e.kind===206}function i0(e){return e.kind===207}function Na(e){return e.kind===208}function Bd(e){return e.kind===209}function ma(e){return e.kind===210}function Er(e){return e.kind===211}function Rs(e){return e.kind===212}function Bo(e){return e.kind===213}function o0(e){return e.kind===214}function a0(e){return e.kind===215}function Xre(e){return e.kind===216}function uu(e){return e.kind===217}function ps(e){return e.kind===218}function gs(e){return e.kind===219}function Yre(e){return e.kind===220}function Wx(e){return e.kind===221}function cI(e){return e.kind===222}function py(e){return e.kind===223}function fy(e){return e.kind===224}function Ej(e){return e.kind===225}function Zn(e){return e.kind===226}function Fx(e){return e.kind===227}function h6(e){return e.kind===228}function g6(e){return e.kind===229}function bm(e){return e.kind===230}function Dc(e){return e.kind===231}function vc(e){return e.kind===232}function sv(e){return e.kind===233}function x2(e){return e.kind===234}function Sj(e){return e.kind===238}function dI(e){return e.kind===235}function cN(e){return e.kind===236}function jbe(e){return e.kind===237}function v6(e){return e.kind===360}function dN(e){return e.kind===361}function uN(e){return e.kind===239}function $re(e){return e.kind===240}function Do(e){return e.kind===241}function cl(e){return e.kind===243}function Tj(e){return e.kind===242}function Cc(e){return e.kind===244}function HS(e){return e.kind===245}function Ube(e){return e.kind===246}function Hbe(e){return e.kind===247}function qS(e){return e.kind===248}function y6(e){return e.kind===249}function R2(e){return e.kind===250}function qbe(e){return e.kind===251}function Jbe(e){return e.kind===252}function Kf(e){return e.kind===253}function Qre(e){return e.kind===254}function pN(e){return e.kind===255}function s0(e){return e.kind===256}function Aj(e){return e.kind===257}function JS(e){return e.kind===258}function Kbe(e){return e.kind===259}function yi(e){return e.kind===260}function yc(e){return e.kind===261}function Ql(e){return e.kind===262}function Zl(e){return e.kind===263}function Gd(e){return e.kind===264}function Xf(e){return e.kind===265}function kb(e){return e.kind===266}function Il(e){return e.kind===267}function n_(e){return e.kind===268}function fN(e){return e.kind===269}function D2(e){return e.kind===270}function Nc(e){return e.kind===271}function cc(e){return e.kind===272}function V_(e){return e.kind===273}function Xbe(e){return e.kind===302}function Zre(e){return e.kind===300}function Ybe(e){return e.kind===301}function uI(e){return e.kind===300}function eie(e){return e.kind===301}function my(e){return e.kind===274}function j_(e){return e.kind===280}function sg(e){return e.kind===275}function Iu(e){return e.kind===276}function dl(e){return e.kind===277}function xl(e){return e.kind===278}function $p(e){return e.kind===279}function Ed(e){return e.kind===281}function $be(e){return e.kind===282}function Ij(e){return e.kind===359}function pI(e){return e.kind===362}function U_(e){return e.kind===283}function Ch(e){return e.kind===284}function KS(e){return e.kind===285}function r_(e){return e.kind===286}function l0(e){return e.kind===287}function c0(e){return e.kind===288}function fI(e){return e.kind===289}function tie(e){return e.kind===290}function i_(e){return e.kind===291}function d0(e){return e.kind===292}function mI(e){return e.kind===293}function mN(e){return e.kind===294}function Em(e){return e.kind===295}function zx(e){return e.kind===296}function _N(e){return e.kind===297}function xp(e){return e.kind===298}function u0(e){return e.kind===299}function Hl(e){return e.kind===303}function xu(e){return e.kind===304}function lv(e){return e.kind===305}function p0(e){return e.kind===306}function nie(e){return e.kind===308}function Li(e){return e.kind===312}function xj(e){return e.kind===313}function XS(e){return e.kind===314}function f0(e){return e.kind===316}function hN(e){return e.kind===317}function Ob(e){return e.kind===318}function rie(e){return e.kind===331}function iie(e){return e.kind===332}function Qbe(e){return e.kind===333}function oie(e){return e.kind===319}function aie(e){return e.kind===320}function Bx(e){return e.kind===321}function b6(e){return e.kind===322}function Rj(e){return e.kind===323}function Gx(e){return e.kind===324}function E6(e){return e.kind===325}function Zbe(e){return e.kind===326}function Sm(e){return e.kind===327}function YS(e){return e.kind===329}function wb(e){return e.kind===330}function _I(e){return e.kind===335}function eEe(e){return e.kind===337}function sie(e){return e.kind===339}function Dj(e){return e.kind===345}function Cj(e){return e.kind===340}function Nj(e){return e.kind===341}function Pj(e){return e.kind===342}function Mj(e){return e.kind===343}function S6(e){return e.kind===344}function Vx(e){return e.kind===346}function Lj(e){return e.kind===338}function tEe(e){return e.kind===354}function C2(e){return e.kind===347}function Tm(e){return e.kind===348}function T6(e){return e.kind===349}function kj(e){return e.kind===350}function gN(e){return e.kind===351}function Df(e){return e.kind===352}function $S(e){return e.kind===353}function nEe(e){return e.kind===334}function lie(e){return e.kind===355}function A6(e){return e.kind===336}function I6(e){return e.kind===357}function rEe(e){return e.kind===356}function jx(e){return e.kind===358}var V6e=pt({\"src/compiler/factory/nodeTests.ts\"(){\"use strict\";wo()}});function N2(e){return e.createExportDeclaration(void 0,!1,e.createNamedExports([]),void 0)}function QS(e,t,r,i){if(Pa(r))return Ze(e.createElementAccessExpression(t,r.expression),i);{let o=Ze(hh(r)?e.createPropertyAccessExpression(t,r):e.createElementAccessExpression(t,r),r);return e_(o,128),o}}function cie(e,t){let r=H_.createIdentifier(e||\"React\");return Aa(r,uo(t)),r}function die(e,t,r){if($d(t)){let i=die(e,t.left,r),o=e.createIdentifier(ar(t.right));return o.escapedText=t.right.escapedText,e.createPropertyAccessExpression(i,o)}else return cie(ar(t),r)}function Oj(e,t,r,i){return t?die(e,t,i):e.createPropertyAccessExpression(cie(r,i),\"createElement\")}function j6e(e,t,r,i){return t?die(e,t,i):e.createPropertyAccessExpression(cie(r,i),\"Fragment\")}function uie(e,t,r,i,o,s){let l=[r];if(i&&l.push(i),o&&o.length>0)if(i||l.push(e.createNull()),o.length>1)for(let d of o)Sd(d),l.push(d);else l.push(o[0]);return Ze(e.createCallExpression(t,void 0,l),s)}function pie(e,t,r,i,o,s,l){let p=[j6e(e,r,i,s),e.createNull()];if(o&&o.length>0)if(o.length>1)for(let h of o)Sd(h),p.push(h);else p.push(o[0]);return Ze(e.createCallExpression(Oj(e,t,i,s),void 0,p),l)}function wj(e,t,r){if(yc(t)){let i=Ta(t.declarations),o=e.updateVariableDeclaration(i,i.name,void 0,void 0,r);return Ze(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[o])),t)}else{let i=Ze(e.createAssignment(t,r),t);return Ze(e.createExpressionStatement(i),t)}}function iEe(e,t,r){return Do(t)?e.updateBlock(t,Ze(e.createNodeArray([r,...t.statements]),t.statements)):e.createBlock(e.createNodeArray([t,r]),!0)}function P2(e,t){if($d(t)){let r=P2(e,t.left),i=Aa(Ze(e.cloneNode(t.right),t.right),t.right.parent);return Ze(e.createPropertyAccessExpression(r,i),t)}else return Aa(Ze(e.cloneNode(t),t),t.parent)}function Wj(e,t){return Me(t)?e.createStringLiteralFromNode(t):Pa(t)?Aa(Ze(e.cloneNode(t.expression),t.expression),t.expression.parent):Aa(Ze(e.cloneNode(t),t),t.parent)}function U6e(e,t,r,i,o){let{firstAccessor:s,getAccessor:l,setAccessor:d}=wS(t,r);if(r===s)return Ze(e.createObjectDefinePropertyCall(i,Wj(e,r.name),e.createPropertyDescriptor({enumerable:e.createFalse(),configurable:!0,get:l&&Ze(mr(e.createFunctionExpression(kE(l),void 0,void 0,void 0,l.parameters,void 0,l.body),l),l),set:d&&Ze(mr(e.createFunctionExpression(kE(d),void 0,void 0,void 0,d.parameters,void 0,d.body),d),d)},!o)),s)}function H6e(e,t,r){return mr(Ze(e.createAssignment(QS(e,r,t.name,t.name),t.initializer),t),t)}function q6e(e,t,r){return mr(Ze(e.createAssignment(QS(e,r,t.name,t.name),e.cloneNode(t.name)),t),t)}function J6e(e,t,r){return mr(Ze(e.createAssignment(QS(e,r,t.name,t.name),mr(Ze(e.createFunctionExpression(kE(t),t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body),t),t)),t),t)}function fie(e,t,r,i){switch(r.name&&Ci(r.name)&&x.failBadSyntaxKind(r.name,\"Private identifiers are not allowed in object literals.\"),r.kind){case 177:case 178:return U6e(e,t.properties,r,i,!!t.multiLine);case 303:return H6e(e,r,i);case 304:return q6e(e,r,i);case 174:return J6e(e,r,i)}}function x6(e,t,r,i,o){let s=t.operator;x.assert(s===46||s===47,\"Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression\");let l=e.createTempVariable(i);r=e.createAssignment(l,r),Ze(r,t.operand);let d=fy(t)?e.createPrefixUnaryExpression(s,l):e.createPostfixUnaryExpression(l,s);return Ze(d,t),o&&(d=e.createAssignment(o,d),Ze(d,t)),r=e.createComma(r,d),Ze(r,t),Ej(t)&&(r=e.createComma(r,l),Ze(r,t)),r}function Fj(e){return(ba(e)&65536)!==0}function lg(e){return(ba(e)&32768)!==0}function R6(e){return(ba(e)&16384)!==0}function oEe(e){return da(e.expression)&&e.expression.text===\"use strict\"}function zj(e){for(let t of e)if(Hf(t)){if(oEe(t))return t}else break}function mie(e){let t=Ac(e);return t!==void 0&&Hf(t)&&oEe(t)}function M2(e){return e.kind===226&&e.operatorToken.kind===28}function vN(e){return M2(e)||dN(e)}function Ux(e){return uu(e)&&Jn(e)&&!!yb(e)}function D6(e){let t=bb(e);return x.assertIsDefined(t),t}function C6(e,t=15){switch(e.kind){case 217:return t&16&&Ux(e)?!1:(t&1)!==0;case 216:case 234:case 233:case 238:return(t&2)!==0;case 235:return(t&4)!==0;case 360:return(t&8)!==0}return!1}function Rl(e,t=15){for(;C6(e,t);)e=e.expression;return e}function _ie(e,t=15){let r=e.parent;for(;C6(r,t);)r=r.parent,x.assert(r);return r}function aEe(e){return Rl(e,6)}function Sd(e){return LF(e,!0)}function L2(e){let t=sl(e,Li),r=t&&t.emitNode;return r&&r.externalHelpersModuleName}function hie(e){let t=sl(e,Li),r=t&&t.emitNode;return!!r&&(!!r.externalHelpersModuleName||!!r.externalHelpers)}function Bj(e,t,r,i,o,s,l){if(i.importHelpers&&MA(r,i)){let d,p=ld(i);if(p>=5&&p<=99||r.impliedNodeFormat===99){let h=OF(r);if(h){let m=[];for(let v of h)if(!v.scoped){let E=v.importName;E&&jp(m,E)}if(ct(m)){m.sort(gd),d=e.createNamedImports(nn(m,S=>tW(r,S)?e.createImportSpecifier(!1,void 0,e.createIdentifier(S)):e.createImportSpecifier(!1,e.createIdentifier(S),t.getUnscopedHelperName(S))));let v=sl(r,Li),E=cd(v);E.externalHelpers=!0}}}else{let h=gie(e,r,i,o,s||l);h&&(d=e.createNamespaceImport(h))}if(d){let h=e.createImportDeclaration(void 0,e.createImportClause(!1,void 0,d),e.createStringLiteral(ay),void 0);return XA(h,2),h}}}function gie(e,t,r,i,o){if(r.importHelpers&&MA(t,r)){let s=L2(t);if(s)return s;let l=ld(r),d=(i||z_(r)&&o)&&l!==4&&(l<5||t.impliedNodeFormat===1);if(!d){let p=OF(t);if(p){for(let h of p)if(!h.scoped){d=!0;break}}}if(d){let p=sl(t,Li),h=cd(p);return h.externalHelpersModuleName||(h.externalHelpersModuleName=e.createUniqueName(ay))}}}function Hx(e,t,r){let i=cx(t);if(i&&!kA(t)&&!rW(t)){let o=i.name;return ws(o)?o:e.createIdentifier(FE(r,o)||ar(o))}if(t.kind===272&&t.importClause||t.kind===278&&t.moduleSpecifier)return e.getGeneratedNameForNode(t)}function hI(e,t,r,i,o,s){let l=lx(t);if(l&&da(l))return X6e(t,i,e,o,s)||K6e(e,l,r)||e.cloneNode(l)}function K6e(e,t,r){let i=r.renamedDependencies&&r.renamedDependencies.get(t.text);return i?e.createStringLiteral(i):void 0}function k2(e,t,r,i){if(t){if(t.moduleName)return e.createStringLiteral(t.moduleName);if(!t.isDeclarationFile&&ss(i))return e.createStringLiteral(rV(r,t.fileName))}}function X6e(e,t,r,i,o){return k2(r,i.getExternalModuleFileFromDeclaration(e),t,o)}function O2(e){if(qM(e))return e.initializer;if(Hl(e)){let t=e.initializer;return lc(t,!0)?t.right:void 0}if(xu(e))return e.objectAssignmentInitializer;if(lc(e,!0))return e.right;if(bm(e))return O2(e.expression)}function _y(e){if(qM(e))return e.name;if(Zh(e)){switch(e.kind){case 303:return _y(e.initializer);case 304:return e.name;case 305:return _y(e.expression)}return}return lc(e,!0)?_y(e.left):bm(e)?_y(e.expression):e}function N6(e){switch(e.kind){case 169:case 208:return e.dotDotDotToken;case 230:case 305:return e}}function Gj(e){let t=P6(e);return x.assert(!!t||lv(e),\"Invalid property name for binding element.\"),t}function P6(e){switch(e.kind){case 208:if(e.propertyName){let r=e.propertyName;return Ci(r)?x.failBadSyntaxKind(r):Pa(r)&&sEe(r.expression)?r.expression:r}break;case 303:if(e.name){let r=e.name;return Ci(r)?x.failBadSyntaxKind(r):Pa(r)&&sEe(r.expression)?r.expression:r}break;case 305:return e.name&&Ci(e.name)?x.failBadSyntaxKind(e.name):e.name}let t=_y(e);if(t&&kl(t))return t}function sEe(e){let t=e.kind;return t===11||t===9}function qx(e){switch(e.kind){case 206:case 207:case 209:return e.elements;case 210:return e.properties}}function Vj(e){if(e){let t=e;for(;;){if(Me(t)||!t.body)return Me(t)?t:t.name;t=t.body}}}function lEe(e){let t=e.kind;return t===176||t===178}function vie(e){let t=e.kind;return t===176||t===177||t===178}function jj(e){let t=e.kind;return t===303||t===304||t===262||t===176||t===181||t===175||t===282||t===243||t===264||t===265||t===266||t===267||t===271||t===272||t===270||t===278||t===277}function yie(e){let t=e.kind;return t===175||t===303||t===304||t===282||t===270}function bie(e){return cy(e)||E2(e)}function Eie(e){return Me(e)||I2(e)}function Sie(e){return jre(e)||gj(e)||vj(e)}function Tie(e){return cy(e)||gj(e)||vj(e)}function Aie(e){return Me(e)||da(e)}function cEe(e){let t=e.kind;return t===106||t===112||t===97||wE(e)||fy(e)}function Y6e(e){return e===43}function $6e(e){return e===42||e===44||e===45}function Q6e(e){return Y6e(e)||$6e(e)}function Z6e(e){return e===40||e===41}function e4e(e){return Z6e(e)||Q6e(e)}function t4e(e){return e===48||e===49||e===50}function Uj(e){return t4e(e)||e4e(e)}function n4e(e){return e===30||e===33||e===32||e===34||e===104||e===103}function r4e(e){return n4e(e)||Uj(e)}function i4e(e){return e===35||e===37||e===36||e===38}function o4e(e){return i4e(e)||r4e(e)}function a4e(e){return e===51||e===52||e===53}function s4e(e){return a4e(e)||o4e(e)}function l4e(e){return e===56||e===57}function c4e(e){return l4e(e)||s4e(e)}function d4e(e){return e===61||c4e(e)||tv(e)}function u4e(e){return d4e(e)||e===28}function Iie(e){return u4e(e.kind)}function M6(e,t,r,i,o,s){let l=new pEe(e,t,r,i,o,s);return d;function d(p,h){let m={value:void 0},v=[qj.enter],E=[p],S=[void 0],A=0;for(;v[A]!==qj.done;)A=v[A](l,A,v,E,S,m,h);return x.assertEqual(A,0),m.value}}function dEe(e){return e===95||e===90}function w2(e){let t=e.kind;return dEe(t)}function uEe(e){let t=e.kind;return Yg(t)&&!dEe(t)}function xie(e,t){if(t!==void 0)return t.length===0?t:Ze(e.createNodeArray([],t.hasTrailingComma),t)}function W2(e){var t;let r=e.emitNode.autoGenerate;if(r.flags&4){let i=r.id,o=e,s=o.original;for(;s;){o=s;let l=(t=o.emitNode)==null?void 0:t.autoGenerate;if(hh(o)&&(l===void 0||l.flags&4&&l.id!==i))break;s=o.original}return o}return e}function Jx(e,t){return typeof e==\"object\"?Wb(!1,e.prefix,e.node,e.suffix,t):typeof e==\"string\"?e.length>0&&e.charCodeAt(0)===35?e.slice(1):e:\"\"}function p4e(e,t){return typeof e==\"string\"?e:f4e(e,x.checkDefined(t))}function f4e(e,t){return vS(e)?t(e).slice(1):ws(e)?t(e):Ci(e)?e.escapedText.slice(1):ar(e)}function Wb(e,t,r,i,o){return t=Jx(t,o),i=Jx(i,o),r=p4e(r,o),`${e?\"#\":\"\"}${t}${r}${i}`}function Hj(e,t,r,i){return e.updatePropertyDeclaration(t,r,e.getGeneratedPrivateNameForNode(t.name,void 0,\"_accessor_storage\"),void 0,void 0,i)}function Rie(e,t,r,i,o=e.createThis()){return e.createGetAccessorDeclaration(r,i,[],void 0,e.createBlock([e.createReturnStatement(e.createPropertyAccessExpression(o,e.getGeneratedPrivateNameForNode(t.name,void 0,\"_accessor_storage\")))]))}function Die(e,t,r,i,o=e.createThis()){return e.createSetAccessorDeclaration(r,i,[e.createParameterDeclaration(void 0,void 0,\"value\")],e.createBlock([e.createExpressionStatement(e.createAssignment(e.createPropertyAccessExpression(o,e.getGeneratedPrivateNameForNode(t.name,void 0,\"_accessor_storage\")),e.createIdentifier(\"value\")))]))}function L6(e){let t=e.expression;for(;;){if(t=Rl(t),dN(t)){t=Da(t.elements);continue}if(M2(t)){t=t.right;continue}if(lc(t,!0)&&ws(t.left))return t;break}}function m4e(e){return uu(e)&&xs(e)&&!e.emitNode}function k6(e,t){if(m4e(e))k6(e.expression,t);else if(M2(e))k6(e.left,t),k6(e.right,t);else if(dN(e))for(let r of e.elements)k6(r,t);else t.push(e)}function Cie(e){let t=[];return k6(e,t),t}function F2(e){if(e.transformFlags&65536)return!0;if(e.transformFlags&128)for(let t of qx(e)){let r=_y(t);if(r&&lC(r)&&(r.transformFlags&65536||r.transformFlags&128&&F2(r)))return!0}return!1}var qj,pEe,_4e=pt({\"src/compiler/factory/utilities.ts\"(){\"use strict\";wo(),(e=>{function t(m,v,E,S,A,C,R){let L=v>0?A[v-1]:void 0;return x.assertEqual(E[v],t),A[v]=m.onEnter(S[v],L,R),E[v]=d(m,t),v}e.enter=t;function r(m,v,E,S,A,C,R){x.assertEqual(E[v],r),x.assertIsDefined(m.onLeft),E[v]=d(m,r);let L=m.onLeft(S[v].left,A[v],S[v]);return L?(h(v,S,L),p(v,E,S,A,L)):v}e.left=r;function i(m,v,E,S,A,C,R){return x.assertEqual(E[v],i),x.assertIsDefined(m.onOperator),E[v]=d(m,i),m.onOperator(S[v].operatorToken,A[v],S[v]),v}e.operator=i;function o(m,v,E,S,A,C,R){x.assertEqual(E[v],o),x.assertIsDefined(m.onRight),E[v]=d(m,o);let L=m.onRight(S[v].right,A[v],S[v]);return L?(h(v,S,L),p(v,E,S,A,L)):v}e.right=o;function s(m,v,E,S,A,C,R){x.assertEqual(E[v],s),E[v]=d(m,s);let L=m.onExit(S[v],A[v]);if(v>0){if(v--,m.foldState){let G=E[v]===s?\"right\":\"left\";A[v]=m.foldState(A[v],L,G)}}else C.value=L;return v}e.exit=s;function l(m,v,E,S,A,C,R){return x.assertEqual(E[v],l),v}e.done=l;function d(m,v){switch(v){case t:if(m.onLeft)return r;case r:if(m.onOperator)return i;case i:if(m.onRight)return o;case o:return s;case s:return l;case l:return l;default:x.fail(\"Invalid state\")}}e.nextState=d;function p(m,v,E,S,A){return m++,v[m]=t,E[m]=A,S[m]=void 0,m}function h(m,v,E){if(x.shouldAssert(2))for(;m>=0;)x.assert(v[m]!==E,\"Circular traversal detected.\"),m--}})(qj||(qj={})),pEe=class{constructor(e,t,r,i,o,s){this.onEnter=e,this.onLeft=t,this.onOperator=r,this.onRight=i,this.onExit=o,this.foldState=s}}}});function Ze(e,t){return t?F_(e,t.pos,t.end):e}function Yf(e){let t=e.kind;return t===168||t===169||t===171||t===172||t===173||t===174||t===176||t===177||t===178||t===181||t===185||t===218||t===219||t===231||t===243||t===262||t===263||t===264||t===265||t===266||t===267||t===271||t===272||t===277||t===278}function ZS(e){let t=e.kind;return t===169||t===172||t===174||t===177||t===178||t===231||t===263}var h4e=pt({\"src/compiler/factory/utilitiesPublic.ts\"(){\"use strict\";wo()}});function wt(e,t){return t&&e(t)}function Ti(e,t,r){if(r){if(t)return t(r);for(let i of r){let o=e(i);if(o)return o}}}function Jj(e,t){return e.charCodeAt(t+1)===42&&e.charCodeAt(t+2)===42&&e.charCodeAt(t+3)!==47}function z2(e){return an(e.statements,g4e)||v4e(e)}function g4e(e){return Yf(e)&&y4e(e,95)||Nc(e)&&U_(e.moduleReference)||cc(e)||dl(e)||xl(e)?e:void 0}function v4e(e){return e.flags&8388608?fEe(e):void 0}function fEe(e){return b4e(e)?e:Ao(e,fEe)}function y4e(e,t){return ct(e.modifiers,r=>r.kind===t)}function b4e(e){return cN(e)&&e.keywordToken===102&&e.name.escapedText===\"meta\"}function mEe(e,t,r){return Ti(t,r,e.typeParameters)||Ti(t,r,e.parameters)||wt(t,e.type)}function _Ee(e,t,r){return Ti(t,r,e.types)}function hEe(e,t,r){return wt(t,e.type)}function gEe(e,t,r){return Ti(t,r,e.elements)}function vEe(e,t,r){return wt(t,e.expression)||wt(t,e.questionDotToken)||Ti(t,r,e.typeArguments)||Ti(t,r,e.arguments)}function yEe(e,t,r){return Ti(t,r,e.statements)}function bEe(e,t,r){return wt(t,e.label)}function EEe(e,t,r){return Ti(t,r,e.modifiers)||wt(t,e.name)||Ti(t,r,e.typeParameters)||Ti(t,r,e.heritageClauses)||Ti(t,r,e.members)}function SEe(e,t,r){return Ti(t,r,e.elements)}function TEe(e,t,r){return wt(t,e.propertyName)||wt(t,e.name)}function AEe(e,t,r){return wt(t,e.tagName)||Ti(t,r,e.typeArguments)||wt(t,e.attributes)}function yN(e,t,r){return wt(t,e.type)}function IEe(e,t,r){return wt(t,e.tagName)||(e.isNameFirst?wt(t,e.name)||wt(t,e.typeExpression):wt(t,e.typeExpression)||wt(t,e.name))||(typeof e.comment==\"string\"?void 0:Ti(t,r,e.comment))}function bN(e,t,r){return wt(t,e.tagName)||wt(t,e.typeExpression)||(typeof e.comment==\"string\"?void 0:Ti(t,r,e.comment))}function Nie(e,t,r){return wt(t,e.name)}function Kx(e,t,r){return wt(t,e.tagName)||(typeof e.comment==\"string\"?void 0:Ti(t,r,e.comment))}function E4e(e,t,r){return wt(t,e.expression)}function Ao(e,t,r){if(e===void 0||e.kind<=165)return;let i=OEe[e.kind];return i===void 0?void 0:i(e,t,r)}function EN(e,t,r){let i=xEe(e),o=[];for(;o.length<i.length;)o.push(e);for(;i.length!==0;){let s=i.pop(),l=o.pop();if(oo(s)){if(r){let d=r(s,l);if(d){if(d===\"skip\")continue;return d}}for(let d=s.length-1;d>=0;--d)i.push(s[d]),o.push(l)}else{let d=t(s,l);if(d){if(d===\"skip\")continue;return d}if(s.kind>=166)for(let p of xEe(s))i.push(p),o.push(s)}}}function xEe(e){let t=[];return Ao(e,r,r),t;function r(i){t.unshift(i)}}function REe(e){e.externalModuleIndicator=z2(e)}function B2(e,t,r,i=!1,o){var s,l,d,p;(s=qn)==null||s.push(qn.Phase.Parse,\"createSourceFile\",{path:e},!0),Ls(\"beforeParse\");let h;(l=Pd)==null||l.logStartParseSourceFile(e);let{languageVersion:m,setExternalModuleIndicator:v,impliedNodeFormat:E,jsDocParsingMode:S}=typeof r==\"object\"?r:{languageVersion:r};if(m===100)h=zb.parseSourceFile(e,t,m,void 0,i,6,Ca,S);else{let A=E===void 0?v:C=>(C.impliedNodeFormat=E,(v||REe)(C));h=zb.parseSourceFile(e,t,m,void 0,i,o,A,S)}return(d=Pd)==null||d.logStopParseSourceFile(),Ls(\"afterParse\"),Sp(\"Parse\",\"beforeParse\",\"afterParse\"),(p=qn)==null||p.pop(),h}function gI(e,t){return zb.parseIsolatedEntityName(e,t)}function G2(e,t){return zb.parseJsonText(e,t)}function wl(e){return e.externalModuleIndicator!==void 0}function Kj(e,t,r,i=!1){let o=Zj.updateSourceFile(e,t,r,i);return o.flags|=e.flags&12582912,o}function Pie(e,t,r){let i=zb.JSDocParser.parseIsolatedJSDocComment(e,t,r);return i&&i.jsDoc&&zb.fixupParentReferences(i.jsDoc),i}function DEe(e,t,r){return zb.JSDocParser.parseJSDocTypeExpressionForTests(e,t,r)}function Yc(e){return Xj(e)!==void 0}function Xj(e){let t=w1(e,s2,!1);if(t)return t;if(el(e,\".ts\")){let r=Ll(e).lastIndexOf(\".d.\");if(r>=0)return e.substring(r)}}function S4e(e,t,r,i){if(e){if(e===\"import\")return 99;if(e===\"require\")return 1;i(t,r-t,f.resolution_mode_should_be_either_require_or_import)}}function Yj(e,t){let r=[];for(let i of mh(t,0)||je){let o=t.substring(i.pos,i.end);A4e(r,i,o)}e.pragmas=new Map;for(let i of r){if(e.pragmas.has(i.name)){let o=e.pragmas.get(i.name);o instanceof Array?o.push(i.args):e.pragmas.set(i.name,[o,i.args]);continue}e.pragmas.set(i.name,i.args)}}function $j(e,t){e.checkJsDirective=void 0,e.referencedFiles=[],e.typeReferenceDirectives=[],e.libReferenceDirectives=[],e.amdDependencies=[],e.hasNoDefaultLib=!1,e.pragmas.forEach((r,i)=>{switch(i){case\"reference\":{let o=e.referencedFiles,s=e.typeReferenceDirectives,l=e.libReferenceDirectives;an(yA(r),d=>{let{types:p,lib:h,path:m,[\"resolution-mode\"]:v}=d.arguments;if(d.arguments[\"no-default-lib\"])e.hasNoDefaultLib=!0;else if(p){let E=S4e(v,p.pos,p.end,t);s.push({pos:p.pos,end:p.end,fileName:p.value,...E?{resolutionMode:E}:{}})}else h?l.push({pos:h.pos,end:h.end,fileName:h.value}):m?o.push({pos:m.pos,end:m.end,fileName:m.value}):t(d.range.pos,d.range.end-d.range.pos,f.Invalid_reference_directive_syntax)});break}case\"amd-dependency\":{e.amdDependencies=nn(yA(r),o=>({name:o.arguments.name,path:o.arguments.path}));break}case\"amd-module\":{if(r instanceof Array)for(let o of r)e.moduleName&&t(o.range.pos,o.range.end-o.range.pos,f.An_AMD_module_cannot_have_multiple_name_assignments),e.moduleName=o.arguments.name;else e.moduleName=r.arguments.name;break}case\"ts-nocheck\":case\"ts-check\":{an(yA(r),o=>{(!e.checkJsDirective||o.range.pos>e.checkJsDirective.pos)&&(e.checkJsDirective={enabled:i===\"ts-check\",end:o.range.end,pos:o.range.pos})});break}case\"jsx\":case\"jsxfrag\":case\"jsximportsource\":case\"jsxruntime\":return;default:x.fail(\"Unhandled pragma kind\")}})}function T4e(e){if(eU.has(e))return eU.get(e);let t=new RegExp(`(\\\\s${e}\\\\s*=\\\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))`,\"im\");return eU.set(e,t),t}function A4e(e,t,r){let i=t.kind===2&&wEe.exec(r);if(i){let s=i[1].toLowerCase(),l=EM[s];if(!l||!(l.kind&1))return;if(l.args){let d={};for(let p of l.args){let m=T4e(p.name).exec(r);if(!m&&!p.optional)return;if(m){let v=m[2]||m[3];if(p.captureSpan){let E=t.pos+m.index+m[1].length+1;d[p.name]={value:v,pos:E,end:E+v.length}}else d[p.name]=v}}e.push({name:s,args:{arguments:d,range:t}})}else e.push({name:s,args:{arguments:{},range:t}});return}let o=t.kind===2&&WEe.exec(r);if(o)return CEe(e,t,2,o);if(t.kind===3){let s=/@(\\S+)(\\s+.*)?$/gim,l;for(;l=s.exec(r);)CEe(e,t,4,l)}}function CEe(e,t,r,i){if(!i)return;let o=i[1].toLowerCase(),s=EM[o];if(!s||!(s.kind&r))return;let l=i[2],d=I4e(s,l);d!==\"fail\"&&e.push({name:o,args:{arguments:d,range:t}})}function I4e(e,t){if(!t)return{};if(!e.args)return{};let r=t.trim().split(/\\s+/),i={};for(let o=0;o<e.args.length;o++){let s=e.args[o];if(!r[o]&&!s.optional)return\"fail\";if(s.captureSpan)return x.fail(\"Capture spans not yet implemented for non-xml pragmas\");i[s.name]=r[o]}return i}function Fb(e,t){return e.kind!==t.kind?!1:e.kind===80?e.escapedText===t.escapedText:e.kind===110?!0:e.kind===295?e.namespace.escapedText===t.namespace.escapedText&&e.name.escapedText===t.name.escapedText:e.name.escapedText===t.name.escapedText&&Fb(e.expression,t.expression)}var NEe,PEe,MEe,LEe,kEe,Qj,H_,OEe,zb,Zj,eU,wEe,WEe,x4e=pt({\"src/compiler/parser.ts\"(){\"use strict\";wo(),mS(),Qj={createBaseSourceFileNode:e=>new(kEe||(kEe=wc.getSourceFileConstructor()))(e,-1,-1),createBaseIdentifierNode:e=>new(MEe||(MEe=wc.getIdentifierConstructor()))(e,-1,-1),createBasePrivateIdentifierNode:e=>new(LEe||(LEe=wc.getPrivateIdentifierConstructor()))(e,-1,-1),createBaseTokenNode:e=>new(PEe||(PEe=wc.getTokenConstructor()))(e,-1,-1),createBaseNode:e=>new(NEe||(NEe=wc.getNodeConstructor()))(e,-1,-1)},H_=d2(1,Qj),OEe={166:function(t,r,i){return wt(r,t.left)||wt(r,t.right)},168:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||wt(r,t.constraint)||wt(r,t.default)||wt(r,t.expression)},304:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||wt(r,t.questionToken)||wt(r,t.exclamationToken)||wt(r,t.equalsToken)||wt(r,t.objectAssignmentInitializer)},305:function(t,r,i){return wt(r,t.expression)},169:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.dotDotDotToken)||wt(r,t.name)||wt(r,t.questionToken)||wt(r,t.type)||wt(r,t.initializer)},172:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||wt(r,t.questionToken)||wt(r,t.exclamationToken)||wt(r,t.type)||wt(r,t.initializer)},171:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||wt(r,t.questionToken)||wt(r,t.type)||wt(r,t.initializer)},303:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||wt(r,t.questionToken)||wt(r,t.exclamationToken)||wt(r,t.initializer)},260:function(t,r,i){return wt(r,t.name)||wt(r,t.exclamationToken)||wt(r,t.type)||wt(r,t.initializer)},208:function(t,r,i){return wt(r,t.dotDotDotToken)||wt(r,t.propertyName)||wt(r,t.name)||wt(r,t.initializer)},181:function(t,r,i){return Ti(r,i,t.modifiers)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)},185:function(t,r,i){return Ti(r,i,t.modifiers)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)},184:function(t,r,i){return Ti(r,i,t.modifiers)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)},179:mEe,180:mEe,174:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.asteriskToken)||wt(r,t.name)||wt(r,t.questionToken)||wt(r,t.exclamationToken)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)||wt(r,t.body)},173:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||wt(r,t.questionToken)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)},176:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)||wt(r,t.body)},177:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)||wt(r,t.body)},178:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)||wt(r,t.body)},262:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.asteriskToken)||wt(r,t.name)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)||wt(r,t.body)},218:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.asteriskToken)||wt(r,t.name)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)||wt(r,t.body)},219:function(t,r,i){return Ti(r,i,t.modifiers)||Ti(r,i,t.typeParameters)||Ti(r,i,t.parameters)||wt(r,t.type)||wt(r,t.equalsGreaterThanToken)||wt(r,t.body)},175:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.body)},183:function(t,r,i){return wt(r,t.typeName)||Ti(r,i,t.typeArguments)},182:function(t,r,i){return wt(r,t.assertsModifier)||wt(r,t.parameterName)||wt(r,t.type)},186:function(t,r,i){return wt(r,t.exprName)||Ti(r,i,t.typeArguments)},187:function(t,r,i){return Ti(r,i,t.members)},188:function(t,r,i){return wt(r,t.elementType)},189:function(t,r,i){return Ti(r,i,t.elements)},192:_Ee,193:_Ee,194:function(t,r,i){return wt(r,t.checkType)||wt(r,t.extendsType)||wt(r,t.trueType)||wt(r,t.falseType)},195:function(t,r,i){return wt(r,t.typeParameter)},205:function(t,r,i){return wt(r,t.argument)||wt(r,t.attributes)||wt(r,t.qualifier)||Ti(r,i,t.typeArguments)},302:function(t,r,i){return wt(r,t.assertClause)},196:hEe,198:hEe,199:function(t,r,i){return wt(r,t.objectType)||wt(r,t.indexType)},200:function(t,r,i){return wt(r,t.readonlyToken)||wt(r,t.typeParameter)||wt(r,t.nameType)||wt(r,t.questionToken)||wt(r,t.type)||Ti(r,i,t.members)},201:function(t,r,i){return wt(r,t.literal)},202:function(t,r,i){return wt(r,t.dotDotDotToken)||wt(r,t.name)||wt(r,t.questionToken)||wt(r,t.type)},206:gEe,207:gEe,209:function(t,r,i){return Ti(r,i,t.elements)},210:function(t,r,i){return Ti(r,i,t.properties)},211:function(t,r,i){return wt(r,t.expression)||wt(r,t.questionDotToken)||wt(r,t.name)},212:function(t,r,i){return wt(r,t.expression)||wt(r,t.questionDotToken)||wt(r,t.argumentExpression)},213:vEe,214:vEe,215:function(t,r,i){return wt(r,t.tag)||wt(r,t.questionDotToken)||Ti(r,i,t.typeArguments)||wt(r,t.template)},216:function(t,r,i){return wt(r,t.type)||wt(r,t.expression)},217:function(t,r,i){return wt(r,t.expression)},220:function(t,r,i){return wt(r,t.expression)},221:function(t,r,i){return wt(r,t.expression)},222:function(t,r,i){return wt(r,t.expression)},224:function(t,r,i){return wt(r,t.operand)},229:function(t,r,i){return wt(r,t.asteriskToken)||wt(r,t.expression)},223:function(t,r,i){return wt(r,t.expression)},225:function(t,r,i){return wt(r,t.operand)},226:function(t,r,i){return wt(r,t.left)||wt(r,t.operatorToken)||wt(r,t.right)},234:function(t,r,i){return wt(r,t.expression)||wt(r,t.type)},235:function(t,r,i){return wt(r,t.expression)},238:function(t,r,i){return wt(r,t.expression)||wt(r,t.type)},236:function(t,r,i){return wt(r,t.name)},227:function(t,r,i){return wt(r,t.condition)||wt(r,t.questionToken)||wt(r,t.whenTrue)||wt(r,t.colonToken)||wt(r,t.whenFalse)},230:function(t,r,i){return wt(r,t.expression)},241:yEe,268:yEe,312:function(t,r,i){return Ti(r,i,t.statements)||wt(r,t.endOfFileToken)},243:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.declarationList)},261:function(t,r,i){return Ti(r,i,t.declarations)},244:function(t,r,i){return wt(r,t.expression)},245:function(t,r,i){return wt(r,t.expression)||wt(r,t.thenStatement)||wt(r,t.elseStatement)},246:function(t,r,i){return wt(r,t.statement)||wt(r,t.expression)},247:function(t,r,i){return wt(r,t.expression)||wt(r,t.statement)},248:function(t,r,i){return wt(r,t.initializer)||wt(r,t.condition)||wt(r,t.incrementor)||wt(r,t.statement)},249:function(t,r,i){return wt(r,t.initializer)||wt(r,t.expression)||wt(r,t.statement)},250:function(t,r,i){return wt(r,t.awaitModifier)||wt(r,t.initializer)||wt(r,t.expression)||wt(r,t.statement)},251:bEe,252:bEe,253:function(t,r,i){return wt(r,t.expression)},254:function(t,r,i){return wt(r,t.expression)||wt(r,t.statement)},255:function(t,r,i){return wt(r,t.expression)||wt(r,t.caseBlock)},269:function(t,r,i){return Ti(r,i,t.clauses)},296:function(t,r,i){return wt(r,t.expression)||Ti(r,i,t.statements)},297:function(t,r,i){return Ti(r,i,t.statements)},256:function(t,r,i){return wt(r,t.label)||wt(r,t.statement)},257:function(t,r,i){return wt(r,t.expression)},258:function(t,r,i){return wt(r,t.tryBlock)||wt(r,t.catchClause)||wt(r,t.finallyBlock)},299:function(t,r,i){return wt(r,t.variableDeclaration)||wt(r,t.block)},170:function(t,r,i){return wt(r,t.expression)},263:EEe,231:EEe,264:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||Ti(r,i,t.typeParameters)||Ti(r,i,t.heritageClauses)||Ti(r,i,t.members)},265:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||Ti(r,i,t.typeParameters)||wt(r,t.type)},266:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||Ti(r,i,t.members)},306:function(t,r,i){return wt(r,t.name)||wt(r,t.initializer)},267:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||wt(r,t.body)},271:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)||wt(r,t.moduleReference)},272:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.importClause)||wt(r,t.moduleSpecifier)||wt(r,t.attributes)},273:function(t,r,i){return wt(r,t.name)||wt(r,t.namedBindings)},300:function(t,r,i){return Ti(r,i,t.elements)},301:function(t,r,i){return wt(r,t.name)||wt(r,t.value)},270:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.name)},274:function(t,r,i){return wt(r,t.name)},280:function(t,r,i){return wt(r,t.name)},275:SEe,279:SEe,278:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.exportClause)||wt(r,t.moduleSpecifier)||wt(r,t.attributes)},276:TEe,281:TEe,277:function(t,r,i){return Ti(r,i,t.modifiers)||wt(r,t.expression)},228:function(t,r,i){return wt(r,t.head)||Ti(r,i,t.templateSpans)},239:function(t,r,i){return wt(r,t.expression)||wt(r,t.literal)},203:function(t,r,i){return wt(r,t.head)||Ti(r,i,t.templateSpans)},204:function(t,r,i){return wt(r,t.type)||wt(r,t.literal)},167:function(t,r,i){return wt(r,t.expression)},298:function(t,r,i){return Ti(r,i,t.types)},233:function(t,r,i){return wt(r,t.expression)||Ti(r,i,t.typeArguments)},283:function(t,r,i){return wt(r,t.expression)},282:function(t,r,i){return Ti(r,i,t.modifiers)},361:function(t,r,i){return Ti(r,i,t.elements)},284:function(t,r,i){return wt(r,t.openingElement)||Ti(r,i,t.children)||wt(r,t.closingElement)},288:function(t,r,i){return wt(r,t.openingFragment)||Ti(r,i,t.children)||wt(r,t.closingFragment)},285:AEe,286:AEe,292:function(t,r,i){return Ti(r,i,t.properties)},291:function(t,r,i){return wt(r,t.name)||wt(r,t.initializer)},293:function(t,r,i){return wt(r,t.expression)},294:function(t,r,i){return wt(r,t.dotDotDotToken)||wt(r,t.expression)},287:function(t,r,i){return wt(r,t.tagName)},295:function(t,r,i){return wt(r,t.namespace)||wt(r,t.name)},190:yN,191:yN,316:yN,322:yN,321:yN,323:yN,325:yN,324:function(t,r,i){return Ti(r,i,t.parameters)||wt(r,t.type)},327:function(t,r,i){return(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment))||Ti(r,i,t.tags)},354:function(t,r,i){return wt(r,t.tagName)||wt(r,t.name)||(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment))},317:function(t,r,i){return wt(r,t.name)},318:function(t,r,i){return wt(r,t.left)||wt(r,t.right)},348:IEe,355:IEe,337:function(t,r,i){return wt(r,t.tagName)||(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment))},336:function(t,r,i){return wt(r,t.tagName)||wt(r,t.class)||(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment))},335:function(t,r,i){return wt(r,t.tagName)||wt(r,t.class)||(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment))},352:function(t,r,i){return wt(r,t.tagName)||wt(r,t.constraint)||Ti(r,i,t.typeParameters)||(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment))},353:function(t,r,i){return wt(r,t.tagName)||(t.typeExpression&&t.typeExpression.kind===316?wt(r,t.typeExpression)||wt(r,t.fullName)||(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment)):wt(r,t.fullName)||wt(r,t.typeExpression)||(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment)))},345:function(t,r,i){return wt(r,t.tagName)||wt(r,t.fullName)||wt(r,t.typeExpression)||(typeof t.comment==\"string\"?void 0:Ti(r,i,t.comment))},349:bN,351:bN,350:bN,347:bN,357:bN,356:bN,346:bN,330:function(t,r,i){return an(t.typeParameters,r)||an(t.parameters,r)||wt(r,t.type)},331:Nie,332:Nie,333:Nie,329:function(t,r,i){return an(t.jsDocPropertyTags,r)},334:Kx,339:Kx,340:Kx,341:Kx,342:Kx,343:Kx,338:Kx,344:Kx,360:E4e},(e=>{var t=Kg(99,!0),r=40960,i,o,s,l,d;function p(J){return Ge++,J}var h={createBaseSourceFileNode:J=>p(new d(J,0,0)),createBaseIdentifierNode:J=>p(new s(J,0,0)),createBasePrivateIdentifierNode:J=>p(new l(J,0,0)),createBaseTokenNode:J=>p(new o(J,0,0)),createBaseNode:J=>p(new i(J,0,0))},m=d2(11,h),{createNodeArray:v,createNumericLiteral:E,createStringLiteral:S,createLiteralLikeNode:A,createIdentifier:C,createPrivateIdentifier:R,createToken:L,createArrayLiteralExpression:G,createObjectLiteralExpression:U,createPropertyAccessExpression:K,createPropertyAccessChain:F,createElementAccessExpression:oe,createElementAccessChain:W,createCallExpression:$,createCallChain:de,createNewExpression:fe,createParenthesizedExpression:q,createBlock:H,createVariableStatement:ee,createExpressionStatement:le,createIfStatement:Ee,createWhileStatement:ce,createForStatement:Z,createForOfStatement:pe,createVariableDeclaration:Ae,createVariableDeclarationList:Oe}=m,_e,be,Te,De,ft,he,Le,Ke,Dt,st,Ge,ot,Vt,jt,gn,On,en=!0,zt=!1;function Wt(J,ye,Fe,mt,vt=!1,Lt,Sr,bi=0){var fi;if(Lt=uF(J,Lt),Lt===6){let Mi=Ki(J,ye,Fe,mt,vt);return U2(Mi,(fi=Mi.statements[0])==null?void 0:fi.expression,Mi.parseDiagnostics,!1,void 0),Mi.referencedFiles=je,Mi.typeReferenceDirectives=je,Mi.libReferenceDirectives=je,Mi.amdDependencies=je,Mi.hasNoDefaultLib=!1,Mi.pragmas=r8,Mi}gi(J,ye,Fe,mt,Lt,bi);let Zr=Gn(Fe,vt,Lt,Sr||REe,bi);return io(),Zr}e.parseSourceFile=Wt;function ei(J,ye){gi(\"\",J,ye,void 0,1,0),Ie();let Fe=Y(!0),mt=j()===1&&!Le.length;return io(),mt?Fe:void 0}e.parseIsolatedEntityName=ei;function Ki(J,ye,Fe=2,mt,vt=!1){gi(J,ye,Fe,mt,6,0),be=On,Ie();let Lt=M(),Sr,bi;if(j()===1)Sr=ho([],Lt,Lt),bi=Us();else{let Mi;for(;j()!==1;){let Ma;switch(j()){case 23:Ma=W0();break;case 112:case 97:case 106:Ma=Us();break;case 41:_i(()=>Ie()===9&&Ie()!==59)?Ma=Fr():Ma=Sg();break;case 9:case 11:if(_i(()=>Ie()!==59)){Ma=Or();break}default:Ma=Sg();break}Mi&&oo(Mi)?Mi.push(Ma):Mi?Mi=[Mi,Ma]:(Mi=Ma,j()!==1&&Qt(f.Unexpected_token))}let Ua=oo(Mi)?Ut(G(Mi),Lt):x.checkDefined(Mi),os=le(Ua);Ut(os,Lt),Sr=ho([os],Lt),bi=ts(1,f.Unexpected_token)}let fi=Rt(J,2,6,!1,Sr,bi,be,Ca);vt&&Ue(fi),fi.nodeCount=Ge,fi.identifierCount=Vt,fi.identifiers=ot,fi.parseDiagnostics=UA(Le,fi),Ke&&(fi.jsDocDiagnostics=UA(Ke,fi));let Zr=fi;return io(),Zr}e.parseJsonText=Ki;function gi(J,ye,Fe,mt,vt,Lt){switch(i=wc.getNodeConstructor(),o=wc.getTokenConstructor(),s=wc.getIdentifierConstructor(),l=wc.getPrivateIdentifierConstructor(),d=wc.getSourceFileConstructor(),_e=Yo(J),Te=ye,De=Fe,Dt=mt,ft=vt,he=KL(vt),Le=[],jt=0,ot=new Map,Vt=0,Ge=0,be=0,en=!0,ft){case 1:case 2:On=524288;break;case 6:On=134742016;break;default:On=0;break}zt=!1,t.setText(Te),t.setOnError(St),t.setScriptTarget(De),t.setLanguageVariant(he),t.setScriptKind(ft),t.setJSDocParsingMode(Lt)}function io(){t.clearCommentDirectives(),t.setText(\"\"),t.setOnError(void 0),t.setScriptKind(0),t.setJSDocParsingMode(0),Te=void 0,De=void 0,Dt=void 0,ft=void 0,he=void 0,be=0,Le=void 0,Ke=void 0,jt=0,ot=void 0,gn=void 0,en=!0}function Gn(J,ye,Fe,mt,vt){let Lt=Yc(_e);Lt&&(On|=33554432),be=On,Ie();let Sr=Oo(0,Pu);x.assert(j()===1);let bi=te(),fi=cr(Us(),bi),Zr=Rt(_e,J,Fe,Lt,Sr,fi,be,mt);return Yj(Zr,Te),$j(Zr,Mi),Zr.commentDirectives=t.getCommentDirectives(),Zr.nodeCount=Ge,Zr.identifierCount=Vt,Zr.identifiers=ot,Zr.parseDiagnostics=UA(Le,Zr),Zr.jsDocParsingMode=vt,Ke&&(Zr.jsDocDiagnostics=UA(Ke,Zr)),ye&&Ue(Zr),Zr;function Mi(Ua,os,Ma){Le.push(Ix(_e,Te,Ua,os,Ma))}}let Nr=!1;function cr(J,ye){if(!ye)return J;x.assert(!J.jsDoc);let Fe=Fi(I9(J,Te),mt=>g_.parseJSDocComment(J,mt.pos,mt.end-mt.pos));return Fe.length&&(J.jsDoc=Fe),Nr&&(Nr=!1,J.flags|=536870912),J}function Jt(J){let ye=Dt,Fe=Zj.createSyntaxCursor(J);Dt={currentNode:Mi};let mt=[],vt=Le;Le=[];let Lt=0,Sr=fi(J.statements,0);for(;Sr!==-1;){let Ua=J.statements[Lt],os=J.statements[Sr];Pr(mt,J.statements,Lt,Sr),Lt=Zr(J.statements,Sr);let Ma=Tl(vt,v_=>v_.start>=Ua.pos),lf=Ma>=0?Tl(vt,v_=>v_.start>=os.pos,Ma):-1;Ma>=0&&Pr(Le,vt,Ma,lf>=0?lf:void 0),Zi(()=>{let v_=On;for(On|=65536,t.resetTokenState(os.pos),Ie();j()!==1;){let Vh=t.getTokenFullStart(),xg=Cl(0,Pu);if(mt.push(xg),Vh===t.getTokenFullStart()&&Ie(),Lt>=0){let Rg=J.statements[Lt];if(xg.end===Rg.pos)break;xg.end>Rg.pos&&(Lt=Zr(J.statements,Lt+1))}}On=v_},2),Sr=Lt>=0?fi(J.statements,Lt):-1}if(Lt>=0){let Ua=J.statements[Lt];Pr(mt,J.statements,Lt);let os=Tl(vt,Ma=>Ma.start>=Ua.pos);os>=0&&Pr(Le,vt,os)}return Dt=ye,m.updateSourceFile(J,Ze(v(mt),J.statements));function bi(Ua){return!(Ua.flags&65536)&&!!(Ua.transformFlags&67108864)}function fi(Ua,os){for(let Ma=os;Ma<Ua.length;Ma++)if(bi(Ua[Ma]))return Ma;return-1}function Zr(Ua,os){for(let Ma=os;Ma<Ua.length;Ma++)if(!bi(Ua[Ma]))return Ma;return-1}function Mi(Ua){let os=Fe.currentNode(Ua);return en&&os&&bi(os)&&(os.intersectsChange=!0),os}}function Ue(J){oy(J,!0)}e.fixupParentReferences=Ue;function Rt(J,ye,Fe,mt,vt,Lt,Sr,bi){let fi=m.createSourceFile(vt,Lt,Sr);if(JC(fi,0,Te.length),Zr(fi),!mt&&wl(fi)&&fi.transformFlags&67108864){let Mi=fi;fi=Jt(fi),Mi!==fi&&Zr(fi)}return fi;function Zr(Mi){Mi.text=Te,Mi.bindDiagnostics=[],Mi.bindSuggestionDiagnostics=void 0,Mi.languageVersion=ye,Mi.fileName=J,Mi.languageVariant=KL(Fe),Mi.isDeclarationFile=mt,Mi.scriptKind=Fe,bi(Mi),Mi.setExternalModuleIndicator=bi}}function mn(J,ye){J?On|=ye:On&=~ye}function qr(J){mn(J,8192)}function ni(J){mn(J,16384)}function ki(J){mn(J,32768)}function so(J){mn(J,65536)}function Jo(J,ye){let Fe=J&On;if(Fe){mn(!1,Fe);let mt=ye();return mn(!0,Fe),mt}return ye()}function Ea(J,ye){let Fe=J&~On;if(Fe){mn(!0,Fe);let mt=ye();return mn(!1,Fe),mt}return ye()}function ln(J){return Jo(8192,J)}function Tn(J){return Ea(8192,J)}function ke(J){return Jo(131072,J)}function nt(J){return Ea(131072,J)}function tt(J){return Ea(16384,J)}function yt(J){return Ea(32768,J)}function re(J){return Ea(65536,J)}function Ce(J){return Jo(65536,J)}function et(J){return Ea(81920,J)}function z(J){return Jo(81920,J)}function Je(J){return(On&J)!==0}function _t(){return Je(16384)}function ze(){return Je(8192)}function it(){return Je(131072)}function Ct(){return Je(32768)}function on(){return Je(65536)}function Qt(J,...ye){return V(t.getTokenStart(),t.getTokenEnd(),J,...ye)}function Zt(J,ye,Fe,...mt){let vt=Ns(Le),Lt;return(!vt||J!==vt.start)&&(Lt=Ix(_e,Te,J,ye,Fe,...mt),Le.push(Lt)),zt=!0,Lt}function V(J,ye,Fe,...mt){return Zt(J,ye-J,Fe,...mt)}function Re(J,ye,...Fe){V(J.pos,J.end,ye,...Fe)}function St(J,ye,Fe){Zt(t.getTokenEnd(),ye,J,Fe)}function M(){return t.getTokenFullStart()}function te(){return t.hasPrecedingJSDocComment()}function j(){return st}function se(){return st=t.scan()}function Pe(J){return Ie(),J()}function Ie(){return du(st)&&(t.hasUnicodeEscape()||t.hasExtendedUnicodeEscape())&&V(t.getTokenStart(),t.getTokenEnd(),f.Keywords_cannot_contain_escape_characters),se()}function gt(){return st=t.scanJsDocToken()}function bt(J){return st=t.scanJSDocCommentTextToken(J)}function Ot(){return st=t.reScanGreaterToken()}function dn(){return st=t.reScanSlashToken()}function An(J){return st=t.reScanTemplateToken(J)}function Cn(){return st=t.reScanLessThanToken()}function ti(){return st=t.reScanHashToken()}function di(){return st=t.scanJsxIdentifier()}function jn(){return st=t.scanJsxToken()}function Ar(){return st=t.scanJsxAttributeValue()}function Zi(J,ye){let Fe=st,mt=Le.length,vt=zt,Lt=On,Sr=ye!==0?t.lookAhead(J):t.tryScan(J);return x.assert(Lt===On),(!Sr||ye!==0)&&(st=Fe,ye!==2&&(Le.length=mt),zt=vt),Sr}function _i(J){return Zi(J,1)}function ui(J){return Zi(J,0)}function Mr(){return j()===80?!0:j()>118}function lo(){return j()===80?!0:j()===127&&_t()||j()===135&&on()?!1:j()>118}function _n(J,ye,Fe=!0){return j()===J?(Fe&&Ie(),!0):(ye?Qt(ye):Qt(f._0_expected,qo(J)),!1)}let ms=Object.keys(kM).filter(J=>J.length>2);function Dl(J){if(a0(J)){V(pa(Te,J.template.pos),J.template.end,f.Module_declaration_names_may_only_use_or_quoted_strings);return}let ye=Me(J)?ar(J):void 0;if(!ye||!Tp(ye,De)){Qt(f._0_expected,qo(27));return}let Fe=pa(Te,J.pos);switch(ye){case\"const\":case\"let\":case\"var\":V(Fe,J.end,f.Variable_declaration_not_allowed_at_this_location);return;case\"declare\":return;case\"interface\":_o(f.Interface_name_cannot_be_0,f.Interface_must_be_given_a_name,19);return;case\"is\":V(Fe,t.getTokenStart(),f.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case\"module\":case\"namespace\":_o(f.Namespace_name_cannot_be_0,f.Namespace_must_be_given_a_name,19);return;case\"type\":_o(f.Type_alias_name_cannot_be_0,f.Type_alias_must_be_given_a_name,64);return}let mt=VD(ye,ms,vt=>vt)??Va(ye);if(mt){V(Fe,J.end,f.Unknown_keyword_or_identifier_Did_you_mean_0,mt);return}j()!==0&&V(Fe,J.end,f.Unexpected_keyword_or_identifier)}function _o(J,ye,Fe){j()===Fe?Qt(ye):Qt(J,t.getTokenValue())}function Va(J){for(let ye of ms)if(J.length>ye.length+2&&Ui(J,ye))return`${ye} ${J.slice(ye.length)}`}function vs(J,ye,Fe){if(j()===60&&!t.hasPrecedingLineBreak()){Qt(f.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(j()===21){Qt(f.Cannot_start_a_function_call_in_a_type_annotation),Ie();return}if(ye&&!Wl()){Fe?Qt(f._0_expected,qo(27)):Qt(f.Expected_for_property_initializer);return}if(!il()){if(Fe){Qt(f._0_expected,qo(27));return}Dl(J)}}function Js(J){return j()===J?(gt(),!0):(x.assert(PW(J)),Qt(f._0_expected,qo(J)),!1)}function Fc(J,ye,Fe,mt){if(j()===ye){Ie();return}let vt=Qt(f._0_expected,qo(ye));Fe&&vt&&fa(vt,Ix(_e,Te,mt,1,f.The_parser_expected_to_find_a_1_to_match_the_0_token_here,qo(J),qo(ye)))}function $i(J){return j()===J?(Ie(),!0):!1}function Uo(J){if(j()===J)return Us()}function zc(J){if(j()===J)return tf()}function ts(J,ye,Fe){return Uo(J)||ys(J,!1,ye||f._0_expected,Fe||qo(J))}function ua(J){let ye=zc(J);return ye||(x.assert(PW(J)),ys(J,!1,f._0_expected,qo(J)))}function Us(){let J=M(),ye=j();return Ie(),Ut(L(ye),J)}function tf(){let J=M(),ye=j();return gt(),Ut(L(ye),J)}function Wl(){return j()===27?!0:j()===20||j()===1||t.hasPrecedingLineBreak()}function il(){return Wl()?(j()===27&&Ie(),!0):!1}function zs(){return il()||_n(27)}function ho(J,ye,Fe,mt){let vt=v(J,mt);return F_(vt,ye,Fe??t.getTokenFullStart()),vt}function Ut(J,ye,Fe){return F_(J,ye,Fe??t.getTokenFullStart()),On&&(J.flags|=On),zt&&(zt=!1,J.flags|=262144),J}function ys(J,ye,Fe,...mt){ye?Zt(t.getTokenFullStart(),0,Fe,...mt):Fe&&Qt(Fe,...mt);let vt=M(),Lt=J===80?C(\"\",void 0):Jv(J)?m.createTemplateLiteralLikeNode(J,\"\",\"\",void 0):J===9?E(\"\",void 0):J===11?S(\"\",void 0):J===282?m.createMissingDeclaration():L(J);return Ut(Lt,vt)}function Pc(J){let ye=ot.get(J);return ye===void 0&&ot.set(J,ye=J),ye}function Bc(J,ye,Fe){if(J){Vt++;let bi=M(),fi=j(),Zr=Pc(t.getTokenValue()),Mi=t.hasExtendedUnicodeEscape();return se(),Ut(C(Zr,fi,Mi),bi)}if(j()===81)return Qt(Fe||f.Private_identifiers_are_not_allowed_outside_class_bodies),Bc(!0);if(j()===0&&t.tryScan(()=>t.reScanInvalidIdentifier()===80))return Bc(!0);Vt++;let mt=j()===1,vt=t.isReservedWord(),Lt=t.getTokenText(),Sr=vt?f.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:f.Identifier_expected;return ys(80,mt,ye||Sr,Lt)}function Ju(J){return Bc(Mr(),void 0,J)}function ls(J,ye){return Bc(lo(),J,ye)}function tc(J){return Bc(Md(j()),J)}function ae(){return(t.hasUnicodeEscape()||t.hasExtendedUnicodeEscape())&&Qt(f.Unicode_escape_sequence_cannot_appear_here),Bc(Md(j()))}function X(){return Md(j())||j()===11||j()===9}function xe(){return Md(j())||j()===11}function dt(J){if(j()===11||j()===9){let ye=Or();return ye.text=Pc(ye.text),ye}return J&&j()===23?sr():j()===81?tr():tc()}function $t(){return dt(!0)}function sr(){let J=M();_n(23);let ye=ln(we);return _n(24),Ut(m.createComputedPropertyName(ye),J)}function tr(){let J=M(),ye=R(Pc(t.getTokenValue()));return Ie(),Ut(ye,J)}function Ir(J){return j()===J&&ui(hr)}function pi(){return Ie(),t.hasPrecedingLineBreak()?!1:bs()}function hr(){switch(j()){case 87:return Ie()===94;case 95:return Ie(),j()===90?_i(Jl):j()===156?_i(Qs):No();case 90:return Jl();case 126:case 139:case 153:return Ie(),bs();default:return pi()}}function No(){return j()===60||j()!==42&&j()!==130&&j()!==19&&bs()}function Qs(){return Ie(),No()}function bc(){return Yg(j())&&ui(hr)}function bs(){return j()===23||j()===19||j()===42||j()===26||X()}function Jl(){return Ie(),j()===86||j()===100||j()===120||j()===60||j()===128&&_i(kT)||j()===134&&_i(OT)}function Za(J,ye){if(Kl(J))return!0;switch(J){case 0:case 1:case 3:return!(j()===27&&ye)&&z0();case 2:return j()===84||j()===90;case 4:return _i(xa);case 5:return _i(Bh)||j()===27&&!ye;case 6:return j()===23||X();case 12:switch(j()){case 23:case 42:case 26:case 25:return!0;default:return X()}case 18:return X();case 9:return j()===23||j()===26||X();case 24:return xe();case 7:return j()===19?_i(Ec):ye?lo()&&!Vd():ZI()&&!Vd();case 8:return Oa();case 10:return j()===28||j()===26||Oa();case 19:return j()===103||j()===87||lo();case 15:switch(j()){case 28:case 25:return!0}case 11:return j()===26||xm();case 16:return p_(!1);case 17:return p_(!0);case 20:case 21:return j()===28||kh();case 22:return I();case 23:return j()===161&&_i(tD)?!1:Md(j());case 13:return Md(j())||j()===19;case 14:return!0;case 25:return!0;case 26:return x.fail(\"ParsingContext.Count used as a context\");default:x.assertNever(J,\"Non-exhaustive case in 'isListElement'.\")}}function Ec(){if(x.assert(j()===19),Ie()===20){let J=Ie();return J===28||J===19||J===96||J===119}return!0}function Du(){return Ie(),lo()}function pc(){return Ie(),Md(j())}function Nf(){return Ie(),_ee(j())}function Vd(){return j()===119||j()===96?_i(Se):!1}function Se(){return Ie(),xm()}function At(){return Ie(),kh()}function Ln(J){if(j()===1)return!0;switch(J){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return j()===20;case 3:return j()===20||j()===84||j()===90;case 7:return j()===19||j()===96||j()===119;case 8:return eo();case 19:return j()===32||j()===21||j()===19||j()===96||j()===119;case 11:return j()===22||j()===27;case 15:case 21:case 10:return j()===24;case 17:case 16:case 18:return j()===22||j()===24;case 20:return j()!==28;case 22:return j()===19||j()===20;case 13:return j()===32||j()===44;case 14:return j()===30&&_i(ai);default:return!1}}function eo(){return!!(Wl()||yg(j())||j()===39)}function Po(){x.assert(jt,\"Missing parsing context\");for(let J=0;J<26;J++)if(jt&1<<J&&(Za(J,!0)||Ln(J)))return!0;return!1}function Oo(J,ye){let Fe=jt;jt|=1<<J;let mt=[],vt=M();for(;!Ln(J);){if(Za(J,!1)){mt.push(Cl(J,ye));continue}if(X_(J))break}return jt=Fe,ho(mt,vt)}function Cl(J,ye){let Fe=Kl(J);return Fe?Bs(Fe):ye()}function Kl(J,ye){var Fe;if(!Dt||!Ks(J)||zt)return;let mt=Dt.currentNode(ye??t.getTokenFullStart());if(!(_l(mt)||mt.intersectsChange||X1(mt)||(mt.flags&101441536)!==On)&&vl(mt,J))return CL(mt)&&((Fe=mt.jsDoc)!=null&&Fe.jsDocCache)&&(mt.jsDoc.jsDocCache=void 0),mt}function Bs(J){return t.resetTokenState(J.end),Ie(),J}function Ks(J){switch(J){case 5:case 2:case 0:case 1:case 3:case 6:case 4:case 8:case 17:case 16:return!0}return!1}function vl(J,ye){switch(ye){case 5:return Nl(J);case 2:return Sc(J);case 0:case 1:case 3:return kp(J);case 6:return fu(J);case 4:return tu(J);case 8:return nf(J);case 17:case 16:return u_(J)}return!1}function Nl(J){if(J)switch(J.kind){case 176:case 181:case 177:case 178:case 172:case 240:return!0;case 174:let ye=J;return!(ye.name.kind===80&&ye.name.escapedText===\"constructor\")}return!1}function Sc(J){if(J)switch(J.kind){case 296:case 297:return!0}return!1}function kp(J){if(J)switch(J.kind){case 262:case 243:case 241:case 245:case 244:case 257:case 253:case 255:case 252:case 251:case 249:case 250:case 248:case 247:case 254:case 242:case 258:case 256:case 246:case 259:case 272:case 271:case 278:case 277:case 267:case 263:case 264:case 266:case 265:return!0}return!1}function fu(J){return J.kind===306}function tu(J){if(J)switch(J.kind){case 180:case 173:case 181:case 171:case 179:return!0}return!1}function nf(J){return J.kind!==260?!1:J.initializer===void 0}function u_(J){return J.kind!==169?!1:J.initializer===void 0}function X_(J){return fg(J),Po()?!0:(Ie(),!1)}function fg(J){switch(J){case 0:return j()===90?Qt(f._0_expected,qo(95)):Qt(f.Declaration_or_statement_expected);case 1:return Qt(f.Declaration_or_statement_expected);case 2:return Qt(f.case_or_default_expected);case 3:return Qt(f.Statement_expected);case 18:case 4:return Qt(f.Property_or_signature_expected);case 5:return Qt(f.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);case 6:return Qt(f.Enum_member_expected);case 7:return Qt(f.Expression_expected);case 8:return du(j())?Qt(f._0_is_not_allowed_as_a_variable_declaration_name,qo(j())):Qt(f.Variable_declaration_expected);case 9:return Qt(f.Property_destructuring_pattern_expected);case 10:return Qt(f.Array_element_destructuring_pattern_expected);case 11:return Qt(f.Argument_expression_expected);case 12:return Qt(f.Property_assignment_expected);case 15:return Qt(f.Expression_or_comma_expected);case 17:return Qt(f.Parameter_declaration_expected);case 16:return du(j())?Qt(f._0_is_not_allowed_as_a_parameter_name,qo(j())):Qt(f.Parameter_declaration_expected);case 19:return Qt(f.Type_parameter_declaration_expected);case 20:return Qt(f.Type_argument_expected);case 21:return Qt(f.Type_expected);case 22:return Qt(f.Unexpected_token_expected);case 23:return j()===161?Qt(f._0_expected,\"}\"):Qt(f.Identifier_expected);case 13:return Qt(f.Identifier_expected);case 14:return Qt(f.Identifier_expected);case 24:return Qt(f.Identifier_or_string_literal_expected);case 25:return Qt(f.Identifier_expected);case 26:return x.fail(\"ParsingContext.Count used as a context\");default:x.assertNever(J)}}function fd(J,ye,Fe){let mt=jt;jt|=1<<J;let vt=[],Lt=M(),Sr=-1;for(;;){if(Za(J,!1)){let bi=t.getTokenFullStart(),fi=Cl(J,ye);if(!fi){jt=mt;return}if(vt.push(fi),Sr=t.getTokenStart(),$i(28))continue;if(Sr=-1,Ln(J))break;_n(28,mg(J)),Fe&&j()===27&&!t.hasPrecedingLineBreak()&&Ie(),bi===t.getTokenFullStart()&&Ie();continue}if(Ln(J)||X_(J))break}return jt=mt,ho(vt,Lt,void 0,Sr>=0)}function mg(J){return J===6?f.An_enum_member_name_must_be_followed_by_a_or:void 0}function Ku(){let J=ho([],M());return J.isMissingList=!0,J}function Lh(J){return!!J.isMissingList}function mu(J,ye,Fe,mt){if(_n(Fe)){let vt=fd(J,ye);return _n(mt),vt}return Ku()}function Y(J,ye){let Fe=M(),mt=J?tc(ye):ls(ye);for(;$i(25)&&j()!==30;)mt=Ut(m.createQualifiedName(mt,xt(J,!1,!0)),Fe);return mt}function Ye(J,ye){return Ut(m.createQualifiedName(J,ye),J.pos)}function xt(J,ye,Fe){if(t.hasPrecedingLineBreak()&&Md(j())&&_i(mp))return ys(80,!0,f.Identifier_expected);if(j()===81){let mt=tr();return ye?mt:ys(80,!0,f.Identifier_expected)}return J?Fe?tc():ae():ls()}function Nt(J){let ye=M(),Fe=[],mt;do mt=jr(J),Fe.push(mt);while(mt.literal.kind===17);return ho(Fe,ye)}function k(J){let ye=M();return Ut(m.createTemplateExpression(zi(J),Nt(J)),ye)}function ge(){let J=M();return Ut(m.createTemplateLiteralType(zi(!1),Xe()),J)}function Xe(){let J=M(),ye=[],Fe;do Fe=Mt(),ye.push(Fe);while(Fe.literal.kind===17);return ho(ye,J)}function Mt(){let J=M();return Ut(m.createTemplateLiteralTypeSpan(Xl(),Vn(!1)),J)}function Vn(J){return j()===20?(An(J),_a()):ts(18,f._0_expected,qo(20))}function jr(J){let ye=M();return Ut(m.createTemplateSpan(ln(we),Vn(J)),ye)}function Or(){return pl(j())}function zi(J){!J&&t.getTokenFlags()&26656&&An(!1);let ye=pl(j());return x.assert(ye.kind===16,\"Template head has wrong token kind\"),ye}function _a(){let J=pl(j());return x.assert(J.kind===17||J.kind===18,\"Template fragment has wrong token kind\"),J}function ha(J){let ye=J===15||J===18,Fe=t.getTokenText();return Fe.substring(1,Fe.length-(t.isUnterminated()?0:ye?1:2))}function pl(J){let ye=M(),Fe=Jv(J)?m.createTemplateLiteralLikeNode(J,t.getTokenValue(),ha(J),t.getTokenFlags()&7176):J===9?E(t.getTokenValue(),t.getNumericLiteralFlags()):J===11?S(t.getTokenValue(),void 0,t.hasExtendedUnicodeEscape()):oC(J)?A(J,t.getTokenValue()):x.fail();return t.hasExtendedUnicodeEscape()&&(Fe.hasExtendedUnicodeEscape=!0),t.isUnterminated()&&(Fe.isUnterminated=!0),Ie(),Ut(Fe,ye)}function Gc(){return Y(!0,f.Type_expected)}function nc(){if(!t.hasPrecedingLineBreak()&&Cn()===30)return mu(20,Xl,30,32)}function Xu(){let J=M();return Ut(m.createTypeReferenceNode(Gc(),nc()),J)}function _u(J){switch(J.kind){case 183:return _l(J.typeName);case 184:case 185:{let{parameters:ye,type:Fe}=J;return Lh(ye)||_u(Fe)}case 196:return _u(J.type);default:return!1}}function Ay(J){return Ie(),Ut(m.createTypePredicateNode(void 0,J,Xl()),J.pos)}function ja(){let J=M();return Ie(),Ut(m.createThisTypeNode(),J)}function em(){let J=M();return Ie(),Ut(m.createJSDocAllType(),J)}function tm(){let J=M();return Ie(),Ut(m.createJSDocNonNullableType(xy(),!1),J)}function Ri(){let J=M();return Ie(),j()===28||j()===20||j()===22||j()===32||j()===64||j()===52?Ut(m.createJSDocUnknownType(),J):Ut(m.createJSDocNullableType(Xl(),!1),J)}function _g(){let J=M(),ye=te();if(ui(sf)){let Fe=tn(36),mt=Pt(59,!1);return cr(Ut(m.createJSDocFunctionType(Fe,mt),J),ye)}return Ut(m.createTypeReferenceNode(tc(),void 0),J)}function yv(){let J=M(),ye;return(j()===110||j()===105)&&(ye=tc(),_n(59)),Ut(m.createParameterDeclaration(void 0,void 0,ye,void 0,nm(),void 0),J)}function nm(){t.setInJSDocType(!0);let J=M();if($i(144)){let mt=m.createJSDocNamepathType(void 0);e:for(;;)switch(j()){case 20:case 1:case 28:case 5:break e;default:gt()}return t.setInJSDocType(!1),Ut(mt,J)}let ye=$i(26),Fe=Ry();return t.setInJSDocType(!1),ye&&(Fe=Ut(m.createJSDocVariadicType(Fe),J)),j()===64?(Ie(),Ut(m.createJSDocOptionalType(Fe),J)):Fe}function D0(){let J=M();_n(114);let ye=Y(!0),Fe=t.hasPrecedingLineBreak()?void 0:uE();return Ut(m.createTypeQueryNode(ye,Fe),J)}function C0(){let J=M(),ye=eh(!1,!0),Fe=ls(),mt,vt;$i(96)&&(kh()||!xm()?mt=Xl():vt=Cy());let Lt=$i(64)?Xl():void 0,Sr=m.createTypeParameterDeclaration(ye,Fe,mt,Lt);return Sr.expression=vt,Ut(Sr,J)}function Op(){if(j()===30)return mu(19,C0,30,32)}function p_(J){return j()===26||Oa()||Yg(j())||j()===60||kh(!J)}function wp(J){let ye=dr(f.Private_identifiers_cannot_be_used_as_parameters);return tL(ye)===0&&!ct(J)&&Yg(j())&&Ie(),ye}function hg(){return Mr()||j()===23||j()===19}function Ne(J){return Tt(J)}function Ve(J){return Tt(J,!1)}function Tt(J,ye=!0){let Fe=M(),mt=te(),vt=J?re(()=>eh(!0)):Ce(()=>eh(!0));if(j()===110){let fi=m.createParameterDeclaration(vt,void 0,Bc(!0),void 0,Ev(),void 0),Zr=Ac(vt);return Zr&&Re(Zr,f.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),cr(Ut(fi,Fe),mt)}let Lt=en;en=!1;let Sr=Uo(26);if(!ye&&!hg())return;let bi=cr(Ut(m.createParameterDeclaration(vt,Sr,wp(vt),Uo(58),Ev(),Rm()),Fe),mt);return en=Lt,bi}function Pt(J,ye){if(rn(J,ye))return ke(Ry)}function rn(J,ye){return J===39?(_n(J),!0):$i(59)?!0:ye&&j()===39?(Qt(f._0_expected,qo(59)),Ie(),!0):!1}function wn(J,ye){let Fe=_t(),mt=on();ni(!!(J&1)),so(!!(J&2));let vt=J&32?fd(17,yv):fd(16,()=>ye?Ne(mt):Ve(mt));return ni(Fe),so(mt),vt}function tn(J){if(!_n(21))return Ku();let ye=wn(J,!0);return _n(22),ye}function Wn(){$i(28)||zs()}function Qr(J){let ye=M(),Fe=te();J===180&&_n(105);let mt=Op(),vt=tn(4),Lt=Pt(59,!0);Wn();let Sr=J===179?m.createCallSignature(mt,vt,Lt):m.createConstructSignature(mt,vt,Lt);return cr(Ut(Sr,ye),Fe)}function Kn(){return j()===23&&_i(Gr)}function Gr(){if(Ie(),j()===26||j()===24)return!0;if(Yg(j())){if(Ie(),lo())return!0}else if(lo())Ie();else return!1;return j()===59||j()===28?!0:j()!==58?!1:(Ie(),j()===59||j()===28||j()===24)}function Qn(J,ye,Fe){let mt=mu(16,()=>Ne(!1),23,24),vt=Ev();Wn();let Lt=m.createIndexSignature(Fe,mt,vt);return cr(Ut(Lt,J),ye)}function Mo(J,ye,Fe){let mt=$t(),vt=Uo(58),Lt;if(j()===21||j()===30){let Sr=Op(),bi=tn(4),fi=Pt(59,!0);Lt=m.createMethodSignature(Fe,mt,vt,Sr,bi,fi)}else{let Sr=Ev();Lt=m.createPropertySignature(Fe,mt,vt,Sr),j()===64&&(Lt.initializer=Rm())}return Wn(),cr(Ut(Lt,J),ye)}function xa(){if(j()===21||j()===30||j()===139||j()===153)return!0;let J=!1;for(;Yg(j());)J=!0,Ie();return j()===23?!0:(X()&&(J=!0,Ie()),J?j()===21||j()===30||j()===58||j()===59||j()===28||Wl():!1)}function xd(){if(j()===21||j()===30)return Qr(179);if(j()===105&&_i(Vc))return Qr(180);let J=M(),ye=te(),Fe=eh(!1);return Ir(139)?Ag(J,ye,Fe,177,4):Ir(153)?Ag(J,ye,Fe,178,4):Kn()?Qn(J,ye,Fe):Mo(J,ye,Fe)}function Vc(){return Ie(),j()===21||j()===30}function gg(){return Ie()===25}function $b(){switch(Ie()){case 21:case 30:case 25:return!0}return!1}function UI(){let J=M();return Ut(m.createTypeLiteralNode(Qb()),J)}function Qb(){let J;return _n(19)?(J=Oo(4,xd),_n(20)):J=Ku(),J}function GR(){return Ie(),j()===40||j()===41?Ie()===148:(j()===148&&Ie(),j()===23&&Du()&&Ie()===103)}function VR(){let J=M(),ye=tc();_n(103);let Fe=Xl();return Ut(m.createTypeParameterDeclaration(void 0,ye,Fe,void 0),J)}function jR(){let J=M();_n(19);let ye;(j()===148||j()===40||j()===41)&&(ye=Us(),ye.kind!==148&&_n(148)),_n(23);let Fe=VR(),mt=$i(130)?Xl():void 0;_n(24);let vt;(j()===58||j()===40||j()===41)&&(vt=Us(),vt.kind!==58&&_n(58));let Lt=Ev();zs();let Sr=Oo(4,xd);return _n(20),Ut(m.createMappedTypeNode(ye,Fe,mt,vt,Lt,Sr),J)}function gT(){let J=M();if($i(26))return Ut(m.createRestTypeNode(Xl()),J);let ye=Xl();if(Bx(ye)&&ye.pos===ye.type.pos){let Fe=m.createOptionalTypeNode(ye.type);return Ze(Fe,ye),Fe.flags=ye.flags,Fe}return ye}function N0(){return Ie()===59||j()===58&&Ie()===59}function HI(){return j()===26?Md(Ie())&&N0():Md(j())&&N0()}function UR(){if(_i(HI)){let J=M(),ye=te(),Fe=Uo(26),mt=tc(),vt=Uo(58);_n(59);let Lt=gT(),Sr=m.createNamedTupleMember(Fe,mt,vt,Lt);return cr(Ut(Sr,J),ye)}return gT()}function qI(){let J=M();return Ut(m.createTupleTypeNode(mu(21,UR,23,24)),J)}function JI(){let J=M();_n(21);let ye=Xl();return _n(22),Ut(m.createParenthesizedType(ye),J)}function KI(){let J;if(j()===128){let ye=M();Ie();let Fe=Ut(L(128),ye);J=ho([Fe],ye)}return J}function XI(){let J=M(),ye=te(),Fe=KI(),mt=$i(105);x.assert(!Fe||mt,\"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.\");let vt=Op(),Lt=tn(4),Sr=Pt(39,!1),bi=mt?m.createConstructorTypeNode(Fe,vt,Lt,Sr):m.createFunctionTypeNode(vt,Lt,Sr);return cr(Ut(bi,J),ye)}function vT(){let J=Us();return j()===25?void 0:J}function YI(J){let ye=M();J&&Ie();let Fe=j()===112||j()===97||j()===106?Us():pl(j());return J&&(Fe=Ut(m.createPrefixUnaryExpression(41,Fe),ye)),Ut(m.createLiteralTypeNode(Fe),ye)}function P0(){return Ie(),j()===102}function M0(){be|=4194304;let J=M(),ye=$i(114);_n(102),_n(21);let Fe=Xl(),mt;if($i(28)){let Sr=t.getTokenStart();_n(19);let bi=j();if(bi===118||bi===132?Ie():Qt(f._0_expected,qo(118)),_n(59),mt=zy(bi,!0),!_n(20)){let fi=Ns(Le);fi&&fi.code===f._0_expected.code&&fa(fi,Ix(_e,Te,Sr,1,f.The_parser_expected_to_find_a_1_to_match_the_0_token_here,\"{\",\"}\"))}}_n(22);let vt=$i(25)?Gc():void 0,Lt=nc();return Ut(m.createImportTypeNode(Fe,mt,vt,Lt,ye),J)}function Iy(){return Ie(),j()===9||j()===10}function xy(){switch(j()){case 133:case 159:case 154:case 150:case 163:case 155:case 136:case 157:case 146:case 151:return ui(vT)||Xu();case 67:t.reScanAsteriskEqualsToken();case 42:return em();case 61:t.reScanQuestionToken();case 58:return Ri();case 100:return _g();case 54:return tm();case 15:case 11:case 9:case 10:case 112:case 97:case 106:return YI();case 41:return _i(Iy)?YI(!0):Xu();case 116:return Us();case 110:{let J=ja();return j()===142&&!t.hasPrecedingLineBreak()?Ay(J):J}case 114:return _i(P0)?M0():D0();case 19:return _i(GR)?jR():UI();case 23:return qI();case 21:return JI();case 102:return M0();case 131:return _i(mp)?QI():Xu();case 16:return ge();default:return Xu()}}function kh(J){switch(j()){case 133:case 159:case 154:case 150:case 163:case 136:case 148:case 155:case 158:case 116:case 157:case 106:case 110:case 114:case 146:case 19:case 23:case 30:case 52:case 51:case 105:case 11:case 9:case 10:case 112:case 97:case 151:case 42:case 58:case 54:case 26:case 140:case 102:case 131:case 15:case 16:return!0;case 100:return!J;case 41:return!J&&_i(Iy);case 21:return!J&&_i(Zb);default:return lo()}}function Zb(){return Ie(),j()===22||p_(!1)||kh()}function La(){let J=M(),ye=xy();for(;!t.hasPrecedingLineBreak();)switch(j()){case 54:Ie(),ye=Ut(m.createJSDocNonNullableType(ye,!0),J);break;case 58:if(_i(At))return ye;Ie(),ye=Ut(m.createJSDocNullableType(ye,!0),J);break;case 23:if(_n(23),kh()){let Fe=Xl();_n(24),ye=Ut(m.createIndexedAccessTypeNode(ye,Fe),J)}else _n(24),ye=Ut(m.createArrayTypeNode(ye),J);break;default:return ye}return ye}function yT(J){let ye=M();return _n(J),Ut(m.createTypeOperatorNode(J,Y_()),ye)}function HR(){if($i(96)){let J=nt(Xl);if(it()||j()!==58)return J}}function eE(){let J=M(),ye=ls(),Fe=ui(HR),mt=m.createTypeParameterDeclaration(void 0,ye,Fe);return Ut(mt,J)}function vg(){let J=M();return _n(140),Ut(m.createInferTypeNode(eE()),J)}function Y_(){let J=j();switch(J){case 143:case 158:case 148:return yT(J);case 140:return vg()}return ke(La)}function rf(J){if(bT()){let ye=XI(),Fe;return G_(ye)?Fe=J?f.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:f.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:Fe=J?f.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:f.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,Re(ye,Fe),ye}}function hu(J,ye,Fe){let mt=M(),vt=J===52,Lt=$i(J),Sr=Lt&&rf(vt)||ye();if(j()===J||Lt){let bi=[Sr];for(;$i(J);)bi.push(rf(vt)||ye());Sr=Ut(Fe(ho(bi,mt)),mt)}return Sr}function Yu(){return hu(51,Y_,m.createIntersectionTypeNode)}function Cu(){return hu(52,Yu,m.createUnionTypeNode)}function bv(){return Ie(),j()===105}function bT(){return j()===30||j()===21&&_i($I)?!0:j()===105||j()===128&&_i(bv)}function qR(){if(Yg(j())&&eh(!1),lo()||j()===110)return Ie(),!0;if(j()===23||j()===19){let J=Le.length;return dr(),J===Le.length}return!1}function $I(){return Ie(),!!(j()===22||j()===26||qR()&&(j()===59||j()===28||j()===58||j()===64||j()===22&&(Ie(),j()===39)))}function Ry(){let J=M(),ye=lo()&&ui(tE),Fe=Xl();return ye?Ut(m.createTypePredicateNode(void 0,ye,Fe),J):Fe}function tE(){let J=ls();if(j()===142&&!t.hasPrecedingLineBreak())return Ie(),J}function QI(){let J=M(),ye=ts(131),Fe=j()===110?ja():ls(),mt=$i(142)?Xl():void 0;return Ut(m.createTypePredicateNode(ye,Fe,mt),J)}function Xl(){if(On&81920)return Jo(81920,Xl);if(bT())return XI();let J=M(),ye=Cu();if(!it()&&!t.hasPrecedingLineBreak()&&$i(96)){let Fe=nt(Xl);_n(58);let mt=ke(Xl);_n(59);let vt=ke(Xl);return Ut(m.createConditionalTypeNode(ye,Fe,mt,vt),J)}return ye}function Ev(){return $i(59)?Xl():void 0}function ZI(){switch(j()){case 110:case 108:case 106:case 112:case 97:case 9:case 10:case 11:case 15:case 16:case 21:case 23:case 19:case 100:case 86:case 105:case 44:case 69:case 80:return!0;case 102:return _i($b);default:return lo()}}function xm(){if(ZI())return!0;switch(j()){case 40:case 41:case 55:case 54:case 91:case 114:case 116:case 46:case 47:case 30:case 135:case 127:case 81:case 60:return!0;default:return Cm()?!0:lo()}}function ET(){return j()!==19&&j()!==100&&j()!==86&&j()!==60&&xm()}function we(){let J=Ct();J&&ki(!1);let ye=M(),Fe=jc(!0),mt;for(;mt=Uo(28);)Fe=L0(Fe,mt,jc(!0),ye);return J&&ki(!0),Fe}function Rm(){return $i(64)?jc(!0):void 0}function jc(J){if(nE())return Dy();let ye=Tv(J)||ST(J);if(ye)return ye;let Fe=M(),mt=te(),vt=Mf(0);return vt.kind===80&&j()===39?Sv(Fe,vt,J,mt,void 0):Tu(vt)&&tv(Ot())?L0(vt,Us(),jc(J),Fe):Pf(vt,Fe,J)}function nE(){return j()===127?_t()?!0:_i(Es):!1}function e1(){return Ie(),!t.hasPrecedingLineBreak()&&lo()}function Dy(){let J=M();return Ie(),!t.hasPrecedingLineBreak()&&(j()===42||xm())?Ut(m.createYieldExpression(Uo(42),jc(!0)),J):Ut(m.createYieldExpression(void 0,void 0),J)}function Sv(J,ye,Fe,mt,vt){x.assert(j()===39,\"parseSimpleArrowFunctionExpression should only have been called if we had a =>\");let Lt=m.createParameterDeclaration(void 0,void 0,ye,void 0,void 0,void 0);Ut(Lt,ye.pos);let Sr=ho([Lt],Lt.pos,Lt.end),bi=ts(39),fi=AT(!!vt,Fe),Zr=m.createArrowFunction(vt,void 0,Sr,void 0,bi,fi);return cr(Ut(Zr,J),mt)}function Tv(J){let ye=SP();if(ye!==0)return ye===1?rE(!0,!0):ui(()=>Dm(J))}function SP(){return j()===21||j()===30||j()===134?_i(Ra):j()===39?1:0}function Ra(){if(j()===134&&(Ie(),t.hasPrecedingLineBreak()||j()!==21&&j()!==30))return 0;let J=j(),ye=Ie();if(J===21){if(ye===22)switch(Ie()){case 39:case 59:case 19:return 1;default:return 0}if(ye===23||ye===19)return 2;if(ye===26)return 1;if(Yg(ye)&&ye!==134&&_i(Du))return Ie()===130?0:1;if(!lo()&&ye!==110)return 0;switch(Ie()){case 59:return 1;case 58:return Ie(),j()===59||j()===28||j()===64||j()===22?1:0;case 28:case 64:case 22:return 2}return 0}else return x.assert(J===30),!lo()&&j()!==87?0:he===1?_i(()=>{$i(87);let mt=Ie();if(mt===96)switch(Ie()){case 64:case 32:case 44:return!1;default:return!0}else if(mt===28||mt===64)return!0;return!1})?1:0:2}function Dm(J){let ye=t.getTokenStart();if(gn?.has(ye))return;let Fe=rE(!1,J);return Fe||(gn||(gn=new Set)).add(ye),Fe}function ST(J){if(j()===134&&_i(TT)===1){let ye=M(),Fe=te(),mt=Bp(),vt=Mf(0);return Sv(ye,vt,J,Fe,mt)}}function TT(){if(j()===134){if(Ie(),t.hasPrecedingLineBreak()||j()===39)return 0;let J=Mf(0);if(!t.hasPrecedingLineBreak()&&J.kind===80&&j()===39)return 1}return 0}function rE(J,ye){let Fe=M(),mt=te(),vt=Bp(),Lt=ct(vt,aN)?2:0,Sr=Op(),bi;if(_n(21)){if(J)bi=wn(Lt,J);else{let Vh=wn(Lt,J);if(!Vh)return;bi=Vh}if(!_n(22)&&!J)return}else{if(!J)return;bi=Ku()}let fi=j()===59,Zr=Pt(59,!1);if(Zr&&!J&&_u(Zr))return;let Mi=Zr;for(;Mi?.kind===196;)Mi=Mi.type;let Ua=Mi&&Gx(Mi);if(!J&&j()!==39&&(Ua||j()!==19))return;let os=j(),Ma=ts(39),lf=os===39||os===19?AT(ct(vt,aN),ye):ls();if(!ye&&fi&&j()!==59)return;let v_=m.createArrowFunction(vt,Sr,bi,Zr,Ma,lf);return cr(Ut(v_,Fe),mt)}function AT(J,ye){if(j()===19)return Ly(J?2:0);if(j()!==27&&j()!==100&&j()!==86&&z0()&&!ET())return Ly(16|(J?2:0));let Fe=en;en=!1;let mt=J?re(()=>jc(ye)):Ce(()=>jc(ye));return en=Fe,mt}function Pf(J,ye,Fe){let mt=Uo(58);if(!mt)return J;let vt;return Ut(m.createConditionalExpression(J,mt,Jo(r,()=>jc(!1)),vt=ts(59),gf(vt)?jc(Fe):ys(80,!1,f._0_expected,qo(59))),ye)}function Mf(J){let ye=M(),Fe=Cy();return t1(J,Fe,ye)}function yg(J){return J===103||J===165}function t1(J,ye,Fe){for(;;){Ot();let mt=zL(j());if(!(j()===43?mt>=J:mt>J)||j()===103&&ze())break;if(j()===130||j()===152){if(t.hasPrecedingLineBreak())break;{let Lt=j();Ie(),ye=Lt===152?JR(ye,Xl()):Pi(ye,Xl())}}else ye=L0(ye,Us(),Mf(mt),Fe)}return ye}function Cm(){return ze()&&j()===103?!1:zL(j())>0}function JR(J,ye){return Ut(m.createSatisfiesExpression(J,ye),J.pos)}function L0(J,ye,Fe,mt){return Ut(m.createBinaryExpression(J,ye,Fe),mt)}function Pi(J,ye){return Ut(m.createAsExpression(J,ye),J.pos)}function Fr(){let J=M();return Ut(m.createPrefixUnaryExpression(j(),Pe(Xs)),J)}function $_(){let J=M();return Ut(m.createDeleteExpression(Pe(Xs)),J)}function gu(){let J=M();return Ut(m.createTypeOfExpression(Pe(Xs)),J)}function TP(){let J=M();return Ut(m.createVoidExpression(Pe(Xs)),J)}function bg(){return j()===135?on()?!0:_i(Es):!1}function AP(){let J=M();return Ut(m.createAwaitExpression(Pe(Xs)),J)}function Cy(){if(pp()){let Fe=M(),mt=Oh();return j()===43?t1(zL(j()),mt,Fe):mt}let J=j(),ye=Xs();if(j()===43){let Fe=pa(Te,ye.pos),{end:mt}=ye;ye.kind===216?V(Fe,mt,f.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):(x.assert(PW(J)),V(Fe,mt,f.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,qo(J)))}return ye}function Xs(){switch(j()){case 40:case 41:case 55:case 54:return Fr();case 91:return $_();case 114:return gu();case 116:return TP();case 30:return he===1?Eg(!0,void 0,void 0,!0):im();case 135:if(bg())return AP();default:return Oh()}}function pp(){switch(j()){case 40:case 41:case 55:case 54:case 91:case 114:case 116:case 135:return!1;case 30:if(he!==1)return!1;default:return!0}}function Oh(){if(j()===46||j()===47){let ye=M();return Ut(m.createPrefixUnaryExpression(j(),Pe(Lf)),ye)}else if(he===1&&j()===30&&_i(Nf))return Eg(!0);let J=Lf();if(x.assert(Tu(J)),(j()===46||j()===47)&&!t.hasPrecedingLineBreak()){let ye=j();return Ie(),Ut(m.createPostfixUnaryExpression(J,ye),J.pos)}return J}function Lf(){let J=M(),ye;return j()===102?_i(Vc)?(be|=4194304,ye=Us()):_i(gg)?(Ie(),Ie(),ye=Ut(m.createMetaProperty(102,tc()),J),be|=8388608):ye=Ny():ye=j()===108?rm():Ny(),Iv(J,ye)}function Ny(){let J=M(),ye=iE();return Mc(J,ye,!0)}function rm(){let J=M(),ye=Us();if(j()===30){let Fe=M(),mt=ui(Xn);mt!==void 0&&(V(Fe,M(),f.super_may_not_use_type_arguments),Oi()||(ye=m.createExpressionWithTypeArguments(ye,mt)))}return j()===21||j()===25||j()===23?ye:(ts(25,f.super_must_be_followed_by_an_argument_list_or_member_access),Ut(K(ye,xt(!0,!0,!0)),J))}function Eg(J,ye,Fe,mt=!1){let vt=M(),Lt=Wh(J),Sr;if(Lt.kind===286){let bi=wh(Lt),fi,Zr=bi[bi.length-1];if(Zr?.kind===284&&!Fb(Zr.openingElement.tagName,Zr.closingElement.tagName)&&Fb(Lt.tagName,Zr.closingElement.tagName)){let Mi=Zr.children.end,Ua=Ut(m.createJsxElement(Zr.openingElement,Zr.children,Ut(m.createJsxClosingElement(Ut(C(\"\"),Mi,Mi)),Mi,Mi)),Zr.openingElement.pos,Mi);bi=ho([...bi.slice(0,bi.length-1),Ua],bi.pos,Mi),fi=Zr.closingElement}else fi=O0(Lt,J),Fb(Lt.tagName,fi.tagName)||(Fe&&r_(Fe)&&Fb(fi.tagName,Fe.tagName)?Re(Lt.tagName,f.JSX_element_0_has_no_corresponding_closing_tag,uC(Te,Lt.tagName)):Re(fi.tagName,f.Expected_corresponding_JSX_closing_tag_for_0,uC(Te,Lt.tagName)));Sr=Ut(m.createJsxElement(Lt,bi,fi),vt)}else Lt.kind===289?Sr=Ut(m.createJsxFragment(Lt,wh(Lt),RT(J)),vt):(x.assert(Lt.kind===285),Sr=Lt);if(!mt&&J&&j()===30){let bi=typeof ye>\"u\"?Sr.pos:ye,fi=ui(()=>Eg(!0,bi));if(fi){let Zr=ys(28,!1);return JC(Zr,fi.pos,0),V(pa(Te,bi),fi.end,f.JSX_expressions_must_have_one_parent_element),Ut(m.createBinaryExpression(Sr,Zr,fi),vt)}}return Sr}function k0(){let J=M(),ye=m.createJsxText(t.getTokenValue(),st===13);return st=t.scanJsxToken(),Ut(ye,J)}function IT(J,ye){switch(ye){case 1:if(fI(J))Re(J,f.JSX_fragment_has_no_corresponding_closing_tag);else{let Fe=J.tagName,mt=Math.min(pa(Te,Fe.pos),Fe.end);V(mt,Fe.end,f.JSX_element_0_has_no_corresponding_closing_tag,uC(Te,J.tagName))}return;case 31:case 7:return;case 12:case 13:return k0();case 19:return KR(!1);case 30:return Eg(!1,void 0,J);default:return x.assertNever(ye)}}function wh(J){let ye=[],Fe=M(),mt=jt;for(jt|=16384;;){let vt=IT(J,st=t.reScanJsxToken());if(!vt||(ye.push(vt),r_(J)&&vt?.kind===284&&!Fb(vt.openingElement.tagName,vt.closingElement.tagName)&&Fb(J.tagName,vt.closingElement.tagName)))break}return jt=mt,ho(ye,Fe)}function n1(){let J=M();return Ut(m.createJsxAttributes(Oo(13,XR)),J)}function Wh(J){let ye=M();if(_n(30),j()===32)return jn(),Ut(m.createJsxOpeningFragment(),ye);let Fe=f_(),mt=On&524288?void 0:uE(),vt=n1(),Lt;return j()===32?(jn(),Lt=m.createJsxOpeningElement(Fe,mt,vt)):(_n(44),_n(32,void 0,!1)&&(J?Ie():jn()),Lt=m.createJsxSelfClosingElement(Fe,mt,vt)),Ut(Lt,ye)}function f_(){let J=M(),ye=Av();if(Em(ye))return ye;let Fe=ye;for(;$i(25);)Fe=Ut(K(Fe,xt(!0,!1,!1)),J);return Fe}function Av(){let J=M();di();let ye=j()===110,Fe=ae();return $i(59)?(di(),Ut(m.createJsxNamespacedName(Fe,ae()),J)):ye?Ut(m.createToken(110),J):Fe}function KR(J){let ye=M();if(!_n(19))return;let Fe,mt;return j()!==20&&(J||(Fe=Uo(26)),mt=we()),J?_n(20):_n(20,void 0,!1)&&jn(),Ut(m.createJsxExpression(Fe,mt),ye)}function XR(){if(j()===19)return Ds();let J=M();return Ut(m.createJsxAttribute(xT(),YR()),J)}function YR(){if(j()===64){if(Ar()===11)return Or();if(j()===19)return KR(!0);if(j()===30)return Eg(!0);Qt(f.or_JSX_element_expected)}}function xT(){let J=M();di();let ye=ae();return $i(59)?(di(),Ut(m.createJsxNamespacedName(ye,ae()),J)):ye}function Ds(){let J=M();_n(19),_n(26);let ye=we();return _n(20),Ut(m.createJsxSpreadAttribute(ye),J)}function O0(J,ye){let Fe=M();_n(31);let mt=f_();return _n(32,void 0,!1)&&(ye||!Fb(J.tagName,mt)?Ie():jn()),Ut(m.createJsxClosingElement(mt),Fe)}function RT(J){let ye=M();return _n(31),_n(32,f.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(J?Ie():jn()),Ut(m.createJsxJsxClosingFragment(),ye)}function im(){x.assert(he!==1,\"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.\");let J=M();_n(30);let ye=Xl();_n(32);let Fe=Xs();return Ut(m.createTypeAssertion(ye,Fe),J)}function Py(){return Ie(),Md(j())||j()===23||Oi()}function $R(){return j()===29&&_i(Py)}function DT(J){if(J.flags&64)return!0;if(dI(J)){let ye=J.expression;for(;dI(ye)&&!(ye.flags&64);)ye=ye.expression;if(ye.flags&64){for(;dI(J);)J.flags|=64,J=J.expression;return!0}}return!1}function IP(J,ye,Fe){let mt=xt(!0,!0,!0),vt=Fe||DT(ye),Lt=vt?F(ye,Fe,mt):K(ye,mt);if(vt&&Ci(Lt.name)&&Re(Lt.name,f.An_optional_chain_cannot_contain_private_identifiers),sv(ye)&&ye.typeArguments){let Sr=ye.typeArguments.pos-1,bi=pa(Te,ye.typeArguments.end)+1;V(Sr,bi,f.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return Ut(Lt,J)}function nr(J,ye,Fe){let mt;if(j()===24)mt=ys(80,!0,f.An_element_access_expression_should_take_an_argument);else{let Lt=ln(we);Ap(Lt)&&(Lt.text=Pc(Lt.text)),mt=Lt}_n(24);let vt=Fe||DT(ye)?W(ye,Fe,mt):oe(ye,mt);return Ut(vt,J)}function Mc(J,ye,Fe){for(;;){let mt,vt=!1;if(Fe&&$R()?(mt=ts(29),vt=Md(j())):vt=$i(25),vt){ye=IP(J,ye,mt);continue}if((mt||!Ct())&&$i(23)){ye=nr(J,ye,mt);continue}if(Oi()){ye=!mt&&ye.kind===233?Wp(J,ye.expression,mt,ye.typeArguments):Wp(J,ye,mt,void 0);continue}if(!mt){if(j()===54&&!t.hasPrecedingLineBreak()){Ie(),ye=Ut(m.createNonNullExpression(ye),J);continue}let Lt=ui(Xn);if(Lt){ye=Ut(m.createExpressionWithTypeArguments(ye,Lt),J);continue}}return ye}}function Oi(){return j()===15||j()===16}function Wp(J,ye,Fe,mt){let vt=m.createTaggedTemplateExpression(ye,mt,j()===15?(An(!0),Or()):k(!0));return(Fe||ye.flags&64)&&(vt.flags|=64),vt.questionDotToken=Fe,Ut(vt,J)}function Iv(J,ye){for(;;){ye=Mc(J,ye,!0);let Fe,mt=Uo(29);if(mt&&(Fe=ui(Xn),Oi())){ye=Wp(J,ye,mt,Fe);continue}if(Fe||j()===21){!mt&&ye.kind===233&&(Fe=ye.typeArguments,ye=ye.expression);let vt=m_(),Lt=mt||DT(ye)?de(ye,mt,Fe,vt):$(ye,Fe,vt);ye=Ut(Lt,J);continue}if(mt){let vt=ys(80,!1,f.Identifier_expected);ye=Ut(F(ye,mt,vt),J)}break}return ye}function m_(){_n(21);let J=fd(11,w0);return _n(22),J}function Xn(){if(On&524288||Cn()!==30)return;Ie();let J=fd(20,Xl);if(Ot()===32)return Ie(),J&&CT()?J:void 0}function CT(){switch(j()){case 21:case 15:case 16:return!0;case 30:case 32:case 40:case 41:return!1}return t.hasPrecedingLineBreak()||Cm()||!xm()}function iE(){switch(j()){case 15:t.getTokenFlags()&26656&&An(!1);case 9:case 10:case 11:return Or();case 110:case 108:case 106:case 112:case 97:return Us();case 21:return Tc();case 23:return W0();case 19:return Sg();case 134:if(!_i(OT))break;return NT();case 60:return dE();case 86:return c1();case 100:return NT();case 105:return oE();case 44:case 69:if(dn()===14)return Or();break;case 16:return k(!1);case 81:return tr()}return ls(f.Expression_expected)}function Tc(){let J=M(),ye=te();_n(21);let Fe=ln(we);return _n(22),cr(Ut(q(Fe),J),ye)}function Q_(){let J=M();_n(26);let ye=jc(!0);return Ut(m.createSpreadElement(ye),J)}function om(){return j()===26?Q_():j()===28?Ut(m.createOmittedExpression(),M()):jc(!0)}function w0(){return Jo(r,om)}function W0(){let J=M(),ye=t.getTokenStart(),Fe=_n(23),mt=t.hasPrecedingLineBreak(),vt=fd(15,om);return Fc(23,24,Fe,ye),Ut(G(vt,mt),J)}function My(){let J=M(),ye=te();if(Uo(26)){let Mi=jc(!0);return cr(Ut(m.createSpreadAssignment(Mi),J),ye)}let Fe=eh(!0);if(Ir(139))return Ag(J,ye,Fe,177,0);if(Ir(153))return Ag(J,ye,Fe,178,0);let mt=Uo(42),vt=lo(),Lt=$t(),Sr=Uo(58),bi=Uo(54);if(mt||j()===21||j()===30)return Nm(J,ye,Fe,mt,Lt,Sr,bi);let fi;if(vt&&j()!==59){let Mi=Uo(64),Ua=Mi?ln(()=>jc(!0)):void 0;fi=m.createShorthandPropertyAssignment(Lt,Ua),fi.equalsToken=Mi}else{_n(59);let Mi=ln(()=>jc(!0));fi=m.createPropertyAssignment(Lt,Mi)}return fi.modifiers=Fe,fi.questionToken=Sr,fi.exclamationToken=bi,cr(Ut(fi,J),ye)}function Sg(){let J=M(),ye=t.getTokenStart(),Fe=_n(19),mt=t.hasPrecedingLineBreak(),vt=fd(12,My,!0);return Fc(19,20,Fe,ye),Ut(U(vt,mt),J)}function NT(){let J=Ct();ki(!1);let ye=M(),Fe=te(),mt=eh(!1);_n(100);let vt=Uo(42),Lt=vt?1:0,Sr=ct(mt,aN)?2:0,bi=Lt&&Sr?et(am):Lt?tt(am):Sr?re(am):am(),fi=Op(),Zr=tn(Lt|Sr),Mi=Pt(59,!1),Ua=Ly(Lt|Sr);ki(J);let os=m.createFunctionExpression(mt,vt,bi,fi,Zr,Mi,Ua);return cr(Ut(os,ye),Fe)}function am(){return Mr()?Ju():void 0}function oE(){let J=M();if(_n(105),$i(25)){let Lt=tc();return Ut(m.createMetaProperty(105,Lt),J)}let ye=M(),Fe=Mc(ye,iE(),!1),mt;Fe.kind===233&&(mt=Fe.typeArguments,Fe=Fe.expression),j()===29&&Qt(f.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,uC(Te,Fe));let vt=j()===21?m_():void 0;return Ut(fe(Fe,mt,vt),J)}function Fh(J,ye){let Fe=M(),mt=te(),vt=t.getTokenStart(),Lt=_n(19,ye);if(Lt||J){let Sr=t.hasPrecedingLineBreak(),bi=Oo(1,Pu);Fc(19,20,Lt,vt);let fi=cr(Ut(H(bi,Sr),Fe),mt);return j()===64&&(Qt(f.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),Ie()),fi}else{let Sr=Ku();return cr(Ut(H(Sr,void 0),Fe),mt)}}function Ly(J,ye){let Fe=_t();ni(!!(J&1));let mt=on();so(!!(J&2));let vt=en;en=!1;let Lt=Ct();Lt&&ki(!1);let Sr=Fh(!!(J&16),ye);return Lt&&ki(!0),en=vt,ni(Fe),so(mt),Sr}function r1(){let J=M(),ye=te();return _n(27),cr(Ut(m.createEmptyStatement(),J),ye)}function aE(){let J=M(),ye=te();_n(101);let Fe=t.getTokenStart(),mt=_n(21),vt=ln(we);Fc(21,22,mt,Fe);let Lt=Pu(),Sr=$i(93)?Pu():void 0;return cr(Ut(Ee(vt,Lt,Sr),J),ye)}function QR(){let J=M(),ye=te();_n(92);let Fe=Pu();_n(117);let mt=t.getTokenStart(),vt=_n(21),Lt=ln(we);return Fc(21,22,vt,mt),$i(27),cr(Ut(m.createDoStatement(Fe,Lt),J),ye)}function F0(){let J=M(),ye=te();_n(117);let Fe=t.getTokenStart(),mt=_n(21),vt=ln(we);Fc(21,22,mt,Fe);let Lt=Pu();return cr(Ut(ce(vt,Lt),J),ye)}function PT(){let J=M(),ye=te();_n(99);let Fe=Uo(135);_n(21);let mt;j()!==27&&(j()===115||j()===121||j()===87||j()===160&&_i(Tg)||j()===135&&_i($u)?mt=B0(!0):mt=Tn(we));let vt;if(Fe?_n(165):$i(165)){let Lt=ln(()=>jc(!0));_n(22),vt=pe(Fe,mt,Lt,Pu())}else if($i(103)){let Lt=ln(we);_n(22),vt=m.createForInStatement(mt,Lt,Pu())}else{_n(27);let Lt=j()!==27&&j()!==22?ln(we):void 0;_n(27);let Sr=j()!==22?ln(we):void 0;_n(22),vt=Z(mt,Lt,Sr,Pu())}return cr(Ut(vt,J),ye)}function fp(J){let ye=M(),Fe=te();_n(J===252?83:88);let mt=Wl()?void 0:ls();zs();let vt=J===252?m.createBreakStatement(mt):m.createContinueStatement(mt);return cr(Ut(vt,ye),Fe)}function MT(){let J=M(),ye=te();_n(107);let Fe=Wl()?void 0:ln(we);return zs(),cr(Ut(m.createReturnStatement(Fe),J),ye)}function yl(){let J=M(),ye=te();_n(118);let Fe=t.getTokenStart(),mt=_n(21),vt=ln(we);Fc(21,22,mt,Fe);let Lt=Ea(67108864,Pu);return cr(Ut(m.createWithStatement(vt,Lt),J),ye)}function fc(){let J=M(),ye=te();_n(84);let Fe=ln(we);_n(59);let mt=Oo(3,Pu);return cr(Ut(m.createCaseClause(Fe,mt),J),ye)}function LT(){let J=M();_n(90),_n(59);let ye=Oo(3,Pu);return Ut(m.createDefaultClause(ye),J)}function Qc(){return j()===84?fc():LT()}function Nu(){let J=M();_n(19);let ye=Oo(2,Qc);return _n(20),Ut(m.createCaseBlock(ye),J)}function sE(){let J=M(),ye=te();_n(109),_n(21);let Fe=ln(we);_n(22);let mt=Nu();return cr(Ut(m.createSwitchStatement(Fe,mt),J),ye)}function of(){let J=M(),ye=te();_n(111);let Fe=t.hasPrecedingLineBreak()?void 0:ln(we);return Fe===void 0&&(Vt++,Fe=Ut(C(\"\"),M())),il()||Dl(Fe),cr(Ut(m.createThrowStatement(Fe),J),ye)}function ky(){let J=M(),ye=te();_n(113);let Fe=Fh(!1),mt=j()===85?Oy():void 0,vt;return(!mt||j()===98)&&(_n(98,f.catch_or_finally_expected),vt=Fh(!1)),cr(Ut(m.createTryStatement(Fe,mt,vt),J),ye)}function Oy(){let J=M();_n(85);let ye;$i(21)?(ye=nu(),_n(22)):ye=void 0;let Fe=Fh(!1);return Ut(m.createCatchClause(ye,Fe),J)}function Lc(){let J=M(),ye=te();return _n(89),zs(),cr(Ut(m.createDebuggerStatement(),J),ye)}function i1(){let J=M(),ye=te(),Fe,mt=j()===21,vt=ln(we);return Me(vt)&&$i(59)?Fe=m.createLabeledStatement(vt,Pu()):(il()||Dl(vt),Fe=le(vt),mt&&(ye=!1)),cr(Ut(Fe,J),ye)}function mp(){return Ie(),Md(j())&&!t.hasPrecedingLineBreak()}function kT(){return Ie(),j()===86&&!t.hasPrecedingLineBreak()}function OT(){return Ie(),j()===100&&!t.hasPrecedingLineBreak()}function Es(){return Ie(),(Md(j())||j()===9||j()===10||j()===11)&&!t.hasPrecedingLineBreak()}function ZR(){for(;;)switch(j()){case 115:case 121:case 87:case 100:case 86:case 94:return!0;case 160:return o1();case 135:return a1();case 120:case 156:return e1();case 144:case 145:return nD();case 128:case 129:case 134:case 138:case 123:case 124:case 125:case 148:let J=j();if(Ie(),t.hasPrecedingLineBreak())return!1;if(J===138&&j()===156)return!0;continue;case 162:return Ie(),j()===19||j()===80||j()===95;case 102:return Ie(),j()===11||j()===42||j()===19||Md(j());case 95:let ye=Ie();if(ye===156&&(ye=_i(Ie)),ye===64||ye===42||ye===19||ye===90||ye===130||ye===60)return!0;continue;case 126:Ie();continue;default:return!1}}function lE(){return _i(ZR)}function z0(){switch(j()){case 60:case 27:case 19:case 115:case 121:case 160:case 100:case 86:case 94:case 101:case 92:case 117:case 99:case 88:case 83:case 107:case 118:case 109:case 111:case 113:case 89:case 85:case 98:return!0;case 102:return lE()||_i($b);case 87:case 95:return lE();case 134:case 138:case 120:case 144:case 145:case 156:case 162:return!0;case 129:case 125:case 123:case 124:case 126:case 148:return lE()||!_i(mp);default:return xm()}}function xP(){return Ie(),Mr()||j()===19||j()===23}function jd(){return _i(xP)}function Tg(){return __(!0)}function __(J){return Ie(),J&&j()===165?!1:(Mr()||j()===19)&&!t.hasPrecedingLineBreak()}function o1(){return _i(__)}function $u(J){return Ie()===160?__(J):!1}function a1(){return _i($u)}function Pu(){switch(j()){case 27:return r1();case 19:return Fh(!1);case 115:return cE(M(),te(),void 0);case 121:if(jd())return cE(M(),te(),void 0);break;case 135:if(a1())return cE(M(),te(),void 0);break;case 160:if(o1())return cE(M(),te(),void 0);break;case 100:return G0(M(),te(),void 0);case 86:return BT(M(),te(),void 0);case 101:return aE();case 92:return QR();case 117:return F0();case 99:return PT();case 88:return fp(251);case 83:return fp(252);case 107:return MT();case 118:return yl();case 109:return sE();case 111:return of();case 113:case 85:case 98:return ky();case 89:return Lc();case 60:return xv();case 134:case 120:case 156:case 144:case 145:case 138:case 87:case 94:case 95:case 102:case 123:case 124:case 125:case 128:case 129:case 126:case 148:case 162:if(lE())return xv();break}return i1()}function s1(J){return J.kind===138}function xv(){let J=M(),ye=te(),Fe=eh(!0);if(ct(Fe,s1)){let vt=wT(J);if(vt)return vt;for(let Lt of Fe)Lt.flags|=33554432;return Ea(33554432,()=>eD(J,ye,Fe))}else return eD(J,ye,Fe)}function wT(J){return Ea(33554432,()=>{let ye=Kl(jt,J);if(ye)return Bs(ye)})}function eD(J,ye,Fe){switch(j()){case 115:case 121:case 87:case 160:case 135:return cE(J,ye,Fe);case 100:return G0(J,ye,Fe);case 86:return BT(J,ye,Fe);case 120:return rt(J,ye,Fe);case 156:return Ht(J,ye,Fe);case 94:return vi(J,ye,Fe);case 162:case 144:case 145:return Rd(J,ye,Fe);case 102:return Pn(J,ye,Fe);case 95:switch(Ie(),j()){case 90:case 64:return rh(J,ye,Fe);case 130:return th(J,ye,Fe);default:return RP(J,ye,Fe)}default:if(Fe){let mt=ys(282,!0,f.Declaration_expected);return qC(mt,J),mt.modifiers=Fe,mt}return}}function tD(){return Ie()===11}function WT(){return Ie(),j()===161||j()===64}function nD(){return Ie(),!t.hasPrecedingLineBreak()&&(lo()||j()===11)}function wy(J,ye){if(j()!==19){if(J&4){Wn();return}if(Wl()){zs();return}}return Ly(J,ye)}function Qu(){let J=M();if(j()===28)return Ut(m.createOmittedExpression(),J);let ye=Uo(26),Fe=dr(),mt=Rm();return Ut(m.createBindingElement(ye,void 0,Fe,mt),J)}function Z_(){let J=M(),ye=Uo(26),Fe=Mr(),mt=$t(),vt;Fe&&j()!==59?(vt=mt,mt=void 0):(_n(59),vt=dr());let Lt=Rm();return Ut(m.createBindingElement(ye,mt,vt,Lt),J)}function rD(){let J=M();_n(19);let ye=ln(()=>fd(9,Z_));return _n(20),Ut(m.createObjectBindingPattern(ye),J)}function FT(){let J=M();_n(23);let ye=ln(()=>fd(10,Qu));return _n(24),Ut(m.createArrayBindingPattern(ye),J)}function Oa(){return j()===19||j()===23||j()===81||Mr()}function dr(J){return j()===23?FT():j()===19?rD():Ju(J)}function Fp(){return nu(!0)}function nu(J){let ye=M(),Fe=te(),mt=dr(f.Private_identifiers_are_not_allowed_in_variable_declarations),vt;J&&mt.kind===80&&j()===54&&!t.hasPrecedingLineBreak()&&(vt=Us());let Lt=Ev(),Sr=yg(j())?void 0:Rm(),bi=Ae(mt,vt,Lt,Sr);return cr(Ut(bi,ye),Fe)}function B0(J){let ye=M(),Fe=0;switch(j()){case 115:break;case 121:Fe|=1;break;case 87:Fe|=2;break;case 160:Fe|=4;break;case 135:x.assert(a1()),Fe|=6,Ie();break;default:x.fail()}Ie();let mt;if(j()===165&&_i(iD))mt=Ku();else{let vt=ze();qr(J),mt=fd(8,J?nu:Fp),qr(vt)}return Ut(Oe(mt,Fe),ye)}function iD(){return Du()&&Ie()===22}function cE(J,ye,Fe){let mt=B0(!1);zs();let vt=ee(Fe,mt);return cr(Ut(vt,J),ye)}function G0(J,ye,Fe){let mt=on(),vt=Qm(Fe);_n(100);let Lt=Uo(42),Sr=vt&2048?am():Ju(),bi=Lt?1:0,fi=vt&1024?2:0,Zr=Op();vt&32&&so(!0);let Mi=tn(bi|fi),Ua=Pt(59,!1),os=wy(bi|fi,f.or_expected);so(mt);let Ma=m.createFunctionDeclaration(Fe,Lt,Sr,Zr,Mi,Ua,os);return cr(Ut(Ma,J),ye)}function zT(){if(j()===137)return _n(137);if(j()===11&&_i(Ie)===21)return ui(()=>{let J=Or();return J.text===\"constructor\"?J:void 0})}function zh(J,ye,Fe){return ui(()=>{if(zT()){let mt=Op(),vt=tn(0),Lt=Pt(59,!1),Sr=wy(0,f.or_expected),bi=m.createConstructorDeclaration(Fe,vt,Sr);return bi.typeParameters=mt,bi.type=Lt,cr(Ut(bi,J),ye)}})}function Nm(J,ye,Fe,mt,vt,Lt,Sr,bi){let fi=mt?1:0,Zr=ct(Fe,aN)?2:0,Mi=Op(),Ua=tn(fi|Zr),os=Pt(59,!1),Ma=wy(fi|Zr,bi),lf=m.createMethodDeclaration(Fe,mt,vt,Lt,Mi,Ua,os,Ma);return lf.exclamationToken=Sr,cr(Ut(lf,J),ye)}function zp(J,ye,Fe,mt,vt){let Lt=!vt&&!t.hasPrecedingLineBreak()?Uo(54):void 0,Sr=Ev(),bi=Jo(90112,Rm);vs(mt,Sr,bi);let fi=m.createPropertyDeclaration(Fe,mt,vt||Lt,Sr,bi);return cr(Ut(fi,J),ye)}function sm(J,ye,Fe){let mt=Uo(42),vt=$t(),Lt=Uo(58);return mt||j()===21||j()===30?Nm(J,ye,Fe,mt,vt,Lt,void 0,f.or_expected):zp(J,ye,Fe,vt,Lt)}function Ag(J,ye,Fe,mt,vt){let Lt=$t(),Sr=Op(),bi=tn(0),fi=Pt(59,!1),Zr=wy(vt),Mi=mt===177?m.createGetAccessorDeclaration(Fe,Lt,bi,fi,Zr):m.createSetAccessorDeclaration(Fe,Lt,bi,Zr);return Mi.typeParameters=Sr,Vu(Mi)&&(Mi.type=fi),cr(Ut(Mi,J),ye)}function Bh(){let J;if(j()===60)return!0;for(;Yg(j());){if(J=j(),XG(J))return!0;Ie()}if(j()===42||(X()&&(J=j(),Ie()),j()===23))return!0;if(J!==void 0){if(!du(J)||J===153||J===139)return!0;switch(j()){case 21:case 30:case 54:case 59:case 64:case 58:return!0;default:return Wl()}}return!1}function Gh(J,ye,Fe){ts(126);let mt=l1(),vt=cr(Ut(m.createClassStaticBlockDeclaration(mt),J),ye);return vt.modifiers=Fe,vt}function l1(){let J=_t(),ye=on();ni(!1),so(!0);let Fe=Fh(!1);return ni(J),so(ye),Fe}function Fl(){if(on()&&j()===135){let J=M(),ye=ls(f.Expression_expected);Ie();let Fe=Mc(J,ye,!0);return Iv(J,Fe)}return Lf()}function oD(){let J=M();if(!$i(60))return;let ye=yt(Fl);return Ut(m.createDecorator(ye),J)}function af(J,ye,Fe){let mt=M(),vt=j();if(j()===87&&ye){if(!ui(pi))return}else{if(Fe&&j()===126&&_i(Fy))return;if(J&&j()===126)return;if(!bc())return}return Ut(L(vt),mt)}function eh(J,ye,Fe){let mt=M(),vt,Lt,Sr,bi=!1,fi=!1,Zr=!1;if(J&&j()===60)for(;Lt=oD();)vt=pn(vt,Lt);for(;Sr=af(bi,ye,Fe);)Sr.kind===126&&(bi=!0),vt=pn(vt,Sr),fi=!0;if(fi&&J&&j()===60)for(;Lt=oD();)vt=pn(vt,Lt),Zr=!0;if(Zr)for(;Sr=af(bi,ye,Fe);)Sr.kind===126&&(bi=!0),vt=pn(vt,Sr);return vt&&ho(vt,mt)}function Bp(){let J;if(j()===134){let ye=M();Ie();let Fe=Ut(L(134),ye);J=ho([Fe],ye)}return J}function V0(){let J=M(),ye=te();if(j()===27)return Ie(),cr(Ut(m.createSemicolonClassElement(),J),ye);let Fe=eh(!0,!0,!0);if(j()===126&&_i(Fy))return Gh(J,ye,Fe);if(Ir(139))return Ag(J,ye,Fe,177,0);if(Ir(153))return Ag(J,ye,Fe,178,0);if(j()===137||j()===11){let mt=zh(J,ye,Fe);if(mt)return mt}if(Kn())return Qn(J,ye,Fe);if(Md(j())||j()===11||j()===9||j()===42||j()===23)if(ct(Fe,s1)){for(let vt of Fe)vt.flags|=33554432;return Ea(33554432,()=>sm(J,ye,Fe))}else return sm(J,ye,Fe);if(Fe){let mt=ys(80,!0,f.Declaration_expected);return zp(J,ye,Fe,mt,void 0)}return x.fail(\"Should not have attempted to parse class member declaration.\")}function dE(){let J=M(),ye=te(),Fe=eh(!0);if(j()===86)return Gp(J,ye,Fe,231);let mt=ys(282,!0,f.Expression_expected);return qC(mt,J),mt.modifiers=Fe,mt}function c1(){return Gp(M(),te(),void 0,231)}function BT(J,ye,Fe){return Gp(J,ye,Fe,263)}function Gp(J,ye,Fe,mt){let vt=on();_n(86);let Lt=cs(),Sr=Op();ct(Fe,nI)&&so(!0);let bi=U0(),fi;_n(19)?(fi=ne(),_n(20)):fi=Ku(),so(vt);let Zr=mt===263?m.createClassDeclaration(Fe,Lt,Sr,bi,fi):m.createClassExpression(Fe,Lt,Sr,bi,fi);return cr(Ut(Zr,J),ye)}function cs(){return Mr()&&!j0()?Bc(Mr()):void 0}function j0(){return j()===119&&_i(pc)}function U0(){if(I())return Oo(22,Ig)}function Ig(){let J=M(),ye=j();x.assert(ye===96||ye===119),Ie();let Fe=fd(7,Wy);return Ut(m.createHeritageClause(ye,Fe),J)}function Wy(){let J=M(),ye=Lf();if(ye.kind===233)return ye;let Fe=uE();return Ut(m.createExpressionWithTypeArguments(ye,Fe),J)}function uE(){return j()===30?mu(20,Xl,30,32):void 0}function I(){return j()===96||j()===119}function ne(){return Oo(5,V0)}function rt(J,ye,Fe){_n(120);let mt=ls(),vt=Op(),Lt=U0(),Sr=Qb(),bi=m.createInterfaceDeclaration(Fe,mt,vt,Lt,Sr);return cr(Ut(bi,J),ye)}function Ht(J,ye,Fe){_n(156),t.hasPrecedingLineBreak()&&Qt(f.Line_break_not_permitted_here);let mt=ls(),vt=Op();_n(64);let Lt=j()===141&&ui(vT)||Xl();zs();let Sr=m.createTypeAliasDeclaration(Fe,mt,vt,Lt);return cr(Ut(Sr,J),ye)}function yr(){let J=M(),ye=te(),Fe=$t(),mt=ln(Rm);return cr(Ut(m.createEnumMember(Fe,mt),J),ye)}function vi(J,ye,Fe){_n(94);let mt=ls(),vt;_n(19)?(vt=z(()=>fd(6,yr)),_n(20)):vt=Ku();let Lt=m.createEnumDeclaration(Fe,mt,vt);return cr(Ut(Lt,J),ye)}function ri(){let J=M(),ye;return _n(19)?(ye=Oo(1,Pu),_n(20)):ye=Ku(),Ut(m.createModuleBlock(ye),J)}function wi(J,ye,Fe,mt){let vt=mt&32,Lt=mt&8?tc():ls(),Sr=$i(25)?wi(M(),!1,void 0,8|vt):ri(),bi=m.createModuleDeclaration(Fe,Lt,Sr,mt);return cr(Ut(bi,J),ye)}function $o(J,ye,Fe){let mt=0,vt;j()===162?(vt=ls(),mt|=2048):(vt=Or(),vt.text=Pc(vt.text));let Lt;j()===19?Lt=ri():zs();let Sr=m.createModuleDeclaration(Fe,vt,Lt,mt);return cr(Ut(Sr,J),ye)}function Rd(J,ye,Fe){let mt=0;if(j()===162)return $o(J,ye,Fe);if($i(145))mt|=32;else if(_n(144),j()===11)return $o(J,ye,Fe);return wi(J,ye,Fe,mt)}function ru(){return j()===149&&_i(sf)}function sf(){return Ie()===21}function Fy(){return Ie()===19}function ai(){return Ie()===44}function th(J,ye,Fe){_n(130),_n(145);let mt=ls();zs();let vt=m.createNamespaceExportDeclaration(mt);return vt.modifiers=Fe,cr(Ut(vt,J),ye)}function Pn(J,ye,Fe){_n(102);let mt=t.getTokenFullStart(),vt;lo()&&(vt=ls());let Lt=!1;if(vt?.escapedText===\"type\"&&(j()!==161||lo()&&_i(WT))&&(lo()||By())&&(Lt=!0,vt=lo()?ls():void 0),vt&&!GT())return H0(J,ye,Fe,vt,Lt);let Sr;(vt||j()===42||j()===19)&&(Sr=h_(vt,mt,Lt),_n(161));let bi=VT(),fi=j(),Zr;(fi===118||fi===132)&&!t.hasPrecedingLineBreak()&&(Zr=zy(fi)),zs();let Mi=m.createImportDeclaration(Fe,Sr,bi,Zr);return cr(Ut(Mi,J),ye)}function d1(){let J=M(),ye=Md(j())?tc():pl(11);_n(59);let Fe=jc(!0);return Ut(m.createImportAttribute(ye,Fe),J)}function zy(J,ye){let Fe=M();ye||_n(J);let mt=t.getTokenStart();if(_n(19)){let vt=t.hasPrecedingLineBreak(),Lt=fd(24,d1,!0);if(!_n(20)){let Sr=Ns(Le);Sr&&Sr.code===f._0_expected.code&&fa(Sr,Ix(_e,Te,mt,1,f.The_parser_expected_to_find_a_1_to_match_the_0_token_here,\"{\",\"}\"))}return Ut(m.createImportAttributes(Lt,vt,J),Fe)}else{let vt=ho([],M(),void 0,!1);return Ut(m.createImportAttributes(vt,!1,J),Fe)}}function By(){return j()===42||j()===19}function GT(){return j()===28||j()===161}function H0(J,ye,Fe,mt,vt){_n(64);let Lt=nh();zs();let Sr=m.createImportEqualsDeclaration(Fe,vt,mt,Lt);return cr(Ut(Sr,J),ye)}function h_(J,ye,Fe){let mt;return(!J||$i(28))&&(mt=j()===42?S7():Gy(275)),Ut(m.createImportClause(Fe,J,mt),ye)}function nh(){return ru()?aD():Y(!1)}function aD(){let J=M();_n(149),_n(21);let ye=VT();return _n(22),Ut(m.createExternalModuleReference(ye),J)}function VT(){if(j()===11){let J=Or();return J.text=Pc(J.text),J}else return we()}function S7(){let J=M();_n(42),_n(130);let ye=ls();return Ut(m.createNamespaceImport(ye),J)}function Gy(J){let ye=M(),Fe=J===275?m.createNamedImports(mu(23,ZO,19,20)):m.createNamedExports(mu(23,QO,19,20));return Ut(Fe,ye)}function QO(){let J=te();return cr(pE(281),J)}function ZO(){return pE(276)}function pE(J){let ye=M(),Fe=du(j())&&!lo(),mt=t.getTokenStart(),vt=t.getTokenEnd(),Lt=!1,Sr,bi=!0,fi=tc();if(fi.escapedText===\"type\")if(j()===130){let Ua=tc();if(j()===130){let os=tc();Md(j())?(Lt=!0,Sr=Ua,fi=Mi(),bi=!1):(Sr=fi,fi=os,bi=!1)}else Md(j())?(Sr=fi,bi=!1,fi=Mi()):(Lt=!0,fi=Ua)}else Md(j())&&(Lt=!0,fi=Mi());bi&&j()===130&&(Sr=fi,_n(130),fi=Mi()),J===276&&Fe&&V(mt,vt,f.Identifier_expected);let Zr=J===276?m.createImportSpecifier(Lt,Sr,fi):m.createExportSpecifier(Lt,Sr,fi);return Ut(Zr,ye);function Mi(){return Fe=du(j())&&!lo(),mt=t.getTokenStart(),vt=t.getTokenEnd(),tc()}}function Pm(J){return Ut(m.createNamespaceExport(tc()),J)}function RP(J,ye,Fe){let mt=on();so(!0);let vt,Lt,Sr,bi=$i(156),fi=M();$i(42)?($i(130)&&(vt=Pm(fi)),_n(161),Lt=VT()):(vt=Gy(279),(j()===161||j()===11&&!t.hasPrecedingLineBreak())&&(_n(161),Lt=VT()));let Zr=j();Lt&&(Zr===118||Zr===132)&&!t.hasPrecedingLineBreak()&&(Sr=zy(Zr)),zs(),so(mt);let Mi=m.createExportDeclaration(Fe,bi,vt,Lt,Sr);return cr(Ut(Mi,J),ye)}function rh(J,ye,Fe){let mt=on();so(!0);let vt;$i(64)?vt=!0:_n(90);let Lt=jc(!0);zs(),so(mt);let Sr=m.createExportAssignment(Fe,vt,Lt);return cr(Ut(Sr,J),ye)}let u1;(J=>{J[J.SourceElements=0]=\"SourceElements\",J[J.BlockStatements=1]=\"BlockStatements\",J[J.SwitchClauses=2]=\"SwitchClauses\",J[J.SwitchClauseStatements=3]=\"SwitchClauseStatements\",J[J.TypeMembers=4]=\"TypeMembers\",J[J.ClassMembers=5]=\"ClassMembers\",J[J.EnumMembers=6]=\"EnumMembers\",J[J.HeritageClauseElement=7]=\"HeritageClauseElement\",J[J.VariableDeclarations=8]=\"VariableDeclarations\",J[J.ObjectBindingElements=9]=\"ObjectBindingElements\",J[J.ArrayBindingElements=10]=\"ArrayBindingElements\",J[J.ArgumentExpressions=11]=\"ArgumentExpressions\",J[J.ObjectLiteralMembers=12]=\"ObjectLiteralMembers\",J[J.JsxAttributes=13]=\"JsxAttributes\",J[J.JsxChildren=14]=\"JsxChildren\",J[J.ArrayLiteralMembers=15]=\"ArrayLiteralMembers\",J[J.Parameters=16]=\"Parameters\",J[J.JSDocParameters=17]=\"JSDocParameters\",J[J.RestProperties=18]=\"RestProperties\",J[J.TypeParameters=19]=\"TypeParameters\",J[J.TypeArguments=20]=\"TypeArguments\",J[J.TupleElementTypes=21]=\"TupleElementTypes\",J[J.HeritageClauses=22]=\"HeritageClauses\",J[J.ImportOrExportSpecifiers=23]=\"ImportOrExportSpecifiers\",J[J.ImportAttributes=24]=\"ImportAttributes\",J[J.JSDocComment=25]=\"JSDocComment\",J[J.Count=26]=\"Count\"})(u1||(u1={}));let ew;(J=>{J[J.False=0]=\"False\",J[J.True=1]=\"True\",J[J.Unknown=2]=\"Unknown\"})(ew||(ew={}));let g_;(J=>{function ye(Zr,Mi,Ua){gi(\"file.js\",Zr,99,void 0,1,0),t.setText(Zr,Mi,Ua),st=t.scan();let os=Fe(),Ma=Rt(\"file.js\",99,1,!1,[],L(1),0,Ca),lf=UA(Le,Ma);return Ke&&(Ma.jsDocDiagnostics=UA(Ke,Ma)),io(),os?{jsDocTypeExpression:os,diagnostics:lf}:void 0}J.parseJSDocTypeExpressionForTests=ye;function Fe(Zr){let Mi=M(),Ua=(Zr?$i:_n)(19),os=Ea(16777216,nm);(!Zr||Ua)&&Js(20);let Ma=m.createJSDocTypeExpression(os);return Ue(Ma),Ut(Ma,Mi)}J.parseJSDocTypeExpression=Fe;function mt(){let Zr=M(),Mi=$i(19),Ua=M(),os=Y(!1);for(;j()===81;)ti(),gt(),os=Ut(m.createJSDocMemberName(os,ls()),Ua);Mi&&Js(20);let Ma=m.createJSDocNameReference(os);return Ue(Ma),Ut(Ma,Zr)}J.parseJSDocNameReference=mt;function vt(Zr,Mi,Ua){gi(\"\",Zr,99,void 0,1,0);let os=Ea(16777216,()=>fi(Mi,Ua)),lf=UA(Le,{languageVariant:0,text:Zr});return io(),os?{jsDoc:os,diagnostics:lf}:void 0}J.parseIsolatedJSDocComment=vt;function Lt(Zr,Mi,Ua){let os=st,Ma=Le.length,lf=zt,v_=Ea(16777216,()=>fi(Mi,Ua));return Aa(v_,Zr),On&524288&&(Ke||(Ke=[]),Pr(Ke,Le,Ma)),st=os,Le.length=Ma,zt=lf,v_}J.parseJSDocComment=Lt;let Sr;(Zr=>{Zr[Zr.BeginningOfLine=0]=\"BeginningOfLine\",Zr[Zr.SawAsterisk=1]=\"SawAsterisk\",Zr[Zr.SavingComments=2]=\"SavingComments\",Zr[Zr.SavingBackticks=3]=\"SavingBackticks\"})(Sr||(Sr={}));let bi;(Zr=>{Zr[Zr.Property=1]=\"Property\",Zr[Zr.Parameter=2]=\"Parameter\",Zr[Zr.CallbackParameter=4]=\"CallbackParameter\"})(bi||(bi={}));function fi(Zr=0,Mi){let Ua=Te,os=Mi===void 0?Ua.length:Zr+Mi;if(Mi=os-Zr,x.assert(Zr>=0),x.assert(Zr<=os),x.assert(os<=Ua.length),!Jj(Ua,Zr))return;let Ma,lf,v_,Vh,xg,Rg=[],Vy=[],Mu=jt;jt|=1<<25;let jT=t.scanRange(Zr+3,Mi-5,sD);return jt=Mu,jT;function sD(){let hn=1,Tr,gr=Zr-(Ua.lastIndexOf(`\n`,Zr)+1)+4;function Ei(ns){Tr||(Tr=gr),Rg.push(ns),gr+=ns.length}for(gt();Rv(5););Rv(4)&&(hn=0,gr=0);e:for(;;){switch(j()){case 60:CP(Rg),xg||(xg=M()),PP(lD(gr)),hn=0,Tr=void 0;break;case 4:Rg.push(t.getTokenText()),hn=0,gr=0;break;case 42:let ns=t.getTokenText();hn===1?(hn=2,Ei(ns)):(x.assert(hn===0),hn=1,gr+=ns.length);break;case 5:x.assert(hn!==2,\"whitespace shouldn't come from the scanner while saving top-level comment text\");let Dd=t.getTokenText();Tr!==void 0&&gr+Dd.length>Tr&&Rg.push(Dd.slice(Tr-gr)),gr+=Dd.length;break;case 1:break e;case 82:hn=2,Ei(t.getTokenValue());break;case 19:hn=2;let ih=t.getTokenFullStart(),Zu=t.getTokenEnd()-1,Lm=zl(Zu);if(Lm){Vh||DP(Rg),Vy.push(Ut(m.createJSDocText(Rg.join(\"\")),Vh??Zr,ih)),Vy.push(Lm),Rg=[],Vh=t.getTokenEnd();break}default:hn=2,Ei(t.getTokenText());break}hn===2?bt(!1):gt()}let hi=Rg.join(\"\").trimEnd();Vy.length&&hi.length&&Vy.push(Ut(m.createJSDocText(hi),Vh??Zr,xg)),Vy.length&&Ma&&x.assertIsDefined(xg,\"having parsed tags implies that the end of the comment span should be set\");let wa=Ma&&ho(Ma,lf,v_);return Ut(m.createJSDocComment(Vy.length?ho(Vy,Zr,xg):hi.length?hi:void 0,wa),Zr,os)}function DP(hn){for(;hn.length&&(hn[0]===`\n`||hn[0]===\"\\r\");)hn.shift()}function CP(hn){for(;hn.length;){let Tr=hn[hn.length-1].trimEnd();if(Tr===\"\")hn.pop();else if(Tr.length<hn[hn.length-1].length){hn[hn.length-1]=Tr;break}else break}}function fE(){for(;;){if(gt(),j()===1)return!0;if(!(j()===5||j()===4))return!1}}function Dg(){if(!((j()===5||j()===4)&&_i(fE)))for(;j()===5||j()===4;)gt()}function jy(){if((j()===5||j()===4)&&_i(fE))return\"\";let hn=t.hasPrecedingLineBreak(),Tr=!1,gr=\"\";for(;hn&&j()===42||j()===5||j()===4;)gr+=t.getTokenText(),j()===4?(hn=!0,Tr=!0,gr=\"\"):j()===42&&(hn=!1),gt();return Tr?gr:\"\"}function lD(hn){x.assert(j()===60);let Tr=t.getTokenStart();gt();let gr=gE(void 0),Ei=jy(),hi;switch(gr.escapedText){case\"author\":hi=Ss(Tr,gr,hn,Ei);break;case\"implements\":hi=Hy(Tr,gr,hn,Ei);break;case\"augments\":case\"extends\":hi=lm(Tr,gr,hn,Ei);break;case\"class\":case\"constructor\":hi=hE(Tr,m.createJSDocClassTag,gr,hn,Ei);break;case\"public\":hi=hE(Tr,m.createJSDocPublicTag,gr,hn,Ei);break;case\"private\":hi=hE(Tr,m.createJSDocPrivateTag,gr,hn,Ei);break;case\"protected\":hi=hE(Tr,m.createJSDocProtectedTag,gr,hn,Ei);break;case\"readonly\":hi=hE(Tr,m.createJSDocReadonlyTag,gr,hn,Ei);break;case\"override\":hi=hE(Tr,m.createJSDocOverrideTag,gr,hn,Ei);break;case\"deprecated\":Nr=!0,hi=hE(Tr,m.createJSDocDeprecatedTag,gr,hn,Ei);break;case\"this\":hi=T7(Tr,gr,hn,Ei);break;case\"enum\":hi=D$(Tr,gr,hn,Ei);break;case\"arg\":case\"argument\":case\"param\":return w(Tr,gr,2,hn);case\"return\":case\"returns\":hi=Be(Tr,gr,hn,Ei);break;case\"template\":hi=Jy(Tr,gr,hn,Ei);break;case\"type\":hi=kt(Tr,gr,hn,Ei);break;case\"typedef\":hi=MP(Tr,gr,hn,Ei);break;case\"callback\":hi=Ame(Tr,gr,hn,Ei);break;case\"overload\":hi=Ime(Tr,gr,hn,Ei);break;case\"satisfies\":hi=_E(Tr,gr,hn,Ei);break;case\"see\":hi=ir(Tr,gr,hn,Ei);break;case\"exception\":case\"throws\":hi=Wi(Tr,gr,hn,Ei);break;default:hi=Uy(Tr,gr,hn,Ei);break}return hi}function _p(hn,Tr,gr,Ei){return Ei||(gr+=Tr-hn),Sa(gr,Ei.slice(gr))}function Sa(hn,Tr){let gr=M(),Ei=[],hi=[],wa,ns=0,Dd;function ih(Cg){Dd||(Dd=hn),Ei.push(Cg),hn+=Cg.length}Tr!==void 0&&(Tr!==\"\"&&ih(Tr),ns=1);let Zu=j();e:for(;;){switch(Zu){case 4:ns=0,Ei.push(t.getTokenText()),hn=0;break;case 60:t.resetTokenState(t.getTokenEnd()-1);break e;case 1:break e;case 5:x.assert(ns!==2&&ns!==3,\"whitespace shouldn't come from the scanner while saving comment text\");let Cg=t.getTokenText();Dd!==void 0&&hn+Cg.length>Dd&&(Ei.push(Cg.slice(Dd-hn)),ns=2),hn+=Cg.length;break;case 19:ns=2;let ep=t.getTokenFullStart(),uD=t.getTokenEnd()-1,tw=zl(uD);tw?(hi.push(Ut(m.createJSDocText(Ei.join(\"\")),wa??gr,ep)),hi.push(tw),Ei=[],wa=t.getTokenEnd()):ih(t.getTokenText());break;case 62:ns===3?ns=2:ns=3,ih(t.getTokenText());break;case 82:ns!==3&&(ns=2),ih(t.getTokenValue());break;case 42:if(ns===0){ns=1,hn+=1;break}default:ns!==3&&(ns=2),ih(t.getTokenText());break}ns===2||ns===3?Zu=bt(ns===3):Zu=gt()}DP(Ei);let Lm=Ei.join(\"\").trimEnd();if(hi.length)return Lm.length&&hi.push(Ut(m.createJSDocText(Lm),wa??gr)),ho(hi,gr,t.getTokenEnd());if(Lm.length)return Lm}function zl(hn){let Tr=ui(p1);if(!Tr)return;gt(),Dg();let gr=mE(),Ei=[];for(;j()!==20&&j()!==4&&j()!==1;)Ei.push(t.getTokenText()),gt();let hi=Tr===\"link\"?m.createJSDocLink:Tr===\"linkcode\"?m.createJSDocLinkCode:m.createJSDocLinkPlain;return Ut(hi(gr,Ei.join(\"\")),hn,t.getTokenEnd())}function mE(){if(Md(j())){let hn=M(),Tr=tc();for(;$i(25);)Tr=Ut(m.createQualifiedName(Tr,j()===81?ys(80,!1):ls()),hn);for(;j()===81;)ti(),gt(),Tr=Ut(m.createJSDocMemberName(Tr,ls()),hn);return Tr}}function p1(){if(jy(),j()===19&&gt()===60&&Md(gt())){let hn=t.getTokenValue();if(NP(hn))return hn}}function NP(hn){return hn===\"link\"||hn===\"linkcode\"||hn===\"linkplain\"}function Uy(hn,Tr,gr,Ei){return Ut(m.createJSDocUnknownTag(Tr,_p(hn,M(),gr,Ei)),hn)}function PP(hn){hn&&(Ma?Ma.push(hn):(Ma=[hn],lf=hn.pos),v_=hn.end)}function Un(){return jy(),j()===19?Fe():void 0}function y(){let hn=Rv(23);hn&&Dg();let Tr=Rv(62),gr=dD();return Tr&&ua(62),hn&&(Dg(),Uo(64)&&we(),_n(24)),{name:gr,isBracketed:hn}}function D(hn){switch(hn.kind){case 151:return!0;case 188:return D(hn.elementType);default:return Yp(hn)&&Me(hn.typeName)&&hn.typeName.escapedText===\"Object\"&&!hn.typeArguments}}function w(hn,Tr,gr,Ei){let hi=Un(),wa=!hi;jy();let{name:ns,isBracketed:Dd}=y(),ih=jy();wa&&!_i(p1)&&(hi=Un());let Zu=_p(hn,M(),Ei,ih),Lm=ie(hi,ns,gr,Ei);Lm&&(hi=Lm,wa=!0);let Cg=gr===1?m.createJSDocPropertyTag(Tr,ns,Dd,hi,wa,Zu):m.createJSDocParameterTag(Tr,ns,Dd,hi,wa,Zu);return Ut(Cg,hn)}function ie(hn,Tr,gr,Ei){if(hn&&D(hn.type)){let hi=M(),wa,ns;for(;wa=ui(()=>I7(gr,Ei,Tr));)wa.kind===348||wa.kind===355?ns=pn(ns,wa):wa.kind===352&&Re(wa.tagName,f.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);if(ns){let Dd=Ut(m.createJSDocTypeLiteral(ns,hn.type.kind===188),hi);return Ut(m.createJSDocTypeExpression(Dd),hi)}}}function Be(hn,Tr,gr,Ei){ct(Ma,T6)&&V(Tr.pos,t.getTokenStart(),f._0_tag_already_specified,Ii(Tr.escapedText));let hi=Un();return Ut(m.createJSDocReturnTag(Tr,hi,_p(hn,M(),gr,Ei)),hn)}function kt(hn,Tr,gr,Ei){ct(Ma,gN)&&V(Tr.pos,t.getTokenStart(),f._0_tag_already_specified,Ii(Tr.escapedText));let hi=Fe(!0),wa=gr!==void 0&&Ei!==void 0?_p(hn,M(),gr,Ei):void 0;return Ut(m.createJSDocTypeTag(Tr,hi,wa),hn)}function ir(hn,Tr,gr,Ei){let wa=j()===23||_i(()=>gt()===60&&Md(gt())&&NP(t.getTokenValue()))?void 0:mt(),ns=gr!==void 0&&Ei!==void 0?_p(hn,M(),gr,Ei):void 0;return Ut(m.createJSDocSeeTag(Tr,wa,ns),hn)}function Wi(hn,Tr,gr,Ei){let hi=Un(),wa=_p(hn,M(),gr,Ei);return Ut(m.createJSDocThrowsTag(Tr,hi,wa),hn)}function Ss(hn,Tr,gr,Ei){let hi=M(),wa=Mm(),ns=t.getTokenFullStart(),Dd=_p(hn,ns,gr,Ei);Dd||(ns=t.getTokenFullStart());let ih=typeof Dd!=\"string\"?ho(ro([Ut(wa,hi,ns)],Dd),hi):wa.text+Dd;return Ut(m.createJSDocAuthorTag(Tr,ih),hn)}function Mm(){let hn=[],Tr=!1,gr=t.getToken();for(;gr!==1&&gr!==4;){if(gr===30)Tr=!0;else{if(gr===60&&!Tr)break;if(gr===32&&Tr){hn.push(t.getTokenText()),t.resetTokenState(t.getTokenEnd());break}}hn.push(t.getTokenText()),gr=gt()}return m.createJSDocText(hn.join(\"\"))}function Hy(hn,Tr,gr,Ei){let hi=R$();return Ut(m.createJSDocImplementsTag(Tr,hi,_p(hn,M(),gr,Ei)),hn)}function lm(hn,Tr,gr,Ei){let hi=R$();return Ut(m.createJSDocAugmentsTag(Tr,hi,_p(hn,M(),gr,Ei)),hn)}function _E(hn,Tr,gr,Ei){let hi=Fe(!1),wa=gr!==void 0&&Ei!==void 0?_p(hn,M(),gr,Ei):void 0;return Ut(m.createJSDocSatisfiesTag(Tr,hi,wa),hn)}function R$(){let hn=$i(19),Tr=M(),gr=Tme();t.setInJSDocType(!0);let Ei=uE();t.setInJSDocType(!1);let hi=m.createExpressionWithTypeArguments(gr,Ei),wa=Ut(hi,Tr);return hn&&_n(20),wa}function Tme(){let hn=M(),Tr=gE();for(;$i(25);){let gr=gE();Tr=Ut(K(Tr,gr),hn)}return Tr}function hE(hn,Tr,gr,Ei,hi){return Ut(Tr(gr,_p(hn,M(),Ei,hi)),hn)}function T7(hn,Tr,gr,Ei){let hi=Fe(!0);return Dg(),Ut(m.createJSDocThisTag(Tr,hi,_p(hn,M(),gr,Ei)),hn)}function D$(hn,Tr,gr,Ei){let hi=Fe(!0);return Dg(),Ut(m.createJSDocEnumTag(Tr,hi,_p(hn,M(),gr,Ei)),hn)}function MP(hn,Tr,gr,Ei){let hi=Un();jy();let wa=A7();Dg();let ns=Sa(gr),Dd;if(!hi||D(hi.type)){let Zu,Lm,Cg,ep=!1;for(;(Zu=ui(()=>P$(gr)))&&Zu.kind!==352;)if(ep=!0,Zu.kind===351)if(Lm){let uD=Qt(f.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);uD&&fa(uD,Ix(_e,Te,0,0,f.The_tag_was_first_specified_here));break}else Lm=Zu;else Cg=pn(Cg,Zu);if(ep){let uD=hi&&hi.type.kind===188,tw=m.createJSDocTypeLiteral(Cg,uD);hi=Lm&&Lm.typeExpression&&!D(Lm.typeExpression.type)?Lm.typeExpression:Ut(tw,hn),Dd=hi.end}}Dd=Dd||ns!==void 0?M():(wa??hi??Tr).end,ns||(ns=_p(hn,Dd,gr,Ei));let ih=m.createJSDocTypedefTag(Tr,hi,wa,ns);return Ut(ih,hn,Dd)}function A7(hn){let Tr=t.getTokenStart();if(!Md(j()))return;let gr=gE();if($i(25)){let Ei=A7(!0),hi=m.createModuleDeclaration(void 0,gr,Ei,hn?8:void 0);return Ut(hi,Tr)}return hn&&(gr.flags|=4096),gr}function C$(hn){let Tr=M(),gr,Ei;for(;gr=ui(()=>I7(4,hn));){if(gr.kind===352){Re(gr.tagName,f.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);break}Ei=pn(Ei,gr)}return ho(Ei||[],Tr)}function N$(hn,Tr){let gr=C$(Tr),Ei=ui(()=>{if(Rv(60)){let hi=lD(Tr);if(hi&&hi.kind===349)return hi}});return Ut(m.createJSDocSignature(void 0,gr,Ei),hn)}function Ame(hn,Tr,gr,Ei){let hi=A7();Dg();let wa=Sa(gr),ns=N$(hn,gr);wa||(wa=_p(hn,M(),gr,Ei));let Dd=wa!==void 0?M():ns.end;return Ut(m.createJSDocCallbackTag(Tr,ns,hi,wa),hn,Dd)}function Ime(hn,Tr,gr,Ei){Dg();let hi=Sa(gr),wa=N$(hn,gr);hi||(hi=_p(hn,M(),gr,Ei));let ns=hi!==void 0?M():wa.end;return Ut(m.createJSDocOverloadTag(Tr,wa,hi),hn,ns)}function cD(hn,Tr){for(;!Me(hn)||!Me(Tr);)if(!Me(hn)&&!Me(Tr)&&hn.right.escapedText===Tr.right.escapedText)hn=hn.left,Tr=Tr.left;else return!1;return hn.escapedText===Tr.escapedText}function P$(hn){return I7(1,hn)}function I7(hn,Tr,gr){let Ei=!0,hi=!1;for(;;)switch(gt()){case 60:if(Ei){let wa=q0(hn,Tr);return wa&&(wa.kind===348||wa.kind===355)&&gr&&(Me(wa.name)||!cD(gr,wa.name.left))?!1:wa}hi=!1;break;case 4:Ei=!0,hi=!1;break;case 42:hi&&(Ei=!1),hi=!0;break;case 80:Ei=!1;break;case 1:return!1}}function q0(hn,Tr){x.assert(j()===60);let gr=t.getTokenFullStart();gt();let Ei=gE(),hi=jy(),wa;switch(Ei.escapedText){case\"type\":return hn===1&&kt(gr,Ei);case\"prop\":case\"property\":wa=1;break;case\"arg\":case\"argument\":case\"param\":wa=6;break;case\"template\":return Jy(gr,Ei,Tr,hi);case\"this\":return T7(gr,Ei,Tr,hi);default:return!1}return hn&wa?w(gr,Ei,hn,Tr):!1}function Yn(){let hn=M(),Tr=Rv(23);Tr&&Dg();let gr=eh(!1,!0),Ei=gE(f.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),hi;if(Tr&&(Dg(),_n(64),hi=Ea(16777216,nm),_n(24)),!_l(Ei))return Ut(m.createTypeParameterDeclaration(gr,Ei,void 0,hi),hn)}function qy(){let hn=M(),Tr=[];do{Dg();let gr=Yn();gr!==void 0&&Tr.push(gr),jy()}while(Rv(28));return ho(Tr,hn)}function Jy(hn,Tr,gr,Ei){let hi=j()===19?Fe():void 0,wa=qy();return Ut(m.createJSDocTemplateTag(Tr,hi,wa,_p(hn,M(),gr,Ei)),hn)}function Rv(hn){return j()===hn?(gt(),!0):!1}function dD(){let hn=gE();for($i(23)&&_n(24);$i(25);){let Tr=gE();$i(23)&&_n(24),hn=Ye(hn,Tr)}return hn}function gE(hn){if(!Md(j()))return ys(80,!hn,hn||f.Identifier_expected);Vt++;let Tr=t.getTokenStart(),gr=t.getTokenEnd(),Ei=j(),hi=Pc(t.getTokenValue()),wa=Ut(C(hi,Ei),Tr,gr);return gt(),wa}}})(g_=e.JSDocParser||(e.JSDocParser={}))})(zb||(zb={})),(e=>{function t(S,A,C,R){if(R=R||x.shouldAssert(2),m(S,A,C,R),Iee(C))return S;if(S.statements.length===0)return zb.parseSourceFile(S.fileName,A,S.languageVersion,void 0,!0,S.scriptKind,S.setExternalModuleIndicator,S.jsDocParsingMode);let L=S;x.assert(!L.hasBeenIncrementallyParsed),L.hasBeenIncrementallyParsed=!0,zb.fixupParentReferences(L);let G=S.text,U=v(S),K=p(S,C);m(S,A,K,R),x.assert(K.span.start<=C.span.start),x.assert(Al(K.span)===Al(C.span)),x.assert(Al(ZD(K))===Al(ZD(C)));let F=ZD(K).length-K.span.length;d(L,K.span.start,Al(K.span),Al(ZD(K)),F,G,A,R);let oe=zb.parseSourceFile(S.fileName,A,S.languageVersion,U,!0,S.scriptKind,S.setExternalModuleIndicator,S.jsDocParsingMode);return oe.commentDirectives=r(S.commentDirectives,oe.commentDirectives,K.span.start,Al(K.span),F,G,A,R),oe.impliedNodeFormat=S.impliedNodeFormat,oe}e.updateSourceFile=t;function r(S,A,C,R,L,G,U,K){if(!S)return A;let F,oe=!1;for(let $ of S){let{range:de,type:fe}=$;if(de.end<C)F=pn(F,$);else if(de.pos>R){W();let q={range:{pos:de.pos+L,end:de.end+L},type:fe};F=pn(F,q),K&&x.assert(G.substring(de.pos,de.end)===U.substring(q.range.pos,q.range.end))}}return W(),F;function W(){oe||(oe=!0,F?A&&F.push(...A):F=A)}}function i(S,A,C,R,L,G){A?K(S):U(S);return;function U(F){let oe=\"\";if(G&&o(F)&&(oe=R.substring(F.pos,F.end)),F._children&&(F._children=void 0),F_(F,F.pos+C,F.end+C),G&&o(F)&&x.assert(oe===L.substring(F.pos,F.end)),Ao(F,U,K),ap(F))for(let W of F.jsDoc)U(W);l(F,G)}function K(F){F._children=void 0,F_(F,F.pos+C,F.end+C);for(let oe of F)U(oe)}}function o(S){switch(S.kind){case 11:case 9:case 80:return!0}return!1}function s(S,A,C,R,L){x.assert(S.end>=A,\"Adjusting an element that was entirely before the change range\"),x.assert(S.pos<=C,\"Adjusting an element that was entirely after the change range\"),x.assert(S.pos<=S.end);let G=Math.min(S.pos,R),U=S.end>=C?S.end+L:Math.min(S.end,R);x.assert(G<=U),S.parent&&(x.assertGreaterThanOrEqual(G,S.parent.pos),x.assertLessThanOrEqual(U,S.parent.end)),F_(S,G,U)}function l(S,A){if(A){let C=S.pos,R=L=>{x.assert(L.pos>=C),C=L.end};if(ap(S))for(let L of S.jsDoc)R(L);Ao(S,R),x.assert(C<=S.end)}}function d(S,A,C,R,L,G,U,K){F(S);return;function F(W){if(x.assert(W.pos<=W.end),W.pos>C){i(W,!1,L,G,U,K);return}let $=W.end;if($>=A){if(W.intersectsChange=!0,W._children=void 0,s(W,A,C,R,L),Ao(W,F,oe),ap(W))for(let de of W.jsDoc)F(de);l(W,K);return}x.assert($<A)}function oe(W){if(x.assert(W.pos<=W.end),W.pos>C){i(W,!0,L,G,U,K);return}let $=W.end;if($>=A){W.intersectsChange=!0,W._children=void 0,s(W,A,C,R,L);for(let de of W)F(de);return}x.assert($<A)}}function p(S,A){let R=A.span.start;for(let U=0;R>0&&U<=1;U++){let K=h(S,R);x.assert(K.pos<=R);let F=K.pos;R=Math.max(0,F-1)}let L=Gl(R,Al(A.span)),G=A.newLength+(A.span.start-R);return FM(L,G)}function h(S,A){let C=S,R;if(Ao(S,G),R){let U=L(R);U.pos>C.pos&&(C=U)}return C;function L(U){for(;;){let K=yV(U);if(K)U=K;else return U}}function G(U){if(!_l(U))if(U.pos<=A){if(U.pos>=C.pos&&(C=U),A<U.end)return Ao(U,G),!0;x.assert(U.end<=A),R=U}else return x.assert(U.pos>A),!0}}function m(S,A,C,R){let L=S.text;if(C&&(x.assert(L.length-C.span.length+C.newLength===A.length),R||x.shouldAssert(3))){let G=L.substr(0,C.span.start),U=A.substr(0,C.span.start);x.assert(G===U);let K=L.substring(Al(C.span),L.length),F=A.substring(Al(ZD(C)),A.length);x.assert(K===F)}}function v(S){let A=S.statements,C=0;x.assert(C<A.length);let R=A[C],L=-1;return{currentNode(U){return U!==L&&(R&&R.end===U&&C<A.length-1&&(C++,R=A[C]),(!R||R.pos!==U)&&G(U)),L=U,x.assert(!R||R.pos===U),R}};function G(U){A=void 0,C=-1,R=void 0,Ao(S,K,F);return;function K(oe){return U>=oe.pos&&U<oe.end?(Ao(oe,K,F),!0):!1}function F(oe){if(U>=oe.pos&&U<oe.end)for(let W=0;W<oe.length;W++){let $=oe[W];if($){if($.pos===U)return A=oe,C=W,R=$,!0;if($.pos<U&&U<$.end)return Ao($,K,F),!0}}return!1}}}e.createSyntaxCursor=v;let E;(S=>{S[S.Value=-1]=\"Value\"})(E||(E={}))})(Zj||(Zj={})),eU=new Map,wEe=/^\\/\\/\\/\\s*<(\\S+)\\s.*?\\/>/im,WEe=/^\\/\\/\\/?\\s*@([^\\s:]+)(.*)\\s*$/im}});function O6(e){let t=new Map,r=new Map;return an(e,i=>{t.set(i.name.toLowerCase(),i),i.shortName&&r.set(i.shortName,i.name)}),{optionsNameMap:t,shortOptionNames:r}}function Xx(){return E0e||(E0e=O6(Nh))}function Mie(e){return FEe(e,bl)}function FEe(e,t){let r=bo(e.type.keys()),i=(e.deprecatedKeys?r.filter(o=>!e.deprecatedKeys.has(o)):r).map(o=>`'${o}'`).join(\", \");return t(f.Argument_for_0_option_must_be_Colon_1,`--${e.name}`,i)}function w6(e,t,r){return h0e(e,(t??\"\").trim(),r)}function Lie(e,t=\"\",r){if(t=t.trim(),Ui(t,\"-\"))return;if(e.type===\"listOrElement\"&&!t.includes(\",\"))return vI(e,t,r);if(t===\"\")return[];let i=t.split(\",\");switch(e.element.type){case\"number\":return Fi(i,o=>vI(e.element,parseInt(o),r));case\"string\":return Fi(i,o=>vI(e.element,o||\"\",r));case\"boolean\":case\"object\":return x.fail(`List of ${e.element.type} is not yet supported.`);default:return Fi(i,o=>w6(e.element,o,r))}}function zEe(e){return e.name}function kie(e,t,r,i,o){var s;if((s=t.alternateMode)!=null&&s.getOptionsNameMap().optionsNameMap.has(e.toLowerCase()))return Bb(o,i,t.alternateMode.diagnostic,e);let l=VD(e,t.optionDeclarations,zEe);return l?Bb(o,i,t.unknownDidYouMeanDiagnostic,r||e,l.name):Bb(o,i,t.unknownOptionDiagnostic,r||e)}function tU(e,t,r){let i={},o,s=[],l=[];return d(t),{options:i,watchOptions:o,fileNames:s,errors:l};function d(h){let m=0;for(;m<h.length;){let v=h[m];if(m++,v.charCodeAt(0)===64)p(v.slice(1));else if(v.charCodeAt(0)===45){let E=v.slice(v.charCodeAt(1)===45?2:1),S=Oie(e.getOptionsNameMap,E,!0);if(S)m=BEe(h,m,e,S,i,l);else{let A=Oie(q6.getOptionsNameMap,E,!0);A?m=BEe(h,m,q6,A,o||(o={}),l):l.push(kie(E,e,v))}}else s.push(v)}}function p(h){let m=SN(h,r||(S=>Hc.readFile(S)));if(!fo(m)){l.push(m);return}let v=[],E=0;for(;;){for(;E<m.length&&m.charCodeAt(E)<=32;)E++;if(E>=m.length)break;let S=E;if(m.charCodeAt(S)===34){for(E++;E<m.length&&m.charCodeAt(E)!==34;)E++;E<m.length?(v.push(m.substring(S+1,E)),E++):l.push(bl(f.Unterminated_quoted_string_in_response_file_0,h))}else{for(;m.charCodeAt(E)>32;)E++;v.push(m.substring(S,E))}}d(v)}}function BEe(e,t,r,i,o,s){if(i.isTSConfigOnly){let l=e[t];l===\"null\"?(o[i.name]=void 0,t++):i.type===\"boolean\"?l===\"false\"?(o[i.name]=vI(i,!1,s),t++):(l===\"true\"&&t++,s.push(bl(f.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,i.name))):(s.push(bl(f.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,i.name)),l&&!Ui(l,\"-\")&&t++)}else if(!e[t]&&i.type!==\"boolean\"&&s.push(bl(r.optionTypeMismatchDiagnostic,i.name,oU(i))),e[t]!==\"null\")switch(i.type){case\"number\":o[i.name]=vI(i,parseInt(e[t]),s),t++;break;case\"boolean\":let l=e[t];o[i.name]=vI(i,l!==\"false\",s),(l===\"false\"||l===\"true\")&&t++;break;case\"string\":o[i.name]=vI(i,e[t]||\"\",s),t++;break;case\"list\":let d=Lie(i,e[t],s);o[i.name]=d||[],d&&t++;break;case\"listOrElement\":x.fail(\"listOrElement not supported here\");break;default:o[i.name]=w6(i,e[t],s),t++;break}else o[i.name]=void 0,t++;return t}function GEe(e,t){return tU(Q2,e,t)}function nU(e,t){return Oie(Xx,e,t)}function Oie(e,t,r=!1){t=t.toLowerCase();let{optionsNameMap:i,shortOptionNames:o}=e();if(r){let s=o.get(t);s!==void 0&&(t=s)}return i.get(t)}function VEe(){return T0e||(T0e=O6(U6))}function jEe(e){let{options:t,watchOptions:r,fileNames:i,errors:o}=tU(I0e,e),s=t;return i.length===0&&i.push(\".\"),s.clean&&s.force&&o.push(bl(f.Options_0_and_1_cannot_be_combined,\"clean\",\"force\")),s.clean&&s.verbose&&o.push(bl(f.Options_0_and_1_cannot_be_combined,\"clean\",\"verbose\")),s.clean&&s.watch&&o.push(bl(f.Options_0_and_1_cannot_be_combined,\"clean\",\"watch\")),s.watch&&s.dry&&o.push(bl(f.Options_0_and_1_cannot_be_combined,\"watch\",\"dry\")),{buildOptions:s,watchOptions:r,projects:i,errors:o}}function UEe(e,...t){return Fo(bl(e,...t).messageText,fo)}function V2(e,t,r,i,o,s){let l=SN(e,h=>r.readFile(h));if(!fo(l)){r.onUnRecoverableConfigFileDiagnostic(l);return}let d=G2(e,l),p=r.getCurrentDirectory();return d.path=ks(e,p,od(r.useCaseSensitiveFileNames)),d.resolvedPath=d.path,d.originalFileName=d.fileName,H2(d,r,Qi(Ur(e),p),t,Qi(e,p),void 0,s,i,o)}function j2(e,t){let r=SN(e,t);return fo(r)?rU(e,r):{config:{},error:r}}function rU(e,t){let r=G2(e,t);return{config:XEe(r,r.parseDiagnostics,void 0),error:r.parseDiagnostics.length?r.parseDiagnostics[0]:void 0}}function wie(e,t){let r=SN(e,t);return fo(r)?G2(e,r):{fileName:e,parseDiagnostics:[r]}}function SN(e,t){let r;try{r=t(e)}catch(i){return bl(f.Cannot_read_file_0_Colon_1,e,i.message)}return r===void 0?bl(f.Cannot_read_file_0,e):r}function iU(e){return PE(e,zEe)}function HEe(){return x0e||(x0e=O6(Yx))}function qEe(){return R0e||(R0e=iU(Nh))}function JEe(){return D0e||(D0e=iU(Yx))}function KEe(){return C0e||(C0e=iU($2))}function R4e(){return $ie===void 0&&($ie={name:void 0,type:\"object\",elementOptions:iU([Kie,Xie,Yie,Z2,{name:\"references\",type:\"list\",element:{name:\"references\",type:\"object\"},category:f.Projects},{name:\"files\",type:\"list\",element:{name:\"files\",type:\"string\"},category:f.File_Management},{name:\"include\",type:\"list\",element:{name:\"include\",type:\"string\"},category:f.File_Management,defaultValueDescription:f.if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk},{name:\"exclude\",type:\"list\",element:{name:\"exclude\",type:\"string\"},category:f.File_Management,defaultValueDescription:f.node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified},J2])}),$ie}function XEe(e,t,r){var i;let o=(i=e.statements[0])==null?void 0:i.expression;if(o&&o.kind!==210){if(t.push(vf(e,o,f.The_root_value_of_a_0_file_must_be_an_object,Ll(e.fileName)===\"jsconfig.json\"?\"jsconfig.json\":\"tsconfig.json\")),Bd(o)){let s=Dr(o.elements,ma);if(s)return U2(e,s,t,!0,r)}return{}}return U2(e,o,t,!0,r)}function Wie(e,t){var r;return U2(e,(r=e.statements[0])==null?void 0:r.expression,t,!0,void 0)}function U2(e,t,r,i,o){if(!t)return i?{}:void 0;return d(t,o?.rootOptions);function s(h,m){var v;let E=i?{}:void 0;for(let S of h.properties){if(S.kind!==303){r.push(vf(e,S,f.Property_assignment_expected));continue}S.questionToken&&r.push(vf(e,S.questionToken,f.The_0_modifier_can_only_be_used_in_TypeScript_files,\"?\")),p(S.name)||r.push(vf(e,S.name,f.String_literal_with_double_quotes_expected));let A=aL(S.name)?void 0:$1(S.name),C=A&&Ii(A),R=C?(v=m?.elementOptions)==null?void 0:v.get(C):void 0,L=d(S.initializer,R);typeof C<\"u\"&&(i&&(E[C]=L),o?.onPropertySet(C,L,S,m,R))}return E}function l(h,m){if(!i){h.forEach(v=>d(v,m));return}return Cr(h.map(v=>d(v,m)),v=>v!==void 0)}function d(h,m){switch(h.kind){case 112:return!0;case 97:return!1;case 106:return null;case 11:return p(h)||r.push(vf(e,h,f.String_literal_with_double_quotes_expected)),h.text;case 9:return Number(h.text);case 224:if(h.operator!==41||h.operand.kind!==9)break;return-Number(h.operand.text);case 210:return s(h,m);case 209:return l(h.elements,m&&m.element)}m?r.push(vf(e,h,f.Compiler_option_0_requires_a_value_of_type_1,m.name,oU(m))):r.push(vf(e,h,f.Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal))}function p(h){return da(h)&&IW(h,e)}}function oU(e){return e.type===\"listOrElement\"?`${oU(e.element)} or Array`:e.type===\"list\"?\"Array\":fo(e.type)?e.type:\"string\"}function YEe(e,t){if(e){if(q2(t))return!e.disallowNullOrUndefined;if(e.type===\"list\")return oo(t);if(e.type===\"listOrElement\")return oo(t)||YEe(e.element,t);let r=fo(e.type)?e.type:\"string\";return typeof t===r}return!1}function $Ee(e,t,r){var i,o,s;let l=od(r.useCaseSensitiveFileNames),d=nn(Cr(e.fileNames,(o=(i=e.options.configFile)==null?void 0:i.configFileSpecs)!=null&&o.validatedIncludeSpecs?C4e(t,e.options.configFile.configFileSpecs.validatedIncludeSpecs,e.options.configFile.configFileSpecs.validatedExcludeSpecs,r):Ug),A=>RM(Qi(t,r.getCurrentDirectory()),Qi(A,r.getCurrentDirectory()),l)),p={configFilePath:Qi(t,r.getCurrentDirectory()),useCaseSensitiveFileNames:r.useCaseSensitiveFileNames},h=F6(e.options,p),m=e.watchOptions&&N4e(e.watchOptions),v={compilerOptions:{...W6(h),showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0},watchOptions:m&&W6(m),references:nn(e.projectReferences,A=>({...A,path:A.originalPath?A.originalPath:\"\",originalPath:void 0})),files:yn(d)?d:void 0,...(s=e.options.configFile)!=null&&s.configFileSpecs?{include:D4e(e.options.configFile.configFileSpecs.validatedIncludeSpecs),exclude:e.options.configFile.configFileSpecs.validatedExcludeSpecs}:{},compileOnSave:e.compileOnSave?!0:void 0},E=new Set(h.keys()),S={};for(let A in Ul)if(!E.has(A)&&ct(Ul[A].dependencies,C=>E.has(C))){let C=Ul[A].computeValue(e.options),R=Ul[A].computeValue({});C!==R&&(S[A]=Ul[A].computeValue(e.options))}return R1(v.compilerOptions,W6(F6(S,p))),v}function W6(e){return{...bo(e.entries()).reduce((t,r)=>({...t,[r[0]]:r[1]}),{})}}function D4e(e){if(yn(e)){if(yn(e)!==1)return e;if(e[0]!==J6)return e}}function C4e(e,t,r,i){if(!t)return Ug;let o=dF(e,r,t,i.useCaseSensitiveFileNames,i.getCurrentDirectory()),s=o.excludePattern&&iy(o.excludePattern,i.useCaseSensitiveFileNames),l=o.includeFilePattern&&iy(o.includeFilePattern,i.useCaseSensitiveFileNames);return l?s?d=>!(l.test(d)&&!s.test(d)):d=>!l.test(d):s?d=>s.test(d):Ug}function QEe(e){switch(e.type){case\"string\":case\"number\":case\"boolean\":case\"object\":return;case\"list\":case\"listOrElement\":return QEe(e.element);default:return e.type}}function aU(e,t){return hc(t,(r,i)=>{if(r===e)return i})}function F6(e,t){return ZEe(e,Xx(),t)}function N4e(e){return ZEe(e,HEe())}function ZEe(e,{optionsNameMap:t},r){let i=new Map,o=r&&od(r.useCaseSensitiveFileNames);for(let s in e)if(rs(e,s)){if(t.has(s)&&(t.get(s).category===f.Command_line_Options||t.get(s).category===f.Output_Formatting))continue;let l=e[s],d=t.get(s.toLowerCase());if(d){x.assert(d.type!==\"listOrElement\");let p=QEe(d);p?d.type===\"list\"?i.set(s,l.map(h=>aU(h,p))):i.set(s,aU(l,p)):r&&d.isFilePath?i.set(s,RM(r.configFilePath,Qi(l,Ur(r.configFilePath)),o)):i.set(s,l)}}return i}function e0e(e,t){let r=t0e(e);return o();function i(s){return Array(s+1).join(\" \")}function o(){let s=[],l=i(2);return uU.forEach(d=>{if(!r.has(d.name))return;let p=r.get(d.name),h=Uie(d);p!==h?s.push(`${l}${d.name}: ${p}`):rs(H6,d.name)&&s.push(`${l}${d.name}: ${h}`)}),s.join(t)+t}}function t0e(e){let t=Xw(e,H6);return F6(t)}function n0e(e,t,r){let i=t0e(e);return l();function o(d){return Array(d+1).join(\" \")}function s({category:d,name:p,isCommandLineOnly:h}){let m=[f.Command_line_Options,f.Editor_Support,f.Compiler_Diagnostics,f.Backwards_Compatibility,f.Watch_and_Build_Modes,f.Output_Formatting];return!h&&d!==void 0&&(!m.includes(d)||i.has(p))}function l(){let d=new Map;d.set(f.Projects,[]),d.set(f.Language_and_Environment,[]),d.set(f.Modules,[]),d.set(f.JavaScript_Support,[]),d.set(f.Emit,[]),d.set(f.Interop_Constraints,[]),d.set(f.Type_Checking,[]),d.set(f.Completeness,[]);for(let S of Nh)if(s(S)){let A=d.get(S.category);A||d.set(S.category,A=[]),A.push(S)}let p=0,h=0,m=[];d.forEach((S,A)=>{m.length!==0&&m.push({value:\"\"}),m.push({value:`/* ${vo(A)} */`});for(let C of S){let R;i.has(C.name)?R=`\"${C.name}\": ${JSON.stringify(i.get(C.name))}${(h+=1)===i.size?\"\":\",\"}`:R=`// \"${C.name}\": ${JSON.stringify(Uie(C))},`,m.push({value:R,description:`/* ${C.description&&vo(C.description)||C.name} */`}),p=Math.max(R.length,p)}});let v=o(2),E=[];E.push(\"{\"),E.push(`${v}\"compilerOptions\": {`),E.push(`${v}${v}/* ${vo(f.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file)} */`),E.push(\"\");for(let S of m){let{value:A,description:C=\"\"}=S;E.push(A&&`${v}${v}${A}${C&&o(p-A.length+2)+C}`)}if(t.length){E.push(`${v}},`),E.push(`${v}\"files\": [`);for(let S=0;S<t.length;S++)E.push(`${v}${v}${JSON.stringify(t[S])}${S===t.length-1?\"\":\",\"}`);E.push(`${v}]`)}else E.push(`${v}}`);return E.push(\"}\"),E.join(r)+r}}function sU(e,t){let r={},i=Xx().optionsNameMap;for(let o in e)rs(e,o)&&(r[o]=P4e(i.get(o.toLowerCase()),e[o],t));return r.configFilePath&&(r.configFilePath=t(r.configFilePath)),r}function P4e(e,t,r){if(e&&!q2(t)){if(e.type===\"list\"){let i=t;if(e.element.isFilePath&&i.length)return i.map(r)}else if(e.isFilePath)return r(t);x.assert(e.type!==\"listOrElement\")}return t}function r0e(e,t,r,i,o,s,l,d,p){return o0e(e,void 0,t,r,i,p,o,s,l,d)}function H2(e,t,r,i,o,s,l,d,p){var h,m;(h=qn)==null||h.push(qn.Phase.Parse,\"parseJsonSourceFileConfigFileContent\",{path:e.fileName});let v=o0e(void 0,e,t,r,i,p,o,s,l,d);return(m=qn)==null||m.pop(),v}function lU(e,t){t&&Object.defineProperty(e,\"configFile\",{enumerable:!1,writable:!1,value:t})}function q2(e){return e==null}function i0e(e,t){return Ur(Qi(e,t))}function o0e(e,t,r,i,o={},s,l,d=[],p=[],h){x.assert(e===void 0&&t!==void 0||e!==void 0&&t===void 0);let m=[],v=l0e(e,t,r,i,l,d,m,h),{raw:E}=v,S=Xw(o,v.options||{}),A=s&&v.watchOptions?Xw(s,v.watchOptions):v.watchOptions||s;S.configFilePath=l&&ad(l);let C=L();t&&(t.configFileSpecs=C),lU(S,t);let R=Yo(l?i0e(l,i):i);return{options:S,watchOptions:A,fileNames:G(R),projectReferences:U(R),typeAcquisition:v.typeAcquisition||cU(),raw:E,errors:m,wildcardDirectories:B4e(C,R,r.useCaseSensitiveFileNames),compileOnSave:!!E.compileOnSave};function L(){let $=oe(\"references\",ce=>typeof ce==\"object\",\"object\"),de=K(F(\"files\"));if(de){let ce=$===\"no-prop\"||oo($)&&$.length===0,Z=rs(E,\"extends\");if(de.length===0&&ce&&!Z)if(t){let pe=l||\"tsconfig.json\",Ae=f.The_files_list_in_config_file_0_is_empty,Oe=uL(t,\"files\",be=>be.initializer),_e=Bb(t,Oe,Ae,pe);m.push(_e)}else W(f.The_files_list_in_config_file_0_is_empty,l||\"tsconfig.json\")}let fe=K(F(\"include\")),q=F(\"exclude\"),H=!1,ee=K(q);if(q===\"no-prop\"&&E.compilerOptions){let ce=E.compilerOptions.outDir,Z=E.compilerOptions.declarationDir;(ce||Z)&&(ee=[ce,Z].filter(pe=>!!pe))}de===void 0&&fe===void 0&&(fe=[J6],H=!0);let le,Ee;return fe&&(le=b0e(fe,m,!0,t,\"include\")),ee&&(Ee=b0e(ee,m,!1,t,\"exclude\")),{filesSpecs:de,includeSpecs:fe,excludeSpecs:ee,validatedFilesSpec:Cr(de,fo),validatedIncludeSpecs:le,validatedExcludeSpecs:Ee,pathPatterns:void 0,isDefaultIncludeSpec:H}}function G($){let de=AN(C,$,S,r,p);return s0e(de,TN(E),d)&&m.push(a0e(C,l)),de}function U($){let de,fe=oe(\"references\",q=>typeof q==\"object\",\"object\");if(oo(fe))for(let q of fe)typeof q.path!=\"string\"?W(f.Compiler_option_0_requires_a_value_of_type_1,\"reference.path\",\"string\"):(de||(de=[])).push({path:Qi(q.path,$),originalPath:q.path,prepend:q.prepend,circular:q.circular});return de}function K($){return oo($)?$:void 0}function F($){return oe($,fo,\"string\")}function oe($,de,fe){if(rs(E,$)&&!q2(E[$]))if(oo(E[$])){let q=E[$];return!t&&!ji(q,de)&&m.push(bl(f.Compiler_option_0_requires_a_value_of_type_1,$,fe)),q}else return W(f.Compiler_option_0_requires_a_value_of_type_1,$,\"Array\"),\"not-array\";return\"no-prop\"}function W($,...de){t||m.push(bl($,...de))}}function M4e(e){return e.code===f.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2.code}function a0e({includeSpecs:e,excludeSpecs:t},r){return bl(f.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2,r||\"tsconfig.json\",JSON.stringify(e||[]),JSON.stringify(t||[]))}function s0e(e,t,r){return e.length===0&&t&&(!r||r.length===0)}function TN(e){return!rs(e,\"files\")&&!rs(e,\"references\")}function z6(e,t,r,i,o){let s=i.length;return s0e(e,o)?i.push(a0e(r,t)):X5(i,l=>!M4e(l)),s!==i.length}function L4e(e){return!!e.options}function l0e(e,t,r,i,o,s,l,d){var p;i=ad(i);let h=Qi(o||\"\",i);if(s.includes(h))return l.push(bl(f.Circularity_detected_while_resolving_configuration_Colon_0,[...s,h].join(\" -> \"))),{raw:e||Wie(t,l)};let m=e?k4e(e,r,i,o,l):O4e(t,r,i,o,l);if((p=m.options)!=null&&p.paths&&(m.options.pathsBasePath=i),m.extendedConfigPath){s=s.concat([h]);let E={options:{}};fo(m.extendedConfigPath)?v(E,m.extendedConfigPath):m.extendedConfigPath.forEach(S=>v(E,S)),!m.raw.include&&E.include&&(m.raw.include=E.include),!m.raw.exclude&&E.exclude&&(m.raw.exclude=E.exclude),!m.raw.files&&E.files&&(m.raw.files=E.files),m.raw.compileOnSave===void 0&&E.compileOnSave&&(m.raw.compileOnSave=E.compileOnSave),t&&E.extendedSourceFiles&&(t.extendedSourceFiles=bo(E.extendedSourceFiles.keys())),m.options=R1(E.options,m.options),m.watchOptions=m.watchOptions&&E.watchOptions?R1(E.watchOptions,m.watchOptions):m.watchOptions||E.watchOptions}return m;function v(E,S){let A=w4e(t,S,r,s,l,d,E);if(A&&L4e(A)){let C=A.raw,R,L=G=>{C[G]&&(E[G]=nn(C[G],U=>Ou(U)?U:wr(R||(R=KD(Ur(S),i,od(r.useCaseSensitiveFileNames))),U)))};L(\"include\"),L(\"exclude\"),L(\"files\"),C.compileOnSave!==void 0&&(E.compileOnSave=C.compileOnSave),R1(E.options,A.options),E.watchOptions=E.watchOptions&&A.watchOptions?R1({},E.watchOptions,A.watchOptions):E.watchOptions||A.watchOptions}}}function k4e(e,t,r,i,o){rs(e,\"excludes\")&&o.push(bl(f.Unknown_option_excludes_Did_you_mean_exclude));let s=m0e(e.compilerOptions,r,o,i),l=_0e(e.typeAcquisition,r,o,i),d=F4e(e.watchOptions,r,o);e.compileOnSave=W4e(e,r,o);let p=e.extends||e.extends===\"\"?c0e(e.extends,t,r,i,o):void 0;return{raw:e,options:s,watchOptions:d,typeAcquisition:l,extendedConfigPath:p}}function c0e(e,t,r,i,o,s,l,d){let p,h=i?i0e(i,r):r;if(fo(e))p=d0e(e,t,h,o,l,d);else if(oo(e)){p=[];for(let m=0;m<e.length;m++){let v=e[m];fo(v)?p=pn(p,d0e(v,t,h,o,l?.elements[m],d)):eT(Z2.element,e,r,o,s,l?.elements[m],d)}}else eT(Z2,e,r,o,s,l,d);return p}function O4e(e,t,r,i,o){let s=f0e(i),l,d,p,h,m=R4e(),v=XEe(e,o,{rootOptions:m,onPropertySet:E});return l||(l=cU(i)),h&&v&&v.compilerOptions===void 0&&o.push(vf(e,h[0],f._0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file,$1(h[0]))),{raw:v,options:s,watchOptions:d,typeAcquisition:l,extendedConfigPath:p};function E(S,A,C,R,L){if(L&&L!==Z2&&(A=eT(L,A,r,o,C,C.initializer,e)),R?.name)if(L){let G;R===Kie?G=s:R===Xie?G=d??(d={}):R===Yie?G=l??(l=cU(i)):x.fail(\"Unknown option\"),G[L.name]=A}else S&&R?.extraKeyDiagnostics&&(R.elementOptions?o.push(kie(S,R.extraKeyDiagnostics,void 0,C.name,e)):o.push(vf(e,C.name,R.extraKeyDiagnostics.unknownOptionDiagnostic,S)));else R===m&&(L===Z2?p=c0e(A,t,r,i,o,C,C.initializer,e):L||(S===\"excludes\"&&o.push(vf(e,C.name,f.Unknown_option_excludes_Did_you_mean_exclude)),Dr(uU,G=>G.name===S)&&(h=pn(h,C.name))))}}function d0e(e,t,r,i,o,s){if(e=ad(e),Ou(e)||Ui(e,\"./\")||Ui(e,\"../\")){let d=Qi(e,r);if(!t.fileExists(d)&&!Zs(d,\".json\")&&(d=`${d}.json`,!t.fileExists(d))){i.push(Bb(s,o,f.File_0_not_found,e));return}return d}let l=soe(e,wr(r,\"tsconfig.json\"),t);if(l.resolvedModule)return l.resolvedModule.resolvedFileName;e===\"\"?i.push(Bb(s,o,f.Compiler_option_0_cannot_be_given_an_empty_string,\"extends\")):i.push(Bb(s,o,f.File_0_not_found,e))}function w4e(e,t,r,i,o,s,l){let d=r.useCaseSensitiveFileNames?t:C_(t),p,h,m;if(s&&(p=s.get(d))?{extendedResult:h,extendedConfig:m}=p:(h=wie(t,v=>r.readFile(v)),h.parseDiagnostics.length||(m=l0e(void 0,h,r,Ur(t),Ll(t),i,o,s)),s&&s.set(d,{extendedResult:h,extendedConfig:m})),e&&((l.extendedSourceFiles??(l.extendedSourceFiles=new Set)).add(h.fileName),h.extendedSourceFiles))for(let v of h.extendedSourceFiles)l.extendedSourceFiles.add(v);if(h.parseDiagnostics.length){o.push(...h.parseDiagnostics);return}return m}function W4e(e,t,r){if(!rs(e,J2.name))return!1;let i=eT(J2,e.compileOnSave,t,r);return typeof i==\"boolean\"&&i}function u0e(e,t,r){let i=[];return{options:m0e(e,t,i,r),errors:i}}function p0e(e,t,r){let i=[];return{options:_0e(e,t,i,r),errors:i}}function f0e(e){return e&&Ll(e)===\"jsconfig.json\"?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function m0e(e,t,r,i){let o=f0e(i);return Fie(qEe(),e,t,o,Q2,r),i&&(o.configFilePath=ad(i)),o}function cU(e){return{enable:!!e&&Ll(e)===\"jsconfig.json\",include:[],exclude:[]}}function _0e(e,t,r,i){let o=cU(i);return Fie(KEe(),e,t,o,Jie,r),o}function F4e(e,t,r){return Fie(JEe(),e,t,void 0,q6,r)}function Fie(e,t,r,i,o,s){if(t){for(let l in t){let d=e.get(l);d?(i||(i={}))[d.name]=eT(d,t[l],r,s):s.push(kie(l,o))}return i}}function Bb(e,t,r,...i){return e&&t?vf(e,t,r,...i):bl(r,...i)}function eT(e,t,r,i,o,s,l){if(e.isCommandLineOnly){i.push(Bb(l,o?.name,f.Option_0_can_only_be_specified_on_command_line,e.name));return}if(YEe(e,t)){let d=e.type;if(d===\"list\"&&oo(t))return g0e(e,t,r,i,o,s,l);if(d===\"listOrElement\")return oo(t)?g0e(e,t,r,i,o,s,l):eT(e.element,t,r,i,o,s,l);if(!fo(e.type))return h0e(e,t,i,s,l);let p=vI(e,t,i,s,l);return q2(p)?p:z4e(e,r,p)}else i.push(Bb(l,s,f.Compiler_option_0_requires_a_value_of_type_1,e.name,oU(e)))}function z4e(e,t,r){return e.isFilePath&&(r=Qi(r,t),r===\"\"&&(r=\".\")),r}function vI(e,t,r,i,o){var s;if(q2(t))return;let l=(s=e.extraValidation)==null?void 0:s.call(e,t);if(!l)return t;r.push(Bb(o,i,...l))}function h0e(e,t,r,i,o){if(q2(t))return;let s=t.toLowerCase(),l=e.type.get(s);if(l!==void 0)return vI(e,l,r,i,o);r.push(FEe(e,(d,...p)=>Bb(o,i,d,...p)))}function g0e(e,t,r,i,o,s,l){return Cr(nn(t,(d,p)=>eT(e.element,d,r,i,o,s?.elements[p],l)),d=>e.listPreserveFalsyValues?!0:!!d)}function AN(e,t,r,i,o=je){t=Yo(t);let s=od(i.useCaseSensitiveFileNames),l=new Map,d=new Map,p=new Map,{validatedFilesSpec:h,validatedIncludeSpecs:m,validatedExcludeSpecs:v}=e,E=GC(r,o),S=YL(r,E);if(h)for(let L of h){let G=Qi(L,t);l.set(s(G),G)}let A;if(m&&m.length>0)for(let L of i.readDirectory(t,Ff(S),v,m,void 0)){if(el(L,\".json\")){if(!A){let K=m.filter(oe=>Zs(oe,\".json\")),F=nn(lF(K,t,\"files\"),oe=>`^${oe}$`);A=F?F.map(oe=>iy(oe,i.useCaseSensitiveFileNames)):je}if(Tl(A,K=>K.test(L))!==-1){let K=s(L);!l.has(K)&&!p.has(K)&&p.set(K,L)}continue}if(V4e(L,l,d,E,s))continue;j4e(L,d,E,s);let G=s(L);!l.has(G)&&!d.has(G)&&d.set(G,L)}let C=bo(l.values()),R=bo(d.values());return C.concat(R,bo(p.values()))}function zie(e,t,r,i,o){let{validatedFilesSpec:s,validatedIncludeSpecs:l,validatedExcludeSpecs:d}=t;if(!yn(l)||!yn(d))return!1;r=Yo(r);let p=od(i);if(s){for(let h of s)if(p(Qi(h,r))===e)return!1}return y0e(e,d,i,o,r)}function v0e(e){let t=Ui(e,\"**/\")?0:e.indexOf(\"/**/\");return t===-1?!1:(Zs(e,\"/..\")?e.length:e.lastIndexOf(\"/../\"))>t}function B6(e,t,r,i){return y0e(e,Cr(t,o=>!v0e(o)),r,i)}function y0e(e,t,r,i,o){let s=BC(t,wr(Yo(i),o),\"exclude\"),l=s&&iy(s,r);return l?l.test(e)?!0:!TA(e)&&l.test(_c(e)):!1}function b0e(e,t,r,i,o){return e.filter(l=>{if(!fo(l))return!1;let d=Bie(l,r);return d!==void 0&&t.push(s(...d)),d===void 0});function s(l,d){let p=fW(i,o,d);return Bb(i,p,l,d)}}function Bie(e,t){if(x.assert(typeof e==\"string\"),t&&N0e.test(e))return[f.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,e];if(v0e(e))return[f.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,e]}function B4e({validatedIncludeSpecs:e,validatedExcludeSpecs:t},r,i){let o=BC(t,r,\"exclude\"),s=o&&new RegExp(o,i?\"\":\"i\"),l={},d=new Map;if(e!==void 0){let p=[];for(let h of e){let m=Yo(wr(r,h));if(s&&s.test(m))continue;let v=G4e(m,i);if(v){let{key:E,path:S,flags:A}=v,C=d.get(E),R=C!==void 0?l[C]:void 0;(R===void 0||R<A)&&(l[C!==void 0?C:S]=A,C===void 0&&d.set(E,S),A===1&&p.push(E))}}for(let h in l)if(rs(l,h))for(let m of p){let v=Gie(h,i);v!==m&&Bf(m,v,r,!i)&&delete l[h]}}return l}function Gie(e,t){return t?e:C_(e)}function G4e(e,t){let r=P0e.exec(e);if(r){let i=e.indexOf(\"?\"),o=e.indexOf(\"*\"),s=e.lastIndexOf(Os);return{key:Gie(r[0],t),path:r[0],flags:i!==-1&&i<s||o!==-1&&o<s?1:0}}if(RV(e.substring(e.lastIndexOf(Os)+1))){let i=fb(e);return{key:Gie(i,t),path:i,flags:1}}}function V4e(e,t,r,i,o){let s=an(i,l=>$l(e,l)?l:void 0);if(!s)return!1;for(let l of s){if(el(e,l)&&(l!==\".ts\"||!el(e,\".d.ts\")))return!1;let d=o(Nb(e,l));if(t.has(d)||r.has(d)){if(l===\".d.ts\"&&(el(e,\".js\")||el(e,\".jsx\")))continue;return!0}}return!1}function j4e(e,t,r,i){let o=an(r,s=>$l(e,s)?s:void 0);if(o)for(let s=o.length-1;s>=0;s--){let l=o[s];if(el(e,l))return;let d=i(Nb(e,l));t.delete(d)}}function Vie(e){let t={};for(let r in e)if(rs(e,r)){let i=nU(r);i!==void 0&&(t[r]=jie(e[r],i))}return t}function jie(e,t){if(e===void 0)return e;switch(t.type){case\"object\":return\"\";case\"string\":return\"\";case\"number\":return typeof e==\"number\"?e:\"\";case\"boolean\":return typeof e==\"boolean\"?e:\"\";case\"listOrElement\":if(!oo(e))return jie(e,t.element);case\"list\":let r=t.element;return oo(e)?Fi(e,i=>jie(i,r)):\"\";default:return hc(t.type,(i,o)=>{if(i===e)return o})}}function Uie(e){switch(e.type){case\"number\":return 1;case\"boolean\":return!0;case\"string\":let t=e.defaultValueDescription;return e.isFilePath?`./${t&&typeof t==\"string\"?t:\"\"}`:\"\";case\"list\":return[];case\"listOrElement\":return Uie(e.element);case\"object\":return{};default:let r=qw(e.type.keys());return r!==void 0?r:x.fail(\"Expected 'option.type' to have entries.\")}}var J2,Hie,IN,qie,K2,G6,Yx,X2,Y2,dU,uU,Nh,pU,fU,mU,V6,j6,_U,hU,gU,U6,$2,E0e,S0e,H6,Q2,T0e,A0e,I0e,Jie,x0e,q6,R0e,D0e,C0e,Z2,Kie,Xie,Yie,$ie,J6,N0e,P0e,U4e=pt({\"src/compiler/commandLineParser.ts\"(){\"use strict\";wo(),J2={name:\"compileOnSave\",type:\"boolean\",defaultValueDescription:!1},Hie=new Map(Object.entries({preserve:1,\"react-native\":3,react:2,\"react-jsx\":4,\"react-jsxdev\":5})),IN=new Map(OD(Hie.entries(),([e,t])=>[\"\"+t,e])),qie=[[\"es5\",\"lib.es5.d.ts\"],[\"es6\",\"lib.es2015.d.ts\"],[\"es2015\",\"lib.es2015.d.ts\"],[\"es7\",\"lib.es2016.d.ts\"],[\"es2016\",\"lib.es2016.d.ts\"],[\"es2017\",\"lib.es2017.d.ts\"],[\"es2018\",\"lib.es2018.d.ts\"],[\"es2019\",\"lib.es2019.d.ts\"],[\"es2020\",\"lib.es2020.d.ts\"],[\"es2021\",\"lib.es2021.d.ts\"],[\"es2022\",\"lib.es2022.d.ts\"],[\"es2023\",\"lib.es2023.d.ts\"],[\"esnext\",\"lib.esnext.d.ts\"],[\"dom\",\"lib.dom.d.ts\"],[\"dom.iterable\",\"lib.dom.iterable.d.ts\"],[\"dom.asynciterable\",\"lib.dom.asynciterable.d.ts\"],[\"webworker\",\"lib.webworker.d.ts\"],[\"webworker.importscripts\",\"lib.webworker.importscripts.d.ts\"],[\"webworker.iterable\",\"lib.webworker.iterable.d.ts\"],[\"webworker.asynciterable\",\"lib.webworker.asynciterable.d.ts\"],[\"scripthost\",\"lib.scripthost.d.ts\"],[\"es2015.core\",\"lib.es2015.core.d.ts\"],[\"es2015.collection\",\"lib.es2015.collection.d.ts\"],[\"es2015.generator\",\"lib.es2015.generator.d.ts\"],[\"es2015.iterable\",\"lib.es2015.iterable.d.ts\"],[\"es2015.promise\",\"lib.es2015.promise.d.ts\"],[\"es2015.proxy\",\"lib.es2015.proxy.d.ts\"],[\"es2015.reflect\",\"lib.es2015.reflect.d.ts\"],[\"es2015.symbol\",\"lib.es2015.symbol.d.ts\"],[\"es2015.symbol.wellknown\",\"lib.es2015.symbol.wellknown.d.ts\"],[\"es2016.array.include\",\"lib.es2016.array.include.d.ts\"],[\"es2016.intl\",\"lib.es2016.intl.d.ts\"],[\"es2017.date\",\"lib.es2017.date.d.ts\"],[\"es2017.object\",\"lib.es2017.object.d.ts\"],[\"es2017.sharedmemory\",\"lib.es2017.sharedmemory.d.ts\"],[\"es2017.string\",\"lib.es2017.string.d.ts\"],[\"es2017.intl\",\"lib.es2017.intl.d.ts\"],[\"es2017.typedarrays\",\"lib.es2017.typedarrays.d.ts\"],[\"es2018.asyncgenerator\",\"lib.es2018.asyncgenerator.d.ts\"],[\"es2018.asynciterable\",\"lib.es2018.asynciterable.d.ts\"],[\"es2018.intl\",\"lib.es2018.intl.d.ts\"],[\"es2018.promise\",\"lib.es2018.promise.d.ts\"],[\"es2018.regexp\",\"lib.es2018.regexp.d.ts\"],[\"es2019.array\",\"lib.es2019.array.d.ts\"],[\"es2019.object\",\"lib.es2019.object.d.ts\"],[\"es2019.string\",\"lib.es2019.string.d.ts\"],[\"es2019.symbol\",\"lib.es2019.symbol.d.ts\"],[\"es2019.intl\",\"lib.es2019.intl.d.ts\"],[\"es2020.bigint\",\"lib.es2020.bigint.d.ts\"],[\"es2020.date\",\"lib.es2020.date.d.ts\"],[\"es2020.promise\",\"lib.es2020.promise.d.ts\"],[\"es2020.sharedmemory\",\"lib.es2020.sharedmemory.d.ts\"],[\"es2020.string\",\"lib.es2020.string.d.ts\"],[\"es2020.symbol.wellknown\",\"lib.es2020.symbol.wellknown.d.ts\"],[\"es2020.intl\",\"lib.es2020.intl.d.ts\"],[\"es2020.number\",\"lib.es2020.number.d.ts\"],[\"es2021.promise\",\"lib.es2021.promise.d.ts\"],[\"es2021.string\",\"lib.es2021.string.d.ts\"],[\"es2021.weakref\",\"lib.es2021.weakref.d.ts\"],[\"es2021.intl\",\"lib.es2021.intl.d.ts\"],[\"es2022.array\",\"lib.es2022.array.d.ts\"],[\"es2022.error\",\"lib.es2022.error.d.ts\"],[\"es2022.intl\",\"lib.es2022.intl.d.ts\"],[\"es2022.object\",\"lib.es2022.object.d.ts\"],[\"es2022.sharedmemory\",\"lib.es2022.sharedmemory.d.ts\"],[\"es2022.string\",\"lib.es2022.string.d.ts\"],[\"es2022.regexp\",\"lib.es2022.regexp.d.ts\"],[\"es2023.array\",\"lib.es2023.array.d.ts\"],[\"es2023.collection\",\"lib.es2023.collection.d.ts\"],[\"esnext.array\",\"lib.es2023.array.d.ts\"],[\"esnext.collection\",\"lib.esnext.collection.d.ts\"],[\"esnext.symbol\",\"lib.es2019.symbol.d.ts\"],[\"esnext.asynciterable\",\"lib.es2018.asynciterable.d.ts\"],[\"esnext.intl\",\"lib.esnext.intl.d.ts\"],[\"esnext.disposable\",\"lib.esnext.disposable.d.ts\"],[\"esnext.bigint\",\"lib.es2020.bigint.d.ts\"],[\"esnext.string\",\"lib.es2022.string.d.ts\"],[\"esnext.promise\",\"lib.esnext.promise.d.ts\"],[\"esnext.weakref\",\"lib.es2021.weakref.d.ts\"],[\"esnext.decorators\",\"lib.esnext.decorators.d.ts\"],[\"esnext.object\",\"lib.esnext.object.d.ts\"],[\"decorators\",\"lib.decorators.d.ts\"],[\"decorators.legacy\",\"lib.decorators.legacy.d.ts\"]],K2=qie.map(e=>e[0]),G6=new Map(qie),Yx=[{name:\"watchFile\",type:new Map(Object.entries({fixedpollinginterval:0,prioritypollinginterval:1,dynamicprioritypolling:2,fixedchunksizepolling:3,usefsevents:4,usefseventsonparentdirectory:5})),category:f.Watch_and_Build_Modes,description:f.Specify_how_the_TypeScript_watch_mode_works,defaultValueDescription:4},{name:\"watchDirectory\",type:new Map(Object.entries({usefsevents:0,fixedpollinginterval:1,dynamicprioritypolling:2,fixedchunksizepolling:3})),category:f.Watch_and_Build_Modes,description:f.Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality,defaultValueDescription:0},{name:\"fallbackPolling\",type:new Map(Object.entries({fixedinterval:0,priorityinterval:1,dynamicpriority:2,fixedchunksize:3})),category:f.Watch_and_Build_Modes,description:f.Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers,defaultValueDescription:1},{name:\"synchronousWatchDirectory\",type:\"boolean\",category:f.Watch_and_Build_Modes,description:f.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively,defaultValueDescription:!1},{name:\"excludeDirectories\",type:\"list\",element:{name:\"excludeDirectory\",type:\"string\",isFilePath:!0,extraValidation:Bie},category:f.Watch_and_Build_Modes,description:f.Remove_a_list_of_directories_from_the_watch_process},{name:\"excludeFiles\",type:\"list\",element:{name:\"excludeFile\",type:\"string\",isFilePath:!0,extraValidation:Bie},category:f.Watch_and_Build_Modes,description:f.Remove_a_list_of_files_from_the_watch_mode_s_processing}],X2=[{name:\"help\",shortName:\"h\",type:\"boolean\",showInSimplifiedHelpView:!0,isCommandLineOnly:!0,category:f.Command_line_Options,description:f.Print_this_message,defaultValueDescription:!1},{name:\"help\",shortName:\"?\",type:\"boolean\",isCommandLineOnly:!0,category:f.Command_line_Options,defaultValueDescription:!1},{name:\"watch\",shortName:\"w\",type:\"boolean\",showInSimplifiedHelpView:!0,isCommandLineOnly:!0,category:f.Command_line_Options,description:f.Watch_input_files,defaultValueDescription:!1},{name:\"preserveWatchOutput\",type:\"boolean\",showInSimplifiedHelpView:!1,category:f.Output_Formatting,description:f.Disable_wiping_the_console_in_watch_mode,defaultValueDescription:!1},{name:\"listFiles\",type:\"boolean\",category:f.Compiler_Diagnostics,description:f.Print_all_of_the_files_read_during_the_compilation,defaultValueDescription:!1},{name:\"explainFiles\",type:\"boolean\",category:f.Compiler_Diagnostics,description:f.Print_files_read_during_the_compilation_including_why_it_was_included,defaultValueDescription:!1},{name:\"listEmittedFiles\",type:\"boolean\",category:f.Compiler_Diagnostics,description:f.Print_the_names_of_emitted_files_after_a_compilation,defaultValueDescription:!1},{name:\"pretty\",type:\"boolean\",showInSimplifiedHelpView:!0,category:f.Output_Formatting,description:f.Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read,defaultValueDescription:!0},{name:\"traceResolution\",type:\"boolean\",category:f.Compiler_Diagnostics,description:f.Log_paths_used_during_the_moduleResolution_process,defaultValueDescription:!1},{name:\"diagnostics\",type:\"boolean\",category:f.Compiler_Diagnostics,description:f.Output_compiler_performance_information_after_building,defaultValueDescription:!1},{name:\"extendedDiagnostics\",type:\"boolean\",category:f.Compiler_Diagnostics,description:f.Output_more_detailed_compiler_performance_information_after_building,defaultValueDescription:!1},{name:\"generateCpuProfile\",type:\"string\",isFilePath:!0,paramType:f.FILE_OR_DIRECTORY,category:f.Compiler_Diagnostics,description:f.Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging,defaultValueDescription:\"profile.cpuprofile\"},{name:\"generateTrace\",type:\"string\",isFilePath:!0,isCommandLineOnly:!0,paramType:f.DIRECTORY,category:f.Compiler_Diagnostics,description:f.Generates_an_event_trace_and_a_list_of_types},{name:\"incremental\",shortName:\"i\",type:\"boolean\",category:f.Projects,description:f.Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects,transpileOptionValue:void 0,defaultValueDescription:f.false_unless_composite_is_set},{name:\"declaration\",shortName:\"d\",type:\"boolean\",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.Emit,transpileOptionValue:void 0,description:f.Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project,defaultValueDescription:f.false_unless_composite_is_set},{name:\"declarationMap\",type:\"boolean\",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.Emit,transpileOptionValue:void 0,defaultValueDescription:!1,description:f.Create_sourcemaps_for_d_ts_files},{name:\"emitDeclarationOnly\",type:\"boolean\",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.Emit,description:f.Only_output_d_ts_files_and_not_JavaScript_files,transpileOptionValue:void 0,defaultValueDescription:!1},{name:\"sourceMap\",type:\"boolean\",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.Emit,defaultValueDescription:!1,description:f.Create_source_map_files_for_emitted_JavaScript_files},{name:\"inlineSourceMap\",type:\"boolean\",affectsBuildInfo:!0,category:f.Emit,description:f.Include_sourcemap_files_inside_the_emitted_JavaScript,defaultValueDescription:!1},{name:\"assumeChangesOnlyAffectDirectDependencies\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:f.Watch_and_Build_Modes,description:f.Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it,defaultValueDescription:!1},{name:\"locale\",type:\"string\",category:f.Command_line_Options,isCommandLineOnly:!0,description:f.Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit,defaultValueDescription:f.Platform_specific}],Y2={name:\"target\",shortName:\"t\",type:new Map(Object.entries({es3:0,es5:1,es6:2,es2015:2,es2016:3,es2017:4,es2018:5,es2019:6,es2020:7,es2021:8,es2022:9,esnext:99})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,affectsBuildInfo:!0,deprecatedKeys:new Set([\"es3\"]),paramType:f.VERSION,showInSimplifiedHelpView:!0,category:f.Language_and_Environment,description:f.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations,defaultValueDescription:1},dU={name:\"module\",shortName:\"m\",type:new Map(Object.entries({none:0,commonjs:1,amd:2,system:4,umd:3,es6:5,es2015:5,es2020:6,es2022:7,esnext:99,node16:100,nodenext:199,preserve:200})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,affectsBuildInfo:!0,paramType:f.KIND,showInSimplifiedHelpView:!0,category:f.Modules,description:f.Specify_what_module_code_is_generated,defaultValueDescription:void 0},uU=[{name:\"all\",type:\"boolean\",showInSimplifiedHelpView:!0,category:f.Command_line_Options,description:f.Show_all_compiler_options,defaultValueDescription:!1},{name:\"version\",shortName:\"v\",type:\"boolean\",showInSimplifiedHelpView:!0,category:f.Command_line_Options,description:f.Print_the_compiler_s_version,defaultValueDescription:!1},{name:\"init\",type:\"boolean\",showInSimplifiedHelpView:!0,category:f.Command_line_Options,description:f.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file,defaultValueDescription:!1},{name:\"project\",shortName:\"p\",type:\"string\",isFilePath:!0,showInSimplifiedHelpView:!0,category:f.Command_line_Options,paramType:f.FILE_OR_DIRECTORY,description:f.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json},{name:\"build\",type:\"boolean\",shortName:\"b\",showInSimplifiedHelpView:!0,category:f.Command_line_Options,description:f.Build_one_or_more_projects_and_their_dependencies_if_out_of_date,defaultValueDescription:!1},{name:\"showConfig\",type:\"boolean\",showInSimplifiedHelpView:!0,category:f.Command_line_Options,isCommandLineOnly:!0,description:f.Print_the_final_configuration_instead_of_building,defaultValueDescription:!1},{name:\"listFilesOnly\",type:\"boolean\",category:f.Command_line_Options,isCommandLineOnly:!0,description:f.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing,defaultValueDescription:!1},Y2,dU,{name:\"lib\",type:\"list\",element:{name:\"lib\",type:G6,defaultValueDescription:void 0},affectsProgramStructure:!0,showInSimplifiedHelpView:!0,category:f.Language_and_Environment,description:f.Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment,transpileOptionValue:void 0},{name:\"allowJs\",type:\"boolean\",allowJsFlag:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.JavaScript_Support,description:f.Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files,defaultValueDescription:!1},{name:\"checkJs\",type:\"boolean\",affectsModuleResolution:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.JavaScript_Support,description:f.Enable_error_reporting_in_type_checked_JavaScript_files,defaultValueDescription:!1},{name:\"jsx\",type:Hie,affectsSourceFile:!0,affectsEmit:!0,affectsBuildInfo:!0,affectsModuleResolution:!0,affectsSemanticDiagnostics:!0,paramType:f.KIND,showInSimplifiedHelpView:!0,category:f.Language_and_Environment,description:f.Specify_what_JSX_code_is_generated,defaultValueDescription:void 0},{name:\"outFile\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:f.FILE,showInSimplifiedHelpView:!0,category:f.Emit,description:f.Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output,transpileOptionValue:void 0},{name:\"outDir\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:f.DIRECTORY,showInSimplifiedHelpView:!0,category:f.Emit,description:f.Specify_an_output_folder_for_all_emitted_files},{name:\"rootDir\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:f.LOCATION,category:f.Modules,description:f.Specify_the_root_folder_within_your_source_files,defaultValueDescription:f.Computed_from_the_list_of_input_files},{name:\"composite\",type:\"boolean\",affectsBuildInfo:!0,isTSConfigOnly:!0,category:f.Projects,transpileOptionValue:void 0,defaultValueDescription:!1,description:f.Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references},{name:\"tsBuildInfoFile\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,isFilePath:!0,paramType:f.FILE,category:f.Projects,transpileOptionValue:void 0,defaultValueDescription:\".tsbuildinfo\",description:f.Specify_the_path_to_tsbuildinfo_incremental_compilation_file},{name:\"removeComments\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.Emit,defaultValueDescription:!1,description:f.Disable_emitting_comments},{name:\"noEmit\",type:\"boolean\",showInSimplifiedHelpView:!0,category:f.Emit,description:f.Disable_emitting_files_from_a_compilation,transpileOptionValue:void 0,defaultValueDescription:!1},{name:\"importHelpers\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file,defaultValueDescription:!1},{name:\"importsNotUsedAsValues\",type:new Map(Object.entries({remove:0,preserve:1,error:2})),affectsEmit:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types,defaultValueDescription:0},{name:\"downlevelIteration\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration,defaultValueDescription:!1},{name:\"isolatedModules\",type:\"boolean\",category:f.Interop_Constraints,description:f.Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports,transpileOptionValue:!0,defaultValueDescription:!1},{name:\"verbatimModuleSyntax\",type:\"boolean\",category:f.Interop_Constraints,description:f.Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting,defaultValueDescription:!1},{name:\"strict\",type:\"boolean\",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.Type_Checking,description:f.Enable_all_strict_type_checking_options,defaultValueDescription:!1},{name:\"noImplicitAny\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:f.Type_Checking,description:f.Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type,defaultValueDescription:f.false_unless_strict_is_set},{name:\"strictNullChecks\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:f.Type_Checking,description:f.When_type_checking_take_into_account_null_and_undefined,defaultValueDescription:f.false_unless_strict_is_set},{name:\"strictFunctionTypes\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:f.Type_Checking,description:f.When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible,defaultValueDescription:f.false_unless_strict_is_set},{name:\"strictBindCallApply\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:f.Type_Checking,description:f.Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function,defaultValueDescription:f.false_unless_strict_is_set},{name:\"strictPropertyInitialization\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:f.Type_Checking,description:f.Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor,defaultValueDescription:f.false_unless_strict_is_set},{name:\"noImplicitThis\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:f.Type_Checking,description:f.Enable_error_reporting_when_this_is_given_the_type_any,defaultValueDescription:f.false_unless_strict_is_set},{name:\"useUnknownInCatchVariables\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:f.Type_Checking,description:f.Default_catch_clause_variables_as_unknown_instead_of_any,defaultValueDescription:f.false_unless_strict_is_set},{name:\"alwaysStrict\",type:\"boolean\",affectsSourceFile:!0,affectsEmit:!0,affectsBuildInfo:!0,strictFlag:!0,category:f.Type_Checking,description:f.Ensure_use_strict_is_always_emitted,defaultValueDescription:f.false_unless_strict_is_set},{name:\"noUnusedLocals\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Enable_error_reporting_when_local_variables_aren_t_read,defaultValueDescription:!1},{name:\"noUnusedParameters\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Raise_an_error_when_a_function_parameter_isn_t_read,defaultValueDescription:!1},{name:\"exactOptionalPropertyTypes\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Interpret_optional_property_types_as_written_rather_than_adding_undefined,defaultValueDescription:!1},{name:\"noImplicitReturns\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function,defaultValueDescription:!1},{name:\"noFallthroughCasesInSwitch\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Enable_error_reporting_for_fallthrough_cases_in_switch_statements,defaultValueDescription:!1},{name:\"noUncheckedIndexedAccess\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Add_undefined_to_a_type_when_accessed_using_an_index,defaultValueDescription:!1},{name:\"noImplicitOverride\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier,defaultValueDescription:!1},{name:\"noPropertyAccessFromIndexSignature\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!1,category:f.Type_Checking,description:f.Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type,defaultValueDescription:!1},{name:\"moduleResolution\",type:new Map(Object.entries({node10:2,node:2,classic:1,node16:3,nodenext:99,bundler:100})),deprecatedKeys:new Set([\"node\"]),affectsSourceFile:!0,affectsModuleResolution:!0,paramType:f.STRATEGY,category:f.Modules,description:f.Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier,defaultValueDescription:f.module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node},{name:\"baseUrl\",type:\"string\",affectsModuleResolution:!0,isFilePath:!0,category:f.Modules,description:f.Specify_the_base_directory_to_resolve_non_relative_module_names},{name:\"paths\",type:\"object\",affectsModuleResolution:!0,isTSConfigOnly:!0,category:f.Modules,description:f.Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations,transpileOptionValue:void 0},{name:\"rootDirs\",type:\"list\",isTSConfigOnly:!0,element:{name:\"rootDirs\",type:\"string\",isFilePath:!0},affectsModuleResolution:!0,category:f.Modules,description:f.Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules,transpileOptionValue:void 0,defaultValueDescription:f.Computed_from_the_list_of_input_files},{name:\"typeRoots\",type:\"list\",element:{name:\"typeRoots\",type:\"string\",isFilePath:!0},affectsModuleResolution:!0,category:f.Modules,description:f.Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types},{name:\"types\",type:\"list\",element:{name:\"types\",type:\"string\"},affectsProgramStructure:!0,showInSimplifiedHelpView:!0,category:f.Modules,description:f.Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file,transpileOptionValue:void 0},{name:\"allowSyntheticDefaultImports\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Interop_Constraints,description:f.Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export,defaultValueDescription:f.module_system_or_esModuleInterop},{name:\"esModuleInterop\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:f.Interop_Constraints,description:f.Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility,defaultValueDescription:!1},{name:\"preserveSymlinks\",type:\"boolean\",category:f.Interop_Constraints,description:f.Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node,defaultValueDescription:!1},{name:\"allowUmdGlobalAccess\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Modules,description:f.Allow_accessing_UMD_globals_from_modules,defaultValueDescription:!1},{name:\"moduleSuffixes\",type:\"list\",element:{name:\"suffix\",type:\"string\"},listPreserveFalsyValues:!0,affectsModuleResolution:!0,category:f.Modules,description:f.List_of_file_name_suffixes_to_search_when_resolving_a_module},{name:\"allowImportingTsExtensions\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Modules,description:f.Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set,defaultValueDescription:!1,transpileOptionValue:void 0},{name:\"resolvePackageJsonExports\",type:\"boolean\",affectsModuleResolution:!0,category:f.Modules,description:f.Use_the_package_json_exports_field_when_resolving_package_imports,defaultValueDescription:f.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false},{name:\"resolvePackageJsonImports\",type:\"boolean\",affectsModuleResolution:!0,category:f.Modules,description:f.Use_the_package_json_imports_field_when_resolving_imports,defaultValueDescription:f.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false},{name:\"customConditions\",type:\"list\",element:{name:\"condition\",type:\"string\"},affectsModuleResolution:!0,category:f.Modules,description:f.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports},{name:\"sourceRoot\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,paramType:f.LOCATION,category:f.Emit,description:f.Specify_the_root_path_for_debuggers_to_find_the_reference_source_code},{name:\"mapRoot\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,paramType:f.LOCATION,category:f.Emit,description:f.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations},{name:\"inlineSources\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript,defaultValueDescription:!1},{name:\"experimentalDecorators\",type:\"boolean\",affectsEmit:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Language_and_Environment,description:f.Enable_experimental_support_for_legacy_experimental_decorators,defaultValueDescription:!1},{name:\"emitDecoratorMetadata\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:f.Language_and_Environment,description:f.Emit_design_type_metadata_for_decorated_declarations_in_source_files,defaultValueDescription:!1},{name:\"jsxFactory\",type:\"string\",category:f.Language_and_Environment,description:f.Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h,defaultValueDescription:\"`React.createElement`\"},{name:\"jsxFragmentFactory\",type:\"string\",category:f.Language_and_Environment,description:f.Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment,defaultValueDescription:\"React.Fragment\"},{name:\"jsxImportSource\",type:\"string\",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,affectsModuleResolution:!0,category:f.Language_and_Environment,description:f.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk,defaultValueDescription:\"react\"},{name:\"resolveJsonModule\",type:\"boolean\",affectsModuleResolution:!0,category:f.Modules,description:f.Enable_importing_json_files,defaultValueDescription:!1},{name:\"allowArbitraryExtensions\",type:\"boolean\",affectsProgramStructure:!0,category:f.Modules,description:f.Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present,defaultValueDescription:!1},{name:\"out\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!1,category:f.Backwards_Compatibility,paramType:f.FILE,transpileOptionValue:void 0,description:f.Deprecated_setting_Use_outFile_instead},{name:\"reactNamespace\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Language_and_Environment,description:f.Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit,defaultValueDescription:\"`React`\"},{name:\"skipDefaultLibCheck\",type:\"boolean\",affectsBuildInfo:!0,category:f.Completeness,description:f.Skip_type_checking_d_ts_files_that_are_included_with_TypeScript,defaultValueDescription:!1},{name:\"charset\",type:\"string\",category:f.Backwards_Compatibility,description:f.No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files,defaultValueDescription:\"utf8\"},{name:\"emitBOM\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files,defaultValueDescription:!1},{name:\"newLine\",type:new Map(Object.entries({crlf:0,lf:1})),affectsEmit:!0,affectsBuildInfo:!0,paramType:f.NEWLINE,category:f.Emit,description:f.Set_the_newline_character_for_emitting_files,defaultValueDescription:\"lf\"},{name:\"noErrorTruncation\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Output_Formatting,description:f.Disable_truncating_types_in_error_messages,defaultValueDescription:!1},{name:\"noLib\",type:\"boolean\",category:f.Language_and_Environment,affectsProgramStructure:!0,description:f.Disable_including_any_library_files_including_the_default_lib_d_ts,transpileOptionValue:!0,defaultValueDescription:!1},{name:\"noResolve\",type:\"boolean\",affectsModuleResolution:!0,category:f.Modules,description:f.Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project,transpileOptionValue:!0,defaultValueDescription:!1},{name:\"stripInternal\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments,defaultValueDescription:!1},{name:\"disableSizeLimit\",type:\"boolean\",affectsProgramStructure:!0,category:f.Editor_Support,description:f.Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server,defaultValueDescription:!1},{name:\"disableSourceOfProjectReferenceRedirect\",type:\"boolean\",isTSConfigOnly:!0,category:f.Projects,description:f.Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects,defaultValueDescription:!1},{name:\"disableSolutionSearching\",type:\"boolean\",isTSConfigOnly:!0,category:f.Projects,description:f.Opt_a_project_out_of_multi_project_reference_checking_when_editing,defaultValueDescription:!1},{name:\"disableReferencedProjectLoad\",type:\"boolean\",isTSConfigOnly:!0,category:f.Projects,description:f.Reduce_the_number_of_projects_loaded_automatically_by_TypeScript,defaultValueDescription:!1},{name:\"noImplicitUseStrict\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Backwards_Compatibility,description:f.Disable_adding_use_strict_directives_in_emitted_JavaScript_files,defaultValueDescription:!1},{name:\"noEmitHelpers\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Disable_generating_custom_helper_functions_like_extends_in_compiled_output,defaultValueDescription:!1},{name:\"noEmitOnError\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,transpileOptionValue:void 0,description:f.Disable_emitting_files_if_any_type_checking_errors_are_reported,defaultValueDescription:!1},{name:\"preserveConstEnums\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Disable_erasing_const_enum_declarations_in_generated_code,defaultValueDescription:!1},{name:\"declarationDir\",type:\"string\",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:f.DIRECTORY,category:f.Emit,transpileOptionValue:void 0,description:f.Specify_the_output_directory_for_generated_declaration_files},{name:\"skipLibCheck\",type:\"boolean\",affectsBuildInfo:!0,category:f.Completeness,description:f.Skip_type_checking_all_d_ts_files,defaultValueDescription:!1},{name:\"allowUnusedLabels\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Disable_error_reporting_for_unused_labels,defaultValueDescription:void 0},{name:\"allowUnreachableCode\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Type_Checking,description:f.Disable_error_reporting_for_unreachable_code,defaultValueDescription:void 0},{name:\"suppressExcessPropertyErrors\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Backwards_Compatibility,description:f.Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals,defaultValueDescription:!1},{name:\"suppressImplicitAnyIndexErrors\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Backwards_Compatibility,description:f.Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures,defaultValueDescription:!1},{name:\"forceConsistentCasingInFileNames\",type:\"boolean\",affectsModuleResolution:!0,category:f.Interop_Constraints,description:f.Ensure_that_casing_is_correct_in_imports,defaultValueDescription:!0},{name:\"maxNodeModuleJsDepth\",type:\"number\",affectsModuleResolution:!0,category:f.JavaScript_Support,description:f.Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs,defaultValueDescription:0},{name:\"noStrictGenericChecks\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:f.Backwards_Compatibility,description:f.Disable_strict_checking_of_generic_signatures_in_function_types,defaultValueDescription:!1},{name:\"useDefineForClassFields\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:f.Language_and_Environment,description:f.Emit_ECMAScript_standard_compliant_class_fields,defaultValueDescription:f.true_for_ES2022_and_above_including_ESNext},{name:\"preserveValueImports\",type:\"boolean\",affectsEmit:!0,affectsBuildInfo:!0,category:f.Emit,description:f.Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed,defaultValueDescription:!1},{name:\"keyofStringsOnly\",type:\"boolean\",category:f.Backwards_Compatibility,description:f.Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option,defaultValueDescription:!1},{name:\"plugins\",type:\"list\",isTSConfigOnly:!0,element:{name:\"plugin\",type:\"object\"},description:f.Specify_a_list_of_language_service_plugins_to_include,category:f.Editor_Support},{name:\"moduleDetection\",type:new Map(Object.entries({auto:2,legacy:1,force:3})),affectsSourceFile:!0,affectsModuleResolution:!0,description:f.Control_what_method_is_used_to_detect_module_format_JS_files,category:f.Language_and_Environment,defaultValueDescription:f.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules},{name:\"ignoreDeprecations\",type:\"string\",defaultValueDescription:void 0}],Nh=[...X2,...uU],pU=Nh.filter(e=>!!e.affectsSemanticDiagnostics),fU=Nh.filter(e=>!!e.affectsEmit),mU=Nh.filter(e=>!!e.affectsDeclarationPath),V6=Nh.filter(e=>!!e.affectsModuleResolution),j6=Nh.filter(e=>!!e.affectsSourceFile||!!e.affectsBindDiagnostics),_U=Nh.filter(e=>!!e.affectsProgramStructure),hU=Nh.filter(e=>rs(e,\"transpileOptionValue\")),gU=[{name:\"verbose\",shortName:\"v\",category:f.Command_line_Options,description:f.Enable_verbose_logging,type:\"boolean\",defaultValueDescription:!1},{name:\"dry\",shortName:\"d\",category:f.Command_line_Options,description:f.Show_what_would_be_built_or_deleted_if_specified_with_clean,type:\"boolean\",defaultValueDescription:!1},{name:\"force\",shortName:\"f\",category:f.Command_line_Options,description:f.Build_all_projects_including_those_that_appear_to_be_up_to_date,type:\"boolean\",defaultValueDescription:!1},{name:\"clean\",category:f.Command_line_Options,description:f.Delete_the_outputs_of_all_projects,type:\"boolean\",defaultValueDescription:!1}],U6=[...X2,...gU],$2=[{name:\"enable\",type:\"boolean\",defaultValueDescription:!1},{name:\"include\",type:\"list\",element:{name:\"include\",type:\"string\"}},{name:\"exclude\",type:\"list\",element:{name:\"exclude\",type:\"string\"}},{name:\"disableFilenameBasedTypeAcquisition\",type:\"boolean\",defaultValueDescription:!1}],S0e={diagnostic:f.Compiler_option_0_may_only_be_used_with_build,getOptionsNameMap:VEe},H6={module:1,target:3,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0},Q2={alternateMode:S0e,getOptionsNameMap:Xx,optionDeclarations:Nh,unknownOptionDiagnostic:f.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:f.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:f.Compiler_option_0_expects_an_argument},A0e={diagnostic:f.Compiler_option_0_may_not_be_used_with_build,getOptionsNameMap:Xx},I0e={alternateMode:A0e,getOptionsNameMap:VEe,optionDeclarations:U6,unknownOptionDiagnostic:f.Unknown_build_option_0,unknownDidYouMeanDiagnostic:f.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:f.Build_option_0_requires_a_value_of_type_1},Jie={optionDeclarations:$2,unknownOptionDiagnostic:f.Unknown_type_acquisition_option_0,unknownDidYouMeanDiagnostic:f.Unknown_type_acquisition_option_0_Did_you_mean_1},q6={getOptionsNameMap:HEe,optionDeclarations:Yx,unknownOptionDiagnostic:f.Unknown_watch_option_0,unknownDidYouMeanDiagnostic:f.Unknown_watch_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:f.Watch_option_0_requires_a_value_of_type_1},Z2={name:\"extends\",type:\"listOrElement\",element:{name:\"extends\",type:\"string\"},category:f.File_Management,disallowNullOrUndefined:!0},Kie={name:\"compilerOptions\",type:\"object\",elementOptions:qEe(),extraKeyDiagnostics:Q2},Xie={name:\"watchOptions\",type:\"object\",elementOptions:JEe(),extraKeyDiagnostics:q6},Yie={name:\"typeAcquisition\",type:\"object\",elementOptions:KEe(),extraKeyDiagnostics:Jie},J6=\"**/*\",N0e=/(^|\\/)\\*\\*\\/?$/,P0e=/^[^*?]*(?=\\/[^/]*[*?])/}});function to(e,t,...r){e.trace(SV(t,...r))}function cg(e,t){return!!e.traceResolution&&t.trace!==void 0}function yI(e,t){let r;if(t&&e){let i=e.contents.packageJsonContent;typeof i.name==\"string\"&&typeof i.version==\"string\"&&(r={name:i.name,subModuleName:t.path.slice(e.packageDirectory.length+Os.length),version:i.version})}return t&&{path:t.path,extension:t.ext,packageId:r,resolvedUsingTsExtension:t.resolvedUsingTsExtension}}function vU(e){return yI(void 0,e)}function M0e(e){if(e)return x.assert(e.packageId===void 0),{path:e.path,ext:e.extension,resolvedUsingTsExtension:e.resolvedUsingTsExtension}}function K6(e){let t=[];return e&1&&t.push(\"TypeScript\"),e&2&&t.push(\"JavaScript\"),e&4&&t.push(\"Declaration\"),e&8&&t.push(\"JSON\"),t.join(\", \")}function H4e(e){let t=[];return e&1&&t.push(...l2),e&2&&t.push(...Px),e&4&&t.push(...s2),e&8&&t.push(\".json\"),t}function Qie(e){if(e)return x.assert(mF(e.extension)),{fileName:e.path,packageId:e.packageId}}function L0e(e,t,r,i,o,s,l,d,p){if(!l.resultFromCache&&!l.compilerOptions.preserveSymlinks&&t&&r&&!t.originalPath&&!Ic(e)){let{resolvedFileName:h,originalPath:m}=w0e(t.path,l.host,l.traceEnabled);m&&(t={...t,path:h,originalPath:m})}return k0e(t,r,i,o,s,l.resultFromCache,d,p)}function k0e(e,t,r,i,o,s,l,d){return s?l?.isReadonly?{...s,failedLookupLocations:Zie(s.failedLookupLocations,r),affectingLocations:Zie(s.affectingLocations,i),resolutionDiagnostics:Zie(s.resolutionDiagnostics,o)}:(s.failedLookupLocations=$x(s.failedLookupLocations,r),s.affectingLocations=$x(s.affectingLocations,i),s.resolutionDiagnostics=$x(s.resolutionDiagnostics,o),s):{resolvedModule:e&&{resolvedFileName:e.path,originalPath:e.originalPath===!0?void 0:e.originalPath,extension:e.extension,isExternalLibraryImport:t,packageId:e.packageId,resolvedUsingTsExtension:!!e.resolvedUsingTsExtension},failedLookupLocations:xN(r),affectingLocations:xN(i),resolutionDiagnostics:xN(o),alternateResult:d}}function xN(e){return e.length?e:void 0}function $x(e,t){return t?.length?e?.length?(e.push(...t),e):t:e}function Zie(e,t){return e?.length?t.length?[...e,...t]:e.slice():xN(t)}function O0e(e,t,r,i){if(!rs(e,t)){i.traceEnabled&&to(i.host,f.package_json_does_not_have_a_0_field,t);return}let o=e[t];if(typeof o!==r||o===null){i.traceEnabled&&to(i.host,f.Expected_type_of_0_field_in_package_json_to_be_1_got_2,t,r,o===null?\"null\":typeof o);return}return o}function yU(e,t,r,i){let o=O0e(e,t,\"string\",i);if(o===void 0)return;if(!o){i.traceEnabled&&to(i.host,f.package_json_had_a_falsy_0_field,t);return}let s=Yo(wr(r,o));return i.traceEnabled&&to(i.host,f.package_json_has_0_field_1_that_references_2,t,o,s),s}function q4e(e,t,r){return yU(e,\"typings\",t,r)||yU(e,\"types\",t,r)}function J4e(e,t,r){return yU(e,\"tsconfig\",t,r)}function K4e(e,t,r){return yU(e,\"main\",t,r)}function X4e(e,t){let r=O0e(e,\"typesVersions\",\"object\",t);if(r!==void 0)return t.traceEnabled&&to(t.host,f.package_json_has_a_typesVersions_field_with_version_specific_path_mappings),r}function Y4e(e,t){let r=X4e(e,t);if(r===void 0)return;if(t.traceEnabled)for(let l in r)rs(r,l)&&!hM.tryParse(l)&&to(t.host,f.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range,l);let i=X6(r);if(!i){t.traceEnabled&&to(t.host,f.package_json_does_not_have_a_typesVersions_entry_that_matches_version_0,jm);return}let{version:o,paths:s}=i;if(typeof s!=\"object\"){t.traceEnabled&&to(t.host,f.Expected_type_of_0_field_in_package_json_to_be_1_got_2,`typesVersions['${o}']`,\"object\",typeof s);return}return i}function X6(e){foe||(foe=new zf(bp));for(let t in e){if(!rs(e,t))continue;let r=hM.tryParse(t);if(r!==void 0&&r.test(foe))return{version:t,paths:e[t]}}}function RN(e,t){if(e.typeRoots)return e.typeRoots;let r;if(e.configFilePath?r=Ur(e.configFilePath):t.getCurrentDirectory&&(r=t.getCurrentDirectory()),r!==void 0)return $4e(r)}function $4e(e){let t;return Vf(Yo(e),r=>{let i=wr(r,iSe);(t??(t=[])).push(i)}),t}function Q4e(e,t,r){let i=typeof r.useCaseSensitiveFileNames==\"function\"?r.useCaseSensitiveFileNames():r.useCaseSensitiveFileNames;return Xh(e,t,!i)===0}function w0e(e,t,r){let i=d3e(e,t,r),o=Q4e(e,i,t);return{resolvedFileName:o?e:i,originalPath:o?void 0:e}}function W0e(e,t,r){let i=Zs(e,\"/node_modules/@types\")||Zs(e,\"/node_modules/@types/\")?tSe(t,r):t;return wr(e,i)}function eoe(e,t,r,i,o,s,l){x.assert(typeof e==\"string\",\"Non-string value passed to `ts.resolveTypeReferenceDirective`, likely by a wrapping package working with an outdated `resolveTypeReferenceDirectives` signature. This is probably not a problem in TS itself.\");let d=cg(r,i);o&&(r=o.commandLine.options);let p=t?Ur(t):void 0,h=p?s?.getFromDirectoryCache(e,l,p,o):void 0;if(!h&&p&&!Ic(e)&&(h=s?.getFromNonRelativeNameCache(e,l,p,o)),h)return d&&(to(i,f.Resolving_type_reference_directive_0_containing_file_1,e,t),o&&to(i,f.Using_compiler_options_of_project_reference_redirect_0,o.sourceFile.fileName),to(i,f.Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1,e,p),F(h)),h;let m=RN(r,i);d&&(t===void 0?m===void 0?to(i,f.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set,e):to(i,f.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1,e,m):m===void 0?to(i,f.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set,e,t):to(i,f.Resolving_type_reference_directive_0_containing_file_1_root_directory_2,e,t,m),o&&to(i,f.Using_compiler_options_of_project_reference_redirect_0,o.sourceFile.fileName));let v=[],E=[],S=toe(r);l!==void 0&&(S|=30);let A=zd(r);l===99&&3<=A&&A<=99&&(S|=32);let C=S&8?hy(r,l):[],R=[],L={compilerOptions:r,host:i,traceEnabled:d,failedLookupLocations:v,affectingLocations:E,packageJsonInfoCache:s,features:S,conditions:C,requestContainingDirectory:p,reportDiagnostic:$=>void R.push($),isConfigLookup:!1,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1},G=oe(),U=!0;G||(G=W(),U=!1);let K;if(G){let{fileName:$,packageId:de}=G,fe=$,q;r.preserveSymlinks||({resolvedFileName:fe,originalPath:q}=w0e($,i,d)),K={primary:U,resolvedFileName:fe,originalPath:q,packageId:de,isExternalLibraryImport:Gb($)}}return h={resolvedTypeReferenceDirective:K,failedLookupLocations:xN(v),affectingLocations:xN(E),resolutionDiagnostics:xN(R)},p&&s&&!s.isReadonly&&(s.getOrCreateCacheForDirectory(p,o).set(e,l,h),Ic(e)||s.getOrCreateCacheForNonRelativeName(e,l,o).set(p,h)),d&&F(h),h;function F($){var de;(de=$.resolvedTypeReferenceDirective)!=null&&de.resolvedFileName?$.resolvedTypeReferenceDirective.packageId?to(i,f.Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3,e,$.resolvedTypeReferenceDirective.resolvedFileName,Qv($.resolvedTypeReferenceDirective.packageId),$.resolvedTypeReferenceDirective.primary):to(i,f.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2,e,$.resolvedTypeReferenceDirective.resolvedFileName,$.resolvedTypeReferenceDirective.primary):to(i,f.Type_reference_directive_0_was_not_resolved,e)}function oe(){if(m&&m.length)return d&&to(i,f.Resolving_with_primary_search_path_0,m.join(\", \")),ml(m,$=>{let de=W0e($,e,L),fe=gm($,i);if(!fe&&d&&to(i,f.Directory_0_does_not_exist_skipping_all_lookups_in_it,$),r.typeRoots){let q=eR(4,de,!fe,L);if(q){let H=tk(q.path),ee=H?m0(H,!1,L):void 0;return Qie(yI(ee,q))}}return Qie(coe(4,de,!fe,L))});d&&to(i,f.Root_directory_cannot_be_determined_skipping_primary_search_paths)}function W(){let $=t&&Ur(t);if($!==void 0){let de;if(!r.typeRoots||!Zs(t,lR))if(d&&to(i,f.Looking_up_in_node_modules_folder_initial_location_0,$),Ic(e)){let{path:fe}=j0e($,e);de=AU(4,fe,!1,L,!0)}else{let fe=$0e(4,e,$,L,void 0,void 0);de=fe&&fe.value}else d&&to(i,f.Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_node_modules_folder);return Qie(de)}else d&&to(i,f.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder)}}function toe(e){let t=0;switch(zd(e)){case 3:t=30;break;case 99:t=30;break;case 100:t=30;break}return e.resolvePackageJsonExports?t|=8:e.resolvePackageJsonExports===!1&&(t&=-9),e.resolvePackageJsonImports?t|=2:e.resolvePackageJsonImports===!1&&(t&=-3),t}function hy(e,t){let r=zd(e);if(t===void 0){if(r===100)t=99;else if(r===2)return[]}let i=t===99?[\"import\"]:[\"require\"];return e.noDtsResolution||i.push(\"types\"),r!==100&&i.push(\"node\"),ro(i,e.customConditions)}function bU(e,t,r,i,o){let s=nk(o?.getPackageJsonInfoCache(),i,r);return Vf(t,l=>{if(Ll(l)!==\"node_modules\"){let d=wr(l,\"node_modules\"),p=wr(d,e);return m0(p,!1,s)}})}function Y6(e,t){if(e.types)return e.types;let r=[];if(t.directoryExists&&t.getDirectories){let i=RN(e,t);if(i){for(let o of i)if(t.directoryExists(o))for(let s of t.getDirectories(o)){let l=Yo(s),d=wr(o,l,\"package.json\");if(!(t.fileExists(d)&&kC(d,t).typings===null)){let h=Ll(l);h.charCodeAt(0)!==46&&r.push(h)}}}}return r}function $6(e){return!!e?.contents}function noe(e){return!!e&&!e.contents}function roe(e){var t;if(e===null||typeof e!=\"object\")return\"\"+e;if(oo(e))return`[${(t=e.map(i=>roe(i)))==null?void 0:t.join(\",\")}]`;let r=\"{\";for(let i in e)rs(e,i)&&(r+=`${i}: ${roe(e[i])}`);return r+\"}\"}function EU(e,t){return t.map(r=>roe(iF(e,r))).join(\"|\")+`|${e.pathsBasePath}`}function SU(e,t){let r=new Map,i=new Map,o=new Map;return e&&r.set(e,o),{getMapOfCacheRedirects:s,getOrCreateMapOfCacheRedirects:l,update:d,clear:h,getOwnMap:()=>o};function s(v){return v?p(v.commandLine.options,!1):o}function l(v){return v?p(v.commandLine.options,!0):o}function d(v){e!==v&&(e?o=p(v,!0):r.set(v,o),e=v)}function p(v,E){let S=r.get(v);if(S)return S;let A=m(v);if(S=i.get(A),!S){if(e){let C=m(e);C===A?S=o:i.has(C)||i.set(C,o)}E&&(S??(S=new Map)),S&&i.set(A,S)}return S&&r.set(v,S),S}function h(){let v=e&&t.get(e);o.clear(),r.clear(),t.clear(),i.clear(),e&&(v&&t.set(e,v),r.set(e,o))}function m(v){let E=t.get(v);return E||t.set(v,E=EU(v,V6)),E}}function Z4e(e,t){let r;return{getPackageJsonInfo:i,setPackageJsonInfo:o,clear:s,getInternalMap:l};function i(d){return r?.get(ks(d,e,t))}function o(d,p){(r||(r=new Map)).set(ks(d,e,t),p)}function s(){r=void 0}function l(){return r}}function F0e(e,t,r,i){let o=e.getOrCreateMapOfCacheRedirects(t),s=o.get(r);return s||(s=i(),o.set(r,s)),s}function e3e(e,t,r,i){let o=SU(r,i);return{getFromDirectoryCache:p,getOrCreateCacheForDirectory:d,clear:s,update:l,directoryToModuleNameMap:o};function s(){o.clear()}function l(h){o.update(h)}function d(h,m){let v=ks(h,e,t);return F0e(o,m,v,()=>bI())}function p(h,m,v,E){var S,A;let C=ks(v,e,t);return(A=(S=o.getMapOfCacheRedirects(E))==null?void 0:S.get(C))==null?void 0:A.get(h,m)}}function DN(e,t){return t===void 0?e:`${t}|${e}`}function bI(){let e=new Map,t=new Map,r={get(o,s){return e.get(i(o,s))},set(o,s,l){return e.set(i(o,s),l),r},delete(o,s){return e.delete(i(o,s)),r},has(o,s){return e.has(i(o,s))},forEach(o){return e.forEach((s,l)=>{let[d,p]=t.get(l);return o(s,d,p)})},size(){return e.size}};return r;function i(o,s){let l=DN(o,s);return t.set(l,[o,s]),l}}function t3e(e){return e.resolvedModule&&(e.resolvedModule.originalPath||e.resolvedModule.resolvedFileName)}function n3e(e){return e.resolvedTypeReferenceDirective&&(e.resolvedTypeReferenceDirective.originalPath||e.resolvedTypeReferenceDirective.resolvedFileName)}function r3e(e,t,r,i,o){let s=SU(r,o);return{getFromNonRelativeNameCache:p,getOrCreateCacheForNonRelativeName:h,clear:l,update:d};function l(){s.clear()}function d(v){s.update(v)}function p(v,E,S,A){var C,R;return x.assert(!Ic(v)),(R=(C=s.getMapOfCacheRedirects(A))==null?void 0:C.get(DN(v,E)))==null?void 0:R.get(S)}function h(v,E,S){return x.assert(!Ic(v)),F0e(s,S,DN(v,E),m)}function m(){let v=new Map;return{get:E,set:S};function E(C){return v.get(ks(C,e,t))}function S(C,R){let L=ks(C,e,t);if(v.has(L))return;v.set(L,R);let G=i(R),U=G&&A(L,G),K=L;for(;K!==U;){let F=Ur(K);if(F===K||v.has(F))break;v.set(F,R),K=F}}function A(C,R){let L=ks(Ur(R),e,t),G=0,U=Math.min(C.length,L.length);for(;G<U&&C.charCodeAt(G)===L.charCodeAt(G);)G++;if(G===C.length&&(L.length===G||L[G]===Os))return C;let K=M_(C);if(G<K)return;let F=C.lastIndexOf(Os,G-1);if(F!==-1)return C.substr(0,Math.max(F,K))}}}function z0e(e,t,r,i,o,s){s??(s=new Map);let l=e3e(e,t,r,s),d=r3e(e,t,r,o,s);return i??(i=Z4e(e,t)),{...i,...l,...d,clear:p,update:m,getPackageJsonInfoCache:()=>i,clearAllExceptPackageJsonInfoCache:h,optionsToRedirectsKey:s};function p(){h(),i.clear()}function h(){l.clear(),d.clear()}function m(v){l.update(v),d.update(v)}}function Qx(e,t,r,i,o){let s=z0e(e,t,r,i,t3e,o);return s.getOrCreateCacheForModuleName=(l,d,p)=>s.getOrCreateCacheForNonRelativeName(l,d,p),s}function Q6(e,t,r,i,o){return z0e(e,t,r,i,n3e,o)}function TU(e){return{moduleResolution:2,traceResolution:e.traceResolution}}function Z6(e,t,r,i,o){return Zx(e,t,TU(r),i,o)}function B0e(e,t,r,i){let o=Ur(t);return r.getFromDirectoryCache(e,i,o,void 0)}function Zx(e,t,r,i,o,s,l){var d,p,h;let m=cg(r,i);s&&(r=s.commandLine.options),m&&(to(i,f.Resolving_module_0_from_1,e,t),s&&to(i,f.Using_compiler_options_of_project_reference_redirect_0,s.sourceFile.fileName));let v=Ur(t),E=o?.getFromDirectoryCache(e,l,v,s);if(E)m&&to(i,f.Resolution_for_module_0_was_found_in_cache_from_location_1,e,v);else{let S=r.moduleResolution;switch(S===void 0?(S=zd(r),m&&to(i,f.Module_resolution_kind_is_not_specified_using_0,O1[S])):m&&to(i,f.Explicitly_specified_module_resolution_kind_Colon_0,O1[S]),(d=Pd)==null||d.logStartResolveModule(e),S){case 3:E=s3e(e,t,r,i,o,s,l);break;case 99:E=l3e(e,t,r,i,o,s,l);break;case 2:E=aoe(e,t,r,i,o,s,l?hy(r,l):void 0);break;case 1:E=uoe(e,t,r,i,o,s);break;case 100:E=ooe(e,t,r,i,o,s,l?hy(r,l):void 0);break;default:return x.fail(`Unexpected moduleResolution: ${S}`)}E&&E.resolvedModule&&((p=Pd)==null||p.logInfoEvent(`Module \"${e}\" resolved to \"${E.resolvedModule.resolvedFileName}\"`)),(h=Pd)==null||h.logStopResolveModule(E&&E.resolvedModule?\"\"+E.resolvedModule.resolvedFileName:\"null\"),o&&!o.isReadonly&&(o.getOrCreateCacheForDirectory(v,s).set(e,l,E),Ic(e)||o.getOrCreateCacheForNonRelativeName(e,l,s).set(v,E))}return m&&(E.resolvedModule?E.resolvedModule.packageId?to(i,f.Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2,e,E.resolvedModule.resolvedFileName,Qv(E.resolvedModule.packageId)):to(i,f.Module_name_0_was_successfully_resolved_to_1,e,E.resolvedModule.resolvedFileName):to(i,f.Module_name_0_was_not_resolved,e)),E}function G0e(e,t,r,i,o){let s=i3e(e,t,i,o);return s?s.value:Ic(t)?o3e(e,t,r,i,o):a3e(e,t,i,o)}function i3e(e,t,r,i){var o;let{baseUrl:s,paths:l,configFile:d}=i.compilerOptions;if(l&&!op(t)){i.traceEnabled&&(s&&to(i.host,f.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,s,t),to(i.host,f.paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0,t));let p=zW(i.compilerOptions,i.host),h=d?.configFileSpecs?(o=d.configFileSpecs).pathPatterns||(o.pathPatterns=fF(l)):void 0;return doe(e,t,p,l,h,r,!1,i)}}function o3e(e,t,r,i,o){if(!o.compilerOptions.rootDirs)return;o.traceEnabled&&to(o.host,f.rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0,t);let s=Yo(wr(r,t)),l,d;for(let p of o.compilerOptions.rootDirs){let h=Yo(p);Zs(h,Os)||(h+=Os);let m=Ui(s,h)&&(d===void 0||d.length<h.length);o.traceEnabled&&to(o.host,f.Checking_if_0_is_the_longest_matching_prefix_for_1_2,h,s,m),m&&(d=h,l=p)}if(d){o.traceEnabled&&to(o.host,f.Longest_matching_prefix_for_0_is_1,s,d);let p=s.substr(d.length);o.traceEnabled&&to(o.host,f.Loading_0_from_the_root_dir_1_candidate_location_2,p,d,s);let h=i(e,s,!gm(r,o.host),o);if(h)return h;o.traceEnabled&&to(o.host,f.Trying_other_entries_in_rootDirs);for(let m of o.compilerOptions.rootDirs){if(m===l)continue;let v=wr(Yo(m),p);o.traceEnabled&&to(o.host,f.Loading_0_from_the_root_dir_1_candidate_location_2,p,m,v);let E=Ur(v),S=i(e,v,!gm(E,o.host),o);if(S)return S}o.traceEnabled&&to(o.host,f.Module_resolution_using_rootDirs_has_failed)}}function a3e(e,t,r,i){let{baseUrl:o}=i.compilerOptions;if(!o)return;i.traceEnabled&&to(i.host,f.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,o,t);let s=Yo(wr(o,t));return i.traceEnabled&&to(i.host,f.Resolving_module_name_0_relative_to_base_url_1_2,t,o,s),r(e,s,!gm(Ur(s),i.host),i)}function ioe(e,t,r){let{resolvedModule:i,failedLookupLocations:o}=c3e(e,t,r);if(!i)throw new Error(`Could not resolve JS module '${e}' starting at '${t}'. Looked in: ${o?.join(\", \")}`);return i.resolvedFileName}function s3e(e,t,r,i,o,s,l){return V0e(30,e,t,r,i,o,s,l)}function l3e(e,t,r,i,o,s,l){return V0e(30,e,t,r,i,o,s,l)}function V0e(e,t,r,i,o,s,l,d,p){let h=Ur(r),m=d===99?32:0,v=i.noDtsResolution?3:7;return Mb(i)&&(v|=8),ek(e|m,t,h,i,o,s,v,!1,l,p)}function c3e(e,t,r){return ek(0,e,t,{moduleResolution:2,allowJs:!0},r,void 0,2,!1,void 0,void 0)}function ooe(e,t,r,i,o,s,l){let d=Ur(t),p=r.noDtsResolution?3:7;return Mb(r)&&(p|=8),ek(toe(r),e,d,r,i,o,p,!1,s,l)}function aoe(e,t,r,i,o,s,l,d){let p;return d?p=8:r.noDtsResolution?(p=3,Mb(r)&&(p|=8)):p=Mb(r)?15:7,ek(l?30:0,e,Ur(t),r,i,o,p,!!d,s,l)}function soe(e,t,r){return ek(30,e,Ur(t),{moduleResolution:99},r,void 0,8,!0,void 0,void 0)}function ek(e,t,r,i,o,s,l,d,p,h){var m,v,E,S,A;let C=cg(i,o),R=[],L=[],G=zd(i);h??(h=hy(i,G===100||G===2?void 0:e&32?99:1));let U=[],K={compilerOptions:i,host:o,traceEnabled:C,failedLookupLocations:R,affectingLocations:L,packageJsonInfoCache:s,features:e,conditions:h??je,requestContainingDirectory:r,reportDiagnostic:$=>void U.push($),isConfigLookup:d,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1};C&&HA(G)&&to(o,f.Resolving_in_0_mode_with_conditions_1,e&32?\"ESM\":\"CJS\",K.conditions.map($=>`'${$}'`).join(\", \"));let F;if(G===2){let $=l&5,de=l&-6;F=$&&W($,K)||de&&W(de,K)||void 0}else F=W(l,K);let oe;if(K.resolvedPackageDirectory&&!d&&!Ic(t)){let $=F?.value&&l&5&&!K0e(5,F.value.resolved.extension);if((m=F?.value)!=null&&m.isExternalLibraryImport&&$&&e&8&&h?.includes(\"import\")){gy(K,f.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update);let de={...K,features:K.features&-9,reportDiagnostic:Ca},fe=W(l&5,de);(v=fe?.value)!=null&&v.isExternalLibraryImport&&(oe=fe.value.resolved.path)}else if((!F?.value||$)&&G===2){gy(K,f.Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_need_configuration_update);let de={...K.compilerOptions,moduleResolution:100},fe={...K,compilerOptions:de,features:30,conditions:hy(de),reportDiagnostic:Ca},q=W(l&5,fe);(E=q?.value)!=null&&E.isExternalLibraryImport&&(oe=q.value.resolved.path)}}return L0e(t,(S=F?.value)==null?void 0:S.resolved,(A=F?.value)==null?void 0:A.isExternalLibraryImport,R,L,U,K,s,oe);function W($,de){let q=G0e($,t,r,(H,ee,le,Ee)=>AU(H,ee,le,Ee,!0),de);if(q)return Rp({resolved:q,isExternalLibraryImport:Gb(q.path)});if(Ic(t)){let{path:H,parts:ee}=j0e(r,t),le=AU($,H,!1,de,!0);return le&&Rp({resolved:le,isExternalLibraryImport:To(ee,\"node_modules\")})}else{let H;if(e&2&&Ui(t,\"#\")&&(H=m3e($,t,r,de,s,p)),!H&&e&4&&(H=f3e($,t,r,de,s,p)),!H){if(t.includes(\":\")){C&&to(o,f.Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1,t,K6($));return}C&&to(o,f.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1,t,K6($)),H=$0e($,t,r,de,s,p)}return $&4&&(H??(H=rSe(t,de))),H&&{value:H.value&&{resolved:H.value,isExternalLibraryImport:!0}}}}}function j0e(e,t){let r=wr(e,t),i=mc(r),o=Ns(i);return{path:o===\".\"||o===\"..\"?_c(Yo(r)):Yo(r),parts:i}}function d3e(e,t,r){if(!t.realpath)return e;let i=Yo(t.realpath(e));return r&&to(t,f.Resolving_real_path_for_0_result_1,e,i),i}function AU(e,t,r,i,o){if(i.traceEnabled&&to(i.host,f.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1,t,K6(e)),!Jg(t)){if(!r){let l=Ur(t);gm(l,i.host)||(i.traceEnabled&&to(i.host,f.Directory_0_does_not_exist_skipping_all_lookups_in_it,l),r=!0)}let s=eR(e,t,r,i);if(s){let l=o?tk(s.path):void 0,d=l?m0(l,!1,i):void 0;return yI(d,s)}}if(r||gm(t,i.host)||(i.traceEnabled&&to(i.host,f.Directory_0_does_not_exist_skipping_all_lookups_in_it,t),r=!0),!(i.features&32))return coe(e,t,r,i,o)}function Gb(e){return e.includes(q_)}function tk(e,t){let r=Yo(e),i=r.lastIndexOf(q_);if(i===-1)return;let o=i+q_.length,s=U0e(r,o,t);return r.charCodeAt(o)===64&&(s=U0e(r,s,t)),r.slice(0,s)}function U0e(e,t,r){let i=e.indexOf(Os,t+1);return i===-1?r?e.length:t:i}function loe(e,t,r,i){return vU(eR(e,t,r,i))}function eR(e,t,r,i){let o=H0e(e,t,r,i);if(o)return o;if(!(i.features&32)){let s=q0e(t,e,\"\",r,i);if(s)return s}}function H0e(e,t,r,i){if(!Ll(t).includes(\".\"))return;let s=Yd(t);s===t&&(s=t.substring(0,t.lastIndexOf(\".\")));let l=t.substring(s.length);return i.traceEnabled&&to(i.host,f.File_name_0_has_a_1_extension_stripping_it,t,l),q0e(s,e,l,r,i)}function IU(e,t,r,i){return e&1&&$l(t,l2)||e&4&&$l(t,s2)?xU(t,r,i)!==void 0?{path:t,ext:JW(t),resolvedUsingTsExtension:void 0}:void 0:i.isConfigLookup&&e===8&&el(t,\".json\")?xU(t,r,i)!==void 0?{path:t,ext:\".json\",resolvedUsingTsExtension:void 0}:void 0:H0e(e,t,r,i)}function q0e(e,t,r,i,o){if(!i){let l=Ur(e);l&&(i=!gm(l,o.host))}switch(r){case\".mjs\":case\".mts\":case\".d.mts\":return t&1&&s(\".mts\",r===\".mts\"||r===\".d.mts\")||t&4&&s(\".d.mts\",r===\".mts\"||r===\".d.mts\")||t&2&&s(\".mjs\")||void 0;case\".cjs\":case\".cts\":case\".d.cts\":return t&1&&s(\".cts\",r===\".cts\"||r===\".d.cts\")||t&4&&s(\".d.cts\",r===\".cts\"||r===\".d.cts\")||t&2&&s(\".cjs\")||void 0;case\".json\":return t&4&&s(\".d.json.ts\")||t&8&&s(\".json\")||void 0;case\".tsx\":case\".jsx\":return t&1&&(s(\".tsx\",r===\".tsx\")||s(\".ts\",r===\".tsx\"))||t&4&&s(\".d.ts\",r===\".tsx\")||t&2&&(s(\".jsx\")||s(\".js\"))||void 0;case\".ts\":case\".d.ts\":case\".js\":case\"\":return t&1&&(s(\".ts\",r===\".ts\"||r===\".d.ts\")||s(\".tsx\",r===\".ts\"||r===\".d.ts\"))||t&4&&s(\".d.ts\",r===\".ts\"||r===\".d.ts\")||t&2&&(s(\".js\")||s(\".jsx\"))||o.isConfigLookup&&s(\".json\")||void 0;default:return t&4&&!Yc(e+r)&&s(`.d${r}.ts`)||void 0}function s(l,d){let p=xU(e+l,i,o);return p===void 0?void 0:{path:p,ext:l,resolvedUsingTsExtension:!o.candidateIsFromPackageJsonField&&d}}}function xU(e,t,r){var i;if(!((i=r.compilerOptions.moduleSuffixes)!=null&&i.length))return J0e(e,t,r);let o=og(e)??\"\",s=o?QL(e,o):e;return an(r.compilerOptions.moduleSuffixes,l=>J0e(s+l+o,t,r))}function J0e(e,t,r){var i;if(!t){if(r.host.fileExists(e))return r.traceEnabled&&to(r.host,f.File_0_exists_use_it_as_a_name_resolution_result,e),e;r.traceEnabled&&to(r.host,f.File_0_does_not_exist,e)}(i=r.failedLookupLocations)==null||i.push(e)}function coe(e,t,r,i,o=!0){let s=o?m0(t,r,i):void 0,l=s&&s.contents.packageJsonContent,d=s&&e4(s,i);return yI(s,DU(e,t,r,i,l,d))}function RU(e,t,r,i,o){if(!o&&e.contents.resolvedEntrypoints!==void 0)return e.contents.resolvedEntrypoints;let s,l=5|(o?2:0),d=toe(t),p=nk(i?.getPackageJsonInfoCache(),r,t);p.conditions=hy(t),p.requestContainingDirectory=e.packageDirectory;let h=DU(l,e.packageDirectory,!1,p,e.contents.packageJsonContent,e4(e,p));if(s=pn(s,h?.path),d&8&&e.contents.packageJsonContent.exports){let m=NE([hy(t,99),hy(t,1)],mm);for(let v of m){let E={...p,failedLookupLocations:[],conditions:v,host:r},S=u3e(e,e.contents.packageJsonContent.exports,E,l);if(S)for(let A of S)s=Kh(s,A.path)}}return e.contents.resolvedEntrypoints=s||!1}function u3e(e,t,r,i){let o;if(oo(t))for(let l of t)s(l);else if(typeof t==\"object\"&&t!==null&&t4(t))for(let l in t)s(t[l]);else s(t);return o;function s(l){var d,p;if(typeof l==\"string\"&&Ui(l,\"./\"))if(l.includes(\"*\")&&r.host.readDirectory){if(l.indexOf(\"*\")!==l.lastIndexOf(\"*\"))return!1;r.host.readDirectory(e.packageDirectory,H4e(i),void 0,[pee(KA(l,\"**/*\"),\".*\")]).forEach(h=>{o=Kh(o,{path:h,ext:w1(h),resolvedUsingTsExtension:void 0})})}else{let h=mc(l).slice(2);if(h.includes(\"..\")||h.includes(\".\")||h.includes(\"node_modules\"))return!1;let m=wr(e.packageDirectory,l),v=Qi(m,(p=(d=r.host).getCurrentDirectory)==null?void 0:p.call(d)),E=IU(i,v,!1,r);if(E)return o=Kh(o,E,(S,A)=>S.path===A.path),!0}else if(Array.isArray(l)){for(let h of l)if(s(h))return!0}else if(typeof l==\"object\"&&l!==null)return an(fh(l),h=>{if(h===\"default\"||To(r.conditions,h)||ok(r.conditions,h))return s(l[h]),!0})}}function nk(e,t,r){return{host:t,compilerOptions:r,traceEnabled:cg(r,t),failedLookupLocations:void 0,affectingLocations:void 0,packageJsonInfoCache:e,features:0,conditions:je,requestContainingDirectory:void 0,reportDiagnostic:Ca,isConfigLookup:!1,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1}}function rk(e,t){let r=mc(e);for(r.pop();r.length>0;){let i=m0(Vv(r),!1,t);if(i)return i;r.pop()}}function e4(e,t){return e.contents.versionPaths===void 0&&(e.contents.versionPaths=Y4e(e.contents.packageJsonContent,t)||!1),e.contents.versionPaths||void 0}function m0(e,t,r){var i,o,s,l,d,p;let{host:h,traceEnabled:m}=r,v=wr(e,\"package.json\");if(t){(i=r.failedLookupLocations)==null||i.push(v);return}let E=(o=r.packageJsonInfoCache)==null?void 0:o.getPackageJsonInfo(v);if(E!==void 0){if($6(E))return m&&to(h,f.File_0_exists_according_to_earlier_cached_lookups,v),(s=r.affectingLocations)==null||s.push(v),E.packageDirectory===e?E:{packageDirectory:e,contents:E.contents};E.directoryExists&&m&&to(h,f.File_0_does_not_exist_according_to_earlier_cached_lookups,v),(l=r.failedLookupLocations)==null||l.push(v);return}let S=gm(e,h);if(S&&h.fileExists(v)){let A=kC(v,h);m&&to(h,f.Found_package_json_at_0,v);let C={packageDirectory:e,contents:{packageJsonContent:A,versionPaths:void 0,resolvedEntrypoints:void 0}};return r.packageJsonInfoCache&&!r.packageJsonInfoCache.isReadonly&&r.packageJsonInfoCache.setPackageJsonInfo(v,C),(d=r.affectingLocations)==null||d.push(v),C}else S&&m&&to(h,f.File_0_does_not_exist,v),r.packageJsonInfoCache&&!r.packageJsonInfoCache.isReadonly&&r.packageJsonInfoCache.setPackageJsonInfo(v,{packageDirectory:e,directoryExists:S}),(p=r.failedLookupLocations)==null||p.push(v)}function DU(e,t,r,i,o,s){let l;o&&(i.isConfigLookup?l=J4e(o,t,i):l=e&4&&q4e(o,t,i)||e&7&&K4e(o,t,i)||void 0);let d=(E,S,A,C)=>{let R=IU(E,S,A,C);if(R)return vU(R);let L=E===4?5:E,G=C.features,U=C.candidateIsFromPackageJsonField;C.candidateIsFromPackageJsonField=!0,o?.type!==\"module\"&&(C.features&=-33);let K=AU(L,S,A,C,!1);return C.features=G,C.candidateIsFromPackageJsonField=U,K},p=l?!gm(Ur(l),i.host):void 0,h=r||!gm(t,i.host),m=wr(t,i.isConfigLookup?\"tsconfig\":\"index\");if(s&&(!l||Bf(t,l))){let E=Gf(t,l||m,!1);i.traceEnabled&&to(i.host,f.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,s.version,bp,E);let S=doe(e,E,t,s.paths,void 0,d,p||h,i);if(S)return M0e(S.value)}let v=l&&M0e(d(e,l,p,i));if(v)return v;if(!(i.features&32))return eR(e,m,h,i)}function K0e(e,t){return e&2&&(t===\".js\"||t===\".jsx\"||t===\".mjs\"||t===\".cjs\")||e&1&&(t===\".ts\"||t===\".tsx\"||t===\".mts\"||t===\".cts\")||e&4&&(t===\".d.ts\"||t===\".d.mts\"||t===\".d.cts\")||e&8&&t===\".json\"||!1}function ik(e){let t=e.indexOf(Os);return e[0]===\"@\"&&(t=e.indexOf(Os,t+1)),t===-1?{packageName:e,rest:\"\"}:{packageName:e.slice(0,t),rest:e.slice(t+1)}}function t4(e){return ji(fh(e),t=>Ui(t,\".\"))}function p3e(e){return!ct(fh(e),t=>Ui(t,\".\"))}function f3e(e,t,r,i,o,s){var l,d;let p=Qi(wr(r,\"dummy\"),(d=(l=i.host).getCurrentDirectory)==null?void 0:d.call(l)),h=rk(p,i);if(!h||!h.contents.packageJsonContent.exports||typeof h.contents.packageJsonContent.name!=\"string\")return;let m=mc(t),v=mc(h.contents.packageJsonContent.name);if(!ji(v,(R,L)=>m[L]===R))return;let E=m.slice(v.length),S=yn(E)?`.${Os}${E.join(Os)}`:\".\";if(sy(i.compilerOptions)&&!Gb(r))return CU(h,e,S,i,o,s);let A=e&5,C=e&-6;return CU(h,A,S,i,o,s)||CU(h,C,S,i,o,s)}function CU(e,t,r,i,o,s){if(e.contents.packageJsonContent.exports){if(r===\".\"){let l;if(typeof e.contents.packageJsonContent.exports==\"string\"||Array.isArray(e.contents.packageJsonContent.exports)||typeof e.contents.packageJsonContent.exports==\"object\"&&p3e(e.contents.packageJsonContent.exports)?l=e.contents.packageJsonContent.exports:rs(e.contents.packageJsonContent.exports,\".\")&&(l=e.contents.packageJsonContent.exports[\".\"]),l)return Y0e(t,i,o,s,r,e,!1)(l,\"\",!1,\".\")}else if(t4(e.contents.packageJsonContent.exports)){if(typeof e.contents.packageJsonContent.exports!=\"object\")return i.traceEnabled&&to(i.host,f.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,r,e.packageDirectory),Rp(void 0);let l=X0e(t,i,o,s,r,e.contents.packageJsonContent.exports,e,!1);if(l)return l}return i.traceEnabled&&to(i.host,f.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,r,e.packageDirectory),Rp(void 0)}}function m3e(e,t,r,i,o,s){var l,d;if(t===\"#\"||Ui(t,\"#/\"))return i.traceEnabled&&to(i.host,f.Invalid_import_specifier_0_has_no_possible_resolutions,t),Rp(void 0);let p=Qi(wr(r,\"dummy\"),(d=(l=i.host).getCurrentDirectory)==null?void 0:d.call(l)),h=rk(p,i);if(!h)return i.traceEnabled&&to(i.host,f.Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve,p),Rp(void 0);if(!h.contents.packageJsonContent.imports)return i.traceEnabled&&to(i.host,f.package_json_scope_0_has_no_imports_defined,h.packageDirectory),Rp(void 0);let m=X0e(e,i,o,s,t,h.contents.packageJsonContent.imports,h,!0);return m||(i.traceEnabled&&to(i.host,f.Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1,t,h.packageDirectory),Rp(void 0))}function NU(e,t){let r=e.indexOf(\"*\"),i=t.indexOf(\"*\"),o=r===-1?e.length:r+1,s=i===-1?t.length:i+1;return o>s?-1:s>o||r===-1?1:i===-1||e.length>t.length?-1:t.length>e.length?1:0}function X0e(e,t,r,i,o,s,l,d){let p=Y0e(e,t,r,i,o,l,d);if(!Zs(o,Os)&&!o.includes(\"*\")&&rs(s,o)){let v=s[o];return p(v,\"\",!1,o)}let h=uS(Cr(fh(s),v=>v.includes(\"*\")||Zs(v,\"/\")),NU);for(let v of h)if(t.features&16&&m(v,o)){let E=s[v],S=v.indexOf(\"*\"),A=o.substring(v.substring(0,S).length,o.length-(v.length-1-S));return p(E,A,!0,v)}else if(Zs(v,\"*\")&&Ui(o,v.substring(0,v.length-1))){let E=s[v],S=o.substring(v.length-1);return p(E,S,!0,v)}else if(Ui(o,v)){let E=s[v],S=o.substring(v.length);return p(E,S,!1,v)}function m(v,E){if(Zs(v,\"*\"))return!1;let S=v.indexOf(\"*\");return S===-1?!1:Ui(E,v.substring(0,S))&&Zs(E,v.substring(S+1))}}function Y0e(e,t,r,i,o,s,l){return d;function d(p,h,m,v){if(typeof p==\"string\"){if(!m&&h.length>0&&!Zs(p,\"/\"))return t.traceEnabled&&to(t.host,f.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Rp(void 0);if(!Ui(p,\"./\")){if(l&&!Ui(p,\"../\")&&!Ui(p,\"/\")&&!Ou(p)){let F=m?p.replace(/\\*/g,h):p+h;gy(t,f.Using_0_subpath_1_with_target_2,\"imports\",v,F),gy(t,f.Resolving_module_0_from_1,F,s.packageDirectory+\"/\");let oe=ek(t.features,F,s.packageDirectory+\"/\",t.compilerOptions,t.host,r,e,!1,i,t.conditions);return Rp(oe.resolvedModule?{path:oe.resolvedModule.resolvedFileName,extension:oe.resolvedModule.extension,packageId:oe.resolvedModule.packageId,originalPath:oe.resolvedModule.originalPath,resolvedUsingTsExtension:oe.resolvedModule.resolvedUsingTsExtension}:void 0)}return t.traceEnabled&&to(t.host,f.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Rp(void 0)}let R=(op(p)?mc(p).slice(1):mc(p)).slice(1);if(R.includes(\"..\")||R.includes(\".\")||R.includes(\"node_modules\"))return t.traceEnabled&&to(t.host,f.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Rp(void 0);let L=wr(s.packageDirectory,p),G=mc(h);if(G.includes(\"..\")||G.includes(\".\")||G.includes(\"node_modules\"))return t.traceEnabled&&to(t.host,f.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Rp(void 0);t.traceEnabled&&to(t.host,f.Using_0_subpath_1_with_target_2,l?\"imports\":\"exports\",v,m?p.replace(/\\*/g,h):p+h);let U=E(m?L.replace(/\\*/g,h):L+h),K=A(U,h,wr(s.packageDirectory,\"package.json\"),l);return K||Rp(yI(s,IU(e,U,!1,t)))}else if(typeof p==\"object\"&&p!==null)if(Array.isArray(p)){if(!yn(p))return t.traceEnabled&&to(t.host,f.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Rp(void 0);for(let C of p){let R=d(C,h,m,v);if(R)return R}}else{gy(t,f.Entering_conditional_exports);for(let C of fh(p))if(C===\"default\"||t.conditions.includes(C)||ok(t.conditions,C)){gy(t,f.Matched_0_condition_1,l?\"imports\":\"exports\",C);let R=p[C],L=d(R,h,m,v);if(L)return gy(t,f.Resolved_under_condition_0,C),gy(t,f.Exiting_conditional_exports),L;gy(t,f.Failed_to_resolve_under_condition_0,C)}else gy(t,f.Saw_non_matching_condition_0,C);gy(t,f.Exiting_conditional_exports);return}else if(p===null)return t.traceEnabled&&to(t.host,f.package_json_scope_0_explicitly_maps_specifier_1_to_null,s.packageDirectory,o),Rp(void 0);return t.traceEnabled&&to(t.host,f.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Rp(void 0);function E(C){var R,L;return C===void 0?C:Qi(C,(L=(R=t.host).getCurrentDirectory)==null?void 0:L.call(R))}function S(C,R){return _c(wr(C,R))}function A(C,R,L,G){var U,K,F,oe;if(!t.isConfigLookup&&(t.compilerOptions.declarationDir||t.compilerOptions.outDir)&&!C.includes(\"/node_modules/\")&&(!t.compilerOptions.configFile||Bf(s.packageDirectory,E(t.compilerOptions.configFile.fileName),!PU(t)))){let $=ev({useCaseSensitiveFileNames:()=>PU(t)}),de=[];if(t.compilerOptions.rootDir||t.compilerOptions.composite&&t.compilerOptions.configFilePath){let fe=E(VN(t.compilerOptions,()=>[],((K=(U=t.host).getCurrentDirectory)==null?void 0:K.call(U))||\"\",$));de.push(fe)}else if(t.requestContainingDirectory){let fe=E(wr(t.requestContainingDirectory,\"index.ts\")),q=E(VN(t.compilerOptions,()=>[fe,E(L)],((oe=(F=t.host).getCurrentDirectory)==null?void 0:oe.call(F))||\"\",$));de.push(q);let H=_c(q);for(;H&&H.length>1;){let ee=mc(H);ee.pop();let le=Vv(ee);de.unshift(le),H=_c(le)}}de.length>1&&t.reportDiagnostic(bl(G?f.The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:f.The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate,R===\"\"?\".\":R,L));for(let fe of de){let q=W(fe);for(let H of q)if(Bf(H,C,!PU(t))){let ee=C.slice(H.length+1),le=wr(fe,ee),Ee=[\".mjs\",\".cjs\",\".js\",\".json\",\".d.mts\",\".d.cts\",\".d.ts\"];for(let ce of Ee)if(el(le,ce)){let Z=une(le);for(let pe of Z){if(!K0e(e,pe))continue;let Ae=xM(le,pe,ce,!PU(t));if(t.host.fileExists(Ae))return Rp(yI(s,IU(e,Ae,!1,t)))}}}}}return;function W($){var de,fe;let q=t.compilerOptions.configFile?((fe=(de=t.host).getCurrentDirectory)==null?void 0:fe.call(de))||\"\":$,H=[];return t.compilerOptions.declarationDir&&H.push(E(S(q,t.compilerOptions.declarationDir))),t.compilerOptions.outDir&&t.compilerOptions.outDir!==t.compilerOptions.declarationDir&&H.push(E(S(q,t.compilerOptions.outDir))),H}}}}function ok(e,t){if(!e.includes(\"types\")||!Ui(t,\"types@\"))return!1;let r=hM.tryParse(t.substring(6));return r?r.test(bp):!1}function $0e(e,t,r,i,o,s){return Q0e(e,t,r,i,!1,o,s)}function _3e(e,t,r){return Q0e(4,e,t,r,!0,void 0,void 0)}function Q0e(e,t,r,i,o,s,l){let d=i.features===0?void 0:i.features&32?99:1,p=e&5,h=e&-6;if(p){gy(i,f.Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0,K6(p));let v=m(p);if(v)return v}if(h&&!o)return gy(i,f.Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0,K6(h)),m(h);function m(v){return Vf(ad(r),E=>{if(Ll(E)!==\"node_modules\"){let S=nSe(s,t,d,E,l,i);return S||Rp(Z0e(v,t,E,i,o,s,l))}})}}function Z0e(e,t,r,i,o,s,l){let d=wr(r,\"node_modules\"),p=gm(d,i.host);if(!p&&i.traceEnabled&&to(i.host,f.Directory_0_does_not_exist_skipping_all_lookups_in_it,d),!o){let h=eSe(e,t,d,p,i,s,l);if(h)return h}if(e&4){let h=wr(d,\"@types\"),m=p;return p&&!gm(h,i.host)&&(i.traceEnabled&&to(i.host,f.Directory_0_does_not_exist_skipping_all_lookups_in_it,h),m=!1),eSe(4,tSe(t,i),h,m,i,s,l)}}function eSe(e,t,r,i,o,s,l){var d,p;let h=Yo(wr(r,t)),{packageName:m,rest:v}=ik(t),E=wr(r,m),S,A=m0(h,!i,o);if(v!==\"\"&&A&&(!(o.features&8)||!rs(((d=S=m0(E,!i,o))==null?void 0:d.contents.packageJsonContent)??je,\"exports\"))){let L=eR(e,h,!i,o);if(L)return vU(L);let G=DU(e,h,!i,o,A.contents.packageJsonContent,e4(A,o));return yI(A,G)}let C=(L,G,U,K)=>{let F=(v||!(K.features&32))&&eR(L,G,U,K)||DU(L,G,U,K,A&&A.contents.packageJsonContent,A&&e4(A,K));return!F&&A&&(A.contents.packageJsonContent.exports===void 0||A.contents.packageJsonContent.exports===null)&&K.features&32&&(F=eR(L,wr(G,\"index.js\"),U,K)),yI(A,F)};if(v!==\"\"&&(A=S??m0(E,!i,o)),A&&(o.resolvedPackageDirectory=!0),A&&A.contents.packageJsonContent.exports&&o.features&8)return(p=CU(A,e,wr(\".\",v),o,s,l))==null?void 0:p.value;let R=v!==\"\"&&A?e4(A,o):void 0;if(R){o.traceEnabled&&to(o.host,f.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,R.version,bp,v);let L=i&&gm(E,o.host),G=doe(e,v,E,R.paths,void 0,C,!L,o);if(G)return G.value}return C(e,h,!i,o)}function doe(e,t,r,i,o,s,l,d){o||(o=fF(i));let p=CV(o,t);if(p){let h=fo(p)?void 0:qZ(p,t),m=fo(p)?p:HZ(p);return d.traceEnabled&&to(d.host,f.Module_name_0_matched_pattern_1,t,m),{value:an(i[m],E=>{let S=h?KA(E,h):E,A=Yo(wr(r,S));d.traceEnabled&&to(d.host,f.Trying_substitution_0_candidate_module_location_Colon_1,E,S);let C=og(E);if(C!==void 0){let R=xU(A,l,d);if(R!==void 0)return vU({path:R,ext:C,resolvedUsingTsExtension:void 0})}return s(e,A,l||!gm(Ur(A),d.host),d)})}}}function tSe(e,t){let r=tR(e);return t.traceEnabled&&r!==e&&to(t.host,f.Scoped_package_detected_looking_in_0,r),r}function n4(e){return`@types/${tR(e)}`}function tR(e){if(Ui(e,\"@\")){let t=e.replace(Os,LU);if(t!==e)return t.slice(1)}return e}function CN(e){let t=jD(e,\"@types/\");return t!==e?ak(t):e}function ak(e){return e.includes(LU)?\"@\"+e.replace(LU,Os):e}function nSe(e,t,r,i,o,s){let l=e&&e.getFromNonRelativeNameCache(t,r,i,o);if(l)return s.traceEnabled&&to(s.host,f.Resolution_for_module_0_was_found_in_cache_from_location_1,t,i),s.resultFromCache=l,{value:l.resolvedModule&&{path:l.resolvedModule.resolvedFileName,originalPath:l.resolvedModule.originalPath||!0,extension:l.resolvedModule.extension,packageId:l.resolvedModule.packageId,resolvedUsingTsExtension:l.resolvedModule.resolvedUsingTsExtension}}}function uoe(e,t,r,i,o,s){let l=cg(r,i),d=[],p=[],h=Ur(t),m=[],v={compilerOptions:r,host:i,traceEnabled:l,failedLookupLocations:d,affectingLocations:p,packageJsonInfoCache:o,features:0,conditions:[],requestContainingDirectory:h,reportDiagnostic:A=>void m.push(A),isConfigLookup:!1,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1},E=S(5)||S(2|(r.resolveJsonModule?8:0));return L0e(e,E&&E.value,E?.value&&Gb(E.value.path),d,p,m,v,o);function S(A){let C=G0e(A,e,h,loe,v);if(C)return{value:C};if(Ic(e)){let R=Yo(wr(h,e));return Rp(loe(A,R,!1,v))}else{let R=Vf(h,L=>{let G=nSe(o,e,void 0,L,s,v);if(G)return G;let U=Yo(wr(L,e));return Rp(loe(A,U,!1,v))});if(R)return R;if(A&5){let L=_3e(e,h,v);return A&4&&(L??(L=rSe(e,v))),L}}}}function rSe(e,t){if(t.compilerOptions.typeRoots)for(let r of t.compilerOptions.typeRoots){let i=W0e(r,e,t),o=gm(r,t.host);!o&&t.traceEnabled&&to(t.host,f.Directory_0_does_not_exist_skipping_all_lookups_in_it,r);let s=eR(4,i,!o,t);if(s){let d=tk(s.path),p=d?m0(d,!1,t):void 0;return Rp(yI(p,s))}let l=coe(4,i,!o,t);if(l)return Rp(l)}}function nR(e,t){return!!e.allowImportingTsExtensions||t&&Yc(t)}function poe(e,t,r,i,o,s){let l=cg(r,i);l&&to(i,f.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2,t,e,o);let d=[],p=[],h=[],m={compilerOptions:r,host:i,traceEnabled:l,failedLookupLocations:d,affectingLocations:p,packageJsonInfoCache:s,features:0,conditions:[],requestContainingDirectory:void 0,reportDiagnostic:E=>void h.push(E),isConfigLookup:!1,candidateIsFromPackageJsonField:!1,resolvedPackageDirectory:!1},v=Z0e(4,e,o,m,!1,void 0,void 0);return k0e(v,!0,d,p,h,m.resultFromCache,void 0)}function Rp(e){return e!==void 0?{value:e}:void 0}function gy(e,t,...r){e.traceEnabled&&to(e.host,t,...r)}function PU(e){return e.host.useCaseSensitiveFileNames?typeof e.host.useCaseSensitiveFileNames==\"boolean\"?e.host.useCaseSensitiveFileNames:e.host.useCaseSensitiveFileNames():!0}var foe,iSe,MU,q_,LU,h3e=pt({\"src/compiler/moduleNameResolver.ts\"(){\"use strict\";wo(),iSe=wr(\"node_modules\",\"@types\"),MU=(e=>(e[e.None=0]=\"None\",e[e.Imports=2]=\"Imports\",e[e.SelfName=4]=\"SelfName\",e[e.Exports=8]=\"Exports\",e[e.ExportsPatternTrailers=16]=\"ExportsPatternTrailers\",e[e.AllFeatures=30]=\"AllFeatures\",e[e.Node16Default=30]=\"Node16Default\",e[e.NodeNextDefault=30]=\"NodeNextDefault\",e[e.BundlerDefault=30]=\"BundlerDefault\",e[e.EsmMode=32]=\"EsmMode\",e))(MU||{}),q_=\"/node_modules/\",LU=\"__\"}});function dg(e,t){return e.body&&!e.body.parent&&(Aa(e.body,e),oy(e.body,!1)),e.body?moe(e.body,t):1}function moe(e,t=new Map){let r=Fa(e);if(t.has(r))return t.get(r)||0;t.set(r,void 0);let i=g3e(e,t);return t.set(r,i),i}function g3e(e,t){switch(e.kind){case 264:case 265:return 0;case 266:if(BE(e))return 2;break;case 272:case 271:if(!Wr(e,32))return 0;break;case 278:let r=e;if(!r.moduleSpecifier&&r.exportClause&&r.exportClause.kind===279){let i=0;for(let o of r.exportClause.elements){let s=v3e(o,t);if(s>i&&(i=s),i===1)return i}return i}break;case 268:{let i=0;return Ao(e,o=>{let s=moe(o,t);switch(s){case 0:return;case 2:i=2;return;case 1:return i=1,!0;default:x.assertNever(s)}}),i}case 267:return dg(e,t);case 80:if(e.flags&4096)return 0}return 1}function v3e(e,t){let r=e.propertyName||e.name,i=e.parent;for(;i;){if(Do(i)||n_(i)||Li(i)){let o=i.statements,s;for(let l of o)if(zM(l,r)){l.parent||(Aa(l,i),oy(l,!1));let d=moe(l,t);if((s===void 0||d>s)&&(s=d),s===1)return s;l.kind===271&&(s=1)}if(s!==void 0)return s}i=i.parent}return 1}function EI(e){return x.attachFlowNodeDebugInfo(e),e}function _oe(e,t){var r,i;Ls(\"beforeBind\"),(r=Pd)==null||r.logStartBindFile(\"\"+e.fileName),aSe(e,t),(i=Pd)==null||i.logStopBindFile(),Ls(\"afterBind\"),Sp(\"Bind\",\"beforeBind\",\"afterBind\")}function y3e(){var e,t,r,i,o,s,l,d,p,h,m,v,E,S,A,C,R,L,G,U,K,F,oe=!1,W=0,$,de,fe={flags:1},q={flags:1},H=V();return le;function ee(k,ge,...Xe){return vf(Nn(k)||e,k,ge,...Xe)}function le(k,ge){var Xe,Mt;e=k,t=ge,r=Wa(t),F=Ee(e,ge),de=new Set,W=0,$=wc.getSymbolConstructor(),x.attachFlowNodeDebugInfo(fe),x.attachFlowNodeDebugInfo(q),e.locals||((Xe=qn)==null||Xe.push(qn.Phase.Bind,\"bindSourceFile\",{path:e.path},!0),xe(e),(Mt=qn)==null||Mt.pop(),e.symbolCount=W,e.classifiableNames=de,Fc()),e=void 0,t=void 0,r=void 0,i=void 0,o=void 0,s=void 0,l=void 0,d=void 0,p=void 0,h=!1,m=void 0,v=void 0,E=void 0,S=void 0,A=void 0,C=void 0,R=void 0,G=void 0,U=!1,oe=!1,K=0}function Ee(k,ge){return Fd(ge,\"alwaysStrict\")&&!k.isDeclarationFile?!0:!!k.externalModuleIndicator}function ce(k,ge){return W++,new $(k,ge)}function Z(k,ge,Xe){k.flags|=Xe,ge.symbol=k,k.declarations=Kh(k.declarations,ge),Xe&1955&&!k.exports&&(k.exports=Vo()),Xe&6240&&!k.members&&(k.members=Vo()),k.constEnumOnlyModule&&k.flags&304&&(k.constEnumOnlyModule=!1),Xe&111551&&IL(k,ge)}function pe(k){if(k.kind===277)return k.isExportEquals?\"export=\":\"default\";let ge=mo(k);if(ge){if(sd(k)){let Xe=Ef(ge);return Jm(k)?\"__global\":`\"${Xe}\"`}if(ge.kind===167){let Xe=ge.expression;if(Ap(Xe))return Hs(Xe.text);if(LW(Xe))return qo(Xe.operator)+Xe.operand.text;x.fail(\"Only computed properties with literal names have declaration names\")}if(Ci(ge)){let Xe=Oc(k);if(!Xe)return;let Mt=Xe.symbol;return wL(Mt,ge.escapedText)}return Em(ge)?JA(ge):Xm(ge)?AC(ge):void 0}switch(k.kind){case 176:return\"__constructor\";case 184:case 179:case 330:return\"__call\";case 185:case 180:return\"__new\";case 181:return\"__index\";case 278:return\"__export\";case 312:return\"export=\";case 226:if(hl(k)===2)return\"export=\";x.fail(\"Unknown binary declaration kind\");break;case 324:return dx(k)?\"__new\":\"__call\";case 169:return x.assert(k.parent.kind===324,\"Impossible parameter parent kind\",()=>`parent is: ${x.formatSyntaxKind(k.parent.kind)}, expected JSDocFunctionType`),\"arg\"+k.parent.parameters.indexOf(k)}}function Ae(k){return Ld(k)?is(k.name):Ii(x.checkDefined(pe(k)))}function Oe(k,ge,Xe,Mt,Vn,jr,Or){x.assert(Or||!ty(Xe));let zi=Wr(Xe,2048)||Ed(Xe)&&Xe.name.escapedText===\"default\",_a=Or?\"__computed\":zi&&ge?\"default\":pe(Xe),ha;if(_a===void 0)ha=ce(0,\"__missing\");else if(ha=k.get(_a),Mt&2885600&&de.add(_a),!ha)k.set(_a,ha=ce(0,_a)),jr&&(ha.isReplaceableByMethod=!0);else{if(jr&&!ha.isReplaceableByMethod)return ha;if(ha.flags&Vn){if(ha.isReplaceableByMethod)k.set(_a,ha=ce(0,_a));else if(!(Mt&3&&ha.flags&67108864)){Ld(Xe)&&Aa(Xe.name,Xe);let pl=ha.flags&2?f.Cannot_redeclare_block_scoped_variable_0:f.Duplicate_identifier_0,Gc=!0;(ha.flags&384||Mt&384)&&(pl=f.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations,Gc=!1);let nc=!1;yn(ha.declarations)&&(zi||ha.declarations&&ha.declarations.length&&Xe.kind===277&&!Xe.isExportEquals)&&(pl=f.A_module_cannot_have_multiple_default_exports,Gc=!1,nc=!0);let Xu=[];Xf(Xe)&&_l(Xe.type)&&Wr(Xe,32)&&ha.flags&2887656&&Xu.push(ee(Xe,f.Did_you_mean_0,`export type { ${Ii(Xe.name.escapedText)} }`));let _u=mo(Xe)||Xe;an(ha.declarations,(ja,em)=>{let tm=mo(ja)||ja,Ri=Gc?ee(tm,pl,Ae(ja)):ee(tm,pl);e.bindDiagnostics.push(nc?fa(Ri,ee(_u,em===0?f.Another_export_default_is_here:f.and_here)):Ri),nc&&Xu.push(ee(tm,f.The_first_export_default_is_here))});let Ay=Gc?ee(_u,pl,Ae(Xe)):ee(_u,pl);e.bindDiagnostics.push(fa(Ay,...Xu)),ha=ce(0,_a)}}}return Z(ha,Xe,Mt),ha.parent?x.assert(ha.parent===ge,\"Existing symbol parent should match new one\"):ha.parent=ge,ha}function _e(k,ge,Xe){let Mt=!!(gb(k)&32)||be(k);if(ge&2097152)return k.kind===281||k.kind===271&&Mt?Oe(o.symbol.exports,o.symbol,k,ge,Xe):(x.assertNode(o,L_),Oe(o.locals,void 0,k,ge,Xe));if(bf(k)&&x.assert(Jn(k)),!sd(k)&&(Mt||o.flags&128)){if(!L_(o)||!o.locals||Wr(k,2048)&&!pe(k))return Oe(o.symbol.exports,o.symbol,k,ge,Xe);let Vn=ge&111551?1048576:0,jr=Oe(o.locals,void 0,k,Vn,Xe);return jr.exportSymbol=Oe(o.symbol.exports,o.symbol,k,ge,Xe),k.localSymbol=jr,jr}else return x.assertNode(o,L_),Oe(o.locals,void 0,k,ge,Xe)}function be(k){if(k.parent&&Il(k)&&(k=k.parent),!bf(k))return!1;if(!C2(k)&&k.fullName)return!0;let ge=mo(k);return ge?!!(UL(ge.parent)&&Nl(ge.parent)||bd(ge.parent)&&gb(ge.parent)&32):!1}function Te(k,ge){let Xe=o,Mt=s,Vn=l;if(ge&1?(k.kind!==219&&(s=o),o=l=k,ge&32&&(o.locals=Vo(),jn(o))):ge&2&&(l=k,ge&32&&(l.locals=void 0)),ge&4){let jr=m,Or=v,zi=E,_a=S,ha=R,pl=G,Gc=U,nc=ge&16&&!Wr(k,1024)&&!k.asteriskToken&&!!RS(k)||k.kind===175;nc||(m=EI({flags:2}),ge&144&&(m.node=k)),S=nc||k.kind===176||Jn(k)&&(k.kind===262||k.kind===218)?gn():void 0,R=void 0,v=void 0,E=void 0,G=void 0,U=!1,Le(k),k.flags&=-5633,!(m.flags&1)&&ge&8&&gf(k.body)&&(k.flags|=512,U&&(k.flags|=1024),k.endFlowNode=m),k.kind===312&&(k.flags|=K,k.endFlowNode=m),S&&(Wt(S,m),m=Gn(S),(k.kind===176||k.kind===175||Jn(k)&&(k.kind===262||k.kind===218))&&(k.returnFlowNode=m)),nc||(m=jr),v=Or,E=zi,S=_a,R=ha,G=pl,U=Gc}else ge&64?(h=!1,Le(k),x.assertNotNode(k,Me),k.flags=h?k.flags|256:k.flags&-257):Le(k);o=Xe,s=Mt,l=Vn}function De(k){ft(k,ge=>ge.kind===262?xe(ge):void 0),ft(k,ge=>ge.kind!==262?xe(ge):void 0)}function ft(k,ge=xe){k!==void 0&&an(k,ge)}function he(k){Ao(k,xe,ft)}function Le(k){let ge=oe;if(oe=!1,Nt(k)){he(k),dt(k),oe=ge;return}switch(k.kind>=243&&k.kind<=259&&!t.allowUnreachableCode&&(k.flowNode=m),k.kind){case 247:ki(k);break;case 246:so(k);break;case 248:Jo(k);break;case 249:case 250:Ea(k);break;case 245:ln(k);break;case 253:case 257:Tn(k);break;case 252:case 251:tt(k);break;case 258:yt(k);break;case 255:re(k);break;case 269:Ce(k);break;case 296:et(k);break;case 244:z(k);break;case 256:_t(k);break;case 224:on(k);break;case 225:Qt(k);break;case 226:if(nv(k)){oe=ge,Zt(k);return}H(k);break;case 220:Re(k);break;case 227:St(k);break;case 260:te(k);break;case 211:case 212:ti(k);break;case 213:di(k);break;case 235:Cn(k);break;case 353:case 345:case 347:Ie(k);break;case 312:{De(k.statements),xe(k.endOfFileToken);break}case 241:case 268:De(k.statements);break;case 208:j(k);break;case 169:se(k);break;case 210:case 209:case 303:case 230:oe=ge;default:he(k);break}dt(k),oe=ge}function Ke(k){switch(k.kind){case 80:case 81:case 110:case 211:case 212:return st(k);case 213:return Ge(k);case 217:if(Ux(k))return!1;case 235:return Ke(k.expression);case 226:return Vt(k);case 224:return k.operator===54&&Ke(k.operand);case 221:return Ke(k.expression)}return!1}function Dt(k){return MC(k)||(Er(k)||dI(k)||uu(k))&&Dt(k.expression)||Zn(k)&&k.operatorToken.kind===28&&Dt(k.right)||Rs(k)&&(Ap(k.argumentExpression)||gl(k.argumentExpression))&&Dt(k.expression)||lc(k)&&Dt(k.left)}function st(k){return Dt(k)||yd(k)&&st(k.expression)}function Ge(k){if(k.arguments){for(let ge of k.arguments)if(st(ge))return!0}return!!(k.expression.kind===211&&st(k.expression.expression))}function ot(k,ge){return Wx(k)&&jt(k.expression)&&Ga(ge)}function Vt(k){switch(k.operatorToken.kind){case 64:case 76:case 77:case 78:return st(k.left);case 35:case 36:case 37:case 38:return jt(k.left)||jt(k.right)||ot(k.right,k.left)||ot(k.left,k.right)||sC(k.right)&&Ke(k.left)||sC(k.left)&&Ke(k.right);case 104:return jt(k.left);case 103:return Ke(k.right);case 28:return Ke(k.right)}return!1}function jt(k){switch(k.kind){case 217:return jt(k.expression);case 226:switch(k.operatorToken.kind){case 64:return jt(k.left);case 28:return jt(k.right)}}return st(k)}function gn(){return EI({flags:4,antecedents:void 0})}function On(){return EI({flags:8,antecedents:void 0})}function en(k,ge,Xe){return EI({flags:1024,target:k,antecedents:ge,antecedent:Xe})}function zt(k){k.flags|=k.flags&2048?4096:2048}function Wt(k,ge){!(ge.flags&1)&&!To(k.antecedents,ge)&&((k.antecedents||(k.antecedents=[])).push(ge),zt(ge))}function ei(k,ge,Xe){return ge.flags&1?ge:Xe?(Xe.kind===112&&k&64||Xe.kind===97&&k&32)&&!F8(Xe)&&!jG(Xe.parent)?fe:Ke(Xe)?(zt(ge),EI({flags:k,antecedent:ge,node:Xe})):ge:k&32?ge:fe}function Ki(k,ge,Xe,Mt){return zt(k),EI({flags:128,antecedent:k,switchStatement:ge,clauseStart:Xe,clauseEnd:Mt})}function gi(k,ge,Xe){zt(ge);let Mt=EI({flags:k,antecedent:ge,node:Xe});return R&&Wt(R,Mt),Mt}function io(k,ge){return zt(k),EI({flags:512,antecedent:k,node:ge})}function Gn(k){let ge=k.antecedents;return ge?ge.length===1?ge[0]:k:fe}function Nr(k){let ge=k.parent;switch(ge.kind){case 245:case 247:case 246:return ge.expression===k;case 248:case 227:return ge.condition===k}return!1}function cr(k){for(;;)if(k.kind===217)k=k.expression;else if(k.kind===224&&k.operator===54)k=k.operand;else return jL(k)}function Jt(k){return cV(Ka(k))}function Ue(k){for(;uu(k.parent)||fy(k.parent)&&k.parent.operator===54;)k=k.parent;return!Nr(k)&&!cr(k.parent)&&!(yd(k.parent)&&k.parent.expression===k)}function Rt(k,ge,Xe,Mt){let Vn=A,jr=C;A=Xe,C=Mt,k(ge),A=Vn,C=jr}function mn(k,ge,Xe){Rt(xe,k,ge,Xe),(!k||!Jt(k)&&!cr(k)&&!(yd(k)&&nC(k)))&&(Wt(ge,ei(32,m,k)),Wt(Xe,ei(64,m,k)))}function qr(k,ge,Xe){let Mt=v,Vn=E;v=ge,E=Xe,xe(k),v=Mt,E=Vn}function ni(k,ge){let Xe=G;for(;Xe&&k.parent.kind===256;)Xe.continueTarget=ge,Xe=Xe.next,k=k.parent;return ge}function ki(k){let ge=ni(k,On()),Xe=gn(),Mt=gn();Wt(ge,m),m=ge,mn(k.expression,Xe,Mt),m=Gn(Xe),qr(k.statement,Mt,ge),Wt(ge,m),m=Gn(Mt)}function so(k){let ge=On(),Xe=ni(k,gn()),Mt=gn();Wt(ge,m),m=ge,qr(k.statement,Mt,Xe),Wt(Xe,m),m=Gn(Xe),mn(k.expression,ge,Mt),m=Gn(Mt)}function Jo(k){let ge=ni(k,On()),Xe=gn(),Mt=gn();xe(k.initializer),Wt(ge,m),m=ge,mn(k.condition,Xe,Mt),m=Gn(Xe),qr(k.statement,Mt,ge),xe(k.incrementor),Wt(ge,m),m=Gn(Mt)}function Ea(k){let ge=ni(k,On()),Xe=gn();xe(k.expression),Wt(ge,m),m=ge,k.kind===250&&xe(k.awaitModifier),Wt(Xe,m),xe(k.initializer),k.initializer.kind!==261&&it(k.initializer),qr(k.statement,Xe,ge),Wt(ge,m),m=Gn(Xe)}function ln(k){let ge=gn(),Xe=gn(),Mt=gn();mn(k.expression,ge,Xe),m=Gn(ge),xe(k.thenStatement),Wt(Mt,m),m=Gn(Xe),xe(k.elseStatement),Wt(Mt,m),m=Gn(Mt)}function Tn(k){xe(k.expression),k.kind===253&&(U=!0,S&&Wt(S,m)),m=fe}function ke(k){for(let ge=G;ge;ge=ge.next)if(ge.name===k)return ge}function nt(k,ge,Xe){let Mt=k.kind===252?ge:Xe;Mt&&(Wt(Mt,m),m=fe)}function tt(k){if(xe(k.label),k.label){let ge=ke(k.label.escapedText);ge&&(ge.referenced=!0,nt(k,ge.breakTarget,ge.continueTarget))}else nt(k,v,E)}function yt(k){let ge=S,Xe=R,Mt=gn(),Vn=gn(),jr=gn();if(k.finallyBlock&&(S=Vn),Wt(jr,m),R=jr,xe(k.tryBlock),Wt(Mt,m),k.catchClause&&(m=Gn(jr),jr=gn(),Wt(jr,m),R=jr,xe(k.catchClause),Wt(Mt,m)),S=ge,R=Xe,k.finallyBlock){let Or=gn();Or.antecedents=ro(ro(Mt.antecedents,jr.antecedents),Vn.antecedents),m=Or,xe(k.finallyBlock),m.flags&1?m=fe:(S&&Vn.antecedents&&Wt(S,en(Or,Vn.antecedents,m)),R&&jr.antecedents&&Wt(R,en(Or,jr.antecedents,m)),m=Mt.antecedents?en(Or,Mt.antecedents,m):fe)}else m=Gn(Mt)}function re(k){let ge=gn();xe(k.expression);let Xe=v,Mt=L;v=ge,L=m,xe(k.caseBlock),Wt(ge,m);let Vn=an(k.caseBlock.clauses,jr=>jr.kind===297);k.possiblyExhaustive=!Vn&&!ge.antecedents,Vn||Wt(ge,Ki(L,k,0,0)),v=Xe,L=Mt,m=Gn(ge)}function Ce(k){let ge=k.clauses,Xe=k.parent.expression.kind===112||Ke(k.parent.expression),Mt=fe;for(let Vn=0;Vn<ge.length;Vn++){let jr=Vn;for(;!ge[Vn].statements.length&&Vn+1<ge.length;)Mt===fe&&(m=L),xe(ge[Vn]),Vn++;let Or=gn();Wt(Or,Xe?Ki(L,k.parent,jr,Vn+1):L),Wt(Or,Mt),m=Gn(Or);let zi=ge[Vn];xe(zi),Mt=m,!(m.flags&1)&&Vn!==ge.length-1&&t.noFallthroughCasesInSwitch&&(zi.fallthroughFlowNode=m)}}function et(k){let ge=m;m=L,xe(k.expression),m=ge,ft(k.statements)}function z(k){xe(k.expression),Je(k.expression)}function Je(k){if(k.kind===213){let ge=k;ge.expression.kind!==108&&MC(ge.expression)&&(m=io(m,ge))}}function _t(k){let ge=gn();G={next:G,name:k.label.escapedText,breakTarget:ge,continueTarget:void 0,referenced:!1},xe(k.label),xe(k.statement),!G.referenced&&!t.allowUnusedLabels&&tc(Kne(t),k.label,f.Unused_label),G=G.next,Wt(ge,m),m=Gn(ge)}function ze(k){k.kind===226&&k.operatorToken.kind===64?it(k.left):it(k)}function it(k){if(Dt(k))m=gi(16,m,k);else if(k.kind===209)for(let ge of k.elements)ge.kind===230?it(ge.expression):ze(ge);else if(k.kind===210)for(let ge of k.properties)ge.kind===303?ze(ge.initializer):ge.kind===304?it(ge.name):ge.kind===305&&it(ge.expression)}function Ct(k,ge,Xe){let Mt=gn();k.operatorToken.kind===56||k.operatorToken.kind===77?mn(k.left,Mt,Xe):mn(k.left,ge,Mt),m=Gn(Mt),xe(k.operatorToken),PC(k.operatorToken.kind)?(Rt(xe,k.right,ge,Xe),it(k.left),Wt(ge,ei(32,m,k)),Wt(Xe,ei(64,m,k))):mn(k.right,ge,Xe)}function on(k){if(k.operator===54){let ge=A;A=C,C=ge,he(k),C=A,A=ge}else he(k),(k.operator===46||k.operator===47)&&it(k.operand)}function Qt(k){he(k),(k.operator===46||k.operator===47)&&it(k.operand)}function Zt(k){oe?(oe=!1,xe(k.operatorToken),xe(k.right),oe=!0,xe(k.left)):(oe=!0,xe(k.left),oe=!1,xe(k.operatorToken),xe(k.right)),it(k.left)}function V(){return M6(k,ge,Xe,Mt,Vn,void 0);function k(Or,zi){if(zi){zi.stackIndex++,Aa(Or,i);let ha=F;tr(Or);let pl=i;i=Or,zi.skip=!1,zi.inStrictModeStack[zi.stackIndex]=ha,zi.parentStack[zi.stackIndex]=pl}else zi={stackIndex:0,skip:!1,inStrictModeStack:[void 0],parentStack:[void 0]};let _a=Or.operatorToken.kind;if(VL(_a)||PC(_a)){if(Ue(Or)){let ha=gn();Ct(Or,ha,ha),m=Gn(ha)}else Ct(Or,A,C);zi.skip=!0}return zi}function ge(Or,zi,_a){if(!zi.skip){let ha=jr(Or);return _a.operatorToken.kind===28&&Je(Or),ha}}function Xe(Or,zi,_a){zi.skip||xe(Or)}function Mt(Or,zi,_a){if(!zi.skip){let ha=jr(Or);return _a.operatorToken.kind===28&&Je(Or),ha}}function Vn(Or,zi){if(!zi.skip){let pl=Or.operatorToken.kind;if(tv(pl)&&!Sh(Or)&&(it(Or.left),pl===64&&Or.left.kind===212)){let Gc=Or.left;jt(Gc.expression)&&(m=gi(256,m,Or))}}let _a=zi.inStrictModeStack[zi.stackIndex],ha=zi.parentStack[zi.stackIndex];_a!==void 0&&(F=_a),ha!==void 0&&(i=ha),zi.skip=!1,zi.stackIndex--}function jr(Or){if(Or&&Zn(Or)&&!nv(Or))return Or;xe(Or)}}function Re(k){he(k),k.expression.kind===211&&it(k.expression)}function St(k){let ge=gn(),Xe=gn(),Mt=gn();mn(k.condition,ge,Xe),m=Gn(ge),xe(k.questionToken),xe(k.whenTrue),Wt(Mt,m),m=Gn(Xe),xe(k.colonToken),xe(k.whenFalse),Wt(Mt,m),m=Gn(Mt)}function M(k){let ge=vc(k)?void 0:k.name;if(ko(ge))for(let Xe of ge.elements)M(Xe);else m=gi(16,m,k)}function te(k){he(k),(k.initializer||H1(k.parent.parent))&&M(k)}function j(k){xe(k.dotDotDotToken),xe(k.propertyName),Pe(k.initializer),xe(k.name)}function se(k){ft(k.modifiers),xe(k.dotDotDotToken),xe(k.questionToken),xe(k.type),Pe(k.initializer),xe(k.name)}function Pe(k){if(!k)return;let ge=m;if(xe(k),ge===fe||ge===m)return;let Xe=gn();Wt(Xe,ge),Wt(Xe,m),m=Gn(Xe)}function Ie(k){xe(k.tagName),k.kind!==347&&k.fullName&&(Aa(k.fullName,k),oy(k.fullName,!1)),typeof k.comment!=\"string\"&&ft(k.comment)}function gt(k){he(k);let ge=xb(k);ge&&ge.kind!==174&&Z(ge.symbol,ge,32)}function bt(k,ge,Xe){Rt(xe,k,ge,Xe),(!yd(k)||nC(k))&&(Wt(ge,ei(32,m,k)),Wt(Xe,ei(64,m,k)))}function Ot(k){switch(k.kind){case 211:xe(k.questionDotToken),xe(k.name);break;case 212:xe(k.questionDotToken),xe(k.argumentExpression);break;case 213:xe(k.questionDotToken),ft(k.typeArguments),ft(k.arguments);break}}function dn(k,ge,Xe){let Mt=tC(k)?gn():void 0;bt(k.expression,Mt||ge,Xe),Mt&&(m=Gn(Mt)),Rt(Ot,k,ge,Xe),nC(k)&&(Wt(ge,ei(32,m,k)),Wt(Xe,ei(64,m,k)))}function An(k){if(Ue(k)){let ge=gn();dn(k,ge,ge),m=Gn(ge)}else dn(k,A,C)}function Cn(k){yd(k)?An(k):he(k)}function ti(k){yd(k)?An(k):he(k)}function di(k){if(yd(k))An(k);else{let ge=Ka(k.expression);ge.kind===218||ge.kind===219?(ft(k.typeArguments),ft(k.arguments),xe(k.expression)):(he(k),k.expression.kind===108&&(m=io(m,k)))}if(k.expression.kind===211){let ge=k.expression;Me(ge.name)&&jt(ge.expression)&&K9(ge.name)&&(m=gi(256,m,k))}}function jn(k){d&&(d.nextContainer=k),d=k}function Ar(k,ge,Xe){switch(o.kind){case 267:return _e(k,ge,Xe);case 312:return _i(k,ge,Xe);case 231:case 263:return Zi(k,ge,Xe);case 266:return Oe(o.symbol.exports,o.symbol,k,ge,Xe);case 187:case 329:case 210:case 264:case 292:return Oe(o.symbol.members,o.symbol,k,ge,Xe);case 184:case 185:case 179:case 180:case 330:case 181:case 174:case 173:case 176:case 177:case 178:case 262:case 218:case 219:case 324:case 175:case 265:case 200:return o.locals&&x.assertNode(o,L_),Oe(o.locals,void 0,k,ge,Xe)}}function Zi(k,ge,Xe){return zo(k)?Oe(o.symbol.exports,o.symbol,k,ge,Xe):Oe(o.symbol.members,o.symbol,k,ge,Xe)}function _i(k,ge,Xe){return wl(e)?_e(k,ge,Xe):Oe(e.locals,void 0,k,ge,Xe)}function ui(k){let ge=Li(k)?k:Vr(k.body,n_);return!!ge&&ge.statements.some(Xe=>xl(Xe)||dl(Xe))}function Mr(k){k.flags&33554432&&!ui(k)?k.flags|=128:k.flags&=-129}function lo(k){if(Mr(k),sd(k))if(Wr(k,32)&&ls(k,f.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible),_9(k))_n(k);else{let ge;if(k.name.kind===11){let{text:Mt}=k.name;ge=xx(Mt),ge===void 0&&ls(k.name,f.Pattern_0_can_have_at_most_one_Asterisk_character,Mt)}let Xe=Ar(k,512,110735);e.patternAmbientModules=pn(e.patternAmbientModules,ge&&!fo(ge)?{pattern:ge,symbol:Xe}:void 0)}else{let ge=_n(k);if(ge!==0){let{symbol:Xe}=k;Xe.constEnumOnlyModule=!(Xe.flags&304)&&ge===2&&Xe.constEnumOnlyModule!==!1}}}function _n(k){let ge=dg(k),Xe=ge!==0;return Ar(k,Xe?512:1024,Xe?110735:0),ge}function ms(k){let ge=ce(131072,pe(k));Z(ge,k,131072);let Xe=ce(2048,\"__type\");Z(Xe,k,2048),Xe.members=Vo(),Xe.members.set(ge.escapedName,ge)}function Dl(k){return vs(k,4096,\"__object\")}function _o(k){return vs(k,4096,\"__jsxAttributes\")}function Va(k,ge,Xe){return Ar(k,ge,Xe)}function vs(k,ge,Xe){let Mt=ce(ge,Xe);return ge&106508&&(Mt.parent=o.symbol),Z(Mt,k,ge),Mt}function Js(k,ge,Xe){switch(l.kind){case 267:_e(k,ge,Xe);break;case 312:if(sp(o)){_e(k,ge,Xe);break}default:x.assertNode(l,L_),l.locals||(l.locals=Vo(),jn(l)),Oe(l.locals,void 0,k,ge,Xe)}}function Fc(){if(!p)return;let k=o,ge=d,Xe=l,Mt=i,Vn=m;for(let jr of p){let Or=jr.parent.parent;o=S9(Or)||e,l=w_(Or)||e,m=EI({flags:2}),i=jr,xe(jr.typeExpression);let zi=mo(jr);if((C2(jr)||!jr.fullName)&&zi&&UL(zi.parent)){let _a=Nl(zi.parent);if(_a){Ks(e.symbol,zi.parent,_a,!!Rn(zi,pl=>Er(pl)&&pl.name.escapedText===\"prototype\"),!1);let ha=o;switch(TL(zi.parent)){case 1:case 2:sp(e)?o=e:o=void 0;break;case 4:o=zi.parent.expression;break;case 3:o=zi.parent.expression.name;break;case 5:o=_0(e,zi.parent.expression)?e:Er(zi.parent.expression)?zi.parent.expression.name:zi.parent.expression;break;case 0:return x.fail(\"Shouldn't have detected typedef or enum on non-assignment declaration\")}o&&_e(jr,524288,788968),o=ha}}else C2(jr)||!jr.fullName||jr.fullName.kind===80?(i=jr.parent,Js(jr,524288,788968)):xe(jr.fullName)}o=k,d=ge,l=Xe,i=Mt,m=Vn}function $i(k){if(!e.parseDiagnostics.length&&!(k.flags&33554432)&&!(k.flags&16777216)&&!rne(k)){let ge=vb(k);if(ge===void 0)return;F&&ge>=119&&ge<=127?e.bindDiagnostics.push(ee(k,Uo(k),is(k))):ge===135?wl(e)&&hW(k)?e.bindDiagnostics.push(ee(k,f.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,is(k))):k.flags&65536&&e.bindDiagnostics.push(ee(k,f.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,is(k))):ge===127&&k.flags&16384&&e.bindDiagnostics.push(ee(k,f.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,is(k)))}}function Uo(k){return Oc(k)?f.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:e.externalModuleIndicator?f.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:f.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function zc(k){k.escapedText===\"#constructor\"&&(e.parseDiagnostics.length||e.bindDiagnostics.push(ee(k,f.constructor_is_a_reserved_word,is(k))))}function ts(k){F&&Tu(k.left)&&tv(k.operatorToken.kind)&&Wl(k,k.left)}function ua(k){F&&k.variableDeclaration&&Wl(k,k.variableDeclaration.name)}function Us(k){if(F&&k.expression.kind===80){let ge=IS(e,k.expression);e.bindDiagnostics.push(Rc(e,ge.start,ge.length,f.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}function tf(k){return Me(k)&&(k.escapedText===\"eval\"||k.escapedText===\"arguments\")}function Wl(k,ge){if(ge&&ge.kind===80){let Xe=ge;if(tf(Xe)){let Mt=IS(e,ge);e.bindDiagnostics.push(Rc(e,Mt.start,Mt.length,il(k),ar(Xe)))}}}function il(k){return Oc(k)?f.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:e.externalModuleIndicator?f.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:f.Invalid_use_of_0_in_strict_mode}function zs(k){F&&Wl(k,k.name)}function ho(k){return Oc(k)?f.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:e.externalModuleIndicator?f.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:f.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function Ut(k){if(r<2&&l.kind!==312&&l.kind!==267&&!U1(l)){let ge=IS(e,k);e.bindDiagnostics.push(Rc(e,ge.start,ge.length,ho(k)))}}function ys(k){F&&Wl(k,k.operand)}function Pc(k){F&&(k.operator===46||k.operator===47)&&Wl(k,k.operand)}function Bc(k){F&&ls(k,f.with_statements_are_not_allowed_in_strict_mode)}function Ju(k){F&&Wa(t)>=2&&(ate(k.statement)||cl(k.statement))&&ls(k.label,f.A_label_is_not_allowed_here)}function ls(k,ge,...Xe){let Mt=W_(e,k.pos);e.bindDiagnostics.push(Rc(e,Mt.start,Mt.length,ge,...Xe))}function tc(k,ge,Xe){ae(k,ge,ge,Xe)}function ae(k,ge,Xe,Mt){X(k,{pos:Tb(ge,e),end:Xe.end},Mt)}function X(k,ge,Xe){let Mt=Rc(e,ge.pos,ge.end-ge.pos,Xe);k?e.bindDiagnostics.push(Mt):e.bindSuggestionDiagnostics=pn(e.bindSuggestionDiagnostics,{...Mt,category:2})}function xe(k){if(!k)return;Aa(k,i),qn&&(k.tracingPath=e.path);let ge=F;if(tr(k),k.kind>165){let Xe=i;i=k;let Mt=kU(k);Mt===0?Le(k):Te(k,Mt),i=Xe}else{let Xe=i;k.kind===1&&(i=k),dt(k),i=Xe}F=ge}function dt(k){if(ap(k))if(Jn(k))for(let ge of k.jsDoc)xe(ge);else for(let ge of k.jsDoc)Aa(ge,k),oy(ge,!1)}function $t(k){if(!F)for(let ge of k){if(!Hf(ge))return;if(sr(ge)){F=!0;return}}}function sr(k){let ge=FE(e,k.expression);return ge==='\"use strict\"'||ge===\"'use strict'\"}function tr(k){switch(k.kind){case 80:if(k.flags&4096){let Or=k.parent;for(;Or&&!bf(Or);)Or=Or.parent;Js(Or,524288,788968);break}case 110:return m&&(lt(k)||i.kind===304)&&(k.flowNode=m),$i(k);case 166:m&&EW(k)&&(k.flowNode=m);break;case 236:case 108:k.flowNode=m;break;case 81:return zc(k);case 211:case 212:let ge=k;m&&Dt(ge)&&(ge.flowNode=m),Yte(ge)&&Ln(ge),Jn(ge)&&e.commonJsModuleIndicator&&Eh(ge)&&!r4(l,\"module\")&&Oe(e.locals,void 0,ge.expression,134217729,111550);break;case 226:switch(hl(k)){case 1:Du(k);break;case 2:pc(k);break;case 3:Oo(k.left,k);break;case 6:eo(k);break;case 4:Vd(k);break;case 5:let Or=k.left.expression;if(Jn(k)&&Me(Or)){let zi=r4(l,Or.escapedText);if(gW(zi?.valueDeclaration)){Vd(k);break}}Kl(k);break;case 0:break;default:x.fail(\"Unknown binary expression special property assignment kind\")}return ts(k);case 299:return ua(k);case 220:return Us(k);case 225:return ys(k);case 224:return Pc(k);case 254:return Bc(k);case 256:return Ju(k);case 197:h=!0;return;case 182:break;case 168:return Ye(k);case 169:return mg(k);case 260:return fd(k);case 208:return k.flowNode=m,fd(k);case 172:case 171:return Ir(k);case 303:case 304:return mu(k,4,0);case 306:return mu(k,8,900095);case 179:case 180:case 181:return Ar(k,131072,0);case 174:case 173:return mu(k,8192|(k.questionToken?16777216:0),qf(k)?0:103359);case 262:return Ku(k);case 176:return Ar(k,16384,0);case 177:return mu(k,32768,46015);case 178:return mu(k,65536,78783);case 184:case 324:case 330:case 185:return ms(k);case 187:case 329:case 200:return pi(k);case 339:return gt(k);case 210:return Dl(k);case 218:case 219:return Lh(k);case 213:switch(hl(k)){case 7:return Cl(k);case 8:return Ec(k);case 9:return Po(k);case 0:break;default:return x.fail(\"Unknown call expression assignment declaration kind\")}Jn(k)&&u_(k);break;case 231:case 263:return F=!0,X_(k);case 264:return Js(k,64,788872);case 265:return Js(k,524288,788968);case 266:return fg(k);case 267:return lo(k);case 292:return _o(k);case 291:return Va(k,4,0);case 271:case 274:case 276:case 281:return Ar(k,2097152,2097152);case 270:return bc(k);case 273:return Jl(k);case 278:return bs(k);case 277:return Qs(k);case 312:return $t(k.statements),hr();case 241:if(!U1(k.parent))return;case 268:return $t(k.statements);case 348:if(k.parent.kind===330)return mg(k);if(k.parent.kind!==329)break;case 355:let Vn=k,jr=Vn.isBracketed||Vn.typeExpression&&Vn.typeExpression.type.kind===323?16777220:4;return Ar(Vn,jr,0);case 353:case 345:case 347:return(p||(p=[])).push(k);case 346:return xe(k.typeExpression)}}function Ir(k){let ge=su(k),Xe=ge?98304:4,Mt=ge?13247:0;return mu(k,Xe|(k.questionToken?16777216:0),Mt)}function pi(k){return vs(k,2048,\"__type\")}function hr(){if(Mr(e),wl(e))No();else if(yf(e)){No();let k=e.symbol;Oe(e.symbol.exports,e.symbol,e,4,-1),e.symbol=k}}function No(){vs(e,512,`\"${Yd(e.fileName)}\"`)}function Qs(k){if(!o.symbol||!o.symbol.exports)vs(k,111551,pe(k));else{let ge=px(k)?2097152:4,Xe=Oe(o.symbol.exports,o.symbol,k,ge,-1);k.isExportEquals&&IL(Xe,k)}}function bc(k){ct(k.modifiers)&&e.bindDiagnostics.push(ee(k,f.Modifiers_cannot_appear_here));let ge=Li(k.parent)?wl(k.parent)?k.parent.isDeclarationFile?void 0:f.Global_module_exports_may_only_appear_in_declaration_files:f.Global_module_exports_may_only_appear_in_module_files:f.Global_module_exports_may_only_appear_at_top_level;ge?e.bindDiagnostics.push(ee(k,ge)):(e.symbol.globalExports=e.symbol.globalExports||Vo(),Oe(e.symbol.globalExports,e.symbol,k,2097152,2097152))}function bs(k){!o.symbol||!o.symbol.exports?vs(k,8388608,pe(k)):k.exportClause?j_(k.exportClause)&&(Aa(k.exportClause,k),Oe(o.symbol.exports,o.symbol,k.exportClause,2097152,2097152)):Oe(o.symbol.exports,o.symbol,k,8388608,0)}function Jl(k){k.name&&Ar(k,2097152,2097152)}function Za(k){return e.externalModuleIndicator&&e.externalModuleIndicator!==!0?!1:(e.commonJsModuleIndicator||(e.commonJsModuleIndicator=k,e.externalModuleIndicator||No()),!0)}function Ec(k){if(!Za(k))return;let ge=nf(k.arguments[0],void 0,(Xe,Mt)=>(Mt&&Z(Mt,Xe,67110400),Mt));ge&&Oe(ge.exports,ge,k,1048580,0)}function Du(k){if(!Za(k))return;let ge=nf(k.left.expression,void 0,(Xe,Mt)=>(Mt&&Z(Mt,Xe,67110400),Mt));if(ge){let Mt=kL(k.right)&&(DS(k.left.expression)||Eh(k.left.expression))?2097152:1048580;Aa(k.left,k),Oe(ge.exports,ge,k.left,Mt,0)}}function pc(k){if(!Za(k))return;let ge=bL(k.right);if(fV(ge)||o===e&&_0(e,ge))return;if(ma(ge)&&ji(ge.properties,xu)){an(ge.properties,Nf);return}let Xe=px(k)?2097152:1049092,Mt=Oe(e.symbol.exports,e.symbol,k,Xe|67108864,0);IL(Mt,k)}function Nf(k){Oe(e.symbol.exports,e.symbol,k,69206016,0)}function Vd(k){if(x.assert(Jn(k)),Zn(k)&&Er(k.left)&&Ci(k.left.name)||Er(k)&&Ci(k.name))return;let Xe=lu(k,!1,!1);switch(Xe.kind){case 262:case 218:let Mt=Xe.symbol;if(Zn(Xe.parent)&&Xe.parent.operatorToken.kind===64){let Or=Xe.parent.left;UE(Or)&&ry(Or.expression)&&(Mt=tu(Or.expression.expression,s))}Mt&&Mt.valueDeclaration&&(Mt.members=Mt.members||Vo(),ty(k)?Se(k,Mt,Mt.members):Oe(Mt.members,Mt,k,67108868,0),Z(Mt,Mt.valueDeclaration,32));break;case 176:case 172:case 174:case 177:case 178:case 175:let Vn=Xe.parent,jr=zo(Xe)?Vn.symbol.exports:Vn.symbol.members;ty(k)?Se(k,Vn.symbol,jr):Oe(jr,Vn.symbol,k,67108868,0,!0);break;case 312:if(ty(k))break;Xe.commonJsModuleIndicator?Oe(Xe.symbol.exports,Xe.symbol,k,1048580,0):Ar(k,1,111550);break;case 267:break;default:x.failBadSyntaxKind(Xe)}}function Se(k,ge,Xe){Oe(Xe,ge,k,4,0,!0,!0),At(k,ge)}function At(k,ge){ge&&(ge.assignmentDeclarationMembers||(ge.assignmentDeclarationMembers=new Map)).set(Fa(k),k)}function Ln(k){k.expression.kind===110?Vd(k):UE(k)&&k.parent.parent.kind===312&&(ry(k.expression)?Oo(k,k.parent):Bs(k))}function eo(k){Aa(k.left,k),Aa(k.right,k),Sc(k.left.expression,k.left,!1,!0)}function Po(k){let ge=tu(k.arguments[0].expression);ge&&ge.valueDeclaration&&Z(ge,ge.valueDeclaration,32),vl(k,ge,!0)}function Oo(k,ge){let Xe=k.expression,Mt=Xe.expression;Aa(Mt,Xe),Aa(Xe,k),Aa(k,ge),Sc(Mt,k,!0,!0)}function Cl(k){let ge=tu(k.arguments[0]),Xe=k.parent.parent.kind===312;ge=Ks(ge,k.arguments[0],Xe,!1,!1),vl(k,ge,!1)}function Kl(k){var ge;let Xe=tu(k.left.expression,l)||tu(k.left.expression,o);if(!Jn(k)&&!$te(Xe))return;let Mt=Tx(k.left);if(!(Me(Mt)&&((ge=r4(o,Mt.escapedText))==null?void 0:ge.flags)&2097152))if(Aa(k.left,k),Aa(k.right,k),Me(k.left.expression)&&o===e&&_0(e,k.left.expression))Du(k);else if(ty(k)){vs(k,67108868,\"__computed\");let Vn=Ks(Xe,k.left.expression,Nl(k.left),!1,!1);At(k,Vn)}else Bs(Fo(k.left,NS))}function Bs(k){x.assert(!Me(k)),Aa(k.expression,k),Sc(k.expression,k,!1,!1)}function Ks(k,ge,Xe,Mt,Vn){return k?.flags&2097152||(Xe&&!Mt&&(k=nf(ge,k,(zi,_a,ha)=>{if(_a)return Z(_a,zi,67110400),_a;{let pl=ha?ha.exports:e.jsGlobalAugmentations||(e.jsGlobalAugmentations=Vo());return Oe(pl,ha,zi,67110400,110735)}})),Vn&&k&&k.valueDeclaration&&Z(k,k.valueDeclaration,32)),k}function vl(k,ge,Xe){if(!ge||!kp(ge))return;let Mt=Xe?ge.members||(ge.members=Vo()):ge.exports||(ge.exports=Vo()),Vn=0,jr=0;hs(LA(k))?(Vn=8192,jr=103359):Bo(k)&&CS(k)&&(ct(k.arguments[2].properties,Or=>{let zi=mo(Or);return!!zi&&Me(zi)&&ar(zi)===\"set\"})&&(Vn|=65540,jr|=78783),ct(k.arguments[2].properties,Or=>{let zi=mo(Or);return!!zi&&Me(zi)&&ar(zi)===\"get\"})&&(Vn|=32772,jr|=46015)),Vn===0&&(Vn=4,jr=0),Oe(Mt,ge,k,Vn|67108864,jr&-67108865)}function Nl(k){return Zn(k.parent)?fu(k.parent).parent.kind===312:k.parent.parent.kind===312}function Sc(k,ge,Xe,Mt){let Vn=tu(k,l)||tu(k,o),jr=Nl(ge);Vn=Ks(Vn,ge.expression,jr,Xe,Mt),vl(ge,Vn,Xe)}function kp(k){if(k.flags&1072)return!0;let ge=k.valueDeclaration;if(ge&&Bo(ge))return!!LA(ge);let Xe=ge?yi(ge)?ge.initializer:Zn(ge)?ge.right:Er(ge)&&Zn(ge.parent)?ge.parent.right:void 0:void 0;if(Xe=Xe&&bL(Xe),Xe){let Mt=ry(yi(ge)?ge.name:Zn(ge)?ge.left:ge);return!!Ib(Zn(Xe)&&(Xe.operatorToken.kind===57||Xe.operatorToken.kind===61)?Xe.right:Xe,Mt)}return!1}function fu(k){for(;Zn(k.parent);)k=k.parent;return k.parent}function tu(k,ge=o){if(Me(k))return r4(ge,k.escapedText);{let Xe=tu(k.expression);return Xe&&Xe.exports&&Xe.exports.get(tg(k))}}function nf(k,ge,Xe){if(_0(e,k))return e.symbol;if(Me(k))return Xe(k,tu(k),ge);{let Mt=nf(k.expression,ge,Xe),Vn=SL(k);return Ci(Vn)&&x.fail(\"unexpected PrivateIdentifier\"),Xe(Vn,Mt&&Mt.exports&&Mt.exports.get(tg(k)),Mt)}}function u_(k){!e.commonJsModuleIndicator&&Xd(k,!1)&&Za(k)}function X_(k){if(k.kind===263)Js(k,32,899503);else{let Vn=k.name?k.name.escapedText:\"__class\";vs(k,32,Vn),k.name&&de.add(k.name.escapedText)}let{symbol:ge}=k,Xe=ce(4194308,\"prototype\"),Mt=ge.exports.get(Xe.escapedName);Mt&&(k.name&&Aa(k.name,k),e.bindDiagnostics.push(ee(Mt.declarations[0],f.Duplicate_identifier_0,$s(Xe)))),ge.exports.set(Xe.escapedName,Xe),Xe.parent=ge}function fg(k){return BE(k)?Js(k,128,899967):Js(k,256,899327)}function fd(k){if(F&&Wl(k,k.name),!ko(k.name)){let ge=k.kind===260?k:k.parent.parent;Jn(k)&&jE(ge)&&!yb(k)&&!(gb(k)&32)?Ar(k,2097152,2097152):p9(k)?Js(k,2,111551):JE(k)?Ar(k,1,111551):Ar(k,1,111550)}}function mg(k){if(!(k.kind===348&&o.kind!==330)&&(F&&!(k.flags&33554432)&&Wl(k,k.name),ko(k.name)?vs(k,1,\"__\"+k.parent.parameters.indexOf(k)):Ar(k,1,111551),wu(k,k.parent))){let ge=k.parent.parent;Oe(ge.symbol.members,ge.symbol,k,4|(k.questionToken?16777216:0),0)}}function Ku(k){!e.isDeclarationFile&&!(k.flags&33554432)&&TC(k)&&(K|=4096),zs(k),F?(Ut(k),Js(k,16,110991)):Ar(k,16,110991)}function Lh(k){!e.isDeclarationFile&&!(k.flags&33554432)&&TC(k)&&(K|=4096),m&&(k.flowNode=m),zs(k);let ge=k.name?k.name.escapedText:\"__function\";return vs(k,16,ge)}function mu(k,ge,Xe){return!e.isDeclarationFile&&!(k.flags&33554432)&&TC(k)&&(K|=4096),m&&pW(k)&&(k.flowNode=m),ty(k)?vs(k,ge,\"__computed\"):Ar(k,ge,Xe)}function Y(k){let ge=Rn(k,Xe=>Xe.parent&&lI(Xe.parent)&&Xe.parent.extendsType===Xe);return ge&&ge.parent}function Ye(k){if(Df(k.parent)){let ge=NW(k.parent);ge?(x.assertNode(ge,L_),ge.locals??(ge.locals=Vo()),Oe(ge.locals,void 0,k,262144,526824)):Ar(k,262144,526824)}else if(k.parent.kind===195){let ge=Y(k.parent);ge?(x.assertNode(ge,L_),ge.locals??(ge.locals=Vo()),Oe(ge.locals,void 0,k,262144,526824)):vs(k,262144,pe(k))}else Ar(k,262144,526824)}function xt(k){let ge=dg(k);return ge===1||ge===2&&n0(t)}function Nt(k){if(!(m.flags&1))return!1;if(m===fe&&(QM(k)&&k.kind!==242||k.kind===263||k.kind===267&&xt(k))&&(m=q,!t.allowUnreachableCode)){let Xe=Jne(t)&&!(k.flags&33554432)&&(!cl(k)||!!(Xg(k.declarationList)&7)||k.declarationList.declarations.some(Mt=>!!Mt.initializer));b3e(k,(Mt,Vn)=>ae(Xe,Mt,Vn,f.Unreachable_code_detected))}return!0}}function b3e(e,t){if(Di(e)&&oSe(e)&&Do(e.parent)){let{statements:r}=e.parent,i=NV(r,e);Z5(i,oSe,(o,s)=>t(i[o],i[s-1]))}else t(e,e)}function oSe(e){return!Ql(e)&&!E3e(e)&&!kb(e)&&!(cl(e)&&!(Xg(e)&7)&&e.declarationList.declarations.some(t=>!t.initializer))}function E3e(e){switch(e.kind){case 264:case 265:return!0;case 267:return dg(e)!==1;case 266:return Wr(e,4096);default:return!1}}function _0(e,t){let r=0,i=mM();for(i.enqueue(t);!i.isEmpty()&&r<100;){if(r++,t=i.dequeue(),DS(t)||Eh(t))return!0;if(Me(t)){let o=r4(e,t.escapedText);if(o&&o.valueDeclaration&&yi(o.valueDeclaration)&&o.valueDeclaration.initializer){let s=o.valueDeclaration.initializer;i.enqueue(s),lc(s,!0)&&(i.enqueue(s.left),i.enqueue(s.right))}}}return!1}function kU(e){switch(e.kind){case 231:case 263:case 266:case 210:case 187:case 329:case 292:return 1;case 264:return 65;case 267:case 265:case 200:case 181:return 33;case 312:return 37;case 177:case 178:case 174:if(pW(e))return 173;case 176:case 262:case 173:case 179:case 330:case 324:case 184:case 180:case 185:case 175:return 45;case 218:case 219:return 61;case 268:return 4;case 172:return e.initializer?4:0;case 299:case 248:case 249:case 250:case 269:return 34;case 241:return Lo(e.parent)||nl(e.parent)?0:34}return 0}function r4(e,t){var r,i,o,s;let l=(i=(r=Vr(e,L_))==null?void 0:r.locals)==null?void 0:i.get(t);if(l)return l.exportSymbol??l;if(Li(e)&&e.jsGlobalAugmentations&&e.jsGlobalAugmentations.has(t))return e.jsGlobalAugmentations.get(t);if(qm(e))return(s=(o=e.symbol)==null?void 0:o.exports)==null?void 0:s.get(t)}var OU,wU,aSe,S3e=pt({\"src/compiler/binder.ts\"(){\"use strict\";wo(),mS(),OU=(e=>(e[e.NonInstantiated=0]=\"NonInstantiated\",e[e.Instantiated=1]=\"Instantiated\",e[e.ConstEnumOnly=2]=\"ConstEnumOnly\",e))(OU||{}),wU=(e=>(e[e.None=0]=\"None\",e[e.IsContainer=1]=\"IsContainer\",e[e.IsBlockScopedContainer=2]=\"IsBlockScopedContainer\",e[e.IsControlFlowContainer=4]=\"IsControlFlowContainer\",e[e.IsFunctionLike=8]=\"IsFunctionLike\",e[e.IsFunctionExpression=16]=\"IsFunctionExpression\",e[e.HasLocals=32]=\"HasLocals\",e[e.IsInterface=64]=\"IsInterface\",e[e.IsObjectLiteralOrClassExpressionMethodOrAccessor=128]=\"IsObjectLiteralOrClassExpressionMethodOrAccessor\",e))(wU||{}),aSe=y3e()}});function hoe(e,t,r,i,o,s,l,d,p,h){return m;function m(v=()=>!0){let E=[],S=[];return{walkType:de=>{try{return A(de),{visitedTypes:vA(E),visitedSymbols:vA(S)}}finally{ph(E),ph(S)}},walkSymbol:de=>{try{return $(de),{visitedTypes:vA(E),visitedSymbols:vA(S)}}finally{ph(E),ph(S)}}};function A(de){if(!(!de||E[de.id]||(E[de.id]=de,$(de.symbol)))){if(de.flags&524288){let q=de,H=q.objectFlags;H&4&&C(de),H&32&&K(de),H&3&&oe(de),H&24&&W(q)}de.flags&262144&&R(de),de.flags&3145728&&L(de),de.flags&4194304&&G(de),de.flags&8388608&&U(de)}}function C(de){A(de.target),an(h(de),A)}function R(de){A(d(de))}function L(de){an(de.types,A)}function G(de){A(de.type)}function U(de){A(de.objectType),A(de.indexType),A(de.constraint)}function K(de){A(de.typeParameter),A(de.constraintType),A(de.templateType),A(de.modifiersType)}function F(de){let fe=t(de);fe&&A(fe.type),an(de.typeParameters,A);for(let q of de.parameters)$(q);A(e(de)),A(r(de))}function oe(de){W(de),an(de.typeParameters,A),an(i(de),A),A(de.thisType)}function W(de){let fe=o(de);for(let q of fe.indexInfos)A(q.keyType),A(q.type);for(let q of fe.callSignatures)F(q);for(let q of fe.constructSignatures)F(q);for(let q of fe.properties)$(q)}function $(de){if(!de)return!1;let fe=na(de);if(S[fe])return!1;if(S[fe]=de,!v(de))return!0;let q=s(de);return A(q),de.exports&&de.exports.forEach($),an(de.declarations,H=>{if(H.type&&H.type.kind===186){let ee=H.type,le=l(p(ee.exprName));$(le)}}),!1}}}var T3e=pt({\"src/compiler/symbolWalker.ts\"(){\"use strict\";wo()}});function sk({importModuleSpecifierPreference:e,importModuleSpecifierEnding:t},r,i,o){let s=l();return{relativePreference:o!==void 0?Ic(o)?0:1:e===\"relative\"?0:e===\"non-relative\"?1:e===\"project-relative\"?3:2,getAllowedEndingsInPreferredOrder:d=>{let p=d!==i.impliedNodeFormat?l(d):s;if((d??i.impliedNodeFormat)===99)return nR(r,i.fileName)?[3,2]:[2];if(zd(r)===1)return p===2?[2,1]:[1,2];let h=nR(r,i.fileName);switch(p){case 2:return h?[2,3,0,1]:[2,0,1];case 3:return[3,0,2,1];case 1:return h?[1,0,3,2]:[1,0,2];case 0:return h?[0,1,3,2]:[0,1,2];default:x.assertNever(p)}}};function l(d){if(o!==void 0){if(QE(o))return 2;if(Zs(o,\"/index\"))return 1}return nre(t,d??i.impliedNodeFormat,r,i)}}function A3e(e,t,r,i,o,s,l={}){let d=sSe(e,t,r,i,o,sk({},e,t,s),{},l);if(d!==s)return d}function i4(e,t,r,i,o,s={}){return sSe(e,t,r,i,o,sk({},e,t),{},s)}function I3e(e,t,r,i,o,s={}){let l=WU(t.fileName,i),d=mSe(l,r,i,o,s);return ml(d,p=>voe(p,l,t,i,e,o,!0,s.overrideImportMode))}function sSe(e,t,r,i,o,s,l,d={}){let p=WU(r,o),h=mSe(p,i,o,l,d);return ml(h,m=>voe(m,p,t,o,e,l,void 0,d.overrideImportMode))||uSe(i,p,e,o,d.overrideImportMode||t.impliedNodeFormat,s)}function x3e(e,t,r,i,o={}){return lSe(e,t,r,i,o)[0]}function lSe(e,t,r,i,o={}){var s;let l=eW(e);if(!l)return je;let d=(s=r.getModuleSpecifierCache)==null?void 0:s.call(r),p=d?.get(t.path,l.path,i,o);return[p?.moduleSpecifiers,l,p?.modulePaths,d]}function cSe(e,t,r,i,o,s,l={}){return dSe(e,t,r,i,o,s,l,!1).moduleSpecifiers}function dSe(e,t,r,i,o,s,l={},d){let p=!1,h=C3e(e,t);if(h)return{moduleSpecifiers:[h],computedWithoutCache:p};let[m,v,E,S]=lSe(e,i,o,s,l);if(m)return{moduleSpecifiers:m,computedWithoutCache:p};if(!v)return{moduleSpecifiers:je,computedWithoutCache:p};p=!0,E||(E=_Se(WU(i.fileName,o),v.originalFileName,o));let A=R3e(E,r,i,o,s,l,d);return S?.set(i.path,v.path,s,l,E,A),{moduleSpecifiers:A,computedWithoutCache:p}}function R3e(e,t,r,i,o,s={},l){let d=WU(r.fileName,i),p=sk(o,t,r),h=an(e,C=>an(i.getFileIncludeReasons().get(ks(C.path,i.getCurrentDirectory(),d.getCanonicalFileName)),R=>{if(R.kind!==3||R.file!==r.path||r.impliedNodeFormat&&r.impliedNodeFormat!==Dae(r,R.index,t))return;let L=Ak(r,R.index).text;return p.relativePreference!==1||!op(L)?L:void 0}));if(h)return[h];let m=ct(e,C=>C.isInNodeModules),v,E,S,A;for(let C of e){let R=C.isInNodeModules?voe(C,d,r,i,t,o,void 0,s.overrideImportMode):void 0;if(v=pn(v,R),R&&C.isRedirect)return v;if(!R){let L=uSe(C.path,d,t,i,s.overrideImportMode||r.impliedNodeFormat,p,C.isRedirect);if(!L)continue;C.isRedirect?S=pn(S,L):RG(L)?Gb(L)?A=pn(A,L):E=pn(E,L):(l||!m||C.isInNodeModules)&&(A=pn(A,L))}}return E?.length?E:S?.length?S:v?.length?v:x.checkDefined(A)}function WU(e,t){e=Qi(e,t.getCurrentDirectory());let r=od(t.useCaseSensitiveFileNames?t.useCaseSensitiveFileNames():!0),i=Ur(e);return{getCanonicalFileName:r,importingSourceFileName:e,sourceDirectory:i,canonicalSourceDirectory:r(i)}}function uSe(e,t,r,i,o,{getAllowedEndingsInPreferredOrder:s,relativePreference:l},d){let{baseUrl:p,paths:h,rootDirs:m}=r;if(d&&!h)return;let{sourceDirectory:v,canonicalSourceDirectory:E,getCanonicalFileName:S}=t,A=s(o),C=m&&M3e(m,e,v,S,A,r)||lk(ME(Gf(v,e,S)),A,r);if(!p&&!h&&!DF(r)||l===0)return d?void 0:C;let R=Qi(zW(r,i)||p,i.getCurrentDirectory()),L=ySe(e,R,S);if(!L)return d?void 0:C;let G=d?void 0:P3e(e,v,r,i,o),U=d||G===void 0?h&&hSe(L,h,A,i,r):void 0;if(d)return U;let K=G??(U===void 0&&p!==void 0?lk(L,A,r):U);if(!K)return C;if(l===1&&!op(K))return K;if(l===3&&!op(K)){let F=r.configFilePath?ks(Ur(r.configFilePath),i.getCurrentDirectory(),t.getCanonicalFileName):t.getCanonicalFileName(i.getCurrentDirectory()),oe=ks(e,F,S),W=Ui(E,F),$=Ui(oe,F);if(W&&!$||!W&&$)return K;let de=goe(i,Ur(oe)),fe=goe(i,v),q=!yx(i);return D3e(de,fe,q)?C:K}return bSe(K)||o4(C)<o4(K)?C:K}function D3e(e,t,r){return e===t?!0:e===void 0||t===void 0?!1:Xh(e,t,r)===0}function o4(e){let t=0;for(let r=Ui(e,\"./\")?2:0;r<e.length;r++)e.charCodeAt(r)===47&&t++;return t}function pSe(e,t){return zv(t.isRedirect,e.isRedirect)||$L(e.path,t.path)}function goe(e,t){return e.getNearestAncestorDirectoryWithPackageJson?e.getNearestAncestorDirectoryWithPackageJson(t):Vf(t,r=>e.fileExists(wr(r,\"package.json\"))?r:void 0)}function fSe(e,t,r,i,o){var s;let l=ev(r),d=r.getCurrentDirectory(),p=r.isSourceOfProjectReferenceRedirect(t)?r.getProjectReferenceRedirect(t):void 0,h=ks(t,d,l),m=r.redirectTargetsMap.get(h)||je,E=[...p?[p]:je,t,...m].map(L=>Qi(L,d)),S=!ji(E,KC);if(!i){let L=an(E,G=>!(S&&KC(G))&&o(G,p===G));if(L)return L}let A=(s=r.getSymlinkCache)==null?void 0:s.call(r).getSymlinkedDirectoriesByRealpath(),C=Qi(t,d);return A&&Vf(Ur(C),L=>{let G=A.get(_c(ks(L,d,l)));if(G)return CG(e,L,l)?!1:an(E,U=>{if(!CG(U,L,l))return;let K=Gf(L,U,l);for(let F of G){let oe=jv(F,K),W=o(oe,U===p);if(S=!0,W)return W}})})||(i?an(E,L=>S&&KC(L)?void 0:o(L,L===p)):void 0)}function mSe(e,t,r,i,o={}){var s;let l=ks(e.importingSourceFileName,r.getCurrentDirectory(),ev(r)),d=ks(t,r.getCurrentDirectory(),ev(r)),p=(s=r.getModuleSpecifierCache)==null?void 0:s.call(r);if(p){let m=p.get(l,d,i,o);if(m?.modulePaths)return m.modulePaths}let h=_Se(e,t,r);return p&&p.setModulePaths(l,d,i,o,h),h}function _Se(e,t,r){let i=new Map,o=!1;fSe(e.importingSourceFileName,t,r,!0,(l,d)=>{let p=Gb(l);i.set(l,{path:e.getCanonicalFileName(l),isRedirect:d,isInNodeModules:p}),o=o||p});let s=[];for(let l=e.canonicalSourceDirectory;i.size!==0;){let d=_c(l),p;i.forEach(({path:m,isRedirect:v,isInNodeModules:E},S)=>{Ui(m,d)&&((p||(p=[])).push({path:S,isRedirect:v,isInNodeModules:E}),i.delete(S))}),p&&(p.length>1&&p.sort(pSe),s.push(...p));let h=Ur(l);if(h===l)break;l=h}if(i.size){let l=bo(i.entries(),([d,{isRedirect:p,isInNodeModules:h}])=>({path:d,isRedirect:p,isInNodeModules:h}));l.length>1&&l.sort(pSe),s.push(...l)}return s}function C3e(e,t){var r;let i=(r=e.declarations)==null?void 0:r.find(l=>m9(l)&&(!zE(l)||!Ic(Ef(l.name))));if(i)return i.name.text;let s=Fi(e.declarations,l=>{var d,p,h,m;if(!Il(l))return;let v=C(l);if(!((d=v?.parent)!=null&&d.parent&&n_(v.parent)&&sd(v.parent.parent)&&Li(v.parent.parent.parent)))return;let E=(m=(h=(p=v.parent.parent.symbol.exports)==null?void 0:p.get(\"export=\"))==null?void 0:h.valueDeclaration)==null?void 0:m.expression;if(!E)return;let S=t.getSymbolAtLocation(E);if(!S)return;if((S?.flags&2097152?t.getAliasedSymbol(S):S)===l.symbol)return v.parent.parent;function C(R){for(;R.flags&8;)R=R.parent;return R}})[0];if(s)return s.name.text}function hSe(e,t,r,i,o){for(let l in t)for(let d of t[l]){let p=Yo(d),h=p.indexOf(\"*\"),m=r.map(v=>({ending:v,value:lk(e,[v],o)}));if(og(p)&&m.push({ending:void 0,value:e}),h!==-1){let v=p.substring(0,h),E=p.substring(h+1);for(let{ending:S,value:A}of m)if(A.length>=v.length+E.length&&Ui(A,v)&&Zs(A,E)&&s({ending:S,value:A})){let C=A.substring(v.length,A.length-E.length);if(!op(C))return KA(l,C)}}else if(ct(m,v=>v.ending!==0&&p===v.value)||ct(m,v=>v.ending===0&&p===v.value&&s(v)))return l}function s({ending:l,value:d}){return l!==0||d===lk(e,[l],o,i)}}function a4(e,t,r,i,o,s,l,d,p){if(typeof s==\"string\"){let h=!yx(t),m=()=>t.getCommonSourceDirectory(),v=p&&fH(r,e,h,m),E=p&&pH(r,e,h,m),S=Qi(wr(i,s),void 0),A=qA(r)?Yd(r)+boe(r,e):void 0;switch(d){case 0:if(A&&Xh(A,S,h)===0||Xh(r,S,h)===0||v&&Xh(v,S,h)===0||E&&Xh(E,S,h)===0)return{moduleFileToTry:o};break;case 1:if(A&&Bf(S,A,h)){let G=Gf(S,A,!1);return{moduleFileToTry:Qi(wr(wr(o,s),G),void 0)}}if(Bf(S,r,h)){let G=Gf(S,r,!1);return{moduleFileToTry:Qi(wr(wr(o,s),G),void 0)}}if(v&&Bf(S,v,h)){let G=Gf(S,v,!1);return{moduleFileToTry:wr(o,G)}}if(E&&Bf(S,E,h)){let G=Gf(S,E,!1);return{moduleFileToTry:wr(o,G)}}break;case 2:let C=S.indexOf(\"*\"),R=S.slice(0,C),L=S.slice(C+1);if(A&&Ui(A,R,h)&&Zs(A,L,h)){let G=A.slice(R.length,A.length-L.length);return{moduleFileToTry:KA(o,G)}}if(Ui(r,R,h)&&Zs(r,L,h)){let G=r.slice(R.length,r.length-L.length);return{moduleFileToTry:KA(o,G)}}if(v&&Ui(v,R,h)&&Zs(v,L,h)){let G=v.slice(R.length,v.length-L.length);return{moduleFileToTry:KA(o,G)}}if(E&&Ui(E,R,h)&&Zs(E,L,h)){let G=E.slice(R.length,E.length-L.length);return{moduleFileToTry:KA(o,G)}}break}}else{if(Array.isArray(s))return an(s,h=>a4(e,t,r,i,o,h,l,d,p));if(typeof s==\"object\"&&s!==null){for(let h of fh(s))if(h===\"default\"||l.indexOf(h)>=0||ok(l,h)){let m=s[h],v=a4(e,t,r,i,o,m,l,d,p);if(v)return v}}}}function N3e(e,t,r,i,o,s,l){return typeof s==\"object\"&&s!==null&&!Array.isArray(s)&&t4(s)?an(fh(s),d=>{let p=Qi(wr(o,d),void 0),h=Zs(d,\"/\")?1:d.includes(\"*\")?2:0;return a4(e,t,r,i,p,s[d],l,h,!1)}):a4(e,t,r,i,o,s,l,0,!1)}function P3e(e,t,r,i,o){var s,l,d;if(!i.readFile||!DF(r))return;let p=goe(i,t);if(!p)return;let h=wr(p,\"package.json\"),m=(l=(s=i.getPackageJsonInfoCache)==null?void 0:s.call(i))==null?void 0:l.getPackageJsonInfo(h);if(noe(m)||!i.fileExists(h))return;let v=m?.contents.packageJsonContent||KW(i.readFile(h)),E=v?.imports;if(!E)return;let S=hy(r,o);return(d=an(fh(E),A=>{if(!Ui(A,\"#\")||A===\"#\"||Ui(A,\"#/\"))return;let C=Zs(A,\"/\")?1:A.includes(\"*\")?2:0;return a4(r,i,e,p,A,E[A],S,C,!0)}))==null?void 0:d.moduleFileToTry}function M3e(e,t,r,i,o,s){let l=gSe(t,e,i);if(l===void 0)return;let d=gSe(r,e,i),p=ta(d,m=>nn(l,v=>ME(Gf(m,v,i)))),h=cB(p,$L);if(h)return lk(h,o,s)}function voe({path:e,isRedirect:t},{getCanonicalFileName:r,canonicalSourceDirectory:i},o,s,l,d,p,h){if(!s.fileExists||!s.readFile)return;let m=yF(e);if(!m)return;let E=sk(d,l,o).getAllowedEndingsInPreferredOrder(),S=e,A=!1;if(!p){let K=m.packageRootIndex,F;for(;;){let{moduleFileToTry:oe,packageRootPath:W,blockedByExports:$,verbatimFromExports:de}=U(K);if(zd(l)!==1){if($)return;if(de)return oe}if(W){S=W,A=!0;break}if(F||(F=oe),K=e.indexOf(Os,K+1),K===-1){S=lk(F,E,l,s);break}}}if(t&&!A)return;let C=s.getGlobalTypingsCacheLocation&&s.getGlobalTypingsCacheLocation(),R=r(S.substring(0,m.topLevelNodeModulesIndex));if(!(Ui(i,R)||C&&Ui(r(C),R)))return;let L=S.substring(m.topLevelPackageNameIndex+1),G=CN(L);return zd(l)===1&&G===L?void 0:G;function U(K){var F,oe;let W=e.substring(0,K),$=wr(W,\"package.json\"),de=e,fe=!1,q=(oe=(F=s.getPackageJsonInfoCache)==null?void 0:F.call(s))==null?void 0:oe.getPackageJsonInfo($);if($6(q)||q===void 0&&s.fileExists($)){let H=q?.contents.packageJsonContent||KW(s.readFile($)),ee=h||o.impliedNodeFormat;if(RF(l)){let ce=W.substring(m.topLevelPackageNameIndex+1),Z=CN(ce),pe=hy(l,ee),Ae=H?.exports?N3e(l,s,e,W,Z,H.exports,pe):void 0;if(Ae)return{...Ae,verbatimFromExports:!0};if(H?.exports)return{moduleFileToTry:e,blockedByExports:!0}}let le=H?.typesVersions?X6(H.typesVersions):void 0;if(le){let ce=e.slice(W.length+1),Z=hSe(ce,le.paths,E,s,l);Z===void 0?fe=!0:de=wr(W,Z)}let Ee=H?.typings||H?.types||H?.main||\"index.js\";if(fo(Ee)&&!(fe&&CV(fF(le.paths),Ee))){let ce=ks(Ee,W,r),Z=r(de);if(Yd(ce)===Yd(Z))return{packageRootPath:W,moduleFileToTry:de};if(H?.type!==\"module\"&&!$l(Z,c2)&&Ui(Z,ce)&&Ur(Z)===fb(ce)&&Yd(Ll(Z))===\"index\")return{packageRootPath:W,moduleFileToTry:de}}}else{let H=r(de.substring(m.packageRootIndex+1));if(H===\"index.d.ts\"||H===\"index.js\"||H===\"index.ts\"||H===\"index.tsx\")return{moduleFileToTry:de,packageRootPath:W}}return{moduleFileToTry:de}}}function L3e(e,t){if(!e.fileExists)return;let r=Ff(GC({allowJs:!0},[{extension:\"node\",isMixedContent:!1},{extension:\"json\",isMixedContent:!1,scriptKind:6}]));for(let i of r){let o=t+i;if(e.fileExists(o))return o}}function gSe(e,t,r){return Fi(t,i=>{let o=ySe(e,i,r);return o!==void 0&&bSe(o)?void 0:o})}function lk(e,t,r,i){if($l(e,[\".json\",\".mjs\",\".cjs\"]))return e;let o=Yd(e);if(e===o)return e;let s=t.indexOf(2),l=t.indexOf(3);if($l(e,[\".mts\",\".cts\"])&&l!==-1&&l<s)return e;if($l(e,[\".d.mts\",\".mts\",\".d.cts\",\".cts\"]))return o+yoe(e,r);if(!$l(e,[\".d.ts\"])&&$l(e,[\".ts\"])&&e.includes(\".d.\"))return vSe(e);switch(t[0]){case 0:let d=C1(o,\"/index\");return i&&d!==o&&L3e(i,d)?o:d;case 1:return o;case 2:return o+yoe(e,r);case 3:if(Yc(e)){let p=t.findIndex(h=>h===0||h===1);return p!==-1&&p<s?o:o+yoe(e,r)}return e;default:return x.assertNever(t[0])}}function vSe(e){let t=Ll(e);if(!Zs(e,\".ts\")||!t.includes(\".d.\")||$l(t,[\".d.ts\"]))return;let r=QL(e,\".ts\"),i=r.substring(r.lastIndexOf(\".\"));return r.substring(0,r.indexOf(\".d.\"))+i}function yoe(e,t){return boe(e,t)??x.fail(`Extension ${jC(e)} is unsupported:: FileName:: ${e}`)}function boe(e,t){let r=og(e);switch(r){case\".ts\":case\".d.ts\":return\".js\";case\".tsx\":return t.jsx===1?\".jsx\":\".js\";case\".js\":case\".jsx\":case\".json\":return r;case\".d.mts\":case\".mts\":case\".mjs\":return\".mjs\";case\".d.cts\":case\".cts\":case\".cjs\":return\".cjs\";default:return}}function ySe(e,t,r){let i=AA(t,e,t,r,!1);return Ou(i)?void 0:i}function bSe(e){return Ui(e,\"..\")}var Eoe,Soe=pt({\"src/compiler/moduleSpecifiers.ts\"(){\"use strict\";wo(),Eoe=(e=>(e[e.Relative=0]=\"Relative\",e[e.NonRelative=1]=\"NonRelative\",e[e.Shortest=2]=\"Shortest\",e[e.ExternalNonRelative=3]=\"ExternalNonRelative\",e))(Eoe||{})}}),h0={};la(h0,{RelativePreference:()=>Eoe,countPathComponents:()=>o4,forEachFileNameOfModule:()=>fSe,getModuleSpecifier:()=>i4,getModuleSpecifierPreferences:()=>sk,getModuleSpecifiers:()=>cSe,getModuleSpecifiersWithCacheInfo:()=>dSe,getNodeModulesPackageName:()=>I3e,tryGetJSExtensionForFile:()=>boe,tryGetModuleSpecifiersFromCache:()=>x3e,tryGetRealFileNameForNonJsDeclarationFileName:()=>vSe,updateModuleSpecifier:()=>A3e});var Toe=pt({\"src/compiler/_namespaces/ts.moduleSpecifiers.ts\"(){\"use strict\";Soe()}});function k3e(){this.flags=0}function Fa(e){return e.id||(e.id=xoe,xoe++),e.id}function na(e){return e.id||(e.id=Ioe,Ioe++),e.id}function FU(e,t){let r=dg(e);return r===1||t&&r===2}function Aoe(e){var t=[],r=n=>{t.push(n)},i,o=new Set,s,l,d=wc.getSymbolConstructor(),p=wc.getTypeConstructor(),h=wc.getSignatureConstructor(),m=0,v=0,E=0,S=0,A=0,C=0,R,L,G=!1,U=Vo(),K=[1],F=e.getCompilerOptions(),oe=Wa(F),W=ld(F),$=!!F.experimentalDecorators,de=nN(F),fe=Xne(F),q=zS(F),H=Fd(F,\"strictNullChecks\"),ee=Fd(F,\"strictFunctionTypes\"),le=Fd(F,\"strictBindCallApply\"),Ee=Fd(F,\"strictPropertyInitialization\"),ce=Fd(F,\"noImplicitAny\"),Z=Fd(F,\"noImplicitThis\"),pe=Fd(F,\"useUnknownInCatchVariables\"),Ae=!!F.keyofStringsOnly,Oe=Ae?1:0,_e=F.suppressExcessPropertyErrors?0:8192,be=F.exactOptionalPropertyTypes,Te=plt(),De=Hut(),ft=h_(),he=Vo(),Le=Ra(4,\"undefined\");Le.declarations=[];var Ke=Ra(1536,\"globalThis\",8);Ke.exports=he,Ke.declarations=[],he.set(Ke.escapedName,Ke);var Dt=Ra(4,\"arguments\"),st=Ra(4,\"require\"),Ge=F.verbatimModuleSyntax?\"verbatimModuleSyntax\":\"isolatedModules\",ot=!F.verbatimModuleSyntax||!!F.importsNotUsedAsValues,Vt,jt,gn=0,On,en=0;let zt={getNodeCount:()=>Nd(e.getSourceFiles(),(n,a)=>n+a.nodeCount,0),getIdentifierCount:()=>Nd(e.getSourceFiles(),(n,a)=>n+a.identifierCount,0),getSymbolCount:()=>Nd(e.getSourceFiles(),(n,a)=>n+a.symbolCount,v),getTypeCount:()=>m,getInstantiationCount:()=>E,getRelationCacheSizes:()=>({assignable:hu.size,identity:Cu.size,subtype:Y_.size,strictSubtype:rf.size}),isUndefinedSymbol:n=>n===Le,isArgumentsSymbol:n=>n===Dt,isUnknownSymbol:n=>n===tt,getMergedSymbol:Oa,getDiagnostics:V8e,getGlobalDiagnostics:sut,getRecursionIdentity:dQ,getUnmatchedProperties:ehe,getTypeOfSymbolAtLocation:(n,a)=>{let c=uo(a);return c?eot(n,c):it},getTypeOfSymbol:Yn,getSymbolsOfParameterPropertyDeclaration:(n,a)=>{let c=uo(n,ao);return c===void 0?x.fail(\"Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node.\"):(x.assert(wu(c,c.parent)),TP(c,Hs(a)))},getDeclaredTypeOfSymbol:Cs,getPropertiesOfType:Xa,getPropertyOfType:(n,a)=>Qo(n,Hs(a)),getPrivateIdentifierPropertyOfType:(n,a,c)=>{let u=uo(c);if(!u)return;let _=Hs(a),g=GQ(_,u);return g?zhe(n,g):void 0},getTypeOfPropertyOfType:(n,a)=>Fe(n,Hs(a)),getIndexInfoOfType:(n,a)=>Uh(n,a===0?Ie:gt),getIndexInfosOfType:Ud,getIndexInfosOfIndexSymbol:Kme,getSignaturesOfType:Co,getIndexTypeOfType:(n,a)=>yE(n,a===0?Ie:gt),getIndexType:n=>y_(n),getBaseTypes:ep,getBaseTypeOfLiteralType:wg,getWidenedType:gp,getTypeFromTypeNode:n=>{let a=uo(n,xi);return a?si(a):it},getParameterType:zm,getParameterIdentifierInfoAtPosition:Nst,getPromisedTypeOfPromise:kw,getAwaitedType:n=>pA(n),getReturnTypeOfSignature:Ha,isNullableType:h5,getNullableType:e5,getNonNullableType:Wg,getNonOptionalType:mQ,getTypeArguments:Ts,typeToTypeNode:ft.typeToTypeNode,indexInfoToIndexSignatureDeclaration:ft.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:ft.signatureToSignatureDeclaration,symbolToEntityName:ft.symbolToEntityName,symbolToExpression:ft.symbolToExpression,symbolToNode:ft.symbolToNode,symbolToTypeParameterDeclarations:ft.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:ft.symbolToParameterDeclaration,typeParameterToDeclaration:ft.typeParameterToDeclaration,getSymbolsInScope:(n,a)=>{let c=uo(n);return c?lut(c,a):[]},getSymbolAtLocation:n=>{let a=uo(n);return a?um(a,!0):void 0},getIndexInfosAtLocation:n=>{let a=uo(n);return a?hut(a):void 0},getShorthandAssignmentValueSymbol:n=>{let a=uo(n);return a?gut(a):void 0},getExportSpecifierLocalTargetSymbol:n=>{let a=uo(n,Ed);return a?vut(a):void 0},getExportSymbolOfSymbol(n){return Oa(n.exportSymbol||n)},getTypeAtLocation:n=>{let a=uo(n);return a?S1(a):it},getTypeOfAssignmentPattern:n=>{let a=uo(n,lC);return a&&gZ(a)||it},getPropertySymbolOfDestructuringAssignment:n=>{let a=uo(n,Me);return a?yut(a):void 0},signatureToString:(n,a,c,u)=>th(n,uo(a),c,u),typeToString:(n,a,c)=>Pn(n,uo(a),c),symbolToString:(n,a,c,u)=>ai(n,uo(a),c,u),typePredicateToString:(n,a,c)=>nh(n,uo(a),c),writeSignature:(n,a,c,u,_)=>th(n,uo(a),c,u,_),writeType:(n,a,c,u)=>Pn(n,uo(a),c,u),writeSymbol:(n,a,c,u,_)=>ai(n,uo(a),c,u,_),writeTypePredicate:(n,a,c,u)=>nh(n,uo(a),c,u),getAugmentedPropertiesOfType:Bge,getRootSymbols:Y8e,getSymbolOfExpando:YQ,getContextualType:(n,a)=>{let c=uo(n,lt);if(c)return a&4?Ki(c,()=>bu(c,a)):bu(c,a)},getContextualTypeForObjectLiteralElement:n=>{let a=uo(n,Zh);return a?Ihe(a,void 0):void 0},getContextualTypeForArgumentAtIndex:(n,a)=>{let c=uo(n,WE);return c&&Ahe(c,a)},getContextualTypeForJsxAttribute:n=>{let a=uo(n,H8);return a&&dOe(a,void 0)},isContextSensitive:uf,getTypeOfPropertyOfContextualType:DE,getFullyQualifiedName:mp,getResolvedSignature:(n,a,c)=>gi(n,a,c,0),getCandidateSignaturesForStringLiteralCompletions:Wt,getResolvedSignatureForSignatureHelp:(n,a,c)=>ei(n,()=>gi(n,a,c,16)),getExpandedParameters:uLe,hasEffectiveRestParameter:dh,containsArgumentsReference:Hme,getConstantValue:n=>{let a=uo(n,tWe);return a?Gge(a):void 0},isValidPropertyAccess:(n,a)=>{let c=uo(n,$ee);return!!c&&zat(c,Hs(a))},isValidPropertyAccessForCompletions:(n,a,c)=>{let u=uo(n,Er);return!!u&&BOe(u,a,c)},getSignatureFromDeclaration:n=>{let a=uo(n,Lo);return a?kf(a):void 0},isImplementationOfOverload:n=>{let a=uo(n,Lo);return a?Z8e(a):void 0},getImmediateAliasedSymbol:Nhe,getAliasedSymbol:fc,getEmitResolver:Ev,getExportsOfModule:wT,getExportsAndPropertiesOfModule:eD,forEachExportAndPropertyOfModule:tD,getSymbolWalker:hoe(Stt,df,Ha,ep,Om,Yn,cm,iu,dp,Ts),getAmbientModules:kpt,getJsxIntrinsicTagNamesAt:vat,isOptionalParameter:n=>{let a=uo(n,ao);return a?ow(a):!1},tryGetMemberInModuleExports:(n,a)=>WT(Hs(n),a),tryGetMemberInModuleExportsAndProperties:(n,a)=>nD(Hs(n),a),tryFindAmbientModule:n=>w$(n,!0),tryFindAmbientModuleWithoutAugmentations:n=>w$(n,!1),getApparentType:ou,getUnionType:Br,isTypeAssignableTo:ea,createAnonymousType:cs,createSignature:jh,createSymbol:Ra,createIndexInfo:sh,getAnyType:()=>z,getStringType:()=>Ie,getStringLiteralType:yu,getNumberType:()=>gt,getNumberLiteralType:Wm,getBigIntType:()=>bt,createPromiseType:R5,createArrayType:_d,getElementTypeOfArrayType:Z7,getBooleanType:()=>ti,getFalseType:n=>n?Ot:dn,getTrueType:n=>n?An:Cn,getVoidType:()=>jn,getUndefinedType:()=>Re,getNullType:()=>se,getESSymbolType:()=>di,getNeverType:()=>Ar,getOptionalType:()=>j,getPromiseType:()=>W7(!1),getPromiseLikeType:()=>QLe(!1),getAsyncIterableType:()=>{let n=q$(!1);if(n!==ho)return n},isSymbolAccessible:vi,isArrayType:ff,isTupleType:ga,isArrayLikeType:Lv,isEmptyAnonymousObjectType:ch,isTypeInvalidDueToUnionDiscriminant:rtt,getExactOptionalProperties:Nrt,getAllPossiblePropertiesOfTypes:itt,getSuggestedSymbolForNonexistentProperty:Vhe,getSuggestionForNonexistentProperty:jhe,getSuggestedSymbolForNonexistentJSXAttribute:FOe,getSuggestedSymbolForNonexistentSymbol:(n,a,c)=>Uhe(n,Hs(a),c),getSuggestionForNonexistentSymbol:(n,a,c)=>Oat(n,Hs(a),c),getSuggestedSymbolForNonexistentModule:jQ,getSuggestionForNonexistentExport:wat,getSuggestedSymbolForNonexistentClassMember:WOe,getBaseConstraintOfType:md,getDefaultFromTypeParameter:n=>n&&n.flags&262144?KT(n):void 0,resolveName(n,a,c,u){return Xs(a,Hs(n),c,void 0,void 0,!1,u)},getJsxNamespace:n=>Ii(tE(n)),getJsxFragmentFactory:n=>{let a=jge(n);return a&&Ii(dp(a).escapedText)},getAccessibleSymbolChain:Wy,getTypePredicateOfSignature:df,resolveExternalModuleName:n=>{let a=uo(n,lt);return a&&jd(a,a,!0)},resolveExternalModuleSymbol:$u,tryGetThisTypeAt:(n,a,c)=>{let u=uo(n);return u&&bhe(u,a,c)},getTypeArgumentConstraint:n=>{let a=uo(n,xi);return a&&Ult(a)},getSuggestionDiagnostics:(n,a)=>{let c=uo(n,Li)||x.fail(\"Could not determine parsed source file.\");if(UC(c,F,e))return je;let u;try{return i=a,Fge(c),x.assert(!!(Fr(c).flags&1)),u=Pr(u,yT.getDiagnostics(c.fileName)),i8e(G8e(c),(_,g,T)=>{!X1(_)&&!B8e(g,!!(_.flags&33554432))&&(u||(u=[])).push({...T,category:2})}),u||je}finally{i=void 0}},runWithCancellationToken:(n,a)=>{try{return i=n,a(zt)}finally{i=void 0}},getLocalTypeParametersOfClassOrInterfaceOrTypeAlias:gr,isDeclarationVisible:Pm,isPropertyAccessible:qhe,getTypeOnlyAliasDeclaration:of,getMemberOverrideModifierStatus:Sdt,isTypeParameterPossiblyReferenced:U7,typeHasCallOrConstructSignatures:vZ};function Wt(n,a){let c=new Set,u=[];Ki(a,()=>gi(n,u,void 0,0));for(let _ of u)c.add(_);u.length=0,ei(a,()=>gi(n,u,void 0,0));for(let _ of u)c.add(_);return bo(c)}function ei(n,a){if(n=Rn(n,ZG),n){let c=[],u=[];for(;n;){let g=Fr(n);if(c.push([g,g.resolvedSignature]),g.resolvedSignature=void 0,e0(n)){let T=Pi(dr(n)),N=T.type;u.push([T,N]),T.type=void 0}n=Rn(n.parent,ZG)}let _=a();for(let[g,T]of c)g.resolvedSignature=T;for(let[g,T]of u)g.type=T;return _}return a()}function Ki(n,a){let c=Rn(n,WE);if(c){let _=n;do Fr(_).skipDirectInference=!0,_=_.parent;while(_&&_!==c)}G=!0;let u=ei(n,a);if(G=!1,c){let _=n;do Fr(_).skipDirectInference=void 0,_=_.parent;while(_&&_!==c)}return u}function gi(n,a,c,u){let _=uo(n,WE);Vt=c;let g=_?xD(_,a,u):void 0;return Vt=void 0,g}var io=new Map,Gn=new Map,Nr=new Map,cr=new Map,Jt=new Map,Ue=new Map,Rt=new Map,mn=new Map,qr=new Map,ni=new Map,ki=new Map,so=new Map,Jo=new Map,Ea=new Map,ln=new Map,Tn=[],ke=new Map,nt=new Set,tt=Ra(4,\"unknown\"),yt=Ra(0,\"__resolving__\"),re=new Map,Ce=new Map,et=new Set,z=Fl(1,\"any\"),Je=Fl(1,\"any\",262144,\"auto\"),_t=Fl(1,\"any\",void 0,\"wildcard\"),ze=Fl(1,\"any\",void 0,\"blocked string\"),it=Fl(1,\"error\"),Ct=Fl(1,\"unresolved\"),on=Fl(1,\"any\",65536,\"non-inferrable\"),Qt=Fl(1,\"intrinsic\"),Zt=Fl(2,\"unknown\"),V=Fl(2,\"unknown\",void 0,\"non-null\"),Re=Fl(32768,\"undefined\"),St=H?Re:Fl(32768,\"undefined\",65536,\"widening\"),M=Fl(32768,\"undefined\",void 0,\"missing\"),te=be?M:Re,j=Fl(32768,\"undefined\",void 0,\"optional\"),se=Fl(65536,\"null\"),Pe=H?se:Fl(65536,\"null\",65536,\"widening\"),Ie=Fl(4,\"string\"),gt=Fl(8,\"number\"),bt=Fl(64,\"bigint\"),Ot=Fl(512,\"false\",void 0,\"fresh\"),dn=Fl(512,\"false\"),An=Fl(512,\"true\",void 0,\"fresh\"),Cn=Fl(512,\"true\");An.regularType=Cn,An.freshType=An,Cn.regularType=Cn,Cn.freshType=An,Ot.regularType=dn,Ot.freshType=Ot,dn.regularType=dn,dn.freshType=Ot;var ti=Br([dn,Cn]),di=Fl(4096,\"symbol\"),jn=Fl(16384,\"void\"),Ar=Fl(131072,\"never\"),Zi=Fl(131072,\"never\",262144,\"silent\"),_i=Fl(131072,\"never\",void 0,\"implicit\"),ui=Fl(131072,\"never\",void 0,\"unreachable\"),Mr=Fl(67108864,\"object\"),lo=Br([Ie,gt]),_n=Br([Ie,gt,di]),ms=Ae?Ie:_n,Dl=Br([gt,bt]),_o=Br([Ie,gt,ti,bt,se,Re]),Va=YT([\"\",\"\"],[gt]),vs=j7(n=>n.flags&262144?rrt(n):n,()=>\"(restrictive mapper)\"),Js=j7(n=>n.flags&262144?_t:n,()=>\"(permissive mapper)\"),Fc=Fl(131072,\"never\",void 0,\"unique literal\"),$i=j7(n=>n.flags&262144?Fc:n,()=>\"(unique literal mapper)\"),Uo,zc=j7(n=>(Uo&&(n===Ju||n===ls||n===tc)&&Uo(!0),n),()=>\"(unmeasurable reporter)\"),ts=j7(n=>(Uo&&(n===Ju||n===ls||n===tc)&&Uo(!1),n),()=>\"(unreliable reporter)\"),ua=cs(void 0,U,je,je,je),Us=cs(void 0,U,je,je,je);Us.objectFlags|=2048;var tf=Ra(2048,\"__type\");tf.members=Vo();var Wl=cs(tf,U,je,je,je),il=cs(void 0,U,je,je,je),zs=H?Br([Re,se,il]):Zt,ho=cs(void 0,U,je,je,je);ho.instantiations=new Map;var Ut=cs(void 0,U,je,je,je);Ut.objectFlags|=262144;var ys=cs(void 0,U,je,je,je),Pc=cs(void 0,U,je,je,je),Bc=cs(void 0,U,je,je,je),Ju=Bp(),ls=Bp();ls.constraint=Ju;var tc=Bp(),ae=Bp(),X=Bp();X.constraint=ae;var xe=O7(1,\"<<unresolved>>\",0,z),dt=jh(void 0,void 0,void 0,je,z,void 0,0,0),$t=jh(void 0,void 0,void 0,je,it,void 0,0,0),sr=jh(void 0,void 0,void 0,je,z,void 0,0,0),tr=jh(void 0,void 0,void 0,je,Zi,void 0,0,0),Ir=sh(gt,Ie,!0),pi=new Map,hr={get yieldType(){return x.fail(\"Not supported\")},get returnType(){return x.fail(\"Not supported\")},get nextType(){return x.fail(\"Not supported\")}},No=wv(z,z,z),Qs=wv(z,z,Zt),bc=wv(Ar,z,Re),bs={iterableCacheKey:\"iterationTypesOfAsyncIterable\",iteratorCacheKey:\"iterationTypesOfAsyncIterator\",iteratorSymbolName:\"asyncIterator\",getGlobalIteratorType:Wtt,getGlobalIterableType:q$,getGlobalIterableIteratorType:Ftt,getGlobalGeneratorType:ztt,resolveIterationType:(n,a)=>pA(n,a,f.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member),mustHaveANextMethodDiagnostic:f.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:f.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:f.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},Jl={iterableCacheKey:\"iterationTypesOfIterable\",iteratorCacheKey:\"iterationTypesOfIterator\",iteratorSymbolName:\"iterator\",getGlobalIteratorType:Btt,getGlobalIterableType:a_e,getGlobalIterableIteratorType:Gtt,getGlobalGeneratorType:Vtt,resolveIterationType:(n,a)=>n,mustHaveANextMethodDiagnostic:f.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:f.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:f.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},Za,Ec=new Map,Du=[],pc,Nf,Vd,Se,At,Ln,eo,Po,Oo,Cl,Kl,Bs,Ks,vl,Nl,Sc,kp,fu,tu,nf,u_,X_,fg,fd,mg,Ku,Lh,mu,Y,Ye,xt,Nt,k,ge,Xe,Mt,Vn,jr,Or,zi,_a,ha,pl,Gc,nc,Xu,_u,Ay,ja,em,tm,Ri,_g,yv,nm,D0,C0,Op=new Map,p_=0,wp=0,hg=0,Ne=!1,Ve=0,Tt,Pt,rn,wn=[],tn=[],Wn=[],Qr=0,Kn=[],Gr=[],Qn=0,Mo=yu(\"\"),xa=Wm(0),xd=$$({negative:!1,base10Value:\"0\"}),Vc=[],gg=[],$b=[],UI=0,Qb=!1,GR=0,VR=10,jR=[],gT=[],N0=[],HI=[],UR=[],qI=[],JI=[],KI=[],XI=[],vT=[],YI=[],P0=[],M0=[],Iy=[],xy=[],kh=[],Zb=[],La=hx(),yT=hx(),HR=eh(),eE,vg,Y_=new Map,rf=new Map,hu=new Map,Yu=new Map,Cu=new Map,bv=new Map,bT=Vo();bT.set(Le.escapedName,Le);var qR=[[\".mts\",\".mjs\"],[\".ts\",\".js\"],[\".cts\",\".cjs\"],[\".mjs\",\".mjs\"],[\".js\",\".js\"],[\".cjs\",\".cjs\"],[\".tsx\",F.jsx===1?\".jsx\":\".js\"],[\".jsx\",\".jsx\"],[\".json\",\".json\"]];return qut(),zt;function $I(n){return n?ln.get(n):void 0}function Ry(n,a){return n&&ln.set(n,a),a}function tE(n){if(n){let a=Nn(n);if(a)if(fI(n)){if(a.localJsxFragmentNamespace)return a.localJsxFragmentNamespace;let c=a.pragmas.get(\"jsxfrag\");if(c){let _=oo(c)?c[0]:c;if(a.localJsxFragmentFactory=gI(_.arguments.factory,oe),He(a.localJsxFragmentFactory,Xl,Su),a.localJsxFragmentFactory)return a.localJsxFragmentNamespace=dp(a.localJsxFragmentFactory).escapedText}let u=jge(n);if(u)return a.localJsxFragmentFactory=u,a.localJsxFragmentNamespace=dp(u).escapedText}else{let c=QI(a);if(c)return a.localJsxNamespace=c}}return eE||(eE=\"React\",F.jsxFactory?(vg=gI(F.jsxFactory,oe),He(vg,Xl),vg&&(eE=dp(vg).escapedText)):F.reactNamespace&&(eE=Hs(F.reactNamespace))),vg||(vg=P.createQualifiedName(P.createIdentifier(Ii(eE)),\"createElement\")),eE}function QI(n){if(n.localJsxNamespace)return n.localJsxNamespace;let a=n.pragmas.get(\"jsx\");if(a){let c=oo(a)?a[0]:a;if(n.localJsxFactory=gI(c.arguments.factory,oe),He(n.localJsxFactory,Xl,Su),n.localJsxFactory)return n.localJsxNamespace=dp(n.localJsxFactory).escapedText}}function Xl(n){return F_(n,-1,-1),un(n,Xl,void 0)}function Ev(n,a){return V8e(n,a),De}function ZI(n,a,...c){let u=n?vr(n,a,...c):bl(a,...c),_=La.lookup(u);return _||(La.add(u),u)}function xm(n,a,c,...u){let _=we(a,c,...u);return _.skippedOn=n,_}function ET(n,a,...c){return n?vr(n,a,...c):bl(a,...c)}function we(n,a,...c){let u=ET(n,a,...c);return La.add(u),u}function Rm(n,a){n?La.add(a):yT.add({...a,category:2})}function jc(n,a,c,...u){if(a.pos<0||a.end<0){if(!n)return;let _=Nn(a);Rm(n,\"message\"in c?Rc(_,0,0,c,...u):T9(_,c));return}Rm(n,\"message\"in c?vr(a,c,...u):eg(Nn(a),a,c))}function nE(n,a,c,...u){let _=we(n,c,...u);if(a){let g=vr(n,f.Did_you_forget_to_use_await);fa(_,g)}return _}function e1(n,a){let c=Array.isArray(n)?an(n,zG):zG(n);return c&&fa(a,vr(c,f.The_declaration_was_marked_as_deprecated_here)),yT.add(a),a}function Dy(n){let a=nu(n);return a&&yn(n.declarations)>1?a.flags&64?ct(n.declarations,Sv):ji(n.declarations,Sv):!!n.valueDeclaration&&Sv(n.valueDeclaration)||yn(n.declarations)&&ji(n.declarations,Sv)}function Sv(n){return!!(lS(n)&536870912)}function Tv(n,a,c){let u=vr(n,f._0_is_deprecated,c);return e1(a,u)}function SP(n,a,c,u){let _=c?vr(n,f.The_signature_0_of_1_is_deprecated,u,c):vr(n,f._0_is_deprecated,u);return e1(a,_)}function Ra(n,a,c){v++;let u=new d(n|33554432,a);return u.links=new Coe,u.links.checkFlags=c||0,u}function Dm(n,a){let c=Ra(1,n);return c.links.type=a,c}function ST(n,a){let c=Ra(4,n);return c.links.type=a,c}function TT(n){let a=0;return n&2&&(a|=111551),n&1&&(a|=111550),n&4&&(a|=0),n&8&&(a|=900095),n&16&&(a|=110991),n&32&&(a|=899503),n&64&&(a|=788872),n&256&&(a|=899327),n&128&&(a|=899967),n&512&&(a|=110735),n&8192&&(a|=103359),n&32768&&(a|=46015),n&65536&&(a|=78783),n&262144&&(a|=526824),n&524288&&(a|=788968),n&2097152&&(a|=2097152),a}function rE(n,a){a.mergeId||(a.mergeId=Roe,Roe++),jR[a.mergeId]=n}function AT(n){let a=Ra(n.flags,n.escapedName);return a.declarations=n.declarations?n.declarations.slice():[],a.parent=n.parent,n.valueDeclaration&&(a.valueDeclaration=n.valueDeclaration),n.constEnumOnlyModule&&(a.constEnumOnlyModule=!0),n.members&&(a.members=new Map(n.members)),n.exports&&(a.exports=new Map(n.exports)),rE(a,n),a}function Pf(n,a,c=!1){if(!(n.flags&TT(a.flags))||(a.flags|n.flags)&67108864){if(a===n)return n;if(!(n.flags&33554432)){let _=yl(n);if(_===tt)return a;n=AT(_)}a.flags&512&&n.flags&512&&n.constEnumOnlyModule&&!a.constEnumOnlyModule&&(n.constEnumOnlyModule=!1),n.flags|=a.flags,a.valueDeclaration&&IL(n,a.valueDeclaration),Pr(n.declarations,a.declarations),a.members&&(n.members||(n.members=Vo()),Cm(n.members,a.members,c)),a.exports&&(n.exports||(n.exports=Vo()),Cm(n.exports,a.exports,c)),c||rE(n,a)}else if(n.flags&1024)n!==Ke&&we(a.declarations&&mo(a.declarations[0]),f.Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity,ai(n));else{let _=!!(n.flags&384||a.flags&384),g=!!(n.flags&2||a.flags&2),T=_?f.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:g?f.Cannot_redeclare_block_scoped_variable_0:f.Duplicate_identifier_0,N=a.declarations&&Nn(a.declarations[0]),O=n.declarations&&Nn(n.declarations[0]),B=nL(N,F.checkJs),Q=nL(O,F.checkJs),me=ai(a);if(N&&O&&Za&&!_&&N!==O){let ue=Xh(N.path,O.path)===-1?N:O,We=ue===N?O:N,at=FD(Za,`${ue.path}|${We.path}`,()=>({firstFile:ue,secondFile:We,conflictingSymbols:new Map})),ht=FD(at.conflictingSymbols,me,()=>({isBlockScoped:g,firstFileLocations:[],secondFileLocations:[]}));B||u(ht.firstFileLocations,a),Q||u(ht.secondFileLocations,n)}else B||Mf(a,T,me,n),Q||Mf(n,T,me,a)}return n;function u(_,g){if(g.declarations)for(let T of g.declarations)jp(_,T)}}function Mf(n,a,c,u){an(n.declarations,_=>{yg(_,a,c,u.declarations)})}function yg(n,a,c,u){let _=(Ib(n,!1)?L9(n):mo(n))||n,g=ZI(_,a,c);for(let T of u||je){let N=(Ib(T,!1)?L9(T):mo(T))||T;if(N===_)continue;g.relatedInformation=g.relatedInformation||[];let O=vr(N,f._0_was_also_declared_here,c),B=vr(N,f.and_here);yn(g.relatedInformation)>=5||ct(g.relatedInformation,Q=>zC(Q,B)===0||zC(Q,O)===0)||fa(g,yn(g.relatedInformation)?B:O)}}function t1(n,a){if(!n?.size)return a;if(!a?.size)return n;let c=Vo();return Cm(c,n),Cm(c,a),c}function Cm(n,a,c=!1){a.forEach((u,_)=>{let g=n.get(_);n.set(_,g?Pf(g,u,c):Oa(u))})}function JR(n){var a,c,u;let _=n.parent;if(((a=_.symbol.declarations)==null?void 0:a[0])!==_){x.assert(_.symbol.declarations.length>1);return}if(Jm(_))Cm(he,_.symbol.exports);else{let g=n.parent.parent.flags&33554432?void 0:f.Invalid_module_name_in_augmentation_module_0_cannot_be_found,T=Tg(n,n,g,!0);if(!T)return;if(T=$u(T),T.flags&1920)if(ct(Nf,N=>T===N.symbol)){let N=Pf(_.symbol,T,!0);Vd||(Vd=new Map),Vd.set(n.text,N)}else{if((c=T.exports)!=null&&c.get(\"__export\")&&((u=_.symbol.exports)!=null&&u.size)){let N=Dme(T,\"resolvedExports\");for(let[O,B]of bo(_.symbol.exports.entries()))N.has(O)&&!T.exports.has(O)&&Pf(N.get(O),B)}Pf(T,_.symbol)}else we(n,f.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity,n.text)}}function L0(n,a,c){a.forEach((_,g)=>{let T=n.get(g);T?an(T.declarations,u(Ii(g),c)):n.set(g,_)});function u(_,g){return T=>La.add(vr(T,g,_))}}function Pi(n){if(n.flags&33554432)return n.links;let a=na(n);return gT[a]??(gT[a]=new Coe)}function Fr(n){let a=Fa(n);return N0[a]||(N0[a]=new k3e)}function $_(n){return n.kind===312&&!sp(n)}function gu(n,a,c){if(c){let u=Oa(n.get(a));if(u&&(x.assert((tl(u)&1)===0,\"Should never get an instantiated symbol here.\"),u.flags&c||u.flags&2097152&&Qc(u)&c))return u}}function TP(n,a){let c=n.parent,u=n.parent.parent,_=gu(c.locals,a,111551),g=gu(Ky(u.symbol),a,111551);return _&&g?[_,g]:x.fail(\"There should exist two symbols, one as property declaration and one as parameter declaration\")}function bg(n,a){let c=Nn(n),u=Nn(a),_=w_(n);if(c!==u){if(W&&(c.externalModuleIndicator||u.externalModuleIndicator)||!ss(F)||OS(a)||n.flags&33554432||T(a,n))return!0;let O=e.getSourceFiles();return O.indexOf(c)<=O.indexOf(u)}if(a.flags&16777216||OS(a)||she(a))return!0;if(n.pos<=a.pos&&!(xo(n)&&fL(a.parent)&&!n.initializer&&!n.exclamationToken)){if(n.kind===208){let O=Db(a,208);return O?Rn(O,Na)!==Rn(n,Na)||n.pos<O.pos:bg(Db(n,260),a)}else{if(n.kind===260)return!g(n,a);if(Kr(n))return!Rn(a,O=>Pa(O)&&O.parent.parent===n);if(xo(n))return!N(n,a,!1);if(wu(n,n.parent))return!(fe&&Oc(n)===Oc(a)&&T(a,n))}return!0}if(a.parent.kind===281||a.parent.kind===277&&a.parent.isExportEquals||a.kind===277&&a.isExportEquals)return!0;if(T(a,n))return fe&&Oc(n)&&(xo(n)||wu(n,n.parent))?!N(n,a,!0):!0;return!1;function g(O,B){switch(O.parent.parent.kind){case 243:case 248:case 250:if(O0(B,O,_))return!0;break}let Q=O.parent.parent;return H1(Q)&&O0(B,Q.expression,_)}function T(O,B){return!!Rn(O,Q=>{if(Q===_)return\"quit\";if(Lo(Q))return!0;if(nl(Q))return B.pos<O.pos;let me=Vr(Q.parent,xo);if(me&&me.initializer===Q){if(zo(Q.parent)){if(B.kind===174)return!0;if(xo(B)&&Oc(O)===Oc(B)){let We=B.name;if(Me(We)||Ci(We)){let at=Yn(dr(B)),ht=Cr(B.parent.members,nl);if(Ddt(We,at,ht,B.parent.pos,Q.pos))return!0}}}else if(!(B.kind===172&&!zo(B))||Oc(O)!==Oc(B))return!0}return!1})}function N(O,B,Q){return B.end>O.end?!1:Rn(B,ue=>{if(ue===O)return\"quit\";switch(ue.kind){case 219:return!0;case 172:return Q&&(xo(O)&&ue.parent===O.parent||wu(O,O.parent)&&ue.parent===O.parent.parent)?\"quit\":!0;case 241:switch(ue.parent.kind){case 177:case 174:case 178:return!0;default:return!1}default:return!1}})===void 0}}function AP(n,a,c){let u=Wa(F),_=a;if(ao(c)&&_.body&&n.valueDeclaration&&n.valueDeclaration.pos>=_.body.pos&&n.valueDeclaration.end<=_.body.end&&u>=2){let N=Fr(_);return N.declarationRequiresScopeChange===void 0&&(N.declarationRequiresScopeChange=an(_.parameters,g)||!1),!N.declarationRequiresScopeChange}return!1;function g(N){return T(N.name)||!!N.initializer&&T(N.initializer)}function T(N){switch(N.kind){case 219:case 218:case 262:case 176:return!1;case 174:case 177:case 178:case 303:return T(N.name);case 172:return jl(N)?!fe:T(N.name);default:return jG(N)||yd(N)?u<7:Na(N)&&N.dotDotDotToken&&Rf(N.parent)?u<4:xi(N)?!1:Ao(N,T)||!1}}}function Cy(n){return ES(n)&&Qh(n.type)||gN(n)&&Qh(n.typeExpression)}function Xs(n,a,c,u,_,g,T=!1,N=!0){return pp(n,a,c,u,_,g,T,N,gu)}function pp(n,a,c,u,_,g,T,N,O){var B,Q,me;let ue=n,We,at,ht,qt,Xt,Hn=!1,En=n,Kt,In=!1;e:for(;n;){if(a===\"const\"&&Cy(n))return;if($M(n)&&at&&n.name===at&&(at=n,n=n.parent),L_(n)&&n.locals&&!$_(n)&&(We=O(n.locals,a,c))){let zn=!0;if(Lo(n)&&at&&at!==n.body?(c&We.flags&788968&&at.kind!==327&&(zn=We.flags&262144?at===n.type||at.kind===169||at.kind===348||at.kind===349||at.kind===168:!1),c&We.flags&3&&(AP(We,n,at)?zn=!1:We.flags&1&&(zn=at.kind===169||at===n.type&&!!Rn(We.valueDeclaration,ao)))):n.kind===194&&(zn=at===n.trueType),zn)break e;We=void 0}switch(Hn=Hn||Lf(n,at),n.kind){case 312:if(!sp(n))break;In=!0;case 267:let zn=((B=dr(n))==null?void 0:B.exports)||U;if(n.kind===312||Il(n)&&n.flags&33554432&&!Jm(n)){if(We=zn.get(\"default\")){let co=Ex(We);if(co&&We.flags&c&&co.escapedName===a)break e;We=void 0}let Bn=zn.get(a);if(Bn&&Bn.flags===2097152&&(Vs(Bn,281)||Vs(Bn,280)))break}if(a!==\"default\"&&(We=O(zn,a,c&2623475)))if(Li(n)&&n.commonJsModuleIndicator&&!((Q=We.declarations)!=null&&Q.some(bf)))We=void 0;else break e;break;case 266:if(We=O(((me=dr(n))==null?void 0:me.exports)||U,a,c&8)){u&&xf(F)&&!(n.flags&33554432)&&Nn(n)!==Nn(We.valueDeclaration)&&we(En,f.Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead,Ii(a),Ge,`${Ii(Fp(n).escapedName)}.${Ii(a)}`);break e}break;case 172:if(!zo(n)){let Bn=Ag(n.parent);Bn&&Bn.locals&&O(Bn.locals,a,c&111551)&&(x.assertNode(n,xo),qt=n)}break;case 263:case 231:case 264:if(We=O(dr(n).members||U,a,c&788968)){if(!Eg(We,n)){We=void 0;break}if(at&&zo(at)){u&&we(En,f.Static_members_cannot_reference_class_type_parameters);return}break e}if(Dc(n)&&c&32){let Bn=n.name;if(Bn&&a===Bn.escapedText){We=n.symbol;break e}}break;case 233:if(at===n.expression&&n.parent.token===96){let Bn=n.parent.parent;if(Kr(Bn)&&(We=O(dr(Bn).members,a,c&788968))){u&&we(En,f.Base_class_expressions_cannot_reference_class_type_parameters);return}}break;case 167:if(Kt=n.parent.parent,(Kr(Kt)||Kt.kind===264)&&(We=O(dr(Kt).members,a,c&788968))){u&&we(En,f.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);return}break;case 219:if(Wa(F)>=2)break;case 174:case 176:case 177:case 178:case 262:if(c&3&&a===\"arguments\"){We=Dt;break e}break;case 218:if(c&3&&a===\"arguments\"){We=Dt;break e}if(c&16){let Bn=n.name;if(Bn&&a===Bn.escapedText){We=n.symbol;break e}}break;case 170:n.parent&&n.parent.kind===169&&(n=n.parent),n.parent&&(xc(n.parent)||n.parent.kind===263)&&(n=n.parent);break;case 353:case 345:case 347:let Mn=ux(n);Mn&&(n=Mn.parent);break;case 169:at&&(at===n.initializer||at===n.name&&ko(at))&&(Xt||(Xt=n));break;case 208:at&&(at===n.initializer||at===n.name&&ko(at))&&JE(n)&&!Xt&&(Xt=n);break;case 195:if(c&262144){let Bn=n.typeParameter.name;if(Bn&&a===Bn.escapedText){We=n.typeParameter.symbol;break e}}break;case 281:at&&at===n.propertyName&&n.parent.parent.moduleSpecifier&&(n=n.parent.parent.parent);break}Ny(n)&&(ht=n),at=n,n=Df(n)?NW(n)||n.parent:(Tm(n)||T6(n))&&xb(n)||n.parent}if(g&&We&&(!ht||We!==ht.symbol)&&(We.isReferenced|=c),!We){if(at&&(x.assertNode(at,Li),at.commonJsModuleIndicator&&a===\"exports\"&&c&at.symbol.flags))return at.symbol;T||(We=O(he,a,c))}if(!We&&ue&&Jn(ue)&&ue.parent&&Xd(ue.parent,!1))return st;function Sn(){return qt&&!fe?(we(En,En&&qt.type&&wM(qt.type,En.pos)?f.Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:f.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,is(qt.name),rm(_)),!0):!1}if(We){if(u&&Sn())return}else{u&&r(()=>{if(!En||En.parent.kind!==331&&!k0(En,a,_)&&!Sn()&&!IT(En)&&!n1(En,a,c)&&!Av(En,a)&&!xT(En,a,c)&&!KR(En,a,c)&&!Wh(En,a,c)){let zn,Mn;if(_&&(Mn=Lat(_),Mn&&we(En,u,rm(_),Mn)),!Mn&&N&&GR<VR&&(zn=Uhe(ue,a,c),zn?.valueDeclaration&&sd(zn.valueDeclaration)&&Jm(zn.valueDeclaration)&&(zn=void 0),zn)){let co=ai(zn),no=Ghe(ue,zn,!1),Eo=c===1920||_&&typeof _!=\"string\"&&xs(_)?f.Cannot_find_namespace_0_Did_you_mean_1:no?f.Could_not_find_name_0_Did_you_mean_1:f.Cannot_find_name_0_Did_you_mean_1,Yi=ET(En,Eo,rm(_),co);Rm(!no,Yi),zn.valueDeclaration&&fa(Yi,vr(zn.valueDeclaration,f._0_is_declared_here,co))}!zn&&!Mn&&_&&we(En,u,rm(_)),GR++}});return}return u&&r(()=>{var zn;if(En&&(c&2||(c&32||c&384)&&(c&111551)===111551)){let Mn=zp(We);(Mn.flags&2||Mn.flags&32||Mn.flags&384)&&Ds(Mn,En)}if(We&&In&&(c&111551)===111551&&!(ue.flags&16777216)){let Mn=Oa(We);yn(Mn.declarations)&&ji(Mn.declarations,Bn=>D2(Bn)||Li(Bn)&&!!Bn.symbol.globalExports)&&jc(!F.allowUmdGlobalAccess,En,f._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,Ii(a))}if(We&&Xt&&!Hn&&(c&111551)===111551){let Mn=Oa(L$(We)),Bn=Ym(Xt);Mn===dr(Xt)?we(En,f.Parameter_0_cannot_reference_itself,is(Xt.name)):Mn.valueDeclaration&&Mn.valueDeclaration.pos>Xt.pos&&Bn.parent.locals&&O(Bn.parent.locals,Mn.escapedName,c)===Mn&&we(En,f.Parameter_0_cannot_reference_identifier_1_declared_after_it,is(Xt.name),is(En))}if(We&&En&&c&111551&&We.flags&2097152&&!(We.flags&111551)&&!Pb(En)){let Mn=of(We,111551);if(Mn){let Bn=Mn.kind===281||Mn.kind===278||Mn.kind===280?f._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:f._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,co=Ii(a);Oh(we(En,Bn,co),Mn,co)}}if(F.isolatedModules&&We&&In&&(c&111551)===111551){let Bn=O(he,a,c)===We&&Li(at)&&at.locals&&O(at.locals,a,-111552);if(Bn){let co=(zn=Bn.declarations)==null?void 0:zn.find(no=>no.kind===276||no.kind===273||no.kind===274||no.kind===271);co&&!UM(co)&&we(co,f.Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled,Ii(a))}}}),We}function Oh(n,a,c){return a?fa(n,vr(a,a.kind===281||a.kind===278||a.kind===280?f._0_was_exported_here:f._0_was_imported_here,c)):n}function Lf(n,a){return n.kind!==219&&n.kind!==218?oI(n)||(hs(n)||n.kind===172&&!zo(n))&&(!a||a!==n.name):a&&a===n.name?!1:n.asteriskToken||Wr(n,1024)?!0:!RS(n)}function Ny(n){switch(n.kind){case 262:case 263:case 264:case 266:case 265:case 267:return!0;default:return!1}}function rm(n){return fo(n)?Ii(n):is(n)}function Eg(n,a){if(n.declarations){for(let c of n.declarations)if(c.kind===168&&(Df(c.parent)?PS(c.parent):c.parent)===a)return!(Df(c.parent)&&Dr(c.parent.parent.tags,bf))}return!1}function k0(n,a,c){if(!Me(n)||n.escapedText!==a||j8e(n)||OS(n))return!1;let u=lu(n,!1,!1),_=u;for(;_;){if(Kr(_.parent)){let g=dr(_.parent);if(!g)break;let T=Yn(g);if(Qo(T,a))return we(n,f.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,rm(c),ai(g)),!0;if(_===u&&!zo(_)){let N=Cs(g).thisType;if(Qo(N,a))return we(n,f.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,rm(c)),!0}}_=_.parent}return!1}function IT(n){let a=wh(n);return a&&Es(a,64,!0)?(we(n,f.Cannot_extend_an_interface_0_Did_you_mean_implements,Vl(a)),!0):!1}function wh(n){switch(n.kind){case 80:case 211:return n.parent?wh(n.parent):void 0;case 233:if(gl(n.expression))return n.expression;default:return}}function n1(n,a,c){let u=1920|(Jn(n)?111551:0);if(c===u){let _=yl(Xs(n,a,788968&~u,void 0,void 0,!1)),g=n.parent;if(_){if($d(g)){x.assert(g.left===n,\"Should only be resolving left side of qualified name as a namespace\");let T=g.right.escapedText;if(Qo(Cs(_),T))return we(g,f.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,Ii(a),Ii(T)),!0}return we(n,f._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,Ii(a)),!0}}return!1}function Wh(n,a,c){if(c&788584){let u=yl(Xs(n,a,111127,void 0,void 0,!1));if(u&&!(u.flags&1920))return we(n,f._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,Ii(a)),!0}return!1}function f_(n){return n===\"any\"||n===\"string\"||n===\"number\"||n===\"boolean\"||n===\"never\"||n===\"unknown\"}function Av(n,a){return f_(a)&&n.parent.kind===281?(we(n,f.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,a),!0):!1}function KR(n,a,c){if(c&111551){if(f_(a)){let g=n.parent.parent;if(g&&g.parent&&xp(g)){let T=g.token,N=g.parent.kind;N===264&&T===96?we(n,f.An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types,Ii(a)):N===263&&T===96?we(n,f.A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values,Ii(a)):N===263&&T===119&&we(n,f.A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types,Ii(a))}else we(n,f._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,Ii(a));return!0}let u=yl(Xs(n,a,788544,void 0,void 0,!1)),_=u&&Qc(u);if(u&&_!==void 0&&!(_&111551)){let g=Ii(a);return YR(a)?we(n,f._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,g):XR(n,u)?we(n,f._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,g,g===\"K\"?\"P\":\"K\"):we(n,f._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,g),!0}}return!1}function XR(n,a){let c=Rn(n.parent,u=>Pa(u)||Gu(u)?!1:ju(u)||\"quit\");if(c&&c.members.length===1){let u=Cs(a);return!!(u.flags&1048576)&&N5(u,384,!0)}return!1}function YR(n){switch(n){case\"Promise\":case\"Symbol\":case\"Map\":case\"WeakMap\":case\"Set\":case\"WeakSet\":return!0}return!1}function xT(n,a,c){if(c&111127){if(yl(Xs(n,a,1024,void 0,void 0,!1)))return we(n,f.Cannot_use_namespace_0_as_a_value,Ii(a)),!0}else if(c&788544&&yl(Xs(n,a,1536,void 0,void 0,!1)))return we(n,f.Cannot_use_namespace_0_as_a_type,Ii(a)),!0;return!1}function Ds(n,a){var c;if(x.assert(!!(n.flags&2||n.flags&32||n.flags&384)),n.flags&67108881&&n.flags&32)return;let u=(c=n.declarations)==null?void 0:c.find(_=>p9(_)||Kr(_)||_.kind===266);if(u===void 0)return x.fail(\"checkResolvedBlockScopedVariable could not find block-scoped declaration\");if(!(u.flags&33554432)&&!bg(u,a)){let _,g=is(mo(u));n.flags&2?_=we(a,f.Block_scoped_variable_0_used_before_its_declaration,g):n.flags&32?_=we(a,f.Class_0_used_before_its_declaration,g):n.flags&256?_=we(a,f.Enum_0_used_before_its_declaration,g):(x.assert(!!(n.flags&128)),xf(F)&&(_=we(a,f.Enum_0_used_before_its_declaration,g))),_&&fa(_,vr(u,f._0_is_declared_here,g))}}function O0(n,a,c){return!!a&&!!Rn(n,u=>u===a||(u===c||Lo(u)&&(!RS(u)||gc(u)&3)?\"quit\":!1))}function RT(n){switch(n.kind){case 271:return n;case 273:return n.parent;case 274:return n.parent.parent;case 276:return n.parent.parent.parent;default:return}}function im(n){return n.declarations&&hA(n.declarations,Py)}function Py(n){return n.kind===271||n.kind===270||n.kind===273&&!!n.name||n.kind===274||n.kind===280||n.kind===276||n.kind===281||n.kind===277&&px(n)||Zn(n)&&hl(n)===2&&px(n)||us(n)&&Zn(n.parent)&&n.parent.left===n&&n.parent.operatorToken.kind===64&&$R(n.parent.right)||n.kind===304||n.kind===303&&$R(n.initializer)||n.kind===260&&jE(n)||n.kind===208&&jE(n.parent.parent)}function $R(n){return kL(n)||ps(n)&&T_(n)}function DT(n,a){let c=Ly(n);if(c){let _=Tx(c.expression).arguments[0];return Me(c.name)?yl(Qo(PLe(_),c.name.escapedText)):void 0}if(yi(n)||n.moduleReference.kind===283){let _=jd(n,N9(n)||gC(n)),g=$u(_);return Nu(n,_,g,!1),g}let u=i1(n.moduleReference,a);return IP(n,u),u}function IP(n,a){if(Nu(n,void 0,a,!1)&&!n.isTypeOnly){let c=of(dr(n)),u=c.kind===281||c.kind===278,_=u?f.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:f.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type,g=u?f._0_was_exported_here:f._0_was_imported_here,T=c.kind===278?\"*\":Ii(c.name.escapedText);fa(we(n.moduleReference,_),vr(c,g,T))}}function nr(n,a,c,u){let _=n.exports.get(\"export=\"),g=_?Qo(Yn(_),a,!0):n.exports.get(a),T=yl(g,u);return Nu(c,g,T,!1),T}function Mc(n){return dl(n)&&!n.isExportEquals||Wr(n,2048)||Ed(n)||j_(n)}function Oi(n){return Ga(n)?e.getModeForUsageLocation(Nn(n),n):void 0}function Wp(n,a){return n===99&&a===1}function Iv(n){return Oi(n)===99&&Zs(n.text,\".json\")}function m_(n,a,c,u){let _=n&&Oi(u);if(n&&_!==void 0&&100<=W&&W<=199){let g=Wp(_,n.impliedNodeFormat);if(_===99||g)return g}if(!q)return!1;if(!n||n.isDeclarationFile){let g=nr(a,\"default\",void 0,!0);return!(g&&ct(g.declarations,Mc)||nr(a,Hs(\"__esModule\"),void 0,c))}return wd(n)?typeof n.externalModuleIndicator!=\"object\"&&!nr(a,Hs(\"__esModule\"),void 0,c):xv(a)}function Xn(n,a){let c=jd(n,n.parent.moduleSpecifier);if(c)return CT(c,n,a)}function CT(n,a,c){var u;let _;pC(n)?_=n:_=nr(n,\"default\",a,c);let g=(u=n.declarations)==null?void 0:u.find(Li),T=iE(a);if(!T)return _;let N=Iv(T),O=m_(g,n,c,T);if(!_&&!O&&!N)if(xv(n)&&!q){let B=W>=5?\"allowSyntheticDefaultImports\":\"esModuleInterop\",me=n.exports.get(\"export=\").valueDeclaration,ue=we(a.name,f.Module_0_can_only_be_default_imported_using_the_1_flag,ai(n),B);me&&fa(ue,vr(me,f.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,B))}else V_(a)?Tc(n,a):NT(n,n,a,RA(a)&&a.propertyName||a.name);else if(O||N){let B=$u(n,c)||yl(n,c);return Nu(a,n,B,!1),B}return Nu(a,_,void 0,!1),_}function iE(n){switch(n.kind){case 273:return n.parent.moduleSpecifier;case 271:return U_(n.moduleReference)?n.moduleReference.expression:void 0;case 274:return n.parent.parent.moduleSpecifier;case 276:return n.parent.parent.parent.moduleSpecifier;case 281:return n.parent.parent.moduleSpecifier;default:return x.assertNever(n)}}function Tc(n,a){var c,u,_;if((c=n.exports)!=null&&c.has(a.symbol.escapedName))we(a.name,f.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,ai(n),ai(a.symbol));else{let g=we(a.name,f.Module_0_has_no_default_export,ai(n)),T=(u=n.exports)==null?void 0:u.get(\"__export\");if(T){let N=(_=T.declarations)==null?void 0:_.find(O=>{var B,Q;return!!(xl(O)&&O.moduleSpecifier&&((Q=(B=jd(O,O.moduleSpecifier))==null?void 0:B.exports)!=null&&Q.has(\"default\")))});N&&fa(g,vr(N,f.export_Asterisk_does_not_re_export_a_default))}}}function Q_(n,a){let c=n.parent.parent.moduleSpecifier,u=jd(n,c),_=Pu(u,c,a,!1);return Nu(n,u,_,!1),_}function om(n,a){let c=n.parent.moduleSpecifier,u=c&&jd(n,c),_=c&&Pu(u,c,a,!1);return Nu(n,u,_,!1),_}function w0(n,a){if(n===tt&&a===tt)return tt;if(n.flags&790504)return n;let c=Ra(n.flags|a.flags,n.escapedName);return x.assert(n.declarations||a.declarations),c.declarations=NE(ro(n.declarations,a.declarations),Hg),c.parent=n.parent||a.parent,n.valueDeclaration&&(c.valueDeclaration=n.valueDeclaration),a.members&&(c.members=new Map(a.members)),n.exports&&(c.exports=new Map(n.exports)),c}function W0(n,a,c,u){var _;if(n.flags&1536){let g=Qu(n).get(a.escapedText),T=yl(g,u),N=(_=Pi(n).typeOnlyExportStarMap)==null?void 0:_.get(a.escapedText);return Nu(c,g,T,!1,N,a.escapedText),T}}function My(n,a){if(n.flags&3){let c=n.valueDeclaration.type;if(c)return yl(Qo(si(c),a))}}function Sg(n,a,c=!1){var u;let _=N9(n)||n.moduleSpecifier,g=jd(n,_),T=!Er(a)&&a.propertyName||a.name;if(!Me(T))return;let N=T.escapedText===\"default\"&&q,O=Pu(g,_,!1,N);if(O&&T.escapedText){if(pC(g))return g;let B;g&&g.exports&&g.exports.get(\"export=\")?B=Qo(Yn(O),T.escapedText,!0):B=My(O,T.escapedText),B=yl(B,c);let Q=W0(O,T,a,c);if(Q===void 0&&T.escapedText===\"default\"){let ue=(u=g.declarations)==null?void 0:u.find(Li);(Iv(_)||m_(ue,g,c,_))&&(Q=$u(g,c)||yl(g,c))}let me=Q&&B&&Q!==B?w0(B,Q):Q||B;return me||NT(g,O,n,T),me}}function NT(n,a,c,u){var _;let g=mp(n,c),T=is(u),N=jQ(u,a);if(N!==void 0){let O=ai(N),B=we(u,f._0_has_no_exported_member_named_1_Did_you_mean_2,g,T,O);N.valueDeclaration&&fa(B,vr(N.valueDeclaration,f._0_is_declared_here,O))}else(_=n.exports)!=null&&_.has(\"default\")?we(u,f.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,g,T):am(c,u,T,n,g)}function am(n,a,c,u,_){var g,T;let N=(T=(g=Vr(u.valueDeclaration,L_))==null?void 0:g.locals)==null?void 0:T.get(a.escapedText),O=u.exports;if(N){let B=O?.get(\"export=\");if(B)Nm(B,N)?oE(n,a,c,_):we(a,f.Module_0_has_no_exported_member_1,_,c);else{let Q=O?Dr(Ume(O),ue=>!!Nm(ue,N)):void 0,me=Q?we(a,f.Module_0_declares_1_locally_but_it_is_exported_as_2,_,c,ai(Q)):we(a,f.Module_0_declares_1_locally_but_it_is_not_exported,_,c);N.declarations&&fa(me,...nn(N.declarations,(ue,We)=>vr(ue,We===0?f._0_is_declared_here:f.and_here,c)))}}else we(a,f.Module_0_has_no_exported_member_1,_,c)}function oE(n,a,c,u){if(W>=5){let _=z_(F)?f._0_can_only_be_imported_by_using_a_default_import:f._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;we(a,_,c)}else if(Jn(n)){let _=z_(F)?f._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:f._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;we(a,_,c)}else{let _=z_(F)?f._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:f._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;we(a,_,c,c,u)}}function Fh(n,a){if(Iu(n)&&ar(n.propertyName||n.name)===\"default\"){let T=iE(n),N=T&&jd(n,T);if(N)return CT(N,n,a)}let c=Na(n)?Ym(n):n.parent.parent.parent,u=Ly(c),_=Sg(c,u||n,a),g=n.propertyName||n.name;return u&&_&&Me(g)?yl(Qo(Yn(_),g.escapedText),a):(Nu(n,void 0,_,!1),_)}function Ly(n){if(yi(n)&&n.initializer&&Er(n.initializer))return n.initializer}function r1(n,a){if(qm(n.parent)){let c=$u(n.parent.symbol,a);return Nu(n,void 0,c,!1),c}}function aE(n,a,c){if(ar(n.propertyName||n.name)===\"default\"){let _=iE(n),g=_&&jd(n,_);if(g)return CT(g,n,!!c)}let u=n.parent.parent.moduleSpecifier?Sg(n.parent.parent,n,c):Es(n.propertyName||n.name,a,!1,c);return Nu(n,void 0,u,!1),u}function QR(n,a){let c=dl(n)?n.expression:n.right,u=F0(c,a);return Nu(n,void 0,u,!1),u}function F0(n,a){if(Dc(n))return Ml(n).symbol;if(!Su(n)&&!gl(n))return;let c=Es(n,901119,!0,a);return c||(Ml(n),Fr(n).resolvedSymbol)}function PT(n,a){if(Zn(n.parent)&&n.parent.left===n&&n.parent.operatorToken.kind===64)return F0(n.parent.right,a)}function fp(n,a=!1){switch(n.kind){case 271:case 260:return DT(n,a);case 273:return Xn(n,a);case 274:return Q_(n,a);case 280:return om(n,a);case 276:case 208:return Fh(n,a);case 281:return aE(n,901119,a);case 277:case 226:return QR(n,a);case 270:return r1(n,a);case 304:return Es(n.name,901119,!0,a);case 303:return F0(n.initializer,a);case 212:case 211:return PT(n,a);default:return x.fail()}}function MT(n,a=901119){return n?(n.flags&(2097152|a))===2097152||!!(n.flags&2097152&&n.flags&67108864):!1}function yl(n,a){return!a&&MT(n)?fc(n):n}function fc(n){x.assert((n.flags&2097152)!==0,\"Should only get Alias here.\");let a=Pi(n);if(a.aliasTarget)a.aliasTarget===yt&&(a.aliasTarget=tt);else{a.aliasTarget=yt;let c=im(n);if(!c)return x.fail();let u=fp(c);a.aliasTarget===yt?a.aliasTarget=u||tt:we(c,f.Circular_definition_of_import_alias_0,ai(n))}return a.aliasTarget}function LT(n){if(Pi(n).aliasTarget!==yt)return fc(n)}function Qc(n,a,c){let u=a&&of(n),_=u&&xl(u),g=u&&(_?jd(u.moduleSpecifier,u.moduleSpecifier,!0):fc(u.symbol)),T=_&&g?Z_(g):void 0,N=c?0:n.flags,O;for(;n.flags&2097152;){let B=zp(fc(n));if(!_&&B===g||T?.get(B.escapedName)===B)break;if(B===tt)return-1;if(B===n||O?.has(B))break;B.flags&2097152&&(O?O.add(B):O=new Set([n,B])),N|=B.flags,n=B}return N}function Nu(n,a,c,u,_,g){if(!n||Er(n))return!1;let T=dr(n);if(Sb(n)){let O=Pi(T);return O.typeOnlyDeclaration=n,!0}if(_){let O=Pi(T);return O.typeOnlyDeclaration=_,T.escapedName!==g&&(O.typeOnlyExportStarName=g),!0}let N=Pi(T);return sE(N,a,u)||sE(N,c,u)}function sE(n,a,c){var u;if(a&&(n.typeOnlyDeclaration===void 0||c&&n.typeOnlyDeclaration===!1)){let _=((u=a.exports)==null?void 0:u.get(\"export=\"))??a,g=_.declarations&&Dr(_.declarations,Sb);n.typeOnlyDeclaration=g??Pi(_).typeOnlyDeclaration??!1}return!!n.typeOnlyDeclaration}function of(n,a){if(!(n.flags&2097152))return;let c=Pi(n);if(a===void 0)return c.typeOnlyDeclaration||void 0;if(c.typeOnlyDeclaration){let u=c.typeOnlyDeclaration.kind===278?yl(Z_(c.typeOnlyDeclaration.symbol.parent).get(c.typeOnlyExportStarName||n.escapedName)):fc(c.typeOnlyDeclaration.symbol);return Qc(u)&a?c.typeOnlyDeclaration:void 0}}function ky(n){if(!ot)return;let a=dr(n),c=fc(a);c&&(c===tt||Qc(a,!0)&111551&&!Bw(c))&&Oy(a)}function Oy(n){x.assert(ot);let a=Pi(n);if(!a.referenced){a.referenced=!0;let c=im(n);if(!c)return x.fail();ox(c)&&Qc(yl(n))&111551&&Ml(c.moduleReference)}}function Lc(n){let a=Pi(n);a.constEnumReferenced||(a.constEnumReferenced=!0)}function i1(n,a){return n.kind===80&&LC(n)&&(n=n.parent),n.kind===80||n.parent.kind===166?Es(n,1920,!1,a):(x.assert(n.parent.kind===271),Es(n,901119,!1,a))}function mp(n,a){return n.parent?mp(n.parent,a)+\".\"+ai(n):ai(n,a,void 0,36)}function kT(n){for(;$d(n.parent);)n=n.parent;return n}function OT(n){let a=dp(n),c=Xs(a,a.escapedText,111551,void 0,a,!0);if(c){for(;$d(a.parent);){let u=Yn(c);if(c=Qo(u,a.parent.right.escapedText),!c)return;a=a.parent}return c}}function Es(n,a,c,u,_){if(_l(n))return;let g=1920|(Jn(n)?a&111551:0),T;if(n.kind===80){let N=a===g||xs(n)?f.Cannot_find_namespace_0:Ake(dp(n)),O=Jn(n)&&!xs(n)?ZR(n,a):void 0;if(T=Oa(Xs(_||n,n.escapedText,a,c||O?void 0:N,n,!0,!1)),!T)return Oa(O)}else if(n.kind===166||n.kind===211){let N=n.kind===166?n.left:n.expression,O=n.kind===166?n.right:n.name,B=Es(N,g,c,!1,_);if(!B||_l(O))return;if(B===tt)return B;if(B.valueDeclaration&&Jn(B.valueDeclaration)&&zd(F)!==100&&yi(B.valueDeclaration)&&B.valueDeclaration.initializer&&lwe(B.valueDeclaration.initializer)){let Q=B.valueDeclaration.initializer.arguments[0],me=jd(Q,Q);if(me){let ue=$u(me);ue&&(B=ue)}}if(T=Oa(gu(Qu(B),O.escapedText,a)),!T&&B.flags&2097152&&(T=Oa(gu(Qu(fc(B)),O.escapedText,a))),!T){if(!c){let Q=mp(B),me=is(O),ue=jQ(O,B);if(ue){we(O,f._0_has_no_exported_member_named_1_Did_you_mean_2,Q,me,ai(ue));return}let We=$d(n)&&kT(n);if(Se&&a&788968&&We&&!Wx(We.parent)&&OT(We)){we(We,f._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,Wu(We));return}if(a&1920&&$d(n.parent)){let ht=Oa(gu(Qu(B),O.escapedText,788968));if(ht){we(n.parent.right,f.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,ai(ht),Ii(n.parent.right.escapedText));return}}we(O,f.Namespace_0_has_no_exported_member_1,Q,me)}return}}else x.assertNever(n,\"Unknown entity name kind.\");return x.assert((tl(T)&1)===0,\"Should never get an instantiated symbol here.\"),!xs(n)&&Su(n)&&(T.flags&2097152||n.parent.kind===277)&&Nu(V9(n),T,void 0,!0),T.flags&a||u?T:fc(T)}function ZR(n,a){if(U$(n.parent)){let c=lE(n.parent);if(c)return Xs(c,n.escapedText,a,void 0,n,!0)}}function lE(n){if(Rn(n,_=>q1(_)||_.flags&16777216?bf(_):\"quit\"))return;let c=PS(n);if(c&&Cc(c)&&AL(c.expression)){let _=dr(c.expression.left);if(_)return z0(_)}if(c&&ps(c)&&AL(c.parent)&&Cc(c.parent.parent)){let _=dr(c.parent.left);if(_)return z0(_)}if(c&&(qf(c)||Hl(c))&&Zn(c.parent.parent)&&hl(c.parent.parent)===6){let _=dr(c.parent.parent.left);if(_)return z0(_)}let u=Rb(n);if(u&&Lo(u)){let _=dr(u);return _&&_.valueDeclaration}}function z0(n){let a=n.parent.valueDeclaration;return a?(vC(a)?LA(a):SS(a)?yL(a):void 0)||a:void 0}function xP(n){let a=n.valueDeclaration;if(!a||!Jn(a)||n.flags&524288||Ib(a,!1))return;let c=yi(a)?yL(a):LA(a);if(c){let u=Fp(c);if(u)return Zhe(u,n)}}function jd(n,a,c){let _=zd(F)===1?f.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:f.Cannot_find_module_0_or_its_corresponding_type_declarations;return Tg(n,a,c?void 0:_)}function Tg(n,a,c,u=!1){return Ga(a)?__(n,a.text,c,a,u):void 0}function __(n,a,c,u,_=!1){var g,T,N,O,B,Q,me,ue,We,at,ht;if(Ui(a,\"@types/\")){let Bn=f.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,co=jD(a,\"@types/\");we(u,Bn,co,a)}let qt=w$(a,!0);if(qt)return qt;let Xt=Nn(n),Hn=Ga(n)?n:((g=Il(n)?n:n.parent&&Il(n.parent)&&n.parent.name===n?n.parent:void 0)==null?void 0:g.name)||((T=ey(n)?n:void 0)==null?void 0:T.argument.literal)||(yi(n)&&n.initializer&&Xd(n.initializer,!0)?n.initializer.arguments[0]:void 0)||((N=Rn(n,lp))==null?void 0:N.arguments[0])||((O=Rn(n,cc))==null?void 0:O.moduleSpecifier)||((B=Rn(n,Ab))==null?void 0:B.moduleReference.expression)||((Q=Rn(n,xl))==null?void 0:Q.moduleSpecifier),En=Hn&&Ga(Hn)?e.getModeForUsageLocation(Xt,Hn):Xt.impliedNodeFormat,Kt=zd(F),In=(me=e.getResolvedModule(Xt,a,En))==null?void 0:me.resolvedModule,Sn=In&&FH(F,In,Xt),zn=In&&(!Sn||Sn===f.Module_0_was_resolved_to_1_but_jsx_is_not_set)&&e.getSourceFile(In.resolvedFileName);if(zn){if(Sn&&we(u,Sn,a,In.resolvedFileName),In.resolvedUsingTsExtension&&Yc(a)){let Bn=((ue=Rn(n,cc))==null?void 0:ue.importClause)||Rn(n,hm(Nc,xl));(Bn&&!Bn.isTypeOnly||Rn(n,lp))&&we(u,f.A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead,Mn(x.checkDefined(JW(a))))}else if(In.resolvedUsingTsExtension&&!nR(F,Xt.fileName)){let Bn=((We=Rn(n,cc))==null?void 0:We.importClause)||Rn(n,hm(Nc,xl));if(!(Bn?.isTypeOnly||Rn(n,Dh))){let co=x.checkDefined(JW(a));we(u,f.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled,co)}}if(zn.symbol){if(In.isExternalLibraryImport&&!VC(In.extension)&&o1(!1,u,Xt,En,In,a),Kt===3||Kt===99){let Bn=Xt.impliedNodeFormat===1&&!Rn(n,lp)||!!Rn(n,Nc),co=Rn(n,no=>Dh(no)||xl(no)||cc(no));if(Bn&&zn.impliedNodeFormat===99&&!hre(co))if(Rn(n,Nc))we(u,f.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead,a);else{let no,Eo=og(Xt.fileName);if(Eo===\".ts\"||Eo===\".js\"||Eo===\".tsx\"||Eo===\".jsx\"){let Yi=Xt.packageJsonScope,ic=Eo===\".ts\"?\".mts\":Eo===\".js\"?\".mjs\":void 0;Yi&&!Yi.contents.packageJsonContent.type?ic?no=So(void 0,f.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1,ic,wr(Yi.packageDirectory,\"package.json\")):no=So(void 0,f.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0,wr(Yi.packageDirectory,\"package.json\")):ic?no=So(void 0,f.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module,ic):no=So(void 0,f.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module)}La.add(eg(Nn(u),u,So(no,f.The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead,a)))}}return Oa(zn.symbol)}c&&we(u,f.File_0_is_not_a_module,zn.fileName);return}if(Nf){let Bn=pB(Nf,co=>co.pattern,a);if(Bn){let co=Vd&&Vd.get(a);return Oa(co||Bn.symbol)}}if(In&&!VC(In.extension)&&Sn===void 0||Sn===f.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type){if(_){let Bn=f.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented;we(u,Bn,a,In.resolvedFileName)}else o1(ce&&!!c,u,Xt,En,In,a);return}if(c){if(In){let Bn=e.getProjectReferenceRedirect(In.resolvedFileName);if(Bn){we(u,f.Output_file_0_has_not_been_built_from_source_file_1,Bn,In.resolvedFileName);return}}if(Sn)we(u,Sn,a,In.resolvedFileName);else{let Bn=op(a)&&!TA(a),co=Kt===3||Kt===99;if(!Mb(F)&&el(a,\".json\")&&Kt!==1&&rF(F))we(u,f.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,a);else if(En===99&&co&&Bn){let no=Qi(a,Ur(Xt.path)),Eo=(at=qR.find(([Yi,ic])=>e.fileExists(no+Yi)))==null?void 0:at[1];Eo?we(u,f.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0,a+Eo):we(u,f.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path)}else if((ht=e.getResolvedModule(Xt,a,En))!=null&&ht.alternateResult){let no=Q8(Xt,e,a,En,a);jc(!0,u,So(no,c,a))}else we(u,c,a)}}return;function Mn(Bn){let co=QL(a,Bn);if(nF(W)||En===99){let no=Yc(a)&&nR(F);return co+(Bn===\".mts\"||Bn===\".d.mts\"?no?\".mts\":\".mjs\":Bn===\".cts\"||Bn===\".d.mts\"?no?\".cts\":\".cjs\":no?\".ts\":\".js\")}return co}}function o1(n,a,c,u,{packageId:_,resolvedFileName:g},T){let N;!Ic(T)&&_&&(N=Q8(c,e,T,u,_.name)),jc(n,a,So(N,f.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,T,g))}function $u(n,a){if(n?.exports){let c=yl(n.exports.get(\"export=\"),a),u=a1(Oa(c),Oa(n));return Oa(u)||n}}function a1(n,a){if(!n||n===tt||n===a||a.exports.size===1||n.flags&2097152)return n;let c=Pi(n);if(c.cjsExportMerged)return c.cjsExportMerged;let u=n.flags&33554432?n:AT(n);return u.flags=u.flags|512,u.exports===void 0&&(u.exports=Vo()),a.exports.forEach((_,g)=>{g!==\"export=\"&&u.exports.set(g,u.exports.has(g)?Pf(u.exports.get(g),_):_)}),u===n&&(Pi(u).resolvedExports=void 0,Pi(u).resolvedMembers=void 0),Pi(u).cjsExportMerged=u,c.cjsExportMerged=u}function Pu(n,a,c,u){var _;let g=$u(n,c);if(!c&&g){if(!u&&!(g.flags&1539)&&!Vs(g,312)){let N=W>=5?\"allowSyntheticDefaultImports\":\"esModuleInterop\";return we(a,f.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,N),g}let T=a.parent;if(cc(T)&&cx(T)||lp(T)){let N=lp(T)?T.arguments[0]:T.moduleSpecifier,O=Yn(g),B=awe(O,g,n,N);if(B)return s1(g,B,T);let Q=(_=n?.declarations)==null?void 0:_.find(Li),me=Q&&Wp(Oi(N),Q.impliedNodeFormat);if(z_(F)||me){let ue=k7(O,0);if((!ue||!ue.length)&&(ue=k7(O,1)),ue&&ue.length||Qo(O,\"default\",!0)||me){let We=O.flags&3670016?swe(O,g,n,N):ege(g,g.parent);return s1(g,We,T)}}}}return g}function s1(n,a,c){let u=Ra(n.flags,n.escapedName);u.declarations=n.declarations?n.declarations.slice():[],u.parent=n.parent,u.links.target=n,u.links.originatingImport=c,n.valueDeclaration&&(u.valueDeclaration=n.valueDeclaration),n.constEnumOnlyModule&&(u.constEnumOnlyModule=!0),n.members&&(u.members=new Map(n.members)),n.exports&&(u.exports=new Map(n.exports));let _=Om(a);return u.links.type=cs(u,_.members,je,je,_.indexInfos),u}function xv(n){return n.exports.get(\"export=\")!==void 0}function wT(n){return Ume(Z_(n))}function eD(n){let a=wT(n),c=$u(n);if(c!==n){let u=Yn(c);wy(u)&&Pr(a,Xa(u))}return a}function tD(n,a){Z_(n).forEach((_,g)=>{V0(g)||a(_,g)});let u=$u(n);if(u!==n){let _=Yn(u);wy(_)&&ntt(_,(g,T)=>{a(g,T)})}}function WT(n,a){let c=Z_(a);if(c)return c.get(n)}function nD(n,a){let c=WT(n,a);if(c)return c;let u=$u(a);if(u===a)return;let _=Yn(u);return wy(_)?Qo(_,n):void 0}function wy(n){return!(n.flags&402784252||br(n)&1||ff(n)||ga(n))}function Qu(n){return n.flags&6256?Dme(n,\"resolvedExports\"):n.flags&1536?Z_(n):n.exports||U}function Z_(n){let a=Pi(n);if(!a.resolvedExports){let{exports:c,typeOnlyExportStarMap:u}=FT(n);a.resolvedExports=c,a.typeOnlyExportStarMap=u}return a.resolvedExports}function rD(n,a,c,u){a&&a.forEach((_,g)=>{if(g===\"default\")return;let T=n.get(g);if(!T)n.set(g,_),c&&u&&c.set(g,{specifierText:Vl(u.moduleSpecifier)});else if(c&&u&&T&&yl(T)!==yl(_)){let N=c.get(g);N.exportsWithDuplicate?N.exportsWithDuplicate.push(u):N.exportsWithDuplicate=[u]}})}function FT(n){let a=[],c,u=new Set;n=$u(n);let _=g(n)||U;return c&&u.forEach(T=>c.delete(T)),{exports:_,typeOnlyExportStarMap:c};function g(T,N,O){if(!O&&T?.exports&&T.exports.forEach((me,ue)=>u.add(ue)),!(T&&T.exports&&jp(a,T)))return;let B=new Map(T.exports),Q=T.exports.get(\"__export\");if(Q){let me=Vo(),ue=new Map;if(Q.declarations)for(let We of Q.declarations){let at=jd(We,We.moduleSpecifier),ht=g(at,We,O||We.isTypeOnly);rD(me,ht,ue,We)}ue.forEach(({exportsWithDuplicate:We},at)=>{if(!(at===\"export=\"||!(We&&We.length)||B.has(at)))for(let ht of We)La.add(vr(ht,f.Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity,ue.get(at).specifierText,Ii(at)))}),rD(B,me)}return N?.isTypeOnly&&(c??(c=new Map),B.forEach((me,ue)=>c.set(ue,N))),B}}function Oa(n){let a;return n&&n.mergeId&&(a=jR[n.mergeId])?a:n}function dr(n){return Oa(n.symbol&&L$(n.symbol))}function Fp(n){return qm(n)?dr(n):void 0}function nu(n){return Oa(n.parent&&L$(n.parent))}function B0(n){var a,c;return(((a=n.valueDeclaration)==null?void 0:a.kind)===219||((c=n.valueDeclaration)==null?void 0:c.kind)===218)&&Fp(n.valueDeclaration.parent)||n}function iD(n,a){let c=Nn(a),u=Fa(c),_=Pi(n),g;if(_.extendedContainersByFile&&(g=_.extendedContainersByFile.get(u)))return g;if(c&&c.imports){for(let N of c.imports){if(xs(N))continue;let O=jd(a,N,!0);!O||!zh(O,n)||(g=pn(g,O))}if(yn(g))return(_.extendedContainersByFile||(_.extendedContainersByFile=new Map)).set(u,g),g}if(_.extendedContainers)return _.extendedContainers;let T=e.getSourceFiles();for(let N of T){if(!wl(N))continue;let O=dr(N);zh(O,n)&&(g=pn(g,O))}return _.extendedContainers=g||je}function cE(n,a,c){let u=nu(n);if(u&&!(n.flags&262144))return O(u);let _=Fi(n.declarations,Q=>{if(!sd(Q)&&Q.parent){if(Rd(Q.parent))return dr(Q.parent);if(n_(Q.parent)&&Q.parent.parent&&$u(dr(Q.parent.parent))===n)return dr(Q.parent.parent)}if(Dc(Q)&&Zn(Q.parent)&&Q.parent.operatorToken.kind===64&&us(Q.parent.left)&&gl(Q.parent.left.expression))return Eh(Q.parent.left)||DS(Q.parent.left.expression)?dr(Nn(Q)):(Ml(Q.parent.left.expression),Fr(Q.parent.left.expression).resolvedSymbol)});if(!yn(_))return;let g=Fi(_,Q=>zh(Q,n)?Q:void 0),T=[],N=[];for(let Q of g){let[me,...ue]=O(Q);T=pn(T,me),N=Pr(N,ue)}return ro(T,N);function O(Q){let me=Fi(Q.declarations,B),ue=a&&iD(n,a),We=G0(Q,c);if(a&&Q.flags&Ig(c)&&Wy(Q,a,1920,!1))return pn(ro(ro([Q],me),ue),We);let at=!(Q.flags&Ig(c))&&Q.flags&788968&&Cs(Q).flags&524288&&c===111551?U0(a,qt=>hc(qt,Xt=>{if(Xt.flags&Ig(c)&&Yn(Xt)===Cs(Q))return Xt})):void 0,ht=at?[at,...me,Q]:[...me,Q];return ht=pn(ht,We),ht=Pr(ht,ue),ht}function B(Q){return u&&zT(Q,u)}}function G0(n,a){let c=!!yn(n.declarations)&&Ta(n.declarations);if(a&111551&&c&&c.parent&&yi(c.parent)&&(ma(c)&&c===c.parent.initializer||ju(c)&&c===c.parent.type))return dr(c.parent)}function zT(n,a){let c=wi(n),u=c&&c.exports&&c.exports.get(\"export=\");return u&&Nm(u,a)?c:void 0}function zh(n,a){if(n===nu(a))return a;let c=n.exports&&n.exports.get(\"export=\");if(c&&Nm(c,a))return n;let u=Qu(n),_=u.get(a.escapedName);return _&&Nm(_,a)?_:hc(u,g=>{if(Nm(g,a))return g})}function Nm(n,a){if(Oa(yl(Oa(n)))===Oa(yl(Oa(a))))return n}function zp(n){return Oa(n&&(n.flags&1048576)!==0&&n.exportSymbol||n)}function sm(n,a){return!!(n.flags&111551||n.flags&2097152&&Qc(n,!a)&111551)}function Ag(n){let a=n.members;for(let c of a)if(c.kind===176&&gf(c.body))return c}function Bh(n){var a;let c=new p(zt,n);return m++,c.id=m,(a=qn)==null||a.recordType(c),c}function Gh(n,a){let c=Bh(n);return c.symbol=a,c}function l1(n){return new p(zt,n)}function Fl(n,a,c=0,u){oD(a,u);let _=Bh(n);return _.intrinsicName=a,_.debugIntrinsicName=u,_.objectFlags=c|524288|2097152|33554432|16777216,_}function oD(n,a){let c=`${n},${a??\"\"}`;et.has(c)&&x.fail(`Duplicate intrinsic type name ${n}${a?` (${a})`:\"\"}; you may need to pass a name to createIntrinsicType.`),et.add(c)}function af(n,a){let c=Gh(524288,a);return c.objectFlags=n,c.members=void 0,c.properties=void 0,c.callSignatures=void 0,c.constructSignatures=void 0,c.indexInfos=void 0,c}function eh(){return Br(bo(GU.keys(),yu))}function Bp(n){return Gh(262144,n)}function V0(n){return n.charCodeAt(0)===95&&n.charCodeAt(1)===95&&n.charCodeAt(2)!==95&&n.charCodeAt(2)!==64&&n.charCodeAt(2)!==35}function dE(n){let a;return n.forEach((c,u)=>{c1(c,u)&&(a||(a=[])).push(c)}),a||je}function c1(n,a){return!V0(a)&&sm(n)}function BT(n){let a=dE(n),c=z$(n);return c?ro(a,[c]):a}function Gp(n,a,c,u,_){let g=n;return g.members=a,g.properties=je,g.callSignatures=c,g.constructSignatures=u,g.indexInfos=_,a!==U&&(g.properties=dE(a)),g}function cs(n,a,c,u,_){return Gp(af(16,n),a,c,u,_)}function j0(n){if(n.constructSignatures.length===0)return n;if(n.objectTypeWithoutAbstractConstructSignatures)return n.objectTypeWithoutAbstractConstructSignatures;let a=Cr(n.constructSignatures,u=>!(u.flags&4));if(n.constructSignatures===a)return n;let c=cs(n.symbol,n.members,n.callSignatures,ct(a)?a:je,n.indexInfos);return n.objectTypeWithoutAbstractConstructSignatures=c,c.objectTypeWithoutAbstractConstructSignatures=c,c}function U0(n,a){let c;for(let u=n;u;u=u.parent){if(L_(u)&&u.locals&&!$_(u)&&(c=a(u.locals,void 0,!0,u)))return c;switch(u.kind){case 312:if(!sp(u))break;case 267:let _=dr(u);if(c=a(_?.exports||U,void 0,!0,u))return c;break;case 263:case 231:case 264:let g;if((dr(u).members||U).forEach((T,N)=>{T.flags&788968&&(g||(g=Vo())).set(N,T)}),g&&(c=a(g,void 0,!1,u)))return c;break}}return a(he,void 0,!0)}function Ig(n){return n===111551?111551:1920}function Wy(n,a,c,u,_=new Map){if(!(n&&!I(n)))return;let g=Pi(n),T=g.accessibleChainCache||(g.accessibleChainCache=new Map),N=U0(a,(Xt,Hn,En,Kt)=>Kt),O=`${u?0:1}|${N&&Fa(N)}|${c}`;if(T.has(O))return T.get(O);let B=na(n),Q=_.get(B);Q||_.set(B,Q=[]);let me=U0(a,ue);return T.set(O,me),me;function ue(Xt,Hn,En){if(!jp(Q,Xt))return;let Kt=ht(Xt,Hn,En);return Q.pop(),Kt}function We(Xt,Hn){return!uE(Xt,a,Hn)||!!Wy(Xt.parent,a,Ig(Hn),u,_)}function at(Xt,Hn,En){return(n===(Hn||Xt)||Oa(n)===Oa(Hn||Xt))&&!ct(Xt.declarations,Rd)&&(En||We(Oa(Xt),c))}function ht(Xt,Hn,En){return at(Xt.get(n.escapedName),void 0,Hn)?[n]:hc(Xt,In=>{if(In.flags&2097152&&In.escapedName!==\"export=\"&&In.escapedName!==\"default\"&&!(QW(In)&&a&&wl(Nn(a)))&&(!u||ct(In.declarations,Ab))&&(!En||!ct(In.declarations,Jte))&&(Hn||!Vs(In,281))){let Sn=fc(In),zn=qt(In,Sn,Hn);if(zn)return zn}if(In.escapedName===n.escapedName&&In.exportSymbol&&at(Oa(In.exportSymbol),void 0,Hn))return[n]})||(Xt===he?qt(Ke,Ke,Hn):void 0)}function qt(Xt,Hn,En){if(at(Xt,Hn,En))return[Xt];let Kt=Qu(Hn),In=Kt&&ue(Kt,!0);if(In&&We(Xt,Ig(c)))return[Xt].concat(In)}}function uE(n,a,c){let u=!1;return U0(a,_=>{let g=Oa(_.get(n.escapedName));if(!g)return!1;if(g===n)return!0;let T=g.flags&2097152&&!Vs(g,281);return g=T?fc(g):g,(T?Qc(g):g.flags)&c?(u=!0,!0):!1}),u}function I(n){if(n.declarations&&n.declarations.length){for(let a of n.declarations)switch(a.kind){case 172:case 174:case 177:case 178:continue;default:return!1}return!0}return!1}function ne(n,a){return ri(n,a,788968,!1,!0).accessibility===0}function rt(n,a){return ri(n,a,111551,!1,!0).accessibility===0}function Ht(n,a,c){return ri(n,a,c,!1,!1).accessibility===0}function yr(n,a,c,u,_,g){if(!yn(n))return;let T,N=!1;for(let O of n){let B=Wy(O,a,u,!1);if(B){T=O;let ue=ru(B[0],_);if(ue)return ue}if(g&&ct(O.declarations,Rd)){if(_){N=!0;continue}return{accessibility:0}}let Q=cE(O,a,u),me=yr(Q,a,c,c===O?Ig(u):u,_,g);if(me)return me}if(N)return{accessibility:0};if(T)return{accessibility:1,errorSymbolName:ai(c,a,u),errorModuleName:T!==c?ai(T,a,1920):void 0}}function vi(n,a,c,u){return ri(n,a,c,u,!0)}function ri(n,a,c,u,_){if(n&&a){let g=yr([n],a,n,c,u,_);if(g)return g;let T=an(n.declarations,wi);if(T){let N=wi(a);if(T!==N)return{accessibility:2,errorSymbolName:ai(n,a,c),errorModuleName:ai(T),errorNode:Jn(a)?a:void 0}}return{accessibility:1,errorSymbolName:ai(n,a,c)}}return{accessibility:0}}function wi(n){let a=Rn(n,$o);return a&&dr(a)}function $o(n){return sd(n)||n.kind===312&&sp(n)}function Rd(n){return iW(n)||n.kind===312&&sp(n)}function ru(n,a){let c;if(!ji(Cr(n.declarations,g=>g.kind!==80),u))return;return{accessibility:0,aliasesToMakeVisible:c};function u(g){var T,N;if(!Pm(g)){let O=RT(g);if(O&&!Wr(O,32)&&Pm(O.parent))return _(g,O);if(yi(g)&&cl(g.parent.parent)&&!Wr(g.parent.parent,32)&&Pm(g.parent.parent.parent))return _(g,g.parent.parent);if(oW(g)&&!Wr(g,32)&&Pm(g.parent))return _(g,g);if(Na(g)){if(n.flags&2097152&&Jn(g)&&((T=g.parent)!=null&&T.parent)&&yi(g.parent.parent)&&((N=g.parent.parent.parent)!=null&&N.parent)&&cl(g.parent.parent.parent.parent)&&!Wr(g.parent.parent.parent.parent,32)&&g.parent.parent.parent.parent.parent&&Pm(g.parent.parent.parent.parent.parent))return _(g,g.parent.parent.parent.parent);if(n.flags&2){let B=Rn(g,cl);return Wr(B,32)?!0:Pm(B.parent)?_(g,B):!1}}return!1}return!0}function _(g,T){return a&&(Fr(g).isVisible=!0,c=Kh(c,T)),!0}}function sf(n){let a;return n.parent.kind===186||n.parent.kind===233&&!yh(n.parent)||n.parent.kind===167?a=1160127:n.kind===166||n.kind===211||n.parent.kind===271||n.parent.kind===166&&n.parent.left===n||n.parent.kind===211&&n.parent.expression===n||n.parent.kind===212&&n.parent.expression===n?a=1920:a=788968,a}function Fy(n,a){let c=sf(n),u=dp(n),_=Xs(a,u.escapedText,c,void 0,void 0,!1);return _&&_.flags&262144&&c&788968?{accessibility:0}:!_&&YE(u)&&vi(dr(lu(u,!1,!1)),u,c,!1).accessibility===0?{accessibility:0}:_&&ru(_,!0)||{accessibility:1,errorSymbolName:Vl(u),errorNode:u}}function ai(n,a,c,u=4,_){let g=70221824;u&2&&(g|=128),u&1&&(g|=512),u&8&&(g|=16384),u&32&&(g|=134217728),u&16&&(g|=1073741824);let T=u&4?ft.symbolToNode:ft.symbolToEntityName;return _?N(_).getText():dC(N);function N(O){let B=T(n,c,a,g),Q=a?.kind===312?hH():y0(),me=a&&Nn(a);return Q.writeNode(4,B,me,O),O}}function th(n,a,c=0,u,_){return _?g(_).getText():dC(g);function g(T){let N;c&262144?N=u===1?185:184:N=u===1?180:179;let O=ft.signatureToSignatureDeclaration(n,N,a,GT(c)|70221824|512),B=hk(),Q=a&&Nn(a);return B.writeNode(4,O,Q,nV(T)),T}}function Pn(n,a,c=1064960,u=GL(\"\")){let _=F.noErrorTruncation||c&1,g=ft.typeToTypeNode(n,a,GT(c)|70221824|(_?1:0));if(g===void 0)return x.fail(\"should always get typenode\");let T=n!==Ct?y0():_H(),N=a&&Nn(a);T.writeNode(4,g,N,u);let O=u.getText(),B=_?AF*2:i2*2;return B&&O&&O.length>=B?O.substr(0,B-3)+\"...\":O}function d1(n,a){let c=By(n.symbol)?Pn(n,n.symbol.valueDeclaration):Pn(n),u=By(a.symbol)?Pn(a,a.symbol.valueDeclaration):Pn(a);return c===u&&(c=zy(n),u=zy(a)),[c,u]}function zy(n){return Pn(n,void 0,64)}function By(n){return n&&!!n.valueDeclaration&&lt(n.valueDeclaration)&&!uf(n.valueDeclaration)}function GT(n=0){return n&848330095}function H0(n){return!!n.symbol&&!!(n.symbol.flags&32)&&(n===cf(n.symbol)||!!(n.flags&524288)&&!!(br(n)&16777216))}function h_(){return{typeToTypeNode:(Qe,ve,vn,_r)=>a(ve,vn,_r,Xr=>u(Qe,Xr)),indexInfoToIndexSignatureDeclaration:(Qe,ve,vn,_r)=>a(ve,vn,_r,Xr=>Q(Qe,Xr,void 0)),signatureToSignatureDeclaration:(Qe,ve,vn,_r,Xr)=>a(vn,_r,Xr,li=>me(Qe,ve,li)),symbolToEntityName:(Qe,ve,vn,_r,Xr)=>a(vn,_r,Xr,li=>Yi(Qe,li,ve,!1)),symbolToExpression:(Qe,ve,vn,_r,Xr)=>a(vn,_r,Xr,li=>ic(Qe,li,ve)),symbolToTypeParameterDeclarations:(Qe,ve,vn,_r)=>a(ve,vn,_r,Xr=>In(Qe,Xr)),symbolToParameterDeclaration:(Qe,ve,vn,_r)=>a(ve,vn,_r,Xr=>qt(Qe,Xr)),typeParameterToDeclaration:(Qe,ve,vn,_r)=>a(ve,vn,_r,Xr=>at(Qe,Xr)),symbolTableToDeclarationStatements:(Qe,ve,vn,_r,Xr)=>a(ve,vn,_r,li=>Ys(Qe,li,Xr)),symbolToNode:(Qe,ve,vn,_r,Xr)=>a(vn,_r,Xr,li=>n(Qe,li,ve))};function n(Qe,ve,vn){if(ve.flags&1073741824){if(Qe.valueDeclaration){let Xr=mo(Qe.valueDeclaration);if(Xr&&Pa(Xr))return Xr}let _r=Pi(Qe).nameType;if(_r&&_r.flags&9216)return ve.enclosingDeclaration=_r.symbol.valueDeclaration,P.createComputedPropertyName(ic(_r.symbol,ve,vn))}return ic(Qe,ve,vn)}function a(Qe,ve,vn,_r){x.assert(Qe===void 0||(Qe.flags&16)===0);let Xr=vn?.trackSymbol?vn.moduleResolverHost:ve&134217728?w3e(e):void 0,li={enclosingDeclaration:Qe,flags:ve||0,tracker:void 0,encounteredError:!1,reportedDiagnostic:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0,trackedSymbols:void 0};li.tracker=new VU(li,vn,Xr);let ci=_r(li);return li.truncating&&li.flags&1&&li.tracker.reportTruncationError(),li.encounteredError?void 0:ci}function c(Qe){return Qe.truncating?Qe.truncating:Qe.truncating=Qe.approximateLength>(Qe.flags&1?AF:i2)}function u(Qe,ve){let vn=ve.flags,_r=_(Qe,ve);return ve.flags=vn,_r}function _(Qe,ve){var vn,_r;i&&i.throwIfCancellationRequested&&i.throwIfCancellationRequested();let Xr=ve.flags&8388608;if(ve.flags&=-8388609,!Qe){if(!(ve.flags&262144)){ve.encounteredError=!0;return}return ve.approximateLength+=3,P.createKeywordTypeNode(133)}if(ve.flags&536870912||(Qe=wm(Qe)),Qe.flags&1)return Qe.aliasSymbol?P.createTypeReferenceNode(Bn(Qe.aliasSymbol),O(Qe.aliasTypeArguments,ve)):Qe===Ct?iN(P.createKeywordTypeNode(133),3,\"unresolved\"):(ve.approximateLength+=3,P.createKeywordTypeNode(Qe===Qt?141:133));if(Qe.flags&2)return P.createKeywordTypeNode(159);if(Qe.flags&4)return ve.approximateLength+=6,P.createKeywordTypeNode(154);if(Qe.flags&8)return ve.approximateLength+=6,P.createKeywordTypeNode(150);if(Qe.flags&64)return ve.approximateLength+=6,P.createKeywordTypeNode(163);if(Qe.flags&16&&!Qe.aliasSymbol)return ve.approximateLength+=7,P.createKeywordTypeNode(136);if(Qe.flags&1056){if(Qe.symbol.flags&8){let fn=nu(Qe.symbol),zr=co(fn,ve,788968);if(Cs(fn)===Qe)return zr;let Ai=$s(Qe.symbol);return Tp(Ai,0)?ii(zr,P.createTypeReferenceNode(Ai,void 0)):Dh(zr)?(zr.isTypeOf=!0,P.createIndexedAccessTypeNode(zr,P.createLiteralTypeNode(P.createStringLiteral(Ai)))):Yp(zr)?P.createIndexedAccessTypeNode(P.createTypeQueryNode(zr.typeName),P.createLiteralTypeNode(P.createStringLiteral(Ai))):x.fail(\"Unhandled type node kind returned from `symbolToTypeNode`.\")}return co(Qe.symbol,ve,788968)}if(Qe.flags&128)return ve.approximateLength+=Qe.value.length+2,P.createLiteralTypeNode($n(P.createStringLiteral(Qe.value,!!(ve.flags&268435456)),16777216));if(Qe.flags&256){let fn=Qe.value;return ve.approximateLength+=(\"\"+fn).length,P.createLiteralTypeNode(fn<0?P.createPrefixUnaryExpression(41,P.createNumericLiteral(-fn)):P.createNumericLiteral(fn))}if(Qe.flags&2048)return ve.approximateLength+=ZE(Qe.value).length+1,P.createLiteralTypeNode(P.createBigIntLiteral(Qe.value));if(Qe.flags&512)return ve.approximateLength+=Qe.intrinsicName.length,P.createLiteralTypeNode(Qe.intrinsicName===\"true\"?P.createTrue():P.createFalse());if(Qe.flags&8192){if(!(ve.flags&1048576)){if(rt(Qe.symbol,ve.enclosingDeclaration))return ve.approximateLength+=6,co(Qe.symbol,ve,111551);ve.tracker.reportInaccessibleUniqueSymbolError&&ve.tracker.reportInaccessibleUniqueSymbolError()}return ve.approximateLength+=13,P.createTypeOperatorNode(158,P.createKeywordTypeNode(155))}if(Qe.flags&16384)return ve.approximateLength+=4,P.createKeywordTypeNode(116);if(Qe.flags&32768)return ve.approximateLength+=9,P.createKeywordTypeNode(157);if(Qe.flags&65536)return ve.approximateLength+=4,P.createLiteralTypeNode(P.createNull());if(Qe.flags&131072)return ve.approximateLength+=5,P.createKeywordTypeNode(146);if(Qe.flags&4096)return ve.approximateLength+=6,P.createKeywordTypeNode(155);if(Qe.flags&67108864)return ve.approximateLength+=6,P.createKeywordTypeNode(151);if(YC(Qe))return ve.flags&4194304&&(!ve.encounteredError&&!(ve.flags&32768)&&(ve.encounteredError=!0),(_r=(vn=ve.tracker).reportInaccessibleThisError)==null||_r.call(vn)),ve.approximateLength+=4,P.createThisTypeNode();if(!Xr&&Qe.aliasSymbol&&(ve.flags&16384||ne(Qe.aliasSymbol,ve.enclosingDeclaration))){let fn=O(Qe.aliasTypeArguments,ve);return V0(Qe.aliasSymbol.escapedName)&&!(Qe.aliasSymbol.flags&32)?P.createTypeReferenceNode(P.createIdentifier(\"\"),fn):yn(fn)===1&&Qe.aliasSymbol===Po.symbol?P.createArrayTypeNode(fn[0]):co(Qe.aliasSymbol,ve,788968,fn)}let li=br(Qe);if(li&4)return x.assert(!!(Qe.flags&524288)),Qe.node?Ft(Qe,xn):xn(Qe);if(Qe.flags&262144||li&3){if(Qe.flags&262144&&To(ve.inferTypeParameters,Qe)){ve.approximateLength+=$s(Qe.symbol).length+6;let zr,Ai=iu(Qe);if(Ai){let Ji=OLe(Qe,!0);Ji&&kg(Ai,Ji)||(ve.approximateLength+=9,zr=Ai&&u(Ai,ve))}return P.createInferTypeNode(We(Qe,ve,zr))}if(ve.flags&4&&Qe.flags&262144){let zr=Eo(Qe,ve);return ve.approximateLength+=ar(zr).length,P.createTypeReferenceNode(P.createIdentifier(ar(zr)),void 0)}if(Qe.symbol)return co(Qe.symbol,ve,788968);let fn=(Qe===ae||Qe===X)&&L&&L.symbol?(Qe===X?\"sub-\":\"super-\")+$s(L.symbol):\"?\";return P.createTypeReferenceNode(P.createIdentifier(fn),void 0)}if(Qe.flags&1048576&&Qe.origin&&(Qe=Qe.origin),Qe.flags&3145728){let fn=Qe.flags&1048576?aD(Qe.types):Qe.types;if(yn(fn)===1)return u(fn[0],ve);let zr=O(fn,ve,!0);if(zr&&zr.length>0)return Qe.flags&1048576?P.createUnionTypeNode(zr):P.createIntersectionTypeNode(zr);!ve.encounteredError&&!(ve.flags&262144)&&(ve.encounteredError=!0);return}if(li&48)return x.assert(!!(Qe.flags&524288)),Gt(Qe);if(Qe.flags&4194304){let fn=Qe.type;ve.approximateLength+=6;let zr=u(fn,ve);return P.createTypeOperatorNode(143,zr)}if(Qe.flags&134217728){let fn=Qe.texts,zr=Qe.types,Ai=P.createTemplateHead(fn[0]),Ji=P.createNodeArray(nn(zr,(Ho,Yl)=>P.createTemplateLiteralTypeSpan(u(Ho,ve),(Yl<zr.length-1?P.createTemplateMiddle:P.createTemplateTail)(fn[Yl+1]))));return ve.approximateLength+=2,P.createTemplateLiteralType(Ai,Ji)}if(Qe.flags&268435456){let fn=u(Qe.type,ve);return co(Qe.symbol,ve,788968,[fn])}if(Qe.flags&8388608){let fn=u(Qe.objectType,ve),zr=u(Qe.indexType,ve);return ve.approximateLength+=2,P.createIndexedAccessTypeNode(fn,zr)}if(Qe.flags&16777216)return Ft(Qe,fn=>ci(fn));if(Qe.flags&33554432){let fn=u(Qe.baseType,ve),zr=wP(Qe)&&r_e(\"NoInfer\",!1);return zr?co(zr,ve,788968,[fn]):fn}return x.fail(\"Should be unreachable.\");function ci(fn){let zr=u(fn.checkType,ve);if(ve.approximateLength+=15,ve.flags&4&&fn.root.isDistributive&&!(fn.checkType.flags&262144)){let al=Bp(Ra(262144,\"T\")),Ba=Eo(al,ve),oc=P.createTypeReferenceNode(Ba);ve.approximateLength+=37;let As=eA(fn.root.checkType,al,fn.mapper),Gm=ve.inferTypeParameters;ve.inferTypeParameters=fn.root.inferTypeParameters;let qe=u(Gi(fn.root.extendsType,As),ve);ve.inferTypeParameters=Gm;let ut=xr(Gi(si(fn.root.node.trueType),As)),Bt=xr(Gi(si(fn.root.node.falseType),As));return P.createConditionalTypeNode(zr,P.createInferTypeNode(P.createTypeParameterDeclaration(void 0,P.cloneNode(oc.typeName))),P.createConditionalTypeNode(P.createTypeReferenceNode(P.cloneNode(Ba)),u(fn.checkType,ve),P.createConditionalTypeNode(oc,qe,ut,Bt),P.createKeywordTypeNode(146)),P.createKeywordTypeNode(146))}let Ai=ve.inferTypeParameters;ve.inferTypeParameters=fn.root.inferTypeParameters;let Ji=u(fn.extendsType,ve);ve.inferTypeParameters=Ai;let Ho=xr(EE(fn)),Yl=xr(SE(fn));return P.createConditionalTypeNode(zr,Ji,Ho,Yl)}function xr(fn){var zr,Ai,Ji;return fn.flags&1048576?(zr=ve.visitedTypes)!=null&&zr.has(Hd(fn))?(ve.flags&131072||(ve.encounteredError=!0,(Ji=(Ai=ve.tracker)==null?void 0:Ai.reportCyclicStructureError)==null||Ji.call(Ai)),g(ve)):Ft(fn,Ho=>u(Ho,ve)):u(fn,ve)}function ur(fn){return!!fw(fn)}function $e(fn){return!!fn.target&&ur(fn.target)&&!ur(fn)}function It(fn){var zr;x.assert(!!(fn.flags&524288));let Ai=fn.declaration.readonlyToken?P.createToken(fn.declaration.readonlyToken.kind):void 0,Ji=fn.declaration.questionToken?P.createToken(fn.declaration.questionToken.kind):void 0,Ho,Yl,al=!fD(fn)&&!(HT(fn).flags&2)&&ve.flags&4&&!(Vp(fn).flags&262144&&((zr=iu(Vp(fn)))==null?void 0:zr.flags)&4194304);if(fD(fn)){if($e(fn)&&ve.flags&4){let ut=Bp(Ra(262144,\"T\")),Bt=Eo(ut,ve);Yl=P.createTypeReferenceNode(Bt)}Ho=P.createTypeOperatorNode(143,Yl||u(HT(fn),ve))}else if(al){let ut=Bp(Ra(262144,\"T\")),Bt=Eo(ut,ve);Yl=P.createTypeReferenceNode(Bt),Ho=Yl}else Ho=u(Vp(fn),ve);let Ba=We(km(fn),ve,Ho),oc=fn.declaration.nameType?u(Dv(fn),ve):void 0,As=u(ob(Ng(fn),!!(oh(fn)&4)),ve),Gm=P.createMappedTypeNode(Ai,Ba,oc,Ji,As,void 0);ve.approximateLength+=10;let qe=$n(Gm,1);if($e(fn)&&ve.flags&4){let ut=Gi(iu(si(fn.declaration.typeParameter.constraint.type))||Zt,fn.mapper);return P.createConditionalTypeNode(u(HT(fn),ve),P.createInferTypeNode(P.createTypeParameterDeclaration(void 0,P.cloneNode(Yl.typeName),ut.flags&2?void 0:u(ut,ve))),qe,P.createKeywordTypeNode(146))}else if(al)return P.createConditionalTypeNode(u(Vp(fn),ve),P.createInferTypeNode(P.createTypeParameterDeclaration(void 0,P.cloneNode(Yl.typeName),P.createTypeOperatorNode(143,u(HT(fn),ve)))),qe,P.createKeywordTypeNode(146));return qe}function Gt(fn){var zr,Ai;let Ji=fn.id,Ho=fn.symbol;if(Ho){if(!!(br(fn)&8388608)){let As=fn.node;if(oI(As)&&si(As)===fn){let Gm=fl(ve,As);if(Gm)return Gm}return(zr=ve.visitedTypes)!=null&&zr.has(Ji)?g(ve):Ft(fn,Yt)}let Ba=H0(fn)?788968:111551;if(T_(Ho.valueDeclaration))return co(Ho,ve,Ba);if(Ho.flags&32&&!D$(Ho)&&!(Ho.valueDeclaration&&Kr(Ho.valueDeclaration)&&ve.flags&2048&&(!Zl(Ho.valueDeclaration)||vi(Ho,ve.enclosingDeclaration,Ba,!1).accessibility!==0))||Ho.flags&896||Yl())return co(Ho,ve,Ba);if((Ai=ve.visitedTypes)!=null&&Ai.has(Ji)){let oc=S7(fn);return oc?co(oc,ve,788968):g(ve)}else return Ft(fn,Yt)}else return Yt(fn);function Yl(){var al;let Ba=!!(Ho.flags&8192)&&ct(Ho.declarations,As=>zo(As)),oc=!!(Ho.flags&16)&&(Ho.parent||an(Ho.declarations,As=>As.parent.kind===312||As.parent.kind===268));if(Ba||oc)return(!!(ve.flags&4096)||((al=ve.visitedTypes)==null?void 0:al.has(Ji)))&&(!(ve.flags&8)||rt(Ho,ve.enclosingDeclaration))}}function Ft(fn,zr){var Ai,Ji,Ho;let Yl=fn.id,al=br(fn)&16&&fn.symbol&&fn.symbol.flags&32,Ba=br(fn)&4&&fn.node?\"N\"+Fa(fn.node):fn.flags&16777216?\"N\"+Fa(fn.root.node):fn.symbol?(al?\"+\":\"\")+na(fn.symbol):void 0;ve.visitedTypes||(ve.visitedTypes=new Set),Ba&&!ve.symbolDepth&&(ve.symbolDepth=new Map);let oc=ve.enclosingDeclaration&&Fr(ve.enclosingDeclaration),As=`${Hd(fn)}|${ve.flags}`;oc&&(oc.serializedTypes||(oc.serializedTypes=new Map));let Gm=(Ai=oc?.serializedTypes)==null?void 0:Ai.get(As);if(Gm)return(Ji=Gm.trackedSymbols)==null||Ji.forEach(([Rr,Si,yo])=>ve.tracker.trackSymbol(Rr,Si,yo)),Gm.truncating&&(ve.truncating=!0),ve.approximateLength+=Gm.addedLength,cn(Gm.node);let qe;if(Ba){if(qe=ve.symbolDepth.get(Ba)||0,qe>10)return g(ve);ve.symbolDepth.set(Ba,qe+1)}ve.visitedTypes.add(Yl);let ut=ve.trackedSymbols;ve.trackedSymbols=void 0;let Bt=ve.approximateLength,kn=zr(fn),pr=ve.approximateLength-Bt;return!ve.reportedDiagnostic&&!ve.encounteredError&&((Ho=oc?.serializedTypes)==null||Ho.set(As,{node:kn,truncating:ve.truncating,addedLength:pr,trackedSymbols:ve.trackedSymbols})),ve.visitedTypes.delete(Yl),Ba&&ve.symbolDepth.set(Ba,qe),ve.trackedSymbols=ut,kn;function cn(Rr){return!xs(Rr)&&uo(Rr)===Rr?Rr:Ze(P.cloneNode(un(Rr,cn,void 0,rr)),Rr)}function rr(Rr,Si,yo,Ko,Xo){return Rr&&Rr.length===0?Ze(P.createNodeArray(void 0,Rr.hasTrailingComma),Rr):Dn(Rr,Si,yo,Ko,Xo)}}function Yt(fn){if(vu(fn)||fn.containsError)return It(fn);let zr=Om(fn);if(!zr.properties.length&&!zr.indexInfos.length){if(!zr.callSignatures.length&&!zr.constructSignatures.length)return ve.approximateLength+=2,$n(P.createTypeLiteralNode(void 0),1);if(zr.callSignatures.length===1&&!zr.constructSignatures.length){let al=zr.callSignatures[0];return me(al,184,ve)}if(zr.constructSignatures.length===1&&!zr.callSignatures.length){let al=zr.constructSignatures[0];return me(al,185,ve)}}let Ai=Cr(zr.constructSignatures,al=>!!(al.flags&4));if(ct(Ai)){let al=nn(Ai,XT);return zr.callSignatures.length+(zr.constructSignatures.length-Ai.length)+zr.indexInfos.length+(ve.flags&2048?Wv(zr.properties,oc=>!(oc.flags&4194304)):yn(zr.properties))&&al.push(j0(zr)),u(Zo(al),ve)}let Ji=ve.flags;ve.flags|=4194304;let Ho=qi(zr);ve.flags=Ji;let Yl=P.createTypeLiteralNode(Ho);return ve.approximateLength+=2,$n(Yl,ve.flags&1024?0:1),Yl}function xn(fn){let zr=Ts(fn);if(fn.target===Po||fn.target===Oo){if(ve.flags&2){let Ho=u(zr[0],ve);return P.createTypeReferenceNode(fn.target===Po?\"Array\":\"ReadonlyArray\",[Ho])}let Ai=u(zr[0],ve),Ji=P.createArrayTypeNode(Ai);return fn.target===Po?Ji:P.createTypeOperatorNode(148,Ji)}else if(fn.target.objectFlags&8){if(zr=sc(zr,(Ai,Ji)=>ob(Ai,!!(fn.target.elementFlags[Ji]&2))),zr.length>0){let Ai=Nv(fn),Ji=O(zr.slice(0,Ai),ve);if(Ji){let{labeledElementDeclarations:Ho}=fn.target;for(let al=0;al<Ji.length;al++){let Ba=fn.target.elementFlags[al],oc=Ho?.[al];oc?Ji[al]=P.createNamedTupleMember(Ba&12?P.createToken(26):void 0,P.createIdentifier(Ii(ige(oc))),Ba&2?P.createToken(58):void 0,Ba&4?P.createArrayTypeNode(Ji[al]):Ji[al]):Ji[al]=Ba&12?P.createRestTypeNode(Ba&4?P.createArrayTypeNode(Ji[al]):Ji[al]):Ba&2?P.createOptionalTypeNode(Ji[al]):Ji[al]}let Yl=$n(P.createTupleTypeNode(Ji),1);return fn.target.readonly?P.createTypeOperatorNode(148,Yl):Yl}}if(ve.encounteredError||ve.flags&524288){let Ai=$n(P.createTupleTypeNode([]),1);return fn.target.readonly?P.createTypeOperatorNode(148,Ai):Ai}ve.encounteredError=!0;return}else{if(ve.flags&2048&&fn.symbol.valueDeclaration&&Kr(fn.symbol.valueDeclaration)&&!rt(fn.symbol,ve.enclosingDeclaration))return Gt(fn);{let Ai=fn.target.outerTypeParameters,Ji=0,Ho;if(Ai){let oc=Ai.length;for(;Ji<oc;){let As=Ji,Gm=wLe(Ai[Ji]);do Ji++;while(Ji<oc&&wLe(Ai[Ji])===Gm);if(!nB(Ai,zr,As,Ji)){let qe=O(zr.slice(As,Ji),ve),ut=ve.flags;ve.flags|=16;let Bt=co(Gm,ve,788968,qe);ve.flags=ut,Ho=Ho?ii(Ho,Bt):Bt}}}let Yl;if(zr.length>0){let oc=(fn.target.typeParameters||je).length;Yl=O(zr.slice(Ji,oc),ve)}let al=ve.flags;ve.flags|=16;let Ba=co(fn.symbol,ve,788968,Yl);return ve.flags=al,Ho?ii(Ho,Ba):Ba}}}function ii(fn,zr){if(Dh(fn)){let Ai=fn.typeArguments,Ji=fn.qualifier;Ji&&(Me(Ji)?Ai!==BS(Ji)&&(Ji=av(P.cloneNode(Ji),Ai)):Ai!==BS(Ji.right)&&(Ji=P.updateQualifiedName(Ji,Ji.left,av(P.cloneNode(Ji.right),Ai)))),Ai=zr.typeArguments;let Ho=Yr(zr);for(let Yl of Ho)Ji=Ji?P.createQualifiedName(Ji,Yl):Yl;return P.updateImportTypeNode(fn,fn.argument,fn.attributes,Ji,Ai,fn.isTypeOf)}else{let Ai=fn.typeArguments,Ji=fn.typeName;Me(Ji)?Ai!==BS(Ji)&&(Ji=av(P.cloneNode(Ji),Ai)):Ai!==BS(Ji.right)&&(Ji=P.updateQualifiedName(Ji,Ji.left,av(P.cloneNode(Ji.right),Ai))),Ai=zr.typeArguments;let Ho=Yr(zr);for(let Yl of Ho)Ji=P.createQualifiedName(Ji,Yl);return P.updateTypeReferenceNode(fn,Ji,Ai)}}function Yr(fn){let zr=fn.typeName,Ai=[];for(;!Me(zr);)Ai.unshift(zr.right),zr=zr.left;return Ai.unshift(zr),Ai}function qi(fn){if(c(ve))return[P.createPropertySignature(void 0,\"...\",void 0,void 0)];let zr=[];for(let Ho of fn.callSignatures)zr.push(me(Ho,179,ve));for(let Ho of fn.constructSignatures)Ho.flags&4||zr.push(me(Ho,180,ve));for(let Ho of fn.indexInfos)zr.push(Q(Ho,ve,fn.objectFlags&1024?g(ve):void 0));let Ai=fn.properties;if(!Ai)return zr;let Ji=0;for(let Ho of Ai){if(Ji++,ve.flags&2048){if(Ho.flags&4194304)continue;Kp(Ho)&6&&ve.tracker.reportPrivateInBaseOfClassExpression&&ve.tracker.reportPrivateInBaseOfClassExpression(Ii(Ho.escapedName))}if(c(ve)&&Ji+2<Ai.length-1){zr.push(P.createPropertySignature(void 0,`... ${Ai.length-Ji} more ...`,void 0,void 0)),N(Ai[Ai.length-1],ve,zr);break}N(Ho,ve,zr)}return zr.length?zr:void 0}}function g(Qe){return Qe.approximateLength+=3,Qe.flags&1?P.createKeywordTypeNode(133):P.createTypeReferenceNode(P.createIdentifier(\"...\"),void 0)}function T(Qe,ve){var vn;return!!(tl(Qe)&8192)&&(To(ve.reverseMappedStack,Qe)||((vn=ve.reverseMappedStack)==null?void 0:vn[0])&&!(br(Da(ve.reverseMappedStack).links.propertyType)&16))}function N(Qe,ve,vn){var _r;let Xr=!!(tl(Qe)&8192),li=T(Qe,ve)?z:qy(Qe),ci=ve.enclosingDeclaration;if(ve.enclosingDeclaration=void 0,ve.tracker.canTrackSymbol&&nw(Qe.escapedName))if(Qe.declarations){let Yt=Ta(Qe.declarations);if(D7(Yt))if(Zn(Yt)){let xn=mo(Yt);xn&&Rs(xn)&&UL(xn.argumentExpression)&&Hn(xn.argumentExpression,ci,ve)}else Hn(Yt.name.expression,ci,ve)}else ve.tracker.reportNonSerializableProperty(ai(Qe));ve.enclosingDeclaration=Qe.valueDeclaration||((_r=Qe.declarations)==null?void 0:_r[0])||ci;let xr=bn(Qe,ve);if(ve.enclosingDeclaration=ci,ve.approximateLength+=$s(Qe).length+1,Qe.flags&98304){let Yt=q0(Qe);if(li!==Yt&&!Lt(li)&&!Lt(Yt)){let xn=Vs(Qe,177),ii=kf(xn);vn.push(Ol(me(ii,177,ve,{name:xr}),xn));let Yr=Vs(Qe,178),qi=kf(Yr);vn.push(Ol(me(qi,178,ve,{name:xr}),Yr));return}}let ur=Qe.flags&16777216?P.createToken(58):void 0;if(Qe.flags&8208&&!Xy(li).length&&!Bm(Qe)){let Yt=Co(Bl(li,xn=>!(xn.flags&32768)),0);for(let xn of Yt){let ii=me(xn,173,ve,{name:xr,questionToken:ur});vn.push(Ft(ii))}if(Yt.length||!ur)return}let $e;T(Qe,ve)?$e=g(ve):(Xr&&(ve.reverseMappedStack||(ve.reverseMappedStack=[]),ve.reverseMappedStack.push(Qe)),$e=li?es(ve,li,Qe,ci):P.createKeywordTypeNode(133),Xr&&ve.reverseMappedStack.pop());let It=Bm(Qe)?[P.createToken(148)]:void 0;It&&(ve.approximateLength+=9);let Gt=P.createPropertySignature(It,xr,ur,$e);vn.push(Ft(Gt));function Ft(Yt){var xn;let ii=(xn=Qe.declarations)==null?void 0:xn.find(Yr=>Yr.kind===355);if(ii){let Yr=VM(ii.comment);Yr&&Lb(Yt,[{kind:3,text:`*\n * `+Yr.replace(/\\n/g,`\n * `)+`\n `,pos:-1,end:-1,hasTrailingNewLine:!0}])}else Qe.valueDeclaration&&Ol(Yt,Qe.valueDeclaration);return Yt}}function O(Qe,ve,vn){if(ct(Qe)){if(c(ve))if(vn){if(Qe.length>2)return[u(Qe[0],ve),P.createTypeReferenceNode(`... ${Qe.length-2} more ...`,void 0),u(Qe[Qe.length-1],ve)]}else return[P.createTypeReferenceNode(\"...\",void 0)];let Xr=!(ve.flags&64)?Ep():void 0,li=[],ci=0;for(let xr of Qe){if(ci++,c(ve)&&ci+2<Qe.length-1){li.push(P.createTypeReferenceNode(`... ${Qe.length-ci} more ...`,void 0));let $e=u(Qe[Qe.length-1],ve);$e&&li.push($e);break}ve.approximateLength+=2;let ur=u(xr,ve);ur&&(li.push(ur),Xr&&sre(ur)&&Xr.add(ur.typeName.escapedText,[xr,li.length-1]))}if(Xr){let xr=ve.flags;ve.flags|=64,Xr.forEach(ur=>{if(!lre(ur,([$e],[It])=>B($e,It)))for(let[$e,It]of ur)li[It]=u($e,ve)}),ve.flags=xr}return li}}function B(Qe,ve){return Qe===ve||!!Qe.symbol&&Qe.symbol===ve.symbol||!!Qe.aliasSymbol&&Qe.aliasSymbol===ve.aliasSymbol}function Q(Qe,ve,vn){let _r=Cte(Qe)||\"x\",Xr=u(Qe.keyType,ve),li=P.createParameterDeclaration(void 0,void 0,_r,void 0,Xr,void 0);return vn||(vn=u(Qe.type||z,ve)),!Qe.type&&!(ve.flags&2097152)&&(ve.encounteredError=!0),ve.approximateLength+=_r.length+4,P.createIndexSignature(Qe.isReadonly?[P.createToken(148)]:void 0,[li],vn)}function me(Qe,ve,vn,_r){var Xr;let li=vn.flags&256;li&&(vn.flags&=-257),vn.approximateLength+=3;let ci,xr;vn.flags&32&&Qe.target&&Qe.mapper&&Qe.target.typeParameters?xr=Qe.target.typeParameters.map(qi=>u(Gi(qi,Qe.mapper),vn)):ci=Qe.typeParameters&&Qe.typeParameters.map(qi=>at(qi,vn));let ur=uLe(Qe,!0)[0],$e;if(vn.enclosingDeclaration&&Qe.declaration&&Qe.declaration!==vn.enclosingDeclaration&&!Jn(Qe.declaration)&&(ct(ur)||ct(Qe.typeParameters))){let qi=function(fn,zr){x.assert(vn.enclosingDeclaration);let Ai;Fr(vn.enclosingDeclaration).fakeScopeForSignatureDeclaration===fn?Ai=vn.enclosingDeclaration:vn.enclosingDeclaration.parent&&Fr(vn.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration===fn&&(Ai=vn.enclosingDeclaration.parent),x.assertOptionalNode(Ai,Do);let Ji=Ai?.locals??Vo(),Ho;if(zr((Ba,oc)=>{Ji.has(Ba)||(Ho=pn(Ho,Ba),Ji.set(Ba,oc))}),!Ho)return;let Yl=$e;function al(){an(Ho,Ba=>Ji.delete(Ba)),Yl?.()}if(Ai)$e=al;else{let Ba=H_.createBlock(je);Fr(Ba).fakeScopeForSignatureDeclaration=fn,Ba.locals=Ji;let oc=vn.enclosingDeclaration;Aa(Ba,oc),vn.enclosingDeclaration=Ba,$e=()=>{vn.enclosingDeclaration=oc,al()}}};var It=qi;qi(\"params\",fn=>{for(let zr of ur)fn(zr.escapedName,zr)}),vn.flags&4&&qi(\"typeParams\",fn=>{for(let zr of Qe.typeParameters??je){let Ai=Eo(zr,vn).escapedText;fn(Ai,zr.symbol)}})}let Gt=(ct(ur,qi=>qi!==ur[ur.length-1]&&!!(tl(qi)&32768))?Qe.parameters:ur).map(qi=>qt(qi,vn,ve===176,_r?.privateSymbolVisitor,_r?.bundledImports)),Ft=vn.flags&33554432?void 0:ue(Qe,vn);Ft&&Gt.unshift(Ft);let Yt,xn=df(Qe);if(xn){let qi=xn.kind===2||xn.kind===3?P.createToken(131):void 0,fn=xn.kind===1||xn.kind===3?$n(P.createIdentifier(xn.parameterName),16777216):P.createThisTypeNode(),zr=xn.type&&u(xn.type,vn);Yt=P.createTypePredicateNode(qi,fn,zr)}else{let qi=Ha(Qe);qi&&!(li&&vt(qi))?Yt=va(vn,qi,Qe,_r?.privateSymbolVisitor,_r?.bundledImports):li||(Yt=P.createKeywordTypeNode(133))}let ii=_r?.modifiers;if(ve===185&&Qe.flags&4){let qi=Qm(ii);ii=P.createModifiersFromModifierFlags(qi|64)}let Yr=ve===179?P.createCallSignature(ci,Gt,Yt):ve===180?P.createConstructSignature(ci,Gt,Yt):ve===173?P.createMethodSignature(ii,_r?.name??P.createIdentifier(\"\"),_r?.questionToken,ci,Gt,Yt):ve===174?P.createMethodDeclaration(ii,void 0,_r?.name??P.createIdentifier(\"\"),void 0,ci,Gt,Yt,void 0):ve===176?P.createConstructorDeclaration(ii,Gt,void 0):ve===177?P.createGetAccessorDeclaration(ii,_r?.name??P.createIdentifier(\"\"),Gt,Yt,void 0):ve===178?P.createSetAccessorDeclaration(ii,_r?.name??P.createIdentifier(\"\"),Gt,void 0):ve===181?P.createIndexSignature(ii,Gt,Yt):ve===324?P.createJSDocFunctionType(Gt,Yt):ve===184?P.createFunctionTypeNode(ci,Gt,Yt??P.createTypeReferenceNode(P.createIdentifier(\"\"))):ve===185?P.createConstructorTypeNode(ii,ci,Gt,Yt??P.createTypeReferenceNode(P.createIdentifier(\"\"))):ve===262?P.createFunctionDeclaration(ii,void 0,_r?.name?Fo(_r.name,Me):P.createIdentifier(\"\"),ci,Gt,Yt,void 0):ve===218?P.createFunctionExpression(ii,void 0,_r?.name?Fo(_r.name,Me):P.createIdentifier(\"\"),ci,Gt,Yt,P.createBlock([])):ve===219?P.createArrowFunction(ii,ci,Gt,Yt,void 0,P.createBlock([])):x.assertNever(ve);if(xr&&(Yr.typeArguments=P.createNodeArray(xr)),((Xr=Qe.declaration)==null?void 0:Xr.kind)===330&&Qe.declaration.parent.kind===346){let qi=Vl(Qe.declaration.parent.parent,!0).slice(2,-2).split(/\\r\\n|\\n|\\r/).map(fn=>fn.replace(/^\\s+/,\" \")).join(`\n`);iN(Yr,3,qi,!0)}return $e?.(),Yr}function ue(Qe,ve){if(Qe.thisParameter)return qt(Qe.thisParameter,ve);if(Qe.declaration&&Jn(Qe.declaration)){let vn=k8(Qe.declaration);if(vn&&vn.typeExpression)return P.createParameterDeclaration(void 0,void 0,\"this\",void 0,u(si(vn.typeExpression),ve))}}function We(Qe,ve,vn){let _r=ve.flags;ve.flags&=-513;let Xr=P.createModifiersFromModifierFlags(z_e(Qe)),li=Eo(Qe,ve),ci=KT(Qe),xr=ci&&u(ci,ve);return ve.flags=_r,P.createTypeParameterDeclaration(Xr,li,vn,xr)}function at(Qe,ve,vn=iu(Qe)){let _r=vn&&u(vn,ve);return We(Qe,ve,_r)}function ht(Qe){let ve=Vs(Qe,169);if(ve)return ve;if(!k_(Qe))return Vs(Qe,348)}function qt(Qe,ve,vn,_r,Xr){let li=ht(Qe),ci=Yn(Qe);li&&eWe(li)&&(ci=ib(ci));let xr=es(ve,ci,Qe,ve.enclosingDeclaration,_r,Xr),ur=!(ve.flags&8192)&&vn&&li&&Yf(li)?nn(kE(li),P.cloneNode):void 0,It=li&&gh(li)||tl(Qe)&32768?P.createToken(26):void 0,Gt=Xt(Qe,li,ve),Yt=li&&ow(li)||tl(Qe)&16384?P.createToken(58):void 0,xn=P.createParameterDeclaration(ur,It,Gt,Yt,xr,void 0);return ve.approximateLength+=$s(Qe).length+3,xn}function Xt(Qe,ve,vn){return ve&&ve.name?ve.name.kind===80?$n(P.cloneNode(ve.name),16777216):ve.name.kind===166?$n(P.cloneNode(ve.name.right),16777216):_r(ve.name):$s(Qe);function _r(Xr){return li(Xr);function li(ci){vn.tracker.canTrackSymbol&&Pa(ci)&&Rme(ci)&&Hn(ci.expression,vn.enclosingDeclaration,vn);let xr=un(ci,li,void 0,void 0,li);return Na(xr)&&(xr=P.updateBindingElement(xr,xr.dotDotDotToken,xr.propertyName,xr.name,void 0)),xs(xr)||(xr=P.cloneNode(xr)),$n(xr,16777217)}}}function Hn(Qe,ve,vn){if(!vn.tracker.canTrackSymbol)return;let _r=dp(Qe),Xr=Xs(_r,_r.escapedText,1160127,void 0,void 0,!0);Xr&&vn.tracker.trackSymbol(Xr,ve,111551)}function En(Qe,ve,vn,_r){return ve.tracker.trackSymbol(Qe,ve.enclosingDeclaration,vn),Kt(Qe,ve,vn,_r)}function Kt(Qe,ve,vn,_r){let Xr;return!(Qe.flags&262144)&&(ve.enclosingDeclaration||ve.flags&64)&&!(ve.flags&134217728)?(Xr=x.checkDefined(ci(Qe,vn,!0)),x.assert(Xr&&Xr.length>0)):Xr=[Qe],Xr;function ci(xr,ur,$e){let It=Wy(xr,ve.enclosingDeclaration,ur,!!(ve.flags&128)),Gt;if(!It||uE(It[0],ve.enclosingDeclaration,It.length===1?ur:Ig(ur))){let Yt=cE(It?It[0]:xr,ve.enclosingDeclaration,ur);if(yn(Yt)){Gt=Yt.map(Yr=>ct(Yr.declarations,Rd)?Mn(Yr,ve):void 0);let xn=Yt.map((Yr,qi)=>qi);xn.sort(Ft);let ii=xn.map(Yr=>Yt[Yr]);for(let Yr of ii){let qi=ci(Yr,Ig(ur),!1);if(qi){if(Yr.exports&&Yr.exports.get(\"export=\")&&Nm(Yr.exports.get(\"export=\"),xr)){It=qi;break}It=qi.concat(It||[zh(Yr,xr)||xr]);break}}}}if(It)return It;if($e||!(xr.flags&6144))return!$e&&!_r&&an(xr.declarations,Rd)?void 0:[xr];function Ft(Yt,xn){let ii=Gt[Yt],Yr=Gt[xn];if(ii&&Yr){let qi=op(Yr);return op(ii)===qi?o4(ii)-o4(Yr):qi?-1:1}return 0}}}function In(Qe,ve){let vn;return ND(Qe).flags&524384&&(vn=P.createNodeArray(nn(gr(Qe),Xr=>at(Xr,ve)))),vn}function Sn(Qe,ve,vn){var _r;x.assert(Qe&&0<=ve&&ve<Qe.length);let Xr=Qe[ve],li=na(Xr);if((_r=vn.typeParameterSymbolList)!=null&&_r.has(li))return;(vn.typeParameterSymbolList||(vn.typeParameterSymbolList=new Set)).add(li);let ci;if(vn.flags&512&&ve<Qe.length-1){let xr=Xr,ur=Qe[ve+1];if(tl(ur)&1){let $e=Ei(xr.flags&2097152?fc(xr):xr);ci=O(nn($e,It=>eb(It,ur.links.mapper)),vn)}else ci=In(Xr,vn)}return ci}function zn(Qe){return US(Qe.objectType)?zn(Qe.objectType):Qe}function Mn(Qe,ve,vn){let _r=Vs(Qe,312);if(!_r){let $e=ml(Qe.declarations,It=>zT(It,Qe));$e&&(_r=Vs($e,312))}if(_r&&_r.moduleName!==void 0)return _r.moduleName;if(!_r){if(ve.tracker.trackReferencedAmbientModule){let $e=Cr(Qe.declarations,sd);if(yn($e))for(let It of $e)ve.tracker.trackReferencedAmbientModule(It,Qe)}if(BU.test(Qe.escapedName))return Qe.escapedName.substring(1,Qe.escapedName.length-1)}if(!ve.enclosingDeclaration||!ve.tracker.moduleResolverHost)return BU.test(Qe.escapedName)?Qe.escapedName.substring(1,Qe.escapedName.length-1):Nn(h9(Qe)).fileName;let Xr=Nn(sl(ve.enclosingDeclaration)),li=vn||Xr?.impliedNodeFormat,ci=DN(Xr.path,li),xr=Pi(Qe),ur=xr.specifierCache&&xr.specifierCache.get(ci);if(!ur){let $e=!!ss(F),{moduleResolverHost:It}=ve.tracker,Gt=$e?{...F,baseUrl:It.getCommonSourceDirectory()}:F;ur=Ta(cSe(Qe,zt,Gt,Xr,It,{importModuleSpecifierPreference:$e?\"non-relative\":\"project-relative\",importModuleSpecifierEnding:$e?\"minimal\":li===99?\"js\":void 0},{overrideImportMode:vn})),xr.specifierCache??(xr.specifierCache=new Map),xr.specifierCache.set(ci,ur)}return ur}function Bn(Qe){let ve=P.createIdentifier(Ii(Qe.escapedName));return Qe.parent?P.createQualifiedName(Bn(Qe.parent),ve):ve}function co(Qe,ve,vn,_r){let Xr=En(Qe,ve,vn,!(ve.flags&16384)),li=vn===111551;if(ct(Xr[0].declarations,Rd)){let ur=Xr.length>1?xr(Xr,Xr.length-1,1):void 0,$e=_r||Sn(Xr,0,ve),It=Nn(sl(ve.enclosingDeclaration)),Gt=eW(Xr[0]),Ft,Yt;if((zd(F)===3||zd(F)===99)&&Gt?.impliedNodeFormat===99&&Gt.impliedNodeFormat!==It?.impliedNodeFormat&&(Ft=Mn(Xr[0],ve,99),Yt=P.createImportAttributes(P.createNodeArray([P.createImportAttribute(P.createStringLiteral(\"resolution-mode\"),P.createStringLiteral(\"import\"))]))),Ft||(Ft=Mn(Xr[0],ve)),!(ve.flags&67108864)&&zd(F)!==1&&Ft.includes(\"/node_modules/\")){let ii=Ft;if(zd(F)===3||zd(F)===99){let Yr=It?.impliedNodeFormat===99?1:99;Ft=Mn(Xr[0],ve,Yr),Ft.includes(\"/node_modules/\")?Ft=ii:Yt=P.createImportAttributes(P.createNodeArray([P.createImportAttribute(P.createStringLiteral(\"resolution-mode\"),P.createStringLiteral(Yr===99?\"import\":\"require\"))]))}Yt||(ve.encounteredError=!0,ve.tracker.reportLikelyUnsafeImportRequiredError&&ve.tracker.reportLikelyUnsafeImportRequiredError(ii))}let xn=P.createLiteralTypeNode(P.createStringLiteral(Ft));if(ve.tracker.trackExternalModuleSymbolOfImportTypeNode&&ve.tracker.trackExternalModuleSymbolOfImportTypeNode(Xr[0]),ve.approximateLength+=Ft.length+10,!ur||Su(ur)){if(ur){let ii=Me(ur)?ur:ur.right;av(ii,void 0)}return P.createImportTypeNode(xn,Yt,ur,$e,li)}else{let ii=zn(ur),Yr=ii.objectType.typeName;return P.createIndexedAccessTypeNode(P.createImportTypeNode(xn,Yt,Yr,$e,li),ii.indexType)}}let ci=xr(Xr,Xr.length-1,0);if(US(ci))return ci;if(li)return P.createTypeQueryNode(ci);{let ur=Me(ci)?ci:ci.right,$e=BS(ur);return av(ur,void 0),P.createTypeReferenceNode(ci,$e)}function xr(ur,$e,It){let Gt=$e===ur.length-1?_r:Sn(ur,$e,ve),Ft=ur[$e],Yt=ur[$e-1],xn;if($e===0)ve.flags|=16777216,xn=pE(Ft,ve),ve.approximateLength+=(xn?xn.length:0)+1,ve.flags^=16777216;else if(Yt&&Qu(Yt)){let Yr=Qu(Yt);hc(Yr,(qi,fn)=>{if(Nm(qi,Ft)&&!nw(fn)&&fn!==\"export=\")return xn=Ii(fn),!0})}if(xn===void 0){let Yr=ml(Ft.declarations,mo);if(Yr&&Pa(Yr)&&Su(Yr.expression)){let qi=xr(ur,$e-1,It);return Su(qi)?P.createIndexedAccessTypeNode(P.createParenthesizedType(P.createTypeQueryNode(qi)),P.createTypeQueryNode(Yr.expression)):qi}xn=pE(Ft,ve)}if(ve.approximateLength+=xn.length+1,!(ve.flags&16)&&Yt&&Ky(Yt)&&Ky(Yt).get(Ft.escapedName)&&Nm(Ky(Yt).get(Ft.escapedName),Ft)){let Yr=xr(ur,$e-1,It);return US(Yr)?P.createIndexedAccessTypeNode(Yr,P.createLiteralTypeNode(P.createStringLiteral(xn))):P.createIndexedAccessTypeNode(P.createTypeReferenceNode(Yr,Gt),P.createLiteralTypeNode(P.createStringLiteral(xn)))}let ii=$n(P.createIdentifier(xn),16777216);if(Gt&&av(ii,P.createNodeArray(Gt)),ii.symbol=Ft,$e>It){let Yr=xr(ur,$e-1,It);return Su(Yr)?P.createQualifiedName(Yr,ii):x.fail(\"Impossible construct - an export of an indexed access cannot be reachable\")}return ii}}function no(Qe,ve,vn){let _r=Xs(ve.enclosingDeclaration,Qe,788968,void 0,Qe,!1);return _r&&_r.flags&262144?_r!==vn.symbol:!1}function Eo(Qe,ve){var vn,_r;if(ve.flags&4&&ve.typeParameterNames){let li=ve.typeParameterNames.get(Hd(Qe));if(li)return li}let Xr=Yi(Qe.symbol,ve,788968,!0);if(!(Xr.kind&80))return P.createIdentifier(\"(Missing type parameter)\");if(ve.flags&4){let li=Xr.escapedText,ci=((vn=ve.typeParameterNamesByTextNextNameCount)==null?void 0:vn.get(li))||0,xr=li;for(;(_r=ve.typeParameterNamesByText)!=null&&_r.has(xr)||no(xr,ve,Qe);)ci++,xr=`${li}_${ci}`;if(xr!==li){let ur=BS(Xr);Xr=P.createIdentifier(xr),av(Xr,ur)}(ve.typeParameterNamesByTextNextNameCount||(ve.typeParameterNamesByTextNextNameCount=new Map)).set(li,ci),(ve.typeParameterNames||(ve.typeParameterNames=new Map)).set(Hd(Qe),Xr),(ve.typeParameterNamesByText||(ve.typeParameterNamesByText=new Set)).add(xr)}return Xr}function Yi(Qe,ve,vn,_r){let Xr=En(Qe,ve,vn);return _r&&Xr.length!==1&&!ve.encounteredError&&!(ve.flags&65536)&&(ve.encounteredError=!0),li(Xr,Xr.length-1);function li(ci,xr){let ur=Sn(ci,xr,ve),$e=ci[xr];xr===0&&(ve.flags|=16777216);let It=pE($e,ve);xr===0&&(ve.flags^=16777216);let Gt=$n(P.createIdentifier(It),16777216);return ur&&av(Gt,P.createNodeArray(ur)),Gt.symbol=$e,xr>0?P.createQualifiedName(li(ci,xr-1),Gt):Gt}}function ic(Qe,ve,vn){let _r=En(Qe,ve,vn);return Xr(_r,_r.length-1);function Xr(li,ci){let xr=Sn(li,ci,ve),ur=li[ci];ci===0&&(ve.flags|=16777216);let $e=pE(ur,ve);ci===0&&(ve.flags^=16777216);let It=$e.charCodeAt(0);if(gL(It)&&ct(ur.declarations,Rd))return P.createStringLiteral(Mn(ur,ve));if(ci===0||OV($e,oe)){let Gt=$n(P.createIdentifier($e),16777216);return xr&&av(Gt,P.createNodeArray(xr)),Gt.symbol=ur,ci>0?P.createPropertyAccessExpression(Xr(li,ci-1),Gt):Gt}else{It===91&&($e=$e.substring(1,$e.length-1),It=$e.charCodeAt(0));let Gt;if(gL(It)&&!(ur.flags&8)?Gt=P.createStringLiteral(Sf($e).replace(/\\\\./g,Ft=>Ft.substring(1)),It===39):\"\"+ +$e===$e&&(Gt=P.createNumericLiteral(+$e)),!Gt){let Ft=$n(P.createIdentifier($e),16777216);xr&&av(Ft,P.createNodeArray(xr)),Ft.symbol=ur,Gt=Ft}return P.createElementAccessExpression(Xr(li,ci-1),Gt)}}}function mf(Qe){let ve=mo(Qe);return ve?Pa(ve)?!!(Xi(ve.expression).flags&402653316):Rs(ve)?!!(Xi(ve.argumentExpression).flags&402653316):da(ve):!1}function ku(Qe){let ve=mo(Qe);return!!(ve&&da(ve)&&(ve.singleQuote||!xs(ve)&&Ui(Vl(ve,!1),\"'\")))}function bn(Qe,ve){let vn=!!yn(Qe.declarations)&&ji(Qe.declarations,mf),_r=!!yn(Qe.declarations)&&ji(Qe.declarations,ku),Xr=!!(Qe.flags&8192),li=Fn(Qe,ve,_r,vn,Xr);if(li)return li;let ci=Ii(Qe.escapedName);return vF(ci,Wa(F),_r,vn,Xr)}function Fn(Qe,ve,vn,_r,Xr){let li=Pi(Qe).nameType;if(li){if(li.flags&384){let ci=\"\"+li.value;return!Tp(ci,Wa(F))&&(_r||!Rh(ci))?P.createStringLiteral(ci,!!vn):Rh(ci)&&Ui(ci,\"-\")?P.createComputedPropertyName(P.createPrefixUnaryExpression(41,P.createNumericLiteral(-ci))):vF(ci,Wa(F),vn,_r,Xr)}if(li.flags&8192)return P.createComputedPropertyName(ic(li.symbol,ve,111551))}}function Bi(Qe){let ve={...Qe};return ve.typeParameterNames&&(ve.typeParameterNames=new Map(ve.typeParameterNames)),ve.typeParameterNamesByText&&(ve.typeParameterNamesByText=new Set(ve.typeParameterNamesByText)),ve.typeParameterSymbolList&&(ve.typeParameterSymbolList=new Set(ve.typeParameterSymbolList)),ve.tracker=new VU(ve,ve.tracker.inner,ve.tracker.moduleResolverHost),ve}function or(Qe,ve){return Qe.declarations&&Dr(Qe.declarations,vn=>!!Jc(vn)&&(!ve||!!Rn(vn,_r=>_r===ve)))}function po(Qe,ve){return!(br(ve)&4)||!Yp(Qe)||yn(Qe.typeArguments)>=ah(ve.target.typeParameters)}function za(Qe){for(;Fr(Qe).fakeScopeForSignatureDeclaration;)Qe=Qe.parent;return Qe}function es(Qe,ve,vn,_r,Xr,li){if(!Lt(ve)&&_r){let ur=or(vn,za(_r));if(ur&&!hs(ur)&&!Ip(ur)){let $e=Jc(ur);if(hd($e,ur,ve)&&po($e,ve)){let It=fl(Qe,$e,Xr,li);if(It)return It}}}let ci=Qe.flags;ve.flags&8192&&ve.symbol===vn&&(!Qe.enclosingDeclaration||ct(vn.declarations,ur=>Nn(ur)===Nn(Qe.enclosingDeclaration)))&&(Qe.flags|=1048576);let xr=u(ve,Qe);return Qe.flags=ci,xr}function hd(Qe,ve,vn){let _r=si(Qe);return _r===vn?!0:ao(ve)&&ve.questionToken?Wf(vn,524288)===_r:!1}function va(Qe,ve,vn,_r,Xr){if(!Lt(ve)&&Qe.enclosingDeclaration){let li=vn.declaration&&Tf(vn.declaration),ci=za(Qe.enclosingDeclaration);if(Rn(li,xr=>xr===ci)&&li){let xr=si(li);if((xr.flags&262144&&xr.isThisType?Gi(xr,vn.mapper):xr)===ve&&po(li,ve)){let $e=fl(Qe,li,_r,Xr);if($e)return $e}}}return u(ve,Qe)}function au(Qe,ve,vn){let _r=!1,Xr=dp(Qe);if(Jn(Qe)&&(DS(Xr)||Eh(Xr.parent)||$d(Xr.parent)&&k9(Xr.parent.left)&&DS(Xr.parent.right)))return _r=!0,{introducesError:_r,node:Qe};let li=sf(Qe),ci=Es(Xr,li,!0,!0);if(ci&&(vi(ci,ve.enclosingDeclaration,li,!1).accessibility!==0?_r=!0:(ve.tracker.trackSymbol(ci,ve.enclosingDeclaration,li),vn?.(ci)),Me(Qe))){let xr=Cs(ci),ur=ci.flags&262144?Eo(xr,ve):P.cloneNode(Qe);return ur.symbol=ci,{introducesError:_r,node:$n(mr(ur,Qe),16777216)}}return{introducesError:_r,node:Qe}}function fl(Qe,ve,vn,_r){i&&i.throwIfCancellationRequested&&i.throwIfCancellationRequested();let Xr=!1,li=Nn(ve),ci=He(ve,xr,xi);if(Xr)return;return ci===ve?Ze(P.cloneNode(ve),ve):ci;function xr(ur){if(oie(ur)||ur.kind===326)return P.createKeywordTypeNode(133);if(aie(ur))return P.createKeywordTypeNode(159);if(Bx(ur))return P.createUnionTypeNode([He(ur.type,xr,xi),P.createLiteralTypeNode(P.createNull())]);if(Rj(ur))return P.createUnionTypeNode([He(ur.type,xr,xi),P.createKeywordTypeNode(157)]);if(b6(ur))return He(ur.type,xr);if(E6(ur))return P.createArrayTypeNode(He(ur.type,xr,xi));if(YS(ur))return P.createTypeLiteralNode(nn(ur.jsDocPropertyTags,Ft=>{let Yt=Me(Ft.name)?Ft.name:Ft.name.right,xn=Fe(si(ur),Yt.escapedText),ii=xn&&Ft.typeExpression&&si(Ft.typeExpression.type)!==xn?u(xn,Qe):void 0;return P.createPropertySignature(void 0,Yt,Ft.isBracketed||Ft.typeExpression&&Rj(Ft.typeExpression.type)?P.createToken(58):void 0,ii||Ft.typeExpression&&He(Ft.typeExpression.type,xr,xi)||P.createKeywordTypeNode(133))}));if(Yp(ur)&&Me(ur.typeName)&&ur.typeName.escapedText===\"\")return mr(P.createKeywordTypeNode(133),ur);if((sv(ur)||Yp(ur))&&TW(ur))return P.createTypeLiteralNode([P.createIndexSignature(void 0,[P.createParameterDeclaration(void 0,void 0,\"x\",void 0,He(ur.typeArguments[0],xr,xi))],He(ur.typeArguments[1],xr,xi))]);if(Gx(ur))if(dx(ur)){let Ft;return P.createConstructorTypeNode(void 0,Dn(ur.typeParameters,xr,qs),Fi(ur.parameters,(Yt,xn)=>Yt.name&&Me(Yt.name)&&Yt.name.escapedText===\"new\"?(Ft=Yt.type,void 0):P.createParameterDeclaration(void 0,$e(Yt),It(Yt,xn),Yt.questionToken,He(Yt.type,xr,xi),void 0)),He(Ft||ur.type,xr,xi)||P.createKeywordTypeNode(133))}else return P.createFunctionTypeNode(Dn(ur.typeParameters,xr,qs),nn(ur.parameters,(Ft,Yt)=>P.createParameterDeclaration(void 0,$e(Ft),It(Ft,Yt),Ft.questionToken,He(Ft.type,xr,xi),void 0)),He(ur.type,xr,xi)||P.createKeywordTypeNode(133));if(Yp(ur)&&hL(ur)&&(!po(ur,si(ur))||ULe(ur)||tt===gD(ur,788968,!0)))return mr(u(si(ur),Qe),ur);if(ey(ur)){let Ft=Fr(ur).resolvedSymbol;return hL(ur)&&Ft&&(!ur.isTypeOf&&!(Ft.flags&788968)||!(yn(ur.typeArguments)>=ah(gr(Ft))))?mr(u(si(ur),Qe),ur):P.updateImportTypeNode(ur,P.updateLiteralTypeNode(ur.argument,Gt(ur,ur.argument.literal)),ur.attributes,ur.qualifier,Dn(ur.typeArguments,xr,xi),ur.isTypeOf)}if(Su(ur)||gl(ur)){let{introducesError:Ft,node:Yt}=au(ur,Qe,vn);if(Xr=Xr||Ft,Yt!==ur)return Yt}return li&&aI(ur)&&$a(li,ur.pos).line===$a(li,ur.end).line&&$n(ur,1),un(ur,xr,void 0);function $e(Ft){return Ft.dotDotDotToken||(Ft.type&&E6(Ft.type)?P.createToken(26):void 0)}function It(Ft,Yt){return Ft.name&&Me(Ft.name)&&Ft.name.escapedText===\"this\"?\"this\":$e(Ft)?\"args\":`arg${Yt}`}function Gt(Ft,Yt){if(_r){if(Qe.tracker&&Qe.tracker.moduleResolverHost){let xn=Uge(Ft);if(xn){let Yr={getCanonicalFileName:od(!!e.useCaseSensitiveFileNames),getCurrentDirectory:()=>Qe.tracker.moduleResolverHost.getCurrentDirectory(),getCommonSourceDirectory:()=>Qe.tracker.moduleResolverHost.getCommonSourceDirectory()},qi=wW(Yr,xn);return P.createStringLiteral(qi)}}}else if(Qe.tracker&&Qe.tracker.trackExternalModuleSymbolOfImportTypeNode){let xn=Tg(Yt,Yt,void 0);xn&&Qe.tracker.trackExternalModuleSymbolOfImportTypeNode(xn)}return Yt}}}function Ys(Qe,ve,vn){var _r;let Xr=qa(P.createPropertyDeclaration,174,!0),li=qa((Et,fr,$r,Lr)=>P.createPropertySignature(Et,fr,$r,Lr),173,!1),ci=ve.enclosingDeclaration,xr=[],ur=new Set,$e=[],It=ve;ve={...It,usedSymbolNames:new Set(It.usedSymbolNames),remappedSymbolNames:new Map,remappedSymbolReferences:new Map((_r=It.remappedSymbolReferences)==null?void 0:_r.entries()),tracker:void 0};let Gt={...It.tracker.inner,trackSymbol:(Et,fr,$r)=>{var Lr,Jr;if((Lr=ve.remappedSymbolNames)!=null&&Lr.has(na(Et)))return!1;if(vi(Et,fr,$r,!1).accessibility===0){let jo=Kt(Et,ve,$r);if(!(Et.flags&4)){let Io=jo[0],_s=Nn(It.enclosingDeclaration);ct(Io.declarations,Ja=>Nn(Ja)===_s)&&Ba(Io)}}else if((Jr=It.tracker.inner)!=null&&Jr.trackSymbol)return It.tracker.inner.trackSymbol(Et,fr,$r);return!1}};ve.tracker=new VU(ve,Gt,It.tracker.moduleResolverHost),hc(Qe,(Et,fr)=>{let $r=Ii(fr);pm(Et,$r)});let Ft=!vn,Yt=Qe.get(\"export=\");return Yt&&Qe.size>1&&Yt.flags&2098688&&(Qe=Vo(),Qe.set(\"export=\",Yt)),Ho(Qe),zr(xr);function xn(Et){return!!Et&&Et.kind===80}function ii(Et){return cl(Et)?Cr(nn(Et.declarationList.declarations,mo),xn):Cr([mo(Et)],xn)}function Yr(Et){let fr=Dr(Et,dl),$r=Tl(Et,Il),Lr=$r!==-1?Et[$r]:void 0;if(Lr&&fr&&fr.isExportEquals&&Me(fr.expression)&&Me(Lr.name)&&ar(Lr.name)===ar(fr.expression)&&Lr.body&&n_(Lr.body)){let Jr=Cr(Et,Io=>!!(Wd(Io)&32)),ka=Lr.name,jo=Lr.body;if(yn(Jr)&&(Lr=P.updateModuleDeclaration(Lr,Lr.modifiers,Lr.name,jo=P.updateModuleBlock(jo,P.createNodeArray([...Lr.body.statements,P.createExportDeclaration(void 0,!1,P.createNamedExports(nn(ta(Jr,Io=>ii(Io)),Io=>P.createExportSpecifier(!1,void 0,Io))),void 0)]))),Et=[...Et.slice(0,$r),Lr,...Et.slice($r+1)]),!Dr(Et,Io=>Io!==Lr&&zM(Io,ka))){xr=[];let Io=!ct(jo.statements,_s=>Wr(_s,32)||dl(_s)||xl(_s));an(jo.statements,_s=>{As(_s,Io?32:0)}),Et=[...Cr(Et,_s=>_s!==Lr&&_s!==fr),...xr]}}return Et}function qi(Et){let fr=Cr(Et,Lr=>xl(Lr)&&!Lr.moduleSpecifier&&!!Lr.exportClause&&$p(Lr.exportClause));yn(fr)>1&&(Et=[...Cr(Et,Jr=>!xl(Jr)||!!Jr.moduleSpecifier||!Jr.exportClause),P.createExportDeclaration(void 0,!1,P.createNamedExports(ta(fr,Jr=>Fo(Jr.exportClause,$p).elements)),void 0)]);let $r=Cr(Et,Lr=>xl(Lr)&&!!Lr.moduleSpecifier&&!!Lr.exportClause&&$p(Lr.exportClause));if(yn($r)>1){let Lr=GD($r,Jr=>da(Jr.moduleSpecifier)?\">\"+Jr.moduleSpecifier.text:\">\");if(Lr.length!==$r.length)for(let Jr of Lr)Jr.length>1&&(Et=[...Cr(Et,ka=>!Jr.includes(ka)),P.createExportDeclaration(void 0,!1,P.createNamedExports(ta(Jr,ka=>Fo(ka.exportClause,$p).elements)),Jr[0].moduleSpecifier)])}return Et}function fn(Et){let fr=Tl(Et,$r=>xl($r)&&!$r.moduleSpecifier&&!$r.attributes&&!!$r.exportClause&&$p($r.exportClause));if(fr>=0){let $r=Et[fr],Lr=Fi($r.exportClause.elements,Jr=>{if(!Jr.propertyName){let ka=uM(Et),jo=Cr(ka,Io=>zM(Et[Io],Jr.name));if(yn(jo)&&ji(jo,Io=>e2(Et[Io]))){for(let Io of jo)Et[Io]=Ai(Et[Io]);return}}return Jr});yn(Lr)?Et[fr]=P.updateExportDeclaration($r,$r.modifiers,$r.isTypeOnly,P.updateNamedExports($r.exportClause,Lr),$r.moduleSpecifier,$r.attributes):Bv(Et,fr)}return Et}function zr(Et){return Et=Yr(Et),Et=qi(Et),Et=fn(Et),ci&&(Li(ci)&&sp(ci)||Il(ci))&&(!ct(Et,YM)||!nte(Et)&&ct(Et,j8))&&Et.push(N2(P)),Et}function Ai(Et){let fr=(Wd(Et)|32)&-129;return P.replaceModifiers(Et,fr)}function Ji(Et){let fr=Wd(Et)&-33;return P.replaceModifiers(Et,fr)}function Ho(Et,fr,$r){fr||$e.push(new Map),Et.forEach(Lr=>{Yl(Lr,!1,!!$r)}),fr||($e[$e.length-1].forEach(Lr=>{Yl(Lr,!0,!!$r)}),$e.pop())}function Yl(Et,fr,$r){let Lr=Oa(Et);if(ur.has(na(Lr)))return;if(ur.add(na(Lr)),!fr||yn(Et.declarations)&&ct(Et.declarations,ka=>!!Rn(ka,jo=>jo===ci))){let ka=ve;ve=Bi(ve),al(Et,fr,$r),ve.reportedDiagnostic&&(It.reportedDiagnostic=ve.reportedDiagnostic),ve.trackedSymbols&&(ka.trackedSymbols?x.assert(ve.trackedSymbols===ka.trackedSymbols):ka.trackedSymbols=ve.trackedSymbols),ve=ka}}function al(Et,fr,$r,Lr=Et.escapedName){var Jr,ka,jo,Io,_s,Ja;let ya=Ii(Lr),nd=Lr===\"default\";if(fr&&!(ve.flags&131072)&&FA(ya)&&!nd){ve.encounteredError=!0;return}let rd=nd&&!!(Et.flags&-113||Et.flags&16&&yn(Xa(Yn(Et))))&&!(Et.flags&2097152),Jd=!rd&&!fr&&FA(ya)&&!nd;(rd||Jd)&&(fr=!0);let Sl=(fr?0:32)|(nd&&!rd?2048:0),id=Et.flags&1536&&Et.flags&7&&Lr!==\"export=\",Eu=id&&as(Yn(Et),Et);if((Et.flags&8208||Eu)&&cn(Yn(Et),Et,pm(Et,ya),Sl),Et.flags&524288&&Gm(Et,ya,Sl),Et.flags&98311&&Lr!==\"export=\"&&!(Et.flags&4194304)&&!(Et.flags&32)&&!(Et.flags&8192)&&!Eu)if($r)aa(Et)&&(Jd=!1,rd=!1);else{let kc=Yn(Et),rp=pm(Et,ya);if(kc.symbol&&kc.symbol!==Et&&kc.symbol.flags&16&&ct(kc.symbol.declarations,e0)&&((Jr=kc.symbol.members)!=null&&Jr.size||(ka=kc.symbol.exports)!=null&&ka.size))ve.remappedSymbolReferences||(ve.remappedSymbolReferences=new Map),ve.remappedSymbolReferences.set(na(kc.symbol),Et),al(kc.symbol,fr,$r,Lr),ve.remappedSymbolReferences.delete(na(kc.symbol));else if(!(Et.flags&16)&&as(kc,Et))cn(kc,Et,rp,Sl);else{let I1=Et.flags&2?KP(Et)?2:1:(jo=Et.parent)!=null&&jo.valueDeclaration&&Li((Io=Et.parent)==null?void 0:Io.valueDeclaration)?2:void 0,I_=rd||!(Et.flags&4)?rp:Vm(rp,Et),lb=Et.declarations&&Dr(Et.declarations,Vw=>yi(Vw));lb&&yc(lb.parent)&&lb.parent.declarations.length===1&&(lb=lb.parent.parent);let cb=(_s=Et.declarations)==null?void 0:_s.find(Er);if(cb&&Zn(cb.parent)&&Me(cb.parent.right)&&((Ja=kc.symbol)!=null&&Ja.valueDeclaration)&&Li(kc.symbol.valueDeclaration)){let Vw=rp===cb.parent.right.escapedText?void 0:cb.parent.right;As(P.createExportDeclaration(void 0,!1,P.createNamedExports([P.createExportSpecifier(!1,Vw,rp)])),0),ve.tracker.trackSymbol(kc.symbol,ve.enclosingDeclaration,111551)}else{let Vw=Ze(P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(I_,void 0,es(ve,kc,Et,ci,Ba,vn))],I1)),lb);As(Vw,I_!==rp?Sl&-33:Sl),I_!==rp&&!fr&&(As(P.createExportDeclaration(void 0,!1,P.createNamedExports([P.createExportSpecifier(!1,I_,rp)])),0),Jd=!1,rd=!1)}}}if(Et.flags&384&&pr(Et,ya,Sl),Et.flags&32&&(Et.flags&4&&Et.valueDeclaration&&Zn(Et.valueDeclaration.parent)&&Dc(Et.valueDeclaration.parent.right)?oi(Et,pm(Et,ya),Sl):Ko(Et,pm(Et,ya),Sl)),(Et.flags&1536&&(!id||Bt(Et))||Eu)&&kn(Et,ya,Sl),Et.flags&64&&!(Et.flags&32)&&qe(Et,ya,Sl),Et.flags&2097152&&oi(Et,pm(Et,ya),Sl),Et.flags&4&&Et.escapedName===\"export=\"&&aa(Et),Et.flags&8388608&&Et.declarations)for(let kc of Et.declarations){let rp=jd(kc,kc.moduleSpecifier);rp&&As(P.createExportDeclaration(void 0,kc.isTypeOnly,void 0,P.createStringLiteral(Mn(rp,ve))),0)}rd?As(P.createExportAssignment(void 0,!1,P.createIdentifier(pm(Et,ya))),0):Jd&&As(P.createExportDeclaration(void 0,!1,P.createNamedExports([P.createExportSpecifier(!1,pm(Et,ya),ya)])),0)}function Ba(Et){if(ct(Et.declarations,JE))return;x.assertIsDefined($e[$e.length-1]),Vm(Ii(Et.escapedName),Et);let fr=!!(Et.flags&2097152)&&!ct(Et.declarations,$r=>!!Rn($r,xl)||j_($r)||Nc($r)&&!U_($r.moduleReference));$e[fr?0:$e.length-1].set(na(Et),Et)}function oc(Et){return Li(Et)&&(sp(Et)||yf(Et))||sd(Et)&&!Jm(Et)}function As(Et,fr){if(Yf(Et)){let $r=0,Lr=ve.enclosingDeclaration&&(bf(ve.enclosingDeclaration)?Nn(ve.enclosingDeclaration):ve.enclosingDeclaration);fr&32&&Lr&&(oc(Lr)||Il(Lr))&&e2(Et)&&($r|=32),Ft&&!($r&32)&&(!Lr||!(Lr.flags&33554432))&&(kb(Et)||cl(Et)||Ql(Et)||Zl(Et)||Il(Et))&&($r|=128),fr&2048&&(Zl(Et)||Gd(Et)||Ql(Et))&&($r|=2048),$r&&(Et=P.replaceModifiers(Et,$r|Wd(Et)))}xr.push(Et)}function Gm(Et,fr,$r){var Lr;let Jr=ZMe(Et),ka=Pi(Et).typeParameters,jo=nn(ka,rd=>at(rd,ve)),Io=(Lr=Et.declarations)==null?void 0:Lr.find(bf),_s=VM(Io?Io.comment||Io.parent.comment:void 0),Ja=ve.flags;ve.flags|=8388608;let ya=ve.enclosingDeclaration;ve.enclosingDeclaration=Io;let nd=Io&&Io.typeExpression&&f0(Io.typeExpression)&&fl(ve,Io.typeExpression.type,Ba,vn)||u(Jr,ve);As(Lb(P.createTypeAliasDeclaration(void 0,pm(Et,fr),jo,nd),_s?[{kind:3,text:`*\n * `+_s.replace(/\\n/g,`\n * `)+`\n `,pos:-1,end:-1,hasTrailingNewLine:!0}]:[]),$r),ve.flags=Ja,ve.enclosingDeclaration=ya}function qe(Et,fr,$r){let Lr=cf(Et),Jr=gr(Et),ka=nn(Jr,Jd=>at(Jd,ve)),jo=ep(Lr),Io=yn(jo)?Zo(jo):void 0,_s=ta(Xa(Lr),Jd=>ac(Jd,Io)),Ja=uh(0,Lr,Io,179),ya=uh(1,Lr,Io,180),nd=Bg(Lr,Io),rd=yn(jo)?[P.createHeritageClause(96,Fi(jo,Jd=>mA(Jd,111551)))]:void 0;As(P.createInterfaceDeclaration(void 0,pm(Et,fr),ka,rd,[...nd,...ya,...Ja,..._s]),$r)}function ut(Et){let fr=bo(Qu(Et).values()),$r=Oa(Et);if($r!==Et){let Lr=new Set(fr);for(let Jr of Qu($r).values())Qc(yl(Jr))&111551||Lr.add(Jr);fr=bo(Lr)}return Cr(fr,Lr=>Si(Lr)&&Tp(Lr.escapedName,99))}function Bt(Et){return ji(ut(Et),fr=>!(Qc(yl(fr))&111551))}function kn(Et,fr,$r){let Lr=ut(Et),Jr=fM(Lr,Io=>Io.parent&&Io.parent===Et?\"real\":\"merged\"),ka=Jr.get(\"real\")||je,jo=Jr.get(\"merged\")||je;if(yn(ka)){let Io=pm(Et,fr);Rr(ka,Io,$r,!!(Et.flags&67108880))}if(yn(jo)){let Io=Nn(ve.enclosingDeclaration),_s=pm(Et,fr),Ja=P.createModuleBlock([P.createExportDeclaration(void 0,!1,P.createNamedExports(Fi(Cr(jo,ya=>ya.escapedName!==\"export=\"),ya=>{var nd,rd;let Jd=Ii(ya.escapedName),Sl=pm(ya,Jd),id=ya.declarations&&im(ya);if(Io&&(id?Io!==Nn(id):!ct(ya.declarations,rp=>Nn(rp)===Io))){(rd=(nd=ve.tracker)==null?void 0:nd.reportNonlocalAugmentation)==null||rd.call(nd,Io,Et,ya);return}let Eu=id&&fp(id,!0);Ba(Eu||ya);let kc=Eu?pm(Eu,Ii(Eu.escapedName)):Sl;return P.createExportSpecifier(!1,Jd===kc?void 0:kc,Jd)})))]);As(P.createModuleDeclaration(void 0,P.createIdentifier(_s),Ja,32),0)}}function pr(Et,fr,$r){As(P.createEnumDeclaration(P.createModifiersFromModifierFlags(uge(Et)?4096:0),pm(Et,fr),nn(Cr(Xa(Yn(Et)),Lr=>!!(Lr.flags&8)),Lr=>{let Jr=Lr.declarations&&Lr.declarations[0]&&p0(Lr.declarations[0])?Gge(Lr.declarations[0]):void 0;return P.createEnumMember(Ii(Lr.escapedName),Jr===void 0?void 0:typeof Jr==\"string\"?P.createStringLiteral(Jr):P.createNumericLiteral(Jr))})),$r)}function cn(Et,fr,$r,Lr){let Jr=Co(Et,0);for(let ka of Jr){let jo=me(ka,262,ve,{name:P.createIdentifier($r),privateSymbolVisitor:Ba,bundledImports:vn});As(Ze(jo,rr(ka)),Lr)}if(!(fr.flags&1536&&fr.exports&&fr.exports.size)){let ka=Cr(Xa(Et),Si);Rr(ka,$r,Lr,!0)}}function rr(Et){if(Et.declaration&&Et.declaration.parent){if(Zn(Et.declaration.parent)&&hl(Et.declaration.parent)===5)return Et.declaration.parent;if(yi(Et.declaration.parent)&&Et.declaration.parent.parent)return Et.declaration.parent.parent}return Et.declaration}function Rr(Et,fr,$r,Lr){if(yn(Et)){let ka=fM(Et,Sl=>!yn(Sl.declarations)||ct(Sl.declarations,id=>Nn(id)===Nn(ve.enclosingDeclaration))?\"local\":\"remote\").get(\"local\")||je,jo=H_.createModuleDeclaration(void 0,P.createIdentifier(fr),P.createModuleBlock([]),32);Aa(jo,ci),jo.locals=Vo(Et),jo.symbol=Et[0].parent;let Io=xr;xr=[];let _s=Ft;Ft=!1;let Ja={...ve,enclosingDeclaration:jo},ya=ve;ve=Ja,Ho(Vo(ka),Lr,!0),ve=ya,Ft=_s;let nd=xr;xr=Io;let rd=nn(nd,Sl=>dl(Sl)&&!Sl.isExportEquals&&Me(Sl.expression)?P.createExportDeclaration(void 0,!1,P.createNamedExports([P.createExportSpecifier(!1,Sl.expression,P.createIdentifier(\"default\"))])):Sl),Jd=ji(rd,Sl=>Wr(Sl,32))?nn(rd,Ji):rd;jo=P.updateModuleDeclaration(jo,jo.modifiers,jo.name,P.createModuleBlock(Jd)),As(jo,$r)}}function Si(Et){return!!(Et.flags&2887656)||!(Et.flags&4194304||Et.escapedName===\"prototype\"||Et.valueDeclaration&&zo(Et.valueDeclaration)&&Kr(Et.valueDeclaration.parent))}function yo(Et){let fr=Fi(Et,$r=>{let Lr=ve.enclosingDeclaration;ve.enclosingDeclaration=$r;let Jr=$r.expression;if(gl(Jr)){if(Me(Jr)&&ar(Jr)===\"\")return ka(void 0);let jo;if({introducesError:jo,node:Jr}=au(Jr,ve,Ba),jo)return ka(void 0)}return ka(P.createExpressionWithTypeArguments(Jr,nn($r.typeArguments,jo=>fl(ve,jo,Ba,vn)||u(si(jo),ve))));function ka(jo){return ve.enclosingDeclaration=Lr,jo}});if(fr.length===Et.length)return fr}function Ko(Et,fr,$r){var Lr,Jr;let ka=(Lr=Et.declarations)==null?void 0:Lr.find(Kr),jo=ve.enclosingDeclaration;ve.enclosingDeclaration=ka||jo;let Io=gr(Et),_s=nn(Io,x_=>at(x_,ve)),Ja=hp(cf(Et)),ya=ep(Ja),nd=ka&&fx(ka),rd=nd&&yo(nd)||Fi(Lm(Ja),sM),Jd=Yn(Et),Sl=!!((Jr=Jd.symbol)!=null&&Jr.valueDeclaration)&&Kr(Jd.symbol.valueDeclaration),id=Sl?Zu(Jd):z,Eu=[...yn(ya)?[P.createHeritageClause(96,nn(ya,x_=>fA(x_,id,fr)))]:[],...yn(rd)?[P.createHeritageClause(119,rd)]:[]],kc=Idt(Ja,ya,Xa(Ja)),rp=Cr(kc,x_=>{let lM=x_.valueDeclaration;return!!lM&&!(Ld(lM)&&Ci(lM.name))}),I_=ct(kc,x_=>{let lM=x_.valueDeclaration;return!!lM&&Ld(lM)&&Ci(lM.name)})?[P.createPropertyDeclaration(void 0,P.createPrivateIdentifier(\"#private\"),void 0,void 0,void 0)]:je,lb=ta(rp,x_=>Xr(x_,!1,ya[0])),cb=ta(Cr(Xa(Jd),x_=>!(x_.flags&4194304)&&x_.escapedName!==\"prototype\"&&!Si(x_)),x_=>Xr(x_,!0,id)),Vpt=!Sl&&!!Et.valueDeclaration&&Jn(Et.valueDeclaration)&&!ct(Co(Jd,1))?[P.createConstructorDeclaration(P.createModifiersFromModifierFlags(2),[],void 0)]:uh(1,Jd,id,176),jpt=Bg(Ja,ya[0]);ve.enclosingDeclaration=jo,As(Ze(P.createClassDeclaration(void 0,fr,_s,Eu,[...jpt,...cb,...Vpt,...lb,...I_]),Et.declarations&&Cr(Et.declarations,x_=>Zl(x_)||Dc(x_))[0]),$r)}function Xo(Et){return ml(Et,fr=>{if(Iu(fr)||Ed(fr))return ar(fr.propertyName||fr.name);if(Zn(fr)||dl(fr)){let $r=dl(fr)?fr.expression:fr.right;if(Er($r))return ar($r.name)}if(Py(fr)){let $r=mo(fr);if($r&&Me($r))return ar($r)}})}function oi(Et,fr,$r){var Lr,Jr,ka,jo,Io,_s;let Ja=im(Et);if(!Ja)return x.fail();let ya=Oa(fp(Ja,!0));if(!ya)return;let nd=pC(ya)&&Xo(Et.declarations)||Ii(ya.escapedName);nd===\"export=\"&&q&&(nd=\"default\");let rd=pm(ya,nd);switch(Ba(ya),Ja.kind){case 208:if(((Jr=(Lr=Ja.parent)==null?void 0:Lr.parent)==null?void 0:Jr.kind)===260){let id=Mn(ya.parent||ya,ve),{propertyName:Eu}=Ja;As(P.createImportDeclaration(void 0,P.createImportClause(!1,void 0,P.createNamedImports([P.createImportSpecifier(!1,Eu&&Me(Eu)?P.createIdentifier(ar(Eu)):void 0,P.createIdentifier(fr))])),P.createStringLiteral(id),void 0),0);break}x.failBadSyntaxKind(((ka=Ja.parent)==null?void 0:ka.parent)||Ja,\"Unhandled binding element grandparent kind in declaration serialization\");break;case 304:((Io=(jo=Ja.parent)==null?void 0:jo.parent)==null?void 0:Io.kind)===226&&go(Ii(Et.escapedName),rd);break;case 260:if(Er(Ja.initializer)){let id=Ja.initializer,Eu=P.createUniqueName(fr),kc=Mn(ya.parent||ya,ve);As(P.createImportEqualsDeclaration(void 0,!1,Eu,P.createExternalModuleReference(P.createStringLiteral(kc))),0),As(P.createImportEqualsDeclaration(void 0,!1,P.createIdentifier(fr),P.createQualifiedName(Eu,id.name)),$r);break}case 271:if(ya.escapedName===\"export=\"&&ct(ya.declarations,id=>Li(id)&&yf(id))){aa(Et);break}let Jd=!(ya.flags&512)&&!yi(Ja);As(P.createImportEqualsDeclaration(void 0,!1,P.createIdentifier(fr),Jd?Yi(ya,ve,-1,!1):P.createExternalModuleReference(P.createStringLiteral(Mn(ya,ve)))),Jd?$r:0);break;case 270:As(P.createNamespaceExportDeclaration(ar(Ja.name)),0);break;case 273:{let id=Mn(ya.parent||ya,ve),Eu=vn?P.createStringLiteral(id):Ja.parent.moduleSpecifier;As(P.createImportDeclaration(void 0,P.createImportClause(!1,P.createIdentifier(fr),void 0),Eu,Ja.parent.attributes),0);break}case 274:{let id=Mn(ya.parent||ya,ve),Eu=vn?P.createStringLiteral(id):Ja.parent.parent.moduleSpecifier;As(P.createImportDeclaration(void 0,P.createImportClause(!1,void 0,P.createNamespaceImport(P.createIdentifier(fr))),Eu,Ja.parent.attributes),0);break}case 280:As(P.createExportDeclaration(void 0,!1,P.createNamespaceExport(P.createIdentifier(fr)),P.createStringLiteral(Mn(ya,ve))),0);break;case 276:{let id=Mn(ya.parent||ya,ve),Eu=vn?P.createStringLiteral(id):Ja.parent.parent.parent.moduleSpecifier;As(P.createImportDeclaration(void 0,P.createImportClause(!1,void 0,P.createNamedImports([P.createImportSpecifier(!1,fr!==nd?P.createIdentifier(nd):void 0,P.createIdentifier(fr))])),Eu,Ja.parent.parent.parent.attributes),0);break}case 281:let Sl=Ja.parent.parent.moduleSpecifier;Sl&&((_s=Ja.propertyName)==null?void 0:_s.escapedText)===\"default\"&&(nd=\"default\"),go(Ii(Et.escapedName),Sl?nd:rd,Sl&&Ga(Sl)?P.createStringLiteral(Sl.text):void 0);break;case 277:aa(Et);break;case 226:case 211:case 212:Et.escapedName===\"default\"||Et.escapedName===\"export=\"?aa(Et):go(fr,rd);break;default:return x.failBadSyntaxKind(Ja,\"Unhandled alias declaration kind in symbol serializer!\")}}function go(Et,fr,$r){As(P.createExportDeclaration(void 0,!1,P.createNamedExports([P.createExportSpecifier(!1,Et!==fr?fr:void 0,Et)]),$r),0)}function aa(Et){var fr;if(Et.flags&4194304)return!1;let $r=Ii(Et.escapedName),Lr=$r===\"export=\",ka=Lr||$r===\"default\",jo=Et.declarations&&im(Et),Io=jo&&fp(jo,!0);if(Io&&yn(Io.declarations)&&ct(Io.declarations,_s=>Nn(_s)===Nn(ci))){let _s=jo&&(dl(jo)||Zn(jo)?j9(jo):ine(jo)),Ja=_s&&gl(_s)?zdt(_s):void 0,ya=Ja&&Es(Ja,-1,!0,!0,ci);(ya||Io)&&Ba(ya||Io);let nd=ve.tracker.disableTrackSymbol;if(ve.tracker.disableTrackSymbol=!0,ka)xr.push(P.createExportAssignment(void 0,Lr,ic(Io,ve,-1)));else if(Ja===_s&&Ja)go($r,ar(Ja));else if(_s&&Dc(_s))go($r,pm(Io,$s(Io)));else{let rd=Vm($r,Et);As(P.createImportEqualsDeclaration(void 0,!1,P.createIdentifier(rd),Yi(Io,ve,-1,!1)),0),go($r,rd)}return ve.tracker.disableTrackSymbol=nd,!0}else{let _s=Vm($r,Et),Ja=gp(Yn(Oa(Et)));if(as(Ja,Et))cn(Ja,Et,_s,ka?0:32);else{let ya=((fr=ve.enclosingDeclaration)==null?void 0:fr.kind)===267&&(!(Et.flags&98304)||Et.flags&65536)?1:2,nd=P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(_s,void 0,es(ve,Ja,Et,ci,Ba,vn))],ya));As(nd,Io&&Io.flags&4&&Io.escapedName===\"export=\"?128:$r===_s?32:0)}return ka?(xr.push(P.createExportAssignment(void 0,Lr,P.createIdentifier(_s))),!0):$r!==_s?(go($r,_s),!0):!1}}function as(Et,fr){let $r=Nn(ve.enclosingDeclaration);return br(Et)&48&&!yn(Ud(Et))&&!H0(Et)&&!!(yn(Cr(Xa(Et),Si))||yn(Co(Et,0)))&&!yn(Co(Et,1))&&!or(fr,ci)&&!(Et.symbol&&ct(Et.symbol.declarations,Lr=>Nn(Lr)!==$r))&&!ct(Xa(Et),Lr=>nw(Lr.escapedName))&&!ct(Xa(Et),Lr=>ct(Lr.declarations,Jr=>Nn(Jr)!==$r))&&ji(Xa(Et),Lr=>Tp($s(Lr),oe)?Lr.flags&98304?qy(Lr)===q0(Lr):!0:!1)}function qa(Et,fr,$r){return function(Jr,ka,jo){var Io,_s,Ja,ya,nd;let rd=Kp(Jr),Jd=!!(rd&2);if(ka&&Jr.flags&2887656)return[];if(Jr.flags&4194304||Jr.escapedName===\"constructor\"||jo&&Qo(jo,Jr.escapedName)&&Bm(Qo(jo,Jr.escapedName))===Bm(Jr)&&(Jr.flags&16777216)===(Qo(jo,Jr.escapedName).flags&16777216)&&kg(Yn(Jr),Fe(jo,Jr.escapedName)))return[];let Sl=rd&-1025|(ka?256:0),id=bn(Jr,ve),Eu=(Io=Jr.declarations)==null?void 0:Io.find(hm(xo,Kv,yi,Gu,Zn,Er));if(Jr.flags&98304&&$r){let kc=[];if(Jr.flags&65536){let rp=Jr.declarations&&an(Jr.declarations,I_=>{if(I_.kind===178)return I_;if(Bo(I_)&&CS(I_))return an(I_.arguments[2].properties,lb=>{let cb=mo(lb);if(cb&&Me(cb)&&ar(cb)===\"set\")return lb})});x.assert(!!rp);let I1=hs(rp)?kf(rp).parameters[0]:void 0;kc.push(Ze(P.createSetAccessorDeclaration(P.createModifiersFromModifierFlags(Sl),id,[P.createParameterDeclaration(void 0,void 0,I1?Xt(I1,ht(I1),ve):\"value\",void 0,Jd?void 0:es(ve,Yn(Jr),Jr,ci,Ba,vn))],void 0),((_s=Jr.declarations)==null?void 0:_s.find($g))||Eu))}if(Jr.flags&32768){let rp=rd&2;kc.push(Ze(P.createGetAccessorDeclaration(P.createModifiersFromModifierFlags(Sl),id,[],rp?void 0:es(ve,Yn(Jr),Jr,ci,Ba,vn),void 0),((Ja=Jr.declarations)==null?void 0:Ja.find(Yv))||Eu))}return kc}else if(Jr.flags&98311)return Ze(Et(P.createModifiersFromModifierFlags((Bm(Jr)?8:0)|Sl),id,Jr.flags&16777216?P.createToken(58):void 0,Jd?void 0:es(ve,q0(Jr),Jr,ci,Ba,vn),void 0),((ya=Jr.declarations)==null?void 0:ya.find(hm(xo,yi)))||Eu);if(Jr.flags&8208){let kc=Yn(Jr),rp=Co(kc,0);if(Sl&2)return Ze(Et(P.createModifiersFromModifierFlags((Bm(Jr)?8:0)|Sl),id,Jr.flags&16777216?P.createToken(58):void 0,void 0,void 0),((nd=Jr.declarations)==null?void 0:nd.find(hs))||rp[0]&&rp[0].declaration||Jr.declarations&&Jr.declarations[0]);let I1=[];for(let I_ of rp){let lb=me(I_,fr,ve,{name:id,questionToken:Jr.flags&16777216?P.createToken(58):void 0,modifiers:Sl?P.createModifiersFromModifierFlags(Sl):void 0}),cb=I_.declaration&&AL(I_.declaration.parent)?I_.declaration.parent:I_.declaration;I1.push(Ze(lb,cb))}return I1}return x.fail(`Unhandled class member kind! ${Jr.__debugFlags||Jr.flags}`)}}function ac(Et,fr){return li(Et,!1,fr)}function uh(Et,fr,$r,Lr){let Jr=Co(fr,Et);if(Et===1){if(!$r&&ji(Jr,Io=>yn(Io.parameters)===0))return[];if($r){let Io=Co($r,1);if(!yn(Io)&&ji(Jr,_s=>yn(_s.parameters)===0))return[];if(Io.length===Jr.length){let _s=!1;for(let Ja=0;Ja<Io.length;Ja++)if(!$7(Jr[Ja],Io[Ja],!1,!1,!0,_w)){_s=!0;break}if(!_s)return[]}}let jo=0;for(let Io of Jr)Io.declaration&&(jo|=BA(Io.declaration,6));if(jo)return[Ze(P.createConstructorDeclaration(P.createModifiersFromModifierFlags(jo),[],void 0),Jr[0].declaration)]}let ka=[];for(let jo of Jr){let Io=me(jo,Lr,ve);ka.push(Ze(Io,jo.declaration))}return ka}function Bg(Et,fr){let $r=[];for(let Lr of Ud(Et)){if(fr){let Jr=Uh(fr,Lr.keyType);if(Jr&&kg(Lr.type,Jr.type))continue}$r.push(Q(Lr,ve,void 0))}return $r}function fA(Et,fr,$r){let Lr=mA(Et,111551);if(Lr)return Lr;let Jr=Vm(`${$r}_base`),ka=P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(Jr,void 0,u(fr,ve))],2));return As(ka,0),P.createExpressionWithTypeArguments(P.createIdentifier(Jr),void 0)}function mA(Et,fr){let $r,Lr;if(Et.target&&Ht(Et.target.symbol,ci,fr)?($r=nn(Ts(Et),Jr=>u(Jr,ve)),Lr=ic(Et.target.symbol,ve,788968)):Et.symbol&&Ht(Et.symbol,ci,fr)&&(Lr=ic(Et.symbol,ve,788968)),Lr)return P.createExpressionWithTypeArguments(Lr,$r)}function sM(Et){let fr=mA(Et,788968);if(fr)return fr;if(Et.symbol)return P.createExpressionWithTypeArguments(ic(Et.symbol,ve,788968),void 0)}function Vm(Et,fr){var $r,Lr;let Jr=fr?na(fr):void 0;if(Jr&&ve.remappedSymbolNames.has(Jr))return ve.remappedSymbolNames.get(Jr);fr&&(Et=A1(fr,Et));let ka=0,jo=Et;for(;($r=ve.usedSymbolNames)!=null&&$r.has(Et);)ka++,Et=`${jo}_${ka}`;return(Lr=ve.usedSymbolNames)==null||Lr.add(Et),Jr&&ve.remappedSymbolNames.set(Jr,Et),Et}function A1(Et,fr){if(fr===\"default\"||fr===\"__class\"||fr===\"__function\"){let $r=ve.flags;ve.flags|=16777216;let Lr=pE(Et,ve);ve.flags=$r,fr=Lr.length>0&&gL(Lr.charCodeAt(0))?Sf(Lr):Lr}return fr===\"default\"?fr=\"_default\":fr===\"export=\"&&(fr=\"_exports\"),fr=Tp(fr,oe)&&!FA(fr)?fr:\"_\"+fr.replace(/[^a-zA-Z0-9]/g,\"_\"),fr}function pm(Et,fr){let $r=na(Et);return ve.remappedSymbolNames.has($r)?ve.remappedSymbolNames.get($r):(fr=A1(Et,fr),ve.remappedSymbolNames.set($r,fr),fr)}}}function nh(n,a,c=16384,u){return u?_(u).getText():dC(_);function _(g){let T=P.createTypePredicateNode(n.kind===2||n.kind===3?P.createToken(131):void 0,n.kind===1||n.kind===3?P.createIdentifier(n.parameterName):P.createThisTypeNode(),n.type&&ft.typeToTypeNode(n.type,a,GT(c)|70221824|512)),N=y0(),O=a&&Nn(a);return N.writeNode(4,T,O,g),g}}function aD(n){let a=[],c=0;for(let u=0;u<n.length;u++){let _=n[u];if(c|=_.flags,!(_.flags&98304)){if(_.flags&1568){let g=_.flags&512?ti:M$(_);if(g.flags&1048576){let T=g.types.length;if(u+T<=n.length&&qd(n[u+T-1])===qd(g.types[T-1])){a.push(g),u+=T-1;continue}}}a.push(_)}}return c&65536&&a.push(se),c&32768&&a.push(Re),a||n}function VT(n){return n===2?\"private\":n===4?\"protected\":\"public\"}function S7(n){if(n.symbol&&n.symbol.flags&2048&&n.symbol.declarations){let a=PL(n.symbol.declarations[0].parent);if(Xf(a))return dr(a)}}function Gy(n){return n&&n.parent&&n.parent.kind===268&&zE(n.parent.parent)}function QO(n){return n.kind===312||sd(n)}function ZO(n,a){let c=Pi(n).nameType;if(c){if(c.flags&384){let u=\"\"+c.value;return!Tp(u,Wa(F))&&!Rh(u)?`\"${Th(u,34)}\"`:Rh(u)&&Ui(u,\"-\")?`[${u}]`:u}if(c.flags&8192)return`[${pE(c.symbol,a)}]`}}function pE(n,a){var c;if((c=a?.remappedSymbolReferences)!=null&&c.has(na(n))&&(n=a.remappedSymbolReferences.get(na(n))),a&&n.escapedName===\"default\"&&!(a.flags&16384)&&(!(a.flags&16777216)||!n.declarations||a.enclosingDeclaration&&Rn(n.declarations[0],QO)!==Rn(a.enclosingDeclaration,QO)))return\"default\";if(n.declarations&&n.declarations.length){let _=ml(n.declarations,T=>mo(T)?T:void 0),g=_&&mo(_);if(_&&g){if(Bo(_)&&CS(_))return $s(n);if(Pa(g)&&!(tl(n)&4096)){let T=Pi(n).nameType;if(T&&T.flags&384){let N=ZO(n,a);if(N!==void 0)return N}}return is(g)}if(_||(_=n.declarations[0]),_.parent&&_.parent.kind===260)return is(_.parent.name);switch(_.kind){case 231:case 218:case 219:return a&&!a.encounteredError&&!(a.flags&131072)&&(a.encounteredError=!0),_.kind===231?\"(Anonymous class)\":\"(Anonymous function)\"}}let u=ZO(n,a);return u!==void 0?u:$s(n)}function Pm(n){if(n){let c=Fr(n);return c.isVisible===void 0&&(c.isVisible=!!a()),c.isVisible}return!1;function a(){switch(n.kind){case 345:case 353:case 347:return!!(n.parent&&n.parent.parent&&n.parent.parent.parent&&Li(n.parent.parent.parent));case 208:return Pm(n.parent.parent);case 260:if(ko(n.name)&&!n.name.elements.length)return!1;case 267:case 263:case 264:case 265:case 262:case 266:case 271:if(zE(n))return!0;let c=J(n);return!(AZ(n)&32)&&!(n.kind!==271&&c.kind!==312&&c.flags&33554432)?$_(c):Pm(c);case 172:case 171:case 177:case 178:case 174:case 173:if(zu(n,6))return!1;case 176:case 180:case 179:case 181:case 169:case 268:case 184:case 185:case 187:case 183:case 188:case 189:case 192:case 193:case 196:case 202:return Pm(n.parent);case 273:case 274:case 276:return!1;case 168:case 312:case 270:return!0;case 277:return!1;default:return!1}}}function RP(n,a){let c;n.parent&&n.parent.kind===277?c=Xs(n,n.escapedText,2998271,void 0,n,!1):n.parent.kind===281&&(c=aE(n.parent,2998271));let u,_;return c&&(_=new Set,_.add(na(c)),g(c.declarations)),u;function g(T){an(T,N=>{let O=RT(N)||N;if(a?Fr(N).isVisible=!0:(u=u||[],jp(u,O)),ox(N)){let B=N.moduleReference,Q=dp(B),me=Xs(N,Q.escapedText,901119,void 0,void 0,!1);me&&_&&db(_,na(me))&&g(me.declarations)}})}}function rh(n,a){let c=u1(n,a);if(c>=0){let{length:u}=Vc;for(let _=c;_<u;_++)gg[_]=!1;return!1}return Vc.push(n),gg.push(!0),$b.push(a),!0}function u1(n,a){for(let c=Vc.length-1;c>=UI;c--){if(ew(Vc[c],$b[c]))return-1;if(Vc[c]===n&&$b[c]===a)return c}return-1}function ew(n,a){switch(a){case 0:return!!Pi(n).type;case 5:return!!Fr(n).resolvedEnumType;case 2:return!!Pi(n).declaredType;case 1:return!!n.resolvedBaseConstructorType;case 3:return!!n.resolvedReturnType;case 4:return!!n.immediateBaseConstraint;case 6:return!!n.resolvedTypeArguments;case 7:return!!n.baseTypesResolved;case 8:return!!Pi(n).writeType;case 9:return Fr(n).parameterInitializerContainsUndefined!==void 0}return x.assertNever(a)}function g_(){return Vc.pop(),$b.pop(),gg.pop()}function J(n){return Rn(Ym(n),a=>{switch(a.kind){case 260:case 261:case 276:case 275:case 274:case 273:return!1;default:return!0}}).parent}function ye(n){let a=Cs(nu(n));return a.typeParameters?Cv(a,nn(a.typeParameters,c=>z)):a}function Fe(n,a){let c=Qo(n,a);return c?Yn(c):void 0}function mt(n,a){var c;let u;return Fe(n,a)||(u=(c=m1(n,a))==null?void 0:c.type)&&Mu(u,!0,!0)}function vt(n){return n&&(n.flags&1)!==0}function Lt(n){return n===it||!!(n.flags&1&&n.aliasSymbol)}function Sr(n,a){if(a!==0)return jT(n,!1,a);let c=dr(n);return c&&Pi(c).type||jT(n,!1,a)}function bi(n,a,c){if(n=Bl(n,O=>!(O.flags&98304)),n.flags&131072)return ua;if(n.flags&1048576)return Gs(n,O=>bi(O,a,c));let u=Br(nn(a,Pv)),_=[],g=[];for(let O of Xa(n)){let B=vD(O,8576);!ea(B,u)&&!(Kp(O)&6)&&Y$(O)?_.push(O):g.push(B)}if(QT(n)||ZT(u)){if(g.length&&(u=Br([u,...g])),u.flags&131072)return n;let O=Jtt();return O?hD(O,[n,u]):it}let T=Vo();for(let O of _)T.set(O.escapedName,A_e(O,!1));let N=cs(c,T,je,je,Ud(n));return N.objectFlags|=4194304,N}function fi(n){return!!(n.flags&465829888)&&ol(md(n)||Zt,32768)}function Zr(n){let a=dm(n,fi)?Gs(n,c=>c.flags&465829888?Pg(c):c):n;return Wf(a,524288)}function Mi(n,a){let c=Ua(n);return c?ab(c,a):a}function Ua(n){let a=os(n);if(a&&DL(a)&&a.flowNode){let c=Ma(n);if(c){let u=Ze(H_.createStringLiteral(c),n),_=Tu(a)?a:H_.createParenthesizedExpression(a),g=Ze(H_.createElementAccessExpression(_,u),n);return Aa(u,g),Aa(g,n),_!==a&&Aa(_,g),g.flowNode=a.flowNode,g}}}function os(n){let a=n.parent.parent;switch(a.kind){case 208:case 303:return Ua(a);case 209:return Ua(n.parent);case 260:return a.initializer;case 226:return a.right}}function Ma(n){let a=n.parent;return n.kind===208&&a.kind===206?lf(n.propertyName||n.name):n.kind===303||n.kind===304?lf(n.name):\"\"+a.elements.indexOf(n)}function lf(n){let a=Pv(n);return a.flags&384?\"\"+a.value:void 0}function v_(n){let a=n.dotDotDotToken?32:0,c=Sr(n.parent.parent,a);return c&&Vh(n,c,!1)}function Vh(n,a,c){if(vt(a))return a;let u=n.parent;H&&n.flags&33554432&&JE(n)?a=Wg(a):H&&u.parent.initializer&&!wf(Oke(u.parent.initializer),65536)&&(a=Wf(a,524288));let _;if(u.kind===206)if(n.dotDotDotToken){if(a=wm(a),a.flags&2||!p5(a))return we(n,f.Rest_types_may_only_be_created_from_object_types),it;let g=[];for(let T of u.elements)T.dotDotDotToken||g.push(T.propertyName||T.name);_=bi(a,g,n.symbol)}else{let g=n.propertyName||n.name,T=Pv(g),N=tp(a,T,32,g);_=Mi(n,N)}else{let g=Ov(65|(n.dotDotDotToken?0:128),a,Re,u),T=u.elements.indexOf(n);if(n.dotDotDotToken){let N=Gs(a,O=>O.flags&58982400?Pg(O):O);_=Lu(N,ga)?Gs(N,O=>FP(O,T)):_d(g)}else if(Lv(a)){let N=Wm(T),O=32|(c||XP(n)?16:0),B=Qy(a,N,O,n.name)||it;_=Mi(n,B)}else _=g}return n.initializer?Jc(B1(n))?H&&!wf($P(n,0),16777216)?Zr(_):_:tZ(n,Br([Zr(_),$P(n,0)],2)):_}function xg(n){let a=bb(n);if(a)return si(a)}function Rg(n){let a=Ka(n,!0);return a.kind===106||a.kind===80&&cm(a)===Le}function Vy(n){let a=Ka(n,!0);return a.kind===209&&a.elements.length===0}function Mu(n,a=!1,c=!0){return H&&c?ib(n,a):n}function jT(n,a,c){if(yi(n)&&n.parent.parent.kind===249){let T=y_(Fhe(Xi(n.parent.parent.expression,c)));return T.flags&4456448?v2e(T):Ie}if(yi(n)&&n.parent.parent.kind===250){let T=n.parent.parent;return F5(T)||z}if(ko(n.parent))return v_(n);let u=xo(n)&&!$m(n)||Gu(n)||lie(n),_=a&&$C(n),g=Wi(n);if(f9(n))return g?vt(g)||g===Zt?g:it:pe?Zt:z;if(g)return Mu(g,u,_);if((ce||Jn(n))&&yi(n)&&!ko(n.name)&&!(AZ(n)&32)&&!(n.flags&33554432)){if(!(lS(n)&6)&&(!n.initializer||Rg(n.initializer)))return Je;if(n.initializer&&Vy(n.initializer))return Sc}if(ao(n)){let T=n.parent;if(T.kind===178&&pD(T)){let B=Vs(dr(n.parent),177);if(B){let Q=kf(B),me=Jge(T);return me&&n===me?(x.assert(!me.type),Yn(Q.thisParameter)):Ha(Q)}}let N=ytt(T,n);if(N)return N;let O=n.symbol.escapedName===\"this\"?iOe(T):oOe(n);if(O)return Mu(O,!1,_)}if(SS(n)&&n.initializer){if(Jn(n)&&!ao(n)){let N=Sa(n,dr(n),yL(n));if(N)return N}let T=tZ(n,$P(n,c));return Mu(T,u,_)}if(xo(n)&&(ce||Jn(n)))if(jl(n)){let T=Cr(n.parent.members,nl),N=T.length?Dg(n.symbol,T):Wd(n)&128?cQ(n.symbol):void 0;return N&&Mu(N,!0,_)}else{let T=Ag(n.parent),N=T?jy(n.symbol,T):Wd(n)&128?cQ(n.symbol):void 0;return N&&Mu(N,!0,_)}if(i_(n))return An;if(ko(n.name))return D(n.name,!1,!0)}function sD(n){if(n.valueDeclaration&&Zn(n.valueDeclaration)){let a=Pi(n);return a.isConstructorDeclaredProperty===void 0&&(a.isConstructorDeclaredProperty=!1,a.isConstructorDeclaredProperty=!!CP(n)&&ji(n.declarations,c=>Zn(c)&&kQ(c)&&(c.left.kind!==212||Ap(c.left.argumentExpression))&&!zl(void 0,c,n,c))),a.isConstructorDeclaredProperty}return!1}function DP(n){let a=n.valueDeclaration;return a&&xo(a)&&!Jc(a)&&!a.initializer&&(ce||Jn(a))}function CP(n){if(n.declarations)for(let a of n.declarations){let c=lu(a,!1,!1);if(c&&(c.kind===176||T_(c)))return c}}function fE(n){let a=Nn(n.declarations[0]),c=Ii(n.escapedName),u=n.declarations.every(g=>Jn(g)&&us(g)&&Eh(g.expression)),_=u?P.createPropertyAccessExpression(P.createPropertyAccessExpression(P.createIdentifier(\"module\"),P.createIdentifier(\"exports\")),c):P.createPropertyAccessExpression(P.createIdentifier(\"exports\"),c);return u&&Aa(_.expression.expression,_.expression),Aa(_.expression,_),Aa(_,a),_.flowNode=a.endFlowNode,ab(_,Je,Re)}function Dg(n,a){let c=Ui(n.escapedName,\"__#\")?P.createPrivateIdentifier(n.escapedName.split(\"@\")[1]):Ii(n.escapedName);for(let u of a){let _=P.createPropertyAccessExpression(P.createThis(),c);Aa(_.expression,_),Aa(_,u),_.flowNode=u.returnFlowNode;let g=lD(_,n);if(ce&&(g===Je||g===Sc)&&we(n.valueDeclaration,f.Member_0_implicitly_has_an_1_type,ai(n),Pn(g)),!Lu(g,h5))return zw(g)}}function jy(n,a){let c=Ui(n.escapedName,\"__#\")?P.createPrivateIdentifier(n.escapedName.split(\"@\")[1]):Ii(n.escapedName),u=P.createPropertyAccessExpression(P.createThis(),c);Aa(u.expression,u),Aa(u,a),u.flowNode=a.returnFlowNode;let _=lD(u,n);return ce&&(_===Je||_===Sc)&&we(n.valueDeclaration,f.Member_0_implicitly_has_an_1_type,ai(n),Pn(_)),Lu(_,h5)?void 0:zw(_)}function lD(n,a){let c=a?.valueDeclaration&&(!DP(a)||Wd(a.valueDeclaration)&128)&&cQ(a)||Re;return ab(n,Je,c)}function _p(n,a){let c=LA(n.valueDeclaration);if(c){let N=Jn(c)?yb(c):void 0;return N&&N.typeExpression?si(N.typeExpression):n.valueDeclaration&&Sa(n.valueDeclaration,n,c)||eS(Ml(c))}let u,_=!1,g=!1;if(sD(n)&&(u=jy(n,CP(n))),!u){let N;if(n.declarations){let O;for(let B of n.declarations){let Q=Zn(B)||Bo(B)?B:us(B)?Zn(B.parent)?B.parent:B:void 0;if(!Q)continue;let me=us(Q)?TL(Q):hl(Q);(me===4||Zn(Q)&&kQ(Q,me))&&(NP(Q)?_=!0:g=!0),Bo(Q)||(O=zl(O,Q,n,B)),O||(N||(N=[])).push(Zn(Q)||Bo(Q)?mE(n,a,Q,me):Ar)}u=O}if(!u){if(!yn(N))return it;let O=_&&n.declarations?Uy(N,n.declarations):void 0;if(g){let Q=cQ(n);Q&&((O||(O=[])).push(Q),_=!0)}let B=ct(O,Q=>!!(Q.flags&-98305))?O:N;u=Br(B)}}let T=gp(Mu(u,!1,g&&!_));return n.valueDeclaration&&Jn(n.valueDeclaration)&&Bl(T,N=>!!(N.flags&-98305))===Ar?(IE(n.valueDeclaration,z),z):T}function Sa(n,a,c){var u,_;if(!Jn(n)||!c||!ma(c)||c.properties.length)return;let g=Vo();for(;Zn(n)||Er(n);){let O=Fp(n);(u=O?.exports)!=null&&u.size&&Cm(g,O.exports),n=Zn(n)?n.parent:n.parent.parent}let T=Fp(n);(_=T?.exports)!=null&&_.size&&Cm(g,T.exports);let N=cs(a,g,je,je,je);return N.objectFlags|=4096,N}function zl(n,a,c,u){var _;let g=Jc(a.parent);if(g){let T=gp(si(g));if(n)!Lt(n)&&!Lt(T)&&!kg(n,T)&&c8e(void 0,n,u,T);else return T}if((_=c.parent)!=null&&_.valueDeclaration){let T=B0(c.parent);if(T.valueDeclaration){let N=Jc(T.valueDeclaration);if(N){let O=Qo(si(N),c.escapedName);if(O)return qy(O)}}}return n}function mE(n,a,c,u){if(Bo(c)){if(a)return Yn(a);let T=Ml(c.arguments[2]),N=Fe(T,\"value\");if(N)return N;let O=Fe(T,\"get\");if(O){let Q=dA(O);if(Q)return Ha(Q)}let B=Fe(T,\"set\");if(B){let Q=dA(B);if(Q)return oge(Q)}return z}if(p1(c.left,c.right))return z;let _=u===1&&(Er(c.left)||Rs(c.left))&&(Eh(c.left.expression)||Me(c.left.expression)&&DS(c.left.expression)),g=a?Yn(a):_?qd(Ml(c.right)):eS(Ml(c.right));if(g.flags&524288&&u===2&&n.escapedName===\"export=\"){let T=Om(g),N=Vo();$8(T.members,N);let O=N.size;a&&!a.exports&&(a.exports=Vo()),(a||n).exports.forEach((Q,me)=>{var ue;let We=N.get(me);if(We&&We!==Q&&!(Q.flags&2097152))if(Q.flags&111551&&We.flags&111551){if(Q.valueDeclaration&&We.valueDeclaration&&Nn(Q.valueDeclaration)!==Nn(We.valueDeclaration)){let ht=Ii(Q.escapedName),qt=((ue=Vr(We.valueDeclaration,Ld))==null?void 0:ue.name)||We.valueDeclaration;fa(we(Q.valueDeclaration,f.Duplicate_identifier_0,ht),vr(qt,f._0_was_also_declared_here,ht)),fa(we(qt,f.Duplicate_identifier_0,ht),vr(Q.valueDeclaration,f._0_was_also_declared_here,ht))}let at=Ra(Q.flags|We.flags,me);at.links.type=Br([Yn(Q),Yn(We)]),at.valueDeclaration=We.valueDeclaration,at.declarations=ro(We.declarations,Q.declarations),N.set(me,at)}else N.set(me,Pf(Q,We));else N.set(me,Q)});let B=cs(O!==N.size?void 0:T.symbol,N,T.callSignatures,T.constructSignatures,T.indexInfos);if(O===N.size&&(g.aliasSymbol&&(B.aliasSymbol=g.aliasSymbol,B.aliasTypeArguments=g.aliasTypeArguments),br(g)&4)){B.aliasSymbol=g.symbol;let Q=Ts(g);B.aliasTypeArguments=yn(Q)?Q:void 0}return B.objectFlags|=br(g)&4096,B.symbol&&B.symbol.flags&32&&g===cf(B.symbol)&&(B.objectFlags|=16777216),B}return uQ(g)?(IE(c,Nl),Nl):g}function p1(n,a){return Er(n)&&n.expression.kind===110&&EN(a,c=>Zc(n,c))}function NP(n){let a=lu(n,!1,!1);return a.kind===176||a.kind===262||a.kind===218&&!AL(a.parent)}function Uy(n,a){return x.assert(n.length===a.length),n.filter((c,u)=>{let _=a[u],g=Zn(_)?_:Zn(_.parent)?_.parent:void 0;return g&&NP(g)})}function PP(n,a,c){if(n.initializer){let u=ko(n.name)?D(n.name,!0,!1):Zt;return Mu(tZ(n,$P(n,c?0:1,u)))}return ko(n.name)?D(n.name,a,c):(c&&!ir(n)&&IE(n,z),a?on:z)}function Un(n,a,c){let u=Vo(),_,g=131200;an(n.elements,N=>{let O=N.propertyName||N.name;if(N.dotDotDotToken){_=sh(Ie,z,!1);return}let B=Pv(O);if(!Af(B)){g|=512;return}let Q=If(B),me=4|(N.initializer?16777216:0),ue=Ra(me,Q);ue.links.type=PP(N,a,c),ue.links.bindingElement=N,u.set(ue.escapedName,ue)});let T=cs(void 0,u,je,je,_?[_]:je);return T.objectFlags|=g,a&&(T.pattern=n,T.objectFlags|=131072),T}function y(n,a,c){let u=n.elements,_=Ns(u),g=_&&_.kind===208&&_.dotDotDotToken?_:void 0;if(u.length===0||u.length===1&&g)return oe>=2?n2e(z):Nl;let T=nn(u,Q=>vc(Q)?z:PP(Q,a,c)),N=Uw(u,Q=>!(Q===g||vc(Q)||XP(Q)),u.length-1)+1,O=nn(u,(Q,me)=>Q===g?4:me>=N?2:1),B=lh(T,O);return a&&(B=WLe(B),B.pattern=n,B.objectFlags|=131072),B}function D(n,a=!1,c=!1){return n.kind===206?Un(n,a,c):y(n,a,c)}function w(n,a){return kt(jT(n,!0,0),n,a)}function ie(n){let a=Fr(n);if(!a.resolvedType){let c=Ra(4096,\"__importAttributes\"),u=Vo();an(n.elements,g=>{let T=Ra(4,SF(g));T.parent=c,T.links.type=Bdt(g),T.links.target=T,u.set(T.escapedName,T)});let _=cs(c,u,je,je,je);_.objectFlags|=262272,a.resolvedType=_}return a.resolvedType}function Be(n){let a=Fp(n),c=Ott(!1);return c&&a&&a===c}function kt(n,a,c){return n?(n.flags&4096&&Be(a.parent)&&(n=I_e(a)),c&&yQ(a,n),n.flags&8192&&(Na(a)||!a.type)&&n.symbol!==dr(a)&&(n=di),gp(n)):(n=ao(a)&&a.dotDotDotToken?Nl:z,c&&(ir(a)||IE(a,n)),n)}function ir(n){let a=Ym(n),c=a.kind===169?a.parent:a;return L5(c)}function Wi(n){let a=Jc(n);if(a)return si(a)}function Ss(n){let a=n.valueDeclaration;return a?(Na(a)&&(a=B1(a)),ao(a)?nQ(a.parent):!1):!1}function Mm(n,a){let c=Pi(n);if(!c.type){let u=Hy(n,a);return!c.type&&!Ss(n)&&!a&&(c.type=u),u}return c.type}function Hy(n,a){if(n.flags&4194304)return ye(n);if(n===st)return z;if(n.flags&134217728&&n.valueDeclaration){let _=dr(Nn(n.valueDeclaration)),g=Ra(_.flags,\"exports\");g.declarations=_.declarations?_.declarations.slice():[],g.parent=n,g.links.target=_,_.valueDeclaration&&(g.valueDeclaration=_.valueDeclaration),_.members&&(g.members=new Map(_.members)),_.exports&&(g.exports=new Map(_.exports));let T=Vo();return T.set(\"exports\",g),cs(n,T,je,je,je)}x.assertIsDefined(n.valueDeclaration);let c=n.valueDeclaration;if(Li(c)&&yf(c))return c.statements.length?gp(eS(Xi(c.statements[0].expression))):ua;if(Kv(c))return hE(n);if(!rh(n,0))return n.flags&512&&!(n.flags&67108864)?MP(n):Na(c)&&a===1?it:cD(n);let u;if(c.kind===277)u=kt(Wi(c)||Ml(c.expression),c);else if(Zn(c)||Jn(c)&&(Bo(c)||(Er(c)||RW(c))&&Zn(c.parent)))u=_p(n);else if(Er(c)||Rs(c)||Me(c)||Ga(c)||Bu(c)||Zl(c)||Ql(c)||El(c)&&!qf(c)||B_(c)||Li(c)){if(n.flags&9136)return MP(n);u=Zn(c.parent)?_p(n):Wi(c)||z}else if(Hl(c))u=Wi(c)||Owe(c);else if(i_(c))u=Wi(c)||gOe(c);else if(xu(c))u=Wi(c)||ZP(c.name,0);else if(qf(c))u=Wi(c)||wwe(c,0);else if(ao(c)||xo(c)||Gu(c)||yi(c)||Na(c)||iC(c))u=w(c,!0);else if(kb(c))u=MP(n);else if(p0(c))u=C$(n);else return x.fail(\"Unhandled declaration kind! \"+x.formatSyntaxKind(c.kind)+\" for \"+x.formatSymbol(n));return g_()?u:n.flags&512&&!(n.flags&67108864)?MP(n):Na(c)&&a===1?u:cD(n)}function lm(n){if(n)switch(n.kind){case 177:return Tf(n);case 178:return mne(n);case 172:return x.assert($m(n)),Jc(n)}}function _E(n){let a=lm(n);return a&&si(a)}function R$(n){let a=Jge(n);return a&&a.symbol}function Tme(n){return bE(kf(n))}function hE(n){let a=Pi(n);if(!a.type){if(!rh(n,0))return it;let c=Vs(n,177),u=Vs(n,178),_=Vr(Vs(n,172),su),g=c&&Jn(c)&&xg(c)||_E(c)||_E(u)||_E(_)||c&&c.body&&QQ(c)||_&&_.initializer&&w(_,!0);g||(u&&!L5(u)?jc(ce,u,f.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,ai(n)):c&&!L5(c)?jc(ce,c,f.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,ai(n)):_&&!L5(_)&&jc(ce,_,f.Member_0_implicitly_has_an_1_type,ai(n),\"any\"),g=z),g_()||(lm(c)?we(c,f._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,ai(n)):lm(u)||lm(_)?we(u,f._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,ai(n)):c&&ce&&we(c,f._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,ai(n)),g=z),a.type=g}return a.type}function T7(n){let a=Pi(n);if(!a.writeType){if(!rh(n,8))return it;let c=Vs(n,178)??Vr(Vs(n,172),su),u=_E(c);g_()||(lm(c)&&we(c,f._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,ai(n)),u=z),a.writeType=u||hE(n)}return a.writeType}function D$(n){let a=Zu(cf(n));return a.flags&8650752?a:a.flags&2097152?Dr(a.types,c=>!!(c.flags&8650752)):void 0}function MP(n){let a=Pi(n),c=a;if(!a.type){let u=n.valueDeclaration&&YQ(n.valueDeclaration,!1);if(u){let _=Zhe(n,u);_&&(n=_,a=_.links)}c.type=a.type=A7(n)}return a.type}function A7(n){let a=n.valueDeclaration;if(n.flags&1536&&pC(n))return z;if(a&&(a.kind===226||us(a)&&a.parent.kind===226))return _p(n);if(n.flags&512&&a&&Li(a)&&a.commonJsModuleIndicator){let u=$u(n);if(u!==n){if(!rh(n,0))return it;let _=Oa(n.exports.get(\"export=\")),g=_p(_,_===u?void 0:u);return g_()?g:cD(n)}}let c=af(16,n);if(n.flags&32){let u=D$(n);return u?Zo([c,u]):c}else return H&&n.flags&16777216?ib(c,!0):c}function C$(n){let a=Pi(n);return a.type||(a.type=nLe(n))}function N$(n){let a=Pi(n);if(!a.type){if(!rh(n,0))return it;let c=fc(n),u=n.declarations&&fp(im(n),!0),_=ml(u?.declarations,g=>dl(g)?Wi(g):void 0);if(a.type=u?.declarations&&_Z(u.declarations)&&n.declarations.length?fE(u):_Z(n.declarations)?Je:_||(Qc(c)&111551?Yn(c):it),!g_())return cD(u??n),a.type=it}return a.type}function Ame(n){let a=Pi(n);return a.type||(a.type=Gi(Yn(a.target),a.mapper))}function Ime(n){let a=Pi(n);return a.writeType||(a.writeType=Gi(q0(a.target),a.mapper))}function cD(n){let a=n.valueDeclaration;if(a){if(Jc(a))return we(n.valueDeclaration,f._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,ai(n)),it;ce&&(a.kind!==169||a.initializer)&&we(n.valueDeclaration,f._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,ai(n))}else if(n.flags&2097152){let c=im(n);c&&we(c,f.Circular_definition_of_import_alias_0,ai(n))}return z}function P$(n){let a=Pi(n);return a.type||(x.assertIsDefined(a.deferralParent),x.assertIsDefined(a.deferralConstituents),a.type=a.deferralParent.flags&1048576?Br(a.deferralConstituents):Zo(a.deferralConstituents)),a.type}function I7(n){let a=Pi(n);return!a.writeType&&a.deferralWriteConstituents&&(x.assertIsDefined(a.deferralParent),x.assertIsDefined(a.deferralConstituents),a.writeType=a.deferralParent.flags&1048576?Br(a.deferralWriteConstituents):Zo(a.deferralWriteConstituents)),a.writeType}function q0(n){let a=tl(n);return n.flags&4?a&2?a&65536?I7(n)||P$(n):n.links.writeType||n.links.type:ob(Yn(n),!!(n.flags&16777216)):n.flags&98304?a&1?Ime(n):T7(n):Yn(n)}function Yn(n,a){let c=tl(n);return c&65536?P$(n):c&1?Ame(n):c&262144?ett(n):c&8192?mit(n):n.flags&7?Mm(n,a):n.flags&9136?MP(n):n.flags&8?C$(n):n.flags&98304?hE(n):n.flags&2097152?N$(n):it}function qy(n){return ob(Yn(n),!!(n.flags&16777216))}function Jy(n,a){return n!==void 0&&a!==void 0&&(br(n)&4)!==0&&n.target===a}function Rv(n){return br(n)&4?n.target:n}function dD(n,a){return c(n);function c(u){if(br(u)&7){let _=Rv(u);return _===a||ct(ep(_),c)}else if(u.flags&2097152)return ct(u.types,c);return!1}}function gE(n,a){for(let c of a)n=Kh(n,UT(dr(c)));return n}function hn(n,a){for(;;){if(n=n.parent,n&&Zn(n)){let c=hl(n);if(c===6||c===3){let u=dr(n.left);u&&u.parent&&!Rn(u.parent.valueDeclaration,_=>n===_)&&(n=u.parent.valueDeclaration)}}if(!n)return;switch(n.kind){case 263:case 231:case 264:case 179:case 180:case 173:case 184:case 185:case 324:case 262:case 174:case 218:case 219:case 265:case 352:case 353:case 347:case 345:case 200:case 194:{let u=hn(n,a);if(n.kind===200)return pn(u,UT(dr(n.typeParameter)));if(n.kind===194)return ro(u,C2e(n));let _=gE(u,qv(n)),g=a&&(n.kind===263||n.kind===231||n.kind===264||T_(n))&&cf(dr(n)).thisType;return g?pn(_,g):_}case 348:let c=NL(n);c&&(n=c.valueDeclaration);break;case 327:{let u=hn(n,a);return n.tags?gE(u,ta(n.tags,_=>Df(_)?_.typeParameters:void 0)):u}}}}function Tr(n){var a;let c=n.flags&32||n.flags&16?n.valueDeclaration:(a=n.declarations)==null?void 0:a.find(u=>{if(u.kind===264)return!0;if(u.kind!==260)return!1;let _=u.initializer;return!!_&&(_.kind===218||_.kind===219)});return x.assert(!!c,\"Class was missing valueDeclaration -OR- non-class had no interface declarations\"),hn(c)}function gr(n){if(!n.declarations)return;let a;for(let c of n.declarations)(c.kind===264||c.kind===263||c.kind===231||T_(c)||RL(c))&&(a=gE(a,qv(c)));return a}function Ei(n){return ro(Tr(n),gr(n))}function hi(n){let a=Co(n,1);if(a.length===1){let c=a[0];if(!c.typeParameters&&c.parameters.length===1&&Td(c)){let u=A5(c.parameters[0]);return vt(u)||Z7(u)===z}}return!1}function wa(n){if(Co(n,1).length>0)return!0;if(n.flags&8650752){let a=md(n);return!!a&&hi(a)}return!1}function ns(n){let a=ig(n.symbol);return a&&Km(a)}function Dd(n,a,c){let u=yn(a),_=Jn(c);return Cr(Co(n,1),g=>(_||u>=ah(g.typeParameters))&&u<=yn(g.typeParameters))}function ih(n,a,c){let u=Dd(n,a,c),_=nn(a,si);return sc(u,g=>ct(g.typeParameters)?aw(g,_,Jn(c)):g)}function Zu(n){if(!n.resolvedBaseConstructorType){let a=ig(n.symbol),c=a&&Km(a),u=ns(n);if(!u)return n.resolvedBaseConstructorType=Re;if(!rh(n,1))return it;let _=Xi(u.expression);if(c&&u!==c&&(x.assert(!c.typeArguments),Xi(c.expression)),_.flags&2621440&&Om(_),!g_())return we(n.symbol.valueDeclaration,f._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,ai(n.symbol)),n.resolvedBaseConstructorType=it;if(!(_.flags&1)&&_!==Pe&&!wa(_)){let g=we(u.expression,f.Type_0_is_not_a_constructor_function_type,Pn(_));if(_.flags&262144){let T=OP(_),N=Zt;if(T){let O=Co(T,1);O[0]&&(N=Ha(O[0]))}_.symbol.declarations&&fa(g,vr(_.symbol.declarations[0],f.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,ai(_.symbol),Pn(N)))}return n.resolvedBaseConstructorType=it}n.resolvedBaseConstructorType=_}return n.resolvedBaseConstructorType}function Lm(n){let a=je;if(n.symbol.declarations)for(let c of n.symbol.declarations){let u=fx(c);if(u)for(let _ of u){let g=si(_);Lt(g)||(a===je?a=[g]:a.push(g))}}return a}function Cg(n,a){we(n,f.Type_0_recursively_references_itself_as_a_base_type,Pn(a,void 0,2))}function ep(n){if(!n.baseTypesResolved){if(rh(n,7)&&(n.objectFlags&8?n.resolvedBaseTypes=[uD(n)]:n.symbol.flags&96?(n.symbol.flags&32&&tw(n),n.symbol.flags&64&&Cet(n)):x.fail(\"type must be class or interface\"),!g_()&&n.symbol.declarations))for(let a of n.symbol.declarations)(a.kind===263||a.kind===264)&&Cg(a,n);n.baseTypesResolved=!0}return n.resolvedBaseTypes}function uD(n){let a=sc(n.typeParameters,(c,u)=>n.elementFlags[u]&8?tp(c,gt):c);return _d(Br(a||je),n.readonly)}function tw(n){n.resolvedBaseTypes=TF;let a=ou(Zu(n));if(!(a.flags&2621441))return n.resolvedBaseTypes=je;let c=ns(n),u,_=a.symbol?Cs(a.symbol):void 0;if(a.symbol&&a.symbol.flags&32&&Det(_))u=FLe(c,a.symbol);else if(a.flags&1)u=a;else{let T=ih(a,c.typeArguments,c);if(!T.length)return we(c.expression,f.No_base_constructor_has_the_specified_number_of_type_arguments),n.resolvedBaseTypes=je;u=Ha(T[0])}if(Lt(u))return n.resolvedBaseTypes=je;let g=wm(u);if(!x7(g)){let T=zme(void 0,u),N=So(T,f.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,Pn(g));return La.add(eg(Nn(c.expression),c.expression,N)),n.resolvedBaseTypes=je}return n===g||dD(g,n)?(we(n.symbol.valueDeclaration,f.Type_0_recursively_references_itself_as_a_base_type,Pn(n,void 0,2)),n.resolvedBaseTypes=je):(n.resolvedBaseTypes===TF&&(n.members=void 0),n.resolvedBaseTypes=[g])}function Det(n){let a=n.outerTypeParameters;if(a){let c=a.length-1,u=Ts(n);return a[c].symbol!==u[c].symbol}return!0}function x7(n){if(n.flags&262144){let a=md(n);if(a)return x7(a)}return!!(n.flags&67633153&&!vu(n)||n.flags&2097152&&ji(n.types,x7))}function Cet(n){if(n.resolvedBaseTypes=n.resolvedBaseTypes||je,n.symbol.declarations){for(let a of n.symbol.declarations)if(a.kind===264&&SC(a))for(let c of SC(a)){let u=wm(si(c));Lt(u)||(x7(u)?n!==u&&!dD(u,n)?n.resolvedBaseTypes===je?n.resolvedBaseTypes=[u]:n.resolvedBaseTypes.push(u):Cg(a,n):we(c,f.An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members))}}}function Net(n){if(!n.declarations)return!0;for(let a of n.declarations)if(a.kind===264){if(a.flags&256)return!1;let c=SC(a);if(c){for(let u of c)if(gl(u.expression)){let _=Es(u.expression,788968,!0);if(!_||!(_.flags&64)||cf(_).thisType)return!1}}}return!0}function cf(n){let a=Pi(n),c=a;if(!a.declaredType){let u=n.flags&32?1:2,_=Zhe(n,n.valueDeclaration&&vst(n.valueDeclaration));_&&(n=_,a=_.links);let g=c.declaredType=a.declaredType=af(u,n),T=Tr(n),N=gr(n);(T||N||u===1||!Net(n))&&(g.objectFlags|=4,g.typeParameters=ro(T,N),g.outerTypeParameters=T,g.localTypeParameters=N,g.instantiations=new Map,g.instantiations.set(Of(g.typeParameters),g),g.target=g,g.resolvedTypeArguments=g.typeParameters,g.thisType=Bp(n),g.thisType.isThisType=!0,g.thisType.constraint=g)}return a.declaredType}function ZMe(n){var a;let c=Pi(n);if(!c.declaredType){if(!rh(n,2))return it;let u=x.checkDefined((a=n.declarations)==null?void 0:a.find(RL),\"Type alias symbol with no valid declaration found\"),_=bf(u)?u.typeExpression:u.type,g=_?si(_):it;if(g_()){let T=gr(n);T&&(c.typeParameters=T,c.instantiations=new Map,c.instantiations.set(Of(T),g))}else g=it,u.kind===347?we(u.typeExpression.type,f.Type_alias_0_circularly_references_itself,ai(n)):we(Ld(u)&&u.name||u,f.Type_alias_0_circularly_references_itself,ai(n));c.declaredType=g}return c.declaredType}function M$(n){return n.flags&1056&&n.symbol.flags&8?Cs(nu(n.symbol)):n}function eLe(n){let a=Pi(n);if(!a.declaredType){let c=[];if(n.declarations){for(let _ of n.declarations)if(_.kind===266){for(let g of _.members)if(pD(g)){let T=dr(g),N=MD(g),O=v1(N!==void 0?Xnt(N,na(n),T):tLe(T));Pi(T).declaredType=O,c.push(qd(O))}}}let u=c.length?Br(c,1,n,void 0):tLe(n);u.flags&1048576&&(u.flags|=1024,u.symbol=n),a.declaredType=u}return a.declaredType}function tLe(n){let a=Gh(32,n),c=Gh(32,n);return a.regularType=a,a.freshType=c,c.regularType=a,c.freshType=c,a}function nLe(n){let a=Pi(n);if(!a.declaredType){let c=eLe(nu(n));a.declaredType||(a.declaredType=c)}return a.declaredType}function UT(n){let a=Pi(n);return a.declaredType||(a.declaredType=Bp(n))}function Pet(n){let a=Pi(n);return a.declaredType||(a.declaredType=Cs(fc(n)))}function Cs(n){return rLe(n)||it}function rLe(n){if(n.flags&96)return cf(n);if(n.flags&524288)return ZMe(n);if(n.flags&262144)return UT(n);if(n.flags&384)return eLe(n);if(n.flags&8)return nLe(n);if(n.flags&2097152)return Pet(n)}function R7(n){switch(n.kind){case 133:case 159:case 154:case 150:case 163:case 136:case 155:case 151:case 116:case 157:case 146:case 201:return!0;case 188:return R7(n.elementType);case 183:return!n.typeArguments||n.typeArguments.every(R7)}return!1}function Met(n){let a=V1(n);return!a||R7(a)}function iLe(n){let a=Jc(n);return a?R7(a):!$v(n)}function Let(n){let a=Tf(n),c=qv(n);return(n.kind===176||!!a&&R7(a))&&n.parameters.every(iLe)&&c.every(Met)}function ket(n){if(n.declarations&&n.declarations.length===1){let a=n.declarations[0];if(a)switch(a.kind){case 172:case 171:return iLe(a);case 174:case 173:case 176:case 177:case 178:return Let(a)}}return!1}function oLe(n,a,c){let u=Vo();for(let _ of n)u.set(_.escapedName,c&&ket(_)?_:D_e(_,a));return u}function aLe(n,a){for(let c of a){if(sLe(c))continue;let u=n.get(c.escapedName);(!u||u.valueDeclaration&&Zn(u.valueDeclaration)&&!sD(u)&&!jte(u.valueDeclaration))&&(n.set(c.escapedName,c),n.set(c.escapedName,c))}}function sLe(n){return!!n.valueDeclaration&&kd(n.valueDeclaration)&&zo(n.valueDeclaration)}function xme(n){if(!n.declaredProperties){let a=n.symbol,c=Ky(a);n.declaredProperties=dE(c),n.declaredCallSignatures=je,n.declaredConstructSignatures=je,n.declaredIndexInfos=je,n.declaredCallSignatures=J0(c.get(\"__call\")),n.declaredConstructSignatures=J0(c.get(\"__new\")),n.declaredIndexInfos=kLe(a)}return n}function Rme(n){if(!Pa(n)&&!Rs(n))return!1;let a=Pa(n)?n.expression:n.argumentExpression;return gl(a)&&Af(Pa(n)?Hh(n):Ml(a))}function nw(n){return n.charCodeAt(0)===95&&n.charCodeAt(1)===95&&n.charCodeAt(2)===64}function D7(n){let a=mo(n);return!!a&&Rme(a)}function pD(n){return!ty(n)||D7(n)}function Oet(n){return kW(n)&&!Rme(n)}function wet(n,a,c){x.assert(!!(tl(n)&4096),\"Expected a late-bound symbol.\"),n.flags|=c,Pi(a.symbol).lateSymbol=n,n.declarations?a.symbol.isReplaceableByMethod||n.declarations.push(a):n.declarations=[a],c&111551&&(!n.valueDeclaration||n.valueDeclaration.kind!==a.kind)&&(n.valueDeclaration=a)}function lLe(n,a,c,u){x.assert(!!u.symbol,\"The member is expected to have a symbol.\");let _=Fr(u);if(!_.resolvedSymbol){_.resolvedSymbol=u.symbol;let g=Zn(u)?u.left:u.name,T=Rs(g)?Ml(g.argumentExpression):Hh(g);if(Af(T)){let N=If(T),O=u.symbol.flags,B=c.get(N);B||c.set(N,B=Ra(0,N,4096));let Q=a&&a.get(N);if(!(n.flags&32)&&(B.flags&TT(O)||Q)){let me=Q?ro(Q.declarations,B.declarations):B.declarations,ue=!(T.flags&8192)&&Ii(N)||is(g);an(me,We=>we(mo(We)||We,f.Property_0_was_also_declared_here,ue)),we(g||u,f.Duplicate_property_0,ue),B=Ra(0,N,4096)}return B.links.nameType=T,wet(B,u,O),B.parent?x.assert(B.parent===n,\"Existing symbol parent should match new one\"):B.parent=n,_.resolvedSymbol=B}}return _.resolvedSymbol}function Dme(n,a){let c=Pi(n);if(!c[a]){let u=a===\"resolvedExports\",_=u?n.flags&1536?FT(n).exports:n.exports:n.members;c[a]=_||U;let g=Vo();for(let O of n.declarations||je){let B=Ote(O);if(B)for(let Q of B)u===jl(Q)&&D7(Q)&&lLe(n,_,g,Q)}let T=B0(n).assignmentDeclarationMembers;if(T){let O=bo(T.values());for(let B of O){let Q=hl(B),me=Q===3||Zn(B)&&kQ(B,Q)||Q===9||Q===6;u===!me&&D7(B)&&lLe(n,_,g,B)}}let N=t1(_,g);if(n.flags&33554432&&c.cjsExportMerged&&n.declarations)for(let O of n.declarations){let B=Pi(O.symbol)[a];if(!N){N=B;continue}B&&B.forEach((Q,me)=>{let ue=N.get(me);if(!ue)N.set(me,Q);else{if(ue===Q)return;N.set(me,Pf(ue,Q))}})}c[a]=N||U}return c[a]}function Ky(n){return n.flags&6256?Dme(n,\"resolvedMembers\"):n.members||U}function L$(n){if(n.flags&106500&&n.escapedName===\"__computed\"){let a=Pi(n);if(!a.lateSymbol&&ct(n.declarations,D7)){let c=Oa(n.parent);ct(n.declarations,jl)?Qu(c):Ky(c)}return a.lateSymbol||(a.lateSymbol=n)}return n}function hp(n,a,c){if(br(n)&4){let u=n.target,_=Ts(n);return yn(u.typeParameters)===yn(_)?Cv(u,ro(_,[a||u.thisType])):n}else if(n.flags&2097152){let u=sc(n.types,_=>hp(_,a,c));return u!==n.types?Zo(u):n}return c?ou(n):n}function cLe(n,a,c,u){let _,g,T,N,O;nB(c,u,0,c.length)?(g=a.symbol?Ky(a.symbol):Vo(a.declaredProperties),T=a.declaredCallSignatures,N=a.declaredConstructSignatures,O=a.declaredIndexInfos):(_=np(c,u),g=oLe(a.declaredProperties,_,c.length===1),T=eQ(a.declaredCallSignatures,_),N=eQ(a.declaredConstructSignatures,_),O=O2e(a.declaredIndexInfos,_));let B=ep(a);if(B.length){if(a.symbol&&g===Ky(a.symbol)){let me=Vo(a.declaredProperties),ue=Jme(a.symbol);ue&&me.set(\"__index\",ue),g=me}Gp(n,g,T,N,O);let Q=Ns(u);for(let me of B){let ue=Q?hp(Gi(me,_),Q):me;aLe(g,Xa(ue)),T=ro(T,Co(ue,0)),N=ro(N,Co(ue,1));let We=ue!==z?Ud(ue):[sh(Ie,z,!1)];O=ro(O,Cr(We,at=>!Bme(O,at.keyType)))}}Gp(n,g,T,N,O)}function Wet(n){cLe(n,xme(n),je,je)}function Fet(n){let a=xme(n.target),c=ro(a.typeParameters,[a.thisType]),u=Ts(n),_=u.length===c.length?u:ro(u,[n]);cLe(n,a,c,_)}function jh(n,a,c,u,_,g,T,N){let O=new h(zt,N);return O.declaration=n,O.typeParameters=a,O.parameters=u,O.thisParameter=c,O.resolvedReturnType=_,O.resolvedTypePredicate=g,O.minArgumentCount=T,O.resolvedMinArgumentCount=void 0,O.target=void 0,O.mapper=void 0,O.compositeSignatures=void 0,O.compositeKind=void 0,O}function rw(n){let a=jh(n.declaration,n.typeParameters,n.thisParameter,n.parameters,void 0,void 0,n.minArgumentCount,n.flags&167);return a.target=n.target,a.mapper=n.mapper,a.compositeSignatures=n.compositeSignatures,a.compositeKind=n.compositeKind,a}function dLe(n,a){let c=rw(n);return c.compositeSignatures=a,c.compositeKind=1048576,c.target=void 0,c.mapper=void 0,c}function zet(n,a){if((n.flags&24)===a)return n;n.optionalCallSignatureCache||(n.optionalCallSignatureCache={});let c=a===8?\"inner\":\"outer\";return n.optionalCallSignatureCache[c]||(n.optionalCallSignatureCache[c]=Bet(n,a))}function Bet(n,a){x.assert(a===8||a===16,\"An optional call signature can either be for an inner call chain or an outer call chain, but not both.\");let c=rw(n);return c.flags|=a,c}function uLe(n,a){if(Td(n)){let _=n.parameters.length-1,g=n.parameters[_].escapedName,T=Yn(n.parameters[_]);if(ga(T))return[c(T,_,g)];if(!a&&T.flags&1048576&&ji(T.types,ga))return nn(T.types,N=>c(N,_,g))}return[n.parameters];function c(_,g,T){let N=Ts(_),O=u(_,T),B=nn(N,(Q,me)=>{let ue=O&&O[me]?O[me]:YP(n,g+me,_),We=_.target.elementFlags[me],at=We&12?32768:We&2?16384:0,ht=Ra(1,ue,at);return ht.links.type=We&4?_d(Q):Q,ht});return ro(n.parameters.slice(0,g),B)}function u(_,g){let T=new Map;return nn(_.target.labeledElementDeclarations,(N,O)=>{let B=ige(N,O,g),Q=T.get(B);return Q===void 0?(T.set(B,1),B):(T.set(B,Q+1),`${B}_${Q}`)})}}function Get(n){let a=Zu(n),c=Co(a,1),u=ig(n.symbol),_=!!u&&Wr(u,64);if(c.length===0)return[jh(void 0,n.localTypeParameters,void 0,je,n,void 0,0,_?4:0)];let g=ns(n),T=Jn(g),N=w7(g),O=yn(N),B=[];for(let Q of c){let me=ah(Q.typeParameters),ue=yn(Q.typeParameters);if(T||O>=me&&O<=ue){let We=ue?F$(Q,Yy(N,Q.typeParameters,me,T)):rw(Q);We.typeParameters=n.localTypeParameters,We.resolvedReturnType=n,We.flags=_?We.flags|4:We.flags&-5,B.push(We)}}return B}function k$(n,a,c,u,_){for(let g of n)if($7(g,a,c,u,_,c?mrt:_w))return g}function Vet(n,a,c){if(a.typeParameters){if(c>0)return;for(let _=1;_<n.length;_++)if(!k$(n[_],a,!1,!1,!1))return;return[a]}let u;for(let _=0;_<n.length;_++){let g=_===c?a:k$(n[_],a,!1,!1,!0)||k$(n[_],a,!0,!1,!0);if(!g)return;u=Kh(u,g)}return u}function Cme(n){let a,c;for(let u=0;u<n.length;u++){if(n[u].length===0)return je;n[u].length>1&&(c=c===void 0?u:-1);for(let _ of n[u])if(!a||!k$(a,_,!1,!1,!0)){let g=Vet(n,_,u);if(g){let T=_;if(g.length>1){let N=_.thisParameter,O=an(g,B=>B.thisParameter);if(O){let B=Zo(Fi(g,Q=>Q.thisParameter&&Yn(Q.thisParameter)));N=nA(O,B)}T=dLe(_,g),T.thisParameter=N}(a||(a=[])).push(T)}}}if(!yn(a)&&c!==-1){let u=n[c!==void 0?c:0],_=u.slice();for(let g of n)if(g!==u){let T=g[0];if(x.assert(!!T,\"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass\"),_=T.typeParameters&&ct(_,N=>!!N.typeParameters&&!pLe(T.typeParameters,N.typeParameters))?void 0:nn(_,N=>Het(N,T)),!_)break}a=_}return a||je}function pLe(n,a){if(yn(n)!==yn(a))return!1;if(!n||!a)return!0;let c=np(a,n);for(let u=0;u<n.length;u++){let _=n[u],g=a[u];if(_!==g&&!kg(OP(_)||Zt,Gi(OP(g)||Zt,c)))return!1}return!0}function jet(n,a,c){if(!n||!a)return n||a;let u=Zo([Yn(n),Gi(Yn(a),c)]);return nA(n,u)}function Uet(n,a,c){let u=vp(n),_=vp(a),g=u>=_?n:a,T=g===n?a:n,N=g===n?u:_,O=dh(n)||dh(a),B=O&&!dh(g),Q=new Array(N+(B?1:0));for(let me=0;me<N;me++){let ue=iS(g,me);g===a&&(ue=Gi(ue,c));let We=iS(T,me)||Zt;T===a&&(We=Gi(We,c));let at=Zo([ue,We]),ht=O&&!B&&me===N-1,qt=me>=A_(g)&&me>=A_(T),Xt=me>=u?void 0:YP(n,me),Hn=me>=_?void 0:YP(a,me),En=Xt===Hn?Xt:Xt?Hn?void 0:Xt:Hn,Kt=Ra(1|(qt&&!ht?16777216:0),En||`arg${me}`,ht?32768:qt?16384:0);Kt.links.type=ht?_d(at):at,Q[me]=Kt}if(B){let me=Ra(1,\"args\",32768);me.links.type=_d(zm(T,N)),T===a&&(me.links.type=Gi(me.links.type,c)),Q[N]=me}return Q}function Het(n,a){let c=n.typeParameters||a.typeParameters,u;n.typeParameters&&a.typeParameters&&(u=np(a.typeParameters,n.typeParameters));let _=n.declaration,g=Uet(n,a,u),T=jet(n.thisParameter,a.thisParameter,u),N=Math.max(n.minArgumentCount,a.minArgumentCount),O=jh(_,c,T,g,void 0,void 0,N,(n.flags|a.flags)&167);return O.compositeKind=1048576,O.compositeSignatures=ro(n.compositeKind!==2097152&&n.compositeSignatures||[n],[a]),u?O.mapper=n.compositeKind!==2097152&&n.mapper&&n.compositeSignatures?Z0(n.mapper,u):u:n.compositeKind!==2097152&&n.mapper&&n.compositeSignatures&&(O.mapper=n.mapper),O}function fLe(n){let a=Ud(n[0]);if(a){let c=[];for(let u of a){let _=u.keyType;ji(n,g=>!!Uh(g,_))&&c.push(sh(_,Br(nn(n,g=>yE(g,_))),ct(n,g=>Uh(g,_).isReadonly)))}return c}return je}function qet(n){let a=Cme(nn(n.types,_=>_===At?[$t]:Co(_,0))),c=Cme(nn(n.types,_=>Co(_,1))),u=fLe(n.types);Gp(n,U,a,c,u)}function C7(n,a){return n?a?Zo([n,a]):n:a}function mLe(n){let a=Wv(n,u=>Co(u,1).length>0),c=nn(n,hi);if(a>0&&a===Wv(c,u=>u)){let u=c.indexOf(!0);c[u]=!1}return c}function Jet(n,a,c,u){let _=[];for(let g=0;g<a.length;g++)g===u?_.push(n):c[g]&&_.push(Ha(Co(a[g],1)[0]));return Zo(_)}function Ket(n){let a,c,u,_=n.types,g=mLe(_),T=Wv(g,N=>N);for(let N=0;N<_.length;N++){let O=n.types[N];if(!g[N]){let B=Co(O,1);B.length&&T>0&&(B=nn(B,Q=>{let me=rw(Q);return me.resolvedReturnType=Jet(Ha(Q),_,g,N),me})),c=_Le(c,B)}a=_Le(a,Co(O,0)),u=Nd(Ud(O),(B,Q)=>hLe(B,Q,!1),u)}Gp(n,U,a||je,c||je,u||je)}function _Le(n,a){for(let c of a)(!n||ji(n,u=>!$7(u,c,!1,!1,!1,_w)))&&(n=pn(n,c));return n}function hLe(n,a,c){if(n)for(let u=0;u<n.length;u++){let _=n[u];if(_.keyType===a.keyType)return n[u]=sh(_.keyType,c?Br([_.type,a.type]):Zo([_.type,a.type]),c?_.isReadonly||a.isReadonly:_.isReadonly&&a.isReadonly),n}return pn(n,a)}function Xet(n){if(n.target){Gp(n,U,je,je,je);let T=oLe(Xy(n.target),n.mapper,!1),N=eQ(Co(n.target,0),n.mapper),O=eQ(Co(n.target,1),n.mapper),B=O2e(Ud(n.target),n.mapper);Gp(n,T,N,O,B);return}let a=Oa(n.symbol);if(a.flags&2048){Gp(n,U,je,je,je);let T=Ky(a),N=J0(T.get(\"__call\")),O=J0(T.get(\"__new\")),B=kLe(a);Gp(n,T,N,O,B);return}let c=Qu(a),u;if(a===Ke){let T=new Map;c.forEach(N=>{var O;!(N.flags&418)&&!(N.flags&512&&((O=N.declarations)!=null&&O.length)&&ji(N.declarations,sd))&&T.set(N.escapedName,N)}),c=T}let _;if(Gp(n,c,je,je,je),a.flags&32){let T=cf(a),N=Zu(T);N.flags&11272192?(c=Vo(BT(c)),aLe(c,Xa(N))):N===z&&(_=sh(Ie,z,!1))}let g=z$(c);if(g?u=Kme(g):(_&&(u=pn(u,_)),a.flags&384&&(Cs(a).flags&32||ct(n.properties,T=>!!(Yn(T).flags&296)))&&(u=pn(u,Ir))),Gp(n,c,je,je,u||je),a.flags&8208&&(n.callSignatures=J0(a)),a.flags&32){let T=cf(a),N=a.members?J0(a.members.get(\"__constructor\")):je;a.flags&16&&(N=Pr(N.slice(),Fi(n.callSignatures,O=>T_(O.declaration)?jh(O.declaration,O.typeParameters,O.thisParameter,O.parameters,T,void 0,O.minArgumentCount,O.flags&167):void 0))),N.length||(N=Get(T)),n.constructSignatures=N}}function Yet(n,a,c){return Gi(n,np([a.indexType,a.objectType],[Wm(0),lh([c])]))}function $et(n){let a=Vp(n.mappedType);if(!(a.flags&1048576||a.flags&2097152))return;let c=a.flags&1048576?a.origin:a;if(!c||!(c.flags&2097152))return;let u=Zo(c.types.filter(_=>_!==n.constraintType));return u!==Ar?u:void 0}function Qet(n){let a=Uh(n.source,Ie),c=oh(n.mappedType),u=!(c&1),_=c&4?0:16777216,g=a?[sh(Ie,EQ(a.type,n.mappedType,n.constraintType),u&&a.isReadonly)]:je,T=Vo(),N=$et(n);for(let O of Xa(n.source)){if(N){let me=vD(O,8576);if(!ea(me,N))continue}let B=8192|(u&&Bm(O)?8:0),Q=Ra(4|O.flags&_,O.escapedName,B);if(Q.declarations=O.declarations,Q.links.nameType=Pi(O).nameType,Q.links.propertyType=Yn(O),n.constraintType.type.flags&8388608&&n.constraintType.type.objectType.flags&262144&&n.constraintType.type.indexType.flags&262144){let me=n.constraintType.type.objectType,ue=Yet(n.mappedType,n.constraintType.type,me);Q.links.mappedType=ue,Q.links.constraintType=y_(me)}else Q.links.mappedType=n.mappedType,Q.links.constraintType=n.constraintType;T.set(O.escapedName,Q)}Gp(n,T,je,je,g)}function N7(n){if(n.flags&4194304){let a=ou(n.type);return rb(a)?a2e(a):y_(a)}if(n.flags&16777216){if(n.root.isDistributive){let a=n.checkType,c=N7(a);if(c!==a)return N_e(n,eA(n.root.checkType,c,n.mapper),!1)}return n}if(n.flags&1048576)return Gs(n,N7,!0);if(n.flags&2097152){let a=n.types;return a.length===2&&a[0].flags&76&&a[1]===Wl?n:Zo(sc(n.types,N7))}return n}function Nme(n){return tl(n)&4096}function Pme(n,a,c,u){for(let _ of Xa(n))u(vD(_,a));if(n.flags&1)u(Ie);else for(let _ of Ud(n))(!c||_.keyType.flags&134217732)&&u(_.keyType)}function Zet(n){let a=Vo(),c;Gp(n,U,je,je,je);let u=km(n),_=Vp(n),g=n.target||n,T=Dv(g),N=O$(g)!==2,O=Ng(g),B=ou(HT(n)),Q=oh(n),me=Ae?128:8576;fD(n)?Pme(B,me,Ae,ue):aA(N7(_),ue),Gp(n,a,je,je,c||je);function ue(at){let ht=T?Gi(T,pw(n.mapper,u,at)):at;aA(ht,qt=>We(at,qt))}function We(at,ht){if(Af(ht)){let qt=If(ht),Xt=a.get(qt);if(Xt)Xt.links.nameType=Br([Xt.links.nameType,ht]),Xt.links.keyType=Br([Xt.links.keyType,at]);else{let Hn=Af(at)?Qo(B,If(at)):void 0,En=!!(Q&4||!(Q&8)&&Hn&&Hn.flags&16777216),Kt=!!(Q&1||!(Q&2)&&Hn&&Bm(Hn)),In=H&&!En&&Hn&&Hn.flags&16777216,Sn=Hn?Nme(Hn):0,zn=Ra(4|(En?16777216:0),qt,Sn|262144|(Kt?8:0)|(In?524288:0));zn.links.mappedType=n,zn.links.nameType=ht,zn.links.keyType=at,Hn&&(zn.links.syntheticOrigin=Hn,zn.declarations=N?Hn.declarations:void 0),a.set(qt,zn)}}else if(B$(ht)||ht.flags&33){let qt=ht.flags&5?Ie:ht.flags&40?gt:ht,Xt=Gi(O,pw(n.mapper,u,at)),Hn=iw(B,ht),En=!!(Q&1||!(Q&2)&&Hn?.isReadonly),Kt=sh(qt,Xt,En);c=hLe(c,Kt,!0)}}}function ett(n){if(!n.links.type){let a=n.links.mappedType;if(!rh(n,0))return a.containsError=!0,it;let c=Ng(a.target||a),u=pw(a.mapper,km(a),n.links.keyType),_=Gi(c,u),g=H&&n.flags&16777216&&!ol(_,49152)?ib(_,!0):n.links.checkFlags&524288?hQ(_):_;g_()||(we(R,f.Type_of_property_0_circularly_references_itself_in_mapped_type_1,ai(n),Pn(a)),g=it),n.links.type=g}return n.links.type}function km(n){return n.typeParameter||(n.typeParameter=UT(dr(n.declaration.typeParameter)))}function Vp(n){return n.constraintType||(n.constraintType=iu(km(n))||it)}function Dv(n){return n.declaration.nameType?n.nameType||(n.nameType=Gi(si(n.declaration.nameType),n.mapper)):void 0}function Ng(n){return n.templateType||(n.templateType=n.declaration.type?Gi(Mu(si(n.declaration.type),!0,!!(oh(n)&4)),n.mapper):it)}function gLe(n){return V1(n.declaration.typeParameter)}function fD(n){let a=gLe(n);return a.kind===198&&a.operator===143}function HT(n){if(!n.modifiersType)if(fD(n))n.modifiersType=Gi(si(gLe(n).type),n.mapper);else{let a=b_e(n.declaration),c=Vp(a),u=c&&c.flags&262144?iu(c):c;n.modifiersType=u&&u.flags&4194304?Gi(u.type,n.mapper):Zt}return n.modifiersType}function oh(n){let a=n.declaration;return(a.readonlyToken?a.readonlyToken.kind===41?2:1:0)|(a.questionToken?a.questionToken.kind===41?8:4:0)}function vLe(n){let a=oh(n);return a&8?-1:a&4?1:0}function Mme(n){let a=vLe(n),c=HT(n);return a||(vu(c)?vLe(c):0)}function ttt(n){return!!(br(n)&32&&oh(n)&4)}function vu(n){if(br(n)&32){let a=Vp(n);if(ZT(a))return!0;let c=Dv(n);if(c&&ZT(Gi(c,Q0(km(n),a))))return!0}return!1}function O$(n){let a=Dv(n);return a?ea(a,km(n))?1:2:0}function Om(n){return n.members||(n.flags&524288?n.objectFlags&4?Fet(n):n.objectFlags&3?Wet(n):n.objectFlags&1024?Qet(n):n.objectFlags&16?Xet(n):n.objectFlags&32?Zet(n):x.fail(\"Unhandled object type \"+x.formatObjectFlags(n.objectFlags)):n.flags&1048576?qet(n):n.flags&2097152?Ket(n):x.fail(\"Unhandled type \"+x.formatTypeFlags(n.flags))),n}function Xy(n){return n.flags&524288?Om(n).properties:je}function vE(n,a){if(n.flags&524288){let u=Om(n).members.get(a);if(u&&sm(u))return u}}function P7(n){if(!n.resolvedProperties){let a=Vo();for(let c of n.types){for(let u of Xa(c))if(!a.has(u.escapedName)){let _=L7(n,u.escapedName,!!(n.flags&2097152));_&&a.set(u.escapedName,_)}if(n.flags&1048576&&Ud(c).length===0)break}n.resolvedProperties=dE(a)}return n.resolvedProperties}function Xa(n){return n=LP(n),n.flags&3145728?P7(n):Xy(n)}function ntt(n,a){n=LP(n),n.flags&3670016&&Om(n).members.forEach((c,u)=>{c1(c,u)&&a(c,u)})}function rtt(n,a){return a.properties.some(u=>{let _=u.name&&(Em(u.name)?yu(r2(u.name)):Pv(u.name)),g=_&&Af(_)?If(_):void 0,T=g===void 0?void 0:Fe(n,g);return!!T&&vw(T)&&!ea(S1(u),T)})}function itt(n){let a=Br(n);if(!(a.flags&1048576))return Bge(a);let c=Vo();for(let u of n)for(let{escapedName:_}of Bge(u))if(!c.has(_)){let g=ILe(a,_);g&&c.set(_,g)}return bo(c.values())}function qT(n){return n.flags&262144?iu(n):n.flags&8388608?att(n):n.flags&16777216?ELe(n):md(n)}function iu(n){return M7(n)?OP(n):void 0}function ott(n,a){let c=fw(n);return!!c&&JT(c,a)}function JT(n,a=0){var c;return a<5&&!!(n&&(n.flags&262144&&ct((c=n.symbol)==null?void 0:c.declarations,u=>Wr(u,4096))||n.flags&3145728&&ct(n.types,u=>JT(u,a))||n.flags&8388608&&JT(n.objectType,a+1)||n.flags&16777216&&JT(ELe(n),a+1)||n.flags&33554432&&JT(n.baseType,a)||br(n)&32&&ott(n,a)||rb(n)&&Tl(X0(n),(u,_)=>!!(n.target.elementFlags[_]&8)&&JT(u,a))>=0))}function att(n){return M7(n)?stt(n):void 0}function Lme(n){let a=Lg(n,!1);return a!==n?a:qT(n)}function stt(n){if(Wme(n))return K$(n.objectType,n.indexType);let a=Lme(n.indexType);if(a&&a!==n.indexType){let u=Qy(n.objectType,a,n.accessFlags);if(u)return u}let c=Lme(n.objectType);if(c&&c!==n.objectType)return Qy(c,n.indexType,n.accessFlags)}function kme(n){if(!n.resolvedDefaultConstraint){let a=jnt(n),c=SE(n);n.resolvedDefaultConstraint=vt(a)?c:vt(c)?a:Br([a,c])}return n.resolvedDefaultConstraint}function yLe(n){if(n.resolvedConstraintOfDistributive!==void 0)return n.resolvedConstraintOfDistributive||void 0;if(n.root.isDistributive&&n.restrictiveInstantiation!==n){let a=Lg(n.checkType,!1),c=a===n.checkType?qT(a):a;if(c&&c!==n.checkType){let u=N_e(n,eA(n.root.checkType,c,n.mapper),!0);if(!(u.flags&131072))return n.resolvedConstraintOfDistributive=u,u}}n.resolvedConstraintOfDistributive=!1}function bLe(n){return yLe(n)||kme(n)}function ELe(n){return M7(n)?bLe(n):void 0}function ltt(n,a){let c,u=!1;for(let _ of n)if(_.flags&465829888){let g=qT(_);for(;g&&g.flags&21233664;)g=qT(g);g&&(c=pn(c,g),a&&(c=pn(c,_)))}else(_.flags&469892092||ch(_))&&(u=!0);if(c&&(a||u)){if(u)for(let _ of n)(_.flags&469892092||ch(_))&&(c=pn(c,_));return K7(Zo(c),!1)}}function md(n){if(n.flags&464781312||rb(n)){let a=Ome(n);return a!==ys&&a!==Pc?a:void 0}return n.flags&4194304?ms:void 0}function Pg(n){return md(n)||n}function M7(n){return Ome(n)!==Pc}function Ome(n){if(n.resolvedBaseConstraint)return n.resolvedBaseConstraint;let a=[];return n.resolvedBaseConstraint=c(n);function c(g){if(!g.immediateBaseConstraint){if(!rh(g,4))return Pc;let T,N=dQ(g);if((a.length<10||a.length<50&&!To(a,N))&&(a.push(N),T=_(Lg(g,!1)),a.pop()),!g_()){if(g.flags&262144){let O=Xme(g);if(O){let B=we(O,f.Type_parameter_0_has_a_circular_constraint,Pn(g));R&&!HE(O,R)&&!HE(R,O)&&fa(B,vr(R,f.Circularity_originates_in_type_at_this_location))}}T=Pc}g.immediateBaseConstraint=T||ys}return g.immediateBaseConstraint}function u(g){let T=c(g);return T!==ys&&T!==Pc?T:void 0}function _(g){if(g.flags&262144){let T=OP(g);return g.isThisType||!T?T:u(T)}if(g.flags&3145728){let T=g.types,N=[],O=!1;for(let B of T){let Q=u(B);Q?(Q!==B&&(O=!0),N.push(Q)):O=!0}return O?g.flags&1048576&&N.length===T.length?Br(N):g.flags&2097152&&N.length?Zo(N):void 0:g}if(g.flags&4194304)return ms;if(g.flags&134217728){let T=g.types,N=Fi(T,u);return N.length===T.length?YT(g.texts,N):Ie}if(g.flags&268435456){let T=u(g.type);return T&&T!==g.type?h1(g.symbol,T):Ie}if(g.flags&8388608){if(Wme(g))return u(K$(g.objectType,g.indexType));let T=u(g.objectType),N=u(g.indexType),O=T&&N&&Qy(T,N,g.accessFlags);return O&&u(O)}if(g.flags&16777216){let T=bLe(g);return T&&u(T)}if(g.flags&33554432)return u(e_e(g));if(rb(g)){let T=nn(X0(g),(N,O)=>{let B=N.flags&262144&&g.target.elementFlags[O]&8&&u(N)||N;return B!==N&&Lu(B,Q=>AE(Q)&&!rb(Q))?B:N});return lh(T,g.target.elementFlags,g.target.readonly,g.target.labeledElementDeclarations)}return g}}function ctt(n,a){return n.resolvedApparentType||(n.resolvedApparentType=hp(n,a,!0))}function wme(n){if(n.default)n.default===Bc&&(n.default=Pc);else if(n.target){let a=wme(n.target);n.default=a?Gi(a,n.mapper):ys}else{n.default=Bc;let a=n.symbol&&an(n.symbol.declarations,u=>qs(u)&&u.default),c=a?si(a):ys;n.default===Bc&&(n.default=c)}return n.default}function KT(n){let a=wme(n);return a!==ys&&a!==Pc?a:void 0}function dtt(n){return wme(n)!==Pc}function SLe(n){return!!(n.symbol&&an(n.symbol.declarations,a=>qs(a)&&a.default))}function TLe(n){return n.resolvedApparentType||(n.resolvedApparentType=utt(n))}function utt(n){let a=n.target??n,c=fw(a);if(c&&!a.declaration.nameType){let u=HT(n),_=vu(u)?TLe(u):md(u);if(_&&Lu(_,g=>AE(g)||ALe(g)))return Gi(a,eA(c,_,n.mapper))}return n}function ALe(n){return!!(n.flags&2097152)&&ji(n.types,AE)}function Wme(n){let a;return!!(n.flags&8388608&&br(a=n.objectType)&32&&!vu(a)&&ZT(n.indexType)&&!(oh(a)&8)&&!a.declaration.nameType)}function ou(n){let a=n.flags&465829888?md(n)||Zt:n,c=br(a);return c&32?TLe(a):c&4&&a!==n?hp(a,n):a.flags&2097152?ctt(a,n):a.flags&402653316?Cl:a.flags&296?Kl:a.flags&2112?Ktt():a.flags&528?Bs:a.flags&12288?$Le():a.flags&67108864?ua:a.flags&4194304?ms:a.flags&2&&!H?ua:a}function LP(n){return wm(ou(wm(n)))}function ILe(n,a,c){var u,_,g;let T,N,O,B=n.flags&1048576,Q,me=4,ue=B?0:8,We=!1;for(let zn of n.types){let Mn=ou(zn);if(!(Lt(Mn)||Mn.flags&131072)){let Bn=Qo(Mn,a,c),co=Bn?Kp(Bn):0;if(Bn){if(Bn.flags&106500&&(Q??(Q=B?0:16777216),B?Q|=Bn.flags&16777216:Q&=Bn.flags),!T)T=Bn;else if(Bn!==T)if((ND(Bn)||Bn)===(ND(T)||T)&&B_e(T,Bn,(Eo,Yi)=>Eo===Yi?-1:0)===-1)We=!!T.parent&&!!yn(gr(T.parent));else{N||(N=new Map,N.set(na(T),T));let Eo=na(Bn);N.has(Eo)||N.set(Eo,Bn)}B&&Bm(Bn)?ue|=8:!B&&!Bm(Bn)&&(ue&=-9),ue|=(co&6?0:256)|(co&4?512:0)|(co&2?1024:0)|(co&256?2048:0),whe(Bn)||(me=2)}else if(B){let no=!nw(a)&&m1(Mn,a);no?(ue|=32|(no.isReadonly?8:0),O=pn(O,ga(Mn)?fQ(Mn)||Re:no.type)):RE(Mn)&&!(br(Mn)&2097152)?(ue|=32,O=pn(O,Re)):ue|=16}}}if(!T||B&&(N||ue&48)&&ue&1536&&!(N&&ptt(N.values())))return;if(!N&&!(ue&16)&&!O)if(We){let zn=(u=Vr(T,k_))==null?void 0:u.links,Mn=nA(T,zn?.type);return Mn.parent=(g=(_=T.valueDeclaration)==null?void 0:_.symbol)==null?void 0:g.parent,Mn.links.containingType=n,Mn.links.mapper=zn?.mapper,Mn.links.writeType=q0(T),Mn}else return T;let at=N?bo(N.values()):[T],ht,qt,Xt,Hn=[],En,Kt,In=!1;for(let zn of at){Kt?zn.valueDeclaration&&zn.valueDeclaration!==Kt&&(In=!0):Kt=zn.valueDeclaration,ht=Pr(ht,zn.declarations);let Mn=Yn(zn);qt||(qt=Mn,Xt=Pi(zn).nameType);let Bn=q0(zn);(En||Bn!==Mn)&&(En=pn(En||Hn.slice(),Bn)),Mn!==qt&&(ue|=64),(vw(Mn)||$T(Mn))&&(ue|=128),Mn.flags&131072&&Mn!==Fc&&(ue|=131072),Hn.push(Mn)}Pr(Hn,O);let Sn=Ra(4|(Q??0),a,me|ue);return Sn.links.containingType=n,!In&&Kt&&(Sn.valueDeclaration=Kt,Kt.symbol.parent&&(Sn.parent=Kt.symbol.parent)),Sn.declarations=ht,Sn.links.nameType=Xt,Hn.length>2?(Sn.links.checkFlags|=65536,Sn.links.deferralParent=n,Sn.links.deferralConstituents=Hn,Sn.links.deferralWriteConstituents=En):(Sn.links.type=B?Br(Hn):Zo(Hn),En&&(Sn.links.writeType=B?Br(En):Zo(En))),Sn}function xLe(n,a,c){var u,_,g;let T=c?(u=n.propertyCacheWithoutObjectFunctionPropertyAugment)==null?void 0:u.get(a):(_=n.propertyCache)==null?void 0:_.get(a);return T||(T=ILe(n,a,c),T&&((c?n.propertyCacheWithoutObjectFunctionPropertyAugment||(n.propertyCacheWithoutObjectFunctionPropertyAugment=Vo()):n.propertyCache||(n.propertyCache=Vo())).set(a,T),c&&!(tl(T)&48)&&!((g=n.propertyCache)!=null&&g.get(a))&&(n.propertyCache||(n.propertyCache=Vo())).set(a,T))),T}function ptt(n){let a;for(let c of n){if(!c.declarations)return;if(!a){a=new Set(c.declarations);continue}if(a.forEach(u=>{To(c.declarations,u)||a.delete(u)}),a.size===0)return}return a}function L7(n,a,c){let u=xLe(n,a,c);return u&&!(tl(u)&16)?u:void 0}function wm(n){return n.flags&1048576&&n.objectFlags&16777216?n.resolvedReducedType||(n.resolvedReducedType=ftt(n)):n.flags&2097152?(n.objectFlags&16777216||(n.objectFlags|=16777216|(ct(P7(n),mtt)?33554432:0)),n.objectFlags&33554432?Ar:n):n}function ftt(n){let a=sc(n.types,wm);if(a===n.types)return n;let c=Br(a);return c.flags&1048576&&(c.resolvedReducedType=c),c}function mtt(n){return RLe(n)||DLe(n)}function RLe(n){return!(n.flags&16777216)&&(tl(n)&131264)===192&&!!(Yn(n).flags&131072)}function DLe(n){return!n.valueDeclaration&&!!(tl(n)&1024)}function Fme(n){return!!(n.flags&1048576&&n.objectFlags&16777216&&ct(n.types,Fme)||n.flags&2097152&&_tt(n))}function _tt(n){let a=n.uniqueLiteralFilledInstantiation||(n.uniqueLiteralFilledInstantiation=Gi(n,$i));return wm(a)!==a}function zme(n,a){if(a.flags&2097152&&br(a)&33554432){let c=Dr(P7(a),RLe);if(c)return So(n,f.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,Pn(a,void 0,536870912),ai(c));let u=Dr(P7(a),DLe);if(u)return So(n,f.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,Pn(a,void 0,536870912),ai(u))}return n}function Qo(n,a,c,u){var _,g;if(n=LP(n),n.flags&524288){let T=Om(n),N=T.members.get(a);if(N&&!u&&((_=n.symbol)==null?void 0:_.flags)&512&&((g=Pi(n.symbol).typeOnlyExportStarMap)!=null&&g.has(a)))return;if(N&&sm(N,u))return N;if(c)return;let O=T===Ut?At:T.callSignatures.length?Ln:T.constructSignatures.length?eo:void 0;if(O){let B=vE(O,a);if(B)return B}return vE(Se,a)}if(n.flags&2097152){let T=L7(n,a,!0);return T||(c?void 0:L7(n,a,c))}if(n.flags&1048576)return L7(n,a,c)}function k7(n,a){if(n.flags&3670016){let c=Om(n);return a===0?c.callSignatures:c.constructSignatures}return je}function Co(n,a){let c=k7(LP(n),a);if(a===0&&!yn(c)&&n.flags&1048576){if(n.arrayFallbackSignatures)return n.arrayFallbackSignatures;let u;if(Lu(n,_=>{var g;return!!((g=_.symbol)!=null&&g.parent)&&htt(_.symbol.parent)&&(u?u===_.symbol.escapedName:(u=_.symbol.escapedName,!0))})){let _=Gs(n,T=>eb((CLe(T.symbol.parent)?Oo:Po).typeParameters[0],T.mapper)),g=_d(_,dm(n,T=>CLe(T.symbol.parent)));return n.arrayFallbackSignatures=Co(Fe(g,u),a)}n.arrayFallbackSignatures=c}return c}function htt(n){return!n||!Po.symbol||!Oo.symbol?!1:!!Nm(n,Po.symbol)||!!Nm(n,Oo.symbol)}function CLe(n){return!n||!Oo.symbol?!1:!!Nm(n,Oo.symbol)}function Bme(n,a){return Dr(n,c=>c.keyType===a)}function Gme(n,a){let c,u,_;for(let g of n)g.keyType===Ie?c=g:f1(a,g.keyType)&&(u?(_||(_=[u])).push(g):u=g);return _?sh(Zt,Zo(nn(_,g=>g.type)),Nd(_,(g,T)=>g&&T.isReadonly,!0)):u||(c&&f1(a,Ie)?c:void 0)}function f1(n,a){return ea(n,a)||a===Ie&&ea(n,gt)||a===gt&&(n===Va||!!(n.flags&128)&&Rh(n.value))}function Vme(n){return n.flags&3670016?Om(n).indexInfos:je}function Ud(n){return Vme(LP(n))}function Uh(n,a){return Bme(Ud(n),a)}function yE(n,a){var c;return(c=Uh(n,a))==null?void 0:c.type}function jme(n,a){return Ud(n).filter(c=>f1(a,c.keyType))}function iw(n,a){return Gme(Ud(n),a)}function m1(n,a){return iw(n,nw(a)?di:yu(Ii(a)))}function NLe(n){var a;let c;for(let u of qv(n))c=Kh(c,UT(u.symbol));return c?.length?c:Ql(n)?(a=kP(n))==null?void 0:a.typeParameters:void 0}function Ume(n){let a=[];return n.forEach((c,u)=>{V0(u)||a.push(c)}),a}function w$(n,a){if(Ic(n))return;let c=gu(he,'\"'+n+'\"',512);return c&&a?Oa(c):c}function ow(n){if(OA(n)||t2(n)||n2(n))return!0;if(n.initializer){let c=kf(n.parent),u=n.parent.parameters.indexOf(n);return x.assert(u>=0),u>=A_(c,3)}let a=RS(n.parent);return a?!n.type&&!n.dotDotDotToken&&n.parent.parameters.indexOf(n)>=KQ(a).length:!1}function gtt(n){return xo(n)&&!$m(n)&&n.questionToken}function O7(n,a,c,u){return{kind:n,parameterName:a,parameterIndex:c,type:u}}function ah(n){let a=0;if(n)for(let c=0;c<n.length;c++)SLe(n[c])||(a=c+1);return a}function Yy(n,a,c,u){let _=yn(a);if(!_)return[];let g=yn(n);if(u||g>=c&&g<=_){let T=n?n.slice():[];for(let O=g;O<_;O++)T[O]=it;let N=ohe(u);for(let O=g;O<_;O++){let B=KT(a[O]);u&&B&&(kg(B,Zt)||kg(B,ua))&&(B=z),T[O]=B?Gi(B,np(a,T)):N}return T.length=a.length,T}return n&&n.slice()}function kf(n){let a=Fr(n);if(!a.resolvedSignature){let c=[],u=0,_=0,g,T=Jn(n)?k8(n):void 0,N=!1,O=RS(n),B=dx(n);!O&&Jn(n)&&tne(n)&&!kee(n)&&!bb(n)&&(u|=32);for(let at=B?1:0;at<n.parameters.length;at++){let ht=n.parameters[at];if(Jn(ht)&&kj(ht)){T=ht;continue}let qt=ht.symbol,Xt=Tm(ht)?ht.typeExpression&&ht.typeExpression.type:ht.type;qt&&qt.flags&4&&!ko(ht.name)&&(qt=Xs(ht,qt.escapedName,111551,void 0,void 0,!1)),at===0&&qt.escapedName===\"this\"?(N=!0,g=ht.symbol):c.push(qt),Xt&&Xt.kind===201&&(u|=2),t2(ht)||ht.initializer||ht.questionToken||gh(ht)||O&&c.length>O.arguments.length&&!Xt||n2(ht)||(_=c.length)}if((n.kind===177||n.kind===178)&&pD(n)&&(!N||!g)){let at=n.kind===177?178:177,ht=Vs(dr(n),at);ht&&(g=R$(ht))}T&&T.typeExpression&&(g=nA(Ra(1,\"this\"),si(T.typeExpression)));let me=wb(n)?Rb(n):n,ue=me&&ll(me)?cf(Oa(me.parent.symbol)):void 0,We=ue?ue.localTypeParameters:NLe(n);(i9(n)||Jn(n)&&vtt(n,c))&&(u|=1),(kx(n)&&Wr(n,64)||ll(n)&&Wr(n.parent,64))&&(u|=4),a.resolvedSignature=jh(n,We,g,c,void 0,void 0,_,u)}return a.resolvedSignature}function vtt(n,a){if(wb(n)||!Hme(n))return!1;let c=Ns(n.parameters),u=c?G1(c):Eb(n).filter(Tm),_=ml(u,T=>T.typeExpression&&E6(T.typeExpression.type)?T.typeExpression.type:void 0),g=Ra(3,\"args\",32768);return _?g.links.type=_d(si(_.type)):(g.links.checkFlags|=65536,g.links.deferralParent=Ar,g.links.deferralConstituents=[Nl],g.links.deferralWriteConstituents=[Nl]),_&&a.pop(),a.push(g),!0}function kP(n){if(!(Jn(n)&&hs(n)))return;let a=yb(n);return a?.typeExpression&&dA(si(a.typeExpression))}function ytt(n,a){let c=kP(n);if(!c)return;let u=n.parameters.indexOf(a);return a.dotDotDotToken?I5(c,u):zm(c,u)}function btt(n){let a=kP(n);return a&&Ha(a)}function Hme(n){let a=Fr(n);return a.containsArgumentsReference===void 0&&(a.flags&512?a.containsArgumentsReference=!0:a.containsArgumentsReference=c(n.body)),a.containsArgumentsReference;function c(u){if(!u)return!1;switch(u.kind){case 80:return u.escapedText===Dt.escapedName&&Gw(u)===Dt;case 172:case 174:case 177:case 178:return u.name.kind===167&&c(u.name);case 211:case 212:return c(u.expression);case 303:return c(u.initializer);default:return!X9(u)&&!yh(u)&&!!Ao(u,c)}}}function J0(n){if(!n||!n.declarations)return je;let a=[];for(let c=0;c<n.declarations.length;c++){let u=n.declarations[c];if(Lo(u)){if(c>0&&u.body){let _=n.declarations[c-1];if(u.parent===_.parent&&u.kind===_.kind&&u.pos===_.end)continue}if(Jn(u)&&u.jsDoc){let _=z9(u);if(yn(_)){for(let g of _){let T=g.typeExpression;T.type===void 0&&!ll(u)&&IE(T,z),a.push(kf(T))}continue}}a.push(!e0(u)&&!qf(u)&&kP(u)||kf(u))}}return a}function PLe(n){let a=jd(n,n);if(a){let c=$u(a);if(c)return Yn(c)}return z}function bE(n){if(n.thisParameter)return Yn(n.thisParameter)}function df(n){if(!n.resolvedTypePredicate){if(n.target){let a=df(n.target);n.resolvedTypePredicate=a?irt(a,n.mapper):xe}else if(n.compositeSignatures)n.resolvedTypePredicate=ynt(n.compositeSignatures,n.compositeKind)||xe;else{let a=n.declaration&&Tf(n.declaration),c;if(!a){let u=kP(n.declaration);u&&n!==u&&(c=df(u))}n.resolvedTypePredicate=a&&T2(a)?Ett(a,n):c||xe}x.assert(!!n.resolvedTypePredicate)}return n.resolvedTypePredicate===xe?void 0:n.resolvedTypePredicate}function Ett(n,a){let c=n.parameterName,u=n.type&&si(n.type);return c.kind===197?O7(n.assertsModifier?2:0,void 0,void 0,u):O7(n.assertsModifier?3:1,c.escapedText,Tl(a.parameters,_=>_.escapedName===c.escapedText),u)}function MLe(n,a,c){return a!==2097152?Br(n,c):Zo(n)}function Ha(n){if(!n.resolvedReturnType){if(!rh(n,3))return it;let a=n.target?Gi(Ha(n.target),n.mapper):n.compositeSignatures?Gi(MLe(nn(n.compositeSignatures,Ha),n.compositeKind,2),n.mapper):mD(n.declaration)||(_l(n.declaration.body)?z:QQ(n.declaration));if(n.flags&8?a=pke(a):n.flags&16&&(a=ib(a)),!g_()){if(n.declaration){let c=Tf(n.declaration);if(c)we(c,f.Return_type_annotation_circularly_references_itself);else if(ce){let u=n.declaration,_=mo(u);_?we(_,f._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,is(_)):we(u,f.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions)}}a=z}n.resolvedReturnType=a}return n.resolvedReturnType}function mD(n){if(n.kind===176)return cf(Oa(n.parent.symbol));let a=Tf(n);if(wb(n)){let c=ux(n);if(c&&ll(c.parent)&&!a)return cf(Oa(c.parent.parent.symbol))}if(dx(n))return si(n.parameters[0].type);if(a)return si(a);if(n.kind===177&&pD(n)){let c=Jn(n)&&xg(n);if(c)return c;let u=Vs(dr(n),178),_=_E(u);if(_)return _}return btt(n)}function W$(n){return n.compositeSignatures&&ct(n.compositeSignatures,W$)||!n.resolvedReturnType&&u1(n,3)>=0}function Stt(n){return LLe(n)||z}function LLe(n){if(Td(n)){let a=Yn(n.parameters[n.parameters.length-1]),c=ga(a)?fQ(a):a;return c&&yE(c,gt)}}function aw(n,a,c,u){let _=qme(n,Yy(a,n.typeParameters,ah(n.typeParameters),c));if(u){let g=HOe(Ha(_));if(g){let T=rw(g);T.typeParameters=u;let N=rw(_);return N.resolvedReturnType=XT(T),N}}return _}function qme(n,a){let c=n.instantiations||(n.instantiations=new Map),u=Of(a),_=c.get(u);return _||c.set(u,_=F$(n,a)),_}function F$(n,a){return ED(n,Ttt(n,a),!0)}function Ttt(n,a){return np(n.typeParameters,a)}function sw(n){return n.typeParameters?n.erasedSignatureCache||(n.erasedSignatureCache=Att(n)):n}function Att(n){return ED(n,w2e(n.typeParameters),!0)}function Itt(n){return n.typeParameters?n.canonicalSignatureCache||(n.canonicalSignatureCache=xtt(n)):n}function xtt(n){return aw(n,nn(n.typeParameters,a=>a.target&&!iu(a.target)?a.target:a),Jn(n.declaration))}function Rtt(n){let a=n.typeParameters;if(a){if(n.baseSignatureCache)return n.baseSignatureCache;let c=w2e(a),u=np(a,nn(a,g=>iu(g)||Zt)),_=nn(a,g=>Gi(g,u)||Zt);for(let g=0;g<a.length-1;g++)_=Mv(_,u);return _=Mv(_,c),n.baseSignatureCache=ED(n,np(a,_),!0)}return n}function XT(n){var a;if(!n.isolatedSignatureType){let c=(a=n.declaration)==null?void 0:a.kind,u=c===void 0||c===176||c===180||c===185,_=af(16);_.members=U,_.properties=je,_.callSignatures=u?je:[n],_.constructSignatures=u?[n]:je,_.indexInfos=je,n.isolatedSignatureType=_}return n.isolatedSignatureType}function Jme(n){return n.members?z$(n.members):void 0}function z$(n){return n.get(\"__index\")}function sh(n,a,c,u){return{keyType:n,type:a,isReadonly:c,declaration:u}}function kLe(n){let a=Jme(n);return a?Kme(a):je}function Kme(n){if(n.declarations){let a=[];for(let c of n.declarations)if(c.parameters.length===1){let u=c.parameters[0];u.type&&aA(si(u.type),_=>{B$(_)&&!Bme(a,_)&&a.push(sh(_,c.type?si(c.type):z,zu(c,8),c))})}return a}return je}function B$(n){return!!(n.flags&4108)||$T(n)||!!(n.flags&2097152)&&!yD(n)&&ct(n.types,B$)}function Xme(n){return Fi(Cr(n.symbol&&n.symbol.declarations,qs),V1)[0]}function OLe(n,a){var c;let u;if((c=n.symbol)!=null&&c.declarations){for(let _ of n.symbol.declarations)if(_.parent.kind===195){let[g=_.parent,T]=nne(_.parent.parent);if(T.kind===183&&!a){let N=T,O=yge(N);if(O){let B=N.typeArguments.indexOf(g);if(B<O.length){let Q=iu(O[B]);if(Q){let me=x_e(O,O.map((We,at)=>()=>Vlt(N,O,at))),ue=Gi(Q,me);ue!==n&&(u=pn(u,ue))}}}}else if(T.kind===169&&T.dotDotDotToken||T.kind===191||T.kind===202&&T.dotDotDotToken)u=pn(u,_d(Zt));else if(T.kind===204)u=pn(u,Ie);else if(T.kind===168&&T.parent.kind===200)u=pn(u,ms);else if(T.kind===200&&T.type&&Ka(T.type)===_.parent&&T.parent.kind===194&&T.parent.extendsType===T&&T.parent.checkType.kind===200&&T.parent.checkType.type){let N=T.parent.checkType,O=si(N.type);u=pn(u,Gi(O,Q0(UT(dr(N.typeParameter)),N.typeParameter.constraint?si(N.typeParameter.constraint):ms)))}}}return u&&Zo(u)}function OP(n){if(!n.constraint)if(n.target){let a=iu(n.target);n.constraint=a?Gi(a,n.mapper):ys}else{let a=Xme(n);if(!a)n.constraint=OLe(n)||ys;else{let c=si(a);c.flags&1&&!Lt(c)&&(c=a.parent.parent.kind===200?ms:Zt),n.constraint=c}}return n.constraint===ys?void 0:n.constraint}function wLe(n){let a=Vs(n.symbol,168),c=Df(a.parent)?NW(a.parent):a.parent;return c&&Fp(c)}function Of(n){let a=\"\";if(n){let c=n.length,u=0;for(;u<c;){let _=n[u].id,g=1;for(;u+g<c&&n[u+g].id===_+g;)g++;a.length&&(a+=\",\"),a+=_,g>1&&(a+=\":\"+g),u+=g}}return a}function _1(n,a){return n?`@${na(n)}`+(a?`:${Of(a)}`:\"\"):\"\"}function G$(n,a){let c=0;for(let u of n)(a===void 0||!(u.flags&a))&&(c|=br(u));return c&458752}function _D(n,a){return ct(a)&&n===ho?Zt:Cv(n,a)}function Cv(n,a){let c=Of(a),u=n.instantiations.get(c);return u||(u=af(4,n.symbol),n.instantiations.set(c,u),u.objectFlags|=a?G$(a):0,u.target=n,u.resolvedTypeArguments=a),u}function WLe(n){let a=Gh(n.flags,n.symbol);return a.objectFlags=n.objectFlags,a.target=n.target,a.resolvedTypeArguments=n.resolvedTypeArguments,a}function Yme(n,a,c,u,_){if(!u){u=g1(a);let T=bD(u);_=c?Mv(T,c):T}let g=af(4,n.symbol);return g.target=n,g.node=a,g.mapper=c,g.aliasSymbol=u,g.aliasTypeArguments=_,g}function Ts(n){var a,c;if(!n.resolvedTypeArguments){if(!rh(n,6))return((a=n.target.localTypeParameters)==null?void 0:a.map(()=>it))||je;let u=n.node,_=u?u.kind===183?ro(n.target.outerTypeParameters,rZ(u,n.target.localTypeParameters)):u.kind===188?[si(u.elementType)]:nn(u.elements,si):je;g_()?n.resolvedTypeArguments=n.mapper?Mv(_,n.mapper):_:(n.resolvedTypeArguments=((c=n.target.localTypeParameters)==null?void 0:c.map(()=>it))||je,we(n.node||R,n.target.symbol?f.Type_arguments_for_0_circularly_reference_themselves:f.Tuple_type_arguments_circularly_reference_themselves,n.target.symbol&&ai(n.target.symbol)))}return n.resolvedTypeArguments}function Nv(n){return yn(n.target.typeParameters)}function FLe(n,a){let c=Cs(Oa(a)),u=c.localTypeParameters;if(u){let _=yn(n.typeArguments),g=ah(u),T=Jn(n);if(!(!ce&&T)&&(_<g||_>u.length)){let B=T&&sv(n)&&!_I(n.parent),Q=g===u.length?B?f.Expected_0_type_arguments_provide_these_with_an_extends_tag:f.Generic_type_0_requires_1_type_argument_s:B?f.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:f.Generic_type_0_requires_between_1_and_2_type_arguments,me=Pn(c,void 0,2);if(we(n,Q,me,g,u.length),!T)return it}if(n.kind===183&&i2e(n,yn(n.typeArguments)!==u.length))return Yme(c,n,void 0);let O=ro(c.outerTypeParameters,Yy(w7(n),u,g,T));return Cv(c,O)}return K0(n,a)?c:it}function hD(n,a,c,u){let _=Cs(n);if(_===Qt){let B=u4.get(n.escapedName);if(B!==void 0&&a&&a.length===1)return B===4?$me(a[0]):h1(n,a[0])}let g=Pi(n),T=g.typeParameters,N=Of(a)+_1(c,u),O=g.instantiations.get(N);return O||g.instantiations.set(N,O=z2e(_,np(T,Yy(a,T,ah(T),Jn(n.valueDeclaration))),c,u)),O}function Dtt(n,a){if(tl(a)&1048576){let _=w7(n),g=_1(a,_),T=Ce.get(g);return T||(T=Fl(1,\"error\",void 0,`alias ${g}`),T.aliasSymbol=a,T.aliasTypeArguments=_,Ce.set(g,T)),T}let c=Cs(a),u=Pi(a).typeParameters;if(u){let _=yn(n.typeArguments),g=ah(u);if(_<g||_>u.length)return we(n,g===u.length?f.Generic_type_0_requires_1_type_argument_s:f.Generic_type_0_requires_between_1_and_2_type_arguments,ai(a),g,u.length),it;let T=g1(n),N=T&&(zLe(a)||!zLe(T))?T:void 0,O;if(N)O=bD(N);else if(X8(n)){let B=gD(n,2097152,!0);if(B&&B!==tt){let Q=fc(B);Q&&Q.flags&524288&&(N=Q,O=w7(n)||(u?[]:void 0))}}return hD(a,w7(n),N,O)}return K0(n,a)?c:it}function zLe(n){var a;let c=(a=n.declarations)==null?void 0:a.find(RL);return!!(c&&cp(c))}function Ctt(n){switch(n.kind){case 183:return n.typeName;case 233:let a=n.expression;if(gl(a))return a}}function BLe(n){return n.parent?`${BLe(n.parent)}.${n.escapedName}`:n.escapedName}function V$(n){let c=(n.kind===166?n.right:n.kind===211?n.name:n).escapedText;if(c){let u=n.kind===166?V$(n.left):n.kind===211?V$(n.expression):void 0,_=u?`${BLe(u)}.${c}`:c,g=re.get(_);return g||(re.set(_,g=Ra(524288,c,1048576)),g.parent=u,g.links.declaredType=Ct),g}return tt}function gD(n,a,c){let u=Ctt(n);if(!u)return tt;let _=Es(u,a,c);return _&&_!==tt?_:c?tt:V$(u)}function j$(n,a){if(a===tt)return it;if(a=xP(a)||a,a.flags&96)return FLe(n,a);if(a.flags&524288)return Dtt(n,a);let c=rLe(a);if(c)return K0(n,a)?qd(c):it;if(a.flags&111551&&U$(n)){let u=Ntt(n,a);return u||(gD(n,788968),Yn(a))}return it}function Ntt(n,a){let c=Fr(n);if(!c.resolvedJSDocType){let u=Yn(a),_=u;if(a.valueDeclaration){let g=n.kind===205&&n.qualifier;u.symbol&&u.symbol!==a&&g&&(_=j$(n,u.symbol))}c.resolvedJSDocType=_}return c.resolvedJSDocType}function $me(n){return Qme(n)?GLe(n,Zt):n}function Qme(n){return!!(n.flags&3145728&&ct(n.types,Qme)||n.flags&33554432&&!wP(n)&&Qme(n.baseType)||n.flags&524288&&!ch(n)||n.flags&432275456&&!$T(n))}function wP(n){return!!(n.flags&33554432&&n.constraint.flags&2)}function Zme(n,a){return a.flags&3||a===n||n.flags&1?n:GLe(n,a)}function GLe(n,a){let c=`${Hd(n)}>${Hd(a)}`,u=so.get(c);if(u)return u;let _=Bh(33554432);return _.baseType=n,_.constraint=a,so.set(c,_),_}function e_e(n){return wP(n)?n.baseType:Zo([n.constraint,n.baseType])}function VLe(n){return n.kind===189&&n.elements.length===1}function jLe(n,a,c){return VLe(a)&&VLe(c)?jLe(n,a.elements[0],c.elements[0]):Zy(si(a))===Zy(n)?si(c):void 0}function Ptt(n,a){let c,u=!0;for(;a&&!Di(a)&&a.kind!==327;){let _=a.parent;if(_.kind===169&&(u=!u),(u||n.flags&8650752)&&_.kind===194&&a===_.trueType){let g=jLe(n,_.checkType,_.extendsType);g&&(c=pn(c,g))}else if(n.flags&262144&&_.kind===200&&!_.nameType&&a===_.type){let g=si(_);if(km(g)===Zy(n)){let T=fw(g);if(T){let N=iu(T);N&&Lu(N,AE)&&(c=pn(c,Br([gt,Va])))}}}a=_}return c?Zme(n,Zo(c)):n}function U$(n){return!!(n.flags&16777216)&&(n.kind===183||n.kind===205)}function K0(n,a){return n.typeArguments?(we(n,f.Type_0_is_not_generic,a?ai(a):n.typeName?is(n.typeName):s4),!1):!0}function ULe(n){if(Me(n.typeName)){let a=n.typeArguments;switch(n.typeName.escapedText){case\"String\":return K0(n),Ie;case\"Number\":return K0(n),gt;case\"Boolean\":return K0(n),ti;case\"Void\":return K0(n),jn;case\"Undefined\":return K0(n),Re;case\"Null\":return K0(n),se;case\"Function\":case\"function\":return K0(n),At;case\"array\":return(!a||!a.length)&&!ce?Nl:void 0;case\"promise\":return(!a||!a.length)&&!ce?R5(z):void 0;case\"Object\":if(a&&a.length===2){if(TW(n)){let c=si(a[0]),u=si(a[1]),_=c===Ie||c===gt?[sh(c,u,!1)]:je;return cs(void 0,U,je,je,_)}return z}return K0(n),ce?void 0:z}}}function Mtt(n){let a=si(n.type);return H?e5(a,65536):a}function t_e(n){let a=Fr(n);if(!a.resolvedType){if(Qh(n)&&ES(n.parent))return a.resolvedSymbol=tt,a.resolvedType=Ml(n.parent.expression);let c,u,_=788968;U$(n)&&(u=ULe(n),u||(c=gD(n,_,!0),c===tt?c=gD(n,_|111551):gD(n,_),u=j$(n,c))),u||(c=gD(n,_),u=j$(n,c)),a.resolvedSymbol=c,a.resolvedType=u}return a.resolvedType}function w7(n){return nn(n.typeArguments,si)}function HLe(n){let a=Fr(n);if(!a.resolvedType){let c=uwe(n);a.resolvedType=qd(gp(c))}return a.resolvedType}function qLe(n,a){function c(_){let g=_.declarations;if(g)for(let T of g)switch(T.kind){case 263:case 264:case 266:return T}}if(!n)return a?ho:ua;let u=Cs(n);return u.flags&524288?yn(u.typeParameters)!==a?(we(c(n),f.Global_type_0_must_have_1_type_parameter_s,$s(n),a),a?ho:ua):u:(we(c(n),f.Global_type_0_must_be_a_class_or_interface_type,$s(n)),a?ho:ua)}function n_e(n,a){return WP(n,111551,a?f.Cannot_find_global_value_0:void 0)}function r_e(n,a){return WP(n,788968,a?f.Cannot_find_global_type_0:void 0)}function H$(n,a,c){let u=WP(n,788968,c?f.Cannot_find_global_type_0:void 0);if(u&&(Cs(u),yn(Pi(u).typeParameters)!==a)){let _=u.declarations&&Dr(u.declarations,Xf);we(_,f.Global_type_0_must_have_1_type_parameter_s,$s(u),a);return}return u}function WP(n,a,c){return Xs(void 0,n,a,c,n,!1,!1,!1)}function Pl(n,a,c){let u=r_e(n,c);return u||c?qLe(u,a):void 0}function Ltt(){return X_||(X_=Pl(\"TypedPropertyDescriptor\",1,!0)||ho)}function ktt(){return Vn||(Vn=Pl(\"TemplateStringsArray\",0,!0)||ua)}function JLe(){return jr||(jr=Pl(\"ImportMeta\",0,!0)||ua)}function KLe(){if(!Or){let n=Ra(0,\"ImportMetaExpression\"),a=JLe(),c=Ra(4,\"meta\",8);c.parent=n,c.links.type=a;let u=Vo([c]);n.members=u,Or=cs(n,u,je,je,je)}return Or}function XLe(n){return zi||(zi=Pl(\"ImportCallOptions\",0,n))||ua}function i_e(n){return _a||(_a=Pl(\"ImportAttributes\",0,n))||ua}function YLe(n){return tu||(tu=n_e(\"Symbol\",n))}function Ott(n){return nf||(nf=r_e(\"SymbolConstructor\",n))}function $Le(){return u_||(u_=Pl(\"Symbol\",0,!1))||ua}function W7(n){return fg||(fg=Pl(\"Promise\",1,n))||ho}function QLe(n){return fd||(fd=Pl(\"PromiseLike\",1,n))||ho}function o_e(n){return mg||(mg=n_e(\"Promise\",n))}function wtt(n){return Ku||(Ku=Pl(\"PromiseConstructorLike\",0,n))||ua}function q$(n){return k||(k=Pl(\"AsyncIterable\",1,n))||ho}function Wtt(n){return ge||(ge=Pl(\"AsyncIterator\",3,n))||ho}function Ftt(n){return Xe||(Xe=Pl(\"AsyncIterableIterator\",1,n))||ho}function ztt(n){return Mt||(Mt=Pl(\"AsyncGenerator\",3,n))||ho}function a_e(n){return Lh||(Lh=Pl(\"Iterable\",1,n))||ho}function Btt(n){return mu||(mu=Pl(\"Iterator\",3,n))||ho}function Gtt(n){return Y||(Y=Pl(\"IterableIterator\",1,n))||ho}function Vtt(n){return Ye||(Ye=Pl(\"Generator\",3,n))||ho}function jtt(n){return xt||(xt=Pl(\"IteratorYieldResult\",1,n))||ho}function Utt(n){return Nt||(Nt=Pl(\"IteratorReturnResult\",1,n))||ho}function ZLe(n){return ha||(ha=Pl(\"Disposable\",0,n))||ua}function Htt(n){return pl||(pl=Pl(\"AsyncDisposable\",0,n))||ua}function e2e(n,a=0){let c=WP(n,788968,void 0);return c&&qLe(c,a)}function qtt(){return Gc||(Gc=H$(\"Extract\",2,!0)||tt),Gc===tt?void 0:Gc}function Jtt(){return nc||(nc=H$(\"Omit\",2,!0)||tt),nc===tt?void 0:nc}function s_e(n){return Xu||(Xu=H$(\"Awaited\",1,n)||(n?tt:void 0)),Xu===tt?void 0:Xu}function Ktt(){return _u||(_u=Pl(\"BigInt\",0,!1))||ua}function Xtt(n){return em??(em=Pl(\"ClassDecoratorContext\",1,n))??ho}function Ytt(n){return tm??(tm=Pl(\"ClassMethodDecoratorContext\",2,n))??ho}function $tt(n){return Ri??(Ri=Pl(\"ClassGetterDecoratorContext\",2,n))??ho}function Qtt(n){return _g??(_g=Pl(\"ClassSetterDecoratorContext\",2,n))??ho}function Ztt(n){return yv??(yv=Pl(\"ClassAccessorDecoratorContext\",2,n))??ho}function ent(n){return nm??(nm=Pl(\"ClassAccessorDecoratorTarget\",2,n))??ho}function tnt(n){return D0??(D0=Pl(\"ClassAccessorDecoratorResult\",2,n))??ho}function nnt(n){return C0??(C0=Pl(\"ClassFieldDecoratorContext\",2,n))??ho}function rnt(){return Ay||(Ay=n_e(\"NaN\",!1))}function int(){return ja||(ja=H$(\"Record\",2,!0)||tt),ja===tt?void 0:ja}function lw(n,a){return n!==ho?Cv(n,a):ua}function t2e(n){return lw(Ltt(),[n])}function n2e(n){return lw(a_e(!0),[n])}function _d(n,a){return lw(a?Oo:Po,[n])}function l_e(n){switch(n.kind){case 190:return 2;case 191:return r2e(n);case 202:return n.questionToken?2:n.dotDotDotToken?r2e(n):1;default:return 1}}function r2e(n){return V7(n.type)?4:8}function ont(n){let a=lnt(n.parent);if(V7(n))return a?Oo:Po;let u=nn(n.elements,l_e);return c_e(u,a,nn(n.elements,ant))}function ant(n){return Ox(n)||ao(n)?n:void 0}function i2e(n,a){return!!g1(n)||o2e(n)&&(n.kind===188?$y(n.elementType):n.kind===189?ct(n.elements,$y):a||ct(n.typeArguments,$y))}function o2e(n){let a=n.parent;switch(a.kind){case 196:case 202:case 183:case 192:case 193:case 199:case 194:case 198:case 188:case 189:return o2e(a);case 265:return!0}return!1}function $y(n){switch(n.kind){case 183:return U$(n)||!!(gD(n,788968).flags&524288);case 186:return!0;case 198:return n.operator!==158&&$y(n.type);case 196:case 190:case 202:case 323:case 321:case 322:case 316:return $y(n.type);case 191:return n.type.kind!==188||$y(n.type.elementType);case 192:case 193:return ct(n.types,$y);case 199:return $y(n.objectType)||$y(n.indexType);case 194:return $y(n.checkType)||$y(n.extendsType)||$y(n.trueType)||$y(n.falseType)}return!1}function snt(n){let a=Fr(n);if(!a.resolvedType){let c=ont(n);if(c===ho)a.resolvedType=ua;else if(!(n.kind===189&&ct(n.elements,u=>!!(l_e(u)&8)))&&i2e(n))a.resolvedType=n.kind===189&&n.elements.length===0?c:Yme(c,n,void 0);else{let u=n.kind===188?[si(n.elementType)]:nn(n.elements,si);a.resolvedType=d_e(c,u)}}return a.resolvedType}function lnt(n){return jS(n)&&n.operator===148}function lh(n,a,c=!1,u=[]){let _=c_e(a||nn(n,g=>1),c,u);return _===ho?ua:n.length?d_e(_,n):_}function c_e(n,a,c){if(n.length===1&&n[0]&4)return a?Oo:Po;let u=nn(n,g=>g&1?\"#\":g&2?\"?\":g&4?\".\":\"*\").join()+(a?\"R\":\"\")+(ct(c,g=>!!g)?\",\"+nn(c,g=>g?Fa(g):\"_\").join(\",\"):\"\"),_=io.get(u);return _||io.set(u,_=cnt(n,a,c)),_}function cnt(n,a,c){let u=n.length,_=Wv(n,me=>!!(me&9)),g,T=[],N=0;if(u){g=new Array(u);for(let me=0;me<u;me++){let ue=g[me]=Bp(),We=n[me];if(N|=We,!(N&12)){let at=Ra(4|(We&2?16777216:0),\"\"+me,a?8:0);at.links.tupleLabelDeclaration=c?.[me],at.links.type=ue,T.push(at)}}}let O=T.length,B=Ra(4,\"length\",a?8:0);if(N&12)B.links.type=gt;else{let me=[];for(let ue=_;ue<=u;ue++)me.push(Wm(ue));B.links.type=Br(me)}T.push(B);let Q=af(12);return Q.typeParameters=g,Q.outerTypeParameters=void 0,Q.localTypeParameters=g,Q.instantiations=new Map,Q.instantiations.set(Of(Q.typeParameters),Q),Q.target=Q,Q.resolvedTypeArguments=Q.typeParameters,Q.thisType=Bp(),Q.thisType.isThisType=!0,Q.thisType.constraint=Q,Q.declaredProperties=T,Q.declaredCallSignatures=je,Q.declaredConstructSignatures=je,Q.declaredIndexInfos=je,Q.elementFlags=n,Q.minLength=_,Q.fixedLength=O,Q.hasRestElement=!!(N&12),Q.combinedFlags=N,Q.readonly=a,Q.labeledElementDeclarations=c,Q}function d_e(n,a){return n.objectFlags&8?u_e(n,a):Cv(n,a)}function u_e(n,a){var c,u,_,g;if(!(n.combinedFlags&14))return Cv(n,a);if(n.combinedFlags&8){let at=Tl(a,(ht,qt)=>!!(n.elementFlags[qt]&8&&ht.flags&1179648));if(at>=0)return z7(nn(a,(ht,qt)=>n.elementFlags[qt]&8?ht:Zt))?Gs(a[at],ht=>u_e(n,oB(a,at,ht))):it}let T=[],N=[],O=[],B=-1,Q=-1,me=-1;for(let at=0;at<a.length;at++){let ht=a[at],qt=n.elementFlags[at];if(qt&8)if(ht.flags&1)We(ht,4,(c=n.labeledElementDeclarations)==null?void 0:c[at]);else if(ht.flags&58982400||vu(ht))We(ht,8,(u=n.labeledElementDeclarations)==null?void 0:u[at]);else if(ga(ht)){let Xt=X0(ht);if(Xt.length+T.length>=1e4)return we(R,yh(R)?f.Type_produces_a_tuple_type_that_is_too_large_to_represent:f.Expression_produces_a_tuple_type_that_is_too_large_to_represent),it;an(Xt,(Hn,En)=>{var Kt;return We(Hn,ht.target.elementFlags[En],(Kt=ht.target.labeledElementDeclarations)==null?void 0:Kt[En])})}else We(Lv(ht)&&yE(ht,gt)||it,4,(_=n.labeledElementDeclarations)==null?void 0:_[at]);else We(ht,qt,(g=n.labeledElementDeclarations)==null?void 0:g[at])}for(let at=0;at<B;at++)N[at]&2&&(N[at]=1);Q>=0&&Q<me&&(T[Q]=Br(sc(T.slice(Q,me+1),(at,ht)=>N[Q+ht]&8?tp(at,gt):at)),T.splice(Q+1,me-Q),N.splice(Q+1,me-Q),O.splice(Q+1,me-Q));let ue=c_e(N,n.readonly,O);return ue===ho?ua:N.length?Cv(ue,T):ue;function We(at,ht,qt){ht&1&&(B=N.length),ht&4&&Q<0&&(Q=N.length),ht&6&&(me=N.length),T.push(ht&2?Mu(at,!0):at),N.push(ht),O.push(qt)}}function FP(n,a,c=0){let u=n.target,_=Nv(n)-c;return a>u.fixedLength?Xrt(n)||lh(je):lh(Ts(n).slice(a,_),u.elementFlags.slice(a,_),!1,u.labeledElementDeclarations&&u.labeledElementDeclarations.slice(a,_))}function a2e(n){return Br(pn(OZ(n.target.fixedLength,a=>yu(\"\"+a)),y_(n.target.readonly?Oo:Po)))}function dnt(n,a){let c=Tl(n.elementFlags,u=>!(u&a));return c>=0?c:n.elementFlags.length}function cw(n,a){return n.elementFlags.length-Uw(n.elementFlags,c=>!(c&a))-1}function p_e(n){return n.fixedLength+cw(n,3)}function X0(n){let a=Ts(n),c=Nv(n);return a.length===c?a:a.slice(0,c)}function unt(n){return Mu(si(n.type),!0)}function Hd(n){return n.id}function Mg(n,a){return Vg(n,a,Hd,Ms)>=0}function F7(n,a){let c=Vg(n,a,Hd,Ms);return c<0?(n.splice(~c,0,a),!0):!1}function pnt(n,a,c){let u=c.flags;if(!(u&131072))if(a|=u&473694207,u&465829888&&(a|=33554432),u&2097152&&br(c)&67108864&&(a|=536870912),c===_t&&(a|=8388608),!H&&u&98304)br(c)&65536||(a|=4194304);else{let _=n.length,g=_&&c.id>n[_-1].id?~_:Vg(n,c,Hd,Ms);g<0&&n.splice(~g,0,c)}return a}function s2e(n,a,c){let u;for(let _ of c)_!==u&&(a=_.flags&1048576?s2e(n,a|(vnt(_)?1048576:0),_.types):pnt(n,a,_),u=_);return a}function fnt(n,a){var c;if(n.length<2)return n;let u=Of(n),_=Jo.get(u);if(_)return _;let g=a&&ct(n,B=>!!(B.flags&524288)&&!vu(B)&&k_e(Om(B))),T=n.length,N=T,O=0;for(;N>0;){N--;let B=n[N];if(g||B.flags&469499904){if(B.flags&262144&&Pg(B).flags&1048576){b_(B,Br(nn(n,ue=>ue===B?Ar:ue)),rf)&&Bv(n,N);continue}let Q=B.flags&61603840?Dr(Xa(B),ue=>Fm(Yn(ue))):void 0,me=Q&&qd(Yn(Q));for(let ue of n)if(B!==ue){if(O===1e5&&O/(T-N)*T>1e6){(c=qn)==null||c.instant(qn.Phase.CheckTypes,\"removeSubtypes_DepthLimit\",{typeIds:n.map(at=>at.id)}),we(R,f.Expression_produces_a_union_type_that_is_too_complex_to_represent);return}if(O++,Q&&ue.flags&61603840){let We=Fe(ue,Q.escapedName);if(We&&Fm(We)&&qd(We)!==me)continue}if(b_(B,ue,rf)&&(!(br(Rv(B))&1)||!(br(Rv(ue))&1)||TE(B,ue))){Bv(n,N);break}}}}return Jo.set(u,n),n}function mnt(n,a,c){let u=n.length;for(;u>0;){u--;let _=n[u],g=_.flags;(g&402653312&&a&4||g&256&&a&8||g&2048&&a&64||g&8192&&a&4096||c&&g&32768&&a&16384||$0(_)&&Mg(n,_.regularType))&&Bv(n,u)}}function _nt(n){let a=Cr(n,$T);if(a.length){let c=n.length;for(;c>0;){c--;let u=n[c];u.flags&128&&ct(a,_=>hnt(u,_))&&Bv(n,c)}}}function hnt(n,a){return a.flags&134217728?TQ(n,a):SQ(n,a)}function gnt(n){let a=[];for(let c of n)if(c.flags&2097152&&br(c)&67108864){let u=c.types[0].flags&8650752?0:1;jp(a,c.types[u])}for(let c of a){let u=[];for(let g of n)if(g.flags&2097152&&br(g)&67108864){let T=g.types[0].flags&8650752?0:1;g.types[T]===c&&F7(u,g.types[1-T])}let _=md(c);if(Lu(_,g=>Mg(u,g))){let g=n.length;for(;g>0;){g--;let T=n[g];if(T.flags&2097152&&br(T)&67108864){let N=T.types[0].flags&8650752?0:1;T.types[N]===c&&Mg(u,T.types[1-N])&&Bv(n,g)}}F7(n,c)}}}function vnt(n){return!!(n.flags&1048576&&(n.aliasSymbol||n.origin))}function l2e(n,a){for(let c of a)if(c.flags&1048576){let u=c.origin;c.aliasSymbol||u&&!(u.flags&1048576)?jp(n,c):u&&u.flags&1048576&&l2e(n,u.types)}}function f_e(n,a){let c=l1(n);return c.types=a,c}function Br(n,a=1,c,u,_){if(n.length===0)return Ar;if(n.length===1)return n[0];if(n.length===2&&!_&&(n[0].flags&1048576||n[1].flags&1048576)){let g=a===0?\"N\":a===2?\"S\":\"L\",T=n[0].id<n[1].id?0:1,N=n[T].id+g+n[1-T].id+_1(c,u),O=Nr.get(N);return O||(O=c2e(n,a,c,u,void 0),Nr.set(N,O)),O}return c2e(n,a,c,u,_)}function c2e(n,a,c,u,_){let g=[],T=s2e(g,0,n);if(a!==0){if(T&3)return T&1?T&8388608?_t:z:T&65536||Mg(g,Zt)?Zt:V;if(T&32768&&g.length>=2&&g[0]===Re&&g[1]===M&&Bv(g,1),(T&402664352||T&16384&&T&32768)&&mnt(g,T,!!(a&2)),T&128&&T&402653184&&_nt(g),T&536870912&&gnt(g),a===2&&(g=fnt(g,!!(T&524288)),!g))return it;if(g.length===0)return T&65536?T&4194304?se:Pe:T&32768?T&4194304?Re:St:Ar}if(!_&&T&1048576){let O=[];l2e(O,n);let B=[];for(let me of g)ct(O,ue=>Mg(ue.types,me))||B.push(me);if(!c&&O.length===1&&B.length===0)return O[0];if(Nd(O,(me,ue)=>me+ue.types.length,0)+B.length===g.length){for(let me of O)F7(B,me);_=f_e(1048576,B)}}let N=(T&36323331?0:32768)|(T&2097152?16777216:0);return __e(g,N,c,u,_)}function ynt(n,a){let c,u=[];for(let g of n){let T=df(g);if(T){if(T.kind!==0&&T.kind!==1||c&&!m_e(c,T))return;c=T,u.push(T.type)}else{let N=a!==2097152?Ha(g):void 0;if(N!==Ot&&N!==dn)return}}if(!c)return;let _=MLe(u,a);return O7(c.kind,c.parameterName,c.parameterIndex,_)}function m_e(n,a){return n.kind===a.kind&&n.parameterIndex===a.parameterIndex}function __e(n,a,c,u,_){if(n.length===0)return Ar;if(n.length===1)return n[0];let T=(_?_.flags&1048576?`|${Of(_.types)}`:_.flags&2097152?`&${Of(_.types)}`:`#${_.type.id}|${Of(n)}`:Of(n))+_1(c,u),N=Gn.get(T);return N||(N=Bh(1048576),N.objectFlags=a|G$(n,98304),N.types=n,N.origin=_,N.aliasSymbol=c,N.aliasTypeArguments=u,n.length===2&&n[0].flags&512&&n[1].flags&512&&(N.flags|=16,N.intrinsicName=\"boolean\"),Gn.set(T,N)),N}function bnt(n){let a=Fr(n);if(!a.resolvedType){let c=g1(n);a.resolvedType=Br(nn(n.types,si),1,c,bD(c))}return a.resolvedType}function Ent(n,a,c){let u=c.flags;return u&2097152?d2e(n,a,c.types):(ch(c)?a&16777216||(a|=16777216,n.set(c.id.toString(),c)):(u&3?c===_t&&(a|=8388608):(H||!(u&98304))&&(c===M&&(a|=262144,c=Re),n.has(c.id.toString())||(c.flags&109472&&a&109472&&(a|=67108864),n.set(c.id.toString(),c))),a|=u&473694207),a)}function d2e(n,a,c){for(let u of c)a=Ent(n,a,qd(u));return a}function Snt(n,a){let c=n.length;for(;c>0;){c--;let u=n[c];(u.flags&4&&a&402653312||u.flags&8&&a&256||u.flags&64&&a&2048||u.flags&4096&&a&8192||u.flags&16384&&a&32768||ch(u)&&a&470302716)&&Bv(n,c)}}function Tnt(n,a){for(let c of n)if(!Mg(c.types,a)){let u=a.flags&128?Ie:a.flags&288?gt:a.flags&2048?bt:a.flags&8192?di:void 0;if(!u||!Mg(c.types,u))return!1}return!0}function Ant(n){let a=n.length,c=Cr(n,u=>!!(u.flags&128));for(;a>0;){a--;let u=n[a];if(u.flags&402653184){for(let _ of c)if(tb(_,u)){Bv(n,a);break}else if($T(u))return!0}}return!1}function u2e(n,a){for(let c=0;c<n.length;c++)n[c]=Bl(n[c],u=>!(u.flags&a))}function Int(n){let a,c=Tl(n,T=>!!(br(T)&32768));if(c<0)return!1;let u=c+1;for(;u<n.length;){let T=n[u];br(T)&32768?((a||(a=[n[c]])).push(T),Bv(n,u)):u++}if(!a)return!1;let _=[],g=[];for(let T of a)for(let N of T.types)F7(_,N)&&Tnt(a,N)&&F7(g,N);return n[c]=__e(g,32768),!0}function xnt(n,a,c,u){let _=Bh(2097152);return _.objectFlags=a|G$(n,98304),_.types=n,_.aliasSymbol=c,_.aliasTypeArguments=u,_}function Zo(n,a,c,u){let _=new Map,g=d2e(_,0,n),T=bo(_.values()),N=0;if(g&131072)return To(T,Zi)?Zi:Ar;if(H&&g&98304&&g&84410368||g&67108864&&g&402783228||g&402653316&&g&67238776||g&296&&g&469891796||g&2112&&g&469889980||g&12288&&g&469879804||g&49152&&g&469842940||g&402653184&&g&128&&Ant(T))return Ar;if(g&1)return g&8388608?_t:z;if(!H&&g&98304)return g&16777216?Ar:g&32768?Re:se;if((g&4&&g&402653312||g&8&&g&256||g&64&&g&2048||g&4096&&g&8192||g&16384&&g&32768||g&16777216&&g&470302716)&&(u||Snt(T,g)),g&262144&&(T[T.indexOf(Re)]=M),T.length===0)return Zt;if(T.length===1)return T[0];if(T.length===2){let Q=T[0].flags&8650752?0:1,me=T[Q],ue=T[1-Q];if(me.flags&8650752&&(ue.flags&469893116&&!S2e(ue)||g&16777216)){let We=md(me);if(We&&Lu(We,at=>!!(at.flags&469893116)||ch(at))){if(H7(We,ue))return me;if(!(We.flags&1048576&&dm(We,at=>H7(at,ue)))&&!H7(ue,We))return Ar;N=67108864}}}let O=Of(T)+_1(a,c),B=cr.get(O);if(!B){if(g&1048576)if(Int(T))B=Zo(T,a,c);else if(ji(T,Q=>!!(Q.flags&1048576&&Q.types[0].flags&32768))){let Q=ct(T,bw)?M:Re;u2e(T,32768),B=Br([Zo(T),Q],1,a,c)}else if(ji(T,Q=>!!(Q.flags&1048576&&(Q.types[0].flags&65536||Q.types[1].flags&65536))))u2e(T,65536),B=Br([Zo(T),se],1,a,c);else if(T.length>=4){let Q=Math.floor(T.length/2);B=Zo([Zo(T.slice(0,Q)),Zo(T.slice(Q))],a,c)}else{if(!z7(T))return it;let Q=Rnt(T),me=ct(Q,ue=>!!(ue.flags&2097152))&&h_e(Q)>h_e(T)?f_e(2097152,T):void 0;B=Br(Q,1,a,c,me)}else B=xnt(T,N,a,c);cr.set(O,B)}return B}function p2e(n){return Nd(n,(a,c)=>c.flags&1048576?a*c.types.length:c.flags&131072?0:a,1)}function z7(n){var a;let c=p2e(n);return c>=1e5?((a=qn)==null||a.instant(qn.Phase.CheckTypes,\"checkCrossProductUnion_DepthLimit\",{typeIds:n.map(u=>u.id),size:c}),we(R,f.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1):!0}function Rnt(n){let a=p2e(n),c=[];for(let u=0;u<a;u++){let _=n.slice(),g=u;for(let N=n.length-1;N>=0;N--)if(n[N].flags&1048576){let O=n[N].types,B=O.length;_[N]=O[g%B],g=Math.floor(g/B)}let T=Zo(_);T.flags&131072||c.push(T)}return c}function f2e(n){return!(n.flags&3145728)||n.aliasSymbol?1:n.flags&1048576&&n.origin?f2e(n.origin):h_e(n.types)}function h_e(n){return Nd(n,(a,c)=>a+f2e(c),0)}function Dnt(n){let a=Fr(n);if(!a.resolvedType){let c=g1(n),u=nn(n.types,si),_=u.length===2?u.indexOf(Wl):-1,g=_>=0?u[1-_]:Zt,T=!!(g.flags&76||g.flags&134217728&&$T(g));a.resolvedType=Zo(u,c,bD(c),T)}return a.resolvedType}function m2e(n,a){let c=Bh(4194304);return c.type=n,c.indexFlags=a,c}function Cnt(n){let a=l1(4194304);return a.type=n,a}function _2e(n,a){return a&1?n.resolvedStringIndexType||(n.resolvedStringIndexType=m2e(n,1)):n.resolvedIndexType||(n.resolvedIndexType=m2e(n,0))}function h2e(n,a){let c=km(n),u=Vp(n),_=Dv(n.target||n);if(!_&&!(a&2))return u;let g=[];if(ZT(u)){if(fD(n))return _2e(n,a);aA(u,N)}else if(fD(n)){let O=ou(HT(n));Pme(O,8576,!!(a&1),N)}else aA(N7(u),N);let T=a&2?Bl(Br(g),O=>!(O.flags&5)):Br(g);if(T.flags&1048576&&u.flags&1048576&&Of(T.types)===Of(u.types))return u;return T;function N(O){let B=_?Gi(_,pw(n.mapper,c,O)):O;g.push(B===Ie?lo:B)}}function Nnt(n){let a=km(n);return c(Dv(n)||a);function c(u){return u.flags&470810623?!0:u.flags&16777216?u.root.isDistributive&&u.checkType===a:u.flags&137363456?ji(u.types,c):u.flags&8388608?c(u.objectType)&&c(u.indexType):u.flags&33554432?c(u.baseType)&&c(u.constraint):u.flags&268435456?c(u.type):!1}}function Pv(n){if(Ci(n))return Ar;if(Bu(n))return qd(Xi(n));if(Pa(n))return qd(Hh(n));let a=MS(n);return a!==void 0?yu(Ii(a)):lt(n)?qd(Xi(n)):Ar}function vD(n,a,c){if(c||!(Kp(n)&6)){let u=Pi(L$(n)).nameType;if(!u){let _=mo(n.valueDeclaration);u=n.escapedName===\"default\"?yu(\"default\"):_&&Pv(_)||(WL(n)?void 0:yu($s(n)))}if(u&&u.flags&a)return u}return Ar}function g2e(n,a){return!!(n.flags&a||n.flags&2097152&&ct(n.types,c=>g2e(c,a)))}function Pnt(n,a,c){let u=c&&(br(n)&7||n.aliasSymbol)?Cnt(n):void 0,_=nn(Xa(n),T=>vD(T,a)),g=nn(Ud(n),T=>T!==Ir&&g2e(T.keyType,a)?T.keyType===Ie&&a&8?lo:T.keyType:Ar);return Br(ro(_,g),1,void 0,void 0,u)}function g_e(n,a=0){return!!(n.flags&58982400||rb(n)||vu(n)&&(!Nnt(n)||O$(n)===2)||n.flags&1048576&&!(a&4)&&Fme(n)||n.flags&2097152&&ol(n,465829888)&&ct(n.types,ch))}function y_(n,a=Oe){return n=wm(n),wP(n)?$me(y_(n.baseType,a)):g_e(n,a)?_2e(n,a):n.flags&1048576?Zo(nn(n.types,c=>y_(c,a))):n.flags&2097152?Br(nn(n.types,c=>y_(c,a))):br(n)&32?h2e(n,a):n===_t?_t:n.flags&2?Ar:n.flags&131073?ms:Pnt(n,(a&2?128:402653316)|(a&1?0:12584),a===Oe)}function v2e(n){if(Ae)return n;let a=qtt();return a?hD(a,[n,Ie]):Ie}function Mnt(n){let a=v2e(y_(n));return a.flags&131072?Ie:a}function Lnt(n){let a=Fr(n);if(!a.resolvedType)switch(n.operator){case 143:a.resolvedType=y_(si(n.type));break;case 158:a.resolvedType=n.type.kind===155?I_e(PL(n.parent)):it;break;case 148:a.resolvedType=si(n.type);break;default:x.assertNever(n.operator)}return a.resolvedType}function knt(n){let a=Fr(n);return a.resolvedType||(a.resolvedType=YT([n.head.text,...nn(n.templateSpans,c=>c.literal.text)],nn(n.templateSpans,c=>si(c.type)))),a.resolvedType}function YT(n,a){let c=Tl(a,B=>!!(B.flags&1179648));if(c>=0)return z7(a)?Gs(a[c],B=>YT(n,oB(a,c,B))):it;if(To(a,_t))return _t;let u=[],_=[],g=n[0];if(!O(n,a))return Ie;if(u.length===0)return yu(g);if(_.push(g),ji(_,B=>B===\"\")){if(ji(u,B=>!!(B.flags&4)))return Ie;if(u.length===1&&$T(u[0]))return u[0]}let T=`${Of(u)}|${nn(_,B=>B.length).join(\",\")}|${_.join(\"\")}`,N=ni.get(T);return N||ni.set(T,N=wnt(_,u)),N;function O(B,Q){for(let me=0;me<Q.length;me++){let ue=Q[me];if(ue.flags&101248)g+=Ont(ue)||\"\",g+=B[me+1];else if(ue.flags&134217728){if(g+=ue.texts[0],!O(ue.texts,ue.types))return!1;g+=B[me+1]}else if(ZT(ue)||B7(ue))u.push(ue),_.push(g),g=B[me+1];else return!1}return!0}}function Ont(n){return n.flags&128?n.value:n.flags&256?\"\"+n.value:n.flags&2048?ZE(n.value):n.flags&98816?n.intrinsicName:void 0}function wnt(n,a){let c=Bh(134217728);return c.texts=n,c.types=a,c}function h1(n,a){return a.flags&1179648?Gs(a,c=>h1(n,c)):a.flags&128?yu(y2e(n,a.value)):a.flags&134217728?YT(...Wnt(n,a.texts,a.types)):a.flags&268435456&&n===a.symbol?a:a.flags&268435461||ZT(a)?b2e(n,a):B7(a)?b2e(n,YT([\"\",\"\"],[a])):a}function y2e(n,a){switch(u4.get(n.escapedName)){case 0:return a.toUpperCase();case 1:return a.toLowerCase();case 2:return a.charAt(0).toUpperCase()+a.slice(1);case 3:return a.charAt(0).toLowerCase()+a.slice(1)}return a}function Wnt(n,a,c){switch(u4.get(n.escapedName)){case 0:return[a.map(u=>u.toUpperCase()),c.map(u=>h1(n,u))];case 1:return[a.map(u=>u.toLowerCase()),c.map(u=>h1(n,u))];case 2:return[a[0]===\"\"?a:[a[0].charAt(0).toUpperCase()+a[0].slice(1),...a.slice(1)],a[0]===\"\"?[h1(n,c[0]),...c.slice(1)]:c];case 3:return[a[0]===\"\"?a:[a[0].charAt(0).toLowerCase()+a[0].slice(1),...a.slice(1)],a[0]===\"\"?[h1(n,c[0]),...c.slice(1)]:c]}return[a,c]}function b2e(n,a){let c=`${na(n)},${Hd(a)}`,u=ki.get(c);return u||ki.set(c,u=Fnt(n,a)),u}function Fnt(n,a){let c=Gh(268435456,n);return c.type=a,c}function znt(n,a,c,u,_){let g=Bh(8388608);return g.objectType=n,g.indexType=a,g.accessFlags=c,g.aliasSymbol=u,g.aliasTypeArguments=_,g}function dw(n){if(ce)return!1;if(br(n)&4096)return!0;if(n.flags&1048576)return ji(n.types,dw);if(n.flags&2097152)return ct(n.types,dw);if(n.flags&465829888){let a=Ome(n);return a!==n&&dw(a)}return!1}function J$(n,a){return Af(n)?If(n):a&&kl(a)?MS(a):void 0}function v_e(n,a){if(a.flags&8208){let c=Rn(n.parent,u=>!us(u))||n.parent;return WE(c)?Hm(c)&&Me(n)&&Cke(c,n):ji(a.declarations,u=>!Lo(u)||Sv(u))}return!0}function E2e(n,a,c,u,_,g){let T=_&&_.kind===212?_:void 0,N=_&&Ci(_)?void 0:J$(c,_);if(N!==void 0){if(g&256)return DE(a,N)||z;let B=Qo(a,N);if(B){if(g&64&&_&&B.declarations&&Dy(B)&&v_e(_,B)){let me=T?.argumentExpression??(US(_)?_.indexType:_);Tv(me,B.declarations,N)}if(T){if(v5(B,T,zOe(T.expression,a.symbol)),Dwe(T,B,WA(T))){we(T.argumentExpression,f.Cannot_assign_to_0_because_it_is_a_read_only_property,ai(B));return}if(g&8&&(Fr(_).resolvedSymbol=B),MOe(T,B))return Je}let Q=g&4?q0(B):Yn(B);return T&&WA(T)!==1?ab(T,Q):_&&US(_)&&bw(Q)?Br([Q,Re]):Q}if(Lu(a,ga)&&Rh(N)){let Q=+N;if(_&&Lu(a,me=>!me.target.hasRestElement)&&!(g&16)){let me=y_e(_);if(ga(a)){if(Q<0)return we(me,f.A_tuple_type_cannot_be_indexed_with_a_negative_value),Re;we(me,f.Tuple_type_0_of_length_1_has_no_element_at_index_2,Pn(a),Nv(a),Ii(N))}else we(me,f.Property_0_does_not_exist_on_type_1,Ii(N),Pn(a))}if(Q>=0)return O(Uh(a,gt)),cke(a,Q,g&1?M:void 0)}}if(!(c.flags&98304)&&ed(c,402665900)){if(a.flags&131073)return a;let B=iw(a,c)||Uh(a,Ie);if(B){if(g&2&&B.keyType!==gt){T&&(g&4?we(T,f.Type_0_is_generic_and_can_only_be_indexed_for_reading,Pn(n)):we(T,f.Type_0_cannot_be_used_to_index_type_1,Pn(c),Pn(n)));return}if(_&&B.keyType===Ie&&!ed(c,12)){let Q=y_e(_);return we(Q,f.Type_0_cannot_be_used_as_an_index_type,Pn(c)),g&1?Br([B.type,M]):B.type}return O(B),g&1&&!(a.symbol&&a.symbol.flags&384&&c.symbol&&c.flags&1024&&nu(c.symbol)===a.symbol)?Br([B.type,M]):B.type}if(c.flags&131072)return Ar;if(dw(a))return z;if(T&&!eZ(a)){if(RE(a)){if(ce&&c.flags&384)return La.add(vr(T,f.Property_0_does_not_exist_on_type_1,c.value,Pn(a))),Re;if(c.flags&12){let Q=nn(a.properties,me=>Yn(me));return Br(pn(Q,Re))}}if(a.symbol===Ke&&N!==void 0&&Ke.exports.has(N)&&Ke.exports.get(N).flags&418)we(T,f.Property_0_does_not_exist_on_type_1,Ii(N),Pn(a));else if(ce&&!F.suppressImplicitAnyIndexErrors&&!(g&128))if(N!==void 0&&wOe(N,a)){let Q=Pn(a);we(T,f.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,N,Q,Q+\"[\"+Vl(T.argumentExpression)+\"]\")}else if(yE(a,gt))we(T.argumentExpression,f.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{let Q;if(N!==void 0&&(Q=jhe(N,a)))Q!==void 0&&we(T.argumentExpression,f.Property_0_does_not_exist_on_type_1_Did_you_mean_2,N,Pn(a),Q);else{let me=Wat(a,T,c);if(me!==void 0)we(T,f.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,Pn(a),me);else{let ue;if(c.flags&1024)ue=So(void 0,f.Property_0_does_not_exist_on_type_1,\"[\"+Pn(c)+\"]\",Pn(a));else if(c.flags&8192){let We=mp(c.symbol,T);ue=So(void 0,f.Property_0_does_not_exist_on_type_1,\"[\"+We+\"]\",Pn(a))}else c.flags&128||c.flags&256?ue=So(void 0,f.Property_0_does_not_exist_on_type_1,c.value,Pn(a)):c.flags&12&&(ue=So(void 0,f.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,Pn(c),Pn(a)));ue=So(ue,f.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,Pn(u),Pn(a)),La.add(eg(Nn(T),T,ue))}}}return}}if(dw(a))return z;if(_){let B=y_e(_);c.flags&384?we(B,f.Property_0_does_not_exist_on_type_1,\"\"+c.value,Pn(a)):c.flags&12?we(B,f.Type_0_has_no_matching_index_signature_for_type_1,Pn(a),Pn(c)):we(B,f.Type_0_cannot_be_used_as_an_index_type,Pn(c))}if(vt(c))return c;return;function O(B){B&&B.isReadonly&&T&&(Sh(T)||G9(T))&&we(T,f.Index_signature_in_type_0_only_permits_reading,Pn(a))}}function y_e(n){return n.kind===212?n.argumentExpression:n.kind===199?n.indexType:n.kind===167?n.expression:n}function B7(n){if(n.flags&2097152){let a=!1;for(let c of n.types)if(c.flags&101248||B7(c))a=!0;else if(!(c.flags&524288))return!1;return a}return!!(n.flags&77)||$T(n)}function $T(n){return!!(n.flags&134217728)&&ji(n.types,B7)||!!(n.flags&268435456)&&B7(n.type)}function S2e(n){return!!(n.flags&402653184)&&!$T(n)}function yD(n){return!!uw(n)}function QT(n){return!!(uw(n)&4194304)}function ZT(n){return!!(uw(n)&8388608)}function uw(n){return n.flags&3145728?(n.objectFlags&2097152||(n.objectFlags|=2097152|Nd(n.types,(a,c)=>a|uw(c),0)),n.objectFlags&12582912):n.flags&33554432?(n.objectFlags&2097152||(n.objectFlags|=2097152|uw(n.baseType)|uw(n.constraint)),n.objectFlags&12582912):(n.flags&58982400||vu(n)||rb(n)?4194304:0)|(n.flags&63176704||S2e(n)?8388608:0)}function Lg(n,a){return n.flags&8388608?Gnt(n,a):n.flags&16777216?Vnt(n,a):n}function T2e(n,a,c){if(n.flags&1048576||n.flags&2097152&&!g_e(n)){let u=nn(n.types,_=>Lg(tp(_,a),c));return n.flags&2097152||c?Zo(u):Br(u)}}function Bnt(n,a,c){if(a.flags&1048576){let u=nn(a.types,_=>Lg(tp(n,_),c));return c?Zo(u):Br(u)}}function Gnt(n,a){let c=a?\"simplifiedForWriting\":\"simplifiedForReading\";if(n[c])return n[c]===Pc?n:n[c];n[c]=Pc;let u=Lg(n.objectType,a),_=Lg(n.indexType,a),g=Bnt(u,_,a);if(g)return n[c]=g;if(!(_.flags&465829888)){let T=T2e(u,_,a);if(T)return n[c]=T}if(rb(u)&&_.flags&296){let T=jP(u,_.flags&8?0:u.target.fixedLength,0,a);if(T)return n[c]=T}return vu(u)&&O$(u)!==2?n[c]=Gs(K$(u,n.indexType),T=>Lg(T,a)):n[c]=n}function Vnt(n,a){let c=n.checkType,u=n.extendsType,_=EE(n),g=SE(n);if(g.flags&131072&&Zy(_)===Zy(c)){if(c.flags&1||ea(tA(c),tA(u)))return Lg(_,a);if(A2e(c,u))return Ar}else if(_.flags&131072&&Zy(g)===Zy(c)){if(!(c.flags&1)&&ea(tA(c),tA(u)))return Ar;if(c.flags&1||A2e(c,u))return Lg(g,a)}return n}function A2e(n,a){return!!(Br([C7(n,a),Ar]).flags&131072)}function K$(n,a){let c=np([km(n)],[a]),u=Z0(n.mapper,c);return Gi(Ng(n.target||n),u)}function tp(n,a,c=0,u,_,g){return Qy(n,a,c,u,_,g)||(u?it:Zt)}function I2e(n,a){return Lu(n,c=>{if(c.flags&384){let u=If(c);if(Rh(u)){let _=+u;return _>=0&&_<a}}return!1})}function Qy(n,a,c=0,u,_,g){if(n===_t||a===_t)return _t;if(n=wm(n),K2e(n)&&!(a.flags&98304)&&ed(a,12)&&(a=Ie),F.noUncheckedIndexedAccess&&c&32&&(c|=1),ZT(a)||(u&&u.kind!==199?rb(n)&&!I2e(a,p_e(n.target)):QT(n)&&!(ga(n)&&I2e(a,p_e(n.target)))||Fme(n))){if(n.flags&3)return n;let N=c&1,O=n.id+\",\"+a.id+\",\"+N+_1(_,g),B=qr.get(O);return B||qr.set(O,B=znt(n,a,N,_,g)),B}let T=LP(n);if(a.flags&1048576&&!(a.flags&16)){let N=[],O=!1;for(let B of a.types){let Q=E2e(n,T,B,a,u,c|(O?128:0));if(Q)N.push(Q);else if(u)O=!0;else return}return O?void 0:c&4?Zo(N,_,g):Br(N,1,_,g)}return E2e(n,T,a,a,u,c|8|64)}function x2e(n){let a=Fr(n);if(!a.resolvedType){let c=si(n.objectType),u=si(n.indexType),_=g1(n);a.resolvedType=tp(c,u,0,n,_,bD(_))}return a.resolvedType}function b_e(n){let a=Fr(n);if(!a.resolvedType){let c=af(32,n.symbol);c.declaration=n,c.aliasSymbol=g1(n),c.aliasTypeArguments=bD(c.aliasSymbol),a.resolvedType=c,Vp(c)}return a.resolvedType}function Zy(n){return n.flags&33554432?Zy(n.baseType):n.flags&8388608&&(n.objectType.flags&33554432||n.indexType.flags&33554432)?tp(Zy(n.objectType),Zy(n.indexType)):n}function R2e(n){return aI(n)&&yn(n.elements)>0&&!ct(n.elements,a=>m6(a)||_6(a)||Ox(a)&&!!(a.questionToken||a.dotDotDotToken))}function D2e(n,a){return yD(n)||a&&ga(n)&&ct(X0(n),yD)}function E_e(n,a,c,u,_){let g,T,N=0;for(;;){if(N===1e3)return we(R,f.Type_instantiation_is_excessively_deep_and_possibly_infinite),it;let B=Gi(Zy(n.checkType),a),Q=Gi(n.extendsType,a);if(B===it||Q===it)return it;if(B===_t||Q===_t)return _t;let me=ML(n.node.checkType),ue=ML(n.node.extendsType),We=R2e(me)&&R2e(ue)&&yn(me.elements)===yn(ue.elements),at=D2e(B,We),ht;if(n.inferTypeParameters){let Xt=Sw(n.inferTypeParameters,void 0,0);a&&(Xt.nonFixingMapper=Z0(Xt.nonFixingMapper,a)),at||Fg(Xt.inferences,B,Q,1536),ht=a?Z0(Xt.mapper,a):Xt.mapper}let qt=ht?Gi(n.extendsType,ht):Q;if(!at&&!D2e(qt,We)){if(!(qt.flags&3)&&(B.flags&1||!ea(mw(B),mw(qt)))){(B.flags&1||c&&!(qt.flags&131072)&&dm(mw(qt),Hn=>ea(Hn,mw(B))))&&(T||(T=[])).push(Gi(si(n.node.trueType),ht||a));let Xt=si(n.node.falseType);if(Xt.flags&16777216){let Hn=Xt.root;if(Hn.node.parent===n.node&&(!Hn.isDistributive||Hn.checkType===n.checkType)){n=Hn;continue}if(O(Xt,a))continue}g=Gi(Xt,a);break}if(qt.flags&3||ea(tA(B),tA(qt))){let Xt=si(n.node.trueType),Hn=ht||a;if(O(Xt,Hn))continue;g=Gi(Xt,Hn);break}}g=Bh(16777216),g.root=n,g.checkType=Gi(n.checkType,a),g.extendsType=Gi(n.extendsType,a),g.mapper=a,g.combinedMapper=ht,g.aliasSymbol=u||n.aliasSymbol,g.aliasTypeArguments=u?_:Mv(n.aliasTypeArguments,a);break}return T?Br(pn(T,g)):g;function O(B,Q){if(B.flags&16777216&&Q){let me=B.root;if(me.outerTypeParameters){let ue=Z0(B.mapper,Q),We=nn(me.outerTypeParameters,qt=>eb(qt,ue)),at=np(me.outerTypeParameters,We),ht=me.isDistributive?eb(me.checkType,at):void 0;if(!ht||ht===me.checkType||!(ht.flags&1179648))return n=me,a=at,u=void 0,_=void 0,me.aliasSymbol&&N++,!0}}return!1}}function EE(n){return n.resolvedTrueType||(n.resolvedTrueType=Gi(si(n.root.node.trueType),n.mapper))}function SE(n){return n.resolvedFalseType||(n.resolvedFalseType=Gi(si(n.root.node.falseType),n.mapper))}function jnt(n){return n.resolvedInferredTrueType||(n.resolvedInferredTrueType=n.combinedMapper?Gi(si(n.root.node.trueType),n.combinedMapper):EE(n))}function C2e(n){let a;return n.locals&&n.locals.forEach(c=>{c.flags&262144&&(a=pn(a,Cs(c)))}),a}function Unt(n){return n.isDistributive&&(U7(n.checkType,n.node.trueType)||U7(n.checkType,n.node.falseType))}function Hnt(n){let a=Fr(n);if(!a.resolvedType){let c=si(n.checkType),u=g1(n),_=bD(u),g=hn(n,!0),T=_?g:Cr(g,O=>U7(O,n)),N={node:n,checkType:c,extendsType:si(n.extendsType),isDistributive:!!(c.flags&262144),inferTypeParameters:C2e(n),outerTypeParameters:T,instantiations:void 0,aliasSymbol:u,aliasTypeArguments:_};a.resolvedType=E_e(N,void 0,!1),T&&(N.instantiations=new Map,N.instantiations.set(Of(T),a.resolvedType))}return a.resolvedType}function qnt(n){let a=Fr(n);return a.resolvedType||(a.resolvedType=UT(dr(n.typeParameter))),a.resolvedType}function N2e(n){return Me(n)?[n]:pn(N2e(n.left),n.right)}function Jnt(n){var a;let c=Fr(n);if(!c.resolvedType){if(!ey(n))return we(n.argument,f.String_literal_expected),c.resolvedSymbol=tt,c.resolvedType=it;let u=n.isTypeOf?111551:n.flags&16777216?900095:788968,_=jd(n,n.argument.literal);if(!_)return c.resolvedSymbol=tt,c.resolvedType=it;let g=!!((a=_.exports)!=null&&a.get(\"export=\")),T=$u(_,!1);if(_l(n.qualifier))if(T.flags&u)c.resolvedType=P2e(n,c,T,u);else{let N=u===111551?f.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:f.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0;we(n,N,n.argument.literal.text),c.resolvedSymbol=tt,c.resolvedType=it}else{let N=N2e(n.qualifier),O=T,B;for(;B=N.shift();){let Q=N.length?1920:u,me=Oa(yl(O)),ue=n.isTypeOf||Jn(n)&&g?Qo(Yn(me),B.escapedText,!1,!0):void 0,at=(n.isTypeOf?void 0:gu(Qu(me),B.escapedText,Q))??ue;if(!at)return we(B,f.Namespace_0_has_no_exported_member_1,mp(O),is(B)),c.resolvedType=it;Fr(B).resolvedSymbol=at,Fr(B.parent).resolvedSymbol=at,O=at}c.resolvedType=P2e(n,c,O,u)}}return c.resolvedType}function P2e(n,a,c,u){let _=yl(c);return a.resolvedSymbol=_,u===111551?pwe(Yn(c),n):j$(n,_)}function M2e(n){let a=Fr(n);if(!a.resolvedType){let c=g1(n);if(Ky(n.symbol).size===0&&!c)a.resolvedType=Wl;else{let u=af(16,n.symbol);u.aliasSymbol=c,u.aliasTypeArguments=bD(c),YS(n)&&n.isArrayType&&(u=_d(u)),a.resolvedType=u}}return a.resolvedType}function g1(n){let a=n.parent;for(;VS(a)||f0(a)||jS(a)&&a.operator===148;)a=a.parent;return RL(a)?dr(a):void 0}function bD(n){return n?gr(n):void 0}function X$(n){return!!(n.flags&524288)&&!vu(n)}function S_e(n){return Og(n)||!!(n.flags&474058748)}function T_e(n,a){if(!(n.flags&1048576))return n;if(ji(n.types,S_e))return Dr(n.types,Og)||ua;let c=Dr(n.types,g=>!S_e(g));if(!c||Dr(n.types,g=>g!==c&&!S_e(g)))return n;return _(c);function _(g){let T=Vo();for(let O of Xa(g))if(!(Kp(O)&6)){if(Y$(O)){let B=O.flags&65536&&!(O.flags&32768),me=Ra(16777220,O.escapedName,Nme(O)|(a?8:0));me.links.type=B?Re:Mu(Yn(O),!0),me.declarations=O.declarations,me.links.nameType=Pi(O).nameType,me.links.syntheticOrigin=O,T.set(O.escapedName,me)}}let N=cs(g.symbol,T,je,je,Ud(g));return N.objectFlags|=131200,N}}function Y0(n,a,c,u,_){if(n.flags&1||a.flags&1)return z;if(n.flags&2||a.flags&2)return Zt;if(n.flags&131072)return a;if(a.flags&131072)return n;if(n=T_e(n,_),n.flags&1048576)return z7([n,a])?Gs(n,B=>Y0(B,a,c,u,_)):it;if(a=T_e(a,_),a.flags&1048576)return z7([n,a])?Gs(a,B=>Y0(n,B,c,u,_)):it;if(a.flags&473960444)return n;if(QT(n)||QT(a)){if(Og(n))return a;if(n.flags&2097152){let B=n.types,Q=B[B.length-1];if(X$(Q)&&X$(a))return Zo(ro(B.slice(0,B.length-1),[Y0(Q,a,c,u,_)]))}return Zo([n,a])}let g=Vo(),T=new Set,N=n===ua?Ud(a):fLe([n,a]);for(let B of Xa(a))Kp(B)&6?T.add(B.escapedName):Y$(B)&&g.set(B.escapedName,A_e(B,_));for(let B of Xa(n))if(!(T.has(B.escapedName)||!Y$(B)))if(g.has(B.escapedName)){let Q=g.get(B.escapedName),me=Yn(Q);if(Q.flags&16777216){let ue=ro(B.declarations,Q.declarations),We=4|B.flags&16777216,at=Ra(We,B.escapedName),ht=Yn(B),qt=hQ(ht),Xt=hQ(me);at.links.type=qt===Xt?ht:Br([ht,Xt],2),at.links.leftSpread=B,at.links.rightSpread=Q,at.declarations=ue,at.links.nameType=Pi(B).nameType,g.set(B.escapedName,at)}}else g.set(B.escapedName,A_e(B,_));let O=cs(c,g,je,je,sc(N,B=>Knt(B,_)));return O.objectFlags|=2228352|u,O}function Y$(n){var a;return!ct(n.declarations,kd)&&(!(n.flags&106496)||!((a=n.declarations)!=null&&a.some(c=>Kr(c.parent))))}function A_e(n,a){let c=n.flags&65536&&!(n.flags&32768);if(!c&&a===Bm(n))return n;let u=4|n.flags&16777216,_=Ra(u,n.escapedName,Nme(n)|(a?8:0));return _.links.type=c?Re:Yn(n),_.declarations=n.declarations,_.links.nameType=Pi(n).nameType,_.links.syntheticOrigin=n,_}function Knt(n,a){return n.isReadonly!==a?sh(n.keyType,n.type,a,n.declaration):n}function G7(n,a,c,u){let _=Gh(n,c);return _.value=a,_.regularType=u||_,_}function v1(n){if(n.flags&2976){if(!n.freshType){let a=G7(n.flags,n.value,n.symbol,n);a.freshType=a,n.freshType=a}return n.freshType}return n}function qd(n){return n.flags&2976?n.regularType:n.flags&1048576?n.regularType||(n.regularType=Gs(n,qd)):n}function $0(n){return!!(n.flags&2976)&&n.freshType===n}function yu(n){let a;return Jt.get(n)||(Jt.set(n,a=G7(128,n)),a)}function Wm(n){let a;return Ue.get(n)||(Ue.set(n,a=G7(256,n)),a)}function $$(n){let a,c=ZE(n);return Rt.get(c)||(Rt.set(c,a=G7(2048,n)),a)}function Xnt(n,a,c){let u,_=`${a}${typeof n==\"string\"?\"@\":\"#\"}${n}`,g=1024|(typeof n==\"string\"?128:256);return mn.get(_)||(mn.set(_,u=G7(g,n,c)),u)}function Ynt(n){if(n.literal.kind===106)return se;let a=Fr(n);return a.resolvedType||(a.resolvedType=qd(Xi(n.literal))),a.resolvedType}function $nt(n){let a=Gh(8192,n);return a.escapedName=`__@${a.symbol.escapedName}@${na(a.symbol)}`,a}function I_e(n){if(Jn(n)&&f0(n)){let a=PS(n);a&&(n=wA(a)||a)}if(Fte(n)){let a=uW(n)?Fp(n.left):Fp(n);if(a){let c=Pi(a);return c.uniqueESSymbolType||(c.uniqueESSymbolType=$nt(a))}}return di}function Qnt(n){let a=lu(n,!1,!1),c=a&&a.parent;if(c&&(Kr(c)||c.kind===264)&&!zo(a)&&(!ll(a)||HE(n,a.body)))return cf(dr(c)).thisType;if(c&&ma(c)&&Zn(c.parent)&&hl(c.parent)===6)return cf(Fp(c.parent.left).parent).thisType;let u=n.flags&16777216?xb(n):void 0;return u&&ps(u)&&Zn(u.parent)&&hl(u.parent)===3?cf(Fp(u.parent.left).parent).thisType:T_(a)&&HE(n,a.body)?cf(dr(a)).thisType:(we(n,f.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface),it)}function Q$(n){let a=Fr(n);return a.resolvedType||(a.resolvedType=Qnt(n)),a.resolvedType}function L2e(n){return si(V7(n.type)||n.type)}function V7(n){switch(n.kind){case 196:return V7(n.type);case 189:if(n.elements.length===1&&(n=n.elements[0],n.kind===191||n.kind===202&&n.dotDotDotToken))return V7(n.type);break;case 188:return n.elementType}}function Znt(n){let a=Fr(n);return a.resolvedType||(a.resolvedType=n.dotDotDotToken?L2e(n):Mu(si(n.type),!0,!!n.questionToken))}function si(n){return Ptt(k2e(n),n)}function k2e(n){switch(n.kind){case 133:case 319:case 320:return z;case 159:return Zt;case 154:return Ie;case 150:return gt;case 163:return bt;case 136:return ti;case 155:return di;case 116:return jn;case 157:return Re;case 106:return se;case 146:return Ar;case 151:return n.flags&524288&&!ce?z:Mr;case 141:return Qt;case 197:case 110:return Q$(n);case 201:return Ynt(n);case 183:return t_e(n);case 182:return n.assertsModifier?jn:ti;case 233:return t_e(n);case 186:return HLe(n);case 188:case 189:return snt(n);case 190:return unt(n);case 192:return bnt(n);case 193:return Dnt(n);case 321:return Mtt(n);case 323:return Mu(si(n.type));case 202:return Znt(n);case 196:case 322:case 316:return si(n.type);case 191:return L2e(n);case 325:return tut(n);case 184:case 185:case 187:case 329:case 324:case 330:return M2e(n);case 198:return Lnt(n);case 199:return x2e(n);case 200:return b_e(n);case 194:return Hnt(n);case 195:return qnt(n);case 203:return knt(n);case 205:return Jnt(n);case 80:case 166:case 211:let a=um(n);return a?Cs(a):it;default:return it}}function Z$(n,a,c){if(n&&n.length)for(let u=0;u<n.length;u++){let _=n[u],g=c(_,a);if(_!==g){let T=u===0?[]:n.slice(0,u);for(T.push(g),u++;u<n.length;u++)T.push(c(n[u],a));return T}}return n}function Mv(n,a){return Z$(n,a,Gi)}function eQ(n,a){return Z$(n,a,ED)}function O2e(n,a){return Z$(n,a,prt)}function np(n,a){return n.length===1?Q0(n[0],a?a[0]:z):ert(n,a)}function eb(n,a){switch(a.kind){case 0:return n===a.source?a.target:n;case 1:{let u=a.sources,_=a.targets;for(let g=0;g<u.length;g++)if(n===u[g])return _?_[g]:z;return n}case 2:{let u=a.sources,_=a.targets;for(let g=0;g<u.length;g++)if(n===u[g])return _[g]();return n}case 3:return a.func(n);case 4:case 5:let c=eb(n,a.mapper1);return c!==n&&a.kind===4?Gi(c,a.mapper2):eb(c,a.mapper2)}}function Q0(n,a){return x.attachDebugPrototypeIfDebug({kind:0,source:n,target:a})}function ert(n,a){return x.attachDebugPrototypeIfDebug({kind:1,sources:n,targets:a})}function j7(n,a){return x.attachDebugPrototypeIfDebug({kind:3,func:n,debugInfo:x.isDebugging?a:void 0})}function x_e(n,a){return x.attachDebugPrototypeIfDebug({kind:2,sources:n,targets:a})}function tQ(n,a,c){return x.attachDebugPrototypeIfDebug({kind:n,mapper1:a,mapper2:c})}function w2e(n){return np(n,void 0)}function trt(n,a){let c=n.inferences.slice(a);return np(nn(c,u=>u.typeParameter),nn(c,()=>Zt))}function Z0(n,a){return n?tQ(4,n,a):a}function nrt(n,a){return n?tQ(5,n,a):a}function eA(n,a,c){return c?tQ(5,Q0(n,a),c):Q0(n,a)}function pw(n,a,c){return n?tQ(5,n,Q0(a,c)):Q0(a,c)}function rrt(n){return!n.constraint&&!Xme(n)||n.constraint===ys?n:n.restrictiveInstantiation||(n.restrictiveInstantiation=Bp(n.symbol),n.restrictiveInstantiation.constraint=ys,n.restrictiveInstantiation)}function R_e(n){let a=Bp(n.symbol);return a.target=n,a}function irt(n,a){return O7(n.kind,n.parameterName,n.parameterIndex,Gi(n.type,a))}function ED(n,a,c){let u;if(n.typeParameters&&!c){u=nn(n.typeParameters,R_e),a=Z0(np(n.typeParameters,u),a);for(let g of u)g.mapper=a}let _=jh(n.declaration,u,n.thisParameter&&D_e(n.thisParameter,a),Z$(n.parameters,a,D_e),void 0,void 0,n.minArgumentCount,n.flags&167);return _.target=n,_.mapper=a,_}function D_e(n,a){let c=Pi(n);if(c.type&&!xE(c.type)&&(!(n.flags&65536)||c.writeType&&!xE(c.writeType)))return n;tl(n)&1&&(n=c.target,a=Z0(c.mapper,a));let u=Ra(n.flags,n.escapedName,1|tl(n)&53256);return u.declarations=n.declarations,u.parent=n.parent,u.links.target=n,u.links.mapper=a,n.valueDeclaration&&(u.valueDeclaration=n.valueDeclaration),c.nameType&&(u.links.nameType=c.nameType),u}function ort(n,a,c,u){let _=n.objectFlags&4||n.objectFlags&8388608?n.node:n.symbol.declarations[0],g=Fr(_),T=n.objectFlags&4?g.resolvedType:n.objectFlags&64?n.target:n,N=g.outerTypeParameters;if(!N){let O=hn(_,!0);if(T_(_)){let Q=NLe(_);O=Pr(O,Q)}N=O||je;let B=n.objectFlags&8388612?[_]:n.symbol.declarations;N=(T.objectFlags&8388612||T.symbol.flags&8192||T.symbol.flags&2048)&&!T.aliasTypeArguments?Cr(N,Q=>ct(B,me=>U7(Q,me))):N,g.outerTypeParameters=N}if(N.length){let O=Z0(n.mapper,a),B=nn(N,at=>eb(at,O)),Q=c||n.aliasSymbol,me=c?u:Mv(n.aliasTypeArguments,a),ue=Of(B)+_1(Q,me);T.instantiations||(T.instantiations=new Map,T.instantiations.set(Of(N)+_1(T.aliasSymbol,T.aliasTypeArguments),T));let We=T.instantiations.get(ue);if(!We){let at=np(N,B);We=T.objectFlags&4?Yme(n.target,n.node,at,Q,me):T.objectFlags&32?srt(T,at,Q,me):C_e(T,at,Q,me),T.instantiations.set(ue,We);let ht=br(We);if(We.flags&3899393&&!(ht&524288)){let qt=ct(B,xE);br(We)&524288||(ht&52?We.objectFlags|=524288|(qt?1048576:0):We.objectFlags|=qt?0:524288)}}return We}return n}function art(n){return!(n.parent.kind===183&&n.parent.typeArguments&&n===n.parent.typeName||n.parent.kind===205&&n.parent.typeArguments&&n===n.parent.qualifier)}function U7(n,a){if(n.symbol&&n.symbol.declarations&&n.symbol.declarations.length===1){let u=n.symbol.declarations[0].parent;for(let _=a;_!==u;_=_.parent)if(!_||_.kind===241||_.kind===194&&Ao(_.extendsType,c))return!0;return c(a)}return!0;function c(u){switch(u.kind){case 197:return!!n.isThisType;case 80:return!n.isThisType&&yh(u)&&art(u)&&k2e(u)===n;case 186:let _=u.exprName,g=dp(_);if(!YE(g)){let T=cm(g),N=n.symbol.declarations[0],O=N.kind===168?N.parent:n.isThisType?N:void 0;if(T.declarations&&O)return ct(T.declarations,B=>HE(B,O))||ct(u.typeArguments,c)}return!0;case 174:case 173:return!u.type&&!!u.body||ct(u.typeParameters,c)||ct(u.parameters,c)||!!u.type&&c(u.type)}return!!Ao(u,c)}}function fw(n){let a=Vp(n);if(a.flags&4194304){let c=Zy(a.type);if(c.flags&262144)return c}}function srt(n,a,c,u){let _=fw(n);if(_){let T=Gi(_,a);if(_!==T)return zke(wm(T),g,c,u)}return Gi(Vp(n),a)===_t?_t:C_e(n,a,c,u);function g(T){if(T.flags&61603843&&T!==_t&&!Lt(T)){if(!n.declaration.nameType){let N;if(ff(T)||T.flags&1&&u1(_,4)<0&&(N=iu(_))&&Lu(N,AE))return crt(T,n,eA(_,T,a));if(ga(T))return lrt(T,n,_,a);if(ALe(T))return Zo(nn(T.types,g))}return C_e(n,eA(_,T,a))}return T}}function W2e(n,a){return a&1?!0:a&2?!1:n}function lrt(n,a,c,u){let _=n.target.elementFlags,g=n.target.fixedLength,T=g?eA(c,n,u):u,N=nn(X0(n),(me,ue)=>{let We=_[ue];return ue<g?F2e(a,yu(\"\"+ue),!!(We&2),T):We&8?Gi(a,eA(c,me,u)):Z7(Gi(a,eA(c,_d(me),u)))??Zt}),O=oh(a),B=O&4?nn(_,me=>me&1?2:me):O&8?nn(_,me=>me&2?1:me):_,Q=W2e(n.target.readonly,oh(a));return To(N,it)?it:lh(N,B,Q,n.target.labeledElementDeclarations)}function crt(n,a,c){let u=F2e(a,gt,!0,c);return Lt(u)?it:_d(u,W2e(GP(n),oh(a)))}function F2e(n,a,c,u){let _=pw(u,km(n),a),g=Gi(Ng(n.target||n),_),T=oh(n);return H&&T&4&&!ol(g,49152)?ib(g,!0):H&&T&8&&c?Wf(g,524288):g}function C_e(n,a,c,u){x.assert(n.symbol,\"anonymous type must have symbol to be instantiated\");let _=af(n.objectFlags&-1572865|64,n.symbol);if(n.objectFlags&32){_.declaration=n.declaration;let g=km(n),T=R_e(g);_.typeParameter=T,a=Z0(Q0(g,T),a),T.mapper=a}return n.objectFlags&8388608&&(_.node=n.node),_.target=n,_.mapper=a,_.aliasSymbol=c||n.aliasSymbol,_.aliasTypeArguments=c?u:Mv(n.aliasTypeArguments,a),_.objectFlags|=_.aliasTypeArguments?G$(_.aliasTypeArguments):0,_}function N_e(n,a,c,u,_){let g=n.root;if(g.outerTypeParameters){let T=nn(g.outerTypeParameters,B=>eb(B,a)),N=(c?\"C\":\"\")+Of(T)+_1(u,_),O=g.instantiations.get(N);if(!O){let B=np(g.outerTypeParameters,T),Q=g.checkType,me=g.isDistributive?wm(eb(Q,B)):void 0;O=me&&Q!==me&&me.flags&1179648?zke(me,ue=>E_e(g,eA(Q,ue,B),c),u,_):E_e(g,B,c,u,_),g.instantiations.set(N,O)}return O}return n}function Gi(n,a){return n&&a?z2e(n,a,void 0,void 0):n}function z2e(n,a,c,u){var _;if(!xE(n))return n;if(A===100||S>=5e6)return(_=qn)==null||_.instant(qn.Phase.CheckTypes,\"instantiateType_DepthLimit\",{typeId:n.id,instantiationDepth:A,instantiationCount:S}),we(R,f.Type_instantiation_is_excessively_deep_and_possibly_infinite),it;E++,S++,A++;let g=drt(n,a,c,u);return A--,g}function drt(n,a,c,u){let _=n.flags;if(_&262144)return eb(n,a);if(_&524288){let g=n.objectFlags;if(g&52){if(g&4&&!n.node){let T=n.resolvedTypeArguments,N=Mv(T,a);return N!==T?d_e(n.target,N):n}return g&1024?urt(n,a):ort(n,a,c,u)}return n}if(_&3145728){let g=n.flags&1048576?n.origin:void 0,T=g&&g.flags&3145728?g.types:n.types,N=Mv(T,a);if(N===T&&c===n.aliasSymbol)return n;let O=c||n.aliasSymbol,B=c?u:Mv(n.aliasTypeArguments,a);return _&2097152||g&&g.flags&2097152?Zo(N,O,B):Br(N,1,O,B)}if(_&4194304)return y_(Gi(n.type,a));if(_&134217728)return YT(n.texts,Mv(n.types,a));if(_&268435456)return h1(n.symbol,Gi(n.type,a));if(_&8388608){let g=c||n.aliasSymbol,T=c?u:Mv(n.aliasTypeArguments,a);return tp(Gi(n.objectType,a),Gi(n.indexType,a),n.accessFlags,void 0,g,T)}if(_&16777216)return N_e(n,Z0(n.mapper,a),!1,c,u);if(_&33554432){let g=Gi(n.baseType,a);if(wP(n))return $me(g);let T=Gi(n.constraint,a);return g.flags&8650752&&yD(T)?Zme(g,T):T.flags&3||ea(tA(g),tA(T))?g:g.flags&8650752?Zme(g,T):Zo([T,g])}return n}function urt(n,a){let c=Gi(n.mappedType,a);if(!(br(c)&32))return n;let u=Gi(n.constraintType,a);if(!(u.flags&4194304))return n;let _=gke(Gi(n.source,a),c,u);return _||n}function mw(n){return n.flags&402915327?n:n.permissiveInstantiation||(n.permissiveInstantiation=Gi(n,Js))}function tA(n){return n.flags&402915327?n:(n.restrictiveInstantiation||(n.restrictiveInstantiation=Gi(n,vs),n.restrictiveInstantiation.restrictiveInstantiation=n.restrictiveInstantiation),n.restrictiveInstantiation)}function prt(n,a){return sh(n.keyType,Gi(n.type,a),n.isReadonly,n.declaration)}function uf(n){switch(x.assert(n.kind!==174||qf(n)),n.kind){case 218:case 219:case 174:case 262:return B2e(n);case 210:return ct(n.properties,uf);case 209:return ct(n.elements,uf);case 227:return uf(n.whenTrue)||uf(n.whenFalse);case 226:return(n.operatorToken.kind===57||n.operatorToken.kind===61)&&(uf(n.left)||uf(n.right));case 303:return uf(n.initializer);case 217:return uf(n.expression);case 292:return ct(n.properties,uf)||r_(n.parent)&&ct(n.parent.parent.children,uf);case 291:{let{initializer:a}=n;return!!a&&uf(a)}case 294:{let{expression:a}=n;return!!a&&uf(a)}}return!1}function B2e(n){return gF(n)||frt(n)}function frt(n){return n.typeParameters||Tf(n)||!n.body?!1:n.body.kind!==241?uf(n.body):!!GE(n.body,a=>!!a.expression&&uf(a.expression))}function nQ(n){return(e0(n)||qf(n))&&B2e(n)}function G2e(n){if(n.flags&524288){let a=Om(n);if(a.constructSignatures.length||a.callSignatures.length){let c=af(16,n.symbol);return c.members=a.members,c.properties=a.properties,c.callSignatures=je,c.constructSignatures=je,c.indexInfos=je,c}}else if(n.flags&2097152)return Zo(nn(n.types,G2e));return n}function kg(n,a){return b_(n,a,Cu)}function _w(n,a){return b_(n,a,Cu)?-1:0}function P_e(n,a){return b_(n,a,hu)?-1:0}function mrt(n,a){return b_(n,a,Y_)?-1:0}function tb(n,a){return b_(n,a,Y_)}function H7(n,a){return b_(n,a,rf)}function ea(n,a){return b_(n,a,hu)}function TE(n,a){return n.flags&1048576?ji(n.types,c=>TE(c,a)):a.flags&1048576?ct(a.types,c=>TE(n,c)):n.flags&2097152?ct(n.types,c=>TE(c,a)):n.flags&58982400?TE(md(n)||Zt,a):ch(a)?!!(n.flags&67633152):a===Se?!!(n.flags&67633152)&&!ch(n):a===At?!!(n.flags&524288)&&dhe(n):dD(n,Rv(a))||ff(a)&&!GP(a)&&TE(n,Oo)}function rQ(n,a){return b_(n,a,Yu)}function q7(n,a){return rQ(n,a)||rQ(a,n)}function Cd(n,a,c,u,_,g){return pf(n,a,hu,c,u,_,g)}function nb(n,a,c,u,_,g){return M_e(n,a,hu,c,u,_,g,void 0)}function M_e(n,a,c,u,_,g,T,N){return b_(n,a,c)?!0:!u||!hw(_,n,a,c,g,T,N)?pf(n,a,c,u,g,T,N):!1}function V2e(n){return!!(n.flags&16777216||n.flags&2097152&&ct(n.types,V2e))}function hw(n,a,c,u,_,g,T){if(!n||V2e(c))return!1;if(!pf(a,c,u,void 0)&&_rt(n,a,c,u,_,g,T))return!0;switch(n.kind){case 234:if(!Cy(n))break;case 294:case 217:return hw(n.expression,a,c,u,_,g,T);case 226:switch(n.operatorToken.kind){case 64:case 28:return hw(n.right,a,c,u,_,g,T)}break;case 210:return Trt(n,a,c,u,g,T);case 209:return Ert(n,a,c,u,g,T);case 292:return brt(n,a,c,u,g,T);case 219:return hrt(n,a,c,u,g,T)}return!1}function _rt(n,a,c,u,_,g,T){let N=Co(a,0),O=Co(a,1);for(let B of[O,N])if(ct(B,Q=>{let me=Ha(Q);return!(me.flags&131073)&&pf(me,c,u,void 0)})){let Q=T||{};Cd(a,c,n,_,g,Q);let me=Q.errors[Q.errors.length-1];return fa(me,vr(n,B===O?f.Did_you_mean_to_use_new_with_this_expression:f.Did_you_mean_to_call_this_expression)),!0}return!1}function hrt(n,a,c,u,_,g){if(Do(n.body)||ct(n.parameters,K8))return!1;let T=dA(a);if(!T)return!1;let N=Co(c,0);if(!yn(N))return!1;let O=n.body,B=Ha(T),Q=Br(nn(N,Ha));if(!pf(B,Q,u,void 0)){let me=O&&hw(O,B,Q,u,void 0,_,g);if(me)return me;let ue=g||{};if(pf(B,Q,u,O,void 0,_,ue),ue.errors)return c.symbol&&yn(c.symbol.declarations)&&fa(ue.errors[ue.errors.length-1],vr(c.symbol.declarations[0],f.The_expected_type_comes_from_the_return_type_of_this_signature)),!(gc(n)&2)&&!Fe(B,\"then\")&&pf(R5(B),Q,u,void 0)&&fa(ue.errors[ue.errors.length-1],vr(n,f.Did_you_mean_to_mark_this_function_as_async)),!0}return!1}function j2e(n,a,c){let u=Qy(a,c);if(u)return u;if(a.flags&1048576){let _=$2e(n,a);if(_)return Qy(_,c)}}function U2e(n,a){u5(n,a,!1);let c=ZP(n,1);return xw(),c}function J7(n,a,c,u,_,g){let T=!1;for(let N of n){let{errorNode:O,innerExpression:B,nameType:Q,errorMessage:me}=N,ue=j2e(a,c,Q);if(!ue||ue.flags&8388608)continue;let We=Qy(a,Q);if(!We)continue;let at=J$(Q,void 0);if(!pf(We,ue,u,void 0)){let ht=B&&hw(B,We,ue,u,void 0,_,g);if(T=!0,!ht){let qt=g||{},Xt=B?U2e(B,We):We;if(be&&oQ(Xt,ue)){let Hn=vr(O,f.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target,Pn(Xt),Pn(ue));La.add(Hn),qt.errors=[Hn]}else{let Hn=!!(at&&(Qo(c,at)||tt).flags&16777216),En=!!(at&&(Qo(a,at)||tt).flags&16777216);ue=ob(ue,Hn),We=ob(We,Hn&&En),pf(Xt,ue,u,O,me,_,qt)&&Xt!==We&&pf(We,ue,u,O,me,_,qt)}if(qt.errors){let Hn=qt.errors[qt.errors.length-1],En=Af(Q)?If(Q):void 0,Kt=En!==void 0?Qo(c,En):void 0,In=!1;if(!Kt){let Sn=iw(c,Q);Sn&&Sn.declaration&&!Nn(Sn.declaration).hasNoDefaultLib&&(In=!0,fa(Hn,vr(Sn.declaration,f.The_expected_type_comes_from_this_index_signature)))}if(!In&&(Kt&&yn(Kt.declarations)||c.symbol&&yn(c.symbol.declarations))){let Sn=Kt&&yn(Kt.declarations)?Kt.declarations[0]:c.symbol.declarations[0];Nn(Sn).hasNoDefaultLib||fa(Hn,vr(Sn,f.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1,En&&!(Q.flags&8192)?Ii(En):Pn(Q),Pn(c)))}}}}}return T}function grt(n,a,c,u,_,g){let T=Bl(c,pQ),N=Bl(c,Q=>!pQ(Q)),O=N!==Ar?Dge(13,0,N,void 0):void 0,B=!1;for(let Q=n.next();!Q.done;Q=n.next()){let{errorNode:me,innerExpression:ue,nameType:We,errorMessage:at}=Q.value,ht=O,qt=T!==Ar?j2e(a,T,We):void 0;if(qt&&!(qt.flags&8388608)&&(ht=O?Br([O,qt]):qt),!ht)continue;let Xt=Qy(a,We);if(!Xt)continue;let Hn=J$(We,void 0);if(!pf(Xt,ht,u,void 0)){let En=ue&&hw(ue,Xt,ht,u,void 0,_,g);if(B=!0,!En){let Kt=g||{},In=ue?U2e(ue,Xt):Xt;if(be&&oQ(In,ht)){let Sn=vr(me,f.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target,Pn(In),Pn(ht));La.add(Sn),Kt.errors=[Sn]}else{let Sn=!!(Hn&&(Qo(T,Hn)||tt).flags&16777216),zn=!!(Hn&&(Qo(a,Hn)||tt).flags&16777216);ht=ob(ht,Sn),Xt=ob(Xt,Sn&&zn),pf(In,ht,u,me,at,_,Kt)&&In!==Xt&&pf(Xt,ht,u,me,at,_,Kt)}}}}return B}function*vrt(n){if(yn(n.properties))for(let a of n.properties)mI(a)||Phe(r2(a.name))||(yield{errorNode:a.name,innerExpression:a.initializer,nameType:yu(r2(a.name))})}function*yrt(n,a){if(!yn(n.children))return;let c=0;for(let u=0;u<n.children.length;u++){let _=n.children[u],g=Wm(u-c),T=H2e(_,g,a);T?yield T:c++}}function H2e(n,a,c){switch(n.kind){case 294:return{errorNode:n,innerExpression:n.expression,nameType:a};case 12:if(n.containsOnlyTriviaWhiteSpaces)break;return{errorNode:n,innerExpression:void 0,nameType:a,errorMessage:c()};case 284:case 285:case 288:return{errorNode:n,innerExpression:n,nameType:a};default:return x.assertNever(n,\"Found invalid jsx child\")}}function brt(n,a,c,u,_,g){let T=J7(vrt(n),a,c,u,_,g),N;if(r_(n.parent)&&Ch(n.parent.parent)){let B=n.parent.parent,Q=f5(lA(n)),me=Q===void 0?\"children\":Ii(Q),ue=yu(me),We=tp(c,ue),at=_x(B.children);if(!yn(at))return T;let ht=yn(at)>1,qt,Xt;if(a_e(!1)!==ho){let En=n2e(z);qt=Bl(We,Kt=>ea(Kt,En)),Xt=Bl(We,Kt=>!ea(Kt,En))}else qt=Bl(We,pQ),Xt=Bl(We,En=>!pQ(En));if(ht){if(qt!==Ar){let En=lh(FQ(B,0)),Kt=yrt(B,O);T=grt(Kt,En,qt,u,_,g)||T}else if(!b_(tp(a,ue),We,u)){T=!0;let En=we(B.openingElement.tagName,f.This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided,me,Pn(We));g&&g.skipLogging&&(g.errors||(g.errors=[])).push(En)}}else if(Xt!==Ar){let En=at[0],Kt=H2e(En,ue,O);Kt&&(T=J7(function*(){yield Kt}(),a,c,u,_,g)||T)}else if(!b_(tp(a,ue),We,u)){T=!0;let En=we(B.openingElement.tagName,f.This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided,me,Pn(We));g&&g.skipLogging&&(g.errors||(g.errors=[])).push(En)}}return T;function O(){if(!N){let B=Vl(n.parent.tagName),Q=f5(lA(n)),me=Q===void 0?\"children\":Ii(Q),ue=tp(c,yu(me)),We=f._0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2;N={...We,key:\"!!ALREADY FORMATTED!!\",message:SV(We,B,me,Pn(ue))}}return N}}function*q2e(n,a){let c=yn(n.elements);if(c)for(let u=0;u<c;u++){if(VP(a)&&!Qo(a,\"\"+u))continue;let _=n.elements[u];if(vc(_))continue;let g=Wm(u),T=JQ(_);yield{errorNode:T,innerExpression:T,nameType:g}}}function Ert(n,a,c,u,_,g){if(c.flags&402915324)return!1;if(VP(a))return J7(q2e(n,c),a,c,u,_,g);u5(n,c,!1);let T=mOe(n,1,!0);return xw(),VP(T)?J7(q2e(n,c),T,c,u,_,g):!1}function*Srt(n){if(yn(n.properties))for(let a of n.properties){if(lv(a))continue;let c=vD(dr(a),8576);if(!(!c||c.flags&131072))switch(a.kind){case 178:case 177:case 174:case 304:yield{errorNode:a.name,innerExpression:void 0,nameType:c};break;case 303:yield{errorNode:a.name,innerExpression:a.initializer,nameType:c,errorMessage:aL(a.name)?f.Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:void 0};break;default:x.assertNever(a)}}}function Trt(n,a,c,u,_,g){return c.flags&402915324?!1:J7(Srt(n),a,c,u,_,g)}function J2e(n,a,c,u,_){return pf(n,a,Yu,c,u,_)}function Art(n,a,c){return L_e(n,a,c?4:0,!1,void 0,void 0,P_e,void 0)!==0}function iQ(n){if(!n.typeParameters&&(!n.thisParameter||vt(A5(n.thisParameter)))&&n.parameters.length===1&&Td(n)){let a=A5(n.parameters[0]);return!!((ff(a)?Ts(a)[0]:a).flags&131073&&Ha(n).flags&3)}return!1}function L_e(n,a,c,u,_,g,T,N){if(n===a||!(c&16&&iQ(n))&&iQ(a))return-1;if(c&16&&iQ(n)&&!iQ(a))return 0;let O=vp(a);if(!dh(a)&&(c&8?dh(n)||vp(n)>O:A_(n)>O))return u&&!(c&8)&&_(f.Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1,A_(n),O),0;n.typeParameters&&n.typeParameters!==a.typeParameters&&(a=Itt(a),n=qOe(n,a,void 0,T));let Q=vp(n),me=Nw(n),ue=Nw(a);(me||ue)&&Gi(me||ue,N);let We=a.declaration?a.declaration.kind:0,at=!(c&3)&&ee&&We!==174&&We!==173&&We!==176,ht=-1,qt=bE(n);if(qt&&qt!==jn){let En=bE(a);if(En){let Kt=!at&&T(qt,En,!1)||T(En,qt,u);if(!Kt)return u&&_(f.The_this_types_of_each_signature_are_incompatible),0;ht&=Kt}}let Xt=me||ue?Math.min(Q,O):Math.max(Q,O),Hn=me||ue?Xt-1:-1;for(let En=0;En<Xt;En++){let Kt=En===Hn?hwe(n,En):iS(n,En),In=En===Hn?hwe(a,En):iS(a,En);if(Kt&&In){let Sn=c&3||UOe(n,En)?void 0:dA(Wg(Kt)),zn=c&3||UOe(a,En)?void 0:dA(Wg(In)),Bn=Sn&&zn&&!df(Sn)&&!df(zn)&&HP(Kt,50331648)===HP(In,50331648)?L_e(zn,Sn,c&8|(at?2:1),u,_,g,T,N):!(c&3)&&!at&&T(Kt,In,!1)||T(In,Kt,u);if(Bn&&c&8&&En>=A_(n)&&En<A_(a)&&T(Kt,In,!1)&&(Bn=0),!Bn)return u&&_(f.Types_of_parameters_0_and_1_are_incompatible,Ii(YP(n,En)),Ii(YP(a,En))),0;ht&=Bn}}if(!(c&4)){let En=W$(a)?z:a.declaration&&T_(a.declaration)?cf(Oa(a.declaration.symbol)):Ha(a);if(En===jn||En===z)return ht;let Kt=W$(n)?z:n.declaration&&T_(n.declaration)?cf(Oa(n.declaration.symbol)):Ha(n),In=df(a);if(In){let Sn=df(n);if(Sn)ht&=Irt(Sn,In,u,_,T);else if(Bte(In))return u&&_(f.Signature_0_must_be_a_type_predicate,th(n)),0}else ht&=c&1&&T(En,Kt,!1)||T(Kt,En,u),!ht&&u&&g&&g(Kt,En)}return ht}function Irt(n,a,c,u,_){if(n.kind!==a.kind)return c&&(u(f.A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard),u(f.Type_predicate_0_is_not_assignable_to_1,nh(n),nh(a))),0;if((n.kind===1||n.kind===3)&&n.parameterIndex!==a.parameterIndex)return c&&(u(f.Parameter_0_is_not_in_the_same_position_as_parameter_1,n.parameterName,a.parameterName),u(f.Type_predicate_0_is_not_assignable_to_1,nh(n),nh(a))),0;let g=n.type===a.type?-1:n.type&&a.type?_(n.type,a.type,c):0;return g===0&&c&&u(f.Type_predicate_0_is_not_assignable_to_1,nh(n),nh(a)),g}function xrt(n,a){let c=sw(n),u=sw(a),_=Ha(c),g=Ha(u);return g===jn||b_(g,_,hu)||b_(_,g,hu)?Art(c,u,!0):!1}function k_e(n){return n!==Ut&&n.properties.length===0&&n.callSignatures.length===0&&n.constructSignatures.length===0&&n.indexInfos.length===0}function Og(n){return n.flags&524288?!vu(n)&&k_e(Om(n)):n.flags&67108864?!0:n.flags&1048576?ct(n.types,Og):n.flags&2097152?ji(n.types,Og):!1}function ch(n){return!!(br(n)&16&&(n.members&&k_e(n)||n.symbol&&n.symbol.flags&2048&&Ky(n.symbol).size===0))}function Rrt(n){if(H&&n.flags&1048576){if(!(n.objectFlags&33554432)){let a=n.types;n.objectFlags|=33554432|(a.length>=3&&a[0].flags&32768&&a[1].flags&65536&&ct(a,ch)?67108864:0)}return!!(n.objectFlags&67108864)}return!1}function zP(n){return!!((n.flags&1048576?n.types[0]:n).flags&32768)}function K2e(n){return n.flags&524288&&!vu(n)&&Xa(n).length===0&&Ud(n).length===1&&!!Uh(n,Ie)||n.flags&3145728&&ji(n.types,K2e)||!1}function O_e(n,a,c){let u=n.flags&8?nu(n):n,_=a.flags&8?nu(a):a;if(u===_)return!0;if(u.escapedName!==_.escapedName||!(u.flags&256)||!(_.flags&256))return!1;let g=na(u)+\",\"+na(_),T=bv.get(g);if(T!==void 0&&!(!(T&4)&&T&2&&c))return!!(T&1);let N=Yn(_);for(let O of Xa(Yn(u)))if(O.flags&8){let B=Qo(N,O.escapedName);if(!B||!(B.flags&8))return c?(c(f.Property_0_is_missing_in_type_1,$s(O),Pn(Cs(_),void 0,64)),bv.set(g,6)):bv.set(g,2),!1;let Q=MD(Vs(O,306)),me=MD(Vs(B,306));if(Q!==me){let ue=typeof Q==\"string\",We=typeof me==\"string\";if(Q!==void 0&&me!==void 0){if(!c)bv.set(g,2);else{let at=ue?`\"${Th(Q)}\"`:Q,ht=We?`\"${Th(me)}\"`:me;c(f.Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given,$s(_),$s(B),ht,at),bv.set(g,6)}return!1}if(ue||We){if(!c)bv.set(g,2);else{let at=Q??me;x.assert(typeof at==\"string\");let ht=`\"${Th(at)}\"`;c(f.One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value,$s(_),$s(B),ht),bv.set(g,6)}return!1}}}return bv.set(g,1),!0}function gw(n,a,c,u){let _=n.flags,g=a.flags;return g&1||_&131072||n===_t||g&2&&!(c===rf&&_&1)?!0:g&131072?!1:!!(_&402653316&&g&4||_&128&&_&1024&&g&128&&!(g&1024)&&n.value===a.value||_&296&&g&8||_&256&&_&1024&&g&256&&!(g&1024)&&n.value===a.value||_&2112&&g&64||_&528&&g&16||_&12288&&g&4096||_&32&&g&32&&n.symbol.escapedName===a.symbol.escapedName&&O_e(n.symbol,a.symbol,u)||_&1024&&g&1024&&(_&1048576&&g&1048576&&O_e(n.symbol,a.symbol,u)||_&2944&&g&2944&&n.value===a.value&&O_e(n.symbol,a.symbol,u))||_&32768&&(!H&&!(g&3145728)||g&49152)||_&65536&&(!H&&!(g&3145728)||g&65536)||_&524288&&g&67108864&&!(c===rf&&ch(n)&&!(br(n)&8192))||(c===hu||c===Yu)&&(_&1||_&8&&(g&32||g&256&&g&1024)||_&256&&!(_&1024)&&(g&32||g&256&&g&1024&&n.value===a.value)||Rrt(a)))}function b_(n,a,c){if($0(n)&&(n=n.regularType),$0(a)&&(a=a.regularType),n===a)return!0;if(c!==Cu){if(c===Yu&&!(a.flags&131072)&&gw(a,n,c)||gw(n,a,c))return!0}else if(!((n.flags|a.flags)&61865984)){if(n.flags!==a.flags)return!1;if(n.flags&67358815)return!0}if(n.flags&524288&&a.flags&524288){let u=c.get(lQ(n,a,0,c,!1));if(u!==void 0)return!!(u&1)}return n.flags&469499904||a.flags&469499904?pf(n,a,c,void 0):!1}function X2e(n,a){return br(n)&2048&&Phe(a.escapedName)}function K7(n,a){for(;;){let c=$0(n)?n.regularType:rb(n)?Crt(n,a):br(n)&4?n.node?Cv(n.target,Ts(n)):V_e(n)||n:n.flags&3145728?Drt(n,a):n.flags&33554432?a?n.baseType:e_e(n):n.flags&25165824?Lg(n,a):n;if(c===n)return c;n=c}}function Drt(n,a){let c=wm(n);if(c!==n)return c;if(n.flags&2097152&&ct(n.types,ch)){let u=sc(n.types,_=>K7(_,a));if(u!==n.types)return Zo(u)}return n}function Crt(n,a){let c=X0(n),u=sc(c,_=>_.flags&25165824?Lg(_,a):_);return c!==u?u_e(n.target,u):n}function pf(n,a,c,u,_,g,T){var N;let O,B,Q,me,ue,We,at=0,ht=0,qt=0,Xt=0,Hn=!1,En=0,Kt=0,In,Sn,zn=16e6-c.size>>3;x.assert(c!==Cu||!u,\"no error reporting in identity checking\");let Mn=or(n,a,3,!!u,_);if(Sn&&Eo(),Hn){let qe=lQ(n,a,0,c,!1);c.set(qe,6),(N=qn)==null||N.instant(qn.Phase.CheckTypes,\"checkTypeRelatedTo_DepthLimit\",{sourceId:n.id,targetId:a.id,depth:ht,targetDepth:qt});let ut=zn<=0?f.Excessive_complexity_comparing_types_0_and_1:f.Excessive_stack_depth_comparing_types_0_and_1,Bt=we(u||R,ut,Pn(n),Pn(a));T&&(T.errors||(T.errors=[])).push(Bt)}else if(O){if(g){let Bt=g();Bt&&(qne(Bt,O),O=Bt)}let qe;if(_&&u&&!Mn&&n.symbol){let Bt=Pi(n.symbol);if(Bt.originatingImport&&!lp(Bt.originatingImport)&&pf(Yn(Bt.target),a,c,void 0)){let pr=vr(Bt.originatingImport,f.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead);qe=pn(qe,pr)}}let ut=eg(Nn(u),u,O,qe);B&&fa(ut,...B),T&&(T.errors||(T.errors=[])).push(ut),(!T||!T.skipLogging)&&La.add(ut)}return u&&T&&T.skipLogging&&Mn===0&&x.assert(!!T.errors,\"missed opportunity to interact with error.\"),Mn!==0;function Bn(qe){O=qe.errorInfo,In=qe.lastSkippedInfo,Sn=qe.incompatibleStack,En=qe.overrideNextErrorInfo,Kt=qe.skipParentCounter,B=qe.relatedInfo}function co(){return{errorInfo:O,lastSkippedInfo:In,incompatibleStack:Sn?.slice(),overrideNextErrorInfo:En,skipParentCounter:Kt,relatedInfo:B?.slice()}}function no(qe,...ut){En++,In=void 0,(Sn||(Sn=[])).push([qe,...ut])}function Eo(){let qe=Sn||[];Sn=void 0;let ut=In;if(In=void 0,qe.length===1){Yi(...qe[0]),ut&&ku(void 0,...ut);return}let Bt=\"\",kn=[];for(;qe.length;){let[pr,...cn]=qe.pop();switch(pr.code){case f.Types_of_property_0_are_incompatible.code:{Bt.indexOf(\"new \")===0&&(Bt=`(${Bt})`);let rr=\"\"+cn[0];Bt.length===0?Bt=`${rr}`:Tp(rr,Wa(F))?Bt=`${Bt}.${rr}`:rr[0]===\"[\"&&rr[rr.length-1]===\"]\"?Bt=`${Bt}${rr}`:Bt=`${Bt}[${rr}]`;break}case f.Call_signature_return_types_0_and_1_are_incompatible.code:case f.Construct_signature_return_types_0_and_1_are_incompatible.code:case f.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:case f.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:{if(Bt.length===0){let rr=pr;pr.code===f.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?rr=f.Call_signature_return_types_0_and_1_are_incompatible:pr.code===f.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code&&(rr=f.Construct_signature_return_types_0_and_1_are_incompatible),kn.unshift([rr,cn[0],cn[1]])}else{let rr=pr.code===f.Construct_signature_return_types_0_and_1_are_incompatible.code||pr.code===f.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?\"new \":\"\",Rr=pr.code===f.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code||pr.code===f.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?\"\":\"...\";Bt=`${rr}${Bt}(${Rr})`}break}case f.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target.code:{kn.unshift([f.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,cn[0],cn[1]]);break}case f.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target.code:{kn.unshift([f.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,cn[0],cn[1],cn[2]]);break}default:return x.fail(`Unhandled Diagnostic: ${pr.code}`)}}Bt?Yi(Bt[Bt.length-1]===\")\"?f.The_types_returned_by_0_are_incompatible_between_these_types:f.The_types_of_0_are_incompatible_between_these_types,Bt):kn.shift();for(let[pr,...cn]of kn){let rr=pr.elidedInCompatabilityPyramid;pr.elidedInCompatabilityPyramid=!1,Yi(pr,...cn),pr.elidedInCompatabilityPyramid=rr}ut&&ku(void 0,...ut)}function Yi(qe,...ut){x.assert(!!u),Sn&&Eo(),!qe.elidedInCompatabilityPyramid&&(Kt===0?O=So(O,qe,...ut):Kt--)}function ic(qe,...ut){Yi(qe,...ut),Kt++}function mf(qe){x.assert(!!O),B?B.push(qe):B=[qe]}function ku(qe,ut,Bt){Sn&&Eo();let[kn,pr]=d1(ut,Bt),cn=ut,rr=kn;if(vw(ut)&&!w_e(Bt)&&(cn=wg(ut),x.assert(!ea(cn,Bt),\"generalized source shouldn't be assignable\"),rr=zy(cn)),(Bt.flags&8388608&&!(ut.flags&8388608)?Bt.objectType.flags:Bt.flags)&262144&&Bt!==ae&&Bt!==X){let Si=md(Bt),yo;Si&&(ea(cn,Si)||(yo=ea(ut,Si)))?Yi(f._0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2,yo?kn:rr,pr,Pn(Si)):(O=void 0,Yi(f._0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1,pr,rr))}if(qe)qe===f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1&&be&&Y2e(ut,Bt).length&&(qe=f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties);else if(c===Yu)qe=f.Type_0_is_not_comparable_to_type_1;else if(kn===pr)qe=f.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated;else if(be&&Y2e(ut,Bt).length)qe=f.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties;else{if(ut.flags&128&&Bt.flags&1048576){let Si=Fat(ut,Bt);if(Si){Yi(f.Type_0_is_not_assignable_to_type_1_Did_you_mean_2,rr,pr,Pn(Si));return}}qe=f.Type_0_is_not_assignable_to_type_1}Yi(qe,rr,pr)}function bn(qe,ut){let Bt=By(qe.symbol)?Pn(qe,qe.symbol.valueDeclaration):Pn(qe),kn=By(ut.symbol)?Pn(ut,ut.symbol.valueDeclaration):Pn(ut);(Cl===qe&&Ie===ut||Kl===qe&&gt===ut||Bs===qe&&ti===ut||$Le()===qe&&di===ut)&&Yi(f._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,kn,Bt)}function Fn(qe,ut,Bt){return ga(qe)?qe.target.readonly&&Q7(ut)?(Bt&&Yi(f.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1,Pn(qe),Pn(ut)),!1):AE(ut):GP(qe)&&Q7(ut)?(Bt&&Yi(f.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1,Pn(qe),Pn(ut)),!1):ga(ut)?ff(qe):!0}function Bi(qe,ut,Bt){return or(qe,ut,3,Bt)}function or(qe,ut,Bt=3,kn=!1,pr,cn=0){if(qe===ut)return-1;if(qe.flags&524288&&ut.flags&402784252)return c===Yu&&!(ut.flags&131072)&&gw(ut,qe,c)||gw(qe,ut,c,kn?Yi:void 0)?-1:(kn&&po(qe,ut,qe,ut,pr),0);let rr=K7(qe,!1),Rr=K7(ut,!0);if(rr===Rr)return-1;if(c===Cu)return rr.flags!==Rr.flags?0:rr.flags&67358815?-1:(za(rr,Rr),li(rr,Rr,!1,0,Bt));if(rr.flags&262144&&qT(rr)===Rr)return-1;if(rr.flags&470302716&&Rr.flags&1048576){let Si=Rr.types,yo=Si.length===2&&Si[0].flags&98304?Si[1]:Si.length===3&&Si[0].flags&98304&&Si[1].flags&98304?Si[2]:void 0;if(yo&&!(yo.flags&98304)&&(Rr=K7(yo,!0),rr===Rr))return-1}if(c===Yu&&!(Rr.flags&131072)&&gw(Rr,rr,c)||gw(rr,Rr,c,kn?Yi:void 0))return-1;if(rr.flags&469499904||Rr.flags&469499904){if(!(cn&2)&&RE(rr)&&br(rr)&8192&&hd(rr,Rr,kn))return kn&&ku(pr,rr,ut.aliasSymbol?ut:Rr),0;let yo=(c!==Yu||Fm(rr))&&!(cn&2)&&rr.flags&405405692&&rr!==Se&&Rr.flags&2621440&&Q2e(Rr)&&(Xa(rr).length>0||vZ(rr)),Ko=!!(br(rr)&2048);if(yo&&!Prt(rr,Rr,Ko)){if(kn){let go=Pn(qe.aliasSymbol?qe:rr),aa=Pn(ut.aliasSymbol?ut:Rr),as=Co(rr,0),qa=Co(rr,1);as.length>0&&or(Ha(as[0]),Rr,1,!1)||qa.length>0&&or(Ha(qa[0]),Rr,1,!1)?Yi(f.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,go,aa):Yi(f.Type_0_has_no_properties_in_common_with_type_1,go,aa)}return 0}za(rr,Rr);let oi=rr.flags&1048576&&rr.types.length<4&&!(Rr.flags&1048576)||Rr.flags&1048576&&Rr.types.length<4&&!(rr.flags&469499904)?au(rr,Rr,kn,cn):li(rr,Rr,kn,cn,Bt);if(oi)return oi}return kn&&po(qe,ut,rr,Rr,pr),0}function po(qe,ut,Bt,kn,pr){var cn,rr;let Rr=!!V_e(qe),Si=!!V_e(ut);Bt=qe.aliasSymbol||Rr?qe:Bt,kn=ut.aliasSymbol||Si?ut:kn;let yo=En>0;if(yo&&En--,Bt.flags&524288&&kn.flags&524288){let Ko=O;Fn(Bt,kn,!0),O!==Ko&&(yo=!!O)}if(Bt.flags&524288&&kn.flags&402784252)bn(Bt,kn);else if(Bt.symbol&&Bt.flags&524288&&Se===Bt)Yi(f.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(br(Bt)&2048&&kn.flags&2097152){let Ko=kn.types,Xo=rS(Dp.IntrinsicAttributes,u),oi=rS(Dp.IntrinsicClassAttributes,u);if(!Lt(Xo)&&!Lt(oi)&&(To(Ko,Xo)||To(Ko,oi)))return}else O=zme(O,ut);if(!pr&&yo){In=[Bt,kn];return}if(ku(pr,Bt,kn),Bt.flags&262144&&((rr=(cn=Bt.symbol)==null?void 0:cn.declarations)!=null&&rr[0])&&!qT(Bt)){let Ko=R_e(Bt);if(Ko.constraint=Gi(kn,Q0(Bt,Ko)),M7(Ko)){let Xo=Pn(kn,Bt.symbol.declarations[0]);mf(vr(Bt.symbol.declarations[0],f.This_type_parameter_might_need_an_extends_0_constraint,Xo))}}}function za(qe,ut){if(qn&&qe.flags&3145728&&ut.flags&3145728){let Bt=qe,kn=ut;if(Bt.objectFlags&kn.objectFlags&32768)return;let pr=Bt.types.length,cn=kn.types.length;pr*cn>1e6&&qn.instant(qn.Phase.CheckTypes,\"traceUnionsOrIntersectionsTooLarge_DepthLimit\",{sourceId:qe.id,sourceSize:pr,targetId:ut.id,targetSize:cn,pos:u?.pos,end:u?.end})}}function es(qe,ut){return Br(Nd(qe,(kn,pr)=>{var cn;pr=ou(pr);let rr=pr.flags&3145728?L7(pr,ut):vE(pr,ut),Rr=rr&&Yn(rr)||((cn=m1(pr,ut))==null?void 0:cn.type)||Re;return pn(kn,Rr)},void 0)||je)}function hd(qe,ut,Bt){var kn;if(!_5(ut)||!ce&&br(ut)&4096)return!1;let pr=!!(br(qe)&2048);if((c===hu||c===Yu)&&(qP(Se,ut)||!pr&&Og(ut)))return!1;let cn=ut,rr;ut.flags&1048576&&(cn=_We(qe,ut,or)||Gpt(ut),rr=cn.flags&1048576?cn.types:[cn]);for(let Rr of Xa(qe))if(va(Rr,qe.symbol)&&!X2e(qe,Rr)){if(!khe(cn,Rr.escapedName,pr)){if(Bt){let Si=Bl(cn,_5);if(!u)return x.fail();if(d0(u)||Od(u)||Od(u.parent)){Rr.valueDeclaration&&i_(Rr.valueDeclaration)&&Nn(u)===Nn(Rr.valueDeclaration.name)&&(u=Rr.valueDeclaration.name);let yo=ai(Rr),Ko=FOe(yo,Si),Xo=Ko?ai(Ko):void 0;Xo?Yi(f.Property_0_does_not_exist_on_type_1_Did_you_mean_2,yo,Pn(Si),Xo):Yi(f.Property_0_does_not_exist_on_type_1,yo,Pn(Si))}else{let yo=((kn=qe.symbol)==null?void 0:kn.declarations)&&Ac(qe.symbol.declarations),Ko;if(Rr.valueDeclaration&&Rn(Rr.valueDeclaration,Xo=>Xo===yo)&&Nn(yo)===Nn(u)){let Xo=Rr.valueDeclaration;x.assertNode(Xo,Zh);let oi=Xo.name;u=oi,Me(oi)&&(Ko=jhe(oi,Si))}Ko!==void 0?ic(f.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2,ai(Rr),Pn(Si),Ko):ic(f.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,ai(Rr),Pn(Si))}}return!0}if(rr&&!or(Yn(Rr),es(rr,Rr.escapedName),3,Bt))return Bt&&no(f.Types_of_property_0_are_incompatible,ai(Rr)),!0}return!1}function va(qe,ut){return qe.valueDeclaration&&ut.valueDeclaration&&qe.valueDeclaration.parent===ut.valueDeclaration}function au(qe,ut,Bt,kn){if(qe.flags&1048576){if(ut.flags&1048576){let pr=qe.origin;if(pr&&pr.flags&2097152&&ut.aliasSymbol&&To(pr.types,ut))return-1;let cn=ut.origin;if(cn&&cn.flags&1048576&&qe.aliasSymbol&&To(cn.types,qe))return-1}return c===Yu?ve(qe,ut,Bt&&!(qe.flags&402784252),kn):_r(qe,ut,Bt&&!(qe.flags&402784252),kn)}if(ut.flags&1048576)return Ys(Ew(qe),ut,Bt&&!(qe.flags&402784252)&&!(ut.flags&402784252),kn);if(ut.flags&2097152)return Qe(qe,ut,Bt,2);if(c===Yu&&ut.flags&402784252){let pr=sc(qe.types,cn=>cn.flags&465829888?md(cn)||Zt:cn);if(pr!==qe.types){if(qe=Zo(pr),qe.flags&131072)return 0;if(!(qe.flags&2097152))return or(qe,ut,1,!1)||or(ut,qe,1,!1)}}return ve(qe,ut,!1,1)}function fl(qe,ut){let Bt=-1,kn=qe.types;for(let pr of kn){let cn=Ys(pr,ut,!1,0);if(!cn)return 0;Bt&=cn}return Bt}function Ys(qe,ut,Bt,kn){let pr=ut.types;if(ut.flags&1048576){if(Mg(pr,qe))return-1;if(c!==Yu&&br(ut)&32768&&!(qe.flags&1024)&&(qe.flags&2688||(c===Y_||c===rf)&&qe.flags&256)){let rr=qe===qe.regularType?qe.freshType:qe.regularType,Rr=qe.flags&128?Ie:qe.flags&256?gt:qe.flags&2048?bt:void 0;return Rr&&Mg(pr,Rr)||rr&&Mg(pr,rr)?-1:0}let cn=Rke(ut,qe);if(cn){let rr=or(qe,cn,2,!1,void 0,kn);if(rr)return rr}}for(let cn of pr){let rr=or(qe,cn,2,!1,void 0,kn);if(rr)return rr}if(Bt){let cn=$2e(qe,ut,or);cn&&or(qe,cn,2,!0,void 0,kn)}return 0}function Qe(qe,ut,Bt,kn){let pr=-1,cn=ut.types;for(let rr of cn){let Rr=or(qe,rr,2,Bt,void 0,kn);if(!Rr)return 0;pr&=Rr}return pr}function ve(qe,ut,Bt,kn){let pr=qe.types;if(qe.flags&1048576&&Mg(pr,ut))return-1;let cn=pr.length;for(let rr=0;rr<cn;rr++){let Rr=or(pr[rr],ut,1,Bt&&rr===cn-1,void 0,kn);if(Rr)return Rr}return 0}function vn(qe,ut){return qe.flags&1048576&&ut.flags&1048576&&!(qe.types[0].flags&32768)&&ut.types[0].flags&32768?JP(ut,-32769):ut}function _r(qe,ut,Bt,kn){let pr=-1,cn=qe.types,rr=vn(qe,ut);for(let Rr=0;Rr<cn.length;Rr++){let Si=cn[Rr];if(rr.flags&1048576&&cn.length>=rr.types.length&&cn.length%rr.types.length===0){let Ko=or(Si,rr.types[Rr%rr.types.length],3,!1,void 0,kn);if(Ko){pr&=Ko;continue}}let yo=or(Si,ut,1,Bt,void 0,kn);if(!yo)return 0;pr&=yo}return pr}function Xr(qe=je,ut=je,Bt=je,kn,pr){if(qe.length!==ut.length&&c===Cu)return 0;let cn=qe.length<=ut.length?qe.length:ut.length,rr=-1;for(let Rr=0;Rr<cn;Rr++){let Si=Rr<Bt.length?Bt[Rr]:1,yo=Si&7;if(yo!==4){let Ko=qe[Rr],Xo=ut[Rr],oi=-1;if(Si&8?oi=c===Cu?or(Ko,Xo,3,!1):_w(Ko,Xo):yo===1?oi=or(Ko,Xo,3,kn,void 0,pr):yo===2?oi=or(Xo,Ko,3,kn,void 0,pr):yo===3?(oi=or(Xo,Ko,3,!1),oi||(oi=or(Ko,Xo,3,kn,void 0,pr))):(oi=or(Ko,Xo,3,kn,void 0,pr),oi&&(oi&=or(Xo,Ko,3,kn,void 0,pr))),!oi)return 0;rr&=oi}}return rr}function li(qe,ut,Bt,kn,pr){var cn,rr,Rr;if(Hn)return 0;let Si=lQ(qe,ut,kn,c,!1),yo=c.get(Si);if(yo!==void 0&&!(Bt&&yo&2&&!(yo&4))){if(Uo){let qa=yo&24;qa&8&&Gi(qe,ts),qa&16&&Gi(qe,zc)}return yo&1?-1:0}if(zn<=0)return Hn=!0,0;if(!Q)Q=[],me=new Set,ue=[],We=[];else{if(me.has(Si))return 3;let qa=Si.startsWith(\"*\")?lQ(qe,ut,kn,c,!0):void 0;if(qa&&me.has(qa))return 3;if(ht===100||qt===100)return Hn=!0,0}let Ko=at;Q[at]=Si,me.add(Si),at++;let Xo=Xt;pr&1&&(ue[ht]=qe,ht++,!(Xt&1)&&BP(qe,ue,ht)&&(Xt|=1)),pr&2&&(We[qt]=ut,qt++,!(Xt&2)&&BP(ut,We,qt)&&(Xt|=2));let oi,go=0;Uo&&(oi=Uo,Uo=qa=>(go|=qa?16:8,oi(qa)));let aa;return Xt===3?((cn=qn)==null||cn.instant(qn.Phase.CheckTypes,\"recursiveTypeRelatedTo_DepthLimit\",{sourceId:qe.id,sourceIdStack:ue.map(qa=>qa.id),targetId:ut.id,targetIdStack:We.map(qa=>qa.id),depth:ht,targetDepth:qt}),aa=3):((rr=qn)==null||rr.push(qn.Phase.CheckTypes,\"structuredTypeRelatedTo\",{sourceId:qe.id,targetId:ut.id}),aa=ci(qe,ut,Bt,kn),(Rr=qn)==null||Rr.pop()),Uo&&(Uo=oi),pr&1&&ht--,pr&2&&qt--,Xt=Xo,aa?(aa===-1||ht===0&&qt===0)&&as(aa===-1||aa===3):(c.set(Si,(Bt?4:0)|2|go),zn--,as(!1)),aa;function as(qa){for(let ac=Ko;ac<at;ac++)me.delete(Q[ac]),qa&&(c.set(Q[ac],1|go),zn--);at=Ko}}function ci(qe,ut,Bt,kn){let pr=co(),cn=ur(qe,ut,Bt,kn,pr);if(c!==Cu){if(!cn&&(qe.flags&2097152||qe.flags&262144&&ut.flags&1048576)){let rr=ltt(qe.flags&2097152?qe.types:[qe],!!(ut.flags&1048576));rr&&Lu(rr,Rr=>Rr!==qe)&&(cn=or(rr,ut,1,!1,void 0,kn))}cn&&!(kn&2)&&ut.flags&2097152&&!QT(ut)&&qe.flags&2621440?(cn&=ii(qe,ut,Bt,void 0,!1,0),cn&&RE(qe)&&br(qe)&8192&&(cn&=Ba(qe,ut,!1,Bt,0))):cn&&X$(ut)&&!AE(ut)&&qe.flags&2097152&&ou(qe).flags&3670016&&!ct(qe.types,rr=>rr===ut||!!(br(rr)&262144))&&(cn&=ii(qe,ut,Bt,void 0,!0,kn))}return cn&&Bn(pr),cn}function xr(qe,ut){let Bt=ou(HT(ut)),kn=[];return Pme(Bt,8576,!1,pr=>void kn.push(Gi(qe,pw(ut.mapper,km(ut),pr)))),Br(kn)}function ur(qe,ut,Bt,kn,pr){let cn,rr,Rr=!1,Si=qe.flags,yo=ut.flags;if(c===Cu){if(Si&3145728){let oi=fl(qe,ut);return oi&&(oi&=fl(ut,qe)),oi}if(Si&4194304)return or(qe.type,ut.type,3,!1);if(Si&8388608&&(cn=or(qe.objectType,ut.objectType,3,!1))&&(cn&=or(qe.indexType,ut.indexType,3,!1))||Si&16777216&&qe.root.isDistributive===ut.root.isDistributive&&(cn=or(qe.checkType,ut.checkType,3,!1))&&(cn&=or(qe.extendsType,ut.extendsType,3,!1))&&(cn&=or(EE(qe),EE(ut),3,!1))&&(cn&=or(SE(qe),SE(ut),3,!1))||Si&33554432&&(cn=or(qe.baseType,ut.baseType,3,!1))&&(cn&=or(qe.constraint,ut.constraint,3,!1)))return cn;if(!(Si&524288))return 0}else if(Si&3145728||yo&3145728){if(cn=au(qe,ut,Bt,kn))return cn;if(!(Si&465829888||Si&524288&&yo&1048576||Si&2097152&&yo&467402752))return 0}if(Si&17301504&&qe.aliasSymbol&&qe.aliasTypeArguments&&qe.aliasSymbol===ut.aliasSymbol&&!(aQ(qe)||aQ(ut))){let oi=Z2e(qe.aliasSymbol);if(oi===je)return 1;let go=Pi(qe.aliasSymbol).typeParameters,aa=ah(go),as=Yy(qe.aliasTypeArguments,go,aa,Jn(qe.aliasSymbol.valueDeclaration)),qa=Yy(ut.aliasTypeArguments,go,aa,Jn(qe.aliasSymbol.valueDeclaration)),ac=Xo(as,qa,oi,kn);if(ac!==void 0)return ac}if(lke(qe)&&!qe.target.readonly&&(cn=or(Ts(qe)[0],ut,1))||lke(ut)&&(ut.target.readonly||Q7(md(qe)||qe))&&(cn=or(qe,Ts(ut)[0],2)))return cn;if(yo&262144){if(br(qe)&32&&!qe.declaration.nameType&&or(y_(ut),Vp(qe),3)&&!(oh(qe)&4)){let oi=Ng(qe),go=tp(ut,km(qe));if(cn=or(oi,go,3,Bt))return cn}if(c===Yu&&Si&262144){let oi=iu(qe);if(oi)for(;oi&&dm(oi,go=>!!(go.flags&262144));){if(cn=or(oi,ut,1,!1))return cn;oi=iu(oi)}return 0}}else if(yo&4194304){let oi=ut.type;if(Si&4194304&&(cn=or(oi,qe.type,3,!1)))return cn;if(ga(oi)){if(cn=or(qe,a2e(oi),2,Bt))return cn}else{let go=Lme(oi);if(go){if(or(qe,y_(go,ut.indexFlags|4),2,Bt)===-1)return-1}else if(vu(oi)){let aa=Dv(oi),as=Vp(oi),qa;if(aa&&fD(oi)){let ac=xr(aa,oi);qa=Br([ac,aa])}else qa=aa||as;if(or(qe,qa,2,Bt)===-1)return-1}}}else if(yo&8388608){if(Si&8388608){if((cn=or(qe.objectType,ut.objectType,3,Bt))&&(cn&=or(qe.indexType,ut.indexType,3,Bt)),cn)return cn;Bt&&(rr=O)}if(c===hu||c===Yu){let oi=ut.objectType,go=ut.indexType,aa=md(oi)||oi,as=md(go)||go;if(!QT(aa)&&!ZT(as)){let qa=4|(aa!==oi?2:0),ac=Qy(aa,as,qa);if(ac){if(Bt&&rr&&Bn(pr),cn=or(qe,ac,2,Bt,void 0,kn))return cn;Bt&&rr&&O&&(O=Ko([rr])<=Ko([O])?rr:O)}}}Bt&&(rr=void 0)}else if(vu(ut)&&c!==Cu){let oi=!!ut.declaration.nameType,go=Ng(ut),aa=oh(ut);if(!(aa&8)){if(!oi&&go.flags&8388608&&go.objectType===qe&&go.indexType===km(ut))return-1;if(!vu(qe)){let as=oi?Dv(ut):Vp(ut),qa=y_(qe,2),ac=aa&4,uh=ac?C7(as,qa):void 0;if(ac?!(uh.flags&131072):or(as,qa,3)){let Bg=Ng(ut),fA=km(ut),mA=JP(Bg,-98305);if(!oi&&mA.flags&8388608&&mA.indexType===fA){if(cn=or(qe,mA.objectType,2,Bt))return cn}else{let sM=oi?uh||as:uh?Zo([uh,fA]):fA,Vm=tp(qe,sM);if(cn=or(Vm,Bg,3,Bt))return cn}}rr=O,Bn(pr)}}}else if(yo&16777216){if(BP(ut,We,qt,10))return 3;let oi=ut;if(!oi.root.inferTypeParameters&&!Unt(oi.root)&&!(qe.flags&16777216&&qe.root===oi.root)){let go=!ea(mw(oi.checkType),mw(oi.extendsType)),aa=!go&&ea(tA(oi.checkType),tA(oi.extendsType));if((cn=go?-1:or(qe,EE(oi),2,!1,void 0,kn))&&(cn&=aa?-1:or(qe,SE(oi),2,!1,void 0,kn),cn))return cn}}else if(yo&134217728){if(Si&134217728){if(c===Yu)return git(qe,ut)?0:-1;Gi(qe,zc)}if(TQ(qe,ut))return-1}else if(ut.flags&268435456&&!(qe.flags&268435456)&&SQ(qe,ut))return-1;if(Si&8650752){if(!(Si&8388608&&yo&8388608)){let oi=qT(qe)||Zt;if(cn=or(oi,ut,1,!1,void 0,kn))return cn;if(cn=or(hp(oi,qe),ut,1,Bt&&oi!==Zt&&!(yo&Si&262144),void 0,kn))return cn;if(Wme(qe)){let go=qT(qe.indexType);if(go&&(cn=or(tp(qe.objectType,go),ut,1,Bt)))return cn}}}else if(Si&4194304){let oi=g_e(qe.type,qe.indexFlags)&&br(qe.type)&32;if(cn=or(ms,ut,1,Bt&&!oi))return cn;if(oi){let go=qe.type,aa=Dv(go),as=aa&&fD(go)?xr(aa,go):aa||Vp(go);if(cn=or(as,ut,1,Bt))return cn}}else if(Si&134217728&&!(yo&524288)){if(!(yo&134217728)){let oi=md(qe);if(oi&&oi!==qe&&(cn=or(oi,ut,1,Bt)))return cn}}else if(Si&268435456)if(yo&268435456){if(qe.symbol!==ut.symbol)return 0;if(cn=or(qe.type,ut.type,3,Bt))return cn}else{let oi=md(qe);if(oi&&(cn=or(oi,ut,1,Bt)))return cn}else if(Si&16777216){if(BP(qe,ue,ht,10))return 3;if(yo&16777216){let aa=qe.root.inferTypeParameters,as=qe.extendsType,qa;if(aa){let ac=Sw(aa,void 0,0,Bi);Fg(ac.inferences,ut.extendsType,as,1536),as=Gi(as,ac.mapper),qa=ac.mapper}if(kg(as,ut.extendsType)&&(or(qe.checkType,ut.checkType,3)||or(ut.checkType,qe.checkType,3))&&((cn=or(Gi(EE(qe),qa),EE(ut),3,Bt))&&(cn&=or(SE(qe),SE(ut),3,Bt)),cn))return cn}let oi=kme(qe);if(oi&&(cn=or(oi,ut,1,Bt)))return cn;let go=!(yo&16777216)&&M7(qe)?yLe(qe):void 0;if(go&&(Bn(pr),cn=or(go,ut,1,Bt)))return cn}else{if(c!==Y_&&c!==rf&&ttt(ut)&&Og(qe))return-1;if(vu(ut))return vu(qe)&&(cn=$e(qe,ut,Bt))?cn:0;let oi=!!(Si&402784252);if(c!==Cu)qe=ou(qe),Si=qe.flags;else if(vu(qe))return 0;if(br(qe)&4&&br(ut)&4&&qe.target===ut.target&&!ga(qe)&&!(aQ(qe)||aQ(ut))){if(uQ(qe))return-1;let go=F_e(qe.target);if(go===je)return 1;let aa=Xo(Ts(qe),Ts(ut),go,kn);if(aa!==void 0)return aa}else{if(GP(ut)?Lu(qe,AE):ff(ut)&&Lu(qe,go=>ga(go)&&!go.target.readonly))return c!==Cu?or(yE(qe,gt)||z,yE(ut,gt)||z,3,Bt):0;if(rb(qe)&&ga(ut)&&!rb(ut)){let go=Pg(qe);if(go!==qe)return or(go,ut,1,Bt)}else if((c===Y_||c===rf)&&Og(ut)&&br(ut)&8192&&!Og(qe))return 0}if(Si&2621440&&yo&524288){let go=Bt&&O===pr.errorInfo&&!oi;if(cn=ii(qe,ut,go,void 0,!1,kn),cn&&(cn&=qi(qe,ut,0,go,kn),cn&&(cn&=qi(qe,ut,1,go,kn),cn&&(cn&=Ba(qe,ut,oi,go,kn)))),Rr&&cn)O=rr||O||pr.errorInfo;else if(cn)return cn}if(Si&2621440&&yo&1048576){let go=JP(ut,36175872);if(go.flags&1048576){let aa=It(qe,go);if(aa)return aa}}}return 0;function Ko(oi){return oi?Nd(oi,(go,aa)=>go+1+Ko(aa.next),0):0}function Xo(oi,go,aa,as){if(cn=Xr(oi,go,aa,Bt,as))return cn;if(ct(aa,ac=>!!(ac&24))){rr=void 0,Bn(pr);return}let qa=go&&Mrt(go,aa);if(Rr=!qa,aa!==je&&!qa){if(Rr&&!(Bt&&ct(aa,ac=>(ac&7)===0)))return 0;rr=O,Bn(pr)}}}function $e(qe,ut,Bt){if(c===Yu||(c===Cu?oh(qe)===oh(ut):Mme(qe)<=Mme(ut))){let pr,cn=Vp(ut),rr=Gi(Vp(qe),Mme(qe)<0?ts:zc);if(pr=or(cn,rr,3,Bt)){let Rr=np([km(qe)],[km(ut)]);if(Gi(Dv(qe),Rr)===Gi(Dv(ut),Rr))return pr&or(Gi(Ng(qe),Rr),Ng(ut),3,Bt)}}return 0}function It(qe,ut){var Bt;let kn=Xa(qe),pr=xke(kn,ut);if(!pr)return 0;let cn=1;for(let Xo of pr)if(cn*=Hit(qy(Xo)),cn>25)return(Bt=qn)==null||Bt.instant(qn.Phase.CheckTypes,\"typeRelatedToDiscriminatedType_DepthLimit\",{sourceId:qe.id,targetId:ut.id,numCombinations:cn}),0;let rr=new Array(pr.length),Rr=new Set;for(let Xo=0;Xo<pr.length;Xo++){let oi=pr[Xo],go=qy(oi);rr[Xo]=go.flags&1048576?go.types:[go],Rr.add(oi.escapedName)}let Si=JZ(rr),yo=[];for(let Xo of Si){let oi=!1;e:for(let go of ut.types){for(let aa=0;aa<pr.length;aa++){let as=pr[aa],qa=Qo(go,as.escapedName);if(!qa)continue e;if(as===qa)continue;if(!Yt(qe,ut,as,qa,uh=>Xo[aa],!1,0,H||c===Yu))continue e}jp(yo,go,Hg),oi=!0}if(!oi)return 0}let Ko=-1;for(let Xo of yo)if(Ko&=ii(qe,Xo,!1,Rr,!1,0),Ko&&(Ko&=qi(qe,Xo,0,!1,0),Ko&&(Ko&=qi(qe,Xo,1,!1,0),Ko&&!(ga(qe)&&ga(Xo))&&(Ko&=Ba(qe,Xo,!1,!1,0)))),!Ko)return Ko;return Ko}function Gt(qe,ut){if(!ut||qe.length===0)return qe;let Bt;for(let kn=0;kn<qe.length;kn++)ut.has(qe[kn].escapedName)?Bt||(Bt=qe.slice(0,kn)):Bt&&Bt.push(qe[kn]);return Bt||qe}function Ft(qe,ut,Bt,kn,pr){let cn=H&&!!(tl(ut)&48),rr=Mu(qy(ut),!1,cn),Rr=Bt(qe);return or(Rr,rr,3,kn,void 0,pr)}function Yt(qe,ut,Bt,kn,pr,cn,rr,Rr){let Si=Kp(Bt),yo=Kp(kn);if(Si&2||yo&2){if(Bt.valueDeclaration!==kn.valueDeclaration)return cn&&(Si&2&&yo&2?Yi(f.Types_have_separate_declarations_of_a_private_property_0,ai(kn)):Yi(f.Property_0_is_private_in_type_1_but_not_in_type_2,ai(kn),Pn(Si&2?qe:ut),Pn(Si&2?ut:qe))),0}else if(yo&4){if(!Wrt(Bt,kn))return cn&&Yi(f.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2,ai(kn),Pn(y1(Bt)||qe),Pn(y1(kn)||ut)),0}else if(Si&4)return cn&&Yi(f.Property_0_is_protected_in_type_1_but_public_in_type_2,ai(kn),Pn(qe),Pn(ut)),0;if(c===rf&&Bm(Bt)&&!Bm(kn))return 0;let Ko=Ft(Bt,kn,pr,cn,rr);return Ko?!Rr&&Bt.flags&16777216&&kn.flags&106500&&!(kn.flags&16777216)?(cn&&Yi(f.Property_0_is_optional_in_type_1_but_required_in_type_2,ai(kn),Pn(qe),Pn(ut)),0):Ko:(cn&&no(f.Types_of_property_0_are_incompatible,ai(kn)),0)}function xn(qe,ut,Bt,kn){let pr=!1;if(Bt.valueDeclaration&&Ld(Bt.valueDeclaration)&&Ci(Bt.valueDeclaration.name)&&qe.symbol&&qe.symbol.flags&32){let rr=Bt.valueDeclaration.name.escapedText,Rr=wL(qe.symbol,rr);if(Rr&&Qo(qe,Rr)){let Si=P.getDeclarationName(qe.symbol.valueDeclaration),yo=P.getDeclarationName(ut.symbol.valueDeclaration);Yi(f.Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2,rm(rr),rm(Si.escapedText===\"\"?s4:Si),rm(yo.escapedText===\"\"?s4:yo));return}}let cn=bo(ehe(qe,ut,kn,!1));if((!_||_.code!==f.Class_0_incorrectly_implements_interface_1.code&&_.code!==f.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code)&&(pr=!0),cn.length===1){let rr=ai(Bt,void 0,0,20);Yi(f.Property_0_is_missing_in_type_1_but_required_in_type_2,rr,...d1(qe,ut)),yn(Bt.declarations)&&mf(vr(Bt.declarations[0],f._0_is_declared_here,rr)),pr&&O&&En++}else Fn(qe,ut,!1)&&(cn.length>5?Yi(f.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,Pn(qe),Pn(ut),nn(cn.slice(0,4),rr=>ai(rr)).join(\", \"),cn.length-4):Yi(f.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,Pn(qe),Pn(ut),nn(cn,rr=>ai(rr)).join(\", \")),pr&&O&&En++)}function ii(qe,ut,Bt,kn,pr,cn){if(c===Cu)return Yr(qe,ut,kn);let rr=-1;if(ga(ut)){if(AE(qe)){if(!ut.target.readonly&&(GP(qe)||ga(qe)&&qe.target.readonly))return 0;let Xo=Nv(qe),oi=Nv(ut),go=ga(qe)?qe.target.combinedFlags&4:4,aa=ut.target.combinedFlags&4,as=ga(qe)?qe.target.minLength:0,qa=ut.target.minLength;if(!go&&Xo<qa)return Bt&&Yi(f.Source_has_0_element_s_but_target_requires_1,Xo,qa),0;if(!aa&&oi<as)return Bt&&Yi(f.Source_has_0_element_s_but_target_allows_only_1,as,oi),0;if(!aa&&(go||oi<Xo))return Bt&&(as<qa?Yi(f.Target_requires_0_element_s_but_source_may_have_fewer,qa):Yi(f.Target_allows_only_0_element_s_but_source_may_have_more,oi)),0;let ac=Ts(qe),uh=Ts(ut),Bg=dnt(ut.target,11),fA=cw(ut.target,11),mA=ut.target.hasRestElement,sM=!!kn;for(let Vm=0;Vm<Xo;Vm++){let A1=ga(qe)?qe.target.elementFlags[Vm]:4,pm=Xo-1-Vm,Et=mA&&Vm>=Bg?oi-1-Math.min(pm,fA):Vm,fr=ut.target.elementFlags[Et];if(fr&8&&!(A1&8))return Bt&&Yi(f.Source_provides_no_match_for_variadic_element_at_position_0_in_target,Et),0;if(A1&8&&!(fr&12))return Bt&&Yi(f.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target,Vm,Et),0;if(fr&1&&!(A1&1))return Bt&&Yi(f.Source_provides_no_match_for_required_element_at_position_0_in_target,Et),0;if(sM&&((A1&12||fr&12)&&(sM=!1),sM&&kn?.has(\"\"+Vm)))continue;let $r=ob(ac[Vm],!!(A1&fr&2)),Lr=uh[Et],Jr=A1&8&&fr&4?_d(Lr):ob(Lr,!!(fr&2)),ka=or($r,Jr,3,Bt,void 0,cn);if(!ka)return Bt&&(oi>1||Xo>1)&&(mA&&Vm>=Bg&&pm>=fA&&Bg!==Xo-fA-1?no(f.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,Bg,Xo-fA-1,Et):no(f.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,Vm,Et)),0;rr&=ka}return rr}if(ut.target.combinedFlags&12)return 0}let Rr=(c===Y_||c===rf)&&!RE(qe)&&!uQ(qe)&&!ga(qe),Si=the(qe,ut,Rr,!1);if(Si)return Bt&&fn(qe,ut)&&xn(qe,ut,Si,Rr),0;if(RE(ut)){for(let Xo of Gt(Xa(qe),kn))if(!vE(ut,Xo.escapedName)&&!(Yn(Xo).flags&32768))return Bt&&Yi(f.Property_0_does_not_exist_on_type_1,ai(Xo),Pn(ut)),0}let yo=Xa(ut),Ko=ga(qe)&&ga(ut);for(let Xo of Gt(yo,kn)){let oi=Xo.escapedName;if(!(Xo.flags&4194304)&&(!Ko||Rh(oi)||oi===\"length\")&&(!pr||Xo.flags&16777216)){let go=Qo(qe,oi);if(go&&go!==Xo){let aa=Yt(qe,ut,go,Xo,qy,Bt,cn,c===Yu);if(!aa)return 0;rr&=aa}}}return rr}function Yr(qe,ut,Bt){if(!(qe.flags&524288&&ut.flags&524288))return 0;let kn=Gt(Xy(qe),Bt),pr=Gt(Xy(ut),Bt);if(kn.length!==pr.length)return 0;let cn=-1;for(let rr of kn){let Rr=vE(ut,rr.escapedName);if(!Rr)return 0;let Si=B_e(rr,Rr,or);if(!Si)return 0;cn&=Si}return cn}function qi(qe,ut,Bt,kn,pr){var cn,rr;if(c===Cu)return Ho(qe,ut,Bt);if(ut===Ut||qe===Ut)return-1;let Rr=qe.symbol&&T_(qe.symbol.valueDeclaration),Si=ut.symbol&&T_(ut.symbol.valueDeclaration),yo=Co(qe,Rr&&Bt===1?0:Bt),Ko=Co(ut,Si&&Bt===1?0:Bt);if(Bt===1&&yo.length&&Ko.length){let as=!!(yo[0].flags&4),qa=!!(Ko[0].flags&4);if(as&&!qa)return kn&&Yi(f.Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type),0;if(!Gm(yo[0],Ko[0],kn))return 0}let Xo=-1,oi=Bt===1?Ai:zr,go=br(qe),aa=br(ut);if(go&64&&aa&64&&qe.symbol===ut.symbol||go&4&&aa&4&&qe.target===ut.target){x.assertEqual(yo.length,Ko.length);for(let as=0;as<Ko.length;as++){let qa=Ji(yo[as],Ko[as],!0,kn,pr,oi(yo[as],Ko[as]));if(!qa)return 0;Xo&=qa}}else if(yo.length===1&&Ko.length===1){let as=c===Yu||!!F.noStrictGenericChecks,qa=Ta(yo),ac=Ta(Ko);if(Xo=Ji(qa,ac,as,kn,pr,oi(qa,ac)),!Xo&&kn&&Bt===1&&go&aa&&(((cn=ac.declaration)==null?void 0:cn.kind)===176||((rr=qa.declaration)==null?void 0:rr.kind)===176)){let uh=Bg=>th(Bg,void 0,262144,Bt);return Yi(f.Type_0_is_not_assignable_to_type_1,uh(qa),uh(ac)),Yi(f.Types_of_construct_signatures_are_incompatible),Xo}}else e:for(let as of Ko){let qa=co(),ac=kn;for(let uh of yo){let Bg=Ji(uh,as,!0,ac,pr,oi(uh,as));if(Bg){Xo&=Bg,Bn(qa);continue e}ac=!1}return ac&&Yi(f.Type_0_provides_no_match_for_the_signature_1,Pn(qe),th(as,void 0,void 0,Bt)),0}return Xo}function fn(qe,ut){let Bt=k7(qe,0),kn=k7(qe,1),pr=Xy(qe);return(Bt.length||kn.length)&&!pr.length?!!(Co(ut,0).length&&Bt.length||Co(ut,1).length&&kn.length):!0}function zr(qe,ut){return qe.parameters.length===0&&ut.parameters.length===0?(Bt,kn)=>no(f.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1,Pn(Bt),Pn(kn)):(Bt,kn)=>no(f.Call_signature_return_types_0_and_1_are_incompatible,Pn(Bt),Pn(kn))}function Ai(qe,ut){return qe.parameters.length===0&&ut.parameters.length===0?(Bt,kn)=>no(f.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1,Pn(Bt),Pn(kn)):(Bt,kn)=>no(f.Construct_signature_return_types_0_and_1_are_incompatible,Pn(Bt),Pn(kn))}function Ji(qe,ut,Bt,kn,pr,cn){let rr=c===Y_?16:c===rf?24:0;return L_e(Bt?sw(qe):qe,Bt?sw(ut):ut,rr,kn,Yi,cn,Rr,zc);function Rr(Si,yo,Ko){return or(Si,yo,3,Ko,void 0,pr)}}function Ho(qe,ut,Bt){let kn=Co(qe,Bt),pr=Co(ut,Bt);if(kn.length!==pr.length)return 0;let cn=-1;for(let rr=0;rr<kn.length;rr++){let Rr=$7(kn[rr],pr[rr],!1,!1,!1,or);if(!Rr)return 0;cn&=Rr}return cn}function Yl(qe,ut,Bt,kn){let pr=-1,cn=ut.keyType,rr=qe.flags&2097152?P7(qe):Xy(qe);for(let Rr of rr)if(!X2e(qe,Rr)&&f1(vD(Rr,8576),cn)){let Si=qy(Rr),yo=be||Si.flags&32768||cn===gt||!(Rr.flags&16777216)?Si:Wf(Si,524288),Ko=or(yo,ut.type,3,Bt,void 0,kn);if(!Ko)return Bt&&Yi(f.Property_0_is_incompatible_with_index_signature,ai(Rr)),0;pr&=Ko}for(let Rr of Ud(qe))if(f1(Rr.keyType,cn)){let Si=al(Rr,ut,Bt,kn);if(!Si)return 0;pr&=Si}return pr}function al(qe,ut,Bt,kn){let pr=or(qe.type,ut.type,3,Bt,void 0,kn);return!pr&&Bt&&(qe.keyType===ut.keyType?Yi(f._0_index_signatures_are_incompatible,Pn(qe.keyType)):Yi(f._0_and_1_index_signatures_are_incompatible,Pn(qe.keyType),Pn(ut.keyType))),pr}function Ba(qe,ut,Bt,kn,pr){if(c===Cu)return As(qe,ut);let cn=Ud(ut),rr=ct(cn,Si=>Si.keyType===Ie),Rr=-1;for(let Si of cn){let yo=c!==rf&&!Bt&&rr&&Si.type.flags&1?-1:vu(qe)&&rr?or(Ng(qe),Si.type,3,kn):oc(qe,Si,kn,pr);if(!yo)return 0;Rr&=yo}return Rr}function oc(qe,ut,Bt,kn){let pr=iw(qe,ut.keyType);return pr?al(pr,ut,Bt,kn):!(kn&1)&&(c!==rf||br(qe)&8192)&&gQ(qe)?Yl(qe,ut,Bt,kn):(Bt&&Yi(f.Index_signature_for_type_0_is_missing_in_type_1,Pn(ut.keyType),Pn(qe)),0)}function As(qe,ut){let Bt=Ud(qe),kn=Ud(ut);if(Bt.length!==kn.length)return 0;for(let pr of kn){let cn=Uh(qe,pr.keyType);if(!(cn&&or(cn.type,pr.type,3)&&cn.isReadonly===pr.isReadonly))return 0}return-1}function Gm(qe,ut,Bt){if(!qe.declaration||!ut.declaration)return!0;let kn=BA(qe.declaration,6),pr=BA(ut.declaration,6);return pr===2||pr===4&&kn!==2||pr!==4&&!kn?!0:(Bt&&Yi(f.Cannot_assign_a_0_constructor_type_to_a_1_constructor_type,VT(kn),VT(pr)),!1)}}function w_e(n){if(n.flags&16)return!1;if(n.flags&3145728)return!!an(n.types,w_e);if(n.flags&465829888){let a=qT(n);if(a&&a!==n)return w_e(a)}return Fm(n)||!!(n.flags&134217728)||!!(n.flags&268435456)}function Y2e(n,a){return ga(n)&&ga(a)?je:Xa(a).filter(c=>oQ(Fe(n,c.escapedName),Yn(c)))}function oQ(n,a){return!!n&&!!a&&ol(n,32768)&&!!bw(a)}function Nrt(n){return Xa(n).filter(a=>bw(Yn(a)))}function $2e(n,a,c=P_e){return _We(n,a,c)||Wpt(n,a)||Fpt(n,a)||zpt(n,a)||Bpt(n,a)}function W_e(n,a,c){let u=n.types,_=u.map(T=>T.flags&402784252?0:-1);for(let[T,N]of a){let O=!1;for(let B=0;B<u.length;B++)if(_[B]){let Q=mt(u[B],N);Q&&c(T(),Q)?O=!0:_[B]=3}for(let B=0;B<u.length;B++)_[B]===3&&(_[B]=O?0:-1)}let g=To(_,0)?Br(u.filter((T,N)=>_[N]),0):n;return g.flags&131072?n:g}function Q2e(n){if(n.flags&524288){let a=Om(n);return a.callSignatures.length===0&&a.constructSignatures.length===0&&a.indexInfos.length===0&&a.properties.length>0&&ji(a.properties,c=>!!(c.flags&16777216))}return n.flags&2097152?ji(n.types,Q2e):!1}function Prt(n,a,c){for(let u of Xa(n))if(khe(a,u.escapedName,c))return!0;return!1}function F_e(n){return n===Po||n===Oo||n.objectFlags&8?K:eke(n.symbol,n.typeParameters)}function Z2e(n){return eke(n,Pi(n).typeParameters)}function eke(n,a=je){var c,u;let _=Pi(n);if(!_.variances){(c=qn)==null||c.push(qn.Phase.CheckTypes,\"getVariancesWorker\",{arity:a.length,id:Hd(Cs(n))});let g=Qb;Qb||(Qb=!0,UI=Vc.length),_.variances=je;let T=[];for(let N of a){let O=z_e(N),B=O&16384?O&8192?0:1:O&8192?2:void 0;if(B===void 0){let Q=!1,me=!1,ue=Uo;Uo=ht=>ht?me=!0:Q=!0;let We=X7(n,N,Ju),at=X7(n,N,ls);B=(ea(at,We)?1:0)|(ea(We,at)?2:0),B===3&&ea(X7(n,N,tc),We)&&(B=4),Uo=ue,(Q||me)&&(Q&&(B|=8),me&&(B|=16))}T.push(B)}g||(Qb=!1,UI=0),_.variances=T,(u=qn)==null||u.pop({variances:T.map(x.formatVariance)})}return _.variances}function X7(n,a,c){let u=Q0(a,c),_=Cs(n);if(Lt(_))return _;let g=n.flags&524288?hD(n,Mv(Pi(n).typeParameters,u)):Cv(_,Mv(_.typeParameters,u));return nt.add(Hd(g)),g}function aQ(n){return nt.has(Hd(n))}function z_e(n){var a;return Nd((a=n.symbol)==null?void 0:a.declarations,(c,u)=>c|Wd(u),0)&28672}function Mrt(n,a){for(let c=0;c<a.length;c++)if((a[c]&7)===1&&n[c].flags&16384)return!0;return!1}function Lrt(n){return n.flags&262144&&!iu(n)}function krt(n){return!!(br(n)&4)&&!n.node}function sQ(n){return krt(n)&&ct(Ts(n),a=>!!(a.flags&262144)||sQ(a))}function Ort(n,a,c,u){let _=[],g=\"\",T=O(n,0),N=O(a,0);return`${g}${T},${N}${c}`;function O(B,Q=0){let me=\"\"+B.target.id;for(let ue of Ts(B)){if(ue.flags&262144){if(u||Lrt(ue)){let We=_.indexOf(ue);We<0&&(We=_.length,_.push(ue)),me+=\"=\"+We;continue}g=\"*\"}else if(Q<4&&sQ(ue)){me+=\"<\"+O(ue,Q+1)+\">\";continue}me+=\"-\"+ue.id}return me}}function lQ(n,a,c,u,_){if(u===Cu&&n.id>a.id){let T=n;n=a,a=T}let g=c?\":\"+c:\"\";return sQ(n)&&sQ(a)?Ort(n,a,g,_):`${n.id},${a.id}${g}`}function Y7(n,a){if(tl(n)&6){for(let c of n.links.containingType.types){let u=Qo(c,n.escapedName),_=u&&Y7(u,a);if(_)return _}return}return a(n)}function y1(n){return n.parent&&n.parent.flags&32?Cs(nu(n)):void 0}function cQ(n){let a=y1(n),c=a&&ep(a)[0];return c&&Fe(c,n.escapedName)}function wrt(n,a){return Y7(n,c=>{let u=y1(c);return u?dD(u,a):!1})}function Wrt(n,a){return!Y7(a,c=>Kp(c)&4?!wrt(n,y1(c)):!1)}function tke(n,a,c){return Y7(a,u=>Kp(u,c)&4?!dD(n,y1(u)):!1)?void 0:n}function BP(n,a,c,u=3){if(c>=u){if((br(n)&96)===96&&(n=nke(n)),n.flags&2097152)return ct(n.types,N=>BP(N,a,c,u));let _=dQ(n),g=0,T=0;for(let N=0;N<c;N++){let O=a[N];if(rke(O,_)){if(O.id>=T&&(g++,g>=u))return!0;T=O.id}}}return!1}function nke(n){let a;for(;(br(n)&96)===96&&(a=HT(n))&&(a.symbol||a.flags&2097152&&ct(a.types,c=>!!c.symbol));)n=a;return n}function rke(n,a){return(br(n)&96)===96&&(n=nke(n)),n.flags&2097152?ct(n.types,c=>rke(c,a)):dQ(n)===a}function dQ(n){if(n.flags&524288&&!rhe(n)){if(br(n)&4&&n.node)return n.node;if(n.symbol&&!(br(n)&16&&n.symbol.flags&32))return n.symbol;if(ga(n))return n.target}if(n.flags&262144)return n.symbol;if(n.flags&8388608){do n=n.objectType;while(n.flags&8388608);return n}return n.flags&16777216?n.root:n}function Frt(n,a){return B_e(n,a,_w)!==0}function B_e(n,a,c){if(n===a)return-1;let u=Kp(n)&6,_=Kp(a)&6;if(u!==_)return 0;if(u){if(ND(n)!==ND(a))return 0}else if((n.flags&16777216)!==(a.flags&16777216))return 0;return Bm(n)!==Bm(a)?0:c(Yn(n),Yn(a))}function zrt(n,a,c){let u=vp(n),_=vp(a),g=A_(n),T=A_(a),N=dh(n),O=dh(a);return!!(u===_&&g===T&&N===O||c&&g<=T)}function $7(n,a,c,u,_,g){if(n===a)return-1;if(!zrt(n,a,c)||yn(n.typeParameters)!==yn(a.typeParameters))return 0;if(a.typeParameters){let O=np(n.typeParameters,a.typeParameters);for(let B=0;B<a.typeParameters.length;B++){let Q=n.typeParameters[B],me=a.typeParameters[B];if(!(Q===me||g(Gi(OP(Q),O)||Zt,OP(me)||Zt)&&g(Gi(KT(Q),O)||Zt,KT(me)||Zt)))return 0}n=ED(n,O,!0)}let T=-1;if(!u){let O=bE(n);if(O){let B=bE(a);if(B){let Q=g(O,B);if(!Q)return 0;T&=Q}}}let N=vp(a);for(let O=0;O<N;O++){let B=zm(n,O),Q=zm(a,O),me=g(Q,B);if(!me)return 0;T&=me}if(!_){let O=df(n),B=df(a);T&=O||B?Brt(O,B,g):g(Ha(n),Ha(a))}return T}function Brt(n,a,c){return n&&a&&m_e(n,a)?n.type===a.type?-1:n.type&&a.type?c(n.type,a.type):0:0}function Grt(n){let a;for(let c of n)if(!(c.flags&131072)){let u=wg(c);if(a??(a=u),u===c||u!==a)return!1}return!0}function ike(n){return Nd(n,(a,c)=>a|(c.flags&1048576?ike(c.types):c.flags),0)}function Vrt(n){if(n.length===1)return n[0];let a=H?sc(n,u=>Bl(u,_=>!(_.flags&98304))):n,c=Grt(a)?Br(a):Nd(a,(u,_)=>tb(u,_)?_:u);return a===n?c:e5(c,ike(n)&98304)}function jrt(n){return Nd(n,(a,c)=>tb(c,a)?c:a)}function ff(n){return!!(br(n)&4)&&(n.target===Po||n.target===Oo)}function GP(n){return!!(br(n)&4)&&n.target===Oo}function AE(n){return ff(n)||ga(n)}function Q7(n){return ff(n)&&!GP(n)||ga(n)&&!n.target.readonly}function Z7(n){return ff(n)?Ts(n)[0]:void 0}function Lv(n){return ff(n)||!(n.flags&98304)&&ea(n,kp)}function G_e(n){return Q7(n)||!(n.flags&98305)&&ea(n,Nl)}function V_e(n){if(!(br(n)&4)||!(br(n.target)&3))return;if(br(n)&33554432)return br(n)&67108864?n.cachedEquivalentBaseType:void 0;n.objectFlags|=33554432;let a=n.target;if(br(a)&1){let _=ns(a);if(_&&_.expression.kind!==80&&_.expression.kind!==211)return}let c=ep(a);if(c.length!==1||Ky(n.symbol).size)return;let u=yn(a.typeParameters)?Gi(c[0],np(a.typeParameters,Ts(n).slice(0,a.typeParameters.length))):c[0];return yn(Ts(n))>yn(a.typeParameters)&&(u=hp(u,Da(Ts(n)))),n.objectFlags|=67108864,n.cachedEquivalentBaseType=u}function oke(n){return H?n===_i:n===St}function uQ(n){let a=Z7(n);return!!a&&oke(a)}function VP(n){let a;return ga(n)||!!Qo(n,\"0\")||Lv(n)&&!!(a=Fe(n,\"length\"))&&Lu(a,c=>!!(c.flags&256))}function pQ(n){return Lv(n)||VP(n)}function Urt(n,a){let c=Fe(n,\"\"+a);if(c)return c;if(Lu(n,ga))return cke(n,a,F.noUncheckedIndexedAccess?Re:void 0)}function Hrt(n){return!(n.flags&240544)}function Fm(n){return!!(n.flags&109472)}function ake(n){let a=Pg(n);return a.flags&2097152?ct(a.types,Fm):Fm(a)}function qrt(n){return n.flags&2097152&&Dr(n.types,Fm)||n}function vw(n){return n.flags&16?!0:n.flags&1048576?n.flags&1024?!0:ji(n.types,Fm):Fm(n)}function wg(n){return n.flags&1056?M$(n):n.flags&402653312?Ie:n.flags&256?gt:n.flags&2048?bt:n.flags&512?ti:n.flags&1048576?Jrt(n):n}function Jrt(n){let a=`B${Hd(n)}`;return $I(a)??Ry(a,Gs(n,wg))}function j_e(n){return n.flags&402653312?Ie:n.flags&288?gt:n.flags&2048?bt:n.flags&512?ti:n.flags&1048576?Gs(n,j_e):n}function eS(n){return n.flags&1056&&$0(n)?M$(n):n.flags&128&&$0(n)?Ie:n.flags&256&&$0(n)?gt:n.flags&2048&&$0(n)?bt:n.flags&512&&$0(n)?ti:n.flags&1048576?Gs(n,eS):n}function ske(n){return n.flags&8192?di:n.flags&1048576?Gs(n,ske):n}function U_e(n,a){return nZ(n,a)||(n=ske(eS(n))),qd(n)}function Krt(n,a,c){if(n&&Fm(n)){let u=a?c?kw(a):a:void 0;n=U_e(n,u)}return n}function H_e(n,a,c,u){if(n&&Fm(n)){let _=a?oS(c,a,u):void 0;n=U_e(n,_)}return n}function ga(n){return!!(br(n)&4&&n.target.objectFlags&8)}function rb(n){return ga(n)&&!!(n.target.combinedFlags&8)}function lke(n){return rb(n)&&n.target.elementFlags.length===1}function fQ(n){return jP(n,n.target.fixedLength)}function cke(n,a,c){return Gs(n,u=>{let _=u,g=fQ(_);return g?c&&a>=p_e(_.target)?Br([g,c]):g:Re})}function Xrt(n){let a=fQ(n);return a&&_d(a)}function jP(n,a,c=0,u=!1,_=!1){let g=Nv(n)-c;if(a<g){let T=Ts(n),N=[];for(let O=a;O<g;O++){let B=T[O];N.push(n.target.elementFlags[O]&8?tp(B,gt):B)}return u?Zo(N):Br(N,_?0:1)}}function Yrt(n,a){return Nv(n)===Nv(a)&&ji(n.target.elementFlags,(c,u)=>(c&12)===(a.target.elementFlags[u]&12))}function dke({value:n}){return n.base10Value===\"0\"}function uke(n){return Bl(n,a=>wf(a,4194304))}function $rt(n){return Gs(n,Qrt)}function Qrt(n){return n.flags&4?Mo:n.flags&8?xa:n.flags&64?xd:n===dn||n===Ot||n.flags&114691||n.flags&128&&n.value===\"\"||n.flags&256&&n.value===0||n.flags&2048&&dke(n)?n:Ar}function e5(n,a){let c=a&~n.flags&98304;return c===0?n:Br(c===32768?[n,Re]:c===65536?[n,se]:[n,Re,se])}function ib(n,a=!1){x.assert(H);let c=a?te:Re;return n===c||n.flags&1048576&&n.types[0]===c?n:Br([n,c])}function Zrt(n){return fu||(fu=WP(\"NonNullable\",524288,void 0)||tt),fu!==tt?hD(fu,[n]):Zo([n,ua])}function Wg(n){return H?oA(n,2097152):n}function pke(n){return H?Br([n,j]):n}function mQ(n){return H?xQ(n,j):n}function _Q(n,a,c){return c?nC(a)?ib(n):pke(n):n}function yw(n,a){return F8(a)?Wg(n):yd(a)?mQ(n):n}function ob(n,a){return be&&a?xQ(n,M):n}function bw(n){return n===M||!!(n.flags&1048576)&&n.types[0]===M}function hQ(n){return be?xQ(n,M):Wf(n,524288)}function eit(n,a){return(n.flags&524)!==0&&(a.flags&28)!==0}function gQ(n){let a=br(n);return n.flags&2097152?ji(n.types,gQ):!!(n.symbol&&n.symbol.flags&7040&&!(n.symbol.flags&32)&&!vZ(n))||!!(a&4194304)||!!(a&1024&&gQ(n.source))}function nA(n,a){let c=Ra(n.flags,n.escapedName,tl(n)&8);c.declarations=n.declarations,c.parent=n.parent,c.links.type=a,c.links.target=n,n.valueDeclaration&&(c.valueDeclaration=n.valueDeclaration);let u=Pi(n).nameType;return u&&(c.links.nameType=u),c}function tit(n,a){let c=Vo();for(let u of Xy(n)){let _=Yn(u),g=a(_);c.set(u.escapedName,g===_?u:nA(u,g))}return c}function Ew(n){if(!(RE(n)&&br(n)&8192))return n;let a=n.regularType;if(a)return a;let c=n,u=tit(n,Ew),_=cs(c.symbol,u,c.callSignatures,c.constructSignatures,c.indexInfos);return _.flags=c.flags,_.objectFlags|=c.objectFlags&-8193,n.regularType=_,_}function fke(n,a,c){return{parent:n,propertyName:a,siblings:c,resolvedProperties:void 0}}function mke(n){if(!n.siblings){let a=[];for(let c of mke(n.parent))if(RE(c)){let u=vE(c,n.propertyName);u&&aA(Yn(u),_=>{a.push(_)})}n.siblings=a}return n.siblings}function nit(n){if(!n.resolvedProperties){let a=new Map;for(let c of mke(n))if(RE(c)&&!(br(c)&2097152))for(let u of Xa(c))a.set(u.escapedName,u);n.resolvedProperties=bo(a.values())}return n.resolvedProperties}function rit(n,a){if(!(n.flags&4))return n;let c=Yn(n),u=a&&fke(a,n.escapedName,void 0),_=q_e(c,u);return _===c?n:nA(n,_)}function iit(n){let a=ke.get(n.escapedName);if(a)return a;let c=nA(n,te);return c.flags|=16777216,ke.set(n.escapedName,c),c}function oit(n,a){let c=Vo();for(let _ of Xy(n))c.set(_.escapedName,rit(_,a));if(a)for(let _ of nit(a))c.has(_.escapedName)||c.set(_.escapedName,iit(_));let u=cs(n.symbol,c,je,je,sc(Ud(n),_=>sh(_.keyType,gp(_.type),_.isReadonly)));return u.objectFlags|=br(n)&266240,u}function gp(n){return q_e(n,void 0)}function q_e(n,a){if(br(n)&196608){if(a===void 0&&n.widened)return n.widened;let c;if(n.flags&98305)c=z;else if(RE(n))c=oit(n,a);else if(n.flags&1048576){let u=a||fke(void 0,void 0,n.types),_=sc(n.types,g=>g.flags&98304?g:q_e(g,u));c=Br(_,ct(_,Og)?2:1)}else n.flags&2097152?c=Zo(sc(n.types,gp)):AE(n)&&(c=Cv(n.target,sc(Ts(n),gp)));return c&&a===void 0&&(n.widened=c),c||n}return n}function vQ(n){let a=!1;if(br(n)&65536){if(n.flags&1048576)if(ct(n.types,Og))a=!0;else for(let c of n.types)vQ(c)&&(a=!0);if(AE(n))for(let c of Ts(n))vQ(c)&&(a=!0);if(RE(n))for(let c of Xy(n)){let u=Yn(c);br(u)&65536&&(vQ(u)||we(c.valueDeclaration,f.Object_literal_s_property_0_implicitly_has_an_1_type,ai(c),Pn(gp(u))),a=!0)}}return a}function IE(n,a,c){let u=Pn(gp(a));if(Jn(n)&&!ZL(Nn(n),F))return;let _;switch(n.kind){case 226:case 172:case 171:_=ce?f.Member_0_implicitly_has_an_1_type:f.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 169:let g=n;if(Me(g.name)){let T=vb(g.name);if((iI(g.parent)||B_(g.parent)||G_(g.parent))&&g.parent.parameters.includes(g)&&(Xs(g,g.name.escapedText,788968,void 0,g.name.escapedText,!0)||T&&bV(T))){let N=\"arg\"+g.parent.parameters.indexOf(g),O=is(g.name)+(g.dotDotDotToken?\"[]\":\"\");jc(ce,n,f.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,N,O);return}}_=n.dotDotDotToken?ce?f.Rest_parameter_0_implicitly_has_an_any_type:f.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:ce?f.Parameter_0_implicitly_has_an_1_type:f.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 208:if(_=f.Binding_element_0_implicitly_has_an_1_type,!ce)return;break;case 324:we(n,f.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,u);return;case 330:ce&&Vx(n.parent)&&we(n.parent.tagName,f.This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation,u);return;case 262:case 174:case 173:case 177:case 178:case 218:case 219:if(ce&&!n.name){c===3?we(n,f.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation,u):we(n,f.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,u);return}_=ce?c===3?f._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:f._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:f._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 200:ce&&we(n,f.Mapped_object_type_implicitly_has_an_any_template_type);return;default:_=ce?f.Variable_0_implicitly_has_an_1_type:f.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}jc(ce,n,_,is(mo(n)),u)}function yQ(n,a,c){r(()=>{ce&&br(a)&65536&&(!c||!Dhe(n))&&(vQ(a)||IE(n,a,c))})}function J_e(n,a,c){let u=vp(n),_=vp(a),g=Cw(n),T=Cw(a),N=T?_-1:_,O=g?N:Math.min(u,N),B=bE(n);if(B){let Q=bE(a);Q&&c(B,Q)}for(let Q=0;Q<O;Q++)c(zm(n,Q),zm(a,Q));T&&c(I5(n,O,JT(T)&&!dm(T,G_e)),T)}function K_e(n,a,c){let u=df(n),_=df(a);u&&_&&m_e(u,_)&&u.type&&_.type?c(u.type,_.type):c(Ha(n),Ha(a))}function Sw(n,a,c,u){return X_e(n.map($_e),a,c,u||P_e)}function ait(n,a=0){return n&&X_e(nn(n.inferences,_ke),n.signature,n.flags|a,n.compareTypes)}function X_e(n,a,c,u){let _={inferences:n,signature:a,flags:c,compareTypes:u,mapper:ts,nonFixingMapper:ts};return _.mapper=sit(_),_.nonFixingMapper=lit(_),_}function sit(n){return x_e(nn(n.inferences,a=>a.typeParameter),nn(n.inferences,(a,c)=>()=>(a.isFixed||(cit(n),bQ(n.inferences),a.isFixed=!0),ihe(n,c))))}function lit(n){return x_e(nn(n.inferences,a=>a.typeParameter),nn(n.inferences,(a,c)=>()=>ihe(n,c)))}function bQ(n){for(let a of n)a.isFixed||(a.inferredType=void 0)}function Y_e(n,a,c){(n.intraExpressionInferenceSites??(n.intraExpressionInferenceSites=[])).push({node:a,type:c})}function cit(n){if(n.intraExpressionInferenceSites){for(let{node:a,type:c}of n.intraExpressionInferenceSites){let u=a.kind===174?cOe(a,2):bu(a,2);u&&Fg(n.inferences,c,u)}n.intraExpressionInferenceSites=void 0}}function $_e(n){return{typeParameter:n,candidates:void 0,contraCandidates:void 0,inferredType:void 0,priority:void 0,topLevel:!0,isFixed:!1,impliedArity:void 0}}function _ke(n){return{typeParameter:n.typeParameter,candidates:n.candidates&&n.candidates.slice(),contraCandidates:n.contraCandidates&&n.contraCandidates.slice(),inferredType:n.inferredType,priority:n.priority,topLevel:n.topLevel,isFixed:n.isFixed,impliedArity:n.impliedArity}}function dit(n){let a=Cr(n.inferences,DD);return a.length?X_e(nn(a,_ke),n.signature,n.flags,n.compareTypes):void 0}function Q_e(n){return n&&n.mapper}function xE(n){let a=br(n);if(a&524288)return!!(a&1048576);let c=!!(n.flags&465829888||n.flags&524288&&!hke(n)&&(a&4&&(n.node||ct(Ts(n),xE))||a&16&&n.symbol&&n.symbol.flags&14384&&n.symbol.declarations||a&12583968)||n.flags&3145728&&!(n.flags&1024)&&!hke(n)&&ct(n.types,xE));return n.flags&3899393&&(n.objectFlags|=524288|(c?1048576:0)),c}function hke(n){if(n.aliasSymbol&&!n.aliasTypeArguments){let a=Vs(n.aliasSymbol,265);return!!(a&&Rn(a.parent,c=>c.kind===312?!0:c.kind===267?!1:\"quit\"))}return!1}function Tw(n,a,c=0){return!!(n===a||n.flags&3145728&&ct(n.types,u=>Tw(u,a,c))||c<3&&n.flags&16777216&&(Tw(EE(n),a,c+1)||Tw(SE(n),a,c+1)))}function uit(n,a){let c=df(n);return c?!!c.type&&Tw(c.type,a):Tw(Ha(n),a)}function pit(n){let a=Vo();aA(n,u=>{if(!(u.flags&128))return;let _=Hs(u.value),g=Ra(4,_);g.links.type=z,u.symbol&&(g.declarations=u.symbol.declarations,g.valueDeclaration=u.symbol.valueDeclaration),a.set(_,g)});let c=n.flags&4?[sh(Ie,ua,!1)]:je;return cs(void 0,a,je,je,c)}function gke(n,a,c){let u=n.id+\",\"+a.id+\",\"+c.id;if(Ec.has(u))return Ec.get(u);let _=n.id+\",\"+(a.target||a).id;if(To(Du,_))return;Du.push(_);let g=fit(n,a,c);return Du.pop(),Ec.set(u,g),g}function Z_e(n){return!(br(n)&262144)||RE(n)&&ct(Xa(n),a=>Z_e(Yn(a)))||ga(n)&&ct(X0(n),Z_e)}function fit(n,a,c){if(!(Uh(n,Ie)||Xa(n).length!==0&&Z_e(n)))return;if(ff(n))return _d(EQ(Ts(n)[0],a,c),GP(n));if(ga(n)){let _=nn(X0(n),T=>EQ(T,a,c)),g=oh(a)&4?sc(n.target.elementFlags,T=>T&2?1:T):n.target.elementFlags;return lh(_,g,n.target.readonly,n.target.labeledElementDeclarations)}let u=af(1040,void 0);return u.source=n,u.mappedType=a,u.constraintType=c,u}function mit(n){let a=Pi(n);return a.type||(a.type=EQ(n.links.propertyType,n.links.mappedType,n.links.constraintType)),a.type}function EQ(n,a,c){let u=tp(c.type,km(a)),_=Ng(a),g=$_e(u);return Fg([g],n,_),vke(g)||Zt}function*ehe(n,a,c,u){let _=Xa(a);for(let g of _)if(!sLe(g)&&(c||!(g.flags&16777216||tl(g)&48))){let T=Qo(n,g.escapedName);if(!T)yield g;else if(u){let N=Yn(g);if(N.flags&109472){let O=Yn(T);O.flags&1||qd(O)===qd(N)||(yield g)}}}}function the(n,a,c,u){return qw(ehe(n,a,c,u))}function _it(n,a){return!(a.target.combinedFlags&8)&&a.target.minLength>n.target.minLength||!a.target.hasRestElement&&(n.target.hasRestElement||a.target.fixedLength<n.target.fixedLength)}function hit(n,a){return ga(n)&&ga(a)?_it(n,a):!!the(n,a,!1,!0)&&!!the(a,n,!1,!1)}function vke(n){return n.candidates?Br(n.candidates,2):n.contraCandidates?Zo(n.contraCandidates):void 0}function nhe(n){return!!Fr(n).skipDirectInference}function yke(n){return!!(n.symbol&&ct(n.symbol.declarations,nhe))}function git(n,a){let c=n.texts[0],u=a.texts[0],_=n.texts[n.texts.length-1],g=a.texts[a.texts.length-1],T=Math.min(c.length,u.length),N=Math.min(_.length,g.length);return c.slice(0,T)!==u.slice(0,T)||_.slice(_.length-N)!==g.slice(g.length-N)}function bke(n,a){if(n===\"\")return!1;let c=+n;return isFinite(c)&&(!a||\"\"+c===n)}function vit(n){return $$(LV(n))}function SQ(n,a){if(a.flags&1)return!0;if(a.flags&134217732)return ea(n,a);if(a.flags&268435456){let c=[];for(;a.flags&268435456;)c.unshift(a.symbol),a=a.type;return Nd(c,(_,g)=>h1(g,_),n)===n&&SQ(n,a)}return!1}function Eke(n,a){if(a.flags&2097152)return ji(a.types,c=>c===Wl||Eke(n,c));if(a.flags&4||ea(n,a))return!0;if(n.flags&128){let c=n.value;return!!(a.flags&8&&bke(c,!1)||a.flags&64&&hF(c,!1)||a.flags&98816&&c===a.intrinsicName||a.flags&268435456&&SQ(yu(c),a)||a.flags&134217728&&TQ(n,a))}if(n.flags&134217728){let c=n.texts;return c.length===2&&c[0]===\"\"&&c[1]===\"\"&&ea(n.types[0],a)}return!1}function Ske(n,a){return n.flags&128?Tke([n.value],je,a):n.flags&134217728?dM(n.texts,a.texts)?nn(n.types,yit):Tke(n.texts,n.types,a):void 0}function TQ(n,a){let c=Ske(n,a);return!!c&&ji(c,(u,_)=>Eke(u,a.types[_]))}function yit(n){return n.flags&402653317?n:YT([\"\",\"\"],[n])}function Tke(n,a,c){let u=n.length-1,_=n[0],g=n[u],T=c.texts,N=T.length-1,O=T[0],B=T[N];if(u===0&&_.length<O.length+B.length||!_.startsWith(O)||!g.endsWith(B))return;let Q=g.slice(0,g.length-B.length),me=[],ue=0,We=O.length;for(let qt=1;qt<N;qt++){let Xt=T[qt];if(Xt.length>0){let Hn=ue,En=We;for(;En=at(Hn).indexOf(Xt,En),!(En>=0);){if(Hn++,Hn===n.length)return;En=0}ht(Hn,En),We+=Xt.length}else if(We<at(ue).length)ht(ue,We+1);else if(ue<u)ht(ue+1,0);else return}return ht(u,at(u).length),me;function at(qt){return qt<u?n[qt]:Q}function ht(qt,Xt){let Hn=qt===ue?yu(at(qt).slice(We,Xt)):YT([n[ue].slice(We),...n.slice(ue+1,qt),at(qt).slice(0,Xt)],a.slice(ue,qt));me.push(Hn),ue=qt,We=Xt}}function Fg(n,a,c,u=0,_=!1){let g=!1,T,N=2048,O,B,Q,me=0;ue(a,c);function ue(bn,Fn){if(!(!xE(Fn)||wP(Fn))){if(bn===_t||bn===ze){let Bi=T;T=bn,ue(Fn,Fn),T=Bi;return}if(bn.aliasSymbol&&bn.aliasSymbol===Fn.aliasSymbol){if(bn.aliasTypeArguments){let Bi=Pi(bn.aliasSymbol).typeParameters,or=ah(Bi),po=Yy(bn.aliasTypeArguments,Bi,or,Jn(bn.aliasSymbol.valueDeclaration)),za=Yy(Fn.aliasTypeArguments,Bi,or,Jn(bn.aliasSymbol.valueDeclaration));Hn(po,za,Z2e(bn.aliasSymbol))}return}if(bn===Fn&&bn.flags&3145728){for(let Bi of bn.types)ue(Bi,Bi);return}if(Fn.flags&1048576){let[Bi,or]=Xt(bn.flags&1048576?bn.types:[bn],Fn.types,bit),[po,za]=Xt(Bi,or,Eit);if(za.length===0)return;if(Fn=Br(za),po.length===0){We(bn,Fn,1);return}bn=Br(po)}else if(Fn.flags&2097152&&!ji(Fn.types,X$)&&!(bn.flags&1048576)){let[Bi,or]=Xt(bn.flags&2097152?bn.types:[bn],Fn.types,kg);if(Bi.length===0||or.length===0)return;bn=Zo(Bi),Fn=Zo(or)}if(Fn.flags&41943040){if(wP(Fn))return;Fn=Zy(Fn)}if(Fn.flags&8650752){if(yke(bn))return;let Bi=In(Fn);if(Bi){if(br(bn)&262144||bn===on)return;if(!Bi.isFixed){let po=T||bn;if(po===ze)return;(Bi.priority===void 0||u<Bi.priority)&&(Bi.candidates=void 0,Bi.contraCandidates=void 0,Bi.topLevel=!0,Bi.priority=u),u===Bi.priority&&(_&&!g?To(Bi.contraCandidates,po)||(Bi.contraCandidates=pn(Bi.contraCandidates,po),bQ(n)):To(Bi.candidates,po)||(Bi.candidates=pn(Bi.candidates,po),bQ(n))),!(u&128)&&Fn.flags&262144&&Bi.topLevel&&!Tw(c,Fn)&&(Bi.topLevel=!1,bQ(n))}N=Math.min(N,u);return}let or=Lg(Fn,!1);if(or!==Fn)ue(bn,or);else if(Fn.flags&8388608){let po=Lg(Fn.indexType,!1);if(po.flags&465829888){let za=T2e(Lg(Fn.objectType,!1),po,!1);za&&za!==Fn&&ue(bn,za)}}}if(br(bn)&4&&br(Fn)&4&&(bn.target===Fn.target||ff(bn)&&ff(Fn))&&!(bn.node&&Fn.node))Hn(Ts(bn),Ts(Fn),F_e(bn.target));else if(bn.flags&4194304&&Fn.flags&4194304)En(bn.type,Fn.type);else if((vw(bn)||bn.flags&4)&&Fn.flags&4194304){let Bi=pit(bn);at(Bi,Fn.type,256)}else if(bn.flags&8388608&&Fn.flags&8388608)ue(bn.objectType,Fn.objectType),ue(bn.indexType,Fn.indexType);else if(bn.flags&268435456&&Fn.flags&268435456)bn.symbol===Fn.symbol&&ue(bn.type,Fn.type);else if(bn.flags&33554432)ue(bn.baseType,Fn),We(e_e(bn),Fn,4);else if(Fn.flags&16777216)qt(bn,Fn,Bn);else if(Fn.flags&3145728)zn(bn,Fn.types,Fn.flags);else if(bn.flags&1048576){let Bi=bn.types;for(let or of Bi)ue(or,Fn)}else if(Fn.flags&134217728)co(bn,Fn);else{if(bn=wm(bn),vu(bn)&&vu(Fn)&&qt(bn,Fn,no),!(u&512&&bn.flags&467927040)){let Bi=ou(bn);if(Bi!==bn&&!(Bi.flags&2621440))return ue(Bi,Fn);bn=Bi}bn.flags&2621440&&qt(bn,Fn,Eo)}}}function We(bn,Fn,Bi){let or=u;u|=Bi,ue(bn,Fn),u=or}function at(bn,Fn,Bi){let or=u;u|=Bi,En(bn,Fn),u=or}function ht(bn,Fn,Bi,or){let po=u;u|=or,zn(bn,Fn,Bi),u=po}function qt(bn,Fn,Bi){let or=bn.id+\",\"+Fn.id,po=O&&O.get(or);if(po!==void 0){N=Math.min(N,po);return}(O||(O=new Map)).set(or,-1);let za=N;N=2048;let es=me;(B??(B=[])).push(bn),(Q??(Q=[])).push(Fn),BP(bn,B,B.length,2)&&(me|=1),BP(Fn,Q,Q.length,2)&&(me|=2),me!==3?Bi(bn,Fn):N=-1,Q.pop(),B.pop(),me=es,O.set(or,N),N=Math.min(N,za)}function Xt(bn,Fn,Bi){let or,po;for(let za of Fn)for(let es of bn)Bi(es,za)&&(ue(es,za),or=Kh(or,es),po=Kh(po,za));return[or?Cr(bn,za=>!To(or,za)):bn,po?Cr(Fn,za=>!To(po,za)):Fn]}function Hn(bn,Fn,Bi){let or=bn.length<Fn.length?bn.length:Fn.length;for(let po=0;po<or;po++)po<Bi.length&&(Bi[po]&7)===2?En(bn[po],Fn[po]):ue(bn[po],Fn[po])}function En(bn,Fn){_=!_,ue(bn,Fn),_=!_}function Kt(bn,Fn){ee||u&1024?En(bn,Fn):ue(bn,Fn)}function In(bn){if(bn.flags&8650752){for(let Fn of n)if(bn===Fn.typeParameter)return Fn}}function Sn(bn){let Fn;for(let Bi of bn){let or=Bi.flags&2097152&&Dr(Bi.types,po=>!!In(po));if(!or||Fn&&or!==Fn)return;Fn=or}return Fn}function zn(bn,Fn,Bi){let or=0;if(Bi&1048576){let po,za=bn.flags&1048576?bn.types:[bn],es=new Array(za.length),hd=!1;for(let va of Fn)if(In(va))po=va,or++;else for(let au=0;au<za.length;au++){let fl=N;N=2048,ue(za[au],va),N===u&&(es[au]=!0),hd=hd||N===-1,N=Math.min(N,fl)}if(or===0){let va=Sn(Fn);va&&We(bn,va,1);return}if(or===1&&!hd){let va=ta(za,(au,fl)=>es[fl]?void 0:au);if(va.length){ue(Br(va),po);return}}}else for(let po of Fn)In(po)?or++:ue(bn,po);if(Bi&2097152?or===1:or>0)for(let po of Fn)In(po)&&We(bn,po,1)}function Mn(bn,Fn,Bi){if(Bi.flags&1048576||Bi.flags&2097152){let or=!1;for(let po of Bi.types)or=Mn(bn,Fn,po)||or;return or}if(Bi.flags&4194304){let or=In(Bi.type);if(or&&!or.isFixed&&!yke(bn)){let po=gke(bn,Fn,Bi);po&&We(po,or.typeParameter,br(bn)&262144?16:8)}return!0}if(Bi.flags&262144){We(y_(bn,bn.pattern?2:0),Bi,32);let or=qT(Bi);if(or&&Mn(bn,Fn,or))return!0;let po=nn(Xa(bn),Yn),za=nn(Ud(bn),es=>es!==Ir?es.type:Ar);return ue(Br(ro(po,za)),Ng(Fn)),!0}return!1}function Bn(bn,Fn){if(bn.flags&16777216)ue(bn.checkType,Fn.checkType),ue(bn.extendsType,Fn.extendsType),ue(EE(bn),EE(Fn)),ue(SE(bn),SE(Fn));else{let Bi=[EE(Fn),SE(Fn)];ht(bn,Bi,Fn.flags,_?64:0)}}function co(bn,Fn){let Bi=Ske(bn,Fn),or=Fn.types;if(Bi||ji(Fn.texts,po=>po.length===0))for(let po=0;po<or.length;po++){let za=Bi?Bi[po]:Ar,es=or[po];if(za.flags&128&&es.flags&8650752){let hd=In(es),va=hd?md(hd.typeParameter):void 0;if(va&&!vt(va)){let au=va.flags&1048576?va.types:[va],fl=Nd(au,(Ys,Qe)=>Ys|Qe.flags,0);if(!(fl&4)){let Ys=za.value;fl&296&&!bke(Ys,!0)&&(fl&=-297),fl&2112&&!hF(Ys,!0)&&(fl&=-2113);let Qe=Nd(au,(ve,vn)=>vn.flags&fl?ve.flags&4?ve:vn.flags&4?za:ve.flags&134217728?ve:vn.flags&134217728&&TQ(za,vn)?za:ve.flags&268435456?ve:vn.flags&268435456&&Ys===y2e(vn.symbol,Ys)?za:ve.flags&128?ve:vn.flags&128&&vn.value===Ys?vn:ve.flags&8?ve:vn.flags&8?Wm(+Ys):ve.flags&32?ve:vn.flags&32?Wm(+Ys):ve.flags&256?ve:vn.flags&256&&vn.value===+Ys?vn:ve.flags&64?ve:vn.flags&64?vit(Ys):ve.flags&2048?ve:vn.flags&2048&&ZE(vn.value)===Ys?vn:ve.flags&16?ve:vn.flags&16?Ys===\"true\"?An:Ys===\"false\"?Ot:ti:ve.flags&512?ve:vn.flags&512&&vn.intrinsicName===Ys?vn:ve.flags&32768?ve:vn.flags&32768&&vn.intrinsicName===Ys?vn:ve.flags&65536?ve:vn.flags&65536&&vn.intrinsicName===Ys?vn:ve:ve,Ar);if(!(Qe.flags&131072)){ue(Qe,es);continue}}}}ue(za,es)}}function no(bn,Fn){ue(Vp(bn),Vp(Fn)),ue(Ng(bn),Ng(Fn));let Bi=Dv(bn),or=Dv(Fn);Bi&&or&&ue(Bi,or)}function Eo(bn,Fn){var Bi,or;if(br(bn)&4&&br(Fn)&4&&(bn.target===Fn.target||ff(bn)&&ff(Fn))){Hn(Ts(bn),Ts(Fn),F_e(bn.target));return}if(vu(bn)&&vu(Fn)&&no(bn,Fn),br(Fn)&32&&!Fn.declaration.nameType){let po=Vp(Fn);if(Mn(bn,Fn,po))return}if(!hit(bn,Fn)){if(AE(bn)){if(ga(Fn)){let po=Nv(bn),za=Nv(Fn),es=Ts(Fn),hd=Fn.target.elementFlags;if(ga(bn)&&Yrt(bn,Fn)){for(let fl=0;fl<za;fl++)ue(Ts(bn)[fl],es[fl]);return}let va=ga(bn)?Math.min(bn.target.fixedLength,Fn.target.fixedLength):0,au=Math.min(ga(bn)?cw(bn.target,3):0,Fn.target.hasRestElement?cw(Fn.target,3):0);for(let fl=0;fl<va;fl++)ue(Ts(bn)[fl],es[fl]);if(!ga(bn)||po-va-au===1&&bn.target.elementFlags[va]&4){let fl=Ts(bn)[va];for(let Ys=va;Ys<za-au;Ys++)ue(hd[Ys]&8?_d(fl):fl,es[Ys])}else{let fl=za-va-au;if(fl===2){if(hd[va]&hd[va+1]&8){let Ys=In(es[va]);Ys&&Ys.impliedArity!==void 0&&(ue(FP(bn,va,au+po-Ys.impliedArity),es[va]),ue(FP(bn,va+Ys.impliedArity,au),es[va+1]))}else if(hd[va]&8&&hd[va+1]&4){let Ys=(Bi=In(es[va]))==null?void 0:Bi.typeParameter,Qe=Ys&&md(Ys);if(Qe&&ga(Qe)&&!Qe.target.hasRestElement){let ve=Qe.target.fixedLength;ue(FP(bn,va,po-(va+ve)),es[va]),ue(jP(bn,va+ve,au),es[va+1])}}else if(hd[va]&4&&hd[va+1]&8){let Ys=(or=In(es[va+1]))==null?void 0:or.typeParameter,Qe=Ys&&md(Ys);if(Qe&&ga(Qe)&&!Qe.target.hasRestElement){let ve=Qe.target.fixedLength,vn=po-cw(Fn.target,3),_r=vn-ve,Xr=lh(Ts(bn).slice(_r,vn),bn.target.elementFlags.slice(_r,vn),!1,bn.target.labeledElementDeclarations&&bn.target.labeledElementDeclarations.slice(_r,vn));ue(jP(bn,va,au+ve),es[va]),ue(Xr,es[va+1])}}}else if(fl===1&&hd[va]&8){let Ys=Fn.target.elementFlags[za-1]&2,Qe=FP(bn,va,au);We(Qe,es[va],Ys?2:0)}else if(fl===1&&hd[va]&4){let Ys=jP(bn,va,au);Ys&&ue(Ys,es[va])}}for(let fl=0;fl<au;fl++)ue(Ts(bn)[po-fl-1],es[za-fl-1]);return}if(ff(Fn)){ku(bn,Fn);return}}Yi(bn,Fn),ic(bn,Fn,0),ic(bn,Fn,1),ku(bn,Fn)}}function Yi(bn,Fn){let Bi=Xy(Fn);for(let or of Bi){let po=Qo(bn,or.escapedName);po&&!ct(po.declarations,nhe)&&ue(Yn(po),Yn(or))}}function ic(bn,Fn,Bi){let or=Co(bn,Bi),po=or.length;if(po>0){let za=Co(Fn,Bi),es=za.length;for(let hd=0;hd<es;hd++){let va=Math.max(po-es+hd,0);mf(Rtt(or[va]),sw(za[hd]))}}}function mf(bn,Fn){if(!(bn.flags&64)){let Bi=g,or=Fn.declaration?Fn.declaration.kind:0;g=g||or===174||or===173||or===176,J_e(bn,Fn,Kt),g=Bi}K_e(bn,Fn,ue)}function ku(bn,Fn){let Bi=br(bn)&br(Fn)&32?8:0,or=Ud(Fn);if(gQ(bn))for(let po of or){let za=[];for(let es of Xa(bn))if(f1(vD(es,8576),po.keyType)){let hd=Yn(es);za.push(es.flags&16777216?hQ(hd):hd)}for(let es of Ud(bn))f1(es.keyType,po.keyType)&&za.push(es.type);za.length&&We(Br(za),po.type,Bi)}for(let po of or){let za=iw(bn,po.keyType);za&&We(za.type,po.type,Bi)}}}function bit(n,a){return a===M?n===a:kg(n,a)||!!(a.flags&4&&n.flags&128||a.flags&8&&n.flags&256)}function Eit(n,a){return!!(n.flags&524288&&a.flags&524288&&n.symbol&&n.symbol===a.symbol||n.aliasSymbol&&n.aliasTypeArguments&&n.aliasSymbol===a.aliasSymbol)}function Sit(n){let a=iu(n);return!!a&&ol(a.flags&16777216?kme(a):a,406978556)}function RE(n){return!!(br(n)&128)}function rhe(n){return!!(br(n)&16512)}function Tit(n){if(n.length>1){let a=Cr(n,rhe);if(a.length){let c=Br(a,2);return ro(Cr(n,u=>!rhe(u)),[c])}}return n}function Ait(n){return n.priority&416?Zo(n.contraCandidates):jrt(n.contraCandidates)}function Iit(n,a){let c=Tit(n.candidates),u=Sit(n.typeParameter)||JT(n.typeParameter),_=!u&&n.topLevel&&(n.isFixed||!uit(a,n.typeParameter)),g=u?sc(c,qd):_?sc(c,eS):c,T=n.priority&416?Br(g,2):Vrt(g);return gp(T)}function ihe(n,a){let c=n.inferences[a];if(!c.inferredType){let u,_;if(n.signature){let T=c.candidates?Iit(c,n.signature):void 0,N=c.contraCandidates?Ait(c):void 0;if(T||N){let O=T&&(!N||!(T.flags&131072)&&ct(c.contraCandidates,B=>tb(T,B))&&ji(n.inferences,B=>B!==c&&iu(B.typeParameter)!==c.typeParameter||ji(B.candidates,Q=>tb(Q,T))));u=O?T:N,_=O?N:T}else if(n.flags&1)u=Zi;else{let O=KT(c.typeParameter);O&&(u=Gi(O,nrt(trt(n,a),n.nonFixingMapper)))}}else u=vke(c);c.inferredType=u||ohe(!!(n.flags&2));let g=iu(c.typeParameter);if(g){let T=Gi(g,n.nonFixingMapper);(!u||!n.compareTypes(u,hp(T,u)))&&(c.inferredType=_&&n.compareTypes(_,hp(T,_))?_:T)}}return c.inferredType}function ohe(n){return n?z:Zt}function ahe(n){let a=[];for(let c=0;c<n.inferences.length;c++)a.push(ihe(n,c));return a}function Ake(n){switch(n.escapedText){case\"document\":case\"console\":return f.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom;case\"$\":return F.types?f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery;case\"describe\":case\"suite\":case\"it\":case\"test\":return F.types?f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha;case\"process\":case\"require\":case\"Buffer\":case\"module\":return F.types?f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode;case\"Bun\":return F.types?f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_and_then_add_bun_to_the_types_field_in_your_tsconfig:f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun;case\"Map\":case\"Set\":case\"Promise\":case\"Symbol\":case\"WeakMap\":case\"WeakSet\":case\"Iterator\":case\"AsyncIterator\":case\"SharedArrayBuffer\":case\"Atomics\":case\"AsyncIterable\":case\"AsyncIterableIterator\":case\"AsyncGenerator\":case\"AsyncGeneratorFunction\":case\"BigInt\":case\"Reflect\":case\"BigInt64Array\":case\"BigUint64Array\":return f.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later;case\"await\":if(Bo(n.parent))return f.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function;default:return n.parent.kind===304?f.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:f.Cannot_find_name_0}}function cm(n){let a=Fr(n);return a.resolvedSymbol||(a.resolvedSymbol=!_l(n)&&Xs(n,n.escapedText,1160127,Ake(n),n,!$W(n),!1)||tt),a.resolvedSymbol}function she(n){return!!(n.flags&33554432||Rn(n,a=>Gd(a)||Xf(a)||ju(a)))}function AQ(n,a,c,u){switch(n.kind){case 80:if(!zA(n)){let T=cm(n);return T!==tt?`${u?Fa(u):\"-1\"}|${Hd(a)}|${Hd(c)}|${na(T)}`:void 0}case 110:return`0|${u?Fa(u):\"-1\"}|${Hd(a)}|${Hd(c)}`;case 235:case 217:return AQ(n.expression,a,c,u);case 166:let _=AQ(n.left,a,c,u);return _&&_+\".\"+n.right.escapedText;case 211:case 212:let g=rA(n);if(g!==void 0){let T=AQ(n.expression,a,c,u);return T&&T+\".\"+g}break;case 206:case 207:case 262:case 218:case 219:case 174:return`${Fa(n)}#${Hd(a)}`}}function Zc(n,a){switch(a.kind){case 217:case 235:return Zc(n,a.expression);case 226:return lc(a)&&Zc(n,a.left)||Zn(a)&&a.operatorToken.kind===28&&Zc(n,a.right)}switch(n.kind){case 236:return a.kind===236&&n.keywordToken===a.keywordToken&&n.name.escapedText===a.name.escapedText;case 80:case 81:return zA(n)?a.kind===110:a.kind===80&&cm(n)===cm(a)||(yi(a)||Na(a))&&zp(cm(n))===dr(a);case 110:return a.kind===110;case 108:return a.kind===108;case 235:case 217:return Zc(n.expression,a);case 211:case 212:let c=rA(n),u=us(a)?rA(a):void 0;return c!==void 0&&u!==void 0&&u===c&&Zc(n.expression,a.expression);case 166:return us(a)&&n.right.escapedText===rA(a)&&Zc(n.left,a.expression);case 226:return Zn(n)&&n.operatorToken.kind===28&&Zc(n.right,a)}return!1}function rA(n){if(Er(n))return n.name.escapedText;if(Rs(n))return xit(n);if(Na(n)){let a=Ma(n);return a?Hs(a):void 0}if(ao(n))return\"\"+n.parent.parameters.indexOf(n)}function lhe(n){return n.flags&8192?n.escapedName:n.flags&384?Hs(\"\"+n.value):void 0}function xit(n){return Ap(n.argumentExpression)?Hs(n.argumentExpression.text):gl(n.argumentExpression)?Rit(n.argumentExpression):void 0}function Rit(n){let a=Es(n,111551,!0);if(!a||!(KP(a)||a.flags&8))return;let c=a.valueDeclaration;if(c===void 0)return;let u=Wi(c);if(u){let _=lhe(u);if(_!==void 0)return _}if(SS(c)&&bg(c,n)){let _=vL(c);if(_){let g=ko(c.parent)?v_(c):td(_);return g&&lhe(g)}if(p0(c))return $1(c.name)}}function Ike(n,a){for(;us(n);)if(n=n.expression,Zc(n,a))return!0;return!1}function iA(n,a){for(;yd(n);)if(n=n.expression,Zc(n,a))return!0;return!1}function UP(n,a){if(n&&n.flags&1048576){let c=xLe(n,a);if(c&&tl(c)&2)return c.links.isDiscriminantProperty===void 0&&(c.links.isDiscriminantProperty=(c.links.checkFlags&192)===192&&!yD(Yn(c))),!!c.links.isDiscriminantProperty}return!1}function xke(n,a){let c;for(let u of n)if(UP(a,u.escapedName)){if(c){c.push(u);continue}c=[u]}return c}function Dit(n,a){let c=new Map,u=0;for(let _ of n)if(_.flags&61603840){let g=Fe(_,a);if(g){if(!vw(g))return;let T=!1;aA(g,N=>{let O=Hd(qd(N)),B=c.get(O);B?B!==Zt&&(c.set(O,Zt),T=!0):c.set(O,_)}),T||u++}}return u>=10&&u*2>=n.length?c:void 0}function t5(n){let a=n.types;if(!(a.length<10||br(n)&32768||Wv(a,c=>!!(c.flags&59506688))<10)){if(n.keyPropertyName===void 0){let c=an(a,_=>_.flags&59506688?an(Xa(_),g=>Fm(Yn(g))?g.escapedName:void 0):void 0),u=c&&Dit(a,c);n.keyPropertyName=u?c:\"\",n.constituentMap=u}return n.keyPropertyName.length?n.keyPropertyName:void 0}}function n5(n,a){var c;let u=(c=n.constituentMap)==null?void 0:c.get(Hd(qd(a)));return u!==Zt?u:void 0}function Rke(n,a){let c=t5(n),u=c&&Fe(a,c);return u&&n5(n,u)}function Cit(n,a){let c=t5(n),u=c&&Dr(a.properties,g=>g.symbol&&g.kind===303&&g.symbol.escapedName===c&&d5(g.initializer)),_=u&&M5(u.initializer);return _&&n5(n,_)}function Dke(n,a){return Zc(n,a)||Ike(n,a)}function Cke(n,a){if(n.arguments){for(let c of n.arguments)if(Dke(a,c)||iA(c,a))return!0}return!!(n.expression.kind===211&&Dke(a,n.expression.expression))}function che(n){return(!n.id||n.id<0)&&(n.id=Doe,Doe++),n.id}function Nit(n,a){if(!(n.flags&1048576))return ea(n,a);for(let c of n.types)if(ea(c,a))return!0;return!1}function Pit(n,a){if(n===a)return n;if(a.flags&131072)return a;let c=`A${Hd(n)},${Hd(a)}`;return $I(c)??Ry(c,Mit(n,a))}function Mit(n,a){let c=Bl(n,_=>Nit(a,_)),u=a.flags&512&&$0(a)?Gs(c,v1):c;return ea(a,u)?u:n}function dhe(n){let a=Om(n);return!!(a.callSignatures.length||a.constructSignatures.length||a.members.get(\"bind\")&&tb(n,At))}function HP(n,a){return uhe(n,a)&a}function wf(n,a){return HP(n,a)!==0}function uhe(n,a){n.flags&467927040&&(n=md(n)||Zt);let c=n.flags;if(c&268435460)return H?16317953:16776705;if(c&134217856){let u=c&128&&n.value===\"\";return H?u?12123649:7929345:u?12582401:16776705}if(c&40)return H?16317698:16776450;if(c&256){let u=n.value===0;return H?u?12123394:7929090:u?12582146:16776450}if(c&64)return H?16317188:16775940;if(c&2048){let u=dke(n);return H?u?12122884:7928580:u?12581636:16775940}return c&16?H?16316168:16774920:c&528?H?n===Ot||n===dn?12121864:7927560:n===Ot||n===dn?12580616:16774920:c&524288?a&(H?83427327:83886079)?br(n)&16&&Og(n)?H?83427327:83886079:dhe(n)?H?7880640:16728e3:H?7888800:16736160:0:c&16384?9830144:c&32768?26607360:c&65536?42917664:c&12288?H?7925520:16772880:c&67108864?H?7888800:16736160:c&131072?0:c&1048576?Nd(n.types,(u,_)=>u|uhe(_,a),0):c&2097152?Lit(n,a):83886079}function Lit(n,a){let c=ol(n,402784252),u=0,_=134217727;for(let g of n.types)if(!(c&&g.flags&524288)){let T=uhe(g,a);u|=T,_&=T}return u&8256|_&134209471}function Wf(n,a){return Bl(n,c=>wf(c,a))}function oA(n,a){let c=Nke(Wf(H&&n.flags&2?zs:n,a));if(H)switch(a){case 524288:return Gs(c,u=>wf(u,65536)?Zo([u,wf(u,131072)&&!ol(c,65536)?Br([ua,se]):ua]):u);case 1048576:return Gs(c,u=>wf(u,131072)?Zo([u,wf(u,65536)&&!ol(c,32768)?Br([ua,Re]):ua]):u);case 2097152:case 4194304:return Gs(c,u=>wf(u,262144)?Zrt(u):u)}return c}function Nke(n){return n===zs?Zt:n}function phe(n,a){return a?Br([Zr(n),td(a)]):n}function Pke(n,a){var c;let u=Pv(a);if(!Af(u))return it;let _=If(u);return Fe(n,_)||Aw((c=m1(n,_))==null?void 0:c.type)||it}function Mke(n,a){return Lu(n,VP)&&Urt(n,a)||Aw(Ov(65,n,Re,void 0))||it}function Aw(n){return n&&(F.noUncheckedIndexedAccess?Br([n,M]):n)}function Lke(n){return _d(Ov(65,n,Re,void 0)||it)}function kit(n){return n.parent.kind===209&&fhe(n.parent)||n.parent.kind===303&&fhe(n.parent.parent)?phe(r5(n),n.right):td(n.right)}function fhe(n){return n.parent.kind===226&&n.parent.left===n||n.parent.kind===250&&n.parent.initializer===n}function Oit(n,a){return Mke(r5(n),n.elements.indexOf(a))}function wit(n){return Lke(r5(n.parent))}function kke(n){return Pke(r5(n.parent),n.name)}function Wit(n){return phe(kke(n),n.objectAssignmentInitializer)}function r5(n){let{parent:a}=n;switch(a.kind){case 249:return Ie;case 250:return F5(a)||it;case 226:return kit(a);case 220:return Re;case 209:return Oit(a,n);case 230:return wit(a);case 303:return kke(a);case 304:return Wit(a)}return it}function Fit(n){let a=n.parent,c=wke(a.parent),u=a.kind===206?Pke(c,n.propertyName||n.name):n.dotDotDotToken?Lke(c):Mke(c,a.elements.indexOf(n));return phe(u,n.initializer)}function Oke(n){return Fr(n).resolvedType||td(n)}function zit(n){return n.initializer?Oke(n.initializer):n.parent.parent.kind===249?Ie:n.parent.parent.kind===250&&F5(n.parent.parent)||it}function wke(n){return n.kind===260?zit(n):Fit(n)}function Bit(n){return n.kind===260&&n.initializer&&Vy(n.initializer)||n.kind!==208&&n.parent.kind===226&&Vy(n.parent.right)}function tS(n){switch(n.kind){case 217:return tS(n.expression);case 226:switch(n.operatorToken.kind){case 64:case 76:case 77:case 78:return tS(n.left);case 28:return tS(n.right)}}return n}function Wke(n){let{parent:a}=n;return a.kind===217||a.kind===226&&a.operatorToken.kind===64&&a.left===n||a.kind===226&&a.operatorToken.kind===28&&a.right===n?Wke(a):n}function Git(n){return n.kind===296?qd(td(n.expression)):Ar}function IQ(n){let a=Fr(n);if(!a.switchTypes){a.switchTypes=[];for(let c of n.caseBlock.clauses)a.switchTypes.push(Git(c))}return a.switchTypes}function Fke(n){if(ct(n.caseBlock.clauses,c=>c.kind===296&&!Ga(c.expression)))return;let a=[];for(let c of n.caseBlock.clauses){let u=c.kind===296?c.expression.text:void 0;a.push(u&&!To(a,u)?u:void 0)}return a}function Vit(n,a){return n.flags&1048576?!an(n.types,c=>!To(a,c)):To(a,n)}function qP(n,a){return!!(n===a||n.flags&131072||a.flags&1048576&&jit(n,a))}function jit(n,a){if(n.flags&1048576){for(let c of n.types)if(!Mg(a.types,c))return!1;return!0}return n.flags&1056&&M$(n)===a?!0:Mg(a.types,n)}function aA(n,a){return n.flags&1048576?an(n.types,a):a(n)}function dm(n,a){return n.flags&1048576?ct(n.types,a):a(n)}function Lu(n,a){return n.flags&1048576?ji(n.types,a):a(n)}function Uit(n,a){return n.flags&3145728?ji(n.types,a):a(n)}function Bl(n,a){if(n.flags&1048576){let c=n.types,u=Cr(c,a);if(u===c)return n;let _=n.origin,g;if(_&&_.flags&1048576){let T=_.types,N=Cr(T,O=>!!(O.flags&1048576)||a(O));if(T.length-N.length===c.length-u.length){if(N.length===1)return N[0];g=f_e(1048576,N)}}return __e(u,n.objectFlags&16809984,void 0,void 0,g)}return n.flags&131072||a(n)?n:Ar}function xQ(n,a){return Bl(n,c=>c!==a)}function Hit(n){return n.flags&1048576?n.types.length:1}function Gs(n,a,c){if(n.flags&131072)return n;if(!(n.flags&1048576))return a(n);let u=n.origin,_=u&&u.flags&1048576?u.types:n.types,g,T=!1;for(let N of _){let O=N.flags&1048576?Gs(N,a,c):a(N);T||(T=N!==O),O&&(g?g.push(O):g=[O])}return T?g&&Br(g,c?0:1):n}function zke(n,a,c,u){return n.flags&1048576&&c?Br(nn(n.types,a),1,c,u):Gs(n,a)}function JP(n,a){return Bl(n,c=>(c.flags&a)!==0)}function Bke(n,a){return ol(n,134217804)&&ol(a,402655616)?Gs(n,c=>c.flags&4?JP(a,402653316):$T(c)&&!ol(a,402653188)?JP(a,128):c.flags&8?JP(a,264):c.flags&64?JP(a,2112):c):n}function SD(n){return n.flags===0}function sA(n){return n.flags===0?n.type:n}function TD(n,a){return a?{flags:0,type:n.flags&131072?Zi:n}:n}function qit(n){let a=af(256);return a.elementType=n,a}function mhe(n){return Tn[n.id]||(Tn[n.id]=qit(n))}function Gke(n,a){let c=Ew(wg(M5(a)));return qP(c,n.elementType)?n:mhe(Br([n.elementType,c]))}function Jit(n){return n.flags&131072?Sc:_d(n.flags&1048576?Br(n.types,2):n)}function Kit(n){return n.finalArrayType||(n.finalArrayType=Jit(n.elementType))}function i5(n){return br(n)&256?Kit(n):n}function Xit(n){return br(n)&256?n.elementType:Ar}function Yit(n){let a=!1;for(let c of n)if(!(c.flags&131072)){if(!(br(c)&256))return!1;a=!0}return a}function Vke(n){let a=Wke(n),c=a.parent,u=Er(c)&&(c.name.escapedText===\"length\"||c.parent.kind===213&&Me(c.name)&&K9(c.name)),_=c.kind===212&&c.expression===a&&c.parent.kind===226&&c.parent.operatorToken.kind===64&&c.parent.left===c&&!Sh(c.parent)&&ed(td(c.argumentExpression),296);return u||_}function $it(n){return(yi(n)||xo(n)||Gu(n)||ao(n))&&!!(Jc(n)||Jn(n)&&$v(n)&&n.initializer&&e0(n.initializer)&&Tf(n.initializer))}function RQ(n,a){if(n=yl(n),n.flags&8752)return Yn(n);if(n.flags&7){if(tl(n)&262144){let u=n.links.syntheticOrigin;if(u&&RQ(u))return Yn(n)}let c=n.valueDeclaration;if(c){if($it(c))return Yn(n);if(yi(c)&&c.parent.parent.kind===250){let u=c.parent.parent,_=o5(u.expression,void 0);if(_){let g=u.awaitModifier?15:13;return Ov(g,_,Re,void 0)}}a&&fa(a,vr(c,f._0_needs_an_explicit_type_annotation,ai(n)))}}}function o5(n,a){if(!(n.flags&67108864))switch(n.kind){case 80:let c=zp(cm(n));return RQ(c,a);case 110:return vot(n);case 108:return Ehe(n);case 211:{let u=o5(n.expression,a);if(u){let _=n.name,g;if(Ci(_)){if(!u.symbol)return;g=Qo(u,wL(u.symbol,_.escapedText))}else g=Qo(u,_.escapedText);return g&&RQ(g,a)}return}case 217:return o5(n.expression,a)}}function a5(n){let a=Fr(n),c=a.effectsSignature;if(c===void 0){let u;if(Zn(n)){let T=AD(n.right);u=pge(T)}else n.parent.kind===244?u=o5(n.expression,void 0):n.expression.kind!==108&&(yd(n)?u=E_(yw(Xi(n.expression),n.expression),n.expression):u=AD(n.expression));let _=Co(u&&ou(u)||Zt,0),g=_.length===1&&!_[0].typeParameters?_[0]:ct(_,jke)?xD(n):void 0;c=a.effectsSignature=g&&jke(g)?g:$t}return c===$t?void 0:c}function jke(n){return!!(df(n)||n.declaration&&(mD(n.declaration)||Zt).flags&131072)}function Qit(n,a){if(n.kind===1||n.kind===3)return a.arguments[n.parameterIndex];let c=Ka(a.expression);return us(c)?Ka(c.expression):void 0}function Zit(n){let a=Rn(n,YG),c=Nn(n),u=W_(c,a.statements.pos);La.add(Rc(c,u.start,u.length,f.The_containing_function_or_module_body_is_too_large_for_control_flow_analysis))}function s5(n){let a=DQ(n,!1);return Tt=n,Pt=a,a}function l5(n){let a=Ka(n,!0);return a.kind===97||a.kind===226&&(a.operatorToken.kind===56&&(l5(a.left)||l5(a.right))||a.operatorToken.kind===57&&l5(a.left)&&l5(a.right))}function DQ(n,a){for(;;){if(n===Tt)return Pt;let c=n.flags;if(c&4096){if(!a){let u=che(n),_=vT[u];return _!==void 0?_:vT[u]=DQ(n,!0)}a=!1}if(c&368)n=n.antecedent;else if(c&512){let u=a5(n.node);if(u){let _=df(u);if(_&&_.kind===3&&!_.type){let g=n.node.arguments[_.parameterIndex];if(g&&l5(g))return!1}if(Ha(u).flags&131072)return!1}n=n.antecedent}else{if(c&4)return ct(n.antecedents,u=>DQ(u,!1));if(c&8){let u=n.antecedents;if(u===void 0||u.length===0)return!1;n=u[0]}else if(c&128){if(n.clauseStart===n.clauseEnd&&Awe(n.switchStatement))return!1;n=n.antecedent}else if(c&1024){Tt=void 0;let u=n.target,_=u.antecedents;u.antecedents=n.antecedents;let g=DQ(n.antecedent,!1);return u.antecedents=_,g}else return!(c&1)}}}function CQ(n,a){for(;;){let c=n.flags;if(c&4096){if(!a){let u=che(n),_=YI[u];return _!==void 0?_:YI[u]=CQ(n,!0)}a=!1}if(c&496)n=n.antecedent;else if(c&512){if(n.node.expression.kind===108)return!0;n=n.antecedent}else{if(c&4)return ji(n.antecedents,u=>CQ(u,!1));if(c&8)n=n.antecedents[0];else if(c&1024){let u=n.target,_=u.antecedents;u.antecedents=n.antecedents;let g=CQ(n.antecedent,!1);return u.antecedents=_,g}else return!!(c&1)}}}function Uke(n){switch(n.kind){case 110:return!0;case 80:if(!zA(n)){let c=cm(n);return KP(c)||PQ(c)&&!Hke(c)}break;case 211:case 212:return Uke(n.expression)&&Bm(Fr(n).resolvedSymbol||tt);case 206:case 207:let a=Ym(n.parent);return ao(a)||pre(a)?!_he(a):yi(a)&&U5(a)}return!1}function ab(n,a,c=a,u,_=(g=>(g=Vr(n,DL))==null?void 0:g.flowNode)()){let g,T=!1,N=0;if(Ne)return it;if(!_)return a;Ve++;let O=hg,B=sA(ue(_));hg=O;let Q=br(B)&256&&Vke(n)?Sc:i5(B);if(Q===ui||n.parent&&n.parent.kind===235&&!(Q.flags&131072)&&Wf(Q,2097152).flags&131072)return a;return Q===V?Zt:Q;function me(){return T?g:(T=!0,g=AQ(n,a,c,u))}function ue($e){var It;if(N===2e3)return(It=qn)==null||It.instant(qn.Phase.CheckTypes,\"getTypeAtFlowNode_DepthLimit\",{flowId:$e.id}),Ne=!0,Zit(n),it;N++;let Gt;for(;;){let Ft=$e.flags;if(Ft&4096){for(let xn=O;xn<hg;xn++)if(KI[xn]===$e)return N--,XI[xn];Gt=$e}let Yt;if(Ft&16){if(Yt=at($e),!Yt){$e=$e.antecedent;continue}}else if(Ft&512){if(Yt=qt($e),!Yt){$e=$e.antecedent;continue}}else if(Ft&96)Yt=Hn($e);else if(Ft&128)Yt=En($e);else if(Ft&12){if($e.antecedents.length===1){$e=$e.antecedents[0];continue}Yt=Ft&4?Kt($e):In($e)}else if(Ft&256){if(Yt=Xt($e),!Yt){$e=$e.antecedent;continue}}else if(Ft&1024){let xn=$e.target,ii=xn.antecedents;xn.antecedents=$e.antecedents,Yt=ue($e.antecedent),xn.antecedents=ii}else if(Ft&2){let xn=$e.node;if(xn&&xn!==u&&n.kind!==211&&n.kind!==212&&!(n.kind===110&&xn.kind!==219)){$e=xn.flowNode;continue}Yt=c}else Yt=zw(a);return Gt&&(KI[hg]=Gt,XI[hg]=Yt,hg++),N--,Yt}}function We($e){let It=$e.node;return hhe(It.kind===260||It.kind===208?wke(It):r5(It),n)}function at($e){let It=$e.node;if(Zc(n,It)){if(!s5($e))return ui;if(WA(It)===2){let Ft=ue($e.antecedent);return TD(wg(sA(Ft)),SD(Ft))}if(a===Je||a===Sc){if(Bit(It))return mhe(Ar);let Ft=eS(We($e));return ea(Ft,a)?Ft:Nl}let Gt=B9(It)?wg(a):a;return Gt.flags&1048576?Pit(Gt,We($e)):Gt}if(Ike(n,It)){if(!s5($e))return ui;if(yi(It)&&(Jn(It)||U5(It))){let Gt=yL(It);if(Gt&&(Gt.kind===218||Gt.kind===219))return ue($e.antecedent)}return a}if(yi(It)&&It.parent.parent.kind===249&&(Zc(n,It.parent.parent.expression)||iA(It.parent.parent.expression,n)))return Fhe(i5(sA(ue($e.antecedent))))}function ht($e,It){let Gt=Ka(It,!0);if(Gt.kind===97)return ui;if(Gt.kind===226){if(Gt.operatorToken.kind===56)return ht(ht($e,Gt.left),Gt.right);if(Gt.operatorToken.kind===57)return Br([ht($e,Gt.left),ht($e,Gt.right)])}return xr($e,Gt,!0)}function qt($e){let It=a5($e.node);if(It){let Gt=df(It);if(Gt&&(Gt.kind===2||Gt.kind===3)){let Ft=ue($e.antecedent),Yt=i5(sA(Ft)),xn=Gt.type?ci(Yt,Gt,$e.node,!0):Gt.kind===3&&Gt.parameterIndex>=0&&Gt.parameterIndex<$e.node.arguments.length?ht(Yt,$e.node.arguments[Gt.parameterIndex]):Yt;return xn===Yt?Ft:TD(xn,SD(Ft))}if(Ha(It).flags&131072)return ui}}function Xt($e){if(a===Je||a===Sc){let It=$e.node,Gt=It.kind===213?It.expression.expression:It.left.expression;if(Zc(n,tS(Gt))){let Ft=ue($e.antecedent),Yt=sA(Ft);if(br(Yt)&256){let xn=Yt;if(It.kind===213)for(let ii of It.arguments)xn=Gke(xn,ii);else{let ii=M5(It.left.argumentExpression);ed(ii,296)&&(xn=Gke(xn,It.right))}return xn===Yt?Ft:TD(xn,SD(Ft))}return Ft}}}function Hn($e){let It=ue($e.antecedent),Gt=sA(It);if(Gt.flags&131072)return It;let Ft=($e.flags&32)!==0,Yt=i5(Gt),xn=xr(Yt,$e.node,Ft);return xn===Yt?It:TD(xn,SD(It))}function En($e){let It=Ka($e.switchStatement.expression),Gt=ue($e.antecedent),Ft=sA(Gt);if(Zc(n,It))Ft=es(Ft,$e.switchStatement,$e.clauseStart,$e.clauseEnd);else if(It.kind===221&&Zc(n,It.expression))Ft=au(Ft,$e.switchStatement,$e.clauseStart,$e.clauseEnd);else if(It.kind===112)Ft=fl(Ft,$e.switchStatement,$e.clauseStart,$e.clauseEnd);else{H&&(iA(It,n)?Ft=za(Ft,$e.switchStatement,$e.clauseStart,$e.clauseEnd,xn=>!(xn.flags&163840)):It.kind===221&&iA(It.expression,n)&&(Ft=za(Ft,$e.switchStatement,$e.clauseStart,$e.clauseEnd,xn=>!(xn.flags&131072||xn.flags&128&&xn.value===\"undefined\"))));let Yt=Mn(It,Ft);Yt&&(Ft=no(Ft,Yt,$e.switchStatement,$e.clauseStart,$e.clauseEnd))}return TD(Ft,SD(Gt))}function Kt($e){let It=[],Gt=!1,Ft=!1,Yt;for(let xn of $e.antecedents){if(!Yt&&xn.flags&128&&xn.clauseStart===xn.clauseEnd){Yt=xn;continue}let ii=ue(xn),Yr=sA(ii);if(Yr===a&&a===c)return Yr;jp(It,Yr),qP(Yr,c)||(Gt=!0),SD(ii)&&(Ft=!0)}if(Yt){let xn=ue(Yt),ii=sA(xn);if(!(ii.flags&131072)&&!To(It,ii)&&!Awe(Yt.switchStatement)){if(ii===a&&a===c)return ii;It.push(ii),qP(ii,c)||(Gt=!0),SD(xn)&&(Ft=!0)}}return TD(Sn(It,Gt?2:1),Ft)}function In($e){let It=che($e),Gt=HI[It]||(HI[It]=new Map),Ft=me();if(!Ft)return a;let Yt=Gt.get(Ft);if(Yt)return Yt;for(let fn=p_;fn<wp;fn++)if(UR[fn]===$e&&qI[fn]===Ft&&JI[fn].length)return TD(Sn(JI[fn],1),!0);let xn=[],ii=!1,Yr;for(let fn of $e.antecedents){let zr;if(!Yr)zr=Yr=ue(fn);else{UR[wp]=$e,qI[wp]=Ft,JI[wp]=xn,wp++;let Ji=rn;rn=void 0,zr=ue(fn),rn=Ji,wp--;let Ho=Gt.get(Ft);if(Ho)return Ho}let Ai=sA(zr);if(jp(xn,Ai),qP(Ai,c)||(ii=!0),Ai===a)break}let qi=Sn(xn,ii?2:1);return SD(Yr)?TD(qi,!0):(Gt.set(Ft,qi),qi)}function Sn($e,It){if(Yit($e))return mhe(Br(nn($e,Xit)));let Gt=Nke(Br(sc($e,i5),It));return Gt!==a&&Gt.flags&a.flags&1048576&&dM(Gt.types,a.types)?a:Gt}function zn($e){if(ko(n)||e0(n)||qf(n)){if(Me($e)){let Gt=cm($e).valueDeclaration;if(Gt&&(Na(Gt)||ao(Gt))&&n===Gt.parent&&!Gt.initializer&&!Gt.dotDotDotToken)return Gt}}else if(us($e)){if(Zc(n,$e.expression))return $e}else if(Me($e)){let It=cm($e);if(KP(It)){let Gt=It.valueDeclaration;if(yi(Gt)&&!Gt.type&&Gt.initializer&&us(Gt.initializer)&&Zc(n,Gt.initializer.expression))return Gt.initializer;if(Na(Gt)&&!Gt.initializer){let Ft=Gt.parent.parent;if(yi(Ft)&&!Ft.type&&Ft.initializer&&(Me(Ft.initializer)||us(Ft.initializer))&&Zc(n,Ft.initializer))return Gt}}}}function Mn($e,It){if(a.flags&1048576||It.flags&1048576){let Gt=zn($e);if(Gt){let Ft=rA(Gt);if(Ft){let Yt=a.flags&1048576&&qP(It,a)?a:It;if(UP(Yt,Ft))return Gt}}}}function Bn($e,It,Gt){let Ft=rA(It);if(Ft===void 0)return $e;let Yt=yd(It),xn=H&&(Yt||mre(It))&&ol($e,98304),ii=Fe(xn?Wf($e,2097152):$e,Ft);if(!ii)return $e;ii=xn&&Yt?ib(ii):ii;let Yr=Gt(ii);return Bl($e,qi=>{let fn=mt(qi,Ft)||Zt;return!(fn.flags&131072)&&!(Yr.flags&131072)&&q7(Yr,fn)})}function co($e,It,Gt,Ft,Yt){if((Gt===37||Gt===38)&&$e.flags&1048576){let xn=t5($e);if(xn&&xn===rA(It)){let ii=n5($e,td(Ft));if(ii)return Gt===(Yt?37:38)?ii:Fm(Fe(ii,xn)||Zt)?xQ($e,ii):$e}}return Bn($e,It,xn=>Bi(xn,Gt,Ft,Yt))}function no($e,It,Gt,Ft,Yt){if(Ft<Yt&&$e.flags&1048576&&t5($e)===rA(It)){let xn=IQ(Gt).slice(Ft,Yt),ii=Br(nn(xn,Yr=>n5($e,Yr)||Zt));if(ii!==Zt)return ii}return Bn($e,It,xn=>es(xn,Gt,Ft,Yt))}function Eo($e,It,Gt){if(Zc(n,It))return oA($e,Gt?4194304:8388608);H&&Gt&&iA(It,n)&&($e=oA($e,2097152));let Ft=Mn(It,$e);return Ft?Bn($e,Ft,Yt=>Wf(Yt,Gt?4194304:8388608)):$e}function Yi($e,It,Gt){let Ft=Qo($e,It);return Ft?!!(Ft.flags&16777216||tl(Ft)&48)||Gt:!!m1($e,It)||!Gt}function ic($e,It,Gt){let Ft=If(It);if(dm($e,xn=>Yi(xn,Ft,!0)))return Bl($e,xn=>Yi(xn,Ft,Gt));if(Gt){let xn=int();if(xn)return Zo([$e,hD(xn,[It,Zt])])}return $e}function mf($e,It,Gt,Ft,Yt){return Yt=Yt!==(Gt.kind===112)!=(Ft!==38&&Ft!==36),xr($e,It,Yt)}function ku($e,It,Gt){switch(It.operatorToken.kind){case 64:case 76:case 77:case 78:return Eo(xr($e,It.right,Gt),It.left,Gt);case 35:case 36:case 37:case 38:let Ft=It.operatorToken.kind,Yt=tS(It.left),xn=tS(It.right);if(Yt.kind===221&&Ga(xn))return or($e,Yt,Ft,xn,Gt);if(xn.kind===221&&Ga(Yt))return or($e,xn,Ft,Yt,Gt);if(Zc(n,Yt))return Bi($e,Ft,xn,Gt);if(Zc(n,xn))return Bi($e,Ft,Yt,Gt);H&&(iA(Yt,n)?$e=Fn($e,Ft,xn,Gt):iA(xn,n)&&($e=Fn($e,Ft,Yt,Gt)));let ii=Mn(Yt,$e);if(ii)return co($e,ii,Ft,xn,Gt);let Yr=Mn(xn,$e);if(Yr)return co($e,Yr,Ft,Yt,Gt);if(Ys(Yt))return Qe($e,Ft,xn,Gt);if(Ys(xn))return Qe($e,Ft,Yt,Gt);if(sC(xn)&&!us(Yt))return mf($e,Yt,xn,Ft,Gt);if(sC(Yt)&&!us(xn))return mf($e,xn,Yt,Ft,Gt);break;case 104:return ve($e,It,Gt);case 103:if(Ci(It.left))return bn($e,It,Gt);let qi=tS(It.right);if(bw($e)&&us(n)&&Zc(n.expression,qi)){let fn=td(It.left);if(Af(fn)&&rA(n)===If(fn))return Wf($e,Gt?524288:65536)}if(Zc(n,qi)){let fn=td(It.left);if(Af(fn))return ic($e,fn,Gt)}break;case 28:return xr($e,It.right,Gt);case 56:return Gt?xr(xr($e,It.left,!0),It.right,!0):Br([xr($e,It.left,!1),xr($e,It.right,!1)]);case 57:return Gt?Br([xr($e,It.left,!0),xr($e,It.right,!0)]):xr(xr($e,It.left,!1),It.right,!1)}return $e}function bn($e,It,Gt){let Ft=tS(It.right);if(!Zc(n,Ft))return $e;x.assertNode(It.left,Ci);let Yt=VQ(It.left);if(Yt===void 0)return $e;let xn=Yt.parent,ii=jl(x.checkDefined(Yt.valueDeclaration,\"should always have a declaration\"))?Yn(xn):Cs(xn);return _r($e,ii,Gt,!0)}function Fn($e,It,Gt,Ft){let Yt=It===35||It===37,xn=It===35||It===36?98304:32768,ii=td(Gt);return Yt!==Ft&&Lu(ii,qi=>!!(qi.flags&xn))||Yt===Ft&&Lu(ii,qi=>!(qi.flags&(3|xn)))?oA($e,2097152):$e}function Bi($e,It,Gt,Ft){if($e.flags&1)return $e;(It===36||It===38)&&(Ft=!Ft);let Yt=td(Gt),xn=It===35||It===36;if(Yt.flags&98304){if(!H)return $e;let ii=xn?Ft?262144:2097152:Yt.flags&65536?Ft?131072:1048576:Ft?65536:524288;return oA($e,ii)}if(Ft){if(!xn&&($e.flags&2||dm($e,ch))){if(Yt.flags&469893116||ch(Yt))return Yt;if(Yt.flags&524288)return Mr}let ii=Bl($e,Yr=>q7(Yr,Yt)||xn&&eit(Yr,Yt));return Bke(ii,Yt)}return Fm(Yt)?Bl($e,ii=>!(ake(ii)&&q7(ii,Yt))):$e}function or($e,It,Gt,Ft,Yt){(Gt===36||Gt===38)&&(Yt=!Yt);let xn=tS(It.expression);if(!Zc(n,xn)){H&&iA(xn,n)&&Yt===(Ft.text!==\"undefined\")&&($e=oA($e,2097152));let ii=Mn(xn,$e);return ii?Bn($e,ii,Yr=>po(Yr,Ft,Yt)):$e}return po($e,Ft,Yt)}function po($e,It,Gt){return Gt?hd($e,It.text):oA($e,GU.get(It.text)||32768)}function za($e,It,Gt,Ft,Yt){return Gt!==Ft&&ji(IQ(It).slice(Gt,Ft),Yt)?Wf($e,2097152):$e}function es($e,It,Gt,Ft){let Yt=IQ(It);if(!Yt.length)return $e;let xn=Yt.slice(Gt,Ft),ii=Gt===Ft||To(xn,Ar);if($e.flags&2&&!ii){let zr;for(let Ai=0;Ai<xn.length;Ai+=1){let Ji=xn[Ai];if(Ji.flags&469893116)zr!==void 0&&zr.push(Ji);else if(Ji.flags&524288)zr===void 0&&(zr=xn.slice(0,Ai)),zr.push(Mr);else return $e}return Br(zr===void 0?xn:zr)}let Yr=Br(xn),qi=Yr.flags&131072?Ar:Bke(Bl($e,zr=>q7(Yr,zr)),Yr);if(!ii)return qi;let fn=Bl($e,zr=>!(ake(zr)&&To(Yt,qd(qrt(zr)))));return qi.flags&131072?fn:Br([qi,fn])}function hd($e,It){switch(It){case\"string\":return va($e,Ie,1);case\"number\":return va($e,gt,2);case\"bigint\":return va($e,bt,4);case\"boolean\":return va($e,ti,8);case\"symbol\":return va($e,di,16);case\"object\":return $e.flags&1?$e:Br([va($e,Mr,32),va($e,se,131072)]);case\"function\":return $e.flags&1?$e:va($e,At,64);case\"undefined\":return va($e,Re,65536)}return va($e,Mr,128)}function va($e,It,Gt){return Gs($e,Ft=>b_(Ft,It,rf)?wf(Ft,Gt)?Ft:Ar:tb(It,Ft)?It:wf(Ft,Gt)?Zo([Ft,It]):Ar)}function au($e,It,Gt,Ft){let Yt=Fke(It);if(!Yt)return $e;let xn=Tl(It.caseBlock.clauses,qi=>qi.kind===297);if(Gt===Ft||xn>=Gt&&xn<Ft){let qi=Twe(Gt,Ft,Yt);return Bl($e,fn=>HP(fn,qi)===qi)}let Yr=Yt.slice(Gt,Ft);return Br(nn(Yr,qi=>qi?hd($e,qi):Ar))}function fl($e,It,Gt,Ft){let Yt=Tl(It.caseBlock.clauses,Yr=>Yr.kind===297),xn=Gt===Ft||Yt>=Gt&&Yt<Ft;for(let Yr=0;Yr<Gt;Yr++){let qi=It.caseBlock.clauses[Yr];qi.kind===296&&($e=xr($e,qi.expression,!1))}if(xn){for(let Yr=Ft;Yr<It.caseBlock.clauses.length;Yr++){let qi=It.caseBlock.clauses[Yr];qi.kind===296&&($e=xr($e,qi.expression,!1))}return $e}let ii=It.caseBlock.clauses.slice(Gt,Ft);return Br(nn(ii,Yr=>Yr.kind===296?xr($e,Yr.expression,!0):Ar))}function Ys($e){return(Er($e)&&ar($e.name)===\"constructor\"||Rs($e)&&Ga($e.argumentExpression)&&$e.argumentExpression.text===\"constructor\")&&Zc(n,$e.expression)}function Qe($e,It,Gt,Ft){if(Ft?It!==35&&It!==37:It!==36&&It!==38)return $e;let Yt=td(Gt);if(!Vge(Yt)&&!wa(Yt))return $e;let xn=Qo(Yt,\"prototype\");if(!xn)return $e;let ii=Yn(xn),Yr=vt(ii)?void 0:ii;if(!Yr||Yr===Se||Yr===At)return $e;if(vt($e))return Yr;return Bl($e,fn=>qi(fn,Yr));function qi(fn,zr){return fn.flags&524288&&br(fn)&1||zr.flags&524288&&br(zr)&1?fn.symbol===zr.symbol:tb(fn,zr)}}function ve($e,It,Gt){let Ft=tS(It.left);if(!Zc(n,Ft))return Gt&&H&&iA(Ft,n)?oA($e,2097152):$e;let Yt=It.right,xn=td(Yt);if(!TE(xn,Se))return $e;let ii=a5(It),Yr=ii&&df(ii);if(Yr&&Yr.kind===1&&Yr.parameterIndex===0)return _r($e,Yr.type,Gt,!0);if(!TE(xn,At))return $e;let qi=Gs(xn,vn);return vt($e)&&(qi===Se||qi===At)||!Gt&&!(qi.flags&524288&&!ch(qi))?$e:_r($e,qi,Gt,!0)}function vn($e){let It=Fe($e,\"prototype\");if(It&&!vt(It))return It;let Gt=Co($e,1);return Gt.length?Br(nn(Gt,Ft=>Ha(sw(Ft)))):ua}function _r($e,It,Gt,Ft){let Yt=$e.flags&1048576?`N${Hd($e)},${Hd(It)},${(Gt?1:0)|(Ft?2:0)}`:void 0;return $I(Yt)??Ry(Yt,Xr($e,It,Gt,Ft))}function Xr($e,It,Gt,Ft){if(!Gt){if($e===It)return Ar;if(Ft)return Bl($e,qi=>!TE(qi,It));let Yr=_r($e,It,!0,!1);return Bl($e,qi=>!qP(qi,Yr))}if($e.flags&3||$e===It)return It;let Yt=Ft?TE:tb,xn=$e.flags&1048576?t5($e):void 0,ii=Gs(It,Yr=>{let qi=xn&&Fe(Yr,xn),fn=qi&&n5($e,qi),zr=Gs(fn||$e,Ft?Ai=>TE(Ai,Yr)?Ai:TE(Yr,Ai)?Yr:Ar:Ai=>H7(Ai,Yr)?Ai:H7(Yr,Ai)?Yr:tb(Ai,Yr)?Ai:tb(Yr,Ai)?Yr:Ar);return zr.flags&131072?Gs($e,Ai=>ol(Ai,465829888)&&Yt(Yr,md(Ai)||Zt)?Zo([Ai,Yr]):Ar):zr});return ii.flags&131072?tb(It,$e)?It:ea($e,It)?$e:ea(It,$e)?It:Zo([$e,It]):ii}function li($e,It,Gt){if(Cke(It,n)){let Ft=Gt||!gS(It)?a5(It):void 0,Yt=Ft&&df(Ft);if(Yt&&(Yt.kind===0||Yt.kind===1))return ci($e,Yt,It,Gt)}if(bw($e)&&us(n)&&Er(It.expression)){let Ft=It.expression;if(Zc(n.expression,tS(Ft.expression))&&Me(Ft.name)&&Ft.name.escapedText===\"hasOwnProperty\"&&It.arguments.length===1){let Yt=It.arguments[0];if(Ga(Yt)&&rA(n)===Hs(Yt.text))return Wf($e,Gt?524288:65536)}}return $e}function ci($e,It,Gt,Ft){if(It.type&&!(vt($e)&&(It.type===Se||It.type===At))){let Yt=Qit(It,Gt);if(Yt){if(Zc(n,Yt))return _r($e,It.type,Ft,!1);H&&iA(Yt,n)&&(Ft&&!wf(It.type,65536)||!Ft&&Lu(It.type,h5))&&($e=oA($e,2097152));let xn=Mn(Yt,$e);if(xn)return Bn($e,xn,ii=>_r(ii,It.type,Ft,!1))}}return $e}function xr($e,It,Gt){if(F8(It)||Zn(It.parent)&&(It.parent.operatorToken.kind===61||It.parent.operatorToken.kind===78)&&It.parent.left===It)return ur($e,It,Gt);switch(It.kind){case 80:if(!Zc(n,It)&&C<5){let Ft=cm(It);if(KP(Ft)){let Yt=Ft.valueDeclaration;if(Yt&&yi(Yt)&&!Yt.type&&Yt.initializer&&Uke(n)){C++;let xn=xr($e,Yt.initializer,Gt);return C--,xn}}}case 110:case 108:case 211:case 212:return Eo($e,It,Gt);case 213:return li($e,It,Gt);case 217:case 235:return xr($e,It.expression,Gt);case 226:return ku($e,It,Gt);case 224:if(It.operator===54)return xr($e,It.operand,!Gt);break}return $e}function ur($e,It,Gt){if(Zc(n,It))return oA($e,Gt?2097152:262144);let Ft=Mn(It,$e);return Ft?Bn($e,Ft,Yt=>Wf(Yt,Gt?2097152:262144)):$e}}function eot(n,a){if(n=zp(n),(a.kind===80||a.kind===81)&&(LC(a)&&(a=a.parent),bh(a)&&(!Sh(a)||VA(a)))){let c=mQ(VA(a)&&a.kind===211?BQ(a,void 0,!0):td(a));if(zp(Fr(a).resolvedSymbol)===n)return c}return ng(a)&&$g(a.parent)&&lm(a.parent)?T7(a.parent.symbol):pV(a)&&VA(a.parent)?q0(n):qy(n)}function Iw(n){return Rn(n.parent,a=>Lo(a)&&!RS(a)||a.kind===268||a.kind===312||a.kind===172)}function Hke(n){return!qke(n,void 0)}function qke(n,a){let c=Rn(n.valueDeclaration,NQ);if(!c)return!1;let u=Fr(c);return u.flags&131072||(u.flags|=131072,tot(c)||Kke(c)),!n.lastAssignmentPos||a&&n.lastAssignmentPos<a.pos}function _he(n){return x.assert(yi(n)||ao(n)),Jke(n.name)}function Jke(n){return n.kind===80?Hke(dr(n.parent)):ct(n.elements,a=>a.kind!==232&&Jke(a.name))}function tot(n){return!!Rn(n.parent,a=>NQ(a)&&!!(Fr(a).flags&131072))}function NQ(n){return hs(n)||Li(n)}function Kke(n){switch(n.kind){case 80:if(Sh(n)){let c=cm(n);if(PQ(c)&&c.lastAssignmentPos!==Number.MAX_VALUE){let u=Rn(n,NQ),_=Rn(c.valueDeclaration,NQ);c.lastAssignmentPos=u===_?not(n,c.valueDeclaration):Number.MAX_VALUE}}return;case 281:let a=n.parent.parent;if(!n.isTypeOnly&&!a.isTypeOnly&&!a.moduleSpecifier){let c=Es(n.propertyName||n.name,111551,!0,!0);c&&PQ(c)&&(c.lastAssignmentPos=Number.MAX_VALUE)}return;case 264:case 265:case 266:return}xi(n)||Ao(n,Kke)}function not(n,a){let c=n.pos;for(;n&&n.pos>a.pos;){switch(n.kind){case 243:case 244:case 245:case 246:case 247:case 248:case 249:case 250:case 254:case 255:case 258:case 263:c=n.end}n=n.parent}return c}function KP(n){return n.flags&3&&(Ohe(n)&6)!==0}function PQ(n){let a=n.valueDeclaration&&Ym(n.valueDeclaration);return!!a&&(ao(a)||yi(a)&&(u0(a.parent)||rot(a)))}function rot(n){return!!(n.parent.flags&1)&&!(gb(n)&32||n.parent.parent.kind===243&&$_(n.parent.parent.parent))}function iot(n){let a=Fr(n);if(a.parameterInitializerContainsUndefined===void 0){if(!rh(n,9))return cD(n.symbol),!0;let c=!!wf($P(n,0),16777216);if(!g_())return cD(n.symbol),!0;a.parameterInitializerContainsUndefined=c}return a.parameterInitializerContainsUndefined}function oot(n,a){return H&&a.kind===169&&a.initializer&&wf(n,16777216)&&!iot(a)?Wf(n,524288):n}function aot(n,a){let c=a.parent;return c.kind===211||c.kind===166||c.kind===213&&c.expression===a||c.kind===212&&c.expression===a&&!(dm(n,Yke)&&ZT(td(c.argumentExpression)))}function Xke(n){return n.flags&2097152?ct(n.types,Xke):!!(n.flags&465829888&&Pg(n).flags&1146880)}function Yke(n){return n.flags&2097152?ct(n.types,Yke):!!(n.flags&465829888&&!ol(Pg(n),98304))}function sot(n,a){let c=(Me(n)||Er(n)||Rs(n))&&!((r_(n.parent)||KS(n.parent))&&n.parent.tagName===n)&&(a&&a&32?bu(n,8):bu(n,void 0));return c&&!yD(c)}function hhe(n,a,c){return!(c&&c&2)&&dm(n,Xke)&&(aot(n,a)||sot(a,c))?Gs(n,Pg):n}function $ke(n){return!!Rn(n,a=>{let c=a.parent;return c===void 0?\"quit\":dl(c)?c.expression===a&&gl(a):Ed(c)?c.name===a||c.propertyName===a:!1})}function MQ(n,a){if(ot&&MT(n,111551)&&!OS(a)){let c=fc(n);Qc(n,!0)&1160127&&(xf(F)||n0(F)&&$ke(a)||!Bw(zp(c))?Oy(n):Lc(n))}}function lot(n,a,c){var u;let _=Yn(n,c),g=n.valueDeclaration;if(g){if(Na(g)&&!g.initializer&&!g.dotDotDotToken&&g.parent.elements.length>=2){let T=g.parent.parent,N=Ym(T);if(N.kind===260&&lS(N)&6||N.kind===169){let O=Fr(T);if(!(O.flags&4194304)){O.flags|=4194304;let B=Sr(T,0),Q=B&&Gs(B,Pg);if(O.flags&=-4194305,Q&&Q.flags&1048576&&!(N.kind===169&&_he(N))){let me=g.parent,ue=ab(me,Q,Q,void 0,a.flowNode);return ue.flags&131072?Ar:Vh(g,ue,!0)}}}}if(ao(g)&&!g.type&&!g.initializer&&!g.dotDotDotToken){let T=g.parent;if(T.parameters.length>=2&&nQ(T)){let N=Rw(T);if(N&&N.parameters.length===1&&Td(N)){let O=LP(Gi(Yn(N.parameters[0]),(u=nS(T))==null?void 0:u.nonFixingMapper));if(O.flags&1048576&&Lu(O,ga)&&!ct(T.parameters,_he)){let B=ab(T,O,O,void 0,a.flowNode),Q=T.parameters.indexOf(g)-(KE(T)?1:0);return tp(B,Wm(Q))}}}}}return _}function cot(n,a){if(zA(n))return c5(n);let c=cm(n);if(c===tt)return it;if(c===Dt){if(kOe(n))return we(n,f.arguments_cannot_be_referenced_in_property_initializers),it;let Kt=cp(n);if(Kt)for(oe<2&&(Kt.kind===219?we(n,f.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression):Wr(Kt,1024)&&we(n,f.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method)),Fr(Kt).flags|=512;Kt&&gs(Kt);)Kt=cp(Kt),Kt&&(Fr(Kt).flags|=512);return Yn(c)}uot(n)&&MQ(c,n);let u=zp(c),_=wge(u,n);Dy(_)&&v_e(n,_)&&_.declarations&&Tv(n,_.declarations,n.escapedText);let g=u.valueDeclaration;if(g&&u.flags&32&&Kr(g)&&g.name!==n){let Kt=lu(n,!1,!1);for(;Kt.kind!==312&&Kt.parent!==g;)Kt=lu(Kt,!1,!1);Kt.kind!==312&&(Fr(g).flags|=262144,Fr(Kt).flags|=262144,Fr(n).flags|=536870912)}mot(n,c);let T=lot(u,n,a),N=WA(n);if(N){if(!(u.flags&3)&&!(Jn(n)&&u.flags&512)){let Kt=u.flags&384?f.Cannot_assign_to_0_because_it_is_an_enum:u.flags&32?f.Cannot_assign_to_0_because_it_is_a_class:u.flags&1536?f.Cannot_assign_to_0_because_it_is_a_namespace:u.flags&16?f.Cannot_assign_to_0_because_it_is_a_function:u.flags&2097152?f.Cannot_assign_to_0_because_it_is_an_import:f.Cannot_assign_to_0_because_it_is_not_a_variable;return we(n,Kt,ai(c)),it}if(Bm(u))return u.flags&3?we(n,f.Cannot_assign_to_0_because_it_is_a_constant,ai(c)):we(n,f.Cannot_assign_to_0_because_it_is_a_read_only_property,ai(c)),it}let O=u.flags&2097152;if(u.flags&3){if(N===1)return B9(n)?wg(T):T}else if(O)g=im(c);else return T;if(!g)return T;T=hhe(T,n,a);let B=Ym(g).kind===169,Q=Iw(g),me=Iw(n),ue=me!==Q,We=n.parent&&n.parent.parent&&lv(n.parent)&&fhe(n.parent.parent),at=c.flags&134217728,ht=T===Je||T===Sc,qt=ht&&n.parent.kind===235;for(;me!==Q&&(me.kind===218||me.kind===219||pW(me))&&(KP(u)&&T!==Sc||PQ(u)&&qke(u,n));)me=Iw(me);let Xt=B||O||ue||We||at||dot(n,g)||T!==Je&&T!==Sc&&(!H||(T.flags&16387)!==0||OS(n)||she(n)||n.parent.kind===281)||n.parent.kind===235||g.kind===260&&g.exclamationToken||g.flags&33554432,Hn=qt?Re:Xt?B?oot(T,g):T:ht?Re:ib(T),En=qt?Wg(ab(n,T,Hn,me)):ab(n,T,Hn,me);if(!Vke(n)&&(T===Je||T===Sc)){if(En===Je||En===Sc)return ce&&(we(mo(g),f.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,ai(c),Pn(En)),we(n,f.Variable_0_implicitly_has_an_1_type,ai(c),Pn(En))),zw(En)}else if(!Xt&&!zP(T)&&zP(En))return we(n,f.Variable_0_is_used_before_being_assigned,ai(c)),T;return N?wg(En):En}function dot(n,a){if(Na(a)){let c=Rn(n,Na);return c&&Ym(c)===Ym(a)}}function uot(n){var a;let c=n.parent;if(c){if(Er(c)&&c.expression===n||Ed(c)&&c.isTypeOnly)return!1;let u=(a=c.parent)==null?void 0:a.parent;if(u&&xl(u)&&u.isTypeOnly)return!1}return!0}function pot(n,a){return!!Rn(n,c=>c===a?\"quit\":Lo(c)||c.parent&&xo(c.parent)&&!jl(c.parent)&&c.parent.initializer===c)}function fot(n,a){return Rn(n,c=>c===a?\"quit\":c===a.initializer||c===a.condition||c===a.incrementor||c===a.statement)}function ghe(n){return Rn(n,a=>!a||X9(a)?\"quit\":Xv(a,!1))}function mot(n,a){if(oe>=2||!(a.flags&34)||!a.valueDeclaration||Li(a.valueDeclaration)||a.valueDeclaration.parent.kind===299)return;let c=w_(a.valueDeclaration),u=pot(n,c),_=ghe(c);if(_){if(u){let g=!0;if(qS(c)){let T=Db(a.valueDeclaration,261);if(T&&T.parent===c){let N=fot(n.parent,c);if(N){let O=Fr(N);O.flags|=8192;let B=O.capturedBlockScopeBindings||(O.capturedBlockScopeBindings=[]);jp(B,a),N===c.initializer&&(g=!1)}}}g&&(Fr(_).flags|=4096)}if(qS(c)){let g=Db(a.valueDeclaration,261);g&&g.parent===c&&hot(n,c)&&(Fr(a.valueDeclaration).flags|=65536)}Fr(a.valueDeclaration).flags|=32768}u&&(Fr(a.valueDeclaration).flags|=16384)}function _ot(n,a){let c=Fr(n);return!!c&&To(c.capturedBlockScopeBindings,dr(a))}function hot(n,a){let c=n;for(;c.parent.kind===217;)c=c.parent;let u=!1;if(Sh(c))u=!0;else if(c.parent.kind===224||c.parent.kind===225){let _=c.parent;u=_.operator===46||_.operator===47}return u?!!Rn(c,_=>_===a?\"quit\":_===a.statement):!1}function vhe(n,a){if(Fr(n).flags|=2,a.kind===172||a.kind===176){let c=a.parent;Fr(c).flags|=4}else Fr(a).flags|=4}function Qke(n){return xS(n)?n:Lo(n)?void 0:Ao(n,Qke)}function yhe(n){let a=dr(n),c=Cs(a);return Zu(c)===Pe}function Zke(n,a,c){let u=a.parent;qE(u)&&!yhe(u)&&DL(n)&&n.flowNode&&!CQ(n.flowNode,!1)&&we(n,c)}function got(n,a){xo(a)&&jl(a)&&$&&a.initializer&&wM(a.initializer,n.pos)&&Hp(a.parent)&&we(n,f.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class)}function c5(n){let a=OS(n),c=lu(n,!0,!0),u=!1,_=!1;for(c.kind===176&&Zke(n,c,f.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class);;){if(c.kind===219&&(c=lu(c,!1,!_),u=!0),c.kind===167){c=lu(c,!u,!1),_=!0;continue}break}if(got(n,c),_)we(n,f.this_cannot_be_referenced_in_a_computed_property_name);else switch(c.kind){case 267:we(n,f.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 266:we(n,f.this_cannot_be_referenced_in_current_location);break;case 176:eOe(n,c)&&we(n,f.this_cannot_be_referenced_in_constructor_arguments);break}!a&&u&&oe<2&&vhe(n,c);let g=bhe(n,!0,c);if(Z){let T=Yn(Ke);if(g===T&&u)we(n,f.The_containing_arrow_function_captures_the_global_value_of_this);else if(!g){let N=we(n,f.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!Li(c)){let O=bhe(c);O&&O!==T&&fa(N,vr(c,f.An_outer_value_of_this_is_shadowed_by_this_container))}}}return g||z}function bhe(n,a=!0,c=lu(n,!1,!1)){let u=Jn(n);if(Lo(c)&&(!The(n)||KE(c))){let _=Tme(c)||u&&bot(c);if(!_){let g=yot(c);if(u&&g){let T=Xi(g).symbol;T&&T.members&&T.flags&16&&(_=Cs(T).thisType)}else T_(c)&&(_=Cs(Oa(c.symbol)).thisType);_||(_=iOe(c))}if(_)return ab(n,_)}if(Kr(c.parent)){let _=dr(c.parent),g=zo(c)?Yn(_):Cs(_).thisType;return ab(n,g)}if(Li(c))if(c.commonJsModuleIndicator){let _=dr(c);return _&&Yn(_)}else{if(c.externalModuleIndicator)return Re;if(a)return Yn(Ke)}}function vot(n){let a=lu(n,!1,!1);if(Lo(a)){let c=kf(a);if(c.thisParameter)return RQ(c.thisParameter)}if(Kr(a.parent)){let c=dr(a.parent);return zo(a)?Yn(c):Cs(c).thisType}}function yot(n){if(n.kind===218&&Zn(n.parent)&&hl(n.parent)===3)return n.parent.left.expression.expression;if(n.kind===174&&n.parent.kind===210&&Zn(n.parent.parent)&&hl(n.parent.parent)===6)return n.parent.parent.left.expression;if(n.kind===218&&n.parent.kind===303&&n.parent.parent.kind===210&&Zn(n.parent.parent.parent)&&hl(n.parent.parent.parent)===6)return n.parent.parent.parent.left.expression;if(n.kind===218&&Hl(n.parent)&&Me(n.parent.name)&&(n.parent.name.escapedText===\"value\"||n.parent.name.escapedText===\"get\"||n.parent.name.escapedText===\"set\")&&ma(n.parent.parent)&&Bo(n.parent.parent.parent)&&n.parent.parent.parent.arguments[2]===n.parent.parent&&hl(n.parent.parent.parent)===9)return n.parent.parent.parent.arguments[0].expression;if(El(n)&&Me(n.name)&&(n.name.escapedText===\"value\"||n.name.escapedText===\"get\"||n.name.escapedText===\"set\")&&ma(n.parent)&&Bo(n.parent.parent)&&n.parent.parent.arguments[2]===n.parent&&hl(n.parent.parent)===9)return n.parent.parent.arguments[0].expression}function bot(n){let a=k8(n);if(a&&a.typeExpression)return si(a.typeExpression);let c=kP(n);if(c)return bE(c)}function eOe(n,a){return!!Rn(n,c=>hs(c)?\"quit\":c.kind===169&&c.parent===a)}function Ehe(n){let a=n.parent.kind===213&&n.parent.expression===n,c=pL(n,!0),u=c,_=!1,g=!1;if(!a){for(;u&&u.kind===219;)Wr(u,1024)&&(g=!0),u=pL(u,!0),_=oe<2;u&&Wr(u,1024)&&(g=!0)}let T=0;if(!u||!Q(u)){let me=Rn(n,ue=>ue===u?\"quit\":ue.kind===167);return me&&me.kind===167?we(n,f.super_cannot_be_referenced_in_a_computed_property_name):a?we(n,f.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):!u||!u.parent||!(Kr(u.parent)||u.parent.kind===210)?we(n,f.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions):we(n,f.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class),it}if(!a&&c.kind===176&&Zke(n,u,f.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),zo(u)||a?(T=32,!a&&oe>=2&&oe<=8&&(xo(u)||nl(u))&&Dte(n.parent,me=>{(!Li(me)||sp(me))&&(Fr(me).flags|=2097152)})):T=16,Fr(n).flags|=T,u.kind===174&&g&&(cu(n.parent)&&Sh(n.parent)?Fr(u).flags|=256:Fr(u).flags|=128),_&&vhe(n.parent,u),u.parent.kind===210)return oe<2?(we(n,f.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),it):z;let N=u.parent;if(!qE(N))return we(n,f.super_can_only_be_referenced_in_a_derived_class),it;if(yhe(N))return a?it:Pe;let O=Cs(dr(N)),B=O&&ep(O)[0];if(!B)return it;if(u.kind===176&&eOe(n,u))return we(n,f.super_cannot_be_referenced_in_constructor_arguments),it;return T===32?Zu(O):hp(B,O.thisType);function Q(me){return a?me.kind===176:Kr(me.parent)||me.parent.kind===210?zo(me)?me.kind===174||me.kind===173||me.kind===177||me.kind===178||me.kind===172||me.kind===175:me.kind===174||me.kind===173||me.kind===177||me.kind===178||me.kind===172||me.kind===171||me.kind===176:!1}}function tOe(n){return(n.kind===174||n.kind===177||n.kind===178)&&n.parent.kind===210?n.parent:n.kind===218&&n.parent.kind===303?n.parent.parent:void 0}function nOe(n){return br(n)&4&&n.target===vl?Ts(n)[0]:void 0}function Eot(n){return Gs(n,a=>a.flags&2097152?an(a.types,nOe):nOe(a))}function rOe(n,a){let c=n,u=a;for(;u;){let _=Eot(u);if(_)return _;if(c.parent.kind!==303)break;c=c.parent.parent,u=CE(c,void 0)}}function iOe(n){if(n.kind===219)return;if(nQ(n)){let c=Rw(n);if(c){let u=c.thisParameter;if(u)return Yn(u)}}let a=Jn(n);if(Z||a){let c=tOe(n);if(c){let _=CE(c,void 0),g=rOe(c,_);return g?Gi(g,Q_e(nS(c))):gp(_?Wg(_):Ml(c))}let u=Zg(n.parent);if(lc(u)){let _=u.left;if(us(_)){let{expression:g}=_;if(a&&Me(g)){let T=Nn(u);if(T.commonJsModuleIndicator&&cm(g)===T.symbol)return}return gp(Ml(g))}}}}function oOe(n){let a=n.parent;if(!nQ(a))return;let c=RS(a);if(c&&c.arguments){let _=KQ(c),g=a.parameters.indexOf(n);if(n.dotDotDotToken)return Xhe(_,g,_.length,z,void 0,0);let T=Fr(c),N=T.resolvedSignature;T.resolvedSignature=dt;let O=g<_.length?eS(Xi(_[g])):n.initializer?void 0:St;return T.resolvedSignature=N,O}let u=Rw(a);if(u){let _=a.parameters.indexOf(n)-(KE(a)?1:0);return n.dotDotDotToken&&Ns(a.parameters)===n?I5(u,_):iS(u,_)}}function She(n,a){let c=Jc(n)||(Jn(n)?bF(n):void 0);if(c)return si(c);switch(n.kind){case 169:return oOe(n);case 208:return Sot(n,a);case 172:if(zo(n))return Tot(n,a)}}function Sot(n,a){let c=n.parent.parent,u=n.propertyName||n.name,_=She(c,a)||c.kind!==208&&c.initializer&&$P(c,n.dotDotDotToken?32:0);if(!_||ko(u)||aL(u))return;if(c.name.kind===207){let T=Y1(n.parent.elements,n);return T<0?void 0:xhe(_,T)}let g=Pv(u);if(Af(g)){let T=If(g);return Fe(_,T)}}function Tot(n,a){let c=lt(n.parent)&&bu(n.parent,a);if(c)return DE(c,dr(n).escapedName)}function Aot(n,a){let c=n.parent;if($v(c)&&n===c.initializer){let u=She(c,a);if(u)return u;if(!(a&8)&&ko(c.name)&&c.name.elements.length>0)return D(c.name,!0,!1)}}function Iot(n,a){let c=cp(n);if(c){let u=LQ(c,a);if(u){let _=gc(c);if(_&1){let g=(_&2)!==0;u.flags&1048576&&(u=Bl(u,N=>!!oS(1,N,g)));let T=oS(1,u,(_&2)!==0);if(!T)return;u=T}if(_&2){let g=Gs(u,kv);return g&&Br([g,bwe(g)])}return u}}}function xot(n,a){let c=bu(n,a);if(c){let u=kv(c);return u&&Br([u,bwe(u)])}}function Rot(n,a){let c=cp(n);if(c){let u=gc(c),_=LQ(c,a);if(_){let g=(u&2)!==0;return!n.asteriskToken&&_.flags&1048576&&(_=Bl(_,T=>!!oS(1,T,g))),n.asteriskToken?_:oS(0,_,g)}}}function The(n){let a=!1;for(;n.parent&&!Lo(n.parent);){if(ao(n.parent)&&(a||n.parent.initializer===n))return!0;Na(n.parent)&&n.parent.initializer===n&&(a=!0),n=n.parent}return!1}function aOe(n,a){let c=!!(gc(a)&2),u=LQ(a,void 0);if(u)return oS(n,u,c)||void 0}function LQ(n,a){let c=mD(n);if(c)return c;let u=Dhe(n);if(u&&!W$(u)){let g=Ha(u),T=gc(n);return T&1?Bl(g,N=>!!(N.flags&58998787)||hge(N,T,void 0)):T&2?Bl(g,N=>!!(N.flags&58998787)||!!eM(N)):g}let _=RS(n);if(_)return bu(_,a)}function sOe(n,a){let u=KQ(n).indexOf(a);return u===-1?void 0:Ahe(n,u)}function Ahe(n,a){if(lp(n))return a===0?Ie:a===1?XLe(!1):z;let c=Fr(n).resolvedSignature===sr?sr:xD(n);if(Od(n)&&a===0)return WQ(c,n);let u=c.parameters.length-1;return Td(c)&&a>=u?tp(Yn(c.parameters[u]),Wm(a-u),256):zm(c,a)}function Dot(n){let a=lge(n);return a?XT(a):void 0}function Cot(n,a){if(n.parent.kind===215)return sOe(n.parent,a)}function Not(n,a){let c=n.parent,{left:u,operatorToken:_,right:g}=c;switch(_.kind){case 64:case 77:case 76:case 78:return n===g?Mot(c):void 0;case 57:case 61:let T=bu(c,a);return n===g&&(T&&T.pattern||!T&&!Xte(c))?td(u):T;case 56:case 28:return n===g?bu(c,a):void 0;default:return}}function Pot(n){if(qm(n)&&n.symbol)return n.symbol;if(Me(n))return cm(n);if(Er(n)){let c=td(n.expression);return Ci(n.name)?a(c,n.name):Qo(c,n.name.escapedText)}if(Rs(n)){let c=Ml(n.argumentExpression);if(!Af(c))return;let u=td(n.expression);return Qo(u,If(c))}return;function a(c,u){let _=GQ(u.escapedText,u);return _&&zhe(c,_)}}function Mot(n){var a,c;let u=hl(n);switch(u){case 0:case 4:let _=Pot(n.left),g=_&&_.valueDeclaration;if(g&&(xo(g)||Gu(g))){let O=Jc(g);return O&&Gi(si(O),Pi(_).mapper)||(xo(g)?g.initializer&&td(n.left):void 0)}return u===0?td(n.left):lOe(n);case 5:if(kQ(n,u))return lOe(n);if(!qm(n.left)||!n.left.symbol)return td(n.left);{let O=n.left.symbol.valueDeclaration;if(!O)return;let B=Fo(n.left,us),Q=Jc(O);if(Q)return si(Q);if(Me(B.expression)){let me=B.expression,ue=Xs(me,me.escapedText,111551,void 0,me.escapedText,!0);if(ue){let We=ue.valueDeclaration&&Jc(ue.valueDeclaration);if(We){let at=tg(B);if(at!==void 0)return DE(si(We),at)}return}}return Jn(O)||O===n.left?void 0:td(n.left)}case 1:case 6:case 3:case 2:let T;u!==2&&(T=qm(n.left)?(a=n.left.symbol)==null?void 0:a.valueDeclaration:void 0),T||(T=(c=n.symbol)==null?void 0:c.valueDeclaration);let N=T&&Jc(T);return N?si(N):void 0;case 7:case 8:case 9:return x.fail(\"Does not apply\");default:return x.assertNever(u)}}function kQ(n,a=hl(n)){if(a===4)return!0;if(!Jn(n)||a!==5||!Me(n.left.expression))return!1;let c=n.left.expression.escapedText,u=Xs(n.left,c,111551,void 0,void 0,!0,!0);return gW(u?.valueDeclaration)}function lOe(n){if(!n.symbol)return td(n.left);if(n.symbol.valueDeclaration){let _=Jc(n.symbol.valueDeclaration);if(_){let g=si(_);if(g)return g}}let a=Fo(n.left,us);if(!qf(lu(a.expression,!1,!1)))return;let c=c5(a.expression),u=tg(a);return u!==void 0&&DE(c,u)||void 0}function Lot(n){return!!(tl(n)&262144&&!n.links.type&&u1(n,0)>=0)}function DE(n,a,c){return Gs(n,u=>{var _;if(vu(u)&&!u.declaration.nameType){let g=Vp(u),T=md(g)||g,N=c||yu(Ii(a));if(ea(N,T))return K$(u,N)}else if(u.flags&3670016){let g=Qo(u,a);if(g)return Lot(g)?void 0:ob(Yn(g),!!(g&&g.flags&16777216));if(ga(u)&&Rh(a)&&+a>=0){let T=jP(u,u.target.fixedLength,0,!1,!0);if(T)return T}return(_=Gme(Vme(u),c||yu(Ii(a))))==null?void 0:_.type}},!0)}function cOe(n,a){if(x.assert(qf(n)),!(n.flags&67108864))return Ihe(n,a)}function Ihe(n,a){let c=n.parent,u=Hl(n)&&She(n,a);if(u)return u;let _=CE(c,a);if(_){if(pD(n)){let g=dr(n);return DE(_,g.escapedName,Pi(g).nameType)}if(ty(n)){let g=mo(n);if(g&&Pa(g)){let T=Xi(g.expression),N=Af(T)&&DE(_,If(T));if(N)return N}}if(n.name){let g=Pv(n.name);return Gs(_,T=>{var N;return(N=Gme(Vme(T),g))==null?void 0:N.type},!0)}}}function kot(n){let a,c;for(let u=0;u<n.length;u++)bm(n[u])&&(a??(a=u),c=u);return{first:a,last:c}}function xhe(n,a,c,u,_){return n&&Gs(n,g=>{if(ga(g)){if((u===void 0||a<u)&&a<g.target.fixedLength)return ob(Ts(g)[a],!!g.target.elementFlags[a]);let T=c!==void 0&&(_===void 0||a>_)?c-a:0,N=T>0&&g.target.hasRestElement?cw(g.target,3):0;return T>0&&T<=N?Ts(g)[Nv(g)-T]:jP(g,u===void 0?g.target.fixedLength:Math.min(g.target.fixedLength,u),c===void 0||_===void 0?N:Math.min(N,c-_),!1,!0)}return(!u||a<u)&&DE(g,\"\"+a)||Rge(1,g,Re,void 0,!1)},!0)}function Oot(n,a){let c=n.parent;return n===c.whenTrue||n===c.whenFalse?bu(c,a):void 0}function wot(n,a,c){let u=CE(n.openingElement.attributes,c),_=f5(lA(n));if(!(u&&!vt(u)&&_&&_!==\"\"))return;let g=_x(n.children),T=g.indexOf(a),N=DE(u,_);return N&&(g.length===1?N:Gs(N,O=>Lv(O)?tp(O,Wm(T)):O,!0))}function Wot(n,a){let c=n.parent;return H8(c)?bu(n,a):Ch(c)?wot(c,n,a):void 0}function dOe(n,a){if(i_(n)){let c=CE(n.parent,a);return!c||vt(c)?void 0:DE(c,QC(n.name))}else return bu(n.parent,a)}function d5(n){switch(n.kind){case 11:case 9:case 10:case 15:case 228:case 112:case 97:case 106:case 80:case 157:return!0;case 211:case 217:return d5(n.expression);case 294:return!n.expression||d5(n.expression)}return!1}function Fot(n,a){return Cit(a,n)||W_e(a,ro(nn(Cr(n.properties,c=>c.symbol?c.kind===303?d5(c.initializer)&&UP(a,c.symbol.escapedName):c.kind===304?UP(a,c.symbol.escapedName):!1:!1),c=>[()=>M5(c.kind===303?c.initializer:c.name),c.symbol.escapedName]),nn(Cr(Xa(a),c=>{var u;return!!(c.flags&16777216)&&!!((u=n?.symbol)!=null&&u.members)&&!n.symbol.members.has(c.escapedName)&&UP(a,c.escapedName)}),c=>[()=>Re,c.escapedName])),ea)}function zot(n,a){let c=f5(lA(n));return W_e(a,ro(nn(Cr(n.properties,u=>!!u.symbol&&u.kind===291&&UP(a,u.symbol.escapedName)&&(!u.initializer||d5(u.initializer))),u=>[u.initializer?()=>M5(u.initializer):()=>An,u.symbol.escapedName]),nn(Cr(Xa(a),u=>{var _;if(!(u.flags&16777216)||!((_=n?.symbol)!=null&&_.members))return!1;let g=n.parent.parent;return u.escapedName===c&&Ch(g)&&_x(g.children).length?!1:!n.symbol.members.has(u.escapedName)&&UP(a,u.escapedName)}),u=>[()=>Re,u.escapedName])),ea)}function CE(n,a){let c=qf(n)?cOe(n,a):bu(n,a),u=OQ(c,n,a);if(u&&!(a&&a&2&&u.flags&8650752)){let _=Gs(u,g=>br(g)&32?g:ou(g),!0);return _.flags&1048576&&ma(n)?Fot(n,_):_.flags&1048576&&d0(n)?zot(n,_):_}}function OQ(n,a,c){if(n&&ol(n,465829888)){let u=nS(a);if(u&&c&1&&ct(u.inferences,Slt))return wQ(n,u.nonFixingMapper);if(u?.returnMapper){let _=wQ(n,u.returnMapper);return _.flags&1048576&&Mg(_.types,dn)&&Mg(_.types,Cn)?Bl(_,g=>g!==dn&&g!==Cn):_}}return n}function wQ(n,a){return n.flags&465829888?Gi(n,a):n.flags&1048576?Br(nn(n.types,c=>wQ(c,a)),0):n.flags&2097152?Zo(nn(n.types,c=>wQ(c,a))):n}function bu(n,a){var c;if(n.flags&67108864)return;let u=pOe(n,!a);if(u>=0)return tn[u];let{parent:_}=n;switch(_.kind){case 260:case 169:case 172:case 171:case 208:return Aot(n,a);case 219:case 253:return Iot(n,a);case 229:return Rot(_,a);case 223:return xot(_,a);case 213:case 214:return sOe(_,n);case 170:return Dot(_);case 216:case 234:return Qh(_.type)?bu(_,a):si(_.type);case 226:return Not(n,a);case 303:case 304:return Ihe(_,a);case 305:return bu(_.parent,a);case 209:{let g=_,T=CE(g,a),N=Y1(g.elements,n),O=(c=Fr(g)).spreadIndices??(c.spreadIndices=kot(g.elements));return xhe(T,N,g.elements.length,O.first,O.last)}case 227:return Oot(n,a);case 239:return x.assert(_.parent.kind===228),Cot(_.parent,n);case 217:{if(Jn(_)){if(wV(_))return si(WV(_));let g=yb(_);if(g&&!Qh(g.typeExpression.type))return si(g.typeExpression.type)}return bu(_,a)}case 235:return bu(_,a);case 238:return si(_.type);case 277:return Wi(_);case 294:return Wot(_,a);case 291:case 293:return dOe(_,a);case 286:case 285:return jot(_,a);case 301:return Vot(_)}}function uOe(n){u5(n,bu(n,void 0),!0)}function u5(n,a,c){wn[Qr]=n,tn[Qr]=a,Wn[Qr]=c,Qr++}function xw(){Qr--}function pOe(n,a){for(let c=Qr-1;c>=0;c--)if(n===wn[c]&&(a||!Wn[c]))return c;return-1}function Bot(n,a){Kn[Qn]=n,Gr[Qn]=a,Qn++}function Got(){Qn--}function nS(n){for(let a=Qn-1;a>=0;a--)if(HE(n,Kn[a]))return Gr[a]}function Vot(n){return DE(i_e(!1),SF(n))}function jot(n,a){if(r_(n)&&a!==4){let c=pOe(n.parent,!a);if(c>=0)return tn[c]}return Ahe(n,0)}function WQ(n,a){return XOe(a)!==0?Uot(n,a):Jot(n,a)}function Uot(n,a){let c=age(n,Zt);c=fOe(a,lA(a),c);let u=rS(Dp.IntrinsicAttributes,a);return Lt(u)||(c=C7(u,c)),c}function Hot(n,a){if(n.compositeSignatures){let u=[];for(let _ of n.compositeSignatures){let g=Ha(_);if(vt(g))return g;let T=Fe(g,a);if(!T)return;u.push(T)}return Zo(u)}let c=Ha(n);return vt(c)?c:Fe(c,a)}function qot(n){if(b1(n.tagName)){let c=SOe(n),u=XQ(n,c);return XT(u)}let a=Ml(n.tagName);if(a.flags&128){let c=EOe(a,n);if(!c)return it;let u=XQ(n,c);return XT(u)}return a}function fOe(n,a,c){let u=fat(a);if(u){let _=qot(n),g=IOe(u,Jn(n),_,c);if(g)return g}return c}function Jot(n,a){let c=lA(a),u=_at(c),_=u===void 0?age(n,Zt):u===\"\"?Ha(n):Hot(n,u);if(!_)return u&&yn(a.attributes.properties)&&we(a,f.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,Ii(u)),Zt;if(_=fOe(a,c,_),vt(_))return _;{let g=_,T=rS(Dp.IntrinsicClassAttributes,a);if(!Lt(T)){let O=gr(T.symbol),B=Ha(n),Q;if(O){let me=Yy([B],O,ah(O),Jn(a));Q=Gi(T,np(O,me))}else Q=T;g=C7(Q,g)}let N=rS(Dp.IntrinsicAttributes,a);return Lt(N)||(g=C7(N,g)),g}}function Kot(n){return Fd(F,\"noImplicitAny\")?Nd(n,(a,c)=>a===c||!a?a:pLe(a.typeParameters,c.typeParameters)?$ot(a,c):void 0):void 0}function Xot(n,a,c){if(!n||!a)return n||a;let u=Br([Yn(n),Gi(Yn(a),c)]);return nA(n,u)}function Yot(n,a,c){let u=vp(n),_=vp(a),g=u>=_?n:a,T=g===n?a:n,N=g===n?u:_,O=dh(n)||dh(a),B=O&&!dh(g),Q=new Array(N+(B?1:0));for(let me=0;me<N;me++){let ue=iS(g,me);g===a&&(ue=Gi(ue,c));let We=iS(T,me)||Zt;T===a&&(We=Gi(We,c));let at=Br([ue,We]),ht=O&&!B&&me===N-1,qt=me>=A_(g)&&me>=A_(T),Xt=me>=u?void 0:YP(n,me),Hn=me>=_?void 0:YP(a,me),En=Xt===Hn?Xt:Xt?Hn?void 0:Xt:Hn,Kt=Ra(1|(qt&&!ht?16777216:0),En||`arg${me}`);Kt.links.type=ht?_d(at):at,Q[me]=Kt}if(B){let me=Ra(1,\"args\");me.links.type=_d(zm(T,N)),T===a&&(me.links.type=Gi(me.links.type,c)),Q[N]=me}return Q}function $ot(n,a){let c=n.typeParameters||a.typeParameters,u;n.typeParameters&&a.typeParameters&&(u=np(a.typeParameters,n.typeParameters));let _=n.declaration,g=Yot(n,a,u),T=Xot(n.thisParameter,a.thisParameter,u),N=Math.max(n.minArgumentCount,a.minArgumentCount),O=jh(_,c,T,g,void 0,void 0,N,(n.flags|a.flags)&167);return O.compositeKind=2097152,O.compositeSignatures=ro(n.compositeKind===2097152&&n.compositeSignatures||[n],[a]),u&&(O.mapper=n.compositeKind===2097152&&n.mapper&&n.compositeSignatures?Z0(n.mapper,u):u),O}function Rhe(n,a){let c=Co(n,0),u=Cr(c,_=>!Qot(_,a));return u.length===1?u[0]:Kot(u)}function Qot(n,a){let c=0;for(;c<a.parameters.length;c++){let u=a.parameters[c];if(u.initializer||u.questionToken||u.dotDotDotToken||n2(u))break}return a.parameters.length&&XE(a.parameters[0])&&c--,!dh(n)&&vp(n)<c}function Dhe(n){return e0(n)||qf(n)?Rw(n):void 0}function Rw(n){x.assert(n.kind!==174||qf(n));let a=kP(n);if(a)return a;let c=CE(n,1);if(!c)return;if(!(c.flags&1048576))return Rhe(c,n);let u,_=c.types;for(let g of _){let T=Rhe(g,n);if(T)if(!u)u=[T];else if($7(u[0],T,!1,!0,!0,_w))u.push(T);else return}if(u)return u.length===1?u[0]:dLe(u[0],u)}function Zot(n,a){oe<2&&rc(n,F.downlevelIteration?1536:1024);let c=Xi(n.expression,a);return Ov(33,c,Re,n.expression)}function eat(n){return n.isSpread?tp(n.type,gt):n.type}function XP(n){return n.kind===208&&!!n.initializer||n.kind===226&&n.operatorToken.kind===64}function tat(n){let a=Zg(n.parent);return bm(a)&&Hm(a.parent)}function mOe(n,a,c){let u=n.elements,_=u.length,g=[],T=[];uOe(n);let N=Sh(n),O=QP(n),B=CE(n,void 0),Q=tat(n)||!!B&&dm(B,ue=>VP(ue)||vu(ue)&&!ue.nameType&&!!fw(ue.target||ue)),me=!1;for(let ue=0;ue<_;ue++){let We=u[ue];if(We.kind===230){oe<2&&rc(We,F.downlevelIteration?1536:1024);let at=Xi(We.expression,a,c);if(Lv(at))g.push(at),T.push(8);else if(N){let ht=yE(at,gt)||Rge(65,at,Re,void 0,!1)||Zt;g.push(ht),T.push(4)}else g.push(Ov(33,at,Re,We.expression)),T.push(4)}else if(be&&We.kind===232)me=!0,g.push(te),T.push(2);else{let at=ZP(We,a,c);if(g.push(Mu(at,!0,me)),T.push(me?2:1),Q&&a&&a&2&&!(a&4)&&uf(We)){let ht=nS(n);x.assert(ht),Y_e(ht,We,at)}}}return xw(),N?lh(g,T):_Oe(c||O||Q?lh(g,T,O&&!(B&&dm(B,G_e))):_d(g.length?Br(sc(g,(ue,We)=>T[We]&8?Qy(ue,gt)||z:ue),2):H?_i:St,O))}function _Oe(n){if(!(br(n)&4))return n;let a=n.literalType;return a||(a=n.literalType=WLe(n),a.objectFlags|=147456),a}function nat(n){switch(n.kind){case 167:return rat(n);case 80:return Rh(n.escapedText);case 9:case 11:return Rh(n.text);default:return!1}}function rat(n){return ed(Hh(n),296)}function Hh(n){let a=Fr(n.expression);if(!a.resolvedType){if((ju(n.parent.parent)||Kr(n.parent.parent)||Gd(n.parent.parent))&&Zn(n.expression)&&n.expression.operatorToken.kind===103&&n.parent.kind!==177&&n.parent.kind!==178)return a.resolvedType=it;if(a.resolvedType=Xi(n.expression),xo(n.parent)&&!jl(n.parent)&&Dc(n.parent.parent)){let c=w_(n.parent.parent),u=ghe(c);u&&(Fr(u).flags|=4096,Fr(n).flags|=32768,Fr(n.parent.parent).flags|=32768)}(a.resolvedType.flags&98304||!ed(a.resolvedType,402665900)&&!ea(a.resolvedType,_n))&&we(n,f.A_computed_property_name_must_be_of_type_string_number_symbol_or_any)}return a.resolvedType}function iat(n){var a;let c=(a=n.declarations)==null?void 0:a[0];return Rh(n.escapedName)||c&&Ld(c)&&nat(c.name)}function hOe(n){var a;let c=(a=n.declarations)==null?void 0:a[0];return WL(n)||c&&Ld(c)&&Pa(c.name)&&ed(Hh(c.name),4096)}function Che(n,a,c,u){let _=[];for(let T=a;T<c.length;T++){let N=c[T];(u===Ie&&!hOe(N)||u===gt&&iat(N)||u===di&&hOe(N))&&_.push(Yn(c[T]))}let g=_.length?Br(_,2):Re;return sh(u,g,QP(n))}function Nhe(n){x.assert((n.flags&2097152)!==0,\"Should only get Alias here.\");let a=Pi(n);if(!a.immediateTarget){let c=im(n);if(!c)return x.fail();a.immediateTarget=fp(c,!0)}return a.immediateTarget}function oat(n,a=0){var c;let u=Sh(n);upt(n,u);let _=H?Vo():void 0,g=Vo(),T=[],N=ua;uOe(n);let O=CE(n,void 0),B=O&&O.pattern&&(O.pattern.kind===206||O.pattern.kind===210),Q=QP(n),me=Q?8:0,ue=Jn(n)&&!SW(n),We=ue?BG(n):void 0,at=!O&&ue&&!We,ht=_e,qt=!1,Xt=!1,Hn=!1,En=!1;for(let Sn of n.properties)Sn.name&&Pa(Sn.name)&&Hh(Sn.name);let Kt=0;for(let Sn of n.properties){let zn=dr(Sn),Mn=Sn.name&&Sn.name.kind===167?Hh(Sn.name):void 0;if(Sn.kind===303||Sn.kind===304||qf(Sn)){let Bn=Sn.kind===303?Owe(Sn,a):Sn.kind===304?ZP(!u&&Sn.objectAssignmentInitializer?Sn.objectAssignmentInitializer:Sn.name,a):wwe(Sn,a);if(ue){let Eo=xg(Sn);Eo?(Cd(Bn,Eo,Sn),Bn=Eo):We&&We.typeExpression&&Cd(Bn,si(We.typeExpression),Sn)}ht|=br(Bn)&458752;let co=Mn&&Af(Mn)?Mn:void 0,no=co?Ra(4|zn.flags,If(co),me|4096):Ra(4|zn.flags,zn.escapedName,me);if(co&&(no.links.nameType=co),u)(Sn.kind===303&&XP(Sn.initializer)||Sn.kind===304&&Sn.objectAssignmentInitializer)&&(no.flags|=16777216);else if(B&&!(br(O)&512)){let Eo=Qo(O,zn.escapedName);Eo?no.flags|=Eo.flags&16777216:!F.suppressExcessPropertyErrors&&!Uh(O,Ie)&&we(Sn.name,f.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,ai(zn),Pn(O))}if(no.declarations=zn.declarations,no.parent=zn.parent,zn.valueDeclaration&&(no.valueDeclaration=zn.valueDeclaration),no.links.type=Bn,no.links.target=zn,zn=no,_?.set(no.escapedName,no),O&&a&2&&!(a&4)&&(Sn.kind===303||Sn.kind===174)&&uf(Sn)){let Eo=nS(n);x.assert(Eo);let Yi=Sn.kind===303?Sn.initializer:Sn;Y_e(Eo,Yi,Bn)}}else if(Sn.kind===305){oe<2&&rc(Sn,2),T.length>0&&(N=Y0(N,In(),n.symbol,ht,Q),T=[],g=Vo(),Xt=!1,Hn=!1,En=!1);let Bn=wm(Xi(Sn.expression,a&2));if(p5(Bn)){let co=T_e(Bn,Q);if(_&&vOe(co,_,Sn),Kt=T.length,Lt(N))continue;N=Y0(N,co,n.symbol,ht,Q)}else we(Sn,f.Spread_types_may_only_be_created_from_object_types),N=it;continue}else x.assert(Sn.kind===177||Sn.kind===178),E1(Sn);Mn&&!(Mn.flags&8576)?ea(Mn,_n)&&(ea(Mn,gt)?Hn=!0:ea(Mn,di)?En=!0:Xt=!0,u&&(qt=!0)):g.set(zn.escapedName,zn),T.push(zn)}if(xw(),B){let Sn=Rn(O.pattern.parent,Mn=>Mn.kind===260||Mn.kind===226||Mn.kind===169);if(Rn(n,Mn=>Mn===Sn||Mn.kind===305).kind!==305)for(let Mn of Xa(O))!g.get(Mn.escapedName)&&!Qo(N,Mn.escapedName)&&(Mn.flags&16777216||we(Mn.valueDeclaration||((c=Vr(Mn,k_))==null?void 0:c.links.bindingElement),f.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value),g.set(Mn.escapedName,Mn),T.push(Mn))}if(Lt(N))return it;if(N!==ua)return T.length>0&&(N=Y0(N,In(),n.symbol,ht,Q),T=[],g=Vo(),Xt=!1,Hn=!1),Gs(N,Sn=>Sn===ua?In():Sn);return In();function In(){let Sn=[];Xt&&Sn.push(Che(n,Kt,T,Ie)),Hn&&Sn.push(Che(n,Kt,T,gt)),En&&Sn.push(Che(n,Kt,T,di));let zn=cs(n.symbol,g,je,je,Sn);return zn.objectFlags|=ht|128|131072,at&&(zn.objectFlags|=4096),qt&&(zn.objectFlags|=512),u&&(zn.pattern=n),zn}}function p5(n){let a=uke(Gs(n,Pg));return!!(a.flags&126615553||a.flags&3145728&&ji(a.types,p5))}function aat(n){Lhe(n)}function sat(n,a){return E1(n),m5(n)||z}function lat(n){Lhe(n.openingElement),b1(n.closingElement.tagName)?zQ(n.closingElement):Xi(n.closingElement.tagName),FQ(n)}function cat(n,a){return E1(n),m5(n)||z}function dat(n){Lhe(n.openingFragment);let a=Nn(n);return oF(F)&&(F.jsxFactory||a.pragmas.has(\"jsx\"))&&!F.jsxFragmentFactory&&!a.pragmas.has(\"jsxfrag\")&&we(n,F.jsxFactory?f.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:f.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments),FQ(n),m5(n)||z}function Phe(n){return n.includes(\"-\")}function b1(n){return Me(n)&&gx(n.escapedText)||Em(n)}function gOe(n,a){return n.initializer?ZP(n.initializer,a):An}function uat(n,a=0){let c=n.attributes,u=bu(c,0),_=H?Vo():void 0,g=Vo(),T=Us,N=!1,O,B=!1,Q=2048,me=f5(lA(n));for(let at of c.properties){let ht=at.symbol;if(i_(at)){let qt=gOe(at,a);Q|=br(qt)&458752;let Xt=Ra(4|ht.flags,ht.escapedName);if(Xt.declarations=ht.declarations,Xt.parent=ht.parent,ht.valueDeclaration&&(Xt.valueDeclaration=ht.valueDeclaration),Xt.links.type=qt,Xt.links.target=ht,g.set(Xt.escapedName,Xt),_?.set(Xt.escapedName,Xt),QC(at.name)===me&&(B=!0),u){let Hn=Qo(u,ht.escapedName);Hn&&Hn.declarations&&Dy(Hn)&&Me(at.name)&&Tv(at.name,Hn.declarations,at.name.escapedText)}if(u&&a&2&&!(a&4)&&uf(at)){let Hn=nS(c);x.assert(Hn);let En=at.initializer.expression;Y_e(Hn,En,qt)}}else{x.assert(at.kind===293),g.size>0&&(T=Y0(T,We(),c.symbol,Q,!1),g=Vo());let qt=wm(Xi(at.expression,a&2));vt(qt)&&(N=!0),p5(qt)?(T=Y0(T,qt,c.symbol,Q,!1),_&&vOe(qt,_,at)):(we(at.expression,f.Spread_types_may_only_be_created_from_object_types),O=O?Zo([O,qt]):qt)}}N||g.size>0&&(T=Y0(T,We(),c.symbol,Q,!1));let ue=n.parent.kind===284?n.parent:void 0;if(ue&&ue.openingElement===n&&_x(ue.children).length>0){let at=FQ(ue,a);if(!N&&me&&me!==\"\"){B&&we(c,f._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,Ii(me));let ht=CE(n.attributes,void 0),qt=ht&&DE(ht,me),Xt=Ra(4,me);Xt.links.type=at.length===1?at[0]:qt&&dm(qt,VP)?lh(at):_d(Br(at)),Xt.valueDeclaration=P.createPropertySignature(void 0,Ii(me),void 0,void 0),Aa(Xt.valueDeclaration,c),Xt.valueDeclaration.symbol=Xt;let Hn=Vo();Hn.set(me,Xt),T=Y0(T,cs(c.symbol,Hn,je,je,je),c.symbol,Q,!1)}}if(N)return z;if(O&&T!==Us)return Zo([O,T]);return O||(T===Us?We():T);function We(){Q|=_e;let at=cs(c.symbol,g,je,je,je);return at.objectFlags|=Q|128|131072,at}}function FQ(n,a){let c=[];for(let u of n.children)if(u.kind===12)u.containsOnlyTriviaWhiteSpaces||c.push(Ie);else{if(u.kind===294&&!u.expression)continue;c.push(ZP(u,a))}return c}function vOe(n,a,c){for(let u of Xa(n))if(!(u.flags&16777216)){let _=a.get(u.escapedName);if(_){let g=we(_.valueDeclaration,f._0_is_specified_more_than_once_so_this_usage_will_be_overwritten,Ii(_.escapedName));fa(g,vr(c,f.This_spread_always_overwrites_this_property))}}}function pat(n,a){return uat(n.parent,a)}function rS(n,a){let c=lA(a),u=c&&Qu(c),_=u&&gu(u,n,788968);return _?Cs(_):it}function zQ(n){let a=Fr(n);if(!a.resolvedSymbol){let c=rS(Dp.IntrinsicElements,n);if(Lt(c))return ce&&we(n,f.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,Ii(Dp.IntrinsicElements)),a.resolvedSymbol=tt;{if(!Me(n.tagName)&&!Em(n.tagName))return x.fail();let u=Em(n.tagName)?JA(n.tagName):n.tagName.escapedText,_=Qo(c,u);if(_)return a.jsxFlags|=1,a.resolvedSymbol=_;let g=q8e(c,yu(Ii(u)));return g?(a.jsxFlags|=2,a.resolvedSymbol=g):mt(c,u)?(a.jsxFlags|=2,a.resolvedSymbol=c.symbol):(we(n,f.Property_0_does_not_exist_on_type_1,FV(n.tagName),\"JSX.\"+Dp.IntrinsicElements),a.resolvedSymbol=tt)}}return a.resolvedSymbol}function Mhe(n){let a=n&&Nn(n),c=a&&Fr(a);if(c&&c.jsxImplicitImportContainer===!1)return;if(c&&c.jsxImplicitImportContainer)return c.jsxImplicitImportContainer;let u=sF(aF(F,a),F);if(!u)return;let g=zd(F)===1?f.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:f.Cannot_find_module_0_or_its_corresponding_type_declarations,T=F.importHelpers?1:0,N=a?.imports[T];N&&x.assert(xs(N)&&N.text===u,`Expected sourceFile.imports[${T}] to be the synthesized JSX runtime import`);let O=__(N||n,u,g,n),B=O&&O!==tt?Oa(yl(O)):void 0;return c&&(c.jsxImplicitImportContainer=B||!1),B}function lA(n){let a=n&&Fr(n);if(a&&a.jsxNamespace)return a.jsxNamespace;if(!a||a.jsxNamespace!==!1){let u=Mhe(n);if(!u||u===tt){let _=tE(n);u=Xs(n,_,1920,void 0,_,!1)}if(u){let _=yl(gu(Qu(yl(u)),Dp.JSX,1920));if(_&&_!==tt)return a&&(a.jsxNamespace=_),_}a&&(a.jsxNamespace=!1)}let c=yl(WP(Dp.JSX,1920,void 0));if(c!==tt)return c}function yOe(n,a){let c=a&&gu(a.exports,n,788968),u=c&&Cs(c),_=u&&Xa(u);if(_){if(_.length===0)return\"\";if(_.length===1)return _[0].escapedName;_.length>1&&c.declarations&&we(c.declarations[0],f.The_global_type_JSX_0_may_not_have_more_than_one_property,Ii(n))}}function fat(n){return n&&gu(n.exports,Dp.LibraryManagedAttributes,788968)}function mat(n){return n&&gu(n.exports,Dp.ElementType,788968)}function _at(n){return yOe(Dp.ElementAttributesPropertyNameContainer,n)}function f5(n){return yOe(Dp.ElementChildrenAttributeNameContainer,n)}function bOe(n,a){if(n.flags&4)return[dt];if(n.flags&128){let _=EOe(n,a);return _?[XQ(a,_)]:(we(a,f.Property_0_does_not_exist_on_type_1,n.value,\"JSX.\"+Dp.IntrinsicElements),je)}let c=ou(n),u=Co(c,1);return u.length===0&&(u=Co(c,0)),u.length===0&&c.flags&1048576&&(u=Cme(nn(c.types,_=>bOe(_,a)))),u}function EOe(n,a){let c=rS(Dp.IntrinsicElements,a);if(!Lt(c)){let u=n.value,_=Qo(c,Hs(u));if(_)return Yn(_);let g=yE(c,Ie);return g||void 0}return z}function hat(n,a,c){if(n===1){let _=AOe(c);_&&pf(a,_,hu,c.tagName,f.Its_return_type_0_is_not_a_valid_JSX_element,u)}else if(n===0){let _=TOe(c);_&&pf(a,_,hu,c.tagName,f.Its_instance_type_0_is_not_a_valid_JSX_element,u)}else{let _=AOe(c),g=TOe(c);if(!_||!g)return;let T=Br([_,g]);pf(a,T,hu,c.tagName,f.Its_element_type_0_is_not_a_valid_JSX_element,u)}function u(){let _=Vl(c.tagName);return So(void 0,f._0_cannot_be_used_as_a_JSX_component,_)}}function SOe(n){var a;x.assert(b1(n.tagName));let c=Fr(n);if(!c.resolvedJsxElementAttributesType){let u=zQ(n);if(c.jsxFlags&1)return c.resolvedJsxElementAttributesType=Yn(u)||it;if(c.jsxFlags&2){let _=Em(n.tagName)?JA(n.tagName):n.tagName.escapedText;return c.resolvedJsxElementAttributesType=((a=m1(rS(Dp.IntrinsicElements,n),_))==null?void 0:a.type)||it}else return c.resolvedJsxElementAttributesType=it}return c.resolvedJsxElementAttributesType}function TOe(n){let a=rS(Dp.ElementClass,n);if(!Lt(a))return a}function m5(n){return rS(Dp.Element,n)}function AOe(n){let a=m5(n);if(a)return Br([a,se])}function gat(n){let a=lA(n);if(!a)return;let c=mat(a);if(!c)return;let u=IOe(c,Jn(n));if(!(!u||Lt(u)))return u}function IOe(n,a,...c){let u=Cs(n);if(n.flags&524288){let _=Pi(n).typeParameters;if(yn(_)>=c.length){let g=Yy(c,_,c.length,a);return yn(g)===0?u:hD(n,g)}}if(yn(u.typeParameters)>=c.length){let _=Yy(c,u.typeParameters,c.length,a);return Cv(u,_)}}function vat(n){let a=rS(Dp.IntrinsicElements,n);return a?Xa(a):je}function yat(n){(F.jsx||0)===0&&we(n,f.Cannot_use_JSX_unless_the_jsx_flag_is_provided),m5(n)===void 0&&ce&&we(n,f.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}function Lhe(n){let a=Od(n);if(a&&ppt(n),yat(n),!Mhe(n)){let c=La&&F.jsx===2?f.Cannot_find_name_0:void 0,u=tE(n),_=a?n.tagName:n,g;if(fI(n)&&u===\"null\"||(g=Xs(_,u,111551,c,u,!0)),g&&(g.isReferenced=-1,ot&&g.flags&2097152&&!of(g)&&Oy(g)),fI(n)){let T=Nn(n),N=QI(T);N&&Xs(_,N,111551,c,N,!0)}}if(a){let c=n,u=xD(c);$Q(u,n);let _=gat(c);if(_!==void 0){let g=c.tagName,T=b1(g)?yu(FV(g)):Xi(g);pf(T,_,hu,g,f.Its_type_0_is_not_a_valid_JSX_element_type,()=>{let N=Vl(g);return So(void 0,f._0_cannot_be_used_as_a_JSX_component,N)})}else hat(XOe(c),Ha(u),c)}}function khe(n,a,c){if(n.flags&524288){if(vE(n,a)||m1(n,a)||nw(a)&&Uh(n,Ie)||c&&Phe(a))return!0}else if(n.flags&3145728&&_5(n)){for(let u of n.types)if(khe(u,a,c))return!0}return!1}function _5(n){return!!(n.flags&524288&&!(br(n)&512)||n.flags&67108864||n.flags&1048576&&ct(n.types,_5)||n.flags&2097152&&ji(n.types,_5))}function bat(n,a){if(mpt(n),n.expression){let c=Xi(n.expression,a);return n.dotDotDotToken&&c!==z&&!ff(c)&&we(n,f.JSX_spread_child_must_be_an_array_type),c}else return it}function Ohe(n){return n.valueDeclaration?lS(n.valueDeclaration):0}function whe(n){if(n.flags&8192||tl(n)&4)return!0;if(Jn(n.valueDeclaration)){let a=n.valueDeclaration.parent;return a&&Zn(a)&&hl(a)===3}}function Whe(n,a,c,u,_,g=!0){let T=g?n.kind===166?n.right:n.kind===205?n:n.kind===208&&n.propertyName?n.propertyName:n.name:void 0;return xOe(n,a,c,u,_,T)}function xOe(n,a,c,u,_,g){var T;let N=Kp(_,c);if(a){if(oe<2&&ROe(_))return g&&we(g,f.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword),!1;if(N&64)return g&&we(g,f.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression,ai(_),Pn(y1(_))),!1;if(!(N&256)&&((T=_.declarations)!=null&&T.some(Kee)))return g&&we(g,f.Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super,ai(_)),!1}if(N&64&&ROe(_)&&(fL(n)||qte(n)||Rf(n.parent)&&gW(n.parent.parent))){let B=ig(nu(_));if(B&&uut(n))return g&&we(g,f.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor,ai(_),Ef(B.name)),!1}if(!(N&6))return!0;if(N&2){let B=ig(nu(_));return zge(n,B)?!0:(g&&we(g,f.Property_0_is_private_and_only_accessible_within_class_1,ai(_),Pn(y1(_))),!1)}if(a)return!0;let O=U8e(n,B=>{let Q=Cs(dr(B));return tke(Q,_,c)});return!O&&(O=Eat(n),O=O&&tke(O,_,c),N&256||!O)?(g&&we(g,f.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses,ai(_),Pn(y1(_)||u)),!1):N&256?!0:(u.flags&262144&&(u=u.isThisType?iu(u):md(u)),!u||!dD(u,O)?(g&&we(g,f.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2,ai(_),Pn(O),Pn(u)),!1):!0)}function Eat(n){let a=Sat(n),c=a?.type&&si(a.type);if(c&&c.flags&262144&&(c=iu(c)),c&&br(c)&7)return Rv(c)}function Sat(n){let a=lu(n,!1,!1);return a&&Lo(a)?KE(a):void 0}function ROe(n){return!!Y7(n,a=>!(a.flags&8192))}function AD(n){return E_(Xi(n),n)}function h5(n){return wf(n,50331648)}function Fhe(n){return h5(n)?Wg(n):n}function Tat(n,a){let c=gl(n)?Wu(n):void 0;if(n.kind===106){we(n,f.The_value_0_cannot_be_used_here,\"null\");return}if(c!==void 0&&c.length<100){if(Me(n)&&c===\"undefined\"){we(n,f.The_value_0_cannot_be_used_here,\"undefined\");return}we(n,a&16777216?a&33554432?f._0_is_possibly_null_or_undefined:f._0_is_possibly_undefined:f._0_is_possibly_null,c)}else we(n,a&16777216?a&33554432?f.Object_is_possibly_null_or_undefined:f.Object_is_possibly_undefined:f.Object_is_possibly_null)}function Aat(n,a){we(n,a&16777216?a&33554432?f.Cannot_invoke_an_object_which_is_possibly_null_or_undefined:f.Cannot_invoke_an_object_which_is_possibly_undefined:f.Cannot_invoke_an_object_which_is_possibly_null)}function DOe(n,a,c){if(H&&n.flags&2){if(gl(a)){let _=Wu(a);if(_.length<100)return we(a,f._0_is_of_type_unknown,_),it}return we(a,f.Object_is_of_type_unknown),it}let u=HP(n,50331648);if(u&50331648){c(a,u);let _=Wg(n);return _.flags&229376?it:_}return n}function E_(n,a){return DOe(n,a,Tat)}function COe(n,a){let c=E_(n,a);if(c.flags&16384){if(gl(a)){let u=Wu(a);if(Me(a)&&u===\"undefined\")return we(a,f.The_value_0_cannot_be_used_here,u),c;if(u.length<100)return we(a,f._0_is_possibly_undefined,u),c}we(a,f.Object_is_possibly_undefined)}return c}function BQ(n,a,c){return n.flags&64?Iat(n,a):Bhe(n,n.expression,AD(n.expression),n.name,a,c)}function Iat(n,a){let c=Xi(n.expression),u=yw(c,n.expression);return _Q(Bhe(n,n.expression,E_(u,n.expression),n.name,a),n,u!==c)}function NOe(n,a){let c=EW(n)&&YE(n.left)?E_(c5(n.left),n.left):AD(n.left);return Bhe(n,n.left,c,n.right,a)}function POe(n){for(;n.parent.kind===217;)n=n.parent;return Hm(n.parent)&&n.parent.expression===n}function GQ(n,a){for(let c=_W(a);c;c=Oc(c)){let{symbol:u}=c,_=wL(u,n),g=u.members&&u.members.get(_)||u.exports&&u.exports.get(_);if(g)return g}}function xat(n){if(!Oc(n))return sn(n,f.Private_identifiers_are_not_allowed_outside_class_bodies);if(!y6(n.parent)){if(!bh(n))return sn(n,f.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression);let a=Zn(n.parent)&&n.parent.operatorToken.kind===103;if(!VQ(n)&&!a)return sn(n,f.Cannot_find_name_0,ar(n))}return!1}function Rat(n){xat(n);let a=VQ(n);return a&&v5(a,void 0,!1),z}function VQ(n){if(!bh(n))return;let a=Fr(n);return a.resolvedSymbol===void 0&&(a.resolvedSymbol=GQ(n.escapedText,n)),a.resolvedSymbol}function zhe(n,a){return Qo(n,a.escapedName)}function Dat(n,a,c){let u,_=Xa(n);_&&an(_,T=>{let N=T.valueDeclaration;if(N&&Ld(N)&&Ci(N.name)&&N.name.escapedText===a.escapedText)return u=T,!0});let g=rm(a);if(u){let T=x.checkDefined(u.valueDeclaration),N=x.checkDefined(Oc(T));if(c?.valueDeclaration){let O=c.valueDeclaration,B=Oc(O);if(x.assert(!!B),Rn(B,Q=>N===Q)){let Q=we(a,f.The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling,g,Pn(n));return fa(Q,vr(O,f.The_shadowing_declaration_of_0_is_defined_here,g),vr(T,f.The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here,g)),!0}}return we(a,f.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier,g,rm(N.name||s4)),!0}return!1}function MOe(n,a){return(sD(a)||fL(n)&&DP(a))&&lu(n,!0,!1)===CP(a)}function Bhe(n,a,c,u,_,g){let T=Fr(a).resolvedSymbol,N=WA(n),O=ou(N!==0||POe(n)?gp(c):c),B=vt(O)||O===Zi,Q;if(Ci(u)){oe<99&&(N!==0&&rc(n,1048576),N!==1&&rc(n,524288));let ue=GQ(u.escapedText,u);if(N&&ue&&ue.valueDeclaration&&El(ue.valueDeclaration)&&sn(u,f.Cannot_assign_to_private_method_0_Private_methods_are_not_writable,ar(u)),B){if(ue)return Lt(O)?it:O;if(_W(u)===void 0)return sn(u,f.Private_identifiers_are_not_allowed_outside_class_bodies),z}if(Q=ue&&zhe(c,ue),Q===void 0){if(Dat(c,u,ue))return it;let We=_W(u);We&&nL(Nn(We),F.checkJs)&&sn(u,f.Private_field_0_must_be_declared_in_an_enclosing_class,ar(u))}else Q.flags&65536&&!(Q.flags&32768)&&N!==1&&we(n,f.Private_accessor_was_defined_without_a_getter)}else{if(B)return Me(a)&&T&&MQ(T,n),Lt(O)?it:O;Q=Qo(O,u.escapedText,eZ(O),n.kind===166)}Me(a)&&T&&(xf(F)||!(Q&&(Bw(Q)||Q.flags&8&&n.parent.kind===306))||n0(F)&&$ke(n))&&MQ(T,n);let me;if(Q){let ue=wge(Q,u);if(Dy(ue)&&v_e(n,ue)&&ue.declarations&&Tv(u,ue.declarations,u.escapedText),Cat(Q,n,u),v5(Q,n,zOe(a,T)),Fr(n).resolvedSymbol=Q,Whe(n,a.kind===108,VA(n),O,Q),Dwe(n,Q,N))return we(u,f.Cannot_assign_to_0_because_it_is_a_read_only_property,ar(u)),it;me=MOe(n,Q)?Je:g||$W(n)?q0(Q):Yn(Q)}else{let ue=!Ci(u)&&(N===0||!QT(c)||YC(c))?m1(O,u.escapedText):void 0;if(!(ue&&ue.type)){let We=Ghe(n,c.symbol,!0);return!We&&dw(c)?z:c.symbol===Ke?(Ke.exports.has(u.escapedText)&&Ke.exports.get(u.escapedText).flags&418?we(u,f.Property_0_does_not_exist_on_type_1,Ii(u.escapedText),Pn(c)):ce&&we(u,f.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature,Pn(c)),z):(u.escapedText&&!IT(n)&&OOe(u,YC(c)?O:c,We),it)}ue.isReadonly&&(Sh(n)||G9(n))&&we(n,f.Index_signature_in_type_0_only_permits_reading,Pn(O)),me=F.noUncheckedIndexedAccess&&!Sh(n)?Br([ue.type,M]):ue.type,F.noPropertyAccessFromIndexSignature&&Er(n)&&we(u,f.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0,Ii(u.escapedText)),ue.declaration&&Sv(ue.declaration)&&Tv(u,[ue.declaration],u.escapedText)}return LOe(n,Q,me,u,_)}function Ghe(n,a,c){var u;let _=Nn(n);if(_&&F.checkJs===void 0&&_.checkJsDirective===void 0&&(_.scriptKind===1||_.scriptKind===2)){let g=an(a?.declarations,Nn),T=!a?.valueDeclaration||!Kr(a.valueDeclaration)||((u=a.valueDeclaration.heritageClauses)==null?void 0:u.length)||Qg(!1,a.valueDeclaration);return!(_!==g&&g&&$_(g))&&!(c&&a&&a.flags&32&&T)&&!(n&&c&&Er(n)&&n.expression.kind===110&&T)}return!1}function LOe(n,a,c,u,_){let g=WA(n);if(g===1)return ob(c,!!(a&&a.flags&16777216));if(a&&!(a.flags&98311)&&!(a.flags&8192&&c.flags&1048576)&&!_Z(a.declarations))return c;if(c===Je)return lD(n,a);c=hhe(c,n,_);let T=!1;if(H&&Ee&&us(n)&&n.expression.kind===110){let O=a&&a.valueDeclaration;if(O&&P8e(O)&&!zo(O)){let B=Iw(n);B.kind===176&&B.parent===O.parent&&!(O.flags&33554432)&&(T=!0)}}else H&&a&&a.valueDeclaration&&Er(a.valueDeclaration)&&TL(a.valueDeclaration)&&Iw(n)===Iw(a.valueDeclaration)&&(T=!0);let N=ab(n,c,T?ib(c):c);return T&&!zP(c)&&zP(N)?(we(u,f.Property_0_is_used_before_being_assigned,ai(a)),c):g?wg(N):N}function Cat(n,a,c){let{valueDeclaration:u}=n;if(!u||Nn(a).isDeclarationFile)return;let _,g=ar(c);kOe(a)&&!gtt(u)&&!(us(a)&&us(a.expression))&&!bg(u,c)&&!(El(u)&&AZ(u)&256)&&(de||!Nat(n))?_=we(c,f.Property_0_is_used_before_its_initialization,g):u.kind===263&&a.parent.kind!==183&&!(u.flags&33554432)&&!bg(u,c)&&(_=we(c,f.Class_0_used_before_its_declaration,g)),_&&fa(_,vr(u,f._0_is_declared_here,g))}function kOe(n){return!!Rn(n,a=>{switch(a.kind){case 172:return!0;case 303:case 174:case 177:case 178:case 305:case 167:case 239:case 294:case 291:case 292:case 293:case 286:case 233:case 298:return!1;case 219:case 244:return Do(a.parent)&&nl(a.parent.parent)?!0:\"quit\";default:return bh(a)?!1:\"quit\"}})}function Nat(n){if(!(n.parent.flags&32))return!1;let a=Yn(n.parent);for(;;){if(a=a.symbol&&Pat(a),!a)return!1;let c=Qo(a,n.escapedName);if(c&&c.valueDeclaration)return!0}}function Pat(n){let a=ep(n);if(a.length!==0)return Zo(a)}function OOe(n,a,c){let u,_;if(!Ci(n)&&a.flags&1048576&&!(a.flags&402784252)){for(let T of a.types)if(!Qo(T,n.escapedText)&&!m1(T,n.escapedText)){u=So(u,f.Property_0_does_not_exist_on_type_1,is(n),Pn(T));break}}if(wOe(n.escapedText,a)){let T=is(n),N=Pn(a);u=So(u,f.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,T,N,N+\".\"+T)}else{let T=kw(a);if(T&&Qo(T,n.escapedText))u=So(u,f.Property_0_does_not_exist_on_type_1,is(n),Pn(a)),_=vr(n,f.Did_you_forget_to_use_await);else{let N=is(n),O=Pn(a),B=kat(N,a);if(B!==void 0)u=So(u,f.Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later,N,O,B);else{let Q=Vhe(n,a);if(Q!==void 0){let me=$s(Q),ue=c?f.Property_0_may_not_exist_on_type_1_Did_you_mean_2:f.Property_0_does_not_exist_on_type_1_Did_you_mean_2;u=So(u,ue,N,O,me),_=Q.valueDeclaration&&vr(Q.valueDeclaration,f._0_is_declared_here,me)}else{let me=Mat(a)?f.Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:f.Property_0_does_not_exist_on_type_1;u=So(zme(u,a),me,N,O)}}}}let g=eg(Nn(n),n,u);_&&fa(g,_),Rm(!c||u.code!==f.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,g)}function Mat(n){return F.lib&&!F.lib.includes(\"dom\")&&Uit(n,a=>a.symbol&&/^(EventTarget|Node|((HTML[a-zA-Z]*)?Element))$/.test(Ii(a.symbol.escapedName)))&&Og(n)}function wOe(n,a){let c=a.symbol&&Qo(Yn(a.symbol),n);return c!==void 0&&!!c.valueDeclaration&&zo(c.valueDeclaration)}function Lat(n){let a=rm(n),u=IF().get(a);return u&&rB(u.keys())}function kat(n,a){let c=ou(a).symbol;if(!c)return;let u=$s(c),g=IF().get(u);if(g){for(let[T,N]of g)if(To(N,n))return T}}function WOe(n,a){return g5(n,Xa(a),106500)}function Vhe(n,a){let c=Xa(a);if(typeof n!=\"string\"){let u=n.parent;Er(u)&&(c=Cr(c,_=>BOe(u,a,_))),n=ar(n)}return g5(n,c,111551)}function FOe(n,a){let c=fo(n)?n:ar(n),u=Xa(a);return(c===\"for\"?Dr(u,g=>$s(g)===\"htmlFor\"):c===\"class\"?Dr(u,g=>$s(g)===\"className\"):void 0)??g5(c,u,111551)}function jhe(n,a){let c=Vhe(n,a);return c&&$s(c)}function Uhe(n,a,c){return x.assert(a!==void 0,\"outername should always be defined\"),pp(n,a,c,void 0,a,!1,!1,!0,(_,g,T)=>{x.assertEqual(a,g,\"name should equal outerName\");let N=gu(_,g,T);if(N)return N;let O;return _===he?O=Fi([\"string\",\"number\",\"boolean\",\"object\",\"bigint\",\"symbol\"],Q=>_.has(Q.charAt(0).toUpperCase()+Q.slice(1))?Ra(524288,Q):void 0).concat(bo(_.values())):O=bo(_.values()),g5(Ii(g),O,T)})}function Oat(n,a,c){let u=Uhe(n,a,c);return u&&$s(u)}function jQ(n,a){return a.exports&&g5(ar(n),wT(a),2623475)}function wat(n,a){let c=jQ(n,a);return c&&$s(c)}function Wat(n,a,c){function u(T){let N=vE(n,T);if(N){let O=dA(Yn(N));return!!O&&A_(O)>=1&&ea(c,zm(O,0))}return!1}let _=Sh(a)?\"set\":\"get\";if(!u(_))return;let g=HL(a.expression);return g===void 0?g=_:g+=\".\"+_,g}function Fat(n,a){let c=a.types.filter(u=>!!(u.flags&128));return VD(n.value,c,u=>u.value)}function g5(n,a,c){return VD(n,a,u);function u(_){let g=$s(_);if(!Ui(g,'\"')){if(_.flags&c)return g;if(_.flags&2097152){let T=LT(_);if(T&&T.flags&c)return g}}}}function v5(n,a,c){let u=n&&n.flags&106500&&n.valueDeclaration;if(!u)return;let _=zu(u,2),g=n.valueDeclaration&&Ld(n.valueDeclaration)&&Ci(n.valueDeclaration.name);if(!(!_&&!g)&&!(a&&$W(a)&&!(n.flags&65536))){if(c){let T=Rn(a,hs);if(T&&T.symbol===n)return}(tl(n)&1?Pi(n).target:n).isReferenced=-1}}function zOe(n,a){return n.kind===110||!!a&&gl(n)&&a===cm(dp(n))}function zat(n,a){switch(n.kind){case 211:return Hhe(n,n.expression.kind===108,a,gp(Xi(n.expression)));case 166:return Hhe(n,!1,a,gp(Xi(n.left)));case 205:return Hhe(n,!1,a,si(n))}}function BOe(n,a,c){return qhe(n,n.kind===211&&n.expression.kind===108,!1,a,c)}function Hhe(n,a,c,u){if(vt(u))return!0;let _=Qo(u,c);return!!_&&qhe(n,a,!1,u,_)}function qhe(n,a,c,u,_){if(vt(u))return!0;if(_.valueDeclaration&&kd(_.valueDeclaration)){let g=Oc(_.valueDeclaration);return!yd(n)&&!!Rn(n,T=>T===g)}return xOe(n,a,c,u,_)}function Bat(n){let a=n.initializer;if(a.kind===261){let c=a.declarations[0];if(c&&!ko(c.name))return dr(c)}else if(a.kind===80)return cm(a)}function Gat(n){return Ud(n).length===1&&!!Uh(n,gt)}function Vat(n){let a=Ka(n);if(a.kind===80){let c=cm(a);if(c.flags&3){let u=n,_=n.parent;for(;_;){if(_.kind===249&&u===_.statement&&Bat(_)===c&&Gat(td(_.expression)))return!0;u=_,_=_.parent}}}return!1}function jat(n,a){return n.flags&64?Uat(n,a):GOe(n,AD(n.expression),a)}function Uat(n,a){let c=Xi(n.expression),u=yw(c,n.expression);return _Q(GOe(n,E_(u,n.expression),a),n,u!==c)}function GOe(n,a,c){let u=WA(n)!==0||POe(n)?gp(a):a,_=n.argumentExpression,g=Xi(_);if(Lt(u)||u===Zi)return u;if(eZ(u)&&!Ga(_))return we(_,f.A_const_enum_member_can_only_be_accessed_using_a_string_literal),it;let T=Vat(_)?gt:g,N=Sh(n)?4|(QT(u)&&!YC(u)?2:0):32,O=Qy(u,T,N,n)||it;return Xwe(LOe(n,Fr(n).resolvedSymbol,O,_,c),n)}function VOe(n){return Hm(n)||a0(n)||Od(n)}function cA(n){return VOe(n)&&an(n.typeArguments,sa),n.kind===215?Xi(n.template):Od(n)?Xi(n.attributes):Zn(n)?Xi(n.left):Hm(n)&&an(n.arguments,a=>{Xi(a)}),dt}function S_(n){return cA(n),$t}function Hat(n,a,c){let u,_,g=0,T,N=-1,O;x.assert(!a.length);for(let B of n){let Q=B.declaration&&dr(B.declaration),me=B.declaration&&B.declaration.parent;!_||Q===_?u&&me===u?T=T+1:(u=me,T=g):(T=g=a.length,u=me),_=Q,zU(B)?(N++,O=N,g++):O=T,a.splice(O,0,c?zet(B,c):B)}}function UQ(n){return!!n&&(n.kind===230||n.kind===237&&n.isSpread)}function HQ(n){return Tl(n,UQ)}function jOe(n){return!!(n.flags&16384)}function qat(n){return!!(n.flags&49155)}function qQ(n,a,c,u=!1){let _,g=!1,T=vp(c),N=A_(c);if(n.kind===215)if(_=a.length,n.template.kind===228){let O=Da(n.template.templateSpans);g=_l(O.literal)||!!O.literal.isUnterminated}else{let O=n.template;x.assert(O.kind===15),g=!!O.isUnterminated}else if(n.kind===170)_=$Oe(n,c);else if(n.kind===226)_=1;else if(Od(n)){if(g=n.attributes.end===n.end,g)return!0;_=N===0?a.length:1,T=a.length===0?T:1,N=Math.min(N,1)}else if(n.arguments){_=u?a.length+1:a.length,g=n.arguments.end===n.end;let O=HQ(a);if(O>=0)return O>=A_(c)&&(dh(c)||O<vp(c))}else return x.assert(n.kind===214),A_(c)===0;if(!dh(c)&&_>T)return!1;if(g||_>=N)return!0;for(let O=_;O<N;O++){let B=zm(c,O);if(Bl(B,Jn(n)&&!H?qat:jOe).flags&131072)return!1}return!0}function Jhe(n,a){let c=yn(n.typeParameters),u=ah(n.typeParameters);return!ct(a)||a.length>=u&&a.length<=c}function UOe(n,a){let c;return!!(n.target&&(c=iS(n.target,a))&&yD(c))}function dA(n){return Dw(n,0,!1)}function HOe(n){return Dw(n,0,!1)||Dw(n,1,!1)}function Dw(n,a,c){if(n.flags&524288){let u=Om(n);if(c||u.properties.length===0&&u.indexInfos.length===0){if(a===0&&u.callSignatures.length===1&&u.constructSignatures.length===0)return u.callSignatures[0];if(a===1&&u.constructSignatures.length===1&&u.callSignatures.length===0)return u.constructSignatures[0]}}}function qOe(n,a,c,u){let _=Sw(n.typeParameters,n,0,u),g=Cw(a),T=c&&(g&&g.flags&262144?c.nonFixingMapper:c.mapper),N=T?ED(a,T):a;return J_e(N,n,(O,B)=>{Fg(_.inferences,O,B)}),c||K_e(a,n,(O,B)=>{Fg(_.inferences,O,B,128)}),aw(n,ahe(_),Jn(a.declaration))}function Jat(n,a,c,u){let _=WQ(a,n),g=RD(n.attributes,_,u,c);return Fg(u.inferences,g,_),ahe(u)}function JOe(n){if(!n)return jn;let a=Xi(n);return Rne(n)?a:tC(n.parent)?Wg(a):yd(n.parent)?mQ(a):a}function Khe(n,a,c,u,_){if(Od(n))return Jat(n,a,u,_);if(n.kind!==170&&n.kind!==226){let O=ji(a.typeParameters,Q=>!!KT(Q)),B=bu(n,O?8:0);if(B){let Q=Ha(a);if(xE(Q)){let me=nS(n);if(!(!O&&bu(n,8)!==B)){let ht=Q_e(ait(me,1)),qt=Gi(B,ht),Xt=dA(qt),Hn=Xt&&Xt.typeParameters?XT(qme(Xt,Xt.typeParameters)):qt;Fg(_.inferences,Hn,Q,128)}let We=Sw(a.typeParameters,a,_.flags),at=Gi(B,me&&me.returnMapper);Fg(We.inferences,at,Q),_.returnMapper=ct(We.inferences,DD)?Q_e(dit(We)):void 0}}}let g=Nw(a),T=g?Math.min(vp(a)-1,c.length):c.length;if(g&&g.flags&262144){let O=Dr(_.inferences,B=>B.typeParameter===g);O&&(O.impliedArity=Tl(c,UQ,T)<0?c.length-T:void 0)}let N=bE(a);if(N&&xE(N)){let O=YOe(n);Fg(_.inferences,JOe(O),N)}for(let O=0;O<T;O++){let B=c[O];if(B.kind!==232){let Q=zm(a,O);if(xE(Q)){let me=RD(B,Q,_,u);Fg(_.inferences,me,Q)}}}if(g&&xE(g)){let O=Xhe(c,T,c.length,g,_,u);Fg(_.inferences,O,g)}return ahe(_)}function KOe(n){return n.flags&1048576?Gs(n,KOe):n.flags&1||Q7(md(n)||n)?n:ga(n)?lh(X0(n),n.target.elementFlags,!1,n.target.labeledElementDeclarations):lh([n],[8])}function Xhe(n,a,c,u,_,g){let T=JT(u);if(a>=c-1){let Q=n[c-1];if(UQ(Q)){let me=Q.kind===237?Q.type:RD(Q.expression,u,_,g);return Lv(me)?KOe(me):_d(Ov(33,me,Re,Q.kind===230?Q.expression:Q),T)}}let N=[],O=[],B=[];for(let Q=a;Q<c;Q++){let me=n[Q];if(UQ(me)){let ue=me.kind===237?me.type:Xi(me.expression);Lv(ue)?(N.push(ue),O.push(8)):(N.push(Ov(33,ue,Re,me.kind===230?me.expression:me)),O.push(4))}else{let ue=ga(u)?xhe(u,Q-a,c-a)||Zt:tp(u,Wm(Q-a),256),We=RD(me,ue,_,g),at=T||ol(ue,406978556);N.push(at?qd(We):eS(We)),O.push(1)}me.kind===237&&me.tupleNameSource?B.push(me.tupleNameSource):B.push(void 0)}return lh(N,O,T&&!dm(u,G_e),B)}function Yhe(n,a,c,u){let _=Jn(n.declaration),g=n.typeParameters,T=Yy(nn(a,si),g,ah(g),_),N;for(let O=0;O<a.length;O++){x.assert(g[O]!==void 0,\"Should not call checkTypeArguments with too many type arguments\");let B=iu(g[O]);if(B){let Q=c&&u?()=>So(void 0,f.Type_0_does_not_satisfy_the_constraint_1):void 0,me=u||f.Type_0_does_not_satisfy_the_constraint_1;N||(N=np(g,T));let ue=T[O];if(!Cd(ue,hp(Gi(B,N),ue),c?a[O]:void 0,me,Q))return}}return T}function XOe(n){if(b1(n.tagName))return 2;let a=ou(Xi(n.tagName));return yn(Co(a,1))?0:yn(Co(a,0))?1:2}function Kat(n,a,c,u,_,g,T){let N=WQ(a,n),O=RD(n.attributes,N,void 0,u),B=u&4?Ew(O):O;return Q()&&M_e(B,N,c,_?n.tagName:void 0,n.attributes,void 0,g,T);function Q(){var me;if(Mhe(n))return!0;let ue=(r_(n)||KS(n))&&!(b1(n.tagName)||Em(n.tagName))?Xi(n.tagName):void 0;if(!ue)return!0;let We=Co(ue,0);if(!yn(We))return!0;let at=nWe(n);if(!at)return!0;let ht=Es(at,111551,!0,!1,n);if(!ht)return!0;let qt=Yn(ht),Xt=Co(qt,0);if(!yn(Xt))return!0;let Hn=!1,En=0;for(let In of Xt){let Sn=zm(In,0),zn=Co(Sn,0);if(yn(zn))for(let Mn of zn){if(Hn=!0,dh(Mn))return!0;let Bn=vp(Mn);Bn>En&&(En=Bn)}}if(!Hn)return!0;let Kt=1/0;for(let In of We){let Sn=A_(In);Sn<Kt&&(Kt=Sn)}if(Kt<=En)return!0;if(_){let In=vr(n.tagName,f.Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3,Wu(n.tagName),Kt,Wu(at),En),Sn=(me=um(n.tagName))==null?void 0:me.valueDeclaration;Sn&&fa(In,vr(Sn,f._0_is_declared_here,Wu(n.tagName))),T&&T.skipLogging&&(T.errors||(T.errors=[])).push(In),T.skipLogging||La.add(In)}return!1}}function JQ(n){return n=Ka(n),Sj(n)?Ka(n.expression):n}function y5(n,a,c,u,_,g,T){let N={errors:void 0,skipLogging:!0};if(Od(n))return Kat(n,c,u,_,g,T,N)?void 0:(x.assert(!g||!!N.errors,\"jsx should have errors when reporting errors\"),N.errors||je);let O=bE(c);if(O&&O!==jn&&!(o0(n)||Bo(n)&&cu(n.expression))){let We=YOe(n),at=JOe(We),ht=g?We||n:void 0,qt=f.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1;if(!pf(at,O,u,ht,qt,T,N))return x.assert(!g||!!N.errors,\"this parameter should have errors when reporting errors\"),N.errors||je}let B=f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1,Q=Nw(c),me=Q?Math.min(vp(c)-1,a.length):a.length;for(let We=0;We<me;We++){let at=a[We];if(at.kind!==232){let ht=zm(c,We),qt=RD(at,ht,void 0,_),Xt=_&4?Ew(qt):qt,Hn=JQ(at);if(!M_e(Xt,ht,u,g?Hn:void 0,Hn,B,T,N))return x.assert(!g||!!N.errors,\"parameter should have errors when reporting errors\"),ue(at,Xt,ht),N.errors||je}}if(Q){let We=Xhe(a,me,a.length,Q,void 0,_),at=a.length-me,ht=g?at===0?n:at===1?JQ(a[me]):F_(b5(n,We),a[me].pos,a[a.length-1].end):void 0;if(!pf(We,Q,u,ht,B,void 0,N))return x.assert(!g||!!N.errors,\"rest parameter should have errors when reporting errors\"),ue(ht,We,Q),N.errors||je}return;function ue(We,at,ht){if(We&&g&&N.errors&&N.errors.length){if(eM(ht))return;let qt=eM(at);qt&&b_(qt,ht,u)&&fa(N.errors[0],vr(We,f.Did_you_forget_to_use_await))}}}function YOe(n){if(n.kind===226)return n.right;let a=n.kind===213?n.expression:n.kind===215?n.tag:n.kind===170&&!$?n.expression:void 0;if(a){let c=Rl(a);if(us(c))return c.expression}}function b5(n,a,c,u){let _=H_.createSyntheticExpression(a,c,u);return Ze(_,n),Aa(_,n),_}function KQ(n){if(n.kind===215){let u=n.template,_=[b5(u,ktt())];return u.kind===228&&an(u.templateSpans,g=>{_.push(g.expression)}),_}if(n.kind===170)return Xat(n);if(n.kind===226)return[n.left];if(Od(n))return n.attributes.properties.length>0||r_(n)&&n.parent.children.length>0?[n.attributes]:je;let a=n.arguments||je,c=HQ(a);if(c>=0){let u=a.slice(0,c);for(let _=c;_<a.length;_++){let g=a[_],T=g.kind===230&&(wp?Xi(g.expression):Ml(g.expression));T&&ga(T)?an(X0(T),(N,O)=>{var B;let Q=T.target.elementFlags[O],me=b5(g,Q&4?_d(N):N,!!(Q&12),(B=T.target.labeledElementDeclarations)==null?void 0:B[O]);u.push(me)}):u.push(g)}return u}return a}function Xat(n){let a=n.expression,c=lge(n);if(c){let u=[];for(let _ of c.parameters){let g=Yn(_);u.push(b5(a,g))}return u}return x.fail()}function $Oe(n,a){return F.experimentalDecorators?Yat(n,a):2}function Yat(n,a){switch(n.parent.kind){case 263:case 231:return 1;case 172:return $m(n.parent)?3:2;case 174:case 177:case 178:return oe===0||a.parameters.length<=2?2:3;case 169:return 3;default:return x.fail()}}function QOe(n){let a=Nn(n),{start:c,length:u}=IS(a,Er(n.expression)?n.expression.name:n.expression);return{start:c,length:u,sourceFile:a}}function E5(n,a,...c){if(Bo(n)){let{sourceFile:u,start:_,length:g}=QOe(n);return\"message\"in a?Rc(u,_,g,a,...c):T9(u,a)}else return\"message\"in a?vr(n,a,...c):eg(Nn(n),n,a)}function $at(n){return Hm(n)?Er(n.expression)?n.expression.name:n.expression:a0(n)?Er(n.tag)?n.tag.name:n.tag:Od(n)?n.tagName:n}function Qat(n){if(!Bo(n)||!Me(n.expression))return!1;let a=Xs(n.expression,n.expression.escapedText,111551,void 0,void 0,!1),c=a?.valueDeclaration;if(!c||!ao(c)||!e0(c.parent)||!o0(c.parent.parent)||!Me(c.parent.parent.expression))return!1;let u=o_e(!1);return u?um(c.parent.parent.expression,!0)===u:!1}function ZOe(n,a,c,u){var _;let g=HQ(c);if(g>-1)return vr(c[g],f.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter);let T=Number.POSITIVE_INFINITY,N=Number.NEGATIVE_INFINITY,O=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY,Q;for(let ht of a){let qt=A_(ht),Xt=vp(ht);qt<T&&(T=qt,Q=ht),N=Math.max(N,Xt),qt<c.length&&qt>O&&(O=qt),c.length<Xt&&Xt<B&&(B=Xt)}let me=ct(a,dh),ue=me?T:T<N?T+\"-\"+N:T,We=!me&&ue===1&&c.length===0&&Qat(n);if(We&&Jn(n))return E5(n,f.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments);let at=Xc(n)?me?f.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:f.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:me?f.Expected_at_least_0_arguments_but_got_1:We?f.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:f.Expected_0_arguments_but_got_1;if(T<c.length&&c.length<N){if(u){let ht=So(void 0,f.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,c.length,O,B);return ht=So(ht,u),E5(n,ht)}return E5(n,f.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,c.length,O,B)}else if(c.length<T){let ht;if(u){let Xt=So(void 0,at,ue,c.length);Xt=So(Xt,u),ht=E5(n,Xt)}else ht=E5(n,at,ue,c.length);let qt=(_=Q?.declaration)==null?void 0:_.parameters[Q.thisParameter?c.length+1:c.length];if(qt){let Xt=ko(qt.name)?[f.An_argument_matching_this_binding_pattern_was_not_provided]:gh(qt)?[f.Arguments_for_the_rest_parameter_0_were_not_provided,ar(dp(qt.name))]:[f.An_argument_for_0_was_not_provided,qt.name?ar(dp(qt.name)):c.length],Hn=vr(qt,...Xt);return fa(ht,Hn)}return ht}else{let ht=P.createNodeArray(c.slice(N)),qt=Ta(ht).pos,Xt=Da(ht).end;if(Xt===qt&&Xt++,F_(ht,qt,Xt),u){let Hn=So(void 0,at,ue,c.length);return Hn=So(Hn,u),sL(Nn(n),ht,Hn)}return Q1(Nn(n),ht,at,ue,c.length)}}function Zat(n,a,c,u){let _=c.length;if(a.length===1){let N=a[0],O=ah(N.typeParameters),B=yn(N.typeParameters);if(u){let Q=So(void 0,f.Expected_0_type_arguments_but_got_1,O<B?O+\"-\"+B:O,_);return Q=So(Q,u),sL(Nn(n),c,Q)}return Q1(Nn(n),c,f.Expected_0_type_arguments_but_got_1,O<B?O+\"-\"+B:O,_)}let g=-1/0,T=1/0;for(let N of a){let O=ah(N.typeParameters),B=yn(N.typeParameters);O>_?T=Math.min(T,O):B<_&&(g=Math.max(g,B))}if(g!==-1/0&&T!==1/0){if(u){let N=So(void 0,f.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments,_,g,T);return N=So(N,u),sL(Nn(n),c,N)}return Q1(Nn(n),c,f.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments,_,g,T)}if(u){let N=So(void 0,f.Expected_0_type_arguments_but_got_1,g===-1/0?T:g,_);return N=So(N,u),sL(Nn(n),c,N)}return Q1(Nn(n),c,f.Expected_0_type_arguments_but_got_1,g===-1/0?T:g,_)}function ID(n,a,c,u,_,g){let T=n.kind===215,N=n.kind===170,O=Od(n),B=n.kind===226,Q=!G&&!c,me;!N&&!B&&!xS(n)&&(me=n.typeArguments,(T||O||n.expression.kind!==108)&&an(me,sa));let ue=c||[];Hat(a,ue,_),x.assert(ue.length,\"Revert #54442 and add a testcase with whatever triggered this\");let We=KQ(n),at=ue.length===1&&!ue[0].typeParameters,ht=!N&&!at&&ct(We,uf)?4:0,qt,Xt,Hn,En,Kt=!!(u&16)&&n.kind===213&&n.arguments.hasTrailingComma;if(ue.length>1&&(En=Sn(ue,Y_,at,Kt)),En||(En=Sn(ue,hu,at,Kt)),En)return En;if(En=est(n,ue,We,!!c,u),Fr(n).resolvedSignature=En,Q)if(!g&&B&&(g=f.The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_hand_side_s_Symbol_hasInstance_method),qt)if(qt.length===1||qt.length>3){let zn=qt[qt.length-1],Mn;qt.length>3&&(Mn=So(Mn,f.The_last_overload_gave_the_following_error),Mn=So(Mn,f.No_overload_matches_this_call)),g&&(Mn=So(Mn,g));let Bn=y5(n,We,zn,hu,0,!0,()=>Mn);if(Bn)for(let co of Bn)zn.declaration&&qt.length>3&&fa(co,vr(zn.declaration,f.The_last_overload_is_declared_here)),In(zn,co),La.add(co);else x.fail(\"No error for last overload signature\")}else{let zn=[],Mn=0,Bn=Number.MAX_VALUE,co=0,no=0;for(let ku of qt){let Fn=y5(n,We,ku,hu,0,!0,()=>So(void 0,f.Overload_0_of_1_2_gave_the_following_error,no+1,ue.length,th(ku)));Fn?(Fn.length<=Bn&&(Bn=Fn.length,co=no),Mn=Math.max(Mn,Fn.length),zn.push(Fn)):x.fail(\"No error for 3 or fewer overload signatures\"),no++}let Eo=Mn>1?zn[co]:Ff(zn);x.assert(Eo.length>0,\"No errors reported for 3 or fewer overload signatures\");let Yi=So(nn(Eo,Pte),f.No_overload_matches_this_call);g&&(Yi=So(Yi,g));let ic=[...ta(Eo,ku=>ku.relatedInformation)],mf;if(ji(Eo,ku=>ku.start===Eo[0].start&&ku.length===Eo[0].length&&ku.file===Eo[0].file)){let{file:ku,start:bn,length:Fn}=Eo[0];mf={file:ku,start:bn,length:Fn,code:Yi.code,category:Yi.category,messageText:Yi,relatedInformation:ic}}else mf=eg(Nn(n),$at(n),Yi,ic);In(qt[0],mf),La.add(mf)}else if(Xt)La.add(ZOe(n,[Xt],We,g));else if(Hn)Yhe(Hn,n.typeArguments,!0,g);else{let zn=Cr(a,Mn=>Jhe(Mn,me));zn.length===0?La.add(Zat(n,a,me,g)):La.add(ZOe(n,zn,We,g))}return En;function In(zn,Mn){var Bn,co;let no=qt,Eo=Xt,Yi=Hn,ic=((co=(Bn=zn.declaration)==null?void 0:Bn.symbol)==null?void 0:co.declarations)||je,ku=ic.length>1?Dr(ic,bn=>hs(bn)&&gf(bn.body)):void 0;if(ku){let bn=kf(ku),Fn=!bn.typeParameters;Sn([bn],hu,Fn)&&fa(Mn,vr(ku,f.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}qt=no,Xt=Eo,Hn=Yi}function Sn(zn,Mn,Bn,co=!1){if(qt=void 0,Xt=void 0,Hn=void 0,Bn){let no=zn[0];if(ct(me)||!qQ(n,We,no,co))return;if(y5(n,We,no,Mn,0,!1,void 0)){qt=[no];return}return no}for(let no=0;no<zn.length;no++){let Eo=zn[no];if(!Jhe(Eo,me)||!qQ(n,We,Eo,co))continue;let Yi,ic;if(Eo.typeParameters){let mf;if(ct(me)){if(mf=Yhe(Eo,me,!1),!mf){Hn=Eo;continue}}else ic=Sw(Eo.typeParameters,Eo,Jn(n)?2:0),mf=Khe(n,Eo,We,ht|8,ic),ht|=ic.flags&4?8:0;if(Yi=aw(Eo,mf,Jn(Eo.declaration),ic&&ic.inferredTypeParameters),Nw(Eo)&&!qQ(n,We,Yi,co)){Xt=Yi;continue}}else Yi=Eo;if(y5(n,We,Yi,Mn,ht,!1,void 0)){(qt||(qt=[])).push(Yi);continue}if(ht){if(ht=0,ic){let mf=Khe(n,Eo,We,ht,ic);if(Yi=aw(Eo,mf,Jn(Eo.declaration),ic.inferredTypeParameters),Nw(Eo)&&!qQ(n,We,Yi,co)){Xt=Yi;continue}}if(y5(n,We,Yi,Mn,ht,!1,void 0)){(qt||(qt=[])).push(Yi);continue}}return zn[no]=Yi,Yi}}}function est(n,a,c,u,_){return x.assert(a.length>0),E1(n),u||a.length===1||a.some(g=>!!g.typeParameters)?rst(n,a,c,_):tst(a)}function tst(n){let a=Fi(n,O=>O.thisParameter),c;a.length&&(c=ewe(a,a.map(A5)));let{min:u,max:_}=ore(n,nst),g=[];for(let O=0;O<_;O++){let B=Fi(n,Q=>Td(Q)?O<Q.parameters.length-1?Q.parameters[O]:Da(Q.parameters):O<Q.parameters.length?Q.parameters[O]:void 0);x.assert(B.length!==0),g.push(ewe(B,Fi(n,Q=>iS(Q,O))))}let T=Fi(n,O=>Td(O)?Da(O.parameters):void 0),N=128;if(T.length!==0){let O=_d(Br(Fi(n,LLe),2));g.push(twe(T,O)),N|=1}return n.some(zU)&&(N|=2),jh(n[0].declaration,void 0,c,g,Zo(n.map(Ha)),void 0,u,N)}function nst(n){let a=n.parameters.length;return Td(n)?a-1:a}function ewe(n,a){return twe(n,Br(a,2))}function twe(n,a){return nA(Ta(n),a)}function rst(n,a,c,u){let _=ast(a,Vt===void 0?c.length:Vt),g=a[_],{typeParameters:T}=g;if(!T)return g;let N=VOe(n)?n.typeArguments:void 0,O=N?F$(g,ist(N,T,Jn(n))):ost(n,T,g,c,u);return a[_]=O,O}function ist(n,a,c){let u=n.map(S1);for(;u.length>a.length;)u.pop();for(;u.length<a.length;)u.push(KT(a[u.length])||iu(a[u.length])||ohe(c));return u}function ost(n,a,c,u,_){let g=Sw(a,c,Jn(n)?2:0),T=Khe(n,c,u,_|4|8,g);return F$(c,T)}function ast(n,a){let c=-1,u=-1;for(let _=0;_<n.length;_++){let g=n[_],T=vp(g);if(dh(g)||T>=a)return _;T>u&&(u=T,c=_)}return c}function sst(n,a,c){if(n.expression.kind===108){let O=Ehe(n.expression);if(vt(O)){for(let B of n.arguments)Xi(B);return dt}if(!Lt(O)){let B=Km(Oc(n));if(B){let Q=ih(O,B.typeArguments,B);return ID(n,Q,a,c,0)}}return cA(n)}let u,_=Xi(n.expression);if(gS(n)){let O=yw(_,n.expression);u=O===_?0:nC(n)?16:8,_=O}else u=0;if(_=DOe(_,n.expression,Aat),_===Zi)return tr;let g=ou(_);if(Lt(g))return S_(n);let T=Co(g,0),N=Co(g,1).length;if(S5(_,g,T.length,N))return!Lt(_)&&n.typeArguments&&we(n,f.Untyped_function_calls_may_not_accept_type_arguments),cA(n);if(!T.length){if(N)we(n,f.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,Pn(_));else{let O;if(n.arguments.length===1){let B=Nn(n).text;vd(B.charCodeAt(pa(B,n.expression.end,!0)-1))&&(O=vr(n.expression,f.Are_you_missing_a_semicolon))}Qhe(n.expression,g,0,O)}return S_(n)}return c&8&&!n.typeArguments&&T.some(lst)?(Fwe(n,c),sr):T.some(O=>Jn(O.declaration)&&!!FG(O.declaration))?(we(n,f.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,Pn(_)),S_(n)):ID(n,T,a,c,u)}function lst(n){return!!(n.typeParameters&&Vge(Ha(n)))}function S5(n,a,c,u){return vt(n)||vt(a)&&!!(n.flags&262144)||!c&&!u&&!(a.flags&1048576)&&!(wm(a).flags&131072)&&ea(n,At)}function cst(n,a,c){if(n.arguments&&oe<1){let T=HQ(n.arguments);T>=0&&we(n.arguments[T],f.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}let u=AD(n.expression);if(u===Zi)return tr;if(u=ou(u),Lt(u))return S_(n);if(vt(u))return n.typeArguments&&we(n,f.Untyped_function_calls_may_not_accept_type_arguments),cA(n);let _=Co(u,1);if(_.length){if(!dst(n,_[0]))return S_(n);if(nwe(_,N=>!!(N.flags&4)))return we(n,f.Cannot_create_an_instance_of_an_abstract_class),S_(n);let T=u.symbol&&ig(u.symbol);return T&&Wr(T,64)?(we(n,f.Cannot_create_an_instance_of_an_abstract_class),S_(n)):ID(n,_,a,c,0)}let g=Co(u,0);if(g.length){let T=ID(n,g,a,c,0);return ce||(T.declaration&&!T_(T.declaration)&&Ha(T)!==jn&&we(n,f.Only_a_void_function_can_be_called_with_the_new_keyword),bE(T)===jn&&we(n,f.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),T}return Qhe(n.expression,u,1),S_(n)}function nwe(n,a){return oo(n)?ct(n,c=>nwe(c,a)):n.compositeKind===1048576?ct(n.compositeSignatures,a):a(n)}function $he(n,a){let c=ep(a);if(!yn(c))return!1;let u=c[0];if(u.flags&2097152){let _=u.types,g=mLe(_),T=0;for(let N of u.types){if(!g[T]&&br(N)&3&&(N.symbol===n||$he(n,N)))return!0;T++}return!1}return u.symbol===n?!0:$he(n,u)}function dst(n,a){if(!a||!a.declaration)return!0;let c=a.declaration,u=BA(c,6);if(!u||c.kind!==176)return!0;let _=ig(c.parent.symbol),g=Cs(c.parent.symbol);if(!zge(n,_)){let T=Oc(n);if(T&&u&4){let N=S1(T);if($he(c.parent.symbol,N))return!0}return u&2&&we(n,f.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,Pn(g)),u&4&&we(n,f.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,Pn(g)),!1}return!0}function rwe(n,a,c){let u,_=c===0,g=pA(a),T=g&&Co(g,c).length>0;if(a.flags&1048576){let O=a.types,B=!1;for(let Q of O)if(Co(Q,c).length!==0){if(B=!0,u)break}else if(u||(u=So(u,_?f.Type_0_has_no_call_signatures:f.Type_0_has_no_construct_signatures,Pn(Q)),u=So(u,_?f.Not_all_constituents_of_type_0_are_callable:f.Not_all_constituents_of_type_0_are_constructable,Pn(a))),B)break;B||(u=So(void 0,_?f.No_constituent_of_type_0_is_callable:f.No_constituent_of_type_0_is_constructable,Pn(a))),u||(u=So(u,_?f.Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:f.Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other,Pn(a)))}else u=So(u,_?f.Type_0_has_no_call_signatures:f.Type_0_has_no_construct_signatures,Pn(a));let N=_?f.This_expression_is_not_callable:f.This_expression_is_not_constructable;if(Bo(n.parent)&&n.parent.arguments.length===0){let{resolvedSymbol:O}=Fr(n);O&&O.flags&32768&&(N=f.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without)}return{messageChain:So(u,N),relatedMessage:T?f.Did_you_forget_to_use_await:void 0}}function Qhe(n,a,c,u){let{messageChain:_,relatedMessage:g}=rwe(n,a,c),T=eg(Nn(n),n,_);if(g&&fa(T,vr(n,g)),Bo(n.parent)){let{start:N,length:O}=QOe(n.parent);T.start=N,T.length=O}La.add(T),iwe(a,c,u?fa(T,u):T)}function iwe(n,a,c){if(!n.symbol)return;let u=Pi(n.symbol).originatingImport;if(u&&!lp(u)){let _=Co(Yn(Pi(n.symbol).target),a);if(!_||!_.length)return;fa(c,vr(u,f.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead))}}function ust(n,a,c){let u=Xi(n.tag),_=ou(u);if(Lt(_))return S_(n);let g=Co(_,0),T=Co(_,1).length;if(S5(u,_,g.length,T))return cA(n);if(!g.length){if(Bd(n.parent)){let N=vr(n.tag,f.It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked);return La.add(N),S_(n)}return Qhe(n.tag,_,0),S_(n)}return ID(n,g,a,c,0)}function pst(n){switch(n.parent.kind){case 263:case 231:return f.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 169:return f.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 172:return f.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 174:case 177:case 178:return f.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression;default:return x.fail()}}function fst(n,a,c){let u=Xi(n.expression),_=ou(u);if(Lt(_))return S_(n);let g=Co(_,0),T=Co(_,1).length;if(S5(u,_,g.length,T))return cA(n);if(hst(n,g)&&!uu(n.expression)){let O=Vl(n.expression,!1);return we(n,f._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0,O),S_(n)}let N=pst(n);if(!g.length){let O=rwe(n.expression,_,0),B=So(O.messageChain,N),Q=eg(Nn(n.expression),n.expression,B);return O.relatedMessage&&fa(Q,vr(n.expression,O.relatedMessage)),La.add(Q),iwe(_,0,Q),S_(n)}return ID(n,g,a,c,0,N)}function XQ(n,a){let c=lA(n),u=c&&Qu(c),_=u&&gu(u,Dp.Element,788968),g=_&&ft.symbolToEntityName(_,788968,n),T=P.createFunctionTypeNode(void 0,[P.createParameterDeclaration(void 0,void 0,\"props\",void 0,ft.typeToTypeNode(a,n))],g?P.createTypeReferenceNode(g,void 0):P.createKeywordTypeNode(133)),N=Ra(1,\"props\");return N.links.type=a,jh(T,void 0,void 0,[N],_?Cs(_):it,void 0,1,0)}function mst(n,a,c){if(b1(n.tagName)){let T=SOe(n),N=XQ(n,T);return nb(RD(n.attributes,WQ(N,n),void 0,0),T,n.tagName,n.attributes),yn(n.typeArguments)&&(an(n.typeArguments,sa),La.add(Q1(Nn(n),n.typeArguments,f.Expected_0_type_arguments_but_got_1,0,yn(n.typeArguments)))),N}let u=Xi(n.tagName),_=ou(u);if(Lt(_))return S_(n);let g=bOe(u,n);return S5(u,_,g.length,0)?cA(n):g.length===0?(we(n.tagName,f.JSX_element_type_0_does_not_have_any_construct_or_call_signatures,Vl(n.tagName)),S_(n)):ID(n,g,a,c,0)}function _st(n,a,c){let u=Xi(n.right);if(!vt(u)){let _=pge(u);if(_){let g=ou(_);if(Lt(g))return S_(n);let T=Co(g,0),N=Co(g,1);if(S5(_,g,T.length,N.length))return cA(n);if(T.length)return ID(n,T,a,c,0)}else if(!(vZ(u)||tb(u,At)))return we(n.right,f.The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_type_assignable_to_the_Function_interface_type_or_an_object_type_with_a_Symbol_hasInstance_method),S_(n)}return dt}function hst(n,a){return a.length&&ji(a,c=>c.minArgumentCount===0&&!Td(c)&&c.parameters.length<$Oe(n,c))}function gst(n,a,c){switch(n.kind){case 213:return sst(n,a,c);case 214:return cst(n,a,c);case 215:return ust(n,a,c);case 170:return fst(n,a,c);case 286:case 285:return mst(n,a,c);case 226:return _st(n,a,c)}x.assertNever(n,\"Branch in 'resolveSignature' should be unreachable.\")}function xD(n,a,c){let u=Fr(n),_=u.resolvedSignature;if(_&&_!==sr&&!a)return _;u.resolvedSignature=sr;let g=gst(n,a,c||0);return g!==sr&&(u.resolvedSignature!==sr&&(g=u.resolvedSignature),u.resolvedSignature=p_===wp?g:_),g}function T_(n){var a;if(!n||!Jn(n))return!1;let c=Ql(n)||ps(n)?n:(yi(n)||Hl(n))&&n.initializer&&ps(n.initializer)?n.initializer:void 0;if(c){if(FG(n))return!0;if(Hl(Zg(c.parent)))return!1;let u=dr(c);return!!((a=u?.members)!=null&&a.size)}return!1}function Zhe(n,a){var c,u;if(a){let _=Pi(a);if(!_.inferredClassSymbol||!_.inferredClassSymbol.has(na(n))){let g=k_(n)?n:AT(n);return g.exports=g.exports||Vo(),g.members=g.members||Vo(),g.flags|=a.flags&32,(c=a.exports)!=null&&c.size&&Cm(g.exports,a.exports),(u=a.members)!=null&&u.size&&Cm(g.members,a.members),(_.inferredClassSymbol||(_.inferredClassSymbol=new Map)).set(na(g),g),g}return _.inferredClassSymbol.get(na(n))}}function vst(n){var a;let c=n&&YQ(n,!0),u=(a=c?.exports)==null?void 0:a.get(\"prototype\"),_=u?.valueDeclaration&&yst(u.valueDeclaration);return _?dr(_):void 0}function YQ(n,a){if(!n.parent)return;let c,u;if(yi(n.parent)&&n.parent.initializer===n){if(!Jn(n)&&!(U5(n.parent)&&hs(n)))return;c=n.parent.name,u=n.parent}else if(Zn(n.parent)){let _=n.parent,g=n.parent.operatorToken.kind;if(g===64&&(a||_.right===n))c=_.left,u=c;else if((g===57||g===61)&&(yi(_.parent)&&_.parent.initializer===_?(c=_.parent.name,u=_.parent):Zn(_.parent)&&_.parent.operatorToken.kind===64&&(a||_.parent.right===_)&&(c=_.parent.left,u=c),!c||!NS(c)||!ax(c,_.left)))return}else a&&Ql(n)&&(c=n.name,u=n);if(!(!u||!c||!a&&!Ib(n,ry(c))))return Fp(u)}function yst(n){if(!n.parent)return!1;let a=n.parent;for(;a&&a.kind===211;)a=a.parent;if(a&&Zn(a)&&ry(a.left)&&a.operatorToken.kind===64){let c=O9(a);return ma(c)&&c}}function bst(n,a){var c,u,_;j5(n,n.typeArguments);let g=xD(n,void 0,a);if(g===sr)return Zi;if($Q(g,n),n.expression.kind===108)return jn;if(n.kind===214){let N=g.declaration;if(N&&N.kind!==176&&N.kind!==180&&N.kind!==185&&!(wb(N)&&((u=(c=ux(N))==null?void 0:c.parent)==null?void 0:u.kind)===176)&&!dx(N)&&!T_(N))return ce&&we(n,f.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type),z}if(Jn(n)&&lwe(n))return PLe(n.arguments[0]);let T=Ha(g);if(T.flags&12288&&owe(n))return I_e(Zg(n.parent));if(n.kind===213&&!n.questionDotToken&&n.parent.kind===244&&T.flags&16384&&df(g)){if(!MC(n.expression))we(n.expression,f.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name);else if(!a5(n)){let N=we(n.expression,f.Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation);o5(n.expression,N)}}if(Jn(n)){let N=YQ(n,!1);if((_=N?.exports)!=null&&_.size){let O=cs(N,N.exports,je,je,je);return O.objectFlags|=4096,Zo([T,O])}}return T}function $Q(n,a){if(!(n.flags&128)&&n.declaration&&n.declaration.flags&536870912){let c=T5(a),u=HL(vW(a));SP(c,n.declaration,u,th(n))}}function T5(n){switch(n=Ka(n),n.kind){case 213:case 170:case 214:return T5(n.expression);case 215:return T5(n.tag);case 286:case 285:return T5(n.tagName);case 212:return n.argumentExpression;case 211:return n.name;case 183:let a=n;return $d(a.typeName)?a.typeName.right:a;default:return n}}function owe(n){if(!Bo(n))return!1;let a=n.expression;if(Er(a)&&a.name.escapedText===\"for\"&&(a=a.expression),!Me(a)||a.escapedText!==\"Symbol\")return!1;let c=YLe(!1);return c?c===Xs(a,\"Symbol\",111551,void 0,void 0,!1):!1}function Est(n){if(wpt(n),n.arguments.length===0)return D5(n,z);let a=n.arguments[0],c=Ml(a),u=n.arguments.length>1?Ml(n.arguments[1]):void 0;for(let g=2;g<n.arguments.length;++g)Ml(n.arguments[g]);if((c.flags&32768||c.flags&65536||!ea(c,Ie))&&we(a,f.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0,Pn(c)),u){let g=XLe(!0);g!==ua&&Cd(u,e5(g,32768),n.arguments[1])}let _=jd(n,a);if(_){let g=Pu(_,a,!0,!1);if(g)return D5(n,awe(Yn(g),g,_,a)||swe(Yn(g),g,_,a))}return D5(n,z)}function ege(n,a,c){let u=Vo(),_=Ra(2097152,\"default\");return _.parent=a,_.links.nameType=yu(\"default\"),_.links.aliasTarget=yl(n),u.set(\"default\",_),cs(c,u,je,je,je)}function awe(n,a,c,u){if(Iv(u)&&n&&!Lt(n)){let g=n;if(!g.defaultOnlyType){let T=ege(a,c);g.defaultOnlyType=T}return g.defaultOnlyType}}function swe(n,a,c,u){var _;if(q&&n&&!Lt(n)){let g=n;if(!g.syntheticType){let T=(_=c.declarations)==null?void 0:_.find(Li);if(m_(T,c,!1,u)){let O=Ra(2048,\"__type\"),B=ege(a,c,O);O.links.type=B,g.syntheticType=p5(n)?Y0(n,B,O,0,!1):B}else g.syntheticType=n}return g.syntheticType}return n}function lwe(n){if(!Xd(n,!0))return!1;if(!Me(n.expression))return x.fail();let a=Xs(n.expression,n.expression.escapedText,111551,void 0,void 0,!0);if(a===st)return!0;if(a.flags&2097152)return!1;let c=a.flags&16?262:a.flags&3?260:0;if(c!==0){let u=Vs(a,c);return!!u&&!!(u.flags&33554432)}return!1}function Sst(n){lpt(n)||j5(n,n.typeArguments),oe<2&&rc(n,262144);let a=xD(n);return $Q(a,n),Ha(a)}function Tst(n,a){if(n.kind===216){let c=Nn(n);c&&$l(c.fileName,[\".cts\",\".mts\"])&&sn(n,f.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead)}return cwe(n,a)}function tge(n){switch(n.kind){case 11:case 15:case 9:case 10:case 112:case 97:case 209:case 210:case 228:return!0;case 217:return tge(n.expression);case 224:let a=n.operator,c=n.operand;return a===41&&(c.kind===9||c.kind===10)||a===40&&c.kind===9;case 211:case 212:let u=Ka(n.expression),_=gl(u)?Es(u,111551,!0):void 0;return!!(_&&_.flags&384)}return!1}function cwe(n,a){let{type:c,expression:u}=dwe(n),_=Xi(u,a);if(Qh(c))return tge(u)||we(u,f.A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals),qd(_);let g=Fr(n);return g.assertionExpressionType=_,sa(c),E1(n),si(c)}function dwe(n){let a,c;switch(n.kind){case 234:case 216:a=n.type,c=n.expression;break;case 217:a=D6(n),c=n.expression;break}return{type:a,expression:c}}function Ast(n){let{type:a}=dwe(n),c=uu(n)?a:n,u=Fr(n);x.assertIsDefined(u.assertionExpressionType);let _=Ew(wg(u.assertionExpressionType)),g=si(a);Lt(g)||r(()=>{let T=gp(_);rQ(g,T)||J2e(_,g,c,f.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first)})}function Ist(n){let a=Xi(n.expression),c=yw(a,n.expression);return _Q(Wg(c),n,c!==a)}function xst(n){return n.flags&64?Ist(n):Wg(Xi(n.expression))}function uwe(n){if(oWe(n),an(n.typeArguments,sa),n.kind===233){let c=Zg(n.parent);c.kind===226&&c.operatorToken.kind===104&&HE(n,c.right)&&we(n,f.The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression)}let a=n.kind===233?Xi(n.expression):YE(n.exprName)?c5(n.exprName):Xi(n.exprName);return pwe(a,n)}function pwe(n,a){let c=a.typeArguments;if(n===Zi||Lt(n)||!ct(c))return n;let u=!1,_,g=N(n),T=u?_:n;return T&&La.add(Q1(Nn(a),c,f.Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable,Pn(T))),g;function N(B){let Q=!1,me=!1,ue=We(B);return u||(u=me),Q&&!me&&(_??(_=B)),ue;function We(at){if(at.flags&524288){let ht=Om(at),qt=O(ht.callSignatures),Xt=O(ht.constructSignatures);if(Q||(Q=ht.callSignatures.length!==0||ht.constructSignatures.length!==0),me||(me=qt.length!==0||Xt.length!==0),qt!==ht.callSignatures||Xt!==ht.constructSignatures){let Hn=cs(Ra(0,\"__instantiationExpression\"),ht.members,qt,Xt,ht.indexInfos);return Hn.objectFlags|=8388608,Hn.node=a,Hn}}else if(at.flags&58982400){let ht=md(at);if(ht){let qt=We(ht);if(qt!==ht)return qt}}else{if(at.flags&1048576)return Gs(at,N);if(at.flags&2097152)return Zo(sc(at.types,We))}return at}}function O(B){let Q=Cr(B,me=>!!me.typeParameters&&Jhe(me,c));return sc(Q,me=>{let ue=Yhe(me,c,!0);return ue?aw(me,ue,Jn(me.declaration)):me})}}function Rst(n){return sa(n.type),nge(n.expression,n.type)}function nge(n,a,c){let u=Xi(n,c),_=si(a);if(Lt(_))return _;let g=Rn(a.parent,T=>T.kind===238||T.kind===357);return nb(u,_,g,n,f.Type_0_does_not_satisfy_the_expected_type_1),u}function Dst(n){return Apt(n),n.keywordToken===105?rge(n):n.keywordToken===102?Cst(n):x.assertNever(n.keywordToken)}function fwe(n){switch(n.keywordToken){case 102:return KLe();case 105:let a=rge(n);return Lt(a)?it:qst(a);default:x.assertNever(n.keywordToken)}}function rge(n){let a=Hte(n);if(a)if(a.kind===176){let c=dr(a.parent);return Yn(c)}else{let c=dr(a);return Yn(c)}else return we(n,f.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor,\"new.target\"),it}function Cst(n){W===100||W===199?Nn(n).impliedNodeFormat!==99&&we(n,f.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output):W<6&&W!==4&&we(n,f.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext);let a=Nn(n);return x.assert(!!(a.flags&8388608),\"Containing file is missing import meta node flag.\"),n.name.escapedText===\"meta\"?JLe():it}function A5(n){let a=n.valueDeclaration;return Mu(Yn(n),!1,!!a&&($v(a)||$C(a)))}function ige(n,a,c=\"arg\"){return n?(x.assert(Me(n.name)),n.name.escapedText):`${c}_${a}`}function YP(n,a,c){let u=n.parameters.length-(Td(n)?1:0);if(a<u)return n.parameters[a].escapedName;let _=n.parameters[u]||tt,g=c||Yn(_);if(ga(g)){let T=g.target.labeledElementDeclarations,N=a-u;return ige(T?.[N],N,_.escapedName)}return _.escapedName}function Nst(n,a){var c;if(((c=n.declaration)==null?void 0:c.kind)===324)return;let u=n.parameters.length-(Td(n)?1:0);if(a<u){let N=n.parameters[a],O=mwe(N);return O?{parameter:O,parameterName:N.escapedName,isRestParameter:!1}:void 0}let _=n.parameters[u]||tt,g=mwe(_);if(!g)return;let T=Yn(_);if(ga(T)){let N=T.target.labeledElementDeclarations,O=a-u,B=N?.[O],Q=!!B?.dotDotDotToken;return B?(x.assert(Me(B.name)),{parameter:B.name,parameterName:B.name.escapedText,isRestParameter:Q}):void 0}if(a===u)return{parameter:g,parameterName:_.escapedName,isRestParameter:!0}}function mwe(n){return n.valueDeclaration&&ao(n.valueDeclaration)&&Me(n.valueDeclaration.name)&&n.valueDeclaration.name}function _we(n){return n.kind===202||ao(n)&&n.name&&Me(n.name)}function Pst(n,a){let c=n.parameters.length-(Td(n)?1:0);if(a<c){let g=n.parameters[a].valueDeclaration;return g&&_we(g)?g:void 0}let u=n.parameters[c]||tt,_=Yn(u);if(ga(_)){let g=_.target.labeledElementDeclarations,T=a-c;return g&&g[T]}return u.valueDeclaration&&_we(u.valueDeclaration)?u.valueDeclaration:void 0}function zm(n,a){return iS(n,a)||z}function iS(n,a){let c=n.parameters.length-(Td(n)?1:0);if(a<c)return A5(n.parameters[a]);if(Td(n)){let u=Yn(n.parameters[c]),_=a-c;if(!ga(u)||u.target.hasRestElement||_<u.target.fixedLength)return tp(u,Wm(_))}}function I5(n,a,c){let u=vp(n),_=A_(n),g=Cw(n);if(g&&a>=u-1)return a===u-1?g:_d(tp(g,gt));let T=[],N=[],O=[];for(let B=a;B<u;B++)!g||B<u-1?(T.push(zm(n,B)),N.push(B<_?1:2)):(T.push(g),N.push(8)),O.push(Pst(n,B));return lh(T,N,c,O)}function hwe(n,a){let c=I5(n,a),u=c&&Z7(c);return u&&vt(u)?z:c}function vp(n){let a=n.parameters.length;if(Td(n)){let c=Yn(n.parameters[a-1]);if(ga(c))return a+c.target.fixedLength-(c.target.hasRestElement?0:1)}return a}function A_(n,a){let c=a&1,u=a&2;if(u||n.resolvedMinArgumentCount===void 0){let _;if(Td(n)){let g=Yn(n.parameters[n.parameters.length-1]);if(ga(g)){let T=Tl(g.target.elementFlags,O=>!(O&1)),N=T<0?g.target.fixedLength:T;N>0&&(_=n.parameters.length-1+N)}}if(_===void 0){if(!c&&n.flags&32)return 0;_=n.minArgumentCount}if(u)return _;for(let g=_-1;g>=0;g--){let T=zm(n,g);if(Bl(T,jOe).flags&131072)break;_=g}n.resolvedMinArgumentCount=_}return n.resolvedMinArgumentCount}function dh(n){if(Td(n)){let a=Yn(n.parameters[n.parameters.length-1]);return!ga(a)||a.target.hasRestElement}return!1}function Cw(n){if(Td(n)){let a=Yn(n.parameters[n.parameters.length-1]);if(!ga(a))return vt(a)?Nl:a;if(a.target.hasRestElement)return FP(a,a.target.fixedLength)}}function Nw(n){let a=Cw(n);return a&&!ff(a)&&!vt(a)?a:void 0}function oge(n){return age(n,Ar)}function age(n,a){return n.parameters.length>0?zm(n,0):a}function gwe(n,a,c){let u=n.parameters.length-(Td(n)?1:0);for(let _=0;_<u;_++){let g=n.parameters[_].valueDeclaration,T=Jc(g);if(T){let N=Mu(si(T),!1,$C(g)),O=zm(a,_);Fg(c.inferences,N,O)}}}function Mst(n,a){if(a.typeParameters)if(!n.typeParameters)n.typeParameters=a.typeParameters;else return;if(a.thisParameter){let u=n.thisParameter;(!u||u.valueDeclaration&&!u.valueDeclaration.type)&&(u||(n.thisParameter=nA(a.thisParameter,void 0)),x5(n.thisParameter,Yn(a.thisParameter)))}let c=n.parameters.length-(Td(n)?1:0);for(let u=0;u<c;u++){let _=n.parameters[u],g=_.valueDeclaration;if(!Jc(g)){let T=iS(a,u);if(T&&g.initializer){let N=$P(g,0);!ea(N,T)&&ea(T,N=tZ(g,N))&&(T=N)}x5(_,T)}}if(Td(n)){let u=Da(n.parameters);if(u.valueDeclaration?!Jc(u.valueDeclaration):tl(u)&65536){let _=I5(a,c);x5(u,_)}}}function Lst(n){n.thisParameter&&x5(n.thisParameter);for(let a of n.parameters)x5(a)}function x5(n,a){let c=Pi(n);if(c.type)a&&x.assertEqual(c.type,a,\"Parameter symbol already has a cached type which differs from newly assigned type\");else{let u=n.valueDeclaration;c.type=Mu(a||(u?w(u,!0):Yn(n)),!1,!!u&&!u.initializer&&$C(u)),u&&u.name.kind!==80&&(c.type===Zt&&(c.type=D(u.name)),vwe(u.name,c.type))}}function vwe(n,a){for(let c of n.elements)if(!vc(c)){let u=Vh(c,a,!1);c.name.kind===80?Pi(dr(c)).type=u:vwe(c.name,u)}}function kst(n){return _D(Xtt(!0),[n])}function Ost(n,a){return _D(Ytt(!0),[n,a])}function wst(n,a){return _D($tt(!0),[n,a])}function Wst(n,a){return _D(Qtt(!0),[n,a])}function Fst(n,a){return _D(Ztt(!0),[n,a])}function zst(n,a){return _D(nnt(!0),[n,a])}function Bst(n,a,c){let u=`${a?\"p\":\"P\"}${c?\"s\":\"S\"}${n.id}`,_=Ea.get(u);if(!_){let g=Vo();g.set(\"name\",ST(\"name\",n)),g.set(\"private\",ST(\"private\",a?An:Ot)),g.set(\"static\",ST(\"static\",c?An:Ot)),_=cs(void 0,g,je,je,je),Ea.set(u,_)}return _}function ywe(n,a,c){let u=jl(n),_=Ci(n.name),g=_?yu(ar(n.name)):Pv(n.name),T=El(n)?Ost(a,c):Ip(n)?wst(a,c):Vu(n)?Wst(a,c):su(n)?Fst(a,c):xo(n)?zst(a,c):x.failBadSyntaxKind(n),N=Bst(g,_,u);return Zo([T,N])}function Gst(n,a){return _D(ent(!0),[n,a])}function Vst(n,a){return _D(tnt(!0),[n,a])}function jst(n,a){let c=Dm(\"this\",n),u=Dm(\"value\",a);return Ege(void 0,c,[u],a,void 0,1)}function sge(n,a,c){let u=Dm(\"target\",n),_=Dm(\"context\",a),g=Br([c,jn]);return ww(void 0,void 0,[u,_],g)}function Ust(n){let{parent:a}=n,c=Fr(a);if(!c.decoratorSignature)switch(c.decoratorSignature=dt,a.kind){case 263:case 231:{let _=Yn(dr(a)),g=kst(_);c.decoratorSignature=sge(_,g,_);break}case 174:case 177:case 178:{let u=a;if(!Kr(u.parent))break;let _=El(u)?XT(kf(u)):S1(u),g=jl(u)?Yn(dr(u.parent)):cf(dr(u.parent)),T=Ip(u)?Qwe(_):Vu(u)?Zwe(_):_,N=ywe(u,g,_),O=Ip(u)?Qwe(_):Vu(u)?Zwe(_):_;c.decoratorSignature=sge(T,N,O);break}case 172:{let u=a;if(!Kr(u.parent))break;let _=S1(u),g=jl(u)?Yn(dr(u.parent)):cf(dr(u.parent)),T=$m(u)?Gst(g,_):Re,N=ywe(u,g,_),O=$m(u)?Vst(g,_):jst(g,_);c.decoratorSignature=sge(T,N,O);break}}return c.decoratorSignature===dt?void 0:c.decoratorSignature}function Hst(n){let{parent:a}=n,c=Fr(a);if(!c.decoratorSignature)switch(c.decoratorSignature=dt,a.kind){case 263:case 231:{let _=Yn(dr(a)),g=Dm(\"target\",_);c.decoratorSignature=ww(void 0,void 0,[g],Br([_,jn]));break}case 169:{let u=a;if(!ll(u.parent)&&!(El(u.parent)||Vu(u.parent)&&Kr(u.parent.parent))||KE(u.parent)===u)break;let _=KE(u.parent)?u.parent.parameters.indexOf(u)-1:u.parent.parameters.indexOf(u);x.assert(_>=0);let g=ll(u.parent)?Yn(dr(u.parent.parent)):K8e(u.parent),T=ll(u.parent)?Re:X8e(u.parent),N=Wm(_),O=Dm(\"target\",g),B=Dm(\"propertyKey\",T),Q=Dm(\"parameterIndex\",N);c.decoratorSignature=ww(void 0,void 0,[O,B,Q],jn);break}case 174:case 177:case 178:case 172:{let u=a;if(!Kr(u.parent))break;let _=K8e(u),g=Dm(\"target\",_),T=X8e(u),N=Dm(\"propertyKey\",T),O=xo(u)?jn:t2e(S1(u));if(oe!==0&&(!xo(a)||$m(a))){let Q=t2e(S1(u)),me=Dm(\"descriptor\",Q);c.decoratorSignature=ww(void 0,void 0,[g,N,me],Br([O,jn]))}else c.decoratorSignature=ww(void 0,void 0,[g,N],Br([O,jn]));break}}return c.decoratorSignature===dt?void 0:c.decoratorSignature}function lge(n){return $?Hst(n):Ust(n)}function R5(n){let a=W7(!0);return a!==ho?(n=kv(tM(n))||Zt,Cv(a,[n])):Zt}function bwe(n){let a=QLe(!0);return a!==ho?(n=kv(tM(n))||Zt,Cv(a,[n])):Zt}function D5(n,a){let c=R5(a);return c===Zt?(we(n,lp(n)?f.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:f.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option),it):(o_e(!0)||we(n,lp(n)?f.A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:f.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option),c)}function qst(n){let a=Ra(0,\"NewTargetExpression\"),c=Ra(4,\"target\",8);c.parent=a,c.links.type=n;let u=Vo([c]);return a.members=u,cs(a,u,je,je,je)}function QQ(n,a){if(!n.body)return it;let c=gc(n),u=(c&2)!==0,_=(c&1)!==0,g,T,N,O=jn;if(n.body.kind!==241)g=Ml(n.body,a&&a&-9),u&&(g=tM(Ow(g,!1,n,f.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)));else if(_){let B=xwe(n,a);B?B.length>0&&(g=Br(B,2)):O=Ar;let{yieldTypes:Q,nextTypes:me}=Jst(n,a);T=ct(Q)?Br(Q,2):void 0,N=ct(me)?Zo(me):void 0}else{let B=xwe(n,a);if(!B)return c&2?D5(n,Ar):Ar;if(B.length===0){let Q=LQ(n,void 0),me=Q&&(z5(Q,c)||jn).flags&32768?Re:jn;return c&2?D5(n,me):me}g=Br(B,2)}if(g||T||N){if(T&&yQ(n,T,3),g&&yQ(n,g,1),N&&yQ(n,N,2),g&&Fm(g)||T&&Fm(T)||N&&Fm(N)){let B=Dhe(n),Q=B?B===kf(n)?_?void 0:g:OQ(Ha(B),n,void 0):void 0;_?(T=H_e(T,Q,0,u),g=H_e(g,Q,1,u),N=H_e(N,Q,2,u)):g=Krt(g,Q,u)}T&&(T=gp(T)),g&&(g=gp(g)),N&&(N=gp(N))}return _?Ewe(T||Ar,g||O,N||aOe(2,n)||Zt,u):u?R5(g||O):g||O}function Ewe(n,a,c,u){let _=u?bs:Jl,g=_.getGlobalGeneratorType(!1);if(n=_.resolveIterationType(n,void 0)||Zt,a=_.resolveIterationType(a,void 0)||Zt,c=_.resolveIterationType(c,void 0)||Zt,g===ho){let T=_.getGlobalIterableIteratorType(!1),N=T!==ho?f8e(T,_):void 0,O=N?N.returnType:z,B=N?N.nextType:Re;return ea(a,O)&&ea(B,c)?T!==ho?lw(T,[n]):(_.getGlobalIterableIteratorType(!0),ua):(_.getGlobalGeneratorType(!0),ua)}return lw(g,[n,a,c])}function Jst(n,a){let c=[],u=[],_=(gc(n)&2)!==0;return kte(n.body,g=>{let T=g.expression?Xi(g.expression,a):St;jp(c,Swe(g,T,z,_));let N;if(g.asteriskToken){let O=uZ(T,_?19:17,g.expression);N=O&&O.nextType}else N=bu(g,void 0);N&&jp(u,N)}),{yieldTypes:c,nextTypes:u}}function Swe(n,a,c,u){let _=n.expression||n,g=n.asteriskToken?Ov(u?19:17,a,c,_):a;return u?pA(g,_,n.asteriskToken?f.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:f.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):g}function Twe(n,a,c){let u=0;for(let _=0;_<c.length;_++){let g=_<n||_>=a?c[_]:void 0;u|=g!==void 0?GU.get(g)||32768:0}return u}function Awe(n){let a=Fr(n);if(a.isExhaustive===void 0){a.isExhaustive=0;let c=Kst(n);a.isExhaustive===0&&(a.isExhaustive=c)}else a.isExhaustive===0&&(a.isExhaustive=!1);return a.isExhaustive}function Kst(n){if(n.expression.kind===221){let u=Fke(n);if(!u)return!1;let _=Pg(Ml(n.expression.expression)),g=Twe(0,0,u);return _.flags&3?(556800&g)===556800:!dm(_,T=>HP(T,g)===g)}let a=Ml(n.expression);if(!vw(a))return!1;let c=IQ(n);return!c.length||ct(c,Hrt)?!1:Vit(Gs(a,qd),c)}function Iwe(n){return n.endFlowNode&&s5(n.endFlowNode)}function xwe(n,a){let c=gc(n),u=[],_=Iwe(n),g=!1;if(GE(n.body,T=>{let N=T.expression;if(N){if(N=Ka(N,!0),c&2&&N.kind===223&&(N=Ka(N.expression,!0)),N.kind===213&&N.expression.kind===80&&Ml(N.expression).symbol===n.symbol){g=!0;return}let O=Ml(N,a&&a&-9);c&2&&(O=tM(Ow(O,!1,n,f.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member))),O.flags&131072&&(g=!0),jp(u,O)}else _=!0}),!(u.length===0&&!_&&(g||Xst(n))))return H&&u.length&&_&&!(T_(n)&&u.some(T=>T.symbol===n.symbol))&&jp(u,Re),u}function Xst(n){switch(n.kind){case 218:case 219:return!0;case 174:return n.parent.kind===210;default:return!1}}function cge(n,a){r(c);return;function c(){let u=gc(n),_=a&&z5(a,u);if(_&&(ol(_,16384)||_.flags&32769)||n.kind===173||_l(n.body)||n.body.kind!==241||!Iwe(n))return;let g=n.flags&1024,T=Tf(n)||n;if(_&&_.flags&131072)we(T,f.A_function_returning_never_cannot_have_a_reachable_end_point);else if(_&&!g)we(T,f.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value);else if(_&&H&&!ea(Re,_))we(T,f.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined);else if(F.noImplicitReturns){if(!_){if(!g)return;let N=Ha(kf(n));if(E8e(n,N))return}we(T,f.Not_all_code_paths_return_a_value)}}}function Rwe(n,a){if(x.assert(n.kind!==174||qf(n)),E1(n),ps(n)&&nM(n,n.name),a&&a&4&&uf(n)){if(!Tf(n)&&!gF(n)){let u=Rw(n);if(u&&xE(Ha(u))){let _=Fr(n);if(_.contextFreeType)return _.contextFreeType;let g=QQ(n,a),T=jh(void 0,void 0,void 0,je,g,void 0,0,64),N=cs(n.symbol,U,[T],je,je);return N.objectFlags|=262144,_.contextFreeType=N}}return Ut}return!SZ(n)&&n.kind===218&&Hge(n),Yst(n,a),Yn(dr(n))}function Yst(n,a){let c=Fr(n);if(!(c.flags&64)){let u=Rw(n);if(!(c.flags&64)){c.flags|=64;let _=Ac(Co(Yn(dr(n)),0));if(!_)return;if(uf(n))if(u){let g=nS(n),T;if(a&&a&2){gwe(_,u,g);let N=Cw(u);N&&N.flags&262144&&(T=ED(u,g.nonFixingMapper))}T||(T=g?ED(u,g.mapper):u),Mst(_,T)}else Lst(_);else if(u&&!n.typeParameters&&u.parameters.length>n.parameters.length){let g=nS(n);a&&a&2&&gwe(_,u,g)}if(u&&!mD(n)&&!_.resolvedReturnType){let g=QQ(n,a);_.resolvedReturnType||(_.resolvedReturnType=g)}Mw(n)}}}function $st(n){x.assert(n.kind!==174||qf(n));let a=gc(n),c=mD(n);if(cge(n,c),n.body)if(Tf(n)||Ha(kf(n)),n.body.kind===241)sa(n.body);else{let u=Xi(n.body),_=c&&z5(c,a);if(_){let g=JQ(n.body);if((a&3)===2){let T=Ow(u,!1,g,f.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);nb(T,_,g,g)}else nb(u,_,g,g)}}}function ZQ(n,a,c,u=!1){if(!ea(a,Dl)){let _=u&&eM(a);return nE(n,!!_&&ea(_,Dl),c),!1}return!0}function Qst(n){if(!Bo(n)||!CS(n))return!1;let a=Ml(n.arguments[2]);if(Fe(a,\"value\")){let _=Qo(a,\"writable\"),g=_&&Yn(_);if(!g||g===Ot||g===dn)return!0;if(_&&_.valueDeclaration&&Hl(_.valueDeclaration)){let T=_.valueDeclaration.initializer,N=Xi(T);if(N===Ot||N===dn)return!0}return!1}return!Qo(a,\"set\")}function Bm(n){return!!(tl(n)&8||n.flags&4&&Kp(n)&8||n.flags&3&&Ohe(n)&6||n.flags&98304&&!(n.flags&65536)||n.flags&8||ct(n.declarations,Qst))}function Dwe(n,a,c){var u,_;if(c===0)return!1;if(Bm(a)){if(a.flags&4&&us(n)&&n.expression.kind===110){let g=cp(n);if(!(g&&(g.kind===176||T_(g))))return!0;if(a.valueDeclaration){let T=Zn(a.valueDeclaration),N=g.parent===a.valueDeclaration.parent,O=g===a.valueDeclaration.parent,B=T&&((u=a.parent)==null?void 0:u.valueDeclaration)===g.parent,Q=T&&((_=a.parent)==null?void 0:_.valueDeclaration)===g;return!(N||O||B||Q)}}return!0}if(us(n)){let g=Ka(n.expression);if(g.kind===80){let T=Fr(g).resolvedSymbol;if(T.flags&2097152){let N=im(T);return!!N&&N.kind===274}}}return!1}function Pw(n,a,c){let u=Rl(n,7);return u.kind!==80&&!us(u)?(we(n,a),!1):u.flags&64?(we(n,c),!1):!0}function Zst(n){Xi(n.expression);let a=Ka(n.expression);if(!us(a))return we(a,f.The_operand_of_a_delete_operator_must_be_a_property_reference),ti;Er(a)&&Ci(a.name)&&we(a,f.The_operand_of_a_delete_operator_cannot_be_a_private_identifier);let c=Fr(a),u=zp(c.resolvedSymbol);return u&&(Bm(u)?we(a,f.The_operand_of_a_delete_operator_cannot_be_a_read_only_property):elt(a,u)),ti}function elt(n,a){let c=Yn(a);H&&!(c.flags&131075)&&!(be?a.flags&16777216:wf(c,16777216))&&we(n,f.The_operand_of_a_delete_operator_must_be_optional)}function tlt(n){return Xi(n.expression),HR}function nlt(n){return E1(n),St}function Cwe(n){let a=!1,c=mW(n);if(c&&nl(c)){let u=py(n)?f.await_expression_cannot_be_used_inside_a_class_static_block:f.await_using_statements_cannot_be_used_inside_a_class_static_block;we(n,u),a=!0}else if(!(n.flags&65536))if(hW(n)){let u=Nn(n);if(!aS(u)){let _;if(!MA(u,F)){_??(_=W_(u,n.pos));let g=py(n)?f.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:f.await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module,T=Rc(u,_.start,_.length,g);La.add(T),a=!0}switch(W){case 100:case 199:if(u.impliedNodeFormat===1){_??(_=W_(u,n.pos)),La.add(Rc(u,_.start,_.length,f.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)),a=!0;break}case 7:case 99:case 200:case 4:if(oe>=4)break;default:_??(_=W_(u,n.pos));let g=py(n)?f.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:f.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher;La.add(Rc(u,_.start,_.length,g)),a=!0;break}}}else{let u=Nn(n);if(!aS(u)){let _=W_(u,n.pos),g=py(n)?f.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:f.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules,T=Rc(u,_.start,_.length,g);if(c&&c.kind!==176&&!(gc(c)&2)){let N=vr(c,f.Did_you_mean_to_mark_this_function_as_async);fa(T,N)}La.add(T),a=!0}}return py(n)&&The(n)&&(we(n,f.await_expressions_cannot_be_used_in_a_parameter_initializer),a=!0),a}function rlt(n){r(()=>Cwe(n));let a=Xi(n.expression),c=Ow(a,!0,n,f.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);return c===a&&!Lt(c)&&!(a.flags&3)&&Rm(!1,vr(n,f.await_has_no_effect_on_the_type_of_this_expression)),c}function ilt(n){let a=Xi(n.operand);if(a===Zi)return Zi;switch(n.operand.kind){case 9:switch(n.operator){case 41:return v1(Wm(-n.operand.text));case 40:return v1(Wm(+n.operand.text))}break;case 10:if(n.operator===41)return v1($$({negative:!0,base10Value:HC(n.operand.text)}))}switch(n.operator){case 40:case 41:case 55:return E_(a,n.operand),C5(a,12288)&&we(n.operand,f.The_0_operator_cannot_be_applied_to_type_symbol,qo(n.operator)),n.operator===40?(C5(a,2112)&&we(n.operand,f.Operator_0_cannot_be_applied_to_type_1,qo(n.operator),Pn(wg(a))),gt):dge(a);case 54:xge(a,n.operand);let c=HP(a,12582912);return c===4194304?Ot:c===8388608?An:ti;case 46:case 47:return ZQ(n.operand,E_(a,n.operand),f.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&Pw(n.operand,f.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,f.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),dge(a)}return it}function olt(n){let a=Xi(n.operand);return a===Zi?Zi:(ZQ(n.operand,E_(a,n.operand),f.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&Pw(n.operand,f.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,f.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),dge(a))}function dge(n){return ol(n,2112)?ed(n,3)||ol(n,296)?Dl:bt:gt}function C5(n,a){if(ol(n,a))return!0;let c=Pg(n);return!!c&&ol(c,a)}function ol(n,a){if(n.flags&a)return!0;if(n.flags&3145728){let c=n.types;for(let u of c)if(ol(u,a))return!0}return!1}function ed(n,a,c){return n.flags&a?!0:c&&n.flags&114691?!1:!!(a&296)&&ea(n,gt)||!!(a&2112)&&ea(n,bt)||!!(a&402653316)&&ea(n,Ie)||!!(a&528)&&ea(n,ti)||!!(a&16384)&&ea(n,jn)||!!(a&131072)&&ea(n,Ar)||!!(a&65536)&&ea(n,se)||!!(a&32768)&&ea(n,Re)||!!(a&4096)&&ea(n,di)||!!(a&67108864)&&ea(n,Mr)}function N5(n,a,c){return n.flags&1048576?ji(n.types,u=>N5(u,a,c)):ed(n,a,c)}function eZ(n){return!!(br(n)&16)&&!!n.symbol&&uge(n.symbol)}function uge(n){return(n.flags&128)!==0}function pge(n){let a=_8e(\"hasInstance\"),c=vE(n,a);if(c){let u=Yn(c);if(u&&Co(u,0).length!==0)return u}}function alt(n,a,c,u,_){if(c===Zi||u===Zi)return Zi;!vt(c)&&N5(c,402784252)&&we(n,f.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),x.assert(qW(n.parent));let g=xD(n.parent,void 0,_);if(g===sr)return Zi;let T=Ha(g);return Cd(T,ti,a,f.An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_hand_side_of_an_instanceof_expression),ti}function slt(n){return dm(n,a=>a===il||!!(a.flags&2097152)&&ch(Pg(a)))}function llt(n,a,c,u){if(c===Zi||u===Zi)return Zi;if(Ci(n)){if(oe<99&&rc(n,2097152),!Fr(n).resolvedSymbol&&Oc(n)){let _=Ghe(n,u.symbol,!0);OOe(n,u,_)}}else Cd(E_(c,n),_n,n);return Cd(E_(u,a),Mr,a)&&slt(u)&&we(a,f.Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator,Pn(u)),ti}function clt(n,a,c){let u=n.properties;if(H&&u.length===0)return E_(a,n);for(let _=0;_<u.length;_++)Nwe(n,a,_,u,c);return a}function Nwe(n,a,c,u,_=!1){let g=n.properties,T=g[c];if(T.kind===303||T.kind===304){let N=T.name,O=Pv(N);if(Af(O)){let me=If(O),ue=Qo(a,me);ue&&(v5(ue,T,_),Whe(T,!1,!0,a,ue))}let B=tp(a,O,32,N),Q=Mi(T,B);return uA(T.kind===304?T:T.initializer,Q)}else if(T.kind===305)if(c<g.length-1)we(T,f.A_rest_element_must_be_last_in_a_destructuring_pattern);else{oe<99&&rc(T,4);let N=[];if(u)for(let B of u)lv(B)||N.push(B.name);let O=bi(a,N,a.symbol);return T1(u,f.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),uA(T.expression,O)}else we(T,f.Property_assignment_expected)}function dlt(n,a,c){let u=n.elements;oe<2&&F.downlevelIteration&&rc(n,512);let _=Ov(193,a,Re,n)||it,g=F.noUncheckedIndexedAccess?void 0:_;for(let T=0;T<u.length;T++){let N=_;n.elements[T].kind===230&&(N=g=g??(Ov(65,a,Re,n)||it)),Pwe(n,a,T,N,c)}return a}function Pwe(n,a,c,u,_){let g=n.elements,T=g[c];if(T.kind!==232){if(T.kind!==230){let N=Wm(c);if(Lv(a)){let O=32|(XP(T)?16:0),B=Qy(a,N,O,b5(T,N))||it,Q=XP(T)?Wf(B,524288):B,me=Mi(T,Q);return uA(T,me,_)}return uA(T,u,_)}if(c<g.length-1)we(T,f.A_rest_element_must_be_last_in_a_destructuring_pattern);else{let N=T.expression;if(N.kind===226&&N.operatorToken.kind===64)we(N.operatorToken,f.A_rest_element_cannot_have_an_initializer);else{T1(n.elements,f.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma);let O=Lu(a,ga)?Gs(a,B=>FP(B,c)):_d(u);return uA(N,O,_)}}}}function uA(n,a,c,u){let _;if(n.kind===304){let g=n;g.objectAssignmentInitializer&&(H&&!wf(Xi(g.objectAssignmentInitializer),16777216)&&(a=Wf(a,524288)),mlt(g.name,g.equalsToken,g.objectAssignmentInitializer,c)),_=n.name}else _=n;return _.kind===226&&_.operatorToken.kind===64&&(Te(_,c),_=_.left,H&&(a=Wf(a,524288))),_.kind===210?clt(_,a,u):_.kind===209?dlt(_,a,c):ult(_,a,c)}function ult(n,a,c){let u=Xi(n,c),_=n.parent.kind===305?f.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:f.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access,g=n.parent.kind===305?f.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:f.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access;return Pw(n,_,g)&&nb(a,u,n,n),j1(n)&&rc(n.parent,1048576),a}function P5(n){switch(n=Ka(n),n.kind){case 80:case 11:case 14:case 215:case 228:case 15:case 9:case 10:case 112:case 97:case 106:case 157:case 218:case 231:case 219:case 209:case 210:case 221:case 235:case 285:case 284:return!0;case 227:return P5(n.whenTrue)&&P5(n.whenFalse);case 226:return tv(n.operatorToken.kind)?!1:P5(n.left)&&P5(n.right);case 224:case 225:switch(n.operator){case 54:case 40:case 41:case 55:return!0}return!1;case 222:case 216:case 234:default:return!1}}function fge(n,a){return(a.flags&98304)!==0||rQ(n,a)}function plt(){let n=M6(a,c,u,_,g,T);return(ue,We)=>{let at=n(ue,We);return x.assertIsDefined(at),at};function a(ue,We,at){return We?(We.stackIndex++,We.skip=!1,B(We,void 0),me(We,void 0)):We={checkMode:at,skip:!1,stackIndex:0,typeStack:[void 0,void 0]},Jn(ue)&&LA(ue)?(We.skip=!0,me(We,Xi(ue.right,at)),We):(flt(ue),ue.operatorToken.kind===64&&(ue.left.kind===210||ue.left.kind===209)&&(We.skip=!0,me(We,uA(ue.left,Xi(ue.right,at),at,ue.right.kind===110))),We)}function c(ue,We,at){if(!We.skip)return N(We,ue)}function u(ue,We,at){if(!We.skip){let ht=Q(We);x.assertIsDefined(ht),B(We,ht),me(We,void 0);let qt=ue.kind;if(VL(qt)){let Xt=at.parent;for(;Xt.kind===217||jL(Xt);)Xt=Xt.parent;(qt===56||HS(Xt))&&Ige(at.left,ht,HS(Xt)?Xt.thenStatement:void 0),xge(ht,at.left)}}}function _(ue,We,at){if(!We.skip)return N(We,ue)}function g(ue,We){let at;if(We.skip)at=Q(We);else{let ht=O(We);x.assertIsDefined(ht);let qt=Q(We);x.assertIsDefined(qt),at=Mwe(ue.left,ue.operatorToken,ue.right,ht,qt,We.checkMode,ue)}return We.skip=!1,B(We,void 0),me(We,void 0),We.stackIndex--,at}function T(ue,We,at){return me(ue,We),ue}function N(ue,We){if(Zn(We))return We;me(ue,Xi(We,ue.checkMode))}function O(ue){return ue.typeStack[ue.stackIndex]}function B(ue,We){ue.typeStack[ue.stackIndex]=We}function Q(ue){return ue.typeStack[ue.stackIndex+1]}function me(ue,We){ue.typeStack[ue.stackIndex+1]=We}}function flt(n){let{left:a,operatorToken:c,right:u}=n;c.kind===61&&(Zn(a)&&(a.operatorToken.kind===57||a.operatorToken.kind===56)&&sn(a,f._0_and_1_operations_cannot_be_mixed_without_parentheses,qo(a.operatorToken.kind),qo(c.kind)),Zn(u)&&(u.operatorToken.kind===57||u.operatorToken.kind===56)&&sn(u,f._0_and_1_operations_cannot_be_mixed_without_parentheses,qo(u.operatorToken.kind),qo(c.kind)))}function mlt(n,a,c,u,_){let g=a.kind;if(g===64&&(n.kind===210||n.kind===209))return uA(n,Xi(c,u),u,c.kind===110);let T;VL(g)?T=rM(n,u):T=Xi(n,u);let N=Xi(c,u);return Mwe(n,a,c,T,N,u,_)}function Mwe(n,a,c,u,_,g,T){let N=a.kind;switch(N){case 42:case 43:case 67:case 68:case 44:case 69:case 45:case 70:case 41:case 66:case 48:case 71:case 49:case 72:case 50:case 73:case 52:case 75:case 53:case 79:case 51:case 74:if(u===Zi||_===Zi)return Zi;u=E_(u,n),_=E_(_,c);let Kt;if(u.flags&528&&_.flags&528&&(Kt=ue(a.kind))!==void 0)return we(T||a,f.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,qo(a.kind),qo(Kt)),gt;{let zn=ZQ(n,u,f.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),Mn=ZQ(c,_,f.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),Bn;if(ed(u,3)&&ed(_,3)||!(ol(u,2112)||ol(_,2112)))Bn=gt;else if(O(u,_)){switch(N){case 50:case 73:qt();break;case 43:case 68:oe<3&&we(T,f.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later)}Bn=bt}else qt(O),Bn=it;return zn&&Mn&&We(Bn),Bn}case 40:case 65:if(u===Zi||_===Zi)return Zi;!ed(u,402653316)&&!ed(_,402653316)&&(u=E_(u,n),_=E_(_,c));let In;return ed(u,296,!0)&&ed(_,296,!0)?In=gt:ed(u,2112,!0)&&ed(_,2112,!0)?In=bt:ed(u,402653316,!0)||ed(_,402653316,!0)?In=Ie:(vt(u)||vt(_))&&(In=Lt(u)||Lt(_)?it:z),In&&!me(N)?In:In?(N===65&&We(In),In):(qt((Mn,Bn)=>ed(Mn,402655727)&&ed(Bn,402655727)),z);case 30:case 32:case 33:case 34:return me(N)&&(u=j_e(E_(u,n)),_=j_e(E_(_,c)),ht((zn,Mn)=>{if(vt(zn)||vt(Mn))return!0;let Bn=ea(zn,Dl),co=ea(Mn,Dl);return Bn&&co||!Bn&&!co&&q7(zn,Mn)})),ti;case 35:case 36:case 37:case 38:if(!(g&&g&64)){if((JG(n)||JG(c))&&(!Jn(n)||N===37||N===38)){let zn=N===35||N===37;we(T,f.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value,zn?\"false\":\"true\")}Hn(T,N,n,c),ht((zn,Mn)=>fge(zn,Mn)||fge(Mn,zn))}return ti;case 104:return alt(n,c,u,_,g);case 103:return llt(n,c,u,_);case 56:case 77:{let zn=wf(u,4194304)?Br([$rt(H?u:wg(_)),_]):u;return N===77&&We(_),zn}case 57:case 76:{let zn=wf(u,8388608)?Br([Wg(uke(u)),_],2):u;return N===76&&We(_),zn}case 61:case 78:{let zn=wf(u,262144)?Br([Wg(u),_],2):u;return N===78&&We(_),zn}case 64:let Sn=Zn(n.parent)?hl(n.parent):0;return B(Sn,_),at(Sn)?((!(_.flags&524288)||Sn!==2&&Sn!==6&&!Og(_)&&!dhe(_)&&!(br(_)&1))&&We(_),u):(We(_),_);case 28:if(!F.allowUnreachableCode&&P5(n)&&!Q(n.parent)){let zn=Nn(n),Mn=zn.text,Bn=pa(Mn,n.pos);zn.parseDiagnostics.some(no=>no.code!==f.JSX_expressions_must_have_one_parent_element.code?!1:OG(no,Bn))||we(n,f.Left_side_of_comma_operator_is_unused_and_has_no_side_effects)}return _;default:return x.fail()}function O(Kt,In){return ed(Kt,2112)&&ed(In,2112)}function B(Kt,In){if(Kt===2)for(let Sn of Xy(In)){let zn=Yn(Sn);if(zn.symbol&&zn.symbol.flags&32){let Mn=Sn.escapedName,Bn=Xs(Sn.valueDeclaration,Mn,788968,void 0,Mn,!1);Bn?.declarations&&Bn.declarations.some($S)&&(Mf(Bn,f.Duplicate_identifier_0,Ii(Mn),Sn),Mf(Sn,f.Duplicate_identifier_0,Ii(Mn),Bn))}}}function Q(Kt){return Kt.parent.kind===217&&Bu(Kt.left)&&Kt.left.text===\"0\"&&(Bo(Kt.parent.parent)&&Kt.parent.parent.expression===Kt.parent||Kt.parent.parent.kind===215)&&(us(Kt.right)||Me(Kt.right)&&Kt.right.escapedText===\"eval\")}function me(Kt){let In=C5(u,12288)?n:C5(_,12288)?c:void 0;return In?(we(In,f.The_0_operator_cannot_be_applied_to_type_symbol,qo(Kt)),!1):!0}function ue(Kt){switch(Kt){case 52:case 75:return 57;case 53:case 79:return 38;case 51:case 74:return 56;default:return}}function We(Kt){tv(N)&&r(In);function In(){let Sn=u;if(PN(a.kind)&&n.kind===211&&(Sn=BQ(n,void 0,!0)),Pw(n,f.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access,f.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access)){let zn;if(be&&Er(n)&&ol(Kt,32768)){let Mn=Fe(td(n.expression),n.name.escapedText);oQ(Kt,Mn)&&(zn=f.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target)}nb(Kt,Sn,n,c,zn)}}}function at(Kt){var In;switch(Kt){case 2:return!0;case 1:case 5:case 6:case 3:case 4:let Sn=Fp(n),zn=LA(c);return!!zn&&ma(zn)&&!!((In=Sn?.exports)!=null&&In.size);default:return!1}}function ht(Kt){return Kt(u,_)?!1:(qt(Kt),!0)}function qt(Kt){let In=!1,Sn=T||a;if(Kt){let no=kv(u),Eo=kv(_);In=!(no===u&&Eo===_)&&!!(no&&Eo)&&Kt(no,Eo)}let zn=u,Mn=_;!In&&Kt&&([zn,Mn]=_lt(u,_,Kt));let[Bn,co]=d1(zn,Mn);Xt(Sn,In,Bn,co)||nE(Sn,In,f.Operator_0_cannot_be_applied_to_types_1_and_2,qo(a.kind),Bn,co)}function Xt(Kt,In,Sn,zn){switch(a.kind){case 37:case 35:case 38:case 36:return nE(Kt,In,f.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap,Sn,zn);default:return}}function Hn(Kt,In,Sn,zn){let Mn=En(Ka(Sn)),Bn=En(Ka(zn));if(Mn||Bn){let co=we(Kt,f.This_condition_will_always_return_0,qo(In===37||In===35?97:112));if(Mn&&Bn)return;let no=In===38||In===36?qo(54):\"\",Eo=Mn?zn:Sn,Yi=Ka(Eo);fa(co,vr(Eo,f.Did_you_mean_0,`${no}Number.isNaN(${gl(Yi)?Wu(Yi):\"...\"})`))}}function En(Kt){if(Me(Kt)&&Kt.escapedText===\"NaN\"){let In=rnt();return!!In&&In===cm(Kt)}return!1}}function _lt(n,a,c){let u=n,_=a,g=wg(n),T=wg(a);return c(g,T)||(u=g,_=T),[u,_]}function hlt(n){r(ue);let a=cp(n);if(!a)return z;let c=gc(a);if(!(c&1))return z;let u=(c&2)!==0;n.asteriskToken&&(u&&oe<99&&rc(n,26624),!u&&oe<2&&F.downlevelIteration&&rc(n,256));let _=mD(a);_&&_.flags&1048576&&(_=Bl(_,We=>hge(We,c,void 0)));let g=_&&b8e(_,u),T=g&&g.yieldType||z,N=g&&g.nextType||z,O=u?pA(N)||z:N,B=n.expression?Xi(n.expression):St,Q=Swe(n,B,O,u);if(_&&Q&&nb(Q,T,n.expression||n,n.expression),n.asteriskToken)return Dge(u?19:17,1,B,n.expression)||z;if(_)return oS(2,_,u)||z;let me=aOe(2,a);return me||(me=z,r(()=>{if(ce&&!dre(n)){let We=bu(n,void 0);(!We||vt(We))&&we(n,f.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation)}})),me;function ue(){n.flags&16384||Uc(n,f.A_yield_expression_is_only_allowed_in_a_generator_body),The(n)&&we(n,f.yield_expressions_cannot_be_used_in_a_parameter_initializer)}}function glt(n,a){let c=rM(n.condition,a);Ige(n.condition,c,n.whenTrue);let u=Xi(n.whenTrue,a),_=Xi(n.whenFalse,a);return Br([u,_],2)}function Lwe(n){let a=n.parent;return uu(a)&&Lwe(a)||Rs(a)&&a.argumentExpression===n}function vlt(n){let a=[n.head.text],c=[];for(let _ of n.templateSpans){let g=Xi(_.expression);C5(g,12288)&&we(_.expression,f.Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String),a.push(_.literal.text),c.push(ea(g,_o)?g:Ie)}if(QP(n)||Lwe(n)||dm(bu(n,void 0)||Zt,ylt))return YT(a,c);let u=n.parent.kind!==215&&O8e(n);return u?v1(yu(u)):Ie}function ylt(n){return!!(n.flags&134217856||n.flags&58982400&&ol(md(n)||Zt,402653316))}function blt(n){return d0(n)&&!KS(n.parent)?n.parent.parent:n}function RD(n,a,c,u){let _=blt(n);u5(_,a,!1),Bot(_,c);let g=Xi(n,u|1|(c?2:0));c&&c.intraExpressionInferenceSites&&(c.intraExpressionInferenceSites=void 0);let T=ol(g,2944)&&nZ(g,OQ(a,n,void 0))?qd(g):g;return Got(),xw(),T}function Ml(n,a){if(a)return Xi(n,a);let c=Fr(n);if(!c.resolvedType){let u=p_,_=rn;p_=wp,rn=void 0,c.resolvedType=Xi(n,a),rn=_,p_=u}return c.resolvedType}function kwe(n){return n=Ka(n,!0),n.kind===216||n.kind===234||Ux(n)}function $P(n,a,c){let u=vL(n);if(Jn(n)){let g=bF(n);if(g)return nge(u,g,a)}let _=_ge(u)||(c?RD(u,c,void 0,a||0):Ml(u,a));return ao(n)&&n.name.kind===207&&ga(_)&&!_.target.hasRestElement&&Nv(_)<n.name.elements.length?Elt(_,n.name):_}function Elt(n,a){let c=a.elements,u=X0(n).slice(),_=n.target.elementFlags.slice();for(let g=Nv(n);g<c.length;g++){let T=c[g];(g<c.length-1||!(T.kind===208&&T.dotDotDotToken))&&(u.push(!vc(T)&&XP(T)?PP(T,!1,!1):z),_.push(2),!vc(T)&&!XP(T)&&IE(T,z))}return lh(u,_,n.target.readonly)}function tZ(n,a){let c=lS(n)&6||sW(n)?a:eS(a);if(Jn(n)){if(oke(c))return IE(n,z),z;if(uQ(c))return IE(n,Nl),Nl}return c}function nZ(n,a){if(a){if(a.flags&3145728){let c=a.types;return ct(c,u=>nZ(n,u))}if(a.flags&58982400){let c=md(a)||Zt;return ol(c,4)&&ol(n,128)||ol(c,8)&&ol(n,256)||ol(c,64)&&ol(n,2048)||ol(c,4096)&&ol(n,8192)||nZ(n,c)}return!!(a.flags&406847616&&ol(n,128)||a.flags&256&&ol(n,256)||a.flags&2048&&ol(n,2048)||a.flags&512&&ol(n,512)||a.flags&8192&&ol(n,8192))}return!1}function QP(n){let a=n.parent;return ES(a)&&Qh(a.type)||Ux(a)&&Qh(D6(a))||tge(n)&&JT(bu(n,0))||(uu(a)||Bd(a)||bm(a))&&QP(a)||(Hl(a)||xu(a)||uN(a))&&QP(a.parent)}function ZP(n,a,c){let u=Xi(n,a,c);return QP(n)||Wte(n)?qd(u):kwe(n)?u:U_e(u,OQ(bu(n,void 0),n,void 0))}function Owe(n,a){return n.name.kind===167&&Hh(n.name),ZP(n.initializer,a)}function wwe(n,a){lWe(n),n.name.kind===167&&Hh(n.name);let c=Rwe(n,a);return Wwe(n,c,a)}function Wwe(n,a,c){if(c&&c&10){let u=Dw(a,0,!0),_=Dw(a,1,!0),g=u||_;if(g&&g.typeParameters){let T=CE(n,2);if(T){let N=Dw(Wg(T),u?0:1,!1);if(N&&!N.typeParameters){if(c&8)return Fwe(n,c),Ut;let O=nS(n),B=O.signature&&Ha(O.signature),Q=B&&HOe(B);if(Q&&!Q.typeParameters&&!ji(O.inferences,DD)){let me=Ilt(O,g.typeParameters),ue=qme(g,me),We=nn(O.inferences,at=>$_e(at.typeParameter));if(J_e(ue,N,(at,ht)=>{Fg(We,at,ht,0,!0)}),ct(We,DD)&&(K_e(ue,N,(at,ht)=>{Fg(We,at,ht)}),!Tlt(O.inferences,We)))return Alt(O.inferences,We),O.inferredTypeParameters=ro(O.inferredTypeParameters,me),XT(ue)}return XT(qOe(g,N,O))}}}}return a}function Fwe(n,a){if(a&2){let c=nS(n);c.flags|=4}}function DD(n){return!!(n.candidates||n.contraCandidates)}function Slt(n){return!!(n.candidates||n.contraCandidates||SLe(n.typeParameter))}function Tlt(n,a){for(let c=0;c<n.length;c++)if(DD(n[c])&&DD(a[c]))return!0;return!1}function Alt(n,a){for(let c=0;c<n.length;c++)!DD(n[c])&&DD(a[c])&&(n[c]=a[c])}function Ilt(n,a){let c=[],u,_;for(let g of a){let T=g.symbol.escapedName;if(mge(n.inferredTypeParameters,T)||mge(c,T)){let N=xlt(ro(n.inferredTypeParameters,c),T),O=Ra(262144,N),B=Bp(O);B.target=g,u=pn(u,g),_=pn(_,B),c.push(B)}else c.push(g)}if(_){let g=np(u,_);for(let T of _)T.mapper=g}return c}function mge(n,a){return ct(n,c=>c.symbol.escapedName===a)}function xlt(n,a){let c=a.length;for(;c>1&&a.charCodeAt(c-1)>=48&&a.charCodeAt(c-1)<=57;)c--;let u=a.slice(0,c);for(let _=1;;_++){let g=u+_;if(!mge(n,g))return g}}function zwe(n){let a=dA(n);if(a&&!a.typeParameters)return Ha(a)}function Rlt(n){let a=Xi(n.expression),c=yw(a,n.expression),u=zwe(a);return u&&_Q(u,n,c!==a)}function td(n){let a=_ge(n);if(a)return a;if(n.flags&268435456&&rn){let _=rn[Fa(n)];if(_)return _}let c=Ve,u=Xi(n,64);if(Ve!==c){let _=rn||(rn=[]);_[Fa(n)]=u,cre(n,n.flags|268435456)}return u}function _ge(n){let a=Ka(n,!0);if(Ux(a)){let c=D6(a);if(!Qh(c))return si(c)}if(a=Ka(n),py(a)){let c=_ge(a.expression);return c?pA(c):void 0}if(Bo(a)&&a.expression.kind!==108&&!Xd(a,!0)&&!owe(a))return gS(a)?Rlt(a):zwe(AD(a.expression));if(ES(a)&&!Qh(a.type))return si(a.type);if(wE(n)||sC(n))return Xi(n)}function M5(n){let a=Fr(n);if(a.contextFreeType)return a.contextFreeType;u5(n,z,!1);let c=a.contextFreeType=Xi(n,4);return xw(),c}function Xi(n,a,c){var u,_;(u=qn)==null||u.push(qn.Phase.Check,\"checkExpression\",{kind:n.kind,pos:n.pos,end:n.end,path:n.tracingPath});let g=R;R=n,S=0;let T=Nlt(n,a,c),N=Wwe(n,T,a);return eZ(N)&&Dlt(n,N),R=g,(_=qn)==null||_.pop(),N}function Dlt(n,a){n.parent.kind===211&&n.parent.expression===n||n.parent.kind===212&&n.parent.expression===n||(n.kind===80||n.kind===166)&&hZ(n)||n.parent.kind===186&&n.parent.exprName===n||n.parent.kind===281||we(n,f.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query),xf(F)&&(x.assert(!!(a.symbol.flags&128)),a.symbol.valueDeclaration.flags&33554432&&!Pb(n)&&we(n,f.Cannot_access_ambient_const_enums_when_0_is_enabled,Ge))}function Clt(n,a){if(ap(n)){if(wV(n))return nge(n.expression,WV(n),a);if(Ux(n))return cwe(n,a)}return Xi(n.expression,a)}function Nlt(n,a,c){let u=n.kind;if(i)switch(u){case 231:case 218:case 219:i.throwIfCancellationRequested()}switch(u){case 80:return cot(n,a);case 81:return Rat(n);case 110:return c5(n);case 108:return Ehe(n);case 106:return Pe;case 15:case 11:return nhe(n)?ze:v1(yu(n.text));case 9:return Xge(n),v1(Wm(+n.text));case 10:return Mpt(n),v1($$({negative:!1,base10Value:HC(n.text)}));case 112:return An;case 97:return Ot;case 228:return vlt(n);case 14:return Ks;case 209:return mOe(n,a,c);case 210:return oat(n,a);case 211:return BQ(n,a);case 166:return NOe(n,a);case 212:return jat(n,a);case 213:if(n.expression.kind===102)return Est(n);case 214:return bst(n,a);case 215:return Sst(n);case 217:return Clt(n,a);case 231:return gdt(n);case 218:case 219:return Rwe(n,a);case 221:return tlt(n);case 216:case 234:return Tst(n,a);case 235:return xst(n);case 233:return uwe(n);case 238:return Rst(n);case 236:return Dst(n);case 220:return Zst(n);case 222:return nlt(n);case 223:return rlt(n);case 224:return ilt(n);case 225:return olt(n);case 226:return Te(n,a);case 227:return glt(n,a);case 230:return Zot(n,a);case 232:return St;case 229:return hlt(n);case 237:return eat(n);case 294:return bat(n,a);case 284:return cat(n,a);case 285:return sat(n,a);case 288:return dat(n);case 292:return pat(n,a);case 286:x.fail(\"Shouldn't ever directly check a JsxOpeningElement\")}return it}function Bwe(n){Jh(n),n.expression&&Uc(n.expression,f.Type_expected),sa(n.constraint),sa(n.default);let a=UT(dr(n));md(a),dtt(a)||we(n.default,f.Type_parameter_0_has_a_circular_default,Pn(a));let c=iu(a),u=KT(a);c&&u&&Cd(u,hp(Gi(c,Q0(a,u)),u),n.default,f.Type_0_does_not_satisfy_the_constraint_1),E1(n),r(()=>iM(n.name,f.Type_parameter_name_cannot_be_0))}function Plt(n){var a,c;if(Gd(n.parent)||Kr(n.parent)||Xf(n.parent)){let u=UT(dr(n)),_=z_e(u)&24576;if(_){let g=dr(n.parent);if(Xf(n.parent)&&!(br(Cs(g))&52))we(n,f.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types);else if(_===8192||_===16384){(a=qn)==null||a.push(qn.Phase.CheckTypes,\"checkTypeParameterDeferred\",{parent:Hd(Cs(g)),id:Hd(u)});let T=X7(g,u,_===16384?X:ae),N=X7(g,u,_===16384?ae:X),O=u;L=u,Cd(T,N,n,f.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation),L=O,(c=qn)==null||c.pop()}}}}function Gwe(n){Jh(n),W5(n);let a=cp(n);Wr(n,31)&&(a.kind===176&&gf(a.body)||we(n,f.A_parameter_property_is_only_allowed_in_a_constructor_implementation),a.kind===176&&Me(n.name)&&n.name.escapedText===\"constructor\"&&we(n.name,f.constructor_cannot_be_used_as_a_parameter_property_name)),!n.initializer&&$C(n)&&ko(n.name)&&a.body&&we(n,f.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),n.name&&Me(n.name)&&(n.name.escapedText===\"this\"||n.name.escapedText===\"new\")&&(a.parameters.indexOf(n)!==0&&we(n,f.A_0_parameter_must_be_the_first_parameter,n.name.escapedText),(a.kind===176||a.kind===180||a.kind===185)&&we(n,f.A_constructor_cannot_have_a_this_parameter),a.kind===219&&we(n,f.An_arrow_function_cannot_have_a_this_parameter),(a.kind===177||a.kind===178)&&we(n,f.get_and_set_accessors_cannot_declare_this_parameters)),n.dotDotDotToken&&!ko(n.name)&&!ea(wm(Yn(n.symbol)),kp)&&we(n,f.A_rest_parameter_must_be_of_an_array_type)}function Mlt(n){let a=Llt(n);if(!a){we(n,f.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return}let c=kf(a),u=df(c);if(!u)return;sa(n.type);let{parameterName:_}=n;if(u.kind===0||u.kind===2)Q$(_);else if(u.parameterIndex>=0){if(Td(c)&&u.parameterIndex===c.parameters.length-1)we(_,f.A_type_predicate_cannot_reference_a_rest_parameter);else if(u.type){let g=()=>So(void 0,f.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type);Cd(u.type,Yn(c.parameters[u.parameterIndex]),n.type,void 0,g)}}else if(_){let g=!1;for(let{name:T}of a.parameters)if(ko(T)&&Vwe(T,_,u.parameterName)){g=!0;break}g||we(n.parameterName,f.Cannot_find_parameter_0,u.parameterName)}}function Llt(n){switch(n.parent.kind){case 219:case 179:case 262:case 218:case 184:case 174:case 173:let a=n.parent;if(n===a.type)return a}}function Vwe(n,a,c){for(let u of n.elements){if(vc(u))continue;let _=u.name;if(_.kind===80&&_.escapedText===c)return we(a,f.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern,c),!0;if((_.kind===207||_.kind===206)&&Vwe(_,a,c))return!0}}function Mw(n){n.kind===181?apt(n):(n.kind===184||n.kind===262||n.kind===185||n.kind===179||n.kind===176||n.kind===180)&&SZ(n);let a=gc(n);a&4||((a&3)===3&&oe<99&&rc(n,6144),(a&3)===2&&oe<4&&rc(n,64),a&3&&oe<2&&rc(n,128)),B5(qv(n)),mdt(n),an(n.parameters,Gwe),n.type&&sa(n.type),r(c);function c(){Pct(n);let u=Tf(n),_=u;if(Jn(n)){let g=yb(n);if(g&&g.typeExpression&&Yp(g.typeExpression.type)){let T=dA(si(g.typeExpression));T&&T.declaration&&(u=Tf(T.declaration),_=g.typeExpression.type)}}if(ce&&!u)switch(n.kind){case 180:we(n,f.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 179:we(n,f.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break}if(u&&_){let g=gc(n);if((g&5)===1){let T=si(u);T===jn?we(_,f.A_generator_cannot_have_a_void_type_annotation):hge(T,g,_)}else(g&3)===2&&dct(n,u,_)}n.kind!==181&&n.kind!==324&&sb(n)}}function hge(n,a,c){let u=oS(0,n,(a&2)!==0)||z,_=oS(1,n,(a&2)!==0)||u,g=oS(2,n,(a&2)!==0)||Zt,T=Ewe(u,_,g,!!(a&2));return Cd(T,n,c)}function klt(n){let a=new Map,c=new Map,u=new Map;for(let g of n.members)if(g.kind===176)for(let T of g.parameters)wu(T,g)&&!ko(T.name)&&_(a,T.name,T.name.escapedText,3);else{let T=zo(g),N=g.name;if(!N)continue;let O=Ci(N),B=O&&T?16:0,Q=O?u:T?c:a,me=N&&Yge(N);if(me)switch(g.kind){case 177:_(Q,N,me,1|B);break;case 178:_(Q,N,me,2|B);break;case 172:_(Q,N,me,3|B);break;case 174:_(Q,N,me,8|B);break}}function _(g,T,N,O){let B=g.get(N);if(B)if((B&16)!==(O&16))we(T,f.Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name,Vl(T));else{let Q=!!(B&8),me=!!(O&8);Q||me?Q!==me&&we(T,f.Duplicate_identifier_0,Vl(T)):B&O&-17?we(T,f.Duplicate_identifier_0,Vl(T)):g.set(N,B|O)}else g.set(N,O)}}function Olt(n){for(let a of n.members){let c=a.name;if(zo(a)&&c){let _=Yge(c);switch(_){case\"name\":case\"length\":case\"caller\":case\"arguments\":if(de)break;case\"prototype\":let g=f.Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1,T=pE(dr(n));we(c,g,_,T);break}}}}function jwe(n){let a=new Map;for(let c of n.members)if(c.kind===171){let u,_=c.name;switch(_.kind){case 11:case 9:u=_.text;break;case 80:u=ar(_);break;default:continue}a.get(u)?(we(mo(c.symbol.valueDeclaration),f.Duplicate_identifier_0,u),we(c.name,f.Duplicate_identifier_0,u)):a.set(u,!0)}}function gge(n){if(n.kind===264){let c=dr(n);if(c.declarations&&c.declarations.length>0&&c.declarations[0]!==n)return}let a=Jme(dr(n));if(a?.declarations){let c=new Map;for(let u of a.declarations)u.parameters.length===1&&u.parameters[0].type&&aA(si(u.parameters[0].type),_=>{let g=c.get(Hd(_));g?g.declarations.push(u):c.set(Hd(_),{type:_,declarations:[u]})});c.forEach(u=>{if(u.declarations.length>1)for(let _ of u.declarations)we(_,f.Duplicate_index_signature_for_type_0,Pn(u.type))})}}function Uwe(n){!Jh(n)&&!Dpt(n)&&TZ(n.name),W5(n),vge(n),Wr(n,64)&&n.kind===172&&n.initializer&&we(n,f.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract,is(n.name))}function wlt(n){return Ci(n.name)&&we(n,f.Private_identifiers_are_not_allowed_outside_class_bodies),Uwe(n)}function Wlt(n){lWe(n)||TZ(n.name),El(n)&&n.asteriskToken&&Me(n.name)&&ar(n.name)===\"constructor\"&&we(n.name,f.Class_constructor_may_not_be_a_generator),r8e(n),Wr(n,64)&&n.kind===174&&n.body&&we(n,f.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,is(n.name)),Ci(n.name)&&!Oc(n)&&we(n,f.Private_identifiers_are_not_allowed_outside_class_bodies),vge(n)}function vge(n){if(Ci(n.name)&&oe<99){for(let a=w_(n);a;a=w_(a))Fr(a).flags|=1048576;if(Dc(n.parent)){let a=ghe(n.parent);a&&(Fr(n.name).flags|=32768,Fr(a).flags|=4096)}}}function Flt(n){Jh(n),Ao(n,sa)}function zlt(n){Mw(n),xpt(n)||Rpt(n),sa(n.body);let a=dr(n),c=Vs(a,n.kind);if(n===c&&oZ(a),_l(n.body))return;r(_);return;function u(g){return kd(g)?!0:g.kind===172&&!zo(g)&&!!g.initializer}function _(){let g=n.parent;if(qE(g)){vhe(n.parent,g);let T=yhe(g),N=Qke(n.body);if(N){if(T&&we(N,f.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null),!fe&&(ct(n.parent.members,u)||ct(n.parameters,B=>Wr(B,31))))if(!Blt(N,n.body))we(N,f.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers);else{let B;for(let Q of n.body.statements){if(Cc(Q)&&xS(Rl(Q.expression))){B=Q;break}if(Hwe(Q))break}B===void 0&&we(n,f.A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers)}}else T||we(n,f.Constructors_for_derived_classes_must_contain_a_super_call)}}}function Blt(n,a){let c=Zg(n.parent);return Cc(c)&&c.parent===a}function Hwe(n){return n.kind===108||n.kind===110?!0:Ute(n)?!1:!!Ao(n,Hwe)}function qwe(n){Me(n.name)&&ar(n.name)===\"constructor\"&&Kr(n.parent)&&we(n.name,f.Class_constructor_may_not_be_an_accessor),r(a),sa(n.body),vge(n);function a(){if(!SZ(n)&&!_pt(n)&&TZ(n.name),k5(n),Mw(n),n.kind===177&&!(n.flags&33554432)&&gf(n.body)&&n.flags&512&&(n.flags&1024||we(n.name,f.A_get_accessor_must_return_a_value)),n.name.kind===167&&Hh(n.name),pD(n)){let u=dr(n),_=Vs(u,177),g=Vs(u,178);if(_&&g&&!(PD(_)&1)){Fr(_).flags|=1;let T=Wd(_),N=Wd(g);(T&64)!==(N&64)&&(we(_.name,f.Accessors_must_both_be_abstract_or_non_abstract),we(g.name,f.Accessors_must_both_be_abstract_or_non_abstract)),(T&4&&!(N&6)||T&2&&!(N&2))&&(we(_.name,f.A_get_accessor_must_be_at_least_as_accessible_as_the_setter),we(g.name,f.A_get_accessor_must_be_at_least_as_accessible_as_the_setter))}}let c=hE(dr(n));n.kind===177&&cge(n,c)}}function Glt(n){k5(n)}function Vlt(n,a,c){return n.typeArguments&&c<n.typeArguments.length?si(n.typeArguments[c]):rZ(n,a)[c]}function rZ(n,a){return Yy(nn(n.typeArguments,si),a,ah(a),Jn(n))}function Jwe(n,a){let c,u,_=!0;for(let g=0;g<a.length;g++){let T=iu(a[g]);T&&(c||(c=rZ(n,a),u=np(a,c)),_=_&&Cd(c[g],Gi(T,u),n.typeArguments[g],f.Type_0_does_not_satisfy_the_constraint_1))}return _}function jlt(n,a){if(!Lt(n))return a.flags&524288&&Pi(a).typeParameters||(br(n)&4?n.target.localTypeParameters:void 0)}function yge(n){let a=si(n);if(!Lt(a)){let c=Fr(n).resolvedSymbol;if(c)return jlt(a,c)}}function bge(n){if(j5(n,n.typeArguments),n.kind===183&&!Jn(n)&&!hL(n)&&n.typeArguments&&n.typeName.end!==n.typeArguments.pos){let a=Nn(n);Lte(a,n.typeName.end)===25&&sS(n,pa(a.text,n.typeName.end),1,f.JSDoc_types_can_only_be_used_inside_documentation_comments)}an(n.typeArguments,sa),Kwe(n)}function Kwe(n){let a=si(n);if(!Lt(a)){n.typeArguments&&r(()=>{let u=yge(n);u&&Jwe(n,u)});let c=Fr(n).resolvedSymbol;c&&ct(c.declarations,u=>Cx(u)&&!!(u.flags&536870912))&&Tv(T5(n),c.declarations,c.escapedName)}}function Ult(n){let a=Vr(n.parent,X8);if(!a)return;let c=yge(a);if(!c)return;let u=iu(c[a.typeArguments.indexOf(n)]);return u&&Gi(u,np(c,rZ(a,c)))}function Hlt(n){HLe(n)}function qlt(n){an(n.members,sa),r(a);function a(){let c=M2e(n);pZ(c,c.symbol),gge(n),jwe(n)}}function Jlt(n){sa(n.elementType)}function Klt(n){let a=!1,c=!1;for(let u of n.elements){let _=l_e(u);if(_&8){let g=si(u.type);if(!Lv(g)){we(u,f.A_rest_element_type_must_be_an_array_type);break}(ff(g)||ga(g)&&g.target.combinedFlags&4)&&(_|=4)}if(_&4){if(c){sn(u,f.A_rest_element_cannot_follow_another_rest_element);break}c=!0}else if(_&2){if(c){sn(u,f.An_optional_element_cannot_follow_a_rest_element);break}a=!0}else if(_&1&&a){sn(u,f.A_required_element_cannot_follow_an_optional_element);break}}an(n.elements,sa),si(n)}function Xlt(n){an(n.types,sa),si(n)}function Xwe(n,a){if(!(n.flags&8388608))return n;let c=n.objectType,u=n.indexType,_=vu(c)&&O$(c)===2?h2e(c,0):y_(c,0),g=!!Uh(c,gt);if(Lu(u,T=>ea(T,_)||g&&f1(T,gt)))return a.kind===212&&Sh(a)&&br(c)&32&&oh(c)&1&&we(a,f.Index_signature_in_type_0_only_permits_reading,Pn(c)),n;if(QT(c)){let T=J$(u,a);if(T){let N=aA(ou(c),O=>Qo(O,T));if(N&&Kp(N)&6)return we(a,f.Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter,Ii(T)),it}}return we(a,f.Type_0_cannot_be_used_to_index_type_1,Pn(u),Pn(c)),it}function Ylt(n){sa(n.objectType),sa(n.indexType),Xwe(x2e(n),n)}function $lt(n){Qlt(n),sa(n.typeParameter),sa(n.nameType),sa(n.type),n.type||IE(n,z);let a=b_e(n),c=Dv(a);if(c)Cd(c,ms,n.nameType);else{let u=Vp(a);Cd(u,ms,V1(n.typeParameter))}}function Qlt(n){var a;if((a=n.members)!=null&&a.length)return sn(n.members[0],f.A_mapped_type_may_not_declare_properties_or_methods)}function Zlt(n){Q$(n)}function ect(n){gpt(n),sa(n.type)}function tct(n){Ao(n,sa)}function nct(n){Rn(n,c=>c.parent&&c.parent.kind===194&&c.parent.extendsType===c)||sn(n,f.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type),sa(n.typeParameter);let a=dr(n.typeParameter);if(a.declarations&&a.declarations.length>1){let c=Pi(a);if(!c.typeParametersChecked){c.typeParametersChecked=!0;let u=UT(a),_=pte(a,168);if(!A8e(_,[u],g=>[g])){let g=ai(a);for(let T of _)we(T.name,f.All_declarations_of_0_must_have_identical_constraints,g)}}}sb(n)}function rct(n){for(let a of n.templateSpans){sa(a.type);let c=si(a.type);Cd(c,_o,a.type)}si(n)}function ict(n){sa(n.argument),n.attributes&&oR(n.attributes,sn),Kwe(n)}function oct(n){n.dotDotDotToken&&n.questionToken&&sn(n,f.A_tuple_member_cannot_be_both_optional_and_rest),n.type.kind===190&&sn(n.type,f.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type),n.type.kind===191&&sn(n.type,f.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type),sa(n.type),si(n)}function L5(n){return(zu(n,2)||kd(n))&&!!(n.flags&33554432)}function iZ(n,a){let c=AZ(n);if(n.parent.kind!==264&&n.parent.kind!==263&&n.parent.kind!==231&&n.flags&33554432){let u=S9(n);u&&u.flags&128&&!(c&128)&&!(n_(n.parent)&&Il(n.parent.parent)&&Jm(n.parent.parent))&&(c|=32),c|=128}return c&a}function oZ(n){r(()=>act(n))}function act(n){function a(Kt,In){return In!==void 0&&In.parent===Kt[0].parent?In:Kt[0]}function c(Kt,In,Sn,zn,Mn){if((zn^Mn)!==0){let co=iZ(a(Kt,In),Sn);an(Kt,no=>{let Eo=iZ(no,Sn)^co;Eo&32?we(mo(no),f.Overload_signatures_must_all_be_exported_or_non_exported):Eo&128?we(mo(no),f.Overload_signatures_must_all_be_ambient_or_non_ambient):Eo&6?we(mo(no)||no,f.Overload_signatures_must_all_be_public_private_or_protected):Eo&64&&we(mo(no),f.Overload_signatures_must_all_be_abstract_or_non_abstract)})}}function u(Kt,In,Sn,zn){if(Sn!==zn){let Mn=OA(a(Kt,In));an(Kt,Bn=>{OA(Bn)!==Mn&&we(mo(Bn),f.Overload_signatures_must_all_be_optional_or_required)})}}let _=230,g=0,T=_,N=!1,O=!0,B=!1,Q,me,ue,We=n.declarations,at=(n.flags&16384)!==0;function ht(Kt){if(Kt.name&&_l(Kt.name))return;let In=!1,Sn=Ao(Kt.parent,Mn=>{if(In)return Mn;In=Mn===Kt});if(Sn&&Sn.pos===Kt.end&&Sn.kind===Kt.kind){let Mn=Sn.name||Sn,Bn=Sn.name;if(Kt.name&&Bn&&(Ci(Kt.name)&&Ci(Bn)&&Kt.name.escapedText===Bn.escapedText||Pa(Kt.name)&&Pa(Bn)&&kg(Hh(Kt.name),Hh(Bn))||Xm(Kt.name)&&Xm(Bn)&&AC(Kt.name)===AC(Bn))){if((Kt.kind===174||Kt.kind===173)&&zo(Kt)!==zo(Sn)){let no=zo(Kt)?f.Function_overload_must_be_static:f.Function_overload_must_not_be_static;we(Mn,no)}return}if(gf(Sn.body)){we(Mn,f.Function_implementation_name_must_be_0,is(Kt.name));return}}let zn=Kt.name||Kt;at?we(zn,f.Constructor_implementation_is_missing):Wr(Kt,64)?we(zn,f.All_declarations_of_an_abstract_method_must_be_consecutive):we(zn,f.Function_implementation_is_missing_or_not_immediately_following_the_declaration)}let qt=!1,Xt=!1,Hn=!1,En=[];if(We)for(let Kt of We){let In=Kt,Sn=In.flags&33554432,zn=In.parent&&(In.parent.kind===264||In.parent.kind===187)||Sn;if(zn&&(ue=void 0),(In.kind===263||In.kind===231)&&!Sn&&(Hn=!0),In.kind===262||In.kind===174||In.kind===173||In.kind===176){En.push(In);let Mn=iZ(In,_);g|=Mn,T&=Mn,N=N||OA(In),O=O&&OA(In);let Bn=gf(In.body);Bn&&Q?at?Xt=!0:qt=!0:ue?.parent===In.parent&&ue.end!==In.pos&&ht(ue),Bn?Q||(Q=In):B=!0,ue=In,zn||(me=In)}Jn(Kt)&&Lo(Kt)&&Kt.jsDoc&&(B=yn(z9(Kt))>0)}if(Xt&&an(En,Kt=>{we(Kt,f.Multiple_constructor_implementations_are_not_allowed)}),qt&&an(En,Kt=>{we(mo(Kt)||Kt,f.Duplicate_function_implementation)}),Hn&&!at&&n.flags&16&&We){let Kt=Cr(We,In=>In.kind===263).map(In=>vr(In,f.Consider_adding_a_declare_modifier_to_this_class));an(We,In=>{let Sn=In.kind===263?f.Class_declaration_cannot_implement_overload_list_for_0:In.kind===262?f.Function_with_bodies_can_only_merge_with_classes_that_are_ambient:void 0;Sn&&fa(we(mo(In)||In,Sn,$s(n)),...Kt)})}if(me&&!me.body&&!Wr(me,64)&&!me.questionToken&&ht(me),B&&(We&&(c(We,Q,_,g,T),u(We,Q,N,O)),Q)){let Kt=J0(n),In=kf(Q);for(let Sn of Kt)if(!xrt(In,Sn)){let zn=Sn.declaration&&wb(Sn.declaration)?Sn.declaration.parent.tagName:Sn.declaration;fa(we(zn,f.This_overload_signature_is_not_compatible_with_its_implementation_signature),vr(Q,f.The_implementation_signature_is_declared_here));break}}}function Lw(n){r(()=>sct(n))}function sct(n){let a=n.localSymbol;if(!a&&(a=dr(n),!a.exportSymbol)||Vs(a,n.kind)!==n)return;let c=0,u=0,_=0;for(let B of a.declarations){let Q=O(B),me=iZ(B,2080);me&32?me&2048?_|=Q:c|=Q:u|=Q}let g=c|u,T=c&u,N=_&g;if(T||N)for(let B of a.declarations){let Q=O(B),me=mo(B);Q&N?we(me,f.Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead,is(me)):Q&T&&we(me,f.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local,is(me))}function O(B){let Q=B;switch(Q.kind){case 264:case 265:case 353:case 345:case 347:return 2;case 267:return sd(Q)||dg(Q)!==0?5:4;case 263:case 266:case 306:return 3;case 312:return 7;case 277:case 226:let me=Q,ue=dl(me)?me.expression:me.right;if(!gl(ue))return 1;Q=ue;case 271:case 274:case 273:let We=0,at=fc(dr(Q));return an(at.declarations,ht=>{We|=O(ht)}),We;case 260:case 208:case 262:case 276:case 80:return 1;case 173:case 171:return 2;default:return x.failBadSyntaxKind(Q)}}}function eM(n,a,c,...u){let _=kw(n,a);return _&&pA(_,a,c,...u)}function kw(n,a,c){if(vt(n))return;let u=n;if(u.promisedTypeOfPromise)return u.promisedTypeOfPromise;if(Jy(n,W7(!1)))return u.promisedTypeOfPromise=Ts(n)[0];if(N5(Pg(n),402915324))return;let _=Fe(n,\"then\");if(vt(_))return;let g=_?Co(_,0):je;if(g.length===0){a&&we(a,f.A_promise_must_have_a_then_method);return}let T,N;for(let Q of g){let me=bE(Q);me&&me!==jn&&!b_(n,me,Y_)?T=me:N=pn(N,Q)}if(!N){x.assertIsDefined(T),c&&(c.value=T),a&&we(a,f.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1,Pn(n),Pn(T));return}let O=Wf(Br(nn(N,oge)),2097152);if(vt(O))return;let B=Co(O,0);if(B.length===0){a&&we(a,f.The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback);return}return u.promisedTypeOfPromise=Br(nn(B,oge),2)}function Ow(n,a,c,u,..._){return(a?pA(n,c,u,..._):kv(n,c,u,..._))||it}function Ywe(n){if(N5(Pg(n),402915324))return!1;let a=Fe(n,\"then\");return!!a&&Co(Wf(a,2097152),0).length>0}function aZ(n){var a;if(n.flags&16777216){let c=s_e(!1);return!!c&&n.aliasSymbol===c&&((a=n.aliasTypeArguments)==null?void 0:a.length)===1}return!1}function tM(n){return n.flags&1048576?Gs(n,tM):aZ(n)?n.aliasTypeArguments[0]:n}function $we(n){if(vt(n)||aZ(n))return!1;if(QT(n)){let a=md(n);if(a?a.flags&3||Og(a)||dm(a,Ywe):ol(n,8650752))return!0}return!1}function lct(n){let a=s_e(!0);if(a)return hD(a,[tM(n)])}function cct(n){if($we(n)){let a=lct(n);if(a)return a}return x.assert(aZ(n)||kw(n)===void 0,\"type provided should not be a non-generic 'promise'-like.\"),n}function pA(n,a,c,...u){let _=kv(n,a,c,...u);return _&&cct(_)}function kv(n,a,c,...u){if(vt(n)||aZ(n))return n;let _=n;if(_.awaitedTypeOfType)return _.awaitedTypeOfType;if(n.flags&1048576){if(Zb.lastIndexOf(n.id)>=0){a&&we(a,f.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);return}let N=a?B=>kv(B,a,c,...u):kv;Zb.push(n.id);let O=Gs(n,N);return Zb.pop(),_.awaitedTypeOfType=O}if($we(n))return _.awaitedTypeOfType=n;let g={value:void 0},T=kw(n,void 0,g);if(T){if(n.id===T.id||Zb.lastIndexOf(T.id)>=0){a&&we(a,f.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);return}Zb.push(n.id);let N=kv(T,a,c,...u);return Zb.pop(),N?_.awaitedTypeOfType=N:void 0}if(Ywe(n)){if(a){x.assertIsDefined(c);let N;g.value&&(N=So(N,f.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1,Pn(n),Pn(g.value))),N=So(N,c,...u),La.add(eg(Nn(a),a,N))}return}return _.awaitedTypeOfType=n}function dct(n,a,c){let u=si(a);if(oe>=2){if(Lt(u))return;let g=W7(!0);if(g!==ho&&!Jy(u,g)){_(f.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,a,c,Pn(kv(u)||jn));return}}else{if(pct(a),Lt(u))return;let g=mL(a);if(g===void 0){_(f.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,a,c,Pn(u));return}let T=Es(g,111551,!0),N=T?Yn(T):it;if(Lt(N)){g.kind===80&&g.escapedText===\"Promise\"&&Rv(u)===W7(!1)?we(c,f.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):_(f.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,a,c,Wu(g));return}let O=wtt(!0);if(O===ua){_(f.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,a,c,Wu(g));return}let B=f.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value;if(!Cd(N,O,c,B,()=>a===c?void 0:So(void 0,f.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type)))return;let me=g&&dp(g),ue=gu(n.locals,me.escapedText,111551);if(ue){we(ue.valueDeclaration,f.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,ar(me),Wu(g));return}}Ow(u,!1,n,f.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);function _(g,T,N,O){if(T===N)we(N,g,O);else{let B=we(N,f.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);fa(B,vr(T,g,O))}}}function uct(n){let a=xD(n);$Q(a,n);let c=Ha(a);if(c.flags&1)return;let u=lge(n);if(!u?.resolvedReturnType)return;let _,g=u.resolvedReturnType;switch(n.parent.kind){case 263:case 231:_=f.Decorator_function_return_type_0_is_not_assignable_to_type_1;break;case 172:if(!$){_=f.Decorator_function_return_type_0_is_not_assignable_to_type_1;break}case 169:_=f.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any;break;case 174:case 177:case 178:_=f.Decorator_function_return_type_0_is_not_assignable_to_type_1;break;default:return x.failBadSyntaxKind(n.parent)}Cd(c,g,n.expression,_)}function ww(n,a,c,u,_,g=c.length,T=0){let N=P.createFunctionTypeNode(void 0,je,P.createKeywordTypeNode(133));return jh(N,n,a,c,u,_,g,T)}function Ege(n,a,c,u,_,g,T){let N=ww(n,a,c,u,_,g,T);return XT(N)}function Qwe(n){return Ege(void 0,void 0,je,n)}function Zwe(n){let a=Dm(\"value\",n);return Ege(void 0,void 0,[a],jn)}function pct(n){e8e(n&&mL(n),!1)}function e8e(n,a){if(!n)return;let c=dp(n),u=(n.kind===80?788968:1920)|2097152,_=Xs(c,c.escapedText,u,void 0,void 0,!0);if(_&&_.flags&2097152){if(ot&&sm(_)&&!Bw(fc(_))&&!of(_))Oy(_);else if(a&&xf(F)&&ld(F)>=5&&!sm(_)&&!ct(_.declarations,Sb)){let g=we(n,f.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled),T=Dr(_.declarations||je,Py);T&&fa(g,vr(T,f._0_was_imported_here,ar(c)))}}}function CD(n){let a=Sge(n);a&&Su(a)&&e8e(a,!0)}function Sge(n){if(n)switch(n.kind){case 193:case 192:return t8e(n.types);case 194:return t8e([n.trueType,n.falseType]);case 196:case 202:return Sge(n.type);case 183:return n.typeName}}function t8e(n){let a;for(let c of n){for(;c.kind===196||c.kind===202;)c=c.type;if(c.kind===146||!H&&(c.kind===201&&c.literal.kind===106||c.kind===157))continue;let u=Sge(c);if(!u)return;if(a){if(!Me(a)||!Me(u)||a.escapedText!==u.escapedText)return}else a=u}return a}function sZ(n){let a=Jc(n);return gh(n)?x9(a):a}function k5(n){if(!ZS(n)||!Hp(n)||!n.modifiers||!yW($,n,n.parent,n.parent.parent))return;let a=Dr(n.modifiers,Xc);if(a){if($?(rc(a,8),n.kind===169&&rc(a,32)):oe<99&&(rc(a,8),Zl(n)?n.name?I8e(n)&&rc(a,8388608):rc(a,8388608):Dc(n)||(Ci(n.name)&&(El(n)||Kv(n)||su(n))&&rc(a,8388608),Pa(n.name)&&rc(a,16777216))),F.emitDecoratorMetadata)switch(rc(a,16),n.kind){case 263:let c=Ah(n);if(c)for(let T of c.parameters)CD(sZ(T));break;case 177:case 178:let u=n.kind===177?178:177,_=Vs(dr(n),u);CD(lm(n)||_&&lm(_));break;case 174:for(let T of n.parameters)CD(sZ(T));CD(Tf(n));break;case 172:CD(Jc(n));break;case 169:CD(sZ(n));let g=n.parent;for(let T of g.parameters)CD(sZ(T));CD(Tf(g));break}for(let c of n.modifiers)Xc(c)&&uct(c)}}function fct(n){r(a);function a(){r8e(n),Hge(n),nM(n,n.name)}}function mct(n){n.typeExpression||we(n.name,f.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),n.name&&iM(n.name,f.Type_alias_name_cannot_be_0),sa(n.typeExpression),B5(qv(n))}function _ct(n){sa(n.constraint);for(let a of n.typeParameters)sa(a)}function hct(n){sa(n.typeExpression)}function gct(n){sa(n.typeExpression);let a=Rb(n);if(a){let c=O8(a,I6);if(yn(c)>1)for(let u=1;u<yn(c);u++){let _=c[u].tagName;we(_,f._0_tag_already_specified,ar(_))}}}function vct(n){n.name&&V5(n.name,!0)}function yct(n){sa(n.typeExpression)}function bct(n){sa(n.typeExpression)}function Ect(n){r(a),Mw(n);function a(){!n.type&&!dx(n)&&IE(n,z)}}function Sct(n){let a=Rb(n);a&&gs(a)&&we(n.tagName,f.An_arrow_function_cannot_have_a_this_parameter)}function Tct(n){let a=Rb(n);(!a||!Zl(a)&&!Dc(a))&&we(a,f.JSDoc_0_is_not_attached_to_a_class,ar(n.tagName))}function Act(n){let a=Rb(n);if(!a||!Zl(a)&&!Dc(a)){we(a,f.JSDoc_0_is_not_attached_to_a_class,ar(n.tagName));return}let c=Eb(a).filter(_I);x.assert(c.length>0),c.length>1&&we(c[1],f.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);let u=n8e(n.class.expression),_=qE(a);if(_){let g=n8e(_.expression);g&&u.escapedText!==g.escapedText&&we(u,f.JSDoc_0_1_does_not_match_the_extends_2_clause,ar(n.tagName),ar(u),ar(g))}}function Ict(n){let a=PS(n);a&&kd(a)&&we(n,f.An_accessibility_modifier_cannot_be_used_with_a_private_identifier)}function n8e(n){switch(n.kind){case 80:return n;case 211:return n.name;default:return}}function r8e(n){var a;k5(n),Mw(n);let c=gc(n);if(n.name&&n.name.kind===167&&Hh(n.name),pD(n)){let g=dr(n),T=n.localSymbol||g,N=(a=T.declarations)==null?void 0:a.find(O=>O.kind===n.kind&&!(O.flags&524288));n===N&&oZ(T),g.parent&&oZ(g)}let u=n.kind===173?void 0:n.body;if(sa(u),cge(n,mD(n)),r(_),Jn(n)){let g=yb(n);g&&g.typeExpression&&!Rhe(si(g.typeExpression),n)&&we(g.typeExpression.type,f.The_type_of_a_function_declaration_must_match_the_function_s_signature)}function _(){Tf(n)||(_l(u)&&!L5(n)&&IE(n,z),c&1&&gf(u)&&Ha(kf(n)))}}function sb(n){r(a);function a(){let c=Nn(n),u=Op.get(c.path);u||(u=[],Op.set(c.path,u)),u.push(n)}}function i8e(n,a){for(let c of n)switch(c.kind){case 263:case 231:xct(c,a),Tge(c,a);break;case 312:case 267:case 241:case 269:case 248:case 249:case 250:s8e(c,a);break;case 176:case 218:case 262:case 219:case 174:case 177:case 178:c.body&&s8e(c,a),Tge(c,a);break;case 173:case 179:case 180:case 184:case 185:case 265:case 264:Tge(c,a);break;case 195:Rct(c,a);break;default:x.assertNever(c,\"Node should not have been registered for unused identifiers check\")}}function o8e(n,a,c){let u=mo(n)||n,_=Cx(n)?f._0_is_declared_but_never_used:f._0_is_declared_but_its_value_is_never_read;c(n,0,vr(u,_,a))}function Ww(n){return Me(n)&&ar(n).charCodeAt(0)===95}function xct(n,a){for(let c of n.members)switch(c.kind){case 174:case 172:case 177:case 178:if(c.kind===178&&c.symbol.flags&32768)break;let u=dr(c);!u.isReferenced&&(zu(c,2)||Ld(c)&&Ci(c.name))&&!(c.flags&33554432)&&a(c,0,vr(c.name,f._0_is_declared_but_its_value_is_never_read,ai(u)));break;case 176:for(let _ of c.parameters)!_.symbol.isReferenced&&Wr(_,2)&&a(_,0,vr(_.name,f.Property_0_is_declared_but_its_value_is_never_read,$s(_.symbol)));break;case 181:case 240:case 175:break;default:x.fail(\"Unexpected class member\")}}function Rct(n,a){let{typeParameter:c}=n;Age(c)&&a(n,1,vr(n,f._0_is_declared_but_its_value_is_never_read,ar(c.name)))}function Tge(n,a){let c=dr(n).declarations;if(!c||Da(c)!==n)return;let u=qv(n),_=new Set;for(let g of u){if(!Age(g))continue;let T=ar(g.name),{parent:N}=g;if(N.kind!==195&&N.typeParameters.every(Age)){if(db(_,N)){let O=Nn(N),B=Df(N)?PV(N):MV(O,N.typeParameters),me=N.typeParameters.length===1?[f._0_is_declared_but_its_value_is_never_read,T]:[f.All_type_parameters_are_unused];a(g,1,Rc(O,B.pos,B.end-B.pos,...me))}}else a(g,1,vr(g,f._0_is_declared_but_its_value_is_never_read,T))}}function Age(n){return!(Oa(n.symbol).isReferenced&262144)&&!Ww(n.name)}function O5(n,a,c,u){let _=String(u(a)),g=n.get(_);g?g[1].push(c):n.set(_,[a,[c]])}function a8e(n){return Vr(Ym(n),ao)}function Dct(n){return Na(n)?Rf(n.parent)?!!(n.propertyName&&Ww(n.name)):Ww(n.name):sd(n)||(yi(n)&&H1(n.parent.parent)||l8e(n))&&Ww(n.name)}function s8e(n,a){let c=new Map,u=new Map,_=new Map;n.locals.forEach(g=>{if(!(g.flags&262144?!(g.flags&3&&!(g.isReferenced&3)):g.isReferenced||g.exportSymbol)&&g.declarations){for(let T of g.declarations)if(!Dct(T))if(l8e(T))O5(c,Nct(T),T,Fa);else if(Na(T)&&Rf(T.parent)){let N=Da(T.parent.elements);(T===N||!Da(T.parent.elements).dotDotDotToken)&&O5(u,T.parent,T,Fa)}else if(yi(T)){let N=lS(T)&7,O=mo(T);(N!==4&&N!==6||!O||!Ww(O))&&O5(_,T.parent,T,Fa)}else{let N=g.valueDeclaration&&a8e(g.valueDeclaration),O=g.valueDeclaration&&mo(g.valueDeclaration);N&&O?!wu(N,N.parent)&&!XE(N)&&!Ww(O)&&(Na(T)&&i0(T.parent)?O5(u,T.parent,T,Fa):a(N,1,vr(O,f._0_is_declared_but_its_value_is_never_read,$s(g)))):o8e(T,$s(g),a)}}}),c.forEach(([g,T])=>{let N=g.parent;if((g.name?1:0)+(g.namedBindings?g.namedBindings.kind===274?1:g.namedBindings.elements.length:0)===T.length)a(N,0,T.length===1?vr(N,f._0_is_declared_but_its_value_is_never_read,ar(Ta(T).name)):vr(N,f.All_imports_in_import_declaration_are_unused));else for(let B of T)o8e(B,ar(B.name),a)}),u.forEach(([g,T])=>{let N=a8e(g.parent)?1:0;if(g.elements.length===T.length)T.length===1&&g.parent.kind===260&&g.parent.parent.kind===261?O5(_,g.parent.parent,g.parent,Fa):a(g,N,T.length===1?vr(g,f._0_is_declared_but_its_value_is_never_read,w5(Ta(T).name)):vr(g,f.All_destructured_elements_are_unused));else for(let O of T)a(O,N,vr(O,f._0_is_declared_but_its_value_is_never_read,w5(O.name)))}),_.forEach(([g,T])=>{if(g.declarations.length===T.length)a(g,0,T.length===1?vr(Ta(T).name,f._0_is_declared_but_its_value_is_never_read,w5(Ta(T).name)):vr(g.parent.kind===243?g.parent:g,f.All_variables_are_unused));else for(let N of T)a(N,0,vr(N,f._0_is_declared_but_its_value_is_never_read,w5(N.name)))})}function Cct(){var n;for(let a of kh)if(!((n=dr(a))!=null&&n.isReferenced)){let c=B1(a);x.assert(JE(c),\"Only parameter declaration should be checked here\");let u=vr(a.name,f._0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation,is(a.name),is(a.propertyName));c.type||fa(u,Rc(Nn(c),c.end,1,f.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here,is(a.propertyName))),La.add(u)}}function w5(n){switch(n.kind){case 80:return ar(n);case 207:case 206:return w5(Fo(Ta(n.elements),Na).name);default:return x.assertNever(n)}}function l8e(n){return n.kind===273||n.kind===276||n.kind===274}function Nct(n){return n.kind===273?n:n.kind===274?n.parent:n.parent.parent}function lZ(n){if(n.kind===241&&zg(n),YG(n)){let a=Ne;an(n.statements,sa),Ne=a}else an(n.statements,sa);n.locals&&sb(n)}function Pct(n){oe>=2||!i9(n)||n.flags&33554432||_l(n.body)||an(n.parameters,a=>{a.name&&!ko(a.name)&&a.name.escapedText===Dt.escapedName&&xm(\"noEmit\",a,f.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)})}function Fw(n,a,c){if(a?.escapedText!==c||n.kind===172||n.kind===171||n.kind===174||n.kind===173||n.kind===177||n.kind===178||n.kind===303||n.flags&33554432||(V_(n)||Nc(n)||Iu(n))&&Sb(n))return!1;let u=Ym(n);return!(ao(u)&&_l(u.parent.body))}function Mct(n){Rn(n,a=>PD(a)&4?(n.kind!==80?we(mo(n),f.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference):we(n,f.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference),!0):!1)}function Lct(n){Rn(n,a=>PD(a)&8?(n.kind!==80?we(mo(n),f.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference):we(n,f.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference),!0):!1)}function kct(n,a){if(W>=5&&!(W>=100&&Nn(n).impliedNodeFormat===1)||!a||!Fw(n,a,\"require\")&&!Fw(n,a,\"exports\")||Il(n)&&dg(n)!==1)return;let c=J(n);c.kind===312&&sp(c)&&xm(\"noEmit\",a,f.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,is(a),is(a))}function Oct(n,a){if(!a||oe>=4||!Fw(n,a,\"Promise\")||Il(n)&&dg(n)!==1)return;let c=J(n);c.kind===312&&sp(c)&&c.flags&4096&&xm(\"noEmit\",a,f.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,is(a),is(a))}function wct(n,a){oe<=8&&(Fw(n,a,\"WeakMap\")||Fw(n,a,\"WeakSet\"))&&Iy.push(n)}function Wct(n){let a=w_(n);PD(a)&1048576&&(x.assert(Ld(n)&&Me(n.name)&&typeof n.name.escapedText==\"string\",\"The target of a WeakMap/WeakSet collision check should be an identifier\"),xm(\"noEmit\",n,f.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel,n.name.escapedText))}function Fct(n,a){a&&oe>=2&&oe<=8&&Fw(n,a,\"Reflect\")&&xy.push(n)}function zct(n){let a=!1;if(Dc(n)){for(let c of n.members)if(PD(c)&2097152){a=!0;break}}else if(ps(n))PD(n)&2097152&&(a=!0);else{let c=w_(n);c&&PD(c)&2097152&&(a=!0)}a&&(x.assert(Ld(n)&&Me(n.name),\"The target of a Reflect collision check should be an identifier\"),xm(\"noEmit\",n,f.Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers,is(n.name),\"Reflect\"))}function nM(n,a){a&&(kct(n,a),Oct(n,a),wct(n,a),Fct(n,a),Kr(n)?(iM(a,f.Class_name_cannot_be_0),n.flags&33554432||fdt(a)):kb(n)&&iM(a,f.Enum_name_cannot_be_0))}function Bct(n){if(lS(n)&7||JE(n))return;let a=dr(n);if(a.flags&1){if(!Me(n.name))return x.fail();let c=Xs(n,n.name.escapedText,3,void 0,void 0,!1);if(c&&c!==a&&c.flags&2&&Ohe(c)&7){let u=Db(c.valueDeclaration,261),_=u.parent.kind===243&&u.parent.parent?u.parent.parent:void 0;if(!(_&&(_.kind===241&&Lo(_.parent)||_.kind===268||_.kind===267||_.kind===312))){let T=ai(c);we(n,f.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,T,T)}}}}function zw(n){return n===Je?z:n===Sc?Nl:n}function W5(n){var a;if(k5(n),Na(n)||sa(n.type),!n.name)return;if(n.name.kind===167&&(Hh(n.name),SS(n)&&n.initializer&&Ml(n.initializer)),Na(n)){if(n.propertyName&&Me(n.name)&&JE(n)&&_l(cp(n).body)){kh.push(n);return}Rf(n.parent)&&n.dotDotDotToken&&oe<5&&rc(n,4),n.propertyName&&n.propertyName.kind===167&&Hh(n.propertyName);let _=n.parent.parent,g=n.dotDotDotToken?32:0,T=Sr(_,g),N=n.propertyName||n.name;if(T&&!ko(N)){let O=Pv(N);if(Af(O)){let B=If(O),Q=Qo(T,B);Q&&(v5(Q,void 0,!1),Whe(n,!!_.initializer&&_.initializer.kind===108,!1,T,Q))}}}if(ko(n.name)&&(n.name.kind===207&&oe<2&&F.downlevelIteration&&rc(n,512),an(n.name.elements,sa)),n.initializer&&JE(n)&&_l(cp(n).body)){we(n,f.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);return}if(ko(n.name)){if(she(n))return;let _=SS(n)&&n.initializer&&n.parent.parent.kind!==249,g=!ct(n.name.elements,e8(vc));if(_||g){let T=w(n);if(_){let N=Ml(n.initializer);H&&g?COe(N,n):nb(N,w(n),n,n.initializer)}g&&(i0(n.name)?Ov(65,T,Re,n):H&&COe(T,n))}return}let c=dr(n);if(c.flags&2097152&&(jE(n)||Kte(n))){fZ(n);return}let u=zw(Yn(c));if(n===c.valueDeclaration){let _=SS(n)&&vL(n);if(_&&!(Jn(n)&&ma(_)&&(_.properties.length===0||ry(n.name))&&!!((a=c.exports)!=null&&a.size))&&n.parent.parent.kind!==249){let T=Ml(_);nb(T,u,n,_,void 0);let N=lS(n)&7;if(N===6){let O=Htt(!0),B=ZLe(!0);if(O!==ua&&B!==ua){let Q=Br([O,B,se,Re]);Cd(T,Q,_,f.The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined)}}else if(N===4){let O=ZLe(!0);if(O!==ua){let B=Br([O,se,Re]);Cd(T,B,_,f.The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_null_or_undefined)}}}c.declarations&&c.declarations.length>1&&ct(c.declarations,g=>g!==n&&tx(g)&&!d8e(g,n))&&we(n.name,f.All_declarations_of_0_must_have_identical_modifiers,is(n.name))}else{let _=zw(w(n));!Lt(u)&&!Lt(_)&&!kg(u,_)&&!(c.flags&67108864)&&c8e(c.valueDeclaration,u,n,_),SS(n)&&n.initializer&&nb(Ml(n.initializer),_,n,n.initializer,void 0),c.valueDeclaration&&!d8e(n,c.valueDeclaration)&&we(n.name,f.All_declarations_of_0_must_have_identical_modifiers,is(n.name))}n.kind!==172&&n.kind!==171&&(Lw(n),(n.kind===260||n.kind===208)&&Bct(n),nM(n,n.name))}function c8e(n,a,c,u){let _=mo(c),g=c.kind===172||c.kind===171?f.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:f.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,T=is(_),N=we(_,g,T,Pn(a),Pn(u));n&&fa(N,vr(n,f._0_was_also_declared_here,T))}function d8e(n,a){if(n.kind===169&&a.kind===260||n.kind===260&&a.kind===169)return!0;if(OA(n)!==OA(a))return!1;let c=1358;return BA(n,c)===BA(a,c)}function Gct(n){var a,c;(a=qn)==null||a.push(qn.Phase.Check,\"checkVariableDeclaration\",{kind:n.kind,pos:n.pos,end:n.end,path:n.tracingPath}),Spt(n),W5(n),(c=qn)==null||c.pop()}function Vct(n){return ypt(n),W5(n)}function cZ(n){let a=Xg(n)&7;(a===4||a===6)&&rc(n,33554432),an(n.declarations,sa)}function jct(n){!Jh(n)&&!Kge(n.declarationList)&&Tpt(n),cZ(n.declarationList)}function Uct(n){zg(n),Xi(n.expression)}function Hct(n){zg(n);let a=rM(n.expression);Ige(n.expression,a,n.thenStatement),sa(n.thenStatement),n.thenStatement.kind===242&&we(n.thenStatement,f.The_body_of_an_if_statement_cannot_be_the_empty_statement),sa(n.elseStatement)}function Ige(n,a,c){if(!H)return;u(n,c);function u(g,T){for(g=Ka(g),_(g,T);Zn(g)&&(g.operatorToken.kind===57||g.operatorToken.kind===61);)g=Ka(g.left),_(g,T)}function _(g,T){let N=jL(g)?Ka(g.right):g;if(Eh(N))return;if(jL(N)){u(N,T);return}let O=N===g?a:rM(N),B=Er(N)&&kwe(N.expression);if(!wf(O,4194304)||B)return;let Q=Co(O,0),me=!!eM(O);if(Q.length===0&&!me)return;let ue=Me(N)?N:Er(N)?N.name:void 0,We=ue&&um(ue);if(!We&&!me)return;We&&Zn(g.parent)&&Jct(g.parent,We)||We&&T&&qct(g,T,ue,We)||(me?nE(N,!0,f.This_condition_will_always_return_true_since_this_0_is_always_defined,zy(O)):we(N,f.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead))}}function qct(n,a,c,u){return!!Ao(a,function _(g){if(Me(g)){let T=um(g);if(T&&T===u){if(Me(n)||Me(c)&&Zn(c.parent))return!0;let N=c.parent,O=g.parent;for(;N&&O;){if(Me(N)&&Me(O)||N.kind===110&&O.kind===110)return um(N)===um(O);if(Er(N)&&Er(O)){if(um(N.name)!==um(O.name))return!1;O=O.expression,N=N.expression}else if(Bo(N)&&Bo(O))O=O.expression,N=N.expression;else return!1}}}return Ao(g,_)})}function Jct(n,a){for(;Zn(n)&&n.operatorToken.kind===56;){if(Ao(n.right,function u(_){if(Me(_)){let g=um(_);if(g&&g===a)return!0}return Ao(_,u)}))return!0;n=n.parent}return!1}function Kct(n){zg(n),sa(n.statement),rM(n.expression)}function Xct(n){zg(n),rM(n.expression),sa(n.statement)}function xge(n,a){return n.flags&16384&&we(a,f.An_expression_of_type_void_cannot_be_tested_for_truthiness),n}function rM(n,a){return xge(Xi(n,a),n)}function Yct(n){zg(n)||n.initializer&&n.initializer.kind===261&&Kge(n.initializer),n.initializer&&(n.initializer.kind===261?cZ(n.initializer):Xi(n.initializer)),n.condition&&rM(n.condition),n.incrementor&&Xi(n.incrementor),sa(n.statement),n.locals&&sb(n)}function $ct(n){sWe(n);let a=mW(n);if(n.awaitModifier?a&&nl(a)?sn(n.awaitModifier,f.for_await_loops_cannot_be_used_inside_a_class_static_block):(gc(a)&6)===2&&oe<99&&rc(n,16384):F.downlevelIteration&&oe<2&&rc(n,256),n.initializer.kind===261)cZ(n.initializer);else{let c=n.initializer,u=F5(n);if(c.kind===209||c.kind===210)uA(c,u||it);else{let _=Xi(c);Pw(c,f.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access,f.The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access),u&&nb(u,_,c,n.expression)}}sa(n.statement),n.locals&&sb(n)}function Qct(n){sWe(n);let a=Fhe(Xi(n.expression));if(n.initializer.kind===261){let c=n.initializer.declarations[0];c&&ko(c.name)&&we(c.name,f.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),cZ(n.initializer)}else{let c=n.initializer,u=Xi(c);c.kind===209||c.kind===210?we(c,f.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):ea(Mnt(a),u)?Pw(c,f.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access,f.The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access):we(c,f.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}(a===Ar||!ed(a,126091264))&&we(n.expression,f.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0,Pn(a)),sa(n.statement),n.locals&&sb(n)}function F5(n){let a=n.awaitModifier?15:13;return Ov(a,AD(n.expression),Re,n.expression)}function Ov(n,a,c,u){return vt(a)?a:Rge(n,a,c,u,!0)||z}function Rge(n,a,c,u,_){let g=(n&2)!==0;if(a===Ar){Mge(u,a,g);return}let T=oe>=2,N=!T&&F.downlevelIteration,O=F.noUncheckedIndexedAccess&&!!(n&128);if(T||N||g){let at=uZ(a,n,T?u:void 0);if(_&&at){let ht=n&8?f.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:n&32?f.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:n&64?f.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:n&16?f.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;ht&&Cd(c,at.nextType,u,ht)}if(at||T)return O?Aw(at&&at.yieldType):at&&at.yieldType}let B=a,Q=!1,me=!1;if(n&4){if(B.flags&1048576){let at=a.types,ht=Cr(at,qt=>!(qt.flags&402653316));ht!==at&&(B=Br(ht,2))}else B.flags&402653316&&(B=Ar);if(me=B!==a,me&&(oe<1&&u&&(we(u,f.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),Q=!0),B.flags&131072))return O?Aw(Ie):Ie}if(!Lv(B)){if(u&&!Q){let at=!!(n&4)&&!me,[ht,qt]=We(at,N);nE(u,qt&&!!eM(B),ht,Pn(B))}return me?O?Aw(Ie):Ie:void 0}let ue=yE(B,gt);if(me&&ue)return ue.flags&402653316&&!F.noUncheckedIndexedAccess?Ie:Br(O?[ue,Ie,Re]:[ue,Ie],2);return n&128?Aw(ue):ue;function We(at,ht){var qt;return ht?at?[f.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:[f.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:Dge(n,0,a,void 0)?[f.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!1]:Zct((qt=a.symbol)==null?void 0:qt.escapedName)?[f.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!0]:at?[f.Type_0_is_not_an_array_type_or_a_string_type,!0]:[f.Type_0_is_not_an_array_type,!0]}}function Zct(n){switch(n){case\"Float32Array\":case\"Float64Array\":case\"Int16Array\":case\"Int32Array\":case\"Int8Array\":case\"NodeList\":case\"Uint16Array\":case\"Uint32Array\":case\"Uint8Array\":case\"Uint8ClampedArray\":return!0}return!1}function Dge(n,a,c,u){if(vt(c))return;let _=uZ(c,n,u);return _&&_[TSe(a)]}function wv(n=Ar,a=Ar,c=Zt){if(n.flags&67359327&&a.flags&180227&&c.flags&180227){let u=Of([n,a,c]),_=pi.get(u);return _||(_={yieldType:n,returnType:a,nextType:c},pi.set(u,_)),_}return{yieldType:n,returnType:a,nextType:c}}function u8e(n){let a,c,u;for(let _ of n)if(!(_===void 0||_===hr)){if(_===No)return No;a=pn(a,_.yieldType),c=pn(c,_.returnType),u=pn(u,_.nextType)}return a||c||u?wv(a&&Br(a),c&&Br(c),u&&Zo(u)):hr}function dZ(n,a){return n[a]}function qh(n,a,c){return n[a]=c}function uZ(n,a,c){var u,_;if(vt(n))return No;if(!(n.flags&1048576)){let B=c?{errors:void 0}:void 0,Q=p8e(n,a,c,B);if(Q===hr){if(c){let me=Mge(c,n,!!(a&2));B?.errors&&fa(me,...B.errors)}return}else if((u=B?.errors)!=null&&u.length)for(let me of B.errors)La.add(me);return Q}let g=a&2?\"iterationTypesOfAsyncIterable\":\"iterationTypesOfIterable\",T=dZ(n,g);if(T)return T===hr?void 0:T;let N;for(let B of n.types){let Q=c?{errors:void 0}:void 0,me=p8e(B,a,c,Q);if(me===hr){if(c){let ue=Mge(c,n,!!(a&2));Q?.errors&&fa(ue,...Q.errors)}qh(n,g,hr);return}else if((_=Q?.errors)!=null&&_.length)for(let ue of Q.errors)La.add(ue);N=pn(N,me)}let O=N?u8e(N):hr;return qh(n,g,O),O===hr?void 0:O}function Cge(n,a){if(n===hr)return hr;if(n===No)return No;let{yieldType:c,returnType:u,nextType:_}=n;return a&&s_e(!0),wv(pA(c,a)||z,pA(u,a)||z,_)}function p8e(n,a,c,u){if(vt(n))return No;let _=!1;if(a&2){let g=Nge(n,bs)||m8e(n,bs);if(g)if(g===hr&&c)_=!0;else return a&8?Cge(g,c):g}if(a&1){let g=Nge(n,Jl)||m8e(n,Jl);if(g)if(g===hr&&c)_=!0;else if(a&2){if(g!==hr)return g=Cge(g,c),_?g:qh(n,\"iterationTypesOfAsyncIterable\",g)}else return g}if(a&2){let g=Pge(n,bs,c,u,_);if(g!==hr)return g}if(a&1){let g=Pge(n,Jl,c,u,_);if(g!==hr)return a&2?(g=Cge(g,c),_?g:qh(n,\"iterationTypesOfAsyncIterable\",g)):g}return hr}function Nge(n,a){return dZ(n,a.iterableCacheKey)}function f8e(n,a){let c=Nge(n,a)||Pge(n,a,void 0,void 0,!1);return c===hr?bc:c}function m8e(n,a){let c;if(Jy(n,c=a.getGlobalIterableType(!1))||Jy(n,c=a.getGlobalIterableIteratorType(!1))){let[u]=Ts(n),{returnType:_,nextType:g}=f8e(c,a);return qh(n,a.iterableCacheKey,wv(a.resolveIterationType(u,void 0)||u,a.resolveIterationType(_,void 0)||_,g))}if(Jy(n,a.getGlobalGeneratorType(!1))){let[u,_,g]=Ts(n);return qh(n,a.iterableCacheKey,wv(a.resolveIterationType(u,void 0)||u,a.resolveIterationType(_,void 0)||_,g))}}function _8e(n){let a=YLe(!1),c=a&&Fe(Yn(a),Hs(n));return c&&Af(c)?If(c):`__@${n}`}function Pge(n,a,c,u,_){let g=Qo(n,_8e(a.iteratorSymbolName)),T=g&&!(g.flags&16777216)?Yn(g):void 0;if(vt(T))return _?No:qh(n,a.iterableCacheKey,No);let N=T?Co(T,0):void 0;if(!ct(N))return _?hr:qh(n,a.iterableCacheKey,hr);let O=Zo(nn(N,Ha)),B=h8e(O,a,c,u,_)??hr;return _?B:qh(n,a.iterableCacheKey,B)}function Mge(n,a,c){let u=c?f.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:f.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator,_=!!eM(a)||!c&&R2(n.parent)&&n.parent.expression===n&&q$(!1)!==ho&&ea(a,q$(!1));return nE(n,_,u,Pn(a))}function edt(n,a,c,u){return h8e(n,a,c,u,!1)}function h8e(n,a,c,u,_){if(vt(n))return No;let g=g8e(n,a)||tdt(n,a);return g===hr&&c&&(g=void 0,_=!0),g??(g=y8e(n,a,c,u,_)),g===hr?void 0:g}function g8e(n,a){return dZ(n,a.iteratorCacheKey)}function tdt(n,a){let c=a.getGlobalIterableIteratorType(!1);if(Jy(n,c)){let[u]=Ts(n),_=g8e(c,a)||y8e(c,a,void 0,void 0,!1),{returnType:g,nextType:T}=_===hr?bc:_;return qh(n,a.iteratorCacheKey,wv(u,g,T))}if(Jy(n,a.getGlobalIteratorType(!1))||Jy(n,a.getGlobalGeneratorType(!1))){let[u,_,g]=Ts(n);return qh(n,a.iteratorCacheKey,wv(u,_,g))}}function v8e(n,a){let c=Fe(n,\"done\")||Ot;return ea(a===0?Ot:An,c)}function ndt(n){return v8e(n,0)}function rdt(n){return v8e(n,1)}function idt(n){if(vt(n))return No;let a=dZ(n,\"iterationTypesOfIteratorResult\");if(a)return a;if(Jy(n,jtt(!1))){let T=Ts(n)[0];return qh(n,\"iterationTypesOfIteratorResult\",wv(T,void 0,void 0))}if(Jy(n,Utt(!1))){let T=Ts(n)[0];return qh(n,\"iterationTypesOfIteratorResult\",wv(void 0,T,void 0))}let c=Bl(n,ndt),u=c!==Ar?Fe(c,\"value\"):void 0,_=Bl(n,rdt),g=_!==Ar?Fe(_,\"value\"):void 0;return!u&&!g?qh(n,\"iterationTypesOfIteratorResult\",hr):qh(n,\"iterationTypesOfIteratorResult\",wv(u,g||jn,void 0))}function Lge(n,a,c,u,_){var g,T,N,O;let B=Qo(n,c);if(!B&&c!==\"next\")return;let Q=B&&!(c===\"next\"&&B.flags&16777216)?c===\"next\"?Yn(B):Wf(Yn(B),2097152):void 0;if(vt(Q))return c===\"next\"?No:Qs;let me=Q?Co(Q,0):je;if(me.length===0){if(u){let Kt=c===\"next\"?a.mustHaveANextMethodDiagnostic:a.mustBeAMethodDiagnostic;_?(_.errors??(_.errors=[]),_.errors.push(vr(u,Kt,c))):we(u,Kt,c)}return c===\"next\"?hr:void 0}if(Q?.symbol&&me.length===1){let Kt=a.getGlobalGeneratorType(!1),In=a.getGlobalIteratorType(!1),Sn=((T=(g=Kt.symbol)==null?void 0:g.members)==null?void 0:T.get(c))===Q.symbol,zn=!Sn&&((O=(N=In.symbol)==null?void 0:N.members)==null?void 0:O.get(c))===Q.symbol;if(Sn||zn){let Mn=Sn?Kt:In,{mapper:Bn}=Q;return wv(eb(Mn.typeParameters[0],Bn),eb(Mn.typeParameters[1],Bn),c===\"next\"?eb(Mn.typeParameters[2],Bn):void 0)}}let ue,We;for(let Kt of me)c!==\"throw\"&&ct(Kt.parameters)&&(ue=pn(ue,zm(Kt,0))),We=pn(We,Ha(Kt));let at,ht;if(c!==\"throw\"){let Kt=ue?Br(ue):Zt;if(c===\"next\")ht=Kt;else if(c===\"return\"){let In=a.resolveIterationType(Kt,u)||z;at=pn(at,In)}}let qt,Xt=We?Zo(We):Ar,Hn=a.resolveIterationType(Xt,u)||z,En=idt(Hn);return En===hr?(u&&(_?(_.errors??(_.errors=[]),_.errors.push(vr(u,a.mustHaveAValueDiagnostic,c))):we(u,a.mustHaveAValueDiagnostic,c)),qt=z,at=pn(at,z)):(qt=En.yieldType,at=pn(at,En.returnType)),wv(qt,Br(at),ht)}function y8e(n,a,c,u,_){let g=u8e([Lge(n,a,\"next\",c,u),Lge(n,a,\"return\",c,u),Lge(n,a,\"throw\",c,u)]);return _?g:qh(n,a.iteratorCacheKey,g)}function oS(n,a,c){if(vt(a))return;let u=b8e(a,c);return u&&u[TSe(n)]}function b8e(n,a){if(vt(n))return No;let c=a?2:1,u=a?bs:Jl;return uZ(n,c,void 0)||edt(n,u,void 0,void 0)}function odt(n){zg(n)||vpt(n)}function z5(n,a){let c=!!(a&1),u=!!(a&2);if(c){let _=oS(1,n,u);return _?u?kv(tM(_)):_:it}return u?kv(n)||it:n}function E8e(n,a){let c=z5(a,gc(n));return!!(c&&(ol(c,16384)||c.flags&32769))}function adt(n){if(zg(n))return;let a=mW(n);if(a&&nl(a)){Uc(n,f.A_return_statement_cannot_be_used_inside_a_class_static_block);return}if(!a){Uc(n,f.A_return_statement_can_only_be_used_within_a_function_body);return}let c=kf(a),u=Ha(c),_=gc(a);if(H||n.expression||u.flags&131072){let g=n.expression?Ml(n.expression):Re;if(a.kind===178)n.expression&&we(n,f.Setters_cannot_return_a_value);else if(a.kind===176)n.expression&&!nb(g,u,n,n.expression)&&we(n,f.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(mD(a)){let T=z5(u,_)??u,N=_&2?Ow(g,!1,n,f.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):g;T&&nb(N,T,n,n.expression)}}else a.kind!==176&&F.noImplicitReturns&&!E8e(a,u)&&we(n,f.Not_all_code_paths_return_a_value)}function sdt(n){zg(n)||n.flags&65536&&Uc(n,f.with_statements_are_not_allowed_in_an_async_function_block),Xi(n.expression);let a=Nn(n);if(!aS(a)){let c=W_(a,n.pos).start,u=n.statement.pos;sS(a,c,u-c,f.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any)}}function ldt(n){zg(n);let a,c=!1,u=Xi(n.expression);an(n.caseBlock.clauses,_=>{_.kind===297&&!c&&(a===void 0?a=_:(sn(_,f.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement),c=!0)),_.kind===296&&r(g(_)),an(_.statements,sa),F.noFallthroughCasesInSwitch&&_.fallthroughFlowNode&&s5(_.fallthroughFlowNode)&&we(_,f.Fallthrough_case_in_switch);function g(T){return()=>{let N=Xi(T.expression);fge(u,N)||J2e(N,u,T.expression,void 0)}}}),n.caseBlock.locals&&sb(n.caseBlock)}function cdt(n){zg(n)||Rn(n.parent,a=>Lo(a)?\"quit\":a.kind===256&&a.label.escapedText===n.label.escapedText?(sn(n.label,f.Duplicate_label_0,Vl(n.label)),!0):!1),sa(n.statement)}function ddt(n){zg(n)||Me(n.expression)&&!n.expression.escapedText&&Lpt(n,f.Line_break_not_permitted_here),n.expression&&Xi(n.expression)}function udt(n){zg(n),lZ(n.tryBlock);let a=n.catchClause;if(a){if(a.variableDeclaration){let c=a.variableDeclaration;W5(c);let u=Jc(c);if(u){let _=si(u);_&&!(_.flags&3)&&Uc(u,f.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified)}else if(c.initializer)Uc(c.initializer,f.Catch_clause_variable_cannot_have_an_initializer);else{let _=a.block.locals;_&&O_(a.locals,g=>{let T=_.get(g);T?.valueDeclaration&&T.flags&2&&sn(T.valueDeclaration,f.Cannot_redeclare_identifier_0_in_catch_clause,Ii(g))})}}lZ(a.block)}n.finallyBlock&&lZ(n.finallyBlock)}function pZ(n,a,c){let u=Ud(n);if(u.length===0)return;for(let g of Xy(n))c&&g.flags&4194304||S8e(n,g,vD(g,8576,!0),qy(g));let _=a.valueDeclaration;if(_&&Kr(_)){for(let g of _.members)if(!zo(g)&&!pD(g)){let T=dr(g);S8e(n,T,td(g.name.expression),qy(T))}}if(u.length>1)for(let g of u)pdt(n,g)}function S8e(n,a,c,u){let _=a.valueDeclaration,g=mo(_);if(g&&Ci(g))return;let T=jme(n,c),N=br(n)&2?Vs(n.symbol,264):void 0,O=_&&_.kind===226||g&&g.kind===167?_:void 0,B=nu(a)===n.symbol?_:void 0;for(let Q of T){let me=Q.declaration&&nu(dr(Q.declaration))===n.symbol?Q.declaration:void 0,ue=B||me||(N&&!ct(ep(n),We=>!!vE(We,a.escapedName)&&!!yE(We,Q.keyType))?N:void 0);if(ue&&!ea(u,Q.type)){let We=ET(ue,f.Property_0_of_type_1_is_not_assignable_to_2_index_type_3,ai(a),Pn(u),Pn(Q.keyType),Pn(Q.type));O&&ue!==O&&fa(We,vr(O,f._0_is_declared_here,ai(a))),La.add(We)}}}function pdt(n,a){let c=a.declaration,u=jme(n,a.keyType),_=br(n)&2?Vs(n.symbol,264):void 0,g=c&&nu(dr(c))===n.symbol?c:void 0;for(let T of u){if(T===a)continue;let N=T.declaration&&nu(dr(T.declaration))===n.symbol?T.declaration:void 0,O=g||N||(_&&!ct(ep(n),B=>!!Uh(B,a.keyType)&&!!yE(B,T.keyType))?_:void 0);O&&!ea(a.type,T.type)&&we(O,f._0_index_type_1_is_not_assignable_to_2_index_type_3,Pn(a.keyType),Pn(a.type),Pn(T.keyType),Pn(T.type))}}function iM(n,a){switch(n.escapedText){case\"any\":case\"unknown\":case\"never\":case\"number\":case\"bigint\":case\"boolean\":case\"string\":case\"symbol\":case\"void\":case\"object\":we(n,a,n.escapedText)}}function fdt(n){oe>=1&&n.escapedText===\"Object\"&&(W<5||Nn(n).impliedNodeFormat===1)&&we(n,f.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0,HD[W])}function mdt(n){let a=Cr(Eb(n),Tm);if(!yn(a))return;let c=Jn(n),u=new Set,_=new Set;if(an(n.parameters,({name:T},N)=>{Me(T)&&u.add(T.escapedText),ko(T)&&_.add(N)}),Hme(n)){let T=a.length-1,N=a[T];c&&N&&Me(N.name)&&N.typeExpression&&N.typeExpression.type&&!u.has(N.name.escapedText)&&!_.has(T)&&!ff(si(N.typeExpression.type))&&we(N.name,f.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type,ar(N.name))}else an(a,({name:T,isNameFirst:N},O)=>{_.has(O)||Me(T)&&u.has(T.escapedText)||($d(T)?c&&we(T,f.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1,Wu(T),Wu(T.left)):N||jc(c,T,f.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name,ar(T)))})}function B5(n){let a=!1;if(n)for(let u=0;u<n.length;u++){let _=n[u];Bwe(_),r(c(_,u))}function c(u,_){return()=>{u.default?(a=!0,_dt(u.default,n,_)):a&&we(u,f.Required_type_parameters_may_not_follow_optional_type_parameters);for(let g=0;g<_;g++)n[g].symbol===u.symbol&&we(u.name,f.Duplicate_identifier_0,is(u.name))}}}function _dt(n,a,c){u(n);function u(_){if(_.kind===183){let g=t_e(_);if(g.flags&262144)for(let T=c;T<a.length;T++)g.symbol===dr(a[T])&&we(_,f.Type_parameter_defaults_can_only_reference_previously_declared_type_parameters)}Ao(_,u)}}function T8e(n){if(n.declarations&&n.declarations.length===1)return;let a=Pi(n);if(!a.typeParametersChecked){a.typeParametersChecked=!0;let c=Tdt(n);if(!c||c.length<=1)return;let u=Cs(n);if(!A8e(c,u.localTypeParameters,qv)){let _=ai(n);for(let g of c)we(g.name,f.All_declarations_of_0_must_have_identical_type_parameters,_)}}}function A8e(n,a,c){let u=yn(a),_=ah(a);for(let g of n){let T=c(g),N=T.length;if(N<_||N>u)return!1;for(let O=0;O<N;O++){let B=T[O],Q=a[O];if(B.name.escapedText!==Q.symbol.escapedName)return!1;let me=V1(B),ue=me&&si(me),We=iu(Q);if(ue&&We&&!kg(ue,We))return!1;let at=B.default&&si(B.default),ht=KT(Q);if(at&&ht&&!kg(at,ht))return!1}}return!0}function I8e(n){let a=!$&&oe<99&&Qg(!1,n),c=oe<=9,u=!fe;if(a||c)for(let _ of n.members){if(a&&D9(!1,_,n))return Ac(Hv(n))??n;if(c){if(nl(_))return _;if(zo(_)&&(kd(_)||u&&uk(_)))return _}}}function hdt(n){if(n.name)return;let a=_ie(n);if(!J9(a))return;let c=!$&&oe<99,u;c&&Qg(!1,n)?u=Ac(Hv(n))??n:u=I8e(n),u&&(rc(u,8388608),(Hl(a)||xo(a)||Na(a))&&Pa(a.name)&&rc(u,16777216))}function gdt(n){return x8e(n),E1(n),hdt(n),Yn(dr(n))}function vdt(n){an(n.members,sa),sb(n)}function ydt(n){let a=Dr(n.modifiers,Xc);$&&a&&ct(n.members,c=>jl(c)&&kd(c))&&sn(a,f.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator),!n.name&&!Wr(n,2048)&&Uc(n,f.A_class_declaration_without_the_default_modifier_must_have_a_name),x8e(n),an(n.members,sa),sb(n)}function x8e(n){rpt(n),k5(n),nM(n,n.name),B5(qv(n)),Lw(n);let a=dr(n),c=Cs(a),u=hp(c),_=Yn(a);T8e(a),oZ(a),klt(n),!!(n.flags&33554432)||Olt(n);let T=Km(n);if(T){an(T.typeArguments,sa),oe<2&&rc(T.parent,1);let B=qE(n);B&&B!==T&&Xi(B.expression);let Q=ep(c);Q.length&&r(()=>{let me=Q[0],ue=Zu(c),We=ou(ue);if(Edt(We,T),sa(T.expression),ct(T.typeArguments)){an(T.typeArguments,sa);for(let ht of Dd(We,T.typeArguments,T))if(!Jwe(T,ht.typeParameters))break}let at=hp(me,c.thisType);if(Cd(u,at,void 0)?Cd(_,G2e(We),n.name||n,f.Class_static_side_0_incorrectly_extends_base_class_static_side_1):C8e(n,u,at,f.Class_0_incorrectly_extends_base_class_1),ue.flags&8650752&&(hi(_)?Co(ue,1).some(qt=>qt.flags&4)&&!Wr(n,64)&&we(n.name||n,f.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract):we(n.name||n,f.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any)),!(We.symbol&&We.symbol.flags&32)&&!(ue.flags&8650752)){let ht=ih(We,T.typeArguments,T);an(ht,qt=>!T_(qt.declaration)&&!kg(Ha(qt),me))&&we(T.expression,f.Base_constructors_must_all_have_the_same_return_type)}Adt(c,me)})}bdt(n,c,u,_);let N=fx(n);if(N)for(let B of N)(!gl(B.expression)||yd(B.expression))&&we(B.expression,f.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments),bge(B),r(O(B));r(()=>{pZ(c,a),pZ(_,a,!0),gge(n),Rdt(n)});function O(B){return()=>{let Q=wm(si(B));if(!Lt(Q))if(x7(Q)){let me=Q.symbol&&Q.symbol.flags&32?f.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:f.Class_0_incorrectly_implements_interface_1,ue=hp(Q,c.thisType);Cd(u,ue,void 0)||C8e(n,u,ue,me)}else we(B,f.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members)}}}function bdt(n,a,c,u){let g=Km(n)&&ep(a),T=g?.length?hp(Ta(g),a.thisType):void 0,N=Zu(a);for(let O of n.members)sV(O)||(ll(O)&&an(O.parameters,B=>{wu(B,O)&&R8e(n,u,N,T,a,c,B,!0)}),R8e(n,u,N,T,a,c,O,!1))}function R8e(n,a,c,u,_,g,T,N,O=!0){let B=T.name&&um(T.name)||um(T);return B?D8e(n,a,c,u,_,g,UW(T),$E(T),zo(T),N,$s(B),O?T:void 0):0}function D8e(n,a,c,u,_,g,T,N,O,B,Q,me){let ue=Jn(n),We=!!(n.flags&33554432);if(u&&(T||F.noImplicitOverride)){let at=Hs(Q),ht=O?a:g,qt=O?c:u,Xt=Qo(ht,at),Hn=Qo(qt,at),En=Pn(u);if(Xt&&!Hn&&T){if(me){let Kt=WOe(Q,qt);Kt?we(me,ue?f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:f.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1,En,ai(Kt)):we(me,ue?f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:f.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0,En)}return 2}else if(Xt&&Hn?.declarations&&F.noImplicitOverride&&!We){let Kt=ct(Hn.declarations,$E);if(T)return 0;if(Kt){if(N&&Kt)return me&&we(me,f.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0,En),1}else{if(me){let In=B?ue?f.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:f.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:ue?f.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:f.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0;we(me,In,En)}return 1}}}else if(T){if(me){let at=Pn(_);we(me,ue?f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:f.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class,at)}return 2}return 0}function C8e(n,a,c,u){let _=!1;for(let g of n.members){if(zo(g))continue;let T=g.name&&um(g.name)||um(g);if(T){let N=Qo(a,T.escapedName),O=Qo(c,T.escapedName);if(N&&O){let B=()=>So(void 0,f.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,ai(T),Pn(a),Pn(c));Cd(Yn(N),Yn(O),g.name||g,void 0,B)||(_=!0)}}}_||Cd(a,c,n.name||n,u)}function Edt(n,a){let c=Co(n,1);if(c.length){let u=c[0].declaration;if(u&&zu(u,2)){let _=ig(n.symbol);zge(a,_)||we(a,f.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private,mp(n.symbol))}}}function Sdt(n,a,c){if(!a.name)return 0;let u=dr(n),_=Cs(u),g=hp(_),T=Yn(u),O=Km(n)&&ep(_),B=O?.length?hp(Ta(O),_.thisType):void 0,Q=Zu(_),me=a.parent?UW(a):Wr(a,16);return D8e(n,T,Q,B,_,g,me,$E(a),zo(a),!1,$s(c))}function ND(n){return tl(n)&1?n.links.target:n}function Tdt(n){return Cr(n.declarations,a=>a.kind===263||a.kind===264)}function Adt(n,a){var c,u,_,g;let T=Xa(a),N;e:for(let O of T){let B=ND(O);if(B.flags&4194304)continue;let Q=vE(n,B.escapedName);if(!Q)continue;let me=ND(Q),ue=Kp(B);if(x.assert(!!me,\"derived should point to something, even if it is the base class' declaration.\"),me===B){let We=ig(n.symbol);if(ue&64&&(!We||!Wr(We,64))){for(let at of ep(n)){if(at===a)continue;let ht=vE(at,B.escapedName),qt=ht&&ND(ht);if(qt&&qt!==B)continue e}N||(N=we(We,f.Non_abstract_class_0_does_not_implement_all_abstract_members_of_1,Pn(n),Pn(a))),We.kind===231?fa(N,vr(O.valueDeclaration??(O.declarations&&Ta(O.declarations))??We,f.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1,ai(O),Pn(a))):fa(N,vr(O.valueDeclaration??(O.declarations&&Ta(O.declarations))??We,f.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2,Pn(n),ai(O),Pn(a)))}}else{let We=Kp(me);if(ue&2||We&2)continue;let at,ht=B.flags&98308,qt=me.flags&98308;if(ht&&qt){if((tl(B)&6?(c=B.declarations)!=null&&c.some(En=>N8e(En,ue)):(u=B.declarations)!=null&&u.every(En=>N8e(En,ue)))||tl(B)&262144||me.valueDeclaration&&Zn(me.valueDeclaration))continue;let Xt=ht!==4&&qt===4;if(Xt||ht===4&&qt!==4){let En=Xt?f._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:f._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor;we(mo(me.valueDeclaration)||me.valueDeclaration,En,ai(B),Pn(a),Pn(n))}else if(de){let En=(_=me.declarations)==null?void 0:_.find(Kt=>Kt.kind===172&&!Kt.initializer);if(En&&!(me.flags&33554432)&&!(ue&64)&&!(We&64)&&!((g=me.declarations)!=null&&g.some(Kt=>!!(Kt.flags&33554432)))){let Kt=Ag(ig(n.symbol)),In=En.name;if(En.exclamationToken||!Kt||!Me(In)||!H||!M8e(In,n,Kt)){let Sn=f.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration;we(mo(me.valueDeclaration)||me.valueDeclaration,Sn,ai(B),Pn(a))}}}continue}else if(whe(B)){if(whe(me)||me.flags&4)continue;x.assert(!!(me.flags&98304)),at=f.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor}else B.flags&98304?at=f.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:at=f.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function;we(mo(me.valueDeclaration)||me.valueDeclaration,at,Pn(a),ai(B),Pn(n))}}}function N8e(n,a){return a&64&&(!xo(n)||!n.initializer)||Gd(n.parent)}function Idt(n,a,c){if(!yn(a))return c;let u=new Map;an(c,_=>{u.set(_.escapedName,_)});for(let _ of a){let g=Xa(hp(_,n.thisType));for(let T of g){let N=u.get(T.escapedName);N&&T.parent===N.parent&&u.delete(T.escapedName)}}return bo(u.values())}function xdt(n,a){let c=ep(n);if(c.length<2)return!0;let u=new Map;an(xme(n).declaredProperties,g=>{u.set(g.escapedName,{prop:g,containingType:n})});let _=!0;for(let g of c){let T=Xa(hp(g,n.thisType));for(let N of T){let O=u.get(N.escapedName);if(!O)u.set(N.escapedName,{prop:N,containingType:g});else if(O.containingType!==n&&!Frt(O.prop,N)){_=!1;let Q=Pn(O.containingType),me=Pn(g),ue=So(void 0,f.Named_property_0_of_types_1_and_2_are_not_identical,ai(N),Q,me);ue=So(ue,f.Interface_0_cannot_simultaneously_extend_types_1_and_2,Pn(n),Q,me),La.add(eg(Nn(a),a,ue))}}}return _}function Rdt(n){if(!H||!Ee||n.flags&33554432)return;let a=Ag(n);for(let c of n.members)if(!(Wd(c)&128)&&!zo(c)&&P8e(c)){let u=c.name;if(Me(u)||Ci(u)||Pa(u)){let _=Yn(dr(c));_.flags&3||zP(_)||(!a||!M8e(u,_,a))&&we(c.name,f.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor,is(u))}}}function P8e(n){return n.kind===172&&!$E(n)&&!n.exclamationToken&&!n.initializer}function Ddt(n,a,c,u,_){for(let g of c)if(g.pos>=u&&g.pos<=_){let T=P.createPropertyAccessExpression(P.createThis(),n);Aa(T.expression,T),Aa(T,g),T.flowNode=g.returnFlowNode;let N=ab(T,a,ib(a));if(!zP(N))return!0}return!1}function M8e(n,a,c){let u=Pa(n)?P.createElementAccessExpression(P.createThis(),n.expression):P.createPropertyAccessExpression(P.createThis(),n);Aa(u.expression,u),Aa(u,c),u.flowNode=c.returnFlowNode;let _=ab(u,a,ib(a));return!zP(_)}function Cdt(n){Jh(n)||dpt(n),B5(n.typeParameters),r(()=>{iM(n.name,f.Interface_name_cannot_be_0),Lw(n);let a=dr(n);T8e(a);let c=Vs(a,264);if(n===c){let u=Cs(a),_=hp(u);if(xdt(u,n.name)){for(let g of ep(u))Cd(_,hp(g,u.thisType),n.name,f.Interface_0_incorrectly_extends_interface_1);pZ(u,a)}}jwe(n)}),an(SC(n),a=>{(!gl(a.expression)||yd(a.expression))&&we(a.expression,f.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments),bge(a)}),an(n.members,sa),r(()=>{gge(n),sb(n)})}function Ndt(n){Jh(n),iM(n.name,f.Type_alias_name_cannot_be_0),Lw(n),B5(n.typeParameters),n.type.kind===141?(!u4.has(n.name.escapedText)||yn(n.typeParameters)!==1)&&we(n.type,f.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types):(sa(n.type),sb(n))}function L8e(n){let a=Fr(n);if(!(a.flags&1024)){a.flags|=1024;let c=0;for(let u of n.members){let _=Pdt(u,c);Fr(u).enumMemberValue=_,c=typeof _==\"number\"?_+1:void 0}}}function Pdt(n,a){if(aL(n.name))we(n.name,f.Computed_property_names_are_not_allowed_in_enums);else{let c=$1(n.name);Rh(c)&&!XC(c)&&we(n.name,f.An_enum_member_cannot_have_a_numeric_name)}if(n.initializer)return Mdt(n);if(!(n.parent.flags&33554432&&!BE(n.parent))){if(a!==void 0)return a;we(n.name,f.Enum_member_must_have_initializer)}}function Mdt(n){let a=BE(n.parent),c=n.initializer,u=oM(c,n);return u!==void 0?a&&typeof u==\"number\"&&!isFinite(u)&&we(c,isNaN(u)?f.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:f.const_enum_member_initializer_was_evaluated_to_a_non_finite_value):a?we(c,f.const_enum_member_initializers_must_be_constant_expressions):n.parent.flags&33554432?we(c,f.In_ambient_enum_declarations_member_initializer_must_be_constant_expression):Cd(Xi(c),gt,c,f.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values),u}function oM(n,a){switch(n.kind){case 224:let c=oM(n.operand,a);if(typeof c==\"number\")switch(n.operator){case 40:return c;case 41:return-c;case 55:return~c}break;case 226:let u=oM(n.left,a),_=oM(n.right,a);if(typeof u==\"number\"&&typeof _==\"number\")switch(n.operatorToken.kind){case 52:return u|_;case 51:return u&_;case 49:return u>>_;case 50:return u>>>_;case 48:return u<<_;case 53:return u^_;case 42:return u*_;case 44:return u/_;case 40:return u+_;case 41:return u-_;case 45:return u%_;case 43:return u**_}else if((typeof u==\"string\"||typeof u==\"number\")&&(typeof _==\"string\"||typeof _==\"number\")&&n.operatorToken.kind===40)return\"\"+u+_;break;case 11:case 15:return n.text;case 228:return O8e(n,a);case 9:return Xge(n),+n.text;case 217:return oM(n.expression,a);case 80:{let T=n;if(XC(T.escapedText)&&Es(T,111551,!0)===WP(T.escapedText,111551,void 0))return+T.escapedText}case 211:if(gl(n)){let T=Es(n,111551,!0);if(T){if(T.flags&8)return a?k8e(n,T,a):MD(T.valueDeclaration);if(KP(T)){let N=T.valueDeclaration;if(N&&yi(N)&&!N.type&&N.initializer&&(!a||N!==a&&bg(N,a)))return oM(N.initializer,N)}}}break;case 212:let g=n.expression;if(gl(g)&&Ga(n.argumentExpression)){let T=Es(g,111551,!0);if(T&&T.flags&384){let N=Hs(n.argumentExpression.text),O=T.exports.get(N);if(O)return a?k8e(n,O,a):MD(O.valueDeclaration)}}break}}function k8e(n,a,c){let u=a.valueDeclaration;if(!u||u===c){we(n,f.Property_0_is_used_before_being_assigned,ai(a));return}return bg(u,c)?MD(u):(we(n,f.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums),0)}function O8e(n,a){let c=n.head.text;for(let u of n.templateSpans){let _=oM(u.expression,a);if(_===void 0)return;c+=_,c+=u.literal.text}return c}function Ldt(n){r(()=>kdt(n))}function kdt(n){Jh(n),nM(n,n.name),Lw(n),n.members.forEach(Odt),L8e(n);let a=dr(n),c=Vs(a,n.kind);if(n===c){if(a.declarations&&a.declarations.length>1){let _=BE(n);an(a.declarations,g=>{kb(g)&&BE(g)!==_&&we(mo(g),f.Enum_declarations_must_all_be_const_or_non_const)})}let u=!1;an(a.declarations,_=>{if(_.kind!==266)return!1;let g=_;if(!g.members.length)return!1;let T=g.members[0];T.initializer||(u?we(T.name,f.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):u=!0)})}}function Odt(n){Ci(n.name)&&we(n,f.An_enum_member_cannot_be_named_with_a_private_identifier),n.initializer&&Xi(n.initializer)}function wdt(n){let a=n.declarations;if(a){for(let c of a)if((c.kind===263||c.kind===262&&gf(c.body))&&!(c.flags&33554432))return c}}function Wdt(n,a){let c=w_(n),u=w_(a);return $_(c)?$_(u):$_(u)?!1:c===u}function Fdt(n){n.body&&(sa(n.body),Jm(n)||sb(n)),r(a);function a(){var c,u;let _=Jm(n),g=n.flags&33554432;_&&!g&&we(n.name,f.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context);let T=sd(n),N=T?f.An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:f.A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module;if(G5(n,N))return;Jh(n)||!g&&n.name.kind===11&&sn(n.name,f.Only_ambient_modules_can_use_quoted_names),Me(n.name)&&nM(n,n.name),Lw(n);let O=dr(n);if(O.flags&512&&!g&&FU(n,n0(F))){if(xf(F)&&!Nn(n).externalModuleIndicator&&we(n.name,f.Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement,Ge),((c=O.declarations)==null?void 0:c.length)>1){let B=wdt(O);B&&(Nn(n)!==Nn(B)?we(n.name,f.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):n.pos<B.pos&&we(n.name,f.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged));let Q=Vs(O,263);Q&&Wdt(n,Q)&&(Fr(n).flags|=2048)}if(F.verbatimModuleSyntax&&n.parent.kind===312&&(W===1||n.parent.impliedNodeFormat===1)){let B=(u=n.modifiers)==null?void 0:u.find(Q=>Q.kind===95);B&&we(B,f.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled)}}if(T)if(zE(n)){if((_||dr(n).flags&33554432)&&n.body)for(let Q of n.body.statements)kge(Q,_)}else $_(n.parent)?_?we(n.name,f.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations):Ic(Ef(n.name))&&we(n.name,f.Ambient_module_declaration_cannot_specify_relative_module_name):_?we(n.name,f.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations):we(n.name,f.Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces)}}function kge(n,a){switch(n.kind){case 243:for(let u of n.declarationList.declarations)kge(u,a);break;case 277:case 278:Uc(n,f.Exports_and_export_assignments_are_not_permitted_in_module_augmentations);break;case 271:case 272:Uc(n,f.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module);break;case 208:case 260:let c=n.name;if(ko(c)){for(let u of c.elements)kge(u,a);break}case 263:case 266:case 262:case 264:case 267:case 265:if(a)return;break}}function zdt(n){switch(n.kind){case 80:return n;case 166:do n=n.left;while(n.kind!==80);return n;case 211:do{if(Eh(n.expression)&&!Ci(n.name))return n.name;n=n.expression}while(n.kind!==80);return n}}function Oge(n){let a=lx(n);if(!a||_l(a))return!1;if(!da(a))return we(a,f.String_literal_expected),!1;let c=n.parent.kind===268&&sd(n.parent.parent);if(n.parent.kind!==312&&!c)return we(a,n.kind===278?f.Export_declarations_are_not_permitted_in_a_namespace:f.Import_declarations_in_a_namespace_cannot_reference_a_module),!1;if(c&&Ic(a.text)&&!Gy(n))return we(n,f.Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name),!1;if(!Nc(n)&&n.attributes){let u=n.attributes.token===118?f.Import_attribute_values_must_be_string_literal_expressions:f.Import_assertion_values_must_be_string_literal_expressions,_=!1;for(let g of n.attributes.elements)da(g.value)||(_=!0,we(g.value,u));return!_}return!0}function fZ(n){var a,c,u,_;let g=dr(n),T=fc(g);if(T!==tt){if(g=Oa(g.exportSymbol||g),Jn(n)&&!(T.flags&111551)&&!Sb(n)){let B=RA(n)?n.propertyName||n.name:Ld(n)?n.name:n;if(x.assert(n.kind!==280),n.kind===281){let Q=we(B,f.Types_cannot_appear_in_export_declarations_in_JavaScript_files),me=(c=(a=Nn(n).symbol)==null?void 0:a.exports)==null?void 0:c.get((n.propertyName||n.name).escapedText);if(me===T){let ue=(u=me.declarations)==null?void 0:u.find(q1);ue&&fa(Q,vr(ue,f._0_is_automatically_exported_here,Ii(me.escapedName)))}}else{x.assert(n.kind!==260);let Q=Rn(n,hm(cc,Nc)),me=(Q&&((_=sx(Q))==null?void 0:_.text))??\"...\",ue=Ii(Me(B)?B.escapedText:g.escapedName);we(B,f._0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation,ue,`import(\"${me}\").${ue}`)}return}let N=Qc(T),O=(g.flags&1160127?111551:0)|(g.flags&788968?788968:0)|(g.flags&1920?1920:0);if(N&O){let B=n.kind===281?f.Export_declaration_conflicts_with_exported_declaration_of_0:f.Import_declaration_conflicts_with_local_declaration_of_0;we(n,B,ai(g))}else n.kind!==281&&F.isolatedModules&&!Rn(n,Sb)&&g.flags&1160127&&we(n,f.Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled,ai(g),Ge);if(xf(F)&&!Sb(n)&&!(n.flags&33554432)){let B=of(g),Q=!(N&111551);if(Q||B)switch(n.kind){case 273:case 276:case 271:{if(F.preserveValueImports||F.verbatimModuleSyntax){x.assertIsDefined(n.name,\"An ImportClause with a symbol should have a name\");let me=F.verbatimModuleSyntax&&ox(n)?f.An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:Q?F.verbatimModuleSyntax?f._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:f._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:F.verbatimModuleSyntax?f._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:f._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled,ue=ar(n.kind===276&&n.propertyName||n.name);Oh(we(n,me,ue),Q?void 0:B,ue)}Q&&n.kind===271&&zu(n,32)&&we(n,f.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled,Ge);break}case 281:if(F.verbatimModuleSyntax||Nn(B)!==Nn(n)){let me=ar(n.propertyName||n.name),ue=Q?we(n,f.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type,Ge):we(n,f._0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled,me,Ge);Oh(ue,Q?void 0:B,me);break}}F.verbatimModuleSyntax&&n.kind!==271&&!Jn(n)&&(W===1||Nn(n).impliedNodeFormat===1)&&we(n,f.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled)}if(Iu(n)){let B=wge(g,n);Dy(B)&&B.declarations&&Tv(n,B.declarations,B.escapedName)}}}function wge(n,a){if(!(n.flags&2097152)||Dy(n)||!im(n))return n;let c=fc(n);if(c===tt)return c;for(;n.flags&2097152;){let u=Nhe(n);if(u){if(u===c)break;if(u.declarations&&yn(u.declarations))if(Dy(u)){Tv(a,u.declarations,u.escapedName);break}else{if(n===c)break;n=u}}else break}return c}function mZ(n){nM(n,n.name),fZ(n),n.kind===276&&ar(n.propertyName||n.name)===\"default\"&&z_(F)&&W!==4&&(W<5||Nn(n).impliedNodeFormat===1)&&rc(n,131072)}function w8e(n){var a;let c=n.attributes;if(c){let u=i_e(!0);u!==ua&&Cd(ie(c),e5(u,32768),c);let _=RH(n),g=oR(c,_?sn:void 0),T=n.attributes.token===118;if(_&&g)return;if((W===199&&n.moduleSpecifier&&Oi(n.moduleSpecifier))!==99&&W!==99&&W!==200){let O=T?W===199?f.Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:f.Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve:W===199?f.Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:f.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve;return sn(c,O)}if(cc(n)?(a=n.importClause)!=null&&a.isTypeOnly:n.isTypeOnly)return sn(c,T?f.Import_attributes_cannot_be_used_with_type_only_imports_or_exports:f.Import_assertions_cannot_be_used_with_type_only_imports_or_exports);if(g)return sn(c,f.resolution_mode_can_only_be_set_for_type_only_imports)}}function Bdt(n){return qd(Ml(n.value))}function Gdt(n){if(!G5(n,Jn(n)?f.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:f.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)){if(!Jh(n)&&jW(n)&&Uc(n,f.An_import_declaration_cannot_have_modifiers),Oge(n)){let a=n.importClause;a&&!Opt(a)&&(a.name&&mZ(a),a.namedBindings&&(a.namedBindings.kind===274?(mZ(a.namedBindings),W!==4&&(W<5||Nn(n).impliedNodeFormat===1)&&z_(F)&&rc(n,65536)):jd(n,n.moduleSpecifier)&&an(a.namedBindings.elements,mZ)))}w8e(n)}}function Vdt(n){if(!G5(n,Jn(n)?f.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:f.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)&&(Jh(n),ox(n)||Oge(n)))if(mZ(n),Wr(n,32)&&ky(n),n.moduleReference.kind!==283){let a=fc(dr(n));if(a!==tt){let c=Qc(a);if(c&111551){let u=dp(n.moduleReference);Es(u,112575).flags&1920||we(u,f.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,is(u))}c&788968&&iM(n.name,f.Import_name_cannot_be_0)}n.isTypeOnly&&sn(n,f.An_import_alias_cannot_use_import_type)}else W>=5&&W!==200&&Nn(n).impliedNodeFormat===void 0&&!n.isTypeOnly&&!(n.flags&33554432)&&sn(n,f.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}function jdt(n){if(!G5(n,Jn(n)?f.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:f.An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)){if(!Jh(n)&&bne(n)&&Uc(n,f.An_export_declaration_cannot_have_modifiers),n.moduleSpecifier&&n.exportClause&&$p(n.exportClause)&&yn(n.exportClause.elements)&&oe===0&&rc(n,4194304),Udt(n),!n.moduleSpecifier||Oge(n))if(n.exportClause&&!j_(n.exportClause)){an(n.exportClause.elements,Ydt);let a=n.parent.kind===268&&sd(n.parent.parent),c=!a&&n.parent.kind===268&&!n.moduleSpecifier&&n.flags&33554432;n.parent.kind!==312&&!a&&!c&&we(n,f.Export_declarations_are_not_permitted_in_a_namespace)}else{let a=jd(n,n.moduleSpecifier);a&&xv(a)?we(n.moduleSpecifier,f.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,ai(a)):n.exportClause&&fZ(n.exportClause),W!==4&&(W<5||Nn(n).impliedNodeFormat===1)&&(n.exportClause?z_(F)&&rc(n,65536):rc(n,32768))}w8e(n)}}function Udt(n){var a;return n.isTypeOnly&&((a=n.exportClause)==null?void 0:a.kind)===279?mWe(n.exportClause):!1}function G5(n,a){let c=n.parent.kind===312||n.parent.kind===268||n.parent.kind===267;return c||Uc(n,a),!c}function Hdt(n){return CW(n,a=>!!dr(a).isReferenced)}function qdt(n){return CW(n,a=>!!Pi(dr(a)).constEnumReferenced)}function Jdt(n){return cc(n)&&n.importClause&&!n.importClause.isTypeOnly&&Hdt(n.importClause)&&!bZ(n.importClause,!0)&&!qdt(n.importClause)}function Kdt(n){return Nc(n)&&U_(n.moduleReference)&&!n.isTypeOnly&&dr(n).isReferenced&&!bZ(n,!1)&&!Pi(dr(n)).constEnumReferenced}function Xdt(n){if(ot)for(let a of n.statements)(Jdt(a)||Kdt(a))&&we(a,f.This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error)}function Ydt(n){if(fZ(n),Xp(F)&&RP(n.propertyName||n.name,!0),n.parent.parent.moduleSpecifier)z_(F)&&W!==4&&(W<5||Nn(n).impliedNodeFormat===1)&&ar(n.propertyName||n.name)===\"default\"&&rc(n,131072);else{let a=n.propertyName||n.name,c=Xs(a,a.escapedText,2998271,void 0,void 0,!0);if(c&&(c===Le||c===Ke||c.declarations&&$_(J(c.declarations[0]))))we(a,f.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,ar(a));else{!n.isTypeOnly&&!n.parent.parent.isTypeOnly&&ky(n);let u=c&&(c.flags&2097152?fc(c):c);(!u||Qc(u)&111551)&&Ml(n.propertyName||n.name)}}}function $dt(n){let a=n.isExportEquals?f.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:f.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration;if(G5(n,a))return;let c=n.parent.kind===312?n.parent:n.parent.parent;if(c.kind===267&&!sd(c)){n.isExportEquals?we(n,f.An_export_assignment_cannot_be_used_in_a_namespace):we(n,f.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);return}!Jh(n)&&jW(n)&&Uc(n,f.An_export_assignment_cannot_have_modifiers);let u=Jc(n);u&&Cd(Ml(n.expression),si(u),n.expression);let _=!n.isExportEquals&&!(n.flags&33554432)&&F.verbatimModuleSyntax&&(W===1||Nn(n).impliedNodeFormat===1);if(n.expression.kind===80){let g=n.expression,T=zp(Es(g,-1,!0,!0,n));if(T){let N=of(T,111551);if(MQ(T,g),Qc(T)&111551?(Ml(g),!_&&!(n.flags&33554432)&&F.verbatimModuleSyntax&&N&&we(g,n.isExportEquals?f.An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:f.An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration,ar(g))):!_&&!(n.flags&33554432)&&F.verbatimModuleSyntax&&we(g,n.isExportEquals?f.An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:f.An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type,ar(g)),!_&&!(n.flags&33554432)&&xf(F)&&!(T.flags&111551)){let O=Qc(T,!1,!0);T.flags&2097152&&O&788968&&!(O&111551)&&(!N||Nn(N)!==Nn(n))?we(g,n.isExportEquals?f._0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:f._0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default,ar(g),Ge):N&&Nn(N)!==Nn(n)&&Oh(we(g,n.isExportEquals?f._0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:f._0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default,ar(g),Ge),N,ar(g))}}else Ml(g);Xp(F)&&RP(g,!0)}else Ml(n.expression);_&&we(n,f.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled),W8e(c),n.flags&33554432&&!gl(n.expression)&&sn(n.expression,f.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),n.isExportEquals&&(W>=5&&W!==200&&(n.flags&33554432&&Nn(n).impliedNodeFormat===99||!(n.flags&33554432)&&Nn(n).impliedNodeFormat!==1)?sn(n,f.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):W===4&&!(n.flags&33554432)&&sn(n,f.Export_assignment_is_not_supported_when_module_flag_is_system))}function Qdt(n){return hc(n.exports,(a,c)=>c!==\"export=\")}function W8e(n){let a=dr(n),c=Pi(a);if(!c.exportsChecked){let u=a.exports.get(\"export=\");if(u&&Qdt(a)){let g=im(u)||u.valueDeclaration;g&&!Gy(g)&&!Jn(g)&&we(g,f.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements)}let _=Z_(a);_&&_.forEach(({declarations:g,flags:T},N)=>{if(N===\"__export\"||T&1920)return;let O=Wv(g,Zw(ASe,e8(Gd)));if(!(T&524288&&O<=2)&&O>1&&!_Z(g))for(let B of g)ESe(B)&&La.add(vr(B,f.Cannot_redeclare_exported_variable_0,Ii(N)))}),c.exportsChecked=!0}}function _Z(n){return n&&n.length>1&&n.every(a=>Jn(a)&&us(a)&&(DS(a.expression)||Eh(a.expression)))}function sa(n){if(n){let a=R;R=n,S=0,Zdt(n),R=a}}function Zdt(n){CL(n)&&an(n.jsDoc,({comment:c,tags:u})=>{F8e(c),an(u,_=>{F8e(_.comment),Jn(n)&&sa(_)})});let a=n.kind;if(i)switch(a){case 267:case 263:case 264:case 262:i.throwIfCancellationRequested()}switch(a>=243&&a<=259&&DL(n)&&n.flowNode&&!s5(n.flowNode)&&jc(F.allowUnreachableCode===!1,n,f.Unreachable_code_detected),a){case 168:return Bwe(n);case 169:return Gwe(n);case 172:return Uwe(n);case 171:return wlt(n);case 185:case 184:case 179:case 180:case 181:return Mw(n);case 174:case 173:return Wlt(n);case 175:return Flt(n);case 176:return zlt(n);case 177:case 178:return qwe(n);case 183:return bge(n);case 182:return Mlt(n);case 186:return Hlt(n);case 187:return qlt(n);case 188:return Jlt(n);case 189:return Klt(n);case 192:case 193:return Xlt(n);case 196:case 190:case 191:return sa(n.type);case 197:return Zlt(n);case 198:return ect(n);case 194:return tct(n);case 195:return nct(n);case 203:return rct(n);case 205:return ict(n);case 202:return oct(n);case 335:return Act(n);case 336:return Tct(n);case 353:case 345:case 347:return mct(n);case 352:return _ct(n);case 351:return hct(n);case 331:case 332:case 333:return vct(n);case 348:return yct(n);case 355:return bct(n);case 324:Ect(n);case 322:case 321:case 319:case 320:case 329:z8e(n),Ao(n,sa);return;case 325:eut(n);return;case 316:return sa(n.type);case 340:case 342:case 341:return Ict(n);case 357:return gct(n);case 350:return Sct(n);case 199:return Ylt(n);case 200:return $lt(n);case 262:return fct(n);case 241:case 268:return lZ(n);case 243:return jct(n);case 244:return Uct(n);case 245:return Hct(n);case 246:return Kct(n);case 247:return Xct(n);case 248:return Yct(n);case 249:return Qct(n);case 250:return $ct(n);case 251:case 252:return odt(n);case 253:return adt(n);case 254:return sdt(n);case 255:return ldt(n);case 256:return cdt(n);case 257:return ddt(n);case 258:return udt(n);case 260:return Gct(n);case 208:return Vct(n);case 263:return ydt(n);case 264:return Cdt(n);case 265:return Ndt(n);case 266:return Ldt(n);case 267:return Fdt(n);case 272:return Gdt(n);case 271:return Vdt(n);case 278:return jdt(n);case 277:return $dt(n);case 242:case 259:zg(n);return;case 282:return Glt(n)}}function F8e(n){oo(n)&&an(n,a=>{PA(a)&&sa(a)})}function z8e(n){if(!Jn(n))if(b6(n)||Bx(n)){let a=qo(b6(n)?54:58),c=n.postfix?f._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:f._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1,u=n.type,_=si(u);sn(n,c,a,Pn(Bx(n)&&!(_===Ar||_===jn)?Br(pn([_,Re],n.postfix?void 0:se)):_))}else sn(n,f.JSDoc_types_can_only_be_used_inside_documentation_comments)}function eut(n){z8e(n),sa(n.type);let{parent:a}=n;if(ao(a)&&Gx(a.parent)){Da(a.parent.parameters)!==a&&we(n,f.A_rest_parameter_must_be_last_in_a_parameter_list);return}f0(a)||we(n,f.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);let c=n.parent.parent;if(!Tm(c)){we(n,f.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);return}let u=NL(c);if(!u)return;let _=xb(c);(!_||Da(_.parameters).symbol!==u)&&we(n,f.A_rest_parameter_must_be_last_in_a_parameter_list)}function tut(n){let a=si(n.type),{parent:c}=n,u=n.parent.parent;if(f0(n.parent)&&Tm(u)){let _=xb(u),g=Dj(u.parent.parent);if(_||g){let T=Ns(g?u.parent.parent.typeExpression.parameters:_.parameters),N=NL(u);if(!T||N&&T.symbol===N&&gh(T))return _d(a)}}return ao(c)&&Gx(c.parent)?_d(a):Mu(a)}function E1(n){let a=Nn(n),c=Fr(a);c.flags&1?x.assert(!c.deferredNodes,\"A type-checked file should have no deferred nodes.\"):(c.deferredNodes||(c.deferredNodes=new Set),c.deferredNodes.add(n))}function nut(n){let a=Fr(n);a.deferredNodes&&a.deferredNodes.forEach(rut),a.deferredNodes=void 0}function rut(n){var a,c;(a=qn)==null||a.push(qn.Phase.Check,\"checkDeferredNode\",{kind:n.kind,pos:n.pos,end:n.end,path:n.tracingPath});let u=R;switch(R=n,S=0,n.kind){case 213:case 214:case 215:case 170:case 286:cA(n);break;case 218:case 219:case 174:case 173:$st(n);break;case 177:case 178:qwe(n);break;case 231:vdt(n);break;case 168:Plt(n);break;case 285:aat(n);break;case 284:lat(n);break;case 216:case 234:case 217:Ast(n);break;case 222:Xi(n.expression);break;case 226:qW(n)&&cA(n);break}R=u,(c=qn)==null||c.pop()}function iut(n){var a,c;(a=qn)==null||a.push(qn.Phase.Check,\"checkSourceFile\",{path:n.path},!0),Ls(\"beforeCheck\"),out(n),Ls(\"afterCheck\"),Sp(\"Check\",\"beforeCheck\",\"afterCheck\"),(c=qn)==null||c.pop()}function B8e(n,a){if(a)return!1;switch(n){case 0:return!!F.noUnusedLocals;case 1:return!!F.noUnusedParameters;default:return x.assertNever(n)}}function G8e(n){return Op.get(n.path)||je}function out(n){let a=Fr(n);if(!(a.flags&1)){if(UC(n,F,e))return;Ppt(n),ph(P0),ph(M0),ph(Iy),ph(xy),ph(kh),an(n.statements,sa),sa(n.endOfFileToken),nut(n),sp(n)&&sb(n),r(()=>{!n.isDeclarationFile&&(F.noUnusedLocals||F.noUnusedParameters)&&i8e(G8e(n),(c,u,_)=>{!X1(c)&&B8e(u,!!(c.flags&33554432))&&La.add(_)}),n.isDeclarationFile||Cct()}),F.importsNotUsedAsValues===2&&!n.isDeclarationFile&&wl(n)&&Xdt(n),sp(n)&&W8e(n),P0.length&&(an(P0,Mct),ph(P0)),M0.length&&(an(M0,Lct),ph(M0)),Iy.length&&(an(Iy,Wct),ph(Iy)),xy.length&&(an(xy,zct),ph(xy)),a.flags|=1}}function V8e(n,a){try{return i=a,aut(n)}finally{i=void 0}}function Wge(){for(let n of t)n();t=[]}function Fge(n){Wge();let a=r;r=c=>c(),iut(n),r=a}function aut(n){if(n){Wge();let a=La.getGlobalDiagnostics(),c=a.length;Fge(n);let u=La.getDiagnostics(n.fileName),_=La.getGlobalDiagnostics();if(_!==a){let g=LZ(a,_,zC);return ro(g,u)}else if(c===0&&_.length>0)return ro(_,u);return u}return an(e.getSourceFiles(),Fge),La.getDiagnostics()}function sut(){return Wge(),La.getGlobalDiagnostics()}function lut(n,a){if(n.flags&67108864)return[];let c=Vo(),u=!1;return _(),c.delete(\"this\"),Ume(c);function _(){for(;n;){switch(L_(n)&&n.locals&&!$_(n)&&T(n.locals,a),n.kind){case 312:if(!wl(n))break;case 267:N(dr(n).exports,a&2623475);break;case 266:T(dr(n).exports,a&8);break;case 231:n.name&&g(n.symbol,a);case 263:case 264:u||T(Ky(dr(n)),a&788968);break;case 218:n.name&&g(n.symbol,a);break}zte(n)&&g(Dt,a),u=zo(n),n=n.parent}T(he,a)}function g(O,B){if(Sx(O)&B){let Q=O.escapedName;c.has(Q)||c.set(Q,O)}}function T(O,B){B&&O.forEach(Q=>{g(Q,B)})}function N(O,B){B&&O.forEach(Q=>{!Vs(Q,281)&&!Vs(Q,280)&&Q.escapedName!==\"default\"&&g(Q,B)})}}function cut(n){return n.kind===80&&Cx(n.parent)&&mo(n.parent)===n}function j8e(n){for(;n.parent.kind===166;)n=n.parent;return n.parent.kind===183}function dut(n){for(;n.parent.kind===211;)n=n.parent;return n.parent.kind===233}function U8e(n,a){let c,u=Oc(n);for(;u&&!(c=a(u));)u=Oc(u);return c}function uut(n){return!!Rn(n,a=>ll(a)&&gf(a.body)||xo(a)?!0:Kr(a)||hs(a)?\"quit\":!1)}function zge(n,a){return!!U8e(n,c=>c===a)}function put(n){for(;n.parent.kind===166;)n=n.parent;if(n.parent.kind===271)return n.parent.moduleReference===n?n.parent:void 0;if(n.parent.kind===277)return n.parent.expression===n?n.parent:void 0}function hZ(n){return put(n)!==void 0}function fut(n){switch(hl(n.parent.parent)){case 1:case 3:return Fp(n.parent);case 5:if(Er(n.parent)&&Tx(n.parent)===n)return;case 4:case 2:return dr(n.parent.parent)}}function mut(n){let a=n.parent;for(;$d(a);)n=a,a=a.parent;if(a&&a.kind===205&&a.qualifier===n)return a}function _ut(n){if(n.expression.kind===110){let a=lu(n,!1,!1);if(Lo(a)){let c=tOe(a);if(c){let u=CE(c,void 0),_=rOe(c,u);return _&&!vt(_)}}}}function H8e(n){if(ng(n))return Fp(n.parent);if(Jn(n)&&n.parent.kind===211&&n.parent===n.parent.parent.left&&!Ci(n)&&!Ob(n)&&!_ut(n.parent)){let a=fut(n);if(a)return a}if(n.parent.kind===277&&gl(n)){let a=Es(n,2998271,!0);if(a&&a!==tt)return a}else if(Su(n)&&hZ(n)){let a=Db(n,271);return x.assert(a!==void 0),i1(n,!0)}if(Su(n)){let a=mut(n);if(a){si(a);let c=Fr(n).resolvedSymbol;return c===tt?void 0:c}}for(;xne(n);)n=n.parent;if(dut(n)){let a=0;n.parent.kind===233?(a=yh(n)?788968:111551,HW(n.parent)&&(a|=111551)):a=1920,a|=2097152;let c=gl(n)?Es(n,a,!0):void 0;if(c)return c}if(n.parent.kind===348)return NL(n.parent);if(n.parent.kind===168&&n.parent.parent.kind===352){x.assert(!Jn(n));let a=Qte(n.parent);return a&&a.symbol}if(bh(n)){if(_l(n))return;let a=Rn(n,hm(PA,hN,Ob)),c=a?901119:111551;if(n.kind===80){if(ix(n)&&b1(n)){let _=zQ(n.parent);return _===tt?void 0:_}let u=Es(n,c,!0,!0,xb(n));if(!u&&a){let _=Rn(n,hm(Kr,Gd));if(_)return V5(n,!0,dr(_))}if(u&&a){let _=PS(n);if(_&&p0(_)&&_===u.valueDeclaration)return Es(n,c,!0,!0,Nn(_))||u}return u}else{if(Ci(n))return VQ(n);if(n.kind===211||n.kind===166){let u=Fr(n);return u.resolvedSymbol?u.resolvedSymbol:(n.kind===211?(BQ(n,0),u.resolvedSymbol||(u.resolvedSymbol=q8e(Ml(n.expression),Pv(n.name)))):NOe(n,0),!u.resolvedSymbol&&a&&$d(n)?V5(n):u.resolvedSymbol)}else if(Ob(n))return V5(n)}}else if(j8e(n)){let a=n.parent.kind===183?788968:1920,c=Es(n,a,!1,!0);return c&&c!==tt?c:V$(n)}if(n.parent.kind===182)return Es(n,1)}function q8e(n,a){let c=jme(n,a);if(c.length&&n.members){let u=z$(Om(n).members);if(c===Ud(n))return u;if(u){let _=Pi(u),g=Fi(c,N=>N.declaration),T=nn(g,Fa).join(\",\");if(_.filteredIndexSymbolCache||(_.filteredIndexSymbolCache=new Map),_.filteredIndexSymbolCache.has(T))return _.filteredIndexSymbolCache.get(T);{let N=Ra(131072,\"__index\");return N.declarations=Fi(c,O=>O.declaration),N.parent=n.aliasSymbol?n.aliasSymbol:n.symbol?n.symbol:um(N.declarations[0].parent),_.filteredIndexSymbolCache.set(T,N),N}}}}function V5(n,a,c){if(Su(n)){let T=Es(n,901119,a,!0,xb(n));if(!T&&Me(n)&&c&&(T=Oa(gu(Qu(c),n.escapedText,901119))),T)return T}let u=Me(n)?c:V5(n.left,a,c),_=Me(n)?n.escapedText:n.right.escapedText;if(u){let g=u.flags&111551&&Qo(Yn(u),\"prototype\"),T=g?Yn(g):Cs(u);return Qo(T,_)}}function um(n,a){if(Li(n))return wl(n)?Oa(n.symbol):void 0;let{parent:c}=n,u=c.parent;if(!(n.flags&67108864)){if(SSe(n)){let _=dr(c);return RA(n.parent)&&n.parent.propertyName===n?Nhe(_):_}else if(LL(n))return dr(c.parent);if(n.kind===80){if(hZ(n))return H8e(n);if(c.kind===208&&u.kind===206&&n===c.propertyName){let _=S1(u),g=Qo(_,n.escapedText);if(g)return g}else if(cN(c)&&c.name===n)return c.keywordToken===105&&ar(n)===\"target\"?rge(c).symbol:c.keywordToken===102&&ar(n)===\"meta\"?KLe().members.get(\"meta\"):void 0}switch(n.kind){case 80:case 81:case 211:case 166:if(!zA(n))return H8e(n);case 110:let _=lu(n,!1,!1);if(Lo(_)){let N=kf(_);if(N.thisParameter)return N.thisParameter}if(bW(n))return Xi(n).symbol;case 197:return Q$(n).symbol;case 108:return Xi(n).symbol;case 137:let g=n.parent;return g&&g.kind===176?g.parent.symbol:void 0;case 11:case 15:if(Ab(n.parent.parent)&&gC(n.parent.parent)===n||(n.parent.kind===272||n.parent.kind===278)&&n.parent.moduleSpecifier===n||Jn(n)&&Xd(n.parent,!1)||lp(n.parent)||uy(n.parent)&&ey(n.parent.parent)&&n.parent.parent.argument===n.parent)return jd(n,n,a);if(Bo(c)&&CS(c)&&c.arguments[1]===n)return dr(c);case 9:let T=Rs(c)?c.argumentExpression===n?td(c.expression):void 0:uy(c)&&US(u)?si(u.objectType):void 0;return T&&Qo(T,Hs(n.text));case 90:case 100:case 39:case 86:return Fp(n.parent);case 205:return ey(n)?um(n.argument.literal,a):void 0;case 95:return dl(n.parent)?x.checkDefined(n.parent.symbol):void 0;case 102:case 105:return cN(n.parent)?fwe(n.parent).symbol:void 0;case 104:if(Zn(n.parent)){let N=td(n.parent.right),O=pge(N);return O?.symbol??N.symbol}return;case 236:return Xi(n).symbol;case 295:if(ix(n)&&b1(n)){let N=zQ(n.parent);return N===tt?void 0:N}default:return}}}function hut(n){if(Me(n)&&Er(n.parent)&&n.parent.name===n){let a=Pv(n),c=td(n.parent.expression),u=c.flags&1048576?c.types:[c];return ta(u,_=>Cr(Ud(_),g=>f1(a,g.keyType)))}}function gut(n){if(n&&n.kind===304)return Es(n.name,2208703)}function vut(n){return Ed(n)?n.parent.parent.moduleSpecifier?Sg(n.parent.parent,n):Es(n.propertyName||n.name,2998271):Es(n,2998271)}function S1(n){if(Li(n)&&!wl(n)||n.flags&67108864)return it;let a=uV(n),c=a&&cf(dr(a.class));if(yh(n)){let u=si(n);return c?hp(u,c.thisType):u}if(bh(n))return J8e(n);if(c&&!a.isImplements){let u=Ac(ep(c));return u?hp(u,c.thisType):it}if(Cx(n)){let u=dr(n);return Cs(u)}if(cut(n)){let u=um(n);return u?Cs(u):it}if(Na(n))return jT(n,!0,0)||it;if(bd(n)){let u=dr(n);return u?Yn(u):it}if(SSe(n)){let u=um(n);return u?Yn(u):it}if(ko(n))return jT(n.parent,!0,0)||it;if(hZ(n)){let u=um(n);if(u){let _=Cs(u);return Lt(_)?Yn(u):_}}return cN(n.parent)&&n.parent.keywordToken===n.kind?fwe(n.parent):uI(n)?i_e(!1):it}function gZ(n){if(x.assert(n.kind===210||n.kind===209),n.parent.kind===250){let _=F5(n.parent);return uA(n,_||it)}if(n.parent.kind===226){let _=td(n.parent.right);return uA(n,_||it)}if(n.parent.kind===303){let _=Fo(n.parent.parent,ma),g=gZ(_)||it,T=Y1(_.properties,n.parent);return Nwe(_,g,T)}let a=Fo(n.parent,Bd),c=gZ(a)||it,u=Ov(65,c,Re,n.parent)||it;return Pwe(a,c,a.elements.indexOf(n),u)}function yut(n){let a=gZ(Fo(n.parent.parent,lC));return a&&Qo(a,n.escapedText)}function J8e(n){return LC(n)&&(n=n.parent),qd(td(n))}function K8e(n){let a=Fp(n.parent);return zo(n)?Yn(a):Cs(a)}function X8e(n){let a=n.name;switch(a.kind){case 80:return yu(ar(a));case 9:case 11:return yu(a.text);case 167:let c=Hh(a);return ed(c,12288)?c:Ie;default:return x.fail(\"Unsupported property name.\")}}function Bge(n){n=ou(n);let a=Vo(Xa(n)),c=Co(n,0).length?Ln:Co(n,1).length?eo:void 0;return c&&an(Xa(c),u=>{a.has(u.escapedName)||a.set(u.escapedName,u)}),dE(a)}function vZ(n){return Co(n,0).length!==0||Co(n,1).length!==0}function Y8e(n){let a=but(n);return a?ta(a,Y8e):[n]}function but(n){if(tl(n)&6)return Fi(Pi(n).containingType.types,a=>Qo(a,n.escapedName));if(n.flags&33554432){let{links:{leftSpread:a,rightSpread:c,syntheticOrigin:u}}=n;return a?[a,c]:u?[u]:EA(Eut(n))}}function Eut(n){let a,c=n;for(;c=Pi(c).target;)a=c;return a}function Sut(n){if(ws(n))return!1;let a=uo(n,Me);if(!a)return!1;let c=a.parent;return c?!((Er(c)||Hl(c))&&c.name===a)&&Gw(a)===Dt:!1}function Tut(n){let a=jd(n.parent,n);if(!a||pC(a))return!0;let c=xv(a);a=$u(a);let u=Pi(a);return u.exportsSomeValue===void 0&&(u.exportsSomeValue=c?!!(a.flags&111551):hc(Z_(a),_)),u.exportsSomeValue;function _(g){return g=yl(g),g&&!!(Qc(g)&111551)}}function Aut(n){return $M(n.parent)&&n===n.parent.name}function Iut(n,a){var c;let u=uo(n,Me);if(u){let _=Gw(u,Aut(u));if(_){if(_.flags&1048576){let T=Oa(_.exportSymbol);if(!a&&T.flags&944&&!(T.flags&3))return;_=T}let g=nu(_);if(g){if(g.flags&512&&((c=g.valueDeclaration)==null?void 0:c.kind)===312){let T=g.valueDeclaration,N=Nn(u);return T!==N?void 0:T}return Rn(u.parent,T=>$M(T)&&dr(T)===g)}}}}function xut(n){let a=wre(n);if(a)return a;let c=uo(n,Me);if(c){let u=zut(c);if(MT(u,111551)&&!of(u,111551))return im(u)}}function Rut(n){return n.valueDeclaration&&Na(n.valueDeclaration)&&B1(n.valueDeclaration).parent.kind===299}function $8e(n){if(n.flags&418&&n.valueDeclaration&&!Li(n.valueDeclaration)){let a=Pi(n);if(a.isDeclarationWithCollidingName===void 0){let c=w_(n.valueDeclaration);if(vte(c)||Rut(n)){let u=Fr(n.valueDeclaration);if(Xs(c.parent,n.escapedName,111551,void 0,void 0,!1))a.isDeclarationWithCollidingName=!0;else if(u.flags&16384){let _=u.flags&32768,g=Xv(c,!1),T=c.kind===241&&Xv(c.parent,!1);a.isDeclarationWithCollidingName=!Ite(c)&&(!_||!g&&!T)}else a.isDeclarationWithCollidingName=!1}}return a.isDeclarationWithCollidingName}return!1}function Dut(n){if(!ws(n)){let a=uo(n,Me);if(a){let c=Gw(a);if(c&&$8e(c))return c.valueDeclaration}}}function Cut(n){let a=uo(n,bd);if(a){let c=dr(a);if(c)return $8e(c)}return!1}function Q8e(n){switch(x.assert(ot),n.kind){case 271:return yZ(dr(n));case 273:case 274:case 276:case 281:let a=dr(n);return!!a&&yZ(a,!0);case 278:let c=n.exportClause;return!!c&&(j_(c)||ct(c.elements,Q8e));case 277:return n.expression&&n.expression.kind===80?yZ(dr(n),!0):!0}return!1}function Nut(n){let a=uo(n,Nc);return a===void 0||a.parent.kind!==312||!ox(a)?!1:yZ(dr(a))&&a.moduleReference&&!_l(a.moduleReference)}function yZ(n,a){if(!n)return!1;let c=zp(fc(n));return c===tt?!a||!of(n):!!(Qc(n,a,!0)&111551)&&(n0(F)||!Bw(c))}function Bw(n){return uge(n)||!!n.constEnumOnlyModule}function bZ(n,a){if(x.assert(ot),Py(n)){let c=dr(n),u=c&&Pi(c);if(u?.referenced)return!0;let _=Pi(c).aliasTarget;if(_&&Wd(n)&32&&Qc(_)&111551&&(n0(F)||!Bw(_)))return!0}return a?!!Ao(n,c=>bZ(c,a)):!1}function Z8e(n){if(gf(n.body)){if(Yv(n)||$g(n))return!1;let a=dr(n),c=J0(a);return c.length>1||c.length===1&&c[0].declaration!==n}return!1}function eWe(n){return!!H&&!ow(n)&&!Tm(n)&&!!n.initializer&&!Wr(n,31)}function Put(n){return H&&ow(n)&&!n.initializer&&Wr(n,31)}function Mut(n){let a=uo(n,Ql);if(!a)return!1;let c=dr(a);return!c||!(c.flags&16)?!1:!!hc(Qu(c),u=>u.flags&111551&&EF(u.valueDeclaration))}function Lut(n){let a=uo(n,Ql);if(!a)return je;let c=dr(a);return c&&Xa(Yn(c))||je}function PD(n){var a;let c=n.id||0;return c<0||c>=N0.length?0:((a=N0[c])==null?void 0:a.flags)||0}function MD(n){return L8e(n.parent),Fr(n).enumMemberValue}function tWe(n){switch(n.kind){case 306:case 211:case 212:return!0}return!1}function Gge(n){if(n.kind===306)return MD(n);let a=Fr(n).resolvedSymbol;if(a&&a.flags&8){let c=a.valueDeclaration;if(BE(c.parent))return MD(c)}}function Vge(n){return!!(n.flags&524288)&&Co(n,0).length>0}function kut(n,a){var c;let u=uo(n,Su);if(!u||a&&(a=uo(a),!a))return 0;let _=!1;if($d(u)){let Q=Es(dp(u),111551,!0,!0,a);_=!!((c=Q?.declarations)!=null&&c.every(Sb))}let g=Es(u,111551,!0,!0,a),T=g&&g.flags&2097152?fc(g):g;_||(_=!!(g&&of(g,111551)));let N=Es(u,788968,!0,!0,a),O=N&&N.flags&2097152?fc(N):N;if(g||_||(_=!!(N&&of(N,788968))),T&&T===O){let Q=o_e(!1);if(Q&&T===Q)return 9;let me=Yn(T);if(me&&wa(me))return _?10:1}if(!O)return _?11:0;let B=Cs(O);return Lt(B)?_?11:0:B.flags&3?11:ed(B,245760)?2:ed(B,528)?6:ed(B,296)?3:ed(B,2112)?4:ed(B,402653316)?5:ga(B)?7:ed(B,12288)?8:Vge(B)?10:ff(B)?7:11}function Out(n,a,c,u,_){let g=uo(n,wte);if(!g)return P.createToken(133);let T=dr(g),N=T&&!(T.flags&133120)?eS(Yn(T)):it;return N.flags&8192&&N.symbol===T&&(c|=1048576),_&&(N=ib(N)),ft.typeToTypeNode(N,a,c|1024,u)}function wut(n,a,c,u){let _=uo(n,Lo);if(!_)return P.createToken(133);let g=kf(_);return ft.typeToTypeNode(Ha(g),a,c|1024,u)}function Wut(n,a,c,u){let _=uo(n,lt);if(!_)return P.createToken(133);let g=gp(J8e(_));return ft.typeToTypeNode(g,a,c|1024,u)}function Fut(n){return he.has(Hs(n))}function Gw(n,a){let c=Fr(n).resolvedSymbol;if(c)return c;let u=n;if(a){let _=n.parent;bd(_)&&n===_.name&&(u=J(_))}return Xs(u,n.escapedText,3257279,void 0,void 0,!0)}function zut(n){let a=Fr(n).resolvedSymbol;return a&&a!==tt?a:Xs(n,n.escapedText,3257279,void 0,void 0,!0,void 0,void 0)}function But(n){if(!ws(n)){let a=uo(n,Me);if(a){let c=Gw(a);if(c)return zp(c).valueDeclaration}}}function Gut(n){if(!ws(n)){let a=uo(n,Me);if(a){let c=Gw(a);if(c)return Cr(zp(c).declarations,u=>{switch(u.kind){case 260:case 169:case 208:case 172:case 303:case 304:case 306:case 210:case 262:case 218:case 219:case 263:case 231:case 266:case 174:case 177:case 178:case 267:return!0}return!1})}}}function Vut(n){return sW(n)||yi(n)&&U5(n)?$0(Yn(dr(n))):!1}function jut(n,a,c){let u=n.flags&1056?ft.symbolToExpression(n.symbol,111551,a,void 0,c):n===An?P.createTrue():n===Ot&&P.createFalse();if(u)return u;let _=n.value;return typeof _==\"object\"?P.createBigIntLiteral(_):typeof _==\"string\"?P.createStringLiteral(_):_<0?P.createPrefixUnaryExpression(41,P.createNumericLiteral(-_)):P.createNumericLiteral(_)}function Uut(n,a){let c=Yn(dr(n));return jut(c,n,a)}function nWe(n){return n?(tE(n),Nn(n).localJsxFactory||vg):vg}function jge(n){if(n){let a=Nn(n);if(a){if(a.localJsxFragmentFactory)return a.localJsxFragmentFactory;let c=a.pragmas.get(\"jsxfrag\"),u=oo(c)?c[0]:c;if(u)return a.localJsxFragmentFactory=gI(u.arguments.factory,oe),a.localJsxFragmentFactory}}if(F.jsxFragmentFactory)return gI(F.jsxFragmentFactory,oe)}function Hut(){let n=e.getResolvedTypeReferenceDirectives(),a;return n&&(a=new Map,n.forEach(({resolvedTypeReferenceDirective:O},B,Q)=>{if(!O?.resolvedFileName)return;let me=e.getSourceFile(O.resolvedFileName);me&&N(me,B,Q)})),{getReferencedExportContainer:Iut,getReferencedImportDeclaration:xut,getReferencedDeclarationWithCollidingName:Dut,isDeclarationWithCollidingName:Cut,isValueAliasDeclaration:O=>{let B=uo(O);return B&&ot?Q8e(B):!0},hasGlobalName:Fut,isReferencedAliasDeclaration:(O,B)=>{let Q=uo(O);return Q&&ot?bZ(Q,B):!0},getNodeCheckFlags:O=>{let B=uo(O);return B?PD(B):0},isTopLevelValueImportEqualsWithEntityName:Nut,isDeclarationVisible:Pm,isImplementationOfOverload:Z8e,isRequiredInitializedParameter:eWe,isOptionalUninitializedParameterProperty:Put,isExpandoFunctionDeclaration:Mut,getPropertiesOfContainerFunction:Lut,createTypeOfDeclaration:Out,createReturnTypeOfSignatureDeclaration:wut,createTypeOfExpression:Wut,createLiteralConstValue:Uut,isSymbolAccessible:vi,isEntityNameVisible:Fy,getConstantValue:O=>{let B=uo(O,tWe);return B?Gge(B):void 0},collectLinkedAliases:RP,getReferencedValueDeclaration:But,getReferencedValueDeclarations:Gut,getTypeReferenceSerializationKind:kut,isOptionalParameter:ow,moduleExportsSomeValue:Tut,isArgumentsLocalBinding:Sut,getExternalModuleFileFromDeclaration:O=>{let B=uo(O,Rte);return B&&Uge(B)},getTypeReferenceDirectivesForEntityName:_,getTypeReferenceDirectivesForSymbol:g,isLiteralConstDeclaration:Vut,isLateBound:O=>{let B=uo(O,bd),Q=B&&dr(B);return!!(Q&&tl(Q)&4096)},getJsxFactoryEntity:nWe,getJsxFragmentFactoryEntity:jge,getAllAccessorDeclarations(O){O=uo(O,w8);let B=O.kind===178?177:178,Q=Vs(dr(O),B),me=Q&&Q.pos<O.pos?Q:O,ue=Q&&Q.pos<O.pos?O:Q,We=O.kind===178?O:Q,at=O.kind===177?O:Q;return{firstAccessor:me,secondAccessor:ue,setAccessor:We,getAccessor:at}},getSymbolOfExternalModuleSpecifier:O=>Tg(O,O,void 0),isBindingCapturedByNode:(O,B)=>{let Q=uo(O),me=uo(B);return!!Q&&!!me&&(yi(me)||Na(me))&&_ot(Q,me)},getDeclarationStatementsForSourceFile:(O,B,Q,me)=>{let ue=uo(O);x.assert(ue&&ue.kind===312,\"Non-sourcefile node passed into getDeclarationsForSourceFile\");let We=dr(O);return We?We.exports?ft.symbolTableToDeclarationStatements(We.exports,O,B,Q,me):[]:O.locals?ft.symbolTableToDeclarationStatements(O.locals,O,B,Q,me):[]},isImportRequiredByAugmentation:c,tryFindAmbientModule:O=>{let B=uo(O),Q=B&&Ga(B)?B.text:void 0;return Q!==void 0?w$(Q,!0):void 0}};function c(O){let B=Nn(O);if(!B.symbol)return!1;let Q=Uge(O);if(!Q||Q===B)return!1;let me=Z_(B.symbol);for(let ue of bo(me.values()))if(ue.mergeId){let We=Oa(ue);if(We.declarations){for(let at of We.declarations)if(Nn(at)===Q)return!0}}return!1}function u(O){return O.parent&&O.parent.kind===233&&O.parent.parent&&O.parent.parent.kind===298}function _(O){if(!a)return;let B;O.parent.kind===167?B=1160127:(B=790504,(O.kind===80&&OS(O)||O.kind===211&&!u(O))&&(B=1160127));let Q=Es(O,B,!0);return Q&&Q!==tt?g(Q,B):void 0}function g(O,B){if(!a||!T(O))return;let Q;for(let me of O.declarations)if(me.symbol&&me.symbol.flags&B){let ue=Nn(me),We=a.get(ue.path);if(We)(Q||(Q=[])).push(We);else return}return Q}function T(O){if(!O.declarations)return!1;let B=O;for(;;){let Q=nu(B);if(Q)B=Q;else break}if(B.valueDeclaration&&B.valueDeclaration.kind===312&&B.flags&512)return!1;for(let Q of O.declarations){let me=Nn(Q);if(a.has(me.path))return!0}return!1}function N(O,B,Q){if(!a.has(O.path)){a.set(O.path,[B,Q]);for(let{fileName:me}of O.referencedFiles){let ue=M4(me,O.fileName),We=e.getSourceFile(ue);We&&N(We,B,Q||O.impliedNodeFormat)}}}}function Uge(n){let a=n.kind===267?Vr(n.name,da):lx(n),c=Tg(a,a,void 0);if(c)return Vs(c,312)}function qut(){for(let a of e.getSourceFiles())_oe(a,F);Za=new Map;let n;for(let a of e.getSourceFiles())if(!a.redirectInfo){if(!sp(a)){let c=a.locals.get(\"globalThis\");if(c?.declarations)for(let u of c.declarations)La.add(vr(u,f.Declaration_name_conflicts_with_built_in_global_identifier_0,\"globalThis\"));Cm(he,a.locals)}a.jsGlobalAugmentations&&Cm(he,a.jsGlobalAugmentations),a.patternAmbientModules&&a.patternAmbientModules.length&&(Nf=ro(Nf,a.patternAmbientModules)),a.moduleAugmentations.length&&(n||(n=[])).push(a.moduleAugmentations),a.symbol&&a.symbol.globalExports&&a.symbol.globalExports.forEach((u,_)=>{he.has(_)||he.set(_,u)})}if(n)for(let a of n)for(let c of a)Jm(c.parent)&&JR(c);if(L0(he,bT,f.Declaration_name_conflicts_with_built_in_global_identifier_0),Pi(Le).type=St,Pi(Dt).type=Pl(\"IArguments\",0,!0),Pi(tt).type=it,Pi(Ke).type=af(16,Ke),Po=Pl(\"Array\",1,!0),Se=Pl(\"Object\",0,!0),At=Pl(\"Function\",0,!0),Ln=le&&Pl(\"CallableFunction\",0,!0)||At,eo=le&&Pl(\"NewableFunction\",0,!0)||At,Cl=Pl(\"String\",0,!0),Kl=Pl(\"Number\",0,!0),Bs=Pl(\"Boolean\",0,!0),Ks=Pl(\"RegExp\",0,!0),Nl=_d(z),Sc=_d(Je),Sc===ua&&(Sc=cs(void 0,U,je,je,je)),Oo=e2e(\"ReadonlyArray\",1)||Po,kp=Oo?lw(Oo,[z]):Nl,vl=e2e(\"ThisType\",1),n)for(let a of n)for(let c of a)Jm(c.parent)||JR(c);Za.forEach(({firstFile:a,secondFile:c,conflictingSymbols:u})=>{if(u.size<8)u.forEach(({isBlockScoped:_,firstFileLocations:g,secondFileLocations:T},N)=>{let O=_?f.Cannot_redeclare_block_scoped_variable_0:f.Duplicate_identifier_0;for(let B of g)yg(B,O,N,T);for(let B of T)yg(B,O,N,g)});else{let _=bo(u.keys()).join(\", \");La.add(fa(vr(a,f.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0,_),vr(c,f.Conflicts_are_in_this_file))),La.add(fa(vr(c,f.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0,_),vr(a,f.Conflicts_are_in_this_file)))}}),Za=void 0}function rc(n,a){if((s&a)!==a&&F.importHelpers){let c=Nn(n);if(MA(c,F)&&!(n.flags&33554432)){let u=Kut(c,n);if(u!==tt){let _=a&~s;for(let g=1;g<=33554432;g<<=1)if(_&g)for(let T of Jut(g)){if(o.has(T))continue;o.add(T);let N=yl(gu(Z_(u),Hs(T),111551));N?g&524288?ct(J0(N),O=>vp(O)>3)||we(n,f.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,ay,T,4):g&1048576?ct(J0(N),O=>vp(O)>4)||we(n,f.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,ay,T,5):g&1024&&(ct(J0(N),O=>vp(O)>2)||we(n,f.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,ay,T,3)):we(n,f.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,ay,T)}}s|=a}}}function Jut(n){switch(n){case 1:return[\"__extends\"];case 2:return[\"__assign\"];case 4:return[\"__rest\"];case 8:return $?[\"__decorate\"]:[\"__esDecorate\",\"__runInitializers\"];case 16:return[\"__metadata\"];case 32:return[\"__param\"];case 64:return[\"__awaiter\"];case 128:return[\"__generator\"];case 256:return[\"__values\"];case 512:return[\"__read\"];case 1024:return[\"__spreadArray\"];case 2048:return[\"__await\"];case 4096:return[\"__asyncGenerator\"];case 8192:return[\"__asyncDelegator\"];case 16384:return[\"__asyncValues\"];case 32768:return[\"__exportStar\"];case 65536:return[\"__importStar\"];case 131072:return[\"__importDefault\"];case 262144:return[\"__makeTemplateObject\"];case 524288:return[\"__classPrivateFieldGet\"];case 1048576:return[\"__classPrivateFieldSet\"];case 2097152:return[\"__classPrivateFieldIn\"];case 4194304:return[\"__createBinding\"];case 8388608:return[\"__setFunctionName\"];case 16777216:return[\"__propKey\"];case 33554432:return[\"__addDisposableResource\",\"__disposeResources\"];default:return x.fail(\"Unrecognized helper\")}}function Kut(n,a){return l||(l=__(n,ay,f.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,a)||tt),l}function Jh(n){var a;let c=$ut(n)||Xut(n);if(c!==void 0)return c;if(ao(n)&&XE(n))return Uc(n,f.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters);let u=cl(n)?n.declarationList.flags&7:0,_,g,T,N,O,B=0,Q=!1,me=!1;for(let ue of n.modifiers)if(Xc(ue)){if(yW($,n,n.parent,n.parent.parent)){if($&&(n.kind===177||n.kind===178)){let We=wS(n.parent.members,n);if(Hp(We.firstAccessor)&&n===We.secondAccessor)return Uc(n,f.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}}else return n.kind===174&&!gf(n.body)?Uc(n,f.A_decorator_can_only_decorate_a_method_implementation_not_an_overload):Uc(n,f.Decorators_are_not_valid_here);if(B&-34849)return sn(ue,f.Decorators_are_not_valid_here);if(me&&B&98303){x.assertIsDefined(O);let We=Nn(ue);return aS(We)?!1:(fa(we(ue,f.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),vr(O,f.Decorator_used_before_export_here)),!0)}B|=32768,B&98303?B&32&&(Q=!0):me=!0,O??(O=ue)}else{if(ue.kind!==148){if(n.kind===171||n.kind===173)return sn(ue,f._0_modifier_cannot_appear_on_a_type_member,qo(ue.kind));if(n.kind===181&&(ue.kind!==126||!Kr(n.parent)))return sn(ue,f._0_modifier_cannot_appear_on_an_index_signature,qo(ue.kind))}if(ue.kind!==103&&ue.kind!==147&&ue.kind!==87&&n.kind===168)return sn(ue,f._0_modifier_cannot_appear_on_a_type_parameter,qo(ue.kind));switch(ue.kind){case 87:{if(n.kind!==266&&n.kind!==168)return sn(n,f.A_class_member_cannot_have_the_0_keyword,qo(87));let ht=Df(n.parent)&&Rb(n.parent)||n.parent;if(n.kind===168&&!(hs(ht)||Kr(ht)||G_(ht)||kx(ht)||iI(ht)||S2(ht)||B_(ht)))return sn(ue,f._0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class,qo(ue.kind));break}case 164:if(B&16)return sn(ue,f._0_modifier_already_seen,\"override\");if(B&128)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"override\",\"declare\");if(B&8)return sn(ue,f._0_modifier_must_precede_1_modifier,\"override\",\"readonly\");if(B&512)return sn(ue,f._0_modifier_must_precede_1_modifier,\"override\",\"accessor\");if(B&1024)return sn(ue,f._0_modifier_must_precede_1_modifier,\"override\",\"async\");B|=16,N=ue;break;case 125:case 124:case 123:let We=VT(GA(ue.kind));if(B&7)return sn(ue,f.Accessibility_modifier_already_seen);if(B&16)return sn(ue,f._0_modifier_must_precede_1_modifier,We,\"override\");if(B&256)return sn(ue,f._0_modifier_must_precede_1_modifier,We,\"static\");if(B&512)return sn(ue,f._0_modifier_must_precede_1_modifier,We,\"accessor\");if(B&8)return sn(ue,f._0_modifier_must_precede_1_modifier,We,\"readonly\");if(B&1024)return sn(ue,f._0_modifier_must_precede_1_modifier,We,\"async\");if(n.parent.kind===268||n.parent.kind===312)return sn(ue,f._0_modifier_cannot_appear_on_a_module_or_namespace_element,We);if(B&64)return ue.kind===123?sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,We,\"abstract\"):sn(ue,f._0_modifier_must_precede_1_modifier,We,\"abstract\");if(kd(n))return sn(ue,f.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);B|=GA(ue.kind);break;case 126:if(B&256)return sn(ue,f._0_modifier_already_seen,\"static\");if(B&8)return sn(ue,f._0_modifier_must_precede_1_modifier,\"static\",\"readonly\");if(B&1024)return sn(ue,f._0_modifier_must_precede_1_modifier,\"static\",\"async\");if(B&512)return sn(ue,f._0_modifier_must_precede_1_modifier,\"static\",\"accessor\");if(n.parent.kind===268||n.parent.kind===312)return sn(ue,f._0_modifier_cannot_appear_on_a_module_or_namespace_element,\"static\");if(n.kind===169)return sn(ue,f._0_modifier_cannot_appear_on_a_parameter,\"static\");if(B&64)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"static\",\"abstract\");if(B&16)return sn(ue,f._0_modifier_must_precede_1_modifier,\"static\",\"override\");B|=256,_=ue;break;case 129:if(B&512)return sn(ue,f._0_modifier_already_seen,\"accessor\");if(B&8)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"accessor\",\"readonly\");if(B&128)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"accessor\",\"declare\");if(n.kind!==172)return sn(ue,f.accessor_modifier_can_only_appear_on_a_property_declaration);B|=512;break;case 148:if(B&8)return sn(ue,f._0_modifier_already_seen,\"readonly\");if(n.kind!==172&&n.kind!==171&&n.kind!==181&&n.kind!==169)return sn(ue,f.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature);if(B&512)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"readonly\",\"accessor\");B|=8;break;case 95:if(F.verbatimModuleSyntax&&!(n.flags&33554432)&&n.kind!==265&&n.kind!==264&&n.kind!==267&&n.parent.kind===312&&(W===1||Nn(n).impliedNodeFormat===1))return sn(ue,f.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);if(B&32)return sn(ue,f._0_modifier_already_seen,\"export\");if(B&128)return sn(ue,f._0_modifier_must_precede_1_modifier,\"export\",\"declare\");if(B&64)return sn(ue,f._0_modifier_must_precede_1_modifier,\"export\",\"abstract\");if(B&1024)return sn(ue,f._0_modifier_must_precede_1_modifier,\"export\",\"async\");if(Kr(n.parent))return sn(ue,f._0_modifier_cannot_appear_on_class_elements_of_this_kind,\"export\");if(n.kind===169)return sn(ue,f._0_modifier_cannot_appear_on_a_parameter,\"export\");if(u===4)return sn(ue,f._0_modifier_cannot_appear_on_a_using_declaration,\"export\");if(u===6)return sn(ue,f._0_modifier_cannot_appear_on_an_await_using_declaration,\"export\");B|=32;break;case 90:let at=n.parent.kind===312?n.parent:n.parent.parent;if(at.kind===267&&!sd(at))return sn(ue,f.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);if(u===4)return sn(ue,f._0_modifier_cannot_appear_on_a_using_declaration,\"default\");if(u===6)return sn(ue,f._0_modifier_cannot_appear_on_an_await_using_declaration,\"default\");if(B&32){if(Q)return sn(O,f.Decorators_are_not_valid_here)}else return sn(ue,f._0_modifier_must_precede_1_modifier,\"export\",\"default\");B|=2048;break;case 138:if(B&128)return sn(ue,f._0_modifier_already_seen,\"declare\");if(B&1024)return sn(ue,f._0_modifier_cannot_be_used_in_an_ambient_context,\"async\");if(B&16)return sn(ue,f._0_modifier_cannot_be_used_in_an_ambient_context,\"override\");if(Kr(n.parent)&&!xo(n))return sn(ue,f._0_modifier_cannot_appear_on_class_elements_of_this_kind,\"declare\");if(n.kind===169)return sn(ue,f._0_modifier_cannot_appear_on_a_parameter,\"declare\");if(u===4)return sn(ue,f._0_modifier_cannot_appear_on_a_using_declaration,\"declare\");if(u===6)return sn(ue,f._0_modifier_cannot_appear_on_an_await_using_declaration,\"declare\");if(n.parent.flags&33554432&&n.parent.kind===268)return sn(ue,f.A_declare_modifier_cannot_be_used_in_an_already_ambient_context);if(kd(n))return sn(ue,f._0_modifier_cannot_be_used_with_a_private_identifier,\"declare\");if(B&512)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"declare\",\"accessor\");B|=128,g=ue;break;case 128:if(B&64)return sn(ue,f._0_modifier_already_seen,\"abstract\");if(n.kind!==263&&n.kind!==185){if(n.kind!==174&&n.kind!==172&&n.kind!==177&&n.kind!==178)return sn(ue,f.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration);if(!(n.parent.kind===263&&Wr(n.parent,64))){let ht=n.kind===172?f.Abstract_properties_can_only_appear_within_an_abstract_class:f.Abstract_methods_can_only_appear_within_an_abstract_class;return sn(ue,ht)}if(B&256)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"static\",\"abstract\");if(B&2)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"private\",\"abstract\");if(B&1024&&T)return sn(T,f._0_modifier_cannot_be_used_with_1_modifier,\"async\",\"abstract\");if(B&16)return sn(ue,f._0_modifier_must_precede_1_modifier,\"abstract\",\"override\");if(B&512)return sn(ue,f._0_modifier_must_precede_1_modifier,\"abstract\",\"accessor\")}if(Ld(n)&&n.name.kind===81)return sn(ue,f._0_modifier_cannot_be_used_with_a_private_identifier,\"abstract\");B|=64;break;case 134:if(B&1024)return sn(ue,f._0_modifier_already_seen,\"async\");if(B&128||n.parent.flags&33554432)return sn(ue,f._0_modifier_cannot_be_used_in_an_ambient_context,\"async\");if(n.kind===169)return sn(ue,f._0_modifier_cannot_appear_on_a_parameter,\"async\");if(B&64)return sn(ue,f._0_modifier_cannot_be_used_with_1_modifier,\"async\",\"abstract\");B|=1024,T=ue;break;case 103:case 147:{let ht=ue.kind===103?8192:16384,qt=ue.kind===103?\"in\":\"out\",Xt=Df(n.parent)&&(Rb(n.parent)||Dr((a=ux(n.parent))==null?void 0:a.tags,$S))||n.parent;if(n.kind!==168||Xt&&!(Gd(Xt)||Kr(Xt)||Xf(Xt)||$S(Xt)))return sn(ue,f._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias,qt);if(B&ht)return sn(ue,f._0_modifier_already_seen,qt);if(ht&8192&&B&16384)return sn(ue,f._0_modifier_must_precede_1_modifier,\"in\",\"out\");B|=ht;break}}}return n.kind===176?B&256?sn(_,f._0_modifier_cannot_appear_on_a_constructor_declaration,\"static\"):B&16?sn(N,f._0_modifier_cannot_appear_on_a_constructor_declaration,\"override\"):B&1024?sn(T,f._0_modifier_cannot_appear_on_a_constructor_declaration,\"async\"):!1:(n.kind===272||n.kind===271)&&B&128?sn(g,f.A_0_modifier_cannot_be_used_with_an_import_declaration,\"declare\"):n.kind===169&&B&31&&ko(n.name)?sn(n,f.A_parameter_property_may_not_be_declared_using_a_binding_pattern):n.kind===169&&B&31&&n.dotDotDotToken?sn(n,f.A_parameter_property_cannot_be_declared_using_a_rest_parameter):B&1024?Zut(n,T):!1}function Xut(n){if(!n.modifiers)return!1;let a=Yut(n);return a&&Uc(a,f.Modifiers_cannot_appear_here)}function EZ(n,a){let c=Dr(n.modifiers,ia);return c&&c.kind!==a?c:void 0}function Yut(n){switch(n.kind){case 177:case 178:case 176:case 172:case 171:case 174:case 173:case 181:case 267:case 272:case 271:case 278:case 277:case 218:case 219:case 169:case 168:return;case 175:case 303:case 304:case 270:case 282:return Dr(n.modifiers,ia);default:if(n.parent.kind===268||n.parent.kind===312)return;switch(n.kind){case 262:return EZ(n,134);case 263:case 185:return EZ(n,128);case 231:case 264:case 265:return Dr(n.modifiers,ia);case 243:return n.declarationList.flags&4?EZ(n,135):Dr(n.modifiers,ia);case 266:return EZ(n,87);default:x.assertNever(n)}}}function $ut(n){let a=Qut(n);return a&&Uc(a,f.Decorators_are_not_valid_here)}function Qut(n){return jj(n)?Dr(n.modifiers,Xc):void 0}function Zut(n,a){switch(n.kind){case 174:case 262:case 218:case 219:return!1}return sn(a,f._0_modifier_cannot_be_used_here,\"async\")}function T1(n,a=f.Trailing_comma_not_allowed){return n&&n.hasTrailingComma?sS(n[0],n.end-1,1,a):!1}function rWe(n,a){if(n&&n.length===0){let c=n.pos-1,u=pa(a.text,n.end)+1;return sS(a,c,u-c,f.Type_parameter_list_cannot_be_empty)}return!1}function ept(n){let a=!1,c=n.length;for(let u=0;u<c;u++){let _=n[u];if(_.dotDotDotToken){if(u!==c-1)return sn(_.dotDotDotToken,f.A_rest_parameter_must_be_last_in_a_parameter_list);if(_.flags&33554432||T1(n,f.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),_.questionToken)return sn(_.questionToken,f.A_rest_parameter_cannot_be_optional);if(_.initializer)return sn(_.name,f.A_rest_parameter_cannot_have_an_initializer)}else if(ow(_)){if(a=!0,_.questionToken&&_.initializer)return sn(_.name,f.Parameter_cannot_have_question_mark_and_initializer)}else if(a&&!_.initializer)return sn(_.name,f.A_required_parameter_cannot_follow_an_optional_parameter)}}function tpt(n){return Cr(n,a=>!!a.initializer||ko(a.name)||gh(a))}function npt(n){if(oe>=3){let a=n.body&&Do(n.body)&&zj(n.body.statements);if(a){let c=tpt(n.parameters);if(yn(c)){an(c,_=>{fa(we(_,f.This_parameter_is_not_allowed_with_use_strict_directive),vr(a,f.use_strict_directive_used_here))});let u=c.map((_,g)=>g===0?vr(_,f.Non_simple_parameter_declared_here):vr(_,f.and_here));return fa(we(a,f.use_strict_directive_cannot_be_used_with_non_simple_parameter_list),...u),!0}}}return!1}function SZ(n){let a=Nn(n);return Jh(n)||rWe(n.typeParameters,a)||ept(n.parameters)||ipt(n,a)||hs(n)&&npt(n)}function rpt(n){let a=Nn(n);return cpt(n)||rWe(n.typeParameters,a)}function ipt(n,a){if(!gs(n))return!1;n.typeParameters&&!(yn(n.typeParameters)>1||n.typeParameters.hasTrailingComma||n.typeParameters[0].constraint)&&a&&$l(a.fileName,[\".mts\",\".cts\"])&&sn(n.typeParameters[0],f.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint);let{equalsGreaterThanToken:c}=n,u=$a(a,c.pos).line,_=$a(a,c.end).line;return u!==_&&sn(c,f.Line_terminator_not_permitted_before_arrow)}function opt(n){let a=n.parameters[0];if(n.parameters.length!==1)return sn(a?a.name:n,f.An_index_signature_must_have_exactly_one_parameter);if(T1(n.parameters,f.An_index_signature_cannot_have_a_trailing_comma),a.dotDotDotToken)return sn(a.dotDotDotToken,f.An_index_signature_cannot_have_a_rest_parameter);if(jW(a))return sn(a.name,f.An_index_signature_parameter_cannot_have_an_accessibility_modifier);if(a.questionToken)return sn(a.questionToken,f.An_index_signature_parameter_cannot_have_a_question_mark);if(a.initializer)return sn(a.name,f.An_index_signature_parameter_cannot_have_an_initializer);if(!a.type)return sn(a.name,f.An_index_signature_parameter_must_have_a_type_annotation);let c=si(a.type);return dm(c,u=>!!(u.flags&8576))||yD(c)?sn(a.name,f.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead):Lu(c,B$)?n.type?!1:sn(n,f.An_index_signature_must_have_a_type_annotation):sn(a.name,f.An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type)}function apt(n){return Jh(n)||opt(n)}function spt(n,a){if(a&&a.length===0){let c=Nn(n),u=a.pos-1,_=pa(c.text,a.end)+1;return sS(c,u,_-u,f.Type_argument_list_cannot_be_empty)}return!1}function j5(n,a){return T1(a)||spt(n,a)}function lpt(n){return n.questionDotToken||n.flags&64?sn(n.template,f.Tagged_template_expressions_are_not_permitted_in_an_optional_chain):!1}function iWe(n){let a=n.types;if(T1(a))return!0;if(a&&a.length===0){let c=qo(n.token);return sS(n,a.pos,0,f._0_list_cannot_be_empty,c)}return ct(a,oWe)}function oWe(n){return sv(n)&&lN(n.expression)&&n.typeArguments?sn(n,f.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments):j5(n,n.typeArguments)}function cpt(n){let a=!1,c=!1;if(!Jh(n)&&n.heritageClauses)for(let u of n.heritageClauses){if(u.token===96){if(a)return Uc(u,f.extends_clause_already_seen);if(c)return Uc(u,f.extends_clause_must_precede_implements_clause);if(u.types.length>1)return Uc(u.types[1],f.Classes_can_only_extend_a_single_class);a=!0}else{if(x.assert(u.token===119),c)return Uc(u,f.implements_clause_already_seen);c=!0}iWe(u)}}function dpt(n){let a=!1;if(n.heritageClauses)for(let c of n.heritageClauses){if(c.token===96){if(a)return Uc(c,f.extends_clause_already_seen);a=!0}else return x.assert(c.token===119),Uc(c,f.Interface_declaration_cannot_have_implements_clause);iWe(c)}return!1}function TZ(n){if(n.kind!==167)return!1;let a=n;return a.expression.kind===226&&a.expression.operatorToken.kind===28?sn(a.expression,f.A_comma_expression_is_not_allowed_in_a_computed_property_name):!1}function Hge(n){if(n.asteriskToken){if(x.assert(n.kind===262||n.kind===218||n.kind===174),n.flags&33554432)return sn(n.asteriskToken,f.Generators_are_not_allowed_in_an_ambient_context);if(!n.body)return sn(n.asteriskToken,f.An_overload_signature_cannot_be_declared_as_a_generator)}}function qge(n,a){return!!n&&sn(n,a)}function aWe(n,a){return!!n&&sn(n,a)}function upt(n,a){let c=new Map;for(let u of n.properties){if(u.kind===305){if(a){let T=Ka(u.expression);if(Bd(T)||ma(T))return sn(u.expression,f.A_rest_element_cannot_contain_a_binding_pattern)}continue}let _=u.name;if(_.kind===167&&TZ(_),u.kind===304&&!a&&u.objectAssignmentInitializer&&sn(u.equalsToken,f.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern),_.kind===81&&sn(_,f.Private_identifiers_are_not_allowed_outside_class_bodies),Yf(u)&&u.modifiers)for(let T of u.modifiers)ia(T)&&(T.kind!==134||u.kind!==174)&&sn(T,f._0_modifier_cannot_be_used_here,Vl(T));else if(yie(u)&&u.modifiers)for(let T of u.modifiers)ia(T)&&sn(T,f._0_modifier_cannot_be_used_here,Vl(T));let g;switch(u.kind){case 304:case 303:aWe(u.exclamationToken,f.A_definite_assignment_assertion_is_not_permitted_in_this_context),qge(u.questionToken,f.An_object_member_cannot_be_declared_optional),_.kind===9&&Xge(_),g=4;break;case 174:g=8;break;case 177:g=1;break;case 178:g=2;break;default:x.assertNever(u,\"Unexpected syntax kind:\"+u.kind)}if(!a){let T=Yge(_);if(T===void 0)continue;let N=c.get(T);if(!N)c.set(T,g);else if(g&8&&N&8)sn(_,f.Duplicate_identifier_0,Vl(_));else if(g&4&&N&4)sn(_,f.An_object_literal_cannot_have_multiple_properties_with_the_same_name,Vl(_));else if(g&3&&N&3)if(N!==3&&g!==N)c.set(T,g|N);else return sn(_,f.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);else return sn(_,f.An_object_literal_cannot_have_property_and_accessor_with_the_same_name)}}}function ppt(n){fpt(n.tagName),j5(n,n.typeArguments);let a=new Map;for(let c of n.attributes.properties){if(c.kind===293)continue;let{name:u,initializer:_}=c,g=QC(u);if(!a.get(g))a.set(g,!0);else return sn(u,f.JSX_elements_cannot_have_multiple_attributes_with_the_same_name);if(_&&_.kind===294&&!_.expression)return sn(_,f.JSX_attributes_must_only_be_assigned_a_non_empty_expression)}}function fpt(n){if(Er(n)&&Em(n.expression))return sn(n.expression,f.JSX_property_access_expressions_cannot_include_JSX_namespace_names);if(Em(n)&&oF(F)&&!gx(n.namespace.escapedText))return sn(n,f.React_components_cannot_include_JSX_namespace_names)}function mpt(n){if(n.expression&&vN(n.expression))return sn(n.expression,f.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array)}function sWe(n){if(zg(n))return!0;if(n.kind===250&&n.awaitModifier&&!(n.flags&65536)){let a=Nn(n);if(hW(n)){if(!aS(a))switch(MA(a,F)||La.add(vr(n.awaitModifier,f.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module)),W){case 100:case 199:if(a.impliedNodeFormat===1){La.add(vr(n.awaitModifier,f.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level));break}case 7:case 99:case 4:if(oe>=4)break;default:La.add(vr(n.awaitModifier,f.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher));break}}else if(!aS(a)){let c=vr(n.awaitModifier,f.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules),u=cp(n);if(u&&u.kind!==176){x.assert((gc(u)&2)===0,\"Enclosing function should never be an async function.\");let _=vr(u,f.Did_you_mean_to_mark_this_function_as_async);fa(c,_)}return La.add(c),!0}return!1}if(R2(n)&&!(n.flags&65536)&&Me(n.initializer)&&n.initializer.escapedText===\"async\")return sn(n.initializer,f.The_left_hand_side_of_a_for_of_statement_may_not_be_async),!1;if(n.initializer.kind===261){let a=n.initializer;if(!Kge(a)){let c=a.declarations;if(!c.length)return!1;if(c.length>1){let _=n.kind===249?f.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:f.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return Uc(a.declarations[1],_)}let u=c[0];if(u.initializer){let _=n.kind===249?f.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:f.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return sn(u.name,_)}if(u.type){let _=n.kind===249?f.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:f.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;return sn(u,_)}}}return!1}function _pt(n){if(!(n.flags&33554432)&&n.parent.kind!==187&&n.parent.kind!==264){if(oe<1)return sn(n.name,f.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(oe<2&&Ci(n.name))return sn(n.name,f.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(n.body===void 0&&!Wr(n,64))return sS(n,n.end-1,1,f._0_expected,\"{\")}if(n.body){if(Wr(n,64))return sn(n,f.An_abstract_accessor_cannot_have_an_implementation);if(n.parent.kind===187||n.parent.kind===264)return sn(n.body,f.An_implementation_cannot_be_declared_in_ambient_contexts)}if(n.typeParameters)return sn(n.name,f.An_accessor_cannot_have_type_parameters);if(!hpt(n))return sn(n.name,n.kind===177?f.A_get_accessor_cannot_have_parameters:f.A_set_accessor_must_have_exactly_one_parameter);if(n.kind===178){if(n.type)return sn(n.name,f.A_set_accessor_cannot_have_a_return_type_annotation);let a=x.checkDefined(CC(n),\"Return value does not match parameter count assertion.\");if(a.dotDotDotToken)return sn(a.dotDotDotToken,f.A_set_accessor_cannot_have_rest_parameter);if(a.questionToken)return sn(a.questionToken,f.A_set_accessor_cannot_have_an_optional_parameter);if(a.initializer)return sn(n.name,f.A_set_accessor_parameter_cannot_have_an_initializer)}return!1}function hpt(n){return Jge(n)||n.parameters.length===(n.kind===177?0:1)}function Jge(n){if(n.parameters.length===(n.kind===177?1:2))return KE(n)}function gpt(n){if(n.operator===158){if(n.type.kind!==155)return sn(n.type,f._0_expected,qo(155));let a=PL(n.parent);if(Jn(a)&&f0(a)){let c=PS(a);c&&(a=wA(c)||c)}switch(a.kind){case 260:let c=a;if(c.name.kind!==80)return sn(n,f.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name);if(!mC(c))return sn(n,f.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement);if(!(c.parent.flags&2))return sn(a.name,f.A_variable_whose_type_is_a_unique_symbol_type_must_be_const);break;case 172:if(!zo(a)||!NC(a))return sn(a.name,f.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly);break;case 171:if(!Wr(a,8))return sn(a.name,f.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly);break;default:return sn(n,f.unique_symbol_types_are_not_allowed_here)}}else if(n.operator===148&&n.type.kind!==188&&n.type.kind!==189)return Uc(n,f.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types,qo(155))}function aM(n,a){if(Oet(n))return sn(n,a)}function lWe(n){if(SZ(n))return!0;if(n.kind===174){if(n.parent.kind===210){if(n.modifiers&&!(n.modifiers.length===1&&Ta(n.modifiers).kind===134))return Uc(n,f.Modifiers_cannot_appear_here);if(qge(n.questionToken,f.An_object_member_cannot_be_declared_optional))return!0;if(aWe(n.exclamationToken,f.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(n.body===void 0)return sS(n,n.end-1,1,f._0_expected,\"{\")}if(Hge(n))return!0}if(Kr(n.parent)){if(oe<2&&Ci(n.name))return sn(n.name,f.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(n.flags&33554432)return aM(n.name,f.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(n.kind===174&&!n.body)return aM(n.name,f.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(n.parent.kind===264)return aM(n.name,f.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(n.parent.kind===187)return aM(n.name,f.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function vpt(n){let a=n;for(;a;){if(U1(a))return sn(n,f.Jump_target_cannot_cross_function_boundary);switch(a.kind){case 256:if(n.label&&a.label.escapedText===n.label.escapedText)return n.kind===251&&!Xv(a.statement,!0)?sn(n,f.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement):!1;break;case 255:if(n.kind===252&&!n.label)return!1;break;default:if(Xv(a,!1)&&!n.label)return!1;break}a=a.parent}if(n.label){let c=n.kind===252?f.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:f.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;return sn(n,c)}else{let c=n.kind===252?f.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:f.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return sn(n,c)}}function ypt(n){if(n.dotDotDotToken){let a=n.parent.elements;if(n!==Da(a))return sn(n,f.A_rest_element_must_be_last_in_a_destructuring_pattern);if(T1(a,f.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),n.propertyName)return sn(n.name,f.A_rest_element_cannot_have_a_property_name)}if(n.dotDotDotToken&&n.initializer)return sS(n,n.initializer.pos-1,1,f.A_rest_element_cannot_have_an_initializer)}function cWe(n){return Ap(n)||n.kind===224&&n.operator===41&&n.operand.kind===9}function bpt(n){return n.kind===10||n.kind===224&&n.operator===41&&n.operand.kind===10}function Ept(n){if((Er(n)||Rs(n)&&cWe(n.argumentExpression))&&gl(n.expression))return!!(Ml(n).flags&1056)}function dWe(n){let a=n.initializer;if(a){let c=!(cWe(a)||Ept(a)||a.kind===112||a.kind===97||bpt(a));if((sW(n)||yi(n)&&U5(n))&&!n.type){if(c)return sn(a,f.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference)}else return sn(a,f.Initializers_are_not_allowed_in_ambient_contexts)}}function Spt(n){let a=lS(n),c=a&7;if(ko(n.name))switch(c){case 6:return sn(n,f._0_declarations_may_not_have_binding_patterns,\"await using\");case 4:return sn(n,f._0_declarations_may_not_have_binding_patterns,\"using\")}if(n.parent.parent.kind!==249&&n.parent.parent.kind!==250){if(a&33554432)dWe(n);else if(!n.initializer){if(ko(n.name)&&!ko(n.parent))return sn(n,f.A_destructuring_declaration_must_have_an_initializer);switch(c){case 6:return sn(n,f._0_declarations_must_be_initialized,\"await using\");case 4:return sn(n,f._0_declarations_must_be_initialized,\"using\");case 2:return sn(n,f._0_declarations_must_be_initialized,\"const\")}}}if(n.exclamationToken&&(n.parent.parent.kind!==243||!n.type||n.initializer||a&33554432)){let u=n.initializer?f.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:n.type?f.A_definite_assignment_assertion_is_not_permitted_in_this_context:f.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return sn(n.exclamationToken,u)}return(W<5||Nn(n).impliedNodeFormat===1)&&W!==4&&!(n.parent.parent.flags&33554432)&&Wr(n.parent.parent,32)&&uWe(n.name),!!c&&pWe(n.name)}function uWe(n){if(n.kind===80){if(ar(n)===\"__esModule\")return Ipt(\"noEmit\",n,f.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else{let a=n.elements;for(let c of a)if(!vc(c))return uWe(c.name)}return!1}function pWe(n){if(n.kind===80){if(n.escapedText===\"let\")return sn(n,f.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations)}else{let a=n.elements;for(let c of a)vc(c)||pWe(c.name)}return!1}function Kge(n){let a=n.declarations;if(T1(n.declarations))return!0;if(!n.declarations.length)return sS(n,a.pos,a.end-a.pos,f.Variable_declaration_list_cannot_be_empty);let c=n.flags&7;return(c===4||c===6)&&y6(n.parent)?sn(n,c===4?f.The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration:f.The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration):c===6?Cwe(n):!1}function fWe(n){switch(n.kind){case 245:case 246:case 247:case 254:case 248:case 249:case 250:return!1;case 256:return fWe(n.parent)}return!0}function Tpt(n){if(!fWe(n.parent)){let a=lS(n.declarationList)&7;if(a){let c=a===1?\"let\":a===2?\"const\":a===4?\"using\":a===6?\"await using\":x.fail(\"Unknown BlockScope flag\");return sn(n,f._0_declarations_can_only_be_declared_inside_a_block,c)}}}function Apt(n){let a=n.name.escapedText;switch(n.keywordToken){case 105:if(a!==\"target\")return sn(n.name,f._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,Ii(n.name.escapedText),qo(n.keywordToken),\"target\");break;case 102:if(a!==\"meta\")return sn(n.name,f._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,Ii(n.name.escapedText),qo(n.keywordToken),\"meta\");break}}function aS(n){return n.parseDiagnostics.length>0}function Uc(n,a,...c){let u=Nn(n);if(!aS(u)){let _=W_(u,n.pos);return La.add(Rc(u,_.start,_.length,a,...c)),!0}return!1}function sS(n,a,c,u,..._){let g=Nn(n);return aS(g)?!1:(La.add(Rc(g,a,c,u,..._)),!0)}function Ipt(n,a,c,...u){let _=Nn(a);return aS(_)?!1:(xm(n,a,c,...u),!0)}function sn(n,a,...c){let u=Nn(n);return aS(u)?!1:(La.add(vr(n,a,...c)),!0)}function xpt(n){let a=Jn(n)?VW(n):void 0,c=n.typeParameters||a&&Ac(a);if(c){let u=c.pos===c.end?c.pos:pa(Nn(n).text,c.pos);return sS(n,u,c.end-u,f.Type_parameters_cannot_appear_on_a_constructor_declaration)}}function Rpt(n){let a=n.type||Tf(n);if(a)return sn(a,f.Type_annotation_cannot_appear_on_a_constructor_declaration)}function Dpt(n){if(Pa(n.name)&&Zn(n.name.expression)&&n.name.expression.operatorToken.kind===103)return sn(n.parent.members[0],f.A_mapped_type_may_not_declare_properties_or_methods);if(Kr(n.parent)){if(da(n.name)&&n.name.text===\"constructor\")return sn(n.name,f.Classes_may_not_have_a_field_named_constructor);if(aM(n.name,f.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type))return!0;if(oe<2&&Ci(n.name))return sn(n.name,f.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(oe<2&&su(n))return sn(n.name,f.Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(su(n)&&qge(n.questionToken,f.An_accessor_property_cannot_be_declared_optional))return!0}else if(n.parent.kind===264){if(aM(n.name,f.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(x.assertNode(n,Gu),n.initializer)return sn(n.initializer,f.An_interface_property_cannot_have_an_initializer)}else if(ju(n.parent)){if(aM(n.name,f.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(x.assertNode(n,Gu),n.initializer)return sn(n.initializer,f.A_type_literal_property_cannot_have_an_initializer)}if(n.flags&33554432&&dWe(n),xo(n)&&n.exclamationToken&&(!Kr(n.parent)||!n.type||n.initializer||n.flags&33554432||zo(n)||$E(n))){let a=n.initializer?f.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:n.type?f.A_definite_assignment_assertion_is_not_permitted_in_this_context:f.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return sn(n.exclamationToken,a)}}function Cpt(n){return n.kind===264||n.kind===265||n.kind===272||n.kind===271||n.kind===278||n.kind===277||n.kind===270||Wr(n,2208)?!1:Uc(n,f.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function Npt(n){for(let a of n.statements)if((bd(a)||a.kind===243)&&Cpt(a))return!0;return!1}function Ppt(n){return!!(n.flags&33554432)&&Npt(n)}function zg(n){if(n.flags&33554432){if(!Fr(n).hasReportedStatementInAmbientContext&&(Lo(n.parent)||Kv(n.parent)))return Fr(n).hasReportedStatementInAmbientContext=Uc(n,f.An_implementation_cannot_be_declared_in_ambient_contexts);if(n.parent.kind===241||n.parent.kind===268||n.parent.kind===312){let c=Fr(n.parent);if(!c.hasReportedStatementInAmbientContext)return c.hasReportedStatementInAmbientContext=Uc(n,f.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function Xge(n){let a=Vl(n).includes(\".\"),c=n.numericLiteralFlags&16;a||c||+n.text<=2**53-1||Rm(!1,vr(n,f.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}function Mpt(n){return!!(!(uy(n.parent)||fy(n.parent)&&uy(n.parent.parent))&&oe<7&&sn(n,f.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))}function Lpt(n,a,...c){let u=Nn(n);if(!aS(u)){let _=W_(u,n.pos);return La.add(Rc(u,Al(_),0,a,...c)),!0}return!1}function kpt(){return pc||(pc=[],he.forEach((n,a)=>{BU.test(a)&&pc.push(n)})),pc}function Opt(n){var a;return n.isTypeOnly&&n.name&&n.namedBindings?sn(n,f.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both):n.isTypeOnly&&((a=n.namedBindings)==null?void 0:a.kind)===275?mWe(n.namedBindings):!1}function mWe(n){return!!an(n.elements,a=>{if(a.isTypeOnly)return Uc(a,a.kind===276?f.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:f.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement)})}function wpt(n){if(F.verbatimModuleSyntax&&W===1)return sn(n,f.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);if(W===5)return sn(n,f.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext);if(n.typeArguments)return sn(n,f.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);let a=n.arguments;if(W!==99&&W!==199&&W!==100&&(T1(a),a.length>1)){let u=a[1];return sn(u,f.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext)}if(a.length===0||a.length>2)return sn(n,f.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments);let c=Dr(a,bm);return c?sn(c,f.Argument_of_dynamic_import_cannot_be_spread_element):!1}function Wpt(n,a){let c=br(n);if(c&20&&a.flags&1048576)return Dr(a.types,u=>{if(u.flags&524288){let _=c&br(u);if(_&4)return n.target===u.target;if(_&16)return!!n.aliasSymbol&&n.aliasSymbol===u.aliasSymbol}return!1})}function Fpt(n,a){if(br(n)&128&&dm(a,Lv))return Dr(a.types,c=>!Lv(c))}function zpt(n,a){let c=0;if(Co(n,c).length>0||(c=1,Co(n,c).length>0))return Dr(a.types,_=>Co(_,c).length>0)}function Bpt(n,a){let c;if(!(n.flags&406978556)){let u=0;for(let _ of a.types)if(!(_.flags&406978556)){let g=Zo([y_(n),y_(_)]);if(g.flags&4194304)return _;if(Fm(g)||g.flags&1048576){let T=g.flags&1048576?Wv(g.types,Fm):1;T>=u&&(c=_,u=T)}}}return c}function Gpt(n){if(ol(n,67108864)){let a=Bl(n,c=>!(c.flags&402784252));if(!(a.flags&131072))return a}return n}function _We(n,a,c){if(a.flags&1048576&&n.flags&2621440){let u=Rke(a,n);if(u)return u;let _=Xa(n);if(_){let g=xke(_,a);if(g){let T=W_e(a,nn(g,N=>[()=>Yn(N),N.escapedName]),c);if(T!==a)return T}}}}function Yge(n){let a=MS(n);return a||(Pa(n)?lhe(td(n.expression)):void 0)}function AZ(n){return On===n||(On=n,en=gb(n)),en}function lS(n){return jt===n||(jt=n,gn=Xg(n)),gn}function U5(n){let a=lS(n)&7;return a===2||a===4||a===6}}function O3e(e){return!Kv(e)}function ESe(e){return e.kind!==262&&e.kind!==174||!!e.body}function SSe(e){switch(e.parent.kind){case 276:case 281:return Me(e);default:return ng(e)}}function TSe(e){switch(e){case 0:return\"yieldType\";case 1:return\"returnType\";case 2:return\"nextType\"}}function Td(e){return!!(e.flags&1)}function zU(e){return!!(e.flags&2)}function w3e(e){return{getCommonSourceDirectory:e.getCommonSourceDirectory?()=>e.getCommonSourceDirectory():()=>\"\",getCurrentDirectory:()=>e.getCurrentDirectory(),getSymlinkCache:Wo(e,e.getSymlinkCache),getPackageJsonInfoCache:()=>{var t;return(t=e.getPackageJsonInfoCache)==null?void 0:t.call(e)},useCaseSensitiveFileNames:Wo(e,e.useCaseSensitiveFileNames),redirectTargetsMap:e.redirectTargetsMap,getProjectReferenceRedirect:t=>e.getProjectReferenceRedirect(t),isSourceOfProjectReferenceRedirect:t=>e.isSourceOfProjectReferenceRedirect(t),fileExists:t=>e.fileExists(t),getFileIncludeReasons:()=>e.getFileIncludeReasons(),readFile:e.readFile?t=>e.readFile(t):void 0}}var BU,s4,Ioe,xoe,Roe,Doe,l4,GU,c4,d4,ASe,u4,Coe,Dp,VU,W3e=pt({\"src/compiler/checker.ts\"(){\"use strict\";wo(),Toe(),mS(),BU=/^\".+\"$/,s4=\"(anonymous)\",Ioe=1,xoe=1,Roe=1,Doe=1,l4=(e=>(e[e.None=0]=\"None\",e[e.TypeofEQString=1]=\"TypeofEQString\",e[e.TypeofEQNumber=2]=\"TypeofEQNumber\",e[e.TypeofEQBigInt=4]=\"TypeofEQBigInt\",e[e.TypeofEQBoolean=8]=\"TypeofEQBoolean\",e[e.TypeofEQSymbol=16]=\"TypeofEQSymbol\",e[e.TypeofEQObject=32]=\"TypeofEQObject\",e[e.TypeofEQFunction=64]=\"TypeofEQFunction\",e[e.TypeofEQHostObject=128]=\"TypeofEQHostObject\",e[e.TypeofNEString=256]=\"TypeofNEString\",e[e.TypeofNENumber=512]=\"TypeofNENumber\",e[e.TypeofNEBigInt=1024]=\"TypeofNEBigInt\",e[e.TypeofNEBoolean=2048]=\"TypeofNEBoolean\",e[e.TypeofNESymbol=4096]=\"TypeofNESymbol\",e[e.TypeofNEObject=8192]=\"TypeofNEObject\",e[e.TypeofNEFunction=16384]=\"TypeofNEFunction\",e[e.TypeofNEHostObject=32768]=\"TypeofNEHostObject\",e[e.EQUndefined=65536]=\"EQUndefined\",e[e.EQNull=131072]=\"EQNull\",e[e.EQUndefinedOrNull=262144]=\"EQUndefinedOrNull\",e[e.NEUndefined=524288]=\"NEUndefined\",e[e.NENull=1048576]=\"NENull\",e[e.NEUndefinedOrNull=2097152]=\"NEUndefinedOrNull\",e[e.Truthy=4194304]=\"Truthy\",e[e.Falsy=8388608]=\"Falsy\",e[e.IsUndefined=16777216]=\"IsUndefined\",e[e.IsNull=33554432]=\"IsNull\",e[e.IsUndefinedOrNull=50331648]=\"IsUndefinedOrNull\",e[e.All=134217727]=\"All\",e[e.BaseStringStrictFacts=3735041]=\"BaseStringStrictFacts\",e[e.BaseStringFacts=12582401]=\"BaseStringFacts\",e[e.StringStrictFacts=16317953]=\"StringStrictFacts\",e[e.StringFacts=16776705]=\"StringFacts\",e[e.EmptyStringStrictFacts=12123649]=\"EmptyStringStrictFacts\",e[e.EmptyStringFacts=12582401]=\"EmptyStringFacts\",e[e.NonEmptyStringStrictFacts=7929345]=\"NonEmptyStringStrictFacts\",e[e.NonEmptyStringFacts=16776705]=\"NonEmptyStringFacts\",e[e.BaseNumberStrictFacts=3734786]=\"BaseNumberStrictFacts\",e[e.BaseNumberFacts=12582146]=\"BaseNumberFacts\",e[e.NumberStrictFacts=16317698]=\"NumberStrictFacts\",e[e.NumberFacts=16776450]=\"NumberFacts\",e[e.ZeroNumberStrictFacts=12123394]=\"ZeroNumberStrictFacts\",e[e.ZeroNumberFacts=12582146]=\"ZeroNumberFacts\",e[e.NonZeroNumberStrictFacts=7929090]=\"NonZeroNumberStrictFacts\",e[e.NonZeroNumberFacts=16776450]=\"NonZeroNumberFacts\",e[e.BaseBigIntStrictFacts=3734276]=\"BaseBigIntStrictFacts\",e[e.BaseBigIntFacts=12581636]=\"BaseBigIntFacts\",e[e.BigIntStrictFacts=16317188]=\"BigIntStrictFacts\",e[e.BigIntFacts=16775940]=\"BigIntFacts\",e[e.ZeroBigIntStrictFacts=12122884]=\"ZeroBigIntStrictFacts\",e[e.ZeroBigIntFacts=12581636]=\"ZeroBigIntFacts\",e[e.NonZeroBigIntStrictFacts=7928580]=\"NonZeroBigIntStrictFacts\",e[e.NonZeroBigIntFacts=16775940]=\"NonZeroBigIntFacts\",e[e.BaseBooleanStrictFacts=3733256]=\"BaseBooleanStrictFacts\",e[e.BaseBooleanFacts=12580616]=\"BaseBooleanFacts\",e[e.BooleanStrictFacts=16316168]=\"BooleanStrictFacts\",e[e.BooleanFacts=16774920]=\"BooleanFacts\",e[e.FalseStrictFacts=12121864]=\"FalseStrictFacts\",e[e.FalseFacts=12580616]=\"FalseFacts\",e[e.TrueStrictFacts=7927560]=\"TrueStrictFacts\",e[e.TrueFacts=16774920]=\"TrueFacts\",e[e.SymbolStrictFacts=7925520]=\"SymbolStrictFacts\",e[e.SymbolFacts=16772880]=\"SymbolFacts\",e[e.ObjectStrictFacts=7888800]=\"ObjectStrictFacts\",e[e.ObjectFacts=16736160]=\"ObjectFacts\",e[e.FunctionStrictFacts=7880640]=\"FunctionStrictFacts\",e[e.FunctionFacts=16728e3]=\"FunctionFacts\",e[e.VoidFacts=9830144]=\"VoidFacts\",e[e.UndefinedFacts=26607360]=\"UndefinedFacts\",e[e.NullFacts=42917664]=\"NullFacts\",e[e.EmptyObjectStrictFacts=83427327]=\"EmptyObjectStrictFacts\",e[e.EmptyObjectFacts=83886079]=\"EmptyObjectFacts\",e[e.UnknownFacts=83886079]=\"UnknownFacts\",e[e.AllTypeofNE=556800]=\"AllTypeofNE\",e[e.OrFactsMask=8256]=\"OrFactsMask\",e[e.AndFactsMask=134209471]=\"AndFactsMask\",e))(l4||{}),GU=new Map(Object.entries({string:256,number:512,bigint:1024,boolean:2048,symbol:4096,undefined:524288,object:8192,function:16384})),c4=(e=>(e[e.Normal=0]=\"Normal\",e[e.Contextual=1]=\"Contextual\",e[e.Inferential=2]=\"Inferential\",e[e.SkipContextSensitive=4]=\"SkipContextSensitive\",e[e.SkipGenericFunctions=8]=\"SkipGenericFunctions\",e[e.IsForSignatureHelp=16]=\"IsForSignatureHelp\",e[e.RestBindingElement=32]=\"RestBindingElement\",e[e.TypeOnly=64]=\"TypeOnly\",e))(c4||{}),d4=(e=>(e[e.None=0]=\"None\",e[e.BivariantCallback=1]=\"BivariantCallback\",e[e.StrictCallback=2]=\"StrictCallback\",e[e.IgnoreReturnTypes=4]=\"IgnoreReturnTypes\",e[e.StrictArity=8]=\"StrictArity\",e[e.StrictTopSignature=16]=\"StrictTopSignature\",e[e.Callback=3]=\"Callback\",e))(d4||{}),ASe=Zw(ESe,O3e),u4=new Map(Object.entries({Uppercase:0,Lowercase:1,Capitalize:2,Uncapitalize:3,NoInfer:4})),Coe=class{},(e=>{e.JSX=\"JSX\",e.IntrinsicElements=\"IntrinsicElements\",e.ElementClass=\"ElementClass\",e.ElementAttributesPropertyNameContainer=\"ElementAttributesProperty\",e.ElementChildrenAttributeNameContainer=\"ElementChildrenAttribute\",e.Element=\"Element\",e.ElementType=\"ElementType\",e.IntrinsicAttributes=\"IntrinsicAttributes\",e.IntrinsicClassAttributes=\"IntrinsicClassAttributes\",e.LibraryManagedAttributes=\"LibraryManagedAttributes\"})(Dp||(Dp={})),VU=class vWe{constructor(t,r,i){this.moduleResolverHost=void 0,this.inner=void 0,this.disableTrackSymbol=!1;for(var o;r instanceof vWe;)r=r.inner;this.inner=r,this.moduleResolverHost=i,this.context=t,this.canTrackSymbol=!!((o=this.inner)!=null&&o.trackSymbol)}trackSymbol(t,r,i){var o,s;if((o=this.inner)!=null&&o.trackSymbol&&!this.disableTrackSymbol){if(this.inner.trackSymbol(t,r,i))return this.onDiagnosticReported(),!0;t.flags&262144||((s=this.context).trackedSymbols??(s.trackedSymbols=[])).push([t,r,i])}return!1}reportInaccessibleThisError(){var t;(t=this.inner)!=null&&t.reportInaccessibleThisError&&(this.onDiagnosticReported(),this.inner.reportInaccessibleThisError())}reportPrivateInBaseOfClassExpression(t){var r;(r=this.inner)!=null&&r.reportPrivateInBaseOfClassExpression&&(this.onDiagnosticReported(),this.inner.reportPrivateInBaseOfClassExpression(t))}reportInaccessibleUniqueSymbolError(){var t;(t=this.inner)!=null&&t.reportInaccessibleUniqueSymbolError&&(this.onDiagnosticReported(),this.inner.reportInaccessibleUniqueSymbolError())}reportCyclicStructureError(){var t;(t=this.inner)!=null&&t.reportCyclicStructureError&&(this.onDiagnosticReported(),this.inner.reportCyclicStructureError())}reportLikelyUnsafeImportRequiredError(t){var r;(r=this.inner)!=null&&r.reportLikelyUnsafeImportRequiredError&&(this.onDiagnosticReported(),this.inner.reportLikelyUnsafeImportRequiredError(t))}reportTruncationError(){var t;(t=this.inner)!=null&&t.reportTruncationError&&(this.onDiagnosticReported(),this.inner.reportTruncationError())}trackReferencedAmbientModule(t,r){var i;(i=this.inner)!=null&&i.trackReferencedAmbientModule&&(this.onDiagnosticReported(),this.inner.trackReferencedAmbientModule(t,r))}trackExternalModuleSymbolOfImportTypeNode(t){var r;(r=this.inner)!=null&&r.trackExternalModuleSymbolOfImportTypeNode&&(this.onDiagnosticReported(),this.inner.trackExternalModuleSymbolOfImportTypeNode(t))}reportNonlocalAugmentation(t,r,i){var o;(o=this.inner)!=null&&o.reportNonlocalAugmentation&&(this.onDiagnosticReported(),this.inner.reportNonlocalAugmentation(t,r,i))}reportNonSerializableProperty(t){var r;(r=this.inner)!=null&&r.reportNonSerializableProperty&&(this.onDiagnosticReported(),this.inner.reportNonSerializableProperty(t))}onDiagnosticReported(){this.context.reportedDiagnostic=!0}}}});function He(e,t,r,i){if(e===void 0)return e;let o=t(e),s;if(o!==void 0)return oo(o)?s=(i||V3e)(o):s=o,x.assertNode(s,r),s}function Dn(e,t,r,i,o){if(e===void 0)return e;let s=e.length;(i===void 0||i<0)&&(i=0),(o===void 0||o>s-i)&&(o=s-i);let l,d=-1,p=-1;i>0||o<s?l=e.hasTrailingComma&&i+o===s:(d=e.pos,p=e.end,l=e.hasTrailingComma);let h=ISe(e,t,r,i,o);if(h!==e){let m=P.createNodeArray(h,l);return F_(m,d,p),m}return e}function ck(e,t,r,i,o){if(e===void 0)return e;let s=e.length;return(i===void 0||i<0)&&(i=0),(o===void 0||o>s-i)&&(o=s-i),ISe(e,t,r,i,o)}function ISe(e,t,r,i,o){let s,l=e.length;(i>0||o<l)&&(s=[]);for(let d=0;d<o;d++){let p=e[d+i],h=p!==void 0?t?t(p):p:void 0;if((s!==void 0||h===void 0||h!==p)&&(s===void 0&&(s=e.slice(0,d),x.assertEachNode(s,r)),h))if(oo(h))for(let m of h)x.assertNode(m,r),s.push(m);else x.assertNode(h,r),s.push(h)}return s||(x.assertEachNode(e,r),e)}function jU(e,t,r,i,o,s=Dn){return r.startLexicalEnvironment(),e=s(e,t,Di,i),o&&(e=r.factory.ensureUseStrict(e)),P.mergeLexicalEnvironment(e,r.endLexicalEnvironment())}function rl(e,t,r,i=Dn){let o;return r.startLexicalEnvironment(),e&&(r.setLexicalEnvironmentFlags(1,!0),o=i(e,t,ao),r.getLexicalEnvironmentFlags()&2&&Wa(r.getCompilerOptions())>=2&&(o=F3e(o,r)),r.setLexicalEnvironmentFlags(1,!1)),r.suspendLexicalEnvironment(),o}function F3e(e,t){let r;for(let i=0;i<e.length;i++){let o=e[i],s=z3e(o,t);(r||s!==o)&&(r||(r=e.slice(0,i)),r[i]=s)}return r?Ze(t.factory.createNodeArray(r,e.hasTrailingComma),e):e}function z3e(e,t){return e.dotDotDotToken?e:ko(e.name)?B3e(e,t):e.initializer?G3e(e,e.name,e.initializer,t):e}function B3e(e,t){let{factory:r}=t;return t.addInitializationStatement(r.createVariableStatement(void 0,r.createVariableDeclarationList([r.createVariableDeclaration(e.name,void 0,e.type,e.initializer?r.createConditionalExpression(r.createStrictEquality(r.getGeneratedNameForNode(e),r.createVoidZero()),void 0,e.initializer,void 0,r.getGeneratedNameForNode(e)):r.getGeneratedNameForNode(e))]))),r.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,r.getGeneratedNameForNode(e),e.questionToken,e.type,void 0)}function G3e(e,t,r,i){let o=i.factory;return i.addInitializationStatement(o.createIfStatement(o.createTypeCheck(o.cloneNode(t),\"undefined\"),$n(Ze(o.createBlock([o.createExpressionStatement($n(Ze(o.createAssignment($n(o.cloneNode(t),96),$n(r,96|ba(r)|3072)),e),3072))]),e),3905))),o.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,e.name,e.questionToken,e.type,void 0)}function Cp(e,t,r,i=He){r.resumeLexicalEnvironment();let o=i(e,t,U8),s=r.endLexicalEnvironment();if(ct(s)){if(!o)return r.factory.createBlock(s);let l=r.factory.converters.convertToFunctionBlock(o),d=P.mergeLexicalEnvironment(l.statements,s);return r.factory.updateBlock(l,d)}return o}function Qd(e,t,r,i=He){r.startBlockScope();let o=i(e,t,Di,r.factory.liftToBlock);x.assert(o);let s=r.endBlockScope();return ct(s)?Do(o)?(s.push(...o.statements),r.factory.updateBlock(o,s)):(s.push(o),r.factory.createBlock(s)):o}function dk(e,t,r=t){if(r===t||e.length<=1)return Dn(e,t,lt);let i=0,o=e.length;return Dn(e,s=>{let l=i<o-1;return i++,l?r(s):t(s)},lt)}function un(e,t,r=FN,i=Dn,o,s=He){if(e===void 0)return;let l=xSe[e.kind];return l===void 0?e:l(e,t,r,i,s,o)}function V3e(e){return x.assert(e.length<=1,\"Too many nodes written to output.\"),R_(e)}var xSe,j3e=pt({\"src/compiler/visitorPublic.ts\"(){\"use strict\";wo(),xSe={166:function(t,r,i,o,s,l){return i.factory.updateQualifiedName(t,x.checkDefined(s(t.left,r,Su)),x.checkDefined(s(t.right,r,Me)))},167:function(t,r,i,o,s,l){return i.factory.updateComputedPropertyName(t,x.checkDefined(s(t.expression,r,lt)))},168:function(t,r,i,o,s,l){return i.factory.updateTypeParameterDeclaration(t,o(t.modifiers,r,ia),x.checkDefined(s(t.name,r,Me)),s(t.constraint,r,xi),s(t.default,r,xi))},169:function(t,r,i,o,s,l){return i.factory.updateParameterDeclaration(t,o(t.modifiers,r,Ws),l?s(t.dotDotDotToken,l,u6):t.dotDotDotToken,x.checkDefined(s(t.name,r,yS)),l?s(t.questionToken,l,cy):t.questionToken,s(t.type,r,xi),s(t.initializer,r,lt))},170:function(t,r,i,o,s,l){return i.factory.updateDecorator(t,x.checkDefined(s(t.expression,r,lt)))},171:function(t,r,i,o,s,l){return i.factory.updatePropertySignature(t,o(t.modifiers,r,ia),x.checkDefined(s(t.name,r,kl)),l?s(t.questionToken,l,cy):t.questionToken,s(t.type,r,xi))},172:function(t,r,i,o,s,l){return i.factory.updatePropertyDeclaration(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.name,r,kl)),l?s(t.questionToken??t.exclamationToken,l,bie):t.questionToken??t.exclamationToken,s(t.type,r,xi),s(t.initializer,r,lt))},173:function(t,r,i,o,s,l){return i.factory.updateMethodSignature(t,o(t.modifiers,r,ia),x.checkDefined(s(t.name,r,kl)),l?s(t.questionToken,l,cy):t.questionToken,o(t.typeParameters,r,qs),o(t.parameters,r,ao),s(t.type,r,xi))},174:function(t,r,i,o,s,l){return i.factory.updateMethodDeclaration(t,o(t.modifiers,r,Ws),l?s(t.asteriskToken,l,b2):t.asteriskToken,x.checkDefined(s(t.name,r,kl)),l?s(t.questionToken,l,cy):t.questionToken,o(t.typeParameters,r,qs),rl(t.parameters,r,i,o),s(t.type,r,xi),Cp(t.body,r,i,s))},176:function(t,r,i,o,s,l){return i.factory.updateConstructorDeclaration(t,o(t.modifiers,r,Ws),rl(t.parameters,r,i,o),Cp(t.body,r,i,s))},177:function(t,r,i,o,s,l){return i.factory.updateGetAccessorDeclaration(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.name,r,kl)),rl(t.parameters,r,i,o),s(t.type,r,xi),Cp(t.body,r,i,s))},178:function(t,r,i,o,s,l){return i.factory.updateSetAccessorDeclaration(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.name,r,kl)),rl(t.parameters,r,i,o),Cp(t.body,r,i,s))},175:function(t,r,i,o,s,l){return i.startLexicalEnvironment(),i.suspendLexicalEnvironment(),i.factory.updateClassStaticBlockDeclaration(t,Cp(t.body,r,i,s))},179:function(t,r,i,o,s,l){return i.factory.updateCallSignature(t,o(t.typeParameters,r,qs),o(t.parameters,r,ao),s(t.type,r,xi))},180:function(t,r,i,o,s,l){return i.factory.updateConstructSignature(t,o(t.typeParameters,r,qs),o(t.parameters,r,ao),s(t.type,r,xi))},181:function(t,r,i,o,s,l){return i.factory.updateIndexSignature(t,o(t.modifiers,r,Ws),o(t.parameters,r,ao),x.checkDefined(s(t.type,r,xi)))},182:function(t,r,i,o,s,l){return i.factory.updateTypePredicateNode(t,s(t.assertsModifier,r,Vre),x.checkDefined(s(t.parameterName,r,Eie)),s(t.type,r,xi))},183:function(t,r,i,o,s,l){return i.factory.updateTypeReferenceNode(t,x.checkDefined(s(t.typeName,r,Su)),o(t.typeArguments,r,xi))},184:function(t,r,i,o,s,l){return i.factory.updateFunctionTypeNode(t,o(t.typeParameters,r,qs),o(t.parameters,r,ao),x.checkDefined(s(t.type,r,xi)))},185:function(t,r,i,o,s,l){return i.factory.updateConstructorTypeNode(t,o(t.modifiers,r,ia),o(t.typeParameters,r,qs),o(t.parameters,r,ao),x.checkDefined(s(t.type,r,xi)))},186:function(t,r,i,o,s,l){return i.factory.updateTypeQueryNode(t,x.checkDefined(s(t.exprName,r,Su)),o(t.typeArguments,r,xi))},187:function(t,r,i,o,s,l){return i.factory.updateTypeLiteralNode(t,o(t.members,r,bS))},188:function(t,r,i,o,s,l){return i.factory.updateArrayTypeNode(t,x.checkDefined(s(t.elementType,r,xi)))},189:function(t,r,i,o,s,l){return i.factory.updateTupleTypeNode(t,o(t.elements,r,xi))},190:function(t,r,i,o,s,l){return i.factory.updateOptionalTypeNode(t,x.checkDefined(s(t.type,r,xi)))},191:function(t,r,i,o,s,l){return i.factory.updateRestTypeNode(t,x.checkDefined(s(t.type,r,xi)))},192:function(t,r,i,o,s,l){return i.factory.updateUnionTypeNode(t,o(t.types,r,xi))},193:function(t,r,i,o,s,l){return i.factory.updateIntersectionTypeNode(t,o(t.types,r,xi))},194:function(t,r,i,o,s,l){return i.factory.updateConditionalTypeNode(t,x.checkDefined(s(t.checkType,r,xi)),x.checkDefined(s(t.extendsType,r,xi)),x.checkDefined(s(t.trueType,r,xi)),x.checkDefined(s(t.falseType,r,xi)))},195:function(t,r,i,o,s,l){return i.factory.updateInferTypeNode(t,x.checkDefined(s(t.typeParameter,r,qs)))},205:function(t,r,i,o,s,l){return i.factory.updateImportTypeNode(t,x.checkDefined(s(t.argument,r,xi)),s(t.attributes,r,uI),s(t.qualifier,r,Su),o(t.typeArguments,r,xi),t.isTypeOf)},302:function(t,r,i,o,s,l){return i.factory.updateImportTypeAssertionContainer(t,x.checkDefined(s(t.assertClause,r,Zre)),t.multiLine)},202:function(t,r,i,o,s,l){return i.factory.updateNamedTupleMember(t,l?s(t.dotDotDotToken,l,u6):t.dotDotDotToken,x.checkDefined(s(t.name,r,Me)),l?s(t.questionToken,l,cy):t.questionToken,x.checkDefined(s(t.type,r,xi)))},196:function(t,r,i,o,s,l){return i.factory.updateParenthesizedType(t,x.checkDefined(s(t.type,r,xi)))},198:function(t,r,i,o,s,l){return i.factory.updateTypeOperatorNode(t,x.checkDefined(s(t.type,r,xi)))},199:function(t,r,i,o,s,l){return i.factory.updateIndexedAccessTypeNode(t,x.checkDefined(s(t.objectType,r,xi)),x.checkDefined(s(t.indexType,r,xi)))},200:function(t,r,i,o,s,l){return i.factory.updateMappedTypeNode(t,l?s(t.readonlyToken,l,Sie):t.readonlyToken,x.checkDefined(s(t.typeParameter,r,qs)),s(t.nameType,r,xi),l?s(t.questionToken,l,Tie):t.questionToken,s(t.type,r,xi),o(t.members,r,bS))},201:function(t,r,i,o,s,l){return i.factory.updateLiteralTypeNode(t,x.checkDefined(s(t.literal,r,ete)))},203:function(t,r,i,o,s,l){return i.factory.updateTemplateLiteralType(t,x.checkDefined(s(t.head,r,tI)),o(t.templateSpans,r,bj))},204:function(t,r,i,o,s,l){return i.factory.updateTemplateLiteralTypeSpan(t,x.checkDefined(s(t.type,r,xi)),x.checkDefined(s(t.literal,r,B8)))},206:function(t,r,i,o,s,l){return i.factory.updateObjectBindingPattern(t,o(t.elements,r,Na))},207:function(t,r,i,o,s,l){return i.factory.updateArrayBindingPattern(t,o(t.elements,r,V8))},208:function(t,r,i,o,s,l){return i.factory.updateBindingElement(t,l?s(t.dotDotDotToken,l,u6):t.dotDotDotToken,s(t.propertyName,r,kl),x.checkDefined(s(t.name,r,yS)),s(t.initializer,r,lt))},209:function(t,r,i,o,s,l){return i.factory.updateArrayLiteralExpression(t,o(t.elements,r,lt))},210:function(t,r,i,o,s,l){return i.factory.updateObjectLiteralExpression(t,o(t.properties,r,Zh))},211:function(t,r,i,o,s,l){return W8(t)?i.factory.updatePropertyAccessChain(t,x.checkDefined(s(t.expression,r,lt)),l?s(t.questionDotToken,l,p6):t.questionDotToken,x.checkDefined(s(t.name,r,hh))):i.factory.updatePropertyAccessExpression(t,x.checkDefined(s(t.expression,r,lt)),x.checkDefined(s(t.name,r,hh)))},212:function(t,r,i,o,s,l){return VG(t)?i.factory.updateElementAccessChain(t,x.checkDefined(s(t.expression,r,lt)),l?s(t.questionDotToken,l,p6):t.questionDotToken,x.checkDefined(s(t.argumentExpression,r,lt))):i.factory.updateElementAccessExpression(t,x.checkDefined(s(t.expression,r,lt)),x.checkDefined(s(t.argumentExpression,r,lt)))},213:function(t,r,i,o,s,l){return gS(t)?i.factory.updateCallChain(t,x.checkDefined(s(t.expression,r,lt)),l?s(t.questionDotToken,l,p6):t.questionDotToken,o(t.typeArguments,r,xi),o(t.arguments,r,lt)):i.factory.updateCallExpression(t,x.checkDefined(s(t.expression,r,lt)),o(t.typeArguments,r,xi),o(t.arguments,r,lt))},214:function(t,r,i,o,s,l){return i.factory.updateNewExpression(t,x.checkDefined(s(t.expression,r,lt)),o(t.typeArguments,r,xi),o(t.arguments,r,lt))},215:function(t,r,i,o,s,l){return i.factory.updateTaggedTemplateExpression(t,x.checkDefined(s(t.tag,r,lt)),o(t.typeArguments,r,xi),x.checkDefined(s(t.template,r,NA)))},216:function(t,r,i,o,s,l){return i.factory.updateTypeAssertion(t,x.checkDefined(s(t.type,r,xi)),x.checkDefined(s(t.expression,r,lt)))},217:function(t,r,i,o,s,l){return i.factory.updateParenthesizedExpression(t,x.checkDefined(s(t.expression,r,lt)))},218:function(t,r,i,o,s,l){return i.factory.updateFunctionExpression(t,o(t.modifiers,r,ia),l?s(t.asteriskToken,l,b2):t.asteriskToken,s(t.name,r,Me),o(t.typeParameters,r,qs),rl(t.parameters,r,i,o),s(t.type,r,xi),Cp(t.body,r,i,s))},219:function(t,r,i,o,s,l){return i.factory.updateArrowFunction(t,o(t.modifiers,r,ia),o(t.typeParameters,r,qs),rl(t.parameters,r,i,o),s(t.type,r,xi),l?x.checkDefined(s(t.equalsGreaterThanToken,l,Gre)):t.equalsGreaterThanToken,Cp(t.body,r,i,s))},220:function(t,r,i,o,s,l){return i.factory.updateDeleteExpression(t,x.checkDefined(s(t.expression,r,lt)))},221:function(t,r,i,o,s,l){return i.factory.updateTypeOfExpression(t,x.checkDefined(s(t.expression,r,lt)))},222:function(t,r,i,o,s,l){return i.factory.updateVoidExpression(t,x.checkDefined(s(t.expression,r,lt)))},223:function(t,r,i,o,s,l){return i.factory.updateAwaitExpression(t,x.checkDefined(s(t.expression,r,lt)))},224:function(t,r,i,o,s,l){return i.factory.updatePrefixUnaryExpression(t,x.checkDefined(s(t.operand,r,lt)))},225:function(t,r,i,o,s,l){return i.factory.updatePostfixUnaryExpression(t,x.checkDefined(s(t.operand,r,lt)))},226:function(t,r,i,o,s,l){return i.factory.updateBinaryExpression(t,x.checkDefined(s(t.left,r,lt)),l?x.checkDefined(s(t.operatorToken,l,Iie)):t.operatorToken,x.checkDefined(s(t.right,r,lt)))},227:function(t,r,i,o,s,l){return i.factory.updateConditionalExpression(t,x.checkDefined(s(t.condition,r,lt)),l?x.checkDefined(s(t.questionToken,l,cy)):t.questionToken,x.checkDefined(s(t.whenTrue,r,lt)),l?x.checkDefined(s(t.colonToken,l,Bre)):t.colonToken,x.checkDefined(s(t.whenFalse,r,lt)))},228:function(t,r,i,o,s,l){return i.factory.updateTemplateExpression(t,x.checkDefined(s(t.head,r,tI)),o(t.templateSpans,r,uN))},229:function(t,r,i,o,s,l){return i.factory.updateYieldExpression(t,l?s(t.asteriskToken,l,b2):t.asteriskToken,s(t.expression,r,lt))},230:function(t,r,i,o,s,l){return i.factory.updateSpreadElement(t,x.checkDefined(s(t.expression,r,lt)))},231:function(t,r,i,o,s,l){return i.factory.updateClassExpression(t,o(t.modifiers,r,Ws),s(t.name,r,Me),o(t.typeParameters,r,qs),o(t.heritageClauses,r,xp),o(t.members,r,xc))},233:function(t,r,i,o,s,l){return i.factory.updateExpressionWithTypeArguments(t,x.checkDefined(s(t.expression,r,lt)),o(t.typeArguments,r,xi))},234:function(t,r,i,o,s,l){return i.factory.updateAsExpression(t,x.checkDefined(s(t.expression,r,lt)),x.checkDefined(s(t.type,r,xi)))},238:function(t,r,i,o,s,l){return i.factory.updateSatisfiesExpression(t,x.checkDefined(s(t.expression,r,lt)),x.checkDefined(s(t.type,r,xi)))},235:function(t,r,i,o,s,l){return yd(t)?i.factory.updateNonNullChain(t,x.checkDefined(s(t.expression,r,lt))):i.factory.updateNonNullExpression(t,x.checkDefined(s(t.expression,r,lt)))},236:function(t,r,i,o,s,l){return i.factory.updateMetaProperty(t,x.checkDefined(s(t.name,r,Me)))},239:function(t,r,i,o,s,l){return i.factory.updateTemplateSpan(t,x.checkDefined(s(t.expression,r,lt)),x.checkDefined(s(t.literal,r,B8)))},241:function(t,r,i,o,s,l){return i.factory.updateBlock(t,o(t.statements,r,Di))},243:function(t,r,i,o,s,l){return i.factory.updateVariableStatement(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.declarationList,r,yc)))},244:function(t,r,i,o,s,l){return i.factory.updateExpressionStatement(t,x.checkDefined(s(t.expression,r,lt)))},245:function(t,r,i,o,s,l){return i.factory.updateIfStatement(t,x.checkDefined(s(t.expression,r,lt)),x.checkDefined(s(t.thenStatement,r,Di,i.factory.liftToBlock)),s(t.elseStatement,r,Di,i.factory.liftToBlock))},246:function(t,r,i,o,s,l){return i.factory.updateDoStatement(t,Qd(t.statement,r,i,s),x.checkDefined(s(t.expression,r,lt)))},247:function(t,r,i,o,s,l){return i.factory.updateWhileStatement(t,x.checkDefined(s(t.expression,r,lt)),Qd(t.statement,r,i,s))},248:function(t,r,i,o,s,l){return i.factory.updateForStatement(t,s(t.initializer,r,Up),s(t.condition,r,lt),s(t.incrementor,r,lt),Qd(t.statement,r,i,s))},249:function(t,r,i,o,s,l){return i.factory.updateForInStatement(t,x.checkDefined(s(t.initializer,r,Up)),x.checkDefined(s(t.expression,r,lt)),Qd(t.statement,r,i,s))},250:function(t,r,i,o,s,l){return i.factory.updateForOfStatement(t,l?s(t.awaitModifier,l,yj):t.awaitModifier,x.checkDefined(s(t.initializer,r,Up)),x.checkDefined(s(t.expression,r,lt)),Qd(t.statement,r,i,s))},251:function(t,r,i,o,s,l){return i.factory.updateContinueStatement(t,s(t.label,r,Me))},252:function(t,r,i,o,s,l){return i.factory.updateBreakStatement(t,s(t.label,r,Me))},253:function(t,r,i,o,s,l){return i.factory.updateReturnStatement(t,s(t.expression,r,lt))},254:function(t,r,i,o,s,l){return i.factory.updateWithStatement(t,x.checkDefined(s(t.expression,r,lt)),x.checkDefined(s(t.statement,r,Di,i.factory.liftToBlock)))},255:function(t,r,i,o,s,l){return i.factory.updateSwitchStatement(t,x.checkDefined(s(t.expression,r,lt)),x.checkDefined(s(t.caseBlock,r,fN)))},256:function(t,r,i,o,s,l){return i.factory.updateLabeledStatement(t,x.checkDefined(s(t.label,r,Me)),x.checkDefined(s(t.statement,r,Di,i.factory.liftToBlock)))},257:function(t,r,i,o,s,l){return i.factory.updateThrowStatement(t,x.checkDefined(s(t.expression,r,lt)))},258:function(t,r,i,o,s,l){return i.factory.updateTryStatement(t,x.checkDefined(s(t.tryBlock,r,Do)),s(t.catchClause,r,u0),s(t.finallyBlock,r,Do))},260:function(t,r,i,o,s,l){return i.factory.updateVariableDeclaration(t,x.checkDefined(s(t.name,r,yS)),l?s(t.exclamationToken,l,E2):t.exclamationToken,s(t.type,r,xi),s(t.initializer,r,lt))},261:function(t,r,i,o,s,l){return i.factory.updateVariableDeclarationList(t,o(t.declarations,r,yi))},262:function(t,r,i,o,s,l){return i.factory.updateFunctionDeclaration(t,o(t.modifiers,r,ia),l?s(t.asteriskToken,l,b2):t.asteriskToken,s(t.name,r,Me),o(t.typeParameters,r,qs),rl(t.parameters,r,i,o),s(t.type,r,xi),Cp(t.body,r,i,s))},263:function(t,r,i,o,s,l){return i.factory.updateClassDeclaration(t,o(t.modifiers,r,Ws),s(t.name,r,Me),o(t.typeParameters,r,qs),o(t.heritageClauses,r,xp),o(t.members,r,xc))},264:function(t,r,i,o,s,l){return i.factory.updateInterfaceDeclaration(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.name,r,Me)),o(t.typeParameters,r,qs),o(t.heritageClauses,r,xp),o(t.members,r,bS))},265:function(t,r,i,o,s,l){return i.factory.updateTypeAliasDeclaration(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.name,r,Me)),o(t.typeParameters,r,qs),x.checkDefined(s(t.type,r,xi)))},266:function(t,r,i,o,s,l){return i.factory.updateEnumDeclaration(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.name,r,Me)),o(t.members,r,p0))},267:function(t,r,i,o,s,l){return i.factory.updateModuleDeclaration(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.name,r,Aie)),s(t.body,r,rte))},268:function(t,r,i,o,s,l){return i.factory.updateModuleBlock(t,o(t.statements,r,Di))},269:function(t,r,i,o,s,l){return i.factory.updateCaseBlock(t,o(t.clauses,r,q8))},270:function(t,r,i,o,s,l){return i.factory.updateNamespaceExportDeclaration(t,x.checkDefined(s(t.name,r,Me)))},271:function(t,r,i,o,s,l){return i.factory.updateImportEqualsDeclaration(t,o(t.modifiers,r,Ws),t.isTypeOnly,x.checkDefined(s(t.name,r,Me)),x.checkDefined(s(t.moduleReference,r,lte)))},272:function(t,r,i,o,s,l){return i.factory.updateImportDeclaration(t,o(t.modifiers,r,Ws),s(t.importClause,r,V_),x.checkDefined(s(t.moduleSpecifier,r,lt)),s(t.attributes,r,uI))},300:function(t,r,i,o,s,l){return i.factory.updateImportAttributes(t,o(t.elements,r,eie),t.multiLine)},301:function(t,r,i,o,s,l){return i.factory.updateImportAttribute(t,x.checkDefined(s(t.name,r,Jee)),x.checkDefined(s(t.value,r,lt)))},273:function(t,r,i,o,s,l){return i.factory.updateImportClause(t,t.isTypeOnly,s(t.name,r,Me),s(t.namedBindings,r,n9))},274:function(t,r,i,o,s,l){return i.factory.updateNamespaceImport(t,x.checkDefined(s(t.name,r,Me)))},280:function(t,r,i,o,s,l){return i.factory.updateNamespaceExport(t,x.checkDefined(s(t.name,r,Me)))},275:function(t,r,i,o,s,l){return i.factory.updateNamedImports(t,o(t.elements,r,Iu))},276:function(t,r,i,o,s,l){return i.factory.updateImportSpecifier(t,t.isTypeOnly,s(t.propertyName,r,Me),x.checkDefined(s(t.name,r,Me)))},277:function(t,r,i,o,s,l){return i.factory.updateExportAssignment(t,o(t.modifiers,r,Ws),x.checkDefined(s(t.expression,r,lt)))},278:function(t,r,i,o,s,l){return i.factory.updateExportDeclaration(t,o(t.modifiers,r,Ws),t.isTypeOnly,s(t.exportClause,r,UG),s(t.moduleSpecifier,r,lt),s(t.attributes,r,uI))},279:function(t,r,i,o,s,l){return i.factory.updateNamedExports(t,o(t.elements,r,Ed))},281:function(t,r,i,o,s,l){return i.factory.updateExportSpecifier(t,t.isTypeOnly,s(t.propertyName,r,Me),x.checkDefined(s(t.name,r,Me)))},283:function(t,r,i,o,s,l){return i.factory.updateExternalModuleReference(t,x.checkDefined(s(t.expression,r,lt)))},284:function(t,r,i,o,s,l){return i.factory.updateJsxElement(t,x.checkDefined(s(t.openingElement,r,r_)),o(t.children,r,ZM),x.checkDefined(s(t.closingElement,r,l0)))},285:function(t,r,i,o,s,l){return i.factory.updateJsxSelfClosingElement(t,x.checkDefined(s(t.tagName,r,cC)),o(t.typeArguments,r,xi),x.checkDefined(s(t.attributes,r,d0)))},286:function(t,r,i,o,s,l){return i.factory.updateJsxOpeningElement(t,x.checkDefined(s(t.tagName,r,cC)),o(t.typeArguments,r,xi),x.checkDefined(s(t.attributes,r,d0)))},287:function(t,r,i,o,s,l){return i.factory.updateJsxClosingElement(t,x.checkDefined(s(t.tagName,r,cC)))},295:function(t,r,i,o,s,l){return i.factory.updateJsxNamespacedName(t,x.checkDefined(s(t.namespace,r,Me)),x.checkDefined(s(t.name,r,Me)))},288:function(t,r,i,o,s,l){return i.factory.updateJsxFragment(t,x.checkDefined(s(t.openingFragment,r,fI)),o(t.children,r,ZM),x.checkDefined(s(t.closingFragment,r,tie)))},291:function(t,r,i,o,s,l){return i.factory.updateJsxAttribute(t,x.checkDefined(s(t.name,r,_re)),s(t.initializer,r,cte))},292:function(t,r,i,o,s,l){return i.factory.updateJsxAttributes(t,o(t.properties,r,H8))},293:function(t,r,i,o,s,l){return i.factory.updateJsxSpreadAttribute(t,x.checkDefined(s(t.expression,r,lt)))},294:function(t,r,i,o,s,l){return i.factory.updateJsxExpression(t,s(t.expression,r,lt))},296:function(t,r,i,o,s,l){return i.factory.updateCaseClause(t,x.checkDefined(s(t.expression,r,lt)),o(t.statements,r,Di))},297:function(t,r,i,o,s,l){return i.factory.updateDefaultClause(t,o(t.statements,r,Di))},298:function(t,r,i,o,s,l){return i.factory.updateHeritageClause(t,o(t.types,r,sv))},299:function(t,r,i,o,s,l){return i.factory.updateCatchClause(t,s(t.variableDeclaration,r,yi),x.checkDefined(s(t.block,r,Do)))},303:function(t,r,i,o,s,l){return i.factory.updatePropertyAssignment(t,x.checkDefined(s(t.name,r,kl)),x.checkDefined(s(t.initializer,r,lt)))},304:function(t,r,i,o,s,l){return i.factory.updateShorthandPropertyAssignment(t,x.checkDefined(s(t.name,r,Me)),s(t.objectAssignmentInitializer,r,lt))},305:function(t,r,i,o,s,l){return i.factory.updateSpreadAssignment(t,x.checkDefined(s(t.expression,r,lt)))},306:function(t,r,i,o,s,l){return i.factory.updateEnumMember(t,x.checkDefined(s(t.name,r,kl)),s(t.initializer,r,lt))},312:function(t,r,i,o,s,l){return i.factory.updateSourceFile(t,jU(t.statements,r,i))},360:function(t,r,i,o,s,l){return i.factory.updatePartiallyEmittedExpression(t,x.checkDefined(s(t.expression,r,lt)))},361:function(t,r,i,o,s,l){return i.factory.updateCommaListExpression(t,o(t.elements,r,lt))}}}});function Noe(e,t,r,i,o){var{enter:s,exit:l}=o.extendedDiagnostics?EB(\"Source Map\",\"beforeSourcemap\",\"afterSourcemap\"):SB,d=[],p=[],h=new Map,m,v=[],E,S=[],A=\"\",C=0,R=0,L=0,G=0,U=0,K=0,F=!1,oe=0,W=0,$=0,de=0,fe=0,q=0,H=!1,ee=!1,le=!1;return{getSources:()=>d,addSource:Ee,setSourceContent:ce,addName:Z,addMapping:Oe,appendSourceMap:_e,toJSON:he,toString:()=>JSON.stringify(he())};function Ee(Ke){s();let Dt=AA(i,Ke,e.getCurrentDirectory(),e.getCanonicalFileName,!0),st=h.get(Dt);return st===void 0&&(st=p.length,p.push(Dt),d.push(Ke),h.set(Dt,st)),l(),st}function ce(Ke,Dt){if(s(),Dt!==null){for(m||(m=[]);m.length<Ke;)m.push(null);m[Ke]=Dt}l()}function Z(Ke){s(),E||(E=new Map);let Dt=E.get(Ke);return Dt===void 0&&(Dt=v.length,v.push(Ke),E.set(Ke,Dt)),l(),Dt}function pe(Ke,Dt){return!H||oe!==Ke||W!==Dt}function Ae(Ke,Dt,st){return Ke!==void 0&&Dt!==void 0&&st!==void 0&&$===Ke&&(de>Dt||de===Dt&&fe>st)}function Oe(Ke,Dt,st,Ge,ot,Vt){x.assert(Ke>=oe,\"generatedLine cannot backtrack\"),x.assert(Dt>=0,\"generatedCharacter cannot be negative\"),x.assert(st===void 0||st>=0,\"sourceIndex cannot be negative\"),x.assert(Ge===void 0||Ge>=0,\"sourceLine cannot be negative\"),x.assert(ot===void 0||ot>=0,\"sourceCharacter cannot be negative\"),s(),(pe(Ke,Dt)||Ae(st,Ge,ot))&&(De(),oe=Ke,W=Dt,ee=!1,le=!1,H=!0),st!==void 0&&Ge!==void 0&&ot!==void 0&&($=st,de=Ge,fe=ot,ee=!0,Vt!==void 0&&(q=Vt,le=!0)),l()}function _e(Ke,Dt,st,Ge,ot,Vt){x.assert(Ke>=oe,\"generatedLine cannot backtrack\"),x.assert(Dt>=0,\"generatedCharacter cannot be negative\"),s();let jt=[],gn,On=qU(st.mappings);for(let en of On){if(Vt&&(en.generatedLine>Vt.line||en.generatedLine===Vt.line&&en.generatedCharacter>Vt.character))break;if(ot&&(en.generatedLine<ot.line||ot.line===en.generatedLine&&en.generatedCharacter<ot.character))continue;let zt,Wt,ei,Ki;if(en.sourceIndex!==void 0){if(zt=jt[en.sourceIndex],zt===void 0){let cr=st.sources[en.sourceIndex],Jt=st.sourceRoot?wr(st.sourceRoot,cr):cr,Ue=wr(Ur(Ge),Jt);jt[en.sourceIndex]=zt=Ee(Ue),st.sourcesContent&&typeof st.sourcesContent[en.sourceIndex]==\"string\"&&ce(zt,st.sourcesContent[en.sourceIndex])}Wt=en.sourceLine,ei=en.sourceCharacter,st.names&&en.nameIndex!==void 0&&(gn||(gn=[]),Ki=gn[en.nameIndex],Ki===void 0&&(gn[en.nameIndex]=Ki=Z(st.names[en.nameIndex])))}let gi=en.generatedLine-(ot?ot.line:0),io=gi+Ke,Gn=ot&&ot.line===en.generatedLine?en.generatedCharacter-ot.character:en.generatedCharacter,Nr=gi===0?Gn+Dt:Gn;Oe(io,Nr,zt,Wt,ei,Ki)}l()}function be(){return!F||C!==oe||R!==W||L!==$||G!==de||U!==fe||K!==q}function Te(Ke){S.push(Ke),S.length>=1024&&ft()}function De(){if(!(!H||!be())){if(s(),C<oe){do Te(59),C++;while(C<oe);R=0}else x.assertEqual(C,oe,\"generatedLine cannot backtrack\"),F&&Te(44);Le(W-R),R=W,ee&&(Le($-L),L=$,Le(de-G),G=de,Le(fe-U),U=fe,le&&(Le(q-K),K=q)),F=!0,l()}}function ft(){S.length>0&&(A+=String.fromCharCode.apply(void 0,S),S.length=0)}function he(){return De(),ft(),{version:3,file:t,sourceRoot:r,sources:p,names:v,mappings:A,sourcesContent:m}}function Le(Ke){Ke<0?Ke=(-Ke<<1)+1:Ke=Ke<<1;do{let Dt=Ke&31;Ke=Ke>>5,Ke>0&&(Dt=Dt|32),Te(H3e(Dt))}while(Ke>0)}}function UU(e,t){return{getLineCount:()=>t.length,getLineText:r=>e.substring(t[r],t[r+1])}}function Poe(e){for(let t=e.getLineCount()-1;t>=0;t--){let r=e.getLineText(t),i=p4.exec(r);if(i)return i[1].trimEnd();if(!r.match(f4))break}}function U3e(e){return typeof e==\"string\"||e===null}function Moe(e){return e!==null&&typeof e==\"object\"&&e.version===3&&typeof e.file==\"string\"&&typeof e.mappings==\"string\"&&oo(e.sources)&&ji(e.sources,fo)&&(e.sourceRoot===void 0||e.sourceRoot===null||typeof e.sourceRoot==\"string\")&&(e.sourcesContent===void 0||e.sourcesContent===null||oo(e.sourcesContent)&&ji(e.sourcesContent,U3e))&&(e.names===void 0||e.names===null||oo(e.names)&&ji(e.names,fo))}function HU(e){try{let t=JSON.parse(e);if(Moe(t))return t}catch{}}function qU(e){let t=!1,r=0,i=0,o=0,s=0,l=0,d=0,p=0,h;return{get pos(){return r},get error(){return h},get state(){return m(!0,!0)},next(){for(;!t&&r<e.length;){let L=e.charCodeAt(r);if(L===59){i++,o=0,r++;continue}if(L===44){r++;continue}let G=!1,U=!1;if(o+=R(),A())return v();if(o<0)return S(\"Invalid generatedCharacter found\");if(!C()){if(G=!0,s+=R(),A())return v();if(s<0)return S(\"Invalid sourceIndex found\");if(C())return S(\"Unsupported Format: No entries after sourceIndex\");if(l+=R(),A())return v();if(l<0)return S(\"Invalid sourceLine found\");if(C())return S(\"Unsupported Format: No entries after sourceLine\");if(d+=R(),A())return v();if(d<0)return S(\"Invalid sourceCharacter found\");if(!C()){if(U=!0,p+=R(),A())return v();if(p<0)return S(\"Invalid nameIndex found\");if(!C())return S(\"Unsupported Error Format: Entries after nameIndex\")}}return{value:m(G,U),done:t}}return v()},[Symbol.iterator](){return this}};function m(L,G){return{generatedLine:i,generatedCharacter:o,sourceIndex:L?s:void 0,sourceLine:L?l:void 0,sourceCharacter:L?d:void 0,nameIndex:G?p:void 0}}function v(){return t=!0,{value:void 0,done:!0}}function E(L){h===void 0&&(h=L)}function S(L){return E(L),v()}function A(){return h!==void 0}function C(){return r===e.length||e.charCodeAt(r)===44||e.charCodeAt(r)===59}function R(){let L=!0,G=0,U=0;for(;L;r++){if(r>=e.length)return E(\"Error in decoding base64VLQFormatDecode, past the mapping string\"),-1;let K=q3e(e.charCodeAt(r));if(K===-1)return E(\"Invalid character in VLQ\"),-1;L=(K&32)!==0,U=U|(K&31)<<G,G+=5}return U&1?(U=U>>1,U=-U):U=U>>1,U}}function RSe(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex}function Loe(e){return e.sourceIndex!==void 0&&e.sourceLine!==void 0&&e.sourceCharacter!==void 0}function H3e(e){return e>=0&&e<26?65+e:e>=26&&e<52?97+e-26:e>=52&&e<62?48+e-52:e===62?43:e===63?47:x.fail(`${e}: not a base64 value`)}function q3e(e){return e>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:e===43?62:e===47?63:-1}function DSe(e){return e.sourceIndex!==void 0&&e.sourcePosition!==void 0}function CSe(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function J3e(e,t){return x.assert(e.sourceIndex===t.sourceIndex),Ms(e.sourcePosition,t.sourcePosition)}function K3e(e,t){return Ms(e.generatedPosition,t.generatedPosition)}function X3e(e){return e.sourcePosition}function Y3e(e){return e.generatedPosition}function koe(e,t,r){let i=Ur(r),o=t.sourceRoot?Qi(t.sourceRoot,i):i,s=Qi(t.file,i),l=e.getSourceFileLike(s),d=t.sources.map(G=>Qi(G,o)),p=new Map(d.map((G,U)=>[e.getCanonicalFileName(G),U])),h,m,v;return{getSourcePosition:L,getGeneratedPosition:R};function E(G){let U=l!==void 0?NM(l,G.generatedLine,G.generatedCharacter,!0):-1,K,F;if(Loe(G)){let oe=e.getSourceFileLike(d[G.sourceIndex]);K=t.sources[G.sourceIndex],F=oe!==void 0?NM(oe,G.sourceLine,G.sourceCharacter,!0):-1}return{generatedPosition:U,source:K,sourceIndex:G.sourceIndex,sourcePosition:F,nameIndex:G.nameIndex}}function S(){if(h===void 0){let G=qU(t.mappings),U=bo(G,E);G.error!==void 0?(e.log&&e.log(`Encountered error while decoding sourcemap: ${G.error}`),h=je):h=U}return h}function A(G){if(v===void 0){let U=[];for(let K of S()){if(!DSe(K))continue;let F=U[K.sourceIndex];F||(U[K.sourceIndex]=F=[]),F.push(K)}v=U.map(K=>zD(K,J3e,CSe))}return v[G]}function C(){if(m===void 0){let G=[];for(let U of S())G.push(U);m=zD(G,K3e,CSe)}return m}function R(G){let U=p.get(e.getCanonicalFileName(G.fileName));if(U===void 0)return G;let K=A(U);if(!ct(K))return G;let F=gA(K,G.pos,X3e,Ms);F<0&&(F=~F);let oe=K[F];return oe===void 0||oe.sourceIndex!==U?G:{fileName:s,pos:oe.generatedPosition}}function L(G){let U=C();if(!ct(U))return G;let K=gA(U,G.pos,Y3e,Ms);K<0&&(K=~K);let F=U[K];return F===void 0||!DSe(F)?G:{fileName:d[F.sourceIndex],pos:F.sourcePosition}}}var JU,p4,f4,m4,$3e=pt({\"src/compiler/sourcemap.ts\"(){\"use strict\";wo(),mS(),JU=/\\/\\/[@#] source[M]appingURL=(.+)\\r?\\n?$/,p4=/^\\/\\/[@#] source[M]appingURL=(.+)\\r?\\n?$/,f4=/^\\s*(\\/\\/[@#] .*)?$/,m4={getSourcePosition:Ps,getGeneratedPosition:Ps}}});function dd(e){return e=sl(e),e?Fa(e):0}function Q3e(e){return!e||!sg(e)?!1:ct(e.elements,NSe)}function NSe(e){return e.propertyName!==void 0&&e.propertyName.escapedText===\"default\"}function $f(e,t){return r;function r(o){return o.kind===312?t(o):i(o)}function i(o){return e.factory.createBundle(nn(o.sourceFiles,t),o.prepends)}}function Ooe(e){return!!cx(e)}function _4(e){if(cx(e))return!0;let t=e.importClause&&e.importClause.namedBindings;if(!t||!sg(t))return!1;let r=0;for(let i of t.elements)NSe(i)&&r++;return r>0&&r!==t.elements.length||!!(t.elements.length-r)&&kA(e)}function KU(e){return!_4(e)&&(kA(e)||!!e.importClause&&sg(e.importClause.namedBindings)&&Q3e(e.importClause.namedBindings))}function XU(e,t){let r=e.getEmitResolver(),i=e.getCompilerOptions(),o=[],s=new ZU,l=[],d=new Map,p,h=!1,m,v=!1,E=!1,S=!1;for(let R of t.statements)switch(R.kind){case 272:o.push(R),!E&&_4(R)&&(E=!0),!S&&KU(R)&&(S=!0);break;case 271:R.moduleReference.kind===283&&o.push(R);break;case 278:if(R.moduleSpecifier)if(!R.exportClause)o.push(R),v=!0;else if(o.push(R),$p(R.exportClause))C(R);else{let L=R.exportClause.name;d.get(ar(L))||(NN(l,dd(R),L),d.set(ar(L),!0),p=pn(p,L)),E=!0}else C(R);break;case 277:R.isExportEquals&&!m&&(m=R);break;case 243:if(Wr(R,32))for(let L of R.declarationList.declarations)p=PSe(L,d,p,l);break;case 262:if(Wr(R,32))if(Wr(R,2048))h||(NN(l,dd(R),e.factory.getDeclarationName(R)),h=!0);else{let L=R.name;d.get(ar(L))||(NN(l,dd(R),L),d.set(ar(L),!0),p=pn(p,L))}break;case 263:if(Wr(R,32))if(Wr(R,2048))h||(NN(l,dd(R),e.factory.getDeclarationName(R)),h=!0);else{let L=R.name;L&&!d.get(ar(L))&&(NN(l,dd(R),L),d.set(ar(L),!0),p=pn(p,L))}break}let A=Bj(e.factory,e.getEmitHelperFactory(),t,i,v,E,S);return A&&o.unshift(A),{externalImports:o,exportSpecifiers:s,exportEquals:m,hasExportStarsToExportValues:v,exportedBindings:l,exportedNames:p,externalHelpersImportDeclaration:A};function C(R){for(let L of Fo(R.exportClause,$p).elements)if(!d.get(ar(L.name))){let G=L.propertyName||L.name;R.moduleSpecifier||s.add(G,L);let U=r.getReferencedImportDeclaration(G)||r.getReferencedValueDeclaration(G);U&&NN(l,dd(U),L.name),d.set(ar(L.name),!0),p=pn(p,L.name)}}}function PSe(e,t,r,i){if(ko(e.name))for(let o of e.name.elements)vc(o)||(r=PSe(o,t,r,i));else if(!ws(e.name)){let o=ar(e.name);t.get(o)||(t.set(o,!0),r=pn(r,e.name),lg(e.name)&&NN(i,dd(e),e.name))}return r}function NN(e,t,r){let i=e[t];return i?i.push(r):e[t]=i=[r],i}function g0(e){return Ga(e)||e.kind===9||du(e.kind)||Me(e)}function o_(e){return!Me(e)&&g0(e)}function PN(e){return e>=65&&e<=79}function MN(e){switch(e){case 65:return 40;case 66:return 41;case 67:return 42;case 68:return 43;case 69:return 44;case 70:return 45;case 71:return 48;case 72:return 49;case 73:return 50;case 74:return 51;case 75:return 52;case 79:return 53;case 76:return 57;case 77:return 56;case 78:return 61}}function h4(e){if(!Cc(e))return;let t=Ka(e.expression);return xS(t)?t:void 0}function MSe(e,t,r){for(let i=t;i<e.length;i+=1){let o=e[i];if(h4(o))return r.unshift(i),!0;if(JS(o)&&MSe(o.tryBlock.statements,0,r))return r.unshift(i),!0}return!1}function g4(e,t){let r=[];return MSe(e,t,r),r}function YU(e,t,r){return Cr(e.members,i=>eze(i,t,r))}function Z3e(e){return tze(e)||nl(e)}function v4(e){return Cr(e.members,Z3e)}function eze(e,t,r){return xo(e)&&(!!e.initializer||!t)&&jl(e)===r}function tze(e){return xo(e)&&jl(e)}function uk(e){return e.kind===172&&e.initializer!==void 0}function woe(e){return!zo(e)&&(CA(e)||su(e))&&Ci(e.name)}function Woe(e){let t;if(e){let r=e.parameters,i=r.length>0&&XE(r[0]),o=i?1:0,s=i?r.length-1:r.length;for(let l=0;l<s;l++){let d=r[l+o];(t||Hp(d))&&(t||(t=new Array(s)),t[l]=Hv(d))}}return t}function $U(e){let t=Hv(e),r=Woe(Ah(e));if(!(!ct(t)&&!ct(r)))return{decorators:t,parameters:r}}function y4(e,t,r){switch(e.kind){case 177:case 178:return r?nze(e,t):LSe(e);case 174:return LSe(e);case 172:return rze(e);default:return}}function nze(e,t){if(!e.body)return;let{firstAccessor:r,secondAccessor:i,getAccessor:o,setAccessor:s}=wS(t.members,e),l=Hp(r)?r:i&&Hp(i)?i:void 0;if(!l||e!==l)return;let d=Hv(l),p=Woe(s);if(!(!ct(d)&&!ct(p)))return{decorators:d,parameters:p,getDecorators:o&&Hv(o),setDecorators:s&&Hv(s)}}function LSe(e){if(!e.body)return;let t=Hv(e),r=Woe(e);if(!(!ct(t)&&!ct(r)))return{decorators:t,parameters:r}}function rze(e){let t=Hv(e);if(ct(t))return{decorators:t}}function Foe(e,t){for(;e;){let r=t(e);if(r!==void 0)return r;e=e.previous}}function zoe(e){return{data:e}}function QU(e,t){var r,i;return vS(t)?(r=e?.generatedIdentifiers)==null?void 0:r.get(W2(t)):(i=e?.identifiers)==null?void 0:i.get(t.escapedText)}function tT(e,t,r){vS(t)?(e.generatedIdentifiers??(e.generatedIdentifiers=new Map),e.generatedIdentifiers.set(W2(t),r)):(e.identifiers??(e.identifiers=new Map),e.identifiers.set(t.escapedText,r))}function Boe(e,t){return Foe(e,r=>QU(r.privateEnv,t))}function Goe(e){return!e.initializer&&Me(e.name)}function pk(e){return ji(e,Goe)}var SI,ZU,ize=pt({\"src/compiler/transformers/utilities.ts\"(){\"use strict\";wo(),SI=class LD{constructor(){this._map=new Map}get size(){return this._map.size}has(t){return this._map.has(LD.toKey(t))}get(t){return this._map.get(LD.toKey(t))}set(t,r){return this._map.set(LD.toKey(t),r),this}delete(t){var r;return((r=this._map)==null?void 0:r.delete(LD.toKey(t)))??!1}clear(){this._map.clear()}values(){return this._map.values()}static toKey(t){if(vS(t)||ws(t)){let r=t.emitNode.autoGenerate;if((r.flags&7)===4){let i=W2(t),o=hh(i)&&i!==t?LD.toKey(i):`(generated@${Fa(i)})`;return Wb(!1,r.prefix,o,r.suffix,LD.toKey)}else{let i=`(auto@${r.id})`;return Wb(!1,r.prefix,i,r.suffix,LD.toKey)}}return Ci(t)?ar(t).slice(1):ar(t)}},ZU=class extends SI{add(e,t){let r=this.get(e);return r?r.push(t):this.set(e,r=[t]),r}remove(e,t){let r=this.get(e);r&&(bA(r,t),r.length||this.delete(e))}}}});function nT(e,t,r,i,o,s){let l=e,d;if(nv(e))for(d=e.right;Dne(e.left)||fV(e.left);)if(nv(d))l=e=d,d=e.right;else return x.checkDefined(He(d,t,lt));let p,h={context:r,level:i,downlevelIteration:!!r.getCompilerOptions().downlevelIteration,hoistTempVariables:!0,emitExpression:m,emitBindingOrAssignment:v,createArrayBindingOrAssignmentPattern:E=>pze(r.factory,E),createObjectBindingOrAssignmentPattern:E=>mze(r.factory,E),createArrayBindingOrAssignmentElement:hze,visitor:t};if(d&&(d=He(d,t,lt),x.assert(d),Me(d)&&Voe(e,d.escapedText)||joe(e)?d=TI(h,d,!1,l):o?d=TI(h,d,!0,l):xs(e)&&(l=d)),LN(h,e,d,l,nv(e)),d&&o){if(!ct(p))return d;p.push(d)}return r.factory.inlineExpressions(p)||r.factory.createOmittedExpression();function m(E){p=pn(p,E)}function v(E,S,A,C){x.assertNode(E,s?Me:lt);let R=s?s(E,S,A):Ze(r.factory.createAssignment(x.checkDefined(He(E,t,lt)),S),A);R.original=C,m(R)}}function Voe(e,t){let r=_y(e);return JM(r)?oze(r,t):Me(r)?r.escapedText===t:!1}function oze(e,t){let r=qx(e);for(let i of r)if(Voe(i,t))return!0;return!1}function joe(e){let t=P6(e);if(t&&Pa(t)&&!wE(t.expression))return!0;let r=_y(e);return!!r&&JM(r)&&aze(r)}function aze(e){return!!an(qx(e),joe)}function v0(e,t,r,i,o,s=!1,l){let d,p=[],h=[],m={context:r,level:i,downlevelIteration:!!r.getCompilerOptions().downlevelIteration,hoistTempVariables:s,emitExpression:v,emitBindingOrAssignment:E,createArrayBindingOrAssignmentPattern:S=>uze(r.factory,S),createObjectBindingOrAssignmentPattern:S=>fze(r.factory,S),createArrayBindingOrAssignmentElement:S=>_ze(r.factory,S),visitor:t};if(yi(e)){let S=O2(e);S&&(Me(S)&&Voe(e,S.escapedText)||joe(e))&&(S=TI(m,x.checkDefined(He(S,m.visitor,lt)),!1,S),e=r.factory.updateVariableDeclaration(e,e.name,void 0,void 0,S))}if(LN(m,e,o,e,l),d){let S=r.factory.createTempVariable(void 0);if(s){let A=r.factory.inlineExpressions(d);d=void 0,E(S,A,void 0,void 0)}else{r.hoistVariableDeclaration(S);let A=Da(p);A.pendingExpressions=pn(A.pendingExpressions,r.factory.createAssignment(S,A.value)),Pr(A.pendingExpressions,d),A.value=S}}for(let{pendingExpressions:S,name:A,value:C,location:R,original:L}of p){let G=r.factory.createVariableDeclaration(A,void 0,void 0,S?r.factory.inlineExpressions(pn(S,C)):C);G.original=L,Ze(G,R),h.push(G)}return h;function v(S){d=pn(d,S)}function E(S,A,C,R){x.assertNode(S,yS),d&&(A=r.factory.inlineExpressions(pn(d,A)),d=void 0),p.push({pendingExpressions:d,name:S,value:A,location:C,original:R})}}function LN(e,t,r,i,o){let s=_y(t);if(!o){let l=He(O2(t),e.visitor,lt);l?r?(r=cze(e,r,l,i),!o_(l)&&JM(s)&&(r=TI(e,r,!0,i))):r=l:r||(r=e.context.factory.createVoidZero())}$G(s)?sze(e,t,s,r,i):QG(s)?lze(e,t,s,r,i):e.emitBindingOrAssignment(s,r,i,t)}function sze(e,t,r,i,o){let s=qx(r),l=s.length;if(l!==1){let h=!qM(t)||l!==0;i=TI(e,i,h,o)}let d,p;for(let h=0;h<l;h++){let m=s[h];if(N6(m)){if(h===l-1){d&&(e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(d),i,o,r),d=void 0);let v=e.context.getEmitHelperFactory().createRestHelper(i,s,p,r);LN(e,m,v,m)}}else{let v=Gj(m);if(e.level>=1&&!(m.transformFlags&98304)&&!(_y(m).transformFlags&98304)&&!Pa(v))d=pn(d,He(m,e.visitor,Yee));else{d&&(e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(d),i,o,r),d=void 0);let E=dze(e,i,v);Pa(v)&&(p=pn(p,E.argumentExpression)),LN(e,m,E,m)}}}d&&e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(d),i,o,r)}function lze(e,t,r,i,o){let s=qx(r),l=s.length;if(e.level<1&&e.downlevelIteration)i=TI(e,Ze(e.context.getEmitHelperFactory().createReadHelper(i,l>0&&N6(s[l-1])?void 0:l),o),!1,o);else if(l!==1&&(e.level<1||l===0)||ji(s,vc)){let h=!qM(t)||l!==0;i=TI(e,i,h,o)}let d,p;for(let h=0;h<l;h++){let m=s[h];if(e.level>=1)if(m.transformFlags&65536||e.hasTransformedPriorElement&&!kSe(m)){e.hasTransformedPriorElement=!0;let v=e.context.factory.createTempVariable(void 0);e.hoistTempVariables&&e.context.hoistVariableDeclaration(v),p=pn(p,[v,m]),d=pn(d,e.createArrayBindingOrAssignmentElement(v))}else d=pn(d,m);else{if(vc(m))continue;if(N6(m)){if(h===l-1){let v=e.context.factory.createArraySliceCall(i,h);LN(e,m,v,m)}}else{let v=e.context.factory.createElementAccessExpression(i,h);LN(e,m,v,m)}}}if(d&&e.emitBindingOrAssignment(e.createArrayBindingOrAssignmentPattern(d),i,o,r),p)for(let[h,m]of p)LN(e,m,h,m)}function kSe(e){let t=_y(e);if(!t||vc(t))return!0;let r=P6(e);if(r&&!Xm(r))return!1;let i=O2(e);return i&&!o_(i)?!1:JM(t)?ji(qx(t),kSe):Me(t)}function cze(e,t,r,i){return t=TI(e,t,!0,i),e.context.factory.createConditionalExpression(e.context.factory.createTypeCheck(t,\"undefined\"),void 0,r,void 0,t)}function dze(e,t,r){let{factory:i}=e.context;if(Pa(r)){let o=TI(e,x.checkDefined(He(r.expression,e.visitor,lt)),!1,r);return e.context.factory.createElementAccessExpression(t,o)}else if(Ap(r)){let o=i.cloneNode(r);return e.context.factory.createElementAccessExpression(t,o)}else{let o=e.context.factory.createIdentifier(ar(r));return e.context.factory.createPropertyAccessExpression(t,o)}}function TI(e,t,r,i){if(Me(t)&&r)return t;{let o=e.context.factory.createTempVariable(void 0);return e.hoistTempVariables?(e.context.hoistVariableDeclaration(o),e.emitExpression(Ze(e.context.factory.createAssignment(o,t),i))):e.emitBindingOrAssignment(o,t,i,void 0),o}}function uze(e,t){return x.assertEachNode(t,V8),e.createArrayBindingPattern(t)}function pze(e,t){return x.assertEachNode(t,XM),e.createArrayLiteralExpression(nn(t,e.converters.convertToArrayAssignmentElement))}function fze(e,t){return x.assertEachNode(t,Na),e.createObjectBindingPattern(t)}function mze(e,t){return x.assertEachNode(t,KM),e.createObjectLiteralExpression(nn(t,e.converters.convertToObjectAssignmentElement))}function _ze(e,t){return e.createBindingElement(void 0,void 0,t)}function hze(e){return e}var eH,gze=pt({\"src/compiler/transformers/destructuring.ts\"(){\"use strict\";wo(),eH=(e=>(e[e.All=0]=\"All\",e[e.ObjectRest=1]=\"ObjectRest\",e))(eH||{})}});function Uoe(e,t,r=e.createThis()){let i=e.createAssignment(t,r),o=e.createExpressionStatement(i),s=e.createBlock([o],!1),l=e.createClassStaticBlockDeclaration(s);return cd(l).classThis=t,l}function kN(e){var t;if(!nl(e)||e.body.statements.length!==1)return!1;let r=e.body.statements[0];return Cc(r)&&lc(r.expression,!0)&&Me(r.expression.left)&&((t=e.emitNode)==null?void 0:t.classThis)===r.expression.left&&r.expression.right.kind===110}function tH(e){var t;return!!((t=e.emitNode)!=null&&t.classThis)&&ct(e.members,kN)}function Hoe(e,t,r,i){if(tH(t))return t;let o=Uoe(e,r,i);t.name&&ca(o.body.statements[0],t.name);let s=e.createNodeArray([o,...t.members]);Ze(s,t.members);let l=Zl(t)?e.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,s):e.updateClassExpression(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,s);return cd(l).classThis=r,l}var vze=pt({\"src/compiler/transformers/classThis.ts\"(){\"use strict\";wo()}});function ON(e,t,r){let i=sl(Rl(r));return(Zl(i)||Ql(i))&&!i.name&&Wr(i,2048)?e.createStringLiteral(\"default\"):e.createStringLiteralFromNode(t)}function OSe(e,t,r){let{factory:i}=e;if(r!==void 0)return{assignedName:i.createStringLiteral(r),name:t};if(Xm(t)||Ci(t))return{assignedName:i.createStringLiteralFromNode(t),name:t};if(Xm(t.expression)&&!Me(t.expression))return{assignedName:i.createStringLiteralFromNode(t.expression),name:t};let o=i.getGeneratedNameForNode(t);e.hoistVariableDeclaration(o);let s=e.getEmitHelperFactory().createPropKeyHelper(t.expression),l=i.createAssignment(o,s),d=i.updateComputedPropertyName(t,l);return{assignedName:o,name:d}}function qoe(e,t,r=e.factory.createThis()){let{factory:i}=e,o=e.getEmitHelperFactory().createSetFunctionNameHelper(r,t),s=i.createExpressionStatement(o),l=i.createBlock([s],!1),d=i.createClassStaticBlockDeclaration(l);return cd(d).assignedName=t,d}function AI(e){var t;if(!nl(e)||e.body.statements.length!==1)return!1;let r=e.body.statements[0];return Cc(r)&&oN(r.expression,\"___setFunctionName\")&&r.expression.arguments.length>=2&&r.expression.arguments[1]===((t=e.emitNode)==null?void 0:t.assignedName)}function b4(e){var t;return!!((t=e.emitNode)!=null&&t.assignedName)&&ct(e.members,AI)}function nH(e){return!!e.name||b4(e)}function E4(e,t,r,i){if(b4(t))return t;let{factory:o}=e,s=qoe(e,r,i);t.name&&ca(s.body.statements[0],t.name);let l=Tl(t.members,kN)+1,d=t.members.slice(0,l),p=t.members.slice(l),h=o.createNodeArray([...d,s,...p]);return Ze(h,t.members),t=Zl(t)?o.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,h):o.updateClassExpression(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,h),cd(t).assignedName=r,t}function rR(e,t,r,i){if(i&&da(r)&&C9(r))return t;let{factory:o}=e,s=Rl(t),l=Dc(s)?Fo(E4(e,s,r),Dc):e.getEmitHelperFactory().createSetFunctionNameHelper(s,r);return o.restoreOuterExpressions(t,l)}function yze(e,t,r,i){let{factory:o}=e,{assignedName:s,name:l}=OSe(e,t.name,i),d=rR(e,t.initializer,s,r);return o.updatePropertyAssignment(t,l,d)}function bze(e,t,r,i){let{factory:o}=e,s=i!==void 0?o.createStringLiteral(i):ON(o,t.name,t.objectAssignmentInitializer),l=rR(e,t.objectAssignmentInitializer,s,r);return o.updateShorthandPropertyAssignment(t,t.name,l)}function Eze(e,t,r,i){let{factory:o}=e,s=i!==void 0?o.createStringLiteral(i):ON(o,t.name,t.initializer),l=rR(e,t.initializer,s,r);return o.updateVariableDeclaration(t,t.name,t.exclamationToken,t.type,l)}function Sze(e,t,r,i){let{factory:o}=e,s=i!==void 0?o.createStringLiteral(i):ON(o,t.name,t.initializer),l=rR(e,t.initializer,s,r);return o.updateParameterDeclaration(t,t.modifiers,t.dotDotDotToken,t.name,t.questionToken,t.type,l)}function Tze(e,t,r,i){let{factory:o}=e,s=i!==void 0?o.createStringLiteral(i):ON(o,t.name,t.initializer),l=rR(e,t.initializer,s,r);return o.updateBindingElement(t,t.dotDotDotToken,t.propertyName,t.name,l)}function Aze(e,t,r,i){let{factory:o}=e,{assignedName:s,name:l}=OSe(e,t.name,i),d=rR(e,t.initializer,s,r);return o.updatePropertyDeclaration(t,t.modifiers,l,t.questionToken??t.exclamationToken,t.type,d)}function Ize(e,t,r,i){let{factory:o}=e,s=i!==void 0?o.createStringLiteral(i):ON(o,t.left,t.right),l=rR(e,t.right,s,r);return o.updateBinaryExpression(t,t.left,t.operatorToken,l)}function xze(e,t,r,i){let{factory:o}=e,s=i!==void 0?o.createStringLiteral(i):o.createStringLiteral(t.isExportEquals?\"\":\"default\"),l=rR(e,t.expression,s,r);return o.updateExportAssignment(t,t.modifiers,l)}function Uu(e,t,r,i){switch(t.kind){case 303:return yze(e,t,r,i);case 304:return bze(e,t,r,i);case 260:return Eze(e,t,r,i);case 169:return Sze(e,t,r,i);case 208:return Tze(e,t,r,i);case 172:return Aze(e,t,r,i);case 226:return Ize(e,t,r,i);case 277:return xze(e,t,r,i)}}var Rze=pt({\"src/compiler/transformers/namedEvaluation.ts\"(){\"use strict\";wo()}});function rH(e,t,r,i,o,s){let l=He(t.tag,r,lt);x.assert(l);let d=[void 0],p=[],h=[],m=t.template;if(s===0&&!eV(m))return un(t,r,e);let{factory:v}=e;if(eI(m))p.push(Joe(v,m)),h.push(Koe(v,m,i));else{p.push(Joe(v,m.head)),h.push(Koe(v,m.head,i));for(let S of m.templateSpans)p.push(Joe(v,S.literal)),h.push(Koe(v,S.literal,i)),d.push(x.checkDefined(He(S.expression,r,lt)))}let E=e.getEmitHelperFactory().createTemplateObjectHelper(v.createArrayLiteralExpression(p),v.createArrayLiteralExpression(h));if(wl(i)){let S=v.createUniqueName(\"templateObject\");o(S),d[0]=v.createLogicalOr(S,v.createAssignment(S,E))}else d[0]=E;return v.createCallExpression(l,void 0,d)}function Joe(e,t){return t.templateFlags&26656?e.createVoidZero():e.createStringLiteral(t.text)}function Koe(e,t,r){let i=t.rawText;if(i===void 0){x.assertIsDefined(r,\"Template literal node is missing 'rawText' and does not have a source file. Possibly bad transform.\"),i=FE(r,t);let o=t.kind===15||t.kind===18;i=i.substring(1,i.length-(o?1:2))}return i=i.replace(/\\r\\n?/g,`\n`),Ze(e.createStringLiteral(i),t)}var iH,Dze=pt({\"src/compiler/transformers/taggedTemplate.ts\"(){\"use strict\";wo(),iH=(e=>(e[e.LiftRestriction=0]=\"LiftRestriction\",e[e.All=1]=\"All\",e))(iH||{})}});function Xoe(e){let{factory:t,getEmitHelperFactory:r,startLexicalEnvironment:i,resumeLexicalEnvironment:o,endLexicalEnvironment:s,hoistVariableDeclaration:l}=e,d=e.getEmitResolver(),p=e.getCompilerOptions(),h=Wa(p),m=ld(p),v=!!p.experimentalDecorators,E=p.emitDecoratorMetadata?$oe(e):void 0,S=e.onEmitNode,A=e.onSubstituteNode;e.onEmitNode=Wl,e.onSubstituteNode=il,e.enableSubstitution(211),e.enableSubstitution(212);let C,R,L,G,U,K,F,oe;return W;function W(X){return X.kind===313?$(X):de(X)}function $(X){return t.createBundle(X.sourceFiles.map(de),Fi(X.prepends,xe=>xe.kind===315?ij(xe,\"js\"):xe))}function de(X){if(X.isDeclarationFile)return X;C=X;let xe=fe(X,Ke);return ag(xe,e.readEmitHelpers()),C=void 0,xe}function fe(X,xe){let dt=G,$t=U,sr=K;q(X);let tr=xe(X);return G!==dt&&(U=$t),G=dt,K=sr,tr}function q(X){switch(X.kind){case 312:case 269:case 268:case 241:G=X,U=void 0;break;case 263:case 262:if(Wr(X,128))break;X.name?j(X):x.assert(X.kind===263||Wr(X,2048));break}}function H(X){return fe(X,ee)}function ee(X){return X.transformFlags&1?Le(X):X}function le(X){return fe(X,Ee)}function Ee(X){switch(X.kind){case 272:case 271:case 277:case 278:return Z(X);default:return ee(X)}}function ce(X){let xe=uo(X);if(xe===X||dl(X))return!1;if(!xe||xe.kind!==X.kind)return!0;switch(X.kind){case 272:if(x.assertNode(xe,cc),X.importClause!==xe.importClause||X.attributes!==xe.attributes)return!0;break;case 271:if(x.assertNode(xe,Nc),X.name!==xe.name||X.isTypeOnly!==xe.isTypeOnly||X.moduleReference!==xe.moduleReference&&(Su(X.moduleReference)||Su(xe.moduleReference)))return!0;break;case 278:if(x.assertNode(xe,xl),X.exportClause!==xe.exportClause||X.attributes!==xe.attributes)return!0;break}return!1}function Z(X){if(ce(X))return X.transformFlags&1?un(X,H,e):X;switch(X.kind){case 272:return dn(X);case 271:return lo(X);case 277:return di(X);case 278:return jn(X);default:x.fail(\"Unhandled ellided statement\")}}function pe(X){return fe(X,Ae)}function Ae(X){if(!(X.kind===278||X.kind===272||X.kind===273||X.kind===271&&X.moduleReference.kind===283))return X.transformFlags&1||Wr(X,32)?Le(X):X}function Oe(X){return xe=>fe(xe,dt=>_e(dt,X))}function _e(X,xe){switch(X.kind){case 176:return mn(X);case 172:return Rt(X,xe);case 177:return Ea(X,xe);case 178:return ln(X,xe);case 174:return so(X,xe);case 175:return un(X,H,e);case 240:return X;case 181:return;default:return x.failBadSyntaxKind(X)}}function be(X){return xe=>fe(xe,dt=>Te(dt,X))}function Te(X,xe){switch(X.kind){case 303:case 304:case 305:return H(X);case 177:return Ea(X,xe);case 178:return ln(X,xe);case 174:return so(X,xe);default:return x.failBadSyntaxKind(X)}}function De(X){return Xc(X)?void 0:H(X)}function ft(X){return ia(X)?void 0:H(X)}function he(X){if(!Xc(X)&&!(GA(X.kind)&28895)&&!(R&&X.kind===95))return X}function Le(X){if(Di(X)&&Wr(X,128))return t.createNotEmittedStatement(X);switch(X.kind){case 95:case 90:return R?void 0:X;case 125:case 123:case 124:case 128:case 164:case 87:case 138:case 148:case 103:case 147:case 188:case 189:case 190:case 191:case 187:case 182:case 168:case 133:case 159:case 136:case 154:case 150:case 146:case 116:case 155:case 185:case 184:case 186:case 183:case 192:case 193:case 194:case 196:case 197:case 198:case 199:case 200:case 201:case 181:return;case 265:return t.createNotEmittedStatement(X);case 270:return;case 264:return t.createNotEmittedStatement(X);case 263:return Vt(X);case 231:return jt(X);case 298:return cr(X);case 233:return Jt(X);case 210:return Dt(X);case 176:case 172:case 174:case 177:case 178:case 175:return x.fail(\"Class and object literal elements must be visited with their respective visitors\");case 262:return Tn(X);case 218:return ke(X);case 219:return nt(X);case 169:return tt(X);case 217:return et(X);case 216:case 234:return z(X);case 238:return _t(X);case 213:return ze(X);case 214:return it(X);case 215:return Ct(X);case 235:return Je(X);case 266:return V(X);case 243:return yt(X);case 260:return Ce(X);case 267:return gt(X);case 271:return lo(X);case 285:return on(X);case 286:return Qt(X);default:return un(X,H,e)}}function Ke(X){let xe=Fd(p,\"alwaysStrict\")&&!(wl(X)&&m>=5)&&!yf(X);return t.updateSourceFile(X,jU(X.statements,le,e,0,xe))}function Dt(X){return t.updateObjectLiteralExpression(X,Dn(X.properties,be(X),Zh))}function st(X){let xe=0;ct(YU(X,!0,!0))&&(xe|=1);let dt=Km(X);return dt&&Rl(dt.expression).kind!==106&&(xe|=64),Qg(v,X)&&(xe|=2),hC(v,X)&&(xe|=4),_n(X)?xe|=8:_o(X)?xe|=32:Dl(X)&&(xe|=16),xe}function Ge(X){return!!(X.transformFlags&8192)}function ot(X){return Hp(X)||ct(X.typeParameters)||ct(X.heritageClauses,Ge)||ct(X.members,Ge)}function Vt(X){let xe=st(X),dt=h<=1&&!!(xe&7);if(!ot(X)&&!Qg(v,X)&&!_n(X))return t.updateClassDeclaration(X,Dn(X.modifiers,he,ia),X.name,void 0,Dn(X.heritageClauses,H,xp),Dn(X.members,Oe(X),xc));dt&&e.startLexicalEnvironment();let $t=dt||xe&8,sr=$t?Dn(X.modifiers,ft,Ws):Dn(X.modifiers,H,Ws);xe&2&&(sr=On(sr,X));let Ir=$t&&!X.name||xe&4||xe&1?X.name??t.getGeneratedNameForNode(X):X.name,pi=t.updateClassDeclaration(X,sr,Ir,void 0,Dn(X.heritageClauses,H,xp),gn(X)),hr=ba(X);xe&1&&(hr|=64),$n(pi,hr);let No;if(dt){let Qs=[pi],bc=_V(pa(C.text,X.members.end),20),bs=t.getInternalName(X),Jl=t.createPartiallyEmittedExpression(bs);Rx(Jl,bc.end),$n(Jl,3072);let Za=t.createReturnStatement(Jl);qC(Za,bc.pos),$n(Za,3840),Qs.push(Za),vh(Qs,e.endLexicalEnvironment());let Ec=t.createImmediatelyInvokedArrowFunction(Qs);m2(Ec,1);let Du=t.createVariableDeclaration(t.getLocalName(X,!1,!1),void 0,void 0,Ec);mr(Du,X);let pc=t.createVariableStatement(void 0,t.createVariableDeclarationList([Du],1));mr(pc,X),Ol(pc,X),ca(pc,rg(X)),Sd(pc),No=pc}else No=pi;if($t){if(xe&8)return[No,Va(X)];if(xe&32)return[No,t.createExportDefault(t.getLocalName(X,!1,!0))];if(xe&16)return[No,t.createExternalModuleExport(t.getDeclarationName(X,!1,!0))]}return No}function jt(X){let xe=Dn(X.modifiers,ft,Ws);return Qg(v,X)&&(xe=On(xe,X)),t.updateClassExpression(X,xe,X.name,void 0,Dn(X.heritageClauses,H,xp),gn(X))}function gn(X){let xe=Dn(X.members,Oe(X),xc),dt,$t=Ah(X),sr=$t&&Cr($t.parameters,tr=>wu(tr,$t));if(sr)for(let tr of sr){let Ir=t.createPropertyDeclaration(void 0,tr.name,void 0,void 0,void 0);mr(Ir,tr),dt=pn(dt,Ir)}return dt?(dt=Pr(dt,xe),Ze(t.createNodeArray(dt),X.members)):xe}function On(X,xe){let dt=zt(xe,xe);if(ct(dt)){let $t=[];Pr($t,n8(X,w2)),Pr($t,Cr(X,Xc)),Pr($t,dt),Pr($t,Cr(KZ(X,w2),ia)),X=Ze(t.createNodeArray($t),X)}return X}function en(X,xe,dt){if(Kr(dt)&&D9(v,xe,dt)){let $t=zt(xe,dt);if(ct($t)){let sr=[];Pr(sr,Cr(X,Xc)),Pr(sr,$t),Pr(sr,Cr(X,ia)),X=Ze(t.createNodeArray(sr),X)}}return X}function zt(X,xe){if(v)return wSe?ei(X,xe):Wt(X,xe)}function Wt(X,xe){if(E){let dt;if(Ki(X)){let $t=r().createMetadataHelper(\"design:type\",E.serializeTypeOfNode({currentLexicalScope:G,currentNameScope:xe},X));dt=pn(dt,t.createDecorator($t))}if(io(X)){let $t=r().createMetadataHelper(\"design:paramtypes\",E.serializeParameterTypesOfNode({currentLexicalScope:G,currentNameScope:xe},X,xe));dt=pn(dt,t.createDecorator($t))}if(gi(X)){let $t=r().createMetadataHelper(\"design:returntype\",E.serializeReturnTypeOfNode({currentLexicalScope:G,currentNameScope:xe},X));dt=pn(dt,t.createDecorator($t))}return dt}}function ei(X,xe){if(E){let dt;if(Ki(X)){let $t=t.createPropertyAssignment(\"type\",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(39),E.serializeTypeOfNode({currentLexicalScope:G,currentNameScope:xe},X)));dt=pn(dt,$t)}if(io(X)){let $t=t.createPropertyAssignment(\"paramTypes\",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(39),E.serializeParameterTypesOfNode({currentLexicalScope:G,currentNameScope:xe},X,xe)));dt=pn(dt,$t)}if(gi(X)){let $t=t.createPropertyAssignment(\"returnType\",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(39),E.serializeReturnTypeOfNode({currentLexicalScope:G,currentNameScope:xe},X)));dt=pn(dt,$t)}if(dt){let $t=r().createMetadataHelper(\"design:typeinfo\",t.createObjectLiteralExpression(dt,!0));return[t.createDecorator($t)]}}}function Ki(X){let xe=X.kind;return xe===174||xe===177||xe===178||xe===172}function gi(X){return X.kind===174}function io(X){switch(X.kind){case 263:case 231:return Ah(X)!==void 0;case 174:case 177:case 178:return!0}return!1}function Gn(X,xe){let dt=X.name;return Ci(dt)?t.createIdentifier(\"\"):Pa(dt)?xe&&!o_(dt.expression)?t.getGeneratedNameForNode(dt):dt.expression:Me(dt)?t.createStringLiteral(ar(dt)):t.cloneNode(dt)}function Nr(X){let xe=X.name;if(Pa(xe)&&(!jl(X)&&K||Hp(X)&&v)){let dt=He(xe.expression,H,lt);x.assert(dt);let $t=jf(dt);if(!o_($t)){let sr=t.getGeneratedNameForNode(xe);return l(sr),t.updateComputedPropertyName(xe,t.createAssignment(sr,dt))}}return x.checkDefined(He(xe,H,kl))}function cr(X){if(X.token!==119)return un(X,H,e)}function Jt(X){return t.updateExpressionWithTypeArguments(X,x.checkDefined(He(X.expression,H,Tu)),void 0)}function Ue(X){return!_l(X.body)}function Rt(X,xe){let dt=X.flags&33554432||Wr(X,64);if(dt&&!(v&&Hp(X)))return;let $t=Kr(xe)?dt?Dn(X.modifiers,ft,Ws):Dn(X.modifiers,H,Ws):Dn(X.modifiers,De,Ws);return $t=en($t,X,xe),dt?t.updatePropertyDeclaration(X,ro($t,t.createModifiersFromModifierFlags(128)),x.checkDefined(He(X.name,H,kl)),void 0,void 0,void 0):t.updatePropertyDeclaration(X,$t,Nr(X),void 0,void 0,He(X.initializer,H,lt))}function mn(X){if(Ue(X))return t.updateConstructorDeclaration(X,void 0,rl(X.parameters,H,e),ni(X.body,X))}function qr(X,xe,dt,$t,sr,tr){let Ir=$t[sr],pi=xe[Ir];if(Pr(X,Dn(xe,H,Di,dt,Ir-dt)),JS(pi)){let hr=[];qr(hr,pi.tryBlock.statements,0,$t,sr+1,tr);let No=t.createNodeArray(hr);Ze(No,pi.tryBlock.statements),X.push(t.updateTryStatement(pi,t.updateBlock(pi.tryBlock,hr),He(pi.catchClause,H,u0),He(pi.finallyBlock,H,Do)))}else Pr(X,Dn(xe,H,Di,Ir,1)),Pr(X,tr);Pr(X,Dn(xe,H,Di,Ir+1))}function ni(X,xe){let dt=xe&&Cr(xe.parameters,hr=>wu(hr,xe));if(!ct(dt))return Cp(X,H,e);let $t=[];o();let sr=t.copyPrologue(X.statements,$t,!1,H),tr=g4(X.statements,sr),Ir=Fi(dt,ki);tr.length?qr($t,X.statements,sr,tr,0,Ir):(Pr($t,Ir),Pr($t,Dn(X.statements,H,Di,sr))),$t=t.mergeLexicalEnvironment($t,s());let pi=t.createBlock(Ze(t.createNodeArray($t),X.statements),!0);return Ze(pi,X),mr(pi,X),pi}function ki(X){let xe=X.name;if(!Me(xe))return;let dt=Aa(Ze(t.cloneNode(xe),xe),xe.parent);$n(dt,3168);let $t=Aa(Ze(t.cloneNode(xe),xe),xe.parent);return $n($t,3072),Sd(f2(Ze(mr(t.createExpressionStatement(t.createAssignment(Ze(t.createPropertyAccessExpression(t.createThis(),dt),X.name),$t)),X),Cb(X,-1))))}function so(X,xe){if(!(X.transformFlags&1))return X;if(!Ue(X))return;let dt=Kr(xe)?Dn(X.modifiers,H,Ws):Dn(X.modifiers,De,Ws);return dt=en(dt,X,xe),t.updateMethodDeclaration(X,dt,X.asteriskToken,Nr(X),void 0,void 0,rl(X.parameters,H,e),void 0,Cp(X.body,H,e))}function Jo(X){return!(_l(X.body)&&Wr(X,64))}function Ea(X,xe){if(!(X.transformFlags&1))return X;if(!Jo(X))return;let dt=Kr(xe)?Dn(X.modifiers,H,Ws):Dn(X.modifiers,De,Ws);return dt=en(dt,X,xe),t.updateGetAccessorDeclaration(X,dt,Nr(X),rl(X.parameters,H,e),void 0,Cp(X.body,H,e)||t.createBlock([]))}function ln(X,xe){if(!(X.transformFlags&1))return X;if(!Jo(X))return;let dt=Kr(xe)?Dn(X.modifiers,H,Ws):Dn(X.modifiers,De,Ws);return dt=en(dt,X,xe),t.updateSetAccessorDeclaration(X,dt,Nr(X),rl(X.parameters,H,e),Cp(X.body,H,e)||t.createBlock([]))}function Tn(X){if(!Ue(X))return t.createNotEmittedStatement(X);let xe=t.updateFunctionDeclaration(X,Dn(X.modifiers,he,ia),X.asteriskToken,X.name,void 0,rl(X.parameters,H,e),void 0,Cp(X.body,H,e)||t.createBlock([]));if(_n(X)){let dt=[xe];return vs(dt,X),dt}return xe}function ke(X){return Ue(X)?t.updateFunctionExpression(X,Dn(X.modifiers,he,ia),X.asteriskToken,X.name,void 0,rl(X.parameters,H,e),void 0,Cp(X.body,H,e)||t.createBlock([])):t.createOmittedExpression()}function nt(X){return t.updateArrowFunction(X,Dn(X.modifiers,he,ia),void 0,rl(X.parameters,H,e),void 0,X.equalsGreaterThanToken,Cp(X.body,H,e))}function tt(X){if(XE(X))return;let xe=t.updateParameterDeclaration(X,Dn(X.modifiers,dt=>Xc(dt)?H(dt):void 0,Ws),X.dotDotDotToken,x.checkDefined(He(X.name,H,yS)),void 0,void 0,He(X.initializer,H,lt));return xe!==X&&(Ol(xe,X),Ze(xe,Zm(X)),ca(xe,Zm(X)),$n(xe.name,64)),xe}function yt(X){if(_n(X)){let xe=wC(X.declarationList);return xe.length===0?void 0:Ze(t.createExpressionStatement(t.inlineExpressions(nn(xe,re))),X)}else return un(X,H,e)}function re(X){let xe=X.name;return ko(xe)?nT(X,H,e,0,!1,Fc):Ze(t.createAssignment($i(xe),x.checkDefined(He(X.initializer,H,lt))),X)}function Ce(X){let xe=t.updateVariableDeclaration(X,x.checkDefined(He(X.name,H,yS)),void 0,void 0,He(X.initializer,H,lt));return X.type&&Lre(xe.name,X.type),xe}function et(X){let xe=Rl(X.expression,-7);if(ES(xe)){let dt=He(X.expression,H,lt);return x.assert(dt),t.createPartiallyEmittedExpression(dt,X)}return un(X,H,e)}function z(X){let xe=He(X.expression,H,lt);return x.assert(xe),t.createPartiallyEmittedExpression(xe,X)}function Je(X){let xe=He(X.expression,H,Tu);return x.assert(xe),t.createPartiallyEmittedExpression(xe,X)}function _t(X){let xe=He(X.expression,H,lt);return x.assert(xe),t.createPartiallyEmittedExpression(xe,X)}function ze(X){return t.updateCallExpression(X,x.checkDefined(He(X.expression,H,lt)),void 0,Dn(X.arguments,H,lt))}function it(X){return t.updateNewExpression(X,x.checkDefined(He(X.expression,H,lt)),void 0,Dn(X.arguments,H,lt))}function Ct(X){return t.updateTaggedTemplateExpression(X,x.checkDefined(He(X.tag,H,lt)),void 0,x.checkDefined(He(X.template,H,NA)))}function on(X){return t.updateJsxSelfClosingElement(X,x.checkDefined(He(X.tagName,H,cC)),void 0,x.checkDefined(He(X.attributes,H,d0)))}function Qt(X){return t.updateJsxOpeningElement(X,x.checkDefined(He(X.tagName,H,cC)),void 0,x.checkDefined(He(X.attributes,H,d0)))}function Zt(X){return!BE(X)||n0(p)}function V(X){if(!Zt(X))return t.createNotEmittedStatement(X);let xe=[],dt=4,$t=Ie(xe,X);$t&&(m!==4||G!==C)&&(dt|=1024);let sr=Uo(X),tr=zc(X),Ir=_n(X)?t.getExternalModuleOrNamespaceExportName(L,X,!1,!0):t.getDeclarationName(X,!1,!0),pi=t.createLogicalOr(Ir,t.createAssignment(Ir,t.createObjectLiteralExpression()));if(_n(X)){let No=t.getLocalName(X,!1,!0);pi=t.createAssignment(No,pi)}let hr=t.createExpressionStatement(t.createCallExpression(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,sr)],void 0,Re(X,tr)),void 0,[pi]));return mr(hr,X),$t&&(Lb(hr,void 0),YA(hr,void 0)),Ze(hr,X),e_(hr,dt),xe.push(hr),xe}function Re(X,xe){let dt=L;L=xe;let $t=[];i();let sr=nn(X.members,St);return vh($t,s()),Pr($t,sr),L=dt,t.createBlock(Ze(t.createNodeArray($t),X.members),!0)}function St(X){let xe=Gn(X,!1),dt=M(X),$t=t.createAssignment(t.createElementAccessExpression(L,xe),dt),sr=dt.kind===11?$t:t.createAssignment(t.createElementAccessExpression(L,$t),xe);return Ze(t.createExpressionStatement(Ze(sr,X)),X)}function M(X){let xe=d.getConstantValue(X);return xe!==void 0?typeof xe==\"string\"?t.createStringLiteral(xe):xe<0?t.createPrefixUnaryExpression(41,t.createNumericLiteral(-xe)):t.createNumericLiteral(xe):(ts(),X.initializer?x.checkDefined(He(X.initializer,H,lt)):t.createVoidZero())}function te(X){let xe=uo(X,Il);return xe?FU(xe,n0(p)):!0}function j(X){U||(U=new Map);let xe=Pe(X);U.has(xe)||U.set(xe,X)}function se(X){if(U){let xe=Pe(X);return U.get(xe)===X}return!0}function Pe(X){return x.assertNode(X.name,Me),X.name.escapedText}function Ie(X,xe){let dt=t.createVariableDeclaration(t.getLocalName(xe,!1,!0)),$t=G.kind===312?0:1,sr=t.createVariableStatement(Dn(xe.modifiers,he,ia),t.createVariableDeclarationList([dt],$t));return mr(dt,xe),Lb(dt,void 0),YA(dt,void 0),mr(sr,xe),j(xe),se(xe)?(xe.kind===266?ca(sr.declarationList,xe):ca(sr,xe),Ol(sr,xe),e_(sr,2048),X.push(sr),!0):!1}function gt(X){if(!te(X))return t.createNotEmittedStatement(X);x.assertNode(X.name,Me,\"A TypeScript namespace should have an Identifier name.\"),ua();let xe=[],dt=4,$t=Ie(xe,X);$t&&(m!==4||G!==C)&&(dt|=1024);let sr=Uo(X),tr=zc(X),Ir=_n(X)?t.getExternalModuleOrNamespaceExportName(L,X,!1,!0):t.getDeclarationName(X,!1,!0),pi=t.createLogicalOr(Ir,t.createAssignment(Ir,t.createObjectLiteralExpression()));if(_n(X)){let No=t.getLocalName(X,!1,!0);pi=t.createAssignment(No,pi)}let hr=t.createExpressionStatement(t.createCallExpression(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,sr)],void 0,bt(X,tr)),void 0,[pi]));return mr(hr,X),$t&&(Lb(hr,void 0),YA(hr,void 0)),Ze(hr,X),e_(hr,dt),xe.push(hr),xe}function bt(X,xe){let dt=L,$t=R,sr=U;L=xe,R=X,U=void 0;let tr=[];i();let Ir,pi;if(X.body)if(X.body.kind===268)fe(X.body,No=>Pr(tr,Dn(No.statements,pe,Di))),Ir=X.body.statements,pi=X.body;else{let No=gt(X.body);No&&(oo(No)?Pr(tr,No):tr.push(No));let Qs=Ot(X).body;Ir=Cb(Qs.statements,-1)}vh(tr,s()),L=dt,R=$t,U=sr;let hr=t.createBlock(Ze(t.createNodeArray(tr),Ir),!0);return Ze(hr,pi),(!X.body||X.body.kind!==268)&&$n(hr,ba(hr)|3072),hr}function Ot(X){if(X.body.kind===267)return Ot(X.body)||X.body}function dn(X){if(!X.importClause)return X;if(X.importClause.isTypeOnly)return;let xe=He(X.importClause,An,V_);return xe||p.importsNotUsedAsValues===1||p.importsNotUsedAsValues===2?t.updateImportDeclaration(X,void 0,xe,X.moduleSpecifier,X.attributes):void 0}function An(X){x.assert(!X.isTypeOnly);let xe=ae(X)?X.name:void 0,dt=He(X.namedBindings,Cn,n9);return xe||dt?t.updateImportClause(X,!1,xe,dt):void 0}function Cn(X){if(X.kind===274)return ae(X)?X:void 0;{let xe=p.verbatimModuleSyntax||p.preserveValueImports&&(p.importsNotUsedAsValues===1||p.importsNotUsedAsValues===2),dt=Dn(X.elements,ti,Iu);return xe||ct(dt)?t.updateNamedImports(X,dt):void 0}}function ti(X){return!X.isTypeOnly&&ae(X)?X:void 0}function di(X){return p.verbatimModuleSyntax||d.isValueAliasDeclaration(X)?un(X,H,e):void 0}function jn(X){if(X.isTypeOnly)return;if(!X.exportClause||j_(X.exportClause))return X;let xe=p.verbatimModuleSyntax||!!X.moduleSpecifier&&(p.importsNotUsedAsValues===1||p.importsNotUsedAsValues===2),dt=He(X.exportClause,$t=>_i($t,xe),UG);return dt?t.updateExportDeclaration(X,void 0,X.isTypeOnly,dt,X.moduleSpecifier,X.attributes):void 0}function Ar(X,xe){let dt=Dn(X.elements,ui,Ed);return xe||ct(dt)?t.updateNamedExports(X,dt):void 0}function Zi(X){return t.updateNamespaceExport(X,x.checkDefined(He(X.name,H,Me)))}function _i(X,xe){return j_(X)?Zi(X):Ar(X,xe)}function ui(X){return!X.isTypeOnly&&(p.verbatimModuleSyntax||d.isValueAliasDeclaration(X))?X:void 0}function Mr(X){return ae(X)||!wl(C)&&d.isTopLevelValueImportEqualsWithEntityName(X)}function lo(X){if(X.isTypeOnly)return;if(Ab(X)){let dt=ae(X);return!dt&&p.importsNotUsedAsValues===1?mr(Ze(t.createImportDeclaration(void 0,void 0,X.moduleReference.expression,void 0),X),X):dt?un(X,H,e):void 0}if(!Mr(X))return;let xe=P2(t,X.moduleReference);return $n(xe,7168),Dl(X)||!_n(X)?mr(Ze(t.createVariableStatement(Dn(X.modifiers,he,ia),t.createVariableDeclarationList([mr(t.createVariableDeclaration(X.name,void 0,void 0,xe),X)])),X),X):mr(Js(X.name,xe,X),X)}function _n(X){return R!==void 0&&Wr(X,32)}function ms(X){return R===void 0&&Wr(X,32)}function Dl(X){return ms(X)&&!Wr(X,2048)}function _o(X){return ms(X)&&Wr(X,2048)}function Va(X){let xe=t.createAssignment(t.getExternalModuleOrNamespaceExportName(L,X,!1,!0),t.getLocalName(X));ca(xe,qp(X.name?X.name.pos:X.pos,X.end));let dt=t.createExpressionStatement(xe);return ca(dt,qp(-1,X.end)),dt}function vs(X,xe){X.push(Va(xe))}function Js(X,xe,dt){return Ze(t.createExpressionStatement(t.createAssignment(t.getNamespaceMemberName(L,X,!1,!0),xe)),dt)}function Fc(X,xe,dt){return Ze(t.createAssignment($i(X),xe),dt)}function $i(X){return t.getNamespaceMemberName(L,X,!1,!0)}function Uo(X){let xe=t.getGeneratedNameForNode(X);return ca(xe,X.name),xe}function zc(X){return t.getGeneratedNameForNode(X)}function ts(){F&8||(F|=8,e.enableSubstitution(80))}function ua(){F&2||(F|=2,e.enableSubstitution(80),e.enableSubstitution(304),e.enableEmitNotification(267))}function Us(X){return sl(X).kind===267}function tf(X){return sl(X).kind===266}function Wl(X,xe,dt){let $t=oe,sr=C;Li(xe)&&(C=xe),F&2&&Us(xe)&&(oe|=2),F&8&&tf(xe)&&(oe|=8),S(X,xe,dt),oe=$t,C=sr}function il(X,xe){return xe=A(X,xe),X===1?ho(xe):xu(xe)?zs(xe):xe}function zs(X){if(F&2){let xe=X.name,dt=ys(xe);if(dt){if(X.objectAssignmentInitializer){let $t=t.createAssignment(dt,X.objectAssignmentInitializer);return Ze(t.createPropertyAssignment(xe,$t),X)}return Ze(t.createPropertyAssignment(xe,dt),X)}}return X}function ho(X){switch(X.kind){case 80:return Ut(X);case 211:return Pc(X);case 212:return Bc(X)}return X}function Ut(X){return ys(X)||X}function ys(X){if(F&oe&&!ws(X)&&!lg(X)){let xe=d.getReferencedExportContainer(X,!1);if(xe&&xe.kind!==312&&(oe&2&&xe.kind===267||oe&8&&xe.kind===266))return Ze(t.createPropertyAccessExpression(t.getGeneratedNameForNode(xe),X),X)}}function Pc(X){return ls(X)}function Bc(X){return ls(X)}function Ju(X){return X.replace(/\\*\\//g,\"*_/\")}function ls(X){let xe=tc(X);if(xe!==void 0){Pre(X,xe);let dt=typeof xe==\"string\"?t.createStringLiteral(xe):xe<0?t.createPrefixUnaryExpression(41,t.createNumericLiteral(-xe)):t.createNumericLiteral(xe);if(!p.removeComments){let $t=sl(X,us);kF(dt,3,` ${Ju(Vl($t))} `)}return dt}return X}function tc(X){if(!xf(p))return Er(X)||Rs(X)?d.getConstantValue(X):void 0}function ae(X){return p.verbatimModuleSyntax||Jn(X)||(p.preserveValueImports?d.isValueAliasDeclaration(X):d.isReferencedAliasDeclaration(X))}}var wSe,Cze=pt({\"src/compiler/transformers/ts.ts\"(){\"use strict\";wo(),wSe=!1}});function Yoe(e){let{factory:t,getEmitHelperFactory:r,hoistVariableDeclaration:i,endLexicalEnvironment:o,startLexicalEnvironment:s,resumeLexicalEnvironment:l,addBlockScopedVariable:d}=e,p=e.getEmitResolver(),h=e.getCompilerOptions(),m=Wa(h),v=nN(h),E=!!h.experimentalDecorators,S=!v,A=v&&m<9,C=S||A,R=m<9,L=m<99?-1:v?0:3,G=m<9,U=G&&m>=2,K=C||R||L===-1,F=e.onSubstituteNode;e.onSubstituteNode=Pc;let oe=e.onEmitNode;e.onEmitNode=ys;let W=!1,$,de,fe,q,H,ee=new Map,le=new Set,Ee,ce,Z=!1,pe=!1;return $f(e,Ae);function Ae(ae){if(ae.isDeclarationFile||(H=void 0,W=!!(Uf(ae)&32),!K&&!W))return ae;let X=un(ae,_e,e);return ag(X,e.readEmitHelpers()),X}function Oe(ae){switch(ae.kind){case 129:return Rt()?void 0:ae;default:return Vr(ae,ia)}}function _e(ae){if(!(ae.transformFlags&16777216)&&!(ae.transformFlags&134234112))return ae;switch(ae.kind){case 129:return x.fail(\"Use `modifierVisitor` instead.\");case 263:return Qt(ae);case 231:return V(ae);case 175:case 172:return x.fail(\"Use `classElementVisitor` instead.\");case 303:return Ge(ae);case 243:return ot(ae);case 260:return Vt(ae);case 169:return jt(ae);case 208:return gn(ae);case 277:return On(ae);case 81:return Dt(ae);case 211:return Jo(ae);case 212:return Ea(ae);case 224:case 225:return ln(ae,!1);case 226:return et(ae,!1);case 217:return Je(ae,!1);case 213:return tt(ae);case 244:return ke(ae);case 215:return yt(ae);case 248:return Tn(ae);case 110:return M(ae);case 262:case 218:return gi(void 0,be,ae);case 176:case 174:case 177:case 178:return gi(ae,be,ae);default:return be(ae)}}function be(ae){return un(ae,_e,e)}function Te(ae){switch(ae.kind){case 224:case 225:return ln(ae,!0);case 226:return et(ae,!0);case 361:return z(ae,!0);case 217:return Je(ae,!0);default:return _e(ae)}}function De(ae){switch(ae.kind){case 298:return un(ae,De,e);case 233:return Ct(ae);default:return _e(ae)}}function ft(ae){switch(ae.kind){case 210:case 209:return Ut(ae);default:return _e(ae)}}function he(ae){switch(ae.kind){case 176:return gi(ae,Wt,ae);case 177:case 178:case 174:return gi(ae,Ki,ae);case 172:return gi(ae,mn,ae);case 175:return gi(ae,St,ae);case 167:return zt(ae);case 240:return ae;default:return Ws(ae)?Oe(ae):_e(ae)}}function Le(ae){switch(ae.kind){case 167:return zt(ae);default:return _e(ae)}}function Ke(ae){switch(ae.kind){case 172:return Ue(ae);case 177:case 178:return he(ae);default:x.assertMissingNode(ae,\"Expected node to either be a PropertyDeclaration, GetAccessorDeclaration, or SetAccessorDeclaration\");break}}function Dt(ae){return!R||Di(ae.parent)?ae:mr(t.createIdentifier(\"\"),ae)}function st(ae){let X=Uo(ae.left);if(X){let xe=He(ae.right,_e,lt);return mr(r().createClassPrivateFieldInHelper(X.brandCheckIdentifier,xe),ae)}return un(ae,_e,e)}function Ge(ae){return Fu(ae,Ce)&&(ae=Uu(e,ae)),un(ae,_e,e)}function ot(ae){let X=q;q=[];let xe=un(ae,_e,e),dt=ct(q)?[xe,...q]:xe;return q=X,dt}function Vt(ae){return Fu(ae,Ce)&&(ae=Uu(e,ae)),un(ae,_e,e)}function jt(ae){return Fu(ae,Ce)&&(ae=Uu(e,ae)),un(ae,_e,e)}function gn(ae){return Fu(ae,Ce)&&(ae=Uu(e,ae)),un(ae,_e,e)}function On(ae){return Fu(ae,Ce)&&(ae=Uu(e,ae,!0,ae.isExportEquals?\"\":\"default\")),un(ae,_e,e)}function en(ae){return ct(fe)&&(uu(ae)?(fe.push(ae.expression),ae=t.updateParenthesizedExpression(ae,t.inlineExpressions(fe))):(fe.push(ae),ae=t.inlineExpressions(fe)),fe=void 0),ae}function zt(ae){let X=He(ae.expression,_e,lt);return t.updateComputedPropertyName(ae,en(X))}function Wt(ae){return Ee?se(ae,Ee):be(ae)}function ei(ae){return!!(R||jl(ae)&&Uf(ae)&32)}function Ki(ae){if(x.assert(!Hp(ae)),!kd(ae)||!ei(ae))return un(ae,he,e);let X=Uo(ae.name);if(x.assert(X,\"Undeclared private name for property declaration.\"),!X.isValid)return ae;let xe=io(ae);xe&&lo().push(t.createAssignment(xe,t.createFunctionExpression(Cr(ae.modifiers,dt=>ia(dt)&&!rI(dt)&&!qre(dt)),ae.asteriskToken,xe,void 0,rl(ae.parameters,_e,e),void 0,Cp(ae.body,_e,e))))}function gi(ae,X,xe){if(ae!==ce){let dt=ce;ce=ae;let $t=X(xe);return ce=dt,$t}return X(xe)}function io(ae){x.assert(Ci(ae.name));let X=Uo(ae.name);if(x.assert(X,\"Undeclared private name for property declaration.\"),X.kind===\"m\")return X.methodName;if(X.kind===\"a\"){if(Yv(ae))return X.getterName;if($g(ae))return X.setterName}}function Gn(){let ae=ui(),X=ae.classThis??ae.classConstructor??Ee?.name;return x.checkDefined(X)}function Nr(ae){let X=t_(ae),xe=ov(ae),dt=ae.name,$t=dt,sr=dt;if(Pa(dt)&&!o_(dt.expression)){let bc=L6(dt);if(bc)$t=t.updateComputedPropertyName(dt,He(dt.expression,_e,lt)),sr=t.updateComputedPropertyName(dt,bc.left);else{let bs=t.createTempVariable(i);ca(bs,dt.expression);let Jl=He(dt.expression,_e,lt),Za=t.createAssignment(bs,Jl);ca(Za,dt.expression),$t=t.updateComputedPropertyName(dt,Za),sr=t.updateComputedPropertyName(dt,bs)}}let tr=Dn(ae.modifiers,Oe,ia),Ir=Hj(t,ae,tr,ae.initializer);mr(Ir,ae),$n(Ir,3072),ca(Ir,xe);let pi=zo(ae)?Gn():t.createThis(),hr=Rie(t,ae,tr,$t,pi);mr(hr,ae),Ol(hr,X),ca(hr,xe);let No=t.createModifiersFromModifierFlags(Qm(tr)),Qs=Die(t,ae,No,sr,pi);return mr(Qs,ae),$n(Qs,3072),ca(Qs,xe),ck([Ir,hr,Qs],Ke,xc)}function cr(ae){if(ei(ae)){let X=Uo(ae.name);if(x.assert(X,\"Undeclared private name for property declaration.\"),!X.isValid)return ae;if(X.isStatic&&!R){let xe=bt(ae,t.createThis());if(xe)return t.createClassStaticBlockDeclaration(t.createBlock([xe],!0))}return}return S&&!zo(ae)&&H?.data&&H.data.facts&16?t.updatePropertyDeclaration(ae,Dn(ae.modifiers,_e,Ws),ae.name,void 0,void 0,void 0):(Fu(ae,Ce)&&(ae=Uu(e,ae)),t.updatePropertyDeclaration(ae,Dn(ae.modifiers,Oe,ia),He(ae.name,Le,kl),void 0,void 0,He(ae.initializer,_e,lt)))}function Jt(ae){if(C&&!su(ae)){let X=Ar(ae.name,!!ae.initializer||v);if(X&&lo().push(...Cie(X)),zo(ae)&&!R){let xe=bt(ae,t.createThis());if(xe){let dt=t.createClassStaticBlockDeclaration(t.createBlock([xe]));return mr(dt,ae),Ol(dt,ae),Ol(xe,{pos:-1,end:-1}),Lb(xe,void 0),YA(xe,void 0),dt}}return}return t.updatePropertyDeclaration(ae,Dn(ae.modifiers,Oe,ia),He(ae.name,Le,kl),void 0,void 0,He(ae.initializer,_e,lt))}function Ue(ae){return x.assert(!Hp(ae),\"Decorators should already have been transformed and elided.\"),kd(ae)?cr(ae):Jt(ae)}function Rt(){return L===-1||L===3&&!!H?.data&&!!(H.data.facts&16)}function mn(ae){return su(ae)&&(Rt()||jl(ae)&&Uf(ae)&32)?Nr(ae):Ue(ae)}function qr(){return!!ce&&jl(ce)&&Kv(ce)&&su(sl(ce))}function ni(ae){if(qr()){let X=Rl(ae);X.kind===110&&le.add(X)}}function ki(ae,X){return X=He(X,_e,lt),ni(X),so(ae,X)}function so(ae,X){switch(Ol(X,Cb(X,-1)),ae.kind){case\"a\":return r().createClassPrivateFieldGetHelper(X,ae.brandCheckIdentifier,ae.kind,ae.getterName);case\"m\":return r().createClassPrivateFieldGetHelper(X,ae.brandCheckIdentifier,ae.kind,ae.methodName);case\"f\":return r().createClassPrivateFieldGetHelper(X,ae.brandCheckIdentifier,ae.kind,ae.isStatic?ae.variableName:void 0);case\"untransformed\":return x.fail(\"Access helpers should not be created for untransformed private elements\");default:x.assertNever(ae,\"Unknown private element type\")}}function Jo(ae){if(Ci(ae.name)){let X=Uo(ae.name);if(X)return Ze(mr(ki(X,ae.expression),ae),ae)}if(U&&ce&&cu(ae)&&Me(ae.name)&&wN(ce)&&H?.data){let{classConstructor:X,superClassReference:xe,facts:dt}=H.data;if(dt&1)return jn(ae);if(X&&xe){let $t=t.createReflectGetCall(xe,t.createStringLiteralFromNode(ae.name),X);return mr($t,ae.expression),Ze($t,ae.expression),$t}}return un(ae,_e,e)}function Ea(ae){if(U&&ce&&cu(ae)&&wN(ce)&&H?.data){let{classConstructor:X,superClassReference:xe,facts:dt}=H.data;if(dt&1)return jn(ae);if(X&&xe){let $t=t.createReflectGetCall(xe,He(ae.argumentExpression,_e,lt),X);return mr($t,ae.expression),Ze($t,ae.expression),$t}}return un(ae,_e,e)}function ln(ae,X){if(ae.operator===46||ae.operator===47){let xe=Ka(ae.operand);if(j1(xe)){let dt;if(dt=Uo(xe.name)){let $t=He(xe.expression,_e,lt);ni($t);let{readExpression:sr,initializeExpression:tr}=nt($t),Ir=ki(dt,sr),pi=fy(ae)||X?void 0:t.createTempVariable(i);return Ir=x6(t,ae,Ir,i,pi),Ir=_t(dt,tr||sr,Ir,64),mr(Ir,ae),Ze(Ir,ae),pi&&(Ir=t.createComma(Ir,pi),Ze(Ir,ae)),Ir}}else if(U&&ce&&cu(xe)&&wN(ce)&&H?.data){let{classConstructor:dt,superClassReference:$t,facts:sr}=H.data;if(sr&1){let tr=jn(xe);return fy(ae)?t.updatePrefixUnaryExpression(ae,tr):t.updatePostfixUnaryExpression(ae,tr)}if(dt&&$t){let tr,Ir;if(Er(xe)?Me(xe.name)&&(Ir=tr=t.createStringLiteralFromNode(xe.name)):o_(xe.argumentExpression)?Ir=tr=xe.argumentExpression:(Ir=t.createTempVariable(i),tr=t.createAssignment(Ir,He(xe.argumentExpression,_e,lt))),tr&&Ir){let pi=t.createReflectGetCall($t,Ir,dt);Ze(pi,xe);let hr=X?void 0:t.createTempVariable(i);return pi=x6(t,ae,pi,i,hr),pi=t.createReflectSetCall($t,tr,pi,dt),mr(pi,ae),Ze(pi,ae),hr&&(pi=t.createComma(pi,hr),Ze(pi,ae)),pi}}}}return un(ae,_e,e)}function Tn(ae){return t.updateForStatement(ae,He(ae.initializer,Te,Up),He(ae.condition,_e,lt),He(ae.incrementor,Te,lt),Qd(ae.statement,_e,e))}function ke(ae){return t.updateExpressionStatement(ae,He(ae.expression,Te,lt))}function nt(ae){let X=xs(ae)?ae:t.cloneNode(ae);if(ae.kind===110&&le.has(ae)&&le.add(X),o_(ae))return{readExpression:X,initializeExpression:void 0};let xe=t.createTempVariable(i),dt=t.createAssignment(xe,X);return{readExpression:xe,initializeExpression:dt}}function tt(ae){var X;if(j1(ae.expression)&&Uo(ae.expression.name)){let{thisArg:xe,target:dt}=t.createCallBinding(ae.expression,i,m);return gS(ae)?t.updateCallChain(ae,t.createPropertyAccessChain(He(dt,_e,lt),ae.questionDotToken,\"call\"),void 0,void 0,[He(xe,_e,lt),...Dn(ae.arguments,_e,lt)]):t.updateCallExpression(ae,t.createPropertyAccessExpression(He(dt,_e,lt),\"call\"),void 0,[He(xe,_e,lt),...Dn(ae.arguments,_e,lt)])}if(U&&ce&&cu(ae.expression)&&wN(ce)&&((X=H?.data)!=null&&X.classConstructor)){let xe=t.createFunctionCallCall(He(ae.expression,_e,lt),H.data.classConstructor,Dn(ae.arguments,_e,lt));return mr(xe,ae),Ze(xe,ae),xe}return un(ae,_e,e)}function yt(ae){var X;if(j1(ae.tag)&&Uo(ae.tag.name)){let{thisArg:xe,target:dt}=t.createCallBinding(ae.tag,i,m);return t.updateTaggedTemplateExpression(ae,t.createCallExpression(t.createPropertyAccessExpression(He(dt,_e,lt),\"bind\"),void 0,[He(xe,_e,lt)]),void 0,He(ae.template,_e,NA))}if(U&&ce&&cu(ae.tag)&&wN(ce)&&((X=H?.data)!=null&&X.classConstructor)){let xe=t.createFunctionBindCall(He(ae.tag,_e,lt),H.data.classConstructor,[]);return mr(xe,ae),Ze(xe,ae),t.updateTaggedTemplateExpression(ae,xe,void 0,He(ae.template,_e,NA))}return un(ae,_e,e)}function re(ae){if(H&&ee.set(sl(ae),H),R){if(kN(ae)){let dt=He(ae.body.statements[0].expression,_e,lt);return lc(dt,!0)&&dt.left===dt.right?void 0:dt}if(AI(ae))return He(ae.body.statements[0].expression,_e,lt);s();let X=gi(ae,dt=>Dn(dt,_e,Di),ae.body.statements);X=t.mergeLexicalEnvironment(X,o());let xe=t.createImmediatelyInvokedArrowFunction(X);return mr(Ka(xe.expression),ae),e_(Ka(xe.expression),4),mr(xe,ae),Ze(xe,ae),xe}}function Ce(ae){if(Dc(ae)&&!ae.name){let X=v4(ae);return ct(X,AI)?!1:(R||!!Uf(ae))&&ct(X,dt=>nl(dt)||kd(dt)||C&&uk(dt))}return!1}function et(ae,X){if(nv(ae)){let xe=fe;fe=void 0,ae=t.updateBinaryExpression(ae,He(ae.left,ft,lt),ae.operatorToken,He(ae.right,_e,lt));let dt=ct(fe)?t.inlineExpressions(pM([...fe,ae])):ae;return fe=xe,dt}if(lc(ae)){Fu(ae,Ce)&&(ae=Uu(e,ae),x.assertNode(ae,lc));let xe=Rl(ae.left,9);if(j1(xe)){let dt=Uo(xe.name);if(dt)return Ze(mr(_t(dt,xe.expression,ae.right,ae.operatorToken.kind),ae),ae)}else if(U&&ce&&cu(ae.left)&&wN(ce)&&H?.data){let{classConstructor:dt,superClassReference:$t,facts:sr}=H.data;if(sr&1)return t.updateBinaryExpression(ae,jn(ae.left),ae.operatorToken,He(ae.right,_e,lt));if(dt&&$t){let tr=Rs(ae.left)?He(ae.left.argumentExpression,_e,lt):Me(ae.left.name)?t.createStringLiteralFromNode(ae.left.name):void 0;if(tr){let Ir=He(ae.right,_e,lt);if(PN(ae.operatorToken.kind)){let hr=tr;o_(tr)||(hr=t.createTempVariable(i),tr=t.createAssignment(hr,tr));let No=t.createReflectGetCall($t,hr,dt);mr(No,ae.left),Ze(No,ae.left),Ir=t.createBinaryExpression(No,MN(ae.operatorToken.kind),Ir),Ze(Ir,ae)}let pi=X?void 0:t.createTempVariable(i);return pi&&(Ir=t.createAssignment(pi,Ir),Ze(pi,ae)),Ir=t.createReflectSetCall($t,tr,Ir,dt),mr(Ir,ae),Ze(Ir,ae),pi&&(Ir=t.createComma(Ir,pi),Ze(Ir,ae)),Ir}}}}return kze(ae)?st(ae):un(ae,_e,e)}function z(ae,X){let xe=X?dk(ae.elements,Te):dk(ae.elements,_e,Te);return t.updateCommaListExpression(ae,xe)}function Je(ae,X){let xe=X?Te:_e,dt=He(ae.expression,xe,lt);return t.updateParenthesizedExpression(ae,dt)}function _t(ae,X,xe,dt){if(X=He(X,_e,lt),xe=He(xe,_e,lt),ni(X),PN(dt)){let{readExpression:$t,initializeExpression:sr}=nt(X);X=sr||$t,xe=t.createBinaryExpression(so(ae,$t),MN(dt),xe)}switch(Ol(X,Cb(X,-1)),ae.kind){case\"a\":return r().createClassPrivateFieldSetHelper(X,ae.brandCheckIdentifier,xe,ae.kind,ae.setterName);case\"m\":return r().createClassPrivateFieldSetHelper(X,ae.brandCheckIdentifier,xe,ae.kind,void 0);case\"f\":return r().createClassPrivateFieldSetHelper(X,ae.brandCheckIdentifier,xe,ae.kind,ae.isStatic?ae.variableName:void 0);case\"untransformed\":return x.fail(\"Access helpers should not be created for untransformed private elements\");default:x.assertNever(ae,\"Unknown private element type\")}}function ze(ae){return Cr(ae.members,woe)}function it(ae){var X;let xe=0,dt=sl(ae);Zl(dt)&&Qg(E,dt)&&(xe|=1),R&&(tH(ae)||b4(ae))&&(xe|=2);let $t=!1,sr=!1,tr=!1,Ir=!1;for(let hr of ae.members)zo(hr)?((hr.name&&(Ci(hr.name)||su(hr))&&R||su(hr)&&L===-1&&!ae.name&&!((X=ae.emitNode)!=null&&X.classThis))&&(xe|=2),(xo(hr)||nl(hr))&&(G&&hr.transformFlags&16384&&(xe|=8,xe&1||(xe|=2)),U&&hr.transformFlags&134217728&&(xe&1||(xe|=6)))):$E(sl(hr))||(su(hr)?(Ir=!0,tr||(tr=kd(hr))):kd(hr)?(tr=!0,p.getNodeCheckFlags(hr)&262144&&(xe|=2)):xo(hr)&&($t=!0,sr||(sr=!!hr.initializer)));return(A&&$t||S&&sr||R&&tr||R&&Ir&&L===-1)&&(xe|=16),xe}function Ct(ae){var X;if((((X=H?.data)==null?void 0:X.facts)||0)&4){let dt=t.createTempVariable(i,!0);return ui().superClassReference=dt,t.updateExpressionWithTypeArguments(ae,t.createAssignment(dt,He(ae.expression,_e,lt)),void 0)}return un(ae,_e,e)}function on(ae,X){var xe;let dt=Ee,$t=fe,sr=H;Ee=ae,fe=void 0,Zi();let tr=Uf(ae)&32;if(R||tr){let hr=mo(ae);if(hr&&Me(hr))Mr().data.className=hr;else if((xe=ae.emitNode)!=null&&xe.assignedName&&da(ae.emitNode.assignedName)){if(ae.emitNode.assignedName.textSourceNode&&Me(ae.emitNode.assignedName.textSourceNode))Mr().data.className=ae.emitNode.assignedName.textSourceNode;else if(Tp(ae.emitNode.assignedName.text,m)){let No=t.createIdentifier(ae.emitNode.assignedName.text);Mr().data.className=No}}}if(R){let hr=ze(ae);ct(hr)&&(Mr().data.weakSetName=Fc(\"instances\",hr[0].name))}let Ir=it(ae);Ir&&(ui().facts=Ir),Ir&8&&ti();let pi=X(ae,Ir);return _i(),x.assert(H===sr),Ee=dt,fe=$t,pi}function Qt(ae){return on(ae,Zt)}function Zt(ae,X){var xe,dt;let $t;if(X&2)if(R&&((xe=ae.emitNode)!=null&&xe.classThis))ui().classConstructor=ae.emitNode.classThis,$t=t.createAssignment(ae.emitNode.classThis,t.getInternalName(ae));else{let Za=t.createTempVariable(i,!0);ui().classConstructor=t.cloneNode(Za),$t=t.createAssignment(Za,t.getInternalName(ae))}(dt=ae.emitNode)!=null&&dt.classThis&&(ui().classThis=ae.emitNode.classThis);let sr=p.getNodeCheckFlags(ae)&262144,tr=Wr(ae,32),Ir=Wr(ae,2048),pi=Dn(ae.modifiers,Oe,ia),hr=Dn(ae.heritageClauses,De,xp),{members:No,prologue:Qs}=te(ae),bc=[];if($t&&lo().unshift($t),ct(fe)&&bc.push(t.createExpressionStatement(t.inlineExpressions(fe))),S||R||Uf(ae)&32){let Za=v4(ae);ct(Za)&&gt(bc,Za,t.getInternalName(ae))}bc.length>0&&tr&&Ir&&(pi=Dn(pi,Za=>w2(Za)?void 0:Za,ia),bc.push(t.createExportAssignment(void 0,!1,t.getLocalName(ae,!1,!0))));let bs=ui().classConstructor;sr&&bs&&(Cn(),de[dd(ae)]=bs);let Jl=t.updateClassDeclaration(ae,pi,ae.name,void 0,hr,No);return bc.unshift(Jl),Qs&&bc.unshift(t.createExpressionStatement(Qs)),bc}function V(ae){return on(ae,Re)}function Re(ae,X){var xe,dt,$t;let sr=!!(X&1),tr=v4(ae),Ir=p.getNodeCheckFlags(ae),pi=Ir&262144,hr;function No(){var pc;if(R&&((pc=ae.emitNode)!=null&&pc.classThis))return ui().classConstructor=ae.emitNode.classThis;let Nf=Ir&32768,Vd=t.createTempVariable(Nf?d:i,!0);return ui().classConstructor=t.cloneNode(Vd),Vd}(xe=ae.emitNode)!=null&&xe.classThis&&(ui().classThis=ae.emitNode.classThis),X&2&&(hr??(hr=No()));let Qs=Dn(ae.modifiers,Oe,ia),bc=Dn(ae.heritageClauses,De,xp),{members:bs,prologue:Jl}=te(ae),Za=t.updateClassExpression(ae,Qs,ae.name,void 0,bc,bs),Ec=[];if(Jl&&Ec.push(Jl),(R||Uf(ae)&32)&&ct(tr,pc=>nl(pc)||kd(pc)||C&&uk(pc))||ct(fe))if(sr)x.assertIsDefined(q,\"Decorated classes transformed by TypeScript are expected to be within a variable declaration.\"),ct(fe)&&Pr(q,nn(fe,t.createExpressionStatement)),ct(tr)&&gt(q,tr,((dt=ae.emitNode)==null?void 0:dt.classThis)??t.getInternalName(ae)),hr?Ec.push(t.createAssignment(hr,Za)):R&&(($t=ae.emitNode)!=null&&$t.classThis)?Ec.push(t.createAssignment(ae.emitNode.classThis,Za)):Ec.push(Za);else{if(hr??(hr=No()),pi){Cn();let pc=t.cloneNode(hr);pc.emitNode.autoGenerate.flags&=-9,de[dd(ae)]=pc}Ec.push(t.createAssignment(hr,Za)),Pr(Ec,fe),Pr(Ec,Ot(tr,hr)),Ec.push(t.cloneNode(hr))}else Ec.push(Za);return Ec.length>1&&(e_(Za,131072),Ec.forEach(Sd)),t.inlineExpressions(Ec)}function St(ae){if(!R)return un(ae,_e,e)}function M(ae){if(G&&ce&&nl(ce)&&H?.data){let{classThis:X,classConstructor:xe}=H.data;return X??xe??ae}return ae}function te(ae){let X=!!(Uf(ae)&32);if(R||W){for(let tr of ae.members)if(kd(tr))if(ei(tr))Js(tr,tr.name,_n);else{let Ir=Mr();tT(Ir,tr.name,{kind:\"untransformed\"})}if(R&&ct(ze(ae))&&j(),Rt()){for(let tr of ae.members)if(su(tr)){let Ir=t.getGeneratedPrivateNameForNode(tr.name,void 0,\"_accessor_storage\");if(R||X&&jl(tr))Js(tr,Ir,ms);else{let pi=Mr();tT(pi,Ir,{kind:\"untransformed\"})}}}}let xe=Dn(ae.members,he,xc),dt;ct(xe,ll)||(dt=se(void 0,ae));let $t,sr;if(!R&&ct(fe)){let tr=t.createExpressionStatement(t.inlineExpressions(fe));if(tr.transformFlags&134234112){let pi=t.createTempVariable(i),hr=t.createArrowFunction(void 0,void 0,[],void 0,void 0,t.createBlock([tr]));$t=t.createAssignment(pi,hr),tr=t.createExpressionStatement(t.createCallExpression(pi,void 0,[]))}let Ir=t.createBlock([tr]);sr=t.createClassStaticBlockDeclaration(Ir),fe=void 0}if(dt||sr){let tr,Ir=Dr(xe,kN),pi=Dr(xe,AI);tr=pn(tr,Ir),tr=pn(tr,pi),tr=pn(tr,dt),tr=pn(tr,sr);let hr=Ir||pi?Cr(xe,No=>No!==Ir&&No!==pi):xe;tr=Pr(tr,hr),xe=Ze(t.createNodeArray(tr),ae.members)}return{members:xe,prologue:$t}}function j(){let{weakSetName:ae}=Mr().data;x.assert(ae,\"weakSetName should be set in private identifier environment\"),lo().push(t.createAssignment(ae,t.createNewExpression(t.createIdentifier(\"WeakSet\"),void 0,[])))}function se(ae,X){if(ae=He(ae,_e,ll),!H?.data||!(H.data.facts&16))return ae;let xe=Km(X),dt=!!(xe&&Rl(xe.expression).kind!==106),$t=rl(ae?ae.parameters:void 0,_e,e),sr=Ie(X,ae,dt);return sr?ae?(x.assert($t),t.updateConstructorDeclaration(ae,void 0,$t,sr)):Sd(mr(Ze(t.createConstructorDeclaration(void 0,$t??[],sr),ae||X),ae)):ae}function Pe(ae,X,xe,dt,$t,sr,tr){let Ir=dt[$t],pi=X[Ir];if(Pr(ae,Dn(X,_e,Di,xe,Ir-xe)),xe=Ir+1,JS(pi)){let hr=[];Pe(hr,pi.tryBlock.statements,0,dt,$t+1,sr,tr);let No=t.createNodeArray(hr);Ze(No,pi.tryBlock.statements),ae.push(t.updateTryStatement(pi,t.updateBlock(pi.tryBlock,hr),He(pi.catchClause,_e,u0),He(pi.finallyBlock,_e,Do)))}else{for(Pr(ae,Dn(X,_e,Di,Ir,1));xe<X.length;){let hr=X[xe];if(wu(sl(hr),tr))xe++;else break}Pr(ae,sr)}Pr(ae,Dn(X,_e,Di,xe))}function Ie(ae,X,xe){let dt=YU(ae,!1,!1),$t=dt;v||($t=Cr($t,bs=>!!bs.initializer||Ci(bs.name)||$m(bs)));let sr=ze(ae),tr=ct($t)||ct(sr);if(!X&&!tr)return Cp(void 0,_e,e);l();let Ir=!X&&xe,pi=0,hr=[],No=[],Qs=t.createThis();if(di(No,sr,Qs),X){let bs=Cr(dt,Za=>wu(sl(Za),X)),Jl=Cr($t,Za=>!wu(sl(Za),X));gt(No,bs,Qs),gt(No,Jl,Qs)}else gt(No,$t,Qs);if(X?.body){pi=t.copyPrologue(X.body.statements,hr,!1,_e);let bs=g4(X.body.statements,pi);if(bs.length)Pe(hr,X.body.statements,pi,bs,0,No,X);else{for(;pi<X.body.statements.length;){let Jl=X.body.statements[pi];if(wu(sl(Jl),X))pi++;else break}Pr(hr,No),Pr(hr,Dn(X.body.statements,_e,Di,pi))}}else Ir&&hr.push(t.createExpressionStatement(t.createCallExpression(t.createSuper(),void 0,[t.createSpreadElement(t.createIdentifier(\"arguments\"))]))),Pr(hr,No);if(hr=t.mergeLexicalEnvironment(hr,o()),hr.length===0&&!X)return;let bc=X?.body&&X.body.statements.length>=hr.length?X.body.multiLine??hr.length>0:hr.length>0;return Ze(t.createBlock(Ze(t.createNodeArray(hr),X?X.body.statements:ae.members),bc),X?X.body:void 0)}function gt(ae,X,xe){for(let dt of X){if(zo(dt)&&!R)continue;let $t=bt(dt,xe);$t&&ae.push($t)}}function bt(ae,X){let xe=nl(ae)?gi(ae,re,ae):dn(ae,X);if(!xe)return;let dt=t.createExpressionStatement(xe);mr(dt,ae),e_(dt,ba(ae)&3072),Ol(dt,ae);let $t=sl(ae);return ao($t)?(ca(dt,$t),f2(dt)):ca(dt,Zm(ae)),Lb(xe,void 0),YA(xe,void 0),$m($t)&&e_(dt,3072),dt}function Ot(ae,X){let xe=[];for(let dt of ae){let $t=nl(dt)?gi(dt,re,dt):gi(dt,()=>dn(dt,X),void 0);$t&&(Sd($t),mr($t,dt),e_($t,ba(dt)&3072),ca($t,Zm(dt)),Ol($t,dt),xe.push($t))}return xe}function dn(ae,X){var xe;let dt=ce,$t=An(ae,X);return $t&&jl(ae)&&((xe=H?.data)!=null&&xe.facts)&&(mr($t,ae),e_($t,4),ca($t,ov(ae.name)),ee.set(sl(ae),H)),ce=dt,$t}function An(ae,X){let xe=!v;Fu(ae,Ce)&&(ae=Uu(e,ae));let dt=$m(ae)?t.getGeneratedPrivateNameForNode(ae.name):Pa(ae.name)&&!o_(ae.name.expression)?t.updateComputedPropertyName(ae.name,t.getGeneratedNameForNode(ae.name)):ae.name;if(jl(ae)&&(ce=ae),Ci(dt)&&ei(ae)){let tr=Uo(dt);if(tr)return tr.kind===\"f\"?tr.isStatic?Nze(t,tr.variableName,He(ae.initializer,_e,lt)):Pze(t,X,He(ae.initializer,_e,lt),tr.brandCheckIdentifier):void 0;x.fail(\"Undeclared private name for property declaration.\")}if((Ci(dt)||jl(ae))&&!ae.initializer)return;let $t=sl(ae);if(Wr($t,64))return;let sr=He(ae.initializer,_e,lt);if(wu($t,$t.parent)&&Me(dt)){let tr=t.cloneNode(dt);sr?(uu(sr)&&M2(sr.expression)&&oN(sr.expression.left,\"___runInitializers\")&&cI(sr.expression.right)&&Bu(sr.expression.right.expression)&&(sr=sr.expression.left),sr=t.inlineExpressions([sr,tr])):sr=tr,$n(dt,3168),ca(tr,$t.name),$n(tr,3072)}else sr??(sr=t.createVoidZero());if(xe||Ci(dt)){let tr=QS(t,X,dt,dt);return e_(tr,1024),t.createAssignment(tr,sr)}else{let tr=Pa(dt)?dt.expression:Me(dt)?t.createStringLiteral(Ii(dt.escapedText)):dt,Ir=t.createPropertyDescriptor({value:sr,configurable:!0,writable:!0,enumerable:!0});return t.createObjectDefinePropertyCall(X,tr,Ir)}}function Cn(){$&1||($|=1,e.enableSubstitution(80),de=[])}function ti(){$&2||($|=2,e.enableSubstitution(110),e.enableEmitNotification(262),e.enableEmitNotification(218),e.enableEmitNotification(176),e.enableEmitNotification(177),e.enableEmitNotification(178),e.enableEmitNotification(174),e.enableEmitNotification(172),e.enableEmitNotification(167))}function di(ae,X,xe){if(!R||!ct(X))return;let{weakSetName:dt}=Mr().data;x.assert(dt,\"weakSetName should be set in private identifier environment\"),ae.push(t.createExpressionStatement(Mze(t,xe,dt)))}function jn(ae){return Er(ae)?t.updatePropertyAccessExpression(ae,t.createVoidZero(),ae.name):t.updateElementAccessExpression(ae,t.createVoidZero(),He(ae.argumentExpression,_e,lt))}function Ar(ae,X){if(Pa(ae)){let xe=L6(ae),dt=He(ae.expression,_e,lt),$t=jf(dt),sr=o_($t);if(!(!!xe||lc($t)&&ws($t.left))&&!sr&&X){let Ir=t.getGeneratedNameForNode(ae);return p.getNodeCheckFlags(ae)&32768?d(Ir):i(Ir),t.createAssignment(Ir,dt)}return sr||Me($t)?void 0:dt}}function Zi(){H={previous:H,data:void 0}}function _i(){H=H?.previous}function ui(){return x.assert(H),H.data??(H.data={facts:0,classConstructor:void 0,classThis:void 0,superClassReference:void 0})}function Mr(){return x.assert(H),H.privateEnv??(H.privateEnv=zoe({className:void 0,weakSetName:void 0}))}function lo(){return fe??(fe=[])}function _n(ae,X,xe,dt,$t,sr,tr){su(ae)?vs(ae,X,xe,dt,$t,sr,tr):xo(ae)?ms(ae,X,xe,dt,$t,sr,tr):El(ae)?Dl(ae,X,xe,dt,$t,sr,tr):Ip(ae)?_o(ae,X,xe,dt,$t,sr,tr):Vu(ae)&&Va(ae,X,xe,dt,$t,sr,tr)}function ms(ae,X,xe,dt,$t,sr,tr){if($t){let Ir=x.checkDefined(xe.classThis??xe.classConstructor,\"classConstructor should be set in private identifier environment\"),pi=$i(X);tT(dt,X,{kind:\"f\",isStatic:!0,brandCheckIdentifier:Ir,variableName:pi,isValid:sr})}else{let Ir=$i(X);tT(dt,X,{kind:\"f\",isStatic:!1,brandCheckIdentifier:Ir,isValid:sr}),lo().push(t.createAssignment(Ir,t.createNewExpression(t.createIdentifier(\"WeakMap\"),void 0,[])))}}function Dl(ae,X,xe,dt,$t,sr,tr){let Ir=$i(X),pi=$t?x.checkDefined(xe.classThis??xe.classConstructor,\"classConstructor should be set in private identifier environment\"):x.checkDefined(dt.data.weakSetName,\"weakSetName should be set in private identifier environment\");tT(dt,X,{kind:\"m\",methodName:Ir,brandCheckIdentifier:pi,isStatic:$t,isValid:sr})}function _o(ae,X,xe,dt,$t,sr,tr){let Ir=$i(X,\"_get\"),pi=$t?x.checkDefined(xe.classThis??xe.classConstructor,\"classConstructor should be set in private identifier environment\"):x.checkDefined(dt.data.weakSetName,\"weakSetName should be set in private identifier environment\");tr?.kind===\"a\"&&tr.isStatic===$t&&!tr.getterName?tr.getterName=Ir:tT(dt,X,{kind:\"a\",getterName:Ir,setterName:void 0,brandCheckIdentifier:pi,isStatic:$t,isValid:sr})}function Va(ae,X,xe,dt,$t,sr,tr){let Ir=$i(X,\"_set\"),pi=$t?x.checkDefined(xe.classThis??xe.classConstructor,\"classConstructor should be set in private identifier environment\"):x.checkDefined(dt.data.weakSetName,\"weakSetName should be set in private identifier environment\");tr?.kind===\"a\"&&tr.isStatic===$t&&!tr.setterName?tr.setterName=Ir:tT(dt,X,{kind:\"a\",getterName:void 0,setterName:Ir,brandCheckIdentifier:pi,isStatic:$t,isValid:sr})}function vs(ae,X,xe,dt,$t,sr,tr){let Ir=$i(X,\"_get\"),pi=$i(X,\"_set\"),hr=$t?x.checkDefined(xe.classThis??xe.classConstructor,\"classConstructor should be set in private identifier environment\"):x.checkDefined(dt.data.weakSetName,\"weakSetName should be set in private identifier environment\");tT(dt,X,{kind:\"a\",getterName:Ir,setterName:pi,brandCheckIdentifier:hr,isStatic:$t,isValid:sr})}function Js(ae,X,xe){let dt=ui(),$t=Mr(),sr=QU($t,X),tr=jl(ae),Ir=!Lze(X)&&sr===void 0;xe(ae,X,dt,$t,tr,Ir,sr)}function Fc(ae,X,xe){let{className:dt}=Mr().data,$t=dt?{prefix:\"_\",node:dt,suffix:\"_\"}:\"_\",sr=typeof ae==\"object\"?t.getGeneratedNameForNode(ae,24,$t,xe):typeof ae==\"string\"?t.createUniqueName(ae,16,$t,xe):t.createTempVariable(void 0,!0,$t,xe);return p.getNodeCheckFlags(X)&32768?d(sr):i(sr),sr}function $i(ae,X){let xe=fC(ae);return Fc(xe?.substring(1)??ae,ae,X)}function Uo(ae){let X=Boe(H,ae);return X?.kind===\"untransformed\"?void 0:X}function zc(ae){let X=t.getGeneratedNameForNode(ae),xe=Uo(ae.name);if(!xe)return un(ae,_e,e);let dt=ae.expression;return(fL(ae)||cu(ae)||!g0(ae.expression))&&(dt=t.createTempVariable(i,!0),lo().push(t.createBinaryExpression(dt,64,He(ae.expression,_e,lt)))),t.createAssignmentTargetWrapper(X,_t(xe,dt,X,64))}function ts(ae){if(ma(ae)||Bd(ae))return Ut(ae);if(j1(ae))return zc(ae);if(U&&ce&&cu(ae)&&wN(ce)&&H?.data){let{classConstructor:X,superClassReference:xe,facts:dt}=H.data;if(dt&1)return jn(ae);if(X&&xe){let $t=Rs(ae)?He(ae.argumentExpression,_e,lt):Me(ae.name)?t.createStringLiteralFromNode(ae.name):void 0;if($t){let sr=t.createTempVariable(void 0);return t.createAssignmentTargetWrapper(sr,t.createReflectSetCall(xe,$t,sr,X))}}}return un(ae,_e,e)}function ua(ae){if(Fu(ae,Ce)&&(ae=Uu(e,ae)),lc(ae,!0)){let X=ts(ae.left),xe=He(ae.right,_e,lt);return t.updateBinaryExpression(ae,X,ae.operatorToken,xe)}return ts(ae)}function Us(ae){if(Tu(ae.expression)){let X=ts(ae.expression);return t.updateSpreadElement(ae,X)}return un(ae,_e,e)}function tf(ae){if(XM(ae)){if(bm(ae))return Us(ae);if(!vc(ae))return ua(ae)}return un(ae,_e,e)}function Wl(ae){let X=He(ae.name,_e,kl);if(lc(ae.initializer,!0)){let xe=ua(ae.initializer);return t.updatePropertyAssignment(ae,X,xe)}if(Tu(ae.initializer)){let xe=ts(ae.initializer);return t.updatePropertyAssignment(ae,X,xe)}return un(ae,_e,e)}function il(ae){return Fu(ae,Ce)&&(ae=Uu(e,ae)),un(ae,_e,e)}function zs(ae){if(Tu(ae.expression)){let X=ts(ae.expression);return t.updateSpreadAssignment(ae,X)}return un(ae,_e,e)}function ho(ae){return x.assertNode(ae,KM),lv(ae)?zs(ae):xu(ae)?il(ae):Hl(ae)?Wl(ae):un(ae,_e,e)}function Ut(ae){return Bd(ae)?t.updateArrayLiteralExpression(ae,Dn(ae.elements,tf,lt)):t.updateObjectLiteralExpression(ae,Dn(ae.properties,ho,Zh))}function ys(ae,X,xe){let dt=sl(X),$t=ee.get(dt);if($t){let sr=H,tr=pe;H=$t,pe=Z,Z=!nl(dt)||!(Uf(dt)&32),oe(ae,X,xe),Z=pe,pe=tr,H=sr;return}switch(X.kind){case 218:if(gs(dt)||ba(X)&524288)break;case 262:case 176:case 177:case 178:case 174:case 172:{let sr=H,tr=pe;H=void 0,pe=Z,Z=!1,oe(ae,X,xe),Z=pe,pe=tr,H=sr;return}case 167:{let sr=H,tr=Z;H=H?.previous,Z=pe,oe(ae,X,xe),Z=tr,H=sr;return}}oe(ae,X,xe)}function Pc(ae,X){return X=F(ae,X),ae===1?Bc(X):X}function Bc(ae){switch(ae.kind){case 80:return ls(ae);case 110:return Ju(ae)}return ae}function Ju(ae){if($&2&&H?.data&&!le.has(ae)){let{facts:X,classConstructor:xe,classThis:dt}=H.data,$t=Z?dt??xe:xe;if($t)return Ze(mr(t.cloneNode($t),ae),ae);if(X&1&&E)return t.createParenthesizedExpression(t.createVoidZero())}return ae}function ls(ae){return tc(ae)||ae}function tc(ae){if($&1&&p.getNodeCheckFlags(ae)&536870912){let X=p.getReferencedValueDeclaration(ae);if(X){let xe=de[X.id];if(xe){let dt=t.cloneNode(xe);return ca(dt,ae),Ol(dt,ae),dt}}}}}function Nze(e,t,r){return e.createAssignment(t,e.createObjectLiteralExpression([e.createPropertyAssignment(\"value\",r||e.createVoidZero())]))}function Pze(e,t,r,i){return e.createCallExpression(e.createPropertyAccessExpression(i,\"set\"),void 0,[t,r||e.createVoidZero()])}function Mze(e,t,r){return e.createCallExpression(e.createPropertyAccessExpression(r,\"add\"),void 0,[t])}function Lze(e){return!vS(e)&&e.escapedText===\"#constructor\"}function kze(e){return Ci(e.left)&&e.operatorToken.kind===103}function Oze(e){return xo(e)&&jl(e)}function wN(e){return nl(e)||Oze(e)}var wze=pt({\"src/compiler/transformers/classFields.ts\"(){\"use strict\";wo()}});function $oe(e){let{factory:t,hoistVariableDeclaration:r}=e,i=e.getEmitResolver(),o=e.getCompilerOptions(),s=Wa(o),l=Fd(o,\"strictNullChecks\"),d,p;return{serializeTypeNode:(fe,q)=>h(fe,C,q),serializeTypeOfNode:(fe,q)=>h(fe,v,q),serializeParameterTypesOfNode:(fe,q,H)=>h(fe,E,q,H),serializeReturnTypeOfNode:(fe,q)=>h(fe,A,q)};function h(fe,q,H,ee){let le=d,Ee=p;d=fe.currentLexicalScope,p=fe.currentNameScope;let ce=ee===void 0?q(H):q(H,ee);return d=le,p=Ee,ce}function m(fe){let q=i.getAllAccessorDeclarations(fe);return q.setAccessor&&pne(q.setAccessor)||q.getAccessor&&Tf(q.getAccessor)}function v(fe){switch(fe.kind){case 172:case 169:return C(fe.type);case 178:case 177:return C(m(fe));case 263:case 231:case 174:return t.createIdentifier(\"Function\");default:return t.createVoidZero()}}function E(fe,q){let H=Kr(fe)?Ah(fe):Lo(fe)&&gf(fe.body)?fe:void 0,ee=[];if(H){let le=S(H,q),Ee=le.length;for(let ce=0;ce<Ee;ce++){let Z=le[ce];ce===0&&Me(Z.name)&&Z.name.escapedText===\"this\"||(Z.dotDotDotToken?ee.push(C(x9(Z.type))):ee.push(v(Z)))}}return t.createArrayLiteralExpression(ee)}function S(fe,q){if(q&&fe.kind===177){let{setAccessor:H}=wS(q.members,fe);if(H)return H.parameters}return fe.parameters}function A(fe){return Lo(fe)&&fe.type?C(fe.type):TC(fe)?t.createIdentifier(\"Promise\"):t.createVoidZero()}function C(fe){if(fe===void 0)return t.createIdentifier(\"Object\");switch(fe=ML(fe),fe.kind){case 116:case 157:case 146:return t.createVoidZero();case 184:case 185:return t.createIdentifier(\"Function\");case 188:case 189:return t.createIdentifier(\"Array\");case 182:return fe.assertsModifier?t.createVoidZero():t.createIdentifier(\"Boolean\");case 136:return t.createIdentifier(\"Boolean\");case 203:case 154:return t.createIdentifier(\"String\");case 151:return t.createIdentifier(\"Object\");case 201:return R(fe.literal);case 150:return t.createIdentifier(\"Number\");case 163:return de(\"BigInt\",7);case 155:return de(\"Symbol\",2);case 183:return U(fe);case 193:return L(fe.types,!0);case 192:return L(fe.types,!1);case 194:return L([fe.trueType,fe.falseType],!1);case 198:if(fe.operator===148)return C(fe.type);break;case 186:case 199:case 200:case 187:case 133:case 159:case 197:case 205:break;case 319:case 320:case 324:case 325:case 326:break;case 321:case 322:case 323:return C(fe.type);default:return x.failBadSyntaxKind(fe)}return t.createIdentifier(\"Object\")}function R(fe){switch(fe.kind){case 11:case 15:return t.createIdentifier(\"String\");case 224:{let q=fe.operand;switch(q.kind){case 9:case 10:return R(q);default:return x.failBadSyntaxKind(q)}}case 9:return t.createIdentifier(\"Number\");case 10:return de(\"BigInt\",7);case 112:case 97:return t.createIdentifier(\"Boolean\");case 106:return t.createVoidZero();default:return x.failBadSyntaxKind(fe)}}function L(fe,q){let H;for(let ee of fe){if(ee=ML(ee),ee.kind===146){if(q)return t.createVoidZero();continue}if(ee.kind===159){if(!q)return t.createIdentifier(\"Object\");continue}if(ee.kind===133)return t.createIdentifier(\"Object\");if(!l&&(uy(ee)&&ee.literal.kind===106||ee.kind===157))continue;let le=C(ee);if(Me(le)&&le.escapedText===\"Object\")return le;if(H){if(!G(H,le))return t.createIdentifier(\"Object\")}else H=le}return H??t.createVoidZero()}function G(fe,q){return ws(fe)?ws(q):Me(fe)?Me(q)&&fe.escapedText===q.escapedText:Er(fe)?Er(q)&&G(fe.expression,q.expression)&&G(fe.name,q.name):cI(fe)?cI(q)&&Bu(fe.expression)&&fe.expression.text===\"0\"&&Bu(q.expression)&&q.expression.text===\"0\":da(fe)?da(q)&&fe.text===q.text:Wx(fe)?Wx(q)&&G(fe.expression,q.expression):uu(fe)?uu(q)&&G(fe.expression,q.expression):Fx(fe)?Fx(q)&&G(fe.condition,q.condition)&&G(fe.whenTrue,q.whenTrue)&&G(fe.whenFalse,q.whenFalse):Zn(fe)?Zn(q)&&fe.operatorToken.kind===q.operatorToken.kind&&G(fe.left,q.left)&&G(fe.right,q.right):!1}function U(fe){let q=i.getTypeReferenceSerializationKind(fe.typeName,p??d);switch(q){case 0:if(Rn(fe,le=>le.parent&&lI(le.parent)&&(le.parent.trueType===le||le.parent.falseType===le)))return t.createIdentifier(\"Object\");let H=F(fe.typeName),ee=t.createTempVariable(r);return t.createConditionalExpression(t.createTypeCheck(t.createAssignment(ee,H),\"function\"),void 0,ee,void 0,t.createIdentifier(\"Object\"));case 1:return oe(fe.typeName);case 2:return t.createVoidZero();case 4:return de(\"BigInt\",7);case 6:return t.createIdentifier(\"Boolean\");case 3:return t.createIdentifier(\"Number\");case 5:return t.createIdentifier(\"String\");case 7:return t.createIdentifier(\"Array\");case 8:return de(\"Symbol\",2);case 10:return t.createIdentifier(\"Function\");case 9:return t.createIdentifier(\"Promise\");case 11:return t.createIdentifier(\"Object\");default:return x.assertNever(q)}}function K(fe,q){return t.createLogicalAnd(t.createStrictInequality(t.createTypeOfExpression(fe),t.createStringLiteral(\"undefined\")),q)}function F(fe){if(fe.kind===80){let ee=oe(fe);return K(ee,ee)}if(fe.left.kind===80)return K(oe(fe.left),oe(fe));let q=F(fe.left),H=t.createTempVariable(r);return t.createLogicalAnd(t.createLogicalAnd(q.left,t.createStrictInequality(t.createAssignment(H,q.right),t.createVoidZero())),t.createPropertyAccessExpression(H,fe.right))}function oe(fe){switch(fe.kind){case 80:let q=Aa(Ze(H_.cloneNode(fe),fe),fe.parent);return q.original=void 0,Aa(q,uo(d)),q;case 166:return W(fe)}}function W(fe){return t.createPropertyAccessExpression(oe(fe.left),fe.right)}function $(fe){return t.createConditionalExpression(t.createTypeCheck(t.createIdentifier(fe),\"function\"),void 0,t.createIdentifier(fe),void 0,t.createIdentifier(\"Object\"))}function de(fe,q){return s<q?$(fe):t.createIdentifier(fe)}}var Wze=pt({\"src/compiler/transformers/typeSerializer.ts\"(){\"use strict\";wo()}});function Qoe(e){let{factory:t,getEmitHelperFactory:r,hoistVariableDeclaration:i}=e,o=e.getEmitResolver(),s=e.getCompilerOptions(),l=Wa(s),d=e.onSubstituteNode;e.onSubstituteNode=Le;let p;return $f(e,h);function h(Ge){let ot=un(Ge,v,e);return ag(ot,e.readEmitHelpers()),ot}function m(Ge){return Xc(Ge)?void 0:Ge}function v(Ge){if(!(Ge.transformFlags&33554432))return Ge;switch(Ge.kind){case 170:return;case 263:return E(Ge);case 231:return U(Ge);case 176:return K(Ge);case 174:return oe(Ge);case 178:return $(Ge);case 177:return W(Ge);case 172:return de(Ge);case 169:return fe(Ge);default:return un(Ge,v,e)}}function E(Ge){if(!(Qg(!0,Ge)||hC(!0,Ge)))return un(Ge,v,e);let ot=Qg(!0,Ge)?G(Ge,Ge.name):L(Ge,Ge.name);return D_(ot)}function S(Ge){return!!(Ge.transformFlags&536870912)}function A(Ge){return ct(Ge,S)}function C(Ge){for(let ot of Ge.members){if(!ZS(ot))continue;let Vt=y4(ot,Ge,!0);if(ct(Vt?.decorators,S)||ct(Vt?.parameters,A))return!0}return!1}function R(Ge,ot){let Vt=[];return ee(Vt,Ge,!1),ee(Vt,Ge,!0),C(Ge)&&(ot=Ze(t.createNodeArray([...ot,t.createClassStaticBlockDeclaration(t.createBlock(Vt,!0))]),ot),Vt=void 0),{decorationStatements:Vt,members:ot}}function L(Ge,ot){let Vt=Dn(Ge.modifiers,m,ia),jt=Dn(Ge.heritageClauses,v,xp),gn=Dn(Ge.members,v,xc),On=[];({members:gn,decorationStatements:On}=R(Ge,gn));let en=t.updateClassDeclaration(Ge,Vt,ot,void 0,jt,gn);return Pr([en],On)}function G(Ge,ot){let Vt=Wr(Ge,32),jt=Wr(Ge,2048),gn=Dn(Ge.modifiers,Rt=>w2(Rt)||Xc(Rt)?void 0:Rt,Ws),On=Zm(Ge),en=De(Ge),zt=l<2?t.getInternalName(Ge,!1,!0):t.getLocalName(Ge,!1,!0),Wt=Dn(Ge.heritageClauses,v,xp),ei=Dn(Ge.members,v,xc),Ki=[];({members:ei,decorationStatements:Ki}=R(Ge,ei));let gi=l>=9&&!!en&&ct(ei,Rt=>xo(Rt)&&Wr(Rt,256)||nl(Rt));gi&&(ei=Ze(t.createNodeArray([t.createClassStaticBlockDeclaration(t.createBlock([t.createExpressionStatement(t.createAssignment(en,t.createThis()))])),...ei]),ei));let io=t.createClassExpression(gn,ot&&ws(ot)?void 0:ot,void 0,Wt,ei);mr(io,Ge),Ze(io,On);let Gn=en&&!gi?t.createAssignment(en,io):io,Nr=t.createVariableDeclaration(zt,void 0,void 0,Gn);mr(Nr,Ge);let cr=t.createVariableDeclarationList([Nr],1),Jt=t.createVariableStatement(void 0,cr);mr(Jt,Ge),Ze(Jt,On),Ol(Jt,Ge);let Ue=[Jt];if(Pr(Ue,Ki),pe(Ue,Ge),Vt)if(jt){let Rt=t.createExportDefault(zt);Ue.push(Rt)}else{let Rt=t.createExternalModuleExport(t.getDeclarationName(Ge));Ue.push(Rt)}return Ue}function U(Ge){return t.updateClassExpression(Ge,Dn(Ge.modifiers,m,ia),Ge.name,void 0,Dn(Ge.heritageClauses,v,xp),Dn(Ge.members,v,xc))}function K(Ge){return t.updateConstructorDeclaration(Ge,Dn(Ge.modifiers,m,ia),Dn(Ge.parameters,v,ao),He(Ge.body,v,Do))}function F(Ge,ot){return Ge!==ot&&(Ol(Ge,ot),ca(Ge,Zm(ot))),Ge}function oe(Ge){return F(t.updateMethodDeclaration(Ge,Dn(Ge.modifiers,m,ia),Ge.asteriskToken,x.checkDefined(He(Ge.name,v,kl)),void 0,void 0,Dn(Ge.parameters,v,ao),void 0,He(Ge.body,v,Do)),Ge)}function W(Ge){return F(t.updateGetAccessorDeclaration(Ge,Dn(Ge.modifiers,m,ia),x.checkDefined(He(Ge.name,v,kl)),Dn(Ge.parameters,v,ao),void 0,He(Ge.body,v,Do)),Ge)}function $(Ge){return F(t.updateSetAccessorDeclaration(Ge,Dn(Ge.modifiers,m,ia),x.checkDefined(He(Ge.name,v,kl)),Dn(Ge.parameters,v,ao),He(Ge.body,v,Do)),Ge)}function de(Ge){if(!(Ge.flags&33554432||Wr(Ge,128)))return F(t.updatePropertyDeclaration(Ge,Dn(Ge.modifiers,m,ia),x.checkDefined(He(Ge.name,v,kl)),void 0,void 0,He(Ge.initializer,v,lt)),Ge)}function fe(Ge){let ot=t.updateParameterDeclaration(Ge,xie(t,Ge.modifiers),Ge.dotDotDotToken,x.checkDefined(He(Ge.name,v,yS)),void 0,void 0,He(Ge.initializer,v,lt));return ot!==Ge&&(Ol(ot,Ge),Ze(ot,Zm(Ge)),ca(ot,Zm(Ge)),$n(ot.name,64)),ot}function q(Ge){return oN(Ge.expression,\"___metadata\")}function H(Ge){if(!Ge)return;let{false:ot,true:Vt}=Kw(Ge.decorators,q),jt=[];return Pr(jt,nn(ot,Oe)),Pr(jt,ta(Ge.parameters,_e)),Pr(jt,nn(Vt,Oe)),jt}function ee(Ge,ot,Vt){Pr(Ge,nn(ce(ot,Vt),jt=>t.createExpressionStatement(jt)))}function le(Ge,ot,Vt){return _L(!0,Ge,Vt)&&ot===zo(Ge)}function Ee(Ge,ot){return Cr(Ge.members,Vt=>le(Vt,ot,Ge))}function ce(Ge,ot){let Vt=Ee(Ge,ot),jt;for(let gn of Vt)jt=pn(jt,Z(Ge,gn));return jt}function Z(Ge,ot){let Vt=y4(ot,Ge,!0),jt=H(Vt);if(!jt)return;let gn=he(Ge,ot),On=be(ot,!Wr(ot,128)),en=l>0?xo(ot)&&!$m(ot)?t.createVoidZero():t.createNull():void 0,zt=r().createDecorateHelper(jt,gn,On,en);return $n(zt,3072),ca(zt,Zm(ot)),zt}function pe(Ge,ot){let Vt=Ae(ot);Vt&&Ge.push(mr(t.createExpressionStatement(Vt),ot))}function Ae(Ge){let ot=$U(Ge),Vt=H(ot);if(!Vt)return;let jt=p&&p[dd(Ge)],gn=l<2?t.getInternalName(Ge,!1,!0):t.getDeclarationName(Ge,!1,!0),On=r().createDecorateHelper(Vt,gn),en=t.createAssignment(gn,jt?t.createAssignment(jt,On):On);return $n(en,3072),ca(en,Zm(Ge)),en}function Oe(Ge){return x.checkDefined(He(Ge.expression,v,lt))}function _e(Ge,ot){let Vt;if(Ge){Vt=[];for(let jt of Ge){let gn=r().createParamHelper(Oe(jt),ot);Ze(gn,jt.expression),$n(gn,3072),Vt.push(gn)}}return Vt}function be(Ge,ot){let Vt=Ge.name;return Ci(Vt)?t.createIdentifier(\"\"):Pa(Vt)?ot&&!o_(Vt.expression)?t.getGeneratedNameForNode(Vt):Vt.expression:Me(Vt)?t.createStringLiteral(ar(Vt)):t.cloneNode(Vt)}function Te(){p||(e.enableSubstitution(80),p=[])}function De(Ge){if(o.getNodeCheckFlags(Ge)&262144){Te();let ot=t.createUniqueName(Ge.name&&!ws(Ge.name)?ar(Ge.name):\"default\");return p[dd(Ge)]=ot,i(ot),ot}}function ft(Ge){return t.createPropertyAccessExpression(t.getDeclarationName(Ge),\"prototype\")}function he(Ge,ot){return zo(ot)?t.getDeclarationName(Ge):ft(Ge)}function Le(Ge,ot){return ot=d(Ge,ot),Ge===1?Ke(ot):ot}function Ke(Ge){switch(Ge.kind){case 80:return Dt(Ge)}return Ge}function Dt(Ge){return st(Ge)??Ge}function st(Ge){if(p&&o.getNodeCheckFlags(Ge)&536870912){let ot=o.getReferencedValueDeclaration(Ge);if(ot){let Vt=p[ot.id];if(Vt){let jt=t.cloneNode(Vt);return ca(jt,Ge),Ol(jt,Ge),jt}}}}}var Fze=pt({\"src/compiler/transformers/legacyDecorators.ts\"(){\"use strict\";wo()}});function Zoe(e){let{factory:t,getEmitHelperFactory:r,startLexicalEnvironment:i,endLexicalEnvironment:o,hoistVariableDeclaration:s}=e,l=Wa(e.getCompilerOptions()),d,p,h,m,v,E;return $f(e,S);function S(M){d=void 0,E=!1;let te=un(M,$,e);return ag(te,e.readEmitHelpers()),E&&(XA(te,32),E=!1),te}function A(){switch(p=void 0,h=void 0,m=void 0,d?.kind){case\"class\":p=d.classInfo;break;case\"class-element\":p=d.next.classInfo,h=d.classThis,m=d.classSuper;break;case\"name\":let M=d.next.next.next;M?.kind===\"class-element\"&&(p=M.next.classInfo,h=M.classThis,m=M.classSuper);break}}function C(M){d={kind:\"class\",next:d,classInfo:M,savedPendingExpressions:v},v=void 0,A()}function R(){x.assert(d?.kind===\"class\",\"Incorrect value for top.kind.\",()=>`Expected top.kind to be 'class' but got '${d?.kind}' instead.`),v=d.savedPendingExpressions,d=d.next,A()}function L(M){var te,j;x.assert(d?.kind===\"class\",\"Incorrect value for top.kind.\",()=>`Expected top.kind to be 'class' but got '${d?.kind}' instead.`),d={kind:\"class-element\",next:d},(nl(M)||xo(M)&&jl(M))&&(d.classThis=(te=d.next.classInfo)==null?void 0:te.classThis,d.classSuper=(j=d.next.classInfo)==null?void 0:j.classSuper),A()}function G(){var M;x.assert(d?.kind===\"class-element\",\"Incorrect value for top.kind.\",()=>`Expected top.kind to be 'class-element' but got '${d?.kind}' instead.`),x.assert(((M=d.next)==null?void 0:M.kind)===\"class\",\"Incorrect value for top.next.kind.\",()=>{var te;return`Expected top.next.kind to be 'class' but got '${(te=d.next)==null?void 0:te.kind}' instead.`}),d=d.next,A()}function U(){x.assert(d?.kind===\"class-element\",\"Incorrect value for top.kind.\",()=>`Expected top.kind to be 'class-element' but got '${d?.kind}' instead.`),d={kind:\"name\",next:d},A()}function K(){x.assert(d?.kind===\"name\",\"Incorrect value for top.kind.\",()=>`Expected top.kind to be 'name' but got '${d?.kind}' instead.`),d=d.next,A()}function F(){d?.kind===\"other\"?(x.assert(!v),d.depth++):(d={kind:\"other\",next:d,depth:0,savedPendingExpressions:v},v=void 0,A())}function oe(){x.assert(d?.kind===\"other\",\"Incorrect value for top.kind.\",()=>`Expected top.kind to be 'other' but got '${d?.kind}' instead.`),d.depth>0?(x.assert(!v),d.depth--):(v=d.savedPendingExpressions,d=d.next,A())}function W(M){return!!(M.transformFlags&33554432)||!!h&&!!(M.transformFlags&16384)||!!h&&!!m&&!!(M.transformFlags&134217728)}function $(M){if(!W(M))return M;switch(M.kind){case 170:return x.fail(\"Use `modifierVisitor` instead.\");case 263:return Ae(M);case 231:return Oe(M);case 176:case 172:case 175:return x.fail(\"Not supported outside of a class. Use 'classElementVisitor' instead.\");case 169:return On(M);case 226:return Ki(M,!1);case 303:return Jt(M);case 260:return Ue(M);case 208:return Rt(M);case 277:return ke(M);case 110:return Ge(M);case 248:return Wt(M);case 244:return ei(M);case 361:return io(M,!1);case 217:return nt(M,!1);case 360:return tt(M,!1);case 213:return ot(M);case 215:return Vt(M);case 224:case 225:return gi(M,!1);case 211:return jt(M);case 212:return gn(M);case 167:return cr(M);case 174:case 178:case 177:case 218:case 262:{F();let te=un(M,de,e);return oe(),te}default:return un(M,de,e)}}function de(M){switch(M.kind){case 170:return;default:return $(M)}}function fe(M){switch(M.kind){case 170:return;default:return M}}function q(M){switch(M.kind){case 176:return Te(M);case 174:return he(M);case 177:return Le(M);case 178:return Ke(M);case 172:return st(M);case 175:return Dt(M);default:return $(M)}}function H(M){switch(M.kind){case 224:case 225:return gi(M,!0);case 226:return Ki(M,!0);case 361:return io(M,!0);case 217:return nt(M,!0);default:return $(M)}}function ee(M){let te=M.name&&Me(M.name)&&!ws(M.name)?ar(M.name):M.name&&Ci(M.name)&&!ws(M.name)?ar(M.name).slice(1):M.name&&da(M.name)&&Tp(M.name.text,99)?M.name.text:Kr(M)?\"class\":\"member\";return Yv(M)&&(te=`get_${te}`),$g(M)&&(te=`set_${te}`),M.name&&Ci(M.name)&&(te=`private_${te}`),zo(M)&&(te=`static_${te}`),\"_\"+te}function le(M,te){return t.createUniqueName(`${ee(M)}_${te}`,24)}function Ee(M,te){return t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(M,void 0,void 0,te)],1))}function ce(M){let te=t.createUniqueName(\"_metadata\",48),j,se,Pe=!1,Ie=!1,gt=!1,bt,Ot,dn;if(rx(!1,M)){let An=ct(M.members,Cn=>(kd(Cn)||su(Cn))&&jl(Cn));bt=t.createUniqueName(\"_classThis\",An?24:48)}for(let An of M.members){if(CA(An)&&_L(!1,An,M))if(jl(An)){if(!se){se=t.createUniqueName(\"_staticExtraInitializers\",48);let Cn=r().createRunInitializersHelper(bt??t.createThis(),se);ca(Cn,M.name??rg(M)),Ot??(Ot=[]),Ot.push(Cn)}}else{if(!j){j=t.createUniqueName(\"_instanceExtraInitializers\",48);let Cn=r().createRunInitializersHelper(t.createThis(),j);ca(Cn,M.name??rg(M)),dn??(dn=[]),dn.push(Cn)}j??(j=t.createUniqueName(\"_instanceExtraInitializers\",48))}if(nl(An)?AI(An)||(Pe=!0):xo(An)&&(jl(An)?Pe||(Pe=!!An.initializer||Hp(An)):Ie||(Ie=!v9(An))),(kd(An)||su(An))&&jl(An)&&(gt=!0),se&&j&&Pe&&Ie&&gt)break}return{class:M,classThis:bt,metadataReference:te,instanceMethodExtraInitializersName:j,staticMethodExtraInitializersName:se,hasStaticInitializers:Pe,hasNonAmbientInstanceFields:Ie,hasStaticPrivateClassElements:gt,pendingStaticInitializers:Ot,pendingInstanceInitializers:dn}}function Z(M){i(),!nH(M)&&Qg(!1,M)&&(M=E4(e,M,t.createStringLiteral(\"\")));let te=t.getLocalName(M,!1,!1,!0),j=ce(M),se=[],Pe,Ie,gt,bt,Ot=!1,dn=et($U(M));dn&&(j.classDecoratorsName=t.createUniqueName(\"_classDecorators\",48),j.classDescriptorName=t.createUniqueName(\"_classDescriptor\",48),j.classExtraInitializersName=t.createUniqueName(\"_classExtraInitializers\",48),x.assertIsDefined(j.classThis),se.push(Ee(j.classDecoratorsName,t.createArrayLiteralExpression(dn)),Ee(j.classDescriptorName),Ee(j.classExtraInitializersName,t.createArrayLiteralExpression()),Ee(j.classThis)),j.hasStaticPrivateClassElements&&(Ot=!0,E=!0));let An=OL(M.heritageClauses,96),Cn=An&&Ac(An.types),ti=Cn&&He(Cn.expression,$,lt);if(ti){j.classSuper=t.createUniqueName(\"_classSuper\",48);let Mr=Rl(ti),lo=Dc(Mr)&&!Mr.name||ps(Mr)&&!Mr.name||gs(Mr)?t.createComma(t.createNumericLiteral(0),ti):ti;se.push(Ee(j.classSuper,lo));let _n=t.updateExpressionWithTypeArguments(Cn,j.classSuper,void 0),ms=t.updateHeritageClause(An,[_n]);bt=t.createNodeArray([ms])}let di=j.classThis??t.createThis();C(j),Pe=pn(Pe,V(j.metadataReference,j.classSuper));let jn=M.members;if(jn=Dn(jn,Mr=>ll(Mr)?Mr:q(Mr),xc),jn=Dn(jn,Mr=>ll(Mr)?q(Mr):Mr,xc),v){let Mr;for(let lo of v){lo=He(lo,function ms(Dl){if(!(Dl.transformFlags&16384))return Dl;switch(Dl.kind){case 110:return Mr||(Mr=t.createUniqueName(\"_outerThis\",16),se.unshift(Ee(Mr,t.createThis()))),Mr;default:return un(Dl,ms,e)}},lt);let _n=t.createExpressionStatement(lo);Pe=pn(Pe,_n)}v=void 0}if(R(),ct(j.pendingInstanceInitializers)&&!Ah(M)){let Mr=_e(M,j);if(Mr){let lo=Km(M),_n=!!(lo&&Rl(lo.expression).kind!==106),ms=[];if(_n){let _o=t.createSpreadElement(t.createIdentifier(\"arguments\")),Va=t.createCallExpression(t.createSuper(),void 0,[_o]);ms.push(t.createExpressionStatement(Va))}Pr(ms,Mr);let Dl=t.createBlock(ms,!0);gt=t.createConstructorDeclaration(void 0,[],Dl)}}if(j.staticMethodExtraInitializersName&&se.push(Ee(j.staticMethodExtraInitializersName,t.createArrayLiteralExpression())),j.instanceMethodExtraInitializersName&&se.push(Ee(j.instanceMethodExtraInitializersName,t.createArrayLiteralExpression())),j.memberInfos&&hc(j.memberInfos,(Mr,lo)=>{zo(lo)&&(se.push(Ee(Mr.memberDecoratorsName)),Mr.memberInitializersName&&se.push(Ee(Mr.memberInitializersName,t.createArrayLiteralExpression())),Mr.memberExtraInitializersName&&se.push(Ee(Mr.memberExtraInitializersName,t.createArrayLiteralExpression())),Mr.memberDescriptorName&&se.push(Ee(Mr.memberDescriptorName)))}),j.memberInfos&&hc(j.memberInfos,(Mr,lo)=>{zo(lo)||(se.push(Ee(Mr.memberDecoratorsName)),Mr.memberInitializersName&&se.push(Ee(Mr.memberInitializersName,t.createArrayLiteralExpression())),Mr.memberExtraInitializersName&&se.push(Ee(Mr.memberExtraInitializersName,t.createArrayLiteralExpression())),Mr.memberDescriptorName&&se.push(Ee(Mr.memberDescriptorName)))}),Pe=Pr(Pe,j.staticNonFieldDecorationStatements),Pe=Pr(Pe,j.nonStaticNonFieldDecorationStatements),Pe=Pr(Pe,j.staticFieldDecorationStatements),Pe=Pr(Pe,j.nonStaticFieldDecorationStatements),j.classDescriptorName&&j.classDecoratorsName&&j.classExtraInitializersName&&j.classThis){Pe??(Pe=[]);let Mr=t.createPropertyAssignment(\"value\",di),lo=t.createObjectLiteralExpression([Mr]),_n=t.createAssignment(j.classDescriptorName,lo),ms=t.createPropertyAccessExpression(di,\"name\"),Dl=r().createESDecorateHelper(t.createNull(),_n,j.classDecoratorsName,{kind:\"class\",name:ms,metadata:j.metadataReference},t.createNull(),j.classExtraInitializersName),_o=t.createExpressionStatement(Dl);ca(_o,rg(M)),Pe.push(_o);let Va=t.createPropertyAccessExpression(j.classDescriptorName,\"value\"),vs=t.createAssignment(j.classThis,Va),Js=t.createAssignment(te,vs);Pe.push(t.createExpressionStatement(Js))}if(Pe.push(Re(di,j.metadataReference)),ct(j.pendingStaticInitializers)){for(let Mr of j.pendingStaticInitializers){let lo=t.createExpressionStatement(Mr);ca(lo,ov(Mr)),Ie=pn(Ie,lo)}j.pendingStaticInitializers=void 0}if(j.classExtraInitializersName){let Mr=r().createRunInitializersHelper(di,j.classExtraInitializersName),lo=t.createExpressionStatement(Mr);ca(lo,M.name??rg(M)),Ie=pn(Ie,lo)}Pe&&Ie&&!j.hasStaticInitializers&&(Pr(Pe,Ie),Ie=void 0);let Ar=Pe&&t.createClassStaticBlockDeclaration(t.createBlock(Pe,!0));Ar&&Ot&&m2(Ar,32);let Zi=Ie&&t.createClassStaticBlockDeclaration(t.createBlock(Ie,!0));if(Ar||gt||Zi){let Mr=[],lo=jn.findIndex(AI);Ar?(Pr(Mr,jn,0,lo+1),Mr.push(Ar),Pr(Mr,jn,lo+1)):Pr(Mr,jn),gt&&Mr.push(gt),Zi&&Mr.push(Zi),jn=Ze(t.createNodeArray(Mr),jn)}let _i=o(),ui;if(dn){ui=t.createClassExpression(void 0,void 0,void 0,bt,jn),j.classThis&&(ui=Hoe(t,ui,j.classThis));let Mr=t.createVariableDeclaration(te,void 0,void 0,ui),lo=t.createVariableDeclarationList([Mr]),_n=j.classThis?t.createAssignment(te,j.classThis):te;se.push(t.createVariableStatement(void 0,lo),t.createReturnStatement(_n))}else ui=t.createClassExpression(void 0,M.name,void 0,bt,jn),se.push(t.createReturnStatement(ui));if(Ot){XA(ui,32);for(let Mr of ui.members)(kd(Mr)||su(Mr))&&jl(Mr)&&XA(Mr,32)}return mr(ui,M),t.createImmediatelyInvokedArrowFunction(t.mergeLexicalEnvironment(se,_i))}function pe(M){return Qg(!1,M)||hC(!1,M)}function Ae(M){if(pe(M)){let te=[],j=sl(M,Kr)??M,se=j.name?t.createStringLiteralFromNode(j.name):t.createStringLiteral(\"default\"),Pe=Wr(M,32),Ie=Wr(M,2048);if(M.name||(M=E4(e,M,se)),Pe&&Ie){let gt=Z(M);if(M.name){let bt=t.createVariableDeclaration(t.getLocalName(M),void 0,void 0,gt);mr(bt,M);let Ot=t.createVariableDeclarationList([bt],1),dn=t.createVariableStatement(void 0,Ot);te.push(dn);let An=t.createExportDefault(t.getDeclarationName(M));mr(An,M),Ol(An,t_(M)),ca(An,rg(M)),te.push(An)}else{let bt=t.createExportDefault(gt);mr(bt,M),Ol(bt,t_(M)),ca(bt,rg(M)),te.push(bt)}}else{x.assertIsDefined(M.name,\"A class declaration that is not a default export must have a name.\");let gt=Z(M),bt=Pe?di=>nI(di)?void 0:fe(di):fe,Ot=Dn(M.modifiers,bt,ia),dn=t.getLocalName(M,!1,!0),An=t.createVariableDeclaration(dn,void 0,void 0,gt);mr(An,M);let Cn=t.createVariableDeclarationList([An],1),ti=t.createVariableStatement(Ot,Cn);if(mr(ti,M),Ol(ti,t_(M)),te.push(ti),Pe){let di=t.createExternalModuleExport(dn);mr(di,M),te.push(di)}}return D_(te)}else{let te=Dn(M.modifiers,fe,ia),j=Dn(M.heritageClauses,$,xp);C(void 0);let se=Dn(M.members,q,xc);return R(),t.updateClassDeclaration(M,te,M.name,void 0,j,se)}}function Oe(M){if(pe(M)){let te=Z(M);return mr(te,M),te}else{let te=Dn(M.modifiers,fe,ia),j=Dn(M.heritageClauses,$,xp);C(void 0);let se=Dn(M.members,q,xc);return R(),t.updateClassExpression(M,te,M.name,void 0,j,se)}}function _e(M,te){if(ct(te.pendingInstanceInitializers)){let j=[];return j.push(t.createExpressionStatement(t.inlineExpressions(te.pendingInstanceInitializers))),te.pendingInstanceInitializers=void 0,j}}function be(M,te,j,se,Pe,Ie){let gt=se[Pe],bt=te[gt];if(Pr(M,Dn(te,$,Di,j,gt-j)),JS(bt)){let Ot=[];be(Ot,bt.tryBlock.statements,0,se,Pe+1,Ie);let dn=t.createNodeArray(Ot);Ze(dn,bt.tryBlock.statements),M.push(t.updateTryStatement(bt,t.updateBlock(bt.tryBlock,Ot),He(bt.catchClause,$,u0),He(bt.finallyBlock,$,Do)))}else Pr(M,Dn(te,$,Di,gt,1)),Pr(M,Ie);Pr(M,Dn(te,$,Di,gt+1))}function Te(M){L(M);let te=Dn(M.modifiers,fe,ia),j=Dn(M.parameters,$,ao),se;if(M.body&&p){let Pe=_e(p.class,p);if(Pe){let Ie=[],gt=t.copyPrologue(M.body.statements,Ie,!1,$),bt=g4(M.body.statements,gt);bt.length>0?be(Ie,M.body.statements,gt,bt,0,Pe):(Pr(Ie,Pe),Pr(Ie,Dn(M.body.statements,$,Di))),se=t.createBlock(Ie,!0),mr(se,M.body),Ze(se,M.body)}}return se??(se=He(M.body,$,Do)),G(),t.updateConstructorDeclaration(M,te,j,se)}function De(M,te){return M!==te&&(Ol(M,te),ca(M,rg(te))),M}function ft(M,te,j){let se,Pe,Ie,gt,bt,Ot;if(!te){let Cn=Dn(M.modifiers,fe,ia);return U(),Pe=Nr(M.name),K(),{modifiers:Cn,referencedName:se,name:Pe,initializersName:Ie,descriptorName:Ot,thisArg:bt}}let dn=et(y4(M,te.class,!1)),An=Dn(M.modifiers,fe,ia);if(dn){let Cn=le(M,\"decorators\"),ti=t.createArrayLiteralExpression(dn),di=t.createAssignment(Cn,ti),jn={memberDecoratorsName:Cn};te.memberInfos??(te.memberInfos=new Map),te.memberInfos.set(M,jn),v??(v=[]),v.push(di);let Ar=CA(M)||su(M)?zo(M)?te.staticNonFieldDecorationStatements??(te.staticNonFieldDecorationStatements=[]):te.nonStaticNonFieldDecorationStatements??(te.nonStaticNonFieldDecorationStatements=[]):xo(M)&&!su(M)?zo(M)?te.staticFieldDecorationStatements??(te.staticFieldDecorationStatements=[]):te.nonStaticFieldDecorationStatements??(te.nonStaticFieldDecorationStatements=[]):x.fail(),Zi=Ip(M)?\"getter\":Vu(M)?\"setter\":El(M)?\"method\":su(M)?\"accessor\":xo(M)?\"field\":x.fail(),_i;if(Me(M.name)||Ci(M.name))_i={computed:!1,name:M.name};else if(Xm(M.name))_i={computed:!0,name:t.createStringLiteralFromNode(M.name)};else{let Mr=M.name.expression;Xm(Mr)&&!Me(Mr)?_i={computed:!0,name:t.createStringLiteralFromNode(Mr)}:(U(),{referencedName:se,name:Pe}=Gn(M.name),_i={computed:!0,name:se},K())}let ui={kind:Zi,name:_i,static:zo(M),private:Ci(M.name),access:{get:xo(M)||Ip(M)||El(M),set:xo(M)||Vu(M)},metadata:te.metadataReference};if(CA(M)){let Mr=zo(M)?te.staticMethodExtraInitializersName:te.instanceMethodExtraInitializersName;x.assertIsDefined(Mr);let lo;kd(M)&&j&&(lo=j(M,Dn(An,Dl=>Vr(Dl,aN),ia)),jn.memberDescriptorName=Ot=le(M,\"descriptor\"),lo=t.createAssignment(Ot,lo));let _n=r().createESDecorateHelper(t.createThis(),lo??t.createNull(),Cn,ui,t.createNull(),Mr),ms=t.createExpressionStatement(_n);ca(ms,rg(M)),Ar.push(ms)}else if(xo(M)){Ie=jn.memberInitializersName??(jn.memberInitializersName=le(M,\"initializers\")),gt=jn.memberExtraInitializersName??(jn.memberExtraInitializersName=le(M,\"extraInitializers\")),zo(M)&&(bt=te.classThis);let Mr;kd(M)&&$m(M)&&j&&(Mr=j(M,void 0),jn.memberDescriptorName=Ot=le(M,\"descriptor\"),Mr=t.createAssignment(Ot,Mr));let lo=r().createESDecorateHelper(su(M)?t.createThis():t.createNull(),Mr??t.createNull(),Cn,ui,Ie,gt),_n=t.createExpressionStatement(lo);ca(_n,rg(M)),Ar.push(_n)}}return Pe===void 0&&(U(),Pe=Nr(M.name),K()),!ct(An)&&(El(M)||xo(M))&&$n(Pe,1024),{modifiers:An,referencedName:se,name:Pe,initializersName:Ie,extraInitializersName:gt,descriptorName:Ot,thisArg:bt}}function he(M){L(M);let{modifiers:te,name:j,descriptorName:se}=ft(M,p,_t);if(se)return G(),De(on(te,j,se),M);{let Pe=Dn(M.parameters,$,ao),Ie=He(M.body,$,Do);return G(),De(t.updateMethodDeclaration(M,te,M.asteriskToken,j,void 0,void 0,Pe,void 0,Ie),M)}}function Le(M){L(M);let{modifiers:te,name:j,descriptorName:se}=ft(M,p,ze);if(se)return G(),De(Qt(te,j,se),M);{let Pe=Dn(M.parameters,$,ao),Ie=He(M.body,$,Do);return G(),De(t.updateGetAccessorDeclaration(M,te,j,Pe,void 0,Ie),M)}}function Ke(M){L(M);let{modifiers:te,name:j,descriptorName:se}=ft(M,p,it);if(se)return G(),De(Zt(te,j,se),M);{let Pe=Dn(M.parameters,$,ao),Ie=He(M.body,$,Do);return G(),De(t.updateSetAccessorDeclaration(M,te,j,Pe,Ie),M)}}function Dt(M){L(M);let te;if(AI(M))te=un(M,$,e);else if(kN(M)){let j=h;h=void 0,te=un(M,$,e),h=j}else if(M=un(M,$,e),te=M,p&&(p.hasStaticInitializers=!0,ct(p.pendingStaticInitializers))){let j=[];for(let Ie of p.pendingStaticInitializers){let gt=t.createExpressionStatement(Ie);ca(gt,ov(Ie)),j.push(gt)}let se=t.createBlock(j,!0);te=[t.createClassStaticBlockDeclaration(se),te],p.pendingStaticInitializers=void 0}return G(),te}function st(M){Fu(M,en)&&(M=Uu(e,M,zt(M.initializer))),L(M),x.assert(!v9(M),\"Not yet implemented.\");let{modifiers:te,name:j,initializersName:se,extraInitializersName:Pe,descriptorName:Ie,thisArg:gt}=ft(M,p,$m(M)?Ct:void 0);i();let bt=He(M.initializer,$,lt);se&&(bt=r().createRunInitializersHelper(gt??t.createThis(),se,bt??t.createVoidZero())),zo(M)&&p&&bt&&(p.hasStaticInitializers=!0);let Ot=o();if(ct(Ot)&&(bt=t.createImmediatelyInvokedArrowFunction([...Ot,t.createReturnStatement(bt)])),p&&(zo(M)?(bt=Ce(p,!0,bt),Pe&&(p.pendingStaticInitializers??(p.pendingStaticInitializers=[]),p.pendingStaticInitializers.push(r().createRunInitializersHelper(p.classThis??t.createThis(),Pe)))):(bt=Ce(p,!1,bt),Pe&&(p.pendingInstanceInitializers??(p.pendingInstanceInitializers=[]),p.pendingInstanceInitializers.push(r().createRunInitializersHelper(t.createThis(),Pe))))),G(),$m(M)&&Ie){let dn=t_(M),An=ov(M),Cn=M.name,ti=Cn,di=Cn;if(Pa(Cn)&&!o_(Cn.expression)){let ui=L6(Cn);if(ui)ti=t.updateComputedPropertyName(Cn,He(Cn.expression,$,lt)),di=t.updateComputedPropertyName(Cn,ui.left);else{let Mr=t.createTempVariable(s);ca(Mr,Cn.expression);let lo=He(Cn.expression,$,lt),_n=t.createAssignment(Mr,lo);ca(_n,Cn.expression),ti=t.updateComputedPropertyName(Cn,_n),di=t.updateComputedPropertyName(Cn,Mr)}}let jn=Dn(te,ui=>ui.kind!==129?ui:void 0,ia),Ar=Hj(t,M,jn,bt);mr(Ar,M),$n(Ar,3072),ca(Ar,An),ca(Ar.name,M.name);let Zi=Qt(jn,ti,Ie);mr(Zi,M),Ol(Zi,dn),ca(Zi,An);let _i=Zt(jn,di,Ie);return mr(_i,M),$n(_i,3072),ca(_i,An),[Ar,Zi,_i]}return De(t.updatePropertyDeclaration(M,te,j,void 0,void 0,bt),M)}function Ge(M){return h??M}function ot(M){if(cu(M.expression)&&h){let te=He(M.expression,$,lt),j=Dn(M.arguments,$,lt),se=t.createFunctionCallCall(te,h,j);return mr(se,M),Ze(se,M),se}return un(M,$,e)}function Vt(M){if(cu(M.tag)&&h){let te=He(M.tag,$,lt),j=t.createFunctionBindCall(te,h,[]);mr(j,M),Ze(j,M);let se=He(M.template,$,NA);return t.updateTaggedTemplateExpression(M,j,void 0,se)}return un(M,$,e)}function jt(M){if(cu(M)&&Me(M.name)&&h&&m){let te=t.createStringLiteralFromNode(M.name),j=t.createReflectGetCall(m,te,h);return mr(j,M.expression),Ze(j,M.expression),j}return un(M,$,e)}function gn(M){if(cu(M)&&h&&m){let te=He(M.argumentExpression,$,lt),j=t.createReflectGetCall(m,te,h);return mr(j,M.expression),Ze(j,M.expression),j}return un(M,$,e)}function On(M){Fu(M,en)&&(M=Uu(e,M,zt(M.initializer)));let te=t.updateParameterDeclaration(M,void 0,M.dotDotDotToken,He(M.name,$,yS),void 0,void 0,He(M.initializer,$,lt));return te!==M&&(Ol(te,M),Ze(te,Zm(M)),ca(te,Zm(M)),$n(te.name,64)),te}function en(M){return Dc(M)&&!M.name&&pe(M)}function zt(M){let te=Rl(M);return Dc(te)&&!te.name&&!Qg(!1,te)}function Wt(M){return t.updateForStatement(M,He(M.initializer,H,Up),He(M.condition,$,lt),He(M.incrementor,H,lt),Qd(M.statement,$,e))}function ei(M){return un(M,H,e)}function Ki(M,te){if(nv(M)){let j=Tn(M.left),se=He(M.right,$,lt);return t.updateBinaryExpression(M,j,M.operatorToken,se)}if(lc(M)){if(Fu(M,en))return M=Uu(e,M,zt(M.right)),un(M,$,e);if(cu(M.left)&&h&&m){let j=Rs(M.left)?He(M.left.argumentExpression,$,lt):Me(M.left.name)?t.createStringLiteralFromNode(M.left.name):void 0;if(j){let se=He(M.right,$,lt);if(PN(M.operatorToken.kind)){let Ie=j;o_(j)||(Ie=t.createTempVariable(s),j=t.createAssignment(Ie,j));let gt=t.createReflectGetCall(m,Ie,h);mr(gt,M.left),Ze(gt,M.left),se=t.createBinaryExpression(gt,MN(M.operatorToken.kind),se),Ze(se,M)}let Pe=te?void 0:t.createTempVariable(s);return Pe&&(se=t.createAssignment(Pe,se),Ze(Pe,M)),se=t.createReflectSetCall(m,j,se,h),mr(se,M),Ze(se,M),Pe&&(se=t.createComma(se,Pe),Ze(se,M)),se}}}if(M.operatorToken.kind===28){let j=He(M.left,H,lt),se=He(M.right,te?H:$,lt);return t.updateBinaryExpression(M,j,M.operatorToken,se)}return un(M,$,e)}function gi(M,te){if(M.operator===46||M.operator===47){let j=Ka(M.operand);if(cu(j)&&h&&m){let se=Rs(j)?He(j.argumentExpression,$,lt):Me(j.name)?t.createStringLiteralFromNode(j.name):void 0;if(se){let Pe=se;o_(se)||(Pe=t.createTempVariable(s),se=t.createAssignment(Pe,se));let Ie=t.createReflectGetCall(m,Pe,h);mr(Ie,M),Ze(Ie,M);let gt=te?void 0:t.createTempVariable(s);return Ie=x6(t,M,Ie,s,gt),Ie=t.createReflectSetCall(m,se,Ie,h),mr(Ie,M),Ze(Ie,M),gt&&(Ie=t.createComma(Ie,gt),Ze(Ie,M)),Ie}}}return un(M,$,e)}function io(M,te){let j=te?dk(M.elements,H):dk(M.elements,$,H);return t.updateCommaListExpression(M,j)}function Gn(M){if(Xm(M)||Ci(M)){let Ie=t.createStringLiteralFromNode(M),gt=He(M,$,kl);return{referencedName:Ie,name:gt}}if(Xm(M.expression)&&!Me(M.expression)){let Ie=t.createStringLiteralFromNode(M.expression),gt=He(M,$,kl);return{referencedName:Ie,name:gt}}let te=t.getGeneratedNameForNode(M);s(te);let j=r().createPropKeyHelper(He(M.expression,$,lt)),se=t.createAssignment(te,j),Pe=t.updateComputedPropertyName(M,re(se));return{referencedName:te,name:Pe}}function Nr(M){return Pa(M)?cr(M):He(M,$,kl)}function cr(M){let te=He(M.expression,$,lt);return o_(te)||(te=re(te)),t.updateComputedPropertyName(M,te)}function Jt(M){return Fu(M,en)&&(M=Uu(e,M,zt(M.initializer))),un(M,$,e)}function Ue(M){return Fu(M,en)&&(M=Uu(e,M,zt(M.initializer))),un(M,$,e)}function Rt(M){return Fu(M,en)&&(M=Uu(e,M,zt(M.initializer))),un(M,$,e)}function mn(M){if(ma(M)||Bd(M))return Tn(M);if(cu(M)&&h&&m){let te=Rs(M)?He(M.argumentExpression,$,lt):Me(M.name)?t.createStringLiteralFromNode(M.name):void 0;if(te){let j=t.createTempVariable(void 0),se=t.createAssignmentTargetWrapper(j,t.createReflectSetCall(m,te,j,h));return mr(se,M),Ze(se,M),se}}return un(M,$,e)}function qr(M){if(lc(M,!0)){Fu(M,en)&&(M=Uu(e,M,zt(M.right)));let te=mn(M.left),j=He(M.right,$,lt);return t.updateBinaryExpression(M,te,M.operatorToken,j)}else return mn(M)}function ni(M){if(Tu(M.expression)){let te=mn(M.expression);return t.updateSpreadElement(M,te)}return un(M,$,e)}function ki(M){return x.assertNode(M,XM),bm(M)?ni(M):vc(M)?un(M,$,e):qr(M)}function so(M){let te=He(M.name,$,kl);if(lc(M.initializer,!0)){let j=qr(M.initializer);return t.updatePropertyAssignment(M,te,j)}if(Tu(M.initializer)){let j=mn(M.initializer);return t.updatePropertyAssignment(M,te,j)}return un(M,$,e)}function Jo(M){return Fu(M,en)&&(M=Uu(e,M,zt(M.objectAssignmentInitializer))),un(M,$,e)}function Ea(M){if(Tu(M.expression)){let te=mn(M.expression);return t.updateSpreadAssignment(M,te)}return un(M,$,e)}function ln(M){return x.assertNode(M,KM),lv(M)?Ea(M):xu(M)?Jo(M):Hl(M)?so(M):un(M,$,e)}function Tn(M){if(Bd(M)){let te=Dn(M.elements,ki,lt);return t.updateArrayLiteralExpression(M,te)}else{let te=Dn(M.properties,ln,Zh);return t.updateObjectLiteralExpression(M,te)}}function ke(M){return Fu(M,en)&&(M=Uu(e,M,zt(M.expression))),un(M,$,e)}function nt(M,te){let j=te?H:$,se=He(M.expression,j,lt);return t.updateParenthesizedExpression(M,se)}function tt(M,te){let j=te?H:$,se=He(M.expression,j,lt);return t.updatePartiallyEmittedExpression(M,se)}function yt(M,te){return ct(M)&&(te?uu(te)?(M.push(te.expression),te=t.updateParenthesizedExpression(te,t.inlineExpressions(M))):(M.push(te),te=t.inlineExpressions(M)):te=t.inlineExpressions(M)),te}function re(M){let te=yt(v,M);return x.assertIsDefined(te),te!==M&&(v=void 0),te}function Ce(M,te,j){let se=yt(te?M.pendingStaticInitializers:M.pendingInstanceInitializers,j);return se!==j&&(te?M.pendingStaticInitializers=void 0:M.pendingInstanceInitializers=void 0),se}function et(M){if(!M)return;let te=[];return Pr(te,nn(M.decorators,z)),te}function z(M){let te=He(M.expression,$,lt);$n(te,3072);let j=Rl(te);if(us(j)){let{target:se,thisArg:Pe}=t.createCallBinding(te,s,l,!0);return t.restoreOuterExpressions(te,t.createFunctionBindCall(se,Pe,[]))}return te}function Je(M,te,j,se,Pe,Ie,gt){let bt=t.createFunctionExpression(j,se,void 0,void 0,Ie,void 0,gt??t.createBlock([]));mr(bt,M),ca(bt,rg(M)),$n(bt,3072);let Ot=Pe===\"get\"||Pe===\"set\"?Pe:void 0,dn=t.createStringLiteralFromNode(te,void 0),An=r().createSetFunctionNameHelper(bt,dn,Ot),Cn=t.createPropertyAssignment(t.createIdentifier(Pe),An);return mr(Cn,M),ca(Cn,rg(M)),$n(Cn,3072),Cn}function _t(M,te){return t.createObjectLiteralExpression([Je(M,M.name,te,M.asteriskToken,\"value\",Dn(M.parameters,$,ao),He(M.body,$,Do))])}function ze(M,te){return t.createObjectLiteralExpression([Je(M,M.name,te,void 0,\"get\",[],He(M.body,$,Do))])}function it(M,te){return t.createObjectLiteralExpression([Je(M,M.name,te,void 0,\"set\",Dn(M.parameters,$,ao),He(M.body,$,Do))])}function Ct(M,te){return t.createObjectLiteralExpression([Je(M,M.name,te,void 0,\"get\",[],t.createBlock([t.createReturnStatement(t.createPropertyAccessExpression(t.createThis(),t.getGeneratedPrivateNameForNode(M.name)))])),Je(M,M.name,te,void 0,\"set\",[t.createParameterDeclaration(void 0,void 0,\"value\")],t.createBlock([t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(t.createThis(),t.getGeneratedPrivateNameForNode(M.name)),t.createIdentifier(\"value\")))]))])}function on(M,te,j){return M=Dn(M,se=>rI(se)?se:void 0,ia),t.createGetAccessorDeclaration(M,te,[],void 0,t.createBlock([t.createReturnStatement(t.createPropertyAccessExpression(j,t.createIdentifier(\"value\")))]))}function Qt(M,te,j){return M=Dn(M,se=>rI(se)?se:void 0,ia),t.createGetAccessorDeclaration(M,te,[],void 0,t.createBlock([t.createReturnStatement(t.createFunctionCallCall(t.createPropertyAccessExpression(j,t.createIdentifier(\"get\")),t.createThis(),[]))]))}function Zt(M,te,j){return M=Dn(M,se=>rI(se)?se:void 0,ia),t.createSetAccessorDeclaration(M,te,[t.createParameterDeclaration(void 0,void 0,\"value\")],t.createBlock([t.createReturnStatement(t.createFunctionCallCall(t.createPropertyAccessExpression(j,t.createIdentifier(\"set\")),t.createThis(),[t.createIdentifier(\"value\")]))]))}function V(M,te){let j=t.createVariableDeclaration(M,void 0,void 0,t.createConditionalExpression(t.createLogicalAnd(t.createTypeCheck(t.createIdentifier(\"Symbol\"),\"function\"),t.createPropertyAccessExpression(t.createIdentifier(\"Symbol\"),\"metadata\")),t.createToken(58),t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier(\"Object\"),\"create\"),void 0,[te?St(te):t.createNull()]),t.createToken(59),t.createVoidZero()));return t.createVariableStatement(void 0,t.createVariableDeclarationList([j],2))}function Re(M,te){let j=t.createObjectDefinePropertyCall(M,t.createPropertyAccessExpression(t.createIdentifier(\"Symbol\"),\"metadata\"),t.createPropertyDescriptor({configurable:!0,writable:!0,enumerable:!0,value:te},!0));return $n(t.createIfStatement(te,t.createExpressionStatement(j)),1)}function St(M){return t.createBinaryExpression(t.createElementAccessExpression(M,t.createPropertyAccessExpression(t.createIdentifier(\"Symbol\"),\"metadata\")),61,t.createNull())}}var zze=pt({\"src/compiler/transformers/esDecorators.ts\"(){\"use strict\";wo()}});function eae(e){let{factory:t,getEmitHelperFactory:r,resumeLexicalEnvironment:i,endLexicalEnvironment:o,hoistVariableDeclaration:s}=e,l=e.getEmitResolver(),d=e.getCompilerOptions(),p=Wa(d),h,m=0,v,E,S,A,C=[],R=0,L=e.onEmitNode,G=e.onSubstituteNode;return e.onEmitNode=ei,e.onSubstituteNode=Ki,$f(e,U);function U(Ue){if(Ue.isDeclarationFile)return Ue;K(1,!1),K(2,!g9(Ue,d));let Rt=un(Ue,q,e);return ag(Rt,e.readEmitHelpers()),Rt}function K(Ue,Rt){R=Rt?R|Ue:R&~Ue}function F(Ue){return(R&Ue)!==0}function oe(){return!F(1)}function W(){return F(2)}function $(Ue,Rt,mn){let qr=Ue&~R;if(qr){K(qr,!0);let ni=Rt(mn);return K(qr,!1),ni}return Rt(mn)}function de(Ue){return un(Ue,q,e)}function fe(Ue){switch(Ue.kind){case 218:case 262:case 174:case 177:case 178:case 176:return Ue;case 169:case 208:case 260:break;case 80:if(A&&l.isArgumentsLocalBinding(Ue))return A;break}return un(Ue,fe,e)}function q(Ue){if(!(Ue.transformFlags&256))return A?fe(Ue):Ue;switch(Ue.kind){case 134:return;case 223:return pe(Ue);case 174:return $(3,Oe,Ue);case 262:return $(3,Te,Ue);case 218:return $(3,De,Ue);case 219:return $(1,ft,Ue);case 211:return E&&Er(Ue)&&Ue.expression.kind===108&&E.add(Ue.name.escapedText),un(Ue,q,e);case 212:return E&&Ue.expression.kind===108&&(S=!0),un(Ue,q,e);case 177:return $(3,_e,Ue);case 178:return $(3,be,Ue);case 176:return $(3,Ae,Ue);case 263:case 231:return $(3,de,Ue);default:return un(Ue,q,e)}}function H(Ue){if(ene(Ue))switch(Ue.kind){case 243:return le(Ue);case 248:return Z(Ue);case 249:return Ee(Ue);case 250:return ce(Ue);case 299:return ee(Ue);case 241:case 255:case 269:case 296:case 297:case 258:case 246:case 247:case 245:case 254:case 256:return un(Ue,H,e);default:return x.assertNever(Ue,\"Unhandled node.\")}return q(Ue)}function ee(Ue){let Rt=new Set;he(Ue.variableDeclaration,Rt);let mn;if(Rt.forEach((qr,ni)=>{v.has(ni)&&(mn||(mn=new Set(v)),mn.delete(ni))}),mn){let qr=v;v=mn;let ni=un(Ue,H,e);return v=qr,ni}else return un(Ue,H,e)}function le(Ue){if(Le(Ue.declarationList)){let Rt=Ke(Ue.declarationList,!1);return Rt?t.createExpressionStatement(Rt):void 0}return un(Ue,q,e)}function Ee(Ue){return t.updateForInStatement(Ue,Le(Ue.initializer)?Ke(Ue.initializer,!0):x.checkDefined(He(Ue.initializer,q,Up)),x.checkDefined(He(Ue.expression,q,lt)),Qd(Ue.statement,H,e))}function ce(Ue){return t.updateForOfStatement(Ue,He(Ue.awaitModifier,q,yj),Le(Ue.initializer)?Ke(Ue.initializer,!0):x.checkDefined(He(Ue.initializer,q,Up)),x.checkDefined(He(Ue.expression,q,lt)),Qd(Ue.statement,H,e))}function Z(Ue){let Rt=Ue.initializer;return t.updateForStatement(Ue,Le(Rt)?Ke(Rt,!1):He(Ue.initializer,q,Up),He(Ue.condition,q,lt),He(Ue.incrementor,q,lt),Qd(Ue.statement,H,e))}function pe(Ue){return oe()?un(Ue,q,e):mr(Ze(t.createYieldExpression(void 0,He(Ue.expression,q,lt)),Ue),Ue)}function Ae(Ue){let Rt=A;A=void 0;let mn=t.updateConstructorDeclaration(Ue,Dn(Ue.modifiers,q,ia),rl(Ue.parameters,q,e),Vt(Ue));return A=Rt,mn}function Oe(Ue){let Rt,mn=gc(Ue),qr=A;A=void 0;let ni=t.updateMethodDeclaration(Ue,Dn(Ue.modifiers,q,Ws),Ue.asteriskToken,Ue.name,void 0,void 0,Rt=mn&2?gn(Ue):rl(Ue.parameters,q,e),void 0,mn&2?On(Ue,Rt):Vt(Ue));return A=qr,ni}function _e(Ue){let Rt=A;A=void 0;let mn=t.updateGetAccessorDeclaration(Ue,Dn(Ue.modifiers,q,Ws),Ue.name,rl(Ue.parameters,q,e),void 0,Vt(Ue));return A=Rt,mn}function be(Ue){let Rt=A;A=void 0;let mn=t.updateSetAccessorDeclaration(Ue,Dn(Ue.modifiers,q,Ws),Ue.name,rl(Ue.parameters,q,e),Vt(Ue));return A=Rt,mn}function Te(Ue){let Rt,mn=A;A=void 0;let qr=gc(Ue),ni=t.updateFunctionDeclaration(Ue,Dn(Ue.modifiers,q,Ws),Ue.asteriskToken,Ue.name,void 0,Rt=qr&2?gn(Ue):rl(Ue.parameters,q,e),void 0,qr&2?On(Ue,Rt):Cp(Ue.body,q,e));return A=mn,ni}function De(Ue){let Rt,mn=A;A=void 0;let qr=gc(Ue),ni=t.updateFunctionExpression(Ue,Dn(Ue.modifiers,q,ia),Ue.asteriskToken,Ue.name,void 0,Rt=qr&2?gn(Ue):rl(Ue.parameters,q,e),void 0,qr&2?On(Ue,Rt):Cp(Ue.body,q,e));return A=mn,ni}function ft(Ue){let Rt,mn=gc(Ue);return t.updateArrowFunction(Ue,Dn(Ue.modifiers,q,ia),void 0,Rt=mn&2?gn(Ue):rl(Ue.parameters,q,e),void 0,Ue.equalsGreaterThanToken,mn&2?On(Ue,Rt):Cp(Ue.body,q,e))}function he({name:Ue},Rt){if(Me(Ue))Rt.add(Ue.escapedText);else for(let mn of Ue.elements)vc(mn)||he(mn,Rt)}function Le(Ue){return!!Ue&&yc(Ue)&&!(Ue.flags&7)&&Ue.declarations.some(ot)}function Ke(Ue,Rt){Dt(Ue);let mn=wC(Ue);return mn.length===0?Rt?He(t.converters.convertToAssignmentElementTarget(Ue.declarations[0].name),q,lt):void 0:t.inlineExpressions(nn(mn,Ge))}function Dt(Ue){an(Ue.declarations,st)}function st({name:Ue}){if(Me(Ue))s(Ue);else for(let Rt of Ue.elements)vc(Rt)||st(Rt)}function Ge(Ue){let Rt=ca(t.createAssignment(t.converters.convertToAssignmentElementTarget(Ue.name),Ue.initializer),Ue);return x.checkDefined(He(Rt,q,lt))}function ot({name:Ue}){if(Me(Ue))return v.has(Ue.escapedText);for(let Rt of Ue.elements)if(!vc(Rt)&&ot(Rt))return!0;return!1}function Vt(Ue){x.assertIsDefined(Ue.body);let Rt=E,mn=S;E=new Set,S=!1;let qr=Cp(Ue.body,q,e),ni=sl(Ue,hs);if(p>=2&&l.getNodeCheckFlags(Ue)&384&&(gc(ni)&3)!==3){if(Wt(),E.size){let so=S4(t,l,Ue,E);C[Fa(so)]=!0;let Jo=qr.statements.slice();vh(Jo,[so]),qr=t.updateBlock(qr,Jo)}S&&(l.getNodeCheckFlags(Ue)&256?$A(qr,y2):l.getNodeCheckFlags(Ue)&128&&$A(qr,v2))}return E=Rt,S=mn,qr}function jt(){x.assert(A);let Ue=t.createVariableDeclaration(A,void 0,void 0,t.createIdentifier(\"arguments\")),Rt=t.createVariableStatement(void 0,[Ue]);return Sd(Rt),e_(Rt,2097152),Rt}function gn(Ue){if(pk(Ue.parameters))return rl(Ue.parameters,q,e);let Rt=[];for(let qr of Ue.parameters){if(qr.initializer||qr.dotDotDotToken){if(Ue.kind===219){let ki=t.createParameterDeclaration(void 0,t.createToken(26),t.createUniqueName(\"args\",8));Rt.push(ki)}break}let ni=t.createParameterDeclaration(void 0,void 0,t.getGeneratedNameForNode(qr.name,8));Rt.push(ni)}let mn=t.createNodeArray(Rt);return Ze(mn,Ue.parameters),mn}function On(Ue,Rt){let mn=pk(Ue.parameters)?void 0:rl(Ue.parameters,q,e);i();let ni=sl(Ue,Lo).type,ki=p<2?zt(ni):void 0,so=Ue.kind===219,Jo=A,ln=(l.getNodeCheckFlags(Ue)&512)!==0&&!A;ln&&(A=t.createUniqueName(\"arguments\"));let Tn;if(mn)if(so){let et=[];x.assert(Rt.length<=Ue.parameters.length);for(let z=0;z<Ue.parameters.length;z++){x.assert(z<Rt.length);let Je=Ue.parameters[z],_t=Rt[z];if(x.assertNode(_t.name,Me),Je.initializer||Je.dotDotDotToken){x.assert(z===Rt.length-1),et.push(t.createSpreadElement(_t.name));break}et.push(_t.name)}Tn=t.createArrayLiteralExpression(et)}else Tn=t.createIdentifier(\"arguments\");let ke=v;v=new Set;for(let et of Ue.parameters)he(et,v);let nt=E,tt=S;so||(E=new Set,S=!1);let yt=W(),re=en(Ue.body);re=t.updateBlock(re,t.mergeLexicalEnvironment(re.statements,o()));let Ce;if(so){if(Ce=r().createAwaiterHelper(yt,Tn,ki,mn,re),ln){let et=t.converters.convertToFunctionBlock(Ce);Ce=t.updateBlock(et,t.mergeLexicalEnvironment(et.statements,[jt()]))}}else{let et=[];et.push(t.createReturnStatement(r().createAwaiterHelper(yt,Tn,ki,mn,re)));let z=p>=2&&l.getNodeCheckFlags(Ue)&384;if(z&&(Wt(),E.size)){let _t=S4(t,l,Ue,E);C[Fa(_t)]=!0,vh(et,[_t])}ln&&vh(et,[jt()]);let Je=t.createBlock(et,!0);Ze(Je,Ue.body),z&&S&&(l.getNodeCheckFlags(Ue)&256?$A(Je,y2):l.getNodeCheckFlags(Ue)&128&&$A(Je,v2)),Ce=Je}return v=ke,so||(E=nt,S=tt,A=Jo),Ce}function en(Ue,Rt){return Do(Ue)?t.updateBlock(Ue,Dn(Ue.statements,H,Di,Rt)):t.converters.convertToFunctionBlock(x.checkDefined(He(Ue,H,U8)))}function zt(Ue){let Rt=Ue&&mL(Ue);if(Rt&&Su(Rt)){let mn=l.getTypeReferenceSerializationKind(Rt);if(mn===1||mn===0)return Rt}}function Wt(){h&1||(h|=1,e.enableSubstitution(213),e.enableSubstitution(211),e.enableSubstitution(212),e.enableEmitNotification(263),e.enableEmitNotification(174),e.enableEmitNotification(177),e.enableEmitNotification(178),e.enableEmitNotification(176),e.enableEmitNotification(243))}function ei(Ue,Rt,mn){if(h&1&&cr(Rt)){let qr=l.getNodeCheckFlags(Rt)&384;if(qr!==m){let ni=m;m=qr,L(Ue,Rt,mn),m=ni;return}}else if(h&&C[Fa(Rt)]){let qr=m;m=0,L(Ue,Rt,mn),m=qr;return}L(Ue,Rt,mn)}function Ki(Ue,Rt){return Rt=G(Ue,Rt),Ue===1&&m?gi(Rt):Rt}function gi(Ue){switch(Ue.kind){case 211:return io(Ue);case 212:return Gn(Ue);case 213:return Nr(Ue)}return Ue}function io(Ue){return Ue.expression.kind===108?Ze(t.createPropertyAccessExpression(t.createUniqueName(\"_super\",48),Ue.name),Ue):Ue}function Gn(Ue){return Ue.expression.kind===108?Jt(Ue.argumentExpression,Ue):Ue}function Nr(Ue){let Rt=Ue.expression;if(cu(Rt)){let mn=Er(Rt)?io(Rt):Gn(Rt);return t.createCallExpression(t.createPropertyAccessExpression(mn,\"call\"),void 0,[t.createThis(),...Ue.arguments])}return Ue}function cr(Ue){let Rt=Ue.kind;return Rt===263||Rt===176||Rt===174||Rt===177||Rt===178}function Jt(Ue,Rt){return m&256?Ze(t.createPropertyAccessExpression(t.createCallExpression(t.createUniqueName(\"_superIndex\",48),void 0,[Ue]),\"value\"),Rt):Ze(t.createCallExpression(t.createUniqueName(\"_superIndex\",48),void 0,[Ue]),Rt)}}function S4(e,t,r,i){let o=(t.getNodeCheckFlags(r)&256)!==0,s=[];return i.forEach((l,d)=>{let p=Ii(d),h=[];h.push(e.createPropertyAssignment(\"get\",e.createArrowFunction(void 0,void 0,[],void 0,void 0,$n(e.createPropertyAccessExpression($n(e.createSuper(),8),p),8)))),o&&h.push(e.createPropertyAssignment(\"set\",e.createArrowFunction(void 0,void 0,[e.createParameterDeclaration(void 0,void 0,\"v\",void 0,void 0,void 0)],void 0,void 0,e.createAssignment($n(e.createPropertyAccessExpression($n(e.createSuper(),8),p),8),e.createIdentifier(\"v\"))))),s.push(e.createPropertyAssignment(p,e.createObjectLiteralExpression(h)))}),e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.createUniqueName(\"_super\",48),void 0,void 0,e.createCallExpression(e.createPropertyAccessExpression(e.createIdentifier(\"Object\"),\"create\"),void 0,[e.createNull(),e.createObjectLiteralExpression(s,!0)]))],2))}var Bze=pt({\"src/compiler/transformers/es2017.ts\"(){\"use strict\";wo()}});function tae(e){let{factory:t,getEmitHelperFactory:r,resumeLexicalEnvironment:i,endLexicalEnvironment:o,hoistVariableDeclaration:s}=e,l=e.getEmitResolver(),d=e.getCompilerOptions(),p=Wa(d),h=e.onEmitNode;e.onEmitNode=Jo;let m=e.onSubstituteNode;e.onSubstituteNode=Ea;let v=!1,E,S,A,C=0,R=0,L,G,U,K,F=[];return $f(e,fe);function oe(re,Ce){return R!==(R&~re|Ce)}function W(re,Ce){let et=R;return R=(R&~re|Ce)&3,et}function $(re){R=re}function de(re){G=pn(G,t.createVariableDeclaration(re))}function fe(re){if(re.isDeclarationFile)return re;L=re;let Ce=ft(re);return ag(Ce,e.readEmitHelpers()),L=void 0,G=void 0,Ce}function q(re){return ce(re,!1)}function H(re){return ce(re,!0)}function ee(re){if(re.kind!==134)return re}function le(re,Ce,et,z){if(oe(et,z)){let Je=W(et,z),_t=re(Ce);return $(Je),_t}return re(Ce)}function Ee(re){return un(re,q,e)}function ce(re,Ce){if(!(re.transformFlags&128))return re;switch(re.kind){case 223:return Z(re);case 229:return pe(re);case 253:return Ae(re);case 256:return Oe(re);case 210:return be(re);case 226:return Le(re,Ce);case 361:return Ke(re,Ce);case 299:return Dt(re);case 243:return st(re);case 260:return Ge(re);case 246:case 247:case 249:return le(Ee,re,0,2);case 250:return gn(re,void 0);case 248:return le(Vt,re,0,2);case 222:return jt(re);case 176:return le(io,re,2,1);case 174:return le(cr,re,2,1);case 177:return le(Gn,re,2,1);case 178:return le(Nr,re,2,1);case 262:return le(Jt,re,2,1);case 218:return le(Rt,re,2,1);case 219:return le(Ue,re,2,0);case 169:return Ki(re);case 244:return Te(re);case 217:return De(re,Ce);case 215:return he(re);case 211:return U&&Er(re)&&re.expression.kind===108&&U.add(re.name.escapedText),un(re,q,e);case 212:return U&&re.expression.kind===108&&(K=!0),un(re,q,e);case 263:case 231:return le(Ee,re,2,1);default:return un(re,q,e)}}function Z(re){return S&2&&S&1?mr(Ze(t.createYieldExpression(void 0,r().createAwaitHelper(He(re.expression,q,lt))),re),re):un(re,q,e)}function pe(re){if(S&2&&S&1){if(re.asteriskToken){let Ce=He(x.checkDefined(re.expression),q,lt);return mr(Ze(t.createYieldExpression(void 0,r().createAwaitHelper(t.updateYieldExpression(re,re.asteriskToken,Ze(r().createAsyncDelegatorHelper(Ze(r().createAsyncValuesHelper(Ce),Ce)),Ce)))),re),re)}return mr(Ze(t.createYieldExpression(void 0,zt(re.expression?He(re.expression,q,lt):t.createVoidZero())),re),re)}return un(re,q,e)}function Ae(re){return S&2&&S&1?t.updateReturnStatement(re,zt(re.expression?He(re.expression,q,lt):t.createVoidZero())):un(re,q,e)}function Oe(re){if(S&2){let Ce=R9(re);return Ce.kind===250&&Ce.awaitModifier?gn(Ce,re):t.restoreEnclosingLabel(He(Ce,q,Di,t.liftToBlock),re)}return un(re,q,e)}function _e(re){let Ce,et=[];for(let z of re)if(z.kind===305){Ce&&(et.push(t.createObjectLiteralExpression(Ce)),Ce=void 0);let Je=z.expression;et.push(He(Je,q,lt))}else Ce=pn(Ce,z.kind===303?t.createPropertyAssignment(z.name,He(z.initializer,q,lt)):He(z,q,Zh));return Ce&&et.push(t.createObjectLiteralExpression(Ce)),et}function be(re){if(re.transformFlags&65536){let Ce=_e(re.properties);Ce.length&&Ce[0].kind!==210&&Ce.unshift(t.createObjectLiteralExpression());let et=Ce[0];if(Ce.length>1){for(let z=1;z<Ce.length;z++)et=r().createAssignHelper([et,Ce[z]]);return et}else return r().createAssignHelper(Ce)}return un(re,q,e)}function Te(re){return un(re,H,e)}function De(re,Ce){return un(re,Ce?H:q,e)}function ft(re){let Ce=W(2,g9(re,d)?0:1);v=!1;let et=un(re,q,e),z=ro(et.statements,G&&[t.createVariableStatement(void 0,t.createVariableDeclarationList(G))]),Je=t.updateSourceFile(et,Ze(t.createNodeArray(z),re.statements));return $(Ce),Je}function he(re){return rH(e,re,q,L,de,0)}function Le(re,Ce){return nv(re)&&F2(re.left)?nT(re,q,e,1,!Ce):re.operatorToken.kind===28?t.updateBinaryExpression(re,He(re.left,H,lt),re.operatorToken,He(re.right,Ce?H:q,lt)):un(re,q,e)}function Ke(re,Ce){if(Ce)return un(re,H,e);let et;for(let Je=0;Je<re.elements.length;Je++){let _t=re.elements[Je],ze=He(_t,Je<re.elements.length-1?H:q,lt);(et||ze!==_t)&&(et||(et=re.elements.slice(0,Je)),et.push(ze))}let z=et?Ze(t.createNodeArray(et),re.elements):re.elements;return t.updateCommaListExpression(re,z)}function Dt(re){if(re.variableDeclaration&&ko(re.variableDeclaration.name)&&re.variableDeclaration.name.transformFlags&65536){let Ce=t.getGeneratedNameForNode(re.variableDeclaration.name),et=t.updateVariableDeclaration(re.variableDeclaration,re.variableDeclaration.name,void 0,void 0,Ce),z=v0(et,q,e,1),Je=He(re.block,q,Do);return ct(z)&&(Je=t.updateBlock(Je,[t.createVariableStatement(void 0,z),...Je.statements])),t.updateCatchClause(re,t.updateVariableDeclaration(re.variableDeclaration,Ce,void 0,void 0,void 0),Je)}return un(re,q,e)}function st(re){if(Wr(re,32)){let Ce=v;v=!0;let et=un(re,q,e);return v=Ce,et}return un(re,q,e)}function Ge(re){if(v){let Ce=v;v=!1;let et=ot(re,!0);return v=Ce,et}return ot(re,!1)}function ot(re,Ce){return ko(re.name)&&re.name.transformFlags&65536?v0(re,q,e,1,void 0,Ce):un(re,q,e)}function Vt(re){return t.updateForStatement(re,He(re.initializer,H,Up),He(re.condition,q,lt),He(re.incrementor,H,lt),Qd(re.statement,q,e))}function jt(re){return un(re,H,e)}function gn(re,Ce){let et=W(0,2);(re.initializer.transformFlags&65536||lC(re.initializer)&&F2(re.initializer))&&(re=On(re));let z=re.awaitModifier?Wt(re,Ce,et):t.restoreEnclosingLabel(un(re,q,e),Ce);return $(et),z}function On(re){let Ce=Ka(re.initializer);if(yc(Ce)||lC(Ce)){let et,z,Je=t.createTempVariable(void 0),_t=[wj(t,Ce,Je)];return Do(re.statement)?(Pr(_t,re.statement.statements),et=re.statement,z=re.statement.statements):re.statement&&(pn(_t,re.statement),et=re.statement,z=re.statement),t.updateForOfStatement(re,re.awaitModifier,Ze(t.createVariableDeclarationList([Ze(t.createVariableDeclaration(Je),re.initializer)],1),re.initializer),re.expression,Ze(t.createBlock(Ze(t.createNodeArray(_t),z),!0),et))}return re}function en(re,Ce,et){let z=t.createTempVariable(s),Je=t.createAssignment(z,Ce),_t=t.createExpressionStatement(Je);ca(_t,re.expression);let ze=t.createAssignment(et,t.createFalse()),it=t.createExpressionStatement(ze);ca(it,re.expression);let Ct=[_t,it],on=wj(t,re.initializer,z);Ct.push(He(on,q,Di));let Qt,Zt,V=Qd(re.statement,q,e);return Do(V)?(Pr(Ct,V.statements),Qt=V,Zt=V.statements):Ct.push(V),Ze(t.createBlock(Ze(t.createNodeArray(Ct),Zt),!0),Qt)}function zt(re){return S&1?t.createYieldExpression(void 0,r().createAwaitHelper(re)):t.createAwaitExpression(re)}function Wt(re,Ce,et){let z=He(re.expression,q,lt),Je=Me(z)?t.getGeneratedNameForNode(z):t.createTempVariable(void 0),_t=Me(z)?t.getGeneratedNameForNode(Je):t.createTempVariable(void 0),ze=t.createTempVariable(void 0),it=t.createTempVariable(s),Ct=t.createUniqueName(\"e\"),on=t.getGeneratedNameForNode(Ct),Qt=t.createTempVariable(void 0),Zt=Ze(r().createAsyncValuesHelper(z),re.expression),V=t.createCallExpression(t.createPropertyAccessExpression(Je,\"next\"),void 0,[]),Re=t.createPropertyAccessExpression(_t,\"done\"),St=t.createPropertyAccessExpression(_t,\"value\"),M=t.createFunctionCallCall(Qt,Je,[]);s(Ct),s(Qt);let te=et&2?t.inlineExpressions([t.createAssignment(Ct,t.createVoidZero()),Zt]):Zt,j=$n(Ze(t.createForStatement($n(Ze(t.createVariableDeclarationList([t.createVariableDeclaration(ze,void 0,void 0,t.createTrue()),Ze(t.createVariableDeclaration(Je,void 0,void 0,te),re.expression),t.createVariableDeclaration(_t)]),re.expression),4194304),t.inlineExpressions([t.createAssignment(_t,zt(V)),t.createAssignment(it,Re),t.createLogicalNot(it)]),t.createAssignment(ze,t.createTrue()),en(re,St,ze)),re),512);return mr(j,re),t.createTryStatement(t.createBlock([t.restoreEnclosingLabel(j,Ce)]),t.createCatchClause(t.createVariableDeclaration(on),$n(t.createBlock([t.createExpressionStatement(t.createAssignment(Ct,t.createObjectLiteralExpression([t.createPropertyAssignment(\"error\",on)])))]),1)),t.createBlock([t.createTryStatement(t.createBlock([$n(t.createIfStatement(t.createLogicalAnd(t.createLogicalAnd(t.createLogicalNot(ze),t.createLogicalNot(it)),t.createAssignment(Qt,t.createPropertyAccessExpression(Je,\"return\"))),t.createExpressionStatement(zt(M))),1)]),void 0,$n(t.createBlock([$n(t.createIfStatement(Ct,t.createThrowStatement(t.createPropertyAccessExpression(Ct,\"error\"))),1)]),1))]))}function ei(re){return x.assertNode(re,ao),Ki(re)}function Ki(re){return A?.has(re)?t.updateParameterDeclaration(re,void 0,re.dotDotDotToken,ko(re.name)?t.getGeneratedNameForNode(re):re.name,void 0,void 0,void 0):re.transformFlags&65536?t.updateParameterDeclaration(re,void 0,re.dotDotDotToken,t.getGeneratedNameForNode(re),void 0,void 0,He(re.initializer,q,lt)):un(re,q,e)}function gi(re){let Ce;for(let et of re.parameters)Ce?Ce.add(et):et.transformFlags&65536&&(Ce=new Set);return Ce}function io(re){let Ce=S,et=A;S=gc(re),A=gi(re);let z=t.updateConstructorDeclaration(re,re.modifiers,rl(re.parameters,ei,e),ni(re));return S=Ce,A=et,z}function Gn(re){let Ce=S,et=A;S=gc(re),A=gi(re);let z=t.updateGetAccessorDeclaration(re,re.modifiers,He(re.name,q,kl),rl(re.parameters,ei,e),void 0,ni(re));return S=Ce,A=et,z}function Nr(re){let Ce=S,et=A;S=gc(re),A=gi(re);let z=t.updateSetAccessorDeclaration(re,re.modifiers,He(re.name,q,kl),rl(re.parameters,ei,e),ni(re));return S=Ce,A=et,z}function cr(re){let Ce=S,et=A;S=gc(re),A=gi(re);let z=t.updateMethodDeclaration(re,S&1?Dn(re.modifiers,ee,Ws):re.modifiers,S&2?void 0:re.asteriskToken,He(re.name,q,kl),He(void 0,q,cy),void 0,S&2&&S&1?mn(re):rl(re.parameters,ei,e),void 0,S&2&&S&1?qr(re):ni(re));return S=Ce,A=et,z}function Jt(re){let Ce=S,et=A;S=gc(re),A=gi(re);let z=t.updateFunctionDeclaration(re,S&1?Dn(re.modifiers,ee,ia):re.modifiers,S&2?void 0:re.asteriskToken,re.name,void 0,S&2&&S&1?mn(re):rl(re.parameters,ei,e),void 0,S&2&&S&1?qr(re):ni(re));return S=Ce,A=et,z}function Ue(re){let Ce=S,et=A;S=gc(re),A=gi(re);let z=t.updateArrowFunction(re,re.modifiers,void 0,rl(re.parameters,ei,e),void 0,re.equalsGreaterThanToken,ni(re));return S=Ce,A=et,z}function Rt(re){let Ce=S,et=A;S=gc(re),A=gi(re);let z=t.updateFunctionExpression(re,S&1?Dn(re.modifiers,ee,ia):re.modifiers,S&2?void 0:re.asteriskToken,re.name,void 0,S&2&&S&1?mn(re):rl(re.parameters,ei,e),void 0,S&2&&S&1?qr(re):ni(re));return S=Ce,A=et,z}function mn(re){if(pk(re.parameters))return rl(re.parameters,q,e);let Ce=[];for(let z of re.parameters){if(z.initializer||z.dotDotDotToken)break;let Je=t.createParameterDeclaration(void 0,void 0,t.getGeneratedNameForNode(z.name,8));Ce.push(Je)}let et=t.createNodeArray(Ce);return Ze(et,re.parameters),et}function qr(re){let Ce=pk(re.parameters)?void 0:rl(re.parameters,q,e);i();let et=U,z=K;U=new Set,K=!1;let Je=[],_t=t.updateBlock(re.body,Dn(re.body.statements,q,Di));_t=t.updateBlock(_t,t.mergeLexicalEnvironment(_t.statements,ki(o(),re)));let ze=t.createReturnStatement(r().createAsyncGeneratorHelper(t.createFunctionExpression(void 0,t.createToken(42),re.name&&t.getGeneratedNameForNode(re.name),void 0,Ce??[],void 0,_t),!!(R&1))),it=p>=2&&l.getNodeCheckFlags(re)&384;if(it){so();let on=S4(t,l,re,U);F[Fa(on)]=!0,vh(Je,[on])}Je.push(ze);let Ct=t.updateBlock(re.body,Je);return it&&K&&(l.getNodeCheckFlags(re)&256?$A(Ct,y2):l.getNodeCheckFlags(re)&128&&$A(Ct,v2)),U=et,K=z,Ct}function ni(re){i();let Ce=0,et=[],z=He(re.body,q,U8)??t.createBlock([]);Do(z)&&(Ce=t.copyPrologue(z.statements,et,!1,q)),Pr(et,ki(void 0,re));let Je=o();if(Ce>0||ct(et)||ct(Je)){let _t=t.converters.convertToFunctionBlock(z,!0);return vh(et,Je),Pr(et,_t.statements.slice(Ce)),t.updateBlock(_t,Ze(t.createNodeArray(et),_t.statements))}return z}function ki(re,Ce){let et=!1;for(let z of Ce.parameters)if(et){if(ko(z.name)){if(z.name.elements.length>0){let Je=v0(z,q,e,0,t.getGeneratedNameForNode(z));if(ct(Je)){let _t=t.createVariableDeclarationList(Je),ze=t.createVariableStatement(void 0,_t);$n(ze,2097152),re=pn(re,ze)}}else if(z.initializer){let Je=t.getGeneratedNameForNode(z),_t=He(z.initializer,q,lt),ze=t.createAssignment(Je,_t),it=t.createExpressionStatement(ze);$n(it,2097152),re=pn(re,it)}}else if(z.initializer){let Je=t.cloneNode(z.name);Ze(Je,z.name),$n(Je,96);let _t=He(z.initializer,q,lt);e_(_t,3168);let ze=t.createAssignment(Je,_t);Ze(ze,z),$n(ze,3072);let it=t.createBlock([t.createExpressionStatement(ze)]);Ze(it,z),$n(it,3905);let Ct=t.createTypeCheck(t.cloneNode(z.name),\"undefined\"),on=t.createIfStatement(Ct,it);Sd(on),Ze(on,z),$n(on,2101056),re=pn(re,on)}}else if(z.transformFlags&65536){et=!0;let Je=v0(z,q,e,1,t.getGeneratedNameForNode(z),!1,!0);if(ct(Je)){let _t=t.createVariableDeclarationList(Je),ze=t.createVariableStatement(void 0,_t);$n(ze,2097152),re=pn(re,ze)}}return re}function so(){E&1||(E|=1,e.enableSubstitution(213),e.enableSubstitution(211),e.enableSubstitution(212),e.enableEmitNotification(263),e.enableEmitNotification(174),e.enableEmitNotification(177),e.enableEmitNotification(178),e.enableEmitNotification(176),e.enableEmitNotification(243))}function Jo(re,Ce,et){if(E&1&&tt(Ce)){let z=l.getNodeCheckFlags(Ce)&384;if(z!==C){let Je=C;C=z,h(re,Ce,et),C=Je;return}}else if(E&&F[Fa(Ce)]){let z=C;C=0,h(re,Ce,et),C=z;return}h(re,Ce,et)}function Ea(re,Ce){return Ce=m(re,Ce),re===1&&C?ln(Ce):Ce}function ln(re){switch(re.kind){case 211:return Tn(re);case 212:return ke(re);case 213:return nt(re)}return re}function Tn(re){return re.expression.kind===108?Ze(t.createPropertyAccessExpression(t.createUniqueName(\"_super\",48),re.name),re):re}function ke(re){return re.expression.kind===108?yt(re.argumentExpression,re):re}function nt(re){let Ce=re.expression;if(cu(Ce)){let et=Er(Ce)?Tn(Ce):ke(Ce);return t.createCallExpression(t.createPropertyAccessExpression(et,\"call\"),void 0,[t.createThis(),...re.arguments])}return re}function tt(re){let Ce=re.kind;return Ce===263||Ce===176||Ce===174||Ce===177||Ce===178}function yt(re,Ce){return C&256?Ze(t.createPropertyAccessExpression(t.createCallExpression(t.createIdentifier(\"_superIndex\"),void 0,[re]),\"value\"),Ce):Ze(t.createCallExpression(t.createIdentifier(\"_superIndex\"),void 0,[re]),Ce)}}var Gze=pt({\"src/compiler/transformers/es2018.ts\"(){\"use strict\";wo()}});function nae(e){let t=e.factory;return $f(e,r);function r(s){return s.isDeclarationFile?s:un(s,i,e)}function i(s){if(!(s.transformFlags&64))return s;switch(s.kind){case 299:return o(s);default:return un(s,i,e)}}function o(s){return s.variableDeclaration?un(s,i,e):t.updateCatchClause(s,t.createVariableDeclaration(t.createTempVariable(void 0)),He(s.block,i,Do))}}var Vze=pt({\"src/compiler/transformers/es2019.ts\"(){\"use strict\";wo()}});function rae(e){let{factory:t,hoistVariableDeclaration:r}=e;return $f(e,i);function i(A){return A.isDeclarationFile?A:un(A,o,e)}function o(A){if(!(A.transformFlags&32))return A;switch(A.kind){case 213:{let C=p(A,!1);return x.assertNotNode(C,pI),C}case 211:case 212:if(yd(A)){let C=m(A,!1,!1);return x.assertNotNode(C,pI),C}return un(A,o,e);case 226:return A.operatorToken.kind===61?E(A):un(A,o,e);case 220:return S(A);default:return un(A,o,e)}}function s(A){x.assertNotNode(A,z8);let C=[A];for(;!A.questionDotToken&&!a0(A);)A=Fo(jf(A.expression),yd),x.assertNotNode(A,z8),C.unshift(A);return{expression:A.expression,chain:C}}function l(A,C,R){let L=h(A.expression,C,R);return pI(L)?t.createSyntheticReferenceExpression(t.updateParenthesizedExpression(A,L.expression),L.thisArg):t.updateParenthesizedExpression(A,L)}function d(A,C,R){if(yd(A))return m(A,C,R);let L=He(A.expression,o,lt);x.assertNotNode(L,pI);let G;return C&&(g0(L)?G=L:(G=t.createTempVariable(r),L=t.createAssignment(G,L))),L=A.kind===211?t.updatePropertyAccessExpression(A,L,He(A.name,o,Me)):t.updateElementAccessExpression(A,L,He(A.argumentExpression,o,lt)),G?t.createSyntheticReferenceExpression(L,G):L}function p(A,C){if(yd(A))return m(A,C,!1);if(uu(A.expression)&&yd(Ka(A.expression))){let R=l(A.expression,!0,!1),L=Dn(A.arguments,o,lt);return pI(R)?Ze(t.createFunctionCallCall(R.expression,R.thisArg,L),A):t.updateCallExpression(A,R,void 0,L)}return un(A,o,e)}function h(A,C,R){switch(A.kind){case 217:return l(A,C,R);case 211:case 212:return d(A,C,R);case 213:return p(A,C);default:return He(A,o,lt)}}function m(A,C,R){let{expression:L,chain:G}=s(A),U=h(jf(L),gS(G[0]),!1),K=pI(U)?U.thisArg:void 0,F=pI(U)?U.expression:U,oe=t.restoreOuterExpressions(L,F,8);g0(F)||(F=t.createTempVariable(r),oe=t.createAssignment(F,oe));let W=F,$;for(let fe=0;fe<G.length;fe++){let q=G[fe];switch(q.kind){case 211:case 212:fe===G.length-1&&C&&(g0(W)?$=W:($=t.createTempVariable(r),W=t.createAssignment($,W))),W=q.kind===211?t.createPropertyAccessExpression(W,He(q.name,o,Me)):t.createElementAccessExpression(W,He(q.argumentExpression,o,lt));break;case 213:fe===0&&K?(ws(K)||(K=t.cloneNode(K),e_(K,3072)),W=t.createFunctionCallCall(W,K.kind===108?t.createThis():K,Dn(q.arguments,o,lt))):W=t.createCallExpression(W,void 0,Dn(q.arguments,o,lt));break}mr(W,q)}let de=R?t.createConditionalExpression(v(oe,F,!0),void 0,t.createTrue(),void 0,t.createDeleteExpression(W)):t.createConditionalExpression(v(oe,F,!0),void 0,t.createVoidZero(),void 0,W);return Ze(de,A),$?t.createSyntheticReferenceExpression(de,$):de}function v(A,C,R){return t.createBinaryExpression(t.createBinaryExpression(A,t.createToken(R?37:38),t.createNull()),t.createToken(R?57:56),t.createBinaryExpression(C,t.createToken(R?37:38),t.createVoidZero()))}function E(A){let C=He(A.left,o,lt),R=C;return g0(C)||(R=t.createTempVariable(r),C=t.createAssignment(R,C)),Ze(t.createConditionalExpression(v(C,R),void 0,R,void 0,He(A.right,o,lt)),A)}function S(A){return yd(Ka(A.expression))?mr(h(A.expression,!1,!0),A):t.updateDeleteExpression(A,He(A.expression,o,lt))}}var jze=pt({\"src/compiler/transformers/es2020.ts\"(){\"use strict\";wo()}});function iae(e){let{hoistVariableDeclaration:t,factory:r}=e;return $f(e,i);function i(l){return l.isDeclarationFile?l:un(l,o,e)}function o(l){return l.transformFlags&16?cV(l)?s(l):un(l,o,e):l}function s(l){let d=l.operatorToken,p=MN(d.kind),h=Ka(He(l.left,o,Tu)),m=h,v=Ka(He(l.right,o,lt));if(us(h)){let E=g0(h.expression),S=E?h.expression:r.createTempVariable(t),A=E?h.expression:r.createAssignment(S,h.expression);if(Er(h))m=r.createPropertyAccessExpression(S,h.name),h=r.createPropertyAccessExpression(A,h.name);else{let C=g0(h.argumentExpression),R=C?h.argumentExpression:r.createTempVariable(t);m=r.createElementAccessExpression(S,R),h=r.createElementAccessExpression(A,C?h.argumentExpression:r.createAssignment(R,h.argumentExpression))}}return r.createBinaryExpression(h,p,r.createParenthesizedExpression(r.createAssignment(m,v)))}}var Uze=pt({\"src/compiler/transformers/es2021.ts\"(){\"use strict\";wo()}});function oae(e){let{factory:t,getEmitHelperFactory:r,hoistVariableDeclaration:i,startLexicalEnvironment:o,endLexicalEnvironment:s}=e,l,d,p,h;return $f(e,m);function m(le){if(le.isDeclarationFile)return le;let Ee=He(le,v,Li);return ag(Ee,e.readEmitHelpers()),d=void 0,l=void 0,p=void 0,Ee}function v(le){if(!(le.transformFlags&4))return le;switch(le.kind){case 312:return E(le);case 241:return S(le);case 248:return A(le);case 250:return C(le);case 255:return L(le);default:return un(le,v,e)}}function E(le){let Ee=oH(le.statements);if(Ee){o(),l=new SI,d=[];let ce=WSe(le.statements),Z=[];Pr(Z,ck(le.statements,v,Di,0,ce));let pe=ce;for(;pe<le.statements.length;){let _e=le.statements[pe];if(lae(_e)!==0){pe>ce&&Pr(Z,Dn(le.statements,v,Di,ce,pe-ce));break}pe++}x.assert(pe<le.statements.length,\"Should have encountered at least one 'using' statement.\");let Ae=H(),Oe=G(le.statements,pe,le.statements.length,Ae,Z);return l.size&&pn(Z,t.createExportDeclaration(void 0,!1,t.createNamedExports(bo(l.values())))),Pr(Z,s()),d.length&&Z.push(t.createVariableStatement(t.createModifiersFromModifierFlags(32),t.createVariableDeclarationList(d,1))),Pr(Z,ee(Oe,Ae,Ee===2)),h&&Z.push(t.createExportAssignment(void 0,!0,h)),t.updateSourceFile(le,Z)}return un(le,v,e)}function S(le){let Ee=oH(le.statements);if(Ee){let ce=WSe(le.statements),Z=H();return t.updateBlock(le,[...ck(le.statements,v,Di,0,ce),...ee(G(le.statements,ce,le.statements.length,Z,void 0),Z,Ee===2)])}return un(le,v,e)}function A(le){return le.initializer&&aae(le.initializer)?He(t.createBlock([t.createVariableStatement(void 0,le.initializer),t.updateForStatement(le,void 0,le.condition,le.incrementor,le.statement)]),v,Di):un(le,v,e)}function C(le){if(aae(le.initializer)){let Ee=le.initializer;x.assertNode(Ee,aae),x.assert(Ee.declarations.length===1,\"ForInitializer may only have one declaration\");let ce=Ee.declarations[0];x.assert(!ce.initializer,\"ForInitializer may not have an initializer\");let Z=sae(Ee)===2,pe=t.getGeneratedNameForNode(ce.name),Ae=t.updateVariableDeclaration(ce,ce.name,void 0,void 0,pe),Oe=t.createVariableDeclarationList([Ae],Z?6:4),_e=t.createVariableStatement(void 0,Oe);return He(t.updateForOfStatement(le,le.awaitModifier,t.createVariableDeclarationList([t.createVariableDeclaration(pe)],2),le.expression,Do(le.statement)?t.updateBlock(le.statement,[_e,...le.statement.statements]):t.createBlock([_e,le.statement],!0)),v,Di)}return un(le,v,e)}function R(le,Ee){return oH(le.statements)!==0?zx(le)?t.updateCaseClause(le,He(le.expression,v,lt),G(le.statements,0,le.statements.length,Ee,void 0)):t.updateDefaultClause(le,G(le.statements,0,le.statements.length,Ee,void 0)):un(le,v,e)}function L(le){let Ee=qze(le.caseBlock.clauses);if(Ee){let ce=H();return ee([t.updateSwitchStatement(le,He(le.expression,v,lt),t.updateCaseBlock(le.caseBlock,le.caseBlock.clauses.map(Z=>R(Z,ce))))],ce,Ee===2)}return un(le,v,e)}function G(le,Ee,ce,Z,pe){let Ae=[];for(let be=Ee;be<ce;be++){let Te=le[be],De=lae(Te);if(De){x.assertNode(Te,cl);let he=[];for(let Le of Te.declarationList.declarations){if(!Me(Le.name)){he.length=0;break}Fu(Le)&&(Le=Uu(e,Le));let Ke=He(Le.initializer,v,lt)??t.createVoidZero();he.push(t.updateVariableDeclaration(Le,Le.name,void 0,void 0,r().createAddDisposableResourceHelper(Z,Ke,De===2)))}if(he.length){let Le=t.createVariableDeclarationList(he,2);mr(Le,Te.declarationList),Ze(Le,Te.declarationList),Oe(t.updateVariableStatement(Te,void 0,Le));continue}}let ft=v(Te);oo(ft)?ft.forEach(Oe):ft&&Oe(ft)}return Ae;function Oe(be){x.assertNode(be,Di),pn(Ae,_e(be))}function _e(be){if(!pe)return be;switch(be.kind){case 272:case 271:case 278:case 262:return U(be,pe);case 277:return K(be);case 263:return W(be);case 243:return $(be)}return be}}function U(le,Ee){Ee.push(le)}function K(le){return le.isExportEquals?oe(le):F(le)}function F(le){if(p)return le;p=t.createUniqueName(\"_default\",56),q(p,!0,\"default\",le);let Ee=le.expression,ce=Rl(Ee);Fu(ce)&&(ce=Uu(e,ce,!1,\"default\"),Ee=t.restoreOuterExpressions(Ee,ce));let Z=t.createAssignment(p,Ee);return t.createExpressionStatement(Z)}function oe(le){if(h)return le;h=t.createUniqueName(\"_default\",56),i(h);let Ee=t.createAssignment(h,le.expression);return t.createExpressionStatement(Ee)}function W(le){if(!le.name&&p)return le;let Ee=Wr(le,32),ce=Wr(le,2048),Z=t.converters.convertToClassExpression(le);return le.name&&(q(t.getLocalName(le),Ee&&!ce,void 0,le),Z=t.createAssignment(t.getDeclarationName(le),Z),Fu(Z)&&(Z=Uu(e,Z,!1)),mr(Z,le),ca(Z,le),Ol(Z,le)),ce&&!p&&(p=t.createUniqueName(\"_default\",56),q(p,!0,\"default\",le),Z=t.createAssignment(p,Z),Fu(Z)&&(Z=Uu(e,Z,!1,\"default\")),mr(Z,le)),t.createExpressionStatement(Z)}function $(le){let Ee,ce=Wr(le,32);for(let Z of le.declarationList.declarations)fe(Z,ce,Z),Z.initializer&&(Ee=pn(Ee,de(Z)));if(Ee){let Z=t.createExpressionStatement(t.inlineExpressions(Ee));return mr(Z,le),Ol(Z,le),ca(Z,le),Z}}function de(le){x.assertIsDefined(le.initializer);let Ee;Me(le.name)?(Ee=t.cloneNode(le.name),$n(Ee,ba(Ee)&-114689)):Ee=t.converters.convertToAssignmentPattern(le.name);let ce=t.createAssignment(Ee,le.initializer);return mr(ce,le),Ol(ce,le),ca(ce,le),ce}function fe(le,Ee,ce){if(ko(le.name))for(let Z of le.name.elements)vc(Z)||fe(Z,Ee,ce);else q(le.name,Ee,void 0,ce)}function q(le,Ee,ce,Z){let pe=ws(le)?le:t.cloneNode(le);if(Ee){if(ce===void 0&&!lg(pe)){let be=t.createVariableDeclaration(pe);Z&&mr(be,Z),d.push(be);return}let Ae=ce!==void 0?pe:void 0,Oe=ce!==void 0?ce:pe,_e=t.createExportSpecifier(!1,Ae,Oe);Z&&mr(_e,Z),l.set(pe,_e)}i(pe)}function H(){return t.createUniqueName(\"env\")}function ee(le,Ee,ce){let Z=[],pe=t.createObjectLiteralExpression([t.createPropertyAssignment(\"stack\",t.createArrayLiteralExpression()),t.createPropertyAssignment(\"error\",t.createVoidZero()),t.createPropertyAssignment(\"hasError\",t.createFalse())]),Ae=t.createVariableDeclaration(Ee,void 0,void 0,pe),Oe=t.createVariableDeclarationList([Ae],2),_e=t.createVariableStatement(void 0,Oe);Z.push(_e);let be=t.createBlock(le,!0),Te=t.createUniqueName(\"e\"),De=t.createCatchClause(Te,t.createBlock([t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(Ee,\"error\"),Te)),t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(Ee,\"hasError\"),t.createTrue()))],!0)),ft;if(ce){let Le=t.createUniqueName(\"result\");ft=t.createBlock([t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(Le,void 0,void 0,r().createDisposeResourcesHelper(Ee))],2)),t.createIfStatement(Le,t.createExpressionStatement(t.createAwaitExpression(Le)))],!0)}else ft=t.createBlock([t.createExpressionStatement(r().createDisposeResourcesHelper(Ee))],!0);let he=t.createTryStatement(be,De,ft);return Z.push(he),Z}}function WSe(e){for(let t=0;t<e.length;t++)if(!Hf(e[t])&&!dL(e[t]))return t;return 0}function aae(e){return yc(e)&&sae(e)!==0}function sae(e){return(e.flags&7)===6?2:(e.flags&7)===4?1:0}function Hze(e){return sae(e.declarationList)}function lae(e){return cl(e)?Hze(e):0}function oH(e){let t=0;for(let r of e){let i=lae(r);if(i===2)return 2;i>t&&(t=i)}return t}function qze(e){let t=0;for(let r of e){let i=oH(r.statements);if(i===2)return 2;i>t&&(t=i)}return t}var Jze=pt({\"src/compiler/transformers/esnext.ts\"(){\"use strict\";wo()}});function cae(e){let{factory:t,getEmitHelperFactory:r}=e,i=e.getCompilerOptions(),o,s;return $f(e,v);function l(){if(s.filenameDeclaration)return s.filenameDeclaration.name;let he=t.createVariableDeclaration(t.createUniqueName(\"_jsxFileName\",48),void 0,void 0,t.createStringLiteral(o.fileName));return s.filenameDeclaration=he,s.filenameDeclaration.name}function d(he){return i.jsx===5?\"jsxDEV\":he?\"jsxs\":\"jsx\"}function p(he){let Le=d(he);return m(Le)}function h(){return m(\"Fragment\")}function m(he){var Le,Ke;let Dt=he===\"createElement\"?s.importSpecifier:sF(s.importSpecifier,i),st=(Ke=(Le=s.utilizedImplicitRuntimeImports)==null?void 0:Le.get(Dt))==null?void 0:Ke.get(he);if(st)return st.name;s.utilizedImplicitRuntimeImports||(s.utilizedImplicitRuntimeImports=new Map);let Ge=s.utilizedImplicitRuntimeImports.get(Dt);Ge||(Ge=new Map,s.utilizedImplicitRuntimeImports.set(Dt,Ge));let ot=t.createUniqueName(`_${he}`,112),Vt=t.createImportSpecifier(!1,t.createIdentifier(he),ot);return Ore(ot,Vt),Ge.set(he,Vt),ot}function v(he){if(he.isDeclarationFile)return he;o=he,s={},s.importSpecifier=aF(i,he);let Le=un(he,E,e);ag(Le,e.readEmitHelpers());let Ke=Le.statements;if(s.filenameDeclaration&&(Ke=TS(Ke.slice(),t.createVariableStatement(void 0,t.createVariableDeclarationList([s.filenameDeclaration],2)))),s.utilizedImplicitRuntimeImports){for(let[Dt,st]of bo(s.utilizedImplicitRuntimeImports.entries()))if(wl(he)){let Ge=t.createImportDeclaration(void 0,t.createImportClause(!1,void 0,t.createNamedImports(bo(st.values()))),t.createStringLiteral(Dt),void 0);oy(Ge,!1),Ke=TS(Ke.slice(),Ge)}else if(sp(he)){let Ge=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createObjectBindingPattern(bo(st.values(),ot=>t.createBindingElement(void 0,ot.propertyName,ot.name))),void 0,void 0,t.createCallExpression(t.createIdentifier(\"require\"),void 0,[t.createStringLiteral(Dt)]))],2));oy(Ge,!1),Ke=TS(Ke.slice(),Ge)}}return Ke!==Le.statements&&(Le=t.updateSourceFile(Le,Ke)),s=void 0,Le}function E(he){return he.transformFlags&2?S(he):he}function S(he){switch(he.kind){case 284:return G(he,!1);case 285:return U(he,!1);case 288:return K(he,!1);case 294:return ft(he);default:return un(he,E,e)}}function A(he){switch(he.kind){case 12:return pe(he);case 294:return ft(he);case 284:return G(he,!0);case 285:return U(he,!0);case 288:return K(he,!0);default:return x.failBadSyntaxKind(he)}}function C(he){return he.properties.some(Le=>Hl(Le)&&(Me(Le.name)&&ar(Le.name)===\"__proto__\"||da(Le.name)&&Le.name.text===\"__proto__\"))}function R(he){let Le=!1;for(let Ke of he.attributes.properties)if(mI(Ke)&&(!ma(Ke.expression)||Ke.expression.properties.some(lv)))Le=!0;else if(Le&&i_(Ke)&&Me(Ke.name)&&Ke.name.escapedText===\"key\")return!0;return!1}function L(he){return s.importSpecifier===void 0||R(he)}function G(he,Le){return(L(he.openingElement)?de:W)(he.openingElement,he.children,Le,he)}function U(he,Le){return(L(he)?de:W)(he,void 0,Le,he)}function K(he,Le){return(s.importSpecifier===void 0?q:fe)(he.openingFragment,he.children,Le,he)}function F(he){let Le=oe(he);return Le&&t.createObjectLiteralExpression([Le])}function oe(he){let Le=_x(he);if(yn(Le)===1&&!Le[0].dotDotDotToken){let Dt=A(Le[0]);return Dt&&t.createPropertyAssignment(\"children\",Dt)}let Ke=Fi(he,A);return yn(Ke)?t.createPropertyAssignment(\"children\",t.createArrayLiteralExpression(Ke)):void 0}function W(he,Le,Ke,Dt){let st=Te(he),Ge=Le&&Le.length?oe(Le):void 0,ot=Dr(he.attributes.properties,gn=>!!gn.name&&Me(gn.name)&&gn.name.escapedText===\"key\"),Vt=ot?Cr(he.attributes.properties,gn=>gn!==ot):he.attributes.properties,jt=yn(Vt)?ee(Vt,Ge):t.createObjectLiteralExpression(Ge?[Ge]:je);return $(st,jt,ot,Le||je,Ke,Dt)}function $(he,Le,Ke,Dt,st,Ge){var ot;let Vt=_x(Dt),jt=yn(Vt)>1||!!((ot=Vt[0])!=null&&ot.dotDotDotToken),gn=[he,Le];if(Ke&&gn.push(Z(Ke.initializer)),i.jsx===5){let en=sl(o);if(en&&Li(en)){Ke===void 0&&gn.push(t.createVoidZero()),gn.push(jt?t.createTrue():t.createFalse());let zt=$a(en,Ge.pos);gn.push(t.createObjectLiteralExpression([t.createPropertyAssignment(\"fileName\",l()),t.createPropertyAssignment(\"lineNumber\",t.createNumericLiteral(zt.line+1)),t.createPropertyAssignment(\"columnNumber\",t.createNumericLiteral(zt.character+1))])),gn.push(t.createThis())}}let On=Ze(t.createCallExpression(p(jt),void 0,gn),Ge);return st&&Sd(On),On}function de(he,Le,Ke,Dt){let st=Te(he),Ge=he.attributes.properties,ot=yn(Ge)?ee(Ge):t.createNull(),Vt=s.importSpecifier===void 0?Oj(t,e.getEmitResolver().getJsxFactoryEntity(o),i.reactNamespace,he):m(\"createElement\"),jt=uie(t,Vt,st,ot,Fi(Le,A),Dt);return Ke&&Sd(jt),jt}function fe(he,Le,Ke,Dt){let st;if(Le&&Le.length){let Ge=F(Le);Ge&&(st=Ge)}return $(h(),st||t.createObjectLiteralExpression([]),void 0,Le,Ke,Dt)}function q(he,Le,Ke,Dt){let st=pie(t,e.getEmitResolver().getJsxFactoryEntity(o),e.getEmitResolver().getJsxFragmentFactoryEntity(o),i.reactNamespace,Fi(Le,A),he,Dt);return Ke&&Sd(st),st}function H(he){return ma(he.expression)&&!C(he.expression)?sc(he.expression.properties,Le=>x.checkDefined(He(Le,E,Zh))):t.createSpreadAssignment(x.checkDefined(He(he.expression,E,lt)))}function ee(he,Le){let Ke=Wa(i);return Ke&&Ke>=5?t.createObjectLiteralExpression(le(he,Le)):Ee(he,Le)}function le(he,Le){let Ke=Ff(Q5(he,mI,(Dt,st)=>Ff(nn(Dt,Ge=>st?H(Ge):ce(Ge)))));return Le&&Ke.push(Le),Ke}function Ee(he,Le){let Ke=[],Dt=[];for(let Ge of he){if(mI(Ge)){if(ma(Ge.expression)&&!C(Ge.expression)){for(let ot of Ge.expression.properties){if(lv(ot)){st(),Ke.push(x.checkDefined(He(ot.expression,E,lt)));continue}Dt.push(x.checkDefined(He(ot,E)))}continue}st(),Ke.push(x.checkDefined(He(Ge.expression,E,lt)));continue}Dt.push(ce(Ge))}return Le&&Dt.push(Le),st(),Ke.length&&!ma(Ke[0])&&Ke.unshift(t.createObjectLiteralExpression()),R_(Ke)||r().createAssignHelper(Ke);function st(){Dt.length&&(Ke.push(t.createObjectLiteralExpression(Dt)),Dt=[])}}function ce(he){let Le=De(he),Ke=Z(he.initializer);return t.createPropertyAssignment(Le,Ke)}function Z(he){if(he===void 0)return t.createTrue();if(he.kind===11){let Le=he.singleQuote!==void 0?he.singleQuote:!IW(he,o),Ke=t.createStringLiteral(be(he.text)||he.text,Le);return Ze(Ke,he)}return he.kind===294?he.expression===void 0?t.createTrue():x.checkDefined(He(he.expression,E,lt)):Ch(he)?G(he,!1):KS(he)?U(he,!1):c0(he)?K(he,!1):x.failBadSyntaxKind(he)}function pe(he){let Le=Ae(he.text);return Le===void 0?void 0:t.createStringLiteral(Le)}function Ae(he){let Le,Ke=0,Dt=-1;for(let st=0;st<he.length;st++){let Ge=he.charCodeAt(st);vd(Ge)?(Ke!==-1&&Dt!==-1&&(Le=Oe(Le,he.substr(Ke,Dt-Ke+1))),Ke=-1):Um(Ge)||(Dt=st,Ke===-1&&(Ke=st))}return Ke!==-1?Oe(Le,he.substr(Ke)):Le}function Oe(he,Le){let Ke=_e(Le);return he===void 0?Ke:he+\" \"+Ke}function _e(he){return he.replace(/&((#((\\d+)|x([\\da-fA-F]+)))|(\\w+));/g,(Le,Ke,Dt,st,Ge,ot,Vt)=>{if(Ge)return F1(parseInt(Ge,10));if(ot)return F1(parseInt(ot,16));{let jt=FSe.get(Vt);return jt?F1(jt):Le}})}function be(he){let Le=_e(he);return Le===he?void 0:Le}function Te(he){if(he.kind===284)return Te(he.openingElement);{let Le=he.tagName;return Me(Le)&&gx(Le.escapedText)?t.createStringLiteral(ar(Le)):Em(Le)?t.createStringLiteral(ar(Le.namespace)+\":\"+ar(Le.name)):P2(t,Le)}}function De(he){let Le=he.name;if(Me(Le)){let Ke=ar(Le);return/^[A-Za-z_]\\w*$/.test(Ke)?Le:t.createStringLiteral(Ke)}return t.createStringLiteral(ar(Le.namespace)+\":\"+ar(Le.name))}function ft(he){let Le=He(he.expression,E,lt);return he.dotDotDotToken?t.createSpreadElement(Le):Le}}var FSe,Kze=pt({\"src/compiler/transformers/jsx.ts\"(){\"use strict\";wo(),FSe=new Map(Object.entries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}))}});function dae(e){let{factory:t,hoistVariableDeclaration:r}=e;return $f(e,i);function i(p){return p.isDeclarationFile?p:un(p,o,e)}function o(p){if(!(p.transformFlags&512))return p;switch(p.kind){case 226:return s(p);default:return un(p,o,e)}}function s(p){switch(p.operatorToken.kind){case 68:return l(p);case 43:return d(p);default:return un(p,o,e)}}function l(p){let h,m,v=He(p.left,o,lt),E=He(p.right,o,lt);if(Rs(v)){let S=t.createTempVariable(r),A=t.createTempVariable(r);h=Ze(t.createElementAccessExpression(Ze(t.createAssignment(S,v.expression),v.expression),Ze(t.createAssignment(A,v.argumentExpression),v.argumentExpression)),v),m=Ze(t.createElementAccessExpression(S,A),v)}else if(Er(v)){let S=t.createTempVariable(r);h=Ze(t.createPropertyAccessExpression(Ze(t.createAssignment(S,v.expression),v.expression),v.name),v),m=Ze(t.createPropertyAccessExpression(S,v.name),v)}else h=v,m=v;return Ze(t.createAssignment(h,Ze(t.createGlobalMethodCall(\"Math\",\"pow\",[m,E]),p)),p)}function d(p){let h=He(p.left,o,lt),m=He(p.right,o,lt);return Ze(t.createGlobalMethodCall(\"Math\",\"pow\",[h,m]),p)}}var Xze=pt({\"src/compiler/transformers/es2016.ts\"(){\"use strict\";wo()}});function zSe(e,t){return{kind:e,expression:t}}function uae(e){let{factory:t,getEmitHelperFactory:r,startLexicalEnvironment:i,resumeLexicalEnvironment:o,endLexicalEnvironment:s,hoistVariableDeclaration:l}=e,d=e.getCompilerOptions(),p=e.getEmitResolver(),h=e.onSubstituteNode,m=e.onEmitNode;e.onEmitNode=kp,e.onSubstituteNode=nf;let v,E,S,A;function C(Y){A=pn(A,t.createVariableDeclaration(Y))}let R,L;return $f(e,G);function G(Y){if(Y.isDeclarationFile)return Y;v=Y,E=Y.text;let Ye=ee(Y);return ag(Ye,e.readEmitHelpers()),v=void 0,E=void 0,A=void 0,S=0,Ye}function U(Y,Ye){let xt=S;return S=(S&~Y|Ye)&32767,xt}function K(Y,Ye,xt){S=(S&~Ye|xt)&-32768|Y}function F(Y){return(S&8192)!==0&&Y.kind===253&&!Y.expression}function oe(Y){return Y.transformFlags&4194304&&(Kf(Y)||HS(Y)||Qre(Y)||pN(Y)||fN(Y)||zx(Y)||_N(Y)||JS(Y)||u0(Y)||s0(Y)||Xv(Y,!1)||Do(Y))}function W(Y){return(Y.transformFlags&1024)!==0||R!==void 0||S&8192&&oe(Y)||Xv(Y,!1)&&$i(Y)||(Uf(Y)&1)!==0}function $(Y){return W(Y)?H(Y,!1):Y}function de(Y){return W(Y)?H(Y,!0):Y}function fe(Y){if(W(Y)){let Ye=sl(Y);if(xo(Ye)&&jl(Ye)){let xt=U(32670,16449),Nt=H(Y,!1);return K(xt,229376,0),Nt}return H(Y,!1)}return Y}function q(Y){return Y.kind===108?Nl(Y,!0):$(Y)}function H(Y,Ye){switch(Y.kind){case 126:return;case 263:return Te(Y);case 231:return De(Y);case 169:return Ea(Y);case 262:return Qt(Y);case 219:return Ct(Y);case 218:return on(Y);case 260:return dn(Y);case 80:return _e(Y);case 261:return Ie(Y);case 255:return le(Y);case 269:return Ee(Y);case 241:return Re(Y,!1);case 252:case 251:return be(Y);case 256:return ti(Y);case 246:case 247:return Ar(Y,void 0);case 248:return Zi(Y,void 0);case 249:return ui(Y,void 0);case 250:return Mr(Y,void 0);case 244:return St(Y);case 210:return _o(Y);case 299:return pi(Y);case 304:return bc(Y);case 167:return bs(Y);case 209:return Za(Y);case 213:return Ec(Y);case 214:return Nf(Y);case 217:return M(Y,Ye);case 226:return te(Y,Ye);case 361:return j(Y,Ye);case 15:case 16:case 17:case 18:return Oo(Y);case 11:return Cl(Y);case 9:return Kl(Y);case 215:return Bs(Y);case 228:return Ks(Y);case 229:return Jl(Y);case 230:return Po(Y);case 108:return Nl(Y,!1);case 110:return Ae(Y);case 236:return Sc(Y);case 174:return No(Y);case 177:case 178:return Qs(Y);case 243:return Pe(Y);case 253:return pe(Y);case 222:return Oe(Y);default:return un(Y,$,e)}}function ee(Y){let Ye=U(8064,64),xt=[],Nt=[];i();let k=t.copyPrologue(Y.statements,xt,!1,$);return Pr(Nt,Dn(Y.statements,$,Di,k)),A&&Nt.push(t.createVariableStatement(void 0,t.createVariableDeclarationList(A))),t.mergeLexicalEnvironment(xt,s()),re(xt,Y),K(Ye,0,0),t.updateSourceFile(Y,Ze(t.createNodeArray(ro(xt,Nt)),Y.statements))}function le(Y){if(R!==void 0){let Ye=R.allowedNonLabeledJumps;R.allowedNonLabeledJumps|=2;let xt=un(Y,$,e);return R.allowedNonLabeledJumps=Ye,xt}return un(Y,$,e)}function Ee(Y){let Ye=U(7104,0),xt=un(Y,$,e);return K(Ye,0,0),xt}function ce(Y){return mr(t.createReturnStatement(Z()),Y)}function Z(){return t.createUniqueName(\"_this\",48)}function pe(Y){return R?(R.nonLocalJumps|=8,F(Y)&&(Y=ce(Y)),t.createReturnStatement(t.createObjectLiteralExpression([t.createPropertyAssignment(t.createIdentifier(\"value\"),Y.expression?x.checkDefined(He(Y.expression,$,lt)):t.createVoidZero())]))):F(Y)?ce(Y):un(Y,$,e)}function Ae(Y){return S|=65536,S&2&&!(S&16384)&&(S|=131072),R?S&2?(R.containsLexicalThis=!0,Y):R.thisName||(R.thisName=t.createUniqueName(\"this\")):Y}function Oe(Y){return un(Y,de,e)}function _e(Y){return R&&p.isArgumentsLocalBinding(Y)?R.argumentsName||(R.argumentsName=t.createUniqueName(\"arguments\")):Y.flags&256?mr(Ze(t.createIdentifier(Ii(Y.escapedText)),Y),Y):Y}function be(Y){if(R){let Ye=Y.kind===252?2:4;if(!(Y.label&&R.labels&&R.labels.get(ar(Y.label))||!Y.label&&R.allowedNonLabeledJumps&Ye)){let Nt,k=Y.label;k?Y.kind===252?(Nt=`break-${k.escapedText}`,X(R,!0,ar(k),Nt)):(Nt=`continue-${k.escapedText}`,X(R,!1,ar(k),Nt)):Y.kind===252?(R.nonLocalJumps|=2,Nt=\"break\"):(R.nonLocalJumps|=4,Nt=\"continue\");let ge=t.createStringLiteral(Nt);if(R.loopOutParameters.length){let Xe=R.loopOutParameters,Mt;for(let Vn=0;Vn<Xe.length;Vn++){let jr=Ju(Xe[Vn],1);Vn===0?Mt=jr:Mt=t.createBinaryExpression(Mt,28,jr)}ge=t.createBinaryExpression(Mt,28,ge)}return t.createReturnStatement(ge)}}return un(Y,$,e)}function Te(Y){let Ye=t.createVariableDeclaration(t.getLocalName(Y,!0),void 0,void 0,ft(Y));mr(Ye,Y);let xt=[],Nt=t.createVariableStatement(void 0,t.createVariableDeclarationList([Ye]));if(mr(Nt,Y),Ze(Nt,Y),Sd(Nt),xt.push(Nt),Wr(Y,32)){let k=Wr(Y,2048)?t.createExportDefault(t.getLocalName(Y)):t.createExternalModuleExport(t.getLocalName(Y));mr(k,Nt),xt.push(k)}return D_(xt)}function De(Y){return ft(Y)}function ft(Y){Y.name&&fu();let Ye=qE(Y),xt=t.createFunctionExpression(void 0,void 0,void 0,void 0,Ye?[t.createParameterDeclaration(void 0,void 0,vl())]:[],void 0,he(Y,Ye));$n(xt,ba(Y)&131072|1048576);let Nt=t.createPartiallyEmittedExpression(xt);Rx(Nt,Y.end),$n(Nt,3072);let k=t.createPartiallyEmittedExpression(Nt);Rx(k,pa(E,Y.pos)),$n(k,3072);let ge=t.createParenthesizedExpression(t.createCallExpression(k,void 0,Ye?[x.checkDefined(He(Ye.expression,$,lt))]:[]));return iN(ge,3,\"* @class \"),ge}function he(Y,Ye){let xt=[],Nt=t.getInternalName(Y),k=q9(Nt)?t.getGeneratedNameForNode(Nt):Nt;i(),Le(xt,Y,Ye),Ke(xt,Y,k,Ye),z(xt,Y);let ge=_V(pa(E,Y.members.end),20),Xe=t.createPartiallyEmittedExpression(k);Rx(Xe,ge.end),$n(Xe,3072);let Mt=t.createReturnStatement(Xe);qC(Mt,ge.pos),$n(Mt,3840),xt.push(Mt),vh(xt,s());let Vn=t.createBlock(Ze(t.createNodeArray(xt),Y.members),!0);return $n(Vn,3072),Vn}function Le(Y,Ye,xt){xt&&Y.push(Ze(t.createExpressionStatement(r().createExtendsHelper(t.getInternalName(Ye))),xt))}function Ke(Y,Ye,xt,Nt){let k=R;R=void 0;let ge=U(32662,73),Xe=Ah(Ye),Mt=mu(Xe,Nt!==void 0),Vn=t.createFunctionDeclaration(void 0,void 0,xt,void 0,Dt(Xe,Mt),void 0,Vt(Xe,Ye,Nt,Mt));Ze(Vn,Xe||Ye),Nt&&$n(Vn,16),Y.push(Vn),K(ge,229376,0),R=k}function Dt(Y,Ye){return rl(Y&&!Ye?Y.parameters:void 0,$,e)||[]}function st(Y,Ye){let xt=[];o(),t.mergeLexicalEnvironment(xt,s()),Ye&&xt.push(t.createReturnStatement(Jo()));let Nt=t.createNodeArray(xt);Ze(Nt,Y.members);let k=t.createBlock(Nt,!0);return Ze(k,Y),$n(k,3072),k}function Ge(Y){return cl(Y)&&ji(Y.declarationList.declarations,Ye=>Me(Ye.name)&&!Ye.initializer)}function ot(Y){if(xS(Y))return!0;if(!(Y.transformFlags&134217728))return!1;switch(Y.kind){case 219:case 218:case 262:case 176:case 175:return!1;case 177:case 178:case 174:case 172:{let Ye=Y;return Pa(Ye.name)?!!Ao(Ye.name,ot):!1}}return!!Ao(Y,ot)}function Vt(Y,Ye,xt,Nt){let k=!!xt&&Rl(xt.expression).kind!==106;if(!Y)return st(Ye,k);let ge=[],Xe=[];o();let Mt=t.copyStandardPrologue(Y.body.statements,ge,0);(Nt||ot(Y.body))&&(S|=8192),Pr(Xe,Dn(Y.body.statements,$,Di,Mt));let Vn=k||S&8192;Tn(ge,Y),yt(ge,Y,Nt),et(ge,Y),Vn?Ce(ge,Y,so()):re(ge,Y),t.mergeLexicalEnvironment(ge,s()),Vn&&!ki(Y.body)&&Xe.push(t.createReturnStatement(Z()));let jr=t.createBlock(Ze(t.createNodeArray([...ge,...Xe]),Y.body.statements),!0);return Ze(jr,Y.body),ni(jr,Y.body,Nt)}function jt(Y){return ws(Y)&&ar(Y)===\"_this\"}function gn(Y){return ws(Y)&&ar(Y)===\"_super\"}function On(Y){return cl(Y)&&Y.declarationList.declarations.length===1&&en(Y.declarationList.declarations[0])}function en(Y){return yi(Y)&&jt(Y.name)&&!!Y.initializer}function zt(Y){return lc(Y,!0)&&jt(Y.left)}function Wt(Y){return Bo(Y)&&Er(Y.expression)&&gn(Y.expression.expression)&&Me(Y.expression.name)&&(ar(Y.expression.name)===\"call\"||ar(Y.expression.name)===\"apply\")&&Y.arguments.length>=1&&Y.arguments[0].kind===110}function ei(Y){return Zn(Y)&&Y.operatorToken.kind===57&&Y.right.kind===110&&Wt(Y.left)}function Ki(Y){return Zn(Y)&&Y.operatorToken.kind===56&&Zn(Y.left)&&Y.left.operatorToken.kind===38&&gn(Y.left.left)&&Y.left.right.kind===106&&Wt(Y.right)&&ar(Y.right.expression.name)===\"apply\"}function gi(Y){return Zn(Y)&&Y.operatorToken.kind===57&&Y.right.kind===110&&Ki(Y.left)}function io(Y){return zt(Y)&&ei(Y.right)}function Gn(Y){return zt(Y)&&gi(Y.right)}function Nr(Y){return Wt(Y)||ei(Y)||io(Y)||Ki(Y)||gi(Y)||Gn(Y)}function cr(Y){for(let Ye=0;Ye<Y.statements.length-1;Ye++){let xt=Y.statements[Ye];if(!On(xt))continue;let Nt=xt.declarationList.declarations[0];if(Nt.initializer.kind!==110)continue;let k=Ye,ge=Ye+1;for(;ge<Y.statements.length;){let _a=Y.statements[ge];if(Cc(_a)&&Nr(Rl(_a.expression)))break;if(Ge(_a)){ge++;continue}return Y}let Xe=Y.statements[ge],Mt=Xe.expression;zt(Mt)&&(Mt=Mt.right);let Vn=t.updateVariableDeclaration(Nt,Nt.name,void 0,void 0,Mt),jr=t.updateVariableDeclarationList(xt.declarationList,[Vn]),Or=t.createVariableStatement(xt.modifiers,jr);mr(Or,Xe),Ze(Or,Xe);let zi=t.createNodeArray([...Y.statements.slice(0,k),...Y.statements.slice(k+1,ge),Or,...Y.statements.slice(ge+1)]);return Ze(zi,Y.statements),t.updateBlock(Y,zi)}return Y}function Jt(Y,Ye){for(let Nt of Ye.statements)if(Nt.transformFlags&134217728&&!h4(Nt))return Y;let xt=!(Ye.transformFlags&16384)&&!(S&65536)&&!(S&131072);for(let Nt=Y.statements.length-1;Nt>0;Nt--){let k=Y.statements[Nt];if(Kf(k)&&k.expression&&jt(k.expression)){let ge=Y.statements[Nt-1],Xe;if(Cc(ge)&&io(Rl(ge.expression)))Xe=ge.expression;else if(xt&&On(ge)){let jr=ge.declarationList.declarations[0];Nr(Rl(jr.initializer))&&(Xe=t.createAssignment(Z(),jr.initializer))}if(!Xe)break;let Mt=t.createReturnStatement(Xe);mr(Mt,ge),Ze(Mt,ge);let Vn=t.createNodeArray([...Y.statements.slice(0,Nt-1),Mt,...Y.statements.slice(Nt+1)]);return Ze(Vn,Y.statements),t.updateBlock(Y,Vn)}}return Y}function Ue(Y){if(On(Y)){if(Y.declarationList.declarations[0].initializer.kind===110)return}else if(zt(Y))return t.createPartiallyEmittedExpression(Y.right,Y);switch(Y.kind){case 219:case 218:case 262:case 176:case 175:return Y;case 177:case 178:case 174:case 172:{let Ye=Y;return Pa(Ye.name)?t.replacePropertyName(Ye,un(Ye.name,Ue,void 0)):Y}}return un(Y,Ue,void 0)}function Rt(Y,Ye){if(Ye.transformFlags&16384||S&65536||S&131072)return Y;for(let xt of Ye.statements)if(xt.transformFlags&134217728&&!h4(xt))return Y;return t.updateBlock(Y,Dn(Y.statements,Ue,Di))}function mn(Y){if(Wt(Y)&&Y.arguments.length===2&&Me(Y.arguments[1])&&ar(Y.arguments[1])===\"arguments\")return t.createLogicalAnd(t.createStrictInequality(vl(),t.createNull()),Y);switch(Y.kind){case 219:case 218:case 262:case 176:case 175:return Y;case 177:case 178:case 174:case 172:{let Ye=Y;return Pa(Ye.name)?t.replacePropertyName(Ye,un(Ye.name,mn,void 0)):Y}}return un(Y,mn,void 0)}function qr(Y){return t.updateBlock(Y,Dn(Y.statements,mn,Di))}function ni(Y,Ye,xt){let Nt=Y;return Y=cr(Y),Y=Jt(Y,Ye),Y!==Nt&&(Y=Rt(Y,Ye)),xt&&(Y=qr(Y)),Y}function ki(Y){if(Y.kind===253)return!0;if(Y.kind===245){let Ye=Y;if(Ye.elseStatement)return ki(Ye.thenStatement)&&ki(Ye.elseStatement)}else if(Y.kind===241){let Ye=Ns(Y.statements);if(Ye&&ki(Ye))return!0}return!1}function so(){return $n(t.createThis(),8)}function Jo(){return t.createLogicalOr(t.createLogicalAnd(t.createStrictInequality(vl(),t.createNull()),t.createFunctionApplyCall(vl(),so(),t.createIdentifier(\"arguments\"))),so())}function Ea(Y){if(!Y.dotDotDotToken)return ko(Y.name)?mr(Ze(t.createParameterDeclaration(void 0,void 0,t.getGeneratedNameForNode(Y),void 0,void 0,void 0),Y),Y):Y.initializer?mr(Ze(t.createParameterDeclaration(void 0,void 0,Y.name,void 0,void 0,void 0),Y),Y):Y}function ln(Y){return Y.initializer!==void 0||ko(Y.name)}function Tn(Y,Ye){if(!ct(Ye.parameters,ln))return!1;let xt=!1;for(let Nt of Ye.parameters){let{name:k,initializer:ge,dotDotDotToken:Xe}=Nt;Xe||(ko(k)?xt=ke(Y,Nt,k,ge)||xt:ge&&(nt(Y,Nt,k,ge),xt=!0))}return xt}function ke(Y,Ye,xt,Nt){return xt.elements.length>0?(TS(Y,$n(t.createVariableStatement(void 0,t.createVariableDeclarationList(v0(Ye,$,e,0,t.getGeneratedNameForNode(Ye)))),2097152)),!0):Nt?(TS(Y,$n(t.createExpressionStatement(t.createAssignment(t.getGeneratedNameForNode(Ye),x.checkDefined(He(Nt,$,lt)))),2097152)),!0):!1}function nt(Y,Ye,xt,Nt){Nt=x.checkDefined(He(Nt,$,lt));let k=t.createIfStatement(t.createTypeCheck(t.cloneNode(xt),\"undefined\"),$n(Ze(t.createBlock([t.createExpressionStatement($n(Ze(t.createAssignment($n(Aa(Ze(t.cloneNode(xt),xt),xt.parent),96),$n(Nt,96|ba(Nt)|3072)),Ye),3072))]),Ye),3905));Sd(k),Ze(k,Ye),$n(k,2101056),TS(Y,k)}function tt(Y,Ye){return!!(Y&&Y.dotDotDotToken&&!Ye)}function yt(Y,Ye,xt){let Nt=[],k=Ns(Ye.parameters);if(!tt(k,xt))return!1;let ge=k.name.kind===80?Aa(Ze(t.cloneNode(k.name),k.name),k.name.parent):t.createTempVariable(void 0);$n(ge,96);let Xe=k.name.kind===80?t.cloneNode(k.name):ge,Mt=Ye.parameters.length-1,Vn=t.createLoopVariable();Nt.push($n(Ze(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(ge,void 0,void 0,t.createArrayLiteralExpression([]))])),k),2097152));let jr=t.createForStatement(Ze(t.createVariableDeclarationList([t.createVariableDeclaration(Vn,void 0,void 0,t.createNumericLiteral(Mt))]),k),Ze(t.createLessThan(Vn,t.createPropertyAccessExpression(t.createIdentifier(\"arguments\"),\"length\")),k),Ze(t.createPostfixIncrement(Vn),k),t.createBlock([Sd(Ze(t.createExpressionStatement(t.createAssignment(t.createElementAccessExpression(Xe,Mt===0?Vn:t.createSubtract(Vn,t.createNumericLiteral(Mt))),t.createElementAccessExpression(t.createIdentifier(\"arguments\"),Vn))),k))]));return $n(jr,2097152),Sd(jr),Nt.push(jr),k.name.kind!==80&&Nt.push($n(Ze(t.createVariableStatement(void 0,t.createVariableDeclarationList(v0(k,$,e,0,Xe))),k),2097152)),c9(Y,Nt),!0}function re(Y,Ye){return S&131072&&Ye.kind!==219?(Ce(Y,Ye,t.createThis()),!0):!1}function Ce(Y,Ye,xt){tu();let Nt=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(Z(),void 0,void 0,xt)]));$n(Nt,2100224),ca(Nt,Ye),TS(Y,Nt)}function et(Y,Ye){if(S&32768){let xt;switch(Ye.kind){case 219:return Y;case 174:case 177:case 178:xt=t.createVoidZero();break;case 176:xt=t.createPropertyAccessExpression($n(t.createThis(),8),\"constructor\");break;case 262:case 218:xt=t.createConditionalExpression(t.createLogicalAnd($n(t.createThis(),8),t.createBinaryExpression($n(t.createThis(),8),104,t.getLocalName(Ye))),void 0,t.createPropertyAccessExpression($n(t.createThis(),8),\"constructor\"),void 0,t.createVoidZero());break;default:return x.failBadSyntaxKind(Ye)}let Nt=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName(\"_newTarget\",48),void 0,void 0,xt)]));$n(Nt,2100224),TS(Y,Nt)}return Y}function z(Y,Ye){for(let xt of Ye.members)switch(xt.kind){case 240:Y.push(Je(xt));break;case 174:Y.push(_t(Lh(Ye,xt),xt,Ye));break;case 177:case 178:let Nt=wS(Ye.members,xt);xt===Nt.firstAccessor&&Y.push(ze(Lh(Ye,xt),Nt,Ye));break;case 176:case 175:break;default:x.failBadSyntaxKind(xt,v&&v.fileName);break}}function Je(Y){return Ze(t.createEmptyStatement(),Y)}function _t(Y,Ye,xt){let Nt=t_(Ye),k=ov(Ye),ge=Zt(Ye,Ye,void 0,xt),Xe=He(Ye.name,$,kl);x.assert(Xe);let Mt;if(!Ci(Xe)&&nN(e.getCompilerOptions())){let jr=Pa(Xe)?Xe.expression:Me(Xe)?t.createStringLiteral(Ii(Xe.escapedText)):Xe;Mt=t.createObjectDefinePropertyCall(Y,jr,t.createPropertyDescriptor({value:ge,enumerable:!1,writable:!0,configurable:!0}))}else{let jr=QS(t,Y,Xe,Ye.name);Mt=t.createAssignment(jr,ge)}$n(ge,3072),ca(ge,k);let Vn=Ze(t.createExpressionStatement(Mt),Ye);return mr(Vn,Ye),Ol(Vn,Nt),$n(Vn,96),Vn}function ze(Y,Ye,xt){let Nt=t.createExpressionStatement(it(Y,Ye,xt,!1));return $n(Nt,3072),ca(Nt,ov(Ye.firstAccessor)),Nt}function it(Y,{firstAccessor:Ye,getAccessor:xt,setAccessor:Nt},k,ge){let Xe=Aa(Ze(t.cloneNode(Y),Y),Y.parent);$n(Xe,3136),ca(Xe,Ye.name);let Mt=He(Ye.name,$,kl);if(x.assert(Mt),Ci(Mt))return x.failBadSyntaxKind(Mt,\"Encountered unhandled private identifier while transforming ES2015.\");let Vn=Wj(t,Mt);$n(Vn,3104),ca(Vn,Ye.name);let jr=[];if(xt){let zi=Zt(xt,void 0,void 0,k);ca(zi,ov(xt)),$n(zi,1024);let _a=t.createPropertyAssignment(\"get\",zi);Ol(_a,t_(xt)),jr.push(_a)}if(Nt){let zi=Zt(Nt,void 0,void 0,k);ca(zi,ov(Nt)),$n(zi,1024);let _a=t.createPropertyAssignment(\"set\",zi);Ol(_a,t_(Nt)),jr.push(_a)}jr.push(t.createPropertyAssignment(\"enumerable\",xt||Nt?t.createFalse():t.createTrue()),t.createPropertyAssignment(\"configurable\",t.createTrue()));let Or=t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier(\"Object\"),\"defineProperty\"),void 0,[Xe,Vn,t.createObjectLiteralExpression(jr,!0)]);return ge&&Sd(Or),Or}function Ct(Y){Y.transformFlags&16384&&!(S&16384)&&(S|=131072);let Ye=R;R=void 0;let xt=U(15232,66),Nt=t.createFunctionExpression(void 0,void 0,void 0,void 0,rl(Y.parameters,$,e),void 0,V(Y));return Ze(Nt,Y),mr(Nt,Y),$n(Nt,16),K(xt,0,0),R=Ye,Nt}function on(Y){let Ye=ba(Y)&524288?U(32662,69):U(32670,65),xt=R;R=void 0;let Nt=rl(Y.parameters,$,e),k=V(Y),ge=S&32768?t.getLocalName(Y):Y.name;return K(Ye,229376,0),R=xt,t.updateFunctionExpression(Y,void 0,Y.asteriskToken,ge,void 0,Nt,void 0,k)}function Qt(Y){let Ye=R;R=void 0;let xt=U(32670,65),Nt=rl(Y.parameters,$,e),k=V(Y),ge=S&32768?t.getLocalName(Y):Y.name;return K(xt,229376,0),R=Ye,t.updateFunctionDeclaration(Y,Dn(Y.modifiers,$,ia),Y.asteriskToken,ge,void 0,Nt,void 0,k)}function Zt(Y,Ye,xt,Nt){let k=R;R=void 0;let ge=Nt&&Kr(Nt)&&!zo(Y)?U(32670,73):U(32670,65),Xe=rl(Y.parameters,$,e),Mt=V(Y);return S&32768&&!xt&&(Y.kind===262||Y.kind===218)&&(xt=t.getGeneratedNameForNode(Y)),K(ge,229376,0),R=k,mr(Ze(t.createFunctionExpression(void 0,Y.asteriskToken,xt,void 0,Xe,void 0,Mt),Ye),Y)}function V(Y){let Ye=!1,xt=!1,Nt,k,ge=[],Xe=[],Mt=Y.body,Vn;if(o(),Do(Mt)&&(Vn=t.copyStandardPrologue(Mt.statements,ge,0,!1),Vn=t.copyCustomPrologue(Mt.statements,Xe,Vn,$,cW),Vn=t.copyCustomPrologue(Mt.statements,Xe,Vn,$,dW)),Ye=Tn(Xe,Y)||Ye,Ye=yt(Xe,Y,!1)||Ye,Do(Mt))Vn=t.copyCustomPrologue(Mt.statements,Xe,Vn,$),Nt=Mt.statements,Pr(Xe,Dn(Mt.statements,$,Di,Vn)),!Ye&&Mt.multiLine&&(Ye=!0);else{x.assert(Y.kind===219),Nt=XW(Mt,-1);let Or=Y.equalsGreaterThanToken;!xs(Or)&&!xs(Mt)&&(qL(Or,Mt,v)?xt=!0:Ye=!0);let zi=He(Mt,$,lt),_a=t.createReturnStatement(zi);Ze(_a,Mt),Cre(_a,Mt),$n(_a,2880),Xe.push(_a),k=Mt}if(t.mergeLexicalEnvironment(ge,s()),et(ge,Y),re(ge,Y),ct(ge)&&(Ye=!0),Xe.unshift(...ge),Do(Mt)&&mm(Xe,Mt.statements))return Mt;let jr=t.createBlock(Ze(t.createNodeArray(Xe),Nt),Ye);return Ze(jr,Y.body),!Ye&&xt&&$n(jr,1),k&&Dre(jr,20,k),mr(jr,Y.body),jr}function Re(Y,Ye){if(Ye)return un(Y,$,e);let xt=S&256?U(7104,512):U(6976,128),Nt=un(Y,$,e);return K(xt,0,0),Nt}function St(Y){return un(Y,de,e)}function M(Y,Ye){return un(Y,Ye?de:$,e)}function te(Y,Ye){return nv(Y)?nT(Y,$,e,0,!Ye):Y.operatorToken.kind===28?t.updateBinaryExpression(Y,x.checkDefined(He(Y.left,de,lt)),Y.operatorToken,x.checkDefined(He(Y.right,Ye?de:$,lt))):un(Y,$,e)}function j(Y,Ye){if(Ye)return un(Y,de,e);let xt;for(let k=0;k<Y.elements.length;k++){let ge=Y.elements[k],Xe=He(ge,k<Y.elements.length-1?de:$,lt);(xt||Xe!==ge)&&(xt||(xt=Y.elements.slice(0,k)),x.assert(Xe),xt.push(Xe))}let Nt=xt?Ze(t.createNodeArray(xt),Y.elements):Y.elements;return t.updateCommaListExpression(Y,Nt)}function se(Y){return Y.declarationList.declarations.length===1&&!!Y.declarationList.declarations[0].initializer&&!!(Uf(Y.declarationList.declarations[0].initializer)&1)}function Pe(Y){let Ye=U(0,Wr(Y,32)?32:0),xt;if(R&&!(Y.declarationList.flags&7)&&!se(Y)){let Nt;for(let k of Y.declarationList.declarations)if(zc(R,k),k.initializer){let ge;ko(k.name)?ge=nT(k,$,e,0):(ge=t.createBinaryExpression(k.name,64,x.checkDefined(He(k.initializer,$,lt))),Ze(ge,k)),Nt=pn(Nt,ge)}Nt?xt=Ze(t.createExpressionStatement(t.inlineExpressions(Nt)),Y):xt=void 0}else xt=un(Y,$,e);return K(Ye,0,0),xt}function Ie(Y){if(Y.flags&7||Y.transformFlags&524288){Y.flags&7&&fu();let Ye=Dn(Y.declarations,Y.flags&1?Ot:dn,yi),xt=t.createVariableDeclarationList(Ye);return mr(xt,Y),Ze(xt,Y),Ol(xt,Y),Y.transformFlags&524288&&(ko(Y.declarations[0].name)||ko(Da(Y.declarations).name))&&ca(xt,gt(Ye)),xt}return un(Y,$,e)}function gt(Y){let Ye=-1,xt=-1;for(let Nt of Y)Ye=Ye===-1?Nt.pos:Nt.pos===-1?Ye:Math.min(Ye,Nt.pos),xt=Math.max(xt,Nt.end);return qp(Ye,xt)}function bt(Y){let Ye=p.getNodeCheckFlags(Y),xt=Ye&16384,Nt=Ye&32768;return!((S&64)!==0||xt&&Nt&&(S&512)!==0)&&(S&4096)===0&&(!p.isDeclarationWithCollidingName(Y)||Nt&&!xt&&(S&6144)===0)}function Ot(Y){let Ye=Y.name;return ko(Ye)?dn(Y):!Y.initializer&&bt(Y)?t.updateVariableDeclaration(Y,Y.name,void 0,void 0,t.createVoidZero()):un(Y,$,e)}function dn(Y){let Ye=U(32,0),xt;return ko(Y.name)?xt=v0(Y,$,e,0,void 0,(Ye&32)!==0):xt=un(Y,$,e),K(Ye,0,0),xt}function An(Y){R.labels.set(ar(Y.label),!0)}function Cn(Y){R.labels.set(ar(Y.label),!1)}function ti(Y){R&&!R.labels&&(R.labels=new Map);let Ye=R9(Y,R&&An);return Xv(Ye,!1)?di(Ye,Y):t.restoreEnclosingLabel(x.checkDefined(He(Ye,$,Di,t.liftToBlock)),Y,R&&Cn)}function di(Y,Ye){switch(Y.kind){case 246:case 247:return Ar(Y,Ye);case 248:return Zi(Y,Ye);case 249:return ui(Y,Ye);case 250:return Mr(Y,Ye)}}function jn(Y,Ye,xt,Nt,k){let ge=U(Y,Ye),Xe=ts(xt,Nt,ge,k);return K(ge,0,0),Xe}function Ar(Y,Ye){return jn(0,1280,Y,Ye)}function Zi(Y,Ye){return jn(5056,3328,Y,Ye)}function _i(Y){return t.updateForStatement(Y,He(Y.initializer,de,Up),He(Y.condition,$,lt),He(Y.incrementor,de,lt),x.checkDefined(He(Y.statement,$,Di,t.liftToBlock)))}function ui(Y,Ye){return jn(3008,5376,Y,Ye)}function Mr(Y,Ye){return jn(3008,5376,Y,Ye,d.downlevelIteration?Dl:ms)}function lo(Y,Ye,xt){let Nt=[],k=Y.initializer;if(yc(k)){Y.initializer.flags&7&&fu();let ge=Ac(k.declarations);if(ge&&ko(ge.name)){let Xe=v0(ge,$,e,0,Ye),Mt=Ze(t.createVariableDeclarationList(Xe),Y.initializer);mr(Mt,Y.initializer),ca(Mt,qp(Xe[0].pos,Da(Xe).end)),Nt.push(t.createVariableStatement(void 0,Mt))}else Nt.push(Ze(t.createVariableStatement(void 0,mr(Ze(t.createVariableDeclarationList([t.createVariableDeclaration(ge?ge.name:t.createTempVariable(void 0),void 0,void 0,Ye)]),Cb(k,-1)),k)),XW(k,-1)))}else{let ge=t.createAssignment(k,Ye);nv(ge)?Nt.push(t.createExpressionStatement(te(ge,!0))):(Rx(ge,k.end),Nt.push(Ze(t.createExpressionStatement(x.checkDefined(He(ge,$,lt))),XW(k,-1))))}if(xt)return _n(Pr(Nt,xt));{let ge=He(Y.statement,$,Di,t.liftToBlock);return x.assert(ge),Do(ge)?t.updateBlock(ge,Ze(t.createNodeArray(ro(Nt,ge.statements)),ge.statements)):(Nt.push(ge),_n(Nt))}}function _n(Y){return $n(t.createBlock(t.createNodeArray(Y),!0),864)}function ms(Y,Ye,xt){let Nt=He(Y.expression,$,lt);x.assert(Nt);let k=t.createLoopVariable(),ge=Me(Nt)?t.getGeneratedNameForNode(Nt):t.createTempVariable(void 0);$n(Nt,96|ba(Nt));let Xe=Ze(t.createForStatement($n(Ze(t.createVariableDeclarationList([Ze(t.createVariableDeclaration(k,void 0,void 0,t.createNumericLiteral(0)),Cb(Y.expression,-1)),Ze(t.createVariableDeclaration(ge,void 0,void 0,Nt),Y.expression)]),Y.expression),4194304),Ze(t.createLessThan(k,t.createPropertyAccessExpression(ge,\"length\")),Y.expression),Ze(t.createPostfixIncrement(k),Y.expression),lo(Y,t.createElementAccessExpression(ge,k),xt)),Y);return $n(Xe,512),Ze(Xe,Y),t.restoreEnclosingLabel(Xe,Ye,R&&Cn)}function Dl(Y,Ye,xt,Nt){let k=He(Y.expression,$,lt);x.assert(k);let ge=Me(k)?t.getGeneratedNameForNode(k):t.createTempVariable(void 0),Xe=Me(k)?t.getGeneratedNameForNode(ge):t.createTempVariable(void 0),Mt=t.createUniqueName(\"e\"),Vn=t.getGeneratedNameForNode(Mt),jr=t.createTempVariable(void 0),Or=Ze(r().createValuesHelper(k),Y.expression),zi=t.createCallExpression(t.createPropertyAccessExpression(ge,\"next\"),void 0,[]);l(Mt),l(jr);let _a=Nt&1024?t.inlineExpressions([t.createAssignment(Mt,t.createVoidZero()),Or]):Or,ha=$n(Ze(t.createForStatement($n(Ze(t.createVariableDeclarationList([Ze(t.createVariableDeclaration(ge,void 0,void 0,_a),Y.expression),t.createVariableDeclaration(Xe,void 0,void 0,zi)]),Y.expression),4194304),t.createLogicalNot(t.createPropertyAccessExpression(Xe,\"done\")),t.createAssignment(Xe,zi),lo(Y,t.createPropertyAccessExpression(Xe,\"value\"),xt)),Y),512);return t.createTryStatement(t.createBlock([t.restoreEnclosingLabel(ha,Ye,R&&Cn)]),t.createCatchClause(t.createVariableDeclaration(Vn),$n(t.createBlock([t.createExpressionStatement(t.createAssignment(Mt,t.createObjectLiteralExpression([t.createPropertyAssignment(\"error\",Vn)])))]),1)),t.createBlock([t.createTryStatement(t.createBlock([$n(t.createIfStatement(t.createLogicalAnd(t.createLogicalAnd(Xe,t.createLogicalNot(t.createPropertyAccessExpression(Xe,\"done\"))),t.createAssignment(jr,t.createPropertyAccessExpression(ge,\"return\"))),t.createExpressionStatement(t.createFunctionCallCall(jr,ge,[]))),1)]),void 0,$n(t.createBlock([$n(t.createIfStatement(Mt,t.createThrowStatement(t.createPropertyAccessExpression(Mt,\"error\"))),1)]),1))]))}function _o(Y){let Ye=Y.properties,xt=-1,Nt=!1;for(let Mt=0;Mt<Ye.length;Mt++){let Vn=Ye[Mt];if(Vn.transformFlags&1048576&&S&4||(Nt=x.checkDefined(Vn.name).kind===167)){xt=Mt;break}}if(xt<0)return un(Y,$,e);let k=t.createTempVariable(l),ge=[],Xe=t.createAssignment(k,$n(t.createObjectLiteralExpression(Dn(Ye,$,Zh,0,xt),Y.multiLine),Nt?131072:0));return Y.multiLine&&Sd(Xe),ge.push(Xe),$t(ge,Y,k,xt),ge.push(Y.multiLine?Sd(Aa(Ze(t.cloneNode(k),k),k.parent)):k),t.inlineExpressions(ge)}function Va(Y){return(p.getNodeCheckFlags(Y)&8192)!==0}function vs(Y){return qS(Y)&&!!Y.initializer&&Va(Y.initializer)}function Js(Y){return qS(Y)&&!!Y.condition&&Va(Y.condition)}function Fc(Y){return qS(Y)&&!!Y.incrementor&&Va(Y.incrementor)}function $i(Y){return Uo(Y)||vs(Y)}function Uo(Y){return(p.getNodeCheckFlags(Y)&4096)!==0}function zc(Y,Ye){Y.hoistedLocalVariables||(Y.hoistedLocalVariables=[]),xt(Ye.name);function xt(Nt){if(Nt.kind===80)Y.hoistedLocalVariables.push(Nt);else for(let k of Nt.elements)vc(k)||xt(k.name)}}function ts(Y,Ye,xt,Nt){if(!$i(Y)){let Or;R&&(Or=R.allowedNonLabeledJumps,R.allowedNonLabeledJumps=6);let zi=Nt?Nt(Y,Ye,void 0,xt):t.restoreEnclosingLabel(qS(Y)?_i(Y):un(Y,$,e),Ye,R&&Cn);return R&&(R.allowedNonLabeledJumps=Or),zi}let k=ho(Y),ge=[],Xe=R;R=k;let Mt=vs(Y)?Pc(Y,k):void 0,Vn=Uo(Y)?Bc(Y,k,Xe):void 0;R=Xe,Mt&&ge.push(Mt.functionDeclaration),Vn&&ge.push(Vn.functionDeclaration),Ut(ge,k,Xe),Mt&&ge.push(tc(Mt.functionName,Mt.containsYield));let jr;if(Vn)if(Nt)jr=Nt(Y,Ye,Vn.part,xt);else{let Or=ua(Y,Mt,t.createBlock(Vn.part,!0));jr=t.restoreEnclosingLabel(Or,Ye,R&&Cn)}else{let Or=ua(Y,Mt,x.checkDefined(He(Y.statement,$,Di,t.liftToBlock)));jr=t.restoreEnclosingLabel(Or,Ye,R&&Cn)}return ge.push(jr),ge}function ua(Y,Ye,xt){switch(Y.kind){case 248:return Us(Y,Ye,xt);case 249:return Wl(Y,xt);case 250:return tf(Y,xt);case 246:return il(Y,xt);case 247:return zs(Y,xt);default:return x.failBadSyntaxKind(Y,\"IterationStatement expected\")}}function Us(Y,Ye,xt){let Nt=Y.condition&&Va(Y.condition),k=Nt||Y.incrementor&&Va(Y.incrementor);return t.updateForStatement(Y,He(Ye?Ye.part:Y.initializer,de,Up),He(Nt?void 0:Y.condition,$,lt),He(k?void 0:Y.incrementor,de,lt),xt)}function tf(Y,Ye){return t.updateForOfStatement(Y,void 0,x.checkDefined(He(Y.initializer,$,Up)),x.checkDefined(He(Y.expression,$,lt)),Ye)}function Wl(Y,Ye){return t.updateForInStatement(Y,x.checkDefined(He(Y.initializer,$,Up)),x.checkDefined(He(Y.expression,$,lt)),Ye)}function il(Y,Ye){return t.updateDoStatement(Y,Ye,x.checkDefined(He(Y.expression,$,lt)))}function zs(Y,Ye){return t.updateWhileStatement(Y,x.checkDefined(He(Y.expression,$,lt)),Ye)}function ho(Y){let Ye;switch(Y.kind){case 248:case 249:case 250:let ge=Y.initializer;ge&&ge.kind===261&&(Ye=ge);break}let xt=[],Nt=[];if(Ye&&Xg(Ye)&7){let ge=vs(Y)||Js(Y)||Fc(Y);for(let Xe of Ye.declarations)dt(Y,Xe,xt,Nt,ge)}let k={loopParameters:xt,loopOutParameters:Nt};return R&&(R.argumentsName&&(k.argumentsName=R.argumentsName),R.thisName&&(k.thisName=R.thisName),R.hoistedLocalVariables&&(k.hoistedLocalVariables=R.hoistedLocalVariables)),k}function Ut(Y,Ye,xt){let Nt;if(Ye.argumentsName&&(xt?xt.argumentsName=Ye.argumentsName:(Nt||(Nt=[])).push(t.createVariableDeclaration(Ye.argumentsName,void 0,void 0,t.createIdentifier(\"arguments\")))),Ye.thisName&&(xt?xt.thisName=Ye.thisName:(Nt||(Nt=[])).push(t.createVariableDeclaration(Ye.thisName,void 0,void 0,t.createIdentifier(\"this\")))),Ye.hoistedLocalVariables)if(xt)xt.hoistedLocalVariables=Ye.hoistedLocalVariables;else{Nt||(Nt=[]);for(let k of Ye.hoistedLocalVariables)Nt.push(t.createVariableDeclaration(k))}if(Ye.loopOutParameters.length){Nt||(Nt=[]);for(let k of Ye.loopOutParameters)Nt.push(t.createVariableDeclaration(k.outParamName))}Ye.conditionVariable&&(Nt||(Nt=[]),Nt.push(t.createVariableDeclaration(Ye.conditionVariable,void 0,void 0,t.createFalse()))),Nt&&Y.push(t.createVariableStatement(void 0,t.createVariableDeclarationList(Nt)))}function ys(Y){return t.createVariableDeclaration(Y.originalName,void 0,void 0,Y.outParamName)}function Pc(Y,Ye){let xt=t.createUniqueName(\"_loop_init\"),Nt=(Y.initializer.transformFlags&1048576)!==0,k=0;Ye.containsLexicalThis&&(k|=16),Nt&&S&4&&(k|=524288);let ge=[];ge.push(t.createVariableStatement(void 0,Y.initializer)),ls(Ye.loopOutParameters,2,1,ge);let Xe=t.createVariableStatement(void 0,$n(t.createVariableDeclarationList([t.createVariableDeclaration(xt,void 0,void 0,$n(t.createFunctionExpression(void 0,Nt?t.createToken(42):void 0,void 0,void 0,void 0,void 0,x.checkDefined(He(t.createBlock(ge,!0),$,Do))),k))]),4194304)),Mt=t.createVariableDeclarationList(nn(Ye.loopOutParameters,ys));return{functionName:xt,containsYield:Nt,functionDeclaration:Xe,part:Mt}}function Bc(Y,Ye,xt){let Nt=t.createUniqueName(\"_loop\");i();let k=He(Y.statement,$,Di,t.liftToBlock),ge=s(),Xe=[];(Js(Y)||Fc(Y))&&(Ye.conditionVariable=t.createUniqueName(\"inc\"),Y.incrementor?Xe.push(t.createIfStatement(Ye.conditionVariable,t.createExpressionStatement(x.checkDefined(He(Y.incrementor,$,lt))),t.createExpressionStatement(t.createAssignment(Ye.conditionVariable,t.createTrue())))):Xe.push(t.createIfStatement(t.createLogicalNot(Ye.conditionVariable),t.createExpressionStatement(t.createAssignment(Ye.conditionVariable,t.createTrue())))),Js(Y)&&Xe.push(t.createIfStatement(t.createPrefixUnaryExpression(54,x.checkDefined(He(Y.condition,$,lt))),x.checkDefined(He(t.createBreakStatement(),$,Di))))),x.assert(k),Do(k)?Pr(Xe,k.statements):Xe.push(k),ls(Ye.loopOutParameters,1,1,Xe),vh(Xe,ge);let Mt=t.createBlock(Xe,!0);Do(k)&&mr(Mt,k);let Vn=(Y.statement.transformFlags&1048576)!==0,jr=1048576;Ye.containsLexicalThis&&(jr|=16),Vn&&S&4&&(jr|=524288);let Or=t.createVariableStatement(void 0,$n(t.createVariableDeclarationList([t.createVariableDeclaration(Nt,void 0,void 0,$n(t.createFunctionExpression(void 0,Vn?t.createToken(42):void 0,void 0,void 0,Ye.loopParameters,void 0,Mt),jr))]),4194304)),zi=ae(Nt,Ye,xt,Vn);return{functionName:Nt,containsYield:Vn,functionDeclaration:Or,part:zi}}function Ju(Y,Ye){let xt=Ye===0?Y.outParamName:Y.originalName,Nt=Ye===0?Y.originalName:Y.outParamName;return t.createBinaryExpression(Nt,64,xt)}function ls(Y,Ye,xt,Nt){for(let k of Y)k.flags&Ye&&Nt.push(t.createExpressionStatement(Ju(k,xt)))}function tc(Y,Ye){let xt=t.createCallExpression(Y,void 0,[]),Nt=Ye?t.createYieldExpression(t.createToken(42),$n(xt,8388608)):xt;return t.createExpressionStatement(Nt)}function ae(Y,Ye,xt,Nt){let k=[],ge=!(Ye.nonLocalJumps&-5)&&!Ye.labeledNonLocalBreaks&&!Ye.labeledNonLocalContinues,Xe=t.createCallExpression(Y,void 0,nn(Ye.loopParameters,Vn=>Vn.name)),Mt=Nt?t.createYieldExpression(t.createToken(42),$n(Xe,8388608)):Xe;if(ge)k.push(t.createExpressionStatement(Mt)),ls(Ye.loopOutParameters,1,0,k);else{let Vn=t.createUniqueName(\"state\"),jr=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(Vn,void 0,void 0,Mt)]));if(k.push(jr),ls(Ye.loopOutParameters,1,0,k),Ye.nonLocalJumps&8){let Or;xt?(xt.nonLocalJumps|=8,Or=t.createReturnStatement(Vn)):Or=t.createReturnStatement(t.createPropertyAccessExpression(Vn,\"value\")),k.push(t.createIfStatement(t.createTypeCheck(Vn,\"object\"),Or))}if(Ye.nonLocalJumps&2&&k.push(t.createIfStatement(t.createStrictEquality(Vn,t.createStringLiteral(\"break\")),t.createBreakStatement())),Ye.labeledNonLocalBreaks||Ye.labeledNonLocalContinues){let Or=[];xe(Ye.labeledNonLocalBreaks,!0,Vn,xt,Or),xe(Ye.labeledNonLocalContinues,!1,Vn,xt,Or),k.push(t.createSwitchStatement(Vn,t.createCaseBlock(Or)))}}return k}function X(Y,Ye,xt,Nt){Ye?(Y.labeledNonLocalBreaks||(Y.labeledNonLocalBreaks=new Map),Y.labeledNonLocalBreaks.set(xt,Nt)):(Y.labeledNonLocalContinues||(Y.labeledNonLocalContinues=new Map),Y.labeledNonLocalContinues.set(xt,Nt))}function xe(Y,Ye,xt,Nt,k){Y&&Y.forEach((ge,Xe)=>{let Mt=[];if(!Nt||Nt.labels&&Nt.labels.get(Xe)){let Vn=t.createIdentifier(Xe);Mt.push(Ye?t.createBreakStatement(Vn):t.createContinueStatement(Vn))}else X(Nt,Ye,Xe,ge),Mt.push(t.createReturnStatement(xt));k.push(t.createCaseClause(t.createStringLiteral(ge),Mt))})}function dt(Y,Ye,xt,Nt,k){let ge=Ye.name;if(ko(ge))for(let Xe of ge.elements)vc(Xe)||dt(Y,Xe,xt,Nt,k);else{xt.push(t.createParameterDeclaration(void 0,void 0,ge));let Xe=p.getNodeCheckFlags(Ye);if(Xe&65536||k){let Mt=t.createUniqueName(\"out_\"+ar(ge)),Vn=0;Xe&65536&&(Vn|=1),qS(Y)&&(Y.initializer&&p.isBindingCapturedByNode(Y.initializer,Ye)&&(Vn|=2),(Y.condition&&p.isBindingCapturedByNode(Y.condition,Ye)||Y.incrementor&&p.isBindingCapturedByNode(Y.incrementor,Ye))&&(Vn|=1)),Nt.push({flags:Vn,originalName:ge,outParamName:Mt})}}}function $t(Y,Ye,xt,Nt){let k=Ye.properties,ge=k.length;for(let Xe=Nt;Xe<ge;Xe++){let Mt=k[Xe];switch(Mt.kind){case 177:case 178:let Vn=wS(Ye.properties,Mt);Mt===Vn.firstAccessor&&Y.push(it(xt,Vn,Ye,!!Ye.multiLine));break;case 174:Y.push(Ir(Mt,xt,Ye,Ye.multiLine));break;case 303:Y.push(sr(Mt,xt,Ye.multiLine));break;case 304:Y.push(tr(Mt,xt,Ye.multiLine));break;default:x.failBadSyntaxKind(Ye);break}}}function sr(Y,Ye,xt){let Nt=t.createAssignment(QS(t,Ye,x.checkDefined(He(Y.name,$,kl))),x.checkDefined(He(Y.initializer,$,lt)));return Ze(Nt,Y),xt&&Sd(Nt),Nt}function tr(Y,Ye,xt){let Nt=t.createAssignment(QS(t,Ye,x.checkDefined(He(Y.name,$,kl))),t.cloneNode(Y.name));return Ze(Nt,Y),xt&&Sd(Nt),Nt}function Ir(Y,Ye,xt,Nt){let k=t.createAssignment(QS(t,Ye,x.checkDefined(He(Y.name,$,kl))),Zt(Y,Y,void 0,xt));return Ze(k,Y),Nt&&Sd(k),k}function pi(Y){let Ye=U(7104,0),xt;if(x.assert(!!Y.variableDeclaration,\"Catch clause variable should always be present when downleveling ES2015.\"),ko(Y.variableDeclaration.name)){let Nt=t.createTempVariable(void 0),k=t.createVariableDeclaration(Nt);Ze(k,Y.variableDeclaration);let ge=v0(Y.variableDeclaration,$,e,0,Nt),Xe=t.createVariableDeclarationList(ge);Ze(Xe,Y.variableDeclaration);let Mt=t.createVariableStatement(void 0,Xe);xt=t.updateCatchClause(Y,k,hr(Y.block,Mt))}else xt=un(Y,$,e);return K(Ye,0,0),xt}function hr(Y,Ye){let xt=Dn(Y.statements,$,Di);return t.updateBlock(Y,[Ye,...xt])}function No(Y){x.assert(!Pa(Y.name));let Ye=Zt(Y,Cb(Y,-1),void 0,void 0);return $n(Ye,1024|ba(Ye)),Ze(t.createPropertyAssignment(Y.name,Ye),Y)}function Qs(Y){x.assert(!Pa(Y.name));let Ye=R;R=void 0;let xt=U(32670,65),Nt,k=rl(Y.parameters,$,e),ge=V(Y);return Y.kind===177?Nt=t.updateGetAccessorDeclaration(Y,Y.modifiers,Y.name,k,Y.type,ge):Nt=t.updateSetAccessorDeclaration(Y,Y.modifiers,Y.name,k,ge),K(xt,229376,0),R=Ye,Nt}function bc(Y){return Ze(t.createPropertyAssignment(Y.name,_e(t.cloneNode(Y.name))),Y)}function bs(Y){return un(Y,$,e)}function Jl(Y){return un(Y,$,e)}function Za(Y){return ct(Y.elements,bm)?Vd(Y.elements,!1,!!Y.multiLine,!!Y.elements.hasTrailingComma):un(Y,$,e)}function Ec(Y){if(Uf(Y)&1)return Du(Y);let Ye=Rl(Y.expression);return Ye.kind===108||cu(Ye)||ct(Y.arguments,bm)?pc(Y,!0):t.updateCallExpression(Y,x.checkDefined(He(Y.expression,q,lt)),void 0,Dn(Y.arguments,$,lt))}function Du(Y){let Ye=Fo(Fo(Rl(Y.expression),gs).body,Do),xt=_u=>cl(_u)&&!!Ta(_u.declarationList.declarations).initializer,Nt=R;R=void 0;let k=Dn(Ye.statements,fe,Di);R=Nt;let ge=Cr(k,xt),Xe=Cr(k,_u=>!xt(_u)),Vn=Fo(Ta(ge),cl).declarationList.declarations[0],jr=Rl(Vn.initializer),Or=Vr(jr,lc);!Or&&Zn(jr)&&jr.operatorToken.kind===28&&(Or=Vr(jr.left,lc));let zi=Fo(Or?Rl(Or.right):jr,Bo),_a=Fo(Rl(zi.expression),ps),ha=_a.body.statements,pl=0,Gc=-1,nc=[];if(Or){let _u=Vr(ha[pl],Cc);_u&&(nc.push(_u),pl++),nc.push(ha[pl]),pl++,nc.push(t.createExpressionStatement(t.createAssignment(Or.left,Fo(Vn.name,Me))))}for(;!Kf(qg(ha,Gc));)Gc--;Pr(nc,ha,pl,Gc),Gc<-1&&Pr(nc,ha,Gc+1);let Xu=Vr(qg(ha,Gc),Kf);for(let _u of Xe)Kf(_u)&&Xu?.expression&&!Me(Xu.expression)?nc.push(Xu):nc.push(_u);return Pr(nc,ge,1),t.restoreOuterExpressions(Y.expression,t.restoreOuterExpressions(Vn.initializer,t.restoreOuterExpressions(Or&&Or.right,t.updateCallExpression(zi,t.restoreOuterExpressions(zi.expression,t.updateFunctionExpression(_a,void 0,void 0,void 0,void 0,_a.parameters,void 0,t.updateBlock(_a.body,nc))),void 0,zi.arguments))))}function pc(Y,Ye){if(Y.transformFlags&32768||Y.expression.kind===108||cu(Rl(Y.expression))){let{target:xt,thisArg:Nt}=t.createCallBinding(Y.expression,l);Y.expression.kind===108&&$n(Nt,8);let k;if(Y.transformFlags&32768?k=t.createFunctionApplyCall(x.checkDefined(He(xt,q,lt)),Y.expression.kind===108?Nt:x.checkDefined(He(Nt,$,lt)),Vd(Y.arguments,!0,!1,!1)):k=Ze(t.createFunctionCallCall(x.checkDefined(He(xt,q,lt)),Y.expression.kind===108?Nt:x.checkDefined(He(Nt,$,lt)),Dn(Y.arguments,$,lt)),Y),Y.expression.kind===108){let ge=t.createLogicalOr(k,so());k=Ye?t.createAssignment(Z(),ge):ge}return mr(k,Y)}return xS(Y)&&(S|=131072),un(Y,$,e)}function Nf(Y){if(ct(Y.arguments,bm)){let{target:Ye,thisArg:xt}=t.createCallBinding(t.createPropertyAccessExpression(Y.expression,\"bind\"),l);return t.createNewExpression(t.createFunctionApplyCall(x.checkDefined(He(Ye,$,lt)),xt,Vd(t.createNodeArray([t.createVoidZero(),...Y.arguments]),!0,!1,!1)),void 0,[])}return un(Y,$,e)}function Vd(Y,Ye,xt,Nt){let k=Y.length,ge=Ff(Q5(Y,Se,(jr,Or,zi,_a)=>Or(jr,xt,Nt&&_a===k)));if(ge.length===1){let jr=ge[0];if(Ye&&!d.downlevelIteration||kV(jr.expression)||oN(jr.expression,\"___spreadArray\"))return jr.expression}let Xe=r(),Mt=ge[0].kind!==0,Vn=Mt?t.createArrayLiteralExpression():ge[0].expression;for(let jr=Mt?0:1;jr<ge.length;jr++){let Or=ge[jr];Vn=Xe.createSpreadArrayHelper(Vn,Or.expression,Or.kind===1&&!Ye)}return Vn}function Se(Y){return bm(Y)?At:eo}function At(Y){return nn(Y,Ln)}function Ln(Y){x.assertNode(Y,bm);let Ye=He(Y.expression,$,lt);x.assert(Ye);let xt=oN(Ye,\"___read\"),Nt=xt||kV(Ye)?2:1;return d.downlevelIteration&&Nt===1&&!Bd(Ye)&&!xt&&(Ye=r().createReadHelper(Ye,void 0),Nt=2),zSe(Nt,Ye)}function eo(Y,Ye,xt){let Nt=t.createArrayLiteralExpression(Dn(t.createNodeArray(Y,xt),$,lt),Ye);return zSe(0,Nt)}function Po(Y){return He(Y.expression,$,lt)}function Oo(Y){return Ze(t.createStringLiteral(Y.text),Y)}function Cl(Y){return Y.hasExtendedUnicodeEscape?Ze(t.createStringLiteral(Y.text),Y):Y}function Kl(Y){return Y.numericLiteralFlags&384?Ze(t.createNumericLiteral(Y.text),Y):Y}function Bs(Y){return rH(e,Y,$,v,C,1)}function Ks(Y){let Ye=t.createStringLiteral(Y.head.text);for(let xt of Y.templateSpans){let Nt=[x.checkDefined(He(xt.expression,$,lt))];xt.literal.text.length>0&&Nt.push(t.createStringLiteral(xt.literal.text)),Ye=t.createCallExpression(t.createPropertyAccessExpression(Ye,\"concat\"),void 0,Nt)}return Ze(Ye,Y)}function vl(){return t.createUniqueName(\"_super\",48)}function Nl(Y,Ye){let xt=S&8&&!Ye?t.createPropertyAccessExpression(mr(vl(),Y),\"prototype\"):vl();return mr(xt,Y),Ol(xt,Y),ca(xt,Y),xt}function Sc(Y){return Y.keywordToken===105&&Y.name.escapedText===\"target\"?(S|=32768,t.createUniqueName(\"_newTarget\",48)):Y}function kp(Y,Ye,xt){if(L&1&&Lo(Ye)){let Nt=U(32670,ba(Ye)&16?81:65);m(Y,Ye,xt),K(Nt,0,0);return}m(Y,Ye,xt)}function fu(){L&2||(L|=2,e.enableSubstitution(80))}function tu(){L&1||(L|=1,e.enableSubstitution(110),e.enableEmitNotification(176),e.enableEmitNotification(174),e.enableEmitNotification(177),e.enableEmitNotification(178),e.enableEmitNotification(219),e.enableEmitNotification(218),e.enableEmitNotification(262))}function nf(Y,Ye){return Ye=h(Y,Ye),Y===1?fg(Ye):Me(Ye)?u_(Ye):Ye}function u_(Y){if(L&2&&!Fj(Y)){let Ye=uo(Y,Me);if(Ye&&X_(Ye))return Ze(t.getGeneratedNameForNode(Ye),Y)}return Y}function X_(Y){switch(Y.parent.kind){case 208:case 263:case 266:case 260:return Y.parent.name===Y&&p.isDeclarationWithCollidingName(Y.parent)}return!1}function fg(Y){switch(Y.kind){case 80:return fd(Y);case 110:return Ku(Y)}return Y}function fd(Y){if(L&2&&!Fj(Y)){let Ye=p.getReferencedDeclarationWithCollidingName(Y);if(Ye&&!(Kr(Ye)&&mg(Ye,Y)))return Ze(t.getGeneratedNameForNode(mo(Ye)),Y)}return Y}function mg(Y,Ye){let xt=uo(Ye);if(!xt||xt===Y||xt.end<=Y.pos||xt.pos>=Y.end)return!1;let Nt=w_(Y);for(;xt;){if(xt===Nt||xt===Y)return!1;if(xc(xt)&&xt.parent===Y)return!0;xt=xt.parent}return!1}function Ku(Y){return L&1&&S&16?Ze(Z(),Y):Y}function Lh(Y,Ye){return zo(Ye)?t.getInternalName(Y):t.createPropertyAccessExpression(t.getInternalName(Y),\"prototype\")}function mu(Y,Ye){if(!Y||!Ye||ct(Y.parameters))return!1;let xt=Ac(Y.body.statements);if(!xt||!xs(xt)||xt.kind!==244)return!1;let Nt=xt.expression;if(!xs(Nt)||Nt.kind!==213)return!1;let k=Nt.expression;if(!xs(k)||k.kind!==108)return!1;let ge=R_(Nt.arguments);if(!ge||!xs(ge)||ge.kind!==230)return!1;let Xe=ge.expression;return Me(Xe)&&Xe.escapedText===\"arguments\"}}var Yze=pt({\"src/compiler/transformers/es2015.ts\"(){\"use strict\";wo()}});function pae(e){let{factory:t}=e,r=e.getCompilerOptions(),i,o;(r.jsx===1||r.jsx===3)&&(i=e.onEmitNode,e.onEmitNode=d,e.enableEmitNotification(286),e.enableEmitNotification(287),e.enableEmitNotification(285),o=[]);let s=e.onSubstituteNode;return e.onSubstituteNode=p,e.enableSubstitution(211),e.enableSubstitution(303),$f(e,l);function l(E){return E}function d(E,S,A){switch(S.kind){case 286:case 287:case 285:let C=S.tagName;o[dd(C)]=!0;break}i(E,S,A)}function p(E,S){return S.id&&o&&o[S.id]?s(E,S):(S=s(E,S),Er(S)?h(S):Hl(S)?m(S):S)}function h(E){if(Ci(E.name))return E;let S=v(E.name);return S?Ze(t.createElementAccessExpression(E.expression,S),E):E}function m(E){let S=Me(E.name)&&v(E.name);return S?t.updatePropertyAssignment(E,S,E.initializer):E}function v(E){let S=vb(E);if(S!==void 0&&S>=83&&S<=118)return Ze(t.createStringLiteralFromNode(E),E)}}var $ze=pt({\"src/compiler/transformers/es5.ts\"(){\"use strict\";wo()}});function Qze(e){switch(e){case 2:return\"return\";case 3:return\"break\";case 4:return\"yield\";case 5:return\"yield*\";case 7:return\"endfinally\";default:return}}function fae(e){let{factory:t,getEmitHelperFactory:r,resumeLexicalEnvironment:i,endLexicalEnvironment:o,hoistFunctionDeclaration:s,hoistVariableDeclaration:l}=e,d=e.getCompilerOptions(),p=Wa(d),h=e.getEmitResolver(),m=e.onSubstituteNode;e.onSubstituteNode=St;let v,E,S,A,C,R,L,G,U,K,F=1,oe,W,$,de,fe=0,q=0,H,ee,le,Ee,ce,Z,pe,Ae;return $f(e,Oe);function Oe(Se){if(Se.isDeclarationFile||!(Se.transformFlags&2048))return Se;let At=un(Se,_e,e);return ag(At,e.readEmitHelpers()),At}function _e(Se){let At=Se.transformFlags;return A?be(Se):S?Te(Se):hs(Se)&&Se.asteriskToken?ft(Se):At&2048?un(Se,_e,e):Se}function be(Se){switch(Se.kind){case 246:return Jo(Se);case 247:return ln(Se);case 255:return it(Se);case 256:return on(Se);default:return Te(Se)}}function Te(Se){switch(Se.kind){case 262:return he(Se);case 218:return Le(Se);case 177:case 178:return Ke(Se);case 243:return st(Se);case 248:return ke(Se);case 249:return tt(Se);case 252:return et(Se);case 251:return re(Se);case 253:return Je(Se);default:return Se.transformFlags&1048576?De(Se):Se.transformFlags&4196352?un(Se,_e,e):Se}}function De(Se){switch(Se.kind){case 226:return Ge(Se);case 361:return gn(Se);case 227:return en(Se);case 229:return zt(Se);case 209:return Wt(Se);case 210:return Ki(Se);case 212:return gi(Se);case 213:return io(Se);case 214:return Gn(Se);default:return un(Se,_e,e)}}function ft(Se){switch(Se.kind){case 262:return he(Se);case 218:return Le(Se);default:return x.failBadSyntaxKind(Se)}}function he(Se){if(Se.asteriskToken)Se=mr(Ze(t.createFunctionDeclaration(Se.modifiers,void 0,Se.name,void 0,rl(Se.parameters,_e,e),void 0,Dt(Se.body)),Se),Se);else{let At=S,Ln=A;S=!1,A=!1,Se=un(Se,_e,e),S=At,A=Ln}if(S){s(Se);return}else return Se}function Le(Se){if(Se.asteriskToken)Se=mr(Ze(t.createFunctionExpression(void 0,void 0,Se.name,void 0,rl(Se.parameters,_e,e),void 0,Dt(Se.body)),Se),Se);else{let At=S,Ln=A;S=!1,A=!1,Se=un(Se,_e,e),S=At,A=Ln}return Se}function Ke(Se){let At=S,Ln=A;return S=!1,A=!1,Se=un(Se,_e,e),S=At,A=Ln,Se}function Dt(Se){let At=[],Ln=S,eo=A,Po=C,Oo=R,Cl=L,Kl=G,Bs=U,Ks=K,vl=F,Nl=oe,Sc=W,kp=$,fu=de;S=!0,A=!1,C=void 0,R=void 0,L=void 0,G=void 0,U=void 0,K=void 0,F=1,oe=void 0,W=void 0,$=void 0,de=t.createTempVariable(void 0),i();let tu=t.copyPrologue(Se.statements,At,!1,_e);Nr(Se.statements,tu);let nf=X();return vh(At,o()),At.push(t.createReturnStatement(nf)),S=Ln,A=eo,C=Po,R=Oo,L=Cl,G=Kl,U=Bs,K=Ks,F=vl,oe=Nl,W=Sc,$=kp,de=fu,Ze(t.createBlock(At,Se.multiLine),Se)}function st(Se){if(Se.transformFlags&1048576){qr(Se.declarationList);return}else{if(ba(Se)&2097152)return Se;for(let Ln of Se.declarationList.declarations)l(Ln.name);let At=wC(Se.declarationList);return At.length===0?void 0:ca(t.createExpressionStatement(t.inlineExpressions(nn(At,ni))),Se)}}function Ge(Se){let At=Y9(Se);switch(At){case 0:return Vt(Se);case 1:return ot(Se);default:return x.assertNever(At)}}function ot(Se){let{left:At,right:Ln}=Se;if(V(Ln)){let eo;switch(At.kind){case 211:eo=t.updatePropertyAccessExpression(At,j(x.checkDefined(He(At.expression,_e,Tu))),At.name);break;case 212:eo=t.updateElementAccessExpression(At,j(x.checkDefined(He(At.expression,_e,Tu))),j(x.checkDefined(He(At.argumentExpression,_e,lt))));break;default:eo=x.checkDefined(He(At,_e,lt));break}let Po=Se.operatorToken.kind;return PN(Po)?Ze(t.createAssignment(eo,Ze(t.createBinaryExpression(j(eo),MN(Po),x.checkDefined(He(Ln,_e,lt))),Se)),Se):t.updateBinaryExpression(Se,eo,Se.operatorToken,x.checkDefined(He(Ln,_e,lt)))}return un(Se,_e,e)}function Vt(Se){return V(Se.right)?Ine(Se.operatorToken.kind)?On(Se):Se.operatorToken.kind===28?jt(Se):t.updateBinaryExpression(Se,j(x.checkDefined(He(Se.left,_e,lt))),Se.operatorToken,x.checkDefined(He(Se.right,_e,lt))):un(Se,_e,e)}function jt(Se){let At=[];return Ln(Se.left),Ln(Se.right),t.inlineExpressions(At);function Ln(eo){Zn(eo)&&eo.operatorToken.kind===28?(Ln(eo.left),Ln(eo.right)):(V(eo)&&At.length>0&&(ae(1,[t.createExpressionStatement(t.inlineExpressions(At))]),At=[]),At.push(x.checkDefined(He(eo,_e,lt))))}}function gn(Se){let At=[];for(let Ln of Se.elements)Zn(Ln)&&Ln.operatorToken.kind===28?At.push(jt(Ln)):(V(Ln)&&At.length>0&&(ae(1,[t.createExpressionStatement(t.inlineExpressions(At))]),At=[]),At.push(x.checkDefined(He(Ln,_e,lt))));return t.inlineExpressions(At)}function On(Se){let At=Pe(),Ln=se();return zs(Ln,x.checkDefined(He(Se.left,_e,lt)),Se.left),Se.operatorToken.kind===56?ys(At,Ln,Se.left):Ut(At,Ln,Se.left),zs(Ln,x.checkDefined(He(Se.right,_e,lt)),Se.right),Ie(At),Ln}function en(Se){if(V(Se.whenTrue)||V(Se.whenFalse)){let At=Pe(),Ln=Pe(),eo=se();return ys(At,x.checkDefined(He(Se.condition,_e,lt)),Se.condition),zs(eo,x.checkDefined(He(Se.whenTrue,_e,lt)),Se.whenTrue),ho(Ln),Ie(At),zs(eo,x.checkDefined(He(Se.whenFalse,_e,lt)),Se.whenFalse),Ie(Ln),eo}return un(Se,_e,e)}function zt(Se){let At=Pe(),Ln=He(Se.expression,_e,lt);if(Se.asteriskToken){let eo=ba(Se.expression)&8388608?Ln:Ze(r().createValuesHelper(Ln),Se);Pc(eo,Se)}else Bc(Ln,Se);return Ie(At),tf(Se)}function Wt(Se){return ei(Se.elements,void 0,void 0,Se.multiLine)}function ei(Se,At,Ln,eo){let Po=Re(Se),Oo;if(Po>0){Oo=se();let Bs=Dn(Se,_e,lt,0,Po);zs(Oo,t.createArrayLiteralExpression(At?[At,...Bs]:Bs)),At=void 0}let Cl=Nd(Se,Kl,[],Po);return Oo?t.createArrayConcatCall(Oo,[t.createArrayLiteralExpression(Cl,eo)]):Ze(t.createArrayLiteralExpression(At?[At,...Cl]:Cl,eo),Ln);function Kl(Bs,Ks){if(V(Ks)&&Bs.length>0){let vl=Oo!==void 0;Oo||(Oo=se()),zs(Oo,vl?t.createArrayConcatCall(Oo,[t.createArrayLiteralExpression(Bs,eo)]):t.createArrayLiteralExpression(At?[At,...Bs]:Bs,eo)),At=void 0,Bs=[]}return Bs.push(x.checkDefined(He(Ks,_e,lt))),Bs}}function Ki(Se){let At=Se.properties,Ln=Se.multiLine,eo=Re(At),Po=se();zs(Po,t.createObjectLiteralExpression(Dn(At,_e,Zh,0,eo),Ln));let Oo=Nd(At,Cl,[],eo);return Oo.push(Ln?Sd(Aa(Ze(t.cloneNode(Po),Po),Po.parent)):Po),t.inlineExpressions(Oo);function Cl(Kl,Bs){V(Bs)&&Kl.length>0&&(il(t.createExpressionStatement(t.inlineExpressions(Kl))),Kl=[]);let Ks=fie(t,Se,Bs,Po),vl=He(Ks,_e,lt);return vl&&(Ln&&Sd(vl),Kl.push(vl)),Kl}}function gi(Se){return V(Se.argumentExpression)?t.updateElementAccessExpression(Se,j(x.checkDefined(He(Se.expression,_e,Tu))),x.checkDefined(He(Se.argumentExpression,_e,lt))):un(Se,_e,e)}function io(Se){if(!lp(Se)&&an(Se.arguments,V)){let{target:At,thisArg:Ln}=t.createCallBinding(Se.expression,l,p,!0);return mr(Ze(t.createFunctionApplyCall(j(x.checkDefined(He(At,_e,Tu))),Ln,ei(Se.arguments)),Se),Se)}return un(Se,_e,e)}function Gn(Se){if(an(Se.arguments,V)){let{target:At,thisArg:Ln}=t.createCallBinding(t.createPropertyAccessExpression(Se.expression,\"bind\"),l);return mr(Ze(t.createNewExpression(t.createFunctionApplyCall(j(x.checkDefined(He(At,_e,lt))),Ln,ei(Se.arguments,t.createVoidZero())),void 0,[]),Se),Se)}return un(Se,_e,e)}function Nr(Se,At=0){let Ln=Se.length;for(let eo=At;eo<Ln;eo++)Jt(Se[eo])}function cr(Se){Do(Se)?Nr(Se.statements):Jt(Se)}function Jt(Se){let At=A;A||(A=V(Se)),Ue(Se),A=At}function Ue(Se){switch(Se.kind){case 241:return Rt(Se);case 244:return mn(Se);case 245:return ki(Se);case 246:return so(Se);case 247:return Ea(Se);case 248:return Tn(Se);case 249:return nt(Se);case 251:return yt(Se);case 252:return Ce(Se);case 253:return z(Se);case 254:return _t(Se);case 255:return ze(Se);case 256:return Ct(Se);case 257:return Qt(Se);case 258:return Zt(Se);default:return il(He(Se,_e,Di))}}function Rt(Se){V(Se)?Nr(Se.statements):il(He(Se,_e,Di))}function mn(Se){il(He(Se,_e,Di))}function qr(Se){for(let Oo of Se.declarations){let Cl=t.cloneNode(Oo.name);Ol(Cl,Oo.name),l(Cl)}let At=wC(Se),Ln=At.length,eo=0,Po=[];for(;eo<Ln;){for(let Oo=eo;Oo<Ln;Oo++){let Cl=At[Oo];if(V(Cl.initializer)&&Po.length>0)break;Po.push(ni(Cl))}Po.length&&(il(t.createExpressionStatement(t.inlineExpressions(Po))),eo+=Po.length,Po=[])}}function ni(Se){return ca(t.createAssignment(ca(t.cloneNode(Se.name),Se.name),x.checkDefined(He(Se.initializer,_e,lt))),Se)}function ki(Se){if(V(Se))if(V(Se.thenStatement)||V(Se.elseStatement)){let At=Pe(),Ln=Se.elseStatement?Pe():void 0;ys(Se.elseStatement?Ln:At,x.checkDefined(He(Se.expression,_e,lt)),Se.expression),cr(Se.thenStatement),Se.elseStatement&&(ho(At),Ie(Ln),cr(Se.elseStatement)),Ie(At)}else il(He(Se,_e,Di));else il(He(Se,_e,Di))}function so(Se){if(V(Se)){let At=Pe(),Ln=Pe();_i(At),Ie(Ln),cr(Se.statement),Ie(At),Ut(Ln,x.checkDefined(He(Se.expression,_e,lt))),ui()}else il(He(Se,_e,Di))}function Jo(Se){return A?(Zi(),Se=un(Se,_e,e),ui(),Se):un(Se,_e,e)}function Ea(Se){if(V(Se)){let At=Pe(),Ln=_i(At);Ie(At),ys(Ln,x.checkDefined(He(Se.expression,_e,lt))),cr(Se.statement),ho(At),ui()}else il(He(Se,_e,Di))}function ln(Se){return A?(Zi(),Se=un(Se,_e,e),ui(),Se):un(Se,_e,e)}function Tn(Se){if(V(Se)){let At=Pe(),Ln=Pe(),eo=_i(Ln);if(Se.initializer){let Po=Se.initializer;yc(Po)?qr(Po):il(Ze(t.createExpressionStatement(x.checkDefined(He(Po,_e,lt))),Po))}Ie(At),Se.condition&&ys(eo,x.checkDefined(He(Se.condition,_e,lt))),cr(Se.statement),Ie(Ln),Se.incrementor&&il(Ze(t.createExpressionStatement(x.checkDefined(He(Se.incrementor,_e,lt))),Se.incrementor)),ho(At),ui()}else il(He(Se,_e,Di))}function ke(Se){A&&Zi();let At=Se.initializer;if(At&&yc(At)){for(let eo of At.declarations)l(eo.name);let Ln=wC(At);Se=t.updateForStatement(Se,Ln.length>0?t.inlineExpressions(nn(Ln,ni)):void 0,He(Se.condition,_e,lt),He(Se.incrementor,_e,lt),Qd(Se.statement,_e,e))}else Se=un(Se,_e,e);return A&&ui(),Se}function nt(Se){if(V(Se)){let At=se(),Ln=se(),eo=se(),Po=t.createLoopVariable(),Oo=Se.initializer;l(Po),zs(At,x.checkDefined(He(Se.expression,_e,lt))),zs(Ln,t.createArrayLiteralExpression()),il(t.createForInStatement(eo,At,t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(Ln,\"push\"),void 0,[eo])))),zs(Po,t.createNumericLiteral(0));let Cl=Pe(),Kl=Pe(),Bs=_i(Kl);Ie(Cl),ys(Bs,t.createLessThan(Po,t.createPropertyAccessExpression(Ln,\"length\"))),zs(eo,t.createElementAccessExpression(Ln,Po)),ys(Kl,t.createBinaryExpression(eo,103,At));let Ks;if(yc(Oo)){for(let vl of Oo.declarations)l(vl.name);Ks=t.cloneNode(Oo.declarations[0].name)}else Ks=x.checkDefined(He(Oo,_e,lt)),x.assert(Tu(Ks));zs(Ks,eo),cr(Se.statement),Ie(Kl),il(t.createExpressionStatement(t.createPostfixIncrement(Po))),ho(Cl),ui()}else il(He(Se,_e,Di))}function tt(Se){A&&Zi();let At=Se.initializer;if(yc(At)){for(let Ln of At.declarations)l(Ln.name);Se=t.updateForInStatement(Se,At.declarations[0].name,x.checkDefined(He(Se.expression,_e,lt)),x.checkDefined(He(Se.statement,_e,Di,t.liftToBlock)))}else Se=un(Se,_e,e);return A&&ui(),Se}function yt(Se){let At=Uo(Se.label?ar(Se.label):void 0);At>0?ho(At,Se):il(Se)}function re(Se){if(A){let At=Uo(Se.label&&ar(Se.label));if(At>0)return ua(At,Se)}return un(Se,_e,e)}function Ce(Se){let At=$i(Se.label?ar(Se.label):void 0);At>0?ho(At,Se):il(Se)}function et(Se){if(A){let At=$i(Se.label&&ar(Se.label));if(At>0)return ua(At,Se)}return un(Se,_e,e)}function z(Se){Ju(He(Se.expression,_e,lt),Se)}function Je(Se){return Us(He(Se.expression,_e,lt),Se)}function _t(Se){V(Se)?(An(j(x.checkDefined(He(Se.expression,_e,lt)))),cr(Se.statement),Cn()):il(He(Se,_e,Di))}function ze(Se){if(V(Se.caseBlock)){let At=Se.caseBlock,Ln=At.clauses.length,eo=lo(),Po=j(x.checkDefined(He(Se.expression,_e,lt))),Oo=[],Cl=-1;for(let Ks=0;Ks<Ln;Ks++){let vl=At.clauses[Ks];Oo.push(Pe()),vl.kind===297&&Cl===-1&&(Cl=Ks)}let Kl=0,Bs=[];for(;Kl<Ln;){let Ks=0;for(let vl=Kl;vl<Ln;vl++){let Nl=At.clauses[vl];if(Nl.kind===296){if(V(Nl.expression)&&Bs.length>0)break;Bs.push(t.createCaseClause(x.checkDefined(He(Nl.expression,_e,lt)),[ua(Oo[vl],Nl.expression)]))}else Ks++}Bs.length&&(il(t.createSwitchStatement(Po,t.createCaseBlock(Bs))),Kl+=Bs.length,Bs=[]),Ks>0&&(Kl+=Ks,Ks=0)}Cl>=0?ho(Oo[Cl]):ho(eo);for(let Ks=0;Ks<Ln;Ks++)Ie(Oo[Ks]),Nr(At.clauses[Ks].statements);_n()}else il(He(Se,_e,Di))}function it(Se){return A&&Mr(),Se=un(Se,_e,e),A&&_n(),Se}function Ct(Se){V(Se)?(Dl(ar(Se.label)),cr(Se.statement),_o()):il(He(Se,_e,Di))}function on(Se){return A&&ms(ar(Se.label)),Se=un(Se,_e,e),A&&_o(),Se}function Qt(Se){ls(x.checkDefined(He(Se.expression??t.createVoidZero(),_e,lt)),Se)}function Zt(Se){V(Se)?(ti(),cr(Se.tryBlock),Se.catchClause&&(di(Se.catchClause.variableDeclaration),cr(Se.catchClause.block)),Se.finallyBlock&&(jn(),cr(Se.finallyBlock)),Ar()):il(un(Se,_e,e))}function V(Se){return!!Se&&(Se.transformFlags&1048576)!==0}function Re(Se){let At=Se.length;for(let Ln=0;Ln<At;Ln++)if(V(Se[Ln]))return Ln;return-1}function St(Se,At){return At=m(Se,At),Se===1?M(At):At}function M(Se){return Me(Se)?te(Se):Se}function te(Se){if(!ws(Se)&&v&&v.has(ar(Se))){let At=sl(Se);if(Me(At)&&At.parent){let Ln=h.getReferencedValueDeclaration(At);if(Ln){let eo=E[dd(Ln)];if(eo){let Po=Aa(Ze(t.cloneNode(eo),eo),eo.parent);return ca(Po,Se),Ol(Po,Se),Po}}}}return Se}function j(Se){if(ws(Se)||ba(Se)&8192)return Se;let At=t.createTempVariable(l);return zs(At,Se,Se),At}function se(Se){let At=Se?t.createUniqueName(Se):t.createTempVariable(void 0);return l(At),At}function Pe(){U||(U=[]);let Se=F;return F++,U[Se]=-1,Se}function Ie(Se){x.assert(U!==void 0,\"No labels were defined.\"),U[Se]=oe?oe.length:0}function gt(Se){C||(C=[],L=[],R=[],G=[]);let At=L.length;return L[At]=0,R[At]=oe?oe.length:0,C[At]=Se,G.push(Se),At}function bt(){let Se=Ot();if(Se===void 0)return x.fail(\"beginBlock was never called.\");let At=L.length;return L[At]=1,R[At]=oe?oe.length:0,C[At]=Se,G.pop(),Se}function Ot(){return Ns(G)}function dn(){let Se=Ot();return Se&&Se.kind}function An(Se){let At=Pe(),Ln=Pe();Ie(At),gt({kind:1,expression:Se,startLabel:At,endLabel:Ln})}function Cn(){x.assert(dn()===1);let Se=bt();Ie(Se.endLabel)}function ti(){let Se=Pe(),At=Pe();return Ie(Se),gt({kind:0,state:0,startLabel:Se,endLabel:At}),Wl(),At}function di(Se){x.assert(dn()===0);let At;if(ws(Se.name))At=Se.name,l(Se.name);else{let Oo=ar(Se.name);At=se(Oo),v||(v=new Map,E=[],e.enableSubstitution(80)),v.set(Oo,!0),E[dd(Se)]=At}let Ln=Ot();x.assert(Ln.state<1);let eo=Ln.endLabel;ho(eo);let Po=Pe();Ie(Po),Ln.state=1,Ln.catchVariable=At,Ln.catchLabel=Po,zs(At,t.createCallExpression(t.createPropertyAccessExpression(de,\"sent\"),void 0,[])),Wl()}function jn(){x.assert(dn()===0);let Se=Ot();x.assert(Se.state<2);let At=Se.endLabel;ho(At);let Ln=Pe();Ie(Ln),Se.state=2,Se.finallyLabel=Ln}function Ar(){x.assert(dn()===0);let Se=bt();Se.state<2?ho(Se.endLabel):tc(),Ie(Se.endLabel),Wl(),Se.state=3}function Zi(){gt({kind:3,isScript:!0,breakLabel:-1,continueLabel:-1})}function _i(Se){let At=Pe();return gt({kind:3,isScript:!1,breakLabel:At,continueLabel:Se}),At}function ui(){x.assert(dn()===3);let Se=bt(),At=Se.breakLabel;Se.isScript||Ie(At)}function Mr(){gt({kind:2,isScript:!0,breakLabel:-1})}function lo(){let Se=Pe();return gt({kind:2,isScript:!1,breakLabel:Se}),Se}function _n(){x.assert(dn()===2);let Se=bt(),At=Se.breakLabel;Se.isScript||Ie(At)}function ms(Se){gt({kind:4,isScript:!0,labelText:Se,breakLabel:-1})}function Dl(Se){let At=Pe();gt({kind:4,isScript:!1,labelText:Se,breakLabel:At})}function _o(){x.assert(dn()===4);let Se=bt();Se.isScript||Ie(Se.breakLabel)}function Va(Se){return Se.kind===2||Se.kind===3}function vs(Se){return Se.kind===4}function Js(Se){return Se.kind===3}function Fc(Se,At){for(let Ln=At;Ln>=0;Ln--){let eo=G[Ln];if(vs(eo)){if(eo.labelText===Se)return!0}else break}return!1}function $i(Se){if(G)if(Se)for(let At=G.length-1;At>=0;At--){let Ln=G[At];if(vs(Ln)&&Ln.labelText===Se)return Ln.breakLabel;if(Va(Ln)&&Fc(Se,At-1))return Ln.breakLabel}else for(let At=G.length-1;At>=0;At--){let Ln=G[At];if(Va(Ln))return Ln.breakLabel}return 0}function Uo(Se){if(G)if(Se)for(let At=G.length-1;At>=0;At--){let Ln=G[At];if(Js(Ln)&&Fc(Se,At-1))return Ln.continueLabel}else for(let At=G.length-1;At>=0;At--){let Ln=G[At];if(Js(Ln))return Ln.continueLabel}return 0}function zc(Se){if(Se!==void 0&&Se>0){K===void 0&&(K=[]);let At=t.createNumericLiteral(Number.MAX_SAFE_INTEGER);return K[Se]===void 0?K[Se]=[At]:K[Se].push(At),At}return t.createOmittedExpression()}function ts(Se){let At=t.createNumericLiteral(Se);return kF(At,3,Qze(Se)),At}function ua(Se,At){return x.assertLessThan(0,Se,\"Invalid label\"),Ze(t.createReturnStatement(t.createArrayLiteralExpression([ts(3),zc(Se)])),At)}function Us(Se,At){return Ze(t.createReturnStatement(t.createArrayLiteralExpression(Se?[ts(2),Se]:[ts(2)])),At)}function tf(Se){return Ze(t.createCallExpression(t.createPropertyAccessExpression(de,\"sent\"),void 0,[]),Se)}function Wl(){ae(0)}function il(Se){Se?ae(1,[Se]):Wl()}function zs(Se,At,Ln){ae(2,[Se,At],Ln)}function ho(Se,At){ae(3,[Se],At)}function Ut(Se,At,Ln){ae(4,[Se,At],Ln)}function ys(Se,At,Ln){ae(5,[Se,At],Ln)}function Pc(Se,At){ae(7,[Se],At)}function Bc(Se,At){ae(6,[Se],At)}function Ju(Se,At){ae(8,[Se],At)}function ls(Se,At){ae(9,[Se],At)}function tc(){ae(10)}function ae(Se,At,Ln){oe===void 0&&(oe=[],W=[],$=[]),U===void 0&&Ie(Pe());let eo=oe.length;oe[eo]=Se,W[eo]=At,$[eo]=Ln}function X(){fe=0,q=0,H=void 0,ee=!1,le=!1,Ee=void 0,ce=void 0,Z=void 0,pe=void 0,Ae=void 0;let Se=xe();return r().createGeneratorHelper($n(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,de)],void 0,t.createBlock(Se,Se.length>0)),1048576))}function xe(){if(oe){for(let Se=0;Se<oe.length;Se++)No(Se);$t(oe.length)}else $t(0);if(Ee){let Se=t.createPropertyAccessExpression(de,\"label\"),At=t.createSwitchStatement(Se,t.createCaseBlock(Ee));return[Sd(At)]}return ce||[]}function dt(){ce&&(tr(!ee),ee=!1,le=!1,q++)}function $t(Se){sr(Se)&&(Ir(Se),Ae=void 0,Jl(void 0,void 0)),ce&&Ee&&tr(!1),pi()}function sr(Se){if(!le)return!0;if(!U||!K)return!1;for(let At=0;At<U.length;At++)if(U[At]===Se&&K[At])return!0;return!1}function tr(Se){if(Ee||(Ee=[]),ce){if(Ae)for(let At=Ae.length-1;At>=0;At--){let Ln=Ae[At];ce=[t.createWithStatement(Ln.expression,t.createBlock(ce))]}if(pe){let{startLabel:At,catchLabel:Ln,finallyLabel:eo,endLabel:Po}=pe;ce.unshift(t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createPropertyAccessExpression(de,\"trys\"),\"push\"),void 0,[t.createArrayLiteralExpression([zc(At),zc(Ln),zc(eo),zc(Po)])]))),pe=void 0}Se&&ce.push(t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(de,\"label\"),t.createNumericLiteral(q+1))))}Ee.push(t.createCaseClause(t.createNumericLiteral(q),ce||[])),ce=void 0}function Ir(Se){if(U)for(let At=0;At<U.length;At++)U[At]===Se&&(dt(),H===void 0&&(H=[]),H[q]===void 0?H[q]=[At]:H[q].push(At))}function pi(){if(K!==void 0&&H!==void 0)for(let Se=0;Se<H.length;Se++){let At=H[Se];if(At!==void 0)for(let Ln of At){let eo=K[Ln];if(eo!==void 0)for(let Po of eo)Po.text=String(Se)}}}function hr(Se){if(C)for(;fe<L.length&&R[fe]<=Se;fe++){let At=C[fe],Ln=L[fe];switch(At.kind){case 0:Ln===0?(Z||(Z=[]),ce||(ce=[]),Z.push(pe),pe=At):Ln===1&&(pe=Z.pop());break;case 1:Ln===0?(Ae||(Ae=[]),Ae.push(At)):Ln===1&&Ae.pop();break}}}function No(Se){if(Ir(Se),hr(Se),ee)return;ee=!1,le=!1;let At=oe[Se];if(At===0)return;if(At===10)return Vd();let Ln=W[Se];if(At===1)return Qs(Ln[0]);let eo=$[Se];switch(At){case 2:return bc(Ln[0],Ln[1],eo);case 3:return Za(Ln[0],eo);case 4:return Ec(Ln[0],Ln[1],eo);case 5:return Du(Ln[0],Ln[1],eo);case 6:return pc(Ln[0],eo);case 7:return Nf(Ln[0],eo);case 8:return Jl(Ln[0],eo);case 9:return bs(Ln[0],eo)}}function Qs(Se){Se&&(ce?ce.push(Se):ce=[Se])}function bc(Se,At,Ln){Qs(Ze(t.createExpressionStatement(t.createAssignment(Se,At)),Ln))}function bs(Se,At){ee=!0,le=!0,Qs(Ze(t.createThrowStatement(Se),At))}function Jl(Se,At){ee=!0,le=!0,Qs($n(Ze(t.createReturnStatement(t.createArrayLiteralExpression(Se?[ts(2),Se]:[ts(2)])),At),768))}function Za(Se,At){ee=!0,Qs($n(Ze(t.createReturnStatement(t.createArrayLiteralExpression([ts(3),zc(Se)])),At),768))}function Ec(Se,At,Ln){Qs($n(t.createIfStatement(At,$n(Ze(t.createReturnStatement(t.createArrayLiteralExpression([ts(3),zc(Se)])),Ln),768)),1))}function Du(Se,At,Ln){Qs($n(t.createIfStatement(t.createLogicalNot(At),$n(Ze(t.createReturnStatement(t.createArrayLiteralExpression([ts(3),zc(Se)])),Ln),768)),1))}function pc(Se,At){ee=!0,Qs($n(Ze(t.createReturnStatement(t.createArrayLiteralExpression(Se?[ts(4),Se]:[ts(4)])),At),768))}function Nf(Se,At){ee=!0,Qs($n(Ze(t.createReturnStatement(t.createArrayLiteralExpression([ts(5),Se])),At),768))}function Vd(){ee=!0,Qs(t.createReturnStatement(t.createArrayLiteralExpression([ts(7)])))}}var Zze=pt({\"src/compiler/transformers/generators.ts\"(){\"use strict\";wo()}});function aH(e){function t(V){switch(V){case 2:return oe;case 3:return W;default:return F}}let{factory:r,getEmitHelperFactory:i,startLexicalEnvironment:o,endLexicalEnvironment:s,hoistVariableDeclaration:l}=e,d=e.getCompilerOptions(),p=e.getEmitResolver(),h=e.getEmitHost(),m=Wa(d),v=ld(d),E=e.onSubstituteNode,S=e.onEmitNode;e.onSubstituteNode=Je,e.onEmitNode=z,e.enableSubstitution(213),e.enableSubstitution(215),e.enableSubstitution(80),e.enableSubstitution(226),e.enableSubstitution(304),e.enableEmitNotification(312);let A=[],C,R,L=[],G;return $f(e,U);function U(V){if(V.isDeclarationFile||!(MA(V,d)||V.transformFlags&8388608||yf(V)&&rF(d)&&ss(d)))return V;C=V,R=XU(e,V),A[dd(V)]=R;let St=t(v)(V);return C=void 0,R=void 0,G=!1,St}function K(){return!!(!R.exportEquals&&wl(C))}function F(V){o();let Re=[],St=Fd(d,\"alwaysStrict\")||!d.noImplicitUseStrict&&wl(C),M=r.copyPrologue(V.statements,Re,St&&!yf(V),H);if(K()&&pn(Re,yt()),yn(R.exportedNames))for(let se=0;se<R.exportedNames.length;se+=50)pn(Re,r.createExpressionStatement(Nd(R.exportedNames.slice(se,se+50),(Pe,Ie)=>r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier(\"exports\"),r.createIdentifier(ar(Ie))),Pe),r.createVoidZero())));pn(Re,He(R.externalHelpersImportDeclaration,H,Di)),Pr(Re,Dn(V.statements,H,Di,M)),q(Re,!1),vh(Re,s());let te=r.updateSourceFile(V,Ze(r.createNodeArray(Re),V.statements));return ag(te,e.readEmitHelpers()),te}function oe(V){let Re=r.createIdentifier(\"define\"),St=k2(r,V,h,d),M=yf(V)&&V,{aliasedModuleNames:te,unaliasedModuleNames:j,importAliasNames:se}=$(V,!0),Pe=r.updateSourceFile(V,Ze(r.createNodeArray([r.createExpressionStatement(r.createCallExpression(Re,void 0,[...St?[St]:[],r.createArrayLiteralExpression(M?je:[r.createStringLiteral(\"require\"),r.createStringLiteral(\"exports\"),...te,...j]),M?M.statements.length?M.statements[0].expression:r.createObjectLiteralExpression():r.createFunctionExpression(void 0,void 0,void 0,void 0,[r.createParameterDeclaration(void 0,void 0,\"require\"),r.createParameterDeclaration(void 0,void 0,\"exports\"),...se],void 0,fe(V))]))]),V.statements));return ag(Pe,e.readEmitHelpers()),Pe}function W(V){let{aliasedModuleNames:Re,unaliasedModuleNames:St,importAliasNames:M}=$(V,!1),te=k2(r,V,h,d),j=r.createFunctionExpression(void 0,void 0,void 0,void 0,[r.createParameterDeclaration(void 0,void 0,\"factory\")],void 0,Ze(r.createBlock([r.createIfStatement(r.createLogicalAnd(r.createTypeCheck(r.createIdentifier(\"module\"),\"object\"),r.createTypeCheck(r.createPropertyAccessExpression(r.createIdentifier(\"module\"),\"exports\"),\"object\")),r.createBlock([r.createVariableStatement(void 0,[r.createVariableDeclaration(\"v\",void 0,void 0,r.createCallExpression(r.createIdentifier(\"factory\"),void 0,[r.createIdentifier(\"require\"),r.createIdentifier(\"exports\")]))]),$n(r.createIfStatement(r.createStrictInequality(r.createIdentifier(\"v\"),r.createIdentifier(\"undefined\")),r.createExpressionStatement(r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier(\"module\"),\"exports\"),r.createIdentifier(\"v\")))),1)]),r.createIfStatement(r.createLogicalAnd(r.createTypeCheck(r.createIdentifier(\"define\"),\"function\"),r.createPropertyAccessExpression(r.createIdentifier(\"define\"),\"amd\")),r.createBlock([r.createExpressionStatement(r.createCallExpression(r.createIdentifier(\"define\"),void 0,[...te?[te]:[],r.createArrayLiteralExpression([r.createStringLiteral(\"require\"),r.createStringLiteral(\"exports\"),...Re,...St]),r.createIdentifier(\"factory\")]))])))],!0),void 0)),se=r.updateSourceFile(V,Ze(r.createNodeArray([r.createExpressionStatement(r.createCallExpression(j,void 0,[r.createFunctionExpression(void 0,void 0,void 0,void 0,[r.createParameterDeclaration(void 0,void 0,\"require\"),r.createParameterDeclaration(void 0,void 0,\"exports\"),...M],void 0,fe(V))]))]),V.statements));return ag(se,e.readEmitHelpers()),se}function $(V,Re){let St=[],M=[],te=[];for(let j of V.amdDependencies)j.name?(St.push(r.createStringLiteral(j.path)),te.push(r.createParameterDeclaration(void 0,void 0,j.name))):M.push(r.createStringLiteral(j.path));for(let j of R.externalImports){let se=hI(r,j,C,h,p,d),Pe=Hx(r,j,C);se&&(Re&&Pe?($n(Pe,8),St.push(se),te.push(r.createParameterDeclaration(void 0,void 0,Pe))):M.push(se))}return{aliasedModuleNames:St,unaliasedModuleNames:M,importAliasNames:te}}function de(V){if(Nc(V)||xl(V)||!hI(r,V,C,h,p,d))return;let Re=Hx(r,V,C),St=io(V,Re);if(St!==Re)return r.createExpressionStatement(r.createAssignment(Re,St))}function fe(V){o();let Re=[],St=r.copyPrologue(V.statements,Re,!d.noImplicitUseStrict,H);K()&&pn(Re,yt()),yn(R.exportedNames)&&pn(Re,r.createExpressionStatement(Nd(R.exportedNames,(te,j)=>r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier(\"exports\"),r.createIdentifier(ar(j))),te),r.createVoidZero()))),pn(Re,He(R.externalHelpersImportDeclaration,H,Di)),v===2&&Pr(Re,Fi(R.externalImports,de)),Pr(Re,Dn(V.statements,H,Di,St)),q(Re,!0),vh(Re,s());let M=r.createBlock(Re,!0);return G&&$A(M,BSe),M}function q(V,Re){if(R.exportEquals){let St=He(R.exportEquals.expression,Ee,lt);if(St)if(Re){let M=r.createReturnStatement(St);Ze(M,R.exportEquals),$n(M,3840),V.push(M)}else{let M=r.createExpressionStatement(r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier(\"module\"),\"exports\"),St));Ze(M,R.exportEquals),$n(M,3072),V.push(M)}}}function H(V){switch(V.kind){case 272:return Gn(V);case 271:return cr(V);case 278:return Jt(V);case 277:return Ue(V);default:return ee(V)}}function ee(V){switch(V.kind){case 243:return qr(V);case 262:return Rt(V);case 263:return mn(V);case 248:return Ae(V,!0);case 249:return Oe(V);case 250:return _e(V);case 246:return be(V);case 247:return Te(V);case 256:return De(V);case 254:return ft(V);case 245:return he(V);case 255:return Le(V);case 269:return Ke(V);case 296:return Dt(V);case 297:return st(V);case 258:return Ge(V);case 299:return ot(V);case 241:return Vt(V);default:return Ee(V)}}function le(V,Re){if(!(V.transformFlags&276828160))return V;switch(V.kind){case 248:return Ae(V,!1);case 244:return jt(V);case 217:return gn(V,Re);case 360:return On(V,Re);case 213:if(lp(V)&&C.impliedNodeFormat===void 0)return zt(V);break;case 226:if(nv(V))return pe(V,Re);break;case 224:case 225:return en(V,Re)}return un(V,Ee,e)}function Ee(V){return le(V,!1)}function ce(V){return le(V,!0)}function Z(V){if(ma(V))for(let Re of V.properties)switch(Re.kind){case 303:if(Z(Re.initializer))return!0;break;case 304:if(Z(Re.name))return!0;break;case 305:if(Z(Re.expression))return!0;break;case 174:case 177:case 178:return!1;default:x.assertNever(Re,\"Unhandled object member kind\")}else if(Bd(V)){for(let Re of V.elements)if(bm(Re)){if(Z(Re.expression))return!0}else if(Z(Re))return!0}else if(Me(V))return yn(Zt(V))>(R6(V)?1:0);return!1}function pe(V,Re){return Z(V.left)?nT(V,Ee,e,0,!Re,ni):un(V,Ee,e)}function Ae(V,Re){if(Re&&V.initializer&&yc(V.initializer)&&!(V.initializer.flags&7)){let St=ln(void 0,V.initializer,!1);if(St){let M=[],te=He(V.initializer,ce,yc),j=r.createVariableStatement(void 0,te);M.push(j),Pr(M,St);let se=He(V.condition,Ee,lt),Pe=He(V.incrementor,ce,lt),Ie=Qd(V.statement,Re?ee:Ee,e);return M.push(r.updateForStatement(V,void 0,se,Pe,Ie)),M}}return r.updateForStatement(V,He(V.initializer,ce,Up),He(V.condition,Ee,lt),He(V.incrementor,ce,lt),Qd(V.statement,Re?ee:Ee,e))}function Oe(V){if(yc(V.initializer)&&!(V.initializer.flags&7)){let Re=ln(void 0,V.initializer,!0);if(ct(Re)){let St=He(V.initializer,ce,Up),M=He(V.expression,Ee,lt),te=Qd(V.statement,ee,e),j=Do(te)?r.updateBlock(te,[...Re,...te.statements]):r.createBlock([...Re,te],!0);return r.updateForInStatement(V,St,M,j)}}return r.updateForInStatement(V,He(V.initializer,ce,Up),He(V.expression,Ee,lt),Qd(V.statement,ee,e))}function _e(V){if(yc(V.initializer)&&!(V.initializer.flags&7)){let Re=ln(void 0,V.initializer,!0),St=He(V.initializer,ce,Up),M=He(V.expression,Ee,lt),te=Qd(V.statement,ee,e);return ct(Re)&&(te=Do(te)?r.updateBlock(te,[...Re,...te.statements]):r.createBlock([...Re,te],!0)),r.updateForOfStatement(V,V.awaitModifier,St,M,te)}return r.updateForOfStatement(V,V.awaitModifier,He(V.initializer,ce,Up),He(V.expression,Ee,lt),Qd(V.statement,ee,e))}function be(V){return r.updateDoStatement(V,Qd(V.statement,ee,e),He(V.expression,Ee,lt))}function Te(V){return r.updateWhileStatement(V,He(V.expression,Ee,lt),Qd(V.statement,ee,e))}function De(V){return r.updateLabeledStatement(V,V.label,x.checkDefined(He(V.statement,ee,Di,r.liftToBlock)))}function ft(V){return r.updateWithStatement(V,He(V.expression,Ee,lt),x.checkDefined(He(V.statement,ee,Di,r.liftToBlock)))}function he(V){return r.updateIfStatement(V,He(V.expression,Ee,lt),x.checkDefined(He(V.thenStatement,ee,Di,r.liftToBlock)),He(V.elseStatement,ee,Di,r.liftToBlock))}function Le(V){return r.updateSwitchStatement(V,He(V.expression,Ee,lt),x.checkDefined(He(V.caseBlock,ee,fN)))}function Ke(V){return r.updateCaseBlock(V,Dn(V.clauses,ee,q8))}function Dt(V){return r.updateCaseClause(V,He(V.expression,Ee,lt),Dn(V.statements,ee,Di))}function st(V){return un(V,ee,e)}function Ge(V){return un(V,ee,e)}function ot(V){return r.updateCatchClause(V,V.variableDeclaration,x.checkDefined(He(V.block,ee,Do)))}function Vt(V){return V=un(V,ee,e),V}function jt(V){return r.updateExpressionStatement(V,He(V.expression,ce,lt))}function gn(V,Re){return r.updateParenthesizedExpression(V,He(V.expression,Re?ce:Ee,lt))}function On(V,Re){return r.updatePartiallyEmittedExpression(V,He(V.expression,Re?ce:Ee,lt))}function en(V,Re){if((V.operator===46||V.operator===47)&&Me(V.operand)&&!ws(V.operand)&&!lg(V.operand)&&!gV(V.operand)){let St=Zt(V.operand);if(St){let M,te=He(V.operand,Ee,lt);fy(V)?te=r.updatePrefixUnaryExpression(V,te):(te=r.updatePostfixUnaryExpression(V,te),Re||(M=r.createTempVariable(l),te=r.createAssignment(M,te),Ze(te,V)),te=r.createComma(te,r.cloneNode(V.operand)),Ze(te,V));for(let j of St)L[Fa(te)]=!0,te=Ce(j,te),Ze(te,V);return M&&(L[Fa(te)]=!0,te=r.createComma(te,M),Ze(te,V)),te}}return un(V,Ee,e)}function zt(V){if(v===0&&m>=7)return un(V,Ee,e);let Re=hI(r,V,C,h,p,d),St=He(Ac(V.arguments),Ee,lt),M=Re&&(!St||!da(St)||St.text!==Re.text)?Re:St,te=!!(V.transformFlags&16384);switch(d.module){case 2:return ei(M,te);case 3:return Wt(M??r.createVoidZero(),te);case 1:default:return Ki(M)}}function Wt(V,Re){if(G=!0,g0(V)){let St=ws(V)?V:da(V)?r.createStringLiteralFromNode(V):$n(Ze(r.cloneNode(V),V),3072);return r.createConditionalExpression(r.createIdentifier(\"__syncRequire\"),void 0,Ki(V),void 0,ei(St,Re))}else{let St=r.createTempVariable(l);return r.createComma(r.createAssignment(St,V),r.createConditionalExpression(r.createIdentifier(\"__syncRequire\"),void 0,Ki(St,!0),void 0,ei(St,Re)))}}function ei(V,Re){let St=r.createUniqueName(\"resolve\"),M=r.createUniqueName(\"reject\"),te=[r.createParameterDeclaration(void 0,void 0,St),r.createParameterDeclaration(void 0,void 0,M)],j=r.createBlock([r.createExpressionStatement(r.createCallExpression(r.createIdentifier(\"require\"),void 0,[r.createArrayLiteralExpression([V||r.createOmittedExpression()]),St,M]))]),se;m>=2?se=r.createArrowFunction(void 0,void 0,te,void 0,void 0,j):(se=r.createFunctionExpression(void 0,void 0,void 0,void 0,te,void 0,j),Re&&$n(se,16));let Pe=r.createNewExpression(r.createIdentifier(\"Promise\"),void 0,[se]);return z_(d)?r.createCallExpression(r.createPropertyAccessExpression(Pe,r.createIdentifier(\"then\")),void 0,[i().createImportStarCallbackHelper()]):Pe}function Ki(V,Re){let St=V&&!o_(V)&&!Re,M=r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier(\"Promise\"),\"resolve\"),void 0,St?m>=2?[r.createTemplateExpression(r.createTemplateHead(\"\"),[r.createTemplateSpan(V,r.createTemplateTail(\"\"))])]:[r.createCallExpression(r.createPropertyAccessExpression(r.createStringLiteral(\"\"),\"concat\"),void 0,[V])]:[]),te=r.createCallExpression(r.createIdentifier(\"require\"),void 0,St?[r.createIdentifier(\"s\")]:V?[V]:[]);z_(d)&&(te=i().createImportStarHelper(te));let j=St?[r.createParameterDeclaration(void 0,void 0,\"s\")]:[],se;return m>=2?se=r.createArrowFunction(void 0,void 0,j,void 0,void 0,te):se=r.createFunctionExpression(void 0,void 0,void 0,void 0,j,void 0,r.createBlock([r.createReturnStatement(te)])),r.createCallExpression(r.createPropertyAccessExpression(M,\"then\"),void 0,[se])}function gi(V,Re){return!z_(d)||Uf(V)&2?Re:Ooe(V)?i().createImportStarHelper(Re):Re}function io(V,Re){return!z_(d)||Uf(V)&2?Re:_4(V)?i().createImportStarHelper(Re):KU(V)?i().createImportDefaultHelper(Re):Re}function Gn(V){let Re,St=cx(V);if(v!==2)if(V.importClause){let M=[];St&&!kA(V)?M.push(r.createVariableDeclaration(r.cloneNode(St.name),void 0,void 0,io(V,Nr(V)))):(M.push(r.createVariableDeclaration(r.getGeneratedNameForNode(V),void 0,void 0,io(V,Nr(V)))),St&&kA(V)&&M.push(r.createVariableDeclaration(r.cloneNode(St.name),void 0,void 0,r.getGeneratedNameForNode(V)))),Re=pn(Re,mr(Ze(r.createVariableStatement(void 0,r.createVariableDeclarationList(M,m>=2?2:0)),V),V))}else return mr(Ze(r.createExpressionStatement(Nr(V)),V),V);else St&&kA(V)&&(Re=pn(Re,r.createVariableStatement(void 0,r.createVariableDeclarationList([mr(Ze(r.createVariableDeclaration(r.cloneNode(St.name),void 0,void 0,r.getGeneratedNameForNode(V)),V),V)],m>=2?2:0))));return Re=so(Re,V),D_(Re)}function Nr(V){let Re=hI(r,V,C,h,p,d),St=[];return Re&&St.push(Re),r.createCallExpression(r.createIdentifier(\"require\"),void 0,St)}function cr(V){x.assert(Ab(V),\"import= for internal module references should be handled in an earlier transformer.\");let Re;return v!==2?Wr(V,32)?Re=pn(Re,mr(Ze(r.createExpressionStatement(Ce(V.name,Nr(V))),V),V)):Re=pn(Re,mr(Ze(r.createVariableStatement(void 0,r.createVariableDeclarationList([r.createVariableDeclaration(r.cloneNode(V.name),void 0,void 0,Nr(V))],m>=2?2:0)),V),V)):Wr(V,32)&&(Re=pn(Re,mr(Ze(r.createExpressionStatement(Ce(r.getExportName(V),r.getLocalName(V))),V),V))),Re=Jo(Re,V),D_(Re)}function Jt(V){if(!V.moduleSpecifier)return;let Re=r.getGeneratedNameForNode(V);if(V.exportClause&&$p(V.exportClause)){let St=[];v!==2&&St.push(mr(Ze(r.createVariableStatement(void 0,r.createVariableDeclarationList([r.createVariableDeclaration(Re,void 0,void 0,Nr(V))])),V),V));for(let M of V.exportClause.elements)if(m===0)St.push(mr(Ze(r.createExpressionStatement(i().createCreateBindingHelper(Re,r.createStringLiteralFromNode(M.propertyName||M.name),M.propertyName?r.createStringLiteralFromNode(M.name):void 0)),M),M));else{let te=!!z_(d)&&!(Uf(V)&2)&&ar(M.propertyName||M.name)===\"default\",j=r.createPropertyAccessExpression(te?i().createImportDefaultHelper(Re):Re,M.propertyName||M.name);St.push(mr(Ze(r.createExpressionStatement(Ce(r.getExportName(M),j,void 0,!0)),M),M))}return D_(St)}else if(V.exportClause){let St=[];return St.push(mr(Ze(r.createExpressionStatement(Ce(r.cloneNode(V.exportClause.name),gi(V,v!==2?Nr(V):rW(V)?Re:r.createIdentifier(ar(V.exportClause.name))))),V),V)),D_(St)}else return mr(Ze(r.createExpressionStatement(i().createExportStarHelper(v!==2?Nr(V):Re)),V),V)}function Ue(V){if(!V.isExportEquals)return re(r.createIdentifier(\"default\"),He(V.expression,Ee,lt),V,!0)}function Rt(V){let Re;return Wr(V,32)?Re=pn(Re,mr(Ze(r.createFunctionDeclaration(Dn(V.modifiers,et,ia),V.asteriskToken,r.getDeclarationName(V,!0,!0),void 0,Dn(V.parameters,Ee,ao),void 0,un(V.body,Ee,e)),V),V)):Re=pn(Re,un(V,Ee,e)),Re=ke(Re,V),D_(Re)}function mn(V){let Re;return Wr(V,32)?Re=pn(Re,mr(Ze(r.createClassDeclaration(Dn(V.modifiers,et,Ws),r.getDeclarationName(V,!0,!0),void 0,Dn(V.heritageClauses,Ee,xp),Dn(V.members,Ee,xc)),V),V)):Re=pn(Re,un(V,Ee,e)),Re=ke(Re,V),D_(Re)}function qr(V){let Re,St,M;if(Wr(V,32)){let te,j=!1;for(let se of V.declarationList.declarations)if(Me(se.name)&&lg(se.name))if(te||(te=Dn(V.modifiers,et,ia)),se.initializer){let Pe=r.updateVariableDeclaration(se,se.name,void 0,void 0,Ce(se.name,He(se.initializer,Ee,lt)));St=pn(St,Pe)}else St=pn(St,se);else if(se.initializer)if(!ko(se.name)&&(gs(se.initializer)||ps(se.initializer)||Dc(se.initializer))){let Pe=r.createAssignment(Ze(r.createPropertyAccessExpression(r.createIdentifier(\"exports\"),se.name),se.name),r.createIdentifier(Ef(se.name))),Ie=r.createVariableDeclaration(se.name,se.exclamationToken,se.type,He(se.initializer,Ee,lt));St=pn(St,Ie),M=pn(M,Pe),j=!0}else M=pn(M,ki(se));if(St&&(Re=pn(Re,r.updateVariableStatement(V,te,r.updateVariableDeclarationList(V.declarationList,St)))),M){let se=mr(Ze(r.createExpressionStatement(r.inlineExpressions(M)),V),V);j&&f2(se),Re=pn(Re,se)}}else Re=pn(Re,un(V,Ee,e));return Re=Ea(Re,V),D_(Re)}function ni(V,Re,St){let M=Zt(V);if(M){let te=R6(V)?Re:r.createAssignment(V,Re);for(let j of M)$n(te,8),te=Ce(j,te,St);return te}return r.createAssignment(V,Re)}function ki(V){return ko(V.name)?nT(He(V,Ee,JL),Ee,e,0,!1,ni):r.createAssignment(Ze(r.createPropertyAccessExpression(r.createIdentifier(\"exports\"),V.name),V.name),V.initializer?He(V.initializer,Ee,lt):r.createVoidZero())}function so(V,Re){if(R.exportEquals)return V;let St=Re.importClause;if(!St)return V;let M=new SI;St.name&&(V=nt(V,M,St));let te=St.namedBindings;if(te)switch(te.kind){case 274:V=nt(V,M,te);break;case 275:for(let j of te.elements)V=nt(V,M,j,!0);break}return V}function Jo(V,Re){return R.exportEquals?V:nt(V,new SI,Re)}function Ea(V,Re){return ln(V,Re.declarationList,!1)}function ln(V,Re,St){if(R.exportEquals)return V;for(let M of Re.declarations)V=Tn(V,M,St);return V}function Tn(V,Re,St){if(R.exportEquals)return V;if(ko(Re.name))for(let M of Re.name.elements)vc(M)||(V=Tn(V,M,St));else!ws(Re.name)&&(!yi(Re)||Re.initializer||St)&&(V=nt(V,new SI,Re));return V}function ke(V,Re){if(R.exportEquals)return V;let St=new SI;if(Wr(Re,32)){let M=Wr(Re,2048)?r.createIdentifier(\"default\"):r.getDeclarationName(Re);V=tt(V,St,M,r.getLocalName(Re),Re)}return Re.name&&(V=nt(V,St,Re)),V}function nt(V,Re,St,M){let te=r.getDeclarationName(St),j=R.exportSpecifiers.get(te);if(j)for(let se of j)V=tt(V,Re,se.name,te,se.name,void 0,M);return V}function tt(V,Re,St,M,te,j,se){return Re.has(St)||(Re.set(St,!0),V=pn(V,re(St,M,te,j,se))),V}function yt(){let V;return m===0?V=r.createExpressionStatement(Ce(r.createIdentifier(\"__esModule\"),r.createTrue())):V=r.createExpressionStatement(r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier(\"Object\"),\"defineProperty\"),void 0,[r.createIdentifier(\"exports\"),r.createStringLiteral(\"__esModule\"),r.createObjectLiteralExpression([r.createPropertyAssignment(\"value\",r.createTrue())])])),$n(V,2097152),V}function re(V,Re,St,M,te){let j=Ze(r.createExpressionStatement(Ce(V,Re,void 0,te)),St);return Sd(j),M||$n(j,3072),j}function Ce(V,Re,St,M){return Ze(M&&m!==0?r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier(\"Object\"),\"defineProperty\"),void 0,[r.createIdentifier(\"exports\"),r.createStringLiteralFromNode(V),r.createObjectLiteralExpression([r.createPropertyAssignment(\"enumerable\",r.createTrue()),r.createPropertyAssignment(\"get\",r.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,r.createBlock([r.createReturnStatement(Re)])))])]):r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier(\"exports\"),r.cloneNode(V)),Re),St)}function et(V){switch(V.kind){case 95:case 90:return}return V}function z(V,Re,St){Re.kind===312?(C=Re,R=A[dd(C)],S(V,Re,St),C=void 0,R=void 0):S(V,Re,St)}function Je(V,Re){return Re=E(V,Re),Re.id&&L[Re.id]?Re:V===1?ze(Re):xu(Re)?_t(Re):Re}function _t(V){let Re=V.name,St=on(Re);if(St!==Re){if(V.objectAssignmentInitializer){let M=r.createAssignment(St,V.objectAssignmentInitializer);return Ze(r.createPropertyAssignment(Re,M),V)}return Ze(r.createPropertyAssignment(Re,St),V)}return V}function ze(V){switch(V.kind){case 80:return on(V);case 213:return it(V);case 215:return Ct(V);case 226:return Qt(V)}return V}function it(V){if(Me(V.expression)){let Re=on(V.expression);if(L[Fa(Re)]=!0,!Me(Re)&&!(ba(V.expression)&8192))return XA(r.updateCallExpression(V,Re,void 0,V.arguments),16)}return V}function Ct(V){if(Me(V.tag)){let Re=on(V.tag);if(L[Fa(Re)]=!0,!Me(Re)&&!(ba(V.tag)&8192))return XA(r.updateTaggedTemplateExpression(V,Re,void 0,V.template),16)}return V}function on(V){var Re,St;if(ba(V)&8192){let M=L2(C);return M?r.createPropertyAccessExpression(M,V):V}else if(!(ws(V)&&!(V.emitNode.autoGenerate.flags&64))&&!lg(V)){let M=p.getReferencedExportContainer(V,R6(V));if(M&&M.kind===312)return Ze(r.createPropertyAccessExpression(r.createIdentifier(\"exports\"),r.cloneNode(V)),V);let te=p.getReferencedImportDeclaration(V);if(te){if(V_(te))return Ze(r.createPropertyAccessExpression(r.getGeneratedNameForNode(te.parent),r.createIdentifier(\"default\")),V);if(Iu(te)){let j=te.propertyName||te.name;return Ze(r.createPropertyAccessExpression(r.getGeneratedNameForNode(((St=(Re=te.parent)==null?void 0:Re.parent)==null?void 0:St.parent)||te),r.cloneNode(j)),V)}}}return V}function Qt(V){if(tv(V.operatorToken.kind)&&Me(V.left)&&(!ws(V.left)||HM(V.left))&&!lg(V.left)){let Re=Zt(V.left);if(Re){let St=V;for(let M of Re)L[Fa(St)]=!0,St=Ce(M,St,V);return St}}return V}function Zt(V){if(ws(V)){if(HM(V)){let Re=R?.exportSpecifiers.get(V);if(Re){let St=[];for(let M of Re)St.push(M.name);return St}}}else{let Re=p.getReferencedImportDeclaration(V);if(Re)return R?.exportedBindings[dd(Re)];let St=new Set,M=p.getReferencedValueDeclarations(V);if(M){for(let te of M){let j=R?.exportedBindings[dd(te)];if(j)for(let se of j)St.add(se)}if(St.size)return bo(St)}}}}var BSe,e7e=pt({\"src/compiler/transformers/module/module.ts\"(){\"use strict\";wo(),BSe={name:\"typescript:dynamicimport-sync-require\",scoped:!0,text:`\n            var __syncRequire = typeof module === \"object\" && typeof module.exports === \"object\";`}}});function mae(e){let{factory:t,startLexicalEnvironment:r,endLexicalEnvironment:i,hoistVariableDeclaration:o}=e,s=e.getCompilerOptions(),l=e.getEmitResolver(),d=e.getEmitHost(),p=e.onSubstituteNode,h=e.onEmitNode;e.onSubstituteNode=Ce,e.onEmitNode=re,e.enableSubstitution(80),e.enableSubstitution(304),e.enableSubstitution(226),e.enableSubstitution(236),e.enableEmitNotification(312);let m=[],v=[],E=[],S=[],A,C,R,L,G,U,K;return $f(e,F);function F(V){if(V.isDeclarationFile||!(MA(V,s)||V.transformFlags&8388608))return V;let Re=dd(V);A=V,U=V,C=m[Re]=XU(e,V),R=t.createUniqueName(\"exports\"),v[Re]=R,L=S[Re]=t.createUniqueName(\"context\");let St=oe(C.externalImports),M=W(V,St),te=t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,R),t.createParameterDeclaration(void 0,void 0,L)],void 0,M),j=k2(t,V,d,s),se=t.createArrayLiteralExpression(nn(St,Ie=>Ie.name)),Pe=$n(t.updateSourceFile(V,Ze(t.createNodeArray([t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier(\"System\"),\"register\"),void 0,j?[j,se,te]:[se,te]))]),V.statements)),2048);return ss(s)||Mre(Pe,M,Ie=>!Ie.scoped),K&&(E[Re]=K,K=void 0),A=void 0,C=void 0,R=void 0,L=void 0,G=void 0,U=void 0,Pe}function oe(V){let Re=new Map,St=[];for(let M of V){let te=hI(t,M,A,d,l,s);if(te){let j=te.text,se=Re.get(j);se!==void 0?St[se].externalImports.push(M):(Re.set(j,St.length),St.push({name:te,externalImports:[M]}))}}return St}function W(V,Re){let St=[];r();let M=Fd(s,\"alwaysStrict\")||!s.noImplicitUseStrict&&wl(A),te=t.copyPrologue(V.statements,St,M,q);St.push(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(\"__moduleName\",void 0,void 0,t.createLogicalAnd(L,t.createPropertyAccessExpression(L,\"id\")))]))),He(C.externalHelpersImportDeclaration,q,Di);let j=Dn(V.statements,q,Di,te);Pr(St,G),vh(St,i());let se=$(St),Pe=V.transformFlags&2097152?t.createModifiersFromModifierFlags(1024):void 0,Ie=t.createObjectLiteralExpression([t.createPropertyAssignment(\"setters\",fe(se,Re)),t.createPropertyAssignment(\"execute\",t.createFunctionExpression(Pe,void 0,void 0,void 0,[],void 0,t.createBlock(j,!0)))],!0);return St.push(t.createReturnStatement(Ie)),t.createBlock(St,!0)}function $(V){if(!C.hasExportStarsToExportValues)return;if(!C.exportedNames&&C.exportSpecifiers.size===0){let te=!1;for(let j of C.externalImports)if(j.kind===278&&j.exportClause){te=!0;break}if(!te){let j=de(void 0);return V.push(j),j.name}}let Re=[];if(C.exportedNames)for(let te of C.exportedNames)te.escapedText!==\"default\"&&Re.push(t.createPropertyAssignment(t.createStringLiteralFromNode(te),t.createTrue()));let St=t.createUniqueName(\"exportedNames\");V.push(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(St,void 0,void 0,t.createObjectLiteralExpression(Re,!0))])));let M=de(St);return V.push(M),M.name}function de(V){let Re=t.createUniqueName(\"exportStar\"),St=t.createIdentifier(\"m\"),M=t.createIdentifier(\"n\"),te=t.createIdentifier(\"exports\"),j=t.createStrictInequality(M,t.createStringLiteral(\"default\"));return V&&(j=t.createLogicalAnd(j,t.createLogicalNot(t.createCallExpression(t.createPropertyAccessExpression(V,\"hasOwnProperty\"),void 0,[M])))),t.createFunctionDeclaration(void 0,void 0,Re,void 0,[t.createParameterDeclaration(void 0,void 0,St)],void 0,t.createBlock([t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(te,void 0,void 0,t.createObjectLiteralExpression([]))])),t.createForInStatement(t.createVariableDeclarationList([t.createVariableDeclaration(M)]),St,t.createBlock([$n(t.createIfStatement(j,t.createExpressionStatement(t.createAssignment(t.createElementAccessExpression(te,M),t.createElementAccessExpression(St,M)))),1)])),t.createExpressionStatement(t.createCallExpression(R,void 0,[te]))],!0))}function fe(V,Re){let St=[];for(let M of Re){let te=an(M.externalImports,Pe=>Hx(t,Pe,A)),j=te?t.getGeneratedNameForNode(te):t.createUniqueName(\"\"),se=[];for(let Pe of M.externalImports){let Ie=Hx(t,Pe,A);switch(Pe.kind){case 272:if(!Pe.importClause)break;case 271:x.assert(Ie!==void 0),se.push(t.createExpressionStatement(t.createAssignment(Ie,j))),Wr(Pe,32)&&se.push(t.createExpressionStatement(t.createCallExpression(R,void 0,[t.createStringLiteral(ar(Ie)),j])));break;case 278:if(x.assert(Ie!==void 0),Pe.exportClause)if($p(Pe.exportClause)){let gt=[];for(let bt of Pe.exportClause.elements)gt.push(t.createPropertyAssignment(t.createStringLiteral(ar(bt.name)),t.createElementAccessExpression(j,t.createStringLiteral(ar(bt.propertyName||bt.name)))));se.push(t.createExpressionStatement(t.createCallExpression(R,void 0,[t.createObjectLiteralExpression(gt,!0)])))}else se.push(t.createExpressionStatement(t.createCallExpression(R,void 0,[t.createStringLiteral(ar(Pe.exportClause.name)),j])));else se.push(t.createExpressionStatement(t.createCallExpression(V,void 0,[j])));break}}St.push(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,j)],void 0,t.createBlock(se,!0)))}return t.createArrayLiteralExpression(St,!0)}function q(V){switch(V.kind){case 272:return H(V);case 271:return le(V);case 278:return ee(V);case 277:return Ee(V);default:return jt(V)}}function H(V){let Re;return V.importClause&&o(Hx(t,V,A)),D_(ft(Re,V))}function ee(V){x.assertIsDefined(V)}function le(V){x.assert(Ab(V),\"import= for internal module references should be handled in an earlier transformer.\");let Re;return o(Hx(t,V,A)),D_(he(Re,V))}function Ee(V){if(V.isExportEquals)return;let Re=He(V.expression,ki,lt);return ot(t.createIdentifier(\"default\"),Re,!0)}function ce(V){Wr(V,32)?G=pn(G,t.updateFunctionDeclaration(V,Dn(V.modifiers,yt,Ws),V.asteriskToken,t.getDeclarationName(V,!0,!0),void 0,Dn(V.parameters,ki,ao),void 0,He(V.body,ki,Do))):G=pn(G,un(V,ki,e)),G=Dt(G,V)}function Z(V){let Re,St=t.getLocalName(V);return o(St),Re=pn(Re,Ze(t.createExpressionStatement(t.createAssignment(St,Ze(t.createClassExpression(Dn(V.modifiers,yt,Ws),V.name,void 0,Dn(V.heritageClauses,ki,xp),Dn(V.members,ki,xc)),V))),V)),Re=Dt(Re,V),D_(Re)}function pe(V){if(!Oe(V.declarationList))return He(V,ki,Di);let Re;if(cL(V.declarationList)||lL(V.declarationList)){let St=Dn(V.modifiers,yt,Ws),M=[];for(let j of V.declarationList.declarations)M.push(t.updateVariableDeclaration(j,t.getGeneratedNameForNode(j.name),void 0,void 0,_e(j,!1)));let te=t.updateVariableDeclarationList(V.declarationList,M);Re=pn(Re,t.updateVariableStatement(V,St,te))}else{let St,M=Wr(V,32);for(let te of V.declarationList.declarations)te.initializer?St=pn(St,_e(te,M)):Ae(te);St&&(Re=pn(Re,Ze(t.createExpressionStatement(t.inlineExpressions(St)),V)))}return Re=Le(Re,V,!1),D_(Re)}function Ae(V){if(ko(V.name))for(let Re of V.name.elements)vc(Re)||Ae(Re);else o(t.cloneNode(V.name))}function Oe(V){return(ba(V)&4194304)===0&&(U.kind===312||(sl(V).flags&7)===0)}function _e(V,Re){let St=Re?be:Te;return ko(V.name)?nT(V,ki,e,0,!1,St):V.initializer?St(V.name,He(V.initializer,ki,lt)):V.name}function be(V,Re,St){return De(V,Re,St,!0)}function Te(V,Re,St){return De(V,Re,St,!1)}function De(V,Re,St,M){return o(t.cloneNode(V)),M?Vt(V,Qt(Ze(t.createAssignment(V,Re),St))):Qt(Ze(t.createAssignment(V,Re),St))}function ft(V,Re){if(C.exportEquals)return V;let St=Re.importClause;if(!St)return V;St.name&&(V=st(V,St));let M=St.namedBindings;if(M)switch(M.kind){case 274:V=st(V,M);break;case 275:for(let te of M.elements)V=st(V,te);break}return V}function he(V,Re){return C.exportEquals?V:st(V,Re)}function Le(V,Re,St){if(C.exportEquals)return V;for(let M of Re.declarationList.declarations)(M.initializer||St)&&(V=Ke(V,M,St));return V}function Ke(V,Re,St){if(C.exportEquals)return V;if(ko(Re.name))for(let M of Re.name.elements)vc(M)||(V=Ke(V,M,St));else if(!ws(Re.name)){let M;St&&(V=Ge(V,Re.name,t.getLocalName(Re)),M=ar(Re.name)),V=st(V,Re,M)}return V}function Dt(V,Re){if(C.exportEquals)return V;let St;if(Wr(Re,32)){let M=Wr(Re,2048)?t.createStringLiteral(\"default\"):Re.name;V=Ge(V,M,t.getLocalName(Re)),St=Ef(M)}return Re.name&&(V=st(V,Re,St)),V}function st(V,Re,St){if(C.exportEquals)return V;let M=t.getDeclarationName(Re),te=C.exportSpecifiers.get(M);if(te)for(let j of te)j.name.escapedText!==St&&(V=Ge(V,j.name,M));return V}function Ge(V,Re,St,M){return V=pn(V,ot(Re,St,M)),V}function ot(V,Re,St){let M=t.createExpressionStatement(Vt(V,Re));return Sd(M),St||$n(M,3072),M}function Vt(V,Re){let St=Me(V)?t.createStringLiteralFromNode(V):V;return $n(Re,ba(Re)|3072),Ol(t.createCallExpression(R,void 0,[St,Re]),Re)}function jt(V){switch(V.kind){case 243:return pe(V);case 262:return ce(V);case 263:return Z(V);case 248:return gn(V,!0);case 249:return On(V);case 250:return en(V);case 246:return ei(V);case 247:return Ki(V);case 256:return gi(V);case 254:return io(V);case 245:return Gn(V);case 255:return Nr(V);case 269:return cr(V);case 296:return Jt(V);case 297:return Ue(V);case 258:return Rt(V);case 299:return mn(V);case 241:return qr(V);default:return ki(V)}}function gn(V,Re){let St=U;return U=V,V=t.updateForStatement(V,He(V.initializer,Re?Wt:so,Up),He(V.condition,ki,lt),He(V.incrementor,so,lt),Qd(V.statement,Re?jt:ki,e)),U=St,V}function On(V){let Re=U;return U=V,V=t.updateForInStatement(V,Wt(V.initializer),He(V.expression,ki,lt),Qd(V.statement,jt,e)),U=Re,V}function en(V){let Re=U;return U=V,V=t.updateForOfStatement(V,V.awaitModifier,Wt(V.initializer),He(V.expression,ki,lt),Qd(V.statement,jt,e)),U=Re,V}function zt(V){return yc(V)&&Oe(V)}function Wt(V){if(zt(V)){let Re;for(let St of V.declarations)Re=pn(Re,_e(St,!1)),St.initializer||Ae(St);return Re?t.inlineExpressions(Re):t.createOmittedExpression()}else return He(V,so,Up)}function ei(V){return t.updateDoStatement(V,Qd(V.statement,jt,e),He(V.expression,ki,lt))}function Ki(V){return t.updateWhileStatement(V,He(V.expression,ki,lt),Qd(V.statement,jt,e))}function gi(V){return t.updateLabeledStatement(V,V.label,x.checkDefined(He(V.statement,jt,Di,t.liftToBlock)))}function io(V){return t.updateWithStatement(V,He(V.expression,ki,lt),x.checkDefined(He(V.statement,jt,Di,t.liftToBlock)))}function Gn(V){return t.updateIfStatement(V,He(V.expression,ki,lt),x.checkDefined(He(V.thenStatement,jt,Di,t.liftToBlock)),He(V.elseStatement,jt,Di,t.liftToBlock))}function Nr(V){return t.updateSwitchStatement(V,He(V.expression,ki,lt),x.checkDefined(He(V.caseBlock,jt,fN)))}function cr(V){let Re=U;return U=V,V=t.updateCaseBlock(V,Dn(V.clauses,jt,q8)),U=Re,V}function Jt(V){return t.updateCaseClause(V,He(V.expression,ki,lt),Dn(V.statements,jt,Di))}function Ue(V){return un(V,jt,e)}function Rt(V){return un(V,jt,e)}function mn(V){let Re=U;return U=V,V=t.updateCatchClause(V,V.variableDeclaration,x.checkDefined(He(V.block,jt,Do))),U=Re,V}function qr(V){let Re=U;return U=V,V=un(V,jt,e),U=Re,V}function ni(V,Re){if(!(V.transformFlags&276828160))return V;switch(V.kind){case 248:return gn(V,!1);case 244:return Jo(V);case 217:return Ea(V,Re);case 360:return ln(V,Re);case 226:if(nv(V))return ke(V,Re);break;case 213:if(lp(V))return Tn(V);break;case 224:case 225:return tt(V,Re)}return un(V,ki,e)}function ki(V){return ni(V,!1)}function so(V){return ni(V,!0)}function Jo(V){return t.updateExpressionStatement(V,He(V.expression,so,lt))}function Ea(V,Re){return t.updateParenthesizedExpression(V,He(V.expression,Re?so:ki,lt))}function ln(V,Re){return t.updatePartiallyEmittedExpression(V,He(V.expression,Re?so:ki,lt))}function Tn(V){let Re=hI(t,V,A,d,l,s),St=He(Ac(V.arguments),ki,lt),M=Re&&(!St||!da(St)||St.text!==Re.text)?Re:St;return t.createCallExpression(t.createPropertyAccessExpression(L,t.createIdentifier(\"import\")),void 0,M?[M]:[])}function ke(V,Re){return nt(V.left)?nT(V,ki,e,0,!Re):un(V,ki,e)}function nt(V){if(lc(V,!0))return nt(V.left);if(bm(V))return nt(V.expression);if(ma(V))return ct(V.properties,nt);if(Bd(V))return ct(V.elements,nt);if(xu(V))return nt(V.name);if(Hl(V))return nt(V.initializer);if(Me(V)){let Re=l.getReferencedExportContainer(V);return Re!==void 0&&Re.kind===312}else return!1}function tt(V,Re){if((V.operator===46||V.operator===47)&&Me(V.operand)&&!ws(V.operand)&&!lg(V.operand)&&!gV(V.operand)){let St=Ct(V.operand);if(St){let M,te=He(V.operand,ki,lt);fy(V)?te=t.updatePrefixUnaryExpression(V,te):(te=t.updatePostfixUnaryExpression(V,te),Re||(M=t.createTempVariable(o),te=t.createAssignment(M,te),Ze(te,V)),te=t.createComma(te,t.cloneNode(V.operand)),Ze(te,V));for(let j of St)te=Vt(j,Qt(te));return M&&(te=t.createComma(te,M),Ze(te,V)),te}}return un(V,ki,e)}function yt(V){switch(V.kind){case 95:case 90:return}return V}function re(V,Re,St){if(Re.kind===312){let M=dd(Re);A=Re,C=m[M],R=v[M],K=E[M],L=S[M],K&&delete E[M],h(V,Re,St),A=void 0,C=void 0,R=void 0,L=void 0,K=void 0}else h(V,Re,St)}function Ce(V,Re){return Re=p(V,Re),Zt(Re)?Re:V===1?Je(Re):V===4?et(Re):Re}function et(V){switch(V.kind){case 304:return z(V)}return V}function z(V){var Re,St;let M=V.name;if(!ws(M)&&!lg(M)){let te=l.getReferencedImportDeclaration(M);if(te){if(V_(te))return Ze(t.createPropertyAssignment(t.cloneNode(M),t.createPropertyAccessExpression(t.getGeneratedNameForNode(te.parent),t.createIdentifier(\"default\"))),V);if(Iu(te))return Ze(t.createPropertyAssignment(t.cloneNode(M),t.createPropertyAccessExpression(t.getGeneratedNameForNode(((St=(Re=te.parent)==null?void 0:Re.parent)==null?void 0:St.parent)||te),t.cloneNode(te.propertyName||te.name))),V)}}return V}function Je(V){switch(V.kind){case 80:return _t(V);case 226:return ze(V);case 236:return it(V)}return V}function _t(V){var Re,St;if(ba(V)&8192){let M=L2(A);return M?t.createPropertyAccessExpression(M,V):V}if(!ws(V)&&!lg(V)){let M=l.getReferencedImportDeclaration(V);if(M){if(V_(M))return Ze(t.createPropertyAccessExpression(t.getGeneratedNameForNode(M.parent),t.createIdentifier(\"default\")),V);if(Iu(M))return Ze(t.createPropertyAccessExpression(t.getGeneratedNameForNode(((St=(Re=M.parent)==null?void 0:Re.parent)==null?void 0:St.parent)||M),t.cloneNode(M.propertyName||M.name)),V)}}return V}function ze(V){if(tv(V.operatorToken.kind)&&Me(V.left)&&(!ws(V.left)||HM(V.left))&&!lg(V.left)){let Re=Ct(V.left);if(Re){let St=V;for(let M of Re)St=Vt(M,Qt(St));return St}}return V}function it(V){return ex(V)?t.createPropertyAccessExpression(L,t.createIdentifier(\"meta\")):V}function Ct(V){let Re,St=on(V);if(St){let M=l.getReferencedExportContainer(V,!1);M&&M.kind===312&&(Re=pn(Re,t.getDeclarationName(St))),Re=Pr(Re,C?.exportedBindings[dd(St)])}else if(ws(V)&&HM(V)){let M=C?.exportSpecifiers.get(V);if(M){let te=[];for(let j of M)te.push(j.name);return te}}return Re}function on(V){if(!ws(V)){let Re=l.getReferencedImportDeclaration(V);if(Re)return Re;let St=l.getReferencedValueDeclaration(V);if(St&&C?.exportedBindings[dd(St)])return St;let M=l.getReferencedValueDeclarations(V);if(M){for(let te of M)if(te!==St&&C?.exportedBindings[dd(te)])return te}return St}}function Qt(V){return K===void 0&&(K=[]),K[Fa(V)]=!0,V}function Zt(V){return K&&V.id&&K[V.id]}}var t7e=pt({\"src/compiler/transformers/module/system.ts\"(){\"use strict\";wo()}});function sH(e){let{factory:t,getEmitHelperFactory:r}=e,i=e.getEmitHost(),o=e.getEmitResolver(),s=e.getCompilerOptions(),l=Wa(s),d=e.onEmitNode,p=e.onSubstituteNode;e.onEmitNode=K,e.onSubstituteNode=F,e.enableEmitNotification(312),e.enableSubstitution(80);let h,m,v;return $f(e,E);function E(W){if(W.isDeclarationFile)return W;if(wl(W)||xf(s)){m=W,v=void 0;let $=S(W);return m=void 0,v&&($=t.updateSourceFile($,Ze(t.createNodeArray(c9($.statements.slice(),v)),$.statements))),!wl(W)||ld(s)===200||ct($.statements,YM)?$:t.updateSourceFile($,Ze(t.createNodeArray([...$.statements,N2(t)]),$.statements))}return W}function S(W){let $=Bj(t,r(),W,s);if($){let de=[],fe=t.copyPrologue(W.statements,de);return pn(de,$),Pr(de,Dn(W.statements,A,Di,fe)),t.updateSourceFile(W,Ze(t.createNodeArray(de),W.statements))}else return un(W,A,e)}function A(W){switch(W.kind){case 271:return ld(s)>=100?R(W):void 0;case 277:return G(W);case 278:return U(W)}return W}function C(W){let $=hI(t,W,x.checkDefined(m),i,o,s),de=[];if($&&de.push($),ld(s)===200)return t.createCallExpression(t.createIdentifier(\"require\"),void 0,de);if(!v){let q=t.createUniqueName(\"_createRequire\",48),H=t.createImportDeclaration(void 0,t.createImportClause(!1,void 0,t.createNamedImports([t.createImportSpecifier(!1,t.createIdentifier(\"createRequire\"),q)])),t.createStringLiteral(\"module\"),void 0),ee=t.createUniqueName(\"__require\",48),le=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(ee,void 0,void 0,t.createCallExpression(t.cloneNode(q),void 0,[t.createPropertyAccessExpression(t.createMetaProperty(102,t.createIdentifier(\"meta\")),t.createIdentifier(\"url\"))]))],l>=2?2:0));v=[H,le]}let fe=v[1].declarationList.declarations[0].name;return x.assertNode(fe,Me),t.createCallExpression(t.cloneNode(fe),void 0,de)}function R(W){x.assert(Ab(W),\"import= for internal module references should be handled in an earlier transformer.\");let $;return $=pn($,mr(Ze(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.cloneNode(W.name),void 0,void 0,C(W))],l>=2?2:0)),W),W)),$=L($,W),D_($)}function L(W,$){return Wr($,32)&&(W=pn(W,t.createExportDeclaration(void 0,$.isTypeOnly,t.createNamedExports([t.createExportSpecifier(!1,void 0,ar($.name))])))),W}function G(W){return W.isExportEquals?ld(s)===200?mr(t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(t.createIdentifier(\"module\"),\"exports\"),W.expression)),W):void 0:W}function U(W){if(s.module!==void 0&&s.module>5||!W.exportClause||!j_(W.exportClause)||!W.moduleSpecifier)return W;let $=W.exportClause.name,de=t.getGeneratedNameForNode($),fe=t.createImportDeclaration(void 0,t.createImportClause(!1,void 0,t.createNamespaceImport(de)),W.moduleSpecifier,W.attributes);mr(fe,W.exportClause);let q=rW(W)?t.createExportDefault(de):t.createExportDeclaration(void 0,!1,t.createNamedExports([t.createExportSpecifier(!1,de,$)]));return mr(q,W),[fe,q]}function K(W,$,de){Li($)?((wl($)||xf(s))&&s.importHelpers&&(h=new Map),d(W,$,de),h=void 0):d(W,$,de)}function F(W,$){return $=p(W,$),h&&Me($)&&ba($)&8192?oe($):$}function oe(W){let $=ar(W),de=h.get($);return de||h.set($,de=t.createUniqueName($,48)),de}}var n7e=pt({\"src/compiler/transformers/module/esnextAnd2015.ts\"(){\"use strict\";wo()}});function _ae(e){let t=e.onSubstituteNode,r=e.onEmitNode,i=sH(e),o=e.onSubstituteNode,s=e.onEmitNode;e.onSubstituteNode=t,e.onEmitNode=r;let l=aH(e),d=e.onSubstituteNode,p=e.onEmitNode;e.onSubstituteNode=m,e.onEmitNode=v,e.enableSubstitution(312),e.enableEmitNotification(312);let h;return A;function m(R,L){return Li(L)?(h=L,t(R,L)):h?h.impliedNodeFormat===99?o(R,L):d(R,L):t(R,L)}function v(R,L,G){return Li(L)&&(h=L),h?h.impliedNodeFormat===99?s(R,L,G):p(R,L,G):r(R,L,G)}function E(R){return R.impliedNodeFormat===99?i:l}function S(R){if(R.isDeclarationFile)return R;h=R;let L=E(R)(R);return h=void 0,x.assert(Li(L)),L}function A(R){return R.kind===312?S(R):C(R)}function C(R){return e.factory.createBundle(nn(R.sourceFiles,S),R.prepends)}}var r7e=pt({\"src/compiler/transformers/module/node.ts\"(){\"use strict\";wo()}});function T4(e){return yi(e)||xo(e)||Gu(e)||Na(e)||$g(e)||Yv(e)||S2(e)||iI(e)||El(e)||B_(e)||Ql(e)||ao(e)||qs(e)||sv(e)||Nc(e)||Xf(e)||ll(e)||r0(e)||Er(e)||Rs(e)||Zn(e)||bf(e)}function hae(e){if($g(e)||Yv(e))return t;return B_(e)||El(e)?i:cv(e);function t(s){let l=r(s);return l!==void 0?{diagnosticMessage:l,errorNode:e,typeName:e.name}:void 0}function r(s){return zo(e)?s.errorModuleName?s.accessibility===2?f.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:f.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:e.parent.kind===263?s.errorModuleName?s.accessibility===2?f.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:f.Public_property_0_of_exported_class_has_or_is_using_private_name_1:s.errorModuleName?f.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:f.Property_0_of_exported_interface_has_or_is_using_private_name_1}function i(s){let l=o(s);return l!==void 0?{diagnosticMessage:l,errorNode:e,typeName:e.name}:void 0}function o(s){return zo(e)?s.errorModuleName?s.accessibility===2?f.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:f.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:e.parent.kind===263?s.errorModuleName?s.accessibility===2?f.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:f.Public_method_0_of_exported_class_has_or_is_using_private_name_1:s.errorModuleName?f.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:f.Method_0_of_exported_interface_has_or_is_using_private_name_1}}function cv(e){if(yi(e)||xo(e)||Gu(e)||Er(e)||Rs(e)||Zn(e)||Na(e)||ll(e))return r;return $g(e)||Yv(e)?i:S2(e)||iI(e)||El(e)||B_(e)||Ql(e)||r0(e)?o:ao(e)?wu(e,e.parent)&&Wr(e.parent,2)?r:s:qs(e)?d:sv(e)?p:Nc(e)?h:Xf(e)||bf(e)?m:x.assertNever(e,`Attempted to set a declaration diagnostic context for unhandled node kind: ${x.formatSyntaxKind(e.kind)}`);function t(v){if(e.kind===260||e.kind===208)return v.errorModuleName?v.accessibility===2?f.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:f.Exported_variable_0_has_or_is_using_private_name_1;if(e.kind===172||e.kind===211||e.kind===212||e.kind===226||e.kind===171||e.kind===169&&Wr(e.parent,2))return zo(e)?v.errorModuleName?v.accessibility===2?f.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:f.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:e.parent.kind===263||e.kind===169?v.errorModuleName?v.accessibility===2?f.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:f.Public_property_0_of_exported_class_has_or_is_using_private_name_1:v.errorModuleName?f.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:f.Property_0_of_exported_interface_has_or_is_using_private_name_1}function r(v){let E=t(v);return E!==void 0?{diagnosticMessage:E,errorNode:e,typeName:e.name}:void 0}function i(v){let E;return e.kind===178?zo(e)?E=v.errorModuleName?f.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:f.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:E=v.errorModuleName?f.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:f.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:zo(e)?E=v.errorModuleName?v.accessibility===2?f.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:f.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:E=v.errorModuleName?v.accessibility===2?f.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:f.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1,{diagnosticMessage:E,errorNode:e.name,typeName:e.name}}function o(v){let E;switch(e.kind){case 180:E=v.errorModuleName?f.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:f.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 179:E=v.errorModuleName?f.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:f.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 181:E=v.errorModuleName?f.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:f.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 174:case 173:zo(e)?E=v.errorModuleName?v.accessibility===2?f.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:f.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:f.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:e.parent.kind===263?E=v.errorModuleName?v.accessibility===2?f.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:f.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:f.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:E=v.errorModuleName?f.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:f.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 262:E=v.errorModuleName?v.accessibility===2?f.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:f.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:f.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return x.fail(\"This is unknown kind for signature: \"+e.kind)}return{diagnosticMessage:E,errorNode:e.name||e}}function s(v){let E=l(v);return E!==void 0?{diagnosticMessage:E,errorNode:e,typeName:e.name}:void 0}function l(v){switch(e.parent.kind){case 176:return v.errorModuleName?v.accessibility===2?f.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 180:case 185:return v.errorModuleName?f.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 179:return v.errorModuleName?f.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 181:return v.errorModuleName?f.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 174:case 173:return zo(e.parent)?v.errorModuleName?v.accessibility===2?f.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:e.parent.parent.kind===263?v.errorModuleName?v.accessibility===2?f.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:v.errorModuleName?f.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 262:case 184:return v.errorModuleName?v.accessibility===2?f.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 178:case 177:return v.errorModuleName?v.accessibility===2?f.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:f.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:f.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return x.fail(`Unknown parent for parameter: ${x.formatSyntaxKind(e.parent.kind)}`)}}function d(){let v;switch(e.parent.kind){case 263:v=f.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 264:v=f.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 200:v=f.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 185:case 180:v=f.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 179:v=f.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 174:case 173:zo(e.parent)?v=f.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:e.parent.parent.kind===263?v=f.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:v=f.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 184:case 262:v=f.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 195:v=f.Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1;break;case 265:v=f.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return x.fail(\"This is unknown parent for type parameter: \"+e.parent.kind)}return{diagnosticMessage:v,errorNode:e,typeName:e.name}}function p(){let v;return Zl(e.parent.parent)?v=xp(e.parent)&&e.parent.token===119?f.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.parent.parent.name?f.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:f.extends_clause_of_exported_class_has_or_is_using_private_name_0:v=f.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1,{diagnosticMessage:v,errorNode:e,typeName:mo(e.parent.parent)}}function h(){return{diagnosticMessage:f.Import_declaration_0_is_using_private_name_1,errorNode:e,typeName:e.name}}function m(v){return{diagnosticMessage:v.errorModuleName?f.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:f.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:bf(e)?x.checkDefined(e.typeExpression):e.type,typeName:bf(e)?mo(e):e.name}}}var i7e=pt({\"src/compiler/transformers/declarations/diagnostics.ts\"(){\"use strict\";wo()}});function gae(e,t,r){let i=e.getCompilerOptions();return mk(t,e,P,i,r?[r]:Cr(e.getSourceFiles(),P9),[lH],!1).diagnostics}function lH(e){let t=()=>x.fail(\"Diagnostic emitted without context\"),r=t,i=!0,o=!1,s=!1,l=!1,d=!1,p,h,m,v,E,S,{factory:A}=e,C=e.getEmitHost(),R={trackSymbol:ce,reportInaccessibleThisError:_e,reportInaccessibleUniqueSymbolError:Ae,reportCyclicStructureError:Oe,reportPrivateInBaseOfClassExpression:Z,reportLikelyUnsafeImportRequiredError:be,reportTruncationError:Te,moduleResolverHost:C,trackReferencedAmbientModule:H,trackExternalModuleSymbolOfImportTypeNode:Ee,reportNonlocalAugmentation:De,reportNonSerializableProperty:ft},L,G,U,K,F,oe,W=e.getEmitResolver(),$=e.getCompilerOptions(),{noResolve:de,stripInternal:fe}=$;return Le;function q(z){if(z){h=h||new Set;for(let Je of z)h.add(Je)}}function H(z,Je){let _t=W.getTypeReferenceDirectivesForSymbol(Je,-1);if(yn(_t))return q(_t);let ze=Nn(z);K.set(dd(ze),ze)}function ee(z){let Je=sx(z),_t=Je&&W.tryFindAmbientModule(Je);if(_t?.declarations)for(let ze of _t.declarations)sd(ze)&&Nn(ze)!==U&&H(ze,_t)}function le(z){if(z.accessibility===0){if(z.aliasesToMakeVisible)if(!m)m=z.aliasesToMakeVisible;else for(let Je of z.aliasesToMakeVisible)jp(m,Je)}else{let Je=r(z);if(Je)return Je.typeName?e.addDiagnostic(vr(z.errorNode||Je.errorNode,Je.diagnosticMessage,Vl(Je.typeName),z.errorSymbolName,z.errorModuleName)):e.addDiagnostic(vr(z.errorNode||Je.errorNode,Je.diagnosticMessage,z.errorSymbolName,z.errorModuleName)),!0}return!1}function Ee(z){o||(S||(S=[])).push(z)}function ce(z,Je,_t){if(z.flags&262144)return!1;let ze=le(W.isSymbolAccessible(z,Je,_t,!0));return q(W.getTypeReferenceDirectivesForSymbol(z,_t)),ze}function Z(z){(L||G)&&e.addDiagnostic(vr(L||G,f.Property_0_of_exported_class_expression_may_not_be_private_or_protected,z))}function pe(){return L?is(L):G&&mo(G)?is(mo(G)):G&&dl(G)?G.isExportEquals?\"export=\":\"default\":\"(Missing)\"}function Ae(){(L||G)&&e.addDiagnostic(vr(L||G,f.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,pe(),\"unique symbol\"))}function Oe(){(L||G)&&e.addDiagnostic(vr(L||G,f.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,pe()))}function _e(){(L||G)&&e.addDiagnostic(vr(L||G,f.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,pe(),\"this\"))}function be(z){(L||G)&&e.addDiagnostic(vr(L||G,f.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,pe(),z))}function Te(){(L||G)&&e.addDiagnostic(vr(L||G,f.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))}function De(z,Je,_t){var ze;let it=(ze=Je.declarations)==null?void 0:ze.find(on=>Nn(on)===z),Ct=Cr(_t.declarations,on=>Nn(on)!==z);if(it&&Ct)for(let on of Ct)e.addDiagnostic(fa(vr(on,f.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized),vr(it,f.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file)))}function ft(z){(L||G)&&e.addDiagnostic(vr(L||G,f.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized,z))}function he(z,Je){let _t=r;r=it=>it.errorNode&&T4(it.errorNode)?cv(it.errorNode)(it):{diagnosticMessage:it.errorModuleName?f.Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:f.Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit,errorNode:it.errorNode||z};let ze=W.getDeclarationStatementsForSourceFile(z,rT,R,Je);return r=_t,ze}function Le(z){if(z.kind===312&&z.isDeclarationFile)return z;if(z.kind===313){o=!0,K=new Map,F=new Map;let Re=!1,St=A.createBundle(nn(z.sourceFiles,j=>{if(j.isDeclarationFile)return;if(Re=Re||j.hasNoDefaultLib,U=j,p=j,m=void 0,E=!1,v=new Map,r=t,l=!1,d=!1,Ke(j,K),Dt(j,F),sp(j)||yf(j)){s=!1,i=!1;let Pe=wd(j)?A.createNodeArray(he(j,!0)):Dn(j.statements,qr,Di);return A.updateSourceFile(j,[A.createModuleDeclaration([A.createModifier(138)],A.createStringLiteral(wW(e.getEmitHost(),j)),A.createModuleBlock(Ze(A.createNodeArray(Ue(Pe)),j.statements)))],!0,[],[],!1,[])}i=!0;let se=wd(j)?A.createNodeArray(he(j)):Dn(j.statements,qr,Di);return A.updateSourceFile(j,Ue(se),!0,[],[],!1,[])}),Fi(z.prepends,j=>{if(j.kind===315){let se=ij(j,\"dts\",fe);return Re=Re||!!se.hasNoDefaultLib,Ke(se,K),q(nn(se.typeReferenceDirectives,Pe=>[Pe.fileName,Pe.resolutionMode])),Dt(se,F),se}return j}));St.syntheticFileReferences=[],St.syntheticTypeReferences=Qt(),St.syntheticLibReferences=on(),St.hasNoDefaultLib=Re;let M=Ur(ad(BN(z,C,!0).declarationFilePath)),te=V(St.syntheticFileReferences,M);return K.forEach(te),St}i=!0,l=!1,d=!1,p=z,U=z,r=t,o=!1,s=!1,E=!1,m=void 0,v=new Map,h=void 0,K=Ke(U,new Map),F=Dt(U,new Map);let Je=[],_t=Ur(ad(BN(z,C,!0).declarationFilePath)),ze=V(Je,_t),it;if(wd(U))it=A.createNodeArray(he(z)),K.forEach(ze),oe=Cr(it,AS);else{let Re=Dn(z.statements,qr,Di);it=Ze(A.createNodeArray(Ue(Re)),z.statements),K.forEach(ze),oe=Cr(it,AS),wl(z)&&(!s||l&&!d)&&(it=Ze(A.createNodeArray([...it,N2(A)]),it))}let Ct=A.updateSourceFile(z,it,!0,Je,Qt(),z.hasNoDefaultLib,on());return Ct.exportedModulesFromDeclarationEmit=S,Ct;function on(){return bo(F.keys(),Re=>({fileName:Re,pos:-1,end:-1}))}function Qt(){return h?Fi(bo(h.keys()),Zt):[]}function Zt([Re,St]){if(oe){for(let M of oe)if(Nc(M)&&U_(M.moduleReference)){let te=M.moduleReference.expression;if(Ga(te)&&te.text===Re)return}else if(cc(M)&&da(M.moduleSpecifier)&&M.moduleSpecifier.text===Re)return}return{fileName:Re,pos:-1,end:-1,...St?{resolutionMode:St}:void 0}}function V(Re,St){return M=>{if(S?.includes(M.symbol))return;let te;if(M.isDeclarationFile)te=M.fileName;else{if(o&&To(z.sourceFiles,M))return;let j=BN(M,C,!0);te=j.declarationFilePath||j.jsFilePath||M.fileName}if(te){let j=i4($,U,Qi(St,C.getCurrentDirectory()),Qi(te,C.getCurrentDirectory()),C);if(!op(j)){q([[j,void 0]]);return}let se=AA(St,te,C.getCurrentDirectory(),C.getCanonicalFileName,!1);if(Ui(se,\"./\")&&TA(se)&&(se=se.substring(2)),Ui(se,\"node_modules/\")||Gb(se))return;Re.push({pos:-1,end:-1,fileName:se})}}}}function Ke(z,Je){return de||!XS(z)&&wd(z)||an(z.referencedFiles,_t=>{let ze=C.getSourceFileFromReference(z,_t);ze&&Je.set(dd(ze),ze)}),Je}function Dt(z,Je){return an(z.libReferenceDirectives,_t=>{C.getLibFileFromReference(_t)&&Je.set(C_(_t.fileName),!0)}),Je}function st(z){if(z.kind===80)return z;return z.kind===207?A.updateArrayBindingPattern(z,Dn(z.elements,Je,V8)):A.updateObjectBindingPattern(z,Dn(z.elements,Je,Na));function Je(_t){return _t.kind===232?_t:(_t.propertyName&&Pa(_t.propertyName)&&gl(_t.propertyName.expression)&&gi(_t.propertyName.expression,p),A.updateBindingElement(_t,_t.dotDotDotToken,_t.propertyName,st(_t.name),ot(_t)?_t.initializer:void 0))}}function Ge(z,Je,_t){let ze;E||(ze=r,r=cv(z));let it=A.updateParameterDeclaration(z,a7e(A,z,Je),z.dotDotDotToken,st(z.name),W.isOptionalParameter(z)?z.questionToken||A.createToken(58):void 0,jt(z,_t||z.type,!0),Vt(z));return E||(r=ze),it}function ot(z){return s7e(z)&&W.isLiteralConstDeclaration(uo(z))}function Vt(z){if(ot(z))return W.createLiteralConstValue(uo(z),R)}function jt(z,Je,_t){if(!_t&&zu(z,2)||ot(z))return;let ze=z.kind===169&&(W.isRequiredInitializedParameter(z)||W.isOptionalUninitializedParameterProperty(z));if(Je&&!ze)return He(Je,Rt,xi);if(!uo(z))return Je?He(Je,Rt,xi):A.createKeywordTypeNode(133);if(z.kind===178)return A.createKeywordTypeNode(133);L=z.name;let it;if(E||(it=r,r=cv(z)),z.kind===260||z.kind===208)return Ct(W.createTypeOfDeclaration(z,p,rT,R));if(z.kind===169||z.kind===172||z.kind===171)return Gu(z)||!z.initializer?Ct(W.createTypeOfDeclaration(z,p,rT,R,ze)):Ct(W.createTypeOfDeclaration(z,p,rT,R,ze)||W.createTypeOfExpression(z.initializer,p,rT,R));return Ct(W.createReturnTypeOfSignatureDeclaration(z,p,rT,R));function Ct(on){return L=void 0,E||(r=it),on||A.createKeywordTypeNode(133)}}function gn(z){switch(z=uo(z),z.kind){case 262:case 267:case 264:case 263:case 265:case 266:return!W.isDeclarationVisible(z);case 260:return!en(z);case 271:case 272:case 278:case 277:return!1;case 175:return!0}return!1}function On(z){var Je;if(z.body)return!0;let _t=(Je=z.symbol.declarations)==null?void 0:Je.filter(ze=>Ql(ze)&&!ze.body);return!_t||_t.indexOf(z)===_t.length-1}function en(z){return vc(z)?!1:ko(z.name)?ct(z.name.elements,en):W.isDeclarationVisible(z)}function zt(z,Je,_t){if(zu(z,2))return A.createNodeArray();let ze=nn(Je,it=>Ge(it,_t));return ze?A.createNodeArray(ze,Je.hasTrailingComma):A.createNodeArray()}function Wt(z,Je){let _t;if(!Je){let ze=KE(z);ze&&(_t=[Ge(ze)])}if(Vu(z)){let ze;if(!Je){let it=CC(z);if(it){let Ct=Ce(z,W.getAllAccessorDeclarations(z));ze=Ge(it,void 0,Ct)}}ze||(ze=A.createParameterDeclaration(void 0,void 0,\"value\")),_t=pn(_t,ze)}return A.createNodeArray(_t||je)}function ei(z,Je){return zu(z,2)?void 0:Dn(Je,Rt,qs)}function Ki(z){return Li(z)||Xf(z)||Il(z)||Zl(z)||Gd(z)||Lo(z)||r0(z)||wx(z)}function gi(z,Je){let _t=W.isEntityNameVisible(z,Je);le(_t),q(W.getTypeReferenceDirectivesForEntityName(z))}function io(z,Je){return ap(z)&&ap(Je)&&(z.jsDoc=Je.jsDoc),Ol(z,t_(Je))}function Gn(z,Je){if(Je){if(s=s||z.kind!==267&&z.kind!==205,Ga(Je))if(o){let _t=lne(e.getEmitHost(),W,z);if(_t)return A.createStringLiteral(_t)}else{let _t=W.getSymbolOfExternalModuleSpecifier(Je);_t&&(S||(S=[])).push(_t)}return Je}}function Nr(z){if(W.isDeclarationVisible(z))if(z.moduleReference.kind===283){let Je=gC(z);return A.updateImportEqualsDeclaration(z,z.modifiers,z.isTypeOnly,z.name,A.updateExternalModuleReference(z.moduleReference,Gn(z,Je)))}else{let Je=r;return r=cv(z),gi(z.moduleReference,p),r=Je,z}}function cr(z){if(!z.importClause)return A.updateImportDeclaration(z,z.modifiers,z.importClause,Gn(z,z.moduleSpecifier),Jt(z.attributes));let Je=z.importClause&&z.importClause.name&&W.isDeclarationVisible(z.importClause)?z.importClause.name:void 0;if(!z.importClause.namedBindings)return Je&&A.updateImportDeclaration(z,z.modifiers,A.updateImportClause(z.importClause,z.importClause.isTypeOnly,Je,void 0),Gn(z,z.moduleSpecifier),Jt(z.attributes));if(z.importClause.namedBindings.kind===274){let ze=W.isDeclarationVisible(z.importClause.namedBindings)?z.importClause.namedBindings:void 0;return Je||ze?A.updateImportDeclaration(z,z.modifiers,A.updateImportClause(z.importClause,z.importClause.isTypeOnly,Je,ze),Gn(z,z.moduleSpecifier),Jt(z.attributes)):void 0}let _t=Fi(z.importClause.namedBindings.elements,ze=>W.isDeclarationVisible(ze)?ze:void 0);if(_t&&_t.length||Je)return A.updateImportDeclaration(z,z.modifiers,A.updateImportClause(z.importClause,z.importClause.isTypeOnly,Je,_t&&_t.length?A.updateNamedImports(z.importClause.namedBindings,_t):void 0),Gn(z,z.moduleSpecifier),Jt(z.attributes));if(W.isImportRequiredByAugmentation(z))return A.updateImportDeclaration(z,z.modifiers,void 0,Gn(z,z.moduleSpecifier),Jt(z.attributes))}function Jt(z){let Je=oR(z);return z&&Je!==void 0?z:void 0}function Ue(z){for(;yn(m);){let _t=m.shift();if(!oW(_t))return x.fail(`Late replaced statement was found which is not handled by the declaration transformer!: ${x.formatSyntaxKind(_t.kind)}`);let ze=i;i=_t.parent&&Li(_t.parent)&&!(wl(_t.parent)&&o);let it=so(_t);i=ze,v.set(dd(_t),it)}return Dn(z,Je,Di);function Je(_t){if(oW(_t)){let ze=dd(_t);if(v.has(ze)){let it=v.get(ze);return v.delete(ze),it&&((oo(it)?ct(it,j8):j8(it))&&(l=!0),Li(_t.parent)&&(oo(it)?ct(it,YM):YM(it))&&(s=!0)),it}}return _t}}function Rt(z){if(ke(z)||bd(z)&&(gn(z)||ty(z)&&!W.isLateBound(uo(z)))||Lo(z)&&W.isImplementationOfOverload(z)||$re(z))return;let Je;Ki(z)&&(Je=p,p=z);let _t=r,ze=T4(z),it=E,Ct=(z.kind===187||z.kind===200)&&z.parent.kind!==265;if((El(z)||B_(z))&&zu(z,2))return z.symbol&&z.symbol.declarations&&z.symbol.declarations[0]!==z?void 0:on(A.createPropertyDeclaration(yt(z),z.name,void 0,void 0,void 0));if(ze&&!E&&(r=cv(z)),oI(z)&&gi(z.exprName,p),Ct&&(E=!0),c7e(z))switch(z.kind){case 233:{(Su(z.expression)||gl(z.expression))&&gi(z.expression,p);let Qt=un(z,Rt,e);return on(A.updateExpressionWithTypeArguments(Qt,Qt.expression,Qt.typeArguments))}case 183:{gi(z.typeName,p);let Qt=un(z,Rt,e);return on(A.updateTypeReferenceNode(Qt,Qt.typeName,Qt.typeArguments))}case 180:return on(A.updateConstructSignature(z,ei(z,z.typeParameters),zt(z,z.parameters),jt(z,z.type)));case 176:{let Qt=A.createConstructorDeclaration(yt(z),zt(z,z.parameters,0),void 0);return on(Qt)}case 174:{if(Ci(z.name))return on(void 0);let Qt=A.createMethodDeclaration(yt(z),void 0,z.name,z.questionToken,ei(z,z.typeParameters),zt(z,z.parameters),jt(z,z.type),void 0);return on(Qt)}case 177:{if(Ci(z.name))return on(void 0);let Qt=Ce(z,W.getAllAccessorDeclarations(z));return on(A.updateGetAccessorDeclaration(z,yt(z),z.name,Wt(z,zu(z,2)),jt(z,Qt),void 0))}case 178:return Ci(z.name)?on(void 0):on(A.updateSetAccessorDeclaration(z,yt(z),z.name,Wt(z,zu(z,2)),void 0));case 172:return Ci(z.name)?on(void 0):on(A.updatePropertyDeclaration(z,yt(z),z.name,z.questionToken,jt(z,z.type),Vt(z)));case 171:return Ci(z.name)?on(void 0):on(A.updatePropertySignature(z,yt(z),z.name,z.questionToken,jt(z,z.type)));case 173:return Ci(z.name)?on(void 0):on(A.updateMethodSignature(z,yt(z),z.name,z.questionToken,ei(z,z.typeParameters),zt(z,z.parameters),jt(z,z.type)));case 179:return on(A.updateCallSignature(z,ei(z,z.typeParameters),zt(z,z.parameters),jt(z,z.type)));case 181:return on(A.updateIndexSignature(z,yt(z),zt(z,z.parameters),He(z.type,Rt,xi)||A.createKeywordTypeNode(133)));case 260:return ko(z.name)?Ea(z.name):(Ct=!0,E=!0,on(A.updateVariableDeclaration(z,z.name,void 0,jt(z,z.type),Vt(z))));case 168:return mn(z)&&(z.default||z.constraint)?on(A.updateTypeParameterDeclaration(z,z.modifiers,z.name,void 0,void 0)):on(un(z,Rt,e));case 194:{let Qt=He(z.checkType,Rt,xi),Zt=He(z.extendsType,Rt,xi),V=p;p=z.trueType;let Re=He(z.trueType,Rt,xi);p=V;let St=He(z.falseType,Rt,xi);return x.assert(Qt),x.assert(Zt),x.assert(Re),x.assert(St),on(A.updateConditionalTypeNode(z,Qt,Zt,Re,St))}case 184:return on(A.updateFunctionTypeNode(z,Dn(z.typeParameters,Rt,qs),zt(z,z.parameters),x.checkDefined(He(z.type,Rt,xi))));case 185:return on(A.updateConstructorTypeNode(z,yt(z),Dn(z.typeParameters,Rt,qs),zt(z,z.parameters),x.checkDefined(He(z.type,Rt,xi))));case 205:return ey(z)?(ee(z),on(A.updateImportTypeNode(z,A.updateLiteralTypeNode(z.argument,Gn(z,z.argument.literal)),z.attributes,z.qualifier,Dn(z.typeArguments,Rt,xi),z.isTypeOf))):on(z);default:x.assertNever(z,`Attempted to process unhandled node kind: ${x.formatSyntaxKind(z.kind)}`)}return aI(z)&&$a(U,z.pos).line===$a(U,z.end).line&&$n(z,1),on(un(z,Rt,e));function on(Qt){return Qt&&ze&&ty(z)&&Tn(z),Ki(z)&&(p=Je),ze&&!E&&(r=_t),Ct&&(E=it),Qt===z?Qt:Qt&&mr(io(Qt,z),z)}}function mn(z){return z.parent.kind===174&&zu(z.parent,2)}function qr(z){if(!l7e(z)||ke(z))return;switch(z.kind){case 278:return Li(z.parent)&&(s=!0),d=!0,ee(z),A.updateExportDeclaration(z,z.modifiers,z.isTypeOnly,z.exportClause,Gn(z,z.moduleSpecifier),Jt(z.attributes));case 277:{if(Li(z.parent)&&(s=!0),d=!0,z.expression.kind===80)return z;{let _t=A.createUniqueName(\"_default\",16);r=()=>({diagnosticMessage:f.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:z}),G=z;let ze=A.createVariableDeclaration(_t,void 0,W.createTypeOfExpression(z.expression,z,rT,R),void 0);G=void 0;let it=A.createVariableStatement(i?[A.createModifier(138)]:[],A.createVariableDeclarationList([ze],2));return io(it,z),f2(z),[it,A.updateExportAssignment(z,z.modifiers,_t)]}}}let Je=so(z);return v.set(dd(z),Je),z}function ni(z){if(Nc(z)||zu(z,2048)||!Yf(z))return z;let Je=A.createModifiersFromModifierFlags(Wd(z)&131039);return A.replaceModifiers(z,Je)}function ki(z,Je,_t,ze){let it=A.updateModuleDeclaration(z,Je,_t,ze);if(sd(it)||it.flags&32)return it;let Ct=A.createModuleDeclaration(it.modifiers,it.name,it.body,it.flags|32);return mr(Ct,it),Ze(Ct,it),Ct}function so(z){if(m)for(;N1(m,z););if(ke(z))return;switch(z.kind){case 271:{let on=Nr(z);return on&&ee(z),on}case 272:{let on=cr(z);return on&&ee(z),on}}if(bd(z)&&gn(z)||Lo(z)&&W.isImplementationOfOverload(z))return;let Je;Ki(z)&&(Je=p,p=z);let _t=T4(z),ze=r;_t&&(r=cv(z));let it=i;switch(z.kind){case 265:{i=!1;let on=Ct(A.updateTypeAliasDeclaration(z,yt(z),z.name,Dn(z.typeParameters,Rt,qs),x.checkDefined(He(z.type,Rt,xi))));return i=it,on}case 264:return Ct(A.updateInterfaceDeclaration(z,yt(z),z.name,ei(z,z.typeParameters),et(z.heritageClauses),Dn(z.members,Rt,bS)));case 262:{let on=Ct(A.updateFunctionDeclaration(z,yt(z),void 0,z.name,ei(z,z.typeParameters),zt(z,z.parameters),jt(z,z.type),void 0));if(on&&W.isExpandoFunctionDeclaration(z)&&On(z)){let Qt=W.getPropertiesOfContainerFunction(z),Zt=H_.createModuleDeclaration(void 0,on.name||A.createIdentifier(\"_default\"),A.createModuleBlock([]),32);Aa(Zt,p),Zt.locals=Vo(Qt),Zt.symbol=Qt[0].parent;let V=[],Re=Fi(Qt,Pe=>{if(!EF(Pe.valueDeclaration))return;let Ie=Ii(Pe.escapedName);if(!Tp(Ie,99))return;r=cv(Pe.valueDeclaration);let gt=W.createTypeOfDeclaration(Pe.valueDeclaration,Zt,rT,R);r=ze;let bt=FA(Ie),Ot=bt?A.getGeneratedNameForNode(Pe.valueDeclaration):A.createIdentifier(Ie);bt&&V.push([Ot,Ie]);let dn=A.createVariableDeclaration(Ot,void 0,gt,void 0);return A.createVariableStatement(bt?void 0:[A.createToken(95)],A.createVariableDeclarationList([dn]))});V.length?Re.push(A.createExportDeclaration(void 0,!1,A.createNamedExports(nn(V,([Pe,Ie])=>A.createExportSpecifier(!1,Pe,Ie))))):Re=Fi(Re,Pe=>A.replaceModifiers(Pe,0));let St=A.createModuleDeclaration(yt(z),z.name,A.createModuleBlock(Re),32);if(!zu(on,2048))return[on,St];let M=A.createModifiersFromModifierFlags(Wd(on)&-2081|128),te=A.updateFunctionDeclaration(on,M,void 0,on.name,on.typeParameters,on.parameters,on.type,void 0),j=A.updateModuleDeclaration(St,M,St.name,St.body),se=A.createExportAssignment(void 0,!1,St.name);return Li(z.parent)&&(s=!0),d=!0,[te,j,se]}else return on}case 267:{i=!1;let on=z.body;if(on&&on.kind===268){let Qt=l,Zt=d;d=!1,l=!1;let V=Dn(on.statements,qr,Di),Re=Ue(V);z.flags&33554432&&(l=!1),!Jm(z)&&!tt(Re)&&!d&&(l?Re=A.createNodeArray([...Re,N2(A)]):Re=Dn(Re,ni,Di));let St=A.updateModuleBlock(on,Re);i=it,l=Qt,d=Zt;let M=yt(z);return Ct(ki(z,M,zE(z)?Gn(z,z.name):z.name,St))}else{i=it;let Qt=yt(z);i=!1,He(on,qr);let Zt=dd(on),V=v.get(Zt);return v.delete(Zt),Ct(ki(z,Qt,z.name,V))}}case 263:{L=z.name,G=z;let on=A.createNodeArray(yt(z)),Qt=ei(z,z.typeParameters),Zt=Ah(z),V;if(Zt){let se=r;V=pM(ta(Zt.parameters,Pe=>{if(!Wr(Pe,31)||ke(Pe))return;if(r=cv(Pe),Pe.name.kind===80)return io(A.createPropertyDeclaration(yt(Pe),Pe.name,Pe.questionToken,jt(Pe,Pe.type),Vt(Pe)),Pe);return Ie(Pe.name);function Ie(gt){let bt;for(let Ot of gt.elements)vc(Ot)||(ko(Ot.name)&&(bt=ro(bt,Ie(Ot.name))),bt=bt||[],bt.push(A.createPropertyDeclaration(yt(Pe),Ot.name,void 0,jt(Ot,void 0),void 0)));return bt}})),r=se}let St=ct(z.members,se=>!!se.name&&Ci(se.name))?[A.createPropertyDeclaration(void 0,A.createPrivateIdentifier(\"#private\"),void 0,void 0,void 0)]:void 0,M=ro(ro(St,V),Dn(z.members,Rt,xc)),te=A.createNodeArray(M),j=Km(z);if(j&&!gl(j.expression)&&j.expression.kind!==106){let se=z.name?Ii(z.name.escapedText):\"default\",Pe=A.createUniqueName(`${se}_base`,16);r=()=>({diagnosticMessage:f.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,errorNode:j,typeName:z.name});let Ie=A.createVariableDeclaration(Pe,void 0,W.createTypeOfExpression(j.expression,z,rT,R),void 0),gt=A.createVariableStatement(i?[A.createModifier(138)]:[],A.createVariableDeclarationList([Ie],2)),bt=A.createNodeArray(nn(z.heritageClauses,Ot=>{if(Ot.token===96){let dn=r;r=cv(Ot.types[0]);let An=A.updateHeritageClause(Ot,nn(Ot.types,Cn=>A.updateExpressionWithTypeArguments(Cn,Pe,Dn(Cn.typeArguments,Rt,xi))));return r=dn,An}return A.updateHeritageClause(Ot,Dn(A.createNodeArray(Cr(Ot.types,dn=>gl(dn.expression)||dn.expression.kind===106)),Rt,sv))}));return[gt,Ct(A.updateClassDeclaration(z,on,z.name,Qt,bt,te))]}else{let se=et(z.heritageClauses);return Ct(A.updateClassDeclaration(z,on,z.name,Qt,se,te))}}case 243:return Ct(Jo(z));case 266:return Ct(A.updateEnumDeclaration(z,A.createNodeArray(yt(z)),z.name,A.createNodeArray(Fi(z.members,on=>{if(ke(on))return;let Qt=W.getConstantValue(on),Zt=Qt===void 0?void 0:typeof Qt==\"string\"?A.createStringLiteral(Qt):Qt<0?A.createPrefixUnaryExpression(41,A.createNumericLiteral(-Qt)):A.createNumericLiteral(Qt);return io(A.updateEnumMember(on,on.name,Zt),on)}))))}return x.assertNever(z,`Unhandled top-level node in declaration emit: ${x.formatSyntaxKind(z.kind)}`);function Ct(on){return Ki(z)&&(p=Je),_t&&(r=ze),z.kind===267&&(i=it),on===z?on:(G=void 0,L=void 0,on&&mr(io(on,z),z))}}function Jo(z){if(!an(z.declarationList.declarations,en))return;let Je=Dn(z.declarationList.declarations,Rt,yi);if(!yn(Je))return;let _t=A.createNodeArray(yt(z)),ze;return cL(z.declarationList)||lL(z.declarationList)?(ze=A.createVariableDeclarationList(Je,2),mr(ze,z.declarationList),Ze(ze,z.declarationList),Ol(ze,z.declarationList)):ze=A.updateVariableDeclarationList(z.declarationList,Je),A.updateVariableStatement(z,_t,ze)}function Ea(z){return Ff(Fi(z.elements,Je=>ln(Je)))}function ln(z){if(z.kind!==232&&z.name)return en(z)?ko(z.name)?Ea(z.name):A.createVariableDeclaration(z.name,void 0,jt(z,void 0),void 0):void 0}function Tn(z){let Je;E||(Je=r,r=hae(z)),L=z.name,x.assert(W.isLateBound(uo(z)));let ze=z.name.expression;gi(ze,p),E||(r=Je),L=void 0}function ke(z){return!!fe&&!!z&&o9(z,U)}function nt(z){return dl(z)||xl(z)}function tt(z){return ct(z,nt)}function yt(z){let Je=Wd(z),_t=re(z);return Je===_t?ck(z.modifiers,ze=>Vr(ze,ia),ia):A.createModifiersFromModifierFlags(_t)}function re(z){let Je=130030,_t=i&&!o7e(z)?128:0,ze=z.parent.kind===312;return(!ze||o&&ze&&wl(z.parent))&&(Je^=128,_t=0),GSe(z,Je,_t)}function Ce(z,Je){let _t=vae(z);return!_t&&z!==Je.firstAccessor&&(_t=vae(Je.firstAccessor),r=cv(Je.firstAccessor)),!_t&&Je.secondAccessor&&z!==Je.secondAccessor&&(_t=vae(Je.secondAccessor),r=cv(Je.secondAccessor)),_t}function et(z){return A.createNodeArray(Cr(nn(z,Je=>A.updateHeritageClause(Je,Dn(A.createNodeArray(Cr(Je.types,_t=>gl(_t.expression)||Je.token===96&&_t.expression.kind===106)),Rt,sv))),Je=>Je.types&&!!Je.types.length))}}function o7e(e){return e.kind===264}function a7e(e,t,r,i){return e.createModifiersFromModifierFlags(GSe(t,r,i))}function GSe(e,t=131070,r=0){let i=Wd(e)&t|r;return i&2048&&!(i&32)&&(i^=32),i&2048&&i&128&&(i^=128),i}function vae(e){if(e)return e.kind===177?e.type:e.parameters.length>0?e.parameters[0].type:void 0}function s7e(e){switch(e.kind){case 172:case 171:return!zu(e,2);case 169:case 260:return!0}return!1}function l7e(e){switch(e.kind){case 262:case 267:case 271:case 264:case 263:case 265:case 266:case 243:case 272:case 278:case 277:return!0}return!1}function c7e(e){switch(e.kind){case 180:case 176:case 174:case 177:case 178:case 172:case 171:case 173:case 179:case 181:case 260:case 168:case 233:case 183:case 194:case 184:case 185:case 205:return!0}return!1}var rT,d7e=pt({\"src/compiler/transformers/declarations.ts\"(){\"use strict\";wo(),Toe(),rT=531469}});function u7e(e){switch(e){case 99:case 7:case 6:case 5:case 200:return sH;case 4:return mae;case 100:case 199:return _ae;default:return aH}}function cH(e,t,r){return{scriptTransformers:p7e(e,t,r),declarationTransformers:f7e(t)}}function p7e(e,t,r){if(r)return je;let i=Wa(e),o=ld(e),s=nN(e),l=[];return Pr(l,t&&nn(t.before,jSe)),l.push(Xoe),e.experimentalDecorators&&l.push(Qoe),oF(e)&&l.push(cae),i<99&&l.push(oae),!e.experimentalDecorators&&(i<99||!s)&&l.push(Zoe),l.push(Yoe),i<8&&l.push(iae),i<7&&l.push(rae),i<6&&l.push(nae),i<5&&l.push(tae),i<4&&l.push(eae),i<3&&l.push(dae),i<2&&(l.push(uae),l.push(fae)),l.push(u7e(o)),i<1&&l.push(pae),Pr(l,t&&nn(t.after,jSe)),l}function f7e(e){let t=[];return t.push(lH),Pr(t,e&&nn(e.afterDeclarations,_7e)),t}function m7e(e){return t=>xj(t)?e.transformBundle(t):e.transformSourceFile(t)}function VSe(e,t){return r=>{let i=e(r);return typeof i==\"function\"?t(r,i):m7e(i)}}function jSe(e){return VSe(e,$f)}function _7e(e){return VSe(e,(t,r)=>r)}function WN(e,t){return t}function fk(e,t,r){r(e,t)}function mk(e,t,r,i,o,s,l){var d,p;let h=new Array(363),m,v,E,S=0,A=[],C=[],R=[],L=[],G=0,U=!1,K=[],F=0,oe,W,$=WN,de=fk,fe=0,q=[],H={factory:r,getCompilerOptions:()=>i,getEmitResolver:()=>e,getEmitHost:()=>t,getEmitHelperFactory:Kd(()=>Wre(H)),startLexicalEnvironment:he,suspendLexicalEnvironment:Le,resumeLexicalEnvironment:Ke,endLexicalEnvironment:Dt,setLexicalEnvironmentFlags:st,getLexicalEnvironmentFlags:Ge,hoistVariableDeclaration:Te,hoistFunctionDeclaration:De,addInitializationStatement:ft,startBlockScope:ot,endBlockScope:Vt,addBlockScopedVariable:jt,requestEmitHelper:gn,readEmitHelpers:On,enableSubstitution:Z,enableEmitNotification:Oe,isSubstitutionEnabled:pe,isEmitNotificationEnabled:_e,get onSubstituteNode(){return $},set onSubstituteNode(zt){x.assert(fe<1,\"Cannot modify transformation hooks after initialization has completed.\"),x.assert(zt!==void 0,\"Value must not be 'undefined'\"),$=zt},get onEmitNode(){return de},set onEmitNode(zt){x.assert(fe<1,\"Cannot modify transformation hooks after initialization has completed.\"),x.assert(zt!==void 0,\"Value must not be 'undefined'\"),de=zt},addDiagnostic(zt){q.push(zt)}};for(let zt of o)lj(Nn(uo(zt)));Ls(\"beforeTransform\");let ee=s.map(zt=>zt(H)),le=zt=>{for(let Wt of ee)zt=Wt(zt);return zt};fe=1;let Ee=[];for(let zt of o)(d=qn)==null||d.push(qn.Phase.Emit,\"transformNodes\",zt.kind===312?{path:zt.path}:{kind:zt.kind,pos:zt.pos,end:zt.end}),Ee.push((l?le:ce)(zt)),(p=qn)==null||p.pop();return fe=2,Ls(\"afterTransform\"),Sp(\"transformTime\",\"beforeTransform\",\"afterTransform\"),{transformed:Ee,substituteNode:Ae,emitNodeWithNotification:be,isEmitNotificationEnabled:_e,dispose:en,diagnostics:q};function ce(zt){return zt&&(!Li(zt)||!zt.isDeclarationFile)?le(zt):zt}function Z(zt){x.assert(fe<2,\"Cannot modify the transformation context after transformation has completed.\"),h[zt]|=1}function pe(zt){return(h[zt.kind]&1)!==0&&(ba(zt)&8)===0}function Ae(zt,Wt){return x.assert(fe<3,\"Cannot substitute a node after the result is disposed.\"),Wt&&pe(Wt)&&$(zt,Wt)||Wt}function Oe(zt){x.assert(fe<2,\"Cannot modify the transformation context after transformation has completed.\"),h[zt]|=2}function _e(zt){return(h[zt.kind]&2)!==0||(ba(zt)&4)!==0}function be(zt,Wt,ei){x.assert(fe<3,\"Cannot invoke TransformationResult callbacks after the result is disposed.\"),Wt&&(_e(Wt)?de(zt,Wt,ei):ei(zt,Wt))}function Te(zt){x.assert(fe>0,\"Cannot modify the lexical environment during initialization.\"),x.assert(fe<2,\"Cannot modify the lexical environment after transformation has completed.\");let Wt=$n(r.createVariableDeclaration(zt),128);m?m.push(Wt):m=[Wt],S&1&&(S|=2)}function De(zt){x.assert(fe>0,\"Cannot modify the lexical environment during initialization.\"),x.assert(fe<2,\"Cannot modify the lexical environment after transformation has completed.\"),$n(zt,2097152),v?v.push(zt):v=[zt]}function ft(zt){x.assert(fe>0,\"Cannot modify the lexical environment during initialization.\"),x.assert(fe<2,\"Cannot modify the lexical environment after transformation has completed.\"),$n(zt,2097152),E?E.push(zt):E=[zt]}function he(){x.assert(fe>0,\"Cannot modify the lexical environment during initialization.\"),x.assert(fe<2,\"Cannot modify the lexical environment after transformation has completed.\"),x.assert(!U,\"Lexical environment is suspended.\"),A[G]=m,C[G]=v,R[G]=E,L[G]=S,G++,m=void 0,v=void 0,E=void 0,S=0}function Le(){x.assert(fe>0,\"Cannot modify the lexical environment during initialization.\"),x.assert(fe<2,\"Cannot modify the lexical environment after transformation has completed.\"),x.assert(!U,\"Lexical environment is already suspended.\"),U=!0}function Ke(){x.assert(fe>0,\"Cannot modify the lexical environment during initialization.\"),x.assert(fe<2,\"Cannot modify the lexical environment after transformation has completed.\"),x.assert(U,\"Lexical environment is not suspended.\"),U=!1}function Dt(){x.assert(fe>0,\"Cannot modify the lexical environment during initialization.\"),x.assert(fe<2,\"Cannot modify the lexical environment after transformation has completed.\"),x.assert(!U,\"Lexical environment is suspended.\");let zt;if(m||v||E){if(v&&(zt=[...v]),m){let Wt=r.createVariableStatement(void 0,r.createVariableDeclarationList(m));$n(Wt,2097152),zt?zt.push(Wt):zt=[Wt]}E&&(zt?zt=[...zt,...E]:zt=[...E])}return G--,m=A[G],v=C[G],E=R[G],S=L[G],G===0&&(A=[],C=[],R=[],L=[]),zt}function st(zt,Wt){S=Wt?S|zt:S&~zt}function Ge(){return S}function ot(){x.assert(fe>0,\"Cannot start a block scope during initialization.\"),x.assert(fe<2,\"Cannot start a block scope after transformation has completed.\"),K[F]=oe,F++,oe=void 0}function Vt(){x.assert(fe>0,\"Cannot end a block scope during initialization.\"),x.assert(fe<2,\"Cannot end a block scope after transformation has completed.\");let zt=ct(oe)?[r.createVariableStatement(void 0,r.createVariableDeclarationList(oe.map(Wt=>r.createVariableDeclaration(Wt)),1))]:void 0;return F--,oe=K[F],F===0&&(K=[]),zt}function jt(zt){x.assert(F>0,\"Cannot add a block scoped variable outside of an iteration body.\"),(oe||(oe=[])).push(zt)}function gn(zt){if(x.assert(fe>0,\"Cannot modify the transformation context during initialization.\"),x.assert(fe<2,\"Cannot modify the transformation context after transformation has completed.\"),x.assert(!zt.scoped,\"Cannot request a scoped emit helper.\"),zt.dependencies)for(let Wt of zt.dependencies)gn(Wt);W=pn(W,zt)}function On(){x.assert(fe>0,\"Cannot modify the transformation context during initialization.\"),x.assert(fe<2,\"Cannot modify the transformation context after transformation has completed.\");let zt=W;return W=void 0,zt}function en(){if(fe<3){for(let zt of o)lj(Nn(uo(zt)));m=void 0,A=void 0,v=void 0,C=void 0,$=void 0,de=void 0,W=void 0,fe=3}}}var dH,FN,h7e=pt({\"src/compiler/transformer.ts\"(){\"use strict\";wo(),mS(),dH={scriptTransformers:je,declarationTransformers:je},FN={factory:P,getCompilerOptions:()=>({}),getEmitResolver:Ro,getEmitHost:Ro,getEmitHelperFactory:Ro,startLexicalEnvironment:Ca,resumeLexicalEnvironment:Ca,suspendLexicalEnvironment:Ca,endLexicalEnvironment:ub,setLexicalEnvironmentFlags:Ca,getLexicalEnvironmentFlags:()=>0,hoistVariableDeclaration:Ca,hoistFunctionDeclaration:Ca,addInitializationStatement:Ca,startBlockScope:Ca,endBlockScope:ub,addBlockScopedVariable:Ca,requestEmitHelper:Ca,readEmitHelpers:Ro,enableSubstitution:Ca,enableEmitNotification:Ca,isSubstitutionEnabled:Ro,isEmitNotificationEnabled:Ro,onSubstituteNode:WN,onEmitNode:fk,addDiagnostic:Ca}}});function yae(e){return el(e,\".tsbuildinfo\")}function uH(e,t,r,i=!1,o,s){let l=oo(r)?r:iV(e,r,i),d=e.getCompilerOptions();if(ss(d)){let p=e.getPrependNodes();if(l.length||p.length){let h=P.createBundle(l,p),m=t(BN(h,e,i),h);if(m)return m}}else{if(!o)for(let p of l){let h=t(BN(p,e,i),p);if(h)return h}if(s){let p=dv(d);if(p)return t({buildInfoPath:p},void 0)}}}function dv(e){let t=e.configFilePath;if(!tN(e))return;if(e.tsBuildInfoFile)return e.tsBuildInfoFile;let r=ss(e),i;if(r)i=Yd(r);else{if(!t)return;let o=Yd(t);i=e.outDir?e.rootDir?jv(e.outDir,Gf(e.rootDir,o,!0)):wr(e.outDir,Ll(o)):o}return i+\".tsbuildinfo\"}function zN(e,t){let r=ss(e),i=e.emitDeclarationOnly?void 0:r,o=i&&USe(i,e),s=t||Xp(e)?Yd(r)+\".d.ts\":void 0,l=s&&a2(e)?s+\".map\":void 0,d=dv(e);return{jsFilePath:i,sourceMapFilePath:o,declarationFilePath:s,declarationMapPath:l,buildInfoPath:d}}function BN(e,t,r){let i=t.getCompilerOptions();if(e.kind===313)return zN(i,r);{let o=cne(e.fileName,t,A4(e.fileName,i)),s=yf(e),l=s&&Xh(e.fileName,o,t.getCurrentDirectory(),!t.useCaseSensitiveFileNames())===0,d=i.emitDeclarationOnly||l?void 0:o,p=!d||yf(e)?void 0:USe(d,i),h=r||Xp(i)&&!s?dne(e.fileName,t):void 0,m=h&&a2(i)?h+\".map\":void 0;return{jsFilePath:d,sourceMapFilePath:p,declarationFilePath:h,declarationMapPath:m,buildInfoPath:void 0}}}function USe(e,t){return t.sourceMap&&!t.inlineSourceMap?e+\".map\":void 0}function A4(e,t){return el(e,\".json\")?\".json\":t.jsx===1&&$l(e,[\".jsx\",\".tsx\"])?\".jsx\":$l(e,[\".mts\",\".mjs\"])?\".mjs\":$l(e,[\".cts\",\".cjs\"])?\".cjs\":\".js\"}function HSe(e,t,r,i){return r?jv(r,Gf(i(),e,t)):e}function GN(e,t,r,i=()=>iR(t,r)){return pH(e,t.options,r,i)}function pH(e,t,r,i){return Nb(HSe(e,r,t.declarationDir||t.outDir,i),FW(e))}function qSe(e,t,r,i=()=>iR(t,r)){if(t.options.emitDeclarationOnly)return;let o=el(e,\".json\"),s=fH(e,t.options,r,i);return!o||Xh(e,s,x.checkDefined(t.options.configFilePath),r)!==0?s:void 0}function fH(e,t,r,i){return Nb(HSe(e,r,t.outDir,i),A4(e,t))}function JSe(){let e;return{addOutput:t,getOutputs:r};function t(i){i&&(e||(e=[])).push(i)}function r(){return e||je}}function KSe(e,t){let{jsFilePath:r,sourceMapFilePath:i,declarationFilePath:o,declarationMapPath:s,buildInfoPath:l}=zN(e.options,!1);t(r),t(i),t(o),t(s),t(l)}function XSe(e,t,r,i,o){if(Yc(t))return;let s=qSe(t,e,r,o);if(i(s),!el(t,\".json\")&&(s&&e.options.sourceMap&&i(`${s}.map`),Xp(e.options))){let l=GN(t,e,r,o);i(l),e.options.declarationMap&&i(`${l}.map`)}}function VN(e,t,r,i,o){let s;return e.rootDir?(s=Qi(e.rootDir,r),o?.(e.rootDir)):e.composite&&e.configFilePath?(s=Ur(ad(e.configFilePath)),o?.(s)):s=Iae(t(),r,i),s&&s[s.length-1]!==Os&&(s+=Os),s}function iR({options:e,fileNames:t},r){return VN(e,()=>Cr(t,i=>!(e.noEmitForJsFiles&&$l(i,Px))&&!Yc(i)),Ur(ad(x.checkDefined(e.configFilePath))),od(!r))}function I4(e,t){let{addOutput:r,getOutputs:i}=JSe();if(ss(e.options))KSe(e,r);else{let o=Kd(()=>iR(e,t));for(let s of e.fileNames)XSe(e,s,t,r,o);r(dv(e.options))}return i()}function YSe(e,t,r){t=Yo(t),x.assert(To(e.fileNames,t),\"Expected fileName to be present in command line\");let{addOutput:i,getOutputs:o}=JSe();return ss(e.options)?KSe(e,i):XSe(e,t,r,i),o()}function mH(e,t){if(ss(e.options)){let{jsFilePath:o,declarationFilePath:s}=zN(e.options,!1);return x.checkDefined(o||s,`project ${e.options.configFilePath} expected to have at least one output`)}let r=Kd(()=>iR(e,t));for(let o of e.fileNames){if(Yc(o))continue;let s=qSe(o,e,t,r);if(s)return s;if(!el(o,\".json\")&&Xp(e.options))return GN(o,e,t,r)}let i=dv(e.options);return i||x.fail(`project ${e.options.configFilePath} expected to have at least one output`)}function x4(e,t,r,{scriptTransformers:i,declarationTransformers:o},s,l,d){var p=t.getCompilerOptions(),h=p.sourceMap||p.inlineSourceMap||a2(p)?[]:void 0,m=p.listEmittedFiles?[]:void 0,v=hx(),E=rv(p),S=GL(E),{enter:A,exit:C}=EB(\"printTime\",\"beforePrint\",\"afterPrint\"),R,L=!1;return A(),uH(t,G,iV(t,r,d),d,l,!r),C(),{emitSkipped:L,diagnostics:v.getDiagnostics(),emittedFiles:m,sourceMaps:h};function G({jsFilePath:H,sourceMapFilePath:ee,declarationFilePath:le,declarationMapPath:Ee,buildInfoPath:ce},Z){var pe,Ae,Oe,_e,be,Te;let De;ce&&Z&&xj(Z)&&(De=Ur(Qi(ce,t.getCurrentDirectory())),R={commonSourceDirectory:ft(t.getCommonSourceDirectory()),sourceFiles:Z.sourceFiles.map(he=>ft(Qi(he.fileName,t.getCurrentDirectory())))}),(pe=qn)==null||pe.push(qn.Phase.Emit,\"emitJsFileOrBundle\",{jsFilePath:H}),K(Z,H,ee,ft),(Ae=qn)==null||Ae.pop(),(Oe=qn)==null||Oe.push(qn.Phase.Emit,\"emitDeclarationFileOrBundle\",{declarationFilePath:le}),F(Z,le,Ee,ft),(_e=qn)==null||_e.pop(),(be=qn)==null||be.push(qn.Phase.Emit,\"emitBuildInfo\",{buildInfoPath:ce}),U(R,ce),(Te=qn)==null||Te.pop();function ft(he){return ME(Gf(De,he,t.getCanonicalFileName))}}function U(H,ee){if(!ee||r||L)return;if(t.isEmitBlocked(ee)){L=!0;return}let le=t.getBuildInfo(H)||_k(void 0,H);RC(t,v,ee,bae(le),!1,void 0,{buildInfo:le}),m?.push(ee)}function K(H,ee,le,Ee){if(!H||s||!ee)return;if(t.isEmitBlocked(ee)||p.noEmit){L=!0;return}let ce=mk(e,t,P,p,[H],i,!1),Z={removeComments:p.removeComments,newLine:p.newLine,noEmitHelpers:p.noEmitHelpers,module:p.module,target:p.target,sourceMap:p.sourceMap,inlineSourceMap:p.inlineSourceMap,inlineSources:p.inlineSources,extendedDiagnostics:p.extendedDiagnostics,writeBundleFileInfo:!!R,relativeToBuildInfo:Ee},pe=Vb(Z,{hasGlobalName:e.hasGlobalName,onEmitNode:ce.emitNodeWithNotification,isEmitNotificationEnabled:ce.isEmitNotificationEnabled,substituteNode:ce.substituteNode});x.assert(ce.transformed.length===1,\"Should only see one output from the transform\"),W(ee,le,ce,pe,p),ce.dispose(),R&&(R.js=pe.bundleFileInfo),m&&(m.push(ee),le&&m.push(le))}function F(H,ee,le,Ee){if(!H||s===0)return;if(!ee){(s||p.emitDeclarationOnly)&&(L=!0);return}let ce=Li(H)?[H]:H.sourceFiles,Z=d?ce:Cr(ce,P9),pe=ss(p)?[P.createBundle(Z,Li(H)?void 0:H.prepends)]:Z;s&&!Xp(p)&&Z.forEach(oe);let Ae=mk(e,t,P,p,pe,o,!1);if(yn(Ae.diagnostics))for(let _e of Ae.diagnostics)v.add(_e);let Oe=!!Ae.diagnostics&&!!Ae.diagnostics.length||!!t.isEmitBlocked(ee)||!!p.noEmit;if(L=L||Oe,!Oe||d){x.assert(Ae.transformed.length===1,\"Should only see one output from the decl transform\");let _e={removeComments:p.removeComments,newLine:p.newLine,noEmitHelpers:!0,module:p.module,target:p.target,sourceMap:!d&&p.declarationMap,inlineSourceMap:p.inlineSourceMap,extendedDiagnostics:p.extendedDiagnostics,onlyPrintJsDocStyle:!0,omitBraceSourceMapPositions:!0,writeBundleFileInfo:!!R,recordInternalSection:!!R,relativeToBuildInfo:Ee},be=Vb(_e,{hasGlobalName:e.hasGlobalName,onEmitNode:Ae.emitNodeWithNotification,isEmitNotificationEnabled:Ae.isEmitNotificationEnabled,substituteNode:Ae.substituteNode});W(ee,le,Ae,be,{sourceMap:_e.sourceMap,sourceRoot:p.sourceRoot,mapRoot:p.mapRoot,extendedDiagnostics:p.extendedDiagnostics}),m&&(m.push(ee),le&&m.push(le)),R&&(R.dts=be.bundleFileInfo)}Ae.dispose()}function oe(H){if(dl(H)){H.expression.kind===80&&e.collectLinkedAliases(H.expression,!0);return}else if(Ed(H)){e.collectLinkedAliases(H.propertyName||H.name,!0);return}Ao(H,oe)}function W(H,ee,le,Ee,ce){let Z=le.transformed[0],pe=Z.kind===313?Z:void 0,Ae=Z.kind===312?Z:void 0,Oe=pe?pe.sourceFiles:[Ae],_e;$(ce,Z)&&(_e=Noe(t,Ll(ad(H)),de(ce),fe(ce,H,Ae),ce)),pe?Ee.writeBundle(pe,S,_e):Ee.writeFile(Ae,S,_e);let be;if(_e){h&&h.push({inputSourceFileNames:_e.getSources(),sourceMap:_e.toJSON()});let De=q(ce,_e,H,ee,Ae);if(De&&(S.isAtStartOfLine()||S.rawWrite(E),be=S.getTextPos(),S.writeComment(`//# sourceMappingURL=${De}`)),ee){let ft=_e.toString();RC(t,v,ee,ft,!1,Oe),Ee.bundleFileInfo&&(Ee.bundleFileInfo.mapHash=oT(ft,t))}}else S.writeLine();let Te=S.getText();RC(t,v,H,Te,!!p.emitBOM,Oe,{sourceMapUrlPos:be,diagnostics:le.diagnostics}),Ee.bundleFileInfo&&(Ee.bundleFileInfo.hash=oT(Te,t)),S.clear()}function $(H,ee){return(H.sourceMap||H.inlineSourceMap)&&(ee.kind!==312||!el(ee.fileName,\".json\"))}function de(H){let ee=ad(H.sourceRoot||\"\");return ee&&_c(ee)}function fe(H,ee,le){if(H.sourceRoot)return t.getCommonSourceDirectory();if(H.mapRoot){let Ee=ad(H.mapRoot);return le&&(Ee=Ur(BW(le.fileName,t,Ee))),M_(Ee)===0&&(Ee=wr(t.getCommonSourceDirectory(),Ee)),Ee}return Ur(Yo(ee))}function q(H,ee,le,Ee,ce){if(H.inlineSourceMap){let pe=ee.toString();return`data:application/json;base64,${Nne(Hc,pe)}`}let Z=Ll(ad(x.checkDefined(Ee)));if(H.mapRoot){let pe=ad(H.mapRoot);return ce&&(pe=Ur(BW(ce.fileName,t,pe))),M_(pe)===0?(pe=wr(t.getCommonSourceDirectory(),pe),encodeURI(AA(Ur(Yo(le)),wr(pe,Z),t.getCurrentDirectory(),t.getCanonicalFileName,!0))):encodeURI(wr(pe,Z))}return encodeURI(Z)}}function _k(e,t){return{bundle:t,program:e,version:bp}}function bae(e){return JSON.stringify(e)}function R4(e,t){return mV(e,t)}function g7e(e,t,r){var i;let o=x.checkDefined(e.js),s=((i=o.sources)==null?void 0:i.prologues)&&PE(o.sources.prologues,l=>l.file);return e.sourceFiles.map((l,d)=>{let p=s?.get(d),h=p?.directives.map(E=>{let S=Ze(P.createStringLiteral(E.expression.text),E.expression),A=Ze(P.createExpressionStatement(S),E);return Aa(S,A),A}),m=P.createToken(1),v=P.createSourceFile(h??[],m,0);return v.fileName=Gf(r.getCurrentDirectory(),Qi(l,t),!r.useCaseSensitiveFileNames()),v.text=p?.text??\"\",JC(v,0,p?.text.length??0),Dx(v.statements,v),JC(m,v.end,0),Aa(m,v),v})}function Eae(e,t,r,i){var o,s;(o=qn)==null||o.push(qn.Phase.Emit,\"emitUsingBuildInfo\",{},!0),Ls(\"beforeEmit\");let l=v7e(e,t,r,i);return Ls(\"afterEmit\"),Sp(\"Emit\",\"beforeEmit\",\"afterEmit\"),(s=qn)==null||s.pop(),l}function v7e(e,t,r,i){let{buildInfoPath:o,jsFilePath:s,sourceMapFilePath:l,declarationFilePath:d,declarationMapPath:p}=zN(e.options,!1),h=t.getBuildInfo(o,e.options.configFilePath);if(!h||!h.bundle||!h.bundle.js||d&&!h.bundle.dts)return o;let m=t.readFile(x.checkDefined(s));if(!m||oT(m,t)!==h.bundle.js.hash)return s;let v=l&&t.readFile(l);if(l&&!v||e.options.inlineSourceMap)return l||\"inline sourcemap decoding\";if(l&&oT(v,t)!==h.bundle.js.mapHash)return l;let E=d&&t.readFile(d);if(d&&!E||d&&oT(E,t)!==h.bundle.dts.hash)return d;let S=p&&t.readFile(p);if(p&&!S||e.options.inlineSourceMap)return p||\"inline sourcemap decoding\";if(p&&oT(S,t)!==h.bundle.dts.mapHash)return p;let A=Ur(Qi(o,t.getCurrentDirectory())),C=aj(s,m,l,v,d,E,p,S,o,h,!0),R=[],L=WH(e.projectReferences,r,oe=>t.readFile(oe),t),G=g7e(h.bundle,A,t),U,K,F={getPrependNodes:Kd(()=>[...L,C]),getCanonicalFileName:t.getCanonicalFileName,getCommonSourceDirectory:()=>Qi(h.bundle.commonSourceDirectory,A),getCompilerOptions:()=>e.options,getCurrentDirectory:()=>t.getCurrentDirectory(),getSourceFile:ub,getSourceFileByPath:ub,getSourceFiles:()=>G,getLibFileFromReference:Ro,isSourceFileFromExternalLibrary:_m,getResolvedProjectReferenceToRedirect:ub,getProjectReferenceRedirect:ub,isSourceOfProjectReferenceRedirect:_m,writeFile:(oe,W,$,de,fe,q)=>{switch(oe){case s:if(m===W)return;break;case l:if(v===W)return;break;case o:break;case d:if(E===W)return;U=W,K=q;break;case p:if(S===W)return;break;default:x.fail(`Unexpected path: ${oe}`)}R.push({name:oe,text:W,writeByteOrderMark:$,data:q})},isEmitBlocked:_m,readFile:oe=>t.readFile(oe),fileExists:oe=>t.fileExists(oe),useCaseSensitiveFileNames:()=>t.useCaseSensitiveFileNames(),getBuildInfo:oe=>{let W=h.program;W&&U!==void 0&&e.options.composite&&(W.outSignature=oT(U,t,K));let{js:$,dts:de,sourceFiles:fe}=h.bundle;return oe.js.sources=$.sources,de&&(oe.dts.sources=de.sources),oe.sourceFiles=fe,_k(W,oe)},getSourceFileFromReference:ub,redirectTargetsMap:Ep(),getFileIncludeReasons:Ro,createHash:Wo(t,t.createHash)};return x4(D4,F,void 0,cH(e.options,i)),R}function Vb(e={},t={}){var{hasGlobalName:r,onEmitNode:i=fk,isEmitNotificationEnabled:o,substituteNode:s=WN,onBeforeEmitNode:l,onAfterEmitNode:d,onBeforeEmitNodeArray:p,onAfterEmitNodeArray:h,onBeforeEmitToken:m,onAfterEmitToken:v}=t,E=!!e.extendedDiagnostics,S=!!e.omitBraceSourceMapPositions,A=rv(e),C=ld(e),R=new Map,L,G,U,K,F,oe,W,$,de,fe,q,H,ee,le,Ee,ce=e.preserveSourceNewlines,Z,pe,Ae,Oe=DT,_e,be=e.writeBundleFileInfo?{sections:[]}:void 0,Te=be?x.checkDefined(e.relativeToBuildInfo):void 0,De=e.recordInternalSection,ft=0,he=\"text\",Le=!0,Ke,Dt,st=-1,Ge,ot=-1,Vt=-1,jt=-1,gn=-1,On,en,zt=!1,Wt=!!e.removeComments,ei,Ki,{enter:gi,exit:io}=Cve(E,\"commentTime\",\"beforeComment\",\"afterComment\"),Gn=P.parenthesizer,Nr={select:I=>I===0?Gn.parenthesizeLeadingTypeArgument:void 0},cr=mg();return Je(),{printNode:Jt,printList:Ue,printFile:mn,printBundle:Rt,writeNode:ni,writeList:ki,writeFile:tt,writeBundle:ke,bundleFileInfo:be};function Jt(I,ne,rt){switch(I){case 0:x.assert(Li(ne),\"Expected a SourceFile node.\");break;case 2:x.assert(Me(ne),\"Expected an Identifier node.\");break;case 1:x.assert(lt(ne),\"Expected an Expression node.\");break}switch(ne.kind){case 312:return mn(ne);case 313:return Rt(ne);case 314:return qr(ne)}return ni(I,ne,rt,yt()),re()}function Ue(I,ne,rt){return ki(I,ne,rt,yt()),re()}function Rt(I){return ke(I,yt(),void 0),re()}function mn(I){return tt(I,yt(),void 0),re()}function qr(I){return nt(I,yt()),re()}function ni(I,ne,rt,Ht){let yr=pe;z(Ht,void 0),Ce(I,ne,rt),Je(),pe=yr}function ki(I,ne,rt,Ht){let yr=pe;z(Ht,void 0),rt&&et(rt),Ds(void 0,ne,I),Je(),pe=yr}function so(){return pe.getTextPosWithWriteLine?pe.getTextPosWithWriteLine():pe.getTextPos()}function Jo(I,ne,rt){let Ht=Ns(be.sections);Ht&&Ht.kind===rt?Ht.end=ne:be.sections.push({pos:I,end:ne,kind:rt})}function Ea(I){if(De&&be&&L&&(bd(I)||cl(I))&&o9(I,L)&&he!==\"internal\"){let ne=he;return Tn(pe.getTextPos()),ft=so(),he=\"internal\",ne}}function ln(I){I&&(Tn(pe.getTextPos()),ft=so(),he=I)}function Tn(I){return ft<I?(Jo(ft,I,he),!0):!1}function ke(I,ne,rt){_e=!1;let Ht=pe;z(ne,rt),Cy(I),bg(I),Ot(I),Cm(I);for(let yr of I.prepends){Tc();let vi=pe.getTextPos(),ri=be&&be.sections;if(ri&&(be.sections=[]),Ce(4,yr,void 0),be){let wi=be.sections;be.sections=ri,yr.oldFileOfCurrentEmit?be.sections.push(...wi):(wi.forEach($o=>x.assert(zne($o))),be.sections.push({pos:vi,end:pe.getTextPos(),kind:\"prepend\",data:Te(yr.fileName),texts:wi}))}}ft=so();for(let yr of I.sourceFiles)Ce(0,yr,yr);if(be&&I.sourceFiles.length){let yr=pe.getTextPos();if(Tn(yr)){let vi=AP(I);vi&&(be.sources||(be.sources={}),be.sources.prologues=vi);let ri=bt(I);ri&&(be.sources||(be.sources={}),be.sources.helpers=ri)}}Je(),pe=Ht}function nt(I,ne){let rt=pe;z(ne,void 0),Ce(4,I,void 0),Je(),pe=rt}function tt(I,ne,rt){_e=!0;let Ht=pe;z(ne,rt),Cy(I),bg(I),Ce(0,I,I),Je(),pe=Ht}function yt(){return Ae||(Ae=GL(A))}function re(){let I=Ae.getText();return Ae.clear(),I}function Ce(I,ne,rt){rt&&et(rt),V(I,ne,void 0)}function et(I){L=I,On=void 0,en=void 0,I&&Ig(I)}function z(I,ne){I&&e.omitTrailingSemicolon&&(I=nV(I)),pe=I,Ke=ne,Le=!pe||!Ke}function Je(){G=[],U=[],K=[],F=new Set,oe=[],W=new Map,$=[],de=0,fe=[],q=0,H=[],ee=void 0,le=[],Ee=void 0,L=void 0,On=void 0,en=void 0,z(void 0,void 0)}function _t(){return On||(On=Yh(x.checkDefined(L)))}function ze(I,ne){if(I===void 0)return;let rt=Ea(I);V(4,I,ne),ln(rt)}function it(I){I!==void 0&&V(2,I,void 0)}function Ct(I,ne){I!==void 0&&V(1,I,ne)}function on(I){V(da(I)?6:4,I)}function Qt(I){ce&&Uf(I)&4&&(ce=!1)}function Zt(I){ce=I}function V(I,ne,rt){Ki=rt,M(0,I,ne)(I,ne),Ki=void 0}function Re(I){return!Wt&&!Li(I)}function St(I){return!Le&&!Li(I)&&!SW(I)&&!XS(I)&&!nie(I)}function M(I,ne,rt){switch(I){case 0:if(i!==fk&&(!o||o(rt)))return j;case 1:if(s!==WN&&(ei=s(ne,rt)||rt)!==rt)return Ki&&(ei=Ki(ei)),gt;case 2:if(Re(rt))return tD;case 3:if(St(rt))return dE;case 4:return se;default:return x.assertNever(I)}}function te(I,ne,rt){return M(I+1,ne,rt)}function j(I,ne){let rt=te(0,I,ne);i(I,ne,rt)}function se(I,ne){if(l?.(ne),ce){let rt=ce;Qt(ne),Pe(I,ne),Zt(rt)}else Pe(I,ne);d?.(ne),Ki=void 0}function Pe(I,ne,rt=!0){if(rt){let Ht=cj(ne);if(Ht)return Zi(I,ne,Ht)}if(I===0)return t1(Fo(ne,Li));if(I===2)return Mr(Fo(ne,Me));if(I===6)return Cn(Fo(ne,da),!0);if(I===3)return Ie(Fo(ne,qs));if(I===7)return KI(Fo(ne,uI));if(I===5)return x.assertNode(ne,Tj),zi(!0);if(I===4){switch(ne.kind){case 16:case 17:case 18:return Cn(ne,!1);case 80:return Mr(ne);case 81:return lo(ne);case 166:return _n(ne);case 167:return Dl(ne);case 168:return _o(ne);case 169:return Va(ne);case 170:return vs(ne);case 171:return Js(ne);case 172:return Fc(ne);case 173:return $i(ne);case 174:return Uo(ne);case 175:return zc(ne);case 176:return ts(ne);case 177:case 178:return ua(ne);case 179:return Us(ne);case 180:return tf(ne);case 181:return Wl(ne);case 182:return ho(ne);case 183:return Ut(ne);case 184:return ys(ne);case 185:return tc(ne);case 186:return ae(ne);case 187:return X(ne);case 188:return xe(ne);case 189:return $t(ne);case 190:return tr(ne);case 192:return Ir(ne);case 193:return pi(ne);case 194:return hr(ne);case 195:return No(ne);case 196:return Qs(ne);case 233:return xt(ne);case 197:return bc();case 198:return bs(ne);case 199:return Jl(ne);case 200:return Za(ne);case 201:return Ec(ne);case 202:return sr(ne);case 203:return Du(ne);case 204:return il(ne);case 205:return pc(ne);case 206:return Nf(ne);case 207:return Vd(ne);case 208:return Se(ne);case 239:return Mt(ne);case 240:return zs();case 241:return Vn(ne);case 243:return Or(ne);case 242:return zi(!1);case 244:return _a(ne);case 245:return ha(ne);case 246:return Gc(ne);case 247:return nc(ne);case 248:return Xu(ne);case 249:return _u(ne);case 250:return Ay(ne);case 251:return em(ne);case 252:return tm(ne);case 253:return C0(ne);case 254:return Op(ne);case 255:return p_(ne);case 256:return wp(ne);case 257:return hg(ne);case 258:return Ne(ne);case 259:return Ve(ne);case 260:return Tt(ne);case 261:return Pt(ne);case 262:return rn(ne);case 263:return Mo(ne);case 264:return xd(ne);case 265:return Vc(ne);case 266:return gg(ne);case 267:return $b(ne);case 268:return UI(ne);case 269:return Qb(ne);case 270:return YI(ne);case 271:return GR(ne);case 272:return jR(ne);case 273:return gT(ne);case 274:return N0(ne);case 280:return P0(ne);case 275:return HI(ne);case 276:return UR(ne);case 277:return qI(ne);case 278:return JI(ne);case 279:return M0(ne);case 281:return Iy(ne);case 300:return XI(ne);case 301:return vT(ne);case 282:return;case 283:return Zb(ne);case 12:return vg(ne);case 286:case 289:return eE(ne);case 287:case 290:return Y_(ne);case 291:return hu(ne);case 292:return rf(ne);case 293:return Yu(ne);case 294:return qR(ne);case 295:return $I(ne);case 296:return tE(ne);case 297:return QI(ne);case 298:return Ev(ne);case 299:return ZI(ne);case 303:return xm(ne);case 304:return ET(ne);case 305:return we(ne);case 306:return Rm(ne);case 307:return di(ne);case 314:case 308:return ti(ne);case 309:case 310:return jn(ne);case 311:return Ar(ne);case 312:return t1(ne);case 313:return x.fail(\"Bundles should be printed using printBundle\");case 315:return x.fail(\"InputFiles should not be printed\");case 316:return yg(ne);case 317:return Dy(ne);case 319:return nr(\"*\");case 320:return nr(\"?\");case 321:return Bc(ne);case 322:return Ju(ne);case 323:return ls(ne);case 324:return Pc(ne);case 191:case 325:return dt(ne);case 326:return;case 327:return jc(ne);case 329:return TT(ne);case 330:return rE(ne);case 334:case 339:case 344:return ST(ne);case 335:case 336:return Sv(ne);case 337:case 338:return;case 340:case 341:case 342:case 343:return;case 345:return Ra(ne);case 346:return Dm(ne);case 348:case 355:return AT(ne);case 347:case 349:case 350:case 351:case 356:case 357:return nE(ne);case 352:return Tv(ne);case 353:return SP(ne);case 354:return e1(ne);case 359:return}if(lt(ne)&&(I=1,s!==WN)){let Ht=s(I,ne)||ne;Ht!==ne&&(ne=Ht,Ki&&(ne=Ki(ne)))}}if(I===1)switch(ne.kind){case 9:case 10:return An(ne);case 11:case 14:case 15:return Cn(ne,!1);case 80:return Mr(ne);case 81:return lo(ne);case 209:return At(ne);case 210:return Ln(ne);case 211:return eo(ne);case 212:return Oo(ne);case 213:return Cl(ne);case 214:return Kl(ne);case 215:return Bs(ne);case 216:return Ks(ne);case 217:return vl(ne);case 218:return Nl(ne);case 219:return Sc(ne);case 220:return fu(ne);case 221:return tu(ne);case 222:return nf(ne);case 223:return u_(ne);case 224:return X_(ne);case 225:return fd(ne);case 226:return cr(ne);case 227:return Ku(ne);case 228:return Lh(ne);case 229:return mu(ne);case 230:return Y(ne);case 231:return Ye(ne);case 232:return;case 234:return Nt(ne);case 235:return k(ne);case 233:return xt(ne);case 238:return ge(ne);case 236:return Xe(ne);case 237:return x.fail(\"SyntheticExpression should never be printed.\");case 282:return;case 284:return La(ne);case 285:return yT(ne);case 288:return HR(ne);case 358:return x.fail(\"SyntaxList should not be printed\");case 359:return;case 360:return Fr(ne);case 361:return $_(ne);case 362:return x.fail(\"SyntheticReferenceExpression should not be printed\")}if(du(ne.kind))return W0(ne,Oi);if(qG(ne.kind))return W0(ne,nr);x.fail(`Unhandled SyntaxKind: ${x.formatSyntaxKind(ne.kind)}.`)}function Ie(I){ze(I.name),Xn(),Oi(\"in\"),Xn(),ze(I.constraint)}function gt(I,ne){let rt=te(1,I,ne);x.assertIsDefined(ei),ne=ei,ei=void 0,rt(I,ne)}function bt(I){let ne;if(C===0||e.noEmitHelpers)return;let rt=new Map;for(let Ht of I.sourceFiles){let yr=L2(Ht)!==void 0,vi=dn(Ht);if(vi)for(let ri of vi)!ri.scoped&&!yr&&!rt.get(ri.name)&&(rt.set(ri.name,!0),(ne||(ne=[])).push(ri.name))}return ne}function Ot(I){let ne=!1,rt=I.kind===313?I:void 0;if(rt&&C===0)return;let Ht=rt?rt.prepends.length:0,yr=rt?rt.sourceFiles.length+Ht:1;for(let vi=0;vi<yr;vi++){let ri=rt?vi<Ht?rt.prepends[vi]:rt.sourceFiles[vi-Ht]:I,wi=Li(ri)?ri:XS(ri)?void 0:L,$o=e.noEmitHelpers||!!wi&&hie(wi),Rd=(Li(ri)||XS(ri))&&!_e,ru=XS(ri)?ri.helpers:dn(ri);if(ru)for(let sf of ru){if(sf.scoped){if(rt)continue}else{if($o)continue;if(Rd){if(R.get(sf.name))continue;R.set(sf.name,!0)}}let Fy=so();typeof sf.text==\"string\"?NT(sf.text):NT(sf.text(o1)),be&&be.sections.push({pos:Fy,end:pe.getTextPos(),kind:\"emitHelpers\",data:sf.name}),ne=!0}}return ne}function dn(I){let ne=OF(I);return ne&&Gg(ne,Fre)}function An(I){Cn(I,!1)}function Cn(I,ne){let rt=LT(I,e.neverAsciiEscape,ne);(e.sourceMap||e.inlineSourceMap)&&(I.kind===11||Jv(I.kind))?Py(rt):$R(rt)}function ti(I){for(let ne of I.texts)Tc(),ze(ne)}function di(I){pe.rawWrite(I.parent.text.substring(I.pos,I.end))}function jn(I){let ne=so();di(I),be&&Jo(ne,pe.getTextPos(),I.kind===309?\"text\":\"internal\")}function Ar(I){let ne=so();if(di(I),be){let rt=aB(I.section);rt.pos=ne,rt.end=pe.getTextPos(),be.sections.push(rt)}}function Zi(I,ne,rt){switch(rt.kind){case 1:_i(I,ne,rt);break;case 0:ui(I,ne,rt);break}}function _i(I,ne,rt){iE(`\\${${rt.order}:`),Pe(I,ne,!1),iE(\"}\")}function ui(I,ne,rt){x.assert(ne.kind===242,`A tab stop cannot be attached to a node of kind ${x.formatSyntaxKind(ne.kind)}.`),x.assert(I!==5,\"A tab stop cannot be attached to an embedded statement.\"),iE(`$${rt.order}`)}function Mr(I){(I.symbol?IP:Oe)(fc(I,!1),I.symbol),Ds(I,BS(I),53776)}function lo(I){Oe(fc(I,!1))}function _n(I){ms(I.left),nr(\".\"),ze(I.right)}function ms(I){I.kind===80?Ct(I):ze(I)}function Dl(I){let ne=de,rt=Ee;ky(),nr(\"[\"),Ct(I.expression,Gn.parenthesizeExpressionOfComputedPropertyName),nr(\"]\"),of(ne,rt)}function _o(I){Oh(I,I.modifiers),ze(I.name),I.constraint&&(Xn(),Oi(\"extends\"),Xn(),ze(I.constraint)),I.default&&(Xn(),Wp(\"=\"),Xn(),ze(I.default))}function Va(I){pp(I,I.modifiers,!0),ze(I.dotDotDotToken),Xs(I.name,Iv),ze(I.questionToken),I.parent&&I.parent.kind===324&&!I.name?ze(I.type):Lf(I.type),Ny(I.initializer,I.type?I.type.end:I.questionToken?I.questionToken.end:I.name?I.name.end:I.modifiers?I.modifiers.end:I.pos,I,Gn.parenthesizeExpressionForDisallowedComma)}function vs(I){nr(\"@\"),Ct(I.expression,Gn.parenthesizeLeftSideOfAccess)}function Js(I){Oh(I,I.modifiers),Xs(I.name,CT),ze(I.questionToken),Lf(I.type),Mc()}function Fc(I){pp(I,I.modifiers,!0),ze(I.name),ze(I.questionToken),ze(I.exclamationToken),Lf(I.type),Ny(I.initializer,I.type?I.type.end:I.questionToken?I.questionToken.end:I.name.end,I),Mc()}function $i(I){Qc(I),Oh(I,I.modifiers),ze(I.name),ze(I.questionToken),f_(I,I.typeParameters),Av(I,I.parameters),Lf(I.type),Mc(),Nu(I)}function Uo(I){pp(I,I.modifiers,!0),ze(I.asteriskToken),ze(I.name),ze(I.questionToken),tn(I,Wn)}function zc(I){Oi(\"static\"),Kn(I.body)}function ts(I){pp(I,I.modifiers,!1),Oi(\"constructor\"),tn(I,Wn)}function ua(I){let ne=pp(I,I.modifiers,!0),rt=I.kind===177?139:153;Ri(rt,ne,Oi,I),Xn(),ze(I.name),tn(I,Wn)}function Us(I){Qc(I),f_(I,I.typeParameters),Av(I,I.parameters),Lf(I.type),Mc(),Nu(I)}function tf(I){Qc(I),Oi(\"new\"),Xn(),f_(I,I.typeParameters),Av(I,I.parameters),Lf(I.type),Mc(),Nu(I)}function Wl(I){pp(I,I.modifiers,!1),YR(I,I.parameters),Lf(I.type),Mc()}function il(I){ze(I.type),ze(I.literal)}function zs(){Mc()}function ho(I){I.assertsModifier&&(ze(I.assertsModifier),Xn()),ze(I.parameterName),I.type&&(Xn(),Oi(\"is\"),Xn(),ze(I.type))}function Ut(I){ze(I.typeName),Wh(I,I.typeArguments)}function ys(I){Qc(I),f_(I,I.typeParameters),XR(I,I.parameters),Xn(),nr(\"=>\"),Xn(),ze(I.type),Nu(I)}function Pc(I){Oi(\"function\"),Av(I,I.parameters),nr(\":\"),ze(I.type)}function Bc(I){nr(\"?\"),ze(I.type)}function Ju(I){nr(\"!\"),ze(I.type)}function ls(I){ze(I.type),nr(\"=\")}function tc(I){Qc(I),Oh(I,I.modifiers),Oi(\"new\"),Xn(),f_(I,I.typeParameters),Av(I,I.parameters),Xn(),nr(\"=>\"),Xn(),ze(I.type),Nu(I)}function ae(I){Oi(\"typeof\"),Xn(),ze(I.exprName),Wh(I,I.typeArguments)}function X(I){of(0,void 0),nr(\"{\");let ne=ba(I)&1?768:32897;Ds(I,I.members,ne|524288),nr(\"}\"),ky()}function xe(I){ze(I.elementType,Gn.parenthesizeNonArrayTypeOfPostfixType),nr(\"[\"),nr(\"]\")}function dt(I){nr(\"...\"),ze(I.type)}function $t(I){Ri(23,I.pos,nr,I);let ne=ba(I)&1?528:657;Ds(I,I.elements,ne|524288,Gn.parenthesizeElementTypeOfTupleType),Ri(24,I.elements.end,nr,I)}function sr(I){ze(I.dotDotDotToken),ze(I.name),ze(I.questionToken),Ri(59,I.name.end,nr,I),Xn(),ze(I.type)}function tr(I){ze(I.type,Gn.parenthesizeTypeOfOptionalType),nr(\"?\")}function Ir(I){Ds(I,I.types,516,Gn.parenthesizeConstituentTypeOfUnionType)}function pi(I){Ds(I,I.types,520,Gn.parenthesizeConstituentTypeOfIntersectionType)}function hr(I){ze(I.checkType,Gn.parenthesizeCheckTypeOfConditionalType),Xn(),Oi(\"extends\"),Xn(),ze(I.extendsType,Gn.parenthesizeExtendsTypeOfConditionalType),Xn(),nr(\"?\"),Xn(),ze(I.trueType),Xn(),nr(\":\"),Xn(),ze(I.falseType)}function No(I){Oi(\"infer\"),Xn(),ze(I.typeParameter)}function Qs(I){nr(\"(\"),ze(I.type),nr(\")\")}function bc(){Oi(\"this\")}function bs(I){My(I.operator,Oi),Xn();let ne=I.operator===148?Gn.parenthesizeOperandOfReadonlyTypeOperator:Gn.parenthesizeOperandOfTypeOperator;ze(I.type,ne)}function Jl(I){ze(I.objectType,Gn.parenthesizeNonArrayTypeOfPostfixType),nr(\"[\"),ze(I.indexType),nr(\"]\")}function Za(I){let ne=ba(I);nr(\"{\"),ne&1?Xn():(Tc(),Q_()),I.readonlyToken&&(ze(I.readonlyToken),I.readonlyToken.kind!==148&&Oi(\"readonly\"),Xn()),nr(\"[\"),V(3,I.typeParameter),I.nameType&&(Xn(),Oi(\"as\"),Xn(),ze(I.nameType)),nr(\"]\"),I.questionToken&&(ze(I.questionToken),I.questionToken.kind!==58&&nr(\"?\")),nr(\":\"),Xn(),ze(I.type),Mc(),ne&1?Xn():(Tc(),om()),Ds(I,I.members,2),nr(\"}\")}function Ec(I){Ct(I.literal)}function Du(I){ze(I.head),Ds(I,I.templateSpans,262144)}function pc(I){I.isTypeOf&&(Oi(\"typeof\"),Xn()),Oi(\"import\"),nr(\"(\"),ze(I.argument),I.attributes&&(nr(\",\"),Xn(),V(7,I.attributes)),nr(\")\"),I.qualifier&&(nr(\".\"),ze(I.qualifier)),Wh(I,I.typeArguments)}function Nf(I){nr(\"{\"),Ds(I,I.elements,525136),nr(\"}\")}function Vd(I){nr(\"[\"),Ds(I,I.elements,524880),nr(\"]\")}function Se(I){ze(I.dotDotDotToken),I.propertyName&&(ze(I.propertyName),nr(\":\"),Xn()),ze(I.name),Ny(I.initializer,I.name.end,I,Gn.parenthesizeExpressionForDisallowedComma)}function At(I){let ne=I.elements,rt=I.multiLine?65536:0;O0(I,ne,8914|rt,Gn.parenthesizeExpressionForDisallowedComma)}function Ln(I){of(0,void 0),an(I.properties,i1);let ne=ba(I)&131072;ne&&Q_();let rt=I.multiLine?65536:0,Ht=L&&L.languageVersion>=1&&!yf(L)?64:0;Ds(I,I.properties,526226|Ht|rt),ne&&om(),ky()}function eo(I){Ct(I.expression,Gn.parenthesizeLeftSideOfAccess);let ne=I.questionDotToken||F_(P.createToken(25),I.expression.end,I.name.pos),rt=fp(I,I.expression,ne),Ht=fp(I,ne,I.name);am(rt,!1),ne.kind!==29&&Po(I.expression)&&!pe.hasTrailingComment()&&!pe.hasTrailingWhitespace()&&nr(\".\"),I.questionDotToken?ze(ne):Ri(ne.kind,I.expression.end,nr,I),am(Ht,!1),ze(I.name),oE(rt,Ht)}function Po(I){if(I=jf(I),Bu(I)){let ne=LT(I,!0,!1);return!(I.numericLiteralFlags&448)&&!ne.includes(qo(25))&&!ne.includes(\"E\")&&!ne.includes(\"e\")}else if(us(I)){let ne=Nre(I);return typeof ne==\"number\"&&isFinite(ne)&&ne>=0&&Math.floor(ne)===ne}}function Oo(I){Ct(I.expression,Gn.parenthesizeLeftSideOfAccess),ze(I.questionDotToken),Ri(23,I.expression.end,nr,I),Ct(I.argumentExpression),Ri(24,I.argumentExpression.end,nr,I)}function Cl(I){let ne=Uf(I)&16;ne&&(nr(\"(\"),Py(\"0\"),nr(\",\"),Xn()),Ct(I.expression,Gn.parenthesizeLeftSideOfAccess),ne&&nr(\")\"),ze(I.questionDotToken),Wh(I,I.typeArguments),O0(I,I.arguments,2576,Gn.parenthesizeExpressionForDisallowedComma)}function Kl(I){Ri(105,I.pos,Oi,I),Xn(),Ct(I.expression,Gn.parenthesizeExpressionOfNew),Wh(I,I.typeArguments),O0(I,I.arguments,18960,Gn.parenthesizeExpressionForDisallowedComma)}function Bs(I){let ne=Uf(I)&16;ne&&(nr(\"(\"),Py(\"0\"),nr(\",\"),Xn()),Ct(I.tag,Gn.parenthesizeLeftSideOfAccess),ne&&nr(\")\"),Wh(I,I.typeArguments),Xn(),Ct(I.template)}function Ks(I){nr(\"<\"),ze(I.type),nr(\">\"),Ct(I.expression,Gn.parenthesizeOperandOfPrefixUnary)}function vl(I){let ne=Ri(21,I.pos,nr,I),rt=QR(I.expression,I);Ct(I.expression,void 0),F0(I.expression,I),oE(rt),Ri(22,I.expression?I.expression.end:ne,nr,I)}function Nl(I){mp(I.name),wn(I)}function Sc(I){Oh(I,I.modifiers),tn(I,kp)}function kp(I){f_(I,I.typeParameters),XR(I,I.parameters),Lf(I.type),Xn(),ze(I.equalsGreaterThanToken)}function fu(I){Ri(91,I.pos,Oi,I),Xn(),Ct(I.expression,Gn.parenthesizeOperandOfPrefixUnary)}function tu(I){Ri(114,I.pos,Oi,I),Xn(),Ct(I.expression,Gn.parenthesizeOperandOfPrefixUnary)}function nf(I){Ri(116,I.pos,Oi,I),Xn(),Ct(I.expression,Gn.parenthesizeOperandOfPrefixUnary)}function u_(I){Ri(135,I.pos,Oi,I),Xn(),Ct(I.expression,Gn.parenthesizeOperandOfPrefixUnary)}function X_(I){My(I.operator,Wp),fg(I)&&Xn(),Ct(I.operand,Gn.parenthesizeOperandOfPrefixUnary)}function fg(I){let ne=I.operand;return ne.kind===224&&(I.operator===40&&(ne.operator===40||ne.operator===46)||I.operator===41&&(ne.operator===41||ne.operator===47))}function fd(I){Ct(I.operand,Gn.parenthesizeOperandOfPostfixUnary),My(I.operator,Wp)}function mg(){return M6(I,ne,rt,Ht,yr,void 0);function I(ri,wi){if(wi){wi.stackIndex++,wi.preserveSourceNewlinesStack[wi.stackIndex]=ce,wi.containerPosStack[wi.stackIndex]=Vt,wi.containerEndStack[wi.stackIndex]=jt,wi.declarationListContainerEndStack[wi.stackIndex]=gn;let $o=wi.shouldEmitCommentsStack[wi.stackIndex]=Re(ri),Rd=wi.shouldEmitSourceMapsStack[wi.stackIndex]=St(ri);l?.(ri),$o&&WT(ri),Rd&&c1(ri),Qt(ri)}else wi={stackIndex:0,preserveSourceNewlinesStack:[void 0],containerPosStack:[-1],containerEndStack:[-1],declarationListContainerEndStack:[-1],shouldEmitCommentsStack:[!1],shouldEmitSourceMapsStack:[!1]};return wi}function ne(ri,wi,$o){return vi(ri,$o,\"left\")}function rt(ri,wi,$o){let Rd=ri.kind!==28,ru=fp($o,$o.left,ri),sf=fp($o,ri,$o.right);am(ru,Rd),zh(ri.pos),W0(ri,ri.kind===103?Oi:Wp),sm(ri.end,!0),am(sf,!0)}function Ht(ri,wi,$o){return vi(ri,$o,\"right\")}function yr(ri,wi){let $o=fp(ri,ri.left,ri.operatorToken),Rd=fp(ri,ri.operatorToken,ri.right);if(oE($o,Rd),wi.stackIndex>0){let ru=wi.preserveSourceNewlinesStack[wi.stackIndex],sf=wi.containerPosStack[wi.stackIndex],Fy=wi.containerEndStack[wi.stackIndex],ai=wi.declarationListContainerEndStack[wi.stackIndex],th=wi.shouldEmitCommentsStack[wi.stackIndex],Pn=wi.shouldEmitSourceMapsStack[wi.stackIndex];Zt(ru),Pn&&BT(ri),th&&nD(ri,sf,Fy,ai),d?.(ri),wi.stackIndex--}}function vi(ri,wi,$o){let Rd=$o===\"left\"?Gn.getParenthesizeLeftSideOfBinaryForOperator(wi.operatorToken.kind):Gn.getParenthesizeRightSideOfBinaryForOperator(wi.operatorToken.kind),ru=M(0,1,ri);if(ru===gt&&(x.assertIsDefined(ei),ri=Rd(Fo(ei,lt)),ru=te(1,1,ri),ei=void 0),(ru===tD||ru===dE||ru===se)&&Zn(ri))return ri;Ki=Rd,ru(1,ri)}}function Ku(I){let ne=fp(I,I.condition,I.questionToken),rt=fp(I,I.questionToken,I.whenTrue),Ht=fp(I,I.whenTrue,I.colonToken),yr=fp(I,I.colonToken,I.whenFalse);Ct(I.condition,Gn.parenthesizeConditionOfConditionalExpression),am(ne,!0),ze(I.questionToken),am(rt,!0),Ct(I.whenTrue,Gn.parenthesizeBranchOfConditionalExpression),oE(ne,rt),am(Ht,!0),ze(I.colonToken),am(yr,!0),Ct(I.whenFalse,Gn.parenthesizeBranchOfConditionalExpression),oE(Ht,yr)}function Lh(I){ze(I.head),Ds(I,I.templateSpans,262144)}function mu(I){Ri(127,I.pos,Oi,I),ze(I.asteriskToken),k0(I.expression&&nm(I.expression),D0)}function Y(I){Ri(26,I.pos,nr,I),Ct(I.expression,Gn.parenthesizeExpressionForDisallowedComma)}function Ye(I){mp(I.name),xa(I)}function xt(I){Ct(I.expression,Gn.parenthesizeLeftSideOfAccess),Wh(I,I.typeArguments)}function Nt(I){Ct(I.expression,void 0),I.type&&(Xn(),Oi(\"as\"),Xn(),ze(I.type))}function k(I){Ct(I.expression,Gn.parenthesizeLeftSideOfAccess),Wp(\"!\")}function ge(I){Ct(I.expression,void 0),I.type&&(Xn(),Oi(\"satisfies\"),Xn(),ze(I.type))}function Xe(I){w0(I.keywordToken,I.pos,nr),nr(\".\"),ze(I.name)}function Mt(I){Ct(I.expression),ze(I.literal)}function Vn(I){jr(I,!I.multiLine&&MT(I))}function jr(I,ne){Ri(19,I.pos,nr,I);let rt=ne||ba(I)&1?768:129;Ds(I,I.statements,rt),Ri(20,I.statements.end,nr,I,!!(rt&1))}function Or(I){pp(I,I.modifiers,!1),ze(I.declarationList),Mc()}function zi(I){I?nr(\";\"):Mc()}function _a(I){Ct(I.expression,Gn.parenthesizeExpressionOfExpressionStatement),(!L||!yf(L)||xs(I.expression))&&Mc()}function ha(I){let ne=Ri(101,I.pos,Oi,I);Xn(),Ri(21,ne,nr,I),Ct(I.expression),Ri(22,I.expression.end,nr,I),wh(I,I.thenStatement),I.elseStatement&&(Sg(I,I.thenStatement,I.elseStatement),Ri(93,I.thenStatement.end,Oi,I),I.elseStatement.kind===245?(Xn(),ze(I.elseStatement)):wh(I,I.elseStatement))}function pl(I,ne){let rt=Ri(117,ne,Oi,I);Xn(),Ri(21,rt,nr,I),Ct(I.expression),Ri(22,I.expression.end,nr,I)}function Gc(I){Ri(92,I.pos,Oi,I),wh(I,I.statement),Do(I.statement)&&!ce?Xn():Sg(I,I.statement,I.expression),pl(I,I.statement.end),Mc()}function nc(I){pl(I,I.pos),wh(I,I.statement)}function Xu(I){let ne=Ri(99,I.pos,Oi,I);Xn();let rt=Ri(21,ne,nr,I);ja(I.initializer),rt=Ri(27,I.initializer?I.initializer.end:rt,nr,I),k0(I.condition),rt=Ri(27,I.condition?I.condition.end:rt,nr,I),k0(I.incrementor),Ri(22,I.incrementor?I.incrementor.end:rt,nr,I),wh(I,I.statement)}function _u(I){let ne=Ri(99,I.pos,Oi,I);Xn(),Ri(21,ne,nr,I),ja(I.initializer),Xn(),Ri(103,I.initializer.end,Oi,I),Xn(),Ct(I.expression),Ri(22,I.expression.end,nr,I),wh(I,I.statement)}function Ay(I){let ne=Ri(99,I.pos,Oi,I);Xn(),IT(I.awaitModifier),Ri(21,ne,nr,I),ja(I.initializer),Xn(),Ri(165,I.initializer.end,Oi,I),Xn(),Ct(I.expression),Ri(22,I.expression.end,nr,I),wh(I,I.statement)}function ja(I){I!==void 0&&(I.kind===261?ze(I):Ct(I))}function em(I){Ri(88,I.pos,Oi,I),Eg(I.label),Mc()}function tm(I){Ri(83,I.pos,Oi,I),Eg(I.label),Mc()}function Ri(I,ne,rt,Ht,yr){let vi=uo(Ht),ri=vi&&vi.kind===Ht.kind,wi=ne;if(ri&&L&&(ne=pa(L.text,ne)),ri&&Ht.pos!==wi){let $o=yr&&L&&!Jp(wi,ne,L);$o&&Q_(),zh(wi),$o&&om()}if(!S&&(I===19||I===20)?ne=w0(I,ne,rt,Ht):ne=My(I,rt,ne),ri&&Ht.end!==ne){let $o=Ht.kind===294;sm(ne,!$o,$o)}return ne}function _g(I){return I.kind===2||!!I.hasTrailingNewLine}function yv(I){if(!L)return!1;let ne=mh(L.text,I.pos);if(ne){let rt=uo(I);if(rt&&uu(rt.parent))return!0}return ct(ne,_g)||ct(Mx(I),_g)?!0:v6(I)?I.pos!==I.expression.pos&&ct(mb(L.text,I.expression.pos),_g)?!0:yv(I.expression):!1}function nm(I){if(!Wt&&v6(I)&&yv(I)){let ne=uo(I);if(ne&&uu(ne)){let rt=P.createParenthesizedExpression(I.expression);return mr(rt,I),Ze(rt,ne),rt}return P.createParenthesizedExpression(I)}return I}function D0(I){return nm(Gn.parenthesizeExpressionForDisallowedComma(I))}function C0(I){Ri(107,I.pos,Oi,I),k0(I.expression&&nm(I.expression),nm),Mc()}function Op(I){let ne=Ri(118,I.pos,Oi,I);Xn(),Ri(21,ne,nr,I),Ct(I.expression),Ri(22,I.expression.end,nr,I),wh(I,I.statement)}function p_(I){let ne=Ri(109,I.pos,Oi,I);Xn(),Ri(21,ne,nr,I),Ct(I.expression),Ri(22,I.expression.end,nr,I),Xn(),ze(I.caseBlock)}function wp(I){ze(I.label),Ri(59,I.label.end,nr,I),Xn(),ze(I.statement)}function hg(I){Ri(111,I.pos,Oi,I),k0(nm(I.expression),nm),Mc()}function Ne(I){Ri(113,I.pos,Oi,I),Xn(),ze(I.tryBlock),I.catchClause&&(Sg(I,I.tryBlock,I.catchClause),ze(I.catchClause)),I.finallyBlock&&(Sg(I,I.catchClause||I.tryBlock,I.finallyBlock),Ri(98,(I.catchClause||I.tryBlock).end,Oi,I),Xn(),ze(I.finallyBlock))}function Ve(I){w0(89,I.pos,Oi),Mc()}function Tt(I){var ne,rt,Ht;ze(I.name),ze(I.exclamationToken),Lf(I.type),Ny(I.initializer,((ne=I.type)==null?void 0:ne.end)??((Ht=(rt=I.name.emitNode)==null?void 0:rt.typeNode)==null?void 0:Ht.end)??I.name.end,I,Gn.parenthesizeExpressionForDisallowedComma)}function Pt(I){if(lL(I))Oi(\"await\"),Xn(),Oi(\"using\");else{let ne=lW(I)?\"let\":Z1(I)?\"const\":cL(I)?\"using\":\"var\";Oi(ne)}Xn(),Ds(I,I.declarations,528)}function rn(I){wn(I)}function wn(I){pp(I,I.modifiers,!1),Oi(\"function\"),ze(I.asteriskToken),Xn(),it(I.name),tn(I,Wn)}function tn(I,ne){let rt=I.body;if(rt)if(Do(rt)){let Ht=ba(I)&131072;Ht&&Q_(),Qc(I),an(I.parameters,Lc),Lc(I.body),ne(I),Kn(rt),Nu(I),Ht&&om()}else ne(I),Xn(),Ct(rt,Gn.parenthesizeConciseBodyOfArrowFunction);else ne(I),Mc()}function Wn(I){f_(I,I.typeParameters),Av(I,I.parameters),Lf(I.type)}function Qr(I){if(ba(I)&1)return!0;if(I.multiLine||!xs(I)&&L&&!WS(I,L)||Fh(I,Ac(I.statements),2)||r1(I,Ns(I.statements),2,I.statements))return!1;let ne;for(let rt of I.statements){if(Ly(ne,rt,2)>0)return!1;ne=rt}return!0}function Kn(I){l?.(I),Xn(),nr(\"{\"),Q_();let ne=Qr(I)?Gr:Qn;dr(I,I.statements,ne),om(),w0(20,I.statements.end,nr,I),d?.(I)}function Gr(I){Qn(I,!0)}function Qn(I,ne){let rt=gu(I.statements),Ht=pe.getTextPos();Ot(I),rt===0&&Ht===pe.getTextPos()&&ne?(om(),Ds(I,I.statements,768),Q_()):Ds(I,I.statements,1,void 0,rt)}function Mo(I){xa(I)}function xa(I){of(0,void 0),an(I.members,i1),pp(I,I.modifiers,!0),Ri(86,Zm(I).pos,Oi,I),I.name&&(Xn(),it(I.name));let ne=ba(I)&131072;ne&&Q_(),f_(I,I.typeParameters),Ds(I,I.heritageClauses,0),Xn(),nr(\"{\"),Ds(I,I.members,129),nr(\"}\"),ne&&om(),ky()}function xd(I){of(0,void 0),pp(I,I.modifiers,!1),Oi(\"interface\"),Xn(),ze(I.name),f_(I,I.typeParameters),Ds(I,I.heritageClauses,512),Xn(),nr(\"{\"),Ds(I,I.members,129),nr(\"}\"),ky()}function Vc(I){pp(I,I.modifiers,!1),Oi(\"type\"),Xn(),ze(I.name),f_(I,I.typeParameters),Xn(),nr(\"=\"),Xn(),ze(I.type),Mc()}function gg(I){pp(I,I.modifiers,!1),Oi(\"enum\"),Xn(),ze(I.name),Xn(),nr(\"{\"),Ds(I,I.members,145),nr(\"}\")}function $b(I){pp(I,I.modifiers,!1),~I.flags&2048&&(Oi(I.flags&32?\"namespace\":\"module\"),Xn()),ze(I.name);let ne=I.body;if(!ne)return Mc();for(;ne&&Il(ne);)nr(\".\"),ze(ne.name),ne=ne.body;Xn(),ze(ne)}function UI(I){Qc(I),an(I.statements,Lc),jr(I,MT(I)),Nu(I)}function Qb(I){Ri(19,I.pos,nr,I),Ds(I,I.clauses,129),Ri(20,I.clauses.end,nr,I,!0)}function GR(I){pp(I,I.modifiers,!1),Ri(102,I.modifiers?I.modifiers.end:I.pos,Oi,I),Xn(),I.isTypeOnly&&(Ri(156,I.pos,Oi,I),Xn()),ze(I.name),Xn(),Ri(64,I.name.end,nr,I),Xn(),VR(I.moduleReference),Mc()}function VR(I){I.kind===80?Ct(I):ze(I)}function jR(I){pp(I,I.modifiers,!1),Ri(102,I.modifiers?I.modifiers.end:I.pos,Oi,I),Xn(),I.importClause&&(ze(I.importClause),Xn(),Ri(161,I.importClause.end,Oi,I),Xn()),Ct(I.moduleSpecifier),I.attributes&&Eg(I.attributes),Mc()}function gT(I){I.isTypeOnly&&(Ri(156,I.pos,Oi,I),Xn()),ze(I.name),I.name&&I.namedBindings&&(Ri(28,I.name.end,nr,I),Xn()),ze(I.namedBindings)}function N0(I){let ne=Ri(42,I.pos,nr,I);Xn(),Ri(130,ne,Oi,I),Xn(),ze(I.name)}function HI(I){xy(I)}function UR(I){kh(I)}function qI(I){let ne=Ri(95,I.pos,Oi,I);Xn(),I.isExportEquals?Ri(64,ne,Wp,I):Ri(90,ne,Oi,I),Xn(),Ct(I.expression,I.isExportEquals?Gn.getParenthesizeRightSideOfBinaryForOperator(64):Gn.parenthesizeExpressionOfExportDefault),Mc()}function JI(I){pp(I,I.modifiers,!1);let ne=Ri(95,I.pos,Oi,I);if(Xn(),I.isTypeOnly&&(ne=Ri(156,ne,Oi,I),Xn()),I.exportClause?ze(I.exportClause):ne=Ri(42,ne,nr,I),I.moduleSpecifier){Xn();let rt=I.exportClause?I.exportClause.end:ne;Ri(161,rt,Oi,I),Xn(),Ct(I.moduleSpecifier)}I.attributes&&Eg(I.attributes),Mc()}function KI(I){nr(\"{\"),Xn(),Oi(I.token===132?\"assert\":\"with\"),nr(\":\"),Xn();let ne=I.elements;Ds(I,ne,526226),Xn(),nr(\"}\")}function XI(I){Ri(I.token,I.pos,Oi,I),Xn();let ne=I.elements;Ds(I,ne,526226)}function vT(I){ze(I.name),nr(\":\"),Xn();let ne=I.value;if(!(ba(ne)&1024)){let rt=t_(ne);sm(rt.pos)}ze(ne)}function YI(I){let ne=Ri(95,I.pos,Oi,I);Xn(),ne=Ri(130,ne,Oi,I),Xn(),ne=Ri(145,ne,Oi,I),Xn(),ze(I.name),Mc()}function P0(I){let ne=Ri(42,I.pos,nr,I);Xn(),Ri(130,ne,Oi,I),Xn(),ze(I.name)}function M0(I){xy(I)}function Iy(I){kh(I)}function xy(I){nr(\"{\"),Ds(I,I.elements,525136),nr(\"}\")}function kh(I){I.isTypeOnly&&(Oi(\"type\"),Xn()),I.propertyName&&(ze(I.propertyName),Xn(),Ri(130,I.propertyName.end,Oi,I),Xn()),ze(I.name)}function Zb(I){Oi(\"require\"),nr(\"(\"),Ct(I.expression),nr(\")\")}function La(I){ze(I.openingElement),Ds(I,I.children,262144),ze(I.closingElement)}function yT(I){nr(\"<\"),Ry(I.tagName),Wh(I,I.typeArguments),Xn(),ze(I.attributes),nr(\"/>\")}function HR(I){ze(I.openingFragment),Ds(I,I.children,262144),ze(I.closingFragment)}function eE(I){if(nr(\"<\"),r_(I)){let ne=QR(I.tagName,I);Ry(I.tagName),Wh(I,I.typeArguments),I.attributes.properties&&I.attributes.properties.length>0&&Xn(),ze(I.attributes),F0(I.attributes,I),oE(ne)}nr(\">\")}function vg(I){pe.writeLiteral(I.text)}function Y_(I){nr(\"</\"),l0(I)&&Ry(I.tagName),nr(\">\")}function rf(I){Ds(I,I.properties,262656)}function hu(I){ze(I.name),rm(\"=\",nr,I.initializer,on)}function Yu(I){nr(\"{...\"),Ct(I.expression),nr(\"}\")}function Cu(I){let ne=!1;return LM(L?.text||\"\",I+1,()=>ne=!0),ne}function bv(I){let ne=!1;return MM(L?.text||\"\",I+1,()=>ne=!0),ne}function bT(I){return Cu(I)||bv(I)}function qR(I){var ne;if(I.expression||!Wt&&!xs(I)&&bT(I.pos)){let rt=L&&!xs(I)&&$a(L,I.pos).line!==$a(L,I.end).line;rt&&pe.increaseIndent();let Ht=Ri(19,I.pos,nr,I);ze(I.dotDotDotToken),Ct(I.expression),Ri(20,((ne=I.expression)==null?void 0:ne.end)||Ht,nr,I),rt&&pe.decreaseIndent()}}function $I(I){it(I.namespace),nr(\":\"),it(I.name)}function Ry(I){I.kind===80?Ct(I):ze(I)}function tE(I){Ri(84,I.pos,Oi,I),Xn(),Ct(I.expression,Gn.parenthesizeExpressionForDisallowedComma),Xl(I,I.statements,I.expression.end)}function QI(I){let ne=Ri(90,I.pos,Oi,I);Xl(I,I.statements,ne)}function Xl(I,ne,rt){let Ht=ne.length===1&&(!L||xs(I)||xs(ne[0])||YW(I,ne[0],L)),yr=163969;Ht?(w0(59,rt,nr,I),Xn(),yr&=-130):Ri(59,rt,nr,I),Ds(I,ne,yr)}function Ev(I){Xn(),My(I.token,Oi),Xn(),Ds(I,I.types,528)}function ZI(I){let ne=Ri(85,I.pos,Oi,I);Xn(),I.variableDeclaration&&(Ri(21,ne,nr,I),ze(I.variableDeclaration),Ri(22,I.variableDeclaration.end,nr,I),Xn()),ze(I.block)}function xm(I){ze(I.name),nr(\":\"),Xn();let ne=I.initializer;if(!(ba(ne)&1024)){let rt=t_(ne);sm(rt.pos)}Ct(ne,Gn.parenthesizeExpressionForDisallowedComma)}function ET(I){ze(I.name),I.objectAssignmentInitializer&&(Xn(),nr(\"=\"),Xn(),Ct(I.objectAssignmentInitializer,Gn.parenthesizeExpressionForDisallowedComma))}function we(I){I.expression&&(Ri(26,I.pos,nr,I),Ct(I.expression,Gn.parenthesizeExpressionForDisallowedComma))}function Rm(I){ze(I.name),Ny(I.initializer,I.name.end,I,Gn.parenthesizeExpressionForDisallowedComma)}function jc(I){if(Oe(\"/**\"),I.comment){let ne=VM(I.comment);if(ne){let rt=ne.split(/\\r\\n?|\\n/g);for(let Ht of rt)Tc(),Xn(),nr(\"*\"),Xn(),Oe(Ht)}}I.tags&&(I.tags.length===1&&I.tags[0].kind===351&&!I.comment?(Xn(),ze(I.tags[0])):Ds(I,I.tags,33)),Xn(),Oe(\"*/\")}function nE(I){Pf(I.tagName),yg(I.typeExpression),Mf(I.comment)}function e1(I){Pf(I.tagName),ze(I.name),Mf(I.comment)}function Dy(I){Xn(),nr(\"{\"),ze(I.name),nr(\"}\")}function Sv(I){Pf(I.tagName),Xn(),nr(\"{\"),ze(I.class),nr(\"}\"),Mf(I.comment)}function Tv(I){Pf(I.tagName),yg(I.constraint),Xn(),Ds(I,I.typeParameters,528),Mf(I.comment)}function SP(I){Pf(I.tagName),I.typeExpression&&(I.typeExpression.kind===316?yg(I.typeExpression):(Xn(),nr(\"{\"),Oe(\"Object\"),I.typeExpression.isArrayType&&(nr(\"[\"),nr(\"]\")),nr(\"}\"))),I.fullName&&(Xn(),ze(I.fullName)),Mf(I.comment),I.typeExpression&&I.typeExpression.kind===329&&TT(I.typeExpression)}function Ra(I){Pf(I.tagName),I.name&&(Xn(),ze(I.name)),Mf(I.comment),rE(I.typeExpression)}function Dm(I){Mf(I.comment),rE(I.typeExpression)}function ST(I){Pf(I.tagName),Mf(I.comment)}function TT(I){Ds(I,P.createNodeArray(I.jsDocPropertyTags),33)}function rE(I){I.typeParameters&&Ds(I,P.createNodeArray(I.typeParameters),33),I.parameters&&Ds(I,P.createNodeArray(I.parameters),33),I.type&&(Tc(),Xn(),nr(\"*\"),Xn(),ze(I.type))}function AT(I){Pf(I.tagName),yg(I.typeExpression),Xn(),I.isBracketed&&nr(\"[\"),ze(I.name),I.isBracketed&&nr(\"]\"),Mf(I.comment)}function Pf(I){nr(\"@\"),ze(I)}function Mf(I){let ne=VM(I);ne&&(Xn(),Oe(ne))}function yg(I){I&&(Xn(),nr(\"{\"),ze(I.type),nr(\"}\"))}function t1(I){Tc();let ne=I.statements;if(ne.length===0||!Hf(ne[0])||xs(ne[0])){dr(I,ne,Pi);return}Pi(I)}function Cm(I){L0(!!I.hasNoDefaultLib,I.syntheticFileReferences||[],I.syntheticTypeReferences||[],I.syntheticLibReferences||[]);for(let ne of I.prepends)if(XS(ne)&&ne.syntheticReferences)for(let rt of ne.syntheticReferences)ze(rt),Tc()}function JR(I){I.isDeclarationFile&&L0(I.hasNoDefaultLib,I.referencedFiles,I.typeReferenceDirectives,I.libReferenceDirectives)}function L0(I,ne,rt,Ht){if(I){let yr=pe.getTextPos();m_('/// <reference no-default-lib=\"true\"/>'),be&&be.sections.push({pos:yr,end:pe.getTextPos(),kind:\"no-default-lib\"}),Tc()}if(L&&L.moduleName&&(m_(`/// <amd-module name=\"${L.moduleName}\" />`),Tc()),L&&L.amdDependencies)for(let yr of L.amdDependencies)yr.name?m_(`/// <amd-dependency name=\"${yr.name}\" path=\"${yr.path}\" />`):m_(`/// <amd-dependency path=\"${yr.path}\" />`),Tc();for(let yr of ne){let vi=pe.getTextPos();m_(`/// <reference path=\"${yr.fileName}\" />`),be&&be.sections.push({pos:vi,end:pe.getTextPos(),kind:\"reference\",data:yr.fileName}),Tc()}for(let yr of rt){let vi=pe.getTextPos(),ri=yr.resolutionMode&&yr.resolutionMode!==L?.impliedNodeFormat?`resolution-mode=\"${yr.resolutionMode===99?\"import\":\"require\"}\"`:\"\";m_(`/// <reference types=\"${yr.fileName}\" ${ri}/>`),be&&be.sections.push({pos:vi,end:pe.getTextPos(),kind:yr.resolutionMode?yr.resolutionMode===99?\"type-import\":\"type-require\":\"type\",data:yr.fileName}),Tc()}for(let yr of Ht){let vi=pe.getTextPos();m_(`/// <reference lib=\"${yr.fileName}\" />`),be&&be.sections.push({pos:vi,end:pe.getTextPos(),kind:\"lib\",data:yr.fileName}),Tc()}}function Pi(I){let ne=I.statements;Qc(I),an(I.statements,Lc),Ot(I);let rt=Tl(ne,Ht=>!Hf(Ht));JR(I),Ds(I,ne,1,void 0,rt===-1?ne.length:rt),Nu(I)}function Fr(I){let ne=ba(I);!(ne&1024)&&I.pos!==I.expression.pos&&sm(I.expression.pos),Ct(I.expression),!(ne&2048)&&I.end!==I.expression.end&&zh(I.expression.end)}function $_(I){O0(I,I.elements,528,void 0)}function gu(I,ne,rt,Ht){let yr=!!ne;for(let vi=0;vi<I.length;vi++){let ri=I[vi];if(Hf(ri)){if(rt?!rt.has(ri.expression.text):!0){yr&&(yr=!1,et(ne)),Tc();let $o=pe.getTextPos();ze(ri),Ht&&be&&be.sections.push({pos:$o,end:pe.getTextPos(),kind:\"prologue\",data:ri.expression.text}),rt&&rt.add(ri.expression.text)}}else return vi}return I.length}function TP(I,ne){for(let rt of I)if(!ne.has(rt.data)){Tc();let Ht=pe.getTextPos();ze(rt),be&&be.sections.push({pos:Ht,end:pe.getTextPos(),kind:\"prologue\",data:rt.data}),ne&&ne.add(rt.data)}}function bg(I){if(Li(I))gu(I.statements,I);else{let ne=new Set;for(let rt of I.prepends)TP(rt.prologues,ne);for(let rt of I.sourceFiles)gu(rt.statements,rt,ne,!0);et(void 0)}}function AP(I){let ne=new Set,rt;for(let Ht=0;Ht<I.sourceFiles.length;Ht++){let yr=I.sourceFiles[Ht],vi,ri=0;for(let wi of yr.statements){if(!Hf(wi))break;ne.has(wi.expression.text)||(ne.add(wi.expression.text),(vi||(vi=[])).push({pos:wi.pos,end:wi.end,expression:{pos:wi.expression.pos,end:wi.expression.end,text:wi.expression.text}}),ri=ri<wi.end?wi.end:ri)}vi&&(rt||(rt=[])).push({file:Ht,text:yr.text.substring(0,ri),directives:vi})}return rt}function Cy(I){if(Li(I)||XS(I)){let ne=C8(I.text);if(ne)return m_(ne),Tc(),!0}else{for(let ne of I.prepends)if(x.assertNode(ne,XS),Cy(ne))return!0;for(let ne of I.sourceFiles)if(Cy(ne))return!0}}function Xs(I,ne){if(!I)return;let rt=Oe;Oe=ne,ze(I),Oe=rt}function pp(I,ne,rt){if(ne?.length){if(ji(ne,ia))return Oh(I,ne);if(ji(ne,Xc))return rt?n1(I,ne):I.pos;p?.(ne);let Ht,yr,vi=0,ri=0,wi;for(;vi<ne.length;){for(;ri<ne.length;){if(wi=ne[ri],yr=Xc(wi)?\"decorators\":\"modifiers\",Ht===void 0)Ht=yr;else if(yr!==Ht)break;ri++}let $o={pos:-1,end:-1};vi===0&&($o.pos=ne.pos),ri===ne.length-1&&($o.end=ne.end),(Ht===\"modifiers\"||rt)&&im(ze,I,ne,Ht===\"modifiers\"?2359808:2146305,void 0,vi,ri-vi,!1,$o),vi=ri,Ht=yr,ri++}if(h?.(ne),wi&&!ym(wi.end))return wi.end}return I.pos}function Oh(I,ne){Ds(I,ne,2359808);let rt=Ns(ne);return rt&&!ym(rt.end)?rt.end:I.pos}function Lf(I){I&&(nr(\":\"),Xn(),ze(I))}function Ny(I,ne,rt,Ht){I&&(Xn(),Ri(64,ne,Wp,rt),Xn(),Ct(I,Ht))}function rm(I,ne,rt,Ht){rt&&(ne(I),Ht(rt))}function Eg(I){I&&(Xn(),ze(I))}function k0(I,ne){I&&(Xn(),Ct(I,ne))}function IT(I){I&&(ze(I),Xn())}function wh(I,ne){Do(ne)||ba(I)&1||ce&&!Fh(I,ne,0)?(Xn(),ze(ne)):(Tc(),Q_(),Tj(ne)?V(5,ne):ze(ne),om())}function n1(I,ne){Ds(I,ne,2146305);let rt=Ns(ne);return rt&&!ym(rt.end)?rt.end:I.pos}function Wh(I,ne){Ds(I,ne,53776,Nr)}function f_(I,ne){if(Lo(I)&&I.typeArguments)return Wh(I,I.typeArguments);Ds(I,ne,53776)}function Av(I,ne){Ds(I,ne,2576)}function KR(I,ne){let rt=R_(ne);return rt&&rt.pos===I.pos&&gs(I)&&!I.type&&!ct(I.modifiers)&&!ct(I.typeParameters)&&!ct(rt.modifiers)&&!rt.dotDotDotToken&&!rt.questionToken&&!rt.type&&!rt.initializer&&Me(rt.name)}function XR(I,ne){KR(I,ne)?Ds(I,ne,528):Av(I,ne)}function YR(I,ne){Ds(I,ne,8848)}function xT(I){switch(I&60){case 0:break;case 16:nr(\",\");break;case 4:Xn(),nr(\"|\");break;case 32:Xn(),nr(\"*\"),Xn();break;case 8:Xn(),nr(\"&\");break}}function Ds(I,ne,rt,Ht,yr,vi){RT(ze,I,ne,rt|(I&&ba(I)&2?65536:0),Ht,yr,vi)}function O0(I,ne,rt,Ht,yr,vi){RT(Ct,I,ne,rt,Ht,yr,vi)}function RT(I,ne,rt,Ht,yr,vi=0,ri=rt?rt.length-vi:0){if(rt===void 0&&Ht&16384)return;let $o=rt===void 0||vi>=rt.length||ri===0;if($o&&Ht&32768){p?.(rt),h?.(rt);return}Ht&15360&&(nr(b7e(Ht)),$o&&rt&&sm(rt.pos,!0)),p?.(rt),$o?Ht&1&&!(ce&&(!ne||L&&WS(ne,L)))?Tc():Ht&256&&!(Ht&524288)&&Xn():im(I,ne,rt,Ht,yr,vi,ri,rt.hasTrailingComma,rt),h?.(rt),Ht&15360&&($o&&rt&&zh(rt.end),nr(E7e(Ht)))}function im(I,ne,rt,Ht,yr,vi,ri,wi,$o){let Rd=(Ht&262144)===0,ru=Rd,sf=Fh(ne,rt[vi],Ht);sf?(Tc(sf),ru=!1):Ht&256&&Xn(),Ht&128&&Q_();let Fy=I7e(I,yr),ai,th,Pn=!1;for(let H0=0;H0<ri;H0++){let h_=rt[vi+H0];if(Ht&32)Tc(),xT(Ht);else if(ai){Ht&60&&ai.end!==(ne?ne.end:-1)&&(ba(ai)&2048||zh(ai.end)),xT(Ht),ln(th);let nh=Ly(ai,h_,Ht);if(nh>0){if(Ht&131||(Q_(),Pn=!0),ru&&Ht&60&&!ym(h_.pos)){let aD=t_(h_);sm(aD.pos,!!(Ht&512),!0)}Tc(nh),ru=!1}else ai&&Ht&512&&Xn()}if(th=Ea(h_),ru){let nh=t_(h_);sm(nh.pos)}else ru=Rd;Z=h_.pos,Fy(h_,I,yr,H0),Pn&&(om(),Pn=!1),ai=h_}let d1=ai?ba(ai):0,zy=Wt||!!(d1&2048),By=wi&&Ht&64&&Ht&16;By&&(ai&&!zy?Ri(28,ai.end,nr,ai):nr(\",\")),ai&&(ne?ne.end:-1)!==ai.end&&Ht&60&&!zy&&zh(By&&$o?.end?$o.end:ai.end),Ht&128&&om(),ln(th);let GT=r1(ne,rt[vi+ri-1],Ht,$o);GT?Tc(GT):Ht&2097408&&Xn()}function Py(I){pe.writeLiteral(I)}function $R(I){pe.writeStringLiteral(I)}function DT(I){pe.write(I)}function IP(I,ne){pe.writeSymbol(I,ne)}function nr(I){pe.writePunctuation(I)}function Mc(){pe.writeTrailingSemicolon(\";\")}function Oi(I){pe.writeKeyword(I)}function Wp(I){pe.writeOperator(I)}function Iv(I){pe.writeParameter(I)}function m_(I){pe.writeComment(I)}function Xn(){pe.writeSpace(\" \")}function CT(I){pe.writeProperty(I)}function iE(I){pe.nonEscapingWrite?pe.nonEscapingWrite(I):pe.write(I)}function Tc(I=1){for(let ne=0;ne<I;ne++)pe.writeLine(ne>0)}function Q_(){pe.increaseIndent()}function om(){pe.decreaseIndent()}function w0(I,ne,rt,Ht){return Le?My(I,rt,ne):U0(Ht,I,rt,ne,My)}function W0(I,ne){m&&m(I),ne(qo(I.kind)),v&&v(I)}function My(I,ne,rt){let Ht=qo(I);return ne(Ht),rt<0?rt:rt+Ht.length}function Sg(I,ne,rt){if(ba(I)&1)Xn();else if(ce){let Ht=fp(I,ne,rt);Ht?Tc(Ht):Xn()}else Tc()}function NT(I){let ne=I.split(/\\r\\n?|\\n/g),rt=dte(ne);for(let Ht of ne){let yr=rt?Ht.slice(rt):Ht;yr.length&&(Tc(),Oe(yr))}}function am(I,ne){I?(Q_(),Tc(I)):ne&&Xn()}function oE(I,ne){I&&om(),ne&&om()}function Fh(I,ne,rt){if(rt&2||ce){if(rt&65536)return 1;if(ne===void 0)return!I||L&&WS(I,L)?0:1;if(ne.pos===Z||ne.kind===12)return 0;if(L&&I&&!ym(I.pos)&&!xs(ne)&&(!ne.parent||sl(ne.parent)===sl(I)))return ce?aE(Ht=>One(ne.pos,I.pos,L,Ht)):YW(I,ne,L)?0:1;if(PT(ne,rt))return 1}return rt&1?1:0}function Ly(I,ne,rt){if(rt&2||ce){if(I===void 0||ne===void 0||ne.kind===12)return 0;if(L&&!xs(I)&&!xs(ne))return ce&&nu(I,ne)?aE(Ht=>hV(I,ne,L,Ht)):!ce&&Fp(I,ne)?qL(I,ne,L)?0:1:rt&65536?1:0;if(PT(I,rt)||PT(ne,rt))return 1}else if(rN(ne))return 1;return rt&1?1:0}function r1(I,ne,rt,Ht){if(rt&2||ce){if(rt&65536)return 1;if(ne===void 0)return!I||L&&WS(I,L)?0:1;if(L&&I&&!ym(I.pos)&&!xs(ne)&&(!ne.parent||ne.parent===I)){if(ce){let yr=Ht&&!ym(Ht.end)?Ht.end:ne.end;return aE(vi=>wne(yr,I.end,L,vi))}return Mne(I,ne,L)?0:1}if(PT(ne,rt))return 1}return rt&1&&!(rt&131072)?1:0}function aE(I){x.assert(!!ce);let ne=I(!0);return ne===0?I(!1):ne}function QR(I,ne){let rt=ce&&Fh(ne,I,0);return rt&&am(rt,!1),!!rt}function F0(I,ne){let rt=ce&&r1(ne,I,0,void 0);rt&&Tc(rt)}function PT(I,ne){if(xs(I)){let rt=rN(I);return rt===void 0?(ne&65536)!==0:rt}return(ne&65536)!==0}function fp(I,ne,rt){return ba(I)&262144?0:(I=yl(I),ne=yl(ne),rt=yl(rt),rN(rt)?1:L&&!xs(I)&&!xs(ne)&&!xs(rt)?ce?aE(Ht=>hV(ne,rt,L,Ht)):qL(ne,rt,L)?0:1:0)}function MT(I){return I.statements.length===0&&(!L||qL(I,I,L))}function yl(I){for(;I.kind===217&&xs(I);)I=I.expression;return I}function fc(I,ne){if(ws(I)||vS(I))return kT(I);if(da(I)&&I.textSourceNode)return fc(I.textSourceNode,ne);let rt=L,Ht=!!rt&&!!I.parent&&!xs(I);if(hh(I)){if(!Ht||Nn(I)!==sl(rt))return ar(I)}else if(Em(I)){if(!Ht||Nn(I)!==sl(rt))return ZC(I)}else if(x.assertNode(I,wE),!Ht)return I.text;return FE(rt,I,ne)}function LT(I,ne,rt){if(I.kind===11&&I.textSourceNode){let yr=I.textSourceNode;if(Me(yr)||Ci(yr)||Bu(yr)||Em(yr)){let vi=Bu(yr)?yr.text:fc(yr);return rt?`\"${tV(vi)}\"`:ne||ba(I)&16777216?`\"${Th(vi)}\"`:`\"${BL(vi)}\"`}else return LT(yr,ne,rt)}let Ht=(ne?1:0)|(rt?2:0)|(e.terminateUnterminatedLiterals?4:0)|(e.target&&e.target>=8?8:0);return Ete(I,L,Ht)}function Qc(I){I&&ba(I)&1048576||(fe.push(q),q=0,oe.push(W),W=void 0,H.push(ee))}function Nu(I){I&&ba(I)&1048576||(q=fe.pop(),W=oe.pop(),ee=H.pop())}function sE(I){(!ee||ee===Ns(H))&&(ee=new Set),ee.add(I)}function of(I,ne){$.push(de),de=I,le.push(ee),Ee=ne}function ky(){de=$.pop(),Ee=le.pop()}function Oy(I){(!Ee||Ee===Ns(le))&&(Ee=new Set),Ee.add(I)}function Lc(I){if(I)switch(I.kind){case 241:an(I.statements,Lc);break;case 256:case 254:case 246:case 247:Lc(I.statement);break;case 245:Lc(I.thenStatement),Lc(I.elseStatement);break;case 248:case 250:case 249:Lc(I.initializer),Lc(I.statement);break;case 255:Lc(I.caseBlock);break;case 269:an(I.clauses,Lc);break;case 296:case 297:an(I.statements,Lc);break;case 258:Lc(I.tryBlock),Lc(I.catchClause),Lc(I.finallyBlock);break;case 299:Lc(I.variableDeclaration),Lc(I.block);break;case 243:Lc(I.declarationList);break;case 261:an(I.declarations,Lc);break;case 260:case 169:case 208:case 263:mp(I.name);break;case 262:mp(I.name),ba(I)&1048576&&(an(I.parameters,Lc),Lc(I.body));break;case 206:case 207:an(I.elements,Lc);break;case 272:Lc(I.importClause);break;case 273:mp(I.name),Lc(I.namedBindings);break;case 274:mp(I.name);break;case 280:mp(I.name);break;case 275:an(I.elements,Lc);break;case 276:mp(I.propertyName||I.name);break}}function i1(I){if(I)switch(I.kind){case 303:case 304:case 172:case 174:case 177:case 178:mp(I.name);break}}function mp(I){I&&(ws(I)||vS(I)?kT(I):ko(I)&&Lc(I))}function kT(I){let ne=I.emitNode.autoGenerate;if((ne.flags&7)===4)return OT(W2(I),Ci(I),ne.flags,ne.prefix,ne.suffix);{let rt=ne.id;return K[rt]||(K[rt]=eD(I))}}function OT(I,ne,rt,Ht,yr){let vi=Fa(I),ri=ne?U:G;return ri[vi]||(ri[vi]=wT(I,ne,rt??0,Jx(Ht,kT),Jx(yr)))}function Es(I,ne){return lE(I,ne)&&!ZR(I,ne)&&!F.has(I)}function ZR(I,ne){return ne?!!Ee?.has(I):!!ee?.has(I)}function lE(I,ne){return L?tW(L,I,r):!0}function z0(I,ne){for(let rt=ne;rt&&HE(rt,ne);rt=rt.nextContainer)if(L_(rt)&&rt.locals){let Ht=rt.locals.get(Hs(I));if(Ht&&Ht.flags&3257279)return!1}return!0}function xP(I){switch(I){case\"\":return q;case\"#\":return de;default:return W?.get(I)??0}}function jd(I,ne){switch(I){case\"\":q=ne;break;case\"#\":de=ne;break;default:W??(W=new Map),W.set(I,ne);break}}function Tg(I,ne,rt,Ht,yr){Ht.length>0&&Ht.charCodeAt(0)===35&&(Ht=Ht.slice(1));let vi=Wb(rt,Ht,\"\",yr),ri=xP(vi);if(I&&!(ri&I)){let $o=Wb(rt,Ht,I===268435456?\"_i\":\"_n\",yr);if(Es($o,rt))return ri|=I,rt?Oy($o):ne&&sE($o),jd(vi,ri),$o}for(;;){let wi=ri&268435455;if(ri++,wi!==8&&wi!==13){let $o=wi<26?\"_\"+String.fromCharCode(97+wi):\"_\"+(wi-26),Rd=Wb(rt,Ht,$o,yr);if(Es(Rd,rt))return rt?Oy(Rd):ne&&sE(Rd),jd(vi,ri),Rd}}}function __(I,ne=Es,rt,Ht,yr,vi,ri){if(I.length>0&&I.charCodeAt(0)===35&&(I=I.slice(1)),vi.length>0&&vi.charCodeAt(0)===35&&(vi=vi.slice(1)),rt){let $o=Wb(yr,vi,I,ri);if(ne($o,yr))return yr?Oy($o):Ht?sE($o):F.add($o),$o}I.charCodeAt(I.length-1)!==95&&(I+=\"_\");let wi=1;for(;;){let $o=Wb(yr,vi,I+wi,ri);if(ne($o,yr))return yr?Oy($o):Ht?sE($o):F.add($o),$o;wi++}}function o1(I){return __(I,lE,!0,!1,!1,\"\",\"\")}function $u(I){let ne=fc(I.name);return z0(ne,Vr(I,L_))?ne:__(ne,Es,!1,!1,!1,\"\",\"\")}function a1(I){let ne=lx(I),rt=da(ne)?Tte(ne.text):\"module\";return __(rt,Es,!1,!1,!1,\"\",\"\")}function Pu(){return __(\"default\",Es,!1,!1,!1,\"\",\"\")}function s1(){return __(\"class\",Es,!1,!1,!1,\"\",\"\")}function xv(I,ne,rt,Ht){return Me(I.name)?OT(I.name,ne):Tg(0,!1,ne,rt,Ht)}function wT(I,ne,rt,Ht,yr){switch(I.kind){case 80:case 81:return __(fc(I),Es,!!(rt&16),!!(rt&8),ne,Ht,yr);case 267:case 266:return x.assert(!Ht&&!yr&&!ne),$u(I);case 272:case 278:return x.assert(!Ht&&!yr&&!ne),a1(I);case 262:case 263:{x.assert(!Ht&&!yr&&!ne);let vi=I.name;return vi&&!ws(vi)?wT(vi,!1,rt,Ht,yr):Pu()}case 277:return x.assert(!Ht&&!yr&&!ne),Pu();case 231:return x.assert(!Ht&&!yr&&!ne),s1();case 174:case 177:case 178:return xv(I,ne,Ht,yr);case 167:return Tg(0,!0,ne,Ht,yr);default:return Tg(0,!1,ne,Ht,yr)}}function eD(I){let ne=I.emitNode.autoGenerate,rt=Jx(ne.prefix,kT),Ht=Jx(ne.suffix);switch(ne.flags&7){case 1:return Tg(0,!!(ne.flags&8),Ci(I),rt,Ht);case 2:return x.assertNode(I,Me),Tg(268435456,!!(ne.flags&8),!1,rt,Ht);case 3:return __(ar(I),ne.flags&32?lE:Es,!!(ne.flags&16),!!(ne.flags&8),Ci(I),rt,Ht)}return x.fail(`Unsupported GeneratedIdentifierKind: ${x.formatEnum(ne.flags&7,c8,!0)}.`)}function tD(I,ne){let rt=te(2,I,ne),Ht=Vt,yr=jt,vi=gn;WT(ne),rt(I,ne),nD(ne,Ht,yr,vi)}function WT(I){let ne=ba(I),rt=t_(I);wy(I,ne,rt.pos,rt.end),ne&4096&&(Wt=!0)}function nD(I,ne,rt,Ht){let yr=ba(I),vi=t_(I);yr&4096&&(Wt=!1),Qu(I,yr,vi.pos,vi.end,ne,rt,Ht);let ri=kre(I);ri&&Qu(I,yr,ri.pos,ri.end,ne,rt,Ht)}function wy(I,ne,rt,Ht){gi(),zt=!1;let yr=rt<0||(ne&1024)!==0||I.kind===12,vi=Ht<0||(ne&2048)!==0||I.kind===12;(rt>0||Ht>0)&&rt!==Ht&&(yr||B0(rt,I.kind!==359),(!yr||rt>=0&&ne&1024)&&(Vt=rt),(!vi||Ht>=0&&ne&2048)&&(jt=Ht,I.kind===261&&(gn=Ht))),an(Mx(I),Z_),io()}function Qu(I,ne,rt,Ht,yr,vi,ri){gi();let wi=Ht<0||(ne&2048)!==0||I.kind===12;an(_2(I),rD),(rt>0||Ht>0)&&rt!==Ht&&(Vt=yr,jt=vi,gn=ri,!wi&&I.kind!==359&&Nm(Ht)),io()}function Z_(I){(I.hasLeadingNewline||I.kind===2)&&pe.writeLine(),FT(I),I.hasTrailingNewLine||I.kind===2?pe.writeLine():pe.writeSpace(\" \")}function rD(I){pe.isAtStartOfLine()||pe.writeSpace(\" \"),FT(I),I.hasTrailingNewLine&&pe.writeLine()}function FT(I){let ne=Oa(I),rt=I.kind===3?IA(ne):void 0;bx(ne,rt,pe,0,ne.length,A)}function Oa(I){return I.kind===3?`/*${I.text}*/`:`//${I.text}`}function dr(I,ne,rt){gi();let{pos:Ht,end:yr}=ne,vi=ba(I),ri=Ht<0||(vi&1024)!==0,wi=Wt||yr<0||(vi&2048)!==0;ri||af(ne),io(),vi&4096&&!Wt?(Wt=!0,rt(I),Wt=!1):rt(I),gi(),wi||(B0(ne.end,!0),zt&&!pe.isAtStartOfLine()&&pe.writeLine()),io()}function Fp(I,ne){return I=sl(I),I.parent&&I.parent===sl(ne).parent}function nu(I,ne){if(ne.pos<I.end)return!1;I=sl(I),ne=sl(ne);let rt=I.parent;if(!rt||rt!==ne.parent)return!1;let Ht=ure(I),yr=Ht?.indexOf(I);return yr!==void 0&&yr>-1&&Ht.indexOf(ne)===yr+1}function B0(I,ne){zt=!1,ne?I===0&&L?.isDeclarationFile?Gh(I,cE):Gh(I,zT):I===0&&Gh(I,iD)}function iD(I,ne,rt,Ht,yr){Bp(I,ne)&&zT(I,ne,rt,Ht,yr)}function cE(I,ne,rt,Ht,yr){Bp(I,ne)||zT(I,ne,rt,Ht,yr)}function G0(I,ne){return e.onlyPrintJsDocStyle?Jj(I,ne)||nW(I,ne):!0}function zT(I,ne,rt,Ht,yr){!L||!G0(L.text,I)||(zt||(gne(_t(),pe,yr,I),zt=!0),cs(I),bx(L.text,_t(),pe,I,ne,A),cs(ne),Ht?pe.writeLine():rt===3&&pe.writeSpace(\" \"))}function zh(I){Wt||I===-1||B0(I,!0)}function Nm(I){l1(I,zp)}function zp(I,ne,rt,Ht){!L||!G0(L.text,I)||(pe.isAtStartOfLine()||pe.writeSpace(\" \"),cs(I),bx(L.text,_t(),pe,I,ne,A),cs(ne),Ht&&pe.writeLine())}function sm(I,ne,rt){Wt||(gi(),l1(I,ne?zp:rt?Ag:Bh),io())}function Ag(I,ne,rt){L&&(cs(I),bx(L.text,_t(),pe,I,ne,A),cs(ne),rt===2&&pe.writeLine())}function Bh(I,ne,rt,Ht){L&&(cs(I),bx(L.text,_t(),pe,I,ne,A),cs(ne),Ht?pe.writeLine():pe.writeSpace(\" \"))}function Gh(I,ne){L&&(Vt===-1||I!==Vt)&&(Fl(I)?oD(ne):MM(L.text,I,ne,I))}function l1(I,ne){L&&(jt===-1||I!==jt&&I!==gn)&&LM(L.text,I,ne)}function Fl(I){return en!==void 0&&Da(en).nodePos===I}function oD(I){if(!L)return;let ne=Da(en).detachedCommentEndPos;en.length-1?en.pop():en=void 0,MM(L.text,ne,I,ne)}function af(I){let ne=L&&yne(L.text,_t(),pe,eh,I,A,Wt);ne&&(en?en.push(ne):en=[ne])}function eh(I,ne,rt,Ht,yr,vi){!L||!G0(L.text,Ht)||(cs(Ht),bx(I,ne,rt,Ht,yr,vi),cs(yr))}function Bp(I,ne){return!!L&&d9(L.text,I,ne)}function V0(I){return I.parsedSourceMap===void 0&&I.sourceMapText!==void 0&&(I.parsedSourceMap=HU(I.sourceMapText)||!1),I.parsedSourceMap||void 0}function dE(I,ne){let rt=te(3,I,ne);c1(ne),rt(I,ne),BT(ne)}function c1(I){let ne=ba(I),rt=ov(I);if(HG(I)){x.assertIsDefined(I.parent,\"UnparsedNodes must have parent pointers\");let Ht=V0(I.parent);Ht&&Ke&&Ke.appendSourceMap(pe.getLine(),pe.getColumn(),Ht,I.parent.sourceMapPath,I.parent.getLineAndCharacterOfPosition(I.pos),I.parent.getLineAndCharacterOfPosition(I.end))}else{let Ht=rt.source||Dt;I.kind!==359&&!(ne&32)&&rt.pos>=0&&j0(rt.source||Dt,Gp(Ht,rt.pos)),ne&128&&(Le=!0)}}function BT(I){let ne=ba(I),rt=ov(I);HG(I)||(ne&128&&(Le=!1),I.kind!==359&&!(ne&64)&&rt.end>=0&&j0(rt.source||Dt,rt.end))}function Gp(I,ne){return I.skipTrivia?I.skipTrivia(ne):pa(I.text,ne)}function cs(I){if(Le||ym(I)||uE(Dt))return;let{line:ne,character:rt}=$a(Dt,I);Ke.addMapping(pe.getLine(),pe.getColumn(),st,ne,rt,void 0)}function j0(I,ne){if(I!==Dt){let rt=Dt,Ht=st;Ig(I),cs(ne),Wy(rt,Ht)}else cs(ne)}function U0(I,ne,rt,Ht,yr){if(Le||I&&SW(I))return yr(ne,rt,Ht);let vi=I&&I.emitNode,ri=vi&&vi.flags||0,wi=vi&&vi.tokenSourceMapRanges&&vi.tokenSourceMapRanges[ne],$o=wi&&wi.source||Dt;return Ht=Gp($o,wi?wi.pos:Ht),!(ri&256)&&Ht>=0&&j0($o,Ht),Ht=yr(ne,rt,Ht),wi&&(Ht=wi.end),!(ri&512)&&Ht>=0&&j0($o,Ht),Ht}function Ig(I){if(!Le){if(Dt=I,I===Ge){st=ot;return}uE(I)||(st=Ke.addSource(I.fileName),e.inlineSources&&Ke.setSourceContent(st,I.text),Ge=I,ot=st)}}function Wy(I,ne){Dt=I,st=ne}function uE(I){return el(I.fileName,\".json\")}}function y7e(){let e=[];return e[1024]=[\"{\",\"}\"],e[2048]=[\"(\",\")\"],e[4096]=[\"<\",\">\"],e[8192]=[\"[\",\"]\"],e}function b7e(e){return Sae[e&15360][0]}function E7e(e){return Sae[e&15360][1]}function S7e(e,t,r,i){t(e)}function T7e(e,t,r,i){t(e,r.select(i))}function A7e(e,t,r,i){t(e,r)}function I7e(e,t){return e.length===1?S7e:typeof t==\"object\"?T7e:A7e}var Sae,D4,_H,y0,hH,hk,x7e=pt({\"src/compiler/emitter.ts\"(){\"use strict\";wo(),wo(),mS(),Sae=y7e(),D4={hasGlobalName:Ro,getReferencedExportContainer:Ro,getReferencedImportDeclaration:Ro,getReferencedDeclarationWithCollidingName:Ro,isDeclarationWithCollidingName:Ro,isValueAliasDeclaration:Ro,isReferencedAliasDeclaration:Ro,isTopLevelValueImportEqualsWithEntityName:Ro,getNodeCheckFlags:Ro,isDeclarationVisible:Ro,isLateBound:e=>!1,collectLinkedAliases:Ro,isImplementationOfOverload:Ro,isRequiredInitializedParameter:Ro,isOptionalUninitializedParameterProperty:Ro,isExpandoFunctionDeclaration:Ro,getPropertiesOfContainerFunction:Ro,createTypeOfDeclaration:Ro,createReturnTypeOfSignatureDeclaration:Ro,createTypeOfExpression:Ro,createLiteralConstValue:Ro,isSymbolAccessible:Ro,isEntityNameVisible:Ro,getConstantValue:Ro,getReferencedValueDeclaration:Ro,getReferencedValueDeclarations:Ro,getTypeReferenceSerializationKind:Ro,isOptionalParameter:Ro,moduleExportsSomeValue:Ro,isArgumentsLocalBinding:Ro,getExternalModuleFileFromDeclaration:Ro,getTypeReferenceDirectivesForEntityName:Ro,getTypeReferenceDirectivesForSymbol:Ro,isLiteralConstDeclaration:Ro,getJsxFactoryEntity:Ro,getJsxFragmentFactoryEntity:Ro,getAllAccessorDeclarations:Ro,getSymbolOfExternalModuleSpecifier:Ro,isBindingCapturedByNode:Ro,getDeclarationStatementsForSourceFile:Ro,isImportRequiredByAugmentation:Ro,tryFindAmbientModule:Ro},_H=Kd(()=>Vb({})),y0=Kd(()=>Vb({removeComments:!0})),hH=Kd(()=>Vb({removeComments:!0,neverAsciiEscape:!0})),hk=Kd(()=>Vb({removeComments:!0,omitTrailingSemicolon:!0}))}});function C4(e,t,r){if(!e.getDirectories||!e.readDirectory)return;let i=new Map,o=od(r);return{useCaseSensitiveFileNames:r,fileExists:S,readFile:(W,$)=>e.readFile(W,$),directoryExists:e.directoryExists&&A,getDirectories:R,readDirectory:L,createDirectory:e.createDirectory&&C,writeFile:e.writeFile&&E,addOrDeleteFileOrDirectory:U,addOrDeleteFile:K,clearCache:oe,realpath:e.realpath&&G};function s(W){return ks(W,t,o)}function l(W){return i.get(_c(W))}function d(W){let $=l(Ur(W));return $&&($.sortedAndCanonicalizedFiles||($.sortedAndCanonicalizedFiles=$.files.map(o).sort(),$.sortedAndCanonicalizedDirectories=$.directories.map(o).sort()),$)}function p(W){return Ll(Yo(W))}function h(W,$){var de;if(!e.realpath||_c(s(e.realpath(W)))===$){let fe={files:nn(e.readDirectory(W,void 0,void 0,[\"*.*\"]),p)||[],directories:e.getDirectories(W)||[]};return i.set(_c($),fe),fe}if((de=e.directoryExists)!=null&&de.call(e,W))return i.set($,!1),!1}function m(W,$){$=_c($);let de=l($);if(de)return de;try{return h(W,$)}catch{x.assert(!i.has(_c($)));return}}function v(W,$){return Vg(W,$,Ps,gd)>=0}function E(W,$,de){let fe=s(W),q=d(fe);return q&&F(q,p(W),!0),e.writeFile(W,$,de)}function S(W){let $=s(W),de=d($);return de&&v(de.sortedAndCanonicalizedFiles,o(p(W)))||e.fileExists(W)}function A(W){let $=s(W);return i.has(_c($))||e.directoryExists(W)}function C(W){let $=s(W),de=d($);if(de){let fe=p(W),q=o(fe),H=de.sortedAndCanonicalizedDirectories;Fv(H,q,gd)&&de.directories.push(fe)}e.createDirectory(W)}function R(W){let $=s(W),de=m(W,$);return de?de.directories.slice():e.getDirectories(W)}function L(W,$,de,fe,q){let H=s(W),ee=m(W,H),le;if(ee!==void 0)return DV(W,$,de,fe,r,t,q,Ee,G);return e.readDirectory(W,$,de,fe,q);function Ee(Z){let pe=s(Z);if(pe===H)return ee||ce(Z,pe);let Ae=m(Z,pe);return Ae!==void 0?Ae||ce(Z,pe):NF}function ce(Z,pe){if(le&&pe===H)return le;let Ae={files:nn(e.readDirectory(Z,void 0,void 0,[\"*.*\"]),p)||je,directories:e.getDirectories(Z)||je};return pe===H&&(le=Ae),Ae}}function G(W){return e.realpath?e.realpath(W):W}function U(W,$){if(l($)!==void 0){oe();return}let fe=d($);if(!fe)return;if(!e.directoryExists){oe();return}let q=p(W),H={fileExists:e.fileExists(W),directoryExists:e.directoryExists(W)};return H.directoryExists||v(fe.sortedAndCanonicalizedDirectories,o(q))?oe():F(fe,q,H.fileExists),H}function K(W,$,de){if(de===1)return;let fe=d($);fe&&F(fe,p(W),de===0)}function F(W,$,de){let fe=W.sortedAndCanonicalizedFiles,q=o($);if(de)Fv(fe,q,gd)&&W.files.push($);else{let H=Vg(fe,q,Ps,gd);if(H>=0){fe.splice(H,1);let ee=W.files.findIndex(le=>o(le)===q);W.files.splice(ee,1)}}}function oe(){i.clear()}}function N4(e,t,r,i,o){var s;let l=PE(((s=t?.configFile)==null?void 0:s.extendedSourceFiles)||je,o);r.forEach((d,p)=>{l.has(p)||(d.projects.delete(e),d.close())}),l.forEach((d,p)=>{let h=r.get(p);h?h.projects.add(e):r.set(p,{projects:new Set([e]),watcher:i(d,p),close:()=>{let m=r.get(p);!m||m.projects.size!==0||(m.watcher.close(),r.delete(p))}})})}function gH(e,t){t.forEach(r=>{r.projects.delete(e)&&r.close()})}function P4(e,t,r){e.delete(t)&&e.forEach(({extendedResult:i},o)=>{var s;(s=i.extendedSourceFiles)!=null&&s.some(l=>r(l)===t)&&P4(e,o,r)})}function vH(e,t,r){FC(t,e.getMissingFilePaths(),{createNewValue:r,onDeleteValue:vm})}function gk(e,t,r){t?FC(e,new Map(Object.entries(t)),{createNewValue:i,onDeleteValue:Qp,onExistingValue:o}):Au(e,Qp);function i(s,l){return{watcher:r(s,l),flags:l}}function o(s,l,d){s.flags!==l&&(s.watcher.close(),e.set(d,i(d,l)))}}function vk({watchedDirPath:e,fileOrDirectory:t,fileOrDirectoryPath:r,configFileName:i,options:o,program:s,extraFileExtensions:l,currentDirectory:d,useCaseSensitiveFileNames:p,writeLog:h,toPath:m,getScriptKind:v}){let E=j4(r);if(!E)return h(`Project: ${i} Detected ignored path: ${t}`),!0;if(r=E,r===e)return!1;if(TA(r)&&!(rre(t,o,l)||L()))return h(`Project: ${i} Detected file add/remove of non supported extension: ${t}`),!0;if(zie(t,o.configFile.configFileSpecs,Qi(Ur(i),d),p,d))return h(`Project: ${i} Detected excluded file: ${t}`),!0;if(!s||ss(o)||o.outDir)return!1;if(Yc(r)){if(o.declarationDir)return!1}else if(!$l(r,Px))return!1;let S=Yd(r),A=oo(s)?void 0:R7e(s)?s.getProgramOrUndefined():s,C=!A&&!oo(s)?s:void 0;if(R(S+\".ts\")||R(S+\".tsx\"))return h(`Project: ${i} Detected output file: ${t}`),!0;return!1;function R(G){return A?!!A.getSourceFileByPath(G):C?C.getState().fileInfos.has(G):!!Dr(s,U=>m(U)===G)}function L(){if(!v)return!1;switch(v(t)){case 3:case 4:case 7:case 5:return!0;case 1:case 2:return sy(o);case 6:return Mb(o);case 0:return!1}}}function R7e(e){return!!e.getState}function Tae(e,t){return e?e.isEmittedFile(t):!1}function yH(e,t,r,i){see(t===2?r:Ca);let o={watchFile:(C,R,L,G)=>e.watchFile(C,R,L,G),watchDirectory:(C,R,L,G)=>e.watchDirectory(C,R,(L&1)!==0,G)},s=t!==0?{watchFile:S(\"watchFile\"),watchDirectory:S(\"watchDirectory\")}:void 0,l=t===2?{watchFile:v,watchDirectory:E}:s||o,d=t===2?m:pR;return{watchFile:p(\"watchFile\"),watchDirectory:p(\"watchDirectory\")};function p(C){return(R,L,G,U,K,F)=>{var oe;return B6(R,C===\"watchFile\"?U?.excludeFiles:U?.excludeDirectories,h(),((oe=e.getCurrentDirectory)==null?void 0:oe.call(e))||\"\")?d(R,G,U,K,F):l[C].call(void 0,R,L,G,U,K,F)}}function h(){return typeof e.useCaseSensitiveFileNames==\"boolean\"?e.useCaseSensitiveFileNames:e.useCaseSensitiveFileNames()}function m(C,R,L,G,U){return r(`ExcludeWatcher:: Added:: ${A(C,R,L,G,U,i)}`),{close:()=>r(`ExcludeWatcher:: Close:: ${A(C,R,L,G,U,i)}`)}}function v(C,R,L,G,U,K){r(`FileWatcher:: Added:: ${A(C,L,G,U,K,i)}`);let F=s.watchFile(C,R,L,G,U,K);return{close:()=>{r(`FileWatcher:: Close:: ${A(C,L,G,U,K,i)}`),F.close()}}}function E(C,R,L,G,U,K){let F=`DirectoryWatcher:: Added:: ${A(C,L,G,U,K,i)}`;r(F);let oe=Is(),W=s.watchDirectory(C,R,L,G,U,K),$=Is()-oe;return r(`Elapsed:: ${$}ms ${F}`),{close:()=>{let de=`DirectoryWatcher:: Close:: ${A(C,L,G,U,K,i)}`;r(de);let fe=Is();W.close();let q=Is()-fe;r(`Elapsed:: ${q}ms ${de}`)}}}function S(C){return(R,L,G,U,K,F)=>o[C].call(void 0,R,(...oe)=>{let W=`${C===\"watchFile\"?\"FileWatcher\":\"DirectoryWatcher\"}:: Triggered with ${oe[0]} ${oe[1]!==void 0?oe[1]:\"\"}:: ${A(R,G,U,K,F,i)}`;r(W);let $=Is();L.call(void 0,...oe);let de=Is()-$;r(`Elapsed:: ${de}ms ${W}`)},G,U,K,F)}function A(C,R,L,G,U,K){return`WatchInfo: ${C} ${R} ${JSON.stringify(L)} ${K?K(G,U):U===void 0?G:`${G} ${U}`}`}}function yk(e){let t=e?.fallbackPolling;return{watchFile:t!==void 0?t:1}}function Qp(e){e.watcher.close()}var bH,EH,D7e=pt({\"src/compiler/watchUtilities.ts\"(){\"use strict\";wo(),bH=(e=>(e[e.Update=0]=\"Update\",e[e.RootNamesAndUpdate=1]=\"RootNamesAndUpdate\",e[e.Full=2]=\"Full\",e))(bH||{}),EH=(e=>(e[e.None=0]=\"None\",e[e.TriggerOnly=1]=\"TriggerOnly\",e[e.Verbose=2]=\"Verbose\",e))(EH||{})}});function Aae(e,t,r=\"tsconfig.json\"){return Vf(e,i=>{let o=wr(i,r);return t(o)?o:void 0})}function M4(e,t){let r=Ur(t),i=Ou(e)?e:wr(r,e);return Yo(i)}function Iae(e,t,r){let i;return an(e,s=>{let l=IM(s,t);if(l.pop(),!i){i=l;return}let d=Math.min(i.length,l.length);for(let p=0;p<d;p++)if(r(i[p])!==r(l[p])){if(p===0)return!0;i.length=p;break}l.length<i.length&&(i.length=l.length)})?\"\":i?Vv(i):t}function xae(e,t){return AH(e,t)}function SH(e,t,r){return(i,o,s)=>{let l;try{Ls(\"beforeIORead\"),l=e(i,t().charset),Ls(\"afterIORead\"),Sp(\"I/O Read\",\"beforeIORead\",\"afterIORead\")}catch(d){s&&s(d.message),l=\"\"}return l!==void 0?B2(i,l,o,r):void 0}}function TH(e,t,r){return(i,o,s,l)=>{try{Ls(\"beforeIOWrite\"),oV(i,o,s,e,t,r),Ls(\"afterIOWrite\"),Sp(\"I/O Write\",\"beforeIOWrite\",\"afterIOWrite\")}catch(d){l&&l(d.message)}}}function AH(e,t,r=Hc){let i=new Map,o=od(r.useCaseSensitiveFileNames);function s(m){return i.has(m)?!0:(h.directoryExists||r.directoryExists)(m)?(i.set(m,!0),!0):!1}function l(){return Ur(Yo(r.getExecutingFilePath()))}let d=rv(e),p=r.realpath&&(m=>r.realpath(m)),h={getSourceFile:SH(m=>h.readFile(m),()=>e,t),getDefaultLibLocation:l,getDefaultLibFileName:m=>wr(l(),OM(m)),writeFile:TH((m,v,E)=>r.writeFile(m,v,E),m=>(h.createDirectory||r.createDirectory)(m),m=>s(m)),getCurrentDirectory:Kd(()=>r.getCurrentDirectory()),useCaseSensitiveFileNames:()=>r.useCaseSensitiveFileNames,getCanonicalFileName:o,getNewLine:()=>d,fileExists:m=>r.fileExists(m),readFile:m=>r.readFile(m),trace:m=>r.write(m+d),directoryExists:m=>r.directoryExists(m),getEnvironmentVariable:m=>r.getEnvironmentVariable?r.getEnvironmentVariable(m):\"\",getDirectories:m=>r.getDirectories(m),realpath:p,readDirectory:(m,v,E,S,A)=>r.readDirectory(m,v,E,S,A),createDirectory:m=>r.createDirectory(m),createHash:Wo(r,r.createHash)};return h}function bk(e,t,r){let i=e.readFile,o=e.fileExists,s=e.directoryExists,l=e.createDirectory,d=e.writeFile,p=new Map,h=new Map,m=new Map,v=new Map,E=C=>{let R=t(C),L=p.get(R);return L!==void 0?L!==!1?L:void 0:S(R,C)},S=(C,R)=>{let L=i.call(e,R);return p.set(C,L!==void 0?L:!1),L};e.readFile=C=>{let R=t(C),L=p.get(R);return L!==void 0?L!==!1?L:void 0:!el(C,\".json\")&&!yae(C)?i.call(e,C):S(R,C)};let A=r?(C,R,L,G)=>{let U=t(C),K=typeof R==\"object\"?R.impliedNodeFormat:void 0,F=v.get(K),oe=F?.get(U);if(oe)return oe;let W=r(C,R,L,G);return W&&(Yc(C)||el(C,\".json\"))&&v.set(K,(F||new Map).set(U,W)),W}:void 0;return e.fileExists=C=>{let R=t(C),L=h.get(R);if(L!==void 0)return L;let G=o.call(e,C);return h.set(R,!!G),G},d&&(e.writeFile=(C,R,...L)=>{let G=t(C);h.delete(G);let U=p.get(G);U!==void 0&&U!==R?(p.delete(G),v.forEach(K=>K.delete(G))):A&&v.forEach(K=>{let F=K.get(G);F&&F.text!==R&&K.delete(G)}),d.call(e,C,R,...L)}),s&&(e.directoryExists=C=>{let R=t(C),L=m.get(R);if(L!==void 0)return L;let G=s.call(e,C);return m.set(R,!!G),G},l&&(e.createDirectory=C=>{let R=t(C);m.delete(R),l.call(e,C)})),{originalReadFile:i,originalFileExists:o,originalDirectoryExists:s,originalCreateDirectory:l,originalWriteFile:d,getSourceFileWithCache:A,readFileWithCache:E}}function $Se(e,t,r){let i;return i=Pr(i,e.getConfigFileParsingDiagnostics()),i=Pr(i,e.getOptionsDiagnostics(r)),i=Pr(i,e.getSyntacticDiagnostics(t,r)),i=Pr(i,e.getGlobalDiagnostics(r)),i=Pr(i,e.getSemanticDiagnostics(t,r)),Xp(e.getCompilerOptions())&&(i=Pr(i,e.getDeclarationDiagnostics(t,r))),z1(i||je)}function QSe(e,t){let r=\"\";for(let i of e)r+=IH(i,t);return r}function IH(e,t){let r=`${_S(e)} TS${e.code}: ${a_(e.messageText,t.getNewLine())}${t.getNewLine()}`;if(e.file){let{line:i,character:o}=$a(e.file,e.start),s=e.file.fileName;return`${KD(s,t.getCurrentDirectory(),d=>t.getCanonicalFileName(d))}(${i+1},${o+1}): `+r}return r}function ZSe(e){switch(e){case 1:return\"\\x1B[91m\";case 0:return\"\\x1B[93m\";case 2:return x.fail(\"Should never get an Info diagnostic on the command line.\");case 3:return\"\\x1B[94m\"}}function b0(e,t){return t+e+Nae}function eTe(e,t,r,i,o,s){let{line:l,character:d}=$a(e,t),{line:p,character:h}=$a(e,t+r),m=$a(e,e.text.length).line,v=p-l>=4,E=(p+1+\"\").length;v&&(E=Math.max(Pae.length,E));let S=\"\";for(let A=l;A<=p;A++){S+=s.getNewLine(),v&&l+1<A&&A<p-1&&(S+=i+b0(Pae.padStart(E),BH)+GH+s.getNewLine(),A=p-1);let C=NM(e,A,0),R=A<m?NM(e,A+1,0):e.text.length,L=e.text.slice(C,R);if(L=L.trimEnd(),L=L.replace(/\\t/g,\" \"),S+=i+b0((A+1+\"\").padStart(E),BH)+GH,S+=L+s.getNewLine(),S+=i+b0(\"\".padStart(E),BH)+GH,S+=o,A===l){let G=A===p?h:void 0;S+=L.slice(0,d).replace(/\\S/g,\" \"),S+=L.slice(d,G).replace(/./g,\"~\")}else A===p?S+=L.slice(0,h).replace(/./g,\"~\"):S+=L.replace(/./g,\"~\");S+=Nae}return S}function xH(e,t,r,i=b0){let{line:o,character:s}=$a(e,t),l=r?KD(e.fileName,r.getCurrentDirectory(),p=>r.getCanonicalFileName(p)):e.fileName,d=\"\";return d+=i(l,\"\\x1B[96m\"),d+=\":\",d+=i(`${o+1}`,\"\\x1B[93m\"),d+=\":\",d+=i(`${s+1}`,\"\\x1B[93m\"),d}function Rae(e,t){let r=\"\";for(let i of e){if(i.file){let{file:o,start:s}=i;r+=xH(o,s,t),r+=\" - \"}if(r+=b0(_S(i),ZSe(i.category)),r+=b0(` TS${i.code}: `,\"\\x1B[90m\"),r+=a_(i.messageText,t.getNewLine()),i.file&&i.code!==f.File_appears_to_be_binary.code&&(r+=t.getNewLine(),r+=eTe(i.file,i.start,i.length,\"\",ZSe(i.category),t)),i.relatedInformation){r+=t.getNewLine();for(let{file:o,start:s,length:l,messageText:d}of i.relatedInformation)o&&(r+=t.getNewLine(),r+=rTe+xH(o,s,t),r+=eTe(o,s,l,Mae,\"\\x1B[96m\",t)),r+=t.getNewLine(),r+=Mae+a_(d,t.getNewLine())}r+=t.getNewLine()}return r}function a_(e,t,r=0){if(fo(e))return e;if(e===void 0)return\"\";let i=\"\";if(r){i+=t;for(let o=0;o<r;o++)i+=\"  \"}if(i+=e.messageText,r++,e.next)for(let o of e.next)i+=a_(o,t,r);return i}function Ek(e,t){return(fo(e)?t:e.resolutionMode)||t}function Dae(e,t,r){return CH(e,Ak(e,t),r)}function RH(e){var t;return xl(e)?e.isTypeOnly:!!((t=e.importClause)!=null&&t.isTypeOnly)}function DH(e,t,r){return CH(e,t,r)}function CH(e,t,r){var i;if((cc(t.parent)||xl(t.parent))&&RH(t.parent)){let l=oR(t.parent.attributes);if(l)return l}if(t.parent.parent&&Dh(t.parent.parent)){let s=oR(t.parent.parent.attributes);if(s)return s}if(r&&ld(r)===200)return t.parent.parent&&Nc(t.parent.parent)||Xd(t.parent,!1)?1:99;if(e.impliedNodeFormat===void 0)return;if(e.impliedNodeFormat!==99)return lp(Zg(t.parent))?99:1;let o=(i=Zg(t.parent))==null?void 0:i.parent;return o&&Nc(o)?1:99}function oR(e,t){if(!e)return;if(yn(e.elements)!==1){t?.(e,e.token===118?f.Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:f.Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require);return}let r=e.elements[0];if(Ga(r.name)){if(r.name.text!==\"resolution-mode\"){t?.(r.name,e.token===118?f.resolution_mode_is_the_only_valid_key_for_type_import_attributes:f.resolution_mode_is_the_only_valid_key_for_type_import_assertions);return}if(Ga(r.value)){if(r.value.text!==\"import\"&&r.value.text!==\"require\"){t?.(r.value,f.resolution_mode_should_be_either_require_or_import);return}return r.value.text===\"import\"?99:1}}}function Cae(e){return e.text}function NH(e,t,r,i,o){return{nameAndMode:z4,resolve:(s,l)=>Zx(s,e,r,i,o,t,l)}}function PH(e){return fo(e)?e:C_(e.fileName)}function L4(e,t,r,i,o){return{nameAndMode:iTe,resolve:(s,l)=>eoe(s,e,r,i,t,o,l)}}function Sk(e,t,r,i,o,s,l,d){if(e.length===0)return je;let p=[],h=new Map,m=d(t,r,i,s,l);for(let v of e){let E=m.nameAndMode.getName(v),S=m.nameAndMode.getMode(v,o,r?.commandLine.options||i),A=DN(E,S),C=h.get(A);C||h.set(A,C=m.resolve(E,S)),p.push(C)}return p}function MH(e,t){return k4(void 0,e,(r,i)=>r&&t(r,i))}function k4(e,t,r,i){let o;return s(e,t,void 0);function s(l,d,p){if(i){let h=i(l,p);if(h)return h}return an(d,(h,m)=>{if(h&&o?.has(h.sourceFile.path))return;let v=r(h,p,m);return v||!h?v:((o||(o=new Set)).add(h.sourceFile.path),s(h.commandLine.projectReferences,h.references,h))})}}function O4(e,t,r){let i=e.configFilePath?Ur(e.configFilePath):t;return wr(i,`__lib_node_modules_lookup_${r}__.ts`)}function LH(e){let t=e.split(\".\"),r=t[1],i=2;for(;t[i]&&t[i]!==\"d\";)r+=(i===2?\"/\":\"-\")+t[i],i++;return\"@typescript/lib-\"+r}function tTe(e){let t=C_(e.fileName),r=G6.get(t);return{libName:t,libFileName:r}}function jb(e){switch(e?.kind){case 3:case 4:case 5:case 7:return!0;default:return!1}}function aR(e){return e.pos!==void 0}function jN(e,t){var r,i,o,s;let l=x.checkDefined(e.getSourceFileByPath(t.file)),{kind:d,index:p}=t,h,m,v,E;switch(d){case 3:let S=Ak(l,p);if(v=(i=(r=e.getResolvedModule(l,S.text,e.getModeForUsageLocation(l,S)))==null?void 0:r.resolvedModule)==null?void 0:i.packageId,S.pos===-1)return{file:l,packageId:v,text:S.text};h=pa(l.text,S.pos),m=S.end;break;case 4:({pos:h,end:m}=l.referencedFiles[p]);break;case 5:({pos:h,end:m,resolutionMode:E}=l.typeReferenceDirectives[p]),v=(s=(o=e.getResolvedTypeReferenceDirective(l,C_(l.typeReferenceDirectives[p].fileName),E||l.impliedNodeFormat))==null?void 0:o.resolvedTypeReferenceDirective)==null?void 0:s.packageId;break;case 7:({pos:h,end:m}=l.libReferenceDirectives[p]);break;default:return x.assertNever(d)}return{file:l,pos:h,end:m,packageId:v}}function kH(e,t,r,i,o,s,l,d,p,h){if(!e||d?.()||!mm(e.getRootFileNames(),t))return!1;let m;if(!mm(e.getProjectReferences(),h,C)||e.getSourceFiles().some(S))return!1;let v=e.getMissingFilePaths();if(v&&hc(v,o))return!1;let E=e.getCompilerOptions();if(!vV(E,r)||e.resolvedLibReferences&&hc(e.resolvedLibReferences,(L,G)=>l(G)))return!1;if(E.configFile&&r.configFile)return E.configFile.text===r.configFile.text;return!0;function S(L){return!A(L)||s(L.path)}function A(L){return L.version===i(L.resolvedPath,L.fileName)}function C(L,G,U){return s9(L,G)&&R(e.getResolvedProjectReferences()[U],L)}function R(L,G){if(L){if(To(m,L))return!0;let K=sR(G),F=p(K);return!F||L.commandLine.options.configFile!==F.options.configFile||!mm(L.commandLine.fileNames,F.fileNames)?!1:((m||(m=[])).push(L),!an(L.references,(oe,W)=>!R(oe,L.commandLine.projectReferences[W])))}let U=sR(G);return!p(U)}}function iT(e){return e.options.configFile?[...e.options.configFile.parseDiagnostics,...e.errors]:e.errors}function Tk(e,t,r,i){let o=OH(e,t,r,i);return typeof o==\"object\"?o.impliedNodeFormat:o}function OH(e,t,r,i){switch(zd(i)){case 3:case 99:return $l(e,[\".d.mts\",\".mts\",\".mjs\"])?99:$l(e,[\".d.cts\",\".cts\",\".cjs\"])?1:$l(e,[\".d.ts\",\".ts\",\".tsx\",\".js\",\".jsx\"])?o():void 0;default:return}function o(){let s=nk(t,r,i),l=[];s.failedLookupLocations=l,s.affectingLocations=l;let d=rk(e,s);return{impliedNodeFormat:d?.contents.packageJsonContent.type===\"module\"?99:1,packageJsonLocations:l,packageJsonScope:d}}}function C7e(e,t){return e?K1(e.getCompilerOptions(),t,j6):!1}function N7e(e,t,r,i,o,s){return{rootNames:e,options:t,host:r,oldProgram:i,configFileParsingDiagnostics:o,typeScriptVersion:s}}function w4(e,t,r,i,o){var s,l,d,p,h,m,v,E,S,A,C,R,L,G,U,K;let F=oo(e)?N7e(e,t,r,i,o):e,{rootNames:oe,options:W,configFileParsingDiagnostics:$,projectReferences:de,typeScriptVersion:fe}=F,{oldProgram:q}=F,H=Kd(()=>em(\"ignoreDeprecations\",f.Invalid_value_for_ignoreDeprecations)),ee,le,Ee,ce,Z,pe,Ae,Oe=new Map,_e=Ep(),be={},Te={},De=bI(),ft,he,Le,Ke,Dt,st,Ge,ot,Vt,jt,gn=typeof W.maxNodeModuleJsDepth==\"number\"?W.maxNodeModuleJsDepth:0,On=0,en=new Map,zt=new Map;(s=qn)==null||s.push(qn.Phase.Program,\"createProgram\",{configFilePath:W.configFilePath,rootDir:W.rootDir},!0),Ls(\"beforeProgram\");let Wt=F.host||xae(W),ei=F4(Wt),Ki=W.noLib,gi=Kd(()=>Wt.getDefaultLibFileName(W)),io=Wt.getDefaultLibLocation?Wt.getDefaultLibLocation():Ur(gi()),Gn=hx(),Nr=Wt.getCurrentDirectory(),cr=GC(W),Jt=YL(W,cr),Ue=new Map,Rt,mn,qr,ni=Wt.hasInvalidatedResolutions||_m;Wt.resolveModuleNameLiterals?(qr=Wt.resolveModuleNameLiterals.bind(Wt),mn=(l=Wt.getModuleResolutionCache)==null?void 0:l.call(Wt)):Wt.resolveModuleNames?(qr=(Ne,Ve,Tt,Pt,rn,wn)=>Wt.resolveModuleNames(Ne.map(Cae),Ve,wn?.map(Cae),Tt,Pt,rn).map(tn=>tn?tn.extension!==void 0?{resolvedModule:tn}:{resolvedModule:{...tn,extension:jC(tn.resolvedFileName)}}:Lae),mn=(d=Wt.getModuleResolutionCache)==null?void 0:d.call(Wt)):(mn=Qx(Nr,Y,W),qr=(Ne,Ve,Tt,Pt,rn)=>Sk(Ne,Ve,Tt,Pt,rn,Wt,mn,NH));let ki;if(Wt.resolveTypeReferenceDirectiveReferences)ki=Wt.resolveTypeReferenceDirectiveReferences.bind(Wt);else if(Wt.resolveTypeReferenceDirectives)ki=(Ne,Ve,Tt,Pt,rn)=>Wt.resolveTypeReferenceDirectives(Ne.map(PH),Ve,Tt,Pt,rn?.impliedNodeFormat).map(wn=>({resolvedTypeReferenceDirective:wn}));else{let Ne=Q6(Nr,Y,void 0,mn?.getPackageJsonInfoCache(),mn?.optionsToRedirectsKey);ki=(Ve,Tt,Pt,rn,wn)=>Sk(Ve,Tt,Pt,rn,wn,Wt,Ne,L4)}let so=Wt.hasInvalidatedLibResolutions||_m,Jo;if(Wt.resolveLibrary)Jo=Wt.resolveLibrary.bind(Wt);else{let Ne=Qx(Nr,Y,W,mn?.getPackageJsonInfoCache());Jo=(Ve,Tt,Pt)=>Z6(Ve,Tt,Pt,Wt,Ne)}let Ea=new Map,ln=new Map,Tn=Ep(),ke=!1,nt=new Map,tt=new Map,yt=Wt.useCaseSensitiveFileNames()?new Map:void 0,re,Ce,et,z,Je=!!((p=Wt.useSourceOfProjectReferenceRedirect)!=null&&p.call(Wt))&&!W.disableSourceOfProjectReferenceRedirect,{onProgramCreateComplete:_t,fileExists:ze,directoryExists:it}=P7e({compilerHost:Wt,getSymlinkCache:p_,useSourceOfProjectReferenceRedirect:Je,toPath:jn,getResolvedProjectReferences:_o,getSourceOfProjectReferenceRedirect:tu,forEachResolvedProjectReference:fu}),Ct=Wt.readFile.bind(Wt);(h=qn)==null||h.push(qn.Phase.Program,\"shouldProgramCreateNewSourceFiles\",{hasOldProgram:!!q});let on=C7e(q,W);(m=qn)==null||m.pop();let Qt;if((v=qn)==null||v.push(qn.Phase.Program,\"tryReuseStructureFromOldProgram\",{}),Qt=lo(),(E=qn)==null||E.pop(),Qt!==2){if(ee=[],le=[],de&&(re||(re=de.map(Nt)),oe.length&&re?.forEach((Ne,Ve)=>{if(!Ne)return;let Tt=ss(Ne.commandLine.options);if(Je){if(Tt||ld(Ne.commandLine.options)===0)for(let Pt of Ne.commandLine.fileNames)At(Pt,{kind:1,index:Ve})}else if(Tt)At(Nb(Tt,\".d.ts\"),{kind:2,index:Ve});else if(ld(Ne.commandLine.options)===0){let Pt=Kd(()=>iR(Ne.commandLine,!Wt.useCaseSensitiveFileNames()));for(let rn of Ne.commandLine.fileNames)!Yc(rn)&&!el(rn,\".json\")&&At(GN(rn,Ne.commandLine,!Wt.useCaseSensitiveFileNames(),Pt),{kind:2,index:Ve})}})),(S=qn)==null||S.push(qn.Phase.Program,\"processRootFiles\",{count:oe.length}),an(oe,(Ne,Ve)=>bs(Ne,!1,!1,{kind:0,index:Ve})),(A=qn)==null||A.pop(),he??(he=oe.length?Y6(W,Wt):je),Le=bI(),he.length){(C=qn)==null||C.push(qn.Phase.Program,\"processTypeReferences\",{count:he.length});let Ne=W.configFilePath?Ur(W.configFilePath):Nr,Ve=wr(Ne,lR),Tt=ui(he,Ve);for(let Pt=0;Pt<he.length;Pt++)Le.set(he[Pt],void 0,Tt[Pt]),fd(he[Pt],void 0,Tt[Pt],{kind:8,typeReference:he[Pt],packageId:(L=(R=Tt[Pt])==null?void 0:R.resolvedTypeReferenceDirective)==null?void 0:L.packageId});(G=qn)==null||G.pop()}if(oe.length&&!Ki){let Ne=gi();!W.lib&&Ne?bs(Ne,!0,!1,{kind:6}):an(W.lib,(Ve,Tt)=>{bs(Ku(Ve),!0,!1,{kind:6,index:Tt})})}Ee=Gg(ee,ti).concat(le),ee=void 0,le=void 0}if(q&&Wt.onReleaseOldSourceFile){let Ne=q.getSourceFiles();for(let Ve of Ne){let Tt=Us(Ve.resolvedPath);(on||!Tt||Tt.impliedNodeFormat!==Ve.impliedNodeFormat||Ve.resolvedPath===Ve.path&&Tt.resolvedPath!==Ve.path)&&Wt.onReleaseOldSourceFile(Ve,q.getCompilerOptions(),!!Us(Ve.path))}Wt.getParsedCommandLine||q.forEachResolvedProjectReference(Ve=>{u_(Ve.sourceFile.path)||Wt.onReleaseOldSourceFile(Ve.sourceFile,q.getCompilerOptions(),!1)})}q&&Wt.onReleaseParsedCommandLine&&k4(q.getProjectReferences(),q.getResolvedProjectReferences(),(Ne,Ve,Tt)=>{let Pt=Ve?.commandLine.projectReferences[Tt]||q.getProjectReferences()[Tt],rn=sR(Pt);Ce?.has(jn(rn))||Wt.onReleaseParsedCommandLine(rn,Ne,q.getCompilerOptions())}),q=void 0,Dt=void 0,Ge=void 0,Vt=void 0;let Zt={getRootFileNames:()=>oe,getSourceFile:ua,getSourceFileByPath:Us,getSourceFiles:()=>Ee,getMissingFilePaths:()=>tt,getModuleResolutionCache:()=>mn,getFilesByNameMap:()=>nt,getCompilerOptions:()=>W,getSyntacticDiagnostics:Wl,getOptionsDiagnostics:hr,getGlobalDiagnostics:Qs,getSemanticDiagnostics:il,getCachedSemanticDiagnostics:zs,getSuggestionDiagnostics:xe,getDeclarationDiagnostics:ys,getBindAndCheckDiagnostics:ho,getProgramDiagnostics:Ut,getTypeChecker:$i,getClassifiableNames:Zi,getCommonSourceDirectory:Ar,emit:Uo,getCurrentDirectory:()=>Nr,getNodeCount:()=>$i().getNodeCount(),getIdentifierCount:()=>$i().getIdentifierCount(),getSymbolCount:()=>$i().getSymbolCount(),getTypeCount:()=>$i().getTypeCount(),getInstantiationCount:()=>$i().getInstantiationCount(),getRelationCacheSizes:()=>$i().getRelationCacheSizes(),getFileProcessingDiagnostics:()=>ft,getResolvedTypeReferenceDirectives:()=>De,getAutomaticTypeDirectiveNames:()=>he,getAutomaticTypeDirectiveResolutions:()=>Le,isSourceFileFromExternalLibrary:Js,isSourceFileDefaultLibrary:Fc,getModeForUsageLocation:wp,getModeForResolutionAtIndex:hg,getSourceFileFromReference:Nf,getLibFileFromReference:pc,sourceFileToPackageName:ln,redirectTargetsMap:Tn,usesUriStyleNodeCoreModules:ke,resolvedModules:st,resolvedTypeReferenceDirectiveNames:ot,resolvedLibReferences:Ke,getResolvedModule:V,getResolvedModuleFromModuleSpecifier:Re,getResolvedTypeReferenceDirective:St,forEachResolvedModule:M,forEachResolvedTypeReferenceDirective:te,getCurrentPackagesMap:()=>jt,typesPackageExists:Pe,packageBundlesTypes:Ie,isEmittedFile:C0,getConfigFileParsingDiagnostics:bc,getProjectReferences:Va,getResolvedProjectReferences:_o,getProjectReferenceRedirect:vl,getResolvedProjectReferenceToRedirect:kp,getResolvedProjectReferenceByPath:u_,forEachResolvedProjectReference:fu,isSourceOfProjectReferenceRedirect:nf,emitBuildInfo:Dl,fileExists:ze,readFile:Ct,directoryExists:it,getSymlinkCache:p_,realpath:(U=Wt.realpath)==null?void 0:U.bind(Wt),useCaseSensitiveFileNames:()=>Wt.useCaseSensitiveFileNames(),getCanonicalFileName:Y,getFileIncludeReasons:()=>_e,structureIsReused:Qt,writeFile:ms};return _t(),ft?.forEach(Ne=>{switch(Ne.kind){case 1:return Gn.add(jr(Ne.file&&Us(Ne.file),Ne.fileProcessingReason,Ne.diagnostic,Ne.args||je));case 0:let{file:Ve,pos:Tt,end:Pt}=jN(Zt,Ne.reason);return Gn.add(Rc(Ve,x.checkDefined(Tt),x.checkDefined(Pt)-Tt,Ne.diagnostic,...Ne.args||je));case 2:return Ne.diagnostics.forEach(rn=>Gn.add(rn));default:x.assertNever(Ne)}}),k(),Ls(\"afterProgram\"),Sp(\"Program\",\"beforeProgram\",\"afterProgram\"),(K=qn)==null||K.pop(),Zt;function V(Ne,Ve,Tt){var Pt;return(Pt=st?.get(Ne.path))==null?void 0:Pt.get(Ve,Tt)}function Re(Ne){let Ve=Nn(Ne);return x.assertIsDefined(Ve,\"`moduleSpecifier` must have a `SourceFile` ancestor. Use `program.getResolvedModule` instead to provide the containing file and resolution mode.\"),V(Ve,Ne.text,wp(Ve,Ne))}function St(Ne,Ve,Tt){var Pt;return(Pt=ot?.get(Ne.path))==null?void 0:Pt.get(Ve,Tt)}function M(Ne,Ve){j(st,Ne,Ve)}function te(Ne,Ve){j(ot,Ne,Ve)}function j(Ne,Ve,Tt){var Pt;Tt?(Pt=Ne?.get(Tt.path))==null||Pt.forEach((rn,wn,tn)=>Ve(rn,wn,tn,Tt.path)):Ne?.forEach((rn,wn)=>rn.forEach((tn,Wn,Qr)=>Ve(tn,Wn,Qr,wn)))}function se(){return jt||(jt=new Map,M(({resolvedModule:Ne})=>{Ne?.packageId&&jt.set(Ne.packageId.name,Ne.extension===\".d.ts\"||!!jt.get(Ne.packageId.name))}),jt)}function Pe(Ne){return se().has(n4(Ne))}function Ie(Ne){return!!se().get(Ne)}function gt(Ne){var Ve;(Ve=Ne.resolutionDiagnostics)!=null&&Ve.length&&(ft??(ft=[])).push({kind:2,diagnostics:Ne.resolutionDiagnostics})}function bt(Ne,Ve,Tt,Pt){if(Wt.resolveModuleNameLiterals||!Wt.resolveModuleNames)return gt(Tt);if(!mn||Ic(Ve))return;let rn=Qi(Ne.originalFileName,Nr),wn=Ur(rn),tn=An(Ne),Wn=mn.getFromNonRelativeNameCache(Ve,Pt,wn,tn);Wn&&gt(Wn)}function Ot(Ne,Ve,Tt){var Pt,rn;if(!Ne.length)return je;let wn=Qi(Ve.originalFileName,Nr),tn=An(Ve);(Pt=qn)==null||Pt.push(qn.Phase.Program,\"resolveModuleNamesWorker\",{containingFileName:wn}),Ls(\"beforeResolveModule\");let Wn=qr(Ne,wn,tn,W,Ve,Tt);return Ls(\"afterResolveModule\"),Sp(\"ResolveModule\",\"beforeResolveModule\",\"afterResolveModule\"),(rn=qn)==null||rn.pop(),Wn}function dn(Ne,Ve,Tt){var Pt,rn;if(!Ne.length)return[];let wn=fo(Ve)?void 0:Ve,tn=fo(Ve)?Ve:Qi(Ve.originalFileName,Nr),Wn=wn&&An(wn);(Pt=qn)==null||Pt.push(qn.Phase.Program,\"resolveTypeReferenceDirectiveNamesWorker\",{containingFileName:tn}),Ls(\"beforeResolveTypeReference\");let Qr=ki(Ne,tn,Wn,W,wn,Tt);return Ls(\"afterResolveTypeReference\"),Sp(\"ResolveTypeReference\",\"beforeResolveTypeReference\",\"afterResolveTypeReference\"),(rn=qn)==null||rn.pop(),Qr}function An(Ne){let Ve=kp(Ne.originalFileName);if(Ve||!Yc(Ne.originalFileName))return Ve;let Tt=Cn(Ne.path);if(Tt)return Tt;if(!Wt.realpath||!W.preserveSymlinks||!Ne.originalFileName.includes(q_))return;let Pt=jn(Wt.realpath(Ne.originalFileName));return Pt===Ne.path?void 0:Cn(Pt)}function Cn(Ne){let Ve=tu(Ne);if(fo(Ve))return kp(Ve);if(Ve)return fu(Tt=>{let Pt=ss(Tt.commandLine.options);if(Pt)return jn(Pt)===Ne?Tt:void 0})}function ti(Ne,Ve){return Ms(di(Ne),di(Ve))}function di(Ne){if(Bf(io,Ne.fileName,!1)){let Ve=Ll(Ne.fileName);if(Ve===\"lib.d.ts\"||Ve===\"lib.es6.d.ts\")return 0;let Tt=C1(jD(Ve,\"lib.\"),\".d.ts\"),Pt=K2.indexOf(Tt);if(Pt!==-1)return Pt+1}return K2.length+2}function jn(Ne){return ks(Ne,Nr,Y)}function Ar(){if(Z===void 0){let Ne=Cr(Ee,Ve=>LS(Ve,Zt));Z=VN(W,()=>Fi(Ne,Ve=>Ve.isDeclarationFile?void 0:Ve.fileName),Nr,Y,Ve=>xt(Ne,Ve))}return Z}function Zi(){var Ne;if(!Ae){$i(),Ae=new Set;for(let Ve of Ee)(Ne=Ve.classifiableNames)==null||Ne.forEach(Tt=>Ae.add(Tt))}return Ae}function _i(Ne,Ve){if(Qt===0&&!Ve.ambientModuleNames.length)return Ot(Ne,Ve,void 0);let Tt,Pt,rn,wn=Lae,tn=q&&q.getSourceFile(Ve.fileName);for(let Gr=0;Gr<Ne.length;Gr++){let Qn=Ne[Gr];if(Ve===tn&&!ni(Ve.path)){let xa=q?.getResolvedModule(Ve,Qn.text,wp(Ve,Qn));if(xa?.resolvedModule){cg(W,Wt)&&to(Wt,xa.resolvedModule.packageId?f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2,Qn.text,Qi(Ve.originalFileName,Nr),xa.resolvedModule.resolvedFileName,xa.resolvedModule.packageId&&Qv(xa.resolvedModule.packageId)),(Pt??(Pt=new Array(Ne.length)))[Gr]=xa,(rn??(rn=[])).push(Qn);continue}}let Mo=!1;To(Ve.ambientModuleNames,Qn.text)?(Mo=!0,cg(W,Wt)&&to(Wt,f.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1,Qn.text,Qi(Ve.originalFileName,Nr))):Mo=Kn(Qn),Mo?(Pt||(Pt=new Array(Ne.length)))[Gr]=wn:(Tt??(Tt=[])).push(Qn)}let Wn=Tt&&Tt.length?Ot(Tt,Ve,rn):je;if(!Pt)return x.assert(Wn.length===Ne.length),Wn;let Qr=0;for(let Gr=0;Gr<Pt.length;Gr++)Pt[Gr]||(Pt[Gr]=Wn[Qr],Qr++);return x.assert(Qr===Wn.length),Pt;function Kn(Gr){var Qn;let Mo=(Qn=q?.getResolvedModule(Ve,Gr.text,wp(Ve,Gr)))==null?void 0:Qn.resolvedModule,xa=Mo&&q.getSourceFile(Mo.resolvedFileName);if(Mo&&xa)return!1;let xd=Oe.get(Gr.text);return xd?(cg(W,Wt)&&to(Wt,f.Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified,Gr.text,xd),!0):!1}}function ui(Ne,Ve){var Tt;if(Qt===0)return dn(Ne,Ve,void 0);let Pt,rn,wn,tn=fo(Ve)?void 0:Ve,Wn=fo(Ve)?void 0:q&&q.getSourceFile(Ve.fileName),Qr=fo(Ve)?!ni(jn(Ve)):Ve===Wn&&!ni(Ve.path);for(let Qn=0;Qn<Ne.length;Qn++){let Mo=Ne[Qn];if(Qr){let xa=PH(Mo),xd=Ek(Mo,tn?.impliedNodeFormat),Vc=fo(Ve)?(Tt=q?.getAutomaticTypeDirectiveResolutions())==null?void 0:Tt.get(xa,xd):q?.getResolvedTypeReferenceDirective(Ve,xa,xd);if(Vc?.resolvedTypeReferenceDirective){cg(W,Wt)&&to(Wt,Vc.resolvedTypeReferenceDirective.packageId?f.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:f.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2,xa,fo(Ve)?Ve:Qi(Ve.originalFileName,Nr),Vc.resolvedTypeReferenceDirective.resolvedFileName,Vc.resolvedTypeReferenceDirective.packageId&&Qv(Vc.resolvedTypeReferenceDirective.packageId)),(rn??(rn=new Array(Ne.length)))[Qn]=Vc,(wn??(wn=[])).push(Mo);continue}}(Pt??(Pt=[])).push(Mo)}if(!Pt)return rn||je;let Kn=dn(Pt,Ve,wn);if(!rn)return x.assert(Kn.length===Ne.length),Kn;let Gr=0;for(let Qn=0;Qn<rn.length;Qn++)rn[Qn]||(rn[Qn]=Kn[Gr],Gr++);return x.assert(Gr===Kn.length),rn}function Mr(){return!k4(q.getProjectReferences(),q.getResolvedProjectReferences(),(Ne,Ve,Tt)=>{let Pt=(Ve?Ve.commandLine.projectReferences:de)[Tt],rn=Nt(Pt);return Ne?!rn||rn.sourceFile!==Ne.sourceFile||!mm(Ne.commandLine.fileNames,rn.commandLine.fileNames):rn!==void 0},(Ne,Ve)=>{let Tt=Ve?u_(Ve.sourceFile.path).commandLine.projectReferences:de;return!mm(Ne,Tt,s9)})}function lo(){var Ne;if(!q)return 0;let Ve=q.getCompilerOptions();if(Y8(Ve,W))return 0;let Tt=q.getRootFileNames();if(!mm(Tt,oe)||!Mr())return 0;de&&(re=de.map(Nt));let Pt=[],rn=[];if(Qt=2,hc(q.getMissingFilePaths(),Kn=>Wt.fileExists(Kn)))return 0;let wn=q.getSourceFiles(),tn;(Kn=>{Kn[Kn.Exists=0]=\"Exists\",Kn[Kn.Modified=1]=\"Modified\"})(tn||(tn={}));let Wn=new Map;for(let Kn of wn){let Gr=Oo(Kn.fileName,mn,Wt,W),Qn=Wt.getSourceFileByPath?Wt.getSourceFileByPath(Kn.fileName,Kn.resolvedPath,Gr,void 0,on):Wt.getSourceFile(Kn.fileName,Gr,void 0,on);if(!Qn)return 0;Qn.packageJsonLocations=(Ne=Gr.packageJsonLocations)!=null&&Ne.length?Gr.packageJsonLocations:void 0,Qn.packageJsonScope=Gr.packageJsonScope,x.assert(!Qn.redirectInfo,\"Host should not return a redirect source file from `getSourceFile`\");let Mo;if(Kn.redirectInfo){if(Qn!==Kn.redirectInfo.unredirected)return 0;Mo=!1,Qn=Kn}else if(q.redirectTargetsMap.has(Kn.path)){if(Qn!==Kn)return 0;Mo=!1}else Mo=Qn!==Kn;Qn.path=Kn.path,Qn.originalFileName=Kn.originalFileName,Qn.resolvedPath=Kn.resolvedPath,Qn.fileName=Kn.fileName;let xa=q.sourceFileToPackageName.get(Kn.path);if(xa!==void 0){let xd=Wn.get(xa),Vc=Mo?1:0;if(xd!==void 0&&Vc===1||xd===1)return 0;Wn.set(xa,Vc)}if(Mo)Kn.impliedNodeFormat!==Qn.impliedNodeFormat?Qt=1:mm(Kn.libReferenceDirectives,Qn.libReferenceDirectives,Jl)?Kn.hasNoDefaultLib!==Qn.hasNoDefaultLib?Qt=1:mm(Kn.referencedFiles,Qn.referencedFiles,Jl)?(Du(Qn),mm(Kn.imports,Qn.imports,Za)&&mm(Kn.moduleAugmentations,Qn.moduleAugmentations,Za)?(Kn.flags&12582912)!==(Qn.flags&12582912)?Qt=1:mm(Kn.typeReferenceDirectives,Qn.typeReferenceDirectives,Jl)||(Qt=1):Qt=1):Qt=1:Qt=1,rn.push(Qn);else if(ni(Kn.path))Qt=1,rn.push(Qn);else for(let xd of Kn.ambientModuleNames)Oe.set(xd,Kn.fileName);Pt.push(Qn)}if(Qt!==2)return Qt;for(let Kn of rn){let Gr=nTe(Kn),Qn=_i(Gr,Kn);(Ge??(Ge=new Map)).set(Kn.path,Qn),l9(Gr,Qn,gg=>q.getResolvedModule(Kn,gg.text,wp(Kn,gg)),hte)&&(Qt=1);let xa=Kn.typeReferenceDirectives,xd=ui(xa,Kn);(Vt??(Vt=new Map)).set(Kn.path,xd),l9(xa,xd,gg=>q.getResolvedTypeReferenceDirective(Kn,PH(gg),Ek(gg,Kn.impliedNodeFormat)),gte)&&(Qt=1)}if(Qt!==2)return Qt;if(mte(Ve,W)||q.resolvedLibReferences&&hc(q.resolvedLibReferences,(Kn,Gr)=>Lh(Gr).actual!==Kn.actual))return 1;if(Wt.hasChangedAutomaticTypeDirectiveNames){if(Wt.hasChangedAutomaticTypeDirectiveNames())return 1}else if(he=Y6(W,Wt),!mm(q.getAutomaticTypeDirectiveNames(),he))return 1;tt=q.getMissingFilePaths(),x.assert(Pt.length===q.getSourceFiles().length);for(let Kn of Pt)nt.set(Kn.path,Kn);return q.getFilesByNameMap().forEach((Kn,Gr)=>{if(!Kn){nt.set(Gr,Kn);return}if(Kn.path===Gr){q.isSourceFileFromExternalLibrary(Kn)&&zt.set(Kn.path,!0);return}nt.set(Gr,nt.get(Kn.path))}),Ee=Pt,_e=q.getFileIncludeReasons(),ft=q.getFileProcessingDiagnostics(),De=q.getResolvedTypeReferenceDirectives(),he=q.getAutomaticTypeDirectiveNames(),Le=q.getAutomaticTypeDirectiveResolutions(),ln=q.sourceFileToPackageName,Tn=q.redirectTargetsMap,ke=q.usesUriStyleNodeCoreModules,st=q.resolvedModules,ot=q.resolvedTypeReferenceDirectiveNames,Ke=q.resolvedLibReferences,jt=q.getCurrentPackagesMap(),2}function _n(Ne){return{getPrependNodes:vs,getCanonicalFileName:Y,getCommonSourceDirectory:Zt.getCommonSourceDirectory,getCompilerOptions:Zt.getCompilerOptions,getCurrentDirectory:()=>Nr,getSourceFile:Zt.getSourceFile,getSourceFileByPath:Zt.getSourceFileByPath,getSourceFiles:Zt.getSourceFiles,getLibFileFromReference:Zt.getLibFileFromReference,isSourceFileFromExternalLibrary:Js,getResolvedProjectReferenceToRedirect:kp,getProjectReferenceRedirect:vl,isSourceOfProjectReferenceRedirect:nf,getSymlinkCache:p_,writeFile:Ne||ms,isEmitBlocked:zc,readFile:Ve=>Wt.readFile(Ve),fileExists:Ve=>{let Tt=jn(Ve);return Us(Tt)?!0:tt.has(Tt)?!1:Wt.fileExists(Ve)},useCaseSensitiveFileNames:()=>Wt.useCaseSensitiveFileNames(),getBuildInfo:Ve=>{var Tt;return(Tt=Zt.getBuildInfo)==null?void 0:Tt.call(Zt,Ve)},getSourceFileFromReference:(Ve,Tt)=>Zt.getSourceFileFromReference(Ve,Tt),redirectTargetsMap:Tn,getFileIncludeReasons:Zt.getFileIncludeReasons,createHash:Wo(Wt,Wt.createHash)}}function ms(Ne,Ve,Tt,Pt,rn,wn){Wt.writeFile(Ne,Ve,Tt,Pt,rn,wn)}function Dl(Ne){var Ve,Tt;x.assert(!ss(W)),(Ve=qn)==null||Ve.push(qn.Phase.Emit,\"emitBuildInfo\",{},!0),Ls(\"beforeEmit\");let Pt=x4(D4,_n(Ne),void 0,dH,!1,!0);return Ls(\"afterEmit\"),Sp(\"Emit\",\"beforeEmit\",\"afterEmit\"),(Tt=qn)==null||Tt.pop(),Pt}function _o(){return re}function Va(){return de}function vs(){return WH(de,(Ne,Ve)=>{var Tt;return(Tt=re[Ve])==null?void 0:Tt.commandLine},Ne=>{let Ve=jn(Ne),Tt=Us(Ve);return Tt?Tt.text:nt.has(Ve)?void 0:Wt.readFile(Ve)},Wt)}function Js(Ne){return!!zt.get(Ne.path)}function Fc(Ne){if(!Ne.isDeclarationFile)return!1;if(Ne.hasNoDefaultLib)return!0;if(!W.noLib)return!1;let Ve=Wt.useCaseSensitiveFileNames()?pS:pb;return W.lib?ct(W.lib,Tt=>Ve(Ne.fileName,Ke.get(Tt).actual)):Ve(Ne.fileName,gi())}function $i(){return pe||(pe=Aoe(Zt))}function Uo(Ne,Ve,Tt,Pt,rn,wn){var tn,Wn;(tn=qn)==null||tn.push(qn.Phase.Emit,\"emit\",{path:Ne?.path},!0);let Qr=Bc(()=>ts(Zt,Ne,Ve,Tt,Pt,rn,wn));return(Wn=qn)==null||Wn.pop(),Qr}function zc(Ne){return Ue.has(jn(Ne))}function ts(Ne,Ve,Tt,Pt,rn,wn,tn){if(!tn){let Kn=wH(Ne,Ve,Tt,Pt);if(Kn)return Kn}let Wn=$i().getEmitResolver(ss(W)?void 0:Ve,Pt);Ls(\"beforeEmit\");let Qr=x4(Wn,_n(Tt),Ve,cH(W,wn,rn),rn,!1,tn);return Ls(\"afterEmit\"),Sp(\"Emit\",\"beforeEmit\",\"afterEmit\"),Qr}function ua(Ne){return Us(jn(Ne))}function Us(Ne){return nt.get(Ne)||void 0}function tf(Ne,Ve,Tt){return z1(Ne?Ve(Ne,Tt):ta(Zt.getSourceFiles(),Pt=>(Tt&&Tt.throwIfCancellationRequested(),Ve(Pt,Tt))))}function Wl(Ne,Ve){return tf(Ne,Pc,Ve)}function il(Ne,Ve){return tf(Ne,Ju,Ve)}function zs(Ne){var Ve;return Ne?(Ve=be.perFile)==null?void 0:Ve.get(Ne.path):be.allDiagnostics}function ho(Ne,Ve){return ls(Ne,Ve)}function Ut(Ne){var Ve;if(UC(Ne,W,Zt))return je;let Tt=Gn.getDiagnostics(Ne.fileName);return(Ve=Ne.commentDirectives)!=null&&Ve.length?X(Ne,Ne.commentDirectives,Tt).diagnostics:Tt}function ys(Ne,Ve){let Tt=Zt.getCompilerOptions();return!Ne||ss(Tt)?sr(Ne,Ve):tf(Ne,pi,Ve)}function Pc(Ne){return wd(Ne)?(Ne.additionalSyntacticDiagnostics||(Ne.additionalSyntacticDiagnostics=$t(Ne)),ro(Ne.additionalSyntacticDiagnostics,Ne.parseDiagnostics)):Ne.parseDiagnostics}function Bc(Ne){try{return Ne()}catch(Ve){throw Ve instanceof k1&&(pe=void 0),Ve}}function Ju(Ne,Ve){return ro(W4(ls(Ne,Ve),W),Ut(Ne))}function ls(Ne,Ve){return Ir(Ne,Ve,be,tc)}function tc(Ne,Ve){return Bc(()=>{if(UC(Ne,W,Zt))return je;let Tt=$i();x.assert(!!Ne.bindDiagnostics);let rn=(Ne.scriptKind===1||Ne.scriptKind===2)&&ZL(Ne,W),wn=nL(Ne,W.checkJs),Wn=!(!!Ne.checkJsDirective&&Ne.checkJsDirective.enabled===!1)&&(Ne.scriptKind===3||Ne.scriptKind===4||Ne.scriptKind===5||wn||rn||Ne.scriptKind===7),Qr=Wn?Ne.bindDiagnostics:je,Kn=Wn?Tt.getDiagnostics(Ne,Ve):je;return wn&&(Qr=Cr(Qr,Gr=>B4.has(Gr.code)),Kn=Cr(Kn,Gr=>B4.has(Gr.code))),ae(Ne,Wn&&!wn,Qr,Kn,rn?Ne.jsDocDiagnostics:void 0)})}function ae(Ne,Ve,...Tt){var Pt;let rn=Ff(Tt);if(!Ve||!((Pt=Ne.commentDirectives)!=null&&Pt.length))return rn;let{diagnostics:wn,directives:tn}=X(Ne,Ne.commentDirectives,rn);for(let Wn of tn.getUnusedExpectations())wn.push(Mte(Ne,Wn.range,f.Unused_ts_expect_error_directive));return wn}function X(Ne,Ve,Tt){let Pt=bte(Ne,Ve);return{diagnostics:Tt.filter(wn=>dt(wn,Pt)===-1),directives:Pt}}function xe(Ne,Ve){return Bc(()=>$i().getSuggestionDiagnostics(Ne,Ve))}function dt(Ne,Ve){let{file:Tt,start:Pt}=Ne;if(!Tt)return-1;let rn=Yh(Tt),wn=W1(rn,Pt).line-1;for(;wn>=0;){if(Ve.markUsed(wn))return wn;let tn=Tt.text.slice(rn[wn],rn[wn+1]).trim();if(tn!==\"\"&&!/^(\\s*)\\/\\/(.*)$/.test(tn))return-1;wn--}return-1}function $t(Ne){return Bc(()=>{let Ve=[];return Tt(Ne,Ne),EN(Ne,Tt,Pt),Ve;function Tt(Wn,Qr){switch(Qr.kind){case 169:case 172:case 174:if(Qr.questionToken===Wn)return Ve.push(tn(Wn,f.The_0_modifier_can_only_be_used_in_TypeScript_files,\"?\")),\"skip\";case 173:case 176:case 177:case 178:case 218:case 262:case 219:case 260:if(Qr.type===Wn)return Ve.push(tn(Wn,f.Type_annotations_can_only_be_used_in_TypeScript_files)),\"skip\"}switch(Wn.kind){case 273:if(Wn.isTypeOnly)return Ve.push(tn(Qr,f._0_declarations_can_only_be_used_in_TypeScript_files,\"import type\")),\"skip\";break;case 278:if(Wn.isTypeOnly)return Ve.push(tn(Wn,f._0_declarations_can_only_be_used_in_TypeScript_files,\"export type\")),\"skip\";break;case 276:case 281:if(Wn.isTypeOnly)return Ve.push(tn(Wn,f._0_declarations_can_only_be_used_in_TypeScript_files,Iu(Wn)?\"import...type\":\"export...type\")),\"skip\";break;case 271:return Ve.push(tn(Wn,f.import_can_only_be_used_in_TypeScript_files)),\"skip\";case 277:if(Wn.isExportEquals)return Ve.push(tn(Wn,f.export_can_only_be_used_in_TypeScript_files)),\"skip\";break;case 298:if(Wn.token===119)return Ve.push(tn(Wn,f.implements_clauses_can_only_be_used_in_TypeScript_files)),\"skip\";break;case 264:let Gr=qo(120);return x.assertIsDefined(Gr),Ve.push(tn(Wn,f._0_declarations_can_only_be_used_in_TypeScript_files,Gr)),\"skip\";case 267:let Qn=Wn.flags&32?qo(145):qo(144);return x.assertIsDefined(Qn),Ve.push(tn(Wn,f._0_declarations_can_only_be_used_in_TypeScript_files,Qn)),\"skip\";case 265:return Ve.push(tn(Wn,f.Type_aliases_can_only_be_used_in_TypeScript_files)),\"skip\";case 176:case 174:case 262:return Wn.body?void 0:(Ve.push(tn(Wn,f.Signature_declarations_can_only_be_used_in_TypeScript_files)),\"skip\");case 266:let Mo=x.checkDefined(qo(94));return Ve.push(tn(Wn,f._0_declarations_can_only_be_used_in_TypeScript_files,Mo)),\"skip\";case 235:return Ve.push(tn(Wn,f.Non_null_assertions_can_only_be_used_in_TypeScript_files)),\"skip\";case 234:return Ve.push(tn(Wn.type,f.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)),\"skip\";case 238:return Ve.push(tn(Wn.type,f.Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files)),\"skip\";case 216:x.fail()}}function Pt(Wn,Qr){if(jj(Qr)){let Kn=Dr(Qr.modifiers,Xc);Kn&&Ve.push(tn(Kn,f.Decorators_are_not_valid_here))}else if(ZS(Qr)&&Qr.modifiers){let Kn=Tl(Qr.modifiers,Xc);if(Kn>=0){if(ao(Qr)&&!W.experimentalDecorators)Ve.push(tn(Qr.modifiers[Kn],f.Decorators_are_not_valid_here));else if(Zl(Qr)){let Gr=Tl(Qr.modifiers,nI);if(Gr>=0){let Qn=Tl(Qr.modifiers,f6);if(Kn>Gr&&Qn>=0&&Kn<Qn)Ve.push(tn(Qr.modifiers[Kn],f.Decorators_are_not_valid_here));else if(Gr>=0&&Kn<Gr){let Mo=Tl(Qr.modifiers,Xc,Gr);Mo>=0&&Ve.push(fa(tn(Qr.modifiers[Mo],f.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),tn(Qr.modifiers[Kn],f.Decorator_used_before_export_here)))}}}}}switch(Qr.kind){case 263:case 231:case 174:case 176:case 177:case 178:case 218:case 262:case 219:if(Wn===Qr.typeParameters)return Ve.push(wn(Wn,f.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)),\"skip\";case 243:if(Wn===Qr.modifiers)return rn(Qr.modifiers,Qr.kind===243),\"skip\";break;case 172:if(Wn===Qr.modifiers){for(let Kn of Wn)ia(Kn)&&Kn.kind!==126&&Kn.kind!==129&&Ve.push(tn(Kn,f.The_0_modifier_can_only_be_used_in_TypeScript_files,qo(Kn.kind)));return\"skip\"}break;case 169:if(Wn===Qr.modifiers&&ct(Wn,ia))return Ve.push(wn(Wn,f.Parameter_modifiers_can_only_be_used_in_TypeScript_files)),\"skip\";break;case 213:case 214:case 233:case 285:case 286:case 215:if(Wn===Qr.typeArguments)return Ve.push(wn(Wn,f.Type_arguments_can_only_be_used_in_TypeScript_files)),\"skip\";break}}function rn(Wn,Qr){for(let Kn of Wn)switch(Kn.kind){case 87:if(Qr)continue;case 125:case 123:case 124:case 148:case 138:case 128:case 164:case 103:case 147:Ve.push(tn(Kn,f.The_0_modifier_can_only_be_used_in_TypeScript_files,qo(Kn.kind)));break;case 126:case 95:case 90:case 129:}}function wn(Wn,Qr,...Kn){let Gr=Wn.pos;return Rc(Ne,Gr,Wn.end-Gr,Qr,...Kn)}function tn(Wn,Qr,...Kn){return vf(Ne,Wn,Qr,...Kn)}})}function sr(Ne,Ve){return Ir(Ne,Ve,Te,tr)}function tr(Ne,Ve){return Bc(()=>{let Tt=$i().getEmitResolver(Ne,Ve);return gae(_n(Ca),Tt,Ne)||je})}function Ir(Ne,Ve,Tt,Pt){var rn;let wn=Ne?(rn=Tt.perFile)==null?void 0:rn.get(Ne.path):Tt.allDiagnostics;if(wn)return wn;let tn=Pt(Ne,Ve);return Ne?(Tt.perFile||(Tt.perFile=new Map)).set(Ne.path,tn):Tt.allDiagnostics=tn,tn}function pi(Ne,Ve){return Ne.isDeclarationFile?[]:sr(Ne,Ve)}function hr(){return z1(ro(Gn.getGlobalDiagnostics(),No()))}function No(){if(!W.configFile)return je;let Ne=Gn.getDiagnostics(W.configFile.fileName);return fu(Ve=>{Ne=ro(Ne,Gn.getDiagnostics(Ve.sourceFile.fileName))}),Ne}function Qs(){return oe.length?z1($i().getGlobalDiagnostics().slice()):je}function bc(){return $||je}function bs(Ne,Ve,Tt,Pt){Se(Yo(Ne),Ve,Tt,void 0,Pt)}function Jl(Ne,Ve){return Ne.fileName===Ve.fileName}function Za(Ne,Ve){return Ne.kind===80?Ve.kind===80&&Ne.escapedText===Ve.escapedText:Ve.kind===11&&Ne.text===Ve.text}function Ec(Ne,Ve){let Tt=P.createStringLiteral(Ne),Pt=P.createImportDeclaration(void 0,void 0,Tt,void 0);return XA(Pt,2),Aa(Tt,Pt),Aa(Pt,Ve),Tt.flags&=-17,Pt.flags&=-17,Tt}function Du(Ne){if(Ne.imports)return;let Ve=wd(Ne),Tt=wl(Ne),Pt,rn,wn;if((xf(W)||Tt)&&!Ne.isDeclarationFile){W.importHelpers&&(Pt=[Ec(ay,Ne)]);let Kn=sF(aF(W,Ne),W);Kn&&(Pt||(Pt=[])).push(Ec(Kn,Ne))}for(let Kn of Ne.statements)tn(Kn,!1);(Ne.flags&4194304||Ve)&&Wn(Ne),Ne.imports=Pt||je,Ne.moduleAugmentations=rn||je,Ne.ambientModuleNames=wn||je;return;function tn(Kn,Gr){if(oL(Kn)){let Qn=lx(Kn);Qn&&da(Qn)&&Qn.text&&(!Gr||!Ic(Qn.text))&&(oy(Kn,!1),Pt=pn(Pt,Qn),!ke&&On===0&&!Ne.isDeclarationFile&&(ke=Ui(Qn.text,\"node:\")))}else if(Il(Kn)&&sd(Kn)&&(Gr||Wr(Kn,128)||Ne.isDeclarationFile)){Kn.name.parent=Kn;let Qn=Ef(Kn.name);if(Tt||Gr&&!Ic(Qn))(rn||(rn=[])).push(Kn.name);else if(!Gr){Ne.isDeclarationFile&&(wn||(wn=[])).push(Qn);let Mo=Kn.body;if(Mo)for(let xa of Mo.statements)tn(xa,!0)}}}function Wn(Kn){let Gr=/import|require/g;for(;Gr.exec(Kn.text)!==null;){let Qn=Qr(Kn,Gr.lastIndex);Ve&&Xd(Qn,!0)||lp(Qn)&&Qn.arguments.length>=1&&Ga(Qn.arguments[0])?(oy(Qn,!1),Pt=pn(Pt,Qn.arguments[0])):ey(Qn)&&(oy(Qn,!1),Pt=pn(Pt,Qn.argument.literal))}}function Qr(Kn,Gr){let Qn=Kn,Mo=xa=>{if(xa.pos<=Gr&&(Gr<xa.end||Gr===xa.end&&xa.kind===1))return xa};for(;;){let xa=Ve&&ap(Qn)&&an(Qn.jsDoc,Mo)||Ao(Qn,Mo);if(!xa)return Qn;Qn=xa}}}function pc(Ne){var Ve;let{libFileName:Tt}=tTe(Ne),Pt=Tt&&((Ve=Ke?.get(Tt))==null?void 0:Ve.actual);return Pt!==void 0?ua(Pt):void 0}function Nf(Ne,Ve){return Vd(M4(Ve.fileName,Ne.fileName),ua)}function Vd(Ne,Ve,Tt,Pt){if(TA(Ne)){let rn=Wt.getCanonicalFileName(Ne);if(!W.allowNonTsExtensions&&!an(Ff(Jt),tn=>el(rn,tn))){Tt&&(QE(rn)?Tt(f.File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option,Ne):Tt(f.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1,Ne,\"'\"+Ff(cr).join(\"', '\")+\"'\"));return}let wn=Ve(Ne);if(Tt)if(wn)jb(Pt)&&rn===Wt.getCanonicalFileName(Us(Pt.file).fileName)&&Tt(f.A_file_cannot_have_a_reference_to_itself);else{let tn=vl(Ne);tn?Tt(f.Output_file_0_has_not_been_built_from_source_file_1,tn,Ne):Tt(f.File_0_not_found,Ne)}return wn}else{let rn=W.allowNonTsExtensions&&Ve(Ne);if(rn)return rn;if(Tt&&W.allowNonTsExtensions){Tt(f.File_0_not_found,Ne);return}let wn=an(cr[0],tn=>Ve(Ne+tn));return Tt&&!wn&&Tt(f.Could_not_resolve_the_path_0_with_the_extensions_Colon_1,Ne,\"'\"+Ff(cr).join(\"', '\")+\"'\"),wn}}function Se(Ne,Ve,Tt,Pt,rn){Vd(Ne,wn=>Po(wn,Ve,Tt,rn,Pt),(wn,...tn)=>Or(void 0,rn,wn,tn),rn)}function At(Ne,Ve){return Se(Ne,!1,!1,void 0,Ve)}function Ln(Ne,Ve,Tt){!jb(Tt)&&ct(_e.get(Ve.path),jb)?Or(Ve,Tt,f.Already_included_file_name_0_differs_from_file_name_1_only_in_casing,[Ve.fileName,Ne]):Or(Ve,Tt,f.File_name_0_differs_from_already_included_file_name_1_only_in_casing,[Ne,Ve.fileName])}function eo(Ne,Ve,Tt,Pt,rn,wn,tn){var Wn;let Qr=H_.createRedirectedSourceFile({redirectTarget:Ne,unredirected:Ve});return Qr.fileName=Tt,Qr.path=Pt,Qr.resolvedPath=rn,Qr.originalFileName=wn,Qr.packageJsonLocations=(Wn=tn.packageJsonLocations)!=null&&Wn.length?tn.packageJsonLocations:void 0,Qr.packageJsonScope=tn.packageJsonScope,zt.set(Pt,On>0),Qr}function Po(Ne,Ve,Tt,Pt,rn){var wn,tn;(wn=qn)==null||wn.push(qn.Phase.Program,\"findSourceFile\",{fileName:Ne,isDefaultLib:Ve||void 0,fileIncludeKind:d8[Pt.kind]});let Wn=Cl(Ne,Ve,Tt,Pt,rn);return(tn=qn)==null||tn.pop(),Wn}function Oo(Ne,Ve,Tt,Pt){let rn=OH(Qi(Ne,Nr),Ve?.getPackageJsonInfoCache(),Tt,Pt),wn=Wa(Pt),tn=XL(Pt);return typeof rn==\"object\"?{...rn,languageVersion:wn,setExternalModuleIndicator:tn,jsDocParsingMode:Tt.jsDocParsingMode}:{languageVersion:wn,impliedNodeFormat:rn,setExternalModuleIndicator:tn,jsDocParsingMode:Tt.jsDocParsingMode}}function Cl(Ne,Ve,Tt,Pt,rn){var wn;let tn=jn(Ne);if(Je){let Qn=tu(tn);if(!Qn&&Wt.realpath&&W.preserveSymlinks&&Yc(Ne)&&Ne.includes(q_)){let Mo=jn(Wt.realpath(Ne));Mo!==tn&&(Qn=tu(Mo))}if(Qn){let Mo=fo(Qn)?Po(Qn,Ve,Tt,Pt,rn):void 0;return Mo&&Bs(Mo,tn,Ne,void 0),Mo}}let Wn=Ne;if(nt.has(tn)){let Qn=nt.get(tn);if(Kl(Qn||void 0,Pt),Qn&&W.forceConsistentCasingInFileNames!==!1){let Mo=Qn.fileName;jn(Mo)!==jn(Ne)&&(Ne=vl(Ne)||Ne);let xd=DG(Mo,Nr),Vc=DG(Ne,Nr);xd!==Vc&&Ln(Ne,Qn,Pt)}return Qn&&zt.get(Qn.path)&&On===0?(zt.set(Qn.path,!1),W.noResolve||(X_(Qn,Ve),fg(Qn)),W.noLib||mu(Qn),en.set(Qn.path,!1),Ye(Qn)):Qn&&en.get(Qn.path)&&On<gn&&(en.set(Qn.path,!1),Ye(Qn)),Qn||void 0}let Qr;if(jb(Pt)&&!Je){let Qn=Nl(Ne);if(Qn){if(ss(Qn.commandLine.options))return;let Mo=Sc(Qn,Ne);Ne=Mo,Qr=jn(Mo)}}let Kn=Oo(Ne,mn,Wt,W),Gr=Wt.getSourceFile(Ne,Kn,Qn=>Or(void 0,Pt,f.Cannot_read_file_0_Colon_1,[Ne,Qn]),on);if(rn){let Qn=Qv(rn),Mo=Ea.get(Qn);if(Mo){let xa=eo(Mo,Gr,Ne,tn,jn(Ne),Wn,Kn);return Tn.add(Mo.path,Ne),Bs(xa,tn,Ne,Qr),Kl(xa,Pt),ln.set(tn,Z8(rn)),le.push(xa),xa}else Gr&&(Ea.set(Qn,Gr),ln.set(tn,Z8(rn)))}if(Bs(Gr,tn,Ne,Qr),Gr){if(zt.set(tn,On>0),Gr.fileName=Ne,Gr.path=tn,Gr.resolvedPath=jn(Ne),Gr.originalFileName=Wn,Gr.packageJsonLocations=(wn=Kn.packageJsonLocations)!=null&&wn.length?Kn.packageJsonLocations:void 0,Gr.packageJsonScope=Kn.packageJsonScope,Kl(Gr,Pt),Wt.useCaseSensitiveFileNames()){let Qn=C_(tn),Mo=yt.get(Qn);Mo?Ln(Ne,Mo,Pt):yt.set(Qn,Gr)}Ki=Ki||Gr.hasNoDefaultLib&&!Tt,W.noResolve||(X_(Gr,Ve),fg(Gr)),W.noLib||mu(Gr),Ye(Gr),Ve?ee.push(Gr):le.push(Gr)}return Gr}function Kl(Ne,Ve){Ne&&_e.add(Ne.path,Ve)}function Bs(Ne,Ve,Tt,Pt){Pt?(Ks(Tt,Pt,Ne),Ks(Tt,Ve,Ne||!1)):Ks(Tt,Ve,Ne)}function Ks(Ne,Ve,Tt){nt.set(Ve,Tt),Tt!==void 0?tt.delete(Ve):tt.set(Ve,Ne)}function vl(Ne){let Ve=Nl(Ne);return Ve&&Sc(Ve,Ne)}function Nl(Ne){if(!(!re||!re.length||Yc(Ne)||el(Ne,\".json\")))return kp(Ne)}function Sc(Ne,Ve){let Tt=ss(Ne.commandLine.options);return Tt?Nb(Tt,\".d.ts\"):GN(Ve,Ne.commandLine,!Wt.useCaseSensitiveFileNames())}function kp(Ne){et===void 0&&(et=new Map,fu(Tt=>{jn(W.configFilePath)!==Tt.sourceFile.path&&Tt.commandLine.fileNames.forEach(Pt=>et.set(jn(Pt),Tt.sourceFile.path))}));let Ve=et.get(jn(Ne));return Ve&&u_(Ve)}function fu(Ne){return MH(re,Ne)}function tu(Ne){if(Yc(Ne))return z===void 0&&(z=new Map,fu(Ve=>{let Tt=ss(Ve.commandLine.options);if(Tt){let Pt=Nb(Tt,\".d.ts\");z.set(jn(Pt),!0)}else{let Pt=Kd(()=>iR(Ve.commandLine,!Wt.useCaseSensitiveFileNames()));an(Ve.commandLine.fileNames,rn=>{if(!Yc(rn)&&!el(rn,\".json\")){let wn=GN(rn,Ve.commandLine,!Wt.useCaseSensitiveFileNames(),Pt);z.set(jn(wn),rn)}})}})),z.get(Ne)}function nf(Ne){return Je&&!!kp(Ne)}function u_(Ne){if(Ce)return Ce.get(Ne)||void 0}function X_(Ne,Ve){an(Ne.referencedFiles,(Tt,Pt)=>{Se(M4(Tt.fileName,Ne.fileName),Ve,!1,void 0,{kind:4,file:Ne.path,index:Pt})})}function fg(Ne){let Ve=Ne.typeReferenceDirectives;if(!Ve.length)return;let Tt=Vt?.get(Ne.path)||ui(Ve,Ne),Pt=bI();(ot??(ot=new Map)).set(Ne.path,Pt);for(let rn=0;rn<Ve.length;rn++){let wn=Ne.typeReferenceDirectives[rn],tn=Tt[rn],Wn=C_(wn.fileName);Pt.set(Wn,Ek(wn,Ne.impliedNodeFormat),tn);let Qr=wn.resolutionMode||Ne.impliedNodeFormat;fd(Wn,Qr,tn,{kind:5,file:Ne.path,index:rn})}}function fd(Ne,Ve,Tt,Pt){var rn,wn;(rn=qn)==null||rn.push(qn.Phase.Program,\"processTypeReferenceDirective\",{directive:Ne,hasResolved:!!Tt.resolvedTypeReferenceDirective,refKind:Pt.kind,refPath:jb(Pt)?Pt.file:void 0}),mg(Ne,Ve,Tt,Pt),(wn=qn)==null||wn.pop()}function mg(Ne,Ve,Tt,Pt){var rn;gt(Tt);let wn=(rn=De.get(Ne,Ve))==null?void 0:rn.resolvedTypeReferenceDirective;if(wn&&wn.primary)return;let tn=!0,{resolvedTypeReferenceDirective:Wn}=Tt;if(Wn){if(Wn.isExternalLibraryImport&&On++,Wn.primary)Se(Wn.resolvedFileName,!1,!1,Wn.packageId,Pt);else if(wn){if(Wn.resolvedFileName!==wn.resolvedFileName){let Qr=Wt.readFile(Wn.resolvedFileName),Kn=ua(wn.resolvedFileName);Qr!==Kn.text&&Or(Kn,Pt,f.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict,[Ne,Wn.resolvedFileName,wn.resolvedFileName])}tn=!1}else Se(Wn.resolvedFileName,!1,!1,Wn.packageId,Pt);Wn.isExternalLibraryImport&&On--}else Or(void 0,Pt,f.Cannot_find_type_definition_file_for_0,[Ne]);tn&&De.set(Ne,Ve,Tt)}function Ku(Ne){let Ve=Ke?.get(Ne);if(Ve)return Ve.actual;let Tt=Lh(Ne);return(Ke??(Ke=new Map)).set(Ne,Tt),Tt.actual}function Lh(Ne){var Ve,Tt,Pt,rn,wn;let tn=Dt?.get(Ne);if(tn)return tn;if(Qt!==0&&q&&!so(Ne)){let Qn=(Ve=q.resolvedLibReferences)==null?void 0:Ve.get(Ne);if(Qn){if(Qn.resolution&&cg(W,Wt)){let Mo=LH(Ne),xa=O4(W,Nr,Ne);to(Wt,Qn.resolution.resolvedModule?Qn.resolution.resolvedModule.packageId?f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved,Mo,Qi(xa,Nr),(Tt=Qn.resolution.resolvedModule)==null?void 0:Tt.resolvedFileName,((Pt=Qn.resolution.resolvedModule)==null?void 0:Pt.packageId)&&Qv(Qn.resolution.resolvedModule.packageId))}return(Dt??(Dt=new Map)).set(Ne,Qn),Qn}}let Wn=LH(Ne),Qr=O4(W,Nr,Ne);(rn=qn)==null||rn.push(qn.Phase.Program,\"resolveLibrary\",{resolveFrom:Qr}),Ls(\"beforeResolveLibrary\");let Kn=Jo(Wn,Qr,W,Ne);Ls(\"afterResolveLibrary\"),Sp(\"ResolveLibrary\",\"beforeResolveLibrary\",\"afterResolveLibrary\"),(wn=qn)==null||wn.pop();let Gr={resolution:Kn,actual:Kn.resolvedModule?Kn.resolvedModule.resolvedFileName:wr(io,Ne)};return(Dt??(Dt=new Map)).set(Ne,Gr),Gr}function mu(Ne){an(Ne.libReferenceDirectives,(Ve,Tt)=>{let{libName:Pt,libFileName:rn}=tTe(Ve);if(rn)bs(Ku(rn),!0,!0,{kind:7,file:Ne.path,index:Tt});else{let wn=C1(jD(Pt,\"lib.\"),\".d.ts\"),tn=VD(wn,K2,Ps),Wn=tn?f.Cannot_find_lib_definition_for_0_Did_you_mean_1:f.Cannot_find_lib_definition_for_0,Qr=tn?[Pt,tn]:[Pt];(ft||(ft=[])).push({kind:0,reason:{kind:7,file:Ne.path,index:Tt},diagnostic:Wn,args:Qr})}})}function Y(Ne){return Wt.getCanonicalFileName(Ne)}function Ye(Ne){var Ve;if(Du(Ne),Ne.imports.length||Ne.moduleAugmentations.length){let Tt=nTe(Ne),Pt=Ge?.get(Ne.path)||_i(Tt,Ne);x.assert(Pt.length===Tt.length);let rn=((Ve=An(Ne))==null?void 0:Ve.commandLine.options)||W,wn=bI();(st??(st=new Map)).set(Ne.path,wn);for(let tn=0;tn<Tt.length;tn++){let Wn=Pt[tn].resolvedModule,Qr=Tt[tn].text,Kn=CH(Ne,Tt[tn],rn);if(wn.set(Qr,Kn,Pt[tn]),bt(Ne,Qr,Pt[tn],Kn),!Wn)continue;let Gr=Wn.isExternalLibraryImport,Qn=!VC(Wn.extension),Mo=Gr&&Qn&&(!Wn.originalPath||Gb(Wn.resolvedFileName)),xa=Wn.resolvedFileName;Gr&&On++;let xd=Mo&&On>gn,Vc=xa&&!FH(rn,Wn,Ne)&&!rn.noResolve&&tn<Ne.imports.length&&!xd&&!(Qn&&!sy(rn))&&(Jn(Ne.imports[tn])||!(Ne.imports[tn].flags&16777216));xd?en.set(Ne.path,!0):Vc&&Po(xa,!1,!1,{kind:3,file:Ne.path,index:tn},Wn.packageId),Gr&&On--}}}function xt(Ne,Ve){let Tt=!0,Pt=Wt.getCanonicalFileName(Qi(Ve,Nr));for(let rn of Ne)rn.isDeclarationFile||Wt.getCanonicalFileName(Qi(rn.fileName,Nr)).indexOf(Pt)!==0&&(zi(rn,f.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files,[rn.fileName,Ve]),Tt=!1);return Tt}function Nt(Ne){Ce||(Ce=new Map);let Ve=sR(Ne),Tt=jn(Ve),Pt=Ce.get(Tt);if(Pt!==void 0)return Pt||void 0;let rn,wn;if(Wt.getParsedCommandLine){if(rn=Wt.getParsedCommandLine(Ve),!rn){Bs(void 0,Tt,Ve,void 0),Ce.set(Tt,!1);return}wn=x.checkDefined(rn.options.configFile),x.assert(!wn.path||wn.path===Tt),Bs(wn,Tt,Ve,void 0)}else{let Wn=Qi(Ur(Ve),Nr);if(wn=Wt.getSourceFile(Ve,100),Bs(wn,Tt,Ve,void 0),wn===void 0){Ce.set(Tt,!1);return}rn=H2(wn,ei,Wn,void 0,Ve)}wn.fileName=Ve,wn.path=Tt,wn.resolvedPath=Tt,wn.originalFileName=Ve;let tn={commandLine:rn,sourceFile:wn};return Ce.set(Tt,tn),rn.projectReferences&&(tn.references=rn.projectReferences.map(Nt)),tn}function k(){W.strictPropertyInitialization&&!Fd(W,\"strictNullChecks\")&&ja(f.Option_0_cannot_be_specified_without_specifying_option_1,\"strictPropertyInitialization\",\"strictNullChecks\"),W.exactOptionalPropertyTypes&&!Fd(W,\"strictNullChecks\")&&ja(f.Option_0_cannot_be_specified_without_specifying_option_1,\"exactOptionalPropertyTypes\",\"strictNullChecks\"),(W.isolatedModules||W.verbatimModuleSyntax)&&(W.out&&ja(f.Option_0_cannot_be_specified_with_option_1,\"out\",W.verbatimModuleSyntax?\"verbatimModuleSyntax\":\"isolatedModules\"),W.outFile&&ja(f.Option_0_cannot_be_specified_with_option_1,\"outFile\",W.verbatimModuleSyntax?\"verbatimModuleSyntax\":\"isolatedModules\")),W.inlineSourceMap&&(W.sourceMap&&ja(f.Option_0_cannot_be_specified_with_option_1,\"sourceMap\",\"inlineSourceMap\"),W.mapRoot&&ja(f.Option_0_cannot_be_specified_with_option_1,\"mapRoot\",\"inlineSourceMap\")),W.composite&&(W.declaration===!1&&ja(f.Composite_projects_may_not_disable_declaration_emit,\"declaration\"),W.incremental===!1&&ja(f.Composite_projects_may_not_disable_incremental_compilation,\"declaration\"));let Ne=ss(W);if(W.tsBuildInfoFile?tN(W)||ja(f.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"tsBuildInfoFile\",\"incremental\",\"composite\"):W.incremental&&!Ne&&!W.configFilePath&&Gn.add(bl(f.Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified)),Mt(),ha(),W.composite){let tn=new Set(oe.map(jn));for(let Wn of Ee)LS(Wn,Zt)&&!tn.has(Wn.path)&&zi(Wn,f.File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern,[Wn.fileName,W.configFilePath||\"\"])}if(W.paths){for(let tn in W.paths)if(rs(W.paths,tn))if(AV(tn)||Gc(!0,tn,f.Pattern_0_can_have_at_most_one_Asterisk_character,tn),oo(W.paths[tn])){let Wn=W.paths[tn].length;Wn===0&&Gc(!1,tn,f.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array,tn);for(let Qr=0;Qr<Wn;Qr++){let Kn=W.paths[tn][Qr],Gr=typeof Kn;Gr===\"string\"?(AV(Kn)||pl(tn,Qr,f.Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character,Kn,tn),!W.baseUrl&&!op(Kn)&&!JD(Kn)&&pl(tn,Qr,f.Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash)):pl(tn,Qr,f.Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2,Kn,tn,Gr)}}else Gc(!1,tn,f.Substitutions_for_pattern_0_should_be_an_array,tn)}!W.sourceMap&&!W.inlineSourceMap&&(W.inlineSources&&ja(f.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,\"inlineSources\"),W.sourceRoot&&ja(f.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,\"sourceRoot\")),W.out&&W.outFile&&ja(f.Option_0_cannot_be_specified_with_option_1,\"out\",\"outFile\"),W.mapRoot&&!(W.sourceMap||W.declarationMap)&&ja(f.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"mapRoot\",\"sourceMap\",\"declarationMap\"),W.declarationDir&&(Xp(W)||ja(f.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"declarationDir\",\"declaration\",\"composite\"),Ne&&ja(f.Option_0_cannot_be_specified_with_option_1,\"declarationDir\",W.out?\"out\":\"outFile\")),W.declarationMap&&!Xp(W)&&ja(f.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"declarationMap\",\"declaration\",\"composite\"),W.lib&&W.noLib&&ja(f.Option_0_cannot_be_specified_with_option_1,\"lib\",\"noLib\"),W.noImplicitUseStrict&&Fd(W,\"alwaysStrict\")&&ja(f.Option_0_cannot_be_specified_with_option_1,\"noImplicitUseStrict\",\"alwaysStrict\");let Ve=Wa(W),Tt=Dr(Ee,tn=>wl(tn)&&!tn.isDeclarationFile);if(W.isolatedModules||W.verbatimModuleSyntax)W.module===0&&Ve<2&&W.isolatedModules&&ja(f.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher,\"isolatedModules\",\"target\"),W.preserveConstEnums===!1&&ja(f.Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled,W.verbatimModuleSyntax?\"verbatimModuleSyntax\":\"isolatedModules\",\"preserveConstEnums\");else if(Tt&&Ve<2&&W.module===0){let tn=IS(Tt,typeof Tt.externalModuleIndicator==\"boolean\"?Tt:Tt.externalModuleIndicator);Gn.add(Rc(Tt,tn.start,tn.length,f.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none))}if(Ne&&!W.emitDeclarationOnly){if(W.module&&!(W.module===2||W.module===4))ja(f.Only_amd_and_system_modules_are_supported_alongside_0,W.out?\"out\":\"outFile\",\"module\");else if(W.module===void 0&&Tt){let tn=IS(Tt,typeof Tt.externalModuleIndicator==\"boolean\"?Tt:Tt.externalModuleIndicator);Gn.add(Rc(Tt,tn.start,tn.length,f.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system,W.out?\"out\":\"outFile\"))}}if(Mb(W)&&(zd(W)===1?ja(f.Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic,\"resolveJsonModule\"):rF(W)||ja(f.Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd,\"resolveJsonModule\",\"module\")),W.outDir||W.rootDir||W.sourceRoot||W.mapRoot){let tn=Ar();W.outDir&&tn===\"\"&&Ee.some(Wn=>M_(Wn.fileName)>1)&&ja(f.Cannot_find_the_common_subdirectory_path_for_the_input_files,\"outDir\")}W.useDefineForClassFields&&Ve===0&&ja(f.Option_0_cannot_be_specified_when_option_target_is_ES3,\"useDefineForClassFields\"),W.checkJs&&!sy(W)&&Gn.add(bl(f.Option_0_cannot_be_specified_without_specifying_option_1,\"checkJs\",\"allowJs\")),W.emitDeclarationOnly&&(Xp(W)||ja(f.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"emitDeclarationOnly\",\"declaration\",\"composite\"),W.noEmit&&ja(f.Option_0_cannot_be_specified_with_option_1,\"emitDeclarationOnly\",\"noEmit\")),W.emitDecoratorMetadata&&!W.experimentalDecorators&&ja(f.Option_0_cannot_be_specified_without_specifying_option_1,\"emitDecoratorMetadata\",\"experimentalDecorators\"),W.jsxFactory?(W.reactNamespace&&ja(f.Option_0_cannot_be_specified_with_option_1,\"reactNamespace\",\"jsxFactory\"),(W.jsx===4||W.jsx===5)&&ja(f.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxFactory\",IN.get(\"\"+W.jsx)),gI(W.jsxFactory,Ve)||em(\"jsxFactory\",f.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,W.jsxFactory)):W.reactNamespace&&!Tp(W.reactNamespace,Ve)&&em(\"reactNamespace\",f.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,W.reactNamespace),W.jsxFragmentFactory&&(W.jsxFactory||ja(f.Option_0_cannot_be_specified_without_specifying_option_1,\"jsxFragmentFactory\",\"jsxFactory\"),(W.jsx===4||W.jsx===5)&&ja(f.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxFragmentFactory\",IN.get(\"\"+W.jsx)),gI(W.jsxFragmentFactory,Ve)||em(\"jsxFragmentFactory\",f.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,W.jsxFragmentFactory)),W.reactNamespace&&(W.jsx===4||W.jsx===5)&&ja(f.Option_0_cannot_be_specified_when_option_jsx_is_1,\"reactNamespace\",IN.get(\"\"+W.jsx)),W.jsxImportSource&&W.jsx===2&&ja(f.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxImportSource\",IN.get(\"\"+W.jsx)),W.preserveValueImports&&ld(W)<5&&ja(f.Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later,\"preserveValueImports\");let Pt=ld(W);W.verbatimModuleSyntax&&((Pt===2||Pt===3||Pt===4)&&ja(f.Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System,\"verbatimModuleSyntax\"),W.preserveValueImports&&nm(\"preserveValueImports\",\"verbatimModuleSyntax\"),W.importsNotUsedAsValues&&nm(\"importsNotUsedAsValues\",\"verbatimModuleSyntax\")),W.allowImportingTsExtensions&&!(W.noEmit||W.emitDeclarationOnly)&&em(\"allowImportingTsExtensions\",f.Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set);let rn=zd(W);if(W.resolvePackageJsonExports&&!HA(rn)&&ja(f.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,\"resolvePackageJsonExports\"),W.resolvePackageJsonImports&&!HA(rn)&&ja(f.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,\"resolvePackageJsonImports\"),W.customConditions&&!HA(rn)&&ja(f.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,\"customConditions\"),rn===100&&!nF(Pt)&&Pt!==200&&em(\"moduleResolution\",f.Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later,\"bundler\"),HD[Pt]&&100<=Pt&&Pt<=199&&!(3<=rn&&rn<=99)){let tn=HD[Pt];em(\"moduleResolution\",f.Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1,tn,tn)}else if(O1[rn]&&3<=rn&&rn<=99&&!(100<=Pt&&Pt<=199)){let tn=O1[rn];em(\"module\",f.Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1,tn,tn)}if(!W.noEmit&&!W.suppressOutputPathCheck){let tn=_n(),Wn=new Set;uH(tn,Qr=>{W.emitDeclarationOnly||wn(Qr.jsFilePath,Wn),wn(Qr.declarationFilePath,Wn)})}function wn(tn,Wn){if(tn){let Qr=jn(tn);if(nt.has(Qr)){let Gr;W.configFilePath||(Gr=So(void 0,f.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),Gr=So(Gr,f.Cannot_write_file_0_because_it_would_overwrite_input_file,tn),D0(tn,eF(Gr))}let Kn=Wt.useCaseSensitiveFileNames()?Qr:C_(Qr);Wn.has(Kn)?D0(tn,bl(f.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,tn)):Wn.add(Kn)}}}function ge(){let Ne=W.ignoreDeprecations;if(Ne){if(Ne===\"5.0\")return new zf(Ne);H()}return zf.zero}function Xe(Ne,Ve,Tt,Pt){let rn=new zf(Ne),wn=new zf(Ve),tn=new zf(fe||jm),Wn=ge(),Qr=wn.compareTo(tn)!==1,Kn=!Qr&&Wn.compareTo(rn)===-1;(Qr||Kn)&&Pt((Gr,Qn,Mo)=>{Qr?Qn===void 0?Tt(Gr,Qn,Mo,f.Option_0_has_been_removed_Please_remove_it_from_your_configuration,Gr):Tt(Gr,Qn,Mo,f.Option_0_1_has_been_removed_Please_remove_it_from_your_configuration,Gr,Qn):Qn===void 0?Tt(Gr,Qn,Mo,f.Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error,Gr,Ve,Ne):Tt(Gr,Qn,Mo,f.Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error,Gr,Qn,Ve,Ne)})}function Mt(){function Ne(Ve,Tt,Pt,rn,...wn){if(Pt){let tn=So(void 0,f.Use_0_instead,Pt),Wn=So(tn,rn,...wn);Ri(!Tt,Ve,void 0,Wn)}else Ri(!Tt,Ve,void 0,rn,...wn)}Xe(\"5.0\",\"5.5\",Ne,Ve=>{W.target===0&&Ve(\"target\",\"ES3\"),W.noImplicitUseStrict&&Ve(\"noImplicitUseStrict\"),W.keyofStringsOnly&&Ve(\"keyofStringsOnly\"),W.suppressExcessPropertyErrors&&Ve(\"suppressExcessPropertyErrors\"),W.suppressImplicitAnyIndexErrors&&Ve(\"suppressImplicitAnyIndexErrors\"),W.noStrictGenericChecks&&Ve(\"noStrictGenericChecks\"),W.charset&&Ve(\"charset\"),W.out&&Ve(\"out\",void 0,\"outFile\"),W.importsNotUsedAsValues&&Ve(\"importsNotUsedAsValues\",void 0,\"verbatimModuleSyntax\"),W.preserveValueImports&&Ve(\"preserveValueImports\",void 0,\"verbatimModuleSyntax\")})}function Vn(Ne,Ve,Tt){function Pt(rn,wn,tn,Wn,...Qr){tm(Ve,Tt,Wn,...Qr)}Xe(\"5.0\",\"5.5\",Pt,rn=>{Ne.prepend&&rn(\"prepend\")})}function jr(Ne,Ve,Tt,Pt){var rn;let wn,tn,Wn=jb(Ve)?Ve:void 0;Ne&&((rn=_e.get(Ne.path))==null||rn.forEach(Mo)),Ve&&Mo(Ve),Wn&&wn?.length===1&&(wn=void 0);let Qr=Wn&&jN(Zt,Wn),Kn=wn&&So(wn,f.The_file_is_in_the_program_because_Colon),Gr=Ne&&tq(Ne),Qn=So(Gr?Kn?[Kn,...Gr]:Gr:Kn,Tt,...Pt||je);return Qr&&aR(Qr)?aW(Qr.file,Qr.pos,Qr.end-Qr.pos,Qn,tn):eF(Qn,tn);function Mo(xa){(wn||(wn=[])).push(iq(Zt,xa)),!Wn&&jb(xa)?Wn=xa:Wn!==xa&&(tn=pn(tn,_a(xa))),xa===Ve&&(Ve=void 0)}}function Or(Ne,Ve,Tt,Pt){(ft||(ft=[])).push({kind:1,file:Ne&&Ne.path,fileProcessingReason:Ve,diagnostic:Tt,args:Pt})}function zi(Ne,Ve,Tt){Gn.add(jr(Ne,void 0,Ve,Tt))}function _a(Ne){if(jb(Ne)){let Pt=jN(Zt,Ne),rn;switch(Ne.kind){case 3:rn=f.File_is_included_via_import_here;break;case 4:rn=f.File_is_included_via_reference_here;break;case 5:rn=f.File_is_included_via_type_library_reference_here;break;case 7:rn=f.File_is_included_via_library_reference_here;break;default:x.assertNever(Ne)}return aR(Pt)?Rc(Pt.file,Pt.pos,Pt.end-Pt.pos,rn):void 0}if(!W.configFile)return;let Ve,Tt;switch(Ne.kind){case 0:if(!W.configFile.configFileSpecs)return;let Pt=Qi(oe[Ne.index],Nr),rn=nq(Zt,Pt);if(rn){Ve=fW(W.configFile,\"files\",rn),Tt=f.File_is_matched_by_files_list_specified_here;break}let wn=rq(Zt,Pt);if(!wn||!fo(wn))return;Ve=fW(W.configFile,\"include\",wn),Tt=f.File_is_matched_by_include_pattern_specified_here;break;case 1:case 2:let tn=x.checkDefined(re?.[Ne.index]),Wn=k4(de,re,(Mo,xa,xd)=>Mo===tn?{sourceFile:xa?.sourceFile||W.configFile,index:xd}:void 0);if(!Wn)return;let{sourceFile:Qr,index:Kn}=Wn,Gr=uL(Qr,\"references\",Mo=>Bd(Mo.initializer)?Mo.initializer:void 0);return Gr&&Gr.elements.length>Kn?vf(Qr,Gr.elements[Kn],Ne.kind===2?f.File_is_output_from_referenced_project_specified_here:f.File_is_source_from_referenced_project_specified_here):void 0;case 8:if(!W.types)return;Ve=Ay(\"types\",Ne.typeReference),Tt=f.File_is_entry_point_of_type_library_specified_here;break;case 6:if(Ne.index!==void 0){Ve=Ay(\"lib\",W.lib[Ne.index]),Tt=f.File_is_library_specified_here;break}let Qn=hc(Y2.type,(Mo,xa)=>Mo===Wa(W)?xa:void 0);Ve=Qn?_u(\"target\",Qn):void 0,Tt=f.File_is_default_library_for_target_specified_here;break;default:x.assertNever(Ne)}return Ve&&vf(W.configFile,Ve,Tt)}function ha(){let Ne=W.suppressOutputPathCheck?void 0:dv(W);k4(de,re,(Ve,Tt,Pt)=>{let rn=(Tt?Tt.commandLine.projectReferences:de)[Pt],wn=Tt&&Tt.sourceFile;if(Vn(rn,wn,Pt),!Ve){tm(wn,Pt,f.File_0_not_found,rn.path);return}let tn=Ve.commandLine.options;if((!tn.composite||tn.noEmit)&&(Tt?Tt.commandLine.fileNames:oe).length&&(tn.composite||tm(wn,Pt,f.Referenced_project_0_must_have_setting_composite_Colon_true,rn.path),tn.noEmit&&tm(wn,Pt,f.Referenced_project_0_may_not_disable_emit,rn.path)),rn.prepend){let Wn=ss(tn);Wn?Wt.fileExists(Wn)||tm(wn,Pt,f.Output_file_0_from_project_1_does_not_exist,Wn,rn.path):tm(wn,Pt,f.Cannot_prepend_project_0_because_it_does_not_have_outFile_set,rn.path)}!Tt&&Ne&&Ne===dv(tn)&&(tm(wn,Pt,f.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1,Ne,rn.path),Ue.set(jn(Ne),!0))})}function pl(Ne,Ve,Tt,...Pt){let rn=!0;Xu(wn=>{ma(wn.initializer)&&nx(wn.initializer,Ne,tn=>{let Wn=tn.initializer;Bd(Wn)&&Wn.elements.length>Ve&&(Gn.add(vf(W.configFile,Wn.elements[Ve],Tt,...Pt)),rn=!1)})}),rn&&Gn.add(bl(Tt,...Pt))}function Gc(Ne,Ve,Tt,...Pt){let rn=!0;Xu(wn=>{ma(wn.initializer)&&yv(wn.initializer,Ne,Ve,void 0,Tt,...Pt)&&(rn=!1)}),rn&&Gn.add(bl(Tt,...Pt))}function nc(Ne,Ve){return nx(_g(),Ne,Ve)}function Xu(Ne){return nc(\"paths\",Ne)}function _u(Ne,Ve){return nc(Ne,Tt=>da(Tt.initializer)&&Tt.initializer.text===Ve?Tt.initializer:void 0)}function Ay(Ne,Ve){let Tt=_g();return Tt&&Gte(Tt,Ne,Ve)}function ja(Ne,Ve,Tt,Pt){Ri(!0,Ve,Tt,Ne,Ve,Tt,Pt)}function em(Ne,Ve,...Tt){Ri(!1,Ne,void 0,Ve,...Tt)}function tm(Ne,Ve,Tt,...Pt){let rn=uL(Ne||W.configFile,\"references\",wn=>Bd(wn.initializer)?wn.initializer:void 0);rn&&rn.elements.length>Ve?Gn.add(vf(Ne||W.configFile,rn.elements[Ve],Tt,...Pt)):Gn.add(bl(Tt,...Pt))}function Ri(Ne,Ve,Tt,Pt,...rn){let wn=_g();(!wn||!yv(wn,Ne,Ve,Tt,Pt,...rn))&&(\"messageText\"in Pt?Gn.add(eF(Pt)):Gn.add(bl(Pt,...rn)))}function _g(){return Rt===void 0&&(Rt=nx(_C(W.configFile),\"compilerOptions\",Ne=>ma(Ne.initializer)?Ne.initializer:void 0)||!1),Rt||void 0}function yv(Ne,Ve,Tt,Pt,rn,...wn){let tn=!1;return nx(Ne,Tt,Wn=>{\"messageText\"in rn?Gn.add(eg(W.configFile,Ve?Wn.name:Wn.initializer,rn)):Gn.add(vf(W.configFile,Ve?Wn.name:Wn.initializer,rn,...wn)),tn=!0},Pt),tn}function nm(Ne,Ve){let Tt=_g();Tt?yv(Tt,!0,Ne,void 0,f.Option_0_is_redundant_and_cannot_be_specified_with_option_1,Ne,Ve):ja(f.Option_0_is_redundant_and_cannot_be_specified_with_option_1,Ne,Ve)}function D0(Ne,Ve){Ue.set(jn(Ne),!0),Gn.add(Ve)}function C0(Ne){if(W.noEmit)return!1;let Ve=jn(Ne);if(Us(Ve))return!1;let Tt=ss(W);if(Tt)return Op(Ve,Tt)||Op(Ve,Yd(Tt)+\".d.ts\");if(W.declarationDir&&Bf(W.declarationDir,Ve,Nr,!Wt.useCaseSensitiveFileNames()))return!0;if(W.outDir)return Bf(W.outDir,Ve,Nr,!Wt.useCaseSensitiveFileNames());if($l(Ve,Px)||Yc(Ve)){let Pt=Yd(Ve);return!!Us(Pt+\".ts\")||!!Us(Pt+\".tsx\")}return!1}function Op(Ne,Ve){return Xh(Ne,Ve,Nr,!Wt.useCaseSensitiveFileNames())===0}function p_(){return Wt.getSymlinkCache?Wt.getSymlinkCache():(ce||(ce=IV(Nr,Y)),Ee&&!ce.hasProcessedResolutions()&&ce.setSymlinksFromResolutions(M,te,Le),ce)}function wp(Ne,Ve){var Tt;let Pt=((Tt=An(Ne))==null?void 0:Tt.commandLine.options)||W;return CH(Ne,Ve,Pt)}function hg(Ne,Ve){return wp(Ne,Ak(Ne,Ve))}}function P7e(e){let t,r=e.compilerHost.fileExists,i=e.compilerHost.directoryExists,o=e.compilerHost.getDirectories,s=e.compilerHost.realpath;if(!e.useSourceOfProjectReferenceRedirect)return{onProgramCreateComplete:Ca,fileExists:p};e.compilerHost.fileExists=p;let l;return i&&(l=e.compilerHost.directoryExists=S=>i.call(e.compilerHost,S)?(v(S),!0):e.getResolvedProjectReferences()?(t||(t=new Set,e.forEachResolvedProjectReference(A=>{let C=ss(A.commandLine.options);if(C)t.add(Ur(e.toPath(C)));else{let R=A.commandLine.options.declarationDir||A.commandLine.options.outDir;R&&t.add(e.toPath(R))}})),E(S,!1)):!1),o&&(e.compilerHost.getDirectories=S=>!e.getResolvedProjectReferences()||i&&i.call(e.compilerHost,S)?o.call(e.compilerHost,S):[]),s&&(e.compilerHost.realpath=S=>{var A;return((A=e.getSymlinkCache().getSymlinkedFiles())==null?void 0:A.get(e.toPath(S)))||s.call(e.compilerHost,S)}),{onProgramCreateComplete:d,fileExists:p,directoryExists:l};function d(){e.compilerHost.fileExists=r,e.compilerHost.directoryExists=i,e.compilerHost.getDirectories=o}function p(S){return r.call(e.compilerHost,S)?!0:!e.getResolvedProjectReferences()||!Yc(S)?!1:E(S,!0)}function h(S){let A=e.getSourceOfProjectReferenceRedirect(e.toPath(S));return A!==void 0?fo(A)?r.call(e.compilerHost,A):!0:void 0}function m(S){let A=e.toPath(S),C=`${A}${Os}`;return O_(t,R=>A===R||Ui(R,C)||Ui(A,`${R}/`))}function v(S){var A;if(!e.getResolvedProjectReferences()||KC(S)||!s||!S.includes(q_))return;let C=e.getSymlinkCache(),R=_c(e.toPath(S));if((A=C.getSymlinkedDirectories())!=null&&A.has(R))return;let L=Yo(s.call(e.compilerHost,S)),G;if(L===S||(G=_c(e.toPath(L)))===R){C.setSymlinkedDirectory(R,!1);return}C.setSymlinkedDirectory(S,{real:_c(L),realPath:G})}function E(S,A){var C;let R=A?F=>h(F):F=>m(F),L=R(S);if(L!==void 0)return L;let G=e.getSymlinkCache(),U=G.getSymlinkedDirectories();if(!U)return!1;let K=e.toPath(S);return K.includes(q_)?A&&((C=G.getSymlinkedFiles())!=null&&C.has(K))?!0:cM(U.entries(),([F,oe])=>{if(!oe||!Ui(K,F))return;let W=R(K.replace(F,oe.realPath));if(A&&W){let $=Qi(S,e.compilerHost.getCurrentDirectory());G.setSymlinkedFile(K,`${oe.real}${$.replace(new RegExp(F,\"i\"),\"\")}`)}return W})||!1:!1}}function wH(e,t,r,i){let o=e.getCompilerOptions();if(o.noEmit)return e.getSemanticDiagnostics(t,i),t||ss(o)?G4:e.emitBuildInfo(r,i);if(!o.noEmitOnError)return;let s=[...e.getOptionsDiagnostics(i),...e.getSyntacticDiagnostics(t,i),...e.getGlobalDiagnostics(i),...e.getSemanticDiagnostics(t,i)];if(s.length===0&&Xp(e.getCompilerOptions())&&(s=e.getDeclarationDiagnostics(void 0,i)),!s.length)return;let l;if(!t&&!ss(o)){let d=e.emitBuildInfo(r,i);d.diagnostics&&(s=[...s,...d.diagnostics]),l=d.emittedFiles}return{diagnostics:s,sourceMaps:void 0,emittedFiles:l,emitSkipped:!0}}function W4(e,t){return Cr(e,r=>!r.skippedOn||!t[r.skippedOn])}function F4(e,t=e){return{fileExists:r=>t.fileExists(r),readDirectory(r,i,o,s,l){return x.assertIsDefined(t.readDirectory,\"'CompilerHost.readDirectory' must be implemented to correctly process 'projectReferences'\"),t.readDirectory(r,i,o,s,l)},readFile:r=>t.readFile(r),directoryExists:Wo(t,t.directoryExists),getDirectories:Wo(t,t.getDirectories),realpath:Wo(t,t.realpath),useCaseSensitiveFileNames:e.useCaseSensitiveFileNames(),getCurrentDirectory:()=>e.getCurrentDirectory(),onUnRecoverableConfigFileDiagnostic:e.onUnRecoverableConfigFileDiagnostic||ub,trace:e.trace?r=>e.trace(r):void 0}}function WH(e,t,r,i){if(!e)return je;let o;for(let s=0;s<e.length;s++){let l=e[s],d=t(l,s);if(l.prepend&&d&&d.options){if(!ss(d.options))continue;let{jsFilePath:h,sourceMapFilePath:m,declarationFilePath:v,declarationMapPath:E,buildInfoPath:S}=zN(d.options,!0),A=oj(r,h,m,v,E,S,i,d.options);(o||(o=[])).push(A)}}return o||je}function sR(e){return dq(e.path)}function FH(e,{extension:t},{isDeclarationFile:r}){switch(t){case\".ts\":case\".d.ts\":case\".mts\":case\".d.mts\":case\".cts\":case\".d.cts\":return;case\".tsx\":return i();case\".jsx\":return i()||o();case\".js\":case\".mjs\":case\".cjs\":return o();case\".json\":return s();default:return l()}function i(){return e.jsx?void 0:f.Module_0_was_resolved_to_1_but_jsx_is_not_set}function o(){return sy(e)||!Fd(e,\"noImplicitAny\")?void 0:f.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type}function s(){return Mb(e)?void 0:f.Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used}function l(){return r||e.allowArbitraryExtensions?void 0:f.Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set}}function nTe({imports:e,moduleAugmentations:t}){let r=e.map(i=>i);for(let i of t)i.kind===11&&r.push(i);return r}function Ak({imports:e,moduleAugmentations:t},r){if(r<e.length)return e[r];let i=e.length;for(let o of t)if(o.kind===11){if(r===i)return o;i++}x.fail(\"should never ask for module name at index higher than possible module name\")}var zH,BH,GH,Nae,Pae,rTe,Mae,Lae,z4,iTe,lR,B4,G4,M7e=pt({\"src/compiler/program.ts\"(){\"use strict\";wo(),mS(),zH=(e=>(e.Grey=\"\\x1B[90m\",e.Red=\"\\x1B[91m\",e.Yellow=\"\\x1B[93m\",e.Blue=\"\\x1B[94m\",e.Cyan=\"\\x1B[96m\",e))(zH||{}),BH=\"\\x1B[7m\",GH=\" \",Nae=\"\\x1B[0m\",Pae=\"...\",rTe=\"  \",Mae=\"    \",Lae={resolvedModule:void 0,resolvedTypeReferenceDirective:void 0},z4={getName:Cae,getMode:(e,t,r)=>DH(t,e,r)},iTe={getName:PH,getMode:(e,t)=>Ek(e,t?.impliedNodeFormat)},lR=\"__inferred type names__.ts\",B4=new Set([f.Cannot_redeclare_block_scoped_variable_0.code,f.A_module_cannot_have_multiple_default_exports.code,f.Another_export_default_is_here.code,f.The_first_export_default_is_here.code,f.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module.code,f.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode.code,f.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here.code,f.constructor_is_a_reserved_word.code,f.delete_cannot_be_called_on_an_identifier_in_strict_mode.code,f.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode.code,f.Invalid_use_of_0_Modules_are_automatically_in_strict_mode.code,f.Invalid_use_of_0_in_strict_mode.code,f.A_label_is_not_allowed_here.code,f.with_statements_are_not_allowed_in_strict_mode.code,f.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code,f.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement.code,f.A_class_declaration_without_the_default_modifier_must_have_a_name.code,f.A_class_member_cannot_have_the_0_keyword.code,f.A_comma_expression_is_not_allowed_in_a_computed_property_name.code,f.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement.code,f.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,f.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,f.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement.code,f.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration.code,f.A_definite_assignment_assertion_is_not_permitted_in_this_context.code,f.A_destructuring_declaration_must_have_an_initializer.code,f.A_get_accessor_cannot_have_parameters.code,f.A_rest_element_cannot_contain_a_binding_pattern.code,f.A_rest_element_cannot_have_a_property_name.code,f.A_rest_element_cannot_have_an_initializer.code,f.A_rest_element_must_be_last_in_a_destructuring_pattern.code,f.A_rest_parameter_cannot_have_an_initializer.code,f.A_rest_parameter_must_be_last_in_a_parameter_list.code,f.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code,f.A_return_statement_cannot_be_used_inside_a_class_static_block.code,f.A_set_accessor_cannot_have_rest_parameter.code,f.A_set_accessor_must_have_exactly_one_parameter.code,f.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module.code,f.An_export_declaration_cannot_have_modifiers.code,f.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module.code,f.An_import_declaration_cannot_have_modifiers.code,f.An_object_member_cannot_be_declared_optional.code,f.Argument_of_dynamic_import_cannot_be_spread_element.code,f.Cannot_assign_to_private_method_0_Private_methods_are_not_writable.code,f.Cannot_redeclare_identifier_0_in_catch_clause.code,f.Catch_clause_variable_cannot_have_an_initializer.code,f.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator.code,f.Classes_can_only_extend_a_single_class.code,f.Classes_may_not_have_a_field_named_constructor.code,f.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code,f.Duplicate_label_0.code,f.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments.code,f.for_await_loops_cannot_be_used_inside_a_class_static_block.code,f.JSX_attributes_must_only_be_assigned_a_non_empty_expression.code,f.JSX_elements_cannot_have_multiple_attributes_with_the_same_name.code,f.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array.code,f.JSX_property_access_expressions_cannot_include_JSX_namespace_names.code,f.Jump_target_cannot_cross_function_boundary.code,f.Line_terminator_not_permitted_before_arrow.code,f.Modifiers_cannot_appear_here.code,f.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement.code,f.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement.code,f.Private_identifiers_are_not_allowed_outside_class_bodies.code,f.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,f.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier.code,f.Tagged_template_expressions_are_not_permitted_in_an_optional_chain.code,f.The_left_hand_side_of_a_for_of_statement_may_not_be_async.code,f.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer.code,f.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer.code,f.Trailing_comma_not_allowed.code,f.Variable_declaration_list_cannot_be_empty.code,f._0_and_1_operations_cannot_be_mixed_without_parentheses.code,f._0_expected.code,f._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2.code,f._0_list_cannot_be_empty.code,f._0_modifier_already_seen.code,f._0_modifier_cannot_appear_on_a_constructor_declaration.code,f._0_modifier_cannot_appear_on_a_module_or_namespace_element.code,f._0_modifier_cannot_appear_on_a_parameter.code,f._0_modifier_cannot_appear_on_class_elements_of_this_kind.code,f._0_modifier_cannot_be_used_here.code,f._0_modifier_must_precede_1_modifier.code,f._0_declarations_can_only_be_declared_inside_a_block.code,f._0_declarations_must_be_initialized.code,f.extends_clause_already_seen.code,f.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code,f.Class_constructor_may_not_be_a_generator.code,f.Class_constructor_may_not_be_an_accessor.code,f.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,f.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,f.Private_field_0_must_be_declared_in_an_enclosing_class.code,f.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value.code]),G4={diagnostics:je,sourceMaps:void 0,emittedFiles:void 0,emitSkipped:!0}}}),L7e=pt({\"src/compiler/builderStatePublic.ts\"(){\"use strict\"}});function kae(e,t,r,i,o,s){let l=[],{emitSkipped:d,diagnostics:p}=e.emit(t,h,i,r,o,s);return{outputFiles:l,emitSkipped:d,diagnostics:p};function h(m,v,E){l.push({name:m,writeByteOrderMark:E,text:v})}}var Qf,k7e=pt({\"src/compiler/builderState.ts\"(){\"use strict\";wo(),(e=>{function t(){function q(H,ee,le){let Ee={getKeys:ce=>ee.get(ce),getValues:ce=>H.get(ce),keys:()=>H.keys(),deleteKey:ce=>{(le||(le=new Set)).add(ce);let Z=H.get(ce);return Z?(Z.forEach(pe=>i(ee,pe,ce)),H.delete(ce),!0):!1},set:(ce,Z)=>{le?.delete(ce);let pe=H.get(ce);return H.set(ce,Z),pe?.forEach(Ae=>{Z.has(Ae)||i(ee,Ae,ce)}),Z.forEach(Ae=>{pe?.has(Ae)||r(ee,Ae,ce)}),Ee}};return Ee}return q(new Map,new Map,void 0)}e.createManyToManyPathMap=t;function r(q,H,ee){let le=q.get(H);le||(le=new Set,q.set(H,le)),le.add(ee)}function i(q,H,ee){let le=q.get(H);return le?.delete(ee)?(le.size||q.delete(H),!0):!1}function o(q){return Fi(q.declarations,H=>{var ee;return(ee=Nn(H))==null?void 0:ee.resolvedPath})}function s(q,H){let ee=q.getSymbolAtLocation(H);return ee&&o(ee)}function l(q,H,ee,le){return ks(q.getProjectReferenceRedirect(H)||H,ee,le)}function d(q,H,ee){let le;if(H.imports&&H.imports.length>0){let pe=q.getTypeChecker();for(let Ae of H.imports){let Oe=s(pe,Ae);Oe?.forEach(Z)}}let Ee=Ur(H.resolvedPath);if(H.referencedFiles&&H.referencedFiles.length>0)for(let pe of H.referencedFiles){let Ae=l(q,pe.fileName,Ee,ee);Z(Ae)}if(q.forEachResolvedTypeReferenceDirective(({resolvedTypeReferenceDirective:pe})=>{if(!pe)return;let Ae=pe.resolvedFileName,Oe=l(q,Ae,Ee,ee);Z(Oe)},H),H.moduleAugmentations.length){let pe=q.getTypeChecker();for(let Ae of H.moduleAugmentations){if(!da(Ae))continue;let Oe=pe.getSymbolAtLocation(Ae);Oe&&ce(Oe)}}for(let pe of q.getTypeChecker().getAmbientModules())pe.declarations&&pe.declarations.length>1&&ce(pe);return le;function ce(pe){if(pe.declarations)for(let Ae of pe.declarations){let Oe=Nn(Ae);Oe&&Oe!==H&&Z(Oe.resolvedPath)}}function Z(pe){(le||(le=new Set)).add(pe)}}function p(q,H){return H&&!H.referencedMap==!q}e.canReuseOldState=p;function h(q,H,ee){var le,Ee,ce;let Z=new Map,pe=q.getCompilerOptions(),Ae=ss(pe),Oe=pe.module!==0&&!Ae?t():void 0,_e=Oe?t():void 0,be=p(Oe,H);q.getTypeChecker();for(let Te of q.getSourceFiles()){let De=x.checkDefined(Te.version,\"Program intended to be used with Builder should have source files with versions set\"),ft=be?(le=H.oldSignatures)==null?void 0:le.get(Te.resolvedPath):void 0,he=ft===void 0?be?(Ee=H.fileInfos.get(Te.resolvedPath))==null?void 0:Ee.signature:void 0:ft||void 0;if(Oe){let Le=d(q,Te,q.getCanonicalFileName);if(Le&&Oe.set(Te.resolvedPath,Le),be){let Ke=(ce=H.oldExportedModulesMap)==null?void 0:ce.get(Te.resolvedPath),Dt=Ke===void 0?H.exportedModulesMap.getValues(Te.resolvedPath):Ke||void 0;Dt&&_e.set(Te.resolvedPath,Dt)}}Z.set(Te.resolvedPath,{version:De,signature:he,affectsGlobalScope:Ae?void 0:W(Te)||void 0,impliedFormat:Te.impliedNodeFormat})}return{fileInfos:Z,referencedMap:Oe,exportedModulesMap:_e,useFileVersionAsSignature:!ee&&!be}}e.create=h;function m(q){q.allFilesExcludingDefaultLibraryFile=void 0,q.allFileNames=void 0}e.releaseCache=m;function v(q,H,ee,le,Ee){var ce,Z;let pe=E(q,H,ee,le,Ee);return(ce=q.oldSignatures)==null||ce.clear(),(Z=q.oldExportedModulesMap)==null||Z.clear(),pe}e.getFilesAffectedBy=v;function E(q,H,ee,le,Ee){let ce=H.getSourceFileByPath(ee);return ce?C(q,H,ce,le,Ee)?(q.referencedMap?fe:de)(q,H,ce,le,Ee):[ce]:je}e.getFilesAffectedByWithOldState=E;function S(q,H,ee){q.fileInfos.get(ee).signature=H,(q.hasCalledUpdateShapeSignature||(q.hasCalledUpdateShapeSignature=new Set)).add(ee)}e.updateSignatureOfFile=S;function A(q,H,ee,le,Ee){q.emit(H,(ce,Z,pe,Ae,Oe,_e)=>{x.assert(Yc(ce),`File extension for signature expected to be dts: Got:: ${ce}`),Ee(jH(q,H,Z,le,_e),Oe)},ee,!0,void 0,!0)}e.computeDtsSignature=A;function C(q,H,ee,le,Ee,ce=q.useFileVersionAsSignature){var Z;if((Z=q.hasCalledUpdateShapeSignature)!=null&&Z.has(ee.resolvedPath))return!1;let pe=q.fileInfos.get(ee.resolvedPath),Ae=pe.signature,Oe;if(!ee.isDeclarationFile&&!ce&&A(H,ee,le,Ee,(_e,be)=>{Oe=_e,Oe!==Ae&&R(q,ee,be[0].exportedModulesFromDeclarationEmit)}),Oe===void 0&&(Oe=ee.version,q.exportedModulesMap&&Oe!==Ae)){(q.oldExportedModulesMap||(q.oldExportedModulesMap=new Map)).set(ee.resolvedPath,q.exportedModulesMap.getValues(ee.resolvedPath)||!1);let _e=q.referencedMap?q.referencedMap.getValues(ee.resolvedPath):void 0;_e?q.exportedModulesMap.set(ee.resolvedPath,_e):q.exportedModulesMap.deleteKey(ee.resolvedPath)}return(q.oldSignatures||(q.oldSignatures=new Map)).set(ee.resolvedPath,Ae||!1),(q.hasCalledUpdateShapeSignature||(q.hasCalledUpdateShapeSignature=new Set)).add(ee.resolvedPath),pe.signature=Oe,Oe!==Ae}e.updateShapeSignature=C;function R(q,H,ee){if(!q.exportedModulesMap)return;(q.oldExportedModulesMap||(q.oldExportedModulesMap=new Map)).set(H.resolvedPath,q.exportedModulesMap.getValues(H.resolvedPath)||!1);let le=L(ee);le?q.exportedModulesMap.set(H.resolvedPath,le):q.exportedModulesMap.deleteKey(H.resolvedPath)}e.updateExportedModules=R;function L(q){let H;return q?.forEach(ee=>o(ee).forEach(le=>(H??(H=new Set)).add(le))),H}e.getExportedModules=L;function G(q,H,ee){let le=H.getCompilerOptions();if(ss(le)||!q.referencedMap||W(ee))return U(q,H);let Ee=new Set,ce=[ee.resolvedPath];for(;ce.length;){let Z=ce.pop();if(!Ee.has(Z)){Ee.add(Z);let pe=q.referencedMap.getValues(Z);if(pe)for(let Ae of pe.keys())ce.push(Ae)}}return bo(WD(Ee.keys(),Z=>{var pe;return((pe=H.getSourceFileByPath(Z))==null?void 0:pe.fileName)??Z}))}e.getAllDependencies=G;function U(q,H){if(!q.allFileNames){let ee=H.getSourceFiles();q.allFileNames=ee===je?je:ee.map(le=>le.fileName)}return q.allFileNames}function K(q,H){let ee=q.referencedMap.getKeys(H);return ee?bo(ee.keys()):[]}e.getReferencedByPaths=K;function F(q){for(let H of q.statements)if(!iW(H))return!1;return!0}function oe(q){return ct(q.moduleAugmentations,H=>Jm(H.parent))}function W(q){return oe(q)||!sp(q)&&!yf(q)&&!F(q)}function $(q,H,ee){if(q.allFilesExcludingDefaultLibraryFile)return q.allFilesExcludingDefaultLibraryFile;let le;ee&&Ee(ee);for(let ce of H.getSourceFiles())ce!==ee&&Ee(ce);return q.allFilesExcludingDefaultLibraryFile=le||je,q.allFilesExcludingDefaultLibraryFile;function Ee(ce){H.isSourceFileDefaultLibrary(ce)||(le||(le=[])).push(ce)}}e.getAllFilesExcludingDefaultLibraryFile=$;function de(q,H,ee){let le=H.getCompilerOptions();return le&&ss(le)?[ee]:$(q,H,ee)}function fe(q,H,ee,le,Ee){if(W(ee))return $(q,H,ee);let ce=H.getCompilerOptions();if(ce&&(xf(ce)||ss(ce)))return[ee];let Z=new Map;Z.set(ee.resolvedPath,ee);let pe=K(q,ee.resolvedPath);for(;pe.length>0;){let Ae=pe.pop();if(!Z.has(Ae)){let Oe=H.getSourceFileByPath(Ae);Z.set(Ae,Oe),Oe&&C(q,H,Oe,le,Ee)&&pe.push(...K(q,Oe.resolvedPath))}}return bo(WD(Z.values(),Ae=>Ae))}})(Qf||(Qf={}))}});function vy(e){let t=1;return e.sourceMap&&(t=t|2),e.inlineSourceMap&&(t=t|4),Xp(e)&&(t=t|8),e.declarationMap&&(t=t|16),e.emitDeclarationOnly&&(t=t&24),t}function cR(e,t){let r=t&&(jg(t)?t:vy(t)),i=jg(e)?e:vy(e);if(r===i)return 0;if(!r||!i)return i;let o=r^i,s=0;return o&7&&(s=i&7),o&24&&(s=s|i&24),s}function O7e(e,t){return e===t||e!==void 0&&t!==void 0&&e.size===t.size&&!O_(e,r=>!t.has(r))}function w7e(e,t){var r,i;let o=Qf.create(e,t,!1);o.program=e;let s=e.getCompilerOptions();o.compilerOptions=s;let l=ss(s);l?s.composite&&t?.outSignature&&l===ss(t?.compilerOptions)&&(o.outSignature=t.outSignature&&aTe(s,t.compilerOptions,t.outSignature)):o.semanticDiagnosticsPerFile=new Map,o.changedFilesSet=new Set,o.latestChangedDtsFile=s.composite?t?.latestChangedDtsFile:void 0;let d=Qf.canReuseOldState(o.referencedMap,t),p=d?t.compilerOptions:void 0,h=d&&t.semanticDiagnosticsPerFile&&!!o.semanticDiagnosticsPerFile&&!Yne(s,p),m=s.composite&&t?.emitSignatures&&!l&&!Qne(s,t.compilerOptions);d?((r=t.changedFilesSet)==null||r.forEach(C=>o.changedFilesSet.add(C)),!l&&((i=t.affectedFilesPendingEmit)!=null&&i.size)&&(o.affectedFilesPendingEmit=new Map(t.affectedFilesPendingEmit),o.seenAffectedFiles=new Set),o.programEmitPending=t.programEmitPending):o.buildInfoEmitPending=!0;let v=o.referencedMap,E=d?t.referencedMap:void 0,S=h&&!s.skipLibCheck==!p.skipLibCheck,A=S&&!s.skipDefaultLibCheck==!p.skipDefaultLibCheck;if(o.fileInfos.forEach((C,R)=>{var L;let G,U;if(!d||!(G=t.fileInfos.get(R))||G.version!==C.version||G.impliedFormat!==C.impliedFormat||!O7e(U=v&&v.getValues(R),E&&E.getValues(R))||U&&O_(U,K=>!o.fileInfos.has(K)&&t.fileInfos.has(K)))oTe(o,R);else{let K=e.getSourceFileByPath(R),F=(L=t.emitDiagnosticsPerFile)==null?void 0:L.get(R);if(F&&(o.emitDiagnosticsPerFile??(o.emitDiagnosticsPerFile=new Map)).set(R,t.hasReusableDiagnostic?cTe(F,e):sTe(F,e)),h){if(K.isDeclarationFile&&!S||K.hasNoDefaultLib&&!A)return;let oe=t.semanticDiagnosticsPerFile.get(R);oe&&(o.semanticDiagnosticsPerFile.set(R,t.hasReusableDiagnostic?cTe(oe,e):sTe(oe,e)),(o.semanticDiagnosticsFromOldState??(o.semanticDiagnosticsFromOldState=new Set)).add(R))}}if(m){let K=t.emitSignatures.get(R);K&&(o.emitSignatures??(o.emitSignatures=new Map)).set(R,aTe(s,t.compilerOptions,K))}}),d&&hc(t.fileInfos,(C,R)=>o.fileInfos.has(R)?!1:l||C.affectsGlobalScope?!0:(o.buildInfoEmitPending=!0,!1)))Qf.getAllFilesExcludingDefaultLibraryFile(o,e,void 0).forEach(C=>oTe(o,C.resolvedPath));else if(p){let C=$ne(s,p)?vy(s):cR(s,p);C!==0&&(l?o.programEmitPending=o.programEmitPending?o.programEmitPending|C:C:(e.getSourceFiles().forEach(R=>{o.changedFilesSet.has(R.resolvedPath)||Bae(o,R.resolvedPath,C)}),x.assert(!o.seenAffectedFiles||!o.seenAffectedFiles.size),o.seenAffectedFiles=o.seenAffectedFiles||new Set,o.buildInfoEmitPending=!0))}return l&&!o.changedFilesSet.size&&(d&&(o.bundle=t.bundle),ct(e.getProjectReferences(),C=>!!C.prepend)&&(o.programEmitPending=vy(s))),o}function oTe(e,t){e.changedFilesSet.add(t),e.buildInfoEmitPending=!0,e.programEmitPending=void 0}function aTe(e,t,r){return!!e.declarationMap==!!t.declarationMap?r:fo(r)?[r]:r[0]}function sTe(e,t){return e.length?sc(e,r=>{if(fo(r.messageText))return r;let i=Oae(r.messageText,r.file,t,o=>{var s;return(s=o.repopulateInfo)==null?void 0:s.call(o)});return i===r.messageText?r:{...r,messageText:i}}):e}function Oae(e,t,r,i){let o=i(e);if(o)return{...Q8(t,r,o.moduleReference,o.mode,o.packageName||o.moduleReference),next:lTe(e.next,t,r,i)};let s=lTe(e.next,t,r,i);return s===e.next?e:{...e,next:s}}function lTe(e,t,r,i){return sc(e,o=>Oae(o,t,r,i))}function cTe(e,t){if(!e.length)return je;let r;return e.map(o=>{let s=dTe(o,t,i);s.reportsUnnecessary=o.reportsUnnecessary,s.reportsDeprecated=o.reportDeprecated,s.source=o.source,s.skippedOn=o.skippedOn;let{relatedInformation:l}=o;return s.relatedInformation=l?l.length?l.map(d=>dTe(d,t,i)):[]:void 0,s});function i(o){return r??(r=Ur(Qi(dv(t.getCompilerOptions()),t.getCurrentDirectory()))),ks(o,r,t.getCanonicalFileName)}}function dTe(e,t,r){let{file:i}=e,o=i?t.getSourceFileByPath(r(i)):void 0;return{...e,file:o,messageText:fo(e.messageText)?e.messageText:Oae(e.messageText,o,t,s=>s.info)}}function W7e(e){Qf.releaseCache(e),e.program=void 0}function F7e(e){let t=ss(e.compilerOptions);return x.assert(!e.changedFilesSet.size||t),{affectedFilesPendingEmit:e.affectedFilesPendingEmit&&new Map(e.affectedFilesPendingEmit),seenEmittedFiles:e.seenEmittedFiles&&new Map(e.seenEmittedFiles),programEmitPending:e.programEmitPending,emitSignatures:e.emitSignatures&&new Map(e.emitSignatures),outSignature:e.outSignature,latestChangedDtsFile:e.latestChangedDtsFile,hasChangedEmitSignature:e.hasChangedEmitSignature,changedFilesSet:t?new Set(e.changedFilesSet):void 0,buildInfoEmitPending:e.buildInfoEmitPending,emitDiagnosticsPerFile:e.emitDiagnosticsPerFile&&new Map(e.emitDiagnosticsPerFile)}}function z7e(e,t){e.affectedFilesPendingEmit=t.affectedFilesPendingEmit,e.seenEmittedFiles=t.seenEmittedFiles,e.programEmitPending=t.programEmitPending,e.emitSignatures=t.emitSignatures,e.outSignature=t.outSignature,e.latestChangedDtsFile=t.latestChangedDtsFile,e.hasChangedEmitSignature=t.hasChangedEmitSignature,e.buildInfoEmitPending=t.buildInfoEmitPending,e.emitDiagnosticsPerFile=t.emitDiagnosticsPerFile,t.changedFilesSet&&(e.changedFilesSet=t.changedFilesSet)}function uTe(e,t){x.assert(!t||!e.affectedFiles||e.affectedFiles[e.affectedFilesIndex-1]!==t||!e.semanticDiagnosticsPerFile.has(t.resolvedPath))}function pTe(e,t,r){for(var i,o;;){let{affectedFiles:s}=e;if(s){let h=e.seenAffectedFiles,m=e.affectedFilesIndex;for(;m<s.length;){let v=s[m];if(!h.has(v.resolvedPath))return e.affectedFilesIndex=m,Bae(e,v.resolvedPath,vy(e.compilerOptions)),j7e(e,v,t,r),v;m++}e.changedFilesSet.delete(e.currentChangedFilePath),e.currentChangedFilePath=void 0,(i=e.oldSignatures)==null||i.clear(),(o=e.oldExportedModulesMap)==null||o.clear(),e.affectedFiles=void 0}let l=e.changedFilesSet.keys().next();if(l.done)return;let d=x.checkDefined(e.program),p=d.getCompilerOptions();if(ss(p))return x.assert(!e.semanticDiagnosticsPerFile),d;e.affectedFiles=Qf.getFilesAffectedByWithOldState(e,d,l.value,t,r),e.currentChangedFilePath=l.value,e.affectedFilesIndex=0,e.seenAffectedFiles||(e.seenAffectedFiles=new Set)}}function B7e(e,t){var r;if((r=e.affectedFilesPendingEmit)!=null&&r.size){if(!t)return e.affectedFilesPendingEmit=void 0;e.affectedFilesPendingEmit.forEach((i,o)=>{let s=i&7;s?e.affectedFilesPendingEmit.set(o,s):e.affectedFilesPendingEmit.delete(o)})}}function G7e(e,t){var r;if((r=e.affectedFilesPendingEmit)!=null&&r.size)return hc(e.affectedFilesPendingEmit,(i,o)=>{var s;let l=e.program.getSourceFileByPath(o);if(!l||!LS(l,e.program)){e.affectedFilesPendingEmit.delete(o);return}let d=(s=e.seenEmittedFiles)==null?void 0:s.get(l.resolvedPath),p=cR(i,d);if(t&&(p=p&24),p)return{affectedFile:l,emitKind:p}})}function V7e(e){var t;if((t=e.emitDiagnosticsPerFile)!=null&&t.size)return hc(e.emitDiagnosticsPerFile,(r,i)=>{var o;let s=e.program.getSourceFileByPath(i);if(!s||!LS(s,e.program)){e.emitDiagnosticsPerFile.delete(i);return}let l=((o=e.seenEmittedFiles)==null?void 0:o.get(s.resolvedPath))||0;if(!(l&24))return{affectedFile:s,diagnostics:r,seenKind:l}})}function fTe(e){if(!e.cleanedDiagnosticsOfLibFiles){e.cleanedDiagnosticsOfLibFiles=!0;let t=x.checkDefined(e.program),r=t.getCompilerOptions();an(t.getSourceFiles(),i=>t.isSourceFileDefaultLibrary(i)&&!UC(i,r,t)&&wae(e,i.resolvedPath))}}function j7e(e,t,r,i){if(wae(e,t.resolvedPath),e.allFilesExcludingDefaultLibraryFile===e.affectedFiles){fTe(e),Qf.updateShapeSignature(e,x.checkDefined(e.program),t,r,i);return}e.compilerOptions.assumeChangesOnlyAffectDirectDependencies||U7e(e,t,r,i)}function VH(e,t,r,i){if(wae(e,t),!e.changedFilesSet.has(t)){let o=x.checkDefined(e.program),s=o.getSourceFileByPath(t);s&&(Qf.updateShapeSignature(e,o,s,r,i,!0),Xp(e.compilerOptions)&&Bae(e,t,e.compilerOptions.declarationMap?24:8))}}function wae(e,t){return e.semanticDiagnosticsFromOldState?(e.semanticDiagnosticsFromOldState.delete(t),e.semanticDiagnosticsPerFile.delete(t),!e.semanticDiagnosticsFromOldState.size):!0}function mTe(e,t){let r=x.checkDefined(e.oldSignatures).get(t)||void 0;return x.checkDefined(e.fileInfos.get(t)).signature!==r}function Wae(e,t,r,i){var o;return(o=e.fileInfos.get(t))!=null&&o.affectsGlobalScope?(Qf.getAllFilesExcludingDefaultLibraryFile(e,e.program,void 0).forEach(s=>VH(e,s.resolvedPath,r,i)),fTe(e),!0):!1}function U7e(e,t,r,i){var o;if(!e.exportedModulesMap||!e.changedFilesSet.has(t.resolvedPath)||!mTe(e,t.resolvedPath))return;if(xf(e.compilerOptions)){let l=new Map;l.set(t.resolvedPath,!0);let d=Qf.getReferencedByPaths(e,t.resolvedPath);for(;d.length>0;){let p=d.pop();if(!l.has(p)){if(l.set(p,!0),Wae(e,p,r,i))return;if(VH(e,p,r,i),mTe(e,p)){let h=x.checkDefined(e.program).getSourceFileByPath(p);d.push(...Qf.getReferencedByPaths(e,h.resolvedPath))}}}}let s=new Set;(o=e.exportedModulesMap.getKeys(t.resolvedPath))==null||o.forEach(l=>{if(Wae(e,l,r,i))return!0;let d=e.referencedMap.getKeys(l);return d&&O_(d,p=>_Te(e,p,s,r,i))})}function _Te(e,t,r,i,o){var s,l;if(db(r,t)){if(Wae(e,t,i,o))return!0;VH(e,t,i,o),(s=e.exportedModulesMap.getKeys(t))==null||s.forEach(d=>_Te(e,d,r,i,o)),(l=e.referencedMap.getKeys(t))==null||l.forEach(d=>!r.has(d)&&VH(e,d,i,o))}}function Fae(e,t,r){return ro(H7e(e,t,r),x.checkDefined(e.program).getProgramDiagnostics(t))}function H7e(e,t,r){let i=t.resolvedPath;if(e.semanticDiagnosticsPerFile){let s=e.semanticDiagnosticsPerFile.get(i);if(s)return W4(s,e.compilerOptions)}let o=x.checkDefined(e.program).getBindAndCheckDiagnostics(t,r);return e.semanticDiagnosticsPerFile&&e.semanticDiagnosticsPerFile.set(i,o),W4(o,e.compilerOptions)}function zae(e){return!!ss(e.options||{})}function q7e(e,t){var r,i,o;let s=x.checkDefined(e.program).getCurrentDirectory(),l=Ur(Qi(dv(e.compilerOptions),s)),d=e.latestChangedDtsFile?oe(e.latestChangedDtsFile):void 0,p=[],h=new Map,m=[];if(ss(e.compilerOptions)){let pe=bo(e.fileInfos.entries(),([De,ft])=>{let he=$(De);return fe(De,he),ft.impliedFormat?{version:ft.version,impliedFormat:ft.impliedFormat,signature:void 0,affectsGlobalScope:void 0}:ft.version}),Ae={fileNames:p,fileInfos:pe,root:m,options:q(e.compilerOptions),outSignature:e.outSignature,latestChangedDtsFile:d,pendingEmit:e.programEmitPending?e.programEmitPending===vy(e.compilerOptions)?!1:e.programEmitPending:void 0},{js:Oe,dts:_e,commonSourceDirectory:be,sourceFiles:Te}=t;return e.bundle=t={commonSourceDirectory:be,sourceFiles:Te,js:Oe||(e.compilerOptions.emitDeclarationOnly||(r=e.bundle)==null?void 0:r.js),dts:_e||(Xp(e.compilerOptions)?(i=e.bundle)==null?void 0:i.dts:void 0)},_k(Ae,t)}let v,E,S,A=bo(e.fileInfos.entries(),([pe,Ae])=>{var Oe,_e;let be=$(pe);fe(pe,be),x.assert(p[be-1]===W(pe));let Te=(Oe=e.oldSignatures)==null?void 0:Oe.get(pe),De=Te!==void 0?Te||void 0:Ae.signature;if(e.compilerOptions.composite){let ft=e.program.getSourceFileByPath(pe);if(!yf(ft)&&LS(ft,e.program)){let he=(_e=e.emitSignatures)==null?void 0:_e.get(pe);he!==De&&(S||(S=[])).push(he===void 0?be:[be,!fo(he)&&he[0]===De?je:he])}}return Ae.version===De?Ae.affectsGlobalScope||Ae.impliedFormat?{version:Ae.version,signature:void 0,affectsGlobalScope:Ae.affectsGlobalScope,impliedFormat:Ae.impliedFormat}:Ae.version:De!==void 0?Te===void 0?Ae:{version:Ae.version,signature:De,affectsGlobalScope:Ae.affectsGlobalScope,impliedFormat:Ae.impliedFormat}:{version:Ae.version,signature:!1,affectsGlobalScope:Ae.affectsGlobalScope,impliedFormat:Ae.impliedFormat}}),C;e.referencedMap&&(C=bo(e.referencedMap.keys()).sort(gd).map(pe=>[$(pe),de(e.referencedMap.getValues(pe))]));let R;e.exportedModulesMap&&(R=Fi(bo(e.exportedModulesMap.keys()).sort(gd),pe=>{var Ae;let Oe=(Ae=e.oldExportedModulesMap)==null?void 0:Ae.get(pe);if(Oe===void 0)return[$(pe),de(e.exportedModulesMap.getValues(pe))];if(Oe)return[$(pe),de(Oe)]}));let L=ee(e.semanticDiagnosticsPerFile),G;if((o=e.affectedFilesPendingEmit)!=null&&o.size){let pe=vy(e.compilerOptions),Ae=new Set;for(let Oe of bo(e.affectedFilesPendingEmit.keys()).sort(gd))if(db(Ae,Oe)){let _e=e.program.getSourceFileByPath(Oe);if(!_e||!LS(_e,e.program))continue;let be=$(Oe),Te=e.affectedFilesPendingEmit.get(Oe);(G||(G=[])).push(Te===pe?be:Te===8?[be]:[be,Te])}}let U;if(e.changedFilesSet.size)for(let pe of bo(e.changedFilesSet.keys()).sort(gd))(U||(U=[])).push($(pe));let K=ee(e.emitDiagnosticsPerFile),F={fileNames:p,fileInfos:A,root:m,options:q(e.compilerOptions),fileIdsList:v,referencedMap:C,exportedModulesMap:R,semanticDiagnosticsPerFile:L,emitDiagnosticsPerFile:K,affectedFilesPendingEmit:G,changeFileSet:U,emitSignatures:S,latestChangedDtsFile:d};return _k(F,t);function oe(pe){return W(Qi(pe,s))}function W(pe){return ME(Gf(l,pe,e.program.getCanonicalFileName))}function $(pe){let Ae=h.get(pe);return Ae===void 0&&(p.push(W(pe)),h.set(pe,Ae=p.length)),Ae}function de(pe){let Ae=bo(pe.keys(),$).sort(Ms),Oe=Ae.join(),_e=E?.get(Oe);return _e===void 0&&((v||(v=[])).push(Ae),(E||(E=new Map)).set(Oe,_e=v.length)),_e}function fe(pe,Ae){let Oe=e.program.getSourceFile(pe);if(!e.program.getFileIncludeReasons().get(Oe.path).some(De=>De.kind===0))return;if(!m.length)return m.push(Ae);let _e=m[m.length-1],be=oo(_e);if(be&&_e[1]===Ae-1)return _e[1]=Ae;if(be||m.length===1||_e!==Ae-1)return m.push(Ae);let Te=m[m.length-2];return!jg(Te)||Te!==_e-1?m.push(Ae):(m[m.length-2]=[Te,Ae],m.length=m.length-1)}function q(pe){let Ae,{optionsNameMap:Oe}=Xx();for(let _e of fh(pe).sort(gd)){let be=Oe.get(_e.toLowerCase());be?.affectsBuildInfo&&((Ae||(Ae={}))[_e]=H(be,pe[_e]))}return Ae}function H(pe,Ae){if(pe){if(x.assert(pe.type!==\"listOrElement\"),pe.type===\"list\"){let Oe=Ae;if(pe.element.isFilePath&&Oe.length)return Oe.map(oe)}else if(pe.isFilePath)return oe(Ae)}return Ae}function ee(pe){let Ae;if(pe)for(let Oe of bo(pe.keys()).sort(gd)){let _e=pe.get(Oe);(Ae||(Ae=[])).push(_e.length?[$(Oe),le(_e)]:$(Oe))}return Ae}function le(pe){return x.assert(!!pe.length),pe.map(Ae=>{let Oe=Ee(Ae);Oe.reportsUnnecessary=Ae.reportsUnnecessary,Oe.reportDeprecated=Ae.reportsDeprecated,Oe.source=Ae.source,Oe.skippedOn=Ae.skippedOn;let{relatedInformation:_e}=Ae;return Oe.relatedInformation=_e?_e.length?_e.map(be=>Ee(be)):[]:void 0,Oe})}function Ee(pe){let{file:Ae}=pe;return{...pe,file:Ae?W(Ae.resolvedPath):void 0,messageText:fo(pe.messageText)?pe.messageText:ce(pe.messageText)}}function ce(pe){if(pe.repopulateInfo)return{info:pe.repopulateInfo(),next:Z(pe.next)};let Ae=Z(pe.next);return Ae===pe.next?pe:{...pe,next:Ae}}function Z(pe){return pe&&(an(pe,(Ae,Oe)=>{let _e=ce(Ae);if(Ae===_e)return;let be=Oe>0?pe.slice(0,Oe-1):[];be.push(_e);for(let Te=Oe+1;Te<pe.length;Te++)be.push(ce(pe[Te]));return be})||pe)}}function V4(e,t,r,i,o,s){let l,d,p;return e===void 0?(x.assert(t===void 0),l=r,p=i,x.assert(!!p),d=p.getProgram()):oo(e)?(p=i,d=w4({rootNames:e,options:t,host:r,oldProgram:p&&p.getProgramOrUndefined(),configFileParsingDiagnostics:o,projectReferences:s}),l=r):(d=e,l=t,p=r,o=i),{host:l,newProgram:d,oldProgram:p,configFileParsingDiagnostics:o||je}}function hTe(e,t){return t?.sourceMapUrlPos!==void 0?e.substring(0,t.sourceMapUrlPos):e}function jH(e,t,r,i,o){var s;r=hTe(r,o);let l;return(s=o?.diagnostics)!=null&&s.length&&(r+=o.diagnostics.map(h=>`${p(h)}${bM[h.category]}${h.code}: ${d(h.messageText)}`).join(`\n`)),(i.createHash??qD)(r);function d(h){return fo(h)?h:h===void 0?\"\":h.next?h.messageText+h.next.map(d).join(`\n`):h.messageText}function p(h){return h.file.resolvedPath===t.resolvedPath?`(${h.start},${h.length})`:(l===void 0&&(l=Ur(t.resolvedPath)),`${ME(Gf(l,h.file.resolvedPath,e.getCanonicalFileName))}(${h.start},${h.length})`)}}function oT(e,t,r){return(t.createHash??qD)(hTe(e,r))}function UH(e,{newProgram:t,host:r,oldProgram:i,configFileParsingDiagnostics:o}){let s=i&&i.getState();if(s&&t===s.program&&o===t.getConfigFileParsingDiagnostics())return t=void 0,s=void 0,i;let l=w7e(t,s);t.getBuildInfo=C=>q7e(l,C),t=void 0,i=void 0,s=void 0;let d=()=>l,p=qH(d,o);return p.getState=d,p.saveEmitState=()=>F7e(l),p.restoreEmitState=C=>z7e(l,C),p.hasChangedEmitSignature=()=>!!l.hasChangedEmitSignature,p.getAllDependencies=C=>Qf.getAllDependencies(l,x.checkDefined(l.program),C),p.getSemanticDiagnostics=A,p.emit=E,p.releaseProgram=()=>W7e(l),e===0?p.getSemanticDiagnosticsOfNextAffectedFile=S:e===1?(p.getSemanticDiagnosticsOfNextAffectedFile=S,p.emitNextAffectedFile=m,p.emitBuildInfo=h):Ro(),p;function h(C,R){if(l.buildInfoEmitPending){let L=x.checkDefined(l.program).emitBuildInfo(C||Wo(r,r.writeFile),R);return l.buildInfoEmitPending=!1,L}return G4}function m(C,R,L,G){var U,K,F;let oe=pTe(l,R,r),W=vy(l.compilerOptions),$=L?W&24:W;if(!oe)if(ss(l.compilerOptions)){if(!l.programEmitPending||($=l.programEmitPending,L&&($=$&24),!$))return;oe=l.program}else{let q=G7e(l,L);if(!q){let H=V7e(l);if(H)return(l.seenEmittedFiles??(l.seenEmittedFiles=new Map)).set(H.affectedFile.resolvedPath,H.seenKind|24),{result:{emitSkipped:!0,diagnostics:H.diagnostics},affected:H.affectedFile};if(!l.buildInfoEmitPending)return;let ee=l.program,le=ee.emitBuildInfo(C||Wo(r,r.writeFile),R);return l.buildInfoEmitPending=!1,{result:le,affected:ee}}({affectedFile:oe,emitKind:$}=q)}let de;$&7&&(de=0),$&24&&(de=de===void 0?1:void 0),oe===l.program&&(l.programEmitPending=l.changedFilesSet.size?cR(W,$):l.programEmitPending?cR(l.programEmitPending,$):void 0);let fe=l.program.emit(oe===l.program?void 0:oe,v(C,G),R,de,G);if(oe!==l.program){let q=oe;l.seenAffectedFiles.add(q.resolvedPath),l.affectedFilesIndex!==void 0&&l.affectedFilesIndex++,l.buildInfoEmitPending=!0;let H=((U=l.seenEmittedFiles)==null?void 0:U.get(q.resolvedPath))||0;(l.seenEmittedFiles??(l.seenEmittedFiles=new Map)).set(q.resolvedPath,$|H);let ee=((K=l.affectedFilesPendingEmit)==null?void 0:K.get(q.resolvedPath))||W,le=cR(ee,$|H);le?(l.affectedFilesPendingEmit??(l.affectedFilesPendingEmit=new Map)).set(q.resolvedPath,le):(F=l.affectedFilesPendingEmit)==null||F.delete(q.resolvedPath),fe.diagnostics.length&&(l.emitDiagnosticsPerFile??(l.emitDiagnosticsPerFile=new Map)).set(q.resolvedPath,fe.diagnostics)}else l.changedFilesSet.clear();return{result:fe,affected:oe}}function v(C,R){return Xp(l.compilerOptions)?(L,G,U,K,F,oe)=>{var W,$,de,fe;if(Yc(L))if(ss(l.compilerOptions)){if(l.compilerOptions.composite){let H=q(l.outSignature,void 0);if(!H)return;l.outSignature=H}}else{x.assert(F?.length===1);let H;if(!R){let ee=F[0],le=l.fileInfos.get(ee.resolvedPath);if(le.signature===ee.version){let Ee=jH(l.program,ee,G,r,oe);(W=oe?.diagnostics)!=null&&W.length||(H=Ee),Ee!==ee.version&&(r.storeFilesChangingSignatureDuringEmit&&(l.filesChangingSignature??(l.filesChangingSignature=new Set)).add(ee.resolvedPath),l.exportedModulesMap&&Qf.updateExportedModules(l,ee,ee.exportedModulesFromDeclarationEmit),l.affectedFiles?((($=l.oldSignatures)==null?void 0:$.get(ee.resolvedPath))===void 0&&(l.oldSignatures??(l.oldSignatures=new Map)).set(ee.resolvedPath,le.signature||!1),le.signature=Ee):(le.signature=Ee,(de=l.oldExportedModulesMap)==null||de.clear()))}}if(l.compilerOptions.composite){let ee=F[0].resolvedPath;if(H=q((fe=l.emitSignatures)==null?void 0:fe.get(ee),H),!H)return;(l.emitSignatures??(l.emitSignatures=new Map)).set(ee,H)}}C?C(L,G,U,K,F,oe):r.writeFile?r.writeFile(L,G,U,K,F,oe):l.program.writeFile(L,G,U,K,F,oe);function q(H,ee){let le=!H||fo(H)?H:H[0];if(ee??(ee=oT(G,r,oe)),ee===le){if(H===le)return;oe?oe.differsOnlyInMap=!0:oe={differsOnlyInMap:!0}}else l.hasChangedEmitSignature=!0,l.latestChangedDtsFile=L;return ee}}:C||Wo(r,r.writeFile)}function E(C,R,L,G,U){e===1&&uTe(l,C);let K=wH(p,C,R,L);if(K)return K;if(!C)if(e===1){let F=[],oe=!1,W,$=[],de;for(;de=m(R,L,G,U);)oe=oe||de.result.emitSkipped,W=Pr(W,de.result.diagnostics),$=Pr($,de.result.emittedFiles),F=Pr(F,de.result.sourceMaps);return{emitSkipped:oe,diagnostics:W||je,emittedFiles:$,sourceMaps:F}}else B7e(l,G);return x.checkDefined(l.program).emit(C,v(R,U),L,G,U)}function S(C,R){for(;;){let L=pTe(l,C,r),G;if(L)if(L!==l.program){let U=L;if((!R||!R(U))&&(G=Fae(l,U,C)),l.seenAffectedFiles.add(U.resolvedPath),l.affectedFilesIndex++,l.buildInfoEmitPending=!0,!G)continue}else G=l.program.getSemanticDiagnostics(void 0,C),l.changedFilesSet.clear(),l.programEmitPending=vy(l.compilerOptions);else return;return{result:G,affected:L}}}function A(C,R){uTe(l,C);let L=x.checkDefined(l.program).getCompilerOptions();if(ss(L))return x.assert(!l.semanticDiagnosticsPerFile),x.checkDefined(l.program).getSemanticDiagnostics(C,R);if(C)return Fae(l,C,R);for(;S(R););let G;for(let U of x.checkDefined(l.program).getSourceFiles())G=Pr(G,Fae(l,U,R));return G||je}}function Bae(e,t,r){var i,o;let s=((i=e.affectedFilesPendingEmit)==null?void 0:i.get(t))||0;(e.affectedFilesPendingEmit??(e.affectedFilesPendingEmit=new Map)).set(t,s|r),(o=e.emitDiagnosticsPerFile)==null||o.delete(t)}function Gae(e){return fo(e)?{version:e,signature:e,affectsGlobalScope:void 0,impliedFormat:void 0}:fo(e.signature)?e:{version:e.version,signature:e.signature===!1?void 0:e.version,affectsGlobalScope:e.affectsGlobalScope,impliedFormat:e.impliedFormat}}function Vae(e,t){return jg(e)?t:e[1]||8}function jae(e,t){return e||vy(t||{})}function Uae(e,t,r){var i,o,s,l;let d=e.program,p=Ur(Qi(t,r.getCurrentDirectory())),h=od(r.useCaseSensitiveFileNames()),m,v=(i=d.fileNames)==null?void 0:i.map(A),E,S=d.latestChangedDtsFile?C(d.latestChangedDtsFile):void 0;if(zae(d)){let K=new Map;d.fileInfos.forEach((F,oe)=>{let W=R(oe+1);K.set(W,fo(F)?{version:F,signature:void 0,affectsGlobalScope:void 0,impliedFormat:void 0}:F)}),m={fileInfos:K,compilerOptions:d.options?sU(d.options,C):{},latestChangedDtsFile:S,outSignature:d.outSignature,programEmitPending:d.pendingEmit===void 0?void 0:jae(d.pendingEmit,d.options),bundle:e.bundle}}else{E=(o=d.fileIdsList)==null?void 0:o.map(W=>new Set(W.map(R)));let K=new Map,F=(s=d.options)!=null&&s.composite&&!ss(d.options)?new Map:void 0;d.fileInfos.forEach((W,$)=>{let de=R($+1),fe=Gae(W);K.set(de,fe),F&&fe.signature&&F.set(de,fe.signature)}),(l=d.emitSignatures)==null||l.forEach(W=>{if(jg(W))F.delete(R(W));else{let $=R(W[0]);F.set($,!fo(W[1])&&!W[1].length?[F.get($)]:W[1])}});let oe=d.affectedFilesPendingEmit?vy(d.options||{}):void 0;m={fileInfos:K,compilerOptions:d.options?sU(d.options,C):{},referencedMap:G(d.referencedMap),exportedModulesMap:G(d.exportedModulesMap),semanticDiagnosticsPerFile:U(d.semanticDiagnosticsPerFile),emitDiagnosticsPerFile:U(d.emitDiagnosticsPerFile),hasReusableDiagnostic:!0,affectedFilesPendingEmit:d.affectedFilesPendingEmit&&PE(d.affectedFilesPendingEmit,W=>R(jg(W)?W:W[0]),W=>Vae(W,oe)),changedFilesSet:new Set(nn(d.changeFileSet,R)),latestChangedDtsFile:S,emitSignatures:F?.size?F:void 0}}return{getState:()=>m,saveEmitState:Ca,restoreEmitState:Ca,getProgram:Ro,getProgramOrUndefined:ub,releaseProgram:Ca,getCompilerOptions:()=>m.compilerOptions,getSourceFile:Ro,getSourceFiles:Ro,getOptionsDiagnostics:Ro,getGlobalDiagnostics:Ro,getConfigFileParsingDiagnostics:Ro,getSyntacticDiagnostics:Ro,getDeclarationDiagnostics:Ro,getSemanticDiagnostics:Ro,emit:Ro,getAllDependencies:Ro,getCurrentDirectory:Ro,emitNextAffectedFile:Ro,getSemanticDiagnosticsOfNextAffectedFile:Ro,emitBuildInfo:Ro,close:Ca,hasChangedEmitSignature:_m};function A(K){return ks(K,p,h)}function C(K){return Qi(K,p)}function R(K){return v[K-1]}function L(K){return E[K-1]}function G(K){if(!K)return;let F=Qf.createManyToManyPathMap();return K.forEach(([oe,W])=>F.set(R(oe),L(W))),F}function U(K){return K&&PE(K,F=>R(jg(F)?F:F[0]),F=>jg(F)?je:F[1])}}function HH(e,t,r){let i=Ur(Qi(t,r.getCurrentDirectory())),o=od(r.useCaseSensitiveFileNames()),s=new Map,l=0,d=[];return e.fileInfos.forEach((p,h)=>{let m=ks(e.fileNames[h],i,o),v=fo(p)?p:p.version;if(s.set(m,v),l<e.root.length){let E=e.root[l],S=h+1;oo(E)?E[0]<=S&&S<=E[1]&&(d.push(m),E[1]===S&&l++):E===S&&(d.push(m),l++)}}),{fileInfos:s,roots:d}}function qH(e,t){return{getState:Ro,saveEmitState:Ca,restoreEmitState:Ca,getProgram:r,getProgramOrUndefined:()=>e().program,releaseProgram:()=>e().program=void 0,getCompilerOptions:()=>e().compilerOptions,getSourceFile:i=>r().getSourceFile(i),getSourceFiles:()=>r().getSourceFiles(),getOptionsDiagnostics:i=>r().getOptionsDiagnostics(i),getGlobalDiagnostics:i=>r().getGlobalDiagnostics(i),getConfigFileParsingDiagnostics:()=>t,getSyntacticDiagnostics:(i,o)=>r().getSyntacticDiagnostics(i,o),getDeclarationDiagnostics:(i,o)=>r().getDeclarationDiagnostics(i,o),getSemanticDiagnostics:(i,o)=>r().getSemanticDiagnostics(i,o),emit:(i,o,s,l,d)=>r().emit(i,o,s,l,d),emitBuildInfo:(i,o)=>r().emitBuildInfo(i,o),getAllDependencies:Ro,getCurrentDirectory:()=>r().getCurrentDirectory(),close:Ca};function r(){return x.checkDefined(e().program)}}var JH,KH,J7e=pt({\"src/compiler/builder.ts\"(){\"use strict\";wo(),JH=(e=>(e[e.None=0]=\"None\",e[e.Js=1]=\"Js\",e[e.JsMap=2]=\"JsMap\",e[e.JsInlineMap=4]=\"JsInlineMap\",e[e.Dts=8]=\"Dts\",e[e.DtsMap=16]=\"DtsMap\",e[e.AllJs=7]=\"AllJs\",e[e.AllDts=24]=\"AllDts\",e[e.All=31]=\"All\",e))(JH||{}),KH=(e=>(e[e.SemanticDiagnosticsBuilderProgram=0]=\"SemanticDiagnosticsBuilderProgram\",e[e.EmitAndSemanticDiagnosticsBuilderProgram=1]=\"EmitAndSemanticDiagnosticsBuilderProgram\",e))(KH||{})}});function gTe(e,t,r,i,o,s){return UH(0,V4(e,t,r,i,o,s))}function XH(e,t,r,i,o,s){return UH(1,V4(e,t,r,i,o,s))}function vTe(e,t,r,i,o,s){let{newProgram:l,configFileParsingDiagnostics:d}=V4(e,t,r,i,o,s);return qH(()=>({program:l,compilerOptions:l.getCompilerOptions()}),d)}var K7e=pt({\"src/compiler/builderPublic.ts\"(){\"use strict\";wo()}});function j4(e){return Zs(e,\"/node_modules/.staging\")?C1(e,\"/.staging\"):ct(AM,t=>e.includes(t))?void 0:e}function Hae(e,t){if(t<=1)return 1;let r=1,i=e[0].search(/[a-zA-Z]:/)===0;if(e[0]!==Os&&!i&&e[1].search(/[a-zA-Z]\\$$/)===0){if(t===2)return 2;r=2,i=!0}return i&&!e[r].match(/^users$/i)?r:e[r].match(/^workspaces$/i)?r+1:r+2}function U4(e,t){if(t===void 0&&(t=e.length),t<=2)return!1;let r=Hae(e,t);return t>r+1}function qae(e){return bTe(Ur(e))}function yTe(e,t){if(t.length<t.length)return!1;for(let r=0;r<e.length;r++)if(t[r]!==e[r])return!1;return!0}function bTe(e){return U4(mc(e))}function Jae(e){return bTe(e)}function YH(e,t,r,i,o,s){let l=mc(t);e=Ou(e)?Yo(e):Qi(e,s());let d=mc(e),p=Hae(l,l.length);if(l.length<=p+1)return;let h=l.indexOf(\"node_modules\");if(!(h!==-1&&h+1<=p+1))return yTe(o,l)?l.length>o.length+1?Kae(d,l,Math.max(o.length+1,p+1)):{dir:r,dirPath:i,nonRecursive:!0}:ETe(d,l,l.length-1,p,h,o)}function ETe(e,t,r,i,o,s){if(o!==-1)return Kae(e,t,o+1);let l=!0,d=r;for(let p=0;p<r;p++)if(t[p]!==s[p]){l=!1,d=Math.max(p+1,i+1);break}return Kae(e,t,d,l)}function Kae(e,t,r,i){return{dir:Vv(e,r),dirPath:Vv(t,r),nonRecursive:i}}function Xae(e,t,r,i,o,s){let l=mc(t);if(yTe(i,l))return r;e=Ou(e)?Yo(e):Qi(e,o());let d=ETe(mc(e),l,l.length,Hae(l,l.length),l.indexOf(\"node_modules\"),i);return d&&s(d.dirPath)?d.dirPath:void 0}function Yae(e,t){let r=Qi(e,t());return xG(r)?r:fb(r)}function STe(e){return e.split(Os).length-(Jg(e)?1:0)}function H4(e){var t;return((t=e.getCompilerHost)==null?void 0:t.call(e))||e}function $ae(e,t,r,i,o){return{nameAndMode:z4,resolve:(s,l)=>X7e(i,o,s,e,r,t,l)}}function X7e(e,t,r,i,o,s,l){let d=H4(e),p=Zx(r,i,o,d,t,s,l);if(!e.getGlobalCache)return p;let h=e.getGlobalCache();if(h!==void 0&&!Ic(r)&&!(p.resolvedModule&&mF(p.resolvedModule.extension))){let{resolvedModule:m,failedLookupLocations:v,affectingLocations:E,resolutionDiagnostics:S}=poe(x.checkDefined(e.globalCacheResolutionModuleName)(r),e.projectName,o,d,h,t);if(m)return p.resolvedModule=m,p.failedLookupLocations=$x(p.failedLookupLocations,v),p.affectingLocations=$x(p.affectingLocations,E),p.resolutionDiagnostics=$x(p.resolutionDiagnostics,S),p}return p}function $H(e,t,r){let i,o,s,l=Ep(),d=new Set,p=new Set,h=new Map,m=new Map,v=!1,E,S,A,C,R,L=!1,G=Kd(()=>e.getCurrentDirectory()),U=e.getCachedDirectoryStructureHost(),K=new Map,F=Qx(G(),e.getCanonicalFileName,e.getCompilationSettings()),oe=new Map,W=Q6(G(),e.getCanonicalFileName,e.getCompilationSettings(),F.getPackageJsonInfoCache(),F.optionsToRedirectsKey),$=new Map,de=Qx(G(),e.getCanonicalFileName,TU(e.getCompilationSettings()),F.getPackageJsonInfoCache()),fe=new Map,q=new Map,H=Yae(t,G),ee=e.toPath(H),le=mc(ee),Ee=new Map;return{rootDirForResolution:t,resolvedModuleNames:K,resolvedTypeReferenceDirectives:oe,resolvedLibraries:$,resolvedFileToResolution:h,resolutionsWithFailedLookups:d,resolutionsWithOnlyAffectingLocations:p,directoryWatchesOfFailedLookups:fe,fileWatchesOfAffectingLocations:q,watchFailedLookupLocationsOfExternalModuleResolutions:gn,getModuleResolutionCache:()=>F,startRecordingFilesWithChangedResolutions:Oe,finishRecordingFilesWithChangedResolutions:_e,startCachingPerDirectoryResolution:De,finishCachingPerDirectoryResolution:he,resolveModuleNameLiterals:Ge,resolveTypeReferenceDirectiveReferences:st,resolveLibrary:ot,resolveSingleModuleNameWithoutWatching:Vt,removeResolutionsFromProjectReferenceRedirects:Ue,removeResolutionsOfFile:Rt,hasChangedAutomaticTypeDirectiveNames:()=>v,invalidateResolutionOfFile:qr,invalidateResolutionsOfFailedLookupLocations:Jo,setFilesWithInvalidatedNonRelativeUnresolvedImports:ni,createHasInvalidatedResolutions:Te,isFileWithInvalidatedNonRelativeUnresolvedImports:be,updateTypeRootsWatch:tt,closeTypeRootsWatch:ke,clear:pe,onChangesAffectModuleResolution:Ae};function ce(re){return re.resolvedModule}function Z(re){return re.resolvedTypeReferenceDirective}function pe(){Au(fe,Qp),Au(q,Qp),l.clear(),ke(),K.clear(),oe.clear(),h.clear(),d.clear(),p.clear(),A=void 0,C=void 0,R=void 0,S=void 0,E=void 0,L=!1,F.clear(),W.clear(),F.update(e.getCompilationSettings()),W.update(e.getCompilationSettings()),de.clear(),m.clear(),$.clear(),v=!1}function Ae(){L=!0,F.clearAllExceptPackageJsonInfoCache(),W.clearAllExceptPackageJsonInfoCache(),F.update(e.getCompilationSettings()),W.update(e.getCompilationSettings())}function Oe(){i=[]}function _e(){let re=i;return i=void 0,re}function be(re){if(!s)return!1;let Ce=s.get(re);return!!Ce&&!!Ce.length}function Te(re,Ce){Jo();let et=o;return o=void 0,{hasInvalidatedResolutions:z=>re(z)||L||!!et?.has(z)||be(z),hasInvalidatedLibResolutions:z=>{var Je;return Ce(z)||!!((Je=$?.get(z))!=null&&Je.isInvalidated)}}}function De(){F.isReadonly=void 0,W.isReadonly=void 0,de.isReadonly=void 0,F.getPackageJsonInfoCache().isReadonly=void 0,F.clearAllExceptPackageJsonInfoCache(),W.clearAllExceptPackageJsonInfoCache(),de.clearAllExceptPackageJsonInfoCache(),l.forEach(Ki),l.clear()}function ft(re){$.forEach((Ce,et)=>{var z;(z=re?.resolvedLibReferences)!=null&&z.has(et)||(Gn(Ce,e.toPath(O4(e.getCompilationSettings(),G(),et)),ce),$.delete(et))})}function he(re,Ce){s=void 0,L=!1,l.forEach(Ki),l.clear(),re!==Ce&&(ft(re),re?.getSourceFiles().forEach(et=>{var z;let Je=sp(et)?((z=et.packageJsonLocations)==null?void 0:z.length)??0:0,_t=m.get(et.path)??je;for(let ze=_t.length;ze<Je;ze++)Wt(et.packageJsonLocations[ze],!1);if(_t.length>Je)for(let ze=Je;ze<_t.length;ze++)q.get(_t[ze]).files--;Je?m.set(et.path,et.packageJsonLocations):m.delete(et.path)}),m.forEach((et,z)=>{re?.getSourceFileByPath(z)||(et.forEach(Je=>q.get(Je).files--),m.delete(z))})),fe.forEach(Le),q.forEach(Ke),v=!1,F.isReadonly=!0,W.isReadonly=!0,de.isReadonly=!0,F.getPackageJsonInfoCache().isReadonly=!0}function Le(re,Ce){re.refCount===0&&(fe.delete(Ce),re.watcher.close())}function Ke(re,Ce){var et;re.files===0&&re.resolutions===0&&!((et=re.symlinks)!=null&&et.size)&&(q.delete(Ce),re.watcher.close())}function Dt({entries:re,containingFile:Ce,containingSourceFile:et,redirectedReference:z,options:Je,perFileCache:_t,reusedNames:ze,loader:it,getResolutionWithResolvedFileName:Ct,deferWatchingNonRelativeResolution:on,shouldRetryResolution:Qt,logChanges:Zt}){let V=e.toPath(Ce),Re=_t.get(V)||_t.set(V,bI()).get(V),St=[],M=Zt&&be(V),te=e.getCurrentProgram(),j=te&&te.getResolvedProjectReferenceToRedirect(Ce),se=j?!z||z.sourceFile.path!==j.sourceFile.path:!!z,Pe=bI();for(let gt of re){let bt=it.nameAndMode.getName(gt),Ot=it.nameAndMode.getMode(gt,et,z?.commandLine.options||Je),dn=Re.get(bt,Ot);if(!Pe.has(bt,Ot)&&(L||se||!dn||dn.isInvalidated||M&&!Ic(bt)&&Qt(dn))){let An=dn;dn=it.resolve(bt,Ot),e.onDiscoveredSymlink&&Y7e(dn)&&e.onDiscoveredSymlink(),Re.set(bt,Ot,dn),dn!==An&&(gn(bt,dn,V,Ct,on),An&&Gn(An,V,Ct)),Zt&&i&&!Ie(An,dn)&&(i.push(V),Zt=!1)}else{let An=H4(e);if(cg(Je,An)&&!Pe.has(bt,Ot)){let Cn=Ct(dn);to(An,_t===K?Cn?.resolvedFileName?Cn.packageId?f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:Cn?.resolvedFileName?Cn.packageId?f.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:f.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:f.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved,bt,Ce,Cn?.resolvedFileName,Cn?.packageId&&Qv(Cn.packageId))}}x.assert(dn!==void 0&&!dn.isInvalidated),Pe.set(bt,Ot,!0),St.push(dn)}return ze?.forEach(gt=>Pe.set(it.nameAndMode.getName(gt),it.nameAndMode.getMode(gt,et,z?.commandLine.options||Je),!0)),Re.size()!==Pe.size()&&Re.forEach((gt,bt,Ot)=>{Pe.has(bt,Ot)||(Gn(gt,V,Ct),Re.delete(bt,Ot))}),St;function Ie(gt,bt){if(gt===bt)return!0;if(!gt||!bt)return!1;let Ot=Ct(gt),dn=Ct(bt);return Ot===dn?!0:!Ot||!dn?!1:Ot.resolvedFileName===dn.resolvedFileName}}function st(re,Ce,et,z,Je,_t){return Dt({entries:re,containingFile:Ce,containingSourceFile:Je,redirectedReference:et,options:z,reusedNames:_t,perFileCache:oe,loader:L4(Ce,et,z,H4(e),W),getResolutionWithResolvedFileName:Z,shouldRetryResolution:ze=>ze.resolvedTypeReferenceDirective===void 0,deferWatchingNonRelativeResolution:!1})}function Ge(re,Ce,et,z,Je,_t){return Dt({entries:re,containingFile:Ce,containingSourceFile:Je,redirectedReference:et,options:z,reusedNames:_t,perFileCache:K,loader:$ae(Ce,et,z,e,F),getResolutionWithResolvedFileName:ce,shouldRetryResolution:ze=>!ze.resolvedModule||!VC(ze.resolvedModule.extension),logChanges:r,deferWatchingNonRelativeResolution:!0})}function ot(re,Ce,et,z){let Je=H4(e),_t=$?.get(z);if(!_t||_t.isInvalidated){let ze=_t;_t=Z6(re,Ce,et,Je,de);let it=e.toPath(Ce);gn(re,_t,it,ce,!1),$.set(z,_t),ze&&Gn(ze,it,ce)}else if(cg(et,Je)){let ze=ce(_t);to(Je,ze?.resolvedFileName?ze.packageId?f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:f.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved,re,Ce,ze?.resolvedFileName,ze?.packageId&&Qv(ze.packageId))}return _t}function Vt(re,Ce){var et,z;let Je=e.toPath(Ce),_t=K.get(Je),ze=_t?.get(re,void 0);if(ze&&!ze.isInvalidated)return ze;let it=(et=e.beforeResolveSingleModuleNameWithoutWatching)==null?void 0:et.call(e,F),Ct=H4(e),on=Zx(re,Ce,e.getCompilationSettings(),Ct,F);return(z=e.afterResolveSingleModuleNameWithoutWatching)==null||z.call(e,F,re,Ce,on,it),on}function jt(re){return Zs(re,\"/node_modules/@types\")}function gn(re,Ce,et,z,Je){var _t;if(Ce.refCount)Ce.refCount++,x.assertIsDefined(Ce.files);else{Ce.refCount=1,x.assert(!((_t=Ce.files)!=null&&_t.size)),!Je||Ic(re)?en(Ce):l.add(re,Ce);let ze=z(Ce);if(ze&&ze.resolvedFileName){let it=e.toPath(ze.resolvedFileName),Ct=h.get(it);Ct||h.set(it,Ct=new Set),Ct.add(Ce)}}(Ce.files??(Ce.files=new Set)).add(et)}function On(re,Ce){let et=e.toPath(re),z=YH(re,et,H,ee,le,G);if(z){let{dir:Je,dirPath:_t,nonRecursive:ze}=z;_t===ee?(x.assert(ze),Ce=!0):gi(Je,_t,ze)}return Ce}function en(re){x.assert(!!re.refCount);let{failedLookupLocations:Ce,affectingLocations:et,alternateResult:z}=re;if(!Ce?.length&&!et?.length&&!z)return;(Ce?.length||z)&&d.add(re);let Je=!1;if(Ce)for(let _t of Ce)Je=On(_t,Je);z&&(Je=On(z,Je)),Je&&gi(H,ee,!0),zt(re,!Ce?.length&&!z)}function zt(re,Ce){x.assert(!!re.refCount);let{affectingLocations:et}=re;if(et?.length){Ce&&p.add(re);for(let z of et)Wt(z,!0)}}function Wt(re,Ce){let et=q.get(re);if(et){Ce?et.resolutions++:et.files++;return}let z=re,Je=!1,_t;e.realpath&&(z=e.realpath(re),re!==z&&(Je=!0,_t=q.get(z)));let ze=Ce?1:0,it=Ce?0:1;if(!Je||!_t){let Ct={watcher:Jae(e.toPath(z))?e.watchAffectingFileLocation(z,(on,Qt)=>{U?.addOrDeleteFile(on,e.toPath(z),Qt),ei(z,F.getPackageJsonInfoCache().getInternalMap()),e.scheduleInvalidateResolutionsOfFailedLookupLocations()}):uR,resolutions:Je?0:ze,files:Je?0:it,symlinks:void 0};q.set(z,Ct),Je&&(_t=Ct)}if(Je){x.assert(!!_t);let Ct={watcher:{close:()=>{var on;let Qt=q.get(z);(on=Qt?.symlinks)!=null&&on.delete(re)&&!Qt.symlinks.size&&!Qt.resolutions&&!Qt.files&&(q.delete(z),Qt.watcher.close())}},resolutions:ze,files:it,symlinks:void 0};q.set(re,Ct),(_t.symlinks??(_t.symlinks=new Set)).add(re)}}function ei(re,Ce){var et;let z=q.get(re);z?.resolutions&&(S??(S=new Set)).add(re),z?.files&&(E??(E=new Set)).add(re),(et=z?.symlinks)==null||et.forEach(Je=>ei(Je,Ce)),Ce?.delete(e.toPath(re))}function Ki(re,Ce){let et=e.getCurrentProgram();!et||!et.getTypeChecker().tryFindAmbientModuleWithoutAugmentations(Ce)?re.forEach(en):re.forEach(z=>zt(z,!0))}function gi(re,Ce,et){let z=fe.get(Ce);z?(x.assert(!!et==!!z.nonRecursive),z.refCount++):fe.set(Ce,{watcher:cr(re,Ce,et),refCount:1,nonRecursive:et})}function io(re,Ce,et){let z=e.toPath(re),Je=YH(re,z,H,ee,le,G);if(Je){let{dirPath:_t}=Je;_t===ee?Ce=!0:Nr(_t,et)}return Ce}function Gn(re,Ce,et,z){if(x.checkDefined(re.files).delete(Ce),re.refCount--,re.refCount)return;let Je=et(re);if(Je&&Je.resolvedFileName){let Ct=e.toPath(Je.resolvedFileName),on=h.get(Ct);on?.delete(re)&&!on.size&&h.delete(Ct)}let{failedLookupLocations:_t,affectingLocations:ze,alternateResult:it}=re;if(d.delete(re)){let Ct=!1;if(_t)for(let on of _t)Ct=io(on,Ct,z);it&&(Ct=io(it,Ct,z)),Ct&&Nr(ee,z)}else ze?.length&&p.delete(re);if(ze)for(let Ct of ze){let on=q.get(Ct);on.resolutions--,z&&Ke(on,Ct)}}function Nr(re,Ce){let et=fe.get(re);et.refCount--,Ce&&Le(et,re)}function cr(re,Ce,et){return e.watchDirectoryOfFailedLookupLocation(re,z=>{let Je=e.toPath(z);U&&U.addOrDeleteFileOrDirectory(z,Je),ki(Je,Ce===Je)},et?0:1)}function Jt(re,Ce,et,z){let Je=re.get(Ce);Je&&(Je.forEach(_t=>Gn(_t,Ce,et,z)),re.delete(Ce))}function Ue(re){if(!el(re,\".json\"))return;let Ce=e.getCurrentProgram();if(!Ce)return;let et=Ce.getResolvedProjectReferenceByPath(re);et&&et.commandLine.fileNames.forEach(z=>Rt(e.toPath(z)))}function Rt(re,Ce){Jt(K,re,ce,Ce),Jt(oe,re,Z,Ce)}function mn(re,Ce){if(!re)return!1;let et=!1;return re.forEach(z=>{if(!(z.isInvalidated||!Ce(z))){z.isInvalidated=et=!0;for(let Je of x.checkDefined(z.files))(o??(o=new Set)).add(Je),v=v||Zs(Je,lR)}}),et}function qr(re){Rt(re);let Ce=v;mn(h.get(re),Ug)&&v&&!Ce&&e.onChangedAutomaticTypeDirectiveNames()}function ni(re){x.assert(s===re||s===void 0),s=re}function ki(re,Ce){if(Ce)(R||(R=new Set)).add(re);else{let et=j4(re);if(!et||(re=et,e.fileIsOpen(re)))return!1;let z=Ur(re);if(jt(re)||A8(re)||jt(z)||A8(z))(A||(A=new Set)).add(re),(C||(C=new Set)).add(re);else{if(Tae(e.getCurrentProgram(),re)||el(re,\".map\"))return!1;(A||(A=new Set)).add(re);let Je=tk(re,!0);Je&&(C||(C=new Set)).add(Je)}}e.scheduleInvalidateResolutionsOfFailedLookupLocations()}function so(){let re=F.getPackageJsonInfoCache().getInternalMap();re&&(A||C||R)&&re.forEach((Ce,et)=>ln(et)?re.delete(et):void 0)}function Jo(){var re;if(L)return E=void 0,so(),(A||C||R||S)&&mn($,Ea),A=void 0,C=void 0,R=void 0,S=void 0,!0;let Ce=!1;return E&&((re=e.getCurrentProgram())==null||re.getSourceFiles().forEach(et=>{ct(et.packageJsonLocations,z=>E.has(z))&&((o??(o=new Set)).add(et.path),Ce=!0)}),E=void 0),!A&&!C&&!R&&!S||(Ce=mn(d,Ea)||Ce,so(),A=void 0,C=void 0,R=void 0,Ce=mn(p,Tn)||Ce,S=void 0),Ce}function Ea(re){var Ce;return Tn(re)?!0:!A&&!C&&!R?!1:((Ce=re.failedLookupLocations)==null?void 0:Ce.some(et=>ln(e.toPath(et))))||!!re.alternateResult&&ln(e.toPath(re.alternateResult))}function ln(re){return A?.has(re)||cM(C?.keys()||[],Ce=>Ui(re,Ce)?!0:void 0)||cM(R?.keys()||[],Ce=>re.length>Ce.length&&Ui(re,Ce)&&(xG(Ce)||re[Ce.length]===Os)?!0:void 0)}function Tn(re){var Ce;return!!S&&((Ce=re.affectingLocations)==null?void 0:Ce.some(et=>S.has(et)))}function ke(){Au(Ee,vm)}function nt(re){return yt(re)?e.watchTypeRootsDirectory(re,Ce=>{let et=e.toPath(Ce);U&&U.addOrDeleteFileOrDirectory(Ce,et),v=!0,e.onChangedAutomaticTypeDirectiveNames();let z=Xae(re,e.toPath(re),ee,le,G,Je=>fe.has(Je));z&&ki(et,z===et)},1):uR}function tt(){let re=e.getCompilationSettings();if(re.types){ke();return}let Ce=RN(re,{getCurrentDirectory:G});Ce?FC(Ee,new Set(Ce),{createNewValue:nt,onDeleteValue:vm}):ke()}function yt(re){return e.getCompilationSettings().typeRoots?!0:qae(e.toPath(re))}}function Y7e(e){var t,r;return!!((t=e.resolvedModule)!=null&&t.originalPath||(r=e.resolvedTypeReferenceDirective)!=null&&r.originalPath)}var $7e=pt({\"src/compiler/resolutionCache.ts\"(){\"use strict\";wo()}});function Ik(e,t){let r=e===Hc&&ise?ise:{getCurrentDirectory:()=>e.getCurrentDirectory(),getNewLine:()=>e.newLine,getCanonicalFileName:od(e.useCaseSensitiveFileNames)};if(!t)return o=>e.write(IH(o,r));let i=new Array(1);return o=>{i[0]=o,e.write(Rae(i,r)+r.getNewLine()),i[0]=void 0}}function TTe(e,t,r){return e.clearScreen&&!r.preserveWatchOutput&&!r.extendedDiagnostics&&!r.diagnostics&&To($4,t.code)?(e.clearScreen(),!0):!1}function Q7e(e,t){return To($4,e.code)?t+t:t}function xk(e){return e.now?e.now().toLocaleTimeString(\"en-US\",{timeZone:\"UTC\"}).replace(\"\\u202F\",\" \"):new Date().toLocaleTimeString()}function Qae(e,t){return t?(r,i,o)=>{TTe(e,r,o);let s=`[${b0(xk(e),\"\\x1B[90m\")}] `;s+=`${a_(r.messageText,e.newLine)}${i+i}`,e.write(s)}:(r,i,o)=>{let s=\"\";TTe(e,r,o)||(s+=i),s+=`${xk(e)} - `,s+=`${a_(r.messageText,e.newLine)}${Q7e(r,i)}`,e.write(s)}}function ATe(e,t,r,i,o,s){let l=o;l.onUnRecoverableConfigFileDiagnostic=p=>RTe(o,s,p);let d=V2(e,t,l,r,i);return l.onUnRecoverableConfigFileDiagnostic=void 0,d}function q4(e){return Wv(e,t=>t.category===1)}function J4(e){return Cr(e,r=>r.category===1).map(r=>{if(r.file!==void 0)return`${r.file.fileName}`}).map(r=>{if(r===void 0)return;let i=Dr(e,o=>o.file!==void 0&&o.file.fileName===r);if(i!==void 0){let{line:o}=$a(i.file,i.start);return{fileName:r,line:o+1}}})}function QH(e){return e===1?f.Found_1_error_Watching_for_file_changes:f.Found_0_errors_Watching_for_file_changes}function ITe(e,t){let r=b0(\":\"+e.line,\"\\x1B[90m\");return JD(e.fileName)&&JD(t)?Gf(t,e.fileName,!1)+r:e.fileName+r}function Zae(e,t,r,i){if(e===0)return\"\";let o=t.filter(m=>m!==void 0),s=o.map(m=>`${m.fileName}:${m.line}`).filter((m,v,E)=>E.indexOf(m)===v),l=o[0]&&ITe(o[0],i.getCurrentDirectory()),d;e===1?d=t[0]!==void 0?[f.Found_1_error_in_0,l]:[f.Found_1_error]:d=s.length===0?[f.Found_0_errors,e]:s.length===1?[f.Found_0_errors_in_the_same_file_starting_at_Colon_1,e,l]:[f.Found_0_errors_in_1_files,e,s.length];let p=bl(...d),h=s.length>1?Z7e(o,i):\"\";return`${r}${a_(p.messageText,r)}${r}${r}${h}`}function Z7e(e,t){let r=e.filter((v,E,S)=>E===S.findIndex(A=>A?.fileName===v?.fileName));if(r.length===0)return\"\";let i=v=>Math.log(v)*Math.LOG10E+1,o=r.map(v=>[v,Wv(e,E=>E.fileName===v.fileName)]),s=o.reduce((v,E)=>Math.max(v,E[1]||0),0),l=f.Errors_Files.message,d=l.split(\" \")[0].length,p=Math.max(d,i(s)),h=Math.max(i(s)-d,0),m=\"\";return m+=\" \".repeat(h)+l+`\n`,o.forEach(v=>{let[E,S]=v,A=Math.log(S)*Math.LOG10E+1|0,C=A<p?\" \".repeat(p-A):\"\",R=ITe(E,t.getCurrentDirectory());m+=`${C}${S}  ${R}\n`}),m}function ese(e){return!!e.getState}function ZH(e,t){let r=e.getCompilerOptions();r.explainFiles?eq(ese(e)?e.getProgram():e,t):(r.listFiles||r.listFilesOnly)&&an(e.getSourceFiles(),i=>{t(i.fileName)})}function eq(e,t){var r,i;let o=e.getFileIncludeReasons(),s=l=>KD(l,e.getCurrentDirectory(),e.getCanonicalFileName);for(let l of e.getSourceFiles())t(`${dR(l,s)}`),(r=o.get(l.path))==null||r.forEach(d=>t(`  ${iq(e,d,s).messageText}`)),(i=tq(l,s))==null||i.forEach(d=>t(`  ${d.messageText}`))}function tq(e,t){var r;let i;if(e.path!==e.resolvedPath&&(i??(i=[])).push(So(void 0,f.File_is_output_of_project_reference_source_0,dR(e.originalFileName,t))),e.redirectInfo&&(i??(i=[])).push(So(void 0,f.File_redirects_to_file_0,dR(e.redirectInfo.redirectTarget,t))),sp(e))switch(e.impliedNodeFormat){case 99:e.packageJsonScope&&(i??(i=[])).push(So(void 0,f.File_is_ECMAScript_module_because_0_has_field_type_with_value_module,dR(Da(e.packageJsonLocations),t)));break;case 1:e.packageJsonScope?(i??(i=[])).push(So(void 0,e.packageJsonScope.contents.packageJsonContent.type?f.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:f.File_is_CommonJS_module_because_0_does_not_have_field_type,dR(Da(e.packageJsonLocations),t))):(r=e.packageJsonLocations)!=null&&r.length&&(i??(i=[])).push(So(void 0,f.File_is_CommonJS_module_because_package_json_was_not_found));break}return i}function nq(e,t){var r;let i=e.getCompilerOptions().configFile;if(!((r=i?.configFileSpecs)!=null&&r.validatedFilesSpec))return;let o=e.getCanonicalFileName(t),s=Ur(Qi(i.fileName,e.getCurrentDirectory()));return Dr(i.configFileSpecs.validatedFilesSpec,l=>e.getCanonicalFileName(Qi(l,s))===o)}function rq(e,t){var r,i;let o=e.getCompilerOptions().configFile;if(!((r=o?.configFileSpecs)!=null&&r.validatedIncludeSpecs))return;if(o.configFileSpecs.isDefaultIncludeSpec)return!0;let s=el(t,\".json\"),l=Ur(Qi(o.fileName,e.getCurrentDirectory())),d=e.useCaseSensitiveFileNames();return Dr((i=o?.configFileSpecs)==null?void 0:i.validatedIncludeSpecs,p=>{if(s&&!Zs(p,\".json\"))return!1;let h=Zne(p,l,\"files\");return!!h&&iy(`(${h})$`,d).test(t)})}function iq(e,t,r){var i,o;let s=e.getCompilerOptions();if(jb(t)){let l=jN(e,t),d=aR(l)?l.file.text.substring(l.pos,l.end):`\"${l.text}\"`,p;switch(x.assert(aR(l)||t.kind===3,\"Only synthetic references are imports\"),t.kind){case 3:aR(l)?p=l.packageId?f.Imported_via_0_from_file_1_with_packageId_2:f.Imported_via_0_from_file_1:l.text===ay?p=l.packageId?f.Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:f.Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:p=l.packageId?f.Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:f.Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions;break;case 4:x.assert(!l.packageId),p=f.Referenced_via_0_from_file_1;break;case 5:p=l.packageId?f.Type_library_referenced_via_0_from_file_1_with_packageId_2:f.Type_library_referenced_via_0_from_file_1;break;case 7:x.assert(!l.packageId),p=f.Library_referenced_via_0_from_file_1;break;default:x.assertNever(t)}return So(void 0,p,d,dR(l.file,r),l.packageId&&Qv(l.packageId))}switch(t.kind){case 0:if(!((i=s.configFile)!=null&&i.configFileSpecs))return So(void 0,f.Root_file_specified_for_compilation);let l=Qi(e.getRootFileNames()[t.index],e.getCurrentDirectory());if(nq(e,l))return So(void 0,f.Part_of_files_list_in_tsconfig_json);let p=rq(e,l);return fo(p)?So(void 0,f.Matched_by_include_pattern_0_in_1,p,dR(s.configFile,r)):So(void 0,p?f.Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:f.Root_file_specified_for_compilation);case 1:case 2:let h=t.kind===2,m=x.checkDefined((o=e.getResolvedProjectReferences())==null?void 0:o[t.index]);return So(void 0,ss(s)?h?f.Output_from_referenced_project_0_included_because_1_specified:f.Source_from_referenced_project_0_included_because_1_specified:h?f.Output_from_referenced_project_0_included_because_module_is_specified_as_none:f.Source_from_referenced_project_0_included_because_module_is_specified_as_none,dR(m.sourceFile.fileName,r),s.outFile?\"--outFile\":\"--out\");case 8:{let v=s.types?t.packageId?[f.Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1,t.typeReference,Qv(t.packageId)]:[f.Entry_point_of_type_library_0_specified_in_compilerOptions,t.typeReference]:t.packageId?[f.Entry_point_for_implicit_type_library_0_with_packageId_1,t.typeReference,Qv(t.packageId)]:[f.Entry_point_for_implicit_type_library_0,t.typeReference];return So(void 0,...v)}case 6:{if(t.index!==void 0)return So(void 0,f.Library_0_specified_in_compilerOptions,s.lib[t.index]);let v=hc(Y2.type,(S,A)=>S===Wa(s)?A:void 0),E=v?[f.Default_library_for_target_0,v]:[f.Default_library];return So(void 0,...E)}default:x.assertNever(t)}}function dR(e,t){let r=fo(e)?e:e.fileName;return t?t(r):r}function K4(e,t,r,i,o,s,l,d){let p=!!e.getCompilerOptions().listFilesOnly,h=e.getConfigFileParsingDiagnostics().slice(),m=h.length;Pr(h,e.getSyntacticDiagnostics(void 0,s)),h.length===m&&(Pr(h,e.getOptionsDiagnostics(s)),p||(Pr(h,e.getGlobalDiagnostics(s)),h.length===m&&Pr(h,e.getSemanticDiagnostics(void 0,s))));let v=p?{emitSkipped:!0,diagnostics:je}:e.emit(void 0,o,s,l,d),{emittedFiles:E,diagnostics:S}=v;Pr(h,S);let A=z1(h);if(A.forEach(t),r){let C=e.getCurrentDirectory();an(E,R=>{let L=Qi(R,C);r(`TSFILE: ${L}`)}),ZH(e,r)}return i&&i(q4(A),J4(A)),{emitResult:v,diagnostics:A}}function tse(e,t,r,i,o,s,l,d){let{emitResult:p,diagnostics:h}=K4(e,t,r,i,o,s,l,d);return p.emitSkipped&&h.length>0?1:h.length>0?2:0}function oq(e=Hc,t){return{onWatchStatusChange:t||Qae(e),watchFile:Wo(e,e.watchFile)||pR,watchDirectory:Wo(e,e.watchDirectory)||pR,setTimeout:Wo(e,e.setTimeout)||Ca,clearTimeout:Wo(e,e.clearTimeout)||Ca}}function aq(e,t){let r=e.trace?t.extendedDiagnostics?2:t.diagnostics?1:0:0,i=r!==0?s=>e.trace(s):Ca,o=yH(e,r,i);return o.writeLog=i,o}function sq(e,t,r=e){let i=e.useCaseSensitiveFileNames(),o={getSourceFile:SH((s,l)=>l?e.readFile(s,l):o.readFile(s),t,void 0),getDefaultLibLocation:Wo(e,e.getDefaultLibLocation),getDefaultLibFileName:s=>e.getDefaultLibFileName(s),writeFile:TH((s,l,d)=>e.writeFile(s,l,d),s=>e.createDirectory(s),s=>e.directoryExists(s)),getCurrentDirectory:Kd(()=>e.getCurrentDirectory()),useCaseSensitiveFileNames:()=>i,getCanonicalFileName:od(i),getNewLine:()=>rv(t()),fileExists:s=>e.fileExists(s),readFile:s=>e.readFile(s),trace:Wo(e,e.trace),directoryExists:Wo(r,r.directoryExists),getDirectories:Wo(r,r.getDirectories),realpath:Wo(e,e.realpath),getEnvironmentVariable:Wo(e,e.getEnvironmentVariable)||(()=>\"\"),createHash:Wo(e,e.createHash),readDirectory:Wo(e,e.readDirectory),storeFilesChangingSignatureDuringEmit:e.storeFilesChangingSignatureDuringEmit,jsDocParsingMode:e.jsDocParsingMode};return o}function X4(e,t){if(t.match(JU)){let r=t.length,i=r;for(let o=r-1;o>=0;o--){let s=t.charCodeAt(o);switch(s){case 10:o&&t.charCodeAt(o-1)===13&&o--;case 13:break;default:if(s<127||!vd(s)){i=o;continue}break}let l=t.substring(i,r);if(l.match(p4)){t=t.substring(0,i);break}else if(!l.match(f4))break;r=i}}return(e.createHash||qD)(t)}function Y4(e){let t=e.getSourceFile;e.getSourceFile=(...r)=>{let i=t.call(e,...r);return i&&(i.version=X4(e,i.text)),i}}function lq(e,t){let r=Kd(()=>Ur(Yo(e.getExecutingFilePath())));return{useCaseSensitiveFileNames:()=>e.useCaseSensitiveFileNames,getNewLine:()=>e.newLine,getCurrentDirectory:Kd(()=>e.getCurrentDirectory()),getDefaultLibLocation:r,getDefaultLibFileName:i=>wr(r(),OM(i)),fileExists:i=>e.fileExists(i),readFile:(i,o)=>e.readFile(i,o),directoryExists:i=>e.directoryExists(i),getDirectories:i=>e.getDirectories(i),readDirectory:(i,o,s,l,d)=>e.readDirectory(i,o,s,l,d),realpath:Wo(e,e.realpath),getEnvironmentVariable:Wo(e,e.getEnvironmentVariable),trace:i=>e.write(i+e.newLine),createDirectory:i=>e.createDirectory(i),writeFile:(i,o,s)=>e.writeFile(i,o,s),createHash:Wo(e,e.createHash),createProgram:t||XH,storeFilesChangingSignatureDuringEmit:e.storeFilesChangingSignatureDuringEmit,now:Wo(e,e.now)}}function xTe(e=Hc,t,r,i){let o=l=>e.write(l+e.newLine),s=lq(e,t);return sB(s,oq(e,i)),s.afterProgramCreate=l=>{let d=l.getCompilerOptions(),p=rv(d);K4(l,r,o,h=>s.onWatchStatusChange(bl(QH(h),h),p,d,h))},s}function RTe(e,t,r){t(r),e.exit(1)}function nse({configFileName:e,optionsToExtend:t,watchOptionsToExtend:r,extraFileExtensions:i,system:o,createProgram:s,reportDiagnostic:l,reportWatchStatus:d}){let p=l||Ik(o),h=xTe(o,s,p,d);return h.onUnRecoverableConfigFileDiagnostic=m=>RTe(o,p,m),h.configFileName=e,h.optionsToExtend=t,h.watchOptionsToExtend=r,h.extraFileExtensions=i,h}function rse({rootFiles:e,options:t,watchOptions:r,projectReferences:i,system:o,createProgram:s,reportDiagnostic:l,reportWatchStatus:d}){let p=xTe(o,s,l||Ik(o),d);return p.rootFiles=e,p.options=t,p.watchOptions=r,p.projectReferences=i,p}function DTe(e){let t=e.system||Hc,r=e.host||(e.host=cq(e.options,t)),i=ose(e),o=tse(i,e.reportDiagnostic||Ik(t),s=>r.trace&&r.trace(s),e.reportErrorSummary||e.options.pretty?(s,l)=>t.write(Zae(s,l,t.newLine,r)):void 0);return e.afterProgramEmitAndDiagnostics&&e.afterProgramEmitAndDiagnostics(i),o}var ise,$4,uR,pR,dc,e5e=pt({\"src/compiler/watch.ts\"(){\"use strict\";wo(),ise=Hc?{getCurrentDirectory:()=>Hc.getCurrentDirectory(),getNewLine:()=>Hc.newLine,getCanonicalFileName:od(Hc.useCaseSensitiveFileNames)}:void 0,$4=[f.Starting_compilation_in_watch_mode.code,f.File_change_detected_Starting_incremental_compilation.code],uR={close:Ca},pR=()=>uR,dc={ConfigFile:\"Config file\",ExtendedConfigFile:\"Extended config file\",SourceFile:\"Source file\",MissingFile:\"Missing file\",WildcardDirectory:\"Wild card directory\",FailedLookupLocations:\"Failed Lookup Locations\",AffectingFileLocation:\"File location affecting resolution\",TypeRoots:\"Type roots\",ConfigFileOfReferencedProject:\"Config file of referened project\",ExtendedConfigOfReferencedProject:\"Extended config file of referenced project\",WildcardDirectoryOfReferencedProject:\"Wild card directory of referenced project\",PackageJson:\"package.json file\",ClosedScriptInfo:\"Closed Script info\",ConfigFileForInferredRoot:\"Config file for the inferred project root\",NodeModules:\"node_modules for closed script infos and package.jsons affecting module specifier cache\",MissingSourceMapFile:\"Missing source map file\",NoopConfigFileForInferredRoot:\"Noop Config file for the inferred project root\",MissingGeneratedFile:\"Missing generated file\",NodeModulesForModuleSpecifierCache:\"node_modules for module specifier cache invalidation\",TypingInstallerLocationFile:\"File location for typing installer\",TypingInstallerLocationDirectory:\"Directory location for typing installer\"}}});function Q4(e,t){let r=dv(e);if(!r)return;let i;if(t.getBuildInfo)i=t.getBuildInfo(r,e.configFilePath);else{let o=t.readFile(r);if(!o)return;i=R4(r,o)}if(!(!i||i.version!==bp||!i.program))return Uae(i,r,t)}function cq(e,t=Hc){let r=AH(e,void 0,t);return r.createHash=Wo(t,t.createHash),r.storeFilesChangingSignatureDuringEmit=t.storeFilesChangingSignatureDuringEmit,Y4(r),bk(r,i=>ks(i,r.getCurrentDirectory(),r.getCanonicalFileName)),r}function ose({rootNames:e,options:t,configFileParsingDiagnostics:r,projectReferences:i,host:o,createProgram:s}){o=o||cq(t),s=s||XH;let l=Q4(t,o);return s(e,t,o,l,r,i)}function CTe(e,t,r,i,o,s,l,d){return oo(e)?rse({rootFiles:e,options:t,watchOptions:d,projectReferences:l,system:r,createProgram:i,reportDiagnostic:o,reportWatchStatus:s}):nse({configFileName:e,optionsToExtend:t,watchOptionsToExtend:l,extraFileExtensions:d,system:r,createProgram:i,reportDiagnostic:o,reportWatchStatus:s})}function NTe(e){let t,r,i,o,s,l,d,p,h=e.extendedConfigCache,m=!1,v=new Map,E,S=!1,A=e.useCaseSensitiveFileNames(),C=e.getCurrentDirectory(),{configFileName:R,optionsToExtend:L={},watchOptionsToExtend:G,extraFileExtensions:U,createProgram:K}=e,{rootFiles:F,options:oe,watchOptions:W,projectReferences:$}=e,de,fe,q=!1,H=!1,ee=R===void 0?void 0:C4(e,C,A),le=ee||e,Ee=F4(e,le),ce=gn();R&&e.configFileParsingResult&&(Ea(e.configFileParsingResult),ce=gn()),Gn(f.Starting_compilation_in_watch_mode),R&&!e.configFileParsingResult&&(ce=rv(L),x.assert(!F),Jo(),ce=gn()),x.assert(oe),x.assert(F);let{watchFile:Z,watchDirectory:pe,writeLog:Ae}=aq(e,oe),Oe=od(A);Ae(`Current directory: ${C} CaseSensitiveFileNames: ${A}`);let _e;R&&(_e=Z(R,mn,2e3,W,dc.ConfigFile));let be=sq(e,()=>oe,le);Y4(be);let Te=be.getSourceFile;be.getSourceFile=(ze,...it)=>ei(ze,On(ze),...it),be.getSourceFileByPath=ei,be.getNewLine=()=>ce,be.fileExists=Wt,be.onReleaseOldSourceFile=io,be.onReleaseParsedCommandLine=ke,be.toPath=On,be.getCompilationSettings=()=>oe,be.useSourceOfProjectReferenceRedirect=Wo(e,e.useSourceOfProjectReferenceRedirect),be.watchDirectoryOfFailedLookupLocation=(ze,it,Ct)=>pe(ze,it,Ct,W,dc.FailedLookupLocations),be.watchAffectingFileLocation=(ze,it)=>Z(ze,it,2e3,W,dc.AffectingFileLocation),be.watchTypeRootsDirectory=(ze,it,Ct)=>pe(ze,it,Ct,W,dc.TypeRoots),be.getCachedDirectoryStructureHost=()=>ee,be.scheduleInvalidateResolutionsOfFailedLookupLocations=Jt,be.onInvalidatedResolution=Rt,be.onChangedAutomaticTypeDirectiveNames=Rt,be.fileIsOpen=_m,be.getCurrentProgram=Ge,be.writeLog=Ae,be.getParsedCommandLine=ln;let De=$H(be,R?Ur(Qi(R,C)):C,!1);be.resolveModuleNameLiterals=Wo(e,e.resolveModuleNameLiterals),be.resolveModuleNames=Wo(e,e.resolveModuleNames),!be.resolveModuleNameLiterals&&!be.resolveModuleNames&&(be.resolveModuleNameLiterals=De.resolveModuleNameLiterals.bind(De)),be.resolveTypeReferenceDirectiveReferences=Wo(e,e.resolveTypeReferenceDirectiveReferences),be.resolveTypeReferenceDirectives=Wo(e,e.resolveTypeReferenceDirectives),!be.resolveTypeReferenceDirectiveReferences&&!be.resolveTypeReferenceDirectives&&(be.resolveTypeReferenceDirectiveReferences=De.resolveTypeReferenceDirectiveReferences.bind(De)),be.resolveLibrary=e.resolveLibrary?e.resolveLibrary.bind(e):De.resolveLibrary.bind(De),be.getModuleResolutionCache=e.resolveModuleNameLiterals||e.resolveModuleNames?Wo(e,e.getModuleResolutionCache):()=>De.getModuleResolutionCache();let he=!!e.resolveModuleNameLiterals||!!e.resolveTypeReferenceDirectiveReferences||!!e.resolveModuleNames||!!e.resolveTypeReferenceDirectives?Wo(e,e.hasInvalidatedResolutions)||Ug:_m,Le=e.resolveLibrary?Wo(e,e.hasInvalidatedLibResolutions)||Ug:_m;return t=Q4(oe,be),ot(),et(),R&&Je(On(R),oe,W,dc.ExtendedConfigFile),R?{getCurrentProgram:st,getProgram:ni,close:Ke,getResolutionCache:Dt}:{getCurrentProgram:st,getProgram:ni,updateRootFileNames:jt,close:Ke,getResolutionCache:Dt};function Ke(){cr(),De.clear(),Au(v,ze=>{ze&&ze.fileWatcher&&(ze.fileWatcher.close(),ze.fileWatcher=void 0)}),_e&&(_e.close(),_e=void 0),h?.clear(),h=void 0,p&&(Au(p,Qp),p=void 0),o&&(Au(o,Qp),o=void 0),i&&(Au(i,vm),i=void 0),d&&(Au(d,ze=>{var it;(it=ze.watcher)==null||it.close(),ze.watcher=void 0,ze.watchedDirectories&&Au(ze.watchedDirectories,Qp),ze.watchedDirectories=void 0}),d=void 0)}function Dt(){return De}function st(){return t}function Ge(){return t&&t.getProgramOrUndefined()}function ot(){Ae(\"Synchronizing program\"),x.assert(oe),x.assert(F),cr();let ze=st();S&&(ce=gn(),ze&&Y8(ze.getCompilerOptions(),oe)&&De.onChangesAffectModuleResolution());let{hasInvalidatedResolutions:it,hasInvalidatedLibResolutions:Ct}=De.createHasInvalidatedResolutions(he,Le),{originalReadFile:on,originalFileExists:Qt,originalDirectoryExists:Zt,originalCreateDirectory:V,originalWriteFile:Re,readFileWithCache:St}=bk(be,On);return kH(Ge(),F,oe,M=>gi(M,St),M=>be.fileExists(M),it,Ct,Nr,ln,$)?H&&(m&&Gn(f.File_change_detected_Starting_incremental_compilation),t=K(void 0,void 0,be,t,fe,$),H=!1):(m&&Gn(f.File_change_detected_Starting_incremental_compilation),Vt(it,Ct)),m=!1,e.afterProgramCreate&&ze!==t&&e.afterProgramCreate(t),be.readFile=on,be.fileExists=Qt,be.directoryExists=Zt,be.createDirectory=V,be.writeFile=Re,t}function Vt(ze,it){Ae(\"CreatingProgramWith::\"),Ae(`  roots: ${JSON.stringify(F)}`),Ae(`  options: ${JSON.stringify(oe)}`),$&&Ae(`  projectReferences: ${JSON.stringify($)}`);let Ct=S||!Ge();S=!1,H=!1,De.startCachingPerDirectoryResolution(),be.hasInvalidatedResolutions=ze,be.hasInvalidatedLibResolutions=it,be.hasChangedAutomaticTypeDirectiveNames=Nr;let on=Ge();if(t=K(F,oe,be,t,fe,$),De.finishCachingPerDirectoryResolution(t.getProgram(),on),vH(t.getProgram(),i||(i=new Map),re),Ct&&De.updateTypeRootsWatch(),E){for(let Qt of E)i.has(Qt)||v.delete(Qt);E=void 0}}function jt(ze){x.assert(!R,\"Cannot update root file names with config file watch mode\"),F=ze,Rt()}function gn(){return rv(oe||L)}function On(ze){return ks(ze,C,Oe)}function en(ze){return typeof ze==\"boolean\"}function zt(ze){return typeof ze.version==\"boolean\"}function Wt(ze){let it=On(ze);return en(v.get(it))?!1:le.fileExists(ze)}function ei(ze,it,Ct,on,Qt){let Zt=v.get(it);if(en(Zt))return;let V=typeof Ct==\"object\"?Ct.impliedNodeFormat:void 0;if(Zt===void 0||Qt||zt(Zt)||Zt.sourceFile.impliedNodeFormat!==V){let Re=Te(ze,Ct,on);if(Zt)Re?(Zt.sourceFile=Re,Zt.version=Re.version,Zt.fileWatcher||(Zt.fileWatcher=nt(it,ze,tt,250,W,dc.SourceFile))):(Zt.fileWatcher&&Zt.fileWatcher.close(),v.set(it,!1));else if(Re){let St=nt(it,ze,tt,250,W,dc.SourceFile);v.set(it,{sourceFile:Re,version:Re.version,fileWatcher:St})}else v.set(it,!1);return Re}return Zt.sourceFile}function Ki(ze){let it=v.get(ze);it!==void 0&&(en(it)?v.set(ze,{version:!1}):it.version=!1)}function gi(ze,it){let Ct=v.get(ze);if(!Ct)return;if(Ct.version)return Ct.version;let on=it(ze);return on!==void 0?X4(be,on):void 0}function io(ze,it,Ct){let on=v.get(ze.resolvedPath);on!==void 0&&(en(on)?(E||(E=[])).push(ze.path):on.sourceFile===ze&&(on.fileWatcher&&on.fileWatcher.close(),v.delete(ze.resolvedPath),Ct||De.removeResolutionsOfFile(ze.path)))}function Gn(ze){e.onWatchStatusChange&&e.onWatchStatusChange(bl(ze),ce,oe||L)}function Nr(){return De.hasChangedAutomaticTypeDirectiveNames()}function cr(){return l?(e.clearTimeout(l),l=void 0,!0):!1}function Jt(){if(!e.setTimeout||!e.clearTimeout)return De.invalidateResolutionsOfFailedLookupLocations();let ze=cr();Ae(`Scheduling invalidateFailedLookup${ze?\", Cancelled earlier one\":\"\"}`),l=e.setTimeout(Ue,250,\"timerToInvalidateFailedLookupResolutions\")}function Ue(){l=void 0,De.invalidateResolutionsOfFailedLookupLocations()&&Rt()}function Rt(){!e.setTimeout||!e.clearTimeout||(s&&e.clearTimeout(s),Ae(\"Scheduling update\"),s=e.setTimeout(qr,250,\"timerToUpdateProgram\"))}function mn(){x.assert(!!R),r=2,Rt()}function qr(){s=void 0,m=!0,ni()}function ni(){var ze,it,Ct,on;switch(r){case 1:(ze=Pd)==null||ze.logStartUpdateProgram(\"PartialConfigReload\"),ki();break;case 2:(it=Pd)==null||it.logStartUpdateProgram(\"FullConfigReload\"),so();break;default:(Ct=Pd)==null||Ct.logStartUpdateProgram(\"SynchronizeProgram\"),ot();break}return(on=Pd)==null||on.logStopUpdateProgram(\"Done\"),st()}function ki(){Ae(\"Reloading new file names and options\"),x.assert(oe),x.assert(R),r=0,F=AN(oe.configFile.configFileSpecs,Qi(Ur(R),C),oe,Ee,U),z6(F,Qi(R,C),oe.configFile.configFileSpecs,fe,q)&&(H=!0),ot()}function so(){x.assert(R),Ae(`Reloading config file: ${R}`),r=0,ee&&ee.clearCache(),Jo(),S=!0,ot(),et(),Je(On(R),oe,W,dc.ExtendedConfigFile)}function Jo(){x.assert(R),Ea(V2(R,L,Ee,h||(h=new Map),G,U))}function Ea(ze){F=ze.fileNames,oe=ze.options,W=ze.watchOptions,$=ze.projectReferences,de=ze.wildcardDirectories,fe=iT(ze).slice(),q=TN(ze.raw),H=!0}function ln(ze){let it=On(ze),Ct=d?.get(it);if(Ct){if(!Ct.updateLevel)return Ct.parsedCommandLine;if(Ct.parsedCommandLine&&Ct.updateLevel===1&&!e.getParsedCommandLine){Ae(\"Reloading new file names and options\"),x.assert(oe);let Qt=AN(Ct.parsedCommandLine.options.configFile.configFileSpecs,Qi(Ur(ze),C),oe,Ee);return Ct.parsedCommandLine={...Ct.parsedCommandLine,fileNames:Qt},Ct.updateLevel=void 0,Ct.parsedCommandLine}}Ae(`Loading config file: ${ze}`);let on=e.getParsedCommandLine?e.getParsedCommandLine(ze):Tn(ze);return Ct?(Ct.parsedCommandLine=on,Ct.updateLevel=void 0):(d||(d=new Map)).set(it,Ct={parsedCommandLine:on}),_t(ze,it,Ct),on}function Tn(ze){let it=Ee.onUnRecoverableConfigFileDiagnostic;Ee.onUnRecoverableConfigFileDiagnostic=Ca;let Ct=V2(ze,void 0,Ee,h||(h=new Map),G);return Ee.onUnRecoverableConfigFileDiagnostic=it,Ct}function ke(ze){var it;let Ct=On(ze),on=d?.get(Ct);on&&(d.delete(Ct),on.watchedDirectories&&Au(on.watchedDirectories,Qp),(it=on.watcher)==null||it.close(),gH(Ct,p))}function nt(ze,it,Ct,on,Qt,Zt){return Z(it,(V,Re)=>Ct(V,Re,ze),on,Qt,Zt)}function tt(ze,it,Ct){yt(ze,Ct,it),it===2&&v.has(Ct)&&De.invalidateResolutionOfFile(Ct),Ki(Ct),Rt()}function yt(ze,it,Ct){ee&&ee.addOrDeleteFile(ze,it,Ct)}function re(ze,it){return d?.has(ze)?uR:nt(ze,it,Ce,500,W,dc.MissingFile)}function Ce(ze,it,Ct){yt(ze,Ct,it),it===0&&i.has(Ct)&&(i.get(Ct).close(),i.delete(Ct),Ki(Ct),Rt())}function et(){gk(o||(o=new Map),de,z)}function z(ze,it){return pe(ze,Ct=>{x.assert(R),x.assert(oe);let on=On(Ct);ee&&ee.addOrDeleteFileOrDirectory(Ct,on),Ki(on),!vk({watchedDirPath:On(ze),fileOrDirectory:Ct,fileOrDirectoryPath:on,configFileName:R,extraFileExtensions:U,options:oe,program:st()||F,currentDirectory:C,useCaseSensitiveFileNames:A,writeLog:Ae,toPath:On})&&r!==2&&(r=1,Rt())},it,W,dc.WildcardDirectory)}function Je(ze,it,Ct,on){N4(ze,it,p||(p=new Map),(Qt,Zt)=>Z(Qt,(V,Re)=>{var St;yt(Qt,Zt,Re),h&&P4(h,Zt,On);let M=(St=p.get(Zt))==null?void 0:St.projects;M?.size&&M.forEach(te=>{if(R&&On(R)===te)r=2;else{let j=d?.get(te);j&&(j.updateLevel=2),De.removeResolutionsFromProjectReferenceRedirects(te)}Rt()})},2e3,Ct,on),On)}function _t(ze,it,Ct){var on,Qt,Zt,V;Ct.watcher||(Ct.watcher=Z(ze,(Re,St)=>{yt(ze,it,St);let M=d?.get(it);M&&(M.updateLevel=2),De.removeResolutionsFromProjectReferenceRedirects(it),Rt()},2e3,((on=Ct.parsedCommandLine)==null?void 0:on.watchOptions)||W,dc.ConfigFileOfReferencedProject)),gk(Ct.watchedDirectories||(Ct.watchedDirectories=new Map),(Qt=Ct.parsedCommandLine)==null?void 0:Qt.wildcardDirectories,(Re,St)=>{var M;return pe(Re,te=>{let j=On(te);ee&&ee.addOrDeleteFileOrDirectory(te,j),Ki(j);let se=d?.get(it);se?.parsedCommandLine&&(vk({watchedDirPath:On(Re),fileOrDirectory:te,fileOrDirectoryPath:j,configFileName:ze,options:se.parsedCommandLine.options,program:se.parsedCommandLine.fileNames,currentDirectory:C,useCaseSensitiveFileNames:A,writeLog:Ae,toPath:On})||se.updateLevel!==2&&(se.updateLevel=1,Rt()))},St,((M=Ct.parsedCommandLine)==null?void 0:M.watchOptions)||W,dc.WildcardDirectoryOfReferencedProject)}),Je(it,(Zt=Ct.parsedCommandLine)==null?void 0:Zt.options,((V=Ct.parsedCommandLine)==null?void 0:V.watchOptions)||W,dc.ExtendedConfigOfReferencedProject)}}var t5e=pt({\"src/compiler/watchPublic.ts\"(){\"use strict\";wo()}});function dq(e){return el(e,\".json\")?e:wr(e,\"tsconfig.json\")}var uq,n5e=pt({\"src/compiler/tsbuild.ts\"(){\"use strict\";wo(),uq=(e=>(e[e.Unbuildable=0]=\"Unbuildable\",e[e.UpToDate=1]=\"UpToDate\",e[e.UpToDateWithUpstreamTypes=2]=\"UpToDateWithUpstreamTypes\",e[e.OutOfDateWithPrepend=3]=\"OutOfDateWithPrepend\",e[e.OutputMissing=4]=\"OutputMissing\",e[e.ErrorReadingFile=5]=\"ErrorReadingFile\",e[e.OutOfDateWithSelf=6]=\"OutOfDateWithSelf\",e[e.OutOfDateWithUpstream=7]=\"OutOfDateWithUpstream\",e[e.OutOfDateBuildInfo=8]=\"OutOfDateBuildInfo\",e[e.OutOfDateOptions=9]=\"OutOfDateOptions\",e[e.OutOfDateRoots=10]=\"OutOfDateRoots\",e[e.UpstreamOutOfDate=11]=\"UpstreamOutOfDate\",e[e.UpstreamBlocked=12]=\"UpstreamBlocked\",e[e.ComputingUpstream=13]=\"ComputingUpstream\",e[e.TsVersionOutputOfDate=14]=\"TsVersionOutputOfDate\",e[e.UpToDateWithInputFileText=15]=\"UpToDateWithInputFileText\",e[e.ContainerOnly=16]=\"ContainerOnly\",e[e.ForceBuild=17]=\"ForceBuild\",e))(uq||{})}});function r5e(e,t,r){let i=e.get(t),o;return i||(o=r(),e.set(t,o)),i||o}function ase(e,t){return r5e(e,t,()=>new Map)}function Rk(e){return e.now?e.now():new Date}function II(e){return!!e&&!!e.buildOrder}function Z4(e){return II(e)?e.buildOrder:e}function sse(e,t){return r=>{let i=t?`[${b0(xk(e),\"\\x1B[90m\")}] `:`${xk(e)} - `;i+=`${a_(r.messageText,e.newLine)}${e.newLine+e.newLine}`,e.write(i)}}function PTe(e,t,r,i){let o=lq(e,t);return o.getModifiedTime=e.getModifiedTime?s=>e.getModifiedTime(s):ub,o.setModifiedTime=e.setModifiedTime?(s,l)=>e.setModifiedTime(s,l):Ca,o.deleteFile=e.deleteFile?s=>e.deleteFile(s):Ca,o.reportDiagnostic=r||Ik(e),o.reportSolutionBuilderStatus=i||sse(e),o.now=Wo(e,e.now),o}function MTe(e=Hc,t,r,i,o){let s=PTe(e,t,r,i);return s.reportErrorSummary=o,s}function LTe(e=Hc,t,r,i,o){let s=PTe(e,t,r,i),l=oq(e,o);return sB(s,l),s}function i5e(e){let t={};return X2.forEach(r=>{rs(e,r.name)&&(t[r.name]=e[r.name])}),t}function kTe(e,t,r){return iAe(!1,e,t,r)}function OTe(e,t,r,i){return iAe(!0,e,t,r,i)}function o5e(e,t,r,i,o){let s=t,l=t,d=i5e(i),p=sq(s,()=>C.projectCompilerOptions);Y4(p),p.getParsedCommandLine=R=>xI(C,R,s_(C,R)),p.resolveModuleNameLiterals=Wo(s,s.resolveModuleNameLiterals),p.resolveTypeReferenceDirectiveReferences=Wo(s,s.resolveTypeReferenceDirectiveReferences),p.resolveLibrary=Wo(s,s.resolveLibrary),p.resolveModuleNames=Wo(s,s.resolveModuleNames),p.resolveTypeReferenceDirectives=Wo(s,s.resolveTypeReferenceDirectives),p.getModuleResolutionCache=Wo(s,s.getModuleResolutionCache);let h,m;!p.resolveModuleNameLiterals&&!p.resolveModuleNames&&(h=Qx(p.getCurrentDirectory(),p.getCanonicalFileName),p.resolveModuleNameLiterals=(R,L,G,U,K)=>Sk(R,L,G,U,K,s,h,NH),p.getModuleResolutionCache=()=>h),!p.resolveTypeReferenceDirectiveReferences&&!p.resolveTypeReferenceDirectives&&(m=Q6(p.getCurrentDirectory(),p.getCanonicalFileName,void 0,h?.getPackageJsonInfoCache(),h?.optionsToRedirectsKey),p.resolveTypeReferenceDirectiveReferences=(R,L,G,U,K)=>Sk(R,L,G,U,K,s,m,L4));let v;p.resolveLibrary||(v=Qx(p.getCurrentDirectory(),p.getCanonicalFileName,void 0,h?.getPackageJsonInfoCache()),p.resolveLibrary=(R,L,G)=>Z6(R,L,G,s,v)),p.getBuildInfo=(R,L)=>XTe(C,R,s_(C,L),void 0);let{watchFile:E,watchDirectory:S,writeLog:A}=aq(l,i),C={host:s,hostWithWatch:l,parseConfigFileHost:F4(s),write:Wo(s,s.trace),options:i,baseCompilerOptions:d,rootNames:r,baseWatchOptions:o,resolvedConfigFilePaths:new Map,configFileCache:new Map,projectStatus:new Map,extendedConfigCache:new Map,buildInfoCache:new Map,outputTimeStamps:new Map,builderPrograms:new Map,diagnostics:new Map,projectPendingBuild:new Map,projectErrorsReported:new Map,compilerHost:p,moduleResolutionCache:h,typeReferenceDirectiveResolutionCache:m,libraryResolutionCache:v,buildOrder:void 0,readFileWithCache:R=>s.readFile(R),projectCompilerOptions:d,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:e,watch:e,allWatchedWildcardDirectories:new Map,allWatchedInputFiles:new Map,allWatchedConfigFiles:new Map,allWatchedExtendedConfigFiles:new Map,allWatchedPackageJsonFiles:new Map,filesWatched:new Map,lastCachedPackageJsonLookups:new Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:E,watchDirectory:S,writeLog:A};return C}function Zp(e,t){return ks(t,e.compilerHost.getCurrentDirectory(),e.compilerHost.getCanonicalFileName)}function s_(e,t){let{resolvedConfigFilePaths:r}=e,i=r.get(t);if(i!==void 0)return i;let o=Zp(e,t);return r.set(t,o),o}function wTe(e){return!!e.options}function a5e(e,t){let r=e.configFileCache.get(t);return r&&wTe(r)?r:void 0}function xI(e,t,r){let{configFileCache:i}=e,o=i.get(r);if(o)return wTe(o)?o:void 0;Ls(\"SolutionBuilder::beforeConfigFileParsing\");let s,{parseConfigFileHost:l,baseCompilerOptions:d,baseWatchOptions:p,extendedConfigCache:h,host:m}=e,v;return m.getParsedCommandLine?(v=m.getParsedCommandLine(t),v||(s=bl(f.File_0_not_found,t))):(l.onUnRecoverableConfigFileDiagnostic=E=>s=E,v=V2(t,d,l,h,p),l.onUnRecoverableConfigFileDiagnostic=Ca),i.set(r,v||s),Ls(\"SolutionBuilder::afterConfigFileParsing\"),Sp(\"SolutionBuilder::Config file parsing\",\"SolutionBuilder::beforeConfigFileParsing\",\"SolutionBuilder::afterConfigFileParsing\"),v}function UN(e,t){return dq(jv(e.compilerHost.getCurrentDirectory(),t))}function WTe(e,t){let r=new Map,i=new Map,o=[],s,l;for(let p of t)d(p);return l?{buildOrder:s||je,circularDiagnostics:l}:s||je;function d(p,h){let m=s_(e,p);if(i.has(m))return;if(r.has(m)){h||(l||(l=[])).push(bl(f.Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0,o.join(`\\r\n`)));return}r.set(m,!0),o.push(p);let v=xI(e,p,m);if(v&&v.projectReferences)for(let E of v.projectReferences){let S=UN(e,E.path);d(S,h||E.circular)}o.pop(),i.set(m,!0),(s||(s=[])).push(p)}}function e3(e){return e.buildOrder||s5e(e)}function s5e(e){let t=WTe(e,e.rootNames.map(o=>UN(e,o)));e.resolvedConfigFilePaths.clear();let r=new Set(Z4(t).map(o=>s_(e,o))),i={onDeleteValue:Ca};return Ih(e.configFileCache,r,i),Ih(e.projectStatus,r,i),Ih(e.builderPrograms,r,i),Ih(e.diagnostics,r,i),Ih(e.projectPendingBuild,r,i),Ih(e.projectErrorsReported,r,i),Ih(e.buildInfoCache,r,i),Ih(e.outputTimeStamps,r,i),Ih(e.lastCachedPackageJsonLookups,r,i),e.watch&&(Ih(e.allWatchedConfigFiles,r,{onDeleteValue:vm}),e.allWatchedExtendedConfigFiles.forEach(o=>{o.projects.forEach(s=>{r.has(s)||o.projects.delete(s)}),o.close()}),Ih(e.allWatchedWildcardDirectories,r,{onDeleteValue:o=>o.forEach(Qp)}),Ih(e.allWatchedInputFiles,r,{onDeleteValue:o=>o.forEach(vm)}),Ih(e.allWatchedPackageJsonFiles,r,{onDeleteValue:o=>o.forEach(vm)})),e.buildOrder=t}function FTe(e,t,r){let i=t&&UN(e,t),o=e3(e);if(II(o))return o;if(i){let l=s_(e,i);if(Tl(o,p=>s_(e,p)===l)===-1)return}let s=i?WTe(e,[i]):o;return x.assert(!II(s)),x.assert(!r||i!==void 0),x.assert(!r||s[s.length-1]===i),r?s.slice(0,s.length-1):s}function zTe(e){e.cache&&lse(e);let{compilerHost:t,host:r}=e,i=e.readFileWithCache,o=t.getSourceFile,{originalReadFile:s,originalFileExists:l,originalDirectoryExists:d,originalCreateDirectory:p,originalWriteFile:h,getSourceFileWithCache:m,readFileWithCache:v}=bk(r,E=>Zp(e,E),(...E)=>o.call(t,...E));e.readFileWithCache=v,t.getSourceFile=m,e.cache={originalReadFile:s,originalFileExists:l,originalDirectoryExists:d,originalCreateDirectory:p,originalWriteFile:h,originalReadFileWithCache:i,originalGetSourceFile:o}}function lse(e){if(!e.cache)return;let{cache:t,host:r,compilerHost:i,extendedConfigCache:o,moduleResolutionCache:s,typeReferenceDirectiveResolutionCache:l,libraryResolutionCache:d}=e;r.readFile=t.originalReadFile,r.fileExists=t.originalFileExists,r.directoryExists=t.originalDirectoryExists,r.createDirectory=t.originalCreateDirectory,r.writeFile=t.originalWriteFile,i.getSourceFile=t.originalGetSourceFile,e.readFileWithCache=t.originalReadFileWithCache,o.clear(),s?.clear(),l?.clear(),d?.clear(),e.cache=void 0}function BTe(e,t){e.projectStatus.delete(t),e.diagnostics.delete(t)}function GTe({projectPendingBuild:e},t,r){let i=e.get(t);(i===void 0||i<r)&&e.set(t,r)}function VTe(e,t){if(!e.allProjectBuildPending)return;e.allProjectBuildPending=!1,e.options.watch&&bse(e,f.Starting_compilation_in_watch_mode),zTe(e),Z4(e3(e)).forEach(i=>e.projectPendingBuild.set(s_(e,i),0)),t&&t.throwIfCancellationRequested()}function jTe(e,t){return e.projectPendingBuild.delete(t),e.diagnostics.has(t)?1:0}function l5e(e,t,r,i,o){let s=!0;return{kind:2,project:t,projectPath:r,buildOrder:o,getCompilerOptions:()=>i.options,getCurrentDirectory:()=>e.compilerHost.getCurrentDirectory(),updateOutputFileStatmps:()=>{$Te(e,i,r),s=!1},done:()=>(s&&$Te(e,i,r),Ls(\"SolutionBuilder::Timestamps only updates\"),jTe(e,r))}}function UTe(e,t,r,i,o,s,l){let d=e===0?0:4,p,h,m;return e===0?{kind:e,project:r,projectPath:i,buildOrder:l,getCompilerOptions:()=>s.options,getCurrentDirectory:()=>t.compilerHost.getCurrentDirectory(),getBuilderProgram:()=>E(Ps),getProgram:()=>E(W=>W.getProgramOrUndefined()),getSourceFile:W=>E($=>$.getSourceFile(W)),getSourceFiles:()=>S(W=>W.getSourceFiles()),getOptionsDiagnostics:W=>S($=>$.getOptionsDiagnostics(W)),getGlobalDiagnostics:W=>S($=>$.getGlobalDiagnostics(W)),getConfigFileParsingDiagnostics:()=>S(W=>W.getConfigFileParsingDiagnostics()),getSyntacticDiagnostics:(W,$)=>S(de=>de.getSyntacticDiagnostics(W,$)),getAllDependencies:W=>S($=>$.getAllDependencies(W)),getSemanticDiagnostics:(W,$)=>S(de=>de.getSemanticDiagnostics(W,$)),getSemanticDiagnosticsOfNextAffectedFile:(W,$)=>E(de=>de.getSemanticDiagnosticsOfNextAffectedFile&&de.getSemanticDiagnosticsOfNextAffectedFile(W,$)),emit:(W,$,de,fe,q)=>{if(W||fe)return E(H=>{var ee,le;return H.emit(W,$,de,fe,q||((le=(ee=t.host).getCustomTransformers)==null?void 0:le.call(ee,r)))});if(oe(2,de),d===5)return U($,de);if(d===3)return G($,de,q)},done:v}:{kind:e,project:r,projectPath:i,buildOrder:l,getCompilerOptions:()=>s.options,getCurrentDirectory:()=>t.compilerHost.getCurrentDirectory(),emit:(W,$)=>d!==4?m:F(W,$),done:v};function v(W,$,de){return oe(8,W,$,de),Ls(e===0?\"SolutionBuilder::Projects built\":\"SolutionBuilder::Bundles updated\"),jTe(t,i)}function E(W){return oe(0),p&&W(p)}function S(W){return E(W)||je}function A(){var W,$,de;if(x.assert(p===void 0),t.options.dry){Zd(t,f.A_non_dry_build_would_build_project_0,r),h=1,d=7;return}if(t.options.verbose&&Zd(t,f.Building_project_0,r),s.fileNames.length===0){HN(t,i,iT(s)),h=0,d=7;return}let{host:fe,compilerHost:q}=t;if(t.projectCompilerOptions=s.options,(W=t.moduleResolutionCache)==null||W.update(s.options),($=t.typeReferenceDirectiveResolutionCache)==null||$.update(s.options),p=fe.createProgram(s.fileNames,s.options,q,d5e(t,i,s),iT(s),s.projectReferences),t.watch){let H=(de=t.moduleResolutionCache)==null?void 0:de.getPackageJsonInfoCache().getInternalMap();t.lastCachedPackageJsonLookups.set(i,H&&new Set(bo(H.values(),ee=>t.host.realpath&&($6(ee)||ee.directoryExists)?t.host.realpath(wr(ee.packageDirectory,\"package.json\")):wr(ee.packageDirectory,\"package.json\")))),t.builderPrograms.set(i,p)}d++}function C(W,$,de){W.length?{buildResult:h,step:d}=use(t,i,p,s,W,$,de):d++}function R(W){x.assertIsDefined(p),C([...p.getConfigFileParsingDiagnostics(),...p.getOptionsDiagnostics(W),...p.getGlobalDiagnostics(W),...p.getSyntacticDiagnostics(void 0,W)],8,\"Syntactic\")}function L(W){C(x.checkDefined(p).getSemanticDiagnostics(void 0,W),16,\"Semantic\")}function G(W,$,de){var fe,q,H;x.assertIsDefined(p),x.assert(d===3);let ee=p.saveEmitState(),le,Ee=Le=>(le||(le=[])).push(Le),ce=[],{emitResult:Z}=K4(p,Ee,void 0,void 0,(Le,Ke,Dt,st,Ge,ot)=>ce.push({name:Le,text:Ke,writeByteOrderMark:Dt,data:ot}),$,!1,de||((q=(fe=t.host).getCustomTransformers)==null?void 0:q.call(fe,r)));if(le)return p.restoreEmitState(ee),{buildResult:h,step:d}=use(t,i,p,s,le,32,\"Declaration file\"),{emitSkipped:!0,diagnostics:Z.diagnostics};let{host:pe,compilerHost:Ae}=t,Oe=(H=p.hasChangedEmitSignature)!=null&&H.call(p)?0:2,_e=hx(),be=new Map,Te=p.getCompilerOptions(),De=tN(Te),ft,he;return ce.forEach(({name:Le,text:Ke,writeByteOrderMark:Dt,data:st})=>{let Ge=Zp(t,Le);be.set(Zp(t,Le),Le),st?.buildInfo&&fse(t,st.buildInfo,i,Te,Oe);let ot=st?.differsOnlyInMap?SA(t.host,Le):void 0;RC(W?{writeFile:W}:Ae,_e,Le,Ke,Dt),st?.differsOnlyInMap?t.host.setModifiedTime(Le,ot):!De&&t.watch&&(ft||(ft=pse(t,i))).set(Ge,he||(he=Rk(t.host)))}),K(_e,be,ce.length?ce[0].name:mH(s,!pe.useCaseSensitiveFileNames()),Oe),Z}function U(W,$){x.assertIsDefined(p),x.assert(d===5);let de=p.emitBuildInfo((fe,q,H,ee,le,Ee)=>{Ee?.buildInfo&&fse(t,Ee.buildInfo,i,p.getCompilerOptions(),2),W?W(fe,q,H,ee,le,Ee):t.compilerHost.writeFile(fe,q,H,ee,le,Ee)},$);return de.diagnostics.length&&(n3(t,de.diagnostics),t.diagnostics.set(i,[...t.diagnostics.get(i),...de.diagnostics]),h=64&h),de.emittedFiles&&t.write&&de.emittedFiles.forEach(fe=>JTe(t,s,fe)),dse(t,p,s),d=7,de}function K(W,$,de,fe){let q=W.getDiagnostics();return q.length?({buildResult:h,step:d}=use(t,i,p,s,q,64,\"Emit\"),q):(t.write&&$.forEach(H=>JTe(t,s,H)),YTe(t,s,i,f.Updating_unchanged_output_timestamps_of_project_0,$),t.diagnostics.delete(i),t.projectStatus.set(i,{type:1,oldestOutputFileName:de}),dse(t,p,s),d=7,h=fe,q)}function F(W,$){var de,fe,q,H;if(x.assert(e===1),t.options.dry){Zd(t,f.A_non_dry_build_would_update_output_of_project_0,r),h=1,d=7;return}t.options.verbose&&Zd(t,f.Updating_output_of_project_0,r);let{compilerHost:ee}=t;t.projectCompilerOptions=s.options,(fe=(de=t.host).beforeEmitBundle)==null||fe.call(de,s);let le=Eae(s,ee,Oe=>{let _e=UN(t,Oe.path);return xI(t,_e,s_(t,_e))},$||((H=(q=t.host).getCustomTransformers)==null?void 0:H.call(q,r)));if(fo(le))return Zd(t,f.Cannot_update_output_of_project_0_because_there_was_error_reading_file_1,r,Wc(t,le)),d=6,m=UTe(0,t,r,i,o,s,l);x.assert(!!le.length);let Ee=hx(),ce=new Map,Z=2,pe=t.buildInfoCache.get(i).buildInfo||void 0;return le.forEach(({name:Oe,text:_e,writeByteOrderMark:be,data:Te})=>{var De,ft;ce.set(Zp(t,Oe),Oe),Te?.buildInfo&&(((De=Te.buildInfo.program)==null?void 0:De.outSignature)!==((ft=pe?.program)==null?void 0:ft.outSignature)&&(Z&=-3),fse(t,Te.buildInfo,i,s.options,Z)),RC(W?{writeFile:W}:ee,Ee,Oe,_e,be)}),{emitSkipped:!1,diagnostics:K(Ee,ce,le[0].name,Z)}}function oe(W,$,de,fe){for(;d<=W&&d<8;){let q=d;switch(d){case 0:A();break;case 1:R($);break;case 2:L($);break;case 3:G(de,$,fe);break;case 5:U(de,$);break;case 4:F(de,fe);break;case 6:x.checkDefined(m).done($,de,fe),d=8;break;case 7:m5e(t,r,i,o,s,l,x.checkDefined(h)),d++;break;case 8:default:}x.assert(d>q)}}}function c5e({options:e},t,r){return t.type!==3||e.force?!0:r.fileNames.length===0||!!iT(r).length||!tN(r.options)}function HTe(e,t,r){if(!e.projectPendingBuild.size||II(t))return;let{options:i,projectPendingBuild:o}=e;for(let s=0;s<t.length;s++){let l=t[s],d=s_(e,l),p=e.projectPendingBuild.get(d);if(p===void 0)continue;r&&(r=!1,sAe(e,t));let h=xI(e,l,d);if(!h){oAe(e,d),o.delete(d);continue}p===2?(tAe(e,l,d,h),nAe(e,d,h),rAe(e,l,d,h),vse(e,l,d,h),yse(e,l,d,h)):p===1&&(h.fileNames=AN(h.options.configFile.configFileSpecs,Ur(l),h.options,e.parseConfigFileHost),z6(h.fileNames,l,h.options.configFile.configFileSpecs,h.errors,TN(h.raw)),vse(e,l,d,h),yse(e,l,d,h));let m=hse(e,h,d);if(!i.force){if(m.type===1){mq(e,l,m),HN(e,d,iT(h)),o.delete(d),i.dry&&Zd(e,f.Project_0_is_up_to_date,l);continue}if(m.type===2||m.type===15)return HN(e,d,iT(h)),{kind:2,status:m,project:l,projectPath:d,projectIndex:s,config:h}}if(m.type===12){mq(e,l,m),HN(e,d,iT(h)),o.delete(d),i.verbose&&Zd(e,m.upstreamProjectBlocked?f.Skipping_build_of_project_0_because_its_dependency_1_was_not_built:f.Skipping_build_of_project_0_because_its_dependency_1_has_errors,l,m.upstreamProjectName);continue}if(m.type===16){mq(e,l,m),HN(e,d,iT(h)),o.delete(d);continue}return{kind:c5e(e,m,h)?0:1,status:m,project:l,projectPath:d,projectIndex:s,config:h}}}function qTe(e,t,r){return mq(e,t.project,t.status),t.kind!==2?UTe(t.kind,e,t.project,t.projectPath,t.projectIndex,t.config,r):l5e(e,t.project,t.projectPath,t.config,r)}function cse(e,t,r){let i=HTe(e,t,r);return i&&qTe(e,i,t)}function JTe({write:e},t,r){e&&t.options.listEmittedFiles&&e(`TSFILE: ${r}`)}function d5e({options:e,builderPrograms:t,compilerHost:r},i,o){if(e.force)return;let s=t.get(i);return s||Q4(o.options,r)}function dse(e,t,r){t?(e.write&&ZH(t,e.write),e.host.afterProgramEmitAndDiagnostics&&e.host.afterProgramEmitAndDiagnostics(t),t.releaseProgram()):e.host.afterEmitBundle&&e.host.afterEmitBundle(r),e.projectCompilerOptions=e.baseCompilerOptions}function use(e,t,r,i,o,s,l){let d=r&&!ss(r.getCompilerOptions());return HN(e,t,o),e.projectStatus.set(t,{type:0,reason:`${l} errors`}),d?{buildResult:s,step:5}:(dse(e,r,i),{buildResult:s,step:7})}function pq(e){return!!e.watcher}function KTe(e,t){let r=Zp(e,t),i=e.filesWatched.get(r);if(e.watch&&i){if(!pq(i))return i;if(i.modifiedTime)return i.modifiedTime}let o=SA(e.host,t);return e.watch&&(i?i.modifiedTime=o:e.filesWatched.set(r,o)),o}function fq(e,t,r,i,o,s,l){let d=Zp(e,t),p=e.filesWatched.get(d);if(p&&pq(p))p.callbacks.push(r);else{let h=e.watchFile(t,(m,v,E)=>{let S=x.checkDefined(e.filesWatched.get(d));x.assert(pq(S)),S.modifiedTime=E,S.callbacks.forEach(A=>A(m,v,E))},i,o,s,l);e.filesWatched.set(d,{callbacks:[r],watcher:h,modifiedTime:p})}return{close:()=>{let h=x.checkDefined(e.filesWatched.get(d));x.assert(pq(h)),h.callbacks.length===1?(e.filesWatched.delete(d),Qp(h)):bA(h.callbacks,r)}}}function pse(e,t){if(!e.watch)return;let r=e.outputTimeStamps.get(t);return r||e.outputTimeStamps.set(t,r=new Map),r}function fse(e,t,r,i,o){let s=dv(i),l=mse(e,s,r),d=Rk(e.host);l?(l.buildInfo=t,l.modifiedTime=d,o&2||(l.latestChangedDtsTime=d)):e.buildInfoCache.set(r,{path:Zp(e,s),buildInfo:t,modifiedTime:d,latestChangedDtsTime:o&2?void 0:d})}function mse(e,t,r){let i=Zp(e,t),o=e.buildInfoCache.get(r);return o?.path===i?o:void 0}function XTe(e,t,r,i){let o=Zp(e,t),s=e.buildInfoCache.get(r);if(s!==void 0&&s.path===o)return s.buildInfo||void 0;let l=e.readFileWithCache(t),d=l?R4(t,l):void 0;return e.buildInfoCache.set(r,{path:o,buildInfo:d||!1,modifiedTime:i||ip}),d}function _se(e,t,r,i){let o=KTe(e,t);if(r<o)return{type:6,outOfDateOutputFileName:i,newerInputFileName:t}}function u5e(e,t,r){var i,o,s;if(!t.fileNames.length&&!TN(t.raw))return{type:16};let l,d=!!e.options.force;if(t.projectReferences){e.projectStatus.set(r,{type:13});for(let q of t.projectReferences){let H=sR(q),ee=s_(e,H),le=xI(e,H,ee),Ee=hse(e,le,ee);if(!(Ee.type===13||Ee.type===16)){if(Ee.type===0||Ee.type===12)return{type:12,upstreamProjectName:q.path,upstreamProjectBlocked:Ee.type===12};if(Ee.type!==1)return{type:11,upstreamProjectName:q.path};d||(l||(l=[])).push({ref:q,refStatus:Ee,resolvedRefPath:ee,resolvedConfig:le})}}}if(d)return{type:17};let{host:p}=e,h=dv(t.options),m,v=cAe,E,S,A;if(h){let q=mse(e,h,r);if(E=q?.modifiedTime||SA(p,h),E===ip)return q||e.buildInfoCache.set(r,{path:Zp(e,h),buildInfo:!1,modifiedTime:E}),{type:4,missingOutputFileName:h};let H=XTe(e,h,r,E);if(!H)return{type:5,fileName:h};if((H.bundle||H.program)&&H.version!==bp)return{type:14,version:H.version};if(H.program){if((i=H.program.changeFileSet)!=null&&i.length||(t.options.noEmit?ct(H.program.semanticDiagnosticsPerFile,oo):(o=H.program.affectedFilesPendingEmit)!=null&&o.length||(s=H.program.emitDiagnosticsPerFile)!=null&&s.length))return{type:8,buildInfoFile:h};if(!t.options.noEmit&&cR(t.options,H.program.options||{}))return{type:9,buildInfoFile:h};S=H.program}v=E,m=h}let C,R=lAe,L=!1,G=new Set;for(let q of t.fileNames){let H=KTe(e,q);if(H===ip)return{type:0,reason:`${q} does not exist`};if(E&&E<H){let ee,le;if(S){A||(A=HH(S,h,p)),ee=A.fileInfos.get(Zp(e,q));let Ee=ee?e.readFileWithCache(q):void 0;le=Ee!==void 0?X4(p,Ee):void 0,ee&&ee===le&&(L=!0)}if(!ee||ee!==le)return{type:6,outOfDateOutputFileName:h,newerInputFileName:q}}H>R&&(C=q,R=H),S&&G.add(Zp(e,q))}if(S){A||(A=HH(S,h,p));for(let q of A.roots)if(!G.has(q))return{type:10,buildInfoFile:h,inputFile:q}}if(!h){let q=I4(t,!p.useCaseSensitiveFileNames()),H=pse(e,r);for(let ee of q){let le=Zp(e,ee),Ee=H?.get(le);if(Ee||(Ee=SA(e.host,ee),H?.set(le,Ee)),Ee===ip)return{type:4,missingOutputFileName:ee};if(Ee<R)return{type:6,outOfDateOutputFileName:ee,newerInputFileName:C};Ee<v&&(v=Ee,m=ee)}}let U=e.buildInfoCache.get(r),K=!1,F=!1,oe;if(l)for(let{ref:q,refStatus:H,resolvedConfig:ee,resolvedRefPath:le}of l){if(F=F||!!q.prepend,H.newestInputFileTime&&H.newestInputFileTime<=v)continue;if(U&&p5e(e,U,le))return{type:7,outOfDateOutputFileName:h,newerProjectName:q.path};let Ee=f5e(e,ee.options,le);if(Ee&&Ee<=v){K=!0,oe=q.path;continue}return x.assert(m!==void 0,\"Should have an oldest output filename here\"),{type:7,outOfDateOutputFileName:m,newerProjectName:q.path}}let W=_se(e,t.options.configFilePath,v,m);if(W)return W;let $=an(t.options.configFile.extendedSourceFiles||je,q=>_se(e,q,v,m));if($)return $;let de=e.lastCachedPackageJsonLookups.get(r),fe=de&&O_(de,q=>_se(e,q,v,m));return fe||(F&&K?{type:3,outOfDateOutputFileName:m,newerProjectName:oe}:{type:K?2:L?15:1,newestInputFileTime:R,newestInputFileName:C,oldestOutputFileName:m})}function p5e(e,t,r){return e.buildInfoCache.get(r).path===t.path}function hse(e,t,r){if(t===void 0)return{type:0,reason:\"File deleted mid-build\"};let i=e.projectStatus.get(r);if(i!==void 0)return i;Ls(\"SolutionBuilder::beforeUpToDateCheck\");let o=u5e(e,t,r);return Ls(\"SolutionBuilder::afterUpToDateCheck\"),Sp(\"SolutionBuilder::Up-to-date check\",\"SolutionBuilder::beforeUpToDateCheck\",\"SolutionBuilder::afterUpToDateCheck\"),e.projectStatus.set(r,o),o}function YTe(e,t,r,i,o){if(t.options.noEmit)return;let s,l=dv(t.options);if(l){o?.has(Zp(e,l))||(e.options.verbose&&Zd(e,i,t.options.configFilePath),e.host.setModifiedTime(l,s=Rk(e.host)),mse(e,l,r).modifiedTime=s),e.outputTimeStamps.delete(r);return}let{host:d}=e,p=I4(t,!d.useCaseSensitiveFileNames()),h=pse(e,r),m=h?new Set:void 0;if(!o||p.length!==o.size){let v=!!e.options.verbose;for(let E of p){let S=Zp(e,E);o?.has(S)||(v&&(v=!1,Zd(e,i,t.options.configFilePath)),d.setModifiedTime(E,s||(s=Rk(e.host))),h&&(h.set(S,s),m.add(S)))}}h?.forEach((v,E)=>{!o?.has(E)&&!m.has(E)&&h.delete(E)})}function f5e(e,t,r){if(!t.composite)return;let i=x.checkDefined(e.buildInfoCache.get(r));if(i.latestChangedDtsTime!==void 0)return i.latestChangedDtsTime||void 0;let o=i.buildInfo&&i.buildInfo.program&&i.buildInfo.program.latestChangedDtsFile?e.host.getModifiedTime(Qi(i.buildInfo.program.latestChangedDtsFile,Ur(i.path))):void 0;return i.latestChangedDtsTime=o||!1,o}function $Te(e,t,r){if(e.options.dry)return Zd(e,f.A_non_dry_build_would_update_timestamps_for_output_of_project_0,t.options.configFilePath);YTe(e,t,r,f.Updating_output_timestamps_of_project_0),e.projectStatus.set(r,{type:1,oldestOutputFileName:mH(t,!e.host.useCaseSensitiveFileNames())})}function m5e(e,t,r,i,o,s,l){if(!(l&124)&&o.options.composite)for(let d=i+1;d<s.length;d++){let p=s[d],h=s_(e,p);if(e.projectPendingBuild.has(h))continue;let m=xI(e,p,h);if(!(!m||!m.projectReferences))for(let v of m.projectReferences){let E=UN(e,v.path);if(s_(e,E)!==r)continue;let S=e.projectStatus.get(h);if(S)switch(S.type){case 1:if(l&2){v.prepend?e.projectStatus.set(h,{type:3,outOfDateOutputFileName:S.oldestOutputFileName,newerProjectName:t}):S.type=2;break}case 15:case 2:case 3:l&2||e.projectStatus.set(h,{type:7,outOfDateOutputFileName:S.type===3?S.outOfDateOutputFileName:S.oldestOutputFileName,newerProjectName:t});break;case 12:s_(e,UN(e,S.upstreamProjectName))===r&&BTe(e,h);break}GTe(e,h,0);break}}}function QTe(e,t,r,i,o,s){Ls(\"SolutionBuilder::beforeBuild\");let l=_5e(e,t,r,i,o,s);return Ls(\"SolutionBuilder::afterBuild\"),Sp(\"SolutionBuilder::Build\",\"SolutionBuilder::beforeBuild\",\"SolutionBuilder::afterBuild\"),l}function _5e(e,t,r,i,o,s){let l=FTe(e,t,s);if(!l)return 3;VTe(e,r);let d=!0,p=0;for(;;){let h=cse(e,l,d);if(!h)break;d=!1,h.done(r,i,o?.(h.project)),e.diagnostics.has(h.projectPath)||p++}return lse(e),aAe(e,l),y5e(e,l),II(l)?4:l.some(h=>e.diagnostics.has(s_(e,h)))?p?2:1:0}function ZTe(e,t,r){Ls(\"SolutionBuilder::beforeClean\");let i=h5e(e,t,r);return Ls(\"SolutionBuilder::afterClean\"),Sp(\"SolutionBuilder::Clean\",\"SolutionBuilder::beforeClean\",\"SolutionBuilder::afterClean\"),i}function h5e(e,t,r){let i=FTe(e,t,r);if(!i)return 3;if(II(i))return n3(e,i.circularDiagnostics),4;let{options:o,host:s}=e,l=o.dry?[]:void 0;for(let d of i){let p=s_(e,d),h=xI(e,d,p);if(h===void 0){oAe(e,p);continue}let m=I4(h,!s.useCaseSensitiveFileNames());if(!m.length)continue;let v=new Set(h.fileNames.map(E=>Zp(e,E)));for(let E of m)v.has(Zp(e,E))||s.fileExists(E)&&(l?l.push(E):(s.deleteFile(E),gse(e,p,0)))}return l&&Zd(e,f.A_non_dry_build_would_delete_the_following_files_Colon_0,l.map(d=>`\\r\n * ${d}`).join(\"\")),0}function gse(e,t,r){e.host.getParsedCommandLine&&r===1&&(r=2),r===2&&(e.configFileCache.delete(t),e.buildOrder=void 0),e.needsSummary=!0,BTe(e,t),GTe(e,t,r),zTe(e)}function t3(e,t,r){e.reportFileChangeDetected=!0,gse(e,t,r),eAe(e,250,!0)}function eAe(e,t,r){let{hostWithWatch:i}=e;!i.setTimeout||!i.clearTimeout||(e.timerToBuildInvalidatedProject&&i.clearTimeout(e.timerToBuildInvalidatedProject),e.timerToBuildInvalidatedProject=i.setTimeout(g5e,t,\"timerToBuildInvalidatedProject\",e,r))}function g5e(e,t,r){Ls(\"SolutionBuilder::beforeBuild\");let i=v5e(t,r);Ls(\"SolutionBuilder::afterBuild\"),Sp(\"SolutionBuilder::Build\",\"SolutionBuilder::beforeBuild\",\"SolutionBuilder::afterBuild\"),i&&aAe(t,i)}function v5e(e,t){e.timerToBuildInvalidatedProject=void 0,e.reportFileChangeDetected&&(e.reportFileChangeDetected=!1,e.projectErrorsReported.clear(),bse(e,f.File_change_detected_Starting_incremental_compilation));let r=0,i=e3(e),o=cse(e,i,!1);if(o)for(o.done(),r++;e.projectPendingBuild.size;){if(e.timerToBuildInvalidatedProject)return;let s=HTe(e,i,!1);if(!s)break;if(s.kind!==2&&(t||r===5)){eAe(e,100,!1);return}qTe(e,s,i).done(),s.kind!==2&&r++}return lse(e),i}function tAe(e,t,r,i){!e.watch||e.allWatchedConfigFiles.has(r)||e.allWatchedConfigFiles.set(r,fq(e,t,()=>t3(e,r,2),2e3,i?.watchOptions,dc.ConfigFile,t))}function nAe(e,t,r){N4(t,r?.options,e.allWatchedExtendedConfigFiles,(i,o)=>fq(e,i,()=>{var s;return(s=e.allWatchedExtendedConfigFiles.get(o))==null?void 0:s.projects.forEach(l=>t3(e,l,2))},2e3,r?.watchOptions,dc.ExtendedConfigFile),i=>Zp(e,i))}function rAe(e,t,r,i){e.watch&&gk(ase(e.allWatchedWildcardDirectories,r),i.wildcardDirectories,(o,s)=>e.watchDirectory(o,l=>{var d;vk({watchedDirPath:Zp(e,o),fileOrDirectory:l,fileOrDirectoryPath:Zp(e,l),configFileName:t,currentDirectory:e.compilerHost.getCurrentDirectory(),options:i.options,program:e.builderPrograms.get(r)||((d=a5e(e,r))==null?void 0:d.fileNames),useCaseSensitiveFileNames:e.parseConfigFileHost.useCaseSensitiveFileNames,writeLog:p=>e.writeLog(p),toPath:p=>Zp(e,p)})||t3(e,r,1)},s,i?.watchOptions,dc.WildcardDirectory,t))}function vse(e,t,r,i){e.watch&&FC(ase(e.allWatchedInputFiles,r),new Set(i.fileNames),{createNewValue:o=>fq(e,o,()=>t3(e,r,0),250,i?.watchOptions,dc.SourceFile,t),onDeleteValue:vm})}function yse(e,t,r,i){!e.watch||!e.lastCachedPackageJsonLookups||FC(ase(e.allWatchedPackageJsonFiles,r),e.lastCachedPackageJsonLookups.get(r),{createNewValue:o=>fq(e,o,()=>t3(e,r,0),2e3,i?.watchOptions,dc.PackageJson,t),onDeleteValue:vm})}function y5e(e,t){if(e.watchAllProjectsPending){Ls(\"SolutionBuilder::beforeWatcherCreation\"),e.watchAllProjectsPending=!1;for(let r of Z4(t)){let i=s_(e,r),o=xI(e,r,i);tAe(e,r,i,o),nAe(e,i,o),o&&(rAe(e,r,i,o),vse(e,r,i,o),yse(e,r,i,o))}Ls(\"SolutionBuilder::afterWatcherCreation\"),Sp(\"SolutionBuilder::Watcher creation\",\"SolutionBuilder::beforeWatcherCreation\",\"SolutionBuilder::afterWatcherCreation\")}}function b5e(e){Au(e.allWatchedConfigFiles,vm),Au(e.allWatchedExtendedConfigFiles,Qp),Au(e.allWatchedWildcardDirectories,t=>Au(t,Qp)),Au(e.allWatchedInputFiles,t=>Au(t,vm)),Au(e.allWatchedPackageJsonFiles,t=>Au(t,vm))}function iAe(e,t,r,i,o){let s=o5e(e,t,r,i,o);return{build:(l,d,p,h)=>QTe(s,l,d,p,h),clean:l=>ZTe(s,l),buildReferences:(l,d,p,h)=>QTe(s,l,d,p,h,!0),cleanReferences:l=>ZTe(s,l,!0),getNextInvalidatedProject:l=>(VTe(s,l),cse(s,e3(s),!1)),getBuildOrder:()=>e3(s),getUpToDateStatusOfProject:l=>{let d=UN(s,l),p=s_(s,d);return hse(s,xI(s,d,p),p)},invalidateProject:(l,d)=>gse(s,l,d||0),close:()=>b5e(s)}}function Wc(e,t){return KD(t,e.compilerHost.getCurrentDirectory(),e.compilerHost.getCanonicalFileName)}function Zd(e,t,...r){e.host.reportSolutionBuilderStatus(bl(t,...r))}function bse(e,t,...r){var i,o;(o=(i=e.hostWithWatch).onWatchStatusChange)==null||o.call(i,bl(t,...r),e.host.getNewLine(),e.baseCompilerOptions)}function n3({host:e},t){t.forEach(r=>e.reportDiagnostic(r))}function HN(e,t,r){n3(e,r),e.projectErrorsReported.set(t,!0),r.length&&e.diagnostics.set(t,r)}function oAe(e,t){HN(e,t,[e.configFileCache.get(t)])}function aAe(e,t){if(!e.needsSummary)return;e.needsSummary=!1;let r=e.watch||!!e.host.reportErrorSummary,{diagnostics:i}=e,o=0,s=[];II(t)?(sAe(e,t.buildOrder),n3(e,t.circularDiagnostics),r&&(o+=q4(t.circularDiagnostics)),r&&(s=[...s,...J4(t.circularDiagnostics)])):(t.forEach(l=>{let d=s_(e,l);e.projectErrorsReported.has(d)||n3(e,i.get(d)||je)}),r&&i.forEach(l=>o+=q4(l)),r&&i.forEach(l=>[...s,...J4(l)])),e.watch?bse(e,QH(o),o):e.host.reportErrorSummary&&e.host.reportErrorSummary(o,s)}function sAe(e,t){e.options.verbose&&Zd(e,f.Projects_in_this_build_Colon_0,t.map(r=>`\\r\n    * `+Wc(e,r)).join(\"\"))}function E5e(e,t,r){switch(r.type){case 6:return Zd(e,f.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,Wc(e,t),Wc(e,r.outOfDateOutputFileName),Wc(e,r.newerInputFileName));case 7:return Zd(e,f.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,Wc(e,t),Wc(e,r.outOfDateOutputFileName),Wc(e,r.newerProjectName));case 4:return Zd(e,f.Project_0_is_out_of_date_because_output_file_1_does_not_exist,Wc(e,t),Wc(e,r.missingOutputFileName));case 5:return Zd(e,f.Project_0_is_out_of_date_because_there_was_error_reading_file_1,Wc(e,t),Wc(e,r.fileName));case 8:return Zd(e,f.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted,Wc(e,t),Wc(e,r.buildInfoFile));case 9:return Zd(e,f.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions,Wc(e,t),Wc(e,r.buildInfoFile));case 10:return Zd(e,f.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more,Wc(e,t),Wc(e,r.buildInfoFile),Wc(e,r.inputFile));case 1:if(r.newestInputFileTime!==void 0)return Zd(e,f.Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2,Wc(e,t),Wc(e,r.newestInputFileName||\"\"),Wc(e,r.oldestOutputFileName||\"\"));break;case 3:return Zd(e,f.Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed,Wc(e,t),Wc(e,r.newerProjectName));case 2:return Zd(e,f.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies,Wc(e,t));case 15:return Zd(e,f.Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files,Wc(e,t));case 11:return Zd(e,f.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date,Wc(e,t),Wc(e,r.upstreamProjectName));case 12:return Zd(e,r.upstreamProjectBlocked?f.Project_0_can_t_be_built_because_its_dependency_1_was_not_built:f.Project_0_can_t_be_built_because_its_dependency_1_has_errors,Wc(e,t),Wc(e,r.upstreamProjectName));case 0:return Zd(e,f.Failed_to_parse_file_0_Colon_1,Wc(e,t),r.reason);case 14:return Zd(e,f.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2,Wc(e,t),r.version,bp);case 17:return Zd(e,f.Project_0_is_being_forcibly_rebuilt,Wc(e,t));case 16:case 13:break;default:}}function mq(e,t,r){e.options.verbose&&E5e(e,t,r)}var lAe,cAe,_q,S5e=pt({\"src/compiler/tsbuildPublic.ts\"(){\"use strict\";wo(),mS(),lAe=new Date(-864e13),cAe=new Date(864e13),_q=(e=>(e[e.Build=0]=\"Build\",e[e.UpdateBundle=1]=\"UpdateBundle\",e[e.UpdateOutputFileStamps=2]=\"UpdateOutputFileStamps\",e))(_q||{})}}),wo=pt({\"src/compiler/_namespaces/ts.ts\"(){\"use strict\";AWe(),LWe(),kWe(),UWe(),JWe(),KWe(),oFe(),Nve(),mFe(),yFe(),bFe(),IFe(),PFe(),C6e(),N6e(),P6e(),M6e(),z6e(),B6e(),G6e(),V6e(),_4e(),h4e(),x4e(),U4e(),h3e(),S3e(),T3e(),W3e(),j3e(),$3e(),ize(),gze(),vze(),Rze(),Dze(),Cze(),wze(),Wze(),Fze(),zze(),Bze(),Gze(),Vze(),jze(),Uze(),Jze(),Kze(),Xze(),Yze(),$ze(),Zze(),e7e(),t7e(),n7e(),r7e(),i7e(),d7e(),h7e(),x7e(),D7e(),M7e(),L7e(),k7e(),J7e(),K7e(),$7e(),e5e(),t5e(),n5e(),S5e(),Toe(),mS()}});function dAe(e){return Hc.args.includes(e)}function uAe(e){let t=Hc.args.indexOf(e);return t>=0&&t<Hc.args.length-1?Hc.args[t+1]:void 0}function pAe(){let e=new Date;return`${e.getHours().toString().padStart(2,\"0\")}:${e.getMinutes().toString().padStart(2,\"0\")}:${e.getSeconds().toString().padStart(2,\"0\")}.${e.getMilliseconds().toString().padStart(3,\"0\")}`}function qN(e){return Ese+e.replace(/\\n/g,Ese)}function Ub(e){return qN(JSON.stringify(e,void 0,2))}var Dk,Ck,Nk,r3,i3,o3,hq,JN,gq,Ese,T5e=pt({\"src/jsTyping/shared.ts\"(){\"use strict\";Pk(),Dk=\"action::set\",Ck=\"action::invalidate\",Nk=\"action::packageInstalled\",r3=\"event::typesRegistry\",i3=\"event::beginInstallTypes\",o3=\"event::endInstallTypes\",hq=\"event::initializationFailed\",JN=\"action::watchTypingLocations\",(e=>{e.GlobalCacheLocation=\"--globalTypingsCacheLocation\",e.LogFile=\"--logFile\",e.EnableTelemetry=\"--enableTelemetry\",e.TypingSafeListLocation=\"--typingSafeListLocation\",e.TypesMapLocation=\"--typesMapLocation\",e.NpmLocation=\"--npmLocation\",e.ValidateDefaultNpmLocation=\"--validateDefaultNpmLocation\"})(gq||(gq={})),Ese=`\n    `}}),A5e=pt({\"src/jsTyping/types.ts\"(){\"use strict\"}}),a3=pt({\"src/jsTyping/_namespaces/ts.server.ts\"(){\"use strict\";T5e(),A5e()}});function fAe(e,t){return new zf(Jw(t,`ts${jm}`)||Jw(t,\"latest\")).compareTo(e.version)<=0}function mAe(e){return xse.has(e)?\"node\":e}function I5e(e,t){let r=j2(t,i=>e.readFile(i));return new Map(Object.entries(r.config))}function x5e(e,t){var r;let i=j2(t,o=>e.readFile(o));if((r=i.config)!=null&&r.simpleMap)return new Map(Object.entries(i.config.simpleMap))}function R5e(e,t,r,i,o,s,l,d,p,h){if(!l||!l.enable)return{cachedTypingPaths:[],newTypingNames:[],filesToWatch:[]};let m=new Map;r=Fi(r,K=>{let F=Yo(K);if(QE(F))return F});let v=[];l.include&&L(l.include,\"Explicitly included types\");let E=l.exclude||[];if(!h.types){let K=new Set(r.map(Ur));K.add(i),K.forEach(F=>{G(F,\"bower.json\",\"bower_components\",v),G(F,\"package.json\",\"node_modules\",v)})}if(l.disableFilenameBasedTypeAcquisition||U(r),d){let K=NE(d.map(mAe),pS,gd);L(K,\"Inferred typings from unresolved imports\")}for(let K of E)m.delete(K)&&t&&t(`Typing for ${K} is in exclude list, will be ignored.`);s.forEach((K,F)=>{let oe=p.get(F);m.get(F)===!1&&oe!==void 0&&fAe(K,oe)&&m.set(F,K.typingLocation)});let S=[],A=[];m.forEach((K,F)=>{K?A.push(K):S.push(F)});let C={cachedTypingPaths:A,newTypingNames:S,filesToWatch:v};return t&&t(`Finished typings discovery:${Ub(C)}`),C;function R(K){m.has(K)||m.set(K,!1)}function L(K,F){t&&t(`${F}: ${JSON.stringify(K)}`),an(K,R)}function G(K,F,oe,W){let $=wr(K,F),de,fe;e.fileExists($)&&(W.push($),de=j2($,le=>e.readFile(le)).config,fe=ta([de.dependencies,de.devDependencies,de.optionalDependencies,de.peerDependencies],fh),L(fe,`Typing names in '${$}' dependencies`));let q=wr(K,oe);if(W.push(q),!e.directoryExists(q))return;let H=[],ee=fe?fe.map(le=>wr(q,le,F)):e.readDirectory(q,[\".json\"],void 0,void 0,3).filter(le=>{if(Ll(le)!==F)return!1;let Ee=mc(Yo(le)),ce=Ee[Ee.length-3][0]===\"@\";return ce&&C_(Ee[Ee.length-4])===oe||!ce&&C_(Ee[Ee.length-3])===oe});t&&t(`Searching for typing names in ${q}; all files: ${JSON.stringify(ee)}`);for(let le of ee){let Ee=Yo(le),Z=j2(Ee,Ae=>e.readFile(Ae)).config;if(!Z.name)continue;let pe=Z.types||Z.typings;if(pe){let Ae=Qi(pe,Ur(Ee));e.fileExists(Ae)?(t&&t(`    Package '${Z.name}' provides its own types.`),m.set(Z.name,Ae)):t&&t(`    Package '${Z.name}' provides its own types but they are missing.`)}else H.push(Z.name)}L(H,\"    Found package names\")}function U(K){let F=Fi(K,W=>{if(!QE(W))return;let $=Yd(C_(Ll(W))),de=dB($);return o.get(de)});F.length&&L(F,\"Inferred typings from file names\"),ct(K,W=>el(W,\".jsx\"))&&(t&&t(\"Inferred 'react' typings due to presence of '.jsx' extension\"),R(\"react\"))}}function D5e(e){return Sse(e,!0)}function Sse(e,t){if(!e)return 1;if(e.length>Dse)return 2;if(e.charCodeAt(0)===46)return 3;if(e.charCodeAt(0)===95)return 4;if(t){let r=/^@([^/]+)\\/([^/]+)$/.exec(e);if(r){let i=Sse(r[1],!1);if(i!==0)return{name:r[1],isScopeName:!0,result:i};let o=Sse(r[2],!1);return o!==0?{name:r[2],isScopeName:!1,result:o}:0}}return encodeURIComponent(e)!==e?5:0}function C5e(e,t){return typeof e==\"object\"?_Ae(t,e.result,e.name,e.isScopeName):_Ae(t,e,t,!1)}function _Ae(e,t,r,i){let o=i?\"Scope\":\"Package\";switch(t){case 1:return`'${e}':: ${o} name '${r}' cannot be empty`;case 2:return`'${e}':: ${o} name '${r}' should be less than ${Dse} characters`;case 3:return`'${e}':: ${o} name '${r}' cannot start with '.'`;case 4:return`'${e}':: ${o} name '${r}' cannot start with '_'`;case 5:return`'${e}':: ${o} name '${r}' contains non URI safe characters`;case 0:return x.fail();default:x.assertNever(t)}}var Tse,Ase,Ise,xse,Rse,Dse,N5e=pt({\"src/jsTyping/jsTyping.ts\"(){\"use strict\";Pk(),a3(),Tse=[\"assert\",\"assert/strict\",\"async_hooks\",\"buffer\",\"child_process\",\"cluster\",\"console\",\"constants\",\"crypto\",\"dgram\",\"diagnostics_channel\",\"dns\",\"dns/promises\",\"domain\",\"events\",\"fs\",\"fs/promises\",\"http\",\"https\",\"http2\",\"inspector\",\"module\",\"net\",\"os\",\"path\",\"perf_hooks\",\"process\",\"punycode\",\"querystring\",\"readline\",\"repl\",\"stream\",\"stream/promises\",\"string_decoder\",\"timers\",\"timers/promises\",\"tls\",\"trace_events\",\"tty\",\"url\",\"util\",\"util/types\",\"v8\",\"vm\",\"wasi\",\"worker_threads\",\"zlib\"],Ase=Tse.map(e=>`node:${e}`),Ise=[...Tse,...Ase],xse=new Set(Ise),Rse=(e=>(e[e.Ok=0]=\"Ok\",e[e.EmptyName=1]=\"EmptyName\",e[e.NameTooLong=2]=\"NameTooLong\",e[e.NameStartsWithDot=3]=\"NameStartsWithDot\",e[e.NameStartsWithUnderscore=4]=\"NameStartsWithUnderscore\",e[e.NameContainsNonURISafeCharacters=5]=\"NameContainsNonURISafeCharacters\",e))(Rse||{}),Dse=214}}),l_={};la(l_,{NameValidationResult:()=>Rse,discoverTypings:()=>R5e,isTypingUpToDate:()=>fAe,loadSafeList:()=>I5e,loadTypesMap:()=>x5e,nodeCoreModuleList:()=>Ise,nodeCoreModules:()=>xse,nonRelativeModuleNameForTypingCache:()=>mAe,prefixedNodeCoreModuleList:()=>Ase,renderPackageNameValidationFailure:()=>C5e,validatePackageName:()=>D5e});var P5e=pt({\"src/jsTyping/_namespaces/ts.JsTyping.ts\"(){\"use strict\";N5e()}}),Pk=pt({\"src/jsTyping/_namespaces/ts.ts\"(){\"use strict\";wo(),P5e(),a3()}});function s3(e){return{indentSize:4,tabSize:4,newLineCharacter:e||`\n`,convertTabsToSpaces:!0,indentStyle:2,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:\"ignore\",trimTrailingWhitespace:!0,indentSwitchCase:!0}}var l3,vq,yq,bq,ef,Eq,Sq,Tq,Aq,Iq,xq,Rq,Cse,Mk,Dq,Cq,Nq,Pq,Mq,Lq,kq,Oq,wq,M5e=pt({\"src/services/types.ts\"(){\"use strict\";(e=>{class t{constructor(o){this.text=o}getText(o,s){return o===0&&s===this.text.length?this.text:this.text.substring(o,s)}getLength(){return this.text.length}getChangeRange(){}}function r(i){return new t(i)}e.fromString=r})(l3||(l3={})),vq=(e=>(e[e.Dependencies=1]=\"Dependencies\",e[e.DevDependencies=2]=\"DevDependencies\",e[e.PeerDependencies=4]=\"PeerDependencies\",e[e.OptionalDependencies=8]=\"OptionalDependencies\",e[e.All=15]=\"All\",e))(vq||{}),yq=(e=>(e[e.Off=0]=\"Off\",e[e.On=1]=\"On\",e[e.Auto=2]=\"Auto\",e))(yq||{}),bq=(e=>(e[e.Semantic=0]=\"Semantic\",e[e.PartialSemantic=1]=\"PartialSemantic\",e[e.Syntactic=2]=\"Syntactic\",e))(bq||{}),ef={},Eq=(e=>(e.Original=\"original\",e.TwentyTwenty=\"2020\",e))(Eq||{}),Sq=(e=>(e.All=\"All\",e.SortAndCombine=\"SortAndCombine\",e.RemoveUnused=\"RemoveUnused\",e))(Sq||{}),Tq=(e=>(e[e.Invoked=1]=\"Invoked\",e[e.TriggerCharacter=2]=\"TriggerCharacter\",e[e.TriggerForIncompleteCompletions=3]=\"TriggerForIncompleteCompletions\",e))(Tq||{}),Aq=(e=>(e.Type=\"Type\",e.Parameter=\"Parameter\",e.Enum=\"Enum\",e))(Aq||{}),Iq=(e=>(e.none=\"none\",e.definition=\"definition\",e.reference=\"reference\",e.writtenReference=\"writtenReference\",e))(Iq||{}),xq=(e=>(e[e.None=0]=\"None\",e[e.Block=1]=\"Block\",e[e.Smart=2]=\"Smart\",e))(xq||{}),Rq=(e=>(e.Ignore=\"ignore\",e.Insert=\"insert\",e.Remove=\"remove\",e))(Rq||{}),Cse=s3(`\n`),Mk=(e=>(e[e.aliasName=0]=\"aliasName\",e[e.className=1]=\"className\",e[e.enumName=2]=\"enumName\",e[e.fieldName=3]=\"fieldName\",e[e.interfaceName=4]=\"interfaceName\",e[e.keyword=5]=\"keyword\",e[e.lineBreak=6]=\"lineBreak\",e[e.numericLiteral=7]=\"numericLiteral\",e[e.stringLiteral=8]=\"stringLiteral\",e[e.localName=9]=\"localName\",e[e.methodName=10]=\"methodName\",e[e.moduleName=11]=\"moduleName\",e[e.operator=12]=\"operator\",e[e.parameterName=13]=\"parameterName\",e[e.propertyName=14]=\"propertyName\",e[e.punctuation=15]=\"punctuation\",e[e.space=16]=\"space\",e[e.text=17]=\"text\",e[e.typeParameterName=18]=\"typeParameterName\",e[e.enumMemberName=19]=\"enumMemberName\",e[e.functionName=20]=\"functionName\",e[e.regularExpressionLiteral=21]=\"regularExpressionLiteral\",e[e.link=22]=\"link\",e[e.linkName=23]=\"linkName\",e[e.linkText=24]=\"linkText\",e))(Mk||{}),Dq=(e=>(e[e.None=0]=\"None\",e[e.MayIncludeAutoImports=1]=\"MayIncludeAutoImports\",e[e.IsImportStatementCompletion=2]=\"IsImportStatementCompletion\",e[e.IsContinuation=4]=\"IsContinuation\",e[e.ResolvedModuleSpecifiers=8]=\"ResolvedModuleSpecifiers\",e[e.ResolvedModuleSpecifiersBeyondLimit=16]=\"ResolvedModuleSpecifiersBeyondLimit\",e[e.MayIncludeMethodSnippets=32]=\"MayIncludeMethodSnippets\",e))(Dq||{}),Cq=(e=>(e.Comment=\"comment\",e.Region=\"region\",e.Code=\"code\",e.Imports=\"imports\",e))(Cq||{}),Nq=(e=>(e[e.JavaScript=0]=\"JavaScript\",e[e.SourceMap=1]=\"SourceMap\",e[e.Declaration=2]=\"Declaration\",e))(Nq||{}),Pq=(e=>(e[e.None=0]=\"None\",e[e.InMultiLineCommentTrivia=1]=\"InMultiLineCommentTrivia\",e[e.InSingleQuoteStringLiteral=2]=\"InSingleQuoteStringLiteral\",e[e.InDoubleQuoteStringLiteral=3]=\"InDoubleQuoteStringLiteral\",e[e.InTemplateHeadOrNoSubstitutionTemplate=4]=\"InTemplateHeadOrNoSubstitutionTemplate\",e[e.InTemplateMiddleOrTail=5]=\"InTemplateMiddleOrTail\",e[e.InTemplateSubstitutionPosition=6]=\"InTemplateSubstitutionPosition\",e))(Pq||{}),Mq=(e=>(e[e.Punctuation=0]=\"Punctuation\",e[e.Keyword=1]=\"Keyword\",e[e.Operator=2]=\"Operator\",e[e.Comment=3]=\"Comment\",e[e.Whitespace=4]=\"Whitespace\",e[e.Identifier=5]=\"Identifier\",e[e.NumberLiteral=6]=\"NumberLiteral\",e[e.BigIntLiteral=7]=\"BigIntLiteral\",e[e.StringLiteral=8]=\"StringLiteral\",e[e.RegExpLiteral=9]=\"RegExpLiteral\",e))(Mq||{}),Lq=(e=>(e.unknown=\"\",e.warning=\"warning\",e.keyword=\"keyword\",e.scriptElement=\"script\",e.moduleElement=\"module\",e.classElement=\"class\",e.localClassElement=\"local class\",e.interfaceElement=\"interface\",e.typeElement=\"type\",e.enumElement=\"enum\",e.enumMemberElement=\"enum member\",e.variableElement=\"var\",e.localVariableElement=\"local var\",e.variableUsingElement=\"using\",e.variableAwaitUsingElement=\"await using\",e.functionElement=\"function\",e.localFunctionElement=\"local function\",e.memberFunctionElement=\"method\",e.memberGetAccessorElement=\"getter\",e.memberSetAccessorElement=\"setter\",e.memberVariableElement=\"property\",e.memberAccessorVariableElement=\"accessor\",e.constructorImplementationElement=\"constructor\",e.callSignatureElement=\"call\",e.indexSignatureElement=\"index\",e.constructSignatureElement=\"construct\",e.parameterElement=\"parameter\",e.typeParameterElement=\"type parameter\",e.primitiveType=\"primitive type\",e.label=\"label\",e.alias=\"alias\",e.constElement=\"const\",e.letElement=\"let\",e.directory=\"directory\",e.externalModuleName=\"external module name\",e.jsxAttribute=\"JSX attribute\",e.string=\"string\",e.link=\"link\",e.linkName=\"link name\",e.linkText=\"link text\",e))(Lq||{}),kq=(e=>(e.none=\"\",e.publicMemberModifier=\"public\",e.privateMemberModifier=\"private\",e.protectedMemberModifier=\"protected\",e.exportedModifier=\"export\",e.ambientModifier=\"declare\",e.staticModifier=\"static\",e.abstractModifier=\"abstract\",e.optionalModifier=\"optional\",e.deprecatedModifier=\"deprecated\",e.dtsModifier=\".d.ts\",e.tsModifier=\".ts\",e.tsxModifier=\".tsx\",e.jsModifier=\".js\",e.jsxModifier=\".jsx\",e.jsonModifier=\".json\",e.dmtsModifier=\".d.mts\",e.mtsModifier=\".mts\",e.mjsModifier=\".mjs\",e.dctsModifier=\".d.cts\",e.ctsModifier=\".cts\",e.cjsModifier=\".cjs\",e))(kq||{}),Oq=(e=>(e.comment=\"comment\",e.identifier=\"identifier\",e.keyword=\"keyword\",e.numericLiteral=\"number\",e.bigintLiteral=\"bigint\",e.operator=\"operator\",e.stringLiteral=\"string\",e.whiteSpace=\"whitespace\",e.text=\"text\",e.punctuation=\"punctuation\",e.className=\"class name\",e.enumName=\"enum name\",e.interfaceName=\"interface name\",e.moduleName=\"module name\",e.typeParameterName=\"type parameter name\",e.typeAliasName=\"type alias name\",e.parameterName=\"parameter name\",e.docCommentTagName=\"doc comment tag name\",e.jsxOpenTagName=\"jsx open tag name\",e.jsxCloseTagName=\"jsx close tag name\",e.jsxSelfClosingTagName=\"jsx self closing tag name\",e.jsxAttribute=\"jsx attribute\",e.jsxText=\"jsx text\",e.jsxAttributeStringLiteralValue=\"jsx attribute string literal value\",e))(Oq||{}),wq=(e=>(e[e.comment=1]=\"comment\",e[e.identifier=2]=\"identifier\",e[e.keyword=3]=\"keyword\",e[e.numericLiteral=4]=\"numericLiteral\",e[e.operator=5]=\"operator\",e[e.stringLiteral=6]=\"stringLiteral\",e[e.regularExpressionLiteral=7]=\"regularExpressionLiteral\",e[e.whiteSpace=8]=\"whiteSpace\",e[e.text=9]=\"text\",e[e.punctuation=10]=\"punctuation\",e[e.className=11]=\"className\",e[e.enumName=12]=\"enumName\",e[e.interfaceName=13]=\"interfaceName\",e[e.moduleName=14]=\"moduleName\",e[e.typeParameterName=15]=\"typeParameterName\",e[e.typeAliasName=16]=\"typeAliasName\",e[e.parameterName=17]=\"parameterName\",e[e.docCommentTagName=18]=\"docCommentTagName\",e[e.jsxOpenTagName=19]=\"jsxOpenTagName\",e[e.jsxCloseTagName=20]=\"jsxCloseTagName\",e[e.jsxSelfClosingTagName=21]=\"jsxSelfClosingTagName\",e[e.jsxAttribute=22]=\"jsxAttribute\",e[e.jsxText=23]=\"jsxText\",e[e.jsxAttributeStringLiteralValue=24]=\"jsxAttributeStringLiteralValue\",e[e.bigintLiteral=25]=\"bigintLiteral\",e))(wq||{})}});function Lk(e){switch(e.kind){case 260:return Jn(e)&&BG(e)?7:1;case 169:case 208:case 172:case 171:case 303:case 304:case 174:case 173:case 176:case 177:case 178:case 262:case 218:case 219:case 299:case 291:return 1;case 168:case 264:case 265:case 187:return 2;case 353:return e.name===void 0?3:2;case 306:case 263:return 3;case 267:return sd(e)||dg(e)===1?5:4;case 266:case 275:case 276:case 271:case 272:case 277:case 278:return 7;case 312:return 5}return 7}function aT(e){e=Xq(e);let t=e.parent;return e.kind===312?1:dl(t)||Ed(t)||U_(t)||Iu(t)||V_(t)||Nc(t)&&e===t.name?7:c3(e)?L5e(e):ng(e)?Lk(t):Su(e)&&Rn(e,hm(hN,PA,Ob))?7:W5e(e)?2:k5e(e)?4:qs(t)?(x.assert(Df(t.parent)),2):uy(t)?3:1}function L5e(e){let t=e.kind===166?e:$d(e.parent)&&e.parent.right===e?e.parent:void 0;return t&&t.parent.kind===271?7:4}function c3(e){for(;e.parent.kind===166;)e=e.parent;return ox(e.parent)&&e.parent.moduleReference===e}function k5e(e){return O5e(e)||w5e(e)}function O5e(e){let t=e,r=!0;if(t.parent.kind===166){for(;t.parent&&t.parent.kind===166;)t=t.parent;r=t.right===e}return t.parent.kind===183&&!r}function w5e(e){let t=e,r=!0;if(t.parent.kind===211){for(;t.parent&&t.parent.kind===211;)t=t.parent;r=t.name===e}if(!r&&t.parent.kind===233&&t.parent.parent.kind===298){let i=t.parent.parent.parent;return i.kind===263&&t.parent.parent.token===119||i.kind===264&&t.parent.parent.token===96}return!1}function W5e(e){switch(LC(e)&&(e=e.parent),e.kind){case 110:return!bh(e);case 197:return!0}switch(e.parent.kind){case 183:return!0;case 205:return!e.parent.isTypeOf;case 233:return yh(e.parent)}return!1}function Wq(e,t=!1,r=!1){return kk(e,Bo,zq,t,r)}function KN(e,t=!1,r=!1){return kk(e,o0,zq,t,r)}function Fq(e,t=!1,r=!1){return kk(e,Hm,zq,t,r)}function Nse(e,t=!1,r=!1){return kk(e,a0,F5e,t,r)}function Pse(e,t=!1,r=!1){return kk(e,Xc,zq,t,r)}function Mse(e,t=!1,r=!1){return kk(e,Od,z5e,t,r)}function zq(e){return e.expression}function F5e(e){return e.tag}function z5e(e){return e.tagName}function kk(e,t,r,i,o){let s=i?Lse(e):d3(e);return o&&(s=Rl(s)),!!s&&!!s.parent&&t(s.parent)&&r(s.parent)===s}function d3(e){return fR(e)?e.parent:e}function Lse(e){return fR(e)||jq(e)?e.parent:e}function u3(e,t){for(;e;){if(e.kind===256&&e.label.escapedText===t)return e.label;e=e.parent}}function Ok(e,t){return Er(e.expression)?e.expression.name.text===t:!1}function wk(e){var t;return Me(e)&&((t=Vr(e.parent,rC))==null?void 0:t.label)===e}function Bq(e){var t;return Me(e)&&((t=Vr(e.parent,s0))==null?void 0:t.label)===e}function Gq(e){return Bq(e)||wk(e)}function Vq(e){var t;return((t=Vr(e.parent,J1))==null?void 0:t.tagName)===e}function kse(e){var t;return((t=Vr(e.parent,$d))==null?void 0:t.right)===e}function fR(e){var t;return((t=Vr(e.parent,Er))==null?void 0:t.name)===e}function jq(e){var t;return((t=Vr(e.parent,Rs))==null?void 0:t.argumentExpression)===e}function Uq(e){var t;return((t=Vr(e.parent,Il))==null?void 0:t.name)===e}function Hq(e){var t;return Me(e)&&((t=Vr(e.parent,Lo))==null?void 0:t.name)===e}function p3(e){switch(e.parent.kind){case 172:case 171:case 303:case 306:case 174:case 173:case 177:case 178:case 267:return mo(e.parent)===e;case 212:return e.parent.argumentExpression===e;case 167:return!0;case 201:return e.parent.parent.kind===199;default:return!1}}function Ose(e){return Ab(e.parent.parent)&&gC(e.parent.parent)===e}function sT(e){for(bf(e)&&(e=e.parent.parent);;){if(e=e.parent,!e)return;switch(e.kind){case 312:case 174:case 173:case 262:case 218:case 177:case 178:case 263:case 264:case 266:case 267:return e}}}function E0(e){switch(e.kind){case 312:return wl(e)?\"module\":\"script\";case 267:return\"module\";case 263:case 231:return\"class\";case 264:return\"interface\";case 265:case 345:case 353:return\"type\";case 266:return\"enum\";case 260:return t(e);case 208:return t(Ym(e));case 219:case 262:case 218:return\"function\";case 177:return\"getter\";case 178:return\"setter\";case 174:case 173:return\"method\";case 303:let{initializer:r}=e;return Lo(r)?\"method\":\"property\";case 172:case 171:case 304:case 305:return\"property\";case 181:return\"index\";case 180:return\"construct\";case 179:return\"call\";case 176:case 175:return\"constructor\";case 168:return\"type parameter\";case 306:return\"enum member\";case 169:return Wr(e,31)?\"property\":\"parameter\";case 271:case 276:case 281:case 274:case 280:return\"alias\";case 226:let i=hl(e),{right:o}=e;switch(i){case 7:case 8:case 9:case 0:return\"\";case 1:case 2:let l=E0(o);return l===\"\"?\"const\":l;case 3:return ps(o)?\"method\":\"property\";case 4:return\"property\";case 5:return ps(o)?\"method\":\"property\";case 6:return\"local class\";default:return\"\"}case 80:return V_(e.parent)?\"alias\":\"\";case 277:let s=E0(e.expression);return s===\"\"?\"const\":s;default:return\"\"}function t(r){return Z1(r)?\"const\":lW(r)?\"let\":\"var\"}}function mR(e){switch(e.kind){case 110:return!0;case 80:return aV(e)&&e.parent.kind===169;default:return!1}}function Cf(e,t){let r=Yh(t),i=t.getLineAndCharacterOfPosition(e).line;return r[i]}function Np(e,t){return qq(e.pos,e.end,t)}function wse(e,t){return Fk(e,t.pos)&&Fk(e,t.end)}function Wk(e,t){return e.pos<=t&&t<=e.end}function Fk(e,t){return e.pos<t&&t<e.end}function qq(e,t,r){return e<=r.pos&&t>=r.end}function zk(e,t,r){return e.pos<=t&&e.end>=r}function XN(e,t,r){return m3(e.pos,e.end,t,r)}function f3(e,t,r,i){return m3(e.getStart(t),e.end,r,i)}function m3(e,t,r,i){let o=Math.max(e,r),s=Math.min(t,i);return o<s}function Jq(e,t,r){return x.assert(e.pos<=t),t<e.end||!Am(e,r)}function Am(e,t){if(e===void 0||_l(e))return!1;switch(e.kind){case 263:case 264:case 266:case 210:case 206:case 187:case 241:case 268:case 269:case 275:case 279:return Kq(e,20,t);case 299:return Am(e.block,t);case 214:if(!e.arguments)return!0;case 213:case 217:case 196:return Kq(e,22,t);case 184:case 185:return Am(e.type,t);case 176:case 177:case 178:case 262:case 218:case 174:case 173:case 180:case 179:case 219:return e.body?Am(e.body,t):e.type?Am(e.type,t):Bk(e,22,t);case 267:return!!e.body&&Am(e.body,t);case 245:return e.elseStatement?Am(e.elseStatement,t):Am(e.thenStatement,t);case 244:return Am(e.expression,t)||Bk(e,27,t);case 209:case 207:case 212:case 167:case 189:return Kq(e,24,t);case 181:return e.type?Am(e.type,t):Bk(e,24,t);case 296:case 297:return!1;case 248:case 249:case 250:case 247:return Am(e.statement,t);case 246:return Bk(e,117,t)?Kq(e,22,t):Am(e.statement,t);case 186:return Am(e.exprName,t);case 221:case 220:case 222:case 229:case 230:return Am(e.expression,t);case 215:return Am(e.template,t);case 228:let i=Ns(e.templateSpans);return Am(i,t);case 239:return gf(e.literal);case 278:case 272:return gf(e.moduleSpecifier);case 224:return Am(e.operand,t);case 226:return Am(e.right,t);case 227:return Am(e.whenFalse,t);default:return!0}}function Kq(e,t,r){let i=e.getChildren(r);if(i.length){let o=Da(i);if(o.kind===t)return!0;if(o.kind===27&&i.length!==1)return i[i.length-2].kind===t}return!1}function Wse(e){let t=_3(e);if(!t)return;let r=t.getChildren();return{listItemIndex:Y1(r,e),list:t}}function Bk(e,t,r){return!!Ya(e,t,r)}function Ya(e,t,r){return Dr(e.getChildren(r),i=>i.kind===t)}function _3(e){let t=Dr(e.parent.getChildren(),r=>jx(r)&&Np(r,e));return x.assert(!t||To(t.getChildren(),e)),t}function hAe(e){return e.kind===90}function B5e(e){return e.kind===86}function G5e(e){return e.kind===100}function V5e(e){if(Ld(e))return e.name;if(Zl(e)){let t=e.modifiers&&Dr(e.modifiers,hAe);if(t)return t}if(Dc(e)){let t=Dr(e.getChildren(),B5e);if(t)return t}}function j5e(e){if(Ld(e))return e.name;if(Ql(e)){let t=Dr(e.modifiers,hAe);if(t)return t}if(ps(e)){let t=Dr(e.getChildren(),G5e);if(t)return t}}function U5e(e){let t;return Rn(e,r=>(xi(r)&&(t=r),!$d(r.parent)&&!xi(r.parent)&&!bS(r.parent))),t}function h3(e,t){if(e.flags&16777216)return;let r=O3(e,t);if(r)return r;let i=U5e(e);return i&&t.getTypeAtLocation(i)}function H5e(e,t){if(!t)switch(e.kind){case 263:case 231:return V5e(e);case 262:case 218:return j5e(e);case 176:return e}if(Ld(e))return e.name}function gAe(e,t){if(e.importClause){if(e.importClause.name&&e.importClause.namedBindings)return;if(e.importClause.name)return e.importClause.name;if(e.importClause.namedBindings){if(sg(e.importClause.namedBindings)){let r=R_(e.importClause.namedBindings.elements);return r?r.name:void 0}else if(my(e.importClause.namedBindings))return e.importClause.namedBindings.name}}if(!t)return e.moduleSpecifier}function vAe(e,t){if(e.exportClause){if($p(e.exportClause))return R_(e.exportClause.elements)?e.exportClause.elements[0].name:void 0;if(j_(e.exportClause))return e.exportClause.name}if(!t)return e.moduleSpecifier}function q5e(e){if(e.types.length===1)return e.types[0].expression}function yAe(e,t){let{parent:r}=e;if(ia(e)&&(t||e.kind!==90)?Yf(r)&&To(r.modifiers,e):e.kind===86?Zl(r)||Dc(e):e.kind===100?Ql(r)||ps(e):e.kind===120?Gd(r):e.kind===94?kb(r):e.kind===156?Xf(r):e.kind===145||e.kind===144?Il(r):e.kind===102?Nc(r):e.kind===139?Ip(r):e.kind===153&&Vu(r)){let i=H5e(r,t);if(i)return i}if((e.kind===115||e.kind===87||e.kind===121)&&yc(r)&&r.declarations.length===1){let i=r.declarations[0];if(Me(i.name))return i.name}if(e.kind===156){if(V_(r)&&r.isTypeOnly){let i=gAe(r.parent,t);if(i)return i}if(xl(r)&&r.isTypeOnly){let i=vAe(r,t);if(i)return i}}if(e.kind===130){if(Iu(r)&&r.propertyName||Ed(r)&&r.propertyName||my(r)||j_(r))return r.name;if(xl(r)&&r.exportClause&&j_(r.exportClause))return r.exportClause.name}if(e.kind===102&&cc(r)){let i=gAe(r,t);if(i)return i}if(e.kind===95){if(xl(r)){let i=vAe(r,t);if(i)return i}if(dl(r))return Rl(r.expression)}if(e.kind===149&&U_(r))return r.expression;if(e.kind===161&&(cc(r)||xl(r))&&r.moduleSpecifier)return r.moduleSpecifier;if((e.kind===96||e.kind===119)&&xp(r)&&r.token===e.kind){let i=q5e(r);if(i)return i}if(e.kind===96){if(qs(r)&&r.constraint&&Yp(r.constraint))return r.constraint.typeName;if(lI(r)&&Yp(r.extendsType))return r.extendsType.typeName}if(e.kind===140&&GS(r))return r.typeParameter.name;if(e.kind===103&&qs(r)&&wx(r.parent))return r.name;if(e.kind===143&&jS(r)&&r.operator===143&&Yp(r.type))return r.type.typeName;if(e.kind===148&&jS(r)&&r.operator===148&&A2(r.type)&&Yp(r.type.elementType))return r.type.elementType.typeName;if(!t){if((e.kind===105&&o0(r)||e.kind===116&&cI(r)||e.kind===114&&Wx(r)||e.kind===135&&py(r)||e.kind===127&&g6(r)||e.kind===91&&Yre(r))&&r.expression)return Rl(r.expression);if((e.kind===103||e.kind===104)&&Zn(r)&&r.operatorToken===e)return Rl(r.right);if(e.kind===130&&x2(r)&&Yp(r.type))return r.type.typeName;if(e.kind===103&&y6(r)||e.kind===165&&R2(r))return Rl(r.expression)}return e}function Xq(e){return yAe(e,!1)}function g3(e){return yAe(e,!0)}function pu(e,t){return _R(e,t,r=>Xm(r)||du(r.kind)||Ci(r))}function _R(e,t,r){return bAe(e,t,!1,r,!1)}function Hi(e,t){return bAe(e,t,!0,void 0,!1)}function bAe(e,t,r,i,o){let s=e,l;e:for(;;){let p=s.getChildren(e),h=gA(p,t,(m,v)=>v,(m,v)=>{let E=p[m].getEnd();if(E<t)return-1;let S=r?p[m].getFullStart():p[m].getStart(e,!0);return S>t?1:d(p[m],S,E)?p[m-1]&&d(p[m-1])?1:0:i&&S===t&&p[m-1]&&p[m-1].getEnd()===t&&d(p[m-1])?1:-1});if(l)return l;if(h>=0&&p[h]){s=p[h];continue e}return s}function d(p,h,m){if(m??(m=p.getEnd()),m<t||(h??(h=r?p.getFullStart():p.getStart(e,!0)),h>t))return!1;if(t<m||t===m&&(p.kind===1||o))return!0;if(i&&m===t){let v=ec(t,e,p);if(v&&i(v))return l=v,!0}return!1}}function Fse(e,t){let r=Hi(e,t);for(;y3(r);){let i=S0(r,r.parent,e);if(!i)return;r=i}return r}function v3(e,t){let r=Hi(e,t);return xA(r)&&t>r.getStart(e)&&t<r.getEnd()?r:ec(t,e)}function S0(e,t,r){return i(t);function i(o){return xA(o)&&o.pos===e.end?o:ml(o.getChildren(r),s=>(s.pos<=e.pos&&s.end>e.end||s.pos===e.end)&&Hse(s,r)?i(s):void 0)}}function ec(e,t,r,i){let o=s(r||t);return x.assert(!(o&&y3(o))),o;function s(l){if(EAe(l)&&l.kind!==1)return l;let d=l.getChildren(t),p=gA(d,e,(m,v)=>v,(m,v)=>e<d[m].end?!d[m-1]||e>=d[m-1].end?0:1:-1);if(p>=0&&d[p]){let m=d[p];if(e<m.end)if(m.getStart(t,!i)>=e||!Hse(m,t)||y3(m)){let S=Bse(d,p,t,l.kind);return S?!i&&J8(S)&&S.getChildren(t).length?s(S):zse(S,t):void 0}else return s(m)}x.assert(r!==void 0||l.kind===312||l.kind===1||J8(l));let h=Bse(d,d.length,t,l.kind);return h&&zse(h,t)}}function EAe(e){return xA(e)&&!y3(e)}function zse(e,t){if(EAe(e))return e;let r=e.getChildren(t);if(r.length===0)return e;let i=Bse(r,r.length,t,e.kind);return i&&zse(i,t)}function Bse(e,t,r,i){for(let o=t-1;o>=0;o--){let s=e[o];if(y3(s))o===0&&(i===12||i===285)&&x.fail(\"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`\");else if(Hse(e[o],r))return e[o]}}function RI(e,t,r=ec(t,e)){if(r&&KG(r)){let i=r.getStart(e),o=r.getEnd();if(i<t&&t<o)return!0;if(t===o)return!!r.isUnterminated}return!1}function Gse(e,t){let r=Hi(e,t);return r?!!(r.kind===12||r.kind===30&&r.parent.kind===12||r.kind===30&&r.parent.kind===294||r&&r.kind===20&&r.parent.kind===294||r.kind===30&&r.parent.kind===287):!1}function y3(e){return ZA(e)&&e.containsOnlyTriviaWhiteSpaces}function Yq(e,t){let r=Hi(e,t);return Jv(r.kind)&&t>r.getStart(e)}function Vse(e,t){let r=Hi(e,t);return!!(ZA(r)||r.kind===19&&mN(r.parent)&&Ch(r.parent.parent)||r.kind===30&&Od(r.parent)&&Ch(r.parent.parent))}function b3(e,t){function r(i){for(;i;)if(i.kind>=285&&i.kind<=294||i.kind===12||i.kind===30||i.kind===32||i.kind===80||i.kind===20||i.kind===19||i.kind===44)i=i.parent;else if(i.kind===284){if(t>i.getStart(e))return!0;i=i.parent}else return!1;return!1}return r(Hi(e,t))}function E3(e,t,r){let i=qo(e.kind),o=qo(t),s=e.getFullStart(),l=r.text.lastIndexOf(o,s);if(l===-1)return;if(r.text.lastIndexOf(i,s-1)<l){let h=ec(l+1,r);if(h&&h.kind===t)return h}let d=e.kind,p=0;for(;;){let h=ec(e.getFullStart(),r);if(!h)return;if(e=h,e.kind===t){if(p===0)return e;p--}else e.kind===d&&p++}}function jse(e,t,r){return t?e.getNonNullableType():r?e.getNonOptionalType():e}function Gk(e,t,r){let i=Qq(e,t);return i!==void 0&&(yh(i.called)||$q(i.called,i.nTypeArguments,r).length!==0||Gk(i.called,t,r))}function $q(e,t,r){let i=r.getTypeAtLocation(e);return yd(e.parent)&&(i=jse(i,tC(e.parent),!0)),(o0(e.parent)?i.getConstructSignatures():i.getCallSignatures()).filter(s=>!!s.typeParameters&&s.typeParameters.length>=t)}function Qq(e,t){if(t.text.lastIndexOf(\"<\",e?e.pos:t.text.length)===-1)return;let r=e,i=0,o=0;for(;r;){switch(r.kind){case 30:if(r=ec(r.getFullStart(),t),r&&r.kind===29&&(r=ec(r.getFullStart(),t)),!r||!Me(r))return;if(!i)return ng(r)?void 0:{called:r,nTypeArguments:o};i--;break;case 50:i=3;break;case 49:i=2;break;case 32:i++;break;case 20:if(r=E3(r,19,t),!r)return;break;case 22:if(r=E3(r,21,t),!r)return;break;case 24:if(r=E3(r,23,t),!r)return;break;case 28:o++;break;case 39:case 80:case 11:case 9:case 10:case 112:case 97:case 114:case 96:case 143:case 25:case 52:case 58:case 59:break;default:if(xi(r))break;return}r=ec(r.getFullStart(),t)}}function uv(e,t,r){return uc.getRangeOfEnclosingComment(e,t,void 0,r)}function Use(e,t){let r=Hi(e,t);return!!Rn(r,Sm)}function Hse(e,t){return e.kind===1?!!e.jsDoc:e.getWidth(t)!==0}function YN(e,t=0){let r=[],i=bd(e)?wG(e)&~t:0;return i&2&&r.push(\"private\"),i&4&&r.push(\"protected\"),i&1&&r.push(\"public\"),(i&256||nl(e))&&r.push(\"static\"),i&64&&r.push(\"abstract\"),i&32&&r.push(\"export\"),i&65536&&r.push(\"deprecated\"),e.flags&33554432&&r.push(\"declare\"),e.kind===277&&r.push(\"export\"),r.length>0?r.join(\",\"):\"\"}function qse(e){if(e.kind===183||e.kind===213)return e.typeArguments;if(Lo(e)||e.kind===263||e.kind===264)return e.typeParameters}function S3(e){return e===2||e===3}function Zq(e){return!!(e===11||e===14||Jv(e))}function SAe(e,t,r){return!!(t.flags&4)&&e.isEmptyAnonymousObjectType(r)}function Jse(e){if(!e.isIntersection())return!1;let{types:t,checker:r}=e;return t.length===2&&(SAe(r,t[0],t[1])||SAe(r,t[1],t[0]))}function Vk(e,t,r){return Jv(e.kind)&&e.getStart(r)<t&&t<e.end||!!e.isUnterminated&&t===e.end}function eJ(e){switch(e){case 125:case 123:case 124:return!0}return!1}function tJ(e){let t=aB(e);return lU(t,e&&e.configFile),t}function pv(e){return!!((e.kind===209||e.kind===210)&&(e.parent.kind===226&&e.parent.left===e&&e.parent.operatorToken.kind===64||e.parent.kind===250&&e.parent.initializer===e||pv(e.parent.kind===303?e.parent.parent:e.parent)))}function Kse(e,t){return TAe(e,t,!0)}function Xse(e,t){return TAe(e,t,!1)}function TAe(e,t,r){let i=uv(e,t,void 0);return!!i&&r===PAe.test(e.text.substring(i.pos,i.end))}function nJ(e){if(e)switch(e.kind){case 11:case 15:return rJ(e);default:return eu(e)}}function eu(e,t,r){return Gl(e.getStart(t),(r||e).getEnd())}function rJ(e){if(!e.isUnterminated)return Gl(e.getStart()+1,e.getEnd()-1)}function iJ(e,t){return qp(e.getStart(t),e.end)}function yy(e){return Gl(e.pos,e.end)}function T3(e){return qp(e.start,e.start+e.length)}function A3(e,t,r){return jk(qc(e,t),r)}function jk(e,t){return{span:e,newText:t}}function $N(e){return To(X3,e)}function oJ(e){return e.kind===156}function I3(e){return oJ(e)||Me(e)&&e.text===\"type\"}function Uk(e){return!!(e.flags&1536)&&e.name.charCodeAt(0)===34}function DI(){let e=[];return t=>{let r=Fa(t);return!e[r]&&(e[r]=!0)}}function hR(e){return e.getText(0,e.getLength())}function Hk(e,t){let r=\"\";for(let i=0;i<t;i++)r+=e;return r}function aJ(e){return e.isTypeParameter()&&e.getConstraint()||e}function qk(e){return e.kind===167?Ap(e.expression)?e.expression.text:void 0:Ci(e)?ar(e):Ef(e)}function Yse(e){return e.getSourceFiles().some(t=>!t.isDeclarationFile&&!e.isSourceFileFromExternalLibrary(t)&&!!(t.externalModuleIndicator||t.commonJsModuleIndicator))}function $se(e){return e.getSourceFiles().some(t=>!t.isDeclarationFile&&!e.isSourceFileFromExternalLibrary(t)&&!!t.externalModuleIndicator)}function sJ(e){return!!e.module||Wa(e)>=2||!!e.noEmit}function lT(e,t){return{fileExists:r=>e.fileExists(r),getCurrentDirectory:()=>t.getCurrentDirectory(),readFile:Wo(t,t.readFile),useCaseSensitiveFileNames:Wo(t,t.useCaseSensitiveFileNames),getSymlinkCache:Wo(t,t.getSymlinkCache)||e.getSymlinkCache,getModuleSpecifierCache:Wo(t,t.getModuleSpecifierCache),getPackageJsonInfoCache:()=>{var r;return(r=e.getModuleResolutionCache())==null?void 0:r.getPackageJsonInfoCache()},getGlobalTypingsCacheLocation:Wo(t,t.getGlobalTypingsCacheLocation),redirectTargetsMap:e.redirectTargetsMap,getProjectReferenceRedirect:r=>e.getProjectReferenceRedirect(r),isSourceOfProjectReferenceRedirect:r=>e.isSourceOfProjectReferenceRedirect(r),getNearestAncestorDirectoryWithPackageJson:Wo(t,t.getNearestAncestorDirectoryWithPackageJson),getFileIncludeReasons:()=>e.getFileIncludeReasons(),getCommonSourceDirectory:()=>e.getCommonSourceDirectory()}}function lJ(e,t){return{...lT(e,t),getCommonSourceDirectory:()=>e.getCommonSourceDirectory()}}function x3(e){return e===2||e>=3&&e<=99||e===100}function Qse(e,t,r,i){return e||t&&t.length?fv(e,t,r,i):void 0}function fv(e,t,r,i,o){return P.createImportDeclaration(void 0,e||t?P.createImportClause(!!o,e,t&&t.length?P.createNamedImports(t):void 0):void 0,typeof r==\"string\"?CI(r,i):r,void 0)}function CI(e,t){return P.createStringLiteral(e,t===0)}function cJ(e,t){return IW(e,t)?1:0}function Pp(e,t){if(t.quotePreference&&t.quotePreference!==\"auto\")return t.quotePreference===\"single\"?0:1;{let r=e.imports&&Dr(e.imports,i=>da(i)&&!xs(i.parent));return r?cJ(r,e):1}}function dJ(e){switch(e){case 0:return\"'\";case 1:return'\"';default:return x.assertNever(e)}}function R3(e){let t=D3(e);return t===void 0?void 0:Ii(t)}function D3(e){return e.escapedName!==\"default\"?e.escapedName:ml(e.declarations,t=>{let r=mo(t);return r&&r.kind===80?r.escapedText:void 0})}function C3(e){return Ga(e)&&(U_(e.parent)||cc(e.parent)||Xd(e.parent,!1)&&e.parent.arguments[0]===e||lp(e.parent)&&e.parent.arguments[0]===e)}function Jk(e){return Na(e)&&Rf(e.parent)&&Me(e.name)&&!e.propertyName}function N3(e,t){let r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)}function Kk(e,t,r){if(e)for(;e.parent;){if(Li(e.parent)||!J5e(r,e.parent,t))return e;e=e.parent}}function J5e(e,t,r){return OG(e,t.getStart(r))&&t.getEnd()<=Al(e)}function gR(e,t){return Yf(e)?Dr(e.modifiers,r=>r.kind===t):void 0}function QN(e,t,r,i,o){let l=(oo(r)?r[0]:r).kind===243?M9:AS,d=Cr(t.statements,l),p=oo(r)?Zf.detectImportDeclarationSorting(r,o):3,h=Zf.getOrganizeImportsComparer(o,p===2),m=oo(r)?Gg(r,(v,E)=>Zf.compareImportsOrRequireStatements(v,E,h)):[r];if(!d.length)e.insertNodesAtTopOfFile(t,m,i);else if(d&&(p=Zf.detectImportDeclarationSorting(d,o))){let v=Zf.getOrganizeImportsComparer(o,p===2);for(let E of m){let S=Zf.getImportDeclarationInsertionIndex(d,E,v);if(S===0){let A=d[0]===t.statements[0]?{leadingTriviaOption:er.LeadingTriviaOption.Exclude}:{};e.insertNodeBefore(t,d[0],E,!1,A)}else{let A=d[S-1];e.insertNodeAfter(t,A,E)}}}else{let v=Ns(d);v?e.insertNodesAfter(t,v,m):e.insertNodesAtTopOfFile(t,m,i)}}function uJ(e,t){return x.assert(e.isTypeOnly),Fo(e.getChildAt(0,t),oJ)}function vR(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function pJ(e,t,r){return(r?pS:pb)(e.fileName,t.fileName)&&vR(e.textSpan,t.textSpan)}function fJ(e){return(t,r)=>pJ(t,r,e)}function mJ(e,t){if(e){for(let r=0;r<e.length;r++)if(e.indexOf(e[r])===r){let i=t(e[r],r);if(i)return i}}}function Zse(e,t,r){for(let i=t;i<r;i++)if(!$h(e.charCodeAt(i)))return!1;return!0}function ZN(e,t,r){let i=t.tryGetSourcePosition(e);return i&&(!r||r(Yo(i.fileName))?i:void 0)}function P3(e,t,r){let{fileName:i,textSpan:o}=e,s=ZN({fileName:i,pos:o.start},t,r);if(!s)return;let l=ZN({fileName:i,pos:o.start+o.length},t,r),d=l?l.pos-s.pos:o.length;return{fileName:s.fileName,textSpan:{start:s.pos,length:d},originalFileName:e.fileName,originalTextSpan:e.textSpan,contextSpan:_J(e,t,r),originalContextSpan:e.contextSpan}}function _J(e,t,r){let i=e.contextSpan&&ZN({fileName:e.fileName,pos:e.contextSpan.start},t,r),o=e.contextSpan&&ZN({fileName:e.fileName,pos:e.contextSpan.start+e.contextSpan.length},t,r);return i&&o?{start:i.pos,length:o.pos-i.pos}:void 0}function hJ(e){let t=e.declarations?Ac(e.declarations):void 0;return!!Rn(t,r=>ao(r)?!0:Na(r)||Rf(r)||i0(r)?!1:\"quit\")}function K5e(){let e=i2*10,t,r,i,o;m();let s=v=>d(v,17);return{displayParts:()=>{let v=t.length&&t[t.length-1].text;return o>e&&v&&v!==\"...\"&&($h(v.charCodeAt(v.length-1))||t.push(Ru(\" \",16)),t.push(Ru(\"...\",15))),t},writeKeyword:v=>d(v,5),writeOperator:v=>d(v,12),writePunctuation:v=>d(v,15),writeTrailingSemicolon:v=>d(v,15),writeSpace:v=>d(v,16),writeStringLiteral:v=>d(v,8),writeParameter:v=>d(v,13),writeProperty:v=>d(v,14),writeLiteral:v=>d(v,8),writeSymbol:p,writeLine:h,write:s,writeComment:s,getText:()=>\"\",getTextPos:()=>0,getColumn:()=>0,getLine:()=>0,isAtStartOfLine:()=>!1,hasTrailingWhitespace:()=>!1,hasTrailingComment:()=>!1,rawWrite:Ro,getIndent:()=>i,increaseIndent:()=>{i++},decreaseIndent:()=>{i--},clear:m};function l(){if(!(o>e)&&r){let v=OW(i);v&&(o+=v.length,t.push(Ru(v,16))),r=!1}}function d(v,E){o>e||(l(),o+=v.length,t.push(Ru(v,E)))}function p(v,E){o>e||(l(),o+=v.length,t.push(ele(v,E)))}function h(){o>e||(o+=1,t.push(yR()),r=!0)}function m(){t=[],r=!0,i=0,o=0}}function ele(e,t){return Ru(e,r(t));function r(i){let o=i.flags;return o&3?hJ(i)?13:9:o&4||o&32768||o&65536?14:o&8?19:o&16?20:o&32?1:o&64?4:o&384?2:o&1536?11:o&8192?10:o&262144?18:o&524288||o&2097152?0:17}}function Ru(e,t){return{text:e,kind:Mk[t]}}function ul(){return Ru(\" \",16)}function Hu(e){return Ru(qo(e),5)}function Ad(e){return Ru(qo(e),15)}function eP(e){return Ru(qo(e),12)}function tle(e){return Ru(e,13)}function nle(e){return Ru(e,14)}function gJ(e){let t=LE(e);return t===void 0?Mp(e):Hu(t)}function Mp(e){return Ru(e,17)}function rle(e){return Ru(e,0)}function ile(e){return Ru(e,18)}function M3(e){return Ru(e,24)}function ole(e,t){return{text:e,kind:Mk[23],target:{fileName:Nn(t).fileName,textSpan:eu(t)}}}function vJ(e){return Ru(e,22)}function ale(e,t){var r;let i=rie(e)?\"link\":iie(e)?\"linkcode\":\"linkplain\",o=[vJ(`{@${i} `)];if(!e.name)e.text&&o.push(M3(e.text));else{let s=t?.getSymbolAtLocation(e.name),l=s&&t?EJ(s,t):void 0,d=Y5e(e.text),p=Vl(e.name)+e.text.slice(0,d),h=X5e(e.text.slice(d)),m=l?.valueDeclaration||((r=l?.declarations)==null?void 0:r[0]);if(m)o.push(ole(p,m)),h&&o.push(M3(h));else{let v=d===0||e.text.charCodeAt(d)===124&&p.charCodeAt(p.length-1)!==32?\" \":\"\";o.push(M3(p+v+h))}}return o.push(vJ(\"}\")),o}function X5e(e){let t=0;if(e.charCodeAt(t++)===124){for(;t<e.length&&e.charCodeAt(t)===32;)t++;return e.slice(t)}return e}function Y5e(e){let t=e.indexOf(\"://\");if(t===0){for(;t<e.length&&e.charCodeAt(t)!==124;)t++;return t}if(e.indexOf(\"()\")===0)return 2;if(e.charAt(0)===\"<\"){let r=0,i=0;for(;i<e.length;)if(e[i]===\"<\"&&r++,e[i]===\">\"&&r--,i++,!r)return i}return 0}function mv(e,t){var r;return t?.newLineCharacter||((r=e.getNewLine)==null?void 0:r.call(e))||MAe}function yR(){return Ru(`\n`,6)}function by(e){try{return e(FJ),FJ.displayParts()}finally{FJ.clear()}}function Xk(e,t,r,i=0){return by(o=>{e.writeType(t,r,i|1024|16384,o)})}function tP(e,t,r,i,o=0){return by(s=>{e.writeSymbol(t,r,i,o|8,s)})}function yJ(e,t,r,i=0){return i|=25632,by(o=>{e.writeSignature(t,r,i,void 0,o)})}function AAe(e,t){let r=t.getSourceFile();return by(i=>{hk().writeNode(4,e,r,i)})}function sle(e){return!!e.parent&&RA(e.parent)&&e.parent.propertyName===e}function bJ(e,t){return uF(e,t.getScriptKind&&t.getScriptKind(e))}function EJ(e,t){let r=e;for(;$5e(r)||k_(r)&&r.links.target;)k_(r)&&r.links.target?r=r.links.target:r=Kc(r,t);return r}function $5e(e){return(e.flags&2097152)!==0}function lle(e,t){return na(Kc(e,t))}function cle(e,t){for(;$h(e.charCodeAt(t));)t+=1;return t}function L3(e,t){for(;t>-1&&Um(e.charCodeAt(t));)t-=1;return t+1}function Fs(e,t=!0){let r=e&&IAe(e);return r&&!t&&qu(r),r}function Yk(e,t,r){let i=r(e);return i?mr(i,e):i=IAe(e,r),i&&!t&&qu(i),i}function IAe(e,t){let r=t?s=>Yk(s,!0,t):Fs,o=un(e,r,void 0,t?s=>s&&SJ(s,!0,t):s=>s&&T0(s),r);if(o===e){let s=da(e)?mr(P.createStringLiteralFromNode(e),e):Bu(e)?mr(P.createNumericLiteral(e.text,e.numericLiteralFlags),e):P.cloneNode(e);return Ze(s,e)}return o.parent=void 0,o}function T0(e,t=!0){if(e){let r=P.createNodeArray(e.map(i=>Fs(i,t)),e.hasTrailingComma);return Ze(r,e),r}return e}function SJ(e,t,r){return P.createNodeArray(e.map(i=>Yk(i,t,r)),e.hasTrailingComma)}function qu(e){TJ(e),dle(e)}function TJ(e){ule(e,1024,Z5e)}function dle(e){ule(e,2048,yV)}function cT(e,t){let r=e.getSourceFile(),i=r.text;Q5e(e,i)?bR(e,t,r):Qk(e,t,r),nP(e,t,r)}function Q5e(e,t){let r=e.getFullStart(),i=e.getStart();for(let o=r;o<i;o++)if(t.charCodeAt(o)===10)return!0;return!1}function ule(e,t,r){e_(e,t);let i=r(e);i&&ule(i,t,r)}function Z5e(e){return e.forEachChild(t=>t)}function dT(e,t){let r=e;for(let i=1;!tW(t,r);i++)r=`${e}_${i}`;return r}function $k(e,t,r,i){let o=0,s=-1;for(let{fileName:l,textChanges:d}of e){x.assert(l===t);for(let p of d){let{span:h,newText:m}=p,v=eBe(m,Th(r));if(v!==-1&&(s=h.start+o+v,!i))return s;o+=m.length-h.length}}return x.assert(i),x.assert(s>=0),s}function bR(e,t,r,i,o){MM(r.text,e.pos,ple(t,r,i,o,iN))}function nP(e,t,r,i,o){LM(r.text,e.end,ple(t,r,i,o,kF))}function Qk(e,t,r,i,o){LM(r.text,e.pos,ple(t,r,i,o,iN))}function ple(e,t,r,i,o){return(s,l,d,p)=>{d===3?(s+=2,l-=2):s+=2,o(e,r||d,t.text.slice(s,l),i!==void 0?i:p)}}function eBe(e,t){if(Ui(e,t))return 0;let r=e.indexOf(\" \"+t);return r===-1&&(r=e.indexOf(\".\"+t)),r===-1&&(r=e.indexOf('\"'+t)),r===-1?-1:r+1}function k3(e){return Zn(e)&&e.operatorToken.kind===28||ma(e)||(x2(e)||Sj(e))&&ma(e.expression)}function O3(e,t,r){let i=Zg(e.parent);switch(i.kind){case 214:return t.getContextualType(i,r);case 226:{let{left:o,operatorToken:s,right:l}=i;return w3(s.kind)?t.getTypeAtLocation(e===l?o:l):t.getContextualType(e,r)}case 296:return IJ(i,t);default:return t.getContextualType(e,r)}}function rP(e,t,r){let i=Pp(e,t),o=JSON.stringify(r);return i===0?`'${Sf(o).replace(/'/g,()=>\"\\\\'\").replace(/\\\\\"/g,'\"')}'`:o}function w3(e){switch(e){case 37:case 35:case 38:case 36:return!0;default:return!1}}function fle(e){switch(e.kind){case 11:case 15:case 228:case 215:return!0;default:return!1}}function AJ(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()}function IJ(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}function iP(e,t,r,i){let o=r.getTypeChecker(),s=!0,l=()=>s=!1,d=o.typeToTypeNode(e,t,1,{trackSymbol:(p,h,m)=>(s=s&&o.isSymbolAccessible(p,h,m,!1).accessibility===0,!s),reportInaccessibleThisError:l,reportPrivateInBaseOfClassExpression:l,reportInaccessibleUniqueSymbolError:l,moduleResolverHost:lJ(r,i)});return s?d:void 0}function mle(e){return e===179||e===180||e===181||e===171||e===173}function xAe(e){return e===262||e===176||e===174||e===177||e===178}function RAe(e){return e===267}function W3(e){return e===243||e===244||e===246||e===251||e===252||e===253||e===257||e===259||e===172||e===265||e===272||e===271||e===278||e===270||e===277}function tBe(e,t){let r=e.getLastToken(t);if(r&&r.kind===27)return!1;if(mle(e.kind)){if(r&&r.kind===28)return!1}else if(RAe(e.kind)){let d=Da(e.getChildren(t));if(d&&n_(d))return!1}else if(xAe(e.kind)){let d=Da(e.getChildren(t));if(d&&VE(d))return!1}else if(!W3(e.kind))return!1;if(e.kind===246)return!0;let i=Rn(e,d=>!d.parent),o=S0(e,i,t);if(!o||o.kind===20)return!0;let s=t.getLineAndCharacterOfPosition(e.getEnd()).line,l=t.getLineAndCharacterOfPosition(o.getStart(t)).line;return s!==l}function F3(e,t,r){let i=Rn(t,o=>o.end!==e?\"quit\":zJ(o.kind));return!!i&&tBe(i,r)}function Zk(e){let t=0,r=0,i=5;return Ao(e,function o(s){if(W3(s.kind)){let l=s.getLastToken(e);l?.kind===27?t++:r++}else if(mle(s.kind)){let l=s.getLastToken(e);if(l?.kind===27)t++;else if(l&&l.kind!==28){let d=$a(e,l.getStart(e)).line,p=$a(e,W_(e,l.end).start).line;d!==p&&r++}}return t+r>=i?!0:Ao(s,o)}),t===0&&r<=1?!0:t/r>1/i}function z3(e,t){return V3(e,e.getDirectories,t)||[]}function xJ(e,t,r,i,o){return V3(e,e.readDirectory,t,r,i,o)||je}function eO(e,t){return V3(e,e.fileExists,t)}function B3(e,t){return G3(()=>gm(t,e))||!1}function G3(e){try{return e()}catch{return}}function V3(e,t,...r){return G3(()=>t&&t.apply(e,r))}function RJ(e,t,r){let i=[];return Vf(e,o=>{if(o===r)return!0;let s=wr(o,\"package.json\");eO(t,s)&&i.push(s)}),i}function _le(e,t){let r;return Vf(e,i=>{if(i===\"node_modules\"||(r=Aae(i,o=>eO(t,o),\"package.json\"),r))return!0}),r}function hle(e,t){if(!t.fileExists)return[];let r=[];return Vf(Ur(e),i=>{let o=wr(i,\"package.json\");if(t.fileExists(o)){let s=DJ(o,t);s&&r.push(s)}}),r}function DJ(e,t){if(!t.readFile)return;let r=[\"dependencies\",\"devDependencies\",\"optionalDependencies\",\"peerDependencies\"],i=t.readFile(e)||\"\",o=KW(i),s={};if(o)for(let p of r){let h=o[p];if(!h)continue;let m=new Map;for(let v in h)m.set(v,h[v]);s[p]=m}let l=[[1,s.dependencies],[2,s.devDependencies],[8,s.optionalDependencies],[4,s.peerDependencies]];return{...s,parseable:!!o,fileName:e,get:d,has(p,h){return!!d(p,h)}};function d(p,h=15){for(let[m,v]of l)if(v&&h&m){let E=v.get(p);if(E!==void 0)return E}}}function oP(e,t,r){let i=(r.getPackageJsonsVisibleToFile&&r.getPackageJsonsVisibleToFile(e.fileName)||hle(e.fileName,r)).filter(A=>A.parseable),o,s,l;return{allowsImportingAmbientModule:p,allowsImportingSourceFile:h,allowsImportingSpecifier:m};function d(A){let C=S(A);for(let R of i)if(R.has(C)||R.has(n4(C)))return!0;return!1}function p(A,C){if(!i.length||!A.valueDeclaration)return!0;if(!s)s=new Map;else{let K=s.get(A);if(K!==void 0)return K}let R=Sf(A.getName());if(v(R))return s.set(A,!0),!0;let L=A.valueDeclaration.getSourceFile(),G=E(L.fileName,C);if(typeof G>\"u\")return s.set(A,!0),!0;let U=d(G)||d(R);return s.set(A,U),U}function h(A,C){if(!i.length)return!0;if(!l)l=new Map;else{let G=l.get(A);if(G!==void 0)return G}let R=E(A.fileName,C);if(!R)return l.set(A,!0),!0;let L=d(R);return l.set(A,L),L}function m(A){return!i.length||v(A)||op(A)||Ou(A)?!0:d(A)}function v(A){return!!(wd(e)&&l_.nodeCoreModules.has(A)&&(o===void 0&&(o=j3(e)),o))}function E(A,C){if(!A.includes(\"node_modules\"))return;let R=h0.getNodeModulesPackageName(r.getCompilationSettings(),e,A,C,t);if(R&&!op(R)&&!Ou(R))return S(R)}function S(A){let C=mc(CN(A)).slice(1);return Ui(C[0],\"@\")?`${C[0]}/${C[1]}`:C[0]}}function j3(e){return ct(e.imports,({text:t})=>l_.nodeCoreModules.has(t))}function tO(e){return To(mc(e),\"node_modules\")}function CJ(e){return e.file!==void 0&&e.start!==void 0&&e.length!==void 0}function gle(e,t){let r=eu(e),i=gA(t,r,Ps,Yw);if(i>=0){let o=t[i];return x.assertEqual(o.file,e.getSourceFile(),\"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile\"),Fo(o,CJ)}}function vle(e,t){var r;let i=gA(t,e.start,l=>l.start,Ms);for(i<0&&(i=~i);((r=t[i-1])==null?void 0:r.start)===e.start;)i--;let o=[],s=Al(e);for(;;){let l=Vr(t[i],CJ);if(!l||l.start>s)break;Eee(e,l)&&o.push(l),i++}return o}function NI({startPosition:e,endPosition:t}){return Gl(e,t===void 0?e:t)}function NJ(e,t){let r=Hi(e,t.start);return Rn(r,o=>o.getStart(e)<t.start||o.getEnd()>Al(t)?\"quit\":lt(o)&&vR(t,eu(o,e)))}function PJ(e,t,r=Ps){return e?oo(e)?r(nn(e,t)):t(e,0):void 0}function MJ(e){return oo(e)?Ta(e):e}function yle(e,t){if(DAe(e)){let r=CAe(e);if(r)return r;let i=ud.moduleSymbolToValidIdentifier(ble(e),t,!1),o=ud.moduleSymbolToValidIdentifier(ble(e),t,!0);return i===o?i:[i,o]}return e.name}function U3(e,t,r){return DAe(e)?CAe(e)||ud.moduleSymbolToValidIdentifier(ble(e),t,!!r):e.name}function DAe(e){return!(e.flags&33554432)&&(e.escapedName===\"export=\"||e.escapedName===\"default\")}function CAe(e){return ml(e.declarations,t=>{var r,i,o;return dl(t)?(r=Vr(Rl(t.expression),Me))==null?void 0:r.text:Ed(t)&&t.symbol.flags===2097152?(i=Vr(t.propertyName,Me))==null?void 0:i.text:(o=Vr(mo(t),Me))==null?void 0:o.text})}function ble(e){var t;return x.checkDefined(e.parent,`Symbol parent was undefined. Flags: ${x.formatSymbolFlags(e.flags)}. Declarations: ${(t=e.declarations)==null?void 0:t.map(r=>{let i=x.formatSyntaxKind(r.kind),o=Jn(r),{expression:s}=r;return(o?\"[JS]\":\"\")+i+(s?` (expression: ${x.formatSyntaxKind(s.kind)})`:\"\")}).join(\", \")}.`)}function Ele(e,t,r){let i=t.length;if(i+r>e.length)return!1;for(let o=0;o<i;o++)if(t.charCodeAt(o)!==e.charCodeAt(o+r))return!1;return!0}function LJ(e){return e.charCodeAt(0)===95}function NAe(e){return!Sle(e)}function Sle(e){let t=e.getSourceFile();return!t.externalModuleIndicator&&!t.commonJsModuleIndicator?!1:Jn(e)||!Rn(e,r=>Il(r)&&Jm(r))}function H3(e){return!!(wG(e)&65536)}function q3(e,t){return ml(e.imports,i=>{if(l_.nodeCoreModules.has(i.text))return Ui(i.text,\"node:\")})??t.usesUriStyleNodeCoreModules}function nO(e){return e===`\n`?1:0}function uT(e){return oo(e)?xh(vo(e[0]),e.slice(1)):vo(e)}function J3({options:e},t){let r=!e.semicolons||e.semicolons===\"ignore\",i=e.semicolons===\"remove\"||r&&!Zk(t);return{...e,semicolons:i?\"remove\":\"ignore\"}}function kJ(e){return e===2||e===3}function ER(e,t){return e.isSourceFileFromExternalLibrary(t)||e.isSourceFileDefaultLibrary(t)}function K3(e,t){let r=new Set,i=new Set,o=new Set;for(let d of t)if(!_N(d)){let p=Ka(d.expression);if(wE(p))switch(p.kind){case 15:case 11:r.add(p.text);break;case 9:i.add(parseInt(p.text));break;case 10:let h=are(Zs(p.text,\"n\")?p.text.slice(0,-1):p.text);h&&o.add(ZE(h));break}else{let h=e.getSymbolAtLocation(d.expression);if(h&&h.valueDeclaration&&p0(h.valueDeclaration)){let m=e.getConstantValue(h.valueDeclaration);m!==void 0&&s(m)}}}return{addValue:s,hasValue:l};function s(d){switch(typeof d){case\"string\":r.add(d);break;case\"number\":i.add(d)}}function l(d){switch(typeof d){case\"string\":return r.has(d);case\"number\":return i.has(d);case\"object\":return o.has(ZE(d))}}}function OJ(e,t,r,i){var o;let s=typeof e==\"string\"?e:e.fileName;if(!QE(s))return!1;let l=t.getCompilerOptions(),d=ld(l),p=typeof e==\"string\"?Tk(ks(e,r.getCurrentDirectory(),ev(r)),(o=t.getPackageJsonInfoCache)==null?void 0:o.call(t),r,l):e.impliedNodeFormat;if(p===99)return!1;if(p===1||l.verbatimModuleSyntax&&d===1)return!0;if(l.verbatimModuleSyntax&&nF(d))return!1;if(typeof e==\"object\"){if(e.commonJsModuleIndicator)return!0;if(e.externalModuleIndicator)return!1}return i}var Id,wJ,PAe,X3,WJ,FJ,MAe,Y3,zJ,nBe=pt({\"src/services/utilities.ts\"(){\"use strict\";Hr(),Id=Kg(99,!0),wJ=(e=>(e[e.None=0]=\"None\",e[e.Value=1]=\"Value\",e[e.Type=2]=\"Type\",e[e.Namespace=4]=\"Namespace\",e[e.All=7]=\"All\",e))(wJ||{}),PAe=/^\\/\\/\\/\\s*</,X3=[133,131,163,136,97,140,143,146,106,150,151,148,154,155,114,112,116,157,158,159],WJ=(e=>(e[e.Single=0]=\"Single\",e[e.Double=1]=\"Double\",e))(WJ||{}),FJ=K5e(),MAe=`\n`,Y3=\"anonymous function\",zJ=hm(mle,xAe,RAe,W3)}});function BJ(e){let t=1,r=Ep(),i=new Map,o=new Map,s,l={isUsableByFile:S=>S===s,isEmpty:()=>!r.size,clear:()=>{r.clear(),i.clear(),s=void 0},add:(S,A,C,R,L,G,U,K)=>{S!==s&&(l.clear(),s=S);let F;if(L){let ce=yF(L.fileName);if(ce){let{topLevelNodeModulesIndex:Z,topLevelPackageNameIndex:pe,packageRootIndex:Ae}=ce;if(F=ak(CN(L.fileName.substring(pe+1,Ae))),Ui(S,L.path.substring(0,Z))){let Oe=o.get(F),_e=L.fileName.substring(0,pe+1);if(Oe){let be=Oe.indexOf(q_);Z>be&&o.set(F,_e)}else o.set(F,_e)}}}let W=G===1&&Ex(A)||A,$=G===0||Uk(W)?Ii(C):yle(W,void 0),de=typeof $==\"string\"?$:$[0],fe=typeof $==\"string\"?void 0:$[1],q=Sf(R.name),H=t++,ee=Kc(A,K),le=A.flags&33554432?void 0:A,Ee=R.flags&33554432?void 0:R;(!le||!Ee)&&i.set(H,[A,R]),r.add(p(de,A,Ic(q)?void 0:q,K),{id:H,symbolTableKey:C,symbolName:de,capitalizedSymbolName:fe,moduleName:q,moduleFile:L,moduleFileName:L?.fileName,packageName:F,exportKind:G,targetFlags:ee.flags,isFromPackageJson:U,symbol:le,moduleSymbol:Ee})},get:(S,A)=>{if(S!==s)return;let C=r.get(A);return C?.map(d)},search:(S,A,C,R)=>{if(S===s)return hc(r,(L,G)=>{let{symbolName:U,ambientModuleName:K}=h(G),F=A&&L[0].capitalizedSymbolName||U;if(C(F,L[0].targetFlags)){let W=L.map(d).filter(($,de)=>E($,L[de].packageName));if(W.length){let $=R(W,F,!!K,G);if($!==void 0)return $}}})},releaseSymbols:()=>{i.clear()},onFileChanged:(S,A,C)=>m(S)&&m(A)?!1:s&&s!==A.path||C&&j3(S)!==j3(A)||!mm(S.moduleAugmentations,A.moduleAugmentations)||!v(S,A)?(l.clear(),!0):(s=A.path,!1)};return x.isDebugging&&Object.defineProperty(l,\"__cache\",{value:r}),l;function d(S){if(S.symbol&&S.moduleSymbol)return S;let{id:A,exportKind:C,targetFlags:R,isFromPackageJson:L,moduleFileName:G}=S,[U,K]=i.get(A)||je;if(U&&K)return{symbol:U,moduleSymbol:K,moduleFileName:G,exportKind:C,targetFlags:R,isFromPackageJson:L};let F=(L?e.getPackageJsonAutoImportProvider():e.getCurrentProgram()).getTypeChecker(),oe=S.moduleSymbol||K||x.checkDefined(S.moduleFile?F.getMergedSymbol(S.moduleFile.symbol):F.tryFindAmbientModule(S.moduleName)),W=S.symbol||U||x.checkDefined(C===2?F.resolveExternalModuleSymbol(oe):F.tryGetMemberInModuleExportsAndProperties(Ii(S.symbolTableKey),oe),`Could not find symbol '${S.symbolName}' by key '${S.symbolTableKey}' in module ${oe.name}`);return i.set(A,[W,oe]),{symbol:W,moduleSymbol:oe,moduleFileName:G,exportKind:C,targetFlags:R,isFromPackageJson:L}}function p(S,A,C,R){let L=C||\"\";return`${S.length} ${na(Kc(A,R))} ${S} ${L}`}function h(S){let A=S.indexOf(\" \"),C=S.indexOf(\" \",A+1),R=parseInt(S.substring(0,A),10),L=S.substring(C+1),G=L.substring(0,R),U=L.substring(R+1);return{symbolName:G,ambientModuleName:U===\"\"?void 0:U}}function m(S){return!S.commonJsModuleIndicator&&!S.externalModuleIndicator&&!S.moduleAugmentations&&!S.ambientModuleNames}function v(S,A){if(!mm(S.ambientModuleNames,A.ambientModuleNames))return!1;let C=-1,R=-1;for(let L of A.ambientModuleNames){let G=U=>m9(U)&&U.name.text===L;if(C=Tl(S.statements,G,C+1),R=Tl(A.statements,G,R+1),S.statements[C]!==A.statements[R])return!1}return!0}function E(S,A){if(!A||!S.moduleFileName)return!0;let C=e.getGlobalTypingsCacheLocation();if(C&&Ui(S.moduleFileName,C))return!0;let R=o.get(A);return!R||Ui(S.moduleFileName,R)}}function GJ(e,t,r,i,o,s,l){var d;if(t===r)return!1;let p=l?.get(t.path,r.path,i,{});if(p?.isBlockedByPackageJsonDependencies!==void 0)return!p.isBlockedByPackageJsonDependencies;let h=ev(s),m=(d=s.getGlobalTypingsCacheLocation)==null?void 0:d.call(s),v=!!h0.forEachFileNameOfModule(t.fileName,r.fileName,s,!1,E=>{let S=e.getSourceFile(E);return(S===r||!S)&&rBe(t.fileName,E,h,m)});if(o){let E=v&&o.allowsImportingSourceFile(r,s);return l?.setBlockedByPackageJsonDependencies(t.path,r.path,i,{},!E),E}return v}function rBe(e,t,r,i){let o=Vf(t,l=>Ll(l)===\"node_modules\"?l:void 0),s=o&&Ur(r(o));return s===void 0||Ui(r(e),s)||!!i&&Ui(r(i),s)}function VJ(e,t,r,i,o){var s,l;let d=yx(t),p=r.autoImportFileExcludePatterns&&Fi(r.autoImportFileExcludePatterns,m=>{let v=cF(m,\"\",\"exclude\");return v?iy(v,d):void 0});LAe(e.getTypeChecker(),e.getSourceFiles(),p,t,(m,v)=>o(m,v,e,!1));let h=i&&((s=t.getPackageJsonAutoImportProvider)==null?void 0:s.call(t));if(h){let m=Is(),v=e.getTypeChecker();LAe(h.getTypeChecker(),h.getSourceFiles(),p,t,(E,S)=>{(S&&!e.getSourceFile(S.fileName)||!S&&!v.resolveName(E.name,void 0,1536,!1))&&o(E,S,h,!0)}),(l=t.log)==null||l.call(t,`forEachExternalModuleToImportFrom autoImportProvider: ${Is()-m}`)}}function LAe(e,t,r,i,o){var s,l;let d=(s=i.getSymlinkCache)==null?void 0:s.call(i).getSymlinkedDirectoriesByRealpath(),p=r&&(({fileName:h,path:m})=>{if(r.some(v=>v.test(h)))return!0;if(d?.size&&Gb(h)){let v=Ur(h);return Vf(Ur(m),E=>{let S=d.get(_c(E));if(S)return S.some(A=>r.some(C=>C.test(h.replace(v,A))));v=Ur(v)})??!1}return!1});for(let h of e.getAmbientModules())!h.name.includes(\"*\")&&!(r&&((l=h.declarations)!=null&&l.every(m=>p(m.getSourceFile()))))&&o(h,void 0);for(let h of t)sp(h)&&!p?.(h)&&o(e.getMergedSymbol(h.symbol),h)}function rO(e,t,r,i,o){var s,l,d,p,h;let m=Is();(s=t.getPackageJsonAutoImportProvider)==null||s.call(t);let v=((l=t.getCachedExportInfoMap)==null?void 0:l.call(t))||BJ({getCurrentProgram:()=>r,getPackageJsonAutoImportProvider:()=>{var A;return(A=t.getPackageJsonAutoImportProvider)==null?void 0:A.call(t)},getGlobalTypingsCacheLocation:()=>{var A;return(A=t.getGlobalTypingsCacheLocation)==null?void 0:A.call(t)}});if(v.isUsableByFile(e.path))return(d=t.log)==null||d.call(t,\"getExportInfoMap: cache hit\"),v;(p=t.log)==null||p.call(t,\"getExportInfoMap: cache miss or empty; calculating new results\");let E=r.getCompilerOptions(),S=0;try{VJ(r,t,i,!0,(A,C,R,L)=>{++S%100===0&&o?.throwIfCancellationRequested();let G=new Map,U=R.getTypeChecker(),K=$3(A,U,E);K&&kAe(K.symbol,U)&&v.add(e.path,K.symbol,K.exportKind===1?\"default\":\"export=\",A,C,K.exportKind,L,U),U.forEachExportAndPropertyOfModule(A,(F,oe)=>{F!==K?.symbol&&kAe(F,U)&&Jf(G,oe)&&v.add(e.path,F,oe,A,C,0,L,U)})})}catch(A){throw v.clear(),A}return(h=t.log)==null||h.call(t,`getExportInfoMap: done in ${Is()-m} ms`),v}function $3(e,t,r){let i=iBe(e,t);if(!i)return;let{symbol:o,exportKind:s}=i,l=Q3(o,t,r);return l&&{symbol:o,exportKind:s,...l}}function kAe(e,t){return!t.isUndefinedSymbol(e)&&!t.isUnknownSymbol(e)&&!WL(e)&&!one(e)}function iBe(e,t){let r=t.resolveExternalModuleSymbol(e);if(r!==e)return{symbol:r,exportKind:2};let i=t.tryGetMemberInModuleExports(\"default\",e);if(i)return{symbol:i,exportKind:1}}function Q3(e,t,r){let i=Ex(e);if(i)return{resolvedSymbol:i,name:i.name};let o=oBe(e);if(o!==void 0)return{resolvedSymbol:e,name:o};if(e.flags&2097152){let s=t.getImmediateAliasedSymbol(e);if(s&&s.parent)return Q3(s,t,r)}return e.escapedName!==\"default\"&&e.escapedName!==\"export=\"?{resolvedSymbol:e,name:e.getName()}:{resolvedSymbol:e,name:U3(e,r.target)}}function oBe(e){return e.declarations&&ml(e.declarations,t=>{var r;if(dl(t))return(r=Vr(Rl(t.expression),Me))==null?void 0:r.text;if(Ed(t))return x.assert(t.name.text===\"default\",\"Expected the specifier to be a default export\"),t.propertyName&&t.propertyName.text})}var jJ,UJ,aBe=pt({\"src/services/exportInfoMap.ts\"(){\"use strict\";Hr(),jJ=(e=>(e[e.Named=0]=\"Named\",e[e.Default=1]=\"Default\",e[e.Namespace=2]=\"Namespace\",e[e.CommonJS=3]=\"CommonJS\",e))(jJ||{}),UJ=(e=>(e[e.Named=0]=\"Named\",e[e.Default=1]=\"Default\",e[e.ExportEquals=2]=\"ExportEquals\",e[e.UMD=3]=\"UMD\",e))(UJ||{})}});function OAe(){let e=Kg(99,!1);function t(i,o,s){return cBe(r(i,o,s),i)}function r(i,o,s){let l=0,d=0,p=[],{prefix:h,pushTemplate:m}=pBe(o);i=h+i;let v=h.length;m&&p.push(16),e.setText(i);let E=0,S=[],A=0;do{l=e.scan(),mx(l)||(C(),d=l);let R=e.getTokenEnd();if(lBe(e.getTokenStart(),R,v,_Be(l),S),R>=i.length){let L=sBe(e,l,Ns(p));L!==void 0&&(E=L)}}while(l!==1);function C(){switch(l){case 44:case 69:!zAe[d]&&e.reScanSlashToken()===14&&(l=14);break;case 30:d===80&&A++;break;case 32:A>0&&A--;break;case 133:case 154:case 150:case 136:case 155:A>0&&!s&&(l=80);break;case 16:p.push(l);break;case 19:p.length>0&&p.push(l);break;case 20:if(p.length>0){let R=Ns(p);R===16?(l=e.reScanTemplateToken(!1),l===18?p.pop():x.assertEqual(l,17,\"Should have been a template middle.\")):(x.assertEqual(R,19,\"Should have been an open brace\"),p.pop())}break;default:if(!du(l))break;(d===25||du(d)&&du(l)&&!uBe(d,l))&&(l=80)}}return{endOfLineState:E,spans:S}}return{getClassificationsForLine:t,getEncodedLexicalClassifications:r}}function sBe(e,t,r){switch(t){case 11:{if(!e.isUnterminated())return;let i=e.getTokenText(),o=i.length-1,s=0;for(;i.charCodeAt(o-s)===92;)s++;return s&1?i.charCodeAt(0)===34?3:2:void 0}case 3:return e.isUnterminated()?1:void 0;default:if(Jv(t)){if(!e.isUnterminated())return;switch(t){case 18:return 5;case 15:return 4;default:return x.fail(\"Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #\"+t)}}return r===16?6:void 0}}function lBe(e,t,r,i,o){if(i===8)return;e===0&&r>0&&(e+=r);let s=t-e;s>0&&o.push(e-r,s,i)}function cBe(e,t){let r=[],i=e.spans,o=0;for(let l=0;l<i.length;l+=3){let d=i[l],p=i[l+1],h=i[l+2];if(o>=0){let m=d-o;m>0&&r.push({length:m,classification:4})}r.push({length:p,classification:dBe(h)}),o=d+p}let s=t.length-o;return s>0&&r.push({length:s,classification:4}),{entries:r,finalLexState:e.endOfLineState}}function dBe(e){switch(e){case 1:return 3;case 3:return 1;case 4:return 6;case 25:return 7;case 5:return 2;case 6:return 8;case 8:return 4;case 10:return 0;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return 5;default:return}}function uBe(e,t){if(!eJ(e))return!0;switch(t){case 139:case 153:case 137:case 126:case 129:return!0;default:return!1}}function pBe(e){switch(e){case 3:return{prefix:`\"\\\\\n`};case 2:return{prefix:`'\\\\\n`};case 1:return{prefix:`/*\n`};case 4:return{prefix:\"`\\n\"};case 5:return{prefix:`}\n`,pushTemplate:!0};case 6:return{prefix:\"\",pushTemplate:!0};case 0:return{prefix:\"\"};default:return x.assertNever(e)}}function fBe(e){switch(e){case 42:case 44:case 45:case 40:case 41:case 48:case 49:case 50:case 30:case 32:case 33:case 34:case 104:case 103:case 130:case 152:case 35:case 36:case 37:case 38:case 51:case 53:case 52:case 56:case 57:case 75:case 74:case 79:case 71:case 72:case 73:case 65:case 66:case 67:case 69:case 70:case 64:case 28:case 61:case 76:case 77:case 78:return!0;default:return!1}}function mBe(e){switch(e){case 40:case 41:case 55:case 54:case 46:case 47:return!0;default:return!1}}function _Be(e){if(du(e))return 3;if(fBe(e)||mBe(e))return 5;if(e>=19&&e<=79)return 10;switch(e){case 9:return 4;case 10:return 25;case 11:return 6;case 14:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 80:default:return Jv(e)?6:2}}function Tle(e,t,r,i,o){return FAe(HJ(e,t,r,i,o))}function wAe(e,t){switch(t){case 267:case 263:case 264:case 262:case 231:case 218:case 219:e.throwIfCancellationRequested()}}function HJ(e,t,r,i,o){let s=[];return r.forEachChild(function d(p){if(!(!p||!P8(o,p.pos,p.getFullWidth()))){if(wAe(t,p.kind),Me(p)&&!_l(p)&&i.has(p.escapedText)){let h=e.getSymbolAtLocation(p),m=h&&WAe(h,aT(p),e);m&&l(p.getStart(r),p.getEnd(),m)}p.forEachChild(d)}}),{spans:s,endOfLineState:0};function l(d,p,h){let m=p-d;x.assert(m>0,`Classification had non-positive length of ${m}`),s.push(d),s.push(m),s.push(h)}}function WAe(e,t,r){let i=e.getFlags();if(i&2885600)return i&32?11:i&384?12:i&524288?16:i&1536?t&4||t&1&&hBe(e)?14:void 0:i&2097152?WAe(r.getAliasedSymbol(e),t,r):t&2?i&64?13:i&262144?15:void 0:void 0}function hBe(e){return ct(e.declarations,t=>Il(t)&&dg(t)===1)}function gBe(e){switch(e){case 1:return\"comment\";case 2:return\"identifier\";case 3:return\"keyword\";case 4:return\"number\";case 25:return\"bigint\";case 5:return\"operator\";case 6:return\"string\";case 8:return\"whitespace\";case 9:return\"text\";case 10:return\"punctuation\";case 11:return\"class name\";case 12:return\"enum name\";case 13:return\"interface name\";case 14:return\"module name\";case 15:return\"type parameter name\";case 16:return\"type alias name\";case 17:return\"parameter name\";case 18:return\"doc comment tag name\";case 19:return\"jsx open tag name\";case 20:return\"jsx close tag name\";case 21:return\"jsx self closing tag name\";case 22:return\"jsx attribute\";case 23:return\"jsx text\";case 24:return\"jsx attribute string literal value\";default:return}}function FAe(e){x.assert(e.spans.length%3===0);let t=e.spans,r=[];for(let i=0;i<t.length;i+=3)r.push({textSpan:qc(t[i],t[i+1]),classificationType:gBe(t[i+2])});return r}function Ale(e,t,r){return FAe(qJ(e,t,r))}function qJ(e,t,r){let i=r.start,o=r.length,s=Kg(99,!1,t.languageVariant,t.text),l=Kg(99,!1,t.languageVariant,t.text),d=[];return K(t),{spans:d,endOfLineState:0};function p(F,oe,W){d.push(F),d.push(oe),d.push(W)}function h(F){for(s.resetTokenState(F.pos);;){let oe=s.getTokenEnd();if(!hee(t.text,oe))return oe;let W=s.scan(),$=s.getTokenEnd(),de=$-oe;if(!mx(W))return oe;switch(W){case 4:case 5:continue;case 2:case 3:m(F,W,oe,de),s.resetTokenState($);continue;case 7:let fe=t.text,q=fe.charCodeAt(oe);if(q===60||q===62){p(oe,de,1);continue}x.assert(q===124||q===61),C(fe,oe,$);break;case 6:break;default:x.assertNever(W)}}}function m(F,oe,W,$){if(oe===3){let de=Pie(t.text,W,$);if(de&&de.jsDoc){Aa(de.jsDoc,F),E(de.jsDoc);return}}else if(oe===2&&S(W,$))return;v(W,$)}function v(F,oe){p(F,oe,1)}function E(F){var oe,W,$,de,fe,q,H,ee;let le=F.pos;if(F.tags)for(let ce of F.tags){ce.pos!==le&&v(le,ce.pos-le),p(ce.pos,1,10),p(ce.tagName.pos,ce.tagName.end-ce.tagName.pos,18),le=ce.tagName.end;let Z=ce.tagName.end;switch(ce.kind){case 348:let pe=ce;Ee(pe),Z=pe.isNameFirst&&((oe=pe.typeExpression)==null?void 0:oe.end)||pe.name.end;break;case 355:let Ae=ce;Z=Ae.isNameFirst&&((W=Ae.typeExpression)==null?void 0:W.end)||Ae.name.end;break;case 352:A(ce),le=ce.end,Z=ce.typeParameters.end;break;case 353:let Oe=ce;Z=(($=Oe.typeExpression)==null?void 0:$.kind)===316&&((de=Oe.fullName)==null?void 0:de.end)||((fe=Oe.typeExpression)==null?void 0:fe.end)||Z;break;case 345:Z=ce.typeExpression.end;break;case 351:K(ce.typeExpression),le=ce.end,Z=ce.typeExpression.end;break;case 350:case 347:Z=ce.typeExpression.end;break;case 349:K(ce.typeExpression),le=ce.end,Z=((q=ce.typeExpression)==null?void 0:q.end)||Z;break;case 354:Z=((H=ce.name)==null?void 0:H.end)||Z;break;case 335:case 336:Z=ce.class.end;break;case 356:K(ce.typeExpression),le=ce.end,Z=((ee=ce.typeExpression)==null?void 0:ee.end)||Z;break}typeof ce.comment==\"object\"?v(ce.comment.pos,ce.comment.end-ce.comment.pos):typeof ce.comment==\"string\"&&v(Z,ce.end-Z)}le!==F.end&&v(le,F.end-le);return;function Ee(ce){ce.isNameFirst&&(v(le,ce.name.pos-le),p(ce.name.pos,ce.name.end-ce.name.pos,17),le=ce.name.end),ce.typeExpression&&(v(le,ce.typeExpression.pos-le),K(ce.typeExpression),le=ce.typeExpression.end),ce.isNameFirst||(v(le,ce.name.pos-le),p(ce.name.pos,ce.name.end-ce.name.pos,17),le=ce.name.end)}}function S(F,oe){let W=/^(\\/\\/\\/\\s*)(<)(?:(\\S+)((?:[^/]|\\/[^>])*)(\\/>)?)?/im,$=/(\\s)(\\S+)(\\s*)(=)(\\s*)('[^']+'|\"[^\"]+\")/img,de=t.text.substr(F,oe),fe=W.exec(de);if(!fe||!fe[3]||!(fe[3]in EM))return!1;let q=F;v(q,fe[1].length),q+=fe[1].length,p(q,fe[2].length,10),q+=fe[2].length,p(q,fe[3].length,21),q+=fe[3].length;let H=fe[4],ee=q;for(;;){let Ee=$.exec(H);if(!Ee)break;let ce=q+Ee.index+Ee[1].length;ce>ee&&(v(ee,ce-ee),ee=ce),p(ee,Ee[2].length,22),ee+=Ee[2].length,Ee[3].length&&(v(ee,Ee[3].length),ee+=Ee[3].length),p(ee,Ee[4].length,5),ee+=Ee[4].length,Ee[5].length&&(v(ee,Ee[5].length),ee+=Ee[5].length),p(ee,Ee[6].length,24),ee+=Ee[6].length}q+=fe[4].length,q>ee&&v(ee,q-ee),fe[5]&&(p(q,fe[5].length,10),q+=fe[5].length);let le=F+oe;return q<le&&v(q,le-q),!0}function A(F){for(let oe of F.getChildren())K(oe)}function C(F,oe,W){let $;for($=oe;$<W&&!vd(F.charCodeAt($));$++);for(p(oe,$-oe,1),l.resetTokenState($);l.getTokenEnd()<W;)R()}function R(){let F=l.getTokenEnd(),oe=l.scan(),W=l.getTokenEnd(),$=U(oe);$&&p(F,W-F,$)}function L(F){if(Sm(F)||_l(F))return!0;let oe=G(F);if(!xA(F)&&F.kind!==12&&oe===void 0)return!1;let W=F.kind===12?F.pos:h(F),$=F.end-W;if(x.assert($>=0),$>0){let de=oe||U(F.kind,F);de&&p(W,$,de)}return!0}function G(F){switch(F.parent&&F.parent.kind){case 286:if(F.parent.tagName===F)return 19;break;case 287:if(F.parent.tagName===F)return 20;break;case 285:if(F.parent.tagName===F)return 21;break;case 291:if(F.parent.name===F)return 22;break}}function U(F,oe){if(du(F))return 3;if((F===30||F===32)&&oe&&qse(oe.parent))return 10;if(U9(F)){if(oe){let W=oe.parent;if(F===64&&(W.kind===260||W.kind===172||W.kind===169||W.kind===291)||W.kind===226||W.kind===224||W.kind===225||W.kind===227)return 5}return 10}else{if(F===9)return 4;if(F===10)return 25;if(F===11)return oe&&oe.parent.kind===291?24:6;if(F===14)return 6;if(Jv(F))return 6;if(F===12)return 23;if(F===80){if(oe){switch(oe.parent.kind){case 263:return oe.parent.name===oe?11:void 0;case 168:return oe.parent.name===oe?15:void 0;case 264:return oe.parent.name===oe?13:void 0;case 266:return oe.parent.name===oe?12:void 0;case 267:return oe.parent.name===oe?14:void 0;case 169:return oe.parent.name===oe?YE(oe)?3:17:void 0}if(Qh(oe.parent))return 3}return 2}}}function K(F){if(F&&WM(i,o,F.pos,F.getFullWidth())){wAe(e,F.kind);for(let oe of F.getChildren(t))L(oe)||K(oe)}}}var zAe,BAe=pt({\"src/services/classifier.ts\"(){\"use strict\";Hr(),zAe=WZ([80,11,9,10,14,110,46,47,22,24,20,112,97],e=>e,()=>!0)}}),Z3,vBe=pt({\"src/services/documentHighlights.ts\"(){\"use strict\";Hr(),(e=>{function t(q,H,ee,le,Ee){let ce=pu(ee,le);if(ce.parent&&(r_(ce.parent)&&ce.parent.tagName===ce||l0(ce.parent))){let{openingElement:Z,closingElement:pe}=ce.parent.parent,Ae=[Z,pe].map(({tagName:Oe})=>r(Oe,ee));return[{fileName:ee.fileName,highlightSpans:Ae}]}return i(le,ce,q,H,Ee)||o(ce,ee)}e.getDocumentHighlights=t;function r(q,H){return{fileName:H.fileName,textSpan:eu(q,H),kind:\"none\"}}function i(q,H,ee,le,Ee){let ce=new Set(Ee.map(Oe=>Oe.fileName)),Z=fs.getReferenceEntriesForNode(q,H,ee,Ee,le,void 0,ce);if(!Z)return;let pe=fM(Z.map(fs.toHighlightSpan),Oe=>Oe.fileName,Oe=>Oe.span),Ae=od(ee.useCaseSensitiveFileNames());return bo(WD(pe.entries(),([Oe,_e])=>{if(!ce.has(Oe)){if(!ee.redirectTargetsMap.has(ks(Oe,ee.getCurrentDirectory(),Ae)))return;let be=ee.getSourceFile(Oe);Oe=Dr(Ee,De=>!!De.redirectInfo&&De.redirectInfo.redirectTarget===be).fileName,x.assert(ce.has(Oe))}return{fileName:Oe,highlightSpans:_e}}))}function o(q,H){let ee=s(q,H);return ee&&[{fileName:H.fileName,highlightSpans:ee}]}function s(q,H){switch(q.kind){case 101:case 93:return HS(q.parent)?$(q.parent,H):void 0;case 107:return le(q.parent,Kf,K);case 111:return le(q.parent,Aj,U);case 113:case 85:case 98:let ce=q.kind===85?q.parent.parent:q.parent;return le(ce,JS,G);case 109:return le(q.parent,pN,L);case 84:case 90:return _N(q.parent)||zx(q.parent)?le(q.parent.parent.parent,pN,L):void 0;case 83:case 88:return le(q.parent,rC,R);case 99:case 117:case 92:return le(q.parent,Z=>Xv(Z,!0),C);case 137:return ee(ll,[137]);case 139:case 153:return ee(Kv,[139,153]);case 135:return le(q.parent,py,F);case 134:return Ee(F(q));case 127:return Ee(oe(q));case 103:case 147:return;default:return Yg(q.kind)&&(bd(q.parent)||cl(q.parent))?Ee(E(q.kind,q.parent)):void 0}function ee(ce,Z){return le(q.parent,ce,pe=>{var Ae;return Fi((Ae=Vr(pe,qm))==null?void 0:Ae.symbol.declarations,Oe=>ce(Oe)?Dr(Oe.getChildren(H),_e=>To(Z,_e.kind)):void 0)})}function le(ce,Z,pe){return Z(ce)?Ee(pe(ce,H)):void 0}function Ee(ce){return ce&&ce.map(Z=>r(Z,H))}}function l(q){return Aj(q)?[q]:JS(q)?ro(q.catchClause?l(q.catchClause):q.tryBlock&&l(q.tryBlock),q.finallyBlock&&l(q.finallyBlock)):Lo(q)?void 0:h(q,l)}function d(q){let H=q;for(;H.parent;){let ee=H.parent;if(VE(ee)||ee.kind===312)return ee;if(JS(ee)&&ee.tryBlock===H&&ee.catchClause)return H;H=ee}}function p(q){return rC(q)?[q]:Lo(q)?void 0:h(q,p)}function h(q,H){let ee=[];return q.forEachChild(le=>{let Ee=H(le);Ee!==void 0&&ee.push(...yA(Ee))}),ee}function m(q,H){let ee=v(H);return!!ee&&ee===q}function v(q){return Rn(q,H=>{switch(H.kind){case 255:if(q.kind===251)return!1;case 248:case 249:case 250:case 247:case 246:return!q.label||fe(H,q.label.escapedText);default:return Lo(H)&&\"quit\"}})}function E(q,H){return Fi(S(H,GA(q)),ee=>gR(ee,q))}function S(q,H){let ee=q.parent;switch(ee.kind){case 268:case 312:case 241:case 296:case 297:return H&64&&Zl(q)?[...q.members,q]:ee.statements;case 176:case 174:case 262:return[...ee.parameters,...Kr(ee.parent)?ee.parent.members:[]];case 263:case 231:case 264:case 187:let le=ee.members;if(H&15){let Ee=Dr(ee.members,ll);if(Ee)return[...le,...Ee.parameters]}else if(H&64)return[...le,ee];return le;case 210:return;default:x.assertNever(ee,\"Invalid container kind.\")}}function A(q,H,...ee){return H&&To(ee,H.kind)?(q.push(H),!0):!1}function C(q){let H=[];if(A(H,q.getFirstToken(),99,117,92)&&q.kind===246){let ee=q.getChildren();for(let le=ee.length-1;le>=0&&!A(H,ee[le],117);le--);}return an(p(q.statement),ee=>{m(q,ee)&&A(H,ee.getFirstToken(),83,88)}),H}function R(q){let H=v(q);if(H)switch(H.kind){case 248:case 249:case 250:case 246:case 247:return C(H);case 255:return L(H)}}function L(q){let H=[];return A(H,q.getFirstToken(),109),an(q.caseBlock.clauses,ee=>{A(H,ee.getFirstToken(),84,90),an(p(ee),le=>{m(q,le)&&A(H,le.getFirstToken(),83)})}),H}function G(q,H){let ee=[];if(A(ee,q.getFirstToken(),113),q.catchClause&&A(ee,q.catchClause.getFirstToken(),85),q.finallyBlock){let le=Ya(q,98,H);A(ee,le,98)}return ee}function U(q,H){let ee=d(q);if(!ee)return;let le=[];return an(l(ee),Ee=>{le.push(Ya(Ee,111,H))}),VE(ee)&&GE(ee,Ee=>{le.push(Ya(Ee,107,H))}),le}function K(q,H){let ee=cp(q);if(!ee)return;let le=[];return GE(Fo(ee.body,Do),Ee=>{le.push(Ya(Ee,107,H))}),an(l(ee.body),Ee=>{le.push(Ya(Ee,111,H))}),le}function F(q){let H=cp(q);if(!H)return;let ee=[];return H.modifiers&&H.modifiers.forEach(le=>{A(ee,le,134)}),Ao(H,le=>{W(le,Ee=>{py(Ee)&&A(ee,Ee.getFirstToken(),135)})}),ee}function oe(q){let H=cp(q);if(!H)return;let ee=[];return Ao(H,le=>{W(le,Ee=>{g6(Ee)&&A(ee,Ee.getFirstToken(),127)})}),ee}function W(q,H){H(q),!Lo(q)&&!Kr(q)&&!Gd(q)&&!Il(q)&&!Xf(q)&&!xi(q)&&Ao(q,ee=>W(ee,H))}function $(q,H){let ee=de(q,H),le=[];for(let Ee=0;Ee<ee.length;Ee++){if(ee[Ee].kind===93&&Ee<ee.length-1){let ce=ee[Ee],Z=ee[Ee+1],pe=!0;for(let Ae=Z.getStart(H)-1;Ae>=ce.end;Ae--)if(!Um(H.text.charCodeAt(Ae))){pe=!1;break}if(pe){le.push({fileName:H.fileName,textSpan:Gl(ce.getStart(),Z.end),kind:\"reference\"}),Ee++;continue}}le.push(r(ee[Ee],H))}return le}function de(q,H){let ee=[];for(;HS(q.parent)&&q.parent.elseStatement===q;)q=q.parent;for(;;){let le=q.getChildren(H);A(ee,le[0],101);for(let Ee=le.length-1;Ee>=0&&!A(ee,le[Ee],93);Ee--);if(!q.elseStatement||!HS(q.elseStatement))break;q=q.elseStatement}return ee}function fe(q,H){return!!Rn(q.parent,ee=>s0(ee)?ee.label.escapedText===H:\"quit\")}})(Z3||(Z3={}))}});function iO(e){return!!e.sourceFile}function Ile(e,t,r){return JJ(e,t,r)}function JJ(e,t=\"\",r,i){let o=new Map,s=od(!!e);function l(){let R=bo(o.keys()).filter(L=>L&&L.charAt(0)===\"_\").map(L=>{let G=o.get(L),U=[];return G.forEach((K,F)=>{iO(K)?U.push({name:F,scriptKind:K.sourceFile.scriptKind,refCount:K.languageServiceRefCount}):K.forEach((oe,W)=>U.push({name:F,scriptKind:W,refCount:oe.languageServiceRefCount}))}),U.sort((K,F)=>F.refCount-K.refCount),{bucket:L,sourceFiles:U}});return JSON.stringify(R,void 0,2)}function d(R){return typeof R.getCompilationSettings==\"function\"?R.getCompilationSettings():R}function p(R,L,G,U,K,F){let oe=ks(R,t,s),W=KJ(d(L));return h(R,oe,L,W,G,U,K,F)}function h(R,L,G,U,K,F,oe,W){return S(R,L,G,U,K,F,!0,oe,W)}function m(R,L,G,U,K,F){let oe=ks(R,t,s),W=KJ(d(L));return v(R,oe,L,W,G,U,K,F)}function v(R,L,G,U,K,F,oe,W){return S(R,L,d(G),U,K,F,!1,oe,W)}function E(R,L){let G=iO(R)?R:R.get(x.checkDefined(L,\"If there are more than one scriptKind's for same document the scriptKind should be provided\"));return x.assert(L===void 0||!G||G.sourceFile.scriptKind===L,`Script kind should match provided ScriptKind:${L} and sourceFile.scriptKind: ${G?.sourceFile.scriptKind}, !entry: ${!G}`),G}function S(R,L,G,U,K,F,oe,W,$){var de,fe,q,H;W=uF(R,W);let ee=d(G),le=G===ee?void 0:G,Ee=W===6?100:Wa(ee),ce=typeof $==\"object\"?$:{languageVersion:Ee,impliedNodeFormat:le&&Tk(L,(H=(q=(fe=(de=le.getCompilerHost)==null?void 0:de.call(le))==null?void 0:fe.getModuleResolutionCache)==null?void 0:q.call(fe))==null?void 0:H.getPackageJsonInfoCache(),le,ee),setExternalModuleIndicator:XL(ee),jsDocParsingMode:r};ce.languageVersion=Ee,x.assertEqual(r,ce.jsDocParsingMode);let Z=o.size,pe=xle(U,ce.impliedNodeFormat),Ae=FD(o,pe,()=>new Map);if(qn){o.size>Z&&qn.instant(qn.Phase.Session,\"createdDocumentRegistryBucket\",{configFilePath:ee.configFilePath,key:pe});let Te=!Yc(L)&&hc(o,(De,ft)=>ft!==pe&&De.has(L)&&ft);Te&&qn.instant(qn.Phase.Session,\"documentRegistryBucketOverlap\",{path:L,key1:Te,key2:pe})}let Oe=Ae.get(L),_e=Oe&&E(Oe,W);if(!_e&&i){let Te=i.getDocument(pe,L);Te&&(x.assert(oe),_e={sourceFile:Te,languageServiceRefCount:0},be())}if(_e)_e.sourceFile.version!==F&&(_e.sourceFile=wK(_e.sourceFile,K,F,K.getChangeRange(_e.sourceFile.scriptSnapshot)),i&&i.setDocument(pe,L,_e.sourceFile)),oe&&_e.languageServiceRefCount++;else{let Te=Az(R,K,ce,F,!1,W);i&&i.setDocument(pe,L,Te),_e={sourceFile:Te,languageServiceRefCount:1},be()}return x.assert(_e.languageServiceRefCount!==0),_e.sourceFile;function be(){if(!Oe)Ae.set(L,_e);else if(iO(Oe)){let Te=new Map;Te.set(Oe.sourceFile.scriptKind,Oe),Te.set(W,_e),Ae.set(L,Te)}else Oe.set(W,_e)}}function A(R,L,G,U){let K=ks(R,t,s),F=KJ(L);return C(K,F,G,U)}function C(R,L,G,U){let K=x.checkDefined(o.get(xle(L,U))),F=K.get(R),oe=E(F,G);oe.languageServiceRefCount--,x.assert(oe.languageServiceRefCount>=0),oe.languageServiceRefCount===0&&(iO(F)?K.delete(R):(F.delete(G),F.size===1&&K.set(R,cM(F.values(),Ps))))}return{acquireDocument:p,acquireDocumentWithKey:h,updateDocument:m,updateDocumentWithKey:v,releaseDocument:A,releaseDocumentWithKey:C,getKeyForCompilationSettings:KJ,getDocumentRegistryBucketKeyWithMode:xle,reportStats:l,getBuckets:()=>o}}function KJ(e){return EU(e,j6)}function xle(e,t){return t?`${e}|${t}`:e}var yBe=pt({\"src/services/documentRegistry.ts\"(){\"use strict\";Hr()}});function Rle(e,t,r,i,o,s,l){let d=yx(i),p=od(d),h=XJ(t,r,p,l),m=XJ(r,t,p,l);return er.ChangeTracker.with({host:i,formatContext:o,preferences:s},v=>{EBe(e,v,h,t,r,i.getCurrentDirectory(),d),SBe(e,v,h,m,i,p)})}function XJ(e,t,r,i){let o=r(e);return l=>{let d=i&&i.tryGetSourcePosition({fileName:l,pos:0}),p=s(d?d.fileName:l);return d?p===void 0?void 0:bBe(d.fileName,p,l,r):p};function s(l){if(r(l)===o)return t;let d=xV(l,o,r);return d===void 0?void 0:t+\"/\"+d}}function bBe(e,t,r,i){let o=RM(e,t,i);return Dle(Ur(r),o)}function EBe(e,t,r,i,o,s,l){let{configFile:d}=e.getCompilerOptions();if(!d)return;let p=Ur(d.fileName),h=_C(d);if(!h)return;Cle(h,(S,A)=>{switch(A){case\"files\":case\"include\":case\"exclude\":{if(m(S)||A!==\"include\"||!Bd(S.initializer))return;let R=Fi(S.initializer.elements,G=>da(G)?G.text:void 0);if(R.length===0)return;let L=dF(p,[],R,l,s);iy(x.checkDefined(L.includeFilePattern),l).test(i)&&!iy(x.checkDefined(L.includeFilePattern),l).test(o)&&t.insertNodeAfter(d,Da(S.initializer.elements),P.createStringLiteral(E(o)));return}case\"compilerOptions\":Cle(S.initializer,(C,R)=>{let L=nU(R);x.assert(L?.type!==\"listOrElement\"),L&&(L.isFilePath||L.type===\"list\"&&L.element.isFilePath)?m(C):R===\"paths\"&&Cle(C.initializer,G=>{if(Bd(G.initializer))for(let U of G.initializer.elements)v(U)})});return}});function m(S){let A=Bd(S.initializer)?S.initializer.elements:[S.initializer],C=!1;for(let R of A)C=v(R)||C;return C}function v(S){if(!da(S))return!1;let A=Dle(p,S.text),C=r(A);return C!==void 0?(t.replaceRangeWithText(d,VAe(S,d),E(C)),!0):!1}function E(S){return Gf(p,S,!l)}}function SBe(e,t,r,i,o,s){let l=e.getSourceFiles();for(let d of l){let p=r(d.fileName),h=p??d.fileName,m=Ur(h),v=i(d.fileName),E=v||d.fileName,S=Ur(E),A=p!==void 0||v!==void 0;IBe(d,t,C=>{if(!op(C))return;let R=Dle(S,C),L=r(R);return L===void 0?void 0:ME(Gf(m,L,s))},C=>{let R=e.getTypeChecker().getSymbolAtLocation(C);if(R?.declarations&&R.declarations.some(G=>sd(G)))return;let L=v!==void 0?GAe(C,Zx(C.text,E,e.getCompilerOptions(),o),r,l):ABe(R,C,d,e,o,r);return L!==void 0&&(L.updated||A&&op(C.text))?h0.updateModuleSpecifier(e.getCompilerOptions(),d,h,L.newFileName,lT(e,o),C.text):void 0})}}function TBe(e,t){return Yo(wr(e,t))}function Dle(e,t){return ME(TBe(e,t))}function ABe(e,t,r,i,o,s){if(e){let l=Dr(e.declarations,Li).fileName,d=s(l);return d===void 0?{newFileName:l,updated:!1}:{newFileName:d,updated:!0}}else{let l=i.getModeForUsageLocation(r,t),d=o.resolveModuleNameLiterals||!o.resolveModuleNames?i.getResolvedModuleFromModuleSpecifier(t):o.getResolvedModuleWithFailedLookupLocationsFromCache&&o.getResolvedModuleWithFailedLookupLocationsFromCache(t.text,r.fileName,l);return GAe(t,d,s,i.getSourceFiles())}}function GAe(e,t,r,i){if(!t)return;if(t.resolvedModule){let p=d(t.resolvedModule.resolvedFileName);if(p)return p}let o=an(t.failedLookupLocations,s)||op(e.text)&&an(t.failedLookupLocations,l);if(o)return o;return t.resolvedModule&&{newFileName:t.resolvedModule.resolvedFileName,updated:!1};function s(p){let h=r(p);return h&&Dr(i,m=>m.fileName===h)?l(p):void 0}function l(p){return Zs(p,\"/package.json\")?void 0:d(p)}function d(p){let h=r(p);return h&&{newFileName:h,updated:!0}}}function IBe(e,t,r,i){for(let o of e.referencedFiles||je){let s=r(o.fileName);s!==void 0&&s!==e.text.slice(o.pos,o.end)&&t.replaceRangeWithText(e,o,s)}for(let o of e.imports){let s=i(o);s!==void 0&&s!==o.text&&t.replaceRangeWithText(e,VAe(o,e),s)}}function VAe(e,t){return qp(e.getStart(t)+1,e.end-1)}function Cle(e,t){if(ma(e))for(let r of e.properties)Hl(r)&&da(r.name)&&t(r,r.name.text)}var xBe=pt({\"src/services/getEditsForFileRename.ts\"(){\"use strict\";Hr()}});function aP(e,t){return{kind:e,isCaseSensitive:t}}function Nle(e){let t=new Map,r=e.trim().split(\".\").map(i=>NBe(i.trim()));if(r.length===1&&r[0].totalTextChunk.text===\"\")return{getMatchForLastSegmentOfPattern:()=>aP(2,!0),getFullMatch:()=>aP(2,!0),patternContainsDots:!1};if(!r.some(i=>!i.subWordTextChunks.length))return{getFullMatch:(i,o)=>RBe(i,o,r,t),getMatchForLastSegmentOfPattern:i=>Ple(i,Da(r),t),patternContainsDots:r.length>1}}function RBe(e,t,r,i){if(!Ple(t,Da(r),i)||r.length-1>e.length)return;let s;for(let l=r.length-2,d=e.length-1;l>=0;l-=1,d-=1)s=HAe(s,Ple(e[d],r[l],i));return s}function jAe(e,t){let r=t.get(e);return r||t.set(e,r=Wle(e)),r}function UAe(e,t,r){let i=PBe(e,t.textLowerCase);if(i===0)return aP(t.text.length===e.length?0:1,Ui(e,t.text));if(t.isLowerCase){if(i===-1)return;let o=jAe(e,r);for(let s of o)if(Mle(e,s,t.text,!0))return aP(2,Mle(e,s,t.text,!1));if(t.text.length<e.length&&SR(e.charCodeAt(i)))return aP(2,!1)}else{if(e.indexOf(t.text)>0)return aP(2,!0);if(t.characterSpans.length>0){let o=jAe(e,r),s=qAe(e,o,t,!1)?!0:qAe(e,o,t,!0)?!1:void 0;if(s!==void 0)return aP(3,s)}}}function Ple(e,t,r){if(YJ(t.totalTextChunk.text,s=>s!==32&&s!==42)){let s=UAe(e,t.totalTextChunk,r);if(s)return s}let i=t.subWordTextChunks,o;for(let s of i)o=HAe(o,UAe(e,s,r));return o}function HAe(e,t){return cB([e,t],DBe)}function DBe(e,t){return e===void 0?1:t===void 0?-1:Ms(e.kind,t.kind)||zv(!e.isCaseSensitive,!t.isCaseSensitive)}function Mle(e,t,r,i,o={start:0,length:r.length}){return o.length<=t.length&&YAe(0,o.length,s=>CBe(r.charCodeAt(o.start+s),e.charCodeAt(t.start+s),i))}function CBe(e,t,r){return r?Lle(e)===Lle(t):e===t}function qAe(e,t,r,i){let o=r.characterSpans,s=0,l=0,d,p;for(;;){if(l===o.length)return!0;if(s===t.length)return!1;let h=t[s],m=!1;for(;l<o.length;l++){let v=o[l];if(m&&(!SR(r.text.charCodeAt(o[l-1].start))||!SR(r.text.charCodeAt(o[l].start)))||!Mle(e,h,r.text,i,v))break;m=!0,d=d===void 0?s:d,p=p===void 0?!0:p,h=qc(h.start+v.length,h.length-v.length)}!m&&p!==void 0&&(p=!1),s++}}function NBe(e){return{totalTextChunk:Ole(e),subWordTextChunks:LBe(e)}}function SR(e){if(e>=65&&e<=90)return!0;if(e<127||!x8(e,99))return!1;let t=String.fromCharCode(e);return t===t.toUpperCase()}function JAe(e){if(e>=97&&e<=122)return!0;if(e<127||!x8(e,99))return!1;let t=String.fromCharCode(e);return t===t.toLowerCase()}function PBe(e,t){let r=e.length-t.length;for(let i=0;i<=r;i++)if(YJ(t,(o,s)=>Lle(e.charCodeAt(s+i))===o))return i;return-1}function Lle(e){return e>=65&&e<=90?97+(e-65):e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function kle(e){return e>=48&&e<=57}function MBe(e){return SR(e)||JAe(e)||kle(e)||e===95||e===36}function LBe(e){let t=[],r=0,i=0;for(let o=0;o<e.length;o++){let s=e.charCodeAt(o);MBe(s)?(i===0&&(r=o),i++):i>0&&(t.push(Ole(e.substr(r,i))),i=0)}return i>0&&t.push(Ole(e.substr(r,i))),t}function Ole(e){let t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:wle(e)}}function wle(e){return KAe(e,!1)}function Wle(e){return KAe(e,!0)}function KAe(e,t){let r=[],i=0;for(let o=1;o<e.length;o++){let s=kle(e.charCodeAt(o-1)),l=kle(e.charCodeAt(o)),d=OBe(e,t,o),p=t&&kBe(e,o,i);(Fle(e.charCodeAt(o-1))||Fle(e.charCodeAt(o))||s!==l||d||p)&&(XAe(e,i,o)||r.push(qc(i,o-i)),i=o)}return XAe(e,i,e.length)||r.push(qc(i,e.length-i)),r}function Fle(e){switch(e){case 33:case 34:case 35:case 37:case 38:case 39:case 40:case 41:case 42:case 44:case 45:case 46:case 47:case 58:case 59:case 63:case 64:case 91:case 92:case 93:case 95:case 123:case 125:return!0}return!1}function XAe(e,t,r){return YJ(e,i=>Fle(i)&&i!==95,t,r)}function kBe(e,t,r){return t!==r&&t+1<e.length&&SR(e.charCodeAt(t))&&JAe(e.charCodeAt(t+1))&&YJ(e,SR,r,t)}function OBe(e,t,r){let i=SR(e.charCodeAt(r-1));return SR(e.charCodeAt(r))&&(!t||!i)}function YAe(e,t,r){for(let i=e;i<t;i++)if(!r(i))return!1;return!0}function YJ(e,t,r=0,i=e.length){return YAe(r,i,o=>t(e.charCodeAt(o),o))}var ez,wBe=pt({\"src/services/patternMatcher.ts\"(){\"use strict\";Hr(),ez=(e=>(e[e.exact=0]=\"exact\",e[e.prefix=1]=\"prefix\",e[e.substring=2]=\"substring\",e[e.camelCase=3]=\"camelCase\",e))(ez||{})}});function $Ae(e,t=!0,r=!1){let i={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},o=[],s,l,d,p=0,h=!1;function m(){return l=d,d=Id.scan(),d===19?p++:d===20&&p--,d}function v(){let F=Id.getTokenValue(),oe=Id.getTokenStart();return{fileName:F,pos:oe,end:oe+F.length}}function E(){s||(s=[]),s.push({ref:v(),depth:p})}function S(){o.push(v()),A()}function A(){p===0&&(h=!0)}function C(){let F=Id.getToken();return F===138?(F=m(),F===144&&(F=m(),F===11&&E()),!0):!1}function R(){if(l===25)return!1;let F=Id.getToken();if(F===102){if(F=m(),F===21){if(F=m(),F===11||F===15)return S(),!0}else{if(F===11)return S(),!0;if(F===156&&Id.lookAhead(()=>{let W=Id.scan();return W!==161&&(W===42||W===19||W===80||du(W))})&&(F=m()),F===80||du(F))if(F=m(),F===161){if(F=m(),F===11)return S(),!0}else if(F===64){if(G(!0))return!0}else if(F===28)F=m();else return!0;if(F===19){for(F=m();F!==20&&F!==1;)F=m();F===20&&(F=m(),F===161&&(F=m(),F===11&&S()))}else F===42&&(F=m(),F===130&&(F=m(),(F===80||du(F))&&(F=m(),F===161&&(F=m(),F===11&&S()))))}return!0}return!1}function L(){let F=Id.getToken();if(F===95){if(A(),F=m(),F===156&&Id.lookAhead(()=>{let W=Id.scan();return W===42||W===19})&&(F=m()),F===19){for(F=m();F!==20&&F!==1;)F=m();F===20&&(F=m(),F===161&&(F=m(),F===11&&S()))}else if(F===42)F=m(),F===161&&(F=m(),F===11&&S());else if(F===102&&(F=m(),F===156&&Id.lookAhead(()=>{let W=Id.scan();return W===80||du(W)})&&(F=m()),(F===80||du(F))&&(F=m(),F===64&&G(!0))))return!0;return!0}return!1}function G(F,oe=!1){let W=F?m():Id.getToken();return W===149?(W=m(),W===21&&(W=m(),(W===11||oe&&W===15)&&S()),!0):!1}function U(){let F=Id.getToken();if(F===80&&Id.getTokenValue()===\"define\"){if(F=m(),F!==21)return!0;if(F=m(),F===11||F===15)if(F=m(),F===28)F=m();else return!0;if(F!==23)return!0;for(F=m();F!==24&&F!==1;)(F===11||F===15)&&S(),F=m();return!0}return!1}function K(){for(Id.setText(e),m();Id.getToken()!==1;){if(Id.getToken()===16){let F=[Id.getToken()];e:for(;yn(F);){let oe=Id.scan();switch(oe){case 1:break e;case 102:R();break;case 16:F.push(oe);break;case 19:yn(F)&&F.push(oe);break;case 20:yn(F)&&(Ns(F)===16?Id.reScanTemplateToken(!1)===18&&F.pop():F.pop());break}}m()}C()||R()||L()||r&&(G(!1,!0)||U())||m()}Id.setText(void 0)}if(t&&K(),Yj(i,e),$j(i,Ca),h){if(s)for(let F of s)o.push(F.ref);return{referencedFiles:i.referencedFiles,typeReferenceDirectives:i.typeReferenceDirectives,libReferenceDirectives:i.libReferenceDirectives,importedFiles:o,isLibFile:!!i.hasNoDefaultLib,ambientExternalModules:void 0}}else{let F;if(s)for(let oe of s)oe.depth===0?(F||(F=[]),F.push(oe.ref.fileName)):o.push(oe.ref);return{referencedFiles:i.referencedFiles,typeReferenceDirectives:i.typeReferenceDirectives,libReferenceDirectives:i.libReferenceDirectives,importedFiles:o,isLibFile:!!i.hasNoDefaultLib,ambientExternalModules:F}}}var WBe=pt({\"src/services/preProcess.ts\"(){\"use strict\";Hr()}});function zle(e){let t=od(e.useCaseSensitiveFileNames()),r=e.getCurrentDirectory(),i=new Map,o=new Map;return{tryGetSourcePosition:d,tryGetGeneratedPosition:p,toLineColumnOffset:E,clearCache:S};function s(A){return ks(A,r,t)}function l(A,C){let R=s(A),L=o.get(R);if(L)return L;let G;if(e.getDocumentPositionMapper)G=e.getDocumentPositionMapper(A,C);else if(e.readFile){let U=v(A);G=U&&$J({getSourceFileLike:v,getCanonicalFileName:t,log:K=>e.log(K)},A,UU(U.text,Yh(U)),K=>!e.fileExists||e.fileExists(K)?e.readFile(K):void 0)}return o.set(R,G||m4),G||m4}function d(A){if(!Yc(A.fileName)||!h(A.fileName))return;let R=l(A.fileName).getSourcePosition(A);return!R||R===A?void 0:d(R)||R}function p(A){if(Yc(A.fileName))return;let C=h(A.fileName);if(!C)return;let R=e.getProgram();if(R.isSourceOfProjectReferenceRedirect(C.fileName))return;let L=R.getCompilerOptions(),G=ss(L),U=G?Yd(G)+\".d.ts\":WW(A.fileName,R.getCompilerOptions(),r,R.getCommonSourceDirectory(),t);if(U===void 0)return;let K=l(U,A.fileName).getGeneratedPosition(A);return K===A?void 0:K}function h(A){let C=e.getProgram();if(!C)return;let R=s(A),L=C.getSourceFileByPath(R);return L&&L.resolvedPath===R?L:void 0}function m(A){let C=s(A),R=i.get(C);if(R!==void 0)return R||void 0;if(!e.readFile||e.fileExists&&!e.fileExists(A)){i.set(C,!1);return}let L=e.readFile(A),G=L?FBe(L):!1;return i.set(C,G),G||void 0}function v(A){return e.getSourceFileLike?e.getSourceFileLike(A):h(A)||m(A)}function E(A,C){return v(A).getLineAndCharacterOfPosition(C)}function S(){i.clear(),o.clear()}}function $J(e,t,r,i){let o=Poe(r);if(o){let d=ZAe.exec(o);if(d){if(d[1]){let p=d[1];return QAe(e,Pne(Hc,p),t)}o=void 0}}let s=[];o&&s.push(o),s.push(t+\".map\");let l=o&&Qi(o,Ur(t));for(let d of s){let p=Qi(d,Ur(t)),h=i(p,l);if(fo(h))return QAe(e,h,p);if(h!==void 0)return h||void 0}}function QAe(e,t,r){let i=HU(t);if(!(!i||!i.sources||!i.file||!i.mappings)&&!(i.sourcesContent&&i.sourcesContent.some(fo)))return koe(e,i,r)}function FBe(e,t){return{text:e,lineMap:t,getLineAndCharacterOfPosition(r){return W1(Yh(this),r)}}}var ZAe,zBe=pt({\"src/services/sourcemaps.ts\"(){\"use strict\";Hr(),ZAe=/^data:(?:application\\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+/=]+)$)?/}});function QJ(e,t,r){var i;t.getSemanticDiagnostics(e,r);let o=[],s=t.getTypeChecker();!(e.impliedNodeFormat===1||$l(e.fileName,[\".cts\",\".cjs\"]))&&e.commonJsModuleIndicator&&($se(t)||sJ(t.getCompilerOptions()))&&BBe(e)&&o.push(vr(UBe(e.commonJsModuleIndicator),f.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module));let d=wd(e);if(nK.clear(),p(e),zS(t.getCompilerOptions()))for(let h of e.imports){let m=yC(h),v=GBe(m);if(!v)continue;let E=(i=t.getResolvedModuleFromModuleSpecifier(h))==null?void 0:i.resolvedModule,S=E&&t.getSourceFile(E.resolvedFileName);S&&S.externalModuleIndicator&&S.externalModuleIndicator!==!0&&dl(S.externalModuleIndicator)&&S.externalModuleIndicator.isExportEquals&&o.push(vr(v,f.Import_may_be_converted_to_a_default_import))}return Pr(o,e.bindSuggestionDiagnostics),Pr(o,t.getSuggestionDiagnostics(e,r)),o.sort((h,m)=>h.start-m.start);function p(h){if(d)qBe(h,s)&&o.push(vr(yi(h.parent)?h.parent.name:h,f.This_constructor_function_may_be_converted_to_a_class_declaration));else{if(cl(h)&&h.parent===e&&h.declarationList.flags&2&&h.declarationList.declarations.length===1){let v=h.declarationList.declarations[0].initializer;v&&Xd(v,!0)&&o.push(vr(v,f.require_call_may_be_converted_to_an_import))}let m=ud.getJSDocTypedefNodes(h);for(let v of m)o.push(vr(v,f.JSDoc_typedef_may_be_converted_to_TypeScript_type));ud.parameterShouldGetTypeFromJSDoc(h)&&o.push(vr(h.name||h,f.JSDoc_types_may_be_moved_to_TypeScript_types))}tK(h)&&VBe(h,s,o),h.forEachChild(p)}}function BBe(e){return e.statements.some(t=>{switch(t.kind){case 243:return t.declarationList.declarations.some(r=>!!r.initializer&&Xd(eIe(r.initializer),!0));case 244:{let{expression:r}=t;if(!Zn(r))return Xd(r,!0);let i=hl(r);return i===1||i===2}default:return!1}})}function eIe(e){return Er(e)?eIe(e.expression):e}function GBe(e){switch(e.kind){case 272:let{importClause:t,moduleSpecifier:r}=e;return t&&!t.name&&t.namedBindings&&t.namedBindings.kind===274&&da(r)?t.namedBindings.name:void 0;case 271:return e.name;default:return}}function VBe(e,t,r){jBe(e,t)&&!nK.has(iIe(e))&&r.push(vr(!e.name&&yi(e.parent)&&Me(e.parent.name)?e.parent.name:e,f.This_may_be_converted_to_an_async_function))}function jBe(e,t){return!TC(e)&&e.body&&Do(e.body)&&HBe(e.body,t)&&ZJ(e,t)}function ZJ(e,t){let r=t.getSignatureFromDeclaration(e),i=r?t.getReturnTypeOfSignature(r):void 0;return!!i&&!!t.getPromisedTypeOfPromise(i)}function UBe(e){return Zn(e)?e.left:e}function HBe(e,t){return!!GE(e,r=>tz(r,t))}function tz(e,t){return Kf(e)&&!!e.expression&&eK(e.expression,t)}function eK(e,t){if(!tIe(e)||!nIe(e)||!e.arguments.every(i=>rIe(i,t)))return!1;let r=e.expression.expression;for(;tIe(r)||Er(r);)if(Bo(r)){if(!nIe(r)||!r.arguments.every(i=>rIe(i,t)))return!1;r=r.expression.expression}else r=r.expression;return!0}function tIe(e){return Bo(e)&&(Ok(e,\"then\")||Ok(e,\"catch\")||Ok(e,\"finally\"))}function nIe(e){let t=e.expression.name.text,r=t===\"then\"?2:t===\"catch\"||t===\"finally\"?1:0;return e.arguments.length>r?!1:e.arguments.length<r?!0:r===1||ct(e.arguments,i=>i.kind===106||Me(i)&&i.text===\"undefined\")}function rIe(e,t){switch(e.kind){case 262:case 218:if(gc(e)&1)return!1;case 219:nK.set(iIe(e),!0);case 106:return!0;case 80:case 211:{let i=t.getSymbolAtLocation(e);return i?t.isUndefinedSymbol(i)||ct(Kc(i,t).declarations,o=>Lo(o)||$v(o)&&!!o.initializer&&Lo(o.initializer)):!1}default:return!1}}function iIe(e){return`${e.pos.toString()}:${e.end.toString()}`}function qBe(e,t){var r,i,o,s;if(ps(e)){if(yi(e.parent)&&((r=e.symbol.members)!=null&&r.size))return!0;let l=t.getSymbolOfExpando(e,!1);return!!(l&&((i=l.exports)!=null&&i.size||(o=l.members)!=null&&o.size))}return Ql(e)?!!((s=e.symbol.members)!=null&&s.size):!1}function tK(e){switch(e.kind){case 262:case 174:case 218:case 219:return!0;default:return!1}}var nK,JBe=pt({\"src/services/suggestionDiagnostics.ts\"(){\"use strict\";Hr(),nK=new Map}});function Ble(e,t){let r=[],i=t.compilerOptions?rK(t.compilerOptions,r):{},o=Tz();for(let E in o)rs(o,E)&&i[E]===void 0&&(i[E]=o[E]);for(let E of hU)i.verbatimModuleSyntax&&aIe.has(E.name)||(i[E.name]=E.transpileOptionValue);i.suppressOutputPathCheck=!0,i.allowNonTsExtensions=!0;let s=rv(i),l={getSourceFile:E=>E===Yo(d)?p:void 0,writeFile:(E,S)=>{el(E,\".map\")?(x.assertEqual(m,void 0,\"Unexpected multiple source map outputs, file:\",E),m=S):(x.assertEqual(h,void 0,\"Unexpected multiple outputs, file:\",E),h=S)},getDefaultLibFileName:()=>\"lib.d.ts\",useCaseSensitiveFileNames:()=>!1,getCanonicalFileName:E=>E,getCurrentDirectory:()=>\"\",getNewLine:()=>s,fileExists:E=>E===d,readFile:()=>\"\",directoryExists:()=>!0,getDirectories:()=>[]},d=t.fileName||(t.compilerOptions&&t.compilerOptions.jsx?\"module.tsx\":\"module.ts\"),p=B2(d,e,{languageVersion:Wa(i),impliedNodeFormat:Tk(ks(d,\"\",l.getCanonicalFileName),void 0,l,i),setExternalModuleIndicator:XL(i),jsDocParsingMode:t.jsDocParsingMode??0});t.moduleName&&(p.moduleName=t.moduleName),t.renamedDependencies&&(p.renamedDependencies=new Map(Object.entries(t.renamedDependencies)));let h,m,v=w4([d],i,l);return t.reportDiagnostics&&(Pr(r,v.getSyntacticDiagnostics(p)),Pr(r,v.getOptionsDiagnostics())),v.emit(void 0,void 0,void 0,void 0,t.transformers),h===void 0?x.fail(\"Output generation failed\"):{outputText:h,diagnostics:r,sourceMapText:m}}function oIe(e,t,r,i,o){let s=Ble(e,{compilerOptions:t,fileName:r,reportDiagnostics:!!i,moduleName:o});return Pr(i,s.diagnostics),s.outputText}function rK(e,t){Gle=Gle||Cr(Nh,r=>typeof r.type==\"object\"&&!hc(r.type,i=>typeof i!=\"number\")),e=tJ(e);for(let r of Gle){if(!rs(e,r.name))continue;let i=e[r.name];fo(i)?e[r.name]=w6(r,i,t):hc(r.type,o=>o===i)||t.push(Mie(r))}return e}var aIe,Gle,KBe=pt({\"src/services/transpile.ts\"(){\"use strict\";Hr(),aIe=new Set([\"isolatedModules\",\"preserveValueImports\",\"importsNotUsedAsValues\"])}});function sIe(e,t,r,i,o,s,l){let d=Nle(i);if(!d)return je;let p=[],h=e.length===1?e[0]:void 0;for(let m of e)r.throwIfCancellationRequested(),!(s&&m.isDeclarationFile)&&(lIe(m,!!l,h)||m.getNamedDeclarations().forEach((v,E)=>{XBe(d,E,v,t,m.fileName,!!l,h,p)}));return p.sort(ZBe),(o===void 0?p:p.slice(0,o)).map(eGe)}function lIe(e,t,r){return e!==r&&t&&(tO(e.path)||e.hasNoDefaultLib)}function XBe(e,t,r,i,o,s,l,d){let p=e.getMatchForLastSegmentOfPattern(t);if(p){for(let h of r)if(YBe(h,i,s,l))if(e.patternContainsDots){let m=e.getFullMatch(QBe(h),t);m&&d.push({name:t,fileName:o,matchKind:m.kind,isCaseSensitive:m.isCaseSensitive,declaration:h})}else d.push({name:t,fileName:o,matchKind:p.kind,isCaseSensitive:p.isCaseSensitive,declaration:h})}}function YBe(e,t,r,i){var o;switch(e.kind){case 273:case 276:case 271:let s=t.getSymbolAtLocation(e.name),l=t.getAliasedSymbol(s);return s.escapedName!==l.escapedName&&!((o=l.declarations)!=null&&o.every(d=>lIe(d.getSourceFile(),r,i)));default:return!0}}function $Be(e,t){let r=mo(e);return!!r&&(cIe(r,t)||r.kind===167&&Vle(r.expression,t))}function Vle(e,t){return cIe(e,t)||Er(e)&&(t.push(e.name.text),!0)&&Vle(e.expression,t)}function cIe(e,t){return Xm(e)&&(t.push(Ef(e)),!0)}function QBe(e){let t=[],r=mo(e);if(r&&r.kind===167&&!Vle(r.expression,t))return je;t.shift();let i=sT(e);for(;i;){if(!$Be(i,t))return je;i=sT(i)}return t.reverse()}function ZBe(e,t){return Ms(e.matchKind,t.matchKind)||_M(e.name,t.name)}function eGe(e){let t=e.declaration,r=sT(t),i=r&&mo(r);return{name:e.name,kind:E0(t),kindModifiers:YN(t),matchKind:ez[e.matchKind],isCaseSensitive:e.isCaseSensitive,fileName:e.fileName,textSpan:eu(t),containerName:i?i.text:\"\",containerKind:i?E0(r):\"\"}}var tGe=pt({\"src/services/navigateTo.ts\"(){\"use strict\";Hr()}}),jle={};la(jle,{getNavigateToItems:()=>sIe});var dIe=pt({\"src/services/_namespaces/ts.NavigateTo.ts\"(){\"use strict\";tGe()}});function uIe(e,t){sK=t,oO=e;try{return nn(aGe(_Ie(e)),sGe)}finally{fIe()}}function pIe(e,t){sK=t,oO=e;try{return AIe(_Ie(e))}finally{fIe()}}function fIe(){oO=void 0,sK=void 0,aO=[],_v=void 0,lK=[]}function nz(e){return sP(e.getText(oO))}function iK(e){return e.node.kind}function mIe(e,t){e.children?e.children.push(t):e.children=[t]}function _Ie(e){x.assert(!aO.length);let t={node:e,name:void 0,additionalNodes:void 0,parent:void 0,children:void 0,indent:0};_v=t;for(let r of e.statements)PI(r);return Hb(),x.assert(!_v&&!aO.length),t}function A0(e,t){mIe(_v,Ule(e,t))}function Ule(e,t){return{node:e,name:t||(bd(e)||lt(e)?mo(e):void 0),additionalNodes:void 0,parent:_v,children:void 0,indent:_v.indent+1}}function hIe(e){TR||(TR=new Map),TR.set(e,!0)}function gIe(e){for(let t=0;t<e;t++)Hb()}function vIe(e,t){let r=[];for(;!Xm(t);){let i=SL(t),o=tg(t);t=t.expression,!(o===\"prototype\"||Ci(i))&&r.push(i)}r.push(t);for(let i=r.length-1;i>0;i--){let o=r[i];I0(e,o)}return[r.length-1,r[0]]}function I0(e,t){let r=Ule(e,t);mIe(_v,r),aO.push(_v),Qle.push(TR),TR=void 0,_v=r}function Hb(){_v.children&&(oK(_v.children,_v),Jle(_v.children)),_v=aO.pop(),TR=Qle.pop()}function qb(e,t,r){I0(e,r),PI(t),Hb()}function yIe(e){e.initializer&&cGe(e.initializer)?(I0(e),Ao(e.initializer,PI),Hb()):qb(e,e.initializer)}function Hle(e){let t=mo(e);if(t===void 0)return!1;if(Pa(t)){let r=t.expression;return gl(r)||Bu(r)||Ap(r)}return!!t}function PI(e){if(sK.throwIfCancellationRequested(),!(!e||xA(e)))switch(e.kind){case 176:let t=e;qb(t,t.body);for(let l of t.parameters)wu(l,t)&&A0(l);break;case 174:case 177:case 178:case 173:Hle(e)&&qb(e,e.body);break;case 172:Hle(e)&&yIe(e);break;case 171:Hle(e)&&A0(e);break;case 273:let r=e;r.name&&A0(r.name);let{namedBindings:i}=r;if(i)if(i.kind===274)A0(i);else for(let l of i.elements)A0(l);break;case 304:qb(e,e.name);break;case 305:let{expression:o}=e;Me(o)?A0(e,o):A0(e);break;case 208:case 303:case 260:{let l=e;ko(l.name)?PI(l.name):yIe(l);break}case 262:let s=e.name;s&&Me(s)&&hIe(s.text),qb(e,e.body);break;case 219:case 218:qb(e,e.body);break;case 266:I0(e);for(let l of e.members)lGe(l)||A0(l);Hb();break;case 263:case 231:case 264:I0(e);for(let l of e.members)PI(l);Hb();break;case 267:qb(e,xIe(e).body);break;case 277:{let l=e.expression,d=ma(l)||Bo(l)?l:gs(l)||ps(l)?l.body:void 0;d?(I0(e),PI(d),Hb()):A0(e);break}case 281:case 271:case 181:case 179:case 180:case 265:A0(e);break;case 213:case 226:{let l=hl(e);switch(l){case 1:case 2:qb(e,e.right);return;case 6:case 3:{let d=e,p=d.left,h=l===3?p.expression:p,m=0,v;Me(h.expression)?(hIe(h.expression.text),v=h.expression):[m,v]=vIe(d,h.expression),l===6?ma(d.right)&&d.right.properties.length>0&&(I0(d,v),Ao(d.right,PI),Hb()):ps(d.right)||gs(d.right)?qb(e,d.right,v):(I0(d,v),qb(e,d.right,p.name),Hb()),gIe(m);return}case 7:case 9:{let d=e,p=l===7?d.arguments[0]:d.arguments[0].expression,h=d.arguments[1],[m,v]=vIe(e,p);I0(e,v),I0(e,Ze(P.createIdentifier(h.text),h)),PI(e.arguments[2]),Hb(),Hb(),gIe(m);return}case 5:{let d=e,p=d.left,h=p.expression;if(Me(h)&&tg(p)!==\"prototype\"&&TR&&TR.has(h.text)){ps(d.right)||gs(d.right)?qb(e,d.right,h):UE(p)&&(I0(d,h),qb(d.left,d.right,SL(p)),Hb());return}break}case 4:case 0:case 8:break;default:x.assertNever(l)}}default:ap(e)&&an(e.jsDoc,l=>{an(l.tags,d=>{bf(d)&&A0(d)})}),Ao(e,PI)}}function oK(e,t){let r=new Map;X5(e,(i,o)=>{let s=i.name||mo(i.node),l=s&&nz(s);if(!l)return!0;let d=r.get(l);if(!d)return r.set(l,i),!0;if(d instanceof Array){for(let p of d)if(bIe(p,i,o,t))return!1;return d.push(i),!0}else{let p=d;return bIe(p,i,o,t)?!1:(r.set(l,[p,i]),!0)}})}function nGe(e,t,r,i){function o(d){return ps(d)||Ql(d)||yi(d)}let s=Zn(t.node)||Bo(t.node)?hl(t.node):0,l=Zn(e.node)||Bo(e.node)?hl(e.node):0;if(lP[s]&&lP[l]||o(e.node)&&lP[s]||o(t.node)&&lP[l]||Zl(e.node)&&qle(e.node)&&lP[s]||Zl(t.node)&&lP[l]||Zl(e.node)&&qle(e.node)&&o(t.node)||Zl(t.node)&&o(e.node)&&qle(e.node)){let d=e.additionalNodes&&Ns(e.additionalNodes)||e.node;if(!Zl(e.node)&&!Zl(t.node)||o(e.node)||o(t.node)){let h=o(e.node)?e.node:o(t.node)?t.node:void 0;if(h!==void 0){let m=Ze(P.createConstructorDeclaration(void 0,[],void 0),h),v=Ule(m);v.indent=e.indent+1,v.children=e.node===h?e.children:t.children,e.children=e.node===h?ro([v],t.children||[t]):ro(e.children||[{...e}],[v])}else(e.children||t.children)&&(e.children=ro(e.children||[{...e}],t.children||[t]),e.children&&(oK(e.children,e),Jle(e.children)));d=e.node=Ze(P.createClassDeclaration(void 0,e.name||P.createIdentifier(\"__class__\"),void 0,void 0,[]),e.node)}else e.children=ro(e.children,t.children),e.children&&oK(e.children,e);let p=t.node;return i.children[r-1].node.end===d.end?Ze(d,{pos:d.pos,end:p.end}):(e.additionalNodes||(e.additionalNodes=[]),e.additionalNodes.push(Ze(P.createClassDeclaration(void 0,e.name||P.createIdentifier(\"__class__\"),void 0,void 0,[]),t.node))),!0}return s!==0}function bIe(e,t,r,i){return nGe(e,t,r,i)?!0:rGe(e.node,t.node,i)?(iGe(e,t),!0):!1}function rGe(e,t,r){if(e.kind!==t.kind||e.parent!==t.parent&&!(EIe(e,r)&&EIe(t,r)))return!1;switch(e.kind){case 172:case 174:case 177:case 178:return zo(e)===zo(t);case 267:return SIe(e,t)&&Yle(e)===Yle(t);default:return!0}}function qle(e){return!!(e.flags&16)}function EIe(e,t){let r=n_(e.parent)?e.parent.parent:e.parent;return r===t.node||To(t.additionalNodes,r)}function SIe(e,t){return!e.body||!t.body?e.body===t.body:e.body.kind===t.body.kind&&(e.body.kind!==267||SIe(e.body,t.body))}function iGe(e,t){e.additionalNodes=e.additionalNodes||[],e.additionalNodes.push(t.node),t.additionalNodes&&e.additionalNodes.push(...t.additionalNodes),e.children=ro(e.children,t.children),e.children&&(oK(e.children,e),Jle(e.children))}function Jle(e){e.sort(oGe)}function oGe(e,t){return _M(TIe(e.node),TIe(t.node))||Ms(iK(e),iK(t))}function TIe(e){if(e.kind===267)return IIe(e);let t=mo(e);if(t&&kl(t)){let r=MS(t);return r&&Ii(r)}switch(e.kind){case 218:case 219:case 231:return DIe(e);default:return}}function Kle(e,t){if(e.kind===267)return sP(IIe(e));if(t){let r=Me(t)?t.text:Rs(t)?`[${nz(t.argumentExpression)}]`:nz(t);if(r.length>0)return sP(r)}switch(e.kind){case 312:let r=e;return wl(r)?`\"${Th(Ll(Yd(Yo(r.fileName))))}\"`:\"<global>\";case 277:return dl(e)&&e.isExportEquals?\"export=\":\"default\";case 219:case 262:case 218:case 263:case 231:return ny(e)&2048?\"default\":DIe(e);case 176:return\"constructor\";case 180:return\"new()\";case 179:return\"()\";case 181:return\"[]\";default:return\"<unknown>\"}}function aGe(e){let t=[];function r(o){if(i(o)&&(t.push(o),o.children))for(let s of o.children)r(s)}return r(e),t;function i(o){if(o.children)return!0;switch(iK(o)){case 263:case 231:case 266:case 264:case 267:case 312:case 265:case 353:case 345:return!0;case 219:case 262:case 218:return s(o);default:return!1}function s(l){if(!l.node.body)return!1;switch(iK(l.parent)){case 268:case 312:case 174:case 176:return!0;default:return!1}}}}function AIe(e){return{text:Kle(e.node,e.name),kind:E0(e.node),kindModifiers:RIe(e.node),spans:Xle(e),nameSpan:e.name&&$le(e.name),childItems:nn(e.children,AIe)}}function sGe(e){return{text:Kle(e.node,e.name),kind:E0(e.node),kindModifiers:RIe(e.node),spans:Xle(e),childItems:nn(e.children,t)||lK,indent:e.indent,bolded:!1,grayed:!1};function t(r){return{text:Kle(r.node,r.name),kind:E0(r.node),kindModifiers:YN(r.node),spans:Xle(r),childItems:lK,indent:0,bolded:!1,grayed:!1}}}function Xle(e){let t=[$le(e.node)];if(e.additionalNodes)for(let r of e.additionalNodes)t.push($le(r));return t}function IIe(e){return sd(e)?Vl(e.name):Yle(e)}function Yle(e){let t=[Ef(e.name)];for(;e.body&&e.body.kind===267;)e=e.body,t.push(Ef(e.name));return t.join(\".\")}function xIe(e){return e.body&&Il(e.body)?xIe(e.body):e}function lGe(e){return!e.name||e.name.kind===167}function $le(e){return e.kind===312?yy(e):eu(e,oO)}function RIe(e){return e.parent&&e.parent.kind===260&&(e=e.parent),YN(e)}function DIe(e){let{parent:t}=e;if(e.name&&tL(e.name)>0)return sP(is(e.name));if(yi(t))return sP(is(t.name));if(Zn(t)&&t.operatorToken.kind===64)return nz(t.left).replace(NIe,\"\");if(Hl(t))return nz(t.name);if(ny(e)&2048)return\"default\";if(Kr(e))return\"<class>\";if(Bo(t)){let r=CIe(t.expression);if(r!==void 0){if(r=sP(r),r.length>aK)return`${r} callback`;let i=sP(Fi(t.arguments,o=>Ga(o)||NA(o)?o.getText(oO):void 0).join(\", \"));return`${r}(${i}) callback`}}return\"<function>\"}function CIe(e){if(Me(e))return e.text;if(Er(e)){let t=CIe(e.expression),r=e.name.text;return t===void 0?r:`${t}.${r}`}else return}function cGe(e){switch(e.kind){case 219:case 218:case 231:return!0;default:return!1}}function sP(e){return e=e.length>aK?e.substring(0,aK)+\"...\":e,e.replace(/\\\\?(\\r?\\n|\\r|\\u2028|\\u2029)/g,\"\")}var NIe,aK,sK,oO,aO,_v,Qle,TR,lK,lP,dGe=pt({\"src/services/navigationBar.ts\"(){\"use strict\";Hr(),NIe=/\\s+/g,aK=150,aO=[],Qle=[],lK=[],lP={5:!0,3:!0,7:!0,9:!0,0:!1,1:!1,2:!1,8:!1,6:!0,4:!1}}}),Zle={};la(Zle,{getNavigationBarItems:()=>uIe,getNavigationTree:()=>pIe});var PIe=pt({\"src/services/_namespaces/ts.NavigationBar.ts\"(){\"use strict\";dGe()}});function Ph(e,t){cK.set(e,t)}function uGe(e,t){return bo(Y5(cK.values(),r=>{var i;return e.cancellationToken&&e.cancellationToken.isCancellationRequested()||!((i=r.kinds)!=null&&i.some(o=>Jb(o,e.kind)))?void 0:r.getAvailableActions(e,t)}))}function pGe(e,t,r,i){let o=cK.get(t);return o&&o.getEditsForAction(e,r,i)}var cK,MIe=pt({\"src/services/refactorProvider.ts\"(){\"use strict\";Hr(),J_(),cK=new Map}});function LIe(e,t=!0){let{file:r,program:i}=e,o=NI(e),s=Hi(r,o.start),l=s.parent&&ny(s.parent)&32&&t?s.parent:Kk(s,r,o);if(!l||!Li(l.parent)&&!(n_(l.parent)&&sd(l.parent.parent)))return{error:vo(f.Could_not_find_export_statement)};let d=i.getTypeChecker(),p=vGe(l.parent,d),h=ny(l)||(dl(l)&&!l.isExportEquals?2080:0),m=!!(h&2048);if(!(h&32)||!m&&p.exports.has(\"default\"))return{error:vo(f.This_file_already_has_a_default_export)};let v=E=>Me(E)&&d.getSymbolAtLocation(E)?void 0:{error:vo(f.Can_only_convert_named_export)};switch(l.kind){case 262:case 263:case 264:case 266:case 265:case 267:{let E=l;return E.name?v(E.name)||{exportNode:E,exportName:E.name,wasDefault:m,exportingModuleSymbol:p}:void 0}case 243:{let E=l;if(!(E.declarationList.flags&2)||E.declarationList.declarations.length!==1)return;let S=Ta(E.declarationList.declarations);return S.initializer?(x.assert(!m,\"Can't have a default flag here\"),v(S.name)||{exportNode:E,exportName:S.name,wasDefault:m,exportingModuleSymbol:p}):void 0}case 277:{let E=l;return E.isExportEquals?void 0:v(E.expression)||{exportNode:E,exportName:E.expression,wasDefault:m,exportingModuleSymbol:p}}default:return}}function fGe(e,t,r,i,o){mGe(e,r,i,t.getTypeChecker()),_Ge(t,r,i,o)}function mGe(e,{wasDefault:t,exportNode:r,exportName:i},o,s){if(t)if(dl(r)&&!r.isExportEquals){let l=r.expression,d=kIe(l.text,l.text);o.replaceNode(e,r,P.createExportDeclaration(void 0,!1,P.createNamedExports([d])))}else o.delete(e,x.checkDefined(gR(r,90),\"Should find a default keyword in modifier list\"));else{let l=x.checkDefined(gR(r,95),\"Should find an export keyword in modifier list\");switch(r.kind){case 262:case 263:case 264:o.insertNodeAfter(e,l,P.createToken(90));break;case 243:let d=Ta(r.declarationList.declarations);if(!fs.Core.isSymbolReferencedInFile(i,s,e)&&!d.type){o.replaceNode(e,r,P.createExportDefault(x.checkDefined(d.initializer,\"Initializer was previously known to be present\")));break}case 266:case 265:case 267:o.deleteModifier(e,l),o.insertNodeAfter(e,r,P.createExportDefault(P.createIdentifier(i.text)));break;default:x.fail(`Unexpected exportNode kind ${r.kind}`)}}}function _Ge(e,{wasDefault:t,exportName:r,exportingModuleSymbol:i},o,s){let l=e.getTypeChecker(),d=x.checkDefined(l.getSymbolAtLocation(r),\"Export name should resolve to a symbol\");fs.Core.eachExportReference(e.getSourceFiles(),l,s,d,i,r.text,t,p=>{if(r===p)return;let h=p.getSourceFile();t?hGe(h,p,o,r.text):gGe(h,p,o)})}function hGe(e,t,r,i){let{parent:o}=t;switch(o.kind){case 211:r.replaceNode(e,t,P.createIdentifier(i));break;case 276:case 281:{let l=o;r.replaceNode(e,l,ece(i,l.name.text));break}case 273:{let l=o;x.assert(l.name===t,\"Import clause name should match provided ref\");let d=ece(i,t.text),{namedBindings:p}=l;if(!p)r.replaceNode(e,t,P.createNamedImports([d]));else if(p.kind===274){r.deleteRange(e,{pos:t.getStart(e),end:p.getStart(e)});let h=da(l.parent.moduleSpecifier)?cJ(l.parent.moduleSpecifier,e):1,m=fv(void 0,[ece(i,t.text)],l.parent.moduleSpecifier,h);r.insertNodeAfter(e,l.parent,m)}else r.delete(e,t),r.insertNodeAtEndOfList(e,p.elements,d);break}case 205:let s=o;r.replaceNode(e,o,P.createImportTypeNode(s.argument,s.attributes,P.createIdentifier(i),s.typeArguments,s.isTypeOf));break;default:x.failBadSyntaxKind(o)}}function gGe(e,t,r){let i=t.parent;switch(i.kind){case 211:r.replaceNode(e,t,P.createIdentifier(\"default\"));break;case 276:{let o=P.createIdentifier(i.name.text);i.parent.elements.length===1?r.replaceNode(e,i.parent,o):(r.delete(e,i),r.insertNodeBefore(e,i.parent,o));break}case 281:{r.replaceNode(e,i,kIe(\"default\",i.name.text));break}default:x.assertNever(i,`Unexpected parent kind ${i.kind}`)}}function ece(e,t){return P.createImportSpecifier(!1,e===t?void 0:P.createIdentifier(e),P.createIdentifier(t))}function kIe(e,t){return P.createExportSpecifier(!1,e===t?void 0:P.createIdentifier(e),P.createIdentifier(t))}function vGe(e,t){if(Li(e))return e.symbol;let r=e.parent.symbol;return r.valueDeclaration&&zE(r.valueDeclaration)?t.getMergedSymbol(r):r}var dK,rz,iz,yGe=pt({\"src/services/refactors/convertExport.ts\"(){\"use strict\";Hr(),J_(),dK=\"Convert export\",rz={name:\"Convert default export to named export\",description:vo(f.Convert_default_export_to_named_export),kind:\"refactor.rewrite.export.named\"},iz={name:\"Convert named export to default export\",description:vo(f.Convert_named_export_to_default_export),kind:\"refactor.rewrite.export.default\"},Ph(dK,{kinds:[rz.kind,iz.kind],getAvailableActions:function(t){let r=LIe(t,t.triggerReason===\"invoked\");if(!r)return je;if(!ug(r)){let i=r.wasDefault?rz:iz;return[{name:dK,description:i.description,actions:[i]}]}return t.preferences.provideRefactorNotApplicableReason?[{name:dK,description:vo(f.Convert_default_export_to_named_export),actions:[{...rz,notApplicableReason:r.error},{...iz,notApplicableReason:r.error}]}]:je},getEditsForAction:function(t,r){x.assert(r===rz.name||r===iz.name,\"Unexpected action name\");let i=LIe(t);return x.assert(i&&!ug(i),\"Expected applicable refactor info\"),{edits:er.ChangeTracker.with(t,s=>fGe(t.file,t.program,i,s,t.cancellationToken)),renameFilename:void 0,renameLocation:void 0}}})}});function OIe(e,t=!0){let{file:r}=e,i=NI(e),o=Hi(r,i.start),s=t?Rn(o,cc):Kk(o,r,i);if(!s||!cc(s))return{error:\"Selection is not an import declaration.\"};let l=i.start+i.length,d=S0(s,s.parent,r);if(d&&l>d.getStart())return;let{importClause:p}=s;return p?p.namedBindings?p.namedBindings.kind===274?{convertTo:0,import:p.namedBindings}:wIe(e.program,p)?{convertTo:1,import:p.namedBindings}:{convertTo:2,import:p.namedBindings}:{error:vo(f.Could_not_find_namespace_import_or_named_imports)}:{error:vo(f.Could_not_find_import_clause)}}function wIe(e,t){return zS(e.getCompilerOptions())&&TGe(t.parent.moduleSpecifier,e.getTypeChecker())}function bGe(e,t,r,i){let o=t.getTypeChecker();i.convertTo===0?EGe(e,o,r,i.import,zS(t.getCompilerOptions())):FIe(e,t,r,i.import,i.convertTo===1)}function EGe(e,t,r,i,o){let s=!1,l=[],d=new Map;fs.Core.eachSymbolReferenceInFile(i.name,t,e,v=>{if(!Qee(v.parent))s=!0;else{let E=WIe(v.parent).text;t.resolveName(E,v,-1,!0)&&d.set(E,!0),x.assert(SGe(v.parent)===v,\"Parent expression should match id\"),l.push(v.parent)}});let p=new Map;for(let v of l){let E=WIe(v).text,S=p.get(E);S===void 0&&p.set(E,S=d.has(E)?dT(E,e):E),r.replaceNode(e,v,P.createIdentifier(S))}let h=[];p.forEach((v,E)=>{h.push(P.createImportSpecifier(!1,v===E?void 0:P.createIdentifier(E),P.createIdentifier(v)))});let m=i.parent.parent;s&&!o?r.insertNodeAfter(e,m,tce(m,void 0,h)):r.replaceNode(e,m,tce(m,s?P.createIdentifier(i.name.text):void 0,h))}function WIe(e){return Er(e)?e.name:e.right}function SGe(e){return Er(e)?e.expression:e.left}function FIe(e,t,r,i,o=wIe(t,i.parent)){let s=t.getTypeChecker(),l=i.parent.parent,{moduleSpecifier:d}=l,p=new Set;i.elements.forEach(A=>{let C=s.getSymbolAtLocation(A.name);C&&p.add(C)});let h=d&&da(d)?ud.moduleSpecifierToValidIdentifier(d.text,99):\"module\";function m(A){return!!fs.Core.eachSymbolReferenceInFile(A.name,s,e,C=>{let R=s.resolveName(h,C,-1,!0);return R?p.has(R)?Ed(C.parent):!0:!1})}let E=i.elements.some(m)?dT(h,e):h,S=new Set;for(let A of i.elements){let C=(A.propertyName||A.name).text;fs.Core.eachSymbolReferenceInFile(A.name,s,e,R=>{let L=P.createPropertyAccessExpression(P.createIdentifier(E),C);xu(R.parent)?r.replaceNode(e,R.parent,P.createPropertyAssignment(R.text,L)):Ed(R.parent)?S.add(A):r.replaceNode(e,R,L)})}if(r.replaceNode(e,i,o?P.createIdentifier(E):P.createNamespaceImport(P.createIdentifier(E))),S.size){let A=bo(S.values(),C=>P.createImportSpecifier(C.isTypeOnly,C.propertyName&&P.createIdentifier(C.propertyName.text),P.createIdentifier(C.name.text)));r.insertNodeAfter(e,i.parent.parent,tce(l,void 0,A))}}function TGe(e,t){let r=t.resolveExternalModuleName(e);if(!r)return!1;let i=t.resolveExternalModuleSymbol(r);return r!==i}function tce(e,t,r){return P.createImportDeclaration(void 0,P.createImportClause(!1,t,r&&r.length?P.createNamedImports(r):void 0),e.moduleSpecifier,void 0)}var uK,oz,AGe=pt({\"src/services/refactors/convertImport.ts\"(){\"use strict\";Hr(),J_(),uK=\"Convert import\",oz={0:{name:\"Convert namespace import to named imports\",description:vo(f.Convert_namespace_import_to_named_imports),kind:\"refactor.rewrite.import.named\"},2:{name:\"Convert named imports to namespace import\",description:vo(f.Convert_named_imports_to_namespace_import),kind:\"refactor.rewrite.import.namespace\"},1:{name:\"Convert named imports to default import\",description:vo(f.Convert_named_imports_to_default_import),kind:\"refactor.rewrite.import.default\"}},Ph(uK,{kinds:vA(oz).map(e=>e.kind),getAvailableActions:function(t){let r=OIe(t,t.triggerReason===\"invoked\");if(!r)return je;if(!ug(r)){let i=oz[r.convertTo];return[{name:uK,description:i.description,actions:[i]}]}return t.preferences.provideRefactorNotApplicableReason?vA(oz).map(i=>({name:uK,description:i.description,actions:[{...i,notApplicableReason:r.error}]})):je},getEditsForAction:function(t,r){x.assert(ct(vA(oz),s=>s.name===r),\"Unexpected action name\");let i=OIe(t);return x.assert(i&&!ug(i),\"Expected applicable refactor info\"),{edits:er.ChangeTracker.with(t,s=>bGe(t.file,t.program,s,i)),renameFilename:void 0,renameLocation:void 0}}})}});function zIe(e,t=!0){let{file:r,startPosition:i}=e,o=wd(r),s=T3(NI(e)),l=s.pos===s.end&&t,d=IGe(r,i,s,l);if(!d||!xi(d))return{error:vo(f.Selection_is_not_a_valid_type_node)};let p=e.program.getTypeChecker(),h=NGe(d,o);if(h===void 0)return{error:vo(f.No_type_could_be_extracted_from_this_type_node)};let m=PGe(d,h);if(!xi(m))return{error:vo(f.Selection_is_not_a_valid_type_node)};let v=[];(dy(m.parent)||sI(m.parent))&&s.end>d.end&&Pr(v,m.parent.types.filter(C=>f3(C,r,s.pos,s.end)));let E=v.length>1?v:m,S=xGe(p,E,h,r);if(!S)return{error:vo(f.No_type_could_be_extracted_from_this_type_node)};let A=pK(p,E);return{isJS:o,selection:E,enclosingNode:h,typeParameters:S,typeElements:A}}function IGe(e,t,r,i){let o=[()=>Hi(e,t),()=>_R(e,t,()=>!0)];for(let s of o){let l=s(),d=f3(l,e,r.pos,r.end),p=Rn(l,h=>h.parent&&xi(h)&&!x0(r,h.parent,e)&&(i||d));if(p)return p}}function pK(e,t){if(t){if(oo(t)){let r=[];for(let i of t){let o=pK(e,i);if(!o)return;Pr(r,o)}return r}if(sI(t)){let r=[],i=new Map;for(let o of t.types){let s=pK(e,o);if(!s||!s.every(l=>l.name&&Jf(i,qk(l.name))))return;Pr(r,s)}return r}else{if(VS(t))return pK(e,t.type);if(ju(t))return t.members}}}function x0(e,t,r){return zk(e,pa(r.text,t.pos),t.end)}function xGe(e,t,r,i){let o=[],s=yA(t),l={pos:s[0].pos,end:s[s.length-1].end};for(let p of s)if(d(p))return;return o;function d(p){if(Yp(p)){if(Me(p.typeName)){let h=p.typeName,m=e.resolveName(h.text,h,262144,!0);for(let v of m?.declarations||je)if(qs(v)&&v.getSourceFile()===i){if(v.name.escapedText===h.escapedText&&x0(v,l,i))return!0;if(x0(r,v,i)&&!x0(l,v,i)){jp(o,v);break}}}}else if(GS(p)){let h=Rn(p,m=>lI(m)&&x0(m.extendsType,p,i));if(!h||!x0(l,h,i))return!0}else if(T2(p)||I2(p)){let h=Rn(p.parent,Lo);if(h&&h.type&&x0(h.type,p,i)&&!x0(l,h,i))return!0}else if(oI(p)){if(Me(p.exprName)){let h=e.resolveName(p.exprName.text,p.exprName,111551,!1);if(h?.valueDeclaration&&x0(r,h.valueDeclaration,i)&&!x0(l,h.valueDeclaration,i))return!0}else if(YE(p.exprName.left)&&!x0(l,p.parent,i))return!0}return i&&aI(p)&&$a(i,p.pos).line===$a(i,p.end).line&&$n(p,1),Ao(p,d)}}function RGe(e,t,r,i){let{enclosingNode:o,typeParameters:s}=i,{firstTypeNode:l,lastTypeNode:d,newTypeNode:p}=nce(i),h=P.createTypeAliasDeclaration(void 0,r,s.map(m=>P.updateTypeParameterDeclaration(m,m.modifiers,m.name,m.constraint,void 0)),p);e.insertNodeBefore(t,o,uj(h),!0),e.replaceNodeRange(t,l,d,P.createTypeReferenceNode(r,s.map(m=>P.createTypeReferenceNode(m.name,void 0))),{leadingTriviaOption:er.LeadingTriviaOption.Exclude,trailingTriviaOption:er.TrailingTriviaOption.ExcludeWhitespace})}function DGe(e,t,r,i){var o;let{enclosingNode:s,typeParameters:l,typeElements:d}=i,p=P.createInterfaceDeclaration(void 0,r,l,void 0,d);Ze(p,(o=d[0])==null?void 0:o.parent),e.insertNodeBefore(t,s,uj(p),!0);let{firstTypeNode:h,lastTypeNode:m}=nce(i);e.replaceNodeRange(t,h,m,P.createTypeReferenceNode(r,l.map(v=>P.createTypeReferenceNode(v.name,void 0))),{leadingTriviaOption:er.LeadingTriviaOption.Exclude,trailingTriviaOption:er.TrailingTriviaOption.ExcludeWhitespace})}function CGe(e,t,r,i,o){var s;yA(o.selection).forEach(A=>{$n(A,7168)});let{enclosingNode:l,typeParameters:d}=o,{firstTypeNode:p,lastTypeNode:h,newTypeNode:m}=nce(o),v=P.createJSDocTypedefTag(P.createIdentifier(\"typedef\"),P.createJSDocTypeExpression(m),P.createIdentifier(i)),E=[];an(d,A=>{let C=V1(A),R=P.createTypeParameterDeclaration(void 0,A.name),L=P.createJSDocTemplateTag(P.createIdentifier(\"template\"),C&&Fo(C,f0),[R]);E.push(L)});let S=P.createJSDocComment(void 0,P.createNodeArray(ro(E,[v])));if(Sm(l)){let A=l.getStart(r),C=mv(t.host,(s=t.formatContext)==null?void 0:s.options);e.insertNodeAt(r,l.getStart(r),S,{suffix:C+C+r.text.slice(L3(r.text,A-1),A)})}else e.insertNodeBefore(r,l,S,!0);e.replaceNodeRange(r,p,h,P.createTypeReferenceNode(i,d.map(A=>P.createTypeReferenceNode(A.name,void 0))))}function nce(e){return oo(e.selection)?{firstTypeNode:e.selection[0],lastTypeNode:e.selection[e.selection.length-1],newTypeNode:dy(e.selection[0].parent)?P.createUnionTypeNode(e.selection):P.createIntersectionTypeNode(e.selection)}:{firstTypeNode:e.selection,lastTypeNode:e.selection,newTypeNode:e.selection}}function NGe(e,t){return Rn(e,Di)||(t?Rn(e,Sm):void 0)}function PGe(e,t){return Rn(e,r=>r===t?\"quit\":!!(dy(r.parent)||sI(r.parent)))??e}var fK,az,sz,lz,MGe=pt({\"src/services/refactors/extractType.ts\"(){\"use strict\";Hr(),J_(),fK=\"Extract type\",az={name:\"Extract to type alias\",description:vo(f.Extract_to_type_alias),kind:\"refactor.extract.type\"},sz={name:\"Extract to interface\",description:vo(f.Extract_to_interface),kind:\"refactor.extract.interface\"},lz={name:\"Extract to typedef\",description:vo(f.Extract_to_typedef),kind:\"refactor.extract.typedef\"},Ph(fK,{kinds:[az.kind,sz.kind,lz.kind],getAvailableActions:function(t){let r=zIe(t,t.triggerReason===\"invoked\");return r?ug(r)?t.preferences.provideRefactorNotApplicableReason?[{name:fK,description:vo(f.Extract_type),actions:[{...lz,notApplicableReason:r.error},{...az,notApplicableReason:r.error},{...sz,notApplicableReason:r.error}]}]:je:[{name:fK,description:vo(f.Extract_type),actions:r.isJS?[lz]:pn([az],r.typeElements&&sz)}]:je},getEditsForAction:function(t,r){let{file:i}=t,o=zIe(t);x.assert(o&&!ug(o),\"Expected to find a range to extract\");let s=dT(\"NewType\",i),l=er.ChangeTracker.with(t,h=>{switch(r){case az.name:return x.assert(!o.isJS,\"Invalid actionName/JS combo\"),RGe(h,i,s,o);case lz.name:return x.assert(o.isJS,\"Invalid actionName/JS combo\"),CGe(h,t,i,s,o);case sz.name:return x.assert(!o.isJS&&!!o.typeElements,\"Invalid actionName/JS combo\"),DGe(h,i,s,o);default:x.fail(\"Unexpected action name\")}}),d=i.fileName,p=$k(l,d,s,!1);return{edits:l,renameFilename:d,renameLocation:p}}})}});function ug(e){return e.error!==void 0}function Jb(e,t){return t?e.substr(0,t.length)===t:!0}var LGe=pt({\"src/services/refactors/helpers.ts\"(){\"use strict\"}});function BIe(e,t,r,i){var o,s;let l=i.getTypeChecker(),d=pu(e,t),p=d.parent;if(Me(d)){if(JL(p)&&mC(p)&&Me(p.name)){if(((o=l.getMergedSymbol(p.symbol).declarations)==null?void 0:o.length)!==1)return{error:vo(f.Variables_with_multiple_declarations_cannot_be_inlined)};if(GIe(p))return;let h=VIe(p,l,e);return h&&{references:h,declaration:p,replacement:p.initializer}}if(r){let h=l.resolveName(d.text,d,111551,!1);if(h=h&&l.getMergedSymbol(h),((s=h?.declarations)==null?void 0:s.length)!==1)return{error:vo(f.Variables_with_multiple_declarations_cannot_be_inlined)};let m=h.declarations[0];if(!JL(m)||!mC(m)||!Me(m.name)||GIe(m))return;let v=VIe(m,l,e);return v&&{references:v,declaration:m,replacement:m.initializer}}return{error:vo(f.Could_not_find_variable_to_inline)}}}function GIe(e){let t=Fo(e.parent.parent,cl);return ct(t.modifiers,nI)}function VIe(e,t,r){let i=[],o=fs.Core.eachSymbolReferenceInFile(e.name,t,r,s=>{if(fs.isWriteAccessForReference(s)&&!xu(s.parent)||Ed(s.parent)||dl(s.parent)||oI(s.parent)||wM(e,s.pos))return!0;i.push(s)});return i.length===0||o?void 0:i}function kGe(e,t){t=Fs(t);let{parent:r}=e;return lt(r)&&(xC(t)<xC(r)||k3(r))||Lo(t)&&(WE(r)||Er(r))||Er(r)&&(Bu(t)||ma(t))?P.createParenthesizedExpression(t):Me(e)&&xu(r)?P.createPropertyAssignment(e,t):t}var sO,mK,_K,OGe=pt({\"src/services/refactors/inlineVariable.ts\"(){\"use strict\";Hr(),J_(),sO=\"Inline variable\",mK=vo(f.Inline_variable),_K={name:sO,description:mK,kind:\"refactor.inline.variable\"},Ph(sO,{kinds:[_K.kind],getAvailableActions(e){let{file:t,program:r,preferences:i,startPosition:o,triggerReason:s}=e,l=BIe(t,o,s===\"invoked\",r);return l?MI.isRefactorErrorInfo(l)?i.provideRefactorNotApplicableReason?[{name:sO,description:mK,actions:[{..._K,notApplicableReason:l.error}]}]:je:[{name:sO,description:mK,actions:[_K]}]:je},getEditsForAction(e,t){x.assert(t===sO,\"Unexpected refactor invoked\");let{file:r,program:i,startPosition:o}=e,s=BIe(r,o,!0,i);if(!s||MI.isRefactorErrorInfo(s))return;let{references:l,declaration:d,replacement:p}=s;return{edits:er.ChangeTracker.with(e,m=>{for(let v of l)m.replaceNode(r,v,kGe(v,p));m.delete(r,d)})}}})}});function wGe(e,t,r,i,o,s){let l=t.getTypeChecker(),d=uz(e,r.all,l),p=fce(e,t,o,r);i.createNewFile(e,p,WGe(e,d,i,r,t,o,p,s)),rce(t,i,e.fileName,p,ev(o))}function WGe(e,t,r,i,o,s,l,d){let p=o.getTypeChecker(),h=n8(e.statements,Hf);if(e.externalModuleIndicator===void 0&&e.commonJsModuleIndicator===void 0&&t.oldImportsNeededByTargetFile.size===0)return cz(e,i.ranges,r),[...h,...i.all];let m=!OJ(l,o,s,!!e.commonJsModuleIndicator),v=Pp(e,d),E=sce(e,t.oldFileImportsFromTargetFile,l,o,s,m,v);E&&QN(r,e,E,!0,d),ice(e,i.all,r,t.unusedImportsFromOldFile,p),cz(e,i.ranges,r),oce(r,o,s,e,t.movedSymbols,l,v);let S=FGe(e,t.oldImportsNeededByTargetFile,t.targetFileImportsFromOldFile,r,p,o,s,m,v),A=lce(e,i.all,t.oldFileImportsFromTargetFile,m);return S.length&&A.length?[...h,...S,4,...A]:[...h,...S,...A]}function FGe(e,t,r,i,o,s,l,d,p){let h=[];for(let S of e.statements)dO(S,A=>{pn(h,uO(A,cO(A),C=>t.has(o.getSymbolAtLocation(C))))});let m,v=[],E=DI();return r.forEach(S=>{if(S.declarations)for(let A of S.declarations){if(!pz(A))continue;let C=uce(A);if(!C)continue;let R=vK(A);E(R)&&pce(e,R,C,i,d),Wr(A,2048)?m=C:v.push(C.text)}}),pn(h,dz(e,m,v,Ll(e.fileName),s,l,d,p)),h}var lO,hK,gK,zGe=pt({\"src/services/refactors/moveToNewFile.ts\"(){\"use strict\";Hr(),J_(),lO=\"Move to a new file\",hK=vo(f.Move_to_a_new_file),gK={name:lO,description:hK,kind:\"refactor.move.newFile\"},Ph(lO,{kinds:[gK.kind],getAvailableActions:function(t){let r=pO(t);return t.preferences.allowTextChangesInNewFiles&&r?[{name:lO,description:hK,actions:[gK]}]:t.preferences.provideRefactorNotApplicableReason?[{name:lO,description:hK,actions:[{...gK,notApplicableReason:vo(f.Selection_is_not_a_valid_statement_or_statements)}]}]:je},getEditsForAction:function(t,r){x.assert(r===lO,\"Wrong refactor invoked\");let i=x.checkDefined(pO(t));return{edits:er.ChangeTracker.with(t,s=>wGe(t.file,t.program,i,s,t.host,t.preferences)),renameFilename:void 0,renameLocation:void 0}}})}});function jIe(e){return{edits:[],renameFilename:void 0,renameLocation:void 0,notApplicableReason:e}}function BGe(e,t,r,i,o,s,l,d){let p=i.getTypeChecker();if(!l.fileExists(r))s.createNewFile(t,r,UIe(t,r,uz(t,o.all,p),s,o,i,l,d)),rce(i,s,t.fileName,r,ev(l));else{let h=x.checkDefined(i.getSourceFile(r)),m=ud.createImportAdder(h,e.program,e.preferences,e.host);UIe(t,h,uz(t,o.all,p,o9e(h,o.all,p)),s,o,i,l,d,m)}}function UIe(e,t,r,i,o,s,l,d,p){let h=s.getTypeChecker(),m=n8(e.statements,Hf);if(e.externalModuleIndicator===void 0&&e.commonJsModuleIndicator===void 0&&r.oldImportsNeededByTargetFile.size===0&&r.targetFileImportsFromOldFile.size===0&&typeof t==\"string\")return cz(e,o.ranges,i),[...m,...o.all];let v=typeof t==\"string\"?t:t.fileName,E=!OJ(v,s,l,!!e.commonJsModuleIndicator),S=Pp(e,d),A=sce(e,r.oldFileImportsFromTargetFile,v,s,l,E,S);A&&QN(i,e,A,!0,d),ice(e,o.all,i,r.unusedImportsFromOldFile,h),cz(e,o.ranges,i),oce(i,s,l,e,r.movedSymbols,v,S);let C=GGe(e,v,r.oldImportsNeededByTargetFile,r.targetFileImportsFromOldFile,i,h,s,l,E,S,p),R=lce(e,o.all,r.oldFileImportsFromTargetFile,E);return typeof t!=\"string\"&&(t.statements.length>0?i9e(i,s,R,t,o):i.insertNodesAtEndOfFile(t,R,!1),C.length>0&&QN(i,t,C,!0,d)),p&&p.writeFixes(i,S),C.length&&R.length?[...m,...C,4,...R]:[...m,...C,...R]}function GGe(e,t,r,i,o,s,l,d,p,h,m){let v=[];if(m)r.forEach((R,L)=>{try{m.addImportFromExportedSymbol(Kc(L,s),R)}catch{for(let G of e.statements)dO(G,U=>{pn(v,uO(U,P.createStringLiteral(cO(U).text),K=>r.has(s.getSymbolAtLocation(K))))})}});else{let R=l.getSourceFile(t);for(let L of e.statements)dO(L,G=>{var U;let K=cO(G),F=l.getCompilerOptions(),oe=l.getResolvedModuleFromModuleSpecifier(K),W=(U=oe?.resolvedModule)==null?void 0:U.resolvedFileName;if(W&&R){let $=i4(F,R,R.fileName,W,lT(l,d));pn(v,uO(G,CI($,h),de=>r.has(s.getSymbolAtLocation(de))))}else pn(v,uO(G,P.createStringLiteral(cO(G).text),$=>r.has(s.getSymbolAtLocation($))))})}let E=l.getSourceFile(t),S,A=[],C=DI();return i.forEach(R=>{if(R.declarations)for(let L of R.declarations){if(!pz(L))continue;let G=uce(L);if(!G)continue;let U=vK(L);C(U)&&pce(e,U,G,o,p),m&&s.isUnknownSymbol(R)?m.addImportFromExportedSymbol(Kc(R,s)):Wr(L,2048)?S=G:A.push(G.text)}}),E?pn(v,dz(E,S,A,e.fileName,l,d,p,h)):pn(v,dz(e,S,A,e.fileName,l,d,p,h))}function rce(e,t,r,i,o){let s=e.getCompilerOptions().configFile;if(!s)return;let l=Yo(wr(r,\"..\",i)),d=RM(s.fileName,l,o),p=s.statements[0]&&Vr(s.statements[0].expression,ma),h=p&&Dr(p.properties,m=>Hl(m)&&da(m.name)&&m.name.text===\"files\");h&&Bd(h.initializer)&&t.insertNodeInListAfter(s,Da(h.initializer.elements),P.createStringLiteral(d),h.initializer.elements)}function cz(e,t,r){for(let{first:i,afterLast:o}of t)r.deleteNodeRangeExcludingEnd(e,i,o)}function ice(e,t,r,i,o){for(let s of e.statements)To(t,s)||dO(s,l=>cce(e,l,r,d=>i.has(o.getSymbolAtLocation(d))))}function oce(e,t,r,i,o,s,l){let d=t.getTypeChecker();for(let p of t.getSourceFiles())if(p!==i)for(let h of p.statements)dO(h,m=>{if(d.getSymbolAtLocation(cO(m))!==i.symbol)return;let v=R=>{let L=Na(R.parent)?N3(d,R.parent):Kc(d.getSymbolAtLocation(R),d);return!!L&&o.has(L)};cce(p,m,e,v);let E=jv(Ur(i.path),s),S=i4(t.getCompilerOptions(),p,p.fileName,E,lT(t,r)),A=uO(m,CI(S,l),v);A&&e.insertNodeAfter(p,h,A);let C=VGe(m);C&&jGe(e,p,d,o,S,C,m,l)})}function VGe(e){switch(e.kind){case 272:return e.importClause&&e.importClause.namedBindings&&e.importClause.namedBindings.kind===274?e.importClause.namedBindings.name:void 0;case 271:return e.name;case 260:return Vr(e.name,Me);default:return x.assertNever(e,`Unexpected node kind ${e.kind}`)}}function jGe(e,t,r,i,o,s,l,d){let p=ud.moduleSpecifierToValidIdentifier(o,99),h=!1,m=[];if(fs.Core.eachSymbolReferenceInFile(s,r,t,v=>{Er(v.parent)&&(h=h||!!r.resolveName(p,v,-1,!0),i.has(r.getSymbolAtLocation(v.parent.name))&&m.push(v))}),m.length){let v=h?dT(p,t):p;for(let E of m)e.replaceNode(t,E,P.createIdentifier(v));e.insertNodeAfter(t,l,UGe(l,p,o,d))}}function UGe(e,t,r,i){let o=P.createIdentifier(t),s=CI(r,i);switch(e.kind){case 272:return P.createImportDeclaration(void 0,P.createImportClause(!1,void 0,P.createNamespaceImport(o)),s,void 0);case 271:return P.createImportEqualsDeclaration(void 0,!1,o,P.createExternalModuleReference(s));case 260:return P.createVariableDeclaration(o,void 0,void 0,ace(s));default:return x.assertNever(e,`Unexpected node kind ${e.kind}`)}}function ace(e){return P.createCallExpression(P.createIdentifier(\"require\"),void 0,[e])}function cO(e){return e.kind===272?e.moduleSpecifier:e.kind===271?e.moduleReference.expression:e.initializer.arguments[0]}function dO(e,t){if(cc(e))da(e.moduleSpecifier)&&t(e);else if(Nc(e))U_(e.moduleReference)&&Ga(e.moduleReference.expression)&&t(e);else if(cl(e))for(let r of e.declarationList.declarations)r.initializer&&Xd(r.initializer,!0)&&t(r)}function sce(e,t,r,i,o,s,l){let d,p=[];return t.forEach(h=>{h.escapedName===\"default\"?d=P.createIdentifier(R3(h)):p.push(h.name)}),dz(e,d,p,r,i,o,s,l)}function dz(e,t,r,i,o,s,l,d){let p=jv(Ur(e.path),i),h=i4(o.getCompilerOptions(),e,e.fileName,p,lT(o,s));if(l){let m=r.map(v=>P.createImportSpecifier(!1,void 0,P.createIdentifier(v)));return Qse(t,m,h,d)}else{x.assert(!t,\"No default import should exist\");let m=r.map(v=>P.createBindingElement(void 0,void 0,v));return m.length?HIe(P.createObjectBindingPattern(m),void 0,ace(CI(h,d))):void 0}}function HIe(e,t,r,i=2){return P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(e,void 0,t,r)],i))}function lce(e,t,r,i){return ta(t,o=>{if(JIe(o)&&!qIe(e,o,i)&&hce(o,s=>{var l;return r.has(x.checkDefined((l=Vr(s,qm))==null?void 0:l.symbol))})){let s=JGe(Fs(o),i);if(s)return s}return Fs(o)})}function qIe(e,t,r,i){var o;return r?!Cc(t)&&Wr(t,32)||!!(i&&e.symbol&&((o=e.symbol.exports)!=null&&o.has(i.escapedText))):!!e.symbol&&!!e.symbol.exports&&dce(t).some(s=>e.symbol.exports.has(Hs(s)))}function cce(e,t,r,i){switch(t.kind){case 272:HGe(e,t,r,i);break;case 271:i(t.name)&&r.delete(e,t);break;case 260:qGe(e,t,r,i);break;default:x.assertNever(t,`Unexpected import decl kind ${t.kind}`)}}function HGe(e,t,r,i){if(!t.importClause)return;let{name:o,namedBindings:s}=t.importClause,l=!o||i(o),d=!s||(s.kind===274?i(s.name):s.elements.length!==0&&s.elements.every(p=>i(p.name)));if(l&&d)r.delete(e,t);else if(o&&l&&r.delete(e,o),s){if(d)r.replaceNode(e,t.importClause,P.updateImportClause(t.importClause,t.importClause.isTypeOnly,o,void 0));else if(s.kind===275)for(let p of s.elements)i(p.name)&&r.delete(e,p)}}function qGe(e,t,r,i){let{name:o}=t;switch(o.kind){case 80:i(o)&&(t.initializer&&Xd(t.initializer,!0)?r.delete(e,yc(t.parent)&&yn(t.parent.declarations)===1?t.parent.parent:t):r.delete(e,o));break;case 207:break;case 206:if(o.elements.every(s=>Me(s.name)&&i(s.name)))r.delete(e,yc(t.parent)&&t.parent.declarations.length===1?t.parent.parent:t);else for(let s of o.elements)Me(s.name)&&i(s.name)&&r.delete(e,s.name);break}}function JIe(e){return x.assert(Li(e.parent),\"Node parent should be a SourceFile\"),QIe(e)||cl(e)}function JGe(e,t){return t?[KGe(e)]:XGe(e)}function KGe(e){let t=Yf(e)?ro([P.createModifier(95)],kE(e)):void 0;switch(e.kind){case 262:return P.updateFunctionDeclaration(e,t,e.asteriskToken,e.name,e.typeParameters,e.parameters,e.type,e.body);case 263:let r=ZS(e)?Hv(e):void 0;return P.updateClassDeclaration(e,ro(r,t),e.name,e.typeParameters,e.heritageClauses,e.members);case 243:return P.updateVariableStatement(e,t,e.declarationList);case 267:return P.updateModuleDeclaration(e,t,e.name,e.body);case 266:return P.updateEnumDeclaration(e,t,e.name,e.members);case 265:return P.updateTypeAliasDeclaration(e,t,e.name,e.typeParameters,e.type);case 264:return P.updateInterfaceDeclaration(e,t,e.name,e.typeParameters,e.heritageClauses,e.members);case 271:return P.updateImportEqualsDeclaration(e,t,e.isTypeOnly,e.name,e.moduleReference);case 244:return x.fail();default:return x.assertNever(e,`Unexpected declaration kind ${e.kind}`)}}function XGe(e){return[e,...dce(e).map(KIe)]}function KIe(e){return P.createExpressionStatement(P.createBinaryExpression(P.createPropertyAccessExpression(P.createIdentifier(\"exports\"),P.createIdentifier(e)),64,P.createIdentifier(e)))}function dce(e){switch(e.kind){case 262:case 263:return[e.name.text];case 243:return Fi(e.declarationList.declarations,t=>Me(t.name)?t.name.text:void 0);case 267:case 266:case 265:case 264:case 271:return je;case 244:return x.fail(\"Can't export an ExpressionStatement\");default:return x.assertNever(e,`Unexpected decl kind ${e.kind}`)}}function uO(e,t,r){switch(e.kind){case 272:{let i=e.importClause;if(!i)return;let o=i.name&&r(i.name)?i.name:void 0,s=i.namedBindings&&YGe(i.namedBindings,r);return o||s?P.createImportDeclaration(void 0,P.createImportClause(i.isTypeOnly,o,s),Fs(t),void 0):void 0}case 271:return r(e.name)?e:void 0;case 260:{let i=$Ge(e.name,r);return i?HIe(i,e.type,ace(t),e.parent.flags):void 0}default:return x.assertNever(e,`Unexpected import kind ${e.kind}`)}}function YGe(e,t){if(e.kind===274)return t(e.name)?e:void 0;{let r=e.elements.filter(i=>t(i.name));return r.length?P.createNamedImports(r):void 0}}function $Ge(e,t){switch(e.kind){case 80:return t(e)?e:void 0;case 207:return e;case 206:{let r=e.elements.filter(i=>i.propertyName||!Me(i.name)||t(i.name));return r.length?P.createObjectBindingPattern(r):void 0}}}function uce(e){return Cc(e)?Vr(e.expression.left.name,Me):Vr(e.name,Me)}function vK(e){switch(e.kind){case 260:return e.parent.parent;case 208:return vK(Fo(e.parent.parent,t=>yi(t)||Na(t)));default:return e}}function pce(e,t,r,i,o){if(!qIe(e,t,o,r))if(o)Cc(t)||i.insertExportModifier(e,t);else{let s=dce(t);s.length!==0&&i.insertNodesAfter(e,t,s.map(KIe))}}function fce(e,t,r,i){let o=t.getTypeChecker();if(i){let s=uz(e,i.all,o),l=Ur(e.fileName),d=jC(e.fileName);return wr(l,t9e(n9e(s.oldFileImportsFromTargetFile,s.movedSymbols),d,l,r))+d}return\"\"}function QGe(e){let{file:t}=e,r=T3(NI(e)),{statements:i}=t,o=Tl(i,h=>h.end>r.pos);if(o===-1)return;let s=i[o],l=ZIe(t,s);l&&(o=l.start);let d=Tl(i,h=>h.end>=r.end,o);d!==-1&&r.end<=i[d].getStart()&&d--;let p=ZIe(t,i[d]);return p&&(d=p.end),{toMove:i.slice(o,d===-1?i.length:d+1),afterLast:d===-1?void 0:i[d+1]}}function pO(e){let t=QGe(e);if(t===void 0)return;let r=[],i=[],{toMove:o,afterLast:s}=t;return Z5(o,ZGe,(l,d)=>{for(let p=l;p<d;p++)r.push(o[p]);i.push({first:o[l],afterLast:s})}),r.length===0?void 0:{all:r,ranges:i}}function mce(e){return Dr(e,t=>!!(t.transformFlags&2))}function ZGe(e){return!e9e(e)&&!Hf(e)}function e9e(e){switch(e.kind){case 272:return!0;case 271:return!Wr(e,32);case 243:return e.declarationList.declarations.every(t=>!!t.initializer&&Xd(t.initializer,!0));default:return!1}}function uz(e,t,r,i=new Set){let o=new Set,s=new Map,l=new Set,d=m(mce(t));d&&s.set(d,!1);for(let v of t)hce(v,E=>{o.add(x.checkDefined(Cc(E)?r.getSymbolAtLocation(E.expression.left):E.symbol,\"Need a symbol here\"))});let p=new Set;for(let v of t)_ce(v,r,(E,S)=>{if(E.declarations){if(i.has(Kc(E,r))){p.add(E);return}for(let A of E.declarations)if(XIe(A)){let C=s.get(E);s.set(E,(C===void 0||C)&&S)}else pz(A)&&r9e(A)===e&&!o.has(E)&&l.add(E)}});for(let v of s.keys())p.add(v);let h=new Set;for(let v of e.statements)To(t,v)||(d&&v.transformFlags&2&&p.delete(d),_ce(v,r,E=>{o.has(E)&&h.add(E),p.delete(E)}));return{movedSymbols:o,targetFileImportsFromOldFile:l,oldFileImportsFromTargetFile:h,oldImportsNeededByTargetFile:s,unusedImportsFromOldFile:p};function m(v){if(v===void 0)return;let E=r.getJsxNamespace(v),S=r.resolveName(E,v,1920,!0);return S&&ct(S.declarations,XIe)?S:void 0}}function t9e(e,t,r,i){let o=e;for(let s=1;;s++){let l=wr(r,o+t);if(!i.fileExists(l))return o;o=`${e}.${s}`}}function n9e(e,t){return O_(e,R3)||O_(t,R3)||\"newFile\"}function _ce(e,t,r){e.forEachChild(function i(o){if(Me(o)&&!ng(o)){let s=t.getSymbolAtLocation(o);s&&r(s,Pb(o))}else o.forEachChild(i)})}function hce(e,t){switch(e.kind){case 262:case 263:case 267:case 266:case 265:case 264:case 271:return t(e);case 243:return ml(e.declarationList.declarations,r=>$Ie(r.name,t));case 244:{let{expression:r}=e;return Zn(r)&&hl(r)===1?t(e):void 0}}}function XIe(e){switch(e.kind){case 271:case 276:case 273:case 274:return!0;case 260:return YIe(e);case 208:return yi(e.parent.parent)&&YIe(e.parent.parent);default:return!1}}function YIe(e){return Li(e.parent.parent.parent)&&!!e.initializer&&Xd(e.initializer,!0)}function pz(e){return QIe(e)&&Li(e.parent)||yi(e)&&Li(e.parent.parent.parent)}function r9e(e){return yi(e)?e.parent.parent.parent:e.parent}function $Ie(e,t){switch(e.kind){case 80:return t(Fo(e.parent,r=>yi(r)||Na(r)));case 207:case 206:return ml(e.elements,r=>vc(r)?void 0:$Ie(r.name,t));default:return x.assertNever(e,`Unexpected name kind ${e.kind}`)}}function QIe(e){switch(e.kind){case 262:case 263:case 267:case 266:case 265:case 264:case 271:return!0;default:return!1}}function i9e(e,t,r,i,o){var s;let l=new Set,d=(s=i.symbol)==null?void 0:s.exports;if(d){let h=t.getTypeChecker(),m=new Map;for(let v of o.all)JIe(v)&&Wr(v,32)&&hce(v,E=>{var S;let A=qm(E)?(S=d.get(E.symbol.escapedName))==null?void 0:S.declarations:void 0,C=ml(A,R=>xl(R)?R:Ed(R)?Vr(R.parent.parent,xl):void 0);C&&C.moduleSpecifier&&m.set(C,(m.get(C)||new Set).add(E))});for(let[v,E]of bo(m))if(v.exportClause&&$p(v.exportClause)&&yn(v.exportClause.elements)){let S=v.exportClause.elements,A=Cr(S,C=>Dr(Kc(C.symbol,h).declarations,R=>pz(R)&&E.has(R))===void 0);if(yn(A)===0){e.deleteNode(i,v),l.add(v);continue}yn(A)<yn(S)&&e.replaceNode(i,v,P.updateExportDeclaration(v,v.modifiers,v.isTypeOnly,P.updateNamedExports(v.exportClause,P.createNodeArray(A,S.hasTrailingComma)),v.moduleSpecifier,v.attributes))}}let p=hA(i.statements,h=>xl(h)&&!!h.moduleSpecifier&&!l.has(h));p?e.insertNodesBefore(i,p,r,!0):e.insertNodesAfter(i,i.statements[i.statements.length-1],r)}function ZIe(e,t){if(hs(t)){let r=t.symbol.declarations;if(r===void 0||yn(r)<=1||!To(r,t))return;let i=r[0],o=r[yn(r)-1],s=Fi(r,p=>Nn(p)===e&&Di(p)?p:void 0),l=Tl(e.statements,p=>p.end>=o.end),d=Tl(e.statements,p=>p.end>=i.end);return{toMove:s,start:d,end:l}}}function o9e(e,t,r){let i=new Set;for(let o of e.imports){let s=yC(o);if(cc(s)&&s.importClause&&s.importClause.namedBindings&&sg(s.importClause.namedBindings))for(let l of s.importClause.namedBindings.elements){let d=r.getSymbolAtLocation(l.propertyName||l.name);d&&i.add(Kc(d,r))}if(AW(s.parent)&&Rf(s.parent.name))for(let l of s.parent.name.elements){let d=r.getSymbolAtLocation(l.propertyName||l.name);d&&i.add(Kc(d,r))}}for(let o of t)_ce(o,r,s=>{let l=Kc(s,r);l.valueDeclaration&&Nn(l.valueDeclaration)===e&&i.add(l)});return i}var fz,yK,bK,a9e=pt({\"src/services/refactors/moveToFile.ts\"(){\"use strict\";Soe(),Hr(),MIe(),fz=\"Move to file\",yK=vo(f.Move_to_file),bK={name:\"Move to file\",description:yK,kind:\"refactor.move.file\"},Ph(fz,{kinds:[bK.kind],getAvailableActions:function(t,r){let i=pO(t);return r?t.preferences.allowTextChangesInNewFiles&&i?[{name:fz,description:yK,actions:[bK]}]:t.preferences.provideRefactorNotApplicableReason?[{name:fz,description:yK,actions:[{...bK,notApplicableReason:vo(f.Selection_is_not_a_valid_statement_or_statements)}]}]:je:je},getEditsForAction:function(t,r,i){x.assert(r===fz,\"Wrong refactor invoked\");let o=x.checkDefined(pO(t)),{host:s,program:l}=t;x.assert(i,\"No interactive refactor arguments available\");let d=i.targetFile;return QE(d)||qA(d)?s.fileExists(d)&&l.getSourceFile(d)===void 0?jIe(vo(f.Cannot_move_statements_to_the_selected_file)):{edits:er.ChangeTracker.with(t,h=>BGe(t,t.file,i.targetFile,t.program,o,h,t.host,t.preferences)),renameFilename:void 0,renameLocation:void 0}:jIe(vo(f.Cannot_move_to_file_selected_file_is_invalid))}})}});function s9e(e){let{file:t,startPosition:r,program:i}=e;return t1e(t,r,i)?[{name:EK,description:gce,actions:[vce]}]:je}function l9e(e){let{file:t,startPosition:r,program:i}=e,o=t1e(t,r,i);if(!o)return;let s=i.getTypeChecker(),l=o[o.length-1],d=l;switch(l.kind){case 173:{d=P.updateMethodSignature(l,l.modifiers,l.name,l.questionToken,l.typeParameters,h(o),l.type);break}case 174:{d=P.updateMethodDeclaration(l,l.modifiers,l.asteriskToken,l.name,l.questionToken,l.typeParameters,h(o),l.type,l.body);break}case 179:{d=P.updateCallSignature(l,l.typeParameters,h(o),l.type);break}case 176:{d=P.updateConstructorDeclaration(l,l.modifiers,h(o),l.body);break}case 180:{d=P.updateConstructSignature(l,l.typeParameters,h(o),l.type);break}case 262:{d=P.updateFunctionDeclaration(l,l.modifiers,l.asteriskToken,l.name,l.typeParameters,h(o),l.type,l.body);break}default:return x.failBadSyntaxKind(l,\"Unhandled signature kind in overload list conversion refactoring\")}if(d===l)return;return{renameFilename:void 0,renameLocation:void 0,edits:er.ChangeTracker.with(e,E=>{E.replaceNodeRange(t,o[0],o[o.length-1],d)})};function h(E){let S=E[E.length-1];return hs(S)&&S.body&&(E=E.slice(0,E.length-1)),P.createNodeArray([P.createParameterDeclaration(void 0,P.createToken(26),\"args\",void 0,P.createUnionTypeNode(nn(E,m)))])}function m(E){let S=nn(E.parameters,v);return $n(P.createTupleTypeNode(S),ct(S,A=>!!yn(Mx(A)))?0:1)}function v(E){x.assert(Me(E.name));let S=Ze(P.createNamedTupleMember(E.dotDotDotToken,E.name,E.questionToken,E.type||P.createKeywordTypeNode(133)),E),A=E.symbol&&E.symbol.getDocumentationComment(s);if(A){let C=yO(A);C.length&&Lb(S,[{text:`*\n${C.split(`\n`).map(R=>` * ${R}`).join(`\n`)}\n `,kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return S}}function e1e(e){switch(e.kind){case 173:case 174:case 179:case 176:case 180:case 262:return!0}return!1}function t1e(e,t,r){let i=Hi(e,t),o=Rn(i,e1e);if(!o||hs(o)&&o.body&&Wk(o.body,t))return;let s=r.getTypeChecker(),l=o.symbol;if(!l)return;let d=l.declarations;if(yn(d)<=1||!ji(d,E=>Nn(E)===e)||!e1e(d[0]))return;let p=d[0].kind;if(!ji(d,E=>E.kind===p))return;let h=d;if(ct(h,E=>!!E.typeParameters||ct(E.parameters,S=>!!S.modifiers||!Me(S.name))))return;let m=Fi(h,E=>s.getSignatureFromDeclaration(E));if(yn(m)!==yn(d))return;let v=s.getReturnTypeOfSignature(m[0]);if(ji(m,E=>s.getReturnTypeOfSignature(E)===v))return h}var EK,gce,vce,c9e=pt({\"src/services/refactors/convertOverloadListToSingleSignature.ts\"(){\"use strict\";Hr(),J_(),EK=\"Convert overload list to single signature\",gce=vo(f.Convert_overload_list_to_single_signature),vce={name:EK,description:gce,kind:\"refactor.rewrite.function.overloadList\"},Ph(EK,{kinds:[vce.kind],getEditsForAction:l9e,getAvailableActions:s9e})}});function d9e(e){let{file:t,startPosition:r,triggerReason:i}=e,o=n1e(t,r,i===\"invoked\");return o?ug(o)?e.preferences.provideRefactorNotApplicableReason?[{name:SK,description:yce,actions:[{...mz,notApplicableReason:o.error},{...fO,notApplicableReason:o.error}]}]:je:[{name:SK,description:yce,actions:[o.addBraces?mz:fO]}]:je}function u9e(e,t){let{file:r,startPosition:i}=e,o=n1e(r,i);x.assert(o&&!ug(o),\"Expected applicable refactor info\");let{expression:s,returnStatement:l,func:d}=o,p;if(t===mz.name){let m=P.createReturnStatement(s);p=P.createBlock([m],!0),bR(s,m,r,3,!0)}else if(t===fO.name&&l){let m=s||P.createVoidZero();p=k3(m)?P.createParenthesizedExpression(m):m,Qk(l,p,r,3,!1),bR(l,p,r,3,!1),nP(l,p,r,3,!1)}else x.fail(\"invalid action\");return{renameFilename:void 0,renameLocation:void 0,edits:er.ChangeTracker.with(e,m=>{m.replaceNode(r,d.body,p)})}}function n1e(e,t,r=!0,i){let o=Hi(e,t),s=cp(o);if(!s)return{error:vo(f.Could_not_find_a_containing_arrow_function)};if(!gs(s))return{error:vo(f.Containing_function_is_not_an_arrow_function)};if(!(!Np(s,o)||Np(s.body,o)&&!r)){if(Jb(mz.kind,i)&&lt(s.body))return{func:s,addBraces:!0,expression:s.body};if(Jb(fO.kind,i)&&Do(s.body)&&s.body.statements.length===1){let l=Ta(s.body.statements);if(Kf(l)){let d=l.expression&&ma(Ax(l.expression,!1))?P.createParenthesizedExpression(l.expression):l.expression;return{func:s,addBraces:!1,expression:d,returnStatement:l}}}}}var SK,yce,mz,fO,p9e=pt({\"src/services/refactors/addOrRemoveBracesToArrowFunction.ts\"(){\"use strict\";Hr(),J_(),SK=\"Add or remove braces in an arrow function\",yce=vo(f.Add_or_remove_braces_in_an_arrow_function),mz={name:\"Add braces to arrow function\",description:vo(f.Add_braces_to_arrow_function),kind:\"refactor.rewrite.arrow.braces.add\"},fO={name:\"Remove braces from arrow function\",description:vo(f.Remove_braces_from_arrow_function),kind:\"refactor.rewrite.arrow.braces.remove\"},Ph(SK,{kinds:[fO.kind],getEditsForAction:u9e,getAvailableActions:d9e})}}),f9e={},m9e=pt({\"src/services/_namespaces/ts.refactor.addOrRemoveBracesToArrowFunction.ts\"(){\"use strict\";c9e(),p9e()}});function _9e(e){let{file:t,startPosition:r,program:i,kind:o}=e,s=i1e(t,r,i);if(!s)return je;let{selectedVariableDeclaration:l,func:d}=s,p=[],h=[];if(Jb(_O.kind,o)){let m=l||gs(d)&&yi(d.parent)?void 0:vo(f.Could_not_convert_to_named_function);m?h.push({..._O,notApplicableReason:m}):p.push(_O)}if(Jb(mO.kind,o)){let m=!l&&gs(d)?void 0:vo(f.Could_not_convert_to_anonymous_function);m?h.push({...mO,notApplicableReason:m}):p.push(mO)}if(Jb(hO.kind,o)){let m=ps(d)?void 0:vo(f.Could_not_convert_to_arrow_function);m?h.push({...hO,notApplicableReason:m}):p.push(hO)}return[{name:bce,description:s1e,actions:p.length===0&&e.preferences.provideRefactorNotApplicableReason?h:p}]}function h9e(e,t){let{file:r,startPosition:i,program:o}=e,s=i1e(r,i,o);if(!s)return;let{func:l}=s,d=[];switch(t){case mO.name:d.push(...b9e(e,l));break;case _O.name:let p=y9e(l);if(!p)return;d.push(...E9e(e,l,p));break;case hO.name:if(!ps(l))return;d.push(...S9e(e,l));break;default:return x.fail(\"invalid action\")}return{renameFilename:void 0,renameLocation:void 0,edits:d}}function r1e(e){let t=!1;return e.forEachChild(function r(i){if(mR(i)){t=!0;return}!Kr(i)&&!Ql(i)&&!ps(i)&&Ao(i,r)}),t}function i1e(e,t,r){let i=Hi(e,t),o=r.getTypeChecker(),s=v9e(e,o,i.parent);if(s&&!r1e(s.body)&&!o.containsArgumentsReference(s))return{selectedVariableDeclaration:!0,func:s};let l=cp(i);if(l&&(ps(l)||gs(l))&&!Np(l.body,i)&&!r1e(l.body)&&!o.containsArgumentsReference(l))return ps(l)&&a1e(e,o,l)?void 0:{selectedVariableDeclaration:!1,func:l}}function g9e(e){return yi(e)||yc(e)&&e.declarations.length===1}function v9e(e,t,r){if(!g9e(r))return;let o=(yi(r)?r:Ta(r.declarations)).initializer;if(o&&(gs(o)||ps(o)&&!a1e(e,t,o)))return o}function o1e(e){if(lt(e)){let t=P.createReturnStatement(e),r=e.getSourceFile();return Ze(t,e),qu(t),Qk(e,t,r,void 0,!0),P.createBlock([t],!0)}else return e}function y9e(e){let t=e.parent;if(!yi(t)||!mC(t))return;let r=t.parent,i=r.parent;if(!(!yc(r)||!cl(i)||!Me(t.name)))return{variableDeclaration:t,variableDeclarationList:r,statement:i,name:t.name}}function b9e(e,t){let{file:r}=e,i=o1e(t.body),o=P.createFunctionExpression(t.modifiers,t.asteriskToken,void 0,t.typeParameters,t.parameters,t.type,i);return er.ChangeTracker.with(e,s=>s.replaceNode(r,t,o))}function E9e(e,t,r){let{file:i}=e,o=o1e(t.body),{variableDeclaration:s,variableDeclarationList:l,statement:d,name:p}=r;TJ(d);let h=gb(s)&32|Wd(t),m=P.createModifiersFromModifierFlags(h),v=P.createFunctionDeclaration(yn(m)?m:void 0,t.asteriskToken,p,t.typeParameters,t.parameters,t.type,o);return l.declarations.length===1?er.ChangeTracker.with(e,E=>E.replaceNode(i,d,v)):er.ChangeTracker.with(e,E=>{E.delete(i,s),E.insertNodeAfter(i,d,v)})}function S9e(e,t){let{file:r}=e,o=t.body.statements[0],s;T9e(t.body,o)?(s=o.expression,qu(s),cT(o,s)):s=t.body;let l=P.createArrowFunction(t.modifiers,t.typeParameters,t.parameters,t.type,P.createToken(39),s);return er.ChangeTracker.with(e,d=>d.replaceNode(r,t,l))}function T9e(e,t){return e.statements.length===1&&Kf(t)&&!!t.expression}function a1e(e,t,r){return!!r.name&&fs.Core.isSymbolReferencedInFile(r.name,t,e)}var bce,s1e,mO,_O,hO,A9e=pt({\"src/services/refactors/convertArrowFunctionOrFunctionExpression.ts\"(){\"use strict\";Hr(),J_(),bce=\"Convert arrow function or function expression\",s1e=vo(f.Convert_arrow_function_or_function_expression),mO={name:\"Convert to anonymous function\",description:vo(f.Convert_to_anonymous_function),kind:\"refactor.rewrite.function.anonymous\"},_O={name:\"Convert to named function\",description:vo(f.Convert_to_named_function),kind:\"refactor.rewrite.function.named\"},hO={name:\"Convert to arrow function\",description:vo(f.Convert_to_arrow_function),kind:\"refactor.rewrite.function.arrow\"},Ph(bce,{kinds:[mO.kind,_O.kind,hO.kind],getEditsForAction:h9e,getAvailableActions:_9e})}}),I9e={},x9e=pt({\"src/services/_namespaces/ts.refactor.convertArrowFunctionOrFunctionExpression.ts\"(){\"use strict\";A9e()}});function R9e(e){let{file:t,startPosition:r}=e;return wd(t)||!d1e(t,r,e.program.getTypeChecker())?je:[{name:hz,description:Ace,actions:[Ice]}]}function D9e(e,t){x.assert(t===hz,\"Unexpected action name\");let{file:r,startPosition:i,program:o,cancellationToken:s,host:l}=e,d=d1e(r,i,o.getTypeChecker());if(!d||!s)return;let p=N9e(d,o,s);return p.valid?{renameFilename:void 0,renameLocation:void 0,edits:er.ChangeTracker.with(e,m=>C9e(r,o,l,m,d,p))}:{edits:[]}}function C9e(e,t,r,i,o,s){let l=s.signature,d=nn(m1e(o,t,r),m=>Fs(m));if(l){let m=nn(m1e(l,t,r),v=>Fs(v));h(l,m)}h(o,d);let p=zD(s.functionCalls,(m,v)=>Ms(m.pos,v.pos));for(let m of p)if(m.arguments&&m.arguments.length){let v=Fs(B9e(o,m.arguments),!0);i.replaceNodeRange(Nn(m),Ta(m.arguments),Da(m.arguments),v,{leadingTriviaOption:er.LeadingTriviaOption.IncludeAll,trailingTriviaOption:er.TrailingTriviaOption.Include})}function h(m,v){i.replaceNodeRangeWithNodes(e,Ta(m.parameters),Da(m.parameters),v,{joiner:\", \",indentation:0,leadingTriviaOption:er.LeadingTriviaOption.IncludeAll,trailingTriviaOption:er.TrailingTriviaOption.Include})}}function N9e(e,t,r){let i=V9e(e),o=ll(e)?G9e(e):[],s=NE([...i,...o],Hg),l=t.getTypeChecker(),d=ta(s,v=>fs.getReferenceEntriesForNode(-1,v,t,t.getSourceFiles(),r)),p=h(d);return ji(p.declarations,v=>To(s,v))||(p.valid=!1),p;function h(v){let E={accessExpressions:[],typeUsages:[]},S={functionCalls:[],declarations:[],classReferences:E,valid:!0},A=nn(i,m),C=nn(o,m),R=ll(e),L=nn(i,G=>Ece(G,l));for(let G of v){if(G.kind===fs.EntryKind.Span){S.valid=!1;continue}if(To(L,m(G.node))){if(k9e(G.node.parent)){S.signature=G.node.parent;continue}let K=c1e(G);if(K){S.functionCalls.push(K);continue}}let U=Ece(G.node,l);if(U&&To(L,U)){let K=Sce(G);if(K){S.declarations.push(K);continue}}if(To(A,m(G.node))||KN(G.node)){if(l1e(G))continue;let F=Sce(G);if(F){S.declarations.push(F);continue}let oe=c1e(G);if(oe){S.functionCalls.push(oe);continue}}if(R&&To(C,m(G.node))){if(l1e(G))continue;let F=Sce(G);if(F){S.declarations.push(F);continue}let oe=P9e(G);if(oe){E.accessExpressions.push(oe);continue}if(Zl(e.parent)){let W=M9e(G);if(W){E.typeUsages.push(W);continue}}}S.valid=!1}return S}function m(v){let E=l.getSymbolAtLocation(v);return E&&EJ(E,l)}}function Ece(e,t){let r=bO(e);if(r){let i=t.getContextualTypeForObjectLiteralElement(r),o=i?.getSymbol();if(o&&!(tl(o)&6))return o}}function l1e(e){let t=e.node;if(Iu(t.parent)||V_(t.parent)||Nc(t.parent)||my(t.parent)||Ed(t.parent)||dl(t.parent))return t}function Sce(e){if(bd(e.node.parent))return e.node}function c1e(e){if(e.node.parent){let t=e.node,r=t.parent;switch(r.kind){case 213:case 214:let i=Vr(r,Hm);if(i&&i.expression===t)return i;break;case 211:let o=Vr(r,Er);if(o&&o.parent&&o.name===t){let l=Vr(o.parent,Hm);if(l&&l.expression===o)return l}break;case 212:let s=Vr(r,Rs);if(s&&s.parent&&s.argumentExpression===t){let l=Vr(s.parent,Hm);if(l&&l.expression===s)return l}break}}}function P9e(e){if(e.node.parent){let t=e.node,r=t.parent;switch(r.kind){case 211:let i=Vr(r,Er);if(i&&i.expression===t)return i;break;case 212:let o=Vr(r,Rs);if(o&&o.expression===t)return o;break}}}function M9e(e){let t=e.node;if(aT(t)===2||HW(t.parent))return t}function d1e(e,t,r){let i=_R(e,t),o=Vte(i);if(!L9e(i)&&o&&O9e(o,r)&&Np(o,i)&&!(o.body&&Np(o.body,i)))return o}function L9e(e){let t=Rn(e,q1);if(t){let r=Rn(t,i=>!q1(i));return!!r&&hs(r)}return!1}function k9e(e){return B_(e)&&(Gd(e.parent)||ju(e.parent))}function O9e(e,t){var r;if(!w9e(e.parameters,t))return!1;switch(e.kind){case 262:return u1e(e)&&_z(e,t);case 174:if(ma(e.parent)){let i=Ece(e.name,t);return((r=i?.declarations)==null?void 0:r.length)===1&&_z(e,t)}return _z(e,t);case 176:return Zl(e.parent)?u1e(e.parent)&&_z(e,t):p1e(e.parent.parent)&&_z(e,t);case 218:case 219:return p1e(e.parent)}return!1}function _z(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function u1e(e){return e.name?!0:!!gR(e,90)}function w9e(e,t){return F9e(e)>=_1e&&ji(e,r=>W9e(r,t))}function W9e(e,t){if(gh(e)){let r=t.getTypeAtLocation(e);if(!t.isArrayType(r)&&!t.isTupleType(r))return!1}return!e.modifiers&&Me(e.name)}function p1e(e){return yi(e)&&Z1(e)&&Me(e.name)&&!e.type}function Tce(e){return e.length>0&&mR(e[0].name)}function F9e(e){return Tce(e)?e.length-1:e.length}function f1e(e){return Tce(e)&&(e=P.createNodeArray(e.slice(1),e.hasTrailingComma)),e}function z9e(e,t){return Me(t)&&Ef(t)===e?P.createShorthandPropertyAssignment(e):P.createPropertyAssignment(e,t)}function B9e(e,t){let r=f1e(e.parameters),i=gh(Da(r)),o=i?t.slice(0,r.length-1):t,s=nn(o,(d,p)=>{let h=TK(r[p]),m=z9e(h,d);return qu(m.name),Hl(m)&&qu(m.initializer),cT(d,m),m});if(i&&t.length>=r.length){let d=t.slice(r.length-1),p=P.createPropertyAssignment(TK(Da(r)),P.createArrayLiteralExpression(d));s.push(p)}return P.createObjectLiteralExpression(s,!1)}function m1e(e,t,r){let i=t.getTypeChecker(),o=f1e(e.parameters),s=nn(o,m),l=P.createObjectBindingPattern(s),d=v(o),p;ji(o,A)&&(p=P.createObjectLiteralExpression());let h=P.createParameterDeclaration(void 0,void 0,l,void 0,d,p);if(Tce(e.parameters)){let C=e.parameters[0],R=P.createParameterDeclaration(void 0,void 0,C.name,void 0,C.type);return qu(R.name),cT(C.name,R.name),C.type&&(qu(R.type),cT(C.type,R.type)),P.createNodeArray([R,h])}return P.createNodeArray([h]);function m(C){let R=P.createBindingElement(void 0,void 0,TK(C),gh(C)&&A(C)?P.createArrayLiteralExpression():C.initializer);return qu(R),C.initializer&&R.initializer&&cT(C.initializer,R.initializer),R}function v(C){let R=nn(C,E);return e_(P.createTypeLiteralNode(R),1)}function E(C){let R=C.type;!R&&(C.initializer||gh(C))&&(R=S(C));let L=P.createPropertySignature(void 0,TK(C),A(C)?P.createToken(58):C.questionToken,R);return qu(L),cT(C.name,L.name),C.type&&L.type&&cT(C.type,L.type),L}function S(C){let R=i.getTypeAtLocation(C);return iP(R,C,t,r)}function A(C){if(gh(C)){let R=i.getTypeAtLocation(C);return!i.isTupleType(R)}return i.isOptionalParameter(C)}}function TK(e){return Ef(e.name)}function G9e(e){switch(e.parent.kind){case 263:let t=e.parent;return t.name?[t.name]:[x.checkDefined(gR(t,90),\"Nameless class declaration should be a default export\")];case 231:let i=e.parent,o=e.parent.parent,s=i.name;return s?[s,o.name]:[o.name]}}function V9e(e){switch(e.kind){case 262:return e.name?[e.name]:[x.checkDefined(gR(e,90),\"Nameless function declaration should be a default export\")];case 174:return[e.name];case 176:let r=x.checkDefined(Ya(e,137,e.getSourceFile()),\"Constructor declaration should have constructor keyword\");return e.parent.kind===231?[e.parent.parent.name,r]:[r];case 219:return[e.parent.name];case 218:return e.name?[e.name,e.parent.name]:[e.parent.name];default:return x.assertNever(e,`Unexpected function declaration kind ${e.kind}`)}}var hz,_1e,Ace,Ice,j9e=pt({\"src/services/refactors/convertParamsToDestructuredObject.ts\"(){\"use strict\";Hr(),J_(),hz=\"Convert parameters to destructured object\",_1e=1,Ace=vo(f.Convert_parameters_to_destructured_object),Ice={name:hz,description:Ace,kind:\"refactor.rewrite.parameters.toDestructured\"},Ph(hz,{kinds:[Ice.kind],getEditsForAction:D9e,getAvailableActions:R9e})}}),U9e={},H9e=pt({\"src/services/_namespaces/ts.refactor.convertParamsToDestructuredObject.ts\"(){\"use strict\";j9e()}});function q9e(e){let{file:t,startPosition:r}=e,i=h1e(t,r),o=xce(i),s=da(o),l={name:AK,description:IK,actions:[]};return s&&e.triggerReason!==\"invoked\"?je:bh(o)&&(s||Zn(o)&&Rce(o).isValidConcatenation)?(l.actions.push(xK),[l]):e.preferences.provideRefactorNotApplicableReason?(l.actions.push({...xK,notApplicableReason:vo(f.Can_only_convert_string_concatenations_and_string_literals)}),[l]):je}function h1e(e,t){let r=Hi(e,t),i=xce(r);return!Rce(i).isValidConcatenation&&uu(i.parent)&&Zn(i.parent.parent)?i.parent.parent:r}function J9e(e,t){let{file:r,startPosition:i}=e,o=h1e(r,i);switch(t){case IK:return{edits:K9e(e,o)};default:return x.fail(\"invalid action\")}}function K9e(e,t){let r=xce(t),i=e.file,o=$9e(Rce(r),i),s=mb(i.text,r.end);if(s){let l=s[s.length-1],d={pos:s[0].pos,end:l.end};return er.ChangeTracker.with(e,p=>{p.deleteRange(i,d),p.replaceNode(i,r,o)})}else return er.ChangeTracker.with(e,l=>l.replaceNode(i,r,o))}function X9e(e){return!(e.operatorToken.kind===64||e.operatorToken.kind===65)}function xce(e){return Rn(e.parent,r=>{switch(r.kind){case 211:case 212:return!1;case 228:case 226:return!(Zn(r.parent)&&X9e(r.parent));default:return\"quit\"}})||e}function Rce(e){let t=l=>{if(!Zn(l))return{nodes:[l],operators:[],validOperators:!0,hasString:da(l)||eI(l)};let{nodes:d,operators:p,hasString:h,validOperators:m}=t(l.left);if(!(h||da(l.right)||h6(l.right)))return{nodes:[l],operators:[],hasString:!1,validOperators:!0};let v=l.operatorToken.kind===40,E=m&&v;return d.push(l.right),p.push(l.operatorToken),{nodes:d,operators:p,hasString:!0,validOperators:E}},{nodes:r,operators:i,validOperators:o,hasString:s}=t(e);return{nodes:r,operators:i,isValidConcatenation:o&&s}}function Y9e(e){return e.replace(/\\\\.|[$`]/g,t=>t[0]===\"\\\\\"?t:\"\\\\\"+t)}function g1e(e){let t=tI(e)||hj(e)?-2:-1;return Vl(e).slice(1,t)}function v1e(e,t){let r=[],i=\"\",o=\"\";for(;e<t.length;){let s=t[e];if(Ga(s))i+=s.text,o+=Y9e(Vl(s).slice(1,-1)),r.push(e),e++;else if(h6(s)){i+=s.head.text,o+=g1e(s.head);break}else break}return[e,i,o,r]}function $9e({nodes:e,operators:t},r){let i=b1e(t,r),o=E1e(e,r,i),[s,l,d,p]=v1e(0,e);if(s===e.length){let v=P.createNoSubstitutionTemplateLiteral(l,d);return o(p,v),v}let h=[],m=P.createTemplateHead(l,d);o(p,m);for(let v=s;v<e.length;v++){let E=Q9e(e[v]);i(v,E);let[S,A,C,R]=v1e(v+1,e);v=S-1;let L=v===e.length-1;if(h6(E)){let G=nn(E.templateSpans,(U,K)=>{y1e(U);let F=K===E.templateSpans.length-1,oe=U.literal.text+(F?A:\"\"),W=g1e(U.literal)+(F?C:\"\");return P.createTemplateSpan(U.expression,L&&F?P.createTemplateTail(oe,W):P.createTemplateMiddle(oe,W))});h.push(...G)}else{let G=L?P.createTemplateTail(A,C):P.createTemplateMiddle(A,C);o(R,G),h.push(P.createTemplateSpan(E,G))}}return P.createTemplateExpression(m,h)}function y1e(e){let t=e.getSourceFile();nP(e,e.expression,t,3,!1),Qk(e.expression,e.expression,t,3,!1)}function Q9e(e){return uu(e)&&(y1e(e),e=e.expression),e}var AK,IK,xK,b1e,E1e,Z9e=pt({\"src/services/refactors/convertStringOrTemplateLiteral.ts\"(){\"use strict\";Hr(),J_(),AK=\"Convert to template string\",IK=vo(f.Convert_to_template_string),xK={name:AK,description:IK,kind:\"refactor.rewrite.string\"},Ph(AK,{kinds:[xK.kind],getEditsForAction:J9e,getAvailableActions:q9e}),b1e=(e,t)=>(r,i)=>{r<e.length&&nP(e[r],i,t,3,!1)},E1e=(e,t,r)=>(i,o)=>{for(;i.length>0;){let s=i.shift();nP(e[s],o,t,3,!1),r(s,o)}}}}),eVe={},tVe=pt({\"src/services/_namespaces/ts.refactor.convertStringOrTemplateLiteral.ts\"(){\"use strict\";Z9e()}});function nVe(e){let t=S1e(e,e.triggerReason===\"invoked\");return t?ug(t)?e.preferences.provideRefactorNotApplicableReason?[{name:gz,description:CK,actions:[{...NK,notApplicableReason:t.error}]}]:je:[{name:gz,description:CK,actions:[NK]}]:je}function rVe(e,t){let r=S1e(e);return x.assert(r&&!ug(r),\"Expected applicable refactor info\"),{edits:er.ChangeTracker.with(e,o=>uVe(e.file,e.program.getTypeChecker(),o,r,t)),renameFilename:void 0,renameLocation:void 0}}function RK(e){return Zn(e)||Fx(e)}function iVe(e){return Cc(e)||Kf(e)||cl(e)}function DK(e){return RK(e)||iVe(e)}function S1e(e,t=!0){let{file:r,program:i}=e,o=NI(e),s=o.length===0;if(s&&!t)return;let l=Hi(r,o.start),d=v3(r,o.start+o.length),p=Gl(l.pos,d&&d.end>=l.pos?d.getEnd():l.getEnd()),h=s?cVe(l):lVe(l,p),m=h&&DK(h)?dVe(h):void 0;if(!m)return{error:vo(f.Could_not_find_convertible_access_expression)};let v=i.getTypeChecker();return Fx(m)?oVe(m,v):aVe(m)}function oVe(e,t){let r=e.condition,i=Cce(e.whenTrue);if(!i||t.isNullableType(t.getTypeAtLocation(i)))return{error:vo(f.Could_not_find_convertible_access_expression)};if((Er(r)||Me(r))&&Dce(r,i.expression))return{finalExpression:i,occurrences:[r],expression:e};if(Zn(r)){let o=T1e(i.expression,r);return o?{finalExpression:i,occurrences:o,expression:e}:{error:vo(f.Could_not_find_matching_access_expressions)}}}function aVe(e){if(e.operatorToken.kind!==56)return{error:vo(f.Can_only_convert_logical_AND_access_chains)};let t=Cce(e.right);if(!t)return{error:vo(f.Could_not_find_convertible_access_expression)};let r=T1e(t.expression,e.left);return r?{finalExpression:t,occurrences:r,expression:e}:{error:vo(f.Could_not_find_matching_access_expressions)}}function T1e(e,t){let r=[];for(;Zn(t)&&t.operatorToken.kind===56;){let o=Dce(Ka(e),Ka(t.right));if(!o)break;r.push(o),e=o,t=t.left}let i=Dce(e,t);return i&&r.push(i),r.length>0?r:void 0}function Dce(e,t){if(!(!Me(t)&&!Er(t)&&!Rs(t)))return sVe(e,t)?t:void 0}function sVe(e,t){for(;(Bo(e)||Er(e)||Rs(e))&&gO(e)!==gO(t);)e=e.expression;for(;Er(e)&&Er(t)||Rs(e)&&Rs(t);){if(gO(e)!==gO(t))return!1;e=e.expression,t=t.expression}return Me(e)&&Me(t)&&e.getText()===t.getText()}function gO(e){if(Me(e)||Ap(e))return e.getText();if(Er(e))return gO(e.name);if(Rs(e))return gO(e.argumentExpression)}function lVe(e,t){for(;e.parent;){if(DK(e)&&t.length!==0&&e.end>=t.start+t.length)return e;e=e.parent}}function cVe(e){for(;e.parent;){if(DK(e)&&!DK(e.parent))return e;e=e.parent}}function dVe(e){if(RK(e))return e;if(cl(e)){let t=wA(e),r=t?.initializer;return r&&RK(r)?r:void 0}return e.expression&&RK(e.expression)?e.expression:void 0}function Cce(e){if(e=Ka(e),Zn(e))return Cce(e.left);if((Er(e)||Rs(e)||Bo(e))&&!yd(e))return e}function A1e(e,t,r){if(Er(t)||Rs(t)||Bo(t)){let i=A1e(e,t.expression,r),o=r.length>0?r[r.length-1]:void 0,s=o?.getText()===t.expression.getText();if(s&&r.pop(),Bo(t))return s?P.createCallChain(i,P.createToken(29),t.typeArguments,t.arguments):P.createCallChain(i,t.questionDotToken,t.typeArguments,t.arguments);if(Er(t))return s?P.createPropertyAccessChain(i,P.createToken(29),t.name):P.createPropertyAccessChain(i,t.questionDotToken,t.name);if(Rs(t))return s?P.createElementAccessChain(i,P.createToken(29),t.argumentExpression):P.createElementAccessChain(i,t.questionDotToken,t.argumentExpression)}return t}function uVe(e,t,r,i,o){let{finalExpression:s,occurrences:l,expression:d}=i,p=l[l.length-1],h=A1e(t,s,l);h&&(Er(h)||Rs(h)||Bo(h))&&(Zn(d)?r.replaceNodeRange(e,p,s,h):Fx(d)&&r.replaceNode(e,d,P.createBinaryExpression(h,P.createToken(61),d.whenFalse)))}var gz,CK,NK,pVe=pt({\"src/services/refactors/convertToOptionalChainExpression.ts\"(){\"use strict\";Hr(),J_(),gz=\"Convert to optional chain expression\",CK=vo(f.Convert_to_optional_chain_expression),NK={name:gz,description:CK,kind:\"refactor.rewrite.expression.optionalChain\"},Ph(gz,{kinds:[NK.kind],getEditsForAction:rVe,getAvailableActions:nVe})}}),fVe={},mVe=pt({\"src/services/_namespaces/ts.refactor.convertToOptionalChainExpression.ts\"(){\"use strict\";pVe()}});function I1e(e){let t=e.kind,r=Nce(e.file,NI(e),e.triggerReason===\"invoked\"),i=r.targetRange;if(i===void 0){if(!r.errors||r.errors.length===0||!e.preferences.provideRefactorNotApplicableReason)return je;let A=[];return Jb(xR.kind,t)&&A.push({name:AR,description:xR.description,actions:[{...xR,notApplicableReason:S(r.errors)}]}),Jb(IR.kind,t)&&A.push({name:AR,description:IR.description,actions:[{...IR,notApplicableReason:S(r.errors)}]}),A}let o=bVe(i,e);if(o===void 0)return je;let s=[],l=new Map,d,p=[],h=new Map,m,v=0;for(let{functionExtraction:A,constantExtraction:C}of o){if(Jb(xR.kind,t)){let R=A.description;A.errors.length===0?l.has(R)||(l.set(R,!0),s.push({description:R,name:`function_scope_${v}`,kind:xR.kind})):d||(d={description:R,name:`function_scope_${v}`,notApplicableReason:S(A.errors),kind:xR.kind})}if(Jb(IR.kind,t)){let R=C.description;C.errors.length===0?h.has(R)||(h.set(R,!0),p.push({description:R,name:`constant_scope_${v}`,kind:IR.kind})):m||(m={description:R,name:`constant_scope_${v}`,notApplicableReason:S(C.errors),kind:IR.kind})}v++}let E=[];return s.length?E.push({name:AR,description:vo(f.Extract_function),actions:s}):e.preferences.provideRefactorNotApplicableReason&&d&&E.push({name:AR,description:vo(f.Extract_function),actions:[d]}),p.length?E.push({name:AR,description:vo(f.Extract_constant),actions:p}):e.preferences.provideRefactorNotApplicableReason&&m&&E.push({name:AR,description:vo(f.Extract_constant),actions:[m]}),E.length?E:je;function S(A){let C=A[0].messageText;return typeof C!=\"string\"&&(C=C.messageText),C}}function x1e(e,t){let i=Nce(e.file,NI(e)).targetRange,o=/^function_scope_(\\d+)$/.exec(t);if(o){let l=+o[1];return x.assert(isFinite(l),\"Expected to parse a finite number from the function scope index\"),vVe(i,e,l)}let s=/^constant_scope_(\\d+)$/.exec(t);if(s){let l=+s[1];return x.assert(isFinite(l),\"Expected to parse a finite number from the constant scope index\"),yVe(i,e,l)}x.fail(\"Unrecognized action name\")}function Nce(e,t,r=!0){let{length:i}=t;if(i===0&&!r)return{errors:[Rc(e,t.start,i,$c.cannotExtractEmpty)]};let o=i===0&&r,s=Fse(e,t.start),l=v3(e,Al(t)),d=s&&l&&r?_Ve(s,l,e):t,p=o?BVe(s):Kk(s,e,d),h=o?p:Kk(l,e,d),m=0,v;if(!p||!h)return{errors:[Rc(e,t.start,i,$c.cannotExtractRange)]};if(p.flags&16777216)return{errors:[Rc(e,t.start,i,$c.cannotExtractJSDoc)]};if(p.parent!==h.parent)return{errors:[Rc(e,t.start,i,$c.cannotExtractRange)]};if(p!==h){if(!D1e(p.parent))return{errors:[Rc(e,t.start,i,$c.cannotExtractRange)]};let G=[];for(let U of p.parent.statements){if(U===p||G.length){let K=L(U);if(K)return{errors:K};G.push(U)}if(U===h)break}return G.length?{targetRange:{range:G,facts:m,thisNode:v}}:{errors:[Rc(e,t.start,i,$c.cannotExtractRange)]}}if(Kf(p)&&!p.expression)return{errors:[Rc(e,t.start,i,$c.cannotExtractRange)]};let E=A(p),S=C(E)||L(E);if(S)return{errors:S};return{targetRange:{range:hVe(E),facts:m,thisNode:v}};function A(G){if(Kf(G)){if(G.expression)return G.expression}else if(cl(G)||yc(G)){let U=cl(G)?G.declarationList.declarations:G.declarations,K=0,F;for(let oe of U)oe.initializer&&(K++,F=oe.initializer);if(K===1)return F}else if(yi(G)&&G.initializer)return G.initializer;return G}function C(G){if(Me(Cc(G)?G.expression:G))return[vr(G,$c.cannotExtractIdentifier)]}function R(G,U){let K=G;for(;K!==U;){if(K.kind===172){zo(K)&&(m|=32);break}else if(K.kind===169){cp(K).kind===176&&(m|=32);break}else K.kind===174&&zo(K)&&(m|=32);K=K.parent}}function L(G){let U;if((de=>{de[de.None=0]=\"None\",de[de.Break=1]=\"Break\",de[de.Continue=2]=\"Continue\",de[de.Return=4]=\"Return\"})(U||(U={})),x.assert(G.pos<=G.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (1)\"),x.assert(!ym(G.pos),\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (2)\"),!Di(G)&&!(bh(G)&&R1e(G))&&!Oce(G))return[vr(G,$c.statementOrExpressionExpected)];if(G.flags&33554432)return[vr(G,$c.cannotExtractAmbientBlock)];let K=Oc(G);K&&R(G,K);let F,oe=4,W;if($(G),m&8){let de=lu(G,!1,!1);(de.kind===262||de.kind===174&&de.parent.kind===210||de.kind===218)&&(m|=16)}return F;function $(de){if(F)return!0;if(bd(de)){let q=de.kind===260?de.parent.parent:de;if(Wr(q,32))return(F||(F=[])).push(vr(de,$c.cannotExtractExportedEntity)),!0}switch(de.kind){case 272:return(F||(F=[])).push(vr(de,$c.cannotExtractImport)),!0;case 277:return(F||(F=[])).push(vr(de,$c.cannotExtractExportedEntity)),!0;case 108:if(de.parent.kind===213){let q=Oc(de);if(q===void 0||q.pos<t.start||q.end>=t.start+t.length)return(F||(F=[])).push(vr(de,$c.cannotExtractSuper)),!0}else m|=8,v=de;break;case 219:Ao(de,function q(H){if(mR(H))m|=8,v=de;else{if(Kr(H)||Lo(H)&&!gs(H))return!1;Ao(H,q)}});case 263:case 262:Li(de.parent)&&de.parent.externalModuleIndicator===void 0&&(F||(F=[])).push(vr(de,$c.functionWillNotBeVisibleInTheNewScope));case 231:case 218:case 174:case 176:case 177:case 178:return!1}let fe=oe;switch(de.kind){case 245:oe&=-5;break;case 258:oe=0;break;case 241:de.parent&&de.parent.kind===258&&de.parent.finallyBlock===de&&(oe=4);break;case 297:case 296:oe|=1;break;default:Xv(de,!1)&&(oe|=3);break}switch(de.kind){case 197:case 110:m|=8,v=de;break;case 256:{let q=de.label;(W||(W=[])).push(q.escapedText),Ao(de,$),W.pop();break}case 252:case 251:{let q=de.label;q?To(W,q.escapedText)||(F||(F=[])).push(vr(de,$c.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):oe&(de.kind===252?1:2)||(F||(F=[])).push(vr(de,$c.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break}case 223:m|=4;break;case 229:m|=2;break;case 253:oe&4?m|=1:(F||(F=[])).push(vr(de,$c.cannotExtractRangeContainingConditionalReturnStatement));break;default:Ao(de,$);break}oe=fe}}}function _Ve(e,t,r){let i=e.getStart(r),o=t.getEnd();return r.text.charCodeAt(o)===59&&o++,{start:i,length:o-i}}function hVe(e){if(Di(e))return[e];if(bh(e))return Cc(e.parent)?[e.parent]:e;if(Oce(e))return e}function Pce(e){return gs(e)?t9(e.body):hs(e)||Li(e)||n_(e)||Kr(e)}function gVe(e){let t=hv(e.range)?Ta(e.range):e.range;if(e.facts&8&&!(e.facts&16)){let i=Oc(t);if(i){let o=Rn(t,hs);return o?[o,i]:[i]}}let r=[];for(;;)if(t=t.parent,t.kind===169&&(t=Rn(t,i=>hs(i)).parent),Pce(t)&&(r.push(t),t.kind===312))return r}function vVe(e,t,r){let{scopes:i,readsAndWrites:{target:o,usagesPerScope:s,functionErrorsPerScope:l,exposedVariableDeclarations:d}}=Mce(e,t);return x.assert(!l[r].length,\"The extraction went missing? How?\"),t.cancellationToken.throwIfCancellationRequested(),xVe(o,i[r],s[r],d,e,t)}function yVe(e,t,r){let{scopes:i,readsAndWrites:{target:o,usagesPerScope:s,constantErrorsPerScope:l,exposedVariableDeclarations:d}}=Mce(e,t);x.assert(!l[r].length,\"The extraction went missing? How?\"),x.assert(d.length===0,\"Extract constant accepted a range containing a variable declaration?\"),t.cancellationToken.throwIfCancellationRequested();let p=lt(o)?o:o.statements[0].expression;return RVe(p,i[r],s[r],e.facts,t)}function bVe(e,t){let{scopes:r,readsAndWrites:{functionErrorsPerScope:i,constantErrorsPerScope:o}}=Mce(e,t);return r.map((l,d)=>{let p=EVe(l),h=SVe(l),m=hs(l)?TVe(l):Kr(l)?AVe(l):IVe(l),v,E;return m===1?(v=xh(vo(f.Extract_to_0_in_1_scope),[p,\"global\"]),E=xh(vo(f.Extract_to_0_in_1_scope),[h,\"global\"])):m===0?(v=xh(vo(f.Extract_to_0_in_1_scope),[p,\"module\"]),E=xh(vo(f.Extract_to_0_in_1_scope),[h,\"module\"])):(v=xh(vo(f.Extract_to_0_in_1),[p,m]),E=xh(vo(f.Extract_to_0_in_1),[h,m])),d===0&&!Kr(l)&&(E=xh(vo(f.Extract_to_0_in_enclosing_scope),[h])),{functionExtraction:{description:v,errors:i[d]},constantExtraction:{description:E,errors:o[d]}}})}function Mce(e,t){let{file:r}=t,i=gVe(e),o=FVe(e,r),s=zVe(e,i,o,r,t.program.getTypeChecker(),t.cancellationToken);return{scopes:i,readsAndWrites:s}}function EVe(e){return hs(e)?\"inner function\":Kr(e)?\"method\":\"function\"}function SVe(e){return Kr(e)?\"readonly field\":\"constant\"}function TVe(e){switch(e.kind){case 176:return\"constructor\";case 218:case 262:return e.name?`function '${e.name.text}'`:Y3;case 219:return\"arrow function\";case 174:return`method '${e.name.getText()}'`;case 177:return`'get ${e.name.getText()}'`;case 178:return`'set ${e.name.getText()}'`;default:x.assertNever(e,`Unexpected scope kind ${e.kind}`)}}function AVe(e){return e.kind===263?e.name?`class '${e.name.text}'`:\"anonymous class declaration\":e.name?`class expression '${e.name.text}'`:\"anonymous class expression\"}function IVe(e){return e.kind===268?`namespace '${e.parent.name.getText()}'`:e.externalModuleIndicator?0:1}function xVe(e,t,{usages:r,typeParameterUsages:i,substitutions:o},s,l,d){let p=d.program.getTypeChecker(),h=Wa(d.program.getCompilerOptions()),m=ud.createImportAdder(d.file,d.program,d.preferences,d.host),v=t.getSourceFile(),E=dT(Kr(t)?\"newMethod\":\"newFunction\",v),S=Jn(t),A=P.createIdentifier(E),C,R=[],L=[],G;r.forEach((be,Te)=>{let De;if(!S){let he=p.getTypeOfSymbolAtLocation(be.symbol,be.node);he=p.getBaseTypeOfLiteralType(he),De=ud.typeToAutoImportableTypeNode(p,m,he,t,h,1)}let ft=P.createParameterDeclaration(void 0,void 0,Te,void 0,De);R.push(ft),be.usage===2&&(G||(G=[])).push(be),L.push(P.createIdentifier(Te))});let K=bo(i.values(),be=>({type:be,declaration:CVe(be,d.startPosition)})).sort(NVe),F=K.length===0?void 0:Fi(K,({declaration:be})=>be),oe=F!==void 0?F.map(be=>P.createTypeReferenceNode(be.name,void 0)):void 0;if(lt(e)&&!S){let be=p.getContextualType(e);C=p.typeToTypeNode(be,t,1)}let{body:W,returnValueProperty:$}=MVe(e,s,G,o,!!(l.facts&1));qu(W);let de,fe=!!(l.facts&16);if(Kr(t)){let be=S?[]:[P.createModifier(123)];l.facts&32&&be.push(P.createModifier(126)),l.facts&4&&be.push(P.createModifier(134)),de=P.createMethodDeclaration(be.length?be:void 0,l.facts&2?P.createToken(42):void 0,A,void 0,F,R,C,W)}else fe&&R.unshift(P.createParameterDeclaration(void 0,void 0,\"this\",void 0,p.typeToTypeNode(p.getTypeAtLocation(l.thisNode),t,1),void 0)),de=P.createFunctionDeclaration(l.facts&4?[P.createToken(134)]:void 0,l.facts&2?P.createToken(42):void 0,A,F,R,C,W);let q=er.ChangeTracker.fromContext(d),H=(hv(l.range)?Da(l.range):l.range).end,ee=OVe(H,t);ee?q.insertNodeBefore(d.file,ee,de,!0):q.insertNodeAtEndOfScope(d.file,t,de),m.writeFixes(q);let le=[],Ee=PVe(t,l,E);fe&&L.unshift(P.createIdentifier(\"this\"));let ce=P.createCallExpression(fe?P.createPropertyAccessExpression(Ee,\"call\"):Ee,oe,L);if(l.facts&2&&(ce=P.createYieldExpression(P.createToken(42),ce)),l.facts&4&&(ce=P.createAwaitExpression(ce)),kce(e)&&(ce=P.createJsxExpression(void 0,ce)),s.length&&!G)if(x.assert(!$,\"Expected no returnValueProperty\"),x.assert(!(l.facts&1),\"Expected RangeFacts.HasReturn flag to be unset\"),s.length===1){let be=s[0];le.push(P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(Fs(be.name),void 0,Fs(be.type),ce)],be.parent.flags)))}else{let be=[],Te=[],De=s[0].parent.flags,ft=!1;for(let Le of s){be.push(P.createBindingElement(void 0,void 0,Fs(Le.name)));let Ke=p.typeToTypeNode(p.getBaseTypeOfLiteralType(p.getTypeAtLocation(Le)),t,1);Te.push(P.createPropertySignature(void 0,Le.symbol.name,void 0,Ke)),ft=ft||Le.type!==void 0,De=De&Le.parent.flags}let he=ft?P.createTypeLiteralNode(Te):void 0;he&&$n(he,1),le.push(P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(P.createObjectBindingPattern(be),void 0,he,ce)],De)))}else if(s.length||G){if(s.length)for(let Te of s){let De=Te.parent.flags;De&2&&(De=De&-3|1),le.push(P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(Te.symbol.name,void 0,_e(Te.type))],De)))}$&&le.push(P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration($,void 0,_e(C))],1)));let be=Lce(s,G);$&&be.unshift(P.createShorthandPropertyAssignment($)),be.length===1?(x.assert(!$,\"Shouldn't have returnValueProperty here\"),le.push(P.createExpressionStatement(P.createAssignment(be[0].name,ce))),l.facts&1&&le.push(P.createReturnStatement())):(le.push(P.createExpressionStatement(P.createAssignment(P.createObjectLiteralExpression(be),ce))),$&&le.push(P.createReturnStatement(P.createIdentifier($))))}else l.facts&1?le.push(P.createReturnStatement(ce)):hv(l.range)?le.push(P.createExpressionStatement(ce)):le.push(ce);hv(l.range)?q.replaceNodeRangeWithNodes(d.file,Ta(l.range),Da(l.range),le):q.replaceNodeWithNodes(d.file,l.range,le);let Z=q.getChanges(),Ae=(hv(l.range)?Ta(l.range):l.range).getSourceFile().fileName,Oe=$k(Z,Ae,E,!1);return{renameFilename:Ae,renameLocation:Oe,edits:Z};function _e(be){if(be===void 0)return;let Te=Fs(be),De=Te;for(;VS(De);)De=De.type;return dy(De)&&Dr(De.types,ft=>ft.kind===157)?Te:P.createUnionTypeNode([Te,P.createKeywordTypeNode(157)])}}function RVe(e,t,{substitutions:r},i,o){let s=o.program.getTypeChecker(),l=t.getSourceFile(),d=Er(e)&&!Kr(t)&&!s.resolveName(e.name.text,e,111551,!1)&&!Ci(e.name)&&!vb(e.name)?e.name.text:dT(Kr(t)?\"newProperty\":\"newLocal\",l),p=Jn(t),h=p||!s.isContextSensitive(e)?void 0:s.typeToTypeNode(s.getContextualType(e),t,1),m=LVe(Ka(e),r);({variableType:h,initializer:m}=C(h,m)),qu(m);let v=er.ChangeTracker.fromContext(o);if(Kr(t)){x.assert(!p,\"Cannot extract to a JS class\");let R=[];R.push(P.createModifier(123)),i&32&&R.push(P.createModifier(126)),R.push(P.createModifier(148));let L=P.createPropertyDeclaration(R,d,void 0,h,m),G=P.createPropertyAccessExpression(i&32?P.createIdentifier(t.name.getText()):P.createThis(),P.createIdentifier(d));kce(e)&&(G=P.createJsxExpression(void 0,G));let U=e.pos,K=wVe(U,t);v.insertNodeBefore(o.file,K,L,!0),v.replaceNode(o.file,e,G)}else{let R=P.createVariableDeclaration(d,void 0,h,m),L=DVe(e,t);if(L){v.insertNodeBefore(o.file,L,R);let G=P.createIdentifier(d);v.replaceNode(o.file,e,G)}else if(e.parent.kind===244&&t===Rn(e,Pce)){let G=P.createVariableStatement(void 0,P.createVariableDeclarationList([R],2));v.replaceNode(o.file,e.parent,G)}else{let G=P.createVariableStatement(void 0,P.createVariableDeclarationList([R],2)),U=WVe(e,t);if(U.pos===0?v.insertNodeAtTopOfFile(o.file,G,!1):v.insertNodeBefore(o.file,U,G,!1),e.parent.kind===244)v.delete(o.file,e.parent);else{let K=P.createIdentifier(d);kce(e)&&(K=P.createJsxExpression(void 0,K)),v.replaceNode(o.file,e,K)}}}let E=v.getChanges(),S=e.getSourceFile().fileName,A=$k(E,S,d,!0);return{renameFilename:S,renameLocation:A,edits:E};function C(R,L){if(R===void 0)return{variableType:R,initializer:L};if(!ps(L)&&!gs(L)||L.typeParameters)return{variableType:R,initializer:L};let G=s.getTypeAtLocation(e),U=R_(s.getSignaturesOfType(G,0));if(!U)return{variableType:R,initializer:L};if(U.getTypeParameters())return{variableType:R,initializer:L};let K=[],F=!1;for(let oe of L.parameters)if(oe.type)K.push(oe);else{let W=s.getTypeAtLocation(oe);W===s.getAnyType()&&(F=!0),K.push(P.updateParameterDeclaration(oe,oe.modifiers,oe.dotDotDotToken,oe.name,oe.questionToken,oe.type||s.typeToTypeNode(W,t,1),oe.initializer))}if(F)return{variableType:R,initializer:L};if(R=void 0,gs(L))L=P.updateArrowFunction(L,Yf(e)?kE(e):void 0,L.typeParameters,K,L.type||s.typeToTypeNode(U.getReturnType(),t,1),L.equalsGreaterThanToken,L.body);else{if(U&&U.thisParameter){let oe=Ac(K);if(!oe||Me(oe.name)&&oe.name.escapedText!==\"this\"){let W=s.getTypeOfSymbolAtLocation(U.thisParameter,e);K.splice(0,0,P.createParameterDeclaration(void 0,void 0,\"this\",void 0,s.typeToTypeNode(W,t,1)))}}L=P.updateFunctionExpression(L,Yf(e)?kE(e):void 0,L.asteriskToken,L.name,L.typeParameters,K,L.type||s.typeToTypeNode(U.getReturnType(),t,1),L.body)}return{variableType:R,initializer:L}}}function DVe(e,t){let r;for(;e!==void 0&&e!==t;){if(yi(e)&&e.initializer===r&&yc(e.parent)&&e.parent.declarations.length>1)return e;r=e,e=e.parent}}function CVe(e,t){let r,i=e.symbol;if(i&&i.declarations)for(let o of i.declarations)(r===void 0||o.pos<r.pos)&&o.pos<t&&(r=o);return r}function NVe({type:e,declaration:t},{type:r,declaration:i}){return jZ(t,i,\"pos\",Ms)||gd(e.symbol?e.symbol.getName():\"\",r.symbol?r.symbol.getName():\"\")||Ms(e.id,r.id)}function PVe(e,t,r){let i=P.createIdentifier(r);if(Kr(e)){let o=t.facts&32?P.createIdentifier(e.name.text):P.createThis();return P.createPropertyAccessExpression(o,i)}else return i}function MVe(e,t,r,i,o){let s=r!==void 0||t.length>0;if(Do(e)&&!s&&i.size===0)return{body:P.createBlock(e.statements,!0),returnValueProperty:void 0};let l,d=!1,p=P.createNodeArray(Do(e)?e.statements.slice(0):[Di(e)?e:P.createReturnStatement(Ka(e))]);if(s||i.size){let m=Dn(p,h,Di).slice();if(s&&!o&&Di(e)){let v=Lce(t,r);v.length===1?m.push(P.createReturnStatement(v[0].name)):m.push(P.createReturnStatement(P.createObjectLiteralExpression(v)))}return{body:P.createBlock(m,!0),returnValueProperty:l}}else return{body:P.createBlock(p,!0),returnValueProperty:void 0};function h(m){if(!d&&Kf(m)&&s){let v=Lce(t,r);return m.expression&&(l||(l=\"__return\"),v.unshift(P.createPropertyAssignment(l,He(m.expression,h,lt)))),v.length===1?P.createReturnStatement(v[0].name):P.createReturnStatement(P.createObjectLiteralExpression(v))}else{let v=d;d=d||hs(m)||Kr(m);let E=i.get(Fa(m).toString()),S=E?Fs(E):un(m,h,void 0);return d=v,S}}}function LVe(e,t){return t.size?r(e):e;function r(i){let o=t.get(Fa(i).toString());return o?Fs(o):un(i,r,void 0)}}function kVe(e){if(hs(e)){let t=e.body;if(Do(t))return t.statements}else{if(n_(e)||Li(e))return e.statements;if(Kr(e))return e.members;}return je}function OVe(e,t){return Dr(kVe(t),r=>r.pos>=e&&hs(r)&&!ll(r))}function wVe(e,t){let r=t.members;x.assert(r.length>0,\"Found no members\");let i,o=!0;for(let s of r){if(s.pos>e)return i||r[0];if(o&&!xo(s)){if(i!==void 0)return s;o=!1}i=s}return i===void 0?x.fail():i}function WVe(e,t){x.assert(!Kr(t));let r;for(let i=e;i!==t;i=i.parent)Pce(i)&&(r=i);for(let i=(r||e).parent;;i=i.parent){if(D1e(i)){let o;for(let s of i.statements){if(s.pos>e.pos)break;o=s}return!o&&zx(i)?(x.assert(pN(i.parent.parent),\"Grandparent isn't a switch statement\"),i.parent.parent):x.checkDefined(o,\"prevStatement failed to get set\")}x.assert(i!==t,\"Didn't encounter a block-like before encountering scope\")}}function Lce(e,t){let r=nn(e,o=>P.createShorthandPropertyAssignment(o.symbol.name)),i=nn(t,o=>P.createShorthandPropertyAssignment(o.symbol.name));return r===void 0?i:i===void 0?r:r.concat(i)}function hv(e){return oo(e)}function FVe(e,t){return hv(e.range)?{pos:Ta(e.range).getStart(t),end:Da(e.range).getEnd()}:e.range}function zVe(e,t,r,i,o,s){let l=new Map,d=[],p=[],h=[],m=[],v=[],E=new Map,S=[],A,C=hv(e.range)?e.range.length===1&&Cc(e.range[0])?e.range[0].expression:void 0:e.range,R;if(C===void 0){let ee=e.range,le=Ta(ee).getStart(),Ee=Da(ee).end;R=Rc(i,le,Ee-le,$c.expressionExpected)}else o.getTypeAtLocation(C).flags&147456&&(R=vr(C,$c.uselessConstantType));for(let ee of t){d.push({usages:new Map,typeParameterUsages:new Map,substitutions:new Map}),p.push(new Map),h.push([]);let le=[];R&&le.push(R),Kr(ee)&&Jn(ee)&&le.push(vr(ee,$c.cannotExtractToJSClass)),gs(ee)&&!Do(ee.body)&&le.push(vr(ee,$c.cannotExtractToExpressionArrowFunction)),m.push(le)}let L=new Map,G=hv(e.range)?P.createBlock(e.range):e.range,U=hv(e.range)?Ta(e.range):e.range,K=F(U);if(W(G),K&&!hv(e.range)&&!i_(e.range)){let ee=o.getContextualType(e.range);oe(ee)}if(l.size>0){let ee=new Map,le=0;for(let Ee=U;Ee!==void 0&&le<t.length;Ee=Ee.parent)if(Ee===t[le]&&(ee.forEach((ce,Z)=>{d[le].typeParameterUsages.set(Z,ce)}),le++),b9(Ee))for(let ce of qv(Ee)){let Z=o.getTypeAtLocation(ce);l.has(Z.id.toString())&&ee.set(Z.id.toString(),Z)}x.assert(le===t.length,\"Should have iterated all scopes\")}if(v.length){let ee=y9(t[0],t[0].parent)?t[0]:w_(t[0]);Ao(ee,fe)}for(let ee=0;ee<t.length;ee++){let le=d[ee];if(ee>0&&(le.usages.size>0||le.typeParameterUsages.size>0)){let Z=hv(e.range)?e.range[0]:e.range;m[ee].push(vr(Z,$c.cannotAccessVariablesFromNestedScopes))}e.facts&16&&Kr(t[ee])&&h[ee].push(vr(e.thisNode,$c.cannotExtractFunctionsContainingThisToMethod));let Ee=!1,ce;if(d[ee].usages.forEach(Z=>{Z.usage===2&&(Ee=!0,Z.symbol.flags&106500&&Z.symbol.valueDeclaration&&zu(Z.symbol.valueDeclaration,8)&&(ce=Z.symbol.valueDeclaration))}),x.assert(hv(e.range)||S.length===0,\"No variable declarations expected if something was extracted\"),Ee&&!hv(e.range)){let Z=vr(e.range,$c.cannotWriteInExpression);h[ee].push(Z),m[ee].push(Z)}else if(ce&&ee>0){let Z=vr(ce,$c.cannotExtractReadonlyPropertyInitializerOutsideConstructor);h[ee].push(Z),m[ee].push(Z)}else if(A){let Z=vr(A,$c.cannotExtractExportedEntity);h[ee].push(Z),m[ee].push(Z)}}return{target:G,usagesPerScope:d,functionErrorsPerScope:h,constantErrorsPerScope:m,exposedVariableDeclarations:S};function F(ee){return!!Rn(ee,le=>b9(le)&&qv(le).length!==0)}function oe(ee){let le=o.getSymbolWalker(()=>(s.throwIfCancellationRequested(),!0)),{visitedTypes:Ee}=le.walkType(ee);for(let ce of Ee)ce.isTypeParameter()&&l.set(ce.id.toString(),ce)}function W(ee,le=1){if(K){let Ee=o.getTypeAtLocation(ee);oe(Ee)}if(bd(ee)&&ee.symbol&&v.push(ee),lc(ee))W(ee.left,2),W(ee.right);else if(Zee(ee))W(ee.operand,2);else if(Er(ee)||Rs(ee))Ao(ee,W);else if(Me(ee)){if(!ee.parent||$d(ee.parent)&&ee!==ee.parent.left||Er(ee.parent)&&ee!==ee.parent.expression)return;$(ee,le,yh(ee))}else Ao(ee,W)}function $(ee,le,Ee){let ce=de(ee,le,Ee);if(ce)for(let Z=0;Z<t.length;Z++){let pe=p[Z].get(ce);pe&&d[Z].substitutions.set(Fa(ee).toString(),pe)}}function de(ee,le,Ee){let ce=q(ee);if(!ce)return;let Z=na(ce).toString(),pe=L.get(Z);if(pe&&pe>=le)return Z;if(L.set(Z,le),pe){for(let _e of d)_e.usages.get(ee.text)&&_e.usages.set(ee.text,{usage:le,symbol:ce,node:ee});return Z}let Ae=ce.getDeclarations(),Oe=Ae&&Dr(Ae,_e=>_e.getSourceFile()===i);if(Oe&&!zk(r,Oe.getStart(),Oe.end)){if(e.facts&2&&le===2){let _e=vr(ee,$c.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators);for(let be of h)be.push(_e);for(let be of m)be.push(_e)}for(let _e=0;_e<t.length;_e++){let be=t[_e];if(o.resolveName(ce.name,be,ce.flags,!1)!==ce&&!p[_e].has(Z)){let De=H(ce.exportSymbol||ce,be,Ee);if(De)p[_e].set(Z,De);else if(Ee){if(!(ce.flags&262144)){let ft=vr(ee,$c.typeWillNotBeVisibleInTheNewScope);h[_e].push(ft),m[_e].push(ft)}}else d[_e].usages.set(ee.text,{usage:le,symbol:ce,node:ee})}}return Z}}function fe(ee){if(ee===e.range||hv(e.range)&&e.range.includes(ee))return;let le=Me(ee)?q(ee):o.getSymbolAtLocation(ee);if(le){let Ee=Dr(v,ce=>ce.symbol===le);if(Ee)if(yi(Ee)){let ce=Ee.symbol.id.toString();E.has(ce)||(S.push(Ee),E.set(ce,!0))}else A=A||Ee}Ao(ee,fe)}function q(ee){return ee.parent&&xu(ee.parent)&&ee.parent.name===ee?o.getShorthandAssignmentValueSymbol(ee.parent):o.getSymbolAtLocation(ee)}function H(ee,le,Ee){if(!ee)return;let ce=ee.getDeclarations();if(ce&&ce.some(pe=>pe.parent===le))return P.createIdentifier(ee.name);let Z=H(ee.parent,le,Ee);if(Z!==void 0)return Ee?P.createQualifiedName(Z,P.createIdentifier(ee.name)):P.createPropertyAccessExpression(Z,ee.name)}}function BVe(e){return Rn(e,t=>t.parent&&R1e(t)&&!Zn(t.parent))}function R1e(e){let{parent:t}=e;switch(t.kind){case 306:return!1}switch(e.kind){case 11:return t.kind!==272&&t.kind!==276;case 230:case 206:case 208:return!1;case 80:return t.kind!==208&&t.kind!==276&&t.kind!==281}return!0}function D1e(e){switch(e.kind){case 241:case 312:case 268:case 296:return!0;default:return!1}}function kce(e){return Oce(e)||(Ch(e)||KS(e)||c0(e))&&(Ch(e.parent)||c0(e.parent))}function Oce(e){return da(e)&&e.parent&&i_(e.parent)}var AR,IR,xR,$c,wce,GVe=pt({\"src/services/refactors/extractSymbol.ts\"(){\"use strict\";Hr(),J_(),AR=\"Extract Symbol\",IR={name:\"Extract Constant\",description:vo(f.Extract_constant),kind:\"refactor.extract.constant\"},xR={name:\"Extract Function\",description:vo(f.Extract_function),kind:\"refactor.extract.function\"},Ph(AR,{kinds:[IR.kind,xR.kind],getEditsForAction:x1e,getAvailableActions:I1e}),(e=>{function t(r){return{message:r,code:0,category:3,key:r}}e.cannotExtractRange=t(\"Cannot extract range.\"),e.cannotExtractImport=t(\"Cannot extract import statement.\"),e.cannotExtractSuper=t(\"Cannot extract super call.\"),e.cannotExtractJSDoc=t(\"Cannot extract JSDoc.\"),e.cannotExtractEmpty=t(\"Cannot extract empty range.\"),e.expressionExpected=t(\"expression expected.\"),e.uselessConstantType=t(\"No reason to extract constant of type.\"),e.statementOrExpressionExpected=t(\"Statement or expression expected.\"),e.cannotExtractRangeContainingConditionalBreakOrContinueStatements=t(\"Cannot extract range containing conditional break or continue statements.\"),e.cannotExtractRangeContainingConditionalReturnStatement=t(\"Cannot extract range containing conditional return statement.\"),e.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange=t(\"Cannot extract range containing labeled break or continue with target outside of the range.\"),e.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators=t(\"Cannot extract range containing writes to references located outside of the target range in generators.\"),e.typeWillNotBeVisibleInTheNewScope=t(\"Type will not visible in the new scope.\"),e.functionWillNotBeVisibleInTheNewScope=t(\"Function will not visible in the new scope.\"),e.cannotExtractIdentifier=t(\"Select more than a single identifier.\"),e.cannotExtractExportedEntity=t(\"Cannot extract exported declaration\"),e.cannotWriteInExpression=t(\"Cannot write back side-effects when extracting an expression\"),e.cannotExtractReadonlyPropertyInitializerOutsideConstructor=t(\"Cannot move initialization of read-only class property outside of the constructor\"),e.cannotExtractAmbientBlock=t(\"Cannot extract code from ambient contexts\"),e.cannotAccessVariablesFromNestedScopes=t(\"Cannot access variables from nested scopes\"),e.cannotExtractToJSClass=t(\"Cannot extract constant to a class scope in JS\"),e.cannotExtractToExpressionArrowFunction=t(\"Cannot extract constant to an arrow function without a block\"),e.cannotExtractFunctionsContainingThisToMethod=t(\"Cannot extract functions containing this to method\")})($c||($c={})),wce=(e=>(e[e.None=0]=\"None\",e[e.HasReturn=1]=\"HasReturn\",e[e.IsGenerator=2]=\"IsGenerator\",e[e.IsAsyncFunction=4]=\"IsAsyncFunction\",e[e.UsesThis=8]=\"UsesThis\",e[e.UsesThisInFunction=16]=\"UsesThisInFunction\",e[e.InStaticRegion=32]=\"InStaticRegion\",e))(wce||{})}}),C1e={};la(C1e,{Messages:()=>$c,RangeFacts:()=>wce,getRangeToExtract:()=>Nce,getRefactorActionsToExtractSymbol:()=>I1e,getRefactorEditsToExtractSymbol:()=>x1e});var VVe=pt({\"src/services/_namespaces/ts.refactor.extractSymbol.ts\"(){\"use strict\";GVe()}}),vz,PK,MK,jVe=pt({\"src/services/refactors/generateGetAccessorAndSetAccessor.ts\"(){\"use strict\";Hr(),J_(),vz=\"Generate 'get' and 'set' accessors\",PK=vo(f.Generate_get_and_set_accessors),MK={name:vz,description:PK,kind:\"refactor.rewrite.property.generateAccessors\"},Ph(vz,{kinds:[MK.kind],getEditsForAction:function(t,r){if(!t.endPosition)return;let i=ud.getAccessorConvertiblePropertyAtPosition(t.file,t.program,t.startPosition,t.endPosition);x.assert(i&&!ug(i),\"Expected applicable refactor info\");let o=ud.generateAccessorFromProperty(t.file,t.program,t.startPosition,t.endPosition,t,r);if(!o)return;let s=t.file.fileName,l=i.renameAccessor?i.accessorName:i.fieldName,p=(Me(l)?0:-1)+$k(o,s,l.text,ao(i.declaration));return{renameFilename:s,renameLocation:p,edits:o}},getAvailableActions(e){if(!e.endPosition)return je;let t=ud.getAccessorConvertiblePropertyAtPosition(e.file,e.program,e.startPosition,e.endPosition,e.triggerReason===\"invoked\");return t?ug(t)?e.preferences.provideRefactorNotApplicableReason?[{name:vz,description:PK,actions:[{...MK,notApplicableReason:t.error}]}]:je:[{name:vz,description:PK,actions:[MK]}]:je}})}}),UVe={},HVe=pt({\"src/services/_namespaces/ts.refactor.generateGetAccessorAndSetAccessor.ts\"(){\"use strict\";jVe()}});function qVe(e){let t=N1e(e);if(t&&!ug(t))return{renameFilename:void 0,renameLocation:void 0,edits:er.ChangeTracker.with(e,i=>KVe(e.file,i,t.declaration,t.returnTypeNode))}}function JVe(e){let t=N1e(e);return t?ug(t)?e.preferences.provideRefactorNotApplicableReason?[{name:yz,description:LK,actions:[{...bz,notApplicableReason:t.error}]}]:je:[{name:yz,description:LK,actions:[bz]}]:je}function KVe(e,t,r,i){let o=Ya(r,22,e),s=gs(r)&&o===void 0,l=s?Ta(r.parameters):o;l&&(s&&(t.insertNodeBefore(e,l,P.createToken(21)),t.insertNodeAfter(e,l,P.createToken(22))),t.insertNodeAt(e,l.end,i,{prefix:\": \"}))}function N1e(e){if(Jn(e.file)||!Jb(bz.kind,e.kind))return;let t=pu(e.file,e.startPosition),r=Rn(t,l=>Do(l)||l.parent&&gs(l.parent)&&(l.kind===39||l.parent.body===l)?\"quit\":XVe(l));if(!r||!r.body||r.type)return{error:vo(f.Return_type_must_be_inferred_from_a_function)};let i=e.program.getTypeChecker(),o=YVe(i,r);if(!o)return{error:vo(f.Could_not_determine_function_return_type)};let s=i.typeToTypeNode(o,r,1);if(s)return{declaration:r,returnTypeNode:s}}function XVe(e){switch(e.kind){case 262:case 218:case 219:case 174:return!0;default:return!1}}function YVe(e,t){if(e.isImplementationOfOverload(t)){let i=e.getTypeAtLocation(t).getCallSignatures();if(i.length>1)return e.getUnionType(Fi(i,o=>o.getReturnType()))}let r=e.getSignatureFromDeclaration(t);if(r)return e.getReturnTypeOfSignature(r)}var yz,LK,bz,$Ve=pt({\"src/services/refactors/inferFunctionReturnType.ts\"(){\"use strict\";Hr(),J_(),yz=\"Infer function return type\",LK=vo(f.Infer_function_return_type),bz={name:yz,description:LK,kind:\"refactor.rewrite.function.returnType\"},Ph(yz,{kinds:[bz.kind],getEditsForAction:qVe,getAvailableActions:JVe})}}),QVe={},ZVe=pt({\"src/services/_namespaces/ts.refactor.inferFunctionReturnType.ts\"(){\"use strict\";$Ve()}}),MI={};la(MI,{addExportToChanges:()=>pce,addExports:()=>lce,addNewFileToTsconfig:()=>rce,addOrRemoveBracesToArrowFunction:()=>f9e,containsJsx:()=>mce,convertArrowFunctionOrFunctionExpression:()=>I9e,convertParamsToDestructuredObject:()=>U9e,convertStringOrTemplateLiteral:()=>eVe,convertToOptionalChainExpression:()=>fVe,createNewFileName:()=>fce,createOldFileImportsFromTargetFile:()=>sce,deleteMovedStatements:()=>cz,deleteUnusedImports:()=>cce,deleteUnusedOldImports:()=>ice,doChangeNamedToNamespaceOrDefault:()=>FIe,extractSymbol:()=>C1e,filterImport:()=>uO,forEachImportInStatement:()=>dO,generateGetAccessorAndSetAccessor:()=>UVe,getApplicableRefactors:()=>uGe,getEditsForRefactor:()=>pGe,getStatementsToMove:()=>pO,getTopLevelDeclarationStatement:()=>vK,getUsageInfo:()=>uz,inferFunctionReturnType:()=>QVe,isRefactorErrorInfo:()=>ug,isTopLevelDeclaration:()=>pz,makeImportOrRequire:()=>dz,moduleSpecifierFromImport:()=>cO,nameOfTopLevelDeclaration:()=>uce,refactorKindBeginsWith:()=>Jb,registerRefactor:()=>Ph,updateImportsInOtherFiles:()=>oce});var J_=pt({\"src/services/_namespaces/ts.refactor.ts\"(){\"use strict\";MIe(),yGe(),AGe(),MGe(),LGe(),OGe(),zGe(),a9e(),m9e(),x9e(),H9e(),tVe(),mVe(),VVe(),HVe(),ZVe()}});function P1e(e,t,r,i){let o=Wce(e,t,r,i);x.assert(o.spans.length%3===0);let s=o.spans,l=[];for(let d=0;d<s.length;d+=3)l.push({textSpan:qc(s[d],s[d+1]),classificationType:s[d+2]});return l}function Wce(e,t,r,i){return{spans:eje(e,r,i,t),endOfLineState:0}}function eje(e,t,r,i){let o=[];return e&&t&&tje(e,t,r,(l,d,p)=>{o.push(l.getStart(t),l.getWidth(t),(d+1<<8)+p)},i),o}function tje(e,t,r,i,o){let s=e.getTypeChecker(),l=!1;function d(p){switch(p.kind){case 267:case 263:case 264:case 262:case 231:case 218:case 219:o.throwIfCancellationRequested()}if(!p||!P8(r,p.pos,p.getFullWidth())||p.getFullWidth()===0)return;let h=l;if((Ch(p)||KS(p))&&(l=!0),mN(p)&&(l=!1),Me(p)&&!l&&!oje(p)&&!XC(p.escapedText)){let m=s.getSymbolAtLocation(p);if(m){m.flags&2097152&&(m=s.getAliasedSymbol(m));let v=nje(m,aT(p));if(v!==void 0){let E=0;p.parent&&(Na(p.parent)||Gce.get(p.parent.kind)===v)&&p.parent.name===p&&(E=1),v===6&&L1e(p)&&(v=9),v=rje(s,p,v);let S=m.valueDeclaration;if(S){let A=gb(S),C=Xg(S);A&256&&(E|=2),A&1024&&(E|=4),v!==0&&v!==2&&(A&8||C&2||m.getFlags()&8)&&(E|=8),(v===7||v===10)&&ije(S,t)&&(E|=32),e.isSourceFileDefaultLibrary(S.getSourceFile())&&(E|=16)}else m.declarations&&m.declarations.some(A=>e.isSourceFileDefaultLibrary(A.getSourceFile()))&&(E|=16);i(p,v,E)}}}Ao(p,d),l=h}d(t)}function nje(e,t){let r=e.getFlags();if(r&32)return 0;if(r&384)return 1;if(r&524288)return 5;if(r&64){if(t&2)return 2}else if(r&262144)return 4;let i=e.valueDeclaration||e.declarations&&e.declarations[0];return i&&Na(i)&&(i=M1e(i)),i&&Gce.get(i.kind)}function rje(e,t,r){if(r===7||r===9||r===6){let i=e.getTypeAtLocation(t);if(i){let o=s=>s(i)||i.isUnion()&&i.types.some(s);if(r!==6&&o(s=>s.getConstructSignatures().length>0))return 0;if(o(s=>s.getCallSignatures().length>0)&&!o(s=>s.getProperties().length>0)||aje(t))return r===9?11:10}}return r}function ije(e,t){return Na(e)&&(e=M1e(e)),yi(e)?(!Li(e.parent.parent.parent)||u0(e.parent))&&e.getSourceFile()===t:Ql(e)?!Li(e.parent)&&e.getSourceFile()===t:!1}function M1e(e){for(;;)if(Na(e.parent.parent))e=e.parent.parent;else return e.parent.parent}function oje(e){let t=e.parent;return t&&(V_(t)||Iu(t)||my(t))}function aje(e){for(;L1e(e);)e=e.parent;return Bo(e.parent)&&e.parent.expression===e}function L1e(e){return $d(e.parent)&&e.parent.right===e||Er(e.parent)&&e.parent.name===e}var Fce,zce,Bce,Gce,k1e=pt({\"src/services/classifier2020.ts\"(){\"use strict\";Hr(),Fce=(e=>(e[e.typeOffset=8]=\"typeOffset\",e[e.modifierMask=255]=\"modifierMask\",e))(Fce||{}),zce=(e=>(e[e.class=0]=\"class\",e[e.enum=1]=\"enum\",e[e.interface=2]=\"interface\",e[e.namespace=3]=\"namespace\",e[e.typeParameter=4]=\"typeParameter\",e[e.type=5]=\"type\",e[e.parameter=6]=\"parameter\",e[e.variable=7]=\"variable\",e[e.enumMember=8]=\"enumMember\",e[e.property=9]=\"property\",e[e.function=10]=\"function\",e[e.member=11]=\"member\",e))(zce||{}),Bce=(e=>(e[e.declaration=0]=\"declaration\",e[e.static=1]=\"static\",e[e.async=2]=\"async\",e[e.readonly=3]=\"readonly\",e[e.defaultLibrary=4]=\"defaultLibrary\",e[e.local=5]=\"local\",e))(Bce||{}),Gce=new Map([[260,7],[169,6],[172,9],[267,3],[266,1],[306,8],[263,0],[174,11],[262,10],[218,10],[173,11],[177,9],[178,9],[171,9],[264,2],[265,5],[168,4],[303,9],[304,9]])}});function O1e(e,t,r,i){let o=jM(e)?new FK(e,t,r):e===80?new BK(80,t,r):e===81?new GK(81,t,r):new Hce(e,t,r);return o.parent=i,o.flags=i.flags&101441536,o}function sje(e,t){if(!jM(e.kind))return je;let r=[];if(J8(e))return e.forEachChild(l=>{r.push(l)}),r;Id.setText((t||e.getSourceFile()).text);let i=e.pos,o=l=>{Ez(r,i,l.pos,e),r.push(l),i=l.end},s=l=>{Ez(r,i,l.pos,e),r.push(lje(l,e)),i=l.end};return an(e.jsDoc,o),i=e.pos,e.forEachChild(o,s),Ez(r,i,e.end,e),Id.setText(void 0),r}function Ez(e,t,r,i){for(Id.resetTokenState(t);t<r;){let o=Id.scan(),s=Id.getTokenEnd();if(s<=r){if(o===80){if(fre(i))continue;x.fail(`Did not expect ${x.formatSyntaxKind(i.kind)} to have an Identifier in its trivia`)}e.push(O1e(o,t,s,i))}if(t=s,o===1)break}}function lje(e,t){let r=O1e(358,e.pos,e.end,t);r._children=[];let i=e.pos;for(let o of e)Ez(r._children,i,o.pos,t),r._children.push(o),i=o.end;return Ez(r._children,i,e.end,t),r}function w1e(e){return Eb(e).some(t=>t.tagName.text===\"inheritDoc\"||t.tagName.text===\"inheritdoc\")}function kK(e,t){if(!e)return je;let r=Xb.getJsDocTagsFromDeclarations(e,t);if(t&&(r.length===0||e.some(w1e))){let i=new Set;for(let o of e){let s=W1e(t,o,l=>{var d;if(!i.has(l))return i.add(l),o.kind===177||o.kind===178?l.getContextualJsDocTags(o,t):((d=l.declarations)==null?void 0:d.length)===1?l.getJsDocTags():void 0});s&&(r=[...s,...r])}}return r}function Sz(e,t){if(!e)return je;let r=Xb.getJsDocCommentsFromDeclarations(e,t);if(t&&(r.length===0||e.some(w1e))){let i=new Set;for(let o of e){let s=W1e(t,o,l=>{if(!i.has(l))return i.add(l),o.kind===177||o.kind===178?l.getContextualDocumentationComment(o,t):l.getDocumentationComment(t)});s&&(r=r.length===0?s.slice():s.concat(yR(),r))}}return r}function W1e(e,t,r){var i;let o=((i=t.parent)==null?void 0:i.kind)===176?t.parent.parent:t.parent;if(!o)return;let s=jl(t);return ml(EC(o),l=>{let d=e.getTypeAtLocation(l),p=s&&d.symbol?e.getTypeOfSymbol(d.symbol):d,h=e.getPropertyOfType(p,t.symbol.name);return h?r(h):void 0})}function cje(){return{getNodeConstructor:()=>FK,getTokenConstructor:()=>Hce,getIdentifierConstructor:()=>BK,getPrivateIdentifierConstructor:()=>GK,getSourceFileConstructor:()=>j1e,getSymbolConstructor:()=>B1e,getTypeConstructor:()=>G1e,getSignatureConstructor:()=>V1e,getSourceMapSourceConstructor:()=>U1e}}function vO(e){let t=!0;for(let i in e)if(rs(e,i)&&!F1e(i)){t=!1;break}if(t)return e;let r={};for(let i in e)if(rs(e,i)){let o=F1e(i)?i:i.charAt(0).toLowerCase()+i.substr(1);r[o]=e[i]}return r}function F1e(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function yO(e){return e?nn(e,t=>t.text).join(\"\"):\"\"}function Tz(){return{target:1,jsx:1}}function OK(){return ud.getSupportedErrorCodes()}function z1e(e,t,r){e.version=r,e.scriptSnapshot=t}function Az(e,t,r,i,o,s){let l=B2(e,hR(t),r,o,s);return z1e(l,t,i),l}function wK(e,t,r,i,o){if(i&&r!==e.version){let l,d=i.span.start!==0?e.text.substr(0,i.span.start):\"\",p=Al(i.span)!==e.text.length?e.text.substr(Al(i.span)):\"\";if(i.newLength===0)l=d&&p?d+p:d||p;else{let m=t.getText(i.span.start,i.span.start+i.newLength);l=d&&p?d+m+p:d?d+m:m+p}let h=Kj(e,l,i,o);return z1e(h,t,r),h.nameTable=void 0,e!==h&&e.scriptSnapshot&&(e.scriptSnapshot.dispose&&e.scriptSnapshot.dispose(),e.scriptSnapshot=void 0),h}let s={languageVersion:e.languageVersion,impliedNodeFormat:e.impliedNodeFormat,setExternalModuleIndicator:e.setExternalModuleIndicator,jsDocParsingMode:e.jsDocParsingMode};return Az(e.fileName,t,s,r,!0,e.scriptKind)}function Vce(e,t=Ile(e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames(),e.getCurrentDirectory()),r){var i;let o;r===void 0?o=0:typeof r==\"boolean\"?o=r?2:0:o=r;let s=new H1e(e),l,d,p=0,h=e.getCancellationToken?new J1e(e.getCancellationToken()):q1e,m=e.getCurrentDirectory();Hne((i=e.getLocalizedDiagnosticMessages)==null?void 0:i.bind(e));function v(M){e.log&&e.log(M)}let E=yx(e),S=od(E),A=zle({useCaseSensitiveFileNames:()=>E,getCurrentDirectory:()=>m,getProgram:G,fileExists:Wo(e,e.fileExists),readFile:Wo(e,e.readFile),getDocumentPositionMapper:Wo(e,e.getDocumentPositionMapper),getSourceFileLike:Wo(e,e.getSourceFileLike),log:v});function C(M){let te=l.getSourceFile(M);if(!te){let j=new Error(`Could not find source file: '${M}'.`);throw j.ProgramFiles=l.getSourceFiles().map(se=>se.fileName),j}return te}function R(){e.updateFromProject&&!e.updateFromProjectInProgress?e.updateFromProject():L()}function L(){var M,te,j;if(x.assert(o!==2),e.getProjectVersion){let _o=e.getProjectVersion();if(_o){if(d===_o&&!((M=e.hasChangedAutomaticTypeDirectiveNames)!=null&&M.call(e)))return;d=_o}}let se=e.getTypeRootsVersion?e.getTypeRootsVersion():0;p!==se&&(v(\"TypeRoots version has changed; provide new program\"),l=void 0,p=se);let Pe=e.getScriptFileNames().slice(),Ie=e.getCompilationSettings()||Tz(),gt=e.hasInvalidatedResolutions||_m,bt=Wo(e,e.hasInvalidatedLibResolutions)||_m,Ot=Wo(e,e.hasChangedAutomaticTypeDirectiveNames),dn=(te=e.getProjectReferences)==null?void 0:te.call(e),An,Cn={getSourceFile:ms,getSourceFileByPath:Dl,getCancellationToken:()=>h,getCanonicalFileName:S,useCaseSensitiveFileNames:()=>E,getNewLine:()=>rv(Ie),getDefaultLibFileName:_o=>e.getDefaultLibFileName(_o),writeFile:Ca,getCurrentDirectory:()=>m,fileExists:_o=>e.fileExists(_o),readFile:_o=>e.readFile&&e.readFile(_o),getSymlinkCache:Wo(e,e.getSymlinkCache),realpath:Wo(e,e.realpath),directoryExists:_o=>gm(_o,e),getDirectories:_o=>e.getDirectories?e.getDirectories(_o):[],readDirectory:(_o,Va,vs,Js,Fc)=>(x.checkDefined(e.readDirectory,\"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'\"),e.readDirectory(_o,Va,vs,Js,Fc)),onReleaseOldSourceFile:_n,onReleaseParsedCommandLine:lo,hasInvalidatedResolutions:gt,hasInvalidatedLibResolutions:bt,hasChangedAutomaticTypeDirectiveNames:Ot,trace:Wo(e,e.trace),resolveModuleNames:Wo(e,e.resolveModuleNames),getModuleResolutionCache:Wo(e,e.getModuleResolutionCache),createHash:Wo(e,e.createHash),resolveTypeReferenceDirectives:Wo(e,e.resolveTypeReferenceDirectives),resolveModuleNameLiterals:Wo(e,e.resolveModuleNameLiterals),resolveTypeReferenceDirectiveReferences:Wo(e,e.resolveTypeReferenceDirectiveReferences),resolveLibrary:Wo(e,e.resolveLibrary),useSourceOfProjectReferenceRedirect:Wo(e,e.useSourceOfProjectReferenceRedirect),getParsedCommandLine:ui,jsDocParsingMode:e.jsDocParsingMode},ti=Cn.getSourceFile,{getSourceFileWithCache:di}=bk(Cn,_o=>ks(_o,m,S),(..._o)=>ti.call(Cn,..._o));Cn.getSourceFile=di,(j=e.setCompilerHost)==null||j.call(e,Cn);let jn={useCaseSensitiveFileNames:E,fileExists:_o=>Cn.fileExists(_o),readFile:_o=>Cn.readFile(_o),directoryExists:_o=>Cn.directoryExists(_o),getDirectories:_o=>Cn.getDirectories(_o),realpath:Cn.realpath,readDirectory:(..._o)=>Cn.readDirectory(..._o),trace:Cn.trace,getCurrentDirectory:Cn.getCurrentDirectory,onUnRecoverableConfigFileDiagnostic:Ca},Ar=t.getKeyForCompilationSettings(Ie),Zi=new Set;if(kH(l,Pe,Ie,(_o,Va)=>e.getScriptVersion(Va),_o=>Cn.fileExists(_o),gt,bt,Ot,ui,dn)){Cn=void 0,An=void 0,Zi=void 0;return}l=w4({rootNames:Pe,options:Ie,host:Cn,oldProgram:l,projectReferences:dn}),Cn=void 0,An=void 0,Zi=void 0,A.clearCache(),l.getTypeChecker();return;function ui(_o){let Va=ks(_o,m,S),vs=An?.get(Va);if(vs!==void 0)return vs||void 0;let Js=e.getParsedCommandLine?e.getParsedCommandLine(_o):Mr(_o);return(An||(An=new Map)).set(Va,Js||!1),Js}function Mr(_o){let Va=ms(_o,100);if(Va)return Va.path=ks(_o,m,S),Va.resolvedPath=Va.path,Va.originalFileName=Va.fileName,H2(Va,jn,Qi(Ur(_o),m),void 0,Qi(_o,m))}function lo(_o,Va,vs){var Js;e.getParsedCommandLine?(Js=e.onReleaseParsedCommandLine)==null||Js.call(e,_o,Va,vs):Va&&_n(Va.sourceFile,vs)}function _n(_o,Va){let vs=t.getKeyForCompilationSettings(Va);t.releaseDocumentWithKey(_o.resolvedPath,vs,_o.scriptKind,_o.impliedNodeFormat)}function ms(_o,Va,vs,Js){return Dl(_o,ks(_o,m,S),Va,vs,Js)}function Dl(_o,Va,vs,Js,Fc){x.assert(Cn,\"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.\");let $i=e.getScriptSnapshot(_o);if(!$i)return;let Uo=bJ(_o,e),zc=e.getScriptVersion(_o);if(!Fc){let ts=l&&l.getSourceFileByPath(Va);if(ts){if(Uo===ts.scriptKind||Zi.has(ts.resolvedPath))return t.updateDocumentWithKey(_o,Va,e,Ar,$i,zc,Uo,vs);t.releaseDocumentWithKey(ts.resolvedPath,t.getKeyForCompilationSettings(l.getCompilerOptions()),ts.scriptKind,ts.impliedNodeFormat),Zi.add(ts.resolvedPath)}}return t.acquireDocumentWithKey(_o,Va,e,Ar,$i,zc,Uo,vs)}}function G(){if(o===2){x.assert(l===void 0);return}return R(),l}function U(){var M;return(M=e.getPackageJsonAutoImportProvider)==null?void 0:M.call(e)}function K(M,te){let j=l.getTypeChecker(),se=Pe();if(!se)return!1;for(let gt of M)for(let bt of gt.references){let Ot=Ie(bt);if(x.assertIsDefined(Ot),te.has(bt)||fs.isDeclarationOfSymbol(Ot,se)){te.add(bt),bt.isDefinition=!0;let dn=P3(bt,A,Wo(e,e.fileExists));dn&&te.add(dn)}else bt.isDefinition=!1}return!0;function Pe(){for(let gt of M)for(let bt of gt.references){if(te.has(bt)){let dn=Ie(bt);return x.assertIsDefined(dn),j.getSymbolAtLocation(dn)}let Ot=P3(bt,A,Wo(e,e.fileExists));if(Ot&&te.has(Ot)){let dn=Ie(Ot);if(dn)return j.getSymbolAtLocation(dn)}}}function Ie(gt){let bt=l.getSourceFile(gt.fileName);if(!bt)return;let Ot=pu(bt,gt.textSpan.start);return fs.Core.getAdjustedNode(Ot,{use:fs.FindReferencesUse.References})}}function F(){if(l){let M=t.getKeyForCompilationSettings(l.getCompilerOptions());an(l.getSourceFiles(),te=>t.releaseDocumentWithKey(te.resolvedPath,M,te.scriptKind,te.impliedNodeFormat)),l=void 0}}function oe(){F(),e=void 0}function W(M){return R(),l.getSyntacticDiagnostics(C(M),h).slice()}function $(M){R();let te=C(M),j=l.getSemanticDiagnostics(te,h);if(!Xp(l.getCompilerOptions()))return j.slice();let se=l.getDeclarationDiagnostics(te,h);return[...j,...se]}function de(M){return R(),QJ(C(M),l,h)}function fe(){return R(),[...l.getOptionsDiagnostics(h),...l.getGlobalDiagnostics(h)]}function q(M,te,j=ef,se){let Pe={...j,includeCompletionsForModuleExports:j.includeCompletionsForModuleExports||j.includeExternalModuleExports,includeCompletionsWithInsertText:j.includeCompletionsWithInsertText||j.includeInsertTextCompletions};return R(),FI.getCompletionsAtPosition(e,l,v,C(M),te,Pe,j.triggerCharacter,j.triggerKind,h,se&&uc.getFormatContext(se,e),j.includeSymbol)}function H(M,te,j,se,Pe,Ie=ef,gt){return R(),FI.getCompletionEntryDetails(l,v,C(M),te,{name:j,source:Pe,data:gt},e,se&&uc.getFormatContext(se,e),Ie,h)}function ee(M,te,j,se,Pe=ef){return R(),FI.getCompletionEntrySymbol(l,v,C(M),te,{name:j,source:se},e,Pe)}function le(M,te){R();let j=C(M),se=pu(j,te);if(se===j)return;let Pe=l.getTypeChecker(),Ie=Ee(se),gt=fje(Ie,Pe);if(!gt||Pe.isUnknownSymbol(gt)){let Cn=ce(j,Ie,te)?Pe.getTypeAtLocation(Ie):void 0;return Cn&&{kind:\"\",kindModifiers:\"\",textSpan:eu(Ie,j),displayParts:Pe.runWithCancellationToken(h,ti=>Xk(ti,Cn,sT(Ie))),documentation:Cn.symbol?Cn.symbol.getDocumentationComment(Pe):void 0,tags:Cn.symbol?Cn.symbol.getJsDocTags(Pe):void 0}}let{symbolKind:bt,displayParts:Ot,documentation:dn,tags:An}=Pe.runWithCancellationToken(h,Cn=>gv.getSymbolDisplayPartsDocumentationAndSymbolKind(Cn,gt,j,sT(Ie),Ie));return{kind:bt,kindModifiers:gv.getSymbolModifiers(Pe,gt),textSpan:eu(Ie,j),displayParts:Ot,documentation:dn,tags:An}}function Ee(M){return o0(M.parent)&&M.pos===M.parent.pos?M.parent.expression:Ox(M.parent)&&M.pos===M.parent.pos||ex(M.parent)&&M.parent.name===M||Em(M.parent)?M.parent:M}function ce(M,te,j){switch(te.kind){case 80:return!Gq(te)&&!Vq(te)&&!Qh(te.parent);case 211:case 166:return!uv(M,j);case 110:case 197:case 108:case 202:return!0;case 236:return ex(te);default:return!1}}function Z(M,te,j,se){return R(),LR.getDefinitionAtPosition(l,C(M),te,j,se)}function pe(M,te){return R(),LR.getDefinitionAndBoundSpan(l,C(M),te)}function Ae(M,te){return R(),LR.getTypeDefinitionAtPosition(l.getTypeChecker(),C(M),te)}function Oe(M,te){return R(),fs.getImplementationsAtPosition(l,h,l.getSourceFiles(),C(M),te)}function _e(M,te,j){let se=Yo(M);x.assert(j.some(gt=>Yo(gt)===se)),R();let Pe=Fi(j,gt=>l.getSourceFile(gt)),Ie=C(M);return Z3.getDocumentHighlights(l,h,Ie,te,Pe)}function be(M,te,j,se,Pe){R();let Ie=C(M),gt=g3(pu(Ie,te));if($z.nodeIsEligibleForRename(gt))if(Me(gt)&&(r_(gt.parent)||l0(gt.parent))&&gx(gt.escapedText)){let{openingElement:bt,closingElement:Ot}=gt.parent.parent;return[bt,Ot].map(dn=>{let An=eu(dn.tagName,Ie);return{fileName:Ie.fileName,textSpan:An,...fs.toContextSpan(An,Ie,dn.parent)}})}else{let bt=Pp(Ie,Pe??ef),Ot=typeof Pe==\"boolean\"?Pe:Pe?.providePrefixAndSuffixTextForRename;return De(gt,te,{findInStrings:j,findInComments:se,providePrefixAndSuffixTextForRename:Ot,use:fs.FindReferencesUse.Rename},(dn,An,Cn)=>fs.toRenameLocation(dn,An,Cn,Ot||!1,bt))}}function Te(M,te){return R(),De(pu(C(M),te),te,{use:fs.FindReferencesUse.References},fs.toReferenceEntry)}function De(M,te,j,se){R();let Pe=j&&j.use===fs.FindReferencesUse.Rename?l.getSourceFiles().filter(Ie=>!l.isSourceFileDefaultLibrary(Ie)):l.getSourceFiles();return fs.findReferenceOrRenameEntries(l,h,Pe,M,te,j,se)}function ft(M,te){return R(),fs.findReferencedSymbols(l,h,l.getSourceFiles(),C(M),te)}function he(M){return R(),fs.Core.getReferencesForFileName(M,l,l.getSourceFiles()).map(fs.toReferenceEntry)}function Le(M,te,j,se=!1,Pe=!1){R();let Ie=j?[C(j)]:l.getSourceFiles();return sIe(Ie,l.getTypeChecker(),h,M,te,se,Pe)}function Ke(M,te,j){R();let se=C(M),Pe=e.getCustomTransformers&&e.getCustomTransformers();return kae(l,se,!!te,h,Pe,j)}function Dt(M,te,{triggerReason:j}=ef){R();let se=C(M);return OO.getSignatureHelpItems(l,se,te,j,h)}function st(M){return s.getCurrentSourceFile(M)}function Ge(M,te,j){let se=s.getCurrentSourceFile(M),Pe=pu(se,te);if(Pe===se)return;switch(Pe.kind){case 211:case 166:case 11:case 97:case 112:case 106:case 108:case 110:case 197:case 80:break;default:return}let Ie=Pe;for(;;)if(fR(Ie)||kse(Ie))Ie=Ie.parent;else if(Uq(Ie))if(Ie.parent.parent.kind===267&&Ie.parent.parent.body===Ie.parent)Ie=Ie.parent.parent.name;else break;else break;return Gl(Ie.getStart(),Pe.getEnd())}function ot(M,te){let j=s.getCurrentSourceFile(M);return jK.spanInSourceFileAtLocation(j,te)}function Vt(M){return uIe(s.getCurrentSourceFile(M),h)}function jt(M){return pIe(s.getCurrentSourceFile(M),h)}function gn(M,te,j){return R(),(j||\"original\")===\"2020\"?P1e(l,h,C(M),te):Tle(l.getTypeChecker(),h,C(M),l.getClassifiableNames(),te)}function On(M,te,j){return R(),(j||\"original\")===\"original\"?HJ(l.getTypeChecker(),h,C(M),l.getClassifiableNames(),te):Wce(l,h,C(M),te)}function en(M,te){return Ale(h,s.getCurrentSourceFile(M),te)}function zt(M,te){return qJ(h,s.getCurrentSourceFile(M),te)}function Wt(M){let te=s.getCurrentSourceFile(M);return zY.collectElements(te,h)}let ei=new Map(Object.entries({19:20,21:22,23:24,32:30}));ei.forEach((M,te)=>ei.set(M.toString(),Number(te)));function Ki(M,te){let j=s.getCurrentSourceFile(M),se=_R(j,te),Pe=se.getStart(j)===te?ei.get(se.kind.toString()):void 0,Ie=Pe&&Ya(se.parent,Pe,j);return Ie?[eu(se,j),eu(Ie,j)].sort((gt,bt)=>gt.start-bt.start):je}function gi(M,te,j){let se=Is(),Pe=vO(j),Ie=s.getCurrentSourceFile(M);v(\"getIndentationAtPosition: getCurrentSourceFile: \"+(Is()-se)),se=Is();let gt=uc.SmartIndenter.getIndentation(te,Ie,Pe);return v(\"getIndentationAtPosition: computeIndentation  : \"+(Is()-se)),gt}function io(M,te,j,se){let Pe=s.getCurrentSourceFile(M);return uc.formatSelection(te,j,Pe,uc.getFormatContext(vO(se),e))}function Gn(M,te){return uc.formatDocument(s.getCurrentSourceFile(M),uc.getFormatContext(vO(te),e))}function Nr(M,te,j,se){let Pe=s.getCurrentSourceFile(M),Ie=uc.getFormatContext(vO(se),e);if(!uv(Pe,te))switch(j){case\"{\":return uc.formatOnOpeningCurly(te,Pe,Ie);case\"}\":return uc.formatOnClosingCurly(te,Pe,Ie);case\";\":return uc.formatOnSemicolon(te,Pe,Ie);case`\n`:return uc.formatOnEnter(te,Pe,Ie)}return[]}function cr(M,te,j,se,Pe,Ie=ef){R();let gt=C(M),bt=Gl(te,j),Ot=uc.getFormatContext(Pe,e);return ta(NE(se,Hg,Ms),dn=>(h.throwIfCancellationRequested(),ud.getFixes({errorCode:dn,sourceFile:gt,span:bt,program:l,host:e,cancellationToken:h,formatContext:Ot,preferences:Ie})))}function Jt(M,te,j,se=ef){R(),x.assert(M.type===\"file\");let Pe=C(M.fileName),Ie=uc.getFormatContext(j,e);return ud.getAllFixes({fixId:te,sourceFile:Pe,program:l,host:e,cancellationToken:h,formatContext:Ie,preferences:se})}function Ue(M,te,j=ef){R(),x.assert(M.type===\"file\");let se=C(M.fileName),Pe=uc.getFormatContext(te,e),Ie=M.mode??(M.skipDestructiveCodeActions?\"SortAndCombine\":\"All\");return Zf.organizeImports(se,Pe,e,l,j,Ie)}function Rt(M,te,j,se=ef){return Rle(G(),M,te,e,uc.getFormatContext(j,e),se,A)}function mn(M,te){let j=typeof M==\"string\"?te:M;return oo(j)?Promise.all(j.map(se=>qr(se))):qr(j)}function qr(M){let te=j=>ks(j,m,S);return x.assertEqual(M.type,\"install package\"),e.installPackage?e.installPackage({fileName:te(M.file),packageName:M.packageName}):Promise.reject(\"Host does not implement `installPackage`\")}function ni(M,te,j,se){let Pe=se?uc.getFormatContext(se,e).options:void 0;return Xb.getDocCommentTemplateAtPosition(mv(e,Pe),s.getCurrentSourceFile(M),te,j)}function ki(M,te,j){if(j===60)return!1;let se=s.getCurrentSourceFile(M);if(RI(se,te))return!1;if(Gse(se,te))return j===123;if(Yq(se,te))return!1;switch(j){case 39:case 34:case 96:return!uv(se,te)}return!0}function so(M,te){let j=s.getCurrentSourceFile(M),se=ec(te,j);if(!se)return;let Pe=se.kind===32&&r_(se.parent)?se.parent.parent:ZA(se)&&Ch(se.parent)?se.parent:void 0;if(Pe&&tt(Pe))return{newText:`</${Pe.openingElement.tagName.getText(j)}>`};let Ie=se.kind===32&&fI(se.parent)?se.parent.parent:ZA(se)&&c0(se.parent)?se.parent:void 0;if(Ie&&yt(Ie))return{newText:\"</>\"}}function Jo(M,te){let j=s.getCurrentSourceFile(M),se=ec(te,j);if(!se||se.parent.kind===312)return;let Pe=\"[a-zA-Z0-9:\\\\-\\\\._$]*\";if(c0(se.parent.parent)){let Ie=se.parent.parent.openingFragment,gt=se.parent.parent.closingFragment;if(X1(Ie)||X1(gt))return;let bt=Ie.getStart(j)+1,Ot=gt.getStart(j)+2;return te!==bt&&te!==Ot?void 0:{ranges:[{start:bt,length:0},{start:Ot,length:0}],wordPattern:Pe}}else{let Ie=Rn(se.parent,di=>!!(r_(di)||l0(di)));if(!Ie)return;x.assert(r_(Ie)||l0(Ie),\"tag should be opening or closing element\");let gt=Ie.parent.openingElement,bt=Ie.parent.closingElement,Ot=gt.tagName.getStart(j),dn=gt.tagName.end,An=bt.tagName.getStart(j),Cn=bt.tagName.end;return Ot===gt.getStart(j)||An===bt.getStart(j)||dn===gt.getEnd()||Cn===bt.getEnd()||!(Ot<=te&&te<=dn||An<=te&&te<=Cn)||gt.tagName.getText(j)!==bt.tagName.getText(j)?void 0:{ranges:[{start:Ot,length:dn-Ot},{start:An,length:Cn-An}],wordPattern:Pe}}}function Ea(M,te){return{lineStarts:M.getLineStarts(),firstLine:M.getLineAndCharacterOfPosition(te.pos).line,lastLine:M.getLineAndCharacterOfPosition(te.end).line}}function ln(M,te,j){let se=s.getCurrentSourceFile(M),Pe=[],{lineStarts:Ie,firstLine:gt,lastLine:bt}=Ea(se,te),Ot=j||!1,dn=Number.MAX_VALUE,An=new Map,Cn=new RegExp(/\\S/),ti=b3(se,Ie[gt]),di=ti?\"{/*\":\"//\";for(let jn=gt;jn<=bt;jn++){let Ar=se.text.substring(Ie[jn],se.getLineEndOfPosition(Ie[jn])),Zi=Cn.exec(Ar);Zi&&(dn=Math.min(dn,Zi.index),An.set(jn.toString(),Zi.index),Ar.substr(Zi.index,di.length)!==di&&(Ot=j===void 0||j))}for(let jn=gt;jn<=bt;jn++){if(gt!==bt&&Ie[jn]===te.end)continue;let Ar=An.get(jn.toString());Ar!==void 0&&(ti?Pe.push(...Tn(M,{pos:Ie[jn]+dn,end:se.getLineEndOfPosition(Ie[jn])},Ot,ti)):Ot?Pe.push({newText:di,span:{length:0,start:Ie[jn]+dn}}):se.text.substr(Ie[jn]+Ar,di.length)===di&&Pe.push({newText:\"\",span:{length:di.length,start:Ie[jn]+Ar}}))}return Pe}function Tn(M,te,j,se){var Pe;let Ie=s.getCurrentSourceFile(M),gt=[],{text:bt}=Ie,Ot=!1,dn=j||!1,An=[],{pos:Cn}=te,ti=se!==void 0?se:b3(Ie,Cn),di=ti?\"{/*\":\"/*\",jn=ti?\"*/}\":\"*/\",Ar=ti?\"\\\\{\\\\/\\\\*\":\"\\\\/\\\\*\",Zi=ti?\"\\\\*\\\\/\\\\}\":\"\\\\*\\\\/\";for(;Cn<=te.end;){let _i=bt.substr(Cn,di.length)===di?di.length:0,ui=uv(Ie,Cn+_i);if(ui)ti&&(ui.pos--,ui.end++),An.push(ui.pos),ui.kind===3&&An.push(ui.end),Ot=!0,Cn=ui.end+1;else{let Mr=bt.substring(Cn,te.end).search(`(${Ar})|(${Zi})`);dn=j!==void 0?j:dn||!Zse(bt,Cn,Mr===-1?te.end:Cn+Mr),Cn=Mr===-1?te.end+1:Cn+Mr+jn.length}}if(dn||!Ot){((Pe=uv(Ie,te.pos))==null?void 0:Pe.kind)!==2&&Fv(An,te.pos,Ms),Fv(An,te.end,Ms);let _i=An[0];bt.substr(_i,di.length)!==di&&gt.push({newText:di,span:{length:0,start:_i}});for(let ui=1;ui<An.length-1;ui++)bt.substr(An[ui]-jn.length,jn.length)!==jn&&gt.push({newText:jn,span:{length:0,start:An[ui]}}),bt.substr(An[ui],di.length)!==di&&gt.push({newText:di,span:{length:0,start:An[ui]}});gt.length%2!==0&&gt.push({newText:jn,span:{length:0,start:An[An.length-1]}})}else for(let _i of An){let ui=_i-jn.length>0?_i-jn.length:0,Mr=bt.substr(ui,jn.length)===jn?jn.length:0;gt.push({newText:\"\",span:{length:di.length,start:_i-Mr}})}return gt}function ke(M,te){let j=s.getCurrentSourceFile(M),{firstLine:se,lastLine:Pe}=Ea(j,te);return se===Pe&&te.pos!==te.end?Tn(M,te,!0):ln(M,te,!0)}function nt(M,te){let j=s.getCurrentSourceFile(M),se=[],{pos:Pe}=te,{end:Ie}=te;Pe===Ie&&(Ie+=b3(j,Pe)?2:1);for(let gt=Pe;gt<=Ie;gt++){let bt=uv(j,gt);if(bt){switch(bt.kind){case 2:se.push(...ln(M,{end:bt.end,pos:bt.pos+1},!1));break;case 3:se.push(...Tn(M,{end:bt.end,pos:bt.pos+1},!1))}gt=bt.end+1}}return se}function tt({openingElement:M,closingElement:te,parent:j}){return!Fb(M.tagName,te.tagName)||Ch(j)&&Fb(M.tagName,j.openingElement.tagName)&&tt(j)}function yt({closingFragment:M,parent:te}){return!!(M.flags&262144)||c0(te)&&yt(te)}function re(M,te,j){let se=s.getCurrentSourceFile(M),Pe=uc.getRangeOfEnclosingComment(se,te);return Pe&&(!j||Pe.kind===3)?yy(Pe):void 0}function Ce(M,te){R();let j=C(M);h.throwIfCancellationRequested();let se=j.text,Pe=[];if(te.length>0&&!Ot(j.fileName)){let dn=gt(),An;for(;An=dn.exec(se);){h.throwIfCancellationRequested();let Cn=3;x.assert(An.length===te.length+Cn);let ti=An[1],di=An.index+ti.length;if(!uv(j,di))continue;let jn;for(let Zi=0;Zi<te.length;Zi++)An[Zi+Cn]&&(jn=te[Zi]);if(jn===void 0)return x.fail();if(bt(se.charCodeAt(di+jn.text.length)))continue;let Ar=An[2];Pe.push({descriptor:jn,message:Ar,position:di})}}return Pe;function Ie(dn){return dn.replace(/[-[\\]/{}()*+?.\\\\^$|]/g,\"\\\\$&\")}function gt(){let dn=/(?:\\/\\/+\\s*)/.source,An=/(?:\\/\\*+\\s*)/.source,ti=\"(\"+/(?:^(?:\\s|\\*)*)/.source+\"|\"+dn+\"|\"+An+\")\",di=\"(?:\"+nn(te,ui=>\"(\"+Ie(ui.text)+\")\").join(\"|\")+\")\",jn=/(?:$|\\*\\/)/.source,Ar=/(?:.*?)/.source,Zi=\"(\"+di+Ar+\")\",_i=ti+Zi+jn;return new RegExp(_i,\"gim\")}function bt(dn){return dn>=97&&dn<=122||dn>=65&&dn<=90||dn>=48&&dn<=57}function Ot(dn){return dn.includes(\"/node_modules/\")}}function et(M,te,j){return R(),$z.getRenameInfo(l,C(M),te,j||{})}function z(M,te,j,se,Pe,Ie){let[gt,bt]=typeof te==\"number\"?[te,void 0]:[te.pos,te.end];return{file:M,startPosition:gt,endPosition:bt,program:G(),host:e,formatContext:uc.getFormatContext(se,e),cancellationToken:h,preferences:j,triggerReason:Pe,kind:Ie}}function Je(M,te,j){return{file:M,program:G(),host:e,span:te,preferences:j,cancellationToken:h}}function _t(M,te){return VY.getSmartSelectionRange(te,s.getCurrentSourceFile(M))}function ze(M,te,j=ef,se,Pe,Ie){R();let gt=C(M);return MI.getApplicableRefactors(z(gt,te,j,ef,se,Pe),Ie)}function it(M,te,j=ef){R();let se=C(M),Pe=x.checkDefined(l.getSourceFiles()),Ie=jC(M),gt=pO(z(se,te,j,ef)),bt=mce(gt?.all),Ot=Fi(Pe,dn=>{let An=jC(dn.fileName);return!l?.isSourceFileFromExternalLibrary(se)&&!(se===C(dn.fileName)||Ie===\".ts\"&&An===\".d.ts\"||Ie===\".d.ts\"&&Ui(Ll(dn.fileName),\"lib.\")&&An===\".d.ts\")&&(Ie===An||(Ie===\".tsx\"&&An===\".ts\"||Ie===\".jsx\"&&An===\".js\")&&!bt)?dn.fileName:void 0});return{newFileName:fce(se,l,e,gt),files:Ot}}function Ct(M,te,j,se,Pe,Ie=ef,gt){R();let bt=C(M);return MI.getEditsForRefactor(z(bt,j,Ie,te),se,Pe,gt)}function on(M,te){return te===0?{line:0,character:0}:A.toLineColumnOffset(M,te)}function Qt(M,te){R();let j=LI.resolveCallHierarchyDeclaration(l,pu(C(M),te));return j&&PJ(j,se=>LI.createCallHierarchyItem(l,se))}function Zt(M,te){R();let j=C(M),se=MJ(LI.resolveCallHierarchyDeclaration(l,te===0?j:pu(j,te)));return se?LI.getIncomingCalls(l,se,h):[]}function V(M,te){R();let j=C(M),se=MJ(LI.resolveCallHierarchyDeclaration(l,te===0?j:pu(j,te)));return se?LI.getOutgoingCalls(l,se):[]}function Re(M,te,j=ef){R();let se=C(M);return OY.provideInlayHints(Je(se,te,j))}let St={dispose:oe,cleanupSemanticCache:F,getSyntacticDiagnostics:W,getSemanticDiagnostics:$,getSuggestionDiagnostics:de,getCompilerOptionsDiagnostics:fe,getSyntacticClassifications:en,getSemanticClassifications:gn,getEncodedSyntacticClassifications:zt,getEncodedSemanticClassifications:On,getCompletionsAtPosition:q,getCompletionEntryDetails:H,getCompletionEntrySymbol:ee,getSignatureHelpItems:Dt,getQuickInfoAtPosition:le,getDefinitionAtPosition:Z,getDefinitionAndBoundSpan:pe,getImplementationAtPosition:Oe,getTypeDefinitionAtPosition:Ae,getReferencesAtPosition:Te,findReferences:ft,getFileReferences:he,getDocumentHighlights:_e,getNameOrDottedNameSpan:Ge,getBreakpointStatementAtPosition:ot,getNavigateToItems:Le,getRenameInfo:et,getSmartSelectionRange:_t,findRenameLocations:be,getNavigationBarItems:Vt,getNavigationTree:jt,getOutliningSpans:Wt,getTodoComments:Ce,getBraceMatchingAtPosition:Ki,getIndentationAtPosition:gi,getFormattingEditsForRange:io,getFormattingEditsForDocument:Gn,getFormattingEditsAfterKeystroke:Nr,getDocCommentTemplateAtPosition:ni,isValidBraceCompletionAtPosition:ki,getJsxClosingTagAtPosition:so,getLinkedEditingRangeAtPosition:Jo,getSpanOfEnclosingComment:re,getCodeFixesAtPosition:cr,getCombinedCodeFix:Jt,applyCodeActionCommand:mn,organizeImports:Ue,getEditsForFileRename:Rt,getEmitOutput:Ke,getNonBoundSourceFile:st,getProgram:G,getCurrentProgram:()=>l,getAutoImportProvider:U,updateIsDefinitionOfReferencedSymbols:K,getApplicableRefactors:ze,getEditsForRefactor:Ct,getMoveToRefactoringFileSuggestions:it,toLineColumnOffset:on,getSourceMapper:()=>A,clearSourceMapperCache:()=>A.clearCache(),prepareCallHierarchy:Qt,provideCallHierarchyIncomingCalls:Zt,provideCallHierarchyOutgoingCalls:V,toggleLineComment:ln,toggleMultilineComment:Tn,commentSelection:ke,uncommentSelection:nt,provideInlayHints:Re,getSupportedCodeFixes:OK};switch(o){case 0:break;case 1:qce.forEach(M=>St[M]=()=>{throw new Error(`LanguageService Operation: ${M} not allowed in LanguageServiceMode.PartialSemantic`)});break;case 2:K1e.forEach(M=>St[M]=()=>{throw new Error(`LanguageService Operation: ${M} not allowed in LanguageServiceMode.Syntactic`)});break;default:x.assertNever(o)}return St}function WK(e){return e.nameTable||dje(e),e.nameTable}function dje(e){let t=e.nameTable=new Map;e.forEachChild(function r(i){if(Me(i)&&!Vq(i)&&i.escapedText||Ap(i)&&uje(i)){let o=AC(i);t.set(o,t.get(o)===void 0?i.pos:-1)}else if(Ci(i)){let o=i.escapedText;t.set(o,t.get(o)===void 0?i.pos:-1)}if(Ao(i,r),ap(i))for(let o of i.jsDoc)Ao(o,r)})}function uje(e){return ng(e)||e.parent.kind===283||mje(e)||LL(e)}function bO(e){let t=pje(e);return t&&(ma(t.parent)||d0(t.parent))?t:void 0}function pje(e){switch(e.kind){case 11:case 15:case 9:if(e.parent.kind===167)return r9(e.parent.parent)?e.parent.parent:void 0;case 80:return r9(e.parent)&&(e.parent.parent.kind===210||e.parent.parent.kind===292)&&e.parent.name===e?e.parent:void 0}}function fje(e,t){let r=bO(e);if(r){let i=t.getContextualType(r.parent),o=i&&Iz(r,t,i,!1);if(o&&o.length===1)return Ta(o)}return t.getSymbolAtLocation(e)}function Iz(e,t,r,i){let o=qk(e.name);if(!o)return je;if(!r.isUnion()){let d=r.getProperty(o);return d?[d]:je}let s=ma(e.parent)||d0(e.parent)?Cr(r.types,d=>!t.isTypeInvalidDueToUnionDiscriminant(d,e.parent)):r.types,l=Fi(s,d=>d.getProperty(o));if(i&&(l.length===0||l.length===r.types.length)){let d=r.getProperty(o);if(d)return[d]}return!s.length&&!l.length?Fi(r.types,d=>d.getProperty(o)):NE(l,Hg)}function mje(e){return e&&e.parent&&e.parent.kind===212&&e.parent.argumentExpression===e}function jce(e){if(Hc)return wr(Ur(Yo(Hc.getExecutingFilePath())),OM(e));throw new Error(\"getDefaultLibFilePath is only supported when consumed as a node module. \")}var Uce,FK,zK,B1e,Hce,BK,GK,G1e,V1e,j1e,U1e,H1e,q1e,J1e,VK,qce,K1e,_je=pt({\"src/services/services.ts\"(){\"use strict\";Hr(),dIe(),PIe(),J_(),BAe(),k1e(),Uce=\"0.8\",FK=class{constructor(e,t,r){this.pos=t,this.end=r,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=e}assertHasRealPosition(e){x.assert(!ym(this.pos)&&!ym(this.end),e||\"Node must have a real position for this operation\")}getSourceFile(){return Nn(this)}getStart(e,t){return this.assertHasRealPosition(),Tb(this,e,t)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos}getFullText(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(e){return this.getChildren(e).length}getChildAt(e,t){return this.getChildren(t)[e]}getChildren(e){return this.assertHasRealPosition(\"Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine\"),this._children||(this._children=sje(this,e))}getFirstToken(e){this.assertHasRealPosition();let t=this.getChildren(e);if(!t.length)return;let r=Dr(t,i=>i.kind<316||i.kind>357);return r.kind<166?r:r.getFirstToken(e)}getLastToken(e){this.assertHasRealPosition();let t=this.getChildren(e),r=Ns(t);if(r)return r.kind<166?r:r.getLastToken(e)}forEachChild(e,t){return Ao(this,e,t)}},zK=class{constructor(e,t){this.pos=e,this.end=t,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0}getSourceFile(){return Nn(this)}getStart(e,t){return Tb(this,e,t)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(e){return this.getEnd()-this.getStart(e)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(e){return this.getStart(e)-this.pos}getFullText(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(e){return this.getChildren()[e]}getChildren(){return this.kind===1&&this.jsDoc||je}getFirstToken(){}getLastToken(){}forEachChild(){}},B1e=class{constructor(e,t){this.id=0,this.mergeId=0,this.flags=e,this.escapedName=t}getFlags(){return this.flags}get name(){return $s(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(e){if(!this.documentationComment)if(this.documentationComment=je,!this.declarations&&k_(this)&&this.links.target&&k_(this.links.target)&&this.links.target.links.tupleLabelDeclaration){let t=this.links.target.links.tupleLabelDeclaration;this.documentationComment=Sz([t],e)}else this.documentationComment=Sz(this.declarations,e);return this.documentationComment}getContextualDocumentationComment(e,t){if(e){if(Yv(e)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=Sz(Cr(this.declarations,Yv),t)),yn(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if($g(e)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=Sz(Cr(this.declarations,$g),t)),yn(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(t)}getJsDocTags(e){return this.tags===void 0&&(this.tags=kK(this.declarations,e)),this.tags}getContextualJsDocTags(e,t){if(e){if(Yv(e)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=kK(Cr(this.declarations,Yv),t)),yn(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if($g(e)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=kK(Cr(this.declarations,$g),t)),yn(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(t)}},Hce=class extends zK{constructor(e,t,r){super(t,r),this.kind=e}},BK=class extends zK{constructor(e,t,r){super(t,r),this.kind=80}get text(){return ar(this)}},BK.prototype.kind=80,GK=class extends zK{constructor(e,t,r){super(t,r),this.kind=81}get text(){return ar(this)}},GK.prototype.kind=81,G1e=class{constructor(e,t){this.checker=e,this.flags=t}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(e){return this.checker.getPropertyOfType(this,e)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(this.flags&1048576)}isIntersection(){return!!(this.flags&2097152)}isUnionOrIntersection(){return!!(this.flags&3145728)}isLiteral(){return!!(this.flags&2432)}isStringLiteral(){return!!(this.flags&128)}isNumberLiteral(){return!!(this.flags&256)}isTypeParameter(){return!!(this.flags&262144)}isClassOrInterface(){return!!(br(this)&3)}isClass(){return!!(br(this)&1)}isIndexType(){return!!(this.flags&4194304)}get typeArguments(){if(br(this)&4)return this.checker.getTypeArguments(this)}},V1e=class{constructor(e,t){this.checker=e,this.flags=t}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(e){let t=this.checker.getParameterType(this,e);if(t.isIndexType()&&YC(t.type)){let r=t.type.getConstraint();if(r)return this.checker.getIndexType(r)}return t}getDocumentationComment(){return this.documentationComment||(this.documentationComment=Sz(EA(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=kK(EA(this.declaration),this.checker))}},j1e=class extends FK{constructor(e,t,r){super(e,t,r),this.kind=312}update(e,t){return Kj(this,e,t)}getLineAndCharacterOfPosition(e){return $a(this,e)}getLineStarts(){return Yh(this)}getPositionOfLineAndCharacter(e,t,r){return R8(Yh(this),e,t,this.text,r)}getLineEndOfPosition(e){let{line:t}=this.getLineAndCharacterOfPosition(e),r=this.getLineStarts(),i;t+1>=r.length&&(i=this.getEnd()),i||(i=r[t+1]-1);let o=this.getFullText();return o[i]===`\n`&&o[i-1]===\"\\r\"?i-1:i}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){let e=Ep();return this.forEachChild(o),e;function t(s){let l=i(s);l&&e.add(l,s)}function r(s){let l=e.get(s);return l||e.set(s,l=[]),l}function i(s){let l=M8(s);return l&&(Pa(l)&&Er(l.expression)?l.expression.name.text:kl(l)?qk(l):void 0)}function o(s){switch(s.kind){case 262:case 218:case 174:case 173:let l=s,d=i(l);if(d){let m=r(d),v=Ns(m);v&&l.parent===v.parent&&l.symbol===v.symbol?l.body&&!v.body&&(m[m.length-1]=l):m.push(l)}Ao(s,o);break;case 263:case 231:case 264:case 265:case 266:case 267:case 271:case 281:case 276:case 273:case 274:case 177:case 178:case 187:t(s),Ao(s,o);break;case 169:if(!Wr(s,31))break;case 260:case 208:{let m=s;if(ko(m.name)){Ao(m.name,o);break}m.initializer&&o(m.initializer)}case 306:case 172:case 171:t(s);break;case 278:let p=s;p.exportClause&&($p(p.exportClause)?an(p.exportClause.elements,o):o(p.exportClause.name));break;case 272:let h=s.importClause;h&&(h.name&&t(h.name),h.namedBindings&&(h.namedBindings.kind===274?t(h.namedBindings):an(h.namedBindings.elements,o)));break;case 226:hl(s)!==0&&t(s);default:Ao(s,o)}}}},U1e=class{constructor(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}getLineAndCharacterOfPosition(e){return $a(this,e)}},H1e=class{constructor(e){this.host=e}getCurrentSourceFile(e){var t,r,i,o,s,l,d,p;let h=this.host.getScriptSnapshot(e);if(!h)throw new Error(\"Could not find file: '\"+e+\"'.\");let m=bJ(e,this.host),v=this.host.getScriptVersion(e),E;if(this.currentFileName!==e){let S={languageVersion:99,impliedNodeFormat:Tk(ks(e,this.host.getCurrentDirectory(),((i=(r=(t=this.host).getCompilerHost)==null?void 0:r.call(t))==null?void 0:i.getCanonicalFileName)||ev(this.host)),(p=(d=(l=(s=(o=this.host).getCompilerHost)==null?void 0:s.call(o))==null?void 0:l.getModuleResolutionCache)==null?void 0:d.call(l))==null?void 0:p.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:XL(this.host.getCompilationSettings()),jsDocParsingMode:0};E=Az(e,h,S,v,!0,m)}else if(this.currentFileVersion!==v){let S=h.getChangeRange(this.currentFileScriptSnapshot);E=wK(this.currentSourceFile,h,v,S)}return E&&(this.currentFileVersion=v,this.currentFileName=e,this.currentFileScriptSnapshot=h,this.currentSourceFile=E),this.currentSourceFile}},q1e={isCancellationRequested:_m,throwIfCancellationRequested:Ca},J1e=class{constructor(e){this.cancellationToken=e}isCancellationRequested(){return this.cancellationToken.isCancellationRequested()}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=qn)==null||e.instant(qn.Phase.Session,\"cancellationThrown\",{kind:\"CancellationTokenObject\"}),new k1}},VK=class{constructor(e,t=20){this.hostCancellationToken=e,this.throttleWaitMilliseconds=t,this.lastCancellationCheckTime=0}isCancellationRequested(){let e=Is();return Math.abs(e-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds?(this.lastCancellationCheckTime=e,this.hostCancellationToken.isCancellationRequested()):!1}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=qn)==null||e.instant(qn.Phase.Session,\"cancellationThrown\",{kind:\"ThrottledCancellationToken\"}),new k1}},qce=[\"getSemanticDiagnostics\",\"getSuggestionDiagnostics\",\"getCompilerOptionsDiagnostics\",\"getSemanticClassifications\",\"getEncodedSemanticClassifications\",\"getCodeFixesAtPosition\",\"getCombinedCodeFix\",\"applyCodeActionCommand\",\"organizeImports\",\"getEditsForFileRename\",\"getEmitOutput\",\"getApplicableRefactors\",\"getEditsForRefactor\",\"prepareCallHierarchy\",\"provideCallHierarchyIncomingCalls\",\"provideCallHierarchyOutgoingCalls\",\"provideInlayHints\",\"getSupportedCodeFixes\"],K1e=[...qce,\"getCompletionsAtPosition\",\"getCompletionEntryDetails\",\"getCompletionEntrySymbol\",\"getSignatureHelpItems\",\"getQuickInfoAtPosition\",\"getDefinitionAtPosition\",\"getDefinitionAndBoundSpan\",\"getImplementationAtPosition\",\"getTypeDefinitionAtPosition\",\"getReferencesAtPosition\",\"findReferences\",\"getDocumentHighlights\",\"getNavigateToItems\",\"getRenameInfo\",\"findRenameLocations\",\"getApplicableRefactors\"],jne(cje())}});function X1e(e,t,r){let i=[];r=rK(r,i);let o=oo(e)?e:[e],s=mk(void 0,void 0,P,r,o,t,!0);return s.diagnostics=ro(s.diagnostics,i),s}var hje=pt({\"src/services/transform.ts\"(){\"use strict\";Hr()}});function gje(e,t){if(e.isDeclarationFile)return;let r=Hi(e,t),i=e.getLineAndCharacterOfPosition(t).line;if(e.getLineAndCharacterOfPosition(r.getStart(e)).line>i){let v=ec(r.pos,e);if(!v||e.getLineAndCharacterOfPosition(v.getEnd()).line!==i)return;r=v}if(r.flags&33554432)return;return m(r);function o(v,E){let S=ZS(v)?hA(v.modifiers,Xc):void 0,A=S?pa(e.text,S.end):v.getStart(e);return Gl(A,(E||v).getEnd())}function s(v,E){return o(v,S0(E,E.parent,e))}function l(v,E){return v&&i===e.getLineAndCharacterOfPosition(v.getStart(e)).line?m(v):m(E)}function d(v,E,S){if(v){let A=v.indexOf(E);if(A>=0){let C=A,R=A+1;for(;C>0&&S(v[C-1]);)C--;for(;R<v.length&&S(v[R]);)R++;return Gl(pa(e.text,v[C].pos),v[R-1].end)}}return o(E)}function p(v){return m(ec(v.pos,e))}function h(v){return m(S0(v,v.parent,e))}function m(v){if(v){let{parent:Z}=v;switch(v.kind){case 243:return S(v.declarationList.declarations[0]);case 260:case 172:case 171:return S(v);case 169:return C(v);case 262:case 174:case 173:case 177:case 178:case 176:case 218:case 219:return L(v);case 241:if(VE(v))return G(v);case 268:return U(v);case 299:return U(v.block);case 244:return o(v.expression);case 253:return o(v.getChildAt(0),v.expression);case 247:return s(v,v.expression);case 246:return m(v.statement);case 259:return o(v.getChildAt(0));case 245:return s(v,v.expression);case 256:return m(v.statement);case 252:case 251:return o(v.getChildAt(0),v.label);case 248:return F(v);case 249:return s(v,v.expression);case 250:return K(v);case 255:return s(v,v.expression);case 296:case 297:return m(v.statements[0]);case 258:return U(v.tryBlock);case 257:return o(v,v.expression);case 277:return o(v,v.expression);case 271:return o(v,v.moduleReference);case 272:return o(v,v.moduleSpecifier);case 278:return o(v,v.moduleSpecifier);case 267:if(dg(v)!==1)return;case 263:case 266:case 306:case 208:return o(v);case 254:return m(v.statement);case 170:return d(Z.modifiers,v,Xc);case 206:case 207:return oe(v);case 264:case 265:return;case 27:case 1:return l(ec(v.pos,e));case 28:return p(v);case 19:return $(v);case 20:return de(v);case 24:return fe(v);case 21:return q(v);case 22:return H(v);case 59:return ee(v);case 32:case 30:return le(v);case 117:return Ee(v);case 93:case 85:case 98:return h(v);case 165:return ce(v);default:if(pv(v))return W(v);if((v.kind===80||v.kind===230||v.kind===303||v.kind===304)&&pv(Z))return o(v);if(v.kind===226){let{left:pe,operatorToken:Ae}=v;if(pv(pe))return W(pe);if(Ae.kind===64&&pv(v.parent))return o(v);if(Ae.kind===28)return m(pe)}if(bh(v))switch(Z.kind){case 246:return p(v);case 170:return m(v.parent);case 248:case 250:return o(v);case 226:if(v.parent.operatorToken.kind===28)return o(v);break;case 219:if(v.parent.body===v)return o(v);break}switch(v.parent.kind){case 303:if(v.parent.name===v&&!pv(v.parent.parent))return m(v.parent.initializer);break;case 216:if(v.parent.type===v)return h(v.parent.type);break;case 260:case 169:{let{initializer:pe,type:Ae}=v.parent;if(pe===v||Ae===v||tv(v.kind))return p(v);break}case 226:{let{left:pe}=v.parent;if(pv(pe)&&v!==pe)return p(v);break}default:if(Lo(v.parent)&&v.parent.type===v)return p(v)}return m(v.parent)}}function E(Z){return yc(Z.parent)&&Z.parent.declarations[0]===Z?o(ec(Z.pos,e,Z.parent),Z):o(Z)}function S(Z){if(Z.parent.parent.kind===249)return m(Z.parent.parent);let pe=Z.parent;if(ko(Z.name))return oe(Z.name);if(SS(Z)&&Z.initializer||Wr(Z,32)||pe.parent.kind===250)return E(Z);if(yc(Z.parent)&&Z.parent.declarations[0]!==Z)return m(ec(Z.pos,e,Z.parent))}function A(Z){return!!Z.initializer||Z.dotDotDotToken!==void 0||Wr(Z,3)}function C(Z){if(ko(Z.name))return oe(Z.name);if(A(Z))return o(Z);{let pe=Z.parent,Ae=pe.parameters.indexOf(Z);return x.assert(Ae!==-1),Ae!==0?C(pe.parameters[Ae-1]):m(pe.body)}}function R(Z){return Wr(Z,32)||Z.parent.kind===263&&Z.kind!==176}function L(Z){if(Z.body)return R(Z)?o(Z):m(Z.body)}function G(Z){let pe=Z.statements.length?Z.statements[0]:Z.getLastToken();return R(Z.parent)?l(Z.parent,pe):m(pe)}function U(Z){switch(Z.parent.kind){case 267:if(dg(Z.parent)!==1)return;case 247:case 245:case 249:return l(Z.parent,Z.statements[0]);case 248:case 250:return l(ec(Z.pos,e,Z.parent),Z.statements[0])}return m(Z.statements[0])}function K(Z){if(Z.initializer.kind===261){let pe=Z.initializer;if(pe.declarations.length>0)return m(pe.declarations[0])}else return m(Z.initializer)}function F(Z){if(Z.initializer)return K(Z);if(Z.condition)return o(Z.condition);if(Z.incrementor)return o(Z.incrementor)}function oe(Z){let pe=an(Z.elements,Ae=>Ae.kind!==232?Ae:void 0);return pe?m(pe):Z.parent.kind===208?o(Z.parent):E(Z.parent)}function W(Z){x.assert(Z.kind!==207&&Z.kind!==206);let pe=Z.kind===209?Z.elements:Z.properties,Ae=an(pe,Oe=>Oe.kind!==232?Oe:void 0);return Ae?m(Ae):o(Z.parent.kind===226?Z.parent:Z)}function $(Z){switch(Z.parent.kind){case 266:let pe=Z.parent;return l(ec(Z.pos,e,Z.parent),pe.members.length?pe.members[0]:pe.getLastToken(e));case 263:let Ae=Z.parent;return l(ec(Z.pos,e,Z.parent),Ae.members.length?Ae.members[0]:Ae.getLastToken(e));case 269:return l(Z.parent.parent,Z.parent.clauses[0])}return m(Z.parent)}function de(Z){switch(Z.parent.kind){case 268:if(dg(Z.parent.parent)!==1)return;case 266:case 263:return o(Z);case 241:if(VE(Z.parent))return o(Z);case 299:return m(Ns(Z.parent.statements));case 269:let pe=Z.parent,Ae=Ns(pe.clauses);return Ae?m(Ns(Ae.statements)):void 0;case 206:let Oe=Z.parent;return m(Ns(Oe.elements)||Oe);default:if(pv(Z.parent)){let _e=Z.parent;return o(Ns(_e.properties)||_e)}return m(Z.parent)}}function fe(Z){switch(Z.parent.kind){case 207:let pe=Z.parent;return o(Ns(pe.elements)||pe);default:if(pv(Z.parent)){let Ae=Z.parent;return o(Ns(Ae.elements)||Ae)}return m(Z.parent)}}function q(Z){return Z.parent.kind===246||Z.parent.kind===213||Z.parent.kind===214?p(Z):Z.parent.kind===217?h(Z):m(Z.parent)}function H(Z){switch(Z.parent.kind){case 218:case 262:case 219:case 174:case 173:case 177:case 178:case 176:case 247:case 246:case 248:case 250:case 213:case 214:case 217:return p(Z);default:return m(Z.parent)}}function ee(Z){return Lo(Z.parent)||Z.parent.kind===303||Z.parent.kind===169?p(Z):m(Z.parent)}function le(Z){return Z.parent.kind===216?h(Z):m(Z.parent)}function Ee(Z){return Z.parent.kind===246?s(Z,Z.parent.expression):m(Z.parent)}function ce(Z){return Z.parent.kind===250?h(Z):m(Z.parent)}}}var vje=pt({\"src/services/breakpoints.ts\"(){\"use strict\";Hr()}}),jK={};la(jK,{spanInSourceFileAtLocation:()=>gje});var yje=pt({\"src/services/_namespaces/ts.BreakpointResolver.ts\"(){\"use strict\";vje()}});function bje(e){return(ps(e)||Dc(e))&&Ld(e)}function Y1e(e){return xo(e)||yi(e)}function EO(e){return(ps(e)||gs(e)||Dc(e))&&Y1e(e.parent)&&e===e.parent.initializer&&Me(e.parent.name)&&(!!(Xg(e.parent)&2)||xo(e.parent))}function $1e(e){return Li(e)||Il(e)||Ql(e)||ps(e)||Zl(e)||Dc(e)||nl(e)||El(e)||B_(e)||Ip(e)||Vu(e)}function RR(e){return Li(e)||Il(e)&&Me(e.name)||Ql(e)||Zl(e)||nl(e)||El(e)||B_(e)||Ip(e)||Vu(e)||bje(e)||EO(e)}function Q1e(e){return Li(e)?e:Ld(e)?e.name:EO(e)?e.parent.name:x.checkDefined(e.modifiers&&Dr(e.modifiers,Z1e))}function Z1e(e){return e.kind===90}function exe(e,t){let r=Q1e(t);return r&&e.getSymbolAtLocation(r)}function Eje(e,t){if(Li(t))return{text:t.fileName,pos:0,end:0};if((Ql(t)||Zl(t))&&!Ld(t)){let o=t.modifiers&&Dr(t.modifiers,Z1e);if(o)return{text:\"default\",pos:o.getStart(),end:o.getEnd()}}if(nl(t)){let o=t.getSourceFile(),s=pa(o.text,Zm(t).pos),l=s+6,d=e.getTypeChecker(),p=d.getSymbolAtLocation(t.parent);return{text:`${p?`${d.symbolToString(p,t.parent)} `:\"\"}static {}`,pos:s,end:l}}let r=EO(t)?t.parent.name:x.checkDefined(mo(t),\"Expected call hierarchy item to have a name\"),i=Me(r)?ar(r):Ap(r)?r.text:Pa(r)&&Ap(r.expression)?r.expression.text:void 0;if(i===void 0){let o=e.getTypeChecker(),s=o.getSymbolAtLocation(r);s&&(i=o.symbolToString(s,t))}if(i===void 0){let o=hk();i=dC(s=>o.writeNode(4,t,t.getSourceFile(),s))}return{text:i,pos:r.getStart(),end:r.getEnd()}}function Sje(e){var t,r,i,o;if(EO(e))return xo(e.parent)&&Kr(e.parent.parent)?Dc(e.parent.parent)?(t=L8(e.parent.parent))==null?void 0:t.getText():(r=e.parent.parent.name)==null?void 0:r.getText():n_(e.parent.parent.parent.parent)&&Me(e.parent.parent.parent.parent.parent.name)?e.parent.parent.parent.parent.parent.name.getText():void 0;switch(e.kind){case 177:case 178:case 174:return e.parent.kind===210?(i=L8(e.parent))==null?void 0:i.getText():(o=mo(e.parent))==null?void 0:o.getText();case 262:case 263:case 267:if(n_(e.parent)&&Me(e.parent.parent.name))return e.parent.parent.name.getText()}}function txe(e,t){if(t.body)return t;if(ll(t))return Ah(t.parent);if(Ql(t)||El(t)){let r=exe(e,t);return r&&r.valueDeclaration&&hs(r.valueDeclaration)&&r.valueDeclaration.body?r.valueDeclaration:void 0}return t}function nxe(e,t){let r=exe(e,t),i;if(r&&r.declarations){let o=uM(r.declarations),s=nn(r.declarations,p=>({file:p.getSourceFile().fileName,pos:p.pos}));o.sort((p,h)=>gd(s[p].file,s[h].file)||s[p].pos-s[h].pos);let l=nn(o,p=>r.declarations[p]),d;for(let p of l)RR(p)&&((!d||d.parent!==p.parent||d.end!==p.pos)&&(i=pn(i,p)),d=p)}return i}function UK(e,t){return nl(t)?t:hs(t)?txe(e,t)??nxe(e,t)??t:nxe(e,t)??t}function rxe(e,t){let r=e.getTypeChecker(),i=!1;for(;;){if(RR(t))return UK(r,t);if($1e(t)){let o=Rn(t,RR);return o&&UK(r,o)}if(ng(t)){if(RR(t.parent))return UK(r,t.parent);if($1e(t.parent)){let o=Rn(t.parent,RR);return o&&UK(r,o)}return Y1e(t.parent)&&t.parent.initializer&&EO(t.parent.initializer)?t.parent.initializer:void 0}if(ll(t))return RR(t.parent)?t.parent:void 0;if(t.kind===126&&nl(t.parent)){t=t.parent;continue}if(yi(t)&&t.initializer&&EO(t.initializer))return t.initializer;if(!i){let o=r.getSymbolAtLocation(t);if(o&&(o.flags&2097152&&(o=r.getAliasedSymbol(o)),o.valueDeclaration)){i=!0,t=o.valueDeclaration;continue}}return}}function Jce(e,t){let r=t.getSourceFile(),i=Eje(e,t),o=Sje(t),s=E0(t),l=YN(t),d=Gl(pa(r.text,t.getFullStart(),!1,!0),t.getEnd()),p=Gl(i.pos,i.end);return{file:r.fileName,kind:s,kindModifiers:l,name:i.text,containerName:o,span:d,selectionSpan:p}}function Tje(e){return e!==void 0}function Aje(e){if(e.kind===fs.EntryKind.Node){let{node:t}=e;if(Fq(t,!0,!0)||Nse(t,!0,!0)||Pse(t,!0,!0)||Mse(t,!0,!0)||fR(t)||jq(t)){let r=t.getSourceFile();return{declaration:Rn(t,RR)||r,range:iJ(t,r)}}}}function ixe(e){return Fa(e.declaration)}function Ije(e,t){return{from:e,fromSpans:t}}function xje(e,t){return Ije(Jce(e,t[0].declaration),nn(t,r=>yy(r.range)))}function Rje(e,t,r){if(Li(t)||Il(t)||nl(t))return[];let i=Q1e(t),o=Cr(fs.findReferenceOrRenameEntries(e,r,e.getSourceFiles(),i,0,{use:fs.FindReferencesUse.References},Aje),Tje);return o?GD(o,ixe,s=>xje(e,s)):[]}function Dje(e,t){function r(o){let s=a0(o)?o.tag:Od(o)?o.tagName:us(o)||nl(o)?o:o.expression,l=rxe(e,s);if(l){let d=iJ(s,o.getSourceFile());if(oo(l))for(let p of l)t.push({declaration:p,range:d});else t.push({declaration:l,range:d})}}function i(o){if(o&&!(o.flags&33554432)){if(RR(o)){if(Kr(o))for(let s of o.members)s.name&&Pa(s.name)&&i(s.name.expression);return}switch(o.kind){case 80:case 271:case 272:case 278:case 264:case 265:return;case 175:r(o);return;case 216:case 234:i(o.expression);return;case 260:case 169:i(o.name),i(o.initializer);return;case 213:r(o),i(o.expression),an(o.arguments,i);return;case 214:r(o),i(o.expression),an(o.arguments,i);return;case 215:r(o),i(o.tag),i(o.template);return;case 286:case 285:r(o),i(o.tagName),i(o.attributes);return;case 170:r(o),i(o.expression);return;case 211:case 212:r(o),Ao(o,i);break;case 238:i(o.expression);return}yh(o)||Ao(o,i)}}return i}function Cje(e,t){an(e.statements,t)}function Nje(e,t){!Wr(e,128)&&e.body&&n_(e.body)&&an(e.body.statements,t)}function Pje(e,t,r){let i=txe(e,t);i&&(an(i.parameters,r),r(i.body))}function Mje(e,t){t(e.body)}function Lje(e,t){an(e.modifiers,t);let r=qE(e);r&&t(r.expression);for(let i of e.members)Yf(i)&&an(i.modifiers,t),xo(i)?t(i.initializer):ll(i)&&i.body?(an(i.parameters,t),t(i.body)):nl(i)&&t(i)}function kje(e,t){let r=[],i=Dje(e,r);switch(t.kind){case 312:Cje(t,i);break;case 267:Nje(t,i);break;case 262:case 218:case 219:case 174:case 177:case 178:Pje(e.getTypeChecker(),t,i);break;case 263:case 231:Lje(t,i);break;case 175:Mje(t,i);break;default:x.assertNever(t)}return r}function Oje(e,t){return{to:e,fromSpans:t}}function wje(e,t){return Oje(Jce(e,t[0].declaration),nn(t,r=>yy(r.range)))}function Wje(e,t){return t.flags&33554432||B_(t)?[]:GD(kje(e,t),ixe,r=>wje(e,r))}var Fje=pt({\"src/services/callHierarchy.ts\"(){\"use strict\";Hr()}}),LI={};la(LI,{createCallHierarchyItem:()=>Jce,getIncomingCalls:()=>Rje,getOutgoingCalls:()=>Wje,resolveCallHierarchyDeclaration:()=>rxe});var zje=pt({\"src/services/_namespaces/ts.CallHierarchy.ts\"(){\"use strict\";Fje()}}),oxe={};la(oxe,{TokenEncodingConsts:()=>Fce,TokenModifier:()=>Bce,TokenType:()=>zce,getEncodedSemanticClassifications:()=>Wce,getSemanticClassifications:()=>P1e});var Bje=pt({\"src/services/_namespaces/ts.classifier.v2020.ts\"(){\"use strict\";k1e()}}),Kce={};la(Kce,{v2020:()=>oxe});var Gje=pt({\"src/services/_namespaces/ts.classifier.ts\"(){\"use strict\";Bje()}});function Im(e,t,r){return Yce(e,uT(r),t,void 0,void 0)}function Go(e,t,r,i,o,s){return Yce(e,uT(r),t,i,uT(o),s)}function Xce(e,t,r,i,o,s){return Yce(e,uT(r),t,i,o&&uT(o),s)}function Yce(e,t,r,i,o,s){return{fixName:e,description:t,changes:r,fixId:i,fixAllDescription:o,commands:s?[s]:void 0}}function ra(e){for(let t of e.errorCodes)$ce=void 0,HK.add(String(t),e);if(e.fixIds)for(let t of e.fixIds)x.assert(!qK.has(t)),qK.set(t,e)}function Vje(){return $ce??($ce=bo(HK.keys()))}function jje(e,t){let{errorCodes:r}=e,i=0;for(let s of t)if(To(r,s.code)&&i++,i>1)break;let o=i<2;return({fixId:s,fixAllDescription:l,...d})=>o?d:{...d,fixId:s,fixAllDescription:l}}function Uje(e){let t=sxe(e),r=HK.get(String(e.errorCode));return ta(r,i=>nn(i.getCodeActions(e),jje(i,t)))}function Hje(e){return qK.get(Fo(e.fixId,fo)).getAllCodeActions(e)}function DR(e,t){return{changes:e,commands:t}}function axe(e,t){return{fileName:e,textChanges:t}}function Qa(e,t,r){let i=[],o=er.ChangeTracker.with(e,s=>CR(e,t,l=>r(s,l,i)));return DR(o,i.length===0?void 0:i)}function CR(e,t,r){for(let i of sxe(e))To(t,i.code)&&r(i)}function sxe({program:e,sourceFile:t,cancellationToken:r}){return[...e.getSemanticDiagnostics(t,r),...e.getSyntacticDiagnostics(t,r),...QJ(t,e,r)]}var HK,qK,$ce,qje=pt({\"src/services/codeFixProvider.ts\"(){\"use strict\";Hr(),HK=Ep(),qK=new Map}});function lxe(e,t,r){let i=x2(r)?P.createAsExpression(r.expression,P.createKeywordTypeNode(159)):P.createTypeAssertion(P.createKeywordTypeNode(159),r.expression);e.replaceNode(t,r.expression,i)}function cxe(e,t){if(!Jn(e))return Rn(Hi(e,t),r=>x2(r)||Xre(r))}var JK,Qce,Jje=pt({\"src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts\"(){\"use strict\";Hr(),oa(),JK=\"addConvertToUnknownForNonOverlappingTypes\",Qce=[f.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code],ra({errorCodes:Qce,getCodeActions:function(t){let r=cxe(t.sourceFile,t.span.start);if(r===void 0)return;let i=er.ChangeTracker.with(t,o=>lxe(o,t.sourceFile,r));return[Go(JK,i,f.Add_unknown_conversion_for_non_overlapping_types,JK,f.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[JK],getAllCodeActions:e=>Qa(e,Qce,(t,r)=>{let i=cxe(r.file,r.start);i&&lxe(t,r.file,i)})})}}),Kje=pt({\"src/services/codefixes/addEmptyExportDeclaration.ts\"(){\"use strict\";Hr(),oa(),ra({errorCodes:[f.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,f.await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,f.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function(t){let{sourceFile:r}=t,i=er.ChangeTracker.with(t,o=>{let s=P.createExportDeclaration(void 0,!1,P.createNamedExports([]),void 0);o.insertNodeAtEndOfScope(r,r,s)});return[Im(\"addEmptyExportDeclaration\",i,f.Add_export_to_make_this_file_into_a_module)]}})}});function dxe(e,t,r,i){let o=r(s=>Xje(s,e.sourceFile,t,i));return Go(KK,o,f.Add_async_modifier_to_containing_function,KK,f.Add_all_missing_async_modifiers)}function Xje(e,t,r,i){if(i&&i.has(Fa(r)))return;i?.add(Fa(r));let o=P.replaceModifiers(Fs(r,!0),P.createNodeArray(P.createModifiersFromModifierFlags(ny(r)|1024)));e.replaceNode(t,r,o)}function uxe(e,t){if(!t)return;let r=Hi(e,t.start);return Rn(r,o=>o.getStart(e)<t.start||o.getEnd()>Al(t)?\"quit\":(gs(o)||El(o)||ps(o)||Ql(o))&&vR(t,eu(o,e)))}function Yje(e,t){return({start:r,length:i,relatedInformation:o,code:s})=>jg(r)&&jg(i)&&vR({start:r,length:i},e)&&s===t&&!!o&&ct(o,l=>l.code===f.Did_you_mean_to_mark_this_function_as_async.code)}var KK,Zce,$je=pt({\"src/services/codefixes/addMissingAsync.ts\"(){\"use strict\";Hr(),oa(),KK=\"addMissingAsync\",Zce=[f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,f.Type_0_is_not_assignable_to_type_1.code,f.Type_0_is_not_comparable_to_type_1.code],ra({fixIds:[KK],errorCodes:Zce,getCodeActions:function(t){let{sourceFile:r,errorCode:i,cancellationToken:o,program:s,span:l}=t,d=Dr(s.getTypeChecker().getDiagnostics(r,o),Yje(l,i)),p=d&&d.relatedInformation&&Dr(d.relatedInformation,v=>v.code===f.Did_you_mean_to_mark_this_function_as_async.code),h=uxe(r,p);return h?[dxe(t,h,v=>er.ChangeTracker.with(t,v))]:void 0},getAllCodeActions:e=>{let{sourceFile:t}=e,r=new Set;return Qa(e,Zce,(i,o)=>{let s=o.relatedInformation&&Dr(o.relatedInformation,p=>p.code===f.Did_you_mean_to_mark_this_function_as_async.code),l=uxe(t,s);return l?dxe(e,l,p=>(p(i),[]),r):void 0})}})}});function pxe(e,t,r,i,o){let s=NJ(e,r);return s&&Qje(e,t,r,i,o)&&_xe(s)?s:void 0}function fxe(e,t,r,i,o,s){let{sourceFile:l,program:d,cancellationToken:p}=e,h=Zje(t,l,p,d,i);if(h){let m=o(v=>{an(h.initializers,({expression:E})=>ede(v,r,l,i,E,s)),s&&h.needsSecondPassForFixAll&&ede(v,r,l,i,t,s)});return Im(\"addMissingAwaitToInitializer\",m,h.initializers.length===1?[f.Add_await_to_initializer_for_0,h.initializers[0].declarationSymbol.name]:f.Add_await_to_initializers)}}function mxe(e,t,r,i,o,s){let l=o(d=>ede(d,r,e.sourceFile,i,t,s));return Go(XK,l,f.Add_await,XK,f.Fix_all_expressions_possibly_missing_await)}function Qje(e,t,r,i,o){let l=o.getTypeChecker().getDiagnostics(e,i);return ct(l,({start:d,length:p,relatedInformation:h,code:m})=>jg(d)&&jg(p)&&vR({start:d,length:p},r)&&m===t&&!!h&&ct(h,v=>v.code===f.Did_you_forget_to_use_await.code))}function Zje(e,t,r,i,o){let s=eUe(e,o);if(!s)return;let l=s.isCompleteFix,d;for(let p of s.identifiers){let h=o.getSymbolAtLocation(p);if(!h)continue;let m=Vr(h.valueDeclaration,yi),v=m&&Vr(m.name,Me),E=Db(m,243);if(!m||!E||m.type||!m.initializer||E.getSourceFile()!==t||Wr(E,32)||!v||!_xe(m.initializer)){l=!1;continue}let S=i.getSemanticDiagnostics(t,r);if(fs.Core.eachSymbolReferenceInFile(v,o,t,C=>p!==C&&!tUe(C,S,t,o))){l=!1;continue}(d||(d=[])).push({expression:m.initializer,declarationSymbol:h})}return d&&{initializers:d,needsSecondPassForFixAll:!l}}function eUe(e,t){if(Er(e.parent)&&Me(e.parent.expression))return{identifiers:[e.parent.expression],isCompleteFix:!0};if(Me(e))return{identifiers:[e],isCompleteFix:!0};if(Zn(e)){let r,i=!0;for(let o of[e.left,e.right]){let s=t.getTypeAtLocation(o);if(t.getPromisedTypeOfPromise(s)){if(!Me(o)){i=!1;continue}(r||(r=[])).push(o)}}return r&&{identifiers:r,isCompleteFix:i}}}function tUe(e,t,r,i){let o=Er(e.parent)?e.parent.name:Zn(e.parent)?e.parent:e,s=Dr(t,l=>l.start===o.getStart(r)&&l.start+l.length===o.getEnd());return s&&To(YK,s.code)||i.getTypeAtLocation(o).flags&1}function _xe(e){return e.flags&65536||!!Rn(e,t=>t.parent&&gs(t.parent)&&t.parent.body===t||Do(t)&&(t.parent.kind===262||t.parent.kind===218||t.parent.kind===219||t.parent.kind===174))}function ede(e,t,r,i,o,s){if(R2(o.parent)&&!o.parent.awaitModifier){let l=i.getTypeAtLocation(o),d=i.getAsyncIterableType();if(d&&i.isTypeAssignableTo(l,d)){let p=o.parent;e.replaceNode(r,p,P.updateForOfStatement(p,P.createToken(135),p.initializer,p.expression,p.statement));return}}if(Zn(o))for(let l of[o.left,o.right]){if(s&&Me(l)){let h=i.getSymbolAtLocation(l);if(h&&s.has(na(h)))continue}let d=i.getTypeAtLocation(l),p=i.getPromisedTypeOfPromise(d)?P.createAwaitExpression(l):l;e.replaceNode(r,l,p)}else if(t===tde&&Er(o.parent)){if(s&&Me(o.parent.expression)){let l=i.getSymbolAtLocation(o.parent.expression);if(l&&s.has(na(l)))return}e.replaceNode(r,o.parent.expression,P.createParenthesizedExpression(P.createAwaitExpression(o.parent.expression))),hxe(e,o.parent.expression,r)}else if(To(nde,t)&&Hm(o.parent)){if(s&&Me(o)){let l=i.getSymbolAtLocation(o);if(l&&s.has(na(l)))return}e.replaceNode(r,o,P.createParenthesizedExpression(P.createAwaitExpression(o))),hxe(e,o,r)}else{if(s&&yi(o.parent)&&Me(o.parent.name)){let l=i.getSymbolAtLocation(o.parent.name);if(l&&!db(s,na(l)))return}e.replaceNode(r,o,P.createAwaitExpression(o))}}function hxe(e,t,r){let i=ec(t.pos,r);i&&F3(i.end,i.parent,r)&&e.insertText(r,t.getStart(r),\";\")}var XK,tde,nde,YK,nUe=pt({\"src/services/codefixes/addMissingAwait.ts\"(){\"use strict\";Hr(),oa(),XK=\"addMissingAwait\",tde=f.Property_0_does_not_exist_on_type_1.code,nde=[f.This_expression_is_not_callable.code,f.This_expression_is_not_constructable.code],YK=[f.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,f.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,f.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,f.Operator_0_cannot_be_applied_to_type_1.code,f.Operator_0_cannot_be_applied_to_types_1_and_2.code,f.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap.code,f.This_condition_will_always_return_true_since_this_0_is_always_defined.code,f.Type_0_is_not_an_array_type.code,f.Type_0_is_not_an_array_type_or_a_string_type.code,f.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher.code,f.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,f.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,f.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,f.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,tde,...nde],ra({fixIds:[XK],errorCodes:YK,getCodeActions:function(t){let{sourceFile:r,errorCode:i,span:o,cancellationToken:s,program:l}=t,d=pxe(r,i,o,s,l);if(!d)return;let p=t.program.getTypeChecker(),h=m=>er.ChangeTracker.with(t,m);return pM([fxe(t,d,i,p,h),mxe(t,d,i,p,h)])},getAllCodeActions:e=>{let{sourceFile:t,program:r,cancellationToken:i}=e,o=e.program.getTypeChecker(),s=new Set;return Qa(e,YK,(l,d)=>{let p=pxe(t,d.code,d,i,r);if(!p)return;let h=m=>(m(l),[]);return fxe(e,p,d.code,o,h,s)||mxe(e,p,d.code,o,h,s)})}})}});function gxe(e,t,r,i,o){let s=Hi(t,r),l=Rn(s,h=>H1(h.parent)?h.parent.initializer===h:rUe(h)?!1:\"quit\");if(l)return $K(e,l,t,o);let d=s.parent;if(Zn(d)&&d.operatorToken.kind===64&&Cc(d.parent))return $K(e,s,t,o);if(Bd(d)){let h=i.getTypeChecker();return ji(d.elements,m=>iUe(m,h))?$K(e,d,t,o):void 0}let p=Rn(s,h=>Cc(h.parent)?!0:oUe(h)?!1:\"quit\");if(p){let h=i.getTypeChecker();return vxe(p,h)?$K(e,p,t,o):void 0}}function $K(e,t,r,i){(!i||db(i,t))&&e.insertModifierBefore(r,87,t)}function rUe(e){switch(e.kind){case 80:case 209:case 210:case 303:case 304:return!0;default:return!1}}function iUe(e,t){let r=Me(e)?e:lc(e,!0)&&Me(e.left)?e.left:void 0;return!!r&&!t.getSymbolAtLocation(r)}function oUe(e){switch(e.kind){case 80:case 226:case 28:return!0;default:return!1}}function vxe(e,t){return Zn(e)?e.operatorToken.kind===28?ji([e.left,e.right],r=>vxe(r,t)):e.operatorToken.kind===64&&Me(e.left)&&!t.getSymbolAtLocation(e.left):!1}var QK,rde,aUe=pt({\"src/services/codefixes/addMissingConst.ts\"(){\"use strict\";Hr(),oa(),QK=\"addMissingConst\",rde=[f.Cannot_find_name_0.code,f.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code],ra({errorCodes:rde,getCodeActions:function(t){let r=er.ChangeTracker.with(t,i=>gxe(i,t.sourceFile,t.span.start,t.program));if(r.length>0)return[Go(QK,r,f.Add_const_to_unresolved_variable,QK,f.Add_const_to_all_unresolved_variables)]},fixIds:[QK],getAllCodeActions:e=>{let t=new Set;return Qa(e,rde,(r,i)=>gxe(r,i.file,i.start,e.program,t))}})}});function yxe(e,t,r,i){let o=Hi(t,r);if(!Me(o))return;let s=o.parent;s.kind===172&&(!i||db(i,s))&&e.insertModifierBefore(t,138,s)}var ZK,ide,sUe=pt({\"src/services/codefixes/addMissingDeclareProperty.ts\"(){\"use strict\";Hr(),oa(),ZK=\"addMissingDeclareProperty\",ide=[f.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code],ra({errorCodes:ide,getCodeActions:function(t){let r=er.ChangeTracker.with(t,i=>yxe(i,t.sourceFile,t.span.start));if(r.length>0)return[Go(ZK,r,f.Prefix_with_declare,ZK,f.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[ZK],getAllCodeActions:e=>{let t=new Set;return Qa(e,ide,(r,i)=>yxe(r,i.file,i.start,t))}})}});function bxe(e,t,r){let i=Hi(t,r),o=Rn(i,Xc);x.assert(!!o,\"Expected position to be owned by a decorator.\");let s=P.createCallExpression(o.expression,void 0,void 0);e.replaceNode(t,o.expression,s)}var eX,ode,lUe=pt({\"src/services/codefixes/addMissingInvocationForDecorator.ts\"(){\"use strict\";Hr(),oa(),eX=\"addMissingInvocationForDecorator\",ode=[f._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code],ra({errorCodes:ode,getCodeActions:function(t){let r=er.ChangeTracker.with(t,i=>bxe(i,t.sourceFile,t.span.start));return[Go(eX,r,f.Call_decorator_expression,eX,f.Add_to_all_uncalled_decorators)]},fixIds:[eX],getAllCodeActions:e=>Qa(e,ode,(t,r)=>bxe(t,r.file,r.start))})}});function Exe(e,t,r){let i=Hi(t,r),o=i.parent;if(!ao(o))return x.fail(\"Tried to add a parameter name to a non-parameter: \"+x.formatSyntaxKind(i.kind));let s=o.parent.parameters.indexOf(o);x.assert(!o.type,\"Tried to add a parameter name to a parameter that already had one.\"),x.assert(s>-1,\"Parameter not found in parent parameter list.\");let l=o.name.getEnd(),d=P.createTypeReferenceNode(o.name,void 0),p=Sxe(t,o);for(;p;)d=P.createArrayTypeNode(d),l=p.getEnd(),p=Sxe(t,p);let h=P.createParameterDeclaration(o.modifiers,o.dotDotDotToken,\"arg\"+s,o.questionToken,o.dotDotDotToken&&!A2(d)?P.createArrayTypeNode(d):d,o.initializer);e.replaceRange(t,qp(o.getStart(t),l),h)}function Sxe(e,t){let r=S0(t.name,t.parent,e);if(r&&r.kind===23&&i0(r.parent)&&ao(r.parent.parent))return r.parent.parent}var tX,ade,cUe=pt({\"src/services/codefixes/addNameToNamelessParameter.ts\"(){\"use strict\";Hr(),oa(),tX=\"addNameToNamelessParameter\",ade=[f.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code],ra({errorCodes:ade,getCodeActions:function(t){let r=er.ChangeTracker.with(t,i=>Exe(i,t.sourceFile,t.span.start));return[Go(tX,r,f.Add_parameter_name,tX,f.Add_names_to_all_parameters_without_names)]},fixIds:[tX],getAllCodeActions:e=>Qa(e,ade,(t,r)=>Exe(t,r.file,r.start))})}});function dUe(e,t,r){var i,o;let s=Txe(NJ(e,t),r);if(!s)return je;let{source:l,target:d}=s,p=uUe(l,d,r)?r.getTypeAtLocation(d.expression):r.getTypeAtLocation(d);return(o=(i=p.symbol)==null?void 0:i.declarations)!=null&&o.some(h=>Nn(h).fileName.match(/\\.d\\.ts$/))?je:r.getExactOptionalProperties(p)}function uUe(e,t,r){return Er(t)&&!!r.getExactOptionalProperties(r.getTypeAtLocation(t.expression)).length&&r.getTypeAtLocation(e)===r.getUndefinedType()}function Txe(e,t){var r;if(e){if(Zn(e.parent)&&e.parent.operatorToken.kind===64)return{source:e.parent.right,target:e.parent.left};if(yi(e.parent)&&e.parent.initializer)return{source:e.parent.initializer,target:e.parent.name};if(Bo(e.parent)){let i=t.getSymbolAtLocation(e.parent.expression);if(!i?.valueDeclaration||!DA(i.valueDeclaration.kind)||!lt(e))return;let o=e.parent.arguments.indexOf(e);if(o===-1)return;let s=i.valueDeclaration.parameters[o].name;if(Me(s))return{source:e,target:s}}else if(Hl(e.parent)&&Me(e.parent.name)||xu(e.parent)){let i=Txe(e.parent.parent,t);if(!i)return;let o=t.getPropertyOfType(t.getTypeAtLocation(i.target),e.parent.name.text),s=(r=o?.declarations)==null?void 0:r[0];return s?{source:Hl(e.parent)?e.parent.initializer:e.parent.name,target:s}:void 0}}else return}function pUe(e,t){for(let r of t){let i=r.valueDeclaration;if(i&&(Gu(i)||xo(i))&&i.type){let o=P.createUnionTypeNode([...i.type.kind===192?i.type.types:[i.type],P.createTypeReferenceNode(\"undefined\")]);e.replaceNode(i.getSourceFile(),i.type,o)}}}var sde,Axe,fUe=pt({\"src/services/codefixes/addOptionalPropertyUndefined.ts\"(){\"use strict\";Hr(),oa(),sde=\"addOptionalPropertyUndefined\",Axe=[f.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target.code,f.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code],ra({errorCodes:Axe,getCodeActions(e){let t=e.program.getTypeChecker(),r=dUe(e.sourceFile,e.span,t);if(!r.length)return;let i=er.ChangeTracker.with(e,o=>pUe(o,r));return[Im(sde,i,f.Add_undefined_to_optional_property_type)]},fixIds:[sde]})}});function Ixe(e,t){let r=Hi(e,t);return Vr(ao(r.parent)?r.parent.parent:r.parent,xxe)}function xxe(e){return mUe(e)&&Rxe(e)}function Rxe(e){return hs(e)?e.parameters.some(Rxe)||!e.type&&!!BM(e):!e.type&&!!bb(e)}function Dxe(e,t,r){if(hs(r)&&(BM(r)||r.parameters.some(i=>!!bb(i)))){if(!r.typeParameters){let o=VW(r);o.length&&e.insertTypeParameters(t,r,o)}let i=gs(r)&&!Ya(r,21,t);i&&e.insertNodeBefore(t,Ta(r.parameters),P.createToken(21));for(let o of r.parameters)if(!o.type){let s=bb(o);s&&e.tryInsertTypeAnnotation(t,o,He(s,R0,xi))}if(i&&e.insertNodeAfter(t,Da(r.parameters),P.createToken(22)),!r.type){let o=BM(r);o&&e.tryInsertTypeAnnotation(t,r,He(o,R0,xi))}}else{let i=x.checkDefined(bb(r),\"A JSDocType for this declaration should exist\");x.assert(!r.type,\"The JSDocType decl should have a type\"),e.tryInsertTypeAnnotation(t,r,He(i,R0,xi))}}function mUe(e){return hs(e)||e.kind===260||e.kind===171||e.kind===172}function R0(e){switch(e.kind){case 319:case 320:return P.createTypeReferenceNode(\"any\",je);case 323:return hUe(e);case 322:return R0(e.type);case 321:return gUe(e);case 325:return vUe(e);case 324:return yUe(e);case 183:return EUe(e);case 329:return _Ue(e);default:let t=un(e,R0,void 0);return $n(t,1),t}}function _Ue(e){let t=P.createTypeLiteralNode(nn(e.jsDocPropertyTags,r=>P.createPropertySignature(void 0,Me(r.name)?r.name:r.name.right,t2(r)?P.createToken(58):void 0,r.typeExpression&&He(r.typeExpression.type,R0,xi)||P.createKeywordTypeNode(133))));return $n(t,1),t}function hUe(e){return P.createUnionTypeNode([He(e.type,R0,xi),P.createTypeReferenceNode(\"undefined\",je)])}function gUe(e){return P.createUnionTypeNode([He(e.type,R0,xi),P.createTypeReferenceNode(\"null\",je)])}function vUe(e){return P.createArrayTypeNode(He(e.type,R0,xi))}function yUe(e){return P.createFunctionTypeNode(je,e.parameters.map(bUe),e.type??P.createKeywordTypeNode(133))}function bUe(e){let t=e.parent.parameters.indexOf(e),r=e.type.kind===325&&t===e.parent.parameters.length-1,i=e.name||(r?\"rest\":\"arg\"+t),o=r?P.createToken(26):e.dotDotDotToken;return P.createParameterDeclaration(e.modifiers,o,i,e.questionToken,He(e.type,R0,xi),e.initializer)}function EUe(e){let t=e.typeName,r=e.typeArguments;if(Me(e.typeName)){if(TW(e))return SUe(e);let i=e.typeName.text;switch(e.typeName.text){case\"String\":case\"Boolean\":case\"Object\":case\"Number\":i=i.toLowerCase();break;case\"array\":case\"date\":case\"promise\":i=i[0].toUpperCase()+i.slice(1);break}t=P.createIdentifier(i),(i===\"Array\"||i===\"Promise\")&&!e.typeArguments?r=P.createNodeArray([P.createTypeReferenceNode(\"any\",je)]):r=Dn(e.typeArguments,R0,xi)}return P.createTypeReferenceNode(t,r)}function SUe(e){let t=P.createParameterDeclaration(void 0,void 0,e.typeArguments[0].kind===150?\"n\":\"s\",void 0,P.createTypeReferenceNode(e.typeArguments[0].kind===150?\"number\":\"string\",[]),void 0),r=P.createTypeLiteralNode([P.createIndexSignature(void 0,[t],e.typeArguments[1])]);return $n(r,1),r}var nX,lde,TUe=pt({\"src/services/codefixes/annotateWithTypeFromJSDoc.ts\"(){\"use strict\";Hr(),oa(),nX=\"annotateWithTypeFromJSDoc\",lde=[f.JSDoc_types_may_be_moved_to_TypeScript_types.code],ra({errorCodes:lde,getCodeActions(e){let t=Ixe(e.sourceFile,e.span.start);if(!t)return;let r=er.ChangeTracker.with(e,i=>Dxe(i,e.sourceFile,t));return[Go(nX,r,f.Annotate_with_type_from_JSDoc,nX,f.Annotate_everything_with_types_from_JSDoc)]},fixIds:[nX],getAllCodeActions:e=>Qa(e,lde,(t,r)=>{let i=Ixe(r.file,r.start);i&&Dxe(t,r.file,i)})})}});function Cxe(e,t,r,i,o,s){let l=i.getSymbolAtLocation(Hi(t,r));if(!l||!l.valueDeclaration||!(l.flags&19))return;let d=l.valueDeclaration;if(Ql(d)||ps(d))e.replaceNode(t,d,m(d));else if(yi(d)){let v=h(d);if(!v)return;let E=d.parent.parent;yc(d.parent)&&d.parent.declarations.length>1?(e.delete(t,d),e.insertNodeAfter(t,E,v)):e.replaceNode(t,E,v)}function p(v){let E=[];return v.exports&&v.exports.forEach(C=>{if(C.name===\"prototype\"&&C.declarations){let R=C.declarations[0];if(C.declarations.length===1&&Er(R)&&Zn(R.parent)&&R.parent.operatorToken.kind===64&&ma(R.parent.right)){let L=R.parent.right;A(L.symbol,void 0,E)}}else A(C,[P.createToken(126)],E)}),v.members&&v.members.forEach((C,R)=>{var L,G,U,K;if(R===\"constructor\"&&C.valueDeclaration){let F=(K=(U=(G=(L=v.exports)==null?void 0:L.get(\"prototype\"))==null?void 0:G.declarations)==null?void 0:U[0])==null?void 0:K.parent;F&&Zn(F)&&ma(F.right)&&ct(F.right.properties,iX)||e.delete(t,C.valueDeclaration.parent);return}A(C,void 0,E)}),E;function S(C,R){return us(C)?Er(C)&&iX(C)?!0:Lo(R):ji(C.properties,L=>!!(El(L)||w8(L)||Hl(L)&&ps(L.initializer)&&L.name||iX(L)))}function A(C,R,L){if(!(C.flags&8192)&&!(C.flags&4096))return;let G=C.valueDeclaration,U=G.parent,K=U.right;if(!S(G,K)||ct(L,de=>{let fe=mo(de);return!!(fe&&Me(fe)&&ar(fe)===$s(C))}))return;let F=U.parent&&U.parent.kind===244?U.parent:U;if(e.delete(t,F),!K){L.push(P.createPropertyDeclaration(R,C.name,void 0,void 0,void 0));return}if(us(G)&&(ps(K)||gs(K))){let de=Pp(t,o),fe=AUe(G,s,de);fe&&oe(L,K,fe);return}else if(ma(K)){an(K.properties,de=>{(El(de)||w8(de))&&L.push(de),Hl(de)&&ps(de.initializer)&&oe(L,de.initializer,de.name),iX(de)});return}else{if(wd(t)||!Er(G))return;let de=P.createPropertyDeclaration(R,G.name,void 0,void 0,K);bR(U.parent,de,t),L.push(de);return}function oe(de,fe,q){return ps(fe)?W(de,fe,q):$(de,fe,q)}function W(de,fe,q){let H=ro(R,rX(fe,134)),ee=P.createMethodDeclaration(H,void 0,q,void 0,void 0,fe.parameters,void 0,fe.body);bR(U,ee,t),de.push(ee)}function $(de,fe,q){let H=fe.body,ee;H.kind===241?ee=H:ee=P.createBlock([P.createReturnStatement(H)]);let le=ro(R,rX(fe,134)),Ee=P.createMethodDeclaration(le,void 0,q,void 0,void 0,fe.parameters,void 0,ee);bR(U,Ee,t),de.push(Ee)}}}function h(v){let E=v.initializer;if(!E||!ps(E)||!Me(v.name))return;let S=p(v.symbol);E.body&&S.unshift(P.createConstructorDeclaration(void 0,E.parameters,E.body));let A=rX(v.parent.parent,95);return P.createClassDeclaration(A,v.name,void 0,void 0,S)}function m(v){let E=p(l);v.body&&E.unshift(P.createConstructorDeclaration(void 0,v.parameters,v.body));let S=rX(v,95);return P.createClassDeclaration(S,v.name,void 0,void 0,E)}}function rX(e,t){return Yf(e)?Cr(e.modifiers,r=>r.kind===t):void 0}function iX(e){return e.name?!!(Me(e.name)&&e.name.text===\"constructor\"):!1}function AUe(e,t,r){if(Er(e))return e.name;let i=e.argumentExpression;if(Bu(i))return i;if(Ga(i))return Tp(i.text,Wa(t))?P.createIdentifier(i.text):eI(i)?P.createStringLiteral(i.text,r===0):i}var oX,cde,IUe=pt({\"src/services/codefixes/convertFunctionToEs6Class.ts\"(){\"use strict\";Hr(),oa(),oX=\"convertFunctionToEs6Class\",cde=[f.This_constructor_function_may_be_converted_to_a_class_declaration.code],ra({errorCodes:cde,getCodeActions(e){let t=er.ChangeTracker.with(e,r=>Cxe(r,e.sourceFile,e.span.start,e.program.getTypeChecker(),e.preferences,e.program.getCompilerOptions()));return[Go(oX,t,f.Convert_function_to_an_ES2015_class,oX,f.Convert_all_constructor_functions_to_classes)]},fixIds:[oX],getAllCodeActions:e=>Qa(e,cde,(t,r)=>Cxe(t,r.file,r.start,e.program.getTypeChecker(),e.preferences,e.program.getCompilerOptions()))})}});function Nxe(e,t,r,i){let o=Hi(t,r),s;if(Me(o)&&yi(o.parent)&&o.parent.initializer&&hs(o.parent.initializer)?s=o.parent.initializer:s=Vr(cp(Hi(t,r)),tK),!s)return;let l=new Map,d=Jn(s),p=RUe(s,i),h=DUe(s,i,l);if(!ZJ(h,i))return;let m=h.body&&Do(h.body)?xUe(h.body,i):je,v={checker:i,synthNamesMap:l,setOfExpressionsToReturn:p,isInJSFile:d};if(!m.length)return;let E=pa(t.text,Zm(s).pos);e.insertModifierAt(t,E,134,{suffix:\" \"});for(let S of m)if(Ao(S,function A(C){if(Bo(C)){let R=NR(C,C,v,!1);if(kI())return!0;e.replaceNodeWithNodes(t,S,R)}else if(!Lo(C)&&(Ao(C,A),kI()))return!0}),kI())return}function xUe(e,t){let r=[];return GE(e,i=>{tz(i,t)&&r.push(i)}),r}function RUe(e,t){if(!e.body)return new Set;let r=new Set;return Ao(e.body,function i(o){SO(o,t,\"then\")?(r.add(Fa(o)),an(o.arguments,i)):SO(o,t,\"catch\")||SO(o,t,\"finally\")?(r.add(Fa(o)),Ao(o,i)):Mxe(o,t)?r.add(Fa(o)):Ao(o,i)}),r}function SO(e,t,r){if(!Bo(e))return!1;let o=Ok(e,r)&&t.getTypeAtLocation(e);return!!(o&&t.getPromisedTypeOfPromise(o))}function Pxe(e,t){return(br(e)&4)!==0&&e.target===t}function aX(e,t,r){if(e.expression.name.escapedText===\"finally\")return;let i=r.getTypeAtLocation(e.expression.expression);if(Pxe(i,r.getPromiseType())||Pxe(i,r.getPromiseLikeType()))if(e.expression.name.escapedText===\"then\"){if(t===qg(e.arguments,0))return qg(e.typeArguments,0);if(t===qg(e.arguments,1))return qg(e.typeArguments,1)}else return qg(e.typeArguments,0)}function Mxe(e,t){return lt(e)?!!t.getPromisedTypeOfPromise(t.getTypeAtLocation(e)):!1}function DUe(e,t,r){let i=new Map,o=Ep();return Ao(e,function s(l){if(!Me(l)){Ao(l,s);return}let d=t.getSymbolAtLocation(l);if(d){let p=t.getTypeAtLocation(l),h=Fxe(p,t),m=na(d).toString();if(h&&!ao(l.parent)&&!hs(l.parent)&&!r.has(m)){let v=Ac(h.parameters),E=v?.valueDeclaration&&ao(v.valueDeclaration)&&Vr(v.valueDeclaration.name,Me)||P.createUniqueName(\"result\",16),S=Lxe(E,o);r.set(m,S),o.add(E.text,d)}else if(l.parent&&(ao(l.parent)||yi(l.parent)||Na(l.parent))){let v=l.text,E=o.get(v);if(E&&E.some(S=>S!==d)){let S=Lxe(l,o);i.set(m,S.identifier),r.set(m,S),o.add(v,d)}else{let S=Fs(l);r.set(m,cP(S)),o.add(v,d)}}}}),Yk(e,!0,s=>{if(Na(s)&&Me(s.name)&&Rf(s.parent)){let l=t.getSymbolAtLocation(s.name),d=l&&i.get(String(na(l)));if(d&&d.text!==(s.name||s.propertyName).getText())return P.createBindingElement(s.dotDotDotToken,s.propertyName||s.name,d,s.initializer)}else if(Me(s)){let l=t.getSymbolAtLocation(s),d=l&&i.get(String(na(l)));if(d)return P.createIdentifier(d.text)}})}function Lxe(e,t){let r=(t.get(e.text)||je).length,i=r===0?e:P.createIdentifier(e.text+\"_\"+r);return cP(i)}function kI(){return!Rz}function Kb(){return Rz=!1,je}function NR(e,t,r,i,o){if(SO(t,r.checker,\"then\"))return PUe(t,qg(t.arguments,0),qg(t.arguments,1),r,i,o);if(SO(t,r.checker,\"catch\"))return wxe(t,qg(t.arguments,0),r,i,o);if(SO(t,r.checker,\"finally\"))return NUe(t,qg(t.arguments,0),r,i,o);if(Er(t))return NR(e,t.expression,r,i,o);let s=r.checker.getTypeAtLocation(t);return s&&r.checker.getPromisedTypeOfPromise(s)?(x.assertNode(sl(t).parent,Er),MUe(e,t,r,i,o)):Kb()}function sX({checker:e},t){if(t.kind===106)return!0;if(Me(t)&&!ws(t)&&ar(t)===\"undefined\"){let r=e.getSymbolAtLocation(t);return!r||e.isUndefinedSymbol(r)}return!1}function CUe(e){let t=P.createUniqueName(e.identifier.text,16);return cP(t)}function kxe(e,t,r){let i;return r&&!AO(e,t)&&(TO(r)?(i=r,t.synthNamesMap.forEach((o,s)=>{if(o.identifier.text===r.identifier.text){let l=CUe(r);t.synthNamesMap.set(s,l)}})):i=cP(P.createUniqueName(\"result\",16),r.types),fde(i)),i}function Oxe(e,t,r,i,o){let s=[],l;if(i&&!AO(e,t)){l=Fs(fde(i));let d=i.types,p=t.checker.getUnionType(d,2),h=t.isInJSFile?void 0:t.checker.typeToTypeNode(p,void 0,void 0),m=[P.createVariableDeclaration(l,void 0,h)],v=P.createVariableStatement(void 0,P.createVariableDeclarationList(m,1));s.push(v)}return s.push(r),o&&l&&OUe(o)&&s.push(P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(Fs(Vxe(o)),void 0,void 0,l)],2))),s}function NUe(e,t,r,i,o){if(!t||sX(r,t))return NR(e,e.expression.expression,r,i,o);let s=kxe(e,r,o),l=NR(e,e.expression.expression,r,!0,s);if(kI())return Kb();let d=ude(t,i,void 0,void 0,e,r);if(kI())return Kb();let p=P.createBlock(l),h=P.createBlock(d),m=P.createTryStatement(p,void 0,h);return Oxe(e,r,m,s,o)}function wxe(e,t,r,i,o){if(!t||sX(r,t))return NR(e,e.expression.expression,r,i,o);let s=Bxe(t,r),l=kxe(e,r,o),d=NR(e,e.expression.expression,r,!0,l);if(kI())return Kb();let p=ude(t,i,l,s,e,r);if(kI())return Kb();let h=P.createBlock(d),m=P.createCatchClause(s&&Fs(xz(s)),P.createBlock(p)),v=P.createTryStatement(h,m,void 0);return Oxe(e,r,v,l,o)}function PUe(e,t,r,i,o,s){if(!t||sX(i,t))return wxe(e,r,i,o,s);if(r&&!sX(i,r))return Kb();let l=Bxe(t,i),d=NR(e.expression.expression,e.expression.expression,i,!0,l);if(kI())return Kb();let p=ude(t,o,s,l,e,i);return kI()?Kb():ro(d,p)}function MUe(e,t,r,i,o){if(AO(e,r)){let s=Fs(t);return i&&(s=P.createAwaitExpression(s)),[P.createReturnStatement(s)]}return lX(o,P.createAwaitExpression(t),void 0)}function lX(e,t,r){return!e||Gxe(e)?[P.createExpressionStatement(t)]:TO(e)&&e.hasBeenDeclared?[P.createExpressionStatement(P.createAssignment(Fs(pde(e)),t))]:[P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(Fs(xz(e)),void 0,r,t)],2))]}function dde(e,t){if(t&&e){let r=P.createUniqueName(\"result\",16);return[...lX(cP(r),e,t),P.createReturnStatement(r)]}return[P.createReturnStatement(e)]}function ude(e,t,r,i,o,s){var l;switch(e.kind){case 106:break;case 211:case 80:if(!i)break;let d=P.createCallExpression(Fs(e),void 0,TO(i)?[pde(i)]:[]);if(AO(o,s))return dde(d,aX(o,e,s.checker));let p=s.checker.getTypeAtLocation(e),h=s.checker.getSignaturesOfType(p,0);if(!h.length)return Kb();let m=h[0].getReturnType(),v=lX(r,P.createAwaitExpression(d),aX(o,e,s.checker));return r&&r.types.push(s.checker.getAwaitedType(m)||m),v;case 218:case 219:{let E=e.body,S=(l=Fxe(s.checker.getTypeAtLocation(e),s.checker))==null?void 0:l.getReturnType();if(Do(E)){let A=[],C=!1;for(let R of E.statements)if(Kf(R))if(C=!0,tz(R,s.checker))A=A.concat(zxe(s,R,t,r));else{let L=S&&R.expression?Wxe(s.checker,S,R.expression):R.expression;A.push(...dde(L,aX(o,e,s.checker)))}else{if(t&&GE(R,Ug))return Kb();A.push(R)}return AO(o,s)?A.map(R=>Fs(R)):LUe(A,r,s,C)}else{let A=eK(E,s.checker)?zxe(s,P.createReturnStatement(E),t,r):je;if(A.length>0)return A;if(S){let C=Wxe(s.checker,S,E);if(AO(o,s))return dde(C,aX(o,e,s.checker));{let R=lX(r,C,void 0);return r&&r.types.push(s.checker.getAwaitedType(S)||S),R}}else return Kb()}}default:return Kb()}return je}function Wxe(e,t,r){let i=Fs(r);return e.getPromisedTypeOfPromise(t)?P.createAwaitExpression(i):i}function Fxe(e,t){let r=t.getSignaturesOfType(e,0);return Ns(r)}function LUe(e,t,r,i){let o=[];for(let s of e)if(Kf(s)){if(s.expression){let l=Mxe(s.expression,r.checker)?P.createAwaitExpression(s.expression):s.expression;t===void 0?o.push(P.createExpressionStatement(l)):TO(t)&&t.hasBeenDeclared?o.push(P.createExpressionStatement(P.createAssignment(pde(t),l))):o.push(P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(xz(t),void 0,void 0,l)],2)))}}else o.push(Fs(s));return!i&&t!==void 0&&o.push(P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(xz(t),void 0,void 0,P.createIdentifier(\"undefined\"))],2))),o}function zxe(e,t,r,i){let o=[];return Ao(t,function s(l){if(Bo(l)){let d=NR(l,l,e,r,i);if(o=o.concat(d),o.length>0)return}else Lo(l)||Ao(l,s)}),o}function Bxe(e,t){let r=[],i;if(hs(e)){if(e.parameters.length>0){let p=e.parameters[0].name;i=o(p)}}else Me(e)?i=s(e):Er(e)&&Me(e.name)&&(i=s(e.name));if(!i||\"identifier\"in i&&i.identifier.text===\"undefined\")return;return i;function o(p){if(Me(p))return s(p);let h=ta(p.elements,m=>vc(m)?[]:[o(m.name)]);return kUe(p,h)}function s(p){let h=d(p),m=l(h);return m&&t.synthNamesMap.get(na(m).toString())||cP(p,r)}function l(p){var h;return((h=Vr(p,qm))==null?void 0:h.symbol)??t.checker.getSymbolAtLocation(p)}function d(p){return p.original?p.original:p}}function Gxe(e){return e?TO(e)?!e.identifier.text:ji(e.elements,Gxe):!0}function cP(e,t=[]){return{kind:0,identifier:e,types:t,hasBeenDeclared:!1,hasBeenReferenced:!1}}function kUe(e,t=je,r=[]){return{kind:1,bindingPattern:e,elements:t,types:r}}function pde(e){return e.hasBeenReferenced=!0,e.identifier}function xz(e){return TO(e)?fde(e):Vxe(e)}function Vxe(e){for(let t of e.elements)xz(t);return e.bindingPattern}function fde(e){return e.hasBeenDeclared=!0,e.identifier}function TO(e){return e.kind===0}function OUe(e){return e.kind===1}function AO(e,t){return!!e.original&&t.setOfExpressionsToReturn.has(Fa(e.original))}var cX,mde,Rz,wUe=pt({\"src/services/codefixes/convertToAsyncFunction.ts\"(){\"use strict\";Hr(),oa(),cX=\"convertToAsyncFunction\",mde=[f.This_may_be_converted_to_an_async_function.code],Rz=!0,ra({errorCodes:mde,getCodeActions(e){Rz=!0;let t=er.ChangeTracker.with(e,r=>Nxe(r,e.sourceFile,e.span.start,e.program.getTypeChecker()));return Rz?[Go(cX,t,f.Convert_to_async_function,cX,f.Convert_all_to_async_functions)]:[]},fixIds:[cX],getAllCodeActions:e=>Qa(e,mde,(t,r)=>Nxe(t,r.file,r.start,e.program.getTypeChecker()))})}});function WUe(e,t,r,i,o){var s;for(let l of e.imports){let d=(s=r.getResolvedModuleFromModuleSpecifier(l))==null?void 0:s.resolvedModule;if(!d||d.resolvedFileName!==t.fileName)continue;let p=yC(l);switch(p.kind){case 271:i.replaceNode(e,p,fv(p.name,void 0,l,o));break;case 213:Xd(p,!1)&&i.replaceNode(e,p,P.createPropertyAccessExpression(Fs(p),\"default\"));break}}}function FUe(e,t,r,i,o){let s={original:$Ue(e),additional:new Set},l=zUe(e,t,s);BUe(e,l,r);let d=!1,p;for(let h of Cr(e.statements,cl)){let m=Uxe(e,h,r,t,s,i,o);m&&$8(m,p??(p=new Map))}for(let h of Cr(e.statements,m=>!cl(m))){let m=GUe(e,h,t,r,s,i,l,p,o);d=d||m}return p?.forEach((h,m)=>{r.replaceNode(e,m,h)}),d}function zUe(e,t,r){let i=new Map;return jxe(e,o=>{let{text:s}=o.name;!i.has(s)&&(q9(o.name)||t.resolveName(s,o,111551,!0))&&i.set(s,dX(`_${s}`,r))}),i}function BUe(e,t,r){jxe(e,(i,o)=>{if(o)return;let{text:s}=i.name;r.replaceNode(e,i,P.createIdentifier(t.get(s)||s))})}function jxe(e,t){e.forEachChild(function r(i){if(Er(i)&&_0(e,i.expression)&&Me(i.name)){let{parent:o}=i;t(i,Zn(o)&&o.left===i&&o.operatorToken.kind===64)}i.forEachChild(r)})}function GUe(e,t,r,i,o,s,l,d,p){switch(t.kind){case 243:return Uxe(e,t,i,r,o,s,p),!1;case 244:{let{expression:h}=t;switch(h.kind){case 213:return Xd(h,!0)&&i.replaceNode(e,t,fv(void 0,void 0,h.arguments[0],p)),!1;case 226:{let{operatorToken:m}=h;return m.kind===64&&jUe(e,r,h,i,l,d)}}}default:return!1}}function Uxe(e,t,r,i,o,s,l){let{declarationList:d}=t,p=!1,h=nn(d.declarations,m=>{let{name:v,initializer:E}=m;if(E){if(_0(e,E))return p=!0,dP([]);if(Xd(E,!0))return p=!0,XUe(v,E.arguments[0],i,o,s,l);if(Er(E)&&Xd(E.expression,!0))return p=!0,VUe(v,E.name.text,E.expression.arguments[0],o,l)}return dP([P.createVariableStatement(void 0,P.createVariableDeclarationList([m],d.flags))])});if(p){r.replaceNodeWithNodes(e,t,ta(h,v=>v.newImports));let m;return an(h,v=>{v.useSitesToUnqualify&&$8(v.useSitesToUnqualify,m??(m=new Map))}),m}}function VUe(e,t,r,i,o){switch(e.kind){case 206:case 207:{let s=dX(t,i);return dP([Kxe(s,t,r,o),uX(void 0,e,P.createIdentifier(s))])}case 80:return dP([Kxe(e.text,t,r,o)]);default:return x.assertNever(e,`Convert to ES module got invalid syntax form ${e.kind}`)}}function jUe(e,t,r,i,o,s){let{left:l,right:d}=r;if(!Er(l))return!1;if(_0(e,l))if(_0(e,d))i.delete(e,r.parent);else{let p=ma(d)?UUe(d,s):Xd(d,!0)?qUe(d.arguments[0],t):void 0;return p?(i.replaceNodeWithNodes(e,r.parent,p[0]),p[1]):(i.replaceRangeWithText(e,qp(l.getStart(e),d.pos),\"export default\"),!0)}else _0(e,l.expression)&&HUe(e,r,i,o);return!1}function UUe(e,t){let r=$5(e.properties,i=>{switch(i.kind){case 177:case 178:case 304:case 305:return;case 303:return Me(i.name)?KUe(i.name.text,i.initializer,t):void 0;case 174:return Me(i.name)?Jxe(i.name.text,[P.createToken(95)],i,t):void 0;default:x.assertNever(i,`Convert to ES6 got invalid prop kind ${i.kind}`)}});return r&&[r,!1]}function HUe(e,t,r,i){let{text:o}=t.left.name,s=i.get(o);if(s!==void 0){let l=[uX(void 0,s,t.right),gde([P.createExportSpecifier(!1,s,o)])];r.replaceNodeWithNodes(e,t.parent,l)}else JUe(t,e,r)}function qUe(e,t){let r=e.text,i=t.getSymbolAtLocation(e),o=i?i.exports:r8;return o.has(\"export=\")?[[_de(r)],!0]:o.has(\"default\")?o.size>1?[[Hxe(r),_de(r)],!0]:[[_de(r)],!0]:[[Hxe(r)],!1]}function Hxe(e){return gde(void 0,e)}function _de(e){return gde([P.createExportSpecifier(!1,void 0,\"default\")],e)}function JUe({left:e,right:t,parent:r},i,o){let s=e.name.text;if((ps(t)||gs(t)||Dc(t))&&(!t.name||t.name.text===s)){o.replaceRange(i,{pos:e.getStart(i),end:t.getStart(i)},P.createToken(95),{suffix:\" \"}),t.name||o.insertName(i,t,s);let l=Ya(r,27,i);l&&o.delete(i,l)}else o.replaceNodeRangeWithNodes(i,e.expression,Ya(e,25,i),[P.createToken(95),P.createToken(87)],{joiner:\" \",suffix:\" \"})}function KUe(e,t,r){let i=[P.createToken(95)];switch(t.kind){case 218:{let{name:s}=t;if(s&&s.text!==e)return o()}case 219:return Jxe(e,i,t,r);case 231:return ZUe(e,i,t,r);default:return o()}function o(){return uX(i,P.createIdentifier(e),hde(t,r))}}function hde(e,t){if(!t||!ct(bo(t.keys()),i=>Np(e,i)))return e;return oo(e)?SJ(e,!0,r):Yk(e,!0,r);function r(i){if(i.kind===211){let o=t.get(i);return t.delete(i),o}}}function XUe(e,t,r,i,o,s){switch(e.kind){case 206:{let l=$5(e.elements,d=>d.dotDotDotToken||d.initializer||d.propertyName&&!Me(d.propertyName)||!Me(d.name)?void 0:Xxe(d.propertyName&&d.propertyName.text,d.name.text));if(l)return dP([fv(void 0,l,t,s)])}case 207:{let l=dX(Nde(t.text,o),i);return dP([fv(P.createIdentifier(l),void 0,t,s),uX(void 0,Fs(e),P.createIdentifier(l))])}case 80:return YUe(e,t,r,i,s);default:return x.assertNever(e,`Convert to ES module got invalid name kind ${e.kind}`)}}function YUe(e,t,r,i,o){let s=r.getSymbolAtLocation(e),l=new Map,d=!1,p;for(let m of i.original.get(e.text)){if(r.getSymbolAtLocation(m)!==s||m===e)continue;let{parent:v}=m;if(Er(v)){let{name:{text:E}}=v;if(E===\"default\"){d=!0;let S=m.getText();(p??(p=new Map)).set(v,P.createIdentifier(S))}else{x.assert(v.expression===m,\"Didn't expect expression === use\");let S=l.get(E);S===void 0&&(S=dX(E,i),l.set(E,S)),(p??(p=new Map)).set(v,P.createIdentifier(S))}}else d=!0}let h=l.size===0?void 0:bo(OD(l.entries(),([m,v])=>P.createImportSpecifier(!1,m===v?void 0:P.createIdentifier(m),P.createIdentifier(v))));return h||(d=!0),dP([fv(d?Fs(e):void 0,h,t,o)],p)}function dX(e,t){for(;t.original.has(e)||t.additional.has(e);)e=`_${e}`;return t.additional.add(e),e}function $Ue(e){let t=Ep();return qxe(e,r=>t.add(r.text,r)),t}function qxe(e,t){Me(e)&&QUe(e)&&t(e),e.forEachChild(r=>qxe(r,t))}function QUe(e){let{parent:t}=e;switch(t.kind){case 211:return t.name!==e;case 208:return t.propertyName!==e;case 276:return t.propertyName!==e;default:return!0}}function Jxe(e,t,r,i){return P.createFunctionDeclaration(ro(t,T0(r.modifiers)),Fs(r.asteriskToken),e,T0(r.typeParameters),T0(r.parameters),Fs(r.type),P.converters.convertToFunctionBlock(hde(r.body,i)))}function ZUe(e,t,r,i){return P.createClassDeclaration(ro(t,T0(r.modifiers)),e,T0(r.typeParameters),T0(r.heritageClauses),hde(r.members,i))}function Kxe(e,t,r,i){return t===\"default\"?fv(P.createIdentifier(e),void 0,r,i):fv(void 0,[Xxe(t,e)],r,i)}function Xxe(e,t){return P.createImportSpecifier(!1,e!==void 0&&e!==t?P.createIdentifier(e):void 0,P.createIdentifier(t))}function uX(e,t,r){return P.createVariableStatement(e,P.createVariableDeclarationList([P.createVariableDeclaration(t,void 0,void 0,r)],2))}function gde(e,t){return P.createExportDeclaration(void 0,!1,e&&P.createNamedExports(e),t===void 0?void 0:P.createStringLiteral(t))}function dP(e,t){return{newImports:e,useSitesToUnqualify:t}}var eHe=pt({\"src/services/codefixes/convertToEsModule.ts\"(){\"use strict\";Hr(),oa(),ra({errorCodes:[f.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module.code],getCodeActions(e){let{sourceFile:t,program:r,preferences:i}=e,o=er.ChangeTracker.with(e,s=>{if(FUe(t,r.getTypeChecker(),s,Wa(r.getCompilerOptions()),Pp(t,i)))for(let d of r.getSourceFiles())WUe(d,t,r,s,Pp(d,i))});return[Im(\"convertToEsModule\",o,f.Convert_to_ES_module)]}})}});function Yxe(e,t){let r=Rn(Hi(e,t),$d);return x.assert(!!r,\"Expected position to be owned by a qualified name.\"),Me(r.left)?r:void 0}function $xe(e,t,r){let i=r.right.text,o=P.createIndexedAccessTypeNode(P.createTypeReferenceNode(r.left,void 0),P.createLiteralTypeNode(P.createStringLiteral(i)));e.replaceNode(t,r,o)}var pX,vde,tHe=pt({\"src/services/codefixes/correctQualifiedNameToIndexedAccessType.ts\"(){\"use strict\";Hr(),oa(),pX=\"correctQualifiedNameToIndexedAccessType\",vde=[f.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1.code],ra({errorCodes:vde,getCodeActions(e){let t=Yxe(e.sourceFile,e.span.start);if(!t)return;let r=er.ChangeTracker.with(e,o=>$xe(o,e.sourceFile,t)),i=`${t.left.text}[\"${t.right.text}\"]`;return[Go(pX,r,[f.Rewrite_as_the_indexed_access_type_0,i],pX,f.Rewrite_all_as_indexed_access_types)]},fixIds:[pX],getAllCodeActions:e=>Qa(e,vde,(t,r)=>{let i=Yxe(r.file,r.start);i&&$xe(t,r.file,i)})})}});function Qxe(e,t){return Vr(Hi(t,e.start).parent,Ed)}function Zxe(e,t,r){if(!t)return;let i=t.parent,o=i.parent,s=nHe(t,r);if(s.length===i.elements.length)e.insertModifierBefore(r.sourceFile,156,i);else{let l=P.updateExportDeclaration(o,o.modifiers,!1,P.updateNamedExports(i,Cr(i.elements,p=>!To(s,p))),o.moduleSpecifier,void 0),d=P.createExportDeclaration(void 0,!0,P.createNamedExports(s),o.moduleSpecifier,void 0);e.replaceNode(r.sourceFile,o,l,{leadingTriviaOption:er.LeadingTriviaOption.IncludeAll,trailingTriviaOption:er.TrailingTriviaOption.Exclude}),e.insertNodeAfter(r.sourceFile,o,d)}}function nHe(e,t){let r=e.parent;if(r.elements.length===1)return r.elements;let i=vle(eu(r),t.program.getSemanticDiagnostics(t.sourceFile,t.cancellationToken));return Cr(r.elements,o=>{var s;return o===e||((s=gle(o,i))==null?void 0:s.code)===fX[0]})}var fX,mX,rHe=pt({\"src/services/codefixes/convertToTypeOnlyExport.ts\"(){\"use strict\";Hr(),oa(),fX=[f.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type.code],mX=\"convertToTypeOnlyExport\",ra({errorCodes:fX,getCodeActions:function(t){let r=er.ChangeTracker.with(t,i=>Zxe(i,Qxe(t.span,t.sourceFile),t));if(r.length)return[Go(mX,r,f.Convert_to_type_only_export,mX,f.Convert_all_re_exported_types_to_type_only_exports)]},fixIds:[mX],getAllCodeActions:function(t){let r=new Map;return Qa(t,fX,(i,o)=>{let s=Qxe(o,t.sourceFile);s&&Jf(r,Fa(s.parent.parent))&&Zxe(i,s,t)})}})}});function eRe(e,t){let{parent:r}=Hi(e,t);return Iu(r)||cc(r)&&r.importClause?r:void 0}function tRe(e,t,r){if(e.parent.parent.name)return!1;let i=e.parent.elements.filter(s=>!s.isTypeOnly);if(i.length===1)return!0;let o=r.getTypeChecker();for(let s of i)if(fs.Core.eachSymbolReferenceInFile(s.name,o,t,d=>!Pb(d)))return!1;return!0}function Dz(e,t,r){var i;if(Iu(r))e.replaceNode(t,r,P.updateImportSpecifier(r,!0,r.propertyName,r.name));else{let o=r.importClause;if(o.name&&o.namedBindings)e.replaceNodeWithNodes(t,r,[P.createImportDeclaration(T0(r.modifiers,!0),P.createImportClause(!0,Fs(o.name,!0),void 0),Fs(r.moduleSpecifier,!0),Fs(r.attributes,!0)),P.createImportDeclaration(T0(r.modifiers,!0),P.createImportClause(!0,void 0,Fs(o.namedBindings,!0)),Fs(r.moduleSpecifier,!0),Fs(r.attributes,!0))]);else{let s=((i=o.namedBindings)==null?void 0:i.kind)===275?P.updateNamedImports(o.namedBindings,sc(o.namedBindings.elements,d=>P.updateImportSpecifier(d,!1,d.propertyName,d.name))):o.namedBindings,l=P.updateImportDeclaration(r,r.modifiers,P.updateImportClause(o,!0,o.name,s),r.moduleSpecifier,r.attributes);e.replaceNode(t,r,l)}}}var yde,Cz,iHe=pt({\"src/services/codefixes/convertToTypeOnlyImport.ts\"(){\"use strict\";Hr(),oa(),yde=[f.This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error.code,f._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code,f._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code],Cz=\"convertToTypeOnlyImport\",ra({errorCodes:yde,getCodeActions:function(t){var r;let i=eRe(t.sourceFile,t.span.start);if(i){let o=er.ChangeTracker.with(t,d=>Dz(d,t.sourceFile,i)),s=i.kind===276&&tRe(i,t.sourceFile,t.program)?er.ChangeTracker.with(t,d=>Dz(d,t.sourceFile,i.parent.parent.parent)):void 0,l=Go(Cz,o,i.kind===276?[f.Use_type_0,((r=i.propertyName)==null?void 0:r.text)??i.name.text]:f.Use_import_type,Cz,f.Fix_all_with_type_only_imports);return ct(s)?[Im(Cz,s,f.Use_import_type),l]:[l]}},fixIds:[Cz],getAllCodeActions:function(t){let r=new Set;return Qa(t,yde,(i,o)=>{let s=eRe(o.file,o.start);s?.kind===272&&!r.has(s)?(Dz(i,o.file,s),r.add(s)):s?.kind===276&&!r.has(s.parent.parent.parent)&&tRe(s,o.file,t.program)?(Dz(i,o.file,s.parent.parent.parent),r.add(s.parent.parent.parent)):s?.kind===276&&Dz(i,o.file,s)})}})}});function nRe(e,t,r,i,o=!1){if(!$S(t))return;let s=aHe(t);if(!s)return;let l=t.parent,{leftSibling:d,rightSibling:p}=oHe(t),h=l.getStart(),m=\"\";!d&&l.comment&&(h=rRe(l,l.getStart(),t.getStart()),m=`${i} */${i}`),d&&(o&&$S(d)?(h=t.getStart(),m=\"\"):(h=rRe(l,d.getStart(),t.getStart()),m=`${i} */${i}`));let v=l.getEnd(),E=\"\";p&&(o&&$S(p)?(v=p.getStart(),E=`${i}${i}`):(v=p.getStart(),E=`${i}/**${i} * `)),e.replaceRange(r,{pos:h,end:v},s,{prefix:m,suffix:E})}function oHe(e){let t=e.parent,r=t.getChildCount()-1,i=t.getChildren().findIndex(l=>l.getStart()===e.getStart()&&l.getEnd()===e.getEnd()),o=i>0?t.getChildAt(i-1):void 0,s=i<r?t.getChildAt(i+1):void 0;return{leftSibling:o,rightSibling:s}}function rRe(e,t,r){let i=e.getText().substring(t-e.getStart(),r-e.getStart());for(let o=i.length;o>0;o--)if(!/[*/\\s]/g.test(i.substring(o-1,o)))return t+o;return r}function aHe(e){var t;let{typeExpression:r}=e;if(!r)return;let i=(t=e.name)==null?void 0:t.getText();if(i){if(r.kind===329)return sHe(i,r);if(r.kind===316)return lHe(i,r)}}function sHe(e,t){let r=iRe(t);if(ct(r))return P.createInterfaceDeclaration(void 0,e,void 0,void 0,r)}function lHe(e,t){let r=Fs(t.type);if(r)return P.createTypeAliasDeclaration(void 0,P.createIdentifier(e),void 0,r)}function iRe(e){let t=e.jsDocPropertyTags;return ct(t)?Fi(t,i=>{var o;let s=cHe(i),l=(o=i.typeExpression)==null?void 0:o.type,d=i.isBracketed,p;if(l&&YS(l)){let h=iRe(l);p=P.createTypeLiteralNode(h)}else l&&(p=Fs(l));if(p&&s){let h=d?P.createToken(58):void 0;return P.createPropertySignature(void 0,s,h,p)}}):void 0}function cHe(e){return e.name.kind===80?e.name.text:e.name.right.text}function dHe(e){return ap(e)?ta(e.jsDoc,t=>{var r;return(r=t.tags)==null?void 0:r.filter(i=>$S(i))}):[]}var _X,bde,uHe=pt({\"src/services/codefixes/convertTypedefToType.ts\"(){\"use strict\";Hr(),oa(),_X=\"convertTypedefToType\",bde=[f.JSDoc_typedef_may_be_converted_to_TypeScript_type.code],ra({fixIds:[_X],errorCodes:bde,getCodeActions(e){let t=mv(e.host,e.formatContext.options),r=Hi(e.sourceFile,e.span.start);if(!r)return;let i=er.ChangeTracker.with(e,o=>nRe(o,r,e.sourceFile,t));if(i.length>0)return[Go(_X,i,f.Convert_typedef_to_TypeScript_type,_X,f.Convert_all_typedef_to_TypeScript_types)]},getAllCodeActions:e=>Qa(e,bde,(t,r)=>{let i=mv(e.host,e.formatContext.options),o=Hi(r.file,r.start);o&&nRe(t,o,r.file,i,!0)})})}});function oRe(e,t){let r=Hi(e,t);if(Me(r)){let i=Fo(r.parent.parent,Gu),o=r.getText(e);return{container:Fo(i.parent,ju),typeNode:i.type,constraint:o,name:o===\"K\"?\"P\":\"K\"}}}function aRe(e,t,{container:r,typeNode:i,constraint:o,name:s}){e.replaceNode(t,r,P.createMappedTypeNode(void 0,P.createTypeParameterDeclaration(void 0,s,P.createTypeReferenceNode(o)),void 0,void 0,i,void 0))}var hX,Ede,pHe=pt({\"src/services/codefixes/convertLiteralTypeToMappedType.ts\"(){\"use strict\";Hr(),oa(),hX=\"convertLiteralTypeToMappedType\",Ede=[f._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code],ra({errorCodes:Ede,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=oRe(r,i.start);if(!o)return;let{name:s,constraint:l}=o,d=er.ChangeTracker.with(t,p=>aRe(p,r,o));return[Go(hX,d,[f.Convert_0_to_1_in_0,l,s],hX,f.Convert_all_type_literals_to_mapped_type)]},fixIds:[hX],getAllCodeActions:e=>Qa(e,Ede,(t,r)=>{let i=oRe(r.file,r.start);i&&aRe(t,r.file,i)})})}});function sRe(e,t){return x.checkDefined(Oc(Hi(e,t)),\"There should be a containing class\")}function lRe(e){return!e.valueDeclaration||!(Wd(e.valueDeclaration)&2)}function cRe(e,t,r,i,o,s){let l=e.program.getTypeChecker(),d=fHe(i,l),p=l.getTypeAtLocation(t),m=l.getPropertiesOfType(p).filter(Zw(lRe,R=>!d.has(R.escapedName))),v=l.getTypeAtLocation(i),E=Dr(i.members,R=>ll(R));v.getNumberIndexType()||A(p,1),v.getStringIndexType()||A(p,0);let S=OI(r,e.program,s,e.host);Cue(i,m,r,e,s,S,R=>C(r,i,R)),S.writeFixes(o);function A(R,L){let G=l.getIndexInfoOfType(R,L);G&&C(r,i,l.indexInfoToIndexSignatureDeclaration(G,i,void 0,PR(e)))}function C(R,L,G){E?o.insertNodeAfter(R,E,G):o.insertMemberAtStart(R,L,G)}}function fHe(e,t){let r=Km(e);if(!r)return Vo();let i=t.getTypeAtLocation(r),o=t.getPropertiesOfType(i);return Vo(o.filter(lRe))}var Sde,gX,mHe=pt({\"src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts\"(){\"use strict\";Hr(),oa(),Sde=[f.Class_0_incorrectly_implements_interface_1.code,f.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code],gX=\"fixClassIncorrectlyImplementsInterface\",ra({errorCodes:Sde,getCodeActions(e){let{sourceFile:t,span:r}=e,i=sRe(t,r.start);return Fi(fx(i),o=>{let s=er.ChangeTracker.with(e,l=>cRe(e,o,t,i,l,e.preferences));return s.length===0?void 0:Go(gX,s,[f.Implement_interface_0,o.getText(t)],gX,f.Implement_all_unimplemented_interfaces)})},fixIds:[gX],getAllCodeActions(e){let t=new Map;return Qa(e,Sde,(r,i)=>{let o=sRe(i.file,i.start);if(Jf(t,Fa(o)))for(let s of fx(o))cRe(e,s,i.file,o,r,e.preferences)})}})}});function OI(e,t,r,i,o){return dRe(e,t,!1,r,i,o)}function dRe(e,t,r,i,o,s){let l=t.getCompilerOptions(),d=[],p=[],h=new Map,m=new Map;return{addImportFromDiagnostic:v,addImportFromExportedSymbol:E,writeFixes:A,hasFixes:C};function v(R,L){let G=hRe(L,R.code,R.start,r);!G||!G.length||S(Ta(G))}function E(R,L){let G=x.checkDefined(R.parent),U=U3(R,Wa(l)),K=t.getTypeChecker(),F=K.getMergedSymbol(Kc(R,K)),oe=fRe(e,F,U,G,!1,t,o,i,s),W=yX(e,t),$=uRe(e,x.checkDefined(oe),t,void 0,!!L,W,o,i);$&&S({fix:$,symbolName:U,errorIdentifierText:void 0})}function S(R){var L,G;let{fix:U,symbolName:K}=R;switch(U.kind){case 0:d.push(U);break;case 1:p.push(U);break;case 2:{let{importClauseOrBindingPattern:$,importKind:de,addAsTypeOnly:fe}=U,q=String(Fa($)),H=h.get(q);if(H||h.set(q,H={importClauseOrBindingPattern:$,defaultImport:void 0,namedImports:new Map}),de===0){let ee=H?.namedImports.get(K);H.namedImports.set(K,F(ee,fe))}else x.assert(H.defaultImport===void 0||H.defaultImport.name===K,\"(Add to Existing) Default import should be missing or match symbolName\"),H.defaultImport={name:K,addAsTypeOnly:F((L=H.defaultImport)==null?void 0:L.addAsTypeOnly,fe)};break}case 3:{let{moduleSpecifier:$,importKind:de,useRequire:fe,addAsTypeOnly:q}=U,H=oe($,de,fe,q);switch(x.assert(H.useRequire===fe,\"(Add new) Tried to add an `import` and a `require` for the same module\"),de){case 1:x.assert(H.defaultImport===void 0||H.defaultImport.name===K,\"(Add new) Default import should be missing or match symbolName\"),H.defaultImport={name:K,addAsTypeOnly:F((G=H.defaultImport)==null?void 0:G.addAsTypeOnly,q)};break;case 0:let ee=(H.namedImports||(H.namedImports=new Map)).get(K);H.namedImports.set(K,F(ee,q));break;case 3:case 2:x.assert(H.namespaceLikeImport===void 0||H.namespaceLikeImport.name===K,\"Namespacelike import shoudl be missing or match symbolName\"),H.namespaceLikeImport={importKind:de,name:K,addAsTypeOnly:q};break}break}case 4:break;default:x.assertNever(U,`fix wasn't never - got kind ${U.kind}`)}function F($,de){return Math.max($??0,de)}function oe($,de,fe,q){let H=W($,!0),ee=W($,!1),le=m.get(H),Ee=m.get(ee),ce={defaultImport:void 0,namedImports:void 0,namespaceLikeImport:void 0,useRequire:fe};return de===1&&q===2?le||(m.set(H,ce),ce):q===1&&(le||Ee)?le||Ee:Ee||(m.set(ee,ce),ce)}function W($,de){return`${de?1:0}|${$}`}}function A(R,L){let G;e.imports.length===0&&L!==void 0?G=L:G=Pp(e,i);for(let K of d)Rde(R,e,K);for(let K of p)TRe(R,e,K,G);h.forEach(({importClauseOrBindingPattern:K,defaultImport:F,namedImports:oe})=>{SRe(R,e,K,F,bo(oe.entries(),([W,$])=>({addAsTypeOnly:$,name:W})),i)});let U;m.forEach(({useRequire:K,defaultImport:F,namedImports:oe,namespaceLikeImport:W},$)=>{let de=$.slice(2),q=(K?xRe:IRe)(de,G,F,oe&&bo(oe.entries(),([H,ee])=>({addAsTypeOnly:ee,name:H})),W,l,i);U=x1(U,q)}),U&&QN(R,e,U,!0,i)}function C(){return d.length>0||p.length>0||h.size>0||m.size>0}}function _He(e,t,r,i){let o=oP(e,i,r),s=mRe(t.getTypeChecker(),e,t.getCompilerOptions());return{getModuleSpecifierForBestExportInfo:l};function l(d,p,h,m){let{fixes:v,computedWithoutCacheCount:E}=vX(d,p,h,!1,t,e,r,i,s,m),S=gRe(v,e,t,o,r);return S&&{...S,computedWithoutCacheCount:E}}}function hHe(e,t,r,i,o,s,l,d,p,h,m,v){let E;r?(E=rO(i,l,d,m,v).get(i.path,r),x.assertIsDefined(E,\"Some exportInfo should match the specified exportMapKey\")):(E=RG(Sf(t.name))?[vHe(e,o,t,d,l)]:fRe(i,e,o,t,s,d,l,m,v),x.assertIsDefined(E,\"Some exportInfo should match the specified symbol / moduleSymbol\"));let S=yX(i,d),A=Pb(Hi(i,h)),C=x.checkDefined(uRe(i,E,d,h,A,S,l,m));return{moduleSpecifier:C.moduleSpecifier,codeAction:pRe(xde({host:l,formatContext:p,preferences:m},i,o,C,!1,d,m))}}function gHe(e,t,r,i,o,s){let l=r.getCompilerOptions(),d=iB(Ide(e,r.getTypeChecker(),t,l)),p=bRe(e,t,d,r),h=d!==t.text;return p&&pRe(xde({host:i,formatContext:o,preferences:s},e,d,p,h,r,s))}function uRe(e,t,r,i,o,s,l,d){let p=oP(e,d,l);return gRe(vX(t,i,o,s,r,e,l,d).fixes,e,r,p,l)}function pRe({description:e,changes:t,commands:r}){return{description:e,changes:t,commands:r}}function fRe(e,t,r,i,o,s,l,d,p){let h=_Re(s,l);return rO(e,l,s,d,p).search(e.path,o,m=>m===r,m=>{if(Kc(m[0].symbol,h(m[0].isFromPackageJson))===t&&m.some(v=>v.moduleSymbol===i||v.symbol.parent===i))return m})}function vHe(e,t,r,i,o){var s,l;let d=i.getCompilerOptions(),p=m(i.getTypeChecker(),!1);if(p)return p;let h=(l=(s=o.getPackageJsonAutoImportProvider)==null?void 0:s.call(o))==null?void 0:l.getTypeChecker();return x.checkDefined(h&&m(h,!0),\"Could not find symbol in specified module for code actions\");function m(v,E){let S=$3(r,v,d);if(S&&Kc(S.symbol,v)===e)return{symbol:S.symbol,moduleSymbol:r,moduleFileName:void 0,exportKind:S.exportKind,targetFlags:Kc(e,v).flags,isFromPackageJson:E};let A=v.tryGetMemberInModuleExportsAndProperties(t,r);if(A&&Kc(A,v)===e)return{symbol:A,moduleSymbol:r,moduleFileName:void 0,exportKind:0,targetFlags:Kc(e,v).flags,isFromPackageJson:E}}}function vX(e,t,r,i,o,s,l,d,p=mRe(o.getTypeChecker(),s,o.getCompilerOptions()),h){let m=o.getTypeChecker(),v=ta(e,p.getImportsForExportInfo),E=t!==void 0&&yHe(v,t),S=EHe(v,r,m,o.getCompilerOptions());if(S)return{computedWithoutCacheCount:0,fixes:[...E?[E]:je,S]};let{fixes:A,computedWithoutCacheCount:C=0}=THe(e,v,o,s,t,r,i,l,d,h);return{computedWithoutCacheCount:C,fixes:[...E?[E]:je,...A]}}function yHe(e,t){return ml(e,({declaration:r,importKind:i})=>{var o;if(i!==0)return;let s=bHe(r),l=s&&((o=sx(r))==null?void 0:o.text);if(l)return{kind:0,namespacePrefix:s,usagePosition:t,moduleSpecifier:l}})}function bHe(e){var t,r,i;switch(e.kind){case 260:return(t=Vr(e.name,Me))==null?void 0:t.text;case 271:return e.name.text;case 272:return(i=Vr((r=e.importClause)==null?void 0:r.namedBindings,my))==null?void 0:i.name.text;default:return x.assertNever(e)}}function Tde(e,t,r,i,o,s){return e?t&&s.importsNotUsedAsValues===2||TV(s)&&(!(i&111551)||o.getTypeOnlyAliasDeclaration(r))?2:1:4}function EHe(e,t,r,i){let o;for(let l of e){let d=s(l);if(!d)continue;let p=UM(d.importClauseOrBindingPattern);if(d.addAsTypeOnly!==4&&p||d.addAsTypeOnly===4&&!p)return d;o??(o=d)}return o;function s({declaration:l,importKind:d,symbol:p,targetFlags:h}){if(d===3||d===2||l.kind===271)return;if(l.kind===260)return(d===0||d===1)&&l.name.kind===206?{kind:2,importClauseOrBindingPattern:l.name,importKind:d,moduleSpecifier:l.initializer.arguments[0].text,addAsTypeOnly:4}:void 0;let{importClause:m}=l;if(!m||!Ga(l.moduleSpecifier))return;let{name:v,namedBindings:E}=m;if(m.isTypeOnly&&!(d===0&&E))return;let S=Tde(t,!1,p,h,r,i);if(!(d===1&&(v||S===2&&E))&&!(d===0&&E?.kind===274))return{kind:2,importClauseOrBindingPattern:m,importKind:d,moduleSpecifier:l.moduleSpecifier.text,addAsTypeOnly:S}}}function mRe(e,t,r){let i;for(let o of t.imports){let s=yC(o);if(AW(s.parent)){let l=e.resolveExternalModuleName(o);l&&(i||(i=Ep())).add(na(l),s.parent)}else if(s.kind===272||s.kind===271){let l=e.getSymbolAtLocation(o);l&&(i||(i=Ep())).add(na(l),s)}}return{getImportsForExportInfo:({moduleSymbol:o,exportKind:s,targetFlags:l,symbol:d})=>{if(!(l&111551)&&wd(t))return je;let p=i?.get(na(o));if(!p)return je;let h=Ade(t,s,r);return p.map(m=>({declaration:m,importKind:h,symbol:d,targetFlags:l}))}}}function yX(e,t){if(!wd(e))return!1;if(e.commonJsModuleIndicator&&!e.externalModuleIndicator)return!0;if(e.externalModuleIndicator&&!e.commonJsModuleIndicator)return!1;let r=t.getCompilerOptions();if(r.configFile)return ld(r)<5;if(e.impliedNodeFormat===1)return!0;if(e.impliedNodeFormat===99)return!1;for(let i of t.getSourceFiles())if(!(i===e||!wd(i)||t.isSourceFileFromExternalLibrary(i))){if(i.commonJsModuleIndicator&&!i.externalModuleIndicator)return!0;if(i.externalModuleIndicator&&!i.commonJsModuleIndicator)return!1}return!0}function _Re(e,t){return N_(r=>r?t.getPackageJsonAutoImportProvider().getTypeChecker():e.getTypeChecker())}function SHe(e,t,r,i,o,s,l,d,p){let h=wd(t),m=e.getCompilerOptions(),v=lT(e,l),E=_Re(e,l),S=zd(m),A=x3(S),C=p?G=>({moduleSpecifiers:h0.tryGetModuleSpecifiersFromCache(G,t,v,d),computedWithoutCache:!1}):(G,U)=>h0.getModuleSpecifiersWithCacheInfo(G,U,m,t,v,d,void 0,!0),R=0,L=ta(s,(G,U)=>{let K=E(G.isFromPackageJson),{computedWithoutCache:F,moduleSpecifiers:oe}=C(G.moduleSymbol,K),W=!!(G.targetFlags&111551),$=Tde(i,!0,G.symbol,G.targetFlags,K,m);return R+=F?1:0,Fi(oe,de=>{var fe;if(A&&Gb(de))return;if(!W&&h&&r!==void 0)return{kind:1,moduleSpecifier:de,usagePosition:r,exportInfo:G,isReExport:U>0};let q=Ade(t,G.exportKind,m),H;if(r!==void 0&&q===3&&G.exportKind===0){let ee=K.resolveExternalModuleSymbol(G.moduleSymbol),le;ee!==G.moduleSymbol&&(le=(fe=Q3(ee,K,m))==null?void 0:fe.name),le||(le=Cde(G.moduleSymbol,Wa(m),!1)),H={namespacePrefix:le,usagePosition:r}}return{kind:3,moduleSpecifier:de,importKind:q,useRequire:o,addAsTypeOnly:$,exportInfo:G,isReExport:U>0,qualification:H}})});return{computedWithoutCacheCount:R,fixes:L}}function THe(e,t,r,i,o,s,l,d,p,h){let m=ml(t,v=>AHe(v,s,l,r.getTypeChecker(),r.getCompilerOptions()));return m?{fixes:[m]}:SHe(r,i,o,s,l,e,d,p,h)}function AHe({declaration:e,importKind:t,symbol:r,targetFlags:i},o,s,l,d){var p;let h=(p=sx(e))==null?void 0:p.text;if(h){let m=s?4:Tde(o,!0,r,i,l,d);return{kind:3,moduleSpecifier:h,importKind:t,addAsTypeOnly:m,useRequire:s}}}function hRe(e,t,r,i){let o=Hi(e.sourceFile,r),s;if(t===f._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code)s=DHe(e,o);else if(Me(o))if(t===f._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code){let d=iB(Ide(e.sourceFile,e.program.getTypeChecker(),o,e.program.getCompilerOptions())),p=bRe(e.sourceFile,o,d,e.program);return p&&[{fix:p,symbolName:d,errorIdentifierText:o.text}]}else s=PHe(e,o,i);else return;let l=oP(e.sourceFile,e.preferences,e.host);return s&&IHe(s,e.sourceFile,e.program,l,e.host)}function IHe(e,t,r,i,o){let s=l=>ks(l,o.getCurrentDirectory(),ev(o));return uS(e,(l,d)=>zv(!!l.isJsxNamespaceFix,!!d.isJsxNamespaceFix)||Ms(l.fix.kind,d.fix.kind)||vRe(l.fix,d.fix,t,r,i.allowsImportingSpecifier,s))}function gRe(e,t,r,i,o){if(ct(e))return e[0].kind===0||e[0].kind===2?e[0]:e.reduce((s,l)=>vRe(l,s,t,r,i.allowsImportingSpecifier,d=>ks(d,o.getCurrentDirectory(),ev(o)))===-1?l:s)}function vRe(e,t,r,i,o,s){return e.kind!==0&&t.kind!==0?zv(o(t.moduleSpecifier),o(e.moduleSpecifier))||RHe(e.moduleSpecifier,t.moduleSpecifier,r,i)||zv(yRe(e,r,i.getCompilerOptions(),s),yRe(t,r,i.getCompilerOptions(),s))||$L(e.moduleSpecifier,t.moduleSpecifier):0}function yRe(e,t,r,i){var o;if(e.isReExport&&((o=e.exportInfo)!=null&&o.moduleFileName)&&xHe(e.exportInfo.moduleFileName)){let s=i(Ur(e.exportInfo.moduleFileName));return Ui(t.path,s)}return!1}function xHe(e){return Ll(e,[\".js\",\".jsx\",\".d.ts\",\".ts\",\".tsx\"],!0)===\"index\"}function RHe(e,t,r,i){return Ui(e,\"node:\")&&!Ui(t,\"node:\")?q3(r,i)?-1:1:Ui(t,\"node:\")&&!Ui(e,\"node:\")?q3(r,i)?1:-1:0}function DHe({sourceFile:e,program:t,host:r,preferences:i},o){let s=t.getTypeChecker(),l=CHe(o,s);if(!l)return;let d=s.getAliasedSymbol(l),p=l.name,h=[{symbol:l,moduleSymbol:d,moduleFileName:void 0,exportKind:3,targetFlags:d.flags,isFromPackageJson:!1}],m=yX(e,t);return vX(h,void 0,!1,m,t,e,r,i).fixes.map(E=>{var S;return{fix:E,symbolName:p,errorIdentifierText:(S=Vr(o,Me))==null?void 0:S.text}})}function CHe(e,t){let r=Me(e)?t.getSymbolAtLocation(e):void 0;if(QW(r))return r;let{parent:i}=e;if(Od(i)&&i.tagName===e||fI(i)){let o=t.resolveName(t.getJsxNamespace(i),Od(i)?e:i,111551,!1);if(QW(o))return o}}function Ade(e,t,r,i){if(r.verbatimModuleSyntax&&(ld(r)===1||e.impliedNodeFormat===1))return 3;switch(t){case 0:return 0;case 1:return 1;case 2:return kHe(e,r,!!i);case 3:return NHe(e,r,!!i);default:return x.assertNever(t)}}function NHe(e,t,r){if(zS(t))return 1;let i=ld(t);switch(i){case 2:case 1:case 3:return Jn(e)&&(wl(e)||r)?2:3;case 4:case 5:case 6:case 7:case 99:case 0:case 200:return 2;case 100:case 199:return e.impliedNodeFormat===99?2:3;default:return x.assertNever(i,`Unexpected moduleKind ${i}`)}}function PHe({sourceFile:e,program:t,cancellationToken:r,host:i,preferences:o},s,l){let d=t.getTypeChecker(),p=t.getCompilerOptions();return ta(Ide(e,d,s,p),h=>{if(h===\"default\")return;let m=Pb(s),v=yX(e,t),E=LHe(h,ix(s),aT(s),r,e,t,l,i,o);return bo(Y5(E.values(),S=>vX(S,s.getStart(e),m,v,t,e,i,o).fixes),S=>({fix:S,symbolName:h,errorIdentifierText:s.text,isJsxNamespaceFix:h!==s.text}))})}function bRe(e,t,r,i){let o=i.getTypeChecker(),s=o.resolveName(r,t,111551,!0);if(!s)return;let l=o.getTypeOnlyAliasDeclaration(s);if(!(!l||Nn(l)!==e))return{kind:4,typeOnlyAliasDeclaration:l}}function Ide(e,t,r,i){let o=r.parent;if((Od(o)||l0(o))&&o.tagName===r&&kJ(i.jsx)){let s=t.getJsxNamespace(e);if(MHe(s,r,t))return!gx(r.text)&&!t.resolveName(r.text,r,111551,!1)?[r.text,s]:[s]}return[r.text]}function MHe(e,t,r){if(gx(t.text))return!0;let i=r.resolveName(e,t,111551,!0);return!i||ct(i.declarations,Sb)&&!(i.flags&111551)}function LHe(e,t,r,i,o,s,l,d,p){var h;let m=Ep(),v=oP(o,p,d),E=(h=d.getModuleSpecifierCache)==null?void 0:h.call(d),S=N_(C=>lT(C?d.getPackageJsonAutoImportProvider():s,d));function A(C,R,L,G,U,K){let F=S(K);if(R&&GJ(U,o,R,p,v,F,E)||!R&&v.allowsImportingAmbientModule(C,F)){let oe=U.getTypeChecker();m.add(lle(L,oe).toString(),{symbol:L,moduleSymbol:C,moduleFileName:R?.fileName,exportKind:G,targetFlags:Kc(L,oe).flags,isFromPackageJson:K})}}return VJ(s,d,p,l,(C,R,L,G)=>{let U=L.getTypeChecker();i.throwIfCancellationRequested();let K=L.getCompilerOptions(),F=$3(C,U,K);F&&(F.name===e||Cde(C,Wa(K),t)===e)&&DRe(F.resolvedSymbol,r)&&A(C,R,F.symbol,F.exportKind,L,G);let oe=U.tryGetMemberInModuleExportsAndProperties(e,C);oe&&DRe(oe,r)&&A(C,R,oe,0,L,G)}),m}function kHe(e,t,r){let i=zS(t),o=Jn(e);if(!o&&ld(t)>=5)return i?1:2;if(o)return wl(e)||r?i?1:2:3;for(let s of e.statements)if(Nc(s)&&!_l(s.moduleReference))return 3;return i?1:3}function xde(e,t,r,i,o,s,l){let d,p=er.ChangeTracker.with(e,h=>{d=OHe(h,t,r,i,o,s,l)});return Go(Pde,p,d,Mde,f.Add_all_missing_imports)}function OHe(e,t,r,i,o,s,l){let d=Pp(t,l);switch(i.kind){case 0:return Rde(e,t,i),[f.Change_0_to_1,r,`${i.namespacePrefix}.${r}`];case 1:return TRe(e,t,i,d),[f.Change_0_to_1,r,ARe(i.moduleSpecifier,d)+r];case 2:{let{importClauseOrBindingPattern:p,importKind:h,addAsTypeOnly:m,moduleSpecifier:v}=i;SRe(e,t,p,h===1?{name:r,addAsTypeOnly:m}:void 0,h===0?[{name:r,addAsTypeOnly:m}]:je,l);let E=Sf(v);return o?[f.Import_0_from_1,r,E]:[f.Update_import_from_0,E]}case 3:{let{importKind:p,moduleSpecifier:h,addAsTypeOnly:m,useRequire:v,qualification:E}=i,S=v?xRe:IRe,A=p===1?{name:r,addAsTypeOnly:m}:void 0,C=p===0?[{name:r,addAsTypeOnly:m}]:void 0,R=p===2||p===3?{importKind:p,name:E?.namespacePrefix||r,addAsTypeOnly:m}:void 0;return QN(e,t,S(h,d,A,C,R,s.getCompilerOptions(),l),!0,l),E&&Rde(e,t,E),o?[f.Import_0_from_1,r,h]:[f.Add_import_from_0,h]}case 4:{let{typeOnlyAliasDeclaration:p}=i,h=wHe(e,p,s,t,l);return h.kind===276?[f.Remove_type_from_import_of_0_from_1,r,ERe(h.parent.parent)]:[f.Remove_type_from_import_declaration_from_0,ERe(h)]}default:return x.assertNever(i,`Unexpected fix kind ${i.kind}`)}}function ERe(e){var t,r;return e.kind===271?((r=Vr((t=Vr(e.moduleReference,U_))==null?void 0:t.expression,Ga))==null?void 0:r.text)||e.moduleReference.getText():Fo(e.parent.moduleSpecifier,da).text}function wHe(e,t,r,i,o){let s=r.getCompilerOptions(),l=TV(s);switch(t.kind){case 276:if(t.isTypeOnly){let p=Zf.detectImportSpecifierSorting(t.parent.elements,o);if(t.parent.elements.length>1&&p){let h=P.updateImportSpecifier(t,!1,t.propertyName,t.name),m=Zf.getOrganizeImportsComparer(o,p===2),v=Zf.getImportSpecifierInsertionIndex(t.parent.elements,h,m,o);if(v!==t.parent.elements.indexOf(t))return e.delete(i,t),e.insertImportSpecifierAtIndex(i,h,t.parent,v),t}return e.deleteRange(i,{pos:Tb(t.getFirstToken()),end:Tb(t.propertyName??t.name)}),t}else return x.assert(t.parent.parent.isTypeOnly),d(t.parent.parent),t.parent.parent;case 273:return d(t),t;case 274:return d(t.parent),t.parent;case 271:return e.deleteRange(i,t.getChildAt(1)),t;default:x.failBadSyntaxKind(t)}function d(p){var h;if(e.delete(i,uJ(p,i)),!s.allowImportingTsExtensions){let m=sx(p.parent),v=m&&((h=r.getResolvedModuleFromModuleSpecifier(m))==null?void 0:h.resolvedModule);if(v?.resolvedUsingTsExtension){let E=xM(m.text,A4(m.text,s));e.replaceNode(i,m,P.createStringLiteral(E))}}if(l){let m=Vr(p.namedBindings,sg);if(m&&m.elements.length>1){Zf.detectImportSpecifierSorting(m.elements,o)&&t.kind===276&&m.elements.indexOf(t)!==0&&(e.delete(i,t),e.insertImportSpecifierAtIndex(i,t,m,0));for(let v of m.elements)v!==t&&!v.isTypeOnly&&e.insertModifierBefore(i,156,v)}}}}function SRe(e,t,r,i,o,s){var l;if(r.kind===206){i&&h(r,i.name,\"default\");for(let m of o)h(r,m.name,void 0);return}let d=r.isTypeOnly&&ct([i,...o],m=>m?.addAsTypeOnly===4),p=r.namedBindings&&((l=Vr(r.namedBindings,sg))==null?void 0:l.elements);if(i&&(x.assert(!r.name,\"Cannot add a default import to an import clause that already has one\"),e.insertNodeAt(t,r.getStart(t),P.createIdentifier(i.name),{suffix:\", \"})),o.length){let m;if(typeof s.organizeImportsIgnoreCase==\"boolean\")m=s.organizeImportsIgnoreCase;else if(p){let A=Zf.detectImportSpecifierSorting(p,s);A!==3&&(m=A===2)}m===void 0&&(m=Zf.detectSorting(t,s)===2);let v=Zf.getOrganizeImportsComparer(s,m),E=Gg(o.map(A=>P.createImportSpecifier((!r.isTypeOnly||d)&&bX(A,s),void 0,P.createIdentifier(A.name))),(A,C)=>Zf.compareImportOrExportSpecifiers(A,C,v)),S=p?.length&&Zf.detectImportSpecifierSorting(p,s);if(S&&!(m&&S===1))for(let A of E){let C=d&&!A.isTypeOnly?0:Zf.getImportSpecifierInsertionIndex(p,A,v,s);e.insertImportSpecifierAtIndex(t,A,r.namedBindings,C)}else if(p?.length)for(let A of E)e.insertNodeInListAfter(t,Da(p),A,p);else if(E.length){let A=P.createNamedImports(E);r.namedBindings?e.replaceNode(t,r.namedBindings,A):e.insertNodeAfter(t,x.checkDefined(r.name,\"Import clause must have either named imports or a default import\"),A)}}if(d&&(e.delete(t,uJ(r,t)),p))for(let m of p)e.insertModifierBefore(t,156,m);function h(m,v,E){let S=P.createBindingElement(void 0,E,v);m.elements.length?e.insertNodeInListAfter(t,Da(m.elements),S):e.replaceNode(t,m,P.createObjectBindingPattern([S]))}}function Rde(e,t,{namespacePrefix:r,usagePosition:i}){e.insertText(t,i,r+\".\")}function TRe(e,t,{moduleSpecifier:r,usagePosition:i},o){e.insertText(t,i,ARe(r,o))}function ARe(e,t){let r=dJ(t);return`import(${r}${e}${r}).`}function Dde({addAsTypeOnly:e}){return e===2}function bX(e,t){return Dde(e)||!!t.preferTypeOnlyAutoImports&&e.addAsTypeOnly!==4}function IRe(e,t,r,i,o,s,l){let d=CI(e,t),p;if(r!==void 0||i?.length){let h=(!r||Dde(r))&&ji(i,Dde)||(s.verbatimModuleSyntax||l.preferTypeOnlyAutoImports)&&r?.addAsTypeOnly!==4&&!ct(i,m=>m.addAsTypeOnly===4);p=x1(p,fv(r&&P.createIdentifier(r.name),i?.map(m=>P.createImportSpecifier(!h&&bX(m,l),void 0,P.createIdentifier(m.name))),e,t,h))}if(o){let h=o.importKind===3?P.createImportEqualsDeclaration(void 0,bX(o,l),P.createIdentifier(o.name),P.createExternalModuleReference(d)):P.createImportDeclaration(void 0,P.createImportClause(bX(o,l),void 0,P.createNamespaceImport(P.createIdentifier(o.name))),d,void 0);p=x1(p,h)}return x.checkDefined(p)}function xRe(e,t,r,i,o){let s=CI(e,t),l;if(r||i?.length){let d=i?.map(({name:h})=>P.createBindingElement(void 0,void 0,h))||[];r&&d.unshift(P.createBindingElement(void 0,\"default\",r.name));let p=RRe(P.createObjectBindingPattern(d),s);l=x1(l,p)}if(o){let d=RRe(o.name,s);l=x1(l,d)}return x.checkDefined(l)}function RRe(e,t){return P.createVariableStatement(void 0,P.createVariableDeclarationList([P.createVariableDeclaration(typeof e==\"string\"?P.createIdentifier(e):e,void 0,void 0,P.createCallExpression(P.createIdentifier(\"require\"),void 0,[t]))],2))}function DRe({declarations:e},t){return ct(e,r=>!!(Lk(r)&t))}function Cde(e,t,r){return Nde(Yd(Sf(e.name)),t,r)}function Nde(e,t,r){let i=Ll(C1(e,\"/index\")),o=\"\",s=!0,l=i.charCodeAt(0);_h(l,t)?(o+=String.fromCharCode(l),r&&(o=o.toUpperCase())):s=!1;for(let d=1;d<i.length;d++){let p=i.charCodeAt(d),h=_b(p,t);if(h){let m=String.fromCharCode(p);s||(m=m.toUpperCase()),o+=m}s=h}return FA(o)?`_${o}`:o||\"_\"}var Pde,Mde,Lde,WHe=pt({\"src/services/codefixes/importFixes.ts\"(){\"use strict\";Hr(),oa(),Pde=\"import\",Mde=\"fixMissingImport\",Lde=[f.Cannot_find_name_0.code,f.Cannot_find_name_0_Did_you_mean_1.code,f.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,f.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,f.Cannot_find_namespace_0.code,f._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code,f._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code,f.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code,f._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code,f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery.code,f.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later.code,f.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom.code,f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig.code,f.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code,f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig.code,f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha.code,f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode.code,f.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig.code,f.Cannot_find_namespace_0_Did_you_mean_1.code],ra({errorCodes:Lde,getCodeActions(e){let{errorCode:t,preferences:r,sourceFile:i,span:o,program:s}=e,l=hRe(e,t,o.start,!0);if(l)return l.map(({fix:d,symbolName:p,errorIdentifierText:h})=>xde(e,i,p,d,p!==h,s,r))},fixIds:[Mde],getAllCodeActions:e=>{let{sourceFile:t,program:r,preferences:i,host:o,cancellationToken:s}=e,l=dRe(t,r,!0,i,o,s);return CR(e,Lde,d=>l.addImportFromDiagnostic(d,e)),DR(er.ChangeTracker.with(e,l.writeFixes))}})}});function CRe(e,t,r){let i=Dr(e.getSemanticDiagnostics(t),l=>l.start===r.start&&l.length===r.length);if(i===void 0||i.relatedInformation===void 0)return;let o=Dr(i.relatedInformation,l=>l.code===f.This_type_parameter_might_need_an_extends_0_constraint.code);if(o===void 0||o.file===void 0||o.start===void 0||o.length===void 0)return;let s=wue(o.file,qc(o.start,o.length));if(s!==void 0&&(Me(s)&&qs(s.parent)&&(s=s.parent),qs(s))){if(wx(s.parent))return;let l=Hi(t,r.start),d=e.getTypeChecker();return{constraint:zHe(d,l)||FHe(o.messageText),declaration:s,token:l}}}function NRe(e,t,r,i,o,s){let{declaration:l,constraint:d}=s,p=t.getTypeChecker();if(fo(d))e.insertText(o,l.name.end,` extends ${d}`);else{let h=Wa(t.getCompilerOptions()),m=PR({program:t,host:i}),v=OI(o,t,r,i),E=iY(p,v,d,void 0,h,void 0,m);E&&(e.replaceNode(o,l,P.updateTypeParameterDeclaration(l,void 0,l.name,E,l.default)),v.writeFixes(e))}}function FHe(e){let[,t]=a_(e,`\n`,0).match(/`extends (.*)`/)||[];return t}function zHe(e,t){return xi(t.parent)?e.getTypeArgumentConstraint(t.parent):(lt(t)?e.getContextualType(t):void 0)||e.getTypeAtLocation(t)}var EX,kde,BHe=pt({\"src/services/codefixes/fixAddMissingConstraint.ts\"(){\"use strict\";Hr(),oa(),EX=\"addMissingConstraint\",kde=[f.Type_0_is_not_comparable_to_type_1.code,f.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,f.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,f.Type_0_is_not_assignable_to_type_1.code,f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,f.Property_0_is_incompatible_with_index_signature.code,f.Property_0_in_type_1_is_not_assignable_to_type_2.code,f.Type_0_does_not_satisfy_the_constraint_1.code],ra({errorCodes:kde,getCodeActions(e){let{sourceFile:t,span:r,program:i,preferences:o,host:s}=e,l=CRe(i,t,r);if(l===void 0)return;let d=er.ChangeTracker.with(e,p=>NRe(p,i,o,s,t,l));return[Go(EX,d,f.Add_extends_constraint,EX,f.Add_extends_constraint_to_all_type_parameters)]},fixIds:[EX],getAllCodeActions:e=>{let{program:t,preferences:r,host:i}=e,o=new Map;return DR(er.ChangeTracker.with(e,s=>{CR(e,kde,l=>{let d=CRe(t,l.file,qc(l.start,l.length));if(d&&Jf(o,Fa(d.declaration)))return NRe(s,t,r,i,l.file,d)})}))}})}});function PRe(e,t,r,i){switch(r){case f.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code:case f.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:case f.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code:case f.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code:case f.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:return GHe(e,t.sourceFile,i);case f.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code:case f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code:case f.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code:case f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code:return VHe(e,t.sourceFile,i);default:x.fail(\"Unexpected error code: \"+r)}}function GHe(e,t,r){let i=LRe(t,r);if(wd(t)){e.addJSDocTags(t,i,[P.createJSDocOverrideTag(P.createIdentifier(\"override\"))]);return}let o=i.modifiers||je,s=Dr(o,rI),l=Dr(o,Ure),d=Dr(o,v=>eJ(v.kind)),p=hA(o,Xc),h=l?l.end:s?s.end:d?d.end:p?pa(t.text,p.end):i.getStart(t),m=d||s||l?{prefix:\" \"}:{suffix:\" \"};e.insertModifierAt(t,h,164,m)}function VHe(e,t,r){let i=LRe(t,r);if(wd(t)){e.filterJSDocTags(t,i,e8(S6));return}let o=Dr(i.modifiers,Hre);x.assertIsDefined(o),e.deleteModifier(t,o)}function MRe(e){switch(e.kind){case 176:case 172:case 174:case 177:case 178:return!0;case 169:return wu(e,e.parent);default:return!1}}function LRe(e,t){let r=Hi(e,t),i=Rn(r,o=>Kr(o)?\"quit\":MRe(o));return x.assert(i&&MRe(i)),i}var Ode,uP,IO,wde,Wde,jHe=pt({\"src/services/codefixes/fixOverrideModifier.ts\"(){\"use strict\";Hr(),oa(),Ode=\"fixOverrideModifier\",uP=\"fixAddOverrideModifier\",IO=\"fixRemoveOverrideModifier\",wde=[f.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code,f.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code,f.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code,f.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code,f.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code,f.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code,f.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code],Wde={[f.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:f.Add_override_modifier,fixId:uP,fixAllDescriptions:f.Add_all_missing_override_modifiers},[f.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:f.Add_override_modifier,fixId:uP,fixAllDescriptions:f.Add_all_missing_override_modifiers},[f.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code]:{descriptions:f.Remove_override_modifier,fixId:IO,fixAllDescriptions:f.Remove_all_unnecessary_override_modifiers},[f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code]:{descriptions:f.Remove_override_modifier,fixId:IO,fixAllDescriptions:f.Remove_override_modifier},[f.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code]:{descriptions:f.Add_override_modifier,fixId:uP,fixAllDescriptions:f.Add_all_missing_override_modifiers},[f.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:f.Add_override_modifier,fixId:uP,fixAllDescriptions:f.Add_all_missing_override_modifiers},[f.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code]:{descriptions:f.Add_override_modifier,fixId:uP,fixAllDescriptions:f.Remove_all_unnecessary_override_modifiers},[f.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code]:{descriptions:f.Remove_override_modifier,fixId:IO,fixAllDescriptions:f.Remove_all_unnecessary_override_modifiers},[f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code]:{descriptions:f.Remove_override_modifier,fixId:IO,fixAllDescriptions:f.Remove_all_unnecessary_override_modifiers}},ra({errorCodes:wde,getCodeActions:function(t){let{errorCode:r,span:i}=t,o=Wde[r];if(!o)return je;let{descriptions:s,fixId:l,fixAllDescriptions:d}=o,p=er.ChangeTracker.with(t,h=>PRe(h,t,r,i.start));return[Xce(Ode,p,s,l,d)]},fixIds:[Ode,uP,IO],getAllCodeActions:e=>Qa(e,wde,(t,r)=>{let{code:i,start:o}=r,s=Wde[i];!s||s.fixId!==e.fixId||PRe(t,e,i,o)})})}});function kRe(e,t,r,i){let o=Pp(t,i),s=P.createStringLiteral(r.name.text,o===0);e.replaceNode(t,r,W8(r)?P.createElementAccessChain(r.expression,r.questionDotToken,s):P.createElementAccessExpression(r.expression,s))}function ORe(e,t){return Fo(Hi(e,t).parent,Er)}var SX,Fde,UHe=pt({\"src/services/codefixes/fixNoPropertyAccessFromIndexSignature.ts\"(){\"use strict\";Hr(),oa(),SX=\"fixNoPropertyAccessFromIndexSignature\",Fde=[f.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0.code],ra({errorCodes:Fde,fixIds:[SX],getCodeActions(e){let{sourceFile:t,span:r,preferences:i}=e,o=ORe(t,r.start),s=er.ChangeTracker.with(e,l=>kRe(l,e.sourceFile,o,i));return[Go(SX,s,[f.Use_element_access_for_0,o.name.text],SX,f.Use_element_access_for_all_undeclared_properties)]},getAllCodeActions:e=>Qa(e,Fde,(t,r)=>kRe(t,r.file,ORe(r.file,r.start),e.preferences))})}});function wRe(e,t,r,i){let o=Hi(t,r);if(!mR(o))return;let s=lu(o,!1,!1);if(!(!Ql(s)&&!ps(s))&&!Li(lu(s,!1,!1))){let l=x.checkDefined(Ya(s,100,t)),{name:d}=s,p=x.checkDefined(s.body);return ps(s)?d&&fs.Core.isSymbolReferencedInFile(d,i,t,p)?void 0:(e.delete(t,l),d&&e.delete(t,d),e.insertText(t,p.pos,\" =>\"),[f.Convert_function_expression_0_to_arrow_function,d?d.text:Y3]):(e.replaceNode(t,l,P.createToken(87)),e.insertText(t,d.end,\" = \"),e.insertText(t,p.pos,\" =>\"),[f.Convert_function_declaration_0_to_arrow_function,d.text])}}var TX,zde,HHe=pt({\"src/services/codefixes/fixImplicitThis.ts\"(){\"use strict\";Hr(),oa(),TX=\"fixImplicitThis\",zde=[f.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code],ra({errorCodes:zde,getCodeActions:function(t){let{sourceFile:r,program:i,span:o}=t,s,l=er.ChangeTracker.with(t,d=>{s=wRe(d,r,o.start,i.getTypeChecker())});return s?[Go(TX,l,s,TX,f.Fix_all_implicit_this_errors)]:je},fixIds:[TX],getAllCodeActions:e=>Qa(e,zde,(t,r)=>{wRe(t,r.file,r.start,e.program.getTypeChecker())})})}});function WRe(e,t,r){var i,o;let s=Hi(e,t);if(Me(s)){let l=Rn(s,cc);if(l===void 0)return;let d=da(l.moduleSpecifier)?l.moduleSpecifier:void 0;if(d===void 0)return;let p=(i=r.getResolvedModuleFromModuleSpecifier(d))==null?void 0:i.resolvedModule;if(p===void 0)return;let h=r.getSourceFile(p.resolvedFileName);if(h===void 0||ER(r,h))return;let m=h.symbol,v=(o=Vr(m.valueDeclaration,L_))==null?void 0:o.locals;if(v===void 0)return;let E=v.get(s.escapedText);if(E===void 0)return;let S=JHe(E);return S===void 0?void 0:{exportName:{node:s,isTypeOnly:Cx(S)},node:S,moduleSourceFile:h,moduleSpecifier:d.text}}}function qHe(e,t,{exportName:r,node:i,moduleSourceFile:o}){let s=AX(o,r.isTypeOnly);s?FRe(e,t,o,s,[r]):e2(i)?e.insertExportModifier(o,i):zRe(e,t,o,[r])}function Bde(e,t,r,i,o){yn(i)&&(o?FRe(e,t,r,o,i):zRe(e,t,r,i))}function AX(e,t){let r=i=>xl(i)&&(t&&i.isTypeOnly||!i.isTypeOnly);return hA(e.statements,r)}function FRe(e,t,r,i,o){let s=i.exportClause&&$p(i.exportClause)?i.exportClause.elements:P.createNodeArray([]),l=!i.isTypeOnly&&!!(xf(t.getCompilerOptions())||Dr(s,d=>d.isTypeOnly));e.replaceNode(r,i,P.updateExportDeclaration(i,i.modifiers,i.isTypeOnly,P.createNamedExports(P.createNodeArray([...s,...BRe(o,l)],s.hasTrailingComma)),i.moduleSpecifier,i.attributes))}function zRe(e,t,r,i){e.insertNodeAtEndOfScope(r,r,P.createExportDeclaration(void 0,!1,P.createNamedExports(BRe(i,xf(t.getCompilerOptions()))),void 0,void 0))}function BRe(e,t){return P.createNodeArray(nn(e,r=>P.createExportSpecifier(t&&r.isTypeOnly,void 0,r.node)))}function JHe(e){if(e.valueDeclaration===void 0)return Ac(e.declarations);let t=e.valueDeclaration,r=yi(t)?Vr(t.parent.parent,cl):void 0;return r&&yn(r.declarationList.declarations)===1?r:t}var IX,Gde,KHe=pt({\"src/services/codefixes/fixImportNonExportedMember.ts\"(){\"use strict\";Hr(),oa(),IX=\"fixImportNonExportedMember\",Gde=[f.Module_0_declares_1_locally_but_it_is_not_exported.code],ra({errorCodes:Gde,fixIds:[IX],getCodeActions(e){let{sourceFile:t,span:r,program:i}=e,o=WRe(t,r.start,i);if(o===void 0)return;let s=er.ChangeTracker.with(e,l=>qHe(l,i,o));return[Go(IX,s,[f.Export_0_from_module_1,o.exportName.node.text,o.moduleSpecifier],IX,f.Export_all_referenced_locals)]},getAllCodeActions(e){let{program:t}=e;return DR(er.ChangeTracker.with(e,r=>{let i=new Map;CR(e,Gde,o=>{let s=WRe(o.file,o.start,t);if(s===void 0)return;let{exportName:l,node:d,moduleSourceFile:p}=s;if(AX(p,l.isTypeOnly)===void 0&&e2(d))r.insertExportModifier(p,d);else{let h=i.get(p)||{typeOnlyExports:[],exports:[]};l.isTypeOnly?h.typeOnlyExports.push(l):h.exports.push(l),i.set(p,h)}}),i.forEach((o,s)=>{let l=AX(s,!0);l&&l.isTypeOnly?(Bde(r,t,s,o.typeOnlyExports,l),Bde(r,t,s,o.exports,AX(s,!1))):Bde(r,t,s,[...o.exports,...o.typeOnlyExports],l)})}))}})}});function XHe(e,t){let r=Hi(e,t);return Rn(r,i=>i.kind===202)}function YHe(e,t,r){if(!r)return;let i=r.type,o=!1,s=!1;for(;i.kind===190||i.kind===191||i.kind===196;)i.kind===190?o=!0:i.kind===191&&(s=!0),i=i.type;let l=P.updateNamedTupleMember(r,r.dotDotDotToken||(s?P.createToken(26):void 0),r.name,r.questionToken||(o?P.createToken(58):void 0),i);l!==r&&e.replaceNode(t,r,l)}var xX,GRe,$He=pt({\"src/services/codefixes/fixIncorrectNamedTupleSyntax.ts\"(){\"use strict\";Hr(),oa(),xX=\"fixIncorrectNamedTupleSyntax\",GRe=[f.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,f.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code],ra({errorCodes:GRe,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=XHe(r,i.start),s=er.ChangeTracker.with(t,l=>YHe(l,r,o));return[Go(xX,s,f.Move_labeled_tuple_element_modifiers_to_labels,xX,f.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[xX]})}});function VRe(e,t,r,i){let o=Hi(e,t),s=o.parent;if((i===f.No_overload_matches_this_call.code||i===f.Type_0_is_not_assignable_to_type_1.code)&&!i_(s))return;let l=r.program.getTypeChecker(),d;if(Er(s)&&s.name===o){x.assert(hh(o),\"Expected an identifier for spelling (property access)\");let p=l.getTypeAtLocation(s.expression);s.flags&64&&(p=l.getNonNullableType(p)),d=l.getSuggestedSymbolForNonexistentProperty(o,p)}else if(Zn(s)&&s.operatorToken.kind===103&&s.left===o&&Ci(o)){let p=l.getTypeAtLocation(s.right);d=l.getSuggestedSymbolForNonexistentProperty(o,p)}else if($d(s)&&s.right===o){let p=l.getSymbolAtLocation(s.left);p&&p.flags&1536&&(d=l.getSuggestedSymbolForNonexistentModule(s.right,p))}else if(Iu(s)&&s.name===o){x.assertNode(o,Me,\"Expected an identifier for spelling (import)\");let p=Rn(o,cc),h=ZHe(r,p);h&&h.symbol&&(d=l.getSuggestedSymbolForNonexistentModule(o,h.symbol))}else if(i_(s)&&s.name===o){x.assertNode(o,Me,\"Expected an identifier for JSX attribute\");let p=Rn(o,Od),h=l.getContextualTypeForArgumentAtIndex(p,0);d=l.getSuggestedSymbolForNonexistentJSXAttribute(o,h)}else if(UW(s)&&xc(s)&&s.name===o){let p=Rn(o,Kr),h=p?Km(p):void 0,m=h?l.getTypeAtLocation(h):void 0;m&&(d=l.getSuggestedSymbolForNonexistentClassMember(Vl(o),m))}else{let p=aT(o),h=Vl(o);x.assert(h!==void 0,\"name should be defined\"),d=l.getSuggestedSymbolForNonexistentSymbol(o,h,QHe(p))}return d===void 0?void 0:{node:o,suggestedSymbol:d}}function jRe(e,t,r,i,o){let s=$s(i);if(!Tp(s,o)&&Er(r.parent)){let l=i.valueDeclaration;l&&Ld(l)&&Ci(l.name)?e.replaceNode(t,r,P.createIdentifier(s)):e.replaceNode(t,r.parent,P.createElementAccessExpression(r.parent.expression,P.createStringLiteral(s)))}else e.replaceNode(t,r,P.createIdentifier(s))}function QHe(e){let t=0;return e&4&&(t|=1920),e&2&&(t|=788968),e&1&&(t|=111551),t}function ZHe(e,t){var r;if(!t||!Ga(t.moduleSpecifier))return;let i=(r=e.program.getResolvedModuleFromModuleSpecifier(t.moduleSpecifier))==null?void 0:r.resolvedModule;if(i)return e.program.getSourceFile(i.resolvedFileName)}var Vde,jde,eqe=pt({\"src/services/codefixes/fixSpelling.ts\"(){\"use strict\";Hr(),oa(),Vde=\"fixSpelling\",jde=[f.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,f.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,f.Cannot_find_name_0_Did_you_mean_1.code,f.Could_not_find_name_0_Did_you_mean_1.code,f.Cannot_find_namespace_0_Did_you_mean_1.code,f.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,f.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,f._0_has_no_exported_member_named_1_Did_you_mean_2.code,f.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,f.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,f.No_overload_matches_this_call.code,f.Type_0_is_not_assignable_to_type_1.code],ra({errorCodes:jde,getCodeActions(e){let{sourceFile:t,errorCode:r}=e,i=VRe(t,e.span.start,e,r);if(!i)return;let{node:o,suggestedSymbol:s}=i,l=Wa(e.host.getCompilationSettings()),d=er.ChangeTracker.with(e,p=>jRe(p,t,o,s,l));return[Go(\"spelling\",d,[f.Change_spelling_to_0,$s(s)],Vde,f.Fix_all_detected_spelling_errors)]},fixIds:[Vde],getAllCodeActions:e=>Qa(e,jde,(t,r)=>{let i=VRe(r.file,r.start,e,r.code),o=Wa(e.host.getCompilationSettings());i&&jRe(t,e.sourceFile,i.node,i.suggestedSymbol,o)})})}});function URe(e,t,r){let i=e.createSymbol(4,t.escapedText);i.links.type=e.getTypeAtLocation(r);let o=Vo([i]);return e.createAnonymousType(void 0,o,[],[],[])}function Ude(e,t,r,i){if(!t.body||!Do(t.body)||yn(t.body.statements)!==1)return;let o=Ta(t.body.statements);if(Cc(o)&&Hde(e,t,e.getTypeAtLocation(o.expression),r,i))return{declaration:t,kind:0,expression:o.expression,statement:o,commentSource:o.expression};if(s0(o)&&Cc(o.statement)){let s=P.createObjectLiteralExpression([P.createPropertyAssignment(o.label,o.statement.expression)]),l=URe(e,o.label,o.statement.expression);if(Hde(e,t,l,r,i))return gs(t)?{declaration:t,kind:1,expression:s,statement:o,commentSource:o.statement.expression}:{declaration:t,kind:0,expression:s,statement:o,commentSource:o.statement.expression}}else if(Do(o)&&yn(o.statements)===1){let s=Ta(o.statements);if(s0(s)&&Cc(s.statement)){let l=P.createObjectLiteralExpression([P.createPropertyAssignment(s.label,s.statement.expression)]),d=URe(e,s.label,s.statement.expression);if(Hde(e,t,d,r,i))return{declaration:t,kind:0,expression:l,statement:o,commentSource:s}}}}function Hde(e,t,r,i,o){if(o){let s=e.getSignatureFromDeclaration(t);if(s){Wr(t,1024)&&(r=e.createPromiseType(r));let l=e.createSignature(t,s.typeParameters,s.thisParameter,s.parameters,r,void 0,s.minArgumentCount,s.flags);r=e.createAnonymousType(void 0,Vo(),[l],[],[])}else r=e.getAnyType()}return e.isTypeAssignableTo(r,i)}function HRe(e,t,r,i){let o=Hi(t,r);if(!o.parent)return;let s=Rn(o.parent,hs);switch(i){case f.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value.code:return!s||!s.body||!s.type||!Np(s.type,o)?void 0:Ude(e,s,e.getTypeFromTypeNode(s.type),!1);case f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!s||!Bo(s.parent)||!s.body)return;let l=s.parent.arguments.indexOf(s);if(l===-1)return;let d=e.getContextualTypeForArgumentAtIndex(s.parent,l);return d?Ude(e,s,d,!0):void 0;case f.Type_0_is_not_assignable_to_type_1.code:if(!ng(o)||!tx(o.parent)&&!i_(o.parent))return;let p=tqe(o.parent);return!p||!hs(p)||!p.body?void 0:Ude(e,p,e.getTypeAtLocation(o.parent),!0)}}function tqe(e){switch(e.kind){case 260:case 169:case 208:case 172:case 303:return e.initializer;case 291:return e.initializer&&(mN(e.initializer)?e.initializer.expression:void 0);case 304:case 171:case 306:case 355:case 348:return}}function qRe(e,t,r,i){qu(r);let o=Zk(t);e.replaceNode(t,i,P.createReturnStatement(r),{leadingTriviaOption:er.LeadingTriviaOption.Exclude,trailingTriviaOption:er.TrailingTriviaOption.Exclude,suffix:o?\";\":void 0})}function JRe(e,t,r,i,o,s){let l=s||k3(i)?P.createParenthesizedExpression(i):i;qu(o),cT(o,l),e.replaceNode(t,r.body,l)}function KRe(e,t,r,i){e.replaceNode(t,r.body,P.createParenthesizedExpression(i))}function nqe(e,t,r){let i=er.ChangeTracker.with(e,o=>qRe(o,e.sourceFile,t,r));return Go(RX,i,f.Add_a_return_statement,DX,f.Add_all_missing_return_statement)}function rqe(e,t,r,i){let o=er.ChangeTracker.with(e,s=>JRe(s,e.sourceFile,t,r,i,!1));return Go(RX,o,f.Remove_braces_from_arrow_function_body,CX,f.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}function iqe(e,t,r){let i=er.ChangeTracker.with(e,o=>KRe(o,e.sourceFile,t,r));return Go(RX,i,f.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,NX,f.Wrap_all_object_literal_with_parentheses)}var RX,DX,CX,NX,qde,oqe=pt({\"src/services/codefixes/returnValueCorrect.ts\"(){\"use strict\";Hr(),oa(),RX=\"returnValueCorrect\",DX=\"fixAddReturnStatement\",CX=\"fixRemoveBracesFromArrowFunctionBody\",NX=\"fixWrapTheBlockWithParen\",qde=[f.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value.code,f.Type_0_is_not_assignable_to_type_1.code,f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code],ra({errorCodes:qde,fixIds:[DX,CX,NX],getCodeActions:function(t){let{program:r,sourceFile:i,span:{start:o},errorCode:s}=t,l=HRe(r.getTypeChecker(),i,o,s);if(l)return l.kind===0?pn([nqe(t,l.expression,l.statement)],gs(l.declaration)?rqe(t,l.declaration,l.expression,l.commentSource):void 0):[iqe(t,l.declaration,l.expression)]},getAllCodeActions:e=>Qa(e,qde,(t,r)=>{let i=HRe(e.program.getTypeChecker(),r.file,r.start,r.code);if(i)switch(e.fixId){case DX:qRe(t,r.file,i.expression,i.statement);break;case CX:if(!gs(i.declaration))return;JRe(t,r.file,i.declaration,i.expression,i.commentSource,!1);break;case NX:if(!gs(i.declaration))return;KRe(t,r.file,i.declaration,i.expression);break;default:x.fail(JSON.stringify(e.fixId))}})})}});function XRe(e,t,r,i,o){var s;let l=Hi(e,t),d=l.parent;if(r===f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code){if(!(l.kind===19&&ma(d)&&Bo(d.parent)))return;let S=Tl(d.parent.arguments,L=>L===d);if(S<0)return;let A=i.getResolvedSignature(d.parent);if(!(A&&A.declaration&&A.parameters[S]))return;let C=A.parameters[S].valueDeclaration;if(!(C&&ao(C)&&Me(C.name)))return;let R=bo(i.getUnmatchedProperties(i.getTypeAtLocation(d),i.getParameterType(A,S),!1,!1));return yn(R)?{kind:3,token:C.name,identifier:C.name.text,properties:R,parentDeclaration:d}:void 0}if(l.kind===19&&ma(d)){let S=i.getContextualType(d)||i.getTypeAtLocation(d),A=bo(i.getUnmatchedProperties(i.getTypeAtLocation(d),S,!1,!1));return yn(A)?{kind:3,token:d,identifier:\"\",properties:A,parentDeclaration:d}:void 0}if(!hh(l))return;if(Me(l)&&$v(d)&&d.initializer&&ma(d.initializer)){let S=i.getContextualType(l)||i.getTypeAtLocation(l),A=bo(i.getUnmatchedProperties(i.getTypeAtLocation(d.initializer),S,!1,!1));return yn(A)?{kind:3,token:l,identifier:l.text,properties:A,parentDeclaration:d.initializer}:void 0}if(Me(l)&&Od(l.parent)){let S=Wa(o.getCompilerOptions()),A=pqe(i,S,l.parent);return yn(A)?{kind:4,token:l,attributes:A,parentDeclaration:l.parent}:void 0}if(Me(l)){let S=(s=i.getContextualType(l))==null?void 0:s.getNonNullableType();if(S&&br(S)&16){let A=Ac(i.getSignaturesOfType(S,0));return A===void 0?void 0:{kind:5,token:l,signature:A,sourceFile:e,parentDeclaration:aDe(l)}}if(Bo(d)&&d.expression===l)return{kind:2,token:l,call:d,sourceFile:e,modifierFlags:0,parentDeclaration:aDe(l)}}if(!Er(d))return;let p=aJ(i.getTypeAtLocation(d.expression)),h=p.symbol;if(!h||!h.declarations)return;if(Me(l)&&Bo(d.parent)){let S=Dr(h.declarations,Il),A=S?.getSourceFile();if(S&&A&&!ER(o,A))return{kind:2,token:l,call:d.parent,sourceFile:e,modifierFlags:32,parentDeclaration:S};let C=Dr(h.declarations,Li);if(e.commonJsModuleIndicator)return;if(C&&!ER(o,C))return{kind:2,token:l,call:d.parent,sourceFile:C,modifierFlags:32,parentDeclaration:C}}let m=Dr(h.declarations,Kr);if(!m&&Ci(l))return;let v=m||Dr(h.declarations,S=>Gd(S)||ju(S));if(v&&!ER(o,v.getSourceFile())){let S=!ju(v)&&(p.target||p)!==i.getDeclaredTypeOfSymbol(h);if(S&&(Ci(l)||Gd(v)))return;let A=v.getSourceFile(),C=ju(v)?0:(S?256:0)|(LJ(l.text)?2:0),R=wd(A),L=Vr(d.parent,Bo);return{kind:0,token:l,call:L,modifierFlags:C,parentDeclaration:v,declSourceFile:A,isJSFile:R}}let E=Dr(h.declarations,kb);if(E&&!(p.flags&1056)&&!Ci(l)&&!ER(o,E.getSourceFile()))return{kind:1,token:l,parentDeclaration:E}}function aqe(e,t){return t.isJSFile?EA(sqe(e,t)):lqe(e,t)}function sqe(e,{parentDeclaration:t,declSourceFile:r,modifierFlags:i,token:o}){if(Gd(t)||ju(t))return;let s=er.ChangeTracker.with(e,d=>YRe(d,r,t,o,!!(i&256)));if(s.length===0)return;let l=i&256?f.Initialize_static_property_0:Ci(o)?f.Declare_a_private_field_named_0:f.Initialize_property_0_in_the_constructor;return Go(Ey,s,[l,o.text],Ey,f.Add_all_missing_members)}function YRe(e,t,r,i,o){let s=i.text;if(o){if(r.kind===231)return;let l=r.name.getText(),d=$Re(P.createIdentifier(l),s);e.insertNodeAfter(t,r,d)}else if(Ci(i)){let l=P.createPropertyDeclaration(void 0,s,void 0,void 0,void 0),d=eDe(r);d?e.insertNodeAfter(t,d,l):e.insertMemberAtStart(t,r,l)}else{let l=Ah(r);if(!l)return;let d=$Re(P.createThis(),s);e.insertNodeAtConstructorEnd(t,l,d)}}function $Re(e,t){return P.createExpressionStatement(P.createAssignment(P.createPropertyAccessExpression(e,t),wI()))}function lqe(e,{parentDeclaration:t,declSourceFile:r,modifierFlags:i,token:o}){let s=o.text,l=i&256,d=QRe(e.program.getTypeChecker(),t,o),p=m=>er.ChangeTracker.with(e,v=>ZRe(v,r,t,s,d,m)),h=[Go(Ey,p(i&256),[l?f.Declare_static_property_0:f.Declare_property_0,s],Ey,f.Add_all_missing_members)];return l||Ci(o)||(i&2&&h.unshift(Im(Ey,p(2),[f.Declare_private_property_0,s])),h.push(cqe(e,r,t,o.text,d))),h}function QRe(e,t,r){let i;if(r.parent.parent.kind===226){let o=r.parent.parent,s=r.parent===o.left?o.right:o.left,l=e.getWidenedType(e.getBaseTypeOfLiteralType(e.getTypeAtLocation(s)));i=e.typeToTypeNode(l,t,1)}else{let o=e.getContextualType(r.parent);i=o?e.typeToTypeNode(o,void 0,1):void 0}return i||P.createKeywordTypeNode(133)}function ZRe(e,t,r,i,o,s){let l=s?P.createNodeArray(P.createModifiersFromModifierFlags(s)):void 0,d=Kr(r)?P.createPropertyDeclaration(l,i,void 0,o,void 0):P.createPropertySignature(void 0,i,void 0,o),p=eDe(r);p?e.insertNodeAfter(t,p,d):e.insertMemberAtStart(t,r,d)}function eDe(e){let t;for(let r of e.members){if(!xo(r))break;t=r}return t}function cqe(e,t,r,i,o){let s=P.createKeywordTypeNode(154),l=P.createParameterDeclaration(void 0,void 0,\"x\",void 0,s,void 0),d=P.createIndexSignature(void 0,[l],o),p=er.ChangeTracker.with(e,h=>h.insertMemberAtStart(t,r,d));return Im(Ey,p,[f.Add_index_signature_for_property_0,i])}function dqe(e,t){let{parentDeclaration:r,declSourceFile:i,modifierFlags:o,token:s,call:l}=t;if(l===void 0)return;let d=s.text,p=m=>er.ChangeTracker.with(e,v=>tDe(e,v,l,s,m,r,i)),h=[Go(Ey,p(o&256),[o&256?f.Declare_static_method_0:f.Declare_method_0,d],Ey,f.Add_all_missing_members)];return o&2&&h.unshift(Im(Ey,p(2),[f.Declare_private_method_0,d])),h}function tDe(e,t,r,i,o,s,l){let d=OI(l,e.program,e.preferences,e.host),p=Kr(s)?174:173,h=Nue(p,e,d,r,i,o,s),m=fqe(s,r);m?t.insertNodeAfter(l,m,h):t.insertMemberAtStart(l,s,h),d.writeFixes(t)}function nDe(e,t,{token:r,parentDeclaration:i}){let o=ct(i.members,p=>{let h=t.getTypeAtLocation(p);return!!(h&&h.flags&402653316)}),s=i.getSourceFile(),l=P.createEnumMember(r,o?P.createStringLiteral(r.text):void 0),d=Ns(i.members);d?e.insertNodeInListAfter(s,d,l,i.members):e.insertMemberAtStart(s,i,l)}function rDe(e,t,r){let i=Pp(t.sourceFile,t.preferences),o=OI(t.sourceFile,t.program,t.preferences,t.host),s=r.kind===2?Nue(262,t,o,r.call,ar(r.token),r.modifierFlags,r.parentDeclaration):rY(262,t,i,r.signature,Fz(f.Function_not_implemented.message,i),r.token,void 0,void 0,void 0,o);s===void 0&&x.fail(\"fixMissingFunctionDeclaration codefix got unexpected error.\"),Kf(r.parentDeclaration)?e.insertNodeBefore(r.sourceFile,r.parentDeclaration,s,!0):e.insertNodeAtEndOfScope(r.sourceFile,r.parentDeclaration,s),o.writeFixes(e)}function iDe(e,t,r){let i=OI(t.sourceFile,t.program,t.preferences,t.host),o=Pp(t.sourceFile,t.preferences),s=t.program.getTypeChecker(),l=r.parentDeclaration.attributes,d=ct(l.properties,mI),p=nn(r.attributes,v=>{let E=PX(t,s,i,o,s.getTypeOfSymbol(v),r.parentDeclaration),S=P.createIdentifier(v.name),A=P.createJsxAttribute(S,P.createJsxExpression(void 0,E));return Aa(S,A),A}),h=P.createJsxAttributes(d?[...p,...l.properties]:[...l.properties,...p]),m={prefix:l.pos===l.end?\" \":void 0};e.replaceNode(t.sourceFile,l,h,m),i.writeFixes(e)}function oDe(e,t,r){let i=OI(t.sourceFile,t.program,t.preferences,t.host),o=Pp(t.sourceFile,t.preferences),s=Wa(t.program.getCompilerOptions()),l=t.program.getTypeChecker(),d=nn(r.properties,h=>{let m=PX(t,l,i,o,l.getTypeOfSymbol(h),r.parentDeclaration);return P.createPropertyAssignment(mqe(h,s,o,l),m)}),p={leadingTriviaOption:er.LeadingTriviaOption.Exclude,trailingTriviaOption:er.TrailingTriviaOption.Exclude,indentation:r.indentation};e.replaceNode(t.sourceFile,r.parentDeclaration,P.createObjectLiteralExpression([...r.parentDeclaration.properties,...d],!0),p),i.writeFixes(e)}function PX(e,t,r,i,o,s){if(o.flags&3)return wI();if(o.flags&134217732)return P.createStringLiteral(\"\",i===0);if(o.flags&8)return P.createNumericLiteral(0);if(o.flags&64)return P.createBigIntLiteral(\"0n\");if(o.flags&16)return P.createFalse();if(o.flags&1056){let l=o.symbol.exports?qw(o.symbol.exports.values()):o.symbol,d=t.symbolToExpression(o.symbol.parent?o.symbol.parent:o.symbol,111551,void 0,64);return l===void 0||d===void 0?P.createNumericLiteral(0):P.createPropertyAccessExpression(d,t.symbolToString(l))}if(o.flags&256)return P.createNumericLiteral(o.value);if(o.flags&2048)return P.createBigIntLiteral(o.value);if(o.flags&128)return P.createStringLiteral(o.value,i===0);if(o.flags&512)return o===t.getFalseType()||o===t.getFalseType(!0)?P.createFalse():P.createTrue();if(o.flags&65536)return P.createNull();if(o.flags&1048576)return ml(o.types,d=>PX(e,t,r,i,d,s))??wI();if(t.isArrayLikeType(o))return P.createArrayLiteralExpression();if(uqe(o)){let l=nn(t.getPropertiesOfType(o),d=>{let p=PX(e,t,r,i,t.getTypeOfSymbol(d),s);return P.createPropertyAssignment(d.name,p)});return P.createObjectLiteralExpression(l,!0)}if(br(o)&16){if(Dr(o.symbol.declarations||je,hm(G_,B_,El))===void 0)return wI();let d=t.getSignaturesOfType(o,0);return d===void 0?wI():rY(218,e,i,d[0],Fz(f.Function_not_implemented.message,i),void 0,void 0,void 0,s,r)??wI()}if(br(o)&1){let l=ig(o.symbol);if(l===void 0||$E(l))return wI();let d=Ah(l);return d&&yn(d.parameters)?wI():P.createNewExpression(P.createIdentifier(o.symbol.name),void 0,void 0)}return wI()}function wI(){return P.createIdentifier(\"undefined\")}function uqe(e){return e.flags&524288&&(br(e)&128||e.symbol&&Vr(R_(e.symbol.declarations),ju))}function pqe(e,t,r){let i=e.getContextualType(r.attributes);if(i===void 0)return je;let o=i.getProperties();if(!yn(o))return je;let s=new Set;for(let l of r.attributes.properties)if(i_(l)&&s.add(QC(l.name)),mI(l)){let d=e.getTypeAtLocation(l.expression);for(let p of d.getProperties())s.add(p.escapedName)}return Cr(o,l=>Tp(l.name,t,1)&&!(l.flags&16777216||tl(l)&48||s.has(l.escapedName)))}function fqe(e,t){if(ju(e))return;let r=Rn(t,i=>El(i)||ll(i));return r&&r.parent===e?r:void 0}function mqe(e,t,r,i){if(k_(e)){let o=i.symbolToNode(e,111551,void 0,1073741824);if(o&&Pa(o))return o}return vF(e.name,t,r===0,!1,!1)}function aDe(e){if(Rn(e,mN)){let t=Rn(e.parent,Kf);if(t)return t}return Nn(e)}var Ey,Nz,Pz,Mz,Jde,_qe=pt({\"src/services/codefixes/fixAddMissingMember.ts\"(){\"use strict\";Hr(),oa(),Ey=\"fixMissingMember\",Nz=\"fixMissingProperties\",Pz=\"fixMissingAttributes\",Mz=\"fixMissingFunctionDeclaration\",Jde=[f.Property_0_does_not_exist_on_type_1.code,f.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,f.Property_0_is_missing_in_type_1_but_required_in_type_2.code,f.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,f.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code,f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,f.Cannot_find_name_0.code],ra({errorCodes:Jde,getCodeActions(e){let t=e.program.getTypeChecker(),r=XRe(e.sourceFile,e.span.start,e.errorCode,t,e.program);if(r){if(r.kind===3){let i=er.ChangeTracker.with(e,o=>oDe(o,e,r));return[Go(Nz,i,f.Add_missing_properties,Nz,f.Add_all_missing_properties)]}if(r.kind===4){let i=er.ChangeTracker.with(e,o=>iDe(o,e,r));return[Go(Pz,i,f.Add_missing_attributes,Pz,f.Add_all_missing_attributes)]}if(r.kind===2||r.kind===5){let i=er.ChangeTracker.with(e,o=>rDe(o,e,r));return[Go(Mz,i,[f.Add_missing_function_declaration_0,r.token.text],Mz,f.Add_all_missing_function_declarations)]}if(r.kind===1){let i=er.ChangeTracker.with(e,o=>nDe(o,e.program.getTypeChecker(),r));return[Go(Ey,i,[f.Add_missing_enum_member_0,r.token.text],Ey,f.Add_all_missing_members)]}return ro(dqe(e,r),aqe(e,r))}},fixIds:[Ey,Mz,Nz,Pz],getAllCodeActions:e=>{let{program:t,fixId:r}=e,i=t.getTypeChecker(),o=new Map,s=new Map;return DR(er.ChangeTracker.with(e,l=>{CR(e,Jde,d=>{let p=XRe(d.file,d.start,d.code,i,e.program);if(!(!p||!Jf(o,Fa(p.parentDeclaration)+\"#\"+(p.kind===3?p.identifier:p.token.text)))){if(r===Mz&&(p.kind===2||p.kind===5))rDe(l,e,p);else if(r===Nz&&p.kind===3)oDe(l,e,p);else if(r===Pz&&p.kind===4)iDe(l,e,p);else if(p.kind===1&&nDe(l,i,p),p.kind===0){let{parentDeclaration:h,token:m}=p,v=FD(s,h,()=>[]);v.some(E=>E.token.text===m.text)||v.push(p)}}}),s.forEach((d,p)=>{let h=ju(p)?void 0:Fue(p,i);for(let m of d){if(h?.some(L=>{let G=s.get(L);return!!G&&G.some(({token:U})=>U.text===m.token.text)}))continue;let{parentDeclaration:v,declSourceFile:E,modifierFlags:S,token:A,call:C,isJSFile:R}=m;if(C&&!Ci(A))tDe(e,l,C,A,S&256,v,E);else if(R&&!Gd(v)&&!ju(v))YRe(l,E,v,A,!!(S&256));else{let L=QRe(i,v,A);ZRe(l,E,v,A.text,L,S&256)}}})}))}})}});function sDe(e,t,r){let i=Fo(hqe(t,r),Bo),o=P.createNewExpression(i.expression,i.typeArguments,i.arguments);e.replaceNode(t,i,o)}function hqe(e,t){let r=Hi(e,t.start),i=Al(t);for(;r.end<i;)r=r.parent;return r}var MX,Kde,gqe=pt({\"src/services/codefixes/fixAddMissingNewOperator.ts\"(){\"use strict\";Hr(),oa(),MX=\"addMissingNewOperator\",Kde=[f.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new.code],ra({errorCodes:Kde,getCodeActions(e){let{sourceFile:t,span:r}=e,i=er.ChangeTracker.with(e,o=>sDe(o,t,r));return[Go(MX,i,f.Add_missing_new_operator_to_call,MX,f.Add_missing_new_operator_to_all_calls)]},fixIds:[MX],getAllCodeActions:e=>Qa(e,Kde,(t,r)=>sDe(t,e.sourceFile,r))})}});function lDe(e,t,r){let i=Hi(e,r),o=Rn(i,Bo);if(o===void 0||yn(o.arguments)===0)return;let s=t.getTypeChecker(),l=s.getTypeAtLocation(o.expression),d=Cr(l.symbol.declarations,cDe);if(d===void 0)return;let p=Ns(d);if(p===void 0||p.body===void 0||ER(t,p.getSourceFile()))return;let h=vqe(p);if(h===void 0)return;let m=[],v=[],E=yn(p.parameters),S=yn(o.arguments);if(E>S)return;let A=[p,...bqe(p,d)];for(let C=0,R=0,L=0;C<S;C++){let G=o.arguments[C],U=us(G)?EV(G):G,K=s.getWidenedType(s.getBaseTypeOfLiteralType(s.getTypeAtLocation(G))),F=R<E?p.parameters[R]:void 0;if(F&&s.isTypeAssignableTo(K,s.getTypeAtLocation(F))){R++;continue}let oe=U&&Me(U)?U.text:`p${L++}`,W=yqe(s,K,p);pn(m,{pos:C,declaration:uDe(oe,W,void 0)}),!Sqe(A,R)&&pn(v,{pos:C,declaration:uDe(oe,W,P.createToken(58))})}return{newParameters:m,newOptionalParameters:v,name:is(h),declarations:A}}function vqe(e){let t=mo(e);if(t)return t;if(yi(e.parent)&&Me(e.parent.name)||xo(e.parent)||ao(e.parent))return e.parent.name}function yqe(e,t,r){return e.typeToTypeNode(e.getWidenedType(t),r,1)??P.createKeywordTypeNode(159)}function LX(e,t,r,i){an(r,o=>{yn(o.parameters)?e.replaceNodeRangeWithNodes(t,Ta(o.parameters),Da(o.parameters),dDe(o,i),{joiner:\", \",indentation:0,leadingTriviaOption:er.LeadingTriviaOption.IncludeAll,trailingTriviaOption:er.TrailingTriviaOption.Include}):an(dDe(o,i),(s,l)=>{yn(o.parameters)===0&&l===0?e.insertNodeAt(t,o.parameters.end,s):e.insertNodeAtEndOfList(t,o.parameters,s)})})}function cDe(e){switch(e.kind){case 262:case 218:case 174:case 219:return!0;default:return!1}}function dDe(e,t){let r=nn(e.parameters,i=>P.createParameterDeclaration(i.modifiers,i.dotDotDotToken,i.name,i.questionToken,i.type,i.initializer));for(let{pos:i,declaration:o}of t){let s=i>0?r[i-1]:void 0;r.splice(i,0,P.updateParameterDeclaration(o,o.modifiers,o.dotDotDotToken,o.name,s&&s.questionToken?P.createToken(58):o.questionToken,o.type,o.initializer))}return r}function bqe(e,t){let r=[];for(let i of t)if(Eqe(i)){if(yn(i.parameters)===yn(e.parameters)){r.push(i);continue}if(yn(i.parameters)>yn(e.parameters))return[]}return r}function Eqe(e){return cDe(e)&&e.body===void 0}function uDe(e,t,r){return P.createParameterDeclaration(void 0,void 0,e,r,t,void 0)}function Sqe(e,t){return yn(e)&&ct(e,r=>t<yn(r.parameters)&&!!r.parameters[t]&&r.parameters[t].questionToken===void 0)}var Lz,kz,Xde,Tqe=pt({\"src/services/codefixes/fixAddMissingParam.ts\"(){\"use strict\";Hr(),oa(),Lz=\"addMissingParam\",kz=\"addOptionalParam\",Xde=[f.Expected_0_arguments_but_got_1.code],ra({errorCodes:Xde,fixIds:[Lz,kz],getCodeActions(e){let t=lDe(e.sourceFile,e.program,e.span.start);if(t===void 0)return;let{name:r,declarations:i,newParameters:o,newOptionalParameters:s}=t,l=[];return yn(o)&&pn(l,Go(Lz,er.ChangeTracker.with(e,d=>LX(d,e.sourceFile,i,o)),[yn(o)>1?f.Add_missing_parameters_to_0:f.Add_missing_parameter_to_0,r],Lz,f.Add_all_missing_parameters)),yn(s)&&pn(l,Go(kz,er.ChangeTracker.with(e,d=>LX(d,e.sourceFile,i,s)),[yn(s)>1?f.Add_optional_parameters_to_0:f.Add_optional_parameter_to_0,r],kz,f.Add_all_optional_parameters)),l},getAllCodeActions:e=>Qa(e,Xde,(t,r)=>{let i=lDe(e.sourceFile,e.program,r.start);if(i){let{declarations:o,newParameters:s,newOptionalParameters:l}=i;e.fixId===Lz&&LX(t,e.sourceFile,o,s),e.fixId===kz&&LX(t,e.sourceFile,o,l)}})})}});function pDe(e,t){return{type:\"install package\",file:e,packageName:t}}function fDe(e,t){let r=Vr(Hi(e,t),da);if(!r)return;let i=r.text,{packageName:o}=ik(i);return Ic(o)?void 0:o}function mDe(e,t,r){var i;return r===Yde?l_.nodeCoreModules.has(e)?\"@types/node\":void 0:(i=t.isKnownTypesPackageName)!=null&&i.call(t,e)?n4(e):void 0}var _De,kX,Yde,$de,Aqe=pt({\"src/services/codefixes/fixCannotFindModule.ts\"(){\"use strict\";Hr(),oa(),_De=\"fixCannotFindModule\",kX=\"installTypesPackage\",Yde=f.Cannot_find_module_0_or_its_corresponding_type_declarations.code,$de=[Yde,f.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type.code],ra({errorCodes:$de,getCodeActions:function(t){let{host:r,sourceFile:i,span:{start:o}}=t,s=fDe(i,o);if(s===void 0)return;let l=mDe(s,r,t.errorCode);return l===void 0?[]:[Go(_De,[],[f.Install_0,l],kX,f.Install_all_missing_types_packages,pDe(i.fileName,l))]},fixIds:[kX],getAllCodeActions:e=>Qa(e,$de,(t,r,i)=>{let o=fDe(r.file,r.start);if(o!==void 0)switch(e.fixId){case kX:{let s=mDe(o,e.host,r.code);s&&i.push(pDe(r.file.fileName,s));break}default:x.fail(`Bad fixId: ${e.fixId}`)}})})}});function hDe(e,t){let r=Hi(e,t);return Fo(r.parent,Kr)}function gDe(e,t,r,i,o){let s=Km(e),l=r.program.getTypeChecker(),d=l.getTypeAtLocation(s),p=l.getPropertiesOfType(d).filter(Iqe),h=OI(t,r.program,o,r.host);Cue(e,p,t,r,o,h,m=>i.insertMemberAtStart(t,e,m)),h.writeFixes(i)}function Iqe(e){let t=ny(Ta(e.getDeclarations()));return!(t&2)&&!!(t&64)}var Qde,OX,xqe=pt({\"src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts\"(){\"use strict\";Hr(),oa(),Qde=[f.Non_abstract_class_0_does_not_implement_all_abstract_members_of_1.code],OX=\"fixClassDoesntImplementInheritedAbstractMember\",ra({errorCodes:Qde,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=er.ChangeTracker.with(t,s=>gDe(hDe(r,i.start),r,t,s,t.preferences));return o.length===0?void 0:[Go(OX,o,f.Implement_inherited_abstract_class,OX,f.Implement_all_inherited_abstract_classes)]},fixIds:[OX],getAllCodeActions:function(t){let r=new Map;return Qa(t,Qde,(i,o)=>{let s=hDe(o.file,o.start);Jf(r,Fa(s))&&gDe(s,t.sourceFile,t,i,t.preferences)})}})}});function vDe(e,t,r,i){e.insertNodeAtConstructorStart(t,r,i),e.delete(t,i)}function yDe(e,t){let r=Hi(e,t);if(r.kind!==110)return;let i=cp(r),o=bDe(i.body);return o&&!o.expression.arguments.some(s=>Er(s)&&s.expression===r)?{constructor:i,superCall:o}:void 0}function bDe(e){return Cc(e)&&xS(e.expression)?e:Lo(e)?void 0:Ao(e,bDe)}var wX,Zde,Rqe=pt({\"src/services/codefixes/fixClassSuperMustPrecedeThisAccess.ts\"(){\"use strict\";Hr(),oa(),wX=\"classSuperMustPrecedeThisAccess\",Zde=[f.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code],ra({errorCodes:Zde,getCodeActions(e){let{sourceFile:t,span:r}=e,i=yDe(t,r.start);if(!i)return;let{constructor:o,superCall:s}=i,l=er.ChangeTracker.with(e,d=>vDe(d,t,o,s));return[Go(wX,l,f.Make_super_call_the_first_statement_in_the_constructor,wX,f.Make_all_super_calls_the_first_statement_in_their_constructor)]},fixIds:[wX],getAllCodeActions(e){let{sourceFile:t}=e,r=new Map;return Qa(e,Zde,(i,o)=>{let s=yDe(o.file,o.start);if(!s)return;let{constructor:l,superCall:d}=s;Jf(r,Fa(l.parent))&&vDe(i,t,l,d)})}})}});function EDe(e,t){let r=Hi(e,t);return x.assert(ll(r.parent),\"token should be at the constructor declaration\"),r.parent}function SDe(e,t,r){let i=P.createExpressionStatement(P.createCallExpression(P.createSuper(),void 0,je));e.insertNodeAtConstructorStart(t,r,i)}var WX,eue,Dqe=pt({\"src/services/codefixes/fixConstructorForDerivedNeedSuperCall.ts\"(){\"use strict\";Hr(),oa(),WX=\"constructorForDerivedNeedSuperCall\",eue=[f.Constructors_for_derived_classes_must_contain_a_super_call.code],ra({errorCodes:eue,getCodeActions(e){let{sourceFile:t,span:r}=e,i=EDe(t,r.start),o=er.ChangeTracker.with(e,s=>SDe(s,t,i));return[Go(WX,o,f.Add_missing_super_call,WX,f.Add_all_missing_super_calls)]},fixIds:[WX],getAllCodeActions:e=>Qa(e,eue,(t,r)=>SDe(t,e.sourceFile,EDe(r.file,r.start)))})}});function TDe(e,t){kue(e,t,\"jsx\",P.createStringLiteral(\"react\"))}var tue,nue,Cqe=pt({\"src/services/codefixes/fixEnableJsxFlag.ts\"(){\"use strict\";Hr(),oa(),tue=\"fixEnableJsxFlag\",nue=[f.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code],ra({errorCodes:nue,getCodeActions:function(t){let{configFile:r}=t.program.getCompilerOptions();if(r===void 0)return;let i=er.ChangeTracker.with(t,o=>TDe(o,r));return[Im(tue,i,f.Enable_the_jsx_flag_in_your_configuration_file)]},fixIds:[tue],getAllCodeActions:e=>Qa(e,nue,t=>{let{configFile:r}=e.program.getCompilerOptions();r!==void 0&&TDe(t,r)})})}});function ADe(e,t,r){let i=Dr(e.getSemanticDiagnostics(t),l=>l.start===r.start&&l.length===r.length);if(i===void 0||i.relatedInformation===void 0)return;let o=Dr(i.relatedInformation,l=>l.code===f.Did_you_mean_0.code);if(o===void 0||o.file===void 0||o.start===void 0||o.length===void 0)return;let s=wue(o.file,qc(o.start,o.length));if(s!==void 0&&lt(s)&&Zn(s.parent))return{suggestion:Nqe(o.messageText),expression:s.parent,arg:s}}function IDe(e,t,r,i){let o=P.createCallExpression(P.createPropertyAccessExpression(P.createIdentifier(\"Number\"),P.createIdentifier(\"isNaN\")),void 0,[r]),s=i.operatorToken.kind;e.replaceNode(t,i,s===38||s===36?P.createPrefixUnaryExpression(54,o):o)}function Nqe(e){let[,t]=a_(e,`\n`,0).match(/'(.*)'/)||[];return t}var FX,rue,Pqe=pt({\"src/services/codefixes/fixNaNEquality.ts\"(){\"use strict\";Hr(),oa(),FX=\"fixNaNEquality\",rue=[f.This_condition_will_always_return_0.code],ra({errorCodes:rue,getCodeActions(e){let{sourceFile:t,span:r,program:i}=e,o=ADe(i,t,r);if(o===void 0)return;let{suggestion:s,expression:l,arg:d}=o,p=er.ChangeTracker.with(e,h=>IDe(h,t,d,l));return[Go(FX,p,[f.Use_0,s],FX,f.Use_Number_isNaN_in_all_conditions)]},fixIds:[FX],getAllCodeActions:e=>Qa(e,rue,(t,r)=>{let i=ADe(e.program,r.file,qc(r.start,r.length));i&&IDe(t,r.file,i.arg,i.expression)})})}}),Mqe=pt({\"src/services/codefixes/fixModuleAndTargetOptions.ts\"(){\"use strict\";Hr(),oa(),ra({errorCodes:[f.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code,f.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code,f.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code],getCodeActions:function(t){let r=t.program.getCompilerOptions(),{configFile:i}=r;if(i===void 0)return;let o=[],s=ld(r);if(s>=5&&s<99){let h=er.ChangeTracker.with(t,m=>{kue(m,i,\"module\",P.createStringLiteral(\"esnext\"))});o.push(Im(\"fixModuleOption\",h,[f.Set_the_module_option_in_your_configuration_file_to_0,\"esnext\"]))}let d=Wa(r);if(d<4||d>99){let h=er.ChangeTracker.with(t,m=>{if(!_C(i))return;let E=[[\"target\",P.createStringLiteral(\"es2017\")]];s===1&&E.push([\"module\",P.createStringLiteral(\"commonjs\")]),Lue(m,i,E)});o.push(Im(\"fixTargetOption\",h,[f.Set_the_target_option_in_your_configuration_file_to_0,\"es2017\"]))}return o.length?o:void 0}})}});function xDe(e,t,r){e.replaceNode(t,r,P.createPropertyAssignment(r.name,r.objectAssignmentInitializer))}function RDe(e,t){return Fo(Hi(e,t).parent,xu)}var zX,iue,Lqe=pt({\"src/services/codefixes/fixPropertyAssignment.ts\"(){\"use strict\";Hr(),oa(),zX=\"fixPropertyAssignment\",iue=[f.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code],ra({errorCodes:iue,fixIds:[zX],getCodeActions(e){let{sourceFile:t,span:r}=e,i=RDe(t,r.start),o=er.ChangeTracker.with(e,s=>xDe(s,e.sourceFile,i));return[Go(zX,o,[f.Change_0_to_1,\"=\",\":\"],zX,[f.Switch_each_misused_0_to_1,\"=\",\":\"])]},getAllCodeActions:e=>Qa(e,iue,(t,r)=>xDe(t,r.file,RDe(r.file,r.start)))})}});function DDe(e,t){let r=Hi(e,t),i=Oc(r).heritageClauses,o=i[0].getFirstToken();return o.kind===96?{extendsToken:o,heritageClauses:i}:void 0}function CDe(e,t,r,i){if(e.replaceNode(t,r,P.createToken(119)),i.length===2&&i[0].token===96&&i[1].token===119){let o=i[1].getFirstToken(),s=o.getFullStart();e.replaceRange(t,{pos:s,end:s},P.createToken(28));let l=t.text,d=o.end;for(;d<l.length&&Um(l.charCodeAt(d));)d++;e.deleteRange(t,{pos:o.getStart(),end:d})}}var BX,oue,kqe=pt({\"src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts\"(){\"use strict\";Hr(),oa(),BX=\"extendsInterfaceBecomesImplements\",oue=[f.Cannot_extend_an_interface_0_Did_you_mean_implements.code],ra({errorCodes:oue,getCodeActions(e){let{sourceFile:t}=e,r=DDe(t,e.span.start);if(!r)return;let{extendsToken:i,heritageClauses:o}=r,s=er.ChangeTracker.with(e,l=>CDe(l,t,i,o));return[Go(BX,s,f.Change_extends_to_implements,BX,f.Change_all_extended_interfaces_to_implements)]},fixIds:[BX],getAllCodeActions:e=>Qa(e,oue,(t,r)=>{let i=DDe(r.file,r.start);i&&CDe(t,r.file,i.extendsToken,i.heritageClauses)})})}});function NDe(e,t,r){let i=Hi(e,t);if(Me(i)||Ci(i))return{node:i,className:r===aue?Oc(i).name.text:void 0}}function PDe(e,t,{node:r,className:i}){qu(r),e.replaceNode(t,r,P.createPropertyAccessExpression(i?P.createIdentifier(i):P.createThis(),r))}var GX,aue,sue,Oqe=pt({\"src/services/codefixes/fixForgottenThisPropertyAccess.ts\"(){\"use strict\";Hr(),oa(),GX=\"forgottenThisPropertyAccess\",aue=f.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,sue=[f.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,f.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,aue],ra({errorCodes:sue,getCodeActions(e){let{sourceFile:t}=e,r=NDe(t,e.span.start,e.errorCode);if(!r)return;let i=er.ChangeTracker.with(e,o=>PDe(o,t,r));return[Go(GX,i,[f.Add_0_to_unresolved_variable,r.className||\"this\"],GX,f.Add_qualifier_to_all_unresolved_variables_matching_a_member_name)]},fixIds:[GX],getAllCodeActions:e=>Qa(e,sue,(t,r)=>{let i=NDe(r.file,r.start,r.code);i&&PDe(t,e.sourceFile,i)})})}});function wqe(e){return rs(due,e)}function lue(e,t,r,i,o){let s=r.getText()[i];if(!wqe(s))return;let l=o?due[s]:`{${rP(r,t,s)}}`;e.replaceRangeWithText(r,{pos:i,end:i+1},l)}var VX,Oz,cue,due,Wqe=pt({\"src/services/codefixes/fixInvalidJsxCharacters.ts\"(){\"use strict\";Hr(),oa(),VX=\"fixInvalidJsxCharacters_expression\",Oz=\"fixInvalidJsxCharacters_htmlEntity\",cue=[f.Unexpected_token_Did_you_mean_or_gt.code,f.Unexpected_token_Did_you_mean_or_rbrace.code],ra({errorCodes:cue,fixIds:[VX,Oz],getCodeActions(e){let{sourceFile:t,preferences:r,span:i}=e,o=er.ChangeTracker.with(e,l=>lue(l,r,t,i.start,!1)),s=er.ChangeTracker.with(e,l=>lue(l,r,t,i.start,!0));return[Go(VX,o,f.Wrap_invalid_character_in_an_expression_container,VX,f.Wrap_all_invalid_characters_in_an_expression_container),Go(Oz,s,f.Convert_invalid_character_to_its_html_entity_code,Oz,f.Convert_all_invalid_characters_to_HTML_entity_code)]},getAllCodeActions(e){return Qa(e,cue,(t,r)=>lue(t,e.preferences,r.file,r.start,e.fixId===Oz))}}),due={\">\":\"&gt;\",\"}\":\"&rbrace;\"}}});function Fqe(e,{name:t,jsDocHost:r,jsDocParameterTag:i}){let o=er.ChangeTracker.with(e,s=>s.filterJSDocTags(e.sourceFile,r,l=>l!==i));return Go(wz,o,[f.Delete_unused_param_tag_0,t.getText(e.sourceFile)],wz,f.Delete_all_unused_param_tags)}function zqe(e,{name:t,jsDocHost:r,signature:i,jsDocParameterTag:o}){if(!yn(i.parameters))return;let s=e.sourceFile,l=Eb(i),d=new Set;for(let v of l)Tm(v)&&Me(v.name)&&d.add(v.name.escapedText);let p=ml(i.parameters,v=>Me(v.name)&&!d.has(v.name.escapedText)?v.name.getText(s):void 0);if(p===void 0)return;let h=P.updateJSDocParameterTag(o,o.tagName,P.createIdentifier(p),o.isBracketed,o.typeExpression,o.isNameFirst,o.comment),m=er.ChangeTracker.with(e,v=>v.replaceJSDocComment(s,r,nn(l,E=>E===o?h:E)));return Im(uue,m,[f.Rename_param_tag_name_0_to_1,t.getText(s),p])}function MDe(e,t){let r=Hi(e,t);if(r.parent&&Tm(r.parent)&&Me(r.parent.name)){let i=r.parent,o=PS(i),s=xb(i);if(o&&s)return{jsDocHost:o,signature:s,name:r.parent.name,jsDocParameterTag:i}}}var wz,uue,pue,Bqe=pt({\"src/services/codefixes/fixUnmatchedParameter.ts\"(){\"use strict\";Hr(),oa(),wz=\"deleteUnmatchedParameter\",uue=\"renameUnmatchedParameter\",pue=[f.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name.code],ra({fixIds:[wz,uue],errorCodes:pue,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=[],s=MDe(r,i.start);if(s)return pn(o,Fqe(t,s)),pn(o,zqe(t,s)),o},getAllCodeActions:function(t){let r=new Map;return DR(er.ChangeTracker.with(t,i=>{CR(t,pue,({file:o,start:s})=>{let l=MDe(o,s);l&&r.set(l.signature,pn(r.get(l.signature),l.jsDocParameterTag))}),r.forEach((o,s)=>{if(t.fixId===wz){let l=new Set(o);i.filterJSDocTags(s.getSourceFile(),s,d=>!l.has(d))}})}))}})}});function Gqe(e,t,r){let i=Vr(Hi(e,r),Me);if(!i||i.parent.kind!==183)return;let s=t.getTypeChecker().getSymbolAtLocation(i);return Dr(s?.declarations||je,hm(V_,Iu,Nc))}function Vqe(e,t,r,i){if(r.kind===271){e.insertModifierBefore(t,156,r.name);return}let o=r.kind===273?r:r.parent.parent;if(o.name&&o.namedBindings)return;let s=i.getTypeChecker();CW(o,d=>{if(Kc(d.symbol,s).flags&111551)return!0})||e.insertModifierBefore(t,156,o)}function jqe(e,t,r,i){MI.doChangeNamedToNamespaceOrDefault(t,i,e,r.parent)}var jX,LDe,Uqe=pt({\"src/services/codefixes/fixUnreferenceableDecoratorMetadata.ts\"(){\"use strict\";Hr(),oa(),jX=\"fixUnreferenceableDecoratorMetadata\",LDe=[f.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled.code],ra({errorCodes:LDe,getCodeActions:e=>{let t=Gqe(e.sourceFile,e.program,e.span.start);if(!t)return;let r=er.ChangeTracker.with(e,s=>t.kind===276&&jqe(s,e.sourceFile,t,e.program)),i=er.ChangeTracker.with(e,s=>Vqe(s,e.sourceFile,t,e.program)),o;return r.length&&(o=pn(o,Im(jX,r,f.Convert_named_imports_to_namespace_import))),i.length&&(o=pn(o,Im(jX,i,f.Use_import_type))),o},fixIds:[jX]})}});function kDe(e,t,r){e.replaceNode(t,r.parent,P.createKeywordTypeNode(159))}function xO(e,t){return Go(RO,e,t,qX,f.Delete_all_unused_declarations)}function ODe(e,t,r){e.delete(t,x.checkDefined(Fo(r.parent,E9).typeParameters,\"The type parameter to delete should exist\"))}function fue(e){return e.kind===102||e.kind===80&&(e.parent.kind===276||e.parent.kind===273)}function wDe(e){return e.kind===102?Vr(e.parent,cc):void 0}function WDe(e,t){return yc(t.parent)&&Ta(t.parent.getChildren(e))===t}function FDe(e,t,r){e.delete(t,r.parent.kind===243?r.parent:r)}function Hqe(e,t,r){an(r.elements,i=>e.delete(t,i))}function qqe(e,t,r,{parent:i}){if(yi(i)&&i.initializer&&WE(i.initializer))if(yc(i.parent)&&yn(i.parent.declarations)>1){let o=i.parent.parent,s=o.getStart(r),l=o.end;t.delete(r,i),t.insertNodeAt(r,l,i.initializer,{prefix:mv(e.host,e.formatContext.options)+r.text.slice(L3(r.text,s-1),s),suffix:Zk(r)?\";\":\"\"})}else t.replaceNode(r,i.parent,i.initializer);else t.delete(r,i)}function zDe(e,t,r,i){t!==f.Property_0_is_declared_but_its_value_is_never_read.code&&(i.kind===140&&(i=Fo(i.parent,GS).typeParameter.name),Me(i)&&Jqe(i)&&(e.replaceNode(r,i,P.createIdentifier(`_${i.text}`)),ao(i.parent)&&G1(i.parent).forEach(o=>{Me(o.name)&&e.replaceNode(r,o.name,P.createIdentifier(`_${o.name.text}`))})))}function Jqe(e){switch(e.parent.kind){case 169:case 168:return!0;case 260:switch(e.parent.parent.parent.kind){case 250:case 249:return!0}}return!1}function UX(e,t,r,i,o,s,l,d){Kqe(t,r,e,i,o,s,l,d),Me(t)&&fs.Core.eachSymbolReferenceInFile(t,i,e,p=>{Er(p.parent)&&p.parent.name===p&&(p=p.parent),!d&&Qqe(p)&&r.delete(e,p.parent.parent)})}function Kqe(e,t,r,i,o,s,l,d){let{parent:p}=e;if(ao(p))Xqe(t,r,p,i,o,s,l,d);else if(!(d&&Me(e)&&fs.Core.isSymbolReferencedInFile(e,i,r))){let h=V_(p)?e:Pa(p)?p.parent:p;x.assert(h!==r,\"should not delete whole source file\"),t.delete(r,h)}}function Xqe(e,t,r,i,o,s,l,d=!1){if(Yqe(i,t,r,o,s,l,d))if(r.modifiers&&r.modifiers.length>0&&(!Me(r.name)||fs.Core.isSymbolReferencedInFile(r.name,i,t)))for(let p of r.modifiers)ia(p)&&e.deleteModifier(t,p);else!r.initializer&&BDe(r,i,o)&&e.delete(t,r)}function BDe(e,t,r){let i=e.parent.parameters.indexOf(e);return!fs.Core.someSignatureUsage(e.parent,r,t,(o,s)=>!s||s.arguments.length>i)}function Yqe(e,t,r,i,o,s,l){let{parent:d}=r;switch(d.kind){case 174:case 176:let p=d.parameters.indexOf(r),h=El(d)?d.name:d,m=fs.Core.getReferencedSymbolsForNode(d.pos,h,o,i,s);if(m){for(let v of m)for(let E of v.references)if(E.kind===fs.EntryKind.Node){let S=sN(E.node)&&Bo(E.node.parent)&&E.node.parent.arguments.length>p,A=Er(E.node.parent)&&sN(E.node.parent.expression)&&Bo(E.node.parent.parent)&&E.node.parent.parent.arguments.length>p,C=(El(E.node.parent)||B_(E.node.parent))&&E.node.parent!==r.parent&&E.node.parent.parameters.length>p;if(S||A||C)return!1}}return!0;case 262:return d.name&&$qe(e,t,d.name)?GDe(d,r,l):!0;case 218:case 219:return GDe(d,r,l);case 178:return!1;case 177:return!0;default:return x.failBadSyntaxKind(d)}}function $qe(e,t,r){return!!fs.Core.eachSymbolReferenceInFile(r,e,t,i=>Me(i)&&Bo(i.parent)&&i.parent.arguments.includes(i))}function GDe(e,t,r){let i=e.parameters,o=i.indexOf(t);return x.assert(o!==-1,\"The parameter should already be in the list\"),r?i.slice(o+1).every(s=>Me(s.name)&&!s.symbol.isReferenced):o===i.length-1}function Qqe(e){return(Zn(e.parent)&&e.parent.left===e||(Ej(e.parent)||fy(e.parent))&&e.parent.operand===e)&&Cc(e.parent.parent)}var RO,HX,qX,Wz,JX,mue,Zqe=pt({\"src/services/codefixes/fixUnusedIdentifier.ts\"(){\"use strict\";Hr(),oa(),RO=\"unusedIdentifier\",HX=\"unusedIdentifier_prefix\",qX=\"unusedIdentifier_delete\",Wz=\"unusedIdentifier_deleteImports\",JX=\"unusedIdentifier_infer\",mue=[f._0_is_declared_but_its_value_is_never_read.code,f._0_is_declared_but_never_used.code,f.Property_0_is_declared_but_its_value_is_never_read.code,f.All_imports_in_import_declaration_are_unused.code,f.All_destructured_elements_are_unused.code,f.All_variables_are_unused.code,f.All_type_parameters_are_unused.code],ra({errorCodes:mue,getCodeActions(e){let{errorCode:t,sourceFile:r,program:i,cancellationToken:o}=e,s=i.getTypeChecker(),l=i.getSourceFiles(),d=Hi(r,e.span.start);if(Df(d))return[xO(er.ChangeTracker.with(e,v=>v.delete(r,d)),f.Remove_template_tag)];if(d.kind===30){let v=er.ChangeTracker.with(e,E=>ODe(E,r,d));return[xO(v,f.Remove_type_parameters)]}let p=wDe(d);if(p){let v=er.ChangeTracker.with(e,E=>E.delete(r,p));return[Go(RO,v,[f.Remove_import_from_0,Fne(p)],Wz,f.Delete_all_unused_imports)]}else if(fue(d)){let v=er.ChangeTracker.with(e,E=>UX(r,d,E,s,l,i,o,!1));if(v.length)return[Go(RO,v,[f.Remove_unused_declaration_for_Colon_0,d.getText(r)],Wz,f.Delete_all_unused_imports)]}if(Rf(d.parent)||i0(d.parent)){if(ao(d.parent.parent)){let v=d.parent.elements,E=[v.length>1?f.Remove_unused_declarations_for_Colon_0:f.Remove_unused_declaration_for_Colon_0,nn(v,S=>S.getText(r)).join(\", \")];return[xO(er.ChangeTracker.with(e,S=>Hqe(S,r,d.parent)),E)]}return[xO(er.ChangeTracker.with(e,v=>qqe(e,v,r,d.parent)),f.Remove_unused_destructuring_declaration)]}if(WDe(r,d))return[xO(er.ChangeTracker.with(e,v=>FDe(v,r,d.parent)),f.Remove_variable_statement)];let h=[];if(d.kind===140){let v=er.ChangeTracker.with(e,S=>kDe(S,r,d)),E=Fo(d.parent,GS).typeParameter.name.text;h.push(Go(RO,v,[f.Replace_infer_0_with_unknown,E],JX,f.Replace_all_unused_infer_with_unknown))}else{let v=er.ChangeTracker.with(e,E=>UX(r,d,E,s,l,i,o,!1));if(v.length){let E=Pa(d.parent)?d.parent:d;h.push(xO(v,[f.Remove_unused_declaration_for_Colon_0,E.getText(r)]))}}let m=er.ChangeTracker.with(e,v=>zDe(v,t,r,d));return m.length&&h.push(Go(RO,m,[f.Prefix_0_with_an_underscore,d.getText(r)],HX,f.Prefix_all_unused_declarations_with_where_possible)),h},fixIds:[HX,qX,Wz,JX],getAllCodeActions:e=>{let{sourceFile:t,program:r,cancellationToken:i}=e,o=r.getTypeChecker(),s=r.getSourceFiles();return Qa(e,mue,(l,d)=>{let p=Hi(t,d.start);switch(e.fixId){case HX:zDe(l,d.code,t,p);break;case Wz:{let h=wDe(p);h?l.delete(t,h):fue(p)&&UX(t,p,l,o,s,r,i,!0);break}case qX:{if(p.kind===140||fue(p))break;if(Df(p))l.delete(t,p);else if(p.kind===30)ODe(l,t,p);else if(Rf(p.parent)){if(p.parent.parent.initializer)break;(!ao(p.parent.parent)||BDe(p.parent.parent,o,s))&&l.delete(t,p.parent.parent)}else{if(i0(p.parent.parent)&&p.parent.parent.parent.initializer)break;WDe(t,p)?FDe(l,t,p.parent):UX(t,p,l,o,s,r,i,!0)}break}case JX:p.kind===140&&kDe(l,t,p);break;default:x.fail(JSON.stringify(e.fixId))}})}})}});function VDe(e,t,r,i,o){let s=Hi(t,r),l=Rn(s,Di);if(l.getStart(t)!==s.getStart(t)){let p=JSON.stringify({statementKind:x.formatSyntaxKind(l.kind),tokenKind:x.formatSyntaxKind(s.kind),errorCode:o,start:r,length:i});x.fail(\"Token and statement should start at the same point. \"+p)}let d=(Do(l.parent)?l.parent:l).parent;if(!Do(l.parent)||l===Ta(l.parent.statements))switch(d.kind){case 245:if(d.elseStatement){if(Do(l.parent))break;e.replaceNode(t,l,P.createBlock(je));return}case 247:case 248:e.delete(t,d);return}if(Do(l.parent)){let p=r+i,h=x.checkDefined(eJe(NV(l.parent.statements,l),m=>m.pos<p),\"Some statement should be last\");e.deleteNodeRange(t,l,h)}else e.delete(t,l)}function eJe(e,t){let r;for(let i of e){if(!t(i))break;r=i}return r}var KX,_ue,tJe=pt({\"src/services/codefixes/fixUnreachableCode.ts\"(){\"use strict\";Hr(),oa(),KX=\"fixUnreachableCode\",_ue=[f.Unreachable_code_detected.code],ra({errorCodes:_ue,getCodeActions(e){if(e.program.getSyntacticDiagnostics(e.sourceFile,e.cancellationToken).length)return;let r=er.ChangeTracker.with(e,i=>VDe(i,e.sourceFile,e.span.start,e.span.length,e.errorCode));return[Go(KX,r,f.Remove_unreachable_code,KX,f.Remove_all_unreachable_code)]},fixIds:[KX],getAllCodeActions:e=>Qa(e,_ue,(t,r)=>VDe(t,r.file,r.start,r.length,r.code))})}});function jDe(e,t,r){let i=Hi(t,r),o=Fo(i.parent,s0),s=i.getStart(t),l=o.statement.getStart(t),d=Jp(s,l,t)?l:pa(t.text,Ya(o,59,t).end,!0);e.deleteRange(t,{pos:s,end:d})}var XX,hue,nJe=pt({\"src/services/codefixes/fixUnusedLabel.ts\"(){\"use strict\";Hr(),oa(),XX=\"fixUnusedLabel\",hue=[f.Unused_label.code],ra({errorCodes:hue,getCodeActions(e){let t=er.ChangeTracker.with(e,r=>jDe(r,e.sourceFile,e.span.start));return[Go(XX,t,f.Remove_unused_label,XX,f.Remove_all_unused_labels)]},fixIds:[XX],getAllCodeActions:e=>Qa(e,hue,(t,r)=>jDe(t,r.file,r.start))})}});function UDe(e,t,r,i,o){e.replaceNode(t,r,o.typeToTypeNode(i,r,void 0))}function HDe(e,t,r){let i=Rn(Hi(e,t),rJe),o=i&&i.type;return o&&{typeNode:o,type:iJe(r,o)}}function rJe(e){switch(e.kind){case 234:case 179:case 180:case 262:case 177:case 181:case 200:case 174:case 173:case 169:case 172:case 171:case 178:case 265:case 216:case 260:return!0;default:return!1}}function iJe(e,t){if(Bx(t)){let r=e.getTypeFromTypeNode(t.type);return r===e.getNeverType()||r===e.getVoidType()?r:e.getUnionType(pn([r,e.getUndefinedType()],t.postfix?void 0:e.getNullType()))}return e.getTypeFromTypeNode(t)}var gue,YX,vue,oJe=pt({\"src/services/codefixes/fixJSDocTypes.ts\"(){\"use strict\";Hr(),oa(),gue=\"fixJSDocTypes_plain\",YX=\"fixJSDocTypes_nullable\",vue=[f.JSDoc_types_can_only_be_used_inside_documentation_comments.code,f._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code,f._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code],ra({errorCodes:vue,getCodeActions(e){let{sourceFile:t}=e,r=e.program.getTypeChecker(),i=HDe(t,e.span.start,r);if(!i)return;let{typeNode:o,type:s}=i,l=o.getText(t),d=[p(s,gue,f.Change_all_jsdoc_style_types_to_TypeScript)];return o.kind===321&&d.push(p(s,YX,f.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)),d;function p(h,m,v){let E=er.ChangeTracker.with(e,S=>UDe(S,t,o,h,r));return Go(\"jdocTypes\",E,[f.Change_0_to_1,l,r.typeToString(h)],m,v)}},fixIds:[gue,YX],getAllCodeActions(e){let{fixId:t,program:r,sourceFile:i}=e,o=r.getTypeChecker();return Qa(e,vue,(s,l)=>{let d=HDe(l.file,l.start,o);if(!d)return;let{typeNode:p,type:h}=d,m=p.kind===321&&t===YX?o.getNullableType(h,32768):h;UDe(s,i,p,m,o)})}})}});function qDe(e,t,r){e.replaceNodeWithText(t,r,`${r.text}()`)}function JDe(e,t){let r=Hi(e,t);if(Er(r.parent)){let i=r.parent;for(;Er(i.parent);)i=i.parent;return i.name}if(Me(r))return r}var $X,yue,aJe=pt({\"src/services/codefixes/fixMissingCallParentheses.ts\"(){\"use strict\";Hr(),oa(),$X=\"fixMissingCallParentheses\",yue=[f.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead.code],ra({errorCodes:yue,fixIds:[$X],getCodeActions(e){let{sourceFile:t,span:r}=e,i=JDe(t,r.start);if(!i)return;let o=er.ChangeTracker.with(e,s=>qDe(s,e.sourceFile,i));return[Go($X,o,f.Add_missing_call_parentheses,$X,f.Add_all_missing_call_parentheses)]},getAllCodeActions:e=>Qa(e,yue,(t,r)=>{let i=JDe(r.file,r.start);i&&qDe(t,r.file,i)})})}});function sJe(e){if(e.type)return e.type;if(yi(e.parent)&&e.parent.type&&G_(e.parent.type))return e.parent.type.type}function KDe(e,t){let r=Hi(e,t),i=cp(r);if(!i)return;let o;switch(i.kind){case 174:o=i.name;break;case 262:case 218:o=Ya(i,100,e);break;case 219:let s=i.typeParameters?30:21;o=Ya(i,s,e)||Ta(i.parameters);break;default:return}return o&&{insertBefore:o,returnType:sJe(i)}}function XDe(e,t,{insertBefore:r,returnType:i}){if(i){let o=mL(i);(!o||o.kind!==80||o.text!==\"Promise\")&&e.replaceNode(t,i,P.createTypeReferenceNode(\"Promise\",P.createNodeArray([i])))}e.insertModifierBefore(t,134,r)}var QX,bue,lJe=pt({\"src/services/codefixes/fixAwaitInSyncFunction.ts\"(){\"use strict\";Hr(),oa(),QX=\"fixAwaitInSyncFunction\",bue=[f.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,f.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,f.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,f.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code],ra({errorCodes:bue,getCodeActions(e){let{sourceFile:t,span:r}=e,i=KDe(t,r.start);if(!i)return;let o=er.ChangeTracker.with(e,s=>XDe(s,t,i));return[Go(QX,o,f.Add_async_modifier_to_containing_function,QX,f.Add_all_missing_async_modifiers)]},fixIds:[QX],getAllCodeActions:function(t){let r=new Map;return Qa(t,bue,(i,o)=>{let s=KDe(o.file,o.start);!s||!Jf(r,Fa(s.insertBefore))||XDe(i,t.sourceFile,s)})}})}});function YDe(e,t,r,i,o){let s,l;if(i===f._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code)s=t,l=t+r;else if(i===f._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code){let d=o.program.getTypeChecker(),p=Hi(e,t).parent;x.assert(Kv(p),\"error span of fixPropertyOverrideAccessor should only be on an accessor\");let h=p.parent;x.assert(Kr(h),\"erroneous accessors should only be inside classes\");let m=R_(Fue(h,d));if(!m)return[];let v=Ii($1(p.name)),E=d.getPropertyOfType(d.getTypeAtLocation(m),v);if(!E||!E.valueDeclaration)return[];s=E.valueDeclaration.pos,l=E.valueDeclaration.end,e=Nn(E.valueDeclaration)}else x.fail(\"fixPropertyOverrideAccessor codefix got unexpected error code \"+i);return uCe(e,o.program,s,l,o,f.Generate_get_and_set_accessors.message)}var Eue,ZX,cJe=pt({\"src/services/codefixes/fixPropertyOverrideAccessor.ts\"(){\"use strict\";Hr(),oa(),Eue=[f._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code,f._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code],ZX=\"fixPropertyOverrideAccessor\",ra({errorCodes:Eue,getCodeActions(e){let t=YDe(e.sourceFile,e.span.start,e.span.length,e.errorCode,e);if(t)return[Go(ZX,t,f.Generate_get_and_set_accessors,ZX,f.Generate_get_and_set_accessors_for_all_overriding_properties)]},fixIds:[ZX],getAllCodeActions:e=>Qa(e,Eue,(t,r)=>{let i=YDe(r.file,r.start,r.length,r.code,e);if(i)for(let o of i)t.pushRaw(e.sourceFile,o)})})}});function dJe(e,t){switch(e){case f.Parameter_0_implicitly_has_an_1_type.code:case f.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return Vu(cp(t))?f.Infer_type_of_0_from_usage:f.Infer_parameter_types_from_usage;case f.Rest_parameter_0_implicitly_has_an_any_type.code:case f.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:return f.Infer_parameter_types_from_usage;case f.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:return f.Infer_this_type_of_0_from_usage;default:return f.Infer_type_of_0_from_usage}}function uJe(e){switch(e){case f.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code:return f.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code;case f.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return f.Variable_0_implicitly_has_an_1_type.code;case f.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return f.Parameter_0_implicitly_has_an_1_type.code;case f.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:return f.Rest_parameter_0_implicitly_has_an_any_type.code;case f.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code:return f.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code;case f._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code:return f._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code;case f.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code:return f.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code;case f.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return f.Member_0_implicitly_has_an_1_type.code}return e}function $De(e,t,r,i,o,s,l,d,p){if(!aC(r.kind)&&r.kind!==80&&r.kind!==26&&r.kind!==110)return;let{parent:h}=r,m=OI(t,o,p,d);switch(i=uJe(i),i){case f.Member_0_implicitly_has_an_1_type.code:case f.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code:if(yi(h)&&l(h)||xo(h)||Gu(h))return QDe(e,m,t,h,o,d,s),m.writeFixes(e),h;if(Er(h)){let S=DO(h.name,o,s),A=iP(S,h,o,d);if(A){let C=P.createJSDocTypeTag(void 0,P.createJSDocTypeExpression(A),void 0);e.addJSDocTags(t,Fo(h.parent.parent,Cc),[C])}return m.writeFixes(e),h}return;case f.Variable_0_implicitly_has_an_1_type.code:{let S=o.getTypeChecker().getSymbolAtLocation(r);return S&&S.valueDeclaration&&yi(S.valueDeclaration)&&l(S.valueDeclaration)?(QDe(e,m,Nn(S.valueDeclaration),S.valueDeclaration,o,d,s),m.writeFixes(e),S.valueDeclaration):void 0}}let v=cp(r);if(v===void 0)return;let E;switch(i){case f.Parameter_0_implicitly_has_an_1_type.code:if(Vu(v)){ZDe(e,m,t,v,o,d,s),E=v;break}case f.Rest_parameter_0_implicitly_has_an_any_type.code:if(l(v)){let S=Fo(h,ao);pJe(e,m,t,S,v,o,d,s),E=S}break;case f.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code:case f._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code:Ip(v)&&Me(v.name)&&(eY(e,m,t,v,DO(v.name,o,s),o,d),E=v);break;case f.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code:Vu(v)&&(ZDe(e,m,t,v,o,d,s),E=v);break;case f.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:er.isThisTypeAnnotatable(v)&&l(v)&&(fJe(e,t,v,o,d,s),E=v);break;default:return x.fail(String(i))}return m.writeFixes(e),E}function QDe(e,t,r,i,o,s,l){Me(i.name)&&eY(e,t,r,i,DO(i.name,o,l),o,s)}function pJe(e,t,r,i,o,s,l,d){if(!Me(i.name))return;let p=hJe(o,r,s,d);if(x.assert(o.parameters.length===p.length,\"Parameter count and inference count should match\"),Jn(o))eCe(e,r,p,s,l);else{let h=gs(o)&&!Ya(o,21,r);h&&e.insertNodeBefore(r,Ta(o.parameters),P.createToken(21));for(let{declaration:m,type:v}of p)m&&!m.type&&!m.initializer&&eY(e,t,r,m,v,s,l);h&&e.insertNodeAfter(r,Da(o.parameters),P.createToken(22))}}function fJe(e,t,r,i,o,s){let l=tCe(r,t,i,s);if(!l||!l.length)return;let d=Tue(i,l,s).thisParameter(),p=iP(d,r,i,o);p&&(Jn(r)?mJe(e,t,r,p):e.tryInsertThisTypeAnnotation(t,r,p))}function mJe(e,t,r,i){e.addJSDocTags(t,r,[P.createJSDocThisTag(void 0,P.createJSDocTypeExpression(i))])}function ZDe(e,t,r,i,o,s,l){let d=Ac(i.parameters);if(d&&Me(i.name)&&Me(d.name)){let p=DO(i.name,o,l);p===o.getTypeChecker().getAnyType()&&(p=DO(d.name,o,l)),Jn(i)?eCe(e,r,[{declaration:d,type:p}],o,s):eY(e,t,r,d,p,o,s)}}function eY(e,t,r,i,o,s,l){let d=iP(o,i,s,l);if(d)if(Jn(r)&&i.kind!==171){let p=yi(i)?Vr(i.parent.parent,cl):i;if(!p)return;let h=P.createJSDocTypeExpression(d),m=Ip(i)?P.createJSDocReturnTag(void 0,h,void 0):P.createJSDocTypeTag(void 0,h,void 0);e.addJSDocTags(r,p,[m])}else _Je(d,i,r,e,t,Wa(s.getCompilerOptions()))||e.tryInsertTypeAnnotation(r,i,d)}function _Je(e,t,r,i,o,s){let l=WI(e,s);return l&&i.tryInsertTypeAnnotation(r,t,l.typeNode)?(an(l.symbols,d=>o.addImportFromExportedSymbol(d,!0)),!0):!1}function eCe(e,t,r,i,o){let s=r.length&&r[0].declaration.parent;if(!s)return;let l=Fi(r,d=>{let p=d.declaration;if(p.initializer||bb(p)||!Me(p.name))return;let h=d.type&&iP(d.type,p,i,o);if(h){let m=P.cloneNode(p.name);return $n(m,7168),{name:P.cloneNode(p.name),param:p,isOptional:!!d.isOptional,typeNode:h}}});if(l.length)if(gs(s)||ps(s)){let d=gs(s)&&!Ya(s,21,t);d&&e.insertNodeBefore(t,Ta(s.parameters),P.createToken(21)),an(l,({typeNode:p,param:h})=>{let m=P.createJSDocTypeTag(void 0,P.createJSDocTypeExpression(p)),v=P.createJSDocComment(void 0,[m]);e.insertNodeAt(t,h.getStart(t),v,{suffix:\" \"})}),d&&e.insertNodeAfter(t,Da(s.parameters),P.createToken(22))}else{let d=nn(l,({name:p,typeNode:h,isOptional:m})=>P.createJSDocParameterTag(void 0,p,!!m,P.createJSDocTypeExpression(h),!1,void 0));e.addJSDocTags(t,s,d)}}function Sue(e,t,r){return Fi(fs.getReferenceEntriesForNode(-1,e,t,t.getSourceFiles(),r),i=>i.kind!==fs.EntryKind.Span?Vr(i.node,Me):void 0)}function DO(e,t,r){let i=Sue(e,t,r);return Tue(t,i,r).single()}function hJe(e,t,r,i){let o=tCe(e,t,r,i);return o&&Tue(r,o,i).parameters(e)||e.parameters.map(s=>({declaration:s,type:Me(s.name)?DO(s.name,r,i):r.getTypeChecker().getAnyType()}))}function tCe(e,t,r,i){let o;switch(e.kind){case 176:o=Ya(e,137,t);break;case 219:case 218:let s=e.parent;o=(yi(s)||xo(s))&&Me(s.name)?s.name:e.name;break;case 262:case 174:case 173:o=e.name;break}if(o)return Sue(o,r,i)}function Tue(e,t,r){let i=e.getTypeChecker(),o={string:()=>i.getStringType(),number:()=>i.getNumberType(),Array:be=>i.createArrayType(be),Promise:be=>i.createPromiseType(be)},s=[i.getStringType(),i.getNumberType(),i.createArrayType(i.getAnyType()),i.createPromiseType(i.getAnyType())];return{single:p,parameters:h,thisParameter:m};function l(){return{isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0}}function d(be){let Te=new Map;for(let ft of be)ft.properties&&ft.properties.forEach((he,Le)=>{Te.has(Le)||Te.set(Le,[]),Te.get(Le).push(he)});let De=new Map;return Te.forEach((ft,he)=>{De.set(he,d(ft))}),{isNumber:be.some(ft=>ft.isNumber),isString:be.some(ft=>ft.isString),isNumberOrString:be.some(ft=>ft.isNumberOrString),candidateTypes:ta(be,ft=>ft.candidateTypes),properties:De,calls:ta(be,ft=>ft.calls),constructs:ta(be,ft=>ft.constructs),numberIndex:an(be,ft=>ft.numberIndex),stringIndex:an(be,ft=>ft.stringIndex),candidateThisTypes:ta(be,ft=>ft.candidateThisTypes),inferredTypes:void 0}}function p(){return de(v(t))}function h(be){if(t.length===0||!be.parameters)return;let Te=l();for(let ft of t)r.throwIfCancellationRequested(),E(ft,Te);let De=[...Te.constructs||[],...Te.calls||[]];return be.parameters.map((ft,he)=>{let Le=[],Ke=gh(ft),Dt=!1;for(let Ge of De)if(Ge.argumentTypes.length<=he)Dt=Jn(be),Le.push(i.getUndefinedType());else if(Ke)for(let ot=he;ot<Ge.argumentTypes.length;ot++)Le.push(i.getBaseTypeOfLiteralType(Ge.argumentTypes[ot]));else Le.push(i.getBaseTypeOfLiteralType(Ge.argumentTypes[he]));if(Me(ft.name)){let Ge=v(Sue(ft.name,e,r));Le.push(...Ke?Fi(Ge,i.getElementTypeOfArrayType):Ge)}let st=de(Le);return{type:Ke?i.createArrayType(st):st,isOptional:Dt&&!Ke,declaration:ft}})}function m(){let be=l();for(let Te of t)r.throwIfCancellationRequested(),E(Te,be);return de(be.candidateThisTypes||je)}function v(be){let Te=l();for(let De of be)r.throwIfCancellationRequested(),E(De,Te);return q(Te)}function E(be,Te){for(;LC(be);)be=be.parent;switch(be.parent.kind){case 244:A(be,Te);break;case 225:Te.isNumber=!0;break;case 224:C(be.parent,Te);break;case 226:R(be,be.parent,Te);break;case 296:case 297:L(be.parent,Te);break;case 213:case 214:be.parent.expression===be?G(be.parent,Te):S(be,Te);break;case 211:U(be.parent,Te);break;case 212:K(be.parent,be,Te);break;case 303:case 304:F(be.parent,Te);break;case 172:oe(be.parent,Te);break;case 260:{let{name:De,initializer:ft}=be.parent;if(be===De){ft&&Oe(Te,i.getTypeAtLocation(ft));break}}default:return S(be,Te)}}function S(be,Te){bh(be)&&Oe(Te,i.getContextualType(be))}function A(be,Te){Oe(Te,Bo(be)?i.getVoidType():i.getAnyType())}function C(be,Te){switch(be.operator){case 46:case 47:case 41:case 55:Te.isNumber=!0;break;case 40:Te.isNumberOrString=!0;break}}function R(be,Te,De){switch(Te.operatorToken.kind){case 43:case 42:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 66:case 68:case 67:case 69:case 70:case 74:case 75:case 79:case 71:case 73:case 72:case 41:case 30:case 33:case 32:case 34:let ft=i.getTypeAtLocation(Te.left===be?Te.right:Te.left);ft.flags&1056?Oe(De,ft):De.isNumber=!0;break;case 65:case 40:let he=i.getTypeAtLocation(Te.left===be?Te.right:Te.left);he.flags&1056?Oe(De,he):he.flags&296?De.isNumber=!0:he.flags&402653316?De.isString=!0:he.flags&1||(De.isNumberOrString=!0);break;case 64:case 35:case 37:case 38:case 36:case 77:case 78:case 76:Oe(De,i.getTypeAtLocation(Te.left===be?Te.right:Te.left));break;case 103:be===Te.left&&(De.isString=!0);break;case 57:case 61:be===Te.left&&(be.parent.parent.kind===260||lc(be.parent.parent,!0))&&Oe(De,i.getTypeAtLocation(Te.right));break;case 56:case 28:case 104:break}}function L(be,Te){Oe(Te,i.getTypeAtLocation(be.parent.parent.expression))}function G(be,Te){let De={argumentTypes:[],return_:l()};if(be.arguments)for(let ft of be.arguments)De.argumentTypes.push(i.getTypeAtLocation(ft));E(be,De.return_),be.kind===213?(Te.calls||(Te.calls=[])).push(De):(Te.constructs||(Te.constructs=[])).push(De)}function U(be,Te){let De=Hs(be.name.text);Te.properties||(Te.properties=new Map);let ft=Te.properties.get(De)||l();E(be,ft),Te.properties.set(De,ft)}function K(be,Te,De){if(Te===be.argumentExpression){De.isNumberOrString=!0;return}else{let ft=i.getTypeAtLocation(be.argumentExpression),he=l();E(be,he),ft.flags&296?De.numberIndex=he:De.stringIndex=he}}function F(be,Te){let De=yi(be.parent.parent)?be.parent.parent:be.parent;_e(Te,i.getTypeAtLocation(De))}function oe(be,Te){_e(Te,i.getTypeAtLocation(be.parent))}function W(be,Te){let De=[];for(let ft of be)for(let{high:he,low:Le}of Te)he(ft)&&(x.assert(!Le(ft),\"Priority can't have both low and high\"),De.push(Le));return be.filter(ft=>De.every(he=>!he(ft)))}function $(be){return de(q(be))}function de(be){if(!be.length)return i.getAnyType();let Te=i.getUnionType([i.getStringType(),i.getNumberType()]),ft=W(be,[{high:Le=>Le===i.getStringType()||Le===i.getNumberType(),low:Le=>Le===Te},{high:Le=>!(Le.flags&16385),low:Le=>!!(Le.flags&16385)},{high:Le=>!(Le.flags&114689)&&!(br(Le)&16),low:Le=>!!(br(Le)&16)}]),he=ft.filter(Le=>br(Le)&16);return he.length&&(ft=ft.filter(Le=>!(br(Le)&16)),ft.push(fe(he))),i.getWidenedType(i.getUnionType(ft.map(i.getBaseTypeOfLiteralType),2))}function fe(be){if(be.length===1)return be[0];let Te=[],De=[],ft=[],he=[],Le=!1,Ke=!1,Dt=Ep();for(let ot of be){for(let gn of i.getPropertiesOfType(ot))Dt.add(gn.escapedName,gn.valueDeclaration?i.getTypeOfSymbolAtLocation(gn,gn.valueDeclaration):i.getAnyType());Te.push(...i.getSignaturesOfType(ot,0)),De.push(...i.getSignaturesOfType(ot,1));let Vt=i.getIndexInfoOfType(ot,0);Vt&&(ft.push(Vt.type),Le=Le||Vt.isReadonly);let jt=i.getIndexInfoOfType(ot,1);jt&&(he.push(jt.type),Ke=Ke||jt.isReadonly)}let st=MZ(Dt,(ot,Vt)=>{let jt=Vt.length<be.length?16777216:0,gn=i.createSymbol(4|jt,ot);return gn.links.type=i.getUnionType(Vt),[ot,gn]}),Ge=[];return ft.length&&Ge.push(i.createIndexInfo(i.getStringType(),i.getUnionType(ft),Le)),he.length&&Ge.push(i.createIndexInfo(i.getNumberType(),i.getUnionType(he),Ke)),i.createAnonymousType(be[0].symbol,st,Te,De,Ge)}function q(be){var Te,De,ft;let he=[];be.isNumber&&he.push(i.getNumberType()),be.isString&&he.push(i.getStringType()),be.isNumberOrString&&he.push(i.getUnionType([i.getStringType(),i.getNumberType()])),be.numberIndex&&he.push(i.createArrayType($(be.numberIndex))),((Te=be.properties)!=null&&Te.size||(De=be.constructs)!=null&&De.length||be.stringIndex)&&he.push(H(be));let Le=(be.candidateTypes||[]).map(Dt=>i.getBaseTypeOfLiteralType(Dt)),Ke=(ft=be.calls)!=null&&ft.length?H(be):void 0;return Ke&&Le?he.push(i.getUnionType([Ke,...Le],2)):(Ke&&he.push(Ke),yn(Le)&&he.push(...Le)),he.push(...ee(be)),he}function H(be){let Te=new Map;be.properties&&be.properties.forEach((Le,Ke)=>{let Dt=i.createSymbol(4,Ke);Dt.links.type=$(Le),Te.set(Ke,Dt)});let De=be.calls?[Ae(be.calls)]:[],ft=be.constructs?[Ae(be.constructs)]:[],he=be.stringIndex?[i.createIndexInfo(i.getStringType(),$(be.stringIndex),!1)]:[];return i.createAnonymousType(void 0,Te,De,ft,he)}function ee(be){if(!be.properties||!be.properties.size)return[];let Te=s.filter(De=>le(De,be));return 0<Te.length&&Te.length<3?Te.map(De=>Ee(De,be)):[]}function le(be,Te){return Te.properties?!hc(Te.properties,(De,ft)=>{let he=i.getTypeOfPropertyOfType(be,ft);return he?De.calls?!i.getSignaturesOfType(he,0).length||!i.isTypeAssignableTo(he,pe(De.calls)):!i.isTypeAssignableTo(he,$(De)):!0}):!1}function Ee(be,Te){if(!(br(be)&4)||!Te.properties)return be;let De=be.target,ft=R_(De.typeParameters);if(!ft)return be;let he=[];return Te.properties.forEach((Le,Ke)=>{let Dt=i.getTypeOfPropertyOfType(De,Ke);x.assert(!!Dt,\"generic should have all the properties of its reference.\"),he.push(...ce(Dt,$(Le),ft))}),o[be.symbol.escapedName](de(he))}function ce(be,Te,De){if(be===De)return[Te];if(be.flags&3145728)return ta(be.types,Le=>ce(Le,Te,De));if(br(be)&4&&br(Te)&4){let Le=i.getTypeArguments(be),Ke=i.getTypeArguments(Te),Dt=[];if(Le&&Ke)for(let st=0;st<Le.length;st++)Ke[st]&&Dt.push(...ce(Le[st],Ke[st],De));return Dt}let ft=i.getSignaturesOfType(be,0),he=i.getSignaturesOfType(Te,0);return ft.length===1&&he.length===1?Z(ft[0],he[0],De):[]}function Z(be,Te,De){var ft;let he=[];for(let Dt=0;Dt<be.parameters.length;Dt++){let st=be.parameters[Dt],Ge=Te.parameters[Dt],ot=be.declaration&&gh(be.declaration.parameters[Dt]);if(!Ge)break;let Vt=st.valueDeclaration?i.getTypeOfSymbolAtLocation(st,st.valueDeclaration):i.getAnyType(),jt=ot&&i.getElementTypeOfArrayType(Vt);jt&&(Vt=jt);let gn=((ft=Vr(Ge,k_))==null?void 0:ft.links.type)||(Ge.valueDeclaration?i.getTypeOfSymbolAtLocation(Ge,Ge.valueDeclaration):i.getAnyType());he.push(...ce(Vt,gn,De))}let Le=i.getReturnTypeOfSignature(be),Ke=i.getReturnTypeOfSignature(Te);return he.push(...ce(Le,Ke,De)),he}function pe(be){return i.createAnonymousType(void 0,Vo(),[Ae(be)],je,je)}function Ae(be){let Te=[],De=Math.max(...be.map(he=>he.argumentTypes.length));for(let he=0;he<De;he++){let Le=i.createSymbol(1,Hs(`arg${he}`));Le.links.type=de(be.map(Ke=>Ke.argumentTypes[he]||i.getUndefinedType())),be.some(Ke=>Ke.argumentTypes[he]===void 0)&&(Le.flags|=16777216),Te.push(Le)}let ft=$(d(be.map(he=>he.return_)));return i.createSignature(void 0,void 0,void 0,Te,ft,void 0,De,0)}function Oe(be,Te){Te&&!(Te.flags&1)&&!(Te.flags&131072)&&(be.candidateTypes||(be.candidateTypes=[])).push(Te)}function _e(be,Te){Te&&!(Te.flags&1)&&!(Te.flags&131072)&&(be.candidateThisTypes||(be.candidateThisTypes=[])).push(Te)}}var tY,Aue,gJe=pt({\"src/services/codefixes/inferFromUsage.ts\"(){\"use strict\";Hr(),oa(),tY=\"inferFromUsage\",Aue=[f.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code,f.Variable_0_implicitly_has_an_1_type.code,f.Parameter_0_implicitly_has_an_1_type.code,f.Rest_parameter_0_implicitly_has_an_any_type.code,f.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code,f._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code,f.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code,f.Member_0_implicitly_has_an_1_type.code,f.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code,f.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,f.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,f.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code,f.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code,f._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code,f.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code,f.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,f.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code],ra({errorCodes:Aue,getCodeActions(e){let{sourceFile:t,program:r,span:{start:i},errorCode:o,cancellationToken:s,host:l,preferences:d}=e,p=Hi(t,i),h,m=er.ChangeTracker.with(e,E=>{h=$De(E,t,p,o,r,s,Ug,l,d)}),v=h&&mo(h);return!v||m.length===0?void 0:[Go(tY,m,[dJe(o,p),Vl(v)],tY,f.Infer_all_types_from_usage)]},fixIds:[tY],getAllCodeActions(e){let{sourceFile:t,program:r,cancellationToken:i,host:o,preferences:s}=e,l=DI();return Qa(e,Aue,(d,p)=>{$De(d,t,Hi(p.file,p.start),p.code,r,i,l,o,s)})}})}});function nCe(e,t,r){if(Jn(e))return;let i=Hi(e,r),o=Rn(i,hs),s=o?.type;if(!s)return;let l=t.getTypeFromTypeNode(s),d=t.getAwaitedType(l)||t.getVoidType(),p=t.typeToTypeNode(d,s,void 0);if(p)return{returnTypeNode:s,returnType:l,promisedTypeNode:p,promisedType:d}}function rCe(e,t,r,i){e.replaceNode(t,r,P.createTypeReferenceNode(\"Promise\",[i]))}var nY,Iue,vJe=pt({\"src/services/codefixes/fixReturnTypeInAsyncFunction.ts\"(){\"use strict\";Hr(),oa(),nY=\"fixReturnTypeInAsyncFunction\",Iue=[f.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0.code],ra({errorCodes:Iue,fixIds:[nY],getCodeActions:function(t){let{sourceFile:r,program:i,span:o}=t,s=i.getTypeChecker(),l=nCe(r,i.getTypeChecker(),o.start);if(!l)return;let{returnTypeNode:d,returnType:p,promisedTypeNode:h,promisedType:m}=l,v=er.ChangeTracker.with(t,E=>rCe(E,r,d,h));return[Go(nY,v,[f.Replace_0_with_Promise_1,s.typeToString(p),s.typeToString(m)],nY,f.Fix_all_incorrect_return_type_of_an_async_functions)]},getAllCodeActions:e=>Qa(e,Iue,(t,r)=>{let i=nCe(r.file,e.program.getTypeChecker(),r.start);i&&rCe(t,r.file,i.returnTypeNode,i.promisedTypeNode)})})}});function iCe(e,t,r,i){let{line:o}=$a(t,r);(!i||db(i,o))&&e.insertCommentBeforeLine(t,o,r,\" @ts-ignore\")}var xue,Rue,Due,yJe=pt({\"src/services/codefixes/disableJsDiagnostics.ts\"(){\"use strict\";Hr(),oa(),xue=\"disableJsDiagnostics\",Rue=\"disableJsDiagnostics\",Due=Fi(Object.keys(f),e=>{let t=f[e];return t.category===1?t.code:void 0}),ra({errorCodes:Due,getCodeActions:function(t){let{sourceFile:r,program:i,span:o,host:s,formatContext:l}=t;if(!Jn(r)||!ZL(r,i.getCompilerOptions()))return;let d=r.checkJsDirective?\"\":mv(s,l.options),p=[Im(xue,[axe(r.fileName,[jk(r.checkJsDirective?Gl(r.checkJsDirective.pos,r.checkJsDirective.end):qc(0,0),`// @ts-nocheck${d}`)])],f.Disable_checking_for_this_file)];return er.isValidLocationToAddComment(r,o.start)&&p.unshift(Go(xue,er.ChangeTracker.with(t,h=>iCe(h,r,o.start)),f.Ignore_this_error_message,Rue,f.Add_ts_ignore_to_all_error_messages)),p},fixIds:[Rue],getAllCodeActions:e=>{let t=new Set;return Qa(e,Due,(r,i)=>{er.isValidLocationToAddComment(i.file,i.start)&&iCe(r,i.file,i.start,t)})}})}});function Cue(e,t,r,i,o,s,l){let d=e.symbol.members;for(let p of t)d.has(p.escapedName)||oCe(p,e,r,i,o,s,l,void 0)}function PR(e){return{trackSymbol:()=>!1,moduleResolverHost:lJ(e.program,e.host)}}function oCe(e,t,r,i,o,s,l,d,p=3,h=!1){let m=e.getDeclarations(),v=Ac(m),E=i.program.getTypeChecker(),S=Wa(i.program.getCompilerOptions()),A=v?.kind??171,C=ee(e,v),R=v?Wd(v):0,L=R&256;L|=R&1?1:R&4?4:0,v&&su(v)&&(L|=512);let G=$(),U=E.getWidenedType(E.getTypeOfSymbolAtLocation(e,t)),K=!!(e.flags&16777216),F=!!(t.flags&33554432)||h,oe=Pp(r,o);switch(A){case 171:case 172:let le=oe===0?268435456:void 0,Ee=E.typeToTypeNode(U,t,le,PR(i));if(s){let Z=WI(Ee,S);Z&&(Ee=Z.typeNode,MR(s,Z.symbols))}l(P.createPropertyDeclaration(G,v?fe(C):e.getName(),K&&p&2?P.createToken(58):void 0,Ee,void 0));break;case 177:case 178:{x.assertIsDefined(m);let Z=E.typeToTypeNode(U,t,void 0,PR(i)),pe=wS(m,v),Ae=pe.secondAccessor?[pe.firstAccessor,pe.secondAccessor]:[pe.firstAccessor];if(s){let Oe=WI(Z,S);Oe&&(Z=Oe.typeNode,MR(s,Oe.symbols))}for(let Oe of Ae)if(Ip(Oe))l(P.createGetAccessorDeclaration(G,fe(C),je,H(Z),q(d,oe,F)));else{x.assertNode(Oe,Vu,\"The counterpart to a getter should be a setter\");let _e=CC(Oe),be=_e&&Me(_e.name)?ar(_e.name):void 0;l(P.createSetAccessorDeclaration(G,fe(C),Pue(1,[be],[H(Z)],1,!1),q(d,oe,F)))}break}case 173:case 174:x.assertIsDefined(m);let ce=U.isUnion()?ta(U.types,Z=>Z.getCallSignatures()):U.getCallSignatures();if(!ct(ce))break;if(m.length===1){x.assert(ce.length===1,\"One declaration implies one signature\");let Z=ce[0];W(oe,Z,G,fe(C),q(d,oe,F));break}for(let Z of ce)W(oe,Z,G,fe(C));if(!F)if(m.length>ce.length){let Z=E.getSignatureFromDeclaration(m[m.length-1]);W(oe,Z,G,fe(C),q(d,oe))}else x.assert(m.length===ce.length,\"Declarations and signatures should match count\"),l(SJe(E,i,t,ce,fe(C),K&&!!(p&1),G,oe,d));break}function W(le,Ee,ce,Z,pe){let Ae=rY(174,i,le,Ee,pe,Z,ce,K&&!!(p&1),t,s);Ae&&l(Ae)}function $(){let le;return L&&(le=x1(le,P.createModifiersFromModifierFlags(L))),de()&&(le=pn(le,P.createToken(164))),le&&P.createNodeArray(le)}function de(){return!!(i.program.getCompilerOptions().noImplicitOverride&&v&&$E(v))}function fe(le){return Me(le)&&le.escapedText===\"constructor\"?P.createComputedPropertyName(P.createStringLiteral(ar(le),oe===0)):Fs(le,!1)}function q(le,Ee,ce){return ce?void 0:Fs(le,!1)||Mue(Ee)}function H(le){return Fs(le,!1)}function ee(le,Ee){if(tl(le)&262144){let ce=le.links.nameType;if(ce&&Af(ce))return P.createIdentifier(Ii(If(ce)))}return Fs(mo(Ee),!1)}}function rY(e,t,r,i,o,s,l,d,p,h){let m=t.program,v=m.getTypeChecker(),E=Wa(m.getCompilerOptions()),S=Jn(p),A=524545|(r===0?268435456:0),C=v.signatureToSignatureDeclaration(i,e,p,A,PR(t));if(!C)return;let R=S?void 0:C.typeParameters,L=C.parameters,G=S?void 0:C.type;if(h){if(R){let oe=sc(R,W=>{let $=W.constraint,de=W.default;if($){let fe=WI($,E);fe&&($=fe.typeNode,MR(h,fe.symbols))}if(de){let fe=WI(de,E);fe&&(de=fe.typeNode,MR(h,fe.symbols))}return P.updateTypeParameterDeclaration(W,W.modifiers,W.name,$,de)});R!==oe&&(R=Ze(P.createNodeArray(oe,R.hasTrailingComma),R))}let F=sc(L,oe=>{let W=S?void 0:oe.type;if(W){let $=WI(W,E);$&&(W=$.typeNode,MR(h,$.symbols))}return P.updateParameterDeclaration(oe,oe.modifiers,oe.dotDotDotToken,oe.name,S?void 0:oe.questionToken,W,oe.initializer)});if(L!==F&&(L=Ze(P.createNodeArray(F,L.hasTrailingComma),L)),G){let oe=WI(G,E);oe&&(G=oe.typeNode,MR(h,oe.symbols))}}let U=d?P.createToken(58):void 0,K=C.asteriskToken;if(ps(C))return P.updateFunctionExpression(C,l,C.asteriskToken,Vr(s,Me),R,L,G,o??C.body);if(gs(C))return P.updateArrowFunction(C,l,R,L,G,C.equalsGreaterThanToken,o??C.body);if(El(C))return P.updateMethodDeclaration(C,l,K,s??P.createIdentifier(\"\"),U,R,L,G,o);if(Ql(C))return P.updateFunctionDeclaration(C,l,C.asteriskToken,Vr(s,Me),R,L,G,o??C.body)}function Nue(e,t,r,i,o,s,l){let d=Pp(t.sourceFile,t.preferences),p=Wa(t.program.getCompilerOptions()),h=PR(t),m=t.program.getTypeChecker(),v=Jn(l),{typeArguments:E,arguments:S,parent:A}=i,C=v?void 0:m.getContextualType(i),R=nn(S,de=>Me(de)?de.text:Er(de)&&Me(de.name)?de.name.text:void 0),L=v?[]:nn(S,de=>m.getTypeAtLocation(de)),{argumentTypeNodes:G,argumentTypeParameters:U}=lCe(m,r,L,l,p,1,h),K=s?P.createNodeArray(P.createModifiersFromModifierFlags(s)):void 0,F=g6(A)?P.createToken(42):void 0,oe=v?void 0:bJe(m,U,E),W=Pue(S.length,R,G,void 0,v),$=v||C===void 0?void 0:m.typeToTypeNode(C,l,void 0,h);switch(e){case 174:return P.createMethodDeclaration(K,F,o,void 0,oe,W,$,Mue(d));case 173:return P.createMethodSignature(K,o,void 0,oe,W,$===void 0?P.createKeywordTypeNode(159):$);case 262:return x.assert(typeof o==\"string\"||Me(o),\"Unexpected name\"),P.createFunctionDeclaration(K,F,o,oe,W,$,Fz(f.Function_not_implemented.message,d));default:x.fail(\"Unexpected kind\")}}function bJe(e,t,r){let i=new Set(t.map(s=>s[0])),o=new Map(t);if(r){let s=r.filter(d=>!t.some(p=>{var h;return e.getTypeAtLocation(d)===((h=p[1])==null?void 0:h.argumentType)})),l=i.size+s.length;for(let d=0;i.size<l;d+=1)i.add(aCe(d))}return bo(i.values(),s=>{var l;return P.createTypeParameterDeclaration(void 0,s,(l=o.get(s))==null?void 0:l.constraint)})}function aCe(e){return 84+e<=90?String.fromCharCode(84+e):`T${e}`}function iY(e,t,r,i,o,s,l){let d=e.typeToTypeNode(r,i,s,l);if(d&&Dh(d)){let p=WI(d,o);p&&(MR(t,p.symbols),d=p.typeNode)}return Fs(d)}function sCe(e){return e.isUnionOrIntersection()?e.types.some(sCe):e.flags&262144}function lCe(e,t,r,i,o,s,l){let d=[],p=new Map;for(let h=0;h<r.length;h+=1){let m=r[h];if(m.isUnionOrIntersection()&&m.types.some(sCe)){let C=aCe(h);d.push(P.createTypeReferenceNode(C)),p.set(C,void 0);continue}let v=e.getBaseTypeOfLiteralType(m),E=iY(e,t,v,i,o,s,l);if(!E)continue;d.push(E);let S=cCe(m),A=m.isTypeParameter()&&m.constraint&&!EJe(m.constraint)?iY(e,t,m.constraint,i,o,s,l):void 0;S&&p.set(S,{argumentType:m,constraint:A})}return{argumentTypeNodes:d,argumentTypeParameters:bo(p.entries())}}function EJe(e){return e.flags&524288&&e.objectFlags===16}function cCe(e){var t;if(e.flags&3145728)for(let r of e.types){let i=cCe(r);if(i)return i}return e.flags&262144?(t=e.getSymbol())==null?void 0:t.getName():void 0}function Pue(e,t,r,i,o){let s=[],l=new Map;for(let d=0;d<e;d++){let p=t?.[d]||`arg${d}`,h=l.get(p);l.set(p,(h||0)+1);let m=P.createParameterDeclaration(void 0,void 0,p+(h||\"\"),i!==void 0&&d>=i?P.createToken(58):void 0,o?void 0:r?.[d]||P.createKeywordTypeNode(159),void 0);s.push(m)}return s}function SJe(e,t,r,i,o,s,l,d,p){let h=i[0],m=i[0].minArgumentCount,v=!1;for(let C of i)m=Math.min(C.minArgumentCount,m),Td(C)&&(v=!0),C.parameters.length>=h.parameters.length&&(!Td(C)||Td(h))&&(h=C);let E=h.parameters.length-(Td(h)?1:0),S=h.parameters.map(C=>C.name),A=Pue(E,S,void 0,m,!1);if(v){let C=P.createParameterDeclaration(void 0,P.createToken(26),S[E]||\"rest\",E>=m?P.createToken(58):void 0,P.createArrayTypeNode(P.createKeywordTypeNode(159)),void 0);A.push(C)}return AJe(l,o,s,void 0,A,TJe(i,e,t,r),d,p)}function TJe(e,t,r,i){if(yn(e)){let o=t.getUnionType(nn(e,t.getReturnTypeOfSignature));return t.typeToTypeNode(o,i,1,PR(r))}}function AJe(e,t,r,i,o,s,l,d){return P.createMethodDeclaration(e,void 0,t,r?P.createToken(58):void 0,i,o,s,d||Mue(l))}function Mue(e){return Fz(f.Method_not_implemented.message,e)}function Fz(e,t){return P.createBlock([P.createThrowStatement(P.createNewExpression(P.createIdentifier(\"Error\"),void 0,[P.createStringLiteral(e,t===0)]))],!0)}function Lue(e,t,r){let i=_C(t);if(!i)return;let o=Oue(i,\"compilerOptions\");if(o===void 0){e.insertNodeAtObjectStart(t,i,oY(\"compilerOptions\",P.createObjectLiteralExpression(r.map(([l,d])=>oY(l,d)),!0)));return}let s=o.initializer;if(ma(s))for(let[l,d]of r){let p=Oue(s,l);p===void 0?e.insertNodeAtObjectStart(t,s,oY(l,d)):e.replaceNode(t,p.initializer,d)}}function kue(e,t,r,i){Lue(e,t,[[r,i]])}function oY(e,t){return P.createPropertyAssignment(P.createStringLiteral(e),t)}function Oue(e,t){return Dr(e.properties,r=>Hl(r)&&!!r.name&&da(r.name)&&r.name.text===t)}function WI(e,t){let r,i=He(e,o,xi);if(r&&i)return{typeNode:i,symbols:r};function o(s){if(ey(s)&&s.qualifier){let l=dp(s.qualifier),d=U3(l.symbol,t),p=d!==l.text?dCe(s.qualifier,P.createIdentifier(d)):s.qualifier;r=pn(r,l.symbol);let h=Dn(s.typeArguments,o,xi);return P.createTypeReferenceNode(p,h)}return un(s,o,void 0)}}function dCe(e,t){return e.kind===80?t:P.createQualifiedName(dCe(e.left,t),e.right)}function MR(e,t){t.forEach(r=>e.addImportFromExportedSymbol(r,!0))}function wue(e,t){let r=Al(t),i=Hi(e,t.start);for(;i.end<r;)i=i.parent;return i}var Wue,IJe=pt({\"src/services/codefixes/helpers.ts\"(){\"use strict\";Hr(),Wue=(e=>(e[e.Method=1]=\"Method\",e[e.Property=2]=\"Property\",e[e.All=3]=\"All\",e))(Wue||{})}});function uCe(e,t,r,i,o,s){let l=mCe(e,t,r,i);if(!l||MI.isRefactorErrorInfo(l))return;let d=er.ChangeTracker.fromContext(o),{isStatic:p,isReadonly:h,fieldName:m,accessorName:v,originalName:E,type:S,container:A,declaration:C}=l;qu(m),qu(v),qu(C),qu(A);let R,L;if(Kr(A)){let U=Wd(C);if(wd(e)){let K=P.createModifiersFromModifierFlags(U);R=K,L=K}else R=P.createModifiersFromModifierFlags(DJe(U)),L=P.createModifiersFromModifierFlags(CJe(U));ZS(C)&&(L=ro(Hv(C),L))}kJe(d,e,C,S,m,L);let G=NJe(m,v,S,R,p,A);if(qu(G),_Ce(d,e,G,C,A),h){let U=Ah(A);U&&OJe(d,e,U,m.text,E)}else{let U=PJe(m,v,S,R,p,A);qu(U),_Ce(d,e,U,C,A)}return d.getChanges()}function xJe(e){return Me(e)||da(e)}function RJe(e){return wu(e,e.parent)||xo(e)||Hl(e)}function pCe(e,t){return Me(t)?P.createIdentifier(e):P.createStringLiteral(e)}function fCe(e,t,r){let i=t?r.name:P.createThis();return Me(e)?P.createPropertyAccessExpression(i,e):P.createElementAccessExpression(i,P.createStringLiteralFromNode(e))}function DJe(e){return e&=-9,e&=-3,e&4||(e|=1),e}function CJe(e){return e&=-2,e&=-5,e|=2,e}function mCe(e,t,r,i,o=!0){let s=Hi(e,r),l=r===i&&o,d=Rn(s.parent,RJe),p=271;if(!d||!(f3(d.name,e,r,i)||l))return{error:vo(f.Could_not_find_property_for_which_to_generate_accessor)};if(!xJe(d.name))return{error:vo(f.Name_is_not_valid)};if((Wd(d)&98303|p)!==p)return{error:vo(f.Can_only_convert_property_with_modifier)};let h=d.name.text,m=LJ(h),v=pCe(m?h:dT(`_${h}`,e),d.name),E=pCe(m?dT(h.substring(1),e):h,d.name);return{isStatic:jl(d),isReadonly:NC(d),type:wJe(d,t),container:d.kind===169?d.parent.parent:d.parent,originalName:d.name.text,declaration:d,fieldName:v,accessorName:E,renameAccessor:m}}function NJe(e,t,r,i,o,s){return P.createGetAccessorDeclaration(i,t,[],r,P.createBlock([P.createReturnStatement(fCe(e,o,s))],!0))}function PJe(e,t,r,i,o,s){return P.createSetAccessorDeclaration(i,t,[P.createParameterDeclaration(void 0,void 0,P.createIdentifier(\"value\"),void 0,r)],P.createBlock([P.createExpressionStatement(P.createAssignment(fCe(e,o,s),P.createIdentifier(\"value\")))],!0))}function MJe(e,t,r,i,o,s){let l=P.updatePropertyDeclaration(r,s,o,r.questionToken||r.exclamationToken,i,r.initializer);e.replaceNode(t,r,l)}function LJe(e,t,r,i){let o=P.updatePropertyAssignment(r,i,r.initializer);(o.modifiers||o.questionToken||o.exclamationToken)&&(o===r&&(o=P.cloneNode(o)),o.modifiers=void 0,o.questionToken=void 0,o.exclamationToken=void 0),e.replacePropertyAssignment(t,r,o)}function kJe(e,t,r,i,o,s){xo(r)?MJe(e,t,r,i,o,s):Hl(r)?LJe(e,t,r,o):e.replaceNode(t,r,P.updateParameterDeclaration(r,s,r.dotDotDotToken,Fo(o,Me),r.questionToken,r.type,r.initializer))}function _Ce(e,t,r,i,o){wu(i,i.parent)?e.insertMemberAtStart(t,o,r):Hl(i)?e.insertNodeAfterComma(t,i,r):e.insertNodeAfter(t,i,r)}function OJe(e,t,r,i,o){r.body&&r.body.forEachChild(function s(l){Rs(l)&&l.expression.kind===110&&da(l.argumentExpression)&&l.argumentExpression.text===o&&VA(l)&&e.replaceNode(t,l.argumentExpression,P.createStringLiteral(i)),Er(l)&&l.expression.kind===110&&l.name.text===o&&VA(l)&&e.replaceNode(t,l.name,P.createIdentifier(i)),!Lo(l)&&!Kr(l)&&l.forEachChild(s)})}function wJe(e,t){let r=fne(e);if(xo(e)&&r&&e.questionToken){let i=t.getTypeChecker(),o=i.getTypeFromTypeNode(r);if(!i.isTypeAssignableTo(i.getUndefinedType(),o)){let s=dy(r)?r.types:[r];return P.createUnionTypeNode([...s,P.createKeywordTypeNode(157)])}}return r}function Fue(e,t){let r=[];for(;e;){let i=qE(e),o=i&&t.getSymbolAtLocation(i.expression);if(!o)break;let s=o.flags&2097152?t.getAliasedSymbol(o):o,l=s.declarations&&Dr(s.declarations,Kr);if(!l)break;r.push(l),e=l}return r}var WJe=pt({\"src/services/codefixes/generateAccessors.ts\"(){\"use strict\";Hr()}});function FJe(e,t){let r=Nn(t),i=cx(t),o=e.program.getCompilerOptions(),s=[];return s.push(hCe(e,r,t,fv(i.name,void 0,t.moduleSpecifier,Pp(r,e.preferences)))),ld(o)===1&&s.push(hCe(e,r,t,P.createImportEqualsDeclaration(void 0,!1,i.name,P.createExternalModuleReference(t.moduleSpecifier)))),s}function hCe(e,t,r,i){let o=er.ChangeTracker.with(e,s=>s.replaceNode(t,r,i));return Im(zue,o,[f.Replace_import_with_0,o[0].textChanges[0].newText])}function zJe(e){let t=e.sourceFile,r=f.This_expression_is_not_callable.code===e.errorCode?213:214,i=Rn(Hi(t,e.span.start),s=>s.kind===r);if(!i)return[];let o=i.expression;return gCe(e,o)}function BJe(e){let t=e.sourceFile,r=Rn(Hi(t,e.span.start),i=>i.getStart()===e.span.start&&i.getEnd()===e.span.start+e.span.length);return r?gCe(e,r):[]}function gCe(e,t){let r=e.program.getTypeChecker().getTypeAtLocation(t);if(!(r.symbol&&k_(r.symbol)&&r.symbol.links.originatingImport))return[];let i=[],o=r.symbol.links.originatingImport;if(lp(o)||Pr(i,FJe(e,o)),lt(t)&&!(Ld(t.parent)&&t.parent.name===t)){let s=e.sourceFile,l=er.ChangeTracker.with(e,d=>d.replaceNode(s,t,P.createPropertyAccessExpression(t,\"default\"),{}));i.push(Im(zue,l,f.Use_synthetic_default_member))}return i}var zue,GJe=pt({\"src/services/codefixes/fixInvalidImportSyntax.ts\"(){\"use strict\";Hr(),oa(),zue=\"invalidImportSyntax\",ra({errorCodes:[f.This_expression_is_not_callable.code,f.This_expression_is_not_constructable.code],getCodeActions:zJe}),ra({errorCodes:[f.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,f.Type_0_does_not_satisfy_the_constraint_1.code,f.Type_0_is_not_assignable_to_type_1.code,f.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,f.Type_predicate_0_is_not_assignable_to_1.code,f.Property_0_of_type_1_is_not_assignable_to_2_index_type_3.code,f._0_index_type_1_is_not_assignable_to_2_index_type_3.code,f.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2.code,f.Property_0_in_type_1_is_not_assignable_to_type_2.code,f.Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property.code,f.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1.code],getCodeActions:BJe})}});function vCe(e,t){let r=Hi(e,t);if(Me(r)&&xo(r.parent)){let i=Jc(r.parent);if(i)return{type:i,prop:r.parent,isJs:Jn(r.parent)}}}function VJe(e,t){if(t.isJs)return;let r=er.ChangeTracker.with(e,i=>yCe(i,e.sourceFile,t.prop));return Go(aY,r,[f.Add_definite_assignment_assertion_to_property_0,t.prop.getText()],sY,f.Add_definite_assignment_assertions_to_all_uninitialized_properties)}function yCe(e,t,r){qu(r);let i=P.updatePropertyDeclaration(r,r.modifiers,r.name,P.createToken(54),r.type,r.initializer);e.replaceNode(t,r,i)}function jJe(e,t){let r=er.ChangeTracker.with(e,i=>bCe(i,e.sourceFile,t));return Go(aY,r,[f.Add_undefined_type_to_property_0,t.prop.name.getText()],lY,f.Add_undefined_type_to_all_uninitialized_properties)}function bCe(e,t,r){let i=P.createKeywordTypeNode(157),o=dy(r.type)?r.type.types.concat(i):[r.type,i],s=P.createUnionTypeNode(o);r.isJs?e.addJSDocTags(t,r.prop,[P.createJSDocTypeTag(void 0,P.createJSDocTypeExpression(s))]):e.replaceNode(t,r.type,s)}function UJe(e,t){if(t.isJs)return;let r=e.program.getTypeChecker(),i=SCe(r,t.prop);if(!i)return;let o=er.ChangeTracker.with(e,s=>ECe(s,e.sourceFile,t.prop,i));return Go(aY,o,[f.Add_initializer_to_property_0,t.prop.name.getText()],cY,f.Add_initializers_to_all_uninitialized_properties)}function ECe(e,t,r,i){qu(r);let o=P.updatePropertyDeclaration(r,r.modifiers,r.name,r.questionToken,r.type,i);e.replaceNode(t,r,o)}function SCe(e,t){return TCe(e,e.getTypeFromTypeNode(t.type))}function TCe(e,t){if(t.flags&512)return t===e.getFalseType()||t===e.getFalseType(!0)?P.createFalse():P.createTrue();if(t.isStringLiteral())return P.createStringLiteral(t.value);if(t.isNumberLiteral())return P.createNumericLiteral(t.value);if(t.flags&2048)return P.createBigIntLiteral(t.value);if(t.isUnion())return ml(t.types,r=>TCe(e,r));if(t.isClass()){let r=ig(t.symbol);if(!r||Wr(r,64))return;let i=Ah(r);return i&&i.parameters.length?void 0:P.createNewExpression(P.createIdentifier(t.symbol.name),void 0,void 0)}else if(e.isArrayLikeType(t))return P.createArrayLiteralExpression()}var aY,sY,lY,cY,Bue,HJe=pt({\"src/services/codefixes/fixStrictClassInitialization.ts\"(){\"use strict\";Hr(),oa(),aY=\"strictClassInitialization\",sY=\"addMissingPropertyDefiniteAssignmentAssertions\",lY=\"addMissingPropertyUndefinedType\",cY=\"addMissingPropertyInitializer\",Bue=[f.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code],ra({errorCodes:Bue,getCodeActions:function(t){let r=vCe(t.sourceFile,t.span.start);if(!r)return;let i=[];return pn(i,jJe(t,r)),pn(i,VJe(t,r)),pn(i,UJe(t,r)),i},fixIds:[sY,lY,cY],getAllCodeActions:e=>Qa(e,Bue,(t,r)=>{let i=vCe(r.file,r.start);if(i)switch(e.fixId){case sY:yCe(t,r.file,i.prop);break;case lY:bCe(t,r.file,i);break;case cY:let o=e.program.getTypeChecker(),s=SCe(o,i.prop);if(!s)return;ECe(t,r.file,i.prop,s);break;default:x.fail(JSON.stringify(e.fixId))}})})}});function ACe(e,t,r){let{allowSyntheticDefaults:i,defaultImportName:o,namedImports:s,statement:l,required:d}=r;e.replaceNode(t,l,o&&!i?P.createImportEqualsDeclaration(void 0,!1,o,P.createExternalModuleReference(d)):P.createImportDeclaration(void 0,P.createImportClause(!1,o,s),d,void 0))}function ICe(e,t,r){let{parent:i}=Hi(e,r);Xd(i,!0)||x.failBadSyntaxKind(i);let o=Fo(i.parent,yi),s=Vr(o.name,Me),l=Rf(o.name)?qJe(o.name):void 0;if(s||l)return{allowSyntheticDefaults:zS(t.getCompilerOptions()),defaultImportName:s,namedImports:l,statement:Fo(o.parent.parent,cl),required:Ta(i.arguments)}}function qJe(e){let t=[];for(let r of e.elements){if(!Me(r.name)||r.initializer)return;t.push(P.createImportSpecifier(!1,Vr(r.propertyName,Me),r.name))}if(t.length)return P.createNamedImports(t)}var dY,Gue,JJe=pt({\"src/services/codefixes/requireInTs.ts\"(){\"use strict\";Hr(),oa(),dY=\"requireInTs\",Gue=[f.require_call_may_be_converted_to_an_import.code],ra({errorCodes:Gue,getCodeActions(e){let t=ICe(e.sourceFile,e.program,e.span.start);if(!t)return;let r=er.ChangeTracker.with(e,i=>ACe(i,e.sourceFile,t));return[Go(dY,r,f.Convert_require_to_import,dY,f.Convert_all_require_to_import)]},fixIds:[dY],getAllCodeActions:e=>Qa(e,Gue,(t,r)=>{let i=ICe(r.file,e.program,r.start);i&&ACe(t,e.sourceFile,i)})})}});function xCe(e,t){let r=Hi(e,t);if(!Me(r))return;let{parent:i}=r;if(Nc(i)&&U_(i.moduleReference))return{importNode:i,name:r,moduleSpecifier:i.moduleReference.expression};if(my(i)){let o=i.parent.parent;return{importNode:o,name:r,moduleSpecifier:o.moduleSpecifier}}}function RCe(e,t,r,i){e.replaceNode(t,r.importNode,fv(r.name,void 0,r.moduleSpecifier,Pp(t,i)))}var uY,Vue,KJe=pt({\"src/services/codefixes/useDefaultImport.ts\"(){\"use strict\";Hr(),oa(),uY=\"useDefaultImport\",Vue=[f.Import_may_be_converted_to_a_default_import.code],ra({errorCodes:Vue,getCodeActions(e){let{sourceFile:t,span:{start:r}}=e,i=xCe(t,r);if(!i)return;let o=er.ChangeTracker.with(e,s=>RCe(s,t,i,e.preferences));return[Go(uY,o,f.Convert_to_default_import,uY,f.Convert_all_to_default_imports)]},fixIds:[uY],getAllCodeActions:e=>Qa(e,Vue,(t,r)=>{let i=xCe(r.file,r.start);i&&RCe(t,r.file,i,e.preferences)})})}});function DCe(e,t,r){let i=Vr(Hi(t,r.start),Bu);if(!i)return;let o=i.getText(t)+\"n\";e.replaceNode(t,i,P.createBigIntLiteral(o))}var pY,jue,XJe=pt({\"src/services/codefixes/useBigintLiteral.ts\"(){\"use strict\";Hr(),oa(),pY=\"useBigintLiteral\",jue=[f.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers.code],ra({errorCodes:jue,getCodeActions:function(t){let r=er.ChangeTracker.with(t,i=>DCe(i,t.sourceFile,t.span));if(r.length>0)return[Go(pY,r,f.Convert_to_a_bigint_numeric_literal,pY,f.Convert_all_to_bigint_numeric_literals)]},fixIds:[pY],getAllCodeActions:e=>Qa(e,jue,(t,r)=>DCe(t,r.file,r))})}});function CCe(e,t){let r=Hi(e,t);return x.assert(r.kind===102,\"This token should be an ImportKeyword\"),x.assert(r.parent.kind===205,\"Token parent should be an ImportType\"),r.parent}function NCe(e,t,r){let i=P.updateImportTypeNode(r,r.argument,r.attributes,r.qualifier,r.typeArguments,!0);e.replaceNode(t,r,i)}var PCe,fY,Uue,YJe=pt({\"src/services/codefixes/fixAddModuleReferTypeMissingTypeof.ts\"(){\"use strict\";Hr(),oa(),PCe=\"fixAddModuleReferTypeMissingTypeof\",fY=PCe,Uue=[f.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code],ra({errorCodes:Uue,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=CCe(r,i.start),s=er.ChangeTracker.with(t,l=>NCe(l,r,o));return[Go(fY,s,f.Add_missing_typeof,fY,f.Add_missing_typeof)]},fixIds:[fY],getAllCodeActions:e=>Qa(e,Uue,(t,r)=>NCe(t,e.sourceFile,CCe(r.file,r.start)))})}});function MCe(e,t){let o=Hi(e,t).parent.parent;if(!(!Zn(o)&&(o=o.parent,!Zn(o)))&&_l(o.operatorToken))return o}function LCe(e,t,r){let i=$Je(r);i&&e.replaceNode(t,r,P.createJsxFragment(P.createJsxOpeningFragment(),i,P.createJsxJsxClosingFragment()))}function $Je(e){let t=[],r=e;for(;;)if(Zn(r)&&_l(r.operatorToken)&&r.operatorToken.kind===28){if(t.push(r.left),ZM(r.right))return t.push(r.right),t;if(Zn(r.right)){r=r.right;continue}else return}else return}var mY,Hue,QJe=pt({\"src/services/codefixes/wrapJsxInFragment.ts\"(){\"use strict\";Hr(),oa(),mY=\"wrapJsxInFragment\",Hue=[f.JSX_expressions_must_have_one_parent_element.code],ra({errorCodes:Hue,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=MCe(r,i.start);if(!o)return;let s=er.ChangeTracker.with(t,l=>LCe(l,r,o));return[Go(mY,s,f.Wrap_in_JSX_fragment,mY,f.Wrap_all_unparented_JSX_in_JSX_fragment)]},fixIds:[mY],getAllCodeActions:e=>Qa(e,Hue,(t,r)=>{let i=MCe(e.sourceFile,r.start);i&&LCe(t,e.sourceFile,i)})})}});function kCe(e,t){let r=Hi(e,t),i=Vr(r.parent.parent,r0);if(!i)return;let o=Gd(i.parent)?i.parent:Vr(i.parent.parent,Xf);if(o)return{indexSignature:i,container:o}}function ZJe(e,t){return P.createTypeAliasDeclaration(e.modifiers,e.name,e.typeParameters,t)}function OCe(e,t,{indexSignature:r,container:i}){let s=(Gd(i)?i.members:i.type.members).filter(m=>!r0(m)),l=Ta(r.parameters),d=P.createTypeParameterDeclaration(void 0,Fo(l.name,Me),l.type),p=P.createMappedTypeNode(NC(r)?P.createModifier(148):void 0,d,void 0,r.questionToken,r.type,void 0),h=P.createIntersectionTypeNode([...EC(i),p,...s.length?[P.createTypeLiteralNode(s)]:je]);e.replaceNode(t,i,ZJe(i,h))}var _Y,que,eKe=pt({\"src/services/codefixes/convertToMappedObjectType.ts\"(){\"use strict\";Hr(),oa(),_Y=\"fixConvertToMappedObjectType\",que=[f.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code],ra({errorCodes:que,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=kCe(r,i.start);if(!o)return;let s=er.ChangeTracker.with(t,d=>OCe(d,r,o)),l=ar(o.container.name);return[Go(_Y,s,[f.Convert_0_to_mapped_object_type,l],_Y,[f.Convert_0_to_mapped_object_type,l])]},fixIds:[_Y],getAllCodeActions:e=>Qa(e,que,(t,r)=>{let i=kCe(r.file,r.start);i&&OCe(t,r.file,i)})})}}),Jue,wCe,tKe=pt({\"src/services/codefixes/removeAccidentalCallParentheses.ts\"(){\"use strict\";Hr(),oa(),Jue=\"removeAccidentalCallParentheses\",wCe=[f.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code],ra({errorCodes:wCe,getCodeActions(e){let t=Rn(Hi(e.sourceFile,e.span.start),Bo);if(!t)return;let r=er.ChangeTracker.with(e,i=>{i.deleteRange(e.sourceFile,{pos:t.expression.end,end:t.end})});return[Im(Jue,r,f.Remove_parentheses)]},fixIds:[Jue]})}});function WCe(e,t,r){let i=Vr(Hi(t,r.start),d=>d.kind===135),o=i&&Vr(i.parent,py);if(!o)return;let s=o;if(uu(o.parent)){let d=Ax(o.expression,!1);if(Me(d)){let p=ec(o.parent.pos,t);p&&p.kind!==105&&(s=o.parent)}}e.replaceNode(t,s,o.expression)}var hY,Kue,nKe=pt({\"src/services/codefixes/removeUnnecessaryAwait.ts\"(){\"use strict\";Hr(),oa(),hY=\"removeUnnecessaryAwait\",Kue=[f.await_has_no_effect_on_the_type_of_this_expression.code],ra({errorCodes:Kue,getCodeActions:function(t){let r=er.ChangeTracker.with(t,i=>WCe(i,t.sourceFile,t.span));if(r.length>0)return[Go(hY,r,f.Remove_unnecessary_await,hY,f.Remove_all_unnecessary_uses_of_await)]},fixIds:[hY],getAllCodeActions:e=>Qa(e,Kue,(t,r)=>WCe(t,r.file,r))})}});function FCe(e,t){return Rn(Hi(e,t.start),cc)}function zCe(e,t,r){if(!t)return;let i=x.checkDefined(t.importClause);e.replaceNode(r.sourceFile,t,P.updateImportDeclaration(t,t.modifiers,P.updateImportClause(i,i.isTypeOnly,i.name,void 0),t.moduleSpecifier,t.attributes)),e.insertNodeAfter(r.sourceFile,t,P.createImportDeclaration(void 0,P.updateImportClause(i,i.isTypeOnly,void 0,i.namedBindings),t.moduleSpecifier,t.attributes))}var Xue,gY,rKe=pt({\"src/services/codefixes/splitTypeOnlyImport.ts\"(){\"use strict\";Hr(),oa(),Xue=[f.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],gY=\"splitTypeOnlyImport\",ra({errorCodes:Xue,fixIds:[gY],getCodeActions:function(t){let r=er.ChangeTracker.with(t,i=>zCe(i,FCe(t.sourceFile,t.span),t));if(r.length)return[Go(gY,r,f.Split_into_two_separate_import_declarations,gY,f.Split_all_invalid_type_only_imports)]},getAllCodeActions:e=>Qa(e,Xue,(t,r)=>{zCe(t,FCe(e.sourceFile,r),e)})})}});function BCe(e,t,r){var i;let s=r.getTypeChecker().getSymbolAtLocation(Hi(e,t));if(s===void 0)return;let l=Vr((i=s?.valueDeclaration)==null?void 0:i.parent,yc);if(l===void 0)return;let d=Ya(l,87,e);if(d!==void 0)return{symbol:s,token:d}}function GCe(e,t,r){e.replaceNode(t,r,P.createToken(121))}var vY,Yue,iKe=pt({\"src/services/codefixes/convertConstToLet.ts\"(){\"use strict\";Hr(),oa(),vY=\"fixConvertConstToLet\",Yue=[f.Cannot_assign_to_0_because_it_is_a_constant.code],ra({errorCodes:Yue,getCodeActions:function(t){let{sourceFile:r,span:i,program:o}=t,s=BCe(r,i.start,o);if(s===void 0)return;let l=er.ChangeTracker.with(t,d=>GCe(d,r,s.token));return[Xce(vY,l,f.Convert_const_to_let,vY,f.Convert_all_const_to_let)]},getAllCodeActions:e=>{let{program:t}=e,r=new Map;return DR(er.ChangeTracker.with(e,i=>{CR(e,Yue,o=>{let s=BCe(o.file,o.start,t);if(s&&Jf(r,na(s.symbol)))return GCe(i,o.file,s.token)})}))},fixIds:[vY]})}});function VCe(e,t,r){let i=Hi(e,t);return i.kind===27&&i.parent&&(ma(i.parent)||Bd(i.parent))?{node:i}:void 0}function jCe(e,t,{node:r}){let i=P.createToken(28);e.replaceNode(t,r,i)}var yY,UCe,$ue,oKe=pt({\"src/services/codefixes/fixExpectedComma.ts\"(){\"use strict\";Hr(),oa(),yY=\"fixExpectedComma\",UCe=f._0_expected.code,$ue=[UCe],ra({errorCodes:$ue,getCodeActions(e){let{sourceFile:t}=e,r=VCe(t,e.span.start,e.errorCode);if(!r)return;let i=er.ChangeTracker.with(e,o=>jCe(o,t,r));return[Go(yY,i,[f.Change_0_to_1,\";\",\",\"],yY,[f.Change_0_to_1,\";\",\",\"])]},fixIds:[yY],getAllCodeActions:e=>Qa(e,$ue,(t,r)=>{let i=VCe(r.file,r.start,r.code);i&&jCe(t,e.sourceFile,i)})})}});function HCe(e,t,r,i,o){let s=Hi(t,r.start);if(!Me(s)||!Bo(s.parent)||s.parent.expression!==s||s.parent.arguments.length!==0)return;let l=i.getTypeChecker(),d=l.getSymbolAtLocation(s),p=d?.valueDeclaration;if(!p||!ao(p)||!o0(p.parent.parent)||o?.has(p))return;o?.add(p);let h=aKe(p.parent.parent);if(ct(h)){let m=h[0],v=!dy(m)&&!VS(m)&&VS(P.createUnionTypeNode([m,P.createKeywordTypeNode(116)]).types[0]);v&&e.insertText(t,m.pos,\"(\"),e.insertText(t,m.end,v?\") | void\":\" | void\")}else{let m=l.getResolvedSignature(s.parent),v=m?.parameters[0],E=v&&l.getTypeOfSymbolAtLocation(v,p.parent.parent);Jn(p)?(!E||E.flags&3)&&(e.insertText(t,p.parent.parent.end,\")\"),e.insertText(t,pa(t.text,p.parent.parent.pos),\"/** @type {Promise<void>} */(\")):(!E||E.flags&2)&&e.insertText(t,p.parent.parent.expression.end,\"<void>\")}}function aKe(e){var t;if(Jn(e)){if(uu(e.parent)){let r=(t=yb(e.parent))==null?void 0:t.typeExpression.type;if(r&&Yp(r)&&Me(r.typeName)&&ar(r.typeName)===\"Promise\")return r.typeArguments}}else return e.typeArguments}var qCe,Que,Zue,sKe=pt({\"src/services/codefixes/fixAddVoidToPromise.ts\"(){\"use strict\";Hr(),oa(),qCe=\"addVoidToPromise\",Que=\"addVoidToPromise\",Zue=[f.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments.code,f.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code],ra({errorCodes:Zue,fixIds:[Que],getCodeActions(e){let t=er.ChangeTracker.with(e,r=>HCe(r,e.sourceFile,e.span,e.program));if(t.length>0)return[Go(qCe,t,f.Add_void_to_Promise_resolved_without_a_value,Que,f.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions(e){return Qa(e,Zue,(t,r)=>HCe(t,r.file,r,e.program,new Set))}})}}),ud={};la(ud,{PreserveOptionalFlags:()=>Wue,addNewNodeForMemberSymbol:()=>oCe,codeFixAll:()=>Qa,createCodeFixAction:()=>Go,createCodeFixActionMaybeFixAll:()=>Xce,createCodeFixActionWithoutFixAll:()=>Im,createCombinedCodeActions:()=>DR,createFileTextChanges:()=>axe,createImportAdder:()=>OI,createImportSpecifierResolver:()=>_He,createJsonPropertyAssignment:()=>oY,createMissingMemberNodes:()=>Cue,createSignatureDeclarationFromCallExpression:()=>Nue,createSignatureDeclarationFromSignature:()=>rY,createStubbedBody:()=>Fz,eachDiagnostic:()=>CR,findAncestorMatchingSpan:()=>wue,findJsonProperty:()=>Oue,generateAccessorFromProperty:()=>uCe,getAccessorConvertiblePropertyAtPosition:()=>mCe,getAllFixes:()=>Hje,getAllSupers:()=>Fue,getArgumentTypesAndTypeParameters:()=>lCe,getFixes:()=>Uje,getImportCompletionAction:()=>hHe,getImportKind:()=>Ade,getJSDocTypedefNodes:()=>dHe,getNoopSymbolTrackerWithResolver:()=>PR,getPromoteTypeOnlyCompletionAction:()=>gHe,getSupportedErrorCodes:()=>Vje,importFixName:()=>Pde,importSymbols:()=>MR,moduleSpecifierToValidIdentifier:()=>Nde,moduleSymbolToValidIdentifier:()=>Cde,parameterShouldGetTypeFromJSDoc:()=>xxe,registerCodeFix:()=>ra,setJsonCompilerOptionValue:()=>kue,setJsonCompilerOptionValues:()=>Lue,tryGetAutoImportableReferenceFromTypeNode:()=>WI,typeToAutoImportableTypeNode:()=>iY});var oa=pt({\"src/services/_namespaces/ts.codefix.ts\"(){\"use strict\";qje(),Jje(),Kje(),$je(),nUe(),aUe(),sUe(),lUe(),cUe(),fUe(),TUe(),IUe(),wUe(),eHe(),tHe(),rHe(),iHe(),uHe(),pHe(),mHe(),WHe(),BHe(),jHe(),UHe(),HHe(),KHe(),$He(),eqe(),oqe(),_qe(),gqe(),Tqe(),Aqe(),xqe(),Rqe(),Dqe(),Cqe(),Pqe(),Mqe(),Lqe(),kqe(),Oqe(),Wqe(),Bqe(),Uqe(),Zqe(),tJe(),nJe(),oJe(),aJe(),lJe(),cJe(),gJe(),vJe(),yJe(),IJe(),WJe(),GJe(),HJe(),JJe(),KJe(),XJe(),YJe(),QJe(),eKe(),tKe(),nKe(),rKe(),iKe(),oKe(),sKe()}});function lKe(e){return!!(e.kind&1)}function cKe(e){return!!(e.kind&2)}function zz(e){return!!(e&&e.kind&4)}function pP(e){return!!(e&&e.kind===32)}function dKe(e){return zz(e)||pP(e)||epe(e)}function uKe(e){return(zz(e)||pP(e))&&!!e.isFromPackageJson}function pKe(e){return!!(e.kind&8)}function fKe(e){return!!(e.kind&16)}function JCe(e){return!!(e&&e.kind&64)}function KCe(e){return!!(e&&e.kind&128)}function mKe(e){return!!(e&&e.kind&256)}function epe(e){return!!(e&&e.kind&512)}function XCe(e,t,r,i,o,s,l,d,p){var h,m,v;let E=Is(),S=l||HA(zd(i.getCompilerOptions())),A=!1,C=0,R=0,L=0,G=0,U=p({tryResolve:F,skippedAny:()=>A,resolvedAny:()=>R>0,resolvedBeyondLimit:()=>R>CY}),K=G?` (${(L/G*100).toFixed(1)}% hit rate)`:\"\";return(h=t.log)==null||h.call(t,`${e}: resolved ${R} module specifiers, plus ${C} ambient and ${L} from cache${K}`),(m=t.log)==null||m.call(t,`${e}: response is ${A?\"incomplete\":\"complete\"}`),(v=t.log)==null||v.call(t,`${e}: ${Is()-E}`),U;function F(oe,W){if(W){let q=r.getModuleSpecifierForBestExportInfo(oe,o,d);return q&&C++,q||\"failed\"}let $=S||s.allowIncompleteCompletions&&R<CY,de=!$&&s.allowIncompleteCompletions&&G<dpe,fe=$||de?r.getModuleSpecifierForBestExportInfo(oe,o,d,de):void 0;return(!$&&!de||de&&!fe)&&(A=!0),R+=fe?.computedWithoutCacheCount||0,L+=oe.length-(fe?.computedWithoutCacheCount||0),de&&G++,fe||(S?\"failed\":\"skipped\")}}function _Ke(e,t,r,i,o,s,l,d,p,h,m=!1){var v;let{previousToken:E}=TY(o,i);if(l&&!RI(i,o,E)&&!YKe(i,l,E,o))return;if(l===\" \")return s.includeCompletionsForImportStatements&&s.includeCompletionsWithInsertText?{isGlobalCompletion:!0,isMemberCompletion:!1,isNewIdentifierLocation:!0,isIncomplete:!0,entries:[]}:void 0;let S=t.getCompilerOptions(),A=t.getTypeChecker(),C=s.allowIncompleteCompletions?(v=e.getIncompleteCompletionsCache)==null?void 0:v.call(e):void 0;if(C&&d===3&&E&&Me(E)){let G=hKe(C,i,E,t,e,s,p,o);if(G)return G}else C?.clear();let R=PY.getStringLiteralCompletions(i,o,E,S,e,t,r,s,m);if(R)return R;if(E&&rC(E.parent)&&(E.kind===83||E.kind===88||E.kind===80))return OKe(E.parent);let L=sNe(t,r,i,S,o,s,void 0,e,h,p);if(L)switch(L.kind){case 0:let G=EKe(i,e,t,S,r,L,s,h,o,m);return G?.isIncomplete&&C?.set(G),G;case 1:return tpe([...Xb.getJSDocTagNameCompletions(),...$Ce(i,o,A,S,s,!0)]);case 2:return tpe([...Xb.getJSDocTagCompletions(),...$Ce(i,o,A,S,s,!1)]);case 3:return tpe(Xb.getJSDocParameterNameCompletions(L.tag));case 4:return yKe(L.keywordCompletions,L.isNewIdentifierLocation);default:return x.assertNever(L)}}function Bz(e,t){var r,i;let o=_M(e.sortText,t.sortText);return o===0&&(o=_M(e.name,t.name)),o===0&&((r=e.data)!=null&&r.moduleSpecifier)&&((i=t.data)!=null&&i.moduleSpecifier)&&(o=$L(e.data.moduleSpecifier,t.data.moduleSpecifier)),o===0?-1:o}function YCe(e){return!!e?.moduleSpecifier}function hKe(e,t,r,i,o,s,l,d){let p=e.get();if(!p)return;let h=pu(t,d),m=r.text.toLowerCase(),v=rO(t,o,i,s,l),E=XCe(\"continuePreviousIncompleteResponse\",o,ud.createImportSpecifierResolver(t,i,o,s),i,r.getStart(),s,!1,Pb(r),S=>{let A=Fi(p.entries,C=>{var R;if(!C.hasAction||!C.source||!C.data||YCe(C.data))return C;if(!ENe(C.name,m))return;let{origin:L}=x.checkDefined(lNe(C.name,C.data,i,o)),G=v.get(t.path,C.data.exportMapKey),U=G&&S.tryResolve(G,!Ic(Sf(L.moduleSymbol.name)));if(U===\"skipped\")return C;if(!U||U===\"failed\"){(R=o.log)==null||R.call(o,`Unexpected failure resolving auto import for '${C.name}' from '${C.source}'`);return}let K={...L,kind:32,moduleSpecifier:U.moduleSpecifier};return C.data=iNe(K),C.source=rpe(K),C.sourceDisplay=[Mp(K.moduleSpecifier)],C});return S.skippedAny()||(p.isIncomplete=void 0),A});return p.entries=E,p.flags=(p.flags||0)|4,p.optionalReplacementSpan=eNe(h),p}function tpe(e){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:e}}function $Ce(e,t,r,i,o,s){let l=Hi(e,t);if(!J1(l)&&!Sm(l))return[];let d=Sm(l)?l:l.parent;if(!Sm(d))return[];let p=d.parent;if(!Lo(p))return[];let h=wd(e),m=o.includeCompletionsWithSnippetText||void 0,v=Wv(d.tags,E=>Tm(E)&&E.getEnd()<=t);return Fi(p.parameters,E=>{if(!G1(E).length){if(Me(E.name)){let S={tabstop:1},A=E.name.text,C=CO(A,E.initializer,E.dotDotDotToken,h,!1,!1,r,i,o),R=m?CO(A,E.initializer,E.dotDotDotToken,h,!1,!0,r,i,o,S):void 0;return s&&(C=C.slice(1),R&&(R=R.slice(1))),{name:C,kind:\"parameter\",sortText:pd.LocationPriority,insertText:m?R:void 0,isSnippet:m}}else if(E.parent.parameters.indexOf(E)===v){let S=`param${v}`,A=QCe(S,E.name,E.initializer,E.dotDotDotToken,h,!1,r,i,o),C=m?QCe(S,E.name,E.initializer,E.dotDotDotToken,h,!0,r,i,o):void 0,R=A.join(rv(i)+\"* \"),L=C?.join(rv(i)+\"* \");return s&&(R=R.slice(1),L&&(L=L.slice(1))),{name:R,kind:\"parameter\",sortText:pd.LocationPriority,insertText:m?L:void 0,isSnippet:m}}}})}function QCe(e,t,r,i,o,s,l,d,p){if(!o)return[CO(e,r,i,o,!1,s,l,d,p,{tabstop:1})];return h(e,t,r,i,{tabstop:1});function h(v,E,S,A,C){if(Rf(E)&&!A){let L={tabstop:C.tabstop},G=CO(v,S,A,o,!0,s,l,d,p,L),U=[];for(let K of E.elements){let F=m(v,K,L);if(F)U.push(...F);else{U=void 0;break}}if(U)return C.tabstop=L.tabstop,[G,...U]}return[CO(v,S,A,o,!1,s,l,d,p,C)]}function m(v,E,S){if(!E.propertyName&&Me(E.name)||Me(E.name)){let A=E.propertyName?fC(E.propertyName):E.name.text;if(!A)return;let C=`${v}.${A}`;return[CO(C,E.initializer,E.dotDotDotToken,o,!1,s,l,d,p,S)]}else if(E.propertyName){let A=fC(E.propertyName);return A&&h(`${v}.${A}`,E.name,E.initializer,E.dotDotDotToken,S)}}}function CO(e,t,r,i,o,s,l,d,p,h){if(s&&x.assertIsDefined(h),t&&(e=gKe(e,t)),s&&(e=t0(e)),i){let m=\"*\";if(o)x.assert(!r,\"Cannot annotate a rest parameter with type 'Object'.\"),m=\"Object\";else{if(t){let S=l.getTypeAtLocation(t.parent);if(!(S.flags&16385)){let A=t.getSourceFile(),R=Pp(A,p)===0?268435456:0,L=l.typeToTypeNode(S,Rn(t,Lo),R);if(L){let G=s?SY({removeComments:!0,module:d.module,target:d.target}):Vb({removeComments:!0,module:d.module,target:d.target});$n(L,1),m=G.printNode(4,L,A)}}}s&&m===\"*\"&&(m=`\\${${h.tabstop++}:${m}}`)}let v=!o&&r?\"...\":\"\",E=s?`\\${${h.tabstop++}}`:\"\";return`@param {${v}${m}} ${e} ${E}`}else{let m=s?`\\${${h.tabstop++}}`:\"\";return`@param ${e} ${m}`}}function gKe(e,t){let r=t.getText().trim();return r.includes(`\n`)||r.length>80?`[${e}]`:`[${e}=${r}]`}function vKe(e){return{name:qo(e),kind:\"keyword\",kindModifiers:\"\",sortText:pd.GlobalsOrKeywords}}function yKe(e,t){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:t,entries:e.slice()}}function ZCe(e,t,r){return{kind:4,keywordCompletions:cNe(e,t),isNewIdentifierLocation:r}}function bKe(e){switch(e){case 156:return 8;default:x.fail(\"Unknown mapping from SyntaxKind to KeywordCompletionFilters\")}}function eNe(e){return e?.kind===80?eu(e):void 0}function EKe(e,t,r,i,o,s,l,d,p,h){let{symbols:m,contextToken:v,completionKind:E,isInSnippetScope:S,isNewIdentifierLocation:A,location:C,propertyAccessToConvert:R,keywordFilters:L,symbolToOriginInfoMap:G,recommendedCompletion:U,isJsxInitializer:K,isTypeOnlyLocation:F,isJsxIdentifierExpected:oe,isRightOfOpenTag:W,isRightOfDotOrQuestionDot:$,importStatementCompletion:de,insideJsDocTagTypeExpression:fe,symbolToSortTextMap:q,hasUnresolvedAutoImports:H}=s,ee=s.literals,le=r.getTypeChecker();if(KL(e.scriptKind)===1){let Oe=TKe(C,e);if(Oe)return Oe}let Ee=Rn(v,zx);if(Ee&&(Jre(v)||HE(v,Ee.expression))){let Oe=K3(le,Ee.parent.clauses);ee=ee.filter(_e=>!Oe.hasValue(_e)),m.forEach((_e,be)=>{if(_e.valueDeclaration&&p0(_e.valueDeclaration)){let Te=le.getConstantValue(_e.valueDeclaration);Te!==void 0&&Oe.hasValue(Te)&&(G[be]={kind:256})}})}let ce=eB(),Z=tNe(e,i);if(Z&&!A&&(!m||m.length===0)&&L===0)return;let pe=ipe(m,ce,void 0,v,C,p,e,t,r,Wa(i),o,E,l,i,d,F,R,oe,K,de,U,G,q,oe,W,h);if(L!==0)for(let Oe of cNe(L,!fe&&wd(e)))(F&&$N(LE(Oe.name))||!F&&iXe(Oe.name)||!pe.has(Oe.name))&&(pe.add(Oe.name),Fv(ce,Oe,Bz,!0));for(let Oe of HKe(v,p))pe.has(Oe.name)||(pe.add(Oe.name),Fv(ce,Oe,Bz,!0));for(let Oe of ee){let _e=IKe(e,l,Oe);pe.add(_e.name),Fv(ce,_e,Bz,!0)}Z||AKe(e,C.pos,pe,Wa(i),ce);let Ae;if(l.includeCompletionsWithInsertText&&v&&!W&&!$&&(Ae=Rn(v,fN))){let Oe=nNe(Ae,e,l,i,t,r,d);Oe&&ce.push(Oe.entry)}return{flags:s.flags,isGlobalCompletion:S,isIncomplete:l.allowIncompleteCompletions&&H?!0:void 0,isMemberCompletion:SKe(E),isNewIdentifierLocation:A,optionalReplacementSpan:eNe(C),entries:ce}}function tNe(e,t){return!wd(e)||!!ZL(e,t)}function nNe(e,t,r,i,o,s,l){let d=e.clauses,p=s.getTypeChecker(),h=p.getTypeAtLocation(e.parent.expression);if(h&&h.isUnion()&&ji(h.types,m=>m.isLiteral())){let m=K3(p,d),v=Wa(i),E=Pp(t,r),S=ud.createImportAdder(t,s,r,o),A=[];for(let F of h.types)if(F.flags&1024){x.assert(F.symbol,\"An enum member type should have a symbol\"),x.assert(F.symbol.parent,\"An enum member type should have a parent symbol (the enum symbol)\");let oe=F.symbol.valueDeclaration&&p.getConstantValue(F.symbol.valueDeclaration);if(oe!==void 0){if(m.hasValue(oe))continue;m.addValue(oe)}let W=ud.typeToAutoImportableTypeNode(p,S,F,e,v);if(!W)return;let $=bY(W,v,E);if(!$)return;A.push($)}else if(!m.hasValue(F.value))switch(typeof F.value){case\"object\":A.push(F.value.negative?P.createPrefixUnaryExpression(41,P.createBigIntLiteral({negative:!1,base10Value:F.value.base10Value})):P.createBigIntLiteral(F.value));break;case\"number\":A.push(F.value<0?P.createPrefixUnaryExpression(41,P.createNumericLiteral(-F.value)):P.createNumericLiteral(F.value));break;case\"string\":A.push(P.createStringLiteral(F.value,E===0));break}if(A.length===0)return;let C=nn(A,F=>P.createCaseClause(F,[])),R=mv(o,l?.options),L=SY({removeComments:!0,module:i.module,target:i.target,newLine:nO(R)}),G=l?F=>L.printAndFormatNode(4,F,t,l):F=>L.printNode(4,F,t),U=nn(C,(F,oe)=>r.includeCompletionsWithSnippetText?`${G(F)}$${oe+1}`:`${G(F)}`).join(R);return{entry:{name:`${L.printNode(4,C[0],t)} ...`,kind:\"\",sortText:pd.GlobalsOrKeywords,insertText:U,hasAction:S.hasFixes()||void 0,source:\"SwitchCases/\",isSnippet:r.includeCompletionsWithSnippetText?!0:void 0},importAdder:S}}}function bY(e,t,r){switch(e.kind){case 183:let i=e.typeName;return EY(i,t,r);case 199:let o=bY(e.objectType,t,r),s=bY(e.indexType,t,r);return o&&s&&P.createElementAccessExpression(o,s);case 201:let l=e.literal;switch(l.kind){case 11:return P.createStringLiteral(l.text,r===0);case 9:return P.createNumericLiteral(l.text,l.numericLiteralFlags)}return;case 196:let d=bY(e.type,t,r);return d&&(Me(d)?d:P.createParenthesizedExpression(d));case 186:return EY(e.exprName,t,r);case 205:x.fail(\"We should not get an import type after calling 'codefix.typeToAutoImportableTypeNode'.\")}}function EY(e,t,r){if(Me(e))return e;let i=Ii(e.right.escapedText);return OV(i,t)?P.createPropertyAccessExpression(EY(e.left,t,r),i):P.createElementAccessExpression(EY(e.left,t,r),P.createStringLiteral(i,r===0))}function SKe(e){switch(e){case 0:case 3:case 2:return!0;default:return!1}}function TKe(e,t){let r=Rn(e,i=>{switch(i.kind){case 287:return!0;case 44:case 32:case 80:case 211:return!1;default:return\"quit\"}});if(r){let i=!!Ya(r,32,t),l=r.parent.openingElement.tagName.getText(t)+(i?\"\":\">\"),d=eu(r.tagName),p={name:l,kind:\"class\",kindModifiers:void 0,sortText:pd.LocationPriority};return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:d,entries:[p]}}}function AKe(e,t,r,i,o){WK(e).forEach((s,l)=>{if(s===t)return;let d=Ii(l);!r.has(d)&&Tp(d,i)&&(r.add(d),Fv(o,{name:d,kind:\"warning\",kindModifiers:\"\",sortText:pd.JavascriptIdentifiers,isFromUncheckedFile:!0},Bz))})}function npe(e,t,r){return typeof r==\"object\"?ZE(r)+\"n\":fo(r)?rP(e,t,r):JSON.stringify(r)}function IKe(e,t,r){return{name:npe(e,t,r),kind:\"string\",kindModifiers:\"\",sortText:pd.LocationPriority}}function xKe(e,t,r,i,o,s,l,d,p,h,m,v,E,S,A,C,R,L,G,U,K,F,oe,W){var $,de;let fe,q,H=nJ(r),ee,le,Ee=rpe(v),ce,Z,pe,Ae=p.getTypeChecker(),Oe=v&&fKe(v),_e=v&&cKe(v)||m;if(v&&lKe(v))fe=m?`this${Oe?\"?.\":\"\"}[${oNe(l,G,h)}]`:`this${Oe?\"?.\":\".\"}${h}`;else if((_e||Oe)&&S){fe=_e?m?`[${oNe(l,G,h)}]`:`[${h}]`:h,(Oe||S.questionDotToken)&&(fe=`?.${fe}`);let Te=Ya(S,25,l)||Ya(S,29,l);if(!Te)return;let De=Ui(h,S.name.text)?S.name.end:Te.end;H=Gl(Te.getStart(l),De)}if(A&&(fe===void 0&&(fe=h),fe=`{${fe}}`,typeof A!=\"boolean\"&&(H=eu(A,l))),v&&pKe(v)&&S){fe===void 0&&(fe=h);let Te=ec(S.pos,l),De=\"\";Te&&F3(Te.end,Te.parent,l)&&(De=\";\"),De+=`(await ${S.expression.getText()})`,fe=m?`${De}${fe}`:`${De}${Oe?\"?.\":\".\"}${fe}`;let he=Vr(S.parent,py)?S.parent:S.expression;H=Gl(he.getStart(l),S.end)}if(pP(v)&&(ce=[Mp(v.moduleSpecifier)],C&&({insertText:fe,replacementSpan:H}=LKe(h,C,v,R,l,L,G),le=G.includeCompletionsWithSnippetText?!0:void 0)),v?.kind===64&&(Z=!0),U===0&&i&&(($=ec(i.pos,l,i))==null?void 0:$.kind)!==28&&(El(i.parent.parent)||Ip(i.parent.parent)||Vu(i.parent.parent)||lv(i.parent)||((de=Rn(i.parent,Hl))==null?void 0:de.getLastToken(l))===i||xu(i.parent)&&$a(l,i.getEnd()).line!==$a(l,s).line)&&(Ee=\"ObjectLiteralMemberWithComma/\",Z=!0),G.includeCompletionsWithClassMemberSnippets&&G.includeCompletionsWithInsertText&&U===3&&RKe(e,o,l)){let Te,De=rNe(d,p,L,G,h,e,o,s,i,K);if(De)({insertText:fe,filterText:q,isSnippet:le,importAdder:Te}=De),Te?.hasFixes()&&(Z=!0,Ee=\"ClassMemberSnippet/\");else return}if(v&&KCe(v)&&({insertText:fe,isSnippet:le,labelDetails:pe}=v,G.useLabelDetailsInCompletionEntries||(h=h+pe.detail,pe=void 0),Ee=\"ObjectLiteralMethodSnippet/\",t=pd.SortBelow(t)),F&&!oe&&G.includeCompletionsWithSnippetText&&G.jsxAttributeCompletionStyle&&G.jsxAttributeCompletionStyle!==\"none\"&&!(i_(o.parent)&&o.parent.initializer)){let Te=G.jsxAttributeCompletionStyle===\"braces\",De=Ae.getTypeOfSymbolAtLocation(e,o);G.jsxAttributeCompletionStyle===\"auto\"&&!(De.flags&528)&&!(De.flags&1048576&&Dr(De.types,ft=>!!(ft.flags&528)))&&(De.flags&402653316||De.flags&1048576&&ji(De.types,ft=>!!(ft.flags&402686084||Jse(ft)))?(fe=`${t0(h)}=${rP(l,G,\"$1\")}`,le=!0):Te=!0),Te&&(fe=`${t0(h)}={$1}`,le=!0)}if(fe!==void 0&&!G.includeCompletionsWithInsertText)return;(zz(v)||pP(v))&&(ee=iNe(v),Z=!C);let be=Rn(o,ZW);if(be?.kind===275){let Te=LE(h);be&&Te&&(Te===135||H9(Te))&&(fe=`${h} as ${h}_`)}return{name:h,kind:gv.getSymbolKind(Ae,e,o),kindModifiers:gv.getSymbolModifiers(Ae,e),sortText:t,source:Ee,hasAction:Z?!0:void 0,isRecommended:kKe(e,E,Ae)||void 0,insertText:fe,filterText:q,replacementSpan:H,sourceDisplay:ce,labelDetails:pe,isSnippet:le,isPackageJsonImport:uKe(v)||void 0,isImportStatementCompletion:!!C||void 0,data:ee,...W?{symbol:e}:void 0}}function RKe(e,t,r){return Jn(t)?!1:!!(e.flags&106500)&&(Kr(t)||t.parent&&t.parent.parent&&xc(t.parent)&&t===t.parent.name&&t.parent.getLastToken(r)===t.parent.name&&Kr(t.parent.parent)||t.parent&&jx(t)&&Kr(t.parent))}function rNe(e,t,r,i,o,s,l,d,p,h){let m=Rn(l,Kr);if(!m)return;let v,E=o,S=o,A=t.getTypeChecker(),C=l.getSourceFile(),R=SY({removeComments:!0,module:r.module,target:r.target,omitTrailingSemicolon:!1,newLine:nO(mv(e,h?.options))}),L=ud.createImportAdder(C,t,i,e),G;if(i.includeCompletionsWithSnippetText){v=!0;let de=P.createEmptyStatement();G=P.createBlock([de],!0),dj(de,{kind:0,order:0})}else G=P.createBlock([],!0);let U=0,{modifiers:K,range:F,decorators:oe}=DKe(p,C,d),W=K&64&&m.modifierFlagsCache&64,$=[];if(ud.addNewNodeForMemberSymbol(s,m,C,{program:t,host:e},i,L,de=>{let fe=0;W&&(fe|=64),xc(de)&&A.getMemberOverrideModifierStatus(m,de,s)===1&&(fe|=16),$.length||(U=de.modifierFlagsCache|fe),de=P.replaceModifiers(de,U),$.push(de)},G,ud.PreserveOptionalFlags.Property,!!W),$.length){let de=s.flags&8192,fe=U|16|1;de?fe|=1024:fe|=136;let q=K&fe;if(K&~fe)return;if(U&4&&q&1&&(U&=-5),q!==0&&!(q&1)&&(U&=-2),U|=q,$=$.map(ee=>P.replaceModifiers(ee,U)),oe?.length){let ee=$[$.length-1];ZS(ee)&&($[$.length-1]=P.replaceDecoratorsAndModifiers(ee,oe.concat(kE(ee)||[])))}let H=131073;h?E=R.printAndFormatSnippetList(H,P.createNodeArray($),C,h):E=R.printSnippetList(H,P.createNodeArray($),C)}return{insertText:E,filterText:S,isSnippet:v,importAdder:L,eraseRange:F}}function DKe(e,t,r){if(!e||$a(t,r).line>$a(t,e.getEnd()).line)return{modifiers:0};let i=0,o,s,l={pos:r,end:r};if(xo(e.parent)&&e.parent.modifiers&&(i|=Qm(e.parent.modifiers)&98303,o=e.parent.modifiers.filter(Xc)||[],l.pos=Math.min(l.pos,e.parent.modifiers.pos)),s=CKe(e)){let d=GA(s);i&d||(i|=d,l.pos=Math.min(l.pos,e.pos))}return{modifiers:i,decorators:o,range:l.pos!==r?l:void 0}}function CKe(e){if(ia(e))return e.kind;if(Me(e)){let t=vb(e);if(t&&Yg(t))return t}}function NKe(e,t,r,i,o,s,l,d){let p=l.includeCompletionsWithSnippetText||void 0,h=t,m=r.getSourceFile(),v=PKe(e,r,m,i,o,l);if(!v)return;let E=SY({removeComments:!0,module:s.module,target:s.target,omitTrailingSemicolon:!1,newLine:nO(mv(o,d?.options))});d?h=E.printAndFormatSnippetList(80,P.createNodeArray([v],!0),m,d):h=E.printSnippetList(80,P.createNodeArray([v],!0),m);let S=Vb({removeComments:!0,module:s.module,target:s.target,omitTrailingSemicolon:!0}),A=P.createMethodSignature(void 0,\"\",v.questionToken,v.typeParameters,v.parameters,v.type),C={detail:S.printNode(4,A,m)};return{isSnippet:p,insertText:h,labelDetails:C}}function PKe(e,t,r,i,o,s){let l=e.getDeclarations();if(!(l&&l.length))return;let d=i.getTypeChecker(),p=l[0],h=Fs(mo(p),!1),m=d.getWidenedType(d.getTypeOfSymbolAtLocation(e,t)),E=33554432|(Pp(r,s)===0?268435456:0);switch(p.kind){case 171:case 172:case 173:case 174:{let S=m.flags&1048576&&m.types.length<10?d.getUnionType(m.types,2):m;if(S.flags&1048576){let G=Cr(S.types,U=>d.getSignaturesOfType(U,0).length>0);if(G.length===1)S=G[0];else return}if(d.getSignaturesOfType(S,0).length!==1)return;let C=d.typeToTypeNode(S,t,E,ud.getNoopSymbolTrackerWithResolver({program:i,host:o}));if(!C||!G_(C))return;let R;if(s.includeCompletionsWithSnippetText){let G=P.createEmptyStatement();R=P.createBlock([G],!0),dj(G,{kind:0,order:0})}else R=P.createBlock([],!0);let L=C.parameters.map(G=>P.createParameterDeclaration(void 0,G.dotDotDotToken,G.name,void 0,void 0,G.initializer));return P.createMethodDeclaration(void 0,void 0,h,void 0,void 0,L,void 0,R)}default:return}}function SY(e){let t,r=er.createWriter(rv(e)),i=Vb(e,r),o={...r,write:E=>s(E,()=>r.write(E)),nonEscapingWrite:r.write,writeLiteral:E=>s(E,()=>r.writeLiteral(E)),writeStringLiteral:E=>s(E,()=>r.writeStringLiteral(E)),writeSymbol:(E,S)=>s(E,()=>r.writeSymbol(E,S)),writeParameter:E=>s(E,()=>r.writeParameter(E)),writeComment:E=>s(E,()=>r.writeComment(E)),writeProperty:E=>s(E,()=>r.writeProperty(E))};return{printSnippetList:l,printAndFormatSnippetList:p,printNode:h,printAndFormatNode:v};function s(E,S){let A=t0(E);if(A!==E){let C=r.getTextPos();S();let R=r.getTextPos();t=pn(t||(t=[]),{newText:A,span:{start:C,length:R-C}})}else S()}function l(E,S,A){let C=d(E,S,A);return t?er.applyChanges(C,t):C}function d(E,S,A){return t=void 0,o.clear(),i.writeList(E,S,A,o),o.getText()}function p(E,S,A,C){let R={text:d(E,S,A),getLineAndCharacterOfPosition(K){return $a(this,K)}},L=J3(C,A),G=ta(S,K=>{let F=er.assignPositionsToNode(K);return uc.formatNodeGivenIndentation(F,R,A.languageVariant,0,0,{...C,options:L})}),U=t?Gg(ro(G,t),(K,F)=>Yw(K.span,F.span)):G;return er.applyChanges(R.text,U)}function h(E,S,A){let C=m(E,S,A);return t?er.applyChanges(C,t):C}function m(E,S,A){return t=void 0,o.clear(),i.writeNode(E,S,A,o),o.getText()}function v(E,S,A,C){let R={text:m(E,S,A),getLineAndCharacterOfPosition(F){return $a(this,F)}},L=J3(C,A),G=er.assignPositionsToNode(S),U=uc.formatNodeGivenIndentation(G,R,A.languageVariant,0,0,{...C,options:L}),K=t?Gg(ro(U,t),(F,oe)=>Yw(F.span,oe.span)):U;return er.applyChanges(R.text,K)}}function iNe(e){let t=e.fileName?void 0:Sf(e.moduleSymbol.name),r=e.isFromPackageJson?!0:void 0;return pP(e)?{exportName:e.exportName,exportMapKey:e.exportMapKey,moduleSpecifier:e.moduleSpecifier,ambientModuleName:t,fileName:e.fileName,isPackageJsonImport:r}:{exportName:e.exportName,exportMapKey:e.exportMapKey,fileName:e.fileName,ambientModuleName:e.fileName?void 0:Sf(e.moduleSymbol.name),isPackageJsonImport:e.isFromPackageJson?!0:void 0}}function MKe(e,t,r){let i=e.exportName===\"default\",o=!!e.isPackageJsonImport;return YCe(e)?{kind:32,exportName:e.exportName,exportMapKey:e.exportMapKey,moduleSpecifier:e.moduleSpecifier,symbolName:t,fileName:e.fileName,moduleSymbol:r,isDefaultExport:i,isFromPackageJson:o}:{kind:4,exportName:e.exportName,exportMapKey:e.exportMapKey,symbolName:t,fileName:e.fileName,moduleSymbol:r,isDefaultExport:i,isFromPackageJson:o}}function LKe(e,t,r,i,o,s,l){let d=t.replacementSpan,p=t0(rP(o,l,r.moduleSpecifier)),h=r.isDefaultExport?1:r.exportName===\"export=\"?2:0,m=l.includeCompletionsWithSnippetText?\"$1\":\"\",v=ud.getImportKind(o,h,s,!0),E=t.couldBeTypeOnlyImportSpecifier,S=t.isTopLevelTypeOnly?` ${qo(156)} `:\" \",A=E?`${qo(156)} `:\"\",C=i?\";\":\"\";switch(v){case 3:return{replacementSpan:d,insertText:`import${S}${t0(e)}${m} = require(${p})${C}`};case 1:return{replacementSpan:d,insertText:`import${S}${t0(e)}${m} from ${p}${C}`};case 2:return{replacementSpan:d,insertText:`import${S}* as ${t0(e)} from ${p}${C}`};case 0:return{replacementSpan:d,insertText:`import${S}{ ${A}${t0(e)}${m} } from ${p}${C}`}}}function oNe(e,t,r){return/^\\d+$/.test(r)?r:rP(e,t,r)}function kKe(e,t,r){return e===t||!!(e.flags&1048576)&&r.getExportSymbolOfSymbol(e)===t}function rpe(e){if(zz(e))return Sf(e.moduleSymbol.name);if(pP(e))return e.moduleSpecifier;if(e?.kind===1)return\"ThisProperty/\";if(e?.kind===64)return\"TypeOnlyAlias/\"}function ipe(e,t,r,i,o,s,l,d,p,h,m,v,E,S,A,C,R,L,G,U,K,F,oe,W,$,de=!1){let fe=Is(),q=tXe(i,o),H=Zk(l),ee=p.getTypeChecker(),le=new Map;for(let Z=0;Z<e.length;Z++){let pe=e[Z],Ae=F?.[Z],Oe=AY(pe,h,Ae,v,!!L);if(!Oe||le.get(Oe.name)&&(!Ae||!KCe(Ae))||v===1&&oe&&!Ee(pe,oe)||!C&&Jn(l)&&ce(pe))continue;let{name:_e,needsConvertPropertyAccess:be}=Oe,Te=oe?.[na(pe)]??pd.LocationPriority,De=nXe(pe,ee)?pd.Deprecated(Te):Te,ft=xKe(pe,De,r,i,o,s,l,d,p,_e,be,Ae,K,R,G,U,H,S,E,v,A,W,$,de);if(!ft)continue;let he=(!Ae||JCe(Ae))&&!(pe.parent===void 0&&!ct(pe.declarations,Le=>Le.getSourceFile()===o.getSourceFile()));le.set(_e,he),Fv(t,ft,Bz,!0)}return m(\"getCompletionsAtPosition: getCompletionEntriesFromSymbols: \"+(Is()-fe)),{has:Z=>le.has(Z),add:Z=>le.set(Z,!0)};function Ee(Z,pe){var Ae;let Oe=Z.flags;if(!Li(o)){if(dl(o.parent))return!0;if(Vr(q,yi)&&Z.valueDeclaration===q)return!1;let _e=Z.valueDeclaration??((Ae=Z.declarations)==null?void 0:Ae[0]);if(q&&_e&&(qs(q)&&qs(_e)||ao(q)&&ao(_e))){let Te=_e.pos,De=ao(q)?q.parent.parameters:GS(q.parent)?void 0:q.parent.typeParameters;if(Te>=q.pos&&De&&Te<De.end)return!1}let be=Kc(Z,ee);if(l.externalModuleIndicator&&!S.allowUmdGlobalAccess&&pe[na(Z)]===pd.GlobalsOrKeywords&&(pe[na(be)]===pd.AutoImportSuggestions||pe[na(be)]===pd.LocationPriority))return!1;if(Oe|=Sx(be),c3(o))return!!(Oe&1920);if(C)return cpe(Z,ee)}return!!(Oe&111551)}function ce(Z){var pe;let Ae=Sx(Kc(Z,ee));return!(Ae&111551)&&(!Jn((pe=Z.declarations)==null?void 0:pe[0])||!!(Ae&788968))}}function OKe(e){let t=wKe(e);if(t.length)return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:t}}function wKe(e){let t=[],r=new Map,i=e;for(;i&&!Lo(i);){if(s0(i)){let o=i.label.text;r.has(o)||(r.set(o,!0),t.push({name:o,kindModifiers:\"\",kind:\"label\",sortText:pd.LocationPriority}))}i=i.parent}return t}function aNe(e,t,r,i,o,s,l){if(o.source===\"SwitchCases/\")return{type:\"cases\"};if(o.data){let U=lNe(o.name,o.data,e,s);if(U){let{contextToken:K,previousToken:F}=TY(i,r);return{type:\"symbol\",symbol:U.symbol,location:pu(r,i),previousToken:F,contextToken:K,isJsxInitializer:!1,isTypeOnlyLocation:!1,origin:U.origin}}}let d=e.getCompilerOptions(),p=sNe(e,t,r,d,i,{includeCompletionsForModuleExports:!0,includeCompletionsWithInsertText:!0},o,s,void 0);if(!p)return{type:\"none\"};if(p.kind!==0)return{type:\"request\",request:p};let{symbols:h,literals:m,location:v,completionKind:E,symbolToOriginInfoMap:S,contextToken:A,previousToken:C,isJsxInitializer:R,isTypeOnlyLocation:L}=p,G=Dr(m,U=>npe(r,l,U)===o.name);return G!==void 0?{type:\"literal\",literal:G}:ml(h,(U,K)=>{let F=S[K],oe=AY(U,Wa(d),F,E,p.isJsxIdentifierExpected);return oe&&oe.name===o.name&&(o.source===\"ClassMemberSnippet/\"&&U.flags&106500||o.source===\"ObjectLiteralMethodSnippet/\"&&U.flags&8196||rpe(F)===o.source||o.source===\"ObjectLiteralMemberWithComma/\")?{type:\"symbol\",symbol:U,location:v,origin:F,contextToken:A,previousToken:C,isJsxInitializer:R,isTypeOnlyLocation:L}:void 0})||{type:\"none\"}}function WKe(e,t,r,i,o,s,l,d,p){let h=e.getTypeChecker(),m=e.getCompilerOptions(),{name:v,source:E,data:S}=o,{previousToken:A,contextToken:C}=TY(i,r);if(RI(r,i,A))return PY.getStringLiteralCompletionDetails(v,r,i,A,e,s,p,d);let R=aNe(e,t,r,i,o,s,d);switch(R.type){case\"request\":{let{request:L}=R;switch(L.kind){case 1:return Xb.getJSDocTagNameCompletionDetails(v);case 2:return Xb.getJSDocTagCompletionDetails(v);case 3:return Xb.getJSDocParameterNameCompletionDetails(v);case 4:return ct(L.keywordCompletions,G=>G.name===v)?ope(v,\"keyword\",5):void 0;default:return x.assertNever(L)}}case\"symbol\":{let{symbol:L,location:G,contextToken:U,origin:K,previousToken:F}=R,{codeActions:oe,sourceDisplay:W}=FKe(v,G,U,K,L,e,s,m,r,i,F,l,d,S,E,p),$=epe(K)?K.symbolName:L.name;return ape(L,$,h,r,G,p,oe,W)}case\"literal\":{let{literal:L}=R;return ope(npe(r,d,L),\"string\",typeof L==\"string\"?8:7)}case\"cases\":{let L=nNe(C.parent,r,d,e.getCompilerOptions(),s,e,void 0);if(L?.importAdder.hasFixes()){let{entry:G,importAdder:U}=L,K=er.ChangeTracker.with({host:s,formatContext:l,preferences:d},U.writeFixes);return{name:G.name,kind:\"\",kindModifiers:\"\",displayParts:[],sourceDisplay:void 0,codeActions:[{changes:K,description:uT([f.Includes_imports_of_types_referenced_by_0,v])}]}}return{name:v,kind:\"\",kindModifiers:\"\",displayParts:[],sourceDisplay:void 0}}case\"none\":return mpe().some(L=>L.name===v)?ope(v,\"keyword\",5):void 0;default:x.assertNever(R)}}function ope(e,t,r){return Gz(e,\"\",t,[Ru(e,r)])}function ape(e,t,r,i,o,s,l,d){let{displayParts:p,documentation:h,symbolKind:m,tags:v}=r.runWithCancellationToken(s,E=>gv.getSymbolDisplayPartsDocumentationAndSymbolKind(E,e,i,o,o,7));return Gz(t,gv.getSymbolModifiers(r,e),m,p,h,v,l,d)}function Gz(e,t,r,i,o,s,l,d){return{name:e,kindModifiers:t,kind:r,displayParts:i,documentation:o,tags:s,codeActions:l,source:d,sourceDisplay:d}}function FKe(e,t,r,i,o,s,l,d,p,h,m,v,E,S,A,C){if(S?.moduleSpecifier&&m&&hNe(r||m,p).replacementSpan)return{codeActions:void 0,sourceDisplay:[Mp(S.moduleSpecifier)]};if(A===\"ClassMemberSnippet/\"){let{importAdder:oe,eraseRange:W}=rNe(l,s,d,E,e,o,t,h,r,v);if(oe||W)return{sourceDisplay:void 0,codeActions:[{changes:er.ChangeTracker.with({host:l,formatContext:v,preferences:E},de=>{oe&&oe.writeFixes(de),W&&de.deleteRange(p,W)}),description:uT([f.Includes_imports_of_types_referenced_by_0,e])}]}}if(JCe(i)){let oe=ud.getPromoteTypeOnlyCompletionAction(p,i.declaration.name,s,l,v,E);return x.assertIsDefined(oe,\"Expected to have a code action for promoting type-only alias\"),{codeActions:[oe],sourceDisplay:void 0}}if(A===\"ObjectLiteralMemberWithComma/\"&&r){let oe=er.ChangeTracker.with({host:l,formatContext:v,preferences:E},W=>W.insertText(p,r.end,\",\"));if(oe)return{sourceDisplay:void 0,codeActions:[{changes:oe,description:uT([f.Add_missing_comma_for_object_member_completion_0,e])}]}}if(!i||!(zz(i)||pP(i)))return{codeActions:void 0,sourceDisplay:void 0};let R=i.isFromPackageJson?l.getPackageJsonAutoImportProvider().getTypeChecker():s.getTypeChecker(),{moduleSymbol:L}=i,G=R.getMergedSymbol(Kc(o.exportSymbol||o,R)),U=r?.kind===30&&Od(r.parent),{moduleSpecifier:K,codeAction:F}=ud.getImportCompletionAction(G,L,S?.exportMapKey,p,e,U,l,s,v,m&&Me(m)?m.getStart(p):h,E,C);return x.assert(!S?.moduleSpecifier||K===S.moduleSpecifier),{sourceDisplay:[Mp(K)],codeActions:[F]}}function zKe(e,t,r,i,o,s,l){let d=aNe(e,t,r,i,o,s,l);return d.type===\"symbol\"?d.symbol:void 0}function BKe(e,t,r){return ml(t&&(t.isUnion()?t.types:[t]),i=>{let o=i&&i.symbol;return o&&o.flags&424&&!Wne(o)?spe(o,e,r):void 0})}function GKe(e,t,r,i){let{parent:o}=e;switch(e.kind){case 80:return O3(e,i);case 64:switch(o.kind){case 260:return i.getContextualType(o.initializer);case 226:return i.getTypeAtLocation(o.left);case 291:return i.getContextualTypeForJsxAttribute(o);default:return}case 105:return i.getContextualType(o);case 84:let s=Vr(o,zx);return s?IJ(s,i):void 0;case 19:return mN(o)&&!Ch(o.parent)&&!c0(o.parent)?i.getContextualTypeForJsxAttribute(o.parent):void 0;default:let l=OO.getArgumentInfoForCompletions(e,t,r,i);return l?i.getContextualTypeForArgumentAtIndex(l.invocation,l.argumentIndex):w3(e.kind)&&Zn(o)&&w3(o.operatorToken.kind)?i.getTypeAtLocation(o.left):i.getContextualType(e,4)||i.getContextualType(e)}}function spe(e,t,r){let i=r.getAccessibleSymbolChain(e,t,-1,!1);return i?Ta(i):e.parent&&(VKe(e.parent)?e:spe(e.parent,t,r))}function VKe(e){var t;return!!((t=e.declarations)!=null&&t.some(r=>r.kind===312))}function sNe(e,t,r,i,o,s,l,d,p,h){let m=e.getTypeChecker(),v=tNe(r,i),E=Is(),S=Hi(r,o);t(\"getCompletionData: Get current token: \"+(Is()-E)),E=Is();let A=uv(r,o,S);t(\"getCompletionData: Is inside comment: \"+(Is()-E));let C=!1,R=!1;if(A){if(Use(r,o)){if(r.text.charCodeAt(o-1)===64)return{kind:1};{let Pe=Cf(o,r);if(!/[^*|\\s(/)]/.test(r.text.substring(Pe,o)))return{kind:2}}}let se=qKe(S,o);if(se){if(se.tagName.pos<=o&&o<=se.tagName.end)return{kind:1};let Pe=Vt(se);if(Pe&&(S=Hi(r,o),(!S||!ng(S)&&(S.parent.kind!==355||S.parent.name!==S))&&(C=j(Pe))),!C&&Tm(se)&&(_l(se.name)||se.name.pos<=o&&o<=se.name.end))return{kind:3,tag:se}}if(!C){t(\"Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment.\");return}}E=Is();let L=!C&&wd(r),G=TY(o,r),U=G.previousToken,K=G.contextToken;t(\"getCompletionData: Get previous token: \"+(Is()-E));let F=S,oe,W=!1,$=!1,de=!1,fe=!1,q=!1,H=!1,ee,le=pu(r,o),Ee=0,ce=!1,Z=0;if(K){let se=hNe(K,r);if(se.keywordCompletion){if(se.isKeywordOnlyCompletion)return{kind:4,keywordCompletions:[vKe(se.keywordCompletion)],isNewIdentifierLocation:se.isNewIdentifierLocation};Ee=bKe(se.keywordCompletion)}if(se.replacementSpan&&s.includeCompletionsForImportStatements&&s.includeCompletionsWithInsertText&&(Z|=2,ee=se,ce=se.isNewIdentifierLocation),!se.replacementSpan&&ki(K))return t(\"Returning an empty list because completion was requested in an invalid position.\"),Ee?ZCe(Ee,L,Jo()):void 0;let Pe=K.parent;if(K.kind===25||K.kind===29)switch(W=K.kind===25,$=K.kind===29,Pe.kind){case 211:oe=Pe,F=oe.expression;let Ie=Tx(oe);if(_l(Ie)||(Bo(F)||Lo(F))&&F.end===K.pos&&F.getChildCount(r)&&Da(F.getChildren(r)).kind!==22)return;break;case 166:F=Pe.left;break;case 267:F=Pe.name;break;case 205:F=Pe;break;case 236:F=Pe.getFirstToken(r),x.assert(F.kind===102||F.kind===105);break;default:return}else if(!ee){if(Pe&&Pe.kind===211&&(K=Pe,Pe=Pe.parent),S.parent===le)switch(S.kind){case 32:(S.parent.kind===284||S.parent.kind===286)&&(le=S);break;case 44:S.parent.kind===285&&(le=S);break}switch(Pe.kind){case 287:K.kind===44&&(fe=!0,le=K);break;case 226:if(!_Ne(Pe))break;case 285:case 284:case 286:H=!0,K.kind===30&&(de=!0,le=K);break;case 294:case 293:(U.kind===20||U.kind===80&&U.parent.kind===291)&&(H=!0);break;case 291:if(Pe.initializer===U&&U.end<o){H=!0;break}switch(U.kind){case 64:q=!0;break;case 80:H=!0,Pe!==U.parent&&!Pe.initializer&&Ya(Pe,64,r)&&(q=U)}break}}}let pe=Is(),Ae=5,Oe=!1,_e=[],be,Te=[],De=[],ft=new Map,he=Nr(),Le=N_(se=>lT(se?d.getPackageJsonAutoImportProvider():e,d));if(W||$)jt();else if(de)_e=m.getJsxIntrinsicTagNamesAt(le),x.assertEachIsDefined(_e,\"getJsxIntrinsicTagNames() should all be defined\"),zt(),Ae=1,Ee=0;else if(fe){let se=K.parent.parent.openingElement.tagName,Pe=m.getSymbolAtLocation(se);Pe&&(_e=[Pe]),Ae=1,Ee=0}else if(!zt())return Ee?ZCe(Ee,L,ce):void 0;t(\"getCompletionData: Semantic work: \"+(Is()-pe));let Ke=U&&GKe(U,o,r,m),st=!Vr(U,Ga)&&!H?Fi(Ke&&(Ke.isUnion()?Ke.types:[Ke]),se=>se.isLiteral()&&!(se.flags&1024)?se.value:void 0):[],Ge=U&&Ke&&BKe(U,Ke,m);return{kind:0,symbols:_e,completionKind:Ae,isInSnippetScope:R,propertyAccessToConvert:oe,isNewIdentifierLocation:ce,location:le,keywordFilters:Ee,literals:st,symbolToOriginInfoMap:Te,recommendedCompletion:Ge,previousToken:U,contextToken:K,isJsxInitializer:q,insideJsDocTagTypeExpression:C,symbolToSortTextMap:De,isTypeOnlyLocation:he,isJsxIdentifierExpected:H,isRightOfOpenTag:de,isRightOfDotOrQuestionDot:W||$,importStatementCompletion:ee,hasUnresolvedAutoImports:Oe,flags:Z};function ot(se){switch(se.kind){case 348:case 355:case 349:case 351:case 353:case 356:case 357:return!0;case 352:return!!se.constraint;default:return!1}}function Vt(se){if(ot(se)){let Pe=Df(se)?se.constraint:se.typeExpression;return Pe&&Pe.kind===316?Pe:void 0}if(_I(se)||A6(se))return se.class}function jt(){Ae=2;let se=ey(F),Pe=se&&!F.isTypeOf||yh(F.parent)||Gk(K,r,m),Ie=c3(F);if(Su(F)||se||Er(F)){let gt=Il(F.parent);gt&&(ce=!0);let bt=m.getSymbolAtLocation(F);if(bt&&(bt=Kc(bt,m),bt.flags&1920)){let Ot=m.getExportsOfModule(bt);x.assertEachIsDefined(Ot,\"getExportsOfModule() should all be defined\");let dn=ti=>m.isValidPropertyAccess(se?F:F.parent,ti.name),An=ti=>cpe(ti,m),Cn=gt?ti=>{var di;return!!(ti.flags&1920)&&!((di=ti.declarations)!=null&&di.every(jn=>jn.parent===F.parent))}:Ie?ti=>An(ti)||dn(ti):Pe||C?An:dn;for(let ti of Ot)Cn(ti)&&_e.push(ti);if(!Pe&&!C&&bt.declarations&&bt.declarations.some(ti=>ti.kind!==312&&ti.kind!==267&&ti.kind!==266)){let ti=m.getTypeOfSymbolAtLocation(bt,F).getNonOptionalType(),di=!1;if(ti.isNullableType()){let jn=W&&!$&&s.includeAutomaticOptionalChainCompletions!==!1;(jn||$)&&(ti=ti.getNonNullableType(),jn&&(di=!0))}gn(ti,!!(F.flags&65536),di)}return}}if(!Pe||OS(F)){m.tryGetThisTypeAt(F,!1);let gt=m.getTypeAtLocation(F).getNonOptionalType();if(Pe)gn(gt.getNonNullableType(),!1,!1);else{let bt=!1;if(gt.isNullableType()){let Ot=W&&!$&&s.includeAutomaticOptionalChainCompletions!==!1;(Ot||$)&&(gt=gt.getNonNullableType(),Ot&&(bt=!0))}gn(gt,!!(F.flags&65536),bt)}}}function gn(se,Pe,Ie){ce=!!se.getStringIndexType(),$&&ct(se.getCallSignatures())&&(ce=!0);let gt=F.kind===205?F:F.parent;if(v)for(let bt of se.getApparentProperties())m.isValidPropertyAccessForCompletions(gt,se,bt)&&On(bt,!1,Ie);else _e.push(...Cr(RY(se,m),bt=>m.isValidPropertyAccessForCompletions(gt,se,bt)));if(Pe&&s.includeCompletionsWithInsertText){let bt=m.getPromisedTypeOfPromise(se);if(bt)for(let Ot of bt.getApparentProperties())m.isValidPropertyAccessForCompletions(gt,bt,Ot)&&On(Ot,!0,Ie)}}function On(se,Pe,Ie){var gt;let bt=ml(se.declarations,Cn=>Vr(mo(Cn),Pa));if(bt){let Cn=en(bt.expression),ti=Cn&&m.getSymbolAtLocation(Cn),di=ti&&spe(ti,K,m),jn=di&&na(di);if(jn&&Jf(ft,jn)){let Ar=_e.length;_e.push(di);let Zi=di.parent;if(!Zi||!Uk(Zi)||m.tryGetMemberInModuleExportsAndProperties(di.name,Zi)!==di)Te[Ar]={kind:An(2)};else{let _i=Ic(Sf(Zi.name))?(gt=eW(Zi))==null?void 0:gt.fileName:void 0,{moduleSpecifier:ui}=(be||(be=ud.createImportSpecifierResolver(r,e,d,s))).getModuleSpecifierForBestExportInfo([{exportKind:0,moduleFileName:_i,isFromPackageJson:!1,moduleSymbol:Zi,symbol:di,targetFlags:Kc(di,m).flags}],o,Pb(le))||{};if(ui){let Mr={kind:An(6),moduleSymbol:Zi,isDefaultExport:!1,symbolName:di.name,exportName:di.name,fileName:_i,moduleSpecifier:ui};Te[Ar]=Mr}}}else if(s.includeCompletionsWithInsertText){if(jn&&ft.has(jn))return;dn(se),Ot(se),_e.push(se)}}else dn(se),Ot(se),_e.push(se);function Ot(Cn){QKe(Cn)&&(De[na(Cn)]=pd.LocalDeclarationPriority)}function dn(Cn){s.includeCompletionsWithInsertText&&(Pe&&Jf(ft,na(Cn))?Te[_e.length]={kind:An(8)}:Ie&&(Te[_e.length]={kind:16}))}function An(Cn){return Ie?Cn|16:Cn}}function en(se){return Me(se)?se:Er(se)?en(se.expression):void 0}function zt(){return(ln()||Tn()||Ki()||ke()||nt()||tt()||Wt()||yt()||ei()||(gi(),1))===1}function Wt(){return Ce(K)?(Ae=5,ce=!0,Ee=4,1):0}function ei(){let se=z(K),Pe=se&&m.getContextualType(se.attributes);if(!Pe)return 0;let Ie=se&&m.getContextualType(se.attributes,4);return _e=ro(_e,te(xY(Pe,Ie,se.attributes,m),se.attributes.properties)),V(),Ae=3,ce=!1,1}function Ki(){return ee?(ce=!0,Ue(),1):0}function gi(){Ee=et(K)?5:1,Ae=1,ce=Jo(),U!==K&&x.assert(!!U,\"Expected 'contextToken' to be defined when different from 'previousToken'.\");let se=U!==K?U.getStart():o,Pe=ni(K,se,r)||r;R=Gn(Pe);let Ie=(he?0:111551)|788968|1920|2097152,gt=U&&!Pb(U);_e=ro(_e,m.getSymbolsInScope(Pe,Ie)),x.assertEachIsDefined(_e,\"getSymbolsInScope() should all be defined\");for(let bt=0;bt<_e.length;bt++){let Ot=_e[bt];if(!m.isArgumentsSymbol(Ot)&&!ct(Ot.declarations,dn=>dn.getSourceFile()===r)&&(De[na(Ot)]=pd.GlobalsOrKeywords),gt&&!(Ot.flags&111551)){let dn=Ot.declarations&&Dr(Ot.declarations,UM);if(dn){let An={kind:64,declaration:dn};Te[bt]=An}}}if(s.includeCompletionsWithInsertText&&Pe.kind!==312){let bt=m.tryGetThisTypeAt(Pe,!1,Kr(Pe.parent)?Pe:void 0);if(bt&&!$Ke(bt,r,m))for(let Ot of RY(bt,m))Te[_e.length]={kind:1},_e.push(Ot),De[na(Ot)]=pd.SuggestedClassMembers}Ue(),he&&(Ee=K&&ES(K.parent)?6:7)}function io(){return ee?!0:s.includeCompletionsForModuleExports?r.externalModuleIndicator||r.commonJsModuleIndicator||sJ(e.getCompilerOptions())?!0:Yse(e):!1}function Gn(se){switch(se.kind){case 312:case 228:case 294:case 241:return!0;default:return Di(se)}}function Nr(){return C||!!ee&&Sb(le.parent)||!cr(K)&&(Gk(K,r,m)||yh(le)||Jt(K))}function cr(se){return se&&(se.kind===114&&(se.parent.kind===186||Wx(se.parent))||se.kind===131&&se.parent.kind===182)}function Jt(se){if(se){let Pe=se.parent.kind;switch(se.kind){case 59:return Pe===172||Pe===171||Pe===169||Pe===260||DA(Pe);case 64:return Pe===265||Pe===168;case 130:return Pe===234;case 30:return Pe===183||Pe===216;case 96:return Pe===168;case 152:return Pe===238}}return!1}function Ue(){var se,Pe;if(!io()||(x.assert(!l?.data,\"Should not run 'collectAutoImports' when faster path is available via `data`\"),l&&!l.source))return;Z|=1;let gt=U===K&&ee?\"\":U&&Me(U)?U.text.toLowerCase():\"\",bt=(se=d.getModuleSpecifierCache)==null?void 0:se.call(d),Ot=rO(r,d,e,s,h),dn=(Pe=d.getPackageJsonAutoImportProvider)==null?void 0:Pe.call(d),An=l?void 0:oP(r,s,d);XCe(\"collectAutoImports\",d,be||(be=ud.createImportSpecifierResolver(r,e,d,s)),e,o,s,!!ee,Pb(le),ti=>{Ot.search(r.path,de,(di,jn)=>{if(!Tp(di,Wa(d.getCompilationSettings()))||!l&&FA(di)||!he&&!ee&&!(jn&111551)||he&&!(jn&790504))return!1;let Ar=di.charCodeAt(0);return de&&(Ar<65||Ar>90)?!1:l?!0:ENe(di,gt)},(di,jn,Ar,Zi)=>{if(l&&!ct(di,ms=>l.source===Sf(ms.moduleSymbol.name))||(di=Cr(di,Cn),!di.length))return;let _i=ti.tryResolve(di,Ar)||{};if(_i===\"failed\")return;let ui=di[0],Mr;_i!==\"skipped\"&&({exportInfo:ui=di[0],moduleSpecifier:Mr}=_i);let lo=ui.exportKind===1,_n=lo&&Ex(ui.symbol)||ui.symbol;Rt(_n,{kind:Mr?32:4,moduleSpecifier:Mr,symbolName:jn,exportMapKey:Zi,exportName:ui.exportKind===2?\"export=\":ui.symbol.name,fileName:ui.moduleFileName,isDefaultExport:lo,moduleSymbol:ui.moduleSymbol,isFromPackageJson:ui.isFromPackageJson})}),Oe=ti.skippedAny(),Z|=ti.resolvedAny()?8:0,Z|=ti.resolvedBeyondLimit()?16:0});function Cn(ti){let di=Vr(ti.moduleSymbol.valueDeclaration,Li);if(!di){let jn=Sf(ti.moduleSymbol.name);return l_.nodeCoreModules.has(jn)&&Ui(jn,\"node:\")!==q3(r,e)?!1:An?An.allowsImportingAmbientModule(ti.moduleSymbol,Le(ti.isFromPackageJson)):!0}return GJ(ti.isFromPackageJson?dn:e,r,di,s,An,Le(ti.isFromPackageJson),bt)}}function Rt(se,Pe){let Ie=na(se);De[Ie]!==pd.GlobalsOrKeywords&&(Te[_e.length]=Pe,De[Ie]=ee?pd.LocationPriority:pd.AutoImportSuggestions,_e.push(se))}function mn(se,Pe){Jn(le)||se.forEach(Ie=>{if(!qr(Ie))return;let gt=AY(Ie,Wa(i),void 0,0,!1);if(!gt)return;let{name:bt}=gt,Ot=NKe(Ie,bt,Pe,e,d,i,s,p);if(!Ot)return;let dn={kind:128,...Ot};Z|=32,Te[_e.length]=dn,_e.push(Ie)})}function qr(se){return!!(se.flags&8196)}function ni(se,Pe,Ie){let gt=se;for(;gt&&!Jq(gt,Pe,Ie);)gt=gt.parent;return gt}function ki(se){let Pe=Is(),Ie=Ea(se)||_t(se)||Ct(se)||so(se)||c6(se);return t(\"getCompletionsAtPosition: isCompletionListBlocker: \"+(Is()-Pe)),Ie}function so(se){if(se.kind===12)return!0;if(se.kind===32&&se.parent){if(le===se.parent&&(le.kind===286||le.kind===285))return!1;if(se.parent.kind===286)return le.parent.kind!==286;if(se.parent.kind===287||se.parent.kind===285)return!!se.parent.parent&&se.parent.parent.kind===284}return!1}function Jo(){if(K){let se=K.parent.kind,Pe=IY(K);switch(Pe){case 28:return se===213||se===176||se===214||se===209||se===226||se===184||se===210;case 21:return se===213||se===176||se===214||se===217||se===196;case 23:return se===209||se===181||se===167;case 144:case 145:case 102:return!0;case 25:return se===267;case 19:return se===263||se===210;case 64:return se===260||se===226;case 16:return se===228;case 17:return se===239;case 134:return se===174||se===304;case 42:return se===174}if(Vz(Pe))return!0}return!1}function Ea(se){return(_j(se)||KG(se))&&(Fk(se,o)||o===se.end&&(!!se.isUnterminated||_j(se)))}function ln(){let se=XKe(K);if(!se)return 0;let Ie=(sI(se.parent)?se.parent:void 0)||se,gt=mNe(Ie,m);if(!gt)return 0;let bt=m.getTypeFromTypeNode(Ie),Ot=RY(gt,m),dn=RY(bt,m),An=new Set;return dn.forEach(Cn=>An.add(Cn.escapedName)),_e=ro(_e,Cr(Ot,Cn=>!An.has(Cn.escapedName))),Ae=0,ce=!0,1}function Tn(){let se=_e.length,Pe=jKe(K,o,r);if(!Pe)return 0;Ae=0;let Ie,gt;if(Pe.kind===210){let bt=ZKe(Pe,m);if(bt===void 0)return Pe.flags&67108864?2:0;let Ot=m.getContextualType(Pe,4),dn=(Ot||bt).getStringIndexType(),An=(Ot||bt).getNumberIndexType();if(ce=!!dn||!!An,Ie=xY(bt,Ot,Pe,m),gt=Pe.properties,Ie.length===0&&!An)return 0}else{x.assert(Pe.kind===206),ce=!1;let bt=Ym(Pe.parent);if(!tx(bt))return x.fail(\"Root declaration is not variable-like.\");let Ot=$v(bt)||!!Jc(bt)||bt.parent.parent.kind===250;if(!Ot&&bt.kind===169&&(lt(bt.parent)?Ot=!!m.getContextualType(bt.parent):(bt.parent.kind===174||bt.parent.kind===178)&&(Ot=lt(bt.parent.parent)&&!!m.getContextualType(bt.parent.parent))),Ot){let dn=m.getTypeAtLocation(Pe);if(!dn)return 2;Ie=m.getPropertiesOfType(dn).filter(An=>m.isPropertyAccessible(Pe,!1,!1,dn,An)),gt=Pe.elements}}if(Ie&&Ie.length>0){let bt=Qt(Ie,x.checkDefined(gt));_e=ro(_e,bt),V(),Pe.kind===210&&s.includeCompletionsWithObjectLiteralMethodSnippets&&s.includeCompletionsWithInsertText&&(St(se),mn(bt,Pe))}return 1}function ke(){if(!K)return 0;let se=K.kind===19||K.kind===28?Vr(K.parent,ZW):I3(K)?Vr(K.parent.parent,ZW):void 0;if(!se)return 0;I3(K)||(Ee=8);let{moduleSpecifier:Pe}=se.kind===275?se.parent.parent:se.parent;if(!Pe)return ce=!0,se.kind===275?2:0;let Ie=m.getSymbolAtLocation(Pe);if(!Ie)return ce=!0,2;Ae=3,ce=!1;let gt=m.getExportsAndPropertiesOfModule(Ie),bt=new Set(se.elements.filter(dn=>!j(dn)).map(dn=>(dn.propertyName||dn.name).escapedText)),Ot=gt.filter(dn=>dn.escapedName!==\"default\"&&!bt.has(dn.escapedName));return _e=ro(_e,Ot),Ot.length||(Ee=0),1}function nt(){if(K===void 0)return 0;let se=K.kind===19||K.kind===28?Vr(K.parent,uI):K.kind===59?Vr(K.parent.parent,uI):void 0;if(se===void 0)return 0;let Pe=new Set(se.elements.map(SF));return _e=Cr(m.getTypeAtLocation(se).getApparentProperties(),Ie=>!Pe.has(Ie.escapedName)),1}function tt(){var se;let Pe=K&&(K.kind===19||K.kind===28)?Vr(K.parent,$p):void 0;if(!Pe)return 0;let Ie=Rn(Pe,hm(Li,Il));return Ae=5,ce=!1,(se=Ie.locals)==null||se.forEach((gt,bt)=>{var Ot,dn;_e.push(gt),(dn=(Ot=Ie.symbol)==null?void 0:Ot.exports)!=null&&dn.has(bt)&&(De[na(gt)]=pd.OptionalMember)}),1}function yt(){let se=KKe(r,K,le,o);if(!se)return 0;if(Ae=3,ce=!0,Ee=K.kind===42?0:Kr(se)?2:3,!Kr(se))return 1;let Pe=K.kind===27?K.parent.parent:K.parent,Ie=xc(Pe)?Wd(Pe):0;if(K.kind===80&&!j(K))switch(K.getText()){case\"private\":Ie=Ie|2;break;case\"static\":Ie=Ie|256;break;case\"override\":Ie=Ie|16;break}if(nl(Pe)&&(Ie|=256),!(Ie&2)){let gt=Kr(se)&&Ie&16?EA(Km(se)):EC(se),bt=ta(gt,Ot=>{let dn=m.getTypeAtLocation(Ot);return Ie&256?dn?.symbol&&m.getPropertiesOfType(m.getTypeOfSymbolAtLocation(dn.symbol,se)):dn&&m.getPropertiesOfType(dn)});_e=ro(_e,M(bt,se.members,Ie)),an(_e,(Ot,dn)=>{let An=Ot?.valueDeclaration;if(An&&xc(An)&&An.name&&Pa(An.name)){let Cn={kind:512,symbolName:m.symbolToString(Ot)};Te[dn]=Cn}})}return 1}function re(se){return!!se.parent&&ao(se.parent)&&ll(se.parent.parent)&&(aC(se.kind)||ng(se))}function Ce(se){if(se){let Pe=se.parent;switch(se.kind){case 21:case 28:return ll(se.parent)?se.parent:void 0;default:if(re(se))return Pe.parent}}}function et(se){if(se){let Pe,Ie=Rn(se.parent,gt=>Kr(gt)?\"quit\":hs(gt)&&Pe===gt.body?!0:(Pe=gt,!1));return Ie&&Ie}}function z(se){if(se){let Pe=se.parent;switch(se.kind){case 32:case 31:case 44:case 80:case 211:case 292:case 291:case 293:if(Pe&&(Pe.kind===285||Pe.kind===286)){if(se.kind===32){let Ie=ec(se.pos,r,void 0);if(!Pe.typeArguments||Ie&&Ie.kind===44)break}return Pe}else if(Pe.kind===291)return Pe.parent.parent;break;case 11:if(Pe&&(Pe.kind===291||Pe.kind===293))return Pe.parent.parent;break;case 20:if(Pe&&Pe.kind===294&&Pe.parent&&Pe.parent.kind===291)return Pe.parent.parent.parent;if(Pe&&Pe.kind===293)return Pe.parent.parent;break}}}function Je(se,Pe){return r.getLineEndOfPosition(se.getEnd())<Pe}function _t(se){let Pe=se.parent,Ie=Pe.kind;switch(se.kind){case 28:return Ie===260||on(se)||Ie===243||Ie===266||it(Ie)||Ie===264||Ie===207||Ie===265||Kr(Pe)&&!!Pe.typeParameters&&Pe.typeParameters.end>=se.pos;case 25:return Ie===207;case 59:return Ie===208;case 23:return Ie===207;case 21:return Ie===299||it(Ie);case 19:return Ie===266;case 30:return Ie===263||Ie===231||Ie===264||Ie===265||DA(Ie);case 126:return Ie===172&&!Kr(Pe.parent);case 26:return Ie===169||!!Pe.parent&&Pe.parent.kind===207;case 125:case 123:case 124:return Ie===169&&!ll(Pe.parent);case 130:return Ie===276||Ie===281||Ie===274;case 139:case 153:return!DY(se);case 80:{if(Ie===276&&se===Pe.name&&se.text===\"type\"||Rn(se.parent,yi)&&Je(se,o))return!1;break}case 86:case 94:case 120:case 100:case 115:case 102:case 121:case 87:case 140:return!0;case 156:return Ie!==276;case 42:return Lo(se.parent)&&!El(se.parent)}if(Vz(IY(se))&&DY(se)||re(se)&&(!Me(se)||aC(IY(se))||j(se)))return!1;switch(IY(se)){case 128:case 86:case 87:case 138:case 94:case 100:case 120:case 121:case 123:case 124:case 125:case 126:case 115:return!0;case 134:return xo(se.parent)}if(Rn(se.parent,Kr)&&se===U&&ze(se,o))return!1;let bt=Db(se.parent,172);if(bt&&se!==U&&Kr(U.parent.parent)&&o<=U.end){if(ze(se,U.end))return!1;if(se.kind!==64&&(uk(bt)||K8(bt)))return!0}return ng(se)&&!xu(se.parent)&&!i_(se.parent)&&!((Kr(se.parent)||Gd(se.parent)||qs(se.parent))&&(se!==U||o>U.end))}function ze(se,Pe){return se.kind!==64&&(se.kind===27||!Jp(se.end,Pe,r))}function it(se){return DA(se)&&se!==176}function Ct(se){if(se.kind===9){let Pe=se.getFullText();return Pe.charAt(Pe.length-1)===\".\"}return!1}function on(se){return se.parent.kind===261&&!Gk(se,r,m)}function Qt(se,Pe){if(Pe.length===0)return se;let Ie=new Set,gt=new Set;for(let Ot of Pe){if(Ot.kind!==303&&Ot.kind!==304&&Ot.kind!==208&&Ot.kind!==174&&Ot.kind!==177&&Ot.kind!==178&&Ot.kind!==305||j(Ot))continue;let dn;if(lv(Ot))Zt(Ot,Ie);else if(Na(Ot)&&Ot.propertyName)Ot.propertyName.kind===80&&(dn=Ot.propertyName.escapedText);else{let An=mo(Ot);dn=An&&Xm(An)?AC(An):void 0}dn!==void 0&&gt.add(dn)}let bt=se.filter(Ot=>!gt.has(Ot.escapedName));return Re(Ie,bt),bt}function Zt(se,Pe){let Ie=se.expression,gt=m.getSymbolAtLocation(Ie),bt=gt&&m.getTypeOfSymbolAtLocation(gt,Ie),Ot=bt&&bt.properties;Ot&&Ot.forEach(dn=>{Pe.add(dn.name)})}function V(){_e.forEach(se=>{if(se.flags&16777216){let Pe=na(se);De[Pe]=De[Pe]??pd.OptionalMember}})}function Re(se,Pe){if(se.size!==0)for(let Ie of Pe)se.has(Ie.name)&&(De[na(Ie)]=pd.MemberDeclaredBySpreadAssignment)}function St(se){for(let Pe=se;Pe<_e.length;Pe++){let Ie=_e[Pe],gt=na(Ie),bt=Te?.[Pe],Ot=Wa(i),dn=AY(Ie,Ot,bt,0,!1);if(dn){let An=De[gt]??pd.LocationPriority,{name:Cn}=dn;De[gt]=pd.ObjectLiteralProperty(An,Cn)}}}function M(se,Pe,Ie){let gt=new Set;for(let bt of Pe){if(bt.kind!==172&&bt.kind!==174&&bt.kind!==177&&bt.kind!==178||j(bt)||zu(bt,2)||zo(bt)!==!!(Ie&256))continue;let Ot=MS(bt.name);Ot&&gt.add(Ot)}return se.filter(bt=>!gt.has(bt.escapedName)&&!!bt.declarations&&!(Kp(bt)&2)&&!(bt.valueDeclaration&&kd(bt.valueDeclaration)))}function te(se,Pe){let Ie=new Set,gt=new Set;for(let Ot of Pe)j(Ot)||(Ot.kind===291?Ie.add(QC(Ot.name)):mI(Ot)&&Zt(Ot,gt));let bt=se.filter(Ot=>!Ie.has(Ot.escapedName));return Re(gt,bt),bt}function j(se){return se.getStart(r)<=o&&o<=se.getEnd()}}function jKe(e,t,r){var i;if(e){let{parent:o}=e;switch(e.kind){case 19:case 28:if(ma(o)||Rf(o))return o;break;case 42:return El(o)?Vr(o.parent,ma):void 0;case 134:return Vr(o.parent,ma);case 80:if(e.text===\"async\"&&xu(e.parent))return e.parent.parent;{if(ma(e.parent.parent)&&(lv(e.parent)||xu(e.parent)&&$a(r,e.getEnd()).line!==$a(r,t).line))return e.parent.parent;let l=Rn(o,Hl);if(l?.getLastToken(r)===e&&ma(l.parent))return l.parent}break;default:if((i=o.parent)!=null&&i.parent&&(El(o.parent)||Ip(o.parent)||Vu(o.parent))&&ma(o.parent.parent))return o.parent.parent;if(lv(o)&&ma(o.parent))return o.parent;let s=Rn(o,Hl);if(e.kind!==59&&s?.getLastToken(r)===e&&ma(s.parent))return s.parent}}}function TY(e,t){let r=ec(e,t);return r&&e<=r.end&&(hh(r)||du(r.kind))?{contextToken:ec(r.getFullStart(),t,void 0),previousToken:r}:{contextToken:r,previousToken:r}}function lNe(e,t,r,i){let o=t.isPackageJsonImport?i.getPackageJsonAutoImportProvider():r,s=o.getTypeChecker(),l=t.ambientModuleName?s.tryFindAmbientModule(t.ambientModuleName):t.fileName?s.getMergedSymbol(x.checkDefined(o.getSourceFile(t.fileName)).symbol):void 0;if(!l)return;let d=t.exportName===\"export=\"?s.resolveExternalModuleSymbol(l):s.tryGetMemberInModuleExportsAndProperties(t.exportName,l);return d?(d=t.exportName===\"default\"&&Ex(d)||d,{symbol:d,origin:MKe(t,e,l)}):void 0}function AY(e,t,r,i,o){if(mKe(r))return;let s=dKe(r)?r.symbolName:e.name;if(s===void 0||e.flags&1536&&gL(s.charCodeAt(0))||WL(e))return;let l={name:s,needsConvertPropertyAccess:!1};if(Tp(s,t,o?1:0)||e.valueDeclaration&&kd(e.valueDeclaration))return l;switch(i){case 3:return epe(r)?{name:r.symbolName,needsConvertPropertyAccess:!1}:void 0;case 0:return{name:JSON.stringify(s),needsConvertPropertyAccess:!1};case 2:case 1:return s.charCodeAt(0)===32?void 0:{name:s,needsConvertPropertyAccess:!0};case 5:case 4:return l;default:x.assertNever(i)}}function cNe(e,t){if(!t)return dNe(e);let r=e+8+1;return jz[r]||(jz[r]=dNe(e).filter(i=>!UKe(LE(i.name))))}function dNe(e){return jz[e]||(jz[e]=mpe().filter(t=>{let r=LE(t.name);switch(e){case 0:return!1;case 1:return pNe(r)||r===138||r===144||r===156||r===145||r===128||$N(r)&&r!==157;case 5:return pNe(r);case 2:return Vz(r);case 3:return uNe(r);case 4:return aC(r);case 6:return $N(r)||r===87;case 7:return $N(r);case 8:return r===156;default:return x.assertNever(e)}}))}function UKe(e){switch(e){case 128:case 133:case 163:case 136:case 138:case 94:case 162:case 119:case 140:case 120:case 142:case 143:case 144:case 145:case 146:case 150:case 151:case 164:case 123:case 124:case 125:case 148:case 154:case 155:case 156:case 158:case 159:return!0;default:return!1}}function uNe(e){return e===148}function Vz(e){switch(e){case 128:case 129:case 137:case 139:case 153:case 134:case 138:case 164:return!0;default:return XG(e)}}function pNe(e){return e===134||e===135||e===160||e===130||e===152||e===156||!MW(e)&&!Vz(e)}function IY(e){return Me(e)?vb(e)??0:e.kind}function HKe(e,t){let r=[];if(e){let i=e.getSourceFile(),o=e.parent,s=i.getLineAndCharacterOfPosition(e.end).line,l=i.getLineAndCharacterOfPosition(t).line;(cc(o)||xl(o)&&o.moduleSpecifier)&&e===o.moduleSpecifier&&s===l&&r.push({name:qo(132),kind:\"keyword\",kindModifiers:\"\",sortText:pd.GlobalsOrKeywords})}return r}function qKe(e,t){return Rn(e,r=>J1(r)&&Wk(r,t)?!0:Sm(r)?\"quit\":!1)}function xY(e,t,r,i){let o=t&&t!==e,s=o&&!(t.flags&3)?i.getUnionType([e,t]):e,l=JKe(s,r,i);return s.isClass()&&fNe(l)?[]:o?Cr(l,d):l;function d(p){return yn(p.declarations)?ct(p.declarations,h=>h.parent!==r):!0}}function JKe(e,t,r){return e.isUnion()?r.getAllPossiblePropertiesOfTypes(Cr(e.types,i=>!(i.flags&402784252||r.isArrayLikeType(i)||r.isTypeInvalidDueToUnionDiscriminant(i,t)||r.typeHasCallOrConstructSignatures(i)||i.isClass()&&fNe(i.getApparentProperties())))):e.getApparentProperties()}function fNe(e){return ct(e,t=>!!(Kp(t)&6))}function RY(e,t){return e.isUnion()?x.checkEachDefined(t.getAllPossiblePropertiesOfTypes(e.types),\"getAllPossiblePropertiesOfTypes() should all be defined\"):x.checkEachDefined(e.getApparentProperties(),\"getApparentProperties() should all be defined\")}function KKe(e,t,r,i){switch(r.kind){case 358:return Vr(r.parent,jA);case 1:let o=Vr(Ns(Fo(r.parent,Li).statements),jA);if(o&&!Ya(o,20,e))return o;break;case 81:if(Vr(r.parent,xo))return Rn(r,Kr);break;case 80:{if(vb(r)||xo(r.parent)&&r.parent.initializer===r)return;if(DY(r))return Rn(r,jA)}}if(t){if(r.kind===137||Me(t)&&xo(t.parent)&&Kr(r))return Rn(t,Kr);switch(t.kind){case 64:return;case 27:case 20:return DY(r)&&r.parent.name===r?r.parent.parent:Vr(r,jA);case 19:case 28:return Vr(t.parent,jA);default:if(jA(r)){if($a(e,t.getEnd()).line!==$a(e,i).line)return r;let o=Kr(t.parent.parent)?Vz:uNe;return o(t.kind)||t.kind===42||Me(t)&&o(vb(t)??0)?t.parent.parent:void 0}return}}}function XKe(e){if(!e)return;let t=e.parent;switch(e.kind){case 19:if(ju(t))return t;break;case 27:case 28:case 80:if(t.kind===171&&ju(t.parent))return t.parent;break}}function mNe(e,t){if(!e)return;if(xi(e)&&X8(e.parent))return t.getTypeArgumentConstraint(e);let r=mNe(e.parent,t);if(r)switch(e.kind){case 171:return t.getTypeOfPropertyOfContextualType(r,e.symbol.escapedName);case 193:case 187:case 192:return r}}function DY(e){return e.parent&&G8(e.parent)&&jA(e.parent.parent)}function YKe(e,t,r,i){switch(t){case\".\":case\"@\":return!0;case'\"':case\"'\":case\"`\":return!!r&&fle(r)&&i===r.getStart(e)+1;case\"#\":return!!r&&Ci(r)&&!!Oc(r);case\"<\":return!!r&&r.kind===30&&(!Zn(r.parent)||_Ne(r.parent));case\"/\":return!!r&&(Ga(r)?!!xL(r):r.kind===44&&l0(r.parent));case\" \":return!!r&&lN(r)&&r.parent.kind===312;default:return x.assertNever(t)}}function _Ne({left:e}){return _l(e)}function $Ke(e,t,r){let i=r.resolveName(\"self\",void 0,111551,!1);if(i&&r.getTypeOfSymbolAtLocation(i,t)===e)return!0;let o=r.resolveName(\"global\",void 0,111551,!1);if(o&&r.getTypeOfSymbolAtLocation(o,t)===e)return!0;let s=r.resolveName(\"globalThis\",void 0,111551,!1);return!!(s&&r.getTypeOfSymbolAtLocation(s,t)===e)}function QKe(e){return!!(e.valueDeclaration&&Wd(e.valueDeclaration)&256&&Kr(e.valueDeclaration.parent))}function ZKe(e,t){let r=t.getContextualType(e);if(r)return r;let i=Zg(e.parent);if(Zn(i)&&i.operatorToken.kind===64&&e===i.left)return t.getTypeAtLocation(i);if(lt(i))return t.getContextualType(i)}function hNe(e,t){var r,i,o;let s,l=!1,d=p();return{isKeywordOnlyCompletion:l,keywordCompletion:s,isNewIdentifierLocation:!!(d||s===156),isTopLevelTypeOnly:!!((i=(r=Vr(d,cc))==null?void 0:r.importClause)!=null&&i.isTypeOnly)||!!((o=Vr(d,Nc))!=null&&o.isTypeOnly),couldBeTypeOnlyImportSpecifier:!!d&&vNe(d,e),replacementSpan:eXe(d)};function p(){let h=e.parent;if(Nc(h)){let m=h.getLastToken(t);if(Me(e)&&m!==e){s=161,l=!0;return}return s=e.kind===156?void 0:156,lpe(h.moduleReference)?h:void 0}if(vNe(h,e)&&yNe(h.parent))return h;if(sg(h)||my(h)){if(!h.parent.isTypeOnly&&(e.kind===19||e.kind===102||e.kind===28)&&(s=156),yNe(h))if(e.kind===20||e.kind===80)l=!0,s=161;else return h.parent.parent;return}if(xl(h)&&e.kind===42||$p(h)&&e.kind===20){l=!0,s=161;return}if(lN(e)&&Li(h))return s=156,e;if(lN(e)&&cc(h))return s=156,lpe(h.moduleSpecifier)?h:void 0}}function eXe(e){var t;if(!e)return;let r=Rn(e,hm(cc,Nc))??e,i=r.getSourceFile();if(WS(r,i))return eu(r,i);x.assert(r.kind!==102&&r.kind!==276);let o=r.kind===272?gNe((t=r.importClause)==null?void 0:t.namedBindings)??r.moduleSpecifier:r.moduleReference,s={pos:r.getFirstToken().getStart(),end:o.pos};if(WS(s,i))return yy(s)}function gNe(e){var t;return Dr((t=Vr(e,sg))==null?void 0:t.elements,r=>{var i;return!r.propertyName&&FA(r.name.text)&&((i=ec(r.name.pos,e.getSourceFile(),e))==null?void 0:i.kind)!==28})}function vNe(e,t){return Iu(e)&&(e.isTypeOnly||t===e.name&&I3(t))}function yNe(e){if(!lpe(e.parent.parent.moduleSpecifier)||e.parent.name)return!1;if(sg(e)){let t=gNe(e);return(t?e.elements.indexOf(t):e.elements.length)<2}return!0}function lpe(e){var t;return _l(e)?!0:!((t=Vr(U_(e)?e.expression:e,Ga))!=null&&t.text)}function tXe(e,t){if(!e)return;let r=Rn(e,o=>VE(o)||bNe(o)||ko(o)?\"quit\":(ao(o)||qs(o))&&!r0(o.parent)),i=Rn(t,o=>VE(o)||bNe(o)||ko(o)?\"quit\":yi(o));return r||i}function bNe(e){return e.parent&&gs(e.parent)&&(e.parent.body===e||e.kind===39)}function cpe(e,t,r=new Map){return i(e)||i(Kc(e.exportSymbol||e,t));function i(o){return!!(o.flags&788968)||t.isUnknownSymbol(o)||!!(o.flags&1536)&&Jf(r,na(o))&&t.getExportsOfModule(o).some(s=>cpe(s,t,r))}}function nXe(e,t){let r=Kc(e,t).declarations;return!!yn(r)&&ji(r,H3)}function ENe(e,t){if(t.length===0)return!0;let r=!1,i,o=0,s=e.length;for(let l=0;l<s;l++){let d=e.charCodeAt(l),p=t.charCodeAt(o);if((d===p||d===rXe(p))&&(r||(r=i===void 0||97<=i&&i<=122&&65<=d&&d<=90||i===95&&d!==95),r&&o++,o===t.length))return!0;i=d}return!1}function rXe(e){return 97<=e&&e<=122?e-32:e}function iXe(e){return e===\"abstract\"||e===\"async\"||e===\"await\"||e===\"declare\"||e===\"module\"||e===\"namespace\"||e===\"type\"}var CY,dpe,pd,upe,ppe,fpe,jz,mpe,oXe=pt({\"src/services/completions.ts\"(){\"use strict\";Hr(),Epe(),CY=100,dpe=1e3,pd={LocalDeclarationPriority:\"10\",LocationPriority:\"11\",OptionalMember:\"12\",MemberDeclaredBySpreadAssignment:\"13\",SuggestedClassMembers:\"14\",GlobalsOrKeywords:\"15\",AutoImportSuggestions:\"16\",ClassMemberSnippets:\"17\",JavascriptIdentifiers:\"18\",Deprecated(e){return\"z\"+e},ObjectLiteralProperty(e,t){return`${e}\\0${t}\\0`},SortBelow(e){return e+\"1\"}},upe=(e=>(e.ThisProperty=\"ThisProperty/\",e.ClassMemberSnippet=\"ClassMemberSnippet/\",e.TypeOnlyAlias=\"TypeOnlyAlias/\",e.ObjectLiteralMethodSnippet=\"ObjectLiteralMethodSnippet/\",e.SwitchCases=\"SwitchCases/\",e.ObjectLiteralMemberWithComma=\"ObjectLiteralMemberWithComma/\",e))(upe||{}),ppe=(e=>(e[e.ThisType=1]=\"ThisType\",e[e.SymbolMember=2]=\"SymbolMember\",e[e.Export=4]=\"Export\",e[e.Promise=8]=\"Promise\",e[e.Nullable=16]=\"Nullable\",e[e.ResolvedExport=32]=\"ResolvedExport\",e[e.TypeOnlyAlias=64]=\"TypeOnlyAlias\",e[e.ObjectLiteralMethod=128]=\"ObjectLiteralMethod\",e[e.Ignore=256]=\"Ignore\",e[e.ComputedPropertyName=512]=\"ComputedPropertyName\",e[e.SymbolMemberNoExport=2]=\"SymbolMemberNoExport\",e[e.SymbolMemberExport=6]=\"SymbolMemberExport\",e))(ppe||{}),fpe=(e=>(e[e.ObjectPropertyDeclaration=0]=\"ObjectPropertyDeclaration\",e[e.Global=1]=\"Global\",e[e.PropertyAccess=2]=\"PropertyAccess\",e[e.MemberLike=3]=\"MemberLike\",e[e.String=4]=\"String\",e[e.None=5]=\"None\",e))(fpe||{}),jz=[],mpe=Kd(()=>{let e=[];for(let t=83;t<=165;t++)e.push({name:qo(t),kind:\"keyword\",kindModifiers:\"\",sortText:pd.GlobalsOrKeywords});return e})}});function _pe(){let e=new Map;function t(r){let i=e.get(r.name);(!i||bpe[i.kind]<bpe[r.kind])&&e.set(r.name,r)}return{add:t,has:e.has.bind(e),values:e.values.bind(e)}}function aXe(e,t,r,i,o,s,l,d,p){if(Kse(e,t)){let h=SXe(e,t,i,o);return h&&SNe(h)}if(RI(e,t,r)){if(!r||!Ga(r))return;let h=ANe(e,r,t,s,o,d);return sXe(h,r,e,o,s,l,i,d,t,p)}}function sXe(e,t,r,i,o,s,l,d,p,h){if(e===void 0)return;let m=rJ(t);switch(e.kind){case 0:return SNe(e.paths);case 1:{let v=eB();return ipe(e.symbols,v,t,t,r,p,r,i,o,99,s,4,d,l,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,h),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:e.hasIndexSignature,optionalReplacementSpan:m,entries:v}}case 2:{let v=t.kind===15?96:Ui(Vl(t),\"'\")?39:34,E=e.types.map(S=>({name:Th(S.value,v),kindModifiers:\"\",kind:\"string\",sortText:pd.LocationPriority,replacementSpan:nJ(t)}));return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:e.isNewIdentifier,optionalReplacementSpan:m,entries:E}}default:return x.assertNever(e)}}function lXe(e,t,r,i,o,s,l,d){if(!i||!Ga(i))return;let p=ANe(t,i,r,o,s,d);return p&&cXe(e,i,p,t,o.getTypeChecker(),l)}function cXe(e,t,r,i,o,s){switch(r.kind){case 0:{let l=Dr(r.paths,d=>d.name===e);return l&&Gz(e,TNe(l.extension),l.kind,[Mp(e)])}case 1:{let l=Dr(r.symbols,d=>d.name===e);return l&&ape(l,l.name,o,i,t,s)}case 2:return Dr(r.types,l=>l.value===e)?Gz(e,\"\",\"string\",[Mp(e)]):void 0;default:return x.assertNever(r)}}function SNe(e){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!0,entries:e.map(({name:o,kind:s,span:l,extension:d})=>({name:o,kind:s,kindModifiers:TNe(d),sortText:pd.LocationPriority,replacementSpan:l}))}}function TNe(e){switch(e){case\".d.ts\":return\".d.ts\";case\".js\":return\".js\";case\".json\":return\".json\";case\".jsx\":return\".jsx\";case\".ts\":return\".ts\";case\".tsx\":return\".tsx\";case\".d.mts\":return\".d.mts\";case\".mjs\":return\".mjs\";case\".mts\":return\".mts\";case\".d.cts\":return\".d.cts\";case\".cjs\":return\".cjs\";case\".cts\":return\".cts\";case\".tsbuildinfo\":return x.fail(\"Extension .tsbuildinfo is unsupported.\");case void 0:return\"\";default:return x.assertNever(e)}}function ANe(e,t,r,i,o,s){let l=i.getTypeChecker(),d=hpe(t.parent);switch(d.kind){case 201:{let S=hpe(d.parent);return S.kind===205?{kind:0,paths:RNe(e,t,i,o,s)}:p(S)}case 303:return ma(d.parent)&&d.name===t?pXe(l,d.parent):h()||h(0);case 212:{let{expression:S,argumentExpression:A}=d;return t===Ka(A)?INe(l.getTypeAtLocation(S)):void 0}case 213:case 214:case 291:if(!xXe(t)&&!lp(d)){let S=OO.getArgumentInfoForCompletions(d.kind===291?d.parent:t,r,e,l);return S&&uXe(S.invocation,t,S,l)||h(0)}case 272:case 278:case 283:return{kind:0,paths:RNe(e,t,i,o,s)};case 296:let m=K3(l,d.parent.clauses),v=h();return v?{kind:2,types:v.types.filter(S=>!m.hasValue(S.value)),isNewIdentifier:!1}:void 0;default:return h()||h(0)}function p(m){switch(m.kind){case 233:case 183:{let S=Rn(d,A=>A.parent===m);return S?{kind:2,types:NY(l.getTypeArgumentConstraint(S)),isNewIdentifier:!1}:void 0}case 199:let{indexType:v,objectType:E}=m;return Wk(v,r)?INe(l.getTypeFromTypeNode(E)):void 0;case 192:{let S=p(hpe(m.parent));if(!S)return;let A=dXe(m,d);return S.kind===1?{kind:1,symbols:S.symbols.filter(C=>!To(A,C.name)),hasIndexSignature:S.hasIndexSignature}:{kind:2,types:S.types.filter(C=>!To(A,C.value)),isNewIdentifier:!1}}default:return}}function h(m=4){let v=NY(O3(t,l,m));if(v.length)return{kind:2,types:v,isNewIdentifier:!1}}}function hpe(e){switch(e.kind){case 196:return PL(e);case 217:return Zg(e);default:return e}}function dXe(e,t){return Fi(e.types,r=>r!==t&&uy(r)&&da(r.literal)?r.literal.text:void 0)}function uXe(e,t,r,i){let o=!1,s=new Map,l=Od(e)?x.checkDefined(Rn(t.parent,i_)):t,d=i.getCandidateSignaturesForStringLiteralCompletions(e,l),p=ta(d,h=>{if(!Td(h)&&r.argumentCount>h.parameters.length)return;let m=h.getTypeParameterAtPosition(r.argumentIndex);if(Od(e)){let v=i.getTypeOfPropertyOfType(m,r2(l.name));v&&(m=v)}return o=o||!!(m.flags&4),NY(m,s)});return yn(p)?{kind:2,types:p,isNewIdentifier:o}:void 0}function INe(e){return e&&{kind:1,symbols:Cr(e.getApparentProperties(),t=>!(t.valueDeclaration&&kd(t.valueDeclaration))),hasIndexSignature:AJ(e)}}function pXe(e,t){let r=e.getContextualType(t);if(!r)return;let i=e.getContextualType(t,4);return{kind:1,symbols:xY(r,i,t,e),hasIndexSignature:AJ(r)}}function NY(e,t=new Map){return e?(e=aJ(e),e.isUnion()?ta(e.types,r=>NY(r,t)):e.isStringLiteral()&&!(e.flags&1024)&&Jf(t,e.value)?[e]:je):je}function fP(e,t,r){return{name:e,kind:t,extension:r}}function gpe(e){return fP(e,\"directory\",void 0)}function xNe(e,t,r){let i=AXe(e,t),o=e.length===0?void 0:qc(t,e.length);return r.map(({name:s,kind:l,extension:d})=>s.includes(Os)||s.includes(DM)?{name:s,kind:l,extension:d,span:o}:{name:s,kind:l,extension:d,span:i})}function RNe(e,t,r,i,o){return xNe(t.text,t.getStart(e)+1,fXe(e,t,r,i,o))}function fXe(e,t,r,i,o){let s=ad(t.text),l=Ga(t)?r.getModeForUsageLocation(e,t):void 0,d=e.path,p=Ur(d),h=r.getCompilerOptions(),m=r.getTypeChecker(),v=vpe(h,1,e,m,o,l);return IXe(s)||!h.baseUrl&&!h.paths&&(Ou(s)||uee(s))?mXe(s,p,h,i,d,v):vXe(s,p,l,h,i,v,m)}function vpe(e,t,r,i,o,s){return{extensionsToSearch:Ff(_Xe(e,i)),referenceKind:t,importingSourceFile:r,endingPreference:o?.importModuleSpecifierEnding,resolutionMode:s}}function mXe(e,t,r,i,o,s){return r.rootDirs?gXe(r.rootDirs,e,t,s,r,i,o):bo(NO(e,t,s,i,!0,o).values())}function _Xe(e,t){let r=t?Fi(t.getAmbientModules(),s=>{let l=s.name.slice(1,-1);if(!(!l.startsWith(\"*.\")||l.includes(\"/\")))return l.slice(1)}):[],i=[...GC(e),r],o=zd(e);return x3(o)?YL(e,i):i}function hXe(e,t,r,i){e=e.map(s=>_c(Yo(Ou(s)?s:wr(t,s))));let o=ml(e,s=>Bf(s,r,t,i)?r.substr(s.length):void 0);return NE([...e.map(s=>wr(s,o)),r].map(s=>fb(s)),pS,gd)}function gXe(e,t,r,i,o,s,l){let d=o.project||s.getCurrentDirectory(),p=!(s.useCaseSensitiveFileNames&&s.useCaseSensitiveFileNames()),h=hXe(e,d,r,p);return NE(ta(h,m=>bo(NO(t,m,i,s,!0,l).values())),(m,v)=>m.name===v.name&&m.kind===v.kind&&m.extension===v.extension)}function NO(e,t,r,i,o,s,l=_pe()){var d;e===void 0&&(e=\"\"),e=ad(e),Jg(e)||(e=Ur(e)),e===\"\"&&(e=\".\"+Os),e=_c(e);let p=jv(t,e),h=Jg(p)?p:Ur(p);if(!o){let S=_le(h,i);if(S){let C=kC(S,i).typesVersions;if(typeof C==\"object\"){let R=(d=X6(C))==null?void 0:d.paths;if(R){let L=Ur(S),G=p.slice(_c(L).length);if(CNe(l,G,L,r,i,R))return l}}}}let m=!(i.useCaseSensitiveFileNames&&i.useCaseSensitiveFileNames());if(!B3(i,h))return l;let v=xJ(i,h,r.extensionsToSearch,void 0,[\"./*\"]);if(v)for(let S of v){if(S=Yo(S),s&&Xh(S,s,t,m)===0)continue;let{name:A,extension:C}=DNe(Ll(S),i.getCompilationSettings(),r,!1);l.add(fP(A,\"script\",C))}let E=z3(i,h);if(E)for(let S of E){let A=Ll(Yo(S));A!==\"@types\"&&l.add(gpe(A))}return l}function DNe(e,t,r,i){let o=h0.tryGetRealFileNameForNonJsDeclarationFileName(e);if(o)return{name:o,extension:og(o)};if(r.referenceKind===0)return{name:e,extension:og(e)};let s=sk({importModuleSpecifierEnding:r.endingPreference},t,r.importingSourceFile).getAllowedEndingsInPreferredOrder(r.resolutionMode);if(i&&(s=s.filter(d=>d!==0&&d!==1)),s[0]===3){if($l(e,l2))return{name:e,extension:og(e)};let d=h0.tryGetJSExtensionForFile(e,t);return d?{name:Nb(e,d),extension:d}:{name:e,extension:og(e)}}if(!i&&(s[0]===0||s[0]===1)&&$l(e,[\".js\",\".jsx\",\".ts\",\".tsx\",\".d.ts\"]))return{name:Yd(e),extension:og(e)};let l=h0.tryGetJSExtensionForFile(e,t);return l?{name:Nb(e,l),extension:l}:{name:e,extension:og(e)}}function CNe(e,t,r,i,o,s){let l=p=>s[p],d=(p,h)=>{let m=xx(p),v=xx(h),E=typeof m==\"object\"?m.prefix.length:p.length,S=typeof v==\"object\"?v.prefix.length:h.length;return Ms(S,E)};return NNe(e,!1,t,r,i,o,fh(s),l,d)}function NNe(e,t,r,i,o,s,l,d,p){let h=[],m;for(let v of l){if(v===\".\")continue;let E=v.replace(/^\\.\\//,\"\"),S=d(v);if(S){let A=xx(E);if(!A)continue;let C=typeof A==\"object\"&&Qw(A,r);C&&(m===void 0||p(v,m)===-1)&&(m=v,h=h.filter(L=>!L.matchedPattern)),(typeof A==\"string\"||m===void 0||p(v,m)!==1)&&h.push({matchedPattern:C,results:yXe(E,S,r,i,o,t&&C,s).map(({name:L,kind:G,extension:U})=>fP(L,G,U))})}}return h.forEach(v=>v.results.forEach(E=>e.add(E))),m!==void 0}function vXe(e,t,r,i,o,s,l){let{baseUrl:d,paths:p}=i,h=_pe(),m=zd(i);if(d){let E=Yo(wr(o.getCurrentDirectory(),d));NO(e,E,s,o,!1,void 0,h)}if(p){let E=zW(i,o);CNe(h,e,E,s,o,p)}let v=MNe(e);for(let E of EXe(e,v,l))h.add(fP(E,\"external module name\",void 0));if(ONe(o,i,t,v,s,h),x3(m)){let E=!1;if(v===void 0)for(let S of TXe(o,t)){let A=fP(S,\"external module name\",void 0);h.has(A.name)||(E=!0,h.add(A))}if(!E){let S=A=>{let C=wr(A,\"node_modules\");B3(o,C)&&NO(e,C,s,o,!1,void 0,h)};if(v&&RF(i)){let A=S;S=C=>{let R=mc(e);R.shift();let L=R.shift();if(!L)return A(C);if(Ui(L,\"@\")){let K=R.shift();if(!K)return A(C);L=wr(L,K)}let G=wr(C,\"node_modules\",L),U=wr(G,\"package.json\");if(eO(o,U)){let F=kC(U,o).exports;if(F){if(typeof F!=\"object\"||F===null)return;let oe=fh(F),W=R.join(\"/\")+(R.length&&Jg(e)?\"/\":\"\"),$=hy(i,r);NNe(h,!0,W,G,s,o,oe,de=>EA(PNe(F[de],$)),NU);return}}return A(C)}}Vf(t,S)}}return bo(h.values())}function PNe(e,t){if(typeof e==\"string\")return e;if(e&&typeof e==\"object\"&&!oo(e)){for(let r in e)if(r===\"default\"||t.includes(r)||ok(t,r)){let i=e[r];return PNe(i,t)}}}function MNe(e){return ype(e)?Jg(e)?e:Ur(e):void 0}function yXe(e,t,r,i,o,s,l){if(!Zs(e,\"*\"))return e.includes(\"*\")?je:h(e,\"script\");let d=e.slice(0,e.length-1),p=fB(r,d);if(p===void 0)return e[e.length-2]===\"/\"?h(d,\"directory\"):ta(t,v=>{var E;return(E=LNe(\"\",i,v,o,s,l))==null?void 0:E.map(({name:S,...A})=>({name:d+S,...A}))});return ta(t,m=>LNe(p,i,m,o,s,l));function h(m,v){return Ui(m,r)?[{name:fb(m),kind:v,extension:void 0}]:je}}function LNe(e,t,r,i,o,s){if(!s.readDirectory)return;let l=xx(r);if(l===void 0||fo(l))return;let d=jv(l.prefix),p=Jg(l.prefix)?d:Ur(d),h=Jg(l.prefix)?\"\":Ll(d),m=ype(e),v=m?Jg(e)?e:Ur(e):void 0,E=m?wr(p,h+v):p,S=Yo(l.suffix),A=S&&FW(\"_\"+S),C=A?[Nb(S,A),S]:[S],R=Yo(wr(t,E)),L=m?R:_c(R)+h,G=S?C.map(oe=>\"**/*\"+oe):[\"./*\"],U=Fi(xJ(s,R,i.extensionsToSearch,void 0,G),oe=>{let W=F(oe);if(W){if(ype(W))return gpe(mc(kNe(W))[1]);let{name:$,extension:de}=DNe(W,s.getCompilationSettings(),i,o);return fP($,\"script\",de)}}),K=S?je:Fi(z3(s,R),oe=>oe===\"node_modules\"?void 0:gpe(oe));return[...U,...K];function F(oe){return ml(C,W=>{let $=bXe(Yo(oe),L,W);return $===void 0?void 0:kNe($)})}}function bXe(e,t,r){return Ui(e,t)&&Zs(e,r)?e.slice(t.length,e.length-r.length):void 0}function kNe(e){return e[0]===Os?e.slice(1):e}function EXe(e,t,r){let o=r.getAmbientModules().map(s=>Sf(s.name)).filter(s=>Ui(s,e)&&!s.includes(\"*\"));if(t!==void 0){let s=_c(t);return o.map(l=>jD(l,s))}return o}function SXe(e,t,r,i){let o=Hi(e,t),s=mh(e.text,o.pos),l=s&&Dr(s,A=>t>=A.pos&&t<=A.end);if(!l)return;let d=e.text.slice(l.pos,t),p=wNe.exec(d);if(!p)return;let[,h,m,v]=p,E=Ur(e.path),S=m===\"path\"?NO(v,E,vpe(r,0,e),i,!0,e.path):m===\"types\"?ONe(i,r,E,MNe(v),vpe(r,1,e)):x.fail();return xNe(v,l.pos+h.length,bo(S.values()))}function ONe(e,t,r,i,o,s=_pe()){let l=new Map,d=G3(()=>RN(t,e))||je;for(let h of d)p(h);for(let h of RJ(r,e)){let m=wr(Ur(h),\"node_modules/@types\");p(m)}return s;function p(h){if(B3(e,h))for(let m of z3(e,h)){let v=ak(m);if(!(t.types&&!To(t.types,v)))if(i===void 0)l.has(v)||(s.add(fP(v,\"external module name\",void 0)),l.set(v,!0));else{let E=wr(h,m),S=xV(i,v,ev(e));S!==void 0&&NO(S,E,o,e,!1,void 0,s)}}}}function TXe(e,t){if(!e.readFile||!e.fileExists)return je;let r=[];for(let i of RJ(t,e)){let o=kC(i,e);for(let s of WNe){let l=o[s];if(l)for(let d in l)rs(l,d)&&!Ui(d,\"@types/\")&&r.push(d)}}return r}function AXe(e,t){let r=Math.max(e.lastIndexOf(Os),e.lastIndexOf(DM)),i=r!==-1?r+1:0,o=e.length-i;return o===0||Tp(e.substr(i,o),99)?void 0:qc(t+i,o)}function IXe(e){if(e&&e.length>=2&&e.charCodeAt(0)===46){let t=e.length>=3&&e.charCodeAt(1)===46?2:1,r=e.charCodeAt(t);return r===47||r===92}return!1}function ype(e){return e.includes(Os)}function xXe(e){return Bo(e.parent)&&Ac(e.parent.arguments)===e&&Me(e.parent.expression)&&e.parent.expression.escapedText===\"require\"}var bpe,wNe,WNe,RXe=pt({\"src/services/stringCompletions.ts\"(){\"use strict\";Soe(),Hr(),Epe(),bpe={directory:0,script:1,\"external module name\":2},wNe=/^(\\/\\/\\/\\s*<reference\\s+(path|types)\\s*=\\s*(?:'|\"))([^\\3\"]*)$/,WNe=[\"dependencies\",\"devDependencies\",\"peerDependencies\",\"optionalDependencies\"]}}),PY={};la(PY,{getStringLiteralCompletionDetails:()=>lXe,getStringLiteralCompletions:()=>aXe});var DXe=pt({\"src/services/_namespaces/ts.Completions.StringCompletions.ts\"(){\"use strict\";RXe()}}),FI={};la(FI,{CompletionKind:()=>fpe,CompletionSource:()=>upe,SortText:()=>pd,StringCompletions:()=>PY,SymbolOriginInfoKind:()=>ppe,createCompletionDetails:()=>Gz,createCompletionDetailsForSymbol:()=>ape,getCompletionEntriesFromSymbols:()=>ipe,getCompletionEntryDetails:()=>WKe,getCompletionEntrySymbol:()=>zKe,getCompletionsAtPosition:()=>_Ke,getPropertiesForObjectExpression:()=>xY,moduleSpecifierResolutionCacheAttemptLimit:()=>dpe,moduleSpecifierResolutionLimit:()=>CY});var Epe=pt({\"src/services/_namespaces/ts.Completions.ts\"(){\"use strict\";oXe(),DXe()}});function Spe(e,t,r,i){let o=MXe(e,r,i);return(s,l,d)=>{let{directImports:p,indirectUsers:h}=CXe(e,t,o,l,r,i);return{indirectUsers:h,...NXe(p,s,l.exportKind,r,d)}}}function CXe(e,t,r,{exportingModuleSymbol:i,exportKind:o},s,l){let d=DI(),p=DI(),h=[],m=!!i.globalExports,v=m?void 0:[];return S(i),{directImports:h,indirectUsers:E()};function E(){if(m)return e;if(i.declarations)for(let U of i.declarations)zE(U)&&t.has(U.getSourceFile().fileName)&&L(U);return v.map(Nn)}function S(U){let K=G(U);if(K){for(let F of K)if(d(F))switch(l&&l.throwIfCancellationRequested(),F.kind){case 213:if(lp(F)){A(F);break}if(!m){let W=F.parent;if(o===2&&W.kind===260){let{name:$}=W;if($.kind===80){h.push($);break}}}break;case 80:break;case 271:R(F,F.name,Wr(F,32),!1);break;case 272:h.push(F);let oe=F.importClause&&F.importClause.namedBindings;oe&&oe.kind===274?R(F,oe.name,!1,!0):!m&&kA(F)&&L(Uz(F));break;case 278:F.exportClause?F.exportClause.kind===280?L(Uz(F),!0):h.push(F):S(WXe(F,s));break;case 205:!m&&F.isTypeOf&&!F.qualifier&&C(F)&&L(F.getSourceFile(),!0),h.push(F);break;default:x.failBadSyntaxKind(F,\"Unexpected import kind.\")}}}function A(U){let K=Rn(U,MY)||U.getSourceFile();L(K,!!C(U,!0))}function C(U,K=!1){return Rn(U,F=>K&&MY(F)?\"quit\":Yf(F)&&ct(F.modifiers,nI))}function R(U,K,F,oe){if(o===2)oe||h.push(U);else if(!m){let W=Uz(U);x.assert(W.kind===312||W.kind===267),F||PXe(W,K,s)?L(W,!0):L(W)}}function L(U,K=!1){if(x.assert(!m),!p(U)||(v.push(U),!K))return;let oe=s.getMergedSymbol(U.symbol);if(!oe)return;x.assert(!!(oe.flags&1536));let W=G(oe);if(W)for(let $ of W)Dh($)||L(Uz($),!0)}function G(U){return r.get(na(U).toString())}}function NXe(e,t,r,i,o){let s=[],l=[];function d(E,S){s.push([E,S])}if(e)for(let E of e)p(E);return{importSearches:s,singleReferences:l};function p(E){if(E.kind===271){Ape(E)&&h(E.name);return}if(E.kind===80){h(E);return}if(E.kind===205){if(E.qualifier){let C=dp(E.qualifier);C.escapedText===$s(t)&&l.push(C)}else r===2&&l.push(E.argument.literal);return}if(E.moduleSpecifier.kind!==11)return;if(E.kind===278){E.exportClause&&$p(E.exportClause)&&m(E.exportClause);return}let{name:S,namedBindings:A}=E.importClause||{name:void 0,namedBindings:void 0};if(A)switch(A.kind){case 274:h(A.name);break;case 275:(r===0||r===1)&&m(A);break;default:x.assertNever(A)}if(S&&(r===1||r===2)&&(!o||S.escapedText===D3(t))){let C=i.getSymbolAtLocation(S);d(S,C)}}function h(E){r===2&&(!o||v(E.escapedText))&&d(E,i.getSymbolAtLocation(E))}function m(E){if(E)for(let S of E.elements){let{name:A,propertyName:C}=S;if(v((C||A).escapedText))if(C)l.push(C),(!o||A.escapedText===t.escapedName)&&d(A,i.getSymbolAtLocation(A));else{let R=S.kind===281&&S.propertyName?i.getExportSpecifierLocalTargetSymbol(S):i.getSymbolAtLocation(A);d(A,R)}}}function v(E){return E===t.escapedName||r!==0&&E===\"default\"}}function PXe(e,t,r){let i=r.getSymbolAtLocation(t);return!!zNe(e,o=>{if(!xl(o))return;let{exportClause:s,moduleSpecifier:l}=o;return!l&&s&&$p(s)&&s.elements.some(d=>r.getExportSpecifierLocalTargetSymbol(d)===i)})}function FNe(e,t,r){var i;let o=[],s=e.getTypeChecker();for(let l of t){let d=r.valueDeclaration;if(d?.kind===312){for(let p of l.referencedFiles)e.getSourceFileFromReference(l,p)===d&&o.push({kind:\"reference\",referencingFile:l,ref:p});for(let p of l.typeReferenceDirectives){let h=(i=e.getResolvedTypeReferenceDirectives().get(p.fileName,p.resolutionMode||l.impliedNodeFormat))==null?void 0:i.resolvedTypeReferenceDirective;h!==void 0&&h.resolvedFileName===d.fileName&&o.push({kind:\"reference\",referencingFile:l,ref:p})}}BNe(l,(p,h)=>{s.getSymbolAtLocation(h)===r&&o.push(xs(p)?{kind:\"implicit\",literal:h,referencingFile:l}:{kind:\"import\",literal:h})})}return o}function MXe(e,t,r){let i=new Map;for(let o of e)r&&r.throwIfCancellationRequested(),BNe(o,(s,l)=>{let d=t.getSymbolAtLocation(l);if(d){let p=na(d).toString(),h=i.get(p);h||i.set(p,h=[]),h.push(s)}});return i}function zNe(e,t){return an(e.kind===312?e.statements:e.body.statements,r=>t(r)||MY(r)&&an(r.body&&r.body.statements,t))}function BNe(e,t){if(e.externalModuleIndicator||e.imports!==void 0)for(let r of e.imports)t(yC(r),r);else zNe(e,r=>{switch(r.kind){case 278:case 272:{let i=r;i.moduleSpecifier&&da(i.moduleSpecifier)&&t(i,i.moduleSpecifier);break}case 271:{let i=r;Ape(i)&&t(i,i.moduleReference.expression);break}}})}function GNe(e,t,r,i){return i?o():o()||s();function o(){var p;let{parent:h}=e,m=h.parent;if(t.exportSymbol)return h.kind===211?(p=t.declarations)!=null&&p.some(S=>S===h)&&Zn(m)?E(m,!1):void 0:l(t.exportSymbol,d(h));{let S=kXe(h,e);if(S&&Wr(S,32))return Nc(S)&&S.moduleReference===e?i?void 0:{kind:0,symbol:r.getSymbolAtLocation(S.name)}:l(t,d(S));if(j_(h))return l(t,0);if(dl(h))return v(h);if(dl(m))return v(m);if(Zn(h))return E(h,!0);if(Zn(m))return E(m,!0);if($S(h)||Dj(h))return l(t,0)}function v(S){if(!S.symbol.parent)return;let A=S.isExportEquals?2:1;return{kind:1,symbol:t,exportInfo:{exportingModuleSymbol:S.symbol.parent,exportKind:A}}}function E(S,A){let C;switch(hl(S)){case 1:C=0;break;case 2:C=2;break;default:return}let R=A?r.getSymbolAtLocation(EV(Fo(S.left,us))):t;return R&&l(R,C)}}function s(){if(!OXe(e))return;let h=r.getImmediateAliasedSymbol(t);if(!h||(h=wXe(h,r),h.escapedName===\"export=\"&&(h=LXe(h,r),h===void 0)))return;let m=D3(h);if(m===void 0||m===\"default\"||m===t.escapedName)return{kind:0,symbol:h}}function l(p,h){let m=Tpe(p,h,r);return m&&{kind:1,symbol:p,exportInfo:m}}function d(p){return Wr(p,2048)?1:0}}function LXe(e,t){var r,i;if(e.flags&2097152)return t.getImmediateAliasedSymbol(e);let o=x.checkDefined(e.valueDeclaration);if(dl(o))return(r=Vr(o.expression,qm))==null?void 0:r.symbol;if(Zn(o))return(i=Vr(o.right,qm))==null?void 0:i.symbol;if(Li(o))return o.symbol}function kXe(e,t){let r=yi(e)?e:Na(e)?B1(e):void 0;return r?e.name!==t||u0(r.parent)?void 0:cl(r.parent.parent)?r.parent.parent:void 0:e}function OXe(e){let{parent:t}=e;switch(t.kind){case 271:return t.name===e&&Ape(t);case 276:return!t.propertyName;case 273:case 274:return x.assert(t.name===e),!0;case 208:return Jn(e)&&jE(t.parent.parent);default:return!1}}function Tpe(e,t,r){let i=e.parent;if(!i)return;let o=r.getMergedSymbol(i);return Uk(o)?{exportingModuleSymbol:o,exportKind:t}:void 0}function wXe(e,t){if(e.declarations)for(let r of e.declarations){if(Ed(r)&&!r.propertyName&&!r.parent.parent.moduleSpecifier)return t.getExportSpecifierLocalTargetSymbol(r)||e;if(Er(r)&&Eh(r.expression)&&!Ci(r.name))return t.getSymbolAtLocation(r);if(xu(r)&&Zn(r.parent.parent)&&hl(r.parent.parent)===2)return t.getExportSpecifierLocalTargetSymbol(r.name)}return e}function WXe(e,t){return t.getMergedSymbol(Uz(e).symbol)}function Uz(e){if(e.kind===213)return e.getSourceFile();let{parent:t}=e;return t.kind===312?t:(x.assert(t.kind===268),Fo(t.parent,MY))}function MY(e){return e.kind===267&&e.name.kind===11}function Ape(e){return e.moduleReference.kind===283&&e.moduleReference.expression.kind===11}var Ipe,xpe,FXe=pt({\"src/services/importTracker.ts\"(){\"use strict\";Hr(),Ipe=(e=>(e[e.Named=0]=\"Named\",e[e.Default=1]=\"Default\",e[e.ExportEquals=2]=\"ExportEquals\",e))(Ipe||{}),xpe=(e=>(e[e.Import=0]=\"Import\",e[e.Export=1]=\"Export\",e))(xpe||{})}});function Mh(e,t=1){return{kind:t,node:e.name||e,context:zXe(e)}}function Rpe(e){return e&&e.kind===void 0}function zXe(e){if(bd(e))return pT(e);if(e.parent){if(!bd(e.parent)&&!dl(e.parent)){if(Jn(e)){let r=Zn(e.parent)?e.parent:us(e.parent)&&Zn(e.parent.parent)&&e.parent.parent.left===e.parent?e.parent.parent:void 0;if(r&&hl(r)!==0)return pT(r)}if(r_(e.parent)||l0(e.parent))return e.parent.parent;if(KS(e.parent)||s0(e.parent)||rC(e.parent))return e.parent;if(Ga(e)){let r=xL(e);if(r){let i=Rn(r,o=>bd(o)||Di(o)||J1(o));return bd(i)?pT(i):i}}let t=Rn(e,Pa);return t?pT(t.parent):void 0}if(e.parent.name===e||ll(e.parent)||dl(e.parent)||(RA(e.parent)||Na(e.parent))&&e.parent.propertyName===e||e.kind===90&&Wr(e.parent,2080))return pT(e.parent)}}function pT(e){if(e)switch(e.kind){case 260:return!yc(e.parent)||e.parent.declarations.length!==1?e:cl(e.parent.parent)?e.parent.parent:H1(e.parent.parent)?pT(e.parent.parent):e.parent;case 208:return pT(e.parent.parent);case 276:return e.parent.parent.parent;case 281:case 274:return e.parent.parent;case 273:case 280:return e.parent;case 226:return Cc(e.parent)?e.parent:e;case 250:case 249:return{start:e.initializer,end:e.expression};case 303:case 304:return pv(e.parent)?pT(Rn(e.parent,t=>Zn(t)||H1(t))):e;case 255:return{start:Dr(e.getChildren(e.getSourceFile()),t=>t.kind===109),end:e.caseBlock};default:return e}}function Dpe(e,t,r){if(!r)return;let i=Rpe(r)?qz(r.start,t,r.end):qz(r,t);return i.start!==e.start||i.length!==e.length?{contextSpan:i}:void 0}function BXe(e,t,r,i,o){let s=pu(i,o),l={use:1},d=zI.getReferencedSymbolsForNode(o,s,e,r,t,l),p=e.getTypeChecker(),h=zI.getAdjustedNode(s,l),m=GXe(h)?p.getSymbolAtLocation(h):void 0;return!d||!d.length?void 0:Fi(d,({definition:v,references:E})=>v&&{definition:p.runWithCancellationToken(t,S=>UXe(v,S,s)),references:E.map(S=>qXe(S,m))})}function GXe(e){return e.kind===90||!!bC(e)||LL(e)||e.kind===137&&ll(e.parent)}function VXe(e,t,r,i,o){let s=pu(i,o),l,d=VNe(e,t,r,s,o);if(s.parent.kind===211||s.parent.kind===208||s.parent.kind===212||s.kind===108)l=d&&[...d];else if(d){let h=mM(d),m=new Map;for(;!h.isEmpty();){let v=h.dequeue();if(!Jf(m,Fa(v.node)))continue;l=pn(l,v);let E=VNe(e,t,r,v.node,v.node.pos);E&&h.enqueue(...E)}}let p=e.getTypeChecker();return nn(l,h=>KXe(h,p))}function VNe(e,t,r,i,o){if(i.kind===312)return;let s=e.getTypeChecker();if(i.parent.kind===304){let l=[];return zI.getReferenceEntriesForShorthandPropertyAssignment(i,s,d=>l.push(Mh(d))),l}else if(i.kind===108||cu(i.parent)){let l=s.getSymbolAtLocation(i);return l.valueDeclaration&&[Mh(l.valueDeclaration)]}else return jNe(o,i,e,r,t,{implementations:!0,use:1})}function jXe(e,t,r,i,o,s,l){return nn(UNe(zI.getReferencedSymbolsForNode(o,i,e,r,t,s)),d=>l(d,i,e.getTypeChecker()))}function jNe(e,t,r,i,o,s={},l=new Set(i.map(d=>d.fileName))){return UNe(zI.getReferencedSymbolsForNode(e,t,r,i,o,s,l))}function UNe(e){return e&&ta(e,t=>t.references)}function UXe(e,t,r){let i=(()=>{switch(e.type){case 0:{let{symbol:m}=e,{displayParts:v,kind:E}=HNe(m,t,r),S=v.map(R=>R.text).join(\"\"),A=m.declarations&&Ac(m.declarations),C=A?mo(A)||A:r;return{...Hz(C),name:S,kind:E,displayParts:v,context:pT(A)}}case 1:{let{node:m}=e;return{...Hz(m),name:m.text,kind:\"label\",displayParts:[Ru(m.text,17)]}}case 2:{let{node:m}=e,v=qo(m.kind);return{...Hz(m),name:v,kind:\"keyword\",displayParts:[{text:v,kind:\"keyword\"}]}}case 3:{let{node:m}=e,v=t.getSymbolAtLocation(m),E=v&&gv.getSymbolDisplayPartsDocumentationAndSymbolKind(t,v,m.getSourceFile(),sT(m),m).displayParts||[Mp(\"this\")];return{...Hz(m),name:\"this\",kind:\"var\",displayParts:E}}case 4:{let{node:m}=e;return{...Hz(m),name:m.text,kind:\"var\",displayParts:[Ru(Vl(m),8)]}}case 5:return{textSpan:yy(e.reference),sourceFile:e.file,name:e.reference.fileName,kind:\"string\",displayParts:[Ru(`\"${e.reference.fileName}\"`,8)]};default:return x.assertNever(e)}})(),{sourceFile:o,textSpan:s,name:l,kind:d,displayParts:p,context:h}=i;return{containerKind:\"\",containerName:\"\",fileName:o.fileName,kind:d,name:l,textSpan:s,displayParts:p,...Dpe(s,o,h)}}function Hz(e){let t=e.getSourceFile();return{sourceFile:t,textSpan:qz(Pa(e)?e.expression:e,t)}}function HNe(e,t,r){let i=zI.getIntersectingMeaningFromDeclarations(r,e),o=e.declarations&&Ac(e.declarations)||r,{displayParts:s,symbolKind:l}=gv.getSymbolDisplayPartsDocumentationAndSymbolKind(t,e,o.getSourceFile(),o,o,i);return{displayParts:s,kind:l}}function HXe(e,t,r,i,o){return{...LY(e),...i&&JXe(e,t,r,o)}}function qXe(e,t){let r=qNe(e);return t?{...r,isDefinition:e.kind!==0&&JNe(e.node,t)}:r}function qNe(e){let t=LY(e);if(e.kind===0)return{...t,isWriteAccess:!1};let{kind:r,node:i}=e;return{...t,isWriteAccess:Npe(i),isInString:r===2?!0:void 0}}function LY(e){if(e.kind===0)return{textSpan:e.textSpan,fileName:e.fileName};{let t=e.node.getSourceFile(),r=qz(e.node,t);return{textSpan:r,fileName:t.fileName,...Dpe(r,t,e.context)}}}function JXe(e,t,r,i){if(e.kind!==0&&Me(t)){let{node:o,kind:s}=e,l=o.parent,d=t.text,p=xu(l);if(p||Jk(l)&&l.name===o&&l.dotDotDotToken===void 0){let h={prefixText:d+\": \"},m={suffixText:\": \"+d};if(s===3)return h;if(s===4)return m;if(p){let v=l.parent;return ma(v)&&Zn(v.parent)&&Eh(v.parent.left)?h:m}else return h}else if(Iu(l)&&!l.propertyName){let h=Ed(t.parent)?r.getExportSpecifierLocalTargetSymbol(t.parent):r.getSymbolAtLocation(t);return To(h.declarations,l)?{prefixText:d+\" as \"}:ef}else if(Ed(l)&&!l.propertyName)return t===e.node||r.getSymbolAtLocation(t)===r.getSymbolAtLocation(e.node)?{prefixText:d+\" as \"}:{suffixText:\" as \"+d}}if(e.kind!==0&&Bu(e.node)&&us(e.node.parent)){let o=dJ(i);return{prefixText:o,suffixText:o}}return ef}function KXe(e,t){let r=LY(e);if(e.kind!==0){let{node:i}=e;return{...r,...XXe(i,t)}}else return{...r,kind:\"\",displayParts:[]}}function XXe(e,t){let r=t.getSymbolAtLocation(bd(e)&&e.name?e.name:e);return r?HNe(r,t,e):e.kind===210?{kind:\"interface\",displayParts:[Ad(21),Mp(\"object literal\"),Ad(22)]}:e.kind===231?{kind:\"local class\",displayParts:[Ad(21),Mp(\"anonymous local class\"),Ad(22)]}:{kind:E0(e),displayParts:[]}}function YXe(e){let t=LY(e);if(e.kind===0)return{fileName:t.fileName,span:{textSpan:t.textSpan,kind:\"reference\"}};let r=Npe(e.node),i={textSpan:t.textSpan,kind:r?\"writtenReference\":\"reference\",isInString:e.kind===2?!0:void 0,...t.contextSpan&&{contextSpan:t.contextSpan}};return{fileName:t.fileName,span:i}}function qz(e,t,r){let i=e.getStart(t),o=(r||e).getEnd();return Ga(e)&&o-i>2&&(x.assert(r===void 0),i+=1,o-=1),r?.kind===269&&(o=r.getFullStart()),Gl(i,o)}function Cpe(e){return e.kind===0?e.textSpan:qz(e.node,e.node.getSourceFile())}function Npe(e){let t=bC(e);return!!t&&$Xe(t)||e.kind===90||VA(e)}function JNe(e,t){var r;if(!t)return!1;let i=bC(e)||(e.kind===90?e.parent:LL(e)||e.kind===137&&ll(e.parent)?e.parent.parent:void 0),o=i&&Zn(i)?i.left:void 0;return!!(i&&((r=t.declarations)!=null&&r.some(s=>s===i||s===o)))}function $Xe(e){if(e.flags&33554432)return!0;switch(e.kind){case 226:case 208:case 263:case 231:case 90:case 266:case 306:case 281:case 273:case 271:case 276:case 264:case 345:case 353:case 291:case 267:case 270:case 274:case 280:case 169:case 304:case 265:case 168:return!0;case 303:return!pv(e.parent);case 262:case 218:case 176:case 174:case 177:case 178:return!!e.body;case 260:case 172:return!!e.initializer||u0(e.parent);case 173:case 171:case 355:case 348:return!1;default:return x.failBadSyntaxKind(e)}}var Ppe,Mpe,Lpe,zI,QXe=pt({\"src/services/findAllReferences.ts\"(){\"use strict\";Hr(),kpe(),Ppe=(e=>(e[e.Symbol=0]=\"Symbol\",e[e.Label=1]=\"Label\",e[e.Keyword=2]=\"Keyword\",e[e.This=3]=\"This\",e[e.String=4]=\"String\",e[e.TripleSlashReference=5]=\"TripleSlashReference\",e))(Ppe||{}),Mpe=(e=>(e[e.Span=0]=\"Span\",e[e.Node=1]=\"Node\",e[e.StringLiteral=2]=\"StringLiteral\",e[e.SearchedLocalFoundProperty=3]=\"SearchedLocalFoundProperty\",e[e.SearchedPropertyFoundLocal=4]=\"SearchedPropertyFoundLocal\",e))(Mpe||{}),Lpe=(e=>(e[e.Other=0]=\"Other\",e[e.References=1]=\"References\",e[e.Rename=2]=\"Rename\",e))(Lpe||{}),(e=>{function t(ke,nt,tt,yt,re,Ce={},et=new Set(yt.map(z=>z.fileName))){var z,Je;if(nt=r(nt,Ce),Li(nt)){let Zt=LR.getReferenceAtPosition(nt,ke,tt);if(!Zt?.file)return;let V=tt.getTypeChecker().getMergedSymbol(Zt.file.symbol);if(V)return h(tt,V,!1,yt,et);let Re=tt.getFileIncludeReasons();return Re?[{definition:{type:5,reference:Zt.reference,file:nt},references:o(Zt.file,Re,tt)||je}]:void 0}if(!Ce.implementations){let Zt=v(nt,yt,re);if(Zt)return Zt}let _t=tt.getTypeChecker(),ze=_t.getSymbolAtLocation(ll(nt)&&nt.parent.name||nt);if(!ze){if(!Ce.implementations&&Ga(nt)){if(C3(nt)){let Zt=tt.getFileIncludeReasons(),V=(Je=(z=tt.getResolvedModuleFromModuleSpecifier(nt))==null?void 0:z.resolvedModule)==null?void 0:Je.resolvedFileName,Re=V?tt.getSourceFile(V):void 0;if(Re)return[{definition:{type:4,node:nt},references:o(Re,Zt,tt)||je}]}return Nr(nt,yt,_t,re)}return}if(ze.escapedName===\"export=\")return h(tt,ze.parent,!1,yt,et);let it=l(ze,tt,yt,re,Ce,et);if(it&&!(ze.flags&33554432))return it;let Ct=s(nt,ze,_t),on=Ct&&l(Ct,tt,yt,re,Ce,et),Qt=E(ze,nt,yt,et,_t,re,Ce);return d(tt,it,Qt,on)}e.getReferencedSymbolsForNode=t;function r(ke,nt){return nt.use===1?ke=Xq(ke):nt.use===2&&(ke=g3(ke)),ke}e.getAdjustedNode=r;function i(ke,nt,tt,yt=new Set(tt.map(re=>re.fileName))){var re,Ce;let et=(re=nt.getSourceFile(ke))==null?void 0:re.symbol;if(et)return((Ce=h(nt,et,!1,tt,yt)[0])==null?void 0:Ce.references)||je;let z=nt.getFileIncludeReasons(),Je=nt.getSourceFile(ke);return Je&&z&&o(Je,z,nt)||je}e.getReferencesForFileName=i;function o(ke,nt,tt){let yt,re=nt.get(ke.path)||je;for(let Ce of re)if(jb(Ce)){let et=tt.getSourceFileByPath(Ce.file),z=jN(tt,Ce);aR(z)&&(yt=pn(yt,{kind:0,fileName:et.fileName,textSpan:yy(z)}))}return yt}function s(ke,nt,tt){if(ke.parent&&D2(ke.parent)){let yt=tt.getAliasedSymbol(nt),re=tt.getMergedSymbol(yt);if(yt!==re)return re}}function l(ke,nt,tt,yt,re,Ce){let et=ke.flags&1536&&ke.declarations&&Dr(ke.declarations,Li);if(!et)return;let z=ke.exports.get(\"export=\"),Je=h(nt,ke,!!z,tt,Ce);if(!z||!Ce.has(et.fileName))return Je;let _t=nt.getTypeChecker();return ke=Kc(z,_t),d(nt,Je,E(ke,void 0,tt,Ce,_t,yt,re))}function d(ke,...nt){let tt;for(let yt of nt)if(!(!yt||!yt.length)){if(!tt){tt=yt;continue}for(let re of yt){if(!re.definition||re.definition.type!==0){tt.push(re);continue}let Ce=re.definition.symbol,et=Tl(tt,Je=>!!Je.definition&&Je.definition.type===0&&Je.definition.symbol===Ce);if(et===-1){tt.push(re);continue}let z=tt[et];tt[et]={definition:z.definition,references:z.references.concat(re.references).sort((Je,_t)=>{let ze=p(ke,Je),it=p(ke,_t);if(ze!==it)return Ms(ze,it);let Ct=Cpe(Je),on=Cpe(_t);return Ct.start!==on.start?Ms(Ct.start,on.start):Ms(Ct.length,on.length)})}}}return tt}function p(ke,nt){let tt=nt.kind===0?ke.getSourceFile(nt.fileName):nt.node.getSourceFile();return ke.getSourceFiles().indexOf(tt)}function h(ke,nt,tt,yt,re){x.assert(!!nt.valueDeclaration);let Ce=Fi(FNe(ke,yt,nt),z=>{if(z.kind===\"import\"){let Je=z.literal.parent;if(uy(Je)){let _t=Fo(Je.parent,Dh);if(tt&&!_t.qualifier)return}return Mh(z.literal)}else if(z.kind===\"implicit\"){let Je=z.literal.text!==ay&&EN(z.referencingFile,_t=>_t.transformFlags&2?Ch(_t)||KS(_t)||c0(_t)?_t:void 0:\"skip\")||z.referencingFile.statements[0]||z.referencingFile;return Mh(Je)}else return{kind:0,fileName:z.referencingFile.fileName,textSpan:yy(z.ref)}});if(nt.declarations)for(let z of nt.declarations)switch(z.kind){case 312:break;case 267:re.has(z.getSourceFile().fileName)&&Ce.push(Mh(z.name));break;default:x.assert(!!(nt.flags&33554432),\"Expected a module symbol to be declared by a SourceFile or ModuleDeclaration.\")}let et=nt.exports.get(\"export=\");if(et?.declarations)for(let z of et.declarations){let Je=z.getSourceFile();if(re.has(Je.fileName)){let _t=Zn(z)&&Er(z.left)?z.left.expression:dl(z)?x.checkDefined(Ya(z,95,Je)):mo(z)||z;Ce.push(Mh(_t))}}return Ce.length?[{definition:{type:0,symbol:nt},references:Ce}]:je}function m(ke){return ke.kind===148&&jS(ke.parent)&&ke.parent.operator===148}function v(ke,nt,tt){if($N(ke.kind))return ke.kind===116&&cI(ke.parent)||ke.kind===148&&!m(ke)?void 0:Ae(nt,ke.kind,tt,ke.kind===148?m:void 0);if(ex(ke.parent)&&ke.parent.name===ke)return pe(nt,tt);if(rI(ke)&&nl(ke.parent))return[{definition:{type:2,node:ke},references:[Mh(ke)]}];if(wk(ke)){let yt=u3(ke.parent,ke.text);return yt&&ce(yt.parent,yt)}else if(Bq(ke))return ce(ke.parent,ke);if(mR(ke))return Gn(ke,nt,tt);if(ke.kind===108)return gi(ke)}function E(ke,nt,tt,yt,re,Ce,et){let z=nt&&C(ke,nt,re,!Tn(et))||ke,Je=nt?ni(nt,z):7,_t=[],ze=new G(tt,yt,nt?A(nt):0,re,Ce,Je,et,_t),it=!Tn(et)||!z.declarations?void 0:Dr(z.declarations,Ed);if(it)ft(it.name,z,it,ze.createSearch(nt,ke,void 0),ze,!0,!0);else if(nt&&nt.kind===90&&z.escapedName===\"default\"&&z.parent)st(nt,z,ze),U(nt,z,{exportingModuleSymbol:z.parent,exportKind:1},ze);else{let Ct=ze.createSearch(nt,z,void 0,{allSearchSymbols:nt?Jt(z,nt,re,et.use===2,!!et.providePrefixAndSuffixTextForRename,!!et.implementations):[z]});S(z,ze,Ct)}return _t}function S(ke,nt,tt){let yt=de(ke);if(yt)_e(yt,yt.getSourceFile(),tt,nt,!(Li(yt)&&!To(nt.sourceFiles,yt)));else for(let re of nt.sourceFiles)nt.cancellationToken.throwIfCancellationRequested(),W(re,tt,nt)}function A(ke){switch(ke.kind){case 176:case 137:return 1;case 80:if(Kr(ke.parent))return x.assert(ke.parent.name===ke),2;default:return 0}}function C(ke,nt,tt,yt){let{parent:re}=nt;return Ed(re)&&yt?he(nt,ke,re,tt):ml(ke.declarations,Ce=>{if(!Ce.parent){if(ke.flags&33554432)return;x.fail(`Unexpected symbol at ${x.formatSyntaxKind(nt.kind)}: ${x.formatSymbol(ke)}`)}return ju(Ce.parent)&&dy(Ce.parent.parent)?tt.getPropertyOfType(tt.getTypeFromTypeNode(Ce.parent.parent),ke.name):void 0})}let R;(ke=>{ke[ke.None=0]=\"None\",ke[ke.Constructor=1]=\"Constructor\",ke[ke.Class=2]=\"Class\"})(R||(R={}));function L(ke){if(!(ke.flags&33555968))return;let nt=ke.declarations&&Dr(ke.declarations,tt=>!Li(tt)&&!Il(tt));return nt&&nt.symbol}class G{constructor(nt,tt,yt,re,Ce,et,z,Je){this.sourceFiles=nt,this.sourceFilesSet=tt,this.specialSearchKind=yt,this.checker=re,this.cancellationToken=Ce,this.searchMeaning=et,this.options=z,this.result=Je,this.inheritsFromCache=new Map,this.markSeenContainingTypeReference=DI(),this.markSeenReExportRHS=DI(),this.symbolIdToReferences=[],this.sourceFileToSeenSymbols=[]}includesSourceFile(nt){return this.sourceFilesSet.has(nt.fileName)}getImportSearches(nt,tt){return this.importTracker||(this.importTracker=Spe(this.sourceFiles,this.sourceFilesSet,this.checker,this.cancellationToken)),this.importTracker(nt,tt,this.options.use===2)}createSearch(nt,tt,yt,re={}){let{text:Ce=Sf($s(Ex(tt)||L(tt)||tt)),allSearchSymbols:et=[tt]}=re,z=Hs(Ce),Je=this.options.implementations&&nt?ln(nt,tt,this.checker):void 0;return{symbol:tt,comingFrom:yt,text:Ce,escapedText:z,parents:Je,allSearchSymbols:et,includes:_t=>To(et,_t)}}referenceAdder(nt){let tt=na(nt),yt=this.symbolIdToReferences[tt];return yt||(yt=this.symbolIdToReferences[tt]=[],this.result.push({definition:{type:0,symbol:nt},references:yt})),(re,Ce)=>yt.push(Mh(re,Ce))}addStringOrCommentReference(nt,tt){this.result.push({definition:void 0,references:[{kind:0,fileName:nt,textSpan:tt}]})}markSearchedSymbols(nt,tt){let yt=Fa(nt),re=this.sourceFileToSeenSymbols[yt]||(this.sourceFileToSeenSymbols[yt]=new Set),Ce=!1;for(let et of tt)Ce=db(re,na(et))||Ce;return Ce}}function U(ke,nt,tt,yt){let{importSearches:re,singleReferences:Ce,indirectUsers:et}=yt.getImportSearches(nt,tt);if(Ce.length){let z=yt.referenceAdder(nt);for(let Je of Ce)F(Je,yt)&&z(Je)}for(let[z,Je]of re)Oe(z.getSourceFile(),yt.createSearch(z,Je,1),yt);if(et.length){let z;switch(tt.exportKind){case 0:z=yt.createSearch(ke,nt,1);break;case 1:z=yt.options.use===2?void 0:yt.createSearch(ke,nt,1,{text:\"default\"});break;case 2:break}if(z)for(let Je of et)W(Je,z,yt)}}function K(ke,nt,tt,yt,re,Ce,et,z){let Je=Spe(ke,new Set(ke.map(Ct=>Ct.fileName)),nt,tt),{importSearches:_t,indirectUsers:ze,singleReferences:it}=Je(yt,{exportKind:et?1:0,exportingModuleSymbol:re},!1);for(let[Ct]of _t)z(Ct);for(let Ct of it)Me(Ct)&&Dh(Ct.parent)&&z(Ct);for(let Ct of ze)for(let on of le(Ct,et?\"default\":Ce)){let Qt=nt.getSymbolAtLocation(on),Zt=ct(Qt?.declarations,V=>!!Vr(V,dl));Me(on)&&!RA(on.parent)&&(Qt===yt||Zt)&&z(on)}}e.eachExportReference=K;function F(ke,nt){return be(ke,nt)?nt.options.use!==2?!0:Me(ke)?!(RA(ke.parent)&&ke.escapedText===\"default\"):!1:!1}function oe(ke,nt){if(ke.declarations)for(let tt of ke.declarations){let yt=tt.getSourceFile();Oe(yt,nt.createSearch(tt,ke,0),nt,nt.includesSourceFile(yt))}}function W(ke,nt,tt){WK(ke).get(nt.escapedText)!==void 0&&Oe(ke,nt,tt)}function $(ke,nt){return pv(ke.parent.parent)?nt.getPropertySymbolOfDestructuringAssignment(ke):void 0}function de(ke){let{declarations:nt,flags:tt,parent:yt,valueDeclaration:re}=ke;if(re&&(re.kind===218||re.kind===231))return re;if(!nt)return;if(tt&8196){let z=Dr(nt,Je=>zu(Je,2)||kd(Je));return z?Db(z,263):void 0}if(nt.some(Jk))return;let Ce=yt&&!(ke.flags&262144);if(Ce&&!(Uk(yt)&&!yt.globalExports))return;let et;for(let z of nt){let Je=sT(z);if(et&&et!==Je||!Je||Je.kind===312&&!sp(Je))return;if(et=Je,ps(et)){let _t;for(;_t=F9(et);)et=_t}}return Ce?et.getSourceFile():et}function fe(ke,nt,tt,yt=tt){return q(ke,nt,tt,()=>!0,yt)||!1}e.isSymbolReferencedInFile=fe;function q(ke,nt,tt,yt,re=tt){let Ce=wu(ke.parent,ke.parent.parent)?Ta(nt.getSymbolsOfParameterPropertyDeclaration(ke.parent,ke.text)):nt.getSymbolAtLocation(ke);if(Ce)for(let et of le(tt,Ce.name,re)){if(!Me(et)||et===ke||et.escapedText!==ke.escapedText)continue;let z=nt.getSymbolAtLocation(et);if(z===Ce||nt.getShorthandAssignmentValueSymbol(et.parent)===Ce||Ed(et.parent)&&he(et,z,et.parent,nt)===Ce){let Je=yt(et);if(Je)return Je}}}e.eachSymbolReferenceInFile=q;function H(ke,nt){return Cr(le(nt,ke),re=>!!bC(re)).reduce((re,Ce)=>{let et=yt(Ce);return!ct(re.declarationNames)||et===re.depth?(re.declarationNames.push(Ce),re.depth=et):et<re.depth&&(re.declarationNames=[Ce],re.depth=et),re},{depth:1/0,declarationNames:[]}).declarationNames;function yt(re){let Ce=0;for(;re;)re=sT(re),Ce++;return Ce}}e.getTopMostDeclarationNamesInFile=H;function ee(ke,nt,tt,yt){if(!ke.name||!Me(ke.name))return!1;let re=x.checkDefined(tt.getSymbolAtLocation(ke.name));for(let Ce of nt)for(let et of le(Ce,re.name)){if(!Me(et)||et===ke.name||et.escapedText!==ke.name.escapedText)continue;let z=d3(et),Je=Bo(z.parent)&&z.parent.expression===z?z.parent:void 0,_t=tt.getSymbolAtLocation(et);if(_t&&tt.getRootSymbols(_t).some(ze=>ze===re)&&yt(et,Je))return!0}return!1}e.someSignatureUsage=ee;function le(ke,nt,tt=ke){return Fi(Ee(ke,nt,tt),yt=>{let re=pu(ke,yt);return re===ke?void 0:re})}function Ee(ke,nt,tt=ke){let yt=[];if(!nt||!nt.length)return yt;let re=ke.text,Ce=re.length,et=nt.length,z=re.indexOf(nt,tt.pos);for(;z>=0&&!(z>tt.end);){let Je=z+et;(z===0||!_b(re.charCodeAt(z-1),99))&&(Je===Ce||!_b(re.charCodeAt(Je),99))&&yt.push(z),z=re.indexOf(nt,z+et+1)}return yt}function ce(ke,nt){let tt=ke.getSourceFile(),yt=nt.text,re=Fi(le(tt,yt,ke),Ce=>Ce===nt||wk(Ce)&&u3(Ce,yt)===nt?Mh(Ce):void 0);return[{definition:{type:1,node:nt},references:re}]}function Z(ke,nt){switch(ke.kind){case 81:if(Ob(ke.parent))return!0;case 80:return ke.text.length===nt.length;case 15:case 11:{let tt=ke;return(p3(tt)||Uq(ke)||Ose(ke)||Bo(ke.parent)&&CS(ke.parent)&&ke.parent.arguments[1]===ke)&&tt.text.length===nt.length}case 9:return p3(ke)&&ke.text.length===nt.length;case 90:return nt.length===7;default:return!1}}function pe(ke,nt){let tt=ta(ke,yt=>(nt.throwIfCancellationRequested(),Fi(le(yt,\"meta\",yt),re=>{let Ce=re.parent;if(ex(Ce))return Mh(Ce)})));return tt.length?[{definition:{type:2,node:tt[0].node},references:tt}]:void 0}function Ae(ke,nt,tt,yt){let re=ta(ke,Ce=>(tt.throwIfCancellationRequested(),Fi(le(Ce,qo(nt),Ce),et=>{if(et.kind===nt&&(!yt||yt(et)))return Mh(et)})));return re.length?[{definition:{type:2,node:re[0].node},references:re}]:void 0}function Oe(ke,nt,tt,yt=!0){return tt.cancellationToken.throwIfCancellationRequested(),_e(ke,ke,nt,tt,yt)}function _e(ke,nt,tt,yt,re){if(yt.markSearchedSymbols(nt,tt.allSearchSymbols))for(let Ce of Ee(nt,tt.text,ke))Te(nt,Ce,tt,yt,re)}function be(ke,nt){return!!(aT(ke)&nt.searchMeaning)}function Te(ke,nt,tt,yt,re){let Ce=pu(ke,nt);if(!Z(Ce,tt.text)){!yt.options.implementations&&(yt.options.findInStrings&&RI(ke,nt)||yt.options.findInComments&&Xse(ke,nt))&&yt.addStringOrCommentReference(ke.fileName,qc(nt,tt.text.length));return}if(!be(Ce,yt))return;let et=yt.checker.getSymbolAtLocation(Ce);if(!et)return;let z=Ce.parent;if(Iu(z)&&z.propertyName===Ce)return;if(Ed(z)){x.assert(Ce.kind===80),ft(Ce,et,z,tt,yt,re);return}if(iC(z)&&z.isNameFirst&&z.typeExpression&&YS(z.typeExpression.type)&&z.typeExpression.type.jsDocPropertyTags&&yn(z.typeExpression.type.jsDocPropertyTags)){De(z.typeExpression.type.jsDocPropertyTags,Ce,tt,yt);return}let Je=qr(tt,et,Ce,yt);if(!Je){Dt(et,tt,yt);return}switch(yt.specialSearchKind){case 0:re&&st(Ce,Je,yt);break;case 1:Ge(Ce,ke,tt,yt);break;case 2:ot(Ce,tt,yt);break;default:x.assertNever(yt.specialSearchKind)}Jn(Ce)&&Na(Ce.parent)&&jE(Ce.parent.parent.parent)&&(et=Ce.parent.symbol,!et)||Ke(Ce,et,tt,yt)}function De(ke,nt,tt,yt){let re=yt.referenceAdder(tt.symbol);st(nt,tt.symbol,yt),an(ke,Ce=>{$d(Ce.name)&&re(Ce.name.left)})}function ft(ke,nt,tt,yt,re,Ce,et){x.assert(!et||!!re.options.providePrefixAndSuffixTextForRename,\"If alwaysGetReferences is true, then prefix/suffix text must be enabled\");let{parent:z,propertyName:Je,name:_t}=tt,ze=z.parent,it=he(ke,nt,tt,re.checker);if(!et&&!yt.includes(it))return;if(Je?ke===Je?(ze.moduleSpecifier||Ct(),Ce&&re.options.use!==2&&re.markSeenReExportRHS(_t)&&st(_t,x.checkDefined(tt.symbol),re)):re.markSeenReExportRHS(ke)&&Ct():re.options.use===2&&_t.escapedText===\"default\"||Ct(),!Tn(re.options)||et){let Qt=ke.escapedText===\"default\"||tt.name.escapedText===\"default\"?1:0,Zt=x.checkDefined(tt.symbol),V=Tpe(Zt,Qt,re.checker);V&&U(ke,Zt,V,re)}if(yt.comingFrom!==1&&ze.moduleSpecifier&&!Je&&!Tn(re.options)){let on=re.checker.getExportSpecifierLocalTargetSymbol(tt);on&&oe(on,re)}function Ct(){Ce&&st(ke,it,re)}}function he(ke,nt,tt,yt){return Le(ke,tt)&&yt.getExportSpecifierLocalTargetSymbol(tt)||nt}function Le(ke,nt){let{parent:tt,propertyName:yt,name:re}=nt;return x.assert(yt===ke||re===ke),yt?yt===ke:!tt.parent.moduleSpecifier}function Ke(ke,nt,tt,yt){let re=GNe(ke,nt,yt.checker,tt.comingFrom===1);if(!re)return;let{symbol:Ce}=re;re.kind===0?Tn(yt.options)||oe(Ce,yt):U(ke,Ce,re.exportInfo,yt)}function Dt({flags:ke,valueDeclaration:nt},tt,yt){let re=yt.checker.getShorthandAssignmentValueSymbol(nt),Ce=nt&&mo(nt);!(ke&33554432)&&Ce&&tt.includes(re)&&st(Ce,re,yt)}function st(ke,nt,tt){let{kind:yt,symbol:re}=\"kind\"in nt?nt:{kind:void 0,symbol:nt};if(tt.options.use===2&&ke.kind===90)return;let Ce=tt.referenceAdder(re);tt.options.implementations?zt(ke,Ce,tt):Ce(ke,yt)}function Ge(ke,nt,tt,yt){KN(ke)&&st(ke,tt.symbol,yt);let re=()=>yt.referenceAdder(tt.symbol);if(Kr(ke.parent))x.assert(ke.kind===90||ke.parent.name===ke),Vt(tt.symbol,nt,re());else{let Ce=Ea(ke);Ce&&(gn(Ce,re()),en(Ce,yt))}}function ot(ke,nt,tt){st(ke,nt.symbol,tt);let yt=ke.parent;if(tt.options.use===2||!Kr(yt))return;x.assert(yt.name===ke);let re=tt.referenceAdder(nt.symbol);for(let Ce of yt.members)CA(Ce)&&zo(Ce)&&Ce.body&&Ce.body.forEachChild(function et(z){z.kind===110?re(z):!Lo(z)&&!Kr(z)&&z.forEachChild(et)})}function Vt(ke,nt,tt){let yt=jt(ke);if(yt&&yt.declarations)for(let re of yt.declarations){let Ce=Ya(re,137,nt);x.assert(re.kind===176&&!!Ce),tt(Ce)}ke.exports&&ke.exports.forEach(re=>{let Ce=re.valueDeclaration;if(Ce&&Ce.kind===174){let et=Ce.body;et&&Jo(et,110,z=>{KN(z)&&tt(z)})}})}function jt(ke){return ke.members&&ke.members.get(\"__constructor\")}function gn(ke,nt){let tt=jt(ke.symbol);if(tt&&tt.declarations)for(let yt of tt.declarations){x.assert(yt.kind===176);let re=yt.body;re&&Jo(re,108,Ce=>{Wq(Ce)&&nt(Ce)})}}function On(ke){return!!jt(ke.symbol)}function en(ke,nt){if(On(ke))return;let tt=ke.symbol,yt=nt.createSearch(void 0,tt,void 0);S(tt,nt,yt)}function zt(ke,nt,tt){if(ng(ke)&&ki(ke.parent)){nt(ke);return}if(ke.kind!==80)return;ke.parent.kind===304&&so(ke,tt.checker,nt);let yt=Wt(ke);if(yt){nt(yt);return}let re=Rn(ke,z=>!$d(z.parent)&&!xi(z.parent)&&!bS(z.parent)),Ce=re.parent;if(K8(Ce)&&Ce.type===re&&tt.markSeenContainingTypeReference(Ce))if($v(Ce))et(Ce.initializer);else if(Lo(Ce)&&Ce.body){let z=Ce.body;z.kind===241?GE(z,Je=>{Je.expression&&et(Je.expression)}):et(z)}else ES(Ce)&&et(Ce.expression);function et(z){ei(z)&&nt(z)}}function Wt(ke){return Me(ke)||Er(ke)?Wt(ke.parent):sv(ke)?Vr(ke.parent.parent,hm(Kr,Gd)):void 0}function ei(ke){switch(ke.kind){case 217:return ei(ke.expression);case 219:case 218:case 210:case 231:case 209:return!0;default:return!1}}function Ki(ke,nt,tt,yt){if(ke===nt)return!0;let re=na(ke)+\",\"+na(nt),Ce=tt.get(re);if(Ce!==void 0)return Ce;tt.set(re,!1);let et=!!ke.declarations&&ke.declarations.some(z=>EC(z).some(Je=>{let _t=yt.getTypeAtLocation(Je);return!!_t&&!!_t.symbol&&Ki(_t.symbol,nt,tt,yt)}));return tt.set(re,et),et}function gi(ke){let nt=pL(ke,!1);if(!nt)return;let tt=256;switch(nt.kind){case 172:case 171:case 174:case 173:case 176:case 177:case 178:tt&=ny(nt),nt=nt.parent;break;default:return}let yt=nt.getSourceFile(),re=Fi(le(yt,\"super\",nt),Ce=>{if(Ce.kind!==108)return;let et=pL(Ce,!1);return et&&zo(et)===!!tt&&et.parent.symbol===nt.symbol?Mh(Ce):void 0});return[{definition:{type:0,symbol:nt.symbol},references:re}]}function io(ke){return ke.kind===80&&ke.parent.kind===169&&ke.parent.name===ke}function Gn(ke,nt,tt){let yt=lu(ke,!1,!1),re=256;switch(yt.kind){case 174:case 173:if(qf(yt)){re&=ny(yt),yt=yt.parent;break}case 172:case 171:case 176:case 177:case 178:re&=ny(yt),yt=yt.parent;break;case 312:if(wl(yt)||io(ke))return;case 262:case 218:break;default:return}let Ce=ta(yt.kind===312?nt:[yt.getSourceFile()],z=>(tt.throwIfCancellationRequested(),le(z,\"this\",Li(yt)?z:yt).filter(Je=>{if(!mR(Je))return!1;let _t=lu(Je,!1,!1);if(!qm(_t))return!1;switch(yt.kind){case 218:case 262:return yt.symbol===_t.symbol;case 174:case 173:return qf(yt)&&yt.symbol===_t.symbol;case 231:case 263:case 210:return _t.parent&&qm(_t.parent)&&yt.symbol===_t.parent.symbol&&zo(_t)===!!re;case 312:return _t.kind===312&&!wl(_t)&&!io(Je)}}))).map(z=>Mh(z));return[{definition:{type:3,node:ml(Ce,z=>ao(z.node.parent)?z.node:void 0)||ke},references:Ce}]}function Nr(ke,nt,tt,yt){let re=h3(ke,tt),Ce=ta(nt,et=>(yt.throwIfCancellationRequested(),Fi(le(et,ke.text),z=>{if(Ga(z)&&z.text===ke.text)if(re){let Je=h3(z,tt);if(re!==tt.getStringType()&&(re===Je||cr(z,tt)))return Mh(z,2)}else return eI(z)&&!WS(z,et)?void 0:Mh(z,2)})));return[{definition:{type:4,node:ke},references:Ce}]}function cr(ke,nt){if(Gu(ke.parent))return nt.getPropertyOfType(nt.getTypeAtLocation(ke.parent.parent),ke.text)}function Jt(ke,nt,tt,yt,re,Ce){let et=[];return Ue(ke,nt,tt,yt,!(yt&&re),(z,Je,_t)=>{_t&&mn(ke)!==mn(_t)&&(_t=void 0),et.push(_t||Je||z)},()=>!Ce),et}function Ue(ke,nt,tt,yt,re,Ce,et){let z=bO(nt);if(z){let Qt=tt.getShorthandAssignmentValueSymbol(nt.parent);if(Qt&&yt)return Ce(Qt,void 0,void 0,3);let Zt=tt.getContextualType(z.parent),V=Zt&&ml(Iz(z,tt,Zt,!0),te=>Ct(te,4));if(V)return V;let Re=$(nt,tt),St=Re&&Ce(Re,void 0,void 0,4);if(St)return St;let M=Qt&&Ce(Qt,void 0,void 0,3);if(M)return M}let Je=s(nt,ke,tt);if(Je){let Qt=Ce(Je,void 0,void 0,1);if(Qt)return Qt}let _t=Ct(ke);if(_t)return _t;if(ke.valueDeclaration&&wu(ke.valueDeclaration,ke.valueDeclaration.parent)){let Qt=tt.getSymbolsOfParameterPropertyDeclaration(Fo(ke.valueDeclaration,ao),ke.name);return x.assert(Qt.length===2&&!!(Qt[0].flags&1)&&!!(Qt[1].flags&4)),Ct(ke.flags&1?Qt[1]:Qt[0])}let ze=Vs(ke,281);if(!yt||ze&&!ze.propertyName){let Qt=ze&&tt.getExportSpecifierLocalTargetSymbol(ze);if(Qt){let Zt=Ce(Qt,void 0,void 0,1);if(Zt)return Zt}}if(!yt){let Qt;return re?Qt=Jk(nt.parent)?N3(tt,nt.parent):void 0:Qt=on(ke,tt),Qt&&Ct(Qt,4)}if(x.assert(yt),re){let Qt=on(ke,tt);return Qt&&Ct(Qt,4)}function Ct(Qt,Zt){return ml(tt.getRootSymbols(Qt),V=>Ce(Qt,V,void 0,Zt)||(V.parent&&V.parent.flags&96&&et(V)?Rt(V.parent,V.name,tt,Re=>Ce(Qt,V,Re,Zt)):void 0))}function on(Qt,Zt){let V=Vs(Qt,208);if(V&&Jk(V))return N3(Zt,V)}}function Rt(ke,nt,tt,yt){let re=new Map;return Ce(ke);function Ce(et){if(!(!(et.flags&96)||!Jf(re,na(et))))return ml(et.declarations,z=>ml(EC(z),Je=>{let _t=tt.getTypeAtLocation(Je),ze=_t&&_t.symbol&&tt.getPropertyOfType(_t,nt);return _t&&ze&&(ml(tt.getRootSymbols(ze),yt)||Ce(_t.symbol))}))}}function mn(ke){return ke.valueDeclaration?!!(Wd(ke.valueDeclaration)&256):!1}function qr(ke,nt,tt,yt){let{checker:re}=yt;return Ue(nt,tt,re,!1,yt.options.use!==2||!!yt.options.providePrefixAndSuffixTextForRename,(Ce,et,z,Je)=>(z&&mn(nt)!==mn(z)&&(z=void 0),ke.includes(z||et||Ce)?{symbol:et&&!(tl(Ce)&6)?et:Ce,kind:Je}:void 0),Ce=>!(ke.parents&&!ke.parents.some(et=>Ki(Ce.parent,et,yt.inheritsFromCache,re))))}function ni(ke,nt){let tt=aT(ke),{declarations:yt}=nt;if(yt){let re;do{re=tt;for(let Ce of yt){let et=Lk(Ce);et&tt&&(tt|=et)}}while(tt!==re)}return tt}e.getIntersectingMeaningFromDeclarations=ni;function ki(ke){return ke.flags&33554432?!(Gd(ke)||Xf(ke)):tx(ke)?$v(ke):hs(ke)?!!ke.body:Kr(ke)||$M(ke)}function so(ke,nt,tt){let yt=nt.getSymbolAtLocation(ke),re=nt.getShorthandAssignmentValueSymbol(yt.valueDeclaration);if(re)for(let Ce of re.getDeclarations())Lk(Ce)&1&&tt(Ce)}e.getReferenceEntriesForShorthandPropertyAssignment=so;function Jo(ke,nt,tt){Ao(ke,yt=>{yt.kind===nt&&tt(yt),Jo(yt,nt,tt)})}function Ea(ke){return dV(d3(ke).parent)}function ln(ke,nt,tt){let yt=fR(ke)?ke.parent:void 0,re=yt&&tt.getTypeAtLocation(yt.expression),Ce=Fi(re&&(re.isUnionOrIntersection()?re.types:re.symbol===nt.parent?void 0:[re]),et=>et.symbol&&et.symbol.flags&96?et.symbol:void 0);return Ce.length===0?void 0:Ce}function Tn(ke){return ke.use===2&&ke.providePrefixAndSuffixTextForRename}})(zI||(zI={}))}}),fs={};la(fs,{Core:()=>zI,DefinitionKind:()=>Ppe,EntryKind:()=>Mpe,ExportKind:()=>Ipe,FindReferencesUse:()=>Lpe,ImportExport:()=>xpe,createImportTracker:()=>Spe,findModuleReferences:()=>FNe,findReferenceOrRenameEntries:()=>jXe,findReferencedSymbols:()=>BXe,getContextNode:()=>pT,getExportInfo:()=>Tpe,getImplementationsAtPosition:()=>VXe,getImportOrExportSymbol:()=>GNe,getReferenceEntriesForNode:()=>jNe,getTextSpanOfEntry:()=>Cpe,isContextWithStartAndEndNode:()=>Rpe,isDeclarationOfSymbol:()=>JNe,isWriteAccessForReference:()=>Npe,nodeEntry:()=>Mh,toContextSpan:()=>Dpe,toHighlightSpan:()=>YXe,toReferenceEntry:()=>qNe,toRenameLocation:()=>HXe});var kpe=pt({\"src/services/_namespaces/ts.FindAllReferences.ts\"(){\"use strict\";FXe(),QXe()}});function KNe(e,t,r,i,o){var s;let l=YNe(t,r,e),d=l&&[dYe(l.reference.fileName,l.fileName,l.unverified)]||je;if(l?.file)return d;let p=pu(t,r);if(p===t)return;let{parent:h}=p,m=e.getTypeChecker();if(p.kind===164||Me(p)&&S6(h)&&h.tagName===p)return eYe(m,p)||je;if(wk(p)){let R=u3(p.parent,p.text);return R?[Ope(m,R,\"label\",p.text,void 0)]:void 0}switch(p.kind){case 107:let R=Rn(p.parent,G=>nl(G)?\"quit\":hs(G));return R?[Jz(m,R)]:void 0;case 90:if(!_N(p.parent))break;case 84:let L=Rn(p.parent,pN);if(L)return[cYe(L,t)];break}if(p.kind===135){let R=Rn(p,G=>hs(G));return R&&ct(R.modifiers,G=>G.kind===134)?[Jz(m,R)]:void 0}if(p.kind===127){let R=Rn(p,G=>hs(G));return R&&R.asteriskToken?[Jz(m,R)]:void 0}if(rI(p)&&nl(p.parent)){let R=p.parent.parent,{symbol:L,failedAliasResolution:G}=kY(R,m,o),U=Cr(R.members,nl),K=L?m.symbolToString(L,R):\"\",F=p.getSourceFile();return nn(U,oe=>{let{pos:W}=Zm(oe);return W=pa(F.text,W),Ope(m,oe,\"constructor\",\"static {}\",K,!1,G,{start:W,length:6})})}let{symbol:v,failedAliasResolution:E}=kY(p,m,o),S=p;if(i&&E){let R=an([p,...v?.declarations||je],G=>Rn(G,xte)),L=R&&sx(R);L&&({symbol:v,failedAliasResolution:E}=kY(L,m,o),S=L)}if(!v&&C3(S)){let R=(s=e.getResolvedModuleFromModuleSpecifier(S))==null?void 0:s.resolvedModule;if(R)return[{name:S.text,fileName:R.resolvedFileName,containerName:void 0,containerKind:void 0,kind:\"script\",textSpan:qc(0,0),failedAliasResolution:E,isAmbient:Yc(R.resolvedFileName),unverified:S!==p}]}if(!v)return ro(d,aYe(p,m));if(i&&ji(v.declarations,R=>R.getSourceFile().fileName===t.fileName))return;let A=pYe(m,p);if(A&&!(Od(p.parent)&&fYe(A))){let R=Jz(m,A,E);if(m.getRootSymbols(v).some(L=>ZXe(L,A)))return[R];{let L=mP(m,v,p,E,A)||je;return p.kind===108?[R,...L]:[...L,R]}}if(p.parent.kind===304){let R=m.getShorthandAssignmentValueSymbol(v.valueDeclaration),L=R?.declarations?R.declarations.map(G=>MO(G,m,R,p,!1,E)):je;return ro(L,XNe(m,p))}if(kl(p)&&Na(h)&&Rf(h.parent)&&p===(h.propertyName||h.name)){let R=qk(p),L=m.getTypeAtLocation(h.parent);return R===void 0?je:ta(L.isUnion()?L.types:[L],G=>{let U=G.getProperty(R);return U&&mP(m,U,p)})}let C=XNe(m,p);return ro(d,C.length?C:mP(m,v,p,E))}function ZXe(e,t){var r;return e===t.symbol||e===t.symbol.parent||lc(t.parent)||!WE(t.parent)&&e===((r=Vr(t.parent,qm))==null?void 0:r.symbol)}function XNe(e,t){let r=bO(t);if(r){let i=r&&e.getContextualType(r.parent);if(i)return ta(Iz(r,e,i,!1),o=>mP(e,o,t))}return je}function eYe(e,t){let r=Rn(t,xc);if(!(r&&r.name))return;let i=Rn(r,Kr);if(!i)return;let o=Km(i);if(!o)return;let s=Ka(o.expression),l=Dc(s)?s.symbol:e.getSymbolAtLocation(s);if(!l)return;let d=Ii($1(r.name)),p=jl(r)?e.getPropertyOfType(e.getTypeOfSymbol(l),d):e.getPropertyOfType(e.getDeclaredTypeOfSymbol(l),d);if(p)return mP(e,p,t)}function YNe(e,t,r){var i,o;let s=_P(e.referencedFiles,t);if(s){let p=r.getSourceFileFromReference(e,s);return p&&{reference:s,fileName:p.fileName,file:p,unverified:!1}}let l=_P(e.typeReferenceDirectives,t);if(l){let p=(i=r.getResolvedTypeReferenceDirectives().get(l.fileName,l.resolutionMode||e.impliedNodeFormat))==null?void 0:i.resolvedTypeReferenceDirective,h=p&&r.getSourceFile(p.resolvedFileName);return h&&{reference:l,fileName:h.fileName,file:h,unverified:!1}}let d=_P(e.libReferenceDirectives,t);if(d){let p=r.getLibFileFromReference(d);return p&&{reference:d,fileName:p.fileName,file:p,unverified:!1}}if(e.imports.length||e.moduleAugmentations.length){let p=_R(e,t),h;if(C3(p)&&Ic(p.text)&&(h=r.getResolvedModuleFromModuleSpecifier(p))){let m=(o=h.resolvedModule)==null?void 0:o.resolvedFileName,v=m||jv(Ur(e.fileName),p.text);return{file:r.getSourceFile(v),fileName:v,reference:{pos:p.getStart(),end:p.getEnd(),fileName:p.text},unverified:!m}}}}function tYe(e,t){let r=t.symbol.name;if(!Wpe.has(r))return!1;let i=e.resolveName(r,void 0,788968,!1);return!!i&&i===t.target.symbol}function $Ne(e,t){if(!t.aliasSymbol)return!1;let r=t.aliasSymbol.name;if(!Wpe.has(r))return!1;let i=e.resolveName(r,void 0,788968,!1);return!!i&&i===t.aliasSymbol}function nYe(e,t,r,i){var o,s;if(br(t)&4&&tYe(e,t))return PO(e.getTypeArguments(t)[0],e,r,i);if($Ne(e,t)&&t.aliasTypeArguments)return PO(t.aliasTypeArguments[0],e,r,i);if(br(t)&32&&t.target&&$Ne(e,t.target)){let l=(s=(o=t.aliasSymbol)==null?void 0:o.declarations)==null?void 0:s[0];if(l&&Xf(l)&&Yp(l.type)&&l.type.typeArguments)return PO(e.getTypeAtLocation(l.type.typeArguments[0]),e,r,i)}return[]}function rYe(e,t,r){let i=pu(t,r);if(i===t)return;if(ex(i.parent)&&i.parent.name===i)return PO(e.getTypeAtLocation(i.parent),e,i.parent,!1);let{symbol:o,failedAliasResolution:s}=kY(i,e,!1);if(!o)return;let l=e.getTypeOfSymbolAtLocation(o,i),d=iYe(o,l,e),p=d&&PO(d,e,i,s),[h,m]=p&&p.length!==0?[d,p]:[l,PO(l,e,i,s)];return m.length?[...nYe(e,h,i,s),...m]:!(o.flags&111551)&&o.flags&788968?mP(e,Kc(o,e),i,s):void 0}function PO(e,t,r,i){return ta(e.isUnion()&&!(e.flags&32)?e.types:[e],o=>o.symbol&&mP(t,o.symbol,r,i))}function iYe(e,t,r){if(t.symbol===e||e.valueDeclaration&&t.symbol&&yi(e.valueDeclaration)&&e.valueDeclaration.initializer===t.symbol.valueDeclaration){let i=t.getCallSignatures();if(i.length===1)return r.getReturnTypeOfSignature(Ta(i))}}function oYe(e,t,r){let i=KNe(e,t,r);if(!i||i.length===0)return;let o=_P(t.referencedFiles,r)||_P(t.typeReferenceDirectives,r)||_P(t.libReferenceDirectives,r);if(o)return{definitions:i,textSpan:yy(o)};let s=pu(t,r),l=qc(s.getStart(),s.getWidth());return{definitions:i,textSpan:l}}function aYe(e,t){return Fi(t.getIndexInfosAtLocation(e),r=>r.declaration&&Jz(t,r.declaration))}function kY(e,t,r){let i=t.getSymbolAtLocation(e),o=!1;if(i?.declarations&&i.flags&2097152&&!r&&sYe(e,i.declarations[0])){let s=t.getAliasedSymbol(i);if(s.declarations)return{symbol:s};o=!0}return{symbol:i,failedAliasResolution:o}}function sYe(e,t){return e.kind!==80?!1:e.parent===t?!0:t.kind!==274}function lYe(e){if(!vC(e))return!1;let t=Rn(e,r=>lc(r)?!0:vC(r)?!1:\"quit\");return!!t&&hl(t)===5}function mP(e,t,r,i,o){let s=Cr(t.declarations,v=>v!==o),l=Cr(s,v=>!lYe(v)),d=ct(l)?l:s;return p()||h()||nn(d,v=>MO(v,e,t,r,!1,i));function p(){if(t.flags&32&&!(t.flags&19)&&(KN(r)||r.kind===137)){let v=Dr(s,Kr)||x.fail(\"Expected declaration to have at least one class-like declaration\");return m(v.members,!0)}}function h(){return Fq(r)||Hq(r)?m(s,!1):void 0}function m(v,E){if(!v)return;let S=v.filter(E?ll:Lo),A=S.filter(C=>!!C.body);return S.length?A.length!==0?A.map(C=>MO(C,e,t,r)):[MO(Da(S),e,t,r,!1,i)]:void 0}}function MO(e,t,r,i,o,s){let l=t.symbolToString(r),d=gv.getSymbolKind(t,r,i),p=r.parent?t.symbolToString(r.parent,i):\"\";return Ope(t,e,d,l,p,o,s)}function Ope(e,t,r,i,o,s,l,d){let p=t.getSourceFile();if(!d){let h=mo(t)||t;d=eu(h,p)}return{fileName:p.fileName,textSpan:d,kind:r,name:i,containerKind:void 0,containerName:o,...fs.toContextSpan(d,p,fs.getContextNode(t)),isLocal:!wpe(e,t),isAmbient:!!(t.flags&33554432),unverified:s,failedAliasResolution:l}}function cYe(e,t){let r=fs.getContextNode(e),i=eu(Rpe(r)?r.start:r,t);return{fileName:t.fileName,textSpan:i,kind:\"keyword\",name:\"switch\",containerKind:void 0,containerName:\"\",...fs.toContextSpan(i,t,r),isLocal:!0,isAmbient:!1,unverified:!1,failedAliasResolution:void 0}}function wpe(e,t){if(e.isDeclarationVisible(t))return!0;if(!t.parent)return!1;if($v(t.parent)&&t.parent.initializer===t)return wpe(e,t.parent);switch(t.kind){case 172:case 177:case 178:case 174:if(zu(t,2))return!1;case 176:case 303:case 304:case 210:case 231:case 219:case 218:return wpe(e,t.parent);default:return!1}}function Jz(e,t,r){return MO(t,e,t.symbol,t,!1,r)}function _P(e,t){return Dr(e,r=>wM(r,t))}function dYe(e,t,r){return{fileName:t,textSpan:Gl(0,0),kind:\"script\",name:e,containerName:void 0,containerKind:void 0,unverified:r}}function uYe(e){let t=Rn(e,i=>!fR(i)),r=t?.parent;return r&&WE(r)&&vW(r)===t?r:void 0}function pYe(e,t){let r=uYe(t),i=r&&e.getResolvedSignature(r);return Vr(i&&i.declaration,o=>Lo(o)&&!G_(o))}function fYe(e){switch(e.kind){case 176:case 185:case 180:return!0;default:return!1}}var Wpe,mYe=pt({\"src/services/goToDefinition.ts\"(){\"use strict\";Hr(),kpe(),Wpe=new Set([\"Array\",\"ArrayLike\",\"ReadonlyArray\",\"Promise\",\"PromiseLike\",\"Iterable\",\"IterableIterator\",\"AsyncIterable\",\"Set\",\"WeakSet\",\"ReadonlySet\",\"Map\",\"WeakMap\",\"ReadonlyMap\",\"Partial\",\"Required\",\"Readonly\",\"Pick\",\"Omit\"])}}),LR={};la(LR,{createDefinitionInfo:()=>MO,findReferenceInPosition:()=>_P,getDefinitionAndBoundSpan:()=>oYe,getDefinitionAtPosition:()=>KNe,getReferenceAtPosition:()=>YNe,getTypeDefinitionAtPosition:()=>rYe});var _Ye=pt({\"src/services/_namespaces/ts.GoToDefinition.ts\"(){\"use strict\";mYe()}});function hYe(e){return e.includeInlayParameterNameHints===\"literals\"||e.includeInlayParameterNameHints===\"all\"}function gYe(e){return e.includeInlayParameterNameHints===\"literals\"}function QNe(e){return e.interactiveInlayHints===!0}function vYe(e){let{file:t,program:r,span:i,cancellationToken:o,preferences:s}=e,l=t.text,d=r.getCompilerOptions(),p=Pp(t,s),h=r.getTypeChecker(),m=[];return v(t),m;function v(ce){if(!(!ce||ce.getFullWidth()===0)){switch(ce.kind){case 267:case 263:case 264:case 262:case 231:case 218:case 174:case 219:o.throwIfCancellationRequested()}if(P8(i,ce.pos,ce.getFullWidth())&&!(xi(ce)&&!sv(ce)))return s.includeInlayVariableTypeHints&&yi(ce)||s.includeInlayPropertyDeclarationTypeHints&&xo(ce)?G(ce):s.includeInlayEnumMemberValueHints&&p0(ce)?R(ce):hYe(s)&&(Bo(ce)||o0(ce))?U(ce):(s.includeInlayFunctionParameterTypeHints&&hs(ce)&&gF(ce)&&de(ce),s.includeInlayFunctionLikeReturnTypeHints&&E(ce)&&W(ce)),Ao(ce,v)}}function E(ce){return gs(ce)||ps(ce)||Ql(ce)||El(ce)||Ip(ce)}function S(ce,Z,pe,Ae){let Oe=`${Ae?\"...\":\"\"}${ce}`,_e;QNe(s)?(_e=[Ee(Oe,Z),{text:\":\"}],Oe=\"\"):Oe+=\":\",m.push({text:Oe,position:pe,kind:\"Parameter\",whitespaceAfter:!0,displayParts:_e})}function A(ce,Z){m.push({text:typeof ce==\"string\"?`: ${ce}`:\"\",displayParts:typeof ce==\"string\"?void 0:[{text:\": \"},...ce],position:Z,kind:\"Type\",whitespaceBefore:!0})}function C(ce,Z){m.push({text:`= ${ce}`,position:Z,kind:\"Enum\",whitespaceBefore:!0})}function R(ce){if(ce.initializer)return;let Z=h.getConstantValue(ce);Z!==void 0&&C(Z.toString(),ce.end)}function L(ce){return ce.symbol&&ce.symbol.flags&1536}function G(ce){if(!ce.initializer||ko(ce.name)||yi(ce)&&!le(ce)||Jc(ce))return;let pe=h.getTypeAtLocation(ce);if(L(pe))return;let Ae=H(pe);if(Ae){let Oe=typeof Ae==\"string\"?Ae:Ae.map(be=>be.text).join(\"\");if(s.includeInlayVariableTypeHintsWhenTypeMatchesName===!1&&pb(ce.name.getText(),Oe))return;A(Ae,ce.name.end)}}function U(ce){let Z=ce.arguments;if(!Z||!Z.length)return;let pe=[],Ae=h.getResolvedSignatureForSignatureHelp(ce,pe);if(!Ae||!pe.length)return;let Oe=0;for(let _e of Z){let be=Ka(_e);if(gYe(s)&&!oe(be)){Oe++;continue}let Te=0;if(bm(be)){let ft=h.getTypeAtLocation(be.expression);if(h.isTupleType(ft)){let{elementFlags:he,fixedLength:Le}=ft.target;if(Le===0)continue;let Ke=Tl(he,st=>!(st&1));(Ke<0?Le:Ke)>0&&(Te=Ke<0?Le:Ke)}}let De=h.getParameterIdentifierInfoAtPosition(Ae,Oe);if(Oe=Oe+(Te||1),De){let{parameter:ft,parameterName:he,isRestParameter:Le}=De;if(!(s.includeInlayParameterNameHintsWhenArgumentMatchesName||!K(be,he))&&!Le)continue;let Dt=Ii(he);if(F(be,Dt))continue;S(Dt,ft,_e.getStart(),Le)}}}function K(ce,Z){return Me(ce)?ce.text===Z:Er(ce)?ce.name.text===Z:!1}function F(ce,Z){if(!Tp(Z,d.target,KL(t.scriptKind)))return!1;let pe=mh(l,ce.pos);if(!pe?.length)return!1;let Ae=ZNe(Z);return ct(pe,Oe=>Ae.test(l.substring(Oe.pos,Oe.end)))}function oe(ce){switch(ce.kind){case 224:{let Z=ce.operand;return wE(Z)||Me(Z)&&XC(Z.escapedText)}case 112:case 97:case 106:case 15:case 228:return!0;case 80:{let Z=ce.escapedText;return ee(Z)||XC(Z)}}return wE(ce)}function W(ce){if(gs(ce)&&!Ya(ce,21,t)||Tf(ce)||!ce.body)return;let pe=h.getSignatureFromDeclaration(ce);if(!pe)return;let Ae=h.getReturnTypeOfSignature(pe);if(L(Ae))return;let Oe=H(Ae);Oe&&A(Oe,$(ce))}function $(ce){let Z=Ya(ce,22,t);return Z?Z.end:ce.parameters.end}function de(ce){let Z=h.getSignatureFromDeclaration(ce);if(Z)for(let pe=0;pe<ce.parameters.length&&pe<Z.parameters.length;++pe){let Ae=ce.parameters[pe];if(!le(Ae)||Jc(Ae))continue;let _e=fe(Z.parameters[pe]);_e&&A(_e,Ae.questionToken?Ae.questionToken.end:Ae.name.end)}}function fe(ce){let Z=ce.valueDeclaration;if(!Z||!ao(Z))return;let pe=h.getTypeOfSymbolAtLocation(ce,Z);if(!L(pe))return H(pe)}function q(ce){let pe=y0();return dC(Ae=>{let Oe=h.typeToTypeNode(ce,void 0,71286784);x.assertIsDefined(Oe,\"should always get typenode\"),pe.writeNode(4,Oe,t,Ae)})}function H(ce){if(!QNe(s))return q(ce);let pe=h.typeToTypeNode(ce,void 0,71286784);x.assertIsDefined(pe,\"should always get typenode\");let Ae=[];return Oe(pe),Ae;function Oe(De){var ft,he;if(!De)return;let Le=qo(De.kind);if(Le){Ae.push({text:Le});return}if(wE(De)){Ae.push({text:Te(De)});return}switch(De.kind){case 80:x.assertNode(De,Me);let Ke=ar(De),Dt=De.symbol&&De.symbol.declarations&&De.symbol.declarations.length&&mo(De.symbol.declarations[0]);Dt?Ae.push(Ee(Ke,Dt)):Ae.push({text:Ke});break;case 166:x.assertNode(De,$d),Oe(De.left),Ae.push({text:\".\"}),Oe(De.right);break;case 182:x.assertNode(De,T2),De.assertsModifier&&Ae.push({text:\"asserts \"}),Oe(De.parameterName),De.type&&(Ae.push({text:\" is \"}),Oe(De.type));break;case 183:x.assertNode(De,Yp),Oe(De.typeName),De.typeArguments&&(Ae.push({text:\"<\"}),be(De.typeArguments,\", \"),Ae.push({text:\">\"}));break;case 168:x.assertNode(De,qs),De.modifiers&&be(De.modifiers,\" \"),Oe(De.name),De.constraint&&(Ae.push({text:\" extends \"}),Oe(De.constraint)),De.default&&(Ae.push({text:\" = \"}),Oe(De.default));break;case 169:x.assertNode(De,ao),De.modifiers&&be(De.modifiers,\" \"),De.dotDotDotToken&&Ae.push({text:\"...\"}),Oe(De.name),De.questionToken&&Ae.push({text:\"?\"}),De.type&&(Ae.push({text:\": \"}),Oe(De.type));break;case 185:x.assertNode(De,kx),Ae.push({text:\"new \"}),_e(De),Ae.push({text:\" => \"}),Oe(De.type);break;case 186:x.assertNode(De,oI),Ae.push({text:\"typeof \"}),Oe(De.exprName),De.typeArguments&&(Ae.push({text:\"<\"}),be(De.typeArguments,\", \"),Ae.push({text:\">\"}));break;case 187:x.assertNode(De,ju),Ae.push({text:\"{\"}),De.members.length&&(Ae.push({text:\" \"}),be(De.members,\"; \"),Ae.push({text:\" \"})),Ae.push({text:\"}\"});break;case 188:x.assertNode(De,A2),Oe(De.elementType),Ae.push({text:\"[]\"});break;case 189:x.assertNode(De,aI),Ae.push({text:\"[\"}),be(De.elements,\", \"),Ae.push({text:\"]\"});break;case 202:x.assertNode(De,Ox),De.dotDotDotToken&&Ae.push({text:\"...\"}),Oe(De.name),De.questionToken&&Ae.push({text:\"?\"}),Ae.push({text:\": \"}),Oe(De.type);break;case 190:x.assertNode(De,m6),Oe(De.type),Ae.push({text:\"?\"});break;case 191:x.assertNode(De,_6),Ae.push({text:\"...\"}),Oe(De.type);break;case 192:x.assertNode(De,dy),be(De.types,\" | \");break;case 193:x.assertNode(De,sI),be(De.types,\" & \");break;case 194:x.assertNode(De,lI),Oe(De.checkType),Ae.push({text:\" extends \"}),Oe(De.extendsType),Ae.push({text:\" ? \"}),Oe(De.trueType),Ae.push({text:\" : \"}),Oe(De.falseType);break;case 195:x.assertNode(De,GS),Ae.push({text:\"infer \"}),Oe(De.typeParameter);break;case 196:x.assertNode(De,VS),Ae.push({text:\"(\"}),Oe(De.type),Ae.push({text:\")\"});break;case 198:x.assertNode(De,jS),Ae.push({text:`${qo(De.operator)} `}),Oe(De.type);break;case 199:x.assertNode(De,US),Oe(De.objectType),Ae.push({text:\"[\"}),Oe(De.indexType),Ae.push({text:\"]\"});break;case 200:x.assertNode(De,wx),Ae.push({text:\"{ \"}),De.readonlyToken&&(De.readonlyToken.kind===40?Ae.push({text:\"+\"}):De.readonlyToken.kind===41&&Ae.push({text:\"-\"}),Ae.push({text:\"readonly \"})),Ae.push({text:\"[\"}),Oe(De.typeParameter),De.nameType&&(Ae.push({text:\" as \"}),Oe(De.nameType)),Ae.push({text:\"]\"}),De.questionToken&&(De.questionToken.kind===40?Ae.push({text:\"+\"}):De.questionToken.kind===41&&Ae.push({text:\"-\"}),Ae.push({text:\"?\"})),Ae.push({text:\": \"}),De.type&&Oe(De.type),Ae.push({text:\"; }\"});break;case 201:x.assertNode(De,uy),Oe(De.literal);break;case 184:x.assertNode(De,G_),_e(De),Ae.push({text:\" => \"}),Oe(De.type);break;case 205:x.assertNode(De,Dh),De.isTypeOf&&Ae.push({text:\"typeof \"}),Ae.push({text:\"import(\"}),Oe(De.argument),De.assertions&&(Ae.push({text:\", { assert: \"}),be(De.assertions.assertClause.elements,\", \"),Ae.push({text:\" }\"})),Ae.push({text:\")\"}),De.qualifier&&(Ae.push({text:\".\"}),Oe(De.qualifier)),De.typeArguments&&(Ae.push({text:\"<\"}),be(De.typeArguments,\", \"),Ae.push({text:\">\"}));break;case 171:x.assertNode(De,Gu),(ft=De.modifiers)!=null&&ft.length&&(be(De.modifiers,\" \"),Ae.push({text:\" \"})),Oe(De.name),De.questionToken&&Ae.push({text:\"?\"}),De.type&&(Ae.push({text:\": \"}),Oe(De.type));break;case 181:x.assertNode(De,r0),Ae.push({text:\"[\"}),be(De.parameters,\", \"),Ae.push({text:\"]\"}),De.type&&(Ae.push({text:\": \"}),Oe(De.type));break;case 173:x.assertNode(De,B_),(he=De.modifiers)!=null&&he.length&&(be(De.modifiers,\" \"),Ae.push({text:\" \"})),Oe(De.name),De.questionToken&&Ae.push({text:\"?\"}),_e(De),De.type&&(Ae.push({text:\": \"}),Oe(De.type));break;case 179:x.assertNode(De,iI),_e(De),De.type&&(Ae.push({text:\": \"}),Oe(De.type));break;case 207:x.assertNode(De,i0),Ae.push({text:\"[\"}),be(De.elements,\", \"),Ae.push({text:\"]\"});break;case 206:x.assertNode(De,Rf),Ae.push({text:\"{\"}),De.elements.length&&(Ae.push({text:\" \"}),be(De.elements,\", \"),Ae.push({text:\" \"})),Ae.push({text:\"}\"});break;case 208:x.assertNode(De,Na),Oe(De.name);break;case 224:x.assertNode(De,fy),Ae.push({text:qo(De.operator)}),Oe(De.operand);break;case 203:x.assertNode(De,Kre),Oe(De.head),De.templateSpans.forEach(Oe);break;case 16:x.assertNode(De,tI),Ae.push({text:Te(De)});break;case 204:x.assertNode(De,bj),Oe(De.type),Oe(De.literal);break;case 17:x.assertNode(De,hj),Ae.push({text:Te(De)});break;case 18:x.assertNode(De,d6),Ae.push({text:Te(De)});break;case 197:x.assertNode(De,I2),Ae.push({text:\"this\"});break;default:x.failBadSyntaxKind(De)}}function _e(De){De.typeParameters&&(Ae.push({text:\"<\"}),be(De.typeParameters,\", \"),Ae.push({text:\">\"})),Ae.push({text:\"(\"}),be(De.parameters,\", \"),Ae.push({text:\")\"})}function be(De,ft){De.forEach((he,Le)=>{Le>0&&Ae.push({text:ft}),Oe(he)})}function Te(De){switch(De.kind){case 11:return p===0?`'${Th(De.text,39)}'`:`\"${Th(De.text,34)}\"`;case 16:case 17:case 18:{let ft=De.rawText??Z9(Th(De.text,96));switch(De.kind){case 16:return\"`\"+ft+\"${\";case 17:return\"}\"+ft+\"${\";case 18:return\"}\"+ft+\"`\"}}}return De.text}}function ee(ce){return ce===\"undefined\"}function le(ce){if((JE(ce)||yi(ce)&&Z1(ce))&&ce.initializer){let Z=Ka(ce.initializer);return!(oe(Z)||o0(Z)||ma(Z)||ES(Z))}return!0}function Ee(ce,Z){let pe=Z.getSourceFile();return{text:ce,span:eu(Z,pe),file:pe.fileName}}}var ZNe,yYe=pt({\"src/services/inlayHints.ts\"(){\"use strict\";Hr(),ZNe=e=>new RegExp(`^\\\\s?/\\\\*\\\\*?\\\\s?${e}\\\\s?\\\\*\\\\/\\\\s?$`)}}),OY={};la(OY,{provideInlayHints:()=>vYe});var bYe=pt({\"src/services/_namespaces/ts.InlayHints.ts\"(){\"use strict\";yYe()}});function EYe(e,t){let r=[];return mJ(e,i=>{for(let o of TYe(i)){let s=Sm(o)&&o.tags&&Dr(o.tags,d=>d.kind===334&&(d.tagName.escapedText===\"inheritDoc\"||d.tagName.escapedText===\"inheritdoc\"));if(o.comment===void 0&&!s||Sm(o)&&i.kind!==353&&i.kind!==345&&o.tags&&o.tags.some(d=>d.kind===353||d.kind===345)&&!o.tags.some(d=>d.kind===348||d.kind===349))continue;let l=o.comment?kR(o.comment,t):[];s&&s.comment&&(l=l.concat(kR(s.comment,t))),To(r,l,SYe)||r.push(l)}}),Ff(K5(r,[yR()]))}function SYe(e,t){return dM(e,t,(r,i)=>r.kind===i.kind&&r.text===i.text)}function TYe(e){switch(e.kind){case 348:case 355:return[e];case 345:case 353:return[e,e.parent];case 330:if(Vx(e.parent))return[e.parent.parent];default:return W9(e)}}function AYe(e,t){let r=[];return mJ(e,i=>{let o=Eb(i);if(!(o.some(s=>s.kind===353||s.kind===345)&&!o.some(s=>s.kind===348||s.kind===349)))for(let s of o)r.push({name:s.tagName.text,text:nPe(s,t)}),r.push(...ePe(tPe(s),t))}),r}function ePe(e,t){return ta(e,r=>ro([{name:r.tagName.text,text:nPe(r,t)}],ePe(tPe(r),t)))}function tPe(e){return iC(e)&&e.isNameFirst&&e.typeExpression&&YS(e.typeExpression.type)?e.typeExpression.type.jsDocPropertyTags:void 0}function kR(e,t){return typeof e==\"string\"?[Mp(e)]:ta(e,r=>r.kind===328?[Mp(r.text)]:ale(r,t))}function nPe(e,t){let{comment:r,kind:i}=e,o=IYe(i);switch(i){case 356:let d=e.typeExpression;return d?s(d):r===void 0?void 0:kR(r,t);case 336:return s(e.class);case 335:return s(e.class);case 352:let p=e,h=[];if(p.constraint&&h.push(Mp(p.constraint.getText())),yn(p.typeParameters)){yn(h)&&h.push(ul());let v=p.typeParameters[p.typeParameters.length-1];an(p.typeParameters,E=>{h.push(o(E.getText())),v!==E&&h.push(Ad(28),ul())})}return r&&h.push(ul(),...kR(r,t)),h;case 351:case 357:return s(e.typeExpression);case 353:case 345:case 355:case 348:case 354:let{name:m}=e;return m?s(m):r===void 0?void 0:kR(r,t);default:return r===void 0?void 0:kR(r,t)}function s(d){return l(d.getText())}function l(d){return r?d.match(/^https?$/)?[Mp(d),...kR(r,t)]:[o(d),ul(),...kR(r,t)]:[Mp(d)]}}function IYe(e){switch(e){case 348:return tle;case 355:return nle;case 352:return ile;case 353:case 345:return rle;default:return Mp}}function xYe(){return iPe||(iPe=nn(zpe,e=>({name:e,kind:\"keyword\",kindModifiers:\"\",sortText:FI.SortText.LocationPriority})))}function RYe(){return oPe||(oPe=nn(zpe,e=>({name:`@${e}`,kind:\"keyword\",kindModifiers:\"\",sortText:FI.SortText.LocationPriority})))}function rPe(e){return{name:e,kind:\"\",kindModifiers:\"\",displayParts:[Mp(e)],documentation:je,tags:void 0,codeActions:void 0}}function DYe(e){if(!Me(e.name))return je;let t=e.name.text,r=e.parent,i=r.parent;return Lo(i)?Fi(i.parameters,o=>{if(!Me(o.name))return;let s=o.name.text;if(!(r.tags.some(l=>l!==e&&Tm(l)&&Me(l.name)&&l.name.escapedText===s)||t!==void 0&&!Ui(s,t)))return{name:s,kind:\"parameter\",kindModifiers:\"\",sortText:FI.SortText.LocationPriority}}):[]}function CYe(e){return{name:e,kind:\"parameter\",kindModifiers:\"\",displayParts:[Mp(e)],documentation:je,tags:void 0,codeActions:void 0}}function NYe(e,t,r,i){let o=Hi(t,r),s=Rn(o,Sm);if(s&&(s.comment!==void 0||yn(s.tags)))return;let l=o.getStart(t);if(!s&&l<r)return;let d=kYe(o,i);if(!d)return;let{commentOwner:p,parameters:h,hasReturn:m}=d,v=ap(p)&&p.jsDoc?p.jsDoc:void 0,E=Ns(v);if(p.getStart(t)<r||E&&s&&E!==s)return;let S=PYe(t,r),A=QE(t.fileName),C=(h?MYe(h||[],A,S,e):\"\")+(m?LYe(S,e):\"\"),R=\"/**\",L=\" */\",G=yn(Eb(p))>0;if(C&&!G){let U=R+e+S+\" * \",K=l===r?e+S:\"\";return{newText:U+e+C+S+L+K,caretOffset:U.length}}return{newText:R+L,caretOffset:3}}function PYe(e,t){let{text:r}=e,i=Cf(t,e),o=i;for(;o<=t&&Um(r.charCodeAt(o));o++);return r.slice(i,o)}function MYe(e,t,r,i){return e.map(({name:o,dotDotDotToken:s},l)=>{let d=o.kind===80?o.text:\"param\"+l;return`${r} * @param ${t?s?\"{...any} \":\"{any} \":\"\"}${d}${i}`}).join(\"\")}function LYe(e,t){return`${e} * @returns${t}`}function kYe(e,t){return _te(e,r=>Fpe(r,t))}function Fpe(e,t){switch(e.kind){case 262:case 218:case 174:case 176:case 173:case 219:let r=e;return{commentOwner:e,parameters:r.parameters,hasReturn:Kz(r,t)};case 303:return Fpe(e.initializer,t);case 263:case 264:case 266:case 306:case 265:return{commentOwner:e};case 171:{let o=e;return o.type&&G_(o.type)?{commentOwner:e,parameters:o.type.parameters,hasReturn:Kz(o.type,t)}:{commentOwner:e}}case 243:{let s=e.declarationList.declarations,l=s.length===1&&s[0].initializer?OYe(s[0].initializer):void 0;return l?{commentOwner:e,parameters:l.parameters,hasReturn:Kz(l,t)}:{commentOwner:e}}case 312:return\"quit\";case 267:return e.parent.kind===267?void 0:{commentOwner:e};case 244:return Fpe(e.expression,t);case 226:{let o=e;return hl(o)===0?\"quit\":Lo(o.right)?{commentOwner:e,parameters:o.right.parameters,hasReturn:Kz(o.right,t)}:{commentOwner:e}}case 172:let i=e.initializer;if(i&&(ps(i)||gs(i)))return{commentOwner:e,parameters:i.parameters,hasReturn:Kz(i,t)}}}function Kz(e,t){return!!t?.generateReturnInDocTemplate&&(G_(e)||gs(e)&&lt(e.body)||hs(e)&&e.body&&Do(e.body)&&!!GE(e.body,r=>r))}function OYe(e){for(;e.kind===217;)e=e.expression;switch(e.kind){case 218:case 219:return e;case 231:return Dr(e.members,ll)}}var zpe,iPe,oPe,aPe,wYe=pt({\"src/services/jsDoc.ts\"(){\"use strict\";Hr(),zpe=[\"abstract\",\"access\",\"alias\",\"argument\",\"async\",\"augments\",\"author\",\"borrows\",\"callback\",\"class\",\"classdesc\",\"constant\",\"constructor\",\"constructs\",\"copyright\",\"default\",\"deprecated\",\"description\",\"emits\",\"enum\",\"event\",\"example\",\"exports\",\"extends\",\"external\",\"field\",\"file\",\"fileoverview\",\"fires\",\"function\",\"generator\",\"global\",\"hideconstructor\",\"host\",\"ignore\",\"implements\",\"inheritdoc\",\"inner\",\"instance\",\"interface\",\"kind\",\"lends\",\"license\",\"link\",\"linkcode\",\"linkplain\",\"listens\",\"member\",\"memberof\",\"method\",\"mixes\",\"module\",\"name\",\"namespace\",\"overload\",\"override\",\"package\",\"param\",\"private\",\"prop\",\"property\",\"protected\",\"public\",\"readonly\",\"requires\",\"returns\",\"satisfies\",\"see\",\"since\",\"static\",\"summary\",\"template\",\"this\",\"throws\",\"todo\",\"tutorial\",\"type\",\"typedef\",\"var\",\"variation\",\"version\",\"virtual\",\"yields\"],aPe=rPe}}),Xb={};la(Xb,{getDocCommentTemplateAtPosition:()=>NYe,getJSDocParameterNameCompletionDetails:()=>CYe,getJSDocParameterNameCompletions:()=>DYe,getJSDocTagCompletionDetails:()=>rPe,getJSDocTagCompletions:()=>RYe,getJSDocTagNameCompletionDetails:()=>aPe,getJSDocTagNameCompletions:()=>xYe,getJsDocCommentsFromDeclarations:()=>EYe,getJsDocTagsFromDeclarations:()=>AYe});var WYe=pt({\"src/services/_namespaces/ts.JsDoc.ts\"(){\"use strict\";wYe()}});function FYe(e,t,r,i,o,s){let l=er.ChangeTracker.fromContext({host:r,formatContext:t,preferences:o}),d=s===\"SortAndCombine\"||s===\"All\",p=d,h=s===\"RemoveUnused\"||s===\"All\",m=wY(e,e.statements.filter(cc)),v=t$e(o,d?()=>cPe(m,o)===2:void 0),E=A=>(h&&(A=BYe(A,e,i)),p&&(A=sPe(A,v,e,o)),d&&(A=Gg(A,(C,R)=>Upe(C,R,v))),A);m.forEach(A=>S(A,E)),s!==\"RemoveUnused\"&&n$e(e).forEach(A=>S(A,C=>Bpe(C,v,o)));for(let A of e.statements.filter(sd)){if(!A.body)continue;if(wY(e,A.body.statements.filter(cc)).forEach(R=>S(R,E)),s!==\"RemoveUnused\"){let R=A.body.statements.filter(xl);S(R,L=>Bpe(L,v,o))}}return l.getChanges();function S(A,C){if(yn(A)===0)return;$n(A[0],1024);let R=p?GD(A,U=>Xz(U.moduleSpecifier)):[A],L=d?Gg(R,(U,K)=>Vpe(U[0].moduleSpecifier,K[0].moduleSpecifier,v)):R,G=ta(L,U=>Xz(U[0].moduleSpecifier)||U[0].moduleSpecifier===void 0?C(U):U);if(G.length===0)l.deleteNodes(e,A,{leadingTriviaOption:er.LeadingTriviaOption.Exclude,trailingTriviaOption:er.TrailingTriviaOption.Include},!0);else{let U={leadingTriviaOption:er.LeadingTriviaOption.Exclude,trailingTriviaOption:er.TrailingTriviaOption.Include,suffix:mv(r,t.options)};l.replaceNodeWithNodes(e,A[0],G,U);let K=l.nodeHasTrailingComment(e,A[0],U);l.deleteNodes(e,A.slice(1),{trailingTriviaOption:er.TrailingTriviaOption.Include},K)}}}function wY(e,t){let r=Kg(e.languageVersion,!1,e.languageVariant),i=[],o=0;for(let s of t)i[o]&&zYe(e,s,r)&&o++,i[o]||(i[o]=[]),i[o].push(s);return i}function zYe(e,t,r){let i=t.getFullStart(),o=t.getStart();r.setText(e.text,i,o-i);let s=0;for(;r.getTokenStart()<o;)if(r.scan()===4&&(s++,s>=2))return!0;return!1}function BYe(e,t,r){let i=r.getTypeChecker(),o=r.getCompilerOptions(),s=i.getJsxNamespace(t),l=i.getJsxFragmentFactory(t),d=!!(t.transformFlags&2),p=[];for(let m of e){let{importClause:v,moduleSpecifier:E}=m;if(!v){p.push(m);continue}let{name:S,namedBindings:A}=v;if(S&&!h(S)&&(S=void 0),A)if(my(A))h(A.name)||(A=void 0);else{let C=A.elements.filter(R=>h(R.name));C.length<A.elements.length&&(A=C.length?P.updateNamedImports(A,C):void 0)}S||A?p.push(LO(m,S,A)):GYe(t,E)&&(t.isDeclarationFile?p.push(P.createImportDeclaration(m.modifiers,void 0,E,void 0)):p.push(m))}return p;function h(m){return d&&(m.text===s||l&&m.text===l)&&kJ(o.jsx)||fs.Core.isSymbolReferencedInFile(m,i,t)}}function GYe(e,t){let r=da(t)&&t.text;return fo(r)&&ct(e.moduleAugmentations,i=>da(i)&&i.text===r)}function Xz(e){return e!==void 0&&Ga(e)?e.text:void 0}function VYe(e,t,r,i){let o=WY(t);return sPe(e,o,r,i)}function sPe(e,t,r,i){if(e.length===0)return e;let o=Kw(e,l=>{if(l.attributes){let d=l.attributes.token+\" \";for(let p of uS(l.attributes.elements,(h,m)=>gd(h.name.text,m.name.text)))d+=p.name.text+\":\",d+=Ga(p.value)?`\"${p.value.text}\"`:p.value.getText()+\" \";return d}return\"\"}),s=[];for(let l in o){let d=o[l],{importWithoutClause:p,typeOnlyImports:h,regularImports:m}=jYe(d);p&&s.push(p);for(let v of[m,h]){let E=v===h,{defaultImports:S,namespaceImports:A,namedImports:C}=v;if(!E&&S.length===1&&A.length===1&&C.length===0){let $=S[0];s.push(LO($,$.importClause.name,A[0].importClause.namedBindings));continue}let R=Gg(A,($,de)=>t($.importClause.namedBindings.name.text,de.importClause.namedBindings.name.text));for(let $ of R)s.push(LO($,void 0,$.importClause.namedBindings));let L=Ac(S),G=Ac(C),U=L??G;if(!U)continue;let K,F=[];if(S.length===1)K=S[0].importClause.name;else for(let $ of S)F.push(P.createImportSpecifier(!1,P.createIdentifier(\"default\"),$.importClause.name));F.push(...$Ye(C));let oe=P.createNodeArray(lPe(F,t,i),G?.importClause.namedBindings.elements.hasTrailingComma),W=oe.length===0?K?void 0:P.createNamedImports(je):G?P.updateNamedImports(G.importClause.namedBindings,oe):P.createNamedImports(oe);r&&W&&G?.importClause.namedBindings&&!WS(G.importClause.namedBindings,r)&&$n(W,2),E&&K&&W?(s.push(LO(U,K,void 0)),s.push(LO(G??U,void 0,W))):s.push(LO(U,K,W))}}return s}function jYe(e){let t,r={defaultImports:[],namespaceImports:[],namedImports:[]},i={defaultImports:[],namespaceImports:[],namedImports:[]};for(let o of e){if(o.importClause===void 0){t=t||o;continue}let s=o.importClause.isTypeOnly?r:i,{name:l,namedBindings:d}=o.importClause;l&&s.defaultImports.push(o),d&&(my(d)?s.namespaceImports.push(o):s.namedImports.push(o))}return{importWithoutClause:t,typeOnlyImports:r,regularImports:i}}function UYe(e,t,r){let i=WY(t);return Bpe(e,i,r)}function Bpe(e,t,r){if(e.length===0)return e;let{exportWithoutClause:i,namedExports:o,typeOnlyExports:s}=d(e),l=[];i&&l.push(i);for(let p of[o,s]){if(p.length===0)continue;let h=[];h.push(...ta(p,E=>E.exportClause&&$p(E.exportClause)?E.exportClause.elements:je));let m=lPe(h,t,r),v=p[0];l.push(P.updateExportDeclaration(v,v.modifiers,v.isTypeOnly,v.exportClause&&($p(v.exportClause)?P.updateNamedExports(v.exportClause,m):P.updateNamespaceExport(v.exportClause,v.exportClause.name)),v.moduleSpecifier,v.attributes))}return l;function d(p){let h,m=[],v=[];for(let E of p)E.exportClause===void 0?h=h||E:E.isTypeOnly?v.push(E):m.push(E);return{exportWithoutClause:h,namedExports:m,typeOnlyExports:v}}}function LO(e,t,r){return P.updateImportDeclaration(e,e.modifiers,P.updateImportClause(e.importClause,e.importClause.isTypeOnly,t,r),e.moduleSpecifier,e.attributes)}function lPe(e,t,r){return Gg(e,(i,o)=>Gpe(i,o,t,r))}function Gpe(e,t,r,i){switch(i?.organizeImportsTypeOrder){case\"first\":return zv(t.isTypeOnly,e.isTypeOnly)||r(e.name.text,t.name.text);case\"inline\":return r(e.name.text,t.name.text);default:return zv(e.isTypeOnly,t.isTypeOnly)||r(e.name.text,t.name.text)}}function HYe(e,t,r){let i=WY(!!r);return Vpe(e,t,i)}function Vpe(e,t,r){let i=e===void 0?void 0:Xz(e),o=t===void 0?void 0:Xz(t);return zv(i===void 0,o===void 0)||zv(Ic(i),Ic(o))||r(i,o)}function jpe(e){var t;switch(e.kind){case 271:return(t=Vr(e.moduleReference,U_))==null?void 0:t.expression;case 272:return e.moduleSpecifier;case 243:return e.declarationList.declarations[0].initializer.arguments[0]}}function qYe(e,t){return cPe(wY(e,e.statements.filter(cc)),t)}function cPe(e,t){let r=OR(t,!1),i=OR(t,!0),o=3,s=!1;for(let l of e){if(l.length>1){let p=BD(l,h=>{var m;return((m=Vr(h.moduleSpecifier,da))==null?void 0:m.text)??\"\"},r,i);if(p&&(o&=p,s=!0),!o)return o}let d=Dr(l,p=>{var h,m;return((m=Vr((h=p.importClause)==null?void 0:h.namedBindings,sg))==null?void 0:m.elements.length)>1});if(d){let p=Hpe(d.importClause.namedBindings.elements,t);if(p&&(o&=p,s=!0),!o)return o}if(o!==3)return o}return s?0:o}function JYe(e,t){let r=OR(t,!1),i=OR(t,!0);return BD(e,o=>Xz(jpe(o))||\"\",r,i)}function KYe(e,t,r){let i=Vg(e,t,Ps,(o,s)=>Upe(o,s,r));return i<0?~i:i}function XYe(e,t,r,i){let o=Vg(e,t,Ps,(s,l)=>Gpe(s,l,r,i));return o<0?~o:o}function Upe(e,t,r){return Vpe(jpe(e),jpe(t),r)||YYe(e,t)}function YYe(e,t){return Ms(dPe(e),dPe(t))}function dPe(e){var t;switch(e.kind){case 272:return e.importClause?e.importClause.isTypeOnly?1:((t=e.importClause.namedBindings)==null?void 0:t.kind)===274?2:e.importClause.name?3:4:0;case 271:return 5;case 243:return 6}}function $Ye(e){return ta(e,t=>nn(QYe(t),r=>r.name&&r.propertyName&&r.name.escapedText===r.propertyName.escapedText?P.updateImportSpecifier(r,r.isTypeOnly,void 0,r.name):r))}function QYe(e){var t;return(t=e.importClause)!=null&&t.namedBindings&&sg(e.importClause.namedBindings)?e.importClause.namedBindings.elements:void 0}function WY(e){return e?BZ:gd}function ZYe(e,t){let r=e$e(t),i=t.organizeImportsCaseFirst??!1,o=t.organizeImportsNumericCollation??!1,s=t.organizeImportsAccentCollation??!0,l=e?s?\"accent\":\"base\":s?\"variant\":\"case\";return new Intl.Collator(r,{usage:\"sort\",caseFirst:i||\"false\",sensitivity:l,numeric:o}).compare}function e$e(e){let t=e.organizeImportsLocale;t===\"auto\"&&(t=GZ()),t===void 0&&(t=\"en\");let r=Intl.Collator.supportedLocalesOf(t);return r.length?r[0]:\"en\"}function OR(e,t){return(e.organizeImportsCollation??\"ordinal\")===\"unicode\"?ZYe(t,e):WY(t)}function t$e(e,t){let r=typeof e.organizeImportsIgnoreCase==\"boolean\"?e.organizeImportsIgnoreCase:t?.()??!1;return OR(e,r)}function n$e(e){let t=[],r=e.statements,i=yn(r),o=0,s=0;for(;o<i;)if(xl(r[o])){t[s]===void 0&&(t[s]=[]);let l=r[o];if(l.moduleSpecifier)t[s].push(l),o++;else{for(;o<i&&xl(r[o]);)t[s].push(r[o++]);s++}}else o++;return ta(t,l=>wY(e,l))}var uPe,Hpe,r$e=pt({\"src/services/organizeImports.ts\"(){\"use strict\";Hr(),uPe=class{has([e,t]){return this._lastPreferences!==t||!this._cache?!1:this._cache.has(e)}get([e,t]){if(!(this._lastPreferences!==t||!this._cache))return this._cache.get(e)}set([e,t],r){this._lastPreferences!==t&&(this._lastPreferences=t,this._cache=void 0),this._cache??(this._cache=new WeakMap),this._cache.set(e,r)}},Hpe=zZ((e,t)=>{switch(t.organizeImportsTypeOrder){case\"first\":if(!Hw(e,(o,s)=>zv(s.isTypeOnly,o.isTypeOnly)))return 0;break;case\"inline\":if(!Hw(e,(o,s)=>D1(!0)(o.name.text,s.name.text)))return 0;break;default:if(!Hw(e,(o,s)=>zv(o.isTypeOnly,s.isTypeOnly)))return 0;break}let r=OR(t,!1),i=OR(t,!0);if(t.organizeImportsTypeOrder!==\"inline\"){let{type:o,regular:s}=Kw(e,p=>p.isTypeOnly?\"type\":\"regular\"),l=o?.length?BD(o,p=>p.name.text,r,i):void 0,d=s?.length?BD(s,p=>p.name.text??\"\",r,i):void 0;return l===void 0?d??0:d===void 0?l:l===0||d===0?0:d&l}return BD(e,o=>o.name.text,r,i)},new uPe)}}),Zf={};la(Zf,{coalesceExports:()=>UYe,coalesceImports:()=>VYe,compareImportOrExportSpecifiers:()=>Gpe,compareImportsOrRequireStatements:()=>Upe,compareModuleSpecifiers:()=>HYe,detectImportDeclarationSorting:()=>JYe,detectImportSpecifierSorting:()=>Hpe,detectSorting:()=>qYe,getImportDeclarationInsertionIndex:()=>KYe,getImportSpecifierInsertionIndex:()=>XYe,getOrganizeImportsComparer:()=>OR,organizeImports:()=>FYe});var i$e=pt({\"src/services/_namespaces/ts.OrganizeImports.ts\"(){\"use strict\";r$e()}});function o$e(e,t){let r=[];return a$e(e,t,r),s$e(e,r),r.sort((i,o)=>i.textSpan.start-o.textSpan.start)}function a$e(e,t,r){let i=40,o=0,s=[...e.statements,e.endOfFileToken],l=s.length;for(;o<l;){for(;o<l&&!AS(s[o]);)d(s[o]),o++;if(o===l)break;let p=o;for(;o<l&&AS(s[o]);)d(s[o]),o++;let h=o-1;h!==p&&r.push(Yz(Ya(s[p],102,e).getStart(e),s[h].getEnd(),\"imports\"))}function d(p){var h;if(i===0)return;t.throwIfCancellationRequested(),(bd(p)||cl(p)||Kf(p)||Hm(p)||p.kind===1)&&fPe(p,e,t,r),Lo(p)&&Zn(p.parent)&&Er(p.parent.left)&&fPe(p.parent.left,e,t,r),(Do(p)||n_(p))&&qpe(p.statements.end,e,t,r),(Kr(p)||Gd(p))&&qpe(p.members.end,e,t,r);let m=l$e(p,e);m&&r.push(m),i--,Bo(p)?(i++,d(p.expression),i--,p.arguments.forEach(d),(h=p.typeArguments)==null||h.forEach(d)):HS(p)&&p.elseStatement&&HS(p.elseStatement)?(d(p.expression),d(p.thenStatement),i++,d(p.elseStatement),i--):p.forEachChild(d),i++}}function s$e(e,t){let r=[],i=e.getLineStarts();for(let o of i){let s=e.getLineEndOfPosition(o),l=e.text.substring(o,s),d=pPe(l);if(!(!d||uv(e,o)))if(d[1]){let p=r.pop();p&&(p.textSpan.length=s-p.textSpan.start,p.hintSpan.length=s-p.textSpan.start,t.push(p))}else{let p=Gl(e.text.indexOf(\"//\",o),s);r.push(BI(p,\"region\",p,!1,d[2]||\"#region\"))}}}function pPe(e){return e=e.trimStart(),Ui(e,\"//\")?(e=e.slice(2).trim(),mPe.exec(e)):null}function qpe(e,t,r,i){let o=mh(t.text,e);if(!o)return;let s=-1,l=-1,d=0,p=t.getFullText();for(let{kind:m,pos:v,end:E}of o)switch(r.throwIfCancellationRequested(),m){case 2:let S=p.slice(v,E);if(pPe(S)){h(),d=0;break}d===0&&(s=v),l=E,d++;break;case 3:h(),i.push(Yz(v,E,\"comment\")),d=0;break;default:x.assertNever(m)}h();function h(){d>1&&i.push(Yz(s,l,\"comment\"))}}function fPe(e,t,r,i){ZA(e)||qpe(e.pos,t,r,i)}function Yz(e,t,r){return BI(Gl(e,t),r)}function l$e(e,t){switch(e.kind){case 241:if(Lo(e.parent))return c$e(e.parent,e,t);switch(e.parent.kind){case 246:case 249:case 250:case 248:case 245:case 247:case 254:case 299:return m(e.parent);case 258:let S=e.parent;if(S.tryBlock===e)return m(e.parent);if(S.finallyBlock===e){let A=Ya(S,98,t);if(A)return m(A)}default:return BI(eu(e,t),\"code\")}case 268:return m(e.parent);case 263:case 231:case 264:case 266:case 269:case 187:case 206:return m(e);case 189:return m(e,!1,!aI(e.parent),23);case 296:case 297:return v(e.statements);case 210:return h(e);case 209:return h(e,23);case 284:return s(e);case 288:return l(e);case 285:case 286:return d(e.attributes);case 228:case 15:return p(e);case 207:return m(e,!1,!Na(e.parent),23);case 219:return o(e);case 213:return i(e);case 217:return E(e);case 275:case 279:case 300:return r(e)}function r(S){if(!S.elements.length)return;let A=Ya(S,19,t),C=Ya(S,20,t);if(!(!A||!C||Jp(A.pos,C.pos,t)))return FY(A,C,S,t,!1,!1)}function i(S){if(!S.arguments.length)return;let A=Ya(S,21,t),C=Ya(S,22,t);if(!(!A||!C||Jp(A.pos,C.pos,t)))return FY(A,C,S,t,!1,!0)}function o(S){if(Do(S.body)||uu(S.body)||Jp(S.body.getFullStart(),S.body.getEnd(),t))return;let A=Gl(S.body.getFullStart(),S.body.getEnd());return BI(A,\"code\",eu(S))}function s(S){let A=Gl(S.openingElement.getStart(t),S.closingElement.getEnd()),C=S.openingElement.tagName.getText(t),R=\"<\"+C+\">...</\"+C+\">\";return BI(A,\"code\",A,!1,R)}function l(S){let A=Gl(S.openingFragment.getStart(t),S.closingFragment.getEnd());return BI(A,\"code\",A,!1,\"<>...</>\")}function d(S){if(S.properties.length!==0)return Yz(S.getStart(t),S.getEnd(),\"code\")}function p(S){if(!(S.kind===15&&S.text.length===0))return Yz(S.getStart(t),S.getEnd(),\"code\")}function h(S,A=19){return m(S,!1,!Bd(S.parent)&&!Bo(S.parent),A)}function m(S,A=!1,C=!0,R=19,L=R===19?20:24){let G=Ya(e,R,t),U=Ya(e,L,t);return G&&U&&FY(G,U,S,t,A,C)}function v(S){return S.length?BI(yy(S),\"code\"):void 0}function E(S){if(Jp(S.getStart(),S.getEnd(),t))return;let A=Gl(S.getStart(),S.getEnd());return BI(A,\"code\",eu(S))}}function c$e(e,t,r){let i=d$e(e,t,r),o=Ya(t,20,r);return i&&o&&FY(i,o,e,r,e.kind!==219)}function FY(e,t,r,i,o=!1,s=!0){let l=Gl(s?e.getFullStart():e.getStart(i),t.getEnd());return BI(l,\"code\",eu(r,i),o)}function BI(e,t,r=e,i=!1,o=\"...\"){return{textSpan:e,kind:t,hintSpan:r,bannerText:o,autoCollapse:i}}function d$e(e,t,r){if(kne(e.parameters,r)){let i=Ya(e,21,r);if(i)return i}return Ya(t,19,r)}var mPe,u$e=pt({\"src/services/outliningElementsCollector.ts\"(){\"use strict\";Hr(),mPe=/^#(end)?region(?:\\s+(.*))?(?:\\r)?$/}}),zY={};la(zY,{collectElements:()=>o$e});var p$e=pt({\"src/services/_namespaces/ts.OutliningElementsCollector.ts\"(){\"use strict\";u$e()}});function f$e(e,t,r,i){let o=g3(pu(t,r));if(hPe(o)){let s=m$e(o,e.getTypeChecker(),t,e,i);if(s)return s}return BY(f.You_cannot_rename_this_element)}function m$e(e,t,r,i,o){let s=t.getSymbolAtLocation(e);if(!s){if(Ga(e)){let E=h3(e,t);if(E&&(E.flags&128||E.flags&1048576&&ji(E.types,S=>!!(S.flags&128))))return Jpe(e.text,e.text,\"string\",\"\",e,r)}else if(Gq(e)){let E=Vl(e);return Jpe(E,E,\"label\",\"\",e,r)}return}let{declarations:l}=s;if(!l||l.length===0)return;if(l.some(E=>_$e(i,E)))return BY(f.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);if(Me(e)&&e.escapedText===\"default\"&&s.parent&&s.parent.flags&1536)return;if(Ga(e)&&xL(e))return o.allowRenameOfImportPath?g$e(e,r,s):void 0;let d=h$e(r,s,t,o);if(d)return BY(d);let p=gv.getSymbolKind(t,s,e),h=sle(e)||Ap(e)&&e.parent.kind===167?Sf(Ef(e)):void 0,m=h||t.symbolToString(s),v=h||t.getFullyQualifiedName(s);return Jpe(m,v,p,gv.getSymbolModifiers(t,s),e,r)}function _$e(e,t){let r=t.getSourceFile();return e.isSourceFileDefaultLibrary(r)&&el(r.fileName,\".d.ts\")}function h$e(e,t,r,i){if(!i.providePrefixAndSuffixTextForRename&&t.flags&2097152){let l=t.declarations&&Dr(t.declarations,d=>Iu(d));l&&!l.propertyName&&(t=r.getAliasedSymbol(t))}let{declarations:o}=t;if(!o)return;let s=_Pe(e.path);if(s===void 0)return ct(o,l=>tO(l.getSourceFile().path))?f.You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:void 0;for(let l of o){let d=_Pe(l.getSourceFile().path);if(d){let p=Math.min(s.length,d.length);for(let h=0;h<=p;h++)if(gd(s[h],d[h])!==0)return f.You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder}}}function _Pe(e){let t=mc(e),r=t.lastIndexOf(\"node_modules\");if(r!==-1)return t.slice(0,r+2)}function g$e(e,t,r){if(!Ic(e.text))return BY(f.You_cannot_rename_a_module_via_a_global_import);let i=r.declarations&&Dr(r.declarations,Li);if(!i)return;let o=Zs(e.text,\"/index\")||Zs(e.text,\"/index.js\")?void 0:UZ(Yd(i.fileName),\"/index\"),s=o===void 0?i.fileName:o,l=o===void 0?\"module\":\"directory\",d=e.text.lastIndexOf(\"/\")+1,p=qc(e.getStart(t)+1+d,e.text.length-d);return{canRename:!0,fileToRename:s,kind:l,displayName:s,fullDisplayName:e.text,kindModifiers:\"\",triggerSpan:p}}function Jpe(e,t,r,i,o,s){return{canRename:!0,fileToRename:void 0,kind:r,displayName:e,fullDisplayName:t,kindModifiers:i,triggerSpan:v$e(o,s)}}function BY(e){return{canRename:!1,localizedErrorMessage:vo(e)}}function v$e(e,t){let r=e.getStart(t),i=e.getWidth(t);return Ga(e)&&(r+=1,i-=2),qc(r,i)}function hPe(e){switch(e.kind){case 80:case 81:case 11:case 15:case 110:return!0;case 9:return p3(e);default:return!1}}var y$e=pt({\"src/services/rename.ts\"(){\"use strict\";Hr()}}),$z={};la($z,{getRenameInfo:()=>f$e,nodeIsEligibleForRename:()=>hPe});var b$e=pt({\"src/services/_namespaces/ts.Rename.ts\"(){\"use strict\";y$e()}});function E$e(e,t,r,i,o){let s=e.getTypeChecker(),l=v3(t,r);if(!l)return;let d=!!i&&i.kind===\"characterTyped\";if(d&&(RI(t,r,l)||uv(t,r)))return;let p=!!i&&i.kind===\"invoked\",h=F$e(l,r,t,s,p);if(!h)return;o.throwIfCancellationRequested();let m=S$e(h,s,t,l,d);return o.throwIfCancellationRequested(),m?s.runWithCancellationToken(o,v=>m.kind===0?APe(m.candidates,m.resolvedSignature,h,t,v):B$e(m.symbol,h,t,v)):wd(t)?A$e(h,e,o):void 0}function S$e({invocation:e,argumentCount:t},r,i,o,s){switch(e.kind){case 0:{if(s&&!T$e(o,e.node,i))return;let l=[],d=r.getResolvedSignatureForSignatureHelp(e.node,l,t);return l.length===0?void 0:{kind:0,candidates:l,resolvedSignature:d}}case 1:{let{called:l}=e;if(s&&!gPe(o,i,Me(l)?l.parent:l))return;let d=$q(l,t,r);if(d.length!==0)return{kind:0,candidates:d,resolvedSignature:Ta(d)};let p=r.getSymbolAtLocation(l);return p&&{kind:1,symbol:p}}case 2:return{kind:0,candidates:[e.signature],resolvedSignature:e.signature};default:return x.assertNever(e)}}function T$e(e,t,r){if(!Hm(t))return!1;let i=t.getChildren(r);switch(e.kind){case 21:return To(i,e);case 28:{let o=_3(e);return!!o&&To(i,o)}case 30:return gPe(e,r,t.expression);default:return!1}}function A$e(e,t,r){if(e.invocation.kind===2)return;let i=SPe(e.invocation),o=Er(i)?i.name.text:void 0,s=t.getTypeChecker();return o===void 0?void 0:ml(t.getSourceFiles(),l=>ml(l.getNamedDeclarations().get(o),d=>{let p=d.symbol&&s.getTypeOfSymbolAtLocation(d.symbol,d),h=p&&p.getCallSignatures();if(h&&h.length)return s.runWithCancellationToken(r,m=>APe(h,h[0],e,l,m,!0))}))}function gPe(e,t,r){let i=e.getFullStart(),o=e.parent;for(;o;){let s=ec(i,t,o,!0);if(s)return Np(r,s);o=o.parent}return x.fail(\"Could not find preceding token\")}function I$e(e,t,r,i){let o=yPe(e,t,r,i);return!o||o.isTypeParameterList||o.invocation.kind!==0?void 0:{invocation:o.invocation.node,argumentCount:o.argumentCount,argumentIndex:o.argumentIndex}}function vPe(e,t,r,i){let o=x$e(e,r,i);if(!o)return;let{list:s,argumentIndex:l}=o,d=k$e(i,s);l!==0&&x.assertLessThan(l,d);let p=w$e(s,r);return{list:s,argumentIndex:l,argumentCount:d,argumentsSpan:p}}function x$e(e,t,r){if(e.kind===30||e.kind===21)return{list:z$e(e.parent,e,t),argumentIndex:0};{let i=_3(e);return i&&{list:i,argumentIndex:L$e(r,i,e)}}}function yPe(e,t,r,i){let{parent:o}=e;if(Hm(o)){let s=o,l=vPe(e,t,r,i);if(!l)return;let{list:d,argumentIndex:p,argumentCount:h,argumentsSpan:m}=l;return{isTypeParameterList:!!o.typeArguments&&o.typeArguments.pos===d.pos,invocation:{kind:0,node:s},argumentsSpan:m,argumentIndex:p,argumentCount:h}}else{if(eI(e)&&a0(o))return Vk(e,t,r)?Xpe(o,0,r):void 0;if(tI(e)&&o.parent.kind===215){let s=o,l=s.parent;x.assert(s.kind===228);let d=Vk(e,t,r)?0:1;return Xpe(l,d,r)}else if(uN(o)&&a0(o.parent.parent)){let s=o,l=o.parent.parent;if(d6(e)&&!Vk(e,t,r))return;let d=s.parent.templateSpans.indexOf(s),p=O$e(d,e,t,r);return Xpe(l,p,r)}else if(Od(o)){let s=o.attributes.pos,l=pa(r.text,o.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:o},argumentsSpan:qc(s,l-s),argumentIndex:0,argumentCount:1}}else{let s=Qq(e,r);if(s){let{called:l,nTypeArguments:d}=s,p={kind:1,called:l},h=Gl(l.getStart(r),e.end);return{isTypeParameterList:!0,invocation:p,argumentsSpan:h,argumentIndex:d,argumentCount:d+1}}return}}}function R$e(e,t,r,i){return D$e(e,t,r,i)||yPe(e,t,r,i)}function bPe(e){return Zn(e.parent)?bPe(e.parent):e}function Kpe(e){return Zn(e.left)?Kpe(e.left)+1:2}function D$e(e,t,r,i){let o=C$e(e);if(o===void 0)return;let s=N$e(o,r,t,i);if(s===void 0)return;let{contextualType:l,argumentIndex:d,argumentCount:p,argumentsSpan:h}=s,m=l.getNonNullableType(),v=m.symbol;if(v===void 0)return;let E=Ns(m.getCallSignatures());return E===void 0?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:E,node:e,symbol:P$e(v)},argumentsSpan:h,argumentIndex:d,argumentCount:p}}function C$e(e){switch(e.kind){case 21:case 28:return e;default:return Rn(e.parent,t=>ao(t)?!0:Na(t)||Rf(t)||i0(t)?!1:\"quit\")}}function N$e(e,t,r,i){let{parent:o}=e;switch(o.kind){case 217:case 174:case 218:case 219:let s=vPe(e,r,t,i);if(!s)return;let{argumentIndex:l,argumentCount:d,argumentsSpan:p}=s,h=El(o)?i.getContextualTypeForObjectLiteralElement(o):i.getContextualType(o);return h&&{contextualType:h,argumentIndex:l,argumentCount:d,argumentsSpan:p};case 226:{let m=bPe(o),v=i.getContextualType(m),E=e.kind===21?0:Kpe(o)-1,S=Kpe(m);return v&&{contextualType:v,argumentIndex:E,argumentCount:S,argumentsSpan:eu(o)}}default:return}}function P$e(e){return e.name===\"__type\"&&ml(e.declarations,t=>{var r;return G_(t)?(r=Vr(t.parent,qm))==null?void 0:r.symbol:void 0})||e}function M$e(e,t){let r=t.getTypeAtLocation(e.expression);if(t.isTupleType(r)){let{elementFlags:i,fixedLength:o}=r.target;if(o===0)return 0;let s=Tl(i,l=>!(l&1));return s<0?o:s}return 0}function L$e(e,t,r){return EPe(e,t,r)}function k$e(e,t){return EPe(e,t,void 0)}function EPe(e,t,r){let i=t.getChildren(),o=0,s=!1;for(let l of i){if(r&&l===r)return!s&&l.kind===28&&o++,o;if(bm(l)){o+=M$e(l,e),s=!0;continue}if(l.kind!==28){o++,s=!0;continue}if(s){s=!1;continue}o++}return r?o:i.length&&Da(i).kind===28?o+1:o}function O$e(e,t,r,i){return x.assert(r>=t.getStart(),\"Assumed 'position' could not occur before node.\"),Hee(t)?Vk(t,r,i)?0:e+2:e+1}function Xpe(e,t,r){let i=eI(e.template)?1:e.template.templateSpans.length+1;return t!==0&&x.assertLessThan(t,i),{isTypeParameterList:!1,invocation:{kind:0,node:e},argumentsSpan:W$e(e,r),argumentIndex:t,argumentCount:i}}function w$e(e,t){let r=e.getFullStart(),i=pa(t.text,e.getEnd(),!1);return qc(r,i-r)}function W$e(e,t){let r=e.template,i=r.getStart(),o=r.getEnd();return r.kind===228&&Da(r.templateSpans).literal.getFullWidth()===0&&(o=pa(t.text,o,!1)),qc(i,o-i)}function F$e(e,t,r,i,o){for(let s=e;!Li(s)&&(o||!Do(s));s=s.parent){x.assert(Np(s.parent,s),\"Not a subspan\",()=>`Child: ${x.formatSyntaxKind(s.kind)}, parent: ${x.formatSyntaxKind(s.parent.kind)}`);let l=R$e(s,t,r,i);if(l)return l}}function z$e(e,t,r){let i=e.getChildren(r),o=i.indexOf(t);return x.assert(o>=0&&i.length>o+1),i[o+1]}function SPe(e){return e.kind===0?vW(e.node):e.called}function TPe(e){return e.kind===0?e.node:e.kind===1?e.called:e.node}function APe(e,t,{isTypeParameterList:r,argumentCount:i,argumentsSpan:o,invocation:s,argumentIndex:l},d,p,h){var m;let v=TPe(s),E=s.kind===2?s.symbol:p.getSymbolAtLocation(SPe(s))||h&&((m=t.declaration)==null?void 0:m.symbol),S=E?tP(p,E,h?d:void 0,void 0):je,A=nn(e,U=>V$e(U,S,r,p,v,d));l!==0&&x.assertLessThan(l,i);let C=0,R=0;for(let U=0;U<A.length;U++){let K=A[U];if(e[U]===t&&(C=R,K.length>1)){let F=0;for(let oe of K){if(oe.isVariadic||oe.parameters.length>=i){C=R+F;break}F++}}R+=K.length}x.assert(C!==-1);let L={items:wD(A,Ps),applicableSpan:o,selectedItemIndex:C,argumentIndex:l,argumentCount:i},G=L.items[C];if(G.isVariadic){let U=Tl(G.parameters,K=>!!K.isRest);-1<U&&U<G.parameters.length-1?L.argumentIndex=G.parameters.length:L.argumentIndex=Math.min(L.argumentIndex,G.parameters.length-1)}return L}function B$e(e,{argumentCount:t,argumentsSpan:r,invocation:i,argumentIndex:o},s,l){let d=l.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);return d?{items:[G$e(e,d,l,TPe(i),s)],applicableSpan:r,selectedItemIndex:0,argumentIndex:o,argumentCount:t}:void 0}function G$e(e,t,r,i,o){let s=tP(r,e),l=y0(),d=t.map(v=>IPe(v,r,i,o,l)),p=e.getDocumentationComment(r),h=e.getJsDocTags(r);return{isVariadic:!1,prefixDisplayParts:[...s,Ad(30)],suffixDisplayParts:[Ad(32)],separatorDisplayParts:Ype,parameters:d,documentation:p,tags:h}}function V$e(e,t,r,i,o,s){let l=(r?U$e:H$e)(e,i,o,s);return nn(l,({isVariadic:d,parameters:p,prefix:h,suffix:m})=>{let v=[...t,...h],E=[...m,...j$e(e,o,i)],S=e.getDocumentationComment(i),A=e.getJsDocTags();return{isVariadic:d,prefixDisplayParts:v,suffixDisplayParts:E,separatorDisplayParts:Ype,parameters:p,documentation:S,tags:A}})}function j$e(e,t,r){return by(i=>{i.writePunctuation(\":\"),i.writeSpace(\" \");let o=r.getTypePredicateOfSignature(e);o?r.writeTypePredicate(o,t,void 0,i):r.writeType(r.getReturnTypeOfSignature(e),t,void 0,i)})}function U$e(e,t,r,i){let o=(e.target||e).typeParameters,s=y0(),l=(o||je).map(p=>IPe(p,t,r,i,s)),d=e.thisParameter?[t.symbolToParameterDeclaration(e.thisParameter,r,kO)]:[];return t.getExpandedParameters(e).map(p=>{let h=P.createNodeArray([...d,...nn(p,v=>t.symbolToParameterDeclaration(v,r,kO))]),m=by(v=>{s.writeList(2576,h,i,v)});return{isVariadic:!1,parameters:l,prefix:[Ad(30)],suffix:[Ad(32),...m]}})}function H$e(e,t,r,i){let o=y0(),s=by(p=>{if(e.typeParameters&&e.typeParameters.length){let h=P.createNodeArray(e.typeParameters.map(m=>t.typeParameterToDeclaration(m,r,kO)));o.writeList(53776,h,i,p)}}),l=t.getExpandedParameters(e),d=t.hasEffectiveRestParameter(e)?l.length===1?p=>!0:p=>{var h;return!!(p.length&&((h=Vr(p[p.length-1],k_))==null?void 0:h.links.checkFlags)&32768)}:p=>!1;return l.map(p=>({isVariadic:d(p),parameters:p.map(h=>q$e(h,t,r,i,o)),prefix:[...s,Ad(21)],suffix:[Ad(22)]}))}function q$e(e,t,r,i,o){let s=by(p=>{let h=t.symbolToParameterDeclaration(e,r,kO);o.writeNode(4,h,i,p)}),l=t.isOptionalParameter(e.valueDeclaration),d=k_(e)&&!!(e.links.checkFlags&32768);return{name:e.name,documentation:e.getDocumentationComment(t),displayParts:s,isOptional:l,isRest:d}}function IPe(e,t,r,i,o){let s=by(l=>{let d=t.typeParameterToDeclaration(e,r,kO);o.writeNode(4,d,i,l)});return{name:e.symbol.name,documentation:e.symbol.getDocumentationComment(t),displayParts:s,isOptional:!1,isRest:!1}}var kO,Ype,J$e=pt({\"src/services/signatureHelp.ts\"(){\"use strict\";Hr(),kO=70246400,Ype=[Ad(28),ul()]}}),OO={};la(OO,{getArgumentInfoForCompletions:()=>I$e,getSignatureHelpItems:()=>E$e});var K$e=pt({\"src/services/_namespaces/ts.SignatureHelp.ts\"(){\"use strict\";J$e()}});function X$e(e,t){var r,i;let o={textSpan:Gl(t.getFullStart(),t.getEnd())},s=t;e:for(;;){let p=$$e(s);if(!p.length)break;for(let h=0;h<p.length;h++){let m=p[h-1],v=p[h],E=p[h+1];if(Tb(v,t,!0)>e)break e;let S=R_(mb(t.text,v.end));if(S&&S.kind===2&&d(S.pos,S.end),Y$e(t,e,v)){if(t9(v)&&hs(s)&&!Jp(v.getStart(t),v.getEnd(),t)&&l(v.getStart(t),v.getEnd()),Do(v)||uN(v)||tI(v)||d6(v)||m&&tI(m)||yc(v)&&cl(s)||jx(v)&&yc(s)||yi(v)&&jx(s)&&p.length===1||f0(v)||wb(v)||YS(v)){s=v;break}if(uN(s)&&E&&B8(E)){let L=v.getFullStart()-2,G=E.getStart()+1;l(L,G)}let A=jx(v)&&Q$e(m)&&Z$e(E)&&!Jp(m.getStart(),E.getStart(),t),C=A?m.getEnd():v.getStart(),R=A?E.getStart():eQe(t,v);if(ap(v)&&((r=v.jsDoc)!=null&&r.length)&&l(Ta(v.jsDoc).getStart(),R),jx(v)){let L=v.getChildren()[0];L&&ap(L)&&((i=L.jsDoc)!=null&&i.length)&&L.getStart()!==v.pos&&(C=Math.min(C,Ta(L.jsDoc).getStart()))}l(C,R),(da(v)||NA(v))&&l(C+1,R-1),s=v;break}if(h===p.length-1)break e}}return o;function l(p,h){if(p!==h){let m=Gl(p,h);(!o||!vR(m,o.textSpan)&&Tee(m,e))&&(o={textSpan:m,...o&&{parent:o}})}}function d(p,h){l(p,h);let m=p;for(;t.text.charCodeAt(m)===47;)m++;l(m,h)}}function Y$e(e,t,r){return x.assert(r.pos<=t),t<r.end?!0:r.getEnd()===t?pu(e,t).pos<r.end:!1}function $$e(e){var t;if(Li(e))return wO(e.getChildAt(0).getChildren(),xPe);if(wx(e)){let[r,...i]=e.getChildren(),o=x.checkDefined(i.pop());x.assertEqual(r.kind,19),x.assertEqual(o.kind,20);let s=wO(i,d=>d===e.readonlyToken||d.kind===148||d===e.questionToken||d.kind===58),l=wO(s,({kind:d})=>d===23||d===168||d===24);return[r,WO(GY(l,({kind:d})=>d===59)),o]}if(Gu(e)){let r=wO(e.getChildren(),l=>l===e.name||To(e.modifiers,l)),i=((t=r[0])==null?void 0:t.kind)===327?r[0]:void 0,o=i?r.slice(1):r,s=GY(o,({kind:l})=>l===59);return i?[i,WO(s)]:s}if(ao(e)){let r=wO(e.getChildren(),o=>o===e.dotDotDotToken||o===e.name),i=wO(r,o=>o===r[0]||o===e.questionToken);return GY(i,({kind:o})=>o===64)}return Na(e)?GY(e.getChildren(),({kind:r})=>r===64):e.getChildren()}function wO(e,t){let r=[],i;for(let o of e)t(o)?(i=i||[],i.push(o)):(i&&(r.push(WO(i)),i=void 0),r.push(o));return i&&r.push(WO(i)),r}function GY(e,t,r=!0){if(e.length<2)return e;let i=Tl(e,t);if(i===-1)return e;let o=e.slice(0,i),s=e[i],l=Da(e),d=r&&l.kind===27,p=e.slice(i+1,d?e.length-1:void 0),h=pM([o.length?WO(o):void 0,s,p.length?WO(p):void 0]);return d?h.concat(l):h}function WO(e){return x.assertGreaterThanOrEqual(e.length,1),F_(H_.createSyntaxList(e),e[0].pos,Da(e).end)}function Q$e(e){let t=e&&e.kind;return t===19||t===23||t===21||t===286}function Z$e(e){let t=e&&e.kind;return t===20||t===24||t===22||t===287}function eQe(e,t){switch(t.kind){case 348:case 345:case 355:case 353:case 350:return e.getLineEndOfPosition(t.getStart());default:return t.getEnd()}}var xPe,tQe=pt({\"src/services/smartSelection.ts\"(){\"use strict\";Hr(),xPe=hm(cc,Nc)}}),VY={};la(VY,{getSmartSelectionRange:()=>X$e});var nQe=pt({\"src/services/_namespaces/ts.SmartSelectionRange.ts\"(){\"use strict\";tQe()}});function RPe(e,t,r){let i=DPe(e,t,r);if(i!==\"\")return i;let o=Sx(t);return o&32?Vs(t,231)?\"local class\":\"class\":o&384?\"enum\":o&524288?\"type\":o&64?\"interface\":o&262144?\"type parameter\":o&8?\"enum member\":o&2097152?\"alias\":o&1536?\"module\":i}function DPe(e,t,r){let i=e.getRootSymbols(t);if(i.length===1&&Ta(i).flags&8192&&e.getTypeOfSymbolAtLocation(t,r).getNonNullableType().getCallSignatures().length!==0)return\"method\";if(e.isUndefinedSymbol(t))return\"var\";if(e.isArgumentsSymbol(t))return\"local var\";if(r.kind===110&&lt(r)||zA(r))return\"parameter\";let o=Sx(t);if(o&3)return hJ(t)?\"parameter\":t.valueDeclaration&&Z1(t.valueDeclaration)?\"const\":t.valueDeclaration&&cL(t.valueDeclaration)?\"using\":t.valueDeclaration&&lL(t.valueDeclaration)?\"await using\":an(t.declarations,lW)?\"let\":PPe(t)?\"local var\":\"var\";if(o&16)return PPe(t)?\"local function\":\"function\";if(o&32768)return\"getter\";if(o&65536)return\"setter\";if(o&8192)return\"method\";if(o&16384)return\"constructor\";if(o&131072)return\"index\";if(o&4){if(o&33554432&&t.links.checkFlags&6){let s=an(e.getRootSymbols(t),l=>{if(l.getFlags()&98311)return\"property\"});return s||(e.getTypeOfSymbolAtLocation(t,r).getCallSignatures().length?\"method\":\"property\")}return\"property\"}return\"\"}function CPe(e){if(e.declarations&&e.declarations.length){let[t,...r]=e.declarations,i=yn(r)&&H3(t)&&ct(r,s=>!H3(s))?65536:0,o=YN(t,i);if(o)return o.split(\",\")}return[]}function rQe(e,t){if(!t)return\"\";let r=new Set(CPe(t));if(t.flags&2097152){let i=e.getAliasedSymbol(t);i!==t&&an(CPe(i),o=>{r.add(o)})}return t.flags&16777216&&r.add(\"optional\"),r.size>0?bo(r.values()).join(\",\"):\"\"}function NPe(e,t,r,i,o,s,l,d){var p;let h=[],m=[],v=[],E=Sx(t),S=l&1?DPe(e,t,o):\"\",A=!1,C=o.kind===110&&bW(o)||zA(o),R,L,G=!1;if(o.kind===110&&!C)return{displayParts:[Hu(110)],documentation:[],symbolKind:\"primitive type\",tags:void 0};if(S!==\"\"||E&32||E&2097152){if(S===\"getter\"||S===\"setter\"){let le=Dr(t.declarations,Ee=>Ee.name===o);if(le)switch(le.kind){case 177:S=\"getter\";break;case 178:S=\"setter\";break;case 172:S=\"accessor\";break;default:x.assertNever(le)}else S=\"property\"}let H;if(s??(s=C?e.getTypeAtLocation(o):e.getTypeOfSymbolAtLocation(t,o)),o.parent&&o.parent.kind===211){let le=o.parent.name;(le===o||le&&le.getFullWidth()===0)&&(o=o.parent)}let ee;if(Hm(o)?ee=o:(Wq(o)||KN(o)||o.parent&&(Od(o.parent)||a0(o.parent))&&Lo(t.valueDeclaration))&&(ee=o.parent),ee){H=e.getResolvedSignature(ee);let le=ee.kind===214||Bo(ee)&&ee.expression.kind===108,Ee=le?s.getConstructSignatures():s.getCallSignatures();if(H&&!To(Ee,H.target)&&!To(Ee,H)&&(H=Ee.length?Ee[0]:void 0),H){switch(le&&E&32?(S=\"constructor\",$(s.symbol,S)):E&2097152?(S=\"alias\",de(S),h.push(ul()),le&&(H.flags&4&&(h.push(Hu(128)),h.push(ul())),h.push(Hu(105)),h.push(ul())),W(t)):$(t,S),S){case\"JSX attribute\":case\"property\":case\"var\":case\"const\":case\"let\":case\"parameter\":case\"local var\":h.push(Ad(59)),h.push(ul()),!(br(s)&16)&&s.symbol&&(Pr(h,tP(e,s.symbol,i,void 0,5)),h.push(yR())),le&&(H.flags&4&&(h.push(Hu(128)),h.push(ul())),h.push(Hu(105)),h.push(ul())),fe(H,Ee,262144);break;default:fe(H,Ee)}A=!0,G=Ee.length>1}}else if(Hq(o)&&!(E&98304)||o.kind===137&&o.parent.kind===176){let le=o.parent;if(t.declarations&&Dr(t.declarations,ce=>ce===(o.kind===137?le.parent:le))){let ce=le.kind===176?s.getNonNullableType().getConstructSignatures():s.getNonNullableType().getCallSignatures();e.isImplementationOfOverload(le)?H=ce[0]:H=e.getSignatureFromDeclaration(le),le.kind===176?(S=\"constructor\",$(s.symbol,S)):$(le.kind===179&&!(s.symbol.flags&2048||s.symbol.flags&4096)?s.symbol:t,S),H&&fe(H,ce),A=!0,G=ce.length>1}}}if(E&32&&!A&&!C&&(F(),Vs(t,231)?de(\"local class\"):h.push(Hu(86)),h.push(ul()),W(t),q(t,r)),E&64&&l&2&&(K(),h.push(Hu(120)),h.push(ul()),W(t),q(t,r)),E&524288&&l&2&&(K(),h.push(Hu(156)),h.push(ul()),W(t),q(t,r),h.push(ul()),h.push(eP(64)),h.push(ul()),Pr(h,Xk(e,o.parent&&Qh(o.parent)?e.getTypeAtLocation(o.parent):e.getDeclaredTypeOfSymbol(t),i,8388608))),E&384&&(K(),ct(t.declarations,H=>kb(H)&&BE(H))&&(h.push(Hu(87)),h.push(ul())),h.push(Hu(94)),h.push(ul()),W(t)),E&1536&&!C){K();let H=Vs(t,267),ee=H&&H.name&&H.name.kind===80;h.push(Hu(ee?145:144)),h.push(ul()),W(t)}if(E&262144&&l&2)if(K(),h.push(Ad(21)),h.push(Mp(\"type parameter\")),h.push(Ad(22)),h.push(ul()),W(t),t.parent)oe(),W(t.parent,i),q(t.parent,i);else{let H=Vs(t,168);if(H===void 0)return x.fail();let ee=H.parent;if(ee)if(Lo(ee)){oe();let le=e.getSignatureFromDeclaration(ee);ee.kind===180?(h.push(Hu(105)),h.push(ul())):ee.kind!==179&&ee.name&&W(ee.symbol),Pr(h,yJ(e,le,r,32))}else Xf(ee)&&(oe(),h.push(Hu(156)),h.push(ul()),W(ee.symbol),q(ee.symbol,r))}if(E&8){S=\"enum member\",$(t,\"enum member\");let H=(p=t.declarations)==null?void 0:p[0];if(H?.kind===306){let ee=e.getConstantValue(H);ee!==void 0&&(h.push(ul()),h.push(eP(64)),h.push(ul()),h.push(Ru(Ste(ee),typeof ee==\"number\"?7:8)))}}if(t.flags&2097152){if(K(),!A||m.length===0&&v.length===0){let H=e.getAliasedSymbol(t);if(H!==t&&H.declarations&&H.declarations.length>0){let ee=H.declarations[0],le=mo(ee);if(le&&!A){let Ee=iW(ee)&&Wr(ee,128),ce=t.name!==\"default\"&&!Ee,Z=NPe(e,H,Nn(ee),ee,le,s,l,ce?t:H);h.push(...Z.displayParts),h.push(yR()),R=Z.documentation,L=Z.tags}else R=H.getContextualDocumentationComment(ee,e),L=H.getJsDocTags(e)}}if(t.declarations)switch(t.declarations[0].kind){case 270:h.push(Hu(95)),h.push(ul()),h.push(Hu(145));break;case 277:h.push(Hu(95)),h.push(ul()),h.push(Hu(t.declarations[0].isExportEquals?64:90));break;case 281:h.push(Hu(95));break;default:h.push(Hu(102))}h.push(ul()),W(t),an(t.declarations,H=>{if(H.kind===271){let ee=H;if(Ab(ee))h.push(ul()),h.push(eP(64)),h.push(ul()),h.push(Hu(149)),h.push(Ad(21)),h.push(Ru(Vl(gC(ee)),8)),h.push(Ad(22));else{let le=e.getSymbolAtLocation(ee.moduleReference);le&&(h.push(ul()),h.push(eP(64)),h.push(ul()),W(le,i))}return!0}})}if(!A)if(S!==\"\"){if(s){if(C?(K(),h.push(Hu(110))):$(t,S),S===\"property\"||S===\"accessor\"||S===\"getter\"||S===\"setter\"||S===\"JSX attribute\"||E&3||S===\"local var\"||S===\"index\"||S===\"using\"||S===\"await using\"||C){if(h.push(Ad(59)),h.push(ul()),s.symbol&&s.symbol.flags&262144&&S!==\"index\"){let H=by(ee=>{let le=e.typeParameterToDeclaration(s,i,$pe);U().writeNode(4,le,Nn(uo(i)),ee)});Pr(h,H)}else Pr(h,Xk(e,s,i));if(k_(t)&&t.links.target&&k_(t.links.target)&&t.links.target.links.tupleLabelDeclaration){let H=t.links.target.links.tupleLabelDeclaration;x.assertNode(H.name,Me),h.push(ul()),h.push(Ad(21)),h.push(Mp(ar(H.name))),h.push(Ad(22))}}else if(E&16||E&8192||E&16384||E&131072||E&98304||S===\"method\"){let H=s.getNonNullableType().getCallSignatures();H.length&&(fe(H[0],H),G=H.length>1)}}}else S=RPe(e,t,o);if(m.length===0&&!G&&(m=t.getContextualDocumentationComment(i,e)),m.length===0&&E&4&&t.parent&&t.declarations&&an(t.parent.declarations,H=>H.kind===312))for(let H of t.declarations){if(!H.parent||H.parent.kind!==226)continue;let ee=e.getSymbolAtLocation(H.parent.right);if(ee&&(m=ee.getDocumentationComment(e),v=ee.getJsDocTags(e),m.length>0))break}if(m.length===0&&Me(o)&&t.valueDeclaration&&Na(t.valueDeclaration)){let H=t.valueDeclaration,ee=H.parent,le=H.propertyName||H.name;if(Me(le)&&Rf(ee)){let Ee=Ef(le),ce=e.getTypeAtLocation(ee);m=ml(ce.isUnion()?ce.types:[ce],Z=>{let pe=Z.getProperty(Ee);return pe?pe.getDocumentationComment(e):void 0})||je}}return v.length===0&&!G&&(v=t.getContextualJsDocTags(i,e)),m.length===0&&R&&(m=R),v.length===0&&L&&(v=L),{displayParts:h,documentation:m,symbolKind:S,tags:v.length===0?void 0:v};function U(){return y0()}function K(){h.length&&h.push(yR()),F()}function F(){d&&(de(\"alias\"),h.push(ul()))}function oe(){h.push(ul()),h.push(Hu(103)),h.push(ul())}function W(H,ee){let le;d&&H===t&&(H=d),S===\"index\"&&(le=e.getIndexInfosOfIndexSymbol(H));let Ee=[];H.flags&131072&&le?(H.parent&&(Ee=tP(e,H.parent)),Ee.push(Ad(23)),le.forEach((ce,Z)=>{Ee.push(...Xk(e,ce.keyType)),Z!==le.length-1&&(Ee.push(ul()),Ee.push(Ad(52)),Ee.push(ul()))}),Ee.push(Ad(24))):Ee=tP(e,H,ee||r,void 0,7),Pr(h,Ee),t.flags&16777216&&h.push(Ad(58))}function $(H,ee){K(),ee&&(de(ee),H&&!ct(H.declarations,le=>gs(le)||(ps(le)||Dc(le))&&!le.name)&&(h.push(ul()),W(H)))}function de(H){switch(H){case\"var\":case\"function\":case\"let\":case\"const\":case\"constructor\":case\"using\":case\"await using\":h.push(gJ(H));return;default:h.push(Ad(21)),h.push(gJ(H)),h.push(Ad(22));return}}function fe(H,ee,le=0){Pr(h,yJ(e,H,i,le|32)),ee.length>1&&(h.push(ul()),h.push(Ad(21)),h.push(eP(40)),h.push(Ru((ee.length-1).toString(),7)),h.push(ul()),h.push(Mp(ee.length===2?\"overload\":\"overloads\")),h.push(Ad(22))),m=H.getDocumentationComment(e),v=H.getJsDocTags(),ee.length>1&&m.length===0&&v.length===0&&(m=ee[0].getDocumentationComment(e),v=ee[0].getJsDocTags().filter(Ee=>Ee.name!==\"deprecated\"))}function q(H,ee){let le=by(Ee=>{let ce=e.symbolToTypeParameterDeclarations(H,ee,$pe);U().writeList(53776,ce,Nn(uo(ee)),Ee)});Pr(h,le)}}function iQe(e,t,r,i,o,s=aT(o),l){return NPe(e,t,r,i,o,void 0,s,l)}function PPe(e){return e.parent?!1:an(e.declarations,t=>{if(t.kind===218)return!0;if(t.kind!==260&&t.kind!==262)return!1;for(let r=t.parent;!VE(r);r=r.parent)if(r.kind===312||r.kind===268)return!1;return!0})}var $pe,oQe=pt({\"src/services/symbolDisplay.ts\"(){\"use strict\";Hr(),$pe=70246400}}),gv={};la(gv,{getSymbolDisplayPartsDocumentationAndSymbolKind:()=>iQe,getSymbolKind:()=>RPe,getSymbolModifiers:()=>rQe});var aQe=pt({\"src/services/_namespaces/ts.SymbolDisplay.ts\"(){\"use strict\";oQe()}});function MPe(e){let t=e.__pos;return x.assert(typeof t==\"number\"),t}function Qpe(e,t){x.assert(typeof t==\"number\"),e.__pos=t}function LPe(e){let t=e.__end;return x.assert(typeof t==\"number\"),t}function Zpe(e,t){x.assert(typeof t==\"number\"),e.__end=t}function kPe(e,t){return pa(e,t,!1,!0)}function sQe(e,t){let r=t;for(;r<e.length;){let i=e.charCodeAt(r);if(Um(i)){r++;continue}return i===47}return!1}function FO(e,t,r,i){return{pos:fT(e,t,i),end:wR(e,r,i)}}function fT(e,t,r,i=!1){var o,s;let{leadingTriviaOption:l}=r;if(l===0)return t.getStart(e);if(l===3){let S=t.getStart(e),A=Cf(S,e);return Wk(t,A)?A:S}if(l===2){let S=I9(t,e.text);if(S?.length)return Cf(S[0].pos,e)}let d=t.getFullStart(),p=t.getStart(e);if(d===p)return p;let h=Cf(d,e);if(Cf(p,e)===h)return l===1?d:p;if(i){let S=((o=mh(e.text,d))==null?void 0:o[0])||((s=mb(e.text,d))==null?void 0:s[0]);if(S)return pa(e.text,S.end,!0,!0)}let v=d>0?1:0,E=Zv(DC(e,h)+v,e);return E=kPe(e.text,E),Zv(DC(e,E),e)}function efe(e,t,r){let{end:i}=t,{trailingTriviaOption:o}=r;if(o===2){let s=mb(e.text,i);if(s){let l=DC(e,t.end);for(let d of s){if(d.kind===2||DC(e,d.pos)>l)break;if(DC(e,d.end)>l)return pa(e.text,d.end,!0,!0)}}}}function wR(e,t,r){var i;let{end:o}=t,{trailingTriviaOption:s}=r;if(s===0)return o;if(s===1){let p=ro(mb(e.text,o),mh(e.text,o)),h=(i=p?.[p.length-1])==null?void 0:i.end;return h||o}let l=efe(e,t,r);if(l)return l;let d=pa(e.text,o,!0);return d!==o&&(s===2||vd(e.text.charCodeAt(d-1)))?d:o}function jY(e,t){return!!t&&!!e.parent&&(t.kind===28||t.kind===27&&e.parent.kind===210)}function lQe(e){return ps(e)||Ql(e)}function cQe(e){if(e.kind!==219)return e;let t=e.parent.kind===172?e.parent:e.parent.parent;return t.jsDoc=e.jsDoc,t}function dQe(e,t){if(e.kind===t.kind)switch(e.kind){case 348:{let r=e,i=t;return Me(r.name)&&Me(i.name)&&r.name.escapedText===i.name.escapedText?P.createJSDocParameterTag(void 0,i.name,!1,i.typeExpression,i.isNameFirst,r.comment):void 0}case 349:return P.createJSDocReturnTag(void 0,t.typeExpression,e.comment);case 351:return P.createJSDocTypeTag(void 0,t.typeExpression,e.comment)}}function tfe(e,t){return pa(e.text,fT(e,t,{leadingTriviaOption:1}),!1,!0)}function uQe(e,t,r,i){let o=tfe(e,i);if(r===void 0||Jp(wR(e,t,{}),o,e))return o;let s=ec(i.getStart(e),e);if(jY(t,s)){let l=ec(t.getStart(e),e);if(jY(r,l)){let d=pa(e.text,s.getEnd(),!0,!0);if(Jp(l.getStart(e),s.getStart(e),e))return vd(e.text.charCodeAt(d-1))?d-1:d;if(vd(e.text.charCodeAt(d)))return d}}return o}function pQe(e,t){let r=Ya(e,19,t),i=Ya(e,20,t);return[r?.end,i?.end]}function UY(e){return ma(e)?e.properties:e.members}function nfe(e,t){for(let r=t.length-1;r>=0;r--){let{span:i,newText:o}=t[r];e=`${e.substring(0,i.start)}${o}${e.substring(Al(i))}`}return e}function fQe(e){return pa(e,0)===e.length}function HY(e){let t=un(e,HY,FPe,mQe,HY),r=xs(t)?t:Object.create(t);return F_(r,MPe(e),LPe(e)),r}function mQe(e,t,r,i,o){let s=Dn(e,t,r,i,o);if(!s)return s;x.assert(e);let l=s===e?P.createNodeArray(s.slice(0)):s;return F_(l,MPe(e),LPe(e)),l}function OPe(e){let t=0,r=GL(e),i=Z=>{Z&&Qpe(Z,t)},o=Z=>{Z&&Zpe(Z,t)},s=Z=>{Z&&Qpe(Z,t)},l=Z=>{Z&&Zpe(Z,t)},d=Z=>{Z&&Qpe(Z,t)},p=Z=>{Z&&Zpe(Z,t)};function h(Z,pe){if(pe||!fQe(Z)){t=r.getTextPos();let Ae=0;for(;$h(Z.charCodeAt(Z.length-Ae-1));)Ae++;t-=Ae}}function m(Z){r.write(Z),h(Z,!1)}function v(Z){r.writeComment(Z)}function E(Z){r.writeKeyword(Z),h(Z,!1)}function S(Z){r.writeOperator(Z),h(Z,!1)}function A(Z){r.writePunctuation(Z),h(Z,!1)}function C(Z){r.writeTrailingSemicolon(Z),h(Z,!1)}function R(Z){r.writeParameter(Z),h(Z,!1)}function L(Z){r.writeProperty(Z),h(Z,!1)}function G(Z){r.writeSpace(Z),h(Z,!1)}function U(Z){r.writeStringLiteral(Z),h(Z,!1)}function K(Z,pe){r.writeSymbol(Z,pe),h(Z,!1)}function F(Z){r.writeLine(Z)}function oe(){r.increaseIndent()}function W(){r.decreaseIndent()}function $(){return r.getText()}function de(Z){r.rawWrite(Z),h(Z,!1)}function fe(Z){r.writeLiteral(Z),h(Z,!0)}function q(){return r.getTextPos()}function H(){return r.getLine()}function ee(){return r.getColumn()}function le(){return r.getIndent()}function Ee(){return r.isAtStartOfLine()}function ce(){r.clear(),t=0}return{onBeforeEmitNode:i,onAfterEmitNode:o,onBeforeEmitNodeArray:s,onAfterEmitNodeArray:l,onBeforeEmitToken:d,onAfterEmitToken:p,write:m,writeComment:v,writeKeyword:E,writeOperator:S,writePunctuation:A,writeTrailingSemicolon:C,writeParameter:R,writeProperty:L,writeSpace:G,writeStringLiteral:U,writeSymbol:K,writeLine:F,increaseIndent:oe,decreaseIndent:W,getText:$,rawWrite:de,writeLiteral:fe,getTextPos:q,getLine:H,getColumn:ee,getIndent:le,isAtStartOfLine:Ee,hasTrailingComment:()=>r.hasTrailingComment(),hasTrailingWhitespace:()=>r.hasTrailingWhitespace(),clear:ce}}function _Qe(e){let t;for(let h of e.statements)if(Hf(h))t=h;else break;let r=0,i=e.text;if(t)return r=t.end,p(),r;let o=C8(i);o!==void 0&&(r=o.length,p());let s=mh(i,r);if(!s)return r;let l,d;for(let h of s){if(h.kind===3){if(nW(i,h.pos)){l={range:h,pinnedOrTripleSlash:!0};continue}}else if(d9(i,h.pos,h.end)){l={range:h,pinnedOrTripleSlash:!0};continue}if(l){if(l.pinnedOrTripleSlash)break;let m=e.getLineAndCharacterOfPosition(h.pos).line,v=e.getLineAndCharacterOfPosition(l.range.end).line;if(m>=v+2)break}if(e.statements.length){d===void 0&&(d=e.getLineAndCharacterOfPosition(e.statements[0].getStart()).line);let m=e.getLineAndCharacterOfPosition(h.end).line;if(d<m+2)break}l={range:h,pinnedOrTripleSlash:!1}}return l&&(r=l.range.end,p()),r;function p(){if(r<i.length){let h=i.charCodeAt(r);vd(h)&&(r++,r<i.length&&h===13&&i.charCodeAt(r)===10&&r++)}}}function wPe(e,t){return!uv(e,t)&&!RI(e,t)&&!Yq(e,t)&&!Vse(e,t)}function hQe(e,t){return(Gu(e)||xo(e))&&G8(t)&&t.name.kind===167||QM(e)&&QM(t)}function pg(e,t,r,i={leadingTriviaOption:1}){let o=fT(t,r,i),s=wR(t,r,i);e.deleteRange(t,{pos:o,end:s})}function zO(e,t,r,i){let o=x.checkDefined(uc.SmartIndenter.getContainingList(i,r)),s=Y1(o,i);if(x.assert(s!==-1),o.length===1){pg(e,r,i);return}x.assert(!t.has(i),\"Deleting a node twice\"),t.add(i),e.deleteRange(r,{pos:tfe(r,i),end:s===o.length-1?wR(r,i,{}):uQe(r,i,o[s-1],o[s+1])})}var rfe,ife,hP,WPe,qY,FPe,ofe,gQe=pt({\"src/services/textChanges.ts\"(){\"use strict\";Hr(),rfe=(e=>(e[e.Exclude=0]=\"Exclude\",e[e.IncludeAll=1]=\"IncludeAll\",e[e.JSDoc=2]=\"JSDoc\",e[e.StartLine=3]=\"StartLine\",e))(rfe||{}),ife=(e=>(e[e.Exclude=0]=\"Exclude\",e[e.ExcludeWhitespace=1]=\"ExcludeWhitespace\",e[e.Include=2]=\"Include\",e))(ife||{}),hP={leadingTriviaOption:0,trailingTriviaOption:0},WPe=class Qge{constructor(t,r){this.newLineCharacter=t,this.formatContext=r,this.changes=[],this.classesWithNodesInsertedAtStart=new Map,this.deletedNodes=[]}static fromContext(t){return new Qge(mv(t.host,t.formatContext.options),t.formatContext)}static with(t,r){let i=Qge.fromContext(t);return r(i),i.getChanges()}pushRaw(t,r){x.assertEqual(t.fileName,r.fileName);for(let i of r.textChanges)this.changes.push({kind:3,sourceFile:t,text:i.newText,range:T3(i.span)})}deleteRange(t,r){this.changes.push({kind:0,sourceFile:t,range:r})}delete(t,r){this.deletedNodes.push({sourceFile:t,node:r})}deleteNode(t,r,i={leadingTriviaOption:1}){this.deleteRange(t,FO(t,r,r,i))}deleteNodes(t,r,i={leadingTriviaOption:1},o){for(let s of r){let l=fT(t,s,i,o),d=wR(t,s,i);this.deleteRange(t,{pos:l,end:d}),o=!!efe(t,s,i)}}deleteModifier(t,r){this.deleteRange(t,{pos:r.getStart(t),end:pa(t.text,r.end,!0)})}deleteNodeRange(t,r,i,o={leadingTriviaOption:1}){let s=fT(t,r,o),l=wR(t,i,o);this.deleteRange(t,{pos:s,end:l})}deleteNodeRangeExcludingEnd(t,r,i,o={leadingTriviaOption:1}){let s=fT(t,r,o),l=i===void 0?t.text.length:fT(t,i,o);this.deleteRange(t,{pos:s,end:l})}replaceRange(t,r,i,o={}){this.changes.push({kind:1,sourceFile:t,range:r,options:o,node:i})}replaceNode(t,r,i,o=hP){this.replaceRange(t,FO(t,r,r,o),i,o)}replaceNodeRange(t,r,i,o,s=hP){this.replaceRange(t,FO(t,r,i,s),o,s)}replaceRangeWithNodes(t,r,i,o={}){this.changes.push({kind:2,sourceFile:t,range:r,options:o,nodes:i})}replaceNodeWithNodes(t,r,i,o=hP){this.replaceRangeWithNodes(t,FO(t,r,r,o),i,o)}replaceNodeWithText(t,r,i){this.replaceRangeWithText(t,FO(t,r,r,hP),i)}replaceNodeRangeWithNodes(t,r,i,o,s=hP){this.replaceRangeWithNodes(t,FO(t,r,i,s),o,s)}nodeHasTrailingComment(t,r,i=hP){return!!efe(t,r,i)}nextCommaToken(t,r){let i=S0(r,r.parent,t);return i&&i.kind===28?i:void 0}replacePropertyAssignment(t,r,i){let o=this.nextCommaToken(t,r)?\"\":\",\"+this.newLineCharacter;this.replaceNode(t,r,i,{suffix:o})}insertNodeAt(t,r,i,o={}){this.replaceRange(t,qp(r),i,o)}insertNodesAt(t,r,i,o={}){this.replaceRangeWithNodes(t,qp(r),i,o)}insertNodeAtTopOfFile(t,r,i){this.insertAtTopOfFile(t,r,i)}insertNodesAtTopOfFile(t,r,i){this.insertAtTopOfFile(t,r,i)}insertAtTopOfFile(t,r,i){let o=_Qe(t),s={prefix:o===0?void 0:this.newLineCharacter,suffix:(vd(t.text.charCodeAt(o))?\"\":this.newLineCharacter)+(i?this.newLineCharacter:\"\")};oo(r)?this.insertNodesAt(t,o,r,s):this.insertNodeAt(t,o,r,s)}insertNodesAtEndOfFile(t,r,i){this.insertAtEndOfFile(t,r,i)}insertAtEndOfFile(t,r,i){let o=t.end+1,s={prefix:this.newLineCharacter,suffix:this.newLineCharacter+(i?this.newLineCharacter:\"\")};this.insertNodesAt(t,o,r,s)}insertStatementsInNewFile(t,r,i){this.newFileChanges||(this.newFileChanges=Ep()),this.newFileChanges.add(t,{oldFile:i,statements:r})}insertFirstParameter(t,r,i){let o=Ac(r);o?this.insertNodeBefore(t,o,i):this.insertNodeAt(t,r.pos,i)}insertNodeBefore(t,r,i,o=!1,s={}){this.insertNodeAt(t,fT(t,r,s),i,this.getOptionsForInsertNodeBefore(r,i,o))}insertNodesBefore(t,r,i,o=!1,s={}){this.insertNodesAt(t,fT(t,r,s),i,this.getOptionsForInsertNodeBefore(r,Ta(i),o))}insertModifierAt(t,r,i,o={}){this.insertNodeAt(t,r,P.createToken(i),o)}insertModifierBefore(t,r,i){return this.insertModifierAt(t,i.getStart(t),r,{suffix:\" \"})}insertCommentBeforeLine(t,r,i,o){let s=Zv(r,t),l=cle(t.text,s),d=wPe(t,l),p=_R(t,d?l:i),h=t.text.slice(s,l),m=`${d?\"\":this.newLineCharacter}//${o}${this.newLineCharacter}${h}`;this.insertText(t,p.getStart(t),m)}insertJsdocCommentBefore(t,r,i){let o=r.getStart(t);if(r.jsDoc)for(let d of r.jsDoc)this.deleteRange(t,{pos:Cf(d.getStart(t),t),end:wR(t,d,{})});let s=L3(t.text,o-1),l=t.text.slice(s,o);this.insertNodeAt(t,o,i,{suffix:this.newLineCharacter+l})}createJSDocText(t,r){let i=ta(r.jsDoc,s=>fo(s.comment)?P.createJSDocText(s.comment):s.comment),o=R_(r.jsDoc);return o&&Jp(o.pos,o.end,t)&&yn(i)===0?void 0:P.createNodeArray(K5(i,P.createJSDocText(`\n`)))}replaceJSDocComment(t,r,i){this.insertJsdocCommentBefore(t,cQe(r),P.createJSDocComment(this.createJSDocText(t,r),P.createNodeArray(i)))}addJSDocTags(t,r,i){let o=wD(r.jsDoc,l=>l.tags),s=i.filter(l=>!o.some((d,p)=>{let h=dQe(d,l);return h&&(o[p]=h),!!h}));this.replaceJSDocComment(t,r,[...o,...s])}filterJSDocTags(t,r,i){this.replaceJSDocComment(t,r,Cr(wD(r.jsDoc,o=>o.tags),i))}replaceRangeWithText(t,r,i){this.changes.push({kind:3,sourceFile:t,range:r,text:i})}insertText(t,r,i){this.replaceRangeWithText(t,qp(r),i)}tryInsertTypeAnnotation(t,r,i){let o;if(Lo(r)){if(o=Ya(r,22,t),!o){if(!gs(r))return!1;o=Ta(r.parameters)}}else o=(r.kind===260?r.exclamationToken:r.questionToken)??r.name;return this.insertNodeAt(t,o.end,i,{prefix:\": \"}),!0}tryInsertThisTypeAnnotation(t,r,i){let o=Ya(r,21,t).getStart(t)+1,s=r.parameters.length?\", \":\"\";this.insertNodeAt(t,o,i,{prefix:\"this: \",suffix:s})}insertTypeParameters(t,r,i){let o=(Ya(r,21,t)||Ta(r.parameters)).getStart(t);this.insertNodesAt(t,o,i,{prefix:\"<\",suffix:\">\",joiner:\", \"})}getOptionsForInsertNodeBefore(t,r,i){return Di(t)||xc(t)?{suffix:i?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:yi(t)?{suffix:\", \"}:ao(t)?ao(r)?{suffix:\", \"}:{}:da(t)&&cc(t.parent)||sg(t)?{suffix:\", \"}:Iu(t)?{suffix:\",\"+(i?this.newLineCharacter:\" \")}:x.failBadSyntaxKind(t)}insertNodeAtConstructorStart(t,r,i){let o=Ac(r.body.statements);!o||!r.body.multiLine?this.replaceConstructorBody(t,r,[i,...r.body.statements]):this.insertNodeBefore(t,o,i)}insertNodeAtConstructorStartAfterSuperCall(t,r,i){let o=Dr(r.body.statements,s=>Cc(s)&&xS(s.expression));!o||!r.body.multiLine?this.replaceConstructorBody(t,r,[...r.body.statements,i]):this.insertNodeAfter(t,o,i)}insertNodeAtConstructorEnd(t,r,i){let o=Ns(r.body.statements);!o||!r.body.multiLine?this.replaceConstructorBody(t,r,[...r.body.statements,i]):this.insertNodeAfter(t,o,i)}replaceConstructorBody(t,r,i){this.replaceNode(t,r.body,P.createBlock(i,!0))}insertNodeAtEndOfScope(t,r,i){let o=fT(t,r.getLastToken(),{});this.insertNodeAt(t,o,i,{prefix:vd(t.text.charCodeAt(r.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})}insertMemberAtStart(t,r,i){this.insertNodeAtStartWorker(t,r,i)}insertNodeAtObjectStart(t,r,i){this.insertNodeAtStartWorker(t,r,i)}insertNodeAtStartWorker(t,r,i){let o=this.guessIndentationFromExistingMembers(t,r)??this.computeIndentationForNewMember(t,r);this.insertNodeAt(t,UY(r).pos,i,this.getInsertNodeAtStartInsertOptions(t,r,o))}guessIndentationFromExistingMembers(t,r){let i,o=r;for(let s of UY(r)){if(YW(o,s,t))return;let l=s.getStart(t),d=uc.SmartIndenter.findFirstNonWhitespaceColumn(Cf(l,t),l,t,this.formatContext.options);if(i===void 0)i=d;else if(d!==i)return;o=s}return i}computeIndentationForNewMember(t,r){let i=r.getStart(t);return uc.SmartIndenter.findFirstNonWhitespaceColumn(Cf(i,t),i,t,this.formatContext.options)+(this.formatContext.options.indentSize??4)}getInsertNodeAtStartInsertOptions(t,r,i){let s=UY(r).length===0,l=Jf(this.classesWithNodesInsertedAtStart,Fa(r),{node:r,sourceFile:t}),d=ma(r)&&(!yf(t)||!s),p=ma(r)&&yf(t)&&s&&!l;return{indentation:i,prefix:(p?\",\":\"\")+this.newLineCharacter,suffix:d?\",\":Gd(r)&&s?\";\":\"\"}}insertNodeAfterComma(t,r,i){let o=this.insertNodeAfterWorker(t,this.nextCommaToken(t,r)||r,i);this.insertNodeAt(t,o,i,this.getInsertNodeAfterOptions(t,r))}insertNodeAfter(t,r,i){let o=this.insertNodeAfterWorker(t,r,i);this.insertNodeAt(t,o,i,this.getInsertNodeAfterOptions(t,r))}insertNodeAtEndOfList(t,r,i){this.insertNodeAt(t,r.end,i,{prefix:\", \"})}insertNodesAfter(t,r,i){let o=this.insertNodeAfterWorker(t,r,Ta(i));this.insertNodesAt(t,o,i,this.getInsertNodeAfterOptions(t,r))}insertNodeAfterWorker(t,r,i){return hQe(r,i)&&t.text.charCodeAt(r.end-1)!==59&&this.replaceRange(t,qp(r.end),P.createToken(27)),wR(t,r,{})}getInsertNodeAfterOptions(t,r){let i=this.getInsertNodeAfterOptionsWorker(r);return{...i,prefix:r.end===t.end&&Di(r)?i.prefix?`\n${i.prefix}`:`\n`:i.prefix}}getInsertNodeAfterOptionsWorker(t){switch(t.kind){case 263:case 267:return{prefix:this.newLineCharacter,suffix:this.newLineCharacter};case 260:case 11:case 80:return{prefix:\", \"};case 303:return{suffix:\",\"+this.newLineCharacter};case 95:return{prefix:\" \"};case 169:return{};default:return x.assert(Di(t)||G8(t)),{suffix:this.newLineCharacter}}}insertName(t,r,i){if(x.assert(!r.name),r.kind===219){let o=Ya(r,39,t),s=Ya(r,21,t);s?(this.insertNodesAt(t,s.getStart(t),[P.createToken(100),P.createIdentifier(i)],{joiner:\" \"}),pg(this,t,o)):(this.insertText(t,Ta(r.parameters).getStart(t),`function ${i}(`),this.replaceRange(t,o,P.createToken(22))),r.body.kind!==241&&(this.insertNodesAt(t,r.body.getStart(t),[P.createToken(19),P.createToken(107)],{joiner:\" \",suffix:\" \"}),this.insertNodesAt(t,r.body.end,[P.createToken(27),P.createToken(20)],{joiner:\" \"}))}else{let o=Ya(r,r.kind===218?100:86,t).end;this.insertNodeAt(t,o,P.createIdentifier(i),{prefix:\" \"})}}insertExportModifier(t,r){this.insertText(t,r.getStart(t),\"export \")}insertImportSpecifierAtIndex(t,r,i,o){let s=i.elements[o-1];s?this.insertNodeInListAfter(t,s,r):this.insertNodeBefore(t,i.elements[0],r,!Jp(i.elements[0].getStart(),i.parent.parent.getStart(),t))}insertNodeInListAfter(t,r,i,o=uc.SmartIndenter.getContainingList(r,t)){if(!o){x.fail(\"node is not a list element\");return}let s=Y1(o,r);if(s<0)return;let l=r.getEnd();if(s!==o.length-1){let d=Hi(t,r.end);if(d&&jY(r,d)){let p=o[s+1],h=kPe(t.text,p.getFullStart()),m=`${qo(d.kind)}${t.text.substring(d.end,h)}`;this.insertNodesAt(t,h,[i],{suffix:m})}}else{let d=r.getStart(t),p=Cf(d,t),h,m=!1;if(o.length===1)h=28;else{let v=ec(r.pos,t);h=jY(r,v)?v.kind:28,m=Cf(o[s-1].getStart(t),t)!==p}if((sQe(t.text,r.end)||!Jp(o.pos,o.end,t))&&(m=!0),m){this.replaceRange(t,qp(l),P.createToken(h));let v=uc.SmartIndenter.findFirstNonWhitespaceColumn(p,d,t,this.formatContext.options),E=pa(t.text,l,!0,!1);for(;E!==l&&vd(t.text.charCodeAt(E-1));)E--;this.replaceRange(t,qp(E),i,{indentation:v,prefix:this.newLineCharacter})}else this.replaceRange(t,qp(l),i,{prefix:`${qo(h)} `})}}parenthesizeExpression(t,r){this.replaceRange(t,PV(r),P.createParenthesizedExpression(r))}finishClassesWithNodesInsertedAtStart(){this.classesWithNodesInsertedAtStart.forEach(({node:t,sourceFile:r})=>{let[i,o]=pQe(t,r);if(i!==void 0&&o!==void 0){let s=UY(t).length===0,l=Jp(i,o,r);s&&l&&i!==o-1&&this.deleteRange(r,qp(i,o-1)),l&&this.insertText(r,o-1,this.newLineCharacter)}})}finishDeleteDeclarations(){let t=new Set;for(let{sourceFile:r,node:i}of this.deletedNodes)this.deletedNodes.some(o=>o.sourceFile===r&&wse(o.node,i))||(oo(i)?this.deleteRange(r,MV(r,i)):ofe.deleteDeclaration(this,t,r,i));t.forEach(r=>{let i=r.getSourceFile(),o=uc.SmartIndenter.getContainingList(r,i);if(r!==Da(o))return;let s=Uw(o,l=>!t.has(l),o.length-2);s!==-1&&this.deleteRange(i,{pos:o[s].end,end:tfe(i,o[s+1])})})}getChanges(t){this.finishDeleteDeclarations(),this.finishClassesWithNodesInsertedAtStart();let r=qY.getTextChangesFromChanges(this.changes,this.newLineCharacter,this.formatContext,t);return this.newFileChanges&&this.newFileChanges.forEach((i,o)=>{r.push(qY.newFileChanges(o,i,this.newLineCharacter,this.formatContext))}),r}createNewFile(t,r,i){this.insertStatementsInNewFile(r,i,t)}},(e=>{function t(d,p,h,m){return Fi(GD(d,v=>v.sourceFile.path),v=>{let E=v[0].sourceFile,S=Gg(v,(C,R)=>C.range.pos-R.range.pos||C.range.end-R.range.end);for(let C=0;C<S.length-1;C++)x.assert(S[C].range.end<=S[C+1].range.pos,\"Changes overlap\",()=>`${JSON.stringify(S[C].range)} and ${JSON.stringify(S[C+1].range)}`);let A=Fi(S,C=>{let R=yy(C.range),L=C.kind===1?Nn(sl(C.node))??C.sourceFile:C.kind===2?Nn(sl(C.nodes[0]))??C.sourceFile:C.sourceFile,G=o(C,L,E,p,h,m);if(!(R.length===G.length&&Ele(L.text,G,R.start)))return jk(R,G)});return A.length>0?{fileName:E.fileName,textChanges:A}:void 0})}e.getTextChangesFromChanges=t;function r(d,p,h,m){let v=i(pF(d),p,h,m);return{fileName:d,textChanges:[jk(qc(0,0),v)],isNewFile:!0}}e.newFileChanges=r;function i(d,p,h,m){let v=ta(p,A=>A.statements.map(C=>C===4?\"\":l(C,A.oldFile,h).text)).join(h),E=B2(\"any file name\",v,{languageVersion:99,jsDocParsingMode:1},!0,d),S=uc.formatDocument(E,m);return nfe(v,S)+h}e.newFileChangesWorker=i;function o(d,p,h,m,v,E){var S;if(d.kind===0)return\"\";if(d.kind===3)return d.text;let{options:A={},range:{pos:C}}=d,R=U=>s(U,p,h,C,A,m,v,E),L=d.kind===2?d.nodes.map(U=>C1(R(U),m)).join(((S=d.options)==null?void 0:S.joiner)||m):R(d.node),G=A.indentation!==void 0||Cf(C,p)===C?L:L.replace(/^\\s+/,\"\");return(A.prefix||\"\")+G+(!A.suffix||Zs(G,A.suffix)?\"\":A.suffix)}function s(d,p,h,m,{indentation:v,prefix:E,delta:S},A,C,R){let{node:L,text:G}=l(d,p,A);R&&R(L,G);let U=J3(C,p),K=v!==void 0?v:uc.SmartIndenter.getIndentation(m,h,U,E===A||Cf(m,p)===m);S===void 0&&(S=uc.SmartIndenter.shouldIndentChildNode(U,d)&&U.indentSize||0);let F={text:G,getLineAndCharacterOfPosition(W){return $a(this,W)}},oe=uc.formatNodeGivenIndentation(L,F,p.languageVariant,K,S,{...C,options:U});return nfe(G,oe)}function l(d,p,h){let m=OPe(h),v=nO(h);return Vb({newLine:v,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},m).writeNode(4,d,p,m),{text:m.getText(),node:HY(d)}}e.getNonformattedText=l})(qY||(qY={})),FPe={...FN,factory:d2(FN.factory.flags|1,FN.factory.baseFactory)},(e=>{function t(s,l,d,p){switch(p.kind){case 169:{let S=p.parent;gs(S)&&S.parameters.length===1&&!Ya(S,21,d)?s.replaceNodeWithText(d,p,\"()\"):zO(s,l,d,p);break}case 272:case 271:let h=d.imports.length&&p===Ta(d.imports).parent||p===Dr(d.statements,AS);pg(s,d,p,{leadingTriviaOption:h?0:ap(p)?2:3});break;case 208:let m=p.parent;m.kind===207&&p!==Da(m.elements)?pg(s,d,p):zO(s,l,d,p);break;case 260:o(s,l,d,p);break;case 168:zO(s,l,d,p);break;case 276:let E=p.parent;E.elements.length===1?i(s,d,E):zO(s,l,d,p);break;case 274:i(s,d,p);break;case 27:pg(s,d,p,{trailingTriviaOption:0});break;case 100:pg(s,d,p,{leadingTriviaOption:0});break;case 263:case 262:pg(s,d,p,{leadingTriviaOption:ap(p)?2:3});break;default:p.parent?V_(p.parent)&&p.parent.name===p?r(s,d,p.parent):Bo(p.parent)&&To(p.parent.arguments,p)?zO(s,l,d,p):pg(s,d,p):pg(s,d,p)}}e.deleteDeclaration=t;function r(s,l,d){if(!d.namedBindings)pg(s,l,d.parent);else{let p=d.name.getStart(l),h=Hi(l,d.name.end);if(h&&h.kind===28){let m=pa(l.text,h.end,!1,!0);s.deleteRange(l,{pos:p,end:m})}else pg(s,l,d.name)}}function i(s,l,d){if(d.parent.name){let p=x.checkDefined(Hi(l,d.pos-1));s.deleteRange(l,{pos:p.getStart(l),end:d.end})}else{let p=Db(d,272);pg(s,l,p)}}function o(s,l,d,p){let{parent:h}=p;if(h.kind===299){s.deleteNodeRange(d,Ya(h,21,d),Ya(h,22,d));return}if(h.declarations.length!==1){zO(s,l,d,p);return}let m=h.parent;switch(m.kind){case 250:case 249:s.replaceNode(d,p,P.createObjectLiteralExpression());break;case 248:pg(s,d,h);break;case 243:pg(s,d,m,{leadingTriviaOption:ap(m)?2:3});break;default:x.assertNever(m)}}})(ofe||(ofe={}))}}),er={};la(er,{ChangeTracker:()=>WPe,LeadingTriviaOption:()=>rfe,TrailingTriviaOption:()=>ife,applyChanges:()=>nfe,assignPositionsToNode:()=>HY,createWriter:()=>OPe,deleteNode:()=>pg,isThisTypeAnnotatable:()=>lQe,isValidLocationToAddComment:()=>wPe});var vQe=pt({\"src/services/_namespaces/ts.textChanges.ts\"(){\"use strict\";gQe()}}),afe,sfe,yQe=pt({\"src/services/formatting/formattingContext.ts\"(){\"use strict\";Hr(),afe=(e=>(e[e.FormatDocument=0]=\"FormatDocument\",e[e.FormatSelection=1]=\"FormatSelection\",e[e.FormatOnEnter=2]=\"FormatOnEnter\",e[e.FormatOnSemicolon=3]=\"FormatOnSemicolon\",e[e.FormatOnOpeningCurlyBrace=4]=\"FormatOnOpeningCurlyBrace\",e[e.FormatOnClosingCurlyBrace=5]=\"FormatOnClosingCurlyBrace\",e))(afe||{}),sfe=class{constructor(e,t,r){this.sourceFile=e,this.formattingRequestKind=t,this.options=r}updateContext(e,t,r,i,o){this.currentTokenSpan=x.checkDefined(e),this.currentTokenParent=x.checkDefined(t),this.nextTokenSpan=x.checkDefined(r),this.nextTokenParent=x.checkDefined(i),this.contextNode=x.checkDefined(o),this.contextNodeAllOnSameLine=void 0,this.nextNodeAllOnSameLine=void 0,this.tokensAreOnSameLine=void 0,this.contextNodeBlockIsOnOneLine=void 0,this.nextNodeBlockIsOnOneLine=void 0}ContextNodeAllOnSameLine(){return this.contextNodeAllOnSameLine===void 0&&(this.contextNodeAllOnSameLine=this.NodeIsOnOneLine(this.contextNode)),this.contextNodeAllOnSameLine}NextNodeAllOnSameLine(){return this.nextNodeAllOnSameLine===void 0&&(this.nextNodeAllOnSameLine=this.NodeIsOnOneLine(this.nextTokenParent)),this.nextNodeAllOnSameLine}TokensAreOnSameLine(){if(this.tokensAreOnSameLine===void 0){let e=this.sourceFile.getLineAndCharacterOfPosition(this.currentTokenSpan.pos).line,t=this.sourceFile.getLineAndCharacterOfPosition(this.nextTokenSpan.pos).line;this.tokensAreOnSameLine=e===t}return this.tokensAreOnSameLine}ContextNodeBlockIsOnOneLine(){return this.contextNodeBlockIsOnOneLine===void 0&&(this.contextNodeBlockIsOnOneLine=this.BlockIsOnOneLine(this.contextNode)),this.contextNodeBlockIsOnOneLine}NextNodeBlockIsOnOneLine(){return this.nextNodeBlockIsOnOneLine===void 0&&(this.nextNodeBlockIsOnOneLine=this.BlockIsOnOneLine(this.nextTokenParent)),this.nextNodeBlockIsOnOneLine}NodeIsOnOneLine(e){let t=this.sourceFile.getLineAndCharacterOfPosition(e.getStart(this.sourceFile)).line,r=this.sourceFile.getLineAndCharacterOfPosition(e.getEnd()).line;return t===r}BlockIsOnOneLine(e){let t=Ya(e,19,this.sourceFile),r=Ya(e,20,this.sourceFile);if(t&&r){let i=this.sourceFile.getLineAndCharacterOfPosition(t.getEnd()).line,o=this.sourceFile.getLineAndCharacterOfPosition(r.getStart(this.sourceFile)).line;return i===o}return!1}}}});function lfe(e,t,r,i,o){let s=t===1?BPe:zPe;s.setText(e),s.resetTokenState(r);let l=!0,d,p,h,m,v,E=o({advance:S,readTokenInfo:F,readEOFTokenRange:W,isOnToken:$,isOnEOF:de,getCurrentLeadingTrivia:()=>d,lastTrailingTriviaWasNewLine:()=>l,skipToEndOf:q,skipToStartOf:H,getTokenFullStart:()=>v?.token.pos??s.getTokenStart(),getStartPos:()=>v?.token.pos??s.getTokenStart()});return v=void 0,s.setText(void 0),E;function S(){v=void 0,s.getTokenFullStart()!==r?l=!!p&&Da(p).kind===4:s.scan(),d=void 0,p=void 0;let le=s.getTokenFullStart();for(;le<i;){let Ee=s.getToken();if(!mx(Ee))break;s.scan();let ce={pos:le,end:s.getTokenFullStart(),kind:Ee};le=s.getTokenFullStart(),d=pn(d,ce)}h=s.getTokenFullStart()}function A(ee){switch(ee.kind){case 34:case 72:case 73:case 50:case 49:return!0}return!1}function C(ee){if(ee.parent)switch(ee.parent.kind){case 291:case 286:case 287:case 285:return du(ee.kind)||ee.kind===80}return!1}function R(ee){return ZA(ee)||Ch(ee)&&v?.token.kind===12}function L(ee){return ee.kind===14}function G(ee){return ee.kind===17||ee.kind===18}function U(ee){return ee.parent&&i_(ee.parent)&&ee.parent.initializer===ee}function K(ee){return ee===44||ee===69}function F(ee){x.assert($());let le=A(ee)?1:L(ee)?2:G(ee)?3:C(ee)?4:R(ee)?5:U(ee)?6:0;if(v&&le===m)return fe(v,ee);s.getTokenFullStart()!==h&&(x.assert(v!==void 0),s.resetTokenState(h),s.scan());let Ee=oe(ee,le),ce=YY(s.getTokenFullStart(),s.getTokenEnd(),Ee);for(p&&(p=void 0);s.getTokenFullStart()<i&&(Ee=s.scan(),!!mx(Ee));){let Z=YY(s.getTokenFullStart(),s.getTokenEnd(),Ee);if(p||(p=[]),p.push(Z),Ee===4){s.scan();break}}return v={leadingTrivia:d,trailingTrivia:p,token:ce},fe(v,ee)}function oe(ee,le){let Ee=s.getToken();switch(m=0,le){case 1:if(Ee===32){m=1;let ce=s.reScanGreaterToken();return x.assert(ee.kind===ce),ce}break;case 2:if(K(Ee)){m=2;let ce=s.reScanSlashToken();return x.assert(ee.kind===ce),ce}break;case 3:if(Ee===20)return m=3,s.reScanTemplateToken(!1);break;case 4:return m=4,s.scanJsxIdentifier();case 5:return m=5,s.reScanJsxToken(!1);case 6:return m=6,s.reScanJsxAttributeValue();case 0:break;default:x.assertNever(le)}return Ee}function W(){return x.assert(de()),YY(s.getTokenFullStart(),s.getTokenEnd(),1)}function $(){let ee=v?v.token.kind:s.getToken();return ee!==1&&!mx(ee)}function de(){return(v?v.token.kind:s.getToken())===1}function fe(ee,le){return xA(le)&&ee.token.kind!==le.kind&&(ee.token.kind=le.kind),ee}function q(ee){s.resetTokenState(ee.end),h=s.getTokenFullStart(),m=void 0,v=void 0,l=!1,d=void 0,p=void 0}function H(ee){s.resetTokenState(ee.pos),h=s.getTokenFullStart(),m=void 0,v=void 0,l=!1,d=void 0,p=void 0}}var zPe,BPe,bQe=pt({\"src/services/formatting/formattingScanner.ts\"(){\"use strict\";Hr(),VO(),zPe=Kg(99,!1,0),BPe=Kg(99,!1,1)}}),Qz,cfe,dfe,EQe=pt({\"src/services/formatting/rule.ts\"(){\"use strict\";Hr(),Qz=je,cfe=(e=>(e[e.None=0]=\"None\",e[e.StopProcessingSpaceActions=1]=\"StopProcessingSpaceActions\",e[e.StopProcessingTokenActions=2]=\"StopProcessingTokenActions\",e[e.InsertSpace=4]=\"InsertSpace\",e[e.InsertNewLine=8]=\"InsertNewLine\",e[e.DeleteSpace=16]=\"DeleteSpace\",e[e.DeleteToken=32]=\"DeleteToken\",e[e.InsertTrailingSemicolon=64]=\"InsertTrailingSemicolon\",e[e.StopAction=3]=\"StopAction\",e[e.ModifySpaceAction=28]=\"ModifySpaceAction\",e[e.ModifyTokenAction=96]=\"ModifyTokenAction\",e))(cfe||{}),dfe=(e=>(e[e.None=0]=\"None\",e[e.CanDeleteNewLines=1]=\"CanDeleteNewLines\",e))(dfe||{})}});function GPe(){let e=[];for(let oe=0;oe<=165;oe++)oe!==1&&e.push(oe);function t(...oe){return{tokens:e.filter(W=>!oe.some($=>$===W)),isSpecific:!1}}let r={tokens:e,isSpecific:!1},i=gP([...e,3]),o=gP([...e,1]),s=jPe(83,165),l=jPe(30,79),d=[103,104,165,130,142,152],p=[46,47,55,54],h=[9,10,80,21,23,19,110,105],m=[80,21,110,105],v=[80,22,24,105],E=[80,21,110,105],S=[80,22,24,105],A=[2,3],C=[80,...X3],R=i,L=gP([80,32,3,86,95,102]),G=gP([22,3,92,113,98,93,85]),U=[kr(\"IgnoreBeforeComment\",r,A,Qz,1),kr(\"IgnoreAfterLineComment\",2,r,Qz,1),kr(\"NotSpaceBeforeColon\",r,59,[Ni,Zz,qPe],16),kr(\"SpaceAfterColon\",59,r,[Ni,Zz,FQe],4),kr(\"NoSpaceBeforeQuestionMark\",r,58,[Ni,Zz,qPe],16),kr(\"SpaceAfterQuestionMarkInConditionalOperator\",58,r,[Ni,IQe],4),kr(\"NoSpaceAfterQuestionMark\",58,r,[Ni,AQe],16),kr(\"NoSpaceBeforeDot\",r,[25,29],[Ni,$Qe],16),kr(\"NoSpaceAfterDot\",[25,29],r,[Ni],16),kr(\"NoSpaceBetweenImportParenInImportType\",102,21,[Ni,wQe],16),kr(\"NoSpaceAfterUnaryPrefixOperator\",p,h,[Ni,Zz],16),kr(\"NoSpaceAfterUnaryPreincrementOperator\",46,m,[Ni],16),kr(\"NoSpaceAfterUnaryPredecrementOperator\",47,E,[Ni],16),kr(\"NoSpaceBeforeUnaryPostincrementOperator\",v,46,[Ni,lMe],16),kr(\"NoSpaceBeforeUnaryPostdecrementOperator\",S,47,[Ni,lMe],16),kr(\"SpaceAfterPostincrementWhenFollowedByAdd\",46,40,[Ni,Sy],4),kr(\"SpaceAfterAddWhenFollowedByUnaryPlus\",40,40,[Ni,Sy],4),kr(\"SpaceAfterAddWhenFollowedByPreincrement\",40,46,[Ni,Sy],4),kr(\"SpaceAfterPostdecrementWhenFollowedBySubtract\",47,41,[Ni,Sy],4),kr(\"SpaceAfterSubtractWhenFollowedByUnaryMinus\",41,41,[Ni,Sy],4),kr(\"SpaceAfterSubtractWhenFollowedByPredecrement\",41,47,[Ni,Sy],4),kr(\"NoSpaceAfterCloseBrace\",20,[28,27],[Ni],16),kr(\"NewLineBeforeCloseBraceInBlockContext\",i,20,[KPe],8),kr(\"SpaceAfterCloseBrace\",20,t(22),[Ni,DQe],4),kr(\"SpaceBetweenCloseBraceAndElse\",20,93,[Ni],4),kr(\"SpaceBetweenCloseBraceAndWhile\",20,117,[Ni],4),kr(\"NoSpaceBetweenEmptyBraceBrackets\",19,20,[Ni,eMe],16),kr(\"SpaceAfterConditionalClosingParen\",22,23,[e7],4),kr(\"NoSpaceBetweenFunctionKeywordAndStar\",100,42,[$Pe],16),kr(\"SpaceAfterStarInGeneratorDeclaration\",42,80,[$Pe],4),kr(\"SpaceAfterFunctionInFuncDecl\",100,r,[mT],4),kr(\"NewLineAfterOpenBraceInBlockContext\",19,r,[KPe],8),kr(\"SpaceAfterGetSetInMember\",[139,153],80,[mT],4),kr(\"NoSpaceBetweenYieldKeywordAndStar\",127,42,[Ni,sMe],16),kr(\"SpaceBetweenYieldOrYieldStarAndOperand\",[127,42],r,[Ni,sMe],4),kr(\"NoSpaceBetweenReturnAndSemicolon\",107,27,[Ni],16),kr(\"SpaceAfterCertainKeywords\",[115,111,105,91,107,114,135],r,[Ni],4),kr(\"SpaceAfterLetConstInVariableDeclaration\",[121,87],r,[Ni,GQe],4),kr(\"NoSpaceBeforeOpenParenInFuncCall\",r,21,[Ni,PQe,MQe],16),kr(\"SpaceBeforeBinaryKeywordOperator\",r,d,[Ni,Sy],4),kr(\"SpaceAfterBinaryKeywordOperator\",d,r,[Ni,Sy],4),kr(\"SpaceAfterVoidOperator\",116,r,[Ni,qQe],4),kr(\"SpaceBetweenAsyncAndOpenParen\",134,21,[OQe,Ni],4),kr(\"SpaceBetweenAsyncAndFunctionKeyword\",134,[100,80],[Ni],4),kr(\"NoSpaceBetweenTagAndTemplateString\",[80,22],[15,16],[Ni],16),kr(\"SpaceBeforeJsxAttribute\",r,80,[WQe,Ni],4),kr(\"SpaceBeforeSlashInJsxOpeningElement\",r,44,[iMe,Ni],4),kr(\"NoSpaceBeforeGreaterThanTokenInJsxOpeningElement\",44,32,[iMe,Ni],16),kr(\"NoSpaceBeforeEqualInJsxAttribute\",r,64,[nMe,Ni],16),kr(\"NoSpaceAfterEqualInJsxAttribute\",64,r,[nMe,Ni],16),kr(\"NoSpaceBeforeJsxNamespaceColon\",80,59,[rMe],16),kr(\"NoSpaceAfterJsxNamespaceColon\",59,80,[rMe],16),kr(\"NoSpaceAfterModuleImport\",[144,149],21,[Ni],16),kr(\"SpaceAfterCertainTypeScriptKeywords\",[128,129,86,138,90,94,95,96,139,119,102,120,144,145,123,125,124,148,153,126,156,161,143,140],r,[Ni],4),kr(\"SpaceBeforeCertainTypeScriptKeywords\",r,[96,119,161],[Ni],4),kr(\"SpaceAfterModuleName\",11,19,[VQe],4),kr(\"SpaceBeforeArrow\",r,39,[Ni],4),kr(\"SpaceAfterArrow\",39,r,[Ni],4),kr(\"NoSpaceAfterEllipsis\",26,80,[Ni],16),kr(\"NoSpaceAfterOptionalParameters\",58,[22,28],[Ni,Zz],16),kr(\"NoSpaceBetweenEmptyInterfaceBraceBrackets\",19,20,[Ni,jQe],16),kr(\"NoSpaceBeforeOpenAngularBracket\",C,30,[Ni,t7],16),kr(\"NoSpaceBetweenCloseParenAndAngularBracket\",22,30,[Ni,t7],16),kr(\"NoSpaceAfterOpenAngularBracket\",30,r,[Ni,t7],16),kr(\"NoSpaceBeforeCloseAngularBracket\",r,32,[Ni,t7],16),kr(\"NoSpaceAfterCloseAngularBracket\",32,[21,23,32,28],[Ni,t7,RQe,HQe],16),kr(\"SpaceBeforeAt\",[22,80],60,[Ni],4),kr(\"NoSpaceAfterAt\",60,r,[Ni],16),kr(\"SpaceAfterDecorator\",r,[128,80,95,90,86,126,125,123,124,139,153,23,42],[BQe],4),kr(\"NoSpaceBeforeNonNullAssertionOperator\",r,54,[Ni,JQe],16),kr(\"NoSpaceAfterNewKeywordOnConstructorSignature\",105,21,[Ni,UQe],16),kr(\"SpaceLessThanAndNonJSXTypeAnnotation\",30,30,[Ni],4)],K=[kr(\"SpaceAfterConstructor\",137,21,[Lp(\"insertSpaceAfterConstructor\"),Ni],4),kr(\"NoSpaceAfterConstructor\",137,21,[c_(\"insertSpaceAfterConstructor\"),Ni],16),kr(\"SpaceAfterComma\",28,r,[Lp(\"insertSpaceAfterCommaDelimiter\"),Ni,gfe,LQe,kQe],4),kr(\"NoSpaceAfterComma\",28,r,[c_(\"insertSpaceAfterCommaDelimiter\"),Ni,gfe],16),kr(\"SpaceAfterAnonymousFunctionKeyword\",[100,42],21,[Lp(\"insertSpaceAfterFunctionKeywordForAnonymousFunctions\"),mT],4),kr(\"NoSpaceAfterAnonymousFunctionKeyword\",[100,42],21,[c_(\"insertSpaceAfterFunctionKeywordForAnonymousFunctions\"),mT],16),kr(\"SpaceAfterKeywordInControl\",s,21,[Lp(\"insertSpaceAfterKeywordsInControlFlowStatements\"),e7],4),kr(\"NoSpaceAfterKeywordInControl\",s,21,[c_(\"insertSpaceAfterKeywordsInControlFlowStatements\"),e7],16),kr(\"SpaceAfterOpenParen\",21,r,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),Ni],4),kr(\"SpaceBeforeCloseParen\",r,22,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),Ni],4),kr(\"SpaceBetweenOpenParens\",21,21,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),Ni],4),kr(\"NoSpaceBetweenParens\",21,22,[Ni],16),kr(\"NoSpaceAfterOpenParen\",21,r,[c_(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),Ni],16),kr(\"NoSpaceBeforeCloseParen\",r,22,[c_(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),Ni],16),kr(\"SpaceAfterOpenBracket\",23,r,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets\"),Ni],4),kr(\"SpaceBeforeCloseBracket\",r,24,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets\"),Ni],4),kr(\"NoSpaceBetweenBrackets\",23,24,[Ni],16),kr(\"NoSpaceAfterOpenBracket\",23,r,[c_(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets\"),Ni],16),kr(\"NoSpaceBeforeCloseBracket\",r,24,[c_(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets\"),Ni],16),kr(\"SpaceAfterOpenBrace\",19,r,[HPe(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces\"),JPe],4),kr(\"SpaceBeforeCloseBrace\",r,20,[HPe(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces\"),JPe],4),kr(\"NoSpaceBetweenEmptyBraceBrackets\",19,20,[Ni,eMe],16),kr(\"NoSpaceAfterOpenBrace\",19,r,[ufe(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces\"),Ni],16),kr(\"NoSpaceBeforeCloseBrace\",r,20,[ufe(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces\"),Ni],16),kr(\"SpaceBetweenEmptyBraceBrackets\",19,20,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingEmptyBraces\")],4),kr(\"NoSpaceBetweenEmptyBraceBrackets\",19,20,[ufe(\"insertSpaceAfterOpeningAndBeforeClosingEmptyBraces\"),Ni],16),kr(\"SpaceAfterTemplateHeadAndMiddle\",[16,17],r,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces\"),tMe],4,1),kr(\"SpaceBeforeTemplateMiddleAndTail\",r,[17,18],[Lp(\"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces\"),Ni],4),kr(\"NoSpaceAfterTemplateHeadAndMiddle\",[16,17],r,[c_(\"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces\"),tMe],16,1),kr(\"NoSpaceBeforeTemplateMiddleAndTail\",r,[17,18],[c_(\"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces\"),Ni],16),kr(\"SpaceAfterOpenBraceInJsxExpression\",19,r,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces\"),Ni,KY],4),kr(\"SpaceBeforeCloseBraceInJsxExpression\",r,20,[Lp(\"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces\"),Ni,KY],4),kr(\"NoSpaceAfterOpenBraceInJsxExpression\",19,r,[c_(\"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces\"),Ni,KY],16),kr(\"NoSpaceBeforeCloseBraceInJsxExpression\",r,20,[c_(\"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces\"),Ni,KY],16),kr(\"SpaceAfterSemicolonInFor\",27,r,[Lp(\"insertSpaceAfterSemicolonInForStatements\"),Ni,ffe],4),kr(\"NoSpaceAfterSemicolonInFor\",27,r,[c_(\"insertSpaceAfterSemicolonInForStatements\"),Ni,ffe],16),kr(\"SpaceBeforeBinaryOperator\",r,l,[Lp(\"insertSpaceBeforeAndAfterBinaryOperators\"),Ni,Sy],4),kr(\"SpaceAfterBinaryOperator\",l,r,[Lp(\"insertSpaceBeforeAndAfterBinaryOperators\"),Ni,Sy],4),kr(\"NoSpaceBeforeBinaryOperator\",r,l,[c_(\"insertSpaceBeforeAndAfterBinaryOperators\"),Ni,Sy],16),kr(\"NoSpaceAfterBinaryOperator\",l,r,[c_(\"insertSpaceBeforeAndAfterBinaryOperators\"),Ni,Sy],16),kr(\"SpaceBeforeOpenParenInFuncDecl\",r,21,[Lp(\"insertSpaceBeforeFunctionParenthesis\"),Ni,mT],4),kr(\"NoSpaceBeforeOpenParenInFuncDecl\",r,21,[c_(\"insertSpaceBeforeFunctionParenthesis\"),Ni,mT],16),kr(\"NewLineBeforeOpenBraceInControl\",G,19,[Lp(\"placeOpenBraceOnNewLineForControlBlocks\"),e7,hfe],8,1),kr(\"NewLineBeforeOpenBraceInFunction\",R,19,[Lp(\"placeOpenBraceOnNewLineForFunctions\"),mT,hfe],8,1),kr(\"NewLineBeforeOpenBraceInTypeScriptDeclWithBlock\",L,19,[Lp(\"placeOpenBraceOnNewLineForFunctions\"),QPe,hfe],8,1),kr(\"SpaceAfterTypeAssertion\",32,r,[Lp(\"insertSpaceAfterTypeAssertion\"),Ni,yfe],4),kr(\"NoSpaceAfterTypeAssertion\",32,r,[c_(\"insertSpaceAfterTypeAssertion\"),Ni,yfe],16),kr(\"SpaceBeforeTypeAnnotation\",r,[58,59],[Lp(\"insertSpaceBeforeTypeAnnotation\"),Ni,mfe],4),kr(\"NoSpaceBeforeTypeAnnotation\",r,[58,59],[c_(\"insertSpaceBeforeTypeAnnotation\"),Ni,mfe],16),kr(\"NoOptionalSemicolon\",27,o,[UPe(\"semicolons\",\"remove\"),XQe],32),kr(\"OptionalSemicolon\",r,o,[UPe(\"semicolons\",\"insert\"),YQe],64)],F=[kr(\"NoSpaceBeforeSemicolon\",r,27,[Ni],16),kr(\"SpaceBeforeOpenBraceInControl\",G,19,[pfe(\"placeOpenBraceOnNewLineForControlBlocks\"),e7,vfe,_fe],4,1),kr(\"SpaceBeforeOpenBraceInFunction\",R,19,[pfe(\"placeOpenBraceOnNewLineForFunctions\"),mT,JY,vfe,_fe],4,1),kr(\"SpaceBeforeOpenBraceInTypeScriptDeclWithBlock\",L,19,[pfe(\"placeOpenBraceOnNewLineForFunctions\"),QPe,vfe,_fe],4,1),kr(\"NoSpaceBeforeComma\",r,28,[Ni],16),kr(\"NoSpaceBeforeOpenBracket\",t(134,84),23,[Ni],16),kr(\"NoSpaceAfterCloseBracket\",24,r,[Ni,zQe],16),kr(\"SpaceAfterSemicolon\",27,r,[Ni],4),kr(\"SpaceBetweenForAndAwaitKeyword\",99,135,[Ni],4),kr(\"SpaceBetweenStatements\",[22,92,93,84],r,[Ni,gfe,SQe],4),kr(\"SpaceAfterTryCatchFinally\",[113,85,98],19,[Ni],4)];return[...U,...K,...F]}function kr(e,t,r,i,o,s=0){return{leftTokenRange:VPe(t),rightTokenRange:VPe(r),rule:{debugName:e,context:i,action:o,flags:s}}}function gP(e){return{tokens:e,isSpecific:!0}}function VPe(e){return typeof e==\"number\"?gP([e]):oo(e)?gP(e):e}function jPe(e,t,r=[]){let i=[];for(let o=e;o<=t;o++)To(r,o)||i.push(o);return gP(i)}function UPe(e,t){return r=>r.options&&r.options[e]===t}function Lp(e){return t=>t.options&&rs(t.options,e)&&!!t.options[e]}function ufe(e){return t=>t.options&&rs(t.options,e)&&!t.options[e]}function c_(e){return t=>!t.options||!rs(t.options,e)||!t.options[e]}function pfe(e){return t=>!t.options||!rs(t.options,e)||!t.options[e]||t.TokensAreOnSameLine()}function HPe(e){return t=>!t.options||!rs(t.options,e)||!!t.options[e]}function ffe(e){return e.contextNode.kind===248}function SQe(e){return!ffe(e)}function Sy(e){switch(e.contextNode.kind){case 226:return e.contextNode.operatorToken.kind!==28;case 227:case 194:case 234:case 281:case 276:case 182:case 192:case 193:case 238:return!0;case 208:case 265:case 271:case 277:case 260:case 169:case 306:case 172:case 171:return e.currentTokenSpan.kind===64||e.nextTokenSpan.kind===64;case 249:case 168:return e.currentTokenSpan.kind===103||e.nextTokenSpan.kind===103||e.currentTokenSpan.kind===64||e.nextTokenSpan.kind===64;case 250:return e.currentTokenSpan.kind===165||e.nextTokenSpan.kind===165}return!1}function Zz(e){return!Sy(e)}function qPe(e){return!mfe(e)}function mfe(e){let t=e.contextNode.kind;return t===172||t===171||t===169||t===260||DA(t)}function TQe(e){return xo(e.contextNode)&&e.contextNode.questionToken}function AQe(e){return!TQe(e)}function IQe(e){return e.contextNode.kind===227||e.contextNode.kind===194}function _fe(e){return e.TokensAreOnSameLine()||JY(e)}function JPe(e){return e.contextNode.kind===206||e.contextNode.kind===200||xQe(e)}function hfe(e){return JY(e)&&!(e.NextNodeAllOnSameLine()||e.NextNodeBlockIsOnOneLine())}function KPe(e){return XPe(e)&&!(e.ContextNodeAllOnSameLine()||e.ContextNodeBlockIsOnOneLine())}function xQe(e){return XPe(e)&&(e.ContextNodeAllOnSameLine()||e.ContextNodeBlockIsOnOneLine())}function XPe(e){return YPe(e.contextNode)}function JY(e){return YPe(e.nextTokenParent)}function YPe(e){if(ZPe(e))return!0;switch(e.kind){case 241:case 269:case 210:case 268:return!0}return!1}function mT(e){switch(e.contextNode.kind){case 262:case 174:case 173:case 177:case 178:case 179:case 218:case 176:case 219:case 264:return!0}return!1}function RQe(e){return!mT(e)}function $Pe(e){return e.contextNode.kind===262||e.contextNode.kind===218}function QPe(e){return ZPe(e.contextNode)}function ZPe(e){switch(e.kind){case 263:case 231:case 264:case 266:case 187:case 267:case 278:case 279:case 272:case 275:return!0}return!1}function DQe(e){switch(e.currentTokenParent.kind){case 263:case 267:case 266:case 299:case 268:case 255:return!0;case 241:{let t=e.currentTokenParent.parent;if(!t||t.kind!==219&&t.kind!==218)return!0}}return!1}function e7(e){switch(e.contextNode.kind){case 245:case 255:case 248:case 249:case 250:case 247:case 258:case 246:case 254:case 299:return!0;default:return!1}}function eMe(e){return e.contextNode.kind===210}function CQe(e){return e.contextNode.kind===213}function NQe(e){return e.contextNode.kind===214}function PQe(e){return CQe(e)||NQe(e)}function MQe(e){return e.currentTokenSpan.kind!==28}function LQe(e){return e.nextTokenSpan.kind!==24}function kQe(e){return e.nextTokenSpan.kind!==22}function OQe(e){return e.contextNode.kind===219}function wQe(e){return e.contextNode.kind===205}function Ni(e){return e.TokensAreOnSameLine()&&e.contextNode.kind!==12}function tMe(e){return e.contextNode.kind!==12}function gfe(e){return e.contextNode.kind!==284&&e.contextNode.kind!==288}function KY(e){return e.contextNode.kind===294||e.contextNode.kind===293}function WQe(e){return e.nextTokenParent.kind===291||e.nextTokenParent.kind===295&&e.nextTokenParent.parent.kind===291}function nMe(e){return e.contextNode.kind===291}function FQe(e){return e.nextTokenParent.kind!==295}function rMe(e){return e.nextTokenParent.kind===295}function iMe(e){return e.contextNode.kind===285}function zQe(e){return!mT(e)&&!JY(e)}function BQe(e){return e.TokensAreOnSameLine()&&Hp(e.contextNode)&&oMe(e.currentTokenParent)&&!oMe(e.nextTokenParent)}function oMe(e){for(;e&&lt(e);)e=e.parent;return e&&e.kind===170}function GQe(e){return e.currentTokenParent.kind===261&&e.currentTokenParent.getStart(e.sourceFile)===e.currentTokenSpan.pos}function vfe(e){return e.formattingRequestKind!==2}function VQe(e){return e.contextNode.kind===267}function jQe(e){return e.contextNode.kind===187}function UQe(e){return e.contextNode.kind===180}function aMe(e,t){if(e.kind!==30&&e.kind!==32)return!1;switch(t.kind){case 183:case 216:case 265:case 263:case 231:case 264:case 262:case 218:case 219:case 174:case 173:case 179:case 180:case 213:case 214:case 233:return!0;default:return!1}}function t7(e){return aMe(e.currentTokenSpan,e.currentTokenParent)||aMe(e.nextTokenSpan,e.nextTokenParent)}function yfe(e){return e.contextNode.kind===216}function HQe(e){return!yfe(e)}function qQe(e){return e.currentTokenSpan.kind===116&&e.currentTokenParent.kind===222}function sMe(e){return e.contextNode.kind===229&&e.contextNode.expression!==void 0}function JQe(e){return e.contextNode.kind===235}function lMe(e){return!KQe(e)}function KQe(e){switch(e.contextNode.kind){case 245:case 248:case 249:case 250:case 246:case 247:return!0;default:return!1}}function XQe(e){let t=e.nextTokenSpan.kind,r=e.nextTokenSpan.pos;if(mx(t)){let s=e.nextTokenParent===e.currentTokenParent?S0(e.currentTokenParent,Rn(e.currentTokenParent,l=>!l.parent),e.sourceFile):e.nextTokenParent.getFirstToken(e.sourceFile);if(!s)return!0;t=s.kind,r=s.getStart(e.sourceFile)}let i=e.sourceFile.getLineAndCharacterOfPosition(e.currentTokenSpan.pos).line,o=e.sourceFile.getLineAndCharacterOfPosition(r).line;return i===o?t===20||t===1:t===240||t===27?!1:e.contextNode.kind===264||e.contextNode.kind===265?!Gu(e.currentTokenParent)||!!e.currentTokenParent.type||t!==21:xo(e.currentTokenParent)?!e.currentTokenParent.initializer:e.currentTokenParent.kind!==248&&e.currentTokenParent.kind!==242&&e.currentTokenParent.kind!==240&&t!==23&&t!==21&&t!==40&&t!==41&&t!==44&&t!==14&&t!==28&&t!==228&&t!==16&&t!==15&&t!==25}function YQe(e){return F3(e.currentTokenSpan.end,e.currentTokenParent,e.sourceFile)}function $Qe(e){return!Er(e.contextNode)||!Bu(e.contextNode.expression)||e.contextNode.expression.getText().includes(\".\")}var QQe=pt({\"src/services/formatting/rules.ts\"(){\"use strict\";Hr(),VO()}});function ZQe(e,t){return{options:e,getRules:eZe(),host:t}}function eZe(){return bfe===void 0&&(bfe=nZe(GPe())),bfe}function tZe(e){let t=0;return e&1&&(t|=28),e&2&&(t|=96),e&28&&(t|=28),e&96&&(t|=96),t}function nZe(e){let t=rZe(e);return r=>{let i=t[cMe(r.currentTokenSpan.kind,r.nextTokenSpan.kind)];if(i){let o=[],s=0;for(let l of i){let d=~tZe(s);l.action&d&&ji(l.context,p=>p(r))&&(o.push(l),s|=l.action)}if(o.length)return o}}}function rZe(e){let t=new Array(XY*XY),r=new Array(t.length);for(let i of e){let o=i.leftTokenRange.isSpecific&&i.rightTokenRange.isSpecific;for(let s of i.leftTokenRange.tokens)for(let l of i.rightTokenRange.tokens){let d=cMe(s,l),p=t[d];p===void 0&&(p=t[d]=[]),iZe(p,i.rule,o,r,d)}}return t}function cMe(e,t){return x.assert(e<=165&&t<=165,\"Must compute formatting context from tokens\"),e*XY+t}function iZe(e,t,r,i,o){let s=t.action&3?r?0:vP.StopRulesAny:t.context!==Qz?r?vP.ContextRulesSpecific:vP.ContextRulesAny:r?vP.NoContextRulesSpecific:vP.NoContextRulesAny,l=i[o]||0;e.splice(oZe(l,s),0,t),i[o]=aZe(l,s)}function oZe(e,t){let r=0;for(let i=0;i<=t;i+=WR)r+=e&n7,e>>=WR;return r}function aZe(e,t){let r=(e>>t&n7)+1;return x.assert((r&n7)===r,\"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.\"),e&~(n7<<t)|r<<t}var bfe,WR,n7,XY,vP,sZe=pt({\"src/services/formatting/rulesMap.ts\"(){\"use strict\";Hr(),VO(),WR=5,n7=31,XY=166,vP=(e=>(e[e.StopRulesSpecific=0]=\"StopRulesSpecific\",e[e.StopRulesAny=WR*1]=\"StopRulesAny\",e[e.ContextRulesSpecific=WR*2]=\"ContextRulesSpecific\",e[e.ContextRulesAny=WR*3]=\"ContextRulesAny\",e[e.NoContextRulesSpecific=WR*4]=\"NoContextRulesSpecific\",e[e.NoContextRulesAny=WR*5]=\"NoContextRulesAny\",e))(vP||{})}});function YY(e,t,r){let i={pos:e,end:t,kind:r};return x.isDebugging&&Object.defineProperty(i,\"__debugKind\",{get:()=>x.formatSyntaxKind(r)}),i}function lZe(e,t,r){let i=t.getLineAndCharacterOfPosition(e).line;if(i===0)return[];let o=rL(i,t);for(;Um(t.text.charCodeAt(o));)o--;vd(t.text.charCodeAt(o))&&o--;let s={pos:Zv(i-1,t),end:o+1};return r7(s,t,r,2)}function cZe(e,t,r){let i=Efe(e,27,t);return dMe(Sfe(i),t,r,3)}function dZe(e,t,r){let i=Efe(e,19,t);if(!i)return[];let o=i.parent,s=Sfe(o),l={pos:Cf(s.getStart(t),t),end:e};return r7(l,t,r,4)}function uZe(e,t,r){let i=Efe(e,20,t);return dMe(Sfe(i),t,r,5)}function pZe(e,t){let r={pos:0,end:e.text.length};return r7(r,e,t,0)}function fZe(e,t,r,i){let o={pos:Cf(e,r),end:t};return r7(o,r,i,1)}function Efe(e,t,r){let i=ec(e,r);return i&&i.kind===t&&e===i.getEnd()?i:void 0}function Sfe(e){let t=e;for(;t&&t.parent&&t.parent.end===e.end&&!mZe(t.parent,t);)t=t.parent;return t}function mZe(e,t){switch(e.kind){case 263:case 264:return Np(e.members,t);case 267:let r=e.body;return!!r&&r.kind===268&&Np(r.statements,t);case 312:case 241:case 268:return Np(e.statements,t);case 299:return Np(e.block.statements,t)}return!1}function _Ze(e,t){return r(t);function r(i){let o=Ao(i,s=>qq(s.getStart(t),s.end,e)&&s);if(o){let s=r(o);if(s)return s}return i}}function hZe(e,t){if(!e.length)return o;let r=e.filter(s=>XN(t,s.start,s.start+s.length)).sort((s,l)=>s.start-l.start);if(!r.length)return o;let i=0;return s=>{for(;;){if(i>=r.length)return!1;let l=r[i];if(s.end<=l.start)return!1;if(m3(s.pos,s.end,l.start,l.start+l.length))return!0;i++}};function o(){return!1}}function gZe(e,t,r){let i=e.getStart(r);if(i===t.pos&&e.end===t.end)return i;let o=ec(t.pos,r);return!o||o.end>=t.pos?e.pos:o.end}function vZe(e,t,r){let i=-1,o;for(;e;){let s=r.getLineAndCharacterOfPosition(e.getStart(r)).line;if(i!==-1&&s!==i)break;if(d_.shouldIndentChildNode(t,e,o,r))return t.indentSize;i=s,o=e,e=e.parent}return 0}function yZe(e,t,r,i,o,s){let l={pos:e.pos,end:e.end};return lfe(t.text,r,l.pos,l.end,d=>uMe(l,e,i,o,d,s,1,p=>!1,t))}function dMe(e,t,r,i){if(!e)return[];let o={pos:Cf(e.getStart(t),t),end:e.end};return r7(o,t,r,i)}function r7(e,t,r,i){let o=_Ze(e,t);return lfe(t.text,t.languageVariant,gZe(o,e,t),e.end,s=>uMe(e,o,d_.getIndentationForNode(o,e,t,r.options),vZe(o,r.options,t),s,r,i,hZe(t.parseDiagnostics,e),t))}function uMe(e,t,r,i,o,{options:s,getRules:l,host:d},p,h,m){var v;let E=new sfe(m,p,s),S,A,C,R,L,G=-1,U=[];if(o.advance(),o.isOnToken()){let he=m.getLineAndCharacterOfPosition(t.getStart(m)).line,Le=he;Hp(t)&&(Le=m.getLineAndCharacterOfPosition(u9(t,m)).line),de(t,t,he,Le,r,i)}let K=o.getCurrentLeadingTrivia();if(K){let he=d_.nodeWillIndentChild(s,t,void 0,m,!1)?r+s.indentSize:r;fe(K,he,!0,Le=>{H(Le,m.getLineAndCharacterOfPosition(Le.pos),t,t,void 0),le(Le.pos,he,!1)}),s.trimTrailingWhitespace!==!1&&Oe(K)}if(A&&o.getTokenFullStart()>=e.end){let he=o.isOnEOF()?o.readEOFTokenRange():o.isOnToken()?o.readTokenInfo(t).token:void 0;if(he&&he.pos===S){let Le=((v=ec(he.end,m,t))==null?void 0:v.parent)||C;ee(he,m.getLineAndCharacterOfPosition(he.pos).line,Le,A,R,C,Le,void 0)}}return U;function F(he,Le,Ke,Dt,st){if(XN(Dt,he,Le)||zk(Dt,he,Le)){if(st!==-1)return st}else{let Ge=m.getLineAndCharacterOfPosition(he).line,ot=Cf(he,m),Vt=d_.findFirstNonWhitespaceColumn(ot,he,m,s);if(Ge!==Ke||he===Vt){let jt=d_.getBaseIndentation(s);return jt>Vt?jt:Vt}}return-1}function oe(he,Le,Ke,Dt,st,Ge){let ot=d_.shouldIndentChildNode(s,he)?s.indentSize:0;return Ge===Le?{indentation:Le===L?G:st.getIndentation(),delta:Math.min(s.indentSize,st.getDelta(he)+ot)}:Ke===-1?he.kind===21&&Le===L?{indentation:G,delta:st.getDelta(he)}:d_.childStartsOnTheSameLineWithElseInIfStatement(Dt,he,Le,m)||d_.childIsUnindentedBranchOfConditionalExpression(Dt,he,Le,m)||d_.argumentStartsOnSameLineAsPreviousArgument(Dt,he,Le,m)?{indentation:st.getIndentation(),delta:ot}:{indentation:st.getIndentation()+st.getDelta(he),delta:ot}:{indentation:Ke,delta:ot}}function W(he){if(Yf(he)){let Le=Dr(he.modifiers,ia,Tl(he.modifiers,Xc));if(Le)return Le.kind}switch(he.kind){case 263:return 86;case 264:return 120;case 262:return 100;case 266:return 266;case 177:return 139;case 178:return 153;case 174:if(he.asteriskToken)return 42;case 172:case 169:let Le=mo(he);if(Le)return Le.kind}}function $(he,Le,Ke,Dt){return{getIndentationForComment:(ot,Vt,jt)=>{switch(ot){case 20:case 24:case 22:return Ke+Ge(jt)}return Vt!==-1?Vt:Ke},getIndentationForToken:(ot,Vt,jt,gn)=>!gn&&st(ot,Vt,jt)?Ke+Ge(jt):Ke,getIndentation:()=>Ke,getDelta:Ge,recomputeIndentation:(ot,Vt)=>{d_.shouldIndentChildNode(s,Vt,he,m)&&(Ke+=ot?s.indentSize:-s.indentSize,Dt=d_.shouldIndentChildNode(s,he)?s.indentSize:0)}};function st(ot,Vt,jt){switch(Vt){case 19:case 20:case 22:case 93:case 117:case 60:return!1;case 44:case 32:switch(jt.kind){case 286:case 287:case 285:return!1}break;case 23:case 24:if(jt.kind!==200)return!1;break}return Le!==ot&&!(Hp(he)&&Vt===W(he))}function Ge(ot){return d_.nodeWillIndentChild(s,he,ot,m,!0)?Dt:0}}function de(he,Le,Ke,Dt,st,Ge){if(!XN(e,he.getStart(m),he.getEnd()))return;let ot=$(he,Ke,st,Ge),Vt=Le;for(Ao(he,en=>{jt(en,-1,he,ot,Ke,Dt,!1)},en=>{gn(en,he,Ke,ot)});o.isOnToken()&&o.getTokenFullStart()<e.end;){let en=o.readTokenInfo(he);if(en.token.end>Math.min(he.end,e.end))break;On(en,he,ot,he)}function jt(en,zt,Wt,ei,Ki,gi,io,Gn){if(x.assert(!xs(en)),_l(en)||yte(Wt,en))return zt;let Nr=en.getStart(m),cr=m.getLineAndCharacterOfPosition(Nr).line,Jt=cr;Hp(en)&&(Jt=m.getLineAndCharacterOfPosition(u9(en,m)).line);let Ue=-1;if(io&&Np(e,Wt)&&(Ue=F(Nr,en.end,Ki,e,zt),Ue!==-1&&(zt=Ue)),!XN(e,en.pos,en.end))return en.end<e.pos&&o.skipToEndOf(en),zt;if(en.getFullWidth()===0)return zt;for(;o.isOnToken()&&o.getTokenFullStart()<e.end;){let qr=o.readTokenInfo(he);if(qr.token.end>e.end)return zt;if(qr.token.end>Nr){qr.token.pos>Nr&&o.skipToStartOf(en);break}On(qr,he,ei,he)}if(!o.isOnToken()||o.getTokenFullStart()>=e.end)return zt;if(xA(en)){let qr=o.readTokenInfo(en);if(en.kind!==12)return x.assert(qr.token.end===en.end,\"Token end is child end\"),On(qr,he,ei,en),zt}let Rt=en.kind===170?cr:gi,mn=oe(en,cr,Ue,he,ei,Rt);return de(en,Vt,cr,Jt,mn.indentation,mn.delta),Vt=he,Gn&&Wt.kind===209&&zt===-1&&(zt=mn.indentation),zt}function gn(en,zt,Wt,ei){x.assert(OE(en)),x.assert(!xs(en));let Ki=bZe(zt,en),gi=ei,io=Wt;if(!XN(e,en.pos,en.end)){en.end<e.pos&&o.skipToEndOf(en);return}if(Ki!==0)for(;o.isOnToken()&&o.getTokenFullStart()<e.end;){let cr=o.readTokenInfo(zt);if(cr.token.end>en.pos)break;if(cr.token.kind===Ki){io=m.getLineAndCharacterOfPosition(cr.token.pos).line,On(cr,zt,ei,zt);let Jt;if(G!==-1)Jt=G;else{let Ue=Cf(cr.token.pos,m);Jt=d_.findFirstNonWhitespaceColumn(Ue,cr.token.pos,m,s)}gi=$(zt,Wt,Jt,s.indentSize)}else On(cr,zt,ei,zt)}let Gn=-1;for(let cr=0;cr<en.length;cr++){let Jt=en[cr];Gn=jt(Jt,Gn,he,gi,io,io,!0,cr===0)}let Nr=EZe(Ki);if(Nr!==0&&o.isOnToken()&&o.getTokenFullStart()<e.end){let cr=o.readTokenInfo(zt);cr.token.kind===28&&(On(cr,zt,gi,zt),cr=o.isOnToken()?o.readTokenInfo(zt):void 0),cr&&cr.token.kind===Nr&&Np(zt,cr.token)&&On(cr,zt,gi,zt,!0)}}function On(en,zt,Wt,ei,Ki){x.assert(Np(zt,en.token));let gi=o.lastTrailingTriviaWasNewLine(),io=!1;en.leadingTrivia&&q(en.leadingTrivia,zt,Vt,Wt);let Gn=0,Nr=Np(e,en.token),cr=m.getLineAndCharacterOfPosition(en.token.pos);if(Nr){let Jt=h(en.token),Ue=A;if(Gn=H(en.token,cr,zt,Vt,Wt),!Jt)if(Gn===0){let Rt=Ue&&m.getLineAndCharacterOfPosition(Ue.end).line;io=gi&&cr.line!==Rt}else io=Gn===1}if(en.trailingTrivia&&(S=Da(en.trailingTrivia).end,q(en.trailingTrivia,zt,Vt,Wt)),io){let Jt=Nr&&!h(en.token)?Wt.getIndentationForToken(cr.line,en.token.kind,ei,!!Ki):-1,Ue=!0;if(en.leadingTrivia){let Rt=Wt.getIndentationForComment(en.token.kind,Jt,ei);Ue=fe(en.leadingTrivia,Rt,Ue,mn=>le(mn.pos,Rt,!1))}Jt!==-1&&Ue&&(le(en.token.pos,Jt,Gn===1),L=cr.line,G=Jt)}o.advance(),Vt=zt}}function fe(he,Le,Ke,Dt){for(let st of he){let Ge=Np(e,st);switch(st.kind){case 3:Ge&&Z(st,Le,!Ke),Ke=!1;break;case 2:Ke&&Ge&&Dt(st),Ke=!1;break;case 4:Ke=!0;break}}return Ke}function q(he,Le,Ke,Dt){for(let st of he)if(S3(st.kind)&&Np(e,st)){let Ge=m.getLineAndCharacterOfPosition(st.pos);H(st,Ge,Le,Ke,Dt)}}function H(he,Le,Ke,Dt,st){let Ge=h(he),ot=0;if(!Ge)if(A)ot=ee(he,Le.line,Ke,A,R,C,Dt,st);else{let Vt=m.getLineAndCharacterOfPosition(e.pos);pe(Vt.line,Le.line)}return A=he,S=he.end,C=Ke,R=Le.line,ot}function ee(he,Le,Ke,Dt,st,Ge,ot,Vt){E.updateContext(Dt,Ge,he,Ke,ot);let jt=l(E),gn=E.options.trimTrailingWhitespace!==!1,On=0;return jt?RZ(jt,en=>{if(On=ft(en,Dt,st,he,Le),Vt)switch(On){case 2:Ke.getStart(m)===he.pos&&Vt.recomputeIndentation(!1,ot);break;case 1:Ke.getStart(m)===he.pos&&Vt.recomputeIndentation(!0,ot);break;default:x.assert(On===0)}gn=gn&&!(en.action&16)&&en.flags!==1}):gn=gn&&he.kind!==1,Le!==st&&gn&&pe(st,Le,Dt),On}function le(he,Le,Ke){let Dt=Tfe(Le,s);if(Ke)Te(he,0,Dt);else{let st=m.getLineAndCharacterOfPosition(he),Ge=Zv(st.line,m);(Le!==Ee(Ge,st.character)||ce(Dt,Ge))&&Te(Ge,st.character,Dt)}}function Ee(he,Le){let Ke=0;for(let Dt=0;Dt<Le;Dt++)m.text.charCodeAt(he+Dt)===9?Ke+=s.tabSize-Ke%s.tabSize:Ke++;return Ke}function ce(he,Le){return he!==m.text.substr(Le,he.length)}function Z(he,Le,Ke,Dt=!0){let st=m.getLineAndCharacterOfPosition(he.pos).line,Ge=m.getLineAndCharacterOfPosition(he.end).line;if(st===Ge){Ke||le(he.pos,Le,!1);return}let ot=[],Vt=he.pos;for(let zt=st;zt<Ge;zt++){let Wt=rL(zt,m);ot.push({pos:Vt,end:Wt}),Vt=Zv(zt+1,m)}if(Dt&&ot.push({pos:Vt,end:he.end}),ot.length===0)return;let jt=Zv(st,m),gn=d_.findFirstNonWhitespaceCharacterAndColumn(jt,ot[0].pos,m,s),On=0;Ke&&(On=1,st++);let en=Le-gn.column;for(let zt=On;zt<ot.length;zt++,st++){let Wt=Zv(st,m),ei=zt===0?gn:d_.findFirstNonWhitespaceCharacterAndColumn(ot[zt].pos,ot[zt].end,m,s),Ki=ei.column+en;if(Ki>0){let gi=Tfe(Ki,s);Te(Wt,ei.character,gi)}else be(Wt,ei.character)}}function pe(he,Le,Ke){for(let Dt=he;Dt<Le;Dt++){let st=Zv(Dt,m),Ge=rL(Dt,m);if(Ke&&(S3(Ke.kind)||Zq(Ke.kind))&&Ke.pos<=Ge&&Ke.end>Ge)continue;let ot=Ae(st,Ge);ot!==-1&&(x.assert(ot===st||!Um(m.text.charCodeAt(ot-1))),be(ot,Ge+1-ot))}}function Ae(he,Le){let Ke=Le;for(;Ke>=he&&Um(m.text.charCodeAt(Ke));)Ke--;return Ke!==Le?Ke+1:-1}function Oe(he){let Le=A?A.end:e.pos;for(let Ke of he)S3(Ke.kind)&&(Le<Ke.pos&&_e(Le,Ke.pos-1,A),Le=Ke.end+1);Le<e.end&&_e(Le,e.end,A)}function _e(he,Le,Ke){let Dt=m.getLineAndCharacterOfPosition(he).line,st=m.getLineAndCharacterOfPosition(Le).line;pe(Dt,st+1,Ke)}function be(he,Le){Le&&U.push(A3(he,Le,\"\"))}function Te(he,Le,Ke){(Le||Ke)&&U.push(A3(he,Le,Ke))}function De(he,Le){Le&&U.push(A3(he,0,Le))}function ft(he,Le,Ke,Dt,st){let Ge=st!==Ke;switch(he.action){case 1:return 0;case 16:if(Le.end!==Dt.pos)return be(Le.end,Dt.pos-Le.end),Ge?2:0;break;case 32:be(Le.pos,Le.end-Le.pos);break;case 8:if(he.flags!==1&&Ke!==st)return 0;if(st-Ke!==1)return Te(Le.end,Dt.pos-Le.end,mv(d,s)),Ge?0:1;break;case 4:if(he.flags!==1&&Ke!==st)return 0;if(Dt.pos-Le.end!==1||m.text.charCodeAt(Le.end)!==32)return Te(Le.end,Dt.pos-Le.end,\" \"),Ge?2:0;break;case 64:De(Le.end,\";\")}return 0}}function pMe(e,t,r,i=Hi(e,t)){let o=Rn(i,Sm);if(o&&(i=o.parent),i.getStart(e)<=t&&t<i.getEnd())return;r=r===null?void 0:r===void 0?ec(t,e):r;let l=r&&mb(e.text,r.end),d=A9(i,e),p=ro(l,d);return p&&Dr(p,h=>Fk(h,t)||t===h.end&&(h.kind===2||t===e.getFullWidth()))}function bZe(e,t){switch(e.kind){case 176:case 262:case 218:case 174:case 173:case 219:case 179:case 180:case 184:case 185:case 177:case 178:if(e.typeParameters===t)return 30;if(e.parameters===t)return 21;break;case 213:case 214:if(e.typeArguments===t)return 30;if(e.arguments===t)return 21;break;case 263:case 231:case 264:case 265:if(e.typeParameters===t)return 30;break;case 183:case 215:case 186:case 233:case 205:if(e.typeArguments===t)return 30;break;case 187:return 19}return 0}function EZe(e){switch(e){case 21:return 22;case 30:return 32;case 19:return 20}return 0}function Tfe(e,t){if((!$Y||$Y.tabSize!==t.tabSize||$Y.indentSize!==t.indentSize)&&($Y={tabSize:t.tabSize,indentSize:t.indentSize},BO=GO=void 0),t.convertTabsToSpaces){let i,o=Math.floor(e/t.indentSize),s=e%t.indentSize;return GO||(GO=[]),GO[o]===void 0?(i=Hk(\" \",t.indentSize*o),GO[o]=i):i=GO[o],s?i+Hk(\" \",s):i}else{let i=Math.floor(e/t.tabSize),o=e-i*t.tabSize,s;return BO||(BO=[]),BO[i]===void 0?BO[i]=s=Hk(\"\t\",i):s=BO[i],o?s+Hk(\" \",o):s}}var $Y,BO,GO,SZe=pt({\"src/services/formatting/formatting.ts\"(){\"use strict\";Hr(),VO()}}),d_,TZe=pt({\"src/services/formatting/smartIndenter.ts\"(){\"use strict\";Hr(),VO(),(e=>{let t;(Z=>{Z[Z.Unknown=-1]=\"Unknown\"})(t||(t={}));function r(Z,pe,Ae,Oe=!1){if(Z>pe.text.length)return d(Ae);if(Ae.indentStyle===0)return 0;let _e=ec(Z,pe,void 0,!0),be=pMe(pe,Z,_e||null);if(be&&be.kind===3)return i(pe,Z,Ae,be);if(!_e)return d(Ae);if(Zq(_e.kind)&&_e.getStart(pe)<=Z&&Z<_e.end)return 0;let De=pe.getLineAndCharacterOfPosition(Z).line,ft=Hi(pe,Z),he=ft.kind===19&&ft.parent.kind===210;if(Ae.indentStyle===1||he)return o(pe,Z,Ae);if(_e.kind===28&&_e.parent.kind!==226){let Ke=m(_e,pe,Ae);if(Ke!==-1)return Ke}let Le=K(Z,_e.parent,pe);if(Le&&!Np(Le,_e)){let Dt=[218,219].includes(ft.parent.kind)?0:Ae.indentSize;return W(Le,pe,Ae)+Dt}return s(pe,Z,_e,De,Oe,Ae)}e.getIndentation=r;function i(Z,pe,Ae,Oe){let _e=$a(Z,pe).line-1,be=$a(Z,Oe.pos).line;if(x.assert(be>=0),_e<=be)return H(Zv(be,Z),pe,Z,Ae);let Te=Zv(_e,Z),{column:De,character:ft}=q(Te,pe,Z,Ae);return De===0?De:Z.text.charCodeAt(Te+ft)===42?De-1:De}function o(Z,pe,Ae){let Oe=pe;for(;Oe>0;){let be=Z.text.charCodeAt(Oe);if(!$h(be))break;Oe--}let _e=Cf(Oe,Z);return H(_e,Oe,Z,Ae)}function s(Z,pe,Ae,Oe,_e,be){let Te,De=Ae;for(;De;){if(Jq(De,pe,Z)&&Ee(be,De,Te,Z,!0)){let he=A(De,Z),Le=S(Ae,De,Oe,Z),Ke=Le!==0?_e&&Le===2?be.indentSize:0:Oe!==he.line?be.indentSize:0;return p(De,he,void 0,Ke,Z,!0,be)}let ft=$(De,Z,be,!0);if(ft!==-1)return ft;Te=De,De=De.parent}return d(be)}function l(Z,pe,Ae,Oe){let _e=Ae.getLineAndCharacterOfPosition(Z.getStart(Ae));return p(Z,_e,pe,0,Ae,!1,Oe)}e.getIndentationForNode=l;function d(Z){return Z.baseIndentSize||0}e.getBaseIndentation=d;function p(Z,pe,Ae,Oe,_e,be,Te){var De;let ft=Z.parent;for(;ft;){let he=!0;if(Ae){let st=Z.getStart(_e);he=st<Ae.pos||st>Ae.end}let Le=h(ft,Z,_e),Ke=Le.line===pe.line||R(ft,Z,pe.line,_e);if(he){let st=(De=U(Z,_e))==null?void 0:De[0],Ge=!!st&&A(st,_e).line>Le.line,ot=$(Z,_e,Te,Ge);if(ot!==-1||(ot=v(Z,ft,pe,Ke,_e,Te),ot!==-1))return ot+Oe}Ee(Te,ft,Z,_e,be)&&!Ke&&(Oe+=Te.indentSize);let Dt=C(ft,Z,pe.line,_e);Z=ft,ft=Z.parent,pe=Dt?_e.getLineAndCharacterOfPosition(Z.getStart(_e)):Le}return Oe+d(Te)}function h(Z,pe,Ae){let Oe=U(pe,Ae),_e=Oe?Oe.pos:Z.getStart(Ae);return Ae.getLineAndCharacterOfPosition(_e)}function m(Z,pe,Ae){let Oe=Wse(Z);return Oe&&Oe.listItemIndex>0?de(Oe.list.getChildren(),Oe.listItemIndex-1,pe,Ae):-1}function v(Z,pe,Ae,Oe,_e,be){return(bd(Z)||QM(Z))&&(pe.kind===312||!Oe)?fe(Ae,_e,be):-1}let E;(Z=>{Z[Z.Unknown=0]=\"Unknown\",Z[Z.OpenBrace=1]=\"OpenBrace\",Z[Z.CloseBrace=2]=\"CloseBrace\"})(E||(E={}));function S(Z,pe,Ae,Oe){let _e=S0(Z,pe,Oe);if(!_e)return 0;if(_e.kind===19)return 1;if(_e.kind===20){let be=A(_e,Oe).line;return Ae===be?2:0}return 0}function A(Z,pe){return pe.getLineAndCharacterOfPosition(Z.getStart(pe))}function C(Z,pe,Ae,Oe){if(!(Bo(Z)&&To(Z.arguments,pe)))return!1;let _e=Z.expression.getEnd();return $a(Oe,_e).line===Ae}e.isArgumentAndStartLineOverlapsExpressionBeingCalled=C;function R(Z,pe,Ae,Oe){if(Z.kind===245&&Z.elseStatement===pe){let _e=Ya(Z,93,Oe);return x.assert(_e!==void 0),A(_e,Oe).line===Ae}return!1}e.childStartsOnTheSameLineWithElseInIfStatement=R;function L(Z,pe,Ae,Oe){if(Fx(Z)&&(pe===Z.whenTrue||pe===Z.whenFalse)){let _e=$a(Oe,Z.condition.end).line;if(pe===Z.whenTrue)return Ae===_e;{let be=A(Z.whenTrue,Oe).line,Te=$a(Oe,Z.whenTrue.end).line;return _e===be&&Te===Ae}}return!1}e.childIsUnindentedBranchOfConditionalExpression=L;function G(Z,pe,Ae,Oe){if(Hm(Z)){if(!Z.arguments)return!1;let _e=Dr(Z.arguments,ft=>ft.pos===pe.pos);if(!_e)return!1;let be=Z.arguments.indexOf(_e);if(be===0)return!1;let Te=Z.arguments[be-1],De=$a(Oe,Te.getEnd()).line;if(Ae===De)return!0}return!1}e.argumentStartsOnSameLineAsPreviousArgument=G;function U(Z,pe){return Z.parent&&F(Z.getStart(pe),Z.getEnd(),Z.parent,pe)}e.getContainingList=U;function K(Z,pe,Ae){return pe&&F(Z,Z,pe,Ae)}function F(Z,pe,Ae,Oe){switch(Ae.kind){case 183:return _e(Ae.typeArguments);case 210:return _e(Ae.properties);case 209:return _e(Ae.elements);case 187:return _e(Ae.members);case 262:case 218:case 219:case 174:case 173:case 179:case 176:case 185:case 180:return _e(Ae.typeParameters)||_e(Ae.parameters);case 177:return _e(Ae.parameters);case 263:case 231:case 264:case 265:case 352:return _e(Ae.typeParameters);case 214:case 213:return _e(Ae.typeArguments)||_e(Ae.arguments);case 261:return _e(Ae.declarations);case 275:case 279:return _e(Ae.elements);case 206:case 207:return _e(Ae.elements)}function _e(be){return be&&zk(oe(Ae,be,Oe),Z,pe)?be:void 0}}function oe(Z,pe,Ae){let Oe=Z.getChildren(Ae);for(let _e=1;_e<Oe.length-1;_e++)if(Oe[_e].pos===pe.pos&&Oe[_e].end===pe.end)return{pos:Oe[_e-1].end,end:Oe[_e+1].getStart(Ae)};return pe}function W(Z,pe,Ae){return Z?fe(pe.getLineAndCharacterOfPosition(Z.pos),pe,Ae):-1}function $(Z,pe,Ae,Oe){if(Z.parent&&Z.parent.kind===261)return-1;let _e=U(Z,pe);if(_e){let be=_e.indexOf(Z);if(be!==-1){let Te=de(_e,be,pe,Ae);if(Te!==-1)return Te}return W(_e,pe,Ae)+(Oe?Ae.indentSize:0)}return-1}function de(Z,pe,Ae,Oe){x.assert(pe>=0&&pe<Z.length);let _e=Z[pe],be=A(_e,Ae);for(let Te=pe-1;Te>=0;Te--){if(Z[Te].kind===28)continue;if(Ae.getLineAndCharacterOfPosition(Z[Te].end).line!==be.line)return fe(be,Ae,Oe);be=A(Z[Te],Ae)}return-1}function fe(Z,pe,Ae){let Oe=pe.getPositionOfLineAndCharacter(Z.line,0);return H(Oe,Oe+Z.character,pe,Ae)}function q(Z,pe,Ae,Oe){let _e=0,be=0;for(let Te=Z;Te<pe;Te++){let De=Ae.text.charCodeAt(Te);if(!Um(De))break;De===9?be+=Oe.tabSize+be%Oe.tabSize:be++,_e++}return{column:be,character:_e}}e.findFirstNonWhitespaceCharacterAndColumn=q;function H(Z,pe,Ae,Oe){return q(Z,pe,Ae,Oe).column}e.findFirstNonWhitespaceColumn=H;function ee(Z,pe,Ae,Oe,_e){let be=Ae?Ae.kind:0;switch(pe.kind){case 244:case 263:case 231:case 264:case 266:case 265:case 209:case 241:case 268:case 210:case 187:case 200:case 189:case 217:case 211:case 213:case 214:case 243:case 277:case 253:case 227:case 207:case 206:case 286:case 289:case 285:case 294:case 173:case 179:case 180:case 169:case 184:case 185:case 196:case 215:case 223:case 279:case 275:case 281:case 276:case 172:case 296:case 297:return!0;case 269:return Z.indentSwitchCase??!0;case 260:case 303:case 226:if(!Z.indentMultiLineObjectLiteralBeginningOnBlankLine&&Oe&&be===210)return ce(Oe,Ae);if(pe.kind===226&&Oe&&Ae&&be===284){let Te=Oe.getLineAndCharacterOfPosition(pa(Oe.text,pe.pos)).line,De=Oe.getLineAndCharacterOfPosition(pa(Oe.text,Ae.pos)).line;return Te!==De}if(pe.kind!==226)return!0;break;case 246:case 247:case 249:case 250:case 248:case 245:case 262:case 218:case 174:case 176:case 177:case 178:return be!==241;case 219:return Oe&&be===217?ce(Oe,Ae):be!==241;case 278:return be!==279;case 272:return be!==273||!!Ae.namedBindings&&Ae.namedBindings.kind!==275;case 284:return be!==287;case 288:return be!==290;case 193:case 192:if(be===187||be===189)return!1;break}return _e}e.nodeWillIndentChild=ee;function le(Z,pe){switch(Z){case 253:case 257:case 251:case 252:return pe.kind!==241;default:return!1}}function Ee(Z,pe,Ae,Oe,_e=!1){return ee(Z,pe,Ae,Oe,!1)&&!(_e&&Ae&&le(Ae.kind,pe))}e.shouldIndentChildNode=Ee;function ce(Z,pe){let Ae=pa(Z.text,pe.pos),Oe=Z.getLineAndCharacterOfPosition(Ae).line,_e=Z.getLineAndCharacterOfPosition(pe.end).line;return Oe===_e}})(d_||(d_={}))}}),uc={};la(uc,{FormattingContext:()=>sfe,FormattingRequestKind:()=>afe,RuleAction:()=>cfe,RuleFlags:()=>dfe,SmartIndenter:()=>d_,anyContext:()=>Qz,createTextRangeWithKind:()=>YY,formatDocument:()=>pZe,formatNodeGivenIndentation:()=>yZe,formatOnClosingCurly:()=>uZe,formatOnEnter:()=>lZe,formatOnOpeningCurly:()=>dZe,formatOnSemicolon:()=>cZe,formatSelection:()=>fZe,getAllRules:()=>GPe,getFormatContext:()=>ZQe,getFormattingScanner:()=>lfe,getIndentationString:()=>Tfe,getRangeOfEnclosingComment:()=>pMe});var VO=pt({\"src/services/_namespaces/ts.formatting.ts\"(){\"use strict\";yQe(),bQe(),EQe(),QQe(),sZe(),SZe(),TZe()}}),Hr=pt({\"src/services/_namespaces/ts.ts\"(){\"use strict\";wo(),Pk(),M5e(),nBe(),aBe(),BAe(),vBe(),yBe(),xBe(),wBe(),WBe(),zBe(),JBe(),KBe(),_je(),hje(),yje(),zje(),Gje(),oa(),Epe(),kpe(),_Ye(),bYe(),WYe(),dIe(),PIe(),i$e(),p$e(),J_(),b$e(),K$e(),nQe(),aQe(),vQe(),VO()}});function AZe(){return _Me??(_Me=new zf(bp))}function fMe(e,t,r,i,o){let s=t?\"DeprecationError: \":\"DeprecationWarning: \";return s+=`'${e}' `,s+=i?`has been deprecated since v${i}`:\"is deprecated\",s+=t?\" and can no longer be used.\":r?` and will no longer be usable after v${r}.`:\".\",s+=o?` ${xh(o,[e])}`:\"\",s}function IZe(e,t,r,i){let o=fMe(e,!0,t,r,i);return()=>{throw new TypeError(o)}}function xZe(e,t,r,i){let o=!1;return()=>{mMe&&!o&&(x.log.warn(fMe(e,!1,t,r,i)),o=!0)}}function RZe(e,t={}){let r=typeof t.typeScriptVersion==\"string\"?new zf(t.typeScriptVersion):t.typeScriptVersion??AZe(),i=typeof t.errorAfter==\"string\"?new zf(t.errorAfter):t.errorAfter,o=typeof t.warnAfter==\"string\"?new zf(t.warnAfter):t.warnAfter,s=typeof t.since==\"string\"?new zf(t.since):t.since??o,l=t.error||i&&r.compareTo(i)>=0,d=!o||r.compareTo(o)>=0;return l?IZe(e,i,s,t.message):d?xZe(e,i,s,t.message):Ca}function DZe(e,t){return function(){return e(),t.apply(this,arguments)}}function Afe(e,t){let r=RZe(t?.name??x.getFunctionName(e),t);return DZe(r,e)}var mMe,_Me,hMe=pt({\"src/deprecatedCompat/deprecate.ts\"(){\"use strict\";ZY(),mMe=!0}});function QY(e,t,r,i){if(Object.defineProperty(s,\"name\",{...Object.getOwnPropertyDescriptor(s,\"name\"),value:e}),i)for(let l of Object.keys(i)){let d=+l;!isNaN(d)&&rs(t,`${d}`)&&(t[d]=Afe(t[d],{...i[d],name:e}))}let o=CZe(t,r);return s;function s(...l){let d=o(l),p=d!==void 0?t[d]:void 0;if(typeof p==\"function\")return p(...l);throw new TypeError(\"Invalid arguments\")}}function CZe(e,t){return r=>{for(let i=0;rs(e,`${i}`)&&rs(t,`${i}`);i++){let o=t[i];if(o(r))return i}}}function gMe(e){return{overload:t=>({bind:r=>({finish:()=>QY(e,t,r),deprecate:i=>({finish:()=>QY(e,t,r,i)})})})}}var NZe=pt({\"src/deprecatedCompat/deprecations.ts\"(){\"use strict\";ZY(),hMe()}}),PZe=pt({\"src/deprecatedCompat/5.0/identifierProperties.ts\"(){\"use strict\";ZY(),hMe(),Vne(e=>{let t=e.getIdentifierConstructor();rs(t.prototype,\"originalKeywordKind\")||Object.defineProperty(t.prototype,\"originalKeywordKind\",{get:Afe(function(){return vb(this)},{name:\"originalKeywordKind\",since:\"5.0\",warnAfter:\"5.1\",errorAfter:\"5.2\",message:\"Use 'identifierToKeywordKind(identifier)' instead.\"})}),rs(t.prototype,\"isInJSDocNamespace\")||Object.defineProperty(t.prototype,\"isInJSDocNamespace\",{get:Afe(function(){return this.flags&4096?!0:void 0},{name:\"isInJSDocNamespace\",since:\"5.0\",warnAfter:\"5.1\",errorAfter:\"5.2\",message:\"Use '.parent' or the surrounding context to determine this instead.\"})})})}}),ZY=pt({\"src/deprecatedCompat/_namespaces/ts.ts\"(){\"use strict\";wo(),NZe(),PZe()}}),MZe=pt({\"src/typingsInstallerCore/_namespaces/ts.ts\"(){\"use strict\";wo(),Pk(),xfe()}});function vMe(e,t,r,i){try{let o=Zx(t,wr(e,\"index.d.ts\"),{moduleResolution:2},r);return o.resolvedModule&&o.resolvedModule.resolvedFileName}catch(o){i.isEnabled()&&i.writeLine(`Failed to resolve ${t} in folder '${e}': ${o.message}`);return}}function LZe(e,t,r,i){let o=!1;for(let s=r.length;s>0;){let l=yMe(e,t,r,s);s=l.remaining,o=i(l.command)||o}return o}function yMe(e,t,r,i){let o=r.length-i,s,l=i;for(;s=`${e} install --ignore-scripts ${(l===r.length?r:r.slice(o,o+l)).join(\" \")} --save-dev --user-agent=\"typesInstaller/${t}\"`,!(s.length<8e3);)l=l-Math.floor(l/2);return{command:s,remaining:i-l}}function bMe(e){return`@types/${e}@ts${jm}`}var EMe,SMe,kZe=pt({\"src/typingsInstallerCore/typingsInstaller.ts\"(){\"use strict\";MZe(),xfe(),EMe={isEnabled:()=>!1,writeLine:Ca},SMe=class{constructor(e,t,r,i,o,s=EMe){this.installTypingHost=e,this.globalCachePath=t,this.safeListPath=r,this.typesMapLocation=i,this.throttleLimit=o,this.log=s,this.packageNameToTypingLocation=new Map,this.missingTypingsSet=new Set,this.knownCachesSet=new Set,this.projectWatchers=new Map,this.pendingRunRequests=[],this.installRunCount=1,this.inFlightRequestCount=0,this.latestDistTag=\"latest\",this.log.isEnabled()&&this.log.writeLine(`Global cache location '${t}', safe file path '${r}', types map path ${i}`),this.processCacheLocation(this.globalCachePath)}handleRequest(e){switch(e.kind){case\"discover\":this.install(e);break;case\"closeProject\":this.closeProject(e);break;case\"typesRegistry\":{let t={};this.typesRegistry.forEach((i,o)=>{t[o]=i});let r={kind:r3,typesRegistry:t};this.sendResponse(r);break}case\"installPackage\":{this.installPackage(e);break}default:x.assertNever(e)}}closeProject(e){this.closeWatchers(e.projectName)}closeWatchers(e){if(this.log.isEnabled()&&this.log.writeLine(`Closing file watchers for project '${e}'`),!this.projectWatchers.get(e)){this.log.isEnabled()&&this.log.writeLine(`No watchers are registered for project '${e}'`);return}this.projectWatchers.delete(e),this.sendResponse({kind:JN,projectName:e,files:[]}),this.log.isEnabled()&&this.log.writeLine(`Closing file watchers for project '${e}' - done.`)}install(e){this.log.isEnabled()&&this.log.writeLine(`Got install request${Ub(e)}`),e.cachePath&&(this.log.isEnabled()&&this.log.writeLine(`Request specifies cache path '${e.cachePath}', loading cached information...`),this.processCacheLocation(e.cachePath)),this.safeList===void 0&&this.initializeSafeList();let t=l_.discoverTypings(this.installTypingHost,this.log.isEnabled()?r=>this.log.writeLine(r):void 0,e.fileNames,e.projectRootPath,this.safeList,this.packageNameToTypingLocation,e.typeAcquisition,e.unresolvedImports,this.typesRegistry,e.compilerOptions);this.watchFiles(e.projectName,t.filesToWatch),t.newTypingNames.length?this.installTypings(e,e.cachePath||this.globalCachePath,t.cachedTypingPaths,t.newTypingNames):(this.sendResponse(this.createSetTypings(e,t.cachedTypingPaths)),this.log.isEnabled()&&this.log.writeLine(\"No new typings were requested as a result of typings discovery\"))}installPackage(e){let{fileName:t,packageName:r,projectName:i,projectRootPath:o,id:s}=e,l=Vf(Ur(t),d=>{if(this.installTypingHost.fileExists(wr(d,\"package.json\")))return d})||o;if(l)this.installWorker(-1,[r],l,d=>{let p=d?`Package ${r} installed.`:`There was an error installing ${r}.`,h={kind:Nk,projectName:i,id:s,success:d,message:p};this.sendResponse(h)});else{let d={kind:Nk,projectName:i,id:s,success:!1,message:\"Could not determine a project root path.\"};this.sendResponse(d)}}initializeSafeList(){if(this.typesMapLocation){let e=l_.loadTypesMap(this.installTypingHost,this.typesMapLocation);if(e){this.log.writeLine(`Loaded safelist from types map file '${this.typesMapLocation}'`),this.safeList=e;return}this.log.writeLine(`Failed to load safelist from types map file '${this.typesMapLocation}'`)}this.safeList=l_.loadSafeList(this.installTypingHost,this.safeListPath)}processCacheLocation(e){if(this.log.isEnabled()&&this.log.writeLine(`Processing cache location '${e}'`),this.knownCachesSet.has(e)){this.log.isEnabled()&&this.log.writeLine(\"Cache location was already processed...\");return}let t=wr(e,\"package.json\"),r=wr(e,\"package-lock.json\");if(this.log.isEnabled()&&this.log.writeLine(`Trying to find '${t}'...`),this.installTypingHost.fileExists(t)&&this.installTypingHost.fileExists(r)){let i=JSON.parse(this.installTypingHost.readFile(t)),o=JSON.parse(this.installTypingHost.readFile(r));if(this.log.isEnabled()&&(this.log.writeLine(`Loaded content of '${t}':${Ub(i)}`),this.log.writeLine(`Loaded content of '${r}':${Ub(o)}`)),i.devDependencies&&o.dependencies)for(let s in i.devDependencies){if(!rs(o.dependencies,s))continue;let l=Ll(s);if(!l)continue;let d=vMe(e,l,this.installTypingHost,this.log);if(!d){this.missingTypingsSet.add(l);continue}let p=this.packageNameToTypingLocation.get(l);if(p){if(p.typingLocation===d)continue;this.log.isEnabled()&&this.log.writeLine(`New typing for package ${l} from '${d}' conflicts with existing typing file '${p}'`)}this.log.isEnabled()&&this.log.writeLine(`Adding entry into typings cache: '${l}' => '${d}'`);let h=Jw(o.dependencies,s),m=h&&h.version;if(!m)continue;let v={typingLocation:d,version:new zf(m)};this.packageNameToTypingLocation.set(l,v)}}this.log.isEnabled()&&this.log.writeLine(`Finished processing cache location '${e}'`),this.knownCachesSet.add(e)}filterTypings(e){return Fi(e,t=>{let r=tR(t);if(this.missingTypingsSet.has(r)){this.log.isEnabled()&&this.log.writeLine(`'${t}':: '${r}' is in missingTypingsSet - skipping...`);return}let i=l_.validatePackageName(t);if(i!==l_.NameValidationResult.Ok){this.missingTypingsSet.add(r),this.log.isEnabled()&&this.log.writeLine(l_.renderPackageNameValidationFailure(i,t));return}if(!this.typesRegistry.has(r)){this.log.isEnabled()&&this.log.writeLine(`'${t}':: Entry for package '${r}' does not exist in local types registry - skipping...`);return}if(this.packageNameToTypingLocation.get(r)&&l_.isTypingUpToDate(this.packageNameToTypingLocation.get(r),this.typesRegistry.get(r))){this.log.isEnabled()&&this.log.writeLine(`'${t}':: '${r}' already has an up-to-date typing - skipping...`);return}return r})}ensurePackageDirectoryExists(e){let t=wr(e,\"package.json\");this.log.isEnabled()&&this.log.writeLine(`Npm config file: ${t}`),this.installTypingHost.fileExists(t)||(this.log.isEnabled()&&this.log.writeLine(`Npm config file: '${t}' is missing, creating new one...`),this.ensureDirectoryExists(e,this.installTypingHost),this.installTypingHost.writeFile(t,'{ \"private\": true }'))}installTypings(e,t,r,i){this.log.isEnabled()&&this.log.writeLine(`Installing typings ${JSON.stringify(i)}`);let o=this.filterTypings(i);if(o.length===0){this.log.isEnabled()&&this.log.writeLine(\"All typings are known to be missing or invalid - no need to install more typings\"),this.sendResponse(this.createSetTypings(e,r));return}this.ensurePackageDirectoryExists(t);let s=this.installRunCount;this.installRunCount++,this.sendResponse({kind:i3,eventId:s,typingsInstallerVersion:bp,projectName:e.projectName});let l=o.map(bMe);this.installTypingsAsync(s,l,t,d=>{try{if(!d){this.log.isEnabled()&&this.log.writeLine(`install request failed, marking packages as missing to prevent repeated requests: ${JSON.stringify(o)}`);for(let h of o)this.missingTypingsSet.add(h);return}this.log.isEnabled()&&this.log.writeLine(`Installed typings ${JSON.stringify(l)}`);let p=[];for(let h of o){let m=vMe(t,h,this.installTypingHost,this.log);if(!m){this.missingTypingsSet.add(h);continue}let v=this.typesRegistry.get(h),E=new zf(v[`ts${jm}`]||v[this.latestDistTag]),S={typingLocation:m,version:E};this.packageNameToTypingLocation.set(h,S),p.push(m)}this.log.isEnabled()&&this.log.writeLine(`Installed typing files ${JSON.stringify(p)}`),this.sendResponse(this.createSetTypings(e,r.concat(p)))}finally{let p={kind:o3,eventId:s,projectName:e.projectName,packagesToInstall:l,installSuccess:d,typingsInstallerVersion:bp};this.sendResponse(p)}})}ensureDirectoryExists(e,t){let r=Ur(e);t.directoryExists(r)||this.ensureDirectoryExists(r,t),t.directoryExists(e)||t.createDirectory(e)}watchFiles(e,t){if(!t.length){this.closeWatchers(e);return}let r=this.projectWatchers.get(e),i=new Set(t);!r||O_(i,o=>!r.has(o))||O_(r,o=>!i.has(o))?(this.projectWatchers.set(e,i),this.sendResponse({kind:JN,projectName:e,files:t})):this.sendResponse({kind:JN,projectName:e,files:void 0})}createSetTypings(e,t){return{projectName:e.projectName,typeAcquisition:e.typeAcquisition,compilerOptions:e.compilerOptions,typings:t,unresolvedImports:e.unresolvedImports,kind:Dk}}installTypingsAsync(e,t,r,i){this.pendingRunRequests.unshift({requestId:e,packageNames:t,cwd:r,onRequestCompleted:i}),this.executeWithThrottling()}executeWithThrottling(){for(;this.inFlightRequestCount<this.throttleLimit&&this.pendingRunRequests.length;){this.inFlightRequestCount++;let e=this.pendingRunRequests.pop();this.installWorker(e.requestId,e.packageNames,e.cwd,t=>{this.inFlightRequestCount--,e.onRequestCompleted(t),this.executeWithThrottling()})}}}}}),Ife={};la(Ife,{TypingsInstaller:()=>SMe,getNpmCommandForInstallation:()=>yMe,installNpmPackages:()=>LZe,typingsName:()=>bMe});var OZe=pt({\"src/typingsInstallerCore/_namespaces/ts.server.typingsInstaller.ts\"(){\"use strict\";kZe()}}),xfe=pt({\"src/typingsInstallerCore/_namespaces/ts.server.ts\"(){\"use strict\";a3(),OZe()}}),wZe=pt({\"src/server/types.ts\"(){\"use strict\"}});function Rfe(e,t,r,i){return{projectName:e.getProjectName(),fileNames:e.getFileNames(!0,!0).concat(e.getExcludedFiles()),compilerOptions:e.getCompilationSettings(),typeAcquisition:t,unresolvedImports:r,projectRootPath:e.getCurrentDirectory(),cachePath:i,kind:\"discover\"}}function js(e){return Yo(e)}function jO(e,t,r){let i=Ou(e)?e:Qi(e,t);return r(i)}function TMe(e){return e}function AMe(){let e=new Map;return{get(t){return e.get(t)},set(t,r){e.set(t,r)},contains(t){return e.has(t)},remove(t){e.delete(t)}}}function Dfe(e){return/dev\\/null\\/inferredProject\\d+\\*/.test(e)}function Cfe(e){return`/dev/null/inferredProject${e}*`}function Nfe(e){return`/dev/null/autoImportProviderProject${e}*`}function Pfe(e){return`/dev/null/auxiliaryProject${e}*`}function Mfe(){return[]}var e$,ql,t$,vv,WZe=pt({\"src/server/utilitiesPublic.ts\"(){\"use strict\";Ty(),e$=(e=>(e[e.terse=0]=\"terse\",e[e.normal=1]=\"normal\",e[e.requestTime=2]=\"requestTime\",e[e.verbose=3]=\"verbose\",e))(e$||{}),ql=Mfe(),t$=(e=>(e.Err=\"Err\",e.Info=\"Info\",e.Perf=\"Perf\",e))(t$||{}),(e=>{function t(){throw new Error(\"No Project.\")}e.ThrowNoProject=t;function r(){throw new Error(\"The project's language service is disabled.\")}e.ThrowProjectLanguageServiceDisabled=r;function i(o,s){throw new Error(`Project '${s.getProjectName()}' does not contain document '${o}'`)}e.ThrowProjectDoesNotContainDocument=i})(vv||(vv={}))}});function n$(e){let t=Ll(e);return t===\"tsconfig.json\"||t===\"jsconfig.json\"?t:void 0}function IMe(e,t,r){if(!e||e.length===0)return;if(e[0]===t){e.splice(0,1);return}let i=Vg(e,t,Ps,r);i>=0&&e.splice(i,1)}var r$,i$,FZe=pt({\"src/server/utilities.ts\"(){\"use strict\";Ty(),hT(),r$=class yWe{constructor(t,r){this.host=t,this.pendingTimeouts=new Map,this.logger=r.hasLevel(3)?r:void 0}schedule(t,r,i){let o=this.pendingTimeouts.get(t);o&&this.host.clearTimeout(o),this.pendingTimeouts.set(t,this.host.setTimeout(yWe.run,r,t,this,i)),this.logger&&this.logger.info(`Scheduled: ${t}${o?\", Cancelled earlier one\":\"\"}`)}cancel(t){let r=this.pendingTimeouts.get(t);return r?(this.host.clearTimeout(r),this.pendingTimeouts.delete(t)):!1}static run(t,r,i){var o,s;(o=Pd)==null||o.logStartScheduledOperation(t),r.pendingTimeouts.delete(t),r.logger&&r.logger.info(`Running: ${t}`),i(),(s=Pd)==null||s.logStopScheduledOperation()}},i$=class bWe{constructor(t,r,i){this.host=t,this.delay=r,this.logger=i}scheduleCollect(){!this.host.gc||this.timerId!==void 0||(this.timerId=this.host.setTimeout(bWe.run,this.delay,this))}static run(t){var r,i;t.timerId=void 0,(r=Pd)==null||r.logStartScheduledOperation(\"GC collect\");let o=t.logger.hasLevel(2),s=o&&t.host.getMemoryUsage();if(t.host.gc(),o){let l=t.host.getMemoryUsage();t.logger.perftrc(`GC::before ${s}, after ${l}`)}(i=Pd)==null||i.logStopScheduledOperation()}}}}),o$,Lfe,kfe,Ofe,wfe,Wfe,Ffe,zfe,Bfe,Gfe,Vfe,jfe,Ufe,Hfe,qfe=pt({\"src/server/protocol.ts\"(){\"use strict\";o$=(e=>(e.JsxClosingTag=\"jsxClosingTag\",e.LinkedEditingRange=\"linkedEditingRange\",e.Brace=\"brace\",e.BraceFull=\"brace-full\",e.BraceCompletion=\"braceCompletion\",e.GetSpanOfEnclosingComment=\"getSpanOfEnclosingComment\",e.Change=\"change\",e.Close=\"close\",e.Completions=\"completions\",e.CompletionInfo=\"completionInfo\",e.CompletionsFull=\"completions-full\",e.CompletionDetails=\"completionEntryDetails\",e.CompletionDetailsFull=\"completionEntryDetails-full\",e.CompileOnSaveAffectedFileList=\"compileOnSaveAffectedFileList\",e.CompileOnSaveEmitFile=\"compileOnSaveEmitFile\",e.Configure=\"configure\",e.Definition=\"definition\",e.DefinitionFull=\"definition-full\",e.DefinitionAndBoundSpan=\"definitionAndBoundSpan\",e.DefinitionAndBoundSpanFull=\"definitionAndBoundSpan-full\",e.Implementation=\"implementation\",e.ImplementationFull=\"implementation-full\",e.EmitOutput=\"emit-output\",e.Exit=\"exit\",e.FileReferences=\"fileReferences\",e.FileReferencesFull=\"fileReferences-full\",e.Format=\"format\",e.Formatonkey=\"formatonkey\",e.FormatFull=\"format-full\",e.FormatonkeyFull=\"formatonkey-full\",e.FormatRangeFull=\"formatRange-full\",e.Geterr=\"geterr\",e.GeterrForProject=\"geterrForProject\",e.SemanticDiagnosticsSync=\"semanticDiagnosticsSync\",e.SyntacticDiagnosticsSync=\"syntacticDiagnosticsSync\",e.SuggestionDiagnosticsSync=\"suggestionDiagnosticsSync\",e.NavBar=\"navbar\",e.NavBarFull=\"navbar-full\",e.Navto=\"navto\",e.NavtoFull=\"navto-full\",e.NavTree=\"navtree\",e.NavTreeFull=\"navtree-full\",e.DocumentHighlights=\"documentHighlights\",e.DocumentHighlightsFull=\"documentHighlights-full\",e.Open=\"open\",e.Quickinfo=\"quickinfo\",e.QuickinfoFull=\"quickinfo-full\",e.References=\"references\",e.ReferencesFull=\"references-full\",e.Reload=\"reload\",e.Rename=\"rename\",e.RenameInfoFull=\"rename-full\",e.RenameLocationsFull=\"renameLocations-full\",e.Saveto=\"saveto\",e.SignatureHelp=\"signatureHelp\",e.SignatureHelpFull=\"signatureHelp-full\",e.FindSourceDefinition=\"findSourceDefinition\",e.Status=\"status\",e.TypeDefinition=\"typeDefinition\",e.ProjectInfo=\"projectInfo\",e.ReloadProjects=\"reloadProjects\",e.Unknown=\"unknown\",e.OpenExternalProject=\"openExternalProject\",e.OpenExternalProjects=\"openExternalProjects\",e.CloseExternalProject=\"closeExternalProject\",e.SynchronizeProjectList=\"synchronizeProjectList\",e.ApplyChangedToOpenFiles=\"applyChangedToOpenFiles\",e.UpdateOpen=\"updateOpen\",e.EncodedSyntacticClassificationsFull=\"encodedSyntacticClassifications-full\",e.EncodedSemanticClassificationsFull=\"encodedSemanticClassifications-full\",e.Cleanup=\"cleanup\",e.GetOutliningSpans=\"getOutliningSpans\",e.GetOutliningSpansFull=\"outliningSpans\",e.TodoComments=\"todoComments\",e.Indentation=\"indentation\",e.DocCommentTemplate=\"docCommentTemplate\",e.CompilerOptionsDiagnosticsFull=\"compilerOptionsDiagnostics-full\",e.NameOrDottedNameSpan=\"nameOrDottedNameSpan\",e.BreakpointStatement=\"breakpointStatement\",e.CompilerOptionsForInferredProjects=\"compilerOptionsForInferredProjects\",e.GetCodeFixes=\"getCodeFixes\",e.GetCodeFixesFull=\"getCodeFixes-full\",e.GetCombinedCodeFix=\"getCombinedCodeFix\",e.GetCombinedCodeFixFull=\"getCombinedCodeFix-full\",e.ApplyCodeActionCommand=\"applyCodeActionCommand\",e.GetSupportedCodeFixes=\"getSupportedCodeFixes\",e.GetApplicableRefactors=\"getApplicableRefactors\",e.GetEditsForRefactor=\"getEditsForRefactor\",e.GetMoveToRefactoringFileSuggestions=\"getMoveToRefactoringFileSuggestions\",e.GetEditsForRefactorFull=\"getEditsForRefactor-full\",e.OrganizeImports=\"organizeImports\",e.OrganizeImportsFull=\"organizeImports-full\",e.GetEditsForFileRename=\"getEditsForFileRename\",e.GetEditsForFileRenameFull=\"getEditsForFileRename-full\",e.ConfigurePlugin=\"configurePlugin\",e.SelectionRange=\"selectionRange\",e.SelectionRangeFull=\"selectionRange-full\",e.ToggleLineComment=\"toggleLineComment\",e.ToggleLineCommentFull=\"toggleLineComment-full\",e.ToggleMultilineComment=\"toggleMultilineComment\",e.ToggleMultilineCommentFull=\"toggleMultilineComment-full\",e.CommentSelection=\"commentSelection\",e.CommentSelectionFull=\"commentSelection-full\",e.UncommentSelection=\"uncommentSelection\",e.UncommentSelectionFull=\"uncommentSelection-full\",e.PrepareCallHierarchy=\"prepareCallHierarchy\",e.ProvideCallHierarchyIncomingCalls=\"provideCallHierarchyIncomingCalls\",e.ProvideCallHierarchyOutgoingCalls=\"provideCallHierarchyOutgoingCalls\",e.ProvideInlayHints=\"provideInlayHints\",e.WatchChange=\"watchChange\",e))(o$||{}),Lfe=(e=>(e.All=\"All\",e.SortAndCombine=\"SortAndCombine\",e.RemoveUnused=\"RemoveUnused\",e))(Lfe||{}),kfe=(e=>(e.FixedPollingInterval=\"FixedPollingInterval\",e.PriorityPollingInterval=\"PriorityPollingInterval\",e.DynamicPriorityPolling=\"DynamicPriorityPolling\",e.FixedChunkSizePolling=\"FixedChunkSizePolling\",e.UseFsEvents=\"UseFsEvents\",e.UseFsEventsOnParentDirectory=\"UseFsEventsOnParentDirectory\",e))(kfe||{}),Ofe=(e=>(e.UseFsEvents=\"UseFsEvents\",e.FixedPollingInterval=\"FixedPollingInterval\",e.DynamicPriorityPolling=\"DynamicPriorityPolling\",e.FixedChunkSizePolling=\"FixedChunkSizePolling\",e))(Ofe||{}),wfe=(e=>(e.FixedInterval=\"FixedInterval\",e.PriorityInterval=\"PriorityInterval\",e.DynamicPriority=\"DynamicPriority\",e.FixedChunkSize=\"FixedChunkSize\",e))(wfe||{}),Wfe=(e=>(e[e.Invoked=1]=\"Invoked\",e[e.TriggerCharacter=2]=\"TriggerCharacter\",e[e.TriggerForIncompleteCompletions=3]=\"TriggerForIncompleteCompletions\",e))(Wfe||{}),Ffe=(e=>(e.None=\"None\",e.Block=\"Block\",e.Smart=\"Smart\",e))(Ffe||{}),zfe=(e=>(e.Ignore=\"ignore\",e.Insert=\"insert\",e.Remove=\"remove\",e))(zfe||{}),Bfe=(e=>(e.None=\"None\",e.Preserve=\"Preserve\",e.ReactNative=\"ReactNative\",e.React=\"React\",e))(Bfe||{}),Gfe=(e=>(e.None=\"None\",e.CommonJS=\"CommonJS\",e.AMD=\"AMD\",e.UMD=\"UMD\",e.System=\"System\",e.ES6=\"ES6\",e.ES2015=\"ES2015\",e.ESNext=\"ESNext\",e.Node16=\"Node16\",e.NodeNext=\"NodeNext\",e.Preserve=\"Preserve\",e))(Gfe||{}),Vfe=(e=>(e.Classic=\"Classic\",e.Node=\"Node\",e.Node10=\"Node10\",e.Node16=\"Node16\",e.NodeNext=\"NodeNext\",e.Bundler=\"Bundler\",e))(Vfe||{}),jfe=(e=>(e.Crlf=\"Crlf\",e.Lf=\"Lf\",e))(jfe||{}),Ufe=(e=>(e.ES3=\"ES3\",e.ES5=\"ES5\",e.ES6=\"ES6\",e.ES2015=\"ES2015\",e.ES2016=\"ES2016\",e.ES2017=\"ES2017\",e.ES2018=\"ES2018\",e.ES2019=\"ES2019\",e.ES2020=\"ES2020\",e.ES2021=\"ES2021\",e.ES2022=\"ES2022\",e.ESNext=\"ESNext\",e))(Ufe||{}),Hfe=(e=>(e[e.comment=1]=\"comment\",e[e.identifier=2]=\"identifier\",e[e.keyword=3]=\"keyword\",e[e.numericLiteral=4]=\"numericLiteral\",e[e.operator=5]=\"operator\",e[e.stringLiteral=6]=\"stringLiteral\",e[e.regularExpressionLiteral=7]=\"regularExpressionLiteral\",e[e.whiteSpace=8]=\"whiteSpace\",e[e.text=9]=\"text\",e[e.punctuation=10]=\"punctuation\",e[e.className=11]=\"className\",e[e.enumName=12]=\"enumName\",e[e.interfaceName=13]=\"interfaceName\",e[e.moduleName=14]=\"moduleName\",e[e.typeParameterName=15]=\"typeParameterName\",e[e.typeAliasName=16]=\"typeAliasName\",e[e.parameterName=17]=\"parameterName\",e[e.docCommentTagName=18]=\"docCommentTagName\",e[e.jsxOpenTagName=19]=\"jsxOpenTagName\",e[e.jsxCloseTagName=20]=\"jsxCloseTagName\",e[e.jsxSelfClosingTagName=21]=\"jsxSelfClosingTagName\",e[e.jsxAttribute=22]=\"jsxAttribute\",e[e.jsxText=23]=\"jsxText\",e[e.jsxAttributeStringLiteralValue=24]=\"jsxAttributeStringLiteralValue\",e[e.bigintLiteral=25]=\"bigintLiteral\",e))(Hfe||{})}}),Jfe={};la(Jfe,{ClassificationType:()=>Hfe,CommandTypes:()=>o$,CompletionTriggerKind:()=>Wfe,IndentStyle:()=>Ffe,JsxEmit:()=>Bfe,ModuleKind:()=>Gfe,ModuleResolutionKind:()=>Vfe,NewLineKind:()=>jfe,OrganizeImportsMode:()=>Lfe,PollingWatchKind:()=>wfe,ScriptTarget:()=>Ufe,SemicolonPreference:()=>zfe,WatchDirectoryKind:()=>Ofe,WatchFileKind:()=>kfe});var zZe=pt({\"src/server/_namespaces/ts.server.protocol.ts\"(){\"use strict\";qfe()}});function UO(e){return e[0]===\"^\"||(e.includes(\"walkThroughSnippet:/\")||e.includes(\"untitled:/\"))&&Ll(e)[0]===\"^\"||e.includes(\":^\")&&!e.includes(Os)}function xMe(e){return!e||qO(e)?vv.ThrowNoProject():e}function BZe(e){x.assert(typeof e==\"number\",`Expected position ${e} to be a number.`),x.assert(e>=0,\"Expected position to be non-negative.\")}function GZe(e){x.assert(typeof e.line==\"number\",`Expected line ${e.line} to be a number.`),x.assert(typeof e.offset==\"number\",`Expected offset ${e.offset} to be a number.`),x.assert(e.line>0,`Expected line to be non-${e.line===0?\"zero\":\"negative\"}`),x.assert(e.offset>0,`Expected offset to be non-${e.offset===0?\"zero\":\"negative\"}`)}var a$,s$,VZe=pt({\"src/server/scriptInfo.ts\"(){\"use strict\";Ty(),hT(),a$=class{constructor(e,t,r){this.host=e,this.info=t,this.isOpen=!1,this.ownFileText=!1,this.pendingReloadFromDisk=!1,this.version=r||0}getVersion(){return this.svc?`SVC-${this.version}-${this.svc.getSnapshotVersion()}`:`Text-${this.version}`}hasScriptVersionCache_TestOnly(){return this.svc!==void 0}resetSourceMapInfo(){this.info.sourceFileLike=void 0,this.info.closeSourceMapFileWatcher(),this.info.sourceMapFilePath=void 0,this.info.declarationInfoPath=void 0,this.info.sourceInfos=void 0,this.info.documentPositionMapper=void 0}useText(e){this.svc=void 0,this.text=e,this.textSnapshot=void 0,this.lineMap=void 0,this.fileSize=void 0,this.resetSourceMapInfo(),this.version++}edit(e,t,r){this.switchToScriptVersionCache().edit(e,t-e,r),this.ownFileText=!1,this.text=void 0,this.textSnapshot=void 0,this.lineMap=void 0,this.fileSize=void 0,this.resetSourceMapInfo()}reload(e){return x.assert(e!==void 0),this.pendingReloadFromDisk=!1,!this.text&&this.svc&&(this.text=hR(this.svc.getSnapshot())),this.text!==e?(this.useText(e),this.ownFileText=!1,!0):!1}reloadWithFileText(e){let{text:t,fileSize:r}=e||!this.info.isDynamicOrHasMixedContent()?this.getFileTextAndSize(e):{text:\"\",fileSize:void 0},i=this.reload(t);return this.fileSize=r,this.ownFileText=!e||e===this.info.fileName,i}scheduleReloadIfNeeded(){return!this.pendingReloadFromDisk&&!this.ownFileText?this.pendingReloadFromDisk=!0:!1}delayReloadFromFileIntoText(){this.pendingReloadFromDisk=!0}getTelemetryFileSize(){return this.fileSize?this.fileSize:this.text?this.text.length:this.svc?this.svc.getSnapshot().getLength():this.getSnapshot().getLength()}getSnapshot(){var e;return((e=this.tryUseScriptVersionCache())==null?void 0:e.getSnapshot())||(this.textSnapshot??(this.textSnapshot=l3.fromString(x.checkDefined(this.text))))}getAbsolutePositionAndLineText(e){let t=this.tryUseScriptVersionCache();if(t)return t.getAbsolutePositionAndLineText(e);let r=this.getLineMap();return e<=r.length?{absolutePosition:r[e-1],lineText:this.text.substring(r[e-1],r[e])}:{absolutePosition:this.text.length,lineText:void 0}}lineToTextSpan(e){let t=this.tryUseScriptVersionCache();if(t)return t.lineToTextSpan(e);let r=this.getLineMap(),i=r[e],o=e+1<r.length?r[e+1]:this.text.length;return Gl(i,o)}lineOffsetToPosition(e,t,r){let i=this.tryUseScriptVersionCache();return i?i.lineOffsetToPosition(e,t):R8(this.getLineMap(),e-1,t-1,this.text,r)}positionToLineOffset(e){let t=this.tryUseScriptVersionCache();if(t)return t.positionToLineOffset(e);let{line:r,character:i}=W1(this.getLineMap(),e);return{line:r+1,offset:i+1}}getFileTextAndSize(e){let t,r=e||this.info.fileName,i=()=>t===void 0?t=this.host.readFile(r)||\"\":t;if(!qA(this.info.fileName)){let o=this.host.getFileSize?this.host.getFileSize(r):i().length;if(o>l7)return x.assert(!!this.info.containingProjects.length),this.info.containingProjects[0].projectService.logger.info(`Skipped loading contents of large file ${r} for info ${this.info.fileName}: fileSize: ${o}`),this.info.containingProjects[0].projectService.sendLargeFileReferencedEvent(r,o),{text:\"\",fileSize:o}}return{text:i()}}switchToScriptVersionCache(){return(!this.svc||this.pendingReloadFromDisk)&&(this.svc=E7.fromString(this.getOrLoadText()),this.textSnapshot=void 0,this.version++),this.svc}tryUseScriptVersionCache(){return(!this.svc||this.pendingReloadFromDisk)&&this.getOrLoadText(),this.isOpen?(!this.svc&&!this.textSnapshot&&(this.svc=E7.fromString(x.checkDefined(this.text)),this.textSnapshot=void 0),this.svc):this.svc}getOrLoadText(){return(this.text===void 0||this.pendingReloadFromDisk)&&(x.assert(!this.svc||this.pendingReloadFromDisk,\"ScriptVersionCache should not be set when reloading from disk\"),this.reloadWithFileText()),this.text}getLineMap(){return x.assert(!this.svc,\"ScriptVersionCache should not be set\"),this.lineMap||(this.lineMap=IA(x.checkDefined(this.text)))}getLineInfo(){let e=this.tryUseScriptVersionCache();if(e)return{getLineCount:()=>e.getLineCount(),getLineText:r=>e.getAbsolutePositionAndLineText(r+1).lineText};let t=this.getLineMap();return UU(this.text,t)}},s$=class{constructor(e,t,r,i,o,s){this.host=e,this.fileName=t,this.scriptKind=r,this.hasMixedContent=i,this.path=o,this.containingProjects=[],this.isDynamic=UO(t),this.textStorage=new a$(e,this,s),(i||this.isDynamic)&&(this.realpath=this.path),this.scriptKind=r||pF(t)}isDynamicOrHasMixedContent(){return this.hasMixedContent||this.isDynamic}isScriptOpen(){return this.textStorage.isOpen}open(e){this.textStorage.isOpen=!0,e!==void 0&&this.textStorage.reload(e)&&this.markContainingProjectsAsDirty()}close(e=!0){this.textStorage.isOpen=!1,e&&this.textStorage.scheduleReloadIfNeeded()&&this.markContainingProjectsAsDirty()}getSnapshot(){return this.textStorage.getSnapshot()}ensureRealPath(){if(this.realpath===void 0&&(this.realpath=this.path,this.host.realpath)){x.assert(!!this.containingProjects.length);let e=this.containingProjects[0],t=this.host.realpath(this.path);t&&(this.realpath=e.toPath(t),this.realpath!==this.path&&e.projectService.realpathToScriptInfos.add(this.realpath,this))}}getRealpathIfDifferent(){return this.realpath&&this.realpath!==this.path?this.realpath:void 0}isSymlink(){return this.realpath&&this.realpath!==this.path}getFormatCodeSettings(){return this.formatSettings}getPreferences(){return this.preferences}attachToProject(e){let t=!this.isAttached(e);return t&&(this.containingProjects.push(e),e.getCompilerOptions().preserveSymlinks||this.ensureRealPath(),e.onFileAddedOrRemoved(this.isSymlink())),t}isAttached(e){switch(this.containingProjects.length){case 0:return!1;case 1:return this.containingProjects[0]===e;case 2:return this.containingProjects[0]===e||this.containingProjects[1]===e;default:return To(this.containingProjects,e)}}detachFromProject(e){switch(this.containingProjects.length){case 0:return;case 1:this.containingProjects[0]===e&&(e.onFileAddedOrRemoved(this.isSymlink()),this.containingProjects.pop());break;case 2:this.containingProjects[0]===e?(e.onFileAddedOrRemoved(this.isSymlink()),this.containingProjects[0]=this.containingProjects.pop()):this.containingProjects[1]===e&&(e.onFileAddedOrRemoved(this.isSymlink()),this.containingProjects.pop());break;default:N1(this.containingProjects,e)&&e.onFileAddedOrRemoved(this.isSymlink());break}}detachAllProjects(){for(let e of this.containingProjects){Yb(e)&&e.getCachedDirectoryStructureHost().addOrDeleteFile(this.fileName,this.path,2);let t=e.getRootFilesMap().get(this.path);e.removeFile(this,!1,!1),e.onFileAddedOrRemoved(this.isSymlink()),t&&!FR(e)&&e.addMissingFileRoot(t.fileName)}ph(this.containingProjects)}getDefaultProject(){switch(this.containingProjects.length){case 0:return vv.ThrowNoProject();case 1:return xMe(this.containingProjects[0]);default:let e,t,r,i,o;for(let s=0;s<this.containingProjects.length;s++){let l=this.containingProjects[s];if(Yb(l)){if(!l.isSourceOfProjectReferenceRedirect(this.fileName)){if(o===void 0&&s!==this.containingProjects.length-1&&(o=l.projectService.findDefaultConfiguredProject(this)||!1),o===l)return l;i||(i=l)}t||(t=l)}else!e&&c$(l)?e=l:!r&&FR(l)&&(r=l)}return xMe(o||i||t||e||r)}}registerFileUpdate(){for(let e of this.containingProjects)e.registerFileUpdate(this.path)}setOptions(e,t){e&&(this.formatSettings?this.formatSettings={...this.formatSettings,...e}:(this.formatSettings=s3(this.host.newLine),R1(this.formatSettings,e))),t&&(this.preferences||(this.preferences=ef),this.preferences={...this.preferences,...t})}getLatestVersion(){return this.textStorage.getSnapshot(),this.textStorage.getVersion()}saveTo(e){this.host.writeFile(e,hR(this.textStorage.getSnapshot()))}delayReloadNonMixedContentFile(){x.assert(!this.isDynamicOrHasMixedContent()),this.textStorage.delayReloadFromFileIntoText(),this.markContainingProjectsAsDirty()}reloadFromFile(e){return this.textStorage.reloadWithFileText(e)?(this.markContainingProjectsAsDirty(),!0):!1}editContent(e,t,r){this.textStorage.edit(e,t,r),this.markContainingProjectsAsDirty()}markContainingProjectsAsDirty(){for(let e of this.containingProjects)e.markFileAsDirty(this.path)}isOrphan(){return!an(this.containingProjects,e=>!e.isOrphan())}isContainedByBackgroundProject(){return ct(this.containingProjects,qO)}lineToTextSpan(e){return this.textStorage.lineToTextSpan(e)}lineOffsetToPosition(e,t,r){return this.textStorage.lineOffsetToPosition(e,t,r)}positionToLineOffset(e){BZe(e);let t=this.textStorage.positionToLineOffset(e);return GZe(t),t}isJavaScript(){return this.scriptKind===1||this.scriptKind===2}closeSourceMapFileWatcher(){this.sourceMapFilePath&&!fo(this.sourceMapFilePath)&&(Qp(this.sourceMapFilePath),this.sourceMapFilePath=void 0)}}}});function RMe(e,t){if(e===t||(e||ql).length===0&&(t||ql).length===0)return!0;let r=new Map,i=0;for(let o of e)r.get(o)!==!0&&(r.set(o,!0),i++);for(let o of t){let s=r.get(o);if(s===void 0)return!1;s===!0&&(r.set(o,!1),i--)}return i===0}function jZe(e,t){return e.enable!==t.enable||!RMe(e.include,t.include)||!RMe(e.exclude,t.exclude)}function UZe(e,t){return sy(e)!==sy(t)}function HZe(e,t){return e===t?!1:!mm(e,t)}var i7,l$,qZe=pt({\"src/server/typingsCache.ts\"(){\"use strict\";Ty(),hT(),i7={isKnownTypesPackageName:_m,installPackage:Ro,enqueueInstallTypingsRequest:Ca,attach:Ca,onProjectClosed:Ca,globalTypingsCacheLocation:void 0},l$=class{constructor(e){this.installer=e,this.perProjectCache=new Map}isKnownTypesPackageName(e){return this.installer.isKnownTypesPackageName(e)}installPackage(e){return this.installer.installPackage(e)}enqueueInstallTypingsForProject(e,t,r){let i=e.getTypeAcquisition();if(!i||!i.enable)return;let o=this.perProjectCache.get(e.getProjectName());(r||!o||jZe(i,o.typeAcquisition)||UZe(e.getCompilationSettings(),o.compilerOptions)||HZe(t,o.unresolvedImports))&&(this.perProjectCache.set(e.getProjectName(),{compilerOptions:e.getCompilationSettings(),typeAcquisition:i,typings:o?o.typings:ql,unresolvedImports:t,poisoned:!0}),this.installer.enqueueInstallTypingsRequest(e,i,t))}updateTypingsForProject(e,t,r,i,o){let s=uS(o);return this.perProjectCache.set(e,{compilerOptions:t,typeAcquisition:r,typings:s,unresolvedImports:i,poisoned:!1}),!r||!r.enable?ql:s}onProjectClosed(e){this.perProjectCache.delete(e.getProjectName())&&this.installer.onProjectClosed(e)}}}});function HO(e,t=!1){let r={js:0,jsSize:0,jsx:0,jsxSize:0,ts:0,tsSize:0,tsx:0,tsxSize:0,dts:0,dtsSize:0,deferred:0,deferredSize:0};for(let i of e){let o=t?i.textStorage.getTelemetryFileSize():0;switch(i.scriptKind){case 1:r.js+=1,r.jsSize+=o;break;case 2:r.jsx+=1,r.jsxSize+=o;break;case 3:Yc(i.fileName)?(r.dts+=1,r.dtsSize+=o):(r.ts+=1,r.tsSize+=o);break;case 4:r.tsx+=1,r.tsxSize+=o;break;case 7:r.deferred+=1,r.deferredSize+=o;break}}return r}function JZe(e){let t=HO(e.getScriptInfos());return t.js>0&&t.ts===0&&t.tsx===0}function Kfe(e){let t=HO(e.getRootScriptInfos());return t.ts===0&&t.tsx===0}function Xfe(e){let t=HO(e.getScriptInfos());return t.ts===0&&t.tsx===0}function Yfe(e){return!e.some(t=>el(t,\".ts\")&&!Yc(t)||el(t,\".tsx\"))}function $fe(e){return e.generatedFilePath!==void 0}function KZe(e,t){var r,i;let o=e.getSourceFiles();(r=qn)==null||r.push(qn.Phase.Session,\"getUnresolvedImports\",{count:o.length});let s=e.getTypeChecker().getAmbientModules().map(d=>Sf(d.getName())),l=zD(ta(o,d=>XZe(e,d,s,t)));return(i=qn)==null||i.pop(),l}function XZe(e,t,r,i){return FD(i,t.path,()=>{let o;return e.forEachResolvedModule(({resolvedModule:s},l)=>{(!s||!VC(s.extension))&&!Ic(l)&&!r.some(d=>d===l)&&(o=pn(o,ik(l).packageName))},t),o||ql})}function FR(e){return e.projectKind===0}function Yb(e){return e.projectKind===1}function c$(e){return e.projectKind===2}function qO(e){return e.projectKind===3||e.projectKind===4}var yP,_T,d$,u$,p$,f$,m$,o7,YZe=pt({\"src/server/project.ts\"(){\"use strict\";Ty(),Ty(),hT(),yP=(e=>(e[e.Inferred=0]=\"Inferred\",e[e.Configured=1]=\"Configured\",e[e.External=2]=\"External\",e[e.AutoImportProvider=3]=\"AutoImportProvider\",e[e.Auxiliary=4]=\"Auxiliary\",e))(yP||{}),_T=class EWe{constructor(t,r,i,o,s,l,d,p,h,m,v){switch(this.projectKind=r,this.projectService=i,this.documentRegistry=o,this.compilerOptions=d,this.compileOnSaveEnabled=p,this.watchOptions=h,this.rootFiles=[],this.rootFilesMap=new Map,this.plugins=[],this.cachedUnresolvedImportsPerFile=new Map,this.hasAddedorRemovedFiles=!1,this.hasAddedOrRemovedSymlinks=!1,this.lastReportedVersion=0,this.projectProgramVersion=0,this.projectStateVersion=0,this.isInitialLoadPending=_m,this.dirty=!1,this.typingFiles=ql,this.moduleSpecifierCache=cme(this),this.createHash=Wo(this.projectService.host,this.projectService.host.createHash),this.globalCacheResolutionModuleName=l_.nonRelativeModuleNameForTypingCache,this.updateFromProjectInProgress=!1,this.projectName=t,this.directoryStructureHost=m,this.currentDirectory=this.projectService.getNormalizedAbsolutePath(v),this.getCanonicalFileName=this.projectService.toCanonicalFileName,this.jsDocParsingMode=this.projectService.jsDocParsingMode,this.cancellationToken=new VK(this.projectService.cancellationToken,this.projectService.throttleWaitMilliseconds),this.compilerOptions?(s||sy(this.compilerOptions)||this.projectService.hasDeferredExtension())&&(this.compilerOptions.allowNonTsExtensions=!0):(this.compilerOptions=Tz(),this.compilerOptions.allowNonTsExtensions=!0,this.compilerOptions.allowJs=!0),i.serverMode){case 0:this.languageServiceEnabled=!0;break;case 1:this.languageServiceEnabled=!0,this.compilerOptions.noResolve=!0,this.compilerOptions.types=[];break;case 2:this.languageServiceEnabled=!1,this.compilerOptions.noResolve=!0,this.compilerOptions.types=[];break;default:x.assertNever(i.serverMode)}this.setInternalCompilerOptionsForEmittingJsFiles();let E=this.projectService.host;this.projectService.logger.loggingEnabled()?this.trace=S=>this.writeLog(S):E.trace&&(this.trace=S=>E.trace(S)),this.realpath=Wo(E,E.realpath),this.resolutionCache=$H(this,this.currentDirectory,!0),this.languageService=Vce(this,this.documentRegistry,this.projectService.serverMode),l&&this.disableLanguageService(l),this.markAsDirty(),qO(this)||(this.projectService.pendingEnsureProjectForOpenFiles=!0),this.projectService.onProjectCreation(this)}getResolvedProjectReferenceToRedirect(t){}isNonTsProject(){return up(this),Xfe(this)}isJsOnlyProject(){return up(this),JZe(this)}static resolveModule(t,r,i,o){return EWe.importServicePluginSync({name:t},[r],i,o).resolvedModule}static importServicePluginSync(t,r,i,o){x.assertIsDefined(i.require);let s,l;for(let d of r){let p=ad(i.resolvePath(wr(d,\"node_modules\")));o(`Loading ${t.name} from ${d} (resolved to ${p})`);let h=i.require(p,t.name);if(!h.error){l=h.module;break}let m=h.error.stack||h.error.message||JSON.stringify(h.error);(s??(s=[])).push(`Failed to load module '${t.name}' from ${p}: ${m}`)}return{pluginConfigEntry:t,resolvedModule:l,errorLogs:s}}static async importServicePluginAsync(t,r,i,o){x.assertIsDefined(i.importPlugin);let s,l;for(let d of r){let p=wr(d,\"node_modules\");o(`Dynamically importing ${t.name} from ${d} (resolved to ${p})`);let h;try{h=await i.importPlugin(p,t.name)}catch(v){h={module:void 0,error:v}}if(!h.error){l=h.module;break}let m=h.error.stack||h.error.message||JSON.stringify(h.error);(s??(s=[])).push(`Failed to dynamically import module '${t.name}' from ${p}: ${m}`)}return{pluginConfigEntry:t,resolvedModule:l,errorLogs:s}}isKnownTypesPackageName(t){return this.typingsCache.isKnownTypesPackageName(t)}installPackage(t){return this.typingsCache.installPackage({...t,projectName:this.projectName,projectRootPath:this.toPath(this.currentDirectory)})}getGlobalTypingsCacheLocation(){return this.getGlobalCache()}get typingsCache(){return this.projectService.typingsCache}getSymlinkCache(){return this.symlinks||(this.symlinks=IV(this.getCurrentDirectory(),this.getCanonicalFileName)),this.program&&!this.symlinks.hasProcessedResolutions()&&this.symlinks.setSymlinksFromResolutions(this.program.forEachResolvedModule,this.program.forEachResolvedTypeReferenceDirective,this.program.getAutomaticTypeDirectiveResolutions()),this.symlinks}getCompilationSettings(){return this.compilerOptions}getCompilerOptions(){return this.getCompilationSettings()}getNewLine(){return this.projectService.host.newLine}getProjectVersion(){return this.projectStateVersion.toString()}getProjectReferences(){}getScriptFileNames(){if(!this.rootFiles)return je;let t;return this.rootFilesMap.forEach(r=>{(this.languageServiceEnabled||r.info&&r.info.isScriptOpen())&&(t||(t=[])).push(r.fileName)}),Pr(t,this.typingFiles)||je}getOrCreateScriptInfoAndAttachToProject(t){let r=this.projectService.getOrCreateScriptInfoNotOpenedByClient(t,this.currentDirectory,this.directoryStructureHost);if(r){let i=this.rootFilesMap.get(r.path);i&&i.info!==r&&(this.rootFiles.push(r),i.info=r),r.attachToProject(this)}return r}getScriptKind(t){let r=this.projectService.getScriptInfoForPath(this.toPath(t));return r&&r.scriptKind}getScriptVersion(t){let r=this.projectService.getOrCreateScriptInfoNotOpenedByClient(t,this.currentDirectory,this.directoryStructureHost);return r&&r.getLatestVersion()}getScriptSnapshot(t){let r=this.getOrCreateScriptInfoAndAttachToProject(t);if(r)return r.getSnapshot()}getCancellationToken(){return this.cancellationToken}getCurrentDirectory(){return this.currentDirectory}getDefaultLibFileName(){let t=Ur(Yo(this.projectService.getExecutingFilePath()));return wr(t,OM(this.compilerOptions))}useCaseSensitiveFileNames(){return this.projectService.host.useCaseSensitiveFileNames}readDirectory(t,r,i,o,s){return this.directoryStructureHost.readDirectory(t,r,i,o,s)}readFile(t){return this.projectService.host.readFile(t)}writeFile(t,r){return this.projectService.host.writeFile(t,r)}fileExists(t){let r=this.toPath(t);return!this.isWatchedMissingFile(r)&&this.directoryStructureHost.fileExists(t)}resolveModuleNameLiterals(t,r,i,o,s,l){return this.resolutionCache.resolveModuleNameLiterals(t,r,i,o,s,l)}getModuleResolutionCache(){return this.resolutionCache.getModuleResolutionCache()}resolveTypeReferenceDirectiveReferences(t,r,i,o,s,l){return this.resolutionCache.resolveTypeReferenceDirectiveReferences(t,r,i,o,s,l)}resolveLibrary(t,r,i,o){return this.resolutionCache.resolveLibrary(t,r,i,o)}directoryExists(t){return this.directoryStructureHost.directoryExists(t)}getDirectories(t){return this.directoryStructureHost.getDirectories(t)}getCachedDirectoryStructureHost(){}toPath(t){return ks(t,this.currentDirectory,this.projectService.toCanonicalFileName)}watchDirectoryOfFailedLookupLocation(t,r,i){return this.projectService.watchFactory.watchDirectory(t,r,i,this.projectService.getWatchOptions(this),dc.FailedLookupLocations,this)}watchAffectingFileLocation(t,r){return this.projectService.watchFactory.watchFile(t,r,2e3,this.projectService.getWatchOptions(this),dc.AffectingFileLocation,this)}clearInvalidateResolutionOfFailedLookupTimer(){return this.projectService.throttledOperations.cancel(`${this.getProjectName()}FailedLookupInvalidation`)}scheduleInvalidateResolutionsOfFailedLookupLocations(){this.projectService.throttledOperations.schedule(`${this.getProjectName()}FailedLookupInvalidation`,1e3,()=>{this.resolutionCache.invalidateResolutionsOfFailedLookupLocations()&&this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this)})}invalidateResolutionsOfFailedLookupLocations(){this.clearInvalidateResolutionOfFailedLookupTimer()&&this.resolutionCache.invalidateResolutionsOfFailedLookupLocations()&&(this.markAsDirty(),this.projectService.delayEnsureProjectForOpenFiles())}onInvalidatedResolution(){this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this)}watchTypeRootsDirectory(t,r,i){return this.projectService.watchFactory.watchDirectory(t,r,i,this.projectService.getWatchOptions(this),dc.TypeRoots,this)}hasChangedAutomaticTypeDirectiveNames(){return this.resolutionCache.hasChangedAutomaticTypeDirectiveNames()}onChangedAutomaticTypeDirectiveNames(){this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this)}getGlobalCache(){return this.getTypeAcquisition().enable?this.projectService.typingsInstaller.globalTypingsCacheLocation:void 0}fileIsOpen(t){return this.projectService.openFiles.has(t)}writeLog(t){this.projectService.logger.info(t)}log(t){this.writeLog(t)}error(t){this.projectService.logger.msg(t,\"Err\")}setInternalCompilerOptionsForEmittingJsFiles(){(this.projectKind===0||this.projectKind===2)&&(this.compilerOptions.noEmitForJsFiles=!0)}getGlobalProjectErrors(){return Cr(this.projectErrors,t=>!t.file)||ql}getAllProjectErrors(){return this.projectErrors||ql}setProjectErrors(t){this.projectErrors=t}getLanguageService(t=!0){return t&&up(this),this.languageService}getSourceMapper(){return this.getLanguageService().getSourceMapper()}clearSourceMapperCache(){this.languageService.clearSourceMapperCache()}getDocumentPositionMapper(t,r){return this.projectService.getDocumentPositionMapper(this,t,r)}getSourceFileLike(t){return this.projectService.getSourceFileLike(t,this)}shouldEmitFile(t){return t&&!t.isDynamicOrHasMixedContent()&&!this.program.isSourceOfProjectReferenceRedirect(t.path)}getCompileOnSaveAffectedFileList(t){return this.languageServiceEnabled?(up(this),this.builderState=Qf.create(this.program,this.builderState,!0),Fi(Qf.getFilesAffectedBy(this.builderState,this.program,t.path,this.cancellationToken,this.projectService.host),r=>this.shouldEmitFile(this.projectService.getScriptInfoForPath(r.path))?r.fileName:void 0)):[]}emitFile(t,r){if(!this.languageServiceEnabled||!this.shouldEmitFile(t))return{emitSkipped:!0,diagnostics:ql};let{emitSkipped:i,diagnostics:o,outputFiles:s}=this.getLanguageService().getEmitOutput(t.fileName);if(!i){for(let l of s){let d=Qi(l.name,this.currentDirectory);r(d,l.text,l.writeByteOrderMark)}if(this.builderState&&Xp(this.compilerOptions)){let l=s.filter(d=>Yc(d.name));if(l.length===1){let d=this.program.getSourceFile(t.fileName),p=this.projectService.host.createHash?this.projectService.host.createHash(l[0].text):qD(l[0].text);Qf.updateSignatureOfFile(this.builderState,p,d.resolvedPath)}}}return{emitSkipped:i,diagnostics:o}}enableLanguageService(){this.languageServiceEnabled||this.projectService.serverMode===2||(this.languageServiceEnabled=!0,this.lastFileExceededProgramSize=void 0,this.projectService.onUpdateLanguageServiceStateForProject(this,!0))}cleanupProgram(){if(this.program){for(let t of this.program.getSourceFiles())this.detachScriptInfoIfNotRoot(t.fileName);this.program.forEachResolvedProjectReference(t=>this.detachScriptInfoFromProject(t.sourceFile.fileName)),this.program=void 0}}disableLanguageService(t){this.languageServiceEnabled&&(x.assert(this.projectService.serverMode!==2),this.languageService.cleanupSemanticCache(),this.languageServiceEnabled=!1,this.cleanupProgram(),this.lastFileExceededProgramSize=t,this.builderState=void 0,this.autoImportProviderHost&&this.autoImportProviderHost.close(),this.autoImportProviderHost=void 0,this.resolutionCache.closeTypeRootsWatch(),this.clearGeneratedFileWatch(),this.projectService.verifyDocumentRegistry(),this.projectService.onUpdateLanguageServiceStateForProject(this,!1))}getProjectName(){return this.projectName}removeLocalTypingsFromTypeAcquisition(t){return!t||!t.include?t:{...t,include:this.removeExistingTypings(t.include)}}getExternalFiles(t){return uS(ta(this.plugins,r=>{if(typeof r.module.getExternalFiles==\"function\")try{return r.module.getExternalFiles(this,t||0)}catch(i){this.projectService.logger.info(`A plugin threw an exception in getExternalFiles: ${i}`),i.stack&&this.projectService.logger.info(i.stack)}}))}getSourceFile(t){if(this.program)return this.program.getSourceFileByPath(t)}getSourceFileOrConfigFile(t){let r=this.program.getCompilerOptions();return t===r.configFilePath?r.configFile:this.getSourceFile(t)}close(){var t;this.projectService.typingsCache.onProjectClosed(this),this.closeWatchingTypingLocations(),this.cleanupProgram(),an(this.externalFiles,r=>this.detachScriptInfoIfNotRoot(r));for(let r of this.rootFiles)r.detachFromProject(this);this.projectService.pendingEnsureProjectForOpenFiles=!0,this.rootFiles=void 0,this.rootFilesMap=void 0,this.externalFiles=void 0,this.program=void 0,this.builderState=void 0,this.resolutionCache.clear(),this.resolutionCache=void 0,this.cachedUnresolvedImportsPerFile=void 0,(t=this.packageJsonWatches)==null||t.forEach(r=>{r.projects.delete(this),r.close()}),this.packageJsonWatches=void 0,this.moduleSpecifierCache.clear(),this.moduleSpecifierCache=void 0,this.directoryStructureHost=void 0,this.exportMapCache=void 0,this.projectErrors=void 0,this.plugins.length=0,this.missingFilesMap&&(Au(this.missingFilesMap,vm),this.missingFilesMap=void 0),this.clearGeneratedFileWatch(),this.clearInvalidateResolutionOfFailedLookupTimer(),this.autoImportProviderHost&&this.autoImportProviderHost.close(),this.autoImportProviderHost=void 0,this.noDtsResolutionProject&&this.noDtsResolutionProject.close(),this.noDtsResolutionProject=void 0,this.languageService.dispose(),this.languageService=void 0}detachScriptInfoIfNotRoot(t){let r=this.projectService.getScriptInfo(t);r&&!this.isRoot(r)&&r.detachFromProject(this)}isClosed(){return this.rootFiles===void 0}hasRoots(){return this.rootFiles&&this.rootFiles.length>0}isOrphan(){return!1}getRootFiles(){return this.rootFiles&&this.rootFiles.map(t=>t.fileName)}getRootFilesMap(){return this.rootFilesMap}getRootScriptInfos(){return this.rootFiles}getScriptInfos(){return this.languageServiceEnabled?nn(this.program.getSourceFiles(),t=>{let r=this.projectService.getScriptInfoForPath(t.resolvedPath);return x.assert(!!r,\"getScriptInfo\",()=>`scriptInfo for a file '${t.fileName}' Path: '${t.path}' / '${t.resolvedPath}' is missing.`),r}):this.rootFiles}getExcludedFiles(){return ql}getFileNames(t,r){if(!this.program)return[];if(!this.languageServiceEnabled){let o=this.getRootFiles();if(this.compilerOptions){let s=jce(this.compilerOptions);s&&(o||(o=[])).push(s)}return o}let i=[];for(let o of this.program.getSourceFiles())t&&this.program.isSourceFileFromExternalLibrary(o)||i.push(o.fileName);if(!r){let o=this.program.getCompilerOptions().configFile;if(o&&(i.push(o.fileName),o.extendedSourceFiles))for(let s of o.extendedSourceFiles)i.push(s)}return i}getFileNamesWithRedirectInfo(t){return this.getFileNames().map(r=>({fileName:r,isSourceOfProjectReferenceRedirect:t&&this.isSourceOfProjectReferenceRedirect(r)}))}hasConfigFile(t){if(this.program&&this.languageServiceEnabled){let r=this.program.getCompilerOptions().configFile;if(r){if(t===r.fileName)return!0;if(r.extendedSourceFiles){for(let i of r.extendedSourceFiles)if(t===i)return!0}}}return!1}containsScriptInfo(t){if(this.isRoot(t))return!0;if(!this.program)return!1;let r=this.program.getSourceFileByPath(t.path);return!!r&&r.resolvedPath===t.path}containsFile(t,r){let i=this.projectService.getScriptInfoForNormalizedPath(t);return i&&(i.isScriptOpen()||!r)?this.containsScriptInfo(i):!1}isRoot(t){var r;return this.rootFilesMap&&((r=this.rootFilesMap.get(t.path))==null?void 0:r.info)===t}addRoot(t,r){x.assert(!this.isRoot(t)),this.rootFiles.push(t),this.rootFilesMap.set(t.path,{fileName:r||t.fileName,info:t}),t.attachToProject(this),this.markAsDirty()}addMissingFileRoot(t){let r=this.projectService.toPath(t);this.rootFilesMap.set(r,{fileName:t}),this.markAsDirty()}removeFile(t,r,i){this.isRoot(t)&&this.removeRoot(t),r?this.resolutionCache.removeResolutionsOfFile(t.path):this.resolutionCache.invalidateResolutionOfFile(t.path),this.cachedUnresolvedImportsPerFile.delete(t.path),i&&t.detachFromProject(this),this.markAsDirty()}registerFileUpdate(t){(this.updatedFileNames||(this.updatedFileNames=new Set)).add(t)}markFileAsDirty(t){this.markAsDirty(),this.exportMapCache&&!this.exportMapCache.isEmpty()&&(this.changedFilesForExportMapCache||(this.changedFilesForExportMapCache=new Set)).add(t)}markAsDirty(){this.dirty||(this.projectStateVersion++,this.dirty=!0)}onAutoImportProviderSettingsChanged(){var t;this.autoImportProviderHost===!1?this.autoImportProviderHost=void 0:(t=this.autoImportProviderHost)==null||t.markAsDirty()}onPackageJsonChange(){this.moduleSpecifierCache.clear(),this.autoImportProviderHost&&this.autoImportProviderHost.markAsDirty()}onFileAddedOrRemoved(t){this.hasAddedorRemovedFiles=!0,t&&(this.hasAddedOrRemovedSymlinks=!0)}onDiscoveredSymlink(){this.hasAddedOrRemovedSymlinks=!0}updateFromProject(){up(this)}updateGraph(){var t,r,i,o,s;(t=qn)==null||t.push(qn.Phase.Session,\"updateGraph\",{name:this.projectName,kind:yP[this.projectKind]}),(r=Pd)==null||r.logStartUpdateGraph(),this.resolutionCache.startRecordingFilesWithChangedResolutions();let l=this.updateGraphWorker(),d=this.hasAddedorRemovedFiles;this.hasAddedorRemovedFiles=!1,this.hasAddedOrRemovedSymlinks=!1;let p=this.resolutionCache.finishRecordingFilesWithChangedResolutions()||ql;for(let m of p)this.cachedUnresolvedImportsPerFile.delete(m);this.languageServiceEnabled&&this.projectService.serverMode===0&&!this.isOrphan()?((l||p.length)&&(this.lastCachedUnresolvedImportsList=KZe(this.program,this.cachedUnresolvedImportsPerFile)),this.projectService.typingsCache.enqueueInstallTypingsForProject(this,this.lastCachedUnresolvedImportsList,d)):this.lastCachedUnresolvedImportsList=void 0;let h=this.projectProgramVersion===0&&l;return l&&this.projectProgramVersion++,d&&(this.autoImportProviderHost||(this.autoImportProviderHost=void 0),(i=this.autoImportProviderHost)==null||i.markAsDirty()),h&&this.getPackageJsonAutoImportProvider(),(o=Pd)==null||o.logStopUpdateGraph(),(s=qn)==null||s.pop(),!l}updateTypingFiles(t){t8(t,this.typingFiles,D1(!this.useCaseSensitiveFileNames()),Ca,r=>this.detachScriptInfoFromProject(r))&&(this.typingFiles=t,this.resolutionCache.setFilesWithInvalidatedNonRelativeUnresolvedImports(this.cachedUnresolvedImportsPerFile),this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this))}closeWatchingTypingLocations(){this.typingWatchers&&Au(this.typingWatchers,vm),this.typingWatchers=void 0}onTypingInstallerWatchInvoke(){this.typingWatchers.isInvoked=!0,this.projectService.updateTypingsForProject({projectName:this.getProjectName(),kind:Ck})}watchTypingLocations(t){if(!t){this.typingWatchers.isInvoked=!1;return}if(!t.length){this.closeWatchingTypingLocations();return}let r=new Map(this.typingWatchers);this.typingWatchers||(this.typingWatchers=new Map),this.typingWatchers.isInvoked=!1;let i=(o,s)=>{let l=this.toPath(o);r.delete(l),this.typingWatchers.has(l)||this.typingWatchers.set(l,s===\"FileWatcher\"?this.projectService.watchFactory.watchFile(o,()=>this.typingWatchers.isInvoked?this.writeLog(\"TypingWatchers already invoked\"):this.onTypingInstallerWatchInvoke(),2e3,this.projectService.getWatchOptions(this),dc.TypingInstallerLocationFile,this):this.projectService.watchFactory.watchDirectory(o,d=>{if(this.typingWatchers.isInvoked)return this.writeLog(\"TypingWatchers already invoked\");if(!el(d,\".json\"))return this.writeLog(\"Ignoring files that are not *.json\");if(Xh(d,wr(this.projectService.typingsInstaller.globalTypingsCacheLocation,\"package.json\"),!this.useCaseSensitiveFileNames()))return this.writeLog(\"Ignoring package.json change at global typings location\");this.onTypingInstallerWatchInvoke()},1,this.projectService.getWatchOptions(this),dc.TypingInstallerLocationDirectory,this))};for(let o of t){let s=Ll(o);if(s===\"package.json\"||s===\"bower.json\"){i(o,\"FileWatcher\");continue}if(Bf(this.currentDirectory,o,this.currentDirectory,!this.useCaseSensitiveFileNames())){let l=o.indexOf(Os,this.currentDirectory.length+1);i(l!==-1?o.substr(0,l):o,\"DirectoryWatcher\");continue}if(Bf(this.projectService.typingsInstaller.globalTypingsCacheLocation,o,this.currentDirectory,!this.useCaseSensitiveFileNames())){i(this.projectService.typingsInstaller.globalTypingsCacheLocation,\"DirectoryWatcher\");continue}i(o,\"DirectoryWatcher\")}r.forEach((o,s)=>{o.close(),this.typingWatchers.delete(s)})}getCurrentProgram(){return this.program}removeExistingTypings(t){let r=Y6(this.getCompilerOptions(),this.directoryStructureHost);return t.filter(i=>!r.includes(i))}updateGraphWorker(){var t,r;let i=this.languageService.getCurrentProgram();x.assert(i===this.program),x.assert(!this.isClosed(),\"Called update graph worker of closed project\"),this.writeLog(`Starting updateGraphWorker: Project: ${this.getProjectName()}`);let o=Is(),{hasInvalidatedResolutions:s,hasInvalidatedLibResolutions:l}=this.resolutionCache.createHasInvalidatedResolutions(_m,_m);this.hasInvalidatedResolutions=s,this.hasInvalidatedLibResolutions=l,this.resolutionCache.startCachingPerDirectoryResolution(),this.dirty=!1,this.updateFromProjectInProgress=!0,this.program=this.languageService.getProgram(),this.updateFromProjectInProgress=!1,(t=qn)==null||t.push(qn.Phase.Session,\"finishCachingPerDirectoryResolution\"),this.resolutionCache.finishCachingPerDirectoryResolution(this.program,i),(r=qn)==null||r.pop(),x.assert(i===void 0||this.program!==void 0);let d=!1;if(this.program&&(!i||this.program!==i&&this.program.structureIsReused!==2)){if(d=!0,i){for(let m of i.getSourceFiles()){let v=this.program.getSourceFileByPath(m.resolvedPath);(!v||m.resolvedPath===m.path&&v.resolvedPath!==m.path)&&this.detachScriptInfoFromProject(m.fileName,!!this.program.getSourceFileByPath(m.path),!0)}i.forEachResolvedProjectReference(m=>{this.program.getResolvedProjectReferenceByPath(m.sourceFile.path)||this.detachScriptInfoFromProject(m.sourceFile.fileName,void 0,!0)})}if(vH(this.program,this.missingFilesMap||(this.missingFilesMap=new Map),(m,v)=>this.addMissingFileWatcher(m,v)),this.generatedFilesMap){let m=ss(this.compilerOptions);$fe(this.generatedFilesMap)?(!m||!this.isValidGeneratedFileWatcher(Yd(m)+\".d.ts\",this.generatedFilesMap))&&this.clearGeneratedFileWatch():m?this.clearGeneratedFileWatch():this.generatedFilesMap.forEach((v,E)=>{let S=this.program.getSourceFileByPath(E);(!S||S.resolvedPath!==E||!this.isValidGeneratedFileWatcher(WW(S.fileName,this.compilerOptions,this.currentDirectory,this.program.getCommonSourceDirectory(),this.getCanonicalFileName),v))&&(Qp(v),this.generatedFilesMap.delete(E))})}this.languageServiceEnabled&&this.projectService.serverMode===0&&this.resolutionCache.updateTypeRootsWatch()}this.projectService.verifyProgram(this),this.exportMapCache&&!this.exportMapCache.isEmpty()&&(this.exportMapCache.releaseSymbols(),this.hasAddedorRemovedFiles||i&&!this.program.structureIsReused?this.exportMapCache.clear():this.changedFilesForExportMapCache&&i&&this.program&&O_(this.changedFilesForExportMapCache,m=>{let v=i.getSourceFileByPath(m),E=this.program.getSourceFileByPath(m);return!v||!E?(this.exportMapCache.clear(),!0):this.exportMapCache.onFileChanged(v,E,!!this.getTypeAcquisition().enable)})),this.changedFilesForExportMapCache&&this.changedFilesForExportMapCache.clear(),(this.hasAddedOrRemovedSymlinks||this.program&&!this.program.structureIsReused&&this.getCompilerOptions().preserveSymlinks)&&(this.symlinks=void 0,this.moduleSpecifierCache.clear());let p=this.externalFiles||ql;this.externalFiles=this.getExternalFiles(),t8(this.externalFiles,p,D1(!this.useCaseSensitiveFileNames()),m=>{let v=this.projectService.getOrCreateScriptInfoNotOpenedByClient(m,this.currentDirectory,this.directoryStructureHost);v?.attachToProject(this)},m=>this.detachScriptInfoFromProject(m));let h=Is()-o;return this.sendPerformanceEvent(\"UpdateGraph\",h),this.writeLog(`Finishing updateGraphWorker: Project: ${this.getProjectName()} projectStateVersion: ${this.projectStateVersion} projectProgramVersion: ${this.projectProgramVersion} structureChanged: ${d}${this.program?` structureIsReused:: ${u8[this.program.structureIsReused]}`:\"\"} Elapsed: ${h}ms`),this.projectService.logger.isTestLogger?this.program!==i?this.print(!0,this.hasAddedorRemovedFiles,!0):this.writeLog(\"Same program as before\"):this.hasAddedorRemovedFiles?this.print(!0,!0,!1):this.program!==i&&this.writeLog(\"Different program with same set of files\"),this.projectService.verifyDocumentRegistry(),d}sendPerformanceEvent(t,r){this.projectService.sendPerformanceEvent(t,r)}detachScriptInfoFromProject(t,r,i){let o=this.projectService.getScriptInfo(t);o&&(o.detachFromProject(this),r||this.resolutionCache.removeResolutionsOfFile(o.path,i))}addMissingFileWatcher(t,r){var i;if(Yb(this)){let s=this.projectService.configFileExistenceInfoCache.get(t);if((i=s?.config)!=null&&i.projects.has(this.canonicalConfigFilePath))return uR}let o=this.projectService.watchFactory.watchFile(Qi(r,this.currentDirectory),(s,l)=>{Yb(this)&&this.getCachedDirectoryStructureHost().addOrDeleteFile(s,t,l),l===0&&this.missingFilesMap.has(t)&&(this.missingFilesMap.delete(t),o.close(),this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this))},500,this.projectService.getWatchOptions(this),dc.MissingFile,this);return o}isWatchedMissingFile(t){return!!this.missingFilesMap&&this.missingFilesMap.has(t)}addGeneratedFileWatch(t,r){if(ss(this.compilerOptions))this.generatedFilesMap||(this.generatedFilesMap=this.createGeneratedFileWatcher(t));else{let i=this.toPath(r);if(this.generatedFilesMap){if($fe(this.generatedFilesMap)){x.fail(`${this.projectName} Expected to not have --out watcher for generated file with options: ${JSON.stringify(this.compilerOptions)}`);return}if(this.generatedFilesMap.has(i))return}else this.generatedFilesMap=new Map;this.generatedFilesMap.set(i,this.createGeneratedFileWatcher(t))}}createGeneratedFileWatcher(t){return{generatedFilePath:this.toPath(t),watcher:this.projectService.watchFactory.watchFile(t,()=>{this.clearSourceMapperCache(),this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this)},2e3,this.projectService.getWatchOptions(this),dc.MissingGeneratedFile,this)}}isValidGeneratedFileWatcher(t,r){return this.toPath(t)===r.generatedFilePath}clearGeneratedFileWatch(){this.generatedFilesMap&&($fe(this.generatedFilesMap)?Qp(this.generatedFilesMap):Au(this.generatedFilesMap,Qp),this.generatedFilesMap=void 0)}getScriptInfoForNormalizedPath(t){let r=this.projectService.getScriptInfoForPath(this.toPath(t));return r&&!r.isAttached(this)?vv.ThrowProjectDoesNotContainDocument(t,this):r}getScriptInfo(t){return this.projectService.getScriptInfo(t)}filesToString(t){return this.filesToStringWorker(t,!0,!1)}filesToStringWorker(t,r,i){if(this.isInitialLoadPending())return`\tFiles (0) InitialLoadPending\n`;if(!this.program)return`\tFiles (0) NoProgram\n`;let o=this.program.getSourceFiles(),s=`\tFiles (${o.length})\n`;if(t){for(let l of o)s+=`\t${l.fileName}${i?` ${l.version} ${JSON.stringify(l.text)}`:\"\"}\n`;r&&(s+=`\n\n`,eq(this.program,l=>s+=`\t${l}\n`))}return s}print(t,r,i){var o;this.writeLog(`Project '${this.projectName}' (${yP[this.projectKind]})`),this.writeLog(this.filesToStringWorker(t&&this.projectService.logger.hasLevel(3),r&&this.projectService.logger.hasLevel(3),i&&this.projectService.logger.hasLevel(3))),this.writeLog(\"-----------------------------------------------\"),this.autoImportProviderHost&&this.autoImportProviderHost.print(!1,!1,!1),(o=this.noDtsResolutionProject)==null||o.print(!1,!1,!1)}setCompilerOptions(t){var r;if(t){t.allowNonTsExtensions=!0;let i=this.compilerOptions;this.compilerOptions=t,this.setInternalCompilerOptionsForEmittingJsFiles(),(r=this.noDtsResolutionProject)==null||r.setCompilerOptions(this.getCompilerOptionsForNoDtsResolutionProject()),Y8(i,t)&&(this.cachedUnresolvedImportsPerFile.clear(),this.lastCachedUnresolvedImportsList=void 0,this.resolutionCache.onChangesAffectModuleResolution(),this.moduleSpecifierCache.clear()),this.markAsDirty()}}setWatchOptions(t){this.watchOptions=t}getWatchOptions(){return this.watchOptions}setTypeAcquisition(t){t&&(this.typeAcquisition=this.removeLocalTypingsFromTypeAcquisition(t))}getTypeAcquisition(){return this.typeAcquisition||{}}getChangesSinceVersion(t,r){var i,o;let s=r?p=>bo(p.entries(),([h,m])=>({fileName:h,isSourceOfProjectReferenceRedirect:m})):p=>bo(p.keys());this.isInitialLoadPending()||up(this);let l={projectName:this.getProjectName(),version:this.projectProgramVersion,isInferred:FR(this),options:this.getCompilationSettings(),languageServiceDisabled:!this.languageServiceEnabled,lastFileExceededProgramSize:this.lastFileExceededProgramSize},d=this.updatedFileNames;if(this.updatedFileNames=void 0,this.lastReportedFileNames&&t===this.lastReportedVersion){if(this.projectProgramVersion===this.lastReportedVersion&&!d)return{info:l,projectErrors:this.getGlobalProjectErrors()};let p=this.lastReportedFileNames,h=((i=this.externalFiles)==null?void 0:i.map(C=>({fileName:js(C),isSourceOfProjectReferenceRedirect:!1})))||ql,m=PE(this.getFileNamesWithRedirectInfo(!!r).concat(h),C=>C.fileName,C=>C.isSourceOfProjectReferenceRedirect),v=new Map,E=new Map,S=d?bo(d.keys()):[],A=[];return hc(m,(C,R)=>{p.has(R)?r&&C!==p.get(R)&&A.push({fileName:R,isSourceOfProjectReferenceRedirect:C}):v.set(R,C)}),hc(p,(C,R)=>{m.has(R)||E.set(R,C)}),this.lastReportedFileNames=m,this.lastReportedVersion=this.projectProgramVersion,{info:l,changes:{added:s(v),removed:s(E),updated:r?S.map(C=>({fileName:C,isSourceOfProjectReferenceRedirect:this.isSourceOfProjectReferenceRedirect(C)})):S,updatedRedirects:r?A:void 0},projectErrors:this.getGlobalProjectErrors()}}else{let p=this.getFileNamesWithRedirectInfo(!!r),h=((o=this.externalFiles)==null?void 0:o.map(v=>({fileName:js(v),isSourceOfProjectReferenceRedirect:!1})))||ql,m=p.concat(h);return this.lastReportedFileNames=PE(m,v=>v.fileName,v=>v.isSourceOfProjectReferenceRedirect),this.lastReportedVersion=this.projectProgramVersion,{info:l,files:r?m:m.map(v=>v.fileName),projectErrors:this.getGlobalProjectErrors()}}}removeRoot(t){N1(this.rootFiles,t),this.rootFilesMap.delete(t.path)}isSourceOfProjectReferenceRedirect(t){return!!this.program&&this.program.isSourceOfProjectReferenceRedirect(t)}getGlobalPluginSearchPaths(){return[...this.projectService.pluginProbeLocations,wr(this.projectService.getExecutingFilePath(),\"../../..\")]}enableGlobalPlugins(t){if(!this.projectService.globalPlugins.length)return;let r=this.projectService.host;if(!r.require&&!r.importPlugin){this.projectService.logger.info(\"Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded\");return}let i=this.getGlobalPluginSearchPaths();for(let o of this.projectService.globalPlugins)o&&(t.plugins&&t.plugins.some(s=>s.name===o)||(this.projectService.logger.info(`Loading global plugin ${o}`),this.enablePlugin({name:o,global:!0},i)))}enablePlugin(t,r){this.projectService.requestEnablePlugin(this,t,r)}enableProxy(t,r){try{if(typeof t!=\"function\"){this.projectService.logger.info(`Skipped loading plugin ${r.name} because it did not expose a proper factory function`);return}let i={config:r,project:this,languageService:this.languageService,languageServiceHost:this,serverHost:this.projectService.host,session:this.projectService.session},o=t({typescript:XMe}),s=o.create(i);for(let l of Object.keys(this.languageService))l in s||(this.projectService.logger.info(`Plugin activation warning: Missing proxied method ${l} in created LS. Patching.`),s[l]=this.languageService[l]);this.projectService.logger.info(\"Plugin validation succeeded\"),this.languageService=s,this.plugins.push({name:r.name,module:o})}catch(i){this.projectService.logger.info(`Plugin activation failed: ${i}`)}}onPluginConfigurationChanged(t,r){this.plugins.filter(i=>i.name===t).forEach(i=>{i.module.onConfigurationChanged&&i.module.onConfigurationChanged(r)})}refreshDiagnostics(){this.projectService.sendProjectsUpdatedInBackgroundEvent()}getPackageJsonsVisibleToFile(t,r){return this.projectService.serverMode!==0?ql:this.projectService.getPackageJsonsVisibleToFile(t,this,r)}getNearestAncestorDirectoryWithPackageJson(t){return this.projectService.getNearestAncestorDirectoryWithPackageJson(t)}getPackageJsonsForAutoImport(t){return this.getPackageJsonsVisibleToFile(wr(this.currentDirectory,lR),t)}getPackageJsonCache(){return this.projectService.packageJsonCache}getCachedExportInfoMap(){return this.exportMapCache||(this.exportMapCache=BJ(this))}clearCachedExportInfoMap(){var t;(t=this.exportMapCache)==null||t.clear()}getModuleSpecifierCache(){return this.moduleSpecifierCache}includePackageJsonAutoImports(){return this.projectService.includePackageJsonAutoImports()===0||!this.languageServiceEnabled||tO(this.currentDirectory)||!this.isDefaultProjectForOpenFiles()?0:this.projectService.includePackageJsonAutoImports()}getHostForAutoImportProvider(){var t,r;return this.program?{fileExists:this.program.fileExists,directoryExists:this.program.directoryExists,realpath:this.program.realpath||((t=this.projectService.host.realpath)==null?void 0:t.bind(this.projectService.host)),getCurrentDirectory:this.getCurrentDirectory.bind(this),readFile:this.projectService.host.readFile.bind(this.projectService.host),getDirectories:this.projectService.host.getDirectories.bind(this.projectService.host),trace:(r=this.projectService.host.trace)==null?void 0:r.bind(this.projectService.host),useCaseSensitiveFileNames:this.program.useCaseSensitiveFileNames(),readDirectory:this.projectService.host.readDirectory.bind(this.projectService.host)}:this.projectService.host}getPackageJsonAutoImportProvider(){var t,r,i;if(this.autoImportProviderHost===!1)return;if(this.projectService.serverMode!==0){this.autoImportProviderHost=!1;return}if(this.autoImportProviderHost){if(up(this.autoImportProviderHost),this.autoImportProviderHost.isEmpty()){this.autoImportProviderHost.close(),this.autoImportProviderHost=void 0;return}return this.autoImportProviderHost.getCurrentProgram()}let o=this.includePackageJsonAutoImports();if(o){(t=qn)==null||t.push(qn.Phase.Session,\"getPackageJsonAutoImportProvider\");let s=Is();if(this.autoImportProviderHost=f$.create(o,this,this.getHostForAutoImportProvider(),this.documentRegistry),this.autoImportProviderHost)return up(this.autoImportProviderHost),this.sendPerformanceEvent(\"CreatePackageJsonAutoImportProvider\",Is()-s),(r=qn)==null||r.pop(),this.autoImportProviderHost.getCurrentProgram();(i=qn)==null||i.pop()}}isDefaultProjectForOpenFiles(){return!!hc(this.projectService.openFiles,(t,r)=>this.projectService.tryGetDefaultProjectForFile(js(r))===this)}watchNodeModulesForPackageJsonChanges(t){return this.projectService.watchPackageJsonsInNodeModules(t,this)}getIncompleteCompletionsCache(){return this.projectService.getIncompleteCompletionsCache()}getNoDtsResolutionProject(t){return x.assert(this.projectService.serverMode===0),this.noDtsResolutionProject||(this.noDtsResolutionProject=new u$(this.projectService,this.documentRegistry,this.getCompilerOptionsForNoDtsResolutionProject(),this.currentDirectory)),this.noDtsResolutionProject.rootFile!==t&&(this.projectService.setFileNamesOfAutpImportProviderOrAuxillaryProject(this.noDtsResolutionProject,[t]),this.noDtsResolutionProject.rootFile=t),this.noDtsResolutionProject}getCompilerOptionsForNoDtsResolutionProject(){return{...this.getCompilerOptions(),noDtsResolution:!0,allowJs:!0,maxNodeModuleJsDepth:3,diagnostics:!1,skipLibCheck:!0,sourceMap:!1,types:je,lib:je,noLib:!0}}},d$=class extends _T{constructor(e,t,r,i,o,s,l){super(e.newInferredProjectName(),0,e,t,void 0,void 0,r,!1,i,e.host,s),this._isJsInferredProject=!1,this.typeAcquisition=l,this.projectRootPath=o&&e.toCanonicalFileName(o),!o&&!e.useSingleInferredProject&&(this.canonicalCurrentDirectory=e.toCanonicalFileName(this.currentDirectory)),this.enableGlobalPlugins(this.getCompilerOptions())}toggleJsInferredProject(e){e!==this._isJsInferredProject&&(this._isJsInferredProject=e,this.setCompilerOptions())}setCompilerOptions(e){if(!e&&!this.getCompilationSettings())return;let t=tJ(e||this.getCompilationSettings());this._isJsInferredProject&&typeof t.maxNodeModuleJsDepth!=\"number\"?t.maxNodeModuleJsDepth=2:this._isJsInferredProject||(t.maxNodeModuleJsDepth=void 0),t.allowJs=!0,super.setCompilerOptions(t)}addRoot(e){x.assert(e.isScriptOpen()),this.projectService.startWatchingConfigFilesForInferredProjectRoot(e),!this._isJsInferredProject&&e.isJavaScript()?this.toggleJsInferredProject(!0):this.isOrphan()&&this._isJsInferredProject&&!e.isJavaScript()&&this.toggleJsInferredProject(!1),super.addRoot(e)}removeRoot(e){this.projectService.stopWatchingConfigFilesForInferredProjectRoot(e),super.removeRoot(e),!this.isOrphan()&&this._isJsInferredProject&&e.isJavaScript()&&ji(this.getRootScriptInfos(),t=>!t.isJavaScript())&&this.toggleJsInferredProject(!1)}isOrphan(){return!this.hasRoots()}isProjectWithSingleRoot(){return!this.projectRootPath&&!this.projectService.useSingleInferredProject||this.getRootScriptInfos().length===1}close(){an(this.getRootScriptInfos(),e=>this.projectService.stopWatchingConfigFilesForInferredProjectRoot(e)),super.close()}getTypeAcquisition(){return this.typeAcquisition||{enable:Kfe(this),include:je,exclude:je}}},u$=class extends _T{constructor(e,t,r,i){super(e.newAuxiliaryProjectName(),4,e,t,!1,void 0,r,!1,void 0,e.host,i)}isOrphan(){return!0}scheduleInvalidateResolutionsOfFailedLookupLocations(){}},p$=class Zge extends _T{constructor(t,r,i,o){super(t.projectService.newAutoImportProviderProjectName(),3,t.projectService,i,!1,void 0,o,!1,t.getWatchOptions(),t.projectService.host,t.currentDirectory),this.hostProject=t,this.rootFileNames=r,this.useSourceOfProjectReferenceRedirect=Wo(this.hostProject,this.hostProject.useSourceOfProjectReferenceRedirect),this.getParsedCommandLine=Wo(this.hostProject,this.hostProject.getParsedCommandLine)}static getRootFileNames(t,r,i,o){var s,l;if(!t)return je;let d=r.getCurrentProgram();if(!d)return je;let p=Is(),h,m,v=wr(r.currentDirectory,lR),E=r.getPackageJsonsForAutoImport(wr(r.currentDirectory,v));for(let R of E)(s=R.dependencies)==null||s.forEach((L,G)=>A(G)),(l=R.peerDependencies)==null||l.forEach((L,G)=>A(G));let S=0;if(h){let R=r.getSymlinkCache();for(let L of bo(h.keys())){if(t===2&&S>this.maxDependencies)return r.log(`AutoImportProviderProject: attempted to add more than ${this.maxDependencies} dependencies. Aborting.`),je;let G=bU(L,r.currentDirectory,o,i,d.getModuleResolutionCache());if(G){let K=C(G,d,R);if(K){m=ro(m,K),S+=K.length?1:0;continue}}if(!an([r.currentDirectory,r.getGlobalTypingsCacheLocation()],K=>{if(K){let F=bU(`@types/${L}`,K,o,i,d.getModuleResolutionCache());if(F){let oe=C(F,d,R);return m=ro(m,oe),S+=oe?.length?1:0,!0}}})&&G&&o.allowJs&&o.maxNodeModuleJsDepth){let K=C(G,d,R,!0);m=ro(m,K),S+=K?.length?1:0}}}return m?.length&&r.log(`AutoImportProviderProject: found ${m.length} root files in ${S} dependencies in ${Is()-p} ms`),m||je;function A(R){Ui(R,\"@types/\")||(h||(h=new Set)).add(R)}function C(R,L,G,U){var K;let F=RU(R,o,i,L.getModuleResolutionCache(),U);if(F){let oe=(K=i.realpath)==null?void 0:K.call(i,R.packageDirectory),W=oe?r.toPath(oe):void 0,$=W&&W!==r.toPath(R.packageDirectory);return $&&G.setSymlinkedDirectory(R.packageDirectory,{real:_c(oe),realPath:_c(W)}),Fi(F,de=>{let fe=$?de.replace(R.packageDirectory,oe):de;if(!L.getSourceFile(fe)&&!($&&L.getSourceFile(de)))return fe})}}}static create(t,r,i,o){if(t===0)return;let s={...r.getCompilerOptions(),...this.compilerOptionsOverrides},l=this.getRootFileNames(t,r,i,s);if(l.length)return new Zge(r,l,o,s)}isEmpty(){return!ct(this.rootFileNames)}isOrphan(){return!0}updateGraph(){let t=this.rootFileNames;t||(t=Zge.getRootFileNames(this.hostProject.includePackageJsonAutoImports(),this.hostProject,this.hostProject.getHostForAutoImportProvider(),this.getCompilationSettings())),this.projectService.setFileNamesOfAutpImportProviderOrAuxillaryProject(this,t),this.rootFileNames=t;let r=this.getCurrentProgram(),i=super.updateGraph();return r&&r!==this.getCurrentProgram()&&this.hostProject.clearCachedExportInfoMap(),i}scheduleInvalidateResolutionsOfFailedLookupLocations(){}hasRoots(){var t;return!!((t=this.rootFileNames)!=null&&t.length)}markAsDirty(){this.rootFileNames=void 0,super.markAsDirty()}getScriptFileNames(){return this.rootFileNames||je}getLanguageService(){throw new Error(\"AutoImportProviderProject language service should never be used. To get the program, use `project.getCurrentProgram()`.\")}onAutoImportProviderSettingsChanged(){throw new Error(\"AutoImportProviderProject is an auto import provider; use `markAsDirty()` instead.\")}onPackageJsonChange(){throw new Error(\"package.json changes should be notified on an AutoImportProvider's host project\")}getHostForAutoImportProvider(){throw new Error(\"AutoImportProviderProject cannot provide its own host; use `hostProject.getModuleResolutionHostForAutomImportProvider()` instead.\")}getProjectReferences(){return this.hostProject.getProjectReferences()}includePackageJsonAutoImports(){return 0}getSymlinkCache(){return this.hostProject.getSymlinkCache()}getModuleResolutionCache(){var t;return(t=this.hostProject.getCurrentProgram())==null?void 0:t.getModuleResolutionCache()}},p$.maxDependencies=10,p$.compilerOptionsOverrides={diagnostics:!1,skipLibCheck:!0,sourceMap:!1,types:je,lib:je,noLib:!0},f$=p$,m$=class extends _T{constructor(e,t,r,i,o){super(e,1,r,i,!1,void 0,{},!1,void 0,o,Ur(e)),this.canonicalConfigFilePath=t,this.openFileWatchTriggered=new Map,this.canConfigFileJsonReportNoInputFiles=!1,this.externalProjectRefCount=0,this.isInitialLoadPending=Ug,this.sendLoadingProjectFinish=!1}setCompilerHost(e){this.compilerHost=e}getCompilerHost(){return this.compilerHost}useSourceOfProjectReferenceRedirect(){return this.languageServiceEnabled}getParsedCommandLine(e){let t=Yo(e),r=this.projectService.toCanonicalFileName(t),i=this.projectService.configFileExistenceInfoCache.get(r);return i||this.projectService.configFileExistenceInfoCache.set(r,i={exists:this.projectService.host.fileExists(t)}),this.projectService.ensureParsedConfigUptoDate(t,r,i,this),this.languageServiceEnabled&&this.projectService.serverMode===0&&this.projectService.watchWildcards(t,i,this),i.exists?i.config.parsedCommandLine:void 0}onReleaseParsedCommandLine(e){this.releaseParsedConfig(this.projectService.toCanonicalFileName(Yo(e)))}releaseParsedConfig(e){this.projectService.stopWatchingWildCards(e,this),this.projectService.releaseParsedConfig(e,this)}updateGraph(){let e=this.isInitialLoadPending();this.isInitialLoadPending=_m;let t=this.pendingUpdateLevel;this.pendingUpdateLevel=0;let r;switch(t){case 1:this.openFileWatchTriggered.clear(),r=this.projectService.reloadFileNamesOfConfiguredProject(this);break;case 2:this.openFileWatchTriggered.clear();let i=x.checkDefined(this.pendingUpdateReason);this.pendingUpdateReason=void 0,this.projectService.reloadConfiguredProject(this,i,e,!1),r=!0;break;default:r=super.updateGraph()}return this.compilerHost=void 0,this.projectService.sendProjectLoadingFinishEvent(this),this.projectService.sendProjectTelemetry(this),r}getCachedDirectoryStructureHost(){return this.directoryStructureHost}getConfigFilePath(){return this.getProjectName()}getProjectReferences(){return this.projectReferences}updateReferences(e){this.projectReferences=e,this.potentialProjectReferences=void 0}setPotentialProjectReference(e){x.assert(this.isInitialLoadPending()),(this.potentialProjectReferences||(this.potentialProjectReferences=new Set)).add(e)}getResolvedProjectReferenceToRedirect(e){let t=this.getCurrentProgram();return t&&t.getResolvedProjectReferenceToRedirect(e)}forEachResolvedProjectReference(e){var t;return(t=this.getCurrentProgram())==null?void 0:t.forEachResolvedProjectReference(e)}enablePluginsWithOptions(e){var t;if(this.plugins.length=0,!((t=e.plugins)!=null&&t.length)&&!this.projectService.globalPlugins.length)return;let r=this.projectService.host;if(!r.require&&!r.importPlugin){this.projectService.logger.info(\"Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded\");return}let i=this.getGlobalPluginSearchPaths();if(this.projectService.allowLocalPluginLoads){let o=Ur(this.canonicalConfigFilePath);this.projectService.logger.info(`Local plugin loading enabled; adding ${o} to search paths`),i.unshift(o)}if(e.plugins)for(let o of e.plugins)this.enablePlugin(o,i);return this.enableGlobalPlugins(e)}getGlobalProjectErrors(){return Cr(this.projectErrors,e=>!e.file)||ql}getAllProjectErrors(){return this.projectErrors||ql}setProjectErrors(e){this.projectErrors=e}close(){this.projectService.configFileExistenceInfoCache.forEach((e,t)=>this.releaseParsedConfig(t)),this.projectErrors=void 0,this.openFileWatchTriggered.clear(),this.compilerHost=void 0,super.close()}addExternalProjectReference(){this.externalProjectRefCount++}deleteExternalProjectReference(){this.externalProjectRefCount--}isSolution(){return this.getRootFilesMap().size===0&&!this.canConfigFileJsonReportNoInputFiles}getDefaultChildProjectFromProjectWithReferences(e){return BR(this,e.path,t=>GI(t,e)?t:void 0,0)}hasOpenRef(){var e;if(this.externalProjectRefCount)return!0;if(this.isClosed())return!1;let t=this.projectService.configFileExistenceInfoCache.get(this.canonicalConfigFilePath);return this.projectService.hasPendingProjectUpdate(this)?!!((e=t.openFilesImpactedByConfigFile)!=null&&e.size):!!t.openFilesImpactedByConfigFile&&hc(t.openFilesImpactedByConfigFile,(r,i)=>{let o=this.projectService.getScriptInfoForPath(i);return this.containsScriptInfo(o)||!!BR(this,o.path,s=>s.containsScriptInfo(o),0)})||!1}hasExternalProjectRef(){return!!this.externalProjectRefCount}getEffectiveTypeRoots(){return RN(this.getCompilationSettings(),this)||[]}updateErrorOnNoInputFiles(e){z6(e,this.getConfigFilePath(),this.getCompilerOptions().configFile.configFileSpecs,this.projectErrors,this.canConfigFileJsonReportNoInputFiles)}},o7=class extends _T{constructor(e,t,r,i,o,s,l,d){super(e,2,t,r,!0,o,i,s,d,t.host,Ur(l||ad(e))),this.externalProjectName=e,this.compileOnSaveEnabled=s,this.excludedFiles=[],this.enableGlobalPlugins(this.getCompilerOptions())}updateGraph(){let e=super.updateGraph();return this.projectService.sendProjectTelemetry(this),e}getExcludedFiles(){return this.excludedFiles}}}});function DMe(e){let t=new Map;for(let r of e)if(typeof r.type==\"object\"){let i=r.type;i.forEach(o=>{x.assert(typeof o==\"number\")}),t.set(r.name,i)}return t}function zR(e){return fo(e.indentStyle)&&(e.indentStyle=wMe.get(e.indentStyle.toLowerCase()),x.assert(e.indentStyle!==void 0)),e}function a7(e){return kMe.forEach((t,r)=>{let i=e[r];fo(i)&&(e[r]=t.get(i.toLowerCase()))}),e}function JO(e,t){let r,i;return Yx.forEach(o=>{let s=e[o.name];if(s===void 0)return;let l=OMe.get(o.name);(r||(r={}))[o.name]=l?fo(s)?l.get(s.toLowerCase()):s:eT(o,s,t||\"\",i||(i=[]))}),r&&{watchOptions:r,errors:i}}function Qfe(e){let t;return $2.forEach(r=>{let i=e[r.name];i!==void 0&&((t||(t={}))[r.name]=i)}),t}function _$(e){return fo(e)?h$(e):e}function h$(e){switch(e){case\"JS\":return 1;case\"JSX\":return 2;case\"TS\":return 3;case\"TSX\":return 4;default:return 0}}function Zfe(e){let{lazyConfiguredProjectsFromExternalProject:t,...r}=e;return r}function CMe(e,t){for(let r of t)if(r.getProjectName()===e)return r}function g$(e){return!!e.containingProjects}function NMe(e){return!!e.configFileInfo}function BR(e,t,r,i,o){var s;let l=(s=e.getCurrentProgram())==null?void 0:s.getResolvedProjectReferences();if(!l)return;let d,p=t?e.getResolvedProjectReferenceToRedirect(t):void 0;if(p){let m=js(p.sourceFile.fileName),v=e.projectService.findConfiguredProjectByProjectName(m);if(v){let E=r(v);if(E)return E}else if(i!==0){d=new Map;let E=eme(l,e.getCompilerOptions(),(S,A)=>p===S?h(S,A):void 0,i,e.projectService,d);if(E)return E;d.clear()}}return eme(l,e.getCompilerOptions(),(m,v)=>p!==m?h(m,v):void 0,i,e.projectService,d);function h(m,v){let E=js(m.sourceFile.fileName),S=e.projectService.findConfiguredProjectByProjectName(E)||(v===0?void 0:v===1?e.projectService.createConfiguredProject(E):v===2?e.projectService.createAndLoadConfiguredProject(E,o):x.assertNever(v));return S&&r(S)}}function eme(e,t,r,i,o,s){let l=t.disableReferencedProjectLoad?0:i;return an(e,d=>{if(!d)return;let p=js(d.sourceFile.fileName),h=o.toCanonicalFileName(p),m=s?.get(h);if(m!==void 0&&m>=l)return;let v=r(d,l);return v||((s||(s=new Map)).set(h,l),d.references&&eme(d.references,d.commandLine.options,r,l,o,s))})}function PMe(e,t){return e.potentialProjectReferences&&O_(e.potentialProjectReferences,t)}function $Ze(e,t,r,i){return e.getCurrentProgram()?e.forEachResolvedProjectReference(t):e.isInitialLoadPending()?PMe(e,i):an(e.getProjectReferences(),r)}function tme(e,t,r){let i=r&&e.projectService.configuredProjects.get(r);return i&&t(i)}function MMe(e,t){return $Ze(e,r=>tme(e,t,r.sourceFile.path),r=>tme(e,t,e.toPath(sR(r))),r=>tme(e,t,r))}function QZe(e,t){return`${fo(t)?`Config: ${t} `:t?`Project: ${t.getProjectName()} `:\"\"}WatchType: ${e}`}function LMe(e){return!e.isScriptOpen()&&e.mTime!==void 0}function GI(e,t){return e.containsScriptInfo(t)&&!e.isSourceOfProjectReferenceRedirect(t.path)}function up(e){return e.invalidateResolutionsOfFailedLookupLocations(),e.dirty&&e.updateGraph()}function nme(e){Yb(e)&&(e.projectOptions=!0)}function rme(e){let t=1;return()=>e(t++)}function ime(){return{idToCallbacks:new Map,pathToId:new Map}}function ZZe(e,t){if(!t||!e.eventHandler||!e.session)return;let r=ime(),i=ime(),o=ime(),s=1;return e.session.addProtocolHandler(\"watchChange\",S=>(h(S.arguments),{responseRequired:!1})),{watchFile:l,watchDirectory:d,getCurrentDirectory:()=>e.host.getCurrentDirectory(),useCaseSensitiveFileNames:e.host.useCaseSensitiveFileNames};function l(S,A){return p(r,S,A,C=>({eventName:_7,data:{id:C,path:S}}))}function d(S,A,C){return p(C?o:i,S,A,R=>({eventName:h7,data:{id:R,path:S,recursive:!!C,ignoreUpdate:S.endsWith(\"/node_modules\")?void 0:!0}}))}function p({pathToId:S,idToCallbacks:A},C,R,L){let G=e.toPath(C),U=S.get(G);U||S.set(G,U=s++);let K=A.get(U);return K||(A.set(U,K=new Set),e.eventHandler(L(U))),K.add(R),{close(){let F=A.get(U);F?.delete(R)&&(F.size||(A.delete(U),S.delete(G),e.eventHandler({eventName:g7,data:{id:U}})))}}}function h(S){oo(S)?S.forEach(m):m(S)}function m({id:S,created:A,deleted:C,updated:R}){v(S,A,0),v(S,C,2),v(S,R,1)}function v(S,A,C){A?.length&&(E(r,S,A,(R,L)=>R(L,C)),E(i,S,A,(R,L)=>R(L)),E(o,S,A,(R,L)=>R(L)))}function E(S,A,C,R){var L;(L=S.idToCallbacks.get(A))==null||L.forEach(G=>{C.forEach(U=>R(G,ad(U)))})}}function eet(){let e;return{get(){return e},set(t){e=t},clear(){e=void 0}}}function ome(e){return e.kind!==void 0}function ame(e){e.print(!1,!1,!1)}var s7,l7,KO,c7,d7,u7,p7,f7,m7,v$,_7,h7,g7,sme,kMe,OMe,wMe,y$,v7,y7,b$,E$,lme,S$,tet=pt({\"src/server/editorServices.ts\"(){\"use strict\";Ty(),hT(),qfe(),s7=20*1024*1024,l7=4*1024*1024,KO=\"projectsUpdatedInBackground\",c7=\"projectLoadingStart\",d7=\"projectLoadingFinish\",u7=\"largeFileReferenced\",p7=\"configFileDiag\",f7=\"projectLanguageServiceState\",m7=\"projectInfo\",v$=\"openFileInfo\",_7=\"createFileWatcher\",h7=\"createDirectoryWatcher\",g7=\"closeFileWatcher\",sme=\"*ensureProjectForOpenFiles*\",kMe=DMe(Nh),OMe=DMe(Yx),wMe=new Map(Object.entries({none:0,block:1,smart:2})),y$={jquery:{match:/jquery(-[\\d.]+)?(\\.intellisense)?(\\.min)?\\.js$/i,types:[\"jquery\"]},WinJS:{match:/^(.*\\/winjs-[.\\d]+)\\/js\\/base\\.js$/i,exclude:[[\"^\",1,\"/.*\"]],types:[\"winjs\"]},Kendo:{match:/^(.*\\/kendo(-ui)?)\\/kendo\\.all(\\.min)?\\.js$/i,exclude:[[\"^\",1,\"/.*\"]],types:[\"kendo-ui\"]},\"Office Nuget\":{match:/^(.*\\/office\\/1)\\/excel-\\d+\\.debug\\.js$/i,exclude:[[\"^\",1,\"/.*\"]],types:[\"office\"]},References:{match:/^(.*\\/_references\\.js)$/i,exclude:[[\"^\",1,\"$\"]]}},v7={getFileName:e=>e,getScriptKind:(e,t)=>{let r;if(t){let i=w1(e);i&&ct(t,o=>o.extension===i?(r=o.scriptKind,!0):!1)}return r},hasMixedContent:(e,t)=>ct(t,r=>r.isMixedContent&&el(e,r.extension))},y7={getFileName:e=>e.fileName,getScriptKind:e=>_$(e.scriptKind),hasMixedContent:e=>!!e.hasMixedContent},b$={close:Ca},E$=(e=>(e[e.Find=0]=\"Find\",e[e.FindCreate=1]=\"FindCreate\",e[e.FindCreateLoad=2]=\"FindCreateLoad\",e))(E$||{}),lme=class eve{constructor(t){this.filenameToScriptInfo=new Map,this.nodeModulesWatchers=new Map,this.filenameToScriptInfoVersion=new Map,this.allJsFilesForOpenFileTelemetry=new Map,this.externalProjectToConfiguredProjectMap=new Map,this.externalProjects=[],this.inferredProjects=[],this.configuredProjects=new Map,this.newInferredProjectName=rme(Cfe),this.newAutoImportProviderProjectName=rme(Nfe),this.newAuxiliaryProjectName=rme(Pfe),this.openFiles=new Map,this.configFileForOpenFiles=new Map,this.openFilesWithNonRootedDiskPath=new Map,this.compilerOptionsForInferredProjectsPerProjectRoot=new Map,this.watchOptionsForInferredProjectsPerProjectRoot=new Map,this.typeAcquisitionForInferredProjectsPerProjectRoot=new Map,this.projectToSizeMap=new Map,this.configFileExistenceInfoCache=new Map,this.safelist=y$,this.legacySafelist=new Map,this.pendingProjectUpdates=new Map,this.pendingEnsureProjectForOpenFiles=!1,this.seenProjects=new Map,this.sharedExtendedConfigFileWatchers=new Map,this.extendedConfigCache=new Map,this.baseline=Ca,this.verifyDocumentRegistry=Ca,this.verifyProgram=Ca,this.onProjectCreation=Ca;var r;this.host=t.host,this.logger=t.logger,this.cancellationToken=t.cancellationToken,this.useSingleInferredProject=t.useSingleInferredProject,this.useInferredProjectPerProjectRoot=t.useInferredProjectPerProjectRoot,this.typingsInstaller=t.typingsInstaller||i7,this.throttleWaitMilliseconds=t.throttleWaitMilliseconds,this.eventHandler=t.eventHandler,this.suppressDiagnosticEvents=t.suppressDiagnosticEvents,this.globalPlugins=t.globalPlugins||ql,this.pluginProbeLocations=t.pluginProbeLocations||ql,this.allowLocalPluginLoads=!!t.allowLocalPluginLoads,this.typesMapLocation=t.typesMapLocation===void 0?wr(Ur(this.getExecutingFilePath()),\"typesMap.json\"):t.typesMapLocation,this.session=t.session,this.jsDocParsingMode=t.jsDocParsingMode,t.serverMode!==void 0?this.serverMode=t.serverMode:this.serverMode=0,this.host.realpath&&(this.realpathToScriptInfos=Ep()),this.currentDirectory=js(this.host.getCurrentDirectory()),this.toCanonicalFileName=od(this.host.useCaseSensitiveFileNames),this.globalCacheLocationDirectoryPath=this.typingsInstaller.globalTypingsCacheLocation?_c(this.toPath(this.typingsInstaller.globalTypingsCacheLocation)):void 0,this.throttledOperations=new r$(this.host,this.logger),this.typesMapLocation?this.loadTypesMap():this.logger.info(\"No types map provided; using the default\"),this.typingsInstaller.attach(this),this.typingsCache=new l$(this.typingsInstaller),this.hostConfiguration={formatCodeOptions:s3(this.host.newLine),preferences:ef,hostInfo:\"Unknown host\",extraFileExtensions:[]},this.documentRegistry=JJ(this.host.useCaseSensitiveFileNames,this.currentDirectory,this.jsDocParsingMode,this);let i=this.logger.hasLevel(3)?2:this.logger.loggingEnabled()?1:0,o=i!==0?s=>this.logger.info(s):Ca;this.packageJsonCache=dme(this),this.watchFactory=this.serverMode!==0?{watchFile:pR,watchDirectory:pR}:yH(ZZe(this,t.canUseWatchEvents)||this.host,i,o,QZe),(r=t.incrementalVerifier)==null||r.call(t,this)}toPath(t){return ks(t,this.currentDirectory,this.toCanonicalFileName)}getExecutingFilePath(){return this.getNormalizedAbsolutePath(this.host.getExecutingFilePath())}getNormalizedAbsolutePath(t){return Qi(t,this.host.getCurrentDirectory())}setDocument(t,r,i){let o=x.checkDefined(this.getScriptInfoForPath(r));o.cacheSourceFile={key:t,sourceFile:i}}getDocument(t,r){let i=this.getScriptInfoForPath(r);return i&&i.cacheSourceFile&&i.cacheSourceFile.key===t?i.cacheSourceFile.sourceFile:void 0}ensureInferredProjectsUpToDate_TestOnly(){this.ensureProjectStructuresUptoDate()}getCompilerOptionsForInferredProjects(){return this.compilerOptionsForInferredProjects}onUpdateLanguageServiceStateForProject(t,r){if(!this.eventHandler)return;let i={eventName:f7,data:{project:t,languageServiceEnabled:r}};this.eventHandler(i)}loadTypesMap(){try{let t=this.host.readFile(this.typesMapLocation);if(t===void 0){this.logger.info(`Provided types map file \"${this.typesMapLocation}\" doesn't exist`);return}let r=JSON.parse(t);for(let i of Object.keys(r.typesMap))r.typesMap[i].match=new RegExp(r.typesMap[i].match,\"i\");this.safelist=r.typesMap;for(let i in r.simpleMap)rs(r.simpleMap,i)&&this.legacySafelist.set(i,r.simpleMap[i].toLowerCase())}catch(t){this.logger.info(`Error loading types map: ${t}`),this.safelist=y$,this.legacySafelist.clear()}}updateTypingsForProject(t){let r=this.findProject(t.projectName);if(r)switch(t.kind){case Dk:r.updateTypingFiles(this.typingsCache.updateTypingsForProject(t.projectName,t.compilerOptions,t.typeAcquisition,t.unresolvedImports,t.typings));return;case Ck:this.typingsCache.enqueueInstallTypingsForProject(r,r.lastCachedUnresolvedImportsList,!0);return}}watchTypingLocations(t){var r;(r=this.findProject(t.projectName))==null||r.watchTypingLocations(t.files)}delayEnsureProjectForOpenFiles(){this.openFiles.size&&(this.pendingEnsureProjectForOpenFiles=!0,this.throttledOperations.schedule(sme,2500,()=>{this.pendingProjectUpdates.size!==0?this.delayEnsureProjectForOpenFiles():this.pendingEnsureProjectForOpenFiles&&(this.ensureProjectForOpenFiles(),this.sendProjectsUpdatedInBackgroundEvent())}))}delayUpdateProjectGraph(t){if(t.markAsDirty(),qO(t))return;let r=t.getProjectName();this.pendingProjectUpdates.set(r,t),this.throttledOperations.schedule(r,250,()=>{this.pendingProjectUpdates.delete(r)&&up(t)})}hasPendingProjectUpdate(t){return this.pendingProjectUpdates.has(t.getProjectName())}sendProjectsUpdatedInBackgroundEvent(){if(!this.eventHandler)return;let t={eventName:KO,data:{openFiles:bo(this.openFiles.keys(),r=>this.getScriptInfoForPath(r).fileName)}};this.eventHandler(t)}sendLargeFileReferencedEvent(t,r){if(!this.eventHandler)return;let i={eventName:u7,data:{file:t,fileSize:r,maxFileSize:l7}};this.eventHandler(i)}sendProjectLoadingStartEvent(t,r){if(!this.eventHandler)return;t.sendLoadingProjectFinish=!0;let i={eventName:c7,data:{project:t,reason:r}};this.eventHandler(i)}sendProjectLoadingFinishEvent(t){if(!this.eventHandler||!t.sendLoadingProjectFinish)return;t.sendLoadingProjectFinish=!1;let r={eventName:d7,data:{project:t}};this.eventHandler(r)}sendPerformanceEvent(t,r){this.performanceEventHandler&&this.performanceEventHandler({kind:t,durationMs:r})}delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(t){this.delayUpdateProjectGraph(t),this.delayEnsureProjectForOpenFiles()}delayUpdateProjectGraphs(t,r){if(t.length){for(let i of t)r&&i.clearSourceMapperCache(),this.delayUpdateProjectGraph(i);this.delayEnsureProjectForOpenFiles()}}setCompilerOptionsForInferredProjects(t,r){x.assert(r===void 0||this.useInferredProjectPerProjectRoot,\"Setting compiler options per project root path is only supported when useInferredProjectPerProjectRoot is enabled\");let i=a7(t),o=JO(t,r),s=Qfe(t);i.allowNonTsExtensions=!0;let l=r&&this.toCanonicalFileName(r);l?(this.compilerOptionsForInferredProjectsPerProjectRoot.set(l,i),this.watchOptionsForInferredProjectsPerProjectRoot.set(l,o||!1),this.typeAcquisitionForInferredProjectsPerProjectRoot.set(l,s)):(this.compilerOptionsForInferredProjects=i,this.watchOptionsForInferredProjects=o,this.typeAcquisitionForInferredProjects=s);for(let d of this.inferredProjects)(l?d.projectRootPath===l:!d.projectRootPath||!this.compilerOptionsForInferredProjectsPerProjectRoot.has(d.projectRootPath))&&(d.setCompilerOptions(i),d.setTypeAcquisition(s),d.setWatchOptions(o?.watchOptions),d.setProjectErrors(o?.errors),d.compileOnSaveEnabled=i.compileOnSave,d.markAsDirty(),this.delayUpdateProjectGraph(d));this.delayEnsureProjectForOpenFiles()}findProject(t){if(t!==void 0)return Dfe(t)?CMe(t,this.inferredProjects):this.findExternalProjectByProjectName(t)||this.findConfiguredProjectByProjectName(js(t))}forEachProject(t){this.externalProjects.forEach(t),this.configuredProjects.forEach(t),this.inferredProjects.forEach(t)}forEachEnabledProject(t){this.forEachProject(r=>{!r.isOrphan()&&r.languageServiceEnabled&&t(r)})}getDefaultProjectForFile(t,r){return r?this.ensureDefaultProjectForFile(t):this.tryGetDefaultProjectForFile(t)}tryGetDefaultProjectForFile(t){let r=fo(t)?this.getScriptInfoForNormalizedPath(t):t;return r&&!r.isOrphan()?r.getDefaultProject():void 0}ensureDefaultProjectForFile(t){return this.tryGetDefaultProjectForFile(t)||this.doEnsureDefaultProjectForFile(t)}doEnsureDefaultProjectForFile(t){this.ensureProjectStructuresUptoDate();let r=fo(t)?this.getScriptInfoForNormalizedPath(t):t;return r?r.getDefaultProject():(this.logErrorForScriptInfoNotFound(fo(t)?t:t.fileName),vv.ThrowNoProject())}getScriptInfoEnsuringProjectsUptoDate(t){return this.ensureProjectStructuresUptoDate(),this.getScriptInfo(t)}ensureProjectStructuresUptoDate(){let t=this.pendingEnsureProjectForOpenFiles;this.pendingProjectUpdates.clear();let r=i=>{t=up(i)||t};this.externalProjects.forEach(r),this.configuredProjects.forEach(r),this.inferredProjects.forEach(r),t&&this.ensureProjectForOpenFiles()}getFormatCodeOptions(t){let r=this.getScriptInfoForNormalizedPath(t);return r&&r.getFormatCodeSettings()||this.hostConfiguration.formatCodeOptions}getPreferences(t){let r=this.getScriptInfoForNormalizedPath(t);return{...this.hostConfiguration.preferences,...r&&r.getPreferences()}}getHostFormatCodeOptions(){return this.hostConfiguration.formatCodeOptions}getHostPreferences(){return this.hostConfiguration.preferences}onSourceFileChanged(t,r){r===2?this.handleDeletedFile(t):t.isScriptOpen()||(t.delayReloadNonMixedContentFile(),this.delayUpdateProjectGraphs(t.containingProjects,!1),this.handleSourceMapProjects(t))}handleSourceMapProjects(t){if(t.sourceMapFilePath)if(fo(t.sourceMapFilePath)){let r=this.getScriptInfoForPath(t.sourceMapFilePath);this.delayUpdateSourceInfoProjects(r&&r.sourceInfos)}else this.delayUpdateSourceInfoProjects(t.sourceMapFilePath.sourceInfos);this.delayUpdateSourceInfoProjects(t.sourceInfos),t.declarationInfoPath&&this.delayUpdateProjectsOfScriptInfoPath(t.declarationInfoPath)}delayUpdateSourceInfoProjects(t){t&&t.forEach((r,i)=>this.delayUpdateProjectsOfScriptInfoPath(i))}delayUpdateProjectsOfScriptInfoPath(t){let r=this.getScriptInfoForPath(t);r&&this.delayUpdateProjectGraphs(r.containingProjects,!0)}handleDeletedFile(t){if(this.stopWatchingScriptInfo(t),!t.isScriptOpen()){this.deleteScriptInfo(t);let r=t.containingProjects.slice();if(t.detachAllProjects(),this.delayUpdateProjectGraphs(r,!1),this.handleSourceMapProjects(t),t.closeSourceMapFileWatcher(),t.declarationInfoPath){let i=this.getScriptInfoForPath(t.declarationInfoPath);i&&(i.sourceMapFilePath=void 0)}}}watchWildcardDirectory(t,r,i,o){let s=this.watchFactory.watchDirectory(t,d=>{let p=this.toPath(d),h=o.cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(d,p);if(Ll(p)===\"package.json\"&&!tO(p)&&(h&&h.fileExists||!h&&this.host.fileExists(d))){let v=this.getNormalizedAbsolutePath(d);this.logger.info(`Config: ${i} Detected new package.json: ${v}`),this.packageJsonCache.addOrUpdate(v,p),this.watchPackageJsonFile(v,p,l)}let m=this.findConfiguredProjectByProjectName(i);vk({watchedDirPath:this.toPath(t),fileOrDirectory:d,fileOrDirectoryPath:p,configFileName:i,extraFileExtensions:this.hostConfiguration.extraFileExtensions,currentDirectory:this.currentDirectory,options:o.parsedCommandLine.options,program:m?.getCurrentProgram()||o.parsedCommandLine.fileNames,useCaseSensitiveFileNames:this.host.useCaseSensitiveFileNames,writeLog:v=>this.logger.info(v),toPath:v=>this.toPath(v),getScriptKind:m?v=>m.getScriptKind(v):void 0})||(o.updateLevel!==2&&(o.updateLevel=1),o.projects.forEach((v,E)=>{if(!v)return;let S=this.getConfiguredProjectByCanonicalConfigFilePath(E);if(!S)return;let A=m===S?1:0;if(!(S.pendingUpdateLevel!==void 0&&S.pendingUpdateLevel>A))if(this.openFiles.has(p))if(x.checkDefined(this.getScriptInfoForPath(p)).isAttached(S)){let R=Math.max(A,S.openFileWatchTriggered.get(p)||0);S.openFileWatchTriggered.set(p,R)}else S.pendingUpdateLevel=A,this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(S);else S.pendingUpdateLevel=A,this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(S)}))},r,this.getWatchOptionsFromProjectWatchOptions(o.parsedCommandLine.watchOptions),dc.WildcardDirectory,i),l={packageJsonWatches:void 0,close(){var d;s&&(s.close(),s=void 0,(d=l.packageJsonWatches)==null||d.forEach(p=>{p.projects.delete(l),p.close()}),l.packageJsonWatches=void 0)}};return l}delayUpdateProjectsFromParsedConfigOnConfigFileChange(t,r){let i=this.configFileExistenceInfoCache.get(t);if(!i?.config)return!1;let o=!1;return i.config.updateLevel=2,i.config.projects.forEach((s,l)=>{let d=this.getConfiguredProjectByCanonicalConfigFilePath(l);if(d)if(o=!0,l===t){if(d.isInitialLoadPending())return;d.pendingUpdateLevel=2,d.pendingUpdateReason=r,this.delayUpdateProjectGraph(d)}else d.resolutionCache.removeResolutionsFromProjectReferenceRedirects(this.toPath(t)),this.delayUpdateProjectGraph(d)}),o}onConfigFileChanged(t,r){var i;let o=this.configFileExistenceInfoCache.get(t);if(r===2){o.exists=!1;let s=(i=o.config)!=null&&i.projects.has(t)?this.getConfiguredProjectByCanonicalConfigFilePath(t):void 0;s&&this.removeProject(s)}else o.exists=!0;this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(t,\"Change in config file detected\"),this.reloadConfiguredProjectForFiles(o.openFilesImpactedByConfigFile,!1,!0,r!==2?Ps:Ug,\"Change in config file detected\"),this.delayEnsureProjectForOpenFiles()}removeProject(t){switch(this.logger.info(\"`remove Project::\"),t.print(!0,!0,!1),t.close(),x.shouldAssert(1)&&this.filenameToScriptInfo.forEach(r=>x.assert(!r.isAttached(t),\"Found script Info still attached to project\",()=>`${t.projectName}: ScriptInfos still attached: ${JSON.stringify(bo(WD(this.filenameToScriptInfo.values(),i=>i.isAttached(t)?{fileName:i.fileName,projects:i.containingProjects.map(o=>o.projectName),hasMixedContent:i.hasMixedContent}:void 0)),void 0,\" \")}`)),this.pendingProjectUpdates.delete(t.getProjectName()),t.projectKind){case 2:bA(this.externalProjects,t),this.projectToSizeMap.delete(t.getProjectName());break;case 1:this.configuredProjects.delete(t.canonicalConfigFilePath),this.projectToSizeMap.delete(t.canonicalConfigFilePath);break;case 0:bA(this.inferredProjects,t);break}}assignOrphanScriptInfoToInferredProject(t,r){x.assert(t.isOrphan());let i=this.getOrCreateInferredProjectForProjectRootPathIfEnabled(t,r)||this.getOrCreateSingleInferredProjectIfEnabled()||this.getOrCreateSingleInferredWithoutProjectRoot(t.isDynamic?r||this.currentDirectory:Ur(Ou(t.fileName)?t.fileName:Qi(t.fileName,r?this.getNormalizedAbsolutePath(r):this.currentDirectory)));if(i.addRoot(t),t.containingProjects[0]!==i&&(N1(t.containingProjects,i),t.containingProjects.unshift(i)),i.updateGraph(),!this.useSingleInferredProject&&!i.projectRootPath)for(let o of this.inferredProjects){if(o===i||o.isOrphan())continue;let s=o.getRootScriptInfos();x.assert(s.length===1||!!o.projectRootPath),s.length===1&&an(s[0].containingProjects,l=>l!==s[0].containingProjects[0]&&!l.isOrphan())&&o.removeFile(s[0],!0,!0)}return i}assignOrphanScriptInfosToInferredProject(){this.openFiles.forEach((t,r)=>{let i=this.getScriptInfoForPath(r);i.isOrphan()&&this.assignOrphanScriptInfoToInferredProject(i,t)})}closeOpenFile(t,r){let i=t.isDynamic?!1:this.host.fileExists(t.fileName);t.close(i),this.stopWatchingConfigFilesForClosedScriptInfo(t);let o=this.toCanonicalFileName(t.fileName);this.openFilesWithNonRootedDiskPath.get(o)===t&&this.openFilesWithNonRootedDiskPath.delete(o);let s=!1;for(let l of t.containingProjects){if(Yb(l)){t.hasMixedContent&&t.registerFileUpdate();let d=l.openFileWatchTriggered.get(t.path);d!==void 0&&(l.openFileWatchTriggered.delete(t.path),l.pendingUpdateLevel!==void 0&&l.pendingUpdateLevel<d&&(l.pendingUpdateLevel=d,l.markFileAsDirty(t.path)))}else FR(l)&&l.isRoot(t)&&(l.isProjectWithSingleRoot()&&(s=!0),l.removeFile(t,i,!0));l.languageServiceEnabled||l.markAsDirty()}return this.openFiles.delete(t.path),this.configFileForOpenFiles.delete(t.path),!r&&s&&this.assignOrphanScriptInfosToInferredProject(),i?this.watchClosedScriptInfo(t):this.handleDeletedFile(t),s}deleteScriptInfo(t){this.filenameToScriptInfo.delete(t.path),this.filenameToScriptInfoVersion.set(t.path,t.textStorage.version);let r=t.getRealpathIfDifferent();r&&this.realpathToScriptInfos.remove(r,t)}configFileExists(t,r,i){var o;let s=this.configFileExistenceInfoCache.get(r);if(s)return g$(i)&&!((o=s.openFilesImpactedByConfigFile)!=null&&o.has(i.path))&&(s.openFilesImpactedByConfigFile||(s.openFilesImpactedByConfigFile=new Map)).set(i.path,!1),s.exists;let l=this.host.fileExists(t),d;return g$(i)&&(d||(d=new Map)).set(i.path,!1),s={exists:l,openFilesImpactedByConfigFile:d},this.configFileExistenceInfoCache.set(r,s),l}createConfigFileWatcherForParsedConfig(t,r,i){var o,s;let l=this.configFileExistenceInfoCache.get(r);(!l.watcher||l.watcher===b$)&&(l.watcher=this.watchFactory.watchFile(t,(p,h)=>this.onConfigFileChanged(r,h),2e3,this.getWatchOptionsFromProjectWatchOptions((s=(o=l?.config)==null?void 0:o.parsedCommandLine)==null?void 0:s.watchOptions),dc.ConfigFile,i));let d=l.config.projects;d.set(i.canonicalConfigFilePath,d.get(i.canonicalConfigFilePath)||!1)}configFileExistenceImpactsRootOfInferredProject(t){return t.openFilesImpactedByConfigFile&&hc(t.openFilesImpactedByConfigFile,Ps)}releaseParsedConfig(t,r){var i,o,s;let l=this.configFileExistenceInfoCache.get(t);(i=l.config)!=null&&i.projects.delete(r.canonicalConfigFilePath)&&((o=l.config)!=null&&o.projects.size||(l.config=void 0,gH(t,this.sharedExtendedConfigFileWatchers),x.checkDefined(l.watcher),(s=l.openFilesImpactedByConfigFile)!=null&&s.size?this.configFileExistenceImpactsRootOfInferredProject(l)?U4(mc(Ur(t)))||(l.watcher.close(),l.watcher=b$):(l.watcher.close(),l.watcher=void 0):(l.watcher.close(),this.configFileExistenceInfoCache.delete(t))))}closeConfigFileWatcherOnReleaseOfOpenFile(t){t.watcher&&!t.config&&!this.configFileExistenceImpactsRootOfInferredProject(t)&&(t.watcher.close(),t.watcher=void 0)}stopWatchingConfigFilesForClosedScriptInfo(t){x.assert(!t.isScriptOpen()),this.forEachConfigFileLocation(t,r=>{var i,o,s;let l=this.configFileExistenceInfoCache.get(r);if(l){let d=(i=l.openFilesImpactedByConfigFile)==null?void 0:i.get(t.path);(o=l.openFilesImpactedByConfigFile)==null||o.delete(t.path),d&&this.closeConfigFileWatcherOnReleaseOfOpenFile(l),!((s=l.openFilesImpactedByConfigFile)!=null&&s.size)&&!l.config&&(x.assert(!l.watcher),this.configFileExistenceInfoCache.delete(r))}})}startWatchingConfigFilesForInferredProjectRoot(t){x.assert(t.isScriptOpen()),this.forEachConfigFileLocation(t,(r,i)=>{let o=this.configFileExistenceInfoCache.get(r);o||(o={exists:this.host.fileExists(i)},this.configFileExistenceInfoCache.set(r,o)),(o.openFilesImpactedByConfigFile||(o.openFilesImpactedByConfigFile=new Map)).set(t.path,!0),o.watcher||(o.watcher=U4(mc(Ur(r)))?this.watchFactory.watchFile(i,(s,l)=>this.onConfigFileChanged(r,l),2e3,this.hostConfiguration.watchOptions,dc.ConfigFileForInferredRoot):b$)})}stopWatchingConfigFilesForInferredProjectRoot(t){this.forEachConfigFileLocation(t,r=>{var i;let o=this.configFileExistenceInfoCache.get(r);(i=o?.openFilesImpactedByConfigFile)!=null&&i.has(t.path)&&(x.assert(t.isScriptOpen()),o.openFilesImpactedByConfigFile.set(t.path,!1),this.closeConfigFileWatcherOnReleaseOfOpenFile(o))})}forEachConfigFileLocation(t,r){if(this.serverMode!==0)return;x.assert(!g$(t)||this.openFiles.has(t.path));let i=this.openFiles.get(t.path);if(x.checkDefined(this.getScriptInfo(t.path)).isDynamic)return;let s=Ur(t.fileName),l=()=>Bf(i,s,this.currentDirectory,!this.host.useCaseSensitiveFileNames),d=!i||!l(),p=!NMe(t);do{if(p){let m=jO(s,this.currentDirectory,this.toCanonicalFileName),v=wr(s,\"tsconfig.json\"),E=r(wr(m,\"tsconfig.json\"),v);if(E)return v;let S=wr(s,\"jsconfig.json\");if(E=r(wr(m,\"jsconfig.json\"),S),E)return S;if(A8(m))break}let h=Ur(s);if(h===s)break;s=h,p=!0}while(d||l())}findDefaultConfiguredProject(t){if(!t.isScriptOpen())return;let r=this.getConfigFileNameForFile(t),i=r&&this.findConfiguredProjectByProjectName(r);return i&&GI(i,t)?i:i?.getDefaultChildProjectFromProjectWithReferences(t)}getConfigFileNameForFile(t){if(!NMe(t)){let i=this.configFileForOpenFiles.get(t.path);if(i!==void 0)return i||void 0}this.logger.info(`Search path: ${Ur(t.fileName)}`);let r=this.forEachConfigFileLocation(t,(i,o)=>this.configFileExists(o,i,t));return r?this.logger.info(`For info: ${t.fileName} :: Config file name: ${r}`):this.logger.info(`For info: ${t.fileName} :: No config files found.`),g$(t)&&this.configFileForOpenFiles.set(t.path,r||!1),r}printProjects(){this.logger.hasLevel(1)&&(this.logger.startGroup(),this.externalProjects.forEach(ame),this.configuredProjects.forEach(ame),this.inferredProjects.forEach(ame),this.logger.info(\"Open files: \"),this.openFiles.forEach((t,r)=>{let i=this.getScriptInfoForPath(r);this.logger.info(`\tFileName: ${i.fileName} ProjectRootPath: ${t}`),this.logger.info(`\t\tProjects: ${i.containingProjects.map(o=>o.getProjectName())}`)}),this.logger.endGroup())}findConfiguredProjectByProjectName(t){let r=this.toCanonicalFileName(t);return this.getConfiguredProjectByCanonicalConfigFilePath(r)}getConfiguredProjectByCanonicalConfigFilePath(t){return this.configuredProjects.get(t)}findExternalProjectByProjectName(t){return CMe(t,this.externalProjects)}getFilenameForExceededTotalSizeLimitForNonTsFiles(t,r,i,o){if(r&&r.disableSizeLimit||!this.host.getFileSize)return;let s=s7;this.projectToSizeMap.set(t,0),this.projectToSizeMap.forEach(d=>s-=d||0);let l=0;for(let d of i){let p=o.getFileName(d);if(!qA(p)&&(l+=this.host.getFileSize(p),l>s7||l>s)){let h=i.map(m=>o.getFileName(m)).filter(m=>!qA(m)).map(m=>({name:m,size:this.host.getFileSize(m)})).sort((m,v)=>v.size-m.size).slice(0,5);return this.logger.info(`Non TS file size exceeded limit (${l}). Largest files: ${h.map(m=>`${m.name}:${m.size}`).join(\", \")}`),p}}this.projectToSizeMap.set(t,l)}createExternalProject(t,r,i,o,s){let l=a7(i),d=JO(i,Ur(ad(t))),p=new o7(t,this,this.documentRegistry,l,this.getFilenameForExceededTotalSizeLimitForNonTsFiles(t,l,r,y7),i.compileOnSave===void 0?!0:i.compileOnSave,void 0,d?.watchOptions);return p.setProjectErrors(d?.errors),p.excludedFiles=s,this.addFilesToNonInferredProject(p,r,y7,o),this.externalProjects.push(p),p}sendProjectTelemetry(t){if(this.seenProjects.has(t.projectName)){nme(t);return}if(this.seenProjects.set(t.projectName,!0),!this.eventHandler||!this.host.createSHA256Hash){nme(t);return}let r=Yb(t)?t.projectOptions:void 0;nme(t);let i={projectId:this.host.createSHA256Hash(t.projectName),fileStats:HO(t.getScriptInfos(),!0),compilerOptions:Vie(t.getCompilationSettings()),typeAcquisition:s(t.getTypeAcquisition()),extends:r&&r.configHasExtendsProperty,files:r&&r.configHasFilesProperty,include:r&&r.configHasIncludeProperty,exclude:r&&r.configHasExcludeProperty,compileOnSave:t.compileOnSaveEnabled,configFileName:o(),projectType:t instanceof o7?\"external\":\"configured\",languageServiceEnabled:t.languageServiceEnabled,version:bp};this.eventHandler({eventName:m7,data:i});function o(){return Yb(t)&&n$(t.getConfigFilePath())||\"other\"}function s({enable:l,include:d,exclude:p}){return{enable:l,include:d!==void 0&&d.length!==0,exclude:p!==void 0&&p.length!==0}}}addFilesToNonInferredProject(t,r,i,o){this.updateNonInferredProjectFiles(t,r,i),t.setTypeAcquisition(o),t.markAsDirty()}createConfiguredProject(t){var r;(r=qn)==null||r.instant(qn.Phase.Session,\"createConfiguredProject\",{configFilePath:t}),this.logger.info(`Creating configuration project ${t}`);let i=this.toCanonicalFileName(t),o=this.configFileExistenceInfoCache.get(i);o?o.exists=!0:this.configFileExistenceInfoCache.set(i,o={exists:!0}),o.config||(o.config={cachedDirectoryStructureHost:C4(this.host,this.host.getCurrentDirectory(),this.host.useCaseSensitiveFileNames),projects:new Map,updateLevel:2});let s=new m$(t,i,this,this.documentRegistry,o.config.cachedDirectoryStructureHost);return this.configuredProjects.set(i,s),this.createConfigFileWatcherForParsedConfig(t,i,s),s}createConfiguredProjectWithDelayLoad(t,r){let i=this.createConfiguredProject(t);return i.pendingUpdateLevel=2,i.pendingUpdateReason=r,i}createAndLoadConfiguredProject(t,r){let i=this.createConfiguredProject(t);return this.loadConfiguredProject(i,r),i}createLoadAndUpdateConfiguredProject(t,r){let i=this.createAndLoadConfiguredProject(t,r);return i.updateGraph(),i}loadConfiguredProject(t,r){var i,o;(i=qn)==null||i.push(qn.Phase.Session,\"loadConfiguredProject\",{configFilePath:t.canonicalConfigFilePath}),this.sendProjectLoadingStartEvent(t,r);let s=Yo(t.getConfigFilePath()),l=this.ensureParsedConfigUptoDate(s,t.canonicalConfigFilePath,this.configFileExistenceInfoCache.get(t.canonicalConfigFilePath),t),d=l.config.parsedCommandLine;x.assert(!!d.fileNames);let p=d.options;t.projectOptions||(t.projectOptions={configHasExtendsProperty:d.raw.extends!==void 0,configHasFilesProperty:d.raw.files!==void 0,configHasIncludeProperty:d.raw.include!==void 0,configHasExcludeProperty:d.raw.exclude!==void 0}),t.canConfigFileJsonReportNoInputFiles=TN(d.raw),t.setProjectErrors(d.options.configFile.parseDiagnostics),t.updateReferences(d.projectReferences);let h=this.getFilenameForExceededTotalSizeLimitForNonTsFiles(t.canonicalConfigFilePath,p,d.fileNames,v7);h?(t.disableLanguageService(h),this.configFileExistenceInfoCache.forEach((v,E)=>this.stopWatchingWildCards(E,t))):(t.setCompilerOptions(p),t.setWatchOptions(d.watchOptions),t.enableLanguageService(),this.watchWildcards(s,l,t)),t.enablePluginsWithOptions(p);let m=d.fileNames.concat(t.getExternalFiles(2));this.updateRootAndOptionsOfNonInferredProject(t,m,v7,p,d.typeAcquisition,d.compileOnSave,d.watchOptions),(o=qn)==null||o.pop()}ensureParsedConfigUptoDate(t,r,i,o){var s,l,d;if(i.config){if(!i.config.updateLevel)return i;if(i.config.updateLevel===1)return this.reloadFileNamesOfParsedConfig(t,i.config),i}let p=((s=i.config)==null?void 0:s.cachedDirectoryStructureHost)||C4(this.host,this.host.getCurrentDirectory(),this.host.useCaseSensitiveFileNames),h=SN(t,A=>this.host.readFile(A)),m=G2(t,fo(h)?h:\"\"),v=m.parseDiagnostics;fo(h)||v.push(h);let E=H2(m,p,Ur(t),{},t,[],this.hostConfiguration.extraFileExtensions,this.extendedConfigCache);E.errors.length&&v.push(...E.errors),this.logger.info(`Config: ${t} : ${JSON.stringify({rootNames:E.fileNames,options:E.options,watchOptions:E.watchOptions,projectReferences:E.projectReferences},void 0,\" \")}`);let S=(l=i.config)==null?void 0:l.parsedCommandLine;return i.config?(i.config.parsedCommandLine=E,i.config.watchedDirectoriesStale=!0,i.config.updateLevel=void 0):i.config={parsedCommandLine:E,cachedDirectoryStructureHost:p,projects:new Map},!S&&!_F(this.getWatchOptionsFromProjectWatchOptions(void 0),this.getWatchOptionsFromProjectWatchOptions(E.watchOptions))&&((d=i.watcher)==null||d.close(),i.watcher=void 0),this.createConfigFileWatcherForParsedConfig(t,r,o),N4(r,E.options,this.sharedExtendedConfigFileWatchers,(A,C)=>this.watchFactory.watchFile(A,()=>{var R;P4(this.extendedConfigCache,C,G=>this.toPath(G));let L=!1;(R=this.sharedExtendedConfigFileWatchers.get(C))==null||R.projects.forEach(G=>{L=this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(G,`Change in extended config file ${A} detected`)||L}),L&&this.delayEnsureProjectForOpenFiles()},2e3,this.hostConfiguration.watchOptions,dc.ExtendedConfigFile,t),A=>this.toPath(A)),i}watchWildcards(t,{exists:r,config:i},o){if(i.projects.set(o.canonicalConfigFilePath,!0),r){if(i.watchedDirectories&&!i.watchedDirectoriesStale)return;i.watchedDirectoriesStale=!1,gk(i.watchedDirectories||(i.watchedDirectories=new Map),i.parsedCommandLine.wildcardDirectories,(s,l)=>this.watchWildcardDirectory(s,l,t,i))}else{if(i.watchedDirectoriesStale=!1,!i.watchedDirectories)return;Au(i.watchedDirectories,Qp),i.watchedDirectories=void 0}}stopWatchingWildCards(t,r){let i=this.configFileExistenceInfoCache.get(t);!i.config||!i.config.projects.get(r.canonicalConfigFilePath)||(i.config.projects.set(r.canonicalConfigFilePath,!1),!hc(i.config.projects,Ps)&&(i.config.watchedDirectories&&(Au(i.config.watchedDirectories,Qp),i.config.watchedDirectories=void 0),i.config.watchedDirectoriesStale=void 0))}updateNonInferredProjectFiles(t,r,i){let o=t.getRootFilesMap(),s=new Map;for(let l of r){let d=i.getFileName(l),p=js(d),h=UO(p),m;if(!h&&!t.fileExists(d)){m=jO(p,this.currentDirectory,this.toCanonicalFileName);let v=o.get(m);v?(v.info&&(t.removeFile(v.info,!1,!0),v.info=void 0),v.fileName=p):o.set(m,{fileName:p})}else{let v=i.getScriptKind(l,this.hostConfiguration.extraFileExtensions),E=i.hasMixedContent(l,this.hostConfiguration.extraFileExtensions),S=x.checkDefined(this.getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(p,t.currentDirectory,v,E,t.directoryStructureHost));m=S.path;let A=o.get(m);!A||A.info!==S?(t.addRoot(S,p),S.isScriptOpen()&&this.removeRootOfInferredProjectIfNowPartOfOtherProject(S)):A.fileName=p}s.set(m,!0)}o.size>s.size&&o.forEach((l,d)=>{s.has(d)||(l.info?t.removeFile(l.info,t.fileExists(l.info.fileName),!0):o.delete(d))})}updateRootAndOptionsOfNonInferredProject(t,r,i,o,s,l,d){t.setCompilerOptions(o),t.setWatchOptions(d),l!==void 0&&(t.compileOnSaveEnabled=l),this.addFilesToNonInferredProject(t,r,i,s)}reloadFileNamesOfConfiguredProject(t){let r=this.reloadFileNamesOfParsedConfig(t.getConfigFilePath(),this.configFileExistenceInfoCache.get(t.canonicalConfigFilePath).config);return t.updateErrorOnNoInputFiles(r),this.updateNonInferredProjectFiles(t,r.concat(t.getExternalFiles(1)),v7),t.markAsDirty(),t.updateGraph()}reloadFileNamesOfParsedConfig(t,r){if(r.updateLevel===void 0)return r.parsedCommandLine.fileNames;x.assert(r.updateLevel===1);let i=r.parsedCommandLine.options.configFile.configFileSpecs,o=AN(i,Ur(t),r.parsedCommandLine.options,r.cachedDirectoryStructureHost,this.hostConfiguration.extraFileExtensions);return r.parsedCommandLine={...r.parsedCommandLine,fileNames:o},o}setFileNamesOfAutpImportProviderOrAuxillaryProject(t,r){this.updateNonInferredProjectFiles(t,r,v7)}reloadConfiguredProject(t,r,i,o){let s=t.getCachedDirectoryStructureHost();o&&this.clearSemanticCache(t),s.clearCache();let l=t.getConfigFilePath();this.logger.info(`${i?\"Loading\":\"Reloading\"} configured project ${l}`),this.loadConfiguredProject(t,r),t.updateGraph(),this.sendConfigFileDiagEvent(t,l)}clearSemanticCache(t){t.resolutionCache.clear(),t.getLanguageService(!1).cleanupSemanticCache(),t.cleanupProgram(),t.markAsDirty()}sendConfigFileDiagEvent(t,r){if(!this.eventHandler||this.suppressDiagnosticEvents)return;let i=t.getLanguageService().getCompilerOptionsDiagnostics();i.push(...t.getAllProjectErrors()),this.eventHandler({eventName:p7,data:{configFileName:t.getConfigFilePath(),diagnostics:i,triggerFile:r}})}getOrCreateInferredProjectForProjectRootPathIfEnabled(t,r){if(!this.useInferredProjectPerProjectRoot||t.isDynamic&&r===void 0)return;if(r){let o=this.toCanonicalFileName(r);for(let s of this.inferredProjects)if(s.projectRootPath===o)return s;return this.createInferredProject(r,!1,r)}let i;for(let o of this.inferredProjects)o.projectRootPath&&Bf(o.projectRootPath,t.path,this.host.getCurrentDirectory(),!this.host.useCaseSensitiveFileNames)&&(i&&i.projectRootPath.length>o.projectRootPath.length||(i=o));return i}getOrCreateSingleInferredProjectIfEnabled(){if(this.useSingleInferredProject)return this.inferredProjects.length>0&&this.inferredProjects[0].projectRootPath===void 0?this.inferredProjects[0]:this.createInferredProject(\"\",!0)}getOrCreateSingleInferredWithoutProjectRoot(t){x.assert(!this.useSingleInferredProject);let r=this.toCanonicalFileName(this.getNormalizedAbsolutePath(t));for(let i of this.inferredProjects)if(!i.projectRootPath&&i.isOrphan()&&i.canonicalCurrentDirectory===r)return i;return this.createInferredProject(t)}createInferredProject(t,r,i){let o=i&&this.compilerOptionsForInferredProjectsPerProjectRoot.get(i)||this.compilerOptionsForInferredProjects,s,l;i&&(s=this.watchOptionsForInferredProjectsPerProjectRoot.get(i),l=this.typeAcquisitionForInferredProjectsPerProjectRoot.get(i)),s===void 0&&(s=this.watchOptionsForInferredProjects),l===void 0&&(l=this.typeAcquisitionForInferredProjects),s=s||void 0;let d=new d$(this,this.documentRegistry,o,s?.watchOptions,i,t,l);return d.setProjectErrors(s?.errors),r?this.inferredProjects.unshift(d):this.inferredProjects.push(d),d}getOrCreateScriptInfoNotOpenedByClient(t,r,i){return this.getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(js(t),r,void 0,void 0,i)}getScriptInfo(t){return this.getScriptInfoForNormalizedPath(js(t))}getScriptInfoOrConfig(t){let r=js(t),i=this.getScriptInfoForNormalizedPath(r);if(i)return i;let o=this.configuredProjects.get(this.toPath(t));return o&&o.getCompilerOptions().configFile}logErrorForScriptInfoNotFound(t){let r=bo(this.filenameToScriptInfo.entries(),([i,o])=>({path:i,fileName:o.fileName}));this.logger.msg(`Could not find file ${JSON.stringify(t)}.\nAll files are: ${JSON.stringify(r)}`,\"Err\")}getSymlinkedProjects(t){let r;if(this.realpathToScriptInfos){let o=t.getRealpathIfDifferent();o&&an(this.realpathToScriptInfos.get(o),i),an(this.realpathToScriptInfos.get(t.path),i)}return r;function i(o){if(o!==t)for(let s of o.containingProjects)s.languageServiceEnabled&&!s.isOrphan()&&!s.getCompilerOptions().preserveSymlinks&&!t.isAttached(s)&&(r?hc(r,(l,d)=>d===o.path?!1:To(l,s))||r.add(o.path,s):(r=Ep(),r.add(o.path,s)))}}watchClosedScriptInfo(t){if(x.assert(!t.fileWatcher),!t.isDynamicOrHasMixedContent()&&(!this.globalCacheLocationDirectoryPath||!Ui(t.path,this.globalCacheLocationDirectoryPath))){let r=t.fileName.indexOf(\"/node_modules/\");!this.host.getModifiedTime||r===-1?t.fileWatcher=this.watchFactory.watchFile(t.fileName,(i,o)=>this.onSourceFileChanged(t,o),500,this.hostConfiguration.watchOptions,dc.ClosedScriptInfo):(t.mTime=this.getModifiedTime(t),t.fileWatcher=this.watchClosedScriptInfoInNodeModules(t.fileName.substring(0,r)))}}createNodeModulesWatcher(t,r){let i=this.watchFactory.watchDirectory(t,s=>{var l;let d=j4(this.toPath(s));if(!d)return;let p=Ll(d);if((l=o.affectedModuleSpecifierCacheProjects)!=null&&l.size&&(p===\"package.json\"||p===\"node_modules\")&&o.affectedModuleSpecifierCacheProjects.forEach(h=>{var m;(m=h.getModuleSpecifierCache())==null||m.clear()}),o.refreshScriptInfoRefCount)if(r===d)this.refreshScriptInfosInDirectory(r);else{let h=this.getScriptInfoForPath(d);h?LMe(h)&&this.refreshScriptInfo(h):TA(d)||this.refreshScriptInfosInDirectory(d)}},1,this.hostConfiguration.watchOptions,dc.NodeModules),o={refreshScriptInfoRefCount:0,affectedModuleSpecifierCacheProjects:void 0,close:()=>{var s;i&&!o.refreshScriptInfoRefCount&&!((s=o.affectedModuleSpecifierCacheProjects)!=null&&s.size)&&(i.close(),i=void 0,this.nodeModulesWatchers.delete(r))}};return this.nodeModulesWatchers.set(r,o),o}watchPackageJsonsInNodeModules(t,r){var i;let o=this.toPath(t),s=this.nodeModulesWatchers.get(o)||this.createNodeModulesWatcher(t,o);return x.assert(!((i=s.affectedModuleSpecifierCacheProjects)!=null&&i.has(r))),(s.affectedModuleSpecifierCacheProjects||(s.affectedModuleSpecifierCacheProjects=new Set)).add(r),{close:()=>{var l;(l=s.affectedModuleSpecifierCacheProjects)==null||l.delete(r),s.close()}}}watchClosedScriptInfoInNodeModules(t){let r=t+\"/node_modules\",i=this.toPath(r),o=this.nodeModulesWatchers.get(i)||this.createNodeModulesWatcher(r,i);return o.refreshScriptInfoRefCount++,{close:()=>{o.refreshScriptInfoRefCount--,o.close()}}}getModifiedTime(t){return(this.host.getModifiedTime(t.fileName)||ip).getTime()}refreshScriptInfo(t){let r=this.getModifiedTime(t);if(r!==t.mTime){let i=SG(t.mTime,r);t.mTime=r,this.onSourceFileChanged(t,i)}}refreshScriptInfosInDirectory(t){t=t+Os,this.filenameToScriptInfo.forEach(r=>{LMe(r)&&Ui(r.path,t)&&this.refreshScriptInfo(r)})}stopWatchingScriptInfo(t){t.fileWatcher&&(t.fileWatcher.close(),t.fileWatcher=void 0)}getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(t,r,i,o,s){if(Ou(t)||UO(t))return this.getOrCreateScriptInfoWorker(t,r,!1,void 0,i,o,s);let l=this.openFilesWithNonRootedDiskPath.get(this.toCanonicalFileName(t));if(l)return l}getOrCreateScriptInfoOpenedByClientForNormalizedPath(t,r,i,o,s){return this.getOrCreateScriptInfoWorker(t,r,!0,i,o,s)}getOrCreateScriptInfoForNormalizedPath(t,r,i,o,s,l){return this.getOrCreateScriptInfoWorker(t,this.currentDirectory,r,i,o,s,l)}getOrCreateScriptInfoWorker(t,r,i,o,s,l,d){x.assert(o===void 0||i,\"ScriptInfo needs to be opened by client to be able to set its user defined content\");let p=jO(t,r,this.toCanonicalFileName),h=this.getScriptInfoForPath(p);if(!h){let m=UO(t);if(x.assert(Ou(t)||m||i,\"\",()=>`${JSON.stringify({fileName:t,currentDirectory:r,hostCurrentDirectory:this.currentDirectory,openKeys:bo(this.openFilesWithNonRootedDiskPath.keys())})}\nScript info with non-dynamic relative file name can only be open script info or in context of host currentDirectory`),x.assert(!Ou(t)||this.currentDirectory===r||!this.openFilesWithNonRootedDiskPath.has(this.toCanonicalFileName(t)),\"\",()=>`${JSON.stringify({fileName:t,currentDirectory:r,hostCurrentDirectory:this.currentDirectory,openKeys:bo(this.openFilesWithNonRootedDiskPath.keys())})}\nOpen script files with non rooted disk path opened with current directory context cannot have same canonical names`),x.assert(!m||this.currentDirectory===r||this.useInferredProjectPerProjectRoot,\"\",()=>`${JSON.stringify({fileName:t,currentDirectory:r,hostCurrentDirectory:this.currentDirectory,openKeys:bo(this.openFilesWithNonRootedDiskPath.keys())})}\nDynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath.`),!i&&!m&&!(d||this.host).fileExists(t))return;h=new s$(this.host,t,s,!!l,p,this.filenameToScriptInfoVersion.get(p)),this.filenameToScriptInfo.set(h.path,h),this.filenameToScriptInfoVersion.delete(h.path),i?!Ou(t)&&(!m||this.currentDirectory!==r)&&this.openFilesWithNonRootedDiskPath.set(this.toCanonicalFileName(t),h):this.watchClosedScriptInfo(h)}return i&&(this.stopWatchingScriptInfo(h),h.open(o),l&&h.registerFileUpdate()),h}getScriptInfoForNormalizedPath(t){return!Ou(t)&&this.openFilesWithNonRootedDiskPath.get(this.toCanonicalFileName(t))||this.getScriptInfoForPath(jO(t,this.currentDirectory,this.toCanonicalFileName))}getScriptInfoForPath(t){return this.filenameToScriptInfo.get(t)}getDocumentPositionMapper(t,r,i){let o=this.getOrCreateScriptInfoNotOpenedByClient(r,t.currentDirectory,this.host);if(!o){i&&t.addGeneratedFileWatch(r,i);return}if(o.getSnapshot(),fo(o.sourceMapFilePath)){let m=this.getScriptInfoForPath(o.sourceMapFilePath);if(m&&(m.getSnapshot(),m.documentPositionMapper!==void 0))return m.sourceInfos=this.addSourceInfoToSourceMap(i,t,m.sourceInfos),m.documentPositionMapper?m.documentPositionMapper:void 0;o.sourceMapFilePath=void 0}else if(o.sourceMapFilePath){o.sourceMapFilePath.sourceInfos=this.addSourceInfoToSourceMap(i,t,o.sourceMapFilePath.sourceInfos);return}else if(o.sourceMapFilePath!==void 0)return;let s,l,d=(m,v)=>{let E=this.getOrCreateScriptInfoNotOpenedByClient(m,t.currentDirectory,this.host);if(!E){l=v;return}s=E;let S=E.getSnapshot();return E.documentPositionMapper!==void 0?E.documentPositionMapper:hR(S)},p=t.projectName,h=$J({getCanonicalFileName:this.toCanonicalFileName,log:m=>this.logger.info(m),getSourceFileLike:m=>this.getSourceFileLike(m,p,o)},o.fileName,o.textStorage.getLineInfo(),d);return d=void 0,s?(o.sourceMapFilePath=s.path,s.declarationInfoPath=o.path,s.documentPositionMapper=h||!1,s.sourceInfos=this.addSourceInfoToSourceMap(i,t,s.sourceInfos)):l?o.sourceMapFilePath={watcher:this.addMissingSourceMapFile(t.currentDirectory===this.currentDirectory?l:Qi(l,t.currentDirectory),o.path),sourceInfos:this.addSourceInfoToSourceMap(i,t)}:o.sourceMapFilePath=!1,h}addSourceInfoToSourceMap(t,r,i){if(t){let o=this.getOrCreateScriptInfoNotOpenedByClient(t,r.currentDirectory,r.directoryStructureHost);(i||(i=new Set)).add(o.path)}return i}addMissingSourceMapFile(t,r){return this.watchFactory.watchFile(t,()=>{let o=this.getScriptInfoForPath(r);o&&o.sourceMapFilePath&&!fo(o.sourceMapFilePath)&&(this.delayUpdateProjectGraphs(o.containingProjects,!0),this.delayUpdateSourceInfoProjects(o.sourceMapFilePath.sourceInfos),o.closeSourceMapFileWatcher())},2e3,this.hostConfiguration.watchOptions,dc.MissingSourceMapFile)}getSourceFileLike(t,r,i){let o=r.projectName?r:this.findProject(r);if(o){let l=o.toPath(t),d=o.getSourceFile(l);if(d&&d.resolvedPath===l)return d}let s=this.getOrCreateScriptInfoNotOpenedByClient(t,(o||this).currentDirectory,o?o.directoryStructureHost:this.host);if(s){if(i&&fo(i.sourceMapFilePath)&&s!==i){let l=this.getScriptInfoForPath(i.sourceMapFilePath);l&&(l.sourceInfos||(l.sourceInfos=new Set)).add(s.path)}return s.cacheSourceFile?s.cacheSourceFile.sourceFile:(s.sourceFileLike||(s.sourceFileLike={get text(){return x.fail(\"shouldnt need text\"),\"\"},getLineAndCharacterOfPosition:l=>{let d=s.positionToLineOffset(l);return{line:d.line-1,character:d.offset-1}},getPositionOfLineAndCharacter:(l,d,p)=>s.lineOffsetToPosition(l+1,d+1,p)}),s.sourceFileLike)}}setPerformanceEventHandler(t){this.performanceEventHandler=t}setHostConfiguration(t){var r;if(t.file){let i=this.getScriptInfoForNormalizedPath(js(t.file));i&&(i.setOptions(zR(t.formatOptions),t.preferences),this.logger.info(`Host configuration update for file ${t.file}`))}else{if(t.hostInfo!==void 0&&(this.hostConfiguration.hostInfo=t.hostInfo,this.logger.info(`Host information ${t.hostInfo}`)),t.formatOptions&&(this.hostConfiguration.formatCodeOptions={...this.hostConfiguration.formatCodeOptions,...zR(t.formatOptions)},this.logger.info(\"Format host information updated\")),t.preferences){let{lazyConfiguredProjectsFromExternalProject:i,includePackageJsonAutoImports:o}=this.hostConfiguration.preferences;this.hostConfiguration.preferences={...this.hostConfiguration.preferences,...t.preferences},i&&!this.hostConfiguration.preferences.lazyConfiguredProjectsFromExternalProject&&this.externalProjectToConfiguredProjectMap.forEach(s=>s.forEach(l=>{!l.isClosed()&&l.hasExternalProjectRef()&&l.pendingUpdateLevel===2&&!this.pendingProjectUpdates.has(l.getProjectName())&&l.updateGraph()})),o!==t.preferences.includePackageJsonAutoImports&&this.forEachProject(s=>{s.onAutoImportProviderSettingsChanged()})}t.extraFileExtensions&&(this.hostConfiguration.extraFileExtensions=t.extraFileExtensions,this.reloadProjects(),this.logger.info(\"Host file extension mappings updated\")),t.watchOptions&&(this.hostConfiguration.watchOptions=(r=JO(t.watchOptions))==null?void 0:r.watchOptions,this.logger.info(`Host watch options changed to ${JSON.stringify(this.hostConfiguration.watchOptions)}, it will be take effect for next watches.`))}}getWatchOptions(t){return this.getWatchOptionsFromProjectWatchOptions(t.getWatchOptions())}getWatchOptionsFromProjectWatchOptions(t){return t&&this.hostConfiguration.watchOptions?{...this.hostConfiguration.watchOptions,...t}:t||this.hostConfiguration.watchOptions}closeLog(){this.logger.close()}reloadProjects(){this.logger.info(\"reload projects.\"),this.filenameToScriptInfo.forEach(t=>{this.openFiles.has(t.path)||t.fileWatcher&&this.onSourceFileChanged(t,this.host.fileExists(t.fileName)?1:2)}),this.pendingProjectUpdates.forEach((t,r)=>{this.throttledOperations.cancel(r),this.pendingProjectUpdates.delete(r)}),this.throttledOperations.cancel(sme),this.pendingEnsureProjectForOpenFiles=!1,this.configFileExistenceInfoCache.forEach(t=>{t.config&&(t.config.updateLevel=2)}),this.reloadConfiguredProjectForFiles(this.openFiles,!0,!1,Ug,\"User requested reload projects\"),this.externalProjects.forEach(t=>{this.clearSemanticCache(t),t.updateGraph()}),this.inferredProjects.forEach(t=>this.clearSemanticCache(t)),this.ensureProjectForOpenFiles(),this.logger.info(\"After reloading projects..\"),this.printProjects()}reloadConfiguredProjectForFiles(t,r,i,o,s){let l=new Map,d=p=>{l.has(p.canonicalConfigFilePath)||(l.set(p.canonicalConfigFilePath,!0),this.reloadConfiguredProject(p,s,!1,r))};t?.forEach((p,h)=>{if(this.configFileForOpenFiles.delete(h),!o(p))return;let m=this.getScriptInfoForPath(h);x.assert(m.isScriptOpen());let v=this.getConfigFileNameForFile(m);if(v){let E=this.findConfiguredProjectByProjectName(v)||this.createConfiguredProject(v);l.has(E.canonicalConfigFilePath)||(l.set(E.canonicalConfigFilePath,!0),i?(E.pendingUpdateLevel=2,E.pendingUpdateReason=s,r&&this.clearSemanticCache(E),this.delayUpdateProjectGraph(E)):(this.reloadConfiguredProject(E,s,!1,r),GI(E,m)||BR(E,m.path,A=>(d(A),GI(A,m)),1)&&BR(E,void 0,d,0)))}})}removeRootOfInferredProjectIfNowPartOfOtherProject(t){x.assert(t.containingProjects.length>0);let r=t.containingProjects[0];!r.isOrphan()&&FR(r)&&r.isRoot(t)&&an(t.containingProjects,i=>i!==r&&!i.isOrphan())&&r.removeFile(t,!0,!0)}ensureProjectForOpenFiles(){this.logger.info(\"Before ensureProjectForOpenFiles:\"),this.printProjects(),this.openFiles.forEach((t,r)=>{let i=this.getScriptInfoForPath(r);i.isOrphan()?this.assignOrphanScriptInfoToInferredProject(i,t):this.removeRootOfInferredProjectIfNowPartOfOtherProject(i)}),this.pendingEnsureProjectForOpenFiles=!1,this.inferredProjects.forEach(up),this.logger.info(\"After ensureProjectForOpenFiles:\"),this.printProjects()}openClientFile(t,r,i,o){return this.openClientFileWithNormalizedPath(js(t),r,i,!1,o?js(o):void 0)}getOriginalLocationEnsuringConfiguredProject(t,r){let i=t.isSourceOfProjectReferenceRedirect(r.fileName),o=i?r:t.getSourceMapper().tryGetSourcePosition(r);if(!o)return;let{fileName:s}=o,l=this.getScriptInfo(s);if(!l&&!this.host.fileExists(s))return;let d={fileName:js(s),path:this.toPath(s)},p=this.getConfigFileNameForFile(d);if(!p)return;let h=this.findConfiguredProjectByProjectName(p);if(!h){if(t.getCompilerOptions().disableReferencedProjectLoad)return i?r:l?.containingProjects.length?o:r;h=this.createAndLoadConfiguredProject(p,`Creating project for original file: ${d.fileName}${r!==o?\" for location: \"+r.fileName:\"\"}`)}up(h);let m=S=>{let A=this.getScriptInfo(s);return A&&GI(S,A)};if(h.isSolution()||!m(h)){if(h=BR(h,s,S=>(up(S),m(S)?S:void 0),2,`Creating project referenced in solution ${h.projectName} to find possible configured project for original file: ${d.fileName}${r!==o?\" for location: \"+r.fileName:\"\"}`),!h)return;if(h===t)return o}E(h);let v=this.getScriptInfo(s);if(!v||!v.containingProjects.length)return;return v.containingProjects.forEach(S=>{Yb(S)&&E(S)}),o;function E(S){t.originalConfiguredProjects||(t.originalConfiguredProjects=new Set),t.originalConfiguredProjects.add(S.canonicalConfigFilePath)}}fileExists(t){return!!this.getScriptInfoForNormalizedPath(t)||this.host.fileExists(t)}findExternalProjectContainingOpenScriptInfo(t){return Dr(this.externalProjects,r=>(up(r),r.containsScriptInfo(t)))}getOrCreateOpenScriptInfo(t,r,i,o,s){let l=this.getOrCreateScriptInfoOpenedByClientForNormalizedPath(t,s?this.getNormalizedAbsolutePath(s):this.currentDirectory,r,i,o);return this.openFiles.set(l.path,s),l}assignProjectToOpenedScriptInfo(t){let r,i,o=this.findExternalProjectContainingOpenScriptInfo(t),s,l,d=!1;return!o&&this.serverMode===0&&(r=this.getConfigFileNameForFile(t),r&&(o=this.findConfiguredProjectByProjectName(r),o?up(o):(o=this.createLoadAndUpdateConfiguredProject(r,`Creating possible configured project for ${t.fileName} to open`),d=!0),l=o.containsScriptInfo(t)?o:void 0,s=o,GI(o,t)||BR(o,t.path,p=>{if(up(p),oo(s)?s.push(p):s=[o,p],GI(p,t))return l=p,p;!l&&p.containsScriptInfo(t)&&(l=p)},2,`Creating project referenced in solution ${o.projectName} to find possible configured project for ${t.fileName} to open`),l?(r=l.getConfigFilePath(),(l!==o||d)&&(i=l.getAllProjectErrors(),this.sendConfigFileDiagEvent(l,t.fileName))):r=void 0,this.createAncestorProjects(t,o))),t.containingProjects.forEach(up),t.isOrphan()&&(oo(s)?s.forEach(p=>this.sendConfigFileDiagEvent(p,t.fileName)):s&&this.sendConfigFileDiagEvent(s,t.fileName),x.assert(this.openFiles.has(t.path)),this.assignOrphanScriptInfoToInferredProject(t,this.openFiles.get(t.path))),x.assert(!t.isOrphan()),{configFileName:r,configFileErrors:i,retainProjects:s}}createAncestorProjects(t,r){if(t.isAttached(r))for(;;){if(!r.isInitialLoadPending()&&(!r.getCompilerOptions().composite||r.getCompilerOptions().disableSolutionSearching))return;let i=this.getConfigFileNameForFile({fileName:r.getConfigFilePath(),path:t.path,configFileInfo:!0});if(!i)return;let o=this.findConfiguredProjectByProjectName(i)||this.createConfiguredProjectWithDelayLoad(i,`Creating project possibly referencing default composite project ${r.getProjectName()} of open file ${t.fileName}`);o.isInitialLoadPending()&&o.setPotentialProjectReference(r.canonicalConfigFilePath),r=o}}loadAncestorProjectTree(t){t=t||NZ(this.configuredProjects,(i,o)=>o.isInitialLoadPending()?void 0:[i,!0]);let r=new Set;for(let i of bo(this.configuredProjects.values()))PMe(i,o=>t.has(o))&&up(i),this.ensureProjectChildren(i,t,r)}ensureProjectChildren(t,r,i){var o;if(!db(i,t.canonicalConfigFilePath)||t.getCompilerOptions().disableReferencedProjectLoad)return;let s=(o=t.getCurrentProgram())==null?void 0:o.getResolvedProjectReferences();if(s)for(let l of s){if(!l)continue;let d=MH(l.references,m=>r.has(m.sourceFile.path)?m:void 0);if(!d)continue;let p=js(l.sourceFile.fileName),h=t.projectService.findConfiguredProjectByProjectName(p)||t.projectService.createAndLoadConfiguredProject(p,`Creating project referenced by : ${t.projectName} as it references project ${d.sourceFile.fileName}`);up(h),this.ensureProjectChildren(h,r,i)}}cleanupAfterOpeningFile(t){this.removeOrphanConfiguredProjects(t);for(let r of this.inferredProjects.slice())r.isOrphan()&&this.removeProject(r);this.removeOrphanScriptInfos()}openClientFileWithNormalizedPath(t,r,i,o,s){let l=this.getOrCreateOpenScriptInfo(t,r,i,o,s),{retainProjects:d,...p}=this.assignProjectToOpenedScriptInfo(l);return this.cleanupAfterOpeningFile(d),this.telemetryOnOpenFile(l),this.printProjects(),p}removeOrphanConfiguredProjects(t){let r=new Map(this.configuredProjects),i=l=>{!l.isOrphan()&&l.originalConfiguredProjects&&l.originalConfiguredProjects.forEach((d,p)=>{let h=this.getConfiguredProjectByCanonicalConfigFilePath(p);return h&&s(h)})};t&&(oo(t)?t.forEach(s):s(t)),this.inferredProjects.forEach(i),this.externalProjects.forEach(i),this.configuredProjects.forEach(l=>{l.hasOpenRef()?s(l):r.has(l.canonicalConfigFilePath)&&MMe(l,d=>o(d)&&s(l))}),r.forEach(l=>this.removeProject(l));function o(l){return l.hasOpenRef()||!r.has(l.canonicalConfigFilePath)}function s(l){r.delete(l.canonicalConfigFilePath)&&(i(l),MMe(l,s))}}removeOrphanScriptInfos(){let t=new Map(this.filenameToScriptInfo);this.filenameToScriptInfo.forEach(r=>{if(!r.isScriptOpen()&&r.isOrphan()&&!r.isContainedByBackgroundProject()){if(!r.sourceMapFilePath)return;let i;if(fo(r.sourceMapFilePath)){let o=this.getScriptInfoForPath(r.sourceMapFilePath);i=o&&o.sourceInfos}else i=r.sourceMapFilePath.sourceInfos;if(!i||!O_(i,o=>{let s=this.getScriptInfoForPath(o);return!!s&&(s.isScriptOpen()||!s.isOrphan())}))return}if(t.delete(r.path),r.sourceMapFilePath){let i;if(fo(r.sourceMapFilePath)){t.delete(r.sourceMapFilePath);let o=this.getScriptInfoForPath(r.sourceMapFilePath);i=o&&o.sourceInfos}else i=r.sourceMapFilePath.sourceInfos;i&&i.forEach((o,s)=>t.delete(s))}}),t.forEach(r=>{this.stopWatchingScriptInfo(r),this.deleteScriptInfo(r),r.closeSourceMapFileWatcher()})}telemetryOnOpenFile(t){if(this.serverMode!==0||!this.eventHandler||!t.isJavaScript()||!Jf(this.allJsFilesForOpenFileTelemetry,t.path))return;let r=this.ensureDefaultProjectForFile(t);if(!r.languageServiceEnabled)return;let i=r.getSourceFile(t.path),o=!!i&&!!i.checkJsDirective;this.eventHandler({eventName:v$,data:{info:{checkJs:o}}})}closeClientFile(t,r){let i=this.getScriptInfoForNormalizedPath(js(t)),o=i?this.closeOpenFile(i,r):!1;return r||this.printProjects(),o}collectChanges(t,r,i,o){for(let s of r){let l=Dr(t,d=>d.projectName===s.getProjectName());o.push(s.getChangesSinceVersion(l&&l.version,i))}}synchronizeProjectList(t,r){let i=[];return this.collectChanges(t,this.externalProjects,r,i),this.collectChanges(t,this.configuredProjects.values(),r,i),this.collectChanges(t,this.inferredProjects,r,i),i}applyChangesInOpenFiles(t,r,i){let o,s=!1;if(t)for(let d of t){let p=this.getOrCreateOpenScriptInfo(js(d.fileName),d.content,_$(d.scriptKind),d.hasMixedContent,d.projectRootPath?js(d.projectRootPath):void 0);(o||(o=[])).push(p)}if(r)for(let d of r){let p=this.getScriptInfo(d.fileName);x.assert(!!p),this.applyChangesToFile(p,d.changes)}if(i)for(let d of i)s=this.closeClientFile(d,!0)||s;let l;o&&(l=ta(o,d=>this.assignProjectToOpenedScriptInfo(d).retainProjects)),s&&this.assignOrphanScriptInfosToInferredProject(),o?(this.cleanupAfterOpeningFile(l),o.forEach(d=>this.telemetryOnOpenFile(d)),this.printProjects()):yn(i)&&this.printProjects()}applyChangesToFile(t,r){for(let i of r)t.editContent(i.span.start,i.span.start+i.span.length,i.newText)}closeConfiguredProjectReferencedFromExternalProject(t){t?.forEach(r=>{r.isClosed()||(r.deleteExternalProjectReference(),r.hasOpenRef()||this.removeProject(r))})}closeExternalProject(t,r){let i=js(t),o=this.externalProjectToConfiguredProjectMap.get(i);if(o)this.closeConfiguredProjectReferencedFromExternalProject(o),this.externalProjectToConfiguredProjectMap.delete(i);else{let s=this.findExternalProjectByProjectName(t);s&&this.removeProject(s)}r&&this.printProjects()}openExternalProjects(t){let r=PE(this.externalProjects,i=>i.getProjectName(),i=>!0);O_(this.externalProjectToConfiguredProjectMap,i=>{r.set(i,!0)});for(let i of t)this.openExternalProject(i,!1),r.delete(i.projectFileName);O_(r,i=>{this.closeExternalProject(i,!1)}),this.printProjects()}static escapeFilenameForRegex(t){return t.replace(this.filenameEscapeRegexp,\"\\\\$&\")}resetSafeList(){this.safelist=y$}applySafeList(t){let r=t.typeAcquisition;x.assert(!!r,\"proj.typeAcquisition should be set by now\");let i=this.applySafeListWorker(t,t.rootFiles,r);return i?.excludedFiles??[]}applySafeListWorker(t,r,i){if(i.enable===!1||i.disableFilenameBasedTypeAcquisition)return;let o=i.include||(i.include=[]),s=[],l=r.map(v=>ad(v.fileName));for(let v of Object.keys(this.safelist)){let E=this.safelist[v];for(let S of l)if(E.match.test(S)){if(this.logger.info(`Excluding files based on rule ${v} matching file '${S}'`),E.types)for(let A of E.types)o.includes(A)||o.push(A);if(E.exclude)for(let A of E.exclude){let C=S.replace(E.match,(...R)=>A.map(L=>typeof L==\"number\"?fo(R[L])?eve.escapeFilenameForRegex(R[L]):(this.logger.info(`Incorrect RegExp specification in safelist rule ${v} - not enough groups`),\"\\\\*\"):L).join(\"\"));s.includes(C)||s.push(C)}else{let A=eve.escapeFilenameForRegex(S);s.includes(A)||s.push(A)}}}let d=s.map(v=>new RegExp(v,\"i\")),p,h;for(let v=0;v<r.length;v++)if(d.some(E=>E.test(l[v])))m(v);else{if(i.enable){let E=Ll(C_(l[v]));if(el(E,\"js\")){let S=Yd(E),A=dB(S),C=this.legacySafelist.get(A);if(C!==void 0){this.logger.info(`Excluded '${l[v]}' because it matched ${A} from the legacy safelist`),m(v),o.includes(C)||o.push(C);continue}}}/^.+[.-]min\\.js$/.test(l[v])?m(v):p?.push(r[v])}return h?{rootFiles:p,excludedFiles:h}:void 0;function m(v){h||(x.assert(!p),p=r.slice(0,v),h=[]),h.push(l[v])}}openExternalProject(t,r){let i=this.findExternalProjectByProjectName(t.projectFileName),o=this.externalProjectToConfiguredProjectMap.get(t.projectFileName),s,l=[];for(let d of t.rootFiles){let p=js(d.fileName);if(n$(p)){if(this.serverMode===0&&this.host.fileExists(p)){let h=this.findConfiguredProjectByProjectName(p);h||(h=this.getHostPreferences().lazyConfiguredProjectsFromExternalProject?this.createConfiguredProjectWithDelayLoad(p,`Creating configured project in external project: ${t.projectFileName}`):this.createLoadAndUpdateConfiguredProject(p,`Creating configured project in external project: ${t.projectFileName}`)),o?.has(h)||h.addExternalProjectReference(),(s??(s=new Set)).add(h),o?.delete(h)}}else l.push(d)}if(s)this.externalProjectToConfiguredProjectMap.set(t.projectFileName,s),i&&this.removeProject(i);else{this.externalProjectToConfiguredProjectMap.delete(t.projectFileName);let d=t.typeAcquisition||{};d.include=d.include||[],d.exclude=d.exclude||[],d.enable===void 0&&(d.enable=Yfe(l.map(m=>m.fileName)));let p=this.applySafeListWorker(t,l,d),h=p?.excludedFiles??[];if(l=p?.rootFiles??l,i){i.excludedFiles=h;let m=a7(t.options),v=JO(t.options,i.getCurrentDirectory()),E=this.getFilenameForExceededTotalSizeLimitForNonTsFiles(t.projectFileName,m,l,y7);E?i.disableLanguageService(E):i.enableLanguageService(),i.setProjectErrors(v?.errors),this.updateRootAndOptionsOfNonInferredProject(i,l,y7,m,d,t.options.compileOnSave,v?.watchOptions),i.updateGraph()}else this.createExternalProject(t.projectFileName,l,t.options,d,h).updateGraph()}this.closeConfiguredProjectReferencedFromExternalProject(o),r&&this.printProjects()}hasDeferredExtension(){for(let t of this.hostConfiguration.extraFileExtensions)if(t.scriptKind===7)return!0;return!1}requestEnablePlugin(t,r,i){if(!this.host.importPlugin&&!this.host.require){this.logger.info(\"Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded\");return}if(this.logger.info(`Enabling plugin ${r.name} from candidate paths: ${i.join(\",\")}`),!r.name||ik(r.name).rest){this.logger.info(`Skipped loading plugin ${r.name||JSON.stringify(r)} because only package name is allowed plugin name`);return}if(this.host.importPlugin){let o=_T.importServicePluginAsync(r,i,this.host,l=>this.logger.info(l));this.pendingPluginEnablements??(this.pendingPluginEnablements=new Map);let s=this.pendingPluginEnablements.get(t);s||this.pendingPluginEnablements.set(t,s=[]),s.push(o);return}this.endEnablePlugin(t,_T.importServicePluginSync(r,i,this.host,o=>this.logger.info(o)))}endEnablePlugin(t,{pluginConfigEntry:r,resolvedModule:i,errorLogs:o}){var s;if(i){let l=(s=this.currentPluginConfigOverrides)==null?void 0:s.get(r.name);if(l){let d=r.name;r=l,r.name=d}t.enableProxy(i,r)}else an(o,l=>this.logger.info(l)),this.logger.info(`Couldn't find ${r.name}`)}hasNewPluginEnablementRequests(){return!!this.pendingPluginEnablements}hasPendingPluginEnablements(){return!!this.currentPluginEnablementPromise}async waitForPendingPlugins(){for(;this.currentPluginEnablementPromise;)await this.currentPluginEnablementPromise}enableRequestedPlugins(){this.pendingPluginEnablements&&this.enableRequestedPluginsAsync()}async enableRequestedPluginsAsync(){if(this.currentPluginEnablementPromise&&await this.waitForPendingPlugins(),!this.pendingPluginEnablements)return;let t=bo(this.pendingPluginEnablements.entries());this.pendingPluginEnablements=void 0,this.currentPluginEnablementPromise=this.enableRequestedPluginsWorker(t),await this.currentPluginEnablementPromise}async enableRequestedPluginsWorker(t){x.assert(this.currentPluginEnablementPromise===void 0),await Promise.all(nn(t,([r,i])=>this.enableRequestedPluginsForProjectAsync(r,i))),this.currentPluginEnablementPromise=void 0,this.sendProjectsUpdatedInBackgroundEvent()}async enableRequestedPluginsForProjectAsync(t,r){let i=await Promise.all(r);if(!t.isClosed()){for(let o of i)this.endEnablePlugin(t,o);this.delayUpdateProjectGraph(t)}}configurePlugin(t){this.forEachEnabledProject(r=>r.onPluginConfigurationChanged(t.pluginName,t.configuration)),this.currentPluginConfigOverrides=this.currentPluginConfigOverrides||new Map,this.currentPluginConfigOverrides.set(t.pluginName,t.configuration)}getPackageJsonsVisibleToFile(t,r,i){let o=this.packageJsonCache,s=i&&this.toPath(i),l=[],d=p=>{switch(o.directoryHasPackageJson(p)){case 3:return o.searchDirectoryAndAncestors(p),d(p);case-1:let h=wr(p,\"package.json\");this.watchPackageJsonFile(h,this.toPath(h),r);let m=o.getInDirectory(p);m&&l.push(m)}if(s&&s===p)return!0};return Vf(Ur(t),d),l}getNearestAncestorDirectoryWithPackageJson(t){return Vf(t,r=>{switch(this.packageJsonCache.directoryHasPackageJson(r)){case-1:return r;case 0:return;case 3:return this.host.fileExists(wr(r,\"package.json\"))?r:void 0}})}watchPackageJsonFile(t,r,i){x.assert(i!==void 0);let o=(this.packageJsonFilesMap??(this.packageJsonFilesMap=new Map)).get(r);if(!o){let s=this.watchFactory.watchFile(t,(l,d)=>{switch(d){case 0:return x.fail();case 1:this.packageJsonCache.addOrUpdate(l,r),this.onPackageJsonChange(o);break;case 2:this.packageJsonCache.delete(r),this.onPackageJsonChange(o),o.projects.clear(),o.close()}},250,this.hostConfiguration.watchOptions,dc.PackageJson);o={projects:new Set,close:()=>{var l;o.projects.size||!s||(s.close(),s=void 0,(l=this.packageJsonFilesMap)==null||l.delete(r),this.packageJsonCache.invalidate(r))}},this.packageJsonFilesMap.set(r,o)}o.projects.add(i),(i.packageJsonWatches??(i.packageJsonWatches=new Set)).add(o)}onPackageJsonChange(t){t.projects.forEach(r=>{var i;return(i=r.onPackageJsonChange)==null?void 0:i.call(r)})}includePackageJsonAutoImports(){switch(this.hostConfiguration.preferences.includePackageJsonAutoImports){case\"on\":return 1;case\"off\":return 0;default:return 2}}getIncompleteCompletionsCache(){return this.incompleteCompletionsCache||(this.incompleteCompletionsCache=eet())}},lme.filenameEscapeRegexp=/[-/\\\\^$*+?.()|[\\]{}]/g,S$=lme}});function cme(e){let t,r,i,o={get(p,h,m,v){if(!(!r||i!==l(p,m,v)))return r.get(h)},set(p,h,m,v,E,S){if(s(p,m,v).set(h,d(E,S,!1)),S){for(let A of E)if(A.isInNodeModules){let C=A.path.substring(0,A.path.indexOf(q_)+q_.length-1),R=e.toPath(C);t?.has(R)||(t||(t=new Map)).set(R,e.watchNodeModulesForPackageJsonChanges(C))}}},setModulePaths(p,h,m,v,E){let S=s(p,m,v),A=S.get(h);A?A.modulePaths=E:S.set(h,d(E,void 0,void 0))},setBlockedByPackageJsonDependencies(p,h,m,v,E){let S=s(p,m,v),A=S.get(h);A?A.isBlockedByPackageJsonDependencies=E:S.set(h,d(void 0,void 0,E))},clear(){t?.forEach(vm),r?.clear(),t?.clear(),i=void 0},count(){return r?r.size:0}};return x.isDebugging&&Object.defineProperty(o,\"__cache\",{get:()=>r}),o;function s(p,h,m){let v=l(p,h,m);return r&&i!==v&&o.clear(),i=v,r||(r=new Map)}function l(p,h,m){return`${p},${h.importModuleSpecifierEnding},${h.importModuleSpecifierPreference},${m.overrideImportMode}`}function d(p,h,m){return{modulePaths:p,moduleSpecifiers:h,isBlockedByPackageJsonDependencies:m}}}var net=pt({\"src/server/moduleSpecifierCache.ts\"(){\"use strict\";Ty()}});function dme(e){let t=new Map,r=new Map;return{addOrUpdate:i,invalidate:o,delete:l=>{t.delete(l),r.set(Ur(l),!0)},getInDirectory:l=>t.get(e.toPath(wr(l,\"package.json\")))||void 0,directoryHasPackageJson:l=>s(e.toPath(l)),searchDirectoryAndAncestors:l=>{Vf(l,d=>{let p=e.toPath(d);if(s(p)!==3)return!0;let h=wr(d,\"package.json\");eO(e,h)?i(h,wr(p,\"package.json\")):r.set(p,!0)})}};function i(l,d){let p=x.checkDefined(DJ(l,e.host));t.set(d,p),r.delete(Ur(d))}function o(l){t.delete(l),r.delete(Ur(l))}function s(l){return t.has(wr(l,\"package.json\"))?-1:r.has(l)?0:3}}var ret=pt({\"src/server/packageJsonCache.ts\"(){\"use strict\";Ty()}});function iet(e){let t=e[0],r=e[1];return(1e9*t+r)/1e6}function WMe(e,t){if((FR(e)||c$(e))&&e.isJsOnlyProject()){let r=e.getScriptInfoForNormalizedPath(t);return r&&!r.isJavaScript()}return!1}function oet(e){return Xp(e)||!!e.emitDecoratorMetadata}function FMe(e,t,r){let i=t.getScriptInfoForNormalizedPath(e);return{start:i.positionToLineOffset(r.start),end:i.positionToLineOffset(r.start+r.length),text:a_(r.messageText,`\n`),code:r.code,category:_S(r),reportsUnnecessary:r.reportsUnnecessary,reportsDeprecated:r.reportsDeprecated,source:r.source,relatedInformation:nn(r.relatedInformation,T$)}}function T$(e){return e.file?{span:{start:XO($a(e.file,e.start)),end:XO($a(e.file,e.start+e.length)),file:e.file.fileName},message:a_(e.messageText,`\n`),category:_S(e),code:e.code}:{message:a_(e.messageText,`\n`),category:_S(e),code:e.code}}function XO(e){return{line:e.line+1,offset:e.character+1}}function YO(e,t){let r=e.file&&XO($a(e.file,e.start)),i=e.file&&XO($a(e.file,e.start+e.length)),o=a_(e.messageText,`\n`),{code:s,source:l}=e,d=_S(e),p={start:r,end:i,text:o,code:s,category:d,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated,source:l,relatedInformation:nn(e.relatedInformation,T$)};return t?{...p,fileName:e.file&&e.file.fileName}:p}function aet(e,t){return e.every(r=>Al(r.span)<t)}function ume(e,t,r,i){let o=t.hasLevel(3),s=JSON.stringify(e);return o&&t.info(`${e.type}:${Ub(e)}`),`Content-Length: ${1+r(s,\"utf8\")}\\r\n\\r\n${s}${i}`}function pme(e,t){return{seq:0,type:\"event\",event:e,body:t}}function set(e,t,r,i){let o=wD(oo(r)?r:r.projects,s=>i(s,e));return!oo(r)&&r.symLinkedProjects&&r.symLinkedProjects.forEach((s,l)=>{let d=t(l);o.push(...ta(s,p=>i(p,d)))}),NE(o,Hg)}function A$(e){return lB(({textSpan:t})=>t.start+100003*t.length,fJ(e))}function cet(e,t,r,i,o,s,l){let d=zMe(e,t,r,!0,(m,v)=>m.getLanguageService().findRenameLocations(v.fileName,v.pos,i,o,s),(m,v)=>v(bP(m)));if(oo(d))return d;let p=[],h=A$(l);return d.forEach((m,v)=>{for(let E of m)!h.has(E)&&!I$(bP(E),v)&&(p.push(E),h.add(E))}),p}function det(e,t,r){let i=e.getLanguageService().getDefinitionAtPosition(t.fileName,t.pos,!1,r),o=i&&Ac(i);return o&&!o.isLocal?{fileName:o.fileName,pos:o.textSpan.start}:void 0}function uet(e,t,r,i,o){var s,l;let d=zMe(e,t,r,!1,(v,E)=>(o.info(`Finding references to ${E.fileName} position ${E.pos} in project ${v.getProjectName()}`),v.getLanguageService().findReferences(E.fileName,E.pos)),(v,E)=>{E(bP(v.definition));for(let S of v.references)E(bP(S))});if(oo(d))return d;let p=d.get(t);if(((l=(s=p?.[0])==null?void 0:s.references[0])==null?void 0:l.isDefinition)===void 0)d.forEach(v=>{for(let E of v)for(let S of E.references)delete S.isDefinition});else{let v=A$(i);for(let S of p)for(let A of S.references)if(A.isDefinition){v.add(A);break}let E=new Set;for(;;){let S=!1;if(d.forEach((A,C)=>{if(E.has(C))return;C.getLanguageService().updateIsDefinitionOfReferencedSymbols(A,v)&&(E.add(C),S=!0)}),!S)break}d.forEach((S,A)=>{if(!E.has(A))for(let C of S)for(let R of C.references)R.isDefinition=!1})}let h=[],m=A$(i);return d.forEach((v,E)=>{for(let S of v){let A=I$(bP(S.definition),E),C=A===void 0?S.definition:{...S.definition,textSpan:qc(A.pos,S.definition.textSpan.length),fileName:A.fileName,contextSpan:met(S.definition,E)},R=Dr(h,L=>pJ(L.definition,C,i));R||(R={definition:C,references:[]},h.push(R));for(let L of S.references)!m.has(L)&&!I$(bP(L),E)&&(m.add(L),R.references.push(L))}}),h.filter(v=>v.references.length!==0)}function fme(e,t,r){for(let i of oo(e)?e:e.projects)r(i,t);!oo(e)&&e.symLinkedProjects&&e.symLinkedProjects.forEach((i,o)=>{for(let s of i)r(s,o)})}function zMe(e,t,r,i,o,s){let l=new Map,d=mM();d.enqueue({project:t,location:r}),fme(e,r.fileName,(C,R)=>{let L={fileName:R,pos:r.pos};d.enqueue({project:C,location:L})});let p=t.projectService,h=t.getCancellationToken(),m=det(t,r,i),v=Kd(()=>t.isSourceOfProjectReferenceRedirect(m.fileName)?m:t.getLanguageService().getSourceMapper().tryGetGeneratedPosition(m)),E=Kd(()=>t.isSourceOfProjectReferenceRedirect(m.fileName)?m:t.getLanguageService().getSourceMapper().tryGetSourcePosition(m)),S=new Set;e:for(;!d.isEmpty();){for(;!d.isEmpty();){if(h.isCancellationRequested())break e;let{project:C,location:R}=d.dequeue();if(l.has(C)||BMe(C,R)||(up(C),!C.containsFile(js(R.fileName))))continue;let L=A(C,R);l.set(C,L??ql),S.add(fet(C))}m&&(p.loadAncestorProjectTree(S),p.forEachEnabledProject(C=>{if(h.isCancellationRequested()||l.has(C))return;let R=pet(m,C,v,E);R&&d.enqueue({project:C,location:R})}))}if(l.size===1)return rB(l.values());return l;function A(C,R){let L=o(C,R);if(L){for(let G of L)s(G,U=>{let K=p.getOriginalLocationEnsuringConfiguredProject(C,U);if(!K)return;let F=p.getScriptInfo(K.fileName);for(let W of F.containingProjects)!W.isOrphan()&&!l.has(W)&&d.enqueue({project:W,location:K});let oe=p.getSymlinkedProjects(F);oe&&oe.forEach((W,$)=>{for(let de of W)!de.isOrphan()&&!l.has(de)&&d.enqueue({project:de,location:{fileName:$,pos:K.pos}})})});return L}}}function pet(e,t,r,i){if(t.containsFile(js(e.fileName))&&!BMe(t,e))return e;let o=r();if(o&&t.containsFile(js(o.fileName)))return o;let s=i();return s&&t.containsFile(js(s.fileName))?s:void 0}function BMe(e,t){if(!t)return!1;let r=e.getLanguageService().getProgram();if(!r)return!1;let i=r.getSourceFile(t.fileName);return!!i&&i.resolvedPath!==i.path&&i.resolvedPath!==e.toPath(t.fileName)}function fet(e){return Yb(e)?e.canonicalConfigFilePath:e.getProjectName()}function bP({fileName:e,textSpan:t}){return{fileName:e,pos:t.start}}function I$(e,t){return ZN(e,t.getSourceMapper(),r=>t.projectService.fileExists(r))}function GMe(e,t){return P3(e,t.getSourceMapper(),r=>t.projectService.fileExists(r))}function met(e,t){return _J(e,t.getSourceMapper(),r=>t.projectService.fileExists(r))}function K_(e,t){return{start:t.positionToLineOffset(e.start),end:t.positionToLineOffset(Al(e))}}function mme(e,t,r){let i=K_(e,r),o=t&&K_(t,r);return o?{...i,contextStart:o.start,contextEnd:o.end}:i}function _et(e,t){return{start:VMe(t,e.span.start),end:VMe(t,Al(e.span)),newText:e.newText}}function VMe(e,t){return ome(e)?get(e.getLineAndCharacterOfPosition(t)):e.positionToLineOffset(t)}function het(e,t){let r=e.ranges.map(i=>({start:t.positionToLineOffset(i.start),end:t.positionToLineOffset(i.start+i.length)}));return e.wordPattern?{ranges:r,wordPattern:e.wordPattern}:{ranges:r}}function get(e){return{line:e.line+1,offset:e.character+1}}function vet(e){x.assert(e.textChanges.length===1);let t=Ta(e.textChanges);return x.assert(t.span.start===0&&t.span.length===0),{fileName:e.fileName,textChanges:[{start:{line:0,offset:0},end:{line:0,offset:0},newText:t.newText}]}}function _me(e,t,r,i){let o=yet(e,t,i),{line:s,character:l}=W1(IA(o),r);return{line:s+1,offset:l+1}}function yet(e,t,r){for(let{fileName:i,textChanges:o}of r)if(i===t)for(let s=o.length-1;s>=0;s--){let{newText:l,span:{start:d,length:p}}=o[s];e=e.slice(0,d)+l+e.slice(d+p)}return e}function jMe(e,{fileName:t,textSpan:r,contextSpan:i,isWriteAccess:o,isDefinition:s},{disableLineTextInReferences:l}){let d=x.checkDefined(e.getScriptInfo(t)),p=mme(r,i,d),h=l?void 0:bet(d,p);return{file:t,...p,lineText:h,isWriteAccess:o,isDefinition:s}}function bet(e,t){let r=e.lineToTextSpan(t.start.line-1);return e.getSnapshot().getText(r.start,Al(r)).replace(/\\r|\\n/g,\"\")}function Eet(e){return e===void 0||e&&typeof e==\"object\"&&typeof e.exportName==\"string\"&&(e.fileName===void 0||typeof e.fileName==\"string\")&&(e.ambientModuleName===void 0||typeof e.ambientModuleName==\"string\"&&(e.isPackageJsonImport===void 0||typeof e.isPackageJsonImport==\"boolean\"))}var hme,gme,UMe,vme,HMe,yme,Tet=pt({\"src/server/session.ts\"(){\"use strict\";Ty(),hT(),qfe(),hme={isCancellationRequested:()=>!1,setRequest:()=>{},resetRequest:()=>{}},gme=o$,UMe=class{constructor(e){this.operationHost=e}startNew(e){this.complete(),this.requestId=this.operationHost.getCurrentRequestId(),this.executeAction(e)}complete(){this.requestId!==void 0&&(this.operationHost.sendRequestCompletedEvent(this.requestId),this.requestId=void 0),this.setTimerHandle(void 0),this.setImmediateId(void 0)}immediate(e,t){let r=this.requestId;x.assert(r===this.operationHost.getCurrentRequestId(),\"immediate: incorrect request id\"),this.setImmediateId(this.operationHost.getServerHost().setImmediate(()=>{this.immediateId=void 0,this.operationHost.executeWithRequestId(r,()=>this.executeAction(t))},e))}delay(e,t,r){let i=this.requestId;x.assert(i===this.operationHost.getCurrentRequestId(),\"delay: incorrect request id\"),this.setTimerHandle(this.operationHost.getServerHost().setTimeout(()=>{this.timerHandle=void 0,this.operationHost.executeWithRequestId(i,()=>this.executeAction(r))},t,e))}executeAction(e){var t,r,i,o,s,l;let d=!1;try{this.operationHost.isCancellationRequested()?(d=!0,(t=qn)==null||t.instant(qn.Phase.Session,\"stepCanceled\",{seq:this.requestId,early:!0})):((r=qn)==null||r.push(qn.Phase.Session,\"stepAction\",{seq:this.requestId}),e(this),(i=qn)==null||i.pop())}catch(p){(o=qn)==null||o.popAll(),d=!0,p instanceof k1?(s=qn)==null||s.instant(qn.Phase.Session,\"stepCanceled\",{seq:this.requestId}):((l=qn)==null||l.instant(qn.Phase.Session,\"stepError\",{seq:this.requestId,message:p.message}),this.operationHost.logError(p,`delayed processing of request ${this.requestId}`))}(d||!this.hasPendingWork())&&this.complete()}setTimerHandle(e){this.timerHandle!==void 0&&this.operationHost.getServerHost().clearTimeout(this.timerHandle),this.timerHandle=e}setImmediateId(e){this.immediateId!==void 0&&this.operationHost.getServerHost().clearImmediate(this.immediateId),this.immediateId=e}hasPendingWork(){return!!this.timerHandle||!!this.immediateId}},vme=[\"openExternalProject\",\"openExternalProjects\",\"closeExternalProject\",\"synchronizeProjectList\",\"emit-output\",\"compileOnSaveAffectedFileList\",\"compileOnSaveEmitFile\",\"compilerOptionsDiagnostics-full\",\"encodedSemanticClassifications-full\",\"semanticDiagnosticsSync\",\"suggestionDiagnosticsSync\",\"geterrForProject\",\"reload\",\"reloadProjects\",\"getCodeFixes\",\"getCodeFixes-full\",\"getCombinedCodeFix\",\"getCombinedCodeFix-full\",\"applyCodeActionCommand\",\"getSupportedCodeFixes\",\"getApplicableRefactors\",\"getMoveToRefactoringFileSuggestions\",\"getEditsForRefactor\",\"getEditsForRefactor-full\",\"organizeImports\",\"organizeImports-full\",\"getEditsForFileRename\",\"getEditsForFileRename-full\",\"prepareCallHierarchy\",\"provideCallHierarchyIncomingCalls\",\"provideCallHierarchyOutgoingCalls\"],HMe=[...vme,\"definition\",\"definition-full\",\"definitionAndBoundSpan\",\"definitionAndBoundSpan-full\",\"typeDefinition\",\"implementation\",\"implementation-full\",\"references\",\"references-full\",\"rename\",\"renameLocations-full\",\"rename-full\",\"quickinfo\",\"quickinfo-full\",\"completionInfo\",\"completions\",\"completions-full\",\"completionEntryDetails\",\"completionEntryDetails-full\",\"signatureHelp\",\"signatureHelp-full\",\"navto\",\"navto-full\",\"documentHighlights\",\"documentHighlights-full\"],yme=class xZ{constructor(t){this.changeSeq=0,this.handlers=new Map(Object.entries({status:()=>{let s={version:bp};return this.requiredResponse(s)},openExternalProject:s=>(this.projectService.openExternalProject(s.arguments,!0),this.requiredResponse(!0)),openExternalProjects:s=>(this.projectService.openExternalProjects(s.arguments.projects),this.requiredResponse(!0)),closeExternalProject:s=>(this.projectService.closeExternalProject(s.arguments.projectFileName,!0),this.requiredResponse(!0)),synchronizeProjectList:s=>{let l=this.projectService.synchronizeProjectList(s.arguments.knownProjects,s.arguments.includeProjectReferenceRedirectInfo);if(!l.some(p=>p.projectErrors&&p.projectErrors.length!==0))return this.requiredResponse(l);let d=nn(l,p=>!p.projectErrors||p.projectErrors.length===0?p:{info:p.info,changes:p.changes,files:p.files,projectErrors:this.convertToDiagnosticsWithLinePosition(p.projectErrors,void 0)});return this.requiredResponse(d)},updateOpen:s=>(this.changeSeq++,this.projectService.applyChangesInOpenFiles(s.arguments.openFiles&&OD(s.arguments.openFiles,l=>({fileName:l.file,content:l.fileContent,scriptKind:l.scriptKindName,projectRootPath:l.projectRootPath})),s.arguments.changedFiles&&OD(s.arguments.changedFiles,l=>({fileName:l.fileName,changes:WD(tB(l.textChanges),d=>{let p=x.checkDefined(this.projectService.getScriptInfo(l.fileName)),h=p.lineOffsetToPosition(d.start.line,d.start.offset),m=p.lineOffsetToPosition(d.end.line,d.end.offset);return h>=0?{span:{start:h,length:m-h},newText:d.newText}:void 0})})),s.arguments.closedFiles),this.requiredResponse(!0)),applyChangedToOpenFiles:s=>(this.changeSeq++,this.projectService.applyChangesInOpenFiles(s.arguments.openFiles,s.arguments.changedFiles&&OD(s.arguments.changedFiles,l=>({fileName:l.fileName,changes:tB(l.changes)})),s.arguments.closedFiles),this.requiredResponse(!0)),exit:()=>(this.exit(),this.notRequired()),definition:s=>this.requiredResponse(this.getDefinition(s.arguments,!0)),\"definition-full\":s=>this.requiredResponse(this.getDefinition(s.arguments,!1)),definitionAndBoundSpan:s=>this.requiredResponse(this.getDefinitionAndBoundSpan(s.arguments,!0)),\"definitionAndBoundSpan-full\":s=>this.requiredResponse(this.getDefinitionAndBoundSpan(s.arguments,!1)),findSourceDefinition:s=>this.requiredResponse(this.findSourceDefinition(s.arguments)),\"emit-output\":s=>this.requiredResponse(this.getEmitOutput(s.arguments)),typeDefinition:s=>this.requiredResponse(this.getTypeDefinition(s.arguments)),implementation:s=>this.requiredResponse(this.getImplementation(s.arguments,!0)),\"implementation-full\":s=>this.requiredResponse(this.getImplementation(s.arguments,!1)),references:s=>this.requiredResponse(this.getReferences(s.arguments,!0)),\"references-full\":s=>this.requiredResponse(this.getReferences(s.arguments,!1)),rename:s=>this.requiredResponse(this.getRenameLocations(s.arguments,!0)),\"renameLocations-full\":s=>this.requiredResponse(this.getRenameLocations(s.arguments,!1)),\"rename-full\":s=>this.requiredResponse(this.getRenameInfo(s.arguments)),open:s=>(this.openClientFile(js(s.arguments.file),s.arguments.fileContent,h$(s.arguments.scriptKindName),s.arguments.projectRootPath?js(s.arguments.projectRootPath):void 0),this.notRequired()),quickinfo:s=>this.requiredResponse(this.getQuickInfoWorker(s.arguments,!0)),\"quickinfo-full\":s=>this.requiredResponse(this.getQuickInfoWorker(s.arguments,!1)),getOutliningSpans:s=>this.requiredResponse(this.getOutliningSpans(s.arguments,!0)),outliningSpans:s=>this.requiredResponse(this.getOutliningSpans(s.arguments,!1)),todoComments:s=>this.requiredResponse(this.getTodoComments(s.arguments)),indentation:s=>this.requiredResponse(this.getIndentation(s.arguments)),nameOrDottedNameSpan:s=>this.requiredResponse(this.getNameOrDottedNameSpan(s.arguments)),breakpointStatement:s=>this.requiredResponse(this.getBreakpointStatement(s.arguments)),braceCompletion:s=>this.requiredResponse(this.isValidBraceCompletion(s.arguments)),docCommentTemplate:s=>this.requiredResponse(this.getDocCommentTemplate(s.arguments)),getSpanOfEnclosingComment:s=>this.requiredResponse(this.getSpanOfEnclosingComment(s.arguments)),fileReferences:s=>this.requiredResponse(this.getFileReferences(s.arguments,!0)),\"fileReferences-full\":s=>this.requiredResponse(this.getFileReferences(s.arguments,!1)),format:s=>this.requiredResponse(this.getFormattingEditsForRange(s.arguments)),formatonkey:s=>this.requiredResponse(this.getFormattingEditsAfterKeystroke(s.arguments)),\"format-full\":s=>this.requiredResponse(this.getFormattingEditsForDocumentFull(s.arguments)),\"formatonkey-full\":s=>this.requiredResponse(this.getFormattingEditsAfterKeystrokeFull(s.arguments)),\"formatRange-full\":s=>this.requiredResponse(this.getFormattingEditsForRangeFull(s.arguments)),completionInfo:s=>this.requiredResponse(this.getCompletions(s.arguments,\"completionInfo\")),completions:s=>this.requiredResponse(this.getCompletions(s.arguments,\"completions\")),\"completions-full\":s=>this.requiredResponse(this.getCompletions(s.arguments,\"completions-full\")),completionEntryDetails:s=>this.requiredResponse(this.getCompletionEntryDetails(s.arguments,!1)),\"completionEntryDetails-full\":s=>this.requiredResponse(this.getCompletionEntryDetails(s.arguments,!0)),compileOnSaveAffectedFileList:s=>this.requiredResponse(this.getCompileOnSaveAffectedFileList(s.arguments)),compileOnSaveEmitFile:s=>this.requiredResponse(this.emitFile(s.arguments)),signatureHelp:s=>this.requiredResponse(this.getSignatureHelpItems(s.arguments,!0)),\"signatureHelp-full\":s=>this.requiredResponse(this.getSignatureHelpItems(s.arguments,!1)),\"compilerOptionsDiagnostics-full\":s=>this.requiredResponse(this.getCompilerOptionsDiagnostics(s.arguments)),\"encodedSyntacticClassifications-full\":s=>this.requiredResponse(this.getEncodedSyntacticClassifications(s.arguments)),\"encodedSemanticClassifications-full\":s=>this.requiredResponse(this.getEncodedSemanticClassifications(s.arguments)),cleanup:()=>(this.cleanup(),this.requiredResponse(!0)),semanticDiagnosticsSync:s=>this.requiredResponse(this.getSemanticDiagnosticsSync(s.arguments)),syntacticDiagnosticsSync:s=>this.requiredResponse(this.getSyntacticDiagnosticsSync(s.arguments)),suggestionDiagnosticsSync:s=>this.requiredResponse(this.getSuggestionDiagnosticsSync(s.arguments)),geterr:s=>(this.errorCheck.startNew(l=>this.getDiagnostics(l,s.arguments.delay,s.arguments.files)),this.notRequired()),geterrForProject:s=>(this.errorCheck.startNew(l=>this.getDiagnosticsForProject(l,s.arguments.delay,s.arguments.file)),this.notRequired()),change:s=>(this.change(s.arguments),this.notRequired()),configure:s=>(this.projectService.setHostConfiguration(s.arguments),this.doOutput(void 0,\"configure\",s.seq,!0),this.notRequired()),reload:s=>(this.reload(s.arguments,s.seq),this.requiredResponse({reloadFinished:!0})),saveto:s=>{let l=s.arguments;return this.saveToTmp(l.file,l.tmpfile),this.notRequired()},close:s=>{let l=s.arguments;return this.closeClientFile(l.file),this.notRequired()},navto:s=>this.requiredResponse(this.getNavigateToItems(s.arguments,!0)),\"navto-full\":s=>this.requiredResponse(this.getNavigateToItems(s.arguments,!1)),brace:s=>this.requiredResponse(this.getBraceMatching(s.arguments,!0)),\"brace-full\":s=>this.requiredResponse(this.getBraceMatching(s.arguments,!1)),navbar:s=>this.requiredResponse(this.getNavigationBarItems(s.arguments,!0)),\"navbar-full\":s=>this.requiredResponse(this.getNavigationBarItems(s.arguments,!1)),navtree:s=>this.requiredResponse(this.getNavigationTree(s.arguments,!0)),\"navtree-full\":s=>this.requiredResponse(this.getNavigationTree(s.arguments,!1)),documentHighlights:s=>this.requiredResponse(this.getDocumentHighlights(s.arguments,!0)),\"documentHighlights-full\":s=>this.requiredResponse(this.getDocumentHighlights(s.arguments,!1)),compilerOptionsForInferredProjects:s=>(this.setCompilerOptionsForInferredProjects(s.arguments),this.requiredResponse(!0)),projectInfo:s=>this.requiredResponse(this.getProjectInfo(s.arguments)),reloadProjects:()=>(this.projectService.reloadProjects(),this.notRequired()),jsxClosingTag:s=>this.requiredResponse(this.getJsxClosingTag(s.arguments)),linkedEditingRange:s=>this.requiredResponse(this.getLinkedEditingRange(s.arguments)),getCodeFixes:s=>this.requiredResponse(this.getCodeFixes(s.arguments,!0)),\"getCodeFixes-full\":s=>this.requiredResponse(this.getCodeFixes(s.arguments,!1)),getCombinedCodeFix:s=>this.requiredResponse(this.getCombinedCodeFix(s.arguments,!0)),\"getCombinedCodeFix-full\":s=>this.requiredResponse(this.getCombinedCodeFix(s.arguments,!1)),applyCodeActionCommand:s=>this.requiredResponse(this.applyCodeActionCommand(s.arguments)),getSupportedCodeFixes:s=>this.requiredResponse(this.getSupportedCodeFixes(s.arguments)),getApplicableRefactors:s=>this.requiredResponse(this.getApplicableRefactors(s.arguments)),getEditsForRefactor:s=>this.requiredResponse(this.getEditsForRefactor(s.arguments,!0)),getMoveToRefactoringFileSuggestions:s=>this.requiredResponse(this.getMoveToRefactoringFileSuggestions(s.arguments)),\"getEditsForRefactor-full\":s=>this.requiredResponse(this.getEditsForRefactor(s.arguments,!1)),organizeImports:s=>this.requiredResponse(this.organizeImports(s.arguments,!0)),\"organizeImports-full\":s=>this.requiredResponse(this.organizeImports(s.arguments,!1)),getEditsForFileRename:s=>this.requiredResponse(this.getEditsForFileRename(s.arguments,!0)),\"getEditsForFileRename-full\":s=>this.requiredResponse(this.getEditsForFileRename(s.arguments,!1)),configurePlugin:s=>(this.configurePlugin(s.arguments),this.doOutput(void 0,\"configurePlugin\",s.seq,!0),this.notRequired()),selectionRange:s=>this.requiredResponse(this.getSmartSelectionRange(s.arguments,!0)),\"selectionRange-full\":s=>this.requiredResponse(this.getSmartSelectionRange(s.arguments,!1)),prepareCallHierarchy:s=>this.requiredResponse(this.prepareCallHierarchy(s.arguments)),provideCallHierarchyIncomingCalls:s=>this.requiredResponse(this.provideCallHierarchyIncomingCalls(s.arguments)),provideCallHierarchyOutgoingCalls:s=>this.requiredResponse(this.provideCallHierarchyOutgoingCalls(s.arguments)),toggleLineComment:s=>this.requiredResponse(this.toggleLineComment(s.arguments,!0)),\"toggleLineComment-full\":s=>this.requiredResponse(this.toggleLineComment(s.arguments,!1)),toggleMultilineComment:s=>this.requiredResponse(this.toggleMultilineComment(s.arguments,!0)),\"toggleMultilineComment-full\":s=>this.requiredResponse(this.toggleMultilineComment(s.arguments,!1)),commentSelection:s=>this.requiredResponse(this.commentSelection(s.arguments,!0)),\"commentSelection-full\":s=>this.requiredResponse(this.commentSelection(s.arguments,!1)),uncommentSelection:s=>this.requiredResponse(this.uncommentSelection(s.arguments,!0)),\"uncommentSelection-full\":s=>this.requiredResponse(this.uncommentSelection(s.arguments,!1)),provideInlayHints:s=>this.requiredResponse(this.provideInlayHints(s.arguments))})),this.host=t.host,this.cancellationToken=t.cancellationToken,this.typingsInstaller=t.typingsInstaller||i7,this.byteLength=t.byteLength,this.hrtime=t.hrtime,this.logger=t.logger,this.canUseEvents=t.canUseEvents,this.suppressDiagnosticEvents=t.suppressDiagnosticEvents,this.noGetErrOnBackgroundUpdate=t.noGetErrOnBackgroundUpdate;let{throttleWaitMilliseconds:r}=t;this.eventHandler=this.canUseEvents?t.eventHandler||(s=>this.defaultEventHandler(s)):void 0;let i={executeWithRequestId:(s,l)=>this.executeWithRequestId(s,l),getCurrentRequestId:()=>this.currentRequestId,getServerHost:()=>this.host,logError:(s,l)=>this.logError(s,l),sendRequestCompletedEvent:s=>this.sendRequestCompletedEvent(s),isCancellationRequested:()=>this.cancellationToken.isCancellationRequested()};this.errorCheck=new UMe(i);let o={host:this.host,logger:this.logger,cancellationToken:this.cancellationToken,useSingleInferredProject:t.useSingleInferredProject,useInferredProjectPerProjectRoot:t.useInferredProjectPerProjectRoot,typingsInstaller:this.typingsInstaller,throttleWaitMilliseconds:r,eventHandler:this.eventHandler,suppressDiagnosticEvents:this.suppressDiagnosticEvents,globalPlugins:t.globalPlugins,pluginProbeLocations:t.pluginProbeLocations,allowLocalPluginLoads:t.allowLocalPluginLoads,typesMapLocation:t.typesMapLocation,serverMode:t.serverMode,session:this,canUseWatchEvents:t.canUseWatchEvents,incrementalVerifier:t.incrementalVerifier};switch(this.projectService=new S$(o),this.projectService.setPerformanceEventHandler(this.performanceEventHandler.bind(this)),this.gcTimer=new i$(this.host,7e3,this.logger),this.projectService.serverMode){case 0:break;case 1:vme.forEach(s=>this.handlers.set(s,l=>{throw new Error(`Request: ${l.command} not allowed in LanguageServiceMode.PartialSemantic`)}));break;case 2:HMe.forEach(s=>this.handlers.set(s,l=>{throw new Error(`Request: ${l.command} not allowed in LanguageServiceMode.Syntactic`)}));break;default:x.assertNever(this.projectService.serverMode)}}sendRequestCompletedEvent(t){this.event({request_seq:t},\"requestCompleted\")}addPerformanceData(t,r){this.performanceData||(this.performanceData={}),this.performanceData[t]=(this.performanceData[t]??0)+r}performanceEventHandler(t){switch(t.kind){case\"UpdateGraph\":this.addPerformanceData(\"updateGraphDurationMs\",t.durationMs);break;case\"CreatePackageJsonAutoImportProvider\":this.addPerformanceData(\"createAutoImportProviderProgramDurationMs\",t.durationMs);break}}defaultEventHandler(t){switch(t.eventName){case KO:this.projectsUpdatedInBackgroundEvent(t.data.openFiles);break;case c7:this.event({projectName:t.data.project.getProjectName(),reason:t.data.reason},t.eventName);break;case d7:this.event({projectName:t.data.project.getProjectName()},t.eventName);break;case u7:case _7:case h7:case g7:this.event(t.data,t.eventName);break;case p7:this.event({triggerFile:t.data.triggerFile,configFile:t.data.configFileName,diagnostics:nn(t.data.diagnostics,r=>YO(r,!0))},t.eventName);break;case f7:{this.event({projectName:t.data.project.getProjectName(),languageServiceEnabled:t.data.languageServiceEnabled},t.eventName);break}case m7:{this.event({telemetryEventName:t.eventName,payload:t.data},\"telemetry\");break}}}projectsUpdatedInBackgroundEvent(t){this.projectService.logger.info(`got projects updated in background ${t}`),t.length&&(!this.suppressDiagnosticEvents&&!this.noGetErrOnBackgroundUpdate&&(this.projectService.logger.info(`Queueing diagnostics update for ${t}`),this.errorCheck.startNew(r=>this.updateErrorCheck(r,t,100,!0))),this.event({openFiles:t},KO))}logError(t,r){this.logErrorWorker(t,r)}logErrorWorker(t,r,i){let o=\"Exception on executing command \"+r;if(t.message&&(o+=`:\n`+qN(t.message),t.stack&&(o+=`\n`+qN(t.stack))),this.logger.hasLevel(3)){if(i)try{let{file:s,project:l}=this.getFileAndProject(i),d=l.getScriptInfoForNormalizedPath(s);if(d){let p=hR(d.getSnapshot());o+=`\n\nFile text of ${i.file}:${qN(p)}\n`}}catch{}if(t.ProgramFiles){o+=`\n\nProgram files: ${JSON.stringify(t.ProgramFiles)}\n`,o+=`\n\nProjects::\n`;let s=0,l=d=>{o+=`\nProject '${d.projectName}' (${yP[d.projectKind]}) ${s}\n`,o+=d.filesToString(!0),o+=`\n-----------------------------------------------\n`,s++};this.projectService.externalProjects.forEach(l),this.projectService.configuredProjects.forEach(l),this.projectService.inferredProjects.forEach(l)}}this.logger.msg(o,\"Err\")}send(t){if(t.type===\"event\"&&!this.canUseEvents){this.logger.hasLevel(3)&&this.logger.info(`Session does not support events: ignored event: ${Ub(t)}`);return}this.writeMessage(t)}writeMessage(t){var r;let i=ume(t,this.logger,this.byteLength,this.host.newLine);(r=Pd)==null||r.logEvent(`Response message size: ${i.length}`),this.host.write(i)}event(t,r){this.send(pme(r,t))}doOutput(t,r,i,o,s){let l={seq:0,type:\"response\",command:r,request_seq:i,success:o,performanceData:this.performanceData};if(o){let d;if(oo(t))l.body=t,d=t.metadata,delete t.metadata;else if(typeof t==\"object\")if(t.metadata){let{metadata:p,...h}=t;l.body=h,d=p}else l.body=t;else l.body=t;d&&(l.metadata=d)}else x.assert(t===void 0);s&&(l.message=s),this.send(l)}semanticCheck(t,r){var i,o;(i=qn)==null||i.push(qn.Phase.Session,\"semanticCheck\",{file:t,configFilePath:r.canonicalConfigFilePath});let s=WMe(r,t)?ql:r.getLanguageService().getSemanticDiagnostics(t).filter(l=>!!l.file);this.sendDiagnosticsEvent(t,r,s,\"semanticDiag\"),(o=qn)==null||o.pop()}syntacticCheck(t,r){var i,o;(i=qn)==null||i.push(qn.Phase.Session,\"syntacticCheck\",{file:t,configFilePath:r.canonicalConfigFilePath}),this.sendDiagnosticsEvent(t,r,r.getLanguageService().getSyntacticDiagnostics(t),\"syntaxDiag\"),(o=qn)==null||o.pop()}suggestionCheck(t,r){var i,o;(i=qn)==null||i.push(qn.Phase.Session,\"suggestionCheck\",{file:t,configFilePath:r.canonicalConfigFilePath}),this.sendDiagnosticsEvent(t,r,r.getLanguageService().getSuggestionDiagnostics(t),\"suggestionDiag\"),(o=qn)==null||o.pop()}sendDiagnosticsEvent(t,r,i,o){try{this.event({file:t,diagnostics:i.map(s=>FMe(t,r,s))},o)}catch(s){this.logError(s,o)}}updateErrorCheck(t,r,i,o=!0){x.assert(!this.suppressDiagnosticEvents);let s=this.changeSeq,l=Math.min(i,200),d=0,p=()=>{d++,r.length>d&&t.delay(\"checkOne\",l,h)},h=()=>{if(this.changeSeq!==s)return;let m=r[d];if(fo(m)&&(m=this.toPendingErrorCheck(m),!m)){p();return}let{fileName:v,project:E}=m;if(up(E),!!E.containsFile(v,o)&&(this.syntacticCheck(v,E),this.changeSeq===s)){if(E.projectService.serverMode!==0){p();return}t.immediate(\"semanticCheck\",()=>{if(this.semanticCheck(v,E),this.changeSeq===s){if(this.getPreferences(v).disableSuggestions){p();return}t.immediate(\"suggestionCheck\",()=>{this.suggestionCheck(v,E),p()})}})}};r.length>d&&this.changeSeq===s&&t.delay(\"checkOne\",i,h)}cleanProjects(t,r){if(r){this.logger.info(`cleaning ${t}`);for(let i of r)i.getLanguageService(!1).cleanupSemanticCache(),i.cleanupProgram()}}cleanup(){this.cleanProjects(\"inferred projects\",this.projectService.inferredProjects),this.cleanProjects(\"configured projects\",bo(this.projectService.configuredProjects.values())),this.cleanProjects(\"external projects\",this.projectService.externalProjects),this.host.gc&&(this.logger.info(\"host.gc()\"),this.host.gc())}getEncodedSyntacticClassifications(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t);return i.getEncodedSyntacticClassifications(r,t)}getEncodedSemanticClassifications(t){let{file:r,project:i}=this.getFileAndProject(t),o=t.format===\"2020\"?\"2020\":\"original\";return i.getLanguageService().getEncodedSemanticClassifications(r,t,o)}getProject(t){return t===void 0?void 0:this.projectService.findProject(t)}getConfigFileAndProject(t){let r=this.getProject(t.projectFileName),i=js(t.file);return{configFile:r&&r.hasConfigFile(i)?i:void 0,project:r}}getConfigFileDiagnostics(t,r,i){let o=r.getAllProjectErrors(),s=r.getLanguageService().getCompilerOptionsDiagnostics(),l=Cr(ro(o,s),d=>!!d.file&&d.file.fileName===t);return i?this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(l):nn(l,d=>YO(d,!1))}convertToDiagnosticsWithLinePositionFromDiagnosticFile(t){return t.map(r=>({message:a_(r.messageText,this.host.newLine),start:r.start,length:r.length,category:_S(r),code:r.code,source:r.source,startLocation:r.file&&XO($a(r.file,r.start)),endLocation:r.file&&XO($a(r.file,r.start+r.length)),reportsUnnecessary:r.reportsUnnecessary,reportsDeprecated:r.reportsDeprecated,relatedInformation:nn(r.relatedInformation,T$)}))}getCompilerOptionsDiagnostics(t){let r=this.getProject(t.projectFileName);return this.convertToDiagnosticsWithLinePosition(Cr(r.getLanguageService().getCompilerOptionsDiagnostics(),i=>!i.file),void 0)}convertToDiagnosticsWithLinePosition(t,r){return t.map(i=>({message:a_(i.messageText,this.host.newLine),start:i.start,length:i.length,category:_S(i),code:i.code,source:i.source,startLocation:r&&r.positionToLineOffset(i.start),endLocation:r&&r.positionToLineOffset(i.start+i.length),reportsUnnecessary:i.reportsUnnecessary,reportsDeprecated:i.reportsDeprecated,relatedInformation:nn(i.relatedInformation,T$)}))}getDiagnosticsWorker(t,r,i,o){let{project:s,file:l}=this.getFileAndProject(t);if(r&&WMe(s,l))return ql;let d=s.getScriptInfoForNormalizedPath(l),p=i(s,l);return o?this.convertToDiagnosticsWithLinePosition(p,d):p.map(h=>FMe(l,s,h))}getDefinition(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=this.getPositionInFile(t,i),l=this.mapDefinitionInfoLocations(o.getLanguageService().getDefinitionAtPosition(i,s)||ql,o);return r?this.mapDefinitionInfo(l,o):l.map(xZ.mapToOriginalLocation)}mapDefinitionInfoLocations(t,r){return t.map(i=>{let o=GMe(i,r);return o?{...o,containerKind:i.containerKind,containerName:i.containerName,kind:i.kind,name:i.name,failedAliasResolution:i.failedAliasResolution,...i.unverified&&{unverified:i.unverified}}:i})}getDefinitionAndBoundSpan(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=this.getPositionInFile(t,i),l=x.checkDefined(o.getScriptInfo(i)),d=o.getLanguageService().getDefinitionAndBoundSpan(i,s);if(!d||!d.definitions)return{definitions:ql,textSpan:void 0};let p=this.mapDefinitionInfoLocations(d.definitions,o),{textSpan:h}=d;return r?{definitions:this.mapDefinitionInfo(p,o),textSpan:K_(h,l)}:{definitions:p.map(xZ.mapToOriginalLocation),textSpan:h}}findSourceDefinition(t){var r;let{file:i,project:o}=this.getFileAndProject(t),s=this.getPositionInFile(t,i),l=o.getLanguageService().getDefinitionAtPosition(i,s),d=this.mapDefinitionInfoLocations(l||ql,o).slice();if(this.projectService.serverMode===0&&(!ct(d,S=>js(S.fileName)!==i&&!S.isAmbient)||ct(d,S=>!!S.failedAliasResolution))){let S=lB(L=>L.textSpan.start,fJ(this.host.useCaseSensitiveFileNames));d?.forEach(L=>S.add(L));let A=o.getNoDtsResolutionProject(i),C=A.getLanguageService(),R=(r=C.getDefinitionAtPosition(i,s,!0,!1))==null?void 0:r.filter(L=>js(L.fileName)!==i);if(ct(R))for(let L of R){if(L.unverified){let G=v(L,o.getLanguageService().getProgram(),C.getProgram());if(ct(G)){for(let U of G)S.add(U);continue}}S.add(L)}else{let L=d.filter(G=>js(G.fileName)!==i&&G.isAmbient);for(let G of ct(L)?L:m()){let U=h(G.fileName,i,A);if(!U)continue;let K=this.projectService.getOrCreateScriptInfoNotOpenedByClient(U,A.currentDirectory,A.directoryStructureHost);if(!K)continue;A.containsScriptInfo(K)||(A.addRoot(K),A.updateGraph());let F=C.getProgram(),oe=x.checkDefined(F.getSourceFile(U));for(let W of E(G.name,oe,F))S.add(W)}}d=bo(S.values())}return d=d.filter(S=>!S.isAmbient&&!S.failedAliasResolution),this.mapDefinitionInfo(d,o);function h(S,A,C){var R,L,G;let U=yF(S);if(U&&S.lastIndexOf(q_)===U.topLevelNodeModulesIndex){let K=S.substring(0,U.packageRootIndex),F=(R=o.getModuleResolutionCache())==null?void 0:R.getPackageJsonInfoCache(),oe=o.getCompilationSettings(),W=rk(Qi(K+\"/package.json\",o.getCurrentDirectory()),nk(F,o,oe));if(!W)return;let $=RU(W,{moduleResolution:2},o,o.getModuleResolutionCache()),de=S.substring(U.topLevelPackageNameIndex+1,U.packageRootIndex),fe=CN(ak(de)),q=o.toPath(S);if($&&ct($,H=>o.toPath(H)===q))return(L=C.resolutionCache.resolveSingleModuleNameWithoutWatching(fe,A).resolvedModule)==null?void 0:L.resolvedFileName;{let H=S.substring(U.packageRootIndex+1),ee=`${fe}/${Yd(H)}`;return(G=C.resolutionCache.resolveSingleModuleNameWithoutWatching(ee,A).resolvedModule)==null?void 0:G.resolvedFileName}}}function m(){let S=o.getLanguageService(),A=S.getProgram(),C=pu(A.getSourceFile(i),s);return(Ga(C)||Me(C))&&us(C.parent)&&Bne(C,R=>{var L;if(R===C)return;let G=(L=S.getDefinitionAtPosition(i,R.getStart(),!0,!1))==null?void 0:L.filter(U=>js(U.fileName)!==i&&U.isAmbient).map(U=>({fileName:U.fileName,name:Ef(C)}));if(ct(G))return G})||ql}function v(S,A,C){var R;let L=C.getSourceFile(S.fileName);if(!L)return;let G=pu(A.getSourceFile(i),s),U=A.getTypeChecker().getSymbolAtLocation(G),K=U&&Vs(U,276);if(!K)return;let F=((R=K.propertyName)==null?void 0:R.text)||K.name.text;return E(F,L,C)}function E(S,A,C){let R=fs.Core.getTopMostDeclarationNamesInFile(S,A);return Fi(R,L=>{let G=C.getTypeChecker().getSymbolAtLocation(L),U=bC(L);if(G&&U)return LR.createDefinitionInfo(U,C.getTypeChecker(),G,U,!0)})}}getEmitOutput(t){let{file:r,project:i}=this.getFileAndProject(t);if(!i.shouldEmitFile(i.getScriptInfo(r)))return{emitSkipped:!0,outputFiles:[],diagnostics:[]};let o=i.getLanguageService().getEmitOutput(r);return t.richResponse?{...o,diagnostics:t.includeLinePosition?this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(o.diagnostics):o.diagnostics.map(s=>YO(s,!0))}:o}mapJSDocTagInfo(t,r,i){return t?t.map(o=>{var s;return{...o,text:i?this.mapDisplayParts(o.text,r):(s=o.text)==null?void 0:s.map(l=>l.text).join(\"\")}}):[]}mapDisplayParts(t,r){return t?t.map(i=>i.kind!==\"linkName\"?i:{...i,target:this.toFileSpan(i.target.fileName,i.target.textSpan,r)}):[]}mapSignatureHelpItems(t,r,i){return t.map(o=>({...o,documentation:this.mapDisplayParts(o.documentation,r),parameters:o.parameters.map(s=>({...s,documentation:this.mapDisplayParts(s.documentation,r)})),tags:this.mapJSDocTagInfo(o.tags,r,i)}))}mapDefinitionInfo(t,r){return t.map(i=>({...this.toFileSpanWithContext(i.fileName,i.textSpan,i.contextSpan,r),...i.unverified&&{unverified:i.unverified}}))}static mapToOriginalLocation(t){return t.originalFileName?(x.assert(t.originalTextSpan!==void 0,\"originalTextSpan should be present if originalFileName is\"),{...t,fileName:t.originalFileName,textSpan:t.originalTextSpan,targetFileName:t.fileName,targetTextSpan:t.textSpan,contextSpan:t.originalContextSpan,targetContextSpan:t.contextSpan}):t}toFileSpan(t,r,i){let o=i.getLanguageService(),s=o.toLineColumnOffset(t,r.start),l=o.toLineColumnOffset(t,Al(r));return{file:t,start:{line:s.line+1,offset:s.character+1},end:{line:l.line+1,offset:l.character+1}}}toFileSpanWithContext(t,r,i,o){let s=this.toFileSpan(t,r,o),l=i&&this.toFileSpan(t,i,o);return l?{...s,contextStart:l.start,contextEnd:l.end}:s}getTypeDefinition(t){let{file:r,project:i}=this.getFileAndProject(t),o=this.getPositionInFile(t,r),s=this.mapDefinitionInfoLocations(i.getLanguageService().getTypeDefinitionAtPosition(r,o)||ql,i);return this.mapDefinitionInfo(s,i)}mapImplementationLocations(t,r){return t.map(i=>{let o=GMe(i,r);return o?{...o,kind:i.kind,displayParts:i.displayParts}:i})}getImplementation(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=this.getPositionInFile(t,i),l=this.mapImplementationLocations(o.getLanguageService().getImplementationAtPosition(i,s)||ql,o);return r?l.map(({fileName:d,textSpan:p,contextSpan:h})=>this.toFileSpanWithContext(d,p,h,o)):l.map(xZ.mapToOriginalLocation)}getSyntacticDiagnosticsSync(t){let{configFile:r}=this.getConfigFileAndProject(t);return r?ql:this.getDiagnosticsWorker(t,!1,(i,o)=>i.getLanguageService().getSyntacticDiagnostics(o),!!t.includeLinePosition)}getSemanticDiagnosticsSync(t){let{configFile:r,project:i}=this.getConfigFileAndProject(t);return r?this.getConfigFileDiagnostics(r,i,!!t.includeLinePosition):this.getDiagnosticsWorker(t,!0,(o,s)=>o.getLanguageService().getSemanticDiagnostics(s).filter(l=>!!l.file),!!t.includeLinePosition)}getSuggestionDiagnosticsSync(t){let{configFile:r}=this.getConfigFileAndProject(t);return r?ql:this.getDiagnosticsWorker(t,!0,(i,o)=>i.getLanguageService().getSuggestionDiagnostics(o),!!t.includeLinePosition)}getJsxClosingTag(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.getPositionInFile(t,r),s=i.getJsxClosingTagAtPosition(r,o);return s===void 0?void 0:{newText:s.newText,caretOffset:0}}getLinkedEditingRange(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.getPositionInFile(t,r),s=i.getLinkedEditingRangeAtPosition(r,o),l=this.projectService.getScriptInfoForNormalizedPath(r);if(!(l===void 0||s===void 0))return het(s,l)}getDocumentHighlights(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=this.getPositionInFile(t,i),l=o.getLanguageService().getDocumentHighlights(i,s,t.filesToSearch);return l?r?l.map(({fileName:d,highlightSpans:p})=>{let h=o.getScriptInfo(d);return{file:d,highlightSpans:p.map(({textSpan:m,kind:v,contextSpan:E})=>({...mme(m,E,h),kind:v}))}}):l:ql}provideInlayHints(t){let{file:r,project:i}=this.getFileAndProject(t),o=this.projectService.getScriptInfoForNormalizedPath(r);return i.getLanguageService().provideInlayHints(r,t,this.getPreferences(r)).map(l=>{let{position:d,displayParts:p}=l;return{...l,position:o.positionToLineOffset(d),displayParts:p?.map(({text:h,span:m,file:v})=>{if(m){x.assertIsDefined(v,\"Target file should be defined together with its span.\");let E=this.projectService.getScriptInfo(v);return{text:h,span:{start:E.positionToLineOffset(m.start),end:E.positionToLineOffset(m.start+m.length),file:v}}}else return{text:h}})}})}setCompilerOptionsForInferredProjects(t){this.projectService.setCompilerOptionsForInferredProjects(t.options,t.projectRootPath)}getProjectInfo(t){return this.getProjectInfoWorker(t.file,t.projectFileName,t.needFileNameList,!1)}getProjectInfoWorker(t,r,i,o){let{project:s}=this.getFileAndProjectWorker(t,r);return up(s),{configFileName:s.getProjectName(),languageServiceDisabled:!s.languageServiceEnabled,fileNames:i?s.getFileNames(!1,o):void 0}}getRenameInfo(t){let{file:r,project:i}=this.getFileAndProject(t),o=this.getPositionInFile(t,r),s=this.getPreferences(r);return i.getLanguageService().getRenameInfo(r,o,s)}getProjects(t,r,i){let o,s;if(t.projectFileName){let l=this.getProject(t.projectFileName);l&&(o=[l])}else{let l=r?this.projectService.getScriptInfoEnsuringProjectsUptoDate(t.file):this.projectService.getScriptInfo(t.file);if(l)r||this.projectService.ensureDefaultProjectForFile(l);else return i?ql:(this.projectService.logErrorForScriptInfoNotFound(t.file),vv.ThrowNoProject());o=l.containingProjects,s=this.projectService.getSymlinkedProjects(l)}return o=Cr(o,l=>l.languageServiceEnabled&&!l.isOrphan()),!i&&(!o||!o.length)&&!s?(this.projectService.logErrorForScriptInfoNotFound(t.file??t.projectFileName),vv.ThrowNoProject()):s?{projects:o,symLinkedProjects:s}:o}getDefaultProject(t){if(t.projectFileName){let i=this.getProject(t.projectFileName);if(i)return i;if(!t.file)return vv.ThrowNoProject()}return this.projectService.getScriptInfo(t.file).getDefaultProject()}getRenameLocations(t,r){let i=js(t.file),o=this.getPositionInFile(t,i),s=this.getProjects(t),l=this.getDefaultProject(t),d=this.getPreferences(i),p=this.mapRenameInfo(l.getLanguageService().getRenameInfo(i,o,d),x.checkDefined(this.projectService.getScriptInfo(i)));if(!p.canRename)return r?{info:p,locs:[]}:[];let h=cet(s,l,{fileName:t.file,pos:o},!!t.findInStrings,!!t.findInComments,d,this.host.useCaseSensitiveFileNames);return r?{info:p,locs:this.toSpanGroups(h)}:h}mapRenameInfo(t,r){if(t.canRename){let{canRename:i,fileToRename:o,displayName:s,fullDisplayName:l,kind:d,kindModifiers:p,triggerSpan:h}=t;return{canRename:i,fileToRename:o,displayName:s,fullDisplayName:l,kind:d,kindModifiers:p,triggerSpan:K_(h,r)}}else return t}toSpanGroups(t){let r=new Map;for(let{fileName:i,textSpan:o,contextSpan:s,originalContextSpan:l,originalTextSpan:d,originalFileName:p,...h}of t){let m=r.get(i);m||r.set(i,m={file:i,locs:[]});let v=x.checkDefined(this.projectService.getScriptInfo(i));m.locs.push({...mme(o,s,v),...h})}return bo(r.values())}getReferences(t,r){let i=js(t.file),o=this.getProjects(t),s=this.getPositionInFile(t,i),l=uet(o,this.getDefaultProject(t),{fileName:t.file,pos:s},this.host.useCaseSensitiveFileNames,this.logger);if(!r)return l;let d=this.getPreferences(i),p=this.getDefaultProject(t),h=p.getScriptInfoForNormalizedPath(i),m=p.getLanguageService().getQuickInfoAtPosition(i,s),v=m?yO(m.displayParts):\"\",E=m&&m.textSpan,S=E?h.positionToLineOffset(E.start).offset:0,A=E?h.getSnapshot().getText(E.start,Al(E)):\"\";return{refs:ta(l,R=>R.references.map(L=>jMe(this.projectService,L,d))),symbolName:A,symbolStartOffset:S,symbolDisplayString:v}}getFileReferences(t,r){let i=this.getProjects(t),o=t.file,s=this.getPreferences(js(o)),l=[],d=A$(this.host.useCaseSensitiveFileNames);return fme(i,void 0,h=>{if(h.getCancellationToken().isCancellationRequested())return;let m=h.getLanguageService().getFileReferences(o);if(m)for(let v of m)d.has(v)||(l.push(v),d.add(v))}),r?{refs:l.map(h=>jMe(this.projectService,h,s)),symbolName:`\"${t.file}\"`}:l}openClientFile(t,r,i,o){this.projectService.openClientFileWithNormalizedPath(t,r,i,!1,o)}getPosition(t,r){return t.position!==void 0?t.position:r.lineOffsetToPosition(t.line,t.offset)}getPositionInFile(t,r){let i=this.projectService.getScriptInfoForNormalizedPath(r);return this.getPosition(t,i)}getFileAndProject(t){return this.getFileAndProjectWorker(t.file,t.projectFileName)}getFileAndLanguageServiceForSyntacticOperation(t){let{file:r,project:i}=this.getFileAndProject(t);return{file:r,languageService:i.getLanguageService(!1)}}getFileAndProjectWorker(t,r){let i=js(t),o=this.getProject(r)||this.projectService.ensureDefaultProjectForFile(i);return{file:i,project:o}}getOutliningSpans(t,r){let{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(t),s=o.getOutliningSpans(i);if(r){let l=this.projectService.getScriptInfoForNormalizedPath(i);return s.map(d=>({textSpan:K_(d.textSpan,l),hintSpan:K_(d.hintSpan,l),bannerText:d.bannerText,autoCollapse:d.autoCollapse,kind:d.kind}))}else return s}getTodoComments(t){let{file:r,project:i}=this.getFileAndProject(t);return i.getLanguageService().getTodoComments(r,t.descriptors)}getDocCommentTemplate(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.getPositionInFile(t,r);return i.getDocCommentTemplateAtPosition(r,o,this.getPreferences(r),this.getFormatOptions(r))}getSpanOfEnclosingComment(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=t.onlyMultiLine,s=this.getPositionInFile(t,r);return i.getSpanOfEnclosingComment(r,s,o)}getIndentation(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.getPositionInFile(t,r),s=t.options?zR(t.options):this.getFormatOptions(r),l=i.getIndentationAtPosition(r,o,s);return{position:o,indentation:l}}getBreakpointStatement(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.getPositionInFile(t,r);return i.getBreakpointStatementAtPosition(r,o)}getNameOrDottedNameSpan(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.getPositionInFile(t,r);return i.getNameOrDottedNameSpan(r,o,o)}isValidBraceCompletion(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.getPositionInFile(t,r);return i.isValidBraceCompletionAtPosition(r,o,t.openingBrace.charCodeAt(0))}getQuickInfoWorker(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=this.projectService.getScriptInfoForNormalizedPath(i),l=o.getLanguageService().getQuickInfoAtPosition(i,this.getPosition(t,s));if(!l)return;let d=!!this.getPreferences(i).displayPartsForJSDoc;if(r){let p=yO(l.displayParts);return{kind:l.kind,kindModifiers:l.kindModifiers,start:s.positionToLineOffset(l.textSpan.start),end:s.positionToLineOffset(Al(l.textSpan)),displayString:p,documentation:d?this.mapDisplayParts(l.documentation,o):yO(l.documentation),tags:this.mapJSDocTagInfo(l.tags,o,d)}}else return d?l:{...l,tags:this.mapJSDocTagInfo(l.tags,o,!1)}}getFormattingEditsForRange(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.projectService.getScriptInfoForNormalizedPath(r),s=o.lineOffsetToPosition(t.line,t.offset),l=o.lineOffsetToPosition(t.endLine,t.endOffset),d=i.getFormattingEditsForRange(r,s,l,this.getFormatOptions(r));if(d)return d.map(p=>this.convertTextChangeToCodeEdit(p,o))}getFormattingEditsForRangeFull(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=t.options?zR(t.options):this.getFormatOptions(r);return i.getFormattingEditsForRange(r,t.position,t.endPosition,o)}getFormattingEditsForDocumentFull(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=t.options?zR(t.options):this.getFormatOptions(r);return i.getFormattingEditsForDocument(r,o)}getFormattingEditsAfterKeystrokeFull(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=t.options?zR(t.options):this.getFormatOptions(r);return i.getFormattingEditsAfterKeystroke(r,t.position,t.key,o)}getFormattingEditsAfterKeystroke(t){let{file:r,languageService:i}=this.getFileAndLanguageServiceForSyntacticOperation(t),o=this.projectService.getScriptInfoForNormalizedPath(r),s=o.lineOffsetToPosition(t.line,t.offset),l=this.getFormatOptions(r),d=i.getFormattingEditsAfterKeystroke(r,s,t.key,l);if(t.key===`\n`&&(!d||d.length===0||aet(d,s))){let{lineText:p,absolutePosition:h}=o.textStorage.getAbsolutePositionAndLineText(t.line);if(p&&p.search(\"\\\\S\")<0){let m=i.getIndentationAtPosition(r,s,l),v=0,E,S;for(E=0,S=p.length;E<S;E++)if(p.charAt(E)===\" \")v++;else if(p.charAt(E)===\"\t\")v+=l.tabSize;else break;if(m!==v){let A=h+E;d.push({span:Gl(h,A),newText:uc.getIndentationString(m,l)})}}}if(d)return d.map(p=>({start:o.positionToLineOffset(p.span.start),end:o.positionToLineOffset(Al(p.span)),newText:p.newText?p.newText:\"\"}))}getCompletions(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=this.projectService.getScriptInfoForNormalizedPath(i),l=this.getPosition(t,s),d=o.getLanguageService().getCompletionsAtPosition(i,l,{...Zfe(this.getPreferences(i)),triggerCharacter:t.triggerCharacter,triggerKind:t.triggerKind,includeExternalModuleExports:t.includeExternalModuleExports,includeInsertTextCompletions:t.includeInsertTextCompletions},o.projectService.getFormatCodeOptions(i));if(d===void 0)return;if(r===\"completions-full\")return d;let p=t.prefix||\"\",h=Fi(d.entries,v=>{if(d.isMemberCompletion||Ui(v.name.toLowerCase(),p.toLowerCase())){let{name:E,kind:S,kindModifiers:A,sortText:C,insertText:R,filterText:L,replacementSpan:G,hasAction:U,source:K,sourceDisplay:F,labelDetails:oe,isSnippet:W,isRecommended:$,isPackageJsonImport:de,isImportStatementCompletion:fe,data:q}=v,H=G?K_(G,s):void 0;return{name:E,kind:S,kindModifiers:A,sortText:C,insertText:R,filterText:L,replacementSpan:H,isSnippet:W,hasAction:U||void 0,source:K,sourceDisplay:F,labelDetails:oe,isRecommended:$,isPackageJsonImport:de,isImportStatementCompletion:fe,data:q}}});return r===\"completions\"?(d.metadata&&(h.metadata=d.metadata),h):{...d,optionalReplacementSpan:d.optionalReplacementSpan&&K_(d.optionalReplacementSpan,s),entries:h}}getCompletionEntryDetails(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=this.projectService.getScriptInfoForNormalizedPath(i),l=this.getPosition(t,s),d=o.projectService.getFormatCodeOptions(i),p=!!this.getPreferences(i).displayPartsForJSDoc,h=Fi(t.entryNames,m=>{let{name:v,source:E,data:S}=typeof m==\"string\"?{name:m,source:void 0,data:void 0}:m;return o.getLanguageService().getCompletionEntryDetails(i,l,v,d,E,this.getPreferences(i),S?Fo(S,Eet):void 0)});return r?p?h:h.map(m=>({...m,tags:this.mapJSDocTagInfo(m.tags,o,!1)})):h.map(m=>({...m,codeActions:nn(m.codeActions,v=>this.mapCodeAction(v)),documentation:this.mapDisplayParts(m.documentation,o),tags:this.mapJSDocTagInfo(m.tags,o,p)}))}getCompileOnSaveAffectedFileList(t){let r=this.getProjects(t,!0,!0),i=this.projectService.getScriptInfo(t.file);return i?set(i,o=>this.projectService.getScriptInfoForPath(o),r,(o,s)=>{if(!o.compileOnSaveEnabled||!o.languageServiceEnabled||o.isOrphan())return;let l=o.getCompilationSettings();if(!(l.noEmit||Yc(s.fileName)&&!oet(l)))return{projectFileName:o.getProjectName(),fileNames:o.getCompileOnSaveAffectedFileList(s),projectUsesOutFile:!!ss(l)}}):ql}emitFile(t){let{file:r,project:i}=this.getFileAndProject(t);if(i||vv.ThrowNoProject(),!i.languageServiceEnabled)return t.richResponse?{emitSkipped:!0,diagnostics:[]}:!1;let o=i.getScriptInfo(r),{emitSkipped:s,diagnostics:l}=i.emitFile(o,(d,p,h)=>this.host.writeFile(d,p,h));return t.richResponse?{emitSkipped:s,diagnostics:t.includeLinePosition?this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(l):l.map(d=>YO(d,!0))}:!s}getSignatureHelpItems(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=this.projectService.getScriptInfoForNormalizedPath(i),l=this.getPosition(t,s),d=o.getLanguageService().getSignatureHelpItems(i,l,t),p=!!this.getPreferences(i).displayPartsForJSDoc;if(d&&r){let h=d.applicableSpan;return{...d,applicableSpan:{start:s.positionToLineOffset(h.start),end:s.positionToLineOffset(h.start+h.length)},items:this.mapSignatureHelpItems(d.items,o,p)}}else return p||!d?d:{...d,items:d.items.map(h=>({...h,tags:this.mapJSDocTagInfo(h.tags,o,!1)}))}}toPendingErrorCheck(t){let r=js(t),i=this.projectService.tryGetDefaultProjectForFile(r);return i&&{fileName:r,project:i}}getDiagnostics(t,r,i){this.suppressDiagnosticEvents||i.length>0&&this.updateErrorCheck(t,i,r)}change(t){let r=this.projectService.getScriptInfo(t.file);x.assert(!!r),r.textStorage.switchToScriptVersionCache();let i=r.lineOffsetToPosition(t.line,t.offset),o=r.lineOffsetToPosition(t.endLine,t.endOffset);i>=0&&(this.changeSeq++,this.projectService.applyChangesToFile(r,PZ({span:{start:i,length:o-i},newText:t.insertString})))}reload(t,r){let i=js(t.file),o=t.tmpfile===void 0?void 0:js(t.tmpfile),s=this.projectService.getScriptInfoForNormalizedPath(i);s&&(this.changeSeq++,s.reloadFromFile(o)&&this.doOutput(void 0,\"reload\",r,!0))}saveToTmp(t,r){let i=this.projectService.getScriptInfo(t);i&&i.saveTo(r)}closeClientFile(t){if(!t)return;let r=Yo(t);this.projectService.closeClientFile(r)}mapLocationNavigationBarItems(t,r){return nn(t,i=>({text:i.text,kind:i.kind,kindModifiers:i.kindModifiers,spans:i.spans.map(o=>K_(o,r)),childItems:this.mapLocationNavigationBarItems(i.childItems,r),indent:i.indent}))}getNavigationBarItems(t,r){let{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(t),s=o.getNavigationBarItems(i);return s?r?this.mapLocationNavigationBarItems(s,this.projectService.getScriptInfoForNormalizedPath(i)):s:void 0}toLocationNavigationTree(t,r){return{text:t.text,kind:t.kind,kindModifiers:t.kindModifiers,spans:t.spans.map(i=>K_(i,r)),nameSpan:t.nameSpan&&K_(t.nameSpan,r),childItems:nn(t.childItems,i=>this.toLocationNavigationTree(i,r))}}getNavigationTree(t,r){let{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(t),s=o.getNavigationTree(i);return s?r?this.toLocationNavigationTree(s,this.projectService.getScriptInfoForNormalizedPath(i)):s:void 0}getNavigateToItems(t,r){let i=this.getFullNavigateToItems(t);return r?ta(i,({project:o,navigateToItems:s})=>s.map(l=>{let d=o.getScriptInfo(l.fileName),p={name:l.name,kind:l.kind,kindModifiers:l.kindModifiers,isCaseSensitive:l.isCaseSensitive,matchKind:l.matchKind,file:l.fileName,start:d.positionToLineOffset(l.textSpan.start),end:d.positionToLineOffset(Al(l.textSpan))};return l.kindModifiers&&l.kindModifiers!==\"\"&&(p.kindModifiers=l.kindModifiers),l.containerName&&l.containerName.length>0&&(p.containerName=l.containerName),l.containerKind&&l.containerKind.length>0&&(p.containerKind=l.containerKind),p})):ta(i,({navigateToItems:o})=>o)}getFullNavigateToItems(t){let{currentFileOnly:r,searchValue:i,maxResultCount:o,projectFileName:s}=t;if(r){x.assertIsDefined(t.file);let{file:E,project:S}=this.getFileAndProject(t);return[{project:S,navigateToItems:S.getLanguageService().getNavigateToItems(i,o,E)}]}let l=this.getHostPreferences(),d=[],p=new Map;if(!t.file&&!s)this.projectService.loadAncestorProjectTree(),this.projectService.forEachEnabledProject(E=>h(E));else{let E=this.getProjects(t);fme(E,void 0,S=>h(S))}return d;function h(E){let S=E.getLanguageService().getNavigateToItems(i,o,void 0,E.isNonTsProject(),l.excludeLibrarySymbolsInNavTo),A=Cr(S,C=>m(C)&&!I$(bP(C),E));A.length&&d.push({project:E,navigateToItems:A})}function m(E){let S=E.name;if(!p.has(S))return p.set(S,[E]),!0;let A=p.get(S);for(let C of A)if(v(C,E))return!1;return A.push(E),!0}function v(E,S){return E===S?!0:!E||!S?!1:E.containerKind===S.containerKind&&E.containerName===S.containerName&&E.fileName===S.fileName&&E.isCaseSensitive===S.isCaseSensitive&&E.kind===S.kind&&E.kindModifiers===S.kindModifiers&&E.matchKind===S.matchKind&&E.name===S.name&&E.textSpan.start===S.textSpan.start&&E.textSpan.length===S.textSpan.length}}getSupportedCodeFixes(t){if(!t)return OK();if(t.file){let{file:i,project:o}=this.getFileAndProject(t);return o.getLanguageService().getSupportedCodeFixes(i)}let r=this.getProject(t.projectFileName);return r||vv.ThrowNoProject(),r.getLanguageService().getSupportedCodeFixes()}isLocation(t){return t.line!==void 0}extractPositionOrRange(t,r){let i,o;return this.isLocation(t)?i=s(t):o=this.getRange(t,r),x.checkDefined(i===void 0?o:i);function s(l){return l.position!==void 0?l.position:r.lineOffsetToPosition(l.line,l.offset)}}getRange(t,r){let{startPosition:i,endPosition:o}=this.getStartAndEndPosition(t,r);return{pos:i,end:o}}getApplicableRefactors(t){let{file:r,project:i}=this.getFileAndProject(t),o=i.getScriptInfoForNormalizedPath(r);return i.getLanguageService().getApplicableRefactors(r,this.extractPositionOrRange(t,o),this.getPreferences(r),t.triggerReason,t.kind,t.includeInteractiveActions)}getEditsForRefactor(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=o.getScriptInfoForNormalizedPath(i),l=o.getLanguageService().getEditsForRefactor(i,this.getFormatOptions(i),this.extractPositionOrRange(t,s),t.refactor,t.action,this.getPreferences(i),t.interactiveRefactorArguments);if(l===void 0)return{edits:[]};if(r){let{renameFilename:d,renameLocation:p,edits:h}=l,m;if(d!==void 0&&p!==void 0){let v=o.getScriptInfoForNormalizedPath(js(d));m=_me(hR(v.getSnapshot()),d,p,h)}return{renameLocation:m,renameFilename:d,edits:this.mapTextChangesToCodeEdits(h),notApplicableReason:l.notApplicableReason}}return l}getMoveToRefactoringFileSuggestions(t){let{file:r,project:i}=this.getFileAndProject(t),o=i.getScriptInfoForNormalizedPath(r);return i.getLanguageService().getMoveToRefactoringFileSuggestions(r,this.extractPositionOrRange(t,o),this.getPreferences(r))}organizeImports(t,r){x.assert(t.scope.type===\"file\");let{file:i,project:o}=this.getFileAndProject(t.scope.args),s=o.getLanguageService().organizeImports({fileName:i,mode:t.mode??(t.skipDestructiveCodeActions?\"SortAndCombine\":void 0),type:\"file\"},this.getFormatOptions(i),this.getPreferences(i));return r?this.mapTextChangesToCodeEdits(s):s}getEditsForFileRename(t,r){let i=js(t.oldFilePath),o=js(t.newFilePath),s=this.getHostFormatOptions(),l=this.getHostPreferences(),d=new Set,p=[];return this.projectService.loadAncestorProjectTree(),this.projectService.forEachEnabledProject(h=>{let m=h.getLanguageService().getEditsForFileRename(i,o,s,l),v=[];for(let E of m)d.has(E.fileName)||(p.push(E),v.push(E.fileName));for(let E of v)d.add(E)}),r?p.map(h=>this.mapTextChangeToCodeEdit(h)):p}getCodeFixes(t,r){let{file:i,project:o}=this.getFileAndProject(t),s=o.getScriptInfoForNormalizedPath(i),{startPosition:l,endPosition:d}=this.getStartAndEndPosition(t,s),p;try{p=o.getLanguageService().getCodeFixesAtPosition(i,l,d,t.errorCodes,this.getFormatOptions(i),this.getPreferences(i))}catch(h){let m=o.getLanguageService(),v=[...m.getSyntacticDiagnostics(i),...m.getSemanticDiagnostics(i),...m.getSuggestionDiagnostics(i)].map(S=>WM(l,d-l,S.start,S.length)&&S.code),E=t.errorCodes.find(S=>!v.includes(S));throw E!==void 0&&(h.message=`BADCLIENT: Bad error code, ${E} not found in range ${l}..${d} (found: ${v.join(\", \")}); could have caused this error:\n${h.message}`),h}return r?p.map(h=>this.mapCodeFixAction(h)):p}getCombinedCodeFix({scope:t,fixId:r},i){x.assert(t.type===\"file\");let{file:o,project:s}=this.getFileAndProject(t.args),l=s.getLanguageService().getCombinedCodeFix({type:\"file\",fileName:o},r,this.getFormatOptions(o),this.getPreferences(o));return i?{changes:this.mapTextChangesToCodeEdits(l.changes),commands:l.commands}:l}applyCodeActionCommand(t){let r=t.command;for(let i of yA(r)){let{file:o,project:s}=this.getFileAndProject(i);s.getLanguageService().applyCodeActionCommand(i,this.getFormatOptions(o)).then(l=>{},l=>{})}return{}}getStartAndEndPosition(t,r){let i,o;return t.startPosition!==void 0?i=t.startPosition:(i=r.lineOffsetToPosition(t.startLine,t.startOffset),t.startPosition=i),t.endPosition!==void 0?o=t.endPosition:(o=r.lineOffsetToPosition(t.endLine,t.endOffset),t.endPosition=o),{startPosition:i,endPosition:o}}mapCodeAction({description:t,changes:r,commands:i}){return{description:t,changes:this.mapTextChangesToCodeEdits(r),commands:i}}mapCodeFixAction({fixName:t,description:r,changes:i,commands:o,fixId:s,fixAllDescription:l}){return{fixName:t,description:r,changes:this.mapTextChangesToCodeEdits(i),commands:o,fixId:s,fixAllDescription:l}}mapTextChangesToCodeEdits(t){return t.map(r=>this.mapTextChangeToCodeEdit(r))}mapTextChangeToCodeEdit(t){let r=this.projectService.getScriptInfoOrConfig(t.fileName);return!!t.isNewFile==!!r&&(r||this.projectService.logErrorForScriptInfoNotFound(t.fileName),x.fail(\"Expected isNewFile for (only) new files. \"+JSON.stringify({isNewFile:!!t.isNewFile,hasScriptInfo:!!r}))),r?{fileName:t.fileName,textChanges:t.textChanges.map(i=>_et(i,r))}:vet(t)}convertTextChangeToCodeEdit(t,r){return{start:r.positionToLineOffset(t.span.start),end:r.positionToLineOffset(t.span.start+t.span.length),newText:t.newText?t.newText:\"\"}}getBraceMatching(t,r){let{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(t),s=this.projectService.getScriptInfoForNormalizedPath(i),l=this.getPosition(t,s),d=o.getBraceMatchingAtPosition(i,l);return d?r?d.map(p=>K_(p,s)):d:void 0}getDiagnosticsForProject(t,r,i){if(this.suppressDiagnosticEvents)return;let{fileNames:o,languageServiceDisabled:s}=this.getProjectInfoWorker(i,void 0,!0,!0);if(s)return;let l=o.filter(C=>!C.includes(\"lib.d.ts\"));if(l.length===0)return;let d=[],p=[],h=[],m=[],v=js(i),E=this.projectService.ensureDefaultProjectForFile(v);for(let C of l)this.getCanonicalFileName(C)===this.getCanonicalFileName(i)?d.push(C):this.projectService.getScriptInfo(C).isScriptOpen()?p.push(C):Yc(C)?m.push(C):h.push(C);let A=[...d,...p,...h,...m].map(C=>({fileName:C,project:E}));this.updateErrorCheck(t,A,r,!1)}configurePlugin(t){this.projectService.configurePlugin(t)}getSmartSelectionRange(t,r){let{locations:i}=t,{file:o,languageService:s}=this.getFileAndLanguageServiceForSyntacticOperation(t),l=x.checkDefined(this.projectService.getScriptInfo(o));return nn(i,d=>{let p=this.getPosition(d,l),h=s.getSmartSelectionRange(o,p);return r?this.mapSelectionRange(h,l):h})}toggleLineComment(t,r){let{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(t),s=this.projectService.getScriptInfo(i),l=this.getRange(t,s),d=o.toggleLineComment(i,l);if(r){let p=this.projectService.getScriptInfoForNormalizedPath(i);return d.map(h=>this.convertTextChangeToCodeEdit(h,p))}return d}toggleMultilineComment(t,r){let{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(t),s=this.projectService.getScriptInfoForNormalizedPath(i),l=this.getRange(t,s),d=o.toggleMultilineComment(i,l);if(r){let p=this.projectService.getScriptInfoForNormalizedPath(i);return d.map(h=>this.convertTextChangeToCodeEdit(h,p))}return d}commentSelection(t,r){let{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(t),s=this.projectService.getScriptInfoForNormalizedPath(i),l=this.getRange(t,s),d=o.commentSelection(i,l);if(r){let p=this.projectService.getScriptInfoForNormalizedPath(i);return d.map(h=>this.convertTextChangeToCodeEdit(h,p))}return d}uncommentSelection(t,r){let{file:i,languageService:o}=this.getFileAndLanguageServiceForSyntacticOperation(t),s=this.projectService.getScriptInfoForNormalizedPath(i),l=this.getRange(t,s),d=o.uncommentSelection(i,l);if(r){let p=this.projectService.getScriptInfoForNormalizedPath(i);return d.map(h=>this.convertTextChangeToCodeEdit(h,p))}return d}mapSelectionRange(t,r){let i={textSpan:K_(t.textSpan,r)};return t.parent&&(i.parent=this.mapSelectionRange(t.parent,r)),i}getScriptInfoFromProjectService(t){let r=js(t),i=this.projectService.getScriptInfoForNormalizedPath(r);return i||(this.projectService.logErrorForScriptInfoNotFound(r),vv.ThrowNoProject())}toProtocolCallHierarchyItem(t){let r=this.getScriptInfoFromProjectService(t.file);return{name:t.name,kind:t.kind,kindModifiers:t.kindModifiers,file:t.file,containerName:t.containerName,span:K_(t.span,r),selectionSpan:K_(t.selectionSpan,r)}}toProtocolCallHierarchyIncomingCall(t){let r=this.getScriptInfoFromProjectService(t.from.file);return{from:this.toProtocolCallHierarchyItem(t.from),fromSpans:t.fromSpans.map(i=>K_(i,r))}}toProtocolCallHierarchyOutgoingCall(t,r){return{to:this.toProtocolCallHierarchyItem(t.to),fromSpans:t.fromSpans.map(i=>K_(i,r))}}prepareCallHierarchy(t){let{file:r,project:i}=this.getFileAndProject(t),o=this.projectService.getScriptInfoForNormalizedPath(r);if(o){let s=this.getPosition(t,o),l=i.getLanguageService().prepareCallHierarchy(r,s);return l&&PJ(l,d=>this.toProtocolCallHierarchyItem(d))}}provideCallHierarchyIncomingCalls(t){let{file:r,project:i}=this.getFileAndProject(t),o=this.getScriptInfoFromProjectService(r);return i.getLanguageService().provideCallHierarchyIncomingCalls(r,this.getPosition(t,o)).map(l=>this.toProtocolCallHierarchyIncomingCall(l))}provideCallHierarchyOutgoingCalls(t){let{file:r,project:i}=this.getFileAndProject(t),o=this.getScriptInfoFromProjectService(r);return i.getLanguageService().provideCallHierarchyOutgoingCalls(r,this.getPosition(t,o)).map(l=>this.toProtocolCallHierarchyOutgoingCall(l,o))}getCanonicalFileName(t){let r=this.host.useCaseSensitiveFileNames?t:C_(t);return Yo(r)}exit(){}notRequired(){return{responseRequired:!1}}requiredResponse(t){return{response:t,responseRequired:!0}}addProtocolHandler(t,r){if(this.handlers.has(t))throw new Error(`Protocol handler already exists for command \"${t}\"`);this.handlers.set(t,r)}setCurrentRequest(t){x.assert(this.currentRequestId===void 0),this.currentRequestId=t,this.cancellationToken.setRequest(t)}resetCurrentRequest(t){x.assert(this.currentRequestId===t),this.currentRequestId=void 0,this.cancellationToken.resetRequest(t)}executeWithRequestId(t,r){try{return this.setCurrentRequest(t),r()}finally{this.resetCurrentRequest(t)}}executeCommand(t){let r=this.handlers.get(t.command);if(r){let i=this.executeWithRequestId(t.seq,()=>r(t));return this.projectService.enableRequestedPlugins(),i}else return this.logger.msg(`Unrecognized JSON command:${Ub(t)}`,\"Err\"),this.doOutput(void 0,\"unknown\",t.seq,!1,`Unrecognized JSON command: ${t.command}`),{responseRequired:!1}}onMessage(t){var r,i,o,s,l,d,p,h,m,v,E;this.gcTimer.scheduleCollect(),this.performanceData=void 0;let S;this.logger.hasLevel(2)&&(S=this.hrtime(),this.logger.hasLevel(3)&&this.logger.info(`request:${qN(this.toStringMessage(t))}`));let A,C;try{A=this.parseMessage(t),C=A.arguments&&A.arguments.file?A.arguments:void 0,(r=qn)==null||r.instant(qn.Phase.Session,\"request\",{seq:A.seq,command:A.command}),(i=Pd)==null||i.logStartCommand(\"\"+A.command,this.toStringMessage(t).substring(0,100)),(o=qn)==null||o.push(qn.Phase.Session,\"executeCommand\",{seq:A.seq,command:A.command},!0);let{response:R,responseRequired:L}=this.executeCommand(A);if((s=qn)==null||s.pop(),this.logger.hasLevel(2)){let G=iet(this.hrtime(S)).toFixed(4);L?this.logger.perftrc(`${A.seq}::${A.command}: elapsed time (in milliseconds) ${G}`):this.logger.perftrc(`${A.seq}::${A.command}: async elapsed time (in milliseconds) ${G}`)}(l=Pd)==null||l.logStopCommand(\"\"+A.command,\"Success\"),(d=qn)==null||d.instant(qn.Phase.Session,\"response\",{seq:A.seq,command:A.command,success:!!R}),R?this.doOutput(R,A.command,A.seq,!0):L&&this.doOutput(void 0,A.command,A.seq,!1,\"No content available.\")}catch(R){if((p=qn)==null||p.popAll(),R instanceof k1){(h=Pd)==null||h.logStopCommand(\"\"+(A&&A.command),\"Canceled: \"+R),(m=qn)==null||m.instant(qn.Phase.Session,\"commandCanceled\",{seq:A?.seq,command:A?.command}),this.doOutput({canceled:!0},A.command,A.seq,!0);return}this.logErrorWorker(R,this.toStringMessage(t),C),(v=Pd)==null||v.logStopCommand(\"\"+(A&&A.command),\"Error: \"+R),(E=qn)==null||E.instant(qn.Phase.Session,\"commandError\",{seq:A?.seq,command:A?.command,message:R.message}),this.doOutput(void 0,A?A.command:\"unknown\",A?A.seq:0,!1,\"Error processing request. \"+R.message+`\n`+R.stack)}}parseMessage(t){return JSON.parse(t)}toStringMessage(t){return t}getFormatOptions(t){return this.projectService.getFormatCodeOptions(t)}getPreferences(t){return this.projectService.getPreferences(t)}getHostFormatOptions(){return this.projectService.getHostFormatCodeOptions()}getHostPreferences(){return this.projectService.getHostPreferences()}}}}),VI,x$,qMe,JMe,b7,E7,bme,EP,jI,$O,Aet=pt({\"src/server/scriptVersionCache.ts\"(){\"use strict\";Ty(),hT(),VI=4,x$=(e=>(e[e.PreStart=0]=\"PreStart\",e[e.Start=1]=\"Start\",e[e.Entire=2]=\"Entire\",e[e.Mid=3]=\"Mid\",e[e.End=4]=\"End\",e[e.PostEnd=5]=\"PostEnd\",e))(x$||{}),qMe=class{constructor(){this.goSubtree=!0,this.lineIndex=new EP,this.endBranch=[],this.state=2,this.initialText=\"\",this.trailingText=\"\",this.lineIndex.root=new jI,this.startPath=[this.lineIndex.root],this.stack=[this.lineIndex.root]}get done(){return!1}insertLines(e,t){t&&(this.trailingText=\"\"),e?e=this.initialText+e+this.trailingText:e=this.initialText+this.trailingText;let i=EP.linesFromText(e).lines;i.length>1&&i[i.length-1]===\"\"&&i.pop();let o,s;for(let d=this.endBranch.length-1;d>=0;d--)this.endBranch[d].updateCounts(),this.endBranch[d].charCount()===0&&(s=this.endBranch[d],d>0?o=this.endBranch[d-1]:o=this.branchNode);s&&o.remove(s);let l=this.startPath[this.startPath.length-1];if(i.length>0)if(l.text=i[0],i.length>1){let d=new Array(i.length-1),p=l;for(let v=1;v<i.length;v++)d[v-1]=new $O(i[v]);let h=this.startPath.length-2;for(;h>=0;){let v=this.startPath[h];d=v.insertAt(p,d),h--,p=v}let m=d.length;for(;m>0;){let v=new jI;v.add(this.lineIndex.root),d=v.insertAt(this.lineIndex.root,d),m=d.length,this.lineIndex.root=v}this.lineIndex.root.updateCounts()}else for(let d=this.startPath.length-2;d>=0;d--)this.startPath[d].updateCounts();else{this.startPath[this.startPath.length-2].remove(l);for(let p=this.startPath.length-2;p>=0;p--)this.startPath[p].updateCounts()}return this.lineIndex}post(e,t,r){r===this.lineCollectionAtBranch&&(this.state=4),this.stack.pop()}pre(e,t,r,i,o){let s=this.stack[this.stack.length-1];this.state===2&&o===1&&(this.state=1,this.branchNode=s,this.lineCollectionAtBranch=r);let l;function d(p){return p.isLeaf()?new $O(\"\"):new jI}switch(o){case 0:this.goSubtree=!1,this.state!==4&&s.add(r);break;case 1:this.state===4?this.goSubtree=!1:(l=d(r),s.add(l),this.startPath.push(l));break;case 2:this.state!==4?(l=d(r),s.add(l),this.startPath.push(l)):r.isLeaf()||(l=d(r),s.add(l),this.endBranch.push(l));break;case 3:this.goSubtree=!1;break;case 4:this.state!==4?this.goSubtree=!1:r.isLeaf()||(l=d(r),s.add(l),this.endBranch.push(l));break;case 5:this.goSubtree=!1,this.state!==1&&s.add(r);break}this.goSubtree&&this.stack.push(l)}leaf(e,t,r){this.state===1?this.initialText=r.text.substring(0,e):this.state===2?(this.initialText=r.text.substring(0,e),this.trailingText=r.text.substring(e+t)):this.trailingText=r.text.substring(e+t)}},JMe=class{constructor(e,t,r){this.pos=e,this.deleteLen=t,this.insertedText=r}getTextChangeRange(){return FM(qc(this.pos,this.deleteLen),this.insertedText?this.insertedText.length:0)}},b7=class _A{constructor(){this.changes=[],this.versions=new Array(_A.maxVersions),this.minVersion=0,this.currentVersion=0}versionToIndex(t){if(!(t<this.minVersion||t>this.currentVersion))return t%_A.maxVersions}currentVersionToIndex(){return this.currentVersion%_A.maxVersions}edit(t,r,i){this.changes.push(new JMe(t,r,i)),(this.changes.length>_A.changeNumberThreshold||r>_A.changeLengthThreshold||i&&i.length>_A.changeLengthThreshold)&&this.getSnapshot()}getSnapshot(){return this._getSnapshot()}_getSnapshot(){let t=this.versions[this.currentVersionToIndex()];if(this.changes.length>0){let r=t.index;for(let i of this.changes)r=r.edit(i.pos,i.deleteLen,i.insertedText);t=new bme(this.currentVersion+1,this,r,this.changes),this.currentVersion=t.version,this.versions[this.currentVersionToIndex()]=t,this.changes=[],this.currentVersion-this.minVersion>=_A.maxVersions&&(this.minVersion=this.currentVersion-_A.maxVersions+1)}return t}getSnapshotVersion(){return this._getSnapshot().version}getAbsolutePositionAndLineText(t){return this._getSnapshot().index.lineNumberToInfo(t)}lineOffsetToPosition(t,r){return this._getSnapshot().index.absolutePositionOfStartOfLine(t)+(r-1)}positionToLineOffset(t){return this._getSnapshot().index.positionToLineOffset(t)}lineToTextSpan(t){let r=this._getSnapshot().index,{lineText:i,absolutePosition:o}=r.lineNumberToInfo(t+1),s=i!==void 0?i.length:r.absolutePositionOfStartOfLine(t+2)-o;return qc(o,s)}getTextChangesBetweenVersions(t,r){if(t<r)if(t>=this.minVersion){let i=[];for(let o=t+1;o<=r;o++){let s=this.versions[this.versionToIndex(o)];for(let l of s.changesSincePreviousVersion)i.push(l.getTextChangeRange())}return xee(i)}else return;else return eL}getLineCount(){return this._getSnapshot().index.getLineCount()}static fromString(t){let r=new _A,i=new bme(0,r,new EP);r.versions[r.currentVersion]=i;let o=EP.linesFromText(t);return i.index.load(o.lines),r}},b7.changeNumberThreshold=8,b7.changeLengthThreshold=256,b7.maxVersions=8,E7=b7,bme=class SWe{constructor(t,r,i,o=ql){this.version=t,this.cache=r,this.index=i,this.changesSincePreviousVersion=o}getText(t,r){return this.index.getText(t,r-t)}getLength(){return this.index.getLength()}getChangeRange(t){if(t instanceof SWe&&this.cache===t.cache)return this.version<=t.version?eL:this.cache.getTextChangesBetweenVersions(t.version,this.version)}},EP=class tve{constructor(){this.checkEdits=!1}absolutePositionOfStartOfLine(t){return this.lineNumberToInfo(t).absolutePosition}positionToLineOffset(t){let{oneBasedLine:r,zeroBasedColumn:i}=this.root.charOffsetToLineInfo(1,t);return{line:r,offset:i+1}}positionToColumnAndLineText(t){return this.root.charOffsetToLineInfo(1,t)}getLineCount(){return this.root.lineCount()}lineNumberToInfo(t){let r=this.getLineCount();if(t<=r){let{position:i,leaf:o}=this.root.lineNumberToInfo(t,0);return{absolutePosition:i,lineText:o&&o.text}}else return{absolutePosition:this.root.charCount(),lineText:void 0}}load(t){if(t.length>0){let r=[];for(let i=0;i<t.length;i++)r[i]=new $O(t[i]);this.root=tve.buildTreeFromBottom(r)}else this.root=new jI}walk(t,r,i){this.root.walk(t,r,i)}getText(t,r){let i=\"\";return r>0&&t<this.root.charCount()&&this.walk(t,r,{goSubtree:!0,done:!1,leaf:(o,s,l)=>{i=i.concat(l.text.substring(o,o+s))}}),i}getLength(){return this.root.charCount()}every(t,r,i){i||(i=this.root.charCount());let o={goSubtree:!0,done:!1,leaf(s,l,d){t(d,s,l)||(this.done=!0)}};return this.walk(r,i-r,o),!o.done}edit(t,r,i){if(this.root.charCount()===0)return x.assert(r===0),i!==void 0?(this.load(tve.linesFromText(i).lines),this):void 0;{let o;if(this.checkEdits){let d=this.getText(0,this.root.charCount());o=d.slice(0,t)+i+d.slice(t+r)}let s=new qMe,l=!1;if(t>=this.root.charCount()){t=this.root.charCount()-1;let d=this.getText(t,1);i?i=d+i:i=d,r=0,l=!0}else if(r>0){let d=t+r,{zeroBasedColumn:p,lineText:h}=this.positionToColumnAndLineText(d);p===0&&(r+=h.length,i=i?i+h:h)}if(this.root.walk(t,r,s),s.insertLines(i,l),this.checkEdits){let d=s.lineIndex.getText(0,s.lineIndex.getLength());x.assert(o===d,\"buffer edit mismatch\")}return s.lineIndex}}static buildTreeFromBottom(t){if(t.length<VI)return new jI(t);let r=new Array(Math.ceil(t.length/VI)),i=0;for(let o=0;o<r.length;o++){let s=Math.min(i+VI,t.length);r[o]=new jI(t.slice(i,s)),i=s}return this.buildTreeFromBottom(r)}static linesFromText(t){let r=IA(t);if(r.length===0)return{lines:[],lineMap:r};let i=new Array(r.length),o=r.length-1;for(let l=0;l<o;l++)i[l]=t.substring(r[l],r[l+1]);let s=t.substring(r[o]);return s.length>0?i[o]=s:i.pop(),{lines:i,lineMap:r}}},jI=class nve{constructor(t=[]){this.children=t,this.totalChars=0,this.totalLines=0,t.length&&this.updateCounts()}isLeaf(){return!1}updateCounts(){this.totalChars=0,this.totalLines=0;for(let t of this.children)this.totalChars+=t.charCount(),this.totalLines+=t.lineCount()}execWalk(t,r,i,o,s){return i.pre&&i.pre(t,r,this.children[o],this,s),i.goSubtree?(this.children[o].walk(t,r,i),i.post&&i.post(t,r,this.children[o],this,s)):i.goSubtree=!0,i.done}skipChild(t,r,i,o,s){o.pre&&!o.done&&(o.pre(t,r,this.children[i],this,s),o.goSubtree=!0)}walk(t,r,i){let o=0,s=this.children[o].charCount(),l=t;for(;l>=s;)this.skipChild(l,r,o,i,0),l-=s,o++,s=this.children[o].charCount();if(l+r<=s){if(this.execWalk(l,r,i,o,2))return}else{if(this.execWalk(l,s-l,i,o,1))return;let d=r-(s-l);for(o++,s=this.children[o].charCount();d>s;){if(this.execWalk(0,s,i,o,3))return;d-=s,o++,s=this.children[o].charCount()}if(d>0&&this.execWalk(0,d,i,o,4))return}if(i.pre){let d=this.children.length;if(o<d-1)for(let p=o+1;p<d;p++)this.skipChild(0,0,p,i,5)}}charOffsetToLineInfo(t,r){if(this.children.length===0)return{oneBasedLine:t,zeroBasedColumn:r,lineText:void 0};for(let s of this.children){if(s.charCount()>r)return s.isLeaf()?{oneBasedLine:t,zeroBasedColumn:r,lineText:s.text}:s.charOffsetToLineInfo(t,r);r-=s.charCount(),t+=s.lineCount()}let i=this.lineCount();if(i===0)return{oneBasedLine:1,zeroBasedColumn:0,lineText:void 0};let o=x.checkDefined(this.lineNumberToInfo(i,0).leaf);return{oneBasedLine:i,zeroBasedColumn:o.charCount(),lineText:void 0}}lineNumberToInfo(t,r){for(let i of this.children){let o=i.lineCount();if(o>=t)return i.isLeaf()?{position:r,leaf:i}:i.lineNumberToInfo(t,r);t-=o,r+=i.charCount()}return{position:r,leaf:void 0}}splitAfter(t){let r,i=this.children.length;t++;let o=t;if(t<i){for(r=new nve;t<i;)r.add(this.children[t]),t++;r.updateCounts()}return this.children.length=o,r}remove(t){let r=this.findChildIndex(t),i=this.children.length;if(r<i-1)for(let o=r;o<i-1;o++)this.children[o]=this.children[o+1];this.children.pop()}findChildIndex(t){let r=this.children.indexOf(t);return x.assert(r!==-1),r}insertAt(t,r){let i=this.findChildIndex(t),o=this.children.length,s=r.length;if(o<VI&&i===o-1&&s===1)return this.add(r[0]),this.updateCounts(),[];{let l=this.splitAfter(i),d=0;for(i++;i<VI&&d<s;)this.children[i]=r[d],i++,d++;let p=[],h=0;if(d<s){h=Math.ceil((s-d)/VI),p=new Array(h);let m=0;for(let E=0;E<h;E++)p[E]=new nve;let v=p[0];for(;d<s;)v.add(r[d]),d++,v.children.length===VI&&(m++,v=p[m]);for(let E=p.length-1;E>=0;E--)p[E].children.length===0&&p.pop()}l&&p.push(l),this.updateCounts();for(let m=0;m<h;m++)p[m].updateCounts();return p}}add(t){this.children.push(t),x.assert(this.children.length<=VI)}charCount(){return this.totalChars}lineCount(){return this.totalLines}},$O=class{constructor(e){this.text=e}isLeaf(){return!0}walk(e,t,r){r.leaf(e,t,this)}charCount(){return this.text.length}lineCount(){return 1}}}}),Eme,Sme,Iet=pt({\"src/server/typingInstallerAdapter.ts\"(){\"use strict\";Ty(),hT(),Eme=class TWe{constructor(t,r,i,o,s,l){this.telemetryEnabled=t,this.logger=r,this.host=i,this.globalTypingsCacheLocation=o,this.event=s,this.maxActiveRequestCount=l,this.activeRequestCount=0,this.requestQueue=mM(),this.requestMap=new Map,this.requestedRegistry=!1,this.packageInstallId=0}isKnownTypesPackageName(t){var r;return l_.validatePackageName(t)!==l_.NameValidationResult.Ok?!1:(this.requestedRegistry||(this.requestedRegistry=!0,this.installer.send({kind:\"typesRegistry\"})),!!((r=this.typesRegistryCache)!=null&&r.has(t)))}installPackage(t){this.packageInstallId++;let r={kind:\"installPackage\",...t,id:this.packageInstallId},i=new Promise((o,s)=>{(this.packageInstalledPromise??(this.packageInstalledPromise=new Map)).set(this.packageInstallId,{resolve:o,reject:s})});return this.installer.send(r),i}attach(t){this.projectService=t,this.installer=this.createInstallerProcess()}onProjectClosed(t){this.installer.send({projectName:t.getProjectName(),kind:\"closeProject\"})}enqueueInstallTypingsRequest(t,r,i){let o=Rfe(t,r,i);this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Scheduling throttled operation:${Ub(o)}`),this.activeRequestCount<this.maxActiveRequestCount?this.scheduleRequest(o):(this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Deferring request for: ${o.projectName}`),this.requestQueue.enqueue(o),this.requestMap.set(o.projectName,o))}handleMessage(t){var r,i;switch(this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Received response:${Ub(t)}`),t.kind){case r3:this.typesRegistryCache=new Map(Object.entries(t.typesRegistry));break;case Nk:{let o=(r=this.packageInstalledPromise)==null?void 0:r.get(t.id);x.assertIsDefined(o,\"Should find the promise for package install\"),(i=this.packageInstalledPromise)==null||i.delete(t.id),t.success?o.resolve({successMessage:t.message}):o.reject(t.message),this.projectService.updateTypingsForProject(t),this.event(t,\"setTypings\");break}case hq:{let o={message:t.message};this.event(o,\"typesInstallerInitializationFailed\");break}case i3:{let o={eventId:t.eventId,packages:t.packagesToInstall};this.event(o,\"beginInstallTypes\");break}case o3:{if(this.telemetryEnabled){let l={telemetryEventName:\"typingsInstalled\",payload:{installedPackages:t.packagesToInstall.join(\",\"),installSuccess:t.installSuccess,typingsInstallerVersion:t.typingsInstallerVersion}};this.event(l,\"telemetry\")}let o={eventId:t.eventId,packages:t.packagesToInstall,success:t.installSuccess};this.event(o,\"endInstallTypes\");break}case Ck:{this.projectService.updateTypingsForProject(t);break}case Dk:{for(this.activeRequestCount>0?this.activeRequestCount--:x.fail(\"TIAdapter:: Received too many responses\");!this.requestQueue.isEmpty();){let o=this.requestQueue.dequeue();if(this.requestMap.get(o.projectName)===o){this.requestMap.delete(o.projectName),this.scheduleRequest(o);break}this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Skipping defunct request for: ${o.projectName}`)}this.projectService.updateTypingsForProject(t),this.event(t,\"setTypings\");break}case JN:this.projectService.watchTypingLocations(t);break;default:}}scheduleRequest(t){this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Scheduling request for: ${t.projectName}`),this.activeRequestCount++,this.host.setTimeout(()=>{this.logger.hasLevel(3)&&this.logger.info(`TIAdapter:: Sending request:${Ub(t)}`),this.installer.send(t)},TWe.requestDelayMillis,`${t.projectName}::${t.kind}`)}},Eme.requestDelayMillis=100,Sme=Eme}}),KMe={};la(KMe,{ActionInvalidate:()=>Ck,ActionPackageInstalled:()=>Nk,ActionSet:()=>Dk,ActionWatchTypingLocations:()=>JN,Arguments:()=>gq,AutoImportProviderProject:()=>f$,AuxiliaryProject:()=>u$,CharRangeSection:()=>x$,CloseFileWatcherEvent:()=>g7,CommandNames:()=>gme,ConfigFileDiagEvent:()=>p7,ConfiguredProject:()=>m$,CreateDirectoryWatcherEvent:()=>h7,CreateFileWatcherEvent:()=>_7,Errors:()=>vv,EventBeginInstallTypes:()=>i3,EventEndInstallTypes:()=>o3,EventInitializationFailed:()=>hq,EventTypesRegistry:()=>r3,ExternalProject:()=>o7,GcTimer:()=>i$,InferredProject:()=>d$,LargeFileReferencedEvent:()=>u7,LineIndex:()=>EP,LineLeaf:()=>$O,LineNode:()=>jI,LogLevel:()=>e$,Msg:()=>t$,OpenFileInfoTelemetryEvent:()=>v$,Project:()=>_T,ProjectInfoTelemetryEvent:()=>m7,ProjectKind:()=>yP,ProjectLanguageServiceStateEvent:()=>f7,ProjectLoadingFinishEvent:()=>d7,ProjectLoadingStartEvent:()=>c7,ProjectReferenceProjectLoadKind:()=>E$,ProjectService:()=>S$,ProjectsUpdatedInBackgroundEvent:()=>KO,ScriptInfo:()=>s$,ScriptVersionCache:()=>E7,Session:()=>yme,TextStorage:()=>a$,ThrottledOperations:()=>r$,TypingsCache:()=>l$,TypingsInstallerAdapter:()=>Sme,allFilesAreJsOrDts:()=>Xfe,allRootFilesAreJsOrDts:()=>Kfe,asNormalizedPath:()=>TMe,convertCompilerOptions:()=>a7,convertFormatOptions:()=>zR,convertScriptKindName:()=>h$,convertTypeAcquisition:()=>Qfe,convertUserPreferences:()=>Zfe,convertWatchOptions:()=>JO,countEachFileTypes:()=>HO,createInstallTypingsRequest:()=>Rfe,createModuleSpecifierCache:()=>cme,createNormalizedPathMap:()=>AMe,createPackageJsonCache:()=>dme,createSortedArray:()=>Mfe,emptyArray:()=>ql,findArgument:()=>uAe,forEachResolvedProjectReferenceProject:()=>BR,formatDiagnosticToProtocol:()=>YO,formatMessage:()=>ume,getBaseConfigFileName:()=>n$,getLocationInNewDocument:()=>_me,hasArgument:()=>dAe,hasNoTypeScriptSource:()=>Yfe,indent:()=>qN,isBackgroundProject:()=>qO,isConfigFile:()=>ome,isConfiguredProject:()=>Yb,isDynamicFileName:()=>UO,isExternalProject:()=>c$,isInferredProject:()=>FR,isInferredProjectName:()=>Dfe,makeAutoImportProviderProjectName:()=>Nfe,makeAuxiliaryProjectName:()=>Pfe,makeInferredProjectName:()=>Cfe,maxFileSize:()=>l7,maxProgramSizeForNonTsFiles:()=>s7,normalizedPathToPath:()=>jO,nowString:()=>pAe,nullCancellationToken:()=>hme,nullTypingsInstaller:()=>i7,projectContainsInfoDirectly:()=>GI,protocol:()=>Jfe,removeSorted:()=>IMe,stringifyIndented:()=>Ub,toEvent:()=>pme,toNormalizedPath:()=>js,tryConvertScriptKindName:()=>_$,typingsInstaller:()=>Ife,updateProjectIfDirty:()=>up});var hT=pt({\"src/server/_namespaces/ts.server.ts\"(){\"use strict\";a3(),xfe(),wZe(),WZe(),FZe(),zZe(),VZe(),qZe(),YZe(),tet(),net(),ret(),Tet(),Aet(),Iet()}}),XMe={};la(XMe,{ANONYMOUS:()=>Y3,AccessFlags:()=>HB,AssertionLevel:()=>hB,AssignmentDeclarationKind:()=>eG,AssignmentKind:()=>VV,Associativity:()=>UV,BreakpointResolver:()=>jK,BuilderFileEmit:()=>JH,BuilderProgramKind:()=>KH,BuilderState:()=>Qf,BundleFileSectionKind:()=>vG,CallHierarchy:()=>LI,CharacterCodes:()=>uG,CheckFlags:()=>BB,CheckMode:()=>c4,ClassificationType:()=>wq,ClassificationTypeNames:()=>Oq,CommentDirectiveType:()=>IB,Comparison:()=>q5,CompletionInfoFlags:()=>Dq,CompletionTriggerKind:()=>Tq,Completions:()=>FI,ContainerFlags:()=>wU,ContextFlags:()=>PB,Debug:()=>x,DiagnosticCategory:()=>bM,Diagnostics:()=>f,DocumentHighlights:()=>Z3,ElementFlags:()=>UB,EmitFlags:()=>y8,EmitHint:()=>_G,EmitOnly:()=>RB,EndOfLineState:()=>Pq,EnumKind:()=>zB,ExitStatus:()=>DB,ExportKind:()=>UJ,Extension:()=>pG,ExternalEmitHelpers:()=>mG,FileIncludeKind:()=>d8,FilePreprocessingDiagnosticsKind:()=>xB,FileSystemEntryKind:()=>AG,FileWatcherEventKind:()=>TG,FindAllReferences:()=>fs,FlattenLevel:()=>eH,FlowFlags:()=>yM,ForegroundColorEscapeSequences:()=>zH,FunctionFlags:()=>jV,GeneratedIdentifierFlags:()=>c8,GetLiteralTextFlags:()=>zV,GoToDefinition:()=>LR,HighlightSpanKind:()=>Iq,IdentifierNameMap:()=>SI,IdentifierNameMultiMap:()=>ZU,ImportKind:()=>jJ,ImportsNotUsedAsValues:()=>aG,IndentStyle:()=>xq,IndexFlags:()=>qB,IndexKind:()=>XB,InferenceFlags:()=>QB,InferencePriority:()=>$B,InlayHintKind:()=>Aq,InlayHints:()=>OY,InternalEmitFlags:()=>fG,InternalSymbolName:()=>GB,InvalidatedProjectKind:()=>_q,JSDocParsingMode:()=>EG,JsDoc:()=>Xb,JsTyping:()=>l_,JsxEmit:()=>oG,JsxFlags:()=>TB,JsxReferenceKind:()=>JB,LanguageServiceMode:()=>bq,LanguageVariant:()=>cG,LexicalEnvironmentFlags:()=>gG,ListFormat:()=>yG,LogLevel:()=>vB,MemberOverrideStatus:()=>CB,ModifierFlags:()=>s8,ModuleDetectionKind:()=>tG,ModuleInstanceState:()=>OU,ModuleKind:()=>HD,ModuleResolutionKind:()=>O1,ModuleSpecifierEnding:()=>ZV,NavigateTo:()=>jle,NavigationBar:()=>Zle,NewLineKind:()=>sG,NodeBuilderFlags:()=>MB,NodeCheckFlags:()=>VB,NodeFactoryFlags:()=>sj,NodeFlags:()=>a8,NodeResolutionFeatures:()=>MU,ObjectFlags:()=>m8,OperationCanceledException:()=>k1,OperatorPrecedence:()=>HV,OrganizeImports:()=>Zf,OrganizeImportsMode:()=>Sq,OuterExpressionKinds:()=>hG,OutliningElementsCollector:()=>zY,OutliningSpanKind:()=>Cq,OutputFileType:()=>Nq,PackageJsonAutoImportPreference:()=>yq,PackageJsonDependencyGroup:()=>vq,PatternMatchKind:()=>ez,PollingInterval:()=>b8,PollingWatchKind:()=>iG,PragmaKindFlags:()=>bG,PrivateIdentifierKind:()=>mj,ProcessLevel:()=>iH,ProgramUpdateLevel:()=>bH,QuotePreference:()=>WJ,RelationComparisonResult:()=>l8,Rename:()=>$z,ScriptElementKind:()=>Lq,ScriptElementKindModifier:()=>kq,ScriptKind:()=>h8,ScriptSnapshot:()=>l3,ScriptTarget:()=>lG,SemanticClassificationFormat:()=>Eq,SemanticMeaning:()=>wJ,SemicolonPreference:()=>Rq,SignatureCheckMode:()=>d4,SignatureFlags:()=>_8,SignatureHelp:()=>OO,SignatureKind:()=>KB,SmartSelectionRange:()=>VY,SnippetKind:()=>v8,SortKind:()=>_B,StructureIsReused:()=>u8,SymbolAccessibility:()=>OB,SymbolDisplay:()=>gv,SymbolDisplayPartKind:()=>Mk,SymbolFlags:()=>p8,SymbolFormatFlags:()=>kB,SyntaxKind:()=>o8,SyntheticSymbolKind:()=>wB,Ternary:()=>ZB,ThrottledCancellationToken:()=>VK,TokenClass:()=>Mq,TokenFlags:()=>AB,TransformFlags:()=>g8,TypeFacts:()=>l4,TypeFlags:()=>f8,TypeFormatFlags:()=>LB,TypeMapKind:()=>YB,TypePredicateKind:()=>WB,TypeReferenceSerializationKind:()=>FB,UnionReduction:()=>NB,UpToDateStatusType:()=>uq,VarianceFlags:()=>jB,Version:()=>zf,VersionRange:()=>hM,WatchDirectoryFlags:()=>dG,WatchDirectoryKind:()=>rG,WatchFileKind:()=>nG,WatchLogLevel:()=>EH,WatchType:()=>dc,accessPrivateIdentifier:()=>Boe,addDisposableResourceHelper:()=>s6,addEmitFlags:()=>e_,addEmitHelper:()=>$A,addEmitHelpers:()=>ag,addInternalEmitFlags:()=>XA,addNodeFactoryPatcher:()=>Lbe,addObjectAllocatorPatcher:()=>Vne,addRange:()=>Pr,addRelatedInfo:()=>fa,addSyntheticLeadingComment:()=>iN,addSyntheticTrailingComment:()=>kF,addToSeen:()=>Jf,advancedAsyncSuperHelper:()=>y2,affectsDeclarationPathOptionDeclarations:()=>mU,affectsEmitOptionDeclarations:()=>fU,allKeysStartWithDot:()=>t4,altDirectorySeparator:()=>DM,and:()=>Zw,append:()=>pn,appendIfUnique:()=>Kh,arrayFrom:()=>bo,arrayIsEqualTo:()=>mm,arrayIsHomogeneous:()=>lre,arrayIsSorted:()=>Hw,arrayOf:()=>OZ,arrayReverseIterator:()=>tB,arrayToMap:()=>PE,arrayToMultiMap:()=>fM,arrayToNumericMap:()=>WZ,arraysEqual:()=>dM,assertType:()=>fve,assign:()=>R1,assignHelper:()=>GF,asyncDelegator:()=>jF,asyncGeneratorHelper:()=>VF,asyncSuperHelper:()=>v2,asyncValues:()=>UF,attachFileToDiagnostics:()=>UA,awaitHelper:()=>QA,awaiterHelper:()=>qF,base64decode:()=>Pne,base64encode:()=>Nne,binarySearch:()=>Vg,binarySearchKey:()=>gA,bindSourceFile:()=>_oe,breakIntoCharacterSpans:()=>wle,breakIntoWordSpans:()=>Wle,buildLinkParts:()=>ale,buildOpts:()=>U6,buildOverload:()=>gMe,bundlerModuleNameResolver:()=>ooe,canBeConvertedToAsync:()=>tK,canHaveDecorators:()=>ZS,canHaveExportModifier:()=>e2,canHaveFlowNode:()=>DL,canHaveIllegalDecorators:()=>jj,canHaveIllegalModifiers:()=>yie,canHaveIllegalType:()=>lEe,canHaveIllegalTypeParameters:()=>vie,canHaveJSDoc:()=>CL,canHaveLocals:()=>L_,canHaveModifiers:()=>Yf,canHaveSymbol:()=>qm,canJsonReportNoInputFiles:()=>TN,canProduceDiagnostics:()=>T4,canUsePropertyAccess:()=>OV,canWatchAffectingLocation:()=>Jae,canWatchAtTypes:()=>qae,canWatchDirectoryOrFile:()=>U4,cartesianProduct:()=>JZ,cast:()=>Fo,chainBundle:()=>$f,chainDiagnosticMessages:()=>So,changeAnyExtension:()=>xM,changeCompilerHostLikeToUseCache:()=>bk,changeExtension:()=>Nb,changeFullExtension:()=>pee,changesAffectModuleResolution:()=>Y8,changesAffectingProgramStructure:()=>mte,childIsDecorated:()=>hC,classElementOrClassElementParameterIsDecorated:()=>D9,classHasClassThisAssignment:()=>tH,classHasDeclaredOrExplicitlyAssignedName:()=>nH,classHasExplicitlyAssignedName:()=>b4,classOrConstructorParameterIsDecorated:()=>Qg,classPrivateFieldGetHelper:()=>i6,classPrivateFieldInHelper:()=>a6,classPrivateFieldSetHelper:()=>o6,classicNameResolver:()=>uoe,classifier:()=>Kce,cleanExtendedConfigCache:()=>P4,clear:()=>ph,clearMap:()=>Au,clearSharedExtendedConfigFileWatcher:()=>gH,climbPastPropertyAccess:()=>d3,climbPastPropertyOrElementAccess:()=>Lse,clone:()=>aB,cloneCompilerOptions:()=>tJ,closeFileWatcher:()=>vm,closeFileWatcherOf:()=>Qp,codefix:()=>ud,collapseTextChangeRangesAcrossMultipleVersions:()=>xee,collectExternalModuleInfo:()=>XU,combine:()=>x1,combinePaths:()=>wr,commentPragmas:()=>EM,commonOptionsWithBuild:()=>X2,commonPackageFolders:()=>KV,compact:()=>pM,compareBooleans:()=>zv,compareDataObjects:()=>vV,compareDiagnostics:()=>zC,compareDiagnosticsSkipRelatedInformation:()=>tF,compareEmitHelpers:()=>Fre,compareNumberOfDirectorySeparators:()=>$L,comparePaths:()=>Xh,comparePathsCaseInsensitive:()=>Bve,comparePathsCaseSensitive:()=>zve,comparePatternKeys:()=>NU,compareProperties:()=>jZ,compareStringsCaseInsensitive:()=>$w,compareStringsCaseInsensitiveEslintCompatible:()=>BZ,compareStringsCaseSensitive:()=>gd,compareStringsCaseSensitiveUI:()=>_M,compareTextSpans:()=>Yw,compareValues:()=>Ms,compileOnSaveCommandLineOption:()=>J2,compilerOptionsAffectDeclarationPath:()=>Qne,compilerOptionsAffectEmit:()=>$ne,compilerOptionsAffectSemanticDiagnostics:()=>Yne,compilerOptionsDidYouMeanDiagnostics:()=>Q2,compilerOptionsIndicateEsModules:()=>sJ,compose:()=>uve,computeCommonSourceDirectoryOfFilenames:()=>Iae,computeLineAndCharacterOfPosition:()=>W1,computeLineOfPosition:()=>XD,computeLineStarts:()=>IA,computePositionOfLineAndCharacter:()=>R8,computeSignature:()=>oT,computeSignatureWithDiagnostics:()=>jH,computeSuggestionDiagnostics:()=>QJ,computedOptions:()=>Ul,concatenate:()=>ro,concatenateDiagnosticMessageChains:()=>qne,consumesNodeCoreModules:()=>j3,contains:()=>To,containsIgnoredPath:()=>KC,containsObjectRestOrSpread:()=>F2,containsParseError:()=>X1,containsPath:()=>Bf,convertCompilerOptionsForTelemetry:()=>Vie,convertCompilerOptionsFromJson:()=>u0e,convertJsonOption:()=>eT,convertToBase64:()=>Cne,convertToJson:()=>U2,convertToObject:()=>Wie,convertToOptionsWithAbsolutePaths:()=>sU,convertToRelativePath:()=>KD,convertToTSConfig:()=>$Ee,convertTypeAcquisitionFromJson:()=>p0e,copyComments:()=>cT,copyEntries:()=>$8,copyLeadingComments:()=>bR,copyProperties:()=>sB,copyTrailingAsLeadingComments:()=>Qk,copyTrailingComments:()=>nP,couldStartTrivia:()=>hee,countWhere:()=>Wv,createAbstractBuilder:()=>vTe,createAccessorPropertyBackingField:()=>Hj,createAccessorPropertyGetRedirector:()=>Rie,createAccessorPropertySetRedirector:()=>Die,createBaseNodeFactory:()=>Sre,createBinaryExpressionTrampoline:()=>M6,createBindingHelper:()=>Lx,createBuildInfo:()=>_k,createBuilderProgram:()=>UH,createBuilderProgramUsingProgramBuildInfo:()=>Uae,createBuilderStatusReporter:()=>sse,createCacheWithRedirects:()=>SU,createCacheableExportInfoMap:()=>BJ,createCachedDirectoryStructureHost:()=>C4,createClassNamedEvaluationHelperBlock:()=>qoe,createClassThisAssignmentBlock:()=>Uoe,createClassifier:()=>OAe,createCommentDirectivesMap:()=>bte,createCompilerDiagnostic:()=>bl,createCompilerDiagnosticForInvalidCustomType:()=>Mie,createCompilerDiagnosticFromMessageChain:()=>eF,createCompilerHost:()=>xae,createCompilerHostFromProgramHost:()=>sq,createCompilerHostWorker:()=>AH,createDetachedDiagnostic:()=>Ix,createDiagnosticCollection:()=>hx,createDiagnosticForFileFromMessageChain:()=>T9,createDiagnosticForNode:()=>vr,createDiagnosticForNodeArray:()=>Q1,createDiagnosticForNodeArrayFromMessageChain:()=>sL,createDiagnosticForNodeFromMessageChain:()=>eg,createDiagnosticForNodeInSourceFile:()=>vf,createDiagnosticForRange:()=>Mte,createDiagnosticMessageChainFromDiagnostic:()=>Pte,createDiagnosticReporter:()=>Ik,createDocumentPositionMapper:()=>koe,createDocumentRegistry:()=>Ile,createDocumentRegistryInternal:()=>JJ,createEmitAndSemanticDiagnosticsBuilderProgram:()=>XH,createEmitHelperFactory:()=>Wre,createEmptyExports:()=>N2,createExpressionForJsxElement:()=>uie,createExpressionForJsxFragment:()=>pie,createExpressionForObjectLiteralElementLike:()=>fie,createExpressionForPropertyName:()=>Wj,createExpressionFromEntityName:()=>P2,createExternalHelpersImportDeclarationIfNeeded:()=>Bj,createFileDiagnostic:()=>Rc,createFileDiagnosticFromMessageChain:()=>aW,createForOfBindingStatement:()=>wj,createGetCanonicalFileName:()=>od,createGetSourceFile:()=>SH,createGetSymbolAccessibilityDiagnosticForNode:()=>cv,createGetSymbolAccessibilityDiagnosticForNodeName:()=>hae,createGetSymbolWalker:()=>hoe,createIncrementalCompilerHost:()=>cq,createIncrementalProgram:()=>ose,createInputFiles:()=>Obe,createInputFilesWithFilePaths:()=>oj,createInputFilesWithFileTexts:()=>aj,createJsxFactoryExpression:()=>Oj,createLanguageService:()=>Vce,createLanguageServiceSourceFile:()=>Az,createMemberAccessForPropertyName:()=>QS,createModeAwareCache:()=>bI,createModeAwareCacheKey:()=>DN,createModuleNotFoundChain:()=>Q8,createModuleResolutionCache:()=>Qx,createModuleResolutionLoader:()=>NH,createModuleResolutionLoaderUsingGlobalCache:()=>$ae,createModuleSpecifierResolutionHost:()=>lT,createMultiMap:()=>Ep,createNodeConverters:()=>Are,createNodeFactory:()=>d2,createOptionNameMap:()=>O6,createOverload:()=>QY,createPackageJsonImportFilter:()=>oP,createPackageJsonInfo:()=>DJ,createParenthesizerRules:()=>Tre,createPatternMatcher:()=>Nle,createPrependNodes:()=>WH,createPrinter:()=>Vb,createPrinterWithDefaults:()=>_H,createPrinterWithRemoveComments:()=>y0,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>hH,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>hk,createProgram:()=>w4,createProgramHost:()=>lq,createPropertyNameNodeForIdentifierOrLiteral:()=>vF,createQueue:()=>mM,createRange:()=>qp,createRedirectedBuilderProgram:()=>qH,createResolutionCache:()=>$H,createRuntimeTypeSerializer:()=>$oe,createScanner:()=>Kg,createSemanticDiagnosticsBuilderProgram:()=>gTe,createSet:()=>lB,createSolutionBuilder:()=>kTe,createSolutionBuilderHost:()=>MTe,createSolutionBuilderWithWatch:()=>OTe,createSolutionBuilderWithWatchHost:()=>LTe,createSortedArray:()=>eB,createSourceFile:()=>B2,createSourceMapGenerator:()=>Noe,createSourceMapSource:()=>wbe,createSuperAccessVariableStatement:()=>S4,createSymbolTable:()=>Vo,createSymlinkCache:()=>IV,createSystemWatchFunctions:()=>lee,createTextChange:()=>jk,createTextChangeFromStartLength:()=>A3,createTextChangeRange:()=>FM,createTextRangeFromNode:()=>iJ,createTextRangeFromSpan:()=>T3,createTextSpan:()=>qc,createTextSpanFromBounds:()=>Gl,createTextSpanFromNode:()=>eu,createTextSpanFromRange:()=>yy,createTextSpanFromStringLiteralLikeContent:()=>rJ,createTextWriter:()=>GL,createTokenRange:()=>_V,createTypeChecker:()=>Aoe,createTypeReferenceDirectiveResolutionCache:()=>Q6,createTypeReferenceResolutionLoader:()=>L4,createUnparsedSourceFile:()=>ij,createWatchCompilerHost:()=>CTe,createWatchCompilerHostOfConfigFile:()=>nse,createWatchCompilerHostOfFilesAndCompilerOptions:()=>rse,createWatchFactory:()=>aq,createWatchHost:()=>oq,createWatchProgram:()=>NTe,createWatchStatusReporter:()=>Qae,createWriteFileMeasuringIO:()=>TH,declarationNameToString:()=>is,decodeMappings:()=>qU,decodedTextSpanIntersectsWith:()=>WM,decorateHelper:()=>wF,deduplicate:()=>NE,defaultIncludeSpec:()=>J6,defaultInitCompilerOptions:()=>H6,defaultMaximumTruncationLength:()=>i2,detectSortCaseSensitivity:()=>BD,diagnosticCategoryName:()=>_S,diagnosticToString:()=>uT,directoryProbablyExists:()=>gm,directorySeparator:()=>Os,displayPart:()=>Ru,displayPartsToString:()=>yO,disposeEmitNodes:()=>lj,disposeResourcesHelper:()=>l6,documentSpansEqual:()=>pJ,dumpTracingLegend:()=>oee,elementAt:()=>qg,elideNodes:()=>xie,emitComments:()=>vne,emitDetachedComments:()=>yne,emitFiles:()=>x4,emitFilesAndReportErrors:()=>K4,emitFilesAndReportErrorsAndGetExitStatus:()=>tse,emitModuleKindIsNonNodeESM:()=>nF,emitNewLineBeforeLeadingCommentOfPosition:()=>gne,emitNewLineBeforeLeadingComments:()=>_ne,emitNewLineBeforeLeadingCommentsOfPosition:()=>hne,emitSkippedWithNoDiagnostics:()=>G4,emitUsingBuildInfo:()=>Eae,emptyArray:()=>je,emptyFileSystemEntries:()=>NF,emptyMap:()=>r8,emptyOptions:()=>ef,emptySet:()=>XZ,endsWith:()=>Zs,ensurePathIsNonModuleName:()=>ME,ensureScriptKind:()=>uF,ensureTrailingDirectorySeparator:()=>_c,entityNameToString:()=>Wu,enumerateInsertsAndDeletes:()=>t8,equalOwnProperties:()=>wZ,equateStringsCaseInsensitive:()=>pb,equateStringsCaseSensitive:()=>pS,equateValues:()=>Hg,esDecorateHelper:()=>zF,escapeJsxAttributeString:()=>tV,escapeLeadingUnderscores:()=>Hs,escapeNonAsciiString:()=>BL,escapeSnippetText:()=>t0,escapeString:()=>Th,escapeTemplateSubstitution:()=>Z9,every:()=>ji,expandPreOrPostfixIncrementOrDecrementExpression:()=>x6,explainFiles:()=>eq,explainIfFileIsRedirectAndImpliedFormat:()=>tq,exportAssignmentIsAlias:()=>px,exportStarHelper:()=>r6,expressionResultIsUnused:()=>dre,extend:()=>Xw,extendsHelper:()=>JF,extensionFromPath:()=>jC,extensionIsTS:()=>mF,extensionsNotSupportingExtensionlessResolution:()=>c2,externalHelpersModuleNameText:()=>ay,factory:()=>P,fileExtensionIs:()=>el,fileExtensionIsOneOf:()=>$l,fileIncludeReasonToDiagnostics:()=>iq,fileShouldUseJavaScriptRequire:()=>OJ,filter:()=>Cr,filterMutate:()=>X5,filterSemanticDiagnostics:()=>W4,find:()=>Dr,findAncestor:()=>Rn,findBestPatternMatch:()=>pB,findChildOfKind:()=>Ya,findComputedPropertyNameCacheAssignment:()=>L6,findConfigFile:()=>Aae,findContainingList:()=>_3,findDiagnosticForNode:()=>gle,findFirstNonJsxWhitespaceToken:()=>Fse,findIndex:()=>Tl,findLast:()=>hA,findLastIndex:()=>Uw,findListItemInfo:()=>Wse,findMap:()=>sve,findModifier:()=>gR,findNextToken:()=>S0,findPackageJson:()=>_le,findPackageJsons:()=>RJ,findPrecedingMatchingToken:()=>E3,findPrecedingToken:()=>ec,findSuperStatementIndexPath:()=>g4,findTokenOnLeftOfPosition:()=>v3,findUseStrictPrologue:()=>zj,first:()=>Ta,firstDefined:()=>ml,firstDefinedIterator:()=>cM,firstIterator:()=>rB,firstOrOnly:()=>MJ,firstOrUndefined:()=>Ac,firstOrUndefinedIterator:()=>qw,fixupCompilerOptions:()=>rK,flatMap:()=>ta,flatMapIterator:()=>Y5,flatMapToMutable:()=>wD,flatten:()=>Ff,flattenCommaList:()=>Cie,flattenDestructuringAssignment:()=>nT,flattenDestructuringBinding:()=>v0,flattenDiagnosticMessageText:()=>a_,forEach:()=>an,forEachAncestor:()=>_te,forEachAncestorDirectory:()=>Vf,forEachChild:()=>Ao,forEachChildRecursively:()=>EN,forEachEmittedFile:()=>uH,forEachEnclosingBlockScopeContainer:()=>Dte,forEachEntry:()=>hc,forEachExternalModuleToImportFrom:()=>VJ,forEachImportClauseDeclaration:()=>CW,forEachKey:()=>O_,forEachLeadingCommentRange:()=>MM,forEachNameInAccessChainWalkingLeft:()=>Bne,forEachPropertyAssignment:()=>nx,forEachResolvedProjectReference:()=>MH,forEachReturnStatement:()=>GE,forEachRight:()=>RZ,forEachTrailingCommentRange:()=>LM,forEachTsConfigPropArray:()=>uL,forEachUnique:()=>mJ,forEachYieldExpression:()=>kte,forSomeAncestorDirectory:()=>ibe,formatColorAndReset:()=>b0,formatDiagnostic:()=>IH,formatDiagnostics:()=>QSe,formatDiagnosticsWithColorAndContext:()=>Rae,formatGeneratedName:()=>Wb,formatGeneratedNamePart:()=>Jx,formatLocation:()=>xH,formatMessage:()=>SV,formatStringFromArgs:()=>xh,formatting:()=>uc,fullTripleSlashAMDReferencePathRegEx:()=>GV,fullTripleSlashReferencePathRegEx:()=>BV,generateDjb2Hash:()=>qD,generateTSConfig:()=>n0e,generatorHelper:()=>e6,getAdjustedReferenceLocation:()=>Xq,getAdjustedRenameLocation:()=>g3,getAliasDeclarationFromName:()=>V9,getAllAccessorDeclarations:()=>wS,getAllDecoratorsOfClass:()=>$U,getAllDecoratorsOfClassElement:()=>y4,getAllJSDocTags:()=>O8,getAllJSDocTagsOfKind:()=>_ye,getAllKeys:()=>cve,getAllProjectOutputs:()=>I4,getAllSuperTypeNodes:()=>EC,getAllUnscopedEmitHelpers:()=>fj,getAllowJSCompilerOption:()=>sy,getAllowSyntheticDefaultImports:()=>zS,getAncestor:()=>Db,getAnyExtensionFromPath:()=>w1,getAreDeclarationMapsEnabled:()=>a2,getAssignedExpandoInitializer:()=>LA,getAssignedName:()=>L8,getAssignedNameOfIdentifier:()=>ON,getAssignmentDeclarationKind:()=>hl,getAssignmentDeclarationPropertyAccessKind:()=>TL,getAssignmentTargetKind:()=>WA,getAutomaticTypeDirectiveNames:()=>Y6,getBaseFileName:()=>Ll,getBinaryOperatorPrecedence:()=>zL,getBuildInfo:()=>R4,getBuildInfoFileVersionMap:()=>HH,getBuildInfoText:()=>bae,getBuildOrderFromAnyBuildOrder:()=>Z4,getBuilderCreationParameters:()=>V4,getBuilderFileEmit:()=>vy,getCheckFlags:()=>tl,getClassExtendsHeritageElement:()=>qE,getClassLikeDeclarationOfSymbol:()=>ig,getCombinedLocalAndExportSymbolFlags:()=>Sx,getCombinedModifierFlags:()=>gb,getCombinedNodeFlags:()=>Xg,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>wG,getCommentRange:()=>t_,getCommonSourceDirectory:()=>VN,getCommonSourceDirectoryOfConfig:()=>iR,getCompilerOptionValue:()=>iF,getCompilerOptionsDiffValue:()=>e0e,getConditions:()=>hy,getConfigFileParsingDiagnostics:()=>iT,getConstantValue:()=>Nre,getContainerFlags:()=>kU,getContainerNode:()=>sT,getContainingClass:()=>Oc,getContainingClassExcludingClassDecorators:()=>_W,getContainingClassStaticBlock:()=>jte,getContainingFunction:()=>cp,getContainingFunctionDeclaration:()=>Vte,getContainingFunctionOrClassStaticBlock:()=>mW,getContainingNodeArray:()=>ure,getContainingObjectLiteralElement:()=>bO,getContextualTypeFromParent:()=>O3,getContextualTypeFromParentOrAncestorTypeNode:()=>h3,getCurrentTime:()=>Rk,getDeclarationDiagnostics:()=>gae,getDeclarationEmitExtensionForPath:()=>FW,getDeclarationEmitOutputFilePath:()=>dne,getDeclarationEmitOutputFilePathWorker:()=>WW,getDeclarationFileExtension:()=>Xj,getDeclarationFromName:()=>bC,getDeclarationModifierFlagsFromSymbol:()=>Kp,getDeclarationOfKind:()=>Vs,getDeclarationsOfKind:()=>pte,getDeclaredExpandoInitializer:()=>yL,getDecorators:()=>Hv,getDefaultCompilerOptions:()=>Tz,getDefaultExportInfoWorker:()=>Q3,getDefaultFormatCodeSettings:()=>s3,getDefaultLibFileName:()=>OM,getDefaultLibFilePath:()=>jce,getDefaultLikeExportInfo:()=>$3,getDiagnosticText:()=>UEe,getDiagnosticsWithinSpan:()=>vle,getDirectoryPath:()=>Ur,getDirectoryToWatchFailedLookupLocation:()=>YH,getDirectoryToWatchFailedLookupLocationFromTypeRoot:()=>Xae,getDocumentPositionMapper:()=>$J,getDocumentSpansEqualityComparer:()=>fJ,getESModuleInterop:()=>z_,getEditsForFileRename:()=>Rle,getEffectiveBaseTypeNode:()=>Km,getEffectiveConstraintOfTypeParameter:()=>V1,getEffectiveContainerForJSDocTemplateTag:()=>NW,getEffectiveImplementsTypeNodes:()=>fx,getEffectiveInitializer:()=>vL,getEffectiveJSDocHost:()=>Rb,getEffectiveModifierFlags:()=>Wd,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>Tne,getEffectiveModifierFlagsNoCache:()=>Ane,getEffectiveReturnTypeNode:()=>Tf,getEffectiveSetAccessorTypeAnnotationNode:()=>mne,getEffectiveTypeAnnotationNode:()=>Jc,getEffectiveTypeParameterDeclarations:()=>qv,getEffectiveTypeRoots:()=>RN,getElementOrPropertyAccessArgumentExpressionOrName:()=>DW,getElementOrPropertyAccessName:()=>tg,getElementsOfBindingOrAssignmentPattern:()=>qx,getEmitDeclarations:()=>Xp,getEmitFlags:()=>ba,getEmitHelpers:()=>OF,getEmitModuleDetectionKind:()=>qV,getEmitModuleKind:()=>ld,getEmitModuleResolutionKind:()=>zd,getEmitScriptTarget:()=>Wa,getEmitStandardClassFields:()=>Xne,getEnclosingBlockScopeContainer:()=>w_,getEnclosingContainer:()=>S9,getEncodedSemanticClassifications:()=>HJ,getEncodedSyntacticClassifications:()=>qJ,getEndLinePosition:()=>rL,getEntityNameFromTypeNode:()=>mL,getEntrypointsFromPackageJsonInfo:()=>RU,getErrorCountForSummary:()=>q4,getErrorSpanForNode:()=>IS,getErrorSummaryText:()=>Zae,getEscapedTextOfIdentifierOrLiteral:()=>AC,getEscapedTextOfJsxAttributeName:()=>QC,getEscapedTextOfJsxNamespacedName:()=>JA,getExpandoInitializer:()=>Ib,getExportAssignmentExpression:()=>j9,getExportInfoMap:()=>rO,getExportNeedsImportStarHelper:()=>Ooe,getExpressionAssociativity:()=>Y9,getExpressionPrecedence:()=>xC,getExternalHelpersModuleName:()=>L2,getExternalModuleImportEqualsDeclarationExpression:()=>gC,getExternalModuleName:()=>lx,getExternalModuleNameFromDeclaration:()=>lne,getExternalModuleNameFromPath:()=>rV,getExternalModuleNameLiteral:()=>hI,getExternalModuleRequireArgument:()=>N9,getFallbackOptions:()=>yk,getFileEmitOutput:()=>kae,getFileMatcherPatterns:()=>dF,getFileNamesFromConfigSpecs:()=>AN,getFileWatcherEventKind:()=>SG,getFilesInErrorForSummary:()=>J4,getFirstConstructorWithBody:()=>Ah,getFirstIdentifier:()=>dp,getFirstNonSpaceCharacterPosition:()=>cle,getFirstProjectOutput:()=>mH,getFixableErrorSpanExpression:()=>NJ,getFormatCodeSettingsForWriting:()=>J3,getFullWidth:()=>tL,getFunctionFlags:()=>gc,getHeritageClause:()=>OL,getHostSignatureFromJSDoc:()=>xb,getIdentifierAutoGenerate:()=>Gbe,getIdentifierGeneratedImportReference:()=>wre,getIdentifierTypeArguments:()=>BS,getImmediatelyInvokedFunctionExpression:()=>RS,getImpliedNodeFormatForFile:()=>Tk,getImpliedNodeFormatForFileWorker:()=>OH,getImportNeedsImportDefaultHelper:()=>KU,getImportNeedsImportStarHelper:()=>_4,getIndentSize:()=>vx,getIndentString:()=>OW,getInferredLibraryNameResolveFrom:()=>O4,getInitializedVariables:()=>wC,getInitializerOfBinaryExpression:()=>O9,getInitializerOfBindingOrAssignmentElement:()=>O2,getInterfaceBaseTypeNodes:()=>SC,getInternalEmitFlags:()=>Uf,getInvokedExpression:()=>vW,getIsolatedModules:()=>xf,getJSDocAugmentsTag:()=>Oee,getJSDocClassTag:()=>FG,getJSDocCommentRanges:()=>I9,getJSDocCommentsAndTags:()=>W9,getJSDocDeprecatedTag:()=>zG,getJSDocDeprecatedTagNoCache:()=>Vee,getJSDocEnumTag:()=>BG,getJSDocHost:()=>PS,getJSDocImplementsTags:()=>wee,getJSDocOverloadTags:()=>z9,getJSDocOverrideTagNoCache:()=>Gee,getJSDocParameterTags:()=>G1,getJSDocParameterTagsNoCache:()=>Pee,getJSDocPrivateTag:()=>dye,getJSDocPrivateTagNoCache:()=>Fee,getJSDocProtectedTag:()=>uye,getJSDocProtectedTagNoCache:()=>zee,getJSDocPublicTag:()=>cye,getJSDocPublicTagNoCache:()=>Wee,getJSDocReadonlyTag:()=>pye,getJSDocReadonlyTagNoCache:()=>Bee,getJSDocReturnTag:()=>jee,getJSDocReturnType:()=>BM,getJSDocRoot:()=>ux,getJSDocSatisfiesExpressionType:()=>WV,getJSDocSatisfiesTag:()=>GG,getJSDocTags:()=>Eb,getJSDocTagsNoCache:()=>mye,getJSDocTemplateTag:()=>fye,getJSDocThisTag:()=>k8,getJSDocType:()=>bb,getJSDocTypeAliasName:()=>Vj,getJSDocTypeAssertionType:()=>D6,getJSDocTypeParameterDeclarations:()=>VW,getJSDocTypeParameterTags:()=>Mee,getJSDocTypeParameterTagsNoCache:()=>Lee,getJSDocTypeTag:()=>yb,getJSXImplicitImportBase:()=>aF,getJSXRuntimeImport:()=>sF,getJSXTransformEnabled:()=>oF,getKeyForCompilerOptions:()=>EU,getLanguageVariant:()=>KL,getLastChild:()=>yV,getLeadingCommentRanges:()=>mh,getLeadingCommentRangesOfNode:()=>A9,getLeftmostAccessExpression:()=>Tx,getLeftmostExpression:()=>Ax,getLibraryNameFromLibFileName:()=>LH,getLineAndCharacterOfPosition:()=>$a,getLineInfo:()=>UU,getLineOfLocalPosition:()=>DC,getLineOfLocalPositionFromLineMap:()=>kS,getLineStartPositionForPosition:()=>Cf,getLineStarts:()=>Yh,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>wne,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>One,getLinesBetweenPositions:()=>YD,getLinesBetweenRangeEndAndRangeStart:()=>hV,getLinesBetweenRangeEndPositions:()=>nbe,getLiteralText:()=>Ete,getLocalNameForExternalImport:()=>Hx,getLocalSymbolForExportDefault:()=>Ex,getLocaleSpecificMessage:()=>vo,getLocaleTimeString:()=>xk,getMappedContextSpan:()=>_J,getMappedDocumentSpan:()=>P3,getMappedLocation:()=>ZN,getMatchedFileSpec:()=>nq,getMatchedIncludeSpec:()=>rq,getMeaningFromDeclaration:()=>Lk,getMeaningFromLocation:()=>aT,getMembersOfDeclaration:()=>Ote,getModeForFileReference:()=>Ek,getModeForResolutionAtIndex:()=>Dae,getModeForUsageLocation:()=>DH,getModifiedTime:()=>SA,getModifiers:()=>kE,getModuleInstanceState:()=>dg,getModuleNameStringLiteralAt:()=>Ak,getModuleSpecifierEndingPreference:()=>nre,getModuleSpecifierResolverHost:()=>lJ,getNameForExportedSymbol:()=>U3,getNameFromImportAttribute:()=>SF,getNameFromIndexInfo:()=>Cte,getNameFromPropertyName:()=>qk,getNameOfAccessExpression:()=>EV,getNameOfCompilerOptionValue:()=>aU,getNameOfDeclaration:()=>mo,getNameOfExpando:()=>L9,getNameOfJSDocTypedef:()=>Nee,getNameOrArgument:()=>SL,getNameTable:()=>WK,getNamesForExportedSymbol:()=>yle,getNamespaceDeclarationNode:()=>cx,getNewLineCharacter:()=>rv,getNewLineKind:()=>nO,getNewLineOrDefaultFromHost:()=>mv,getNewTargetContainer:()=>Hte,getNextJSDocCommentLocation:()=>F9,getNodeForGeneratedName:()=>W2,getNodeId:()=>Fa,getNodeKind:()=>E0,getNodeModifiers:()=>YN,getNodeModulePathParts:()=>yF,getNonAssignedNameOfDeclaration:()=>M8,getNonAssignmentOperatorForCompoundAssignment:()=>MN,getNonAugmentationDeclaration:()=>h9,getNonDecoratorTokenPosOfNode:()=>u9,getNormalizedAbsolutePath:()=>Qi,getNormalizedAbsolutePathWithoutRoot:()=>DG,getNormalizedPathComponents:()=>IM,getObjectFlags:()=>br,getOperator:()=>Q9,getOperatorAssociativity:()=>$9,getOperatorPrecedence:()=>FL,getOptionFromName:()=>nU,getOptionsForLibraryResolution:()=>TU,getOptionsNameMap:()=>Xx,getOrCreateEmitNode:()=>cd,getOrCreateExternalHelpersModuleNameIfNeeded:()=>gie,getOrUpdate:()=>FD,getOriginalNode:()=>sl,getOriginalNodeId:()=>dd,getOriginalSourceFile:()=>qye,getOutputDeclarationFileName:()=>GN,getOutputDeclarationFileNameWorker:()=>pH,getOutputExtension:()=>A4,getOutputFileNames:()=>YSe,getOutputJSFileNameWorker:()=>fH,getOutputPathsFor:()=>BN,getOutputPathsForBundle:()=>zN,getOwnEmitOutputFilePath:()=>cne,getOwnKeys:()=>fh,getOwnValues:()=>vA,getPackageJsonInfo:()=>m0,getPackageJsonTypesVersionsPaths:()=>X6,getPackageJsonsVisibleToFile:()=>hle,getPackageNameFromTypesPackageName:()=>CN,getPackageScopeForPath:()=>rk,getParameterSymbolFromJSDoc:()=>NL,getParameterTypeNode:()=>fbe,getParentNodeInSpan:()=>Kk,getParseTreeNode:()=>uo,getParsedCommandLineOfConfigFile:()=>V2,getPathComponents:()=>mc,getPathComponentsRelativeTo:()=>NG,getPathFromPathComponents:()=>Vv,getPathUpdater:()=>XJ,getPathsBasePath:()=>zW,getPatternFromSpec:()=>Zne,getPendingEmitKind:()=>cR,getPositionOfLineAndCharacter:()=>NM,getPossibleGenericSignatures:()=>$q,getPossibleOriginalInputExtensionForExtension:()=>une,getPossibleTypeArgumentsInfo:()=>Qq,getPreEmitDiagnostics:()=>$Se,getPrecedingNonSpaceCharacterPosition:()=>L3,getPrivateIdentifier:()=>QU,getProperties:()=>YU,getProperty:()=>Jw,getPropertyArrayElementValue:()=>Gte,getPropertyAssignmentAliasLikeExpression:()=>ine,getPropertyNameForPropertyNameNode:()=>MS,getPropertyNameForUniqueESSymbol:()=>Uye,getPropertyNameFromType:()=>If,getPropertyNameOfBindingOrAssignmentElement:()=>Gj,getPropertySymbolFromBindingElement:()=>N3,getPropertySymbolsFromContextualType:()=>Iz,getQuoteFromPreference:()=>dJ,getQuotePreference:()=>Pp,getRangesWhere:()=>Z5,getRefactorContextSpan:()=>NI,getReferencedFileLocation:()=>jN,getRegexFromPattern:()=>iy,getRegularExpressionForWildcard:()=>BC,getRegularExpressionsForWildcards:()=>lF,getRelativePathFromDirectory:()=>Gf,getRelativePathFromFile:()=>RM,getRelativePathToDirectoryOrUrl:()=>AA,getRenameLocation:()=>$k,getReplacementSpanForContextToken:()=>nJ,getResolutionDiagnostic:()=>FH,getResolutionModeOverride:()=>oR,getResolveJsonModule:()=>Mb,getResolvePackageJsonExports:()=>RF,getResolvePackageJsonImports:()=>DF,getResolvedExternalModuleName:()=>wW,getRestIndicatorOfBindingOrAssignmentElement:()=>N6,getRestParameterElementType:()=>x9,getRightMostAssignedExpression:()=>bL,getRootDeclaration:()=>Ym,getRootDirectoryOfResolutionCache:()=>Yae,getRootLength:()=>M_,getRootPathSplitLength:()=>STe,getScriptKind:()=>bJ,getScriptKindFromFileName:()=>pF,getScriptTargetFeatures:()=>IF,getSelectedEffectiveModifierFlags:()=>BA,getSelectedSyntacticModifierFlags:()=>Ene,getSemanticClassifications:()=>Tle,getSemanticJsxChildren:()=>_x,getSetAccessorTypeAnnotationNode:()=>pne,getSetAccessorValueParameter:()=>CC,getSetExternalModuleIndicator:()=>XL,getShebang:()=>C8,getSingleInitializerOfVariableStatementOrPropertyDeclaration:()=>w9,getSingleVariableOfVariableStatement:()=>wA,getSnapshotText:()=>hR,getSnippetElement:()=>cj,getSourceFileOfModule:()=>eW,getSourceFileOfNode:()=>Nn,getSourceFilePathInNewDir:()=>BW,getSourceFilePathInNewDirWorker:()=>GW,getSourceFileVersionAsHashFromText:()=>X4,getSourceFilesToEmit:()=>iV,getSourceMapRange:()=>ov,getSourceMapper:()=>zle,getSourceTextOfNodeFromSourceFile:()=>FE,getSpanOfTokenAtPosition:()=>W_,getSpellingSuggestion:()=>VD,getStartPositionOfLine:()=>Zv,getStartPositionOfRange:()=>OC,getStartsOnNewLine:()=>rN,getStaticPropertiesAndClassStaticBlock:()=>v4,getStrictOptionValue:()=>Fd,getStringComparer:()=>D1,getSubPatternFromSpec:()=>cF,getSuperCallFromStatement:()=>h4,getSuperContainer:()=>pL,getSupportedCodeFixes:()=>OK,getSupportedExtensions:()=>GC,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>YL,getSwitchedType:()=>IJ,getSymbolId:()=>na,getSymbolNameForPrivateIdentifier:()=>wL,getSymbolTarget:()=>EJ,getSyntacticClassifications:()=>Ale,getSyntacticModifierFlags:()=>ny,getSyntacticModifierFlagsNoCache:()=>lV,getSynthesizedDeepClone:()=>Fs,getSynthesizedDeepCloneWithReplacements:()=>Yk,getSynthesizedDeepClones:()=>T0,getSynthesizedDeepClonesWithReplacements:()=>SJ,getSyntheticLeadingComments:()=>Mx,getSyntheticTrailingComments:()=>_2,getTargetLabel:()=>u3,getTargetOfBindingOrAssignmentElement:()=>_y,getTemporaryModuleResolutionState:()=>nk,getTextOfConstantValue:()=>Ste,getTextOfIdentifierOrLiteral:()=>Ef,getTextOfJSDocComment:()=>VM,getTextOfJsxAttributeName:()=>r2,getTextOfJsxNamespacedName:()=>ZC,getTextOfNode:()=>Vl,getTextOfNodeFromSourceText:()=>uC,getTextOfPropertyName:()=>$1,getThisContainer:()=>lu,getThisParameter:()=>KE,getTokenAtPosition:()=>Hi,getTokenPosOfNode:()=>Tb,getTokenSourceMapRange:()=>zbe,getTouchingPropertyName:()=>pu,getTouchingToken:()=>_R,getTrailingCommentRanges:()=>mb,getTrailingSemicolonDeferringWriter:()=>nV,getTransformFlagsSubtreeExclusions:()=>Ire,getTransformers:()=>cH,getTsBuildInfoEmitOutputFilePath:()=>dv,getTsConfigObjectLiteralExpression:()=>_C,getTsConfigPropArrayElementValue:()=>fW,getTypeAnnotationNode:()=>fne,getTypeArgumentOrTypeParameterList:()=>qse,getTypeKeywordOfTypeOnlyImport:()=>uJ,getTypeNode:()=>kre,getTypeNodeIfAccessible:()=>iP,getTypeParameterFromJsDoc:()=>Qte,getTypeParameterOwner:()=>iye,getTypesPackageName:()=>n4,getUILocale:()=>GZ,getUniqueName:()=>dT,getUniqueSymbolId:()=>lle,getUseDefineForClassFields:()=>nN,getWatchErrorSummaryDiagnosticMessage:()=>QH,getWatchFactory:()=>yH,group:()=>GD,groupBy:()=>Kw,guessIndentation:()=>dte,handleNoEmitOptions:()=>wH,hasAbstractModifier:()=>$E,hasAccessorModifier:()=>$m,hasAmbientModifier:()=>sV,hasChangesInResolutions:()=>l9,hasChildOfKind:()=>Bk,hasContextSensitiveParameters:()=>gF,hasDecorators:()=>Hp,hasDocComment:()=>Use,hasDynamicName:()=>ty,hasEffectiveModifier:()=>zu,hasEffectiveModifiers:()=>jW,hasEffectiveReadonlyModifier:()=>NC,hasExtension:()=>TA,hasIndexSignature:()=>AJ,hasInitializer:()=>$v,hasInvalidEscape:()=>eV,hasJSDocNodes:()=>ap,hasJSDocParameterTags:()=>kee,hasJSFileExtension:()=>QE,hasJsonModuleEmitEnabled:()=>rF,hasOnlyExpressionInitializer:()=>SS,hasOverrideModifier:()=>UW,hasPossibleExternalModuleReference:()=>Rte,hasProperty:()=>rs,hasPropertyAccessExpressionWithName:()=>Ok,hasQuestionToken:()=>OA,hasRecordedExternalHelpers:()=>hie,hasResolutionModeOverride:()=>hre,hasRestParameter:()=>i9,hasScopeMarker:()=>nte,hasStaticModifier:()=>jl,hasSyntacticModifier:()=>Wr,hasSyntacticModifiers:()=>bne,hasTSFileExtension:()=>qA,hasTabstop:()=>fre,hasTrailingDirectorySeparator:()=>Jg,hasType:()=>K8,hasTypeArguments:()=>zye,hasZeroOrOneAsteriskCharacter:()=>AV,helperString:()=>pj,hostGetCanonicalFileName:()=>ev,hostUsesCaseSensitiveFileNames:()=>yx,idText:()=>ar,identifierIsThisKeyword:()=>aV,identifierToKeywordKind:()=>vb,identity:()=>Ps,identitySourceMapConsumer:()=>m4,ignoreSourceNewlines:()=>uj,ignoredPaths:()=>AM,importDefaultHelper:()=>n6,importFromModuleSpecifier:()=>yC,importNameElisionDisabled:()=>TV,importStarHelper:()=>g2,indexOfAnyCharCode:()=>DZ,indexOfNode:()=>Y1,indicesOf:()=>uM,inferredTypesContainingFile:()=>lR,injectClassNamedEvaluationHelperBlockIfMissing:()=>E4,injectClassThisAssignmentIfMissing:()=>Hoe,insertImports:()=>QN,insertLeadingStatement:()=>iEe,insertSorted:()=>Fv,insertStatementAfterCustomPrologue:()=>TS,insertStatementAfterStandardPrologue:()=>Cye,insertStatementsAfterCustomPrologue:()=>c9,insertStatementsAfterStandardPrologue:()=>vh,intersperse:()=>K5,intrinsicTagNameToString:()=>FV,introducesArgumentsExoticObject:()=>zte,inverseJsxOptionMap:()=>IN,isAbstractConstructorSymbol:()=>Wne,isAbstractModifier:()=>Ure,isAccessExpression:()=>us,isAccessibilityModifier:()=>eJ,isAccessor:()=>Kv,isAccessorModifier:()=>qre,isAliasSymbolDeclaration:()=>Gye,isAliasableExpression:()=>kL,isAmbientModule:()=>sd,isAmbientPropertyDeclaration:()=>v9,isAnonymousFunctionDefinition:()=>IC,isAnyDirectorySeparator:()=>IG,isAnyImportOrBareOrAccessedRequire:()=>xte,isAnyImportOrReExport:()=>oL,isAnyImportSyntax:()=>AS,isAnySupportedFileExtension:()=>pbe,isApplicableVersionedTypesKey:()=>ok,isArgumentExpressionOfElementAccess:()=>jq,isArray:()=>oo,isArrayBindingElement:()=>V8,isArrayBindingOrAssignmentElement:()=>XM,isArrayBindingOrAssignmentPattern:()=>QG,isArrayBindingPattern:()=>i0,isArrayLiteralExpression:()=>Bd,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>pv,isArrayTypeNode:()=>A2,isArrowFunction:()=>gs,isAsExpression:()=>x2,isAssertClause:()=>Zre,isAssertEntry:()=>Ybe,isAssertionExpression:()=>ES,isAssertsKeyword:()=>Vre,isAssignmentDeclaration:()=>vC,isAssignmentExpression:()=>lc,isAssignmentOperator:()=>tv,isAssignmentPattern:()=>lC,isAssignmentTarget:()=>Sh,isAsteriskToken:()=>b2,isAsyncFunction:()=>TC,isAsyncModifier:()=>aN,isAutoAccessorPropertyDeclaration:()=>su,isAwaitExpression:()=>py,isAwaitKeyword:()=>yj,isBigIntLiteral:()=>c6,isBinaryExpression:()=>Zn,isBinaryOperatorToken:()=>Iie,isBindableObjectDefinePropertyCall:()=>CS,isBindableStaticAccessExpression:()=>UE,isBindableStaticElementAccessExpression:()=>RW,isBindableStaticNameExpression:()=>NS,isBindingElement:()=>Na,isBindingElementOfBareOrAccessedRequire:()=>Kte,isBindingName:()=>yS,isBindingOrAssignmentElement:()=>Yee,isBindingOrAssignmentPattern:()=>JM,isBindingPattern:()=>ko,isBlock:()=>Do,isBlockOrCatchScoped:()=>p9,isBlockScope:()=>y9,isBlockScopedContainerTopLevel:()=>Ite,isBooleanLiteral:()=>sC,isBreakOrContinueStatement:()=>rC,isBreakStatement:()=>Jbe,isBuildInfoFile:()=>yae,isBuilderProgram:()=>ese,isBundle:()=>xj,isBundleFileTextLike:()=>zne,isCallChain:()=>gS,isCallExpression:()=>Bo,isCallExpressionTarget:()=>Wq,isCallLikeExpression:()=>WE,isCallLikeOrFunctionLikeExpression:()=>ZG,isCallOrNewExpression:()=>Hm,isCallOrNewExpressionTarget:()=>Fq,isCallSignatureDeclaration:()=>iI,isCallToHelper:()=>oN,isCaseBlock:()=>fN,isCaseClause:()=>zx,isCaseKeyword:()=>Jre,isCaseOrDefaultClause:()=>q8,isCatchClause:()=>u0,isCatchClauseVariableDeclaration:()=>pre,isCatchClauseVariableDeclarationOrBindingElement:()=>f9,isCheckJsEnabledForFile:()=>ZL,isChildOfNodeWithKind:()=>Pye,isCircularBuildOrder:()=>II,isClassDeclaration:()=>Zl,isClassElement:()=>xc,isClassExpression:()=>Dc,isClassInstanceProperty:()=>Kee,isClassLike:()=>Kr,isClassMemberModifier:()=>XG,isClassNamedEvaluationHelperBlock:()=>AI,isClassOrTypeElement:()=>G8,isClassStaticBlockDeclaration:()=>nl,isClassThisAssignmentBlock:()=>kN,isCollapsedRange:()=>tbe,isColonToken:()=>Bre,isCommaExpression:()=>M2,isCommaListExpression:()=>dN,isCommaSequence:()=>vN,isCommaToken:()=>zre,isComment:()=>S3,isCommonJsExportPropertyAssignment:()=>uW,isCommonJsExportedExpression:()=>Wte,isCompoundAssignment:()=>PN,isComputedNonLiteralName:()=>aL,isComputedPropertyName:()=>Pa,isConciseBody:()=>U8,isConditionalExpression:()=>Fx,isConditionalTypeNode:()=>lI,isConstTypeReference:()=>Qh,isConstructSignatureDeclaration:()=>S2,isConstructorDeclaration:()=>ll,isConstructorTypeNode:()=>kx,isContextualKeyword:()=>MW,isContinueStatement:()=>qbe,isCustomPrologue:()=>dL,isDebuggerStatement:()=>Kbe,isDeclaration:()=>bd,isDeclarationBindingElement:()=>qM,isDeclarationFileName:()=>Yc,isDeclarationName:()=>ng,isDeclarationNameOfEnumOrNamespace:()=>gV,isDeclarationReadonly:()=>sW,isDeclarationStatement:()=>ate,isDeclarationWithTypeParameterChildren:()=>E9,isDeclarationWithTypeParameters:()=>b9,isDecorator:()=>Xc,isDecoratorTarget:()=>Pse,isDefaultClause:()=>_N,isDefaultImport:()=>kA,isDefaultModifier:()=>f6,isDefaultedExpandoInitializer:()=>Xte,isDeleteExpression:()=>Yre,isDeleteTarget:()=>G9,isDeprecatedDeclaration:()=>H3,isDestructuringAssignment:()=>nv,isDiagnosticWithLocation:()=>CJ,isDiskPathRoot:()=>xG,isDoStatement:()=>Ube,isDocumentRegistryEntry:()=>iO,isDotDotDotToken:()=>u6,isDottedName:()=>MC,isDynamicName:()=>kW,isESSymbolIdentifier:()=>Hye,isEffectiveExternalModule:()=>MA,isEffectiveModuleDeclaration:()=>Ate,isEffectiveStrictModeSourceFile:()=>g9,isElementAccessChain:()=>VG,isElementAccessExpression:()=>Rs,isEmittedFileOfProgram:()=>Tae,isEmptyArrayLiteral:()=>Dne,isEmptyBindingElement:()=>Dee,isEmptyBindingPattern:()=>Ree,isEmptyObjectLiteral:()=>fV,isEmptyStatement:()=>Tj,isEmptyStringLiteral:()=>C9,isEntityName:()=>Su,isEntityNameExpression:()=>gl,isEnumConst:()=>BE,isEnumDeclaration:()=>kb,isEnumMember:()=>p0,isEqualityOperatorKind:()=>w3,isEqualsGreaterThanToken:()=>Gre,isExclamationToken:()=>E2,isExcludedFile:()=>zie,isExclusivelyTypeOnlyImportOrExport:()=>RH,isExpandoPropertyDeclaration:()=>EF,isExportAssignment:()=>dl,isExportDeclaration:()=>xl,isExportModifier:()=>nI,isExportName:()=>R6,isExportNamespaceAsDefaultDeclaration:()=>rW,isExportOrDefaultModifier:()=>w2,isExportSpecifier:()=>Ed,isExportsIdentifier:()=>DS,isExportsOrModuleExportsOrAlias:()=>_0,isExpression:()=>lt,isExpressionNode:()=>bh,isExpressionOfExternalModuleImportEqualsDeclaration:()=>Ose,isExpressionOfOptionalChainRoot:()=>F8,isExpressionStatement:()=>Cc,isExpressionWithTypeArguments:()=>sv,isExpressionWithTypeArgumentsInClassExtendsClause:()=>HW,isExternalModule:()=>wl,isExternalModuleAugmentation:()=>zE,isExternalModuleImportEqualsDeclaration:()=>Ab,isExternalModuleIndicator:()=>YM,isExternalModuleNameRelative:()=>Ic,isExternalModuleReference:()=>U_,isExternalModuleSymbol:()=>Uk,isExternalOrCommonJsModule:()=>sp,isFileLevelReservedGeneratedIdentifier:()=>HM,isFileLevelUniqueName:()=>tW,isFileProbablyExternalModule:()=>z2,isFirstDeclarationOfSymbolParameter:()=>hJ,isFixablePromiseHandler:()=>eK,isForInOrOfStatement:()=>H1,isForInStatement:()=>y6,isForInitializer:()=>Up,isForOfStatement:()=>R2,isForStatement:()=>qS,isFunctionBlock:()=>VE,isFunctionBody:()=>t9,isFunctionDeclaration:()=>Ql,isFunctionExpression:()=>ps,isFunctionExpressionOrArrowFunction:()=>e0,isFunctionLike:()=>Lo,isFunctionLikeDeclaration:()=>hs,isFunctionLikeKind:()=>DA,isFunctionLikeOrClassStaticBlockDeclaration:()=>U1,isFunctionOrConstructorTypeNode:()=>Xee,isFunctionOrModuleBlock:()=>YG,isFunctionSymbol:()=>$te,isFunctionTypeNode:()=>G_,isFutureReservedKeyword:()=>Vye,isGeneratedIdentifier:()=>ws,isGeneratedPrivateIdentifier:()=>vS,isGetAccessor:()=>Yv,isGetAccessorDeclaration:()=>Ip,isGetOrSetAccessorDeclaration:()=>w8,isGlobalDeclaration:()=>NAe,isGlobalScopeAugmentation:()=>Jm,isGrammarError:()=>yte,isHeritageClause:()=>xp,isHoistedFunction:()=>cW,isHoistedVariableStatement:()=>dW,isIdentifier:()=>Me,isIdentifierANonContextualKeyword:()=>q9,isIdentifierName:()=>rne,isIdentifierOrThisTypeNode:()=>Eie,isIdentifierPart:()=>_b,isIdentifierStart:()=>_h,isIdentifierText:()=>Tp,isIdentifierTypePredicate:()=>Bte,isIdentifierTypeReference:()=>sre,isIfStatement:()=>HS,isIgnoredFileFromWildCardWatching:()=>vk,isImplicitGlob:()=>RV,isImportAttribute:()=>eie,isImportAttributeName:()=>Jee,isImportAttributes:()=>uI,isImportCall:()=>lp,isImportClause:()=>V_,isImportDeclaration:()=>cc,isImportEqualsDeclaration:()=>Nc,isImportKeyword:()=>lN,isImportMeta:()=>ex,isImportOrExportSpecifier:()=>RA,isImportOrExportSpecifierName:()=>sle,isImportSpecifier:()=>Iu,isImportTypeAssertionContainer:()=>Xbe,isImportTypeNode:()=>Dh,isImportableFile:()=>GJ,isInComment:()=>uv,isInCompoundLikeAssignment:()=>B9,isInExpressionContext:()=>bW,isInJSDoc:()=>hL,isInJSFile:()=>Jn,isInJSXText:()=>Vse,isInJsonFile:()=>SW,isInNonReferenceComment:()=>Xse,isInReferenceComment:()=>Kse,isInRightSideOfInternalImportEqualsDeclaration:()=>c3,isInString:()=>RI,isInTemplateString:()=>Yq,isInTopLevelContext:()=>hW,isInTypeQuery:()=>OS,isIncrementalCompilation:()=>tN,isIndexSignatureDeclaration:()=>r0,isIndexedAccessTypeNode:()=>US,isInferTypeNode:()=>GS,isInfinityOrNaNString:()=>XC,isInitializedProperty:()=>uk,isInitializedVariable:()=>JL,isInsideJsxElement:()=>b3,isInsideJsxElementOrAttribute:()=>Gse,isInsideNodeModules:()=>tO,isInsideTemplateLiteral:()=>Vk,isInstanceOfExpression:()=>qW,isInstantiatedModule:()=>FU,isInterfaceDeclaration:()=>Gd,isInternalDeclaration:()=>o9,isInternalModuleImportEqualsDeclaration:()=>ox,isInternalName:()=>Fj,isIntersectionTypeNode:()=>sI,isIntrinsicJsxName:()=>gx,isIterationStatement:()=>Xv,isJSDoc:()=>Sm,isJSDocAllType:()=>oie,isJSDocAugmentsTag:()=>_I,isJSDocAuthorTag:()=>eEe,isJSDocCallbackTag:()=>Dj,isJSDocClassTag:()=>sie,isJSDocCommentContainingNode:()=>J8,isJSDocConstructSignature:()=>dx,isJSDocDeprecatedTag:()=>Lj,isJSDocEnumTag:()=>C2,isJSDocFunctionType:()=>Gx,isJSDocImplementsTag:()=>A6,isJSDocIndexSignature:()=>TW,isJSDocLikeText:()=>Jj,isJSDocLink:()=>rie,isJSDocLinkCode:()=>iie,isJSDocLinkLike:()=>PA,isJSDocLinkPlain:()=>Qbe,isJSDocMemberName:()=>Ob,isJSDocNameReference:()=>hN,isJSDocNamepathType:()=>Zbe,isJSDocNamespaceBody:()=>Tye,isJSDocNode:()=>q1,isJSDocNonNullableType:()=>b6,isJSDocNullableType:()=>Bx,isJSDocOptionalParameter:()=>n2,isJSDocOptionalType:()=>Rj,isJSDocOverloadTag:()=>Vx,isJSDocOverrideTag:()=>S6,isJSDocParameterTag:()=>Tm,isJSDocPrivateTag:()=>Nj,isJSDocPropertyLikeTag:()=>iC,isJSDocPropertyTag:()=>lie,isJSDocProtectedTag:()=>Pj,isJSDocPublicTag:()=>Cj,isJSDocReadonlyTag:()=>Mj,isJSDocReturnTag:()=>T6,isJSDocSatisfiesExpression:()=>wV,isJSDocSatisfiesTag:()=>I6,isJSDocSeeTag:()=>tEe,isJSDocSignature:()=>wb,isJSDocTag:()=>J1,isJSDocTemplateTag:()=>Df,isJSDocThisTag:()=>kj,isJSDocThrowsTag:()=>rEe,isJSDocTypeAlias:()=>bf,isJSDocTypeAssertion:()=>Ux,isJSDocTypeExpression:()=>f0,isJSDocTypeLiteral:()=>YS,isJSDocTypeTag:()=>gN,isJSDocTypedefTag:()=>$S,isJSDocUnknownTag:()=>nEe,isJSDocUnknownType:()=>aie,isJSDocVariadicType:()=>E6,isJSXTagName:()=>ix,isJsonEqual:()=>_F,isJsonSourceFile:()=>yf,isJsxAttribute:()=>i_,isJsxAttributeLike:()=>H8,isJsxAttributeName:()=>_re,isJsxAttributes:()=>d0,isJsxChild:()=>ZM,isJsxClosingElement:()=>l0,isJsxClosingFragment:()=>tie,isJsxElement:()=>Ch,isJsxExpression:()=>mN,isJsxFragment:()=>c0,isJsxNamespacedName:()=>Em,isJsxOpeningElement:()=>r_,isJsxOpeningFragment:()=>fI,isJsxOpeningLikeElement:()=>Od,isJsxOpeningLikeElementTagName:()=>Mse,isJsxSelfClosingElement:()=>KS,isJsxSpreadAttribute:()=>mI,isJsxTagNameExpression:()=>cC,isJsxText:()=>ZA,isJumpStatementTarget:()=>wk,isKeyword:()=>du,isKeywordOrPunctuation:()=>PW,isKnownSymbol:()=>WL,isLabelName:()=>Gq,isLabelOfLabeledStatement:()=>Bq,isLabeledStatement:()=>s0,isLateVisibilityPaintedStatement:()=>oW,isLeftHandSideExpression:()=>Tu,isLeftHandSideOfAssignment:()=>ebe,isLet:()=>lW,isLineBreak:()=>vd,isLiteralComputedPropertyDeclarationName:()=>LL,isLiteralExpression:()=>wE,isLiteralExpressionOfObject:()=>JG,isLiteralImportTypeNode:()=>ey,isLiteralKind:()=>oC,isLiteralLikeAccess:()=>xW,isLiteralLikeElementAccess:()=>EL,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>p3,isLiteralTypeLikeExpression:()=>cEe,isLiteralTypeLiteral:()=>ete,isLiteralTypeNode:()=>uy,isLocalName:()=>lg,isLogicalOperator:()=>Ine,isLogicalOrCoalescingAssignmentExpression:()=>cV,isLogicalOrCoalescingAssignmentOperator:()=>PC,isLogicalOrCoalescingBinaryExpression:()=>jL,isLogicalOrCoalescingBinaryOperator:()=>VL,isMappedTypeNode:()=>wx,isMemberName:()=>hh,isMetaProperty:()=>cN,isMethodDeclaration:()=>El,isMethodOrAccessor:()=>CA,isMethodSignature:()=>B_,isMinusToken:()=>vj,isMissingDeclaration:()=>$be,isMissingPackageJsonInfo:()=>noe,isModifier:()=>ia,isModifierKind:()=>Yg,isModifierLike:()=>Ws,isModuleAugmentationExternal:()=>_9,isModuleBlock:()=>n_,isModuleBody:()=>rte,isModuleDeclaration:()=>Il,isModuleExportsAccessExpression:()=>Eh,isModuleIdentifier:()=>k9,isModuleName:()=>Aie,isModuleOrEnumDeclaration:()=>$M,isModuleReference:()=>lte,isModuleSpecifierLike:()=>C3,isModuleWithStringLiteralName:()=>iW,isNameOfFunctionDeclaration:()=>Hq,isNameOfModuleDeclaration:()=>Uq,isNamedClassElement:()=>vye,isNamedDeclaration:()=>Ld,isNamedEvaluation:()=>Fu,isNamedEvaluationSource:()=>J9,isNamedExportBindings:()=>UG,isNamedExports:()=>$p,isNamedImportBindings:()=>n9,isNamedImports:()=>sg,isNamedImportsOrExports:()=>ZW,isNamedTupleMember:()=>Ox,isNamespaceBody:()=>Sye,isNamespaceExport:()=>j_,isNamespaceExportDeclaration:()=>D2,isNamespaceImport:()=>my,isNamespaceReexportDeclaration:()=>Jte,isNewExpression:()=>o0,isNewExpressionTarget:()=>KN,isNoSubstitutionTemplateLiteral:()=>eI,isNode:()=>hye,isNodeArray:()=>OE,isNodeArrayMultiLine:()=>kne,isNodeDescendantOf:()=>HE,isNodeKind:()=>jM,isNodeLikeSystem:()=>mB,isNodeModulesDirectory:()=>A8,isNodeWithPossibleHoistedDeclaration:()=>ene,isNonContextualKeyword:()=>H9,isNonExportDefaultModifier:()=>uEe,isNonGlobalAmbientModule:()=>m9,isNonGlobalDeclaration:()=>Sle,isNonNullAccess:()=>mre,isNonNullChain:()=>z8,isNonNullExpression:()=>dI,isNonStaticMethodOrAccessorWithPrivateName:()=>woe,isNotEmittedOrPartiallyEmittedNode:()=>Eye,isNotEmittedStatement:()=>Ij,isNullishCoalesce:()=>jG,isNumber:()=>jg,isNumericLiteral:()=>Bu,isNumericLiteralName:()=>Rh,isObjectBindingElementWithoutPropertyName:()=>Jk,isObjectBindingOrAssignmentElement:()=>KM,isObjectBindingOrAssignmentPattern:()=>$G,isObjectBindingPattern:()=>Rf,isObjectLiteralElement:()=>r9,isObjectLiteralElementLike:()=>Zh,isObjectLiteralExpression:()=>ma,isObjectLiteralMethod:()=>qf,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>pW,isObjectTypeDeclaration:()=>jA,isOctalDigit:()=>D8,isOmittedExpression:()=>vc,isOptionalChain:()=>yd,isOptionalChainRoot:()=>tC,isOptionalDeclaration:()=>$C,isOptionalJSDocPropertyLikeTag:()=>t2,isOptionalTypeNode:()=>m6,isOuterExpression:()=>C6,isOutermostOptionalChain:()=>nC,isOverrideModifier:()=>Hre,isPackageJsonInfo:()=>$6,isPackedArrayLiteral:()=>kV,isParameter:()=>ao,isParameterDeclaration:()=>JE,isParameterPropertyDeclaration:()=>wu,isParameterPropertyModifier:()=>aC,isParenthesizedExpression:()=>uu,isParenthesizedTypeNode:()=>VS,isParseTreeNode:()=>eC,isPartOfTypeNode:()=>yh,isPartOfTypeQuery:()=>EW,isPartiallyEmittedExpression:()=>v6,isPatternMatch:()=>Qw,isPinnedComment:()=>nW,isPlainJsFile:()=>nL,isPlusToken:()=>gj,isPossiblyTypeArgumentPosition:()=>Gk,isPostfixUnaryExpression:()=>Ej,isPrefixUnaryExpression:()=>fy,isPrivateIdentifier:()=>Ci,isPrivateIdentifierClassElementDeclaration:()=>kd,isPrivateIdentifierPropertyAccessExpression:()=>j1,isPrivateIdentifierSymbol:()=>one,isProgramBundleEmitBuildInfo:()=>zae,isProgramUptoDate:()=>kH,isPrologueDirective:()=>Hf,isPropertyAccessChain:()=>W8,isPropertyAccessEntityNameExpression:()=>UL,isPropertyAccessExpression:()=>Er,isPropertyAccessOrQualifiedName:()=>Qee,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>$ee,isPropertyAssignment:()=>Hl,isPropertyDeclaration:()=>xo,isPropertyName:()=>kl,isPropertyNameLiteral:()=>Xm,isPropertySignature:()=>Gu,isProtoSetter:()=>ane,isPrototypeAccess:()=>ry,isPrototypePropertyAssignment:()=>AL,isPunctuation:()=>U9,isPushOrUnshiftIdentifier:()=>K9,isQualifiedName:()=>$d,isQuestionDotToken:()=>p6,isQuestionOrExclamationToken:()=>bie,isQuestionOrPlusOrMinusToken:()=>Tie,isQuestionToken:()=>cy,isRawSourceMap:()=>Moe,isReadonlyKeyword:()=>jre,isReadonlyKeywordOrPlusOrMinusToken:()=>Sie,isRecognizedTripleSlashComment:()=>d9,isReferenceFileLocation:()=>aR,isReferencedFile:()=>jb,isRegularExpressionLiteral:()=>_j,isRequireCall:()=>Xd,isRequireVariableStatement:()=>M9,isRestParameter:()=>gh,isRestTypeNode:()=>_6,isReturnStatement:()=>Kf,isReturnStatementWithFixablePromiseHandler:()=>tz,isRightSideOfAccessExpression:()=>pV,isRightSideOfInstanceofExpression:()=>Rne,isRightSideOfPropertyAccess:()=>fR,isRightSideOfQualifiedName:()=>kse,isRightSideOfQualifiedNameOrPropertyAccess:()=>LC,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>xne,isRootedDiskPath:()=>Ou,isSameEntityName:()=>ax,isSatisfiesExpression:()=>Sj,isScopeMarker:()=>tte,isSemicolonClassElement:()=>$re,isSetAccessor:()=>$g,isSetAccessorDeclaration:()=>Vu,isShebangTrivia:()=>PG,isShiftOperatorOrHigher:()=>Uj,isShorthandAmbientModuleSymbol:()=>pC,isShorthandPropertyAssignment:()=>xu,isSignedNumericLiteral:()=>LW,isSimpleCopiableExpression:()=>g0,isSimpleInlineableExpression:()=>o_,isSimpleParameter:()=>Goe,isSimpleParameterList:()=>pk,isSingleOrDoubleQuote:()=>gL,isSourceFile:()=>Li,isSourceFileFromLibrary:()=>ER,isSourceFileJS:()=>wd,isSourceFileNotJS:()=>kye,isSourceFileNotJson:()=>P9,isSourceMapping:()=>Loe,isSpecialPropertyDeclaration:()=>Yte,isSpreadAssignment:()=>lv,isSpreadElement:()=>bm,isStatement:()=>Di,isStatementButNotDeclaration:()=>QM,isStatementOrBlock:()=>ste,isStatementWithLocals:()=>vte,isStatic:()=>zo,isStaticModifier:()=>rI,isString:()=>fo,isStringAKeyword:()=>jye,isStringANonContextualKeyword:()=>FA,isStringAndEmptyAnonymousObjectIntersection:()=>Jse,isStringDoubleQuoted:()=>IW,isStringLiteral:()=>da,isStringLiteralLike:()=>Ga,isStringLiteralOrJsxExpression:()=>cte,isStringLiteralOrTemplate:()=>fle,isStringOrNumericLiteralLike:()=>Ap,isStringOrRegularExpressionOrTemplateLiteral:()=>Zq,isStringTextContainingNode:()=>KG,isSuperCall:()=>xS,isSuperKeyword:()=>sN,isSuperOrSuperProperty:()=>Lye,isSuperProperty:()=>cu,isSupportedSourceFileName:()=>rre,isSwitchStatement:()=>pN,isSyntaxList:()=>jx,isSyntheticExpression:()=>jbe,isSyntheticReference:()=>pI,isTagName:()=>Vq,isTaggedTemplateExpression:()=>a0,isTaggedTemplateTag:()=>Nse,isTemplateExpression:()=>h6,isTemplateHead:()=>tI,isTemplateLiteral:()=>NA,isTemplateLiteralKind:()=>Jv,isTemplateLiteralToken:()=>Hee,isTemplateLiteralTypeNode:()=>Kre,isTemplateLiteralTypeSpan:()=>bj,isTemplateMiddle:()=>hj,isTemplateMiddleOrTemplateTail:()=>B8,isTemplateSpan:()=>uN,isTemplateTail:()=>d6,isTextWhiteSpaceLike:()=>Zse,isThis:()=>mR,isThisContainerOrFunctionBlock:()=>Ute,isThisIdentifier:()=>YE,isThisInTypeQuery:()=>zA,isThisInitializedDeclaration:()=>gW,isThisInitializedObjectBindingExpression:()=>qte,isThisProperty:()=>fL,isThisTypeNode:()=>I2,isThisTypeParameter:()=>YC,isThisTypePredicate:()=>Mye,isThrowStatement:()=>Aj,isToken:()=>xA,isTokenKind:()=>qG,isTraceEnabled:()=>cg,isTransientSymbol:()=>k_,isTrivia:()=>mx,isTryStatement:()=>JS,isTupleTypeNode:()=>aI,isTypeAlias:()=>RL,isTypeAliasDeclaration:()=>Xf,isTypeAssertionExpression:()=>Xre,isTypeDeclaration:()=>Cx,isTypeElement:()=>bS,isTypeKeyword:()=>$N,isTypeKeywordToken:()=>oJ,isTypeKeywordTokenOrIdentifier:()=>I3,isTypeLiteralNode:()=>ju,isTypeNode:()=>xi,isTypeNodeKind:()=>bV,isTypeOfExpression:()=>Wx,isTypeOnlyExportDeclaration:()=>qee,isTypeOnlyImportDeclaration:()=>UM,isTypeOnlyImportOrExportDeclaration:()=>Sb,isTypeOperatorNode:()=>jS,isTypeParameterDeclaration:()=>qs,isTypePredicateNode:()=>T2,isTypeQueryNode:()=>oI,isTypeReferenceNode:()=>Yp,isTypeReferenceType:()=>X8,isTypeUsableAsPropertyName:()=>Af,isUMDExportSymbol:()=>QW,isUnaryExpression:()=>e9,isUnaryExpressionWithWrite:()=>Zee,isUnicodeIdentifierStart:()=>x8,isUnionTypeNode:()=>dy,isUnparsedNode:()=>HG,isUnparsedPrepend:()=>nie,isUnparsedSource:()=>XS,isUnparsedTextLike:()=>Uee,isUrl:()=>uee,isValidBigIntString:()=>hF,isValidESSymbolDeclaration:()=>Fte,isValidTypeOnlyAliasUseSite:()=>Pb,isValueSignatureDeclaration:()=>tne,isVarAwaitUsing:()=>lL,isVarConst:()=>Z1,isVarUsing:()=>cL,isVariableDeclaration:()=>yi,isVariableDeclarationInVariableStatement:()=>mC,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>jE,isVariableDeclarationInitializedToRequire:()=>AW,isVariableDeclarationList:()=>yc,isVariableLike:()=>tx,isVariableLikeOrAccessor:()=>wte,isVariableStatement:()=>cl,isVoidExpression:()=>cI,isWatchSet:()=>rbe,isWhileStatement:()=>Hbe,isWhiteSpaceLike:()=>$h,isWhiteSpaceSingleLine:()=>Um,isWithStatement:()=>Qre,isWriteAccess:()=>VA,isWriteOnlyAccess:()=>$W,isYieldExpression:()=>g6,jsxModeNeedsExplicitImport:()=>kJ,keywordPart:()=>Hu,last:()=>Da,lastOrUndefined:()=>Ns,length:()=>yn,libMap:()=>G6,libs:()=>K2,lineBreakPart:()=>yR,linkNamePart:()=>ole,linkPart:()=>vJ,linkTextPart:()=>M3,listFiles:()=>ZH,loadModuleFromGlobalCache:()=>poe,loadWithModeAwareCache:()=>Sk,makeIdentifierFromModuleName:()=>Tte,makeImport:()=>fv,makeImportIfNecessary:()=>Qse,makeStringLiteral:()=>CI,mangleScopedPackageName:()=>tR,map:()=>nn,mapAllOrFail:()=>$5,mapDefined:()=>Fi,mapDefinedEntries:()=>NZ,mapDefinedIterator:()=>WD,mapEntries:()=>MZ,mapIterator:()=>OD,mapOneOrMany:()=>PJ,mapToDisplayParts:()=>by,matchFiles:()=>DV,matchPatternOrExact:()=>CV,matchedText:()=>qZ,matchesExclude:()=>B6,maybeBind:()=>Wo,maybeSetLocalizedDiagnosticMessages:()=>Hne,memoize:()=>Kd,memoizeCached:()=>zZ,memoizeOne:()=>N_,memoizeWeak:()=>dve,metadataHelper:()=>WF,min:()=>cB,minAndMax:()=>ore,missingFileModifiedTime:()=>ip,modifierToFlag:()=>GA,modifiersToFlags:()=>Qm,moduleOptionDeclaration:()=>dU,moduleResolutionIsEqualTo:()=>hte,moduleResolutionNameAndModeGetter:()=>z4,moduleResolutionOptionDeclarations:()=>V6,moduleResolutionSupportsPackageJsonExportsAndImports:()=>HA,moduleResolutionUsesNodeModules:()=>x3,moduleSpecifiers:()=>h0,moveEmitHelpers:()=>Mre,moveRangeEnd:()=>XW,moveRangePastDecorators:()=>rg,moveRangePastModifiers:()=>Zm,moveRangePos:()=>Cb,moveSyntheticComments:()=>Cre,mutateMap:()=>FC,mutateMapSkippingNewValues:()=>Ih,needsParentheses:()=>k3,needsScopeMarker:()=>j8,newCaseClauseTracker:()=>K3,newPrivateEnvironment:()=>zoe,noEmitNotification:()=>fk,noEmitSubstitution:()=>WN,noTransformers:()=>dH,noTruncationMaximumTruncationLength:()=>AF,nodeCanBeDecorated:()=>yW,nodeHasName:()=>zM,nodeIsDecorated:()=>rx,nodeIsMissing:()=>_l,nodeIsPresent:()=>gf,nodeIsSynthesized:()=>xs,nodeModuleNameResolver:()=>aoe,nodeModulesPathPart:()=>q_,nodeNextJsonConfigResolver:()=>soe,nodeOrChildIsDecorated:()=>_L,nodeOverlapsWithStartEnd:()=>f3,nodePosToString:()=>Iye,nodeSeenTracker:()=>DI,nodeStartsNewLexicalEnvironment:()=>X9,nodeToDisplayParts:()=>AAe,noop:()=>Ca,noopFileWatcher:()=>uR,normalizePath:()=>Yo,normalizeSlashes:()=>ad,not:()=>e8,notImplemented:()=>Ro,notImplementedResolver:()=>D4,nullNodeConverters:()=>nj,nullParenthesizerRules:()=>tj,nullTransformationContext:()=>FN,objectAllocator:()=>wc,operatorPart:()=>eP,optionDeclarations:()=>Nh,optionMapToObject:()=>W6,optionsAffectingProgramStructure:()=>_U,optionsForBuild:()=>gU,optionsForWatch:()=>Yx,optionsHaveChanges:()=>K1,optionsHaveModuleResolutionChanges:()=>fte,or:()=>hm,orderedRemoveItem:()=>N1,orderedRemoveItemAt:()=>Bv,outFile:()=>ss,packageIdToPackageName:()=>Z8,packageIdToString:()=>Qv,paramHelper:()=>FF,parameterIsThisKeyword:()=>XE,parameterNamePart:()=>tle,parseBaseNodeFactory:()=>Qj,parseBigInt:()=>are,parseBuildCommand:()=>jEe,parseCommandLine:()=>GEe,parseCommandLineWorker:()=>tU,parseConfigFileTextToJson:()=>rU,parseConfigFileWithSystem:()=>ATe,parseConfigHostFromCompilerHostLike:()=>F4,parseCustomTypeOption:()=>w6,parseIsolatedEntityName:()=>gI,parseIsolatedJSDocComment:()=>Pie,parseJSDocTypeExpressionForTests:()=>DEe,parseJsonConfigFileContent:()=>r0e,parseJsonSourceFileConfigFileContent:()=>H2,parseJsonText:()=>G2,parseListTypeOption:()=>Lie,parseNodeFactory:()=>H_,parseNodeModuleFromPath:()=>tk,parsePackageName:()=>ik,parsePseudoBigInt:()=>HC,parseValidBigInt:()=>LV,patchWriteFileEnsuringDirectory:()=>cee,pathContainsNodeModules:()=>Gb,pathIsAbsolute:()=>JD,pathIsBareSpecifier:()=>RG,pathIsRelative:()=>op,patternText:()=>HZ,perfLogger:()=>Pd,performIncrementalCompilation:()=>DTe,performance:()=>ree,plainJSErrors:()=>B4,positionBelongsToNode:()=>Jq,positionIsASICandidate:()=>F3,positionIsSynthesized:()=>ym,positionsAreOnSameLine:()=>Jp,preProcessFile:()=>$Ae,probablyUsesSemicolons:()=>Zk,processCommentPragmas:()=>Yj,processPragmasIntoFields:()=>$j,processTaggedTemplateExpression:()=>rH,programContainsEsModules:()=>$se,programContainsModules:()=>Yse,projectReferenceIsEqualTo:()=>s9,propKeyHelper:()=>$F,propertyNamePart:()=>nle,pseudoBigIntToString:()=>ZE,punctuationPart:()=>Ad,pushIfUnique:()=>jp,quote:()=>rP,quotePreferenceFromString:()=>cJ,rangeContainsPosition:()=>Wk,rangeContainsPositionExclusive:()=>Fk,rangeContainsRange:()=>Np,rangeContainsRangeExclusive:()=>wse,rangeContainsStartEnd:()=>zk,rangeEndIsOnSameLineAsRangeStart:()=>qL,rangeEndPositionsAreOnSameLine:()=>Mne,rangeEquals:()=>nB,rangeIsOnSingleLine:()=>WS,rangeOfNode:()=>PV,rangeOfTypeParameters:()=>MV,rangeOverlapsWithStartEnd:()=>XN,rangeStartIsOnSameLineAsRangeEnd:()=>Lne,rangeStartPositionsAreOnSameLine:()=>YW,readBuilderProgram:()=>Q4,readConfigFile:()=>j2,readHelper:()=>XF,readJson:()=>kC,readJsonConfigFile:()=>wie,readJsonOrUndefined:()=>mV,reduceEachLeadingCommentRange:()=>gee,reduceEachTrailingCommentRange:()=>vee,reduceLeft:()=>Nd,reduceLeftIterator:()=>ave,reducePathComponents:()=>hS,refactor:()=>MI,regExpEscape:()=>dbe,relativeComplement:()=>LZ,removeAllComments:()=>f2,removeEmitHelper:()=>Bbe,removeExtension:()=>QL,removeFileExtension:()=>Yd,removeIgnoredPath:()=>j4,removeMinAndVersionNumbers:()=>dB,removeOptionality:()=>jse,removePrefix:()=>jD,removeSuffix:()=>C1,removeTrailingDirectorySeparator:()=>fb,repeatString:()=>Hk,replaceElement:()=>oB,replaceFirstStar:()=>KA,resolutionExtensionIsTSOrJson:()=>VC,resolveConfigFileProjectName:()=>dq,resolveJSModule:()=>ioe,resolveLibrary:()=>Z6,resolveModuleName:()=>Zx,resolveModuleNameFromCache:()=>B0e,resolvePackageNameToPackageJson:()=>bU,resolvePath:()=>jv,resolveProjectReferencePath:()=>sR,resolveTripleslashReference:()=>M4,resolveTypeReferenceDirective:()=>eoe,resolvingEmptyArray:()=>TF,restHelper:()=>HF,returnFalse:()=>_m,returnNoopFileWatcher:()=>pR,returnTrue:()=>Ug,returnUndefined:()=>ub,returnsPromise:()=>ZJ,runInitializersHelper:()=>BF,sameFlatMap:()=>CZ,sameMap:()=>sc,sameMapping:()=>RSe,scanShebangTrivia:()=>MG,scanTokenAtPosition:()=>Lte,scanner:()=>Id,screenStartingMessageCodes:()=>$4,semanticDiagnosticsOptionDeclarations:()=>pU,serializeCompilerOptions:()=>F6,server:()=>KMe,servicesVersion:()=>Uce,setCommentRange:()=>Ol,setConfigFileInOptions:()=>lU,setConstantValue:()=>Pre,setEachParent:()=>Dx,setEmitFlags:()=>$n,setFunctionNameHelper:()=>QF,setGetSourceFileAsHashVersioned:()=>Y4,setIdentifierAutoGenerate:()=>h2,setIdentifierGeneratedImportReference:()=>Ore,setIdentifierTypeArguments:()=>av,setInternalEmitFlags:()=>m2,setLocalizedDiagnosticMessages:()=>Une,setModuleDefaultHelper:()=>t6,setNodeFlags:()=>cre,setObjectAllocator:()=>jne,setOriginalNode:()=>mr,setParent:()=>Aa,setParentRecursive:()=>oy,setPrivateIdentifier:()=>tT,setSnippetElement:()=>dj,setSourceMapRange:()=>ca,setStackTraceLimit:()=>Pve,setStartsOnNewLine:()=>LF,setSyntheticLeadingComments:()=>Lb,setSyntheticTrailingComments:()=>YA,setSys:()=>wve,setSysLog:()=>see,setTextRange:()=>Ze,setTextRangeEnd:()=>Rx,setTextRangePos:()=>qC,setTextRangePosEnd:()=>F_,setTextRangePosWidth:()=>JC,setTokenSourceMapRange:()=>Dre,setTypeNode:()=>Lre,setUILocale:()=>VZ,setValueDeclaration:()=>IL,shouldAllowImportingTsExtension:()=>nR,shouldPreserveConstEnums:()=>n0,shouldUseUriStyleNodeCoreModules:()=>q3,showModuleSpecifier:()=>Fne,signatureHasLiteralTypes:()=>zU,signatureHasRestParameter:()=>Td,signatureToDisplayParts:()=>yJ,single:()=>iB,singleElementArray:()=>EA,singleIterator:()=>PZ,singleOrMany:()=>D_,singleOrUndefined:()=>R_,skipAlias:()=>Kc,skipAssertions:()=>aEe,skipConstraint:()=>aJ,skipOuterExpressions:()=>Rl,skipParentheses:()=>Ka,skipPartiallyEmittedExpressions:()=>jf,skipTrivia:()=>pa,skipTypeChecking:()=>UC,skipTypeParentheses:()=>ML,skipWhile:()=>KZ,sliceAfter:()=>NV,some:()=>ct,sort:()=>uS,sortAndDeduplicate:()=>zD,sortAndDeduplicateDiagnostics:()=>z1,sourceFileAffectingCompilerOptions:()=>j6,sourceFileMayBeEmitted:()=>LS,sourceMapCommentRegExp:()=>p4,sourceMapCommentRegExpDontCareLineStart:()=>JU,spacePart:()=>ul,spanMap:()=>Q5,spreadArrayHelper:()=>YF,stableSort:()=>Gg,startEndContainsRange:()=>qq,startEndOverlapsWithStartEnd:()=>m3,startOnNewLine:()=>Sd,startTracing:()=>iee,startsWith:()=>Ui,startsWithDirectory:()=>CG,startsWithUnderscore:()=>LJ,startsWithUseStrict:()=>mie,stringContainsAt:()=>Ele,stringToToken:()=>LE,stripQuotes:()=>Sf,supportedDeclarationExtensions:()=>s2,supportedJSExtensions:()=>QV,supportedJSExtensionsFlat:()=>Px,supportedLocaleDirectories:()=>a9,supportedTSExtensions:()=>Nx,supportedTSExtensionsFlat:()=>$V,supportedTSImplementationExtensions:()=>l2,suppressLeadingAndTrailingTrivia:()=>qu,suppressLeadingTrivia:()=>TJ,suppressTrailingTrivia:()=>dle,symbolEscapedNameNoDefault:()=>D3,symbolName:()=>$s,symbolNameNoDefault:()=>R3,symbolPart:()=>ele,symbolToDisplayParts:()=>tP,syntaxMayBeASICandidate:()=>zJ,syntaxRequiresTrailingSemicolonOrASI:()=>W3,sys:()=>Hc,sysLog:()=>SM,tagNamesAreEquivalent:()=>Fb,takeWhile:()=>n8,targetOptionDeclaration:()=>Y2,templateObjectHelper:()=>KF,testFormatSettings:()=>Cse,textChangeRangeIsUnchanged:()=>Iee,textChangeRangeNewSpan:()=>ZD,textChanges:()=>er,textOrKeywordPart:()=>gJ,textPart:()=>Mp,textRangeContainsPositionInclusive:()=>wM,textSpanContainsPosition:()=>OG,textSpanContainsTextSpan:()=>Eee,textSpanEnd:()=>Al,textSpanIntersection:()=>Aee,textSpanIntersectsWith:()=>P8,textSpanIntersectsWithPosition:()=>Tee,textSpanIntersectsWithTextSpan:()=>rye,textSpanIsEmpty:()=>bee,textSpanOverlap:()=>See,textSpanOverlapsWith:()=>nye,textSpansEqual:()=>vR,textToKeywordObj:()=>kM,timestamp:()=>Is,toArray:()=>yA,toBuilderFileEmit:()=>Vae,toBuilderStateFileInfoForMultiEmit:()=>Gae,toEditorSettings:()=>vO,toFileNameLowerCase:()=>C_,toLowerCase:()=>FZ,toPath:()=>ks,toProgramEmitPending:()=>jae,tokenIsIdentifierOrKeyword:()=>Md,tokenIsIdentifierOrKeywordOrGreaterThan:()=>_ee,tokenToString:()=>qo,trace:()=>to,tracing:()=>qn,tracingEnabled:()=>vM,transform:()=>X1e,transformClassFields:()=>Yoe,transformDeclarations:()=>lH,transformECMAScriptModule:()=>sH,transformES2015:()=>uae,transformES2016:()=>dae,transformES2017:()=>eae,transformES2018:()=>tae,transformES2019:()=>nae,transformES2020:()=>rae,transformES2021:()=>iae,transformES5:()=>pae,transformESDecorators:()=>Zoe,transformESNext:()=>oae,transformGenerators:()=>fae,transformJsx:()=>cae,transformLegacyDecorators:()=>Qoe,transformModule:()=>aH,transformNamedEvaluation:()=>Uu,transformNodeModule:()=>_ae,transformNodes:()=>mk,transformSystemModule:()=>mae,transformTypeScript:()=>Xoe,transpile:()=>oIe,transpileModule:()=>Ble,transpileOptionValueCompilerOptions:()=>hU,tryAddToSet:()=>db,tryAndIgnoreErrors:()=>G3,tryCast:()=>Vr,tryDirectoryExists:()=>B3,tryExtractTSExtension:()=>JW,tryFileExists:()=>eO,tryGetClassExtendingExpressionWithTypeArguments:()=>dV,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>uV,tryGetDirectories:()=>z3,tryGetExtensionFromPath:()=>og,tryGetImportFromModuleSpecifier:()=>xL,tryGetJSDocSatisfiesTypeNode:()=>bF,tryGetModuleNameFromFile:()=>k2,tryGetModuleSpecifierFromDeclaration:()=>sx,tryGetNativePerformanceHooks:()=>eee,tryGetPropertyAccessOrIdentifierToString:()=>HL,tryGetPropertyNameOfBindingOrAssignmentElement:()=>P6,tryGetSourceMappingURL:()=>Poe,tryGetTextOfPropertyName:()=>fC,tryIOAndConsumeErrors:()=>V3,tryParseJson:()=>KW,tryParsePattern:()=>xx,tryParsePatterns:()=>fF,tryParseRawSourceMap:()=>HU,tryReadDirectory:()=>xJ,tryReadFile:()=>SN,tryRemoveDirectoryPrefix:()=>xV,tryRemoveExtension:()=>ire,tryRemovePrefix:()=>fB,tryRemoveSuffix:()=>UZ,typeAcquisitionDeclarations:()=>$2,typeAliasNamePart:()=>rle,typeDirectiveIsEqualTo:()=>gte,typeKeywords:()=>X3,typeParameterNamePart:()=>ile,typeToDisplayParts:()=>Xk,unchangedPollThresholds:()=>TM,unchangedTextChangeRange:()=>eL,unescapeLeadingUnderscores:()=>Ii,unmangleScopedPackageName:()=>ak,unorderedRemoveItem:()=>bA,unorderedRemoveItemAt:()=>uB,unreachableCodeIsError:()=>Jne,unusedLabelIsError:()=>Kne,unwrapInnermostStatementOfLabel:()=>R9,updateErrorForNoInputFiles:()=>z6,updateLanguageServiceSourceFile:()=>wK,updateMissingFilePathsWatch:()=>vH,updateResolutionField:()=>$x,updateSharedExtendedConfigFileWatcher:()=>N4,updateSourceFile:()=>Kj,updateWatchingWildcardDirectories:()=>gk,usesExtensionsOnImports:()=>tre,usingSingleLineStringWriter:()=>dC,utf16EncodeAsString:()=>F1,validateLocaleAndSetLanguage:()=>oye,valuesHelper:()=>ZF,version:()=>bp,versionMajorMinor:()=>jm,visitArray:()=>ck,visitCommaListElements:()=>dk,visitEachChild:()=>un,visitFunctionBody:()=>Cp,visitIterationBody:()=>Qd,visitLexicalEnvironment:()=>jU,visitNode:()=>He,visitNodes:()=>Dn,visitParameterList:()=>rl,walkUpBindingElementsAndPatterns:()=>B1,walkUpLexicalEnvironments:()=>Foe,walkUpOuterExpressions:()=>_ie,walkUpParenthesizedExpressions:()=>Zg,walkUpParenthesizedTypes:()=>PL,walkUpParenthesizedTypesAndGetParentAndChild:()=>nne,whitespaceOrMapCommentRegExp:()=>f4,writeCommentRange:()=>bx,writeFile:()=>RC,writeFileEnsuringDirectories:()=>oV,zipWith:()=>J5});var Ty=pt({\"src/server/_namespaces/ts.ts\"(){\"use strict\";wo(),Pk(),Hr(),ZY(),hT()}}),YMe={};la(YMe,{ActionInvalidate:()=>Ck,ActionPackageInstalled:()=>Nk,ActionSet:()=>Dk,ActionWatchTypingLocations:()=>JN,Arguments:()=>gq,AutoImportProviderProject:()=>f$,AuxiliaryProject:()=>u$,CharRangeSection:()=>x$,CloseFileWatcherEvent:()=>g7,CommandNames:()=>gme,ConfigFileDiagEvent:()=>p7,ConfiguredProject:()=>m$,CreateDirectoryWatcherEvent:()=>h7,CreateFileWatcherEvent:()=>_7,Errors:()=>vv,EventBeginInstallTypes:()=>i3,EventEndInstallTypes:()=>o3,EventInitializationFailed:()=>hq,EventTypesRegistry:()=>r3,ExternalProject:()=>o7,GcTimer:()=>i$,InferredProject:()=>d$,LargeFileReferencedEvent:()=>u7,LineIndex:()=>EP,LineLeaf:()=>$O,LineNode:()=>jI,LogLevel:()=>e$,Msg:()=>t$,OpenFileInfoTelemetryEvent:()=>v$,Project:()=>_T,ProjectInfoTelemetryEvent:()=>m7,ProjectKind:()=>yP,ProjectLanguageServiceStateEvent:()=>f7,ProjectLoadingFinishEvent:()=>d7,ProjectLoadingStartEvent:()=>c7,ProjectReferenceProjectLoadKind:()=>E$,ProjectService:()=>S$,ProjectsUpdatedInBackgroundEvent:()=>KO,ScriptInfo:()=>s$,ScriptVersionCache:()=>E7,Session:()=>yme,TextStorage:()=>a$,ThrottledOperations:()=>r$,TypingsCache:()=>l$,TypingsInstallerAdapter:()=>Sme,allFilesAreJsOrDts:()=>Xfe,allRootFilesAreJsOrDts:()=>Kfe,asNormalizedPath:()=>TMe,convertCompilerOptions:()=>a7,convertFormatOptions:()=>zR,convertScriptKindName:()=>h$,convertTypeAcquisition:()=>Qfe,convertUserPreferences:()=>Zfe,convertWatchOptions:()=>JO,countEachFileTypes:()=>HO,createInstallTypingsRequest:()=>Rfe,createModuleSpecifierCache:()=>cme,createNormalizedPathMap:()=>AMe,createPackageJsonCache:()=>dme,createSortedArray:()=>Mfe,emptyArray:()=>ql,findArgument:()=>uAe,forEachResolvedProjectReferenceProject:()=>BR,formatDiagnosticToProtocol:()=>YO,formatMessage:()=>ume,getBaseConfigFileName:()=>n$,getLocationInNewDocument:()=>_me,hasArgument:()=>dAe,hasNoTypeScriptSource:()=>Yfe,indent:()=>qN,isBackgroundProject:()=>qO,isConfigFile:()=>ome,isConfiguredProject:()=>Yb,isDynamicFileName:()=>UO,isExternalProject:()=>c$,isInferredProject:()=>FR,isInferredProjectName:()=>Dfe,makeAutoImportProviderProjectName:()=>Nfe,makeAuxiliaryProjectName:()=>Pfe,makeInferredProjectName:()=>Cfe,maxFileSize:()=>l7,maxProgramSizeForNonTsFiles:()=>s7,normalizedPathToPath:()=>jO,nowString:()=>pAe,nullCancellationToken:()=>hme,nullTypingsInstaller:()=>i7,projectContainsInfoDirectly:()=>GI,protocol:()=>Jfe,removeSorted:()=>IMe,stringifyIndented:()=>Ub,toEvent:()=>pme,toNormalizedPath:()=>js,tryConvertScriptKindName:()=>_$,typingsInstaller:()=>Ife,updateProjectIfDirty:()=>up});var xet=pt({\"src/typescript/_namespaces/ts.server.ts\"(){\"use strict\";a3(),hT()}}),$Me={};la($Me,{ANONYMOUS:()=>Y3,AccessFlags:()=>HB,AssertionLevel:()=>hB,AssignmentDeclarationKind:()=>eG,AssignmentKind:()=>VV,Associativity:()=>UV,BreakpointResolver:()=>jK,BuilderFileEmit:()=>JH,BuilderProgramKind:()=>KH,BuilderState:()=>Qf,BundleFileSectionKind:()=>vG,CallHierarchy:()=>LI,CharacterCodes:()=>uG,CheckFlags:()=>BB,CheckMode:()=>c4,ClassificationType:()=>wq,ClassificationTypeNames:()=>Oq,CommentDirectiveType:()=>IB,Comparison:()=>q5,CompletionInfoFlags:()=>Dq,CompletionTriggerKind:()=>Tq,Completions:()=>FI,ContainerFlags:()=>wU,ContextFlags:()=>PB,Debug:()=>x,DiagnosticCategory:()=>bM,Diagnostics:()=>f,DocumentHighlights:()=>Z3,ElementFlags:()=>UB,EmitFlags:()=>y8,EmitHint:()=>_G,EmitOnly:()=>RB,EndOfLineState:()=>Pq,EnumKind:()=>zB,ExitStatus:()=>DB,ExportKind:()=>UJ,Extension:()=>pG,ExternalEmitHelpers:()=>mG,FileIncludeKind:()=>d8,FilePreprocessingDiagnosticsKind:()=>xB,FileSystemEntryKind:()=>AG,FileWatcherEventKind:()=>TG,FindAllReferences:()=>fs,FlattenLevel:()=>eH,FlowFlags:()=>yM,ForegroundColorEscapeSequences:()=>zH,FunctionFlags:()=>jV,GeneratedIdentifierFlags:()=>c8,GetLiteralTextFlags:()=>zV,GoToDefinition:()=>LR,HighlightSpanKind:()=>Iq,IdentifierNameMap:()=>SI,IdentifierNameMultiMap:()=>ZU,ImportKind:()=>jJ,ImportsNotUsedAsValues:()=>aG,IndentStyle:()=>xq,IndexFlags:()=>qB,IndexKind:()=>XB,InferenceFlags:()=>QB,InferencePriority:()=>$B,InlayHintKind:()=>Aq,InlayHints:()=>OY,InternalEmitFlags:()=>fG,InternalSymbolName:()=>GB,InvalidatedProjectKind:()=>_q,JSDocParsingMode:()=>EG,JsDoc:()=>Xb,JsTyping:()=>l_,JsxEmit:()=>oG,JsxFlags:()=>TB,JsxReferenceKind:()=>JB,LanguageServiceMode:()=>bq,LanguageVariant:()=>cG,LexicalEnvironmentFlags:()=>gG,ListFormat:()=>yG,LogLevel:()=>vB,MemberOverrideStatus:()=>CB,ModifierFlags:()=>s8,ModuleDetectionKind:()=>tG,ModuleInstanceState:()=>OU,ModuleKind:()=>HD,ModuleResolutionKind:()=>O1,ModuleSpecifierEnding:()=>ZV,NavigateTo:()=>jle,NavigationBar:()=>Zle,NewLineKind:()=>sG,NodeBuilderFlags:()=>MB,NodeCheckFlags:()=>VB,NodeFactoryFlags:()=>sj,NodeFlags:()=>a8,NodeResolutionFeatures:()=>MU,ObjectFlags:()=>m8,OperationCanceledException:()=>k1,OperatorPrecedence:()=>HV,OrganizeImports:()=>Zf,OrganizeImportsMode:()=>Sq,OuterExpressionKinds:()=>hG,OutliningElementsCollector:()=>zY,OutliningSpanKind:()=>Cq,OutputFileType:()=>Nq,PackageJsonAutoImportPreference:()=>yq,PackageJsonDependencyGroup:()=>vq,PatternMatchKind:()=>ez,PollingInterval:()=>b8,PollingWatchKind:()=>iG,PragmaKindFlags:()=>bG,PrivateIdentifierKind:()=>mj,ProcessLevel:()=>iH,ProgramUpdateLevel:()=>bH,QuotePreference:()=>WJ,RelationComparisonResult:()=>l8,Rename:()=>$z,ScriptElementKind:()=>Lq,ScriptElementKindModifier:()=>kq,ScriptKind:()=>h8,ScriptSnapshot:()=>l3,ScriptTarget:()=>lG,SemanticClassificationFormat:()=>Eq,SemanticMeaning:()=>wJ,SemicolonPreference:()=>Rq,SignatureCheckMode:()=>d4,SignatureFlags:()=>_8,SignatureHelp:()=>OO,SignatureKind:()=>KB,SmartSelectionRange:()=>VY,SnippetKind:()=>v8,SortKind:()=>_B,StructureIsReused:()=>u8,SymbolAccessibility:()=>OB,SymbolDisplay:()=>gv,SymbolDisplayPartKind:()=>Mk,SymbolFlags:()=>p8,SymbolFormatFlags:()=>kB,SyntaxKind:()=>o8,SyntheticSymbolKind:()=>wB,Ternary:()=>ZB,ThrottledCancellationToken:()=>VK,TokenClass:()=>Mq,TokenFlags:()=>AB,TransformFlags:()=>g8,TypeFacts:()=>l4,TypeFlags:()=>f8,TypeFormatFlags:()=>LB,TypeMapKind:()=>YB,TypePredicateKind:()=>WB,TypeReferenceSerializationKind:()=>FB,UnionReduction:()=>NB,UpToDateStatusType:()=>uq,VarianceFlags:()=>jB,Version:()=>zf,VersionRange:()=>hM,WatchDirectoryFlags:()=>dG,WatchDirectoryKind:()=>rG,WatchFileKind:()=>nG,WatchLogLevel:()=>EH,WatchType:()=>dc,accessPrivateIdentifier:()=>Boe,addDisposableResourceHelper:()=>s6,addEmitFlags:()=>e_,addEmitHelper:()=>$A,addEmitHelpers:()=>ag,addInternalEmitFlags:()=>XA,addNodeFactoryPatcher:()=>Lbe,addObjectAllocatorPatcher:()=>Vne,addRange:()=>Pr,addRelatedInfo:()=>fa,addSyntheticLeadingComment:()=>iN,addSyntheticTrailingComment:()=>kF,addToSeen:()=>Jf,advancedAsyncSuperHelper:()=>y2,affectsDeclarationPathOptionDeclarations:()=>mU,affectsEmitOptionDeclarations:()=>fU,allKeysStartWithDot:()=>t4,altDirectorySeparator:()=>DM,and:()=>Zw,append:()=>pn,appendIfUnique:()=>Kh,arrayFrom:()=>bo,arrayIsEqualTo:()=>mm,arrayIsHomogeneous:()=>lre,arrayIsSorted:()=>Hw,arrayOf:()=>OZ,arrayReverseIterator:()=>tB,arrayToMap:()=>PE,arrayToMultiMap:()=>fM,arrayToNumericMap:()=>WZ,arraysEqual:()=>dM,assertType:()=>fve,assign:()=>R1,assignHelper:()=>GF,asyncDelegator:()=>jF,asyncGeneratorHelper:()=>VF,asyncSuperHelper:()=>v2,asyncValues:()=>UF,attachFileToDiagnostics:()=>UA,awaitHelper:()=>QA,awaiterHelper:()=>qF,base64decode:()=>Pne,base64encode:()=>Nne,binarySearch:()=>Vg,binarySearchKey:()=>gA,bindSourceFile:()=>_oe,breakIntoCharacterSpans:()=>wle,breakIntoWordSpans:()=>Wle,buildLinkParts:()=>ale,buildOpts:()=>U6,buildOverload:()=>gMe,bundlerModuleNameResolver:()=>ooe,canBeConvertedToAsync:()=>tK,canHaveDecorators:()=>ZS,canHaveExportModifier:()=>e2,canHaveFlowNode:()=>DL,canHaveIllegalDecorators:()=>jj,canHaveIllegalModifiers:()=>yie,canHaveIllegalType:()=>lEe,canHaveIllegalTypeParameters:()=>vie,canHaveJSDoc:()=>CL,canHaveLocals:()=>L_,canHaveModifiers:()=>Yf,canHaveSymbol:()=>qm,canJsonReportNoInputFiles:()=>TN,canProduceDiagnostics:()=>T4,canUsePropertyAccess:()=>OV,canWatchAffectingLocation:()=>Jae,canWatchAtTypes:()=>qae,canWatchDirectoryOrFile:()=>U4,cartesianProduct:()=>JZ,cast:()=>Fo,chainBundle:()=>$f,chainDiagnosticMessages:()=>So,changeAnyExtension:()=>xM,changeCompilerHostLikeToUseCache:()=>bk,changeExtension:()=>Nb,changeFullExtension:()=>pee,changesAffectModuleResolution:()=>Y8,changesAffectingProgramStructure:()=>mte,childIsDecorated:()=>hC,classElementOrClassElementParameterIsDecorated:()=>D9,classHasClassThisAssignment:()=>tH,classHasDeclaredOrExplicitlyAssignedName:()=>nH,classHasExplicitlyAssignedName:()=>b4,classOrConstructorParameterIsDecorated:()=>Qg,classPrivateFieldGetHelper:()=>i6,classPrivateFieldInHelper:()=>a6,classPrivateFieldSetHelper:()=>o6,classicNameResolver:()=>uoe,classifier:()=>Kce,cleanExtendedConfigCache:()=>P4,clear:()=>ph,clearMap:()=>Au,clearSharedExtendedConfigFileWatcher:()=>gH,climbPastPropertyAccess:()=>d3,climbPastPropertyOrElementAccess:()=>Lse,clone:()=>aB,cloneCompilerOptions:()=>tJ,closeFileWatcher:()=>vm,closeFileWatcherOf:()=>Qp,codefix:()=>ud,collapseTextChangeRangesAcrossMultipleVersions:()=>xee,collectExternalModuleInfo:()=>XU,combine:()=>x1,combinePaths:()=>wr,commentPragmas:()=>EM,commonOptionsWithBuild:()=>X2,commonPackageFolders:()=>KV,compact:()=>pM,compareBooleans:()=>zv,compareDataObjects:()=>vV,compareDiagnostics:()=>zC,compareDiagnosticsSkipRelatedInformation:()=>tF,compareEmitHelpers:()=>Fre,compareNumberOfDirectorySeparators:()=>$L,comparePaths:()=>Xh,comparePathsCaseInsensitive:()=>Bve,comparePathsCaseSensitive:()=>zve,comparePatternKeys:()=>NU,compareProperties:()=>jZ,compareStringsCaseInsensitive:()=>$w,compareStringsCaseInsensitiveEslintCompatible:()=>BZ,compareStringsCaseSensitive:()=>gd,compareStringsCaseSensitiveUI:()=>_M,compareTextSpans:()=>Yw,compareValues:()=>Ms,compileOnSaveCommandLineOption:()=>J2,compilerOptionsAffectDeclarationPath:()=>Qne,compilerOptionsAffectEmit:()=>$ne,compilerOptionsAffectSemanticDiagnostics:()=>Yne,compilerOptionsDidYouMeanDiagnostics:()=>Q2,compilerOptionsIndicateEsModules:()=>sJ,compose:()=>uve,computeCommonSourceDirectoryOfFilenames:()=>Iae,computeLineAndCharacterOfPosition:()=>W1,computeLineOfPosition:()=>XD,computeLineStarts:()=>IA,computePositionOfLineAndCharacter:()=>R8,computeSignature:()=>oT,computeSignatureWithDiagnostics:()=>jH,computeSuggestionDiagnostics:()=>QJ,computedOptions:()=>Ul,concatenate:()=>ro,concatenateDiagnosticMessageChains:()=>qne,consumesNodeCoreModules:()=>j3,contains:()=>To,containsIgnoredPath:()=>KC,containsObjectRestOrSpread:()=>F2,containsParseError:()=>X1,containsPath:()=>Bf,convertCompilerOptionsForTelemetry:()=>Vie,convertCompilerOptionsFromJson:()=>u0e,convertJsonOption:()=>eT,convertToBase64:()=>Cne,convertToJson:()=>U2,convertToObject:()=>Wie,convertToOptionsWithAbsolutePaths:()=>sU,convertToRelativePath:()=>KD,convertToTSConfig:()=>$Ee,convertTypeAcquisitionFromJson:()=>p0e,copyComments:()=>cT,copyEntries:()=>$8,copyLeadingComments:()=>bR,copyProperties:()=>sB,copyTrailingAsLeadingComments:()=>Qk,copyTrailingComments:()=>nP,couldStartTrivia:()=>hee,countWhere:()=>Wv,createAbstractBuilder:()=>vTe,createAccessorPropertyBackingField:()=>Hj,createAccessorPropertyGetRedirector:()=>Rie,createAccessorPropertySetRedirector:()=>Die,createBaseNodeFactory:()=>Sre,createBinaryExpressionTrampoline:()=>M6,createBindingHelper:()=>Lx,createBuildInfo:()=>_k,createBuilderProgram:()=>UH,createBuilderProgramUsingProgramBuildInfo:()=>Uae,createBuilderStatusReporter:()=>sse,createCacheWithRedirects:()=>SU,createCacheableExportInfoMap:()=>BJ,createCachedDirectoryStructureHost:()=>C4,createClassNamedEvaluationHelperBlock:()=>qoe,createClassThisAssignmentBlock:()=>Uoe,createClassifier:()=>OAe,createCommentDirectivesMap:()=>bte,createCompilerDiagnostic:()=>bl,createCompilerDiagnosticForInvalidCustomType:()=>Mie,createCompilerDiagnosticFromMessageChain:()=>eF,createCompilerHost:()=>xae,createCompilerHostFromProgramHost:()=>sq,createCompilerHostWorker:()=>AH,createDetachedDiagnostic:()=>Ix,createDiagnosticCollection:()=>hx,createDiagnosticForFileFromMessageChain:()=>T9,createDiagnosticForNode:()=>vr,createDiagnosticForNodeArray:()=>Q1,createDiagnosticForNodeArrayFromMessageChain:()=>sL,createDiagnosticForNodeFromMessageChain:()=>eg,createDiagnosticForNodeInSourceFile:()=>vf,createDiagnosticForRange:()=>Mte,createDiagnosticMessageChainFromDiagnostic:()=>Pte,createDiagnosticReporter:()=>Ik,createDocumentPositionMapper:()=>koe,createDocumentRegistry:()=>Ile,createDocumentRegistryInternal:()=>JJ,createEmitAndSemanticDiagnosticsBuilderProgram:()=>XH,createEmitHelperFactory:()=>Wre,createEmptyExports:()=>N2,createExpressionForJsxElement:()=>uie,createExpressionForJsxFragment:()=>pie,createExpressionForObjectLiteralElementLike:()=>fie,createExpressionForPropertyName:()=>Wj,createExpressionFromEntityName:()=>P2,createExternalHelpersImportDeclarationIfNeeded:()=>Bj,createFileDiagnostic:()=>Rc,createFileDiagnosticFromMessageChain:()=>aW,createForOfBindingStatement:()=>wj,createGetCanonicalFileName:()=>od,createGetSourceFile:()=>SH,createGetSymbolAccessibilityDiagnosticForNode:()=>cv,createGetSymbolAccessibilityDiagnosticForNodeName:()=>hae,createGetSymbolWalker:()=>hoe,createIncrementalCompilerHost:()=>cq,createIncrementalProgram:()=>ose,createInputFiles:()=>Obe,createInputFilesWithFilePaths:()=>oj,createInputFilesWithFileTexts:()=>aj,createJsxFactoryExpression:()=>Oj,createLanguageService:()=>Vce,createLanguageServiceSourceFile:()=>Az,createMemberAccessForPropertyName:()=>QS,createModeAwareCache:()=>bI,createModeAwareCacheKey:()=>DN,createModuleNotFoundChain:()=>Q8,createModuleResolutionCache:()=>Qx,createModuleResolutionLoader:()=>NH,createModuleResolutionLoaderUsingGlobalCache:()=>$ae,createModuleSpecifierResolutionHost:()=>lT,createMultiMap:()=>Ep,createNodeConverters:()=>Are,createNodeFactory:()=>d2,createOptionNameMap:()=>O6,createOverload:()=>QY,createPackageJsonImportFilter:()=>oP,createPackageJsonInfo:()=>DJ,createParenthesizerRules:()=>Tre,createPatternMatcher:()=>Nle,createPrependNodes:()=>WH,createPrinter:()=>Vb,createPrinterWithDefaults:()=>_H,createPrinterWithRemoveComments:()=>y0,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>hH,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>hk,createProgram:()=>w4,createProgramHost:()=>lq,createPropertyNameNodeForIdentifierOrLiteral:()=>vF,createQueue:()=>mM,createRange:()=>qp,createRedirectedBuilderProgram:()=>qH,createResolutionCache:()=>$H,createRuntimeTypeSerializer:()=>$oe,createScanner:()=>Kg,createSemanticDiagnosticsBuilderProgram:()=>gTe,createSet:()=>lB,createSolutionBuilder:()=>kTe,createSolutionBuilderHost:()=>MTe,createSolutionBuilderWithWatch:()=>OTe,createSolutionBuilderWithWatchHost:()=>LTe,createSortedArray:()=>eB,createSourceFile:()=>B2,createSourceMapGenerator:()=>Noe,createSourceMapSource:()=>wbe,createSuperAccessVariableStatement:()=>S4,createSymbolTable:()=>Vo,createSymlinkCache:()=>IV,createSystemWatchFunctions:()=>lee,createTextChange:()=>jk,createTextChangeFromStartLength:()=>A3,createTextChangeRange:()=>FM,createTextRangeFromNode:()=>iJ,createTextRangeFromSpan:()=>T3,createTextSpan:()=>qc,createTextSpanFromBounds:()=>Gl,createTextSpanFromNode:()=>eu,createTextSpanFromRange:()=>yy,createTextSpanFromStringLiteralLikeContent:()=>rJ,createTextWriter:()=>GL,createTokenRange:()=>_V,createTypeChecker:()=>Aoe,createTypeReferenceDirectiveResolutionCache:()=>Q6,createTypeReferenceResolutionLoader:()=>L4,createUnparsedSourceFile:()=>ij,createWatchCompilerHost:()=>CTe,createWatchCompilerHostOfConfigFile:()=>nse,createWatchCompilerHostOfFilesAndCompilerOptions:()=>rse,createWatchFactory:()=>aq,createWatchHost:()=>oq,createWatchProgram:()=>NTe,createWatchStatusReporter:()=>Qae,createWriteFileMeasuringIO:()=>TH,declarationNameToString:()=>is,decodeMappings:()=>qU,decodedTextSpanIntersectsWith:()=>WM,decorateHelper:()=>wF,deduplicate:()=>NE,defaultIncludeSpec:()=>J6,defaultInitCompilerOptions:()=>H6,defaultMaximumTruncationLength:()=>i2,detectSortCaseSensitivity:()=>BD,diagnosticCategoryName:()=>_S,diagnosticToString:()=>uT,directoryProbablyExists:()=>gm,directorySeparator:()=>Os,displayPart:()=>Ru,displayPartsToString:()=>yO,disposeEmitNodes:()=>lj,disposeResourcesHelper:()=>l6,documentSpansEqual:()=>pJ,dumpTracingLegend:()=>oee,elementAt:()=>qg,elideNodes:()=>xie,emitComments:()=>vne,emitDetachedComments:()=>yne,emitFiles:()=>x4,emitFilesAndReportErrors:()=>K4,emitFilesAndReportErrorsAndGetExitStatus:()=>tse,emitModuleKindIsNonNodeESM:()=>nF,emitNewLineBeforeLeadingCommentOfPosition:()=>gne,emitNewLineBeforeLeadingComments:()=>_ne,emitNewLineBeforeLeadingCommentsOfPosition:()=>hne,emitSkippedWithNoDiagnostics:()=>G4,emitUsingBuildInfo:()=>Eae,emptyArray:()=>je,emptyFileSystemEntries:()=>NF,emptyMap:()=>r8,emptyOptions:()=>ef,emptySet:()=>XZ,endsWith:()=>Zs,ensurePathIsNonModuleName:()=>ME,ensureScriptKind:()=>uF,ensureTrailingDirectorySeparator:()=>_c,entityNameToString:()=>Wu,enumerateInsertsAndDeletes:()=>t8,equalOwnProperties:()=>wZ,equateStringsCaseInsensitive:()=>pb,equateStringsCaseSensitive:()=>pS,equateValues:()=>Hg,esDecorateHelper:()=>zF,escapeJsxAttributeString:()=>tV,escapeLeadingUnderscores:()=>Hs,escapeNonAsciiString:()=>BL,escapeSnippetText:()=>t0,escapeString:()=>Th,escapeTemplateSubstitution:()=>Z9,every:()=>ji,expandPreOrPostfixIncrementOrDecrementExpression:()=>x6,explainFiles:()=>eq,explainIfFileIsRedirectAndImpliedFormat:()=>tq,exportAssignmentIsAlias:()=>px,exportStarHelper:()=>r6,expressionResultIsUnused:()=>dre,extend:()=>Xw,extendsHelper:()=>JF,extensionFromPath:()=>jC,extensionIsTS:()=>mF,extensionsNotSupportingExtensionlessResolution:()=>c2,externalHelpersModuleNameText:()=>ay,factory:()=>P,fileExtensionIs:()=>el,fileExtensionIsOneOf:()=>$l,fileIncludeReasonToDiagnostics:()=>iq,fileShouldUseJavaScriptRequire:()=>OJ,filter:()=>Cr,filterMutate:()=>X5,filterSemanticDiagnostics:()=>W4,find:()=>Dr,findAncestor:()=>Rn,findBestPatternMatch:()=>pB,findChildOfKind:()=>Ya,findComputedPropertyNameCacheAssignment:()=>L6,findConfigFile:()=>Aae,findContainingList:()=>_3,findDiagnosticForNode:()=>gle,findFirstNonJsxWhitespaceToken:()=>Fse,findIndex:()=>Tl,findLast:()=>hA,findLastIndex:()=>Uw,findListItemInfo:()=>Wse,findMap:()=>sve,findModifier:()=>gR,findNextToken:()=>S0,findPackageJson:()=>_le,findPackageJsons:()=>RJ,findPrecedingMatchingToken:()=>E3,findPrecedingToken:()=>ec,findSuperStatementIndexPath:()=>g4,findTokenOnLeftOfPosition:()=>v3,findUseStrictPrologue:()=>zj,first:()=>Ta,firstDefined:()=>ml,firstDefinedIterator:()=>cM,firstIterator:()=>rB,firstOrOnly:()=>MJ,firstOrUndefined:()=>Ac,firstOrUndefinedIterator:()=>qw,fixupCompilerOptions:()=>rK,flatMap:()=>ta,flatMapIterator:()=>Y5,flatMapToMutable:()=>wD,flatten:()=>Ff,flattenCommaList:()=>Cie,flattenDestructuringAssignment:()=>nT,flattenDestructuringBinding:()=>v0,flattenDiagnosticMessageText:()=>a_,forEach:()=>an,forEachAncestor:()=>_te,forEachAncestorDirectory:()=>Vf,forEachChild:()=>Ao,forEachChildRecursively:()=>EN,forEachEmittedFile:()=>uH,forEachEnclosingBlockScopeContainer:()=>Dte,forEachEntry:()=>hc,forEachExternalModuleToImportFrom:()=>VJ,forEachImportClauseDeclaration:()=>CW,forEachKey:()=>O_,forEachLeadingCommentRange:()=>MM,forEachNameInAccessChainWalkingLeft:()=>Bne,forEachPropertyAssignment:()=>nx,forEachResolvedProjectReference:()=>MH,forEachReturnStatement:()=>GE,forEachRight:()=>RZ,forEachTrailingCommentRange:()=>LM,forEachTsConfigPropArray:()=>uL,forEachUnique:()=>mJ,forEachYieldExpression:()=>kte,forSomeAncestorDirectory:()=>ibe,formatColorAndReset:()=>b0,formatDiagnostic:()=>IH,formatDiagnostics:()=>QSe,formatDiagnosticsWithColorAndContext:()=>Rae,formatGeneratedName:()=>Wb,formatGeneratedNamePart:()=>Jx,formatLocation:()=>xH,formatMessage:()=>SV,formatStringFromArgs:()=>xh,formatting:()=>uc,fullTripleSlashAMDReferencePathRegEx:()=>GV,fullTripleSlashReferencePathRegEx:()=>BV,generateDjb2Hash:()=>qD,generateTSConfig:()=>n0e,generatorHelper:()=>e6,getAdjustedReferenceLocation:()=>Xq,getAdjustedRenameLocation:()=>g3,getAliasDeclarationFromName:()=>V9,getAllAccessorDeclarations:()=>wS,getAllDecoratorsOfClass:()=>$U,getAllDecoratorsOfClassElement:()=>y4,getAllJSDocTags:()=>O8,getAllJSDocTagsOfKind:()=>_ye,getAllKeys:()=>cve,getAllProjectOutputs:()=>I4,getAllSuperTypeNodes:()=>EC,getAllUnscopedEmitHelpers:()=>fj,getAllowJSCompilerOption:()=>sy,getAllowSyntheticDefaultImports:()=>zS,getAncestor:()=>Db,getAnyExtensionFromPath:()=>w1,getAreDeclarationMapsEnabled:()=>a2,getAssignedExpandoInitializer:()=>LA,getAssignedName:()=>L8,getAssignedNameOfIdentifier:()=>ON,getAssignmentDeclarationKind:()=>hl,getAssignmentDeclarationPropertyAccessKind:()=>TL,getAssignmentTargetKind:()=>WA,getAutomaticTypeDirectiveNames:()=>Y6,getBaseFileName:()=>Ll,getBinaryOperatorPrecedence:()=>zL,getBuildInfo:()=>R4,getBuildInfoFileVersionMap:()=>HH,getBuildInfoText:()=>bae,getBuildOrderFromAnyBuildOrder:()=>Z4,getBuilderCreationParameters:()=>V4,getBuilderFileEmit:()=>vy,getCheckFlags:()=>tl,getClassExtendsHeritageElement:()=>qE,getClassLikeDeclarationOfSymbol:()=>ig,getCombinedLocalAndExportSymbolFlags:()=>Sx,getCombinedModifierFlags:()=>gb,getCombinedNodeFlags:()=>Xg,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>wG,getCommentRange:()=>t_,getCommonSourceDirectory:()=>VN,getCommonSourceDirectoryOfConfig:()=>iR,getCompilerOptionValue:()=>iF,getCompilerOptionsDiffValue:()=>e0e,getConditions:()=>hy,getConfigFileParsingDiagnostics:()=>iT,getConstantValue:()=>Nre,getContainerFlags:()=>kU,getContainerNode:()=>sT,getContainingClass:()=>Oc,getContainingClassExcludingClassDecorators:()=>_W,getContainingClassStaticBlock:()=>jte,getContainingFunction:()=>cp,getContainingFunctionDeclaration:()=>Vte,getContainingFunctionOrClassStaticBlock:()=>mW,getContainingNodeArray:()=>ure,getContainingObjectLiteralElement:()=>bO,getContextualTypeFromParent:()=>O3,getContextualTypeFromParentOrAncestorTypeNode:()=>h3,getCurrentTime:()=>Rk,getDeclarationDiagnostics:()=>gae,getDeclarationEmitExtensionForPath:()=>FW,getDeclarationEmitOutputFilePath:()=>dne,getDeclarationEmitOutputFilePathWorker:()=>WW,getDeclarationFileExtension:()=>Xj,getDeclarationFromName:()=>bC,getDeclarationModifierFlagsFromSymbol:()=>Kp,getDeclarationOfKind:()=>Vs,getDeclarationsOfKind:()=>pte,getDeclaredExpandoInitializer:()=>yL,getDecorators:()=>Hv,getDefaultCompilerOptions:()=>Tz,getDefaultExportInfoWorker:()=>Q3,getDefaultFormatCodeSettings:()=>s3,getDefaultLibFileName:()=>OM,getDefaultLibFilePath:()=>jce,getDefaultLikeExportInfo:()=>$3,getDiagnosticText:()=>UEe,getDiagnosticsWithinSpan:()=>vle,getDirectoryPath:()=>Ur,getDirectoryToWatchFailedLookupLocation:()=>YH,getDirectoryToWatchFailedLookupLocationFromTypeRoot:()=>Xae,getDocumentPositionMapper:()=>$J,getDocumentSpansEqualityComparer:()=>fJ,getESModuleInterop:()=>z_,getEditsForFileRename:()=>Rle,getEffectiveBaseTypeNode:()=>Km,getEffectiveConstraintOfTypeParameter:()=>V1,getEffectiveContainerForJSDocTemplateTag:()=>NW,getEffectiveImplementsTypeNodes:()=>fx,getEffectiveInitializer:()=>vL,getEffectiveJSDocHost:()=>Rb,getEffectiveModifierFlags:()=>Wd,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>Tne,getEffectiveModifierFlagsNoCache:()=>Ane,getEffectiveReturnTypeNode:()=>Tf,getEffectiveSetAccessorTypeAnnotationNode:()=>mne,getEffectiveTypeAnnotationNode:()=>Jc,getEffectiveTypeParameterDeclarations:()=>qv,getEffectiveTypeRoots:()=>RN,getElementOrPropertyAccessArgumentExpressionOrName:()=>DW,getElementOrPropertyAccessName:()=>tg,getElementsOfBindingOrAssignmentPattern:()=>qx,getEmitDeclarations:()=>Xp,getEmitFlags:()=>ba,getEmitHelpers:()=>OF,getEmitModuleDetectionKind:()=>qV,getEmitModuleKind:()=>ld,getEmitModuleResolutionKind:()=>zd,getEmitScriptTarget:()=>Wa,getEmitStandardClassFields:()=>Xne,getEnclosingBlockScopeContainer:()=>w_,getEnclosingContainer:()=>S9,getEncodedSemanticClassifications:()=>HJ,getEncodedSyntacticClassifications:()=>qJ,getEndLinePosition:()=>rL,getEntityNameFromTypeNode:()=>mL,getEntrypointsFromPackageJsonInfo:()=>RU,getErrorCountForSummary:()=>q4,getErrorSpanForNode:()=>IS,getErrorSummaryText:()=>Zae,getEscapedTextOfIdentifierOrLiteral:()=>AC,getEscapedTextOfJsxAttributeName:()=>QC,getEscapedTextOfJsxNamespacedName:()=>JA,getExpandoInitializer:()=>Ib,getExportAssignmentExpression:()=>j9,getExportInfoMap:()=>rO,getExportNeedsImportStarHelper:()=>Ooe,getExpressionAssociativity:()=>Y9,getExpressionPrecedence:()=>xC,getExternalHelpersModuleName:()=>L2,getExternalModuleImportEqualsDeclarationExpression:()=>gC,getExternalModuleName:()=>lx,getExternalModuleNameFromDeclaration:()=>lne,getExternalModuleNameFromPath:()=>rV,getExternalModuleNameLiteral:()=>hI,getExternalModuleRequireArgument:()=>N9,getFallbackOptions:()=>yk,getFileEmitOutput:()=>kae,getFileMatcherPatterns:()=>dF,getFileNamesFromConfigSpecs:()=>AN,getFileWatcherEventKind:()=>SG,getFilesInErrorForSummary:()=>J4,getFirstConstructorWithBody:()=>Ah,getFirstIdentifier:()=>dp,getFirstNonSpaceCharacterPosition:()=>cle,getFirstProjectOutput:()=>mH,getFixableErrorSpanExpression:()=>NJ,getFormatCodeSettingsForWriting:()=>J3,getFullWidth:()=>tL,getFunctionFlags:()=>gc,getHeritageClause:()=>OL,getHostSignatureFromJSDoc:()=>xb,getIdentifierAutoGenerate:()=>Gbe,getIdentifierGeneratedImportReference:()=>wre,getIdentifierTypeArguments:()=>BS,getImmediatelyInvokedFunctionExpression:()=>RS,getImpliedNodeFormatForFile:()=>Tk,getImpliedNodeFormatForFileWorker:()=>OH,getImportNeedsImportDefaultHelper:()=>KU,getImportNeedsImportStarHelper:()=>_4,getIndentSize:()=>vx,getIndentString:()=>OW,getInferredLibraryNameResolveFrom:()=>O4,getInitializedVariables:()=>wC,getInitializerOfBinaryExpression:()=>O9,getInitializerOfBindingOrAssignmentElement:()=>O2,getInterfaceBaseTypeNodes:()=>SC,getInternalEmitFlags:()=>Uf,getInvokedExpression:()=>vW,getIsolatedModules:()=>xf,getJSDocAugmentsTag:()=>Oee,getJSDocClassTag:()=>FG,getJSDocCommentRanges:()=>I9,getJSDocCommentsAndTags:()=>W9,getJSDocDeprecatedTag:()=>zG,getJSDocDeprecatedTagNoCache:()=>Vee,getJSDocEnumTag:()=>BG,getJSDocHost:()=>PS,getJSDocImplementsTags:()=>wee,getJSDocOverloadTags:()=>z9,getJSDocOverrideTagNoCache:()=>Gee,getJSDocParameterTags:()=>G1,getJSDocParameterTagsNoCache:()=>Pee,getJSDocPrivateTag:()=>dye,getJSDocPrivateTagNoCache:()=>Fee,getJSDocProtectedTag:()=>uye,getJSDocProtectedTagNoCache:()=>zee,getJSDocPublicTag:()=>cye,getJSDocPublicTagNoCache:()=>Wee,getJSDocReadonlyTag:()=>pye,getJSDocReadonlyTagNoCache:()=>Bee,getJSDocReturnTag:()=>jee,getJSDocReturnType:()=>BM,getJSDocRoot:()=>ux,getJSDocSatisfiesExpressionType:()=>WV,getJSDocSatisfiesTag:()=>GG,getJSDocTags:()=>Eb,getJSDocTagsNoCache:()=>mye,getJSDocTemplateTag:()=>fye,getJSDocThisTag:()=>k8,getJSDocType:()=>bb,getJSDocTypeAliasName:()=>Vj,getJSDocTypeAssertionType:()=>D6,getJSDocTypeParameterDeclarations:()=>VW,getJSDocTypeParameterTags:()=>Mee,getJSDocTypeParameterTagsNoCache:()=>Lee,getJSDocTypeTag:()=>yb,getJSXImplicitImportBase:()=>aF,getJSXRuntimeImport:()=>sF,getJSXTransformEnabled:()=>oF,getKeyForCompilerOptions:()=>EU,getLanguageVariant:()=>KL,getLastChild:()=>yV,getLeadingCommentRanges:()=>mh,getLeadingCommentRangesOfNode:()=>A9,getLeftmostAccessExpression:()=>Tx,getLeftmostExpression:()=>Ax,getLibraryNameFromLibFileName:()=>LH,getLineAndCharacterOfPosition:()=>$a,getLineInfo:()=>UU,getLineOfLocalPosition:()=>DC,getLineOfLocalPositionFromLineMap:()=>kS,getLineStartPositionForPosition:()=>Cf,getLineStarts:()=>Yh,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>wne,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>One,getLinesBetweenPositions:()=>YD,getLinesBetweenRangeEndAndRangeStart:()=>hV,getLinesBetweenRangeEndPositions:()=>nbe,getLiteralText:()=>Ete,getLocalNameForExternalImport:()=>Hx,getLocalSymbolForExportDefault:()=>Ex,getLocaleSpecificMessage:()=>vo,getLocaleTimeString:()=>xk,getMappedContextSpan:()=>_J,getMappedDocumentSpan:()=>P3,getMappedLocation:()=>ZN,getMatchedFileSpec:()=>nq,getMatchedIncludeSpec:()=>rq,getMeaningFromDeclaration:()=>Lk,getMeaningFromLocation:()=>aT,getMembersOfDeclaration:()=>Ote,getModeForFileReference:()=>Ek,getModeForResolutionAtIndex:()=>Dae,getModeForUsageLocation:()=>DH,getModifiedTime:()=>SA,getModifiers:()=>kE,getModuleInstanceState:()=>dg,getModuleNameStringLiteralAt:()=>Ak,getModuleSpecifierEndingPreference:()=>nre,getModuleSpecifierResolverHost:()=>lJ,getNameForExportedSymbol:()=>U3,getNameFromImportAttribute:()=>SF,getNameFromIndexInfo:()=>Cte,getNameFromPropertyName:()=>qk,getNameOfAccessExpression:()=>EV,getNameOfCompilerOptionValue:()=>aU,getNameOfDeclaration:()=>mo,getNameOfExpando:()=>L9,getNameOfJSDocTypedef:()=>Nee,getNameOrArgument:()=>SL,getNameTable:()=>WK,getNamesForExportedSymbol:()=>yle,getNamespaceDeclarationNode:()=>cx,getNewLineCharacter:()=>rv,getNewLineKind:()=>nO,getNewLineOrDefaultFromHost:()=>mv,getNewTargetContainer:()=>Hte,getNextJSDocCommentLocation:()=>F9,getNodeForGeneratedName:()=>W2,getNodeId:()=>Fa,getNodeKind:()=>E0,getNodeModifiers:()=>YN,getNodeModulePathParts:()=>yF,getNonAssignedNameOfDeclaration:()=>M8,getNonAssignmentOperatorForCompoundAssignment:()=>MN,getNonAugmentationDeclaration:()=>h9,getNonDecoratorTokenPosOfNode:()=>u9,getNormalizedAbsolutePath:()=>Qi,getNormalizedAbsolutePathWithoutRoot:()=>DG,getNormalizedPathComponents:()=>IM,getObjectFlags:()=>br,getOperator:()=>Q9,getOperatorAssociativity:()=>$9,getOperatorPrecedence:()=>FL,getOptionFromName:()=>nU,getOptionsForLibraryResolution:()=>TU,getOptionsNameMap:()=>Xx,getOrCreateEmitNode:()=>cd,getOrCreateExternalHelpersModuleNameIfNeeded:()=>gie,getOrUpdate:()=>FD,getOriginalNode:()=>sl,getOriginalNodeId:()=>dd,getOriginalSourceFile:()=>qye,getOutputDeclarationFileName:()=>GN,getOutputDeclarationFileNameWorker:()=>pH,getOutputExtension:()=>A4,getOutputFileNames:()=>YSe,getOutputJSFileNameWorker:()=>fH,getOutputPathsFor:()=>BN,getOutputPathsForBundle:()=>zN,getOwnEmitOutputFilePath:()=>cne,getOwnKeys:()=>fh,getOwnValues:()=>vA,getPackageJsonInfo:()=>m0,getPackageJsonTypesVersionsPaths:()=>X6,getPackageJsonsVisibleToFile:()=>hle,getPackageNameFromTypesPackageName:()=>CN,getPackageScopeForPath:()=>rk,getParameterSymbolFromJSDoc:()=>NL,getParameterTypeNode:()=>fbe,getParentNodeInSpan:()=>Kk,getParseTreeNode:()=>uo,getParsedCommandLineOfConfigFile:()=>V2,getPathComponents:()=>mc,getPathComponentsRelativeTo:()=>NG,getPathFromPathComponents:()=>Vv,getPathUpdater:()=>XJ,getPathsBasePath:()=>zW,getPatternFromSpec:()=>Zne,getPendingEmitKind:()=>cR,getPositionOfLineAndCharacter:()=>NM,getPossibleGenericSignatures:()=>$q,getPossibleOriginalInputExtensionForExtension:()=>une,getPossibleTypeArgumentsInfo:()=>Qq,getPreEmitDiagnostics:()=>$Se,getPrecedingNonSpaceCharacterPosition:()=>L3,getPrivateIdentifier:()=>QU,getProperties:()=>YU,getProperty:()=>Jw,getPropertyArrayElementValue:()=>Gte,getPropertyAssignmentAliasLikeExpression:()=>ine,getPropertyNameForPropertyNameNode:()=>MS,getPropertyNameForUniqueESSymbol:()=>Uye,getPropertyNameFromType:()=>If,getPropertyNameOfBindingOrAssignmentElement:()=>Gj,getPropertySymbolFromBindingElement:()=>N3,getPropertySymbolsFromContextualType:()=>Iz,getQuoteFromPreference:()=>dJ,getQuotePreference:()=>Pp,getRangesWhere:()=>Z5,getRefactorContextSpan:()=>NI,getReferencedFileLocation:()=>jN,getRegexFromPattern:()=>iy,getRegularExpressionForWildcard:()=>BC,getRegularExpressionsForWildcards:()=>lF,getRelativePathFromDirectory:()=>Gf,getRelativePathFromFile:()=>RM,getRelativePathToDirectoryOrUrl:()=>AA,getRenameLocation:()=>$k,getReplacementSpanForContextToken:()=>nJ,getResolutionDiagnostic:()=>FH,getResolutionModeOverride:()=>oR,getResolveJsonModule:()=>Mb,getResolvePackageJsonExports:()=>RF,getResolvePackageJsonImports:()=>DF,getResolvedExternalModuleName:()=>wW,getRestIndicatorOfBindingOrAssignmentElement:()=>N6,getRestParameterElementType:()=>x9,getRightMostAssignedExpression:()=>bL,getRootDeclaration:()=>Ym,getRootDirectoryOfResolutionCache:()=>Yae,getRootLength:()=>M_,getRootPathSplitLength:()=>STe,getScriptKind:()=>bJ,getScriptKindFromFileName:()=>pF,getScriptTargetFeatures:()=>IF,getSelectedEffectiveModifierFlags:()=>BA,getSelectedSyntacticModifierFlags:()=>Ene,getSemanticClassifications:()=>Tle,getSemanticJsxChildren:()=>_x,getSetAccessorTypeAnnotationNode:()=>pne,getSetAccessorValueParameter:()=>CC,getSetExternalModuleIndicator:()=>XL,getShebang:()=>C8,getSingleInitializerOfVariableStatementOrPropertyDeclaration:()=>w9,getSingleVariableOfVariableStatement:()=>wA,getSnapshotText:()=>hR,getSnippetElement:()=>cj,getSourceFileOfModule:()=>eW,getSourceFileOfNode:()=>Nn,getSourceFilePathInNewDir:()=>BW,getSourceFilePathInNewDirWorker:()=>GW,getSourceFileVersionAsHashFromText:()=>X4,getSourceFilesToEmit:()=>iV,getSourceMapRange:()=>ov,getSourceMapper:()=>zle,getSourceTextOfNodeFromSourceFile:()=>FE,getSpanOfTokenAtPosition:()=>W_,getSpellingSuggestion:()=>VD,getStartPositionOfLine:()=>Zv,getStartPositionOfRange:()=>OC,getStartsOnNewLine:()=>rN,getStaticPropertiesAndClassStaticBlock:()=>v4,getStrictOptionValue:()=>Fd,getStringComparer:()=>D1,getSubPatternFromSpec:()=>cF,getSuperCallFromStatement:()=>h4,getSuperContainer:()=>pL,getSupportedCodeFixes:()=>OK,getSupportedExtensions:()=>GC,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>YL,getSwitchedType:()=>IJ,getSymbolId:()=>na,getSymbolNameForPrivateIdentifier:()=>wL,getSymbolTarget:()=>EJ,getSyntacticClassifications:()=>Ale,getSyntacticModifierFlags:()=>ny,getSyntacticModifierFlagsNoCache:()=>lV,getSynthesizedDeepClone:()=>Fs,getSynthesizedDeepCloneWithReplacements:()=>Yk,getSynthesizedDeepClones:()=>T0,getSynthesizedDeepClonesWithReplacements:()=>SJ,getSyntheticLeadingComments:()=>Mx,getSyntheticTrailingComments:()=>_2,getTargetLabel:()=>u3,getTargetOfBindingOrAssignmentElement:()=>_y,getTemporaryModuleResolutionState:()=>nk,getTextOfConstantValue:()=>Ste,getTextOfIdentifierOrLiteral:()=>Ef,getTextOfJSDocComment:()=>VM,getTextOfJsxAttributeName:()=>r2,getTextOfJsxNamespacedName:()=>ZC,getTextOfNode:()=>Vl,getTextOfNodeFromSourceText:()=>uC,getTextOfPropertyName:()=>$1,getThisContainer:()=>lu,getThisParameter:()=>KE,getTokenAtPosition:()=>Hi,getTokenPosOfNode:()=>Tb,getTokenSourceMapRange:()=>zbe,getTouchingPropertyName:()=>pu,getTouchingToken:()=>_R,getTrailingCommentRanges:()=>mb,getTrailingSemicolonDeferringWriter:()=>nV,getTransformFlagsSubtreeExclusions:()=>Ire,getTransformers:()=>cH,getTsBuildInfoEmitOutputFilePath:()=>dv,getTsConfigObjectLiteralExpression:()=>_C,getTsConfigPropArrayElementValue:()=>fW,getTypeAnnotationNode:()=>fne,getTypeArgumentOrTypeParameterList:()=>qse,getTypeKeywordOfTypeOnlyImport:()=>uJ,getTypeNode:()=>kre,getTypeNodeIfAccessible:()=>iP,getTypeParameterFromJsDoc:()=>Qte,getTypeParameterOwner:()=>iye,getTypesPackageName:()=>n4,getUILocale:()=>GZ,getUniqueName:()=>dT,getUniqueSymbolId:()=>lle,getUseDefineForClassFields:()=>nN,getWatchErrorSummaryDiagnosticMessage:()=>QH,getWatchFactory:()=>yH,group:()=>GD,groupBy:()=>Kw,guessIndentation:()=>dte,handleNoEmitOptions:()=>wH,hasAbstractModifier:()=>$E,hasAccessorModifier:()=>$m,hasAmbientModifier:()=>sV,hasChangesInResolutions:()=>l9,hasChildOfKind:()=>Bk,hasContextSensitiveParameters:()=>gF,hasDecorators:()=>Hp,hasDocComment:()=>Use,hasDynamicName:()=>ty,hasEffectiveModifier:()=>zu,hasEffectiveModifiers:()=>jW,hasEffectiveReadonlyModifier:()=>NC,hasExtension:()=>TA,hasIndexSignature:()=>AJ,hasInitializer:()=>$v,hasInvalidEscape:()=>eV,hasJSDocNodes:()=>ap,hasJSDocParameterTags:()=>kee,hasJSFileExtension:()=>QE,hasJsonModuleEmitEnabled:()=>rF,hasOnlyExpressionInitializer:()=>SS,hasOverrideModifier:()=>UW,hasPossibleExternalModuleReference:()=>Rte,hasProperty:()=>rs,hasPropertyAccessExpressionWithName:()=>Ok,hasQuestionToken:()=>OA,hasRecordedExternalHelpers:()=>hie,hasResolutionModeOverride:()=>hre,hasRestParameter:()=>i9,hasScopeMarker:()=>nte,hasStaticModifier:()=>jl,hasSyntacticModifier:()=>Wr,hasSyntacticModifiers:()=>bne,hasTSFileExtension:()=>qA,hasTabstop:()=>fre,hasTrailingDirectorySeparator:()=>Jg,hasType:()=>K8,hasTypeArguments:()=>zye,hasZeroOrOneAsteriskCharacter:()=>AV,helperString:()=>pj,hostGetCanonicalFileName:()=>ev,hostUsesCaseSensitiveFileNames:()=>yx,idText:()=>ar,identifierIsThisKeyword:()=>aV,identifierToKeywordKind:()=>vb,identity:()=>Ps,identitySourceMapConsumer:()=>m4,ignoreSourceNewlines:()=>uj,ignoredPaths:()=>AM,importDefaultHelper:()=>n6,importFromModuleSpecifier:()=>yC,importNameElisionDisabled:()=>TV,importStarHelper:()=>g2,indexOfAnyCharCode:()=>DZ,indexOfNode:()=>Y1,indicesOf:()=>uM,inferredTypesContainingFile:()=>lR,injectClassNamedEvaluationHelperBlockIfMissing:()=>E4,injectClassThisAssignmentIfMissing:()=>Hoe,insertImports:()=>QN,insertLeadingStatement:()=>iEe,insertSorted:()=>Fv,insertStatementAfterCustomPrologue:()=>TS,insertStatementAfterStandardPrologue:()=>Cye,insertStatementsAfterCustomPrologue:()=>c9,insertStatementsAfterStandardPrologue:()=>vh,intersperse:()=>K5,intrinsicTagNameToString:()=>FV,introducesArgumentsExoticObject:()=>zte,inverseJsxOptionMap:()=>IN,isAbstractConstructorSymbol:()=>Wne,isAbstractModifier:()=>Ure,isAccessExpression:()=>us,isAccessibilityModifier:()=>eJ,isAccessor:()=>Kv,isAccessorModifier:()=>qre,isAliasSymbolDeclaration:()=>Gye,isAliasableExpression:()=>kL,isAmbientModule:()=>sd,isAmbientPropertyDeclaration:()=>v9,isAnonymousFunctionDefinition:()=>IC,isAnyDirectorySeparator:()=>IG,isAnyImportOrBareOrAccessedRequire:()=>xte,isAnyImportOrReExport:()=>oL,isAnyImportSyntax:()=>AS,isAnySupportedFileExtension:()=>pbe,isApplicableVersionedTypesKey:()=>ok,isArgumentExpressionOfElementAccess:()=>jq,isArray:()=>oo,isArrayBindingElement:()=>V8,isArrayBindingOrAssignmentElement:()=>XM,isArrayBindingOrAssignmentPattern:()=>QG,isArrayBindingPattern:()=>i0,isArrayLiteralExpression:()=>Bd,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>pv,isArrayTypeNode:()=>A2,isArrowFunction:()=>gs,isAsExpression:()=>x2,isAssertClause:()=>Zre,isAssertEntry:()=>Ybe,isAssertionExpression:()=>ES,isAssertsKeyword:()=>Vre,isAssignmentDeclaration:()=>vC,isAssignmentExpression:()=>lc,isAssignmentOperator:()=>tv,isAssignmentPattern:()=>lC,isAssignmentTarget:()=>Sh,isAsteriskToken:()=>b2,isAsyncFunction:()=>TC,isAsyncModifier:()=>aN,isAutoAccessorPropertyDeclaration:()=>su,isAwaitExpression:()=>py,isAwaitKeyword:()=>yj,isBigIntLiteral:()=>c6,isBinaryExpression:()=>Zn,isBinaryOperatorToken:()=>Iie,isBindableObjectDefinePropertyCall:()=>CS,isBindableStaticAccessExpression:()=>UE,isBindableStaticElementAccessExpression:()=>RW,isBindableStaticNameExpression:()=>NS,isBindingElement:()=>Na,isBindingElementOfBareOrAccessedRequire:()=>Kte,isBindingName:()=>yS,isBindingOrAssignmentElement:()=>Yee,isBindingOrAssignmentPattern:()=>JM,isBindingPattern:()=>ko,isBlock:()=>Do,isBlockOrCatchScoped:()=>p9,isBlockScope:()=>y9,isBlockScopedContainerTopLevel:()=>Ite,isBooleanLiteral:()=>sC,isBreakOrContinueStatement:()=>rC,isBreakStatement:()=>Jbe,isBuildInfoFile:()=>yae,isBuilderProgram:()=>ese,isBundle:()=>xj,isBundleFileTextLike:()=>zne,isCallChain:()=>gS,isCallExpression:()=>Bo,isCallExpressionTarget:()=>Wq,isCallLikeExpression:()=>WE,isCallLikeOrFunctionLikeExpression:()=>ZG,isCallOrNewExpression:()=>Hm,isCallOrNewExpressionTarget:()=>Fq,isCallSignatureDeclaration:()=>iI,isCallToHelper:()=>oN,isCaseBlock:()=>fN,isCaseClause:()=>zx,isCaseKeyword:()=>Jre,isCaseOrDefaultClause:()=>q8,isCatchClause:()=>u0,isCatchClauseVariableDeclaration:()=>pre,isCatchClauseVariableDeclarationOrBindingElement:()=>f9,isCheckJsEnabledForFile:()=>ZL,isChildOfNodeWithKind:()=>Pye,isCircularBuildOrder:()=>II,isClassDeclaration:()=>Zl,isClassElement:()=>xc,isClassExpression:()=>Dc,isClassInstanceProperty:()=>Kee,isClassLike:()=>Kr,isClassMemberModifier:()=>XG,isClassNamedEvaluationHelperBlock:()=>AI,isClassOrTypeElement:()=>G8,isClassStaticBlockDeclaration:()=>nl,isClassThisAssignmentBlock:()=>kN,isCollapsedRange:()=>tbe,isColonToken:()=>Bre,isCommaExpression:()=>M2,isCommaListExpression:()=>dN,isCommaSequence:()=>vN,isCommaToken:()=>zre,isComment:()=>S3,isCommonJsExportPropertyAssignment:()=>uW,isCommonJsExportedExpression:()=>Wte,isCompoundAssignment:()=>PN,isComputedNonLiteralName:()=>aL,isComputedPropertyName:()=>Pa,isConciseBody:()=>U8,isConditionalExpression:()=>Fx,isConditionalTypeNode:()=>lI,isConstTypeReference:()=>Qh,isConstructSignatureDeclaration:()=>S2,isConstructorDeclaration:()=>ll,isConstructorTypeNode:()=>kx,isContextualKeyword:()=>MW,isContinueStatement:()=>qbe,isCustomPrologue:()=>dL,isDebuggerStatement:()=>Kbe,isDeclaration:()=>bd,isDeclarationBindingElement:()=>qM,isDeclarationFileName:()=>Yc,isDeclarationName:()=>ng,isDeclarationNameOfEnumOrNamespace:()=>gV,isDeclarationReadonly:()=>sW,isDeclarationStatement:()=>ate,isDeclarationWithTypeParameterChildren:()=>E9,isDeclarationWithTypeParameters:()=>b9,isDecorator:()=>Xc,isDecoratorTarget:()=>Pse,isDefaultClause:()=>_N,isDefaultImport:()=>kA,isDefaultModifier:()=>f6,isDefaultedExpandoInitializer:()=>Xte,isDeleteExpression:()=>Yre,isDeleteTarget:()=>G9,isDeprecatedDeclaration:()=>H3,isDestructuringAssignment:()=>nv,isDiagnosticWithLocation:()=>CJ,isDiskPathRoot:()=>xG,isDoStatement:()=>Ube,isDocumentRegistryEntry:()=>iO,isDotDotDotToken:()=>u6,isDottedName:()=>MC,isDynamicName:()=>kW,isESSymbolIdentifier:()=>Hye,isEffectiveExternalModule:()=>MA,isEffectiveModuleDeclaration:()=>Ate,isEffectiveStrictModeSourceFile:()=>g9,isElementAccessChain:()=>VG,isElementAccessExpression:()=>Rs,isEmittedFileOfProgram:()=>Tae,isEmptyArrayLiteral:()=>Dne,isEmptyBindingElement:()=>Dee,isEmptyBindingPattern:()=>Ree,isEmptyObjectLiteral:()=>fV,isEmptyStatement:()=>Tj,isEmptyStringLiteral:()=>C9,isEntityName:()=>Su,isEntityNameExpression:()=>gl,isEnumConst:()=>BE,isEnumDeclaration:()=>kb,isEnumMember:()=>p0,isEqualityOperatorKind:()=>w3,isEqualsGreaterThanToken:()=>Gre,isExclamationToken:()=>E2,isExcludedFile:()=>zie,isExclusivelyTypeOnlyImportOrExport:()=>RH,isExpandoPropertyDeclaration:()=>EF,isExportAssignment:()=>dl,isExportDeclaration:()=>xl,isExportModifier:()=>nI,isExportName:()=>R6,isExportNamespaceAsDefaultDeclaration:()=>rW,isExportOrDefaultModifier:()=>w2,isExportSpecifier:()=>Ed,isExportsIdentifier:()=>DS,isExportsOrModuleExportsOrAlias:()=>_0,isExpression:()=>lt,isExpressionNode:()=>bh,isExpressionOfExternalModuleImportEqualsDeclaration:()=>Ose,isExpressionOfOptionalChainRoot:()=>F8,isExpressionStatement:()=>Cc,isExpressionWithTypeArguments:()=>sv,isExpressionWithTypeArgumentsInClassExtendsClause:()=>HW,isExternalModule:()=>wl,isExternalModuleAugmentation:()=>zE,isExternalModuleImportEqualsDeclaration:()=>Ab,isExternalModuleIndicator:()=>YM,isExternalModuleNameRelative:()=>Ic,isExternalModuleReference:()=>U_,isExternalModuleSymbol:()=>Uk,isExternalOrCommonJsModule:()=>sp,isFileLevelReservedGeneratedIdentifier:()=>HM,isFileLevelUniqueName:()=>tW,isFileProbablyExternalModule:()=>z2,isFirstDeclarationOfSymbolParameter:()=>hJ,isFixablePromiseHandler:()=>eK,isForInOrOfStatement:()=>H1,isForInStatement:()=>y6,isForInitializer:()=>Up,isForOfStatement:()=>R2,isForStatement:()=>qS,isFunctionBlock:()=>VE,isFunctionBody:()=>t9,isFunctionDeclaration:()=>Ql,isFunctionExpression:()=>ps,isFunctionExpressionOrArrowFunction:()=>e0,isFunctionLike:()=>Lo,isFunctionLikeDeclaration:()=>hs,isFunctionLikeKind:()=>DA,isFunctionLikeOrClassStaticBlockDeclaration:()=>U1,isFunctionOrConstructorTypeNode:()=>Xee,isFunctionOrModuleBlock:()=>YG,isFunctionSymbol:()=>$te,isFunctionTypeNode:()=>G_,isFutureReservedKeyword:()=>Vye,isGeneratedIdentifier:()=>ws,isGeneratedPrivateIdentifier:()=>vS,isGetAccessor:()=>Yv,isGetAccessorDeclaration:()=>Ip,isGetOrSetAccessorDeclaration:()=>w8,isGlobalDeclaration:()=>NAe,isGlobalScopeAugmentation:()=>Jm,isGrammarError:()=>yte,isHeritageClause:()=>xp,isHoistedFunction:()=>cW,isHoistedVariableStatement:()=>dW,isIdentifier:()=>Me,isIdentifierANonContextualKeyword:()=>q9,isIdentifierName:()=>rne,isIdentifierOrThisTypeNode:()=>Eie,isIdentifierPart:()=>_b,isIdentifierStart:()=>_h,isIdentifierText:()=>Tp,isIdentifierTypePredicate:()=>Bte,isIdentifierTypeReference:()=>sre,isIfStatement:()=>HS,isIgnoredFileFromWildCardWatching:()=>vk,isImplicitGlob:()=>RV,isImportAttribute:()=>eie,isImportAttributeName:()=>Jee,isImportAttributes:()=>uI,isImportCall:()=>lp,isImportClause:()=>V_,isImportDeclaration:()=>cc,isImportEqualsDeclaration:()=>Nc,isImportKeyword:()=>lN,isImportMeta:()=>ex,isImportOrExportSpecifier:()=>RA,isImportOrExportSpecifierName:()=>sle,isImportSpecifier:()=>Iu,isImportTypeAssertionContainer:()=>Xbe,isImportTypeNode:()=>Dh,isImportableFile:()=>GJ,isInComment:()=>uv,isInCompoundLikeAssignment:()=>B9,isInExpressionContext:()=>bW,isInJSDoc:()=>hL,isInJSFile:()=>Jn,isInJSXText:()=>Vse,isInJsonFile:()=>SW,isInNonReferenceComment:()=>Xse,isInReferenceComment:()=>Kse,isInRightSideOfInternalImportEqualsDeclaration:()=>c3,isInString:()=>RI,isInTemplateString:()=>Yq,isInTopLevelContext:()=>hW,isInTypeQuery:()=>OS,isIncrementalCompilation:()=>tN,isIndexSignatureDeclaration:()=>r0,isIndexedAccessTypeNode:()=>US,isInferTypeNode:()=>GS,isInfinityOrNaNString:()=>XC,isInitializedProperty:()=>uk,isInitializedVariable:()=>JL,isInsideJsxElement:()=>b3,isInsideJsxElementOrAttribute:()=>Gse,isInsideNodeModules:()=>tO,isInsideTemplateLiteral:()=>Vk,isInstanceOfExpression:()=>qW,isInstantiatedModule:()=>FU,isInterfaceDeclaration:()=>Gd,isInternalDeclaration:()=>o9,isInternalModuleImportEqualsDeclaration:()=>ox,isInternalName:()=>Fj,isIntersectionTypeNode:()=>sI,isIntrinsicJsxName:()=>gx,isIterationStatement:()=>Xv,isJSDoc:()=>Sm,isJSDocAllType:()=>oie,isJSDocAugmentsTag:()=>_I,isJSDocAuthorTag:()=>eEe,isJSDocCallbackTag:()=>Dj,isJSDocClassTag:()=>sie,isJSDocCommentContainingNode:()=>J8,isJSDocConstructSignature:()=>dx,isJSDocDeprecatedTag:()=>Lj,isJSDocEnumTag:()=>C2,isJSDocFunctionType:()=>Gx,isJSDocImplementsTag:()=>A6,isJSDocIndexSignature:()=>TW,isJSDocLikeText:()=>Jj,isJSDocLink:()=>rie,isJSDocLinkCode:()=>iie,isJSDocLinkLike:()=>PA,isJSDocLinkPlain:()=>Qbe,isJSDocMemberName:()=>Ob,isJSDocNameReference:()=>hN,isJSDocNamepathType:()=>Zbe,isJSDocNamespaceBody:()=>Tye,isJSDocNode:()=>q1,isJSDocNonNullableType:()=>b6,isJSDocNullableType:()=>Bx,isJSDocOptionalParameter:()=>n2,isJSDocOptionalType:()=>Rj,isJSDocOverloadTag:()=>Vx,isJSDocOverrideTag:()=>S6,isJSDocParameterTag:()=>Tm,isJSDocPrivateTag:()=>Nj,isJSDocPropertyLikeTag:()=>iC,isJSDocPropertyTag:()=>lie,isJSDocProtectedTag:()=>Pj,isJSDocPublicTag:()=>Cj,isJSDocReadonlyTag:()=>Mj,isJSDocReturnTag:()=>T6,isJSDocSatisfiesExpression:()=>wV,isJSDocSatisfiesTag:()=>I6,isJSDocSeeTag:()=>tEe,isJSDocSignature:()=>wb,isJSDocTag:()=>J1,isJSDocTemplateTag:()=>Df,isJSDocThisTag:()=>kj,isJSDocThrowsTag:()=>rEe,isJSDocTypeAlias:()=>bf,isJSDocTypeAssertion:()=>Ux,isJSDocTypeExpression:()=>f0,isJSDocTypeLiteral:()=>YS,isJSDocTypeTag:()=>gN,isJSDocTypedefTag:()=>$S,isJSDocUnknownTag:()=>nEe,isJSDocUnknownType:()=>aie,isJSDocVariadicType:()=>E6,isJSXTagName:()=>ix,isJsonEqual:()=>_F,isJsonSourceFile:()=>yf,isJsxAttribute:()=>i_,isJsxAttributeLike:()=>H8,isJsxAttributeName:()=>_re,isJsxAttributes:()=>d0,isJsxChild:()=>ZM,isJsxClosingElement:()=>l0,isJsxClosingFragment:()=>tie,isJsxElement:()=>Ch,isJsxExpression:()=>mN,isJsxFragment:()=>c0,isJsxNamespacedName:()=>Em,isJsxOpeningElement:()=>r_,isJsxOpeningFragment:()=>fI,isJsxOpeningLikeElement:()=>Od,isJsxOpeningLikeElementTagName:()=>Mse,isJsxSelfClosingElement:()=>KS,isJsxSpreadAttribute:()=>mI,isJsxTagNameExpression:()=>cC,isJsxText:()=>ZA,isJumpStatementTarget:()=>wk,isKeyword:()=>du,isKeywordOrPunctuation:()=>PW,isKnownSymbol:()=>WL,isLabelName:()=>Gq,isLabelOfLabeledStatement:()=>Bq,isLabeledStatement:()=>s0,isLateVisibilityPaintedStatement:()=>oW,isLeftHandSideExpression:()=>Tu,isLeftHandSideOfAssignment:()=>ebe,isLet:()=>lW,isLineBreak:()=>vd,isLiteralComputedPropertyDeclarationName:()=>LL,isLiteralExpression:()=>wE,isLiteralExpressionOfObject:()=>JG,isLiteralImportTypeNode:()=>ey,isLiteralKind:()=>oC,isLiteralLikeAccess:()=>xW,isLiteralLikeElementAccess:()=>EL,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>p3,isLiteralTypeLikeExpression:()=>cEe,isLiteralTypeLiteral:()=>ete,isLiteralTypeNode:()=>uy,isLocalName:()=>lg,isLogicalOperator:()=>Ine,isLogicalOrCoalescingAssignmentExpression:()=>cV,isLogicalOrCoalescingAssignmentOperator:()=>PC,isLogicalOrCoalescingBinaryExpression:()=>jL,isLogicalOrCoalescingBinaryOperator:()=>VL,isMappedTypeNode:()=>wx,isMemberName:()=>hh,isMetaProperty:()=>cN,isMethodDeclaration:()=>El,isMethodOrAccessor:()=>CA,isMethodSignature:()=>B_,isMinusToken:()=>vj,isMissingDeclaration:()=>$be,isMissingPackageJsonInfo:()=>noe,isModifier:()=>ia,isModifierKind:()=>Yg,isModifierLike:()=>Ws,isModuleAugmentationExternal:()=>_9,isModuleBlock:()=>n_,isModuleBody:()=>rte,isModuleDeclaration:()=>Il,isModuleExportsAccessExpression:()=>Eh,isModuleIdentifier:()=>k9,isModuleName:()=>Aie,isModuleOrEnumDeclaration:()=>$M,isModuleReference:()=>lte,isModuleSpecifierLike:()=>C3,isModuleWithStringLiteralName:()=>iW,isNameOfFunctionDeclaration:()=>Hq,isNameOfModuleDeclaration:()=>Uq,isNamedClassElement:()=>vye,isNamedDeclaration:()=>Ld,isNamedEvaluation:()=>Fu,isNamedEvaluationSource:()=>J9,isNamedExportBindings:()=>UG,isNamedExports:()=>$p,isNamedImportBindings:()=>n9,isNamedImports:()=>sg,isNamedImportsOrExports:()=>ZW,isNamedTupleMember:()=>Ox,isNamespaceBody:()=>Sye,isNamespaceExport:()=>j_,isNamespaceExportDeclaration:()=>D2,isNamespaceImport:()=>my,isNamespaceReexportDeclaration:()=>Jte,isNewExpression:()=>o0,isNewExpressionTarget:()=>KN,isNoSubstitutionTemplateLiteral:()=>eI,isNode:()=>hye,isNodeArray:()=>OE,isNodeArrayMultiLine:()=>kne,isNodeDescendantOf:()=>HE,isNodeKind:()=>jM,isNodeLikeSystem:()=>mB,isNodeModulesDirectory:()=>A8,isNodeWithPossibleHoistedDeclaration:()=>ene,isNonContextualKeyword:()=>H9,isNonExportDefaultModifier:()=>uEe,isNonGlobalAmbientModule:()=>m9,isNonGlobalDeclaration:()=>Sle,isNonNullAccess:()=>mre,isNonNullChain:()=>z8,isNonNullExpression:()=>dI,isNonStaticMethodOrAccessorWithPrivateName:()=>woe,isNotEmittedOrPartiallyEmittedNode:()=>Eye,isNotEmittedStatement:()=>Ij,isNullishCoalesce:()=>jG,isNumber:()=>jg,isNumericLiteral:()=>Bu,isNumericLiteralName:()=>Rh,isObjectBindingElementWithoutPropertyName:()=>Jk,isObjectBindingOrAssignmentElement:()=>KM,isObjectBindingOrAssignmentPattern:()=>$G,isObjectBindingPattern:()=>Rf,isObjectLiteralElement:()=>r9,isObjectLiteralElementLike:()=>Zh,isObjectLiteralExpression:()=>ma,isObjectLiteralMethod:()=>qf,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>pW,isObjectTypeDeclaration:()=>jA,isOctalDigit:()=>D8,isOmittedExpression:()=>vc,isOptionalChain:()=>yd,isOptionalChainRoot:()=>tC,isOptionalDeclaration:()=>$C,isOptionalJSDocPropertyLikeTag:()=>t2,isOptionalTypeNode:()=>m6,isOuterExpression:()=>C6,isOutermostOptionalChain:()=>nC,isOverrideModifier:()=>Hre,isPackageJsonInfo:()=>$6,isPackedArrayLiteral:()=>kV,isParameter:()=>ao,isParameterDeclaration:()=>JE,isParameterPropertyDeclaration:()=>wu,isParameterPropertyModifier:()=>aC,isParenthesizedExpression:()=>uu,isParenthesizedTypeNode:()=>VS,isParseTreeNode:()=>eC,isPartOfTypeNode:()=>yh,isPartOfTypeQuery:()=>EW,isPartiallyEmittedExpression:()=>v6,isPatternMatch:()=>Qw,isPinnedComment:()=>nW,isPlainJsFile:()=>nL,isPlusToken:()=>gj,isPossiblyTypeArgumentPosition:()=>Gk,isPostfixUnaryExpression:()=>Ej,isPrefixUnaryExpression:()=>fy,isPrivateIdentifier:()=>Ci,isPrivateIdentifierClassElementDeclaration:()=>kd,isPrivateIdentifierPropertyAccessExpression:()=>j1,isPrivateIdentifierSymbol:()=>one,isProgramBundleEmitBuildInfo:()=>zae,isProgramUptoDate:()=>kH,isPrologueDirective:()=>Hf,isPropertyAccessChain:()=>W8,isPropertyAccessEntityNameExpression:()=>UL,isPropertyAccessExpression:()=>Er,isPropertyAccessOrQualifiedName:()=>Qee,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>$ee,isPropertyAssignment:()=>Hl,isPropertyDeclaration:()=>xo,isPropertyName:()=>kl,isPropertyNameLiteral:()=>Xm,isPropertySignature:()=>Gu,isProtoSetter:()=>ane,isPrototypeAccess:()=>ry,isPrototypePropertyAssignment:()=>AL,isPunctuation:()=>U9,isPushOrUnshiftIdentifier:()=>K9,isQualifiedName:()=>$d,isQuestionDotToken:()=>p6,isQuestionOrExclamationToken:()=>bie,isQuestionOrPlusOrMinusToken:()=>Tie,isQuestionToken:()=>cy,isRawSourceMap:()=>Moe,isReadonlyKeyword:()=>jre,isReadonlyKeywordOrPlusOrMinusToken:()=>Sie,isRecognizedTripleSlashComment:()=>d9,isReferenceFileLocation:()=>aR,isReferencedFile:()=>jb,isRegularExpressionLiteral:()=>_j,isRequireCall:()=>Xd,isRequireVariableStatement:()=>M9,isRestParameter:()=>gh,isRestTypeNode:()=>_6,isReturnStatement:()=>Kf,isReturnStatementWithFixablePromiseHandler:()=>tz,isRightSideOfAccessExpression:()=>pV,isRightSideOfInstanceofExpression:()=>Rne,isRightSideOfPropertyAccess:()=>fR,isRightSideOfQualifiedName:()=>kse,isRightSideOfQualifiedNameOrPropertyAccess:()=>LC,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>xne,isRootedDiskPath:()=>Ou,isSameEntityName:()=>ax,isSatisfiesExpression:()=>Sj,isScopeMarker:()=>tte,isSemicolonClassElement:()=>$re,isSetAccessor:()=>$g,isSetAccessorDeclaration:()=>Vu,isShebangTrivia:()=>PG,isShiftOperatorOrHigher:()=>Uj,isShorthandAmbientModuleSymbol:()=>pC,isShorthandPropertyAssignment:()=>xu,isSignedNumericLiteral:()=>LW,isSimpleCopiableExpression:()=>g0,isSimpleInlineableExpression:()=>o_,isSimpleParameter:()=>Goe,isSimpleParameterList:()=>pk,isSingleOrDoubleQuote:()=>gL,isSourceFile:()=>Li,isSourceFileFromLibrary:()=>ER,isSourceFileJS:()=>wd,isSourceFileNotJS:()=>kye,isSourceFileNotJson:()=>P9,isSourceMapping:()=>Loe,isSpecialPropertyDeclaration:()=>Yte,isSpreadAssignment:()=>lv,isSpreadElement:()=>bm,isStatement:()=>Di,isStatementButNotDeclaration:()=>QM,isStatementOrBlock:()=>ste,isStatementWithLocals:()=>vte,isStatic:()=>zo,isStaticModifier:()=>rI,isString:()=>fo,isStringAKeyword:()=>jye,isStringANonContextualKeyword:()=>FA,isStringAndEmptyAnonymousObjectIntersection:()=>Jse,isStringDoubleQuoted:()=>IW,isStringLiteral:()=>da,isStringLiteralLike:()=>Ga,isStringLiteralOrJsxExpression:()=>cte,isStringLiteralOrTemplate:()=>fle,isStringOrNumericLiteralLike:()=>Ap,isStringOrRegularExpressionOrTemplateLiteral:()=>Zq,isStringTextContainingNode:()=>KG,isSuperCall:()=>xS,isSuperKeyword:()=>sN,isSuperOrSuperProperty:()=>Lye,isSuperProperty:()=>cu,isSupportedSourceFileName:()=>rre,isSwitchStatement:()=>pN,isSyntaxList:()=>jx,isSyntheticExpression:()=>jbe,isSyntheticReference:()=>pI,isTagName:()=>Vq,isTaggedTemplateExpression:()=>a0,isTaggedTemplateTag:()=>Nse,isTemplateExpression:()=>h6,isTemplateHead:()=>tI,isTemplateLiteral:()=>NA,isTemplateLiteralKind:()=>Jv,isTemplateLiteralToken:()=>Hee,isTemplateLiteralTypeNode:()=>Kre,isTemplateLiteralTypeSpan:()=>bj,isTemplateMiddle:()=>hj,isTemplateMiddleOrTemplateTail:()=>B8,isTemplateSpan:()=>uN,isTemplateTail:()=>d6,isTextWhiteSpaceLike:()=>Zse,isThis:()=>mR,isThisContainerOrFunctionBlock:()=>Ute,isThisIdentifier:()=>YE,isThisInTypeQuery:()=>zA,isThisInitializedDeclaration:()=>gW,isThisInitializedObjectBindingExpression:()=>qte,isThisProperty:()=>fL,isThisTypeNode:()=>I2,isThisTypeParameter:()=>YC,isThisTypePredicate:()=>Mye,isThrowStatement:()=>Aj,isToken:()=>xA,isTokenKind:()=>qG,isTraceEnabled:()=>cg,isTransientSymbol:()=>k_,isTrivia:()=>mx,isTryStatement:()=>JS,isTupleTypeNode:()=>aI,isTypeAlias:()=>RL,isTypeAliasDeclaration:()=>Xf,isTypeAssertionExpression:()=>Xre,isTypeDeclaration:()=>Cx,isTypeElement:()=>bS,isTypeKeyword:()=>$N,isTypeKeywordToken:()=>oJ,isTypeKeywordTokenOrIdentifier:()=>I3,isTypeLiteralNode:()=>ju,isTypeNode:()=>xi,isTypeNodeKind:()=>bV,isTypeOfExpression:()=>Wx,isTypeOnlyExportDeclaration:()=>qee,isTypeOnlyImportDeclaration:()=>UM,isTypeOnlyImportOrExportDeclaration:()=>Sb,isTypeOperatorNode:()=>jS,isTypeParameterDeclaration:()=>qs,isTypePredicateNode:()=>T2,isTypeQueryNode:()=>oI,isTypeReferenceNode:()=>Yp,isTypeReferenceType:()=>X8,isTypeUsableAsPropertyName:()=>Af,isUMDExportSymbol:()=>QW,isUnaryExpression:()=>e9,isUnaryExpressionWithWrite:()=>Zee,isUnicodeIdentifierStart:()=>x8,isUnionTypeNode:()=>dy,isUnparsedNode:()=>HG,isUnparsedPrepend:()=>nie,isUnparsedSource:()=>XS,isUnparsedTextLike:()=>Uee,isUrl:()=>uee,isValidBigIntString:()=>hF,isValidESSymbolDeclaration:()=>Fte,isValidTypeOnlyAliasUseSite:()=>Pb,isValueSignatureDeclaration:()=>tne,isVarAwaitUsing:()=>lL,isVarConst:()=>Z1,isVarUsing:()=>cL,isVariableDeclaration:()=>yi,isVariableDeclarationInVariableStatement:()=>mC,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>jE,isVariableDeclarationInitializedToRequire:()=>AW,isVariableDeclarationList:()=>yc,isVariableLike:()=>tx,isVariableLikeOrAccessor:()=>wte,isVariableStatement:()=>cl,isVoidExpression:()=>cI,isWatchSet:()=>rbe,isWhileStatement:()=>Hbe,isWhiteSpaceLike:()=>$h,isWhiteSpaceSingleLine:()=>Um,isWithStatement:()=>Qre,isWriteAccess:()=>VA,isWriteOnlyAccess:()=>$W,isYieldExpression:()=>g6,jsxModeNeedsExplicitImport:()=>kJ,keywordPart:()=>Hu,last:()=>Da,lastOrUndefined:()=>Ns,length:()=>yn,libMap:()=>G6,libs:()=>K2,lineBreakPart:()=>yR,linkNamePart:()=>ole,linkPart:()=>vJ,linkTextPart:()=>M3,listFiles:()=>ZH,loadModuleFromGlobalCache:()=>poe,loadWithModeAwareCache:()=>Sk,makeIdentifierFromModuleName:()=>Tte,makeImport:()=>fv,makeImportIfNecessary:()=>Qse,makeStringLiteral:()=>CI,mangleScopedPackageName:()=>tR,map:()=>nn,mapAllOrFail:()=>$5,mapDefined:()=>Fi,mapDefinedEntries:()=>NZ,mapDefinedIterator:()=>WD,mapEntries:()=>MZ,mapIterator:()=>OD,mapOneOrMany:()=>PJ,mapToDisplayParts:()=>by,matchFiles:()=>DV,matchPatternOrExact:()=>CV,matchedText:()=>qZ,matchesExclude:()=>B6,maybeBind:()=>Wo,maybeSetLocalizedDiagnosticMessages:()=>Hne,memoize:()=>Kd,memoizeCached:()=>zZ,memoizeOne:()=>N_,memoizeWeak:()=>dve,metadataHelper:()=>WF,min:()=>cB,minAndMax:()=>ore,missingFileModifiedTime:()=>ip,modifierToFlag:()=>GA,modifiersToFlags:()=>Qm,moduleOptionDeclaration:()=>dU,moduleResolutionIsEqualTo:()=>hte,moduleResolutionNameAndModeGetter:()=>z4,moduleResolutionOptionDeclarations:()=>V6,moduleResolutionSupportsPackageJsonExportsAndImports:()=>HA,moduleResolutionUsesNodeModules:()=>x3,moduleSpecifiers:()=>h0,moveEmitHelpers:()=>Mre,moveRangeEnd:()=>XW,moveRangePastDecorators:()=>rg,moveRangePastModifiers:()=>Zm,moveRangePos:()=>Cb,moveSyntheticComments:()=>Cre,mutateMap:()=>FC,mutateMapSkippingNewValues:()=>Ih,needsParentheses:()=>k3,needsScopeMarker:()=>j8,newCaseClauseTracker:()=>K3,newPrivateEnvironment:()=>zoe,noEmitNotification:()=>fk,noEmitSubstitution:()=>WN,noTransformers:()=>dH,noTruncationMaximumTruncationLength:()=>AF,nodeCanBeDecorated:()=>yW,nodeHasName:()=>zM,nodeIsDecorated:()=>rx,nodeIsMissing:()=>_l,nodeIsPresent:()=>gf,nodeIsSynthesized:()=>xs,nodeModuleNameResolver:()=>aoe,nodeModulesPathPart:()=>q_,nodeNextJsonConfigResolver:()=>soe,nodeOrChildIsDecorated:()=>_L,nodeOverlapsWithStartEnd:()=>f3,nodePosToString:()=>Iye,nodeSeenTracker:()=>DI,nodeStartsNewLexicalEnvironment:()=>X9,nodeToDisplayParts:()=>AAe,noop:()=>Ca,noopFileWatcher:()=>uR,normalizePath:()=>Yo,normalizeSlashes:()=>ad,not:()=>e8,notImplemented:()=>Ro,notImplementedResolver:()=>D4,nullNodeConverters:()=>nj,nullParenthesizerRules:()=>tj,nullTransformationContext:()=>FN,objectAllocator:()=>wc,operatorPart:()=>eP,optionDeclarations:()=>Nh,optionMapToObject:()=>W6,optionsAffectingProgramStructure:()=>_U,optionsForBuild:()=>gU,optionsForWatch:()=>Yx,optionsHaveChanges:()=>K1,optionsHaveModuleResolutionChanges:()=>fte,or:()=>hm,orderedRemoveItem:()=>N1,orderedRemoveItemAt:()=>Bv,outFile:()=>ss,packageIdToPackageName:()=>Z8,packageIdToString:()=>Qv,paramHelper:()=>FF,parameterIsThisKeyword:()=>XE,parameterNamePart:()=>tle,parseBaseNodeFactory:()=>Qj,parseBigInt:()=>are,parseBuildCommand:()=>jEe,parseCommandLine:()=>GEe,parseCommandLineWorker:()=>tU,parseConfigFileTextToJson:()=>rU,parseConfigFileWithSystem:()=>ATe,parseConfigHostFromCompilerHostLike:()=>F4,parseCustomTypeOption:()=>w6,parseIsolatedEntityName:()=>gI,parseIsolatedJSDocComment:()=>Pie,parseJSDocTypeExpressionForTests:()=>DEe,parseJsonConfigFileContent:()=>r0e,parseJsonSourceFileConfigFileContent:()=>H2,parseJsonText:()=>G2,parseListTypeOption:()=>Lie,parseNodeFactory:()=>H_,parseNodeModuleFromPath:()=>tk,parsePackageName:()=>ik,parsePseudoBigInt:()=>HC,parseValidBigInt:()=>LV,patchWriteFileEnsuringDirectory:()=>cee,pathContainsNodeModules:()=>Gb,pathIsAbsolute:()=>JD,pathIsBareSpecifier:()=>RG,pathIsRelative:()=>op,patternText:()=>HZ,perfLogger:()=>Pd,performIncrementalCompilation:()=>DTe,performance:()=>ree,plainJSErrors:()=>B4,positionBelongsToNode:()=>Jq,positionIsASICandidate:()=>F3,positionIsSynthesized:()=>ym,positionsAreOnSameLine:()=>Jp,preProcessFile:()=>$Ae,probablyUsesSemicolons:()=>Zk,processCommentPragmas:()=>Yj,processPragmasIntoFields:()=>$j,processTaggedTemplateExpression:()=>rH,programContainsEsModules:()=>$se,programContainsModules:()=>Yse,projectReferenceIsEqualTo:()=>s9,propKeyHelper:()=>$F,propertyNamePart:()=>nle,pseudoBigIntToString:()=>ZE,punctuationPart:()=>Ad,pushIfUnique:()=>jp,quote:()=>rP,quotePreferenceFromString:()=>cJ,rangeContainsPosition:()=>Wk,rangeContainsPositionExclusive:()=>Fk,rangeContainsRange:()=>Np,rangeContainsRangeExclusive:()=>wse,rangeContainsStartEnd:()=>zk,rangeEndIsOnSameLineAsRangeStart:()=>qL,rangeEndPositionsAreOnSameLine:()=>Mne,rangeEquals:()=>nB,rangeIsOnSingleLine:()=>WS,rangeOfNode:()=>PV,rangeOfTypeParameters:()=>MV,rangeOverlapsWithStartEnd:()=>XN,rangeStartIsOnSameLineAsRangeEnd:()=>Lne,rangeStartPositionsAreOnSameLine:()=>YW,readBuilderProgram:()=>Q4,readConfigFile:()=>j2,readHelper:()=>XF,readJson:()=>kC,readJsonConfigFile:()=>wie,readJsonOrUndefined:()=>mV,reduceEachLeadingCommentRange:()=>gee,reduceEachTrailingCommentRange:()=>vee,reduceLeft:()=>Nd,reduceLeftIterator:()=>ave,reducePathComponents:()=>hS,refactor:()=>MI,regExpEscape:()=>dbe,relativeComplement:()=>LZ,removeAllComments:()=>f2,removeEmitHelper:()=>Bbe,removeExtension:()=>QL,removeFileExtension:()=>Yd,removeIgnoredPath:()=>j4,removeMinAndVersionNumbers:()=>dB,removeOptionality:()=>jse,removePrefix:()=>jD,removeSuffix:()=>C1,removeTrailingDirectorySeparator:()=>fb,repeatString:()=>Hk,replaceElement:()=>oB,replaceFirstStar:()=>KA,resolutionExtensionIsTSOrJson:()=>VC,resolveConfigFileProjectName:()=>dq,resolveJSModule:()=>ioe,resolveLibrary:()=>Z6,resolveModuleName:()=>Zx,resolveModuleNameFromCache:()=>B0e,resolvePackageNameToPackageJson:()=>bU,resolvePath:()=>jv,resolveProjectReferencePath:()=>sR,resolveTripleslashReference:()=>M4,resolveTypeReferenceDirective:()=>eoe,resolvingEmptyArray:()=>TF,restHelper:()=>HF,returnFalse:()=>_m,returnNoopFileWatcher:()=>pR,returnTrue:()=>Ug,returnUndefined:()=>ub,returnsPromise:()=>ZJ,runInitializersHelper:()=>BF,sameFlatMap:()=>CZ,sameMap:()=>sc,sameMapping:()=>RSe,scanShebangTrivia:()=>MG,scanTokenAtPosition:()=>Lte,scanner:()=>Id,screenStartingMessageCodes:()=>$4,semanticDiagnosticsOptionDeclarations:()=>pU,serializeCompilerOptions:()=>F6,server:()=>YMe,servicesVersion:()=>Uce,setCommentRange:()=>Ol,setConfigFileInOptions:()=>lU,setConstantValue:()=>Pre,setEachParent:()=>Dx,setEmitFlags:()=>$n,setFunctionNameHelper:()=>QF,setGetSourceFileAsHashVersioned:()=>Y4,setIdentifierAutoGenerate:()=>h2,setIdentifierGeneratedImportReference:()=>Ore,setIdentifierTypeArguments:()=>av,setInternalEmitFlags:()=>m2,setLocalizedDiagnosticMessages:()=>Une,setModuleDefaultHelper:()=>t6,setNodeFlags:()=>cre,setObjectAllocator:()=>jne,setOriginalNode:()=>mr,setParent:()=>Aa,setParentRecursive:()=>oy,setPrivateIdentifier:()=>tT,setSnippetElement:()=>dj,setSourceMapRange:()=>ca,setStackTraceLimit:()=>Pve,setStartsOnNewLine:()=>LF,setSyntheticLeadingComments:()=>Lb,setSyntheticTrailingComments:()=>YA,setSys:()=>wve,setSysLog:()=>see,setTextRange:()=>Ze,setTextRangeEnd:()=>Rx,setTextRangePos:()=>qC,setTextRangePosEnd:()=>F_,setTextRangePosWidth:()=>JC,setTokenSourceMapRange:()=>Dre,setTypeNode:()=>Lre,setUILocale:()=>VZ,setValueDeclaration:()=>IL,shouldAllowImportingTsExtension:()=>nR,shouldPreserveConstEnums:()=>n0,shouldUseUriStyleNodeCoreModules:()=>q3,showModuleSpecifier:()=>Fne,signatureHasLiteralTypes:()=>zU,signatureHasRestParameter:()=>Td,signatureToDisplayParts:()=>yJ,single:()=>iB,singleElementArray:()=>EA,singleIterator:()=>PZ,singleOrMany:()=>D_,singleOrUndefined:()=>R_,skipAlias:()=>Kc,skipAssertions:()=>aEe,skipConstraint:()=>aJ,skipOuterExpressions:()=>Rl,skipParentheses:()=>Ka,skipPartiallyEmittedExpressions:()=>jf,skipTrivia:()=>pa,skipTypeChecking:()=>UC,skipTypeParentheses:()=>ML,skipWhile:()=>KZ,sliceAfter:()=>NV,some:()=>ct,sort:()=>uS,sortAndDeduplicate:()=>zD,sortAndDeduplicateDiagnostics:()=>z1,sourceFileAffectingCompilerOptions:()=>j6,sourceFileMayBeEmitted:()=>LS,sourceMapCommentRegExp:()=>p4,sourceMapCommentRegExpDontCareLineStart:()=>JU,spacePart:()=>ul,spanMap:()=>Q5,spreadArrayHelper:()=>YF,stableSort:()=>Gg,startEndContainsRange:()=>qq,startEndOverlapsWithStartEnd:()=>m3,startOnNewLine:()=>Sd,startTracing:()=>iee,startsWith:()=>Ui,startsWithDirectory:()=>CG,startsWithUnderscore:()=>LJ,startsWithUseStrict:()=>mie,stringContainsAt:()=>Ele,stringToToken:()=>LE,stripQuotes:()=>Sf,supportedDeclarationExtensions:()=>s2,supportedJSExtensions:()=>QV,supportedJSExtensionsFlat:()=>Px,supportedLocaleDirectories:()=>a9,supportedTSExtensions:()=>Nx,supportedTSExtensionsFlat:()=>$V,supportedTSImplementationExtensions:()=>l2,suppressLeadingAndTrailingTrivia:()=>qu,suppressLeadingTrivia:()=>TJ,suppressTrailingTrivia:()=>dle,symbolEscapedNameNoDefault:()=>D3,symbolName:()=>$s,symbolNameNoDefault:()=>R3,symbolPart:()=>ele,symbolToDisplayParts:()=>tP,syntaxMayBeASICandidate:()=>zJ,syntaxRequiresTrailingSemicolonOrASI:()=>W3,sys:()=>Hc,sysLog:()=>SM,tagNamesAreEquivalent:()=>Fb,takeWhile:()=>n8,targetOptionDeclaration:()=>Y2,templateObjectHelper:()=>KF,testFormatSettings:()=>Cse,textChangeRangeIsUnchanged:()=>Iee,textChangeRangeNewSpan:()=>ZD,textChanges:()=>er,textOrKeywordPart:()=>gJ,textPart:()=>Mp,textRangeContainsPositionInclusive:()=>wM,textSpanContainsPosition:()=>OG,textSpanContainsTextSpan:()=>Eee,textSpanEnd:()=>Al,textSpanIntersection:()=>Aee,textSpanIntersectsWith:()=>P8,textSpanIntersectsWithPosition:()=>Tee,textSpanIntersectsWithTextSpan:()=>rye,textSpanIsEmpty:()=>bee,textSpanOverlap:()=>See,textSpanOverlapsWith:()=>nye,textSpansEqual:()=>vR,textToKeywordObj:()=>kM,timestamp:()=>Is,toArray:()=>yA,toBuilderFileEmit:()=>Vae,toBuilderStateFileInfoForMultiEmit:()=>Gae,toEditorSettings:()=>vO,toFileNameLowerCase:()=>C_,toLowerCase:()=>FZ,toPath:()=>ks,toProgramEmitPending:()=>jae,tokenIsIdentifierOrKeyword:()=>Md,tokenIsIdentifierOrKeywordOrGreaterThan:()=>_ee,tokenToString:()=>qo,trace:()=>to,tracing:()=>qn,tracingEnabled:()=>vM,transform:()=>X1e,transformClassFields:()=>Yoe,transformDeclarations:()=>lH,transformECMAScriptModule:()=>sH,transformES2015:()=>uae,transformES2016:()=>dae,transformES2017:()=>eae,transformES2018:()=>tae,transformES2019:()=>nae,transformES2020:()=>rae,transformES2021:()=>iae,transformES5:()=>pae,transformESDecorators:()=>Zoe,transformESNext:()=>oae,transformGenerators:()=>fae,transformJsx:()=>cae,transformLegacyDecorators:()=>Qoe,transformModule:()=>aH,transformNamedEvaluation:()=>Uu,transformNodeModule:()=>_ae,transformNodes:()=>mk,transformSystemModule:()=>mae,transformTypeScript:()=>Xoe,transpile:()=>oIe,transpileModule:()=>Ble,transpileOptionValueCompilerOptions:()=>hU,tryAddToSet:()=>db,tryAndIgnoreErrors:()=>G3,tryCast:()=>Vr,tryDirectoryExists:()=>B3,tryExtractTSExtension:()=>JW,tryFileExists:()=>eO,tryGetClassExtendingExpressionWithTypeArguments:()=>dV,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>uV,tryGetDirectories:()=>z3,tryGetExtensionFromPath:()=>og,tryGetImportFromModuleSpecifier:()=>xL,tryGetJSDocSatisfiesTypeNode:()=>bF,tryGetModuleNameFromFile:()=>k2,tryGetModuleSpecifierFromDeclaration:()=>sx,tryGetNativePerformanceHooks:()=>eee,tryGetPropertyAccessOrIdentifierToString:()=>HL,tryGetPropertyNameOfBindingOrAssignmentElement:()=>P6,tryGetSourceMappingURL:()=>Poe,tryGetTextOfPropertyName:()=>fC,tryIOAndConsumeErrors:()=>V3,tryParseJson:()=>KW,tryParsePattern:()=>xx,tryParsePatterns:()=>fF,tryParseRawSourceMap:()=>HU,tryReadDirectory:()=>xJ,tryReadFile:()=>SN,tryRemoveDirectoryPrefix:()=>xV,tryRemoveExtension:()=>ire,tryRemovePrefix:()=>fB,tryRemoveSuffix:()=>UZ,typeAcquisitionDeclarations:()=>$2,typeAliasNamePart:()=>rle,typeDirectiveIsEqualTo:()=>gte,typeKeywords:()=>X3,typeParameterNamePart:()=>ile,typeToDisplayParts:()=>Xk,unchangedPollThresholds:()=>TM,unchangedTextChangeRange:()=>eL,unescapeLeadingUnderscores:()=>Ii,unmangleScopedPackageName:()=>ak,unorderedRemoveItem:()=>bA,unorderedRemoveItemAt:()=>uB,unreachableCodeIsError:()=>Jne,unusedLabelIsError:()=>Kne,unwrapInnermostStatementOfLabel:()=>R9,updateErrorForNoInputFiles:()=>z6,updateLanguageServiceSourceFile:()=>wK,updateMissingFilePathsWatch:()=>vH,updateResolutionField:()=>$x,updateSharedExtendedConfigFileWatcher:()=>N4,updateSourceFile:()=>Kj,updateWatchingWildcardDirectories:()=>gk,usesExtensionsOnImports:()=>tre,usingSingleLineStringWriter:()=>dC,utf16EncodeAsString:()=>F1,validateLocaleAndSetLanguage:()=>oye,valuesHelper:()=>ZF,version:()=>bp,versionMajorMinor:()=>jm,visitArray:()=>ck,visitCommaListElements:()=>dk,visitEachChild:()=>un,visitFunctionBody:()=>Cp,visitIterationBody:()=>Qd,visitLexicalEnvironment:()=>jU,visitNode:()=>He,visitNodes:()=>Dn,visitParameterList:()=>rl,walkUpBindingElementsAndPatterns:()=>B1,walkUpLexicalEnvironments:()=>Foe,walkUpOuterExpressions:()=>_ie,walkUpParenthesizedExpressions:()=>Zg,walkUpParenthesizedTypes:()=>PL,walkUpParenthesizedTypesAndGetParentAndChild:()=>nne,whitespaceOrMapCommentRegExp:()=>f4,writeCommentRange:()=>bx,writeFile:()=>RC,writeFileEnsuringDirectories:()=>oV,zipWith:()=>J5});var QMe=pt({\"src/typescript/_namespaces/ts.ts\"(){\"use strict\";wo(),Pk(),Hr(),Ty(),xet()}}),Ret=ds({\"src/typescript/typescript.ts\"(e,t){QMe(),QMe(),typeof console<\"u\"&&(x.loggingHost={log(r,i){switch(r){case 1:return console.error(i);case 2:return console.warn(i);case 3:return console.log(i);case 4:return console.log(i)}}}),t.exports=$Me}});return Ret()})();typeof IZ<\"u\"&&IZ.exports&&(IZ.exports=dS);var Xpt=dS.createClassifier,rve=dS.createLanguageService,Ypt=dS.displayPartsToString,$pt=dS.EndOfLineState,Qpt=dS.flattenDiagnosticMessageText,Zpt=dS.IndentStyle,kD=dS.ScriptKind,eft=dS.ScriptTarget,tft=dS.TokenClass,ive=dS;var Vi={};Vi[\"lib.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es5\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n`;Vi[\"lib.decorators.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/**\n * The decorator context types provided to class element decorators.\n */\ntype ClassMemberDecoratorContext =\n    | ClassMethodDecoratorContext\n    | ClassGetterDecoratorContext\n    | ClassSetterDecoratorContext\n    | ClassFieldDecoratorContext\n    | ClassAccessorDecoratorContext;\n\n/**\n * The decorator context types provided to any decorator.\n */\ntype DecoratorContext =\n    | ClassDecoratorContext\n    | ClassMemberDecoratorContext;\n\ntype DecoratorMetadataObject = Record<PropertyKey, unknown> & object;\n\ntype DecoratorMetadata = typeof globalThis extends { Symbol: { readonly metadata: symbol; }; } ? DecoratorMetadataObject : DecoratorMetadataObject | undefined;\n\n/**\n * Context provided to a class decorator.\n * @template Class The type of the decorated class associated with this context.\n */\ninterface ClassDecoratorContext<\n    Class extends abstract new (...args: any) => any = abstract new (...args: any) => any,\n> {\n    /** The kind of element that was decorated. */\n    readonly kind: \"class\";\n\n    /** The name of the decorated class. */\n    readonly name: string | undefined;\n\n    /**\n     * Adds a callback to be invoked after the class definition has been finalized.\n     *\n     * @example\n     * \\`\\`\\`ts\n     * function customElement(name: string): ClassDecoratorFunction {\n     *   return (target, context) => {\n     *     context.addInitializer(function () {\n     *       customElements.define(name, this);\n     *     });\n     *   }\n     * }\n     *\n     * @customElement(\"my-element\")\n     * class MyElement {}\n     * \\`\\`\\`\n     */\n    addInitializer(initializer: (this: Class) => void): void;\n\n    readonly metadata: DecoratorMetadata;\n}\n\n/**\n * Context provided to a class method decorator.\n * @template This The type on which the class element will be defined. For a static class element, this will be\n * the type of the constructor. For a non-static class element, this will be the type of the instance.\n * @template Value The type of the decorated class method.\n */\ninterface ClassMethodDecoratorContext<\n    This = unknown,\n    Value extends (this: This, ...args: any) => any = (this: This, ...args: any) => any,\n> {\n    /** The kind of class element that was decorated. */\n    readonly kind: \"method\";\n\n    /** The name of the decorated class element. */\n    readonly name: string | symbol;\n\n    /** A value indicating whether the class element is a static (\\`true\\`) or instance (\\`false\\`) element. */\n    readonly static: boolean;\n\n    /** A value indicating whether the class element has a private name. */\n    readonly private: boolean;\n\n    /** An object that can be used to access the current value of the class element at runtime. */\n    readonly access: {\n        /**\n         * Determines whether an object has a property with the same name as the decorated element.\n         */\n        has(object: This): boolean;\n        /**\n         * Gets the current value of the method from the provided object.\n         *\n         * @example\n         * let fn = context.access.get(instance);\n         */\n        get(object: This): Value;\n    };\n\n    /**\n     * Adds a callback to be invoked either before static initializers are run (when\n     * decorating a \\`static\\` element), or before instance initializers are run (when\n     * decorating a non-\\`static\\` element).\n     *\n     * @example\n     * \\`\\`\\`ts\n     * const bound: ClassMethodDecoratorFunction = (value, context) {\n     *   if (context.private) throw new TypeError(\"Not supported on private methods.\");\n     *   context.addInitializer(function () {\n     *     this[context.name] = this[context.name].bind(this);\n     *   });\n     * }\n     *\n     * class C {\n     *   message = \"Hello\";\n     *\n     *   @bound\n     *   m() {\n     *     console.log(this.message);\n     *   }\n     * }\n     * \\`\\`\\`\n     */\n    addInitializer(initializer: (this: This) => void): void;\n\n    readonly metadata: DecoratorMetadata;\n}\n\n/**\n * Context provided to a class getter decorator.\n * @template This The type on which the class element will be defined. For a static class element, this will be\n * the type of the constructor. For a non-static class element, this will be the type of the instance.\n * @template Value The property type of the decorated class getter.\n */\ninterface ClassGetterDecoratorContext<\n    This = unknown,\n    Value = unknown,\n> {\n    /** The kind of class element that was decorated. */\n    readonly kind: \"getter\";\n\n    /** The name of the decorated class element. */\n    readonly name: string | symbol;\n\n    /** A value indicating whether the class element is a static (\\`true\\`) or instance (\\`false\\`) element. */\n    readonly static: boolean;\n\n    /** A value indicating whether the class element has a private name. */\n    readonly private: boolean;\n\n    /** An object that can be used to access the current value of the class element at runtime. */\n    readonly access: {\n        /**\n         * Determines whether an object has a property with the same name as the decorated element.\n         */\n        has(object: This): boolean;\n        /**\n         * Invokes the getter on the provided object.\n         *\n         * @example\n         * let value = context.access.get(instance);\n         */\n        get(object: This): Value;\n    };\n\n    /**\n     * Adds a callback to be invoked either before static initializers are run (when\n     * decorating a \\`static\\` element), or before instance initializers are run (when\n     * decorating a non-\\`static\\` element).\n     */\n    addInitializer(initializer: (this: This) => void): void;\n\n    readonly metadata: DecoratorMetadata;\n}\n\n/**\n * Context provided to a class setter decorator.\n * @template This The type on which the class element will be defined. For a static class element, this will be\n * the type of the constructor. For a non-static class element, this will be the type of the instance.\n * @template Value The type of the decorated class setter.\n */\ninterface ClassSetterDecoratorContext<\n    This = unknown,\n    Value = unknown,\n> {\n    /** The kind of class element that was decorated. */\n    readonly kind: \"setter\";\n\n    /** The name of the decorated class element. */\n    readonly name: string | symbol;\n\n    /** A value indicating whether the class element is a static (\\`true\\`) or instance (\\`false\\`) element. */\n    readonly static: boolean;\n\n    /** A value indicating whether the class element has a private name. */\n    readonly private: boolean;\n\n    /** An object that can be used to access the current value of the class element at runtime. */\n    readonly access: {\n        /**\n         * Determines whether an object has a property with the same name as the decorated element.\n         */\n        has(object: This): boolean;\n        /**\n         * Invokes the setter on the provided object.\n         *\n         * @example\n         * context.access.set(instance, value);\n         */\n        set(object: This, value: Value): void;\n    };\n\n    /**\n     * Adds a callback to be invoked either before static initializers are run (when\n     * decorating a \\`static\\` element), or before instance initializers are run (when\n     * decorating a non-\\`static\\` element).\n     */\n    addInitializer(initializer: (this: This) => void): void;\n\n    readonly metadata: DecoratorMetadata;\n}\n\n/**\n * Context provided to a class \\`accessor\\` field decorator.\n * @template This The type on which the class element will be defined. For a static class element, this will be\n * the type of the constructor. For a non-static class element, this will be the type of the instance.\n * @template Value The type of decorated class field.\n */\ninterface ClassAccessorDecoratorContext<\n    This = unknown,\n    Value = unknown,\n> {\n    /** The kind of class element that was decorated. */\n    readonly kind: \"accessor\";\n\n    /** The name of the decorated class element. */\n    readonly name: string | symbol;\n\n    /** A value indicating whether the class element is a static (\\`true\\`) or instance (\\`false\\`) element. */\n    readonly static: boolean;\n\n    /** A value indicating whether the class element has a private name. */\n    readonly private: boolean;\n\n    /** An object that can be used to access the current value of the class element at runtime. */\n    readonly access: {\n        /**\n         * Determines whether an object has a property with the same name as the decorated element.\n         */\n        has(object: This): boolean;\n\n        /**\n         * Invokes the getter on the provided object.\n         *\n         * @example\n         * let value = context.access.get(instance);\n         */\n        get(object: This): Value;\n\n        /**\n         * Invokes the setter on the provided object.\n         *\n         * @example\n         * context.access.set(instance, value);\n         */\n        set(object: This, value: Value): void;\n    };\n\n    /**\n     * Adds a callback to be invoked either before static initializers are run (when\n     * decorating a \\`static\\` element), or before instance initializers are run (when\n     * decorating a non-\\`static\\` element).\n     */\n    addInitializer(initializer: (this: This) => void): void;\n\n    readonly metadata: DecoratorMetadata;\n}\n\n/**\n * Describes the target provided to class \\`accessor\\` field decorators.\n * @template This The \\`this\\` type to which the target applies.\n * @template Value The property type for the class \\`accessor\\` field.\n */\ninterface ClassAccessorDecoratorTarget<This, Value> {\n    /**\n     * Invokes the getter that was defined prior to decorator application.\n     *\n     * @example\n     * let value = target.get.call(instance);\n     */\n    get(this: This): Value;\n\n    /**\n     * Invokes the setter that was defined prior to decorator application.\n     *\n     * @example\n     * target.set.call(instance, value);\n     */\n    set(this: This, value: Value): void;\n}\n\n/**\n * Describes the allowed return value from a class \\`accessor\\` field decorator.\n * @template This The \\`this\\` type to which the target applies.\n * @template Value The property type for the class \\`accessor\\` field.\n */\ninterface ClassAccessorDecoratorResult<This, Value> {\n    /**\n     * An optional replacement getter function. If not provided, the existing getter function is used instead.\n     */\n    get?(this: This): Value;\n\n    /**\n     * An optional replacement setter function. If not provided, the existing setter function is used instead.\n     */\n    set?(this: This, value: Value): void;\n\n    /**\n     * An optional initializer mutator that is invoked when the underlying field initializer is evaluated.\n     * @param value The incoming initializer value.\n     * @returns The replacement initializer value.\n     */\n    init?(this: This, value: Value): Value;\n}\n\n/**\n * Context provided to a class field decorator.\n * @template This The type on which the class element will be defined. For a static class element, this will be\n * the type of the constructor. For a non-static class element, this will be the type of the instance.\n * @template Value The type of the decorated class field.\n */\ninterface ClassFieldDecoratorContext<\n    This = unknown,\n    Value = unknown,\n> {\n    /** The kind of class element that was decorated. */\n    readonly kind: \"field\";\n\n    /** The name of the decorated class element. */\n    readonly name: string | symbol;\n\n    /** A value indicating whether the class element is a static (\\`true\\`) or instance (\\`false\\`) element. */\n    readonly static: boolean;\n\n    /** A value indicating whether the class element has a private name. */\n    readonly private: boolean;\n\n    /** An object that can be used to access the current value of the class element at runtime. */\n    readonly access: {\n        /**\n         * Determines whether an object has a property with the same name as the decorated element.\n         */\n        has(object: This): boolean;\n\n        /**\n         * Gets the value of the field on the provided object.\n         */\n        get(object: This): Value;\n\n        /**\n         * Sets the value of the field on the provided object.\n         */\n        set(object: This, value: Value): void;\n    };\n\n    /**\n     * Adds a callback to be invoked either before static initializers are run (when\n     * decorating a \\`static\\` element), or before instance initializers are run (when\n     * decorating a non-\\`static\\` element).\n     */\n    addInitializer(initializer: (this: This) => void): void;\n\n    readonly metadata: DecoratorMetadata;\n}\n`;Vi[\"lib.decorators.legacy.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;\ndeclare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void;\ndeclare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;\ndeclare type ParameterDecorator = (target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) => void;\n`;Vi[\"lib.dom.asynciterable.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/////////////////////////////\n/// Window Async Iterable APIs\n/////////////////////////////\n\ninterface FileSystemDirectoryHandle {\n    [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>;\n    entries(): AsyncIterableIterator<[string, FileSystemHandle]>;\n    keys(): AsyncIterableIterator<string>;\n    values(): AsyncIterableIterator<FileSystemHandle>;\n}\n`;Vi[\"lib.dom.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/////////////////////////////\n/// Window APIs\n/////////////////////////////\n\ninterface AddEventListenerOptions extends EventListenerOptions {\n    once?: boolean;\n    passive?: boolean;\n    signal?: AbortSignal;\n}\n\ninterface AesCbcParams extends Algorithm {\n    iv: BufferSource;\n}\n\ninterface AesCtrParams extends Algorithm {\n    counter: BufferSource;\n    length: number;\n}\n\ninterface AesDerivedKeyParams extends Algorithm {\n    length: number;\n}\n\ninterface AesGcmParams extends Algorithm {\n    additionalData?: BufferSource;\n    iv: BufferSource;\n    tagLength?: number;\n}\n\ninterface AesKeyAlgorithm extends KeyAlgorithm {\n    length: number;\n}\n\ninterface AesKeyGenParams extends Algorithm {\n    length: number;\n}\n\ninterface Algorithm {\n    name: string;\n}\n\ninterface AnalyserOptions extends AudioNodeOptions {\n    fftSize?: number;\n    maxDecibels?: number;\n    minDecibels?: number;\n    smoothingTimeConstant?: number;\n}\n\ninterface AnimationEventInit extends EventInit {\n    animationName?: string;\n    elapsedTime?: number;\n    pseudoElement?: string;\n}\n\ninterface AnimationPlaybackEventInit extends EventInit {\n    currentTime?: CSSNumberish | null;\n    timelineTime?: CSSNumberish | null;\n}\n\ninterface AssignedNodesOptions {\n    flatten?: boolean;\n}\n\ninterface AudioBufferOptions {\n    length: number;\n    numberOfChannels?: number;\n    sampleRate: number;\n}\n\ninterface AudioBufferSourceOptions {\n    buffer?: AudioBuffer | null;\n    detune?: number;\n    loop?: boolean;\n    loopEnd?: number;\n    loopStart?: number;\n    playbackRate?: number;\n}\n\ninterface AudioConfiguration {\n    bitrate?: number;\n    channels?: string;\n    contentType: string;\n    samplerate?: number;\n    spatialRendering?: boolean;\n}\n\ninterface AudioContextOptions {\n    latencyHint?: AudioContextLatencyCategory | number;\n    sampleRate?: number;\n}\n\ninterface AudioNodeOptions {\n    channelCount?: number;\n    channelCountMode?: ChannelCountMode;\n    channelInterpretation?: ChannelInterpretation;\n}\n\ninterface AudioProcessingEventInit extends EventInit {\n    inputBuffer: AudioBuffer;\n    outputBuffer: AudioBuffer;\n    playbackTime: number;\n}\n\ninterface AudioTimestamp {\n    contextTime?: number;\n    performanceTime?: DOMHighResTimeStamp;\n}\n\ninterface AudioWorkletNodeOptions extends AudioNodeOptions {\n    numberOfInputs?: number;\n    numberOfOutputs?: number;\n    outputChannelCount?: number[];\n    parameterData?: Record<string, number>;\n    processorOptions?: any;\n}\n\ninterface AuthenticationExtensionsClientInputs {\n    appid?: string;\n    credProps?: boolean;\n    hmacCreateSecret?: boolean;\n    minPinLength?: boolean;\n}\n\ninterface AuthenticationExtensionsClientOutputs {\n    appid?: boolean;\n    credProps?: CredentialPropertiesOutput;\n    hmacCreateSecret?: boolean;\n}\n\ninterface AuthenticatorSelectionCriteria {\n    authenticatorAttachment?: AuthenticatorAttachment;\n    requireResidentKey?: boolean;\n    residentKey?: ResidentKeyRequirement;\n    userVerification?: UserVerificationRequirement;\n}\n\ninterface AvcEncoderConfig {\n    format?: AvcBitstreamFormat;\n}\n\ninterface BiquadFilterOptions extends AudioNodeOptions {\n    Q?: number;\n    detune?: number;\n    frequency?: number;\n    gain?: number;\n    type?: BiquadFilterType;\n}\n\ninterface BlobEventInit {\n    data: Blob;\n    timecode?: DOMHighResTimeStamp;\n}\n\ninterface BlobPropertyBag {\n    endings?: EndingType;\n    type?: string;\n}\n\ninterface CSSMatrixComponentOptions {\n    is2D?: boolean;\n}\n\ninterface CSSNumericType {\n    angle?: number;\n    flex?: number;\n    frequency?: number;\n    length?: number;\n    percent?: number;\n    percentHint?: CSSNumericBaseType;\n    resolution?: number;\n    time?: number;\n}\n\ninterface CSSStyleSheetInit {\n    baseURL?: string;\n    disabled?: boolean;\n    media?: MediaList | string;\n}\n\ninterface CacheQueryOptions {\n    ignoreMethod?: boolean;\n    ignoreSearch?: boolean;\n    ignoreVary?: boolean;\n}\n\ninterface CanvasRenderingContext2DSettings {\n    alpha?: boolean;\n    colorSpace?: PredefinedColorSpace;\n    desynchronized?: boolean;\n    willReadFrequently?: boolean;\n}\n\ninterface ChannelMergerOptions extends AudioNodeOptions {\n    numberOfInputs?: number;\n}\n\ninterface ChannelSplitterOptions extends AudioNodeOptions {\n    numberOfOutputs?: number;\n}\n\ninterface CheckVisibilityOptions {\n    checkOpacity?: boolean;\n    checkVisibilityCSS?: boolean;\n}\n\ninterface ClientQueryOptions {\n    includeUncontrolled?: boolean;\n    type?: ClientTypes;\n}\n\ninterface ClipboardEventInit extends EventInit {\n    clipboardData?: DataTransfer | null;\n}\n\ninterface ClipboardItemOptions {\n    presentationStyle?: PresentationStyle;\n}\n\ninterface CloseEventInit extends EventInit {\n    code?: number;\n    reason?: string;\n    wasClean?: boolean;\n}\n\ninterface CompositionEventInit extends UIEventInit {\n    data?: string;\n}\n\ninterface ComputedEffectTiming extends EffectTiming {\n    activeDuration?: CSSNumberish;\n    currentIteration?: number | null;\n    endTime?: CSSNumberish;\n    localTime?: CSSNumberish | null;\n    progress?: number | null;\n    startTime?: CSSNumberish;\n}\n\ninterface ComputedKeyframe {\n    composite: CompositeOperationOrAuto;\n    computedOffset: number;\n    easing: string;\n    offset: number | null;\n    [property: string]: string | number | null | undefined;\n}\n\ninterface ConstantSourceOptions {\n    offset?: number;\n}\n\ninterface ConstrainBooleanParameters {\n    exact?: boolean;\n    ideal?: boolean;\n}\n\ninterface ConstrainDOMStringParameters {\n    exact?: string | string[];\n    ideal?: string | string[];\n}\n\ninterface ConstrainDoubleRange extends DoubleRange {\n    exact?: number;\n    ideal?: number;\n}\n\ninterface ConstrainULongRange extends ULongRange {\n    exact?: number;\n    ideal?: number;\n}\n\ninterface ConvolverOptions extends AudioNodeOptions {\n    buffer?: AudioBuffer | null;\n    disableNormalization?: boolean;\n}\n\ninterface CredentialCreationOptions {\n    publicKey?: PublicKeyCredentialCreationOptions;\n    signal?: AbortSignal;\n}\n\ninterface CredentialPropertiesOutput {\n    rk?: boolean;\n}\n\ninterface CredentialRequestOptions {\n    mediation?: CredentialMediationRequirement;\n    publicKey?: PublicKeyCredentialRequestOptions;\n    signal?: AbortSignal;\n}\n\ninterface CryptoKeyPair {\n    privateKey: CryptoKey;\n    publicKey: CryptoKey;\n}\n\ninterface CustomEventInit<T = any> extends EventInit {\n    detail?: T;\n}\n\ninterface DOMMatrix2DInit {\n    a?: number;\n    b?: number;\n    c?: number;\n    d?: number;\n    e?: number;\n    f?: number;\n    m11?: number;\n    m12?: number;\n    m21?: number;\n    m22?: number;\n    m41?: number;\n    m42?: number;\n}\n\ninterface DOMMatrixInit extends DOMMatrix2DInit {\n    is2D?: boolean;\n    m13?: number;\n    m14?: number;\n    m23?: number;\n    m24?: number;\n    m31?: number;\n    m32?: number;\n    m33?: number;\n    m34?: number;\n    m43?: number;\n    m44?: number;\n}\n\ninterface DOMPointInit {\n    w?: number;\n    x?: number;\n    y?: number;\n    z?: number;\n}\n\ninterface DOMQuadInit {\n    p1?: DOMPointInit;\n    p2?: DOMPointInit;\n    p3?: DOMPointInit;\n    p4?: DOMPointInit;\n}\n\ninterface DOMRectInit {\n    height?: number;\n    width?: number;\n    x?: number;\n    y?: number;\n}\n\ninterface DelayOptions extends AudioNodeOptions {\n    delayTime?: number;\n    maxDelayTime?: number;\n}\n\ninterface DeviceMotionEventAccelerationInit {\n    x?: number | null;\n    y?: number | null;\n    z?: number | null;\n}\n\ninterface DeviceMotionEventInit extends EventInit {\n    acceleration?: DeviceMotionEventAccelerationInit;\n    accelerationIncludingGravity?: DeviceMotionEventAccelerationInit;\n    interval?: number;\n    rotationRate?: DeviceMotionEventRotationRateInit;\n}\n\ninterface DeviceMotionEventRotationRateInit {\n    alpha?: number | null;\n    beta?: number | null;\n    gamma?: number | null;\n}\n\ninterface DeviceOrientationEventInit extends EventInit {\n    absolute?: boolean;\n    alpha?: number | null;\n    beta?: number | null;\n    gamma?: number | null;\n}\n\ninterface DisplayMediaStreamOptions {\n    audio?: boolean | MediaTrackConstraints;\n    video?: boolean | MediaTrackConstraints;\n}\n\ninterface DocumentTimelineOptions {\n    originTime?: DOMHighResTimeStamp;\n}\n\ninterface DoubleRange {\n    max?: number;\n    min?: number;\n}\n\ninterface DragEventInit extends MouseEventInit {\n    dataTransfer?: DataTransfer | null;\n}\n\ninterface DynamicsCompressorOptions extends AudioNodeOptions {\n    attack?: number;\n    knee?: number;\n    ratio?: number;\n    release?: number;\n    threshold?: number;\n}\n\ninterface EcKeyAlgorithm extends KeyAlgorithm {\n    namedCurve: NamedCurve;\n}\n\ninterface EcKeyGenParams extends Algorithm {\n    namedCurve: NamedCurve;\n}\n\ninterface EcKeyImportParams extends Algorithm {\n    namedCurve: NamedCurve;\n}\n\ninterface EcdhKeyDeriveParams extends Algorithm {\n    public: CryptoKey;\n}\n\ninterface EcdsaParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n}\n\ninterface EffectTiming {\n    delay?: number;\n    direction?: PlaybackDirection;\n    duration?: number | CSSNumericValue | string;\n    easing?: string;\n    endDelay?: number;\n    fill?: FillMode;\n    iterationStart?: number;\n    iterations?: number;\n    playbackRate?: number;\n}\n\ninterface ElementCreationOptions {\n    is?: string;\n}\n\ninterface ElementDefinitionOptions {\n    extends?: string;\n}\n\ninterface EncodedVideoChunkInit {\n    data: AllowSharedBufferSource;\n    duration?: number;\n    timestamp: number;\n    type: EncodedVideoChunkType;\n}\n\ninterface EncodedVideoChunkMetadata {\n    decoderConfig?: VideoDecoderConfig;\n}\n\ninterface ErrorEventInit extends EventInit {\n    colno?: number;\n    error?: any;\n    filename?: string;\n    lineno?: number;\n    message?: string;\n}\n\ninterface EventInit {\n    bubbles?: boolean;\n    cancelable?: boolean;\n    composed?: boolean;\n}\n\ninterface EventListenerOptions {\n    capture?: boolean;\n}\n\ninterface EventModifierInit extends UIEventInit {\n    altKey?: boolean;\n    ctrlKey?: boolean;\n    metaKey?: boolean;\n    modifierAltGraph?: boolean;\n    modifierCapsLock?: boolean;\n    modifierFn?: boolean;\n    modifierFnLock?: boolean;\n    modifierHyper?: boolean;\n    modifierNumLock?: boolean;\n    modifierScrollLock?: boolean;\n    modifierSuper?: boolean;\n    modifierSymbol?: boolean;\n    modifierSymbolLock?: boolean;\n    shiftKey?: boolean;\n}\n\ninterface EventSourceInit {\n    withCredentials?: boolean;\n}\n\ninterface FilePropertyBag extends BlobPropertyBag {\n    lastModified?: number;\n}\n\ninterface FileSystemCreateWritableOptions {\n    keepExistingData?: boolean;\n}\n\ninterface FileSystemFlags {\n    create?: boolean;\n    exclusive?: boolean;\n}\n\ninterface FileSystemGetDirectoryOptions {\n    create?: boolean;\n}\n\ninterface FileSystemGetFileOptions {\n    create?: boolean;\n}\n\ninterface FileSystemRemoveOptions {\n    recursive?: boolean;\n}\n\ninterface FocusEventInit extends UIEventInit {\n    relatedTarget?: EventTarget | null;\n}\n\ninterface FocusOptions {\n    preventScroll?: boolean;\n}\n\ninterface FontFaceDescriptors {\n    ascentOverride?: string;\n    descentOverride?: string;\n    display?: FontDisplay;\n    featureSettings?: string;\n    lineGapOverride?: string;\n    stretch?: string;\n    style?: string;\n    unicodeRange?: string;\n    weight?: string;\n}\n\ninterface FontFaceSetLoadEventInit extends EventInit {\n    fontfaces?: FontFace[];\n}\n\ninterface FormDataEventInit extends EventInit {\n    formData: FormData;\n}\n\ninterface FullscreenOptions {\n    navigationUI?: FullscreenNavigationUI;\n}\n\ninterface GainOptions extends AudioNodeOptions {\n    gain?: number;\n}\n\ninterface GamepadEffectParameters {\n    duration?: number;\n    startDelay?: number;\n    strongMagnitude?: number;\n    weakMagnitude?: number;\n}\n\ninterface GamepadEventInit extends EventInit {\n    gamepad: Gamepad;\n}\n\ninterface GetAnimationsOptions {\n    subtree?: boolean;\n}\n\ninterface GetNotificationOptions {\n    tag?: string;\n}\n\ninterface GetRootNodeOptions {\n    composed?: boolean;\n}\n\ninterface HashChangeEventInit extends EventInit {\n    newURL?: string;\n    oldURL?: string;\n}\n\ninterface HkdfParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    info: BufferSource;\n    salt: BufferSource;\n}\n\ninterface HmacImportParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    length?: number;\n}\n\ninterface HmacKeyAlgorithm extends KeyAlgorithm {\n    hash: KeyAlgorithm;\n    length: number;\n}\n\ninterface HmacKeyGenParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    length?: number;\n}\n\ninterface IDBDatabaseInfo {\n    name?: string;\n    version?: number;\n}\n\ninterface IDBIndexParameters {\n    multiEntry?: boolean;\n    unique?: boolean;\n}\n\ninterface IDBObjectStoreParameters {\n    autoIncrement?: boolean;\n    keyPath?: string | string[] | null;\n}\n\ninterface IDBTransactionOptions {\n    durability?: IDBTransactionDurability;\n}\n\ninterface IDBVersionChangeEventInit extends EventInit {\n    newVersion?: number | null;\n    oldVersion?: number;\n}\n\ninterface IIRFilterOptions extends AudioNodeOptions {\n    feedback: number[];\n    feedforward: number[];\n}\n\ninterface IdleRequestOptions {\n    timeout?: number;\n}\n\ninterface ImageBitmapOptions {\n    colorSpaceConversion?: ColorSpaceConversion;\n    imageOrientation?: ImageOrientation;\n    premultiplyAlpha?: PremultiplyAlpha;\n    resizeHeight?: number;\n    resizeQuality?: ResizeQuality;\n    resizeWidth?: number;\n}\n\ninterface ImageBitmapRenderingContextSettings {\n    alpha?: boolean;\n}\n\ninterface ImageDataSettings {\n    colorSpace?: PredefinedColorSpace;\n}\n\ninterface ImageEncodeOptions {\n    quality?: number;\n    type?: string;\n}\n\ninterface ImportMeta {\n    url: string;\n}\n\ninterface InputEventInit extends UIEventInit {\n    data?: string | null;\n    dataTransfer?: DataTransfer | null;\n    inputType?: string;\n    isComposing?: boolean;\n    targetRanges?: StaticRange[];\n}\n\ninterface IntersectionObserverEntryInit {\n    boundingClientRect: DOMRectInit;\n    intersectionRatio: number;\n    intersectionRect: DOMRectInit;\n    isIntersecting: boolean;\n    rootBounds: DOMRectInit | null;\n    target: Element;\n    time: DOMHighResTimeStamp;\n}\n\ninterface IntersectionObserverInit {\n    root?: Element | Document | null;\n    rootMargin?: string;\n    threshold?: number | number[];\n}\n\ninterface JsonWebKey {\n    alg?: string;\n    crv?: string;\n    d?: string;\n    dp?: string;\n    dq?: string;\n    e?: string;\n    ext?: boolean;\n    k?: string;\n    key_ops?: string[];\n    kty?: string;\n    n?: string;\n    oth?: RsaOtherPrimesInfo[];\n    p?: string;\n    q?: string;\n    qi?: string;\n    use?: string;\n    x?: string;\n    y?: string;\n}\n\ninterface KeyAlgorithm {\n    name: string;\n}\n\ninterface KeyboardEventInit extends EventModifierInit {\n    /** @deprecated */\n    charCode?: number;\n    code?: string;\n    isComposing?: boolean;\n    key?: string;\n    /** @deprecated */\n    keyCode?: number;\n    location?: number;\n    repeat?: boolean;\n}\n\ninterface Keyframe {\n    composite?: CompositeOperationOrAuto;\n    easing?: string;\n    offset?: number | null;\n    [property: string]: string | number | null | undefined;\n}\n\ninterface KeyframeAnimationOptions extends KeyframeEffectOptions {\n    id?: string;\n    timeline?: AnimationTimeline | null;\n}\n\ninterface KeyframeEffectOptions extends EffectTiming {\n    composite?: CompositeOperation;\n    iterationComposite?: IterationCompositeOperation;\n    pseudoElement?: string | null;\n}\n\ninterface LockInfo {\n    clientId?: string;\n    mode?: LockMode;\n    name?: string;\n}\n\ninterface LockManagerSnapshot {\n    held?: LockInfo[];\n    pending?: LockInfo[];\n}\n\ninterface LockOptions {\n    ifAvailable?: boolean;\n    mode?: LockMode;\n    signal?: AbortSignal;\n    steal?: boolean;\n}\n\ninterface MIDIConnectionEventInit extends EventInit {\n    port?: MIDIPort;\n}\n\ninterface MIDIMessageEventInit extends EventInit {\n    data?: Uint8Array;\n}\n\ninterface MIDIOptions {\n    software?: boolean;\n    sysex?: boolean;\n}\n\ninterface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo {\n    configuration?: MediaDecodingConfiguration;\n}\n\ninterface MediaCapabilitiesEncodingInfo extends MediaCapabilitiesInfo {\n    configuration?: MediaEncodingConfiguration;\n}\n\ninterface MediaCapabilitiesInfo {\n    powerEfficient: boolean;\n    smooth: boolean;\n    supported: boolean;\n}\n\ninterface MediaConfiguration {\n    audio?: AudioConfiguration;\n    video?: VideoConfiguration;\n}\n\ninterface MediaDecodingConfiguration extends MediaConfiguration {\n    type: MediaDecodingType;\n}\n\ninterface MediaElementAudioSourceOptions {\n    mediaElement: HTMLMediaElement;\n}\n\ninterface MediaEncodingConfiguration extends MediaConfiguration {\n    type: MediaEncodingType;\n}\n\ninterface MediaEncryptedEventInit extends EventInit {\n    initData?: ArrayBuffer | null;\n    initDataType?: string;\n}\n\ninterface MediaImage {\n    sizes?: string;\n    src: string;\n    type?: string;\n}\n\ninterface MediaKeyMessageEventInit extends EventInit {\n    message: ArrayBuffer;\n    messageType: MediaKeyMessageType;\n}\n\ninterface MediaKeySystemConfiguration {\n    audioCapabilities?: MediaKeySystemMediaCapability[];\n    distinctiveIdentifier?: MediaKeysRequirement;\n    initDataTypes?: string[];\n    label?: string;\n    persistentState?: MediaKeysRequirement;\n    sessionTypes?: string[];\n    videoCapabilities?: MediaKeySystemMediaCapability[];\n}\n\ninterface MediaKeySystemMediaCapability {\n    contentType?: string;\n    encryptionScheme?: string | null;\n    robustness?: string;\n}\n\ninterface MediaMetadataInit {\n    album?: string;\n    artist?: string;\n    artwork?: MediaImage[];\n    title?: string;\n}\n\ninterface MediaPositionState {\n    duration?: number;\n    playbackRate?: number;\n    position?: number;\n}\n\ninterface MediaQueryListEventInit extends EventInit {\n    matches?: boolean;\n    media?: string;\n}\n\ninterface MediaRecorderOptions {\n    audioBitsPerSecond?: number;\n    bitsPerSecond?: number;\n    mimeType?: string;\n    videoBitsPerSecond?: number;\n}\n\ninterface MediaSessionActionDetails {\n    action: MediaSessionAction;\n    fastSeek?: boolean;\n    seekOffset?: number;\n    seekTime?: number;\n}\n\ninterface MediaStreamAudioSourceOptions {\n    mediaStream: MediaStream;\n}\n\ninterface MediaStreamConstraints {\n    audio?: boolean | MediaTrackConstraints;\n    peerIdentity?: string;\n    preferCurrentTab?: boolean;\n    video?: boolean | MediaTrackConstraints;\n}\n\ninterface MediaStreamTrackEventInit extends EventInit {\n    track: MediaStreamTrack;\n}\n\ninterface MediaTrackCapabilities {\n    aspectRatio?: DoubleRange;\n    autoGainControl?: boolean[];\n    channelCount?: ULongRange;\n    deviceId?: string;\n    displaySurface?: string;\n    echoCancellation?: boolean[];\n    facingMode?: string[];\n    frameRate?: DoubleRange;\n    groupId?: string;\n    height?: ULongRange;\n    noiseSuppression?: boolean[];\n    sampleRate?: ULongRange;\n    sampleSize?: ULongRange;\n    width?: ULongRange;\n}\n\ninterface MediaTrackConstraintSet {\n    aspectRatio?: ConstrainDouble;\n    autoGainControl?: ConstrainBoolean;\n    channelCount?: ConstrainULong;\n    deviceId?: ConstrainDOMString;\n    displaySurface?: ConstrainDOMString;\n    echoCancellation?: ConstrainBoolean;\n    facingMode?: ConstrainDOMString;\n    frameRate?: ConstrainDouble;\n    groupId?: ConstrainDOMString;\n    height?: ConstrainULong;\n    noiseSuppression?: ConstrainBoolean;\n    sampleRate?: ConstrainULong;\n    sampleSize?: ConstrainULong;\n    width?: ConstrainULong;\n}\n\ninterface MediaTrackConstraints extends MediaTrackConstraintSet {\n    advanced?: MediaTrackConstraintSet[];\n}\n\ninterface MediaTrackSettings {\n    aspectRatio?: number;\n    autoGainControl?: boolean;\n    channelCount?: number;\n    deviceId?: string;\n    displaySurface?: string;\n    echoCancellation?: boolean;\n    facingMode?: string;\n    frameRate?: number;\n    groupId?: string;\n    height?: number;\n    noiseSuppression?: boolean;\n    sampleRate?: number;\n    sampleSize?: number;\n    width?: number;\n}\n\ninterface MediaTrackSupportedConstraints {\n    aspectRatio?: boolean;\n    autoGainControl?: boolean;\n    channelCount?: boolean;\n    deviceId?: boolean;\n    displaySurface?: boolean;\n    echoCancellation?: boolean;\n    facingMode?: boolean;\n    frameRate?: boolean;\n    groupId?: boolean;\n    height?: boolean;\n    noiseSuppression?: boolean;\n    sampleRate?: boolean;\n    sampleSize?: boolean;\n    width?: boolean;\n}\n\ninterface MessageEventInit<T = any> extends EventInit {\n    data?: T;\n    lastEventId?: string;\n    origin?: string;\n    ports?: MessagePort[];\n    source?: MessageEventSource | null;\n}\n\ninterface MouseEventInit extends EventModifierInit {\n    button?: number;\n    buttons?: number;\n    clientX?: number;\n    clientY?: number;\n    movementX?: number;\n    movementY?: number;\n    relatedTarget?: EventTarget | null;\n    screenX?: number;\n    screenY?: number;\n}\n\ninterface MultiCacheQueryOptions extends CacheQueryOptions {\n    cacheName?: string;\n}\n\ninterface MutationObserverInit {\n    /** Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted. */\n    attributeFilter?: string[];\n    /** Set to true if attributes is true or omitted and target's attribute value before the mutation needs to be recorded. */\n    attributeOldValue?: boolean;\n    /** Set to true if mutations to target's attributes are to be observed. Can be omitted if attributeOldValue or attributeFilter is specified. */\n    attributes?: boolean;\n    /** Set to true if mutations to target's data are to be observed. Can be omitted if characterDataOldValue is specified. */\n    characterData?: boolean;\n    /** Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded. */\n    characterDataOldValue?: boolean;\n    /** Set to true if mutations to target's children are to be observed. */\n    childList?: boolean;\n    /** Set to true if mutations to not just target, but also target's descendants are to be observed. */\n    subtree?: boolean;\n}\n\ninterface NavigationPreloadState {\n    enabled?: boolean;\n    headerValue?: string;\n}\n\ninterface NotificationOptions {\n    badge?: string;\n    body?: string;\n    data?: any;\n    dir?: NotificationDirection;\n    icon?: string;\n    lang?: string;\n    requireInteraction?: boolean;\n    silent?: boolean | null;\n    tag?: string;\n}\n\ninterface OfflineAudioCompletionEventInit extends EventInit {\n    renderedBuffer: AudioBuffer;\n}\n\ninterface OfflineAudioContextOptions {\n    length: number;\n    numberOfChannels?: number;\n    sampleRate: number;\n}\n\ninterface OptionalEffectTiming {\n    delay?: number;\n    direction?: PlaybackDirection;\n    duration?: number | string;\n    easing?: string;\n    endDelay?: number;\n    fill?: FillMode;\n    iterationStart?: number;\n    iterations?: number;\n    playbackRate?: number;\n}\n\ninterface OscillatorOptions extends AudioNodeOptions {\n    detune?: number;\n    frequency?: number;\n    periodicWave?: PeriodicWave;\n    type?: OscillatorType;\n}\n\ninterface PageTransitionEventInit extends EventInit {\n    persisted?: boolean;\n}\n\ninterface PannerOptions extends AudioNodeOptions {\n    coneInnerAngle?: number;\n    coneOuterAngle?: number;\n    coneOuterGain?: number;\n    distanceModel?: DistanceModelType;\n    maxDistance?: number;\n    orientationX?: number;\n    orientationY?: number;\n    orientationZ?: number;\n    panningModel?: PanningModelType;\n    positionX?: number;\n    positionY?: number;\n    positionZ?: number;\n    refDistance?: number;\n    rolloffFactor?: number;\n}\n\ninterface PaymentCurrencyAmount {\n    currency: string;\n    value: string;\n}\n\ninterface PaymentDetailsBase {\n    displayItems?: PaymentItem[];\n    modifiers?: PaymentDetailsModifier[];\n}\n\ninterface PaymentDetailsInit extends PaymentDetailsBase {\n    id?: string;\n    total: PaymentItem;\n}\n\ninterface PaymentDetailsModifier {\n    additionalDisplayItems?: PaymentItem[];\n    data?: any;\n    supportedMethods: string;\n    total?: PaymentItem;\n}\n\ninterface PaymentDetailsUpdate extends PaymentDetailsBase {\n    paymentMethodErrors?: any;\n    total?: PaymentItem;\n}\n\ninterface PaymentItem {\n    amount: PaymentCurrencyAmount;\n    label: string;\n    pending?: boolean;\n}\n\ninterface PaymentMethodChangeEventInit extends PaymentRequestUpdateEventInit {\n    methodDetails?: any;\n    methodName?: string;\n}\n\ninterface PaymentMethodData {\n    data?: any;\n    supportedMethods: string;\n}\n\ninterface PaymentRequestUpdateEventInit extends EventInit {\n}\n\ninterface PaymentValidationErrors {\n    error?: string;\n    paymentMethod?: any;\n}\n\ninterface Pbkdf2Params extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    iterations: number;\n    salt: BufferSource;\n}\n\ninterface PerformanceMarkOptions {\n    detail?: any;\n    startTime?: DOMHighResTimeStamp;\n}\n\ninterface PerformanceMeasureOptions {\n    detail?: any;\n    duration?: DOMHighResTimeStamp;\n    end?: string | DOMHighResTimeStamp;\n    start?: string | DOMHighResTimeStamp;\n}\n\ninterface PerformanceObserverInit {\n    buffered?: boolean;\n    entryTypes?: string[];\n    type?: string;\n}\n\ninterface PeriodicWaveConstraints {\n    disableNormalization?: boolean;\n}\n\ninterface PeriodicWaveOptions extends PeriodicWaveConstraints {\n    imag?: number[] | Float32Array;\n    real?: number[] | Float32Array;\n}\n\ninterface PermissionDescriptor {\n    name: PermissionName;\n}\n\ninterface PictureInPictureEventInit extends EventInit {\n    pictureInPictureWindow: PictureInPictureWindow;\n}\n\ninterface PlaneLayout {\n    offset: number;\n    stride: number;\n}\n\ninterface PointerEventInit extends MouseEventInit {\n    coalescedEvents?: PointerEvent[];\n    height?: number;\n    isPrimary?: boolean;\n    pointerId?: number;\n    pointerType?: string;\n    predictedEvents?: PointerEvent[];\n    pressure?: number;\n    tangentialPressure?: number;\n    tiltX?: number;\n    tiltY?: number;\n    twist?: number;\n    width?: number;\n}\n\ninterface PopStateEventInit extends EventInit {\n    state?: any;\n}\n\ninterface PositionOptions {\n    enableHighAccuracy?: boolean;\n    maximumAge?: number;\n    timeout?: number;\n}\n\ninterface ProgressEventInit extends EventInit {\n    lengthComputable?: boolean;\n    loaded?: number;\n    total?: number;\n}\n\ninterface PromiseRejectionEventInit extends EventInit {\n    promise: Promise<any>;\n    reason?: any;\n}\n\ninterface PropertyDefinition {\n    inherits: boolean;\n    initialValue?: string;\n    name: string;\n    syntax?: string;\n}\n\ninterface PropertyIndexedKeyframes {\n    composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[];\n    easing?: string | string[];\n    offset?: number | (number | null)[];\n    [property: string]: string | string[] | number | null | (number | null)[] | undefined;\n}\n\ninterface PublicKeyCredentialCreationOptions {\n    attestation?: AttestationConveyancePreference;\n    authenticatorSelection?: AuthenticatorSelectionCriteria;\n    challenge: BufferSource;\n    excludeCredentials?: PublicKeyCredentialDescriptor[];\n    extensions?: AuthenticationExtensionsClientInputs;\n    pubKeyCredParams: PublicKeyCredentialParameters[];\n    rp: PublicKeyCredentialRpEntity;\n    timeout?: number;\n    user: PublicKeyCredentialUserEntity;\n}\n\ninterface PublicKeyCredentialDescriptor {\n    id: BufferSource;\n    transports?: AuthenticatorTransport[];\n    type: PublicKeyCredentialType;\n}\n\ninterface PublicKeyCredentialEntity {\n    name: string;\n}\n\ninterface PublicKeyCredentialParameters {\n    alg: COSEAlgorithmIdentifier;\n    type: PublicKeyCredentialType;\n}\n\ninterface PublicKeyCredentialRequestOptions {\n    allowCredentials?: PublicKeyCredentialDescriptor[];\n    challenge: BufferSource;\n    extensions?: AuthenticationExtensionsClientInputs;\n    rpId?: string;\n    timeout?: number;\n    userVerification?: UserVerificationRequirement;\n}\n\ninterface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity {\n    id?: string;\n}\n\ninterface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity {\n    displayName: string;\n    id: BufferSource;\n}\n\ninterface PushSubscriptionJSON {\n    endpoint?: string;\n    expirationTime?: EpochTimeStamp | null;\n    keys?: Record<string, string>;\n}\n\ninterface PushSubscriptionOptionsInit {\n    applicationServerKey?: BufferSource | string | null;\n    userVisibleOnly?: boolean;\n}\n\ninterface QueuingStrategy<T = any> {\n    highWaterMark?: number;\n    size?: QueuingStrategySize<T>;\n}\n\ninterface QueuingStrategyInit {\n    /**\n     * Creates a new ByteLengthQueuingStrategy with the provided high water mark.\n     *\n     * Note that the provided high water mark will not be validated ahead of time. Instead, if it is negative, NaN, or not a number, the resulting ByteLengthQueuingStrategy will cause the corresponding stream constructor to throw.\n     */\n    highWaterMark: number;\n}\n\ninterface RTCAnswerOptions extends RTCOfferAnswerOptions {\n}\n\ninterface RTCCertificateExpiration {\n    expires?: number;\n}\n\ninterface RTCConfiguration {\n    bundlePolicy?: RTCBundlePolicy;\n    certificates?: RTCCertificate[];\n    iceCandidatePoolSize?: number;\n    iceServers?: RTCIceServer[];\n    iceTransportPolicy?: RTCIceTransportPolicy;\n    rtcpMuxPolicy?: RTCRtcpMuxPolicy;\n}\n\ninterface RTCDTMFToneChangeEventInit extends EventInit {\n    tone?: string;\n}\n\ninterface RTCDataChannelEventInit extends EventInit {\n    channel: RTCDataChannel;\n}\n\ninterface RTCDataChannelInit {\n    id?: number;\n    maxPacketLifeTime?: number;\n    maxRetransmits?: number;\n    negotiated?: boolean;\n    ordered?: boolean;\n    protocol?: string;\n}\n\ninterface RTCDtlsFingerprint {\n    algorithm?: string;\n    value?: string;\n}\n\ninterface RTCEncodedAudioFrameMetadata {\n    contributingSources?: number[];\n    payloadType?: number;\n    sequenceNumber?: number;\n    synchronizationSource?: number;\n}\n\ninterface RTCEncodedVideoFrameMetadata {\n    contributingSources?: number[];\n    dependencies?: number[];\n    frameId?: number;\n    height?: number;\n    payloadType?: number;\n    spatialIndex?: number;\n    synchronizationSource?: number;\n    temporalIndex?: number;\n    timestamp?: number;\n    width?: number;\n}\n\ninterface RTCErrorEventInit extends EventInit {\n    error: RTCError;\n}\n\ninterface RTCErrorInit {\n    errorDetail: RTCErrorDetailType;\n    httpRequestStatusCode?: number;\n    receivedAlert?: number;\n    sctpCauseCode?: number;\n    sdpLineNumber?: number;\n    sentAlert?: number;\n}\n\ninterface RTCIceCandidateInit {\n    candidate?: string;\n    sdpMLineIndex?: number | null;\n    sdpMid?: string | null;\n    usernameFragment?: string | null;\n}\n\ninterface RTCIceCandidatePair {\n    local?: RTCIceCandidate;\n    remote?: RTCIceCandidate;\n}\n\ninterface RTCIceCandidatePairStats extends RTCStats {\n    availableIncomingBitrate?: number;\n    availableOutgoingBitrate?: number;\n    bytesReceived?: number;\n    bytesSent?: number;\n    currentRoundTripTime?: number;\n    lastPacketReceivedTimestamp?: DOMHighResTimeStamp;\n    lastPacketSentTimestamp?: DOMHighResTimeStamp;\n    localCandidateId: string;\n    nominated?: boolean;\n    remoteCandidateId: string;\n    requestsReceived?: number;\n    requestsSent?: number;\n    responsesReceived?: number;\n    responsesSent?: number;\n    state: RTCStatsIceCandidatePairState;\n    totalRoundTripTime?: number;\n    transportId: string;\n}\n\ninterface RTCIceServer {\n    credential?: string;\n    urls: string | string[];\n    username?: string;\n}\n\ninterface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats {\n    audioLevel?: number;\n    bytesReceived?: number;\n    concealedSamples?: number;\n    concealmentEvents?: number;\n    decoderImplementation?: string;\n    estimatedPlayoutTimestamp?: DOMHighResTimeStamp;\n    fecPacketsDiscarded?: number;\n    fecPacketsReceived?: number;\n    firCount?: number;\n    frameHeight?: number;\n    frameWidth?: number;\n    framesDecoded?: number;\n    framesDropped?: number;\n    framesPerSecond?: number;\n    framesReceived?: number;\n    headerBytesReceived?: number;\n    insertedSamplesForDeceleration?: number;\n    jitterBufferDelay?: number;\n    jitterBufferEmittedCount?: number;\n    keyFramesDecoded?: number;\n    lastPacketReceivedTimestamp?: DOMHighResTimeStamp;\n    mid?: string;\n    nackCount?: number;\n    packetsDiscarded?: number;\n    pliCount?: number;\n    qpSum?: number;\n    remoteId?: string;\n    removedSamplesForAcceleration?: number;\n    silentConcealedSamples?: number;\n    totalAudioEnergy?: number;\n    totalDecodeTime?: number;\n    totalInterFrameDelay?: number;\n    totalProcessingDelay?: number;\n    totalSamplesDuration?: number;\n    totalSamplesReceived?: number;\n    totalSquaredInterFrameDelay?: number;\n    trackIdentifier: string;\n}\n\ninterface RTCLocalSessionDescriptionInit {\n    sdp?: string;\n    type?: RTCSdpType;\n}\n\ninterface RTCOfferAnswerOptions {\n}\n\ninterface RTCOfferOptions extends RTCOfferAnswerOptions {\n    iceRestart?: boolean;\n    offerToReceiveAudio?: boolean;\n    offerToReceiveVideo?: boolean;\n}\n\ninterface RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats {\n    firCount?: number;\n    frameHeight?: number;\n    frameWidth?: number;\n    framesEncoded?: number;\n    framesPerSecond?: number;\n    framesSent?: number;\n    headerBytesSent?: number;\n    hugeFramesSent?: number;\n    keyFramesEncoded?: number;\n    mediaSourceId?: string;\n    nackCount?: number;\n    pliCount?: number;\n    qpSum?: number;\n    qualityLimitationResolutionChanges?: number;\n    remoteId?: string;\n    retransmittedBytesSent?: number;\n    retransmittedPacketsSent?: number;\n    rid?: string;\n    rtxSsrc?: number;\n    targetBitrate?: number;\n    totalEncodeTime?: number;\n    totalEncodedBytesTarget?: number;\n    totalPacketSendDelay?: number;\n}\n\ninterface RTCPeerConnectionIceErrorEventInit extends EventInit {\n    address?: string | null;\n    errorCode: number;\n    errorText?: string;\n    port?: number | null;\n    url?: string;\n}\n\ninterface RTCPeerConnectionIceEventInit extends EventInit {\n    candidate?: RTCIceCandidate | null;\n    url?: string | null;\n}\n\ninterface RTCReceivedRtpStreamStats extends RTCRtpStreamStats {\n    jitter?: number;\n    packetsLost?: number;\n    packetsReceived?: number;\n}\n\ninterface RTCRtcpParameters {\n    cname?: string;\n    reducedSize?: boolean;\n}\n\ninterface RTCRtpCapabilities {\n    codecs: RTCRtpCodecCapability[];\n    headerExtensions: RTCRtpHeaderExtensionCapability[];\n}\n\ninterface RTCRtpCodec {\n    channels?: number;\n    clockRate: number;\n    mimeType: string;\n    sdpFmtpLine?: string;\n}\n\ninterface RTCRtpCodecCapability extends RTCRtpCodec {\n}\n\ninterface RTCRtpCodecParameters extends RTCRtpCodec {\n    payloadType: number;\n}\n\ninterface RTCRtpCodingParameters {\n    rid?: string;\n}\n\ninterface RTCRtpContributingSource {\n    audioLevel?: number;\n    rtpTimestamp: number;\n    source: number;\n    timestamp: DOMHighResTimeStamp;\n}\n\ninterface RTCRtpEncodingParameters extends RTCRtpCodingParameters {\n    active?: boolean;\n    maxBitrate?: number;\n    maxFramerate?: number;\n    networkPriority?: RTCPriorityType;\n    priority?: RTCPriorityType;\n    scaleResolutionDownBy?: number;\n}\n\ninterface RTCRtpHeaderExtensionCapability {\n    uri: string;\n}\n\ninterface RTCRtpHeaderExtensionParameters {\n    encrypted?: boolean;\n    id: number;\n    uri: string;\n}\n\ninterface RTCRtpParameters {\n    codecs: RTCRtpCodecParameters[];\n    headerExtensions: RTCRtpHeaderExtensionParameters[];\n    rtcp: RTCRtcpParameters;\n}\n\ninterface RTCRtpReceiveParameters extends RTCRtpParameters {\n}\n\ninterface RTCRtpSendParameters extends RTCRtpParameters {\n    degradationPreference?: RTCDegradationPreference;\n    encodings: RTCRtpEncodingParameters[];\n    transactionId: string;\n}\n\ninterface RTCRtpStreamStats extends RTCStats {\n    codecId?: string;\n    kind: string;\n    ssrc: number;\n    transportId?: string;\n}\n\ninterface RTCRtpSynchronizationSource extends RTCRtpContributingSource {\n}\n\ninterface RTCRtpTransceiverInit {\n    direction?: RTCRtpTransceiverDirection;\n    sendEncodings?: RTCRtpEncodingParameters[];\n    streams?: MediaStream[];\n}\n\ninterface RTCSentRtpStreamStats extends RTCRtpStreamStats {\n    bytesSent?: number;\n    packetsSent?: number;\n}\n\ninterface RTCSessionDescriptionInit {\n    sdp?: string;\n    type: RTCSdpType;\n}\n\ninterface RTCSetParameterOptions {\n}\n\ninterface RTCStats {\n    id: string;\n    timestamp: DOMHighResTimeStamp;\n    type: RTCStatsType;\n}\n\ninterface RTCTrackEventInit extends EventInit {\n    receiver: RTCRtpReceiver;\n    streams?: MediaStream[];\n    track: MediaStreamTrack;\n    transceiver: RTCRtpTransceiver;\n}\n\ninterface RTCTransportStats extends RTCStats {\n    bytesReceived?: number;\n    bytesSent?: number;\n    dtlsCipher?: string;\n    dtlsState: RTCDtlsTransportState;\n    localCertificateId?: string;\n    remoteCertificateId?: string;\n    selectedCandidatePairId?: string;\n    srtpCipher?: string;\n    tlsVersion?: string;\n}\n\ninterface ReadableStreamGetReaderOptions {\n    /**\n     * Creates a ReadableStreamBYOBReader and locks the stream to the new reader.\n     *\n     * This call behaves the same way as the no-argument variant, except that it only works on readable byte streams, i.e. streams which were constructed specifically with the ability to handle \"bring your own buffer\" reading. The returned BYOB reader provides the ability to directly read individual chunks from the stream via its read() method, into developer-supplied buffers, allowing more precise control over allocation.\n     */\n    mode?: ReadableStreamReaderMode;\n}\n\ninterface ReadableStreamReadDoneResult<T> {\n    done: true;\n    value?: T;\n}\n\ninterface ReadableStreamReadValueResult<T> {\n    done: false;\n    value: T;\n}\n\ninterface ReadableWritablePair<R = any, W = any> {\n    readable: ReadableStream<R>;\n    /**\n     * Provides a convenient, chainable way of piping this readable stream through a transform stream (or any other { writable, readable } pair). It simply pipes the stream into the writable side of the supplied pair, and returns the readable side for further use.\n     *\n     * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n     */\n    writable: WritableStream<W>;\n}\n\ninterface RegistrationOptions {\n    scope?: string;\n    type?: WorkerType;\n    updateViaCache?: ServiceWorkerUpdateViaCache;\n}\n\ninterface ReportingObserverOptions {\n    buffered?: boolean;\n    types?: string[];\n}\n\ninterface RequestInit {\n    /** A BodyInit object or null to set request's body. */\n    body?: BodyInit | null;\n    /** A string indicating how the request will interact with the browser's cache to set request's cache. */\n    cache?: RequestCache;\n    /** A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials. */\n    credentials?: RequestCredentials;\n    /** A Headers object, an object literal, or an array of two-item arrays to set request's headers. */\n    headers?: HeadersInit;\n    /** A cryptographic hash of the resource to be fetched by request. Sets request's integrity. */\n    integrity?: string;\n    /** A boolean to set request's keepalive. */\n    keepalive?: boolean;\n    /** A string to set request's method. */\n    method?: string;\n    /** A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. */\n    mode?: RequestMode;\n    priority?: RequestPriority;\n    /** A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect. */\n    redirect?: RequestRedirect;\n    /** A string whose value is a same-origin URL, \"about:client\", or the empty string, to set request's referrer. */\n    referrer?: string;\n    /** A referrer policy to set request's referrerPolicy. */\n    referrerPolicy?: ReferrerPolicy;\n    /** An AbortSignal to set request's signal. */\n    signal?: AbortSignal | null;\n    /** Can only be null. Used to disassociate request from any Window. */\n    window?: null;\n}\n\ninterface ResizeObserverOptions {\n    box?: ResizeObserverBoxOptions;\n}\n\ninterface ResponseInit {\n    headers?: HeadersInit;\n    status?: number;\n    statusText?: string;\n}\n\ninterface RsaHashedImportParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n}\n\ninterface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {\n    hash: KeyAlgorithm;\n}\n\ninterface RsaHashedKeyGenParams extends RsaKeyGenParams {\n    hash: HashAlgorithmIdentifier;\n}\n\ninterface RsaKeyAlgorithm extends KeyAlgorithm {\n    modulusLength: number;\n    publicExponent: BigInteger;\n}\n\ninterface RsaKeyGenParams extends Algorithm {\n    modulusLength: number;\n    publicExponent: BigInteger;\n}\n\ninterface RsaOaepParams extends Algorithm {\n    label?: BufferSource;\n}\n\ninterface RsaOtherPrimesInfo {\n    d?: string;\n    r?: string;\n    t?: string;\n}\n\ninterface RsaPssParams extends Algorithm {\n    saltLength: number;\n}\n\ninterface SVGBoundingBoxOptions {\n    clipped?: boolean;\n    fill?: boolean;\n    markers?: boolean;\n    stroke?: boolean;\n}\n\ninterface ScrollIntoViewOptions extends ScrollOptions {\n    block?: ScrollLogicalPosition;\n    inline?: ScrollLogicalPosition;\n}\n\ninterface ScrollOptions {\n    behavior?: ScrollBehavior;\n}\n\ninterface ScrollToOptions extends ScrollOptions {\n    left?: number;\n    top?: number;\n}\n\ninterface SecurityPolicyViolationEventInit extends EventInit {\n    blockedURI?: string;\n    columnNumber?: number;\n    disposition: SecurityPolicyViolationEventDisposition;\n    documentURI: string;\n    effectiveDirective: string;\n    lineNumber?: number;\n    originalPolicy: string;\n    referrer?: string;\n    sample?: string;\n    sourceFile?: string;\n    statusCode: number;\n    violatedDirective: string;\n}\n\ninterface ShadowRootInit {\n    delegatesFocus?: boolean;\n    mode: ShadowRootMode;\n    slotAssignment?: SlotAssignmentMode;\n}\n\ninterface ShareData {\n    files?: File[];\n    text?: string;\n    title?: string;\n    url?: string;\n}\n\ninterface SpeechSynthesisErrorEventInit extends SpeechSynthesisEventInit {\n    error: SpeechSynthesisErrorCode;\n}\n\ninterface SpeechSynthesisEventInit extends EventInit {\n    charIndex?: number;\n    charLength?: number;\n    elapsedTime?: number;\n    name?: string;\n    utterance: SpeechSynthesisUtterance;\n}\n\ninterface StaticRangeInit {\n    endContainer: Node;\n    endOffset: number;\n    startContainer: Node;\n    startOffset: number;\n}\n\ninterface StereoPannerOptions extends AudioNodeOptions {\n    pan?: number;\n}\n\ninterface StorageEstimate {\n    quota?: number;\n    usage?: number;\n}\n\ninterface StorageEventInit extends EventInit {\n    key?: string | null;\n    newValue?: string | null;\n    oldValue?: string | null;\n    storageArea?: Storage | null;\n    url?: string;\n}\n\ninterface StreamPipeOptions {\n    preventAbort?: boolean;\n    preventCancel?: boolean;\n    /**\n     * Pipes this readable stream to a given writable stream destination. The way in which the piping process behaves under various error conditions can be customized with a number of passed options. It returns a promise that fulfills when the piping process completes successfully, or rejects if any errors were encountered.\n     *\n     * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n     *\n     * Errors and closures of the source and destination streams propagate as follows:\n     *\n     * An error in this source readable stream will abort destination, unless preventAbort is truthy. The returned promise will be rejected with the source's error, or with any error that occurs during aborting the destination.\n     *\n     * An error in destination will cancel this source readable stream, unless preventCancel is truthy. The returned promise will be rejected with the destination's error, or with any error that occurs during canceling the source.\n     *\n     * When this source readable stream closes, destination will be closed, unless preventClose is truthy. The returned promise will be fulfilled once this process completes, unless an error is encountered while closing the destination, in which case it will be rejected with that error.\n     *\n     * If destination starts out closed or closing, this source readable stream will be canceled, unless preventCancel is true. The returned promise will be rejected with an error indicating piping to a closed stream failed, or with any error that occurs during canceling the source.\n     *\n     * The signal option can be set to an AbortSignal to allow aborting an ongoing pipe operation via the corresponding AbortController. In this case, this source readable stream will be canceled, and destination aborted, unless the respective options preventCancel or preventAbort are set.\n     */\n    preventClose?: boolean;\n    signal?: AbortSignal;\n}\n\ninterface StructuredSerializeOptions {\n    transfer?: Transferable[];\n}\n\ninterface SubmitEventInit extends EventInit {\n    submitter?: HTMLElement | null;\n}\n\ninterface TextDecodeOptions {\n    stream?: boolean;\n}\n\ninterface TextDecoderOptions {\n    fatal?: boolean;\n    ignoreBOM?: boolean;\n}\n\ninterface TextEncoderEncodeIntoResult {\n    read: number;\n    written: number;\n}\n\ninterface ToggleEventInit extends EventInit {\n    newState?: string;\n    oldState?: string;\n}\n\ninterface TouchEventInit extends EventModifierInit {\n    changedTouches?: Touch[];\n    targetTouches?: Touch[];\n    touches?: Touch[];\n}\n\ninterface TouchInit {\n    altitudeAngle?: number;\n    azimuthAngle?: number;\n    clientX?: number;\n    clientY?: number;\n    force?: number;\n    identifier: number;\n    pageX?: number;\n    pageY?: number;\n    radiusX?: number;\n    radiusY?: number;\n    rotationAngle?: number;\n    screenX?: number;\n    screenY?: number;\n    target: EventTarget;\n    touchType?: TouchType;\n}\n\ninterface TrackEventInit extends EventInit {\n    track?: TextTrack | null;\n}\n\ninterface Transformer<I = any, O = any> {\n    flush?: TransformerFlushCallback<O>;\n    readableType?: undefined;\n    start?: TransformerStartCallback<O>;\n    transform?: TransformerTransformCallback<I, O>;\n    writableType?: undefined;\n}\n\ninterface TransitionEventInit extends EventInit {\n    elapsedTime?: number;\n    propertyName?: string;\n    pseudoElement?: string;\n}\n\ninterface UIEventInit extends EventInit {\n    detail?: number;\n    view?: Window | null;\n    /** @deprecated */\n    which?: number;\n}\n\ninterface ULongRange {\n    max?: number;\n    min?: number;\n}\n\ninterface UnderlyingByteSource {\n    autoAllocateChunkSize?: number;\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: (controller: ReadableByteStreamController) => void | PromiseLike<void>;\n    start?: (controller: ReadableByteStreamController) => any;\n    type: \"bytes\";\n}\n\ninterface UnderlyingDefaultSource<R = any> {\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: (controller: ReadableStreamDefaultController<R>) => void | PromiseLike<void>;\n    start?: (controller: ReadableStreamDefaultController<R>) => any;\n    type?: undefined;\n}\n\ninterface UnderlyingSink<W = any> {\n    abort?: UnderlyingSinkAbortCallback;\n    close?: UnderlyingSinkCloseCallback;\n    start?: UnderlyingSinkStartCallback;\n    type?: undefined;\n    write?: UnderlyingSinkWriteCallback<W>;\n}\n\ninterface UnderlyingSource<R = any> {\n    autoAllocateChunkSize?: number;\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: UnderlyingSourcePullCallback<R>;\n    start?: UnderlyingSourceStartCallback<R>;\n    type?: ReadableStreamType;\n}\n\ninterface ValidityStateFlags {\n    badInput?: boolean;\n    customError?: boolean;\n    patternMismatch?: boolean;\n    rangeOverflow?: boolean;\n    rangeUnderflow?: boolean;\n    stepMismatch?: boolean;\n    tooLong?: boolean;\n    tooShort?: boolean;\n    typeMismatch?: boolean;\n    valueMissing?: boolean;\n}\n\ninterface VideoColorSpaceInit {\n    fullRange?: boolean | null;\n    matrix?: VideoMatrixCoefficients | null;\n    primaries?: VideoColorPrimaries | null;\n    transfer?: VideoTransferCharacteristics | null;\n}\n\ninterface VideoConfiguration {\n    bitrate: number;\n    colorGamut?: ColorGamut;\n    contentType: string;\n    framerate: number;\n    hdrMetadataType?: HdrMetadataType;\n    height: number;\n    scalabilityMode?: string;\n    transferFunction?: TransferFunction;\n    width: number;\n}\n\ninterface VideoDecoderConfig {\n    codec: string;\n    codedHeight?: number;\n    codedWidth?: number;\n    colorSpace?: VideoColorSpaceInit;\n    description?: AllowSharedBufferSource;\n    displayAspectHeight?: number;\n    displayAspectWidth?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    optimizeForLatency?: boolean;\n}\n\ninterface VideoDecoderInit {\n    error: WebCodecsErrorCallback;\n    output: VideoFrameOutputCallback;\n}\n\ninterface VideoDecoderSupport {\n    config?: VideoDecoderConfig;\n    supported?: boolean;\n}\n\ninterface VideoEncoderConfig {\n    alpha?: AlphaOption;\n    avc?: AvcEncoderConfig;\n    bitrate?: number;\n    bitrateMode?: VideoEncoderBitrateMode;\n    codec: string;\n    displayHeight?: number;\n    displayWidth?: number;\n    framerate?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    height: number;\n    latencyMode?: LatencyMode;\n    scalabilityMode?: string;\n    width: number;\n}\n\ninterface VideoEncoderEncodeOptions {\n    keyFrame?: boolean;\n}\n\ninterface VideoEncoderInit {\n    error: WebCodecsErrorCallback;\n    output: EncodedVideoChunkOutputCallback;\n}\n\ninterface VideoEncoderSupport {\n    config?: VideoEncoderConfig;\n    supported?: boolean;\n}\n\ninterface VideoFrameBufferInit {\n    codedHeight: number;\n    codedWidth: number;\n    colorSpace?: VideoColorSpaceInit;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    format: VideoPixelFormat;\n    layout?: PlaneLayout[];\n    timestamp: number;\n    visibleRect?: DOMRectInit;\n}\n\ninterface VideoFrameCallbackMetadata {\n    captureTime?: DOMHighResTimeStamp;\n    expectedDisplayTime: DOMHighResTimeStamp;\n    height: number;\n    mediaTime: number;\n    presentationTime: DOMHighResTimeStamp;\n    presentedFrames: number;\n    processingDuration?: number;\n    receiveTime?: DOMHighResTimeStamp;\n    rtpTimestamp?: number;\n    width: number;\n}\n\ninterface VideoFrameCopyToOptions {\n    layout?: PlaneLayout[];\n    rect?: DOMRectInit;\n}\n\ninterface VideoFrameInit {\n    alpha?: AlphaOption;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    timestamp?: number;\n    visibleRect?: DOMRectInit;\n}\n\ninterface WaveShaperOptions extends AudioNodeOptions {\n    curve?: number[] | Float32Array;\n    oversample?: OverSampleType;\n}\n\ninterface WebGLContextAttributes {\n    alpha?: boolean;\n    antialias?: boolean;\n    depth?: boolean;\n    desynchronized?: boolean;\n    failIfMajorPerformanceCaveat?: boolean;\n    powerPreference?: WebGLPowerPreference;\n    premultipliedAlpha?: boolean;\n    preserveDrawingBuffer?: boolean;\n    stencil?: boolean;\n}\n\ninterface WebGLContextEventInit extends EventInit {\n    statusMessage?: string;\n}\n\ninterface WebTransportCloseInfo {\n    closeCode?: number;\n    reason?: string;\n}\n\ninterface WebTransportErrorOptions {\n    source?: WebTransportErrorSource;\n    streamErrorCode?: number | null;\n}\n\ninterface WebTransportHash {\n    algorithm?: string;\n    value?: BufferSource;\n}\n\ninterface WebTransportOptions {\n    allowPooling?: boolean;\n    congestionControl?: WebTransportCongestionControl;\n    requireUnreliable?: boolean;\n    serverCertificateHashes?: WebTransportHash[];\n}\n\ninterface WebTransportSendStreamOptions {\n    sendOrder?: number;\n}\n\ninterface WheelEventInit extends MouseEventInit {\n    deltaMode?: number;\n    deltaX?: number;\n    deltaY?: number;\n    deltaZ?: number;\n}\n\ninterface WindowPostMessageOptions extends StructuredSerializeOptions {\n    targetOrigin?: string;\n}\n\ninterface WorkerOptions {\n    credentials?: RequestCredentials;\n    name?: string;\n    type?: WorkerType;\n}\n\ninterface WorkletOptions {\n    credentials?: RequestCredentials;\n}\n\ninterface WriteParams {\n    data?: BufferSource | Blob | string | null;\n    position?: number | null;\n    size?: number | null;\n    type: WriteCommandType;\n}\n\ntype NodeFilter = ((node: Node) => number) | { acceptNode(node: Node): number; };\n\ndeclare var NodeFilter: {\n    readonly FILTER_ACCEPT: 1;\n    readonly FILTER_REJECT: 2;\n    readonly FILTER_SKIP: 3;\n    readonly SHOW_ALL: 0xFFFFFFFF;\n    readonly SHOW_ELEMENT: 0x1;\n    readonly SHOW_ATTRIBUTE: 0x2;\n    readonly SHOW_TEXT: 0x4;\n    readonly SHOW_CDATA_SECTION: 0x8;\n    readonly SHOW_ENTITY_REFERENCE: 0x10;\n    readonly SHOW_ENTITY: 0x20;\n    readonly SHOW_PROCESSING_INSTRUCTION: 0x40;\n    readonly SHOW_COMMENT: 0x80;\n    readonly SHOW_DOCUMENT: 0x100;\n    readonly SHOW_DOCUMENT_TYPE: 0x200;\n    readonly SHOW_DOCUMENT_FRAGMENT: 0x400;\n    readonly SHOW_NOTATION: 0x800;\n};\n\ntype XPathNSResolver = ((prefix: string | null) => string | null) | { lookupNamespaceURI(prefix: string | null): string | null; };\n\n/**\n * The ANGLE_instanced_arrays extension is part of the WebGL API and allows to draw the same object, or groups of similar objects multiple times, if they share the same vertex data, primitive count and type.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays)\n */\ninterface ANGLE_instanced_arrays {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/drawArraysInstancedANGLE) */\n    drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/drawElementsInstancedANGLE) */\n    drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/vertexAttribDivisorANGLE) */\n    vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: 0x88FE;\n}\n\ninterface ARIAMixin {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAtomic) */\n    ariaAtomic: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAutoComplete) */\n    ariaAutoComplete: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBusy) */\n    ariaBusy: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaChecked) */\n    ariaChecked: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColCount) */\n    ariaColCount: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndex) */\n    ariaColIndex: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColSpan) */\n    ariaColSpan: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaCurrent) */\n    ariaCurrent: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDescription) */\n    ariaDescription: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDisabled) */\n    ariaDisabled: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaExpanded) */\n    ariaExpanded: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHasPopup) */\n    ariaHasPopup: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHidden) */\n    ariaHidden: string | null;\n    ariaInvalid: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaKeyShortcuts) */\n    ariaKeyShortcuts: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLabel) */\n    ariaLabel: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLevel) */\n    ariaLevel: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLive) */\n    ariaLive: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaModal) */\n    ariaModal: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiLine) */\n    ariaMultiLine: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiSelectable) */\n    ariaMultiSelectable: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaOrientation) */\n    ariaOrientation: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPlaceholder) */\n    ariaPlaceholder: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPosInSet) */\n    ariaPosInSet: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPressed) */\n    ariaPressed: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaReadOnly) */\n    ariaReadOnly: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRequired) */\n    ariaRequired: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRoleDescription) */\n    ariaRoleDescription: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowCount) */\n    ariaRowCount: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndex) */\n    ariaRowIndex: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowSpan) */\n    ariaRowSpan: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSelected) */\n    ariaSelected: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSetSize) */\n    ariaSetSize: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSort) */\n    ariaSort: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMax) */\n    ariaValueMax: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMin) */\n    ariaValueMin: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueNow) */\n    ariaValueNow: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueText) */\n    ariaValueText: string | null;\n    role: string | null;\n}\n\n/**\n * A controller object that allows you to abort one or more DOM requests as and when desired.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController)\n */\ninterface AbortController {\n    /**\n     * Returns the AbortSignal object associated with this object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController/signal)\n     */\n    readonly signal: AbortSignal;\n    /**\n     * Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController/abort)\n     */\n    abort(reason?: any): void;\n}\n\ndeclare var AbortController: {\n    prototype: AbortController;\n    new(): AbortController;\n};\n\ninterface AbortSignalEventMap {\n    \"abort\": Event;\n}\n\n/**\n * A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal)\n */\ninterface AbortSignal extends EventTarget {\n    /**\n     * Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/aborted)\n     */\n    readonly aborted: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_event) */\n    onabort: ((this: AbortSignal, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/reason) */\n    readonly reason: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/throwIfAborted) */\n    throwIfAborted(): void;\n    addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AbortSignal: {\n    prototype: AbortSignal;\n    new(): AbortSignal;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static) */\n    abort(reason?: any): AbortSignal;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static) */\n    timeout(milliseconds: number): AbortSignal;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange) */\ninterface AbstractRange {\n    /**\n     * Returns true if range is collapsed, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/collapsed)\n     */\n    readonly collapsed: boolean;\n    /**\n     * Returns range's end node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/endContainer)\n     */\n    readonly endContainer: Node;\n    /**\n     * Returns range's end offset.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/endOffset)\n     */\n    readonly endOffset: number;\n    /**\n     * Returns range's start node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/startContainer)\n     */\n    readonly startContainer: Node;\n    /**\n     * Returns range's start offset.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/startOffset)\n     */\n    readonly startOffset: number;\n}\n\ndeclare var AbstractRange: {\n    prototype: AbstractRange;\n    new(): AbstractRange;\n};\n\ninterface AbstractWorkerEventMap {\n    \"error\": ErrorEvent;\n}\n\ninterface AbstractWorker {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/error_event) */\n    onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null;\n    addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/**\n * A node able to provide real-time frequency and time-domain analysis information. It is an AudioNode that passes the audio stream unchanged from the input to the output, but allows you to take the generated data, process it, and create audio visualizations.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode)\n */\ninterface AnalyserNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/fftSize) */\n    fftSize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/frequencyBinCount) */\n    readonly frequencyBinCount: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/maxDecibels) */\n    maxDecibels: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/minDecibels) */\n    minDecibels: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/smoothingTimeConstant) */\n    smoothingTimeConstant: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getByteFrequencyData) */\n    getByteFrequencyData(array: Uint8Array): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getByteTimeDomainData) */\n    getByteTimeDomainData(array: Uint8Array): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getFloatFrequencyData) */\n    getFloatFrequencyData(array: Float32Array): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getFloatTimeDomainData) */\n    getFloatTimeDomainData(array: Float32Array): void;\n}\n\ndeclare var AnalyserNode: {\n    prototype: AnalyserNode;\n    new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode;\n};\n\ninterface Animatable {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animate) */\n    animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAnimations) */\n    getAnimations(options?: GetAnimationsOptions): Animation[];\n}\n\ninterface AnimationEventMap {\n    \"cancel\": AnimationPlaybackEvent;\n    \"finish\": AnimationPlaybackEvent;\n    \"remove\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation) */\ninterface Animation extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/currentTime) */\n    currentTime: CSSNumberish | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/effect) */\n    effect: AnimationEffect | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finished) */\n    readonly finished: Promise<Animation>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/id) */\n    id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/cancel_event) */\n    oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finish_event) */\n    onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/remove_event) */\n    onremove: ((this: Animation, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/pending) */\n    readonly pending: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/playState) */\n    readonly playState: AnimationPlayState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/playbackRate) */\n    playbackRate: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/ready) */\n    readonly ready: Promise<Animation>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/replaceState) */\n    readonly replaceState: AnimationReplaceState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/startTime) */\n    startTime: CSSNumberish | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/timeline) */\n    timeline: AnimationTimeline | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/cancel) */\n    cancel(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/commitStyles) */\n    commitStyles(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finish) */\n    finish(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/pause) */\n    pause(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/persist) */\n    persist(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/play) */\n    play(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/reverse) */\n    reverse(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/updatePlaybackRate) */\n    updatePlaybackRate(playbackRate: number): void;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Animation: {\n    prototype: Animation;\n    new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect) */\ninterface AnimationEffect {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/getComputedTiming) */\n    getComputedTiming(): ComputedEffectTiming;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/getTiming) */\n    getTiming(): EffectTiming;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/updateTiming) */\n    updateTiming(timing?: OptionalEffectTiming): void;\n}\n\ndeclare var AnimationEffect: {\n    prototype: AnimationEffect;\n    new(): AnimationEffect;\n};\n\n/**\n * Events providing information related to animations.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent)\n */\ninterface AnimationEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/animationName) */\n    readonly animationName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/elapsedTime) */\n    readonly elapsedTime: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/pseudoElement) */\n    readonly pseudoElement: string;\n}\n\ndeclare var AnimationEvent: {\n    prototype: AnimationEvent;\n    new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent;\n};\n\ninterface AnimationFrameProvider {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame) */\n    cancelAnimationFrame(handle: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame) */\n    requestAnimationFrame(callback: FrameRequestCallback): number;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent) */\ninterface AnimationPlaybackEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent/currentTime) */\n    readonly currentTime: CSSNumberish | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent/timelineTime) */\n    readonly timelineTime: CSSNumberish | null;\n}\n\ndeclare var AnimationPlaybackEvent: {\n    prototype: AnimationPlaybackEvent;\n    new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationTimeline) */\ninterface AnimationTimeline {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationTimeline/currentTime) */\n    readonly currentTime: CSSNumberish | null;\n}\n\ndeclare var AnimationTimeline: {\n    prototype: AnimationTimeline;\n    new(): AnimationTimeline;\n};\n\n/**\n * A DOM element's attribute as an object. In most DOM methods, you will probably directly retrieve the attribute as a string (e.g., Element.getAttribute(), but certain functions (e.g., Element.getAttributeNode()) or means of iterating give Attr types.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr)\n */\ninterface Attr extends Node {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/localName) */\n    readonly localName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/namespaceURI) */\n    readonly namespaceURI: string | null;\n    readonly ownerDocument: Document;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/ownerElement) */\n    readonly ownerElement: Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/prefix) */\n    readonly prefix: string | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/specified)\n     */\n    readonly specified: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/value) */\n    value: string;\n}\n\ndeclare var Attr: {\n    prototype: Attr;\n    new(): Attr;\n};\n\n/**\n * A short audio asset residing in memory, created from an audio file using the AudioContext.decodeAudioData() method, or from raw data using AudioContext.createBuffer(). Once put into an AudioBuffer, the audio can then be played by being passed into an AudioBufferSourceNode.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer)\n */\ninterface AudioBuffer {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/duration) */\n    readonly duration: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/numberOfChannels) */\n    readonly numberOfChannels: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/sampleRate) */\n    readonly sampleRate: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/copyFromChannel) */\n    copyFromChannel(destination: Float32Array, channelNumber: number, bufferOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/copyToChannel) */\n    copyToChannel(source: Float32Array, channelNumber: number, bufferOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/getChannelData) */\n    getChannelData(channel: number): Float32Array;\n}\n\ndeclare var AudioBuffer: {\n    prototype: AudioBuffer;\n    new(options: AudioBufferOptions): AudioBuffer;\n};\n\n/**\n * An AudioScheduledSourceNode which represents an audio source consisting of in-memory audio data, stored in an AudioBuffer. It's especially useful for playing back audio which has particularly stringent timing accuracy requirements, such as for sounds that must match a specific rhythm and can be kept in memory rather than being played from disk or the network.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode)\n */\ninterface AudioBufferSourceNode extends AudioScheduledSourceNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/buffer) */\n    buffer: AudioBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/detune) */\n    readonly detune: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loop) */\n    loop: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loopEnd) */\n    loopEnd: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loopStart) */\n    loopStart: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/playbackRate) */\n    readonly playbackRate: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/start) */\n    start(when?: number, offset?: number, duration?: number): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioBufferSourceNode: {\n    prototype: AudioBufferSourceNode;\n    new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode;\n};\n\n/**\n * An audio-processing graph built from audio modules linked together, each represented by an AudioNode.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext)\n */\ninterface AudioContext extends BaseAudioContext {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/baseLatency) */\n    readonly baseLatency: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/outputLatency) */\n    readonly outputLatency: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/close) */\n    close(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaElementSource) */\n    createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamDestination) */\n    createMediaStreamDestination(): MediaStreamAudioDestinationNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamSource) */\n    createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/getOutputTimestamp) */\n    getOutputTimestamp(): AudioTimestamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/resume) */\n    resume(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/suspend) */\n    suspend(): Promise<void>;\n    addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioContext: {\n    prototype: AudioContext;\n    new(contextOptions?: AudioContextOptions): AudioContext;\n};\n\n/**\n * AudioDestinationNode has no output (as it is the output, no more AudioNode can be linked after it in the audio graph) and one input. The number of channels in the input must be between 0 and the maxChannelCount value or an exception is raised.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioDestinationNode)\n */\ninterface AudioDestinationNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioDestinationNode/maxChannelCount) */\n    readonly maxChannelCount: number;\n}\n\ndeclare var AudioDestinationNode: {\n    prototype: AudioDestinationNode;\n    new(): AudioDestinationNode;\n};\n\n/**\n * The position and orientation of the unique person listening to the audio scene, and is used in audio spatialization. All PannerNodes spatialize in relation to the AudioListener stored in the BaseAudioContext.listener attribute.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener)\n */\ninterface AudioListener {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/forwardX) */\n    readonly forwardX: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/forwardY) */\n    readonly forwardY: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/forwardZ) */\n    readonly forwardZ: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/positionX) */\n    readonly positionX: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/positionY) */\n    readonly positionY: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/positionZ) */\n    readonly positionZ: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/upX) */\n    readonly upX: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/upY) */\n    readonly upY: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/upZ) */\n    readonly upZ: AudioParam;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/setOrientation)\n     */\n    setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/setPosition)\n     */\n    setPosition(x: number, y: number, z: number): void;\n}\n\ndeclare var AudioListener: {\n    prototype: AudioListener;\n    new(): AudioListener;\n};\n\n/**\n * A generic interface for representing an audio processing module. Examples include:\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode)\n */\ninterface AudioNode extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/channelCount) */\n    channelCount: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/channelCountMode) */\n    channelCountMode: ChannelCountMode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/channelInterpretation) */\n    channelInterpretation: ChannelInterpretation;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/context) */\n    readonly context: BaseAudioContext;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/numberOfInputs) */\n    readonly numberOfInputs: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/numberOfOutputs) */\n    readonly numberOfOutputs: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/connect) */\n    connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode;\n    connect(destinationParam: AudioParam, output?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect) */\n    disconnect(): void;\n    disconnect(output: number): void;\n    disconnect(destinationNode: AudioNode): void;\n    disconnect(destinationNode: AudioNode, output: number): void;\n    disconnect(destinationNode: AudioNode, output: number, input: number): void;\n    disconnect(destinationParam: AudioParam): void;\n    disconnect(destinationParam: AudioParam, output: number): void;\n}\n\ndeclare var AudioNode: {\n    prototype: AudioNode;\n    new(): AudioNode;\n};\n\n/**\n * The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam)\n */\ninterface AudioParam {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/automationRate) */\n    automationRate: AutomationRate;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/defaultValue) */\n    readonly defaultValue: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/maxValue) */\n    readonly maxValue: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/minValue) */\n    readonly minValue: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/value) */\n    value: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/cancelAndHoldAtTime) */\n    cancelAndHoldAtTime(cancelTime: number): AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/cancelScheduledValues) */\n    cancelScheduledValues(cancelTime: number): AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/exponentialRampToValueAtTime) */\n    exponentialRampToValueAtTime(value: number, endTime: number): AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/linearRampToValueAtTime) */\n    linearRampToValueAtTime(value: number, endTime: number): AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setTargetAtTime) */\n    setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueAtTime) */\n    setValueAtTime(value: number, startTime: number): AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueCurveAtTime) */\n    setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam;\n}\n\ndeclare var AudioParam: {\n    prototype: AudioParam;\n    new(): AudioParam;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParamMap) */\ninterface AudioParamMap {\n    forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void;\n}\n\ndeclare var AudioParamMap: {\n    prototype: AudioParamMap;\n    new(): AudioParamMap;\n};\n\n/**\n * The Web Audio API events that occur when a ScriptProcessorNode input buffer is ready to be processed.\n * @deprecated As of the August 29 2014 Web Audio API spec publication, this feature has been marked as deprecated, and is soon to be replaced by AudioWorklet.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent)\n */\ninterface AudioProcessingEvent extends Event {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent/inputBuffer)\n     */\n    readonly inputBuffer: AudioBuffer;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent/outputBuffer)\n     */\n    readonly outputBuffer: AudioBuffer;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent/playbackTime)\n     */\n    readonly playbackTime: number;\n}\n\n/** @deprecated */\ndeclare var AudioProcessingEvent: {\n    prototype: AudioProcessingEvent;\n    new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent;\n};\n\ninterface AudioScheduledSourceNodeEventMap {\n    \"ended\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode) */\ninterface AudioScheduledSourceNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/ended_event) */\n    onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/start) */\n    start(when?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/stop) */\n    stop(when?: number): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioScheduledSourceNode: {\n    prototype: AudioScheduledSourceNode;\n    new(): AudioScheduledSourceNode;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioWorklet)\n */\ninterface AudioWorklet extends Worklet {\n}\n\ndeclare var AudioWorklet: {\n    prototype: AudioWorklet;\n    new(): AudioWorklet;\n};\n\ninterface AudioWorkletNodeEventMap {\n    \"processorerror\": Event;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode)\n */\ninterface AudioWorkletNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode/processorerror_event) */\n    onprocessorerror: ((this: AudioWorkletNode, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode/parameters) */\n    readonly parameters: AudioParamMap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode/port) */\n    readonly port: MessagePort;\n    addEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioWorkletNode: {\n    prototype: AudioWorkletNode;\n    new(context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAssertionResponse)\n */\ninterface AuthenticatorAssertionResponse extends AuthenticatorResponse {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAssertionResponse/authenticatorData) */\n    readonly authenticatorData: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAssertionResponse/signature) */\n    readonly signature: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAssertionResponse/userHandle) */\n    readonly userHandle: ArrayBuffer | null;\n}\n\ndeclare var AuthenticatorAssertionResponse: {\n    prototype: AuthenticatorAssertionResponse;\n    new(): AuthenticatorAssertionResponse;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse)\n */\ninterface AuthenticatorAttestationResponse extends AuthenticatorResponse {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/attestationObject) */\n    readonly attestationObject: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/getAuthenticatorData) */\n    getAuthenticatorData(): ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/getPublicKey) */\n    getPublicKey(): ArrayBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/getPublicKeyAlgorithm) */\n    getPublicKeyAlgorithm(): COSEAlgorithmIdentifier;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/getTransports) */\n    getTransports(): string[];\n}\n\ndeclare var AuthenticatorAttestationResponse: {\n    prototype: AuthenticatorAttestationResponse;\n    new(): AuthenticatorAttestationResponse;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorResponse)\n */\ninterface AuthenticatorResponse {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorResponse/clientDataJSON) */\n    readonly clientDataJSON: ArrayBuffer;\n}\n\ndeclare var AuthenticatorResponse: {\n    prototype: AuthenticatorResponse;\n    new(): AuthenticatorResponse;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BarProp) */\ninterface BarProp {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BarProp/visible) */\n    readonly visible: boolean;\n}\n\ndeclare var BarProp: {\n    prototype: BarProp;\n    new(): BarProp;\n};\n\ninterface BaseAudioContextEventMap {\n    \"statechange\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext) */\ninterface BaseAudioContext extends EventTarget {\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/audioWorklet)\n     */\n    readonly audioWorklet: AudioWorklet;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/currentTime) */\n    readonly currentTime: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/destination) */\n    readonly destination: AudioDestinationNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/listener) */\n    readonly listener: AudioListener;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/statechange_event) */\n    onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/sampleRate) */\n    readonly sampleRate: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/state) */\n    readonly state: AudioContextState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createAnalyser) */\n    createAnalyser(): AnalyserNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBiquadFilter) */\n    createBiquadFilter(): BiquadFilterNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBuffer) */\n    createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBufferSource) */\n    createBufferSource(): AudioBufferSourceNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelMerger) */\n    createChannelMerger(numberOfInputs?: number): ChannelMergerNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelSplitter) */\n    createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConstantSource) */\n    createConstantSource(): ConstantSourceNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConvolver) */\n    createConvolver(): ConvolverNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDelay) */\n    createDelay(maxDelayTime?: number): DelayNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDynamicsCompressor) */\n    createDynamicsCompressor(): DynamicsCompressorNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createGain) */\n    createGain(): GainNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter) */\n    createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createOscillator) */\n    createOscillator(): OscillatorNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPanner) */\n    createPanner(): PannerNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave) */\n    createPeriodicWave(real: number[] | Float32Array, imag: number[] | Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createScriptProcessor)\n     */\n    createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createStereoPanner) */\n    createStereoPanner(): StereoPannerNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createWaveShaper) */\n    createWaveShaper(): WaveShaperNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/decodeAudioData) */\n    decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback | null, errorCallback?: DecodeErrorCallback | null): Promise<AudioBuffer>;\n    addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var BaseAudioContext: {\n    prototype: BaseAudioContext;\n    new(): BaseAudioContext;\n};\n\n/**\n * The beforeunload event is fired when the window, the document and its resources are about to be unloaded.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BeforeUnloadEvent)\n */\ninterface BeforeUnloadEvent extends Event {\n    /** @deprecated */\n    returnValue: any;\n}\n\ndeclare var BeforeUnloadEvent: {\n    prototype: BeforeUnloadEvent;\n    new(): BeforeUnloadEvent;\n};\n\n/**\n * A simple low-order filter, and is created using the AudioContext.createBiquadFilter() method. It is an AudioNode that can represent different kinds of filters, tone control devices, and graphic equalizers.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode)\n */\ninterface BiquadFilterNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode/Q) */\n    readonly Q: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode/detune) */\n    readonly detune: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode/frequency) */\n    readonly frequency: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode/gain) */\n    readonly gain: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode/type) */\n    type: BiquadFilterType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode/getFrequencyResponse) */\n    getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;\n}\n\ndeclare var BiquadFilterNode: {\n    prototype: BiquadFilterNode;\n    new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode;\n};\n\n/**\n * A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob)\n */\ninterface Blob {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/size) */\n    readonly size: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/type) */\n    readonly type: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/arrayBuffer) */\n    arrayBuffer(): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/slice) */\n    slice(start?: number, end?: number, contentType?: string): Blob;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/stream) */\n    stream(): ReadableStream<Uint8Array>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/text) */\n    text(): Promise<string>;\n}\n\ndeclare var Blob: {\n    prototype: Blob;\n    new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BlobEvent) */\ninterface BlobEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BlobEvent/data) */\n    readonly data: Blob;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BlobEvent/timecode) */\n    readonly timecode: DOMHighResTimeStamp;\n}\n\ndeclare var BlobEvent: {\n    prototype: BlobEvent;\n    new(type: string, eventInitDict: BlobEventInit): BlobEvent;\n};\n\ninterface Body {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/body) */\n    readonly body: ReadableStream<Uint8Array> | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/bodyUsed) */\n    readonly bodyUsed: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/arrayBuffer) */\n    arrayBuffer(): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/blob) */\n    blob(): Promise<Blob>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/formData) */\n    formData(): Promise<FormData>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/json) */\n    json(): Promise<any>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/text) */\n    text(): Promise<string>;\n}\n\ninterface BroadcastChannelEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel) */\ninterface BroadcastChannel extends EventTarget {\n    /**\n     * Returns the channel name (as passed to the constructor).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/name)\n     */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/message_event) */\n    onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/messageerror_event) */\n    onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;\n    /**\n     * Closes the BroadcastChannel object, opening it up to garbage collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/close)\n     */\n    close(): void;\n    /**\n     * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/postMessage)\n     */\n    postMessage(message: any): void;\n    addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var BroadcastChannel: {\n    prototype: BroadcastChannel;\n    new(name: string): BroadcastChannel;\n};\n\n/**\n * This Streams API interface provides\\xA0a built-in byte length queuing strategy that can be used when constructing streams.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ByteLengthQueuingStrategy)\n */\ninterface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ByteLengthQueuingStrategy/highWaterMark) */\n    readonly highWaterMark: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ByteLengthQueuingStrategy/size) */\n    readonly size: QueuingStrategySize<ArrayBufferView>;\n}\n\ndeclare var ByteLengthQueuingStrategy: {\n    prototype: ByteLengthQueuingStrategy;\n    new(init: QueuingStrategyInit): ByteLengthQueuingStrategy;\n};\n\n/**\n * A CDATA section that can be used within XML to include extended portions of unescaped text. The symbols < and & don\\u2019t need escaping as they normally do when inside a CDATA section.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CDATASection)\n */\ninterface CDATASection extends Text {\n}\n\ndeclare var CDATASection: {\n    prototype: CDATASection;\n    new(): CDATASection;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSAnimation) */\ninterface CSSAnimation extends Animation {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSAnimation/animationName) */\n    readonly animationName: string;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSAnimation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSAnimation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var CSSAnimation: {\n    prototype: CSSAnimation;\n    new(): CSSAnimation;\n};\n\n/**\n * A single condition CSS at-rule, which consists of a condition and a statement block. It is a child of CSSGroupingRule.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSConditionRule)\n */\ninterface CSSConditionRule extends CSSGroupingRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSConditionRule/conditionText) */\n    readonly conditionText: string;\n}\n\ndeclare var CSSConditionRule: {\n    prototype: CSSConditionRule;\n    new(): CSSConditionRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSContainerRule) */\ninterface CSSContainerRule extends CSSConditionRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSContainerRule/containerName) */\n    readonly containerName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSContainerRule/containerQuery) */\n    readonly containerQuery: string;\n}\n\ndeclare var CSSContainerRule: {\n    prototype: CSSContainerRule;\n    new(): CSSContainerRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule) */\ninterface CSSCounterStyleRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/additiveSymbols) */\n    additiveSymbols: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/fallback) */\n    fallback: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/name) */\n    name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/negative) */\n    negative: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/pad) */\n    pad: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/prefix) */\n    prefix: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/range) */\n    range: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/speakAs) */\n    speakAs: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/suffix) */\n    suffix: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/symbols) */\n    symbols: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSCounterStyleRule/system) */\n    system: string;\n}\n\ndeclare var CSSCounterStyleRule: {\n    prototype: CSSCounterStyleRule;\n    new(): CSSCounterStyleRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontFaceRule) */\ninterface CSSFontFaceRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontFaceRule/style) */\n    readonly style: CSSStyleDeclaration;\n}\n\ndeclare var CSSFontFaceRule: {\n    prototype: CSSFontFaceRule;\n    new(): CSSFontFaceRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontFeatureValuesRule) */\ninterface CSSFontFeatureValuesRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontFeatureValuesRule/fontFamily) */\n    fontFamily: string;\n}\n\ndeclare var CSSFontFeatureValuesRule: {\n    prototype: CSSFontFeatureValuesRule;\n    new(): CSSFontFeatureValuesRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontPaletteValuesRule) */\ninterface CSSFontPaletteValuesRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontPaletteValuesRule/basePalette) */\n    readonly basePalette: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontPaletteValuesRule/fontFamily) */\n    readonly fontFamily: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontPaletteValuesRule/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSFontPaletteValuesRule/overrideColors) */\n    readonly overrideColors: string;\n}\n\ndeclare var CSSFontPaletteValuesRule: {\n    prototype: CSSFontPaletteValuesRule;\n    new(): CSSFontPaletteValuesRule;\n};\n\n/**\n * Any CSS at-rule that contains other rules nested within it.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSGroupingRule)\n */\ninterface CSSGroupingRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSGroupingRule/cssRules) */\n    readonly cssRules: CSSRuleList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSGroupingRule/deleteRule) */\n    deleteRule(index: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSGroupingRule/insertRule) */\n    insertRule(rule: string, index?: number): number;\n}\n\ndeclare var CSSGroupingRule: {\n    prototype: CSSGroupingRule;\n    new(): CSSGroupingRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImageValue) */\ninterface CSSImageValue extends CSSStyleValue {\n}\n\ndeclare var CSSImageValue: {\n    prototype: CSSImageValue;\n    new(): CSSImageValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule) */\ninterface CSSImportRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/href) */\n    readonly href: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/layerName) */\n    readonly layerName: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/media) */\n    readonly media: MediaList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/styleSheet) */\n    readonly styleSheet: CSSStyleSheet | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/supportsText) */\n    readonly supportsText: string | null;\n}\n\ndeclare var CSSImportRule: {\n    prototype: CSSImportRule;\n    new(): CSSImportRule;\n};\n\n/**\n * An object representing a set of style for a given keyframe. It corresponds to the contains of a single keyframe of a @keyframes at-rule. It implements the CSSRule interface with a type value of 8 (CSSRule.KEYFRAME_RULE).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframeRule)\n */\ninterface CSSKeyframeRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframeRule/keyText) */\n    keyText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframeRule/style) */\n    readonly style: CSSStyleDeclaration;\n}\n\ndeclare var CSSKeyframeRule: {\n    prototype: CSSKeyframeRule;\n    new(): CSSKeyframeRule;\n};\n\n/**\n * An object representing a complete set of keyframes for a CSS animation. It corresponds to the contains of a whole @keyframes at-rule. It implements the CSSRule interface with a type value of 7 (CSSRule.KEYFRAMES_RULE).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule)\n */\ninterface CSSKeyframesRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/cssRules) */\n    readonly cssRules: CSSRuleList;\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/name) */\n    name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/appendRule) */\n    appendRule(rule: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/deleteRule) */\n    deleteRule(select: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/findRule) */\n    findRule(select: string): CSSKeyframeRule | null;\n    [index: number]: CSSKeyframeRule;\n}\n\ndeclare var CSSKeyframesRule: {\n    prototype: CSSKeyframesRule;\n    new(): CSSKeyframesRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeywordValue) */\ninterface CSSKeywordValue extends CSSStyleValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeywordValue/value) */\n    value: string;\n}\n\ndeclare var CSSKeywordValue: {\n    prototype: CSSKeywordValue;\n    new(value: string): CSSKeywordValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSLayerBlockRule) */\ninterface CSSLayerBlockRule extends CSSGroupingRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSLayerBlockRule/name) */\n    readonly name: string;\n}\n\ndeclare var CSSLayerBlockRule: {\n    prototype: CSSLayerBlockRule;\n    new(): CSSLayerBlockRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSLayerStatementRule) */\ninterface CSSLayerStatementRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSLayerStatementRule/nameList) */\n    readonly nameList: ReadonlyArray<string>;\n}\n\ndeclare var CSSLayerStatementRule: {\n    prototype: CSSLayerStatementRule;\n    new(): CSSLayerStatementRule;\n};\n\ninterface CSSMathClamp extends CSSMathValue {\n    readonly lower: CSSNumericValue;\n    readonly upper: CSSNumericValue;\n    readonly value: CSSNumericValue;\n}\n\ndeclare var CSSMathClamp: {\n    prototype: CSSMathClamp;\n    new(lower: CSSNumberish, value: CSSNumberish, upper: CSSNumberish): CSSMathClamp;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathInvert) */\ninterface CSSMathInvert extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathInvert/value) */\n    readonly value: CSSNumericValue;\n}\n\ndeclare var CSSMathInvert: {\n    prototype: CSSMathInvert;\n    new(arg: CSSNumberish): CSSMathInvert;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathMax) */\ninterface CSSMathMax extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathMax/values) */\n    readonly values: CSSNumericArray;\n}\n\ndeclare var CSSMathMax: {\n    prototype: CSSMathMax;\n    new(...args: CSSNumberish[]): CSSMathMax;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathMin) */\ninterface CSSMathMin extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathMin/values) */\n    readonly values: CSSNumericArray;\n}\n\ndeclare var CSSMathMin: {\n    prototype: CSSMathMin;\n    new(...args: CSSNumberish[]): CSSMathMin;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathNegate) */\ninterface CSSMathNegate extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathNegate/value) */\n    readonly value: CSSNumericValue;\n}\n\ndeclare var CSSMathNegate: {\n    prototype: CSSMathNegate;\n    new(arg: CSSNumberish): CSSMathNegate;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathProduct) */\ninterface CSSMathProduct extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathProduct/values) */\n    readonly values: CSSNumericArray;\n}\n\ndeclare var CSSMathProduct: {\n    prototype: CSSMathProduct;\n    new(...args: CSSNumberish[]): CSSMathProduct;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathSum) */\ninterface CSSMathSum extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathSum/values) */\n    readonly values: CSSNumericArray;\n}\n\ndeclare var CSSMathSum: {\n    prototype: CSSMathSum;\n    new(...args: CSSNumberish[]): CSSMathSum;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathValue) */\ninterface CSSMathValue extends CSSNumericValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathValue/operator) */\n    readonly operator: CSSMathOperator;\n}\n\ndeclare var CSSMathValue: {\n    prototype: CSSMathValue;\n    new(): CSSMathValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMatrixComponent) */\ninterface CSSMatrixComponent extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMatrixComponent/matrix) */\n    matrix: DOMMatrix;\n}\n\ndeclare var CSSMatrixComponent: {\n    prototype: CSSMatrixComponent;\n    new(matrix: DOMMatrixReadOnly, options?: CSSMatrixComponentOptions): CSSMatrixComponent;\n};\n\n/**\n * A single CSS @media rule. It implements the CSSConditionRule interface, and therefore the CSSGroupingRule and the CSSRule interface with a type value of 4 (CSSRule.MEDIA_RULE).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMediaRule)\n */\ninterface CSSMediaRule extends CSSConditionRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMediaRule/media) */\n    readonly media: MediaList;\n}\n\ndeclare var CSSMediaRule: {\n    prototype: CSSMediaRule;\n    new(): CSSMediaRule;\n};\n\n/**\n * An object representing a single CSS @namespace at-rule. It implements the CSSRule interface, with a type value of 10 (CSSRule.NAMESPACE_RULE).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNamespaceRule)\n */\ninterface CSSNamespaceRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNamespaceRule/namespaceURI) */\n    readonly namespaceURI: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNamespaceRule/prefix) */\n    readonly prefix: string;\n}\n\ndeclare var CSSNamespaceRule: {\n    prototype: CSSNamespaceRule;\n    new(): CSSNamespaceRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericArray) */\ninterface CSSNumericArray {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericArray/length) */\n    readonly length: number;\n    forEach(callbackfn: (value: CSSNumericValue, key: number, parent: CSSNumericArray) => void, thisArg?: any): void;\n    [index: number]: CSSNumericValue;\n}\n\ndeclare var CSSNumericArray: {\n    prototype: CSSNumericArray;\n    new(): CSSNumericArray;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue) */\ninterface CSSNumericValue extends CSSStyleValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/add) */\n    add(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/div) */\n    div(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/equals) */\n    equals(...value: CSSNumberish[]): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/max) */\n    max(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/min) */\n    min(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/mul) */\n    mul(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/sub) */\n    sub(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/to) */\n    to(unit: string): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/toSum) */\n    toSum(...units: string[]): CSSMathSum;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/type) */\n    type(): CSSNumericType;\n}\n\ndeclare var CSSNumericValue: {\n    prototype: CSSNumericValue;\n    new(): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/parse_static) */\n    parse(cssText: string): CSSNumericValue;\n};\n\n/**\n * CSSPageRule is an interface representing a single CSS @page rule. It implements the CSSRule interface with a type value of 6 (CSSRule.PAGE_RULE).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPageRule)\n */\ninterface CSSPageRule extends CSSGroupingRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPageRule/selectorText) */\n    selectorText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPageRule/style) */\n    readonly style: CSSStyleDeclaration;\n}\n\ndeclare var CSSPageRule: {\n    prototype: CSSPageRule;\n    new(): CSSPageRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPerspective) */\ninterface CSSPerspective extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPerspective/length) */\n    length: CSSPerspectiveValue;\n}\n\ndeclare var CSSPerspective: {\n    prototype: CSSPerspective;\n    new(length: CSSPerspectiveValue): CSSPerspective;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule) */\ninterface CSSPropertyRule extends CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule/inherits) */\n    readonly inherits: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule/initialValue) */\n    readonly initialValue: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule/syntax) */\n    readonly syntax: string;\n}\n\ndeclare var CSSPropertyRule: {\n    prototype: CSSPropertyRule;\n    new(): CSSPropertyRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate) */\ninterface CSSRotate extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate/angle) */\n    angle: CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate/x) */\n    x: CSSNumberish;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate/y) */\n    y: CSSNumberish;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate/z) */\n    z: CSSNumberish;\n}\n\ndeclare var CSSRotate: {\n    prototype: CSSRotate;\n    new(angle: CSSNumericValue): CSSRotate;\n    new(x: CSSNumberish, y: CSSNumberish, z: CSSNumberish, angle: CSSNumericValue): CSSRotate;\n};\n\n/**\n * A single CSS rule. There are several types of rules, listed in the Type constants section below.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRule)\n */\ninterface CSSRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRule/cssText) */\n    cssText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRule/parentRule) */\n    readonly parentRule: CSSRule | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRule/parentStyleSheet) */\n    readonly parentStyleSheet: CSSStyleSheet | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRule/type)\n     */\n    readonly type: number;\n    readonly STYLE_RULE: 1;\n    readonly CHARSET_RULE: 2;\n    readonly IMPORT_RULE: 3;\n    readonly MEDIA_RULE: 4;\n    readonly FONT_FACE_RULE: 5;\n    readonly PAGE_RULE: 6;\n    readonly NAMESPACE_RULE: 10;\n    readonly KEYFRAMES_RULE: 7;\n    readonly KEYFRAME_RULE: 8;\n    readonly SUPPORTS_RULE: 12;\n    readonly COUNTER_STYLE_RULE: 11;\n    readonly FONT_FEATURE_VALUES_RULE: 14;\n}\n\ndeclare var CSSRule: {\n    prototype: CSSRule;\n    new(): CSSRule;\n    readonly STYLE_RULE: 1;\n    readonly CHARSET_RULE: 2;\n    readonly IMPORT_RULE: 3;\n    readonly MEDIA_RULE: 4;\n    readonly FONT_FACE_RULE: 5;\n    readonly PAGE_RULE: 6;\n    readonly NAMESPACE_RULE: 10;\n    readonly KEYFRAMES_RULE: 7;\n    readonly KEYFRAME_RULE: 8;\n    readonly SUPPORTS_RULE: 12;\n    readonly COUNTER_STYLE_RULE: 11;\n    readonly FONT_FEATURE_VALUES_RULE: 14;\n};\n\n/**\n * A CSSRuleList is an (indirect-modify only) array-like object containing an ordered collection of CSSRule objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRuleList)\n */\ninterface CSSRuleList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRuleList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRuleList/item) */\n    item(index: number): CSSRule | null;\n    [index: number]: CSSRule;\n}\n\ndeclare var CSSRuleList: {\n    prototype: CSSRuleList;\n    new(): CSSRuleList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScale) */\ninterface CSSScale extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScale/x) */\n    x: CSSNumberish;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScale/y) */\n    y: CSSNumberish;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScale/z) */\n    z: CSSNumberish;\n}\n\ndeclare var CSSScale: {\n    prototype: CSSScale;\n    new(x: CSSNumberish, y: CSSNumberish, z?: CSSNumberish): CSSScale;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkew) */\ninterface CSSSkew extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkew/ax) */\n    ax: CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkew/ay) */\n    ay: CSSNumericValue;\n}\n\ndeclare var CSSSkew: {\n    prototype: CSSSkew;\n    new(ax: CSSNumericValue, ay: CSSNumericValue): CSSSkew;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkewX) */\ninterface CSSSkewX extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkewX/ax) */\n    ax: CSSNumericValue;\n}\n\ndeclare var CSSSkewX: {\n    prototype: CSSSkewX;\n    new(ax: CSSNumericValue): CSSSkewX;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkewY) */\ninterface CSSSkewY extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkewY/ay) */\n    ay: CSSNumericValue;\n}\n\ndeclare var CSSSkewY: {\n    prototype: CSSSkewY;\n    new(ay: CSSNumericValue): CSSSkewY;\n};\n\n/**\n * An object that is a CSS declaration block, and exposes style information and various style-related methods and properties.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration)\n */\ninterface CSSStyleDeclaration {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/accent-color) */\n    accentColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-content) */\n    alignContent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-items) */\n    alignItems: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-self) */\n    alignSelf: string;\n    alignmentBaseline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/all) */\n    all: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation) */\n    animation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-composition) */\n    animationComposition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-delay) */\n    animationDelay: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-direction) */\n    animationDirection: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-duration) */\n    animationDuration: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode) */\n    animationFillMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count) */\n    animationIterationCount: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-name) */\n    animationName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-play-state) */\n    animationPlayState: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-timing-function) */\n    animationTimingFunction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/appearance) */\n    appearance: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/aspect-ratio) */\n    aspectRatio: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/backdrop-filter) */\n    backdropFilter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/backface-visibility) */\n    backfaceVisibility: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background) */\n    background: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-attachment) */\n    backgroundAttachment: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-blend-mode) */\n    backgroundBlendMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-clip) */\n    backgroundClip: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-color) */\n    backgroundColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-image) */\n    backgroundImage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-origin) */\n    backgroundOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-position) */\n    backgroundPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-position-x) */\n    backgroundPositionX: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-position-y) */\n    backgroundPositionY: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-repeat) */\n    backgroundRepeat: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-size) */\n    backgroundSize: string;\n    baselineShift: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/baseline-source) */\n    baselineSource: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/block-size) */\n    blockSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border) */\n    border: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block) */\n    borderBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-color) */\n    borderBlockColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-end) */\n    borderBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-end-color) */\n    borderBlockEndColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-end-style) */\n    borderBlockEndStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-end-width) */\n    borderBlockEndWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-start) */\n    borderBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-start-color) */\n    borderBlockStartColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-start-style) */\n    borderBlockStartStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-start-width) */\n    borderBlockStartWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-style) */\n    borderBlockStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-width) */\n    borderBlockWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom) */\n    borderBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-color) */\n    borderBottomColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius) */\n    borderBottomLeftRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius) */\n    borderBottomRightRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-style) */\n    borderBottomStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-width) */\n    borderBottomWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-collapse) */\n    borderCollapse: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-color) */\n    borderColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius) */\n    borderEndEndRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius) */\n    borderEndStartRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image) */\n    borderImage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-outset) */\n    borderImageOutset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-repeat) */\n    borderImageRepeat: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-slice) */\n    borderImageSlice: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-source) */\n    borderImageSource: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-width) */\n    borderImageWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline) */\n    borderInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-color) */\n    borderInlineColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-end) */\n    borderInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color) */\n    borderInlineEndColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style) */\n    borderInlineEndStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width) */\n    borderInlineEndWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-start) */\n    borderInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color) */\n    borderInlineStartColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style) */\n    borderInlineStartStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width) */\n    borderInlineStartWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-style) */\n    borderInlineStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-width) */\n    borderInlineWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-left) */\n    borderLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-left-color) */\n    borderLeftColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-left-style) */\n    borderLeftStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-left-width) */\n    borderLeftWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-radius) */\n    borderRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-right) */\n    borderRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-right-color) */\n    borderRightColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-right-style) */\n    borderRightStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-right-width) */\n    borderRightWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-spacing) */\n    borderSpacing: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius) */\n    borderStartEndRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius) */\n    borderStartStartRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-style) */\n    borderStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top) */\n    borderTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-color) */\n    borderTopColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius) */\n    borderTopLeftRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius) */\n    borderTopRightRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-style) */\n    borderTopStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-width) */\n    borderTopWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-width) */\n    borderWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/bottom) */\n    bottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-shadow) */\n    boxShadow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-sizing) */\n    boxSizing: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/break-after) */\n    breakAfter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/break-before) */\n    breakBefore: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/break-inside) */\n    breakInside: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/caption-side) */\n    captionSide: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/caret-color) */\n    caretColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/clear) */\n    clear: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/clip)\n     */\n    clip: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/clip-path) */\n    clipPath: string;\n    clipRule: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/color) */\n    color: string;\n    colorInterpolation: string;\n    colorInterpolationFilters: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/color-scheme) */\n    colorScheme: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-count) */\n    columnCount: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-fill) */\n    columnFill: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-gap) */\n    columnGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-rule) */\n    columnRule: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-rule-color) */\n    columnRuleColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-rule-style) */\n    columnRuleStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-rule-width) */\n    columnRuleWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-span) */\n    columnSpan: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-width) */\n    columnWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/columns) */\n    columns: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain) */\n    contain: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-contain-intrinsic-block-size) */\n    containIntrinsicBlockSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-height) */\n    containIntrinsicHeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-contain-intrinsic-inline-size) */\n    containIntrinsicInlineSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-size) */\n    containIntrinsicSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-width) */\n    containIntrinsicWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/container) */\n    container: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/container-name) */\n    containerName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/container-type) */\n    containerType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/content) */\n    content: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/counter-increment) */\n    counterIncrement: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/counter-reset) */\n    counterReset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/counter-set) */\n    counterSet: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/cssFloat) */\n    cssFloat: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/cssText) */\n    cssText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/cursor) */\n    cursor: string;\n    cx: string;\n    cy: string;\n    d: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/direction) */\n    direction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/display) */\n    display: string;\n    dominantBaseline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/empty-cells) */\n    emptyCells: string;\n    fill: string;\n    fillOpacity: string;\n    fillRule: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/filter) */\n    filter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex) */\n    flex: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-basis) */\n    flexBasis: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-direction) */\n    flexDirection: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-flow) */\n    flexFlow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-grow) */\n    flexGrow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-shrink) */\n    flexShrink: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-wrap) */\n    flexWrap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/float) */\n    float: string;\n    floodColor: string;\n    floodOpacity: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font) */\n    font: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-family) */\n    fontFamily: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-feature-settings) */\n    fontFeatureSettings: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-kerning) */\n    fontKerning: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing) */\n    fontOpticalSizing: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-palette) */\n    fontPalette: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-size) */\n    fontSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-size-adjust) */\n    fontSizeAdjust: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-stretch) */\n    fontStretch: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-style) */\n    fontStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-synthesis) */\n    fontSynthesis: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-synthesis-small-caps) */\n    fontSynthesisSmallCaps: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-synthesis-style) */\n    fontSynthesisStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-synthesis-weight) */\n    fontSynthesisWeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant) */\n    fontVariant: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates) */\n    fontVariantAlternates: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-caps) */\n    fontVariantCaps: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian) */\n    fontVariantEastAsian: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures) */\n    fontVariantLigatures: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric) */\n    fontVariantNumeric: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-position) */\n    fontVariantPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variation-settings) */\n    fontVariationSettings: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-weight) */\n    fontWeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/forced-color-adjust) */\n    forcedColorAdjust: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/gap) */\n    gap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid) */\n    grid: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-area) */\n    gridArea: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns) */\n    gridAutoColumns: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow) */\n    gridAutoFlow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows) */\n    gridAutoRows: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-column) */\n    gridColumn: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-column-end) */\n    gridColumnEnd: string;\n    /** @deprecated This is a legacy alias of \\`columnGap\\`. */\n    gridColumnGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-column-start) */\n    gridColumnStart: string;\n    /** @deprecated This is a legacy alias of \\`gap\\`. */\n    gridGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-row) */\n    gridRow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-row-end) */\n    gridRowEnd: string;\n    /** @deprecated This is a legacy alias of \\`rowGap\\`. */\n    gridRowGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-row-start) */\n    gridRowStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-template) */\n    gridTemplate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-template-areas) */\n    gridTemplateAreas: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-template-columns) */\n    gridTemplateColumns: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-template-rows) */\n    gridTemplateRows: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/height) */\n    height: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/hyphenate-character) */\n    hyphenateCharacter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/hyphens) */\n    hyphens: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/image-orientation)\n     */\n    imageOrientation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/image-rendering) */\n    imageRendering: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inline-size) */\n    inlineSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset) */\n    inset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-block) */\n    insetBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-block-end) */\n    insetBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-block-start) */\n    insetBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-inline) */\n    insetInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-inline-end) */\n    insetInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-inline-start) */\n    insetInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/isolation) */\n    isolation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-content) */\n    justifyContent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-items) */\n    justifyItems: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-self) */\n    justifySelf: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/left) */\n    left: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/letter-spacing) */\n    letterSpacing: string;\n    lightingColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/line-break) */\n    lineBreak: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/line-height) */\n    lineHeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/list-style) */\n    listStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/list-style-image) */\n    listStyleImage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/list-style-position) */\n    listStylePosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/list-style-type) */\n    listStyleType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin) */\n    margin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-block) */\n    marginBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-block-end) */\n    marginBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-block-start) */\n    marginBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-bottom) */\n    marginBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-inline) */\n    marginInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-inline-end) */\n    marginInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-inline-start) */\n    marginInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-left) */\n    marginLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-right) */\n    marginRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-top) */\n    marginTop: string;\n    marker: string;\n    markerEnd: string;\n    markerMid: string;\n    markerStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask) */\n    mask: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-clip) */\n    maskClip: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-composite) */\n    maskComposite: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-image) */\n    maskImage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-mode) */\n    maskMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-origin) */\n    maskOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-position) */\n    maskPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-repeat) */\n    maskRepeat: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-size) */\n    maskSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-type) */\n    maskType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/math-depth) */\n    mathDepth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/math-style) */\n    mathStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/max-block-size) */\n    maxBlockSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/max-height) */\n    maxHeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/max-inline-size) */\n    maxInlineSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/max-width) */\n    maxWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/min-block-size) */\n    minBlockSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/min-height) */\n    minHeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/min-inline-size) */\n    minInlineSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/min-width) */\n    minWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode) */\n    mixBlendMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/object-fit) */\n    objectFit: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/object-position) */\n    objectPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset) */\n    offset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-anchor) */\n    offsetAnchor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-distance) */\n    offsetDistance: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-path) */\n    offsetPath: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-position) */\n    offsetPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-rotate) */\n    offsetRotate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/opacity) */\n    opacity: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/order) */\n    order: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/orphans) */\n    orphans: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline) */\n    outline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline-color) */\n    outlineColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline-offset) */\n    outlineOffset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline-style) */\n    outlineStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline-width) */\n    outlineWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow) */\n    overflow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-anchor) */\n    overflowAnchor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin) */\n    overflowClipMargin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-wrap) */\n    overflowWrap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-x) */\n    overflowX: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-y) */\n    overflowY: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior) */\n    overscrollBehavior: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block) */\n    overscrollBehaviorBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline) */\n    overscrollBehaviorInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x) */\n    overscrollBehaviorX: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y) */\n    overscrollBehaviorY: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding) */\n    padding: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-block) */\n    paddingBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-block-end) */\n    paddingBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-block-start) */\n    paddingBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-bottom) */\n    paddingBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-inline) */\n    paddingInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-inline-end) */\n    paddingInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-inline-start) */\n    paddingInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-left) */\n    paddingLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-right) */\n    paddingRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-top) */\n    paddingTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/page) */\n    page: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/page-break-after) */\n    pageBreakAfter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/page-break-before) */\n    pageBreakBefore: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/page-break-inside) */\n    pageBreakInside: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/paint-order) */\n    paintOrder: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/parentRule) */\n    readonly parentRule: CSSRule | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/perspective) */\n    perspective: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/perspective-origin) */\n    perspectiveOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/place-content) */\n    placeContent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/place-items) */\n    placeItems: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/place-self) */\n    placeSelf: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/pointer-events) */\n    pointerEvents: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/position) */\n    position: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/print-color-adjust) */\n    printColorAdjust: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/quotes) */\n    quotes: string;\n    r: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/resize) */\n    resize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/right) */\n    right: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/rotate) */\n    rotate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/row-gap) */\n    rowGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/ruby-position) */\n    rubyPosition: string;\n    rx: string;\n    ry: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scale) */\n    scale: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-behavior) */\n    scrollBehavior: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin) */\n    scrollMargin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block) */\n    scrollMarginBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end) */\n    scrollMarginBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start) */\n    scrollMarginBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom) */\n    scrollMarginBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline) */\n    scrollMarginInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end) */\n    scrollMarginInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start) */\n    scrollMarginInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left) */\n    scrollMarginLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right) */\n    scrollMarginRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top) */\n    scrollMarginTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding) */\n    scrollPadding: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block) */\n    scrollPaddingBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end) */\n    scrollPaddingBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start) */\n    scrollPaddingBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom) */\n    scrollPaddingBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline) */\n    scrollPaddingInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end) */\n    scrollPaddingInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start) */\n    scrollPaddingInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left) */\n    scrollPaddingLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right) */\n    scrollPaddingRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top) */\n    scrollPaddingTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align) */\n    scrollSnapAlign: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop) */\n    scrollSnapStop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type) */\n    scrollSnapType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scrollbar-color) */\n    scrollbarColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter) */\n    scrollbarGutter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scrollbar-width) */\n    scrollbarWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold) */\n    shapeImageThreshold: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/shape-margin) */\n    shapeMargin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/shape-outside) */\n    shapeOutside: string;\n    shapeRendering: string;\n    stopColor: string;\n    stopOpacity: string;\n    stroke: string;\n    strokeDasharray: string;\n    strokeDashoffset: string;\n    strokeLinecap: string;\n    strokeLinejoin: string;\n    strokeMiterlimit: string;\n    strokeOpacity: string;\n    strokeWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/tab-size) */\n    tabSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/table-layout) */\n    tableLayout: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-align) */\n    textAlign: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-align-last) */\n    textAlignLast: string;\n    textAnchor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-combine-upright) */\n    textCombineUpright: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration) */\n    textDecoration: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-color) */\n    textDecorationColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-line) */\n    textDecorationLine: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink) */\n    textDecorationSkipInk: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-style) */\n    textDecorationStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness) */\n    textDecorationThickness: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-emphasis) */\n    textEmphasis: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color) */\n    textEmphasisColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position) */\n    textEmphasisPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style) */\n    textEmphasisStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-indent) */\n    textIndent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-orientation) */\n    textOrientation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-overflow) */\n    textOverflow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-rendering) */\n    textRendering: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-shadow) */\n    textShadow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-transform) */\n    textTransform: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-underline-offset) */\n    textUnderlineOffset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-underline-position) */\n    textUnderlinePosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-wrap) */\n    textWrap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/top) */\n    top: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/touch-action) */\n    touchAction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform) */\n    transform: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-box) */\n    transformBox: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-origin) */\n    transformOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-style) */\n    transformStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition) */\n    transition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-delay) */\n    transitionDelay: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-duration) */\n    transitionDuration: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-property) */\n    transitionProperty: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-timing-function) */\n    transitionTimingFunction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/translate) */\n    translate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/unicode-bidi) */\n    unicodeBidi: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/user-select) */\n    userSelect: string;\n    vectorEffect: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/vertical-align) */\n    verticalAlign: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/visibility) */\n    visibility: string;\n    /**\n     * @deprecated This is a legacy alias of \\`alignContent\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-content)\n     */\n    webkitAlignContent: string;\n    /**\n     * @deprecated This is a legacy alias of \\`alignItems\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-items)\n     */\n    webkitAlignItems: string;\n    /**\n     * @deprecated This is a legacy alias of \\`alignSelf\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-self)\n     */\n    webkitAlignSelf: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animation\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation)\n     */\n    webkitAnimation: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animationDelay\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-delay)\n     */\n    webkitAnimationDelay: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animationDirection\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-direction)\n     */\n    webkitAnimationDirection: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animationDuration\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-duration)\n     */\n    webkitAnimationDuration: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animationFillMode\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode)\n     */\n    webkitAnimationFillMode: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animationIterationCount\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count)\n     */\n    webkitAnimationIterationCount: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animationName\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-name)\n     */\n    webkitAnimationName: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animationPlayState\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-play-state)\n     */\n    webkitAnimationPlayState: string;\n    /**\n     * @deprecated This is a legacy alias of \\`animationTimingFunction\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-timing-function)\n     */\n    webkitAnimationTimingFunction: string;\n    /**\n     * @deprecated This is a legacy alias of \\`appearance\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/appearance)\n     */\n    webkitAppearance: string;\n    /**\n     * @deprecated This is a legacy alias of \\`backfaceVisibility\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/backface-visibility)\n     */\n    webkitBackfaceVisibility: string;\n    /**\n     * @deprecated This is a legacy alias of \\`backgroundClip\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-clip)\n     */\n    webkitBackgroundClip: string;\n    /**\n     * @deprecated This is a legacy alias of \\`backgroundOrigin\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-origin)\n     */\n    webkitBackgroundOrigin: string;\n    /**\n     * @deprecated This is a legacy alias of \\`backgroundSize\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-size)\n     */\n    webkitBackgroundSize: string;\n    /**\n     * @deprecated This is a legacy alias of \\`borderBottomLeftRadius\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius)\n     */\n    webkitBorderBottomLeftRadius: string;\n    /**\n     * @deprecated This is a legacy alias of \\`borderBottomRightRadius\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius)\n     */\n    webkitBorderBottomRightRadius: string;\n    /**\n     * @deprecated This is a legacy alias of \\`borderRadius\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-radius)\n     */\n    webkitBorderRadius: string;\n    /**\n     * @deprecated This is a legacy alias of \\`borderTopLeftRadius\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius)\n     */\n    webkitBorderTopLeftRadius: string;\n    /**\n     * @deprecated This is a legacy alias of \\`borderTopRightRadius\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius)\n     */\n    webkitBorderTopRightRadius: string;\n    /**\n     * @deprecated This is a legacy alias of \\`boxAlign\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-align)\n     */\n    webkitBoxAlign: string;\n    /**\n     * @deprecated This is a legacy alias of \\`boxFlex\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-flex)\n     */\n    webkitBoxFlex: string;\n    /**\n     * @deprecated This is a legacy alias of \\`boxOrdinalGroup\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group)\n     */\n    webkitBoxOrdinalGroup: string;\n    /**\n     * @deprecated This is a legacy alias of \\`boxOrient\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-orient)\n     */\n    webkitBoxOrient: string;\n    /**\n     * @deprecated This is a legacy alias of \\`boxPack\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-pack)\n     */\n    webkitBoxPack: string;\n    /**\n     * @deprecated This is a legacy alias of \\`boxShadow\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-shadow)\n     */\n    webkitBoxShadow: string;\n    /**\n     * @deprecated This is a legacy alias of \\`boxSizing\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-sizing)\n     */\n    webkitBoxSizing: string;\n    /**\n     * @deprecated This is a legacy alias of \\`filter\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/filter)\n     */\n    webkitFilter: string;\n    /**\n     * @deprecated This is a legacy alias of \\`flex\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex)\n     */\n    webkitFlex: string;\n    /**\n     * @deprecated This is a legacy alias of \\`flexBasis\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-basis)\n     */\n    webkitFlexBasis: string;\n    /**\n     * @deprecated This is a legacy alias of \\`flexDirection\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-direction)\n     */\n    webkitFlexDirection: string;\n    /**\n     * @deprecated This is a legacy alias of \\`flexFlow\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-flow)\n     */\n    webkitFlexFlow: string;\n    /**\n     * @deprecated This is a legacy alias of \\`flexGrow\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-grow)\n     */\n    webkitFlexGrow: string;\n    /**\n     * @deprecated This is a legacy alias of \\`flexShrink\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-shrink)\n     */\n    webkitFlexShrink: string;\n    /**\n     * @deprecated This is a legacy alias of \\`flexWrap\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-wrap)\n     */\n    webkitFlexWrap: string;\n    /**\n     * @deprecated This is a legacy alias of \\`justifyContent\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-content)\n     */\n    webkitJustifyContent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp) */\n    webkitLineClamp: string;\n    /**\n     * @deprecated This is a legacy alias of \\`mask\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask)\n     */\n    webkitMask: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskBorder\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border)\n     */\n    webkitMaskBoxImage: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskBorderOutset\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-outset)\n     */\n    webkitMaskBoxImageOutset: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskBorderRepeat\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat)\n     */\n    webkitMaskBoxImageRepeat: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskBorderSlice\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-slice)\n     */\n    webkitMaskBoxImageSlice: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskBorderSource\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-source)\n     */\n    webkitMaskBoxImageSource: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskBorderWidth\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-width)\n     */\n    webkitMaskBoxImageWidth: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskClip\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-clip)\n     */\n    webkitMaskClip: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskComposite\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-composite)\n     */\n    webkitMaskComposite: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskImage\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-image)\n     */\n    webkitMaskImage: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskOrigin\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-origin)\n     */\n    webkitMaskOrigin: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskPosition\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-position)\n     */\n    webkitMaskPosition: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskRepeat\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-repeat)\n     */\n    webkitMaskRepeat: string;\n    /**\n     * @deprecated This is a legacy alias of \\`maskSize\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-size)\n     */\n    webkitMaskSize: string;\n    /**\n     * @deprecated This is a legacy alias of \\`order\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/order)\n     */\n    webkitOrder: string;\n    /**\n     * @deprecated This is a legacy alias of \\`perspective\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/perspective)\n     */\n    webkitPerspective: string;\n    /**\n     * @deprecated This is a legacy alias of \\`perspectiveOrigin\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/perspective-origin)\n     */\n    webkitPerspectiveOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color) */\n    webkitTextFillColor: string;\n    /**\n     * @deprecated This is a legacy alias of \\`textSizeAdjust\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-size-adjust)\n     */\n    webkitTextSizeAdjust: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke) */\n    webkitTextStroke: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color) */\n    webkitTextStrokeColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width) */\n    webkitTextStrokeWidth: string;\n    /**\n     * @deprecated This is a legacy alias of \\`transform\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform)\n     */\n    webkitTransform: string;\n    /**\n     * @deprecated This is a legacy alias of \\`transformOrigin\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-origin)\n     */\n    webkitTransformOrigin: string;\n    /**\n     * @deprecated This is a legacy alias of \\`transformStyle\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-style)\n     */\n    webkitTransformStyle: string;\n    /**\n     * @deprecated This is a legacy alias of \\`transition\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition)\n     */\n    webkitTransition: string;\n    /**\n     * @deprecated This is a legacy alias of \\`transitionDelay\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-delay)\n     */\n    webkitTransitionDelay: string;\n    /**\n     * @deprecated This is a legacy alias of \\`transitionDuration\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-duration)\n     */\n    webkitTransitionDuration: string;\n    /**\n     * @deprecated This is a legacy alias of \\`transitionProperty\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-property)\n     */\n    webkitTransitionProperty: string;\n    /**\n     * @deprecated This is a legacy alias of \\`transitionTimingFunction\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-timing-function)\n     */\n    webkitTransitionTimingFunction: string;\n    /**\n     * @deprecated This is a legacy alias of \\`userSelect\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/user-select)\n     */\n    webkitUserSelect: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/white-space) */\n    whiteSpace: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/widows) */\n    widows: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/width) */\n    width: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/will-change) */\n    willChange: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/word-break) */\n    wordBreak: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/word-spacing) */\n    wordSpacing: string;\n    /** @deprecated */\n    wordWrap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/writing-mode) */\n    writingMode: string;\n    x: string;\n    y: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/z-index) */\n    zIndex: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/getPropertyPriority) */\n    getPropertyPriority(property: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/getPropertyValue) */\n    getPropertyValue(property: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/item) */\n    item(index: number): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/removeProperty) */\n    removeProperty(property: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/setProperty) */\n    setProperty(property: string, value: string | null, priority?: string): void;\n    [index: number]: string;\n}\n\ndeclare var CSSStyleDeclaration: {\n    prototype: CSSStyleDeclaration;\n    new(): CSSStyleDeclaration;\n};\n\n/**\n * CSSStyleRule represents a single CSS style rule. It implements the CSSRule interface with a type value of 1 (CSSRule.STYLE_RULE).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleRule)\n */\ninterface CSSStyleRule extends CSSGroupingRule {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleRule/selectorText) */\n    selectorText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleRule/style) */\n    readonly style: CSSStyleDeclaration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleRule/styleMap) */\n    readonly styleMap: StylePropertyMap;\n}\n\ndeclare var CSSStyleRule: {\n    prototype: CSSStyleRule;\n    new(): CSSStyleRule;\n};\n\n/**\n * A single CSS style sheet. It inherits properties and methods from its parent, StyleSheet.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet)\n */\ninterface CSSStyleSheet extends StyleSheet {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/cssRules) */\n    readonly cssRules: CSSRuleList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/ownerRule) */\n    readonly ownerRule: CSSRule | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/rules)\n     */\n    readonly rules: CSSRuleList;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/addRule)\n     */\n    addRule(selector?: string, style?: string, index?: number): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/deleteRule) */\n    deleteRule(index: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/insertRule) */\n    insertRule(rule: string, index?: number): number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/removeRule)\n     */\n    removeRule(index?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/replace) */\n    replace(text: string): Promise<CSSStyleSheet>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/replaceSync) */\n    replaceSync(text: string): void;\n}\n\ndeclare var CSSStyleSheet: {\n    prototype: CSSStyleSheet;\n    new(options?: CSSStyleSheetInit): CSSStyleSheet;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleValue) */\ninterface CSSStyleValue {\n    toString(): string;\n}\n\ndeclare var CSSStyleValue: {\n    prototype: CSSStyleValue;\n    new(): CSSStyleValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleValue/parse_static) */\n    parse(property: string, cssText: string): CSSStyleValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleValue/parseAll_static) */\n    parseAll(property: string, cssText: string): CSSStyleValue[];\n};\n\n/**\n * An object representing a single CSS @supports at-rule. It implements the CSSConditionRule interface, and therefore the CSSRule and CSSGroupingRule interfaces with a type value of 12 (CSSRule.SUPPORTS_RULE).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSupportsRule)\n */\ninterface CSSSupportsRule extends CSSConditionRule {\n}\n\ndeclare var CSSSupportsRule: {\n    prototype: CSSSupportsRule;\n    new(): CSSSupportsRule;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformComponent) */\ninterface CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformComponent/is2D) */\n    is2D: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformComponent/toMatrix) */\n    toMatrix(): DOMMatrix;\n    toString(): string;\n}\n\ndeclare var CSSTransformComponent: {\n    prototype: CSSTransformComponent;\n    new(): CSSTransformComponent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformValue) */\ninterface CSSTransformValue extends CSSStyleValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformValue/is2D) */\n    readonly is2D: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformValue/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformValue/toMatrix) */\n    toMatrix(): DOMMatrix;\n    forEach(callbackfn: (value: CSSTransformComponent, key: number, parent: CSSTransformValue) => void, thisArg?: any): void;\n    [index: number]: CSSTransformComponent;\n}\n\ndeclare var CSSTransformValue: {\n    prototype: CSSTransformValue;\n    new(transforms: CSSTransformComponent[]): CSSTransformValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransition) */\ninterface CSSTransition extends Animation {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransition/transitionProperty) */\n    readonly transitionProperty: string;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSTransition, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSTransition, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var CSSTransition: {\n    prototype: CSSTransition;\n    new(): CSSTransition;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTranslate) */\ninterface CSSTranslate extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTranslate/x) */\n    x: CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTranslate/y) */\n    y: CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTranslate/z) */\n    z: CSSNumericValue;\n}\n\ndeclare var CSSTranslate: {\n    prototype: CSSTranslate;\n    new(x: CSSNumericValue, y: CSSNumericValue, z?: CSSNumericValue): CSSTranslate;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnitValue) */\ninterface CSSUnitValue extends CSSNumericValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnitValue/unit) */\n    readonly unit: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnitValue/value) */\n    value: number;\n}\n\ndeclare var CSSUnitValue: {\n    prototype: CSSUnitValue;\n    new(value: number, unit: string): CSSUnitValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue) */\ninterface CSSUnparsedValue extends CSSStyleValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/length) */\n    readonly length: number;\n    forEach(callbackfn: (value: CSSUnparsedSegment, key: number, parent: CSSUnparsedValue) => void, thisArg?: any): void;\n    [index: number]: CSSUnparsedSegment;\n}\n\ndeclare var CSSUnparsedValue: {\n    prototype: CSSUnparsedValue;\n    new(members: CSSUnparsedSegment[]): CSSUnparsedValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSVariableReferenceValue) */\ninterface CSSVariableReferenceValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSVariableReferenceValue/fallback) */\n    readonly fallback: CSSUnparsedValue | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSVariableReferenceValue/variable) */\n    variable: string;\n}\n\ndeclare var CSSVariableReferenceValue: {\n    prototype: CSSVariableReferenceValue;\n    new(variable: string, fallback?: CSSUnparsedValue | null): CSSVariableReferenceValue;\n};\n\n/**\n * Provides a storage mechanism for Request / Response object pairs that are cached, for example as part of the ServiceWorker life cycle. Note that the Cache interface is exposed to windowed scopes as well as workers. You don't have to use it in conjunction with service workers, even though it is defined in the service worker spec.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache)\n */\ninterface Cache {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/add) */\n    add(request: RequestInfo | URL): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/addAll) */\n    addAll(requests: RequestInfo[]): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/delete) */\n    delete(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/keys) */\n    keys(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/match) */\n    match(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<Response | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/matchAll) */\n    matchAll(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/put) */\n    put(request: RequestInfo | URL, response: Response): Promise<void>;\n}\n\ndeclare var Cache: {\n    prototype: Cache;\n    new(): Cache;\n};\n\n/**\n * The storage for Cache objects.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage)\n */\ninterface CacheStorage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/delete) */\n    delete(cacheName: string): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/has) */\n    has(cacheName: string): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/keys) */\n    keys(): Promise<string[]>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/match) */\n    match(request: RequestInfo | URL, options?: MultiCacheQueryOptions): Promise<Response | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/open) */\n    open(cacheName: string): Promise<Cache>;\n}\n\ndeclare var CacheStorage: {\n    prototype: CacheStorage;\n    new(): CacheStorage;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasCaptureMediaStreamTrack) */\ninterface CanvasCaptureMediaStreamTrack extends MediaStreamTrack {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasCaptureMediaStreamTrack/canvas) */\n    readonly canvas: HTMLCanvasElement;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasCaptureMediaStreamTrack/requestFrame) */\n    requestFrame(): void;\n    addEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: CanvasCaptureMediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: CanvasCaptureMediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var CanvasCaptureMediaStreamTrack: {\n    prototype: CanvasCaptureMediaStreamTrack;\n    new(): CanvasCaptureMediaStreamTrack;\n};\n\ninterface CanvasCompositing {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/globalAlpha) */\n    globalAlpha: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation) */\n    globalCompositeOperation: GlobalCompositeOperation;\n}\n\ninterface CanvasDrawImage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */\n    drawImage(image: CanvasImageSource, dx: number, dy: number): void;\n    drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;\n    drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;\n}\n\ninterface CanvasDrawPath {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/beginPath) */\n    beginPath(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/clip) */\n    clip(fillRule?: CanvasFillRule): void;\n    clip(path: Path2D, fillRule?: CanvasFillRule): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fill) */\n    fill(fillRule?: CanvasFillRule): void;\n    fill(path: Path2D, fillRule?: CanvasFillRule): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/isPointInPath) */\n    isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;\n    isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/isPointInStroke) */\n    isPointInStroke(x: number, y: number): boolean;\n    isPointInStroke(path: Path2D, x: number, y: number): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/stroke) */\n    stroke(): void;\n    stroke(path: Path2D): void;\n}\n\ninterface CanvasFillStrokeStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fillStyle) */\n    fillStyle: string | CanvasGradient | CanvasPattern;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/strokeStyle) */\n    strokeStyle: string | CanvasGradient | CanvasPattern;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createConicGradient) */\n    createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createLinearGradient) */\n    createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern) */\n    createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createRadialGradient) */\n    createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;\n}\n\ninterface CanvasFilters {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/filter) */\n    filter: string;\n}\n\n/**\n * An opaque object describing a gradient. It is returned by the methods CanvasRenderingContext2D.createLinearGradient() or CanvasRenderingContext2D.createRadialGradient().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasGradient)\n */\ninterface CanvasGradient {\n    /**\n     * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset at one end of the gradient, 1.0 is the offset at the other end.\n     *\n     * Throws an \"IndexSizeError\" DOMException if the offset is out of range. Throws a \"SyntaxError\" DOMException if the color cannot be parsed.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasGradient/addColorStop)\n     */\n    addColorStop(offset: number, color: string): void;\n}\n\ndeclare var CanvasGradient: {\n    prototype: CanvasGradient;\n    new(): CanvasGradient;\n};\n\ninterface CanvasImageData {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createImageData) */\n    createImageData(sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    createImageData(imagedata: ImageData): ImageData;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/getImageData) */\n    getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/putImageData) */\n    putImageData(imagedata: ImageData, dx: number, dy: number): void;\n    putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;\n}\n\ninterface CanvasImageSmoothing {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled) */\n    imageSmoothingEnabled: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality) */\n    imageSmoothingQuality: ImageSmoothingQuality;\n}\n\ninterface CanvasPath {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/arc) */\n    arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/arcTo) */\n    arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/bezierCurveTo) */\n    bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/closePath) */\n    closePath(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/ellipse) */\n    ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineTo) */\n    lineTo(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/moveTo) */\n    moveTo(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/quadraticCurveTo) */\n    quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/rect) */\n    rect(x: number, y: number, w: number, h: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/roundRect) */\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void;\n}\n\ninterface CanvasPathDrawingStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineCap) */\n    lineCap: CanvasLineCap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineDashOffset) */\n    lineDashOffset: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineJoin) */\n    lineJoin: CanvasLineJoin;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineWidth) */\n    lineWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/miterLimit) */\n    miterLimit: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/getLineDash) */\n    getLineDash(): number[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash) */\n    setLineDash(segments: number[]): void;\n}\n\n/**\n * An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasPattern)\n */\ninterface CanvasPattern {\n    /**\n     * Sets the transformation matrix that will be used when rendering the pattern during a fill or stroke painting operation.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasPattern/setTransform)\n     */\n    setTransform(transform?: DOMMatrix2DInit): void;\n}\n\ndeclare var CanvasPattern: {\n    prototype: CanvasPattern;\n    new(): CanvasPattern;\n};\n\ninterface CanvasRect {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/clearRect) */\n    clearRect(x: number, y: number, w: number, h: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fillRect) */\n    fillRect(x: number, y: number, w: number, h: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/strokeRect) */\n    strokeRect(x: number, y: number, w: number, h: number): void;\n}\n\n/**\n * The CanvasRenderingContext2D interface, part of the Canvas API, provides the 2D rendering context for the drawing surface of a <canvas> element. It is used for drawing shapes, text, images, and other objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D)\n */\ninterface CanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform, CanvasUserInterface {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/canvas) */\n    readonly canvas: HTMLCanvasElement;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/getContextAttributes) */\n    getContextAttributes(): CanvasRenderingContext2DSettings;\n}\n\ndeclare var CanvasRenderingContext2D: {\n    prototype: CanvasRenderingContext2D;\n    new(): CanvasRenderingContext2D;\n};\n\ninterface CanvasShadowStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/shadowBlur) */\n    shadowBlur: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/shadowColor) */\n    shadowColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/shadowOffsetX) */\n    shadowOffsetX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/shadowOffsetY) */\n    shadowOffsetY: number;\n}\n\ninterface CanvasState {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/reset) */\n    reset(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/restore) */\n    restore(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/save) */\n    save(): void;\n}\n\ninterface CanvasText {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fillText) */\n    fillText(text: string, x: number, y: number, maxWidth?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/measureText) */\n    measureText(text: string): TextMetrics;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/strokeText) */\n    strokeText(text: string, x: number, y: number, maxWidth?: number): void;\n}\n\ninterface CanvasTextDrawingStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/direction) */\n    direction: CanvasDirection;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/font) */\n    font: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fontKerning) */\n    fontKerning: CanvasFontKerning;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fontStretch) */\n    fontStretch: CanvasFontStretch;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fontVariantCaps) */\n    fontVariantCaps: CanvasFontVariantCaps;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/letterSpacing) */\n    letterSpacing: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/textAlign) */\n    textAlign: CanvasTextAlign;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/textBaseline) */\n    textBaseline: CanvasTextBaseline;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/textRendering) */\n    textRendering: CanvasTextRendering;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/wordSpacing) */\n    wordSpacing: string;\n}\n\ninterface CanvasTransform {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/getTransform) */\n    getTransform(): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/resetTransform) */\n    resetTransform(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/rotate) */\n    rotate(angle: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/scale) */\n    scale(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setTransform) */\n    setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    setTransform(transform?: DOMMatrix2DInit): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/transform) */\n    transform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/translate) */\n    translate(x: number, y: number): void;\n}\n\ninterface CanvasUserInterface {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawFocusIfNeeded) */\n    drawFocusIfNeeded(element: Element): void;\n    drawFocusIfNeeded(path: Path2D, element: Element): void;\n}\n\n/**\n * The ChannelMergerNode interface, often used in conjunction with its opposite, ChannelSplitterNode, reunites different mono inputs into a single output. Each input is used to fill a channel of the output. This is useful for accessing each channels separately, e.g. for performing channel mixing where gain must be separately controlled on each channel.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ChannelMergerNode)\n */\ninterface ChannelMergerNode extends AudioNode {\n}\n\ndeclare var ChannelMergerNode: {\n    prototype: ChannelMergerNode;\n    new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode;\n};\n\n/**\n * The ChannelSplitterNode interface, often used in conjunction with its opposite, ChannelMergerNode, separates the different channels of an audio source into a set of mono outputs. This is useful for accessing each channel separately, e.g. for performing channel mixing where gain must be separately controlled on each channel.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ChannelSplitterNode)\n */\ninterface ChannelSplitterNode extends AudioNode {\n}\n\ndeclare var ChannelSplitterNode: {\n    prototype: ChannelSplitterNode;\n    new(context: BaseAudioContext, options?: ChannelSplitterOptions): ChannelSplitterNode;\n};\n\n/**\n * The CharacterData abstract interface represents a Node object that contains characters. This is an abstract interface, meaning there aren't any object of type CharacterData: it is implemented by other interfaces, like Text, Comment, or ProcessingInstruction which aren't abstract.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData)\n */\ninterface CharacterData extends Node, ChildNode, NonDocumentTypeChildNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/data) */\n    data: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/length) */\n    readonly length: number;\n    readonly ownerDocument: Document;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/appendData) */\n    appendData(data: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/deleteData) */\n    deleteData(offset: number, count: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/insertData) */\n    insertData(offset: number, data: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/replaceData) */\n    replaceData(offset: number, count: number, data: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/substringData) */\n    substringData(offset: number, count: number): string;\n}\n\ndeclare var CharacterData: {\n    prototype: CharacterData;\n    new(): CharacterData;\n};\n\ninterface ChildNode extends Node {\n    /**\n     * Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.\n     *\n     * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/after)\n     */\n    after(...nodes: (Node | string)[]): void;\n    /**\n     * Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.\n     *\n     * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/before)\n     */\n    before(...nodes: (Node | string)[]): void;\n    /**\n     * Removes node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/remove)\n     */\n    remove(): void;\n    /**\n     * Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.\n     *\n     * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/replaceWith)\n     */\n    replaceWith(...nodes: (Node | string)[]): void;\n}\n\n/** @deprecated */\ninterface ClientRect extends DOMRect {\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clipboard)\n */\ninterface Clipboard extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clipboard/read) */\n    read(): Promise<ClipboardItems>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clipboard/readText) */\n    readText(): Promise<string>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clipboard/write) */\n    write(data: ClipboardItems): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clipboard/writeText) */\n    writeText(data: string): Promise<void>;\n}\n\ndeclare var Clipboard: {\n    prototype: Clipboard;\n    new(): Clipboard;\n};\n\n/**\n * Events providing information related to modification of the clipboard, that is cut, copy, and paste events.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardEvent)\n */\ninterface ClipboardEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardEvent/clipboardData) */\n    readonly clipboardData: DataTransfer | null;\n}\n\ndeclare var ClipboardEvent: {\n    prototype: ClipboardEvent;\n    new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardItem)\n */\ninterface ClipboardItem {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardItem/types) */\n    readonly types: ReadonlyArray<string>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardItem/getType) */\n    getType(type: string): Promise<Blob>;\n}\n\ndeclare var ClipboardItem: {\n    prototype: ClipboardItem;\n    new(items: Record<string, string | Blob | PromiseLike<string | Blob>>, options?: ClipboardItemOptions): ClipboardItem;\n};\n\n/**\n * A CloseEvent is sent to clients using WebSockets when the connection is closed. This is delivered to the listener indicated by the WebSocket object's onclose attribute.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CloseEvent)\n */\ninterface CloseEvent extends Event {\n    /**\n     * Returns the WebSocket connection close code provided by the server.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CloseEvent/code)\n     */\n    readonly code: number;\n    /**\n     * Returns the WebSocket connection close reason provided by the server.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CloseEvent/reason)\n     */\n    readonly reason: string;\n    /**\n     * Returns true if the connection closed cleanly; false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CloseEvent/wasClean)\n     */\n    readonly wasClean: boolean;\n}\n\ndeclare var CloseEvent: {\n    prototype: CloseEvent;\n    new(type: string, eventInitDict?: CloseEventInit): CloseEvent;\n};\n\n/**\n * Textual notations within markup; although it is generally not visually shown, such comments are available to be read in the source view.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Comment)\n */\ninterface Comment extends CharacterData {\n}\n\ndeclare var Comment: {\n    prototype: Comment;\n    new(data?: string): Comment;\n};\n\n/**\n * The DOM CompositionEvent represents events that occur due to the user indirectly entering text.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompositionEvent)\n */\ninterface CompositionEvent extends UIEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompositionEvent/data) */\n    readonly data: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompositionEvent/initCompositionEvent)\n     */\n    initCompositionEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: WindowProxy | null, dataArg?: string): void;\n}\n\ndeclare var CompositionEvent: {\n    prototype: CompositionEvent;\n    new(type: string, eventInitDict?: CompositionEventInit): CompositionEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream) */\ninterface CompressionStream extends GenericTransformStream {\n}\n\ndeclare var CompressionStream: {\n    prototype: CompressionStream;\n    new(format: CompressionFormat): CompressionStream;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ConstantSourceNode) */\ninterface ConstantSourceNode extends AudioScheduledSourceNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ConstantSourceNode/offset) */\n    readonly offset: AudioParam;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ConstantSourceNode: {\n    prototype: ConstantSourceNode;\n    new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode;\n};\n\n/**\n * An AudioNode that performs a Linear Convolution on a given AudioBuffer, often used to achieve a reverb effect. A ConvolverNode always has exactly one input and one output.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ConvolverNode)\n */\ninterface ConvolverNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ConvolverNode/buffer) */\n    buffer: AudioBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ConvolverNode/normalize) */\n    normalize: boolean;\n}\n\ndeclare var ConvolverNode: {\n    prototype: ConvolverNode;\n    new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode;\n};\n\n/**\n * This Streams API interface provides\\xA0a built-in byte length queuing strategy that can be used when constructing streams.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CountQueuingStrategy)\n */\ninterface CountQueuingStrategy extends QueuingStrategy {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CountQueuingStrategy/highWaterMark) */\n    readonly highWaterMark: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CountQueuingStrategy/size) */\n    readonly size: QueuingStrategySize;\n}\n\ndeclare var CountQueuingStrategy: {\n    prototype: CountQueuingStrategy;\n    new(init: QueuingStrategyInit): CountQueuingStrategy;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Credential)\n */\ninterface Credential {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Credential/id) */\n    readonly id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Credential/type) */\n    readonly type: string;\n}\n\ndeclare var Credential: {\n    prototype: Credential;\n    new(): Credential;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CredentialsContainer)\n */\ninterface CredentialsContainer {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CredentialsContainer/create) */\n    create(options?: CredentialCreationOptions): Promise<Credential | null>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CredentialsContainer/get) */\n    get(options?: CredentialRequestOptions): Promise<Credential | null>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CredentialsContainer/preventSilentAccess) */\n    preventSilentAccess(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CredentialsContainer/store) */\n    store(credential: Credential): Promise<void>;\n}\n\ndeclare var CredentialsContainer: {\n    prototype: CredentialsContainer;\n    new(): CredentialsContainer;\n};\n\n/**\n * Basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto)\n */\ninterface Crypto {\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/subtle)\n     */\n    readonly subtle: SubtleCrypto;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/getRandomValues) */\n    getRandomValues<T extends ArrayBufferView | null>(array: T): T;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/randomUUID)\n     */\n    randomUUID(): \\`\\${string}-\\${string}-\\${string}-\\${string}-\\${string}\\`;\n}\n\ndeclare var Crypto: {\n    prototype: Crypto;\n    new(): Crypto;\n};\n\n/**\n * The CryptoKey dictionary of the Web Crypto API represents a cryptographic key.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey)\n */\ninterface CryptoKey {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/algorithm) */\n    readonly algorithm: KeyAlgorithm;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/extractable) */\n    readonly extractable: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/type) */\n    readonly type: KeyType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/usages) */\n    readonly usages: KeyUsage[];\n}\n\ndeclare var CryptoKey: {\n    prototype: CryptoKey;\n    new(): CryptoKey;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomElementRegistry) */\ninterface CustomElementRegistry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomElementRegistry/define) */\n    define(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomElementRegistry/get) */\n    get(name: string): CustomElementConstructor | undefined;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomElementRegistry/getName) */\n    getName(constructor: CustomElementConstructor): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomElementRegistry/upgrade) */\n    upgrade(root: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomElementRegistry/whenDefined) */\n    whenDefined(name: string): Promise<CustomElementConstructor>;\n}\n\ndeclare var CustomElementRegistry: {\n    prototype: CustomElementRegistry;\n    new(): CustomElementRegistry;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent) */\ninterface CustomEvent<T = any> extends Event {\n    /**\n     * Returns any custom data event was created with. Typically used for synthetic events.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent/detail)\n     */\n    readonly detail: T;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent/initCustomEvent)\n     */\n    initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: T): void;\n}\n\ndeclare var CustomEvent: {\n    prototype: CustomEvent;\n    new<T>(type: string, eventInitDict?: CustomEventInit<T>): CustomEvent<T>;\n};\n\n/**\n * An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException)\n */\ninterface DOMException extends Error {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/code)\n     */\n    readonly code: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/message) */\n    readonly message: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/name) */\n    readonly name: string;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n}\n\ndeclare var DOMException: {\n    prototype: DOMException;\n    new(message?: string, name?: string): DOMException;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n};\n\n/**\n * An object providing methods which are not dependent on any particular document. Such an object is returned by the Document.implementation property.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMImplementation)\n */\ninterface DOMImplementation {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMImplementation/createDocument) */\n    createDocument(namespace: string | null, qualifiedName: string | null, doctype?: DocumentType | null): XMLDocument;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMImplementation/createDocumentType) */\n    createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMImplementation/createHTMLDocument) */\n    createHTMLDocument(title?: string): Document;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMImplementation/hasFeature)\n     */\n    hasFeature(...args: any[]): true;\n}\n\ndeclare var DOMImplementation: {\n    prototype: DOMImplementation;\n    new(): DOMImplementation;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix) */\ninterface DOMMatrix extends DOMMatrixReadOnly {\n    a: number;\n    b: number;\n    c: number;\n    d: number;\n    e: number;\n    f: number;\n    m11: number;\n    m12: number;\n    m13: number;\n    m14: number;\n    m21: number;\n    m22: number;\n    m23: number;\n    m24: number;\n    m31: number;\n    m32: number;\n    m33: number;\n    m34: number;\n    m41: number;\n    m42: number;\n    m43: number;\n    m44: number;\n    invertSelf(): DOMMatrix;\n    multiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    preMultiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    rotateFromVectorSelf(x?: number, y?: number): DOMMatrix;\n    rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/scale3dSelf) */\n    scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/scaleSelf) */\n    scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    setMatrixValue(transformList: string): DOMMatrix;\n    skewXSelf(sx?: number): DOMMatrix;\n    skewYSelf(sy?: number): DOMMatrix;\n    translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\n\ndeclare var DOMMatrix: {\n    prototype: DOMMatrix;\n    new(init?: string | number[]): DOMMatrix;\n    fromFloat32Array(array32: Float32Array): DOMMatrix;\n    fromFloat64Array(array64: Float64Array): DOMMatrix;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrix;\n};\n\ntype SVGMatrix = DOMMatrix;\ndeclare var SVGMatrix: typeof DOMMatrix;\n\ntype WebKitCSSMatrix = DOMMatrix;\ndeclare var WebKitCSSMatrix: typeof DOMMatrix;\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly) */\ninterface DOMMatrixReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/a) */\n    readonly a: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/b) */\n    readonly b: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/c) */\n    readonly c: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/d) */\n    readonly d: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/e) */\n    readonly e: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/f) */\n    readonly f: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/is2D) */\n    readonly is2D: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/isIdentity) */\n    readonly isIdentity: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m11) */\n    readonly m11: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m12) */\n    readonly m12: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m13) */\n    readonly m13: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m14) */\n    readonly m14: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m21) */\n    readonly m21: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m22) */\n    readonly m22: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m23) */\n    readonly m23: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m24) */\n    readonly m24: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m31) */\n    readonly m31: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m32) */\n    readonly m32: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m33) */\n    readonly m33: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m34) */\n    readonly m34: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m41) */\n    readonly m41: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m42) */\n    readonly m42: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m43) */\n    readonly m43: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m44) */\n    readonly m44: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipX) */\n    flipX(): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipY) */\n    flipY(): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/inverse) */\n    inverse(): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/multiply) */\n    multiply(other?: DOMMatrixInit): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotate) */\n    rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotateAxisAngle) */\n    rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotateFromVector) */\n    rotateFromVector(x?: number, y?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale) */\n    scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale3d) */\n    scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scaleNonUniform)\n     */\n    scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/skewX) */\n    skewX(sx?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/skewY) */\n    skewY(sy?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat32Array) */\n    toFloat32Array(): Float32Array;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat64Array) */\n    toFloat64Array(): Float64Array;\n    toJSON(): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/transformPoint) */\n    transformPoint(point?: DOMPointInit): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/translate) */\n    translate(tx?: number, ty?: number, tz?: number): DOMMatrix;\n    toString(): string;\n}\n\ndeclare var DOMMatrixReadOnly: {\n    prototype: DOMMatrixReadOnly;\n    new(init?: string | number[]): DOMMatrixReadOnly;\n    fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly;\n    fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly;\n};\n\n/**\n * Provides the ability to parse XML or HTML source code from a string into a DOM Document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMParser)\n */\ninterface DOMParser {\n    /**\n     * Parses string using either the HTML or XML parser, according to type, and returns the resulting Document. type can be \"text/html\" (which will invoke the HTML parser), or any of \"text/xml\", \"application/xml\", \"application/xhtml+xml\", or \"image/svg+xml\" (which will invoke the XML parser).\n     *\n     * For the XML parser, if string cannot be parsed, then the returned Document will contain elements describing the resulting error.\n     *\n     * Note that script elements are not evaluated during parsing, and the resulting document's encoding will always be UTF-8.\n     *\n     * Values other than the above for type will cause a TypeError exception to be thrown.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMParser/parseFromString)\n     */\n    parseFromString(string: string, type: DOMParserSupportedType): Document;\n}\n\ndeclare var DOMParser: {\n    prototype: DOMParser;\n    new(): DOMParser;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint) */\ninterface DOMPoint extends DOMPointReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/w) */\n    w: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/x) */\n    x: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/y) */\n    y: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/z) */\n    z: number;\n}\n\ndeclare var DOMPoint: {\n    prototype: DOMPoint;\n    new(x?: number, y?: number, z?: number, w?: number): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/fromPoint_static) */\n    fromPoint(other?: DOMPointInit): DOMPoint;\n};\n\ntype SVGPoint = DOMPoint;\ndeclare var SVGPoint: typeof DOMPoint;\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly) */\ninterface DOMPointReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/w) */\n    readonly w: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/x) */\n    readonly x: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/y) */\n    readonly y: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/z) */\n    readonly z: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/matrixTransform) */\n    matrixTransform(matrix?: DOMMatrixInit): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var DOMPointReadOnly: {\n    prototype: DOMPointReadOnly;\n    new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/fromPoint_static) */\n    fromPoint(other?: DOMPointInit): DOMPointReadOnly;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad) */\ninterface DOMQuad {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p1) */\n    readonly p1: DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p2) */\n    readonly p2: DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p3) */\n    readonly p3: DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p4) */\n    readonly p4: DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/getBounds) */\n    getBounds(): DOMRect;\n    toJSON(): any;\n}\n\ndeclare var DOMQuad: {\n    prototype: DOMQuad;\n    new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad;\n    fromQuad(other?: DOMQuadInit): DOMQuad;\n    fromRect(other?: DOMRectInit): DOMQuad;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect) */\ninterface DOMRect extends DOMRectReadOnly {\n    height: number;\n    width: number;\n    x: number;\n    y: number;\n}\n\ndeclare var DOMRect: {\n    prototype: DOMRect;\n    new(x?: number, y?: number, width?: number, height?: number): DOMRect;\n    fromRect(other?: DOMRectInit): DOMRect;\n};\n\ntype SVGRect = DOMRect;\ndeclare var SVGRect: typeof DOMRect;\n\ninterface DOMRectList {\n    readonly length: number;\n    item(index: number): DOMRect | null;\n    [index: number]: DOMRect;\n}\n\ndeclare var DOMRectList: {\n    prototype: DOMRectList;\n    new(): DOMRectList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly) */\ninterface DOMRectReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/bottom) */\n    readonly bottom: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/height) */\n    readonly height: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/left) */\n    readonly left: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/right) */\n    readonly right: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/top) */\n    readonly top: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/width) */\n    readonly width: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/x) */\n    readonly x: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/y) */\n    readonly y: number;\n    toJSON(): any;\n}\n\ndeclare var DOMRectReadOnly: {\n    prototype: DOMRectReadOnly;\n    new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/fromRect_static) */\n    fromRect(other?: DOMRectInit): DOMRectReadOnly;\n};\n\n/**\n * A type returned by some APIs which contains a list of DOMString (strings).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList)\n */\ninterface DOMStringList {\n    /**\n     * Returns the number of strings in strings.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/length)\n     */\n    readonly length: number;\n    /**\n     * Returns true if strings contains string, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/contains)\n     */\n    contains(string: string): boolean;\n    /**\n     * Returns the string with index index from strings.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/item)\n     */\n    item(index: number): string | null;\n    [index: number]: string;\n}\n\ndeclare var DOMStringList: {\n    prototype: DOMStringList;\n    new(): DOMStringList;\n};\n\n/**\n * Used by the dataset\\xA0HTML\\xA0attribute to represent data for custom attributes added to elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)\n */\ninterface DOMStringMap {\n    [name: string]: string | undefined;\n}\n\ndeclare var DOMStringMap: {\n    prototype: DOMStringMap;\n    new(): DOMStringMap;\n};\n\n/**\n * A set of space-separated tokens. Such a set is returned by Element.classList, HTMLLinkElement.relList, HTMLAnchorElement.relList, HTMLAreaElement.relList, HTMLIframeElement.sandbox, or HTMLOutputElement.htmlFor. It is indexed beginning with 0 as with JavaScript Array objects. DOMTokenList is always case-sensitive.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList)\n */\ninterface DOMTokenList {\n    /**\n     * Returns the number of tokens.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/length)\n     */\n    readonly length: number;\n    /**\n     * Returns the associated set as string.\n     *\n     * Can be set, to change the associated attribute.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/value)\n     */\n    value: string;\n    toString(): string;\n    /**\n     * Adds all arguments passed, except those already present.\n     *\n     * Throws a \"SyntaxError\" DOMException if one of the arguments is the empty string.\n     *\n     * Throws an \"InvalidCharacterError\" DOMException if one of the arguments contains any ASCII whitespace.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/add)\n     */\n    add(...tokens: string[]): void;\n    /**\n     * Returns true if token is present, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/contains)\n     */\n    contains(token: string): boolean;\n    /**\n     * Returns the token with index index.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/item)\n     */\n    item(index: number): string | null;\n    /**\n     * Removes arguments passed, if they are present.\n     *\n     * Throws a \"SyntaxError\" DOMException if one of the arguments is the empty string.\n     *\n     * Throws an \"InvalidCharacterError\" DOMException if one of the arguments contains any ASCII whitespace.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/remove)\n     */\n    remove(...tokens: string[]): void;\n    /**\n     * Replaces token with newToken.\n     *\n     * Returns true if token was replaced with newToken, and false otherwise.\n     *\n     * Throws a \"SyntaxError\" DOMException if one of the arguments is the empty string.\n     *\n     * Throws an \"InvalidCharacterError\" DOMException if one of the arguments contains any ASCII whitespace.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/replace)\n     */\n    replace(token: string, newToken: string): boolean;\n    /**\n     * Returns true if token is in the associated attribute's supported tokens. Returns false otherwise.\n     *\n     * Throws a TypeError if the associated attribute has no supported tokens defined.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/supports)\n     */\n    supports(token: string): boolean;\n    /**\n     * If force is not given, \"toggles\" token, removing it if it's present and adding it if it's not present. If force is true, adds token (same as add()). If force is false, removes token (same as remove()).\n     *\n     * Returns true if token is now present, and false otherwise.\n     *\n     * Throws a \"SyntaxError\" DOMException if token is empty.\n     *\n     * Throws an \"InvalidCharacterError\" DOMException if token contains any spaces.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMTokenList/toggle)\n     */\n    toggle(token: string, force?: boolean): boolean;\n    forEach(callbackfn: (value: string, key: number, parent: DOMTokenList) => void, thisArg?: any): void;\n    [index: number]: string;\n}\n\ndeclare var DOMTokenList: {\n    prototype: DOMTokenList;\n    new(): DOMTokenList;\n};\n\n/**\n * Used to hold the data that is being dragged during a drag and drop operation. It may hold one or more data items, each of one or more data types. For more information about drag and drop, see HTML Drag and Drop API.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer)\n */\ninterface DataTransfer {\n    /**\n     * Returns the kind of operation that is currently selected. If the kind of operation isn't one of those that is allowed by the effectAllowed attribute, then the operation will fail.\n     *\n     * Can be set, to change the selected operation.\n     *\n     * The possible values are \"none\", \"copy\", \"link\", and \"move\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/dropEffect)\n     */\n    dropEffect: \"none\" | \"copy\" | \"link\" | \"move\";\n    /**\n     * Returns the kinds of operations that are to be allowed.\n     *\n     * Can be set (during the dragstart event), to change the allowed operations.\n     *\n     * The possible values are \"none\", \"copy\", \"copyLink\", \"copyMove\", \"link\", \"linkMove\", \"move\", \"all\", and \"uninitialized\",\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/effectAllowed)\n     */\n    effectAllowed: \"none\" | \"copy\" | \"copyLink\" | \"copyMove\" | \"link\" | \"linkMove\" | \"move\" | \"all\" | \"uninitialized\";\n    /**\n     * Returns a FileList of the files being dragged, if any.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/files)\n     */\n    readonly files: FileList;\n    /**\n     * Returns a DataTransferItemList object, with the drag data.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/items)\n     */\n    readonly items: DataTransferItemList;\n    /**\n     * Returns a frozen array listing the formats that were set in the dragstart event. In addition, if any files are being dragged, then one of the types will be the string \"Files\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/types)\n     */\n    readonly types: ReadonlyArray<string>;\n    /**\n     * Removes the data of the specified formats. Removes all data if the argument is omitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/clearData)\n     */\n    clearData(format?: string): void;\n    /**\n     * Returns the specified data. If there is no such data, returns the empty string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/getData)\n     */\n    getData(format: string): string;\n    /**\n     * Adds the specified data.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/setData)\n     */\n    setData(format: string, data: string): void;\n    /**\n     * Uses the given element to update the drag feedback, replacing any previously specified feedback.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransfer/setDragImage)\n     */\n    setDragImage(image: Element, x: number, y: number): void;\n}\n\ndeclare var DataTransfer: {\n    prototype: DataTransfer;\n    new(): DataTransfer;\n};\n\n/**\n * One drag data item. During a drag operation, each drag event has a dataTransfer property which contains a list of drag data items. Each item in the list is a DataTransferItem object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem)\n */\ninterface DataTransferItem {\n    /**\n     * Returns the drag data item kind, one of: \"string\", \"file\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/kind)\n     */\n    readonly kind: string;\n    /**\n     * Returns the drag data item type string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/type)\n     */\n    readonly type: string;\n    /**\n     * Returns a File object, if the drag data item kind is File.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/getAsFile)\n     */\n    getAsFile(): File | null;\n    /**\n     * Invokes the callback with the string data as the argument, if the drag data item kind is text.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/getAsString)\n     */\n    getAsString(callback: FunctionStringCallback | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/webkitGetAsEntry) */\n    webkitGetAsEntry(): FileSystemEntry | null;\n}\n\ndeclare var DataTransferItem: {\n    prototype: DataTransferItem;\n    new(): DataTransferItem;\n};\n\n/**\n * A list of DataTransferItem objects representing items being dragged. During a drag operation, each DragEvent has a dataTransfer property and that property is a DataTransferItemList.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItemList)\n */\ninterface DataTransferItemList {\n    /**\n     * Returns the number of items in the drag data store.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/length)\n     */\n    readonly length: number;\n    /**\n     * Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be provided also.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add)\n     */\n    add(data: string, type: string): DataTransferItem | null;\n    add(data: File): DataTransferItem | null;\n    /**\n     * Removes all the entries in the drag data store.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/clear)\n     */\n    clear(): void;\n    /**\n     * Removes the indexth entry in the drag data store.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/remove)\n     */\n    remove(index: number): void;\n    [index: number]: DataTransferItem;\n}\n\ndeclare var DataTransferItemList: {\n    prototype: DataTransferItemList;\n    new(): DataTransferItemList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DecompressionStream) */\ninterface DecompressionStream extends GenericTransformStream {\n}\n\ndeclare var DecompressionStream: {\n    prototype: DecompressionStream;\n    new(format: CompressionFormat): DecompressionStream;\n};\n\n/**\n * A delay-line; an AudioNode audio-processing module that causes a delay between the arrival of an input data and its propagation to the output.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DelayNode)\n */\ninterface DelayNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DelayNode/delayTime) */\n    readonly delayTime: AudioParam;\n}\n\ndeclare var DelayNode: {\n    prototype: DelayNode;\n    new(context: BaseAudioContext, options?: DelayOptions): DelayNode;\n};\n\n/**\n * The DeviceMotionEvent provides web developers with information about the speed of changes for the device's position and orientation.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEvent)\n */\ninterface DeviceMotionEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEvent/acceleration) */\n    readonly acceleration: DeviceMotionEventAcceleration | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEvent/accelerationIncludingGravity) */\n    readonly accelerationIncludingGravity: DeviceMotionEventAcceleration | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEvent/interval) */\n    readonly interval: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEvent/rotationRate) */\n    readonly rotationRate: DeviceMotionEventRotationRate | null;\n}\n\ndeclare var DeviceMotionEvent: {\n    prototype: DeviceMotionEvent;\n    new(type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEventAcceleration)\n */\ninterface DeviceMotionEventAcceleration {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEventAcceleration/x) */\n    readonly x: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEventAcceleration/y) */\n    readonly y: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEventAcceleration/z) */\n    readonly z: number | null;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEventRotationRate)\n */\ninterface DeviceMotionEventRotationRate {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEventRotationRate/alpha) */\n    readonly alpha: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEventRotationRate/beta) */\n    readonly beta: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceMotionEventRotationRate/gamma) */\n    readonly gamma: number | null;\n}\n\n/**\n * The DeviceOrientationEvent provides web developers with information from the physical orientation of the device running the web page.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent)\n */\ninterface DeviceOrientationEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent/absolute) */\n    readonly absolute: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent/alpha) */\n    readonly alpha: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent/beta) */\n    readonly beta: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent/gamma) */\n    readonly gamma: number | null;\n}\n\ndeclare var DeviceOrientationEvent: {\n    prototype: DeviceOrientationEvent;\n    new(type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent;\n};\n\ninterface DocumentEventMap extends GlobalEventHandlersEventMap {\n    \"DOMContentLoaded\": Event;\n    \"fullscreenchange\": Event;\n    \"fullscreenerror\": Event;\n    \"pointerlockchange\": Event;\n    \"pointerlockerror\": Event;\n    \"readystatechange\": Event;\n    \"visibilitychange\": Event;\n}\n\n/**\n * Any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document)\n */\ninterface Document extends Node, DocumentOrShadowRoot, FontFaceSource, GlobalEventHandlers, NonElementParentNode, ParentNode, XPathEvaluatorBase {\n    /**\n     * Sets or gets the URL for the current document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/URL)\n     */\n    readonly URL: string;\n    /**\n     * Sets or gets the color of all active links in the document.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/alinkColor)\n     */\n    alinkColor: string;\n    /**\n     * Returns a reference to the collection of elements contained by the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/all)\n     */\n    readonly all: HTMLAllCollection;\n    /**\n     * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/anchors)\n     */\n    readonly anchors: HTMLCollectionOf<HTMLAnchorElement>;\n    /**\n     * Retrieves a collection of all applet objects in the document.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/applets)\n     */\n    readonly applets: HTMLCollection;\n    /**\n     * Deprecated. Sets or retrieves a value that indicates the background color behind the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/bgColor)\n     */\n    bgColor: string;\n    /**\n     * Specifies the beginning and end of the document body.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/body)\n     */\n    body: HTMLElement;\n    /**\n     * Returns document's encoding.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/characterSet)\n     */\n    readonly characterSet: string;\n    /**\n     * Gets or sets the character set used to encode the object.\n     * @deprecated This is a legacy alias of \\`characterSet\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/characterSet)\n     */\n    readonly charset: string;\n    /**\n     * Gets a value that indicates whether standards-compliant mode is switched on for the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/compatMode)\n     */\n    readonly compatMode: string;\n    /**\n     * Returns document's content type.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/contentType)\n     */\n    readonly contentType: string;\n    /**\n     * Returns the HTTP cookies that apply to the Document. If there are no cookies or cookies can't be applied to this resource, the empty string will be returned.\n     *\n     * Can be set, to add a new cookie to the element's set of HTTP cookies.\n     *\n     * If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute), a \"SecurityError\" DOMException will be thrown on getting and setting.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/cookie)\n     */\n    cookie: string;\n    /**\n     * Returns the script element, or the SVG script element, that is currently executing, as long as the element represents a classic script. In the case of reentrant script execution, returns the one that most recently started executing amongst those that have not yet finished executing.\n     *\n     * Returns null if the Document is not currently executing a script or SVG script element (e.g., because the running script is an event handler, or a timeout), or if the currently executing script or SVG script element represents a module script.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/currentScript)\n     */\n    readonly currentScript: HTMLOrSVGScriptElement | null;\n    /**\n     * Returns the Window object of the active document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/defaultView)\n     */\n    readonly defaultView: (WindowProxy & typeof globalThis) | null;\n    /**\n     * Sets or gets a value that indicates whether the document can be edited.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/designMode)\n     */\n    designMode: string;\n    /**\n     * Sets or retrieves a value that indicates the reading order of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/dir)\n     */\n    dir: string;\n    /**\n     * Gets an object representing the document type declaration associated with the current document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/doctype)\n     */\n    readonly doctype: DocumentType | null;\n    /**\n     * Gets a reference to the root node of the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/documentElement)\n     */\n    readonly documentElement: HTMLElement;\n    /**\n     * Returns document's URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/documentURI)\n     */\n    readonly documentURI: string;\n    /**\n     * Sets or gets the security domain of the document.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/domain)\n     */\n    domain: string;\n    /**\n     * Retrieves a collection of all embed objects in the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/embeds)\n     */\n    readonly embeds: HTMLCollectionOf<HTMLEmbedElement>;\n    /**\n     * Sets or gets the foreground (text) color of the document.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fgColor)\n     */\n    fgColor: string;\n    /**\n     * Retrieves a collection, in source order, of all form objects in the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/forms)\n     */\n    readonly forms: HTMLCollectionOf<HTMLFormElement>;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreen)\n     */\n    readonly fullscreen: boolean;\n    /**\n     * Returns true if document has the ability to display elements fullscreen and fullscreen is supported, or false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreenEnabled)\n     */\n    readonly fullscreenEnabled: boolean;\n    /**\n     * Returns the head element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/head)\n     */\n    readonly head: HTMLHeadElement;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/hidden) */\n    readonly hidden: boolean;\n    /**\n     * Retrieves a collection, in source order, of img objects in the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/images)\n     */\n    readonly images: HTMLCollectionOf<HTMLImageElement>;\n    /**\n     * Gets the implementation object of the current document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/implementation)\n     */\n    readonly implementation: DOMImplementation;\n    /**\n     * Returns the character encoding used to create the webpage that is loaded into the document object.\n     * @deprecated This is a legacy alias of \\`characterSet\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/characterSet)\n     */\n    readonly inputEncoding: string;\n    /**\n     * Gets the date that the page was last modified, if the page supplies one.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/lastModified)\n     */\n    readonly lastModified: string;\n    /**\n     * Sets or gets the color of the document links.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/linkColor)\n     */\n    linkColor: string;\n    /**\n     * Retrieves a collection of all a objects that specify the href property and all area objects in the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/links)\n     */\n    readonly links: HTMLCollectionOf<HTMLAnchorElement | HTMLAreaElement>;\n    /**\n     * Contains information about the current URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/location)\n     */\n    get location(): Location;\n    set location(href: string | Location);\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreenchange_event) */\n    onfullscreenchange: ((this: Document, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreenerror_event) */\n    onfullscreenerror: ((this: Document, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/pointerlockchange_event) */\n    onpointerlockchange: ((this: Document, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/pointerlockerror_event) */\n    onpointerlockerror: ((this: Document, ev: Event) => any) | null;\n    /**\n     * Fires when the state of the object has changed.\n     * @param ev The event\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/readystatechange_event)\n     */\n    onreadystatechange: ((this: Document, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/visibilitychange_event) */\n    onvisibilitychange: ((this: Document, ev: Event) => any) | null;\n    readonly ownerDocument: null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/pictureInPictureEnabled) */\n    readonly pictureInPictureEnabled: boolean;\n    /**\n     * Return an HTMLCollection of the embed elements in the Document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/plugins)\n     */\n    readonly plugins: HTMLCollectionOf<HTMLEmbedElement>;\n    /**\n     * Retrieves a value that indicates the current state of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/readyState)\n     */\n    readonly readyState: DocumentReadyState;\n    /**\n     * Gets the URL of the location that referred the user to the current page.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/referrer)\n     */\n    readonly referrer: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/rootElement)\n     */\n    readonly rootElement: SVGSVGElement | null;\n    /**\n     * Retrieves a collection of all script objects in the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scripts)\n     */\n    readonly scripts: HTMLCollectionOf<HTMLScriptElement>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scrollingElement) */\n    readonly scrollingElement: Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/timeline) */\n    readonly timeline: DocumentTimeline;\n    /**\n     * Contains the title of the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/title)\n     */\n    title: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/visibilityState) */\n    readonly visibilityState: DocumentVisibilityState;\n    /**\n     * Sets or gets the color of the links that the user has visited.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/vlinkColor)\n     */\n    vlinkColor: string;\n    /**\n     * Moves node from another document and returns it.\n     *\n     * If node is a document, throws a \"NotSupportedError\" DOMException or, if node is a shadow root, throws a \"HierarchyRequestError\" DOMException.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/adoptNode)\n     */\n    adoptNode<T extends Node>(node: T): T;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/captureEvents)\n     */\n    captureEvents(): void;\n    /** @deprecated */\n    caretRangeFromPoint(x: number, y: number): Range | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/clear)\n     */\n    clear(): void;\n    /**\n     * Closes an output stream and forces the sent data to display.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/close)\n     */\n    close(): void;\n    /**\n     * Creates an attribute object with a specified name.\n     * @param name String that sets the attribute object's name.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createAttribute)\n     */\n    createAttribute(localName: string): Attr;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createAttributeNS) */\n    createAttributeNS(namespace: string | null, qualifiedName: string): Attr;\n    /**\n     * Returns a CDATASection node whose data is data.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createCDATASection)\n     */\n    createCDATASection(data: string): CDATASection;\n    /**\n     * Creates a comment object with the specified data.\n     * @param data Sets the comment object's data.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createComment)\n     */\n    createComment(data: string): Comment;\n    /**\n     * Creates a new document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createDocumentFragment)\n     */\n    createDocumentFragment(): DocumentFragment;\n    /**\n     * Creates an instance of the element for the specified tag.\n     * @param tagName The name of an element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createElement)\n     */\n    createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];\n    /** @deprecated */\n    createElement<K extends keyof HTMLElementDeprecatedTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K];\n    createElement(tagName: string, options?: ElementCreationOptions): HTMLElement;\n    /**\n     * Returns an element with namespace namespace. Its namespace prefix will be everything before \":\" (U+003E) in qualifiedName or null. Its local name will be everything after \":\" (U+003E) in qualifiedName or qualifiedName.\n     *\n     * If localName does not match the Name production an \"InvalidCharacterError\" DOMException will be thrown.\n     *\n     * If one of the following conditions is true a \"NamespaceError\" DOMException will be thrown:\n     *\n     * localName does not match the QName production.\n     * Namespace prefix is not null and namespace is the empty string.\n     * Namespace prefix is \"xml\" and namespace is not the XML namespace.\n     * qualifiedName or namespace prefix is \"xmlns\" and namespace is not the XMLNS namespace.\n     * namespace is the XMLNS namespace and neither qualifiedName nor namespace prefix is \"xmlns\".\n     *\n     * When supplied, options's is can be used to create a customized built-in element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createElementNS)\n     */\n    createElementNS(namespaceURI: \"http://www.w3.org/1999/xhtml\", qualifiedName: string): HTMLElement;\n    createElementNS<K extends keyof SVGElementTagNameMap>(namespaceURI: \"http://www.w3.org/2000/svg\", qualifiedName: K): SVGElementTagNameMap[K];\n    createElementNS(namespaceURI: \"http://www.w3.org/2000/svg\", qualifiedName: string): SVGElement;\n    createElementNS<K extends keyof MathMLElementTagNameMap>(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", qualifiedName: K): MathMLElementTagNameMap[K];\n    createElementNS(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", qualifiedName: string): MathMLElement;\n    createElementNS(namespaceURI: string | null, qualifiedName: string, options?: ElementCreationOptions): Element;\n    createElementNS(namespace: string | null, qualifiedName: string, options?: string | ElementCreationOptions): Element;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createEvent) */\n    createEvent(eventInterface: \"AnimationEvent\"): AnimationEvent;\n    createEvent(eventInterface: \"AnimationPlaybackEvent\"): AnimationPlaybackEvent;\n    createEvent(eventInterface: \"AudioProcessingEvent\"): AudioProcessingEvent;\n    createEvent(eventInterface: \"BeforeUnloadEvent\"): BeforeUnloadEvent;\n    createEvent(eventInterface: \"BlobEvent\"): BlobEvent;\n    createEvent(eventInterface: \"ClipboardEvent\"): ClipboardEvent;\n    createEvent(eventInterface: \"CloseEvent\"): CloseEvent;\n    createEvent(eventInterface: \"CompositionEvent\"): CompositionEvent;\n    createEvent(eventInterface: \"CustomEvent\"): CustomEvent;\n    createEvent(eventInterface: \"DeviceMotionEvent\"): DeviceMotionEvent;\n    createEvent(eventInterface: \"DeviceOrientationEvent\"): DeviceOrientationEvent;\n    createEvent(eventInterface: \"DragEvent\"): DragEvent;\n    createEvent(eventInterface: \"ErrorEvent\"): ErrorEvent;\n    createEvent(eventInterface: \"Event\"): Event;\n    createEvent(eventInterface: \"Events\"): Event;\n    createEvent(eventInterface: \"FocusEvent\"): FocusEvent;\n    createEvent(eventInterface: \"FontFaceSetLoadEvent\"): FontFaceSetLoadEvent;\n    createEvent(eventInterface: \"FormDataEvent\"): FormDataEvent;\n    createEvent(eventInterface: \"GamepadEvent\"): GamepadEvent;\n    createEvent(eventInterface: \"HashChangeEvent\"): HashChangeEvent;\n    createEvent(eventInterface: \"IDBVersionChangeEvent\"): IDBVersionChangeEvent;\n    createEvent(eventInterface: \"InputEvent\"): InputEvent;\n    createEvent(eventInterface: \"KeyboardEvent\"): KeyboardEvent;\n    createEvent(eventInterface: \"MIDIConnectionEvent\"): MIDIConnectionEvent;\n    createEvent(eventInterface: \"MIDIMessageEvent\"): MIDIMessageEvent;\n    createEvent(eventInterface: \"MediaEncryptedEvent\"): MediaEncryptedEvent;\n    createEvent(eventInterface: \"MediaKeyMessageEvent\"): MediaKeyMessageEvent;\n    createEvent(eventInterface: \"MediaQueryListEvent\"): MediaQueryListEvent;\n    createEvent(eventInterface: \"MediaStreamTrackEvent\"): MediaStreamTrackEvent;\n    createEvent(eventInterface: \"MessageEvent\"): MessageEvent;\n    createEvent(eventInterface: \"MouseEvent\"): MouseEvent;\n    createEvent(eventInterface: \"MouseEvents\"): MouseEvent;\n    createEvent(eventInterface: \"MutationEvent\"): MutationEvent;\n    createEvent(eventInterface: \"MutationEvents\"): MutationEvent;\n    createEvent(eventInterface: \"OfflineAudioCompletionEvent\"): OfflineAudioCompletionEvent;\n    createEvent(eventInterface: \"PageTransitionEvent\"): PageTransitionEvent;\n    createEvent(eventInterface: \"PaymentMethodChangeEvent\"): PaymentMethodChangeEvent;\n    createEvent(eventInterface: \"PaymentRequestUpdateEvent\"): PaymentRequestUpdateEvent;\n    createEvent(eventInterface: \"PictureInPictureEvent\"): PictureInPictureEvent;\n    createEvent(eventInterface: \"PointerEvent\"): PointerEvent;\n    createEvent(eventInterface: \"PopStateEvent\"): PopStateEvent;\n    createEvent(eventInterface: \"ProgressEvent\"): ProgressEvent;\n    createEvent(eventInterface: \"PromiseRejectionEvent\"): PromiseRejectionEvent;\n    createEvent(eventInterface: \"RTCDTMFToneChangeEvent\"): RTCDTMFToneChangeEvent;\n    createEvent(eventInterface: \"RTCDataChannelEvent\"): RTCDataChannelEvent;\n    createEvent(eventInterface: \"RTCErrorEvent\"): RTCErrorEvent;\n    createEvent(eventInterface: \"RTCPeerConnectionIceErrorEvent\"): RTCPeerConnectionIceErrorEvent;\n    createEvent(eventInterface: \"RTCPeerConnectionIceEvent\"): RTCPeerConnectionIceEvent;\n    createEvent(eventInterface: \"RTCTrackEvent\"): RTCTrackEvent;\n    createEvent(eventInterface: \"SecurityPolicyViolationEvent\"): SecurityPolicyViolationEvent;\n    createEvent(eventInterface: \"SpeechSynthesisErrorEvent\"): SpeechSynthesisErrorEvent;\n    createEvent(eventInterface: \"SpeechSynthesisEvent\"): SpeechSynthesisEvent;\n    createEvent(eventInterface: \"StorageEvent\"): StorageEvent;\n    createEvent(eventInterface: \"SubmitEvent\"): SubmitEvent;\n    createEvent(eventInterface: \"ToggleEvent\"): ToggleEvent;\n    createEvent(eventInterface: \"TouchEvent\"): TouchEvent;\n    createEvent(eventInterface: \"TrackEvent\"): TrackEvent;\n    createEvent(eventInterface: \"TransitionEvent\"): TransitionEvent;\n    createEvent(eventInterface: \"UIEvent\"): UIEvent;\n    createEvent(eventInterface: \"UIEvents\"): UIEvent;\n    createEvent(eventInterface: \"WebGLContextEvent\"): WebGLContextEvent;\n    createEvent(eventInterface: \"WheelEvent\"): WheelEvent;\n    createEvent(eventInterface: string): Event;\n    /**\n     * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n     * @param root The root element or node to start traversing on.\n     * @param whatToShow The type of nodes or elements to appear in the node list\n     * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createNodeIterator)\n     */\n    createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter | null): NodeIterator;\n    /**\n     * Returns a ProcessingInstruction node whose target is target and data is data. If target does not match the Name production an \"InvalidCharacterError\" DOMException will be thrown. If data contains \"?>\" an \"InvalidCharacterError\" DOMException will be thrown.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createProcessingInstruction)\n     */\n    createProcessingInstruction(target: string, data: string): ProcessingInstruction;\n    /**\n     *  Returns an empty range object that has both of its boundary points positioned at the beginning of the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createRange)\n     */\n    createRange(): Range;\n    /**\n     * Creates a text string from the specified value.\n     * @param data String that specifies the nodeValue property of the text node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createTextNode)\n     */\n    createTextNode(data: string): Text;\n    /**\n     * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document.\n     * @param root The root element or node to start traversing on.\n     * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow.\n     * @param filter A custom NodeFilter function to use.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker)\n     */\n    createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker;\n    /**\n     * Executes a command on the current document, current selection, or the given range.\n     * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.\n     * @param showUI Display the user interface, defaults to false.\n     * @param value Value to assign.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/execCommand)\n     */\n    execCommand(commandId: string, showUI?: boolean, value?: string): boolean;\n    /**\n     * Stops document's fullscreen element from being displayed fullscreen and resolves promise when done.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/exitFullscreen)\n     */\n    exitFullscreen(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/exitPictureInPicture) */\n    exitPictureInPicture(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/exitPointerLock) */\n    exitPointerLock(): void;\n    /**\n     * Returns a reference to the first object with the specified value of the ID attribute.\n     * @param elementId String that specifies the ID value.\n     */\n    getElementById(elementId: string): HTMLElement | null;\n    /**\n     * Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementsByClassName)\n     */\n    getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;\n    /**\n     * Gets a collection of objects based on the value of the NAME or ID attribute.\n     * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementsByName)\n     */\n    getElementsByName(elementName: string): NodeListOf<HTMLElement>;\n    /**\n     * Retrieves a collection of objects based on the specified element name.\n     * @param name Specifies the name of an element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementsByTagName)\n     */\n    getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;\n    /** @deprecated */\n    getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;\n    getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;\n    /**\n     * If namespace and localName are \"*\" returns a HTMLCollection of all descendant elements.\n     *\n     * If only namespace is \"*\" returns a HTMLCollection of all descendant elements whose local name is localName.\n     *\n     * If only localName is \"*\" returns a HTMLCollection of all descendant elements whose namespace is namespace.\n     *\n     * Otherwise, returns a HTMLCollection of all descendant elements whose namespace is namespace and local name is localName.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementsByTagNameNS)\n     */\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1999/xhtml\", localName: string): HTMLCollectionOf<HTMLElement>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/2000/svg\", localName: string): HTMLCollectionOf<SVGElement>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", localName: string): HTMLCollectionOf<MathMLElement>;\n    getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;\n    /**\n     * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getSelection)\n     */\n    getSelection(): Selection | null;\n    /**\n     * Gets a value indicating whether the object currently has focus.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/hasFocus)\n     */\n    hasFocus(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/hasStorageAccess) */\n    hasStorageAccess(): Promise<boolean>;\n    /**\n     * Returns a copy of node. If deep is true, the copy also includes the node's descendants.\n     *\n     * If node is a document or a shadow root, throws a \"NotSupportedError\" DOMException.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/importNode)\n     */\n    importNode<T extends Node>(node: T, deep?: boolean): T;\n    /**\n     * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method.\n     * @param url Specifies a MIME type for the document.\n     * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element.\n     * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, \"fullscreen=yes, toolbar=yes\"). The following values are supported.\n     * @param replace Specifies whether the existing entry for the document is replaced in the history list.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/open)\n     */\n    open(unused1?: string, unused2?: string): Document;\n    open(url: string | URL, name: string, features: string): WindowProxy | null;\n    /**\n     * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document.\n     * @param commandId Specifies a command identifier.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandEnabled)\n     */\n    queryCommandEnabled(commandId: string): boolean;\n    /**\n     * Returns a Boolean value that indicates whether the specified command is in the indeterminate state.\n     * @param commandId String that specifies a command identifier.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandIndeterm)\n     */\n    queryCommandIndeterm(commandId: string): boolean;\n    /**\n     * Returns a Boolean value that indicates the current state of the command.\n     * @param commandId String that specifies a command identifier.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandState)\n     */\n    queryCommandState(commandId: string): boolean;\n    /**\n     * Returns a Boolean value that indicates whether the current command is supported on the current range.\n     * @param commandId Specifies a command identifier.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandSupported)\n     */\n    queryCommandSupported(commandId: string): boolean;\n    /**\n     * Returns the current value of the document, range, or current selection for the given command.\n     * @param commandId String that specifies a command identifier.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandValue)\n     */\n    queryCommandValue(commandId: string): string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/releaseEvents)\n     */\n    releaseEvents(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/requestStorageAccess) */\n    requestStorageAccess(): Promise<void>;\n    /**\n     * Writes one or more HTML expressions to a document in the specified window.\n     * @param content Specifies the text and HTML tags to write.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/write)\n     */\n    write(...text: string[]): void;\n    /**\n     * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window.\n     * @param content The text and HTML tags to write.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/writeln)\n     */\n    writeln(...text: string[]): void;\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Document: {\n    prototype: Document;\n    new(): Document;\n};\n\n/**\n * A minimal document object that has no parent. It is used as a lightweight version of Document that stores a segment of a document structure comprised of nodes just like a standard document. The key difference is that because the document fragment isn't part of the active document tree structure, changes made to the fragment don't affect the document, cause reflow, or incur any performance impact that can occur when changes are made.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DocumentFragment)\n */\ninterface DocumentFragment extends Node, NonElementParentNode, ParentNode {\n    readonly ownerDocument: Document;\n    getElementById(elementId: string): HTMLElement | null;\n}\n\ndeclare var DocumentFragment: {\n    prototype: DocumentFragment;\n    new(): DocumentFragment;\n};\n\ninterface DocumentOrShadowRoot {\n    /**\n     * Returns the deepest element in the document through which or to which key events are being routed. This is, roughly speaking, the focused element in the document.\n     *\n     * For the purposes of this API, when a child browsing context is focused, its container is focused in the parent browsing context. For example, if the user moves the focus to a text control in an iframe, the iframe is the element returned by the activeElement API in the iframe's node document.\n     *\n     * Similarly, when the focused element is in a different node tree than documentOrShadowRoot, the element returned will be the host that's located in the same node tree as documentOrShadowRoot if documentOrShadowRoot is a shadow-including inclusive ancestor of the focused element, and null if not.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/activeElement)\n     */\n    readonly activeElement: Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/adoptedStyleSheets) */\n    adoptedStyleSheets: CSSStyleSheet[];\n    /**\n     * Returns document's fullscreen element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreenElement)\n     */\n    readonly fullscreenElement: Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/pictureInPictureElement) */\n    readonly pictureInPictureElement: Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/pointerLockElement) */\n    readonly pointerLockElement: Element | null;\n    /**\n     * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/styleSheets)\n     */\n    readonly styleSheets: StyleSheetList;\n    /**\n     * Returns the element for the specified x coordinate and the specified y coordinate.\n     * @param x The x-offset\n     * @param y The y-offset\n     */\n    elementFromPoint(x: number, y: number): Element | null;\n    elementsFromPoint(x: number, y: number): Element[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getAnimations) */\n    getAnimations(): Animation[];\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DocumentTimeline) */\ninterface DocumentTimeline extends AnimationTimeline {\n}\n\ndeclare var DocumentTimeline: {\n    prototype: DocumentTimeline;\n    new(options?: DocumentTimelineOptions): DocumentTimeline;\n};\n\n/**\n * A Node containing a doctype.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DocumentType)\n */\ninterface DocumentType extends Node, ChildNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DocumentType/name) */\n    readonly name: string;\n    readonly ownerDocument: Document;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DocumentType/publicId) */\n    readonly publicId: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DocumentType/systemId) */\n    readonly systemId: string;\n}\n\ndeclare var DocumentType: {\n    prototype: DocumentType;\n    new(): DocumentType;\n};\n\n/**\n * A DOM event that represents a drag and drop interaction. The user initiates a drag by placing a pointer device (such as a mouse) on the touch surface and then dragging the pointer to a new location (such as another DOM element). Applications are free to interpret a drag and drop interaction in an application-specific way.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DragEvent)\n */\ninterface DragEvent extends MouseEvent {\n    /**\n     * Returns the DataTransfer object for the event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DragEvent/dataTransfer)\n     */\n    readonly dataTransfer: DataTransfer | null;\n}\n\ndeclare var DragEvent: {\n    prototype: DragEvent;\n    new(type: string, eventInitDict?: DragEventInit): DragEvent;\n};\n\n/**\n * Inherits properties from its parent, AudioNode.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode)\n */\ninterface DynamicsCompressorNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode/attack) */\n    readonly attack: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode/knee) */\n    readonly knee: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode/ratio) */\n    readonly ratio: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode/reduction) */\n    readonly reduction: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode/release) */\n    readonly release: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode/threshold) */\n    readonly threshold: AudioParam;\n}\n\ndeclare var DynamicsCompressorNode: {\n    prototype: DynamicsCompressorNode;\n    new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_blend_minmax) */\ninterface EXT_blend_minmax {\n    readonly MIN_EXT: 0x8007;\n    readonly MAX_EXT: 0x8008;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_color_buffer_float) */\ninterface EXT_color_buffer_float {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_color_buffer_half_float) */\ninterface EXT_color_buffer_half_float {\n    readonly RGBA16F_EXT: 0x881A;\n    readonly RGB16F_EXT: 0x881B;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 0x8211;\n    readonly UNSIGNED_NORMALIZED_EXT: 0x8C17;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_float_blend) */\ninterface EXT_float_blend {\n}\n\n/**\n * The EXT_frag_depth extension is part of the WebGL API and enables to set a depth value of a fragment from within the fragment shader.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_frag_depth)\n */\ninterface EXT_frag_depth {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_sRGB) */\ninterface EXT_sRGB {\n    readonly SRGB_EXT: 0x8C40;\n    readonly SRGB_ALPHA_EXT: 0x8C42;\n    readonly SRGB8_ALPHA8_EXT: 0x8C43;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: 0x8210;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_shader_texture_lod) */\ninterface EXT_shader_texture_lod {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_compression_bptc) */\ninterface EXT_texture_compression_bptc {\n    readonly COMPRESSED_RGBA_BPTC_UNORM_EXT: 0x8E8C;\n    readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: 0x8E8D;\n    readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: 0x8E8E;\n    readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: 0x8E8F;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_compression_rgtc) */\ninterface EXT_texture_compression_rgtc {\n    readonly COMPRESSED_RED_RGTC1_EXT: 0x8DBB;\n    readonly COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8DBC;\n    readonly COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8DBD;\n    readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8DBE;\n}\n\n/**\n * The EXT_texture_filter_anisotropic extension is part of the WebGL API and exposes two constants for anisotropic filtering (AF).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_filter_anisotropic)\n */\ninterface EXT_texture_filter_anisotropic {\n    readonly TEXTURE_MAX_ANISOTROPY_EXT: 0x84FE;\n    readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: 0x84FF;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_norm16) */\ninterface EXT_texture_norm16 {\n    readonly R16_EXT: 0x822A;\n    readonly RG16_EXT: 0x822C;\n    readonly RGB16_EXT: 0x8054;\n    readonly RGBA16_EXT: 0x805B;\n    readonly R16_SNORM_EXT: 0x8F98;\n    readonly RG16_SNORM_EXT: 0x8F99;\n    readonly RGB16_SNORM_EXT: 0x8F9A;\n    readonly RGBA16_SNORM_EXT: 0x8F9B;\n}\n\ninterface ElementEventMap {\n    \"fullscreenchange\": Event;\n    \"fullscreenerror\": Event;\n}\n\n/**\n * Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element)\n */\ninterface Element extends Node, ARIAMixin, Animatable, ChildNode, InnerHTML, NonDocumentTypeChildNode, ParentNode, Slottable {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/attributes) */\n    readonly attributes: NamedNodeMap;\n    /**\n     * Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/classList)\n     */\n    readonly classList: DOMTokenList;\n    /**\n     * Returns the value of element's class content attribute. Can be set to change it.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/className)\n     */\n    className: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/clientHeight) */\n    readonly clientHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/clientLeft) */\n    readonly clientLeft: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/clientTop) */\n    readonly clientTop: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/clientWidth) */\n    readonly clientWidth: number;\n    /**\n     * Returns the value of element's id content attribute. Can be set to change it.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/id)\n     */\n    id: string;\n    /**\n     * Returns the local name.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/localName)\n     */\n    readonly localName: string;\n    /**\n     * Returns the namespace.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/namespaceURI)\n     */\n    readonly namespaceURI: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/fullscreenchange_event) */\n    onfullscreenchange: ((this: Element, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/fullscreenerror_event) */\n    onfullscreenerror: ((this: Element, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/outerHTML) */\n    outerHTML: string;\n    readonly ownerDocument: Document;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/part) */\n    readonly part: DOMTokenList;\n    /**\n     * Returns the namespace prefix.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/prefix)\n     */\n    readonly prefix: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollHeight) */\n    readonly scrollHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollLeft) */\n    scrollLeft: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollTop) */\n    scrollTop: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollWidth) */\n    readonly scrollWidth: number;\n    /**\n     * Returns element's shadow root, if any, and if shadow root's mode is \"open\", and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/shadowRoot)\n     */\n    readonly shadowRoot: ShadowRoot | null;\n    /**\n     * Returns the value of element's slot content attribute. Can be set to change it.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/slot)\n     */\n    slot: string;\n    /**\n     * Returns the HTML-uppercased qualified name.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/tagName)\n     */\n    readonly tagName: string;\n    /**\n     * Creates a shadow root for element and returns it.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/attachShadow)\n     */\n    attachShadow(init: ShadowRootInit): ShadowRoot;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/checkVisibility) */\n    checkVisibility(options?: CheckVisibilityOptions): boolean;\n    /**\n     * Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/closest)\n     */\n    closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;\n    closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;\n    closest<K extends keyof MathMLElementTagNameMap>(selector: K): MathMLElementTagNameMap[K] | null;\n    closest<E extends Element = Element>(selectors: string): E | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/computedStyleMap) */\n    computedStyleMap(): StylePropertyMapReadOnly;\n    /**\n     * Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttribute)\n     */\n    getAttribute(qualifiedName: string): string | null;\n    /**\n     * Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttributeNS)\n     */\n    getAttributeNS(namespace: string | null, localName: string): string | null;\n    /**\n     * Returns the qualified names of all element's attributes. Can contain duplicates.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttributeNames)\n     */\n    getAttributeNames(): string[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttributeNode) */\n    getAttributeNode(qualifiedName: string): Attr | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAttributeNodeNS) */\n    getAttributeNodeNS(namespace: string | null, localName: string): Attr | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getBoundingClientRect) */\n    getBoundingClientRect(): DOMRect;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getClientRects) */\n    getClientRects(): DOMRectList;\n    /**\n     * Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getElementsByClassName)\n     */\n    getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getElementsByTagName) */\n    getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;\n    /** @deprecated */\n    getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;\n    getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getElementsByTagNameNS) */\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1999/xhtml\", localName: string): HTMLCollectionOf<HTMLElement>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/2000/svg\", localName: string): HTMLCollectionOf<SVGElement>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", localName: string): HTMLCollectionOf<MathMLElement>;\n    getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;\n    /**\n     * Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/hasAttribute)\n     */\n    hasAttribute(qualifiedName: string): boolean;\n    /**\n     * Returns true if element has an attribute whose namespace is namespace and local name is localName.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/hasAttributeNS)\n     */\n    hasAttributeNS(namespace: string | null, localName: string): boolean;\n    /**\n     * Returns true if element has attributes, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/hasAttributes)\n     */\n    hasAttributes(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/hasPointerCapture) */\n    hasPointerCapture(pointerId: number): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentElement) */\n    insertAdjacentElement(where: InsertPosition, element: Element): Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentHTML) */\n    insertAdjacentHTML(position: InsertPosition, text: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentText) */\n    insertAdjacentText(where: InsertPosition, data: string): void;\n    /**\n     * Returns true if matching selectors against element's root yields element, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/matches)\n     */\n    matches(selectors: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture) */\n    releasePointerCapture(pointerId: number): void;\n    /**\n     * Removes element's first attribute whose qualified name is qualifiedName.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/removeAttribute)\n     */\n    removeAttribute(qualifiedName: string): void;\n    /**\n     * Removes element's attribute whose namespace is namespace and local name is localName.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/removeAttributeNS)\n     */\n    removeAttributeNS(namespace: string | null, localName: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/removeAttributeNode) */\n    removeAttributeNode(attr: Attr): Attr;\n    /**\n     * Displays element fullscreen and resolves promise when done.\n     *\n     * When supplied, options's navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to \"show\", navigation simplicity is preferred over screen space, and if set to \"hide\", more screen space is preferred. User agents are always free to honor user preference over the application's. The default value \"auto\" indicates no application preference.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/requestFullscreen)\n     */\n    requestFullscreen(options?: FullscreenOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/requestPointerLock) */\n    requestPointerLock(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scroll) */\n    scroll(options?: ScrollToOptions): void;\n    scroll(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollBy) */\n    scrollBy(options?: ScrollToOptions): void;\n    scrollBy(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollIntoView) */\n    scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scrollTo) */\n    scrollTo(options?: ScrollToOptions): void;\n    scrollTo(x: number, y: number): void;\n    /**\n     * Sets the value of element's first attribute whose qualified name is qualifiedName to value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttribute)\n     */\n    setAttribute(qualifiedName: string, value: string): void;\n    /**\n     * Sets the value of element's attribute whose namespace is namespace and local name is localName to value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttributeNS)\n     */\n    setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttributeNode) */\n    setAttributeNode(attr: Attr): Attr | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttributeNodeNS) */\n    setAttributeNodeNS(attr: Attr): Attr | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture) */\n    setPointerCapture(pointerId: number): void;\n    /**\n     * If force is not given, \"toggles\" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.\n     *\n     * Returns true if qualifiedName is now present, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/toggleAttribute)\n     */\n    toggleAttribute(qualifiedName: string, force?: boolean): boolean;\n    /**\n     * @deprecated This is a legacy alias of \\`matches\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/matches)\n     */\n    webkitMatchesSelector(selectors: string): boolean;\n    addEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Element: {\n    prototype: Element;\n    new(): Element;\n};\n\ninterface ElementCSSInlineStyle {\n    readonly attributeStyleMap: StylePropertyMap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/style) */\n    readonly style: CSSStyleDeclaration;\n}\n\ninterface ElementContentEditable {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/contentEditable) */\n    contentEditable: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/enterKeyHint) */\n    enterKeyHint: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inputMode) */\n    inputMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/isContentEditable) */\n    readonly isContentEditable: boolean;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals) */\ninterface ElementInternals extends ARIAMixin {\n    /**\n     * Returns the form owner of internals's target element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/form)\n     */\n    readonly form: HTMLFormElement | null;\n    /**\n     * Returns a NodeList of all the label elements that internals's target element is associated with.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/labels)\n     */\n    readonly labels: NodeList;\n    /**\n     * Returns the ShadowRoot for internals's target element, if the target element is a shadow host, or null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/shadowRoot)\n     */\n    readonly shadowRoot: ShadowRoot | null;\n    /**\n     * Returns the error message that would be shown to the user if internals's target element was to be checked for validity.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/validationMessage)\n     */\n    readonly validationMessage: string;\n    /**\n     * Returns the ValidityState object for internals's target element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/validity)\n     */\n    readonly validity: ValidityState;\n    /**\n     * Returns true if internals's target element will be validated when the form is submitted; false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/willValidate)\n     */\n    readonly willValidate: boolean;\n    /**\n     * Returns true if internals's target element has no validity problems; false otherwise. Fires an invalid event at the element in the latter case.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/checkValidity)\n     */\n    checkValidity(): boolean;\n    /**\n     * Returns true if internals's target element has no validity problems; otherwise, returns false, fires an invalid event at the element, and (if the event isn't canceled) reports the problem to the user.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/reportValidity)\n     */\n    reportValidity(): boolean;\n    /**\n     * Sets both the state and submission value of internals's target element to value.\n     *\n     * If value is null, the element won't participate in form submission.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/setFormValue)\n     */\n    setFormValue(value: File | string | FormData | null, state?: File | string | FormData | null): void;\n    /**\n     * Marks internals's target element as suffering from the constraints indicated by the flags argument, and sets the element's validation message to message. If anchor is specified, the user agent might use it to indicate problems with the constraints of internals's target element when the form owner is validated interactively or reportValidity() is called.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ElementInternals/setValidity)\n     */\n    setValidity(flags?: ValidityStateFlags, message?: string, anchor?: HTMLElement): void;\n}\n\ndeclare var ElementInternals: {\n    prototype: ElementInternals;\n    new(): ElementInternals;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk) */\ninterface EncodedVideoChunk {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/byteLength) */\n    readonly byteLength: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/duration) */\n    readonly duration: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/timestamp) */\n    readonly timestamp: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/type) */\n    readonly type: EncodedVideoChunkType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/copyTo) */\n    copyTo(destination: AllowSharedBufferSource): void;\n}\n\ndeclare var EncodedVideoChunk: {\n    prototype: EncodedVideoChunk;\n    new(init: EncodedVideoChunkInit): EncodedVideoChunk;\n};\n\n/**\n * Events providing information related to errors in scripts or in files.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent)\n */\ninterface ErrorEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/colno) */\n    readonly colno: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/error) */\n    readonly error: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/filename) */\n    readonly filename: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/lineno) */\n    readonly lineno: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/message) */\n    readonly message: string;\n}\n\ndeclare var ErrorEvent: {\n    prototype: ErrorEvent;\n    new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent;\n};\n\n/**\n * An event which takes place in the DOM.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event)\n */\ninterface Event {\n    /**\n     * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/bubbles)\n     */\n    readonly bubbles: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/cancelBubble)\n     */\n    cancelBubble: boolean;\n    /**\n     * Returns true or false depending on how event was initialized. Its return value does not always carry meaning, but true can indicate that part of the operation during which event was dispatched, can be canceled by invoking the preventDefault() method.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/cancelable)\n     */\n    readonly cancelable: boolean;\n    /**\n     * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/composed)\n     */\n    readonly composed: boolean;\n    /**\n     * Returns the object whose event listener's callback is currently being invoked.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/currentTarget)\n     */\n    readonly currentTarget: EventTarget | null;\n    /**\n     * Returns true if preventDefault() was invoked successfully to indicate cancelation, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/defaultPrevented)\n     */\n    readonly defaultPrevented: boolean;\n    /**\n     * Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET, and BUBBLING_PHASE.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/eventPhase)\n     */\n    readonly eventPhase: number;\n    /**\n     * Returns true if event was dispatched by the user agent, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/isTrusted)\n     */\n    readonly isTrusted: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/returnValue)\n     */\n    returnValue: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/srcElement)\n     */\n    readonly srcElement: EventTarget | null;\n    /**\n     * Returns the object to which event is dispatched (its target).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/target)\n     */\n    readonly target: EventTarget | null;\n    /**\n     * Returns the event's timestamp as the number of milliseconds measured relative to the time origin.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/timeStamp)\n     */\n    readonly timeStamp: DOMHighResTimeStamp;\n    /**\n     * Returns the type of event, e.g. \"click\", \"hashchange\", or \"submit\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/type)\n     */\n    readonly type: string;\n    /**\n     * Returns the invocation target objects of event's path (objects on which listeners will be invoked), except for any nodes in shadow trees of which the shadow root's mode is \"closed\" that are not reachable from event's currentTarget.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/composedPath)\n     */\n    composedPath(): EventTarget[];\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/initEvent)\n     */\n    initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;\n    /**\n     * If invoked when the cancelable attribute value is true, and while executing a listener for the event with passive set to false, signals to the operation that caused event to be dispatched that it needs to be canceled.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/preventDefault)\n     */\n    preventDefault(): void;\n    /**\n     * Invoking this method prevents event from reaching any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any other objects.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/stopImmediatePropagation)\n     */\n    stopImmediatePropagation(): void;\n    /**\n     * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/stopPropagation)\n     */\n    stopPropagation(): void;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n}\n\ndeclare var Event: {\n    prototype: Event;\n    new(type: string, eventInitDict?: EventInit): Event;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventCounts) */\ninterface EventCounts {\n    forEach(callbackfn: (value: number, key: string, parent: EventCounts) => void, thisArg?: any): void;\n}\n\ndeclare var EventCounts: {\n    prototype: EventCounts;\n    new(): EventCounts;\n};\n\ninterface EventListener {\n    (evt: Event): void;\n}\n\ninterface EventListenerObject {\n    handleEvent(object: Event): void;\n}\n\ninterface EventSourceEventMap {\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource) */\ninterface EventSource extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/error_event) */\n    onerror: ((this: EventSource, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/message_event) */\n    onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/open_event) */\n    onopen: ((this: EventSource, ev: Event) => any) | null;\n    /**\n     * Returns the state of this EventSource object's connection. It can have the values described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/readyState)\n     */\n    readonly readyState: number;\n    /**\n     * Returns the URL providing the event stream.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/url)\n     */\n    readonly url: string;\n    /**\n     * Returns true if the credentials mode for connection requests to the URL providing the event stream is set to \"include\", and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/withCredentials)\n     */\n    readonly withCredentials: boolean;\n    /**\n     * Aborts any instances of the fetch algorithm started for this EventSource object, and sets the readyState attribute to CLOSED.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/close)\n     */\n    close(): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n    addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var EventSource: {\n    prototype: EventSource;\n    new(url: string | URL, eventSourceInitDict?: EventSourceInit): EventSource;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n};\n\n/**\n * EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget)\n */\ninterface EventTarget {\n    /**\n     * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n     *\n     * The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n     *\n     * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n     *\n     * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in \\xA7 2.8 Observing event listeners.\n     *\n     * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n     *\n     * If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.\n     *\n     * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)\n     */\n    addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;\n    /**\n     * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)\n     */\n    dispatchEvent(event: Event): boolean;\n    /**\n     * Removes the event listener in target's event listener list with the same type, callback, and options.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)\n     */\n    removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;\n}\n\ndeclare var EventTarget: {\n    prototype: EventTarget;\n    new(): EventTarget;\n};\n\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/External)\n */\ninterface External {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/External/AddSearchProvider)\n     */\n    AddSearchProvider(): void;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/External/IsSearchProviderInstalled)\n     */\n    IsSearchProviderInstalled(): void;\n}\n\n/** @deprecated */\ndeclare var External: {\n    prototype: External;\n    new(): External;\n};\n\n/**\n * Provides information about files and allows JavaScript in a web page to access their content.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/File)\n */\ninterface File extends Blob {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/lastModified) */\n    readonly lastModified: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/webkitRelativePath) */\n    readonly webkitRelativePath: string;\n}\n\ndeclare var File: {\n    prototype: File;\n    new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;\n};\n\n/**\n * An object of this type is returned by the files property of the HTML <input> element; this lets you access the list of files selected with the <input type=\"file\"> element. It's also used for a list of files dropped into web content when using the drag and drop API; see the DataTransfer object for details on this usage.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList)\n */\ninterface FileList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList/item) */\n    item(index: number): File | null;\n    [index: number]: File;\n}\n\ndeclare var FileList: {\n    prototype: FileList;\n    new(): FileList;\n};\n\ninterface FileReaderEventMap {\n    \"abort\": ProgressEvent<FileReader>;\n    \"error\": ProgressEvent<FileReader>;\n    \"load\": ProgressEvent<FileReader>;\n    \"loadend\": ProgressEvent<FileReader>;\n    \"loadstart\": ProgressEvent<FileReader>;\n    \"progress\": ProgressEvent<FileReader>;\n}\n\n/**\n * Lets web applications asynchronously read the contents of files (or raw data buffers) stored on the user's computer, using File or Blob objects to specify the file or data to read.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader)\n */\ninterface FileReader extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/error) */\n    readonly error: DOMException | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/abort_event) */\n    onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/error_event) */\n    onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/load_event) */\n    onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/loadend_event) */\n    onloadend: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/loadstart_event) */\n    onloadstart: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/progress_event) */\n    onprogress: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readyState) */\n    readonly readyState: typeof FileReader.EMPTY | typeof FileReader.LOADING | typeof FileReader.DONE;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/result) */\n    readonly result: string | ArrayBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/abort) */\n    abort(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsArrayBuffer) */\n    readAsArrayBuffer(blob: Blob): void;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsBinaryString)\n     */\n    readAsBinaryString(blob: Blob): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsDataURL) */\n    readAsDataURL(blob: Blob): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsText) */\n    readAsText(blob: Blob, encoding?: string): void;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n    addEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FileReader: {\n    prototype: FileReader;\n    new(): FileReader;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystem) */\ninterface FileSystem {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystem/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystem/root) */\n    readonly root: FileSystemDirectoryEntry;\n}\n\ndeclare var FileSystem: {\n    prototype: FileSystem;\n    new(): FileSystem;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryEntry) */\ninterface FileSystemDirectoryEntry extends FileSystemEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryEntry/createReader) */\n    createReader(): FileSystemDirectoryReader;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryEntry/getDirectory) */\n    getDirectory(path?: string | null, options?: FileSystemFlags, successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryEntry/getFile) */\n    getFile(path?: string | null, options?: FileSystemFlags, successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n}\n\ndeclare var FileSystemDirectoryEntry: {\n    prototype: FileSystemDirectoryEntry;\n    new(): FileSystemDirectoryEntry;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle)\n */\ninterface FileSystemDirectoryHandle extends FileSystemHandle {\n    readonly kind: \"directory\";\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/getDirectoryHandle) */\n    getDirectoryHandle(name: string, options?: FileSystemGetDirectoryOptions): Promise<FileSystemDirectoryHandle>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/getFileHandle) */\n    getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise<FileSystemFileHandle>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/removeEntry) */\n    removeEntry(name: string, options?: FileSystemRemoveOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/resolve) */\n    resolve(possibleDescendant: FileSystemHandle): Promise<string[] | null>;\n}\n\ndeclare var FileSystemDirectoryHandle: {\n    prototype: FileSystemDirectoryHandle;\n    new(): FileSystemDirectoryHandle;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryReader) */\ninterface FileSystemDirectoryReader {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryReader/readEntries) */\n    readEntries(successCallback: FileSystemEntriesCallback, errorCallback?: ErrorCallback): void;\n}\n\ndeclare var FileSystemDirectoryReader: {\n    prototype: FileSystemDirectoryReader;\n    new(): FileSystemDirectoryReader;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemEntry) */\ninterface FileSystemEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemEntry/filesystem) */\n    readonly filesystem: FileSystem;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemEntry/fullPath) */\n    readonly fullPath: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemEntry/isDirectory) */\n    readonly isDirectory: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemEntry/isFile) */\n    readonly isFile: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemEntry/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemEntry/getParent) */\n    getParent(successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n}\n\ndeclare var FileSystemEntry: {\n    prototype: FileSystemEntry;\n    new(): FileSystemEntry;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileEntry) */\ninterface FileSystemFileEntry extends FileSystemEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileEntry/file) */\n    file(successCallback: FileCallback, errorCallback?: ErrorCallback): void;\n}\n\ndeclare var FileSystemFileEntry: {\n    prototype: FileSystemFileEntry;\n    new(): FileSystemFileEntry;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle)\n */\ninterface FileSystemFileHandle extends FileSystemHandle {\n    readonly kind: \"file\";\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle/createWritable) */\n    createWritable(options?: FileSystemCreateWritableOptions): Promise<FileSystemWritableFileStream>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle/getFile) */\n    getFile(): Promise<File>;\n}\n\ndeclare var FileSystemFileHandle: {\n    prototype: FileSystemFileHandle;\n    new(): FileSystemFileHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle)\n */\ninterface FileSystemHandle {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/kind) */\n    readonly kind: FileSystemHandleKind;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/isSameEntry) */\n    isSameEntry(other: FileSystemHandle): Promise<boolean>;\n}\n\ndeclare var FileSystemHandle: {\n    prototype: FileSystemHandle;\n    new(): FileSystemHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream)\n */\ninterface FileSystemWritableFileStream extends WritableStream {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/seek) */\n    seek(position: number): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/truncate) */\n    truncate(size: number): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/write) */\n    write(data: FileSystemWriteChunkType): Promise<void>;\n}\n\ndeclare var FileSystemWritableFileStream: {\n    prototype: FileSystemWritableFileStream;\n    new(): FileSystemWritableFileStream;\n};\n\n/**\n * Focus-related events like focus, blur, focusin, or focusout.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FocusEvent)\n */\ninterface FocusEvent extends UIEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FocusEvent/relatedTarget) */\n    readonly relatedTarget: EventTarget | null;\n}\n\ndeclare var FocusEvent: {\n    prototype: FocusEvent;\n    new(type: string, eventInitDict?: FocusEventInit): FocusEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace) */\ninterface FontFace {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/ascentOverride) */\n    ascentOverride: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/descentOverride) */\n    descentOverride: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/display) */\n    display: FontDisplay;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/family) */\n    family: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/featureSettings) */\n    featureSettings: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/lineGapOverride) */\n    lineGapOverride: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/loaded) */\n    readonly loaded: Promise<FontFace>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/status) */\n    readonly status: FontFaceLoadStatus;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/stretch) */\n    stretch: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/style) */\n    style: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/unicodeRange) */\n    unicodeRange: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/weight) */\n    weight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/load) */\n    load(): Promise<FontFace>;\n}\n\ndeclare var FontFace: {\n    prototype: FontFace;\n    new(family: string, source: string | BinaryData, descriptors?: FontFaceDescriptors): FontFace;\n};\n\ninterface FontFaceSetEventMap {\n    \"loading\": Event;\n    \"loadingdone\": Event;\n    \"loadingerror\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet) */\ninterface FontFaceSet extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loading_event) */\n    onloading: ((this: FontFaceSet, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loadingdone_event) */\n    onloadingdone: ((this: FontFaceSet, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loadingerror_event) */\n    onloadingerror: ((this: FontFaceSet, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/ready) */\n    readonly ready: Promise<FontFaceSet>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/status) */\n    readonly status: FontFaceSetLoadStatus;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/check) */\n    check(font: string, text?: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/load) */\n    load(font: string, text?: string): Promise<FontFace[]>;\n    forEach(callbackfn: (value: FontFace, key: FontFace, parent: FontFaceSet) => void, thisArg?: any): void;\n    addEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FontFaceSet: {\n    prototype: FontFaceSet;\n    new(initialFaces: FontFace[]): FontFaceSet;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSetLoadEvent) */\ninterface FontFaceSetLoadEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSetLoadEvent/fontfaces) */\n    readonly fontfaces: ReadonlyArray<FontFace>;\n}\n\ndeclare var FontFaceSetLoadEvent: {\n    prototype: FontFaceSetLoadEvent;\n    new(type: string, eventInitDict?: FontFaceSetLoadEventInit): FontFaceSetLoadEvent;\n};\n\ninterface FontFaceSource {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fonts) */\n    readonly fonts: FontFaceSet;\n}\n\n/**\n * Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to \"multipart/form-data\".\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData)\n */\ninterface FormData {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/append) */\n    append(name: string, value: string | Blob): void;\n    append(name: string, value: string): void;\n    append(name: string, blobValue: Blob, filename?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/delete) */\n    delete(name: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/get) */\n    get(name: string): FormDataEntryValue | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/getAll) */\n    getAll(name: string): FormDataEntryValue[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/has) */\n    has(name: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/set) */\n    set(name: string, value: string | Blob): void;\n    set(name: string, value: string): void;\n    set(name: string, blobValue: Blob, filename?: string): void;\n    forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;\n}\n\ndeclare var FormData: {\n    prototype: FormData;\n    new(form?: HTMLFormElement, submitter?: HTMLElement | null): FormData;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormDataEvent) */\ninterface FormDataEvent extends Event {\n    /**\n     * Returns a FormData object representing names and values of elements associated to the target form. Operations on the FormData object will affect form data to be submitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormDataEvent/formData)\n     */\n    readonly formData: FormData;\n}\n\ndeclare var FormDataEvent: {\n    prototype: FormDataEvent;\n    new(type: string, eventInitDict: FormDataEventInit): FormDataEvent;\n};\n\n/**\n * A change in volume. It is an AudioNode audio-processing module that causes a given gain to be applied to the input data before its propagation to the output. A GainNode always has exactly one input and one output, both with the same number of channels.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GainNode)\n */\ninterface GainNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GainNode/gain) */\n    readonly gain: AudioParam;\n}\n\ndeclare var GainNode: {\n    prototype: GainNode;\n    new(context: BaseAudioContext, options?: GainOptions): GainNode;\n};\n\n/**\n * This Gamepad API interface defines an individual gamepad or other controller, allowing access to information such as button presses, axis positions, and id.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad)\n */\ninterface Gamepad {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/axes) */\n    readonly axes: ReadonlyArray<number>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/buttons) */\n    readonly buttons: ReadonlyArray<GamepadButton>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/connected) */\n    readonly connected: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/id) */\n    readonly id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/index) */\n    readonly index: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/mapping) */\n    readonly mapping: GamepadMappingType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/timestamp) */\n    readonly timestamp: DOMHighResTimeStamp;\n    readonly vibrationActuator: GamepadHapticActuator | null;\n}\n\ndeclare var Gamepad: {\n    prototype: Gamepad;\n    new(): Gamepad;\n};\n\n/**\n * An individual button of a gamepad or other controller, allowing access to the current state of different types of buttons available on the control device.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadButton)\n */\ninterface GamepadButton {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadButton/pressed) */\n    readonly pressed: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadButton/touched) */\n    readonly touched: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadButton/value) */\n    readonly value: number;\n}\n\ndeclare var GamepadButton: {\n    prototype: GamepadButton;\n    new(): GamepadButton;\n};\n\n/**\n * This Gamepad API interface contains references to gamepads connected to the system, which is what the gamepad events Window.gamepadconnected and Window.gamepaddisconnected are fired in response to.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadEvent)\n */\ninterface GamepadEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadEvent/gamepad) */\n    readonly gamepad: Gamepad;\n}\n\ndeclare var GamepadEvent: {\n    prototype: GamepadEvent;\n    new(type: string, eventInitDict: GamepadEventInit): GamepadEvent;\n};\n\n/**\n * This Gamepad API interface represents hardware in the controller designed to provide haptic feedback to the user (if available), most commonly vibration hardware.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadHapticActuator)\n */\ninterface GamepadHapticActuator {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadHapticActuator/type) */\n    readonly type: GamepadHapticActuatorType;\n    playEffect(type: GamepadHapticEffectType, params?: GamepadEffectParameters): Promise<GamepadHapticsResult>;\n    reset(): Promise<GamepadHapticsResult>;\n}\n\ndeclare var GamepadHapticActuator: {\n    prototype: GamepadHapticActuator;\n    new(): GamepadHapticActuator;\n};\n\ninterface GenericTransformStream {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/readable) */\n    readonly readable: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/writable) */\n    readonly writable: WritableStream;\n}\n\n/**\n * An object able to programmatically obtain the position of the device. It gives Web content access to the location of the device. This allows a Web site or app to offer customized results based on the user's location.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Geolocation)\n */\ninterface Geolocation {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Geolocation/clearWatch) */\n    clearWatch(watchId: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Geolocation/getCurrentPosition) */\n    getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback | null, options?: PositionOptions): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Geolocation/watchPosition) */\n    watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback | null, options?: PositionOptions): number;\n}\n\ndeclare var Geolocation: {\n    prototype: Geolocation;\n    new(): Geolocation;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates)\n */\ninterface GeolocationCoordinates {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/accuracy) */\n    readonly accuracy: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/altitude) */\n    readonly altitude: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/altitudeAccuracy) */\n    readonly altitudeAccuracy: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/heading) */\n    readonly heading: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/latitude) */\n    readonly latitude: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/longitude) */\n    readonly longitude: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/speed) */\n    readonly speed: number | null;\n}\n\ndeclare var GeolocationCoordinates: {\n    prototype: GeolocationCoordinates;\n    new(): GeolocationCoordinates;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationPosition)\n */\ninterface GeolocationPosition {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationPosition/coords) */\n    readonly coords: GeolocationCoordinates;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationPosition/timestamp) */\n    readonly timestamp: EpochTimeStamp;\n}\n\ndeclare var GeolocationPosition: {\n    prototype: GeolocationPosition;\n    new(): GeolocationPosition;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationPositionError) */\ninterface GeolocationPositionError {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationPositionError/code) */\n    readonly code: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationPositionError/message) */\n    readonly message: string;\n    readonly PERMISSION_DENIED: 1;\n    readonly POSITION_UNAVAILABLE: 2;\n    readonly TIMEOUT: 3;\n}\n\ndeclare var GeolocationPositionError: {\n    prototype: GeolocationPositionError;\n    new(): GeolocationPositionError;\n    readonly PERMISSION_DENIED: 1;\n    readonly POSITION_UNAVAILABLE: 2;\n    readonly TIMEOUT: 3;\n};\n\ninterface GlobalEventHandlersEventMap {\n    \"abort\": UIEvent;\n    \"animationcancel\": AnimationEvent;\n    \"animationend\": AnimationEvent;\n    \"animationiteration\": AnimationEvent;\n    \"animationstart\": AnimationEvent;\n    \"auxclick\": MouseEvent;\n    \"beforeinput\": InputEvent;\n    \"beforetoggle\": Event;\n    \"blur\": FocusEvent;\n    \"cancel\": Event;\n    \"canplay\": Event;\n    \"canplaythrough\": Event;\n    \"change\": Event;\n    \"click\": MouseEvent;\n    \"close\": Event;\n    \"compositionend\": CompositionEvent;\n    \"compositionstart\": CompositionEvent;\n    \"compositionupdate\": CompositionEvent;\n    \"contextmenu\": MouseEvent;\n    \"copy\": ClipboardEvent;\n    \"cuechange\": Event;\n    \"cut\": ClipboardEvent;\n    \"dblclick\": MouseEvent;\n    \"drag\": DragEvent;\n    \"dragend\": DragEvent;\n    \"dragenter\": DragEvent;\n    \"dragleave\": DragEvent;\n    \"dragover\": DragEvent;\n    \"dragstart\": DragEvent;\n    \"drop\": DragEvent;\n    \"durationchange\": Event;\n    \"emptied\": Event;\n    \"ended\": Event;\n    \"error\": ErrorEvent;\n    \"focus\": FocusEvent;\n    \"focusin\": FocusEvent;\n    \"focusout\": FocusEvent;\n    \"formdata\": FormDataEvent;\n    \"gotpointercapture\": PointerEvent;\n    \"input\": Event;\n    \"invalid\": Event;\n    \"keydown\": KeyboardEvent;\n    \"keypress\": KeyboardEvent;\n    \"keyup\": KeyboardEvent;\n    \"load\": Event;\n    \"loadeddata\": Event;\n    \"loadedmetadata\": Event;\n    \"loadstart\": Event;\n    \"lostpointercapture\": PointerEvent;\n    \"mousedown\": MouseEvent;\n    \"mouseenter\": MouseEvent;\n    \"mouseleave\": MouseEvent;\n    \"mousemove\": MouseEvent;\n    \"mouseout\": MouseEvent;\n    \"mouseover\": MouseEvent;\n    \"mouseup\": MouseEvent;\n    \"paste\": ClipboardEvent;\n    \"pause\": Event;\n    \"play\": Event;\n    \"playing\": Event;\n    \"pointercancel\": PointerEvent;\n    \"pointerdown\": PointerEvent;\n    \"pointerenter\": PointerEvent;\n    \"pointerleave\": PointerEvent;\n    \"pointermove\": PointerEvent;\n    \"pointerout\": PointerEvent;\n    \"pointerover\": PointerEvent;\n    \"pointerup\": PointerEvent;\n    \"progress\": ProgressEvent;\n    \"ratechange\": Event;\n    \"reset\": Event;\n    \"resize\": UIEvent;\n    \"scroll\": Event;\n    \"scrollend\": Event;\n    \"securitypolicyviolation\": SecurityPolicyViolationEvent;\n    \"seeked\": Event;\n    \"seeking\": Event;\n    \"select\": Event;\n    \"selectionchange\": Event;\n    \"selectstart\": Event;\n    \"slotchange\": Event;\n    \"stalled\": Event;\n    \"submit\": SubmitEvent;\n    \"suspend\": Event;\n    \"timeupdate\": Event;\n    \"toggle\": Event;\n    \"touchcancel\": TouchEvent;\n    \"touchend\": TouchEvent;\n    \"touchmove\": TouchEvent;\n    \"touchstart\": TouchEvent;\n    \"transitioncancel\": TransitionEvent;\n    \"transitionend\": TransitionEvent;\n    \"transitionrun\": TransitionEvent;\n    \"transitionstart\": TransitionEvent;\n    \"volumechange\": Event;\n    \"waiting\": Event;\n    \"webkitanimationend\": Event;\n    \"webkitanimationiteration\": Event;\n    \"webkitanimationstart\": Event;\n    \"webkittransitionend\": Event;\n    \"wheel\": WheelEvent;\n}\n\ninterface GlobalEventHandlers {\n    /**\n     * Fires when the user aborts the download.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/abort_event)\n     */\n    onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationcancel_event) */\n    onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationend_event) */\n    onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationiteration_event) */\n    onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationstart_event) */\n    onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/auxclick_event) */\n    onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/beforeinput_event) */\n    onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/beforetoggle_event) */\n    onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Fires when the object loses the input focus.\n     * @param ev The focus event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/blur_event)\n     */\n    onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/cancel_event) */\n    oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when playback is possible, but would require further buffering.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canplay_event)\n     */\n    oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canplaythrough_event) */\n    oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Fires when the contents of the object or selection have changed.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/change_event)\n     */\n    onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Fires when the user clicks the left mouse button on the object\n     * @param ev The mouse event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/click_event)\n     */\n    onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/close_event) */\n    onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Fires when the user clicks the right mouse button in the client area, opening the context menu.\n     * @param ev The mouse event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/contextmenu_event)\n     */\n    oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/copy_event) */\n    oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/cuechange_event) */\n    oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/cut_event) */\n    oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n    /**\n     * Fires when the user double-clicks the object.\n     * @param ev The mouse event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/dblclick_event)\n     */\n    ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /**\n     * Fires on the source object continuously during a drag operation.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/drag_event)\n     */\n    ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    /**\n     * Fires on the source object when the user releases the mouse at the close of a drag operation.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragend_event)\n     */\n    ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    /**\n     * Fires on the target element when the user drags the object to a valid drop target.\n     * @param ev The drag event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragenter_event)\n     */\n    ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    /**\n     * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.\n     * @param ev The drag event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragleave_event)\n     */\n    ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    /**\n     * Fires on the target element continuously while the user drags the object over a valid drop target.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragover_event)\n     */\n    ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    /**\n     * Fires on the source object when the user starts to drag a text selection or selected object.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragstart_event)\n     */\n    ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/drop_event) */\n    ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    /**\n     * Occurs when the duration attribute is updated.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/durationchange_event)\n     */\n    ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when the media element is reset to its initial state.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/emptied_event)\n     */\n    onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when the end of playback is reached.\n     * @param ev The event\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ended_event)\n     */\n    onended: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Fires when an error occurs during object loading.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/error_event)\n     */\n    onerror: OnErrorEventHandler;\n    /**\n     * Fires when the object receives focus.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/focus_event)\n     */\n    onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/formdata_event) */\n    onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/gotpointercapture_event) */\n    ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/input_event) */\n    oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/invalid_event) */\n    oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Fires when the user presses a key.\n     * @param ev The keyboard event\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keydown_event)\n     */\n    onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n    /**\n     * Fires when the user presses an alphanumeric key.\n     * @param ev The event.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keypress_event)\n     */\n    onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n    /**\n     * Fires when the user releases a key.\n     * @param ev The keyboard event\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keyup_event)\n     */\n    onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n    /**\n     * Fires immediately after the browser loads the object.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGElement/load_event)\n     */\n    onload: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when media data is loaded at the current playback position.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadeddata_event)\n     */\n    onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when the duration and dimensions of the media have been determined.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadedmetadata_event)\n     */\n    onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when Internet Explorer begins looking for media data.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadstart_event)\n     */\n    onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/lostpointercapture_event) */\n    onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /**\n     * Fires when the user clicks the object with either mouse button.\n     * @param ev The mouse event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mousedown_event)\n     */\n    onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseenter_event) */\n    onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseleave_event) */\n    onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /**\n     * Fires when the user moves the mouse over the object.\n     * @param ev The mouse event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mousemove_event)\n     */\n    onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /**\n     * Fires when the user moves the mouse pointer outside the boundaries of the object.\n     * @param ev The mouse event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseout_event)\n     */\n    onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /**\n     * Fires when the user moves the mouse pointer into the object.\n     * @param ev The mouse event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseover_event)\n     */\n    onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /**\n     * Fires when the user releases a mouse button while the mouse is over the object.\n     * @param ev The mouse event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseup_event)\n     */\n    onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/paste_event) */\n    onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n    /**\n     * Occurs when playback is paused.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/pause_event)\n     */\n    onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when the play method is requested.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/play_event)\n     */\n    onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when the audio or video has started playing.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/playing_event)\n     */\n    onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointercancel_event) */\n    onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerdown_event) */\n    onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerenter_event) */\n    onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerleave_event) */\n    onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointermove_event) */\n    onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerout_event) */\n    onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerover_event) */\n    onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerup_event) */\n    onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    /**\n     * Occurs to indicate progress while downloading media data.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/progress_event)\n     */\n    onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;\n    /**\n     * Occurs when the playback rate is increased or decreased.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ratechange_event)\n     */\n    onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Fires when the user resets a form.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reset_event)\n     */\n    onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/resize_event) */\n    onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n    /**\n     * Fires when the user repositions the scroll box in the scroll bar on the object.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scroll_event)\n     */\n    onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scrollend_event) */\n    onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/securitypolicyviolation_event) */\n    onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;\n    /**\n     * Occurs when the seek operation ends.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeked_event)\n     */\n    onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when the current playback position is moved.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeking_event)\n     */\n    onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Fires when the current selection changes.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/select_event)\n     */\n    onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/selectionchange_event) */\n    onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/selectstart_event) */\n    onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/slotchange_event) */\n    onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when the download has stopped.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/stalled_event)\n     */\n    onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/submit_event) */\n    onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;\n    /**\n     * Occurs if the load operation has been intentionally halted.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/suspend_event)\n     */\n    onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs to indicate the current playback position.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/timeupdate_event)\n     */\n    ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement/toggle_event) */\n    ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchcancel_event) */\n    ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchend_event) */\n    ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchmove_event) */\n    ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchstart_event) */\n    ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitioncancel_event) */\n    ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionend_event) */\n    ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionrun_event) */\n    ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionstart_event) */\n    ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n    /**\n     * Occurs when the volume is changed, or playback is muted or unmuted.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/volumechange_event)\n     */\n    onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * Occurs when playback stops because the next frame of a video resource is not available.\n     * @param ev The event.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/waiting_event)\n     */\n    onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * @deprecated This is a legacy alias of \\`onanimationend\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationend_event)\n     */\n    onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * @deprecated This is a legacy alias of \\`onanimationiteration\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationiteration_event)\n     */\n    onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * @deprecated This is a legacy alias of \\`onanimationstart\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationstart_event)\n     */\n    onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /**\n     * @deprecated This is a legacy alias of \\`ontransitionend\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionend_event)\n     */\n    onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/wheel_event) */\n    onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;\n    addEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAllCollection) */\ninterface HTMLAllCollection {\n    /**\n     * Returns the number of elements in the collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAllCollection/length)\n     */\n    readonly length: number;\n    /**\n     * Returns the item with index index from the collection (determined by tree order).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAllCollection/item)\n     */\n    item(nameOrIndex?: string): HTMLCollection | Element | null;\n    /**\n     * Returns the item with ID or name name from the collection.\n     *\n     * If there are multiple matching items, then an HTMLCollection object containing all those elements is returned.\n     *\n     * Only button, form, iframe, input, map, meta, object, select, and textarea elements can have a name for the purpose of this method; their name is given by the value of their name attribute.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAllCollection/namedItem)\n     */\n    namedItem(name: string): HTMLCollection | Element | null;\n    [index: number]: Element;\n}\n\ndeclare var HTMLAllCollection: {\n    prototype: HTMLAllCollection;\n    new(): HTMLAllCollection;\n};\n\n/**\n * Hyperlink elements and provides special properties and methods (beyond those of the regular HTMLElement object interface that they inherit from) for manipulating the layout and presentation of such elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement)\n */\ninterface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils {\n    /**\n     * Sets or retrieves the character set used to encode the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/charset)\n     */\n    charset: string;\n    /**\n     * Sets or retrieves the coordinates of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/coords)\n     */\n    coords: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/download) */\n    download: string;\n    /**\n     * Sets or retrieves the language code of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/hreflang)\n     */\n    hreflang: string;\n    /**\n     * Sets or retrieves the shape of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/name)\n     */\n    name: string;\n    ping: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/referrerPolicy) */\n    referrerPolicy: string;\n    /**\n     * Sets or retrieves the relationship between the object and the destination of the link.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/rel)\n     */\n    rel: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/relList) */\n    readonly relList: DOMTokenList;\n    /**\n     * Sets or retrieves the relationship between the object and the destination of the link.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/rev)\n     */\n    rev: string;\n    /**\n     * Sets or retrieves the shape of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/shape)\n     */\n    shape: string;\n    /**\n     * Sets or retrieves the window or frame at which to target content.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/target)\n     */\n    target: string;\n    /**\n     * Retrieves or sets the text of the object as a string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/text)\n     */\n    text: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/type) */\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLAnchorElement: {\n    prototype: HTMLAnchorElement;\n    new(): HTMLAnchorElement;\n};\n\n/**\n * Provides special properties and methods (beyond those of the regular object HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <area> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement)\n */\ninterface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils {\n    /**\n     * Sets or retrieves a text alternative to the graphic.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/alt)\n     */\n    alt: string;\n    /**\n     * Sets or retrieves the coordinates of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/coords)\n     */\n    coords: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/download) */\n    download: string;\n    /**\n     * Sets or gets whether clicks in this region cause action.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/noHref)\n     */\n    noHref: boolean;\n    ping: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/referrerPolicy) */\n    referrerPolicy: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/rel) */\n    rel: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/relList) */\n    readonly relList: DOMTokenList;\n    /**\n     * Sets or retrieves the shape of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/shape)\n     */\n    shape: string;\n    /**\n     * Sets or retrieves the window or frame at which to target content.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/target)\n     */\n    target: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLAreaElement: {\n    prototype: HTMLAreaElement;\n    new(): HTMLAreaElement;\n};\n\n/**\n * Provides access to the properties of <audio> elements, as well as methods to manipulate them. It derives from the HTMLMediaElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAudioElement)\n */\ninterface HTMLAudioElement extends HTMLMediaElement {\n    addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLAudioElement: {\n    prototype: HTMLAudioElement;\n    new(): HTMLAudioElement;\n};\n\n/**\n * A HTML line break element (<br>). It inherits from HTMLElement.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBRElement)\n */\ninterface HTMLBRElement extends HTMLElement {\n    /**\n     * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBRElement/clear)\n     */\n    clear: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLBRElement: {\n    prototype: HTMLBRElement;\n    new(): HTMLBRElement;\n};\n\n/**\n * Contains the base URI\\xA0for a document. This object inherits all of the properties and methods as described in the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBaseElement)\n */\ninterface HTMLBaseElement extends HTMLElement {\n    /**\n     * Gets or sets the baseline URL on which relative links are based.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBaseElement/href)\n     */\n    href: string;\n    /**\n     * Sets or retrieves the window or frame at which to target content.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBaseElement/target)\n     */\n    target: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLBaseElement: {\n    prototype: HTMLBaseElement;\n    new(): HTMLBaseElement;\n};\n\ninterface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {\n}\n\n/**\n * Provides special properties (beyond those inherited from the regular HTMLElement interface) for manipulating <body> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement)\n */\ninterface HTMLBodyElement extends HTMLElement, WindowEventHandlers {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/aLink)\n     */\n    aLink: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/background)\n     */\n    background: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/bgColor)\n     */\n    bgColor: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/link)\n     */\n    link: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/text)\n     */\n    text: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/vLink)\n     */\n    vLink: string;\n    addEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLBodyElement: {\n    prototype: HTMLBodyElement;\n    new(): HTMLBodyElement;\n};\n\n/**\n * Provides properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <button> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement)\n */\ninterface HTMLButtonElement extends HTMLElement, PopoverInvokerElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/disabled) */\n    disabled: boolean;\n    /**\n     * Retrieves a reference to the form that the object is embedded in.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/form)\n     */\n    readonly form: HTMLFormElement | null;\n    /**\n     * Overrides the action attribute (where the data on a form is sent) on the parent form element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formAction)\n     */\n    formAction: string;\n    /**\n     * Used to override the encoding (formEnctype attribute) specified on the form element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formEnctype)\n     */\n    formEnctype: string;\n    /**\n     * Overrides the submit method attribute previously specified on a form element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formMethod)\n     */\n    formMethod: string;\n    /**\n     * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a \"save draft\"-type submit option.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formNoValidate)\n     */\n    formNoValidate: boolean;\n    /**\n     * Overrides the target attribute on a form element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formTarget)\n     */\n    formTarget: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/labels) */\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    /**\n     * Sets or retrieves the name of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/name)\n     */\n    name: string;\n    /**\n     * Gets the classification and default behavior of the button.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/type)\n     */\n    type: \"submit\" | \"reset\" | \"button\";\n    /**\n     * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as \"this is a required field\". The result is that the user sees validation messages without actually submitting.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/validationMessage)\n     */\n    readonly validationMessage: string;\n    /**\n     * Returns a  ValidityState object that represents the validity states of an element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/validity)\n     */\n    readonly validity: ValidityState;\n    /**\n     * Sets or retrieves the default or selected value of the control.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/value)\n     */\n    value: string;\n    /**\n     * Returns whether an element will successfully validate based on forms validation rules and constraints.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/willValidate)\n     */\n    readonly willValidate: boolean;\n    /** Returns whether a form will validate when it is submitted, without having to submit it. */\n    checkValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/reportValidity) */\n    reportValidity(): boolean;\n    /**\n     * Sets a custom error message that is displayed when a form is submitted.\n     * @param error Sets a custom error message that is displayed when a form is submitted.\n     */\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLButtonElement: {\n    prototype: HTMLButtonElement;\n    new(): HTMLButtonElement;\n};\n\n/**\n * Provides properties and methods for manipulating the layout and presentation of <canvas> elements. The HTMLCanvasElement interface also inherits the properties and methods of the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement)\n */\ninterface HTMLCanvasElement extends HTMLElement {\n    /**\n     * Gets or sets the height of a canvas element on a document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/height)\n     */\n    height: number;\n    /**\n     * Gets or sets the width of a canvas element on a document.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/width)\n     */\n    width: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/captureStream) */\n    captureStream(frameRequestRate?: number): MediaStream;\n    /**\n     * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas.\n     * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext(\"2d\"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext(\"experimental-webgl\");\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/getContext)\n     */\n    getContext(contextId: \"2d\", options?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D | null;\n    getContext(contextId: \"bitmaprenderer\", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null;\n    getContext(contextId: \"webgl\", options?: WebGLContextAttributes): WebGLRenderingContext | null;\n    getContext(contextId: \"webgl2\", options?: WebGLContextAttributes): WebGL2RenderingContext | null;\n    getContext(contextId: string, options?: any): RenderingContext | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/toBlob) */\n    toBlob(callback: BlobCallback, type?: string, quality?: any): void;\n    /**\n     * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element.\n     * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/toDataURL)\n     */\n    toDataURL(type?: string, quality?: any): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen) */\n    transferControlToOffscreen(): OffscreenCanvas;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLCanvasElement: {\n    prototype: HTMLCanvasElement;\n    new(): HTMLCanvasElement;\n};\n\n/**\n * A generic collection (array-like object similar to arguments) of elements (in document order) and offers methods and properties for selecting from the list.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCollection)\n */\ninterface HTMLCollectionBase {\n    /**\n     * Sets or retrieves the number of objects in a collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCollection/length)\n     */\n    readonly length: number;\n    /**\n     * Retrieves an object from various collections.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCollection/item)\n     */\n    item(index: number): Element | null;\n    [index: number]: Element;\n}\n\ninterface HTMLCollection extends HTMLCollectionBase {\n    /**\n     * Retrieves a select object or an object from an options collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCollection/namedItem)\n     */\n    namedItem(name: string): Element | null;\n}\n\ndeclare var HTMLCollection: {\n    prototype: HTMLCollection;\n    new(): HTMLCollection;\n};\n\ninterface HTMLCollectionOf<T extends Element> extends HTMLCollectionBase {\n    item(index: number): T | null;\n    namedItem(name: string): T | null;\n    [index: number]: T;\n}\n\n/**\n * Provides special properties (beyond those of the regular HTMLElement interface it also has available to it by inheritance) for manipulating definition list (<dl>) elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDListElement)\n */\ninterface HTMLDListElement extends HTMLElement {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDListElement/compact)\n     */\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDListElement: {\n    prototype: HTMLDListElement;\n    new(): HTMLDListElement;\n};\n\n/**\n * Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <data> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDataElement)\n */\ninterface HTMLDataElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDataElement/value) */\n    value: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDataElement: {\n    prototype: HTMLDataElement;\n    new(): HTMLDataElement;\n};\n\n/**\n * Provides special properties (beyond the HTMLElement object interface it also has available to it by inheritance) to manipulate <datalist> elements and their content.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDataListElement)\n */\ninterface HTMLDataListElement extends HTMLElement {\n    /**\n     * Returns an HTMLCollection of the option elements of the datalist element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDataListElement/options)\n     */\n    readonly options: HTMLCollectionOf<HTMLOptionElement>;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDataListElement: {\n    prototype: HTMLDataListElement;\n    new(): HTMLDataListElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement) */\ninterface HTMLDetailsElement extends HTMLElement {\n    name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement/open) */\n    open: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDetailsElement: {\n    prototype: HTMLDetailsElement;\n    new(): HTMLDetailsElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement) */\ninterface HTMLDialogElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/open) */\n    open: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/returnValue) */\n    returnValue: string;\n    /**\n     * Closes the dialog element.\n     *\n     * The argument, if provided, provides a return value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/close)\n     */\n    close(returnValue?: string): void;\n    /**\n     * Displays the dialog element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/show)\n     */\n    show(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/showModal) */\n    showModal(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDialogElement: {\n    prototype: HTMLDialogElement;\n    new(): HTMLDialogElement;\n};\n\n/** @deprecated */\ninterface HTMLDirectoryElement extends HTMLElement {\n    /** @deprecated */\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** @deprecated */\ndeclare var HTMLDirectoryElement: {\n    prototype: HTMLDirectoryElement;\n    new(): HTMLDirectoryElement;\n};\n\n/**\n * Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <div> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDivElement)\n */\ninterface HTMLDivElement extends HTMLElement {\n    /**\n     * Sets or retrieves how the object is aligned with adjacent text.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDivElement/align)\n     */\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDivElement: {\n    prototype: HTMLDivElement;\n    new(): HTMLDivElement;\n};\n\n/** @deprecated use Document */\ninterface HTMLDocument extends Document {\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** @deprecated */\ndeclare var HTMLDocument: {\n    prototype: HTMLDocument;\n    new(): HTMLDocument;\n};\n\ninterface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap {\n}\n\n/**\n * Any HTML element. Some elements directly implement this interface, while others implement it via an interface that inherits it.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement)\n */\ninterface HTMLElement extends Element, ElementCSSInlineStyle, ElementContentEditable, GlobalEventHandlers, HTMLOrSVGElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKey) */\n    accessKey: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKeyLabel) */\n    readonly accessKeyLabel: string;\n    autocapitalize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dir) */\n    dir: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/draggable) */\n    draggable: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidden) */\n    hidden: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inert) */\n    inert: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/innerText) */\n    innerText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/lang) */\n    lang: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetHeight) */\n    readonly offsetHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetLeft) */\n    readonly offsetLeft: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetParent) */\n    readonly offsetParent: Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetTop) */\n    readonly offsetTop: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetWidth) */\n    readonly offsetWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/outerText) */\n    outerText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover) */\n    popover: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/spellcheck) */\n    spellcheck: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/title) */\n    title: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/translate) */\n    translate: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/attachInternals) */\n    attachInternals(): ElementInternals;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/click) */\n    click(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidePopover) */\n    hidePopover(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/showPopover) */\n    showPopover(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/togglePopover) */\n    togglePopover(force?: boolean): boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLElement: {\n    prototype: HTMLElement;\n    new(): HTMLElement;\n};\n\n/**\n * Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <embed> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement)\n */\ninterface HTMLEmbedElement extends HTMLElement {\n    /** @deprecated */\n    align: string;\n    /** Sets or retrieves the height of the object. */\n    height: string;\n    /**\n     * Sets or retrieves the name of the object.\n     * @deprecated\n     */\n    name: string;\n    /** Sets or retrieves a URL to be loaded by the object. */\n    src: string;\n    type: string;\n    /** Sets or retrieves the width of the object. */\n    width: string;\n    getSVGDocument(): Document | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLEmbedElement: {\n    prototype: HTMLEmbedElement;\n    new(): HTMLEmbedElement;\n};\n\n/**\n * Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <fieldset> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement)\n */\ninterface HTMLFieldSetElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/disabled) */\n    disabled: boolean;\n    /**\n     * Returns an HTMLCollection of the form controls in the element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/elements)\n     */\n    readonly elements: HTMLCollection;\n    /**\n     * Retrieves a reference to the form that the object is embedded in.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/form)\n     */\n    readonly form: HTMLFormElement | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/name) */\n    name: string;\n    /**\n     * Returns the string \"fieldset\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/type)\n     */\n    readonly type: string;\n    /**\n     * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as \"this is a required field\". The result is that the user sees validation messages without actually submitting.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/validationMessage)\n     */\n    readonly validationMessage: string;\n    /**\n     * Returns a  ValidityState object that represents the validity states of an element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/validity)\n     */\n    readonly validity: ValidityState;\n    /**\n     * Returns whether an element will successfully validate based on forms validation rules and constraints.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/willValidate)\n     */\n    readonly willValidate: boolean;\n    /** Returns whether a form will validate when it is submitted, without having to submit it. */\n    checkValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/reportValidity) */\n    reportValidity(): boolean;\n    /**\n     * Sets a custom error message that is displayed when a form is submitted.\n     * @param error Sets a custom error message that is displayed when a form is submitted.\n     */\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLFieldSetElement: {\n    prototype: HTMLFieldSetElement;\n    new(): HTMLFieldSetElement;\n};\n\n/**\n * Implements the document object model (DOM) representation of the font element. The HTML Font Element <font> defines the font size, font face and color of text.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFontElement)\n */\ninterface HTMLFontElement extends HTMLElement {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFontElement/color)\n     */\n    color: string;\n    /**\n     * Sets or retrieves the current typeface family.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFontElement/face)\n     */\n    face: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFontElement/size)\n     */\n    size: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** @deprecated */\ndeclare var HTMLFontElement: {\n    prototype: HTMLFontElement;\n    new(): HTMLFontElement;\n};\n\n/**\n * A collection of HTML form control elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormControlsCollection)\n */\ninterface HTMLFormControlsCollection extends HTMLCollectionBase {\n    /**\n     * Returns the item with ID or name name from the collection.\n     *\n     * If there are multiple matching items, then a RadioNodeList object containing all those elements is returned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormControlsCollection/namedItem)\n     */\n    namedItem(name: string): RadioNodeList | Element | null;\n}\n\ndeclare var HTMLFormControlsCollection: {\n    prototype: HTMLFormControlsCollection;\n    new(): HTMLFormControlsCollection;\n};\n\n/**\n * A <form> element in the DOM; it allows access to and in some cases modification of aspects of the form, as well as access to its component elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement)\n */\ninterface HTMLFormElement extends HTMLElement {\n    /**\n     * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/acceptCharset)\n     */\n    acceptCharset: string;\n    /**\n     * Sets or retrieves the URL to which the form content is sent for processing.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/action)\n     */\n    action: string;\n    /**\n     * Specifies whether autocomplete is applied to an editable text field.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/autocomplete)\n     */\n    autocomplete: AutoFillBase;\n    /**\n     * Retrieves a collection, in source order, of all controls in a given form.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/elements)\n     */\n    readonly elements: HTMLFormControlsCollection;\n    /**\n     * Sets or retrieves the MIME encoding for the form.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/encoding)\n     */\n    encoding: string;\n    /**\n     * Sets or retrieves the encoding type for the form.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/enctype)\n     */\n    enctype: string;\n    /**\n     * Sets or retrieves the number of objects in a collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/length)\n     */\n    readonly length: number;\n    /**\n     * Sets or retrieves how to send the form data to the server.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/method)\n     */\n    method: string;\n    /**\n     * Sets or retrieves the name of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/name)\n     */\n    name: string;\n    /**\n     * Designates a form that is not validated when submitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/noValidate)\n     */\n    noValidate: boolean;\n    rel: string;\n    readonly relList: DOMTokenList;\n    /**\n     * Sets or retrieves the window or frame at which to target content.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/target)\n     */\n    target: string;\n    /**\n     * Returns whether a form will validate when it is submitted, without having to submit it.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/checkValidity)\n     */\n    checkValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reportValidity) */\n    reportValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/requestSubmit) */\n    requestSubmit(submitter?: HTMLElement | null): void;\n    /**\n     * Fires when the user resets a form.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reset)\n     */\n    reset(): void;\n    /**\n     * Fires when a FORM is about to be submitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/submit)\n     */\n    submit(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: Element;\n    [name: string]: any;\n}\n\ndeclare var HTMLFormElement: {\n    prototype: HTMLFormElement;\n    new(): HTMLFormElement;\n};\n\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement)\n */\ninterface HTMLFrameElement extends HTMLElement {\n    /**\n     * Retrieves the document object of the page or frame.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/contentDocument)\n     */\n    readonly contentDocument: Document | null;\n    /**\n     * Retrieves the object of the specified.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/contentWindow)\n     */\n    readonly contentWindow: WindowProxy | null;\n    /**\n     * Sets or retrieves whether to display a border for the frame.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/frameBorder)\n     */\n    frameBorder: string;\n    /**\n     * Sets or retrieves a URI to a long description of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/longDesc)\n     */\n    longDesc: string;\n    /**\n     * Sets or retrieves the top and bottom margin heights before displaying the text in a frame.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/marginHeight)\n     */\n    marginHeight: string;\n    /**\n     * Sets or retrieves the left and right margin widths before displaying the text in a frame.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/marginWidth)\n     */\n    marginWidth: string;\n    /**\n     * Sets or retrieves the frame name.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/name)\n     */\n    name: string;\n    /**\n     * Sets or retrieves whether the user can resize the frame.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/noResize)\n     */\n    noResize: boolean;\n    /**\n     * Sets or retrieves whether the frame can be scrolled.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/scrolling)\n     */\n    scrolling: string;\n    /**\n     * Sets or retrieves a URL to be loaded by the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/src)\n     */\n    src: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** @deprecated */\ndeclare var HTMLFrameElement: {\n    prototype: HTMLFrameElement;\n    new(): HTMLFrameElement;\n};\n\ninterface HTMLFrameSetElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {\n}\n\n/**\n * Provides special properties (beyond those of the regular HTMLElement interface they also inherit) for manipulating <frameset> elements.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameSetElement)\n */\ninterface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers {\n    /**\n     * Sets or retrieves the frame widths of the object.\n     * @deprecated\n     */\n    cols: string;\n    /**\n     * Sets or retrieves the frame heights of the object.\n     * @deprecated\n     */\n    rows: string;\n    addEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** @deprecated */\ndeclare var HTMLFrameSetElement: {\n    prototype: HTMLFrameSetElement;\n    new(): HTMLFrameSetElement;\n};\n\n/**\n * Provides special properties (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating <hr> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLHRElement)\n */\ninterface HTMLHRElement extends HTMLElement {\n    /**\n     * Sets or retrieves how the object is aligned with adjacent text.\n     * @deprecated\n     */\n    align: string;\n    /** @deprecated */\n    color: string;\n    /**\n     * Sets or retrieves whether the horizontal rule is drawn with 3-D shading.\n     * @deprecated\n     */\n    noShade: boolean;\n    /** @deprecated */\n    size: string;\n    /**\n     * Sets or retrieves the width of the object.\n     * @deprecated\n     */\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLHRElement: {\n    prototype: HTMLHRElement;\n    new(): HTMLHRElement;\n};\n\n/**\n * Contains the descriptive information, or metadata, for a document. This object inherits all of the properties and methods described in the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLHeadElement)\n */\ninterface HTMLHeadElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLHeadElement: {\n    prototype: HTMLHeadElement;\n    new(): HTMLHeadElement;\n};\n\n/**\n * The different heading elements. It inherits methods and properties from the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLHeadingElement)\n */\ninterface HTMLHeadingElement extends HTMLElement {\n    /**\n     * Sets or retrieves a value that indicates the table alignment.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLHeadingElement/align)\n     */\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLHeadingElement: {\n    prototype: HTMLHeadingElement;\n    new(): HTMLHeadingElement;\n};\n\n/**\n * Serves as the root node for a given HTML document. This object inherits the properties and methods described in the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLHtmlElement)\n */\ninterface HTMLHtmlElement extends HTMLElement {\n    /**\n     * Sets or retrieves the DTD version that governs the current document.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLHtmlElement/version)\n     */\n    version: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLHtmlElement: {\n    prototype: HTMLHtmlElement;\n    new(): HTMLHtmlElement;\n};\n\ninterface HTMLHyperlinkElementUtils {\n    /**\n     * Returns the hyperlink's URL's fragment (includes leading \"#\" if non-empty).\n     *\n     * Can be set, to change the URL's fragment (ignores leading \"#\").\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/hash)\n     */\n    hash: string;\n    /**\n     * Returns the hyperlink's URL's host and port (if different from the default port for the scheme).\n     *\n     * Can be set, to change the URL's host and port.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/host)\n     */\n    host: string;\n    /**\n     * Returns the hyperlink's URL's host.\n     *\n     * Can be set, to change the URL's host.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/hostname)\n     */\n    hostname: string;\n    /**\n     * Returns the hyperlink's URL.\n     *\n     * Can be set, to change the URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/href)\n     */\n    href: string;\n    toString(): string;\n    /**\n     * Returns the hyperlink's URL's origin.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/origin)\n     */\n    readonly origin: string;\n    /**\n     * Returns the hyperlink's URL's password.\n     *\n     * Can be set, to change the URL's password.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/password)\n     */\n    password: string;\n    /**\n     * Returns the hyperlink's URL's path.\n     *\n     * Can be set, to change the URL's path.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/pathname)\n     */\n    pathname: string;\n    /**\n     * Returns the hyperlink's URL's port.\n     *\n     * Can be set, to change the URL's port.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/port)\n     */\n    port: string;\n    /**\n     * Returns the hyperlink's URL's scheme.\n     *\n     * Can be set, to change the URL's scheme.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/protocol)\n     */\n    protocol: string;\n    /**\n     * Returns the hyperlink's URL's query (includes leading \"?\" if non-empty).\n     *\n     * Can be set, to change the URL's query (ignores leading \"?\").\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/search)\n     */\n    search: string;\n    /**\n     * Returns the hyperlink's URL's username.\n     *\n     * Can be set, to change the URL's username.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/username)\n     */\n    username: string;\n}\n\n/**\n * Provides special properties and methods (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of inline frame elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement)\n */\ninterface HTMLIFrameElement extends HTMLElement {\n    /**\n     * Sets or retrieves how the object is aligned with adjacent text.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/align)\n     */\n    align: string;\n    allow: string;\n    allowFullscreen: boolean;\n    /**\n     * Retrieves the document object of the page or frame.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/contentDocument)\n     */\n    readonly contentDocument: Document | null;\n    /**\n     * Retrieves the object of the specified.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/contentWindow)\n     */\n    readonly contentWindow: WindowProxy | null;\n    /**\n     * Sets or retrieves whether to display a border for the frame.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/frameBorder)\n     */\n    frameBorder: string;\n    /**\n     * Sets or retrieves the height of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/height)\n     */\n    height: string;\n    loading: string;\n    /**\n     * Sets or retrieves a URI to a long description of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/longDesc)\n     */\n    longDesc: string;\n    /**\n     * Sets or retrieves the top and bottom margin heights before displaying the text in a frame.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/marginHeight)\n     */\n    marginHeight: string;\n    /**\n     * Sets or retrieves the left and right margin widths before displaying the text in a frame.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/marginWidth)\n     */\n    marginWidth: string;\n    /**\n     * Sets or retrieves the frame name.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/name)\n     */\n    name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/referrerPolicy) */\n    referrerPolicy: ReferrerPolicy;\n    readonly sandbox: DOMTokenList;\n    /**\n     * Sets or retrieves whether the frame can be scrolled.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/scrolling)\n     */\n    scrolling: string;\n    /**\n     * Sets or retrieves a URL to be loaded by the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/src)\n     */\n    src: string;\n    /**\n     * Sets or retrives the content of the page that is to contain.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/srcdoc)\n     */\n    srcdoc: string;\n    /**\n     * Sets or retrieves the width of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/width)\n     */\n    width: string;\n    getSVGDocument(): Document | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLIFrameElement: {\n    prototype: HTMLIFrameElement;\n    new(): HTMLIFrameElement;\n};\n\n/**\n * Provides special properties and methods for manipulating <img> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement)\n */\ninterface HTMLImageElement extends HTMLElement {\n    /**\n     * Sets or retrieves how the object is aligned with adjacent text.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/align)\n     */\n    align: string;\n    /**\n     * Sets or retrieves a text alternative to the graphic.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/alt)\n     */\n    alt: string;\n    /**\n     * Specifies the properties of a border drawn around an object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/border)\n     */\n    border: string;\n    /**\n     * Retrieves whether the object is fully loaded.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/complete)\n     */\n    readonly complete: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/crossOrigin) */\n    crossOrigin: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/currentSrc) */\n    readonly currentSrc: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/decoding) */\n    decoding: \"async\" | \"sync\" | \"auto\";\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/fetchPriority) */\n    fetchPriority: string;\n    /**\n     * Sets or retrieves the height of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/height)\n     */\n    height: number;\n    /**\n     * Sets or retrieves the width of the border to draw around the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/hspace)\n     */\n    hspace: number;\n    /**\n     * Sets or retrieves whether the image is a server-side image map.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/isMap)\n     */\n    isMap: boolean;\n    /**\n     * Sets or retrieves the policy for loading image elements that are outside the viewport.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/loading)\n     */\n    loading: \"eager\" | \"lazy\";\n    /**\n     * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/longDesc)\n     */\n    longDesc: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/lowsrc)\n     */\n    lowsrc: string;\n    /**\n     * Sets or retrieves the name of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/name)\n     */\n    name: string;\n    /**\n     * The original height of the image resource before sizing.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/naturalHeight)\n     */\n    readonly naturalHeight: number;\n    /**\n     * The original width of the image resource before sizing.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/naturalWidth)\n     */\n    readonly naturalWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/referrerPolicy) */\n    referrerPolicy: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/sizes) */\n    sizes: string;\n    /**\n     * The address or URL of the a media resource that is to be considered.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/src)\n     */\n    src: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/srcset) */\n    srcset: string;\n    /**\n     * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/useMap)\n     */\n    useMap: string;\n    /**\n     * Sets or retrieves the vertical margin for the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/vspace)\n     */\n    vspace: number;\n    /**\n     * Sets or retrieves the width of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/width)\n     */\n    width: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/x) */\n    readonly x: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/y) */\n    readonly y: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/decode) */\n    decode(): Promise<void>;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLImageElement: {\n    prototype: HTMLImageElement;\n    new(): HTMLImageElement;\n};\n\n/**\n * Provides special properties and methods for manipulating the options, layout, and presentation of <input> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement)\n */\ninterface HTMLInputElement extends HTMLElement, PopoverInvokerElement {\n    /** Sets or retrieves a comma-separated list of content types. */\n    accept: string;\n    /**\n     * Sets or retrieves how the object is aligned with adjacent text.\n     * @deprecated\n     */\n    align: string;\n    /** Sets or retrieves a text alternative to the graphic. */\n    alt: string;\n    /**\n     * Specifies whether autocomplete is applied to an editable text field.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/autocomplete)\n     */\n    autocomplete: AutoFill;\n    capture: string;\n    /** Sets or retrieves the state of the check box or radio button. */\n    checked: boolean;\n    /** Sets or retrieves the state of the check box or radio button. */\n    defaultChecked: boolean;\n    /** Sets or retrieves the initial contents of the object. */\n    defaultValue: string;\n    dirName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/disabled) */\n    disabled: boolean;\n    /**\n     * Returns a FileList object on a file type input object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/files)\n     */\n    files: FileList | null;\n    /** Retrieves a reference to the form that the object is embedded in. */\n    readonly form: HTMLFormElement | null;\n    /**\n     * Overrides the action attribute (where the data on a form is sent) on the parent form element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formAction)\n     */\n    formAction: string;\n    /**\n     * Used to override the encoding (formEnctype attribute) specified on the form element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formEnctype)\n     */\n    formEnctype: string;\n    /**\n     * Overrides the submit method attribute previously specified on a form element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formMethod)\n     */\n    formMethod: string;\n    /**\n     * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a \"save draft\"-type submit option.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formNoValidate)\n     */\n    formNoValidate: boolean;\n    /**\n     * Overrides the target attribute on a form element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formTarget)\n     */\n    formTarget: string;\n    /**\n     * Sets or retrieves the height of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/height)\n     */\n    height: number;\n    /** When set, overrides the rendering of checkbox controls so that the current value is not visible. */\n    indeterminate: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/labels) */\n    readonly labels: NodeListOf<HTMLLabelElement> | null;\n    /**\n     * Specifies the ID of a pre-defined datalist of options for an input element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/list)\n     */\n    readonly list: HTMLDataListElement | null;\n    /** Defines the maximum acceptable value for an input element with type=\"number\".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. */\n    max: string;\n    /** Sets or retrieves the maximum number of characters that the user can enter in a text control. */\n    maxLength: number;\n    /** Defines the minimum acceptable value for an input element with type=\"number\". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. */\n    min: string;\n    minLength: number;\n    /**\n     * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/multiple)\n     */\n    multiple: boolean;\n    /** Sets or retrieves the name of the object. */\n    name: string;\n    /**\n     * Gets or sets a string containing a regular expression that the user's input must match.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/pattern)\n     */\n    pattern: string;\n    /**\n     * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/placeholder)\n     */\n    placeholder: string;\n    readOnly: boolean;\n    /**\n     * When present, marks an element that can't be submitted without a value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/required)\n     */\n    required: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/selectionDirection) */\n    selectionDirection: \"forward\" | \"backward\" | \"none\" | null;\n    /** Gets or sets the end position or offset of a text selection. */\n    selectionEnd: number | null;\n    /** Gets or sets the starting position or offset of a text selection. */\n    selectionStart: number | null;\n    size: number;\n    /** The address or URL of the a media resource that is to be considered. */\n    src: string;\n    /** Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. */\n    step: string;\n    /** Returns the content type of the object. */\n    type: string;\n    /**\n     * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map.\n     * @deprecated\n     */\n    useMap: string;\n    /**\n     * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as \"this is a required field\". The result is that the user sees validation messages without actually submitting.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/validationMessage)\n     */\n    readonly validationMessage: string;\n    /**\n     * Returns a  ValidityState object that represents the validity states of an element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/validity)\n     */\n    readonly validity: ValidityState;\n    /** Returns the value of the data at the cursor's current position. */\n    value: string;\n    /** Returns a Date object representing the form control's value, if applicable; otherwise, returns null. Can be set, to change the value. Throws an \"InvalidStateError\" DOMException if the control isn't date- or time-based. */\n    valueAsDate: Date | null;\n    /** Returns the input field value as a number. */\n    valueAsNumber: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/webkitEntries) */\n    readonly webkitEntries: ReadonlyArray<FileSystemEntry>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/webkitdirectory) */\n    webkitdirectory: boolean;\n    /**\n     * Sets or retrieves the width of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/width)\n     */\n    width: number;\n    /**\n     * Returns whether an element will successfully validate based on forms validation rules and constraints.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/willValidate)\n     */\n    readonly willValidate: boolean;\n    /**\n     * Returns whether a form will validate when it is submitted, without having to submit it.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/checkValidity)\n     */\n    checkValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/reportValidity) */\n    reportValidity(): boolean;\n    /**\n     * Makes the selection equal to the current object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/select)\n     */\n    select(): void;\n    /**\n     * Sets a custom error message that is displayed when a form is submitted.\n     * @param error Sets a custom error message that is displayed when a form is submitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/setCustomValidity)\n     */\n    setCustomValidity(error: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/setRangeText) */\n    setRangeText(replacement: string): void;\n    setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;\n    /**\n     * Sets the start and end positions of a selection in a text field.\n     * @param start The offset into the text field for the start of the selection.\n     * @param end The offset into the text field for the end of the selection.\n     * @param direction The direction in which the selection is performed.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/setSelectionRange)\n     */\n    setSelectionRange(start: number | null, end: number | null, direction?: \"forward\" | \"backward\" | \"none\"): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/showPicker) */\n    showPicker(): void;\n    /**\n     * Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value.\n     * @param n Value to decrement the value by.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/stepDown)\n     */\n    stepDown(n?: number): void;\n    /**\n     * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value.\n     * @param n Value to increment the value by.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/stepUp)\n     */\n    stepUp(n?: number): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLInputElement: {\n    prototype: HTMLInputElement;\n    new(): HTMLInputElement;\n};\n\n/**\n * Exposes specific properties and methods (beyond those defined by regular HTMLElement interface it also has available to it by inheritance) for manipulating list elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLIElement)\n */\ninterface HTMLLIElement extends HTMLElement {\n    /** @deprecated */\n    type: string;\n    /** Sets or retrieves the value of a list item. */\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLLIElement: {\n    prototype: HTMLLIElement;\n    new(): HTMLLIElement;\n};\n\n/**\n * Gives access to properties specific to <label> elements. It inherits methods and properties from the base HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLabelElement)\n */\ninterface HTMLLabelElement extends HTMLElement {\n    /**\n     * Returns the form control that is associated with this element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLabelElement/control)\n     */\n    readonly control: HTMLElement | null;\n    /**\n     * Retrieves a reference to the form that the object is embedded in.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLabelElement/form)\n     */\n    readonly form: HTMLFormElement | null;\n    /**\n     * Sets or retrieves the object to which the given label object is assigned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLabelElement/htmlFor)\n     */\n    htmlFor: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLLabelElement: {\n    prototype: HTMLLabelElement;\n    new(): HTMLLabelElement;\n};\n\n/**\n * The HTMLLegendElement is an interface allowing to access properties of the <legend> elements. It inherits properties and methods from the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLegendElement)\n */\ninterface HTMLLegendElement extends HTMLElement {\n    /** @deprecated */\n    align: string;\n    /** Retrieves a reference to the form that the object is embedded in. */\n    readonly form: HTMLFormElement | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLLegendElement: {\n    prototype: HTMLLegendElement;\n    new(): HTMLLegendElement;\n};\n\n/**\n * Reference information for external resources and the relationship of those resources to a document and vice-versa. This object inherits all of the properties and methods of the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement)\n */\ninterface HTMLLinkElement extends HTMLElement, LinkStyle {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/as) */\n    as: string;\n    /**\n     * Sets or retrieves the character set used to encode the object.\n     * @deprecated\n     */\n    charset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/crossOrigin) */\n    crossOrigin: string | null;\n    disabled: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/fetchPriority) */\n    fetchPriority: string;\n    /**\n     * Sets or retrieves a destination URL or an anchor point.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/href)\n     */\n    href: string;\n    /**\n     * Sets or retrieves the language code of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/hreflang)\n     */\n    hreflang: string;\n    imageSizes: string;\n    imageSrcset: string;\n    integrity: string;\n    /** Sets or retrieves the media type. */\n    media: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/referrerPolicy) */\n    referrerPolicy: string;\n    /**\n     * Sets or retrieves the relationship between the object and the destination of the link.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/rel)\n     */\n    rel: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/relList) */\n    readonly relList: DOMTokenList;\n    /**\n     * Sets or retrieves the relationship between the object and the destination of the link.\n     * @deprecated\n     */\n    rev: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/sizes) */\n    readonly sizes: DOMTokenList;\n    /**\n     * Sets or retrieves the window or frame at which to target content.\n     * @deprecated\n     */\n    target: string;\n    /** Sets or retrieves the MIME type of the object. */\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLLinkElement: {\n    prototype: HTMLLinkElement;\n    new(): HTMLLinkElement;\n};\n\n/**\n * Provides special properties and methods (beyond those of the regular object HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of map elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMapElement)\n */\ninterface HTMLMapElement extends HTMLElement {\n    /**\n     * Retrieves a collection of the area objects defined for the given map object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMapElement/areas)\n     */\n    readonly areas: HTMLCollection;\n    /**\n     * Sets or retrieves the name of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMapElement/name)\n     */\n    name: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMapElement: {\n    prototype: HTMLMapElement;\n    new(): HTMLMapElement;\n};\n\n/**\n * Provides methods to manipulate <marquee> elements.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMarqueeElement)\n */\ninterface HTMLMarqueeElement extends HTMLElement {\n    /** @deprecated */\n    behavior: string;\n    /** @deprecated */\n    bgColor: string;\n    /** @deprecated */\n    direction: string;\n    /** @deprecated */\n    height: string;\n    /** @deprecated */\n    hspace: number;\n    /** @deprecated */\n    loop: number;\n    /** @deprecated */\n    scrollAmount: number;\n    /** @deprecated */\n    scrollDelay: number;\n    /** @deprecated */\n    trueSpeed: boolean;\n    /** @deprecated */\n    vspace: number;\n    /** @deprecated */\n    width: string;\n    /** @deprecated */\n    start(): void;\n    /** @deprecated */\n    stop(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** @deprecated */\ndeclare var HTMLMarqueeElement: {\n    prototype: HTMLMarqueeElement;\n    new(): HTMLMarqueeElement;\n};\n\ninterface HTMLMediaElementEventMap extends HTMLElementEventMap {\n    \"encrypted\": MediaEncryptedEvent;\n    \"waitingforkey\": Event;\n}\n\n/**\n * Adds to HTMLElement the properties and methods needed to support basic media-related capabilities\\xA0that are\\xA0common to audio and video.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement)\n */\ninterface HTMLMediaElement extends HTMLElement {\n    /**\n     * Gets or sets a value that indicates whether to start playing the media automatically.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/autoplay)\n     */\n    autoplay: boolean;\n    /**\n     * Gets a collection of buffered time ranges.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/buffered)\n     */\n    readonly buffered: TimeRanges;\n    /**\n     * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/controls)\n     */\n    controls: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/crossOrigin) */\n    crossOrigin: string | null;\n    /**\n     * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/currentSrc)\n     */\n    readonly currentSrc: string;\n    /**\n     * Gets or sets the current playback position, in seconds.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/currentTime)\n     */\n    currentTime: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/defaultMuted) */\n    defaultMuted: boolean;\n    /**\n     * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/defaultPlaybackRate)\n     */\n    defaultPlaybackRate: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/disableRemotePlayback) */\n    disableRemotePlayback: boolean;\n    /**\n     * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/duration)\n     */\n    readonly duration: number;\n    /**\n     * Gets information about whether the playback has ended or not.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ended)\n     */\n    readonly ended: boolean;\n    /**\n     * Returns an object representing the current error state of the audio or video element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/error)\n     */\n    readonly error: MediaError | null;\n    /**\n     * Gets or sets a flag to specify whether playback should restart after it completes.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loop)\n     */\n    loop: boolean;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/mediaKeys)\n     */\n    readonly mediaKeys: MediaKeys | null;\n    /**\n     * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/muted)\n     */\n    muted: boolean;\n    /**\n     * Gets the current network activity for the element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/networkState)\n     */\n    readonly networkState: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/encrypted_event) */\n    onencrypted: ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/waitingforkey_event) */\n    onwaitingforkey: ((this: HTMLMediaElement, ev: Event) => any) | null;\n    /**\n     * Gets a flag that specifies whether playback is paused.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/paused)\n     */\n    readonly paused: boolean;\n    /**\n     * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/playbackRate)\n     */\n    playbackRate: number;\n    /**\n     * Gets TimeRanges for the current media resource that has been played.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/played)\n     */\n    readonly played: TimeRanges;\n    /**\n     * Gets or sets a value indicating what data should be preloaded, if any.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/preload)\n     */\n    preload: \"none\" | \"metadata\" | \"auto\" | \"\";\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/preservesPitch) */\n    preservesPitch: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/readyState) */\n    readonly readyState: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/remote) */\n    readonly remote: RemotePlayback;\n    /**\n     * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seekable)\n     */\n    readonly seekable: TimeRanges;\n    /**\n     * Gets a flag that indicates whether the client is currently moving to a new playback position in the media resource.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeking)\n     */\n    readonly seeking: boolean;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/sinkId)\n     */\n    readonly sinkId: string;\n    /**\n     * The address or URL of the a media resource that is to be considered.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/src)\n     */\n    src: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/srcObject) */\n    srcObject: MediaProvider | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/textTracks) */\n    readonly textTracks: TextTrackList;\n    /**\n     * Gets or sets the volume level for audio portions of the media element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/volume)\n     */\n    volume: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/addTextTrack) */\n    addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack;\n    /**\n     * Returns a string that specifies whether the client can play a given media resource type.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canPlayType)\n     */\n    canPlayType(type: string): CanPlayTypeResult;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/fastSeek) */\n    fastSeek(time: number): void;\n    /**\n     * Resets the audio or video object and loads a new media resource.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/load)\n     */\n    load(): void;\n    /**\n     * Pauses the current playback and sets paused to TRUE.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/pause)\n     */\n    pause(): void;\n    /**\n     * Loads and starts playback of a media resource.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/play)\n     */\n    play(): Promise<void>;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/setMediaKeys)\n     */\n    setMediaKeys(mediaKeys: MediaKeys | null): Promise<void>;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/setSinkId)\n     */\n    setSinkId(sinkId: string): Promise<void>;\n    readonly NETWORK_EMPTY: 0;\n    readonly NETWORK_IDLE: 1;\n    readonly NETWORK_LOADING: 2;\n    readonly NETWORK_NO_SOURCE: 3;\n    readonly HAVE_NOTHING: 0;\n    readonly HAVE_METADATA: 1;\n    readonly HAVE_CURRENT_DATA: 2;\n    readonly HAVE_FUTURE_DATA: 3;\n    readonly HAVE_ENOUGH_DATA: 4;\n    addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMediaElement: {\n    prototype: HTMLMediaElement;\n    new(): HTMLMediaElement;\n    readonly NETWORK_EMPTY: 0;\n    readonly NETWORK_IDLE: 1;\n    readonly NETWORK_LOADING: 2;\n    readonly NETWORK_NO_SOURCE: 3;\n    readonly HAVE_NOTHING: 0;\n    readonly HAVE_METADATA: 1;\n    readonly HAVE_CURRENT_DATA: 2;\n    readonly HAVE_FUTURE_DATA: 3;\n    readonly HAVE_ENOUGH_DATA: 4;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMenuElement) */\ninterface HTMLMenuElement extends HTMLElement {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMenuElement/compact)\n     */\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMenuElement: {\n    prototype: HTMLMenuElement;\n    new(): HTMLMenuElement;\n};\n\n/**\n * Contains descriptive metadata about a document. It\\xA0inherits all of the properties and methods described in the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMetaElement)\n */\ninterface HTMLMetaElement extends HTMLElement {\n    /** Gets or sets meta-information to associate with httpEquiv or name. */\n    content: string;\n    /** Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. */\n    httpEquiv: string;\n    media: string;\n    /** Sets or retrieves the value specified in the content attribute of the meta object. */\n    name: string;\n    /**\n     * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object.\n     * @deprecated\n     */\n    scheme: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMetaElement: {\n    prototype: HTMLMetaElement;\n    new(): HTMLMetaElement;\n};\n\n/**\n * The HTML <meter> elements expose the HTMLMeterElement interface, which provides special properties and methods (beyond the HTMLElement object interface they also have available to them by inheritance) for manipulating the layout and presentation of <meter> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement)\n */\ninterface HTMLMeterElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/high) */\n    high: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/labels) */\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/low) */\n    low: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/max) */\n    max: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/min) */\n    min: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/optimum) */\n    optimum: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/value) */\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMeterElement: {\n    prototype: HTMLMeterElement;\n    new(): HTMLMeterElement;\n};\n\n/**\n * Provides special properties (beyond the regular methods and properties available through the HTMLElement interface they also have available to them by inheritance) for manipulating modification elements, that is <del> and <ins>.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLModElement)\n */\ninterface HTMLModElement extends HTMLElement {\n    /**\n     * Sets or retrieves reference information about the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLModElement/cite)\n     */\n    cite: string;\n    /**\n     * Sets or retrieves the date and time of a modification to the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLModElement/dateTime)\n     */\n    dateTime: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLModElement: {\n    prototype: HTMLModElement;\n    new(): HTMLModElement;\n};\n\n/**\n * Provides special properties (beyond those defined on the regular HTMLElement interface it also has available to it by inheritance) for manipulating ordered list elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOListElement)\n */\ninterface HTMLOListElement extends HTMLElement {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOListElement/compact)\n     */\n    compact: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOListElement/reversed) */\n    reversed: boolean;\n    /**\n     * The starting number.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOListElement/start)\n     */\n    start: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOListElement/type) */\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLOListElement: {\n    prototype: HTMLOListElement;\n    new(): HTMLOListElement;\n};\n\n/**\n * Provides special properties and methods (beyond those on the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <object> element, representing external resources.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement)\n */\ninterface HTMLObjectElement extends HTMLElement {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/align)\n     */\n    align: string;\n    /**\n     * Sets or retrieves a character string that can be used to implement your own archive functionality for the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/archive)\n     */\n    archive: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/border)\n     */\n    border: string;\n    /**\n     * Sets or retrieves the URL of the file containing the compiled Java class.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/code)\n     */\n    code: string;\n    /**\n     * Sets or retrieves the URL of the component.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/codeBase)\n     */\n    codeBase: string;\n    /**\n     * Sets or retrieves the Internet media type for the code associated with the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/codeType)\n     */\n    codeType: string;\n    /**\n     * Retrieves the document object of the page or frame.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/contentDocument)\n     */\n    readonly contentDocument: Document | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/contentWindow) */\n    readonly contentWindow: WindowProxy | null;\n    /**\n     * Sets or retrieves the URL that references the data of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/data)\n     */\n    data: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/declare)\n     */\n    declare: boolean;\n    /**\n     * Retrieves a reference to the form that the object is embedded in.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/form)\n     */\n    readonly form: HTMLFormElement | null;\n    /**\n     * Sets or retrieves the height of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/height)\n     */\n    height: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/hspace)\n     */\n    hspace: number;\n    /**\n     * Sets or retrieves the name of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/name)\n     */\n    name: string;\n    /**\n     * Sets or retrieves a message to be displayed while an object is loading.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/standby)\n     */\n    standby: string;\n    /**\n     * Sets or retrieves the MIME type of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/type)\n     */\n    type: string;\n    /**\n     * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/useMap)\n     */\n    useMap: string;\n    /**\n     * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as \"this is a required field\". The result is that the user sees validation messages without actually submitting.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/validationMessage)\n     */\n    readonly validationMessage: string;\n    /**\n     * Returns a  ValidityState object that represents the validity states of an element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/validity)\n     */\n    readonly validity: ValidityState;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/vspace)\n     */\n    vspace: number;\n    /**\n     * Sets or retrieves the width of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/width)\n     */\n    width: string;\n    /**\n     * Returns whether an element will successfully validate based on forms validation rules and constraints.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/willValidate)\n     */\n    readonly willValidate: boolean;\n    /**\n     * Returns whether a form will validate when it is submitted, without having to submit it.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/checkValidity)\n     */\n    checkValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/getSVGDocument) */\n    getSVGDocument(): Document | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/reportValidity) */\n    reportValidity(): boolean;\n    /**\n     * Sets a custom error message that is displayed when a form is submitted.\n     * @param error Sets a custom error message that is displayed when a form is submitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/setCustomValidity)\n     */\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLObjectElement: {\n    prototype: HTMLObjectElement;\n    new(): HTMLObjectElement;\n};\n\n/**\n * Provides special properties and methods (beyond the regular HTMLElement object interface they also have available to them by inheritance) for manipulating the layout and presentation of <optgroup> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptGroupElement)\n */\ninterface HTMLOptGroupElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptGroupElement/disabled) */\n    disabled: boolean;\n    /**\n     * Sets or retrieves a value that you can use to implement your own label functionality for the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptGroupElement/label)\n     */\n    label: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLOptGroupElement: {\n    prototype: HTMLOptGroupElement;\n    new(): HTMLOptGroupElement;\n};\n\n/**\n * <option> elements and inherits all classes and methods of the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement)\n */\ninterface HTMLOptionElement extends HTMLElement {\n    /**\n     * Sets or retrieves the status of an option.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/defaultSelected)\n     */\n    defaultSelected: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/disabled) */\n    disabled: boolean;\n    /**\n     * Retrieves a reference to the form that the object is embedded in.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/form)\n     */\n    readonly form: HTMLFormElement | null;\n    /**\n     * Sets or retrieves the ordinal position of an option in a list box.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/index)\n     */\n    readonly index: number;\n    /**\n     * Sets or retrieves a value that you can use to implement your own label functionality for the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/label)\n     */\n    label: string;\n    /**\n     * Sets or retrieves whether the option in the list box is the default item.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/selected)\n     */\n    selected: boolean;\n    /**\n     * Sets or retrieves the text string specified by the option tag.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/text)\n     */\n    text: string;\n    /**\n     * Sets or retrieves the value which is returned to the server when the form control is submitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/value)\n     */\n    value: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLOptionElement: {\n    prototype: HTMLOptionElement;\n    new(): HTMLOptionElement;\n};\n\n/**\n * HTMLOptionsCollection is an interface representing a collection of HTML option elements (in document order) and offers methods and properties for traversing the list as well as optionally altering its items. This type is returned solely by the \"options\" property of select.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection)\n */\ninterface HTMLOptionsCollection extends HTMLCollectionOf<HTMLOptionElement> {\n    /**\n     * Returns the number of elements in the collection.\n     *\n     * When set to a smaller number, truncates the number of option elements in the corresponding container.\n     *\n     * When set to a greater number, adds new blank option elements to that container.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection/length)\n     */\n    length: number;\n    /**\n     * Returns the index of the first selected item, if any, or \\u22121 if there is no selected item.\n     *\n     * Can be set, to change the selection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection/selectedIndex)\n     */\n    selectedIndex: number;\n    /**\n     * Inserts element before the node given by before.\n     *\n     * The before argument can be a number, in which case element is inserted before the item with that number, or an element from the collection, in which case element is inserted before that element.\n     *\n     * If before is omitted, null, or a number out of range, then element will be added at the end of the list.\n     *\n     * This method will throw a \"HierarchyRequestError\" DOMException if element is an ancestor of the element into which it is to be inserted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection/add)\n     */\n    add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;\n    /**\n     * Removes the item with index index from the collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection/remove)\n     */\n    remove(index: number): void;\n}\n\ndeclare var HTMLOptionsCollection: {\n    prototype: HTMLOptionsCollection;\n    new(): HTMLOptionsCollection;\n};\n\ninterface HTMLOrSVGElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/autofocus) */\n    autofocus: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dataset) */\n    readonly dataset: DOMStringMap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/nonce) */\n    nonce?: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/tabIndex) */\n    tabIndex: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/blur) */\n    blur(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus) */\n    focus(options?: FocusOptions): void;\n}\n\n/**\n * Provides properties and methods (beyond those inherited from HTMLElement) for manipulating the layout and presentation of <output> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement)\n */\ninterface HTMLOutputElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/defaultValue) */\n    defaultValue: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/form) */\n    readonly form: HTMLFormElement | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/htmlFor) */\n    readonly htmlFor: DOMTokenList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/labels) */\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/name) */\n    name: string;\n    /**\n     * Returns the string \"output\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/type)\n     */\n    readonly type: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/validationMessage) */\n    readonly validationMessage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/validity) */\n    readonly validity: ValidityState;\n    /**\n     * Returns the element's current value.\n     *\n     * Can be set, to change the value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/value)\n     */\n    value: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/willValidate) */\n    readonly willValidate: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/checkValidity) */\n    checkValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/reportValidity) */\n    reportValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/setCustomValidity) */\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLOutputElement: {\n    prototype: HTMLOutputElement;\n    new(): HTMLOutputElement;\n};\n\n/**\n * Provides special properties (beyond those of the regular HTMLElement object interface it inherits) for manipulating <p> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParagraphElement)\n */\ninterface HTMLParagraphElement extends HTMLElement {\n    /**\n     * Sets or retrieves how the object is aligned with adjacent text.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParagraphElement/align)\n     */\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLParagraphElement: {\n    prototype: HTMLParagraphElement;\n    new(): HTMLParagraphElement;\n};\n\n/**\n * Provides special properties (beyond those of the regular HTMLElement object interface it inherits) for manipulating <param> elements, representing a pair of a key and a value that acts as a parameter for an <object> element.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement)\n */\ninterface HTMLParamElement extends HTMLElement {\n    /**\n     * Sets or retrieves the name of an input parameter for an element.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement/name)\n     */\n    name: string;\n    /**\n     * Sets or retrieves the content type of the resource designated by the value attribute.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement/type)\n     */\n    type: string;\n    /**\n     * Sets or retrieves the value of an input parameter for an element.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement/value)\n     */\n    value: string;\n    /**\n     * Sets or retrieves the data type of the value attribute.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement/valueType)\n     */\n    valueType: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** @deprecated */\ndeclare var HTMLParamElement: {\n    prototype: HTMLParamElement;\n    new(): HTMLParamElement;\n};\n\n/**\n * A <picture> HTML element. It doesn't implement specific properties or methods.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLPictureElement)\n */\ninterface HTMLPictureElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLPictureElement: {\n    prototype: HTMLPictureElement;\n    new(): HTMLPictureElement;\n};\n\n/**\n * Exposes specific properties and methods (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating a block of preformatted text (<pre>).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLPreElement)\n */\ninterface HTMLPreElement extends HTMLElement {\n    /**\n     * Sets or gets a value that you can use to implement your own width functionality for the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLPreElement/width)\n     */\n    width: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLPreElement: {\n    prototype: HTMLPreElement;\n    new(): HTMLPreElement;\n};\n\n/**\n * Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <progress> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLProgressElement)\n */\ninterface HTMLProgressElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLProgressElement/labels) */\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    /**\n     * Defines the maximum, or \"done\" value for a progress element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLProgressElement/max)\n     */\n    max: number;\n    /**\n     * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLProgressElement/position)\n     */\n    readonly position: number;\n    /**\n     * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLProgressElement/value)\n     */\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLProgressElement: {\n    prototype: HTMLProgressElement;\n    new(): HTMLProgressElement;\n};\n\n/**\n * Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating quoting elements, like <blockquote> and <q>, but not the <cite> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLQuoteElement)\n */\ninterface HTMLQuoteElement extends HTMLElement {\n    /**\n     * Sets or retrieves reference information about the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLQuoteElement/cite)\n     */\n    cite: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLQuoteElement: {\n    prototype: HTMLQuoteElement;\n    new(): HTMLQuoteElement;\n};\n\n/**\n * HTML <script> elements expose the HTMLScriptElement interface, which provides special properties and methods for manipulating the behavior and execution of <script> elements (beyond the inherited HTMLElement interface).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement)\n */\ninterface HTMLScriptElement extends HTMLElement {\n    async: boolean;\n    /**\n     * Sets or retrieves the character set used to encode the object.\n     * @deprecated\n     */\n    charset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/crossOrigin) */\n    crossOrigin: string | null;\n    /** Sets or retrieves the status of the script. */\n    defer: boolean;\n    /**\n     * Sets or retrieves the event for which the script is written.\n     * @deprecated\n     */\n    event: string;\n    fetchPriority: string;\n    /**\n     * Sets or retrieves the object that is bound to the event script.\n     * @deprecated\n     */\n    htmlFor: string;\n    integrity: string;\n    noModule: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/referrerPolicy) */\n    referrerPolicy: string;\n    /** Retrieves the URL to an external file that contains the source code or data. */\n    src: string;\n    /** Retrieves or sets the text of the object as a string. */\n    text: string;\n    /** Sets or retrieves the MIME type for the associated scripting engine. */\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLScriptElement: {\n    prototype: HTMLScriptElement;\n    new(): HTMLScriptElement;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/supports_static) */\n    supports(type: string): boolean;\n};\n\n/**\n * A <select> HTML Element. These elements also share all of the properties and methods of other HTML elements via the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement)\n */\ninterface HTMLSelectElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/autocomplete) */\n    autocomplete: AutoFill;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/disabled) */\n    disabled: boolean;\n    /**\n     * Retrieves a reference to the form that the object is embedded in.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/form)\n     */\n    readonly form: HTMLFormElement | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/labels) */\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    /**\n     * Sets or retrieves the number of objects in a collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/length)\n     */\n    length: number;\n    /**\n     * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/multiple)\n     */\n    multiple: boolean;\n    /**\n     * Sets or retrieves the name of the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/name)\n     */\n    name: string;\n    /**\n     * Returns an HTMLOptionsCollection of the list of options.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/options)\n     */\n    readonly options: HTMLOptionsCollection;\n    /**\n     * When present, marks an element that can't be submitted without a value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/required)\n     */\n    required: boolean;\n    /**\n     * Sets or retrieves the index of the selected option in a select object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/selectedIndex)\n     */\n    selectedIndex: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/selectedOptions) */\n    readonly selectedOptions: HTMLCollectionOf<HTMLOptionElement>;\n    /**\n     * Sets or retrieves the number of rows in the list box.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/size)\n     */\n    size: number;\n    /**\n     * Retrieves the type of select control based on the value of the MULTIPLE attribute.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/type)\n     */\n    readonly type: string;\n    /**\n     * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as \"this is a required field\". The result is that the user sees validation messages without actually submitting.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/validationMessage)\n     */\n    readonly validationMessage: string;\n    /**\n     * Returns a  ValidityState object that represents the validity states of an element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/validity)\n     */\n    readonly validity: ValidityState;\n    /**\n     * Sets or retrieves the value which is returned to the server when the form control is submitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/value)\n     */\n    value: string;\n    /**\n     * Returns whether an element will successfully validate based on forms validation rules and constraints.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/willValidate)\n     */\n    readonly willValidate: boolean;\n    /**\n     * Adds an element to the areas, controlRange, or options collection.\n     * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection.\n     * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/add)\n     */\n    add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;\n    /**\n     * Returns whether a form will validate when it is submitted, without having to submit it.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/checkValidity)\n     */\n    checkValidity(): boolean;\n    /**\n     * Retrieves a select object or an object from an options collection.\n     * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made.\n     * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/item)\n     */\n    item(index: number): HTMLOptionElement | null;\n    /**\n     * Retrieves a select object or an object from an options collection.\n     * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/namedItem)\n     */\n    namedItem(name: string): HTMLOptionElement | null;\n    /**\n     * Removes an element from the collection.\n     * @param index Number that specifies the zero-based index of the element to remove from the collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/remove)\n     */\n    remove(): void;\n    remove(index: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/reportValidity) */\n    reportValidity(): boolean;\n    /**\n     * Sets a custom error message that is displayed when a form is submitted.\n     * @param error Sets a custom error message that is displayed when a form is submitted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/setCustomValidity)\n     */\n    setCustomValidity(error: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/showPicker) */\n    showPicker(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [name: number]: HTMLOptionElement | HTMLOptGroupElement;\n}\n\ndeclare var HTMLSelectElement: {\n    prototype: HTMLSelectElement;\n    new(): HTMLSelectElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement) */\ninterface HTMLSlotElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/name) */\n    name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/assign) */\n    assign(...nodes: (Element | Text)[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/assignedElements) */\n    assignedElements(options?: AssignedNodesOptions): Element[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/assignedNodes) */\n    assignedNodes(options?: AssignedNodesOptions): Node[];\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLSlotElement: {\n    prototype: HTMLSlotElement;\n    new(): HTMLSlotElement;\n};\n\n/**\n * Provides special properties (beyond the regular HTMLElement object interface it also has available to it by inheritance) for manipulating <source> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement)\n */\ninterface HTMLSourceElement extends HTMLElement {\n    height: number;\n    /**\n     * Gets or sets the intended media type of the media source.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/media)\n     */\n    media: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/sizes) */\n    sizes: string;\n    /**\n     * The address or URL of the a media resource that is to be considered.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/src)\n     */\n    src: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/srcset) */\n    srcset: string;\n    /**\n     * Gets or sets the MIME type of a media resource.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/type)\n     */\n    type: string;\n    width: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLSourceElement: {\n    prototype: HTMLSourceElement;\n    new(): HTMLSourceElement;\n};\n\n/**\n * A <span> element and derives from the HTMLElement interface, but without implementing any additional properties or methods.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSpanElement)\n */\ninterface HTMLSpanElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLSpanElement: {\n    prototype: HTMLSpanElement;\n    new(): HTMLSpanElement;\n};\n\n/**\n * A <style> element. It inherits properties and methods from its parent, HTMLElement, and from LinkStyle.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLStyleElement)\n */\ninterface HTMLStyleElement extends HTMLElement, LinkStyle {\n    /**\n     * Enables or disables the style sheet.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLStyleElement/disabled)\n     */\n    disabled: boolean;\n    /**\n     * Sets or retrieves the media type.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLStyleElement/media)\n     */\n    media: string;\n    /**\n     * Retrieves the CSS language in which the style sheet is written.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLStyleElement/type)\n     */\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLStyleElement: {\n    prototype: HTMLStyleElement;\n    new(): HTMLStyleElement;\n};\n\n/**\n * Special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating table caption elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCaptionElement)\n */\ninterface HTMLTableCaptionElement extends HTMLElement {\n    /**\n     * Sets or retrieves the alignment of the caption or legend.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCaptionElement/align)\n     */\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableCaptionElement: {\n    prototype: HTMLTableCaptionElement;\n    new(): HTMLTableCaptionElement;\n};\n\n/**\n * Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of table cells, either header or data cells, in an HTML document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement)\n */\ninterface HTMLTableCellElement extends HTMLElement {\n    /**\n     * Sets or retrieves abbreviated text for the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/abbr)\n     */\n    abbr: string;\n    /**\n     * Sets or retrieves how the object is aligned with adjacent text.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/align)\n     */\n    align: string;\n    /**\n     * Sets or retrieves a comma-delimited list of conceptual categories associated with the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/axis)\n     */\n    axis: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/bgColor)\n     */\n    bgColor: string;\n    /**\n     * Retrieves the position of the object in the cells collection of a row.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/cellIndex)\n     */\n    readonly cellIndex: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/ch)\n     */\n    ch: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/chOff)\n     */\n    chOff: string;\n    /**\n     * Sets or retrieves the number columns in the table that the object should span.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/colSpan)\n     */\n    colSpan: number;\n    /**\n     * Sets or retrieves a list of header cells that provide information for the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/headers)\n     */\n    headers: string;\n    /**\n     * Sets or retrieves the height of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/height)\n     */\n    height: string;\n    /**\n     * Sets or retrieves whether the browser automatically performs wordwrap.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/noWrap)\n     */\n    noWrap: boolean;\n    /**\n     * Sets or retrieves how many rows in a table the cell should span.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/rowSpan)\n     */\n    rowSpan: number;\n    /**\n     * Sets or retrieves the group of cells in a table to which the object's information applies.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/scope)\n     */\n    scope: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/vAlign)\n     */\n    vAlign: string;\n    /**\n     * Sets or retrieves the width of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/width)\n     */\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableCellElement: {\n    prototype: HTMLTableCellElement;\n    new(): HTMLTableCellElement;\n};\n\n/**\n * Provides special properties (beyond the HTMLElement interface it also has available to it inheritance) for manipulating single or grouped table column elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement)\n */\ninterface HTMLTableColElement extends HTMLElement {\n    /**\n     * Sets or retrieves the alignment of the object relative to the display or table.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/align)\n     */\n    align: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/ch)\n     */\n    ch: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/chOff)\n     */\n    chOff: string;\n    /**\n     * Sets or retrieves the number of columns in the group.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/span)\n     */\n    span: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/vAlign)\n     */\n    vAlign: string;\n    /**\n     * Sets or retrieves the width of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/width)\n     */\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableColElement: {\n    prototype: HTMLTableColElement;\n    new(): HTMLTableColElement;\n};\n\n/** @deprecated prefer HTMLTableCellElement */\ninterface HTMLTableDataCellElement extends HTMLTableCellElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/**\n * Provides special properties and methods (beyond the regular HTMLElement object interface it also has available to it by inheritance) for manipulating the layout and presentation of tables in an HTML document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement)\n */\ninterface HTMLTableElement extends HTMLElement {\n    /**\n     * Sets or retrieves a value that indicates the table alignment.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/align)\n     */\n    align: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/bgColor)\n     */\n    bgColor: string;\n    /**\n     * Sets or retrieves the width of the border to draw around the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/border)\n     */\n    border: string;\n    /**\n     * Retrieves the caption object of a table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/caption)\n     */\n    caption: HTMLTableCaptionElement | null;\n    /**\n     * Sets or retrieves the amount of space between the border of the cell and the content of the cell.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/cellPadding)\n     */\n    cellPadding: string;\n    /**\n     * Sets or retrieves the amount of space between cells in a table.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/cellSpacing)\n     */\n    cellSpacing: string;\n    /**\n     * Sets or retrieves the way the border frame around the table is displayed.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/frame)\n     */\n    frame: string;\n    /**\n     * Sets or retrieves the number of horizontal rows contained in the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/rows)\n     */\n    readonly rows: HTMLCollectionOf<HTMLTableRowElement>;\n    /**\n     * Sets or retrieves which dividing lines (inner borders) are displayed.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/rules)\n     */\n    rules: string;\n    /**\n     * Sets or retrieves a description and/or structure of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/summary)\n     */\n    summary: string;\n    /**\n     * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/tBodies)\n     */\n    readonly tBodies: HTMLCollectionOf<HTMLTableSectionElement>;\n    /**\n     * Retrieves the tFoot object of the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/tFoot)\n     */\n    tFoot: HTMLTableSectionElement | null;\n    /**\n     * Retrieves the tHead object of the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/tHead)\n     */\n    tHead: HTMLTableSectionElement | null;\n    /**\n     * Sets or retrieves the width of the object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/width)\n     */\n    width: string;\n    /**\n     * Creates an empty caption element in the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/createCaption)\n     */\n    createCaption(): HTMLTableCaptionElement;\n    /**\n     * Creates an empty tBody element in the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/createTBody)\n     */\n    createTBody(): HTMLTableSectionElement;\n    /**\n     * Creates an empty tFoot element in the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/createTFoot)\n     */\n    createTFoot(): HTMLTableSectionElement;\n    /**\n     * Returns the tHead element object if successful, or null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/createTHead)\n     */\n    createTHead(): HTMLTableSectionElement;\n    /**\n     * Deletes the caption element and its contents from the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/deleteCaption)\n     */\n    deleteCaption(): void;\n    /**\n     * Removes the specified row (tr) from the element and from the rows collection.\n     * @param index Number that specifies the zero-based position in the rows collection of the row to remove.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/deleteRow)\n     */\n    deleteRow(index: number): void;\n    /**\n     * Deletes the tFoot element and its contents from the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/deleteTFoot)\n     */\n    deleteTFoot(): void;\n    /**\n     * Deletes the tHead element and its contents from the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/deleteTHead)\n     */\n    deleteTHead(): void;\n    /**\n     * Creates a new row (tr) in the table, and adds the row to the rows collection.\n     * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableElement/insertRow)\n     */\n    insertRow(index?: number): HTMLTableRowElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableElement: {\n    prototype: HTMLTableElement;\n    new(): HTMLTableElement;\n};\n\n/** @deprecated prefer HTMLTableCellElement */\ninterface HTMLTableHeaderCellElement extends HTMLTableCellElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/**\n * Provides special properties and methods (beyond the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of rows in an HTML table.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement)\n */\ninterface HTMLTableRowElement extends HTMLElement {\n    /**\n     * Sets or retrieves how the object is aligned with adjacent text.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/align)\n     */\n    align: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/bgColor)\n     */\n    bgColor: string;\n    /**\n     * Retrieves a collection of all cells in the table row.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/cells)\n     */\n    readonly cells: HTMLCollectionOf<HTMLTableCellElement>;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/ch)\n     */\n    ch: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/chOff)\n     */\n    chOff: string;\n    /**\n     * Retrieves the position of the object in the rows collection for the table.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/rowIndex)\n     */\n    readonly rowIndex: number;\n    /**\n     * Retrieves the position of the object in the collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/sectionRowIndex)\n     */\n    readonly sectionRowIndex: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/vAlign)\n     */\n    vAlign: string;\n    /**\n     * Removes the specified cell from the table row, as well as from the cells collection.\n     * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/deleteCell)\n     */\n    deleteCell(index: number): void;\n    /**\n     * Creates a new cell in the table row, and adds the cell to the cells collection.\n     * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/insertCell)\n     */\n    insertCell(index?: number): HTMLTableCellElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableRowElement: {\n    prototype: HTMLTableRowElement;\n    new(): HTMLTableRowElement;\n};\n\n/**\n * Provides special properties and methods (beyond the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of sections, that is headers, footers and bodies, in an HTML table.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement)\n */\ninterface HTMLTableSectionElement extends HTMLElement {\n    /**\n     * Sets or retrieves a value that indicates the table alignment.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/align)\n     */\n    align: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/ch)\n     */\n    ch: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/chOff)\n     */\n    chOff: string;\n    /**\n     * Sets or retrieves the number of horizontal rows contained in the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/rows)\n     */\n    readonly rows: HTMLCollectionOf<HTMLTableRowElement>;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/vAlign)\n     */\n    vAlign: string;\n    /**\n     * Removes the specified row (tr) from the element and from the rows collection.\n     * @param index Number that specifies the zero-based position in the rows collection of the row to remove.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/deleteRow)\n     */\n    deleteRow(index: number): void;\n    /**\n     * Creates a new row (tr) in the table, and adds the row to the rows collection.\n     * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/insertRow)\n     */\n    insertRow(index?: number): HTMLTableRowElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableSectionElement: {\n    prototype: HTMLTableSectionElement;\n    new(): HTMLTableSectionElement;\n};\n\n/**\n * Enables access to the contents of an HTML <template> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTemplateElement)\n */\ninterface HTMLTemplateElement extends HTMLElement {\n    /**\n     * Returns the template contents (a DocumentFragment).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTemplateElement/content)\n     */\n    readonly content: DocumentFragment;\n    shadowRootMode: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTemplateElement: {\n    prototype: HTMLTemplateElement;\n    new(): HTMLTemplateElement;\n};\n\n/**\n * Provides special properties and methods for manipulating the layout and presentation of <textarea> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement)\n */\ninterface HTMLTextAreaElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement/autocomplete) */\n    autocomplete: AutoFill;\n    /** Sets or retrieves the width of the object. */\n    cols: number;\n    /** Sets or retrieves the initial contents of the object. */\n    defaultValue: string;\n    dirName: string;\n    disabled: boolean;\n    /** Retrieves a reference to the form that the object is embedded in. */\n    readonly form: HTMLFormElement | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement/labels) */\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    /** Sets or retrieves the maximum number of characters that the user can enter in a text control. */\n    maxLength: number;\n    minLength: number;\n    /** Sets or retrieves the name of the object. */\n    name: string;\n    /** Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. */\n    placeholder: string;\n    /** Sets or retrieves the value indicated whether the content of the object is read-only. */\n    readOnly: boolean;\n    /** When present, marks an element that can't be submitted without a value. */\n    required: boolean;\n    /** Sets or retrieves the number of horizontal rows contained in the object. */\n    rows: number;\n    selectionDirection: \"forward\" | \"backward\" | \"none\";\n    /** Gets or sets the end position or offset of a text selection. */\n    selectionEnd: number;\n    /** Gets or sets the starting position or offset of a text selection. */\n    selectionStart: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement/textLength) */\n    readonly textLength: number;\n    /** Retrieves the type of control. */\n    readonly type: string;\n    /** Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as \"this is a required field\". The result is that the user sees validation messages without actually submitting. */\n    readonly validationMessage: string;\n    /** Returns a  ValidityState object that represents the validity states of an element. */\n    readonly validity: ValidityState;\n    /** Retrieves or sets the text in the entry field of the textArea element. */\n    value: string;\n    /** Returns whether an element will successfully validate based on forms validation rules and constraints. */\n    readonly willValidate: boolean;\n    /** Sets or retrieves how to handle wordwrapping in the object. */\n    wrap: string;\n    /** Returns whether a form will validate when it is submitted, without having to submit it. */\n    checkValidity(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement/reportValidity) */\n    reportValidity(): boolean;\n    /** Highlights the input area of a form element. */\n    select(): void;\n    /**\n     * Sets a custom error message that is displayed when a form is submitted.\n     * @param error Sets a custom error message that is displayed when a form is submitted.\n     */\n    setCustomValidity(error: string): void;\n    setRangeText(replacement: string): void;\n    setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;\n    /**\n     * Sets the start and end positions of a selection in a text field.\n     * @param start The offset into the text field for the start of the selection.\n     * @param end The offset into the text field for the end of the selection.\n     * @param direction The direction in which the selection is performed.\n     */\n    setSelectionRange(start: number | null, end: number | null, direction?: \"forward\" | \"backward\" | \"none\"): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTextAreaElement: {\n    prototype: HTMLTextAreaElement;\n    new(): HTMLTextAreaElement;\n};\n\n/**\n * Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <time> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTimeElement)\n */\ninterface HTMLTimeElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTimeElement/dateTime) */\n    dateTime: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTimeElement: {\n    prototype: HTMLTimeElement;\n    new(): HTMLTimeElement;\n};\n\n/**\n * Contains the title for a document. This element inherits all of the properties and methods of the HTMLElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTitleElement)\n */\ninterface HTMLTitleElement extends HTMLElement {\n    /**\n     * Retrieves or sets the text of the object as a string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTitleElement/text)\n     */\n    text: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTitleElement: {\n    prototype: HTMLTitleElement;\n    new(): HTMLTitleElement;\n};\n\n/**\n * The HTMLTrackElement\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement)\n */\ninterface HTMLTrackElement extends HTMLElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/default) */\n    default: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/kind) */\n    kind: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/label) */\n    label: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/readyState) */\n    readonly readyState: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/src) */\n    src: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/srclang) */\n    srclang: string;\n    /**\n     * Returns the TextTrack object corresponding to the text track of the track element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/track)\n     */\n    readonly track: TextTrack;\n    readonly NONE: 0;\n    readonly LOADING: 1;\n    readonly LOADED: 2;\n    readonly ERROR: 3;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTrackElement: {\n    prototype: HTMLTrackElement;\n    new(): HTMLTrackElement;\n    readonly NONE: 0;\n    readonly LOADING: 1;\n    readonly LOADED: 2;\n    readonly ERROR: 3;\n};\n\n/**\n * Provides special properties (beyond those defined on the regular HTMLElement interface it also has available to it by inheritance) for manipulating unordered list elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLUListElement)\n */\ninterface HTMLUListElement extends HTMLElement {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLUListElement/compact)\n     */\n    compact: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLUListElement/type)\n     */\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLUListElement: {\n    prototype: HTMLUListElement;\n    new(): HTMLUListElement;\n};\n\n/**\n * An invalid HTML element and derives from the HTMLElement interface, but without implementing any additional properties or methods.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLUnknownElement)\n */\ninterface HTMLUnknownElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLUnknownElement: {\n    prototype: HTMLUnknownElement;\n    new(): HTMLUnknownElement;\n};\n\ninterface HTMLVideoElementEventMap extends HTMLMediaElementEventMap {\n    \"enterpictureinpicture\": Event;\n    \"leavepictureinpicture\": Event;\n}\n\n/**\n * Provides special properties and methods for manipulating video objects. It also inherits properties and methods of HTMLMediaElement and HTMLElement.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement)\n */\ninterface HTMLVideoElement extends HTMLMediaElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/disablePictureInPicture) */\n    disablePictureInPicture: boolean;\n    /**\n     * Gets or sets the height of the video element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/height)\n     */\n    height: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/enterpictureinpicture_event) */\n    onenterpictureinpicture: ((this: HTMLVideoElement, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/leavepictureinpicture_event) */\n    onleavepictureinpicture: ((this: HTMLVideoElement, ev: Event) => any) | null;\n    /** Gets or sets the playsinline of the video element. for example, On iPhone, video elements will now be allowed to play inline, and will not automatically enter fullscreen mode when playback begins. */\n    playsInline: boolean;\n    /**\n     * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/poster)\n     */\n    poster: string;\n    /**\n     * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/videoHeight)\n     */\n    readonly videoHeight: number;\n    /**\n     * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/videoWidth)\n     */\n    readonly videoWidth: number;\n    /**\n     * Gets or sets the width of the video element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/width)\n     */\n    width: number;\n    cancelVideoFrameCallback(handle: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/getVideoPlaybackQuality) */\n    getVideoPlaybackQuality(): VideoPlaybackQuality;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/requestPictureInPicture) */\n    requestPictureInPicture(): Promise<PictureInPictureWindow>;\n    requestVideoFrameCallback(callback: VideoFrameRequestCallback): number;\n    addEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLVideoElement: {\n    prototype: HTMLVideoElement;\n    new(): HTMLVideoElement;\n};\n\n/**\n * Events that fire when the fragment identifier of the URL has changed.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HashChangeEvent)\n */\ninterface HashChangeEvent extends Event {\n    /**\n     * Returns the URL of the session history entry that is now current.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HashChangeEvent/newURL)\n     */\n    readonly newURL: string;\n    /**\n     * Returns the URL of the session history entry that was previously current.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HashChangeEvent/oldURL)\n     */\n    readonly oldURL: string;\n}\n\ndeclare var HashChangeEvent: {\n    prototype: HashChangeEvent;\n    new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent;\n};\n\n/**\n * This Fetch API interface allows you to perform various actions on HTTP request and response headers. These actions include retrieving, setting, adding to, and removing. A Headers object has an associated header list, which is initially empty and consists\\xA0of zero or more name and value pairs. \\xA0You can add to this using methods like append() (see Examples.)\\xA0In all methods of this interface, header names are matched by case-insensitive byte sequence.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers)\n */\ninterface Headers {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/append) */\n    append(name: string, value: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/delete) */\n    delete(name: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/get) */\n    get(name: string): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/getSetCookie) */\n    getSetCookie(): string[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/has) */\n    has(name: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/set) */\n    set(name: string, value: string): void;\n    forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;\n}\n\ndeclare var Headers: {\n    prototype: Headers;\n    new(init?: HeadersInit): Headers;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Highlight) */\ninterface Highlight {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Highlight/priority) */\n    priority: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Highlight/type) */\n    type: HighlightType;\n    forEach(callbackfn: (value: AbstractRange, key: AbstractRange, parent: Highlight) => void, thisArg?: any): void;\n}\n\ndeclare var Highlight: {\n    prototype: Highlight;\n    new(...initialRanges: AbstractRange[]): Highlight;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HighlightRegistry) */\ninterface HighlightRegistry {\n    forEach(callbackfn: (value: Highlight, key: string, parent: HighlightRegistry) => void, thisArg?: any): void;\n}\n\ndeclare var HighlightRegistry: {\n    prototype: HighlightRegistry;\n    new(): HighlightRegistry;\n};\n\n/**\n * Allows\\xA0manipulation of\\xA0the browser session history, that is the pages visited in the tab or frame that the current page is loaded in.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/History)\n */\ninterface History {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/History/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/History/scrollRestoration) */\n    scrollRestoration: ScrollRestoration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/History/state) */\n    readonly state: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/History/back) */\n    back(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/History/forward) */\n    forward(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/History/go) */\n    go(delta?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/History/pushState) */\n    pushState(data: any, unused: string, url?: string | URL | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/History/replaceState) */\n    replaceState(data: any, unused: string, url?: string | URL | null): void;\n}\n\ndeclare var History: {\n    prototype: History;\n    new(): History;\n};\n\n/**\n * This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor)\n */\ninterface IDBCursor {\n    /**\n     * Returns the direction (\"next\", \"nextunique\", \"prev\" or \"prevunique\") of the cursor.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/direction)\n     */\n    readonly direction: IDBCursorDirection;\n    /**\n     * Returns the key of the cursor. Throws a \"InvalidStateError\" DOMException if the cursor is advancing or is finished.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/key)\n     */\n    readonly key: IDBValidKey;\n    /**\n     * Returns the effective key of the cursor. Throws a \"InvalidStateError\" DOMException if the cursor is advancing or is finished.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/primaryKey)\n     */\n    readonly primaryKey: IDBValidKey;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/request) */\n    readonly request: IDBRequest;\n    /**\n     * Returns the IDBObjectStore or IDBIndex the cursor was opened from.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/source)\n     */\n    readonly source: IDBObjectStore | IDBIndex;\n    /**\n     * Advances the cursor through the next count records in range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/advance)\n     */\n    advance(count: number): void;\n    /**\n     * Advances the cursor to the next record in range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/continue)\n     */\n    continue(key?: IDBValidKey): void;\n    /**\n     * Advances the cursor to the next record in range matching or after key and primaryKey. Throws an \"InvalidAccessError\" DOMException if the source is not an index.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/continuePrimaryKey)\n     */\n    continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void;\n    /**\n     * Delete the record pointed at by the cursor with a new value.\n     *\n     * If successful, request's result will be undefined.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/delete)\n     */\n    delete(): IDBRequest<undefined>;\n    /**\n     * Updated the record pointed at by the cursor with a new value.\n     *\n     * Throws a \"DataError\" DOMException if the effective object store uses in-line keys and the key would have changed.\n     *\n     * If successful, request's result will be the record's key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/update)\n     */\n    update(value: any): IDBRequest<IDBValidKey>;\n}\n\ndeclare var IDBCursor: {\n    prototype: IDBCursor;\n    new(): IDBCursor;\n};\n\n/**\n * This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database. It is the same as the IDBCursor, except that it includes the value property.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursorWithValue)\n */\ninterface IDBCursorWithValue extends IDBCursor {\n    /**\n     * Returns the cursor's current value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursorWithValue/value)\n     */\n    readonly value: any;\n}\n\ndeclare var IDBCursorWithValue: {\n    prototype: IDBCursorWithValue;\n    new(): IDBCursorWithValue;\n};\n\ninterface IDBDatabaseEventMap {\n    \"abort\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"versionchange\": IDBVersionChangeEvent;\n}\n\n/**\n * This IndexedDB API interface provides a connection to a database; you can use an IDBDatabase object to open a transaction on your database then create, manipulate, and delete objects (data) in that database. The interface provides the only way to get and manage versions of the database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase)\n */\ninterface IDBDatabase extends EventTarget {\n    /**\n     * Returns the name of the database.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/name)\n     */\n    readonly name: string;\n    /**\n     * Returns a list of the names of object stores in the database.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/objectStoreNames)\n     */\n    readonly objectStoreNames: DOMStringList;\n    onabort: ((this: IDBDatabase, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/close_event) */\n    onclose: ((this: IDBDatabase, ev: Event) => any) | null;\n    onerror: ((this: IDBDatabase, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/versionchange_event) */\n    onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null;\n    /**\n     * Returns the version of the database.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/version)\n     */\n    readonly version: number;\n    /**\n     * Closes the connection once all running transactions have finished.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/close)\n     */\n    close(): void;\n    /**\n     * Creates a new object store with the given name and options and returns a new IDBObjectStore.\n     *\n     * Throws a \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/createObjectStore)\n     */\n    createObjectStore(name: string, options?: IDBObjectStoreParameters): IDBObjectStore;\n    /**\n     * Deletes the object store with the given name.\n     *\n     * Throws a \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/deleteObjectStore)\n     */\n    deleteObjectStore(name: string): void;\n    /**\n     * Returns a new transaction with the given mode (\"readonly\" or \"readwrite\") and scope which can be a single object store name or an array of names.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/transaction)\n     */\n    transaction(storeNames: string | string[], mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n    addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBDatabase: {\n    prototype: IDBDatabase;\n    new(): IDBDatabase;\n};\n\n/**\n * In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. For a full working example, see our To-do Notifications app (view example live.)\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory)\n */\ninterface IDBFactory {\n    /**\n     * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if the keys are equal.\n     *\n     * Throws a \"DataError\" DOMException if either input is not a valid key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/cmp)\n     */\n    cmp(first: any, second: any): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/databases) */\n    databases(): Promise<IDBDatabaseInfo[]>;\n    /**\n     * Attempts to delete the named database. If the database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request is successful request's result will be null.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/deleteDatabase)\n     */\n    deleteDatabase(name: string): IDBOpenDBRequest;\n    /**\n     * Attempts to open a connection to the named database with the current version, or 1 if it does not already exist. If the request is successful request's result will be the connection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/open)\n     */\n    open(name: string, version?: number): IDBOpenDBRequest;\n}\n\ndeclare var IDBFactory: {\n    prototype: IDBFactory;\n    new(): IDBFactory;\n};\n\n/**\n * IDBIndex interface of the IndexedDB API provides asynchronous access to an index in a database. An index is a kind of object store for looking up records in another object store, called the referenced object store. You use this interface to retrieve data.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex)\n */\ninterface IDBIndex {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/keyPath) */\n    readonly keyPath: string | string[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/multiEntry) */\n    readonly multiEntry: boolean;\n    /**\n     * Returns the name of the index.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/name)\n     */\n    name: string;\n    /**\n     * Returns the IDBObjectStore the index belongs to.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/objectStore)\n     */\n    readonly objectStore: IDBObjectStore;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/unique) */\n    readonly unique: boolean;\n    /**\n     * Retrieves the number of records matching the given key or key range in query.\n     *\n     * If successful, request's result will be the count.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/count)\n     */\n    count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;\n    /**\n     * Retrieves the value of the first record matching the given key or key range in query.\n     *\n     * If successful, request's result will be the value, or undefined if there was no matching record.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/get)\n     */\n    get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;\n    /**\n     * Retrieves the values of the records matching the given key or key range in query (up to count if given).\n     *\n     * If successful, request's result will be an Array of the values.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getAll)\n     */\n    getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;\n    /**\n     * Retrieves the keys of records matching the given key or key range in query (up to count if given).\n     *\n     * If successful, request's result will be an Array of the keys.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getAllKeys)\n     */\n    getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;\n    /**\n     * Retrieves the key of the first record matching the given key or key range in query.\n     *\n     * If successful, request's result will be the key, or undefined if there was no matching record.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getKey)\n     */\n    getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;\n    /**\n     * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in index are matched.\n     *\n     * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/openCursor)\n     */\n    openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;\n    /**\n     * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched.\n     *\n     * If successful, request's result will be an IDBCursor, or null if there were no matching records.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/openKeyCursor)\n     */\n    openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;\n}\n\ndeclare var IDBIndex: {\n    prototype: IDBIndex;\n    new(): IDBIndex;\n};\n\n/**\n * A key range can be a single value or a range with upper and lower bounds or endpoints. If the key range has both upper and lower bounds, then it is bounded; if it has no bounds, it is unbounded. A bounded key range can either be open (the endpoints are excluded) or closed (the endpoints are included). To retrieve all keys within a certain range, you can use the following code constructs:\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange)\n */\ninterface IDBKeyRange {\n    /**\n     * Returns lower bound, or undefined if none.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lower)\n     */\n    readonly lower: any;\n    /**\n     * Returns true if the lower open flag is set, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lowerOpen)\n     */\n    readonly lowerOpen: boolean;\n    /**\n     * Returns upper bound, or undefined if none.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upper)\n     */\n    readonly upper: any;\n    /**\n     * Returns true if the upper open flag is set, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upperOpen)\n     */\n    readonly upperOpen: boolean;\n    /**\n     * Returns true if key is included in the range, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/includes)\n     */\n    includes(key: any): boolean;\n}\n\ndeclare var IDBKeyRange: {\n    prototype: IDBKeyRange;\n    new(): IDBKeyRange;\n    /**\n     * Returns a new IDBKeyRange spanning from lower to upper. If lowerOpen is true, lower is not included in the range. If upperOpen is true, upper is not included in the range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/bound_static)\n     */\n    bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange;\n    /**\n     * Returns a new IDBKeyRange starting at key with no upper bound. If open is true, key is not included in the range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lowerBound_static)\n     */\n    lowerBound(lower: any, open?: boolean): IDBKeyRange;\n    /**\n     * Returns a new IDBKeyRange spanning only key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/only_static)\n     */\n    only(value: any): IDBKeyRange;\n    /**\n     * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upperBound_static)\n     */\n    upperBound(upper: any, open?: boolean): IDBKeyRange;\n};\n\n/**\n * This example shows a variety of different uses of object stores, from updating the data structure with IDBObjectStore.createIndex\\xA0inside an onupgradeneeded function, to adding a new item to our object store with IDBObjectStore.add. For a full working example, see our\\xA0To-do Notifications\\xA0app (view example live.)\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore)\n */\ninterface IDBObjectStore {\n    /**\n     * Returns true if the store has a key generator, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/autoIncrement)\n     */\n    readonly autoIncrement: boolean;\n    /**\n     * Returns a list of the names of indexes in the store.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/indexNames)\n     */\n    readonly indexNames: DOMStringList;\n    /**\n     * Returns the key path of the store, or null if none.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/keyPath)\n     */\n    readonly keyPath: string | string[];\n    /**\n     * Returns the name of the store.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/name)\n     */\n    name: string;\n    /**\n     * Returns the associated transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/transaction)\n     */\n    readonly transaction: IDBTransaction;\n    /**\n     * Adds or updates a record in store with the given value and key.\n     *\n     * If the store uses in-line keys and key is specified a \"DataError\" DOMException will be thrown.\n     *\n     * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a \"ConstraintError\" DOMException.\n     *\n     * If successful, request's result will be the record's key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/add)\n     */\n    add(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;\n    /**\n     * Deletes all records in store.\n     *\n     * If successful, request's result will be undefined.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/clear)\n     */\n    clear(): IDBRequest<undefined>;\n    /**\n     * Retrieves the number of records matching the given key or key range in query.\n     *\n     * If successful, request's result will be the count.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/count)\n     */\n    count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;\n    /**\n     * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a \"ConstraintError\" DOMException.\n     *\n     * Throws an \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)\n     */\n    createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex;\n    /**\n     * Deletes records in store with the given key or in the given key range in query.\n     *\n     * If successful, request's result will be undefined.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/delete)\n     */\n    delete(query: IDBValidKey | IDBKeyRange): IDBRequest<undefined>;\n    /**\n     * Deletes the index in store with the given name.\n     *\n     * Throws an \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/deleteIndex)\n     */\n    deleteIndex(name: string): void;\n    /**\n     * Retrieves the value of the first record matching the given key or key range in query.\n     *\n     * If successful, request's result will be the value, or undefined if there was no matching record.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/get)\n     */\n    get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;\n    /**\n     * Retrieves the values of the records matching the given key or key range in query (up to count if given).\n     *\n     * If successful, request's result will be an Array of the values.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getAll)\n     */\n    getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;\n    /**\n     * Retrieves the keys of records matching the given key or key range in query (up to count if given).\n     *\n     * If successful, request's result will be an Array of the keys.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getAllKeys)\n     */\n    getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;\n    /**\n     * Retrieves the key of the first record matching the given key or key range in query.\n     *\n     * If successful, request's result will be the key, or undefined if there was no matching record.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getKey)\n     */\n    getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/index) */\n    index(name: string): IDBIndex;\n    /**\n     * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in store are matched.\n     *\n     * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/openCursor)\n     */\n    openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;\n    /**\n     * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched.\n     *\n     * If successful, request's result will be an IDBCursor pointing at the first matching record, or null if there were no matching records.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/openKeyCursor)\n     */\n    openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;\n    /**\n     * Adds or updates a record in store with the given value and key.\n     *\n     * If the store uses in-line keys and key is specified a \"DataError\" DOMException will be thrown.\n     *\n     * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a \"ConstraintError\" DOMException.\n     *\n     * If successful, request's result will be the record's key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/put)\n     */\n    put(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;\n}\n\ndeclare var IDBObjectStore: {\n    prototype: IDBObjectStore;\n    new(): IDBObjectStore;\n};\n\ninterface IDBOpenDBRequestEventMap extends IDBRequestEventMap {\n    \"blocked\": IDBVersionChangeEvent;\n    \"upgradeneeded\": IDBVersionChangeEvent;\n}\n\n/**\n * Also inherits methods from its parents IDBRequest and EventTarget.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest)\n */\ninterface IDBOpenDBRequest extends IDBRequest<IDBDatabase> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest/blocked_event) */\n    onblocked: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest/upgradeneeded_event) */\n    onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n    addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBOpenDBRequest: {\n    prototype: IDBOpenDBRequest;\n    new(): IDBOpenDBRequest;\n};\n\ninterface IDBRequestEventMap {\n    \"error\": Event;\n    \"success\": Event;\n}\n\n/**\n * The request object does not initially contain any information about the result of the operation, but once information becomes available, an event is fired on the request, and the information becomes available through the properties of the IDBRequest instance.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest)\n */\ninterface IDBRequest<T = any> extends EventTarget {\n    /**\n     * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws a \"InvalidStateError\" DOMException if the request is still pending.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/error)\n     */\n    readonly error: DOMException | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/error_event) */\n    onerror: ((this: IDBRequest<T>, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/success_event) */\n    onsuccess: ((this: IDBRequest<T>, ev: Event) => any) | null;\n    /**\n     * Returns \"pending\" until a request is complete, then returns \"done\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/readyState)\n     */\n    readonly readyState: IDBRequestReadyState;\n    /**\n     * When a request is completed, returns the result, or undefined if the request failed. Throws a \"InvalidStateError\" DOMException if the request is still pending.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/result)\n     */\n    readonly result: T;\n    /**\n     * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open request.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/source)\n     */\n    readonly source: IDBObjectStore | IDBIndex | IDBCursor;\n    /**\n     * Returns the IDBTransaction the request was made within. If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/transaction)\n     */\n    readonly transaction: IDBTransaction | null;\n    addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBRequest: {\n    prototype: IDBRequest;\n    new(): IDBRequest;\n};\n\ninterface IDBTransactionEventMap {\n    \"abort\": Event;\n    \"complete\": Event;\n    \"error\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction) */\ninterface IDBTransaction extends EventTarget {\n    /**\n     * Returns the transaction's connection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/db)\n     */\n    readonly db: IDBDatabase;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/durability) */\n    readonly durability: IDBTransactionDurability;\n    /**\n     * If the transaction was aborted, returns the error (a DOMException) providing the reason.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/error)\n     */\n    readonly error: DOMException | null;\n    /**\n     * Returns the mode the transaction was created with (\"readonly\" or \"readwrite\"), or \"versionchange\" for an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/mode)\n     */\n    readonly mode: IDBTransactionMode;\n    /**\n     * Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStoreNames)\n     */\n    readonly objectStoreNames: DOMStringList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort_event) */\n    onabort: ((this: IDBTransaction, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/complete_event) */\n    oncomplete: ((this: IDBTransaction, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/error_event) */\n    onerror: ((this: IDBTransaction, ev: Event) => any) | null;\n    /**\n     * Aborts the transaction. All pending requests will fail with a \"AbortError\" DOMException and all changes made to the database will be reverted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort)\n     */\n    abort(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/commit) */\n    commit(): void;\n    /**\n     * Returns an IDBObjectStore in the transaction's scope.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStore)\n     */\n    objectStore(name: string): IDBObjectStore;\n    addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBTransaction: {\n    prototype: IDBTransaction;\n    new(): IDBTransaction;\n};\n\n/**\n * This IndexedDB API interface indicates that the version of the database has changed, as the result of an IDBOpenDBRequest.onupgradeneeded event handler function.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent)\n */\ninterface IDBVersionChangeEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent/newVersion) */\n    readonly newVersion: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent/oldVersion) */\n    readonly oldVersion: number;\n}\n\ndeclare var IDBVersionChangeEvent: {\n    prototype: IDBVersionChangeEvent;\n    new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent;\n};\n\n/**\n * The\\xA0IIRFilterNode\\xA0interface of the\\xA0Web Audio API\\xA0is a AudioNode processor which implements a general infinite impulse response (IIR)\\xA0 filter; this type of filter can be used to implement tone control devices and graphic equalizers as well. It lets the parameters of the filter response be specified, so that it can be tuned as needed.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IIRFilterNode)\n */\ninterface IIRFilterNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IIRFilterNode/getFrequencyResponse) */\n    getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;\n}\n\ndeclare var IIRFilterNode: {\n    prototype: IIRFilterNode;\n    new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IdleDeadline) */\ninterface IdleDeadline {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IdleDeadline/didTimeout) */\n    readonly didTimeout: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IdleDeadline/timeRemaining) */\n    timeRemaining(): DOMHighResTimeStamp;\n}\n\ndeclare var IdleDeadline: {\n    prototype: IdleDeadline;\n    new(): IdleDeadline;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap) */\ninterface ImageBitmap {\n    /**\n     * Returns the intrinsic height of the image, in CSS pixels.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/height)\n     */\n    readonly height: number;\n    /**\n     * Returns the intrinsic width of the image, in CSS pixels.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/width)\n     */\n    readonly width: number;\n    /**\n     * Releases imageBitmap's underlying bitmap data.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/close)\n     */\n    close(): void;\n}\n\ndeclare var ImageBitmap: {\n    prototype: ImageBitmap;\n    new(): ImageBitmap;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext) */\ninterface ImageBitmapRenderingContext {\n    /** Returns the canvas element that the context is bound to. */\n    readonly canvas: HTMLCanvasElement | OffscreenCanvas;\n    /**\n     * Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext/transferFromImageBitmap)\n     */\n    transferFromImageBitmap(bitmap: ImageBitmap | null): void;\n}\n\ndeclare var ImageBitmapRenderingContext: {\n    prototype: ImageBitmapRenderingContext;\n    new(): ImageBitmapRenderingContext;\n};\n\n/**\n * The underlying pixel data of an area of a <canvas> element. It is created using the ImageData() constructor or creator methods on the CanvasRenderingContext2D object associated with a canvas: createImageData() and getImageData(). It can also be used to set a part of the canvas by using putImageData().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData)\n */\ninterface ImageData {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/colorSpace) */\n    readonly colorSpace: PredefinedColorSpace;\n    /**\n     * Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/data)\n     */\n    readonly data: Uint8ClampedArray;\n    /**\n     * Returns the actual dimensions of the data in the ImageData object, in pixels.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/height)\n     */\n    readonly height: number;\n    /**\n     * Returns the actual dimensions of the data in the ImageData object, in pixels.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/width)\n     */\n    readonly width: number;\n}\n\ndeclare var ImageData: {\n    prototype: ImageData;\n    new(sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    new(data: Uint8ClampedArray, sw: number, sh?: number, settings?: ImageDataSettings): ImageData;\n};\n\ninterface InnerHTML {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/innerHTML) */\n    innerHTML: string;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InputDeviceInfo)\n */\ninterface InputDeviceInfo extends MediaDeviceInfo {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/InputDeviceInfo/getCapabilities) */\n    getCapabilities(): MediaTrackCapabilities;\n}\n\ndeclare var InputDeviceInfo: {\n    prototype: InputDeviceInfo;\n    new(): InputDeviceInfo;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/InputEvent) */\ninterface InputEvent extends UIEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/InputEvent/data) */\n    readonly data: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/InputEvent/dataTransfer) */\n    readonly dataTransfer: DataTransfer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/InputEvent/inputType) */\n    readonly inputType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/InputEvent/isComposing) */\n    readonly isComposing: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/InputEvent/getTargetRanges) */\n    getTargetRanges(): StaticRange[];\n}\n\ndeclare var InputEvent: {\n    prototype: InputEvent;\n    new(type: string, eventInitDict?: InputEventInit): InputEvent;\n};\n\n/**\n * provides a way to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document's viewport.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserver)\n */\ninterface IntersectionObserver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserver/root) */\n    readonly root: Element | Document | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserver/rootMargin) */\n    readonly rootMargin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserver/thresholds) */\n    readonly thresholds: ReadonlyArray<number>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserver/disconnect) */\n    disconnect(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserver/observe) */\n    observe(target: Element): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserver/takeRecords) */\n    takeRecords(): IntersectionObserverEntry[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserver/unobserve) */\n    unobserve(target: Element): void;\n}\n\ndeclare var IntersectionObserver: {\n    prototype: IntersectionObserver;\n    new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver;\n};\n\n/**\n * This Intersection Observer API interface describes the intersection between the target element and its root container at a specific moment of transition.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserverEntry)\n */\ninterface IntersectionObserverEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserverEntry/boundingClientRect) */\n    readonly boundingClientRect: DOMRectReadOnly;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserverEntry/intersectionRatio) */\n    readonly intersectionRatio: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserverEntry/intersectionRect) */\n    readonly intersectionRect: DOMRectReadOnly;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserverEntry/isIntersecting) */\n    readonly isIntersecting: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserverEntry/rootBounds) */\n    readonly rootBounds: DOMRectReadOnly | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserverEntry/target) */\n    readonly target: Element;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IntersectionObserverEntry/time) */\n    readonly time: DOMHighResTimeStamp;\n}\n\ndeclare var IntersectionObserverEntry: {\n    prototype: IntersectionObserverEntry;\n    new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KHR_parallel_shader_compile) */\ninterface KHR_parallel_shader_compile {\n    readonly COMPLETION_STATUS_KHR: 0x91B1;\n}\n\n/**\n * KeyboardEvent objects describe a user interaction with the keyboard; each event describes a single interaction between the user and a key (or combination of a key with modifier keys) on the keyboard.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent)\n */\ninterface KeyboardEvent extends UIEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/altKey) */\n    readonly altKey: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/charCode)\n     */\n    readonly charCode: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/code) */\n    readonly code: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/ctrlKey) */\n    readonly ctrlKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/isComposing) */\n    readonly isComposing: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/key) */\n    readonly key: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/keyCode)\n     */\n    readonly keyCode: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/location) */\n    readonly location: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/metaKey) */\n    readonly metaKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/repeat) */\n    readonly repeat: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/shiftKey) */\n    readonly shiftKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/getModifierState) */\n    getModifierState(keyArg: string): boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/initKeyboardEvent)\n     */\n    initKeyboardEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, keyArg?: string, locationArg?: number, ctrlKey?: boolean, altKey?: boolean, shiftKey?: boolean, metaKey?: boolean): void;\n    readonly DOM_KEY_LOCATION_STANDARD: 0x00;\n    readonly DOM_KEY_LOCATION_LEFT: 0x01;\n    readonly DOM_KEY_LOCATION_RIGHT: 0x02;\n    readonly DOM_KEY_LOCATION_NUMPAD: 0x03;\n}\n\ndeclare var KeyboardEvent: {\n    prototype: KeyboardEvent;\n    new(type: string, eventInitDict?: KeyboardEventInit): KeyboardEvent;\n    readonly DOM_KEY_LOCATION_STANDARD: 0x00;\n    readonly DOM_KEY_LOCATION_LEFT: 0x01;\n    readonly DOM_KEY_LOCATION_RIGHT: 0x02;\n    readonly DOM_KEY_LOCATION_NUMPAD: 0x03;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyframeEffect) */\ninterface KeyframeEffect extends AnimationEffect {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyframeEffect/composite) */\n    composite: CompositeOperation;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyframeEffect/iterationComposite) */\n    iterationComposite: IterationCompositeOperation;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyframeEffect/pseudoElement) */\n    pseudoElement: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyframeEffect/target) */\n    target: Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyframeEffect/getKeyframes) */\n    getKeyframes(): ComputedKeyframe[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KeyframeEffect/setKeyframes) */\n    setKeyframes(keyframes: Keyframe[] | PropertyIndexedKeyframes | null): void;\n}\n\ndeclare var KeyframeEffect: {\n    prototype: KeyframeEffect;\n    new(target: Element | null, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeEffectOptions): KeyframeEffect;\n    new(source: KeyframeEffect): KeyframeEffect;\n};\n\ninterface LinkStyle {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/sheet) */\n    readonly sheet: CSSStyleSheet | null;\n}\n\n/**\n * The location (URL) of the object it is linked to. Changes done on it are reflected on the object it relates to. Both the Document and Window interface have such a linked Location, accessible via Document.location and Window.location respectively.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location)\n */\ninterface Location {\n    /**\n     * Returns a DOMStringList object listing the origins of the ancestor browsing contexts, from the parent browsing context to the top-level browsing context.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/ancestorOrigins)\n     */\n    readonly ancestorOrigins: DOMStringList;\n    /**\n     * Returns the Location object's URL's fragment (includes leading \"#\" if non-empty).\n     *\n     * Can be set, to navigate to the same URL with a changed fragment (ignores leading \"#\").\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/hash)\n     */\n    hash: string;\n    /**\n     * Returns the Location object's URL's host and port (if different from the default port for the scheme).\n     *\n     * Can be set, to navigate to the same URL with a changed host and port.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/host)\n     */\n    host: string;\n    /**\n     * Returns the Location object's URL's host.\n     *\n     * Can be set, to navigate to the same URL with a changed host.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/hostname)\n     */\n    hostname: string;\n    /**\n     * Returns the Location object's URL.\n     *\n     * Can be set, to navigate to the given URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/href)\n     */\n    href: string;\n    toString(): string;\n    /**\n     * Returns the Location object's URL's origin.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/origin)\n     */\n    readonly origin: string;\n    /**\n     * Returns the Location object's URL's path.\n     *\n     * Can be set, to navigate to the same URL with a changed path.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/pathname)\n     */\n    pathname: string;\n    /**\n     * Returns the Location object's URL's port.\n     *\n     * Can be set, to navigate to the same URL with a changed port.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/port)\n     */\n    port: string;\n    /**\n     * Returns the Location object's URL's scheme.\n     *\n     * Can be set, to navigate to the same URL with a changed scheme.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/protocol)\n     */\n    protocol: string;\n    /**\n     * Returns the Location object's URL's query (includes leading \"?\" if non-empty).\n     *\n     * Can be set, to navigate to the same URL with a changed query (ignores leading \"?\").\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/search)\n     */\n    search: string;\n    /**\n     * Navigates to the given URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/assign)\n     */\n    assign(url: string | URL): void;\n    /**\n     * Reloads the current page.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/reload)\n     */\n    reload(): void;\n    /**\n     * Removes the current page from the session history and navigates to the given URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/replace)\n     */\n    replace(url: string | URL): void;\n}\n\ndeclare var Location: {\n    prototype: Location;\n    new(): Location;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock)\n */\ninterface Lock {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock/mode) */\n    readonly mode: LockMode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock/name) */\n    readonly name: string;\n}\n\ndeclare var Lock: {\n    prototype: Lock;\n    new(): Lock;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager)\n */\ninterface LockManager {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager/query) */\n    query(): Promise<LockManagerSnapshot>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager/request) */\n    request(name: string, callback: LockGrantedCallback): Promise<any>;\n    request(name: string, options: LockOptions, callback: LockGrantedCallback): Promise<any>;\n}\n\ndeclare var LockManager: {\n    prototype: LockManager;\n    new(): LockManager;\n};\n\ninterface MIDIAccessEventMap {\n    \"statechange\": Event;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIAccess)\n */\ninterface MIDIAccess extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIAccess/inputs) */\n    readonly inputs: MIDIInputMap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIAccess/statechange_event) */\n    onstatechange: ((this: MIDIAccess, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIAccess/outputs) */\n    readonly outputs: MIDIOutputMap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIAccess/sysexEnabled) */\n    readonly sysexEnabled: boolean;\n    addEventListener<K extends keyof MIDIAccessEventMap>(type: K, listener: (this: MIDIAccess, ev: MIDIAccessEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIAccessEventMap>(type: K, listener: (this: MIDIAccess, ev: MIDIAccessEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MIDIAccess: {\n    prototype: MIDIAccess;\n    new(): MIDIAccess;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIConnectionEvent)\n */\ninterface MIDIConnectionEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIConnectionEvent/port) */\n    readonly port: MIDIPort | null;\n}\n\ndeclare var MIDIConnectionEvent: {\n    prototype: MIDIConnectionEvent;\n    new(type: string, eventInitDict?: MIDIConnectionEventInit): MIDIConnectionEvent;\n};\n\ninterface MIDIInputEventMap extends MIDIPortEventMap {\n    \"midimessage\": MIDIMessageEvent;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIInput)\n */\ninterface MIDIInput extends MIDIPort {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIInput/midimessage_event) */\n    onmidimessage: ((this: MIDIInput, ev: MIDIMessageEvent) => any) | null;\n    addEventListener<K extends keyof MIDIInputEventMap>(type: K, listener: (this: MIDIInput, ev: MIDIInputEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIInputEventMap>(type: K, listener: (this: MIDIInput, ev: MIDIInputEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MIDIInput: {\n    prototype: MIDIInput;\n    new(): MIDIInput;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIInputMap)\n */\ninterface MIDIInputMap {\n    forEach(callbackfn: (value: MIDIInput, key: string, parent: MIDIInputMap) => void, thisArg?: any): void;\n}\n\ndeclare var MIDIInputMap: {\n    prototype: MIDIInputMap;\n    new(): MIDIInputMap;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIMessageEvent)\n */\ninterface MIDIMessageEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIMessageEvent/data) */\n    readonly data: Uint8Array | null;\n}\n\ndeclare var MIDIMessageEvent: {\n    prototype: MIDIMessageEvent;\n    new(type: string, eventInitDict?: MIDIMessageEventInit): MIDIMessageEvent;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIOutput)\n */\ninterface MIDIOutput extends MIDIPort {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIOutput/send) */\n    send(data: number[], timestamp?: DOMHighResTimeStamp): void;\n    addEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIOutput, ev: MIDIPortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIOutput, ev: MIDIPortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MIDIOutput: {\n    prototype: MIDIOutput;\n    new(): MIDIOutput;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIOutputMap)\n */\ninterface MIDIOutputMap {\n    forEach(callbackfn: (value: MIDIOutput, key: string, parent: MIDIOutputMap) => void, thisArg?: any): void;\n}\n\ndeclare var MIDIOutputMap: {\n    prototype: MIDIOutputMap;\n    new(): MIDIOutputMap;\n};\n\ninterface MIDIPortEventMap {\n    \"statechange\": MIDIConnectionEvent;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort)\n */\ninterface MIDIPort extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/connection) */\n    readonly connection: MIDIPortConnectionState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/id) */\n    readonly id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/manufacturer) */\n    readonly manufacturer: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/name) */\n    readonly name: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/statechange_event) */\n    onstatechange: ((this: MIDIPort, ev: MIDIConnectionEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/state) */\n    readonly state: MIDIPortDeviceState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/type) */\n    readonly type: MIDIPortType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/version) */\n    readonly version: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/close) */\n    close(): Promise<MIDIPort>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/open) */\n    open(): Promise<MIDIPort>;\n    addEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIPort, ev: MIDIPortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIPort, ev: MIDIPortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MIDIPort: {\n    prototype: MIDIPort;\n    new(): MIDIPort;\n};\n\ninterface MathMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MathMLElement) */\ninterface MathMLElement extends Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrSVGElement {\n    addEventListener<K extends keyof MathMLElementEventMap>(type: K, listener: (this: MathMLElement, ev: MathMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MathMLElementEventMap>(type: K, listener: (this: MathMLElement, ev: MathMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MathMLElement: {\n    prototype: MathMLElement;\n    new(): MathMLElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities) */\ninterface MediaCapabilities {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities/decodingInfo) */\n    decodingInfo(configuration: MediaDecodingConfiguration): Promise<MediaCapabilitiesDecodingInfo>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities/encodingInfo) */\n    encodingInfo(configuration: MediaEncodingConfiguration): Promise<MediaCapabilitiesEncodingInfo>;\n}\n\ndeclare var MediaCapabilities: {\n    prototype: MediaCapabilities;\n    new(): MediaCapabilities;\n};\n\n/**\n * The MediaDevicesInfo interface contains information that describes a single media input or output device.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDeviceInfo)\n */\ninterface MediaDeviceInfo {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDeviceInfo/deviceId) */\n    readonly deviceId: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDeviceInfo/groupId) */\n    readonly groupId: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDeviceInfo/kind) */\n    readonly kind: MediaDeviceKind;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDeviceInfo/label) */\n    readonly label: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDeviceInfo/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var MediaDeviceInfo: {\n    prototype: MediaDeviceInfo;\n    new(): MediaDeviceInfo;\n};\n\ninterface MediaDevicesEventMap {\n    \"devicechange\": Event;\n}\n\n/**\n * Provides access to connected media input devices like cameras and microphones, as well as screen sharing. In essence, it lets you obtain access to any hardware source of media data.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDevices)\n */\ninterface MediaDevices extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDevices/devicechange_event) */\n    ondevicechange: ((this: MediaDevices, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDevices/enumerateDevices) */\n    enumerateDevices(): Promise<MediaDeviceInfo[]>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDevices/getDisplayMedia) */\n    getDisplayMedia(options?: DisplayMediaStreamOptions): Promise<MediaStream>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDevices/getSupportedConstraints) */\n    getSupportedConstraints(): MediaTrackSupportedConstraints;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia) */\n    getUserMedia(constraints?: MediaStreamConstraints): Promise<MediaStream>;\n    addEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaDevices: {\n    prototype: MediaDevices;\n    new(): MediaDevices;\n};\n\n/**\n * A MediaElementSourceNode has no inputs and exactly one output, and is created using the AudioContext.createMediaElementSource method. The amount of channels in the output equals the number of channels of the audio referenced by the HTMLMediaElement used in the creation of the node, or is 1 if the HTMLMediaElement has no audio.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaElementAudioSourceNode)\n */\ninterface MediaElementAudioSourceNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaElementAudioSourceNode/mediaElement) */\n    readonly mediaElement: HTMLMediaElement;\n}\n\ndeclare var MediaElementAudioSourceNode: {\n    prototype: MediaElementAudioSourceNode;\n    new(context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaEncryptedEvent) */\ninterface MediaEncryptedEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaEncryptedEvent/initData) */\n    readonly initData: ArrayBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaEncryptedEvent/initDataType) */\n    readonly initDataType: string;\n}\n\ndeclare var MediaEncryptedEvent: {\n    prototype: MediaEncryptedEvent;\n    new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent;\n};\n\n/**\n * An error which occurred while handling media in an HTML media element based on HTMLMediaElement, such as <audio> or <video>.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaError)\n */\ninterface MediaError {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaError/code) */\n    readonly code: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaError/message) */\n    readonly message: string;\n    readonly MEDIA_ERR_ABORTED: 1;\n    readonly MEDIA_ERR_NETWORK: 2;\n    readonly MEDIA_ERR_DECODE: 3;\n    readonly MEDIA_ERR_SRC_NOT_SUPPORTED: 4;\n}\n\ndeclare var MediaError: {\n    prototype: MediaError;\n    new(): MediaError;\n    readonly MEDIA_ERR_ABORTED: 1;\n    readonly MEDIA_ERR_NETWORK: 2;\n    readonly MEDIA_ERR_DECODE: 3;\n    readonly MEDIA_ERR_SRC_NOT_SUPPORTED: 4;\n};\n\n/**\n * This EncryptedMediaExtensions API interface contains the content and related data when the content decryption module generates a message for the session.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeyMessageEvent)\n */\ninterface MediaKeyMessageEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeyMessageEvent/message) */\n    readonly message: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeyMessageEvent/messageType) */\n    readonly messageType: MediaKeyMessageType;\n}\n\ndeclare var MediaKeyMessageEvent: {\n    prototype: MediaKeyMessageEvent;\n    new(type: string, eventInitDict: MediaKeyMessageEventInit): MediaKeyMessageEvent;\n};\n\ninterface MediaKeySessionEventMap {\n    \"keystatuseschange\": Event;\n    \"message\": MediaKeyMessageEvent;\n}\n\n/**\n * This EncryptedMediaExtensions API interface represents a\\xA0context for message exchange with a content decryption module (CDM).\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession)\n */\ninterface MediaKeySession extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/closed) */\n    readonly closed: Promise<MediaKeySessionClosedReason>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/expiration) */\n    readonly expiration: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/keyStatuses) */\n    readonly keyStatuses: MediaKeyStatusMap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/keystatuseschange_event) */\n    onkeystatuseschange: ((this: MediaKeySession, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/message_event) */\n    onmessage: ((this: MediaKeySession, ev: MediaKeyMessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/sessionId) */\n    readonly sessionId: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/close) */\n    close(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/generateRequest) */\n    generateRequest(initDataType: string, initData: BufferSource): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/load) */\n    load(sessionId: string): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/remove) */\n    remove(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySession/update) */\n    update(response: BufferSource): Promise<void>;\n    addEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaKeySession: {\n    prototype: MediaKeySession;\n    new(): MediaKeySession;\n};\n\n/**\n * This EncryptedMediaExtensions API interface is a read-only map of media key statuses by key IDs.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap)\n */\ninterface MediaKeyStatusMap {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/size) */\n    readonly size: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/get) */\n    get(keyId: BufferSource): MediaKeyStatus | undefined;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/has) */\n    has(keyId: BufferSource): boolean;\n    forEach(callbackfn: (value: MediaKeyStatus, key: BufferSource, parent: MediaKeyStatusMap) => void, thisArg?: any): void;\n}\n\ndeclare var MediaKeyStatusMap: {\n    prototype: MediaKeyStatusMap;\n    new(): MediaKeyStatusMap;\n};\n\n/**\n * This EncryptedMediaExtensions API interface provides access to a Key System for decryption and/or a content protection provider. You can request an instance of this object using the Navigator.requestMediaKeySystemAccess method.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess)\n */\ninterface MediaKeySystemAccess {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess/keySystem) */\n    readonly keySystem: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess/createMediaKeys) */\n    createMediaKeys(): Promise<MediaKeys>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess/getConfiguration) */\n    getConfiguration(): MediaKeySystemConfiguration;\n}\n\ndeclare var MediaKeySystemAccess: {\n    prototype: MediaKeySystemAccess;\n    new(): MediaKeySystemAccess;\n};\n\n/**\n * This EncryptedMediaExtensions API interface the represents a set of keys that an associated HTMLMediaElement can use for decryption of media data during playback.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys)\n */\ninterface MediaKeys {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys/createSession) */\n    createSession(sessionType?: MediaKeySessionType): MediaKeySession;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys/setServerCertificate) */\n    setServerCertificate(serverCertificate: BufferSource): Promise<boolean>;\n}\n\ndeclare var MediaKeys: {\n    prototype: MediaKeys;\n    new(): MediaKeys;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaList) */\ninterface MediaList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaList/mediaText) */\n    mediaText: string;\n    toString(): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaList/appendMedium) */\n    appendMedium(medium: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaList/deleteMedium) */\n    deleteMedium(medium: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaList/item) */\n    item(index: number): string | null;\n    [index: number]: string;\n}\n\ndeclare var MediaList: {\n    prototype: MediaList;\n    new(): MediaList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaMetadata) */\ninterface MediaMetadata {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaMetadata/album) */\n    album: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaMetadata/artist) */\n    artist: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaMetadata/artwork) */\n    artwork: ReadonlyArray<MediaImage>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaMetadata/title) */\n    title: string;\n}\n\ndeclare var MediaMetadata: {\n    prototype: MediaMetadata;\n    new(init?: MediaMetadataInit): MediaMetadata;\n};\n\ninterface MediaQueryListEventMap {\n    \"change\": MediaQueryListEvent;\n}\n\n/**\n * Stores information on a media query applied to a document, and handles sending notifications to listeners when the media query state change (i.e. when the media query test starts or stops evaluating to true).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryList)\n */\ninterface MediaQueryList extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryList/matches) */\n    readonly matches: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryList/media) */\n    readonly media: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryList/change_event) */\n    onchange: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryList/addListener)\n     */\n    addListener(callback: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryList/removeListener)\n     */\n    removeListener(callback: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void;\n    addEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaQueryList: {\n    prototype: MediaQueryList;\n    new(): MediaQueryList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryListEvent) */\ninterface MediaQueryListEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryListEvent/matches) */\n    readonly matches: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaQueryListEvent/media) */\n    readonly media: string;\n}\n\ndeclare var MediaQueryListEvent: {\n    prototype: MediaQueryListEvent;\n    new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent;\n};\n\ninterface MediaRecorderEventMap {\n    \"dataavailable\": BlobEvent;\n    \"error\": Event;\n    \"pause\": Event;\n    \"resume\": Event;\n    \"start\": Event;\n    \"stop\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder) */\ninterface MediaRecorder extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/audioBitsPerSecond) */\n    readonly audioBitsPerSecond: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/mimeType) */\n    readonly mimeType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/dataavailable_event) */\n    ondataavailable: ((this: MediaRecorder, ev: BlobEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/error_event) */\n    onerror: ((this: MediaRecorder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/pause_event) */\n    onpause: ((this: MediaRecorder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/resume_event) */\n    onresume: ((this: MediaRecorder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/start_event) */\n    onstart: ((this: MediaRecorder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/stop_event) */\n    onstop: ((this: MediaRecorder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/state) */\n    readonly state: RecordingState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/stream) */\n    readonly stream: MediaStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/videoBitsPerSecond) */\n    readonly videoBitsPerSecond: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/pause) */\n    pause(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/requestData) */\n    requestData(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/resume) */\n    resume(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/start) */\n    start(timeslice?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/stop) */\n    stop(): void;\n    addEventListener<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaRecorder: {\n    prototype: MediaRecorder;\n    new(stream: MediaStream, options?: MediaRecorderOptions): MediaRecorder;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaRecorder/isTypeSupported_static) */\n    isTypeSupported(type: string): boolean;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSession) */\ninterface MediaSession {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSession/metadata) */\n    metadata: MediaMetadata | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSession/playbackState) */\n    playbackState: MediaSessionPlaybackState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSession/setActionHandler) */\n    setActionHandler(action: MediaSessionAction, handler: MediaSessionActionHandler | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSession/setPositionState) */\n    setPositionState(state?: MediaPositionState): void;\n}\n\ndeclare var MediaSession: {\n    prototype: MediaSession;\n    new(): MediaSession;\n};\n\ninterface MediaSourceEventMap {\n    \"sourceclose\": Event;\n    \"sourceended\": Event;\n    \"sourceopen\": Event;\n}\n\n/**\n * This Media Source Extensions API interface represents a source of media data for an HTMLMediaElement object. A MediaSource object can be attached to a HTMLMediaElement to be played in the user agent.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource)\n */\ninterface MediaSource extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/activeSourceBuffers) */\n    readonly activeSourceBuffers: SourceBufferList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/duration) */\n    duration: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/sourceclose_event) */\n    onsourceclose: ((this: MediaSource, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/sourceended_event) */\n    onsourceended: ((this: MediaSource, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/sourceopen_event) */\n    onsourceopen: ((this: MediaSource, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/readyState) */\n    readonly readyState: ReadyState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/sourceBuffers) */\n    readonly sourceBuffers: SourceBufferList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/addSourceBuffer) */\n    addSourceBuffer(type: string): SourceBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/clearLiveSeekableRange) */\n    clearLiveSeekableRange(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/endOfStream) */\n    endOfStream(error?: EndOfStreamError): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/removeSourceBuffer) */\n    removeSourceBuffer(sourceBuffer: SourceBuffer): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/setLiveSeekableRange) */\n    setLiveSeekableRange(start: number, end: number): void;\n    addEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaSource: {\n    prototype: MediaSource;\n    new(): MediaSource;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/isTypeSupported_static) */\n    isTypeSupported(type: string): boolean;\n};\n\ninterface MediaStreamEventMap {\n    \"addtrack\": MediaStreamTrackEvent;\n    \"removetrack\": MediaStreamTrackEvent;\n}\n\n/**\n * A stream of media content. A stream consists of several tracks such as\\xA0video or audio tracks. Each track is specified as an instance of MediaStreamTrack.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream)\n */\ninterface MediaStream extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/active) */\n    readonly active: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/id) */\n    readonly id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/addtrack_event) */\n    onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/removetrack_event) */\n    onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/addTrack) */\n    addTrack(track: MediaStreamTrack): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/clone) */\n    clone(): MediaStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/getAudioTracks) */\n    getAudioTracks(): MediaStreamTrack[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/getTrackById) */\n    getTrackById(trackId: string): MediaStreamTrack | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/getTracks) */\n    getTracks(): MediaStreamTrack[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/getVideoTracks) */\n    getVideoTracks(): MediaStreamTrack[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStream/removeTrack) */\n    removeTrack(track: MediaStreamTrack): void;\n    addEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaStream: {\n    prototype: MediaStream;\n    new(): MediaStream;\n    new(stream: MediaStream): MediaStream;\n    new(tracks: MediaStreamTrack[]): MediaStream;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioDestinationNode) */\ninterface MediaStreamAudioDestinationNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioDestinationNode/stream) */\n    readonly stream: MediaStream;\n}\n\ndeclare var MediaStreamAudioDestinationNode: {\n    prototype: MediaStreamAudioDestinationNode;\n    new(context: AudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode;\n};\n\n/**\n * A type of AudioNode which operates as an audio source whose media is received from a MediaStream obtained using the WebRTC or Media Capture and Streams APIs.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioSourceNode)\n */\ninterface MediaStreamAudioSourceNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioSourceNode/mediaStream) */\n    readonly mediaStream: MediaStream;\n}\n\ndeclare var MediaStreamAudioSourceNode: {\n    prototype: MediaStreamAudioSourceNode;\n    new(context: AudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode;\n};\n\ninterface MediaStreamTrackEventMap {\n    \"ended\": Event;\n    \"mute\": Event;\n    \"unmute\": Event;\n}\n\n/**\n * A single media track within a stream; typically, these are audio or video tracks, but other track types may exist as well.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack)\n */\ninterface MediaStreamTrack extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/contentHint) */\n    contentHint: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/enabled) */\n    enabled: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/id) */\n    readonly id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/kind) */\n    readonly kind: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/label) */\n    readonly label: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/muted) */\n    readonly muted: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/ended_event) */\n    onended: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/mute_event) */\n    onmute: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/unmute_event) */\n    onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/readyState) */\n    readonly readyState: MediaStreamTrackState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/applyConstraints) */\n    applyConstraints(constraints?: MediaTrackConstraints): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/clone) */\n    clone(): MediaStreamTrack;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getCapabilities) */\n    getCapabilities(): MediaTrackCapabilities;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getConstraints) */\n    getConstraints(): MediaTrackConstraints;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getSettings) */\n    getSettings(): MediaTrackSettings;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/stop) */\n    stop(): void;\n    addEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaStreamTrack: {\n    prototype: MediaStreamTrack;\n    new(): MediaStreamTrack;\n};\n\n/**\n * Events which indicate that a MediaStream has had tracks added to or removed from the stream through calls to Media Stream API methods. These events are sent to the stream when these changes occur.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrackEvent)\n */\ninterface MediaStreamTrackEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrackEvent/track) */\n    readonly track: MediaStreamTrack;\n}\n\ndeclare var MediaStreamTrackEvent: {\n    prototype: MediaStreamTrackEvent;\n    new(type: string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent;\n};\n\n/**\n * This Channel Messaging API interface allows us to create a new message channel and send data through it via its two MessagePort properties.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel)\n */\ninterface MessageChannel {\n    /**\n     * Returns the first MessagePort object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel/port1)\n     */\n    readonly port1: MessagePort;\n    /**\n     * Returns the second MessagePort object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel/port2)\n     */\n    readonly port2: MessagePort;\n}\n\ndeclare var MessageChannel: {\n    prototype: MessageChannel;\n    new(): MessageChannel;\n};\n\n/**\n * A message received by a target object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent)\n */\ninterface MessageEvent<T = any> extends Event {\n    /**\n     * Returns the data of the message.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/data)\n     */\n    readonly data: T;\n    /**\n     * Returns the last event ID string, for server-sent events.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/lastEventId)\n     */\n    readonly lastEventId: string;\n    /**\n     * Returns the origin of the message, for server-sent events and cross-document messaging.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/origin)\n     */\n    readonly origin: string;\n    /**\n     * Returns the MessagePort array sent with the message, for cross-document messaging and channel messaging.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/ports)\n     */\n    readonly ports: ReadonlyArray<MessagePort>;\n    /**\n     * Returns the WindowProxy of the source window, for cross-document messaging, and the MessagePort being attached, in the connect event fired at SharedWorkerGlobalScope objects.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/source)\n     */\n    readonly source: MessageEventSource | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent)\n     */\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void;\n}\n\ndeclare var MessageEvent: {\n    prototype: MessageEvent;\n    new<T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>;\n};\n\ninterface MessagePortEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\n\n/**\n * This Channel Messaging API interface represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)\n */\ninterface MessagePort extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/message_event) */\n    onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/messageerror_event) */\n    onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null;\n    /**\n     * Disconnects the port, so that it is no longer active.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/close)\n     */\n    close(): void;\n    /**\n     * Posts a message through the channel. Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side.\n     *\n     * Throws a \"DataCloneError\" DOMException if transfer contains duplicate objects or port, or if message could not be cloned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/postMessage)\n     */\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    /**\n     * Begins dispatching messages received on the port.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/start)\n     */\n    start(): void;\n    addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MessagePort: {\n    prototype: MessagePort;\n    new(): MessagePort;\n};\n\n/**\n * Provides contains information about a MIME type associated with a particular plugin. NavigatorPlugins.mimeTypes returns an array of this object.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType)\n */\ninterface MimeType {\n    /**\n     * Returns the MIME type's description.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType/description)\n     */\n    readonly description: string;\n    /**\n     * Returns the Plugin object that implements this MIME type.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType/enabledPlugin)\n     */\n    readonly enabledPlugin: Plugin;\n    /**\n     * Returns the MIME type's typical file extensions, in a comma-separated list.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType/suffixes)\n     */\n    readonly suffixes: string;\n    /**\n     * Returns the MIME type.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType/type)\n     */\n    readonly type: string;\n}\n\n/** @deprecated */\ndeclare var MimeType: {\n    prototype: MimeType;\n    new(): MimeType;\n};\n\n/**\n * Returns an array of MimeType instances, each of which contains information\\xA0about a supported browser plugins. This object is returned by NavigatorPlugins.mimeTypes.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeTypeArray)\n */\ninterface MimeTypeArray {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeTypeArray/length)\n     */\n    readonly length: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeTypeArray/item)\n     */\n    item(index: number): MimeType | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeTypeArray/namedItem)\n     */\n    namedItem(name: string): MimeType | null;\n    [index: number]: MimeType;\n}\n\n/** @deprecated */\ndeclare var MimeTypeArray: {\n    prototype: MimeTypeArray;\n    new(): MimeTypeArray;\n};\n\n/**\n * Events that occur due to the user interacting with a pointing device (such as a mouse). Common events using this interface include click, dblclick, mouseup, mousedown.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent)\n */\ninterface MouseEvent extends UIEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/altKey) */\n    readonly altKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/button) */\n    readonly button: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons) */\n    readonly buttons: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientX) */\n    readonly clientX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientY) */\n    readonly clientY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/ctrlKey) */\n    readonly ctrlKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/layerX) */\n    readonly layerX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/layerY) */\n    readonly layerY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/metaKey) */\n    readonly metaKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementX) */\n    readonly movementX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementY) */\n    readonly movementY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/offsetX) */\n    readonly offsetX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/offsetY) */\n    readonly offsetY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageX) */\n    readonly pageX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageY) */\n    readonly pageY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget) */\n    readonly relatedTarget: EventTarget | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenX) */\n    readonly screenX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenY) */\n    readonly screenY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/shiftKey) */\n    readonly shiftKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/x) */\n    readonly x: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/y) */\n    readonly y: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/getModifierState) */\n    getModifierState(keyArg: string): boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MouseEvent/initMouseEvent)\n     */\n    initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget | null): void;\n}\n\ndeclare var MouseEvent: {\n    prototype: MouseEvent;\n    new(type: string, eventInitDict?: MouseEventInit): MouseEvent;\n};\n\n/**\n * Provides event properties that are specific to modifications to the Document Object Model (DOM) hierarchy and nodes.\n * @deprecated DOM4 [DOM] provides a new mechanism using a MutationObserver interface which addresses the use cases that mutation events solve, but in a more performant manner. Thus, this specification describes mutation events for reference and completeness of legacy behavior, but deprecates the use of the MutationEvent interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationEvent)\n */\ninterface MutationEvent extends Event {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationEvent/attrChange)\n     */\n    readonly attrChange: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationEvent/attrName)\n     */\n    readonly attrName: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationEvent/newValue)\n     */\n    readonly newValue: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationEvent/prevValue)\n     */\n    readonly prevValue: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationEvent/relatedNode)\n     */\n    readonly relatedNode: Node | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationEvent/initMutationEvent)\n     */\n    initMutationEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, relatedNodeArg?: Node | null, prevValueArg?: string, newValueArg?: string, attrNameArg?: string, attrChangeArg?: number): void;\n    readonly MODIFICATION: 1;\n    readonly ADDITION: 2;\n    readonly REMOVAL: 3;\n}\n\n/** @deprecated */\ndeclare var MutationEvent: {\n    prototype: MutationEvent;\n    new(): MutationEvent;\n    readonly MODIFICATION: 1;\n    readonly ADDITION: 2;\n    readonly REMOVAL: 3;\n};\n\n/**\n * Provides the ability to watch for changes being made to the DOM tree. It is designed as a replacement for the older Mutation Events feature which was part of the DOM3 Events specification.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationObserver)\n */\ninterface MutationObserver {\n    /**\n     * Stops observer from observing any mutations. Until the observe() method is used again, observer's callback will not be invoked.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationObserver/disconnect)\n     */\n    disconnect(): void;\n    /**\n     * Instructs the user agent to observe a given target (a node) and report any mutations based on the criteria given by options (an object).\n     *\n     * The options argument allows for setting mutation observation options via object members.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationObserver/observe)\n     */\n    observe(target: Node, options?: MutationObserverInit): void;\n    /**\n     * Empties the record queue and returns what was in there.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationObserver/takeRecords)\n     */\n    takeRecords(): MutationRecord[];\n}\n\ndeclare var MutationObserver: {\n    prototype: MutationObserver;\n    new(callback: MutationCallback): MutationObserver;\n};\n\n/**\n * A MutationRecord represents an individual DOM mutation. It is the object that is passed to MutationObserver's callback.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord)\n */\ninterface MutationRecord {\n    /**\n     * Return the nodes added and removed respectively.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/addedNodes)\n     */\n    readonly addedNodes: NodeList;\n    /**\n     * Returns the local name of the changed attribute, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/attributeName)\n     */\n    readonly attributeName: string | null;\n    /**\n     * Returns the namespace of the changed attribute, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/attributeNamespace)\n     */\n    readonly attributeNamespace: string | null;\n    /**\n     * Return the previous and next sibling respectively of the added or removed nodes, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/nextSibling)\n     */\n    readonly nextSibling: Node | null;\n    /**\n     * The return value depends on type. For \"attributes\", it is the value of the changed attribute before the change. For \"characterData\", it is the data of the changed node before the change. For \"childList\", it is null.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/oldValue)\n     */\n    readonly oldValue: string | null;\n    /**\n     * Return the previous and next sibling respectively of the added or removed nodes, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/previousSibling)\n     */\n    readonly previousSibling: Node | null;\n    /**\n     * Return the nodes added and removed respectively.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/removedNodes)\n     */\n    readonly removedNodes: NodeList;\n    /**\n     * Returns the node the mutation affected, depending on the type. For \"attributes\", it is the element whose attribute changed. For \"characterData\", it is the CharacterData node. For \"childList\", it is the node whose children changed.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/target)\n     */\n    readonly target: Node;\n    /**\n     * Returns \"attributes\" if it was an attribute mutation. \"characterData\" if it was a mutation to a CharacterData node. And \"childList\" if it was a mutation to the tree of nodes.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MutationRecord/type)\n     */\n    readonly type: MutationRecordType;\n}\n\ndeclare var MutationRecord: {\n    prototype: MutationRecord;\n    new(): MutationRecord;\n};\n\n/**\n * A collection of Attr objects. Objects inside a NamedNodeMap are not in any particular order, unlike NodeList, although they may be accessed by an index as in an array.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap)\n */\ninterface NamedNodeMap {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/getNamedItem) */\n    getNamedItem(qualifiedName: string): Attr | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/getNamedItemNS) */\n    getNamedItemNS(namespace: string | null, localName: string): Attr | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/item) */\n    item(index: number): Attr | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/removeNamedItem) */\n    removeNamedItem(qualifiedName: string): Attr;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/removeNamedItemNS) */\n    removeNamedItemNS(namespace: string | null, localName: string): Attr;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/setNamedItem) */\n    setNamedItem(attr: Attr): Attr | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/setNamedItemNS) */\n    setNamedItemNS(attr: Attr): Attr | null;\n    [index: number]: Attr;\n}\n\ndeclare var NamedNodeMap: {\n    prototype: NamedNodeMap;\n    new(): NamedNodeMap;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager)\n */\ninterface NavigationPreloadManager {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/disable) */\n    disable(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/enable) */\n    enable(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/getState) */\n    getState(): Promise<NavigationPreloadState>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/setHeaderValue) */\n    setHeaderValue(value: string): Promise<void>;\n}\n\ndeclare var NavigationPreloadManager: {\n    prototype: NavigationPreloadManager;\n    new(): NavigationPreloadManager;\n};\n\n/**\n * The state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator)\n */\ninterface Navigator extends NavigatorAutomationInformation, NavigatorBadge, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorPlugins, NavigatorStorage {\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/clipboard)\n     */\n    readonly clipboard: Clipboard;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/credentials)\n     */\n    readonly credentials: CredentialsContainer;\n    readonly doNotTrack: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/geolocation) */\n    readonly geolocation: Geolocation;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/maxTouchPoints) */\n    readonly maxTouchPoints: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/mediaCapabilities) */\n    readonly mediaCapabilities: MediaCapabilities;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/mediaDevices)\n     */\n    readonly mediaDevices: MediaDevices;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/mediaSession) */\n    readonly mediaSession: MediaSession;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/permissions) */\n    readonly permissions: Permissions;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/serviceWorker)\n     */\n    readonly serviceWorker: ServiceWorkerContainer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/userActivation) */\n    readonly userActivation: UserActivation;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/wakeLock) */\n    readonly wakeLock: WakeLock;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/canShare)\n     */\n    canShare(data?: ShareData): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/getGamepads) */\n    getGamepads(): (Gamepad | null)[];\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/requestMIDIAccess)\n     */\n    requestMIDIAccess(options?: MIDIOptions): Promise<MIDIAccess>;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/requestMediaKeySystemAccess)\n     */\n    requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise<MediaKeySystemAccess>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/sendBeacon) */\n    sendBeacon(url: string | URL, data?: BodyInit | null): boolean;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/share)\n     */\n    share(data?: ShareData): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/vibrate) */\n    vibrate(pattern: VibratePattern): boolean;\n}\n\ndeclare var Navigator: {\n    prototype: Navigator;\n    new(): Navigator;\n};\n\ninterface NavigatorAutomationInformation {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/webdriver) */\n    readonly webdriver: boolean;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorBadge {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/clearAppBadge) */\n    clearAppBadge(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/setAppBadge) */\n    setAppBadge(contents?: number): Promise<void>;\n}\n\ninterface NavigatorConcurrentHardware {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/hardwareConcurrency) */\n    readonly hardwareConcurrency: number;\n}\n\ninterface NavigatorContentUtils {\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/registerProtocolHandler)\n     */\n    registerProtocolHandler(scheme: string, url: string | URL): void;\n}\n\ninterface NavigatorCookies {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/cookieEnabled) */\n    readonly cookieEnabled: boolean;\n}\n\ninterface NavigatorID {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName)\n     */\n    readonly appCodeName: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appName)\n     */\n    readonly appName: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appVersion)\n     */\n    readonly appVersion: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/platform)\n     */\n    readonly platform: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/product)\n     */\n    readonly product: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/productSub)\n     */\n    readonly productSub: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/userAgent) */\n    readonly userAgent: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/vendor)\n     */\n    readonly vendor: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/vendorSub)\n     */\n    readonly vendorSub: string;\n}\n\ninterface NavigatorLanguage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/language) */\n    readonly language: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/languages) */\n    readonly languages: ReadonlyArray<string>;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorLocks {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/locks) */\n    readonly locks: LockManager;\n}\n\ninterface NavigatorOnLine {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/onLine) */\n    readonly onLine: boolean;\n}\n\ninterface NavigatorPlugins {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigatorPlugins/mimeTypes)\n     */\n    readonly mimeTypes: MimeTypeArray;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/pdfViewerEnabled) */\n    readonly pdfViewerEnabled: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/plugins)\n     */\n    readonly plugins: PluginArray;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/javaEnabled)\n     */\n    javaEnabled(): boolean;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorStorage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/storage) */\n    readonly storage: StorageManager;\n}\n\n/**\n * Node is an interface from which a number of DOM API object types inherit. It allows those types to be treated similarly; for example, inheriting the same set of methods, or being tested in the same way.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node)\n */\ninterface Node extends EventTarget {\n    /**\n     * Returns node's node document's document base URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/baseURI)\n     */\n    readonly baseURI: string;\n    /**\n     * Returns the children.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/childNodes)\n     */\n    readonly childNodes: NodeListOf<ChildNode>;\n    /**\n     * Returns the first child.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/firstChild)\n     */\n    readonly firstChild: ChildNode | null;\n    /**\n     * Returns true if node is connected and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/isConnected)\n     */\n    readonly isConnected: boolean;\n    /**\n     * Returns the last child.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/lastChild)\n     */\n    readonly lastChild: ChildNode | null;\n    /**\n     * Returns the next sibling.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)\n     */\n    readonly nextSibling: ChildNode | null;\n    /**\n     * Returns a string appropriate for the type of node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/nodeName)\n     */\n    readonly nodeName: string;\n    /**\n     * Returns the type of node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/nodeType)\n     */\n    readonly nodeType: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/nodeValue) */\n    nodeValue: string | null;\n    /**\n     * Returns the node document. Returns null for documents.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)\n     */\n    readonly ownerDocument: Document | null;\n    /**\n     * Returns the parent element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/parentElement)\n     */\n    readonly parentElement: HTMLElement | null;\n    /**\n     * Returns the parent.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/parentNode)\n     */\n    readonly parentNode: ParentNode | null;\n    /**\n     * Returns the previous sibling.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)\n     */\n    readonly previousSibling: ChildNode | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/textContent) */\n    textContent: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/appendChild) */\n    appendChild<T extends Node>(node: T): T;\n    /**\n     * Returns a copy of node. If deep is true, the copy also includes the node's descendants.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/cloneNode)\n     */\n    cloneNode(deep?: boolean): Node;\n    /**\n     * Returns a bitmask indicating the position of other relative to node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/compareDocumentPosition)\n     */\n    compareDocumentPosition(other: Node): number;\n    /**\n     * Returns true if other is an inclusive descendant of node, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/contains)\n     */\n    contains(other: Node | null): boolean;\n    /**\n     * Returns node's root.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/getRootNode)\n     */\n    getRootNode(options?: GetRootNodeOptions): Node;\n    /**\n     * Returns whether node has children.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/hasChildNodes)\n     */\n    hasChildNodes(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/insertBefore) */\n    insertBefore<T extends Node>(node: T, child: Node | null): T;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/isDefaultNamespace) */\n    isDefaultNamespace(namespace: string | null): boolean;\n    /**\n     * Returns whether node and otherNode have the same properties.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/isEqualNode)\n     */\n    isEqualNode(otherNode: Node | null): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/isSameNode) */\n    isSameNode(otherNode: Node | null): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/lookupNamespaceURI) */\n    lookupNamespaceURI(prefix: string | null): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/lookupPrefix) */\n    lookupPrefix(namespace: string | null): string | null;\n    /**\n     * Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/normalize)\n     */\n    normalize(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/removeChild) */\n    removeChild<T extends Node>(child: T): T;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/replaceChild) */\n    replaceChild<T extends Node>(node: Node, child: T): T;\n    /** node is an element. */\n    readonly ELEMENT_NODE: 1;\n    readonly ATTRIBUTE_NODE: 2;\n    /** node is a Text node. */\n    readonly TEXT_NODE: 3;\n    /** node is a CDATASection node. */\n    readonly CDATA_SECTION_NODE: 4;\n    readonly ENTITY_REFERENCE_NODE: 5;\n    readonly ENTITY_NODE: 6;\n    /** node is a ProcessingInstruction node. */\n    readonly PROCESSING_INSTRUCTION_NODE: 7;\n    /** node is a Comment node. */\n    readonly COMMENT_NODE: 8;\n    /** node is a document. */\n    readonly DOCUMENT_NODE: 9;\n    /** node is a doctype. */\n    readonly DOCUMENT_TYPE_NODE: 10;\n    /** node is a DocumentFragment node. */\n    readonly DOCUMENT_FRAGMENT_NODE: 11;\n    readonly NOTATION_NODE: 12;\n    /** Set when node and other are not in the same tree. */\n    readonly DOCUMENT_POSITION_DISCONNECTED: 0x01;\n    /** Set when other is preceding node. */\n    readonly DOCUMENT_POSITION_PRECEDING: 0x02;\n    /** Set when other is following node. */\n    readonly DOCUMENT_POSITION_FOLLOWING: 0x04;\n    /** Set when other is an ancestor of node. */\n    readonly DOCUMENT_POSITION_CONTAINS: 0x08;\n    /** Set when other is a descendant of node. */\n    readonly DOCUMENT_POSITION_CONTAINED_BY: 0x10;\n    readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20;\n}\n\ndeclare var Node: {\n    prototype: Node;\n    new(): Node;\n    /** node is an element. */\n    readonly ELEMENT_NODE: 1;\n    readonly ATTRIBUTE_NODE: 2;\n    /** node is a Text node. */\n    readonly TEXT_NODE: 3;\n    /** node is a CDATASection node. */\n    readonly CDATA_SECTION_NODE: 4;\n    readonly ENTITY_REFERENCE_NODE: 5;\n    readonly ENTITY_NODE: 6;\n    /** node is a ProcessingInstruction node. */\n    readonly PROCESSING_INSTRUCTION_NODE: 7;\n    /** node is a Comment node. */\n    readonly COMMENT_NODE: 8;\n    /** node is a document. */\n    readonly DOCUMENT_NODE: 9;\n    /** node is a doctype. */\n    readonly DOCUMENT_TYPE_NODE: 10;\n    /** node is a DocumentFragment node. */\n    readonly DOCUMENT_FRAGMENT_NODE: 11;\n    readonly NOTATION_NODE: 12;\n    /** Set when node and other are not in the same tree. */\n    readonly DOCUMENT_POSITION_DISCONNECTED: 0x01;\n    /** Set when other is preceding node. */\n    readonly DOCUMENT_POSITION_PRECEDING: 0x02;\n    /** Set when other is following node. */\n    readonly DOCUMENT_POSITION_FOLLOWING: 0x04;\n    /** Set when other is an ancestor of node. */\n    readonly DOCUMENT_POSITION_CONTAINS: 0x08;\n    /** Set when other is a descendant of node. */\n    readonly DOCUMENT_POSITION_CONTAINED_BY: 0x10;\n    readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20;\n};\n\n/**\n * An iterator over the members of a list of the nodes in a subtree of the DOM. The nodes will be returned in document order.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator)\n */\ninterface NodeIterator {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator/filter) */\n    readonly filter: NodeFilter | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator/pointerBeforeReferenceNode) */\n    readonly pointerBeforeReferenceNode: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator/referenceNode) */\n    readonly referenceNode: Node;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator/root) */\n    readonly root: Node;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator/whatToShow) */\n    readonly whatToShow: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator/detach)\n     */\n    detach(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator/nextNode) */\n    nextNode(): Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeIterator/previousNode) */\n    previousNode(): Node | null;\n}\n\ndeclare var NodeIterator: {\n    prototype: NodeIterator;\n    new(): NodeIterator;\n};\n\n/**\n * NodeList objects are collections of nodes, usually returned by properties such as Node.childNodes and methods such as document.querySelectorAll().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeList)\n */\ninterface NodeList {\n    /**\n     * Returns the number of nodes in the collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeList/length)\n     */\n    readonly length: number;\n    /**\n     * Returns the node with index index from the collection. The nodes are sorted in tree order.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NodeList/item)\n     */\n    item(index: number): Node | null;\n    /**\n     * Performs the specified action for each node in an list.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: Node, key: number, parent: NodeList) => void, thisArg?: any): void;\n    [index: number]: Node;\n}\n\ndeclare var NodeList: {\n    prototype: NodeList;\n    new(): NodeList;\n};\n\ninterface NodeListOf<TNode extends Node> extends NodeList {\n    item(index: number): TNode;\n    /**\n     * Performs the specified action for each node in an list.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: TNode, key: number, parent: NodeListOf<TNode>) => void, thisArg?: any): void;\n    [index: number]: TNode;\n}\n\ninterface NonDocumentTypeChildNode {\n    /**\n     * Returns the first following sibling that is an element, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/nextElementSibling)\n     */\n    readonly nextElementSibling: Element | null;\n    /**\n     * Returns the first preceding sibling that is an element, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CharacterData/previousElementSibling)\n     */\n    readonly previousElementSibling: Element | null;\n}\n\ninterface NonElementParentNode {\n    /**\n     * Returns the first element within node's descendants whose ID is elementId.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementById)\n     */\n    getElementById(elementId: string): Element | null;\n}\n\ninterface NotificationEventMap {\n    \"click\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"show\": Event;\n}\n\n/**\n * This Notifications API interface is used to configure and display desktop notifications to the user.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification)\n */\ninterface Notification extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/badge) */\n    readonly badge: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/body) */\n    readonly body: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/data) */\n    readonly data: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/dir) */\n    readonly dir: NotificationDirection;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/icon) */\n    readonly icon: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/lang) */\n    readonly lang: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/click_event) */\n    onclick: ((this: Notification, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/close_event) */\n    onclose: ((this: Notification, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/error_event) */\n    onerror: ((this: Notification, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/show_event) */\n    onshow: ((this: Notification, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/requireInteraction) */\n    readonly requireInteraction: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/silent) */\n    readonly silent: boolean | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/tag) */\n    readonly tag: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/title) */\n    readonly title: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/close) */\n    close(): void;\n    addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Notification: {\n    prototype: Notification;\n    new(title: string, options?: NotificationOptions): Notification;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/permission_static) */\n    readonly permission: NotificationPermission;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/requestPermission_static) */\n    requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise<NotificationPermission>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed) */\ninterface OES_draw_buffers_indexed {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendEquationSeparateiOES) */\n    blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendEquationiOES) */\n    blendEquationiOES(buf: GLuint, mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendFuncSeparateiOES) */\n    blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendFunciOES) */\n    blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/colorMaskiOES) */\n    colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/disableiOES) */\n    disableiOES(target: GLenum, index: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/enableiOES) */\n    enableiOES(target: GLenum, index: GLuint): void;\n}\n\n/**\n * The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_element_index_uint)\n */\ninterface OES_element_index_uint {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_fbo_render_mipmap) */\ninterface OES_fbo_render_mipmap {\n}\n\n/**\n * The OES_standard_derivatives extension is part of the WebGL API and adds the GLSL derivative functions dFdx, dFdy, and fwidth.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_standard_derivatives)\n */\ninterface OES_standard_derivatives {\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: 0x8B8B;\n}\n\n/**\n * The OES_texture_float extension is part of the WebGL API and exposes floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_float)\n */\ninterface OES_texture_float {\n}\n\n/**\n * The OES_texture_float_linear extension is part of the WebGL API and allows linear filtering with floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_float_linear)\n */\ninterface OES_texture_float_linear {\n}\n\n/**\n * The OES_texture_half_float extension is part of the WebGL API and adds texture formats with 16- (aka half float) and 32-bit floating-point components.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_half_float)\n */\ninterface OES_texture_half_float {\n    readonly HALF_FLOAT_OES: 0x8D61;\n}\n\n/**\n * The OES_texture_half_float_linear extension is part of the WebGL API and allows linear filtering with half floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_half_float_linear)\n */\ninterface OES_texture_half_float_linear {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object) */\ninterface OES_vertex_array_object {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/bindVertexArrayOES) */\n    bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/createVertexArrayOES) */\n    createVertexArrayOES(): WebGLVertexArrayObjectOES | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/deleteVertexArrayOES) */\n    deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/isVertexArrayOES) */\n    isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean;\n    readonly VERTEX_ARRAY_BINDING_OES: 0x85B5;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OVR_multiview2) */\ninterface OVR_multiview2 {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OVR_multiview2/framebufferTextureMultiviewOVR) */\n    framebufferTextureMultiviewOVR(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, baseViewIndex: GLint, numViews: GLsizei): void;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: 0x9630;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: 0x9632;\n    readonly MAX_VIEWS_OVR: 0x9631;\n    readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: 0x9633;\n}\n\n/**\n * The Web Audio API OfflineAudioCompletionEvent interface represents events that occur when the processing of an OfflineAudioContext is terminated. The complete event implements this interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OfflineAudioCompletionEvent)\n */\ninterface OfflineAudioCompletionEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OfflineAudioCompletionEvent/renderedBuffer) */\n    readonly renderedBuffer: AudioBuffer;\n}\n\ndeclare var OfflineAudioCompletionEvent: {\n    prototype: OfflineAudioCompletionEvent;\n    new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent;\n};\n\ninterface OfflineAudioContextEventMap extends BaseAudioContextEventMap {\n    \"complete\": OfflineAudioCompletionEvent;\n}\n\n/**\n * An AudioContext interface representing an audio-processing graph built from linked together AudioNodes. In contrast with a standard AudioContext, an OfflineAudioContext doesn't render the audio to the device hardware; instead, it generates it, as fast as it can, and outputs the result to an AudioBuffer.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext)\n */\ninterface OfflineAudioContext extends BaseAudioContext {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/complete_event) */\n    oncomplete: ((this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/resume) */\n    resume(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/startRendering) */\n    startRendering(): Promise<AudioBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/suspend) */\n    suspend(suspendTime: number): Promise<void>;\n    addEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var OfflineAudioContext: {\n    prototype: OfflineAudioContext;\n    new(contextOptions: OfflineAudioContextOptions): OfflineAudioContext;\n    new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext;\n};\n\ninterface OffscreenCanvasEventMap {\n    \"contextlost\": Event;\n    \"contextrestored\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas) */\ninterface OffscreenCanvas extends EventTarget {\n    /**\n     * These attributes return the dimensions of the OffscreenCanvas object's bitmap.\n     *\n     * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/height)\n     */\n    height: number;\n    oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    /**\n     * These attributes return the dimensions of the OffscreenCanvas object's bitmap.\n     *\n     * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/width)\n     */\n    width: number;\n    /**\n     * Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object.\n     *\n     * The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of \"image/png\"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as \"image/jpeg\"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/convertToBlob)\n     */\n    convertToBlob(options?: ImageEncodeOptions): Promise<Blob>;\n    /**\n     * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: \"2d\", \"bitmaprenderer\", \"webgl\", or \"webgl2\". options is handled by that API.\n     *\n     * This specification defines the \"2d\" context below, which is similar but distinct from the \"2d\" context that is created from a canvas element. The WebGL specifications define the \"webgl\" and \"webgl2\" contexts. [WEBGL]\n     *\n     * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a \"2d\" context after getting a \"webgl\" context).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/getContext)\n     */\n    getContext(contextId: \"2d\", options?: any): OffscreenCanvasRenderingContext2D | null;\n    getContext(contextId: \"bitmaprenderer\", options?: any): ImageBitmapRenderingContext | null;\n    getContext(contextId: \"webgl\", options?: any): WebGLRenderingContext | null;\n    getContext(contextId: \"webgl2\", options?: any): WebGL2RenderingContext | null;\n    getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null;\n    /**\n     * Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/transferToImageBitmap)\n     */\n    transferToImageBitmap(): ImageBitmap;\n    addEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var OffscreenCanvas: {\n    prototype: OffscreenCanvas;\n    new(width: number, height: number): OffscreenCanvas;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D) */\ninterface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {\n    readonly canvas: OffscreenCanvas;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D/commit) */\n    commit(): void;\n}\n\ndeclare var OffscreenCanvasRenderingContext2D: {\n    prototype: OffscreenCanvasRenderingContext2D;\n    new(): OffscreenCanvasRenderingContext2D;\n};\n\n/**\n * The OscillatorNode\\xA0interface represents a periodic waveform, such as a sine wave. It is an AudioScheduledSourceNode audio-processing module that causes a specified frequency\\xA0of a given wave to be created\\u2014in effect, a constant tone.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OscillatorNode)\n */\ninterface OscillatorNode extends AudioScheduledSourceNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OscillatorNode/detune) */\n    readonly detune: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OscillatorNode/frequency) */\n    readonly frequency: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OscillatorNode/type) */\n    type: OscillatorType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OscillatorNode/setPeriodicWave) */\n    setPeriodicWave(periodicWave: PeriodicWave): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var OscillatorNode: {\n    prototype: OscillatorNode;\n    new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OverconstrainedError) */\ninterface OverconstrainedError extends DOMException {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OverconstrainedError/constraint) */\n    readonly constraint: string;\n}\n\ndeclare var OverconstrainedError: {\n    prototype: OverconstrainedError;\n    new(constraint: string, message?: string): OverconstrainedError;\n};\n\n/**\n * The PageTransitionEvent is fired when a document is being loaded or unloaded.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PageTransitionEvent)\n */\ninterface PageTransitionEvent extends Event {\n    /**\n     * For the pageshow event, returns false if the page is newly being loaded (and the load event will fire). Otherwise, returns true.\n     *\n     * For the pagehide event, returns false if the page is going away for the last time. Otherwise, returns true, meaning that (if nothing conspires to make the page unsalvageable) the page might be reused if the user navigates back to this page.\n     *\n     * Things that can cause the page to be unsalvageable include:\n     *\n     * The user agent decided to not keep the Document alive in a session history entry after unload\n     * Having iframes that are not salvageable\n     * Active WebSocket objects\n     * Aborting a Document\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PageTransitionEvent/persisted)\n     */\n    readonly persisted: boolean;\n}\n\ndeclare var PageTransitionEvent: {\n    prototype: PageTransitionEvent;\n    new(type: string, eventInitDict?: PageTransitionEventInit): PageTransitionEvent;\n};\n\n/**\n * A PannerNode always has exactly one input and one output: the input can be mono or stereo but the output is always stereo (2 channels); you can't have panning effects without at least two audio channels!\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode)\n */\ninterface PannerNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/coneInnerAngle) */\n    coneInnerAngle: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/coneOuterAngle) */\n    coneOuterAngle: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/coneOuterGain) */\n    coneOuterGain: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/distanceModel) */\n    distanceModel: DistanceModelType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/maxDistance) */\n    maxDistance: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/orientationX) */\n    readonly orientationX: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/orientationY) */\n    readonly orientationY: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/orientationZ) */\n    readonly orientationZ: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/panningModel) */\n    panningModel: PanningModelType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/positionX) */\n    readonly positionX: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/positionY) */\n    readonly positionY: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/positionZ) */\n    readonly positionZ: AudioParam;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/refDistance) */\n    refDistance: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/rolloffFactor) */\n    rolloffFactor: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/setOrientation)\n     */\n    setOrientation(x: number, y: number, z: number): void;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PannerNode/setPosition)\n     */\n    setPosition(x: number, y: number, z: number): void;\n}\n\ndeclare var PannerNode: {\n    prototype: PannerNode;\n    new(context: BaseAudioContext, options?: PannerOptions): PannerNode;\n};\n\ninterface ParentNode extends Node {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/childElementCount) */\n    readonly childElementCount: number;\n    /**\n     * Returns the child elements.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/children)\n     */\n    readonly children: HTMLCollection;\n    /**\n     * Returns the first child that is an element, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/firstElementChild)\n     */\n    readonly firstElementChild: Element | null;\n    /**\n     * Returns the last child that is an element, and null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/lastElementChild)\n     */\n    readonly lastElementChild: Element | null;\n    /**\n     * Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.\n     *\n     * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/append)\n     */\n    append(...nodes: (Node | string)[]): void;\n    /**\n     * Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.\n     *\n     * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/prepend)\n     */\n    prepend(...nodes: (Node | string)[]): void;\n    /**\n     * Returns the first element that is a descendant of node that matches selectors.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelector)\n     */\n    querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;\n    querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;\n    querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;\n    /** @deprecated */\n    querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;\n    querySelector<E extends Element = Element>(selectors: string): E | null;\n    /**\n     * Returns all element descendants of node that match selectors.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelectorAll)\n     */\n    querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;\n    querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;\n    querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;\n    /** @deprecated */\n    querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;\n    querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;\n    /**\n     * Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.\n     *\n     * Throws a \"HierarchyRequestError\" DOMException if the constraints of the node tree are violated.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/replaceChildren)\n     */\n    replaceChildren(...nodes: (Node | string)[]): void;\n}\n\n/**\n * This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Path2D)\n */\ninterface Path2D extends CanvasPath {\n    /**\n     * Adds to the path the path given by the argument.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Path2D/addPath)\n     */\n    addPath(path: Path2D, transform?: DOMMatrix2DInit): void;\n}\n\ndeclare var Path2D: {\n    prototype: Path2D;\n    new(path?: Path2D | string): Path2D;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentMethodChangeEvent)\n */\ninterface PaymentMethodChangeEvent extends PaymentRequestUpdateEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentMethodChangeEvent/methodDetails) */\n    readonly methodDetails: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentMethodChangeEvent/methodName) */\n    readonly methodName: string;\n}\n\ndeclare var PaymentMethodChangeEvent: {\n    prototype: PaymentMethodChangeEvent;\n    new(type: string, eventInitDict?: PaymentMethodChangeEventInit): PaymentMethodChangeEvent;\n};\n\ninterface PaymentRequestEventMap {\n    \"paymentmethodchange\": Event;\n}\n\n/**\n * This Payment Request API interface is the primary access point into the API, and lets web content and apps accept payments from the end user.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentRequest)\n */\ninterface PaymentRequest extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentRequest/id) */\n    readonly id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentRequest/paymentmethodchange_event) */\n    onpaymentmethodchange: ((this: PaymentRequest, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentRequest/abort) */\n    abort(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentRequest/canMakePayment) */\n    canMakePayment(): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentRequest/show) */\n    show(detailsPromise?: PaymentDetailsUpdate | PromiseLike<PaymentDetailsUpdate>): Promise<PaymentResponse>;\n    addEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var PaymentRequest: {\n    prototype: PaymentRequest;\n    new(methodData: PaymentMethodData[], details: PaymentDetailsInit): PaymentRequest;\n};\n\n/**\n * This Payment Request API interface enables a web page to update the details of a PaymentRequest in response to a user action.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentRequestUpdateEvent)\n */\ninterface PaymentRequestUpdateEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentRequestUpdateEvent/updateWith) */\n    updateWith(detailsPromise: PaymentDetailsUpdate | PromiseLike<PaymentDetailsUpdate>): void;\n}\n\ndeclare var PaymentRequestUpdateEvent: {\n    prototype: PaymentRequestUpdateEvent;\n    new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent;\n};\n\n/**\n * This Payment Request API interface is returned after a user selects a payment method and approves a payment request.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentResponse)\n */\ninterface PaymentResponse extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentResponse/details) */\n    readonly details: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentResponse/methodName) */\n    readonly methodName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentResponse/requestId) */\n    readonly requestId: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentResponse/complete) */\n    complete(result?: PaymentComplete): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentResponse/retry) */\n    retry(errorFields?: PaymentValidationErrors): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PaymentResponse/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PaymentResponse: {\n    prototype: PaymentResponse;\n    new(): PaymentResponse;\n};\n\ninterface PerformanceEventMap {\n    \"resourcetimingbufferfull\": Event;\n}\n\n/**\n * Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance)\n */\ninterface Performance extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/eventCounts) */\n    readonly eventCounts: EventCounts;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/navigation)\n     */\n    readonly navigation: PerformanceNavigation;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/resourcetimingbufferfull_event) */\n    onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/timeOrigin) */\n    readonly timeOrigin: DOMHighResTimeStamp;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/timing)\n     */\n    readonly timing: PerformanceTiming;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearMarks) */\n    clearMarks(markName?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearMeasures) */\n    clearMeasures(measureName?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearResourceTimings) */\n    clearResourceTimings(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntries) */\n    getEntries(): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByName) */\n    getEntriesByName(name: string, type?: string): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByType) */\n    getEntriesByType(type: string): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/mark) */\n    mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/measure) */\n    measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/now) */\n    now(): DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/setResourceTimingBufferSize) */\n    setResourceTimingBufferSize(maxSize: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/toJSON) */\n    toJSON(): any;\n    addEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Performance: {\n    prototype: Performance;\n    new(): Performance;\n};\n\n/**\n * Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the mark() method) at an explicit point in an application. Performance entries are also created in indirect ways such as loading a resource (such as an image).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry)\n */\ninterface PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/duration) */\n    readonly duration: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/entryType) */\n    readonly entryType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/startTime) */\n    readonly startTime: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PerformanceEntry: {\n    prototype: PerformanceEntry;\n    new(): PerformanceEntry;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming) */\ninterface PerformanceEventTiming extends PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/cancelable) */\n    readonly cancelable: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/processingEnd) */\n    readonly processingEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/processingStart) */\n    readonly processingStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/target) */\n    readonly target: Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PerformanceEventTiming: {\n    prototype: PerformanceEventTiming;\n    new(): PerformanceEventTiming;\n};\n\n/**\n * PerformanceMark\\xA0is an abstract interface for PerformanceEntry objects with an entryType of \"mark\". Entries of this type are created by calling performance.mark() to add a named DOMHighResTimeStamp (the mark) to the browser's performance timeline.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMark)\n */\ninterface PerformanceMark extends PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMark/detail) */\n    readonly detail: any;\n}\n\ndeclare var PerformanceMark: {\n    prototype: PerformanceMark;\n    new(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n};\n\n/**\n * PerformanceMeasure is an abstract interface for PerformanceEntry objects with an entryType of \"measure\". Entries of this type are created by calling performance.measure() to add a named DOMHighResTimeStamp (the measure) between two marks to the browser's performance timeline.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMeasure)\n */\ninterface PerformanceMeasure extends PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMeasure/detail) */\n    readonly detail: any;\n}\n\ndeclare var PerformanceMeasure: {\n    prototype: PerformanceMeasure;\n    new(): PerformanceMeasure;\n};\n\n/**\n * The legacy PerformanceNavigation interface represents information about how the navigation to the current document was done.\n * @deprecated This interface is deprecated in the Navigation Timing Level 2 specification. Please use the PerformanceNavigationTiming interface instead.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigation)\n */\ninterface PerformanceNavigation {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigation/redirectCount)\n     */\n    readonly redirectCount: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigation/type)\n     */\n    readonly type: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigation/toJSON)\n     */\n    toJSON(): any;\n    readonly TYPE_NAVIGATE: 0;\n    readonly TYPE_RELOAD: 1;\n    readonly TYPE_BACK_FORWARD: 2;\n    readonly TYPE_RESERVED: 255;\n}\n\n/** @deprecated */\ndeclare var PerformanceNavigation: {\n    prototype: PerformanceNavigation;\n    new(): PerformanceNavigation;\n    readonly TYPE_NAVIGATE: 0;\n    readonly TYPE_RELOAD: 1;\n    readonly TYPE_BACK_FORWARD: 2;\n    readonly TYPE_RESERVED: 255;\n};\n\n/**\n * Provides methods and properties to store and retrieve metrics regarding the browser's document navigation events. For example, this interface can be used to determine how much time it takes to load or unload a document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming)\n */\ninterface PerformanceNavigationTiming extends PerformanceResourceTiming {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/domComplete) */\n    readonly domComplete: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/domContentLoadedEventEnd) */\n    readonly domContentLoadedEventEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/domContentLoadedEventStart) */\n    readonly domContentLoadedEventStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/domInteractive) */\n    readonly domInteractive: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/loadEventEnd) */\n    readonly loadEventEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/loadEventStart) */\n    readonly loadEventStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/redirectCount) */\n    readonly redirectCount: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/type) */\n    readonly type: NavigationTimingType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/unloadEventEnd) */\n    readonly unloadEventEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/unloadEventStart) */\n    readonly unloadEventStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PerformanceNavigationTiming: {\n    prototype: PerformanceNavigationTiming;\n    new(): PerformanceNavigationTiming;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver) */\ninterface PerformanceObserver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/disconnect) */\n    disconnect(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/observe) */\n    observe(options?: PerformanceObserverInit): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/takeRecords) */\n    takeRecords(): PerformanceEntryList;\n}\n\ndeclare var PerformanceObserver: {\n    prototype: PerformanceObserver;\n    new(callback: PerformanceObserverCallback): PerformanceObserver;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/supportedEntryTypes_static) */\n    readonly supportedEntryTypes: ReadonlyArray<string>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList) */\ninterface PerformanceObserverEntryList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntries) */\n    getEntries(): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntriesByName) */\n    getEntriesByName(name: string, type?: string): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntriesByType) */\n    getEntriesByType(type: string): PerformanceEntryList;\n}\n\ndeclare var PerformanceObserverEntryList: {\n    prototype: PerformanceObserverEntryList;\n    new(): PerformanceObserverEntryList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformancePaintTiming) */\ninterface PerformancePaintTiming extends PerformanceEntry {\n}\n\ndeclare var PerformancePaintTiming: {\n    prototype: PerformancePaintTiming;\n    new(): PerformancePaintTiming;\n};\n\n/**\n * Enables retrieval and analysis of detailed network timing data regarding the loading of an application's resources. An application can use the timing metrics to determine, for example, the length of time it takes to fetch a specific resource, such as an XMLHttpRequest, <SVG>, image, or script.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming)\n */\ninterface PerformanceResourceTiming extends PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/connectEnd) */\n    readonly connectEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/connectStart) */\n    readonly connectStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/decodedBodySize) */\n    readonly decodedBodySize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/domainLookupEnd) */\n    readonly domainLookupEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/domainLookupStart) */\n    readonly domainLookupStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/encodedBodySize) */\n    readonly encodedBodySize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/fetchStart) */\n    readonly fetchStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/initiatorType) */\n    readonly initiatorType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/nextHopProtocol) */\n    readonly nextHopProtocol: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/redirectEnd) */\n    readonly redirectEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/redirectStart) */\n    readonly redirectStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/requestStart) */\n    readonly requestStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/responseEnd) */\n    readonly responseEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/responseStart) */\n    readonly responseStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/secureConnectionStart) */\n    readonly secureConnectionStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/serverTiming) */\n    readonly serverTiming: ReadonlyArray<PerformanceServerTiming>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/transferSize) */\n    readonly transferSize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/workerStart) */\n    readonly workerStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PerformanceResourceTiming: {\n    prototype: PerformanceResourceTiming;\n    new(): PerformanceResourceTiming;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming) */\ninterface PerformanceServerTiming {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/description) */\n    readonly description: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/duration) */\n    readonly duration: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PerformanceServerTiming: {\n    prototype: PerformanceServerTiming;\n    new(): PerformanceServerTiming;\n};\n\n/**\n * A legacy interface kept for backwards compatibility and contains properties that offer performance timing information for various events which occur during the loading and use of the current page. You get a PerformanceTiming object describing your page using the window.performance.timing property.\n * @deprecated This interface is deprecated in the Navigation Timing Level 2 specification. Please use the PerformanceNavigationTiming interface instead.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming)\n */\ninterface PerformanceTiming {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/connectEnd)\n     */\n    readonly connectEnd: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/connectStart)\n     */\n    readonly connectStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/domComplete)\n     */\n    readonly domComplete: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/domContentLoadedEventEnd)\n     */\n    readonly domContentLoadedEventEnd: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/domContentLoadedEventStart)\n     */\n    readonly domContentLoadedEventStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/domInteractive)\n     */\n    readonly domInteractive: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/domLoading)\n     */\n    readonly domLoading: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/domainLookupEnd)\n     */\n    readonly domainLookupEnd: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/domainLookupStart)\n     */\n    readonly domainLookupStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/fetchStart)\n     */\n    readonly fetchStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/loadEventEnd)\n     */\n    readonly loadEventEnd: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/loadEventStart)\n     */\n    readonly loadEventStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/navigationStart)\n     */\n    readonly navigationStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/redirectEnd)\n     */\n    readonly redirectEnd: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/redirectStart)\n     */\n    readonly redirectStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/requestStart)\n     */\n    readonly requestStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/responseEnd)\n     */\n    readonly responseEnd: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/responseStart)\n     */\n    readonly responseStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/secureConnectionStart)\n     */\n    readonly secureConnectionStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/unloadEventEnd)\n     */\n    readonly unloadEventEnd: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/unloadEventStart)\n     */\n    readonly unloadEventStart: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceTiming/toJSON)\n     */\n    toJSON(): any;\n}\n\n/** @deprecated */\ndeclare var PerformanceTiming: {\n    prototype: PerformanceTiming;\n    new(): PerformanceTiming;\n};\n\n/**\n * PeriodicWave has no inputs or outputs; it is used to define custom oscillators when calling OscillatorNode.setPeriodicWave(). The PeriodicWave itself is created/returned by AudioContext.createPeriodicWave().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PeriodicWave)\n */\ninterface PeriodicWave {\n}\n\ndeclare var PeriodicWave: {\n    prototype: PeriodicWave;\n    new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave;\n};\n\ninterface PermissionStatusEventMap {\n    \"change\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus) */\ninterface PermissionStatus extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/change_event) */\n    onchange: ((this: PermissionStatus, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/state) */\n    readonly state: PermissionState;\n    addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var PermissionStatus: {\n    prototype: PermissionStatus;\n    new(): PermissionStatus;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Permissions) */\ninterface Permissions {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Permissions/query) */\n    query(permissionDesc: PermissionDescriptor): Promise<PermissionStatus>;\n}\n\ndeclare var Permissions: {\n    prototype: Permissions;\n    new(): Permissions;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PictureInPictureEvent) */\ninterface PictureInPictureEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PictureInPictureEvent/pictureInPictureWindow) */\n    readonly pictureInPictureWindow: PictureInPictureWindow;\n}\n\ndeclare var PictureInPictureEvent: {\n    prototype: PictureInPictureEvent;\n    new(type: string, eventInitDict: PictureInPictureEventInit): PictureInPictureEvent;\n};\n\ninterface PictureInPictureWindowEventMap {\n    \"resize\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow) */\ninterface PictureInPictureWindow extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/height) */\n    readonly height: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/resize_event) */\n    onresize: ((this: PictureInPictureWindow, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/width) */\n    readonly width: number;\n    addEventListener<K extends keyof PictureInPictureWindowEventMap>(type: K, listener: (this: PictureInPictureWindow, ev: PictureInPictureWindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PictureInPictureWindowEventMap>(type: K, listener: (this: PictureInPictureWindow, ev: PictureInPictureWindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var PictureInPictureWindow: {\n    prototype: PictureInPictureWindow;\n    new(): PictureInPictureWindow;\n};\n\n/**\n * Provides information about a browser plugin.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin)\n */\ninterface Plugin {\n    /**\n     * Returns the plugin's description.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/description)\n     */\n    readonly description: string;\n    /**\n     * Returns the plugin library's filename, if applicable on the current platform.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/filename)\n     */\n    readonly filename: string;\n    /**\n     * Returns the number of MIME types, represented by MimeType objects, supported by the plugin.\n     * @deprecated\n     */\n    readonly length: number;\n    /**\n     * Returns the plugin's name.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/name)\n     */\n    readonly name: string;\n    /**\n     * Returns the specified MimeType object.\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/item)\n     */\n    item(index: number): MimeType | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/namedItem)\n     */\n    namedItem(name: string): MimeType | null;\n    [index: number]: MimeType;\n}\n\n/** @deprecated */\ndeclare var Plugin: {\n    prototype: Plugin;\n    new(): Plugin;\n};\n\n/**\n * Used to store a list of Plugin objects describing the available plugins; it's returned by the window.navigator.plugins\\xA0property. The PluginArray is not a JavaScript array, but has the length property and supports accessing individual items using bracket notation (plugins[2]), as well as via item(index) and namedItem(\"name\") methods.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray)\n */\ninterface PluginArray {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray/length)\n     */\n    readonly length: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray/item)\n     */\n    item(index: number): Plugin | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray/namedItem)\n     */\n    namedItem(name: string): Plugin | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray/refresh)\n     */\n    refresh(): void;\n    [index: number]: Plugin;\n}\n\n/** @deprecated */\ndeclare var PluginArray: {\n    prototype: PluginArray;\n    new(): PluginArray;\n};\n\n/**\n * The state of a DOM event produced by a pointer such as the geometry of the contact point, the device type that generated the event, the amount of pressure that was applied on the contact surface, etc.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent)\n */\ninterface PointerEvent extends MouseEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/height) */\n    readonly height: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/isPrimary) */\n    readonly isPrimary: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/pointerId) */\n    readonly pointerId: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/pointerType) */\n    readonly pointerType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/pressure) */\n    readonly pressure: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/tangentialPressure) */\n    readonly tangentialPressure: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/tiltX) */\n    readonly tiltX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/tiltY) */\n    readonly tiltY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/twist) */\n    readonly twist: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/width) */\n    readonly width: number;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/getCoalescedEvents)\n     */\n    getCoalescedEvents(): PointerEvent[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PointerEvent/getPredictedEvents) */\n    getPredictedEvents(): PointerEvent[];\n}\n\ndeclare var PointerEvent: {\n    prototype: PointerEvent;\n    new(type: string, eventInitDict?: PointerEventInit): PointerEvent;\n};\n\n/**\n * PopStateEvent is an event handler for the popstate event on the window.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PopStateEvent)\n */\ninterface PopStateEvent extends Event {\n    /**\n     * Returns a copy of the information that was provided to pushState() or replaceState().\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PopStateEvent/state)\n     */\n    readonly state: any;\n}\n\ndeclare var PopStateEvent: {\n    prototype: PopStateEvent;\n    new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent;\n};\n\ninterface PopoverInvokerElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/popoverTargetAction) */\n    popoverTargetAction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/popoverTargetElement) */\n    popoverTargetElement: Element | null;\n}\n\n/**\n * A processing instruction embeds application-specific instructions in XML which can be ignored by other applications that don't recognize them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProcessingInstruction)\n */\ninterface ProcessingInstruction extends CharacterData, LinkStyle {\n    readonly ownerDocument: Document;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProcessingInstruction/target) */\n    readonly target: string;\n}\n\ndeclare var ProcessingInstruction: {\n    prototype: ProcessingInstruction;\n    new(): ProcessingInstruction;\n};\n\n/**\n * Events measuring progress of an underlying process, like an HTTP request (for an XMLHttpRequest, or the loading of the underlying resource of an <img>, <audio>, <video>, <style> or <link>).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProgressEvent)\n */\ninterface ProgressEvent<T extends EventTarget = EventTarget> extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProgressEvent/lengthComputable) */\n    readonly lengthComputable: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProgressEvent/loaded) */\n    readonly loaded: number;\n    readonly target: T | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProgressEvent/total) */\n    readonly total: number;\n}\n\ndeclare var ProgressEvent: {\n    prototype: ProgressEvent;\n    new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent) */\ninterface PromiseRejectionEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent/promise) */\n    readonly promise: Promise<any>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent/reason) */\n    readonly reason: any;\n}\n\ndeclare var PromiseRejectionEvent: {\n    prototype: PromiseRejectionEvent;\n    new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential)\n */\ninterface PublicKeyCredential extends Credential {\n    readonly authenticatorAttachment: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/rawId) */\n    readonly rawId: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/response) */\n    readonly response: AuthenticatorResponse;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/getClientExtensionResults) */\n    getClientExtensionResults(): AuthenticationExtensionsClientOutputs;\n}\n\ndeclare var PublicKeyCredential: {\n    prototype: PublicKeyCredential;\n    new(): PublicKeyCredential;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/isConditionalMediationAvailable) */\n    isConditionalMediationAvailable(): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/isUserVerifyingPlatformAuthenticatorAvailable_static) */\n    isUserVerifyingPlatformAuthenticatorAvailable(): Promise<boolean>;\n};\n\n/**\n * This Push API interface provides a way to receive notifications from third-party servers as well as request URLs for push notifications.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager)\n */\ninterface PushManager {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager/getSubscription) */\n    getSubscription(): Promise<PushSubscription | null>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager/permissionState) */\n    permissionState(options?: PushSubscriptionOptionsInit): Promise<PermissionState>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager/subscribe) */\n    subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;\n}\n\ndeclare var PushManager: {\n    prototype: PushManager;\n    new(): PushManager;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager/supportedContentEncodings_static) */\n    readonly supportedContentEncodings: ReadonlyArray<string>;\n};\n\n/**\n * This Push API interface provides a subcription's URL endpoint and allows unsubscription from a push service.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription)\n */\ninterface PushSubscription {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/endpoint) */\n    readonly endpoint: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/expirationTime) */\n    readonly expirationTime: EpochTimeStamp | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/options) */\n    readonly options: PushSubscriptionOptions;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/getKey) */\n    getKey(name: PushEncryptionKeyName): ArrayBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/toJSON) */\n    toJSON(): PushSubscriptionJSON;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/unsubscribe) */\n    unsubscribe(): Promise<boolean>;\n}\n\ndeclare var PushSubscription: {\n    prototype: PushSubscription;\n    new(): PushSubscription;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscriptionOptions)\n */\ninterface PushSubscriptionOptions {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscriptionOptions/applicationServerKey) */\n    readonly applicationServerKey: ArrayBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscriptionOptions/userVisibleOnly) */\n    readonly userVisibleOnly: boolean;\n}\n\ndeclare var PushSubscriptionOptions: {\n    prototype: PushSubscriptionOptions;\n    new(): PushSubscriptionOptions;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCCertificate) */\ninterface RTCCertificate {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCCertificate/expires) */\n    readonly expires: EpochTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCCertificate/getFingerprints) */\n    getFingerprints(): RTCDtlsFingerprint[];\n}\n\ndeclare var RTCCertificate: {\n    prototype: RTCCertificate;\n    new(): RTCCertificate;\n};\n\ninterface RTCDTMFSenderEventMap {\n    \"tonechange\": RTCDTMFToneChangeEvent;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDTMFSender) */\ninterface RTCDTMFSender extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDTMFSender/canInsertDTMF) */\n    readonly canInsertDTMF: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDTMFSender/tonechange_event) */\n    ontonechange: ((this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDTMFSender/toneBuffer) */\n    readonly toneBuffer: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDTMFSender/insertDTMF) */\n    insertDTMF(tones: string, duration?: number, interToneGap?: number): void;\n    addEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCDTMFSender: {\n    prototype: RTCDTMFSender;\n    new(): RTCDTMFSender;\n};\n\n/**\n * Events sent to indicate that DTMF tones have started or finished playing. This interface is used by the tonechange event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDTMFToneChangeEvent)\n */\ninterface RTCDTMFToneChangeEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDTMFToneChangeEvent/tone) */\n    readonly tone: string;\n}\n\ndeclare var RTCDTMFToneChangeEvent: {\n    prototype: RTCDTMFToneChangeEvent;\n    new(type: string, eventInitDict?: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent;\n};\n\ninterface RTCDataChannelEventMap {\n    \"bufferedamountlow\": Event;\n    \"close\": Event;\n    \"closing\": Event;\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel) */\ninterface RTCDataChannel extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/binaryType) */\n    binaryType: BinaryType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/bufferedAmount) */\n    readonly bufferedAmount: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/bufferedAmountLowThreshold) */\n    bufferedAmountLowThreshold: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/id) */\n    readonly id: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/label) */\n    readonly label: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/maxPacketLifeTime) */\n    readonly maxPacketLifeTime: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/maxRetransmits) */\n    readonly maxRetransmits: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/negotiated) */\n    readonly negotiated: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/bufferedamountlow_event) */\n    onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/close_event) */\n    onclose: ((this: RTCDataChannel, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/closing_event) */\n    onclosing: ((this: RTCDataChannel, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/error_event) */\n    onerror: ((this: RTCDataChannel, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/message_event) */\n    onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/open_event) */\n    onopen: ((this: RTCDataChannel, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/ordered) */\n    readonly ordered: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/protocol) */\n    readonly protocol: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/readyState) */\n    readonly readyState: RTCDataChannelState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/send) */\n    send(data: string): void;\n    send(data: Blob): void;\n    send(data: ArrayBuffer): void;\n    send(data: ArrayBufferView): void;\n    addEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCDataChannel: {\n    prototype: RTCDataChannel;\n    new(): RTCDataChannel;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannelEvent) */\ninterface RTCDataChannelEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannelEvent/channel) */\n    readonly channel: RTCDataChannel;\n}\n\ndeclare var RTCDataChannelEvent: {\n    prototype: RTCDataChannelEvent;\n    new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent;\n};\n\ninterface RTCDtlsTransportEventMap {\n    \"error\": Event;\n    \"statechange\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport) */\ninterface RTCDtlsTransport extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/iceTransport) */\n    readonly iceTransport: RTCIceTransport;\n    onerror: ((this: RTCDtlsTransport, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/statechange_event) */\n    onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/state) */\n    readonly state: RTCDtlsTransportState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/getRemoteCertificates) */\n    getRemoteCertificates(): ArrayBuffer[];\n    addEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCDtlsTransport: {\n    prototype: RTCDtlsTransport;\n    new(): RTCDtlsTransport;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedAudioFrame) */\ninterface RTCEncodedAudioFrame {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedAudioFrame/data) */\n    data: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedAudioFrame/timestamp) */\n    readonly timestamp: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedAudioFrame/getMetadata) */\n    getMetadata(): RTCEncodedAudioFrameMetadata;\n}\n\ndeclare var RTCEncodedAudioFrame: {\n    prototype: RTCEncodedAudioFrame;\n    new(): RTCEncodedAudioFrame;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame) */\ninterface RTCEncodedVideoFrame {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame/data) */\n    data: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame/timestamp) */\n    readonly timestamp: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame/type) */\n    readonly type: RTCEncodedVideoFrameType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame/getMetadata) */\n    getMetadata(): RTCEncodedVideoFrameMetadata;\n}\n\ndeclare var RTCEncodedVideoFrame: {\n    prototype: RTCEncodedVideoFrame;\n    new(): RTCEncodedVideoFrame;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCError) */\ninterface RTCError extends DOMException {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCError/errorDetail) */\n    readonly errorDetail: RTCErrorDetailType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCError/receivedAlert) */\n    readonly receivedAlert: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCError/sctpCauseCode) */\n    readonly sctpCauseCode: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCError/sdpLineNumber) */\n    readonly sdpLineNumber: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCError/sentAlert) */\n    readonly sentAlert: number | null;\n}\n\ndeclare var RTCError: {\n    prototype: RTCError;\n    new(init: RTCErrorInit, message?: string): RTCError;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCErrorEvent) */\ninterface RTCErrorEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCErrorEvent/error) */\n    readonly error: RTCError;\n}\n\ndeclare var RTCErrorEvent: {\n    prototype: RTCErrorEvent;\n    new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent;\n};\n\n/**\n * The RTCIceCandidate interface\\u2014part of the WebRTC API\\u2014represents a candidate Internet Connectivity Establishment (ICE) configuration which may be used to establish an RTCPeerConnection.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate)\n */\ninterface RTCIceCandidate {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/address) */\n    readonly address: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/candidate) */\n    readonly candidate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/component) */\n    readonly component: RTCIceComponent | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/foundation) */\n    readonly foundation: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/port) */\n    readonly port: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/priority) */\n    readonly priority: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/protocol) */\n    readonly protocol: RTCIceProtocol | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/relatedAddress) */\n    readonly relatedAddress: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/relatedPort) */\n    readonly relatedPort: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/sdpMLineIndex) */\n    readonly sdpMLineIndex: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/sdpMid) */\n    readonly sdpMid: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/tcpType) */\n    readonly tcpType: RTCIceTcpCandidateType | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/type) */\n    readonly type: RTCIceCandidateType | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/usernameFragment) */\n    readonly usernameFragment: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceCandidate/toJSON) */\n    toJSON(): RTCIceCandidateInit;\n}\n\ndeclare var RTCIceCandidate: {\n    prototype: RTCIceCandidate;\n    new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;\n};\n\ninterface RTCIceTransportEventMap {\n    \"gatheringstatechange\": Event;\n    \"selectedcandidatepairchange\": Event;\n    \"statechange\": Event;\n}\n\n/**\n * Provides access to information about the ICE transport layer over which the data is being sent and received.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceTransport)\n */\ninterface RTCIceTransport extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceTransport/gatheringState) */\n    readonly gatheringState: RTCIceGathererState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceTransport/gatheringstatechange_event) */\n    ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceTransport/selectedcandidatepairchange_event) */\n    onselectedcandidatepairchange: ((this: RTCIceTransport, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceTransport/statechange_event) */\n    onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceTransport/state) */\n    readonly state: RTCIceTransportState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCIceTransport/getSelectedCandidatePair) */\n    getSelectedCandidatePair(): RTCIceCandidatePair | null;\n    addEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCIceTransport: {\n    prototype: RTCIceTransport;\n    new(): RTCIceTransport;\n};\n\ninterface RTCPeerConnectionEventMap {\n    \"connectionstatechange\": Event;\n    \"datachannel\": RTCDataChannelEvent;\n    \"icecandidate\": RTCPeerConnectionIceEvent;\n    \"icecandidateerror\": RTCPeerConnectionIceErrorEvent;\n    \"iceconnectionstatechange\": Event;\n    \"icegatheringstatechange\": Event;\n    \"negotiationneeded\": Event;\n    \"signalingstatechange\": Event;\n    \"track\": RTCTrackEvent;\n}\n\n/**\n * A WebRTC connection between the local computer and a remote peer. It provides methods to connect to a remote peer, maintain and monitor the connection, and close the connection once it's no longer needed.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection)\n */\ninterface RTCPeerConnection extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/canTrickleIceCandidates) */\n    readonly canTrickleIceCandidates: boolean | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/connectionState) */\n    readonly connectionState: RTCPeerConnectionState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/currentLocalDescription) */\n    readonly currentLocalDescription: RTCSessionDescription | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/currentRemoteDescription) */\n    readonly currentRemoteDescription: RTCSessionDescription | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/iceConnectionState) */\n    readonly iceConnectionState: RTCIceConnectionState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/iceGatheringState) */\n    readonly iceGatheringState: RTCIceGatheringState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/localDescription) */\n    readonly localDescription: RTCSessionDescription | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/connectionstatechange_event) */\n    onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/datachannel_event) */\n    ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/icecandidate_event) */\n    onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/icecandidateerror_event) */\n    onicecandidateerror: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/iceconnectionstatechange_event) */\n    oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/icegatheringstatechange_event) */\n    onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/negotiationneeded_event) */\n    onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/signalingstatechange_event) */\n    onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/track_event) */\n    ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/pendingLocalDescription) */\n    readonly pendingLocalDescription: RTCSessionDescription | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/pendingRemoteDescription) */\n    readonly pendingRemoteDescription: RTCSessionDescription | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/remoteDescription) */\n    readonly remoteDescription: RTCSessionDescription | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/sctp) */\n    readonly sctp: RTCSctpTransport | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/signalingState) */\n    readonly signalingState: RTCSignalingState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/addIceCandidate) */\n    addIceCandidate(candidate?: RTCIceCandidateInit): Promise<void>;\n    /** @deprecated */\n    addIceCandidate(candidate: RTCIceCandidateInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/addTrack) */\n    addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/addTransceiver) */\n    addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/createAnswer) */\n    createAnswer(options?: RTCAnswerOptions): Promise<RTCSessionDescriptionInit>;\n    /** @deprecated */\n    createAnswer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/createDataChannel) */\n    createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/createOffer) */\n    createOffer(options?: RTCOfferOptions): Promise<RTCSessionDescriptionInit>;\n    /** @deprecated */\n    createOffer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/getConfiguration) */\n    getConfiguration(): RTCConfiguration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/getReceivers) */\n    getReceivers(): RTCRtpReceiver[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/getSenders) */\n    getSenders(): RTCRtpSender[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/getStats) */\n    getStats(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/getTransceivers) */\n    getTransceivers(): RTCRtpTransceiver[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/removeTrack) */\n    removeTrack(sender: RTCRtpSender): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/restartIce) */\n    restartIce(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/setConfiguration) */\n    setConfiguration(configuration?: RTCConfiguration): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/setLocalDescription) */\n    setLocalDescription(description?: RTCLocalSessionDescriptionInit): Promise<void>;\n    /** @deprecated */\n    setLocalDescription(description: RTCLocalSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/setRemoteDescription) */\n    setRemoteDescription(description: RTCSessionDescriptionInit): Promise<void>;\n    /** @deprecated */\n    setRemoteDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    addEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCPeerConnection: {\n    prototype: RTCPeerConnection;\n    new(configuration?: RTCConfiguration): RTCPeerConnection;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnection/generateCertificate_static) */\n    generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise<RTCCertificate>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent) */\ninterface RTCPeerConnectionIceErrorEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent/address) */\n    readonly address: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent/errorCode) */\n    readonly errorCode: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent/errorText) */\n    readonly errorText: string;\n    readonly port: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent/url) */\n    readonly url: string;\n}\n\ndeclare var RTCPeerConnectionIceErrorEvent: {\n    prototype: RTCPeerConnectionIceErrorEvent;\n    new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent;\n};\n\n/**\n * Events that occurs in relation to ICE candidates with the target, usually an RTCPeerConnection. Only one event is of this type: icecandidate.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceEvent)\n */\ninterface RTCPeerConnectionIceEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceEvent/candidate) */\n    readonly candidate: RTCIceCandidate | null;\n}\n\ndeclare var RTCPeerConnectionIceEvent: {\n    prototype: RTCPeerConnectionIceEvent;\n    new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent;\n};\n\n/**\n * This WebRTC API interface manages the reception and decoding of data for a\\xA0MediaStreamTrack on an\\xA0RTCPeerConnection.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver)\n */\ninterface RTCRtpReceiver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/track) */\n    readonly track: MediaStreamTrack;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/transform) */\n    transform: RTCRtpTransform | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/transport) */\n    readonly transport: RTCDtlsTransport | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/getContributingSources) */\n    getContributingSources(): RTCRtpContributingSource[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/getParameters) */\n    getParameters(): RTCRtpReceiveParameters;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/getStats) */\n    getStats(): Promise<RTCStatsReport>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/getSynchronizationSources) */\n    getSynchronizationSources(): RTCRtpSynchronizationSource[];\n}\n\ndeclare var RTCRtpReceiver: {\n    prototype: RTCRtpReceiver;\n    new(): RTCRtpReceiver;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/getCapabilities_static) */\n    getCapabilities(kind: string): RTCRtpCapabilities | null;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpScriptTransform) */\ninterface RTCRtpScriptTransform {\n}\n\ndeclare var RTCRtpScriptTransform: {\n    prototype: RTCRtpScriptTransform;\n    new(worker: Worker, options?: any, transfer?: any[]): RTCRtpScriptTransform;\n};\n\n/**\n * Provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender)\n */\ninterface RTCRtpSender {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/dtmf) */\n    readonly dtmf: RTCDTMFSender | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/track) */\n    readonly track: MediaStreamTrack | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/transform) */\n    transform: RTCRtpTransform | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/transport) */\n    readonly transport: RTCDtlsTransport | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/getParameters) */\n    getParameters(): RTCRtpSendParameters;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/getStats) */\n    getStats(): Promise<RTCStatsReport>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/replaceTrack) */\n    replaceTrack(withTrack: MediaStreamTrack | null): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/setParameters) */\n    setParameters(parameters: RTCRtpSendParameters, setParameterOptions?: RTCSetParameterOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/setStreams) */\n    setStreams(...streams: MediaStream[]): void;\n}\n\ndeclare var RTCRtpSender: {\n    prototype: RTCRtpSender;\n    new(): RTCRtpSender;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/getCapabilities_static) */\n    getCapabilities(kind: string): RTCRtpCapabilities | null;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver) */\ninterface RTCRtpTransceiver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/currentDirection) */\n    readonly currentDirection: RTCRtpTransceiverDirection | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/direction) */\n    direction: RTCRtpTransceiverDirection;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/mid) */\n    readonly mid: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/receiver) */\n    readonly receiver: RTCRtpReceiver;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/sender) */\n    readonly sender: RTCRtpSender;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/setCodecPreferences) */\n    setCodecPreferences(codecs: RTCRtpCodecCapability[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/stop) */\n    stop(): void;\n}\n\ndeclare var RTCRtpTransceiver: {\n    prototype: RTCRtpTransceiver;\n    new(): RTCRtpTransceiver;\n};\n\ninterface RTCSctpTransportEventMap {\n    \"statechange\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSctpTransport) */\ninterface RTCSctpTransport extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxChannels) */\n    readonly maxChannels: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxMessageSize) */\n    readonly maxMessageSize: number;\n    onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/state) */\n    readonly state: RTCSctpTransportState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/transport) */\n    readonly transport: RTCDtlsTransport;\n    addEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCSctpTransport: {\n    prototype: RTCSctpTransport;\n    new(): RTCSctpTransport;\n};\n\n/**\n * One end of a connection\\u2014or potential connection\\u2014and how it's configured. Each RTCSessionDescription consists of a description type indicating which part of the offer/answer negotiation process it describes and of the SDP descriptor of the session.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSessionDescription)\n */\ninterface RTCSessionDescription {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSessionDescription/sdp) */\n    readonly sdp: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSessionDescription/type) */\n    readonly type: RTCSdpType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSessionDescription/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var RTCSessionDescription: {\n    prototype: RTCSessionDescription;\n    new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCStatsReport) */\ninterface RTCStatsReport {\n    forEach(callbackfn: (value: any, key: string, parent: RTCStatsReport) => void, thisArg?: any): void;\n}\n\ndeclare var RTCStatsReport: {\n    prototype: RTCStatsReport;\n    new(): RTCStatsReport;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCTrackEvent) */\ninterface RTCTrackEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCTrackEvent/receiver) */\n    readonly receiver: RTCRtpReceiver;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCTrackEvent/streams) */\n    readonly streams: ReadonlyArray<MediaStream>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCTrackEvent/track) */\n    readonly track: MediaStreamTrack;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCTrackEvent/transceiver) */\n    readonly transceiver: RTCRtpTransceiver;\n}\n\ndeclare var RTCTrackEvent: {\n    prototype: RTCTrackEvent;\n    new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RadioNodeList) */\ninterface RadioNodeList extends NodeList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RadioNodeList/value) */\n    value: string;\n}\n\ndeclare var RadioNodeList: {\n    prototype: RadioNodeList;\n    new(): RadioNodeList;\n};\n\n/**\n * A fragment of a document that can contain nodes and parts of text nodes.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range)\n */\ninterface Range extends AbstractRange {\n    /**\n     * Returns the node, furthest away from the document, that is an ancestor of both range's start node and end node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/commonAncestorContainer)\n     */\n    readonly commonAncestorContainer: Node;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/cloneContents) */\n    cloneContents(): DocumentFragment;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/cloneRange) */\n    cloneRange(): Range;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/collapse) */\n    collapse(toStart?: boolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/compareBoundaryPoints) */\n    compareBoundaryPoints(how: number, sourceRange: Range): number;\n    /**\n     * Returns \\u22121 if the point is before the range, 0 if the point is in the range, and 1 if the point is after the range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/comparePoint)\n     */\n    comparePoint(node: Node, offset: number): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/createContextualFragment) */\n    createContextualFragment(fragment: string): DocumentFragment;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/deleteContents) */\n    deleteContents(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/detach) */\n    detach(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/extractContents) */\n    extractContents(): DocumentFragment;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/getBoundingClientRect) */\n    getBoundingClientRect(): DOMRect;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/getClientRects) */\n    getClientRects(): DOMRectList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/insertNode) */\n    insertNode(node: Node): void;\n    /**\n     * Returns whether range intersects node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/intersectsNode)\n     */\n    intersectsNode(node: Node): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/isPointInRange) */\n    isPointInRange(node: Node, offset: number): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/selectNode) */\n    selectNode(node: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/selectNodeContents) */\n    selectNodeContents(node: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/setEnd) */\n    setEnd(node: Node, offset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/setEndAfter) */\n    setEndAfter(node: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/setEndBefore) */\n    setEndBefore(node: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/setStart) */\n    setStart(node: Node, offset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/setStartAfter) */\n    setStartAfter(node: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/setStartBefore) */\n    setStartBefore(node: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/surroundContents) */\n    surroundContents(newParent: Node): void;\n    toString(): string;\n    readonly START_TO_START: 0;\n    readonly START_TO_END: 1;\n    readonly END_TO_END: 2;\n    readonly END_TO_START: 3;\n}\n\ndeclare var Range: {\n    prototype: Range;\n    new(): Range;\n    readonly START_TO_START: 0;\n    readonly START_TO_END: 1;\n    readonly END_TO_END: 2;\n    readonly END_TO_START: 3;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController) */\ninterface ReadableByteStreamController {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/byobRequest) */\n    readonly byobRequest: ReadableStreamBYOBRequest | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/desiredSize) */\n    readonly desiredSize: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/enqueue) */\n    enqueue(chunk: ArrayBufferView): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/error) */\n    error(e?: any): void;\n}\n\ndeclare var ReadableByteStreamController: {\n    prototype: ReadableByteStreamController;\n    new(): ReadableByteStreamController;\n};\n\n/**\n * This Streams API interface represents a readable stream of byte data. The Fetch API offers a concrete instance of a ReadableStream through the body property of a Response object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream)\n */\ninterface ReadableStream<R = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/locked) */\n    readonly locked: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/cancel) */\n    cancel(reason?: any): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/getReader) */\n    getReader(options: { mode: \"byob\" }): ReadableStreamBYOBReader;\n    getReader(): ReadableStreamDefaultReader<R>;\n    getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader<R>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/pipeThrough) */\n    pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/pipeTo) */\n    pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/tee) */\n    tee(): [ReadableStream<R>, ReadableStream<R>];\n}\n\ndeclare var ReadableStream: {\n    prototype: ReadableStream;\n    new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number }): ReadableStream<Uint8Array>;\n    new<R = any>(underlyingSource: UnderlyingDefaultSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n    new<R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader) */\ninterface ReadableStreamBYOBReader extends ReadableStreamGenericReader {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/read) */\n    read<T extends ArrayBufferView>(view: T): Promise<ReadableStreamReadResult<T>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/releaseLock) */\n    releaseLock(): void;\n}\n\ndeclare var ReadableStreamBYOBReader: {\n    prototype: ReadableStreamBYOBReader;\n    new(stream: ReadableStream): ReadableStreamBYOBReader;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest) */\ninterface ReadableStreamBYOBRequest {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/view) */\n    readonly view: ArrayBufferView | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/respond) */\n    respond(bytesWritten: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/respondWithNewView) */\n    respondWithNewView(view: ArrayBufferView): void;\n}\n\ndeclare var ReadableStreamBYOBRequest: {\n    prototype: ReadableStreamBYOBRequest;\n    new(): ReadableStreamBYOBRequest;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController) */\ninterface ReadableStreamDefaultController<R = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/desiredSize) */\n    readonly desiredSize: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/enqueue) */\n    enqueue(chunk?: R): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/error) */\n    error(e?: any): void;\n}\n\ndeclare var ReadableStreamDefaultController: {\n    prototype: ReadableStreamDefaultController;\n    new(): ReadableStreamDefaultController;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader) */\ninterface ReadableStreamDefaultReader<R = any> extends ReadableStreamGenericReader {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader/read) */\n    read(): Promise<ReadableStreamReadResult<R>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader/releaseLock) */\n    releaseLock(): void;\n}\n\ndeclare var ReadableStreamDefaultReader: {\n    prototype: ReadableStreamDefaultReader;\n    new<R = any>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;\n};\n\ninterface ReadableStreamGenericReader {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/closed) */\n    readonly closed: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/cancel) */\n    cancel(reason?: any): Promise<void>;\n}\n\ninterface RemotePlaybackEventMap {\n    \"connect\": Event;\n    \"connecting\": Event;\n    \"disconnect\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RemotePlayback) */\ninterface RemotePlayback extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RemotePlayback/connect_event) */\n    onconnect: ((this: RemotePlayback, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RemotePlayback/connecting_event) */\n    onconnecting: ((this: RemotePlayback, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RemotePlayback/disconnect_event) */\n    ondisconnect: ((this: RemotePlayback, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RemotePlayback/state) */\n    readonly state: RemotePlaybackState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RemotePlayback/cancelWatchAvailability) */\n    cancelWatchAvailability(id?: number): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RemotePlayback/prompt) */\n    prompt(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RemotePlayback/watchAvailability) */\n    watchAvailability(callback: RemotePlaybackAvailabilityCallback): Promise<number>;\n    addEventListener<K extends keyof RemotePlaybackEventMap>(type: K, listener: (this: RemotePlayback, ev: RemotePlaybackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RemotePlaybackEventMap>(type: K, listener: (this: RemotePlayback, ev: RemotePlaybackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RemotePlayback: {\n    prototype: RemotePlayback;\n    new(): RemotePlayback;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Report) */\ninterface Report {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Report/body) */\n    readonly body: ReportBody | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Report/type) */\n    readonly type: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Report/url) */\n    readonly url: string;\n    toJSON(): any;\n}\n\ndeclare var Report: {\n    prototype: Report;\n    new(): Report;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportBody) */\ninterface ReportBody {\n    toJSON(): any;\n}\n\ndeclare var ReportBody: {\n    prototype: ReportBody;\n    new(): ReportBody;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportingObserver) */\ninterface ReportingObserver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportingObserver/disconnect) */\n    disconnect(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportingObserver/observe) */\n    observe(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportingObserver/takeRecords) */\n    takeRecords(): ReportList;\n}\n\ndeclare var ReportingObserver: {\n    prototype: ReportingObserver;\n    new(callback: ReportingObserverCallback, options?: ReportingObserverOptions): ReportingObserver;\n};\n\n/**\n * This Fetch API interface represents a resource request.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request)\n */\ninterface Request extends Body {\n    /**\n     * Returns the cache mode associated with request, which is a string indicating how the request will interact with the browser's cache when fetching.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/cache)\n     */\n    readonly cache: RequestCache;\n    /**\n     * Returns the credentials mode associated with request, which is a string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/credentials)\n     */\n    readonly credentials: RequestCredentials;\n    /**\n     * Returns the kind of resource requested by request, e.g., \"document\" or \"script\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/destination)\n     */\n    readonly destination: RequestDestination;\n    /**\n     * Returns a Headers object consisting of the headers associated with request. Note that headers added in the network layer by the user agent will not be accounted for in this object, e.g., the \"Host\" header.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/headers)\n     */\n    readonly headers: Headers;\n    /**\n     * Returns request's subresource integrity metadata, which is a cryptographic hash of the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI]\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/integrity)\n     */\n    readonly integrity: string;\n    /**\n     * Returns a boolean indicating whether or not request can outlive the global in which it was created.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/keepalive)\n     */\n    readonly keepalive: boolean;\n    /**\n     * Returns request's HTTP method, which is \"GET\" by default.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/method)\n     */\n    readonly method: string;\n    /**\n     * Returns the mode associated with request, which is a string indicating whether the request will use CORS, or will be restricted to same-origin URLs.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/mode)\n     */\n    readonly mode: RequestMode;\n    /**\n     * Returns the redirect mode associated with request, which is a string indicating how redirects for the request will be handled during fetching. A request will follow redirects by default.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/redirect)\n     */\n    readonly redirect: RequestRedirect;\n    /**\n     * Returns the referrer of request. Its value can be a same-origin URL if explicitly set in init, the empty string to indicate no referrer, and \"about:client\" when defaulting to the global's default. This is used during fetching to determine the value of the \\`Referer\\` header of the request being made.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/referrer)\n     */\n    readonly referrer: string;\n    /**\n     * Returns the referrer policy associated with request. This is used during fetching to compute the value of the request's referrer.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/referrerPolicy)\n     */\n    readonly referrerPolicy: ReferrerPolicy;\n    /**\n     * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort event handler.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/signal)\n     */\n    readonly signal: AbortSignal;\n    /**\n     * Returns the URL of request as a string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/url)\n     */\n    readonly url: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/clone) */\n    clone(): Request;\n}\n\ndeclare var Request: {\n    prototype: Request;\n    new(input: RequestInfo | URL, init?: RequestInit): Request;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserver) */\ninterface ResizeObserver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserver/disconnect) */\n    disconnect(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserver/observe) */\n    observe(target: Element, options?: ResizeObserverOptions): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserver/unobserve) */\n    unobserve(target: Element): void;\n}\n\ndeclare var ResizeObserver: {\n    prototype: ResizeObserver;\n    new(callback: ResizeObserverCallback): ResizeObserver;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverEntry) */\ninterface ResizeObserverEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverEntry/borderBoxSize) */\n    readonly borderBoxSize: ReadonlyArray<ResizeObserverSize>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverEntry/contentBoxSize) */\n    readonly contentBoxSize: ReadonlyArray<ResizeObserverSize>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverEntry/contentRect) */\n    readonly contentRect: DOMRectReadOnly;\n    readonly devicePixelContentBoxSize: ReadonlyArray<ResizeObserverSize>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverEntry/target) */\n    readonly target: Element;\n}\n\ndeclare var ResizeObserverEntry: {\n    prototype: ResizeObserverEntry;\n    new(): ResizeObserverEntry;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverSize) */\ninterface ResizeObserverSize {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverSize/blockSize) */\n    readonly blockSize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverSize/inlineSize) */\n    readonly inlineSize: number;\n}\n\ndeclare var ResizeObserverSize: {\n    prototype: ResizeObserverSize;\n    new(): ResizeObserverSize;\n};\n\n/**\n * This Fetch API interface represents the response to a request.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response)\n */\ninterface Response extends Body {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/headers) */\n    readonly headers: Headers;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/ok) */\n    readonly ok: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/redirected) */\n    readonly redirected: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/status) */\n    readonly status: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/statusText) */\n    readonly statusText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/type) */\n    readonly type: ResponseType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/url) */\n    readonly url: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/clone) */\n    clone(): Response;\n}\n\ndeclare var Response: {\n    prototype: Response;\n    new(body?: BodyInit | null, init?: ResponseInit): Response;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/error_static) */\n    error(): Response;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/json_static) */\n    json(data: any, init?: ResponseInit): Response;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/redirect_static) */\n    redirect(url: string | URL, status?: number): Response;\n};\n\n/**\n * Provides access to the properties of <a> element, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAElement)\n */\ninterface SVGAElement extends SVGGraphicsElement, SVGURIReference {\n    rel: string;\n    readonly relList: DOMTokenList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAElement/target) */\n    readonly target: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAElement: {\n    prototype: SVGAElement;\n    new(): SVGAElement;\n};\n\n/**\n * Used to represent a value that can be an <angle> or <number> value. An SVGAngle reflected through the animVal attribute is always read only.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAngle)\n */\ninterface SVGAngle {\n    readonly unitType: number;\n    value: number;\n    valueAsString: string;\n    valueInSpecifiedUnits: number;\n    convertToSpecifiedUnits(unitType: number): void;\n    newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;\n    readonly SVG_ANGLETYPE_UNKNOWN: 0;\n    readonly SVG_ANGLETYPE_UNSPECIFIED: 1;\n    readonly SVG_ANGLETYPE_DEG: 2;\n    readonly SVG_ANGLETYPE_RAD: 3;\n    readonly SVG_ANGLETYPE_GRAD: 4;\n}\n\ndeclare var SVGAngle: {\n    prototype: SVGAngle;\n    new(): SVGAngle;\n    readonly SVG_ANGLETYPE_UNKNOWN: 0;\n    readonly SVG_ANGLETYPE_UNSPECIFIED: 1;\n    readonly SVG_ANGLETYPE_DEG: 2;\n    readonly SVG_ANGLETYPE_RAD: 3;\n    readonly SVG_ANGLETYPE_GRAD: 4;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimateElement) */\ninterface SVGAnimateElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAnimateElement: {\n    prototype: SVGAnimateElement;\n    new(): SVGAnimateElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimateMotionElement) */\ninterface SVGAnimateMotionElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAnimateMotionElement: {\n    prototype: SVGAnimateMotionElement;\n    new(): SVGAnimateMotionElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimateTransformElement) */\ninterface SVGAnimateTransformElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAnimateTransformElement: {\n    prototype: SVGAnimateTransformElement;\n    new(): SVGAnimateTransformElement;\n};\n\n/**\n * Used for attributes of basic type <angle> which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedAngle)\n */\ninterface SVGAnimatedAngle {\n    readonly animVal: SVGAngle;\n    readonly baseVal: SVGAngle;\n}\n\ndeclare var SVGAnimatedAngle: {\n    prototype: SVGAnimatedAngle;\n    new(): SVGAnimatedAngle;\n};\n\n/**\n * Used for attributes of type boolean which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedBoolean)\n */\ninterface SVGAnimatedBoolean {\n    readonly animVal: boolean;\n    baseVal: boolean;\n}\n\ndeclare var SVGAnimatedBoolean: {\n    prototype: SVGAnimatedBoolean;\n    new(): SVGAnimatedBoolean;\n};\n\n/**\n * Used for attributes whose value must be a constant from a particular enumeration and which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedEnumeration)\n */\ninterface SVGAnimatedEnumeration {\n    readonly animVal: number;\n    baseVal: number;\n}\n\ndeclare var SVGAnimatedEnumeration: {\n    prototype: SVGAnimatedEnumeration;\n    new(): SVGAnimatedEnumeration;\n};\n\n/**\n * Used for attributes of basic type <integer> which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedInteger)\n */\ninterface SVGAnimatedInteger {\n    readonly animVal: number;\n    baseVal: number;\n}\n\ndeclare var SVGAnimatedInteger: {\n    prototype: SVGAnimatedInteger;\n    new(): SVGAnimatedInteger;\n};\n\n/**\n * Used for attributes of basic type <length> which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedLength)\n */\ninterface SVGAnimatedLength {\n    readonly animVal: SVGLength;\n    readonly baseVal: SVGLength;\n}\n\ndeclare var SVGAnimatedLength: {\n    prototype: SVGAnimatedLength;\n    new(): SVGAnimatedLength;\n};\n\n/**\n * Used for attributes of type SVGLengthList which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedLengthList)\n */\ninterface SVGAnimatedLengthList {\n    readonly animVal: SVGLengthList;\n    readonly baseVal: SVGLengthList;\n}\n\ndeclare var SVGAnimatedLengthList: {\n    prototype: SVGAnimatedLengthList;\n    new(): SVGAnimatedLengthList;\n};\n\n/**\n * Used for attributes of basic type <Number> which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedNumber)\n */\ninterface SVGAnimatedNumber {\n    readonly animVal: number;\n    baseVal: number;\n}\n\ndeclare var SVGAnimatedNumber: {\n    prototype: SVGAnimatedNumber;\n    new(): SVGAnimatedNumber;\n};\n\n/**\n * The SVGAnimatedNumber interface is used for attributes which take a list of numbers and which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedNumberList)\n */\ninterface SVGAnimatedNumberList {\n    readonly animVal: SVGNumberList;\n    readonly baseVal: SVGNumberList;\n}\n\ndeclare var SVGAnimatedNumberList: {\n    prototype: SVGAnimatedNumberList;\n    new(): SVGAnimatedNumberList;\n};\n\ninterface SVGAnimatedPoints {\n    readonly animatedPoints: SVGPointList;\n    readonly points: SVGPointList;\n}\n\n/**\n * Used for attributes of type SVGPreserveAspectRatio which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedPreserveAspectRatio)\n */\ninterface SVGAnimatedPreserveAspectRatio {\n    readonly animVal: SVGPreserveAspectRatio;\n    readonly baseVal: SVGPreserveAspectRatio;\n}\n\ndeclare var SVGAnimatedPreserveAspectRatio: {\n    prototype: SVGAnimatedPreserveAspectRatio;\n    new(): SVGAnimatedPreserveAspectRatio;\n};\n\n/**\n * Used for attributes of basic SVGRect which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect)\n */\ninterface SVGAnimatedRect {\n    readonly animVal: DOMRectReadOnly;\n    readonly baseVal: DOMRect;\n}\n\ndeclare var SVGAnimatedRect: {\n    prototype: SVGAnimatedRect;\n    new(): SVGAnimatedRect;\n};\n\n/**\n * The SVGAnimatedString\\xA0interface represents string attributes which can be animated from each SVG declaration. You need to create SVG attribute before doing anything else, everything should be declared\\xA0inside this.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedString)\n */\ninterface SVGAnimatedString {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedString/animVal) */\n    readonly animVal: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedString/baseVal) */\n    baseVal: string;\n}\n\ndeclare var SVGAnimatedString: {\n    prototype: SVGAnimatedString;\n    new(): SVGAnimatedString;\n};\n\n/**\n * Used for attributes which take a list of numbers and which can be animated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedTransformList)\n */\ninterface SVGAnimatedTransformList {\n    readonly animVal: SVGTransformList;\n    readonly baseVal: SVGTransformList;\n}\n\ndeclare var SVGAnimatedTransformList: {\n    prototype: SVGAnimatedTransformList;\n    new(): SVGAnimatedTransformList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimationElement) */\ninterface SVGAnimationElement extends SVGElement, SVGTests {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimationElement/targetElement) */\n    readonly targetElement: SVGElement | null;\n    beginElement(): void;\n    beginElementAt(offset: number): void;\n    endElement(): void;\n    endElementAt(offset: number): void;\n    getCurrentTime(): number;\n    getSimpleDuration(): number;\n    getStartTime(): number;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAnimationElement: {\n    prototype: SVGAnimationElement;\n    new(): SVGAnimationElement;\n};\n\n/**\n * An interface for the <circle> element. The circle element is defined by the cx and cy attributes that denote the coordinates of the centre of the circle.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGCircleElement)\n */\ninterface SVGCircleElement extends SVGGeometryElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGCircleElement/cx) */\n    readonly cx: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGCircleElement/cy) */\n    readonly cy: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGCircleElement/r) */\n    readonly r: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGCircleElement: {\n    prototype: SVGCircleElement;\n    new(): SVGCircleElement;\n};\n\n/**\n * Provides access to the properties of <clipPath> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGClipPathElement)\n */\ninterface SVGClipPathElement extends SVGElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGClipPathElement/clipPathUnits) */\n    readonly clipPathUnits: SVGAnimatedEnumeration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGClipPathElement/transform) */\n    readonly transform: SVGAnimatedTransformList;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGClipPathElement: {\n    prototype: SVGClipPathElement;\n    new(): SVGClipPathElement;\n};\n\n/**\n * A base interface used by the component transfer function interfaces.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGComponentTransferFunctionElement)\n */\ninterface SVGComponentTransferFunctionElement extends SVGElement {\n    readonly amplitude: SVGAnimatedNumber;\n    readonly exponent: SVGAnimatedNumber;\n    readonly intercept: SVGAnimatedNumber;\n    readonly offset: SVGAnimatedNumber;\n    readonly slope: SVGAnimatedNumber;\n    readonly tableValues: SVGAnimatedNumberList;\n    readonly type: SVGAnimatedEnumeration;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: 1;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: 2;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: 3;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: 4;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: 5;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGComponentTransferFunctionElement: {\n    prototype: SVGComponentTransferFunctionElement;\n    new(): SVGComponentTransferFunctionElement;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: 1;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: 2;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: 3;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: 4;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: 5;\n};\n\n/**\n * Corresponds to the <defs> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGDefsElement)\n */\ninterface SVGDefsElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGDefsElement: {\n    prototype: SVGDefsElement;\n    new(): SVGDefsElement;\n};\n\n/**\n * Corresponds to the <desc> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGDescElement)\n */\ninterface SVGDescElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGDescElement: {\n    prototype: SVGDescElement;\n    new(): SVGDescElement;\n};\n\ninterface SVGElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap {\n}\n\n/**\n * All of the SVG DOM interfaces that correspond directly to elements in the SVG language derive from the SVGElement interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGElement)\n */\ninterface SVGElement extends Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrSVGElement {\n    /** @deprecated */\n    readonly className: any;\n    readonly ownerSVGElement: SVGSVGElement | null;\n    readonly viewportElement: SVGElement | null;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGElement: {\n    prototype: SVGElement;\n    new(): SVGElement;\n};\n\n/**\n * Provides access to the properties of <ellipse> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGEllipseElement)\n */\ninterface SVGEllipseElement extends SVGGeometryElement {\n    readonly cx: SVGAnimatedLength;\n    readonly cy: SVGAnimatedLength;\n    readonly rx: SVGAnimatedLength;\n    readonly ry: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGEllipseElement: {\n    prototype: SVGEllipseElement;\n    new(): SVGEllipseElement;\n};\n\n/**\n * Corresponds to the <feBlend> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEBlendElement)\n */\ninterface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly mode: SVGAnimatedEnumeration;\n    readonly SVG_FEBLEND_MODE_UNKNOWN: 0;\n    readonly SVG_FEBLEND_MODE_NORMAL: 1;\n    readonly SVG_FEBLEND_MODE_MULTIPLY: 2;\n    readonly SVG_FEBLEND_MODE_SCREEN: 3;\n    readonly SVG_FEBLEND_MODE_DARKEN: 4;\n    readonly SVG_FEBLEND_MODE_LIGHTEN: 5;\n    readonly SVG_FEBLEND_MODE_OVERLAY: 6;\n    readonly SVG_FEBLEND_MODE_COLOR_DODGE: 7;\n    readonly SVG_FEBLEND_MODE_COLOR_BURN: 8;\n    readonly SVG_FEBLEND_MODE_HARD_LIGHT: 9;\n    readonly SVG_FEBLEND_MODE_SOFT_LIGHT: 10;\n    readonly SVG_FEBLEND_MODE_DIFFERENCE: 11;\n    readonly SVG_FEBLEND_MODE_EXCLUSION: 12;\n    readonly SVG_FEBLEND_MODE_HUE: 13;\n    readonly SVG_FEBLEND_MODE_SATURATION: 14;\n    readonly SVG_FEBLEND_MODE_COLOR: 15;\n    readonly SVG_FEBLEND_MODE_LUMINOSITY: 16;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEBlendElement: {\n    prototype: SVGFEBlendElement;\n    new(): SVGFEBlendElement;\n    readonly SVG_FEBLEND_MODE_UNKNOWN: 0;\n    readonly SVG_FEBLEND_MODE_NORMAL: 1;\n    readonly SVG_FEBLEND_MODE_MULTIPLY: 2;\n    readonly SVG_FEBLEND_MODE_SCREEN: 3;\n    readonly SVG_FEBLEND_MODE_DARKEN: 4;\n    readonly SVG_FEBLEND_MODE_LIGHTEN: 5;\n    readonly SVG_FEBLEND_MODE_OVERLAY: 6;\n    readonly SVG_FEBLEND_MODE_COLOR_DODGE: 7;\n    readonly SVG_FEBLEND_MODE_COLOR_BURN: 8;\n    readonly SVG_FEBLEND_MODE_HARD_LIGHT: 9;\n    readonly SVG_FEBLEND_MODE_SOFT_LIGHT: 10;\n    readonly SVG_FEBLEND_MODE_DIFFERENCE: 11;\n    readonly SVG_FEBLEND_MODE_EXCLUSION: 12;\n    readonly SVG_FEBLEND_MODE_HUE: 13;\n    readonly SVG_FEBLEND_MODE_SATURATION: 14;\n    readonly SVG_FEBLEND_MODE_COLOR: 15;\n    readonly SVG_FEBLEND_MODE_LUMINOSITY: 16;\n};\n\n/**\n * Corresponds to the <feColorMatrix> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEColorMatrixElement)\n */\ninterface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEColorMatrixElement/in1) */\n    readonly in1: SVGAnimatedString;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEColorMatrixElement/type) */\n    readonly type: SVGAnimatedEnumeration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEColorMatrixElement/values) */\n    readonly values: SVGAnimatedNumberList;\n    readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOLORMATRIX_TYPE_MATRIX: 1;\n    readonly SVG_FECOLORMATRIX_TYPE_SATURATE: 2;\n    readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: 3;\n    readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: 4;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEColorMatrixElement: {\n    prototype: SVGFEColorMatrixElement;\n    new(): SVGFEColorMatrixElement;\n    readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOLORMATRIX_TYPE_MATRIX: 1;\n    readonly SVG_FECOLORMATRIX_TYPE_SATURATE: 2;\n    readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: 3;\n    readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: 4;\n};\n\n/**\n * Corresponds to the <feComponentTransfer> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEComponentTransferElement)\n */\ninterface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEComponentTransferElement: {\n    prototype: SVGFEComponentTransferElement;\n    new(): SVGFEComponentTransferElement;\n};\n\n/**\n * Corresponds to the <feComposite> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFECompositeElement)\n */\ninterface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly k1: SVGAnimatedNumber;\n    readonly k2: SVGAnimatedNumber;\n    readonly k3: SVGAnimatedNumber;\n    readonly k4: SVGAnimatedNumber;\n    readonly operator: SVGAnimatedEnumeration;\n    readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: 0;\n    readonly SVG_FECOMPOSITE_OPERATOR_OVER: 1;\n    readonly SVG_FECOMPOSITE_OPERATOR_IN: 2;\n    readonly SVG_FECOMPOSITE_OPERATOR_OUT: 3;\n    readonly SVG_FECOMPOSITE_OPERATOR_ATOP: 4;\n    readonly SVG_FECOMPOSITE_OPERATOR_XOR: 5;\n    readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: 6;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFECompositeElement: {\n    prototype: SVGFECompositeElement;\n    new(): SVGFECompositeElement;\n    readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: 0;\n    readonly SVG_FECOMPOSITE_OPERATOR_OVER: 1;\n    readonly SVG_FECOMPOSITE_OPERATOR_IN: 2;\n    readonly SVG_FECOMPOSITE_OPERATOR_OUT: 3;\n    readonly SVG_FECOMPOSITE_OPERATOR_ATOP: 4;\n    readonly SVG_FECOMPOSITE_OPERATOR_XOR: 5;\n    readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: 6;\n};\n\n/**\n * Corresponds to the <feConvolveMatrix> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEConvolveMatrixElement)\n */\ninterface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly bias: SVGAnimatedNumber;\n    readonly divisor: SVGAnimatedNumber;\n    readonly edgeMode: SVGAnimatedEnumeration;\n    readonly in1: SVGAnimatedString;\n    readonly kernelMatrix: SVGAnimatedNumberList;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly orderX: SVGAnimatedInteger;\n    readonly orderY: SVGAnimatedInteger;\n    readonly preserveAlpha: SVGAnimatedBoolean;\n    readonly targetX: SVGAnimatedInteger;\n    readonly targetY: SVGAnimatedInteger;\n    readonly SVG_EDGEMODE_UNKNOWN: 0;\n    readonly SVG_EDGEMODE_DUPLICATE: 1;\n    readonly SVG_EDGEMODE_WRAP: 2;\n    readonly SVG_EDGEMODE_NONE: 3;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEConvolveMatrixElement: {\n    prototype: SVGFEConvolveMatrixElement;\n    new(): SVGFEConvolveMatrixElement;\n    readonly SVG_EDGEMODE_UNKNOWN: 0;\n    readonly SVG_EDGEMODE_DUPLICATE: 1;\n    readonly SVG_EDGEMODE_WRAP: 2;\n    readonly SVG_EDGEMODE_NONE: 3;\n};\n\n/**\n * Corresponds to the <feDiffuseLighting> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEDiffuseLightingElement)\n */\ninterface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly diffuseConstant: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly surfaceScale: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEDiffuseLightingElement: {\n    prototype: SVGFEDiffuseLightingElement;\n    new(): SVGFEDiffuseLightingElement;\n};\n\n/**\n * Corresponds to the <feDisplacementMap> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEDisplacementMapElement)\n */\ninterface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly scale: SVGAnimatedNumber;\n    readonly xChannelSelector: SVGAnimatedEnumeration;\n    readonly yChannelSelector: SVGAnimatedEnumeration;\n    readonly SVG_CHANNEL_UNKNOWN: 0;\n    readonly SVG_CHANNEL_R: 1;\n    readonly SVG_CHANNEL_G: 2;\n    readonly SVG_CHANNEL_B: 3;\n    readonly SVG_CHANNEL_A: 4;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEDisplacementMapElement: {\n    prototype: SVGFEDisplacementMapElement;\n    new(): SVGFEDisplacementMapElement;\n    readonly SVG_CHANNEL_UNKNOWN: 0;\n    readonly SVG_CHANNEL_R: 1;\n    readonly SVG_CHANNEL_G: 2;\n    readonly SVG_CHANNEL_B: 3;\n    readonly SVG_CHANNEL_A: 4;\n};\n\n/**\n * Corresponds to the <feDistantLight> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEDistantLightElement)\n */\ninterface SVGFEDistantLightElement extends SVGElement {\n    readonly azimuth: SVGAnimatedNumber;\n    readonly elevation: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEDistantLightElement: {\n    prototype: SVGFEDistantLightElement;\n    new(): SVGFEDistantLightElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEDropShadowElement) */\ninterface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly dx: SVGAnimatedNumber;\n    readonly dy: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    readonly stdDeviationX: SVGAnimatedNumber;\n    readonly stdDeviationY: SVGAnimatedNumber;\n    setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEDropShadowElement: {\n    prototype: SVGFEDropShadowElement;\n    new(): SVGFEDropShadowElement;\n};\n\n/**\n * Corresponds to the <feFlood> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEFloodElement)\n */\ninterface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFloodElement: {\n    prototype: SVGFEFloodElement;\n    new(): SVGFEFloodElement;\n};\n\n/**\n * Corresponds to the <feFuncA> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEFuncAElement)\n */\ninterface SVGFEFuncAElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFuncAElement: {\n    prototype: SVGFEFuncAElement;\n    new(): SVGFEFuncAElement;\n};\n\n/**\n * Corresponds to the <feFuncB> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEFuncBElement)\n */\ninterface SVGFEFuncBElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFuncBElement: {\n    prototype: SVGFEFuncBElement;\n    new(): SVGFEFuncBElement;\n};\n\n/**\n * Corresponds to the <feFuncG> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEFuncGElement)\n */\ninterface SVGFEFuncGElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFuncGElement: {\n    prototype: SVGFEFuncGElement;\n    new(): SVGFEFuncGElement;\n};\n\n/**\n * Corresponds to the <feFuncR> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEFuncRElement)\n */\ninterface SVGFEFuncRElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFuncRElement: {\n    prototype: SVGFEFuncRElement;\n    new(): SVGFEFuncRElement;\n};\n\n/**\n * Corresponds to the <feGaussianBlur> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEGaussianBlurElement)\n */\ninterface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly stdDeviationX: SVGAnimatedNumber;\n    readonly stdDeviationY: SVGAnimatedNumber;\n    setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEGaussianBlurElement: {\n    prototype: SVGFEGaussianBlurElement;\n    new(): SVGFEGaussianBlurElement;\n};\n\n/**\n * Corresponds to the <feImage> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEImageElement)\n */\ninterface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference {\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEImageElement: {\n    prototype: SVGFEImageElement;\n    new(): SVGFEImageElement;\n};\n\n/**\n * Corresponds to the <feMerge> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEMergeElement)\n */\ninterface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEMergeElement: {\n    prototype: SVGFEMergeElement;\n    new(): SVGFEMergeElement;\n};\n\n/**\n * Corresponds to the <feMergeNode> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEMergeNodeElement)\n */\ninterface SVGFEMergeNodeElement extends SVGElement {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEMergeNodeElement: {\n    prototype: SVGFEMergeNodeElement;\n    new(): SVGFEMergeNodeElement;\n};\n\n/**\n * Corresponds to the <feMorphology> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEMorphologyElement)\n */\ninterface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly operator: SVGAnimatedEnumeration;\n    readonly radiusX: SVGAnimatedNumber;\n    readonly radiusY: SVGAnimatedNumber;\n    readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: 0;\n    readonly SVG_MORPHOLOGY_OPERATOR_ERODE: 1;\n    readonly SVG_MORPHOLOGY_OPERATOR_DILATE: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEMorphologyElement: {\n    prototype: SVGFEMorphologyElement;\n    new(): SVGFEMorphologyElement;\n    readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: 0;\n    readonly SVG_MORPHOLOGY_OPERATOR_ERODE: 1;\n    readonly SVG_MORPHOLOGY_OPERATOR_DILATE: 2;\n};\n\n/**\n * Corresponds to the <feOffset> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEOffsetElement)\n */\ninterface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly dx: SVGAnimatedNumber;\n    readonly dy: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEOffsetElement: {\n    prototype: SVGFEOffsetElement;\n    new(): SVGFEOffsetElement;\n};\n\n/**\n * Corresponds to the <fePointLight> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEPointLightElement)\n */\ninterface SVGFEPointLightElement extends SVGElement {\n    readonly x: SVGAnimatedNumber;\n    readonly y: SVGAnimatedNumber;\n    readonly z: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEPointLightElement: {\n    prototype: SVGFEPointLightElement;\n    new(): SVGFEPointLightElement;\n};\n\n/**\n * Corresponds to the <feSpecularLighting> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFESpecularLightingElement)\n */\ninterface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly specularConstant: SVGAnimatedNumber;\n    readonly specularExponent: SVGAnimatedNumber;\n    readonly surfaceScale: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFESpecularLightingElement: {\n    prototype: SVGFESpecularLightingElement;\n    new(): SVGFESpecularLightingElement;\n};\n\n/**\n * Corresponds to the <feSpotLight> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFESpotLightElement)\n */\ninterface SVGFESpotLightElement extends SVGElement {\n    readonly limitingConeAngle: SVGAnimatedNumber;\n    readonly pointsAtX: SVGAnimatedNumber;\n    readonly pointsAtY: SVGAnimatedNumber;\n    readonly pointsAtZ: SVGAnimatedNumber;\n    readonly specularExponent: SVGAnimatedNumber;\n    readonly x: SVGAnimatedNumber;\n    readonly y: SVGAnimatedNumber;\n    readonly z: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFESpotLightElement: {\n    prototype: SVGFESpotLightElement;\n    new(): SVGFESpotLightElement;\n};\n\n/**\n * Corresponds to the <feTile> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFETileElement)\n */\ninterface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFETileElement: {\n    prototype: SVGFETileElement;\n    new(): SVGFETileElement;\n};\n\n/**\n * Corresponds to the <feTurbulence> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFETurbulenceElement)\n */\ninterface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly baseFrequencyX: SVGAnimatedNumber;\n    readonly baseFrequencyY: SVGAnimatedNumber;\n    readonly numOctaves: SVGAnimatedInteger;\n    readonly seed: SVGAnimatedNumber;\n    readonly stitchTiles: SVGAnimatedEnumeration;\n    readonly type: SVGAnimatedEnumeration;\n    readonly SVG_TURBULENCE_TYPE_UNKNOWN: 0;\n    readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: 1;\n    readonly SVG_TURBULENCE_TYPE_TURBULENCE: 2;\n    readonly SVG_STITCHTYPE_UNKNOWN: 0;\n    readonly SVG_STITCHTYPE_STITCH: 1;\n    readonly SVG_STITCHTYPE_NOSTITCH: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFETurbulenceElement: {\n    prototype: SVGFETurbulenceElement;\n    new(): SVGFETurbulenceElement;\n    readonly SVG_TURBULENCE_TYPE_UNKNOWN: 0;\n    readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: 1;\n    readonly SVG_TURBULENCE_TYPE_TURBULENCE: 2;\n    readonly SVG_STITCHTYPE_UNKNOWN: 0;\n    readonly SVG_STITCHTYPE_STITCH: 1;\n    readonly SVG_STITCHTYPE_NOSTITCH: 2;\n};\n\n/**\n * Provides access to the properties of <filter> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFilterElement)\n */\ninterface SVGFilterElement extends SVGElement, SVGURIReference {\n    readonly filterUnits: SVGAnimatedEnumeration;\n    readonly height: SVGAnimatedLength;\n    readonly primitiveUnits: SVGAnimatedEnumeration;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFilterElement: {\n    prototype: SVGFilterElement;\n    new(): SVGFilterElement;\n};\n\ninterface SVGFilterPrimitiveStandardAttributes {\n    readonly height: SVGAnimatedLength;\n    readonly result: SVGAnimatedString;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n}\n\ninterface SVGFitToViewBox {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/preserveAspectRatio) */\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/viewBox) */\n    readonly viewBox: SVGAnimatedRect;\n}\n\n/**\n * Provides access to the properties of <foreignObject> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGForeignObjectElement)\n */\ninterface SVGForeignObjectElement extends SVGGraphicsElement {\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGForeignObjectElement: {\n    prototype: SVGForeignObjectElement;\n    new(): SVGForeignObjectElement;\n};\n\n/**\n * Corresponds to the <g> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGElement)\n */\ninterface SVGGElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGGElement: {\n    prototype: SVGGElement;\n    new(): SVGGElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement) */\ninterface SVGGeometryElement extends SVGGraphicsElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/pathLength) */\n    readonly pathLength: SVGAnimatedNumber;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/getPointAtLength) */\n    getPointAtLength(distance: number): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/getTotalLength) */\n    getTotalLength(): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/isPointInFill) */\n    isPointInFill(point?: DOMPointInit): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/isPointInStroke) */\n    isPointInStroke(point?: DOMPointInit): boolean;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGGeometryElement: {\n    prototype: SVGGeometryElement;\n    new(): SVGGeometryElement;\n};\n\n/**\n * The SVGGradient interface is a base interface used by SVGLinearGradientElement and SVGRadialGradientElement.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGradientElement)\n */\ninterface SVGGradientElement extends SVGElement, SVGURIReference {\n    readonly gradientTransform: SVGAnimatedTransformList;\n    readonly gradientUnits: SVGAnimatedEnumeration;\n    readonly spreadMethod: SVGAnimatedEnumeration;\n    readonly SVG_SPREADMETHOD_UNKNOWN: 0;\n    readonly SVG_SPREADMETHOD_PAD: 1;\n    readonly SVG_SPREADMETHOD_REFLECT: 2;\n    readonly SVG_SPREADMETHOD_REPEAT: 3;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGGradientElement: {\n    prototype: SVGGradientElement;\n    new(): SVGGradientElement;\n    readonly SVG_SPREADMETHOD_UNKNOWN: 0;\n    readonly SVG_SPREADMETHOD_PAD: 1;\n    readonly SVG_SPREADMETHOD_REFLECT: 2;\n    readonly SVG_SPREADMETHOD_REPEAT: 3;\n};\n\n/**\n * SVG elements whose primary purpose is to directly render graphics into a group.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement)\n */\ninterface SVGGraphicsElement extends SVGElement, SVGTests {\n    readonly transform: SVGAnimatedTransformList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getBBox) */\n    getBBox(options?: SVGBoundingBoxOptions): DOMRect;\n    getCTM(): DOMMatrix | null;\n    getScreenCTM(): DOMMatrix | null;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGGraphicsElement: {\n    prototype: SVGGraphicsElement;\n    new(): SVGGraphicsElement;\n};\n\n/**\n * Corresponds to the <image> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement)\n */\ninterface SVGImageElement extends SVGGraphicsElement, SVGURIReference {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement/crossorigin) */\n    crossOrigin: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement/height) */\n    readonly height: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement/preserveAspectRatio) */\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement/width) */\n    readonly width: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement/x) */\n    readonly x: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement/y) */\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGImageElement: {\n    prototype: SVGImageElement;\n    new(): SVGImageElement;\n};\n\n/**\n * Correspond to the <length> basic data type.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGLength)\n */\ninterface SVGLength {\n    readonly unitType: number;\n    value: number;\n    valueAsString: string;\n    valueInSpecifiedUnits: number;\n    convertToSpecifiedUnits(unitType: number): void;\n    newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;\n    readonly SVG_LENGTHTYPE_UNKNOWN: 0;\n    readonly SVG_LENGTHTYPE_NUMBER: 1;\n    readonly SVG_LENGTHTYPE_PERCENTAGE: 2;\n    readonly SVG_LENGTHTYPE_EMS: 3;\n    readonly SVG_LENGTHTYPE_EXS: 4;\n    readonly SVG_LENGTHTYPE_PX: 5;\n    readonly SVG_LENGTHTYPE_CM: 6;\n    readonly SVG_LENGTHTYPE_MM: 7;\n    readonly SVG_LENGTHTYPE_IN: 8;\n    readonly SVG_LENGTHTYPE_PT: 9;\n    readonly SVG_LENGTHTYPE_PC: 10;\n}\n\ndeclare var SVGLength: {\n    prototype: SVGLength;\n    new(): SVGLength;\n    readonly SVG_LENGTHTYPE_UNKNOWN: 0;\n    readonly SVG_LENGTHTYPE_NUMBER: 1;\n    readonly SVG_LENGTHTYPE_PERCENTAGE: 2;\n    readonly SVG_LENGTHTYPE_EMS: 3;\n    readonly SVG_LENGTHTYPE_EXS: 4;\n    readonly SVG_LENGTHTYPE_PX: 5;\n    readonly SVG_LENGTHTYPE_CM: 6;\n    readonly SVG_LENGTHTYPE_MM: 7;\n    readonly SVG_LENGTHTYPE_IN: 8;\n    readonly SVG_LENGTHTYPE_PT: 9;\n    readonly SVG_LENGTHTYPE_PC: 10;\n};\n\n/**\n * The SVGLengthList defines a list of SVGLength objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGLengthList)\n */\ninterface SVGLengthList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGLength): SVGLength;\n    clear(): void;\n    getItem(index: number): SVGLength;\n    initialize(newItem: SVGLength): SVGLength;\n    insertItemBefore(newItem: SVGLength, index: number): SVGLength;\n    removeItem(index: number): SVGLength;\n    replaceItem(newItem: SVGLength, index: number): SVGLength;\n    [index: number]: SVGLength;\n}\n\ndeclare var SVGLengthList: {\n    prototype: SVGLengthList;\n    new(): SVGLengthList;\n};\n\n/**\n * Provides access to the properties of <line> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGLineElement)\n */\ninterface SVGLineElement extends SVGGeometryElement {\n    readonly x1: SVGAnimatedLength;\n    readonly x2: SVGAnimatedLength;\n    readonly y1: SVGAnimatedLength;\n    readonly y2: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGLineElement: {\n    prototype: SVGLineElement;\n    new(): SVGLineElement;\n};\n\n/**\n * Corresponds to the <linearGradient> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGLinearGradientElement)\n */\ninterface SVGLinearGradientElement extends SVGGradientElement {\n    readonly x1: SVGAnimatedLength;\n    readonly x2: SVGAnimatedLength;\n    readonly y1: SVGAnimatedLength;\n    readonly y2: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGLinearGradientElement: {\n    prototype: SVGLinearGradientElement;\n    new(): SVGLinearGradientElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMPathElement) */\ninterface SVGMPathElement extends SVGElement, SVGURIReference {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGMPathElement: {\n    prototype: SVGMPathElement;\n    new(): SVGMPathElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement) */\ninterface SVGMarkerElement extends SVGElement, SVGFitToViewBox {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/markerHeight) */\n    readonly markerHeight: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/markerUnits) */\n    readonly markerUnits: SVGAnimatedEnumeration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/markerWidth) */\n    readonly markerWidth: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/orientAngle) */\n    readonly orientAngle: SVGAnimatedAngle;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/orientType) */\n    readonly orientType: SVGAnimatedEnumeration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/refX) */\n    readonly refX: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/refY) */\n    readonly refY: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/setOrientToAngle) */\n    setOrientToAngle(angle: SVGAngle): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMarkerElement/setOrientToAuto) */\n    setOrientToAuto(): void;\n    readonly SVG_MARKERUNITS_UNKNOWN: 0;\n    readonly SVG_MARKERUNITS_USERSPACEONUSE: 1;\n    readonly SVG_MARKERUNITS_STROKEWIDTH: 2;\n    readonly SVG_MARKER_ORIENT_UNKNOWN: 0;\n    readonly SVG_MARKER_ORIENT_AUTO: 1;\n    readonly SVG_MARKER_ORIENT_ANGLE: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGMarkerElement: {\n    prototype: SVGMarkerElement;\n    new(): SVGMarkerElement;\n    readonly SVG_MARKERUNITS_UNKNOWN: 0;\n    readonly SVG_MARKERUNITS_USERSPACEONUSE: 1;\n    readonly SVG_MARKERUNITS_STROKEWIDTH: 2;\n    readonly SVG_MARKER_ORIENT_UNKNOWN: 0;\n    readonly SVG_MARKER_ORIENT_AUTO: 1;\n    readonly SVG_MARKER_ORIENT_ANGLE: 2;\n};\n\n/**\n * Provides access to the properties of <mask> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMaskElement)\n */\ninterface SVGMaskElement extends SVGElement {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMaskElement/height) */\n    readonly height: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMaskElement/maskContentUnits) */\n    readonly maskContentUnits: SVGAnimatedEnumeration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMaskElement/maskUnits) */\n    readonly maskUnits: SVGAnimatedEnumeration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMaskElement/width) */\n    readonly width: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMaskElement/x) */\n    readonly x: SVGAnimatedLength;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMaskElement/y) */\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGMaskElement: {\n    prototype: SVGMaskElement;\n    new(): SVGMaskElement;\n};\n\n/**\n * Corresponds to the <metadata> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGMetadataElement)\n */\ninterface SVGMetadataElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGMetadataElement: {\n    prototype: SVGMetadataElement;\n    new(): SVGMetadataElement;\n};\n\n/**\n * Corresponds to the <number> basic data type.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGNumber)\n */\ninterface SVGNumber {\n    value: number;\n}\n\ndeclare var SVGNumber: {\n    prototype: SVGNumber;\n    new(): SVGNumber;\n};\n\n/**\n * The SVGNumberList defines a list of SVGNumber objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGNumberList)\n */\ninterface SVGNumberList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGNumber): SVGNumber;\n    clear(): void;\n    getItem(index: number): SVGNumber;\n    initialize(newItem: SVGNumber): SVGNumber;\n    insertItemBefore(newItem: SVGNumber, index: number): SVGNumber;\n    removeItem(index: number): SVGNumber;\n    replaceItem(newItem: SVGNumber, index: number): SVGNumber;\n    [index: number]: SVGNumber;\n}\n\ndeclare var SVGNumberList: {\n    prototype: SVGNumberList;\n    new(): SVGNumberList;\n};\n\n/**\n * Corresponds to the <path> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPathElement)\n */\ninterface SVGPathElement extends SVGGeometryElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGPathElement: {\n    prototype: SVGPathElement;\n    new(): SVGPathElement;\n};\n\n/**\n * Corresponds to the <pattern> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPatternElement)\n */\ninterface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference {\n    readonly height: SVGAnimatedLength;\n    readonly patternContentUnits: SVGAnimatedEnumeration;\n    readonly patternTransform: SVGAnimatedTransformList;\n    readonly patternUnits: SVGAnimatedEnumeration;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGPatternElement: {\n    prototype: SVGPatternElement;\n    new(): SVGPatternElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList) */\ninterface SVGPointList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/numberOfItems) */\n    readonly numberOfItems: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/appendItem) */\n    appendItem(newItem: DOMPoint): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/clear) */\n    clear(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/getItem) */\n    getItem(index: number): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/initialize) */\n    initialize(newItem: DOMPoint): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/insertItemBefore) */\n    insertItemBefore(newItem: DOMPoint, index: number): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/removeItem) */\n    removeItem(index: number): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/replaceItem) */\n    replaceItem(newItem: DOMPoint, index: number): DOMPoint;\n    [index: number]: DOMPoint;\n}\n\ndeclare var SVGPointList: {\n    prototype: SVGPointList;\n    new(): SVGPointList;\n};\n\n/**\n * Provides access to the properties of <polygon> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPolygonElement)\n */\ninterface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGPolygonElement: {\n    prototype: SVGPolygonElement;\n    new(): SVGPolygonElement;\n};\n\n/**\n * Provides access to the properties of <polyline> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPolylineElement)\n */\ninterface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGPolylineElement: {\n    prototype: SVGPolylineElement;\n    new(): SVGPolylineElement;\n};\n\n/**\n * Corresponds to the preserveAspectRatio attribute, which is available for some of SVG's elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPreserveAspectRatio)\n */\ninterface SVGPreserveAspectRatio {\n    align: number;\n    meetOrSlice: number;\n    readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: 0;\n    readonly SVG_PRESERVEASPECTRATIO_NONE: 1;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: 2;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: 3;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: 4;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMID: 5;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: 6;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: 7;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: 8;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: 9;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: 10;\n    readonly SVG_MEETORSLICE_UNKNOWN: 0;\n    readonly SVG_MEETORSLICE_MEET: 1;\n    readonly SVG_MEETORSLICE_SLICE: 2;\n}\n\ndeclare var SVGPreserveAspectRatio: {\n    prototype: SVGPreserveAspectRatio;\n    new(): SVGPreserveAspectRatio;\n    readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: 0;\n    readonly SVG_PRESERVEASPECTRATIO_NONE: 1;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: 2;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: 3;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: 4;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMID: 5;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: 6;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: 7;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: 8;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: 9;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: 10;\n    readonly SVG_MEETORSLICE_UNKNOWN: 0;\n    readonly SVG_MEETORSLICE_MEET: 1;\n    readonly SVG_MEETORSLICE_SLICE: 2;\n};\n\n/**\n * Corresponds to the <RadialGradient> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGRadialGradientElement)\n */\ninterface SVGRadialGradientElement extends SVGGradientElement {\n    readonly cx: SVGAnimatedLength;\n    readonly cy: SVGAnimatedLength;\n    readonly fr: SVGAnimatedLength;\n    readonly fx: SVGAnimatedLength;\n    readonly fy: SVGAnimatedLength;\n    readonly r: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGRadialGradientElement: {\n    prototype: SVGRadialGradientElement;\n    new(): SVGRadialGradientElement;\n};\n\n/**\n * Provides access to the properties of <rect> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGRectElement)\n */\ninterface SVGRectElement extends SVGGeometryElement {\n    readonly height: SVGAnimatedLength;\n    readonly rx: SVGAnimatedLength;\n    readonly ry: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGRectElement: {\n    prototype: SVGRectElement;\n    new(): SVGRectElement;\n};\n\ninterface SVGSVGElementEventMap extends SVGElementEventMap, WindowEventHandlersEventMap {\n}\n\n/**\n * Provides access to the properties of <svg> elements, as well as methods to manipulate them. This interface contains also various miscellaneous commonly-used utility methods, such as matrix operations and the ability to control the time of redraw on visual rendering devices.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement)\n */\ninterface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEventHandlers {\n    currentScale: number;\n    readonly currentTranslate: DOMPointReadOnly;\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    animationsPaused(): boolean;\n    checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean;\n    checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean;\n    createSVGAngle(): SVGAngle;\n    createSVGLength(): SVGLength;\n    createSVGMatrix(): DOMMatrix;\n    createSVGNumber(): SVGNumber;\n    createSVGPoint(): DOMPoint;\n    createSVGRect(): DOMRect;\n    createSVGTransform(): SVGTransform;\n    createSVGTransformFromMatrix(matrix?: DOMMatrix2DInit): SVGTransform;\n    deselectAll(): void;\n    /** @deprecated */\n    forceRedraw(): void;\n    getCurrentTime(): number;\n    getElementById(elementId: string): Element;\n    getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf<SVGCircleElement | SVGEllipseElement | SVGImageElement | SVGLineElement | SVGPathElement | SVGPolygonElement | SVGPolylineElement | SVGRectElement | SVGTextElement | SVGUseElement>;\n    getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf<SVGCircleElement | SVGEllipseElement | SVGImageElement | SVGLineElement | SVGPathElement | SVGPolygonElement | SVGPolylineElement | SVGRectElement | SVGTextElement | SVGUseElement>;\n    pauseAnimations(): void;\n    setCurrentTime(seconds: number): void;\n    /** @deprecated */\n    suspendRedraw(maxWaitMilliseconds: number): number;\n    unpauseAnimations(): void;\n    /** @deprecated */\n    unsuspendRedraw(suspendHandleID: number): void;\n    /** @deprecated */\n    unsuspendRedrawAll(): void;\n    addEventListener<K extends keyof SVGSVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGSVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGSVGElement: {\n    prototype: SVGSVGElement;\n    new(): SVGSVGElement;\n};\n\n/**\n * Corresponds to the SVG <script> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGScriptElement)\n */\ninterface SVGScriptElement extends SVGElement, SVGURIReference {\n    type: string;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGScriptElement: {\n    prototype: SVGScriptElement;\n    new(): SVGScriptElement;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSetElement) */\ninterface SVGSetElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGSetElement: {\n    prototype: SVGSetElement;\n    new(): SVGSetElement;\n};\n\n/**\n * Corresponds to the <stop> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGStopElement)\n */\ninterface SVGStopElement extends SVGElement {\n    readonly offset: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGStopElement: {\n    prototype: SVGStopElement;\n    new(): SVGStopElement;\n};\n\n/**\n * The SVGStringList defines a list of DOMString objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGStringList)\n */\ninterface SVGStringList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: string): string;\n    clear(): void;\n    getItem(index: number): string;\n    initialize(newItem: string): string;\n    insertItemBefore(newItem: string, index: number): string;\n    removeItem(index: number): string;\n    replaceItem(newItem: string, index: number): string;\n    [index: number]: string;\n}\n\ndeclare var SVGStringList: {\n    prototype: SVGStringList;\n    new(): SVGStringList;\n};\n\n/**\n * Corresponds to the SVG <style> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGStyleElement)\n */\ninterface SVGStyleElement extends SVGElement, LinkStyle {\n    disabled: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGStyleElement/media) */\n    media: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGStyleElement/title) */\n    title: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGStyleElement/type)\n     */\n    type: string;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGStyleElement: {\n    prototype: SVGStyleElement;\n    new(): SVGStyleElement;\n};\n\n/**\n * Corresponds to the <switch> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSwitchElement)\n */\ninterface SVGSwitchElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGSwitchElement: {\n    prototype: SVGSwitchElement;\n    new(): SVGSwitchElement;\n};\n\n/**\n * Corresponds to the <symbol> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSymbolElement)\n */\ninterface SVGSymbolElement extends SVGElement, SVGFitToViewBox {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGSymbolElement: {\n    prototype: SVGSymbolElement;\n    new(): SVGSymbolElement;\n};\n\n/**\n * A <tspan> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTSpanElement)\n */\ninterface SVGTSpanElement extends SVGTextPositioningElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTSpanElement: {\n    prototype: SVGTSpanElement;\n    new(): SVGTSpanElement;\n};\n\ninterface SVGTests {\n    readonly requiredExtensions: SVGStringList;\n    readonly systemLanguage: SVGStringList;\n}\n\n/**\n * Implemented by elements that support rendering child text content. It is inherited by various text-related interfaces, such as SVGTextElement, SVGTSpanElement, SVGTRefElement, SVGAltGlyphElement and SVGTextPathElement.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement)\n */\ninterface SVGTextContentElement extends SVGGraphicsElement {\n    readonly lengthAdjust: SVGAnimatedEnumeration;\n    readonly textLength: SVGAnimatedLength;\n    getCharNumAtPosition(point?: DOMPointInit): number;\n    getComputedTextLength(): number;\n    getEndPositionOfChar(charnum: number): DOMPoint;\n    getExtentOfChar(charnum: number): DOMRect;\n    getNumberOfChars(): number;\n    getRotationOfChar(charnum: number): number;\n    getStartPositionOfChar(charnum: number): DOMPoint;\n    getSubStringLength(charnum: number, nchars: number): number;\n    /** @deprecated */\n    selectSubString(charnum: number, nchars: number): void;\n    readonly LENGTHADJUST_UNKNOWN: 0;\n    readonly LENGTHADJUST_SPACING: 1;\n    readonly LENGTHADJUST_SPACINGANDGLYPHS: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTextContentElement: {\n    prototype: SVGTextContentElement;\n    new(): SVGTextContentElement;\n    readonly LENGTHADJUST_UNKNOWN: 0;\n    readonly LENGTHADJUST_SPACING: 1;\n    readonly LENGTHADJUST_SPACINGANDGLYPHS: 2;\n};\n\n/**\n * Corresponds to the <text> elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextElement)\n */\ninterface SVGTextElement extends SVGTextPositioningElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTextElement: {\n    prototype: SVGTextElement;\n    new(): SVGTextElement;\n};\n\n/**\n * Corresponds to the <textPath> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextPathElement)\n */\ninterface SVGTextPathElement extends SVGTextContentElement, SVGURIReference {\n    readonly method: SVGAnimatedEnumeration;\n    readonly spacing: SVGAnimatedEnumeration;\n    readonly startOffset: SVGAnimatedLength;\n    readonly TEXTPATH_METHODTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_METHODTYPE_ALIGN: 1;\n    readonly TEXTPATH_METHODTYPE_STRETCH: 2;\n    readonly TEXTPATH_SPACINGTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_SPACINGTYPE_AUTO: 1;\n    readonly TEXTPATH_SPACINGTYPE_EXACT: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTextPathElement: {\n    prototype: SVGTextPathElement;\n    new(): SVGTextPathElement;\n    readonly TEXTPATH_METHODTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_METHODTYPE_ALIGN: 1;\n    readonly TEXTPATH_METHODTYPE_STRETCH: 2;\n    readonly TEXTPATH_SPACINGTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_SPACINGTYPE_AUTO: 1;\n    readonly TEXTPATH_SPACINGTYPE_EXACT: 2;\n};\n\n/**\n * Implemented by elements that support attributes that position individual text glyphs. It is inherited by SVGTextElement, SVGTSpanElement, SVGTRefElement and SVGAltGlyphElement.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextPositioningElement)\n */\ninterface SVGTextPositioningElement extends SVGTextContentElement {\n    readonly dx: SVGAnimatedLengthList;\n    readonly dy: SVGAnimatedLengthList;\n    readonly rotate: SVGAnimatedNumberList;\n    readonly x: SVGAnimatedLengthList;\n    readonly y: SVGAnimatedLengthList;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTextPositioningElement: {\n    prototype: SVGTextPositioningElement;\n    new(): SVGTextPositioningElement;\n};\n\n/**\n * Corresponds to the <title> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTitleElement)\n */\ninterface SVGTitleElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTitleElement: {\n    prototype: SVGTitleElement;\n    new(): SVGTitleElement;\n};\n\n/**\n * SVGTransform is the interface for one of the component transformations within an SVGTransformList; thus, an SVGTransform object corresponds to a single component (e.g., scale(\\u2026) or matrix(\\u2026)) within a transform attribute.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTransform)\n */\ninterface SVGTransform {\n    readonly angle: number;\n    readonly matrix: DOMMatrix;\n    readonly type: number;\n    setMatrix(matrix?: DOMMatrix2DInit): void;\n    setRotate(angle: number, cx: number, cy: number): void;\n    setScale(sx: number, sy: number): void;\n    setSkewX(angle: number): void;\n    setSkewY(angle: number): void;\n    setTranslate(tx: number, ty: number): void;\n    readonly SVG_TRANSFORM_UNKNOWN: 0;\n    readonly SVG_TRANSFORM_MATRIX: 1;\n    readonly SVG_TRANSFORM_TRANSLATE: 2;\n    readonly SVG_TRANSFORM_SCALE: 3;\n    readonly SVG_TRANSFORM_ROTATE: 4;\n    readonly SVG_TRANSFORM_SKEWX: 5;\n    readonly SVG_TRANSFORM_SKEWY: 6;\n}\n\ndeclare var SVGTransform: {\n    prototype: SVGTransform;\n    new(): SVGTransform;\n    readonly SVG_TRANSFORM_UNKNOWN: 0;\n    readonly SVG_TRANSFORM_MATRIX: 1;\n    readonly SVG_TRANSFORM_TRANSLATE: 2;\n    readonly SVG_TRANSFORM_SCALE: 3;\n    readonly SVG_TRANSFORM_ROTATE: 4;\n    readonly SVG_TRANSFORM_SKEWX: 5;\n    readonly SVG_TRANSFORM_SKEWY: 6;\n};\n\n/**\n * The SVGTransformList defines a list of SVGTransform objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTransformList)\n */\ninterface SVGTransformList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGTransform): SVGTransform;\n    clear(): void;\n    consolidate(): SVGTransform | null;\n    createSVGTransformFromMatrix(matrix?: DOMMatrix2DInit): SVGTransform;\n    getItem(index: number): SVGTransform;\n    initialize(newItem: SVGTransform): SVGTransform;\n    insertItemBefore(newItem: SVGTransform, index: number): SVGTransform;\n    removeItem(index: number): SVGTransform;\n    replaceItem(newItem: SVGTransform, index: number): SVGTransform;\n    [index: number]: SVGTransform;\n}\n\ndeclare var SVGTransformList: {\n    prototype: SVGTransformList;\n    new(): SVGTransformList;\n};\n\ninterface SVGURIReference {\n    readonly href: SVGAnimatedString;\n}\n\n/**\n * A commonly used set of constants used for reflecting gradientUnits, patternContentUnits and other similar attributes.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGUnitTypes)\n */\ninterface SVGUnitTypes {\n    readonly SVG_UNIT_TYPE_UNKNOWN: 0;\n    readonly SVG_UNIT_TYPE_USERSPACEONUSE: 1;\n    readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: 2;\n}\n\ndeclare var SVGUnitTypes: {\n    prototype: SVGUnitTypes;\n    new(): SVGUnitTypes;\n    readonly SVG_UNIT_TYPE_UNKNOWN: 0;\n    readonly SVG_UNIT_TYPE_USERSPACEONUSE: 1;\n    readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: 2;\n};\n\n/**\n * Corresponds to the <use> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGUseElement)\n */\ninterface SVGUseElement extends SVGGraphicsElement, SVGURIReference {\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGUseElement: {\n    prototype: SVGUseElement;\n    new(): SVGUseElement;\n};\n\n/**\n * Provides access to the properties of <view> elements, as well as methods to manipulate them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGViewElement)\n */\ninterface SVGViewElement extends SVGElement, SVGFitToViewBox {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGViewElement: {\n    prototype: SVGViewElement;\n    new(): SVGViewElement;\n};\n\n/**\n * A screen, usually the one on which the current window is being rendered, and is obtained using window.screen.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Screen)\n */\ninterface Screen {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Screen/availHeight) */\n    readonly availHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Screen/availWidth) */\n    readonly availWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Screen/colorDepth) */\n    readonly colorDepth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Screen/height) */\n    readonly height: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Screen/orientation) */\n    readonly orientation: ScreenOrientation;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Screen/pixelDepth) */\n    readonly pixelDepth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Screen/width) */\n    readonly width: number;\n}\n\ndeclare var Screen: {\n    prototype: Screen;\n    new(): Screen;\n};\n\ninterface ScreenOrientationEventMap {\n    \"change\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScreenOrientation) */\ninterface ScreenOrientation extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScreenOrientation/angle) */\n    readonly angle: number;\n    onchange: ((this: ScreenOrientation, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScreenOrientation/type) */\n    readonly type: OrientationType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScreenOrientation/unlock) */\n    unlock(): void;\n    addEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ScreenOrientation: {\n    prototype: ScreenOrientation;\n    new(): ScreenOrientation;\n};\n\ninterface ScriptProcessorNodeEventMap {\n    \"audioprocess\": AudioProcessingEvent;\n}\n\n/**\n * Allows the generation, processing, or analyzing of audio using JavaScript.\n * @deprecated As of the August 29 2014 Web Audio API spec publication, this feature has been marked as deprecated, and was replaced by AudioWorklet (see AudioWorkletNode).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScriptProcessorNode)\n */\ninterface ScriptProcessorNode extends AudioNode {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScriptProcessorNode/bufferSize)\n     */\n    readonly bufferSize: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScriptProcessorNode/audioprocess_event)\n     */\n    onaudioprocess: ((this: ScriptProcessorNode, ev: AudioProcessingEvent) => any) | null;\n    addEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\n/** @deprecated */\ndeclare var ScriptProcessorNode: {\n    prototype: ScriptProcessorNode;\n    new(): ScriptProcessorNode;\n};\n\n/**\n * Inherits from Event, and represents the event object of an event sent on a document or worker when its content security policy is violated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent)\n */\ninterface SecurityPolicyViolationEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/blockedURI) */\n    readonly blockedURI: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/columnNumber) */\n    readonly columnNumber: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/disposition) */\n    readonly disposition: SecurityPolicyViolationEventDisposition;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/documentURI) */\n    readonly documentURI: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/effectiveDirective) */\n    readonly effectiveDirective: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/lineNumber) */\n    readonly lineNumber: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/originalPolicy) */\n    readonly originalPolicy: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/referrer) */\n    readonly referrer: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/sample) */\n    readonly sample: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/sourceFile) */\n    readonly sourceFile: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/statusCode) */\n    readonly statusCode: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/violatedDirective) */\n    readonly violatedDirective: string;\n}\n\ndeclare var SecurityPolicyViolationEvent: {\n    prototype: SecurityPolicyViolationEvent;\n    new(type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent;\n};\n\n/**\n * A Selection object\\xA0represents the range of text selected by the user or the current position of the caret. To obtain a Selection object for examination or\\xA0modification, call Window.getSelection().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection)\n */\ninterface Selection {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/anchorNode) */\n    readonly anchorNode: Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/anchorOffset) */\n    readonly anchorOffset: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/focusNode) */\n    readonly focusNode: Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/focusOffset) */\n    readonly focusOffset: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/isCollapsed) */\n    readonly isCollapsed: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/rangeCount) */\n    readonly rangeCount: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/type) */\n    readonly type: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/addRange) */\n    addRange(range: Range): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/collapse) */\n    collapse(node: Node | null, offset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/collapseToEnd) */\n    collapseToEnd(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/collapseToStart) */\n    collapseToStart(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/containsNode) */\n    containsNode(node: Node, allowPartialContainment?: boolean): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/deleteFromDocument) */\n    deleteFromDocument(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/removeAllRanges) */\n    empty(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/extend) */\n    extend(node: Node, offset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/getRangeAt) */\n    getRangeAt(index: number): Range;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/modify) */\n    modify(alter?: string, direction?: string, granularity?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/removeAllRanges) */\n    removeAllRanges(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/removeRange) */\n    removeRange(range: Range): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/selectAllChildren) */\n    selectAllChildren(node: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/setBaseAndExtent) */\n    setBaseAndExtent(anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/collapse) */\n    setPosition(node: Node | null, offset?: number): void;\n    toString(): string;\n}\n\ndeclare var Selection: {\n    prototype: Selection;\n    new(): Selection;\n};\n\ninterface ServiceWorkerEventMap extends AbstractWorkerEventMap {\n    \"statechange\": Event;\n}\n\n/**\n * This ServiceWorker API interface provides a reference to a service worker. Multiple browsing contexts (e.g. pages, workers, etc.) can be associated with the same service worker, each through a unique ServiceWorker object.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker)\n */\ninterface ServiceWorker extends EventTarget, AbstractWorker {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/statechange_event) */\n    onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/scriptURL) */\n    readonly scriptURL: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/state) */\n    readonly state: ServiceWorkerState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/postMessage) */\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorker: {\n    prototype: ServiceWorker;\n    new(): ServiceWorker;\n};\n\ninterface ServiceWorkerContainerEventMap {\n    \"controllerchange\": Event;\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\n\n/**\n * The\\xA0ServiceWorkerContainer\\xA0interface of the\\xA0ServiceWorker API\\xA0provides an object representing the service worker as an overall unit in the network ecosystem, including facilities to register, unregister and update service workers, and access the state of service workers and their registrations.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer)\n */\ninterface ServiceWorkerContainer extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/controller) */\n    readonly controller: ServiceWorker | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/controllerchange_event) */\n    oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/message_event) */\n    onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/messageerror_event) */\n    onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/ready) */\n    readonly ready: Promise<ServiceWorkerRegistration>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistration) */\n    getRegistration(clientURL?: string | URL): Promise<ServiceWorkerRegistration | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistrations) */\n    getRegistrations(): Promise<ReadonlyArray<ServiceWorkerRegistration>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/register) */\n    register(scriptURL: string | URL, options?: RegistrationOptions): Promise<ServiceWorkerRegistration>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/startMessages) */\n    startMessages(): void;\n    addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorkerContainer: {\n    prototype: ServiceWorkerContainer;\n    new(): ServiceWorkerContainer;\n};\n\ninterface ServiceWorkerRegistrationEventMap {\n    \"updatefound\": Event;\n}\n\n/**\n * This ServiceWorker API interface represents the service worker registration. You register a service worker to control one or more pages that share the same origin.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration)\n */\ninterface ServiceWorkerRegistration extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/active) */\n    readonly active: ServiceWorker | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/installing) */\n    readonly installing: ServiceWorker | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/navigationPreload) */\n    readonly navigationPreload: NavigationPreloadManager;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/updatefound_event) */\n    onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/pushManager) */\n    readonly pushManager: PushManager;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/scope) */\n    readonly scope: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/updateViaCache) */\n    readonly updateViaCache: ServiceWorkerUpdateViaCache;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/waiting) */\n    readonly waiting: ServiceWorker | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/getNotifications) */\n    getNotifications(filter?: GetNotificationOptions): Promise<Notification[]>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/showNotification) */\n    showNotification(title: string, options?: NotificationOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/unregister) */\n    unregister(): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/update) */\n    update(): Promise<void>;\n    addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorkerRegistration: {\n    prototype: ServiceWorkerRegistration;\n    new(): ServiceWorkerRegistration;\n};\n\ninterface ShadowRootEventMap {\n    \"slotchange\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot) */\ninterface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot, InnerHTML {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/delegatesFocus) */\n    readonly delegatesFocus: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/host) */\n    readonly host: Element;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/mode) */\n    readonly mode: ShadowRootMode;\n    onslotchange: ((this: ShadowRoot, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/slotAssignment) */\n    readonly slotAssignment: SlotAssignmentMode;\n    /** Throws a \"NotSupportedError\" DOMException if context object is a shadow root. */\n    addEventListener<K extends keyof ShadowRootEventMap>(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ShadowRootEventMap>(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ShadowRoot: {\n    prototype: ShadowRoot;\n    new(): ShadowRoot;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SharedWorker) */\ninterface SharedWorker extends EventTarget, AbstractWorker {\n    /**\n     * Returns sharedWorker's MessagePort object which can be used to communicate with the global environment.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SharedWorker/port)\n     */\n    readonly port: MessagePort;\n    addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SharedWorker: {\n    prototype: SharedWorker;\n    new(scriptURL: string | URL, options?: string | WorkerOptions): SharedWorker;\n};\n\ninterface Slottable {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/assignedSlot) */\n    readonly assignedSlot: HTMLSlotElement | null;\n}\n\ninterface SourceBufferEventMap {\n    \"abort\": Event;\n    \"error\": Event;\n    \"update\": Event;\n    \"updateend\": Event;\n    \"updatestart\": Event;\n}\n\n/**\n * A chunk of media to be passed into an HTMLMediaElement and played, via a MediaSource\\xA0object. This can be made up of one or several media segments.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer)\n */\ninterface SourceBuffer extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/appendWindowEnd) */\n    appendWindowEnd: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/appendWindowStart) */\n    appendWindowStart: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/buffered) */\n    readonly buffered: TimeRanges;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/mode) */\n    mode: AppendMode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/abort_event) */\n    onabort: ((this: SourceBuffer, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/error_event) */\n    onerror: ((this: SourceBuffer, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/update_event) */\n    onupdate: ((this: SourceBuffer, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/updateend_event) */\n    onupdateend: ((this: SourceBuffer, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/updatestart_event) */\n    onupdatestart: ((this: SourceBuffer, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/timestampOffset) */\n    timestampOffset: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/updating) */\n    readonly updating: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/abort) */\n    abort(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/appendBuffer) */\n    appendBuffer(data: BufferSource): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/changeType) */\n    changeType(type: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/remove) */\n    remove(start: number, end: number): void;\n    addEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SourceBuffer: {\n    prototype: SourceBuffer;\n    new(): SourceBuffer;\n};\n\ninterface SourceBufferListEventMap {\n    \"addsourcebuffer\": Event;\n    \"removesourcebuffer\": Event;\n}\n\n/**\n * A simple container list for multiple SourceBuffer objects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBufferList)\n */\ninterface SourceBufferList extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBufferList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBufferList/addsourcebuffer_event) */\n    onaddsourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBufferList/removesourcebuffer_event) */\n    onremovesourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;\n    addEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: SourceBuffer;\n}\n\ndeclare var SourceBufferList: {\n    prototype: SourceBufferList;\n    new(): SourceBufferList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionAlternative) */\ninterface SpeechRecognitionAlternative {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionAlternative/confidence) */\n    readonly confidence: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionAlternative/transcript) */\n    readonly transcript: string;\n}\n\ndeclare var SpeechRecognitionAlternative: {\n    prototype: SpeechRecognitionAlternative;\n    new(): SpeechRecognitionAlternative;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionResult) */\ninterface SpeechRecognitionResult {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionResult/isFinal) */\n    readonly isFinal: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionResult/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionResult/item) */\n    item(index: number): SpeechRecognitionAlternative;\n    [index: number]: SpeechRecognitionAlternative;\n}\n\ndeclare var SpeechRecognitionResult: {\n    prototype: SpeechRecognitionResult;\n    new(): SpeechRecognitionResult;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionResultList) */\ninterface SpeechRecognitionResultList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionResultList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechRecognitionResultList/item) */\n    item(index: number): SpeechRecognitionResult;\n    [index: number]: SpeechRecognitionResult;\n}\n\ndeclare var SpeechRecognitionResultList: {\n    prototype: SpeechRecognitionResultList;\n    new(): SpeechRecognitionResultList;\n};\n\ninterface SpeechSynthesisEventMap {\n    \"voiceschanged\": Event;\n}\n\n/**\n * This Web Speech API interface is the controller interface for the speech service; this can be used to retrieve information about the synthesis voices available on the device, start and pause speech, and other commands besides.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis)\n */\ninterface SpeechSynthesis extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/voiceschanged_event) */\n    onvoiceschanged: ((this: SpeechSynthesis, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/paused) */\n    readonly paused: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/pending) */\n    readonly pending: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/speaking) */\n    readonly speaking: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/cancel) */\n    cancel(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/getVoices) */\n    getVoices(): SpeechSynthesisVoice[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/pause) */\n    pause(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/resume) */\n    resume(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/speak) */\n    speak(utterance: SpeechSynthesisUtterance): void;\n    addEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SpeechSynthesis: {\n    prototype: SpeechSynthesis;\n    new(): SpeechSynthesis;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisErrorEvent) */\ninterface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisErrorEvent/error) */\n    readonly error: SpeechSynthesisErrorCode;\n}\n\ndeclare var SpeechSynthesisErrorEvent: {\n    prototype: SpeechSynthesisErrorEvent;\n    new(type: string, eventInitDict: SpeechSynthesisErrorEventInit): SpeechSynthesisErrorEvent;\n};\n\n/**\n * This Web Speech API interface contains information about the current state of SpeechSynthesisUtterance objects that have been processed in the speech service.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisEvent)\n */\ninterface SpeechSynthesisEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisEvent/charIndex) */\n    readonly charIndex: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisEvent/charLength) */\n    readonly charLength: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisEvent/elapsedTime) */\n    readonly elapsedTime: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisEvent/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisEvent/utterance) */\n    readonly utterance: SpeechSynthesisUtterance;\n}\n\ndeclare var SpeechSynthesisEvent: {\n    prototype: SpeechSynthesisEvent;\n    new(type: string, eventInitDict: SpeechSynthesisEventInit): SpeechSynthesisEvent;\n};\n\ninterface SpeechSynthesisUtteranceEventMap {\n    \"boundary\": SpeechSynthesisEvent;\n    \"end\": SpeechSynthesisEvent;\n    \"error\": SpeechSynthesisErrorEvent;\n    \"mark\": SpeechSynthesisEvent;\n    \"pause\": SpeechSynthesisEvent;\n    \"resume\": SpeechSynthesisEvent;\n    \"start\": SpeechSynthesisEvent;\n}\n\n/**\n * This Web Speech API interface represents a speech request. It contains the content the speech service should read and information about how to read it (e.g. language, pitch and volume.)\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance)\n */\ninterface SpeechSynthesisUtterance extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/lang) */\n    lang: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/boundary_event) */\n    onboundary: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/end_event) */\n    onend: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/error_event) */\n    onerror: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisErrorEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/mark_event) */\n    onmark: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/pause_event) */\n    onpause: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/resume_event) */\n    onresume: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/start_event) */\n    onstart: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/pitch) */\n    pitch: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/rate) */\n    rate: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/text) */\n    text: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/voice) */\n    voice: SpeechSynthesisVoice | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance/volume) */\n    volume: number;\n    addEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SpeechSynthesisUtterance: {\n    prototype: SpeechSynthesisUtterance;\n    new(text?: string): SpeechSynthesisUtterance;\n};\n\n/**\n * This Web Speech API interface represents a voice that the system supports. Every SpeechSynthesisVoice has its own relative speech service including information about language, name and URI.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice)\n */\ninterface SpeechSynthesisVoice {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/default) */\n    readonly default: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/lang) */\n    readonly lang: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/localService) */\n    readonly localService: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/voiceURI) */\n    readonly voiceURI: string;\n}\n\ndeclare var SpeechSynthesisVoice: {\n    prototype: SpeechSynthesisVoice;\n    new(): SpeechSynthesisVoice;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StaticRange) */\ninterface StaticRange extends AbstractRange {\n}\n\ndeclare var StaticRange: {\n    prototype: StaticRange;\n    new(init: StaticRangeInit): StaticRange;\n};\n\n/**\n * The pan property takes a unitless value between -1 (full left pan) and 1 (full right pan). This interface was introduced as a much simpler way to apply a simple panning effect than having to use a full PannerNode.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StereoPannerNode)\n */\ninterface StereoPannerNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StereoPannerNode/pan) */\n    readonly pan: AudioParam;\n}\n\ndeclare var StereoPannerNode: {\n    prototype: StereoPannerNode;\n    new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode;\n};\n\n/**\n * This Web Storage API interface provides access to a particular domain's session or local storage. It allows, for example, the addition, modification, or deletion of stored data items.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Storage)\n */\ninterface Storage {\n    /**\n     * Returns the number of key/value pairs.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Storage/length)\n     */\n    readonly length: number;\n    /**\n     * Removes all key/value pairs, if there are any.\n     *\n     * Dispatches a storage event on Window objects holding an equivalent Storage object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Storage/clear)\n     */\n    clear(): void;\n    /**\n     * Returns the current value associated with the given key, or null if the given key does not exist.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Storage/getItem)\n     */\n    getItem(key: string): string | null;\n    /**\n     * Returns the name of the nth key, or null if n is greater than or equal to the number of key/value pairs.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Storage/key)\n     */\n    key(index: number): string | null;\n    /**\n     * Removes the key/value pair with the given key, if a key/value pair with the given key exists.\n     *\n     * Dispatches a storage event on Window objects holding an equivalent Storage object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Storage/removeItem)\n     */\n    removeItem(key: string): void;\n    /**\n     * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.\n     *\n     * Throws a \"QuotaExceededError\" DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.)\n     *\n     * Dispatches a storage event on Window objects holding an equivalent Storage object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Storage/setItem)\n     */\n    setItem(key: string, value: string): void;\n    [name: string]: any;\n}\n\ndeclare var Storage: {\n    prototype: Storage;\n    new(): Storage;\n};\n\n/**\n * A StorageEvent is sent to a window when a storage area it has access to is changed within the context of another document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageEvent)\n */\ninterface StorageEvent extends Event {\n    /**\n     * Returns the key of the storage item being changed.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageEvent/key)\n     */\n    readonly key: string | null;\n    /**\n     * Returns the new value of the key of the storage item whose value is being changed.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageEvent/newValue)\n     */\n    readonly newValue: string | null;\n    /**\n     * Returns the old value of the key of the storage item whose value is being changed.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageEvent/oldValue)\n     */\n    readonly oldValue: string | null;\n    /**\n     * Returns the Storage object that was affected.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageEvent/storageArea)\n     */\n    readonly storageArea: Storage | null;\n    /**\n     * Returns the URL of the document whose storage item changed.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageEvent/url)\n     */\n    readonly url: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageEvent/initStorageEvent)\n     */\n    initStorageEvent(type: string, bubbles?: boolean, cancelable?: boolean, key?: string | null, oldValue?: string | null, newValue?: string | null, url?: string | URL, storageArea?: Storage | null): void;\n}\n\ndeclare var StorageEvent: {\n    prototype: StorageEvent;\n    new(type: string, eventInitDict?: StorageEventInit): StorageEvent;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager)\n */\ninterface StorageManager {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager/estimate) */\n    estimate(): Promise<StorageEstimate>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager/getDirectory) */\n    getDirectory(): Promise<FileSystemDirectoryHandle>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager/persist) */\n    persist(): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager/persisted) */\n    persisted(): Promise<boolean>;\n}\n\ndeclare var StorageManager: {\n    prototype: StorageManager;\n    new(): StorageManager;\n};\n\n/** @deprecated */\ninterface StyleMedia {\n    type: string;\n    matchMedium(mediaquery: string): boolean;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMap) */\ninterface StylePropertyMap extends StylePropertyMapReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMap/append) */\n    append(property: string, ...values: (CSSStyleValue | string)[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMap/clear) */\n    clear(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMap/delete) */\n    delete(property: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMap/set) */\n    set(property: string, ...values: (CSSStyleValue | string)[]): void;\n}\n\ndeclare var StylePropertyMap: {\n    prototype: StylePropertyMap;\n    new(): StylePropertyMap;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly) */\ninterface StylePropertyMapReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/size) */\n    readonly size: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/get) */\n    get(property: string): undefined | CSSStyleValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/getAll) */\n    getAll(property: string): CSSStyleValue[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/has) */\n    has(property: string): boolean;\n    forEach(callbackfn: (value: CSSStyleValue[], key: string, parent: StylePropertyMapReadOnly) => void, thisArg?: any): void;\n}\n\ndeclare var StylePropertyMapReadOnly: {\n    prototype: StylePropertyMapReadOnly;\n    new(): StylePropertyMapReadOnly;\n};\n\n/**\n * A single style sheet. CSS style sheets will further implement the more specialized CSSStyleSheet interface.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheet)\n */\ninterface StyleSheet {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheet/disabled) */\n    disabled: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheet/href) */\n    readonly href: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheet/media) */\n    readonly media: MediaList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheet/ownerNode) */\n    readonly ownerNode: Element | ProcessingInstruction | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheet/parentStyleSheet) */\n    readonly parentStyleSheet: CSSStyleSheet | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheet/title) */\n    readonly title: string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheet/type) */\n    readonly type: string;\n}\n\ndeclare var StyleSheet: {\n    prototype: StyleSheet;\n    new(): StyleSheet;\n};\n\n/**\n * A list of StyleSheet.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheetList)\n */\ninterface StyleSheetList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheetList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StyleSheetList/item) */\n    item(index: number): CSSStyleSheet | null;\n    [index: number]: CSSStyleSheet;\n}\n\ndeclare var StyleSheetList: {\n    prototype: StyleSheetList;\n    new(): StyleSheetList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubmitEvent) */\ninterface SubmitEvent extends Event {\n    /**\n     * Returns the element representing the submit button that triggered the form submission, or null if the submission was not triggered by a button.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubmitEvent/submitter)\n     */\n    readonly submitter: HTMLElement | null;\n}\n\ndeclare var SubmitEvent: {\n    prototype: SubmitEvent;\n    new(type: string, eventInitDict?: SubmitEventInit): SubmitEvent;\n};\n\n/**\n * This Web Crypto API interface provides a number of low-level cryptographic functions. It is accessed via the Crypto.subtle properties available in a window context (via Window.crypto).\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto)\n */\ninterface SubtleCrypto {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/decrypt) */\n    decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveBits) */\n    deriveBits(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey) */\n    deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/digest) */\n    digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/encrypt) */\n    encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/exportKey) */\n    exportKey(format: \"jwk\", key: CryptoKey): Promise<JsonWebKey>;\n    exportKey(format: Exclude<KeyFormat, \"jwk\">, key: CryptoKey): Promise<ArrayBuffer>;\n    exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey) */\n    generateKey(algorithm: \"Ed25519\", extractable: boolean, keyUsages: ReadonlyArray<\"sign\" | \"verify\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;\n    generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey) */\n    importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    importKey(format: Exclude<KeyFormat, \"jwk\">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/sign) */\n    sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey) */\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/verify) */\n    verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/wrapKey) */\n    wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>;\n}\n\ndeclare var SubtleCrypto: {\n    prototype: SubtleCrypto;\n    new(): SubtleCrypto;\n};\n\n/**\n * The textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Text)\n */\ninterface Text extends CharacterData, Slottable {\n    /**\n     * Returns the combined data of all direct Text node siblings.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Text/wholeText)\n     */\n    readonly wholeText: string;\n    /**\n     * Splits data at the given offset and returns the remainder as Text node.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Text/splitText)\n     */\n    splitText(offset: number): Text;\n}\n\ndeclare var Text: {\n    prototype: Text;\n    new(data?: string): Text;\n};\n\n/**\n * A decoder for a specific method, that is a specific character encoding, like utf-8, iso-8859-2, koi8, cp1261, gbk, etc.\\xA0A decoder takes a stream of bytes as input and emits a stream of code points. For a more scalable, non-native library, see StringView \\u2013 a C-like representation of strings based on typed arrays.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder)\n */\ninterface TextDecoder extends TextDecoderCommon {\n    /**\n     * Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented input. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments.\n     *\n     * \\`\\`\\`\n     * var string = \"\", decoder = new TextDecoder(encoding), buffer;\n     * while(buffer = next_chunk()) {\n     *   string += decoder.decode(buffer, {stream:true});\n     * }\n     * string += decoder.decode(); // end-of-queue\n     * \\`\\`\\`\n     *\n     * If the error mode is \"fatal\" and encoding's decoder returns error, throws a TypeError.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder/decode)\n     */\n    decode(input?: AllowSharedBufferSource, options?: TextDecodeOptions): string;\n}\n\ndeclare var TextDecoder: {\n    prototype: TextDecoder;\n    new(label?: string, options?: TextDecoderOptions): TextDecoder;\n};\n\ninterface TextDecoderCommon {\n    /**\n     * Returns encoding's name, lowercased.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder/encoding)\n     */\n    readonly encoding: string;\n    /**\n     * Returns true if error mode is \"fatal\", otherwise false.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder/fatal)\n     */\n    readonly fatal: boolean;\n    /**\n     * Returns the value of ignore BOM.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder/ignoreBOM)\n     */\n    readonly ignoreBOM: boolean;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoderStream) */\ninterface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {\n    readonly readable: ReadableStream<string>;\n    readonly writable: WritableStream<BufferSource>;\n}\n\ndeclare var TextDecoderStream: {\n    prototype: TextDecoderStream;\n    new(label?: string, options?: TextDecoderOptions): TextDecoderStream;\n};\n\n/**\n * TextEncoder takes a stream of code points as input and emits a stream of bytes. For a more scalable, non-native library, see StringView \\u2013 a C-like representation of strings based on typed arrays.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoder)\n */\ninterface TextEncoder extends TextEncoderCommon {\n    /**\n     * Returns the result of running UTF-8's encoder.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoder/encode)\n     */\n    encode(input?: string): Uint8Array;\n    /**\n     * Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as an object wherein read is the number of converted code units of source and written is the number of bytes modified in destination.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoder/encodeInto)\n     */\n    encodeInto(source: string, destination: Uint8Array): TextEncoderEncodeIntoResult;\n}\n\ndeclare var TextEncoder: {\n    prototype: TextEncoder;\n    new(): TextEncoder;\n};\n\ninterface TextEncoderCommon {\n    /**\n     * Returns \"utf-8\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoder/encoding)\n     */\n    readonly encoding: string;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoderStream) */\ninterface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {\n    readonly readable: ReadableStream<Uint8Array>;\n    readonly writable: WritableStream<string>;\n}\n\ndeclare var TextEncoderStream: {\n    prototype: TextEncoderStream;\n    new(): TextEncoderStream;\n};\n\n/**\n * The dimensions of a piece of text in the canvas, as created by the CanvasRenderingContext2D.measureText() method.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics)\n */\ninterface TextMetrics {\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/actualBoundingBoxAscent)\n     */\n    readonly actualBoundingBoxAscent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/actualBoundingBoxDescent)\n     */\n    readonly actualBoundingBoxDescent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/actualBoundingBoxLeft)\n     */\n    readonly actualBoundingBoxLeft: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/actualBoundingBoxRight)\n     */\n    readonly actualBoundingBoxRight: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/alphabeticBaseline)\n     */\n    readonly alphabeticBaseline: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/emHeightAscent)\n     */\n    readonly emHeightAscent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/emHeightDescent)\n     */\n    readonly emHeightDescent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/fontBoundingBoxAscent)\n     */\n    readonly fontBoundingBoxAscent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/fontBoundingBoxDescent)\n     */\n    readonly fontBoundingBoxDescent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/hangingBaseline)\n     */\n    readonly hangingBaseline: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/ideographicBaseline)\n     */\n    readonly ideographicBaseline: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/width)\n     */\n    readonly width: number;\n}\n\ndeclare var TextMetrics: {\n    prototype: TextMetrics;\n    new(): TextMetrics;\n};\n\ninterface TextTrackEventMap {\n    \"cuechange\": Event;\n}\n\n/**\n * This interface also inherits properties from EventTarget.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack)\n */\ninterface TextTrack extends EventTarget {\n    /**\n     * Returns the text track cues from the text track list of cues that are currently active (i.e. that start before the current playback position and end after it), as a TextTrackCueList object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/activeCues)\n     */\n    readonly activeCues: TextTrackCueList | null;\n    /**\n     * Returns the text track list of cues, as a TextTrackCueList object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/cues)\n     */\n    readonly cues: TextTrackCueList | null;\n    /**\n     * Returns the ID of the given track.\n     *\n     * For in-band tracks, this is the ID that can be used with a fragment if the format supports media fragment syntax, and that can be used with the getTrackById() method.\n     *\n     * For TextTrack objects corresponding to track elements, this is the ID of the track element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/id)\n     */\n    readonly id: string;\n    /**\n     * Returns the text track in-band metadata track dispatch type string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/inBandMetadataTrackDispatchType)\n     */\n    readonly inBandMetadataTrackDispatchType: string;\n    /**\n     * Returns the text track kind string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/kind)\n     */\n    readonly kind: TextTrackKind;\n    /**\n     * Returns the text track label, if there is one, or the empty string otherwise (indicating that a custom label probably needs to be generated from the other attributes of the object if the object is exposed to the user).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/label)\n     */\n    readonly label: string;\n    /**\n     * Returns the text track language string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/language)\n     */\n    readonly language: string;\n    /**\n     * Returns the text track mode, represented by a string from the following list:\n     *\n     * Can be set, to change the mode.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/mode)\n     */\n    mode: TextTrackMode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/cuechange_event) */\n    oncuechange: ((this: TextTrack, ev: Event) => any) | null;\n    /**\n     * Adds the given cue to textTrack's text track list of cues.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/addCue)\n     */\n    addCue(cue: TextTrackCue): void;\n    /**\n     * Removes the given cue from textTrack's text track list of cues.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrack/removeCue)\n     */\n    removeCue(cue: TextTrackCue): void;\n    addEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var TextTrack: {\n    prototype: TextTrack;\n    new(): TextTrack;\n};\n\ninterface TextTrackCueEventMap {\n    \"enter\": Event;\n    \"exit\": Event;\n}\n\n/**\n * TextTrackCues represent a string of text that will be displayed for some duration of time on a TextTrack. This includes the start and end times that the cue will be displayed. A TextTrackCue cannot be used directly, instead one of the derived types (e.g. VTTCue) must be used.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCue)\n */\ninterface TextTrackCue extends EventTarget {\n    /**\n     * Returns the text track cue end time, in seconds.\n     *\n     * Can be set.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCue/endTime)\n     */\n    endTime: number;\n    /**\n     * Returns the text track cue identifier.\n     *\n     * Can be set.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCue/id)\n     */\n    id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCue/enter_event) */\n    onenter: ((this: TextTrackCue, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCue/exit_event) */\n    onexit: ((this: TextTrackCue, ev: Event) => any) | null;\n    /**\n     * Returns true if the text track cue pause-on-exit flag is set, false otherwise.\n     *\n     * Can be set.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCue/pauseOnExit)\n     */\n    pauseOnExit: boolean;\n    /**\n     * Returns the text track cue start time, in seconds.\n     *\n     * Can be set.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCue/startTime)\n     */\n    startTime: number;\n    /**\n     * Returns the TextTrack object to which this text track cue belongs, if any, or null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCue/track)\n     */\n    readonly track: TextTrack | null;\n    addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var TextTrackCue: {\n    prototype: TextTrackCue;\n    new(): TextTrackCue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCueList) */\ninterface TextTrackCueList {\n    /**\n     * Returns the number of cues in the list.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCueList/length)\n     */\n    readonly length: number;\n    /**\n     * Returns the first text track cue (in text track cue order) with text track cue identifier id.\n     *\n     * Returns null if none of the cues have the given identifier or if the argument is the empty string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackCueList/getCueById)\n     */\n    getCueById(id: string): TextTrackCue | null;\n    [index: number]: TextTrackCue;\n}\n\ndeclare var TextTrackCueList: {\n    prototype: TextTrackCueList;\n    new(): TextTrackCueList;\n};\n\ninterface TextTrackListEventMap {\n    \"addtrack\": TrackEvent;\n    \"change\": Event;\n    \"removetrack\": TrackEvent;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList) */\ninterface TextTrackList extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/addtrack_event) */\n    onaddtrack: ((this: TextTrackList, ev: TrackEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/change_event) */\n    onchange: ((this: TextTrackList, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/removetrack_event) */\n    onremovetrack: ((this: TextTrackList, ev: TrackEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/getTrackById) */\n    getTrackById(id: string): TextTrack | null;\n    addEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: TextTrack;\n}\n\ndeclare var TextTrackList: {\n    prototype: TextTrackList;\n    new(): TextTrackList;\n};\n\n/**\n * Used to represent a set of time ranges, primarily for the purpose of tracking which portions of media have been buffered when loading it for use by the <audio> and <video>\\xA0elements.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TimeRanges)\n */\ninterface TimeRanges {\n    /**\n     * Returns the number of ranges in the object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TimeRanges/length)\n     */\n    readonly length: number;\n    /**\n     * Returns the time for the end of the range with the given index.\n     *\n     * Throws an \"IndexSizeError\" DOMException if the index is out of range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TimeRanges/end)\n     */\n    end(index: number): number;\n    /**\n     * Returns the time for the start of the range with the given index.\n     *\n     * Throws an \"IndexSizeError\" DOMException if the index is out of range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TimeRanges/start)\n     */\n    start(index: number): number;\n}\n\ndeclare var TimeRanges: {\n    prototype: TimeRanges;\n    new(): TimeRanges;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent) */\ninterface ToggleEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/newState) */\n    readonly newState: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/oldState) */\n    readonly oldState: string;\n}\n\ndeclare var ToggleEvent: {\n    prototype: ToggleEvent;\n    new(type: string, eventInitDict?: ToggleEventInit): ToggleEvent;\n};\n\n/**\n * A single contact point on a touch-sensitive device. The contact point is commonly a finger or stylus and the device may be a touchscreen or trackpad.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch)\n */\ninterface Touch {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/clientX) */\n    readonly clientX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/clientY) */\n    readonly clientY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/force) */\n    readonly force: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/identifier) */\n    readonly identifier: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/pageX) */\n    readonly pageX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/pageY) */\n    readonly pageY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/radiusX) */\n    readonly radiusX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/radiusY) */\n    readonly radiusY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/rotationAngle) */\n    readonly rotationAngle: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/screenX) */\n    readonly screenX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/screenY) */\n    readonly screenY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Touch/target) */\n    readonly target: EventTarget;\n}\n\ndeclare var Touch: {\n    prototype: Touch;\n    new(touchInitDict: TouchInit): Touch;\n};\n\n/**\n * An event sent when the state of contacts with a touch-sensitive surface changes. This surface can be a touch screen or trackpad, for example. The event can describe one or more points of contact with the screen and includes support for detecting movement, addition and removal of contact points, and so forth.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchEvent)\n */\ninterface TouchEvent extends UIEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchEvent/altKey) */\n    readonly altKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchEvent/changedTouches) */\n    readonly changedTouches: TouchList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchEvent/ctrlKey) */\n    readonly ctrlKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchEvent/metaKey) */\n    readonly metaKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchEvent/shiftKey) */\n    readonly shiftKey: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchEvent/targetTouches) */\n    readonly targetTouches: TouchList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchEvent/touches) */\n    readonly touches: TouchList;\n}\n\ndeclare var TouchEvent: {\n    prototype: TouchEvent;\n    new(type: string, eventInitDict?: TouchEventInit): TouchEvent;\n};\n\n/**\n * A list of contact points on a touch surface. For example, if the user has three fingers on the touch surface (such as a screen or trackpad), the corresponding TouchList object would have one Touch object for each finger, for a total of three entries.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchList)\n */\ninterface TouchList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TouchList/item) */\n    item(index: number): Touch | null;\n    [index: number]: Touch;\n}\n\ndeclare var TouchList: {\n    prototype: TouchList;\n    new(): TouchList;\n};\n\n/**\n * The TrackEvent interface, part of the HTML DOM specification, is used for events which represent changes to the set of available tracks on an HTML media element; these events are addtrack and removetrack.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TrackEvent)\n */\ninterface TrackEvent extends Event {\n    /**\n     * Returns the track object (TextTrack, AudioTrack, or VideoTrack) to which the event relates.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TrackEvent/track)\n     */\n    readonly track: TextTrack | null;\n}\n\ndeclare var TrackEvent: {\n    prototype: TrackEvent;\n    new(type: string, eventInitDict?: TrackEventInit): TrackEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStream) */\ninterface TransformStream<I = any, O = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStream/readable) */\n    readonly readable: ReadableStream<O>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStream/writable) */\n    readonly writable: WritableStream<I>;\n}\n\ndeclare var TransformStream: {\n    prototype: TransformStream;\n    new<I = any, O = any>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>): TransformStream<I, O>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController) */\ninterface TransformStreamDefaultController<O = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController/desiredSize) */\n    readonly desiredSize: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController/enqueue) */\n    enqueue(chunk?: O): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController/error) */\n    error(reason?: any): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController/terminate) */\n    terminate(): void;\n}\n\ndeclare var TransformStreamDefaultController: {\n    prototype: TransformStreamDefaultController;\n    new(): TransformStreamDefaultController;\n};\n\n/**\n * Events providing information related to transitions.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransitionEvent)\n */\ninterface TransitionEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransitionEvent/elapsedTime) */\n    readonly elapsedTime: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransitionEvent/propertyName) */\n    readonly propertyName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransitionEvent/pseudoElement) */\n    readonly pseudoElement: string;\n}\n\ndeclare var TransitionEvent: {\n    prototype: TransitionEvent;\n    new(type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent;\n};\n\n/**\n * The nodes of a document subtree and a position within them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker)\n */\ninterface TreeWalker {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/currentNode) */\n    currentNode: Node;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/filter) */\n    readonly filter: NodeFilter | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/root) */\n    readonly root: Node;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/whatToShow) */\n    readonly whatToShow: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/firstChild) */\n    firstChild(): Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/lastChild) */\n    lastChild(): Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/nextNode) */\n    nextNode(): Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/nextSibling) */\n    nextSibling(): Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/parentNode) */\n    parentNode(): Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/previousNode) */\n    previousNode(): Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TreeWalker/previousSibling) */\n    previousSibling(): Node | null;\n}\n\ndeclare var TreeWalker: {\n    prototype: TreeWalker;\n    new(): TreeWalker;\n};\n\n/**\n * Simple user interface events.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/UIEvent)\n */\ninterface UIEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/UIEvent/detail) */\n    readonly detail: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/UIEvent/view) */\n    readonly view: Window | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/UIEvent/which)\n     */\n    readonly which: number;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/UIEvent/initUIEvent)\n     */\n    initUIEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, detailArg?: number): void;\n}\n\ndeclare var UIEvent: {\n    prototype: UIEvent;\n    new(type: string, eventInitDict?: UIEventInit): UIEvent;\n};\n\n/**\n * The URL\\xA0interface represents an object providing static methods used for creating object URLs.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL)\n */\ninterface URL {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/hash) */\n    hash: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/host) */\n    host: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/hostname) */\n    hostname: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/href) */\n    href: string;\n    toString(): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/origin) */\n    readonly origin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/password) */\n    password: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/pathname) */\n    pathname: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/port) */\n    port: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/protocol) */\n    protocol: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/search) */\n    search: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/searchParams) */\n    readonly searchParams: URLSearchParams;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/username) */\n    username: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/toJSON) */\n    toJSON(): string;\n}\n\ndeclare var URL: {\n    prototype: URL;\n    new(url: string | URL, base?: string | URL): URL;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */\n    canParse(url: string | URL, base?: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/createObjectURL_static) */\n    createObjectURL(obj: Blob | MediaSource): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/revokeObjectURL_static) */\n    revokeObjectURL(url: string): void;\n};\n\ntype webkitURL = URL;\ndeclare var webkitURL: typeof URL;\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams) */\ninterface URLSearchParams {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/size) */\n    readonly size: number;\n    /**\n     * Appends a specified key/value pair as a new search parameter.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/append)\n     */\n    append(name: string, value: string): void;\n    /**\n     * Deletes the given search parameter, and its associated value, from the list of all search parameters.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/delete)\n     */\n    delete(name: string, value?: string): void;\n    /**\n     * Returns the first value associated to the given search parameter.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/get)\n     */\n    get(name: string): string | null;\n    /**\n     * Returns all the values association with a given search parameter.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/getAll)\n     */\n    getAll(name: string): string[];\n    /**\n     * Returns a Boolean indicating if such a search parameter exists.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/has)\n     */\n    has(name: string, value?: string): boolean;\n    /**\n     * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/set)\n     */\n    set(name: string, value: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/sort) */\n    sort(): void;\n    /** Returns a string containing a query string suitable for use in a URL. Does not include the question mark. */\n    toString(): string;\n    forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void;\n}\n\ndeclare var URLSearchParams: {\n    prototype: URLSearchParams;\n    new(init?: string[][] | Record<string, string> | string | URLSearchParams): URLSearchParams;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/UserActivation) */\ninterface UserActivation {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/UserActivation/hasBeenActive) */\n    readonly hasBeenActive: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/UserActivation/hasBeenActive) */\n    readonly isActive: boolean;\n}\n\ndeclare var UserActivation: {\n    prototype: UserActivation;\n    new(): UserActivation;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue) */\ninterface VTTCue extends TextTrackCue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/align) */\n    align: AlignSetting;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/line) */\n    line: LineAndPositionSetting;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/lineAlign) */\n    lineAlign: LineAlignSetting;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/position) */\n    position: LineAndPositionSetting;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/positionAlign) */\n    positionAlign: PositionAlignSetting;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/region) */\n    region: VTTRegion | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/size) */\n    size: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/snapToLines) */\n    snapToLines: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/text) */\n    text: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/vertical) */\n    vertical: DirectionSetting;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTCue/getCueAsHTML) */\n    getCueAsHTML(): DocumentFragment;\n    addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VTTCue: {\n    prototype: VTTCue;\n    new(startTime: number, endTime: number, text: string): VTTCue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion) */\ninterface VTTRegion {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/id) */\n    id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/lines) */\n    lines: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/regionAnchorX) */\n    regionAnchorX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/regionAnchorY) */\n    regionAnchorY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/scroll) */\n    scroll: ScrollSetting;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/viewportAnchorX) */\n    viewportAnchorX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/viewportAnchorY) */\n    viewportAnchorY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/width) */\n    width: number;\n}\n\ndeclare var VTTRegion: {\n    prototype: VTTRegion;\n    new(): VTTRegion;\n};\n\n/**\n * The validity states that an element can be in, with respect to constraint validation. Together, they help explain why an element's value fails to validate, if it's not valid.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState)\n */\ninterface ValidityState {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/badInput) */\n    readonly badInput: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/customError) */\n    readonly customError: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/patternMismatch) */\n    readonly patternMismatch: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/rangeOverflow) */\n    readonly rangeOverflow: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/rangeUnderflow) */\n    readonly rangeUnderflow: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/stepMismatch) */\n    readonly stepMismatch: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/tooLong) */\n    readonly tooLong: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/tooShort) */\n    readonly tooShort: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/typeMismatch) */\n    readonly typeMismatch: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/valid) */\n    readonly valid: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/valueMissing) */\n    readonly valueMissing: boolean;\n}\n\ndeclare var ValidityState: {\n    prototype: ValidityState;\n    new(): ValidityState;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace) */\ninterface VideoColorSpace {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/fullRange) */\n    readonly fullRange: boolean | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/matrix) */\n    readonly matrix: VideoMatrixCoefficients | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/primaries) */\n    readonly primaries: VideoColorPrimaries | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/transfer) */\n    readonly transfer: VideoTransferCharacteristics | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/toJSON) */\n    toJSON(): VideoColorSpaceInit;\n}\n\ndeclare var VideoColorSpace: {\n    prototype: VideoColorSpace;\n    new(init?: VideoColorSpaceInit): VideoColorSpace;\n};\n\ninterface VideoDecoderEventMap {\n    \"dequeue\": Event;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder)\n */\ninterface VideoDecoder extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/decodeQueueSize) */\n    readonly decodeQueueSize: number;\n    ondequeue: ((this: VideoDecoder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/state) */\n    readonly state: CodecState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/configure) */\n    configure(config: VideoDecoderConfig): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/decode) */\n    decode(chunk: EncodedVideoChunk): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/flush) */\n    flush(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/reset) */\n    reset(): void;\n    addEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VideoDecoder: {\n    prototype: VideoDecoder;\n    new(init: VideoDecoderInit): VideoDecoder;\n    isConfigSupported(config: VideoDecoderConfig): Promise<VideoDecoderSupport>;\n};\n\ninterface VideoEncoderEventMap {\n    \"dequeue\": Event;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder)\n */\ninterface VideoEncoder extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/encodeQueueSize) */\n    readonly encodeQueueSize: number;\n    ondequeue: ((this: VideoEncoder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/state) */\n    readonly state: CodecState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/configure) */\n    configure(config: VideoEncoderConfig): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/encode) */\n    encode(frame: VideoFrame, options?: VideoEncoderEncodeOptions): void;\n    flush(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/reset) */\n    reset(): void;\n    addEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VideoEncoder: {\n    prototype: VideoEncoder;\n    new(init: VideoEncoderInit): VideoEncoder;\n    isConfigSupported(config: VideoEncoderConfig): Promise<VideoEncoderSupport>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame) */\ninterface VideoFrame {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedHeight) */\n    readonly codedHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedRect) */\n    readonly codedRect: DOMRectReadOnly | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedWidth) */\n    readonly codedWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/colorSpace) */\n    readonly colorSpace: VideoColorSpace;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/displayHeight) */\n    readonly displayHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/displayWidth) */\n    readonly displayWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/duration) */\n    readonly duration: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/format) */\n    readonly format: VideoPixelFormat | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/timestamp) */\n    readonly timestamp: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/visibleRect) */\n    readonly visibleRect: DOMRectReadOnly | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/allocationSize) */\n    allocationSize(options?: VideoFrameCopyToOptions): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/clone) */\n    clone(): VideoFrame;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/close) */\n    close(): void;\n    copyTo(destination: AllowSharedBufferSource, options?: VideoFrameCopyToOptions): Promise<PlaneLayout[]>;\n}\n\ndeclare var VideoFrame: {\n    prototype: VideoFrame;\n    new(image: CanvasImageSource, init?: VideoFrameInit): VideoFrame;\n    new(data: AllowSharedBufferSource, init: VideoFrameBufferInit): VideoFrame;\n};\n\n/**\n * Returned by the HTMLVideoElement.getVideoPlaybackQuality() method and contains metrics that can be used to determine the playback quality of a video.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality)\n */\ninterface VideoPlaybackQuality {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality/corruptedVideoFrames)\n     */\n    readonly corruptedVideoFrames: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality/creationTime) */\n    readonly creationTime: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality/droppedVideoFrames) */\n    readonly droppedVideoFrames: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality/totalVideoFrames) */\n    readonly totalVideoFrames: number;\n}\n\ndeclare var VideoPlaybackQuality: {\n    prototype: VideoPlaybackQuality;\n    new(): VideoPlaybackQuality;\n};\n\ninterface VisualViewportEventMap {\n    \"resize\": Event;\n    \"scroll\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport) */\ninterface VisualViewport extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/height) */\n    readonly height: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/offsetLeft) */\n    readonly offsetLeft: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/offsetTop) */\n    readonly offsetTop: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/resize_event) */\n    onresize: ((this: VisualViewport, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/scroll_event) */\n    onscroll: ((this: VisualViewport, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/pageLeft) */\n    readonly pageLeft: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/pageTop) */\n    readonly pageTop: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/scale) */\n    readonly scale: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VisualViewport/width) */\n    readonly width: number;\n    addEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VisualViewport: {\n    prototype: VisualViewport;\n    new(): VisualViewport;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_color_buffer_float) */\ninterface WEBGL_color_buffer_float {\n    readonly RGBA32F_EXT: 0x8814;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 0x8211;\n    readonly UNSIGNED_NORMALIZED_EXT: 0x8C17;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_astc) */\ninterface WEBGL_compressed_texture_astc {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_astc/getSupportedProfiles) */\n    getSupportedProfiles(): string[];\n    readonly COMPRESSED_RGBA_ASTC_4x4_KHR: 0x93B0;\n    readonly COMPRESSED_RGBA_ASTC_5x4_KHR: 0x93B1;\n    readonly COMPRESSED_RGBA_ASTC_5x5_KHR: 0x93B2;\n    readonly COMPRESSED_RGBA_ASTC_6x5_KHR: 0x93B3;\n    readonly COMPRESSED_RGBA_ASTC_6x6_KHR: 0x93B4;\n    readonly COMPRESSED_RGBA_ASTC_8x5_KHR: 0x93B5;\n    readonly COMPRESSED_RGBA_ASTC_8x6_KHR: 0x93B6;\n    readonly COMPRESSED_RGBA_ASTC_8x8_KHR: 0x93B7;\n    readonly COMPRESSED_RGBA_ASTC_10x5_KHR: 0x93B8;\n    readonly COMPRESSED_RGBA_ASTC_10x6_KHR: 0x93B9;\n    readonly COMPRESSED_RGBA_ASTC_10x8_KHR: 0x93BA;\n    readonly COMPRESSED_RGBA_ASTC_10x10_KHR: 0x93BB;\n    readonly COMPRESSED_RGBA_ASTC_12x10_KHR: 0x93BC;\n    readonly COMPRESSED_RGBA_ASTC_12x12_KHR: 0x93BD;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: 0x93D0;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: 0x93D1;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: 0x93D2;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: 0x93D3;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: 0x93D4;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: 0x93D5;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: 0x93D6;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: 0x93D7;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: 0x93D8;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: 0x93D9;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: 0x93DA;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: 0x93DB;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: 0x93DC;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: 0x93DD;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_etc) */\ninterface WEBGL_compressed_texture_etc {\n    readonly COMPRESSED_R11_EAC: 0x9270;\n    readonly COMPRESSED_SIGNED_R11_EAC: 0x9271;\n    readonly COMPRESSED_RG11_EAC: 0x9272;\n    readonly COMPRESSED_SIGNED_RG11_EAC: 0x9273;\n    readonly COMPRESSED_RGB8_ETC2: 0x9274;\n    readonly COMPRESSED_SRGB8_ETC2: 0x9275;\n    readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9276;\n    readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9277;\n    readonly COMPRESSED_RGBA8_ETC2_EAC: 0x9278;\n    readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9279;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_etc1) */\ninterface WEBGL_compressed_texture_etc1 {\n    readonly COMPRESSED_RGB_ETC1_WEBGL: 0x8D64;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_pvrtc) */\ninterface WEBGL_compressed_texture_pvrtc {\n    readonly COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8C00;\n    readonly COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8C01;\n    readonly COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8C02;\n    readonly COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8C03;\n}\n\n/**\n * The WEBGL_compressed_texture_s3tc extension is part of the WebGL API and exposes four S3TC compressed texture formats.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_s3tc)\n */\ninterface WEBGL_compressed_texture_s3tc {\n    readonly COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83F0;\n    readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83F1;\n    readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83F2;\n    readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83F3;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_s3tc_srgb) */\ninterface WEBGL_compressed_texture_s3tc_srgb {\n    readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: 0x8C4C;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 0x8C4D;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8C4E;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8C4F;\n}\n\n/**\n * The WEBGL_debug_renderer_info extension is part of the WebGL API and exposes two constants with information about the graphics driver for debugging purposes.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_debug_renderer_info)\n */\ninterface WEBGL_debug_renderer_info {\n    readonly UNMASKED_VENDOR_WEBGL: 0x9245;\n    readonly UNMASKED_RENDERER_WEBGL: 0x9246;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_debug_shaders) */\ninterface WEBGL_debug_shaders {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_debug_shaders/getTranslatedShaderSource) */\n    getTranslatedShaderSource(shader: WebGLShader): string;\n}\n\n/**\n * The WEBGL_depth_texture extension is part of the WebGL API and defines 2D depth and depth-stencil textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_depth_texture)\n */\ninterface WEBGL_depth_texture {\n    readonly UNSIGNED_INT_24_8_WEBGL: 0x84FA;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers) */\ninterface WEBGL_draw_buffers {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL) */\n    drawBuffersWEBGL(buffers: GLenum[]): void;\n    readonly COLOR_ATTACHMENT0_WEBGL: 0x8CE0;\n    readonly COLOR_ATTACHMENT1_WEBGL: 0x8CE1;\n    readonly COLOR_ATTACHMENT2_WEBGL: 0x8CE2;\n    readonly COLOR_ATTACHMENT3_WEBGL: 0x8CE3;\n    readonly COLOR_ATTACHMENT4_WEBGL: 0x8CE4;\n    readonly COLOR_ATTACHMENT5_WEBGL: 0x8CE5;\n    readonly COLOR_ATTACHMENT6_WEBGL: 0x8CE6;\n    readonly COLOR_ATTACHMENT7_WEBGL: 0x8CE7;\n    readonly COLOR_ATTACHMENT8_WEBGL: 0x8CE8;\n    readonly COLOR_ATTACHMENT9_WEBGL: 0x8CE9;\n    readonly COLOR_ATTACHMENT10_WEBGL: 0x8CEA;\n    readonly COLOR_ATTACHMENT11_WEBGL: 0x8CEB;\n    readonly COLOR_ATTACHMENT12_WEBGL: 0x8CEC;\n    readonly COLOR_ATTACHMENT13_WEBGL: 0x8CED;\n    readonly COLOR_ATTACHMENT14_WEBGL: 0x8CEE;\n    readonly COLOR_ATTACHMENT15_WEBGL: 0x8CEF;\n    readonly DRAW_BUFFER0_WEBGL: 0x8825;\n    readonly DRAW_BUFFER1_WEBGL: 0x8826;\n    readonly DRAW_BUFFER2_WEBGL: 0x8827;\n    readonly DRAW_BUFFER3_WEBGL: 0x8828;\n    readonly DRAW_BUFFER4_WEBGL: 0x8829;\n    readonly DRAW_BUFFER5_WEBGL: 0x882A;\n    readonly DRAW_BUFFER6_WEBGL: 0x882B;\n    readonly DRAW_BUFFER7_WEBGL: 0x882C;\n    readonly DRAW_BUFFER8_WEBGL: 0x882D;\n    readonly DRAW_BUFFER9_WEBGL: 0x882E;\n    readonly DRAW_BUFFER10_WEBGL: 0x882F;\n    readonly DRAW_BUFFER11_WEBGL: 0x8830;\n    readonly DRAW_BUFFER12_WEBGL: 0x8831;\n    readonly DRAW_BUFFER13_WEBGL: 0x8832;\n    readonly DRAW_BUFFER14_WEBGL: 0x8833;\n    readonly DRAW_BUFFER15_WEBGL: 0x8834;\n    readonly MAX_COLOR_ATTACHMENTS_WEBGL: 0x8CDF;\n    readonly MAX_DRAW_BUFFERS_WEBGL: 0x8824;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_lose_context) */\ninterface WEBGL_lose_context {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_lose_context/loseContext) */\n    loseContext(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_lose_context/restoreContext) */\n    restoreContext(): void;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw) */\ninterface WEBGL_multi_draw {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysInstancedWEBGL) */\n    multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: number, countsList: Int32Array | GLsizei[], countsOffset: number, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysWEBGL) */\n    multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: number, countsList: Int32Array | GLsizei[], countsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsInstancedWEBGL) */\n    multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | GLsizei[], countsOffset: number, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: number, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsWEBGL) */\n    multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | GLsizei[], countsOffset: number, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: number, drawcount: GLsizei): void;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WakeLock)\n */\ninterface WakeLock {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WakeLock/request) */\n    request(type?: WakeLockType): Promise<WakeLockSentinel>;\n}\n\ndeclare var WakeLock: {\n    prototype: WakeLock;\n    new(): WakeLock;\n};\n\ninterface WakeLockSentinelEventMap {\n    \"release\": Event;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WakeLockSentinel)\n */\ninterface WakeLockSentinel extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WakeLockSentinel/release_event) */\n    onrelease: ((this: WakeLockSentinel, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WakeLockSentinel/released) */\n    readonly released: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WakeLockSentinel/type) */\n    readonly type: WakeLockType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WakeLockSentinel/release) */\n    release(): Promise<void>;\n    addEventListener<K extends keyof WakeLockSentinelEventMap>(type: K, listener: (this: WakeLockSentinel, ev: WakeLockSentinelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WakeLockSentinelEventMap>(type: K, listener: (this: WakeLockSentinel, ev: WakeLockSentinelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var WakeLockSentinel: {\n    prototype: WakeLockSentinel;\n    new(): WakeLockSentinel;\n};\n\n/**\n * A WaveShaperNode always has exactly one input and one output.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WaveShaperNode)\n */\ninterface WaveShaperNode extends AudioNode {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WaveShaperNode/curve) */\n    curve: Float32Array | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WaveShaperNode/oversample) */\n    oversample: OverSampleType;\n}\n\ndeclare var WaveShaperNode: {\n    prototype: WaveShaperNode;\n    new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext) */\ninterface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {\n}\n\ndeclare var WebGL2RenderingContext: {\n    prototype: WebGL2RenderingContext;\n    new(): WebGL2RenderingContext;\n    readonly READ_BUFFER: 0x0C02;\n    readonly UNPACK_ROW_LENGTH: 0x0CF2;\n    readonly UNPACK_SKIP_ROWS: 0x0CF3;\n    readonly UNPACK_SKIP_PIXELS: 0x0CF4;\n    readonly PACK_ROW_LENGTH: 0x0D02;\n    readonly PACK_SKIP_ROWS: 0x0D03;\n    readonly PACK_SKIP_PIXELS: 0x0D04;\n    readonly COLOR: 0x1800;\n    readonly DEPTH: 0x1801;\n    readonly STENCIL: 0x1802;\n    readonly RED: 0x1903;\n    readonly RGB8: 0x8051;\n    readonly RGB10_A2: 0x8059;\n    readonly TEXTURE_BINDING_3D: 0x806A;\n    readonly UNPACK_SKIP_IMAGES: 0x806D;\n    readonly UNPACK_IMAGE_HEIGHT: 0x806E;\n    readonly TEXTURE_3D: 0x806F;\n    readonly TEXTURE_WRAP_R: 0x8072;\n    readonly MAX_3D_TEXTURE_SIZE: 0x8073;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 0x8368;\n    readonly MAX_ELEMENTS_VERTICES: 0x80E8;\n    readonly MAX_ELEMENTS_INDICES: 0x80E9;\n    readonly TEXTURE_MIN_LOD: 0x813A;\n    readonly TEXTURE_MAX_LOD: 0x813B;\n    readonly TEXTURE_BASE_LEVEL: 0x813C;\n    readonly TEXTURE_MAX_LEVEL: 0x813D;\n    readonly MIN: 0x8007;\n    readonly MAX: 0x8008;\n    readonly DEPTH_COMPONENT24: 0x81A6;\n    readonly MAX_TEXTURE_LOD_BIAS: 0x84FD;\n    readonly TEXTURE_COMPARE_MODE: 0x884C;\n    readonly TEXTURE_COMPARE_FUNC: 0x884D;\n    readonly CURRENT_QUERY: 0x8865;\n    readonly QUERY_RESULT: 0x8866;\n    readonly QUERY_RESULT_AVAILABLE: 0x8867;\n    readonly STREAM_READ: 0x88E1;\n    readonly STREAM_COPY: 0x88E2;\n    readonly STATIC_READ: 0x88E5;\n    readonly STATIC_COPY: 0x88E6;\n    readonly DYNAMIC_READ: 0x88E9;\n    readonly DYNAMIC_COPY: 0x88EA;\n    readonly MAX_DRAW_BUFFERS: 0x8824;\n    readonly DRAW_BUFFER0: 0x8825;\n    readonly DRAW_BUFFER1: 0x8826;\n    readonly DRAW_BUFFER2: 0x8827;\n    readonly DRAW_BUFFER3: 0x8828;\n    readonly DRAW_BUFFER4: 0x8829;\n    readonly DRAW_BUFFER5: 0x882A;\n    readonly DRAW_BUFFER6: 0x882B;\n    readonly DRAW_BUFFER7: 0x882C;\n    readonly DRAW_BUFFER8: 0x882D;\n    readonly DRAW_BUFFER9: 0x882E;\n    readonly DRAW_BUFFER10: 0x882F;\n    readonly DRAW_BUFFER11: 0x8830;\n    readonly DRAW_BUFFER12: 0x8831;\n    readonly DRAW_BUFFER13: 0x8832;\n    readonly DRAW_BUFFER14: 0x8833;\n    readonly DRAW_BUFFER15: 0x8834;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 0x8B49;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 0x8B4A;\n    readonly SAMPLER_3D: 0x8B5F;\n    readonly SAMPLER_2D_SHADOW: 0x8B62;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 0x8B8B;\n    readonly PIXEL_PACK_BUFFER: 0x88EB;\n    readonly PIXEL_UNPACK_BUFFER: 0x88EC;\n    readonly PIXEL_PACK_BUFFER_BINDING: 0x88ED;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 0x88EF;\n    readonly FLOAT_MAT2x3: 0x8B65;\n    readonly FLOAT_MAT2x4: 0x8B66;\n    readonly FLOAT_MAT3x2: 0x8B67;\n    readonly FLOAT_MAT3x4: 0x8B68;\n    readonly FLOAT_MAT4x2: 0x8B69;\n    readonly FLOAT_MAT4x3: 0x8B6A;\n    readonly SRGB: 0x8C40;\n    readonly SRGB8: 0x8C41;\n    readonly SRGB8_ALPHA8: 0x8C43;\n    readonly COMPARE_REF_TO_TEXTURE: 0x884E;\n    readonly RGBA32F: 0x8814;\n    readonly RGB32F: 0x8815;\n    readonly RGBA16F: 0x881A;\n    readonly RGB16F: 0x881B;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 0x88FD;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 0x88FF;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 0x8904;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 0x8905;\n    readonly MAX_VARYING_COMPONENTS: 0x8B4B;\n    readonly TEXTURE_2D_ARRAY: 0x8C1A;\n    readonly TEXTURE_BINDING_2D_ARRAY: 0x8C1D;\n    readonly R11F_G11F_B10F: 0x8C3A;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 0x8C3B;\n    readonly RGB9_E5: 0x8C3D;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 0x8C3E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 0x8C7F;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 0x8C80;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 0x8C83;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 0x8C84;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 0x8C85;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 0x8C88;\n    readonly RASTERIZER_DISCARD: 0x8C89;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 0x8C8A;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 0x8C8B;\n    readonly INTERLEAVED_ATTRIBS: 0x8C8C;\n    readonly SEPARATE_ATTRIBS: 0x8C8D;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 0x8C8E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 0x8C8F;\n    readonly RGBA32UI: 0x8D70;\n    readonly RGB32UI: 0x8D71;\n    readonly RGBA16UI: 0x8D76;\n    readonly RGB16UI: 0x8D77;\n    readonly RGBA8UI: 0x8D7C;\n    readonly RGB8UI: 0x8D7D;\n    readonly RGBA32I: 0x8D82;\n    readonly RGB32I: 0x8D83;\n    readonly RGBA16I: 0x8D88;\n    readonly RGB16I: 0x8D89;\n    readonly RGBA8I: 0x8D8E;\n    readonly RGB8I: 0x8D8F;\n    readonly RED_INTEGER: 0x8D94;\n    readonly RGB_INTEGER: 0x8D98;\n    readonly RGBA_INTEGER: 0x8D99;\n    readonly SAMPLER_2D_ARRAY: 0x8DC1;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 0x8DC4;\n    readonly SAMPLER_CUBE_SHADOW: 0x8DC5;\n    readonly UNSIGNED_INT_VEC2: 0x8DC6;\n    readonly UNSIGNED_INT_VEC3: 0x8DC7;\n    readonly UNSIGNED_INT_VEC4: 0x8DC8;\n    readonly INT_SAMPLER_2D: 0x8DCA;\n    readonly INT_SAMPLER_3D: 0x8DCB;\n    readonly INT_SAMPLER_CUBE: 0x8DCC;\n    readonly INT_SAMPLER_2D_ARRAY: 0x8DCF;\n    readonly UNSIGNED_INT_SAMPLER_2D: 0x8DD2;\n    readonly UNSIGNED_INT_SAMPLER_3D: 0x8DD3;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 0x8DD4;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 0x8DD7;\n    readonly DEPTH_COMPONENT32F: 0x8CAC;\n    readonly DEPTH32F_STENCIL8: 0x8CAD;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 0x8DAD;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 0x8210;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 0x8211;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 0x8212;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 0x8213;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 0x8214;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 0x8215;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 0x8216;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 0x8217;\n    readonly FRAMEBUFFER_DEFAULT: 0x8218;\n    readonly UNSIGNED_INT_24_8: 0x84FA;\n    readonly DEPTH24_STENCIL8: 0x88F0;\n    readonly UNSIGNED_NORMALIZED: 0x8C17;\n    readonly DRAW_FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly READ_FRAMEBUFFER: 0x8CA8;\n    readonly DRAW_FRAMEBUFFER: 0x8CA9;\n    readonly READ_FRAMEBUFFER_BINDING: 0x8CAA;\n    readonly RENDERBUFFER_SAMPLES: 0x8CAB;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 0x8CD4;\n    readonly MAX_COLOR_ATTACHMENTS: 0x8CDF;\n    readonly COLOR_ATTACHMENT1: 0x8CE1;\n    readonly COLOR_ATTACHMENT2: 0x8CE2;\n    readonly COLOR_ATTACHMENT3: 0x8CE3;\n    readonly COLOR_ATTACHMENT4: 0x8CE4;\n    readonly COLOR_ATTACHMENT5: 0x8CE5;\n    readonly COLOR_ATTACHMENT6: 0x8CE6;\n    readonly COLOR_ATTACHMENT7: 0x8CE7;\n    readonly COLOR_ATTACHMENT8: 0x8CE8;\n    readonly COLOR_ATTACHMENT9: 0x8CE9;\n    readonly COLOR_ATTACHMENT10: 0x8CEA;\n    readonly COLOR_ATTACHMENT11: 0x8CEB;\n    readonly COLOR_ATTACHMENT12: 0x8CEC;\n    readonly COLOR_ATTACHMENT13: 0x8CED;\n    readonly COLOR_ATTACHMENT14: 0x8CEE;\n    readonly COLOR_ATTACHMENT15: 0x8CEF;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 0x8D56;\n    readonly MAX_SAMPLES: 0x8D57;\n    readonly HALF_FLOAT: 0x140B;\n    readonly RG: 0x8227;\n    readonly RG_INTEGER: 0x8228;\n    readonly R8: 0x8229;\n    readonly RG8: 0x822B;\n    readonly R16F: 0x822D;\n    readonly R32F: 0x822E;\n    readonly RG16F: 0x822F;\n    readonly RG32F: 0x8230;\n    readonly R8I: 0x8231;\n    readonly R8UI: 0x8232;\n    readonly R16I: 0x8233;\n    readonly R16UI: 0x8234;\n    readonly R32I: 0x8235;\n    readonly R32UI: 0x8236;\n    readonly RG8I: 0x8237;\n    readonly RG8UI: 0x8238;\n    readonly RG16I: 0x8239;\n    readonly RG16UI: 0x823A;\n    readonly RG32I: 0x823B;\n    readonly RG32UI: 0x823C;\n    readonly VERTEX_ARRAY_BINDING: 0x85B5;\n    readonly R8_SNORM: 0x8F94;\n    readonly RG8_SNORM: 0x8F95;\n    readonly RGB8_SNORM: 0x8F96;\n    readonly RGBA8_SNORM: 0x8F97;\n    readonly SIGNED_NORMALIZED: 0x8F9C;\n    readonly COPY_READ_BUFFER: 0x8F36;\n    readonly COPY_WRITE_BUFFER: 0x8F37;\n    readonly COPY_READ_BUFFER_BINDING: 0x8F36;\n    readonly COPY_WRITE_BUFFER_BINDING: 0x8F37;\n    readonly UNIFORM_BUFFER: 0x8A11;\n    readonly UNIFORM_BUFFER_BINDING: 0x8A28;\n    readonly UNIFORM_BUFFER_START: 0x8A29;\n    readonly UNIFORM_BUFFER_SIZE: 0x8A2A;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 0x8A2B;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 0x8A2D;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 0x8A2E;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 0x8A2F;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 0x8A30;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 0x8A31;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 0x8A33;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 0x8A34;\n    readonly ACTIVE_UNIFORM_BLOCKS: 0x8A36;\n    readonly UNIFORM_TYPE: 0x8A37;\n    readonly UNIFORM_SIZE: 0x8A38;\n    readonly UNIFORM_BLOCK_INDEX: 0x8A3A;\n    readonly UNIFORM_OFFSET: 0x8A3B;\n    readonly UNIFORM_ARRAY_STRIDE: 0x8A3C;\n    readonly UNIFORM_MATRIX_STRIDE: 0x8A3D;\n    readonly UNIFORM_IS_ROW_MAJOR: 0x8A3E;\n    readonly UNIFORM_BLOCK_BINDING: 0x8A3F;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 0x8A40;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 0x8A42;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 0x8A43;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 0x8A44;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 0x8A46;\n    readonly INVALID_INDEX: 0xFFFFFFFF;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 0x9122;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 0x9125;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 0x9111;\n    readonly OBJECT_TYPE: 0x9112;\n    readonly SYNC_CONDITION: 0x9113;\n    readonly SYNC_STATUS: 0x9114;\n    readonly SYNC_FLAGS: 0x9115;\n    readonly SYNC_FENCE: 0x9116;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 0x9117;\n    readonly UNSIGNALED: 0x9118;\n    readonly SIGNALED: 0x9119;\n    readonly ALREADY_SIGNALED: 0x911A;\n    readonly TIMEOUT_EXPIRED: 0x911B;\n    readonly CONDITION_SATISFIED: 0x911C;\n    readonly WAIT_FAILED: 0x911D;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 0x00000001;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 0x88FE;\n    readonly ANY_SAMPLES_PASSED: 0x8C2F;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 0x8D6A;\n    readonly SAMPLER_BINDING: 0x8919;\n    readonly RGB10_A2UI: 0x906F;\n    readonly INT_2_10_10_10_REV: 0x8D9F;\n    readonly TRANSFORM_FEEDBACK: 0x8E22;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 0x8E23;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 0x8E24;\n    readonly TRANSFORM_FEEDBACK_BINDING: 0x8E25;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 0x912F;\n    readonly MAX_ELEMENT_INDEX: 0x8D6B;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 0x82DF;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 0x9247;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGBA8: 0x8058;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n};\n\ninterface WebGL2RenderingContextBase {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/beginQuery) */\n    beginQuery(target: GLenum, query: WebGLQuery): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/beginTransformFeedback) */\n    beginTransformFeedback(primitiveMode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindBufferBase) */\n    bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindBufferRange) */\n    bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindSampler) */\n    bindSampler(unit: GLuint, sampler: WebGLSampler | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindTransformFeedback) */\n    bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindVertexArray) */\n    bindVertexArray(array: WebGLVertexArrayObject | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/blitFramebuffer) */\n    blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clientWaitSync) */\n    clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexImage3D) */\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexSubImage3D) */\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/copyBufferSubData) */\n    copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/copyTexSubImage3D) */\n    copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createQuery) */\n    createQuery(): WebGLQuery | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createSampler) */\n    createSampler(): WebGLSampler | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createTransformFeedback) */\n    createTransformFeedback(): WebGLTransformFeedback | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createVertexArray) */\n    createVertexArray(): WebGLVertexArrayObject | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteQuery) */\n    deleteQuery(query: WebGLQuery | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteSampler) */\n    deleteSampler(sampler: WebGLSampler | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteSync) */\n    deleteSync(sync: WebGLSync | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteTransformFeedback) */\n    deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteVertexArray) */\n    deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawArraysInstanced) */\n    drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawBuffers) */\n    drawBuffers(buffers: GLenum[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawElementsInstanced) */\n    drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawRangeElements) */\n    drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/endQuery) */\n    endQuery(target: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/endTransformFeedback) */\n    endTransformFeedback(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/fenceSync) */\n    fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/framebufferTextureLayer) */\n    framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, layer: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockName) */\n    getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockParameter) */\n    getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniforms) */\n    getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getBufferSubData) */\n    getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: number, length?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getFragDataLocation) */\n    getFragDataLocation(program: WebGLProgram, name: string): GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getIndexedParameter) */\n    getIndexedParameter(target: GLenum, index: GLuint): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getInternalformatParameter) */\n    getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQuery) */\n    getQuery(target: GLenum, pname: GLenum): WebGLQuery | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQueryParameter) */\n    getQueryParameter(query: WebGLQuery, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getSamplerParameter) */\n    getSamplerParameter(sampler: WebGLSampler, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getSyncParameter) */\n    getSyncParameter(sync: WebGLSync, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getTransformFeedbackVarying) */\n    getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformBlockIndex) */\n    getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): GLuint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices) */\n    getUniformIndices(program: WebGLProgram, uniformNames: string[]): GLuint[] | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateFramebuffer) */\n    invalidateFramebuffer(target: GLenum, attachments: GLenum[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateSubFramebuffer) */\n    invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isQuery) */\n    isQuery(query: WebGLQuery | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isSampler) */\n    isSampler(sampler: WebGLSampler | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isSync) */\n    isSync(sync: WebGLSync | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isTransformFeedback) */\n    isTransformFeedback(tf: WebGLTransformFeedback | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isVertexArray) */\n    isVertexArray(vertexArray: WebGLVertexArrayObject | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/pauseTransformFeedback) */\n    pauseTransformFeedback(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/readBuffer) */\n    readBuffer(src: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/renderbufferStorageMultisample) */\n    renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/resumeTransformFeedback) */\n    resumeTransformFeedback(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/samplerParameter) */\n    samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/samplerParameter) */\n    samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texImage3D) */\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView | null): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texStorage2D) */\n    texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texStorage3D) */\n    texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texSubImage3D) */\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView | null, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/transformFeedbackVaryings) */\n    transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform1ui(location: WebGLUniformLocation | null, v0: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformBlockBinding) */\n    uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribDivisor) */\n    vertexAttribDivisor(index: GLuint, divisor: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4iv(index: GLuint, values: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4uiv(index: GLuint, values: Uint32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribIPointer) */\n    vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/waitSync) */\n    waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void;\n    readonly READ_BUFFER: 0x0C02;\n    readonly UNPACK_ROW_LENGTH: 0x0CF2;\n    readonly UNPACK_SKIP_ROWS: 0x0CF3;\n    readonly UNPACK_SKIP_PIXELS: 0x0CF4;\n    readonly PACK_ROW_LENGTH: 0x0D02;\n    readonly PACK_SKIP_ROWS: 0x0D03;\n    readonly PACK_SKIP_PIXELS: 0x0D04;\n    readonly COLOR: 0x1800;\n    readonly DEPTH: 0x1801;\n    readonly STENCIL: 0x1802;\n    readonly RED: 0x1903;\n    readonly RGB8: 0x8051;\n    readonly RGB10_A2: 0x8059;\n    readonly TEXTURE_BINDING_3D: 0x806A;\n    readonly UNPACK_SKIP_IMAGES: 0x806D;\n    readonly UNPACK_IMAGE_HEIGHT: 0x806E;\n    readonly TEXTURE_3D: 0x806F;\n    readonly TEXTURE_WRAP_R: 0x8072;\n    readonly MAX_3D_TEXTURE_SIZE: 0x8073;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 0x8368;\n    readonly MAX_ELEMENTS_VERTICES: 0x80E8;\n    readonly MAX_ELEMENTS_INDICES: 0x80E9;\n    readonly TEXTURE_MIN_LOD: 0x813A;\n    readonly TEXTURE_MAX_LOD: 0x813B;\n    readonly TEXTURE_BASE_LEVEL: 0x813C;\n    readonly TEXTURE_MAX_LEVEL: 0x813D;\n    readonly MIN: 0x8007;\n    readonly MAX: 0x8008;\n    readonly DEPTH_COMPONENT24: 0x81A6;\n    readonly MAX_TEXTURE_LOD_BIAS: 0x84FD;\n    readonly TEXTURE_COMPARE_MODE: 0x884C;\n    readonly TEXTURE_COMPARE_FUNC: 0x884D;\n    readonly CURRENT_QUERY: 0x8865;\n    readonly QUERY_RESULT: 0x8866;\n    readonly QUERY_RESULT_AVAILABLE: 0x8867;\n    readonly STREAM_READ: 0x88E1;\n    readonly STREAM_COPY: 0x88E2;\n    readonly STATIC_READ: 0x88E5;\n    readonly STATIC_COPY: 0x88E6;\n    readonly DYNAMIC_READ: 0x88E9;\n    readonly DYNAMIC_COPY: 0x88EA;\n    readonly MAX_DRAW_BUFFERS: 0x8824;\n    readonly DRAW_BUFFER0: 0x8825;\n    readonly DRAW_BUFFER1: 0x8826;\n    readonly DRAW_BUFFER2: 0x8827;\n    readonly DRAW_BUFFER3: 0x8828;\n    readonly DRAW_BUFFER4: 0x8829;\n    readonly DRAW_BUFFER5: 0x882A;\n    readonly DRAW_BUFFER6: 0x882B;\n    readonly DRAW_BUFFER7: 0x882C;\n    readonly DRAW_BUFFER8: 0x882D;\n    readonly DRAW_BUFFER9: 0x882E;\n    readonly DRAW_BUFFER10: 0x882F;\n    readonly DRAW_BUFFER11: 0x8830;\n    readonly DRAW_BUFFER12: 0x8831;\n    readonly DRAW_BUFFER13: 0x8832;\n    readonly DRAW_BUFFER14: 0x8833;\n    readonly DRAW_BUFFER15: 0x8834;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 0x8B49;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 0x8B4A;\n    readonly SAMPLER_3D: 0x8B5F;\n    readonly SAMPLER_2D_SHADOW: 0x8B62;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 0x8B8B;\n    readonly PIXEL_PACK_BUFFER: 0x88EB;\n    readonly PIXEL_UNPACK_BUFFER: 0x88EC;\n    readonly PIXEL_PACK_BUFFER_BINDING: 0x88ED;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 0x88EF;\n    readonly FLOAT_MAT2x3: 0x8B65;\n    readonly FLOAT_MAT2x4: 0x8B66;\n    readonly FLOAT_MAT3x2: 0x8B67;\n    readonly FLOAT_MAT3x4: 0x8B68;\n    readonly FLOAT_MAT4x2: 0x8B69;\n    readonly FLOAT_MAT4x3: 0x8B6A;\n    readonly SRGB: 0x8C40;\n    readonly SRGB8: 0x8C41;\n    readonly SRGB8_ALPHA8: 0x8C43;\n    readonly COMPARE_REF_TO_TEXTURE: 0x884E;\n    readonly RGBA32F: 0x8814;\n    readonly RGB32F: 0x8815;\n    readonly RGBA16F: 0x881A;\n    readonly RGB16F: 0x881B;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 0x88FD;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 0x88FF;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 0x8904;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 0x8905;\n    readonly MAX_VARYING_COMPONENTS: 0x8B4B;\n    readonly TEXTURE_2D_ARRAY: 0x8C1A;\n    readonly TEXTURE_BINDING_2D_ARRAY: 0x8C1D;\n    readonly R11F_G11F_B10F: 0x8C3A;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 0x8C3B;\n    readonly RGB9_E5: 0x8C3D;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 0x8C3E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 0x8C7F;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 0x8C80;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 0x8C83;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 0x8C84;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 0x8C85;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 0x8C88;\n    readonly RASTERIZER_DISCARD: 0x8C89;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 0x8C8A;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 0x8C8B;\n    readonly INTERLEAVED_ATTRIBS: 0x8C8C;\n    readonly SEPARATE_ATTRIBS: 0x8C8D;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 0x8C8E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 0x8C8F;\n    readonly RGBA32UI: 0x8D70;\n    readonly RGB32UI: 0x8D71;\n    readonly RGBA16UI: 0x8D76;\n    readonly RGB16UI: 0x8D77;\n    readonly RGBA8UI: 0x8D7C;\n    readonly RGB8UI: 0x8D7D;\n    readonly RGBA32I: 0x8D82;\n    readonly RGB32I: 0x8D83;\n    readonly RGBA16I: 0x8D88;\n    readonly RGB16I: 0x8D89;\n    readonly RGBA8I: 0x8D8E;\n    readonly RGB8I: 0x8D8F;\n    readonly RED_INTEGER: 0x8D94;\n    readonly RGB_INTEGER: 0x8D98;\n    readonly RGBA_INTEGER: 0x8D99;\n    readonly SAMPLER_2D_ARRAY: 0x8DC1;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 0x8DC4;\n    readonly SAMPLER_CUBE_SHADOW: 0x8DC5;\n    readonly UNSIGNED_INT_VEC2: 0x8DC6;\n    readonly UNSIGNED_INT_VEC3: 0x8DC7;\n    readonly UNSIGNED_INT_VEC4: 0x8DC8;\n    readonly INT_SAMPLER_2D: 0x8DCA;\n    readonly INT_SAMPLER_3D: 0x8DCB;\n    readonly INT_SAMPLER_CUBE: 0x8DCC;\n    readonly INT_SAMPLER_2D_ARRAY: 0x8DCF;\n    readonly UNSIGNED_INT_SAMPLER_2D: 0x8DD2;\n    readonly UNSIGNED_INT_SAMPLER_3D: 0x8DD3;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 0x8DD4;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 0x8DD7;\n    readonly DEPTH_COMPONENT32F: 0x8CAC;\n    readonly DEPTH32F_STENCIL8: 0x8CAD;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 0x8DAD;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 0x8210;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 0x8211;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 0x8212;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 0x8213;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 0x8214;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 0x8215;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 0x8216;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 0x8217;\n    readonly FRAMEBUFFER_DEFAULT: 0x8218;\n    readonly UNSIGNED_INT_24_8: 0x84FA;\n    readonly DEPTH24_STENCIL8: 0x88F0;\n    readonly UNSIGNED_NORMALIZED: 0x8C17;\n    readonly DRAW_FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly READ_FRAMEBUFFER: 0x8CA8;\n    readonly DRAW_FRAMEBUFFER: 0x8CA9;\n    readonly READ_FRAMEBUFFER_BINDING: 0x8CAA;\n    readonly RENDERBUFFER_SAMPLES: 0x8CAB;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 0x8CD4;\n    readonly MAX_COLOR_ATTACHMENTS: 0x8CDF;\n    readonly COLOR_ATTACHMENT1: 0x8CE1;\n    readonly COLOR_ATTACHMENT2: 0x8CE2;\n    readonly COLOR_ATTACHMENT3: 0x8CE3;\n    readonly COLOR_ATTACHMENT4: 0x8CE4;\n    readonly COLOR_ATTACHMENT5: 0x8CE5;\n    readonly COLOR_ATTACHMENT6: 0x8CE6;\n    readonly COLOR_ATTACHMENT7: 0x8CE7;\n    readonly COLOR_ATTACHMENT8: 0x8CE8;\n    readonly COLOR_ATTACHMENT9: 0x8CE9;\n    readonly COLOR_ATTACHMENT10: 0x8CEA;\n    readonly COLOR_ATTACHMENT11: 0x8CEB;\n    readonly COLOR_ATTACHMENT12: 0x8CEC;\n    readonly COLOR_ATTACHMENT13: 0x8CED;\n    readonly COLOR_ATTACHMENT14: 0x8CEE;\n    readonly COLOR_ATTACHMENT15: 0x8CEF;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 0x8D56;\n    readonly MAX_SAMPLES: 0x8D57;\n    readonly HALF_FLOAT: 0x140B;\n    readonly RG: 0x8227;\n    readonly RG_INTEGER: 0x8228;\n    readonly R8: 0x8229;\n    readonly RG8: 0x822B;\n    readonly R16F: 0x822D;\n    readonly R32F: 0x822E;\n    readonly RG16F: 0x822F;\n    readonly RG32F: 0x8230;\n    readonly R8I: 0x8231;\n    readonly R8UI: 0x8232;\n    readonly R16I: 0x8233;\n    readonly R16UI: 0x8234;\n    readonly R32I: 0x8235;\n    readonly R32UI: 0x8236;\n    readonly RG8I: 0x8237;\n    readonly RG8UI: 0x8238;\n    readonly RG16I: 0x8239;\n    readonly RG16UI: 0x823A;\n    readonly RG32I: 0x823B;\n    readonly RG32UI: 0x823C;\n    readonly VERTEX_ARRAY_BINDING: 0x85B5;\n    readonly R8_SNORM: 0x8F94;\n    readonly RG8_SNORM: 0x8F95;\n    readonly RGB8_SNORM: 0x8F96;\n    readonly RGBA8_SNORM: 0x8F97;\n    readonly SIGNED_NORMALIZED: 0x8F9C;\n    readonly COPY_READ_BUFFER: 0x8F36;\n    readonly COPY_WRITE_BUFFER: 0x8F37;\n    readonly COPY_READ_BUFFER_BINDING: 0x8F36;\n    readonly COPY_WRITE_BUFFER_BINDING: 0x8F37;\n    readonly UNIFORM_BUFFER: 0x8A11;\n    readonly UNIFORM_BUFFER_BINDING: 0x8A28;\n    readonly UNIFORM_BUFFER_START: 0x8A29;\n    readonly UNIFORM_BUFFER_SIZE: 0x8A2A;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 0x8A2B;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 0x8A2D;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 0x8A2E;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 0x8A2F;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 0x8A30;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 0x8A31;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 0x8A33;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 0x8A34;\n    readonly ACTIVE_UNIFORM_BLOCKS: 0x8A36;\n    readonly UNIFORM_TYPE: 0x8A37;\n    readonly UNIFORM_SIZE: 0x8A38;\n    readonly UNIFORM_BLOCK_INDEX: 0x8A3A;\n    readonly UNIFORM_OFFSET: 0x8A3B;\n    readonly UNIFORM_ARRAY_STRIDE: 0x8A3C;\n    readonly UNIFORM_MATRIX_STRIDE: 0x8A3D;\n    readonly UNIFORM_IS_ROW_MAJOR: 0x8A3E;\n    readonly UNIFORM_BLOCK_BINDING: 0x8A3F;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 0x8A40;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 0x8A42;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 0x8A43;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 0x8A44;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 0x8A46;\n    readonly INVALID_INDEX: 0xFFFFFFFF;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 0x9122;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 0x9125;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 0x9111;\n    readonly OBJECT_TYPE: 0x9112;\n    readonly SYNC_CONDITION: 0x9113;\n    readonly SYNC_STATUS: 0x9114;\n    readonly SYNC_FLAGS: 0x9115;\n    readonly SYNC_FENCE: 0x9116;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 0x9117;\n    readonly UNSIGNALED: 0x9118;\n    readonly SIGNALED: 0x9119;\n    readonly ALREADY_SIGNALED: 0x911A;\n    readonly TIMEOUT_EXPIRED: 0x911B;\n    readonly CONDITION_SATISFIED: 0x911C;\n    readonly WAIT_FAILED: 0x911D;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 0x00000001;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 0x88FE;\n    readonly ANY_SAMPLES_PASSED: 0x8C2F;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 0x8D6A;\n    readonly SAMPLER_BINDING: 0x8919;\n    readonly RGB10_A2UI: 0x906F;\n    readonly INT_2_10_10_10_REV: 0x8D9F;\n    readonly TRANSFORM_FEEDBACK: 0x8E22;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 0x8E23;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 0x8E24;\n    readonly TRANSFORM_FEEDBACK_BINDING: 0x8E25;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 0x912F;\n    readonly MAX_ELEMENT_INDEX: 0x8D6B;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 0x82DF;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 0x9247;\n}\n\ninterface WebGL2RenderingContextOverloads {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bufferData) */\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: AllowSharedBufferSource | null, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: number, length?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bufferSubData) */\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: AllowSharedBufferSource): void;\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: number, length?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexImage2D) */\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexSubImage2D) */\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/readPixels) */\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView | null): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texImage2D) */\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texSubImage2D) */\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n}\n\n/**\n * Part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getActiveAttrib() and WebGLRenderingContext.getActiveUniform() methods.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLActiveInfo)\n */\ninterface WebGLActiveInfo {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLActiveInfo/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLActiveInfo/size) */\n    readonly size: GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLActiveInfo/type) */\n    readonly type: GLenum;\n}\n\ndeclare var WebGLActiveInfo: {\n    prototype: WebGLActiveInfo;\n    new(): WebGLActiveInfo;\n};\n\n/**\n * Part of the WebGL API and represents an opaque buffer object storing data such as vertices or colors.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLBuffer)\n */\ninterface WebGLBuffer {\n}\n\ndeclare var WebGLBuffer: {\n    prototype: WebGLBuffer;\n    new(): WebGLBuffer;\n};\n\n/**\n * The WebContextEvent interface is part of the WebGL API and is an interface for an event that is generated in response to a status change to the WebGL rendering context.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLContextEvent)\n */\ninterface WebGLContextEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLContextEvent/statusMessage) */\n    readonly statusMessage: string;\n}\n\ndeclare var WebGLContextEvent: {\n    prototype: WebGLContextEvent;\n    new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent;\n};\n\n/**\n * Part of the WebGL API and represents a collection of buffers that serve as a rendering destination.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLFramebuffer)\n */\ninterface WebGLFramebuffer {\n}\n\ndeclare var WebGLFramebuffer: {\n    prototype: WebGLFramebuffer;\n    new(): WebGLFramebuffer;\n};\n\n/**\n * The WebGLProgram is part of the WebGL API and is a combination of two compiled WebGLShaders consisting of a vertex shader and a fragment shader (both written in GLSL).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLProgram)\n */\ninterface WebGLProgram {\n}\n\ndeclare var WebGLProgram: {\n    prototype: WebGLProgram;\n    new(): WebGLProgram;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLQuery) */\ninterface WebGLQuery {\n}\n\ndeclare var WebGLQuery: {\n    prototype: WebGLQuery;\n    new(): WebGLQuery;\n};\n\n/**\n * Part of the WebGL API and represents a buffer that can contain an image, or can be source or target of an rendering operation.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderbuffer)\n */\ninterface WebGLRenderbuffer {\n}\n\ndeclare var WebGLRenderbuffer: {\n    prototype: WebGLRenderbuffer;\n    new(): WebGLRenderbuffer;\n};\n\n/**\n * Provides an interface to the OpenGL ES 2.0 graphics rendering context for the drawing surface of an HTML <canvas> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext)\n */\ninterface WebGLRenderingContext extends WebGLRenderingContextBase, WebGLRenderingContextOverloads {\n}\n\ndeclare var WebGLRenderingContext: {\n    prototype: WebGLRenderingContext;\n    new(): WebGLRenderingContext;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGBA8: 0x8058;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n};\n\ninterface WebGLRenderingContextBase {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/canvas) */\n    readonly canvas: HTMLCanvasElement | OffscreenCanvas;\n    drawingBufferColorSpace: PredefinedColorSpace;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawingBufferHeight) */\n    readonly drawingBufferHeight: GLsizei;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawingBufferWidth) */\n    readonly drawingBufferWidth: GLsizei;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/activeTexture) */\n    activeTexture(texture: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/attachShader) */\n    attachShader(program: WebGLProgram, shader: WebGLShader): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindAttribLocation) */\n    bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindBuffer) */\n    bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindFramebuffer) */\n    bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindRenderbuffer) */\n    bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindTexture) */\n    bindTexture(target: GLenum, texture: WebGLTexture | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendColor) */\n    blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendEquation) */\n    blendEquation(mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendEquationSeparate) */\n    blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendFunc) */\n    blendFunc(sfactor: GLenum, dfactor: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendFuncSeparate) */\n    blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/checkFramebufferStatus) */\n    checkFramebufferStatus(target: GLenum): GLenum;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/clear) */\n    clear(mask: GLbitfield): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/clearColor) */\n    clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/clearDepth) */\n    clearDepth(depth: GLclampf): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/clearStencil) */\n    clearStencil(s: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/colorMask) */\n    colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compileShader) */\n    compileShader(shader: WebGLShader): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/copyTexImage2D) */\n    copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/copyTexSubImage2D) */\n    copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createBuffer) */\n    createBuffer(): WebGLBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createFramebuffer) */\n    createFramebuffer(): WebGLFramebuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createProgram) */\n    createProgram(): WebGLProgram | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createRenderbuffer) */\n    createRenderbuffer(): WebGLRenderbuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createShader) */\n    createShader(type: GLenum): WebGLShader | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createTexture) */\n    createTexture(): WebGLTexture | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/cullFace) */\n    cullFace(mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteBuffer) */\n    deleteBuffer(buffer: WebGLBuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteFramebuffer) */\n    deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteProgram) */\n    deleteProgram(program: WebGLProgram | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteRenderbuffer) */\n    deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteShader) */\n    deleteShader(shader: WebGLShader | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteTexture) */\n    deleteTexture(texture: WebGLTexture | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/depthFunc) */\n    depthFunc(func: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/depthMask) */\n    depthMask(flag: GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/depthRange) */\n    depthRange(zNear: GLclampf, zFar: GLclampf): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/detachShader) */\n    detachShader(program: WebGLProgram, shader: WebGLShader): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/disable) */\n    disable(cap: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/disableVertexAttribArray) */\n    disableVertexAttribArray(index: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawArrays) */\n    drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawElements) */\n    drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/enable) */\n    enable(cap: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/enableVertexAttribArray) */\n    enableVertexAttribArray(index: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/finish) */\n    finish(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/flush) */\n    flush(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/framebufferRenderbuffer) */\n    framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/framebufferTexture2D) */\n    framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/frontFace) */\n    frontFace(mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/generateMipmap) */\n    generateMipmap(target: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getActiveAttrib) */\n    getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getActiveUniform) */\n    getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getAttachedShaders) */\n    getAttachedShaders(program: WebGLProgram): WebGLShader[] | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getAttribLocation) */\n    getAttribLocation(program: WebGLProgram, name: string): GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getBufferParameter) */\n    getBufferParameter(target: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getContextAttributes) */\n    getContextAttributes(): WebGLContextAttributes | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getError) */\n    getError(): GLenum;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getExtension) */\n    getExtension(extensionName: \"ANGLE_instanced_arrays\"): ANGLE_instanced_arrays | null;\n    getExtension(extensionName: \"EXT_blend_minmax\"): EXT_blend_minmax | null;\n    getExtension(extensionName: \"EXT_color_buffer_float\"): EXT_color_buffer_float | null;\n    getExtension(extensionName: \"EXT_color_buffer_half_float\"): EXT_color_buffer_half_float | null;\n    getExtension(extensionName: \"EXT_float_blend\"): EXT_float_blend | null;\n    getExtension(extensionName: \"EXT_frag_depth\"): EXT_frag_depth | null;\n    getExtension(extensionName: \"EXT_sRGB\"): EXT_sRGB | null;\n    getExtension(extensionName: \"EXT_shader_texture_lod\"): EXT_shader_texture_lod | null;\n    getExtension(extensionName: \"EXT_texture_compression_bptc\"): EXT_texture_compression_bptc | null;\n    getExtension(extensionName: \"EXT_texture_compression_rgtc\"): EXT_texture_compression_rgtc | null;\n    getExtension(extensionName: \"EXT_texture_filter_anisotropic\"): EXT_texture_filter_anisotropic | null;\n    getExtension(extensionName: \"KHR_parallel_shader_compile\"): KHR_parallel_shader_compile | null;\n    getExtension(extensionName: \"OES_element_index_uint\"): OES_element_index_uint | null;\n    getExtension(extensionName: \"OES_fbo_render_mipmap\"): OES_fbo_render_mipmap | null;\n    getExtension(extensionName: \"OES_standard_derivatives\"): OES_standard_derivatives | null;\n    getExtension(extensionName: \"OES_texture_float\"): OES_texture_float | null;\n    getExtension(extensionName: \"OES_texture_float_linear\"): OES_texture_float_linear | null;\n    getExtension(extensionName: \"OES_texture_half_float\"): OES_texture_half_float | null;\n    getExtension(extensionName: \"OES_texture_half_float_linear\"): OES_texture_half_float_linear | null;\n    getExtension(extensionName: \"OES_vertex_array_object\"): OES_vertex_array_object | null;\n    getExtension(extensionName: \"OVR_multiview2\"): OVR_multiview2 | null;\n    getExtension(extensionName: \"WEBGL_color_buffer_float\"): WEBGL_color_buffer_float | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_astc\"): WEBGL_compressed_texture_astc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_etc\"): WEBGL_compressed_texture_etc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_etc1\"): WEBGL_compressed_texture_etc1 | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_pvrtc\"): WEBGL_compressed_texture_pvrtc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_s3tc\"): WEBGL_compressed_texture_s3tc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_s3tc_srgb\"): WEBGL_compressed_texture_s3tc_srgb | null;\n    getExtension(extensionName: \"WEBGL_debug_renderer_info\"): WEBGL_debug_renderer_info | null;\n    getExtension(extensionName: \"WEBGL_debug_shaders\"): WEBGL_debug_shaders | null;\n    getExtension(extensionName: \"WEBGL_depth_texture\"): WEBGL_depth_texture | null;\n    getExtension(extensionName: \"WEBGL_draw_buffers\"): WEBGL_draw_buffers | null;\n    getExtension(extensionName: \"WEBGL_lose_context\"): WEBGL_lose_context | null;\n    getExtension(extensionName: \"WEBGL_multi_draw\"): WEBGL_multi_draw | null;\n    getExtension(name: string): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getFramebufferAttachmentParameter) */\n    getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getParameter) */\n    getParameter(pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getProgramInfoLog) */\n    getProgramInfoLog(program: WebGLProgram): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getProgramParameter) */\n    getProgramParameter(program: WebGLProgram, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getRenderbufferParameter) */\n    getRenderbufferParameter(target: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getShaderInfoLog) */\n    getShaderInfoLog(shader: WebGLShader): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getShaderParameter) */\n    getShaderParameter(shader: WebGLShader, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getShaderPrecisionFormat) */\n    getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getShaderSource) */\n    getShaderSource(shader: WebGLShader): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getSupportedExtensions) */\n    getSupportedExtensions(): string[] | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getTexParameter) */\n    getTexParameter(target: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getUniform) */\n    getUniform(program: WebGLProgram, location: WebGLUniformLocation): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getUniformLocation) */\n    getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getVertexAttrib) */\n    getVertexAttrib(index: GLuint, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getVertexAttribOffset) */\n    getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/hint) */\n    hint(target: GLenum, mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isBuffer) */\n    isBuffer(buffer: WebGLBuffer | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isContextLost) */\n    isContextLost(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isEnabled) */\n    isEnabled(cap: GLenum): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isFramebuffer) */\n    isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isProgram) */\n    isProgram(program: WebGLProgram | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isRenderbuffer) */\n    isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isShader) */\n    isShader(shader: WebGLShader | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isTexture) */\n    isTexture(texture: WebGLTexture | null): GLboolean;\n    lineWidth(width: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/linkProgram) */\n    linkProgram(program: WebGLProgram): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/pixelStorei) */\n    pixelStorei(pname: GLenum, param: GLint | GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/polygonOffset) */\n    polygonOffset(factor: GLfloat, units: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/renderbufferStorage) */\n    renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/sampleCoverage) */\n    sampleCoverage(value: GLclampf, invert: GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/scissor) */\n    scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/shaderSource) */\n    shaderSource(shader: WebGLShader, source: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilFunc) */\n    stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilFuncSeparate) */\n    stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilMask) */\n    stencilMask(mask: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilMaskSeparate) */\n    stencilMaskSeparate(face: GLenum, mask: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilOp) */\n    stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilOpSeparate) */\n    stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texParameter) */\n    texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texParameter) */\n    texParameteri(target: GLenum, pname: GLenum, param: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1i(location: WebGLUniformLocation | null, x: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/useProgram) */\n    useProgram(program: WebGLProgram | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/validateProgram) */\n    validateProgram(program: WebGLProgram): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib1f(index: GLuint, x: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib1fv(index: GLuint, values: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib2fv(index: GLuint, values: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib3fv(index: GLuint, values: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib4fv(index: GLuint, values: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttribPointer) */\n    vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/viewport) */\n    viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGBA8: 0x8058;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n}\n\ninterface WebGLRenderingContextOverloads {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bufferData) */\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, data: AllowSharedBufferSource | null, usage: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bufferSubData) */\n    bufferSubData(target: GLenum, offset: GLintptr, data: AllowSharedBufferSource): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexImage2D) */\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexSubImage2D) */\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/readPixels) */\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texImage2D) */\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texSubImage2D) */\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLSampler) */\ninterface WebGLSampler {\n}\n\ndeclare var WebGLSampler: {\n    prototype: WebGLSampler;\n    new(): WebGLSampler;\n};\n\n/**\n * The WebGLShader is part of the WebGL API and can either be a vertex or a fragment shader. A WebGLProgram requires both types of shaders.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShader)\n */\ninterface WebGLShader {\n}\n\ndeclare var WebGLShader: {\n    prototype: WebGLShader;\n    new(): WebGLShader;\n};\n\n/**\n * Part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getShaderPrecisionFormat() method.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShaderPrecisionFormat)\n */\ninterface WebGLShaderPrecisionFormat {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShaderPrecisionFormat/precision) */\n    readonly precision: GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShaderPrecisionFormat/rangeMax) */\n    readonly rangeMax: GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShaderPrecisionFormat/rangeMin) */\n    readonly rangeMin: GLint;\n}\n\ndeclare var WebGLShaderPrecisionFormat: {\n    prototype: WebGLShaderPrecisionFormat;\n    new(): WebGLShaderPrecisionFormat;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLSync) */\ninterface WebGLSync {\n}\n\ndeclare var WebGLSync: {\n    prototype: WebGLSync;\n    new(): WebGLSync;\n};\n\n/**\n * Part of the WebGL API and represents an opaque texture object providing storage and state for texturing operations.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLTexture)\n */\ninterface WebGLTexture {\n}\n\ndeclare var WebGLTexture: {\n    prototype: WebGLTexture;\n    new(): WebGLTexture;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLTransformFeedback) */\ninterface WebGLTransformFeedback {\n}\n\ndeclare var WebGLTransformFeedback: {\n    prototype: WebGLTransformFeedback;\n    new(): WebGLTransformFeedback;\n};\n\n/**\n * Part of the WebGL API and represents the location of a uniform variable in a shader program.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLUniformLocation)\n */\ninterface WebGLUniformLocation {\n}\n\ndeclare var WebGLUniformLocation: {\n    prototype: WebGLUniformLocation;\n    new(): WebGLUniformLocation;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLVertexArrayObject) */\ninterface WebGLVertexArrayObject {\n}\n\ndeclare var WebGLVertexArrayObject: {\n    prototype: WebGLVertexArrayObject;\n    new(): WebGLVertexArrayObject;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLVertexArrayObjectOES) */\ninterface WebGLVertexArrayObjectOES {\n}\n\ninterface WebSocketEventMap {\n    \"close\": CloseEvent;\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\n\n/**\n * Provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket)\n */\ninterface WebSocket extends EventTarget {\n    /**\n     * Returns a string that indicates how binary data from the WebSocket object is exposed to scripts:\n     *\n     * Can be set, to change how binary data is returned. The default is \"blob\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/binaryType)\n     */\n    binaryType: BinaryType;\n    /**\n     * Returns the number of bytes of application data (UTF-8 text and binary data) that have been queued using send() but not yet been transmitted to the network.\n     *\n     * If the WebSocket connection is closed, this attribute's value will only increase with each call to the send() method. (The number does not reset to zero once the connection closes.)\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/bufferedAmount)\n     */\n    readonly bufferedAmount: number;\n    /**\n     * Returns the extensions selected by the server, if any.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/extensions)\n     */\n    readonly extensions: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/close_event) */\n    onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/error_event) */\n    onerror: ((this: WebSocket, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/message_event) */\n    onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/open_event) */\n    onopen: ((this: WebSocket, ev: Event) => any) | null;\n    /**\n     * Returns the subprotocol selected by the server, if any. It can be used in conjunction with the array form of the constructor's second argument to perform subprotocol negotiation.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/protocol)\n     */\n    readonly protocol: string;\n    /**\n     * Returns the state of the WebSocket object's connection. It can have the values described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/readyState)\n     */\n    readonly readyState: number;\n    /**\n     * Returns the URL that was used to establish the WebSocket connection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/url)\n     */\n    readonly url: string;\n    /**\n     * Closes the WebSocket connection, optionally using code as the the WebSocket connection close code and reason as the the WebSocket connection close reason.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/close)\n     */\n    close(code?: number, reason?: string): void;\n    /**\n     * Transmits data using the WebSocket connection. data can be a string, a Blob, an ArrayBuffer, or an ArrayBufferView.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/send)\n     */\n    send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n    addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var WebSocket: {\n    prototype: WebSocket;\n    new(url: string | URL, protocols?: string | string[]): WebSocket;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport)\n */\ninterface WebTransport {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/closed) */\n    readonly closed: Promise<WebTransportCloseInfo>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/datagrams) */\n    readonly datagrams: WebTransportDatagramDuplexStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/incomingBidirectionalStreams) */\n    readonly incomingBidirectionalStreams: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/incomingUnidirectionalStreams) */\n    readonly incomingUnidirectionalStreams: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/ready) */\n    readonly ready: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/close) */\n    close(closeInfo?: WebTransportCloseInfo): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/createBidirectionalStream) */\n    createBidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WebTransportBidirectionalStream>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/createUnidirectionalStream) */\n    createUnidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WritableStream>;\n}\n\ndeclare var WebTransport: {\n    prototype: WebTransport;\n    new(url: string | URL, options?: WebTransportOptions): WebTransport;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportBidirectionalStream)\n */\ninterface WebTransportBidirectionalStream {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportBidirectionalStream/readable) */\n    readonly readable: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportBidirectionalStream/writable) */\n    readonly writable: WritableStream;\n}\n\ndeclare var WebTransportBidirectionalStream: {\n    prototype: WebTransportBidirectionalStream;\n    new(): WebTransportBidirectionalStream;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream)\n */\ninterface WebTransportDatagramDuplexStream {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/incomingHighWaterMark) */\n    incomingHighWaterMark: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/incomingMaxAge) */\n    incomingMaxAge: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/maxDatagramSize) */\n    readonly maxDatagramSize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/outgoingHighWaterMark) */\n    outgoingHighWaterMark: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/outgoingMaxAge) */\n    outgoingMaxAge: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/readable) */\n    readonly readable: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/writable) */\n    readonly writable: WritableStream;\n}\n\ndeclare var WebTransportDatagramDuplexStream: {\n    prototype: WebTransportDatagramDuplexStream;\n    new(): WebTransportDatagramDuplexStream;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportError)\n */\ninterface WebTransportError extends DOMException {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportError/source) */\n    readonly source: WebTransportErrorSource;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportError/streamErrorCode) */\n    readonly streamErrorCode: number | null;\n}\n\ndeclare var WebTransportError: {\n    prototype: WebTransportError;\n    new(message?: string, options?: WebTransportErrorOptions): WebTransportError;\n};\n\n/**\n * Events that occur due to the user moving a mouse wheel or similar input device.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WheelEvent)\n */\ninterface WheelEvent extends MouseEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaMode) */\n    readonly deltaMode: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaX) */\n    readonly deltaX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaY) */\n    readonly deltaY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaZ) */\n    readonly deltaZ: number;\n    readonly DOM_DELTA_PIXEL: 0x00;\n    readonly DOM_DELTA_LINE: 0x01;\n    readonly DOM_DELTA_PAGE: 0x02;\n}\n\ndeclare var WheelEvent: {\n    prototype: WheelEvent;\n    new(type: string, eventInitDict?: WheelEventInit): WheelEvent;\n    readonly DOM_DELTA_PIXEL: 0x00;\n    readonly DOM_DELTA_LINE: 0x01;\n    readonly DOM_DELTA_PAGE: 0x02;\n};\n\ninterface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap {\n    \"DOMContentLoaded\": Event;\n    \"devicemotion\": DeviceMotionEvent;\n    \"deviceorientation\": DeviceOrientationEvent;\n    \"deviceorientationabsolute\": DeviceOrientationEvent;\n    \"gamepadconnected\": GamepadEvent;\n    \"gamepaddisconnected\": GamepadEvent;\n    \"orientationchange\": Event;\n}\n\n/**\n * A window containing a DOM document; the document property points to the DOM document loaded in that window.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window)\n */\ninterface Window extends EventTarget, AnimationFrameProvider, GlobalEventHandlers, WindowEventHandlers, WindowLocalStorage, WindowOrWorkerGlobalScope, WindowSessionStorage {\n    /**\n     * @deprecated This is a legacy alias of \\`navigator\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/navigator)\n     */\n    readonly clientInformation: Navigator;\n    /**\n     * Returns true if the window has been closed, false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/closed)\n     */\n    readonly closed: boolean;\n    /**\n     * Defines a new custom element, mapping the given name to the given constructor as an autonomous custom element.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/customElements)\n     */\n    readonly customElements: CustomElementRegistry;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/devicePixelRatio) */\n    readonly devicePixelRatio: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/document) */\n    readonly document: Document;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/event)\n     */\n    readonly event: Event | undefined;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/external)\n     */\n    readonly external: External;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/frameElement) */\n    readonly frameElement: Element | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/frames) */\n    readonly frames: WindowProxy;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/history) */\n    readonly history: History;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/innerHeight) */\n    readonly innerHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/innerWidth) */\n    readonly innerWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/location) */\n    get location(): Location;\n    set location(href: string | Location);\n    /**\n     * Returns true if the location bar is visible; otherwise, returns false.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/locationbar)\n     */\n    readonly locationbar: BarProp;\n    /**\n     * Returns true if the menu bar is visible; otherwise, returns false.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/menubar)\n     */\n    readonly menubar: BarProp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/name) */\n    name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/navigator) */\n    readonly navigator: Navigator;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/devicemotion_event)\n     */\n    ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/deviceorientation_event)\n     */\n    ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/deviceorientationabsolute_event)\n     */\n    ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/orientationchange_event)\n     */\n    onorientationchange: ((this: Window, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/opener) */\n    opener: any;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/orientation)\n     */\n    readonly orientation: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/outerHeight) */\n    readonly outerHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/outerWidth) */\n    readonly outerWidth: number;\n    /**\n     * @deprecated This is a legacy alias of \\`scrollX\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollX)\n     */\n    readonly pageXOffset: number;\n    /**\n     * @deprecated This is a legacy alias of \\`scrollY\\`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollY)\n     */\n    readonly pageYOffset: number;\n    /**\n     * Refers to either the parent WindowProxy, or itself.\n     *\n     * It can rarely be null e.g. for contentWindow of an iframe that is already removed from the parent.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/parent)\n     */\n    readonly parent: WindowProxy;\n    /**\n     * Returns true if the personal bar is visible; otherwise, returns false.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/personalbar)\n     */\n    readonly personalbar: BarProp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screen) */\n    readonly screen: Screen;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screenLeft) */\n    readonly screenLeft: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screenTop) */\n    readonly screenTop: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screenX) */\n    readonly screenX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screenY) */\n    readonly screenY: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollX) */\n    readonly scrollX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollY) */\n    readonly scrollY: number;\n    /**\n     * Returns true if the scrollbars are visible; otherwise, returns false.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollbars)\n     */\n    readonly scrollbars: BarProp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/self) */\n    readonly self: Window & typeof globalThis;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/speechSynthesis) */\n    readonly speechSynthesis: SpeechSynthesis;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/status)\n     */\n    status: string;\n    /**\n     * Returns true if the status bar is visible; otherwise, returns false.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/statusbar)\n     */\n    readonly statusbar: BarProp;\n    /**\n     * Returns true if the toolbar is visible; otherwise, returns false.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/toolbar)\n     */\n    readonly toolbar: BarProp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/top) */\n    readonly top: WindowProxy | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/visualViewport) */\n    readonly visualViewport: VisualViewport | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/window) */\n    readonly window: Window & typeof globalThis;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/alert) */\n    alert(message?: any): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/blur) */\n    blur(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/cancelIdleCallback) */\n    cancelIdleCallback(handle: number): void;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/captureEvents)\n     */\n    captureEvents(): void;\n    /**\n     * Closes the window.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/close)\n     */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/confirm) */\n    confirm(message?: string): boolean;\n    /**\n     * Moves the focus to the window's browsing context, if any.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/focus)\n     */\n    focus(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/getComputedStyle) */\n    getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/getSelection) */\n    getSelection(): Selection | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/matchMedia) */\n    matchMedia(query: string): MediaQueryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/moveBy) */\n    moveBy(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/moveTo) */\n    moveTo(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/open) */\n    open(url?: string | URL, target?: string, features?: string): WindowProxy | null;\n    /**\n     * Posts a message to the given window. Messages can be structured objects, e.g. nested objects and arrays, can contain JavaScript values (strings, numbers, Date objects, etc), and can contain certain data objects such as File Blob, FileList, and ArrayBuffer objects.\n     *\n     * Objects listed in the transfer member of options are transferred, not just cloned, meaning that they are no longer usable on the sending side.\n     *\n     * A target origin can be specified using the targetOrigin member of options. If not provided, it defaults to \"/\". This default restricts the message to same-origin targets only.\n     *\n     * If the origin of the target window doesn't match the given target origin, the message is discarded, to avoid information leakage. To send the message to the target regardless of origin, set the target origin to \"*\".\n     *\n     * Throws a \"DataCloneError\" DOMException if transfer array contains duplicate objects or if message could not be cloned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/postMessage)\n     */\n    postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;\n    postMessage(message: any, options?: WindowPostMessageOptions): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/print) */\n    print(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/prompt) */\n    prompt(message?: string, _default?: string): string | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/releaseEvents)\n     */\n    releaseEvents(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/requestIdleCallback) */\n    requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/resizeBy) */\n    resizeBy(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/resizeTo) */\n    resizeTo(width: number, height: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scroll) */\n    scroll(options?: ScrollToOptions): void;\n    scroll(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollBy) */\n    scrollBy(options?: ScrollToOptions): void;\n    scrollBy(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollTo) */\n    scrollTo(options?: ScrollToOptions): void;\n    scrollTo(x: number, y: number): void;\n    /**\n     * Cancels the document load.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/stop)\n     */\n    stop(): void;\n    addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: Window;\n}\n\ndeclare var Window: {\n    prototype: Window;\n    new(): Window;\n};\n\ninterface WindowEventHandlersEventMap {\n    \"afterprint\": Event;\n    \"beforeprint\": Event;\n    \"beforeunload\": BeforeUnloadEvent;\n    \"gamepadconnected\": GamepadEvent;\n    \"gamepaddisconnected\": GamepadEvent;\n    \"hashchange\": HashChangeEvent;\n    \"languagechange\": Event;\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n    \"offline\": Event;\n    \"online\": Event;\n    \"pagehide\": PageTransitionEvent;\n    \"pageshow\": PageTransitionEvent;\n    \"popstate\": PopStateEvent;\n    \"rejectionhandled\": PromiseRejectionEvent;\n    \"storage\": StorageEvent;\n    \"unhandledrejection\": PromiseRejectionEvent;\n    \"unload\": Event;\n}\n\ninterface WindowEventHandlers {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/afterprint_event) */\n    onafterprint: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/beforeprint_event) */\n    onbeforeprint: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/beforeunload_event) */\n    onbeforeunload: ((this: WindowEventHandlers, ev: BeforeUnloadEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/gamepadconnected_event) */\n    ongamepadconnected: ((this: WindowEventHandlers, ev: GamepadEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/gamepaddisconnected_event) */\n    ongamepaddisconnected: ((this: WindowEventHandlers, ev: GamepadEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/hashchange_event) */\n    onhashchange: ((this: WindowEventHandlers, ev: HashChangeEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/languagechange_event) */\n    onlanguagechange: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/message_event) */\n    onmessage: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/messageerror_event) */\n    onmessageerror: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/offline_event) */\n    onoffline: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/online_event) */\n    ononline: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/pagehide_event) */\n    onpagehide: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/pageshow_event) */\n    onpageshow: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/popstate_event) */\n    onpopstate: ((this: WindowEventHandlers, ev: PopStateEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/rejectionhandled_event) */\n    onrejectionhandled: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/storage_event) */\n    onstorage: ((this: WindowEventHandlers, ev: StorageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/unhandledrejection_event) */\n    onunhandledrejection: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/unload_event)\n     */\n    onunload: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    addEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface WindowLocalStorage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/localStorage) */\n    readonly localStorage: Storage;\n}\n\ninterface WindowOrWorkerGlobalScope {\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/caches)\n     */\n    readonly caches: CacheStorage;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crossOriginIsolated) */\n    readonly crossOriginIsolated: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crypto_property) */\n    readonly crypto: Crypto;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/indexedDB) */\n    readonly indexedDB: IDBFactory;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/isSecureContext) */\n    readonly isSecureContext: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/origin) */\n    readonly origin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/performance_property) */\n    readonly performance: Performance;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/atob) */\n    atob(data: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/btoa) */\n    btoa(data: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearInterval) */\n    clearInterval(id: number | undefined): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearTimeout) */\n    clearTimeout(id: number | undefined): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/createImageBitmap) */\n    createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n    createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch) */\n    fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/queueMicrotask) */\n    queueMicrotask(callback: VoidFunction): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/reportError) */\n    reportError(e: any): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/setInterval) */\n    setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/setTimeout) */\n    setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/structuredClone) */\n    structuredClone<T = any>(value: T, options?: StructuredSerializeOptions): T;\n}\n\ninterface WindowSessionStorage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/sessionStorage) */\n    readonly sessionStorage: Storage;\n}\n\ninterface WorkerEventMap extends AbstractWorkerEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\n\n/**\n * This Web Workers API interface represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker)\n */\ninterface Worker extends EventTarget, AbstractWorker {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker/message_event) */\n    onmessage: ((this: Worker, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker/messageerror_event) */\n    onmessageerror: ((this: Worker, ev: MessageEvent) => any) | null;\n    /**\n     * Clones message and transmits it to worker's global environment. transfer can be passed as a list of objects that are to be transferred rather than cloned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker/postMessage)\n     */\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    /**\n     * Aborts worker's associated global environment.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker/terminate)\n     */\n    terminate(): void;\n    addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Worker: {\n    prototype: Worker;\n    new(scriptURL: string | URL, options?: WorkerOptions): Worker;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worklet)\n */\ninterface Worklet {\n    /**\n     * Loads and executes the module script given by moduleURL into all of worklet's global scopes. It can also create additional global scopes as part of this process, depending on the worklet type. The returned promise will fulfill once the script has been successfully loaded and run in all global scopes.\n     *\n     * The credentials option can be set to a credentials mode to modify the script-fetching process. It defaults to \"same-origin\".\n     *\n     * Any failures in fetching the script or its dependencies will cause the returned promise to be rejected with an \"AbortError\" DOMException. Any errors in parsing the script or its dependencies will cause the returned promise to be rejected with the exception generated during parsing.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worklet/addModule)\n     */\n    addModule(moduleURL: string | URL, options?: WorkletOptions): Promise<void>;\n}\n\ndeclare var Worklet: {\n    prototype: Worklet;\n    new(): Worklet;\n};\n\n/**\n * This Streams API interface provides\\xA0a standard abstraction for writing streaming data to a destination, known as a sink. This object comes with built-in backpressure and queuing.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream)\n */\ninterface WritableStream<W = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream/locked) */\n    readonly locked: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream/abort) */\n    abort(reason?: any): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream/close) */\n    close(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream/getWriter) */\n    getWriter(): WritableStreamDefaultWriter<W>;\n}\n\ndeclare var WritableStream: {\n    prototype: WritableStream;\n    new<W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;\n};\n\n/**\n * This Streams API interface represents a controller allowing control of a\\xA0WritableStream's state. When constructing a WritableStream, the underlying sink is given a corresponding WritableStreamDefaultController instance to manipulate.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultController)\n */\ninterface WritableStreamDefaultController {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultController/signal) */\n    readonly signal: AbortSignal;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultController/error) */\n    error(e?: any): void;\n}\n\ndeclare var WritableStreamDefaultController: {\n    prototype: WritableStreamDefaultController;\n    new(): WritableStreamDefaultController;\n};\n\n/**\n * This Streams API interface is the object returned by WritableStream.getWriter() and once created locks the < writer to the WritableStream ensuring that no other streams can write to the underlying sink.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter)\n */\ninterface WritableStreamDefaultWriter<W = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed) */\n    readonly closed: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize) */\n    readonly desiredSize: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/ready) */\n    readonly ready: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/abort) */\n    abort(reason?: any): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close) */\n    close(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/releaseLock) */\n    releaseLock(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/write) */\n    write(chunk?: W): Promise<void>;\n}\n\ndeclare var WritableStreamDefaultWriter: {\n    prototype: WritableStreamDefaultWriter;\n    new<W = any>(stream: WritableStream<W>): WritableStreamDefaultWriter<W>;\n};\n\n/**\n * An XML document. It inherits from the generic Document and does not add any specific methods or properties to it: nevertheless, several algorithms behave differently with the two types of documents.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLDocument)\n */\ninterface XMLDocument extends Document {\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLDocument: {\n    prototype: XMLDocument;\n    new(): XMLDocument;\n};\n\ninterface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {\n    \"readystatechange\": Event;\n}\n\n/**\n * Use XMLHttpRequest (XHR) objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest)\n */\ninterface XMLHttpRequest extends XMLHttpRequestEventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/readystatechange_event) */\n    onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;\n    /**\n     * Returns client's state.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/readyState)\n     */\n    readonly readyState: number;\n    /**\n     * Returns the response body.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/response)\n     */\n    readonly response: any;\n    /**\n     * Returns response as text.\n     *\n     * Throws an \"InvalidStateError\" DOMException if responseType is not the empty string or \"text\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseText)\n     */\n    readonly responseText: string;\n    /**\n     * Returns the response type.\n     *\n     * Can be set to change the response type. Values are: the empty string (default), \"arraybuffer\", \"blob\", \"document\", \"json\", and \"text\".\n     *\n     * When set: setting to \"document\" is ignored if current global object is not a Window object.\n     *\n     * When set: throws an \"InvalidStateError\" DOMException if state is loading or done.\n     *\n     * When set: throws an \"InvalidAccessError\" DOMException if the synchronous flag is set and current global object is a Window object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseType)\n     */\n    responseType: XMLHttpRequestResponseType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseURL) */\n    readonly responseURL: string;\n    /**\n     * Returns the response as document.\n     *\n     * Throws an \"InvalidStateError\" DOMException if responseType is not the empty string or \"document\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseXML)\n     */\n    readonly responseXML: Document | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/status) */\n    readonly status: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/statusText) */\n    readonly statusText: string;\n    /**\n     * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the request has not yet completed, and this's synchronous flag is unset, a timeout event will then be dispatched, or a \"TimeoutError\" DOMException will be thrown otherwise (for the send() method).\n     *\n     * When set: throws an \"InvalidAccessError\" DOMException if the synchronous flag is set and current global object is a Window object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/timeout)\n     */\n    timeout: number;\n    /**\n     * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is transferred to a server.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/upload)\n     */\n    readonly upload: XMLHttpRequestUpload;\n    /**\n     * True when credentials are to be included in a cross-origin request. False when they are to be excluded in a cross-origin request and when cookies are to be ignored in its response. Initially false.\n     *\n     * When set: throws an \"InvalidStateError\" DOMException if state is not unsent or opened, or if the send() flag is set.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/withCredentials)\n     */\n    withCredentials: boolean;\n    /**\n     * Cancels any network activity.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/abort)\n     */\n    abort(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getAllResponseHeaders) */\n    getAllResponseHeaders(): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getResponseHeader) */\n    getResponseHeader(name: string): string | null;\n    /**\n     * Sets the request method, request URL, and synchronous flag.\n     *\n     * Throws a \"SyntaxError\" DOMException if either method is not a valid method or url cannot be parsed.\n     *\n     * Throws a \"SecurityError\" DOMException if method is a case-insensitive match for \\`CONNECT\\`, \\`TRACE\\`, or \\`TRACK\\`.\n     *\n     * Throws an \"InvalidAccessError\" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open)\n     */\n    open(method: string, url: string | URL): void;\n    open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void;\n    /**\n     * Acts as if the \\`Content-Type\\` header value for a response is mime. (It does not change the header.)\n     *\n     * Throws an \"InvalidStateError\" DOMException if state is loading or done.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/overrideMimeType)\n     */\n    overrideMimeType(mime: string): void;\n    /**\n     * Initiates the request. The body argument provides the request body, if any, and is ignored if the request method is GET or HEAD.\n     *\n     * Throws an \"InvalidStateError\" DOMException if either state is not opened or the send() flag is set.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/send)\n     */\n    send(body?: Document | XMLHttpRequestBodyInit | null): void;\n    /**\n     * Combines a header in author request headers.\n     *\n     * Throws an \"InvalidStateError\" DOMException if either state is not opened or the send() flag is set.\n     *\n     * Throws a \"SyntaxError\" DOMException if name is not a header name or if value is not a header value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/setRequestHeader)\n     */\n    setRequestHeader(name: string, value: string): void;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n    addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequest: {\n    prototype: XMLHttpRequest;\n    new(): XMLHttpRequest;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n};\n\ninterface XMLHttpRequestEventTargetEventMap {\n    \"abort\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"error\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"load\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"loadend\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"loadstart\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"progress\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"timeout\": ProgressEvent<XMLHttpRequestEventTarget>;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequestEventTarget) */\ninterface XMLHttpRequestEventTarget extends EventTarget {\n    onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequestEventTarget: {\n    prototype: XMLHttpRequestEventTarget;\n    new(): XMLHttpRequestEventTarget;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequestUpload) */\ninterface XMLHttpRequestUpload extends XMLHttpRequestEventTarget {\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequestUpload: {\n    prototype: XMLHttpRequestUpload;\n    new(): XMLHttpRequestUpload;\n};\n\n/**\n * Provides the serializeToString() method to construct an XML string representing a DOM tree.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLSerializer)\n */\ninterface XMLSerializer {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLSerializer/serializeToString) */\n    serializeToString(root: Node): string;\n}\n\ndeclare var XMLSerializer: {\n    prototype: XMLSerializer;\n    new(): XMLSerializer;\n};\n\n/**\n * The\\xA0XPathEvaluator interface allows to compile and evaluate XPath expressions.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathEvaluator)\n */\ninterface XPathEvaluator extends XPathEvaluatorBase {\n}\n\ndeclare var XPathEvaluator: {\n    prototype: XPathEvaluator;\n    new(): XPathEvaluator;\n};\n\ninterface XPathEvaluatorBase {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createExpression) */\n    createExpression(expression: string, resolver?: XPathNSResolver | null): XPathExpression;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createNSResolver) */\n    createNSResolver(nodeResolver: Node): Node;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/evaluate) */\n    evaluate(expression: string, contextNode: Node, resolver?: XPathNSResolver | null, type?: number, result?: XPathResult | null): XPathResult;\n}\n\n/**\n * This interface is a compiled XPath expression that can be evaluated on a document or specific node to return information its DOM tree.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathExpression)\n */\ninterface XPathExpression {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathExpression/evaluate) */\n    evaluate(contextNode: Node, type?: number, result?: XPathResult | null): XPathResult;\n}\n\ndeclare var XPathExpression: {\n    prototype: XPathExpression;\n    new(): XPathExpression;\n};\n\n/**\n * The results generated by evaluating an XPath expression within the context of a given node.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult)\n */\ninterface XPathResult {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/booleanValue) */\n    readonly booleanValue: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/invalidIteratorState) */\n    readonly invalidIteratorState: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/numberValue) */\n    readonly numberValue: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/resultType) */\n    readonly resultType: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/singleNodeValue) */\n    readonly singleNodeValue: Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/snapshotLength) */\n    readonly snapshotLength: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/stringValue) */\n    readonly stringValue: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/iterateNext) */\n    iterateNext(): Node | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XPathResult/snapshotItem) */\n    snapshotItem(index: number): Node | null;\n    readonly ANY_TYPE: 0;\n    readonly NUMBER_TYPE: 1;\n    readonly STRING_TYPE: 2;\n    readonly BOOLEAN_TYPE: 3;\n    readonly UNORDERED_NODE_ITERATOR_TYPE: 4;\n    readonly ORDERED_NODE_ITERATOR_TYPE: 5;\n    readonly UNORDERED_NODE_SNAPSHOT_TYPE: 6;\n    readonly ORDERED_NODE_SNAPSHOT_TYPE: 7;\n    readonly ANY_UNORDERED_NODE_TYPE: 8;\n    readonly FIRST_ORDERED_NODE_TYPE: 9;\n}\n\ndeclare var XPathResult: {\n    prototype: XPathResult;\n    new(): XPathResult;\n    readonly ANY_TYPE: 0;\n    readonly NUMBER_TYPE: 1;\n    readonly STRING_TYPE: 2;\n    readonly BOOLEAN_TYPE: 3;\n    readonly UNORDERED_NODE_ITERATOR_TYPE: 4;\n    readonly ORDERED_NODE_ITERATOR_TYPE: 5;\n    readonly UNORDERED_NODE_SNAPSHOT_TYPE: 6;\n    readonly ORDERED_NODE_SNAPSHOT_TYPE: 7;\n    readonly ANY_UNORDERED_NODE_TYPE: 8;\n    readonly FIRST_ORDERED_NODE_TYPE: 9;\n};\n\n/**\n * An XSLTProcessor applies an XSLT stylesheet transformation to an XML document to produce a new XML document as output. It has methods to load the XSLT stylesheet, to manipulate <xsl:param> parameter values, and to apply the transformation to documents.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor)\n */\ninterface XSLTProcessor {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor/clearParameters) */\n    clearParameters(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor/getParameter) */\n    getParameter(namespaceURI: string | null, localName: string): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor/importStylesheet) */\n    importStylesheet(style: Node): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor/removeParameter) */\n    removeParameter(namespaceURI: string | null, localName: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor/reset) */\n    reset(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor/setParameter) */\n    setParameter(namespaceURI: string | null, localName: string, value: any): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor/transformToDocument) */\n    transformToDocument(source: Node): Document;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XSLTProcessor/transformToFragment) */\n    transformToFragment(source: Node, output: Document): DocumentFragment;\n}\n\ndeclare var XSLTProcessor: {\n    prototype: XSLTProcessor;\n    new(): XSLTProcessor;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console) */\ninterface Console {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/assert_static) */\n    assert(condition?: boolean, ...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/clear_static) */\n    clear(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/count_static) */\n    count(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/countReset_static) */\n    countReset(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/debug_static) */\n    debug(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/dir_static) */\n    dir(item?: any, options?: any): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/dirxml_static) */\n    dirxml(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/error_static) */\n    error(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/group_static) */\n    group(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupCollapsed_static) */\n    groupCollapsed(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupEnd_static) */\n    groupEnd(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/info_static) */\n    info(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/log_static) */\n    log(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/table_static) */\n    table(tabularData?: any, properties?: string[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/time_static) */\n    time(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeEnd_static) */\n    timeEnd(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeLog_static) */\n    timeLog(label?: string, ...data: any[]): void;\n    timeStamp(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/trace_static) */\n    trace(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/warn_static) */\n    warn(...data: any[]): void;\n}\n\ndeclare var console: Console;\n\n/** Holds useful CSS-related methods. No object with this interface are implemented: it contains only static methods and therefore is a utilitarian interface. */\ndeclare namespace CSS {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/highlights_static) */\n    var highlights: HighlightRegistry;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function Hz(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function Q(value: number): CSSUnitValue;\n    function cap(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function ch(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function cm(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function cqb(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function cqh(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function cqi(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function cqmax(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function cqmin(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function cqw(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function deg(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dpcm(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dpi(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dppx(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dvb(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dvh(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dvi(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dvmax(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dvmin(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function dvw(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function em(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/escape_static) */\n    function escape(ident: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function ex(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function fr(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function grad(value: number): CSSUnitValue;\n    function ic(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function kHz(value: number): CSSUnitValue;\n    function lh(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function lvb(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function lvh(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function lvi(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function lvmax(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function lvmin(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function lvw(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function mm(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function ms(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function number(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function pc(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function percent(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function pt(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function px(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function rad(value: number): CSSUnitValue;\n    function rcap(value: number): CSSUnitValue;\n    function rch(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/registerProperty_static) */\n    function registerProperty(definition: PropertyDefinition): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function rem(value: number): CSSUnitValue;\n    function rex(value: number): CSSUnitValue;\n    function ric(value: number): CSSUnitValue;\n    function rlh(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function s(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/supports_static) */\n    function supports(property: string, value: string): boolean;\n    function supports(conditionText: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function svb(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function svh(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function svi(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function svmax(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function svmin(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function svw(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function turn(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function vb(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function vh(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function vi(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function vmax(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function vmin(value: number): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSS/factory_functions_static) */\n    function vw(value: number): CSSUnitValue;\n}\n\ndeclare namespace WebAssembly {\n    interface CompileError extends Error {\n    }\n\n    var CompileError: {\n        prototype: CompileError;\n        new(message?: string): CompileError;\n        (message?: string): CompileError;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global) */\n    interface Global<T extends ValueType = ValueType> {\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global/value) */\n        value: ValueTypeMap[T];\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global/valueOf) */\n        valueOf(): ValueTypeMap[T];\n    }\n\n    var Global: {\n        prototype: Global;\n        new<T extends ValueType = ValueType>(descriptor: GlobalDescriptor<T>, v?: ValueTypeMap[T]): Global<T>;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Instance) */\n    interface Instance {\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Instance/exports) */\n        readonly exports: Exports;\n    }\n\n    var Instance: {\n        prototype: Instance;\n        new(module: Module, importObject?: Imports): Instance;\n    };\n\n    interface LinkError extends Error {\n    }\n\n    var LinkError: {\n        prototype: LinkError;\n        new(message?: string): LinkError;\n        (message?: string): LinkError;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Memory) */\n    interface Memory {\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Memory/buffer) */\n        readonly buffer: ArrayBuffer;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Memory/grow) */\n        grow(delta: number): number;\n    }\n\n    var Memory: {\n        prototype: Memory;\n        new(descriptor: MemoryDescriptor): Memory;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Module) */\n    interface Module {\n    }\n\n    var Module: {\n        prototype: Module;\n        new(bytes: BufferSource): Module;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Module/customSections_static) */\n        customSections(moduleObject: Module, sectionName: string): ArrayBuffer[];\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Module/exports_static) */\n        exports(moduleObject: Module): ModuleExportDescriptor[];\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Module/imports_static) */\n        imports(moduleObject: Module): ModuleImportDescriptor[];\n    };\n\n    interface RuntimeError extends Error {\n    }\n\n    var RuntimeError: {\n        prototype: RuntimeError;\n        new(message?: string): RuntimeError;\n        (message?: string): RuntimeError;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table) */\n    interface Table {\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table/length) */\n        readonly length: number;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table/get) */\n        get(index: number): any;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table/grow) */\n        grow(delta: number, value?: any): number;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table/set) */\n        set(index: number, value?: any): void;\n    }\n\n    var Table: {\n        prototype: Table;\n        new(descriptor: TableDescriptor, value?: any): Table;\n    };\n\n    interface GlobalDescriptor<T extends ValueType = ValueType> {\n        mutable?: boolean;\n        value: T;\n    }\n\n    interface MemoryDescriptor {\n        initial: number;\n        maximum?: number;\n        shared?: boolean;\n    }\n\n    interface ModuleExportDescriptor {\n        kind: ImportExportKind;\n        name: string;\n    }\n\n    interface ModuleImportDescriptor {\n        kind: ImportExportKind;\n        module: string;\n        name: string;\n    }\n\n    interface TableDescriptor {\n        element: TableKind;\n        initial: number;\n        maximum?: number;\n    }\n\n    interface ValueTypeMap {\n        anyfunc: Function;\n        externref: any;\n        f32: number;\n        f64: number;\n        i32: number;\n        i64: bigint;\n        v128: never;\n    }\n\n    interface WebAssemblyInstantiatedSource {\n        instance: Instance;\n        module: Module;\n    }\n\n    type ImportExportKind = \"function\" | \"global\" | \"memory\" | \"table\";\n    type TableKind = \"anyfunc\" | \"externref\";\n    type ExportValue = Function | Global | Memory | Table;\n    type Exports = Record<string, ExportValue>;\n    type ImportValue = ExportValue | number;\n    type Imports = Record<string, ModuleImports>;\n    type ModuleImports = Record<string, ImportValue>;\n    type ValueType = keyof ValueTypeMap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/compile_static) */\n    function compile(bytes: BufferSource): Promise<Module>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/compileStreaming_static) */\n    function compileStreaming(source: Response | PromiseLike<Response>): Promise<Module>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/instantiate_static) */\n    function instantiate(bytes: BufferSource, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>;\n    function instantiate(moduleObject: Module, importObject?: Imports): Promise<Instance>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/instantiateStreaming_static) */\n    function instantiateStreaming(source: Response | PromiseLike<Response>, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/validate_static) */\n    function validate(bytes: BufferSource): boolean;\n}\n\ninterface BlobCallback {\n    (blob: Blob | null): void;\n}\n\ninterface CustomElementConstructor {\n    new (...params: any[]): HTMLElement;\n}\n\ninterface DecodeErrorCallback {\n    (error: DOMException): void;\n}\n\ninterface DecodeSuccessCallback {\n    (decodedData: AudioBuffer): void;\n}\n\ninterface EncodedVideoChunkOutputCallback {\n    (chunk: EncodedVideoChunk, metadata?: EncodedVideoChunkMetadata): void;\n}\n\ninterface ErrorCallback {\n    (err: DOMException): void;\n}\n\ninterface FileCallback {\n    (file: File): void;\n}\n\ninterface FileSystemEntriesCallback {\n    (entries: FileSystemEntry[]): void;\n}\n\ninterface FileSystemEntryCallback {\n    (entry: FileSystemEntry): void;\n}\n\ninterface FrameRequestCallback {\n    (time: DOMHighResTimeStamp): void;\n}\n\ninterface FunctionStringCallback {\n    (data: string): void;\n}\n\ninterface IdleRequestCallback {\n    (deadline: IdleDeadline): void;\n}\n\ninterface IntersectionObserverCallback {\n    (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void;\n}\n\ninterface LockGrantedCallback {\n    (lock: Lock | null): any;\n}\n\ninterface MediaSessionActionHandler {\n    (details: MediaSessionActionDetails): void;\n}\n\ninterface MutationCallback {\n    (mutations: MutationRecord[], observer: MutationObserver): void;\n}\n\ninterface NotificationPermissionCallback {\n    (permission: NotificationPermission): void;\n}\n\ninterface OnBeforeUnloadEventHandlerNonNull {\n    (event: Event): string | null;\n}\n\ninterface OnErrorEventHandlerNonNull {\n    (event: Event | string, source?: string, lineno?: number, colno?: number, error?: Error): any;\n}\n\ninterface PerformanceObserverCallback {\n    (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void;\n}\n\ninterface PositionCallback {\n    (position: GeolocationPosition): void;\n}\n\ninterface PositionErrorCallback {\n    (positionError: GeolocationPositionError): void;\n}\n\ninterface QueuingStrategySize<T = any> {\n    (chunk: T): number;\n}\n\ninterface RTCPeerConnectionErrorCallback {\n    (error: DOMException): void;\n}\n\ninterface RTCSessionDescriptionCallback {\n    (description: RTCSessionDescriptionInit): void;\n}\n\ninterface RemotePlaybackAvailabilityCallback {\n    (available: boolean): void;\n}\n\ninterface ReportingObserverCallback {\n    (reports: Report[], observer: ReportingObserver): void;\n}\n\ninterface ResizeObserverCallback {\n    (entries: ResizeObserverEntry[], observer: ResizeObserver): void;\n}\n\ninterface TransformerFlushCallback<O> {\n    (controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n}\n\ninterface TransformerStartCallback<O> {\n    (controller: TransformStreamDefaultController<O>): any;\n}\n\ninterface TransformerTransformCallback<I, O> {\n    (chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSinkAbortCallback {\n    (reason?: any): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSinkCloseCallback {\n    (): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSinkStartCallback {\n    (controller: WritableStreamDefaultController): any;\n}\n\ninterface UnderlyingSinkWriteCallback<W> {\n    (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSourceCancelCallback {\n    (reason?: any): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSourcePullCallback<R> {\n    (controller: ReadableStreamController<R>): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSourceStartCallback<R> {\n    (controller: ReadableStreamController<R>): any;\n}\n\ninterface VideoFrameOutputCallback {\n    (output: VideoFrame): void;\n}\n\ninterface VideoFrameRequestCallback {\n    (now: DOMHighResTimeStamp, metadata: VideoFrameCallbackMetadata): void;\n}\n\ninterface VoidFunction {\n    (): void;\n}\n\ninterface WebCodecsErrorCallback {\n    (error: DOMException): void;\n}\n\ninterface HTMLElementTagNameMap {\n    \"a\": HTMLAnchorElement;\n    \"abbr\": HTMLElement;\n    \"address\": HTMLElement;\n    \"area\": HTMLAreaElement;\n    \"article\": HTMLElement;\n    \"aside\": HTMLElement;\n    \"audio\": HTMLAudioElement;\n    \"b\": HTMLElement;\n    \"base\": HTMLBaseElement;\n    \"bdi\": HTMLElement;\n    \"bdo\": HTMLElement;\n    \"blockquote\": HTMLQuoteElement;\n    \"body\": HTMLBodyElement;\n    \"br\": HTMLBRElement;\n    \"button\": HTMLButtonElement;\n    \"canvas\": HTMLCanvasElement;\n    \"caption\": HTMLTableCaptionElement;\n    \"cite\": HTMLElement;\n    \"code\": HTMLElement;\n    \"col\": HTMLTableColElement;\n    \"colgroup\": HTMLTableColElement;\n    \"data\": HTMLDataElement;\n    \"datalist\": HTMLDataListElement;\n    \"dd\": HTMLElement;\n    \"del\": HTMLModElement;\n    \"details\": HTMLDetailsElement;\n    \"dfn\": HTMLElement;\n    \"dialog\": HTMLDialogElement;\n    \"div\": HTMLDivElement;\n    \"dl\": HTMLDListElement;\n    \"dt\": HTMLElement;\n    \"em\": HTMLElement;\n    \"embed\": HTMLEmbedElement;\n    \"fieldset\": HTMLFieldSetElement;\n    \"figcaption\": HTMLElement;\n    \"figure\": HTMLElement;\n    \"footer\": HTMLElement;\n    \"form\": HTMLFormElement;\n    \"h1\": HTMLHeadingElement;\n    \"h2\": HTMLHeadingElement;\n    \"h3\": HTMLHeadingElement;\n    \"h4\": HTMLHeadingElement;\n    \"h5\": HTMLHeadingElement;\n    \"h6\": HTMLHeadingElement;\n    \"head\": HTMLHeadElement;\n    \"header\": HTMLElement;\n    \"hgroup\": HTMLElement;\n    \"hr\": HTMLHRElement;\n    \"html\": HTMLHtmlElement;\n    \"i\": HTMLElement;\n    \"iframe\": HTMLIFrameElement;\n    \"img\": HTMLImageElement;\n    \"input\": HTMLInputElement;\n    \"ins\": HTMLModElement;\n    \"kbd\": HTMLElement;\n    \"label\": HTMLLabelElement;\n    \"legend\": HTMLLegendElement;\n    \"li\": HTMLLIElement;\n    \"link\": HTMLLinkElement;\n    \"main\": HTMLElement;\n    \"map\": HTMLMapElement;\n    \"mark\": HTMLElement;\n    \"menu\": HTMLMenuElement;\n    \"meta\": HTMLMetaElement;\n    \"meter\": HTMLMeterElement;\n    \"nav\": HTMLElement;\n    \"noscript\": HTMLElement;\n    \"object\": HTMLObjectElement;\n    \"ol\": HTMLOListElement;\n    \"optgroup\": HTMLOptGroupElement;\n    \"option\": HTMLOptionElement;\n    \"output\": HTMLOutputElement;\n    \"p\": HTMLParagraphElement;\n    \"picture\": HTMLPictureElement;\n    \"pre\": HTMLPreElement;\n    \"progress\": HTMLProgressElement;\n    \"q\": HTMLQuoteElement;\n    \"rp\": HTMLElement;\n    \"rt\": HTMLElement;\n    \"ruby\": HTMLElement;\n    \"s\": HTMLElement;\n    \"samp\": HTMLElement;\n    \"script\": HTMLScriptElement;\n    \"search\": HTMLElement;\n    \"section\": HTMLElement;\n    \"select\": HTMLSelectElement;\n    \"slot\": HTMLSlotElement;\n    \"small\": HTMLElement;\n    \"source\": HTMLSourceElement;\n    \"span\": HTMLSpanElement;\n    \"strong\": HTMLElement;\n    \"style\": HTMLStyleElement;\n    \"sub\": HTMLElement;\n    \"summary\": HTMLElement;\n    \"sup\": HTMLElement;\n    \"table\": HTMLTableElement;\n    \"tbody\": HTMLTableSectionElement;\n    \"td\": HTMLTableCellElement;\n    \"template\": HTMLTemplateElement;\n    \"textarea\": HTMLTextAreaElement;\n    \"tfoot\": HTMLTableSectionElement;\n    \"th\": HTMLTableCellElement;\n    \"thead\": HTMLTableSectionElement;\n    \"time\": HTMLTimeElement;\n    \"title\": HTMLTitleElement;\n    \"tr\": HTMLTableRowElement;\n    \"track\": HTMLTrackElement;\n    \"u\": HTMLElement;\n    \"ul\": HTMLUListElement;\n    \"var\": HTMLElement;\n    \"video\": HTMLVideoElement;\n    \"wbr\": HTMLElement;\n}\n\ninterface HTMLElementDeprecatedTagNameMap {\n    \"acronym\": HTMLElement;\n    \"applet\": HTMLUnknownElement;\n    \"basefont\": HTMLElement;\n    \"bgsound\": HTMLUnknownElement;\n    \"big\": HTMLElement;\n    \"blink\": HTMLUnknownElement;\n    \"center\": HTMLElement;\n    \"dir\": HTMLDirectoryElement;\n    \"font\": HTMLFontElement;\n    \"frame\": HTMLFrameElement;\n    \"frameset\": HTMLFrameSetElement;\n    \"isindex\": HTMLUnknownElement;\n    \"keygen\": HTMLUnknownElement;\n    \"listing\": HTMLPreElement;\n    \"marquee\": HTMLMarqueeElement;\n    \"menuitem\": HTMLElement;\n    \"multicol\": HTMLUnknownElement;\n    \"nextid\": HTMLUnknownElement;\n    \"nobr\": HTMLElement;\n    \"noembed\": HTMLElement;\n    \"noframes\": HTMLElement;\n    \"param\": HTMLParamElement;\n    \"plaintext\": HTMLElement;\n    \"rb\": HTMLElement;\n    \"rtc\": HTMLElement;\n    \"spacer\": HTMLUnknownElement;\n    \"strike\": HTMLElement;\n    \"tt\": HTMLElement;\n    \"xmp\": HTMLPreElement;\n}\n\ninterface SVGElementTagNameMap {\n    \"a\": SVGAElement;\n    \"animate\": SVGAnimateElement;\n    \"animateMotion\": SVGAnimateMotionElement;\n    \"animateTransform\": SVGAnimateTransformElement;\n    \"circle\": SVGCircleElement;\n    \"clipPath\": SVGClipPathElement;\n    \"defs\": SVGDefsElement;\n    \"desc\": SVGDescElement;\n    \"ellipse\": SVGEllipseElement;\n    \"feBlend\": SVGFEBlendElement;\n    \"feColorMatrix\": SVGFEColorMatrixElement;\n    \"feComponentTransfer\": SVGFEComponentTransferElement;\n    \"feComposite\": SVGFECompositeElement;\n    \"feConvolveMatrix\": SVGFEConvolveMatrixElement;\n    \"feDiffuseLighting\": SVGFEDiffuseLightingElement;\n    \"feDisplacementMap\": SVGFEDisplacementMapElement;\n    \"feDistantLight\": SVGFEDistantLightElement;\n    \"feDropShadow\": SVGFEDropShadowElement;\n    \"feFlood\": SVGFEFloodElement;\n    \"feFuncA\": SVGFEFuncAElement;\n    \"feFuncB\": SVGFEFuncBElement;\n    \"feFuncG\": SVGFEFuncGElement;\n    \"feFuncR\": SVGFEFuncRElement;\n    \"feGaussianBlur\": SVGFEGaussianBlurElement;\n    \"feImage\": SVGFEImageElement;\n    \"feMerge\": SVGFEMergeElement;\n    \"feMergeNode\": SVGFEMergeNodeElement;\n    \"feMorphology\": SVGFEMorphologyElement;\n    \"feOffset\": SVGFEOffsetElement;\n    \"fePointLight\": SVGFEPointLightElement;\n    \"feSpecularLighting\": SVGFESpecularLightingElement;\n    \"feSpotLight\": SVGFESpotLightElement;\n    \"feTile\": SVGFETileElement;\n    \"feTurbulence\": SVGFETurbulenceElement;\n    \"filter\": SVGFilterElement;\n    \"foreignObject\": SVGForeignObjectElement;\n    \"g\": SVGGElement;\n    \"image\": SVGImageElement;\n    \"line\": SVGLineElement;\n    \"linearGradient\": SVGLinearGradientElement;\n    \"marker\": SVGMarkerElement;\n    \"mask\": SVGMaskElement;\n    \"metadata\": SVGMetadataElement;\n    \"mpath\": SVGMPathElement;\n    \"path\": SVGPathElement;\n    \"pattern\": SVGPatternElement;\n    \"polygon\": SVGPolygonElement;\n    \"polyline\": SVGPolylineElement;\n    \"radialGradient\": SVGRadialGradientElement;\n    \"rect\": SVGRectElement;\n    \"script\": SVGScriptElement;\n    \"set\": SVGSetElement;\n    \"stop\": SVGStopElement;\n    \"style\": SVGStyleElement;\n    \"svg\": SVGSVGElement;\n    \"switch\": SVGSwitchElement;\n    \"symbol\": SVGSymbolElement;\n    \"text\": SVGTextElement;\n    \"textPath\": SVGTextPathElement;\n    \"title\": SVGTitleElement;\n    \"tspan\": SVGTSpanElement;\n    \"use\": SVGUseElement;\n    \"view\": SVGViewElement;\n}\n\ninterface MathMLElementTagNameMap {\n    \"annotation\": MathMLElement;\n    \"annotation-xml\": MathMLElement;\n    \"maction\": MathMLElement;\n    \"math\": MathMLElement;\n    \"merror\": MathMLElement;\n    \"mfrac\": MathMLElement;\n    \"mi\": MathMLElement;\n    \"mmultiscripts\": MathMLElement;\n    \"mn\": MathMLElement;\n    \"mo\": MathMLElement;\n    \"mover\": MathMLElement;\n    \"mpadded\": MathMLElement;\n    \"mphantom\": MathMLElement;\n    \"mprescripts\": MathMLElement;\n    \"mroot\": MathMLElement;\n    \"mrow\": MathMLElement;\n    \"ms\": MathMLElement;\n    \"mspace\": MathMLElement;\n    \"msqrt\": MathMLElement;\n    \"mstyle\": MathMLElement;\n    \"msub\": MathMLElement;\n    \"msubsup\": MathMLElement;\n    \"msup\": MathMLElement;\n    \"mtable\": MathMLElement;\n    \"mtd\": MathMLElement;\n    \"mtext\": MathMLElement;\n    \"mtr\": MathMLElement;\n    \"munder\": MathMLElement;\n    \"munderover\": MathMLElement;\n    \"semantics\": MathMLElement;\n}\n\n/** @deprecated Directly use HTMLElementTagNameMap or SVGElementTagNameMap as appropriate, instead. */\ntype ElementTagNameMap = HTMLElementTagNameMap & Pick<SVGElementTagNameMap, Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>>;\n\ndeclare var Audio: {\n    new(src?: string): HTMLAudioElement;\n};\ndeclare var Image: {\n    new(width?: number, height?: number): HTMLImageElement;\n};\ndeclare var Option: {\n    new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement;\n};\n/**\n * @deprecated This is a legacy alias of \\`navigator\\`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/navigator)\n */\ndeclare var clientInformation: Navigator;\n/**\n * Returns true if the window has been closed, false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/closed)\n */\ndeclare var closed: boolean;\n/**\n * Defines a new custom element, mapping the given name to the given constructor as an autonomous custom element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/customElements)\n */\ndeclare var customElements: CustomElementRegistry;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/devicePixelRatio) */\ndeclare var devicePixelRatio: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/document) */\ndeclare var document: Document;\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/event)\n */\ndeclare var event: Event | undefined;\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/external)\n */\ndeclare var external: External;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/frameElement) */\ndeclare var frameElement: Element | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/frames) */\ndeclare var frames: WindowProxy;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/history) */\ndeclare var history: History;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/innerHeight) */\ndeclare var innerHeight: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/innerWidth) */\ndeclare var innerWidth: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/length) */\ndeclare var length: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/location) */\ndeclare var location: Location;\n/**\n * Returns true if the location bar is visible; otherwise, returns false.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/locationbar)\n */\ndeclare var locationbar: BarProp;\n/**\n * Returns true if the menu bar is visible; otherwise, returns false.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/menubar)\n */\ndeclare var menubar: BarProp;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/name) */\n/** @deprecated */\ndeclare const name: void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/navigator) */\ndeclare var navigator: Navigator;\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/devicemotion_event)\n */\ndeclare var ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null;\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/deviceorientation_event)\n */\ndeclare var ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null;\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/deviceorientationabsolute_event)\n */\ndeclare var ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null;\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/orientationchange_event)\n */\ndeclare var onorientationchange: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/opener) */\ndeclare var opener: any;\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/orientation)\n */\ndeclare var orientation: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/outerHeight) */\ndeclare var outerHeight: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/outerWidth) */\ndeclare var outerWidth: number;\n/**\n * @deprecated This is a legacy alias of \\`scrollX\\`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollX)\n */\ndeclare var pageXOffset: number;\n/**\n * @deprecated This is a legacy alias of \\`scrollY\\`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollY)\n */\ndeclare var pageYOffset: number;\n/**\n * Refers to either the parent WindowProxy, or itself.\n *\n * It can rarely be null e.g. for contentWindow of an iframe that is already removed from the parent.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/parent)\n */\ndeclare var parent: WindowProxy;\n/**\n * Returns true if the personal bar is visible; otherwise, returns false.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/personalbar)\n */\ndeclare var personalbar: BarProp;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screen) */\ndeclare var screen: Screen;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screenLeft) */\ndeclare var screenLeft: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screenTop) */\ndeclare var screenTop: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screenX) */\ndeclare var screenX: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/screenY) */\ndeclare var screenY: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollX) */\ndeclare var scrollX: number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollY) */\ndeclare var scrollY: number;\n/**\n * Returns true if the scrollbars are visible; otherwise, returns false.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollbars)\n */\ndeclare var scrollbars: BarProp;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/self) */\ndeclare var self: Window & typeof globalThis;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/speechSynthesis) */\ndeclare var speechSynthesis: SpeechSynthesis;\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/status)\n */\ndeclare var status: string;\n/**\n * Returns true if the status bar is visible; otherwise, returns false.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/statusbar)\n */\ndeclare var statusbar: BarProp;\n/**\n * Returns true if the toolbar is visible; otherwise, returns false.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/toolbar)\n */\ndeclare var toolbar: BarProp;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/top) */\ndeclare var top: WindowProxy | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/visualViewport) */\ndeclare var visualViewport: VisualViewport | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/window) */\ndeclare var window: Window & typeof globalThis;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/alert) */\ndeclare function alert(message?: any): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/blur) */\ndeclare function blur(): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/cancelIdleCallback) */\ndeclare function cancelIdleCallback(handle: number): void;\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/captureEvents)\n */\ndeclare function captureEvents(): void;\n/**\n * Closes the window.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/close)\n */\ndeclare function close(): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/confirm) */\ndeclare function confirm(message?: string): boolean;\n/**\n * Moves the focus to the window's browsing context, if any.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/focus)\n */\ndeclare function focus(): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/getComputedStyle) */\ndeclare function getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/getSelection) */\ndeclare function getSelection(): Selection | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/matchMedia) */\ndeclare function matchMedia(query: string): MediaQueryList;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/moveBy) */\ndeclare function moveBy(x: number, y: number): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/moveTo) */\ndeclare function moveTo(x: number, y: number): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/open) */\ndeclare function open(url?: string | URL, target?: string, features?: string): WindowProxy | null;\n/**\n * Posts a message to the given window. Messages can be structured objects, e.g. nested objects and arrays, can contain JavaScript values (strings, numbers, Date objects, etc), and can contain certain data objects such as File Blob, FileList, and ArrayBuffer objects.\n *\n * Objects listed in the transfer member of options are transferred, not just cloned, meaning that they are no longer usable on the sending side.\n *\n * A target origin can be specified using the targetOrigin member of options. If not provided, it defaults to \"/\". This default restricts the message to same-origin targets only.\n *\n * If the origin of the target window doesn't match the given target origin, the message is discarded, to avoid information leakage. To send the message to the target regardless of origin, set the target origin to \"*\".\n *\n * Throws a \"DataCloneError\" DOMException if transfer array contains duplicate objects or if message could not be cloned.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/postMessage)\n */\ndeclare function postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;\ndeclare function postMessage(message: any, options?: WindowPostMessageOptions): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/print) */\ndeclare function print(): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/prompt) */\ndeclare function prompt(message?: string, _default?: string): string | null;\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/releaseEvents)\n */\ndeclare function releaseEvents(): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/requestIdleCallback) */\ndeclare function requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/resizeBy) */\ndeclare function resizeBy(x: number, y: number): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/resizeTo) */\ndeclare function resizeTo(width: number, height: number): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scroll) */\ndeclare function scroll(options?: ScrollToOptions): void;\ndeclare function scroll(x: number, y: number): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollBy) */\ndeclare function scrollBy(options?: ScrollToOptions): void;\ndeclare function scrollBy(x: number, y: number): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scrollTo) */\ndeclare function scrollTo(options?: ScrollToOptions): void;\ndeclare function scrollTo(x: number, y: number): void;\n/**\n * Cancels the document load.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/stop)\n */\ndeclare function stop(): void;\ndeclare function toString(): string;\n/**\n * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)\n */\ndeclare function dispatchEvent(event: Event): boolean;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame) */\ndeclare function cancelAnimationFrame(handle: number): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame) */\ndeclare function requestAnimationFrame(callback: FrameRequestCallback): number;\n/**\n * Fires when the user aborts the download.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/abort_event)\n */\ndeclare var onabort: ((this: Window, ev: UIEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationcancel_event) */\ndeclare var onanimationcancel: ((this: Window, ev: AnimationEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationend_event) */\ndeclare var onanimationend: ((this: Window, ev: AnimationEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationiteration_event) */\ndeclare var onanimationiteration: ((this: Window, ev: AnimationEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationstart_event) */\ndeclare var onanimationstart: ((this: Window, ev: AnimationEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/auxclick_event) */\ndeclare var onauxclick: ((this: Window, ev: MouseEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/beforeinput_event) */\ndeclare var onbeforeinput: ((this: Window, ev: InputEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/beforetoggle_event) */\ndeclare var onbeforetoggle: ((this: Window, ev: Event) => any) | null;\n/**\n * Fires when the object loses the input focus.\n * @param ev The focus event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/blur_event)\n */\ndeclare var onblur: ((this: Window, ev: FocusEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/cancel_event) */\ndeclare var oncancel: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when playback is possible, but would require further buffering.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canplay_event)\n */\ndeclare var oncanplay: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canplaythrough_event) */\ndeclare var oncanplaythrough: ((this: Window, ev: Event) => any) | null;\n/**\n * Fires when the contents of the object or selection have changed.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/change_event)\n */\ndeclare var onchange: ((this: Window, ev: Event) => any) | null;\n/**\n * Fires when the user clicks the left mouse button on the object\n * @param ev The mouse event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/click_event)\n */\ndeclare var onclick: ((this: Window, ev: MouseEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/close_event) */\ndeclare var onclose: ((this: Window, ev: Event) => any) | null;\n/**\n * Fires when the user clicks the right mouse button in the client area, opening the context menu.\n * @param ev The mouse event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/contextmenu_event)\n */\ndeclare var oncontextmenu: ((this: Window, ev: MouseEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/copy_event) */\ndeclare var oncopy: ((this: Window, ev: ClipboardEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/cuechange_event) */\ndeclare var oncuechange: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/cut_event) */\ndeclare var oncut: ((this: Window, ev: ClipboardEvent) => any) | null;\n/**\n * Fires when the user double-clicks the object.\n * @param ev The mouse event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/dblclick_event)\n */\ndeclare var ondblclick: ((this: Window, ev: MouseEvent) => any) | null;\n/**\n * Fires on the source object continuously during a drag operation.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/drag_event)\n */\ndeclare var ondrag: ((this: Window, ev: DragEvent) => any) | null;\n/**\n * Fires on the source object when the user releases the mouse at the close of a drag operation.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragend_event)\n */\ndeclare var ondragend: ((this: Window, ev: DragEvent) => any) | null;\n/**\n * Fires on the target element when the user drags the object to a valid drop target.\n * @param ev The drag event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragenter_event)\n */\ndeclare var ondragenter: ((this: Window, ev: DragEvent) => any) | null;\n/**\n * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.\n * @param ev The drag event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragleave_event)\n */\ndeclare var ondragleave: ((this: Window, ev: DragEvent) => any) | null;\n/**\n * Fires on the target element continuously while the user drags the object over a valid drop target.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragover_event)\n */\ndeclare var ondragover: ((this: Window, ev: DragEvent) => any) | null;\n/**\n * Fires on the source object when the user starts to drag a text selection or selected object.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragstart_event)\n */\ndeclare var ondragstart: ((this: Window, ev: DragEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/drop_event) */\ndeclare var ondrop: ((this: Window, ev: DragEvent) => any) | null;\n/**\n * Occurs when the duration attribute is updated.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/durationchange_event)\n */\ndeclare var ondurationchange: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when the media element is reset to its initial state.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/emptied_event)\n */\ndeclare var onemptied: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when the end of playback is reached.\n * @param ev The event\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ended_event)\n */\ndeclare var onended: ((this: Window, ev: Event) => any) | null;\n/**\n * Fires when an error occurs during object loading.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/error_event)\n */\ndeclare var onerror: OnErrorEventHandler;\n/**\n * Fires when the object receives focus.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/focus_event)\n */\ndeclare var onfocus: ((this: Window, ev: FocusEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/formdata_event) */\ndeclare var onformdata: ((this: Window, ev: FormDataEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/gotpointercapture_event) */\ndeclare var ongotpointercapture: ((this: Window, ev: PointerEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/input_event) */\ndeclare var oninput: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/invalid_event) */\ndeclare var oninvalid: ((this: Window, ev: Event) => any) | null;\n/**\n * Fires when the user presses a key.\n * @param ev The keyboard event\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keydown_event)\n */\ndeclare var onkeydown: ((this: Window, ev: KeyboardEvent) => any) | null;\n/**\n * Fires when the user presses an alphanumeric key.\n * @param ev The event.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keypress_event)\n */\ndeclare var onkeypress: ((this: Window, ev: KeyboardEvent) => any) | null;\n/**\n * Fires when the user releases a key.\n * @param ev The keyboard event\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keyup_event)\n */\ndeclare var onkeyup: ((this: Window, ev: KeyboardEvent) => any) | null;\n/**\n * Fires immediately after the browser loads the object.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGElement/load_event)\n */\ndeclare var onload: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when media data is loaded at the current playback position.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadeddata_event)\n */\ndeclare var onloadeddata: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when the duration and dimensions of the media have been determined.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadedmetadata_event)\n */\ndeclare var onloadedmetadata: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when Internet Explorer begins looking for media data.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadstart_event)\n */\ndeclare var onloadstart: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/lostpointercapture_event) */\ndeclare var onlostpointercapture: ((this: Window, ev: PointerEvent) => any) | null;\n/**\n * Fires when the user clicks the object with either mouse button.\n * @param ev The mouse event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mousedown_event)\n */\ndeclare var onmousedown: ((this: Window, ev: MouseEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseenter_event) */\ndeclare var onmouseenter: ((this: Window, ev: MouseEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseleave_event) */\ndeclare var onmouseleave: ((this: Window, ev: MouseEvent) => any) | null;\n/**\n * Fires when the user moves the mouse over the object.\n * @param ev The mouse event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mousemove_event)\n */\ndeclare var onmousemove: ((this: Window, ev: MouseEvent) => any) | null;\n/**\n * Fires when the user moves the mouse pointer outside the boundaries of the object.\n * @param ev The mouse event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseout_event)\n */\ndeclare var onmouseout: ((this: Window, ev: MouseEvent) => any) | null;\n/**\n * Fires when the user moves the mouse pointer into the object.\n * @param ev The mouse event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseover_event)\n */\ndeclare var onmouseover: ((this: Window, ev: MouseEvent) => any) | null;\n/**\n * Fires when the user releases a mouse button while the mouse is over the object.\n * @param ev The mouse event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseup_event)\n */\ndeclare var onmouseup: ((this: Window, ev: MouseEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/paste_event) */\ndeclare var onpaste: ((this: Window, ev: ClipboardEvent) => any) | null;\n/**\n * Occurs when playback is paused.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/pause_event)\n */\ndeclare var onpause: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when the play method is requested.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/play_event)\n */\ndeclare var onplay: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when the audio or video has started playing.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/playing_event)\n */\ndeclare var onplaying: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointercancel_event) */\ndeclare var onpointercancel: ((this: Window, ev: PointerEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerdown_event) */\ndeclare var onpointerdown: ((this: Window, ev: PointerEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerenter_event) */\ndeclare var onpointerenter: ((this: Window, ev: PointerEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerleave_event) */\ndeclare var onpointerleave: ((this: Window, ev: PointerEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointermove_event) */\ndeclare var onpointermove: ((this: Window, ev: PointerEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerout_event) */\ndeclare var onpointerout: ((this: Window, ev: PointerEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerover_event) */\ndeclare var onpointerover: ((this: Window, ev: PointerEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerup_event) */\ndeclare var onpointerup: ((this: Window, ev: PointerEvent) => any) | null;\n/**\n * Occurs to indicate progress while downloading media data.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/progress_event)\n */\ndeclare var onprogress: ((this: Window, ev: ProgressEvent) => any) | null;\n/**\n * Occurs when the playback rate is increased or decreased.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ratechange_event)\n */\ndeclare var onratechange: ((this: Window, ev: Event) => any) | null;\n/**\n * Fires when the user resets a form.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reset_event)\n */\ndeclare var onreset: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/resize_event) */\ndeclare var onresize: ((this: Window, ev: UIEvent) => any) | null;\n/**\n * Fires when the user repositions the scroll box in the scroll bar on the object.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scroll_event)\n */\ndeclare var onscroll: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scrollend_event) */\ndeclare var onscrollend: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/securitypolicyviolation_event) */\ndeclare var onsecuritypolicyviolation: ((this: Window, ev: SecurityPolicyViolationEvent) => any) | null;\n/**\n * Occurs when the seek operation ends.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeked_event)\n */\ndeclare var onseeked: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when the current playback position is moved.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeking_event)\n */\ndeclare var onseeking: ((this: Window, ev: Event) => any) | null;\n/**\n * Fires when the current selection changes.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/select_event)\n */\ndeclare var onselect: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/selectionchange_event) */\ndeclare var onselectionchange: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/selectstart_event) */\ndeclare var onselectstart: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/slotchange_event) */\ndeclare var onslotchange: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when the download has stopped.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/stalled_event)\n */\ndeclare var onstalled: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/submit_event) */\ndeclare var onsubmit: ((this: Window, ev: SubmitEvent) => any) | null;\n/**\n * Occurs if the load operation has been intentionally halted.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/suspend_event)\n */\ndeclare var onsuspend: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs to indicate the current playback position.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/timeupdate_event)\n */\ndeclare var ontimeupdate: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement/toggle_event) */\ndeclare var ontoggle: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchcancel_event) */\ndeclare var ontouchcancel: ((this: Window, ev: TouchEvent) => any) | null | undefined;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchend_event) */\ndeclare var ontouchend: ((this: Window, ev: TouchEvent) => any) | null | undefined;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchmove_event) */\ndeclare var ontouchmove: ((this: Window, ev: TouchEvent) => any) | null | undefined;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchstart_event) */\ndeclare var ontouchstart: ((this: Window, ev: TouchEvent) => any) | null | undefined;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitioncancel_event) */\ndeclare var ontransitioncancel: ((this: Window, ev: TransitionEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionend_event) */\ndeclare var ontransitionend: ((this: Window, ev: TransitionEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionrun_event) */\ndeclare var ontransitionrun: ((this: Window, ev: TransitionEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionstart_event) */\ndeclare var ontransitionstart: ((this: Window, ev: TransitionEvent) => any) | null;\n/**\n * Occurs when the volume is changed, or playback is muted or unmuted.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/volumechange_event)\n */\ndeclare var onvolumechange: ((this: Window, ev: Event) => any) | null;\n/**\n * Occurs when playback stops because the next frame of a video resource is not available.\n * @param ev The event.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/waiting_event)\n */\ndeclare var onwaiting: ((this: Window, ev: Event) => any) | null;\n/**\n * @deprecated This is a legacy alias of \\`onanimationend\\`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationend_event)\n */\ndeclare var onwebkitanimationend: ((this: Window, ev: Event) => any) | null;\n/**\n * @deprecated This is a legacy alias of \\`onanimationiteration\\`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationiteration_event)\n */\ndeclare var onwebkitanimationiteration: ((this: Window, ev: Event) => any) | null;\n/**\n * @deprecated This is a legacy alias of \\`onanimationstart\\`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationstart_event)\n */\ndeclare var onwebkitanimationstart: ((this: Window, ev: Event) => any) | null;\n/**\n * @deprecated This is a legacy alias of \\`ontransitionend\\`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionend_event)\n */\ndeclare var onwebkittransitionend: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/wheel_event) */\ndeclare var onwheel: ((this: Window, ev: WheelEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/afterprint_event) */\ndeclare var onafterprint: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/beforeprint_event) */\ndeclare var onbeforeprint: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/beforeunload_event) */\ndeclare var onbeforeunload: ((this: Window, ev: BeforeUnloadEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/gamepadconnected_event) */\ndeclare var ongamepadconnected: ((this: Window, ev: GamepadEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/gamepaddisconnected_event) */\ndeclare var ongamepaddisconnected: ((this: Window, ev: GamepadEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/hashchange_event) */\ndeclare var onhashchange: ((this: Window, ev: HashChangeEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/languagechange_event) */\ndeclare var onlanguagechange: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/message_event) */\ndeclare var onmessage: ((this: Window, ev: MessageEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/messageerror_event) */\ndeclare var onmessageerror: ((this: Window, ev: MessageEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/offline_event) */\ndeclare var onoffline: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/online_event) */\ndeclare var ononline: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/pagehide_event) */\ndeclare var onpagehide: ((this: Window, ev: PageTransitionEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/pageshow_event) */\ndeclare var onpageshow: ((this: Window, ev: PageTransitionEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/popstate_event) */\ndeclare var onpopstate: ((this: Window, ev: PopStateEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/rejectionhandled_event) */\ndeclare var onrejectionhandled: ((this: Window, ev: PromiseRejectionEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/storage_event) */\ndeclare var onstorage: ((this: Window, ev: StorageEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/unhandledrejection_event) */\ndeclare var onunhandledrejection: ((this: Window, ev: PromiseRejectionEvent) => any) | null;\n/**\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/unload_event)\n */\ndeclare var onunload: ((this: Window, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/localStorage) */\ndeclare var localStorage: Storage;\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/caches)\n */\ndeclare var caches: CacheStorage;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crossOriginIsolated) */\ndeclare var crossOriginIsolated: boolean;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crypto_property) */\ndeclare var crypto: Crypto;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/indexedDB) */\ndeclare var indexedDB: IDBFactory;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/isSecureContext) */\ndeclare var isSecureContext: boolean;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/origin) */\ndeclare var origin: string;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/performance_property) */\ndeclare var performance: Performance;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/atob) */\ndeclare function atob(data: string): string;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/btoa) */\ndeclare function btoa(data: string): string;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearInterval) */\ndeclare function clearInterval(id: number | undefined): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearTimeout) */\ndeclare function clearTimeout(id: number | undefined): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/createImageBitmap) */\ndeclare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;\ndeclare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch) */\ndeclare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/queueMicrotask) */\ndeclare function queueMicrotask(callback: VoidFunction): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/reportError) */\ndeclare function reportError(e: any): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/setInterval) */\ndeclare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/setTimeout) */\ndeclare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/structuredClone) */\ndeclare function structuredClone<T = any>(value: T, options?: StructuredSerializeOptions): T;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/sessionStorage) */\ndeclare var sessionStorage: Storage;\ndeclare function addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\ndeclare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\ndeclare function removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\ndeclare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\ntype AlgorithmIdentifier = Algorithm | string;\ntype AllowSharedBufferSource = ArrayBuffer | ArrayBufferView;\ntype AutoFill = AutoFillBase | \\`\\${OptionalPrefixToken<AutoFillSection>}\\${OptionalPrefixToken<AutoFillAddressKind>}\\${AutoFillField}\\${OptionalPostfixToken<AutoFillCredentialField>}\\`;\ntype AutoFillField = AutoFillNormalField | \\`\\${OptionalPrefixToken<AutoFillContactKind>}\\${AutoFillContactField}\\`;\ntype AutoFillSection = \\`section-\\${string}\\`;\ntype BigInteger = Uint8Array;\ntype BinaryData = ArrayBuffer | ArrayBufferView;\ntype BlobPart = BufferSource | Blob | string;\ntype BodyInit = ReadableStream | XMLHttpRequestBodyInit;\ntype BufferSource = ArrayBufferView | ArrayBuffer;\ntype COSEAlgorithmIdentifier = number;\ntype CSSKeywordish = string | CSSKeywordValue;\ntype CSSNumberish = number | CSSNumericValue;\ntype CSSPerspectiveValue = CSSNumericValue | CSSKeywordish;\ntype CSSUnparsedSegment = string | CSSVariableReferenceValue;\ntype CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame;\ntype ClipboardItemData = Promise<string | Blob>;\ntype ClipboardItems = ClipboardItem[];\ntype ConstrainBoolean = boolean | ConstrainBooleanParameters;\ntype ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;\ntype ConstrainDouble = number | ConstrainDoubleRange;\ntype ConstrainULong = number | ConstrainULongRange;\ntype DOMHighResTimeStamp = number;\ntype EpochTimeStamp = number;\ntype EventListenerOrEventListenerObject = EventListener | EventListenerObject;\ntype FileSystemWriteChunkType = BufferSource | Blob | string | WriteParams;\ntype Float32List = Float32Array | GLfloat[];\ntype FormDataEntryValue = File | string;\ntype GLbitfield = number;\ntype GLboolean = boolean;\ntype GLclampf = number;\ntype GLenum = number;\ntype GLfloat = number;\ntype GLint = number;\ntype GLint64 = number;\ntype GLintptr = number;\ntype GLsizei = number;\ntype GLsizeiptr = number;\ntype GLuint = number;\ntype GLuint64 = number;\ntype HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement;\ntype HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement;\ntype HashAlgorithmIdentifier = AlgorithmIdentifier;\ntype HeadersInit = [string, string][] | Record<string, string> | Headers;\ntype IDBValidKey = number | string | Date | BufferSource | IDBValidKey[];\ntype ImageBitmapSource = CanvasImageSource | Blob | ImageData;\ntype Int32List = Int32Array | GLint[];\ntype LineAndPositionSetting = number | AutoKeyword;\ntype MediaProvider = MediaStream | MediaSource | Blob;\ntype MessageEventSource = WindowProxy | MessagePort | ServiceWorker;\ntype MutationRecordType = \"attributes\" | \"characterData\" | \"childList\";\ntype NamedCurve = string;\ntype OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;\ntype OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;\ntype OnErrorEventHandler = OnErrorEventHandlerNonNull | null;\ntype OptionalPostfixToken<T extends string> = \\` \\${T}\\` | \"\";\ntype OptionalPrefixToken<T extends string> = \\`\\${T} \\` | \"\";\ntype PerformanceEntryList = PerformanceEntry[];\ntype RTCRtpTransform = RTCRtpScriptTransform;\ntype ReadableStreamController<T> = ReadableStreamDefaultController<T> | ReadableByteStreamController;\ntype ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;\ntype ReadableStreamReader<T> = ReadableStreamDefaultReader<T> | ReadableStreamBYOBReader;\ntype RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;\ntype ReportList = Report[];\ntype RequestInfo = Request | string;\ntype TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | OffscreenCanvas | VideoFrame;\ntype TimerHandler = string | Function;\ntype Transferable = OffscreenCanvas | ImageBitmap | MessagePort | ReadableStream | WritableStream | TransformStream | VideoFrame | ArrayBuffer;\ntype Uint32List = Uint32Array | GLuint[];\ntype VibratePattern = number | number[];\ntype WindowProxy = Window;\ntype XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string;\ntype AlignSetting = \"center\" | \"end\" | \"left\" | \"right\" | \"start\";\ntype AlphaOption = \"discard\" | \"keep\";\ntype AnimationPlayState = \"finished\" | \"idle\" | \"paused\" | \"running\";\ntype AnimationReplaceState = \"active\" | \"persisted\" | \"removed\";\ntype AppendMode = \"segments\" | \"sequence\";\ntype AttestationConveyancePreference = \"direct\" | \"enterprise\" | \"indirect\" | \"none\";\ntype AudioContextLatencyCategory = \"balanced\" | \"interactive\" | \"playback\";\ntype AudioContextState = \"closed\" | \"running\" | \"suspended\";\ntype AuthenticatorAttachment = \"cross-platform\" | \"platform\";\ntype AuthenticatorTransport = \"ble\" | \"hybrid\" | \"internal\" | \"nfc\" | \"usb\";\ntype AutoFillAddressKind = \"billing\" | \"shipping\";\ntype AutoFillBase = \"\" | \"off\" | \"on\";\ntype AutoFillContactField = \"email\" | \"tel\" | \"tel-area-code\" | \"tel-country-code\" | \"tel-extension\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-national\";\ntype AutoFillContactKind = \"home\" | \"mobile\" | \"work\";\ntype AutoFillCredentialField = \"webauthn\";\ntype AutoFillNormalField = \"additional-name\" | \"address-level1\" | \"address-level2\" | \"address-level3\" | \"address-level4\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"cc-csc\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-family-name\" | \"cc-given-name\" | \"cc-name\" | \"cc-number\" | \"cc-type\" | \"country\" | \"country-name\" | \"current-password\" | \"family-name\" | \"given-name\" | \"honorific-prefix\" | \"honorific-suffix\" | \"name\" | \"new-password\" | \"one-time-code\" | \"organization\" | \"postal-code\" | \"street-address\" | \"transaction-amount\" | \"transaction-currency\" | \"username\";\ntype AutoKeyword = \"auto\";\ntype AutomationRate = \"a-rate\" | \"k-rate\";\ntype AvcBitstreamFormat = \"annexb\" | \"avc\";\ntype BinaryType = \"arraybuffer\" | \"blob\";\ntype BiquadFilterType = \"allpass\" | \"bandpass\" | \"highpass\" | \"highshelf\" | \"lowpass\" | \"lowshelf\" | \"notch\" | \"peaking\";\ntype CSSMathOperator = \"clamp\" | \"invert\" | \"max\" | \"min\" | \"negate\" | \"product\" | \"sum\";\ntype CSSNumericBaseType = \"angle\" | \"flex\" | \"frequency\" | \"length\" | \"percent\" | \"resolution\" | \"time\";\ntype CanPlayTypeResult = \"\" | \"maybe\" | \"probably\";\ntype CanvasDirection = \"inherit\" | \"ltr\" | \"rtl\";\ntype CanvasFillRule = \"evenodd\" | \"nonzero\";\ntype CanvasFontKerning = \"auto\" | \"none\" | \"normal\";\ntype CanvasFontStretch = \"condensed\" | \"expanded\" | \"extra-condensed\" | \"extra-expanded\" | \"normal\" | \"semi-condensed\" | \"semi-expanded\" | \"ultra-condensed\" | \"ultra-expanded\";\ntype CanvasFontVariantCaps = \"all-petite-caps\" | \"all-small-caps\" | \"normal\" | \"petite-caps\" | \"small-caps\" | \"titling-caps\" | \"unicase\";\ntype CanvasLineCap = \"butt\" | \"round\" | \"square\";\ntype CanvasLineJoin = \"bevel\" | \"miter\" | \"round\";\ntype CanvasTextAlign = \"center\" | \"end\" | \"left\" | \"right\" | \"start\";\ntype CanvasTextBaseline = \"alphabetic\" | \"bottom\" | \"hanging\" | \"ideographic\" | \"middle\" | \"top\";\ntype CanvasTextRendering = \"auto\" | \"geometricPrecision\" | \"optimizeLegibility\" | \"optimizeSpeed\";\ntype ChannelCountMode = \"clamped-max\" | \"explicit\" | \"max\";\ntype ChannelInterpretation = \"discrete\" | \"speakers\";\ntype ClientTypes = \"all\" | \"sharedworker\" | \"window\" | \"worker\";\ntype CodecState = \"closed\" | \"configured\" | \"unconfigured\";\ntype ColorGamut = \"p3\" | \"rec2020\" | \"srgb\";\ntype ColorSpaceConversion = \"default\" | \"none\";\ntype CompositeOperation = \"accumulate\" | \"add\" | \"replace\";\ntype CompositeOperationOrAuto = \"accumulate\" | \"add\" | \"auto\" | \"replace\";\ntype CompressionFormat = \"deflate\" | \"deflate-raw\" | \"gzip\";\ntype CredentialMediationRequirement = \"conditional\" | \"optional\" | \"required\" | \"silent\";\ntype DOMParserSupportedType = \"application/xhtml+xml\" | \"application/xml\" | \"image/svg+xml\" | \"text/html\" | \"text/xml\";\ntype DirectionSetting = \"\" | \"lr\" | \"rl\";\ntype DisplayCaptureSurfaceType = \"browser\" | \"monitor\" | \"window\";\ntype DistanceModelType = \"exponential\" | \"inverse\" | \"linear\";\ntype DocumentReadyState = \"complete\" | \"interactive\" | \"loading\";\ntype DocumentVisibilityState = \"hidden\" | \"visible\";\ntype EncodedVideoChunkType = \"delta\" | \"key\";\ntype EndOfStreamError = \"decode\" | \"network\";\ntype EndingType = \"native\" | \"transparent\";\ntype FileSystemHandleKind = \"directory\" | \"file\";\ntype FillMode = \"auto\" | \"backwards\" | \"both\" | \"forwards\" | \"none\";\ntype FontDisplay = \"auto\" | \"block\" | \"fallback\" | \"optional\" | \"swap\";\ntype FontFaceLoadStatus = \"error\" | \"loaded\" | \"loading\" | \"unloaded\";\ntype FontFaceSetLoadStatus = \"loaded\" | \"loading\";\ntype FullscreenNavigationUI = \"auto\" | \"hide\" | \"show\";\ntype GamepadHapticActuatorType = \"vibration\";\ntype GamepadHapticEffectType = \"dual-rumble\";\ntype GamepadHapticsResult = \"complete\" | \"preempted\";\ntype GamepadMappingType = \"\" | \"standard\" | \"xr-standard\";\ntype GlobalCompositeOperation = \"color\" | \"color-burn\" | \"color-dodge\" | \"copy\" | \"darken\" | \"destination-atop\" | \"destination-in\" | \"destination-out\" | \"destination-over\" | \"difference\" | \"exclusion\" | \"hard-light\" | \"hue\" | \"lighten\" | \"lighter\" | \"luminosity\" | \"multiply\" | \"overlay\" | \"saturation\" | \"screen\" | \"soft-light\" | \"source-atop\" | \"source-in\" | \"source-out\" | \"source-over\" | \"xor\";\ntype HardwareAcceleration = \"no-preference\" | \"prefer-hardware\" | \"prefer-software\";\ntype HdrMetadataType = \"smpteSt2086\" | \"smpteSt2094-10\" | \"smpteSt2094-40\";\ntype HighlightType = \"grammar-error\" | \"highlight\" | \"spelling-error\";\ntype IDBCursorDirection = \"next\" | \"nextunique\" | \"prev\" | \"prevunique\";\ntype IDBRequestReadyState = \"done\" | \"pending\";\ntype IDBTransactionDurability = \"default\" | \"relaxed\" | \"strict\";\ntype IDBTransactionMode = \"readonly\" | \"readwrite\" | \"versionchange\";\ntype ImageOrientation = \"flipY\" | \"from-image\" | \"none\";\ntype ImageSmoothingQuality = \"high\" | \"low\" | \"medium\";\ntype InsertPosition = \"afterbegin\" | \"afterend\" | \"beforebegin\" | \"beforeend\";\ntype IterationCompositeOperation = \"accumulate\" | \"replace\";\ntype KeyFormat = \"jwk\" | \"pkcs8\" | \"raw\" | \"spki\";\ntype KeyType = \"private\" | \"public\" | \"secret\";\ntype KeyUsage = \"decrypt\" | \"deriveBits\" | \"deriveKey\" | \"encrypt\" | \"sign\" | \"unwrapKey\" | \"verify\" | \"wrapKey\";\ntype LatencyMode = \"quality\" | \"realtime\";\ntype LineAlignSetting = \"center\" | \"end\" | \"start\";\ntype LockMode = \"exclusive\" | \"shared\";\ntype MIDIPortConnectionState = \"closed\" | \"open\" | \"pending\";\ntype MIDIPortDeviceState = \"connected\" | \"disconnected\";\ntype MIDIPortType = \"input\" | \"output\";\ntype MediaDecodingType = \"file\" | \"media-source\" | \"webrtc\";\ntype MediaDeviceKind = \"audioinput\" | \"audiooutput\" | \"videoinput\";\ntype MediaEncodingType = \"record\" | \"webrtc\";\ntype MediaKeyMessageType = \"individualization-request\" | \"license-release\" | \"license-renewal\" | \"license-request\";\ntype MediaKeySessionClosedReason = \"closed-by-application\" | \"hardware-context-reset\" | \"internal-error\" | \"release-acknowledged\" | \"resource-evicted\";\ntype MediaKeySessionType = \"persistent-license\" | \"temporary\";\ntype MediaKeyStatus = \"expired\" | \"internal-error\" | \"output-downscaled\" | \"output-restricted\" | \"released\" | \"status-pending\" | \"usable\" | \"usable-in-future\";\ntype MediaKeysRequirement = \"not-allowed\" | \"optional\" | \"required\";\ntype MediaSessionAction = \"nexttrack\" | \"pause\" | \"play\" | \"previoustrack\" | \"seekbackward\" | \"seekforward\" | \"seekto\" | \"skipad\" | \"stop\";\ntype MediaSessionPlaybackState = \"none\" | \"paused\" | \"playing\";\ntype MediaStreamTrackState = \"ended\" | \"live\";\ntype NavigationTimingType = \"back_forward\" | \"navigate\" | \"prerender\" | \"reload\";\ntype NotificationDirection = \"auto\" | \"ltr\" | \"rtl\";\ntype NotificationPermission = \"default\" | \"denied\" | \"granted\";\ntype OffscreenRenderingContextId = \"2d\" | \"bitmaprenderer\" | \"webgl\" | \"webgl2\" | \"webgpu\";\ntype OrientationType = \"landscape-primary\" | \"landscape-secondary\" | \"portrait-primary\" | \"portrait-secondary\";\ntype OscillatorType = \"custom\" | \"sawtooth\" | \"sine\" | \"square\" | \"triangle\";\ntype OverSampleType = \"2x\" | \"4x\" | \"none\";\ntype PanningModelType = \"HRTF\" | \"equalpower\";\ntype PaymentComplete = \"fail\" | \"success\" | \"unknown\";\ntype PermissionName = \"geolocation\" | \"notifications\" | \"persistent-storage\" | \"push\" | \"screen-wake-lock\" | \"xr-spatial-tracking\";\ntype PermissionState = \"denied\" | \"granted\" | \"prompt\";\ntype PlaybackDirection = \"alternate\" | \"alternate-reverse\" | \"normal\" | \"reverse\";\ntype PositionAlignSetting = \"auto\" | \"center\" | \"line-left\" | \"line-right\";\ntype PredefinedColorSpace = \"display-p3\" | \"srgb\";\ntype PremultiplyAlpha = \"default\" | \"none\" | \"premultiply\";\ntype PresentationStyle = \"attachment\" | \"inline\" | \"unspecified\";\ntype PublicKeyCredentialType = \"public-key\";\ntype PushEncryptionKeyName = \"auth\" | \"p256dh\";\ntype RTCBundlePolicy = \"balanced\" | \"max-bundle\" | \"max-compat\";\ntype RTCDataChannelState = \"closed\" | \"closing\" | \"connecting\" | \"open\";\ntype RTCDegradationPreference = \"balanced\" | \"maintain-framerate\" | \"maintain-resolution\";\ntype RTCDtlsTransportState = \"closed\" | \"connected\" | \"connecting\" | \"failed\" | \"new\";\ntype RTCEncodedVideoFrameType = \"delta\" | \"empty\" | \"key\";\ntype RTCErrorDetailType = \"data-channel-failure\" | \"dtls-failure\" | \"fingerprint-failure\" | \"hardware-encoder-error\" | \"hardware-encoder-not-available\" | \"sctp-failure\" | \"sdp-syntax-error\";\ntype RTCIceCandidateType = \"host\" | \"prflx\" | \"relay\" | \"srflx\";\ntype RTCIceComponent = \"rtcp\" | \"rtp\";\ntype RTCIceConnectionState = \"checking\" | \"closed\" | \"completed\" | \"connected\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCIceGathererState = \"complete\" | \"gathering\" | \"new\";\ntype RTCIceGatheringState = \"complete\" | \"gathering\" | \"new\";\ntype RTCIceProtocol = \"tcp\" | \"udp\";\ntype RTCIceTcpCandidateType = \"active\" | \"passive\" | \"so\";\ntype RTCIceTransportPolicy = \"all\" | \"relay\";\ntype RTCIceTransportState = \"checking\" | \"closed\" | \"completed\" | \"connected\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCPeerConnectionState = \"closed\" | \"connected\" | \"connecting\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCPriorityType = \"high\" | \"low\" | \"medium\" | \"very-low\";\ntype RTCRtcpMuxPolicy = \"require\";\ntype RTCRtpTransceiverDirection = \"inactive\" | \"recvonly\" | \"sendonly\" | \"sendrecv\" | \"stopped\";\ntype RTCSctpTransportState = \"closed\" | \"connected\" | \"connecting\";\ntype RTCSdpType = \"answer\" | \"offer\" | \"pranswer\" | \"rollback\";\ntype RTCSignalingState = \"closed\" | \"have-local-offer\" | \"have-local-pranswer\" | \"have-remote-offer\" | \"have-remote-pranswer\" | \"stable\";\ntype RTCStatsIceCandidatePairState = \"failed\" | \"frozen\" | \"in-progress\" | \"inprogress\" | \"succeeded\" | \"waiting\";\ntype RTCStatsType = \"candidate-pair\" | \"certificate\" | \"codec\" | \"data-channel\" | \"inbound-rtp\" | \"local-candidate\" | \"media-playout\" | \"media-source\" | \"outbound-rtp\" | \"peer-connection\" | \"remote-candidate\" | \"remote-inbound-rtp\" | \"remote-outbound-rtp\" | \"transport\";\ntype ReadableStreamReaderMode = \"byob\";\ntype ReadableStreamType = \"bytes\";\ntype ReadyState = \"closed\" | \"ended\" | \"open\";\ntype RecordingState = \"inactive\" | \"paused\" | \"recording\";\ntype ReferrerPolicy = \"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\";\ntype RemotePlaybackState = \"connected\" | \"connecting\" | \"disconnected\";\ntype RequestCache = \"default\" | \"force-cache\" | \"no-cache\" | \"no-store\" | \"only-if-cached\" | \"reload\";\ntype RequestCredentials = \"include\" | \"omit\" | \"same-origin\";\ntype RequestDestination = \"\" | \"audio\" | \"audioworklet\" | \"document\" | \"embed\" | \"font\" | \"frame\" | \"iframe\" | \"image\" | \"manifest\" | \"object\" | \"paintworklet\" | \"report\" | \"script\" | \"sharedworker\" | \"style\" | \"track\" | \"video\" | \"worker\" | \"xslt\";\ntype RequestMode = \"cors\" | \"navigate\" | \"no-cors\" | \"same-origin\";\ntype RequestPriority = \"auto\" | \"high\" | \"low\";\ntype RequestRedirect = \"error\" | \"follow\" | \"manual\";\ntype ResidentKeyRequirement = \"discouraged\" | \"preferred\" | \"required\";\ntype ResizeObserverBoxOptions = \"border-box\" | \"content-box\" | \"device-pixel-content-box\";\ntype ResizeQuality = \"high\" | \"low\" | \"medium\" | \"pixelated\";\ntype ResponseType = \"basic\" | \"cors\" | \"default\" | \"error\" | \"opaque\" | \"opaqueredirect\";\ntype ScrollBehavior = \"auto\" | \"instant\" | \"smooth\";\ntype ScrollLogicalPosition = \"center\" | \"end\" | \"nearest\" | \"start\";\ntype ScrollRestoration = \"auto\" | \"manual\";\ntype ScrollSetting = \"\" | \"up\";\ntype SecurityPolicyViolationEventDisposition = \"enforce\" | \"report\";\ntype SelectionMode = \"end\" | \"preserve\" | \"select\" | \"start\";\ntype ServiceWorkerState = \"activated\" | \"activating\" | \"installed\" | \"installing\" | \"parsed\" | \"redundant\";\ntype ServiceWorkerUpdateViaCache = \"all\" | \"imports\" | \"none\";\ntype ShadowRootMode = \"closed\" | \"open\";\ntype SlotAssignmentMode = \"manual\" | \"named\";\ntype SpeechSynthesisErrorCode = \"audio-busy\" | \"audio-hardware\" | \"canceled\" | \"interrupted\" | \"invalid-argument\" | \"language-unavailable\" | \"network\" | \"not-allowed\" | \"synthesis-failed\" | \"synthesis-unavailable\" | \"text-too-long\" | \"voice-unavailable\";\ntype TextTrackKind = \"captions\" | \"chapters\" | \"descriptions\" | \"metadata\" | \"subtitles\";\ntype TextTrackMode = \"disabled\" | \"hidden\" | \"showing\";\ntype TouchType = \"direct\" | \"stylus\";\ntype TransferFunction = \"hlg\" | \"pq\" | \"srgb\";\ntype UserVerificationRequirement = \"discouraged\" | \"preferred\" | \"required\";\ntype VideoColorPrimaries = \"bt470bg\" | \"bt709\" | \"smpte170m\";\ntype VideoEncoderBitrateMode = \"constant\" | \"quantizer\" | \"variable\";\ntype VideoFacingModeEnum = \"environment\" | \"left\" | \"right\" | \"user\";\ntype VideoMatrixCoefficients = \"bt470bg\" | \"bt709\" | \"rgb\" | \"smpte170m\";\ntype VideoPixelFormat = \"BGRA\" | \"BGRX\" | \"I420\" | \"I420A\" | \"I422\" | \"I444\" | \"NV12\" | \"RGBA\" | \"RGBX\";\ntype VideoTransferCharacteristics = \"bt709\" | \"iec61966-2-1\" | \"smpte170m\";\ntype WakeLockType = \"screen\";\ntype WebGLPowerPreference = \"default\" | \"high-performance\" | \"low-power\";\ntype WebTransportCongestionControl = \"default\" | \"low-latency\" | \"throughput\";\ntype WebTransportErrorSource = \"session\" | \"stream\";\ntype WorkerType = \"classic\" | \"module\";\ntype WriteCommandType = \"seek\" | \"truncate\" | \"write\";\ntype XMLHttpRequestResponseType = \"\" | \"arraybuffer\" | \"blob\" | \"document\" | \"json\" | \"text\";\n`;Vi[\"lib.dom.iterable.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/////////////////////////////\n/// Window Iterable APIs\n/////////////////////////////\n\ninterface AudioParam {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueCurveAtTime) */\n    setValueCurveAtTime(values: Iterable<number>, startTime: number, duration: number): AudioParam;\n}\n\ninterface AudioParamMap extends ReadonlyMap<string, AudioParam> {\n}\n\ninterface BaseAudioContext {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter) */\n    createIIRFilter(feedforward: Iterable<number>, feedback: Iterable<number>): IIRFilterNode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave) */\n    createPeriodicWave(real: Iterable<number>, imag: Iterable<number>, constraints?: PeriodicWaveConstraints): PeriodicWave;\n}\n\ninterface CSSKeyframesRule {\n    [Symbol.iterator](): IterableIterator<CSSKeyframeRule>;\n}\n\ninterface CSSNumericArray {\n    [Symbol.iterator](): IterableIterator<CSSNumericValue>;\n    entries(): IterableIterator<[number, CSSNumericValue]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<CSSNumericValue>;\n}\n\ninterface CSSRuleList {\n    [Symbol.iterator](): IterableIterator<CSSRule>;\n}\n\ninterface CSSStyleDeclaration {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface CSSTransformValue {\n    [Symbol.iterator](): IterableIterator<CSSTransformComponent>;\n    entries(): IterableIterator<[number, CSSTransformComponent]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<CSSTransformComponent>;\n}\n\ninterface CSSUnparsedValue {\n    [Symbol.iterator](): IterableIterator<CSSUnparsedSegment>;\n    entries(): IterableIterator<[number, CSSUnparsedSegment]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<CSSUnparsedSegment>;\n}\n\ninterface Cache {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/addAll) */\n    addAll(requests: Iterable<RequestInfo>): Promise<void>;\n}\n\ninterface CanvasPath {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/roundRect) */\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void;\n}\n\ninterface CanvasPathDrawingStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash) */\n    setLineDash(segments: Iterable<number>): void;\n}\n\ninterface DOMRectList {\n    [Symbol.iterator](): IterableIterator<DOMRect>;\n}\n\ninterface DOMStringList {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface DOMTokenList {\n    [Symbol.iterator](): IterableIterator<string>;\n    entries(): IterableIterator<[number, string]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<string>;\n}\n\ninterface DataTransferItemList {\n    [Symbol.iterator](): IterableIterator<DataTransferItem>;\n}\n\ninterface EventCounts extends ReadonlyMap<string, number> {\n}\n\ninterface FileList {\n    [Symbol.iterator](): IterableIterator<File>;\n}\n\ninterface FontFaceSet extends Set<FontFace> {\n}\n\ninterface FormData {\n    [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>;\n    /** Returns an array of key, value pairs for every entry in the list. */\n    entries(): IterableIterator<[string, FormDataEntryValue]>;\n    /** Returns a list of keys in the list. */\n    keys(): IterableIterator<string>;\n    /** Returns a list of values in the list. */\n    values(): IterableIterator<FormDataEntryValue>;\n}\n\ninterface HTMLAllCollection {\n    [Symbol.iterator](): IterableIterator<Element>;\n}\n\ninterface HTMLCollectionBase {\n    [Symbol.iterator](): IterableIterator<Element>;\n}\n\ninterface HTMLCollectionOf<T extends Element> {\n    [Symbol.iterator](): IterableIterator<T>;\n}\n\ninterface HTMLFormElement {\n    [Symbol.iterator](): IterableIterator<Element>;\n}\n\ninterface HTMLSelectElement {\n    [Symbol.iterator](): IterableIterator<HTMLOptionElement>;\n}\n\ninterface Headers {\n    [Symbol.iterator](): IterableIterator<[string, string]>;\n    /** Returns an iterator allowing to go through all key/value pairs contained in this object. */\n    entries(): IterableIterator<[string, string]>;\n    /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */\n    keys(): IterableIterator<string>;\n    /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */\n    values(): IterableIterator<string>;\n}\n\ninterface Highlight extends Set<AbstractRange> {\n}\n\ninterface HighlightRegistry extends Map<string, Highlight> {\n}\n\ninterface IDBDatabase {\n    /**\n     * Returns a new transaction with the given mode (\"readonly\" or \"readwrite\") and scope which can be a single object store name or an array of names.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/transaction)\n     */\n    transaction(storeNames: string | Iterable<string>, mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n}\n\ninterface IDBObjectStore {\n    /**\n     * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a \"ConstraintError\" DOMException.\n     *\n     * Throws an \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)\n     */\n    createIndex(name: string, keyPath: string | Iterable<string>, options?: IDBIndexParameters): IDBIndex;\n}\n\ninterface MIDIInputMap extends ReadonlyMap<string, MIDIInput> {\n}\n\ninterface MIDIOutput {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIOutput/send) */\n    send(data: Iterable<number>, timestamp?: DOMHighResTimeStamp): void;\n}\n\ninterface MIDIOutputMap extends ReadonlyMap<string, MIDIOutput> {\n}\n\ninterface MediaKeyStatusMap {\n    [Symbol.iterator](): IterableIterator<[BufferSource, MediaKeyStatus]>;\n    entries(): IterableIterator<[BufferSource, MediaKeyStatus]>;\n    keys(): IterableIterator<BufferSource>;\n    values(): IterableIterator<MediaKeyStatus>;\n}\n\ninterface MediaList {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface MessageEvent<T = any> {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent)\n     */\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void;\n}\n\ninterface MimeTypeArray {\n    [Symbol.iterator](): IterableIterator<MimeType>;\n}\n\ninterface NamedNodeMap {\n    [Symbol.iterator](): IterableIterator<Attr>;\n}\n\ninterface Navigator {\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/requestMediaKeySystemAccess)\n     */\n    requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: Iterable<MediaKeySystemConfiguration>): Promise<MediaKeySystemAccess>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/vibrate) */\n    vibrate(pattern: Iterable<number>): boolean;\n}\n\ninterface NodeList {\n    [Symbol.iterator](): IterableIterator<Node>;\n    /** Returns an array of key, value pairs for every entry in the list. */\n    entries(): IterableIterator<[number, Node]>;\n    /** Returns an list of keys in the list. */\n    keys(): IterableIterator<number>;\n    /** Returns an list of values in the list. */\n    values(): IterableIterator<Node>;\n}\n\ninterface NodeListOf<TNode extends Node> {\n    [Symbol.iterator](): IterableIterator<TNode>;\n    /** Returns an array of key, value pairs for every entry in the list. */\n    entries(): IterableIterator<[number, TNode]>;\n    /** Returns an list of keys in the list. */\n    keys(): IterableIterator<number>;\n    /** Returns an list of values in the list. */\n    values(): IterableIterator<TNode>;\n}\n\ninterface Plugin {\n    [Symbol.iterator](): IterableIterator<MimeType>;\n}\n\ninterface PluginArray {\n    [Symbol.iterator](): IterableIterator<Plugin>;\n}\n\ninterface RTCRtpTransceiver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/setCodecPreferences) */\n    setCodecPreferences(codecs: Iterable<RTCRtpCodecCapability>): void;\n}\n\ninterface RTCStatsReport extends ReadonlyMap<string, any> {\n}\n\ninterface SVGLengthList {\n    [Symbol.iterator](): IterableIterator<SVGLength>;\n}\n\ninterface SVGNumberList {\n    [Symbol.iterator](): IterableIterator<SVGNumber>;\n}\n\ninterface SVGPointList {\n    [Symbol.iterator](): IterableIterator<DOMPoint>;\n}\n\ninterface SVGStringList {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface SVGTransformList {\n    [Symbol.iterator](): IterableIterator<SVGTransform>;\n}\n\ninterface SourceBufferList {\n    [Symbol.iterator](): IterableIterator<SourceBuffer>;\n}\n\ninterface SpeechRecognitionResult {\n    [Symbol.iterator](): IterableIterator<SpeechRecognitionAlternative>;\n}\n\ninterface SpeechRecognitionResultList {\n    [Symbol.iterator](): IterableIterator<SpeechRecognitionResult>;\n}\n\ninterface StylePropertyMapReadOnly {\n    [Symbol.iterator](): IterableIterator<[string, Iterable<CSSStyleValue>]>;\n    entries(): IterableIterator<[string, Iterable<CSSStyleValue>]>;\n    keys(): IterableIterator<string>;\n    values(): IterableIterator<Iterable<CSSStyleValue>>;\n}\n\ninterface StyleSheetList {\n    [Symbol.iterator](): IterableIterator<CSSStyleSheet>;\n}\n\ninterface SubtleCrypto {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey) */\n    deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey) */\n    generateKey(algorithm: \"Ed25519\", extractable: boolean, keyUsages: ReadonlyArray<\"sign\" | \"verify\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;\n    generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKeyPair | CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey) */\n    importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    importKey(format: Exclude<KeyFormat, \"jwk\">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey) */\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n}\n\ninterface TextTrackCueList {\n    [Symbol.iterator](): IterableIterator<TextTrackCue>;\n}\n\ninterface TextTrackList {\n    [Symbol.iterator](): IterableIterator<TextTrack>;\n}\n\ninterface TouchList {\n    [Symbol.iterator](): IterableIterator<Touch>;\n}\n\ninterface URLSearchParams {\n    [Symbol.iterator](): IterableIterator<[string, string]>;\n    /** Returns an array of key, value pairs for every entry in the search params. */\n    entries(): IterableIterator<[string, string]>;\n    /** Returns a list of keys in the search params. */\n    keys(): IterableIterator<string>;\n    /** Returns a list of values in the search params. */\n    values(): IterableIterator<string>;\n}\n\ninterface WEBGL_draw_buffers {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL) */\n    drawBuffersWEBGL(buffers: Iterable<GLenum>): void;\n}\n\ninterface WEBGL_multi_draw {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysInstancedWEBGL) */\n    multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: number, countsList: Int32Array | Iterable<GLsizei>, countsOffset: number, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysWEBGL) */\n    multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: number, countsList: Int32Array | Iterable<GLsizei>, countsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsInstancedWEBGL) */\n    multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: number, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsWEBGL) */\n    multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: number, drawcount: GLsizei): void;\n}\n\ninterface WebGL2RenderingContextBase {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawBuffers) */\n    drawBuffers(buffers: Iterable<GLenum>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniforms) */\n    getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices) */\n    getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): Iterable<GLuint> | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateFramebuffer) */\n    invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateSubFramebuffer) */\n    invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/transformFeedbackVaryings) */\n    transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void;\n}\n\ninterface WebGL2RenderingContextOverloads {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n}\n\ninterface WebGLRenderingContextBase {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib1fv(index: GLuint, values: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib2fv(index: GLuint, values: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib3fv(index: GLuint, values: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib4fv(index: GLuint, values: Iterable<GLfloat>): void;\n}\n\ninterface WebGLRenderingContextOverloads {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n}\n`;Vi[\"lib.es2015.collection.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Map<K, V> {\n    clear(): void;\n    /**\n     * @returns true if an element in the Map existed and has been removed, or false if the element does not exist.\n     */\n    delete(key: K): boolean;\n    /**\n     * Executes a provided function once per each key/value pair in the Map, in insertion order.\n     */\n    forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;\n    /**\n     * Returns a specified element from the Map object. If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the Map.\n     * @returns Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned.\n     */\n    get(key: K): V | undefined;\n    /**\n     * @returns boolean indicating whether an element with the specified key exists or not.\n     */\n    has(key: K): boolean;\n    /**\n     * Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.\n     */\n    set(key: K, value: V): this;\n    /**\n     * @returns the number of elements in the Map.\n     */\n    readonly size: number;\n}\n\ninterface MapConstructor {\n    new (): Map<any, any>;\n    new <K, V>(entries?: readonly (readonly [K, V])[] | null): Map<K, V>;\n    readonly prototype: Map<any, any>;\n}\ndeclare var Map: MapConstructor;\n\ninterface ReadonlyMap<K, V> {\n    forEach(callbackfn: (value: V, key: K, map: ReadonlyMap<K, V>) => void, thisArg?: any): void;\n    get(key: K): V | undefined;\n    has(key: K): boolean;\n    readonly size: number;\n}\n\ninterface WeakMap<K extends WeakKey, V> {\n    /**\n     * Removes the specified element from the WeakMap.\n     * @returns true if the element was successfully removed, or false if it was not present.\n     */\n    delete(key: K): boolean;\n    /**\n     * @returns a specified element.\n     */\n    get(key: K): V | undefined;\n    /**\n     * @returns a boolean indicating whether an element with the specified key exists or not.\n     */\n    has(key: K): boolean;\n    /**\n     * Adds a new element with a specified key and value.\n     * @param key Must be an object or symbol.\n     */\n    set(key: K, value: V): this;\n}\n\ninterface WeakMapConstructor {\n    new <K extends WeakKey = WeakKey, V = any>(entries?: readonly (readonly [K, V])[] | null): WeakMap<K, V>;\n    readonly prototype: WeakMap<WeakKey, any>;\n}\ndeclare var WeakMap: WeakMapConstructor;\n\ninterface Set<T> {\n    /**\n     * Appends a new element with a specified value to the end of the Set.\n     */\n    add(value: T): this;\n\n    clear(): void;\n    /**\n     * Removes a specified value from the Set.\n     * @returns Returns true if an element in the Set existed and has been removed, or false if the element does not exist.\n     */\n    delete(value: T): boolean;\n    /**\n     * Executes a provided function once per each value in the Set object, in insertion order.\n     */\n    forEach(callbackfn: (value: T, value2: T, set: Set<T>) => void, thisArg?: any): void;\n    /**\n     * @returns a boolean indicating whether an element with the specified value exists in the Set or not.\n     */\n    has(value: T): boolean;\n    /**\n     * @returns the number of (unique) elements in Set.\n     */\n    readonly size: number;\n}\n\ninterface SetConstructor {\n    new <T = any>(values?: readonly T[] | null): Set<T>;\n    readonly prototype: Set<any>;\n}\ndeclare var Set: SetConstructor;\n\ninterface ReadonlySet<T> {\n    forEach(callbackfn: (value: T, value2: T, set: ReadonlySet<T>) => void, thisArg?: any): void;\n    has(value: T): boolean;\n    readonly size: number;\n}\n\ninterface WeakSet<T extends WeakKey> {\n    /**\n     * Appends a new value to the end of the WeakSet.\n     */\n    add(value: T): this;\n    /**\n     * Removes the specified element from the WeakSet.\n     * @returns Returns true if the element existed and has been removed, or false if the element does not exist.\n     */\n    delete(value: T): boolean;\n    /**\n     * @returns a boolean indicating whether a value exists in the WeakSet or not.\n     */\n    has(value: T): boolean;\n}\n\ninterface WeakSetConstructor {\n    new <T extends WeakKey = WeakKey>(values?: readonly T[] | null): WeakSet<T>;\n    readonly prototype: WeakSet<WeakKey>;\n}\ndeclare var WeakSet: WeakSetConstructor;\n`;Vi[\"lib.es2015.core.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Array<T> {\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find<S extends T>(predicate: (value: T, index: number, obj: T[]) => value is S, thisArg?: any): S | undefined;\n    find(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): number;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: T, start?: number, end?: number): this;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n}\n\ninterface ArrayConstructor {\n    /**\n     * Creates an array from an array-like object.\n     * @param arrayLike An array-like object to convert to an array.\n     */\n    from<T>(arrayLike: ArrayLike<T>): T[];\n\n    /**\n     * Creates an array from an iterable object.\n     * @param arrayLike An array-like object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of<T>(...items: T[]): T[];\n}\n\ninterface DateConstructor {\n    new (value: number | string | Date): Date;\n}\n\ninterface Function {\n    /**\n     * Returns the name of the function. Function names are read-only and can not be changed.\n     */\n    readonly name: string;\n}\n\ninterface Math {\n    /**\n     * Returns the number of leading zero bits in the 32-bit binary representation of a number.\n     * @param x A numeric expression.\n     */\n    clz32(x: number): number;\n\n    /**\n     * Returns the result of 32-bit multiplication of two numbers.\n     * @param x First number\n     * @param y Second number\n     */\n    imul(x: number, y: number): number;\n\n    /**\n     * Returns the sign of the x, indicating whether x is positive, negative or zero.\n     * @param x The numeric expression to test\n     */\n    sign(x: number): number;\n\n    /**\n     * Returns the base 10 logarithm of a number.\n     * @param x A numeric expression.\n     */\n    log10(x: number): number;\n\n    /**\n     * Returns the base 2 logarithm of a number.\n     * @param x A numeric expression.\n     */\n    log2(x: number): number;\n\n    /**\n     * Returns the natural logarithm of 1 + x.\n     * @param x A numeric expression.\n     */\n    log1p(x: number): number;\n\n    /**\n     * Returns the result of (e^x - 1), which is an implementation-dependent approximation to\n     * subtracting 1 from the exponential function of x (e raised to the power of x, where e\n     * is the base of the natural logarithms).\n     * @param x A numeric expression.\n     */\n    expm1(x: number): number;\n\n    /**\n     * Returns the hyperbolic cosine of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    cosh(x: number): number;\n\n    /**\n     * Returns the hyperbolic sine of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    sinh(x: number): number;\n\n    /**\n     * Returns the hyperbolic tangent of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    tanh(x: number): number;\n\n    /**\n     * Returns the inverse hyperbolic cosine of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    acosh(x: number): number;\n\n    /**\n     * Returns the inverse hyperbolic sine of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    asinh(x: number): number;\n\n    /**\n     * Returns the inverse hyperbolic tangent of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    atanh(x: number): number;\n\n    /**\n     * Returns the square root of the sum of squares of its arguments.\n     * @param values Values to compute the square root for.\n     *     If no arguments are passed, the result is +0.\n     *     If there is only one argument, the result is the absolute value.\n     *     If any argument is +Infinity or -Infinity, the result is +Infinity.\n     *     If any argument is NaN, the result is NaN.\n     *     If all arguments are either +0 or \\u22120, the result is +0.\n     */\n    hypot(...values: number[]): number;\n\n    /**\n     * Returns the integral part of the a numeric expression, x, removing any fractional digits.\n     * If x is already an integer, the result is x.\n     * @param x A numeric expression.\n     */\n    trunc(x: number): number;\n\n    /**\n     * Returns the nearest single precision float representation of a number.\n     * @param x A numeric expression.\n     */\n    fround(x: number): number;\n\n    /**\n     * Returns an implementation-dependent approximation to the cube root of number.\n     * @param x A numeric expression.\n     */\n    cbrt(x: number): number;\n}\n\ninterface NumberConstructor {\n    /**\n     * The value of Number.EPSILON is the difference between 1 and the smallest value greater than 1\n     * that is representable as a Number value, which is approximately:\n     * 2.2204460492503130808472633361816 x 10\\u200D\\u2212\\u200D16.\n     */\n    readonly EPSILON: number;\n\n    /**\n     * Returns true if passed value is finite.\n     * Unlike the global isFinite, Number.isFinite doesn't forcibly convert the parameter to a\n     * number. Only finite values of the type number, result in true.\n     * @param number A numeric value.\n     */\n    isFinite(number: unknown): boolean;\n\n    /**\n     * Returns true if the value passed is an integer, false otherwise.\n     * @param number A numeric value.\n     */\n    isInteger(number: unknown): boolean;\n\n    /**\n     * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a\n     * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter\n     * to a number. Only values of the type number, that are also NaN, result in true.\n     * @param number A numeric value.\n     */\n    isNaN(number: unknown): boolean;\n\n    /**\n     * Returns true if the value passed is a safe integer.\n     * @param number A numeric value.\n     */\n    isSafeInteger(number: unknown): boolean;\n\n    /**\n     * The value of the largest integer n such that n and n + 1 are both exactly representable as\n     * a Number value.\n     * The value of Number.MAX_SAFE_INTEGER is 9007199254740991 2^53 \\u2212 1.\n     */\n    readonly MAX_SAFE_INTEGER: number;\n\n    /**\n     * The value of the smallest integer n such that n and n \\u2212 1 are both exactly representable as\n     * a Number value.\n     * The value of Number.MIN_SAFE_INTEGER is \\u22129007199254740991 (\\u2212(2^53 \\u2212 1)).\n     */\n    readonly MIN_SAFE_INTEGER: number;\n\n    /**\n     * Converts a string to a floating-point number.\n     * @param string A string that contains a floating-point number.\n     */\n    parseFloat(string: string): number;\n\n    /**\n     * Converts A string to an integer.\n     * @param string A string to convert into a number.\n     * @param radix A value between 2 and 36 that specifies the base of the number in \\`string\\`.\n     * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\n     * All other strings are considered decimal.\n     */\n    parseInt(string: string, radix?: number): number;\n}\n\ninterface ObjectConstructor {\n    /**\n     * Copy the values of all of the enumerable own properties from one or more source objects to a\n     * target object. Returns the target object.\n     * @param target The target object to copy to.\n     * @param source The source object from which to copy properties.\n     */\n    assign<T extends {}, U>(target: T, source: U): T & U;\n\n    /**\n     * Copy the values of all of the enumerable own properties from one or more source objects to a\n     * target object. Returns the target object.\n     * @param target The target object to copy to.\n     * @param source1 The first source object from which to copy properties.\n     * @param source2 The second source object from which to copy properties.\n     */\n    assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;\n\n    /**\n     * Copy the values of all of the enumerable own properties from one or more source objects to a\n     * target object. Returns the target object.\n     * @param target The target object to copy to.\n     * @param source1 The first source object from which to copy properties.\n     * @param source2 The second source object from which to copy properties.\n     * @param source3 The third source object from which to copy properties.\n     */\n    assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;\n\n    /**\n     * Copy the values of all of the enumerable own properties from one or more source objects to a\n     * target object. Returns the target object.\n     * @param target The target object to copy to.\n     * @param sources One or more source objects from which to copy properties\n     */\n    assign(target: object, ...sources: any[]): any;\n\n    /**\n     * Returns an array of all symbol properties found directly on object o.\n     * @param o Object to retrieve the symbols from.\n     */\n    getOwnPropertySymbols(o: any): symbol[];\n\n    /**\n     * Returns the names of the enumerable string properties and methods of an object.\n     * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\n     */\n    keys(o: {}): string[];\n\n    /**\n     * Returns true if the values are the same value, false otherwise.\n     * @param value1 The first value.\n     * @param value2 The second value.\n     */\n    is(value1: any, value2: any): boolean;\n\n    /**\n     * Sets the prototype of a specified object o to object proto or null. Returns the object o.\n     * @param o The object to change its prototype.\n     * @param proto The value of the new prototype or null.\n     */\n    setPrototypeOf(o: any, proto: object | null): any;\n}\n\ninterface ReadonlyArray<T> {\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find<S extends T>(predicate: (value: T, index: number, obj: readonly T[]) => value is S, thisArg?: any): S | undefined;\n    find(predicate: (value: T, index: number, obj: readonly T[]) => unknown, thisArg?: any): T | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: T, index: number, obj: readonly T[]) => unknown, thisArg?: any): number;\n}\n\ninterface RegExp {\n    /**\n     * Returns a string indicating the flags of the regular expression in question. This field is read-only.\n     * The characters in this string are sequenced and concatenated in the following order:\n     *\n     *    - \"g\" for global\n     *    - \"i\" for ignoreCase\n     *    - \"m\" for multiline\n     *    - \"u\" for unicode\n     *    - \"y\" for sticky\n     *\n     * If no flags are set, the value is the empty string.\n     */\n    readonly flags: string;\n\n    /**\n     * Returns a Boolean value indicating the state of the sticky flag (y) used with a regular\n     * expression. Default is false. Read-only.\n     */\n    readonly sticky: boolean;\n\n    /**\n     * Returns a Boolean value indicating the state of the Unicode flag (u) used with a regular\n     * expression. Default is false. Read-only.\n     */\n    readonly unicode: boolean;\n}\n\ninterface RegExpConstructor {\n    new (pattern: RegExp | string, flags?: string): RegExp;\n    (pattern: RegExp | string, flags?: string): RegExp;\n}\n\ninterface String {\n    /**\n     * Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point\n     * value of the UTF-16 encoded code point starting at the string element at position pos in\n     * the String resulting from converting this object to a String.\n     * If there is no element at that position, the result is undefined.\n     * If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.\n     */\n    codePointAt(pos: number): number | undefined;\n\n    /**\n     * Returns true if searchString appears as a substring of the result of converting this\n     * object to a String, at one or more positions that are\n     * greater than or equal to position; otherwise, returns false.\n     * @param searchString search string\n     * @param position If position is undefined, 0 is assumed, so as to search all of the String.\n     */\n    includes(searchString: string, position?: number): boolean;\n\n    /**\n     * Returns true if the sequence of elements of searchString converted to a String is the\n     * same as the corresponding elements of this object (converted to a String) starting at\n     * endPosition \\u2013 length(this). Otherwise returns false.\n     */\n    endsWith(searchString: string, endPosition?: number): boolean;\n\n    /**\n     * Returns the String value result of normalizing the string into the normalization form\n     * named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n     * @param form Applicable values: \"NFC\", \"NFD\", \"NFKC\", or \"NFKD\", If not specified default\n     * is \"NFC\"\n     */\n    normalize(form: \"NFC\" | \"NFD\" | \"NFKC\" | \"NFKD\"): string;\n\n    /**\n     * Returns the String value result of normalizing the string into the normalization form\n     * named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.\n     * @param form Applicable values: \"NFC\", \"NFD\", \"NFKC\", or \"NFKD\", If not specified default\n     * is \"NFC\"\n     */\n    normalize(form?: string): string;\n\n    /**\n     * Returns a String value that is made from count copies appended together. If count is 0,\n     * the empty string is returned.\n     * @param count number of copies to append\n     */\n    repeat(count: number): string;\n\n    /**\n     * Returns true if the sequence of elements of searchString converted to a String is the\n     * same as the corresponding elements of this object (converted to a String) starting at\n     * position. Otherwise returns false.\n     */\n    startsWith(searchString: string, position?: number): boolean;\n\n    /**\n     * Returns an \\`<a>\\` HTML anchor element and sets the name attribute to the text value\n     * @deprecated A legacy feature for browser compatibility\n     * @param name\n     */\n    anchor(name: string): string;\n\n    /**\n     * Returns a \\`<big>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    big(): string;\n\n    /**\n     * Returns a \\`<blink>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    blink(): string;\n\n    /**\n     * Returns a \\`<b>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    bold(): string;\n\n    /**\n     * Returns a \\`<tt>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    fixed(): string;\n\n    /**\n     * Returns a \\`<font>\\` HTML element and sets the color attribute value\n     * @deprecated A legacy feature for browser compatibility\n     */\n    fontcolor(color: string): string;\n\n    /**\n     * Returns a \\`<font>\\` HTML element and sets the size attribute value\n     * @deprecated A legacy feature for browser compatibility\n     */\n    fontsize(size: number): string;\n\n    /**\n     * Returns a \\`<font>\\` HTML element and sets the size attribute value\n     * @deprecated A legacy feature for browser compatibility\n     */\n    fontsize(size: string): string;\n\n    /**\n     * Returns an \\`<i>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    italics(): string;\n\n    /**\n     * Returns an \\`<a>\\` HTML element and sets the href attribute value\n     * @deprecated A legacy feature for browser compatibility\n     */\n    link(url: string): string;\n\n    /**\n     * Returns a \\`<small>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    small(): string;\n\n    /**\n     * Returns a \\`<strike>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    strike(): string;\n\n    /**\n     * Returns a \\`<sub>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    sub(): string;\n\n    /**\n     * Returns a \\`<sup>\\` HTML element\n     * @deprecated A legacy feature for browser compatibility\n     */\n    sup(): string;\n}\n\ninterface StringConstructor {\n    /**\n     * Return the String value whose elements are, in order, the elements in the List elements.\n     * If length is 0, the empty string is returned.\n     */\n    fromCodePoint(...codePoints: number[]): string;\n\n    /**\n     * String.raw is usually used as a tag function of a Tagged Template String. When called as\n     * such, the first argument will be a well formed template call site object and the rest\n     * parameter will contain the substitution values. It can also be called directly, for example,\n     * to interleave strings and values from your own tag function, and in this case the only thing\n     * it needs from the first argument is the raw property.\n     * @param template A well-formed template string call site representation.\n     * @param substitutions A set of substitution values.\n     */\n    raw(template: { raw: readonly string[] | ArrayLike<string>; }, ...substitutions: any[]): string;\n}\n`;Vi[\"lib.es2015.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es5\" />\n/// <reference lib=\"es2015.core\" />\n/// <reference lib=\"es2015.collection\" />\n/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2015.generator\" />\n/// <reference lib=\"es2015.promise\" />\n/// <reference lib=\"es2015.proxy\" />\n/// <reference lib=\"es2015.reflect\" />\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.symbol.wellknown\" />\n`;Vi[\"lib.es2015.generator.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.iterable\" />\n\ninterface Generator<T = unknown, TReturn = any, TNext = unknown> extends Iterator<T, TReturn, TNext> {\n    // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.\n    next(...args: [] | [TNext]): IteratorResult<T, TReturn>;\n    return(value: TReturn): IteratorResult<T, TReturn>;\n    throw(e: any): IteratorResult<T, TReturn>;\n    [Symbol.iterator](): Generator<T, TReturn, TNext>;\n}\n\ninterface GeneratorFunction {\n    /**\n     * Creates a new Generator object.\n     * @param args A list of arguments the function accepts.\n     */\n    new (...args: any[]): Generator;\n    /**\n     * Creates a new Generator object.\n     * @param args A list of arguments the function accepts.\n     */\n    (...args: any[]): Generator;\n    /**\n     * The length of the arguments.\n     */\n    readonly length: number;\n    /**\n     * Returns the name of the function.\n     */\n    readonly name: string;\n    /**\n     * A reference to the prototype.\n     */\n    readonly prototype: Generator;\n}\n\ninterface GeneratorFunctionConstructor {\n    /**\n     * Creates a new Generator function.\n     * @param args A list of arguments the function accepts.\n     */\n    new (...args: string[]): GeneratorFunction;\n    /**\n     * Creates a new Generator function.\n     * @param args A list of arguments the function accepts.\n     */\n    (...args: string[]): GeneratorFunction;\n    /**\n     * The length of the arguments.\n     */\n    readonly length: number;\n    /**\n     * Returns the name of the function.\n     */\n    readonly name: string;\n    /**\n     * A reference to the prototype.\n     */\n    readonly prototype: GeneratorFunction;\n}\n`;Vi[\"lib.es2015.iterable.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.symbol\" />\n\ninterface SymbolConstructor {\n    /**\n     * A method that returns the default iterator for an object. Called by the semantics of the\n     * for-of statement.\n     */\n    readonly iterator: unique symbol;\n}\n\ninterface IteratorYieldResult<TYield> {\n    done?: false;\n    value: TYield;\n}\n\ninterface IteratorReturnResult<TReturn> {\n    done: true;\n    value: TReturn;\n}\n\ntype IteratorResult<T, TReturn = any> = IteratorYieldResult<T> | IteratorReturnResult<TReturn>;\n\ninterface Iterator<T, TReturn = any, TNext = undefined> {\n    // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.\n    next(...args: [] | [TNext]): IteratorResult<T, TReturn>;\n    return?(value?: TReturn): IteratorResult<T, TReturn>;\n    throw?(e?: any): IteratorResult<T, TReturn>;\n}\n\ninterface Iterable<T> {\n    [Symbol.iterator](): Iterator<T>;\n}\n\ninterface IterableIterator<T> extends Iterator<T> {\n    [Symbol.iterator](): IterableIterator<T>;\n}\n\ninterface Array<T> {\n    /** Iterator */\n    [Symbol.iterator](): IterableIterator<T>;\n\n    /**\n     * Returns an iterable of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, T]>;\n\n    /**\n     * Returns an iterable of keys in the array\n     */\n    keys(): IterableIterator<number>;\n\n    /**\n     * Returns an iterable of values in the array\n     */\n    values(): IterableIterator<T>;\n}\n\ninterface ArrayConstructor {\n    /**\n     * Creates an array from an iterable object.\n     * @param iterable An iterable object to convert to an array.\n     */\n    from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];\n\n    /**\n     * Creates an array from an iterable object.\n     * @param iterable An iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];\n}\n\ninterface ReadonlyArray<T> {\n    /** Iterator of values in the array. */\n    [Symbol.iterator](): IterableIterator<T>;\n\n    /**\n     * Returns an iterable of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, T]>;\n\n    /**\n     * Returns an iterable of keys in the array\n     */\n    keys(): IterableIterator<number>;\n\n    /**\n     * Returns an iterable of values in the array\n     */\n    values(): IterableIterator<T>;\n}\n\ninterface IArguments {\n    /** Iterator */\n    [Symbol.iterator](): IterableIterator<any>;\n}\n\ninterface Map<K, V> {\n    /** Returns an iterable of entries in the map. */\n    [Symbol.iterator](): IterableIterator<[K, V]>;\n\n    /**\n     * Returns an iterable of key, value pairs for every entry in the map.\n     */\n    entries(): IterableIterator<[K, V]>;\n\n    /**\n     * Returns an iterable of keys in the map\n     */\n    keys(): IterableIterator<K>;\n\n    /**\n     * Returns an iterable of values in the map\n     */\n    values(): IterableIterator<V>;\n}\n\ninterface ReadonlyMap<K, V> {\n    /** Returns an iterable of entries in the map. */\n    [Symbol.iterator](): IterableIterator<[K, V]>;\n\n    /**\n     * Returns an iterable of key, value pairs for every entry in the map.\n     */\n    entries(): IterableIterator<[K, V]>;\n\n    /**\n     * Returns an iterable of keys in the map\n     */\n    keys(): IterableIterator<K>;\n\n    /**\n     * Returns an iterable of values in the map\n     */\n    values(): IterableIterator<V>;\n}\n\ninterface MapConstructor {\n    new (): Map<any, any>;\n    new <K, V>(iterable?: Iterable<readonly [K, V]> | null): Map<K, V>;\n}\n\ninterface WeakMap<K extends WeakKey, V> {}\n\ninterface WeakMapConstructor {\n    new <K extends WeakKey, V>(iterable: Iterable<readonly [K, V]>): WeakMap<K, V>;\n}\n\ninterface Set<T> {\n    /** Iterates over values in the set. */\n    [Symbol.iterator](): IterableIterator<T>;\n    /**\n     * Returns an iterable of [v,v] pairs for every value \\`v\\` in the set.\n     */\n    entries(): IterableIterator<[T, T]>;\n    /**\n     * Despite its name, returns an iterable of the values in the set.\n     */\n    keys(): IterableIterator<T>;\n\n    /**\n     * Returns an iterable of values in the set.\n     */\n    values(): IterableIterator<T>;\n}\n\ninterface ReadonlySet<T> {\n    /** Iterates over values in the set. */\n    [Symbol.iterator](): IterableIterator<T>;\n\n    /**\n     * Returns an iterable of [v,v] pairs for every value \\`v\\` in the set.\n     */\n    entries(): IterableIterator<[T, T]>;\n\n    /**\n     * Despite its name, returns an iterable of the values in the set.\n     */\n    keys(): IterableIterator<T>;\n\n    /**\n     * Returns an iterable of values in the set.\n     */\n    values(): IterableIterator<T>;\n}\n\ninterface SetConstructor {\n    new <T>(iterable?: Iterable<T> | null): Set<T>;\n}\n\ninterface WeakSet<T extends WeakKey> {}\n\ninterface WeakSetConstructor {\n    new <T extends WeakKey = WeakKey>(iterable: Iterable<T>): WeakSet<T>;\n}\n\ninterface Promise<T> {}\n\ninterface PromiseConstructor {\n    /**\n     * Creates a Promise that is resolved with an array of results when all of the provided Promises\n     * resolve, or rejected when any Promise is rejected.\n     * @param values An iterable of Promises.\n     * @returns A new Promise.\n     */\n    all<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;\n\n    /**\n     * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved\n     * or rejected.\n     * @param values An iterable of Promises.\n     * @returns A new Promise.\n     */\n    race<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;\n}\n\ninterface String {\n    /** Iterator */\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface Int8Array {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Int8ArrayConstructor {\n    new (elements: Iterable<number>): Int8Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array;\n}\n\ninterface Uint8Array {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Uint8ArrayConstructor {\n    new (elements: Iterable<number>): Uint8Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array;\n}\n\ninterface Uint8ClampedArray {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Uint8ClampedArrayConstructor {\n    new (elements: Iterable<number>): Uint8ClampedArray;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray;\n}\n\ninterface Int16Array {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Int16ArrayConstructor {\n    new (elements: Iterable<number>): Int16Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array;\n}\n\ninterface Uint16Array {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Uint16ArrayConstructor {\n    new (elements: Iterable<number>): Uint16Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array;\n}\n\ninterface Int32Array {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Int32ArrayConstructor {\n    new (elements: Iterable<number>): Int32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array;\n}\n\ninterface Uint32Array {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Uint32ArrayConstructor {\n    new (elements: Iterable<number>): Uint32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array;\n}\n\ninterface Float32Array {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Float32ArrayConstructor {\n    new (elements: Iterable<number>): Float32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array;\n}\n\ninterface Float64Array {\n    [Symbol.iterator](): IterableIterator<number>;\n    /**\n     * Returns an array of key, value pairs for every entry in the array\n     */\n    entries(): IterableIterator<[number, number]>;\n    /**\n     * Returns an list of keys in the array\n     */\n    keys(): IterableIterator<number>;\n    /**\n     * Returns an list of values in the array\n     */\n    values(): IterableIterator<number>;\n}\n\ninterface Float64ArrayConstructor {\n    new (elements: Iterable<number>): Float64Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array;\n}\n`;Vi[\"lib.es2015.promise.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface PromiseConstructor {\n    /**\n     * A reference to the prototype.\n     */\n    readonly prototype: Promise<any>;\n\n    /**\n     * Creates a new Promise.\n     * @param executor A callback used to initialize the promise. This callback is passed two arguments:\n     * a resolve callback used to resolve the promise with a value or the result of another promise,\n     * and a reject callback used to reject the promise with a provided reason or error.\n     */\n    new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;\n\n    /**\n     * Creates a Promise that is resolved with an array of results when all of the provided Promises\n     * resolve, or rejected when any Promise is rejected.\n     * @param values An array of Promises.\n     * @returns A new Promise.\n     */\n    all<T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>;\n\n    // see: lib.es2015.iterable.d.ts\n    // all<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;\n\n    /**\n     * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved\n     * or rejected.\n     * @param values An array of Promises.\n     * @returns A new Promise.\n     */\n    race<T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;\n\n    // see: lib.es2015.iterable.d.ts\n    // race<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;\n\n    /**\n     * Creates a new rejected promise for the provided reason.\n     * @param reason The reason the promise was rejected.\n     * @returns A new rejected Promise.\n     */\n    reject<T = never>(reason?: any): Promise<T>;\n\n    /**\n     * Creates a new resolved promise.\n     * @returns A resolved promise.\n     */\n    resolve(): Promise<void>;\n    /**\n     * Creates a new resolved promise for the provided value.\n     * @param value A promise.\n     * @returns A promise whose internal state matches the provided promise.\n     */\n    resolve<T>(value: T): Promise<Awaited<T>>;\n    /**\n     * Creates a new resolved promise for the provided value.\n     * @param value A promise.\n     * @returns A promise whose internal state matches the provided promise.\n     */\n    resolve<T>(value: T | PromiseLike<T>): Promise<Awaited<T>>;\n}\n\ndeclare var Promise: PromiseConstructor;\n`;Vi[\"lib.es2015.proxy.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface ProxyHandler<T extends object> {\n    /**\n     * A trap method for a function call.\n     * @param target The original callable object which is being proxied.\n     */\n    apply?(target: T, thisArg: any, argArray: any[]): any;\n\n    /**\n     * A trap for the \\`new\\` operator.\n     * @param target The original object which is being proxied.\n     * @param newTarget The constructor that was originally called.\n     */\n    construct?(target: T, argArray: any[], newTarget: Function): object;\n\n    /**\n     * A trap for \\`Object.defineProperty()\\`.\n     * @param target The original object which is being proxied.\n     * @returns A \\`Boolean\\` indicating whether or not the property has been defined.\n     */\n    defineProperty?(target: T, property: string | symbol, attributes: PropertyDescriptor): boolean;\n\n    /**\n     * A trap for the \\`delete\\` operator.\n     * @param target The original object which is being proxied.\n     * @param p The name or \\`Symbol\\` of the property to delete.\n     * @returns A \\`Boolean\\` indicating whether or not the property was deleted.\n     */\n    deleteProperty?(target: T, p: string | symbol): boolean;\n\n    /**\n     * A trap for getting a property value.\n     * @param target The original object which is being proxied.\n     * @param p The name or \\`Symbol\\` of the property to get.\n     * @param receiver The proxy or an object that inherits from the proxy.\n     */\n    get?(target: T, p: string | symbol, receiver: any): any;\n\n    /**\n     * A trap for \\`Object.getOwnPropertyDescriptor()\\`.\n     * @param target The original object which is being proxied.\n     * @param p The name of the property whose description should be retrieved.\n     */\n    getOwnPropertyDescriptor?(target: T, p: string | symbol): PropertyDescriptor | undefined;\n\n    /**\n     * A trap for the \\`[[GetPrototypeOf]]\\` internal method.\n     * @param target The original object which is being proxied.\n     */\n    getPrototypeOf?(target: T): object | null;\n\n    /**\n     * A trap for the \\`in\\` operator.\n     * @param target The original object which is being proxied.\n     * @param p The name or \\`Symbol\\` of the property to check for existence.\n     */\n    has?(target: T, p: string | symbol): boolean;\n\n    /**\n     * A trap for \\`Object.isExtensible()\\`.\n     * @param target The original object which is being proxied.\n     */\n    isExtensible?(target: T): boolean;\n\n    /**\n     * A trap for \\`Reflect.ownKeys()\\`.\n     * @param target The original object which is being proxied.\n     */\n    ownKeys?(target: T): ArrayLike<string | symbol>;\n\n    /**\n     * A trap for \\`Object.preventExtensions()\\`.\n     * @param target The original object which is being proxied.\n     */\n    preventExtensions?(target: T): boolean;\n\n    /**\n     * A trap for setting a property value.\n     * @param target The original object which is being proxied.\n     * @param p The name or \\`Symbol\\` of the property to set.\n     * @param receiver The object to which the assignment was originally directed.\n     * @returns A \\`Boolean\\` indicating whether or not the property was set.\n     */\n    set?(target: T, p: string | symbol, newValue: any, receiver: any): boolean;\n\n    /**\n     * A trap for \\`Object.setPrototypeOf()\\`.\n     * @param target The original object which is being proxied.\n     * @param newPrototype The object's new prototype or \\`null\\`.\n     */\n    setPrototypeOf?(target: T, v: object | null): boolean;\n}\n\ninterface ProxyConstructor {\n    /**\n     * Creates a revocable Proxy object.\n     * @param target A target object to wrap with Proxy.\n     * @param handler An object whose properties define the behavior of Proxy when an operation is attempted on it.\n     */\n    revocable<T extends object>(target: T, handler: ProxyHandler<T>): { proxy: T; revoke: () => void; };\n\n    /**\n     * Creates a Proxy object. The Proxy object allows you to create an object that can be used in place of the\n     * original object, but which may redefine fundamental Object operations like getting, setting, and defining\n     * properties. Proxy objects are commonly used to log property accesses, validate, format, or sanitize inputs.\n     * @param target A target object to wrap with Proxy.\n     * @param handler An object whose properties define the behavior of Proxy when an operation is attempted on it.\n     */\n    new <T extends object>(target: T, handler: ProxyHandler<T>): T;\n}\ndeclare var Proxy: ProxyConstructor;\n`;Vi[\"lib.es2015.reflect.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare namespace Reflect {\n    /**\n     * Calls the function with the specified object as the this value\n     * and the elements of specified array as the arguments.\n     * @param target The function to call.\n     * @param thisArgument The object to be used as the this object.\n     * @param argumentsList An array of argument values to be passed to the function.\n     */\n    function apply<T, A extends readonly any[], R>(\n        target: (this: T, ...args: A) => R,\n        thisArgument: T,\n        argumentsList: Readonly<A>,\n    ): R;\n    function apply(target: Function, thisArgument: any, argumentsList: ArrayLike<any>): any;\n\n    /**\n     * Constructs the target with the elements of specified array as the arguments\n     * and the specified constructor as the \\`new.target\\` value.\n     * @param target The constructor to invoke.\n     * @param argumentsList An array of argument values to be passed to the constructor.\n     * @param newTarget The constructor to be used as the \\`new.target\\` object.\n     */\n    function construct<A extends readonly any[], R>(\n        target: new (...args: A) => R,\n        argumentsList: Readonly<A>,\n        newTarget?: new (...args: any) => any,\n    ): R;\n    function construct(target: Function, argumentsList: ArrayLike<any>, newTarget?: Function): any;\n\n    /**\n     * Adds a property to an object, or modifies attributes of an existing property.\n     * @param target Object on which to add or modify the property. This can be a native JavaScript object\n     *        (that is, a user-defined object or a built in object) or a DOM object.\n     * @param propertyKey The property name.\n     * @param attributes Descriptor for the property. It can be for a data property or an accessor property.\n     */\n    function defineProperty(target: object, propertyKey: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): boolean;\n\n    /**\n     * Removes a property from an object, equivalent to \\`delete target[propertyKey]\\`,\n     * except it won't throw if \\`target[propertyKey]\\` is non-configurable.\n     * @param target Object from which to remove the own property.\n     * @param propertyKey The property name.\n     */\n    function deleteProperty(target: object, propertyKey: PropertyKey): boolean;\n\n    /**\n     * Gets the property of target, equivalent to \\`target[propertyKey]\\` when \\`receiver === target\\`.\n     * @param target Object that contains the property on itself or in its prototype chain.\n     * @param propertyKey The property name.\n     * @param receiver The reference to use as the \\`this\\` value in the getter function,\n     *        if \\`target[propertyKey]\\` is an accessor property.\n     */\n    function get<T extends object, P extends PropertyKey>(\n        target: T,\n        propertyKey: P,\n        receiver?: unknown,\n    ): P extends keyof T ? T[P] : any;\n\n    /**\n     * Gets the own property descriptor of the specified object.\n     * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype.\n     * @param target Object that contains the property.\n     * @param propertyKey The property name.\n     */\n    function getOwnPropertyDescriptor<T extends object, P extends PropertyKey>(\n        target: T,\n        propertyKey: P,\n    ): TypedPropertyDescriptor<P extends keyof T ? T[P] : any> | undefined;\n\n    /**\n     * Returns the prototype of an object.\n     * @param target The object that references the prototype.\n     */\n    function getPrototypeOf(target: object): object | null;\n\n    /**\n     * Equivalent to \\`propertyKey in target\\`.\n     * @param target Object that contains the property on itself or in its prototype chain.\n     * @param propertyKey Name of the property.\n     */\n    function has(target: object, propertyKey: PropertyKey): boolean;\n\n    /**\n     * Returns a value that indicates whether new properties can be added to an object.\n     * @param target Object to test.\n     */\n    function isExtensible(target: object): boolean;\n\n    /**\n     * Returns the string and symbol keys of the own properties of an object. The own properties of an object\n     * are those that are defined directly on that object, and are not inherited from the object's prototype.\n     * @param target Object that contains the own properties.\n     */\n    function ownKeys(target: object): (string | symbol)[];\n\n    /**\n     * Prevents the addition of new properties to an object.\n     * @param target Object to make non-extensible.\n     * @return Whether the object has been made non-extensible.\n     */\n    function preventExtensions(target: object): boolean;\n\n    /**\n     * Sets the property of target, equivalent to \\`target[propertyKey] = value\\` when \\`receiver === target\\`.\n     * @param target Object that contains the property on itself or in its prototype chain.\n     * @param propertyKey Name of the property.\n     * @param receiver The reference to use as the \\`this\\` value in the setter function,\n     *        if \\`target[propertyKey]\\` is an accessor property.\n     */\n    function set<T extends object, P extends PropertyKey>(\n        target: T,\n        propertyKey: P,\n        value: P extends keyof T ? T[P] : any,\n        receiver?: any,\n    ): boolean;\n    function set(target: object, propertyKey: PropertyKey, value: any, receiver?: any): boolean;\n\n    /**\n     * Sets the prototype of a specified object o to object proto or null.\n     * @param target The object to change its prototype.\n     * @param proto The value of the new prototype or null.\n     * @return Whether setting the prototype was successful.\n     */\n    function setPrototypeOf(target: object, proto: object | null): boolean;\n}\n`;Vi[\"lib.es2015.symbol.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface SymbolConstructor {\n    /**\n     * A reference to the prototype.\n     */\n    readonly prototype: Symbol;\n\n    /**\n     * Returns a new unique Symbol value.\n     * @param  description Description of the new Symbol object.\n     */\n    (description?: string | number): symbol;\n\n    /**\n     * Returns a Symbol object from the global symbol registry matching the given key if found.\n     * Otherwise, returns a new symbol with this key.\n     * @param key key to search for.\n     */\n    for(key: string): symbol;\n\n    /**\n     * Returns a key from the global symbol registry matching the given Symbol if found.\n     * Otherwise, returns a undefined.\n     * @param sym Symbol to find the key for.\n     */\n    keyFor(sym: symbol): string | undefined;\n}\n\ndeclare var Symbol: SymbolConstructor;\n`;Vi[\"lib.es2015.symbol.wellknown.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.symbol\" />\n\ninterface SymbolConstructor {\n    /**\n     * A method that determines if a constructor object recognizes an object as one of the\n     * constructor\\u2019s instances. Called by the semantics of the instanceof operator.\n     */\n    readonly hasInstance: unique symbol;\n\n    /**\n     * A Boolean value that if true indicates that an object should flatten to its array elements\n     * by Array.prototype.concat.\n     */\n    readonly isConcatSpreadable: unique symbol;\n\n    /**\n     * A regular expression method that matches the regular expression against a string. Called\n     * by the String.prototype.match method.\n     */\n    readonly match: unique symbol;\n\n    /**\n     * A regular expression method that replaces matched substrings of a string. Called by the\n     * String.prototype.replace method.\n     */\n    readonly replace: unique symbol;\n\n    /**\n     * A regular expression method that returns the index within a string that matches the\n     * regular expression. Called by the String.prototype.search method.\n     */\n    readonly search: unique symbol;\n\n    /**\n     * A function valued property that is the constructor function that is used to create\n     * derived objects.\n     */\n    readonly species: unique symbol;\n\n    /**\n     * A regular expression method that splits a string at the indices that match the regular\n     * expression. Called by the String.prototype.split method.\n     */\n    readonly split: unique symbol;\n\n    /**\n     * A method that converts an object to a corresponding primitive value.\n     * Called by the ToPrimitive abstract operation.\n     */\n    readonly toPrimitive: unique symbol;\n\n    /**\n     * A String value that is used in the creation of the default string description of an object.\n     * Called by the built-in method Object.prototype.toString.\n     */\n    readonly toStringTag: unique symbol;\n\n    /**\n     * An Object whose truthy properties are properties that are excluded from the 'with'\n     * environment bindings of the associated objects.\n     */\n    readonly unscopables: unique symbol;\n}\n\ninterface Symbol {\n    /**\n     * Converts a Symbol object to a symbol.\n     */\n    [Symbol.toPrimitive](hint: string): symbol;\n\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface Array<T> {\n    /**\n     * Is an object whose properties have the value 'true'\n     * when they will be absent when used in a 'with' statement.\n     */\n    readonly [Symbol.unscopables]: {\n        [K in keyof any[]]?: boolean;\n    };\n}\n\ninterface ReadonlyArray<T> {\n    /**\n     * Is an object whose properties have the value 'true'\n     * when they will be absent when used in a 'with' statement.\n     */\n    readonly [Symbol.unscopables]: {\n        [K in keyof readonly any[]]?: boolean;\n    };\n}\n\ninterface Date {\n    /**\n     * Converts a Date object to a string.\n     */\n    [Symbol.toPrimitive](hint: \"default\"): string;\n    /**\n     * Converts a Date object to a string.\n     */\n    [Symbol.toPrimitive](hint: \"string\"): string;\n    /**\n     * Converts a Date object to a number.\n     */\n    [Symbol.toPrimitive](hint: \"number\"): number;\n    /**\n     * Converts a Date object to a string or number.\n     *\n     * @param hint The strings \"number\", \"string\", or \"default\" to specify what primitive to return.\n     *\n     * @throws {TypeError} If 'hint' was given something other than \"number\", \"string\", or \"default\".\n     * @returns A number if 'hint' was \"number\", a string if 'hint' was \"string\" or \"default\".\n     */\n    [Symbol.toPrimitive](hint: string): string | number;\n}\n\ninterface Map<K, V> {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface WeakMap<K extends WeakKey, V> {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface Set<T> {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface WeakSet<T extends WeakKey> {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface JSON {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface Function {\n    /**\n     * Determines whether the given value inherits from this function if this function was used\n     * as a constructor function.\n     *\n     * A constructor function can control which objects are recognized as its instances by\n     * 'instanceof' by overriding this method.\n     */\n    [Symbol.hasInstance](value: any): boolean;\n}\n\ninterface GeneratorFunction {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface Math {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface Promise<T> {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface PromiseConstructor {\n    readonly [Symbol.species]: PromiseConstructor;\n}\n\ninterface RegExp {\n    /**\n     * Matches a string with this regular expression, and returns an array containing the results of\n     * that search.\n     * @param string A string to search within.\n     */\n    [Symbol.match](string: string): RegExpMatchArray | null;\n\n    /**\n     * Replaces text in a string, using this regular expression.\n     * @param string A String object or string literal whose contents matching against\n     *               this regular expression will be replaced\n     * @param replaceValue A String object or string literal containing the text to replace for every\n     *                     successful match of this regular expression.\n     */\n    [Symbol.replace](string: string, replaceValue: string): string;\n\n    /**\n     * Replaces text in a string, using this regular expression.\n     * @param string A String object or string literal whose contents matching against\n     *               this regular expression will be replaced\n     * @param replacer A function that returns the replacement text.\n     */\n    [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;\n\n    /**\n     * Finds the position beginning first substring match in a regular expression search\n     * using this regular expression.\n     *\n     * @param string The string to search within.\n     */\n    [Symbol.search](string: string): number;\n\n    /**\n     * Returns an array of substrings that were delimited by strings in the original input that\n     * match against this regular expression.\n     *\n     * If the regular expression contains capturing parentheses, then each time this\n     * regular expression matches, the results (including any undefined results) of the\n     * capturing parentheses are spliced.\n     *\n     * @param string string value to split\n     * @param limit if not undefined, the output array is truncated so that it contains no more\n     * than 'limit' elements.\n     */\n    [Symbol.split](string: string, limit?: number): string[];\n}\n\ninterface RegExpConstructor {\n    readonly [Symbol.species]: RegExpConstructor;\n}\n\ninterface String {\n    /**\n     * Matches a string or an object that supports being matched against, and returns an array\n     * containing the results of that search, or null if no matches are found.\n     * @param matcher An object that supports being matched against.\n     */\n    match(matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null;\n\n    /**\n     * Passes a string and {@linkcode replaceValue} to the \\`[Symbol.replace]\\` method on {@linkcode searchValue}. This method is expected to implement its own replacement algorithm.\n     * @param searchValue An object that supports searching for and replacing matches within a string.\n     * @param replaceValue The replacement text.\n     */\n    replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string;\n\n    /**\n     * Replaces text in a string, using an object that supports replacement within a string.\n     * @param searchValue A object can search for and replace matches within a string.\n     * @param replacer A function that returns the replacement text.\n     */\n    replace(searchValue: { [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; }, replacer: (substring: string, ...args: any[]) => string): string;\n\n    /**\n     * Finds the first substring match in a regular expression search.\n     * @param searcher An object which supports searching within a string.\n     */\n    search(searcher: { [Symbol.search](string: string): number; }): number;\n\n    /**\n     * Split a string into substrings using the specified separator and return them as an array.\n     * @param splitter An object that can split a string.\n     * @param limit A value used to limit the number of elements returned in the array.\n     */\n    split(splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[];\n}\n\ninterface ArrayBuffer {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface DataView {\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface Int8Array {\n    readonly [Symbol.toStringTag]: \"Int8Array\";\n}\n\ninterface Uint8Array {\n    readonly [Symbol.toStringTag]: \"Uint8Array\";\n}\n\ninterface Uint8ClampedArray {\n    readonly [Symbol.toStringTag]: \"Uint8ClampedArray\";\n}\n\ninterface Int16Array {\n    readonly [Symbol.toStringTag]: \"Int16Array\";\n}\n\ninterface Uint16Array {\n    readonly [Symbol.toStringTag]: \"Uint16Array\";\n}\n\ninterface Int32Array {\n    readonly [Symbol.toStringTag]: \"Int32Array\";\n}\n\ninterface Uint32Array {\n    readonly [Symbol.toStringTag]: \"Uint32Array\";\n}\n\ninterface Float32Array {\n    readonly [Symbol.toStringTag]: \"Float32Array\";\n}\n\ninterface Float64Array {\n    readonly [Symbol.toStringTag]: \"Float64Array\";\n}\n\ninterface ArrayConstructor {\n    readonly [Symbol.species]: ArrayConstructor;\n}\ninterface MapConstructor {\n    readonly [Symbol.species]: MapConstructor;\n}\ninterface SetConstructor {\n    readonly [Symbol.species]: SetConstructor;\n}\ninterface ArrayBufferConstructor {\n    readonly [Symbol.species]: ArrayBufferConstructor;\n}\n`;Vi[\"lib.es2016.array.include.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Array<T> {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: T, fromIndex?: number): boolean;\n}\n\ninterface ReadonlyArray<T> {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: T, fromIndex?: number): boolean;\n}\n\ninterface Int8Array {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n\ninterface Uint8Array {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n\ninterface Uint8ClampedArray {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n\ninterface Int16Array {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n\ninterface Uint16Array {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n\ninterface Int32Array {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n\ninterface Uint32Array {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n\ninterface Float32Array {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n\ninterface Float64Array {\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n`;Vi[\"lib.es2016.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015\" />\n/// <reference lib=\"es2016.array.include\" />\n/// <reference lib=\"es2016.intl\" />\n`;Vi[\"lib.es2016.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2016\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n`;Vi[\"lib.es2016.intl.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare namespace Intl {\n    /**\n     * The \\`Intl.getCanonicalLocales()\\` method returns an array containing\n     * the canonical locale names. Duplicates will be omitted and elements\n     * will be validated as structurally valid language tags.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/getCanonicalLocales)\n     *\n     * @param locale A list of String values for which to get the canonical locale names\n     * @returns An array containing the canonical and validated locale names.\n     */\n    function getCanonicalLocales(locale?: string | readonly string[]): string[];\n}\n`;Vi[\"lib.es2017.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2016\" />\n/// <reference lib=\"es2017.object\" />\n/// <reference lib=\"es2017.sharedmemory\" />\n/// <reference lib=\"es2017.string\" />\n/// <reference lib=\"es2017.intl\" />\n/// <reference lib=\"es2017.typedarrays\" />\n/// <reference lib=\"es2017.date\" />\n`;Vi[\"lib.es2017.date.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface DateConstructor {\n    /**\n     * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date.\n     * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year.\n     * @param monthIndex The month as a number between 0 and 11 (January to December).\n     * @param date The date as a number between 1 and 31.\n     * @param hours Must be supplied if minutes is supplied. A number from 0 to 23 (midnight to 11pm) that specifies the hour.\n     * @param minutes Must be supplied if seconds is supplied. A number from 0 to 59 that specifies the minutes.\n     * @param seconds Must be supplied if milliseconds is supplied. A number from 0 to 59 that specifies the seconds.\n     * @param ms A number from 0 to 999 that specifies the milliseconds.\n     */\n    UTC(year: number, monthIndex?: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;\n}\n`;Vi[\"lib.es2017.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2017\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n`;Vi[\"lib.es2017.intl.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare namespace Intl {\n    interface DateTimeFormatPartTypesRegistry {\n        day: any;\n        dayPeriod: any;\n        era: any;\n        hour: any;\n        literal: any;\n        minute: any;\n        month: any;\n        second: any;\n        timeZoneName: any;\n        weekday: any;\n        year: any;\n    }\n\n    type DateTimeFormatPartTypes = keyof DateTimeFormatPartTypesRegistry;\n\n    interface DateTimeFormatPart {\n        type: DateTimeFormatPartTypes;\n        value: string;\n    }\n\n    interface DateTimeFormat {\n        formatToParts(date?: Date | number): DateTimeFormatPart[];\n    }\n}\n`;Vi[\"lib.es2017.object.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface ObjectConstructor {\n    /**\n     * Returns an array of values of the enumerable properties of an object\n     * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\n     */\n    values<T>(o: { [s: string]: T; } | ArrayLike<T>): T[];\n\n    /**\n     * Returns an array of values of the enumerable properties of an object\n     * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\n     */\n    values(o: {}): any[];\n\n    /**\n     * Returns an array of key/values of the enumerable properties of an object\n     * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\n     */\n    entries<T>(o: { [s: string]: T; } | ArrayLike<T>): [string, T][];\n\n    /**\n     * Returns an array of key/values of the enumerable properties of an object\n     * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\n     */\n    entries(o: {}): [string, any][];\n\n    /**\n     * Returns an object containing all own property descriptors of an object\n     * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\n     */\n    getOwnPropertyDescriptors<T>(o: T): { [P in keyof T]: TypedPropertyDescriptor<T[P]>; } & { [x: string]: PropertyDescriptor; };\n}\n`;Vi[\"lib.es2017.sharedmemory.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.symbol.wellknown\" />\n\ninterface SharedArrayBuffer {\n    /**\n     * Read-only. The length of the ArrayBuffer (in bytes).\n     */\n    readonly byteLength: number;\n\n    /**\n     * Returns a section of an SharedArrayBuffer.\n     */\n    slice(begin: number, end?: number): SharedArrayBuffer;\n    readonly [Symbol.species]: SharedArrayBuffer;\n    readonly [Symbol.toStringTag]: \"SharedArrayBuffer\";\n}\n\ninterface SharedArrayBufferConstructor {\n    readonly prototype: SharedArrayBuffer;\n    new (byteLength: number): SharedArrayBuffer;\n}\ndeclare var SharedArrayBuffer: SharedArrayBufferConstructor;\n\ninterface ArrayBufferTypes {\n    SharedArrayBuffer: SharedArrayBuffer;\n}\n\ninterface Atomics {\n    /**\n     * Adds a value to the value at the given position in the array, returning the original value.\n     * Until this atomic operation completes, any other read or write operation against the array\n     * will block.\n     */\n    add(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number;\n\n    /**\n     * Stores the bitwise AND of a value with the value at the given position in the array,\n     * returning the original value. Until this atomic operation completes, any other read or\n     * write operation against the array will block.\n     */\n    and(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number;\n\n    /**\n     * Replaces the value at the given position in the array if the original value equals the given\n     * expected value, returning the original value. Until this atomic operation completes, any\n     * other read or write operation against the array will block.\n     */\n    compareExchange(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, expectedValue: number, replacementValue: number): number;\n\n    /**\n     * Replaces the value at the given position in the array, returning the original value. Until\n     * this atomic operation completes, any other read or write operation against the array will\n     * block.\n     */\n    exchange(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number;\n\n    /**\n     * Returns a value indicating whether high-performance algorithms can use atomic operations\n     * (\\`true\\`) or must use locks (\\`false\\`) for the given number of bytes-per-element of a typed\n     * array.\n     */\n    isLockFree(size: number): boolean;\n\n    /**\n     * Returns the value at the given position in the array. Until this atomic operation completes,\n     * any other read or write operation against the array will block.\n     */\n    load(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number): number;\n\n    /**\n     * Stores the bitwise OR of a value with the value at the given position in the array,\n     * returning the original value. Until this atomic operation completes, any other read or write\n     * operation against the array will block.\n     */\n    or(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number;\n\n    /**\n     * Stores a value at the given position in the array, returning the new value. Until this\n     * atomic operation completes, any other read or write operation against the array will block.\n     */\n    store(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number;\n\n    /**\n     * Subtracts a value from the value at the given position in the array, returning the original\n     * value. Until this atomic operation completes, any other read or write operation against the\n     * array will block.\n     */\n    sub(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number;\n\n    /**\n     * If the value at the given position in the array is equal to the provided value, the current\n     * agent is put to sleep causing execution to suspend until the timeout expires (returning\n     * \\`\"timed-out\"\\`) or until the agent is awoken (returning \\`\"ok\"\\`); otherwise, returns\n     * \\`\"not-equal\"\\`.\n     */\n    wait(typedArray: Int32Array, index: number, value: number, timeout?: number): \"ok\" | \"not-equal\" | \"timed-out\";\n\n    /**\n     * Wakes up sleeping agents that are waiting on the given index of the array, returning the\n     * number of agents that were awoken.\n     * @param typedArray A shared Int32Array.\n     * @param index The position in the typedArray to wake up on.\n     * @param count The number of sleeping agents to notify. Defaults to +Infinity.\n     */\n    notify(typedArray: Int32Array, index: number, count?: number): number;\n\n    /**\n     * Stores the bitwise XOR of a value with the value at the given position in the array,\n     * returning the original value. Until this atomic operation completes, any other read or write\n     * operation against the array will block.\n     */\n    xor(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number;\n\n    readonly [Symbol.toStringTag]: \"Atomics\";\n}\n\ndeclare var Atomics: Atomics;\n`;Vi[\"lib.es2017.string.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface String {\n    /**\n     * Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\n     * The padding is applied from the start (left) of the current string.\n     *\n     * @param maxLength The length of the resulting string once the current string has been padded.\n     *        If this parameter is smaller than the current string's length, the current string will be returned as it is.\n     *\n     * @param fillString The string to pad the current string with.\n     *        If this string is too long, it will be truncated and the left-most part will be applied.\n     *        The default value for this parameter is \" \" (U+0020).\n     */\n    padStart(maxLength: number, fillString?: string): string;\n\n    /**\n     * Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length.\n     * The padding is applied from the end (right) of the current string.\n     *\n     * @param maxLength The length of the resulting string once the current string has been padded.\n     *        If this parameter is smaller than the current string's length, the current string will be returned as it is.\n     *\n     * @param fillString The string to pad the current string with.\n     *        If this string is too long, it will be truncated and the left-most part will be applied.\n     *        The default value for this parameter is \" \" (U+0020).\n     */\n    padEnd(maxLength: number, fillString?: string): string;\n}\n`;Vi[\"lib.es2017.typedarrays.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Int8ArrayConstructor {\n    new (): Int8Array;\n}\n\ninterface Uint8ArrayConstructor {\n    new (): Uint8Array;\n}\n\ninterface Uint8ClampedArrayConstructor {\n    new (): Uint8ClampedArray;\n}\n\ninterface Int16ArrayConstructor {\n    new (): Int16Array;\n}\n\ninterface Uint16ArrayConstructor {\n    new (): Uint16Array;\n}\n\ninterface Int32ArrayConstructor {\n    new (): Int32Array;\n}\n\ninterface Uint32ArrayConstructor {\n    new (): Uint32Array;\n}\n\ninterface Float32ArrayConstructor {\n    new (): Float32Array;\n}\n\ninterface Float64ArrayConstructor {\n    new (): Float64Array;\n}\n`;Vi[\"lib.es2018.asyncgenerator.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2018.asynciterable\" />\n\ninterface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> extends AsyncIterator<T, TReturn, TNext> {\n    // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.\n    next(...args: [] | [TNext]): Promise<IteratorResult<T, TReturn>>;\n    return(value: TReturn | PromiseLike<TReturn>): Promise<IteratorResult<T, TReturn>>;\n    throw(e: any): Promise<IteratorResult<T, TReturn>>;\n    [Symbol.asyncIterator](): AsyncGenerator<T, TReturn, TNext>;\n}\n\ninterface AsyncGeneratorFunction {\n    /**\n     * Creates a new AsyncGenerator object.\n     * @param args A list of arguments the function accepts.\n     */\n    new (...args: any[]): AsyncGenerator;\n    /**\n     * Creates a new AsyncGenerator object.\n     * @param args A list of arguments the function accepts.\n     */\n    (...args: any[]): AsyncGenerator;\n    /**\n     * The length of the arguments.\n     */\n    readonly length: number;\n    /**\n     * Returns the name of the function.\n     */\n    readonly name: string;\n    /**\n     * A reference to the prototype.\n     */\n    readonly prototype: AsyncGenerator;\n}\n\ninterface AsyncGeneratorFunctionConstructor {\n    /**\n     * Creates a new AsyncGenerator function.\n     * @param args A list of arguments the function accepts.\n     */\n    new (...args: string[]): AsyncGeneratorFunction;\n    /**\n     * Creates a new AsyncGenerator function.\n     * @param args A list of arguments the function accepts.\n     */\n    (...args: string[]): AsyncGeneratorFunction;\n    /**\n     * The length of the arguments.\n     */\n    readonly length: number;\n    /**\n     * Returns the name of the function.\n     */\n    readonly name: string;\n    /**\n     * A reference to the prototype.\n     */\n    readonly prototype: AsyncGeneratorFunction;\n}\n`;Vi[\"lib.es2018.asynciterable.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.iterable\" />\n\ninterface SymbolConstructor {\n    /**\n     * A method that returns the default async iterator for an object. Called by the semantics of\n     * the for-await-of statement.\n     */\n    readonly asyncIterator: unique symbol;\n}\n\ninterface AsyncIterator<T, TReturn = any, TNext = undefined> {\n    // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places.\n    next(...args: [] | [TNext]): Promise<IteratorResult<T, TReturn>>;\n    return?(value?: TReturn | PromiseLike<TReturn>): Promise<IteratorResult<T, TReturn>>;\n    throw?(e?: any): Promise<IteratorResult<T, TReturn>>;\n}\n\ninterface AsyncIterable<T> {\n    [Symbol.asyncIterator](): AsyncIterator<T>;\n}\n\ninterface AsyncIterableIterator<T> extends AsyncIterator<T> {\n    [Symbol.asyncIterator](): AsyncIterableIterator<T>;\n}\n`;Vi[\"lib.es2018.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2017\" />\n/// <reference lib=\"es2018.asynciterable\" />\n/// <reference lib=\"es2018.asyncgenerator\" />\n/// <reference lib=\"es2018.promise\" />\n/// <reference lib=\"es2018.regexp\" />\n/// <reference lib=\"es2018.intl\" />\n`;Vi[\"lib.es2018.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2018\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n`;Vi[\"lib.es2018.intl.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare namespace Intl {\n    // http://cldr.unicode.org/index/cldr-spec/plural-rules#TOC-Determining-Plural-Categories\n    type LDMLPluralRule = \"zero\" | \"one\" | \"two\" | \"few\" | \"many\" | \"other\";\n    type PluralRuleType = \"cardinal\" | \"ordinal\";\n\n    interface PluralRulesOptions {\n        localeMatcher?: \"lookup\" | \"best fit\" | undefined;\n        type?: PluralRuleType | undefined;\n        minimumIntegerDigits?: number | undefined;\n        minimumFractionDigits?: number | undefined;\n        maximumFractionDigits?: number | undefined;\n        minimumSignificantDigits?: number | undefined;\n        maximumSignificantDigits?: number | undefined;\n    }\n\n    interface ResolvedPluralRulesOptions {\n        locale: string;\n        pluralCategories: LDMLPluralRule[];\n        type: PluralRuleType;\n        minimumIntegerDigits: number;\n        minimumFractionDigits: number;\n        maximumFractionDigits: number;\n        minimumSignificantDigits?: number;\n        maximumSignificantDigits?: number;\n    }\n\n    interface PluralRules {\n        resolvedOptions(): ResolvedPluralRulesOptions;\n        select(n: number): LDMLPluralRule;\n    }\n\n    interface PluralRulesConstructor {\n        new (locales?: string | readonly string[], options?: PluralRulesOptions): PluralRules;\n        (locales?: string | readonly string[], options?: PluralRulesOptions): PluralRules;\n        supportedLocalesOf(locales: string | readonly string[], options?: { localeMatcher?: \"lookup\" | \"best fit\"; }): string[];\n    }\n\n    const PluralRules: PluralRulesConstructor;\n\n    // We can only have one definition for 'type' in TypeScript, and so you can learn where the keys come from here:\n    type ES2018NumberFormatPartType = \"literal\" | \"nan\" | \"infinity\" | \"percent\" | \"integer\" | \"group\" | \"decimal\" | \"fraction\" | \"plusSign\" | \"minusSign\" | \"percentSign\" | \"currency\" | \"code\" | \"symbol\" | \"name\";\n    type ES2020NumberFormatPartType = \"compact\" | \"exponentInteger\" | \"exponentMinusSign\" | \"exponentSeparator\" | \"unit\" | \"unknown\";\n    type NumberFormatPartTypes = ES2018NumberFormatPartType | ES2020NumberFormatPartType;\n\n    interface NumberFormatPart {\n        type: NumberFormatPartTypes;\n        value: string;\n    }\n\n    interface NumberFormat {\n        formatToParts(number?: number | bigint): NumberFormatPart[];\n    }\n}\n`;Vi[\"lib.es2018.promise.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/**\n * Represents the completion of an asynchronous operation\n */\ninterface Promise<T> {\n    /**\n     * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The\n     * resolved value cannot be modified from the callback.\n     * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).\n     * @returns A Promise for the completion of the callback.\n     */\n    finally(onfinally?: (() => void) | undefined | null): Promise<T>;\n}\n`;Vi[\"lib.es2018.regexp.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface RegExpMatchArray {\n    groups?: {\n        [key: string]: string;\n    };\n}\n\ninterface RegExpExecArray {\n    groups?: {\n        [key: string]: string;\n    };\n}\n\ninterface RegExp {\n    /**\n     * Returns a Boolean value indicating the state of the dotAll flag (s) used with a regular expression.\n     * Default is false. Read-only.\n     */\n    readonly dotAll: boolean;\n}\n`;Vi[\"lib.es2019.array.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ntype FlatArray<Arr, Depth extends number> = {\n    done: Arr;\n    recur: Arr extends ReadonlyArray<infer InnerArr> ? FlatArray<InnerArr, [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]>\n        : Arr;\n}[Depth extends -1 ? \"done\" : \"recur\"];\n\ninterface ReadonlyArray<T> {\n    /**\n     * Calls a defined callback function on each element of an array. Then, flattens the result into\n     * a new array.\n     * This is identical to a map followed by flat with depth 1.\n     *\n     * @param callback A function that accepts up to three arguments. The flatMap method calls the\n     * callback function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callback function. If\n     * thisArg is omitted, undefined is used as the this value.\n     */\n    flatMap<U, This = undefined>(\n        callback: (this: This, value: T, index: number, array: T[]) => U | ReadonlyArray<U>,\n        thisArg?: This,\n    ): U[];\n\n    /**\n     * Returns a new array with all sub-array elements concatenated into it recursively up to the\n     * specified depth.\n     *\n     * @param depth The maximum recursion depth\n     */\n    flat<A, D extends number = 1>(\n        this: A,\n        depth?: D,\n    ): FlatArray<A, D>[];\n}\n\ninterface Array<T> {\n    /**\n     * Calls a defined callback function on each element of an array. Then, flattens the result into\n     * a new array.\n     * This is identical to a map followed by flat with depth 1.\n     *\n     * @param callback A function that accepts up to three arguments. The flatMap method calls the\n     * callback function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callback function. If\n     * thisArg is omitted, undefined is used as the this value.\n     */\n    flatMap<U, This = undefined>(\n        callback: (this: This, value: T, index: number, array: T[]) => U | ReadonlyArray<U>,\n        thisArg?: This,\n    ): U[];\n\n    /**\n     * Returns a new array with all sub-array elements concatenated into it recursively up to the\n     * specified depth.\n     *\n     * @param depth The maximum recursion depth\n     */\n    flat<A, D extends number = 1>(\n        this: A,\n        depth?: D,\n    ): FlatArray<A, D>[];\n}\n`;Vi[\"lib.es2019.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2018\" />\n/// <reference lib=\"es2019.array\" />\n/// <reference lib=\"es2019.object\" />\n/// <reference lib=\"es2019.string\" />\n/// <reference lib=\"es2019.symbol\" />\n/// <reference lib=\"es2019.intl\" />\n`;Vi[\"lib.es2019.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2019\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n`;Vi[\"lib.es2019.intl.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare namespace Intl {\n    interface DateTimeFormatPartTypesRegistry {\n        unknown: any;\n    }\n}\n`;Vi[\"lib.es2019.object.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.iterable\" />\n\ninterface ObjectConstructor {\n    /**\n     * Returns an object created by key-value entries for properties and methods\n     * @param entries An iterable object that contains key-value entries for properties and methods.\n     */\n    fromEntries<T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; };\n\n    /**\n     * Returns an object created by key-value entries for properties and methods\n     * @param entries An iterable object that contains key-value entries for properties and methods.\n     */\n    fromEntries(entries: Iterable<readonly any[]>): any;\n}\n`;Vi[\"lib.es2019.string.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface String {\n    /** Removes the trailing white space and line terminator characters from a string. */\n    trimEnd(): string;\n\n    /** Removes the leading white space and line terminator characters from a string. */\n    trimStart(): string;\n\n    /**\n     * Removes the leading white space and line terminator characters from a string.\n     * @deprecated A legacy feature for browser compatibility. Use \\`trimStart\\` instead\n     */\n    trimLeft(): string;\n\n    /**\n     * Removes the trailing white space and line terminator characters from a string.\n     * @deprecated A legacy feature for browser compatibility. Use \\`trimEnd\\` instead\n     */\n    trimRight(): string;\n}\n`;Vi[\"lib.es2019.symbol.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Symbol {\n    /**\n     * Expose the [[Description]] internal slot of a symbol directly.\n     */\n    readonly description: string | undefined;\n}\n`;Vi[\"lib.es2020.bigint.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2020.intl\" />\n\ninterface BigIntToLocaleStringOptions {\n    /**\n     * The locale matching algorithm to use.The default is \"best fit\". For information about this option, see the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation Intl page}.\n     */\n    localeMatcher?: string;\n    /**\n     * The formatting style to use , the default is \"decimal\".\n     */\n    style?: string;\n\n    numberingSystem?: string;\n    /**\n     * The unit to use in unit formatting, Possible values are core unit identifiers, defined in UTS #35, Part 2, Section 6. A subset of units from the full list was selected for use in ECMAScript. Pairs of simple units can be concatenated with \"-per-\" to make a compound unit. There is no default value; if the style is \"unit\", the unit property must be provided.\n     */\n    unit?: string;\n\n    /**\n     * The unit formatting style to use in unit formatting, the defaults is \"short\".\n     */\n    unitDisplay?: string;\n\n    /**\n     * The currency to use in currency formatting. Possible values are the ISO 4217 currency codes, such as \"USD\" for the US dollar, \"EUR\" for the euro, or \"CNY\" for the Chinese RMB \\u2014 see the Current currency & funds code list. There is no default value; if the style is \"currency\", the currency property must be provided. It is only used when [[Style]] has the value \"currency\".\n     */\n    currency?: string;\n\n    /**\n     * How to display the currency in currency formatting. It is only used when [[Style]] has the value \"currency\". The default is \"symbol\".\n     *\n     * \"symbol\" to use a localized currency symbol such as \\u20AC,\n     *\n     * \"code\" to use the ISO currency code,\n     *\n     * \"name\" to use a localized currency name such as \"dollar\"\n     */\n    currencyDisplay?: string;\n\n    /**\n     * Whether to use grouping separators, such as thousands separators or thousand/lakh/crore separators. The default is true.\n     */\n    useGrouping?: boolean;\n\n    /**\n     * The minimum number of integer digits to use. Possible values are from 1 to 21; the default is 1.\n     */\n    minimumIntegerDigits?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21;\n\n    /**\n     * The minimum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number and percent formatting is 0; the default for currency formatting is the number of minor unit digits provided by the {@link http://www.currency-iso.org/en/home/tables/table-a1.html ISO 4217 currency codes list} (2 if the list doesn't provide that information).\n     */\n    minimumFractionDigits?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20;\n\n    /**\n     * The maximum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number formatting is the larger of minimumFractionDigits and 3; the default for currency formatting is the larger of minimumFractionDigits and the number of minor unit digits provided by the {@link http://www.currency-iso.org/en/home/tables/table-a1.html ISO 4217 currency codes list} (2 if the list doesn't provide that information); the default for percent formatting is the larger of minimumFractionDigits and 0.\n     */\n    maximumFractionDigits?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20;\n\n    /**\n     * The minimum number of significant digits to use. Possible values are from 1 to 21; the default is 1.\n     */\n    minimumSignificantDigits?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21;\n\n    /**\n     * The maximum number of significant digits to use. Possible values are from 1 to 21; the default is 21.\n     */\n    maximumSignificantDigits?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21;\n\n    /**\n     * The formatting that should be displayed for the number, the defaults is \"standard\"\n     *\n     *     \"standard\" plain number formatting\n     *\n     *     \"scientific\" return the order-of-magnitude for formatted number.\n     *\n     *     \"engineering\" return the exponent of ten when divisible by three\n     *\n     *     \"compact\" string representing exponent, defaults is using the \"short\" form\n     */\n    notation?: string;\n\n    /**\n     * used only when notation is \"compact\"\n     */\n    compactDisplay?: string;\n}\n\ninterface BigInt {\n    /**\n     * Returns a string representation of an object.\n     * @param radix Specifies a radix for converting numeric values to strings.\n     */\n    toString(radix?: number): string;\n\n    /** Returns a string representation appropriate to the host environment's current locale. */\n    toLocaleString(locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): bigint;\n\n    readonly [Symbol.toStringTag]: \"BigInt\";\n}\n\ninterface BigIntConstructor {\n    (value: bigint | boolean | number | string): bigint;\n    readonly prototype: BigInt;\n\n    /**\n     * Interprets the low bits of a BigInt as a 2's-complement signed integer.\n     * All higher bits are discarded.\n     * @param bits The number of low bits to use\n     * @param int The BigInt whose bits to extract\n     */\n    asIntN(bits: number, int: bigint): bigint;\n    /**\n     * Interprets the low bits of a BigInt as an unsigned integer.\n     * All higher bits are discarded.\n     * @param bits The number of low bits to use\n     * @param int The BigInt whose bits to extract\n     */\n    asUintN(bits: number, int: bigint): bigint;\n}\n\ndeclare var BigInt: BigIntConstructor;\n\n/**\n * A typed array of 64-bit signed integer values. The contents are initialized to 0. If the\n * requested number of bytes could not be allocated, an exception is raised.\n */\ninterface BigInt64Array {\n    /** The size in bytes of each element in the array. */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /** The ArrayBuffer instance referenced by the array. */\n    readonly buffer: ArrayBufferLike;\n\n    /** The length in bytes of the array. */\n    readonly byteLength: number;\n\n    /** The offset in bytes of the array. */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /** Yields index, value pairs for every entry in the array. */\n    entries(): IterableIterator<[number, bigint]>;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns false,\n     * or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: bigint, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: bigint, index: number, array: BigInt64Array) => any, thisArg?: any): BigInt64Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): bigint | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: bigint, index: number, array: BigInt64Array) => void, thisArg?: any): void;\n\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: bigint, fromIndex?: number): boolean;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    indexOf(searchElement: bigint, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /** Yields each index in the array. */\n    keys(): IterableIterator<number>;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: bigint, fromIndex?: number): number;\n\n    /** The length of the array. */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: bigint, index: number, array: BigInt64Array) => bigint, thisArg?: any): BigInt64Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigInt64Array) => bigint): bigint;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigInt64Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigInt64Array) => bigint): bigint;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigInt64Array) => U, initialValue: U): U;\n\n    /** Reverses the elements in the array. */\n    reverse(): this;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<bigint>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array.\n     */\n    slice(start?: number, end?: number): BigInt64Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls the\n     * predicate function for each element in the array until the predicate returns true, or until\n     * the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): boolean;\n\n    /**\n     * Sorts the array.\n     * @param compareFn The function used to determine the order of the elements. If omitted, the elements are sorted in ascending order.\n     */\n    sort(compareFn?: (a: bigint, b: bigint) => number | bigint): this;\n\n    /**\n     * Gets a new BigInt64Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): BigInt64Array;\n\n    /** Converts the array to a string by using the current locale. */\n    toLocaleString(): string;\n\n    /** Returns a string representation of the array. */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): BigInt64Array;\n\n    /** Yields each value in the array. */\n    values(): IterableIterator<bigint>;\n\n    [Symbol.iterator](): IterableIterator<bigint>;\n\n    readonly [Symbol.toStringTag]: \"BigInt64Array\";\n\n    [index: number]: bigint;\n}\n\ninterface BigInt64ArrayConstructor {\n    readonly prototype: BigInt64Array;\n    new (length?: number): BigInt64Array;\n    new (array: Iterable<bigint>): BigInt64Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): BigInt64Array;\n\n    /** The size in bytes of each element in the array. */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: bigint[]): BigInt64Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: ArrayLike<bigint>): BigInt64Array;\n    from<U>(arrayLike: ArrayLike<U>, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigInt64Array;\n}\n\ndeclare var BigInt64Array: BigInt64ArrayConstructor;\n\n/**\n * A typed array of 64-bit unsigned integer values. The contents are initialized to 0. If the\n * requested number of bytes could not be allocated, an exception is raised.\n */\ninterface BigUint64Array {\n    /** The size in bytes of each element in the array. */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /** The ArrayBuffer instance referenced by the array. */\n    readonly buffer: ArrayBufferLike;\n\n    /** The length in bytes of the array. */\n    readonly byteLength: number;\n\n    /** The offset in bytes of the array. */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /** Yields index, value pairs for every entry in the array. */\n    entries(): IterableIterator<[number, bigint]>;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns false,\n     * or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: bigint, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: bigint, index: number, array: BigUint64Array) => any, thisArg?: any): BigUint64Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): bigint | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: bigint, index: number, array: BigUint64Array) => void, thisArg?: any): void;\n\n    /**\n     * Determines whether an array includes a certain element, returning true or false as appropriate.\n     * @param searchElement The element to search for.\n     * @param fromIndex The position in this array at which to begin searching for searchElement.\n     */\n    includes(searchElement: bigint, fromIndex?: number): boolean;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    indexOf(searchElement: bigint, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /** Yields each index in the array. */\n    keys(): IterableIterator<number>;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: bigint, fromIndex?: number): number;\n\n    /** The length of the array. */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: bigint, index: number, array: BigUint64Array) => bigint, thisArg?: any): BigUint64Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigUint64Array) => bigint): bigint;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigUint64Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigUint64Array) => bigint): bigint;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigUint64Array) => U, initialValue: U): U;\n\n    /** Reverses the elements in the array. */\n    reverse(): this;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<bigint>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array.\n     */\n    slice(start?: number, end?: number): BigUint64Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls the\n     * predicate function for each element in the array until the predicate returns true, or until\n     * the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): boolean;\n\n    /**\n     * Sorts the array.\n     * @param compareFn The function used to determine the order of the elements. If omitted, the elements are sorted in ascending order.\n     */\n    sort(compareFn?: (a: bigint, b: bigint) => number | bigint): this;\n\n    /**\n     * Gets a new BigUint64Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): BigUint64Array;\n\n    /** Converts the array to a string by using the current locale. */\n    toLocaleString(): string;\n\n    /** Returns a string representation of the array. */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): BigUint64Array;\n\n    /** Yields each value in the array. */\n    values(): IterableIterator<bigint>;\n\n    [Symbol.iterator](): IterableIterator<bigint>;\n\n    readonly [Symbol.toStringTag]: \"BigUint64Array\";\n\n    [index: number]: bigint;\n}\n\ninterface BigUint64ArrayConstructor {\n    readonly prototype: BigUint64Array;\n    new (length?: number): BigUint64Array;\n    new (array: Iterable<bigint>): BigUint64Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): BigUint64Array;\n\n    /** The size in bytes of each element in the array. */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: bigint[]): BigUint64Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from(arrayLike: ArrayLike<bigint>): BigUint64Array;\n    from<U>(arrayLike: ArrayLike<U>, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigUint64Array;\n}\n\ndeclare var BigUint64Array: BigUint64ArrayConstructor;\n\ninterface DataView {\n    /**\n     * Gets the BigInt64 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     * @param littleEndian If false or undefined, a big-endian value should be read.\n     */\n    getBigInt64(byteOffset: number, littleEndian?: boolean): bigint;\n\n    /**\n     * Gets the BigUint64 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     * @param littleEndian If false or undefined, a big-endian value should be read.\n     */\n    getBigUint64(byteOffset: number, littleEndian?: boolean): bigint;\n\n    /**\n     * Stores a BigInt64 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     * @param littleEndian If false or undefined, a big-endian value should be written.\n     */\n    setBigInt64(byteOffset: number, value: bigint, littleEndian?: boolean): void;\n\n    /**\n     * Stores a BigUint64 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     * @param littleEndian If false or undefined, a big-endian value should be written.\n     */\n    setBigUint64(byteOffset: number, value: bigint, littleEndian?: boolean): void;\n}\n\ndeclare namespace Intl {\n    interface NumberFormat {\n        format(value: number | bigint): string;\n        resolvedOptions(): ResolvedNumberFormatOptions;\n    }\n}\n`;Vi[\"lib.es2020.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2019\" />\n/// <reference lib=\"es2020.bigint\" />\n/// <reference lib=\"es2020.date\" />\n/// <reference lib=\"es2020.number\" />\n/// <reference lib=\"es2020.promise\" />\n/// <reference lib=\"es2020.sharedmemory\" />\n/// <reference lib=\"es2020.string\" />\n/// <reference lib=\"es2020.symbol.wellknown\" />\n/// <reference lib=\"es2020.intl\" />\n`;Vi[\"lib.es2020.date.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2020.intl\" />\n\ninterface Date {\n    /**\n     * Converts a date and time to a string by using the current or specified locale.\n     * @param locales A locale string, array of locale strings, Intl.Locale object, or array of Intl.Locale objects that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n     * @param options An object that contains one or more properties that specify comparison options.\n     */\n    toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n\n    /**\n     * Converts a date to a string by using the current or specified locale.\n     * @param locales A locale string, array of locale strings, Intl.Locale object, or array of Intl.Locale objects that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n     * @param options An object that contains one or more properties that specify comparison options.\n     */\n    toLocaleDateString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n\n    /**\n     * Converts a time to a string by using the current or specified locale.\n     * @param locales A locale string, array of locale strings, Intl.Locale object, or array of Intl.Locale objects that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n     * @param options An object that contains one or more properties that specify comparison options.\n     */\n    toLocaleTimeString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n}\n`;Vi[\"lib.es2020.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2020\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n`;Vi[\"lib.es2020.intl.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2018.intl\" />\ndeclare namespace Intl {\n    /**\n     * A string that is a valid [Unicode BCP 47 Locale Identifier](https://unicode.org/reports/tr35/#Unicode_locale_identifier).\n     *\n     * For example: \"fa\", \"es-MX\", \"zh-Hant-TW\".\n     *\n     * See [MDN - Intl - locales argument](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument).\n     */\n    type UnicodeBCP47LocaleIdentifier = string;\n\n    /**\n     * Unit to use in the relative time internationalized message.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/format#Parameters).\n     */\n    type RelativeTimeFormatUnit =\n        | \"year\"\n        | \"years\"\n        | \"quarter\"\n        | \"quarters\"\n        | \"month\"\n        | \"months\"\n        | \"week\"\n        | \"weeks\"\n        | \"day\"\n        | \"days\"\n        | \"hour\"\n        | \"hours\"\n        | \"minute\"\n        | \"minutes\"\n        | \"second\"\n        | \"seconds\";\n\n    /**\n     * Value of the \\`unit\\` property in objects returned by\n     * \\`Intl.RelativeTimeFormat.prototype.formatToParts()\\`. \\`formatToParts\\` and\n     * \\`format\\` methods accept either singular or plural unit names as input,\n     * but \\`formatToParts\\` only outputs singular (e.g. \"day\") not plural (e.g.\n     * \"days\").\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/formatToParts#Using_formatToParts).\n     */\n    type RelativeTimeFormatUnitSingular =\n        | \"year\"\n        | \"quarter\"\n        | \"month\"\n        | \"week\"\n        | \"day\"\n        | \"hour\"\n        | \"minute\"\n        | \"second\";\n\n    /**\n     * The locale matching algorithm to use.\n     *\n     * [MDN](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation).\n     */\n    type RelativeTimeFormatLocaleMatcher = \"lookup\" | \"best fit\";\n\n    /**\n     * The format of output message.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters).\n     */\n    type RelativeTimeFormatNumeric = \"always\" | \"auto\";\n\n    /**\n     * The length of the internationalized message.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters).\n     */\n    type RelativeTimeFormatStyle = \"long\" | \"short\" | \"narrow\";\n\n    /**\n     * The locale or locales to use\n     *\n     * See [MDN - Intl - locales argument](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument).\n     */\n    type LocalesArgument = UnicodeBCP47LocaleIdentifier | Locale | readonly (UnicodeBCP47LocaleIdentifier | Locale)[] | undefined;\n\n    /**\n     * An object with some or all of properties of \\`options\\` parameter\n     * of \\`Intl.RelativeTimeFormat\\` constructor.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters).\n     */\n    interface RelativeTimeFormatOptions {\n        /** The locale matching algorithm to use. For information about this option, see [Intl page](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation). */\n        localeMatcher?: RelativeTimeFormatLocaleMatcher;\n        /** The format of output message. */\n        numeric?: RelativeTimeFormatNumeric;\n        /** The length of the internationalized message. */\n        style?: RelativeTimeFormatStyle;\n    }\n\n    /**\n     * An object with properties reflecting the locale\n     * and formatting options computed during initialization\n     * of the \\`Intl.RelativeTimeFormat\\` object\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/resolvedOptions#Description).\n     */\n    interface ResolvedRelativeTimeFormatOptions {\n        locale: UnicodeBCP47LocaleIdentifier;\n        style: RelativeTimeFormatStyle;\n        numeric: RelativeTimeFormatNumeric;\n        numberingSystem: string;\n    }\n\n    /**\n     * An object representing the relative time format in parts\n     * that can be used for custom locale-aware formatting.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/formatToParts#Using_formatToParts).\n     */\n    type RelativeTimeFormatPart =\n        | {\n            type: \"literal\";\n            value: string;\n        }\n        | {\n            type: Exclude<NumberFormatPartTypes, \"literal\">;\n            value: string;\n            unit: RelativeTimeFormatUnitSingular;\n        };\n\n    interface RelativeTimeFormat {\n        /**\n         * Formats a value and a unit according to the locale\n         * and formatting options of the given\n         * [\\`Intl.RelativeTimeFormat\\`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat)\n         * object.\n         *\n         * While this method automatically provides the correct plural forms,\n         * the grammatical form is otherwise as neutral as possible.\n         *\n         * It is the caller's responsibility to handle cut-off logic\n         * such as deciding between displaying \"in 7 days\" or \"in 1 week\".\n         * This API does not support relative dates involving compound units.\n         * e.g \"in 5 days and 4 hours\".\n         *\n         * @param value -  Numeric value to use in the internationalized relative time message\n         *\n         * @param unit - [Unit](https://tc39.es/ecma402/#sec-singularrelativetimeunit) to use in the relative time internationalized message.\n         *\n         * @throws \\`RangeError\\` if \\`unit\\` was given something other than \\`unit\\` possible values\n         *\n         * @returns {string} Internationalized relative time message as string\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/format).\n         */\n        format(value: number, unit: RelativeTimeFormatUnit): string;\n\n        /**\n         *  Returns an array of objects representing the relative time format in parts that can be used for custom locale-aware formatting.\n         *\n         *  @param value - Numeric value to use in the internationalized relative time message\n         *\n         *  @param unit - [Unit](https://tc39.es/ecma402/#sec-singularrelativetimeunit) to use in the relative time internationalized message.\n         *\n         *  @throws \\`RangeError\\` if \\`unit\\` was given something other than \\`unit\\` possible values\n         *\n         *  [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/formatToParts).\n         */\n        formatToParts(value: number, unit: RelativeTimeFormatUnit): RelativeTimeFormatPart[];\n\n        /**\n         * Provides access to the locale and options computed during initialization of this \\`Intl.RelativeTimeFormat\\` object.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/resolvedOptions).\n         */\n        resolvedOptions(): ResolvedRelativeTimeFormatOptions;\n    }\n\n    /**\n     * The [\\`Intl.RelativeTimeFormat\\`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat)\n     * object is a constructor for objects that enable language-sensitive relative time formatting.\n     *\n     * [Compatibility](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat#Browser_compatibility).\n     */\n    const RelativeTimeFormat: {\n        /**\n         * Creates [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat) objects\n         *\n         * @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.\n         *  For the general form and interpretation of the locales argument,\n         *  see the [\\`Intl\\` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\n         *\n         * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters)\n         *  with some or all of options of \\`RelativeTimeFormatOptions\\`.\n         *\n         * @returns [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat) object.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat).\n         */\n        new (\n            locales?: LocalesArgument,\n            options?: RelativeTimeFormatOptions,\n        ): RelativeTimeFormat;\n\n        /**\n         * Returns an array containing those of the provided locales\n         * that are supported in date and time formatting\n         * without having to fall back to the runtime's default locale.\n         *\n         * @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.\n         *  For the general form and interpretation of the locales argument,\n         *  see the [\\`Intl\\` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\n         *\n         * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#Parameters)\n         *  with some or all of options of the formatting.\n         *\n         * @returns An array containing those of the provided locales\n         *  that are supported in date and time formatting\n         *  without having to fall back to the runtime's default locale.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/supportedLocalesOf).\n         */\n        supportedLocalesOf(\n            locales?: LocalesArgument,\n            options?: RelativeTimeFormatOptions,\n        ): UnicodeBCP47LocaleIdentifier[];\n    };\n\n    interface NumberFormatOptions {\n        compactDisplay?: \"short\" | \"long\" | undefined;\n        notation?: \"standard\" | \"scientific\" | \"engineering\" | \"compact\" | undefined;\n        signDisplay?: \"auto\" | \"never\" | \"always\" | \"exceptZero\" | undefined;\n        unit?: string | undefined;\n        unitDisplay?: \"short\" | \"long\" | \"narrow\" | undefined;\n        currencyDisplay?: string | undefined;\n        currencySign?: string | undefined;\n    }\n\n    interface ResolvedNumberFormatOptions {\n        compactDisplay?: \"short\" | \"long\";\n        notation?: \"standard\" | \"scientific\" | \"engineering\" | \"compact\";\n        signDisplay?: \"auto\" | \"never\" | \"always\" | \"exceptZero\";\n        unit?: string;\n        unitDisplay?: \"short\" | \"long\" | \"narrow\";\n        currencyDisplay?: string;\n        currencySign?: string;\n    }\n\n    interface DateTimeFormatOptions {\n        calendar?: string | undefined;\n        dayPeriod?: \"narrow\" | \"short\" | \"long\" | undefined;\n        numberingSystem?: string | undefined;\n\n        dateStyle?: \"full\" | \"long\" | \"medium\" | \"short\" | undefined;\n        timeStyle?: \"full\" | \"long\" | \"medium\" | \"short\" | undefined;\n        hourCycle?: \"h11\" | \"h12\" | \"h23\" | \"h24\" | undefined;\n    }\n\n    type LocaleHourCycleKey = \"h12\" | \"h23\" | \"h11\" | \"h24\";\n    type LocaleCollationCaseFirst = \"upper\" | \"lower\" | \"false\";\n\n    interface LocaleOptions {\n        /** A string containing the language, and the script and region if available. */\n        baseName?: string;\n        /** The part of the Locale that indicates the locale's calendar era. */\n        calendar?: string;\n        /** Flag that defines whether case is taken into account for the locale's collation rules. */\n        caseFirst?: LocaleCollationCaseFirst;\n        /** The collation type used for sorting */\n        collation?: string;\n        /** The time keeping format convention used by the locale. */\n        hourCycle?: LocaleHourCycleKey;\n        /** The primary language subtag associated with the locale. */\n        language?: string;\n        /** The numeral system used by the locale. */\n        numberingSystem?: string;\n        /** Flag that defines whether the locale has special collation handling for numeric characters. */\n        numeric?: boolean;\n        /** The region of the world (usually a country) associated with the locale. Possible values are region codes as defined by ISO 3166-1. */\n        region?: string;\n        /** The script used for writing the particular language used in the locale. Possible values are script codes as defined by ISO 15924. */\n        script?: string;\n    }\n\n    interface Locale extends LocaleOptions {\n        /** A string containing the language, and the script and region if available. */\n        baseName: string;\n        /** The primary language subtag associated with the locale. */\n        language: string;\n        /** Gets the most likely values for the language, script, and region of the locale based on existing values. */\n        maximize(): Locale;\n        /** Attempts to remove information about the locale that would be added by calling \\`Locale.maximize()\\`. */\n        minimize(): Locale;\n        /** Returns the locale's full locale identifier string. */\n        toString(): UnicodeBCP47LocaleIdentifier;\n    }\n\n    /**\n     * Constructor creates [Intl.Locale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale)\n     * objects\n     *\n     * @param tag - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646).\n     *  For the general form and interpretation of the locales argument,\n     *  see the [\\`Intl\\` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\n     *\n     * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/Locale#Parameters) with some or all of options of the locale.\n     *\n     * @returns [Intl.Locale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale) object.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale).\n     */\n    const Locale: {\n        new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions): Locale;\n    };\n\n    type DisplayNamesFallback =\n        | \"code\"\n        | \"none\";\n\n    type DisplayNamesType =\n        | \"language\"\n        | \"region\"\n        | \"script\"\n        | \"calendar\"\n        | \"dateTimeField\"\n        | \"currency\";\n\n    type DisplayNamesLanguageDisplay =\n        | \"dialect\"\n        | \"standard\";\n\n    interface DisplayNamesOptions {\n        localeMatcher?: RelativeTimeFormatLocaleMatcher;\n        style?: RelativeTimeFormatStyle;\n        type: DisplayNamesType;\n        languageDisplay?: DisplayNamesLanguageDisplay;\n        fallback?: DisplayNamesFallback;\n    }\n\n    interface ResolvedDisplayNamesOptions {\n        locale: UnicodeBCP47LocaleIdentifier;\n        style: RelativeTimeFormatStyle;\n        type: DisplayNamesType;\n        fallback: DisplayNamesFallback;\n        languageDisplay?: DisplayNamesLanguageDisplay;\n    }\n\n    interface DisplayNames {\n        /**\n         * Receives a code and returns a string based on the locale and options provided when instantiating\n         * [\\`Intl.DisplayNames()\\`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames)\n         *\n         * @param code The \\`code\\` to provide depends on the \\`type\\` passed to display name during creation:\n         *  - If the type is \\`\"region\"\\`, code should be either an [ISO-3166 two letters region code](https://www.iso.org/iso-3166-country-codes.html),\n         *    or a [three digits UN M49 Geographic Regions](https://unstats.un.org/unsd/methodology/m49/).\n         *  - If the type is \\`\"script\"\\`, code should be an [ISO-15924 four letters script code](https://unicode.org/iso15924/iso15924-codes.html).\n         *  - If the type is \\`\"language\"\\`, code should be a \\`languageCode\\` [\"-\" \\`scriptCode\\`] [\"-\" \\`regionCode\\` ] *(\"-\" \\`variant\\` )\n         *    subsequence of the unicode_language_id grammar in [UTS 35's Unicode Language and Locale Identifiers grammar](https://unicode.org/reports/tr35/#Unicode_language_identifier).\n         *    \\`languageCode\\` is either a two letters ISO 639-1 language code or a three letters ISO 639-2 language code.\n         *  - If the type is \\`\"currency\"\\`, code should be a [3-letter ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html).\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/of).\n         */\n        of(code: string): string | undefined;\n        /**\n         * Returns a new object with properties reflecting the locale and style formatting options computed during the construction of the current\n         * [\\`Intl/DisplayNames\\`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames) object.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/resolvedOptions).\n         */\n        resolvedOptions(): ResolvedDisplayNamesOptions;\n    }\n\n    /**\n     * The [\\`Intl.DisplayNames()\\`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames)\n     * object enables the consistent translation of language, region and script display names.\n     *\n     * [Compatibility](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames#browser_compatibility).\n     */\n    const DisplayNames: {\n        prototype: DisplayNames;\n\n        /**\n         * @param locales A string with a BCP 47 language tag, or an array of such strings.\n         *   For the general form and interpretation of the \\`locales\\` argument, see the [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locale_identification_and_negotiation)\n         *   page.\n         *\n         * @param options An object for setting up a display name.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/DisplayNames).\n         */\n        new (locales: LocalesArgument, options: DisplayNamesOptions): DisplayNames;\n\n        /**\n         * Returns an array containing those of the provided locales that are supported in display names without having to fall back to the runtime's default locale.\n         *\n         * @param locales A string with a BCP 47 language tag, or an array of such strings.\n         *   For the general form and interpretation of the \\`locales\\` argument, see the [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locale_identification_and_negotiation)\n         *   page.\n         *\n         * @param options An object with a locale matcher.\n         *\n         * @returns An array of strings representing a subset of the given locale tags that are supported in display names without having to fall back to the runtime's default locale.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/supportedLocalesOf).\n         */\n        supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): UnicodeBCP47LocaleIdentifier[];\n    };\n\n    interface CollatorConstructor {\n        new (locales?: LocalesArgument, options?: CollatorOptions): Collator;\n        (locales?: LocalesArgument, options?: CollatorOptions): Collator;\n        supportedLocalesOf(locales: LocalesArgument, options?: CollatorOptions): string[];\n    }\n\n    interface DateTimeFormatConstructor {\n        new (locales?: LocalesArgument, options?: DateTimeFormatOptions): DateTimeFormat;\n        (locales?: LocalesArgument, options?: DateTimeFormatOptions): DateTimeFormat;\n        supportedLocalesOf(locales: LocalesArgument, options?: DateTimeFormatOptions): string[];\n    }\n\n    interface NumberFormatConstructor {\n        new (locales?: LocalesArgument, options?: NumberFormatOptions): NumberFormat;\n        (locales?: LocalesArgument, options?: NumberFormatOptions): NumberFormat;\n        supportedLocalesOf(locales: LocalesArgument, options?: NumberFormatOptions): string[];\n    }\n\n    interface PluralRulesConstructor {\n        new (locales?: LocalesArgument, options?: PluralRulesOptions): PluralRules;\n        (locales?: LocalesArgument, options?: PluralRulesOptions): PluralRules;\n\n        supportedLocalesOf(locales: LocalesArgument, options?: { localeMatcher?: \"lookup\" | \"best fit\"; }): string[];\n    }\n}\n`;Vi[\"lib.es2020.number.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2020.intl\" />\n\ninterface Number {\n    /**\n     * Converts a number to a string by using the current or specified locale.\n     * @param locales A locale string, array of locale strings, Intl.Locale object, or array of Intl.Locale objects that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n     * @param options An object that contains one or more properties that specify comparison options.\n     */\n    toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;\n}\n`;Vi[\"lib.es2020.promise.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface PromiseFulfilledResult<T> {\n    status: \"fulfilled\";\n    value: T;\n}\n\ninterface PromiseRejectedResult {\n    status: \"rejected\";\n    reason: any;\n}\n\ntype PromiseSettledResult<T> = PromiseFulfilledResult<T> | PromiseRejectedResult;\n\ninterface PromiseConstructor {\n    /**\n     * Creates a Promise that is resolved with an array of results when all\n     * of the provided Promises resolve or reject.\n     * @param values An array of Promises.\n     * @returns A new Promise.\n     */\n    allSettled<T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: PromiseSettledResult<Awaited<T[P]>>; }>;\n\n    /**\n     * Creates a Promise that is resolved with an array of results when all\n     * of the provided Promises resolve or reject.\n     * @param values An array of Promises.\n     * @returns A new Promise.\n     */\n    allSettled<T>(values: Iterable<T | PromiseLike<T>>): Promise<PromiseSettledResult<Awaited<T>>[]>;\n}\n`;Vi[\"lib.es2020.sharedmemory.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Atomics {\n    /**\n     * Adds a value to the value at the given position in the array, returning the original value.\n     * Until this atomic operation completes, any other read or write operation against the array\n     * will block.\n     */\n    add(typedArray: BigInt64Array | BigUint64Array, index: number, value: bigint): bigint;\n\n    /**\n     * Stores the bitwise AND of a value with the value at the given position in the array,\n     * returning the original value. Until this atomic operation completes, any other read or\n     * write operation against the array will block.\n     */\n    and(typedArray: BigInt64Array | BigUint64Array, index: number, value: bigint): bigint;\n\n    /**\n     * Replaces the value at the given position in the array if the original value equals the given\n     * expected value, returning the original value. Until this atomic operation completes, any\n     * other read or write operation against the array will block.\n     */\n    compareExchange(typedArray: BigInt64Array | BigUint64Array, index: number, expectedValue: bigint, replacementValue: bigint): bigint;\n\n    /**\n     * Replaces the value at the given position in the array, returning the original value. Until\n     * this atomic operation completes, any other read or write operation against the array will\n     * block.\n     */\n    exchange(typedArray: BigInt64Array | BigUint64Array, index: number, value: bigint): bigint;\n\n    /**\n     * Returns the value at the given position in the array. Until this atomic operation completes,\n     * any other read or write operation against the array will block.\n     */\n    load(typedArray: BigInt64Array | BigUint64Array, index: number): bigint;\n\n    /**\n     * Stores the bitwise OR of a value with the value at the given position in the array,\n     * returning the original value. Until this atomic operation completes, any other read or write\n     * operation against the array will block.\n     */\n    or(typedArray: BigInt64Array | BigUint64Array, index: number, value: bigint): bigint;\n\n    /**\n     * Stores a value at the given position in the array, returning the new value. Until this\n     * atomic operation completes, any other read or write operation against the array will block.\n     */\n    store(typedArray: BigInt64Array | BigUint64Array, index: number, value: bigint): bigint;\n\n    /**\n     * Subtracts a value from the value at the given position in the array, returning the original\n     * value. Until this atomic operation completes, any other read or write operation against the\n     * array will block.\n     */\n    sub(typedArray: BigInt64Array | BigUint64Array, index: number, value: bigint): bigint;\n\n    /**\n     * If the value at the given position in the array is equal to the provided value, the current\n     * agent is put to sleep causing execution to suspend until the timeout expires (returning\n     * \\`\"timed-out\"\\`) or until the agent is awoken (returning \\`\"ok\"\\`); otherwise, returns\n     * \\`\"not-equal\"\\`.\n     */\n    wait(typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): \"ok\" | \"not-equal\" | \"timed-out\";\n\n    /**\n     * Wakes up sleeping agents that are waiting on the given index of the array, returning the\n     * number of agents that were awoken.\n     * @param typedArray A shared BigInt64Array.\n     * @param index The position in the typedArray to wake up on.\n     * @param count The number of sleeping agents to notify. Defaults to +Infinity.\n     */\n    notify(typedArray: BigInt64Array, index: number, count?: number): number;\n\n    /**\n     * Stores the bitwise XOR of a value with the value at the given position in the array,\n     * returning the original value. Until this atomic operation completes, any other read or write\n     * operation against the array will block.\n     */\n    xor(typedArray: BigInt64Array | BigUint64Array, index: number, value: bigint): bigint;\n}\n`;Vi[\"lib.es2020.string.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.iterable\" />\n\ninterface String {\n    /**\n     * Matches a string with a regular expression, and returns an iterable of matches\n     * containing the results of that search.\n     * @param regexp A variable name or string literal containing the regular expression pattern and flags.\n     */\n    matchAll(regexp: RegExp): IterableIterator<RegExpExecArray>;\n\n    /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */\n    toLocaleLowerCase(locales?: Intl.LocalesArgument): string;\n\n    /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */\n    toLocaleUpperCase(locales?: Intl.LocalesArgument): string;\n\n    /**\n     * Determines whether two strings are equivalent in the current or specified locale.\n     * @param that String to compare to target string\n     * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n     * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.\n     */\n    localeCompare(that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;\n}\n`;Vi[\"lib.es2020.symbol.wellknown.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2015.symbol\" />\n\ninterface SymbolConstructor {\n    /**\n     * A regular expression method that matches the regular expression against a string. Called\n     * by the String.prototype.matchAll method.\n     */\n    readonly matchAll: unique symbol;\n}\n\ninterface RegExp {\n    /**\n     * Matches a string with this regular expression, and returns an iterable of matches\n     * containing the results of that search.\n     * @param string A string to search within.\n     */\n    [Symbol.matchAll](str: string): IterableIterator<RegExpMatchArray>;\n}\n`;Vi[\"lib.es2021.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2020\" />\n/// <reference lib=\"es2021.promise\" />\n/// <reference lib=\"es2021.string\" />\n/// <reference lib=\"es2021.weakref\" />\n/// <reference lib=\"es2021.intl\" />\n`;Vi[\"lib.es2021.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2021\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n`;Vi[\"lib.es2021.intl.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare namespace Intl {\n    interface DateTimeFormatPartTypesRegistry {\n        fractionalSecond: any;\n    }\n\n    interface DateTimeFormatOptions {\n        formatMatcher?: \"basic\" | \"best fit\" | \"best fit\" | undefined;\n        dateStyle?: \"full\" | \"long\" | \"medium\" | \"short\" | undefined;\n        timeStyle?: \"full\" | \"long\" | \"medium\" | \"short\" | undefined;\n        dayPeriod?: \"narrow\" | \"short\" | \"long\" | undefined;\n        fractionalSecondDigits?: 1 | 2 | 3 | undefined;\n    }\n\n    interface DateTimeRangeFormatPart extends DateTimeFormatPart {\n        source: \"startRange\" | \"endRange\" | \"shared\";\n    }\n\n    interface DateTimeFormat {\n        formatRange(startDate: Date | number | bigint, endDate: Date | number | bigint): string;\n        formatRangeToParts(startDate: Date | number | bigint, endDate: Date | number | bigint): DateTimeRangeFormatPart[];\n    }\n\n    interface ResolvedDateTimeFormatOptions {\n        formatMatcher?: \"basic\" | \"best fit\" | \"best fit\";\n        dateStyle?: \"full\" | \"long\" | \"medium\" | \"short\";\n        timeStyle?: \"full\" | \"long\" | \"medium\" | \"short\";\n        hourCycle?: \"h11\" | \"h12\" | \"h23\" | \"h24\";\n        dayPeriod?: \"narrow\" | \"short\" | \"long\";\n        fractionalSecondDigits?: 1 | 2 | 3;\n    }\n\n    /**\n     * The locale matching algorithm to use.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat#parameters).\n     */\n    type ListFormatLocaleMatcher = \"lookup\" | \"best fit\";\n\n    /**\n     * The format of output message.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat#parameters).\n     */\n    type ListFormatType = \"conjunction\" | \"disjunction\" | \"unit\";\n\n    /**\n     * The length of the formatted message.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat#parameters).\n     */\n    type ListFormatStyle = \"long\" | \"short\" | \"narrow\";\n\n    /**\n     * An object with some or all properties of the \\`Intl.ListFormat\\` constructor \\`options\\` parameter.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat#parameters).\n     */\n    interface ListFormatOptions {\n        /** The locale matching algorithm to use. For information about this option, see [Intl page](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation). */\n        localeMatcher?: ListFormatLocaleMatcher | undefined;\n        /** The format of output message. */\n        type?: ListFormatType | undefined;\n        /** The length of the internationalized message. */\n        style?: ListFormatStyle | undefined;\n    }\n\n    interface ResolvedListFormatOptions {\n        locale: string;\n        style: ListFormatStyle;\n        type: ListFormatType;\n    }\n\n    interface ListFormat {\n        /**\n         * Returns a string with a language-specific representation of the list.\n         *\n         * @param list - An iterable object, such as an [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array).\n         *\n         * @throws \\`TypeError\\` if \\`list\\` includes something other than the possible values.\n         *\n         * @returns {string} A language-specific formatted string representing the elements of the list.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/format).\n         */\n        format(list: Iterable<string>): string;\n\n        /**\n         * Returns an Array of objects representing the different components that can be used to format a list of values in a locale-aware fashion.\n         *\n         * @param list - An iterable object, such as an [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array), to be formatted according to a locale.\n         *\n         * @throws \\`TypeError\\` if \\`list\\` includes something other than the possible values.\n         *\n         * @returns {{ type: \"element\" | \"literal\", value: string; }[]} An Array of components which contains the formatted parts from the list.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/formatToParts).\n         */\n        formatToParts(list: Iterable<string>): { type: \"element\" | \"literal\"; value: string; }[];\n\n        /**\n         * Returns a new object with properties reflecting the locale and style\n         * formatting options computed during the construction of the current\n         * \\`Intl.ListFormat\\` object.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/resolvedOptions).\n         */\n        resolvedOptions(): ResolvedListFormatOptions;\n    }\n\n    const ListFormat: {\n        prototype: ListFormat;\n\n        /**\n         * Creates [Intl.ListFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat) objects that\n         * enable language-sensitive list formatting.\n         *\n         * @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.\n         *  For the general form and interpretation of the \\`locales\\` argument,\n         *  see the [\\`Intl\\` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\n         *\n         * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat#parameters)\n         *  with some or all options of \\`ListFormatOptions\\`.\n         *\n         * @returns [Intl.ListFormatOptions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat) object.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat).\n         */\n        new (locales?: LocalesArgument, options?: ListFormatOptions): ListFormat;\n\n        /**\n         * Returns an array containing those of the provided locales that are\n         * supported in list formatting without having to fall back to the runtime's default locale.\n         *\n         * @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.\n         *  For the general form and interpretation of the \\`locales\\` argument,\n         *  see the [\\`Intl\\` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\n         *\n         * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/supportedLocalesOf#parameters).\n         *  with some or all possible options.\n         *\n         * @returns An array of strings representing a subset of the given locale tags that are supported in list\n         *  formatting without having to fall back to the runtime's default locale.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/supportedLocalesOf).\n         */\n        supportedLocalesOf(locales: LocalesArgument, options?: Pick<ListFormatOptions, \"localeMatcher\">): UnicodeBCP47LocaleIdentifier[];\n    };\n}\n`;Vi[\"lib.es2021.promise.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface AggregateError extends Error {\n    errors: any[];\n}\n\ninterface AggregateErrorConstructor {\n    new (errors: Iterable<any>, message?: string): AggregateError;\n    (errors: Iterable<any>, message?: string): AggregateError;\n    readonly prototype: AggregateError;\n}\n\ndeclare var AggregateError: AggregateErrorConstructor;\n\n/**\n * Represents the completion of an asynchronous operation\n */\ninterface PromiseConstructor {\n    /**\n     * The any function returns a promise that is fulfilled by the first given promise to be fulfilled, or rejected with an AggregateError containing an array of rejection reasons if all of the given promises are rejected. It resolves all elements of the passed iterable to promises as it runs this algorithm.\n     * @param values An array or iterable of Promises.\n     * @returns A new Promise.\n     */\n    any<T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;\n\n    /**\n     * The any function returns a promise that is fulfilled by the first given promise to be fulfilled, or rejected with an AggregateError containing an array of rejection reasons if all of the given promises are rejected. It resolves all elements of the passed iterable to promises as it runs this algorithm.\n     * @param values An array or iterable of Promises.\n     * @returns A new Promise.\n     */\n    any<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;\n}\n`;Vi[\"lib.es2021.string.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface String {\n    /**\n     * Replace all instances of a substring in a string, using a regular expression or search string.\n     * @param searchValue A string to search for.\n     * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string.\n     */\n    replaceAll(searchValue: string | RegExp, replaceValue: string): string;\n\n    /**\n     * Replace all instances of a substring in a string, using a regular expression or search string.\n     * @param searchValue A string to search for.\n     * @param replacer A function that returns the replacement text.\n     */\n    replaceAll(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;\n}\n`;Vi[\"lib.es2021.weakref.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface WeakRef<T extends WeakKey> {\n    readonly [Symbol.toStringTag]: \"WeakRef\";\n\n    /**\n     * Returns the WeakRef instance's target value, or undefined if the target value has been\n     * reclaimed.\n     * In es2023 the value can be either a symbol or an object, in previous versions only object is permissible.\n     */\n    deref(): T | undefined;\n}\n\ninterface WeakRefConstructor {\n    readonly prototype: WeakRef<any>;\n\n    /**\n     * Creates a WeakRef instance for the given target value.\n     * In es2023 the value can be either a symbol or an object, in previous versions only object is permissible.\n     * @param target The target value for the WeakRef instance.\n     */\n    new <T extends WeakKey>(target: T): WeakRef<T>;\n}\n\ndeclare var WeakRef: WeakRefConstructor;\n\ninterface FinalizationRegistry<T> {\n    readonly [Symbol.toStringTag]: \"FinalizationRegistry\";\n\n    /**\n     * Registers a value with the registry.\n     * In es2023 the value can be either a symbol or an object, in previous versions only object is permissible.\n     * @param target The target value to register.\n     * @param heldValue The value to pass to the finalizer for this value. This cannot be the\n     * target value.\n     * @param unregisterToken The token to pass to the unregister method to unregister the target\n     * value. If not provided, the target cannot be unregistered.\n     */\n    register(target: WeakKey, heldValue: T, unregisterToken?: WeakKey): void;\n\n    /**\n     * Unregisters a value from the registry.\n     * In es2023 the value can be either a symbol or an object, in previous versions only object is permissible.\n     * @param unregisterToken The token that was used as the unregisterToken argument when calling\n     * register to register the target value.\n     */\n    unregister(unregisterToken: WeakKey): void;\n}\n\ninterface FinalizationRegistryConstructor {\n    readonly prototype: FinalizationRegistry<any>;\n\n    /**\n     * Creates a finalization registry with an associated cleanup callback\n     * @param cleanupCallback The callback to call after a value in the registry has been reclaimed.\n     */\n    new <T>(cleanupCallback: (heldValue: T) => void): FinalizationRegistry<T>;\n}\n\ndeclare var FinalizationRegistry: FinalizationRegistryConstructor;\n`;Vi[\"lib.es2022.array.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Array<T> {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): T | undefined;\n}\n\ninterface ReadonlyArray<T> {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): T | undefined;\n}\n\ninterface Int8Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface Uint8Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface Uint8ClampedArray {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface Int16Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface Uint16Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface Int32Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface Uint32Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface Float32Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface Float64Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): number | undefined;\n}\n\ninterface BigInt64Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): bigint | undefined;\n}\n\ninterface BigUint64Array {\n    /**\n     * Returns the item located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): bigint | undefined;\n}\n`;Vi[\"lib.es2022.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2021\" />\n/// <reference lib=\"es2022.array\" />\n/// <reference lib=\"es2022.error\" />\n/// <reference lib=\"es2022.intl\" />\n/// <reference lib=\"es2022.object\" />\n/// <reference lib=\"es2022.sharedmemory\" />\n/// <reference lib=\"es2022.string\" />\n/// <reference lib=\"es2022.regexp\" />\n`;Vi[\"lib.es2022.error.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface ErrorOptions {\n    cause?: unknown;\n}\n\ninterface Error {\n    cause?: unknown;\n}\n\ninterface ErrorConstructor {\n    new (message?: string, options?: ErrorOptions): Error;\n    (message?: string, options?: ErrorOptions): Error;\n}\n\ninterface EvalErrorConstructor {\n    new (message?: string, options?: ErrorOptions): EvalError;\n    (message?: string, options?: ErrorOptions): EvalError;\n}\n\ninterface RangeErrorConstructor {\n    new (message?: string, options?: ErrorOptions): RangeError;\n    (message?: string, options?: ErrorOptions): RangeError;\n}\n\ninterface ReferenceErrorConstructor {\n    new (message?: string, options?: ErrorOptions): ReferenceError;\n    (message?: string, options?: ErrorOptions): ReferenceError;\n}\n\ninterface SyntaxErrorConstructor {\n    new (message?: string, options?: ErrorOptions): SyntaxError;\n    (message?: string, options?: ErrorOptions): SyntaxError;\n}\n\ninterface TypeErrorConstructor {\n    new (message?: string, options?: ErrorOptions): TypeError;\n    (message?: string, options?: ErrorOptions): TypeError;\n}\n\ninterface URIErrorConstructor {\n    new (message?: string, options?: ErrorOptions): URIError;\n    (message?: string, options?: ErrorOptions): URIError;\n}\n\ninterface AggregateErrorConstructor {\n    new (\n        errors: Iterable<any>,\n        message?: string,\n        options?: ErrorOptions,\n    ): AggregateError;\n    (\n        errors: Iterable<any>,\n        message?: string,\n        options?: ErrorOptions,\n    ): AggregateError;\n}\n`;Vi[\"lib.es2022.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2022\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n`;Vi[\"lib.es2022.intl.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare namespace Intl {\n    /**\n     * An object with some or all properties of the \\`Intl.Segmenter\\` constructor \\`options\\` parameter.\n     *\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/Segmenter#parameters)\n     */\n    interface SegmenterOptions {\n        /** The locale matching algorithm to use. For information about this option, see [Intl page](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation). */\n        localeMatcher?: \"best fit\" | \"lookup\" | undefined;\n        /** The type of input to be split */\n        granularity?: \"grapheme\" | \"word\" | \"sentence\" | undefined;\n    }\n\n    interface Segmenter {\n        /**\n         * Returns \\`Segments\\` object containing the segments of the input string, using the segmenter's locale and granularity.\n         *\n         * @param input - The text to be segmented as a \\`string\\`.\n         *\n         * @returns A new iterable Segments object containing the segments of the input string, using the segmenter's locale and granularity.\n         */\n        segment(input: string): Segments;\n        resolvedOptions(): ResolvedSegmenterOptions;\n    }\n\n    interface ResolvedSegmenterOptions {\n        locale: string;\n        granularity: \"grapheme\" | \"word\" | \"sentence\";\n    }\n\n    interface Segments {\n        /**\n         * Returns an object describing the segment in the original string that includes the code unit at a specified index.\n         *\n         * @param codeUnitIndex - A number specifying the index of the code unit in the original input string. If the value is omitted, it defaults to \\`0\\`.\n         */\n        containing(codeUnitIndex?: number): SegmentData;\n\n        /** Returns an iterator to iterate over the segments. */\n        [Symbol.iterator](): IterableIterator<SegmentData>;\n    }\n\n    interface SegmentData {\n        /** A string containing the segment extracted from the original input string. */\n        segment: string;\n        /** The code unit index in the original input string at which the segment begins. */\n        index: number;\n        /** The complete input string that was segmented. */\n        input: string;\n        /**\n         * A boolean value only if granularity is \"word\"; otherwise, undefined.\n         * If granularity is \"word\", then isWordLike is true when the segment is word-like (i.e., consists of letters/numbers/ideographs/etc.); otherwise, false.\n         */\n        isWordLike?: boolean;\n    }\n\n    const Segmenter: {\n        prototype: Segmenter;\n\n        /**\n         * Creates a new \\`Intl.Segmenter\\` object.\n         *\n         * @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.\n         *  For the general form and interpretation of the \\`locales\\` argument,\n         *  see the [\\`Intl\\` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\n         *\n         * @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/Segmenter#parameters)\n         *  with some or all options of \\`SegmenterOptions\\`.\n         *\n         * @returns [Intl.Segmenter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segments) object.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter).\n         */\n        new (locales?: LocalesArgument, options?: SegmenterOptions): Segmenter;\n\n        /**\n         * Returns an array containing those of the provided locales that are supported without having to fall back to the runtime's default locale.\n         *\n         * @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.\n         *  For the general form and interpretation of the \\`locales\\` argument,\n         *  see the [\\`Intl\\` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).\n         *\n         * @param options An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/supportedLocalesOf#parameters).\n         *  with some or all possible options.\n         *\n         * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/supportedLocalesOf)\n         */\n        supportedLocalesOf(locales: LocalesArgument, options?: Pick<SegmenterOptions, \"localeMatcher\">): UnicodeBCP47LocaleIdentifier[];\n    };\n\n    /**\n     * Returns a sorted array of the supported collation, calendar, currency, numbering system, timezones, and units by the implementation.\n     * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/supportedValuesOf)\n     *\n     * @param key A string indicating the category of values to return.\n     * @returns A sorted array of the supported values.\n     */\n    function supportedValuesOf(key: \"calendar\" | \"collation\" | \"currency\" | \"numberingSystem\" | \"timeZone\" | \"unit\"): string[];\n}\n`;Vi[\"lib.es2022.object.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface ObjectConstructor {\n    /**\n     * Determines whether an object has a property with the specified name.\n     * @param o An object.\n     * @param v A property name.\n     */\n    hasOwn(o: object, v: PropertyKey): boolean;\n}\n`;Vi[\"lib.es2022.regexp.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface RegExpMatchArray {\n    indices?: RegExpIndicesArray;\n}\n\ninterface RegExpExecArray {\n    indices?: RegExpIndicesArray;\n}\n\ninterface RegExpIndicesArray extends Array<[number, number]> {\n    groups?: {\n        [key: string]: [number, number];\n    };\n}\n\ninterface RegExp {\n    /**\n     * Returns a Boolean value indicating the state of the hasIndices flag (d) used with with a regular expression.\n     * Default is false. Read-only.\n     */\n    readonly hasIndices: boolean;\n}\n`;Vi[\"lib.es2022.sharedmemory.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Atomics {\n    /**\n     * A non-blocking, asynchronous version of wait which is usable on the main thread.\n     * Waits asynchronously on a shared memory location and returns a Promise\n     * @param typedArray A shared Int32Array or BigInt64Array.\n     * @param index The position in the typedArray to wait on.\n     * @param value The expected value to test.\n     * @param [timeout] The expected value to test.\n     */\n    waitAsync(typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: \"not-equal\" | \"timed-out\"; } | { async: true; value: Promise<\"ok\" | \"timed-out\">; };\n\n    /**\n     * A non-blocking, asynchronous version of wait which is usable on the main thread.\n     * Waits asynchronously on a shared memory location and returns a Promise\n     * @param typedArray A shared Int32Array or BigInt64Array.\n     * @param index The position in the typedArray to wait on.\n     * @param value The expected value to test.\n     * @param [timeout] The expected value to test.\n     */\n    waitAsync(typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: \"not-equal\" | \"timed-out\"; } | { async: true; value: Promise<\"ok\" | \"timed-out\">; };\n}\n`;Vi[\"lib.es2022.string.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface String {\n    /**\n     * Returns a new String consisting of the single UTF-16 code unit located at the specified index.\n     * @param index The zero-based index of the desired code unit. A negative index will count back from the last item.\n     */\n    at(index: number): string | undefined;\n}\n`;Vi[\"lib.es2023.array.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface Array<T> {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): number;\n\n    /**\n     * Returns a copy of an array with its elements reversed.\n     */\n    toReversed(): T[];\n\n    /**\n     * Returns a copy of an array with its elements sorted.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\n     * \\`\\`\\`ts\n     * [11, 2, 22, 1].toSorted((a, b) => a - b) // [1, 2, 11, 22]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: T, b: T) => number): T[];\n\n    /**\n     * Copies an array and removes elements and, if necessary, inserts new elements in their place. Returns the copied array.\n     * @param start The zero-based location in the array from which to start removing elements.\n     * @param deleteCount The number of elements to remove.\n     * @param items Elements to insert into the copied array in place of the deleted elements.\n     * @returns The copied array.\n     */\n    toSpliced(start: number, deleteCount: number, ...items: T[]): T[];\n\n    /**\n     * Copies an array and removes elements while returning the remaining elements.\n     * @param start The zero-based location in the array from which to start removing elements.\n     * @param deleteCount The number of elements to remove.\n     * @returns A copy of the original array with the remaining elements.\n     */\n    toSpliced(start: number, deleteCount?: number): T[];\n\n    /**\n     * Copies an array, then overwrites the value at the provided index with the\n     * given value. If the index is negative, then it replaces from the end\n     * of the array.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to write into the copied array.\n     * @returns The copied array with the updated value.\n     */\n    with(index: number, value: T): T[];\n}\n\ninterface ReadonlyArray<T> {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends T>(\n        predicate: (value: T, index: number, array: readonly T[]) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (value: T, index: number, array: readonly T[]) => unknown,\n        thisArg?: any,\n    ): T | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (value: T, index: number, array: readonly T[]) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copied array with all of its elements reversed.\n     */\n    toReversed(): T[];\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\n     * \\`\\`\\`ts\n     * [11, 2, 22, 1].toSorted((a, b) => a - b) // [1, 2, 11, 22]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: T, b: T) => number): T[];\n\n    /**\n     * Copies an array and removes elements while, if necessary, inserting new elements in their place, returning the remaining elements.\n     * @param start The zero-based location in the array from which to start removing elements.\n     * @param deleteCount The number of elements to remove.\n     * @param items Elements to insert into the copied array in place of the deleted elements.\n     * @returns A copy of the original array with the remaining elements.\n     */\n    toSpliced(start: number, deleteCount: number, ...items: T[]): T[];\n\n    /**\n     * Copies an array and removes elements while returning the remaining elements.\n     * @param start The zero-based location in the array from which to start removing elements.\n     * @param deleteCount The number of elements to remove.\n     * @returns A copy of the original array with the remaining elements.\n     */\n    toSpliced(start: number, deleteCount?: number): T[];\n\n    /**\n     * Copies an array, then overwrites the value at the provided index with the\n     * given value. If the index is negative, then it replaces from the end\n     * of the array\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: T): T[];\n}\n\ninterface Int8Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Int8Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (value: number, index: number, array: Int8Array) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (value: number, index: number, array: Int8Array) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Uint8Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Uint8Array.from([11, 2, 22, 1]);\n     * myNums.toSorted((a, b) => a - b) // Uint8Array(4) [1, 2, 11, 22]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Uint8Array;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Uint8Array;\n}\n\ninterface Uint8Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint8Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (value: number, index: number, array: Uint8Array) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (value: number, index: number, array: Uint8Array) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Uint8Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Uint8Array.from([11, 2, 22, 1]);\n     * myNums.toSorted((a, b) => a - b) // Uint8Array(4) [1, 2, 11, 22]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Uint8Array;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Uint8Array;\n}\n\ninterface Uint8ClampedArray {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint8ClampedArray,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint8ClampedArray,\n        ) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint8ClampedArray,\n        ) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Uint8ClampedArray;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Uint8ClampedArray.from([11, 2, 22, 1]);\n     * myNums.toSorted((a, b) => a - b) // Uint8ClampedArray(4) [1, 2, 11, 22]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Uint8ClampedArray;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Uint8ClampedArray;\n}\n\ninterface Int16Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Int16Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (value: number, index: number, array: Int16Array) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (value: number, index: number, array: Int16Array) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Int16Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Int16Array.from([11, 2, -22, 1]);\n     * myNums.toSorted((a, b) => a - b) // Int16Array(4) [-22, 1, 2, 11]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Int16Array;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Int16Array;\n}\n\ninterface Uint16Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint16Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint16Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint16Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Uint16Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Uint16Array.from([11, 2, 22, 1]);\n     * myNums.toSorted((a, b) => a - b) // Uint16Array(4) [1, 2, 11, 22]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Uint16Array;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Uint16Array;\n}\n\ninterface Int32Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Int32Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (value: number, index: number, array: Int32Array) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (value: number, index: number, array: Int32Array) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Int32Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Int32Array.from([11, 2, -22, 1]);\n     * myNums.toSorted((a, b) => a - b) // Int32Array(4) [-22, 1, 2, 11]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Int32Array;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Int32Array;\n}\n\ninterface Uint32Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint32Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint32Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (\n            value: number,\n            index: number,\n            array: Uint32Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Uint32Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Uint32Array.from([11, 2, 22, 1]);\n     * myNums.toSorted((a, b) => a - b) // Uint32Array(4) [1, 2, 11, 22]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Uint32Array;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Uint32Array;\n}\n\ninterface Float32Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Float32Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (\n            value: number,\n            index: number,\n            array: Float32Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (\n            value: number,\n            index: number,\n            array: Float32Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Float32Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Float32Array.from([11.25, 2, -22.5, 1]);\n     * myNums.toSorted((a, b) => a - b) // Float32Array(4) [-22.5, 1, 2, 11.5]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Float32Array;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Float32Array;\n}\n\ninterface Float64Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends number>(\n        predicate: (\n            value: number,\n            index: number,\n            array: Float64Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (\n            value: number,\n            index: number,\n            array: Float64Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (\n            value: number,\n            index: number,\n            array: Float64Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): Float64Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = Float64Array.from([11.25, 2, -22.5, 1]);\n     * myNums.toSorted((a, b) => a - b) // Float64Array(4) [-22.5, 1, 2, 11.5]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: number, b: number) => number): Float64Array;\n\n    /**\n     * Copies the array and inserts the given number at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: number): Float64Array;\n}\n\ninterface BigInt64Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends bigint>(\n        predicate: (\n            value: bigint,\n            index: number,\n            array: BigInt64Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (\n            value: bigint,\n            index: number,\n            array: BigInt64Array,\n        ) => unknown,\n        thisArg?: any,\n    ): bigint | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (\n            value: bigint,\n            index: number,\n            array: BigInt64Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): BigInt64Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = BigInt64Array.from([11n, 2n, -22n, 1n]);\n     * myNums.toSorted((a, b) => Number(a - b)) // BigInt64Array(4) [-22n, 1n, 2n, 11n]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: bigint, b: bigint) => number): BigInt64Array;\n\n    /**\n     * Copies the array and inserts the given bigint at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: bigint): BigInt64Array;\n}\n\ninterface BigUint64Array {\n    /**\n     * Returns the value of the last element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate findLast calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found, findLast\n     * immediately returns that element value. Otherwise, findLast returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLast<S extends bigint>(\n        predicate: (\n            value: bigint,\n            index: number,\n            array: BigUint64Array,\n        ) => value is S,\n        thisArg?: any,\n    ): S | undefined;\n    findLast(\n        predicate: (\n            value: bigint,\n            index: number,\n            array: BigUint64Array,\n        ) => unknown,\n        thisArg?: any,\n    ): bigint | undefined;\n\n    /**\n     * Returns the index of the last element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate findLastIndex calls predicate once for each element of the array, in descending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findLastIndex(\n        predicate: (\n            value: bigint,\n            index: number,\n            array: BigUint64Array,\n        ) => unknown,\n        thisArg?: any,\n    ): number;\n\n    /**\n     * Copies the array and returns the copy with the elements in reverse order.\n     */\n    toReversed(): BigUint64Array;\n\n    /**\n     * Copies and sorts the array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * const myNums = BigUint64Array.from([11n, 2n, 22n, 1n]);\n     * myNums.toSorted((a, b) => Number(a - b)) // BigUint64Array(4) [1n, 2n, 11n, 22n]\n     * \\`\\`\\`\n     */\n    toSorted(compareFn?: (a: bigint, b: bigint) => number): BigUint64Array;\n\n    /**\n     * Copies the array and inserts the given bigint at the provided index.\n     * @param index The index of the value to overwrite. If the index is\n     * negative, then it replaces from the end of the array.\n     * @param value The value to insert into the copied array.\n     * @returns A copy of the original array with the inserted value.\n     */\n    with(index: number, value: bigint): BigUint64Array;\n}\n`;Vi[\"lib.es2023.collection.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface WeakKeyTypes {\n    symbol: symbol;\n}\n`;Vi[\"lib.es2023.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2022\" />\n/// <reference lib=\"es2023.array\" />\n/// <reference lib=\"es2023.collection\" />\n`;Vi[\"lib.es2023.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2023\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n`;Vi[\"lib.es5.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"decorators\" />\n/// <reference lib=\"decorators.legacy\" />\n\n/////////////////////////////\n/// ECMAScript APIs\n/////////////////////////////\n\ndeclare var NaN: number;\ndeclare var Infinity: number;\n\n/**\n * Evaluates JavaScript code and executes it.\n * @param x A String value that contains valid JavaScript code.\n */\ndeclare function eval(x: string): any;\n\n/**\n * Converts a string to an integer.\n * @param string A string to convert into a number.\n * @param radix A value between 2 and 36 that specifies the base of the number in \\`string\\`.\n * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\n * All other strings are considered decimal.\n */\ndeclare function parseInt(string: string, radix?: number): number;\n\n/**\n * Converts a string to a floating-point number.\n * @param string A string that contains a floating-point number.\n */\ndeclare function parseFloat(string: string): number;\n\n/**\n * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).\n * @param number A numeric value.\n */\ndeclare function isNaN(number: number): boolean;\n\n/**\n * Determines whether a supplied number is finite.\n * @param number Any numeric value.\n */\ndeclare function isFinite(number: number): boolean;\n\n/**\n * Gets the unencoded version of an encoded Uniform Resource Identifier (URI).\n * @param encodedURI A value representing an encoded URI.\n */\ndeclare function decodeURI(encodedURI: string): string;\n\n/**\n * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n * @param encodedURIComponent A value representing an encoded URI component.\n */\ndeclare function decodeURIComponent(encodedURIComponent: string): string;\n\n/**\n * Encodes a text string as a valid Uniform Resource Identifier (URI)\n * @param uri A value representing an unencoded URI.\n */\ndeclare function encodeURI(uri: string): string;\n\n/**\n * Encodes a text string as a valid component of a Uniform Resource Identifier (URI).\n * @param uriComponent A value representing an unencoded URI component.\n */\ndeclare function encodeURIComponent(uriComponent: string | number | boolean): string;\n\n/**\n * Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.\n * @deprecated A legacy feature for browser compatibility\n * @param string A string value\n */\ndeclare function escape(string: string): string;\n\n/**\n * Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.\n * @deprecated A legacy feature for browser compatibility\n * @param string A string value\n */\ndeclare function unescape(string: string): string;\n\ninterface Symbol {\n    /** Returns a string representation of an object. */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): symbol;\n}\n\ndeclare type PropertyKey = string | number | symbol;\n\ninterface PropertyDescriptor {\n    configurable?: boolean;\n    enumerable?: boolean;\n    value?: any;\n    writable?: boolean;\n    get?(): any;\n    set?(v: any): void;\n}\n\ninterface PropertyDescriptorMap {\n    [key: PropertyKey]: PropertyDescriptor;\n}\n\ninterface Object {\n    /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */\n    constructor: Function;\n\n    /** Returns a string representation of an object. */\n    toString(): string;\n\n    /** Returns a date converted to a string using the current locale. */\n    toLocaleString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Object;\n\n    /**\n     * Determines whether an object has a property with the specified name.\n     * @param v A property name.\n     */\n    hasOwnProperty(v: PropertyKey): boolean;\n\n    /**\n     * Determines whether an object exists in another object's prototype chain.\n     * @param v Another object whose prototype chain is to be checked.\n     */\n    isPrototypeOf(v: Object): boolean;\n\n    /**\n     * Determines whether a specified property is enumerable.\n     * @param v A property name.\n     */\n    propertyIsEnumerable(v: PropertyKey): boolean;\n}\n\ninterface ObjectConstructor {\n    new (value?: any): Object;\n    (): any;\n    (value: any): any;\n\n    /** A reference to the prototype for a class of objects. */\n    readonly prototype: Object;\n\n    /**\n     * Returns the prototype of an object.\n     * @param o The object that references the prototype.\n     */\n    getPrototypeOf(o: any): any;\n\n    /**\n     * Gets the own property descriptor of the specified object.\n     * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype.\n     * @param o Object that contains the property.\n     * @param p Name of the property.\n     */\n    getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;\n\n    /**\n     * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly\n     * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions.\n     * @param o Object that contains the own properties.\n     */\n    getOwnPropertyNames(o: any): string[];\n\n    /**\n     * Creates an object that has the specified prototype or that has null prototype.\n     * @param o Object to use as a prototype. May be null.\n     */\n    create(o: object | null): any;\n\n    /**\n     * Creates an object that has the specified prototype, and that optionally contains specified properties.\n     * @param o Object to use as a prototype. May be null\n     * @param properties JavaScript object that contains one or more property descriptors.\n     */\n    create(o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any;\n\n    /**\n     * Adds a property to an object, or modifies attributes of an existing property.\n     * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object.\n     * @param p The property name.\n     * @param attributes Descriptor for the property. It can be for a data property or an accessor property.\n     */\n    defineProperty<T>(o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T;\n\n    /**\n     * Adds one or more properties to an object, and/or modifies attributes of existing properties.\n     * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object.\n     * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property.\n     */\n    defineProperties<T>(o: T, properties: PropertyDescriptorMap & ThisType<any>): T;\n\n    /**\n     * Prevents the modification of attributes of existing properties, and prevents the addition of new properties.\n     * @param o Object on which to lock the attributes.\n     */\n    seal<T>(o: T): T;\n\n    /**\n     * Prevents the modification of existing property attributes and values, and prevents the addition of new properties.\n     * @param f Object on which to lock the attributes.\n     */\n    freeze<T extends Function>(f: T): T;\n\n    /**\n     * Prevents the modification of existing property attributes and values, and prevents the addition of new properties.\n     * @param o Object on which to lock the attributes.\n     */\n    freeze<T extends { [idx: string]: U | null | undefined | object; }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>;\n\n    /**\n     * Prevents the modification of existing property attributes and values, and prevents the addition of new properties.\n     * @param o Object on which to lock the attributes.\n     */\n    freeze<T>(o: T): Readonly<T>;\n\n    /**\n     * Prevents the addition of new properties to an object.\n     * @param o Object to make non-extensible.\n     */\n    preventExtensions<T>(o: T): T;\n\n    /**\n     * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object.\n     * @param o Object to test.\n     */\n    isSealed(o: any): boolean;\n\n    /**\n     * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object.\n     * @param o Object to test.\n     */\n    isFrozen(o: any): boolean;\n\n    /**\n     * Returns a value that indicates whether new properties can be added to an object.\n     * @param o Object to test.\n     */\n    isExtensible(o: any): boolean;\n\n    /**\n     * Returns the names of the enumerable string properties and methods of an object.\n     * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\n     */\n    keys(o: object): string[];\n}\n\n/**\n * Provides functionality common to all JavaScript objects.\n */\ndeclare var Object: ObjectConstructor;\n\n/**\n * Creates a new function.\n */\ninterface Function {\n    /**\n     * Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function.\n     * @param thisArg The object to be used as the this object.\n     * @param argArray A set of arguments to be passed to the function.\n     */\n    apply(this: Function, thisArg: any, argArray?: any): any;\n\n    /**\n     * Calls a method of an object, substituting another object for the current object.\n     * @param thisArg The object to be used as the current object.\n     * @param argArray A list of arguments to be passed to the method.\n     */\n    call(this: Function, thisArg: any, ...argArray: any[]): any;\n\n    /**\n     * For a given function, creates a bound function that has the same body as the original function.\n     * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\n     * @param thisArg An object to which the this keyword can refer inside the new function.\n     * @param argArray A list of arguments to be passed to the new function.\n     */\n    bind(this: Function, thisArg: any, ...argArray: any[]): any;\n\n    /** Returns a string representation of a function. */\n    toString(): string;\n\n    prototype: any;\n    readonly length: number;\n\n    // Non-standard extensions\n    arguments: any;\n    caller: Function;\n}\n\ninterface FunctionConstructor {\n    /**\n     * Creates a new function.\n     * @param args A list of arguments the function accepts.\n     */\n    new (...args: string[]): Function;\n    (...args: string[]): Function;\n    readonly prototype: Function;\n}\n\ndeclare var Function: FunctionConstructor;\n\n/**\n * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter.\n */\ntype ThisParameterType<T> = T extends (this: infer U, ...args: never) => any ? U : unknown;\n\n/**\n * Removes the 'this' parameter from a function type.\n */\ntype OmitThisParameter<T> = unknown extends ThisParameterType<T> ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T;\n\ninterface CallableFunction extends Function {\n    /**\n     * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\n     * @param thisArg The object to be used as the this object.\n     */\n    apply<T, R>(this: (this: T) => R, thisArg: T): R;\n\n    /**\n     * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\n     * @param thisArg The object to be used as the this object.\n     * @param args An array of argument values to be passed to the function.\n     */\n    apply<T, A extends any[], R>(this: (this: T, ...args: A) => R, thisArg: T, args: A): R;\n\n    /**\n     * Calls the function with the specified object as the this value and the specified rest arguments as the arguments.\n     * @param thisArg The object to be used as the this object.\n     * @param args Argument values to be passed to the function.\n     */\n    call<T, A extends any[], R>(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R;\n\n    /**\n     * For a given function, creates a bound function that has the same body as the original function.\n     * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\n     * @param thisArg The object to be used as the this object.\n     */\n    bind<T>(this: T, thisArg: ThisParameterType<T>): OmitThisParameter<T>;\n\n    /**\n     * For a given function, creates a bound function that has the same body as the original function.\n     * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\n     * @param thisArg The object to be used as the this object.\n     * @param args Arguments to bind to the parameters of the function.\n     */\n    bind<T, A extends any[], B extends any[], R>(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R;\n}\n\ninterface NewableFunction extends Function {\n    /**\n     * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\n     * @param thisArg The object to be used as the this object.\n     */\n    apply<T>(this: new () => T, thisArg: T): void;\n    /**\n     * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\n     * @param thisArg The object to be used as the this object.\n     * @param args An array of argument values to be passed to the function.\n     */\n    apply<T, A extends any[]>(this: new (...args: A) => T, thisArg: T, args: A): void;\n\n    /**\n     * Calls the function with the specified object as the this value and the specified rest arguments as the arguments.\n     * @param thisArg The object to be used as the this object.\n     * @param args Argument values to be passed to the function.\n     */\n    call<T, A extends any[]>(this: new (...args: A) => T, thisArg: T, ...args: A): void;\n\n    /**\n     * For a given function, creates a bound function that has the same body as the original function.\n     * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\n     * @param thisArg The object to be used as the this object.\n     */\n    bind<T>(this: T, thisArg: any): T;\n\n    /**\n     * For a given function, creates a bound function that has the same body as the original function.\n     * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\n     * @param thisArg The object to be used as the this object.\n     * @param args Arguments to bind to the parameters of the function.\n     */\n    bind<A extends any[], B extends any[], R>(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R;\n}\n\ninterface IArguments {\n    [index: number]: any;\n    length: number;\n    callee: Function;\n}\n\ninterface String {\n    /** Returns a string representation of a string. */\n    toString(): string;\n\n    /**\n     * Returns the character at the specified index.\n     * @param pos The zero-based index of the desired character.\n     */\n    charAt(pos: number): string;\n\n    /**\n     * Returns the Unicode value of the character at the specified location.\n     * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.\n     */\n    charCodeAt(index: number): number;\n\n    /**\n     * Returns a string that contains the concatenation of two or more strings.\n     * @param strings The strings to append to the end of the string.\n     */\n    concat(...strings: string[]): string;\n\n    /**\n     * Returns the position of the first occurrence of a substring.\n     * @param searchString The substring to search for in the string\n     * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.\n     */\n    indexOf(searchString: string, position?: number): number;\n\n    /**\n     * Returns the last occurrence of a substring in the string.\n     * @param searchString The substring to search for.\n     * @param position The index at which to begin searching. If omitted, the search begins at the end of the string.\n     */\n    lastIndexOf(searchString: string, position?: number): number;\n\n    /**\n     * Determines whether two strings are equivalent in the current locale.\n     * @param that String to compare to target string\n     */\n    localeCompare(that: string): number;\n\n    /**\n     * Matches a string with a regular expression, and returns an array containing the results of that search.\n     * @param regexp A variable name or string literal containing the regular expression pattern and flags.\n     */\n    match(regexp: string | RegExp): RegExpMatchArray | null;\n\n    /**\n     * Replaces text in a string, using a regular expression or search string.\n     * @param searchValue A string or regular expression to search for.\n     * @param replaceValue A string containing the text to replace. When the {@linkcode searchValue} is a \\`RegExp\\`, all matches are replaced if the \\`g\\` flag is set (or only those matches at the beginning, if the \\`y\\` flag is also present). Otherwise, only the first match of {@linkcode searchValue} is replaced.\n     */\n    replace(searchValue: string | RegExp, replaceValue: string): string;\n\n    /**\n     * Replaces text in a string, using a regular expression or search string.\n     * @param searchValue A string to search for.\n     * @param replacer A function that returns the replacement text.\n     */\n    replace(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;\n\n    /**\n     * Finds the first substring match in a regular expression search.\n     * @param regexp The regular expression pattern and applicable flags.\n     */\n    search(regexp: string | RegExp): number;\n\n    /**\n     * Returns a section of a string.\n     * @param start The index to the beginning of the specified portion of stringObj.\n     * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.\n     * If this value is not specified, the substring continues to the end of stringObj.\n     */\n    slice(start?: number, end?: number): string;\n\n    /**\n     * Split a string into substrings using the specified separator and return them as an array.\n     * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.\n     * @param limit A value used to limit the number of elements returned in the array.\n     */\n    split(separator: string | RegExp, limit?: number): string[];\n\n    /**\n     * Returns the substring at the specified location within a String object.\n     * @param start The zero-based index number indicating the beginning of the substring.\n     * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.\n     * If end is omitted, the characters from start through the end of the original string are returned.\n     */\n    substring(start: number, end?: number): string;\n\n    /** Converts all the alphabetic characters in a string to lowercase. */\n    toLowerCase(): string;\n\n    /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */\n    toLocaleLowerCase(locales?: string | string[]): string;\n\n    /** Converts all the alphabetic characters in a string to uppercase. */\n    toUpperCase(): string;\n\n    /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */\n    toLocaleUpperCase(locales?: string | string[]): string;\n\n    /** Removes the leading and trailing white space and line terminator characters from a string. */\n    trim(): string;\n\n    /** Returns the length of a String object. */\n    readonly length: number;\n\n    // IE extensions\n    /**\n     * Gets a substring beginning at the specified location and having the specified length.\n     * @deprecated A legacy feature for browser compatibility\n     * @param from The starting position of the desired substring. The index of the first character in the string is zero.\n     * @param length The number of characters to include in the returned substring.\n     */\n    substr(from: number, length?: number): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): string;\n\n    readonly [index: number]: string;\n}\n\ninterface StringConstructor {\n    new (value?: any): String;\n    (value?: any): string;\n    readonly prototype: String;\n    fromCharCode(...codes: number[]): string;\n}\n\n/**\n * Allows manipulation and formatting of text strings and determination and location of substrings within strings.\n */\ndeclare var String: StringConstructor;\n\ninterface Boolean {\n    /** Returns the primitive value of the specified object. */\n    valueOf(): boolean;\n}\n\ninterface BooleanConstructor {\n    new (value?: any): Boolean;\n    <T>(value?: T): boolean;\n    readonly prototype: Boolean;\n}\n\ndeclare var Boolean: BooleanConstructor;\n\ninterface Number {\n    /**\n     * Returns a string representation of an object.\n     * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers.\n     */\n    toString(radix?: number): string;\n\n    /**\n     * Returns a string representing a number in fixed-point notation.\n     * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.\n     */\n    toFixed(fractionDigits?: number): string;\n\n    /**\n     * Returns a string containing a number represented in exponential notation.\n     * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.\n     */\n    toExponential(fractionDigits?: number): string;\n\n    /**\n     * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits.\n     * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive.\n     */\n    toPrecision(precision?: number): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): number;\n}\n\ninterface NumberConstructor {\n    new (value?: any): Number;\n    (value?: any): number;\n    readonly prototype: Number;\n\n    /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */\n    readonly MAX_VALUE: number;\n\n    /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */\n    readonly MIN_VALUE: number;\n\n    /**\n     * A value that is not a number.\n     * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function.\n     */\n    readonly NaN: number;\n\n    /**\n     * A value that is less than the largest negative number that can be represented in JavaScript.\n     * JavaScript displays NEGATIVE_INFINITY values as -infinity.\n     */\n    readonly NEGATIVE_INFINITY: number;\n\n    /**\n     * A value greater than the largest number that can be represented in JavaScript.\n     * JavaScript displays POSITIVE_INFINITY values as infinity.\n     */\n    readonly POSITIVE_INFINITY: number;\n}\n\n/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */\ndeclare var Number: NumberConstructor;\n\ninterface TemplateStringsArray extends ReadonlyArray<string> {\n    readonly raw: readonly string[];\n}\n\n/**\n * The type of \\`import.meta\\`.\n *\n * If you need to declare that a given property exists on \\`import.meta\\`,\n * this type may be augmented via interface merging.\n */\ninterface ImportMeta {\n}\n\n/**\n * The type for the optional second argument to \\`import()\\`.\n *\n * If your host environment supports additional options, this type may be\n * augmented via interface merging.\n */\ninterface ImportCallOptions {\n    /** @deprecated*/ assert?: ImportAssertions;\n    with?: ImportAttributes;\n}\n\n/**\n * The type for the \\`assert\\` property of the optional second argument to \\`import()\\`.\n * @deprecated\n */\ninterface ImportAssertions {\n    [key: string]: string;\n}\n\n/**\n * The type for the \\`with\\` property of the optional second argument to \\`import()\\`.\n */\ninterface ImportAttributes {\n    [key: string]: string;\n}\n\ninterface Math {\n    /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */\n    readonly E: number;\n    /** The natural logarithm of 10. */\n    readonly LN10: number;\n    /** The natural logarithm of 2. */\n    readonly LN2: number;\n    /** The base-2 logarithm of e. */\n    readonly LOG2E: number;\n    /** The base-10 logarithm of e. */\n    readonly LOG10E: number;\n    /** Pi. This is the ratio of the circumference of a circle to its diameter. */\n    readonly PI: number;\n    /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */\n    readonly SQRT1_2: number;\n    /** The square root of 2. */\n    readonly SQRT2: number;\n    /**\n     * Returns the absolute value of a number (the value without regard to whether it is positive or negative).\n     * For example, the absolute value of -5 is the same as the absolute value of 5.\n     * @param x A numeric expression for which the absolute value is needed.\n     */\n    abs(x: number): number;\n    /**\n     * Returns the arc cosine (or inverse cosine) of a number.\n     * @param x A numeric expression.\n     */\n    acos(x: number): number;\n    /**\n     * Returns the arcsine of a number.\n     * @param x A numeric expression.\n     */\n    asin(x: number): number;\n    /**\n     * Returns the arctangent of a number.\n     * @param x A numeric expression for which the arctangent is needed.\n     */\n    atan(x: number): number;\n    /**\n     * Returns the angle (in radians) from the X axis to a point.\n     * @param y A numeric expression representing the cartesian y-coordinate.\n     * @param x A numeric expression representing the cartesian x-coordinate.\n     */\n    atan2(y: number, x: number): number;\n    /**\n     * Returns the smallest integer greater than or equal to its numeric argument.\n     * @param x A numeric expression.\n     */\n    ceil(x: number): number;\n    /**\n     * Returns the cosine of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    cos(x: number): number;\n    /**\n     * Returns e (the base of natural logarithms) raised to a power.\n     * @param x A numeric expression representing the power of e.\n     */\n    exp(x: number): number;\n    /**\n     * Returns the greatest integer less than or equal to its numeric argument.\n     * @param x A numeric expression.\n     */\n    floor(x: number): number;\n    /**\n     * Returns the natural logarithm (base e) of a number.\n     * @param x A numeric expression.\n     */\n    log(x: number): number;\n    /**\n     * Returns the larger of a set of supplied numeric expressions.\n     * @param values Numeric expressions to be evaluated.\n     */\n    max(...values: number[]): number;\n    /**\n     * Returns the smaller of a set of supplied numeric expressions.\n     * @param values Numeric expressions to be evaluated.\n     */\n    min(...values: number[]): number;\n    /**\n     * Returns the value of a base expression taken to a specified power.\n     * @param x The base value of the expression.\n     * @param y The exponent value of the expression.\n     */\n    pow(x: number, y: number): number;\n    /** Returns a pseudorandom number between 0 and 1. */\n    random(): number;\n    /**\n     * Returns a supplied numeric expression rounded to the nearest integer.\n     * @param x The value to be rounded to the nearest integer.\n     */\n    round(x: number): number;\n    /**\n     * Returns the sine of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    sin(x: number): number;\n    /**\n     * Returns the square root of a number.\n     * @param x A numeric expression.\n     */\n    sqrt(x: number): number;\n    /**\n     * Returns the tangent of a number.\n     * @param x A numeric expression that contains an angle measured in radians.\n     */\n    tan(x: number): number;\n}\n/** An intrinsic object that provides basic mathematics functionality and constants. */\ndeclare var Math: Math;\n\n/** Enables basic storage and retrieval of dates and times. */\ninterface Date {\n    /** Returns a string representation of a date. The format of the string depends on the locale. */\n    toString(): string;\n    /** Returns a date as a string value. */\n    toDateString(): string;\n    /** Returns a time as a string value. */\n    toTimeString(): string;\n    /** Returns a value as a string value appropriate to the host environment's current locale. */\n    toLocaleString(): string;\n    /** Returns a date as a string value appropriate to the host environment's current locale. */\n    toLocaleDateString(): string;\n    /** Returns a time as a string value appropriate to the host environment's current locale. */\n    toLocaleTimeString(): string;\n    /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */\n    valueOf(): number;\n    /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */\n    getTime(): number;\n    /** Gets the year, using local time. */\n    getFullYear(): number;\n    /** Gets the year using Universal Coordinated Time (UTC). */\n    getUTCFullYear(): number;\n    /** Gets the month, using local time. */\n    getMonth(): number;\n    /** Gets the month of a Date object using Universal Coordinated Time (UTC). */\n    getUTCMonth(): number;\n    /** Gets the day-of-the-month, using local time. */\n    getDate(): number;\n    /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */\n    getUTCDate(): number;\n    /** Gets the day of the week, using local time. */\n    getDay(): number;\n    /** Gets the day of the week using Universal Coordinated Time (UTC). */\n    getUTCDay(): number;\n    /** Gets the hours in a date, using local time. */\n    getHours(): number;\n    /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */\n    getUTCHours(): number;\n    /** Gets the minutes of a Date object, using local time. */\n    getMinutes(): number;\n    /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */\n    getUTCMinutes(): number;\n    /** Gets the seconds of a Date object, using local time. */\n    getSeconds(): number;\n    /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */\n    getUTCSeconds(): number;\n    /** Gets the milliseconds of a Date, using local time. */\n    getMilliseconds(): number;\n    /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */\n    getUTCMilliseconds(): number;\n    /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */\n    getTimezoneOffset(): number;\n    /**\n     * Sets the date and time value in the Date object.\n     * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT.\n     */\n    setTime(time: number): number;\n    /**\n     * Sets the milliseconds value in the Date object using local time.\n     * @param ms A numeric value equal to the millisecond value.\n     */\n    setMilliseconds(ms: number): number;\n    /**\n     * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC).\n     * @param ms A numeric value equal to the millisecond value.\n     */\n    setUTCMilliseconds(ms: number): number;\n\n    /**\n     * Sets the seconds value in the Date object using local time.\n     * @param sec A numeric value equal to the seconds value.\n     * @param ms A numeric value equal to the milliseconds value.\n     */\n    setSeconds(sec: number, ms?: number): number;\n    /**\n     * Sets the seconds value in the Date object using Universal Coordinated Time (UTC).\n     * @param sec A numeric value equal to the seconds value.\n     * @param ms A numeric value equal to the milliseconds value.\n     */\n    setUTCSeconds(sec: number, ms?: number): number;\n    /**\n     * Sets the minutes value in the Date object using local time.\n     * @param min A numeric value equal to the minutes value.\n     * @param sec A numeric value equal to the seconds value.\n     * @param ms A numeric value equal to the milliseconds value.\n     */\n    setMinutes(min: number, sec?: number, ms?: number): number;\n    /**\n     * Sets the minutes value in the Date object using Universal Coordinated Time (UTC).\n     * @param min A numeric value equal to the minutes value.\n     * @param sec A numeric value equal to the seconds value.\n     * @param ms A numeric value equal to the milliseconds value.\n     */\n    setUTCMinutes(min: number, sec?: number, ms?: number): number;\n    /**\n     * Sets the hour value in the Date object using local time.\n     * @param hours A numeric value equal to the hours value.\n     * @param min A numeric value equal to the minutes value.\n     * @param sec A numeric value equal to the seconds value.\n     * @param ms A numeric value equal to the milliseconds value.\n     */\n    setHours(hours: number, min?: number, sec?: number, ms?: number): number;\n    /**\n     * Sets the hours value in the Date object using Universal Coordinated Time (UTC).\n     * @param hours A numeric value equal to the hours value.\n     * @param min A numeric value equal to the minutes value.\n     * @param sec A numeric value equal to the seconds value.\n     * @param ms A numeric value equal to the milliseconds value.\n     */\n    setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number;\n    /**\n     * Sets the numeric day-of-the-month value of the Date object using local time.\n     * @param date A numeric value equal to the day of the month.\n     */\n    setDate(date: number): number;\n    /**\n     * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC).\n     * @param date A numeric value equal to the day of the month.\n     */\n    setUTCDate(date: number): number;\n    /**\n     * Sets the month value in the Date object using local time.\n     * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively.\n     * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used.\n     */\n    setMonth(month: number, date?: number): number;\n    /**\n     * Sets the month value in the Date object using Universal Coordinated Time (UTC).\n     * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively.\n     * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used.\n     */\n    setUTCMonth(month: number, date?: number): number;\n    /**\n     * Sets the year of the Date object using local time.\n     * @param year A numeric value for the year.\n     * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified.\n     * @param date A numeric value equal for the day of the month.\n     */\n    setFullYear(year: number, month?: number, date?: number): number;\n    /**\n     * Sets the year value in the Date object using Universal Coordinated Time (UTC).\n     * @param year A numeric value equal to the year.\n     * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied.\n     * @param date A numeric value equal to the day of the month.\n     */\n    setUTCFullYear(year: number, month?: number, date?: number): number;\n    /** Returns a date converted to a string using Universal Coordinated Time (UTC). */\n    toUTCString(): string;\n    /** Returns a date as a string value in ISO format. */\n    toISOString(): string;\n    /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */\n    toJSON(key?: any): string;\n}\n\ninterface DateConstructor {\n    new (): Date;\n    new (value: number | string): Date;\n    /**\n     * Creates a new Date.\n     * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year.\n     * @param monthIndex The month as a number between 0 and 11 (January to December).\n     * @param date The date as a number between 1 and 31.\n     * @param hours Must be supplied if minutes is supplied. A number from 0 to 23 (midnight to 11pm) that specifies the hour.\n     * @param minutes Must be supplied if seconds is supplied. A number from 0 to 59 that specifies the minutes.\n     * @param seconds Must be supplied if milliseconds is supplied. A number from 0 to 59 that specifies the seconds.\n     * @param ms A number from 0 to 999 that specifies the milliseconds.\n     */\n    new (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;\n    (): string;\n    readonly prototype: Date;\n    /**\n     * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970.\n     * @param s A date string\n     */\n    parse(s: string): number;\n    /**\n     * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date.\n     * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year.\n     * @param monthIndex The month as a number between 0 and 11 (January to December).\n     * @param date The date as a number between 1 and 31.\n     * @param hours Must be supplied if minutes is supplied. A number from 0 to 23 (midnight to 11pm) that specifies the hour.\n     * @param minutes Must be supplied if seconds is supplied. A number from 0 to 59 that specifies the minutes.\n     * @param seconds Must be supplied if milliseconds is supplied. A number from 0 to 59 that specifies the seconds.\n     * @param ms A number from 0 to 999 that specifies the milliseconds.\n     */\n    UTC(year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;\n    /** Returns the number of milliseconds elapsed since midnight, January 1, 1970 Universal Coordinated Time (UTC). */\n    now(): number;\n}\n\ndeclare var Date: DateConstructor;\n\ninterface RegExpMatchArray extends Array<string> {\n    /**\n     * The index of the search at which the result was found.\n     */\n    index?: number;\n    /**\n     * A copy of the search string.\n     */\n    input?: string;\n    /**\n     * The first match. This will always be present because \\`null\\` will be returned if there are no matches.\n     */\n    0: string;\n}\n\ninterface RegExpExecArray extends Array<string> {\n    /**\n     * The index of the search at which the result was found.\n     */\n    index: number;\n    /**\n     * A copy of the search string.\n     */\n    input: string;\n    /**\n     * The first match. This will always be present because \\`null\\` will be returned if there are no matches.\n     */\n    0: string;\n}\n\ninterface RegExp {\n    /**\n     * Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search.\n     * @param string The String object or string literal on which to perform the search.\n     */\n    exec(string: string): RegExpExecArray | null;\n\n    /**\n     * Returns a Boolean value that indicates whether or not a pattern exists in a searched string.\n     * @param string String on which to perform the search.\n     */\n    test(string: string): boolean;\n\n    /** Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal. */\n    readonly source: string;\n\n    /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */\n    readonly global: boolean;\n\n    /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */\n    readonly ignoreCase: boolean;\n\n    /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */\n    readonly multiline: boolean;\n\n    lastIndex: number;\n\n    // Non-standard extensions\n    /** @deprecated A legacy feature for browser compatibility */\n    compile(pattern: string, flags?: string): this;\n}\n\ninterface RegExpConstructor {\n    new (pattern: RegExp | string): RegExp;\n    new (pattern: string, flags?: string): RegExp;\n    (pattern: RegExp | string): RegExp;\n    (pattern: string, flags?: string): RegExp;\n    readonly \"prototype\": RegExp;\n\n    // Non-standard extensions\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$1\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$2\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$3\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$4\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$5\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$6\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$7\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$8\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$9\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"input\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$_\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"lastMatch\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$&\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"lastParen\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$+\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"leftContext\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$\\`\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"rightContext\": string;\n    /** @deprecated A legacy feature for browser compatibility */\n    \"$'\": string;\n}\n\ndeclare var RegExp: RegExpConstructor;\n\ninterface Error {\n    name: string;\n    message: string;\n    stack?: string;\n}\n\ninterface ErrorConstructor {\n    new (message?: string): Error;\n    (message?: string): Error;\n    readonly prototype: Error;\n}\n\ndeclare var Error: ErrorConstructor;\n\ninterface EvalError extends Error {\n}\n\ninterface EvalErrorConstructor extends ErrorConstructor {\n    new (message?: string): EvalError;\n    (message?: string): EvalError;\n    readonly prototype: EvalError;\n}\n\ndeclare var EvalError: EvalErrorConstructor;\n\ninterface RangeError extends Error {\n}\n\ninterface RangeErrorConstructor extends ErrorConstructor {\n    new (message?: string): RangeError;\n    (message?: string): RangeError;\n    readonly prototype: RangeError;\n}\n\ndeclare var RangeError: RangeErrorConstructor;\n\ninterface ReferenceError extends Error {\n}\n\ninterface ReferenceErrorConstructor extends ErrorConstructor {\n    new (message?: string): ReferenceError;\n    (message?: string): ReferenceError;\n    readonly prototype: ReferenceError;\n}\n\ndeclare var ReferenceError: ReferenceErrorConstructor;\n\ninterface SyntaxError extends Error {\n}\n\ninterface SyntaxErrorConstructor extends ErrorConstructor {\n    new (message?: string): SyntaxError;\n    (message?: string): SyntaxError;\n    readonly prototype: SyntaxError;\n}\n\ndeclare var SyntaxError: SyntaxErrorConstructor;\n\ninterface TypeError extends Error {\n}\n\ninterface TypeErrorConstructor extends ErrorConstructor {\n    new (message?: string): TypeError;\n    (message?: string): TypeError;\n    readonly prototype: TypeError;\n}\n\ndeclare var TypeError: TypeErrorConstructor;\n\ninterface URIError extends Error {\n}\n\ninterface URIErrorConstructor extends ErrorConstructor {\n    new (message?: string): URIError;\n    (message?: string): URIError;\n    readonly prototype: URIError;\n}\n\ndeclare var URIError: URIErrorConstructor;\n\ninterface JSON {\n    /**\n     * Converts a JavaScript Object Notation (JSON) string into an object.\n     * @param text A valid JSON string.\n     * @param reviver A function that transforms the results. This function is called for each member of the object.\n     * If a member contains nested objects, the nested objects are transformed before the parent object is.\n     */\n    parse(text: string, reviver?: (this: any, key: string, value: any) => any): any;\n    /**\n     * Converts a JavaScript value to a JavaScript Object Notation (JSON) string.\n     * @param value A JavaScript value, usually an object or array, to be converted.\n     * @param replacer A function that transforms the results.\n     * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.\n     */\n    stringify(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;\n    /**\n     * Converts a JavaScript value to a JavaScript Object Notation (JSON) string.\n     * @param value A JavaScript value, usually an object or array, to be converted.\n     * @param replacer An array of strings and numbers that acts as an approved list for selecting the object properties that will be stringified.\n     * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.\n     */\n    stringify(value: any, replacer?: (number | string)[] | null, space?: string | number): string;\n}\n\n/**\n * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.\n */\ndeclare var JSON: JSON;\n\n/////////////////////////////\n/// ECMAScript Array API (specially handled by compiler)\n/////////////////////////////\n\ninterface ReadonlyArray<T> {\n    /**\n     * Gets the length of the array. This is a number one higher than the highest element defined in an array.\n     */\n    readonly length: number;\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n    /**\n     * Returns a string representation of an array. The elements are converted to string using their toLocaleString methods.\n     */\n    toLocaleString(): string;\n    /**\n     * Combines two or more arrays.\n     * @param items Additional items to add to the end of array1.\n     */\n    concat(...items: ConcatArray<T>[]): T[];\n    /**\n     * Combines two or more arrays.\n     * @param items Additional items to add to the end of array1.\n     */\n    concat(...items: (T | ConcatArray<T>)[]): T[];\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): T[];\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\n     */\n    indexOf(searchElement: T, fromIndex?: number): number;\n    /**\n     * Returns the index of the last occurrence of a specified value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array.\n     */\n    lastIndexOf(searchElement: T, fromIndex?: number): number;\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every<S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): this is readonly S[];\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean;\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean;\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: T, index: number, array: readonly T[]) => void, thisArg?: any): void;\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n     */\n    map<U>(callbackfn: (value: T, index: number, array: readonly T[]) => U, thisArg?: any): U[];\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.\n     */\n    filter<S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): S[];\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): T[];\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T): T;\n    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T, initialValue: T): T;\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: readonly T[]) => U, initialValue: U): U;\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T): T;\n    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T, initialValue: T): T;\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: readonly T[]) => U, initialValue: U): U;\n\n    readonly [n: number]: T;\n}\n\ninterface ConcatArray<T> {\n    readonly length: number;\n    readonly [n: number]: T;\n    join(separator?: string): string;\n    slice(start?: number, end?: number): T[];\n}\n\ninterface Array<T> {\n    /**\n     * Gets or sets the length of the array. This is a number one higher than the highest index in the array.\n     */\n    length: number;\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n    /**\n     * Returns a string representation of an array. The elements are converted to string using their toLocaleString methods.\n     */\n    toLocaleString(): string;\n    /**\n     * Removes the last element from an array and returns it.\n     * If the array is empty, undefined is returned and the array is not modified.\n     */\n    pop(): T | undefined;\n    /**\n     * Appends new elements to the end of an array, and returns the new length of the array.\n     * @param items New elements to add to the array.\n     */\n    push(...items: T[]): number;\n    /**\n     * Combines two or more arrays.\n     * This method returns a new array without modifying any existing arrays.\n     * @param items Additional arrays and/or items to add to the end of the array.\n     */\n    concat(...items: ConcatArray<T>[]): T[];\n    /**\n     * Combines two or more arrays.\n     * This method returns a new array without modifying any existing arrays.\n     * @param items Additional arrays and/or items to add to the end of the array.\n     */\n    concat(...items: (T | ConcatArray<T>)[]): T[];\n    /**\n     * Adds all the elements of an array into a string, separated by the specified separator string.\n     * @param separator A string used to separate one element of the array from the next in the resulting string. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n    /**\n     * Reverses the elements in an array in place.\n     * This method mutates the array and returns a reference to the same array.\n     */\n    reverse(): T[];\n    /**\n     * Removes the first element from an array and returns it.\n     * If the array is empty, undefined is returned and the array is not modified.\n     */\n    shift(): T | undefined;\n    /**\n     * Returns a copy of a section of an array.\n     * For both start and end, a negative index can be used to indicate an offset from the end of the array.\n     * For example, -2 refers to the second to last element of the array.\n     * @param start The beginning index of the specified portion of the array.\n     * If start is undefined, then the slice begins at index 0.\n     * @param end The end index of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     * If end is undefined, then the slice extends to the end of the array.\n     */\n    slice(start?: number, end?: number): T[];\n    /**\n     * Sorts an array in place.\n     * This method mutates the array and returns a reference to the same array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: T, b: T) => number): this;\n    /**\n     * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\n     * @param start The zero-based location in the array from which to start removing elements.\n     * @param deleteCount The number of elements to remove.\n     * @returns An array containing the elements that were deleted.\n     */\n    splice(start: number, deleteCount?: number): T[];\n    /**\n     * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.\n     * @param start The zero-based location in the array from which to start removing elements.\n     * @param deleteCount The number of elements to remove.\n     * @param items Elements to insert into the array in place of the deleted elements.\n     * @returns An array containing the elements that were deleted.\n     */\n    splice(start: number, deleteCount: number, ...items: T[]): T[];\n    /**\n     * Inserts new elements at the start of an array, and returns the new length of the array.\n     * @param items Elements to insert at the start of the array.\n     */\n    unshift(...items: T[]): number;\n    /**\n     * Returns the index of the first occurrence of a value in an array, or -1 if it is not present.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\n     */\n    indexOf(searchElement: T, fromIndex?: number): number;\n    /**\n     * Returns the index of the last occurrence of a specified value in an array, or -1 if it is not present.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin searching backward. If fromIndex is omitted, the search starts at the last index in the array.\n     */\n    lastIndexOf(searchElement: T, fromIndex?: number): number;\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[];\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\n     */\n    map<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[];\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.\n     */\n    filter<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[];\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[];\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T;\n    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T;\n    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;\n\n    [n: number]: T;\n}\n\ninterface ArrayConstructor {\n    new (arrayLength?: number): any[];\n    new <T>(arrayLength: number): T[];\n    new <T>(...items: T[]): T[];\n    (arrayLength?: number): any[];\n    <T>(arrayLength: number): T[];\n    <T>(...items: T[]): T[];\n    isArray(arg: any): arg is any[];\n    readonly prototype: any[];\n}\n\ndeclare var Array: ArrayConstructor;\n\ninterface TypedPropertyDescriptor<T> {\n    enumerable?: boolean;\n    configurable?: boolean;\n    writable?: boolean;\n    value?: T;\n    get?: () => T;\n    set?: (value: T) => void;\n}\n\ndeclare type PromiseConstructorLike = new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>;\n\ninterface PromiseLike<T> {\n    /**\n     * Attaches callbacks for the resolution and/or rejection of the Promise.\n     * @param onfulfilled The callback to execute when the Promise is resolved.\n     * @param onrejected The callback to execute when the Promise is rejected.\n     * @returns A Promise for the completion of which ever callback is executed.\n     */\n    then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): PromiseLike<TResult1 | TResult2>;\n}\n\n/**\n * Represents the completion of an asynchronous operation\n */\ninterface Promise<T> {\n    /**\n     * Attaches callbacks for the resolution and/or rejection of the Promise.\n     * @param onfulfilled The callback to execute when the Promise is resolved.\n     * @param onrejected The callback to execute when the Promise is rejected.\n     * @returns A Promise for the completion of which ever callback is executed.\n     */\n    then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;\n\n    /**\n     * Attaches a callback for only the rejection of the Promise.\n     * @param onrejected The callback to execute when the Promise is rejected.\n     * @returns A Promise for the completion of the callback.\n     */\n    catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;\n}\n\n/**\n * Recursively unwraps the \"awaited type\" of a type. Non-promise \"thenables\" should resolve to \\`never\\`. This emulates the behavior of \\`await\\`.\n */\ntype Awaited<T> = T extends null | undefined ? T : // special case for \\`null | undefined\\` when not in \\`--strictNullChecks\\` mode\n    T extends object & { then(onfulfilled: infer F, ...args: infer _): any; } ? // \\`await\\` only unwraps object types with a callable \\`then\\`. Non-object types are not unwrapped\n        F extends ((value: infer V, ...args: infer _) => any) ? // if the argument to \\`then\\` is callable, extracts the first argument\n            Awaited<V> : // recursively unwrap the value\n        never : // the argument to \\`then\\` was not callable\n    T; // non-object or non-thenable\n\ninterface ArrayLike<T> {\n    readonly length: number;\n    readonly [n: number]: T;\n}\n\n/**\n * Make all properties in T optional\n */\ntype Partial<T> = {\n    [P in keyof T]?: T[P];\n};\n\n/**\n * Make all properties in T required\n */\ntype Required<T> = {\n    [P in keyof T]-?: T[P];\n};\n\n/**\n * Make all properties in T readonly\n */\ntype Readonly<T> = {\n    readonly [P in keyof T]: T[P];\n};\n\n/**\n * From T, pick a set of properties whose keys are in the union K\n */\ntype Pick<T, K extends keyof T> = {\n    [P in K]: T[P];\n};\n\n/**\n * Construct a type with a set of properties K of type T\n */\ntype Record<K extends keyof any, T> = {\n    [P in K]: T;\n};\n\n/**\n * Exclude from T those types that are assignable to U\n */\ntype Exclude<T, U> = T extends U ? never : T;\n\n/**\n * Extract from T those types that are assignable to U\n */\ntype Extract<T, U> = T extends U ? T : never;\n\n/**\n * Construct a type with the properties of T except for those in type K.\n */\ntype Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;\n\n/**\n * Exclude null and undefined from T\n */\ntype NonNullable<T> = T & {};\n\n/**\n * Obtain the parameters of a function type in a tuple\n */\ntype Parameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never;\n\n/**\n * Obtain the parameters of a constructor function type in a tuple\n */\ntype ConstructorParameters<T extends abstract new (...args: any) => any> = T extends abstract new (...args: infer P) => any ? P : never;\n\n/**\n * Obtain the return type of a function type\n */\ntype ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;\n\n/**\n * Obtain the return type of a constructor function type\n */\ntype InstanceType<T extends abstract new (...args: any) => any> = T extends abstract new (...args: any) => infer R ? R : any;\n\n/**\n * Convert string literal type to uppercase\n */\ntype Uppercase<S extends string> = intrinsic;\n\n/**\n * Convert string literal type to lowercase\n */\ntype Lowercase<S extends string> = intrinsic;\n\n/**\n * Convert first character of string literal type to uppercase\n */\ntype Capitalize<S extends string> = intrinsic;\n\n/**\n * Convert first character of string literal type to lowercase\n */\ntype Uncapitalize<S extends string> = intrinsic;\n\n/**\n * Marker for non-inference type position\n */\ntype NoInfer<T> = intrinsic;\n\n/**\n * Marker for contextual 'this' type\n */\ninterface ThisType<T> {}\n\n/**\n * Stores types to be used with WeakSet, WeakMap, WeakRef, and FinalizationRegistry\n */\ninterface WeakKeyTypes {\n    object: object;\n}\n\ntype WeakKey = WeakKeyTypes[keyof WeakKeyTypes];\n\n/**\n * Represents a raw buffer of binary data, which is used to store data for the\n * different typed arrays. ArrayBuffers cannot be read from or written to directly,\n * but can be passed to a typed array or DataView Object to interpret the raw\n * buffer as needed.\n */\ninterface ArrayBuffer {\n    /**\n     * Read-only. The length of the ArrayBuffer (in bytes).\n     */\n    readonly byteLength: number;\n\n    /**\n     * Returns a section of an ArrayBuffer.\n     */\n    slice(begin: number, end?: number): ArrayBuffer;\n}\n\n/**\n * Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays.\n */\ninterface ArrayBufferTypes {\n    ArrayBuffer: ArrayBuffer;\n}\ntype ArrayBufferLike = ArrayBufferTypes[keyof ArrayBufferTypes];\n\ninterface ArrayBufferConstructor {\n    readonly prototype: ArrayBuffer;\n    new (byteLength: number): ArrayBuffer;\n    isView(arg: any): arg is ArrayBufferView;\n}\ndeclare var ArrayBuffer: ArrayBufferConstructor;\n\ninterface ArrayBufferView {\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    byteOffset: number;\n}\n\ninterface DataView {\n    readonly buffer: ArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    /**\n     * Gets the Float32 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     * @param littleEndian If false or undefined, a big-endian value should be read.\n     */\n    getFloat32(byteOffset: number, littleEndian?: boolean): number;\n\n    /**\n     * Gets the Float64 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     * @param littleEndian If false or undefined, a big-endian value should be read.\n     */\n    getFloat64(byteOffset: number, littleEndian?: boolean): number;\n\n    /**\n     * Gets the Int8 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     */\n    getInt8(byteOffset: number): number;\n\n    /**\n     * Gets the Int16 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     * @param littleEndian If false or undefined, a big-endian value should be read.\n     */\n    getInt16(byteOffset: number, littleEndian?: boolean): number;\n    /**\n     * Gets the Int32 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     * @param littleEndian If false or undefined, a big-endian value should be read.\n     */\n    getInt32(byteOffset: number, littleEndian?: boolean): number;\n\n    /**\n     * Gets the Uint8 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     */\n    getUint8(byteOffset: number): number;\n\n    /**\n     * Gets the Uint16 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     * @param littleEndian If false or undefined, a big-endian value should be read.\n     */\n    getUint16(byteOffset: number, littleEndian?: boolean): number;\n\n    /**\n     * Gets the Uint32 value at the specified byte offset from the start of the view. There is\n     * no alignment constraint; multi-byte values may be fetched from any offset.\n     * @param byteOffset The place in the buffer at which the value should be retrieved.\n     * @param littleEndian If false or undefined, a big-endian value should be read.\n     */\n    getUint32(byteOffset: number, littleEndian?: boolean): number;\n\n    /**\n     * Stores an Float32 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     * @param littleEndian If false or undefined, a big-endian value should be written.\n     */\n    setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void;\n\n    /**\n     * Stores an Float64 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     * @param littleEndian If false or undefined, a big-endian value should be written.\n     */\n    setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void;\n\n    /**\n     * Stores an Int8 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     */\n    setInt8(byteOffset: number, value: number): void;\n\n    /**\n     * Stores an Int16 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     * @param littleEndian If false or undefined, a big-endian value should be written.\n     */\n    setInt16(byteOffset: number, value: number, littleEndian?: boolean): void;\n\n    /**\n     * Stores an Int32 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     * @param littleEndian If false or undefined, a big-endian value should be written.\n     */\n    setInt32(byteOffset: number, value: number, littleEndian?: boolean): void;\n\n    /**\n     * Stores an Uint8 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     */\n    setUint8(byteOffset: number, value: number): void;\n\n    /**\n     * Stores an Uint16 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     * @param littleEndian If false or undefined, a big-endian value should be written.\n     */\n    setUint16(byteOffset: number, value: number, littleEndian?: boolean): void;\n\n    /**\n     * Stores an Uint32 value at the specified byte offset from the start of the view.\n     * @param byteOffset The place in the buffer at which the value should be set.\n     * @param value The value to set.\n     * @param littleEndian If false or undefined, a big-endian value should be written.\n     */\n    setUint32(byteOffset: number, value: number, littleEndian?: boolean): void;\n}\n\ninterface DataViewConstructor {\n    readonly prototype: DataView;\n    new (buffer: ArrayBufferLike & { BYTES_PER_ELEMENT?: never; }, byteOffset?: number, byteLength?: number): DataView;\n}\ndeclare var DataView: DataViewConstructor;\n\n/**\n * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\n * number of bytes could not be allocated an exception is raised.\n */\ninterface Int8Array {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Int8Array) => any, thisArg?: any): Int8Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Int8Array;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Int8Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Int8Array;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Int8Array;\n\n    [index: number]: number;\n}\ninterface Int8ArrayConstructor {\n    readonly prototype: Int8Array;\n    new (length: number): Int8Array;\n    new (array: ArrayLike<number> | ArrayBufferLike): Int8Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int8Array;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Int8Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Int8Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array;\n}\ndeclare var Int8Array: Int8ArrayConstructor;\n\n/**\n * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\n * requested number of bytes could not be allocated an exception is raised.\n */\ninterface Uint8Array {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any): Uint8Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Uint8Array;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Uint8Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Uint8Array;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Uint8Array;\n\n    [index: number]: number;\n}\n\ninterface Uint8ArrayConstructor {\n    readonly prototype: Uint8Array;\n    new (length: number): Uint8Array;\n    new (array: ArrayLike<number> | ArrayBufferLike): Uint8Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint8Array;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Uint8Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Uint8Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array;\n}\ndeclare var Uint8Array: Uint8ArrayConstructor;\n\n/**\n * A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\n * If the requested number of bytes could not be allocated an exception is raised.\n */\ninterface Uint8ClampedArray {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any): Uint8ClampedArray;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Uint8ClampedArray;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Uint8ClampedArray;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Uint8ClampedArray view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Uint8ClampedArray;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Uint8ClampedArray;\n\n    [index: number]: number;\n}\n\ninterface Uint8ClampedArrayConstructor {\n    readonly prototype: Uint8ClampedArray;\n    new (length: number): Uint8ClampedArray;\n    new (array: ArrayLike<number> | ArrayBufferLike): Uint8ClampedArray;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint8ClampedArray;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Uint8ClampedArray;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Uint8ClampedArray;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray;\n}\ndeclare var Uint8ClampedArray: Uint8ClampedArrayConstructor;\n\n/**\n * A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\n * requested number of bytes could not be allocated an exception is raised.\n */\ninterface Int16Array {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Int16Array) => any, thisArg?: any): Int16Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void;\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Int16Array;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Int16Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Int16Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Int16Array;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Int16Array;\n\n    [index: number]: number;\n}\n\ninterface Int16ArrayConstructor {\n    readonly prototype: Int16Array;\n    new (length: number): Int16Array;\n    new (array: ArrayLike<number> | ArrayBufferLike): Int16Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int16Array;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Int16Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Int16Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array;\n}\ndeclare var Int16Array: Int16ArrayConstructor;\n\n/**\n * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\n * requested number of bytes could not be allocated an exception is raised.\n */\ninterface Uint16Array {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Uint16Array) => any, thisArg?: any): Uint16Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Uint16Array;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Uint16Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Uint16Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Uint16Array;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Uint16Array;\n\n    [index: number]: number;\n}\n\ninterface Uint16ArrayConstructor {\n    readonly prototype: Uint16Array;\n    new (length: number): Uint16Array;\n    new (array: ArrayLike<number> | ArrayBufferLike): Uint16Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint16Array;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Uint16Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Uint16Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array;\n}\ndeclare var Uint16Array: Uint16ArrayConstructor;\n/**\n * A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\n * requested number of bytes could not be allocated an exception is raised.\n */\ninterface Int32Array {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Int32Array) => any, thisArg?: any): Int32Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Int32Array;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Int32Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Int32Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Int32Array;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Int32Array;\n\n    [index: number]: number;\n}\n\ninterface Int32ArrayConstructor {\n    readonly prototype: Int32Array;\n    new (length: number): Int32Array;\n    new (array: ArrayLike<number> | ArrayBufferLike): Int32Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int32Array;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Int32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Int32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array;\n}\ndeclare var Int32Array: Int32ArrayConstructor;\n\n/**\n * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\n * requested number of bytes could not be allocated an exception is raised.\n */\ninterface Uint32Array {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Uint32Array) => any, thisArg?: any): Uint32Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void;\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Uint32Array;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Uint32Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Uint32Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Uint32Array;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Uint32Array;\n\n    [index: number]: number;\n}\n\ninterface Uint32ArrayConstructor {\n    readonly prototype: Uint32Array;\n    new (length: number): Uint32Array;\n    new (array: ArrayLike<number> | ArrayBufferLike): Uint32Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint32Array;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Uint32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Uint32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array;\n}\ndeclare var Uint32Array: Uint32ArrayConstructor;\n\n/**\n * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\n * of bytes could not be allocated an exception is raised.\n */\ninterface Float32Array {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any): Float32Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Float32Array;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Float32Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Float32Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Float32Array;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Float32Array;\n\n    [index: number]: number;\n}\n\ninterface Float32ArrayConstructor {\n    readonly prototype: Float32Array;\n    new (length: number): Float32Array;\n    new (array: ArrayLike<number> | ArrayBufferLike): Float32Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Float32Array;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Float32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Float32Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array;\n}\ndeclare var Float32Array: Float32ArrayConstructor;\n\n/**\n * A typed array of 64-bit float values. The contents are initialized to 0. If the requested\n * number of bytes could not be allocated an exception is raised.\n */\ninterface Float64Array {\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * The ArrayBuffer instance referenced by the array.\n     */\n    readonly buffer: ArrayBufferLike;\n\n    /**\n     * The length in bytes of the array.\n     */\n    readonly byteLength: number;\n\n    /**\n     * The offset in bytes of the array.\n     */\n    readonly byteOffset: number;\n\n    /**\n     * Returns the this object after copying a section of the array identified by start and end\n     * to the same array starting at position target\n     * @param target If target is negative, it is treated as length+target where length is the\n     * length of the array.\n     * @param start If start is negative, it is treated as length+start. If end is negative, it\n     * is treated as length+end.\n     * @param end If not specified, length of the this object is used as its default value.\n     */\n    copyWithin(target: number, start: number, end?: number): this;\n\n    /**\n     * Determines whether all the members of an array satisfy the specified test.\n     * @param predicate A function that accepts up to three arguments. The every method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value false, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    every(predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Changes all array elements from \\`start\\` to \\`end\\` index to a static \\`value\\` and returns the modified array\n     * @param value value to fill array section with\n     * @param start index to start filling the array at. If start is negative, it is treated as\n     * length+start where length is the length of the array.\n     * @param end index to stop filling the array at. If end is negative, it is treated as\n     * length+end.\n     */\n    fill(value: number, start?: number, end?: number): this;\n\n    /**\n     * Returns the elements of an array that meet the condition specified in a callback function.\n     * @param predicate A function that accepts up to three arguments. The filter method calls\n     * the predicate function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    filter(predicate: (value: number, index: number, array: Float64Array) => any, thisArg?: any): Float64Array;\n\n    /**\n     * Returns the value of the first element in the array where predicate is true, and undefined\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found, find\n     * immediately returns that element value. Otherwise, find returns undefined.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    find(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number | undefined;\n\n    /**\n     * Returns the index of the first element in the array where predicate is true, and -1\n     * otherwise.\n     * @param predicate find calls predicate once for each element of the array, in ascending\n     * order, until it finds one where predicate returns true. If such an element is found,\n     * findIndex immediately returns that element index. Otherwise, findIndex returns -1.\n     * @param thisArg If provided, it will be used as the this value for each invocation of\n     * predicate. If it is not provided, undefined is used instead.\n     */\n    findIndex(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number;\n\n    /**\n     * Performs the specified action for each element in an array.\n     * @param callbackfn  A function that accepts up to three arguments. forEach calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg  An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void;\n\n    /**\n     * Returns the index of the first occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     *  search starts at index 0.\n     */\n    indexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * Adds all the elements of an array separated by the specified separator string.\n     * @param separator A string used to separate one element of an array from the next in the\n     * resulting String. If omitted, the array elements are separated with a comma.\n     */\n    join(separator?: string): string;\n\n    /**\n     * Returns the index of the last occurrence of a value in an array.\n     * @param searchElement The value to locate in the array.\n     * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the\n     * search starts at index 0.\n     */\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n\n    /**\n     * The length of the array.\n     */\n    readonly length: number;\n\n    /**\n     * Calls a defined callback function on each element of an array, and returns an array that\n     * contains the results.\n     * @param callbackfn A function that accepts up to three arguments. The map method calls the\n     * callbackfn function one time for each element in the array.\n     * @param thisArg An object to which the this keyword can refer in the callbackfn function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array. The return value of\n     * the callback function is the accumulated result, and is provided as an argument in the next\n     * call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduce method calls the\n     * callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an\n     * argument instead of an array value.\n     */\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number;\n\n    /**\n     * Calls the specified callback function for all the elements in an array, in descending order.\n     * The return value of the callback function is the accumulated result, and is provided as an\n     * argument in the next call to the callback function.\n     * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls\n     * the callbackfn function one time for each element in the array.\n     * @param initialValue If initialValue is specified, it is used as the initial value to start\n     * the accumulation. The first call to the callbackfn function provides this value as an argument\n     * instead of an array value.\n     */\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U;\n\n    /**\n     * Reverses the elements in an Array.\n     */\n    reverse(): Float64Array;\n\n    /**\n     * Sets a value or an array of values.\n     * @param array A typed or untyped array of values to set.\n     * @param offset The index in the current array at which the values are to be written.\n     */\n    set(array: ArrayLike<number>, offset?: number): void;\n\n    /**\n     * Returns a section of an array.\n     * @param start The beginning of the specified portion of the array.\n     * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.\n     */\n    slice(start?: number, end?: number): Float64Array;\n\n    /**\n     * Determines whether the specified callback function returns true for any element of an array.\n     * @param predicate A function that accepts up to three arguments. The some method calls\n     * the predicate function for each element in the array until the predicate returns a value\n     * which is coercible to the Boolean value true, or until the end of the array.\n     * @param thisArg An object to which the this keyword can refer in the predicate function.\n     * If thisArg is omitted, undefined is used as the this value.\n     */\n    some(predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): boolean;\n\n    /**\n     * Sorts an array.\n     * @param compareFn Function used to determine the order of the elements. It is expected to return\n     * a negative value if first argument is less than second argument, zero if they're equal and a positive\n     * value otherwise. If omitted, the elements are sorted in ascending order.\n     * \\`\\`\\`ts\n     * [11,2,22,1].sort((a, b) => a - b)\n     * \\`\\`\\`\n     */\n    sort(compareFn?: (a: number, b: number) => number): this;\n\n    /**\n     * Gets a new Float64Array view of the ArrayBuffer store for this array, referencing the elements\n     * at begin, inclusive, up to end, exclusive.\n     * @param begin The index of the beginning of the array.\n     * @param end The index of the end of the array.\n     */\n    subarray(begin?: number, end?: number): Float64Array;\n\n    /**\n     * Converts a number to a string by using the current locale.\n     */\n    toLocaleString(): string;\n\n    /**\n     * Returns a string representation of an array.\n     */\n    toString(): string;\n\n    /** Returns the primitive value of the specified object. */\n    valueOf(): Float64Array;\n\n    [index: number]: number;\n}\n\ninterface Float64ArrayConstructor {\n    readonly prototype: Float64Array;\n    new (length: number): Float64Array;\n    new (array: ArrayLike<number> | ArrayBufferLike): Float64Array;\n    new (buffer: ArrayBufferLike, byteOffset?: number, length?: number): Float64Array;\n\n    /**\n     * The size in bytes of each element in the array.\n     */\n    readonly BYTES_PER_ELEMENT: number;\n\n    /**\n     * Returns a new array from a set of elements.\n     * @param items A set of elements to include in the new array object.\n     */\n    of(...items: number[]): Float64Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     */\n    from(arrayLike: ArrayLike<number>): Float64Array;\n\n    /**\n     * Creates an array from an array-like or iterable object.\n     * @param arrayLike An array-like or iterable object to convert to an array.\n     * @param mapfn A mapping function to call on every element of the array.\n     * @param thisArg Value of 'this' used to invoke the mapfn.\n     */\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array;\n}\ndeclare var Float64Array: Float64ArrayConstructor;\n\n/////////////////////////////\n/// ECMAScript Internationalization API\n/////////////////////////////\n\ndeclare namespace Intl {\n    interface CollatorOptions {\n        usage?: \"sort\" | \"search\" | undefined;\n        localeMatcher?: \"lookup\" | \"best fit\" | undefined;\n        numeric?: boolean | undefined;\n        caseFirst?: \"upper\" | \"lower\" | \"false\" | undefined;\n        sensitivity?: \"base\" | \"accent\" | \"case\" | \"variant\" | undefined;\n        collation?: \"big5han\" | \"compat\" | \"dict\" | \"direct\" | \"ducet\" | \"emoji\" | \"eor\" | \"gb2312\" | \"phonebk\" | \"phonetic\" | \"pinyin\" | \"reformed\" | \"searchjl\" | \"stroke\" | \"trad\" | \"unihan\" | \"zhuyin\" | undefined;\n        ignorePunctuation?: boolean | undefined;\n    }\n\n    interface ResolvedCollatorOptions {\n        locale: string;\n        usage: string;\n        sensitivity: string;\n        ignorePunctuation: boolean;\n        collation: string;\n        caseFirst: string;\n        numeric: boolean;\n    }\n\n    interface Collator {\n        compare(x: string, y: string): number;\n        resolvedOptions(): ResolvedCollatorOptions;\n    }\n\n    interface CollatorConstructor {\n        new (locales?: string | string[], options?: CollatorOptions): Collator;\n        (locales?: string | string[], options?: CollatorOptions): Collator;\n        supportedLocalesOf(locales: string | string[], options?: CollatorOptions): string[];\n    }\n\n    var Collator: CollatorConstructor;\n\n    interface NumberFormatOptions {\n        localeMatcher?: string | undefined;\n        style?: string | undefined;\n        currency?: string | undefined;\n        currencySign?: string | undefined;\n        useGrouping?: boolean | undefined;\n        minimumIntegerDigits?: number | undefined;\n        minimumFractionDigits?: number | undefined;\n        maximumFractionDigits?: number | undefined;\n        minimumSignificantDigits?: number | undefined;\n        maximumSignificantDigits?: number | undefined;\n    }\n\n    interface ResolvedNumberFormatOptions {\n        locale: string;\n        numberingSystem: string;\n        style: string;\n        currency?: string;\n        minimumIntegerDigits: number;\n        minimumFractionDigits: number;\n        maximumFractionDigits: number;\n        minimumSignificantDigits?: number;\n        maximumSignificantDigits?: number;\n        useGrouping: boolean;\n    }\n\n    interface NumberFormat {\n        format(value: number): string;\n        resolvedOptions(): ResolvedNumberFormatOptions;\n    }\n\n    interface NumberFormatConstructor {\n        new (locales?: string | string[], options?: NumberFormatOptions): NumberFormat;\n        (locales?: string | string[], options?: NumberFormatOptions): NumberFormat;\n        supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[];\n        readonly prototype: NumberFormat;\n    }\n\n    var NumberFormat: NumberFormatConstructor;\n\n    interface DateTimeFormatOptions {\n        localeMatcher?: \"best fit\" | \"lookup\" | undefined;\n        weekday?: \"long\" | \"short\" | \"narrow\" | undefined;\n        era?: \"long\" | \"short\" | \"narrow\" | undefined;\n        year?: \"numeric\" | \"2-digit\" | undefined;\n        month?: \"numeric\" | \"2-digit\" | \"long\" | \"short\" | \"narrow\" | undefined;\n        day?: \"numeric\" | \"2-digit\" | undefined;\n        hour?: \"numeric\" | \"2-digit\" | undefined;\n        minute?: \"numeric\" | \"2-digit\" | undefined;\n        second?: \"numeric\" | \"2-digit\" | undefined;\n        timeZoneName?: \"short\" | \"long\" | \"shortOffset\" | \"longOffset\" | \"shortGeneric\" | \"longGeneric\" | undefined;\n        formatMatcher?: \"best fit\" | \"basic\" | undefined;\n        hour12?: boolean | undefined;\n        timeZone?: string | undefined;\n    }\n\n    interface ResolvedDateTimeFormatOptions {\n        locale: string;\n        calendar: string;\n        numberingSystem: string;\n        timeZone: string;\n        hour12?: boolean;\n        weekday?: string;\n        era?: string;\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n        timeZoneName?: string;\n    }\n\n    interface DateTimeFormat {\n        format(date?: Date | number): string;\n        resolvedOptions(): ResolvedDateTimeFormatOptions;\n    }\n\n    interface DateTimeFormatConstructor {\n        new (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat;\n        (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat;\n        supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[];\n        readonly prototype: DateTimeFormat;\n    }\n\n    var DateTimeFormat: DateTimeFormatConstructor;\n}\n\ninterface String {\n    /**\n     * Determines whether two strings are equivalent in the current or specified locale.\n     * @param that String to compare to target string\n     * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.\n     * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.\n     */\n    localeCompare(that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;\n}\n\ninterface Number {\n    /**\n     * Converts a number to a string by using the current or specified locale.\n     * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n     * @param options An object that contains one or more properties that specify comparison options.\n     */\n    toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string;\n}\n\ninterface Date {\n    /**\n     * Converts a date and time to a string by using the current or specified locale.\n     * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n     * @param options An object that contains one or more properties that specify comparison options.\n     */\n    toLocaleString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;\n    /**\n     * Converts a date to a string by using the current or specified locale.\n     * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n     * @param options An object that contains one or more properties that specify comparison options.\n     */\n    toLocaleDateString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;\n\n    /**\n     * Converts a time to a string by using the current or specified locale.\n     * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.\n     * @param options An object that contains one or more properties that specify comparison options.\n     */\n    toLocaleTimeString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;\n}\n`;Vi[\"lib.es6.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n`;Vi[\"lib.esnext.collection.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface MapConstructor {\n    /**\n     * Groups members of an iterable according to the return value of the passed callback.\n     * @param items An iterable.\n     * @param keySelector A callback which will be invoked for each item in items.\n     */\n    groupBy<K, T>(\n        items: Iterable<T>,\n        keySelector: (item: T, index: number) => K,\n    ): Map<K, T[]>;\n}\n`;Vi[\"lib.esnext.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2023\" />\n/// <reference lib=\"esnext.intl\" />\n/// <reference lib=\"esnext.decorators\" />\n/// <reference lib=\"esnext.disposable\" />\n/// <reference lib=\"esnext.promise\" />\n/// <reference lib=\"esnext.object\" />\n/// <reference lib=\"esnext.collection\" />\n`;Vi[\"lib.esnext.decorators.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"decorators\" />\n\ninterface SymbolConstructor {\n    readonly metadata: unique symbol;\n}\n\ninterface Function {\n    [Symbol.metadata]: DecoratorMetadata | null;\n}\n`;Vi[\"lib.esnext.disposable.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"es2015.symbol\" />\n\ninterface SymbolConstructor {\n    /**\n     * A method that is used to release resources held by an object. Called by the semantics of the \\`using\\` statement.\n     */\n    readonly dispose: unique symbol;\n\n    /**\n     * A method that is used to asynchronously release resources held by an object. Called by the semantics of the \\`await using\\` statement.\n     */\n    readonly asyncDispose: unique symbol;\n}\n\ninterface Disposable {\n    [Symbol.dispose](): void;\n}\n\ninterface AsyncDisposable {\n    [Symbol.asyncDispose](): PromiseLike<void>;\n}\n\ninterface SuppressedError extends Error {\n    error: any;\n    suppressed: any;\n}\n\ninterface SuppressedErrorConstructor {\n    new (error: any, suppressed: any, message?: string): SuppressedError;\n    (error: any, suppressed: any, message?: string): SuppressedError;\n    readonly prototype: SuppressedError;\n}\ndeclare var SuppressedError: SuppressedErrorConstructor;\n\ninterface DisposableStack {\n    /**\n     * Returns a value indicating whether this stack has been disposed.\n     */\n    readonly disposed: boolean;\n    /**\n     * Disposes each resource in the stack in the reverse order that they were added.\n     */\n    dispose(): void;\n    /**\n     * Adds a disposable resource to the stack, returning the resource.\n     * @param value The resource to add. \\`null\\` and \\`undefined\\` will not be added, but will be returned.\n     * @returns The provided {@link value}.\n     */\n    use<T extends Disposable | null | undefined>(value: T): T;\n    /**\n     * Adds a value and associated disposal callback as a resource to the stack.\n     * @param value The value to add.\n     * @param onDispose The callback to use in place of a \\`[Symbol.dispose]()\\` method. Will be invoked with \\`value\\`\n     * as the first parameter.\n     * @returns The provided {@link value}.\n     */\n    adopt<T>(value: T, onDispose: (value: T) => void): T;\n    /**\n     * Adds a callback to be invoked when the stack is disposed.\n     */\n    defer(onDispose: () => void): void;\n    /**\n     * Move all resources out of this stack and into a new \\`DisposableStack\\`, and marks this stack as disposed.\n     * @example\n     * \\`\\`\\`ts\n     * class C {\n     *   #res1: Disposable;\n     *   #res2: Disposable;\n     *   #disposables: DisposableStack;\n     *   constructor() {\n     *     // stack will be disposed when exiting constructor for any reason\n     *     using stack = new DisposableStack();\n     *\n     *     // get first resource\n     *     this.#res1 = stack.use(getResource1());\n     *\n     *     // get second resource. If this fails, both \\`stack\\` and \\`#res1\\` will be disposed.\n     *     this.#res2 = stack.use(getResource2());\n     *\n     *     // all operations succeeded, move resources out of \\`stack\\` so that they aren't disposed\n     *     // when constructor exits\n     *     this.#disposables = stack.move();\n     *   }\n     *\n     *   [Symbol.dispose]() {\n     *     this.#disposables.dispose();\n     *   }\n     * }\n     * \\`\\`\\`\n     */\n    move(): DisposableStack;\n    [Symbol.dispose](): void;\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface DisposableStackConstructor {\n    new (): DisposableStack;\n    readonly prototype: DisposableStack;\n}\ndeclare var DisposableStack: DisposableStackConstructor;\n\ninterface AsyncDisposableStack {\n    /**\n     * Returns a value indicating whether this stack has been disposed.\n     */\n    readonly disposed: boolean;\n    /**\n     * Disposes each resource in the stack in the reverse order that they were added.\n     */\n    disposeAsync(): Promise<void>;\n    /**\n     * Adds a disposable resource to the stack, returning the resource.\n     * @param value The resource to add. \\`null\\` and \\`undefined\\` will not be added, but will be returned.\n     * @returns The provided {@link value}.\n     */\n    use<T extends AsyncDisposable | Disposable | null | undefined>(value: T): T;\n    /**\n     * Adds a value and associated disposal callback as a resource to the stack.\n     * @param value The value to add.\n     * @param onDisposeAsync The callback to use in place of a \\`[Symbol.asyncDispose]()\\` method. Will be invoked with \\`value\\`\n     * as the first parameter.\n     * @returns The provided {@link value}.\n     */\n    adopt<T>(value: T, onDisposeAsync: (value: T) => PromiseLike<void> | void): T;\n    /**\n     * Adds a callback to be invoked when the stack is disposed.\n     */\n    defer(onDisposeAsync: () => PromiseLike<void> | void): void;\n    /**\n     * Move all resources out of this stack and into a new \\`DisposableStack\\`, and marks this stack as disposed.\n     * @example\n     * \\`\\`\\`ts\n     * class C {\n     *   #res1: Disposable;\n     *   #res2: Disposable;\n     *   #disposables: DisposableStack;\n     *   constructor() {\n     *     // stack will be disposed when exiting constructor for any reason\n     *     using stack = new DisposableStack();\n     *\n     *     // get first resource\n     *     this.#res1 = stack.use(getResource1());\n     *\n     *     // get second resource. If this fails, both \\`stack\\` and \\`#res1\\` will be disposed.\n     *     this.#res2 = stack.use(getResource2());\n     *\n     *     // all operations succeeded, move resources out of \\`stack\\` so that they aren't disposed\n     *     // when constructor exits\n     *     this.#disposables = stack.move();\n     *   }\n     *\n     *   [Symbol.dispose]() {\n     *     this.#disposables.dispose();\n     *   }\n     * }\n     * \\`\\`\\`\n     */\n    move(): AsyncDisposableStack;\n    [Symbol.asyncDispose](): Promise<void>;\n    readonly [Symbol.toStringTag]: string;\n}\n\ninterface AsyncDisposableStackConstructor {\n    new (): AsyncDisposableStack;\n    readonly prototype: AsyncDisposableStack;\n}\ndeclare var AsyncDisposableStack: AsyncDisposableStackConstructor;\n`;Vi[\"lib.esnext.full.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/// <reference lib=\"esnext\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n`;Vi[\"lib.esnext.intl.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ndeclare namespace Intl {\n    interface NumberRangeFormatPart extends NumberFormatPart {\n        source: \"startRange\" | \"endRange\" | \"shared\";\n    }\n\n    interface NumberFormat {\n        formatRange(start: number | bigint, end: number | bigint): string;\n        formatRangeToParts(start: number | bigint, end: number | bigint): NumberRangeFormatPart[];\n    }\n}\n`;Vi[\"lib.esnext.object.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface ObjectConstructor {\n    /**\n     * Groups members of an iterable according to the return value of the passed callback.\n     * @param items An iterable.\n     * @param keySelector A callback which will be invoked for each item in items.\n     */\n    groupBy<K extends PropertyKey, T>(\n        items: Iterable<T>,\n        keySelector: (item: T, index: number) => K,\n    ): Partial<Record<K, T[]>>;\n}\n`;Vi[\"lib.esnext.promise.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\ninterface PromiseWithResolvers<T> {\n    promise: Promise<T>;\n    resolve: (value: T | PromiseLike<T>) => void;\n    reject: (reason?: any) => void;\n}\n\ninterface PromiseConstructor {\n    /**\n     * Creates a new Promise and returns it in an object, along with its resolve and reject functions.\n     * @returns An object with the properties \\`promise\\`, \\`resolve\\`, and \\`reject\\`.\n     *\n     * \\`\\`\\`ts\n     * const { promise, resolve, reject } = Promise.withResolvers<T>();\n     * \\`\\`\\`\n     */\n    withResolvers<T>(): PromiseWithResolvers<T>;\n}\n`;Vi[\"lib.scripthost.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/////////////////////////////\n/// Windows Script Host APIS\n/////////////////////////////\n\ninterface ActiveXObject {\n    new (s: string): any;\n}\ndeclare var ActiveXObject: ActiveXObject;\n\ninterface ITextWriter {\n    Write(s: string): void;\n    WriteLine(s: string): void;\n    Close(): void;\n}\n\ninterface TextStreamBase {\n    /**\n     * The column number of the current character position in an input stream.\n     */\n    Column: number;\n\n    /**\n     * The current line number in an input stream.\n     */\n    Line: number;\n\n    /**\n     * Closes a text stream.\n     * It is not necessary to close standard streams; they close automatically when the process ends. If\n     * you close a standard stream, be aware that any other pointers to that standard stream become invalid.\n     */\n    Close(): void;\n}\n\ninterface TextStreamWriter extends TextStreamBase {\n    /**\n     * Sends a string to an output stream.\n     */\n    Write(s: string): void;\n\n    /**\n     * Sends a specified number of blank lines (newline characters) to an output stream.\n     */\n    WriteBlankLines(intLines: number): void;\n\n    /**\n     * Sends a string followed by a newline character to an output stream.\n     */\n    WriteLine(s: string): void;\n}\n\ninterface TextStreamReader extends TextStreamBase {\n    /**\n     * Returns a specified number of characters from an input stream, starting at the current pointer position.\n     * Does not return until the ENTER key is pressed.\n     * Can only be used on a stream in reading mode; causes an error in writing or appending mode.\n     */\n    Read(characters: number): string;\n\n    /**\n     * Returns all characters from an input stream.\n     * Can only be used on a stream in reading mode; causes an error in writing or appending mode.\n     */\n    ReadAll(): string;\n\n    /**\n     * Returns an entire line from an input stream.\n     * Although this method extracts the newline character, it does not add it to the returned string.\n     * Can only be used on a stream in reading mode; causes an error in writing or appending mode.\n     */\n    ReadLine(): string;\n\n    /**\n     * Skips a specified number of characters when reading from an input text stream.\n     * Can only be used on a stream in reading mode; causes an error in writing or appending mode.\n     * @param characters Positive number of characters to skip forward. (Backward skipping is not supported.)\n     */\n    Skip(characters: number): void;\n\n    /**\n     * Skips the next line when reading from an input text stream.\n     * Can only be used on a stream in reading mode, not writing or appending mode.\n     */\n    SkipLine(): void;\n\n    /**\n     * Indicates whether the stream pointer position is at the end of a line.\n     */\n    AtEndOfLine: boolean;\n\n    /**\n     * Indicates whether the stream pointer position is at the end of a stream.\n     */\n    AtEndOfStream: boolean;\n}\n\ndeclare var WScript: {\n    /**\n     * Outputs text to either a message box (under WScript.exe) or the command console window followed by\n     * a newline (under CScript.exe).\n     */\n    Echo(s: any): void;\n\n    /**\n     * Exposes the write-only error output stream for the current script.\n     * Can be accessed only while using CScript.exe.\n     */\n    StdErr: TextStreamWriter;\n\n    /**\n     * Exposes the write-only output stream for the current script.\n     * Can be accessed only while using CScript.exe.\n     */\n    StdOut: TextStreamWriter;\n    Arguments: { length: number; Item(n: number): string; };\n\n    /**\n     *  The full path of the currently running script.\n     */\n    ScriptFullName: string;\n\n    /**\n     * Forces the script to stop immediately, with an optional exit code.\n     */\n    Quit(exitCode?: number): number;\n\n    /**\n     * The Windows Script Host build version number.\n     */\n    BuildVersion: number;\n\n    /**\n     * Fully qualified path of the host executable.\n     */\n    FullName: string;\n\n    /**\n     * Gets/sets the script mode - interactive(true) or batch(false).\n     */\n    Interactive: boolean;\n\n    /**\n     * The name of the host executable (WScript.exe or CScript.exe).\n     */\n    Name: string;\n\n    /**\n     * Path of the directory containing the host executable.\n     */\n    Path: string;\n\n    /**\n     * The filename of the currently running script.\n     */\n    ScriptName: string;\n\n    /**\n     * Exposes the read-only input stream for the current script.\n     * Can be accessed only while using CScript.exe.\n     */\n    StdIn: TextStreamReader;\n\n    /**\n     * Windows Script Host version\n     */\n    Version: string;\n\n    /**\n     * Connects a COM object's event sources to functions named with a given prefix, in the form prefix_event.\n     */\n    ConnectObject(objEventSource: any, strPrefix: string): void;\n\n    /**\n     * Creates a COM object.\n     * @param strProgiID\n     * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events.\n     */\n    CreateObject(strProgID: string, strPrefix?: string): any;\n\n    /**\n     * Disconnects a COM object from its event sources.\n     */\n    DisconnectObject(obj: any): void;\n\n    /**\n     * Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file.\n     * @param strPathname Fully qualified path to the file containing the object persisted to disk.\n     *                       For objects in memory, pass a zero-length string.\n     * @param strProgID\n     * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events.\n     */\n    GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any;\n\n    /**\n     * Suspends script execution for a specified length of time, then continues execution.\n     * @param intTime Interval (in milliseconds) to suspend script execution.\n     */\n    Sleep(intTime: number): void;\n};\n\n/**\n * WSH is an alias for WScript under Windows Script Host\n */\ndeclare var WSH: typeof WScript;\n\n/**\n * Represents an Automation SAFEARRAY\n */\ndeclare class SafeArray<T = any> {\n    private constructor();\n    private SafeArray_typekey: SafeArray<T>;\n}\n\n/**\n * Allows enumerating over a COM collection, which may not have indexed item access.\n */\ninterface Enumerator<T = any> {\n    /**\n     * Returns true if the current item is the last one in the collection, or the collection is empty,\n     * or the current item is undefined.\n     */\n    atEnd(): boolean;\n\n    /**\n     * Returns the current item in the collection\n     */\n    item(): T;\n\n    /**\n     * Resets the current item in the collection to the first item. If there are no items in the collection,\n     * the current item is set to undefined.\n     */\n    moveFirst(): void;\n\n    /**\n     * Moves the current item to the next item in the collection. If the enumerator is at the end of\n     * the collection or the collection is empty, the current item is set to undefined.\n     */\n    moveNext(): void;\n}\n\ninterface EnumeratorConstructor {\n    new <T = any>(safearray: SafeArray<T>): Enumerator<T>;\n    new <T = any>(collection: { Item(index: any): T; }): Enumerator<T>;\n    new <T = any>(collection: any): Enumerator<T>;\n}\n\ndeclare var Enumerator: EnumeratorConstructor;\n\n/**\n * Enables reading from a COM safe array, which might have an alternate lower bound, or multiple dimensions.\n */\ninterface VBArray<T = any> {\n    /**\n     * Returns the number of dimensions (1-based).\n     */\n    dimensions(): number;\n\n    /**\n     * Takes an index for each dimension in the array, and returns the item at the corresponding location.\n     */\n    getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T;\n\n    /**\n     * Returns the smallest available index for a given dimension.\n     * @param dimension 1-based dimension (defaults to 1)\n     */\n    lbound(dimension?: number): number;\n\n    /**\n     * Returns the largest available index for a given dimension.\n     * @param dimension 1-based dimension (defaults to 1)\n     */\n    ubound(dimension?: number): number;\n\n    /**\n     * Returns a Javascript array with all the elements in the VBArray. If there are multiple dimensions,\n     * each successive dimension is appended to the end of the array.\n     * Example: [[1,2,3],[4,5,6]] becomes [1,2,3,4,5,6]\n     */\n    toArray(): T[];\n}\n\ninterface VBArrayConstructor {\n    new <T = any>(safeArray: SafeArray<T>): VBArray<T>;\n}\n\ndeclare var VBArray: VBArrayConstructor;\n\n/**\n * Automation date (VT_DATE)\n */\ndeclare class VarDate {\n    private constructor();\n    private VarDate_typekey: VarDate;\n}\n\ninterface DateConstructor {\n    new (vd: VarDate): Date;\n}\n\ninterface Date {\n    getVarDate: () => VarDate;\n}\n`;Vi[\"lib.webworker.asynciterable.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/////////////////////////////\n/// Worker Async Iterable APIs\n/////////////////////////////\n\ninterface FileSystemDirectoryHandle {\n    [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>;\n    entries(): AsyncIterableIterator<[string, FileSystemHandle]>;\n    keys(): AsyncIterableIterator<string>;\n    values(): AsyncIterableIterator<FileSystemHandle>;\n}\n`;Vi[\"lib.webworker.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/////////////////////////////\n/// Worker APIs\n/////////////////////////////\n\ninterface AddEventListenerOptions extends EventListenerOptions {\n    once?: boolean;\n    passive?: boolean;\n    signal?: AbortSignal;\n}\n\ninterface AesCbcParams extends Algorithm {\n    iv: BufferSource;\n}\n\ninterface AesCtrParams extends Algorithm {\n    counter: BufferSource;\n    length: number;\n}\n\ninterface AesDerivedKeyParams extends Algorithm {\n    length: number;\n}\n\ninterface AesGcmParams extends Algorithm {\n    additionalData?: BufferSource;\n    iv: BufferSource;\n    tagLength?: number;\n}\n\ninterface AesKeyAlgorithm extends KeyAlgorithm {\n    length: number;\n}\n\ninterface AesKeyGenParams extends Algorithm {\n    length: number;\n}\n\ninterface Algorithm {\n    name: string;\n}\n\ninterface AudioConfiguration {\n    bitrate?: number;\n    channels?: string;\n    contentType: string;\n    samplerate?: number;\n    spatialRendering?: boolean;\n}\n\ninterface AvcEncoderConfig {\n    format?: AvcBitstreamFormat;\n}\n\ninterface BlobPropertyBag {\n    endings?: EndingType;\n    type?: string;\n}\n\ninterface CSSMatrixComponentOptions {\n    is2D?: boolean;\n}\n\ninterface CSSNumericType {\n    angle?: number;\n    flex?: number;\n    frequency?: number;\n    length?: number;\n    percent?: number;\n    percentHint?: CSSNumericBaseType;\n    resolution?: number;\n    time?: number;\n}\n\ninterface CacheQueryOptions {\n    ignoreMethod?: boolean;\n    ignoreSearch?: boolean;\n    ignoreVary?: boolean;\n}\n\ninterface ClientQueryOptions {\n    includeUncontrolled?: boolean;\n    type?: ClientTypes;\n}\n\ninterface CloseEventInit extends EventInit {\n    code?: number;\n    reason?: string;\n    wasClean?: boolean;\n}\n\ninterface CryptoKeyPair {\n    privateKey: CryptoKey;\n    publicKey: CryptoKey;\n}\n\ninterface CustomEventInit<T = any> extends EventInit {\n    detail?: T;\n}\n\ninterface DOMMatrix2DInit {\n    a?: number;\n    b?: number;\n    c?: number;\n    d?: number;\n    e?: number;\n    f?: number;\n    m11?: number;\n    m12?: number;\n    m21?: number;\n    m22?: number;\n    m41?: number;\n    m42?: number;\n}\n\ninterface DOMMatrixInit extends DOMMatrix2DInit {\n    is2D?: boolean;\n    m13?: number;\n    m14?: number;\n    m23?: number;\n    m24?: number;\n    m31?: number;\n    m32?: number;\n    m33?: number;\n    m34?: number;\n    m43?: number;\n    m44?: number;\n}\n\ninterface DOMPointInit {\n    w?: number;\n    x?: number;\n    y?: number;\n    z?: number;\n}\n\ninterface DOMQuadInit {\n    p1?: DOMPointInit;\n    p2?: DOMPointInit;\n    p3?: DOMPointInit;\n    p4?: DOMPointInit;\n}\n\ninterface DOMRectInit {\n    height?: number;\n    width?: number;\n    x?: number;\n    y?: number;\n}\n\ninterface EcKeyGenParams extends Algorithm {\n    namedCurve: NamedCurve;\n}\n\ninterface EcKeyImportParams extends Algorithm {\n    namedCurve: NamedCurve;\n}\n\ninterface EcdhKeyDeriveParams extends Algorithm {\n    public: CryptoKey;\n}\n\ninterface EcdsaParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n}\n\ninterface EncodedVideoChunkInit {\n    data: AllowSharedBufferSource;\n    duration?: number;\n    timestamp: number;\n    type: EncodedVideoChunkType;\n}\n\ninterface EncodedVideoChunkMetadata {\n    decoderConfig?: VideoDecoderConfig;\n}\n\ninterface ErrorEventInit extends EventInit {\n    colno?: number;\n    error?: any;\n    filename?: string;\n    lineno?: number;\n    message?: string;\n}\n\ninterface EventInit {\n    bubbles?: boolean;\n    cancelable?: boolean;\n    composed?: boolean;\n}\n\ninterface EventListenerOptions {\n    capture?: boolean;\n}\n\ninterface EventSourceInit {\n    withCredentials?: boolean;\n}\n\ninterface ExtendableEventInit extends EventInit {\n}\n\ninterface ExtendableMessageEventInit extends ExtendableEventInit {\n    data?: any;\n    lastEventId?: string;\n    origin?: string;\n    ports?: MessagePort[];\n    source?: Client | ServiceWorker | MessagePort | null;\n}\n\ninterface FetchEventInit extends ExtendableEventInit {\n    clientId?: string;\n    handled?: Promise<undefined>;\n    preloadResponse?: Promise<any>;\n    replacesClientId?: string;\n    request: Request;\n    resultingClientId?: string;\n}\n\ninterface FilePropertyBag extends BlobPropertyBag {\n    lastModified?: number;\n}\n\ninterface FileSystemCreateWritableOptions {\n    keepExistingData?: boolean;\n}\n\ninterface FileSystemGetDirectoryOptions {\n    create?: boolean;\n}\n\ninterface FileSystemGetFileOptions {\n    create?: boolean;\n}\n\ninterface FileSystemReadWriteOptions {\n    at?: number;\n}\n\ninterface FileSystemRemoveOptions {\n    recursive?: boolean;\n}\n\ninterface FontFaceDescriptors {\n    ascentOverride?: string;\n    descentOverride?: string;\n    display?: FontDisplay;\n    featureSettings?: string;\n    lineGapOverride?: string;\n    stretch?: string;\n    style?: string;\n    unicodeRange?: string;\n    weight?: string;\n}\n\ninterface FontFaceSetLoadEventInit extends EventInit {\n    fontfaces?: FontFace[];\n}\n\ninterface GetNotificationOptions {\n    tag?: string;\n}\n\ninterface HkdfParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    info: BufferSource;\n    salt: BufferSource;\n}\n\ninterface HmacImportParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    length?: number;\n}\n\ninterface HmacKeyGenParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    length?: number;\n}\n\ninterface IDBDatabaseInfo {\n    name?: string;\n    version?: number;\n}\n\ninterface IDBIndexParameters {\n    multiEntry?: boolean;\n    unique?: boolean;\n}\n\ninterface IDBObjectStoreParameters {\n    autoIncrement?: boolean;\n    keyPath?: string | string[] | null;\n}\n\ninterface IDBTransactionOptions {\n    durability?: IDBTransactionDurability;\n}\n\ninterface IDBVersionChangeEventInit extends EventInit {\n    newVersion?: number | null;\n    oldVersion?: number;\n}\n\ninterface ImageBitmapOptions {\n    colorSpaceConversion?: ColorSpaceConversion;\n    imageOrientation?: ImageOrientation;\n    premultiplyAlpha?: PremultiplyAlpha;\n    resizeHeight?: number;\n    resizeQuality?: ResizeQuality;\n    resizeWidth?: number;\n}\n\ninterface ImageBitmapRenderingContextSettings {\n    alpha?: boolean;\n}\n\ninterface ImageDataSettings {\n    colorSpace?: PredefinedColorSpace;\n}\n\ninterface ImageEncodeOptions {\n    quality?: number;\n    type?: string;\n}\n\ninterface ImportMeta {\n    url: string;\n}\n\ninterface JsonWebKey {\n    alg?: string;\n    crv?: string;\n    d?: string;\n    dp?: string;\n    dq?: string;\n    e?: string;\n    ext?: boolean;\n    k?: string;\n    key_ops?: string[];\n    kty?: string;\n    n?: string;\n    oth?: RsaOtherPrimesInfo[];\n    p?: string;\n    q?: string;\n    qi?: string;\n    use?: string;\n    x?: string;\n    y?: string;\n}\n\ninterface KeyAlgorithm {\n    name: string;\n}\n\ninterface LockInfo {\n    clientId?: string;\n    mode?: LockMode;\n    name?: string;\n}\n\ninterface LockManagerSnapshot {\n    held?: LockInfo[];\n    pending?: LockInfo[];\n}\n\ninterface LockOptions {\n    ifAvailable?: boolean;\n    mode?: LockMode;\n    signal?: AbortSignal;\n    steal?: boolean;\n}\n\ninterface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo {\n    configuration?: MediaDecodingConfiguration;\n}\n\ninterface MediaCapabilitiesEncodingInfo extends MediaCapabilitiesInfo {\n    configuration?: MediaEncodingConfiguration;\n}\n\ninterface MediaCapabilitiesInfo {\n    powerEfficient: boolean;\n    smooth: boolean;\n    supported: boolean;\n}\n\ninterface MediaConfiguration {\n    audio?: AudioConfiguration;\n    video?: VideoConfiguration;\n}\n\ninterface MediaDecodingConfiguration extends MediaConfiguration {\n    type: MediaDecodingType;\n}\n\ninterface MediaEncodingConfiguration extends MediaConfiguration {\n    type: MediaEncodingType;\n}\n\ninterface MessageEventInit<T = any> extends EventInit {\n    data?: T;\n    lastEventId?: string;\n    origin?: string;\n    ports?: MessagePort[];\n    source?: MessageEventSource | null;\n}\n\ninterface MultiCacheQueryOptions extends CacheQueryOptions {\n    cacheName?: string;\n}\n\ninterface NavigationPreloadState {\n    enabled?: boolean;\n    headerValue?: string;\n}\n\ninterface NotificationEventInit extends ExtendableEventInit {\n    action?: string;\n    notification: Notification;\n}\n\ninterface NotificationOptions {\n    badge?: string;\n    body?: string;\n    data?: any;\n    dir?: NotificationDirection;\n    icon?: string;\n    lang?: string;\n    requireInteraction?: boolean;\n    silent?: boolean | null;\n    tag?: string;\n}\n\ninterface Pbkdf2Params extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    iterations: number;\n    salt: BufferSource;\n}\n\ninterface PerformanceMarkOptions {\n    detail?: any;\n    startTime?: DOMHighResTimeStamp;\n}\n\ninterface PerformanceMeasureOptions {\n    detail?: any;\n    duration?: DOMHighResTimeStamp;\n    end?: string | DOMHighResTimeStamp;\n    start?: string | DOMHighResTimeStamp;\n}\n\ninterface PerformanceObserverInit {\n    buffered?: boolean;\n    entryTypes?: string[];\n    type?: string;\n}\n\ninterface PermissionDescriptor {\n    name: PermissionName;\n}\n\ninterface PlaneLayout {\n    offset: number;\n    stride: number;\n}\n\ninterface ProgressEventInit extends EventInit {\n    lengthComputable?: boolean;\n    loaded?: number;\n    total?: number;\n}\n\ninterface PromiseRejectionEventInit extends EventInit {\n    promise: Promise<any>;\n    reason?: any;\n}\n\ninterface PushEventInit extends ExtendableEventInit {\n    data?: PushMessageDataInit;\n}\n\ninterface PushSubscriptionJSON {\n    endpoint?: string;\n    expirationTime?: EpochTimeStamp | null;\n    keys?: Record<string, string>;\n}\n\ninterface PushSubscriptionOptionsInit {\n    applicationServerKey?: BufferSource | string | null;\n    userVisibleOnly?: boolean;\n}\n\ninterface QueuingStrategy<T = any> {\n    highWaterMark?: number;\n    size?: QueuingStrategySize<T>;\n}\n\ninterface QueuingStrategyInit {\n    /**\n     * Creates a new ByteLengthQueuingStrategy with the provided high water mark.\n     *\n     * Note that the provided high water mark will not be validated ahead of time. Instead, if it is negative, NaN, or not a number, the resulting ByteLengthQueuingStrategy will cause the corresponding stream constructor to throw.\n     */\n    highWaterMark: number;\n}\n\ninterface RTCEncodedAudioFrameMetadata {\n    contributingSources?: number[];\n    payloadType?: number;\n    sequenceNumber?: number;\n    synchronizationSource?: number;\n}\n\ninterface RTCEncodedVideoFrameMetadata {\n    contributingSources?: number[];\n    dependencies?: number[];\n    frameId?: number;\n    height?: number;\n    payloadType?: number;\n    spatialIndex?: number;\n    synchronizationSource?: number;\n    temporalIndex?: number;\n    timestamp?: number;\n    width?: number;\n}\n\ninterface ReadableStreamGetReaderOptions {\n    /**\n     * Creates a ReadableStreamBYOBReader and locks the stream to the new reader.\n     *\n     * This call behaves the same way as the no-argument variant, except that it only works on readable byte streams, i.e. streams which were constructed specifically with the ability to handle \"bring your own buffer\" reading. The returned BYOB reader provides the ability to directly read individual chunks from the stream via its read() method, into developer-supplied buffers, allowing more precise control over allocation.\n     */\n    mode?: ReadableStreamReaderMode;\n}\n\ninterface ReadableStreamReadDoneResult<T> {\n    done: true;\n    value?: T;\n}\n\ninterface ReadableStreamReadValueResult<T> {\n    done: false;\n    value: T;\n}\n\ninterface ReadableWritablePair<R = any, W = any> {\n    readable: ReadableStream<R>;\n    /**\n     * Provides a convenient, chainable way of piping this readable stream through a transform stream (or any other { writable, readable } pair). It simply pipes the stream into the writable side of the supplied pair, and returns the readable side for further use.\n     *\n     * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n     */\n    writable: WritableStream<W>;\n}\n\ninterface RegistrationOptions {\n    scope?: string;\n    type?: WorkerType;\n    updateViaCache?: ServiceWorkerUpdateViaCache;\n}\n\ninterface ReportingObserverOptions {\n    buffered?: boolean;\n    types?: string[];\n}\n\ninterface RequestInit {\n    /** A BodyInit object or null to set request's body. */\n    body?: BodyInit | null;\n    /** A string indicating how the request will interact with the browser's cache to set request's cache. */\n    cache?: RequestCache;\n    /** A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials. */\n    credentials?: RequestCredentials;\n    /** A Headers object, an object literal, or an array of two-item arrays to set request's headers. */\n    headers?: HeadersInit;\n    /** A cryptographic hash of the resource to be fetched by request. Sets request's integrity. */\n    integrity?: string;\n    /** A boolean to set request's keepalive. */\n    keepalive?: boolean;\n    /** A string to set request's method. */\n    method?: string;\n    /** A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. */\n    mode?: RequestMode;\n    priority?: RequestPriority;\n    /** A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect. */\n    redirect?: RequestRedirect;\n    /** A string whose value is a same-origin URL, \"about:client\", or the empty string, to set request's referrer. */\n    referrer?: string;\n    /** A referrer policy to set request's referrerPolicy. */\n    referrerPolicy?: ReferrerPolicy;\n    /** An AbortSignal to set request's signal. */\n    signal?: AbortSignal | null;\n    /** Can only be null. Used to disassociate request from any Window. */\n    window?: null;\n}\n\ninterface ResponseInit {\n    headers?: HeadersInit;\n    status?: number;\n    statusText?: string;\n}\n\ninterface RsaHashedImportParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n}\n\ninterface RsaHashedKeyGenParams extends RsaKeyGenParams {\n    hash: HashAlgorithmIdentifier;\n}\n\ninterface RsaKeyGenParams extends Algorithm {\n    modulusLength: number;\n    publicExponent: BigInteger;\n}\n\ninterface RsaOaepParams extends Algorithm {\n    label?: BufferSource;\n}\n\ninterface RsaOtherPrimesInfo {\n    d?: string;\n    r?: string;\n    t?: string;\n}\n\ninterface RsaPssParams extends Algorithm {\n    saltLength: number;\n}\n\ninterface SecurityPolicyViolationEventInit extends EventInit {\n    blockedURI?: string;\n    columnNumber?: number;\n    disposition: SecurityPolicyViolationEventDisposition;\n    documentURI: string;\n    effectiveDirective: string;\n    lineNumber?: number;\n    originalPolicy: string;\n    referrer?: string;\n    sample?: string;\n    sourceFile?: string;\n    statusCode: number;\n    violatedDirective: string;\n}\n\ninterface StorageEstimate {\n    quota?: number;\n    usage?: number;\n}\n\ninterface StreamPipeOptions {\n    preventAbort?: boolean;\n    preventCancel?: boolean;\n    /**\n     * Pipes this readable stream to a given writable stream destination. The way in which the piping process behaves under various error conditions can be customized with a number of passed options. It returns a promise that fulfills when the piping process completes successfully, or rejects if any errors were encountered.\n     *\n     * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n     *\n     * Errors and closures of the source and destination streams propagate as follows:\n     *\n     * An error in this source readable stream will abort destination, unless preventAbort is truthy. The returned promise will be rejected with the source's error, or with any error that occurs during aborting the destination.\n     *\n     * An error in destination will cancel this source readable stream, unless preventCancel is truthy. The returned promise will be rejected with the destination's error, or with any error that occurs during canceling the source.\n     *\n     * When this source readable stream closes, destination will be closed, unless preventClose is truthy. The returned promise will be fulfilled once this process completes, unless an error is encountered while closing the destination, in which case it will be rejected with that error.\n     *\n     * If destination starts out closed or closing, this source readable stream will be canceled, unless preventCancel is true. The returned promise will be rejected with an error indicating piping to a closed stream failed, or with any error that occurs during canceling the source.\n     *\n     * The signal option can be set to an AbortSignal to allow aborting an ongoing pipe operation via the corresponding AbortController. In this case, this source readable stream will be canceled, and destination aborted, unless the respective options preventCancel or preventAbort are set.\n     */\n    preventClose?: boolean;\n    signal?: AbortSignal;\n}\n\ninterface StructuredSerializeOptions {\n    transfer?: Transferable[];\n}\n\ninterface TextDecodeOptions {\n    stream?: boolean;\n}\n\ninterface TextDecoderOptions {\n    fatal?: boolean;\n    ignoreBOM?: boolean;\n}\n\ninterface TextEncoderEncodeIntoResult {\n    read: number;\n    written: number;\n}\n\ninterface Transformer<I = any, O = any> {\n    flush?: TransformerFlushCallback<O>;\n    readableType?: undefined;\n    start?: TransformerStartCallback<O>;\n    transform?: TransformerTransformCallback<I, O>;\n    writableType?: undefined;\n}\n\ninterface UnderlyingByteSource {\n    autoAllocateChunkSize?: number;\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: (controller: ReadableByteStreamController) => void | PromiseLike<void>;\n    start?: (controller: ReadableByteStreamController) => any;\n    type: \"bytes\";\n}\n\ninterface UnderlyingDefaultSource<R = any> {\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: (controller: ReadableStreamDefaultController<R>) => void | PromiseLike<void>;\n    start?: (controller: ReadableStreamDefaultController<R>) => any;\n    type?: undefined;\n}\n\ninterface UnderlyingSink<W = any> {\n    abort?: UnderlyingSinkAbortCallback;\n    close?: UnderlyingSinkCloseCallback;\n    start?: UnderlyingSinkStartCallback;\n    type?: undefined;\n    write?: UnderlyingSinkWriteCallback<W>;\n}\n\ninterface UnderlyingSource<R = any> {\n    autoAllocateChunkSize?: number;\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: UnderlyingSourcePullCallback<R>;\n    start?: UnderlyingSourceStartCallback<R>;\n    type?: ReadableStreamType;\n}\n\ninterface VideoColorSpaceInit {\n    fullRange?: boolean | null;\n    matrix?: VideoMatrixCoefficients | null;\n    primaries?: VideoColorPrimaries | null;\n    transfer?: VideoTransferCharacteristics | null;\n}\n\ninterface VideoConfiguration {\n    bitrate: number;\n    colorGamut?: ColorGamut;\n    contentType: string;\n    framerate: number;\n    hdrMetadataType?: HdrMetadataType;\n    height: number;\n    scalabilityMode?: string;\n    transferFunction?: TransferFunction;\n    width: number;\n}\n\ninterface VideoDecoderConfig {\n    codec: string;\n    codedHeight?: number;\n    codedWidth?: number;\n    colorSpace?: VideoColorSpaceInit;\n    description?: AllowSharedBufferSource;\n    displayAspectHeight?: number;\n    displayAspectWidth?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    optimizeForLatency?: boolean;\n}\n\ninterface VideoDecoderInit {\n    error: WebCodecsErrorCallback;\n    output: VideoFrameOutputCallback;\n}\n\ninterface VideoDecoderSupport {\n    config?: VideoDecoderConfig;\n    supported?: boolean;\n}\n\ninterface VideoEncoderConfig {\n    alpha?: AlphaOption;\n    avc?: AvcEncoderConfig;\n    bitrate?: number;\n    bitrateMode?: VideoEncoderBitrateMode;\n    codec: string;\n    displayHeight?: number;\n    displayWidth?: number;\n    framerate?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    height: number;\n    latencyMode?: LatencyMode;\n    scalabilityMode?: string;\n    width: number;\n}\n\ninterface VideoEncoderEncodeOptions {\n    keyFrame?: boolean;\n}\n\ninterface VideoEncoderInit {\n    error: WebCodecsErrorCallback;\n    output: EncodedVideoChunkOutputCallback;\n}\n\ninterface VideoEncoderSupport {\n    config?: VideoEncoderConfig;\n    supported?: boolean;\n}\n\ninterface VideoFrameBufferInit {\n    codedHeight: number;\n    codedWidth: number;\n    colorSpace?: VideoColorSpaceInit;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    format: VideoPixelFormat;\n    layout?: PlaneLayout[];\n    timestamp: number;\n    visibleRect?: DOMRectInit;\n}\n\ninterface VideoFrameCopyToOptions {\n    layout?: PlaneLayout[];\n    rect?: DOMRectInit;\n}\n\ninterface VideoFrameInit {\n    alpha?: AlphaOption;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    timestamp?: number;\n    visibleRect?: DOMRectInit;\n}\n\ninterface WebGLContextAttributes {\n    alpha?: boolean;\n    antialias?: boolean;\n    depth?: boolean;\n    desynchronized?: boolean;\n    failIfMajorPerformanceCaveat?: boolean;\n    powerPreference?: WebGLPowerPreference;\n    premultipliedAlpha?: boolean;\n    preserveDrawingBuffer?: boolean;\n    stencil?: boolean;\n}\n\ninterface WebGLContextEventInit extends EventInit {\n    statusMessage?: string;\n}\n\ninterface WebTransportCloseInfo {\n    closeCode?: number;\n    reason?: string;\n}\n\ninterface WebTransportErrorOptions {\n    source?: WebTransportErrorSource;\n    streamErrorCode?: number | null;\n}\n\ninterface WebTransportHash {\n    algorithm?: string;\n    value?: BufferSource;\n}\n\ninterface WebTransportOptions {\n    allowPooling?: boolean;\n    congestionControl?: WebTransportCongestionControl;\n    requireUnreliable?: boolean;\n    serverCertificateHashes?: WebTransportHash[];\n}\n\ninterface WebTransportSendStreamOptions {\n    sendOrder?: number;\n}\n\ninterface WorkerOptions {\n    credentials?: RequestCredentials;\n    name?: string;\n    type?: WorkerType;\n}\n\ninterface WriteParams {\n    data?: BufferSource | Blob | string | null;\n    position?: number | null;\n    size?: number | null;\n    type: WriteCommandType;\n}\n\n/**\n * The ANGLE_instanced_arrays extension is part of the WebGL API and allows to draw the same object, or groups of similar objects multiple times, if they share the same vertex data, primitive count and type.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays)\n */\ninterface ANGLE_instanced_arrays {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/drawArraysInstancedANGLE) */\n    drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/drawElementsInstancedANGLE) */\n    drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/vertexAttribDivisorANGLE) */\n    vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: 0x88FE;\n}\n\n/**\n * A controller object that allows you to abort one or more DOM requests as and when desired.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController)\n */\ninterface AbortController {\n    /**\n     * Returns the AbortSignal object associated with this object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController/signal)\n     */\n    readonly signal: AbortSignal;\n    /**\n     * Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController/abort)\n     */\n    abort(reason?: any): void;\n}\n\ndeclare var AbortController: {\n    prototype: AbortController;\n    new(): AbortController;\n};\n\ninterface AbortSignalEventMap {\n    \"abort\": Event;\n}\n\n/**\n * A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal)\n */\ninterface AbortSignal extends EventTarget {\n    /**\n     * Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/aborted)\n     */\n    readonly aborted: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_event) */\n    onabort: ((this: AbortSignal, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/reason) */\n    readonly reason: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/throwIfAborted) */\n    throwIfAborted(): void;\n    addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AbortSignal: {\n    prototype: AbortSignal;\n    new(): AbortSignal;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static) */\n    abort(reason?: any): AbortSignal;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static) */\n    timeout(milliseconds: number): AbortSignal;\n};\n\ninterface AbstractWorkerEventMap {\n    \"error\": ErrorEvent;\n}\n\ninterface AbstractWorker {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/error_event) */\n    onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null;\n    addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface AnimationFrameProvider {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame) */\n    cancelAnimationFrame(handle: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame) */\n    requestAnimationFrame(callback: FrameRequestCallback): number;\n}\n\n/**\n * A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob)\n */\ninterface Blob {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/size) */\n    readonly size: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/type) */\n    readonly type: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/arrayBuffer) */\n    arrayBuffer(): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/slice) */\n    slice(start?: number, end?: number, contentType?: string): Blob;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/stream) */\n    stream(): ReadableStream<Uint8Array>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/text) */\n    text(): Promise<string>;\n}\n\ndeclare var Blob: {\n    prototype: Blob;\n    new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob;\n};\n\ninterface Body {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/body) */\n    readonly body: ReadableStream<Uint8Array> | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/bodyUsed) */\n    readonly bodyUsed: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/arrayBuffer) */\n    arrayBuffer(): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/blob) */\n    blob(): Promise<Blob>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/formData) */\n    formData(): Promise<FormData>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/json) */\n    json(): Promise<any>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/text) */\n    text(): Promise<string>;\n}\n\ninterface BroadcastChannelEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel) */\ninterface BroadcastChannel extends EventTarget {\n    /**\n     * Returns the channel name (as passed to the constructor).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/name)\n     */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/message_event) */\n    onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/messageerror_event) */\n    onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;\n    /**\n     * Closes the BroadcastChannel object, opening it up to garbage collection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/close)\n     */\n    close(): void;\n    /**\n     * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BroadcastChannel/postMessage)\n     */\n    postMessage(message: any): void;\n    addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var BroadcastChannel: {\n    prototype: BroadcastChannel;\n    new(name: string): BroadcastChannel;\n};\n\n/**\n * This Streams API interface provides\\xA0a built-in byte length queuing strategy that can be used when constructing streams.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ByteLengthQueuingStrategy)\n */\ninterface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ByteLengthQueuingStrategy/highWaterMark) */\n    readonly highWaterMark: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ByteLengthQueuingStrategy/size) */\n    readonly size: QueuingStrategySize<ArrayBufferView>;\n}\n\ndeclare var ByteLengthQueuingStrategy: {\n    prototype: ByteLengthQueuingStrategy;\n    new(init: QueuingStrategyInit): ByteLengthQueuingStrategy;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImageValue) */\ninterface CSSImageValue extends CSSStyleValue {\n}\n\ndeclare var CSSImageValue: {\n    prototype: CSSImageValue;\n    new(): CSSImageValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeywordValue) */\ninterface CSSKeywordValue extends CSSStyleValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSKeywordValue/value) */\n    value: string;\n}\n\ndeclare var CSSKeywordValue: {\n    prototype: CSSKeywordValue;\n    new(value: string): CSSKeywordValue;\n};\n\ninterface CSSMathClamp extends CSSMathValue {\n    readonly lower: CSSNumericValue;\n    readonly upper: CSSNumericValue;\n    readonly value: CSSNumericValue;\n}\n\ndeclare var CSSMathClamp: {\n    prototype: CSSMathClamp;\n    new(lower: CSSNumberish, value: CSSNumberish, upper: CSSNumberish): CSSMathClamp;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathInvert) */\ninterface CSSMathInvert extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathInvert/value) */\n    readonly value: CSSNumericValue;\n}\n\ndeclare var CSSMathInvert: {\n    prototype: CSSMathInvert;\n    new(arg: CSSNumberish): CSSMathInvert;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathMax) */\ninterface CSSMathMax extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathMax/values) */\n    readonly values: CSSNumericArray;\n}\n\ndeclare var CSSMathMax: {\n    prototype: CSSMathMax;\n    new(...args: CSSNumberish[]): CSSMathMax;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathMin) */\ninterface CSSMathMin extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathMin/values) */\n    readonly values: CSSNumericArray;\n}\n\ndeclare var CSSMathMin: {\n    prototype: CSSMathMin;\n    new(...args: CSSNumberish[]): CSSMathMin;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathNegate) */\ninterface CSSMathNegate extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathNegate/value) */\n    readonly value: CSSNumericValue;\n}\n\ndeclare var CSSMathNegate: {\n    prototype: CSSMathNegate;\n    new(arg: CSSNumberish): CSSMathNegate;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathProduct) */\ninterface CSSMathProduct extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathProduct/values) */\n    readonly values: CSSNumericArray;\n}\n\ndeclare var CSSMathProduct: {\n    prototype: CSSMathProduct;\n    new(...args: CSSNumberish[]): CSSMathProduct;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathSum) */\ninterface CSSMathSum extends CSSMathValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathSum/values) */\n    readonly values: CSSNumericArray;\n}\n\ndeclare var CSSMathSum: {\n    prototype: CSSMathSum;\n    new(...args: CSSNumberish[]): CSSMathSum;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathValue) */\ninterface CSSMathValue extends CSSNumericValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMathValue/operator) */\n    readonly operator: CSSMathOperator;\n}\n\ndeclare var CSSMathValue: {\n    prototype: CSSMathValue;\n    new(): CSSMathValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMatrixComponent) */\ninterface CSSMatrixComponent extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSMatrixComponent/matrix) */\n    matrix: DOMMatrix;\n}\n\ndeclare var CSSMatrixComponent: {\n    prototype: CSSMatrixComponent;\n    new(matrix: DOMMatrixReadOnly, options?: CSSMatrixComponentOptions): CSSMatrixComponent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericArray) */\ninterface CSSNumericArray {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericArray/length) */\n    readonly length: number;\n    forEach(callbackfn: (value: CSSNumericValue, key: number, parent: CSSNumericArray) => void, thisArg?: any): void;\n    [index: number]: CSSNumericValue;\n}\n\ndeclare var CSSNumericArray: {\n    prototype: CSSNumericArray;\n    new(): CSSNumericArray;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue) */\ninterface CSSNumericValue extends CSSStyleValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/add) */\n    add(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/div) */\n    div(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/equals) */\n    equals(...value: CSSNumberish[]): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/max) */\n    max(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/min) */\n    min(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/mul) */\n    mul(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/sub) */\n    sub(...values: CSSNumberish[]): CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/to) */\n    to(unit: string): CSSUnitValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/toSum) */\n    toSum(...units: string[]): CSSMathSum;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSNumericValue/type) */\n    type(): CSSNumericType;\n}\n\ndeclare var CSSNumericValue: {\n    prototype: CSSNumericValue;\n    new(): CSSNumericValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPerspective) */\ninterface CSSPerspective extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPerspective/length) */\n    length: CSSPerspectiveValue;\n}\n\ndeclare var CSSPerspective: {\n    prototype: CSSPerspective;\n    new(length: CSSPerspectiveValue): CSSPerspective;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate) */\ninterface CSSRotate extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate/angle) */\n    angle: CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate/x) */\n    x: CSSNumberish;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate/y) */\n    y: CSSNumberish;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSRotate/z) */\n    z: CSSNumberish;\n}\n\ndeclare var CSSRotate: {\n    prototype: CSSRotate;\n    new(angle: CSSNumericValue): CSSRotate;\n    new(x: CSSNumberish, y: CSSNumberish, z: CSSNumberish, angle: CSSNumericValue): CSSRotate;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScale) */\ninterface CSSScale extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScale/x) */\n    x: CSSNumberish;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScale/y) */\n    y: CSSNumberish;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScale/z) */\n    z: CSSNumberish;\n}\n\ndeclare var CSSScale: {\n    prototype: CSSScale;\n    new(x: CSSNumberish, y: CSSNumberish, z?: CSSNumberish): CSSScale;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkew) */\ninterface CSSSkew extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkew/ax) */\n    ax: CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkew/ay) */\n    ay: CSSNumericValue;\n}\n\ndeclare var CSSSkew: {\n    prototype: CSSSkew;\n    new(ax: CSSNumericValue, ay: CSSNumericValue): CSSSkew;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkewX) */\ninterface CSSSkewX extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkewX/ax) */\n    ax: CSSNumericValue;\n}\n\ndeclare var CSSSkewX: {\n    prototype: CSSSkewX;\n    new(ax: CSSNumericValue): CSSSkewX;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkewY) */\ninterface CSSSkewY extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSSkewY/ay) */\n    ay: CSSNumericValue;\n}\n\ndeclare var CSSSkewY: {\n    prototype: CSSSkewY;\n    new(ay: CSSNumericValue): CSSSkewY;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleValue) */\ninterface CSSStyleValue {\n    toString(): string;\n}\n\ndeclare var CSSStyleValue: {\n    prototype: CSSStyleValue;\n    new(): CSSStyleValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformComponent) */\ninterface CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformComponent/is2D) */\n    is2D: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformComponent/toMatrix) */\n    toMatrix(): DOMMatrix;\n    toString(): string;\n}\n\ndeclare var CSSTransformComponent: {\n    prototype: CSSTransformComponent;\n    new(): CSSTransformComponent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformValue) */\ninterface CSSTransformValue extends CSSStyleValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformValue/is2D) */\n    readonly is2D: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformValue/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTransformValue/toMatrix) */\n    toMatrix(): DOMMatrix;\n    forEach(callbackfn: (value: CSSTransformComponent, key: number, parent: CSSTransformValue) => void, thisArg?: any): void;\n    [index: number]: CSSTransformComponent;\n}\n\ndeclare var CSSTransformValue: {\n    prototype: CSSTransformValue;\n    new(transforms: CSSTransformComponent[]): CSSTransformValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTranslate) */\ninterface CSSTranslate extends CSSTransformComponent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTranslate/x) */\n    x: CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTranslate/y) */\n    y: CSSNumericValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSTranslate/z) */\n    z: CSSNumericValue;\n}\n\ndeclare var CSSTranslate: {\n    prototype: CSSTranslate;\n    new(x: CSSNumericValue, y: CSSNumericValue, z?: CSSNumericValue): CSSTranslate;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnitValue) */\ninterface CSSUnitValue extends CSSNumericValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnitValue/unit) */\n    readonly unit: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnitValue/value) */\n    value: number;\n}\n\ndeclare var CSSUnitValue: {\n    prototype: CSSUnitValue;\n    new(value: number, unit: string): CSSUnitValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue) */\ninterface CSSUnparsedValue extends CSSStyleValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/length) */\n    readonly length: number;\n    forEach(callbackfn: (value: CSSUnparsedSegment, key: number, parent: CSSUnparsedValue) => void, thisArg?: any): void;\n    [index: number]: CSSUnparsedSegment;\n}\n\ndeclare var CSSUnparsedValue: {\n    prototype: CSSUnparsedValue;\n    new(members: CSSUnparsedSegment[]): CSSUnparsedValue;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSVariableReferenceValue) */\ninterface CSSVariableReferenceValue {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSVariableReferenceValue/fallback) */\n    readonly fallback: CSSUnparsedValue | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSVariableReferenceValue/variable) */\n    variable: string;\n}\n\ndeclare var CSSVariableReferenceValue: {\n    prototype: CSSVariableReferenceValue;\n    new(variable: string, fallback?: CSSUnparsedValue | null): CSSVariableReferenceValue;\n};\n\n/**\n * Provides a storage mechanism for Request / Response object pairs that are cached, for example as part of the ServiceWorker life cycle. Note that the Cache interface is exposed to windowed scopes as well as workers. You don't have to use it in conjunction with service workers, even though it is defined in the service worker spec.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache)\n */\ninterface Cache {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/add) */\n    add(request: RequestInfo | URL): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/addAll) */\n    addAll(requests: RequestInfo[]): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/delete) */\n    delete(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/keys) */\n    keys(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/match) */\n    match(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<Response | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/matchAll) */\n    matchAll(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/put) */\n    put(request: RequestInfo | URL, response: Response): Promise<void>;\n}\n\ndeclare var Cache: {\n    prototype: Cache;\n    new(): Cache;\n};\n\n/**\n * The storage for Cache objects.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage)\n */\ninterface CacheStorage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/delete) */\n    delete(cacheName: string): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/has) */\n    has(cacheName: string): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/keys) */\n    keys(): Promise<string[]>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/match) */\n    match(request: RequestInfo | URL, options?: MultiCacheQueryOptions): Promise<Response | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CacheStorage/open) */\n    open(cacheName: string): Promise<Cache>;\n}\n\ndeclare var CacheStorage: {\n    prototype: CacheStorage;\n    new(): CacheStorage;\n};\n\ninterface CanvasCompositing {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/globalAlpha) */\n    globalAlpha: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation) */\n    globalCompositeOperation: GlobalCompositeOperation;\n}\n\ninterface CanvasDrawImage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */\n    drawImage(image: CanvasImageSource, dx: number, dy: number): void;\n    drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;\n    drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;\n}\n\ninterface CanvasDrawPath {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/beginPath) */\n    beginPath(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/clip) */\n    clip(fillRule?: CanvasFillRule): void;\n    clip(path: Path2D, fillRule?: CanvasFillRule): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fill) */\n    fill(fillRule?: CanvasFillRule): void;\n    fill(path: Path2D, fillRule?: CanvasFillRule): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/isPointInPath) */\n    isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;\n    isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/isPointInStroke) */\n    isPointInStroke(x: number, y: number): boolean;\n    isPointInStroke(path: Path2D, x: number, y: number): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/stroke) */\n    stroke(): void;\n    stroke(path: Path2D): void;\n}\n\ninterface CanvasFillStrokeStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fillStyle) */\n    fillStyle: string | CanvasGradient | CanvasPattern;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/strokeStyle) */\n    strokeStyle: string | CanvasGradient | CanvasPattern;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createConicGradient) */\n    createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createLinearGradient) */\n    createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern) */\n    createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createRadialGradient) */\n    createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;\n}\n\ninterface CanvasFilters {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/filter) */\n    filter: string;\n}\n\n/**\n * An opaque object describing a gradient. It is returned by the methods CanvasRenderingContext2D.createLinearGradient() or CanvasRenderingContext2D.createRadialGradient().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasGradient)\n */\ninterface CanvasGradient {\n    /**\n     * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset at one end of the gradient, 1.0 is the offset at the other end.\n     *\n     * Throws an \"IndexSizeError\" DOMException if the offset is out of range. Throws a \"SyntaxError\" DOMException if the color cannot be parsed.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasGradient/addColorStop)\n     */\n    addColorStop(offset: number, color: string): void;\n}\n\ndeclare var CanvasGradient: {\n    prototype: CanvasGradient;\n    new(): CanvasGradient;\n};\n\ninterface CanvasImageData {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createImageData) */\n    createImageData(sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    createImageData(imagedata: ImageData): ImageData;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/getImageData) */\n    getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/putImageData) */\n    putImageData(imagedata: ImageData, dx: number, dy: number): void;\n    putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;\n}\n\ninterface CanvasImageSmoothing {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled) */\n    imageSmoothingEnabled: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality) */\n    imageSmoothingQuality: ImageSmoothingQuality;\n}\n\ninterface CanvasPath {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/arc) */\n    arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/arcTo) */\n    arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/bezierCurveTo) */\n    bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/closePath) */\n    closePath(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/ellipse) */\n    ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineTo) */\n    lineTo(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/moveTo) */\n    moveTo(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/quadraticCurveTo) */\n    quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/rect) */\n    rect(x: number, y: number, w: number, h: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/roundRect) */\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void;\n}\n\ninterface CanvasPathDrawingStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineCap) */\n    lineCap: CanvasLineCap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineDashOffset) */\n    lineDashOffset: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineJoin) */\n    lineJoin: CanvasLineJoin;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineWidth) */\n    lineWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/miterLimit) */\n    miterLimit: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/getLineDash) */\n    getLineDash(): number[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash) */\n    setLineDash(segments: number[]): void;\n}\n\n/**\n * An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasPattern)\n */\ninterface CanvasPattern {\n    /**\n     * Sets the transformation matrix that will be used when rendering the pattern during a fill or stroke painting operation.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasPattern/setTransform)\n     */\n    setTransform(transform?: DOMMatrix2DInit): void;\n}\n\ndeclare var CanvasPattern: {\n    prototype: CanvasPattern;\n    new(): CanvasPattern;\n};\n\ninterface CanvasRect {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/clearRect) */\n    clearRect(x: number, y: number, w: number, h: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fillRect) */\n    fillRect(x: number, y: number, w: number, h: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/strokeRect) */\n    strokeRect(x: number, y: number, w: number, h: number): void;\n}\n\ninterface CanvasShadowStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/shadowBlur) */\n    shadowBlur: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/shadowColor) */\n    shadowColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/shadowOffsetX) */\n    shadowOffsetX: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/shadowOffsetY) */\n    shadowOffsetY: number;\n}\n\ninterface CanvasState {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/reset) */\n    reset(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/restore) */\n    restore(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/save) */\n    save(): void;\n}\n\ninterface CanvasText {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fillText) */\n    fillText(text: string, x: number, y: number, maxWidth?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/measureText) */\n    measureText(text: string): TextMetrics;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/strokeText) */\n    strokeText(text: string, x: number, y: number, maxWidth?: number): void;\n}\n\ninterface CanvasTextDrawingStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/direction) */\n    direction: CanvasDirection;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/font) */\n    font: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fontKerning) */\n    fontKerning: CanvasFontKerning;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fontStretch) */\n    fontStretch: CanvasFontStretch;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/fontVariantCaps) */\n    fontVariantCaps: CanvasFontVariantCaps;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/letterSpacing) */\n    letterSpacing: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/textAlign) */\n    textAlign: CanvasTextAlign;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/textBaseline) */\n    textBaseline: CanvasTextBaseline;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/textRendering) */\n    textRendering: CanvasTextRendering;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/wordSpacing) */\n    wordSpacing: string;\n}\n\ninterface CanvasTransform {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/getTransform) */\n    getTransform(): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/resetTransform) */\n    resetTransform(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/rotate) */\n    rotate(angle: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/scale) */\n    scale(x: number, y: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setTransform) */\n    setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    setTransform(transform?: DOMMatrix2DInit): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/transform) */\n    transform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/translate) */\n    translate(x: number, y: number): void;\n}\n\n/**\n * The Client\\xA0interface represents an executable context such as a Worker, or a SharedWorker. Window clients are represented by the more-specific\\xA0WindowClient. You can get\\xA0Client/WindowClient\\xA0objects from methods such as Clients.matchAll() and\\xA0Clients.get().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Client)\n */\ninterface Client {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Client/frameType) */\n    readonly frameType: FrameType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Client/id) */\n    readonly id: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Client/type) */\n    readonly type: ClientTypes;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Client/url) */\n    readonly url: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Client/postMessage) */\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n}\n\ndeclare var Client: {\n    prototype: Client;\n    new(): Client;\n};\n\n/**\n * Provides access to\\xA0Client\\xA0objects. Access it\\xA0via self.clients\\xA0within a\\xA0service worker.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clients)\n */\ninterface Clients {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clients/claim) */\n    claim(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clients/get) */\n    get(id: string): Promise<Client | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clients/matchAll) */\n    matchAll<T extends ClientQueryOptions>(options?: T): Promise<ReadonlyArray<T[\"type\"] extends \"window\" ? WindowClient : Client>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Clients/openWindow) */\n    openWindow(url: string | URL): Promise<WindowClient | null>;\n}\n\ndeclare var Clients: {\n    prototype: Clients;\n    new(): Clients;\n};\n\n/**\n * A CloseEvent is sent to clients using WebSockets when the connection is closed. This is delivered to the listener indicated by the WebSocket object's onclose attribute.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CloseEvent)\n */\ninterface CloseEvent extends Event {\n    /**\n     * Returns the WebSocket connection close code provided by the server.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CloseEvent/code)\n     */\n    readonly code: number;\n    /**\n     * Returns the WebSocket connection close reason provided by the server.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CloseEvent/reason)\n     */\n    readonly reason: string;\n    /**\n     * Returns true if the connection closed cleanly; false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CloseEvent/wasClean)\n     */\n    readonly wasClean: boolean;\n}\n\ndeclare var CloseEvent: {\n    prototype: CloseEvent;\n    new(type: string, eventInitDict?: CloseEventInit): CloseEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream) */\ninterface CompressionStream extends GenericTransformStream {\n}\n\ndeclare var CompressionStream: {\n    prototype: CompressionStream;\n    new(format: CompressionFormat): CompressionStream;\n};\n\n/**\n * This Streams API interface provides\\xA0a built-in byte length queuing strategy that can be used when constructing streams.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CountQueuingStrategy)\n */\ninterface CountQueuingStrategy extends QueuingStrategy {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CountQueuingStrategy/highWaterMark) */\n    readonly highWaterMark: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CountQueuingStrategy/size) */\n    readonly size: QueuingStrategySize;\n}\n\ndeclare var CountQueuingStrategy: {\n    prototype: CountQueuingStrategy;\n    new(init: QueuingStrategyInit): CountQueuingStrategy;\n};\n\n/**\n * Basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto)\n */\ninterface Crypto {\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/subtle)\n     */\n    readonly subtle: SubtleCrypto;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/getRandomValues) */\n    getRandomValues<T extends ArrayBufferView | null>(array: T): T;\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/randomUUID)\n     */\n    randomUUID(): \\`\\${string}-\\${string}-\\${string}-\\${string}-\\${string}\\`;\n}\n\ndeclare var Crypto: {\n    prototype: Crypto;\n    new(): Crypto;\n};\n\n/**\n * The CryptoKey dictionary of the Web Crypto API represents a cryptographic key.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey)\n */\ninterface CryptoKey {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/algorithm) */\n    readonly algorithm: KeyAlgorithm;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/extractable) */\n    readonly extractable: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/type) */\n    readonly type: KeyType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/usages) */\n    readonly usages: KeyUsage[];\n}\n\ndeclare var CryptoKey: {\n    prototype: CryptoKey;\n    new(): CryptoKey;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent) */\ninterface CustomEvent<T = any> extends Event {\n    /**\n     * Returns any custom data event was created with. Typically used for synthetic events.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent/detail)\n     */\n    readonly detail: T;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CustomEvent/initCustomEvent)\n     */\n    initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: T): void;\n}\n\ndeclare var CustomEvent: {\n    prototype: CustomEvent;\n    new<T>(type: string, eventInitDict?: CustomEventInit<T>): CustomEvent<T>;\n};\n\n/**\n * An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException)\n */\ninterface DOMException extends Error {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/code)\n     */\n    readonly code: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/message) */\n    readonly message: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMException/name) */\n    readonly name: string;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n}\n\ndeclare var DOMException: {\n    prototype: DOMException;\n    new(message?: string, name?: string): DOMException;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix) */\ninterface DOMMatrix extends DOMMatrixReadOnly {\n    a: number;\n    b: number;\n    c: number;\n    d: number;\n    e: number;\n    f: number;\n    m11: number;\n    m12: number;\n    m13: number;\n    m14: number;\n    m21: number;\n    m22: number;\n    m23: number;\n    m24: number;\n    m31: number;\n    m32: number;\n    m33: number;\n    m34: number;\n    m41: number;\n    m42: number;\n    m43: number;\n    m44: number;\n    invertSelf(): DOMMatrix;\n    multiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    preMultiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    rotateFromVectorSelf(x?: number, y?: number): DOMMatrix;\n    rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/scale3dSelf) */\n    scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/scaleSelf) */\n    scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    skewXSelf(sx?: number): DOMMatrix;\n    skewYSelf(sy?: number): DOMMatrix;\n    translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\n\ndeclare var DOMMatrix: {\n    prototype: DOMMatrix;\n    new(init?: string | number[]): DOMMatrix;\n    fromFloat32Array(array32: Float32Array): DOMMatrix;\n    fromFloat64Array(array64: Float64Array): DOMMatrix;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrix;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly) */\ninterface DOMMatrixReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/a) */\n    readonly a: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/b) */\n    readonly b: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/c) */\n    readonly c: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/d) */\n    readonly d: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/e) */\n    readonly e: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/f) */\n    readonly f: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/is2D) */\n    readonly is2D: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/isIdentity) */\n    readonly isIdentity: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m11) */\n    readonly m11: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m12) */\n    readonly m12: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m13) */\n    readonly m13: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m14) */\n    readonly m14: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m21) */\n    readonly m21: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m22) */\n    readonly m22: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m23) */\n    readonly m23: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m24) */\n    readonly m24: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m31) */\n    readonly m31: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m32) */\n    readonly m32: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m33) */\n    readonly m33: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m34) */\n    readonly m34: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m41) */\n    readonly m41: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m42) */\n    readonly m42: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m43) */\n    readonly m43: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m44) */\n    readonly m44: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipX) */\n    flipX(): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipY) */\n    flipY(): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/inverse) */\n    inverse(): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/multiply) */\n    multiply(other?: DOMMatrixInit): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotate) */\n    rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotateAxisAngle) */\n    rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotateFromVector) */\n    rotateFromVector(x?: number, y?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale) */\n    scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale3d) */\n    scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scaleNonUniform)\n     */\n    scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/skewX) */\n    skewX(sx?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/skewY) */\n    skewY(sy?: number): DOMMatrix;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat32Array) */\n    toFloat32Array(): Float32Array;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat64Array) */\n    toFloat64Array(): Float64Array;\n    toJSON(): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/transformPoint) */\n    transformPoint(point?: DOMPointInit): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/translate) */\n    translate(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\n\ndeclare var DOMMatrixReadOnly: {\n    prototype: DOMMatrixReadOnly;\n    new(init?: string | number[]): DOMMatrixReadOnly;\n    fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly;\n    fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint) */\ninterface DOMPoint extends DOMPointReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/w) */\n    w: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/x) */\n    x: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/y) */\n    y: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/z) */\n    z: number;\n}\n\ndeclare var DOMPoint: {\n    prototype: DOMPoint;\n    new(x?: number, y?: number, z?: number, w?: number): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPoint/fromPoint_static) */\n    fromPoint(other?: DOMPointInit): DOMPoint;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly) */\ninterface DOMPointReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/w) */\n    readonly w: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/x) */\n    readonly x: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/y) */\n    readonly y: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/z) */\n    readonly z: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/matrixTransform) */\n    matrixTransform(matrix?: DOMMatrixInit): DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var DOMPointReadOnly: {\n    prototype: DOMPointReadOnly;\n    new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/fromPoint_static) */\n    fromPoint(other?: DOMPointInit): DOMPointReadOnly;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad) */\ninterface DOMQuad {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p1) */\n    readonly p1: DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p2) */\n    readonly p2: DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p3) */\n    readonly p3: DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p4) */\n    readonly p4: DOMPoint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/getBounds) */\n    getBounds(): DOMRect;\n    toJSON(): any;\n}\n\ndeclare var DOMQuad: {\n    prototype: DOMQuad;\n    new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad;\n    fromQuad(other?: DOMQuadInit): DOMQuad;\n    fromRect(other?: DOMRectInit): DOMQuad;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect) */\ninterface DOMRect extends DOMRectReadOnly {\n    height: number;\n    width: number;\n    x: number;\n    y: number;\n}\n\ndeclare var DOMRect: {\n    prototype: DOMRect;\n    new(x?: number, y?: number, width?: number, height?: number): DOMRect;\n    fromRect(other?: DOMRectInit): DOMRect;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly) */\ninterface DOMRectReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/bottom) */\n    readonly bottom: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/height) */\n    readonly height: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/left) */\n    readonly left: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/right) */\n    readonly right: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/top) */\n    readonly top: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/width) */\n    readonly width: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/x) */\n    readonly x: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/y) */\n    readonly y: number;\n    toJSON(): any;\n}\n\ndeclare var DOMRectReadOnly: {\n    prototype: DOMRectReadOnly;\n    new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/fromRect_static) */\n    fromRect(other?: DOMRectInit): DOMRectReadOnly;\n};\n\n/**\n * A type returned by some APIs which contains a list of DOMString (strings).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList)\n */\ninterface DOMStringList {\n    /**\n     * Returns the number of strings in strings.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/length)\n     */\n    readonly length: number;\n    /**\n     * Returns true if strings contains string, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/contains)\n     */\n    contains(string: string): boolean;\n    /**\n     * Returns the string with index index from strings.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringList/item)\n     */\n    item(index: number): string | null;\n    [index: number]: string;\n}\n\ndeclare var DOMStringList: {\n    prototype: DOMStringList;\n    new(): DOMStringList;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DecompressionStream) */\ninterface DecompressionStream extends GenericTransformStream {\n}\n\ndeclare var DecompressionStream: {\n    prototype: DecompressionStream;\n    new(format: CompressionFormat): DecompressionStream;\n};\n\ninterface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n    \"rtctransform\": Event;\n}\n\n/**\n * (the Worker global scope) is accessible through the self keyword. Some additional global functions, namespaces objects, and constructors, not typically associated with the worker global scope, but available on it, are listed in the JavaScript Reference. See also: Functions available to workers.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope)\n */\ninterface DedicatedWorkerGlobalScope extends WorkerGlobalScope, AnimationFrameProvider {\n    /**\n     * Returns dedicatedWorkerGlobal's name, i.e. the value given to the Worker constructor. Primarily useful for debugging.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/name)\n     */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */\n    onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */\n    onmessageerror: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/rtctransform_event) */\n    onrtctransform: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null;\n    /**\n     * Aborts dedicatedWorkerGlobal.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/close)\n     */\n    close(): void;\n    /**\n     * Clones message and transmits it to the Worker object associated with dedicatedWorkerGlobal. transfer can be passed as a list of objects that are to be transferred rather than cloned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/postMessage)\n     */\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var DedicatedWorkerGlobalScope: {\n    prototype: DedicatedWorkerGlobalScope;\n    new(): DedicatedWorkerGlobalScope;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_blend_minmax) */\ninterface EXT_blend_minmax {\n    readonly MIN_EXT: 0x8007;\n    readonly MAX_EXT: 0x8008;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_color_buffer_float) */\ninterface EXT_color_buffer_float {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_color_buffer_half_float) */\ninterface EXT_color_buffer_half_float {\n    readonly RGBA16F_EXT: 0x881A;\n    readonly RGB16F_EXT: 0x881B;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 0x8211;\n    readonly UNSIGNED_NORMALIZED_EXT: 0x8C17;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_float_blend) */\ninterface EXT_float_blend {\n}\n\n/**\n * The EXT_frag_depth extension is part of the WebGL API and enables to set a depth value of a fragment from within the fragment shader.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_frag_depth)\n */\ninterface EXT_frag_depth {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_sRGB) */\ninterface EXT_sRGB {\n    readonly SRGB_EXT: 0x8C40;\n    readonly SRGB_ALPHA_EXT: 0x8C42;\n    readonly SRGB8_ALPHA8_EXT: 0x8C43;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: 0x8210;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_shader_texture_lod) */\ninterface EXT_shader_texture_lod {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_compression_bptc) */\ninterface EXT_texture_compression_bptc {\n    readonly COMPRESSED_RGBA_BPTC_UNORM_EXT: 0x8E8C;\n    readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: 0x8E8D;\n    readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: 0x8E8E;\n    readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: 0x8E8F;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_compression_rgtc) */\ninterface EXT_texture_compression_rgtc {\n    readonly COMPRESSED_RED_RGTC1_EXT: 0x8DBB;\n    readonly COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8DBC;\n    readonly COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8DBD;\n    readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8DBE;\n}\n\n/**\n * The EXT_texture_filter_anisotropic extension is part of the WebGL API and exposes two constants for anisotropic filtering (AF).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_filter_anisotropic)\n */\ninterface EXT_texture_filter_anisotropic {\n    readonly TEXTURE_MAX_ANISOTROPY_EXT: 0x84FE;\n    readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: 0x84FF;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EXT_texture_norm16) */\ninterface EXT_texture_norm16 {\n    readonly R16_EXT: 0x822A;\n    readonly RG16_EXT: 0x822C;\n    readonly RGB16_EXT: 0x8054;\n    readonly RGBA16_EXT: 0x805B;\n    readonly R16_SNORM_EXT: 0x8F98;\n    readonly RG16_SNORM_EXT: 0x8F99;\n    readonly RGB16_SNORM_EXT: 0x8F9A;\n    readonly RGBA16_SNORM_EXT: 0x8F9B;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk) */\ninterface EncodedVideoChunk {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/byteLength) */\n    readonly byteLength: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/duration) */\n    readonly duration: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/timestamp) */\n    readonly timestamp: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/type) */\n    readonly type: EncodedVideoChunkType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EncodedVideoChunk/copyTo) */\n    copyTo(destination: AllowSharedBufferSource): void;\n}\n\ndeclare var EncodedVideoChunk: {\n    prototype: EncodedVideoChunk;\n    new(init: EncodedVideoChunkInit): EncodedVideoChunk;\n};\n\n/**\n * Events providing information related to errors in scripts or in files.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent)\n */\ninterface ErrorEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/colno) */\n    readonly colno: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/error) */\n    readonly error: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/filename) */\n    readonly filename: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/lineno) */\n    readonly lineno: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/message) */\n    readonly message: string;\n}\n\ndeclare var ErrorEvent: {\n    prototype: ErrorEvent;\n    new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent;\n};\n\n/**\n * An event which takes place in the DOM.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event)\n */\ninterface Event {\n    /**\n     * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/bubbles)\n     */\n    readonly bubbles: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/cancelBubble)\n     */\n    cancelBubble: boolean;\n    /**\n     * Returns true or false depending on how event was initialized. Its return value does not always carry meaning, but true can indicate that part of the operation during which event was dispatched, can be canceled by invoking the preventDefault() method.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/cancelable)\n     */\n    readonly cancelable: boolean;\n    /**\n     * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/composed)\n     */\n    readonly composed: boolean;\n    /**\n     * Returns the object whose event listener's callback is currently being invoked.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/currentTarget)\n     */\n    readonly currentTarget: EventTarget | null;\n    /**\n     * Returns true if preventDefault() was invoked successfully to indicate cancelation, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/defaultPrevented)\n     */\n    readonly defaultPrevented: boolean;\n    /**\n     * Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET, and BUBBLING_PHASE.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/eventPhase)\n     */\n    readonly eventPhase: number;\n    /**\n     * Returns true if event was dispatched by the user agent, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/isTrusted)\n     */\n    readonly isTrusted: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/returnValue)\n     */\n    returnValue: boolean;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/srcElement)\n     */\n    readonly srcElement: EventTarget | null;\n    /**\n     * Returns the object to which event is dispatched (its target).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/target)\n     */\n    readonly target: EventTarget | null;\n    /**\n     * Returns the event's timestamp as the number of milliseconds measured relative to the time origin.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/timeStamp)\n     */\n    readonly timeStamp: DOMHighResTimeStamp;\n    /**\n     * Returns the type of event, e.g. \"click\", \"hashchange\", or \"submit\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/type)\n     */\n    readonly type: string;\n    /**\n     * Returns the invocation target objects of event's path (objects on which listeners will be invoked), except for any nodes in shadow trees of which the shadow root's mode is \"closed\" that are not reachable from event's currentTarget.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/composedPath)\n     */\n    composedPath(): EventTarget[];\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/initEvent)\n     */\n    initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;\n    /**\n     * If invoked when the cancelable attribute value is true, and while executing a listener for the event with passive set to false, signals to the operation that caused event to be dispatched that it needs to be canceled.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/preventDefault)\n     */\n    preventDefault(): void;\n    /**\n     * Invoking this method prevents event from reaching any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any other objects.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/stopImmediatePropagation)\n     */\n    stopImmediatePropagation(): void;\n    /**\n     * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/stopPropagation)\n     */\n    stopPropagation(): void;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n}\n\ndeclare var Event: {\n    prototype: Event;\n    new(type: string, eventInitDict?: EventInit): Event;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n};\n\ninterface EventListener {\n    (evt: Event): void;\n}\n\ninterface EventListenerObject {\n    handleEvent(object: Event): void;\n}\n\ninterface EventSourceEventMap {\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource) */\ninterface EventSource extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/error_event) */\n    onerror: ((this: EventSource, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/message_event) */\n    onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/open_event) */\n    onopen: ((this: EventSource, ev: Event) => any) | null;\n    /**\n     * Returns the state of this EventSource object's connection. It can have the values described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/readyState)\n     */\n    readonly readyState: number;\n    /**\n     * Returns the URL providing the event stream.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/url)\n     */\n    readonly url: string;\n    /**\n     * Returns true if the credentials mode for connection requests to the URL providing the event stream is set to \"include\", and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/withCredentials)\n     */\n    readonly withCredentials: boolean;\n    /**\n     * Aborts any instances of the fetch algorithm started for this EventSource object, and sets the readyState attribute to CLOSED.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventSource/close)\n     */\n    close(): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n    addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var EventSource: {\n    prototype: EventSource;\n    new(url: string | URL, eventSourceInitDict?: EventSourceInit): EventSource;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n};\n\n/**\n * EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget)\n */\ninterface EventTarget {\n    /**\n     * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.\n     *\n     * The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.\n     *\n     * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.\n     *\n     * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in \\xA7 2.8 Observing event listeners.\n     *\n     * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.\n     *\n     * If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.\n     *\n     * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)\n     */\n    addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;\n    /**\n     * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)\n     */\n    dispatchEvent(event: Event): boolean;\n    /**\n     * Removes the event listener in target's event listener list with the same type, callback, and options.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)\n     */\n    removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;\n}\n\ndeclare var EventTarget: {\n    prototype: EventTarget;\n    new(): EventTarget;\n};\n\n/**\n * Extends the lifetime of the install and activate events dispatched on the global scope as part of the service worker lifecycle. This ensures that any functional events (like FetchEvent) are not dispatched until it upgrades database schemas and deletes the outdated cache entries.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableEvent)\n */\ninterface ExtendableEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableEvent/waitUntil) */\n    waitUntil(f: Promise<any>): void;\n}\n\ndeclare var ExtendableEvent: {\n    prototype: ExtendableEvent;\n    new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent;\n};\n\n/**\n * This ServiceWorker API interface represents the event object of a message event fired on a service worker (when a channel message is received on the ServiceWorkerGlobalScope from another context) \\u2014 extends the lifetime of such events.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent)\n */\ninterface ExtendableMessageEvent extends ExtendableEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/data) */\n    readonly data: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/lastEventId) */\n    readonly lastEventId: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/origin) */\n    readonly origin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/ports) */\n    readonly ports: ReadonlyArray<MessagePort>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ExtendableMessageEvent/source) */\n    readonly source: Client | ServiceWorker | MessagePort | null;\n}\n\ndeclare var ExtendableMessageEvent: {\n    prototype: ExtendableMessageEvent;\n    new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent;\n};\n\n/**\n * This is the event type for fetch\\xA0events dispatched on the\\xA0service worker global scope. It contains information about the fetch, including the\\xA0request and how the receiver will treat the response. It provides the event.respondWith() method, which allows us to provide a response to this fetch.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent)\n */\ninterface FetchEvent extends ExtendableEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/clientId) */\n    readonly clientId: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/handled) */\n    readonly handled: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/preloadResponse) */\n    readonly preloadResponse: Promise<any>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/request) */\n    readonly request: Request;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/resultingClientId) */\n    readonly resultingClientId: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/respondWith) */\n    respondWith(r: Response | PromiseLike<Response>): void;\n}\n\ndeclare var FetchEvent: {\n    prototype: FetchEvent;\n    new(type: string, eventInitDict: FetchEventInit): FetchEvent;\n};\n\n/**\n * Provides information about files and allows JavaScript in a web page to access their content.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/File)\n */\ninterface File extends Blob {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/lastModified) */\n    readonly lastModified: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/webkitRelativePath) */\n    readonly webkitRelativePath: string;\n}\n\ndeclare var File: {\n    prototype: File;\n    new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;\n};\n\n/**\n * An object of this type is returned by the files property of the HTML <input> element; this lets you access the list of files selected with the <input type=\"file\"> element. It's also used for a list of files dropped into web content when using the drag and drop API; see the DataTransfer object for details on this usage.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList)\n */\ninterface FileList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileList/item) */\n    item(index: number): File | null;\n    [index: number]: File;\n}\n\ndeclare var FileList: {\n    prototype: FileList;\n    new(): FileList;\n};\n\ninterface FileReaderEventMap {\n    \"abort\": ProgressEvent<FileReader>;\n    \"error\": ProgressEvent<FileReader>;\n    \"load\": ProgressEvent<FileReader>;\n    \"loadend\": ProgressEvent<FileReader>;\n    \"loadstart\": ProgressEvent<FileReader>;\n    \"progress\": ProgressEvent<FileReader>;\n}\n\n/**\n * Lets web applications asynchronously read the contents of files (or raw data buffers) stored on the user's computer, using File or Blob objects to specify the file or data to read.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader)\n */\ninterface FileReader extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/error) */\n    readonly error: DOMException | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/abort_event) */\n    onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/error_event) */\n    onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/load_event) */\n    onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/loadend_event) */\n    onloadend: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/loadstart_event) */\n    onloadstart: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/progress_event) */\n    onprogress: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readyState) */\n    readonly readyState: typeof FileReader.EMPTY | typeof FileReader.LOADING | typeof FileReader.DONE;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/result) */\n    readonly result: string | ArrayBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/abort) */\n    abort(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsArrayBuffer) */\n    readAsArrayBuffer(blob: Blob): void;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsBinaryString)\n     */\n    readAsBinaryString(blob: Blob): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsDataURL) */\n    readAsDataURL(blob: Blob): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReader/readAsText) */\n    readAsText(blob: Blob, encoding?: string): void;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n    addEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FileReader: {\n    prototype: FileReader;\n    new(): FileReader;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n};\n\n/**\n * Allows to read File or Blob objects in a synchronous way.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync)\n */\ninterface FileReaderSync {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync/readAsArrayBuffer) */\n    readAsArrayBuffer(blob: Blob): ArrayBuffer;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync/readAsBinaryString)\n     */\n    readAsBinaryString(blob: Blob): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync/readAsDataURL) */\n    readAsDataURL(blob: Blob): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileReaderSync/readAsText) */\n    readAsText(blob: Blob, encoding?: string): string;\n}\n\ndeclare var FileReaderSync: {\n    prototype: FileReaderSync;\n    new(): FileReaderSync;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle)\n */\ninterface FileSystemDirectoryHandle extends FileSystemHandle {\n    readonly kind: \"directory\";\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/getDirectoryHandle) */\n    getDirectoryHandle(name: string, options?: FileSystemGetDirectoryOptions): Promise<FileSystemDirectoryHandle>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/getFileHandle) */\n    getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise<FileSystemFileHandle>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/removeEntry) */\n    removeEntry(name: string, options?: FileSystemRemoveOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemDirectoryHandle/resolve) */\n    resolve(possibleDescendant: FileSystemHandle): Promise<string[] | null>;\n}\n\ndeclare var FileSystemDirectoryHandle: {\n    prototype: FileSystemDirectoryHandle;\n    new(): FileSystemDirectoryHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle)\n */\ninterface FileSystemFileHandle extends FileSystemHandle {\n    readonly kind: \"file\";\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle/createSyncAccessHandle) */\n    createSyncAccessHandle(): Promise<FileSystemSyncAccessHandle>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle/createWritable) */\n    createWritable(options?: FileSystemCreateWritableOptions): Promise<FileSystemWritableFileStream>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemFileHandle/getFile) */\n    getFile(): Promise<File>;\n}\n\ndeclare var FileSystemFileHandle: {\n    prototype: FileSystemFileHandle;\n    new(): FileSystemFileHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle)\n */\ninterface FileSystemHandle {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/kind) */\n    readonly kind: FileSystemHandleKind;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/isSameEntry) */\n    isSameEntry(other: FileSystemHandle): Promise<boolean>;\n}\n\ndeclare var FileSystemHandle: {\n    prototype: FileSystemHandle;\n    new(): FileSystemHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle)\n */\ninterface FileSystemSyncAccessHandle {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/flush) */\n    flush(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/getSize) */\n    getSize(): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/read) */\n    read(buffer: AllowSharedBufferSource, options?: FileSystemReadWriteOptions): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/truncate) */\n    truncate(newSize: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemSyncAccessHandle/write) */\n    write(buffer: AllowSharedBufferSource, options?: FileSystemReadWriteOptions): number;\n}\n\ndeclare var FileSystemSyncAccessHandle: {\n    prototype: FileSystemSyncAccessHandle;\n    new(): FileSystemSyncAccessHandle;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream)\n */\ninterface FileSystemWritableFileStream extends WritableStream {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/seek) */\n    seek(position: number): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/truncate) */\n    truncate(size: number): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FileSystemWritableFileStream/write) */\n    write(data: FileSystemWriteChunkType): Promise<void>;\n}\n\ndeclare var FileSystemWritableFileStream: {\n    prototype: FileSystemWritableFileStream;\n    new(): FileSystemWritableFileStream;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace) */\ninterface FontFace {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/ascentOverride) */\n    ascentOverride: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/descentOverride) */\n    descentOverride: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/display) */\n    display: FontDisplay;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/family) */\n    family: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/featureSettings) */\n    featureSettings: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/lineGapOverride) */\n    lineGapOverride: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/loaded) */\n    readonly loaded: Promise<FontFace>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/status) */\n    readonly status: FontFaceLoadStatus;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/stretch) */\n    stretch: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/style) */\n    style: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/unicodeRange) */\n    unicodeRange: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/weight) */\n    weight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFace/load) */\n    load(): Promise<FontFace>;\n}\n\ndeclare var FontFace: {\n    prototype: FontFace;\n    new(family: string, source: string | BinaryData, descriptors?: FontFaceDescriptors): FontFace;\n};\n\ninterface FontFaceSetEventMap {\n    \"loading\": Event;\n    \"loadingdone\": Event;\n    \"loadingerror\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet) */\ninterface FontFaceSet extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loading_event) */\n    onloading: ((this: FontFaceSet, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loadingdone_event) */\n    onloadingdone: ((this: FontFaceSet, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/loadingerror_event) */\n    onloadingerror: ((this: FontFaceSet, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/ready) */\n    readonly ready: Promise<FontFaceSet>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/status) */\n    readonly status: FontFaceSetLoadStatus;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/check) */\n    check(font: string, text?: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSet/load) */\n    load(font: string, text?: string): Promise<FontFace[]>;\n    forEach(callbackfn: (value: FontFace, key: FontFace, parent: FontFaceSet) => void, thisArg?: any): void;\n    addEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FontFaceSet: {\n    prototype: FontFaceSet;\n    new(initialFaces: FontFace[]): FontFaceSet;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSetLoadEvent) */\ninterface FontFaceSetLoadEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FontFaceSetLoadEvent/fontfaces) */\n    readonly fontfaces: ReadonlyArray<FontFace>;\n}\n\ndeclare var FontFaceSetLoadEvent: {\n    prototype: FontFaceSetLoadEvent;\n    new(type: string, eventInitDict?: FontFaceSetLoadEventInit): FontFaceSetLoadEvent;\n};\n\ninterface FontFaceSource {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fonts) */\n    readonly fonts: FontFaceSet;\n}\n\n/**\n * Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to \"multipart/form-data\".\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData)\n */\ninterface FormData {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/append) */\n    append(name: string, value: string | Blob): void;\n    append(name: string, value: string): void;\n    append(name: string, blobValue: Blob, filename?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/delete) */\n    delete(name: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/get) */\n    get(name: string): FormDataEntryValue | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/getAll) */\n    getAll(name: string): FormDataEntryValue[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/has) */\n    has(name: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FormData/set) */\n    set(name: string, value: string | Blob): void;\n    set(name: string, value: string): void;\n    set(name: string, blobValue: Blob, filename?: string): void;\n    forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;\n}\n\ndeclare var FormData: {\n    prototype: FormData;\n    new(): FormData;\n};\n\ninterface GenericTransformStream {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/readable) */\n    readonly readable: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CompressionStream/writable) */\n    readonly writable: WritableStream;\n}\n\n/**\n * This Fetch API interface allows you to perform various actions on HTTP request and response headers. These actions include retrieving, setting, adding to, and removing. A Headers object has an associated header list, which is initially empty and consists\\xA0of zero or more name and value pairs. \\xA0You can add to this using methods like append() (see Examples.)\\xA0In all methods of this interface, header names are matched by case-insensitive byte sequence.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers)\n */\ninterface Headers {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/append) */\n    append(name: string, value: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/delete) */\n    delete(name: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/get) */\n    get(name: string): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/getSetCookie) */\n    getSetCookie(): string[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/has) */\n    has(name: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/set) */\n    set(name: string, value: string): void;\n    forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;\n}\n\ndeclare var Headers: {\n    prototype: Headers;\n    new(init?: HeadersInit): Headers;\n};\n\n/**\n * This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor)\n */\ninterface IDBCursor {\n    /**\n     * Returns the direction (\"next\", \"nextunique\", \"prev\" or \"prevunique\") of the cursor.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/direction)\n     */\n    readonly direction: IDBCursorDirection;\n    /**\n     * Returns the key of the cursor. Throws a \"InvalidStateError\" DOMException if the cursor is advancing or is finished.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/key)\n     */\n    readonly key: IDBValidKey;\n    /**\n     * Returns the effective key of the cursor. Throws a \"InvalidStateError\" DOMException if the cursor is advancing or is finished.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/primaryKey)\n     */\n    readonly primaryKey: IDBValidKey;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/request) */\n    readonly request: IDBRequest;\n    /**\n     * Returns the IDBObjectStore or IDBIndex the cursor was opened from.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/source)\n     */\n    readonly source: IDBObjectStore | IDBIndex;\n    /**\n     * Advances the cursor through the next count records in range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/advance)\n     */\n    advance(count: number): void;\n    /**\n     * Advances the cursor to the next record in range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/continue)\n     */\n    continue(key?: IDBValidKey): void;\n    /**\n     * Advances the cursor to the next record in range matching or after key and primaryKey. Throws an \"InvalidAccessError\" DOMException if the source is not an index.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/continuePrimaryKey)\n     */\n    continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void;\n    /**\n     * Delete the record pointed at by the cursor with a new value.\n     *\n     * If successful, request's result will be undefined.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/delete)\n     */\n    delete(): IDBRequest<undefined>;\n    /**\n     * Updated the record pointed at by the cursor with a new value.\n     *\n     * Throws a \"DataError\" DOMException if the effective object store uses in-line keys and the key would have changed.\n     *\n     * If successful, request's result will be the record's key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursor/update)\n     */\n    update(value: any): IDBRequest<IDBValidKey>;\n}\n\ndeclare var IDBCursor: {\n    prototype: IDBCursor;\n    new(): IDBCursor;\n};\n\n/**\n * This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database. It is the same as the IDBCursor, except that it includes the value property.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursorWithValue)\n */\ninterface IDBCursorWithValue extends IDBCursor {\n    /**\n     * Returns the cursor's current value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBCursorWithValue/value)\n     */\n    readonly value: any;\n}\n\ndeclare var IDBCursorWithValue: {\n    prototype: IDBCursorWithValue;\n    new(): IDBCursorWithValue;\n};\n\ninterface IDBDatabaseEventMap {\n    \"abort\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"versionchange\": IDBVersionChangeEvent;\n}\n\n/**\n * This IndexedDB API interface provides a connection to a database; you can use an IDBDatabase object to open a transaction on your database then create, manipulate, and delete objects (data) in that database. The interface provides the only way to get and manage versions of the database.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase)\n */\ninterface IDBDatabase extends EventTarget {\n    /**\n     * Returns the name of the database.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/name)\n     */\n    readonly name: string;\n    /**\n     * Returns a list of the names of object stores in the database.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/objectStoreNames)\n     */\n    readonly objectStoreNames: DOMStringList;\n    onabort: ((this: IDBDatabase, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/close_event) */\n    onclose: ((this: IDBDatabase, ev: Event) => any) | null;\n    onerror: ((this: IDBDatabase, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/versionchange_event) */\n    onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null;\n    /**\n     * Returns the version of the database.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/version)\n     */\n    readonly version: number;\n    /**\n     * Closes the connection once all running transactions have finished.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/close)\n     */\n    close(): void;\n    /**\n     * Creates a new object store with the given name and options and returns a new IDBObjectStore.\n     *\n     * Throws a \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/createObjectStore)\n     */\n    createObjectStore(name: string, options?: IDBObjectStoreParameters): IDBObjectStore;\n    /**\n     * Deletes the object store with the given name.\n     *\n     * Throws a \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/deleteObjectStore)\n     */\n    deleteObjectStore(name: string): void;\n    /**\n     * Returns a new transaction with the given mode (\"readonly\" or \"readwrite\") and scope which can be a single object store name or an array of names.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/transaction)\n     */\n    transaction(storeNames: string | string[], mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n    addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBDatabase: {\n    prototype: IDBDatabase;\n    new(): IDBDatabase;\n};\n\n/**\n * In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. For a full working example, see our To-do Notifications app (view example live.)\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory)\n */\ninterface IDBFactory {\n    /**\n     * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if the keys are equal.\n     *\n     * Throws a \"DataError\" DOMException if either input is not a valid key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/cmp)\n     */\n    cmp(first: any, second: any): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/databases) */\n    databases(): Promise<IDBDatabaseInfo[]>;\n    /**\n     * Attempts to delete the named database. If the database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request is successful request's result will be null.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/deleteDatabase)\n     */\n    deleteDatabase(name: string): IDBOpenDBRequest;\n    /**\n     * Attempts to open a connection to the named database with the current version, or 1 if it does not already exist. If the request is successful request's result will be the connection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBFactory/open)\n     */\n    open(name: string, version?: number): IDBOpenDBRequest;\n}\n\ndeclare var IDBFactory: {\n    prototype: IDBFactory;\n    new(): IDBFactory;\n};\n\n/**\n * IDBIndex interface of the IndexedDB API provides asynchronous access to an index in a database. An index is a kind of object store for looking up records in another object store, called the referenced object store. You use this interface to retrieve data.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex)\n */\ninterface IDBIndex {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/keyPath) */\n    readonly keyPath: string | string[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/multiEntry) */\n    readonly multiEntry: boolean;\n    /**\n     * Returns the name of the index.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/name)\n     */\n    name: string;\n    /**\n     * Returns the IDBObjectStore the index belongs to.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/objectStore)\n     */\n    readonly objectStore: IDBObjectStore;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/unique) */\n    readonly unique: boolean;\n    /**\n     * Retrieves the number of records matching the given key or key range in query.\n     *\n     * If successful, request's result will be the count.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/count)\n     */\n    count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;\n    /**\n     * Retrieves the value of the first record matching the given key or key range in query.\n     *\n     * If successful, request's result will be the value, or undefined if there was no matching record.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/get)\n     */\n    get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;\n    /**\n     * Retrieves the values of the records matching the given key or key range in query (up to count if given).\n     *\n     * If successful, request's result will be an Array of the values.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getAll)\n     */\n    getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;\n    /**\n     * Retrieves the keys of records matching the given key or key range in query (up to count if given).\n     *\n     * If successful, request's result will be an Array of the keys.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getAllKeys)\n     */\n    getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;\n    /**\n     * Retrieves the key of the first record matching the given key or key range in query.\n     *\n     * If successful, request's result will be the key, or undefined if there was no matching record.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/getKey)\n     */\n    getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;\n    /**\n     * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in index are matched.\n     *\n     * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/openCursor)\n     */\n    openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;\n    /**\n     * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched.\n     *\n     * If successful, request's result will be an IDBCursor, or null if there were no matching records.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBIndex/openKeyCursor)\n     */\n    openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;\n}\n\ndeclare var IDBIndex: {\n    prototype: IDBIndex;\n    new(): IDBIndex;\n};\n\n/**\n * A key range can be a single value or a range with upper and lower bounds or endpoints. If the key range has both upper and lower bounds, then it is bounded; if it has no bounds, it is unbounded. A bounded key range can either be open (the endpoints are excluded) or closed (the endpoints are included). To retrieve all keys within a certain range, you can use the following code constructs:\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange)\n */\ninterface IDBKeyRange {\n    /**\n     * Returns lower bound, or undefined if none.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lower)\n     */\n    readonly lower: any;\n    /**\n     * Returns true if the lower open flag is set, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lowerOpen)\n     */\n    readonly lowerOpen: boolean;\n    /**\n     * Returns upper bound, or undefined if none.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upper)\n     */\n    readonly upper: any;\n    /**\n     * Returns true if the upper open flag is set, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upperOpen)\n     */\n    readonly upperOpen: boolean;\n    /**\n     * Returns true if key is included in the range, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/includes)\n     */\n    includes(key: any): boolean;\n}\n\ndeclare var IDBKeyRange: {\n    prototype: IDBKeyRange;\n    new(): IDBKeyRange;\n    /**\n     * Returns a new IDBKeyRange spanning from lower to upper. If lowerOpen is true, lower is not included in the range. If upperOpen is true, upper is not included in the range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/bound_static)\n     */\n    bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange;\n    /**\n     * Returns a new IDBKeyRange starting at key with no upper bound. If open is true, key is not included in the range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/lowerBound_static)\n     */\n    lowerBound(lower: any, open?: boolean): IDBKeyRange;\n    /**\n     * Returns a new IDBKeyRange spanning only key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/only_static)\n     */\n    only(value: any): IDBKeyRange;\n    /**\n     * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBKeyRange/upperBound_static)\n     */\n    upperBound(upper: any, open?: boolean): IDBKeyRange;\n};\n\n/**\n * This example shows a variety of different uses of object stores, from updating the data structure with IDBObjectStore.createIndex\\xA0inside an onupgradeneeded function, to adding a new item to our object store with IDBObjectStore.add. For a full working example, see our\\xA0To-do Notifications\\xA0app (view example live.)\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore)\n */\ninterface IDBObjectStore {\n    /**\n     * Returns true if the store has a key generator, and false otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/autoIncrement)\n     */\n    readonly autoIncrement: boolean;\n    /**\n     * Returns a list of the names of indexes in the store.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/indexNames)\n     */\n    readonly indexNames: DOMStringList;\n    /**\n     * Returns the key path of the store, or null if none.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/keyPath)\n     */\n    readonly keyPath: string | string[];\n    /**\n     * Returns the name of the store.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/name)\n     */\n    name: string;\n    /**\n     * Returns the associated transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/transaction)\n     */\n    readonly transaction: IDBTransaction;\n    /**\n     * Adds or updates a record in store with the given value and key.\n     *\n     * If the store uses in-line keys and key is specified a \"DataError\" DOMException will be thrown.\n     *\n     * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a \"ConstraintError\" DOMException.\n     *\n     * If successful, request's result will be the record's key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/add)\n     */\n    add(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;\n    /**\n     * Deletes all records in store.\n     *\n     * If successful, request's result will be undefined.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/clear)\n     */\n    clear(): IDBRequest<undefined>;\n    /**\n     * Retrieves the number of records matching the given key or key range in query.\n     *\n     * If successful, request's result will be the count.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/count)\n     */\n    count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;\n    /**\n     * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a \"ConstraintError\" DOMException.\n     *\n     * Throws an \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)\n     */\n    createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex;\n    /**\n     * Deletes records in store with the given key or in the given key range in query.\n     *\n     * If successful, request's result will be undefined.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/delete)\n     */\n    delete(query: IDBValidKey | IDBKeyRange): IDBRequest<undefined>;\n    /**\n     * Deletes the index in store with the given name.\n     *\n     * Throws an \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/deleteIndex)\n     */\n    deleteIndex(name: string): void;\n    /**\n     * Retrieves the value of the first record matching the given key or key range in query.\n     *\n     * If successful, request's result will be the value, or undefined if there was no matching record.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/get)\n     */\n    get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;\n    /**\n     * Retrieves the values of the records matching the given key or key range in query (up to count if given).\n     *\n     * If successful, request's result will be an Array of the values.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getAll)\n     */\n    getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;\n    /**\n     * Retrieves the keys of records matching the given key or key range in query (up to count if given).\n     *\n     * If successful, request's result will be an Array of the keys.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getAllKeys)\n     */\n    getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;\n    /**\n     * Retrieves the key of the first record matching the given key or key range in query.\n     *\n     * If successful, request's result will be the key, or undefined if there was no matching record.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getKey)\n     */\n    getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/index) */\n    index(name: string): IDBIndex;\n    /**\n     * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in store are matched.\n     *\n     * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/openCursor)\n     */\n    openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;\n    /**\n     * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched.\n     *\n     * If successful, request's result will be an IDBCursor pointing at the first matching record, or null if there were no matching records.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/openKeyCursor)\n     */\n    openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;\n    /**\n     * Adds or updates a record in store with the given value and key.\n     *\n     * If the store uses in-line keys and key is specified a \"DataError\" DOMException will be thrown.\n     *\n     * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a \"ConstraintError\" DOMException.\n     *\n     * If successful, request's result will be the record's key.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/put)\n     */\n    put(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;\n}\n\ndeclare var IDBObjectStore: {\n    prototype: IDBObjectStore;\n    new(): IDBObjectStore;\n};\n\ninterface IDBOpenDBRequestEventMap extends IDBRequestEventMap {\n    \"blocked\": IDBVersionChangeEvent;\n    \"upgradeneeded\": IDBVersionChangeEvent;\n}\n\n/**\n * Also inherits methods from its parents IDBRequest and EventTarget.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest)\n */\ninterface IDBOpenDBRequest extends IDBRequest<IDBDatabase> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest/blocked_event) */\n    onblocked: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest/upgradeneeded_event) */\n    onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n    addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBOpenDBRequest: {\n    prototype: IDBOpenDBRequest;\n    new(): IDBOpenDBRequest;\n};\n\ninterface IDBRequestEventMap {\n    \"error\": Event;\n    \"success\": Event;\n}\n\n/**\n * The request object does not initially contain any information about the result of the operation, but once information becomes available, an event is fired on the request, and the information becomes available through the properties of the IDBRequest instance.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest)\n */\ninterface IDBRequest<T = any> extends EventTarget {\n    /**\n     * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws a \"InvalidStateError\" DOMException if the request is still pending.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/error)\n     */\n    readonly error: DOMException | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/error_event) */\n    onerror: ((this: IDBRequest<T>, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/success_event) */\n    onsuccess: ((this: IDBRequest<T>, ev: Event) => any) | null;\n    /**\n     * Returns \"pending\" until a request is complete, then returns \"done\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/readyState)\n     */\n    readonly readyState: IDBRequestReadyState;\n    /**\n     * When a request is completed, returns the result, or undefined if the request failed. Throws a \"InvalidStateError\" DOMException if the request is still pending.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/result)\n     */\n    readonly result: T;\n    /**\n     * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open request.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/source)\n     */\n    readonly source: IDBObjectStore | IDBIndex | IDBCursor;\n    /**\n     * Returns the IDBTransaction the request was made within. If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBRequest/transaction)\n     */\n    readonly transaction: IDBTransaction | null;\n    addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBRequest: {\n    prototype: IDBRequest;\n    new(): IDBRequest;\n};\n\ninterface IDBTransactionEventMap {\n    \"abort\": Event;\n    \"complete\": Event;\n    \"error\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction) */\ninterface IDBTransaction extends EventTarget {\n    /**\n     * Returns the transaction's connection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/db)\n     */\n    readonly db: IDBDatabase;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/durability) */\n    readonly durability: IDBTransactionDurability;\n    /**\n     * If the transaction was aborted, returns the error (a DOMException) providing the reason.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/error)\n     */\n    readonly error: DOMException | null;\n    /**\n     * Returns the mode the transaction was created with (\"readonly\" or \"readwrite\"), or \"versionchange\" for an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/mode)\n     */\n    readonly mode: IDBTransactionMode;\n    /**\n     * Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStoreNames)\n     */\n    readonly objectStoreNames: DOMStringList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort_event) */\n    onabort: ((this: IDBTransaction, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/complete_event) */\n    oncomplete: ((this: IDBTransaction, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/error_event) */\n    onerror: ((this: IDBTransaction, ev: Event) => any) | null;\n    /**\n     * Aborts the transaction. All pending requests will fail with a \"AbortError\" DOMException and all changes made to the database will be reverted.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort)\n     */\n    abort(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/commit) */\n    commit(): void;\n    /**\n     * Returns an IDBObjectStore in the transaction's scope.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStore)\n     */\n    objectStore(name: string): IDBObjectStore;\n    addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBTransaction: {\n    prototype: IDBTransaction;\n    new(): IDBTransaction;\n};\n\n/**\n * This IndexedDB API interface indicates that the version of the database has changed, as the result of an IDBOpenDBRequest.onupgradeneeded event handler function.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent)\n */\ninterface IDBVersionChangeEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent/newVersion) */\n    readonly newVersion: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBVersionChangeEvent/oldVersion) */\n    readonly oldVersion: number;\n}\n\ndeclare var IDBVersionChangeEvent: {\n    prototype: IDBVersionChangeEvent;\n    new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap) */\ninterface ImageBitmap {\n    /**\n     * Returns the intrinsic height of the image, in CSS pixels.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/height)\n     */\n    readonly height: number;\n    /**\n     * Returns the intrinsic width of the image, in CSS pixels.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/width)\n     */\n    readonly width: number;\n    /**\n     * Releases imageBitmap's underlying bitmap data.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmap/close)\n     */\n    close(): void;\n}\n\ndeclare var ImageBitmap: {\n    prototype: ImageBitmap;\n    new(): ImageBitmap;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext) */\ninterface ImageBitmapRenderingContext {\n    /**\n     * Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext/transferFromImageBitmap)\n     */\n    transferFromImageBitmap(bitmap: ImageBitmap | null): void;\n}\n\ndeclare var ImageBitmapRenderingContext: {\n    prototype: ImageBitmapRenderingContext;\n    new(): ImageBitmapRenderingContext;\n};\n\n/**\n * The underlying pixel data of an area of a <canvas> element. It is created using the ImageData() constructor or creator methods on the CanvasRenderingContext2D object associated with a canvas: createImageData() and getImageData(). It can also be used to set a part of the canvas by using putImageData().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData)\n */\ninterface ImageData {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/colorSpace) */\n    readonly colorSpace: PredefinedColorSpace;\n    /**\n     * Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/data)\n     */\n    readonly data: Uint8ClampedArray;\n    /**\n     * Returns the actual dimensions of the data in the ImageData object, in pixels.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/height)\n     */\n    readonly height: number;\n    /**\n     * Returns the actual dimensions of the data in the ImageData object, in pixels.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ImageData/width)\n     */\n    readonly width: number;\n}\n\ndeclare var ImageData: {\n    prototype: ImageData;\n    new(sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    new(data: Uint8ClampedArray, sw: number, sh?: number, settings?: ImageDataSettings): ImageData;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KHR_parallel_shader_compile) */\ninterface KHR_parallel_shader_compile {\n    readonly COMPLETION_STATUS_KHR: 0x91B1;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock)\n */\ninterface Lock {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock/mode) */\n    readonly mode: LockMode;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Lock/name) */\n    readonly name: string;\n}\n\ndeclare var Lock: {\n    prototype: Lock;\n    new(): Lock;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager)\n */\ninterface LockManager {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager/query) */\n    query(): Promise<LockManagerSnapshot>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/LockManager/request) */\n    request(name: string, callback: LockGrantedCallback): Promise<any>;\n    request(name: string, options: LockOptions, callback: LockGrantedCallback): Promise<any>;\n}\n\ndeclare var LockManager: {\n    prototype: LockManager;\n    new(): LockManager;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities) */\ninterface MediaCapabilities {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities/decodingInfo) */\n    decodingInfo(configuration: MediaDecodingConfiguration): Promise<MediaCapabilitiesDecodingInfo>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaCapabilities/encodingInfo) */\n    encodingInfo(configuration: MediaEncodingConfiguration): Promise<MediaCapabilitiesEncodingInfo>;\n}\n\ndeclare var MediaCapabilities: {\n    prototype: MediaCapabilities;\n    new(): MediaCapabilities;\n};\n\n/**\n * This Channel Messaging API interface allows us to create a new message channel and send data through it via its two MessagePort properties.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel)\n */\ninterface MessageChannel {\n    /**\n     * Returns the first MessagePort object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel/port1)\n     */\n    readonly port1: MessagePort;\n    /**\n     * Returns the second MessagePort object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageChannel/port2)\n     */\n    readonly port2: MessagePort;\n}\n\ndeclare var MessageChannel: {\n    prototype: MessageChannel;\n    new(): MessageChannel;\n};\n\n/**\n * A message received by a target object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent)\n */\ninterface MessageEvent<T = any> extends Event {\n    /**\n     * Returns the data of the message.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/data)\n     */\n    readonly data: T;\n    /**\n     * Returns the last event ID string, for server-sent events.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/lastEventId)\n     */\n    readonly lastEventId: string;\n    /**\n     * Returns the origin of the message, for server-sent events and cross-document messaging.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/origin)\n     */\n    readonly origin: string;\n    /**\n     * Returns the MessagePort array sent with the message, for cross-document messaging and channel messaging.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/ports)\n     */\n    readonly ports: ReadonlyArray<MessagePort>;\n    /**\n     * Returns the WindowProxy of the source window, for cross-document messaging, and the MessagePort being attached, in the connect event fired at SharedWorkerGlobalScope objects.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/source)\n     */\n    readonly source: MessageEventSource | null;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent)\n     */\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void;\n}\n\ndeclare var MessageEvent: {\n    prototype: MessageEvent;\n    new<T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>;\n};\n\ninterface MessagePortEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\n\n/**\n * This Channel Messaging API interface represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)\n */\ninterface MessagePort extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/message_event) */\n    onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/messageerror_event) */\n    onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null;\n    /**\n     * Disconnects the port, so that it is no longer active.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/close)\n     */\n    close(): void;\n    /**\n     * Posts a message through the channel. Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side.\n     *\n     * Throws a \"DataCloneError\" DOMException if transfer contains duplicate objects or port, or if message could not be cloned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/postMessage)\n     */\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    /**\n     * Begins dispatching messages received on the port.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort/start)\n     */\n    start(): void;\n    addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MessagePort: {\n    prototype: MessagePort;\n    new(): MessagePort;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager)\n */\ninterface NavigationPreloadManager {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/disable) */\n    disable(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/enable) */\n    enable(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/getState) */\n    getState(): Promise<NavigationPreloadState>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPreloadManager/setHeaderValue) */\n    setHeaderValue(value: string): Promise<void>;\n}\n\ndeclare var NavigationPreloadManager: {\n    prototype: NavigationPreloadManager;\n    new(): NavigationPreloadManager;\n};\n\n/** Available only in secure contexts. */\ninterface NavigatorBadge {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/clearAppBadge) */\n    clearAppBadge(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/setAppBadge) */\n    setAppBadge(contents?: number): Promise<void>;\n}\n\ninterface NavigatorConcurrentHardware {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/hardwareConcurrency) */\n    readonly hardwareConcurrency: number;\n}\n\ninterface NavigatorID {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName)\n     */\n    readonly appCodeName: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appName)\n     */\n    readonly appName: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appVersion)\n     */\n    readonly appVersion: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/platform)\n     */\n    readonly platform: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/product)\n     */\n    readonly product: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/userAgent) */\n    readonly userAgent: string;\n}\n\ninterface NavigatorLanguage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/language) */\n    readonly language: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/languages) */\n    readonly languages: ReadonlyArray<string>;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorLocks {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/locks) */\n    readonly locks: LockManager;\n}\n\ninterface NavigatorOnLine {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/onLine) */\n    readonly onLine: boolean;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorStorage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/storage) */\n    readonly storage: StorageManager;\n}\n\ninterface NotificationEventMap {\n    \"click\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"show\": Event;\n}\n\n/**\n * This Notifications API interface is used to configure and display desktop notifications to the user.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification)\n */\ninterface Notification extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/badge) */\n    readonly badge: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/body) */\n    readonly body: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/data) */\n    readonly data: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/dir) */\n    readonly dir: NotificationDirection;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/icon) */\n    readonly icon: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/lang) */\n    readonly lang: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/click_event) */\n    onclick: ((this: Notification, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/close_event) */\n    onclose: ((this: Notification, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/error_event) */\n    onerror: ((this: Notification, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/show_event) */\n    onshow: ((this: Notification, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/requireInteraction) */\n    readonly requireInteraction: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/silent) */\n    readonly silent: boolean | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/tag) */\n    readonly tag: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/title) */\n    readonly title: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/close) */\n    close(): void;\n    addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Notification: {\n    prototype: Notification;\n    new(title: string, options?: NotificationOptions): Notification;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Notification/permission_static) */\n    readonly permission: NotificationPermission;\n};\n\n/**\n * The parameter passed into the onnotificationclick handler, the NotificationEvent interface represents a notification click event that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NotificationEvent)\n */\ninterface NotificationEvent extends ExtendableEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NotificationEvent/action) */\n    readonly action: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/NotificationEvent/notification) */\n    readonly notification: Notification;\n}\n\ndeclare var NotificationEvent: {\n    prototype: NotificationEvent;\n    new(type: string, eventInitDict: NotificationEventInit): NotificationEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed) */\ninterface OES_draw_buffers_indexed {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendEquationSeparateiOES) */\n    blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendEquationiOES) */\n    blendEquationiOES(buf: GLuint, mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendFuncSeparateiOES) */\n    blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/blendFunciOES) */\n    blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/colorMaskiOES) */\n    colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/disableiOES) */\n    disableiOES(target: GLenum, index: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_draw_buffers_indexed/enableiOES) */\n    enableiOES(target: GLenum, index: GLuint): void;\n}\n\n/**\n * The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_element_index_uint)\n */\ninterface OES_element_index_uint {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_fbo_render_mipmap) */\ninterface OES_fbo_render_mipmap {\n}\n\n/**\n * The OES_standard_derivatives extension is part of the WebGL API and adds the GLSL derivative functions dFdx, dFdy, and fwidth.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_standard_derivatives)\n */\ninterface OES_standard_derivatives {\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: 0x8B8B;\n}\n\n/**\n * The OES_texture_float extension is part of the WebGL API and exposes floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_float)\n */\ninterface OES_texture_float {\n}\n\n/**\n * The OES_texture_float_linear extension is part of the WebGL API and allows linear filtering with floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_float_linear)\n */\ninterface OES_texture_float_linear {\n}\n\n/**\n * The OES_texture_half_float extension is part of the WebGL API and adds texture formats with 16- (aka half float) and 32-bit floating-point components.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_half_float)\n */\ninterface OES_texture_half_float {\n    readonly HALF_FLOAT_OES: 0x8D61;\n}\n\n/**\n * The OES_texture_half_float_linear extension is part of the WebGL API and allows linear filtering with half floating-point pixel types for textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_texture_half_float_linear)\n */\ninterface OES_texture_half_float_linear {\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object) */\ninterface OES_vertex_array_object {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/bindVertexArrayOES) */\n    bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/createVertexArrayOES) */\n    createVertexArrayOES(): WebGLVertexArrayObjectOES | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/deleteVertexArrayOES) */\n    deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OES_vertex_array_object/isVertexArrayOES) */\n    isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean;\n    readonly VERTEX_ARRAY_BINDING_OES: 0x85B5;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OVR_multiview2) */\ninterface OVR_multiview2 {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OVR_multiview2/framebufferTextureMultiviewOVR) */\n    framebufferTextureMultiviewOVR(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, baseViewIndex: GLint, numViews: GLsizei): void;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: 0x9630;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: 0x9632;\n    readonly MAX_VIEWS_OVR: 0x9631;\n    readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: 0x9633;\n}\n\ninterface OffscreenCanvasEventMap {\n    \"contextlost\": Event;\n    \"contextrestored\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas) */\ninterface OffscreenCanvas extends EventTarget {\n    /**\n     * These attributes return the dimensions of the OffscreenCanvas object's bitmap.\n     *\n     * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/height)\n     */\n    height: number;\n    oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    /**\n     * These attributes return the dimensions of the OffscreenCanvas object's bitmap.\n     *\n     * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/width)\n     */\n    width: number;\n    /**\n     * Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object.\n     *\n     * The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of \"image/png\"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as \"image/jpeg\"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/convertToBlob)\n     */\n    convertToBlob(options?: ImageEncodeOptions): Promise<Blob>;\n    /**\n     * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: \"2d\", \"bitmaprenderer\", \"webgl\", or \"webgl2\". options is handled by that API.\n     *\n     * This specification defines the \"2d\" context below, which is similar but distinct from the \"2d\" context that is created from a canvas element. The WebGL specifications define the \"webgl\" and \"webgl2\" contexts. [WEBGL]\n     *\n     * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a \"2d\" context after getting a \"webgl\" context).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/getContext)\n     */\n    getContext(contextId: \"2d\", options?: any): OffscreenCanvasRenderingContext2D | null;\n    getContext(contextId: \"bitmaprenderer\", options?: any): ImageBitmapRenderingContext | null;\n    getContext(contextId: \"webgl\", options?: any): WebGLRenderingContext | null;\n    getContext(contextId: \"webgl2\", options?: any): WebGL2RenderingContext | null;\n    getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null;\n    /**\n     * Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/transferToImageBitmap)\n     */\n    transferToImageBitmap(): ImageBitmap;\n    addEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var OffscreenCanvas: {\n    prototype: OffscreenCanvas;\n    new(width: number, height: number): OffscreenCanvas;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D) */\ninterface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {\n    readonly canvas: OffscreenCanvas;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D/commit) */\n    commit(): void;\n}\n\ndeclare var OffscreenCanvasRenderingContext2D: {\n    prototype: OffscreenCanvasRenderingContext2D;\n    new(): OffscreenCanvasRenderingContext2D;\n};\n\n/**\n * This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Path2D)\n */\ninterface Path2D extends CanvasPath {\n    /**\n     * Adds to the path the path given by the argument.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Path2D/addPath)\n     */\n    addPath(path: Path2D, transform?: DOMMatrix2DInit): void;\n}\n\ndeclare var Path2D: {\n    prototype: Path2D;\n    new(path?: Path2D | string): Path2D;\n};\n\ninterface PerformanceEventMap {\n    \"resourcetimingbufferfull\": Event;\n}\n\n/**\n * Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance)\n */\ninterface Performance extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/resourcetimingbufferfull_event) */\n    onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/timeOrigin) */\n    readonly timeOrigin: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearMarks) */\n    clearMarks(markName?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearMeasures) */\n    clearMeasures(measureName?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/clearResourceTimings) */\n    clearResourceTimings(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntries) */\n    getEntries(): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByName) */\n    getEntriesByName(name: string, type?: string): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByType) */\n    getEntriesByType(type: string): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/mark) */\n    mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/measure) */\n    measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/now) */\n    now(): DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/setResourceTimingBufferSize) */\n    setResourceTimingBufferSize(maxSize: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Performance/toJSON) */\n    toJSON(): any;\n    addEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Performance: {\n    prototype: Performance;\n    new(): Performance;\n};\n\n/**\n * Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the mark() method) at an explicit point in an application. Performance entries are also created in indirect ways such as loading a resource (such as an image).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry)\n */\ninterface PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/duration) */\n    readonly duration: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/entryType) */\n    readonly entryType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/startTime) */\n    readonly startTime: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PerformanceEntry: {\n    prototype: PerformanceEntry;\n    new(): PerformanceEntry;\n};\n\n/**\n * PerformanceMark\\xA0is an abstract interface for PerformanceEntry objects with an entryType of \"mark\". Entries of this type are created by calling performance.mark() to add a named DOMHighResTimeStamp (the mark) to the browser's performance timeline.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMark)\n */\ninterface PerformanceMark extends PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMark/detail) */\n    readonly detail: any;\n}\n\ndeclare var PerformanceMark: {\n    prototype: PerformanceMark;\n    new(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n};\n\n/**\n * PerformanceMeasure is an abstract interface for PerformanceEntry objects with an entryType of \"measure\". Entries of this type are created by calling performance.measure() to add a named DOMHighResTimeStamp (the measure) between two marks to the browser's performance timeline.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMeasure)\n */\ninterface PerformanceMeasure extends PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceMeasure/detail) */\n    readonly detail: any;\n}\n\ndeclare var PerformanceMeasure: {\n    prototype: PerformanceMeasure;\n    new(): PerformanceMeasure;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver) */\ninterface PerformanceObserver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/disconnect) */\n    disconnect(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/observe) */\n    observe(options?: PerformanceObserverInit): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/takeRecords) */\n    takeRecords(): PerformanceEntryList;\n}\n\ndeclare var PerformanceObserver: {\n    prototype: PerformanceObserver;\n    new(callback: PerformanceObserverCallback): PerformanceObserver;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserver/supportedEntryTypes_static) */\n    readonly supportedEntryTypes: ReadonlyArray<string>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList) */\ninterface PerformanceObserverEntryList {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntries) */\n    getEntries(): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntriesByName) */\n    getEntriesByName(name: string, type?: string): PerformanceEntryList;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceObserverEntryList/getEntriesByType) */\n    getEntriesByType(type: string): PerformanceEntryList;\n}\n\ndeclare var PerformanceObserverEntryList: {\n    prototype: PerformanceObserverEntryList;\n    new(): PerformanceObserverEntryList;\n};\n\n/**\n * Enables retrieval and analysis of detailed network timing data regarding the loading of an application's resources. An application can use the timing metrics to determine, for example, the length of time it takes to fetch a specific resource, such as an XMLHttpRequest, <SVG>, image, or script.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming)\n */\ninterface PerformanceResourceTiming extends PerformanceEntry {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/connectEnd) */\n    readonly connectEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/connectStart) */\n    readonly connectStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/decodedBodySize) */\n    readonly decodedBodySize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/domainLookupEnd) */\n    readonly domainLookupEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/domainLookupStart) */\n    readonly domainLookupStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/encodedBodySize) */\n    readonly encodedBodySize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/fetchStart) */\n    readonly fetchStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/initiatorType) */\n    readonly initiatorType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/nextHopProtocol) */\n    readonly nextHopProtocol: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/redirectEnd) */\n    readonly redirectEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/redirectStart) */\n    readonly redirectStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/requestStart) */\n    readonly requestStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/responseEnd) */\n    readonly responseEnd: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/responseStart) */\n    readonly responseStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/secureConnectionStart) */\n    readonly secureConnectionStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/serverTiming) */\n    readonly serverTiming: ReadonlyArray<PerformanceServerTiming>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/transferSize) */\n    readonly transferSize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/workerStart) */\n    readonly workerStart: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PerformanceResourceTiming: {\n    prototype: PerformanceResourceTiming;\n    new(): PerformanceResourceTiming;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming) */\ninterface PerformanceServerTiming {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/description) */\n    readonly description: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/duration) */\n    readonly duration: DOMHighResTimeStamp;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PerformanceServerTiming/toJSON) */\n    toJSON(): any;\n}\n\ndeclare var PerformanceServerTiming: {\n    prototype: PerformanceServerTiming;\n    new(): PerformanceServerTiming;\n};\n\ninterface PermissionStatusEventMap {\n    \"change\": Event;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus) */\ninterface PermissionStatus extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/change_event) */\n    onchange: ((this: PermissionStatus, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PermissionStatus/state) */\n    readonly state: PermissionState;\n    addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var PermissionStatus: {\n    prototype: PermissionStatus;\n    new(): PermissionStatus;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Permissions) */\ninterface Permissions {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Permissions/query) */\n    query(permissionDesc: PermissionDescriptor): Promise<PermissionStatus>;\n}\n\ndeclare var Permissions: {\n    prototype: Permissions;\n    new(): Permissions;\n};\n\n/**\n * Events measuring progress of an underlying process, like an HTTP request (for an XMLHttpRequest, or the loading of the underlying resource of an <img>, <audio>, <video>, <style> or <link>).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProgressEvent)\n */\ninterface ProgressEvent<T extends EventTarget = EventTarget> extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProgressEvent/lengthComputable) */\n    readonly lengthComputable: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProgressEvent/loaded) */\n    readonly loaded: number;\n    readonly target: T | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ProgressEvent/total) */\n    readonly total: number;\n}\n\ndeclare var ProgressEvent: {\n    prototype: ProgressEvent;\n    new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent) */\ninterface PromiseRejectionEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent/promise) */\n    readonly promise: Promise<any>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent/reason) */\n    readonly reason: any;\n}\n\ndeclare var PromiseRejectionEvent: {\n    prototype: PromiseRejectionEvent;\n    new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent;\n};\n\n/**\n * This Push API interface represents a push message that has been received. This event is sent to the global scope of a ServiceWorker. It contains the information sent from an application server to a PushSubscription.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushEvent)\n */\ninterface PushEvent extends ExtendableEvent {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushEvent/data) */\n    readonly data: PushMessageData | null;\n}\n\ndeclare var PushEvent: {\n    prototype: PushEvent;\n    new(type: string, eventInitDict?: PushEventInit): PushEvent;\n};\n\n/**\n * This Push API interface provides a way to receive notifications from third-party servers as well as request URLs for push notifications.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager)\n */\ninterface PushManager {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager/getSubscription) */\n    getSubscription(): Promise<PushSubscription | null>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager/permissionState) */\n    permissionState(options?: PushSubscriptionOptionsInit): Promise<PermissionState>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager/subscribe) */\n    subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;\n}\n\ndeclare var PushManager: {\n    prototype: PushManager;\n    new(): PushManager;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushManager/supportedContentEncodings_static) */\n    readonly supportedContentEncodings: ReadonlyArray<string>;\n};\n\n/**\n * This Push API interface provides methods which let you retrieve the push data sent by a server in various formats.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushMessageData)\n */\ninterface PushMessageData {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushMessageData/arrayBuffer) */\n    arrayBuffer(): ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushMessageData/blob) */\n    blob(): Blob;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushMessageData/json) */\n    json(): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushMessageData/text) */\n    text(): string;\n}\n\ndeclare var PushMessageData: {\n    prototype: PushMessageData;\n    new(): PushMessageData;\n};\n\n/**\n * This Push API interface provides a subcription's URL endpoint and allows unsubscription from a push service.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription)\n */\ninterface PushSubscription {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/endpoint) */\n    readonly endpoint: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/expirationTime) */\n    readonly expirationTime: EpochTimeStamp | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/options) */\n    readonly options: PushSubscriptionOptions;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/getKey) */\n    getKey(name: PushEncryptionKeyName): ArrayBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/toJSON) */\n    toJSON(): PushSubscriptionJSON;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscription/unsubscribe) */\n    unsubscribe(): Promise<boolean>;\n}\n\ndeclare var PushSubscription: {\n    prototype: PushSubscription;\n    new(): PushSubscription;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscriptionOptions)\n */\ninterface PushSubscriptionOptions {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscriptionOptions/applicationServerKey) */\n    readonly applicationServerKey: ArrayBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PushSubscriptionOptions/userVisibleOnly) */\n    readonly userVisibleOnly: boolean;\n}\n\ndeclare var PushSubscriptionOptions: {\n    prototype: PushSubscriptionOptions;\n    new(): PushSubscriptionOptions;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedAudioFrame) */\ninterface RTCEncodedAudioFrame {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedAudioFrame/data) */\n    data: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedAudioFrame/timestamp) */\n    readonly timestamp: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedAudioFrame/getMetadata) */\n    getMetadata(): RTCEncodedAudioFrameMetadata;\n}\n\ndeclare var RTCEncodedAudioFrame: {\n    prototype: RTCEncodedAudioFrame;\n    new(): RTCEncodedAudioFrame;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame) */\ninterface RTCEncodedVideoFrame {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame/data) */\n    data: ArrayBuffer;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame/timestamp) */\n    readonly timestamp: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame/type) */\n    readonly type: RTCEncodedVideoFrameType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCEncodedVideoFrame/getMetadata) */\n    getMetadata(): RTCEncodedVideoFrameMetadata;\n}\n\ndeclare var RTCEncodedVideoFrame: {\n    prototype: RTCEncodedVideoFrame;\n    new(): RTCEncodedVideoFrame;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpScriptTransformer) */\ninterface RTCRtpScriptTransformer extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpScriptTransformer/options) */\n    readonly options: any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpScriptTransformer/readable) */\n    readonly readable: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpScriptTransformer/writable) */\n    readonly writable: WritableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpScriptTransformer/generateKeyFrame) */\n    generateKeyFrame(rid?: string): Promise<number>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpScriptTransformer/sendKeyFrameRequest) */\n    sendKeyFrameRequest(): Promise<void>;\n}\n\ndeclare var RTCRtpScriptTransformer: {\n    prototype: RTCRtpScriptTransformer;\n    new(): RTCRtpScriptTransformer;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCTransformEvent) */\ninterface RTCTransformEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCTransformEvent/transformer) */\n    readonly transformer: RTCRtpScriptTransformer;\n}\n\ndeclare var RTCTransformEvent: {\n    prototype: RTCTransformEvent;\n    new(): RTCTransformEvent;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController) */\ninterface ReadableByteStreamController {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/byobRequest) */\n    readonly byobRequest: ReadableStreamBYOBRequest | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/desiredSize) */\n    readonly desiredSize: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/enqueue) */\n    enqueue(chunk: ArrayBufferView): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/error) */\n    error(e?: any): void;\n}\n\ndeclare var ReadableByteStreamController: {\n    prototype: ReadableByteStreamController;\n    new(): ReadableByteStreamController;\n};\n\n/**\n * This Streams API interface represents a readable stream of byte data. The Fetch API offers a concrete instance of a ReadableStream through the body property of a Response object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream)\n */\ninterface ReadableStream<R = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/locked) */\n    readonly locked: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/cancel) */\n    cancel(reason?: any): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/getReader) */\n    getReader(options: { mode: \"byob\" }): ReadableStreamBYOBReader;\n    getReader(): ReadableStreamDefaultReader<R>;\n    getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader<R>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/pipeThrough) */\n    pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/pipeTo) */\n    pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStream/tee) */\n    tee(): [ReadableStream<R>, ReadableStream<R>];\n}\n\ndeclare var ReadableStream: {\n    prototype: ReadableStream;\n    new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number }): ReadableStream<Uint8Array>;\n    new<R = any>(underlyingSource: UnderlyingDefaultSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n    new<R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader) */\ninterface ReadableStreamBYOBReader extends ReadableStreamGenericReader {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/read) */\n    read<T extends ArrayBufferView>(view: T): Promise<ReadableStreamReadResult<T>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/releaseLock) */\n    releaseLock(): void;\n}\n\ndeclare var ReadableStreamBYOBReader: {\n    prototype: ReadableStreamBYOBReader;\n    new(stream: ReadableStream): ReadableStreamBYOBReader;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest) */\ninterface ReadableStreamBYOBRequest {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/view) */\n    readonly view: ArrayBufferView | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/respond) */\n    respond(bytesWritten: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBRequest/respondWithNewView) */\n    respondWithNewView(view: ArrayBufferView): void;\n}\n\ndeclare var ReadableStreamBYOBRequest: {\n    prototype: ReadableStreamBYOBRequest;\n    new(): ReadableStreamBYOBRequest;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController) */\ninterface ReadableStreamDefaultController<R = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/desiredSize) */\n    readonly desiredSize: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/enqueue) */\n    enqueue(chunk?: R): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/error) */\n    error(e?: any): void;\n}\n\ndeclare var ReadableStreamDefaultController: {\n    prototype: ReadableStreamDefaultController;\n    new(): ReadableStreamDefaultController;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader) */\ninterface ReadableStreamDefaultReader<R = any> extends ReadableStreamGenericReader {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader/read) */\n    read(): Promise<ReadableStreamReadResult<R>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader/releaseLock) */\n    releaseLock(): void;\n}\n\ndeclare var ReadableStreamDefaultReader: {\n    prototype: ReadableStreamDefaultReader;\n    new<R = any>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;\n};\n\ninterface ReadableStreamGenericReader {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/closed) */\n    readonly closed: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/cancel) */\n    cancel(reason?: any): Promise<void>;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Report) */\ninterface Report {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Report/body) */\n    readonly body: ReportBody | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Report/type) */\n    readonly type: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Report/url) */\n    readonly url: string;\n    toJSON(): any;\n}\n\ndeclare var Report: {\n    prototype: Report;\n    new(): Report;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportBody) */\ninterface ReportBody {\n    toJSON(): any;\n}\n\ndeclare var ReportBody: {\n    prototype: ReportBody;\n    new(): ReportBody;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportingObserver) */\ninterface ReportingObserver {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportingObserver/disconnect) */\n    disconnect(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportingObserver/observe) */\n    observe(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportingObserver/takeRecords) */\n    takeRecords(): ReportList;\n}\n\ndeclare var ReportingObserver: {\n    prototype: ReportingObserver;\n    new(callback: ReportingObserverCallback, options?: ReportingObserverOptions): ReportingObserver;\n};\n\n/**\n * This Fetch API interface represents a resource request.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request)\n */\ninterface Request extends Body {\n    /**\n     * Returns the cache mode associated with request, which is a string indicating how the request will interact with the browser's cache when fetching.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/cache)\n     */\n    readonly cache: RequestCache;\n    /**\n     * Returns the credentials mode associated with request, which is a string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/credentials)\n     */\n    readonly credentials: RequestCredentials;\n    /**\n     * Returns the kind of resource requested by request, e.g., \"document\" or \"script\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/destination)\n     */\n    readonly destination: RequestDestination;\n    /**\n     * Returns a Headers object consisting of the headers associated with request. Note that headers added in the network layer by the user agent will not be accounted for in this object, e.g., the \"Host\" header.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/headers)\n     */\n    readonly headers: Headers;\n    /**\n     * Returns request's subresource integrity metadata, which is a cryptographic hash of the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI]\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/integrity)\n     */\n    readonly integrity: string;\n    /**\n     * Returns a boolean indicating whether or not request can outlive the global in which it was created.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/keepalive)\n     */\n    readonly keepalive: boolean;\n    /**\n     * Returns request's HTTP method, which is \"GET\" by default.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/method)\n     */\n    readonly method: string;\n    /**\n     * Returns the mode associated with request, which is a string indicating whether the request will use CORS, or will be restricted to same-origin URLs.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/mode)\n     */\n    readonly mode: RequestMode;\n    /**\n     * Returns the redirect mode associated with request, which is a string indicating how redirects for the request will be handled during fetching. A request will follow redirects by default.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/redirect)\n     */\n    readonly redirect: RequestRedirect;\n    /**\n     * Returns the referrer of request. Its value can be a same-origin URL if explicitly set in init, the empty string to indicate no referrer, and \"about:client\" when defaulting to the global's default. This is used during fetching to determine the value of the \\`Referer\\` header of the request being made.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/referrer)\n     */\n    readonly referrer: string;\n    /**\n     * Returns the referrer policy associated with request. This is used during fetching to compute the value of the request's referrer.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/referrerPolicy)\n     */\n    readonly referrerPolicy: ReferrerPolicy;\n    /**\n     * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort event handler.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/signal)\n     */\n    readonly signal: AbortSignal;\n    /**\n     * Returns the URL of request as a string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/url)\n     */\n    readonly url: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/clone) */\n    clone(): Request;\n}\n\ndeclare var Request: {\n    prototype: Request;\n    new(input: RequestInfo | URL, init?: RequestInit): Request;\n};\n\n/**\n * This Fetch API interface represents the response to a request.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response)\n */\ninterface Response extends Body {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/headers) */\n    readonly headers: Headers;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/ok) */\n    readonly ok: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/redirected) */\n    readonly redirected: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/status) */\n    readonly status: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/statusText) */\n    readonly statusText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/type) */\n    readonly type: ResponseType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/url) */\n    readonly url: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/clone) */\n    clone(): Response;\n}\n\ndeclare var Response: {\n    prototype: Response;\n    new(body?: BodyInit | null, init?: ResponseInit): Response;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/error_static) */\n    error(): Response;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/json_static) */\n    json(data: any, init?: ResponseInit): Response;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Response/redirect_static) */\n    redirect(url: string | URL, status?: number): Response;\n};\n\n/**\n * Inherits from Event, and represents the event object of an event sent on a document or worker when its content security policy is violated.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent)\n */\ninterface SecurityPolicyViolationEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/blockedURI) */\n    readonly blockedURI: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/columnNumber) */\n    readonly columnNumber: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/disposition) */\n    readonly disposition: SecurityPolicyViolationEventDisposition;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/documentURI) */\n    readonly documentURI: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/effectiveDirective) */\n    readonly effectiveDirective: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/lineNumber) */\n    readonly lineNumber: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/originalPolicy) */\n    readonly originalPolicy: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/referrer) */\n    readonly referrer: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/sample) */\n    readonly sample: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/sourceFile) */\n    readonly sourceFile: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/statusCode) */\n    readonly statusCode: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent/violatedDirective) */\n    readonly violatedDirective: string;\n}\n\ndeclare var SecurityPolicyViolationEvent: {\n    prototype: SecurityPolicyViolationEvent;\n    new(type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent;\n};\n\ninterface ServiceWorkerEventMap extends AbstractWorkerEventMap {\n    \"statechange\": Event;\n}\n\n/**\n * This ServiceWorker API interface provides a reference to a service worker. Multiple browsing contexts (e.g. pages, workers, etc.) can be associated with the same service worker, each through a unique ServiceWorker object.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker)\n */\ninterface ServiceWorker extends EventTarget, AbstractWorker {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/statechange_event) */\n    onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/scriptURL) */\n    readonly scriptURL: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/state) */\n    readonly state: ServiceWorkerState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/postMessage) */\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorker: {\n    prototype: ServiceWorker;\n    new(): ServiceWorker;\n};\n\ninterface ServiceWorkerContainerEventMap {\n    \"controllerchange\": Event;\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\n\n/**\n * The\\xA0ServiceWorkerContainer\\xA0interface of the\\xA0ServiceWorker API\\xA0provides an object representing the service worker as an overall unit in the network ecosystem, including facilities to register, unregister and update service workers, and access the state of service workers and their registrations.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer)\n */\ninterface ServiceWorkerContainer extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/controller) */\n    readonly controller: ServiceWorker | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/controllerchange_event) */\n    oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/message_event) */\n    onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/messageerror_event) */\n    onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/ready) */\n    readonly ready: Promise<ServiceWorkerRegistration>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistration) */\n    getRegistration(clientURL?: string | URL): Promise<ServiceWorkerRegistration | undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistrations) */\n    getRegistrations(): Promise<ReadonlyArray<ServiceWorkerRegistration>>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/register) */\n    register(scriptURL: string | URL, options?: RegistrationOptions): Promise<ServiceWorkerRegistration>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/startMessages) */\n    startMessages(): void;\n    addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorkerContainer: {\n    prototype: ServiceWorkerContainer;\n    new(): ServiceWorkerContainer;\n};\n\ninterface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {\n    \"activate\": ExtendableEvent;\n    \"fetch\": FetchEvent;\n    \"install\": ExtendableEvent;\n    \"message\": ExtendableMessageEvent;\n    \"messageerror\": MessageEvent;\n    \"notificationclick\": NotificationEvent;\n    \"notificationclose\": NotificationEvent;\n    \"push\": PushEvent;\n    \"pushsubscriptionchange\": Event;\n}\n\n/**\n * This ServiceWorker API interface represents the global execution context of a service worker.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope)\n */\ninterface ServiceWorkerGlobalScope extends WorkerGlobalScope {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/clients) */\n    readonly clients: Clients;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/activate_event) */\n    onactivate: ((this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/fetch_event) */\n    onfetch: ((this: ServiceWorkerGlobalScope, ev: FetchEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/install_event) */\n    oninstall: ((this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/message_event) */\n    onmessage: ((this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/messageerror_event) */\n    onmessageerror: ((this: ServiceWorkerGlobalScope, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/notificationclick_event) */\n    onnotificationclick: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/notificationclose_event) */\n    onnotificationclose: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/push_event) */\n    onpush: ((this: ServiceWorkerGlobalScope, ev: PushEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/pushsubscriptionchange_event) */\n    onpushsubscriptionchange: ((this: ServiceWorkerGlobalScope, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/registration) */\n    readonly registration: ServiceWorkerRegistration;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/serviceWorker) */\n    readonly serviceWorker: ServiceWorker;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/skipWaiting) */\n    skipWaiting(): Promise<void>;\n    addEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorkerGlobalScope: {\n    prototype: ServiceWorkerGlobalScope;\n    new(): ServiceWorkerGlobalScope;\n};\n\ninterface ServiceWorkerRegistrationEventMap {\n    \"updatefound\": Event;\n}\n\n/**\n * This ServiceWorker API interface represents the service worker registration. You register a service worker to control one or more pages that share the same origin.\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration)\n */\ninterface ServiceWorkerRegistration extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/active) */\n    readonly active: ServiceWorker | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/installing) */\n    readonly installing: ServiceWorker | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/navigationPreload) */\n    readonly navigationPreload: NavigationPreloadManager;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/updatefound_event) */\n    onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/pushManager) */\n    readonly pushManager: PushManager;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/scope) */\n    readonly scope: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/updateViaCache) */\n    readonly updateViaCache: ServiceWorkerUpdateViaCache;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/waiting) */\n    readonly waiting: ServiceWorker | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/getNotifications) */\n    getNotifications(filter?: GetNotificationOptions): Promise<Notification[]>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/showNotification) */\n    showNotification(title: string, options?: NotificationOptions): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/unregister) */\n    unregister(): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegistration/update) */\n    update(): Promise<void>;\n    addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorkerRegistration: {\n    prototype: ServiceWorkerRegistration;\n    new(): ServiceWorkerRegistration;\n};\n\ninterface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {\n    \"connect\": MessageEvent;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SharedWorkerGlobalScope) */\ninterface SharedWorkerGlobalScope extends WorkerGlobalScope {\n    /**\n     * Returns sharedWorkerGlobal's name, i.e. the value given to the SharedWorker constructor. Multiple SharedWorker objects can correspond to the same shared worker (and SharedWorkerGlobalScope), by reusing the same name.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SharedWorkerGlobalScope/name)\n     */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SharedWorkerGlobalScope/connect_event) */\n    onconnect: ((this: SharedWorkerGlobalScope, ev: MessageEvent) => any) | null;\n    /**\n     * Aborts sharedWorkerGlobal.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SharedWorkerGlobalScope/close)\n     */\n    close(): void;\n    addEventListener<K extends keyof SharedWorkerGlobalScopeEventMap>(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SharedWorkerGlobalScopeEventMap>(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SharedWorkerGlobalScope: {\n    prototype: SharedWorkerGlobalScope;\n    new(): SharedWorkerGlobalScope;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager)\n */\ninterface StorageManager {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager/estimate) */\n    estimate(): Promise<StorageEstimate>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager/getDirectory) */\n    getDirectory(): Promise<FileSystemDirectoryHandle>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StorageManager/persisted) */\n    persisted(): Promise<boolean>;\n}\n\ndeclare var StorageManager: {\n    prototype: StorageManager;\n    new(): StorageManager;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly) */\ninterface StylePropertyMapReadOnly {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/size) */\n    readonly size: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/get) */\n    get(property: string): undefined | CSSStyleValue;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/getAll) */\n    getAll(property: string): CSSStyleValue[];\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/has) */\n    has(property: string): boolean;\n    forEach(callbackfn: (value: CSSStyleValue[], key: string, parent: StylePropertyMapReadOnly) => void, thisArg?: any): void;\n}\n\ndeclare var StylePropertyMapReadOnly: {\n    prototype: StylePropertyMapReadOnly;\n    new(): StylePropertyMapReadOnly;\n};\n\n/**\n * This Web Crypto API interface provides a number of low-level cryptographic functions. It is accessed via the Crypto.subtle properties available in a window context (via Window.crypto).\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto)\n */\ninterface SubtleCrypto {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/decrypt) */\n    decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveBits) */\n    deriveBits(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey) */\n    deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/digest) */\n    digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/encrypt) */\n    encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/exportKey) */\n    exportKey(format: \"jwk\", key: CryptoKey): Promise<JsonWebKey>;\n    exportKey(format: Exclude<KeyFormat, \"jwk\">, key: CryptoKey): Promise<ArrayBuffer>;\n    exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey) */\n    generateKey(algorithm: \"Ed25519\", extractable: boolean, keyUsages: ReadonlyArray<\"sign\" | \"verify\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;\n    generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey) */\n    importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    importKey(format: Exclude<KeyFormat, \"jwk\">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/sign) */\n    sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey) */\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/verify) */\n    verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/wrapKey) */\n    wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>;\n}\n\ndeclare var SubtleCrypto: {\n    prototype: SubtleCrypto;\n    new(): SubtleCrypto;\n};\n\n/**\n * A decoder for a specific method, that is a specific character encoding, like utf-8, iso-8859-2, koi8, cp1261, gbk, etc.\\xA0A decoder takes a stream of bytes as input and emits a stream of code points. For a more scalable, non-native library, see StringView \\u2013 a C-like representation of strings based on typed arrays.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder)\n */\ninterface TextDecoder extends TextDecoderCommon {\n    /**\n     * Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented input. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments.\n     *\n     * \\`\\`\\`\n     * var string = \"\", decoder = new TextDecoder(encoding), buffer;\n     * while(buffer = next_chunk()) {\n     *   string += decoder.decode(buffer, {stream:true});\n     * }\n     * string += decoder.decode(); // end-of-queue\n     * \\`\\`\\`\n     *\n     * If the error mode is \"fatal\" and encoding's decoder returns error, throws a TypeError.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder/decode)\n     */\n    decode(input?: AllowSharedBufferSource, options?: TextDecodeOptions): string;\n}\n\ndeclare var TextDecoder: {\n    prototype: TextDecoder;\n    new(label?: string, options?: TextDecoderOptions): TextDecoder;\n};\n\ninterface TextDecoderCommon {\n    /**\n     * Returns encoding's name, lowercased.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder/encoding)\n     */\n    readonly encoding: string;\n    /**\n     * Returns true if error mode is \"fatal\", otherwise false.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder/fatal)\n     */\n    readonly fatal: boolean;\n    /**\n     * Returns the value of ignore BOM.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoder/ignoreBOM)\n     */\n    readonly ignoreBOM: boolean;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextDecoderStream) */\ninterface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {\n    readonly readable: ReadableStream<string>;\n    readonly writable: WritableStream<BufferSource>;\n}\n\ndeclare var TextDecoderStream: {\n    prototype: TextDecoderStream;\n    new(label?: string, options?: TextDecoderOptions): TextDecoderStream;\n};\n\n/**\n * TextEncoder takes a stream of code points as input and emits a stream of bytes. For a more scalable, non-native library, see StringView \\u2013 a C-like representation of strings based on typed arrays.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoder)\n */\ninterface TextEncoder extends TextEncoderCommon {\n    /**\n     * Returns the result of running UTF-8's encoder.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoder/encode)\n     */\n    encode(input?: string): Uint8Array;\n    /**\n     * Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as an object wherein read is the number of converted code units of source and written is the number of bytes modified in destination.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoder/encodeInto)\n     */\n    encodeInto(source: string, destination: Uint8Array): TextEncoderEncodeIntoResult;\n}\n\ndeclare var TextEncoder: {\n    prototype: TextEncoder;\n    new(): TextEncoder;\n};\n\ninterface TextEncoderCommon {\n    /**\n     * Returns \"utf-8\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoder/encoding)\n     */\n    readonly encoding: string;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextEncoderStream) */\ninterface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {\n    readonly readable: ReadableStream<Uint8Array>;\n    readonly writable: WritableStream<string>;\n}\n\ndeclare var TextEncoderStream: {\n    prototype: TextEncoderStream;\n    new(): TextEncoderStream;\n};\n\n/**\n * The dimensions of a piece of text in the canvas, as created by the CanvasRenderingContext2D.measureText() method.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics)\n */\ninterface TextMetrics {\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/actualBoundingBoxAscent)\n     */\n    readonly actualBoundingBoxAscent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/actualBoundingBoxDescent)\n     */\n    readonly actualBoundingBoxDescent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/actualBoundingBoxLeft)\n     */\n    readonly actualBoundingBoxLeft: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/actualBoundingBoxRight)\n     */\n    readonly actualBoundingBoxRight: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/alphabeticBaseline)\n     */\n    readonly alphabeticBaseline: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/emHeightAscent)\n     */\n    readonly emHeightAscent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/emHeightDescent)\n     */\n    readonly emHeightDescent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/fontBoundingBoxAscent)\n     */\n    readonly fontBoundingBoxAscent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/fontBoundingBoxDescent)\n     */\n    readonly fontBoundingBoxDescent: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/hangingBaseline)\n     */\n    readonly hangingBaseline: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/ideographicBaseline)\n     */\n    readonly ideographicBaseline: number;\n    /**\n     * Returns the measurement described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextMetrics/width)\n     */\n    readonly width: number;\n}\n\ndeclare var TextMetrics: {\n    prototype: TextMetrics;\n    new(): TextMetrics;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStream) */\ninterface TransformStream<I = any, O = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStream/readable) */\n    readonly readable: ReadableStream<O>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStream/writable) */\n    readonly writable: WritableStream<I>;\n}\n\ndeclare var TransformStream: {\n    prototype: TransformStream;\n    new<I = any, O = any>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>): TransformStream<I, O>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController) */\ninterface TransformStreamDefaultController<O = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController/desiredSize) */\n    readonly desiredSize: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController/enqueue) */\n    enqueue(chunk?: O): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController/error) */\n    error(reason?: any): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TransformStreamDefaultController/terminate) */\n    terminate(): void;\n}\n\ndeclare var TransformStreamDefaultController: {\n    prototype: TransformStreamDefaultController;\n    new(): TransformStreamDefaultController;\n};\n\n/**\n * The URL\\xA0interface represents an object providing static methods used for creating object URLs.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL)\n */\ninterface URL {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/hash) */\n    hash: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/host) */\n    host: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/hostname) */\n    hostname: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/href) */\n    href: string;\n    toString(): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/origin) */\n    readonly origin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/password) */\n    password: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/pathname) */\n    pathname: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/port) */\n    port: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/protocol) */\n    protocol: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/search) */\n    search: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/searchParams) */\n    readonly searchParams: URLSearchParams;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/username) */\n    username: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/toJSON) */\n    toJSON(): string;\n}\n\ndeclare var URL: {\n    prototype: URL;\n    new(url: string | URL, base?: string | URL): URL;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */\n    canParse(url: string | URL, base?: string): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/createObjectURL_static) */\n    createObjectURL(obj: Blob): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/revokeObjectURL_static) */\n    revokeObjectURL(url: string): void;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams) */\ninterface URLSearchParams {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/size) */\n    readonly size: number;\n    /**\n     * Appends a specified key/value pair as a new search parameter.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/append)\n     */\n    append(name: string, value: string): void;\n    /**\n     * Deletes the given search parameter, and its associated value, from the list of all search parameters.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/delete)\n     */\n    delete(name: string, value?: string): void;\n    /**\n     * Returns the first value associated to the given search parameter.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/get)\n     */\n    get(name: string): string | null;\n    /**\n     * Returns all the values association with a given search parameter.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/getAll)\n     */\n    getAll(name: string): string[];\n    /**\n     * Returns a Boolean indicating if such a search parameter exists.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/has)\n     */\n    has(name: string, value?: string): boolean;\n    /**\n     * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/set)\n     */\n    set(name: string, value: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/sort) */\n    sort(): void;\n    /** Returns a string containing a query string suitable for use in a URL. Does not include the question mark. */\n    toString(): string;\n    forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void;\n}\n\ndeclare var URLSearchParams: {\n    prototype: URLSearchParams;\n    new(init?: string[][] | Record<string, string> | string | URLSearchParams): URLSearchParams;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace) */\ninterface VideoColorSpace {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/fullRange) */\n    readonly fullRange: boolean | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/matrix) */\n    readonly matrix: VideoMatrixCoefficients | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/primaries) */\n    readonly primaries: VideoColorPrimaries | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/transfer) */\n    readonly transfer: VideoTransferCharacteristics | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/toJSON) */\n    toJSON(): VideoColorSpaceInit;\n}\n\ndeclare var VideoColorSpace: {\n    prototype: VideoColorSpace;\n    new(init?: VideoColorSpaceInit): VideoColorSpace;\n};\n\ninterface VideoDecoderEventMap {\n    \"dequeue\": Event;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder)\n */\ninterface VideoDecoder extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/decodeQueueSize) */\n    readonly decodeQueueSize: number;\n    ondequeue: ((this: VideoDecoder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/state) */\n    readonly state: CodecState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/configure) */\n    configure(config: VideoDecoderConfig): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/decode) */\n    decode(chunk: EncodedVideoChunk): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/flush) */\n    flush(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/reset) */\n    reset(): void;\n    addEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VideoDecoder: {\n    prototype: VideoDecoder;\n    new(init: VideoDecoderInit): VideoDecoder;\n    isConfigSupported(config: VideoDecoderConfig): Promise<VideoDecoderSupport>;\n};\n\ninterface VideoEncoderEventMap {\n    \"dequeue\": Event;\n}\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder)\n */\ninterface VideoEncoder extends EventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/encodeQueueSize) */\n    readonly encodeQueueSize: number;\n    ondequeue: ((this: VideoEncoder, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/state) */\n    readonly state: CodecState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/close) */\n    close(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/configure) */\n    configure(config: VideoEncoderConfig): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/encode) */\n    encode(frame: VideoFrame, options?: VideoEncoderEncodeOptions): void;\n    flush(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/reset) */\n    reset(): void;\n    addEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VideoEncoder: {\n    prototype: VideoEncoder;\n    new(init: VideoEncoderInit): VideoEncoder;\n    isConfigSupported(config: VideoEncoderConfig): Promise<VideoEncoderSupport>;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame) */\ninterface VideoFrame {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedHeight) */\n    readonly codedHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedRect) */\n    readonly codedRect: DOMRectReadOnly | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedWidth) */\n    readonly codedWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/colorSpace) */\n    readonly colorSpace: VideoColorSpace;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/displayHeight) */\n    readonly displayHeight: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/displayWidth) */\n    readonly displayWidth: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/duration) */\n    readonly duration: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/format) */\n    readonly format: VideoPixelFormat | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/timestamp) */\n    readonly timestamp: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/visibleRect) */\n    readonly visibleRect: DOMRectReadOnly | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/allocationSize) */\n    allocationSize(options?: VideoFrameCopyToOptions): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/clone) */\n    clone(): VideoFrame;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/close) */\n    close(): void;\n    copyTo(destination: AllowSharedBufferSource, options?: VideoFrameCopyToOptions): Promise<PlaneLayout[]>;\n}\n\ndeclare var VideoFrame: {\n    prototype: VideoFrame;\n    new(image: CanvasImageSource, init?: VideoFrameInit): VideoFrame;\n    new(data: AllowSharedBufferSource, init: VideoFrameBufferInit): VideoFrame;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_color_buffer_float) */\ninterface WEBGL_color_buffer_float {\n    readonly RGBA32F_EXT: 0x8814;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 0x8211;\n    readonly UNSIGNED_NORMALIZED_EXT: 0x8C17;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_astc) */\ninterface WEBGL_compressed_texture_astc {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_astc/getSupportedProfiles) */\n    getSupportedProfiles(): string[];\n    readonly COMPRESSED_RGBA_ASTC_4x4_KHR: 0x93B0;\n    readonly COMPRESSED_RGBA_ASTC_5x4_KHR: 0x93B1;\n    readonly COMPRESSED_RGBA_ASTC_5x5_KHR: 0x93B2;\n    readonly COMPRESSED_RGBA_ASTC_6x5_KHR: 0x93B3;\n    readonly COMPRESSED_RGBA_ASTC_6x6_KHR: 0x93B4;\n    readonly COMPRESSED_RGBA_ASTC_8x5_KHR: 0x93B5;\n    readonly COMPRESSED_RGBA_ASTC_8x6_KHR: 0x93B6;\n    readonly COMPRESSED_RGBA_ASTC_8x8_KHR: 0x93B7;\n    readonly COMPRESSED_RGBA_ASTC_10x5_KHR: 0x93B8;\n    readonly COMPRESSED_RGBA_ASTC_10x6_KHR: 0x93B9;\n    readonly COMPRESSED_RGBA_ASTC_10x8_KHR: 0x93BA;\n    readonly COMPRESSED_RGBA_ASTC_10x10_KHR: 0x93BB;\n    readonly COMPRESSED_RGBA_ASTC_12x10_KHR: 0x93BC;\n    readonly COMPRESSED_RGBA_ASTC_12x12_KHR: 0x93BD;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: 0x93D0;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: 0x93D1;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: 0x93D2;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: 0x93D3;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: 0x93D4;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: 0x93D5;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: 0x93D6;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: 0x93D7;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: 0x93D8;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: 0x93D9;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: 0x93DA;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: 0x93DB;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: 0x93DC;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: 0x93DD;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_etc) */\ninterface WEBGL_compressed_texture_etc {\n    readonly COMPRESSED_R11_EAC: 0x9270;\n    readonly COMPRESSED_SIGNED_R11_EAC: 0x9271;\n    readonly COMPRESSED_RG11_EAC: 0x9272;\n    readonly COMPRESSED_SIGNED_RG11_EAC: 0x9273;\n    readonly COMPRESSED_RGB8_ETC2: 0x9274;\n    readonly COMPRESSED_SRGB8_ETC2: 0x9275;\n    readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9276;\n    readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9277;\n    readonly COMPRESSED_RGBA8_ETC2_EAC: 0x9278;\n    readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9279;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_etc1) */\ninterface WEBGL_compressed_texture_etc1 {\n    readonly COMPRESSED_RGB_ETC1_WEBGL: 0x8D64;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_pvrtc) */\ninterface WEBGL_compressed_texture_pvrtc {\n    readonly COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8C00;\n    readonly COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8C01;\n    readonly COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8C02;\n    readonly COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8C03;\n}\n\n/**\n * The WEBGL_compressed_texture_s3tc extension is part of the WebGL API and exposes four S3TC compressed texture formats.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_s3tc)\n */\ninterface WEBGL_compressed_texture_s3tc {\n    readonly COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83F0;\n    readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83F1;\n    readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83F2;\n    readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83F3;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_compressed_texture_s3tc_srgb) */\ninterface WEBGL_compressed_texture_s3tc_srgb {\n    readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: 0x8C4C;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 0x8C4D;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8C4E;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8C4F;\n}\n\n/**\n * The WEBGL_debug_renderer_info extension is part of the WebGL API and exposes two constants with information about the graphics driver for debugging purposes.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_debug_renderer_info)\n */\ninterface WEBGL_debug_renderer_info {\n    readonly UNMASKED_VENDOR_WEBGL: 0x9245;\n    readonly UNMASKED_RENDERER_WEBGL: 0x9246;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_debug_shaders) */\ninterface WEBGL_debug_shaders {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_debug_shaders/getTranslatedShaderSource) */\n    getTranslatedShaderSource(shader: WebGLShader): string;\n}\n\n/**\n * The WEBGL_depth_texture extension is part of the WebGL API and defines 2D depth and depth-stencil textures.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_depth_texture)\n */\ninterface WEBGL_depth_texture {\n    readonly UNSIGNED_INT_24_8_WEBGL: 0x84FA;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers) */\ninterface WEBGL_draw_buffers {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL) */\n    drawBuffersWEBGL(buffers: GLenum[]): void;\n    readonly COLOR_ATTACHMENT0_WEBGL: 0x8CE0;\n    readonly COLOR_ATTACHMENT1_WEBGL: 0x8CE1;\n    readonly COLOR_ATTACHMENT2_WEBGL: 0x8CE2;\n    readonly COLOR_ATTACHMENT3_WEBGL: 0x8CE3;\n    readonly COLOR_ATTACHMENT4_WEBGL: 0x8CE4;\n    readonly COLOR_ATTACHMENT5_WEBGL: 0x8CE5;\n    readonly COLOR_ATTACHMENT6_WEBGL: 0x8CE6;\n    readonly COLOR_ATTACHMENT7_WEBGL: 0x8CE7;\n    readonly COLOR_ATTACHMENT8_WEBGL: 0x8CE8;\n    readonly COLOR_ATTACHMENT9_WEBGL: 0x8CE9;\n    readonly COLOR_ATTACHMENT10_WEBGL: 0x8CEA;\n    readonly COLOR_ATTACHMENT11_WEBGL: 0x8CEB;\n    readonly COLOR_ATTACHMENT12_WEBGL: 0x8CEC;\n    readonly COLOR_ATTACHMENT13_WEBGL: 0x8CED;\n    readonly COLOR_ATTACHMENT14_WEBGL: 0x8CEE;\n    readonly COLOR_ATTACHMENT15_WEBGL: 0x8CEF;\n    readonly DRAW_BUFFER0_WEBGL: 0x8825;\n    readonly DRAW_BUFFER1_WEBGL: 0x8826;\n    readonly DRAW_BUFFER2_WEBGL: 0x8827;\n    readonly DRAW_BUFFER3_WEBGL: 0x8828;\n    readonly DRAW_BUFFER4_WEBGL: 0x8829;\n    readonly DRAW_BUFFER5_WEBGL: 0x882A;\n    readonly DRAW_BUFFER6_WEBGL: 0x882B;\n    readonly DRAW_BUFFER7_WEBGL: 0x882C;\n    readonly DRAW_BUFFER8_WEBGL: 0x882D;\n    readonly DRAW_BUFFER9_WEBGL: 0x882E;\n    readonly DRAW_BUFFER10_WEBGL: 0x882F;\n    readonly DRAW_BUFFER11_WEBGL: 0x8830;\n    readonly DRAW_BUFFER12_WEBGL: 0x8831;\n    readonly DRAW_BUFFER13_WEBGL: 0x8832;\n    readonly DRAW_BUFFER14_WEBGL: 0x8833;\n    readonly DRAW_BUFFER15_WEBGL: 0x8834;\n    readonly MAX_COLOR_ATTACHMENTS_WEBGL: 0x8CDF;\n    readonly MAX_DRAW_BUFFERS_WEBGL: 0x8824;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_lose_context) */\ninterface WEBGL_lose_context {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_lose_context/loseContext) */\n    loseContext(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_lose_context/restoreContext) */\n    restoreContext(): void;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw) */\ninterface WEBGL_multi_draw {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysInstancedWEBGL) */\n    multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: number, countsList: Int32Array | GLsizei[], countsOffset: number, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysWEBGL) */\n    multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | GLint[], firstsOffset: number, countsList: Int32Array | GLsizei[], countsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsInstancedWEBGL) */\n    multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | GLsizei[], countsOffset: number, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: number, instanceCountsList: Int32Array | GLsizei[], instanceCountsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsWEBGL) */\n    multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | GLsizei[], countsOffset: number, type: GLenum, offsetsList: Int32Array | GLsizei[], offsetsOffset: number, drawcount: GLsizei): void;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext) */\ninterface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {\n}\n\ndeclare var WebGL2RenderingContext: {\n    prototype: WebGL2RenderingContext;\n    new(): WebGL2RenderingContext;\n    readonly READ_BUFFER: 0x0C02;\n    readonly UNPACK_ROW_LENGTH: 0x0CF2;\n    readonly UNPACK_SKIP_ROWS: 0x0CF3;\n    readonly UNPACK_SKIP_PIXELS: 0x0CF4;\n    readonly PACK_ROW_LENGTH: 0x0D02;\n    readonly PACK_SKIP_ROWS: 0x0D03;\n    readonly PACK_SKIP_PIXELS: 0x0D04;\n    readonly COLOR: 0x1800;\n    readonly DEPTH: 0x1801;\n    readonly STENCIL: 0x1802;\n    readonly RED: 0x1903;\n    readonly RGB8: 0x8051;\n    readonly RGB10_A2: 0x8059;\n    readonly TEXTURE_BINDING_3D: 0x806A;\n    readonly UNPACK_SKIP_IMAGES: 0x806D;\n    readonly UNPACK_IMAGE_HEIGHT: 0x806E;\n    readonly TEXTURE_3D: 0x806F;\n    readonly TEXTURE_WRAP_R: 0x8072;\n    readonly MAX_3D_TEXTURE_SIZE: 0x8073;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 0x8368;\n    readonly MAX_ELEMENTS_VERTICES: 0x80E8;\n    readonly MAX_ELEMENTS_INDICES: 0x80E9;\n    readonly TEXTURE_MIN_LOD: 0x813A;\n    readonly TEXTURE_MAX_LOD: 0x813B;\n    readonly TEXTURE_BASE_LEVEL: 0x813C;\n    readonly TEXTURE_MAX_LEVEL: 0x813D;\n    readonly MIN: 0x8007;\n    readonly MAX: 0x8008;\n    readonly DEPTH_COMPONENT24: 0x81A6;\n    readonly MAX_TEXTURE_LOD_BIAS: 0x84FD;\n    readonly TEXTURE_COMPARE_MODE: 0x884C;\n    readonly TEXTURE_COMPARE_FUNC: 0x884D;\n    readonly CURRENT_QUERY: 0x8865;\n    readonly QUERY_RESULT: 0x8866;\n    readonly QUERY_RESULT_AVAILABLE: 0x8867;\n    readonly STREAM_READ: 0x88E1;\n    readonly STREAM_COPY: 0x88E2;\n    readonly STATIC_READ: 0x88E5;\n    readonly STATIC_COPY: 0x88E6;\n    readonly DYNAMIC_READ: 0x88E9;\n    readonly DYNAMIC_COPY: 0x88EA;\n    readonly MAX_DRAW_BUFFERS: 0x8824;\n    readonly DRAW_BUFFER0: 0x8825;\n    readonly DRAW_BUFFER1: 0x8826;\n    readonly DRAW_BUFFER2: 0x8827;\n    readonly DRAW_BUFFER3: 0x8828;\n    readonly DRAW_BUFFER4: 0x8829;\n    readonly DRAW_BUFFER5: 0x882A;\n    readonly DRAW_BUFFER6: 0x882B;\n    readonly DRAW_BUFFER7: 0x882C;\n    readonly DRAW_BUFFER8: 0x882D;\n    readonly DRAW_BUFFER9: 0x882E;\n    readonly DRAW_BUFFER10: 0x882F;\n    readonly DRAW_BUFFER11: 0x8830;\n    readonly DRAW_BUFFER12: 0x8831;\n    readonly DRAW_BUFFER13: 0x8832;\n    readonly DRAW_BUFFER14: 0x8833;\n    readonly DRAW_BUFFER15: 0x8834;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 0x8B49;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 0x8B4A;\n    readonly SAMPLER_3D: 0x8B5F;\n    readonly SAMPLER_2D_SHADOW: 0x8B62;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 0x8B8B;\n    readonly PIXEL_PACK_BUFFER: 0x88EB;\n    readonly PIXEL_UNPACK_BUFFER: 0x88EC;\n    readonly PIXEL_PACK_BUFFER_BINDING: 0x88ED;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 0x88EF;\n    readonly FLOAT_MAT2x3: 0x8B65;\n    readonly FLOAT_MAT2x4: 0x8B66;\n    readonly FLOAT_MAT3x2: 0x8B67;\n    readonly FLOAT_MAT3x4: 0x8B68;\n    readonly FLOAT_MAT4x2: 0x8B69;\n    readonly FLOAT_MAT4x3: 0x8B6A;\n    readonly SRGB: 0x8C40;\n    readonly SRGB8: 0x8C41;\n    readonly SRGB8_ALPHA8: 0x8C43;\n    readonly COMPARE_REF_TO_TEXTURE: 0x884E;\n    readonly RGBA32F: 0x8814;\n    readonly RGB32F: 0x8815;\n    readonly RGBA16F: 0x881A;\n    readonly RGB16F: 0x881B;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 0x88FD;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 0x88FF;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 0x8904;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 0x8905;\n    readonly MAX_VARYING_COMPONENTS: 0x8B4B;\n    readonly TEXTURE_2D_ARRAY: 0x8C1A;\n    readonly TEXTURE_BINDING_2D_ARRAY: 0x8C1D;\n    readonly R11F_G11F_B10F: 0x8C3A;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 0x8C3B;\n    readonly RGB9_E5: 0x8C3D;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 0x8C3E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 0x8C7F;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 0x8C80;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 0x8C83;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 0x8C84;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 0x8C85;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 0x8C88;\n    readonly RASTERIZER_DISCARD: 0x8C89;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 0x8C8A;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 0x8C8B;\n    readonly INTERLEAVED_ATTRIBS: 0x8C8C;\n    readonly SEPARATE_ATTRIBS: 0x8C8D;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 0x8C8E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 0x8C8F;\n    readonly RGBA32UI: 0x8D70;\n    readonly RGB32UI: 0x8D71;\n    readonly RGBA16UI: 0x8D76;\n    readonly RGB16UI: 0x8D77;\n    readonly RGBA8UI: 0x8D7C;\n    readonly RGB8UI: 0x8D7D;\n    readonly RGBA32I: 0x8D82;\n    readonly RGB32I: 0x8D83;\n    readonly RGBA16I: 0x8D88;\n    readonly RGB16I: 0x8D89;\n    readonly RGBA8I: 0x8D8E;\n    readonly RGB8I: 0x8D8F;\n    readonly RED_INTEGER: 0x8D94;\n    readonly RGB_INTEGER: 0x8D98;\n    readonly RGBA_INTEGER: 0x8D99;\n    readonly SAMPLER_2D_ARRAY: 0x8DC1;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 0x8DC4;\n    readonly SAMPLER_CUBE_SHADOW: 0x8DC5;\n    readonly UNSIGNED_INT_VEC2: 0x8DC6;\n    readonly UNSIGNED_INT_VEC3: 0x8DC7;\n    readonly UNSIGNED_INT_VEC4: 0x8DC8;\n    readonly INT_SAMPLER_2D: 0x8DCA;\n    readonly INT_SAMPLER_3D: 0x8DCB;\n    readonly INT_SAMPLER_CUBE: 0x8DCC;\n    readonly INT_SAMPLER_2D_ARRAY: 0x8DCF;\n    readonly UNSIGNED_INT_SAMPLER_2D: 0x8DD2;\n    readonly UNSIGNED_INT_SAMPLER_3D: 0x8DD3;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 0x8DD4;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 0x8DD7;\n    readonly DEPTH_COMPONENT32F: 0x8CAC;\n    readonly DEPTH32F_STENCIL8: 0x8CAD;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 0x8DAD;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 0x8210;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 0x8211;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 0x8212;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 0x8213;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 0x8214;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 0x8215;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 0x8216;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 0x8217;\n    readonly FRAMEBUFFER_DEFAULT: 0x8218;\n    readonly UNSIGNED_INT_24_8: 0x84FA;\n    readonly DEPTH24_STENCIL8: 0x88F0;\n    readonly UNSIGNED_NORMALIZED: 0x8C17;\n    readonly DRAW_FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly READ_FRAMEBUFFER: 0x8CA8;\n    readonly DRAW_FRAMEBUFFER: 0x8CA9;\n    readonly READ_FRAMEBUFFER_BINDING: 0x8CAA;\n    readonly RENDERBUFFER_SAMPLES: 0x8CAB;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 0x8CD4;\n    readonly MAX_COLOR_ATTACHMENTS: 0x8CDF;\n    readonly COLOR_ATTACHMENT1: 0x8CE1;\n    readonly COLOR_ATTACHMENT2: 0x8CE2;\n    readonly COLOR_ATTACHMENT3: 0x8CE3;\n    readonly COLOR_ATTACHMENT4: 0x8CE4;\n    readonly COLOR_ATTACHMENT5: 0x8CE5;\n    readonly COLOR_ATTACHMENT6: 0x8CE6;\n    readonly COLOR_ATTACHMENT7: 0x8CE7;\n    readonly COLOR_ATTACHMENT8: 0x8CE8;\n    readonly COLOR_ATTACHMENT9: 0x8CE9;\n    readonly COLOR_ATTACHMENT10: 0x8CEA;\n    readonly COLOR_ATTACHMENT11: 0x8CEB;\n    readonly COLOR_ATTACHMENT12: 0x8CEC;\n    readonly COLOR_ATTACHMENT13: 0x8CED;\n    readonly COLOR_ATTACHMENT14: 0x8CEE;\n    readonly COLOR_ATTACHMENT15: 0x8CEF;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 0x8D56;\n    readonly MAX_SAMPLES: 0x8D57;\n    readonly HALF_FLOAT: 0x140B;\n    readonly RG: 0x8227;\n    readonly RG_INTEGER: 0x8228;\n    readonly R8: 0x8229;\n    readonly RG8: 0x822B;\n    readonly R16F: 0x822D;\n    readonly R32F: 0x822E;\n    readonly RG16F: 0x822F;\n    readonly RG32F: 0x8230;\n    readonly R8I: 0x8231;\n    readonly R8UI: 0x8232;\n    readonly R16I: 0x8233;\n    readonly R16UI: 0x8234;\n    readonly R32I: 0x8235;\n    readonly R32UI: 0x8236;\n    readonly RG8I: 0x8237;\n    readonly RG8UI: 0x8238;\n    readonly RG16I: 0x8239;\n    readonly RG16UI: 0x823A;\n    readonly RG32I: 0x823B;\n    readonly RG32UI: 0x823C;\n    readonly VERTEX_ARRAY_BINDING: 0x85B5;\n    readonly R8_SNORM: 0x8F94;\n    readonly RG8_SNORM: 0x8F95;\n    readonly RGB8_SNORM: 0x8F96;\n    readonly RGBA8_SNORM: 0x8F97;\n    readonly SIGNED_NORMALIZED: 0x8F9C;\n    readonly COPY_READ_BUFFER: 0x8F36;\n    readonly COPY_WRITE_BUFFER: 0x8F37;\n    readonly COPY_READ_BUFFER_BINDING: 0x8F36;\n    readonly COPY_WRITE_BUFFER_BINDING: 0x8F37;\n    readonly UNIFORM_BUFFER: 0x8A11;\n    readonly UNIFORM_BUFFER_BINDING: 0x8A28;\n    readonly UNIFORM_BUFFER_START: 0x8A29;\n    readonly UNIFORM_BUFFER_SIZE: 0x8A2A;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 0x8A2B;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 0x8A2D;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 0x8A2E;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 0x8A2F;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 0x8A30;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 0x8A31;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 0x8A33;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 0x8A34;\n    readonly ACTIVE_UNIFORM_BLOCKS: 0x8A36;\n    readonly UNIFORM_TYPE: 0x8A37;\n    readonly UNIFORM_SIZE: 0x8A38;\n    readonly UNIFORM_BLOCK_INDEX: 0x8A3A;\n    readonly UNIFORM_OFFSET: 0x8A3B;\n    readonly UNIFORM_ARRAY_STRIDE: 0x8A3C;\n    readonly UNIFORM_MATRIX_STRIDE: 0x8A3D;\n    readonly UNIFORM_IS_ROW_MAJOR: 0x8A3E;\n    readonly UNIFORM_BLOCK_BINDING: 0x8A3F;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 0x8A40;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 0x8A42;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 0x8A43;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 0x8A44;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 0x8A46;\n    readonly INVALID_INDEX: 0xFFFFFFFF;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 0x9122;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 0x9125;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 0x9111;\n    readonly OBJECT_TYPE: 0x9112;\n    readonly SYNC_CONDITION: 0x9113;\n    readonly SYNC_STATUS: 0x9114;\n    readonly SYNC_FLAGS: 0x9115;\n    readonly SYNC_FENCE: 0x9116;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 0x9117;\n    readonly UNSIGNALED: 0x9118;\n    readonly SIGNALED: 0x9119;\n    readonly ALREADY_SIGNALED: 0x911A;\n    readonly TIMEOUT_EXPIRED: 0x911B;\n    readonly CONDITION_SATISFIED: 0x911C;\n    readonly WAIT_FAILED: 0x911D;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 0x00000001;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 0x88FE;\n    readonly ANY_SAMPLES_PASSED: 0x8C2F;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 0x8D6A;\n    readonly SAMPLER_BINDING: 0x8919;\n    readonly RGB10_A2UI: 0x906F;\n    readonly INT_2_10_10_10_REV: 0x8D9F;\n    readonly TRANSFORM_FEEDBACK: 0x8E22;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 0x8E23;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 0x8E24;\n    readonly TRANSFORM_FEEDBACK_BINDING: 0x8E25;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 0x912F;\n    readonly MAX_ELEMENT_INDEX: 0x8D6B;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 0x82DF;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 0x9247;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGBA8: 0x8058;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n};\n\ninterface WebGL2RenderingContextBase {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/beginQuery) */\n    beginQuery(target: GLenum, query: WebGLQuery): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/beginTransformFeedback) */\n    beginTransformFeedback(primitiveMode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindBufferBase) */\n    bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindBufferRange) */\n    bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindSampler) */\n    bindSampler(unit: GLuint, sampler: WebGLSampler | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindTransformFeedback) */\n    bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindVertexArray) */\n    bindVertexArray(array: WebGLVertexArrayObject | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/blitFramebuffer) */\n    blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clientWaitSync) */\n    clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexImage3D) */\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexSubImage3D) */\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/copyBufferSubData) */\n    copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/copyTexSubImage3D) */\n    copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createQuery) */\n    createQuery(): WebGLQuery | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createSampler) */\n    createSampler(): WebGLSampler | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createTransformFeedback) */\n    createTransformFeedback(): WebGLTransformFeedback | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createVertexArray) */\n    createVertexArray(): WebGLVertexArrayObject | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteQuery) */\n    deleteQuery(query: WebGLQuery | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteSampler) */\n    deleteSampler(sampler: WebGLSampler | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteSync) */\n    deleteSync(sync: WebGLSync | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteTransformFeedback) */\n    deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteVertexArray) */\n    deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawArraysInstanced) */\n    drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawBuffers) */\n    drawBuffers(buffers: GLenum[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawElementsInstanced) */\n    drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawRangeElements) */\n    drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/endQuery) */\n    endQuery(target: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/endTransformFeedback) */\n    endTransformFeedback(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/fenceSync) */\n    fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/framebufferTextureLayer) */\n    framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, layer: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockName) */\n    getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockParameter) */\n    getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniforms) */\n    getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getBufferSubData) */\n    getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: number, length?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getFragDataLocation) */\n    getFragDataLocation(program: WebGLProgram, name: string): GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getIndexedParameter) */\n    getIndexedParameter(target: GLenum, index: GLuint): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getInternalformatParameter) */\n    getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQuery) */\n    getQuery(target: GLenum, pname: GLenum): WebGLQuery | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQueryParameter) */\n    getQueryParameter(query: WebGLQuery, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getSamplerParameter) */\n    getSamplerParameter(sampler: WebGLSampler, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getSyncParameter) */\n    getSyncParameter(sync: WebGLSync, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getTransformFeedbackVarying) */\n    getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformBlockIndex) */\n    getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): GLuint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices) */\n    getUniformIndices(program: WebGLProgram, uniformNames: string[]): GLuint[] | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateFramebuffer) */\n    invalidateFramebuffer(target: GLenum, attachments: GLenum[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateSubFramebuffer) */\n    invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isQuery) */\n    isQuery(query: WebGLQuery | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isSampler) */\n    isSampler(sampler: WebGLSampler | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isSync) */\n    isSync(sync: WebGLSync | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isTransformFeedback) */\n    isTransformFeedback(tf: WebGLTransformFeedback | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isVertexArray) */\n    isVertexArray(vertexArray: WebGLVertexArrayObject | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/pauseTransformFeedback) */\n    pauseTransformFeedback(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/readBuffer) */\n    readBuffer(src: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/renderbufferStorageMultisample) */\n    renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/resumeTransformFeedback) */\n    resumeTransformFeedback(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/samplerParameter) */\n    samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/samplerParameter) */\n    samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texImage3D) */\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView | null): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texStorage2D) */\n    texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texStorage3D) */\n    texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texSubImage3D) */\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView | null, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/transformFeedbackVaryings) */\n    transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform1ui(location: WebGLUniformLocation | null, v0: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformBlockBinding) */\n    uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribDivisor) */\n    vertexAttribDivisor(index: GLuint, divisor: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4iv(index: GLuint, values: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4uiv(index: GLuint, values: Uint32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribIPointer) */\n    vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/waitSync) */\n    waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void;\n    readonly READ_BUFFER: 0x0C02;\n    readonly UNPACK_ROW_LENGTH: 0x0CF2;\n    readonly UNPACK_SKIP_ROWS: 0x0CF3;\n    readonly UNPACK_SKIP_PIXELS: 0x0CF4;\n    readonly PACK_ROW_LENGTH: 0x0D02;\n    readonly PACK_SKIP_ROWS: 0x0D03;\n    readonly PACK_SKIP_PIXELS: 0x0D04;\n    readonly COLOR: 0x1800;\n    readonly DEPTH: 0x1801;\n    readonly STENCIL: 0x1802;\n    readonly RED: 0x1903;\n    readonly RGB8: 0x8051;\n    readonly RGB10_A2: 0x8059;\n    readonly TEXTURE_BINDING_3D: 0x806A;\n    readonly UNPACK_SKIP_IMAGES: 0x806D;\n    readonly UNPACK_IMAGE_HEIGHT: 0x806E;\n    readonly TEXTURE_3D: 0x806F;\n    readonly TEXTURE_WRAP_R: 0x8072;\n    readonly MAX_3D_TEXTURE_SIZE: 0x8073;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 0x8368;\n    readonly MAX_ELEMENTS_VERTICES: 0x80E8;\n    readonly MAX_ELEMENTS_INDICES: 0x80E9;\n    readonly TEXTURE_MIN_LOD: 0x813A;\n    readonly TEXTURE_MAX_LOD: 0x813B;\n    readonly TEXTURE_BASE_LEVEL: 0x813C;\n    readonly TEXTURE_MAX_LEVEL: 0x813D;\n    readonly MIN: 0x8007;\n    readonly MAX: 0x8008;\n    readonly DEPTH_COMPONENT24: 0x81A6;\n    readonly MAX_TEXTURE_LOD_BIAS: 0x84FD;\n    readonly TEXTURE_COMPARE_MODE: 0x884C;\n    readonly TEXTURE_COMPARE_FUNC: 0x884D;\n    readonly CURRENT_QUERY: 0x8865;\n    readonly QUERY_RESULT: 0x8866;\n    readonly QUERY_RESULT_AVAILABLE: 0x8867;\n    readonly STREAM_READ: 0x88E1;\n    readonly STREAM_COPY: 0x88E2;\n    readonly STATIC_READ: 0x88E5;\n    readonly STATIC_COPY: 0x88E6;\n    readonly DYNAMIC_READ: 0x88E9;\n    readonly DYNAMIC_COPY: 0x88EA;\n    readonly MAX_DRAW_BUFFERS: 0x8824;\n    readonly DRAW_BUFFER0: 0x8825;\n    readonly DRAW_BUFFER1: 0x8826;\n    readonly DRAW_BUFFER2: 0x8827;\n    readonly DRAW_BUFFER3: 0x8828;\n    readonly DRAW_BUFFER4: 0x8829;\n    readonly DRAW_BUFFER5: 0x882A;\n    readonly DRAW_BUFFER6: 0x882B;\n    readonly DRAW_BUFFER7: 0x882C;\n    readonly DRAW_BUFFER8: 0x882D;\n    readonly DRAW_BUFFER9: 0x882E;\n    readonly DRAW_BUFFER10: 0x882F;\n    readonly DRAW_BUFFER11: 0x8830;\n    readonly DRAW_BUFFER12: 0x8831;\n    readonly DRAW_BUFFER13: 0x8832;\n    readonly DRAW_BUFFER14: 0x8833;\n    readonly DRAW_BUFFER15: 0x8834;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 0x8B49;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 0x8B4A;\n    readonly SAMPLER_3D: 0x8B5F;\n    readonly SAMPLER_2D_SHADOW: 0x8B62;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 0x8B8B;\n    readonly PIXEL_PACK_BUFFER: 0x88EB;\n    readonly PIXEL_UNPACK_BUFFER: 0x88EC;\n    readonly PIXEL_PACK_BUFFER_BINDING: 0x88ED;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 0x88EF;\n    readonly FLOAT_MAT2x3: 0x8B65;\n    readonly FLOAT_MAT2x4: 0x8B66;\n    readonly FLOAT_MAT3x2: 0x8B67;\n    readonly FLOAT_MAT3x4: 0x8B68;\n    readonly FLOAT_MAT4x2: 0x8B69;\n    readonly FLOAT_MAT4x3: 0x8B6A;\n    readonly SRGB: 0x8C40;\n    readonly SRGB8: 0x8C41;\n    readonly SRGB8_ALPHA8: 0x8C43;\n    readonly COMPARE_REF_TO_TEXTURE: 0x884E;\n    readonly RGBA32F: 0x8814;\n    readonly RGB32F: 0x8815;\n    readonly RGBA16F: 0x881A;\n    readonly RGB16F: 0x881B;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 0x88FD;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 0x88FF;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 0x8904;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 0x8905;\n    readonly MAX_VARYING_COMPONENTS: 0x8B4B;\n    readonly TEXTURE_2D_ARRAY: 0x8C1A;\n    readonly TEXTURE_BINDING_2D_ARRAY: 0x8C1D;\n    readonly R11F_G11F_B10F: 0x8C3A;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 0x8C3B;\n    readonly RGB9_E5: 0x8C3D;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 0x8C3E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 0x8C7F;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 0x8C80;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 0x8C83;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 0x8C84;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 0x8C85;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 0x8C88;\n    readonly RASTERIZER_DISCARD: 0x8C89;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 0x8C8A;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 0x8C8B;\n    readonly INTERLEAVED_ATTRIBS: 0x8C8C;\n    readonly SEPARATE_ATTRIBS: 0x8C8D;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 0x8C8E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 0x8C8F;\n    readonly RGBA32UI: 0x8D70;\n    readonly RGB32UI: 0x8D71;\n    readonly RGBA16UI: 0x8D76;\n    readonly RGB16UI: 0x8D77;\n    readonly RGBA8UI: 0x8D7C;\n    readonly RGB8UI: 0x8D7D;\n    readonly RGBA32I: 0x8D82;\n    readonly RGB32I: 0x8D83;\n    readonly RGBA16I: 0x8D88;\n    readonly RGB16I: 0x8D89;\n    readonly RGBA8I: 0x8D8E;\n    readonly RGB8I: 0x8D8F;\n    readonly RED_INTEGER: 0x8D94;\n    readonly RGB_INTEGER: 0x8D98;\n    readonly RGBA_INTEGER: 0x8D99;\n    readonly SAMPLER_2D_ARRAY: 0x8DC1;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 0x8DC4;\n    readonly SAMPLER_CUBE_SHADOW: 0x8DC5;\n    readonly UNSIGNED_INT_VEC2: 0x8DC6;\n    readonly UNSIGNED_INT_VEC3: 0x8DC7;\n    readonly UNSIGNED_INT_VEC4: 0x8DC8;\n    readonly INT_SAMPLER_2D: 0x8DCA;\n    readonly INT_SAMPLER_3D: 0x8DCB;\n    readonly INT_SAMPLER_CUBE: 0x8DCC;\n    readonly INT_SAMPLER_2D_ARRAY: 0x8DCF;\n    readonly UNSIGNED_INT_SAMPLER_2D: 0x8DD2;\n    readonly UNSIGNED_INT_SAMPLER_3D: 0x8DD3;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 0x8DD4;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 0x8DD7;\n    readonly DEPTH_COMPONENT32F: 0x8CAC;\n    readonly DEPTH32F_STENCIL8: 0x8CAD;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 0x8DAD;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 0x8210;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 0x8211;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 0x8212;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 0x8213;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 0x8214;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 0x8215;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 0x8216;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 0x8217;\n    readonly FRAMEBUFFER_DEFAULT: 0x8218;\n    readonly UNSIGNED_INT_24_8: 0x84FA;\n    readonly DEPTH24_STENCIL8: 0x88F0;\n    readonly UNSIGNED_NORMALIZED: 0x8C17;\n    readonly DRAW_FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly READ_FRAMEBUFFER: 0x8CA8;\n    readonly DRAW_FRAMEBUFFER: 0x8CA9;\n    readonly READ_FRAMEBUFFER_BINDING: 0x8CAA;\n    readonly RENDERBUFFER_SAMPLES: 0x8CAB;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 0x8CD4;\n    readonly MAX_COLOR_ATTACHMENTS: 0x8CDF;\n    readonly COLOR_ATTACHMENT1: 0x8CE1;\n    readonly COLOR_ATTACHMENT2: 0x8CE2;\n    readonly COLOR_ATTACHMENT3: 0x8CE3;\n    readonly COLOR_ATTACHMENT4: 0x8CE4;\n    readonly COLOR_ATTACHMENT5: 0x8CE5;\n    readonly COLOR_ATTACHMENT6: 0x8CE6;\n    readonly COLOR_ATTACHMENT7: 0x8CE7;\n    readonly COLOR_ATTACHMENT8: 0x8CE8;\n    readonly COLOR_ATTACHMENT9: 0x8CE9;\n    readonly COLOR_ATTACHMENT10: 0x8CEA;\n    readonly COLOR_ATTACHMENT11: 0x8CEB;\n    readonly COLOR_ATTACHMENT12: 0x8CEC;\n    readonly COLOR_ATTACHMENT13: 0x8CED;\n    readonly COLOR_ATTACHMENT14: 0x8CEE;\n    readonly COLOR_ATTACHMENT15: 0x8CEF;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 0x8D56;\n    readonly MAX_SAMPLES: 0x8D57;\n    readonly HALF_FLOAT: 0x140B;\n    readonly RG: 0x8227;\n    readonly RG_INTEGER: 0x8228;\n    readonly R8: 0x8229;\n    readonly RG8: 0x822B;\n    readonly R16F: 0x822D;\n    readonly R32F: 0x822E;\n    readonly RG16F: 0x822F;\n    readonly RG32F: 0x8230;\n    readonly R8I: 0x8231;\n    readonly R8UI: 0x8232;\n    readonly R16I: 0x8233;\n    readonly R16UI: 0x8234;\n    readonly R32I: 0x8235;\n    readonly R32UI: 0x8236;\n    readonly RG8I: 0x8237;\n    readonly RG8UI: 0x8238;\n    readonly RG16I: 0x8239;\n    readonly RG16UI: 0x823A;\n    readonly RG32I: 0x823B;\n    readonly RG32UI: 0x823C;\n    readonly VERTEX_ARRAY_BINDING: 0x85B5;\n    readonly R8_SNORM: 0x8F94;\n    readonly RG8_SNORM: 0x8F95;\n    readonly RGB8_SNORM: 0x8F96;\n    readonly RGBA8_SNORM: 0x8F97;\n    readonly SIGNED_NORMALIZED: 0x8F9C;\n    readonly COPY_READ_BUFFER: 0x8F36;\n    readonly COPY_WRITE_BUFFER: 0x8F37;\n    readonly COPY_READ_BUFFER_BINDING: 0x8F36;\n    readonly COPY_WRITE_BUFFER_BINDING: 0x8F37;\n    readonly UNIFORM_BUFFER: 0x8A11;\n    readonly UNIFORM_BUFFER_BINDING: 0x8A28;\n    readonly UNIFORM_BUFFER_START: 0x8A29;\n    readonly UNIFORM_BUFFER_SIZE: 0x8A2A;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 0x8A2B;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 0x8A2D;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 0x8A2E;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 0x8A2F;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 0x8A30;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 0x8A31;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 0x8A33;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 0x8A34;\n    readonly ACTIVE_UNIFORM_BLOCKS: 0x8A36;\n    readonly UNIFORM_TYPE: 0x8A37;\n    readonly UNIFORM_SIZE: 0x8A38;\n    readonly UNIFORM_BLOCK_INDEX: 0x8A3A;\n    readonly UNIFORM_OFFSET: 0x8A3B;\n    readonly UNIFORM_ARRAY_STRIDE: 0x8A3C;\n    readonly UNIFORM_MATRIX_STRIDE: 0x8A3D;\n    readonly UNIFORM_IS_ROW_MAJOR: 0x8A3E;\n    readonly UNIFORM_BLOCK_BINDING: 0x8A3F;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 0x8A40;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 0x8A42;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 0x8A43;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 0x8A44;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 0x8A46;\n    readonly INVALID_INDEX: 0xFFFFFFFF;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 0x9122;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 0x9125;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 0x9111;\n    readonly OBJECT_TYPE: 0x9112;\n    readonly SYNC_CONDITION: 0x9113;\n    readonly SYNC_STATUS: 0x9114;\n    readonly SYNC_FLAGS: 0x9115;\n    readonly SYNC_FENCE: 0x9116;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 0x9117;\n    readonly UNSIGNALED: 0x9118;\n    readonly SIGNALED: 0x9119;\n    readonly ALREADY_SIGNALED: 0x911A;\n    readonly TIMEOUT_EXPIRED: 0x911B;\n    readonly CONDITION_SATISFIED: 0x911C;\n    readonly WAIT_FAILED: 0x911D;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 0x00000001;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 0x88FE;\n    readonly ANY_SAMPLES_PASSED: 0x8C2F;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 0x8D6A;\n    readonly SAMPLER_BINDING: 0x8919;\n    readonly RGB10_A2UI: 0x906F;\n    readonly INT_2_10_10_10_REV: 0x8D9F;\n    readonly TRANSFORM_FEEDBACK: 0x8E22;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 0x8E23;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 0x8E24;\n    readonly TRANSFORM_FEEDBACK_BINDING: 0x8E25;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 0x912F;\n    readonly MAX_ELEMENT_INDEX: 0x8D6B;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 0x82DF;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 0x9247;\n}\n\ninterface WebGL2RenderingContextOverloads {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bufferData) */\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: AllowSharedBufferSource | null, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: number, length?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bufferSubData) */\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: AllowSharedBufferSource): void;\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: number, length?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexImage2D) */\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexSubImage2D) */\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/readPixels) */\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView | null): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texImage2D) */\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texSubImage2D) */\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n}\n\n/**\n * Part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getActiveAttrib() and WebGLRenderingContext.getActiveUniform() methods.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLActiveInfo)\n */\ninterface WebGLActiveInfo {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLActiveInfo/name) */\n    readonly name: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLActiveInfo/size) */\n    readonly size: GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLActiveInfo/type) */\n    readonly type: GLenum;\n}\n\ndeclare var WebGLActiveInfo: {\n    prototype: WebGLActiveInfo;\n    new(): WebGLActiveInfo;\n};\n\n/**\n * Part of the WebGL API and represents an opaque buffer object storing data such as vertices or colors.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLBuffer)\n */\ninterface WebGLBuffer {\n}\n\ndeclare var WebGLBuffer: {\n    prototype: WebGLBuffer;\n    new(): WebGLBuffer;\n};\n\n/**\n * The WebContextEvent interface is part of the WebGL API and is an interface for an event that is generated in response to a status change to the WebGL rendering context.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLContextEvent)\n */\ninterface WebGLContextEvent extends Event {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLContextEvent/statusMessage) */\n    readonly statusMessage: string;\n}\n\ndeclare var WebGLContextEvent: {\n    prototype: WebGLContextEvent;\n    new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent;\n};\n\n/**\n * Part of the WebGL API and represents a collection of buffers that serve as a rendering destination.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLFramebuffer)\n */\ninterface WebGLFramebuffer {\n}\n\ndeclare var WebGLFramebuffer: {\n    prototype: WebGLFramebuffer;\n    new(): WebGLFramebuffer;\n};\n\n/**\n * The WebGLProgram is part of the WebGL API and is a combination of two compiled WebGLShaders consisting of a vertex shader and a fragment shader (both written in GLSL).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLProgram)\n */\ninterface WebGLProgram {\n}\n\ndeclare var WebGLProgram: {\n    prototype: WebGLProgram;\n    new(): WebGLProgram;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLQuery) */\ninterface WebGLQuery {\n}\n\ndeclare var WebGLQuery: {\n    prototype: WebGLQuery;\n    new(): WebGLQuery;\n};\n\n/**\n * Part of the WebGL API and represents a buffer that can contain an image, or can be source or target of an rendering operation.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderbuffer)\n */\ninterface WebGLRenderbuffer {\n}\n\ndeclare var WebGLRenderbuffer: {\n    prototype: WebGLRenderbuffer;\n    new(): WebGLRenderbuffer;\n};\n\n/**\n * Provides an interface to the OpenGL ES 2.0 graphics rendering context for the drawing surface of an HTML <canvas> element.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext)\n */\ninterface WebGLRenderingContext extends WebGLRenderingContextBase, WebGLRenderingContextOverloads {\n}\n\ndeclare var WebGLRenderingContext: {\n    prototype: WebGLRenderingContext;\n    new(): WebGLRenderingContext;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGBA8: 0x8058;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n};\n\ninterface WebGLRenderingContextBase {\n    drawingBufferColorSpace: PredefinedColorSpace;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawingBufferHeight) */\n    readonly drawingBufferHeight: GLsizei;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawingBufferWidth) */\n    readonly drawingBufferWidth: GLsizei;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/activeTexture) */\n    activeTexture(texture: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/attachShader) */\n    attachShader(program: WebGLProgram, shader: WebGLShader): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindAttribLocation) */\n    bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindBuffer) */\n    bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindFramebuffer) */\n    bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindRenderbuffer) */\n    bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bindTexture) */\n    bindTexture(target: GLenum, texture: WebGLTexture | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendColor) */\n    blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendEquation) */\n    blendEquation(mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendEquationSeparate) */\n    blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendFunc) */\n    blendFunc(sfactor: GLenum, dfactor: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendFuncSeparate) */\n    blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/checkFramebufferStatus) */\n    checkFramebufferStatus(target: GLenum): GLenum;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/clear) */\n    clear(mask: GLbitfield): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/clearColor) */\n    clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/clearDepth) */\n    clearDepth(depth: GLclampf): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/clearStencil) */\n    clearStencil(s: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/colorMask) */\n    colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compileShader) */\n    compileShader(shader: WebGLShader): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/copyTexImage2D) */\n    copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/copyTexSubImage2D) */\n    copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createBuffer) */\n    createBuffer(): WebGLBuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createFramebuffer) */\n    createFramebuffer(): WebGLFramebuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createProgram) */\n    createProgram(): WebGLProgram | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createRenderbuffer) */\n    createRenderbuffer(): WebGLRenderbuffer | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createShader) */\n    createShader(type: GLenum): WebGLShader | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createTexture) */\n    createTexture(): WebGLTexture | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/cullFace) */\n    cullFace(mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteBuffer) */\n    deleteBuffer(buffer: WebGLBuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteFramebuffer) */\n    deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteProgram) */\n    deleteProgram(program: WebGLProgram | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteRenderbuffer) */\n    deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteShader) */\n    deleteShader(shader: WebGLShader | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/deleteTexture) */\n    deleteTexture(texture: WebGLTexture | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/depthFunc) */\n    depthFunc(func: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/depthMask) */\n    depthMask(flag: GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/depthRange) */\n    depthRange(zNear: GLclampf, zFar: GLclampf): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/detachShader) */\n    detachShader(program: WebGLProgram, shader: WebGLShader): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/disable) */\n    disable(cap: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/disableVertexAttribArray) */\n    disableVertexAttribArray(index: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawArrays) */\n    drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawElements) */\n    drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/enable) */\n    enable(cap: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/enableVertexAttribArray) */\n    enableVertexAttribArray(index: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/finish) */\n    finish(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/flush) */\n    flush(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/framebufferRenderbuffer) */\n    framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/framebufferTexture2D) */\n    framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/frontFace) */\n    frontFace(mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/generateMipmap) */\n    generateMipmap(target: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getActiveAttrib) */\n    getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getActiveUniform) */\n    getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getAttachedShaders) */\n    getAttachedShaders(program: WebGLProgram): WebGLShader[] | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getAttribLocation) */\n    getAttribLocation(program: WebGLProgram, name: string): GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getBufferParameter) */\n    getBufferParameter(target: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getContextAttributes) */\n    getContextAttributes(): WebGLContextAttributes | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getError) */\n    getError(): GLenum;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getExtension) */\n    getExtension(extensionName: \"ANGLE_instanced_arrays\"): ANGLE_instanced_arrays | null;\n    getExtension(extensionName: \"EXT_blend_minmax\"): EXT_blend_minmax | null;\n    getExtension(extensionName: \"EXT_color_buffer_float\"): EXT_color_buffer_float | null;\n    getExtension(extensionName: \"EXT_color_buffer_half_float\"): EXT_color_buffer_half_float | null;\n    getExtension(extensionName: \"EXT_float_blend\"): EXT_float_blend | null;\n    getExtension(extensionName: \"EXT_frag_depth\"): EXT_frag_depth | null;\n    getExtension(extensionName: \"EXT_sRGB\"): EXT_sRGB | null;\n    getExtension(extensionName: \"EXT_shader_texture_lod\"): EXT_shader_texture_lod | null;\n    getExtension(extensionName: \"EXT_texture_compression_bptc\"): EXT_texture_compression_bptc | null;\n    getExtension(extensionName: \"EXT_texture_compression_rgtc\"): EXT_texture_compression_rgtc | null;\n    getExtension(extensionName: \"EXT_texture_filter_anisotropic\"): EXT_texture_filter_anisotropic | null;\n    getExtension(extensionName: \"KHR_parallel_shader_compile\"): KHR_parallel_shader_compile | null;\n    getExtension(extensionName: \"OES_element_index_uint\"): OES_element_index_uint | null;\n    getExtension(extensionName: \"OES_fbo_render_mipmap\"): OES_fbo_render_mipmap | null;\n    getExtension(extensionName: \"OES_standard_derivatives\"): OES_standard_derivatives | null;\n    getExtension(extensionName: \"OES_texture_float\"): OES_texture_float | null;\n    getExtension(extensionName: \"OES_texture_float_linear\"): OES_texture_float_linear | null;\n    getExtension(extensionName: \"OES_texture_half_float\"): OES_texture_half_float | null;\n    getExtension(extensionName: \"OES_texture_half_float_linear\"): OES_texture_half_float_linear | null;\n    getExtension(extensionName: \"OES_vertex_array_object\"): OES_vertex_array_object | null;\n    getExtension(extensionName: \"OVR_multiview2\"): OVR_multiview2 | null;\n    getExtension(extensionName: \"WEBGL_color_buffer_float\"): WEBGL_color_buffer_float | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_astc\"): WEBGL_compressed_texture_astc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_etc\"): WEBGL_compressed_texture_etc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_etc1\"): WEBGL_compressed_texture_etc1 | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_pvrtc\"): WEBGL_compressed_texture_pvrtc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_s3tc\"): WEBGL_compressed_texture_s3tc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_s3tc_srgb\"): WEBGL_compressed_texture_s3tc_srgb | null;\n    getExtension(extensionName: \"WEBGL_debug_renderer_info\"): WEBGL_debug_renderer_info | null;\n    getExtension(extensionName: \"WEBGL_debug_shaders\"): WEBGL_debug_shaders | null;\n    getExtension(extensionName: \"WEBGL_depth_texture\"): WEBGL_depth_texture | null;\n    getExtension(extensionName: \"WEBGL_draw_buffers\"): WEBGL_draw_buffers | null;\n    getExtension(extensionName: \"WEBGL_lose_context\"): WEBGL_lose_context | null;\n    getExtension(extensionName: \"WEBGL_multi_draw\"): WEBGL_multi_draw | null;\n    getExtension(name: string): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getFramebufferAttachmentParameter) */\n    getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getParameter) */\n    getParameter(pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getProgramInfoLog) */\n    getProgramInfoLog(program: WebGLProgram): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getProgramParameter) */\n    getProgramParameter(program: WebGLProgram, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getRenderbufferParameter) */\n    getRenderbufferParameter(target: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getShaderInfoLog) */\n    getShaderInfoLog(shader: WebGLShader): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getShaderParameter) */\n    getShaderParameter(shader: WebGLShader, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getShaderPrecisionFormat) */\n    getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getShaderSource) */\n    getShaderSource(shader: WebGLShader): string | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getSupportedExtensions) */\n    getSupportedExtensions(): string[] | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getTexParameter) */\n    getTexParameter(target: GLenum, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getUniform) */\n    getUniform(program: WebGLProgram, location: WebGLUniformLocation): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getUniformLocation) */\n    getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getVertexAttrib) */\n    getVertexAttrib(index: GLuint, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/getVertexAttribOffset) */\n    getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/hint) */\n    hint(target: GLenum, mode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isBuffer) */\n    isBuffer(buffer: WebGLBuffer | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isContextLost) */\n    isContextLost(): boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isEnabled) */\n    isEnabled(cap: GLenum): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isFramebuffer) */\n    isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isProgram) */\n    isProgram(program: WebGLProgram | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isRenderbuffer) */\n    isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isShader) */\n    isShader(shader: WebGLShader | null): GLboolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/isTexture) */\n    isTexture(texture: WebGLTexture | null): GLboolean;\n    lineWidth(width: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/linkProgram) */\n    linkProgram(program: WebGLProgram): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/pixelStorei) */\n    pixelStorei(pname: GLenum, param: GLint | GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/polygonOffset) */\n    polygonOffset(factor: GLfloat, units: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/renderbufferStorage) */\n    renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/sampleCoverage) */\n    sampleCoverage(value: GLclampf, invert: GLboolean): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/scissor) */\n    scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/shaderSource) */\n    shaderSource(shader: WebGLShader, source: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilFunc) */\n    stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilFuncSeparate) */\n    stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilMask) */\n    stencilMask(mask: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilMaskSeparate) */\n    stencilMaskSeparate(face: GLenum, mask: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilOp) */\n    stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/stencilOpSeparate) */\n    stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texParameter) */\n    texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texParameter) */\n    texParameteri(target: GLenum, pname: GLenum, param: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1i(location: WebGLUniformLocation | null, x: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/useProgram) */\n    useProgram(program: WebGLProgram | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/validateProgram) */\n    validateProgram(program: WebGLProgram): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib1f(index: GLuint, x: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib1fv(index: GLuint, values: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib2fv(index: GLuint, values: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib3fv(index: GLuint, values: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib4fv(index: GLuint, values: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttribPointer) */\n    vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/viewport) */\n    viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGBA8: 0x8058;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n}\n\ninterface WebGLRenderingContextOverloads {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bufferData) */\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, data: AllowSharedBufferSource | null, usage: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/bufferSubData) */\n    bufferSubData(target: GLenum, offset: GLintptr, data: AllowSharedBufferSource): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexImage2D) */\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexSubImage2D) */\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/readPixels) */\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texImage2D) */\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/texSubImage2D) */\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLSampler) */\ninterface WebGLSampler {\n}\n\ndeclare var WebGLSampler: {\n    prototype: WebGLSampler;\n    new(): WebGLSampler;\n};\n\n/**\n * The WebGLShader is part of the WebGL API and can either be a vertex or a fragment shader. A WebGLProgram requires both types of shaders.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShader)\n */\ninterface WebGLShader {\n}\n\ndeclare var WebGLShader: {\n    prototype: WebGLShader;\n    new(): WebGLShader;\n};\n\n/**\n * Part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getShaderPrecisionFormat() method.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShaderPrecisionFormat)\n */\ninterface WebGLShaderPrecisionFormat {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShaderPrecisionFormat/precision) */\n    readonly precision: GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShaderPrecisionFormat/rangeMax) */\n    readonly rangeMax: GLint;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLShaderPrecisionFormat/rangeMin) */\n    readonly rangeMin: GLint;\n}\n\ndeclare var WebGLShaderPrecisionFormat: {\n    prototype: WebGLShaderPrecisionFormat;\n    new(): WebGLShaderPrecisionFormat;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLSync) */\ninterface WebGLSync {\n}\n\ndeclare var WebGLSync: {\n    prototype: WebGLSync;\n    new(): WebGLSync;\n};\n\n/**\n * Part of the WebGL API and represents an opaque texture object providing storage and state for texturing operations.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLTexture)\n */\ninterface WebGLTexture {\n}\n\ndeclare var WebGLTexture: {\n    prototype: WebGLTexture;\n    new(): WebGLTexture;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLTransformFeedback) */\ninterface WebGLTransformFeedback {\n}\n\ndeclare var WebGLTransformFeedback: {\n    prototype: WebGLTransformFeedback;\n    new(): WebGLTransformFeedback;\n};\n\n/**\n * Part of the WebGL API and represents the location of a uniform variable in a shader program.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLUniformLocation)\n */\ninterface WebGLUniformLocation {\n}\n\ndeclare var WebGLUniformLocation: {\n    prototype: WebGLUniformLocation;\n    new(): WebGLUniformLocation;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLVertexArrayObject) */\ninterface WebGLVertexArrayObject {\n}\n\ndeclare var WebGLVertexArrayObject: {\n    prototype: WebGLVertexArrayObject;\n    new(): WebGLVertexArrayObject;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLVertexArrayObjectOES) */\ninterface WebGLVertexArrayObjectOES {\n}\n\ninterface WebSocketEventMap {\n    \"close\": CloseEvent;\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\n\n/**\n * Provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket)\n */\ninterface WebSocket extends EventTarget {\n    /**\n     * Returns a string that indicates how binary data from the WebSocket object is exposed to scripts:\n     *\n     * Can be set, to change how binary data is returned. The default is \"blob\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/binaryType)\n     */\n    binaryType: BinaryType;\n    /**\n     * Returns the number of bytes of application data (UTF-8 text and binary data) that have been queued using send() but not yet been transmitted to the network.\n     *\n     * If the WebSocket connection is closed, this attribute's value will only increase with each call to the send() method. (The number does not reset to zero once the connection closes.)\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/bufferedAmount)\n     */\n    readonly bufferedAmount: number;\n    /**\n     * Returns the extensions selected by the server, if any.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/extensions)\n     */\n    readonly extensions: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/close_event) */\n    onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/error_event) */\n    onerror: ((this: WebSocket, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/message_event) */\n    onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/open_event) */\n    onopen: ((this: WebSocket, ev: Event) => any) | null;\n    /**\n     * Returns the subprotocol selected by the server, if any. It can be used in conjunction with the array form of the constructor's second argument to perform subprotocol negotiation.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/protocol)\n     */\n    readonly protocol: string;\n    /**\n     * Returns the state of the WebSocket object's connection. It can have the values described below.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/readyState)\n     */\n    readonly readyState: number;\n    /**\n     * Returns the URL that was used to establish the WebSocket connection.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/url)\n     */\n    readonly url: string;\n    /**\n     * Closes the WebSocket connection, optionally using code as the the WebSocket connection close code and reason as the the WebSocket connection close reason.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/close)\n     */\n    close(code?: number, reason?: string): void;\n    /**\n     * Transmits data using the WebSocket connection. data can be a string, a Blob, an ArrayBuffer, or an ArrayBufferView.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebSocket/send)\n     */\n    send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n    addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var WebSocket: {\n    prototype: WebSocket;\n    new(url: string | URL, protocols?: string | string[]): WebSocket;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport)\n */\ninterface WebTransport {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/closed) */\n    readonly closed: Promise<WebTransportCloseInfo>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/datagrams) */\n    readonly datagrams: WebTransportDatagramDuplexStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/incomingBidirectionalStreams) */\n    readonly incomingBidirectionalStreams: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/incomingUnidirectionalStreams) */\n    readonly incomingUnidirectionalStreams: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/ready) */\n    readonly ready: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/close) */\n    close(closeInfo?: WebTransportCloseInfo): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/createBidirectionalStream) */\n    createBidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WebTransportBidirectionalStream>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/createUnidirectionalStream) */\n    createUnidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WritableStream>;\n}\n\ndeclare var WebTransport: {\n    prototype: WebTransport;\n    new(url: string | URL, options?: WebTransportOptions): WebTransport;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportBidirectionalStream)\n */\ninterface WebTransportBidirectionalStream {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportBidirectionalStream/readable) */\n    readonly readable: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportBidirectionalStream/writable) */\n    readonly writable: WritableStream;\n}\n\ndeclare var WebTransportBidirectionalStream: {\n    prototype: WebTransportBidirectionalStream;\n    new(): WebTransportBidirectionalStream;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream)\n */\ninterface WebTransportDatagramDuplexStream {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/incomingHighWaterMark) */\n    incomingHighWaterMark: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/incomingMaxAge) */\n    incomingMaxAge: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/maxDatagramSize) */\n    readonly maxDatagramSize: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/outgoingHighWaterMark) */\n    outgoingHighWaterMark: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/outgoingMaxAge) */\n    outgoingMaxAge: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/readable) */\n    readonly readable: ReadableStream;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportDatagramDuplexStream/writable) */\n    readonly writable: WritableStream;\n}\n\ndeclare var WebTransportDatagramDuplexStream: {\n    prototype: WebTransportDatagramDuplexStream;\n    new(): WebTransportDatagramDuplexStream;\n};\n\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportError)\n */\ninterface WebTransportError extends DOMException {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportError/source) */\n    readonly source: WebTransportErrorSource;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransportError/streamErrorCode) */\n    readonly streamErrorCode: number | null;\n}\n\ndeclare var WebTransportError: {\n    prototype: WebTransportError;\n    new(message?: string, options?: WebTransportErrorOptions): WebTransportError;\n};\n\n/**\n * This ServiceWorker API interface represents the scope of a service worker client that is a document in a browser context, controlled by an active worker. The service worker client independently selects and uses a service worker for its own loading and sub-resources.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WindowClient)\n */\ninterface WindowClient extends Client {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WindowClient/focused) */\n    readonly focused: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WindowClient/visibilityState) */\n    readonly visibilityState: DocumentVisibilityState;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WindowClient/focus) */\n    focus(): Promise<WindowClient>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WindowClient/navigate) */\n    navigate(url: string | URL): Promise<WindowClient | null>;\n}\n\ndeclare var WindowClient: {\n    prototype: WindowClient;\n    new(): WindowClient;\n};\n\ninterface WindowOrWorkerGlobalScope {\n    /**\n     * Available only in secure contexts.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/caches)\n     */\n    readonly caches: CacheStorage;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crossOriginIsolated) */\n    readonly crossOriginIsolated: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crypto_property) */\n    readonly crypto: Crypto;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/indexedDB) */\n    readonly indexedDB: IDBFactory;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/isSecureContext) */\n    readonly isSecureContext: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/origin) */\n    readonly origin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/performance_property) */\n    readonly performance: Performance;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/atob) */\n    atob(data: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/btoa) */\n    btoa(data: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearInterval) */\n    clearInterval(id: number | undefined): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearTimeout) */\n    clearTimeout(id: number | undefined): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/createImageBitmap) */\n    createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n    createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch) */\n    fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/queueMicrotask) */\n    queueMicrotask(callback: VoidFunction): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/reportError) */\n    reportError(e: any): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/setInterval) */\n    setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/setTimeout) */\n    setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/structuredClone) */\n    structuredClone<T = any>(value: T, options?: StructuredSerializeOptions): T;\n}\n\ninterface WorkerEventMap extends AbstractWorkerEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\n\n/**\n * This Web Workers API interface represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker)\n */\ninterface Worker extends EventTarget, AbstractWorker {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker/message_event) */\n    onmessage: ((this: Worker, ev: MessageEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker/messageerror_event) */\n    onmessageerror: ((this: Worker, ev: MessageEvent) => any) | null;\n    /**\n     * Clones message and transmits it to worker's global environment. transfer can be passed as a list of objects that are to be transferred rather than cloned.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker/postMessage)\n     */\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    /**\n     * Aborts worker's associated global environment.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker/terminate)\n     */\n    terminate(): void;\n    addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Worker: {\n    prototype: Worker;\n    new(scriptURL: string | URL, options?: WorkerOptions): Worker;\n};\n\ninterface WorkerGlobalScopeEventMap {\n    \"error\": ErrorEvent;\n    \"languagechange\": Event;\n    \"offline\": Event;\n    \"online\": Event;\n    \"rejectionhandled\": PromiseRejectionEvent;\n    \"unhandledrejection\": PromiseRejectionEvent;\n}\n\n/**\n * This Web Workers API interface is an interface representing the scope of any worker. Workers have no browsing context; this scope contains the information usually conveyed by Window objects \\u2014 in this case event handlers, the console or the associated WorkerNavigator object. Each WorkerGlobalScope has its own event loop.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope)\n */\ninterface WorkerGlobalScope extends EventTarget, FontFaceSource, WindowOrWorkerGlobalScope {\n    /**\n     * Returns workerGlobal's WorkerLocation object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/location)\n     */\n    readonly location: WorkerLocation;\n    /**\n     * Returns workerGlobal's WorkerNavigator object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/navigator)\n     */\n    readonly navigator: WorkerNavigator;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/error_event) */\n    onerror: ((this: WorkerGlobalScope, ev: ErrorEvent) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/languagechange_event) */\n    onlanguagechange: ((this: WorkerGlobalScope, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/offline_event) */\n    onoffline: ((this: WorkerGlobalScope, ev: Event) => any) | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/online_event) */\n    ononline: ((this: WorkerGlobalScope, ev: Event) => any) | null;\n    onrejectionhandled: ((this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null;\n    onunhandledrejection: ((this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null;\n    /**\n     * Returns workerGlobal.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/self)\n     */\n    readonly self: WorkerGlobalScope & typeof globalThis;\n    /**\n     * Fetches each URL in urls, executes them one-by-one in the order they are passed, and then returns (or throws if something went amiss).\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/importScripts)\n     */\n    importScripts(...urls: (string | URL)[]): void;\n    addEventListener<K extends keyof WorkerGlobalScopeEventMap>(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WorkerGlobalScopeEventMap>(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var WorkerGlobalScope: {\n    prototype: WorkerGlobalScope;\n    new(): WorkerGlobalScope;\n};\n\n/**\n * The absolute location of the script executed by the Worker. Such an object is initialized for each worker and is available via the WorkerGlobalScope.location property obtained by calling self.location.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation)\n */\ninterface WorkerLocation {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/hash) */\n    readonly hash: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/host) */\n    readonly host: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/hostname) */\n    readonly hostname: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/href) */\n    readonly href: string;\n    toString(): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/origin) */\n    readonly origin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/pathname) */\n    readonly pathname: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/port) */\n    readonly port: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/protocol) */\n    readonly protocol: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerLocation/search) */\n    readonly search: string;\n}\n\ndeclare var WorkerLocation: {\n    prototype: WorkerLocation;\n    new(): WorkerLocation;\n};\n\n/**\n * A subset of the Navigator interface allowed to be accessed from a Worker. Such an object is initialized for each worker and is available via the WorkerGlobalScope.navigator property obtained by calling window.self.navigator.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)\n */\ninterface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator/mediaCapabilities) */\n    readonly mediaCapabilities: MediaCapabilities;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator/permissions) */\n    readonly permissions: Permissions;\n}\n\ndeclare var WorkerNavigator: {\n    prototype: WorkerNavigator;\n    new(): WorkerNavigator;\n};\n\n/**\n * This Streams API interface provides\\xA0a standard abstraction for writing streaming data to a destination, known as a sink. This object comes with built-in backpressure and queuing.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream)\n */\ninterface WritableStream<W = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream/locked) */\n    readonly locked: boolean;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream/abort) */\n    abort(reason?: any): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream/close) */\n    close(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStream/getWriter) */\n    getWriter(): WritableStreamDefaultWriter<W>;\n}\n\ndeclare var WritableStream: {\n    prototype: WritableStream;\n    new<W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;\n};\n\n/**\n * This Streams API interface represents a controller allowing control of a\\xA0WritableStream's state. When constructing a WritableStream, the underlying sink is given a corresponding WritableStreamDefaultController instance to manipulate.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultController)\n */\ninterface WritableStreamDefaultController {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultController/signal) */\n    readonly signal: AbortSignal;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultController/error) */\n    error(e?: any): void;\n}\n\ndeclare var WritableStreamDefaultController: {\n    prototype: WritableStreamDefaultController;\n    new(): WritableStreamDefaultController;\n};\n\n/**\n * This Streams API interface is the object returned by WritableStream.getWriter() and once created locks the < writer to the WritableStream ensuring that no other streams can write to the underlying sink.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter)\n */\ninterface WritableStreamDefaultWriter<W = any> {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed) */\n    readonly closed: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize) */\n    readonly desiredSize: number | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/ready) */\n    readonly ready: Promise<undefined>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/abort) */\n    abort(reason?: any): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close) */\n    close(): Promise<void>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/releaseLock) */\n    releaseLock(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/write) */\n    write(chunk?: W): Promise<void>;\n}\n\ndeclare var WritableStreamDefaultWriter: {\n    prototype: WritableStreamDefaultWriter;\n    new<W = any>(stream: WritableStream<W>): WritableStreamDefaultWriter<W>;\n};\n\ninterface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {\n    \"readystatechange\": Event;\n}\n\n/**\n * Use XMLHttpRequest (XHR) objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest)\n */\ninterface XMLHttpRequest extends XMLHttpRequestEventTarget {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/readystatechange_event) */\n    onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;\n    /**\n     * Returns client's state.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/readyState)\n     */\n    readonly readyState: number;\n    /**\n     * Returns the response body.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/response)\n     */\n    readonly response: any;\n    /**\n     * Returns response as text.\n     *\n     * Throws an \"InvalidStateError\" DOMException if responseType is not the empty string or \"text\".\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseText)\n     */\n    readonly responseText: string;\n    /**\n     * Returns the response type.\n     *\n     * Can be set to change the response type. Values are: the empty string (default), \"arraybuffer\", \"blob\", \"document\", \"json\", and \"text\".\n     *\n     * When set: setting to \"document\" is ignored if current global object is not a Window object.\n     *\n     * When set: throws an \"InvalidStateError\" DOMException if state is loading or done.\n     *\n     * When set: throws an \"InvalidAccessError\" DOMException if the synchronous flag is set and current global object is a Window object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseType)\n     */\n    responseType: XMLHttpRequestResponseType;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseURL) */\n    readonly responseURL: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/status) */\n    readonly status: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/statusText) */\n    readonly statusText: string;\n    /**\n     * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the request has not yet completed, and this's synchronous flag is unset, a timeout event will then be dispatched, or a \"TimeoutError\" DOMException will be thrown otherwise (for the send() method).\n     *\n     * When set: throws an \"InvalidAccessError\" DOMException if the synchronous flag is set and current global object is a Window object.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/timeout)\n     */\n    timeout: number;\n    /**\n     * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is transferred to a server.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/upload)\n     */\n    readonly upload: XMLHttpRequestUpload;\n    /**\n     * True when credentials are to be included in a cross-origin request. False when they are to be excluded in a cross-origin request and when cookies are to be ignored in its response. Initially false.\n     *\n     * When set: throws an \"InvalidStateError\" DOMException if state is not unsent or opened, or if the send() flag is set.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/withCredentials)\n     */\n    withCredentials: boolean;\n    /**\n     * Cancels any network activity.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/abort)\n     */\n    abort(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getAllResponseHeaders) */\n    getAllResponseHeaders(): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getResponseHeader) */\n    getResponseHeader(name: string): string | null;\n    /**\n     * Sets the request method, request URL, and synchronous flag.\n     *\n     * Throws a \"SyntaxError\" DOMException if either method is not a valid method or url cannot be parsed.\n     *\n     * Throws a \"SecurityError\" DOMException if method is a case-insensitive match for \\`CONNECT\\`, \\`TRACE\\`, or \\`TRACK\\`.\n     *\n     * Throws an \"InvalidAccessError\" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open)\n     */\n    open(method: string, url: string | URL): void;\n    open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void;\n    /**\n     * Acts as if the \\`Content-Type\\` header value for a response is mime. (It does not change the header.)\n     *\n     * Throws an \"InvalidStateError\" DOMException if state is loading or done.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/overrideMimeType)\n     */\n    overrideMimeType(mime: string): void;\n    /**\n     * Initiates the request. The body argument provides the request body, if any, and is ignored if the request method is GET or HEAD.\n     *\n     * Throws an \"InvalidStateError\" DOMException if either state is not opened or the send() flag is set.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/send)\n     */\n    send(body?: XMLHttpRequestBodyInit | null): void;\n    /**\n     * Combines a header in author request headers.\n     *\n     * Throws an \"InvalidStateError\" DOMException if either state is not opened or the send() flag is set.\n     *\n     * Throws a \"SyntaxError\" DOMException if name is not a header name or if value is not a header value.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/setRequestHeader)\n     */\n    setRequestHeader(name: string, value: string): void;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n    addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequest: {\n    prototype: XMLHttpRequest;\n    new(): XMLHttpRequest;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n};\n\ninterface XMLHttpRequestEventTargetEventMap {\n    \"abort\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"error\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"load\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"loadend\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"loadstart\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"progress\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"timeout\": ProgressEvent<XMLHttpRequestEventTarget>;\n}\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequestEventTarget) */\ninterface XMLHttpRequestEventTarget extends EventTarget {\n    onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequestEventTarget: {\n    prototype: XMLHttpRequestEventTarget;\n    new(): XMLHttpRequestEventTarget;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequestUpload) */\ninterface XMLHttpRequestUpload extends XMLHttpRequestEventTarget {\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequestUpload: {\n    prototype: XMLHttpRequestUpload;\n    new(): XMLHttpRequestUpload;\n};\n\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console) */\ninterface Console {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/assert_static) */\n    assert(condition?: boolean, ...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/clear_static) */\n    clear(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/count_static) */\n    count(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/countReset_static) */\n    countReset(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/debug_static) */\n    debug(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/dir_static) */\n    dir(item?: any, options?: any): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/dirxml_static) */\n    dirxml(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/error_static) */\n    error(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/group_static) */\n    group(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupCollapsed_static) */\n    groupCollapsed(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupEnd_static) */\n    groupEnd(): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/info_static) */\n    info(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/log_static) */\n    log(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/table_static) */\n    table(tabularData?: any, properties?: string[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/time_static) */\n    time(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeEnd_static) */\n    timeEnd(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeLog_static) */\n    timeLog(label?: string, ...data: any[]): void;\n    timeStamp(label?: string): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/trace_static) */\n    trace(...data: any[]): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/warn_static) */\n    warn(...data: any[]): void;\n}\n\ndeclare var console: Console;\n\ndeclare namespace WebAssembly {\n    interface CompileError extends Error {\n    }\n\n    var CompileError: {\n        prototype: CompileError;\n        new(message?: string): CompileError;\n        (message?: string): CompileError;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global) */\n    interface Global<T extends ValueType = ValueType> {\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global/value) */\n        value: ValueTypeMap[T];\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global/valueOf) */\n        valueOf(): ValueTypeMap[T];\n    }\n\n    var Global: {\n        prototype: Global;\n        new<T extends ValueType = ValueType>(descriptor: GlobalDescriptor<T>, v?: ValueTypeMap[T]): Global<T>;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Instance) */\n    interface Instance {\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Instance/exports) */\n        readonly exports: Exports;\n    }\n\n    var Instance: {\n        prototype: Instance;\n        new(module: Module, importObject?: Imports): Instance;\n    };\n\n    interface LinkError extends Error {\n    }\n\n    var LinkError: {\n        prototype: LinkError;\n        new(message?: string): LinkError;\n        (message?: string): LinkError;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Memory) */\n    interface Memory {\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Memory/buffer) */\n        readonly buffer: ArrayBuffer;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Memory/grow) */\n        grow(delta: number): number;\n    }\n\n    var Memory: {\n        prototype: Memory;\n        new(descriptor: MemoryDescriptor): Memory;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Module) */\n    interface Module {\n    }\n\n    var Module: {\n        prototype: Module;\n        new(bytes: BufferSource): Module;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Module/customSections_static) */\n        customSections(moduleObject: Module, sectionName: string): ArrayBuffer[];\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Module/exports_static) */\n        exports(moduleObject: Module): ModuleExportDescriptor[];\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Module/imports_static) */\n        imports(moduleObject: Module): ModuleImportDescriptor[];\n    };\n\n    interface RuntimeError extends Error {\n    }\n\n    var RuntimeError: {\n        prototype: RuntimeError;\n        new(message?: string): RuntimeError;\n        (message?: string): RuntimeError;\n    };\n\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table) */\n    interface Table {\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table/length) */\n        readonly length: number;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table/get) */\n        get(index: number): any;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table/grow) */\n        grow(delta: number, value?: any): number;\n        /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Table/set) */\n        set(index: number, value?: any): void;\n    }\n\n    var Table: {\n        prototype: Table;\n        new(descriptor: TableDescriptor, value?: any): Table;\n    };\n\n    interface GlobalDescriptor<T extends ValueType = ValueType> {\n        mutable?: boolean;\n        value: T;\n    }\n\n    interface MemoryDescriptor {\n        initial: number;\n        maximum?: number;\n        shared?: boolean;\n    }\n\n    interface ModuleExportDescriptor {\n        kind: ImportExportKind;\n        name: string;\n    }\n\n    interface ModuleImportDescriptor {\n        kind: ImportExportKind;\n        module: string;\n        name: string;\n    }\n\n    interface TableDescriptor {\n        element: TableKind;\n        initial: number;\n        maximum?: number;\n    }\n\n    interface ValueTypeMap {\n        anyfunc: Function;\n        externref: any;\n        f32: number;\n        f64: number;\n        i32: number;\n        i64: bigint;\n        v128: never;\n    }\n\n    interface WebAssemblyInstantiatedSource {\n        instance: Instance;\n        module: Module;\n    }\n\n    type ImportExportKind = \"function\" | \"global\" | \"memory\" | \"table\";\n    type TableKind = \"anyfunc\" | \"externref\";\n    type ExportValue = Function | Global | Memory | Table;\n    type Exports = Record<string, ExportValue>;\n    type ImportValue = ExportValue | number;\n    type Imports = Record<string, ModuleImports>;\n    type ModuleImports = Record<string, ImportValue>;\n    type ValueType = keyof ValueTypeMap;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/compile_static) */\n    function compile(bytes: BufferSource): Promise<Module>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/compileStreaming_static) */\n    function compileStreaming(source: Response | PromiseLike<Response>): Promise<Module>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/instantiate_static) */\n    function instantiate(bytes: BufferSource, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>;\n    function instantiate(moduleObject: Module, importObject?: Imports): Promise<Instance>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/instantiateStreaming_static) */\n    function instantiateStreaming(source: Response | PromiseLike<Response>, importObject?: Imports): Promise<WebAssemblyInstantiatedSource>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/validate_static) */\n    function validate(bytes: BufferSource): boolean;\n}\n\ninterface EncodedVideoChunkOutputCallback {\n    (chunk: EncodedVideoChunk, metadata?: EncodedVideoChunkMetadata): void;\n}\n\ninterface FrameRequestCallback {\n    (time: DOMHighResTimeStamp): void;\n}\n\ninterface LockGrantedCallback {\n    (lock: Lock | null): any;\n}\n\ninterface OnErrorEventHandlerNonNull {\n    (event: Event | string, source?: string, lineno?: number, colno?: number, error?: Error): any;\n}\n\ninterface PerformanceObserverCallback {\n    (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void;\n}\n\ninterface QueuingStrategySize<T = any> {\n    (chunk: T): number;\n}\n\ninterface ReportingObserverCallback {\n    (reports: Report[], observer: ReportingObserver): void;\n}\n\ninterface TransformerFlushCallback<O> {\n    (controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n}\n\ninterface TransformerStartCallback<O> {\n    (controller: TransformStreamDefaultController<O>): any;\n}\n\ninterface TransformerTransformCallback<I, O> {\n    (chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSinkAbortCallback {\n    (reason?: any): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSinkCloseCallback {\n    (): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSinkStartCallback {\n    (controller: WritableStreamDefaultController): any;\n}\n\ninterface UnderlyingSinkWriteCallback<W> {\n    (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSourceCancelCallback {\n    (reason?: any): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSourcePullCallback<R> {\n    (controller: ReadableStreamController<R>): void | PromiseLike<void>;\n}\n\ninterface UnderlyingSourceStartCallback<R> {\n    (controller: ReadableStreamController<R>): any;\n}\n\ninterface VideoFrameOutputCallback {\n    (output: VideoFrame): void;\n}\n\ninterface VoidFunction {\n    (): void;\n}\n\ninterface WebCodecsErrorCallback {\n    (error: DOMException): void;\n}\n\n/**\n * Returns dedicatedWorkerGlobal's name, i.e. the value given to the Worker constructor. Primarily useful for debugging.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/name)\n */\ndeclare var name: string;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */\ndeclare var onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */\ndeclare var onmessageerror: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/rtctransform_event) */\ndeclare var onrtctransform: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null;\n/**\n * Aborts dedicatedWorkerGlobal.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/close)\n */\ndeclare function close(): void;\n/**\n * Clones message and transmits it to the Worker object associated with dedicatedWorkerGlobal. transfer can be passed as a list of objects that are to be transferred rather than cloned.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/postMessage)\n */\ndeclare function postMessage(message: any, transfer: Transferable[]): void;\ndeclare function postMessage(message: any, options?: StructuredSerializeOptions): void;\n/**\n * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)\n */\ndeclare function dispatchEvent(event: Event): boolean;\n/**\n * Returns workerGlobal's WorkerLocation object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/location)\n */\ndeclare var location: WorkerLocation;\n/**\n * Returns workerGlobal's WorkerNavigator object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/navigator)\n */\ndeclare var navigator: WorkerNavigator;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/error_event) */\ndeclare var onerror: ((this: DedicatedWorkerGlobalScope, ev: ErrorEvent) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/languagechange_event) */\ndeclare var onlanguagechange: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/offline_event) */\ndeclare var onoffline: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/online_event) */\ndeclare var ononline: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null;\ndeclare var onrejectionhandled: ((this: DedicatedWorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null;\ndeclare var onunhandledrejection: ((this: DedicatedWorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null;\n/**\n * Returns workerGlobal.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/self)\n */\ndeclare var self: WorkerGlobalScope & typeof globalThis;\n/**\n * Fetches each URL in urls, executes them one-by-one in the order they are passed, and then returns (or throws if something went amiss).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/importScripts)\n */\ndeclare function importScripts(...urls: (string | URL)[]): void;\n/**\n * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)\n */\ndeclare function dispatchEvent(event: Event): boolean;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fonts) */\ndeclare var fonts: FontFaceSet;\n/**\n * Available only in secure contexts.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/caches)\n */\ndeclare var caches: CacheStorage;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crossOriginIsolated) */\ndeclare var crossOriginIsolated: boolean;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crypto_property) */\ndeclare var crypto: Crypto;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/indexedDB) */\ndeclare var indexedDB: IDBFactory;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/isSecureContext) */\ndeclare var isSecureContext: boolean;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/origin) */\ndeclare var origin: string;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/performance_property) */\ndeclare var performance: Performance;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/atob) */\ndeclare function atob(data: string): string;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/btoa) */\ndeclare function btoa(data: string): string;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearInterval) */\ndeclare function clearInterval(id: number | undefined): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearTimeout) */\ndeclare function clearTimeout(id: number | undefined): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/createImageBitmap) */\ndeclare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;\ndeclare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch) */\ndeclare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/queueMicrotask) */\ndeclare function queueMicrotask(callback: VoidFunction): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/reportError) */\ndeclare function reportError(e: any): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/setInterval) */\ndeclare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/setTimeout) */\ndeclare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/structuredClone) */\ndeclare function structuredClone<T = any>(value: T, options?: StructuredSerializeOptions): T;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame) */\ndeclare function cancelAnimationFrame(handle: number): void;\n/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame) */\ndeclare function requestAnimationFrame(callback: FrameRequestCallback): number;\ndeclare function addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\ndeclare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\ndeclare function removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\ndeclare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\ntype AlgorithmIdentifier = Algorithm | string;\ntype AllowSharedBufferSource = ArrayBuffer | ArrayBufferView;\ntype BigInteger = Uint8Array;\ntype BinaryData = ArrayBuffer | ArrayBufferView;\ntype BlobPart = BufferSource | Blob | string;\ntype BodyInit = ReadableStream | XMLHttpRequestBodyInit;\ntype BufferSource = ArrayBufferView | ArrayBuffer;\ntype CSSKeywordish = string | CSSKeywordValue;\ntype CSSNumberish = number | CSSNumericValue;\ntype CSSPerspectiveValue = CSSNumericValue | CSSKeywordish;\ntype CSSUnparsedSegment = string | CSSVariableReferenceValue;\ntype CanvasImageSource = ImageBitmap | OffscreenCanvas | VideoFrame;\ntype DOMHighResTimeStamp = number;\ntype EpochTimeStamp = number;\ntype EventListenerOrEventListenerObject = EventListener | EventListenerObject;\ntype FileSystemWriteChunkType = BufferSource | Blob | string | WriteParams;\ntype Float32List = Float32Array | GLfloat[];\ntype FormDataEntryValue = File | string;\ntype GLbitfield = number;\ntype GLboolean = boolean;\ntype GLclampf = number;\ntype GLenum = number;\ntype GLfloat = number;\ntype GLint = number;\ntype GLint64 = number;\ntype GLintptr = number;\ntype GLsizei = number;\ntype GLsizeiptr = number;\ntype GLuint = number;\ntype GLuint64 = number;\ntype HashAlgorithmIdentifier = AlgorithmIdentifier;\ntype HeadersInit = [string, string][] | Record<string, string> | Headers;\ntype IDBValidKey = number | string | Date | BufferSource | IDBValidKey[];\ntype ImageBitmapSource = CanvasImageSource | Blob | ImageData;\ntype Int32List = Int32Array | GLint[];\ntype MessageEventSource = MessagePort | ServiceWorker;\ntype NamedCurve = string;\ntype OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;\ntype OnErrorEventHandler = OnErrorEventHandlerNonNull | null;\ntype PerformanceEntryList = PerformanceEntry[];\ntype PushMessageDataInit = BufferSource | string;\ntype ReadableStreamController<T> = ReadableStreamDefaultController<T> | ReadableByteStreamController;\ntype ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;\ntype ReadableStreamReader<T> = ReadableStreamDefaultReader<T> | ReadableStreamBYOBReader;\ntype ReportList = Report[];\ntype RequestInfo = Request | string;\ntype TexImageSource = ImageBitmap | ImageData | OffscreenCanvas | VideoFrame;\ntype TimerHandler = string | Function;\ntype Transferable = OffscreenCanvas | ImageBitmap | MessagePort | ReadableStream | WritableStream | TransformStream | VideoFrame | ArrayBuffer;\ntype Uint32List = Uint32Array | GLuint[];\ntype XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string;\ntype AlphaOption = \"discard\" | \"keep\";\ntype AvcBitstreamFormat = \"annexb\" | \"avc\";\ntype BinaryType = \"arraybuffer\" | \"blob\";\ntype CSSMathOperator = \"clamp\" | \"invert\" | \"max\" | \"min\" | \"negate\" | \"product\" | \"sum\";\ntype CSSNumericBaseType = \"angle\" | \"flex\" | \"frequency\" | \"length\" | \"percent\" | \"resolution\" | \"time\";\ntype CanvasDirection = \"inherit\" | \"ltr\" | \"rtl\";\ntype CanvasFillRule = \"evenodd\" | \"nonzero\";\ntype CanvasFontKerning = \"auto\" | \"none\" | \"normal\";\ntype CanvasFontStretch = \"condensed\" | \"expanded\" | \"extra-condensed\" | \"extra-expanded\" | \"normal\" | \"semi-condensed\" | \"semi-expanded\" | \"ultra-condensed\" | \"ultra-expanded\";\ntype CanvasFontVariantCaps = \"all-petite-caps\" | \"all-small-caps\" | \"normal\" | \"petite-caps\" | \"small-caps\" | \"titling-caps\" | \"unicase\";\ntype CanvasLineCap = \"butt\" | \"round\" | \"square\";\ntype CanvasLineJoin = \"bevel\" | \"miter\" | \"round\";\ntype CanvasTextAlign = \"center\" | \"end\" | \"left\" | \"right\" | \"start\";\ntype CanvasTextBaseline = \"alphabetic\" | \"bottom\" | \"hanging\" | \"ideographic\" | \"middle\" | \"top\";\ntype CanvasTextRendering = \"auto\" | \"geometricPrecision\" | \"optimizeLegibility\" | \"optimizeSpeed\";\ntype ClientTypes = \"all\" | \"sharedworker\" | \"window\" | \"worker\";\ntype CodecState = \"closed\" | \"configured\" | \"unconfigured\";\ntype ColorGamut = \"p3\" | \"rec2020\" | \"srgb\";\ntype ColorSpaceConversion = \"default\" | \"none\";\ntype CompressionFormat = \"deflate\" | \"deflate-raw\" | \"gzip\";\ntype DocumentVisibilityState = \"hidden\" | \"visible\";\ntype EncodedVideoChunkType = \"delta\" | \"key\";\ntype EndingType = \"native\" | \"transparent\";\ntype FileSystemHandleKind = \"directory\" | \"file\";\ntype FontDisplay = \"auto\" | \"block\" | \"fallback\" | \"optional\" | \"swap\";\ntype FontFaceLoadStatus = \"error\" | \"loaded\" | \"loading\" | \"unloaded\";\ntype FontFaceSetLoadStatus = \"loaded\" | \"loading\";\ntype FrameType = \"auxiliary\" | \"nested\" | \"none\" | \"top-level\";\ntype GlobalCompositeOperation = \"color\" | \"color-burn\" | \"color-dodge\" | \"copy\" | \"darken\" | \"destination-atop\" | \"destination-in\" | \"destination-out\" | \"destination-over\" | \"difference\" | \"exclusion\" | \"hard-light\" | \"hue\" | \"lighten\" | \"lighter\" | \"luminosity\" | \"multiply\" | \"overlay\" | \"saturation\" | \"screen\" | \"soft-light\" | \"source-atop\" | \"source-in\" | \"source-out\" | \"source-over\" | \"xor\";\ntype HardwareAcceleration = \"no-preference\" | \"prefer-hardware\" | \"prefer-software\";\ntype HdrMetadataType = \"smpteSt2086\" | \"smpteSt2094-10\" | \"smpteSt2094-40\";\ntype IDBCursorDirection = \"next\" | \"nextunique\" | \"prev\" | \"prevunique\";\ntype IDBRequestReadyState = \"done\" | \"pending\";\ntype IDBTransactionDurability = \"default\" | \"relaxed\" | \"strict\";\ntype IDBTransactionMode = \"readonly\" | \"readwrite\" | \"versionchange\";\ntype ImageOrientation = \"flipY\" | \"from-image\" | \"none\";\ntype ImageSmoothingQuality = \"high\" | \"low\" | \"medium\";\ntype KeyFormat = \"jwk\" | \"pkcs8\" | \"raw\" | \"spki\";\ntype KeyType = \"private\" | \"public\" | \"secret\";\ntype KeyUsage = \"decrypt\" | \"deriveBits\" | \"deriveKey\" | \"encrypt\" | \"sign\" | \"unwrapKey\" | \"verify\" | \"wrapKey\";\ntype LatencyMode = \"quality\" | \"realtime\";\ntype LockMode = \"exclusive\" | \"shared\";\ntype MediaDecodingType = \"file\" | \"media-source\" | \"webrtc\";\ntype MediaEncodingType = \"record\" | \"webrtc\";\ntype NotificationDirection = \"auto\" | \"ltr\" | \"rtl\";\ntype NotificationPermission = \"default\" | \"denied\" | \"granted\";\ntype OffscreenRenderingContextId = \"2d\" | \"bitmaprenderer\" | \"webgl\" | \"webgl2\" | \"webgpu\";\ntype PermissionName = \"geolocation\" | \"notifications\" | \"persistent-storage\" | \"push\" | \"screen-wake-lock\" | \"xr-spatial-tracking\";\ntype PermissionState = \"denied\" | \"granted\" | \"prompt\";\ntype PredefinedColorSpace = \"display-p3\" | \"srgb\";\ntype PremultiplyAlpha = \"default\" | \"none\" | \"premultiply\";\ntype PushEncryptionKeyName = \"auth\" | \"p256dh\";\ntype RTCEncodedVideoFrameType = \"delta\" | \"empty\" | \"key\";\ntype ReadableStreamReaderMode = \"byob\";\ntype ReadableStreamType = \"bytes\";\ntype ReferrerPolicy = \"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\";\ntype RequestCache = \"default\" | \"force-cache\" | \"no-cache\" | \"no-store\" | \"only-if-cached\" | \"reload\";\ntype RequestCredentials = \"include\" | \"omit\" | \"same-origin\";\ntype RequestDestination = \"\" | \"audio\" | \"audioworklet\" | \"document\" | \"embed\" | \"font\" | \"frame\" | \"iframe\" | \"image\" | \"manifest\" | \"object\" | \"paintworklet\" | \"report\" | \"script\" | \"sharedworker\" | \"style\" | \"track\" | \"video\" | \"worker\" | \"xslt\";\ntype RequestMode = \"cors\" | \"navigate\" | \"no-cors\" | \"same-origin\";\ntype RequestPriority = \"auto\" | \"high\" | \"low\";\ntype RequestRedirect = \"error\" | \"follow\" | \"manual\";\ntype ResizeQuality = \"high\" | \"low\" | \"medium\" | \"pixelated\";\ntype ResponseType = \"basic\" | \"cors\" | \"default\" | \"error\" | \"opaque\" | \"opaqueredirect\";\ntype SecurityPolicyViolationEventDisposition = \"enforce\" | \"report\";\ntype ServiceWorkerState = \"activated\" | \"activating\" | \"installed\" | \"installing\" | \"parsed\" | \"redundant\";\ntype ServiceWorkerUpdateViaCache = \"all\" | \"imports\" | \"none\";\ntype TransferFunction = \"hlg\" | \"pq\" | \"srgb\";\ntype VideoColorPrimaries = \"bt470bg\" | \"bt709\" | \"smpte170m\";\ntype VideoEncoderBitrateMode = \"constant\" | \"quantizer\" | \"variable\";\ntype VideoMatrixCoefficients = \"bt470bg\" | \"bt709\" | \"rgb\" | \"smpte170m\";\ntype VideoPixelFormat = \"BGRA\" | \"BGRX\" | \"I420\" | \"I420A\" | \"I422\" | \"I444\" | \"NV12\" | \"RGBA\" | \"RGBX\";\ntype VideoTransferCharacteristics = \"bt709\" | \"iec61966-2-1\" | \"smpte170m\";\ntype WebGLPowerPreference = \"default\" | \"high-performance\" | \"low-power\";\ntype WebTransportCongestionControl = \"default\" | \"low-latency\" | \"throughput\";\ntype WebTransportErrorSource = \"session\" | \"stream\";\ntype WorkerType = \"classic\" | \"module\";\ntype WriteCommandType = \"seek\" | \"truncate\" | \"write\";\ntype XMLHttpRequestResponseType = \"\" | \"arraybuffer\" | \"blob\" | \"document\" | \"json\" | \"text\";\n`;Vi[\"lib.webworker.importscripts.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/////////////////////////////\n/// WorkerGlobalScope APIs\n/////////////////////////////\n// These are only available in a Web Worker\ndeclare function importScripts(...urls: string[]): void;\n`;Vi[\"lib.webworker.iterable.d.ts\"]=`/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n/// <reference no-default-lib=\"true\"/>\n\n/////////////////////////////\n/// Worker Iterable APIs\n/////////////////////////////\n\ninterface CSSNumericArray {\n    [Symbol.iterator](): IterableIterator<CSSNumericValue>;\n    entries(): IterableIterator<[number, CSSNumericValue]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<CSSNumericValue>;\n}\n\ninterface CSSTransformValue {\n    [Symbol.iterator](): IterableIterator<CSSTransformComponent>;\n    entries(): IterableIterator<[number, CSSTransformComponent]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<CSSTransformComponent>;\n}\n\ninterface CSSUnparsedValue {\n    [Symbol.iterator](): IterableIterator<CSSUnparsedSegment>;\n    entries(): IterableIterator<[number, CSSUnparsedSegment]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<CSSUnparsedSegment>;\n}\n\ninterface Cache {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/addAll) */\n    addAll(requests: Iterable<RequestInfo>): Promise<void>;\n}\n\ninterface CanvasPath {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/roundRect) */\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void;\n}\n\ninterface CanvasPathDrawingStyles {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash) */\n    setLineDash(segments: Iterable<number>): void;\n}\n\ninterface DOMStringList {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface FileList {\n    [Symbol.iterator](): IterableIterator<File>;\n}\n\ninterface FontFaceSet extends Set<FontFace> {\n}\n\ninterface FormData {\n    [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>;\n    /** Returns an array of key, value pairs for every entry in the list. */\n    entries(): IterableIterator<[string, FormDataEntryValue]>;\n    /** Returns a list of keys in the list. */\n    keys(): IterableIterator<string>;\n    /** Returns a list of values in the list. */\n    values(): IterableIterator<FormDataEntryValue>;\n}\n\ninterface Headers {\n    [Symbol.iterator](): IterableIterator<[string, string]>;\n    /** Returns an iterator allowing to go through all key/value pairs contained in this object. */\n    entries(): IterableIterator<[string, string]>;\n    /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */\n    keys(): IterableIterator<string>;\n    /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */\n    values(): IterableIterator<string>;\n}\n\ninterface IDBDatabase {\n    /**\n     * Returns a new transaction with the given mode (\"readonly\" or \"readwrite\") and scope which can be a single object store name or an array of names.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/transaction)\n     */\n    transaction(storeNames: string | Iterable<string>, mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n}\n\ninterface IDBObjectStore {\n    /**\n     * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a \"ConstraintError\" DOMException.\n     *\n     * Throws an \"InvalidStateError\" DOMException if not called within an upgrade transaction.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)\n     */\n    createIndex(name: string, keyPath: string | Iterable<string>, options?: IDBIndexParameters): IDBIndex;\n}\n\ninterface MessageEvent<T = any> {\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent)\n     */\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void;\n}\n\ninterface StylePropertyMapReadOnly {\n    [Symbol.iterator](): IterableIterator<[string, Iterable<CSSStyleValue>]>;\n    entries(): IterableIterator<[string, Iterable<CSSStyleValue>]>;\n    keys(): IterableIterator<string>;\n    values(): IterableIterator<Iterable<CSSStyleValue>>;\n}\n\ninterface SubtleCrypto {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey) */\n    deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey) */\n    generateKey(algorithm: \"Ed25519\", extractable: boolean, keyUsages: ReadonlyArray<\"sign\" | \"verify\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;\n    generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKeyPair | CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey) */\n    importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    importKey(format: Exclude<KeyFormat, \"jwk\">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey) */\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n}\n\ninterface URLSearchParams {\n    [Symbol.iterator](): IterableIterator<[string, string]>;\n    /** Returns an array of key, value pairs for every entry in the search params. */\n    entries(): IterableIterator<[string, string]>;\n    /** Returns a list of keys in the search params. */\n    keys(): IterableIterator<string>;\n    /** Returns a list of values in the search params. */\n    values(): IterableIterator<string>;\n}\n\ninterface WEBGL_draw_buffers {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL) */\n    drawBuffersWEBGL(buffers: Iterable<GLenum>): void;\n}\n\ninterface WEBGL_multi_draw {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysInstancedWEBGL) */\n    multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: number, countsList: Int32Array | Iterable<GLsizei>, countsOffset: number, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysWEBGL) */\n    multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable<GLint>, firstsOffset: number, countsList: Int32Array | Iterable<GLsizei>, countsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsInstancedWEBGL) */\n    multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: number, instanceCountsList: Int32Array | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsWEBGL) */\n    multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array | Iterable<GLsizei>, offsetsOffset: number, drawcount: GLsizei): void;\n}\n\ninterface WebGL2RenderingContextBase {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: number): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawBuffers) */\n    drawBuffers(buffers: Iterable<GLenum>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniforms) */\n    getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices) */\n    getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): Iterable<GLuint> | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateFramebuffer) */\n    invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateSubFramebuffer) */\n    invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/transformFeedbackVaryings) */\n    transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */\n    uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */\n    vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void;\n}\n\ninterface WebGL2RenderingContextOverloads {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n}\n\ninterface WebGLRenderingContextBase {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib1fv(index: GLuint, values: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib2fv(index: GLuint, values: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib3fv(index: GLuint, values: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */\n    vertexAttrib4fv(index: GLuint, values: Iterable<GLfloat>): void;\n}\n\ninterface WebGLRenderingContextOverloads {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform1iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform2iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform3iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */\n    uniform4iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n}\n`;function fm(yp){return typeof yp==\"string\"?/^file:\\/\\/\\//.test(yp)?!!Vi[yp.substr(8)]:!1:yp.path.indexOf(\"/lib.\")===0?!!Vi[yp.path.slice(1)]:!1}var H5=class yp{constructor(mi,pt){this._extraLibs=Object.create(null);this._languageService=rve(this);this._ctx=mi,this._compilerOptions=pt.compilerOptions,this._extraLibs=pt.extraLibs,this._inlayHintsOptions=pt.inlayHintsOptions}getCompilationSettings(){return this._compilerOptions}getLanguageService(){return this._languageService}getExtraLibs(){return this._extraLibs}getScriptFileNames(){return this._ctx.getMirrorModels().map(ds=>ds.uri).filter(ds=>!fm(ds)).map(ds=>ds.toString()).concat(Object.keys(this._extraLibs))}_getModel(mi){let pt=this._ctx.getMirrorModels();for(let ds=0;ds<pt.length;ds++){let la=pt[ds].uri;if(la.toString()===mi||la.toString(!0)===mi)return pt[ds]}return null}getScriptVersion(mi){let pt=this._getModel(mi);return pt?pt.version.toString():this.isDefaultLibFileName(mi)?\"1\":mi in this._extraLibs?String(this._extraLibs[mi].version):\"\"}async getScriptText(mi){return this._getScriptText(mi)}_getScriptText(mi){let pt,ds=this._getModel(mi),la=\"lib.\"+mi+\".d.ts\";if(ds)pt=ds.getValue();else if(mi in Vi)pt=Vi[mi];else if(la in Vi)pt=Vi[la];else if(mi in this._extraLibs)pt=this._extraLibs[mi].content;else return;return pt}getScriptSnapshot(mi){let pt=this._getScriptText(mi);if(pt!==void 0)return{getText:(ds,la)=>pt.substring(ds,la),getLength:()=>pt.length,getChangeRange:()=>{}}}getScriptKind(mi){switch(mi.substr(mi.lastIndexOf(\".\")+1)){case\"ts\":return kD.TS;case\"tsx\":return kD.TSX;case\"js\":return kD.JS;case\"jsx\":return kD.JSX;default:return this.getCompilationSettings().allowJs?kD.JS:kD.TS}}getCurrentDirectory(){return\"\"}getDefaultLibFileName(mi){switch(mi.target){case 99:let pt=\"lib.esnext.full.d.ts\";if(pt in Vi||pt in this._extraLibs)return pt;case 7:case 6:case 5:case 4:case 3:case 2:default:let ds=`lib.es${2013+(mi.target||99)}.full.d.ts`;return ds in Vi||ds in this._extraLibs?ds:\"lib.es6.d.ts\";case 1:case 0:return\"lib.d.ts\"}}isDefaultLibFileName(mi){return mi===this.getDefaultLibFileName(this._compilerOptions)}readFile(mi){return this._getScriptText(mi)}fileExists(mi){return this._getScriptText(mi)!==void 0}async getLibFiles(){return Vi}static clearFiles(mi){let pt=[];for(let ds of mi){let la={...ds};if(la.file=la.file?{fileName:la.file.fileName}:void 0,ds.relatedInformation){la.relatedInformation=[];for(let jm of ds.relatedInformation){let bp={...jm};bp.file=bp.file?{fileName:bp.file.fileName}:void 0,la.relatedInformation.push(bp)}}pt.push(la)}return pt}async getSyntacticDiagnostics(mi){if(fm(mi))return[];let pt=this._languageService.getSyntacticDiagnostics(mi);return yp.clearFiles(pt)}async getSemanticDiagnostics(mi){if(fm(mi))return[];let pt=this._languageService.getSemanticDiagnostics(mi);return yp.clearFiles(pt)}async getSuggestionDiagnostics(mi){if(fm(mi))return[];let pt=this._languageService.getSuggestionDiagnostics(mi);return yp.clearFiles(pt)}async getCompilerOptionsDiagnostics(mi){if(fm(mi))return[];let pt=this._languageService.getCompilerOptionsDiagnostics();return yp.clearFiles(pt)}async getCompletionsAtPosition(mi,pt){if(!fm(mi))return this._languageService.getCompletionsAtPosition(mi,pt,void 0)}async getCompletionEntryDetails(mi,pt,ds){return this._languageService.getCompletionEntryDetails(mi,pt,ds,void 0,void 0,void 0,void 0)}async getSignatureHelpItems(mi,pt,ds){if(!fm(mi))return this._languageService.getSignatureHelpItems(mi,pt,ds)}async getQuickInfoAtPosition(mi,pt){if(!fm(mi))return this._languageService.getQuickInfoAtPosition(mi,pt)}async getDocumentHighlights(mi,pt,ds){if(!fm(mi))return this._languageService.getDocumentHighlights(mi,pt,ds)}async getDefinitionAtPosition(mi,pt){if(!fm(mi))return this._languageService.getDefinitionAtPosition(mi,pt)}async getReferencesAtPosition(mi,pt){if(!fm(mi))return this._languageService.getReferencesAtPosition(mi,pt)}async getNavigationTree(mi){if(!fm(mi))return this._languageService.getNavigationTree(mi)}async getFormattingEditsForDocument(mi,pt){return fm(mi)?[]:this._languageService.getFormattingEditsForDocument(mi,pt)}async getFormattingEditsForRange(mi,pt,ds,la){return fm(mi)?[]:this._languageService.getFormattingEditsForRange(mi,pt,ds,la)}async getFormattingEditsAfterKeystroke(mi,pt,ds,la){return fm(mi)?[]:this._languageService.getFormattingEditsAfterKeystroke(mi,pt,ds,la)}async findRenameLocations(mi,pt,ds,la,jm){if(!fm(mi))return this._languageService.findRenameLocations(mi,pt,ds,la,jm)}async getRenameInfo(mi,pt,ds){return fm(mi)?{canRename:!1,localizedErrorMessage:\"Cannot rename in lib file\"}:this._languageService.getRenameInfo(mi,pt,ds)}async getEmitOutput(mi,pt,ds){if(fm(mi))return{outputFiles:[],emitSkipped:!0};let la=this._languageService.getEmitOutput(mi,pt,ds),jm=la.diagnostics?yp.clearFiles(la.diagnostics):void 0;return{...la,diagnostics:jm}}async getCodeFixesAtPosition(mi,pt,ds,la,jm){if(fm(mi))return[];let bp={};try{return this._languageService.getCodeFixesAtPosition(mi,pt,ds,la,jm,bp)}catch{return[]}}async updateExtraLibs(mi){this._extraLibs=mi}async provideInlayHints(mi,pt,ds){if(fm(mi))return[];let la=this._inlayHintsOptions??{},jm={start:pt,length:ds-pt};try{return this._languageService.provideInlayHints(mi,jm,la)}catch{return[]}}};function nft(yp,mi){let pt=H5;if(mi.customWorkerPath)if(typeof importScripts>\"u\")console.warn(\"Monaco is not using webworkers for background tasks, and that is needed to support the customWorkerPath flag\");else{self.importScripts(mi.customWorkerPath);let ds=self.customTSWorkerFactory;if(!ds)throw new Error(`The script at ${mi.customWorkerPath} does not add customTSWorkerFactory to self`);pt=ds(H5,ove,Vi)}return new pt(yp,mi)}globalThis.ts=ive;return Kpt(rft);})();\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nreturn moduleExports;\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/loader.js",
    "content": "\"use strict\";/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/const _amdLoaderGlobal=this,_commonjsGlobal=typeof global==\"object\"?global:{};var AMDLoader;(function(u){u.global=_amdLoaderGlobal;class y{get isWindows(){return this._detect(),this._isWindows}get isNode(){return this._detect(),this._isNode}get isElectronRenderer(){return this._detect(),this._isElectronRenderer}get isWebWorker(){return this._detect(),this._isWebWorker}get isElectronNodeIntegrationWebWorker(){return this._detect(),this._isElectronNodeIntegrationWebWorker}constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,this._isElectronRenderer=!1,this._isWebWorker=!1,this._isElectronNodeIntegrationWebWorker=!1}_detect(){this._detected||(this._detected=!0,this._isWindows=y._isWindows(),this._isNode=typeof module<\"u\"&&!!module.exports,this._isElectronRenderer=typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.electron<\"u\"&&process.type===\"renderer\",this._isWebWorker=typeof u.global.importScripts==\"function\",this._isElectronNodeIntegrationWebWorker=this._isWebWorker&&typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.electron<\"u\"&&process.type===\"worker\")}static _isWindows(){return typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.indexOf(\"Windows\")>=0?!0:typeof process<\"u\"?process.platform===\"win32\":!1}}u.Environment=y})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){class y{constructor(r,c,a){this.type=r,this.detail=c,this.timestamp=a}}u.LoaderEvent=y;class m{constructor(r){this._events=[new y(1,\"\",r)]}record(r,c){this._events.push(new y(r,c,u.Utilities.getHighPerformanceTimestamp()))}getEvents(){return this._events}}u.LoaderEventRecorder=m;class p{record(r,c){}getEvents(){return[]}}p.INSTANCE=new p,u.NullLoaderEventRecorder=p})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){class y{static fileUriToFilePath(p,h){if(h=decodeURI(h).replace(/%23/g,\"#\"),p){if(/^file:\\/\\/\\//.test(h))return h.substr(8);if(/^file:\\/\\//.test(h))return h.substr(5)}else if(/^file:\\/\\//.test(h))return h.substr(7);return h}static startsWith(p,h){return p.length>=h.length&&p.substr(0,h.length)===h}static endsWith(p,h){return p.length>=h.length&&p.substr(p.length-h.length)===h}static containsQueryString(p){return/^[^\\#]*\\?/gi.test(p)}static isAbsolutePath(p){return/^((http:\\/\\/)|(https:\\/\\/)|(file:\\/\\/)|(\\/))/.test(p)}static forEachProperty(p,h){if(p){let r;for(r in p)p.hasOwnProperty(r)&&h(r,p[r])}}static isEmpty(p){let h=!0;return y.forEachProperty(p,()=>{h=!1}),h}static recursiveClone(p){if(!p||typeof p!=\"object\"||p instanceof RegExp||!Array.isArray(p)&&Object.getPrototypeOf(p)!==Object.prototype)return p;let h=Array.isArray(p)?[]:{};return y.forEachProperty(p,(r,c)=>{c&&typeof c==\"object\"?h[r]=y.recursiveClone(c):h[r]=c}),h}static generateAnonymousModule(){return\"===anonymous\"+y.NEXT_ANONYMOUS_ID+++\"===\"}static isAnonymousModule(p){return y.startsWith(p,\"===anonymous\")}static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=u.global.performance&&typeof u.global.performance.now==\"function\"),this.HAS_PERFORMANCE_NOW?u.global.performance.now():Date.now()}}y.NEXT_ANONYMOUS_ID=1,y.PERFORMANCE_NOW_PROBED=!1,y.HAS_PERFORMANCE_NOW=!1,u.Utilities=y})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){function y(h){if(h instanceof Error)return h;const r=new Error(h.message||String(h)||\"Unknown Error\");return h.stack&&(r.stack=h.stack),r}u.ensureError=y;class m{static validateConfigurationOptions(r){function c(a){if(a.phase===\"loading\"){console.error('Loading \"'+a.moduleId+'\" failed'),console.error(a),console.error(\"Here are the modules that depend on it:\"),console.error(a.neededBy);return}if(a.phase===\"factory\"){console.error('The factory function of \"'+a.moduleId+'\" has thrown an exception'),console.error(a),console.error(\"Here are the modules that depend on it:\"),console.error(a.neededBy);return}}if(r=r||{},typeof r.baseUrl!=\"string\"&&(r.baseUrl=\"\"),typeof r.isBuild!=\"boolean\"&&(r.isBuild=!1),typeof r.paths!=\"object\"&&(r.paths={}),typeof r.config!=\"object\"&&(r.config={}),typeof r.catchError>\"u\"&&(r.catchError=!1),typeof r.recordStats>\"u\"&&(r.recordStats=!1),typeof r.urlArgs!=\"string\"&&(r.urlArgs=\"\"),typeof r.onError!=\"function\"&&(r.onError=c),Array.isArray(r.ignoreDuplicateModules)||(r.ignoreDuplicateModules=[]),r.baseUrl.length>0&&(u.Utilities.endsWith(r.baseUrl,\"/\")||(r.baseUrl+=\"/\")),typeof r.cspNonce!=\"string\"&&(r.cspNonce=\"\"),typeof r.preferScriptTags>\"u\"&&(r.preferScriptTags=!1),r.nodeCachedData&&typeof r.nodeCachedData==\"object\"&&(typeof r.nodeCachedData.seed!=\"string\"&&(r.nodeCachedData.seed=\"seed\"),(typeof r.nodeCachedData.writeDelay!=\"number\"||r.nodeCachedData.writeDelay<0)&&(r.nodeCachedData.writeDelay=1e3*7),!r.nodeCachedData.path||typeof r.nodeCachedData.path!=\"string\")){const a=y(new Error(\"INVALID cached data configuration, 'path' MUST be set\"));a.phase=\"configuration\",r.onError(a),r.nodeCachedData=void 0}return r}static mergeConfigurationOptions(r=null,c=null){let a=u.Utilities.recursiveClone(c||{});return u.Utilities.forEachProperty(r,(t,e)=>{t===\"ignoreDuplicateModules\"&&typeof a.ignoreDuplicateModules<\"u\"?a.ignoreDuplicateModules=a.ignoreDuplicateModules.concat(e):t===\"paths\"&&typeof a.paths<\"u\"?u.Utilities.forEachProperty(e,(i,s)=>a.paths[i]=s):t===\"config\"&&typeof a.config<\"u\"?u.Utilities.forEachProperty(e,(i,s)=>a.config[i]=s):a[t]=u.Utilities.recursiveClone(e)}),m.validateConfigurationOptions(a)}}u.ConfigurationOptionsUtil=m;class p{constructor(r,c){if(this._env=r,this.options=m.mergeConfigurationOptions(c),this._createIgnoreDuplicateModulesMap(),this._createSortedPathsRules(),this.options.baseUrl===\"\"&&this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode){let a=this.options.nodeRequire.main.filename,t=Math.max(a.lastIndexOf(\"/\"),a.lastIndexOf(\"\\\\\"));this.options.baseUrl=a.substring(0,t+1)}}_createIgnoreDuplicateModulesMap(){this.ignoreDuplicateModulesMap={};for(let r=0;r<this.options.ignoreDuplicateModules.length;r++)this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[r]]=!0}_createSortedPathsRules(){this.sortedPathsRules=[],u.Utilities.forEachProperty(this.options.paths,(r,c)=>{Array.isArray(c)?this.sortedPathsRules.push({from:r,to:c}):this.sortedPathsRules.push({from:r,to:[c]})}),this.sortedPathsRules.sort((r,c)=>c.from.length-r.from.length)}cloneAndMerge(r){return new p(this._env,m.mergeConfigurationOptions(r,this.options))}getOptionsLiteral(){return this.options}_applyPaths(r){let c;for(let a=0,t=this.sortedPathsRules.length;a<t;a++)if(c=this.sortedPathsRules[a],u.Utilities.startsWith(r,c.from)){let e=[];for(let i=0,s=c.to.length;i<s;i++)e.push(c.to[i]+r.substr(c.from.length));return e}return[r]}_addUrlArgsToUrl(r){return u.Utilities.containsQueryString(r)?r+\"&\"+this.options.urlArgs:r+\"?\"+this.options.urlArgs}_addUrlArgsIfNecessaryToUrl(r){return this.options.urlArgs?this._addUrlArgsToUrl(r):r}_addUrlArgsIfNecessaryToUrls(r){if(this.options.urlArgs)for(let c=0,a=r.length;c<a;c++)r[c]=this._addUrlArgsToUrl(r[c]);return r}moduleIdToPaths(r){if(this._env.isNode&&this.options.amdModulesPattern instanceof RegExp&&!this.options.amdModulesPattern.test(r))return this.isBuild()?[\"empty:\"]:[\"node|\"+r];let c=r,a;if(!u.Utilities.endsWith(c,\".js\")&&!u.Utilities.isAbsolutePath(c)){a=this._applyPaths(c);for(let t=0,e=a.length;t<e;t++)this.isBuild()&&a[t]===\"empty:\"||(u.Utilities.isAbsolutePath(a[t])||(a[t]=this.options.baseUrl+a[t]),!u.Utilities.endsWith(a[t],\".js\")&&!u.Utilities.containsQueryString(a[t])&&(a[t]=a[t]+\".js\"))}else!u.Utilities.endsWith(c,\".js\")&&!u.Utilities.containsQueryString(c)&&(c=c+\".js\"),a=[c];return this._addUrlArgsIfNecessaryToUrls(a)}requireToUrl(r){let c=r;return u.Utilities.isAbsolutePath(c)||(c=this._applyPaths(c)[0],u.Utilities.isAbsolutePath(c)||(c=this.options.baseUrl+c)),this._addUrlArgsIfNecessaryToUrl(c)}isBuild(){return this.options.isBuild}shouldInvokeFactory(r){return!!(!this.options.isBuild||u.Utilities.isAnonymousModule(r)||this.options.buildForceInvokeFactory&&this.options.buildForceInvokeFactory[r])}isDuplicateMessageIgnoredFor(r){return this.ignoreDuplicateModulesMap.hasOwnProperty(r)}getConfigForModule(r){if(this.options.config)return this.options.config[r]}shouldCatchError(){return this.options.catchError}shouldRecordStats(){return this.options.recordStats}onError(r){this.options.onError(r)}}u.Configuration=p})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){class y{constructor(e){this._env=e,this._scriptLoader=null,this._callbackMap={}}load(e,i,s,n){if(!this._scriptLoader)if(this._env.isWebWorker)this._scriptLoader=new h;else if(this._env.isElectronRenderer){const{preferScriptTags:d}=e.getConfig().getOptionsLiteral();d?this._scriptLoader=new m:this._scriptLoader=new r(this._env)}else this._env.isNode?this._scriptLoader=new r(this._env):this._scriptLoader=new m;let l={callback:s,errorback:n};if(this._callbackMap.hasOwnProperty(i)){this._callbackMap[i].push(l);return}this._callbackMap[i]=[l],this._scriptLoader.load(e,i,()=>this.triggerCallback(i),d=>this.triggerErrorback(i,d))}triggerCallback(e){let i=this._callbackMap[e];delete this._callbackMap[e];for(let s=0;s<i.length;s++)i[s].callback()}triggerErrorback(e,i){let s=this._callbackMap[e];delete this._callbackMap[e];for(let n=0;n<s.length;n++)s[n].errorback(i)}}class m{attachListeners(e,i,s){let n=()=>{e.removeEventListener(\"load\",l),e.removeEventListener(\"error\",d)},l=o=>{n(),i()},d=o=>{n(),s(o)};e.addEventListener(\"load\",l),e.addEventListener(\"error\",d)}load(e,i,s,n){if(/^node\\|/.test(i)){let l=e.getConfig().getOptionsLiteral(),d=c(e.getRecorder(),l.nodeRequire||u.global.nodeRequire),o=i.split(\"|\"),_=null;try{_=d(o[1])}catch(f){n(f);return}e.enqueueDefineAnonymousModule([],()=>_),s()}else{let l=document.createElement(\"script\");l.setAttribute(\"async\",\"async\"),l.setAttribute(\"type\",\"text/javascript\"),this.attachListeners(l,s,n);const{trustedTypesPolicy:d}=e.getConfig().getOptionsLiteral();d&&(i=d.createScriptURL(i)),l.setAttribute(\"src\",i);const{cspNonce:o}=e.getConfig().getOptionsLiteral();o&&l.setAttribute(\"nonce\",o),document.getElementsByTagName(\"head\")[0].appendChild(l)}}}function p(t){const{trustedTypesPolicy:e}=t.getConfig().getOptionsLiteral();try{return(e?self.eval(e.createScript(\"\",\"true\")):new Function(\"true\")).call(self),!0}catch{return!1}}class h{constructor(){this._cachedCanUseEval=null}_canUseEval(e){return this._cachedCanUseEval===null&&(this._cachedCanUseEval=p(e)),this._cachedCanUseEval}load(e,i,s,n){if(/^node\\|/.test(i)){const l=e.getConfig().getOptionsLiteral(),d=c(e.getRecorder(),l.nodeRequire||u.global.nodeRequire),o=i.split(\"|\");let _=null;try{_=d(o[1])}catch(f){n(f);return}e.enqueueDefineAnonymousModule([],function(){return _}),s()}else{const{trustedTypesPolicy:l}=e.getConfig().getOptionsLiteral();if(!(/^((http:)|(https:)|(file:))/.test(i)&&i.substring(0,self.origin.length)!==self.origin)&&this._canUseEval(e)){fetch(i).then(o=>{if(o.status!==200)throw new Error(o.statusText);return o.text()}).then(o=>{o=`${o}\n//# sourceURL=${i}`,(l?self.eval(l.createScript(\"\",o)):new Function(o)).call(self),s()}).then(void 0,n);return}try{l&&(i=l.createScriptURL(i)),importScripts(i),s()}catch(o){n(o)}}}}class r{constructor(e){this._env=e,this._didInitialize=!1,this._didPatchNodeRequire=!1}_init(e){this._didInitialize||(this._didInitialize=!0,this._fs=e(\"fs\"),this._vm=e(\"vm\"),this._path=e(\"path\"),this._crypto=e(\"crypto\"))}_initNodeRequire(e,i){const{nodeCachedData:s}=i.getConfig().getOptionsLiteral();if(!s||this._didPatchNodeRequire)return;this._didPatchNodeRequire=!0;const n=this,l=e(\"module\");function d(o){const _=o.constructor;let f=function(v){try{return o.require(v)}finally{}};return f.resolve=function(v,E){return _._resolveFilename(v,o,!1,E)},f.resolve.paths=function(v){return _._resolveLookupPaths(v,o)},f.main=process.mainModule,f.extensions=_._extensions,f.cache=_._cache,f}l.prototype._compile=function(o,_){const f=l.wrap(o.replace(/^#!.*/,\"\")),g=i.getRecorder(),v=n._getCachedDataPath(s,_),E={filename:_};let I;try{const D=n._fs.readFileSync(v);I=D.slice(0,16),E.cachedData=D.slice(16),g.record(60,v)}catch{g.record(61,v)}const C=new n._vm.Script(f,E),P=C.runInThisContext(E),w=n._path.dirname(_),R=d(this),U=[this.exports,R,this,_,w,process,_commonjsGlobal,Buffer],b=P.apply(this.exports,U);return n._handleCachedData(C,f,v,!E.cachedData,i),n._verifyCachedData(C,f,v,I,i),b}}load(e,i,s,n){const l=e.getConfig().getOptionsLiteral(),d=c(e.getRecorder(),l.nodeRequire||u.global.nodeRequire),o=l.nodeInstrumenter||function(f){return f};this._init(d),this._initNodeRequire(d,e);let _=e.getRecorder();if(/^node\\|/.test(i)){let f=i.split(\"|\"),g=null;try{g=d(f[1])}catch(v){n(v);return}e.enqueueDefineAnonymousModule([],()=>g),s()}else{i=u.Utilities.fileUriToFilePath(this._env.isWindows,i);const f=this._path.normalize(i),g=this._getElectronRendererScriptPathOrUri(f),v=!!l.nodeCachedData,E=v?this._getCachedDataPath(l.nodeCachedData,i):void 0;this._readSourceAndCachedData(f,E,_,(I,C,P,w)=>{if(I){n(I);return}let R;C.charCodeAt(0)===r._BOM?R=r._PREFIX+C.substring(1)+r._SUFFIX:R=r._PREFIX+C+r._SUFFIX,R=o(R,f);const U={filename:g,cachedData:P},b=this._createAndEvalScript(e,R,U,s,n);this._handleCachedData(b,R,E,v&&!P,e),this._verifyCachedData(b,R,E,w,e)})}}_createAndEvalScript(e,i,s,n,l){const d=e.getRecorder();d.record(31,s.filename);const o=new this._vm.Script(i,s),_=o.runInThisContext(s),f=e.getGlobalAMDDefineFunc();let g=!1;const v=function(){return g=!0,f.apply(null,arguments)};return v.amd=f.amd,_.call(u.global,e.getGlobalAMDRequireFunc(),v,s.filename,this._path.dirname(s.filename)),d.record(32,s.filename),g?n():l(new Error(`Didn't receive define call in ${s.filename}!`)),o}_getElectronRendererScriptPathOrUri(e){if(!this._env.isElectronRenderer)return e;let i=e.match(/^([a-z])\\:(.*)/i);return i?`file:///${(i[1].toUpperCase()+\":\"+i[2]).replace(/\\\\/g,\"/\")}`:`file://${e}`}_getCachedDataPath(e,i){const s=this._crypto.createHash(\"md5\").update(i,\"utf8\").update(e.seed,\"utf8\").update(process.arch,\"\").digest(\"hex\"),n=this._path.basename(i).replace(/\\.js$/,\"\");return this._path.join(e.path,`${n}-${s}.code`)}_handleCachedData(e,i,s,n,l){e.cachedDataRejected?this._fs.unlink(s,d=>{l.getRecorder().record(62,s),this._createAndWriteCachedData(e,i,s,l),d&&l.getConfig().onError(d)}):n&&this._createAndWriteCachedData(e,i,s,l)}_createAndWriteCachedData(e,i,s,n){let l=Math.ceil(n.getConfig().getOptionsLiteral().nodeCachedData.writeDelay*(1+Math.random())),d=-1,o=0,_;const f=()=>{setTimeout(()=>{_||(_=this._crypto.createHash(\"md5\").update(i,\"utf8\").digest());const g=e.createCachedData();if(!(g.length===0||g.length===d||o>=5)){if(g.length<d){f();return}d=g.length,this._fs.writeFile(s,Buffer.concat([_,g]),v=>{v&&n.getConfig().onError(v),n.getRecorder().record(63,s),f()})}},l*Math.pow(4,o++))};f()}_readSourceAndCachedData(e,i,s,n){if(!i)this._fs.readFile(e,{encoding:\"utf8\"},n);else{let l,d,o,_=2;const f=g=>{g?n(g):--_===0&&n(void 0,l,d,o)};this._fs.readFile(e,{encoding:\"utf8\"},(g,v)=>{l=v,f(g)}),this._fs.readFile(i,(g,v)=>{!g&&v&&v.length>0?(o=v.slice(0,16),d=v.slice(16),s.record(60,i)):s.record(61,i),f()})}}_verifyCachedData(e,i,s,n,l){n&&(e.cachedDataRejected||setTimeout(()=>{const d=this._crypto.createHash(\"md5\").update(i,\"utf8\").digest();n.equals(d)||(l.getConfig().onError(new Error(`FAILED TO VERIFY CACHED DATA, deleting stale '${s}' now, but a RESTART IS REQUIRED`)),this._fs.unlink(s,o=>{o&&l.getConfig().onError(o)}))},Math.ceil(5e3*(1+Math.random()))))}}r._BOM=65279,r._PREFIX=\"(function (require, define, __filename, __dirname) { \",r._SUFFIX=`\n});`;function c(t,e){if(e.__$__isRecorded)return e;const i=function(n){t.record(33,n);try{return e(n)}finally{t.record(34,n)}};return i.__$__isRecorded=!0,i}u.ensureRecordedNodeRequire=c;function a(t){return new y(t)}u.createScriptLoader=a})(AMDLoader||(AMDLoader={}));var AMDLoader;(function(u){class y{constructor(t){let e=t.lastIndexOf(\"/\");e!==-1?this.fromModulePath=t.substr(0,e+1):this.fromModulePath=\"\"}static _normalizeModuleId(t){let e=t,i;for(i=/\\/\\.\\//;i.test(e);)e=e.replace(i,\"/\");for(e=e.replace(/^\\.\\//g,\"\"),i=/\\/(([^\\/])|([^\\/][^\\/\\.])|([^\\/\\.][^\\/])|([^\\/][^\\/][^\\/]+))\\/\\.\\.\\//;i.test(e);)e=e.replace(i,\"/\");return e=e.replace(/^(([^\\/])|([^\\/][^\\/\\.])|([^\\/\\.][^\\/])|([^\\/][^\\/][^\\/]+))\\/\\.\\.\\//,\"\"),e}resolveModule(t){let e=t;return u.Utilities.isAbsolutePath(e)||(u.Utilities.startsWith(e,\"./\")||u.Utilities.startsWith(e,\"../\"))&&(e=y._normalizeModuleId(this.fromModulePath+e)),e}}y.ROOT=new y(\"\"),u.ModuleIdResolver=y;class m{constructor(t,e,i,s,n,l){this.id=t,this.strId=e,this.dependencies=i,this._callback=s,this._errorback=n,this.moduleIdResolver=l,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}static _safeInvokeFunction(t,e){try{return{returnedValue:t.apply(u.global,e),producedError:null}}catch(i){return{returnedValue:null,producedError:i}}}static _invokeFactory(t,e,i,s){return t.shouldInvokeFactory(e)?t.shouldCatchError()?this._safeInvokeFunction(i,s):{returnedValue:i.apply(u.global,s),producedError:null}:{returnedValue:null,producedError:null}}complete(t,e,i,s){this._isComplete=!0;let n=null;if(this._callback)if(typeof this._callback==\"function\"){t.record(21,this.strId);let l=m._invokeFactory(e,this.strId,this._callback,i);n=l.producedError,t.record(22,this.strId),!n&&typeof l.returnedValue<\"u\"&&(!this.exportsPassedIn||u.Utilities.isEmpty(this.exports))&&(this.exports=l.returnedValue)}else this.exports=this._callback;if(n){let l=u.ensureError(n);l.phase=\"factory\",l.moduleId=this.strId,l.neededBy=s(this.id),this.error=l,e.onError(l)}this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null}onDependencyError(t){return this._isComplete=!0,this.error=t,this._errorback?(this._errorback(t),!0):!1}isComplete(){return this._isComplete}}u.Module=m;class p{constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId(\"exports\"),this.getModuleId(\"module\"),this.getModuleId(\"require\")}getMaxModuleId(){return this._nextId}getModuleId(t){let e=this._strModuleIdToIntModuleId.get(t);return typeof e>\"u\"&&(e=this._nextId++,this._strModuleIdToIntModuleId.set(t,e),this._intModuleIdToStrModuleId[e]=t),e}getStrModuleId(t){return this._intModuleIdToStrModuleId[t]}}class h{constructor(t){this.id=t}}h.EXPORTS=new h(0),h.MODULE=new h(1),h.REQUIRE=new h(2),u.RegularDependency=h;class r{constructor(t,e,i){this.id=t,this.pluginId=e,this.pluginParam=i}}u.PluginDependency=r;class c{constructor(t,e,i,s,n=0){this._env=t,this._scriptLoader=e,this._loaderAvailableTimestamp=n,this._defineFunc=i,this._requireFunc=s,this._moduleIdProvider=new p,this._config=new u.Configuration(this._env),this._hasDependencyCycle=!1,this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[],this._requireFunc.moduleManager=this}reset(){return new c(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)}getGlobalAMDDefineFunc(){return this._defineFunc}getGlobalAMDRequireFunc(){return this._requireFunc}static _findRelevantLocationInStack(t,e){let i=l=>l.replace(/\\\\/g,\"/\"),s=i(t),n=e.split(/\\n/);for(let l=0;l<n.length;l++){let d=n[l].match(/(.*):(\\d+):(\\d+)\\)?$/);if(d){let o=d[1],_=d[2],f=d[3],g=Math.max(o.lastIndexOf(\" \")+1,o.lastIndexOf(\"(\")+1);if(o=o.substr(g),o=i(o),o===s){let v={line:parseInt(_,10),col:parseInt(f,10)};return v.line===1&&(v.col-=53),v}}}throw new Error(\"Could not correlate define call site for needle \"+t)}getBuildInfo(){if(!this._config.isBuild())return null;let t=[],e=0;for(let i=0,s=this._modules2.length;i<s;i++){let n=this._modules2[i];if(!n)continue;let l=this._buildInfoPath[n.id]||null,d=this._buildInfoDefineStack[n.id]||null,o=this._buildInfoDependencies[n.id];t[e++]={id:n.strId,path:l,defineLocation:l&&d?c._findRelevantLocationInStack(l,d):null,dependencies:o,shim:null,exports:n.exports}}return t}getRecorder(){return this._recorder||(this._config.shouldRecordStats()?this._recorder=new u.LoaderEventRecorder(this._loaderAvailableTimestamp):this._recorder=u.NullLoaderEventRecorder.INSTANCE),this._recorder}getLoaderEvents(){return this.getRecorder().getEvents()}enqueueDefineAnonymousModule(t,e){if(this._currentAnonymousDefineCall!==null)throw new Error(\"Can only have one anonymous define call per script file\");let i=null;this._config.isBuild()&&(i=new Error(\"StackLocation\").stack||null),this._currentAnonymousDefineCall={stack:i,dependencies:t,callback:e}}defineModule(t,e,i,s,n,l=new y(t)){let d=this._moduleIdProvider.getModuleId(t);if(this._modules2[d]){this._config.isDuplicateMessageIgnoredFor(t)||console.warn(\"Duplicate definition of module '\"+t+\"'\");return}let o=new m(d,t,this._normalizeDependencies(e,l),i,s,l);this._modules2[d]=o,this._config.isBuild()&&(this._buildInfoDefineStack[d]=n,this._buildInfoDependencies[d]=(o.dependencies||[]).map(_=>this._moduleIdProvider.getStrModuleId(_.id))),this._resolve(o)}_normalizeDependency(t,e){if(t===\"exports\")return h.EXPORTS;if(t===\"module\")return h.MODULE;if(t===\"require\")return h.REQUIRE;let i=t.indexOf(\"!\");if(i>=0){let s=e.resolveModule(t.substr(0,i)),n=e.resolveModule(t.substr(i+1)),l=this._moduleIdProvider.getModuleId(s+\"!\"+n),d=this._moduleIdProvider.getModuleId(s);return new r(l,d,n)}return new h(this._moduleIdProvider.getModuleId(e.resolveModule(t)))}_normalizeDependencies(t,e){let i=[],s=0;for(let n=0,l=t.length;n<l;n++)i[s++]=this._normalizeDependency(t[n],e);return i}_relativeRequire(t,e,i,s){if(typeof e==\"string\")return this.synchronousRequire(e,t);this.defineModule(u.Utilities.generateAnonymousModule(),e,i,s,null,t)}synchronousRequire(t,e=new y(t)){let i=this._normalizeDependency(t,e),s=this._modules2[i.id];if(!s)throw new Error(\"Check dependency list! Synchronous require cannot resolve module '\"+t+\"'. This is the first mention of this module!\");if(!s.isComplete())throw new Error(\"Check dependency list! Synchronous require cannot resolve module '\"+t+\"'. This module has not been resolved completely yet.\");if(s.error)throw s.error;return s.exports}configure(t,e){let i=this._config.shouldRecordStats();e?this._config=new u.Configuration(this._env,t):this._config=this._config.cloneAndMerge(t),this._config.shouldRecordStats()&&!i&&(this._recorder=null)}getConfig(){return this._config}_onLoad(t){if(this._currentAnonymousDefineCall!==null){let e=this._currentAnonymousDefineCall;this._currentAnonymousDefineCall=null,this.defineModule(this._moduleIdProvider.getStrModuleId(t),e.dependencies,e.callback,null,e.stack)}}_createLoadError(t,e){let i=this._moduleIdProvider.getStrModuleId(t),s=(this._inverseDependencies2[t]||[]).map(l=>this._moduleIdProvider.getStrModuleId(l));const n=u.ensureError(e);return n.phase=\"loading\",n.moduleId=i,n.neededBy=s,n}_onLoadError(t,e){const i=this._createLoadError(t,e);this._modules2[t]||(this._modules2[t]=new m(t,this._moduleIdProvider.getStrModuleId(t),[],()=>{},null,null));let s=[];for(let d=0,o=this._moduleIdProvider.getMaxModuleId();d<o;d++)s[d]=!1;let n=!1,l=[];for(l.push(t),s[t]=!0;l.length>0;){let d=l.shift(),o=this._modules2[d];o&&(n=o.onDependencyError(i)||n);let _=this._inverseDependencies2[d];if(_)for(let f=0,g=_.length;f<g;f++){let v=_[f];s[v]||(l.push(v),s[v]=!0)}}n||this._config.onError(i)}_hasDependencyPath(t,e){let i=this._modules2[t];if(!i)return!1;let s=[];for(let l=0,d=this._moduleIdProvider.getMaxModuleId();l<d;l++)s[l]=!1;let n=[];for(n.push(i),s[t]=!0;n.length>0;){let d=n.shift().dependencies;if(d)for(let o=0,_=d.length;o<_;o++){let f=d[o];if(f.id===e)return!0;let g=this._modules2[f.id];g&&!s[f.id]&&(s[f.id]=!0,n.push(g))}}return!1}_findCyclePath(t,e,i){if(t===e||i===50)return[t];let s=this._modules2[t];if(!s)return null;let n=s.dependencies;if(n)for(let l=0,d=n.length;l<d;l++){let o=this._findCyclePath(n[l].id,e,i+1);if(o!==null)return o.push(t),o}return null}_createRequire(t){let e=(i,s,n)=>this._relativeRequire(t,i,s,n);return e.toUrl=i=>this._config.requireToUrl(t.resolveModule(i)),e.getStats=()=>this.getLoaderEvents(),e.hasDependencyCycle=()=>this._hasDependencyCycle,e.config=(i,s=!1)=>{this.configure(i,s)},e.__$__nodeRequire=u.global.nodeRequire,e}_loadModule(t){if(this._modules2[t]||this._knownModules2[t])return;this._knownModules2[t]=!0;let e=this._moduleIdProvider.getStrModuleId(t),i=this._config.moduleIdToPaths(e),s=/^@[^\\/]+\\/[^\\/]+$/;this._env.isNode&&(e.indexOf(\"/\")===-1||s.test(e))&&i.push(\"node|\"+e);let n=-1,l=d=>{if(n++,n>=i.length)this._onLoadError(t,d);else{let o=i[n],_=this.getRecorder();if(this._config.isBuild()&&o===\"empty:\"){this._buildInfoPath[t]=o,this.defineModule(this._moduleIdProvider.getStrModuleId(t),[],null,null,null),this._onLoad(t);return}_.record(10,o),this._scriptLoader.load(this,o,()=>{this._config.isBuild()&&(this._buildInfoPath[t]=o),_.record(11,o),this._onLoad(t)},f=>{_.record(12,o),l(f)})}};l(null)}_loadPluginDependency(t,e){if(this._modules2[e.id]||this._knownModules2[e.id])return;this._knownModules2[e.id]=!0;let i=s=>{this.defineModule(this._moduleIdProvider.getStrModuleId(e.id),[],s,null,null)};i.error=s=>{this._config.onError(this._createLoadError(e.id,s))},t.load(e.pluginParam,this._createRequire(y.ROOT),i,this._config.getOptionsLiteral())}_resolve(t){let e=t.dependencies;if(e)for(let i=0,s=e.length;i<s;i++){let n=e[i];if(n===h.EXPORTS){t.exportsPassedIn=!0,t.unresolvedDependenciesCount--;continue}if(n===h.MODULE){t.unresolvedDependenciesCount--;continue}if(n===h.REQUIRE){t.unresolvedDependenciesCount--;continue}let l=this._modules2[n.id];if(l&&l.isComplete()){if(l.error){t.onDependencyError(l.error);return}t.unresolvedDependenciesCount--;continue}if(this._hasDependencyPath(n.id,t.id)){this._hasDependencyCycle=!0,console.warn(\"There is a dependency cycle between '\"+this._moduleIdProvider.getStrModuleId(n.id)+\"' and '\"+this._moduleIdProvider.getStrModuleId(t.id)+\"'. The cyclic path follows:\");let d=this._findCyclePath(n.id,t.id,0)||[];d.reverse(),d.push(n.id),console.warn(d.map(o=>this._moduleIdProvider.getStrModuleId(o)).join(` => \n`)),t.unresolvedDependenciesCount--;continue}if(this._inverseDependencies2[n.id]=this._inverseDependencies2[n.id]||[],this._inverseDependencies2[n.id].push(t.id),n instanceof r){let d=this._modules2[n.pluginId];if(d&&d.isComplete()){this._loadPluginDependency(d.exports,n);continue}let o=this._inversePluginDependencies2.get(n.pluginId);o||(o=[],this._inversePluginDependencies2.set(n.pluginId,o)),o.push(n),this._loadModule(n.pluginId);continue}this._loadModule(n.id)}t.unresolvedDependenciesCount===0&&this._onModuleComplete(t)}_onModuleComplete(t){let e=this.getRecorder();if(t.isComplete())return;let i=t.dependencies,s=[];if(i)for(let o=0,_=i.length;o<_;o++){let f=i[o];if(f===h.EXPORTS){s[o]=t.exports;continue}if(f===h.MODULE){s[o]={id:t.strId,config:()=>this._config.getConfigForModule(t.strId)};continue}if(f===h.REQUIRE){s[o]=this._createRequire(t.moduleIdResolver);continue}let g=this._modules2[f.id];if(g){s[o]=g.exports;continue}s[o]=null}const n=o=>(this._inverseDependencies2[o]||[]).map(_=>this._moduleIdProvider.getStrModuleId(_));t.complete(e,this._config,s,n);let l=this._inverseDependencies2[t.id];if(this._inverseDependencies2[t.id]=null,l)for(let o=0,_=l.length;o<_;o++){let f=l[o],g=this._modules2[f];g.unresolvedDependenciesCount--,g.unresolvedDependenciesCount===0&&this._onModuleComplete(g)}let d=this._inversePluginDependencies2.get(t.id);if(d){this._inversePluginDependencies2.delete(t.id);for(let o=0,_=d.length;o<_;o++)this._loadPluginDependency(t.exports,d[o])}}}u.ModuleManager=c})(AMDLoader||(AMDLoader={}));var define,AMDLoader;(function(u){const y=new u.Environment;let m=null;const p=function(a,t,e){typeof a!=\"string\"&&(e=t,t=a,a=null),(typeof t!=\"object\"||!Array.isArray(t))&&(e=t,t=null),t||(t=[\"require\",\"exports\",\"module\"]),a?m.defineModule(a,t,e,null,null):m.enqueueDefineAnonymousModule(t,e)};p.amd={jQuery:!0};const h=function(a,t=!1){m.configure(a,t)},r=function(){if(arguments.length===1){if(arguments[0]instanceof Object&&!Array.isArray(arguments[0])){h(arguments[0]);return}if(typeof arguments[0]==\"string\")return m.synchronousRequire(arguments[0])}if((arguments.length===2||arguments.length===3)&&Array.isArray(arguments[0])){m.defineModule(u.Utilities.generateAnonymousModule(),arguments[0],arguments[1],arguments[2],null);return}throw new Error(\"Unrecognized require call\")};r.config=h,r.getConfig=function(){return m.getConfig().getOptionsLiteral()},r.reset=function(){m=m.reset()},r.getBuildInfo=function(){return m.getBuildInfo()},r.getStats=function(){return m.getLoaderEvents()},r.define=p;function c(){if(typeof u.global.require<\"u\"||typeof require<\"u\"){const a=u.global.require||require;if(typeof a==\"function\"&&typeof a.resolve==\"function\"){const t=u.ensureRecordedNodeRequire(m.getRecorder(),a);u.global.nodeRequire=t,r.nodeRequire=t,r.__$__nodeRequire=t}}y.isNode&&!y.isElectronRenderer&&!y.isElectronNodeIntegrationWebWorker?module.exports=r:(y.isElectronRenderer||(u.global.define=p),u.global.require=r)}u.init=c,(typeof u.global.define!=\"function\"||!u.global.define.amd)&&(m=new u.ModuleManager(y,u.createScriptLoader(y),p,r,u.Utilities.getHighPerformanceTimestamp()),typeof u.global.require<\"u\"&&typeof u.global.require!=\"function\"&&r.config(u.global.require),define=function(){return p.apply(null,arguments)},define.amd=p.amd,typeof doNotInitLoader>\"u\"&&c())})(AMDLoader||(AMDLoader={}));\n\n//# sourceMappingURL=../../min-maps/vs/loader.js.map"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.de.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0} ({1})\",\"Eingabe\",\"Gro\\xDF-/Kleinschreibung beachten\",\"Nur ganzes Wort suchen\",\"Regul\\xE4ren Ausdruck verwenden\",\"Eingabe\",\"Gro\\xDF-/Kleinschreibung beibehalten\",'\\xDCberpr\\xFCfen Sie dies in der barrierefreien Ansicht mit \"{0}\".','\\xDCberpr\\xFCfen Sie dies in der barrierefreien Ansicht \\xFCber den Befehl \"Barrierefreie Ansicht \\xF6ffnen\", der zurzeit nicht \\xFCber eine Tastenzuordnung ausgel\\xF6st werden kann.',\"Fehler: {0}\",\"Warnung: {0}\",\"Info: {0}\",\" oder {0} f\\xFCr Verlauf\",\" ({0} f\\xFCr Verlauf)\",\"Gel\\xF6schte Eingabe\",\"Ungebunden\",\"Auswahlfeld\",\"Weitere Aktionen...\",\"Filter\",\"Fuzzy\\xFCbereinstimmung\",\"Zum Filtern Text eingeben\",\"Zum Suchen eingeben\",\"Zum Suchen eingeben\",\"Schlie\\xDFen\",\"Keine Ergebnisse\",\"Keine Ergebnisse gefunden.\",null,\"(leer)\",\"{0}: {1}\",\"Ein Systemfehler ist aufgetreten ({0}).\",\"Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.\",\"Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.\",\"{0} ({1} Fehler gesamt)\",\"Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.\",\"STRG\",\"UMSCHALTTASTE\",\"ALT\",\"Windows\",\"STRG\",\"UMSCHALTTASTE\",\"ALT\",\"Super\",\"Steuern\",\"UMSCHALTTASTE\",\"Option\",\"Befehl\",\"Steuern\",\"UMSCHALTTASTE\",\"ALT\",\"Windows\",\"Steuern\",\"UMSCHALTTASTE\",\"ALT\",\"Super\",null,null,null,null,null,\"Auch bei l\\xE4ngeren Zeilen am Ende bleiben\",\"Auch bei l\\xE4ngeren Zeilen am Ende bleiben\",\"Sekund\\xE4re Cursor entfernt\",\"&&R\\xFCckg\\xE4ngig\",\"R\\xFCckg\\xE4ngig\",\"&&Wiederholen\",\"Wiederholen\",\"&&Alles ausw\\xE4hlen\",\"Alle ausw\\xE4hlen\",\"Halten Sie die {0}-Taste gedr\\xFCckt, um mit der Maus darauf zu zeigen.\",\"Wird geladen...\",\"Die Anzahl der Cursor wurde auf {0} beschr\\xE4nkt. Erw\\xE4gen Sie die Verwendung von [Suchen und Ersetzen](https://code.visualstudio.com/docs/editor/codebasics#_find-und-ersetzen) f\\xFCr gr\\xF6\\xDFere \\xC4nderungen, oder erh\\xF6hen Sie die Multicursorbegrenzungseinstellung des Editors.\",\"Erh\\xF6hen des Grenzwerts f\\xFCr mehrere Cursor\",'\"Unver\\xE4nderte Bereiche reduzieren\" umschalten','\"Verschobene Codebl\\xF6cke anzeigen\" umschalten','\"Bei eingeschr\\xE4nktem Speicherplatz Inlineansicht verwenden\" umschalten',\"Diff-Editor\",\"Seite wechseln\",\"Vergleichsmodus beenden\",\"Alle unver\\xE4nderten Regionen reduzieren\",\"Alle unver\\xE4nderten Regionen anzeigen\",\"Zur\\xFCcksetzen\",\"Barrierefreier Diff-Viewer\",\"Zum n\\xE4chsten Unterschied wechseln\",\"Zum vorherigen Unterschied wechseln\",'Symbol f\\xFCr \"Einf\\xFCgen\" im barrierefreien Diff-Viewer.','Symbol f\\xFCr \"Entfernen\" im barrierefreien Diff-Viewer.','Symbol f\\xFCr \"Schlie\\xDFen\" im barrierefreien Diff-Viewer.',\"Schlie\\xDFen\",\"Barrierefreier Diff-Viewer. Verwenden Sie den Pfeil nach oben und unten, um zu navigieren.\",\"keine ge\\xE4nderten Zeilen\",\"1 Zeile ge\\xE4ndert\",\"{0} Zeilen ge\\xE4ndert\",\"Unterschied {0} von {1}: urspr\\xFCngliche Zeile {2}, {3}, ge\\xE4nderte Zeile {4}, {5}\",\"leer\",\"{0}: unver\\xE4nderte Zeile {1}\",\"{0} urspr\\xFCngliche Zeile {1} ge\\xE4nderte Zeile {2}\",\"+ {0} ge\\xE4nderte Zeile(n) {1}\",\"\\u2013 {0} Originalzeile {1}\",\" verwenden Sie {0}, um die Hilfe zur Barrierefreiheit zu \\xF6ffnen.\",\"Gel\\xF6schte Zeilen kopieren\",\"Gel\\xF6schte Zeile kopieren\",\"Ge\\xE4nderte Zeilen kopieren\",\"Ge\\xE4nderte Zeile kopieren\",\"Gel\\xF6schte Zeile kopieren ({0})\",\"Ge\\xE4nderte Zeile ({0}) kopieren\",\"Diese \\xC4nderung r\\xFCckg\\xE4ngig machen\",\"Bei eingeschr\\xE4nktem Speicherplatz Inlineansicht verwenden\",\"Verschobene Codebl\\xF6cke anzeigen\",\"Block wiederherstellen\",\"Auswahl wiederherstellen\",\"Barrierefreien Diff-Viewer \\xF6ffnen\",\"Unver\\xE4nderten Bereich falten\",\"{0} ausgeblendete Linien\",\"Klicken oder ziehen Sie, um oben mehr anzuzeigen.\",\"Unver\\xE4nderte Regionen anzeigen\",\"Klicken oder ziehen Sie, um unten mehr anzuzeigen.\",\"{0} ausgeblendete Linien\",\"Zum Auffalten doppelklicken\",\"Code mit \\xC4nderungen in Zeile {0}-{1} verschoben\",\"Code mit \\xC4nderungen aus Zeile {0}-{1} verschoben\",\"Code in Zeile {0}-{1} verschoben\",\"Code aus Zeile {0}-{1} verschoben\",\"Ausgew\\xE4hlte \\xC4nderungen zur\\xFCcksetzen\",\"\\xC4nderung zur\\xFCcksetzen\",\"Die Rahmenfarbe f\\xFCr Text, der im Diff-Editor verschoben wurde.\",\"Die aktive Rahmenfarbe f\\xFCr Text, der im Diff-Editor verschoben wurde.\",\"Die Farbe des Schattens um unver\\xE4nderte Regionswidgets.\",\"Zeilenformatierung f\\xFCr Einf\\xFCgungen im Diff-Editor\",\"Zeilenformatierung f\\xFCr Entfernungen im Diff-Editor\",\"Die Hintergrundfarbe des Diff-Editor-Headers\",\"Die Hintergrundfarbe des Diff-Editors f\\xFCr mehrere Dateien\",\"Die Rahmenfarbe des Diff-Editors f\\xFCr mehrere Dateien\",\"Keine ge\\xE4nderten Dateien\",\"Editor\",\"Die Anzahl der Leerzeichen, denen ein Tabstopp entspricht. Diese Einstellung wird basierend auf dem Inhalt der Datei \\xFCberschrieben, wenn {0} aktiviert ist.\",\"Die Anzahl von Leerzeichen, die f\\xFCr den Einzug oder \\u201EtabSize\\u201C verwendet werden, um den Wert aus \\u201E#editor.tabSize#\\u201C zu verwenden. Diese Einstellung wird basierend auf dem Dateiinhalt \\xFCberschrieben, wenn \\u201E#editor.detectIndentation#\\u201C aktiviert ist.\",\"F\\xFCgt beim Dr\\xFCcken der TAB-Taste Leerzeichen ein. Diese Einstellung wird basierend auf dem Inhalt der Datei \\xFCberschrieben, wenn {0} aktiviert ist.\",\"Steuert, ob {0} und {1} automatisch erkannt werden, wenn eine Datei basierend auf dem Dateiinhalt ge\\xF6ffnet wird.\",\"Nachfolgende automatisch eingef\\xFCgte Leerzeichen entfernen\",\"Spezielle Behandlung f\\xFCr gro\\xDFe Dateien zum Deaktivieren bestimmter speicherintensiver Funktionen.\",\"Deaktivieren Sie Word-basierte Vorschl\\xE4ge.\",\"Nur W\\xF6rter aus dem aktiven Dokument vorschlagen\",\"W\\xF6rter aus allen ge\\xF6ffneten Dokumenten derselben Sprache vorschlagen\",\"W\\xF6rter aus allen ge\\xF6ffneten Dokumenten vorschlagen\",\"Steuert, ob Vervollst\\xE4ndigungen auf Grundlage der W\\xF6rter im Dokument berechnet werden sollen, und aus welchen Dokumenten sie berechnet werden sollen.\",\"Die semantische Hervorhebung ist f\\xFCr alle Farbdesigns aktiviert.\",\"Die semantische Hervorhebung ist f\\xFCr alle Farbdesigns deaktiviert.\",'Die semantische Hervorhebung wird durch die Einstellung \"semanticHighlighting\" des aktuellen Farbdesigns konfiguriert.',\"Steuert, ob die semantische Hervorhebung f\\xFCr die Sprachen angezeigt wird, die sie unterst\\xFCtzen.\",\"Lassen Sie Peek-Editoren ge\\xF6ffnet, auch wenn Sie auf ihren Inhalt doppelklicken oder auf die ESCAPETASTE klicken.\",\"Zeilen, die diese L\\xE4nge \\xFCberschreiten, werden aus Leistungsgr\\xFCnden nicht tokenisiert\",\"Steuert, ob die Tokenisierung asynchron auf einem Webworker erfolgen soll.\",\"Steuert, ob die asynchrone Tokenisierung protokolliert werden soll. Nur zum Debuggen.\",\"Steuert, ob die asynchrone Tokenisierung anhand der Legacy-Hintergrundtokenisierung \\xFCberpr\\xFCft werden soll. Die Tokenisierung kann verlangsamt werden. Nur zum Debuggen.\",'Steuert, ob die Struktursitteranalyse aktiviert und Telemetriedaten erfasst werden sollen. Das Festlegen von \"editor.experimental.preferTreeSitter\" f\\xFCr bestimmte Sprachen hat Vorrang.',\"Definiert die Klammersymbole, die den Einzug vergr\\xF6\\xDFern oder verkleinern.\",\"Das \\xF6ffnende Klammerzeichen oder die Zeichenfolgensequenz.\",\"Das schlie\\xDFende Klammerzeichen oder die Zeichenfolgensequenz.\",\"Definiert die Klammerpaare, die durch ihre Schachtelungsebene farbig formatiert werden, wenn die Farbgebung f\\xFCr das Klammerpaar aktiviert ist.\",\"Das \\xF6ffnende Klammerzeichen oder die Zeichenfolgensequenz.\",\"Das schlie\\xDFende Klammerzeichen oder die Zeichenfolgensequenz.\",\"Timeout in Millisekunden, nach dem die Diff-Berechnung abgebrochen wird. Bei 0 wird kein Timeout verwendet.\",\"Maximale Dateigr\\xF6\\xDFe in MB, f\\xFCr die Diffs berechnet werden sollen. Verwenden Sie 0, um keinen Grenzwert zu setzen.\",\"Steuert, ob der Diff-Editor die Unterschiede nebeneinander oder im Text anzeigt.\",\"Wenn die Breite des Diff-Editors unter diesem Wert liegt, wird die Inlineansicht verwendet.\",\"Wenn diese Option aktiviert ist und die Breite des Editors nicht ausreicht, wird die Inlineansicht verwendet.\",\"Wenn diese Option aktiviert ist, zeigt der Diff-Editor Pfeile in seinem Glyphenrand an, um \\xC4nderungen r\\xFCckg\\xE4ngig zu machen.\",\"Wenn diese Option aktiviert ist, zeigt der Diff-Editor einen speziellen Bundsteg f\\xFCr die Aktionen \\u201EWiederherstellen\\u201C und \\u201EStagen\\u201C an.\",\"Wenn aktiviert, ignoriert der Diff-Editor \\xC4nderungen an voran- oder nachgestellten Leerzeichen.\",'Steuert, ob der Diff-Editor die Indikatoren \"+\" und \"-\" f\\xFCr hinzugef\\xFCgte/entfernte \\xC4nderungen anzeigt.',\"Steuert, ob der Editor CodeLens anzeigt.\",\"Zeilenumbr\\xFCche erfolgen nie.\",\"Der Zeilenumbruch erfolgt an der Breite des Anzeigebereichs.\",\"Zeilen werden gem\\xE4\\xDF der Einstellung \\u201E{0}\\u201C umbrochen.\",\"Verwendet den Legacyvergleichsalgorithmus.\",\"Verwendet den erweiterten Vergleichsalgorithmus.\",\"Steuert, ob der Diff-Editor unver\\xE4nderte Regionen anzeigt.\",\"Steuert, wie viele Zeilen f\\xFCr unver\\xE4nderte Regionen verwendet werden.\",\"Steuert, wie viele Zeilen als Mindestwert f\\xFCr unver\\xE4nderte Regionen verwendet werden.\",\"Steuert, wie viele Zeilen beim Vergleich unver\\xE4nderter Regionen als Kontext verwendet werden.\",\"Steuert, ob der Diff-Editor erkannte Codeverschiebevorg\\xE4nge anzeigen soll.\",\"Steuert, ob der diff-Editor leere Dekorationen anzeigt, um anzuzeigen, wo Zeichen eingef\\xFCgt oder gel\\xF6scht wurden.\",\"Wenn diese Option aktiviert ist und der Editor die Inlineansicht verwendet, werden Wort\\xE4nderungen inline gerendert.\",\"Verwenden Sie Plattform-APIs, um zu erkennen, wenn eine Sprachausgabe angef\\xFCgt ist.\",\"Optimieren Sie diese Option f\\xFCr die Verwendung mit einer Sprachausgabe.\",\"Hiermit wird angenommen, dass keine Sprachausgabe angef\\xFCgt ist.\",\"Steuert, ob die Benutzeroberfl\\xE4che in einem Modus ausgef\\xFChrt werden soll, in dem sie f\\xFCr Sprachausgaben optimiert ist.\",\"Steuert, ob beim Kommentieren ein Leerzeichen eingef\\xFCgt wird.\",\"Steuert, ob leere Zeilen bei Umschalt-, Hinzuf\\xFCgungs- oder Entfernungsaktionen f\\xFCr Zeilenkommentare ignoriert werden sollen.\",\"Steuert, ob ein Kopiervorgang ohne Auswahl die aktuelle Zeile kopiert.\",\"Steuert, ob der Cursor bei der Suche nach \\xDCbereinstimmungen w\\xE4hrend der Eingabe springt.\",\"Suchzeichenfolge niemals aus der Editorauswahl seeden.\",\"Suchzeichenfolge immer aus der Editorauswahl seeden, einschlie\\xDFlich Wort an Cursorposition.\",\"Suchzeichenfolge nur aus der Editorauswahl seeden.\",'Steuert, ob f\\xFCr die Suchzeichenfolge im Widget \"Suche\" ein Seeding aus der Auswahl des Editors ausgef\\xFChrt wird.','\"In Auswahl suchen\" niemals automatisch aktivieren (Standard).','\"In Auswahl suchen\" immer automatisch aktivieren.','\"In Auswahl suchen\" automatisch aktivieren, wenn mehrere Inhaltszeilen ausgew\\xE4hlt sind.','Steuert die Bedingung zum automatischen Aktivieren von \"In Auswahl suchen\".','Steuert, ob das Widget \"Suche\" die freigegebene Suchzwischenablage unter macOS lesen oder bearbeiten soll.','Steuert, ob das Suchwidget zus\\xE4tzliche Zeilen im oberen Bereich des Editors hinzuf\\xFCgen soll. Wenn die Option auf \"true\" festgelegt ist, k\\xF6nnen Sie \\xFCber die erste Zeile hinaus scrollen, wenn das Suchwidget angezeigt wird.',\"Steuert, ob die Suche automatisch am Anfang (oder am Ende) neu gestartet wird, wenn keine weiteren \\xDCbereinstimmungen gefunden werden.\",'Hiermit werden Schriftligaturen (Schriftartfeatures \"calt\" und \"liga\") aktiviert/deaktiviert. \\xC4ndern Sie diesen Wert in eine Zeichenfolge, um die CSS-Eigenschaft \"font-feature-settings\" detailliert zu steuern.','Explizite CSS-Eigenschaft \"font-feature-settings\". Stattdessen kann ein boolescher Wert \\xFCbergeben werden, wenn nur Ligaturen aktiviert/deaktiviert werden m\\xFCssen.','Hiermit werden Schriftligaturen oder Schriftartfeatures konfiguriert. Hierbei kann es sich entweder um einen booleschen Wert zum Aktivieren oder Deaktivieren von Ligaturen oder um eine Zeichenfolge f\\xFCr den Wert der CSS-Eigenschaft \"font-feature-settings\" handeln.',\"Aktiviert/deaktiviert die \\xDCbersetzung von \\u201Efont-weight\\u201C in \\u201Efont-variation-settings\\u201C. \\xC4ndern Sie dies in eine Zeichenfolge f\\xFCr eine differenzierte Steuerung der CSS-Eigenschaft \\u201Efont-variation-settings\\u201C.\",\"Explizite CSS-Eigenschaft \\u201Efont-variation-settings\\u201C. Stattdessen kann ein boolescher Wert eingeben werden, wenn nur \\u201Efont-weight\\u201C in \\u201Efont-variation-settings\\u201C \\xFCbersetzt werden muss.\",\"Konfiguriert Variationen der Schriftart. Kann entweder ein boolescher Wert zum Aktivieren/Deaktivieren der \\xDCbersetzung von \\u201Efont-weight\\u201C in \\u201Efont-variation-settings\\u201C oder eine Zeichenfolge f\\xFCr den Wert der CSS-Eigenschaft \\u201Efont-variation-settings\\u201C sein.\",\"Legt die Schriftgr\\xF6\\xDFe in Pixeln fest.\",'Es sind nur die Schl\\xFCsselw\\xF6rter \"normal\" und \"bold\" sowie Zahlen zwischen 1 und 1000 zul\\xE4ssig.','Steuert die Schriftbreite. Akzeptiert die Schl\\xFCsselw\\xF6rter \"normal\" und \"bold\" sowie Zahlen zwischen 1 und 1000.',\"Vorschauansicht der Ergebnisse anzeigen (Standardeinstellung)\",\"Zum Hauptergebnis gehen und Vorschauansicht anzeigen\",\"Wechseln Sie zum prim\\xE4ren Ergebnis, und aktivieren Sie die Navigation ohne Vorschau zu anderen Ergebnissen.\",'Diese Einstellung ist veraltet. Verwenden Sie stattdessen separate Einstellungen wie \"editor.editor.gotoLocation.multipleDefinitions\" oder \"editor.editor.gotoLocation.multipleImplementations\".','Legt das Verhalten des Befehls \"Gehe zu Definition\" fest, wenn mehrere Zielpositionen vorhanden sind','Legt das Verhalten des Befehls \"Gehe zur Typdefinition\" fest, wenn mehrere Zielpositionen vorhanden sind.','Legt das Verhalten des Befehls \"Gehe zu Deklaration\" fest, wenn mehrere Zielpositionen vorhanden sind.','Legt das Verhalten des Befehls \"Gehe zu Implementierungen\", wenn mehrere Zielspeicherorte vorhanden sind','Legt das Verhalten des Befehls \"Gehe zu Verweisen\" fest, wenn mehrere Zielpositionen vorhanden sind','Die alternative Befehls-ID, die ausgef\\xFChrt wird, wenn das Ergebnis von \"Gehe zu Definition\" die aktuelle Position ist.','Die alternative Befehls-ID, die ausgef\\xFChrt wird, wenn das Ergebnis von \"Gehe zu Typdefinition\" die aktuelle Position ist.','Die alternative Befehls-ID, die ausgef\\xFChrt wird, wenn das Ergebnis von \"Gehe zu Deklaration\" der aktuelle Speicherort ist.','Die alternative Befehls-ID, die ausgef\\xFChrt wird, wenn das Ergebnis von \"Gehe zu Implementatierung\" der aktuelle Speicherort ist.','Die alternative Befehls-ID, die ausgef\\xFChrt wird, wenn das Ergebnis von \"Gehe zu Verweis\" die aktuelle Position ist.',\"Steuert, ob die Hovermarkierung angezeigt wird.\",\"Steuert die Verz\\xF6gerung in Millisekunden, nach der die Hovermarkierung angezeigt wird.\",\"Steuert, ob die Hovermarkierung sichtbar bleiben soll, wenn der Mauszeiger dar\\xFCber bewegt wird.\",'Steuert die Verz\\xF6gerung in Millisekunden, nach der die Hovermarkierung ausgeblendet wird. Erfordert die Aktivierung von \"editor.hover.sticky\".',\"Zeigen Sie den Mauszeiger lieber \\xFCber der Linie an, wenn Platz vorhanden ist.\",\"Es wird angenommen, dass alle Zeichen gleich breit sind. Dies ist ein schneller Algorithmus, der f\\xFCr Festbreitenschriftarten und bestimmte Alphabete (wie dem lateinischen), bei denen die Glyphen gleich breit sind, korrekt funktioniert.\",\"Delegiert die Berechnung von Umbruchpunkten an den Browser. Dies ist ein langsamer Algorithmus, der bei gro\\xDFen Dateien Code Freezes verursachen kann, aber in allen F\\xE4llen korrekt funktioniert.\",'Steuert den Algorithmus, der Umbruchpunkte berechnet. Beachten Sie, dass \"advanced\" im Barrierefreiheitsmodus f\\xFCr eine optimale Benutzererfahrung verwendet wird.',\"Codeaktionsmen\\xFC deaktivieren.\",\"Zeigt das Codeaktionsmen\\xFC an, wenn sich der Cursor in Zeilen mit Code befindet.\",\"Zeigt das Codeaktionsmen\\xFC an, wenn sich der Cursor in Zeilen mit Code oder in leeren Zeilen befindet.\",\"Aktiviert das Gl\\xFChlampensymbol f\\xFCr Codeaktionen im Editor.\",\"Zeigt die geschachtelten aktuellen Bereiche w\\xE4hrend des Bildlaufs am oberen Rand des Editors an.\",\"Definiert die maximale Anzahl fixierter Zeilen, die angezeigt werden sollen.\",\"Legt das Modell fest, das zur Bestimmung der zu fixierenden Zeilen verwendet wird. Existiert das Gliederungsmodell nicht, wird auf das Modell des Folding Providers zur\\xFCckgegriffen, der wiederum auf das Einr\\xFCckungsmodell zur\\xFCckgreift. Diese Reihenfolge wird in allen drei F\\xE4llen beachtet.\",\"Hiermit aktivieren Sie das Scrollen mit fixiertem Bildlauf mit der horizontalen Scrollleiste des Editors.\",\"Aktiviert die Inlay-Hinweise im Editor.\",\"Inlay-Hinweise sind aktiviert\",\"Inlay-Hinweise werden standardm\\xE4\\xDFig angezeigt und ausgeblendet, wenn Sie {0} gedr\\xFCckt halten\",\"Inlayhinweise sind standardm\\xE4\\xDFig ausgeblendet. Sie werden angezeigt, wenn {0} gedr\\xFCckt gehalten wird.\",\"Inlay-Hinweise sind deaktiviert\",\"Steuert den Schriftgrad von Einlapphinweisen im Editor. Standardm\\xE4\\xDFig wird die {0} verwendet, wenn der konfigurierte Wert kleiner als {1} oder gr\\xF6\\xDFer als der Schriftgrad des Editors ist.\",'Steuert die Schriftartfamilie von Einlapphinweisen im Editor. Bei Festlegung auf \"leer\" wird die {0} verwendet.',\"Aktiviert den Abstand um die Inlay-Hinweise im Editor.\",`Steuert die Zeilenh\\xF6he. \\r\n \\u2013 Verwenden Sie 0, um die Zeilenh\\xF6he automatisch anhand des Schriftgrads zu berechnen.\\r\n \\u2013 Werte zwischen 0 und 8 werden als Multiplikator mit dem Schriftgrad verwendet.\\r\n \\u2013 Werte gr\\xF6\\xDFer oder gleich 8 werden als effektive Werte verwendet.`,\"Steuert, ob die Minimap angezeigt wird.\",\"Steuert, ob die Minimap automatisch ausgeblendet wird.\",\"Die Minimap hat die gleiche Gr\\xF6\\xDFe wie der Editor-Inhalt (und kann scrollen).\",\"Die Minimap wird bei Bedarf vergr\\xF6\\xDFert oder verkleinert, um die H\\xF6he des Editors zu f\\xFCllen (kein Scrollen).\",\"Die Minimap wird bei Bedarf verkleinert, damit sie nicht gr\\xF6\\xDFer als der Editor ist (kein Scrollen).\",\"Legt die Gr\\xF6\\xDFe der Minimap fest.\",\"Steuert die Seite, wo die Minimap gerendert wird.\",\"Steuert, wann der Schieberegler f\\xFCr die Minimap angezeigt wird.\",\"Ma\\xDFstab des in der Minimap gezeichneten Inhalts: 1, 2 oder 3.\",\"Die tats\\xE4chlichen Zeichen in einer Zeile rendern im Gegensatz zu Farbbl\\xF6cken.\",\"Begrenzen Sie die Breite der Minimap, um nur eine bestimmte Anzahl von Spalten zu rendern.\",\"Steuert, ob benannte Bereiche als Abschnittsheader in der Minimap angezeigt werden.\",\"Steuert, ob \\u201EMARK: Kommentare\\u201C als Abschnittsheader in der Minimap angezeigt werden.\",\"Steuert den Schriftgrad von Abschnitts\\xFCberschriften in der Minimap.\",\"Steuert den Abstand (in Pixeln) zwischen den Zeichen der Abschnitts\\xFCberschrift. Dies erleichtert die Lesbarkeit der Kopfzeile bei kleinen Schriftgr\\xF6\\xDFen.\",\"Steuert den Abstand zwischen dem oberen Rand des Editors und der ersten Zeile.\",\"Steuert den Abstand zwischen dem unteren Rand des Editors und der letzten Zeile.\",\"Aktiviert ein Pop-up, das Dokumentation und Typ eines Parameters anzeigt w\\xE4hrend Sie tippen.\",\"Steuert, ob das Men\\xFC mit Parameterhinweisen zyklisch ist oder sich am Ende der Liste schlie\\xDFt.\",\"Schnelle Vorschl\\xE4ge werden im Vorschlagswidget angezeigt\",\"Schnelle Vorschl\\xE4ge werden als inaktiver Text angezeigt\",\"Schnelle Vorschl\\xE4ge sind deaktiviert\",\"Schnellvorschl\\xE4ge innerhalb von Zeichenfolgen aktivieren.\",\"Schnellvorschl\\xE4ge innerhalb von Kommentaren aktivieren.\",\"Schnellvorschl\\xE4ge au\\xDFerhalb von Zeichenfolgen und Kommentaren aktivieren.\",\"Steuert, ob Vorschl\\xE4ge w\\xE4hrend des Tippens automatisch angezeigt werden sollen. Dies kann bei der Eingabe von Kommentaren, Zeichenketten und anderem Code kontrolliert werden. Schnellvorschl\\xE4ge k\\xF6nnen so konfiguriert werden, dass sie als Geistertext oder mit dem Vorschlags-Widget angezeigt werden. Beachten Sie auch die {0}-Einstellung, die steuert, ob Vorschl\\xE4ge durch Sonderzeichen ausgel\\xF6st werden.\",\"Zeilennummern werden nicht dargestellt.\",\"Zeilennummern werden als absolute Zahl dargestellt.\",\"Zeilennummern werden als Abstand in Zeilen an Cursorposition dargestellt.\",\"Zeilennummern werden alle 10 Zeilen dargestellt.\",\"Steuert die Anzeige von Zeilennummern.\",\"Anzahl der Zeichen aus Festbreitenschriftarten, ab der dieses Editor-Lineal gerendert wird.\",\"Farbe dieses Editor-Lineals.\",\"Vertikale Linien nach einer bestimmten Anzahl von Monospacezeichen rendern. Verwenden Sie mehrere Werte f\\xFCr mehrere Linien. Wenn das Array leer ist, werden keine Linien gerendert.\",\"Die vertikale Bildlaufleiste wird nur bei Bedarf angezeigt.\",\"Die vertikale Bildlaufleiste ist immer sichtbar.\",\"Die vertikale Bildlaufleiste wird immer ausgeblendet.\",\"Steuert die Sichtbarkeit der vertikalen Bildlaufleiste.\",\"Die horizontale Bildlaufleiste wird nur bei Bedarf angezeigt.\",\"Die horizontale Bildlaufleiste ist immer sichtbar.\",\"Die horizontale Bildlaufleiste wird immer ausgeblendet.\",\"Steuert die Sichtbarkeit der horizontalen Bildlaufleiste.\",\"Die Breite der vertikalen Bildlaufleiste.\",\"Die H\\xF6he der horizontalen Bildlaufleiste.\",\"Steuert, ob Klicks nach Seite scrollen oder zur Klickposition springen.\",\"Wenn diese Option festgelegt ist, wird die Gr\\xF6\\xDFe des Editorinhalts nicht durch die horizontale Scrollleiste vergr\\xF6\\xDFert.\",\"Legt fest, ob alle nicht einfachen ASCII-Zeichen hervorgehoben werden. Nur Zeichen zwischen U+0020 und U+007E, Tabulator, Zeilenvorschub und Wagenr\\xFCcklauf gelten als einfache ASCII-Zeichen.\",\"Legt fest, ob Zeichen, die nur als Platzhalter dienen oder \\xFCberhaupt keine Breite haben, hervorgehoben werden.\",\"Legt fest, ob Zeichen hervorgehoben werden, die mit einfachen ASCII-Zeichen verwechselt werden k\\xF6nnen, mit Ausnahme derjenigen, die im aktuellen Gebietsschema des Benutzers \\xFCblich sind.\",\"Steuert, ob Zeichen in Kommentaren auch mit Unicode-Hervorhebung versehen werden sollen.\",\"Steuert, ob Zeichen in Zeichenfolgen auch mit Unicode-Hervorhebung versehen werden sollen.\",\"Definiert zul\\xE4ssige Zeichen, die nicht hervorgehoben werden.\",\"Unicodezeichen, die in zul\\xE4ssigen Gebietsschemas \\xFCblich sind, werden nicht hervorgehoben.\",\"Steuert, ob Inline-Vorschl\\xE4ge automatisch im Editor angezeigt werden.\",\"Die Symbolleiste \\u201EInline-Vorschlag\\u201C anzeigen, wenn ein Inline-Vorschlag angezeigt wird.\",\"Die Symbolleiste \\u201EInline-Vorschlag\\u201C anzeigen, wenn Sie mit dem Mauszeiger auf einen Inline-Vorschlag zeigen.\",\"Die Inlinevorschlagssymbolleiste nie anzeigen.\",\"Steuert, wann die Inlinevorschlagssymbolleiste angezeigt werden soll.\",\"Steuert, wie Inlinevorschl\\xE4ge mit dem Vorschlagswidget interagieren. Wenn diese Option aktiviert ist, wird das Vorschlagswidget nicht automatisch angezeigt, wenn Inlinevorschl\\xE4ge verf\\xFCgbar sind.\",\"Steuert die Schriftfamilie der Inlinevorschl\\xE4ge.\",null,null,null,null,null,null,\"Steuert, ob die Klammerpaar-Farbgebung aktiviert ist oder nicht. Verwenden Sie {0}, um die Hervorhebungsfarben der Klammer zu \\xFCberschreiben.\",\"Steuert, ob jeder Klammertyp \\xFCber einen eigenen unabh\\xE4ngigen Farbpool verf\\xFCgt.\",\"Aktiviert Klammernpaarf\\xFChrungslinien.\",\"Aktiviert Klammernpaarf\\xFChrungslinien nur f\\xFCr das aktive Klammerpaar.\",\"Deaktiviert Klammernpaarf\\xFChrungslinien.\",\"Steuert, ob F\\xFChrungslinien f\\xFCr Klammerpaare aktiviert sind oder nicht.\",\"Aktiviert horizontale F\\xFChrungslinien als Erg\\xE4nzung zu vertikalen Klammernpaarf\\xFChrungslinien.\",\"Aktiviert horizontale F\\xFChrungslinien nur f\\xFCr das aktive Klammerpaar.\",\"Deaktiviert horizontale F\\xFChrungslinien f\\xFCr Klammernpaare.\",\"Steuert, ob horizontale F\\xFChrungslinien f\\xFCr Klammernpaare aktiviert sind oder nicht.\",\"Steuert, ob der Editor das aktive Klammerpaar hervorheben soll.\",\"Steuert, ob der Editor Einzugsf\\xFChrungslinien rendern soll.\",\"Hebt die aktive Einzugsf\\xFChrung hervor.\",\"Hebt die aktive Einzugshilfslinie hervor, selbst wenn Klammerhilfslinien hervorgehoben sind.\",\"Heben Sie die aktive Einzugshilfslinie nicht hervor.\",\"Steuert, ob der Editor die aktive Einzugsf\\xFChrungslinie hevorheben soll.\",\"Vorschlag einf\\xFCgen, ohne den Text auf der rechten Seite des Cursors zu \\xFCberschreiben\",\"Vorschlag einf\\xFCgen und Text auf der rechten Seite des Cursors \\xFCberschreiben\",\"Legt fest, ob W\\xF6rter beim Akzeptieren von Vervollst\\xE4ndigungen \\xFCberschrieben werden. Beachten Sie, dass dies von Erweiterungen abh\\xE4ngt, die f\\xFCr dieses Features aktiviert sind.\",\"Steuert, ob Filter- und Suchvorschl\\xE4ge geringf\\xFCgige Tippfehler ber\\xFCcksichtigen.\",\"Steuert, ob bei der Sortierung W\\xF6rter priorisiert werden, die in der N\\xE4he des Cursors stehen.\",'Steuert, ob gespeicherte Vorschlagauswahlen in verschiedenen Arbeitsbereichen und Fenstern gemeinsam verwendet werden (daf\\xFCr ist \"#editor.suggestSelection#\" erforderlich).',\"W\\xE4hlen Sie immer einen Vorschlag aus, wenn IntelliSense automatisch ausgel\\xF6st wird.\",\"W\\xE4hlen Sie niemals einen Vorschlag aus, wenn IntelliSense automatisch ausgel\\xF6st wird.\",\"W\\xE4hlen Sie einen Vorschlag nur aus, wenn IntelliSense aus einem Triggerzeichen ausgel\\xF6st wird.\",\"W\\xE4hlen Sie einen Vorschlag nur aus, wenn Sie IntelliSense w\\xE4hrend der Eingabe ausl\\xF6sen.\",\"Steuert, ob ein Vorschlag ausgew\\xE4hlt wird, wenn das Widget angezeigt wird. Beachten Sie, dass dies nur f\\xFCr automatisch ausgel\\xF6ste Vorschl\\xE4ge ({0} und {1}) gilt und dass ein Vorschlag immer ausgew\\xE4hlt wird, wenn er explizit aufgerufen wird, z. B. \\xFCber STRG+LEERTASTE.\",'Steuert, ob ein aktiver Schnipsel verhindert, dass der Bereich \"Schnelle Vorschl\\xE4ge\" angezeigt wird.',\"Steuert, ob Symbole in Vorschl\\xE4gen ein- oder ausgeblendet werden.\",\"Steuert die Sichtbarkeit der Statusleiste unten im Vorschlagswidget.\",\"Steuert, ob das Ergebnis des Vorschlags im Editor in der Vorschau angezeigt werden soll.\",\"Steuert, ob Vorschlagsdetails inline mit der Bezeichnung oder nur im Detailwidget angezeigt werden.\",\"Diese Einstellung ist veraltet. Die Gr\\xF6\\xDFe des Vorschlagswidgets kann jetzt ge\\xE4ndert werden.\",'Diese Einstellung ist veraltet. Verwenden Sie stattdessen separate Einstellungen wie \"editor.suggest.showKeywords\" oder \"editor.suggest.showSnippets\".','Wenn aktiviert, zeigt IntelliSense \"method\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"funktions\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"constructor\"-Vorschl\\xE4ge an.',\"Wenn IntelliSense aktiviert ist, werden \\u201Everaltete\\u201C Vorschl\\xE4ge angezeigt.\",\"Wenn dies aktiviert ist, erfordert die IntelliSense-Filterung, dass das erste Zeichen mit einem Wortanfang \\xFCbereinstimmt, z.\\xA0B. \\u201Ec\\u201C in \\u201EConsole\\u201C oder \\u201EWebContext\\u201C, aber _nicht_ bei \\u201Edescription\\u201C. Wenn diese Option deaktiviert ist, zeigt IntelliSense mehr Ergebnisse an, sortiert sie aber weiterhin nach der \\xDCbereinstimmungsqualit\\xE4t.\",'Wenn aktiviert, zeigt IntelliSense \"field\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"variable\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"class\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"struct\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"interface\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"module\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"property\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"event\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"operator\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"unit\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"value\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"constant\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"enum\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"enumMember\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"keyword\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"text\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"color\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"file\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"reference\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"customcolor\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"folder\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"typeParameter\"-Vorschl\\xE4ge an.','Wenn aktiviert, zeigt IntelliSense \"snippet\"-Vorschl\\xE4ge an.',\"Wenn aktiviert, zeigt IntelliSense user-Vorschl\\xE4ge an.\",\"Wenn aktiviert, zeigt IntelliSense issues-Vorschl\\xE4ge an.\",\"Gibt an, ob f\\xFChrende und nachstehende Leerzeichen immer ausgew\\xE4hlt werden sollen.\",'Gibt an, ob Unterw\\xF6rter (z.\\xA0B. \"foo\" in \"fooBar\" oder \"foo_bar\") ausgew\\xE4hlt werden sollen.',\"Gebietsschemas, die f\\xFCr die Wortsegmentierung verwendet werden sollen, wenn wortbezogene Navigationen oder Vorg\\xE4nge ausgef\\xFChrt werden. Geben Sie das BCP 47-Sprachtag des Worts an, das Sie erkennen m\\xF6chten (z. B. ja, zh-CN, zh-Hant-TW usw.).\",\"Gebietsschemas, die f\\xFCr die Wortsegmentierung verwendet werden sollen, wenn wortbezogene Navigationen oder Vorg\\xE4nge ausgef\\xFChrt werden. Geben Sie das BCP 47-Sprachtag des Worts an, das Sie erkennen m\\xF6chten (z. B. ja, zh-CN, zh-Hant-TW usw.).\",\"Kein Einzug. Umbrochene Zeilen beginnen bei Spalte 1.\",\"Umbrochene Zeilen erhalten den gleichen Einzug wie das \\xFCbergeordnete Element.\",\"Umbrochene Zeilen erhalten + 1 Einzug auf das \\xFCbergeordnete Element.\",\"Umgebrochene Zeilen werden im Vergleich zum \\xFCbergeordneten Element +2 einger\\xFCckt.\",\"Steuert die Einr\\xFCckung der umbrochenen Zeilen.\",\"Steuert, ob Sie eine Datei per Drag & Drop in einen Text-Editor ziehen k\\xF6nnen, indem Sie die UMSCHALTTASTE gedr\\xFCckt halten (anstatt die Datei in einem Editor zu \\xF6ffnen).\",\"Steuert, ob beim Ablegen von Dateien im Editor ein Widget angezeigt wird. Mit diesem Widget k\\xF6nnen Sie steuern, wie die Datei ablegt wird.\",\"Zeigt das Widget f\\xFCr die Dropdownauswahl an, nachdem eine Datei im Editor abgelegt wurde.\",\"Das Widget f\\xFCr die Ablageauswahl wird nie angezeigt. Stattdessen wird immer der Standardablageanbieter verwendet.\",\"Steuert, ob Sie Inhalte auf unterschiedliche Weise einf\\xFCgen k\\xF6nnen.\",\"Steuert, ob beim Einf\\xFCgen von Inhalt im Editor ein Widget angezeigt wird. Mit diesem Widget k\\xF6nnen Sie steuern, wie die Datei eingef\\xFCgt wird.\",\"Das Widget f\\xFCr die Einf\\xFCgeauswahl anzeigen, nachdem der Inhalt in den Editor eingef\\xFCgt wurde.\",\"Das Widget f\\xFCr die Einf\\xFCgeauswahl wird nie angezeigt. Stattdessen wird immer das Standardeinf\\xFCgeverhalten verwendet.\",'Steuert, ob Vorschl\\xE4ge \\xFCber Commitzeichen angenommen werden sollen. In JavaScript kann ein Semikolon (\";\") beispielsweise ein Commitzeichen sein, das einen Vorschlag annimmt und dieses Zeichen eingibt.',\"Einen Vorschlag nur mit der EINGABETASTE akzeptieren, wenn dieser eine \\xC4nderung am Text vornimmt.\",\"Steuert, ob Vorschl\\xE4ge mit der EINGABETASTE (zus\\xE4tzlich zur TAB-Taste) akzeptiert werden sollen. Vermeidet Mehrdeutigkeit zwischen dem Einf\\xFCgen neuer Zeilen oder dem Annehmen von Vorschl\\xE4gen.\",\"Steuert die Anzahl von Zeilen im Editor, die von einer Sprachausgabe in einem Arbeitsschritt gelesen werden k\\xF6nnen. Wenn eine Sprachausgabe erkannt wird, wird der Standardwert automatisch auf 500 festgelegt. Warnung: Ein Wert h\\xF6her als der Standardwert, kann sich auf die Leistung auswirken.\",\"Editor-Inhalt\",\"Steuern Sie, ob Inlinevorschl\\xE4ge von einer Sprachausgabe angek\\xFCndigt werden.\",\"Verwenden Sie Sprachkonfigurationen, um zu bestimmen, wann Klammern automatisch geschlossen werden sollen.\",\"Schlie\\xDFe Klammern nur automatisch, wenn der Cursor sich links von einem Leerzeichen befindet.\",\"Steuert, ob der Editor automatisch Klammern schlie\\xDFen soll, nachdem der Benutzer eine \\xF6ffnende Klammer hinzugef\\xFCgt hat.\",\"Verwenden Sie Sprachkonfigurationen, um festzulegen, wann Kommentare automatisch geschlossen werden sollen.\",\"Kommentare werden nur dann automatisch geschlossen, wenn sich der Cursor links von einem Leerraum befindet.\",\"Steuert, ob der Editor Kommentare automatisch schlie\\xDFen soll, nachdem die Benutzer*innen einen ersten Kommentar hinzugef\\xFCgt haben.\",\"Angrenzende schlie\\xDFende Anf\\xFChrungszeichen oder Klammern werden nur \\xFCberschrieben, wenn sie automatisch eingef\\xFCgt wurden.\",\"Steuert, ob der Editor angrenzende schlie\\xDFende Anf\\xFChrungszeichen oder Klammern beim L\\xF6schen entfernen soll.\",\"Schlie\\xDFende Anf\\xFChrungszeichen oder Klammern werden nur \\xFCberschrieben, wenn sie automatisch eingef\\xFCgt wurden.\",\"Steuert, ob der Editor schlie\\xDFende Anf\\xFChrungszeichen oder Klammern \\xFCberschreiben soll.\",\"Verwende die Sprachkonfiguration, um zu ermitteln, wann Anf\\xFChrungsstriche automatisch geschlossen werden.\",\"Schlie\\xDFende Anf\\xFChrungszeichen nur dann automatisch erg\\xE4nzen, wenn der Cursor sich links von einem Leerzeichen befindet.\",\"Steuert, ob der Editor Anf\\xFChrungszeichen automatisch schlie\\xDFen soll, nachdem der Benutzer ein \\xF6ffnendes Anf\\xFChrungszeichen hinzugef\\xFCgt hat.\",\"Der Editor f\\xFCgt den Einzug nicht automatisch ein.\",\"Der Editor beh\\xE4lt den Einzug der aktuellen Zeile bei.\",\"Der Editor beh\\xE4lt den in der aktuellen Zeile definierten Einzug bei und beachtet f\\xFCr Sprachen definierte Klammern.\",\"Der Editor beh\\xE4lt den Einzug der aktuellen Zeile bei, beachtet von Sprachen definierte Klammern und ruft spezielle onEnterRules-Regeln auf, die von Sprachen definiert wurden.\",\"Der Editor beh\\xE4lt den Einzug der aktuellen Zeile bei, beachtet die von Sprachen definierten Klammern, ruft von Sprachen definierte spezielle onEnterRules-Regeln auf und beachtet von Sprachen definierte indentationRules-Regeln.\",\"Legt fest, ob der Editor den Einzug automatisch anpassen soll, wenn Benutzer Zeilen eingeben, einf\\xFCgen, verschieben oder einr\\xFCcken\",\"Sprachkonfigurationen verwenden, um zu bestimmen, wann eine Auswahl automatisch umschlossen werden soll.\",\"Mit Anf\\xFChrungszeichen, nicht mit Klammern umschlie\\xDFen.\",\"Mit Klammern, nicht mit Anf\\xFChrungszeichen umschlie\\xDFen.\",\"Steuert, ob der Editor die Auswahl beim Eingeben von Anf\\xFChrungszeichen oder Klammern automatisch umschlie\\xDFt.\",\"Emuliert das Auswahlverhalten von Tabstoppzeichen, wenn Leerzeichen f\\xFCr den Einzug verwendet werden. Die Auswahl wird an Tabstopps ausgerichtet.\",\"Steuert, ob der Editor CodeLens anzeigt.\",\"Steuert die Schriftfamilie f\\xFCr CodeLens.\",\"Steuert den Schriftgrad in Pixeln f\\xFCr CodeLens. Bei Festlegung auf \\u201E0, 90\\xA0% von \\u201E#editor.fontSize#\\u201C verwendet.\",\"Steuert, ob der Editor die Inline-Farbdecorators und die Farbauswahl rendern soll.\",\"Farbauswahl sowohl beim Klicken als auch beim Daraufzeigen des Farbdekorators anzeigen\",\"Farbauswahl beim Draufzeigen auf den Farbdekorator anzeigen\",\"Farbauswahl beim Klicken auf den Farbdekorator anzeigen\",\"Steuert die Bedingung, damit eine Farbauswahl aus einem Farbdekorator angezeigt wird.\",\"Steuert die maximale Anzahl von Farb-Decorators, die in einem Editor gleichzeitig gerendert werden k\\xF6nnen.\",\"Zulassen, dass die Auswahl per Maus und Tasten die Spaltenauswahl durchf\\xFChrt.\",\"Steuert, ob Syntax-Highlighting in die Zwischenablage kopiert wird.\",\"Steuert den Cursoranimationsstil.\",\"Die Smooth Caret-Animation ist deaktiviert.\",\"Die Smooth Caret-Animation ist nur aktiviert, wenn der Benutzer den Cursor mit einer expliziten Geste bewegt.\",\"Die Smooth Caret-Animation ist immer aktiviert.\",\"Steuert, ob die weiche Cursoranimation aktiviert werden soll.\",\"Steuert den Cursorstil im Einf\\xFCgeeingabemodus.\",\"Steuert die Mindestanzahl sichtbarer f\\xFChrender Zeilen\\xA0(mindestens\\xA00) und nachfolgender Zeilen\\xA0(mindestens\\xA01) um den Cursor. Dies wird in einigen anderen Editoren als \\u201EscrollOff\\u201C oder \\u201EscrollOffset\\u201C bezeichnet.\",'\"cursorSurroundingLines\" wird nur erzwungen, wenn die Ausl\\xF6sung \\xFCber die Tastatur oder API erfolgt.','\"cursorSurroundingLines\" wird immer erzwungen.',\"Steuert, wann \\u201E#editor.cursorSurroundingLines#\\u201C erzwungen werden soll.\",\"Steuert die Breite des Cursors, wenn `#editor.cursorStyle#` auf `line` festgelegt ist.\",\"Steuert, ob der Editor das Verschieben einer Auswahl per Drag and Drop zul\\xE4sst.\",\"Verwenden Sie eine neue Rendering-Methode mit SVGs.\",\"Verwenden Sie eine neue Rendering-Methode mit Schriftartzeichen.\",\"Verwenden Sie die stabile Rendering-Methode.\",\"Steuert, ob Leerzeichen mit einer neuen experimentellen Methode gerendert werden.\",\"Multiplikator f\\xFCr Scrollgeschwindigkeit bei Dr\\xFCcken von ALT.\",\"Steuert, ob Codefaltung im Editor aktiviert ist.\",\"Verwenden Sie eine sprachspezifische Faltstrategie, falls verf\\xFCgbar. Andernfalls wird eine einzugsbasierte verwendet.\",\"Einzugsbasierte Faltstrategie verwenden.\",\"Steuert die Strategie f\\xFCr die Berechnung von Faltbereichen.\",\"Steuert, ob der Editor eingefaltete Bereiche hervorheben soll.\",\"Steuert, ob der Editor Importbereiche automatisch reduziert.\",\"Die maximale Anzahl von faltbaren Regionen. Eine Erh\\xF6hung dieses Werts kann dazu f\\xFChren, dass der Editor weniger reaktionsf\\xE4hig wird, wenn die aktuelle Quelle eine gro\\xDFe Anzahl von faltbaren Regionen aufweist.\",\"Steuert, ob eine Zeile aufgefaltet wird, wenn nach einer gefalteten Zeile auf den leeren Inhalt geklickt wird.\",\"Steuert die Schriftfamilie.\",\"Steuert, ob der Editor den eingef\\xFCgten Inhalt automatisch formatieren soll. Es muss ein Formatierer vorhanden sein, der in der Lage ist, auch Dokumentbereiche zu formatieren.\",\"Steuert, ob der Editor die Zeile nach der Eingabe automatisch formatieren soll.\",\"Steuert, ob der Editor den vertikalen Glyphenrand rendert. Der Glyphenrand wird haupts\\xE4chlich zum Debuggen verwendet.\",\"Steuert, ob der Cursor im \\xDCbersichtslineal ausgeblendet werden soll.\",\"Legt den Abstand der Buchstaben in Pixeln fest.\",\"Steuert, ob die verkn\\xFCpfte Bearbeitung im Editor aktiviert ist. Abh\\xE4ngig von der Sprache werden zugeh\\xF6rige Symbole, z.\\xA0B. HTML-Tags, w\\xE4hrend der Bearbeitung aktualisiert.\",\"Steuert, ob der Editor Links erkennen und anklickbar machen soll.\",\"Passende Klammern hervorheben\",'Ein Multiplikator, der f\\xFCr die Mausrad-Bildlaufereignisse \"deltaX\" und \"deltaY\" verwendet werden soll.',\"Schriftart des Editors vergr\\xF6\\xDFern, wenn das Mausrad verwendet und \\u201ECmd\\u201C gedr\\xFCckt wird.\",\"Schriftart des Editors vergr\\xF6\\xDFern, wenn das Mausrad verwendet und die STRG-TASTE gedr\\xFCckt wird.\",\"Mehrere Cursor zusammenf\\xFChren, wenn sie sich \\xFCberlappen.\",\"Ist unter Windows und Linux der STRG-Taste und unter macOS der Befehlstaste zugeordnet.\",\"Ist unter Windows und Linux der ALT-Taste und unter macOS der Wahltaste zugeordnet.\",'Der Modifizierer, der zum Hinzuf\\xFCgen mehrerer Cursor mit der Maus verwendet werden soll. Die Mausgesten \"Gehe zu Definition\" und \"Link \\xF6ffnen\" werden so angepasst, dass sie nicht mit dem [Multicursormodifizierer](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-Modifizierer) in Konflikt stehen.',\"Jeder Cursor f\\xFCgt eine Textzeile ein.\",\"Jeder Cursor f\\xFCgt den vollst\\xE4ndigen Text ein.\",\"Steuert das Einf\\xFCgen, wenn die Zeilenanzahl des Einf\\xFCgetexts der Cursor-Anzahl entspricht.\",\"Steuert die maximale Anzahl von Cursorn, die sich gleichzeitig in einem aktiven Editor befindet.\",\"Hebt keine Vorkommen hervor.\",\"Hebt Vorkommen nur in der aktuellen Datei hervor.\",\"Experimentell: Hebt Vorkommen in allen g\\xFCltigen ge\\xF6ffneten Dateien hervor.\",\"Steuert, ob Vorkommen in ge\\xF6ffneten Dateien hervorgehoben werden sollen.\",\"Steuert, ob um das \\xDCbersichtslineal ein Rahmen gezeichnet werden soll.\",\"Struktur beim \\xD6ffnen des Peek-Editors fokussieren\",\"Editor fokussieren, wenn Sie den Peek-Editor \\xF6ffnen\",\"Steuert, ob der Inline-Editor oder die Struktur im Peek-Widget fokussiert werden soll.\",'Steuert, ob die Mausgeste \"Gehe zu Definition\" immer das Vorschauwidget \\xF6ffnet.',\"Steuert die Verz\\xF6gerung in Millisekunden nach der Schnellvorschl\\xE4ge angezeigt werden.\",\"Steuert, ob der Editor bei Eingabe automatisch eine Umbenennung vornimmt.\",'Veraltet. Verwenden Sie stattdessen \"editor.linkedEditing\".',\"Steuert, ob der Editor Steuerzeichen rendern soll.\",\"Letzte Zeilennummer rendern, wenn die Datei mit einem Zeilenumbruch endet.\",\"Hebt den Bundsteg und die aktuelle Zeile hervor.\",\"Steuert, wie der Editor die aktuelle Zeilenhervorhebung rendern soll.\",\"Steuert, ob der Editor die aktuelle Zeilenhervorhebung nur dann rendern soll, wenn der Fokus auf dem Editor liegt.\",\"Leerraumzeichen werden gerendert mit Ausnahme der einzelnen Leerzeichen zwischen W\\xF6rtern.\",\"Hiermit werden Leerraumzeichen nur f\\xFCr ausgew\\xE4hlten Text gerendert.\",\"Nur nachstehende Leerzeichen rendern\",\"Steuert, wie der Editor Leerzeichen rendern soll.\",\"Steuert, ob eine Auswahl abgerundete Ecken aufweisen soll.\",\"Steuert die Anzahl der zus\\xE4tzlichen Zeichen, nach denen der Editor horizontal scrollt.\",\"Steuert, ob der Editor jenseits der letzten Zeile scrollen wird.\",\"Nur entlang der vorherrschenden Achse scrollen, wenn gleichzeitig vertikal und horizontal gescrollt wird. Dadurch wird ein horizontaler Versatz beim vertikalen Scrollen auf einem Trackpad verhindert.\",\"Steuert, ob die prim\\xE4re Linux-Zwischenablage unterst\\xFCtzt werden soll.\",\"Steuert, ob der Editor \\xDCbereinstimmungen hervorheben soll, die der Auswahl \\xE4hneln.\",\"Steuerelemente f\\xFCr die Codefaltung immer anzeigen.\",\"Zeigen Sie niemals die Faltungssteuerelemente an, und verringern Sie die Gr\\xF6\\xDFe des Bundstegs.\",\"Steuerelemente f\\xFCr die Codefaltung nur anzeigen, wenn sich die Maus \\xFCber dem Bundsteg befindet.\",\"Steuert, wann die Steuerungselemente f\\xFCr die Codefaltung am Bundsteg angezeigt werden.\",\"Steuert das Ausblenden von nicht verwendetem Code.\",\"Steuert durchgestrichene veraltete Variablen.\",\"Zeige Schnipselvorschl\\xE4ge \\xFCber den anderen Vorschl\\xE4gen.\",\"Schnipselvorschl\\xE4ge unter anderen Vorschl\\xE4gen anzeigen.\",\"Zeige Schnipselvorschl\\xE4ge mit anderen Vorschl\\xE4gen.\",\"Keine Schnipselvorschl\\xE4ge anzeigen.\",\"Steuert, ob Codeschnipsel mit anderen Vorschl\\xE4gen angezeigt und wie diese sortiert werden.\",\"Legt fest, ob der Editor Bildl\\xE4ufe animiert ausf\\xFChrt.\",\"Steuert, ob f\\xFCr Benutzer*innen, die eine Sprachausgabe nutzen, bei Anzeige einer Inlinevervollst\\xE4ndigung ein Hinweis zur Barrierefreiheit angezeigt werden soll.\",\"Schriftgrad f\\xFCr das Vorschlagswidget. Bei Festlegung auf {0} wird der Wert von {1} verwendet.\",\"Zeilenh\\xF6he f\\xFCr das Vorschlagswidget. Bei Festlegung auf {0} wird der Wert von {1} verwendet. Der Mindestwert ist 8.\",\"Steuert, ob Vorschl\\xE4ge automatisch angezeigt werden sollen, wenn Triggerzeichen eingegeben werden.\",\"Immer den ersten Vorschlag ausw\\xE4hlen.\",'W\\xE4hlen Sie die aktuellsten Vorschl\\xE4ge aus, es sei denn, es wird ein Vorschlag durch eine weitere Eingabe ausgew\\xE4hlt, z.B. \"console.| -> console.log\", weil \"log\" vor Kurzem abgeschlossen wurde.','W\\xE4hlen Sie Vorschl\\xE4ge basierend auf fr\\xFCheren Pr\\xE4fixen aus, die diese Vorschl\\xE4ge abgeschlossen haben, z.B. \"co -> console\" und \"con ->\" const\".',\"Steuert, wie Vorschl\\xE4ge bei Anzeige der Vorschlagsliste vorab ausgew\\xE4hlt werden.\",\"Die Tab-Vervollst\\xE4ndigung f\\xFCgt den passendsten Vorschlag ein, wenn auf Tab gedr\\xFCckt wird.\",\"Tab-Vervollst\\xE4ndigungen deaktivieren.\",'Codeschnipsel per Tab vervollst\\xE4ndigen, wenn die Pr\\xE4fixe \\xFCbereinstimmen. Funktioniert am besten, wenn \"quickSuggestions\" deaktiviert sind.',\"Tab-Vervollst\\xE4ndigungen aktivieren.\",\"Ungew\\xF6hnliche Zeilenabschlusszeichen werden automatisch entfernt.\",\"Ungew\\xF6hnliche Zeilenabschlusszeichen werden ignoriert.\",\"Zum Entfernen ungew\\xF6hnlicher Zeilenabschlusszeichen wird eine Eingabeaufforderung angezeigt.\",\"Entfernen Sie un\\xFCbliche Zeilenabschlusszeichen, die Probleme verursachen k\\xF6nnen.\",\"Leerzeichen und Registerkarten werden in \\xDCbereinstimmung mit Tabstopps eingef\\xFCgt und gel\\xF6scht.\",\"Verwenden Sie die Standardregel f\\xFCr Zeilenumbr\\xFCche.\",\"Trennstellen d\\xFCrfen nicht f\\xFCr Texte in Chinesisch/Japanisch/Koreanisch (CJK) verwendet werden. Das Verhalten von Nicht-CJK-Texten ist mit dem f\\xFCr normales Verhalten identisch.\",\"Steuert die Regeln f\\xFCr Trennstellen, die f\\xFCr Texte in Chinesisch/Japanisch/Koreanisch (CJK) verwendet werden.\",\"Zeichen, die als Worttrennzeichen verwendet werden, wenn wortbezogene Navigationen oder Vorg\\xE4nge ausgef\\xFChrt werden.\",\"Zeilenumbr\\xFCche erfolgen nie.\",\"Der Zeilenumbruch erfolgt an der Breite des Anzeigebereichs.\",'Der Zeilenumbruch erfolgt bei \"#editor.wordWrapColumn#\".','Der Zeilenumbruch erfolgt beim Mindestanzeigebereich und \"#editor.wordWrapColumn\".',\"Steuert, wie der Zeilenumbruch durchgef\\xFChrt werden soll.\",'Steuert die umschlie\\xDFende Spalte des Editors, wenn \"#editor.wordWrap#\" den Wert \"wordWrapColumn\" oder \"bounded\" aufweist.',\"Steuert, ob Inlinefarbdekorationen mithilfe des Standard-Dokumentfarbanbieters angezeigt werden sollen.\",\"Steuert, ob der Editor Registerkarten empf\\xE4ngt oder zur Navigation zur Workbench zur\\xFCckgibt.\",\"Hintergrundfarbe zur Hervorhebung der Zeile an der Cursorposition.\",\"Hintergrundfarbe f\\xFCr den Rahmen um die Zeile an der Cursorposition.\",\"Hintergrundfarbe der markierten Bereiche, wie z.B. Quick Open oder die Suche. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrundfarbe f\\xFCr den Rahmen um hervorgehobene Bereiche.\",'Hintergrundfarbe des hervorgehobenen Symbols, z. B. \"Gehe zu Definition\" oder \"Gehe zu n\\xE4chster/vorheriger\". Die Farbe darf nicht undurchsichtig sein, um zugrunde liegende Dekorationen nicht zu verbergen.',\"Hintergrundfarbe des Rahmens um hervorgehobene Symbole\",\"Farbe des Cursors im Editor.\",\"Hintergrundfarbe vom Editor-Cursor. Erlaubt die Anpassung der Farbe von einem Zeichen, welches von einem Block-Cursor \\xFCberdeckt wird.\",\"Farbe des prim\\xE4ren Editorcursors, wenn mehrere Cursor vorhanden sind.\",\"Die Hintergrundfarbe des prim\\xE4ren Editorcursors, wenn mehrere Cursor vorhanden sind. Erlaubt die Anpassung der Farbe von einem Zeichen, welches von einem Block-Cursor \\xFCberdeckt wird.\",\"Farbe sekund\\xE4rer Editorcursor, wenn mehrere Cursor vorhanden sind.\",\"Die Hintergrundfarbe sekund\\xE4rer Editorcursor, wenn mehrere Cursor vorhanden sind. Erlaubt die Anpassung der Farbe von einem Zeichen, welches von einem Block-Cursor \\xFCberdeckt wird.\",\"Farbe der Leerzeichen im Editor.\",\"Zeilennummernfarbe im Editor.\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im Editor.\",'\"editorIndentGuide.background\" ist veraltet. Verwenden Sie stattdessen \"editorIndentGuide.background1\".',\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im aktiven Editor.\",'\"editorIndentGuide.activeBackground\" ist veraltet. Verwenden Sie stattdessen \"editorIndentGuide.activeBackground1\".',\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im Editor (1).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im Editor (2).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im Editor (3).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im Editor (4).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im Editor (5).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im Editor (6).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im aktiven Editor (1).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im aktiven Editor (2).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im aktiven Editor (3).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im aktiven Editor (4).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im aktiven Editor (5).\",\"Farbe der F\\xFChrungslinien f\\xFCr Einz\\xFCge im aktiven Editor (6).\",\"Zeilennummernfarbe der aktiven Editorzeile.\",'Die ID ist veraltet. Verwenden Sie stattdessen \"editorLineNumber.activeForeground\".',\"Zeilennummernfarbe der aktiven Editorzeile.\",\"Die Farbe der letzten Editor-Zeile, wenn \\u201Eeditor.renderFinalNewline\\u201C auf \\u201Eabgeblendet\\u201C festgelegt ist.\",\"Farbe des Editor-Lineals.\",\"Vordergrundfarbe der CodeLens-Links im Editor\",\"Hintergrundfarbe f\\xFCr zusammengeh\\xF6rige Klammern\",\"Farbe f\\xFCr zusammengeh\\xF6rige Klammern\",\"Farbe des Rahmens f\\xFCr das \\xDCbersicht-Lineal.\",\"Hintergrundfarbe des Editor-\\xDCbersichtslineals.\",\"Hintergrundfarbe der Editorleiste. Die Leiste enth\\xE4lt die Glyphenr\\xE4nder und die Zeilennummern.\",\"Rahmenfarbe unn\\xF6tigen (nicht genutzten) Quellcodes im Editor.\",'Deckkraft des unn\\xF6tigen (nicht genutzten) Quellcodes im Editor. \"#000000c0\" rendert z.B. den Code mit einer Deckkraft von 75%. Verwenden Sie f\\xFCr Designs mit hohem Kontrast das Farbdesign \"editorUnnecessaryCode.border\", um unn\\xF6tigen Code zu unterstreichen statt ihn abzublenden.',\"Rahmenfarbe des Ghost-Texts im Editor.\",\"Vordergrundfarbe des Ghost-Texts im Editor.\",\"Hintergrundfarbe des Ghost-Texts im Editor.\",\"\\xDCbersichtslinealmarkerfarbe f\\xFCr das Hervorheben von Bereichen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"\\xDCbersichtslineal-Markierungsfarbe f\\xFCr Fehler.\",\"\\xDCbersichtslineal-Markierungsfarbe f\\xFCr Warnungen.\",\"\\xDCbersichtslineal-Markierungsfarbe f\\xFCr Informationen.\",\"Vordergrundfarbe der Klammern (1). Erfordert die Aktivierung der Farbgebung des Klammerpaars.\",\"Vordergrundfarbe der Klammern (2). Erfordert die Aktivierung der Farbgebung des Klammerpaars.\",\"Vordergrundfarbe der Klammern (3). Erfordert die Aktivierung der Farbgebung des Klammerpaars.\",\"Vordergrundfarbe der Klammern (4). Erfordert die Aktivierung der Farbgebung des Klammerpaars.\",\"Vordergrundfarbe der Klammern (5). Erfordert die Aktivierung der Farbgebung des Klammerpaars.\",\"Vordergrundfarbe der Klammern (6). Erfordert die Aktivierung der Farbgebung des Klammerpaars.\",\"Vordergrundfarbe der unerwarteten Klammern.\",\"Hintergrundfarbe der inaktiven Klammerpaar-Hilfslinien (1). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der inaktiven Klammerpaar-Hilfslinien (2). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der inaktiven Klammerpaar-Hilfslinien (3). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der inaktiven Klammerpaar-Hilfslinien (4). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der inaktiven Klammerpaar-Hilfslinien (5). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der inaktiven Klammerpaar-Hilfslinien (6). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der aktiven Klammerpaar-Hilfslinien (1). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der aktiven Klammerpaar-Hilfslinien (2). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der aktiven Klammerpaar-Hilfslinien (3). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der aktiven Klammerpaar-Hilfslinien (4). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der aktiven Klammerpaar-Hilfslinien (5). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Hintergrundfarbe der aktiven Klammerpaar-Hilfslinien (6). Erfordert das Aktivieren von Klammerpaar-Hilfslinien.\",\"Rahmenfarbe, die zum Hervorheben von Unicode-Zeichen verwendet wird.\",\"Hintergrundfarbe, die zum Hervorheben von Unicode-Zeichen verwendet wird.\",\"Gibt an, ob der Editor-Text den Fokus besitzt (Cursor blinkt).\",\"Gibt an, ob der Editor oder ein Editor-Widget den Fokus besitzt (z.\\xA0B. ob der Fokus sich im Suchwidget befindet).\",\"Gibt an, ob ein Editor oder eine Rich-Text-Eingabe den Fokus besitzt (Cursor blinkt).\",\"Gibt an, ob der Editor schreibgesch\\xFCtzt ist\",\"Gibt an, ob der Kontext ein Diff-Editor ist.\",\"Gibt an, ob der Kontext ein eingebetteter Diff-Editor ist.\",null,\"Gibt an, ob alle Dateien im Multi-Diff-Editor reduziert sind\",\"Gibt an, ob der Diff-Editor \\xC4nderungen aufweist.\",\"Gibt an, ob ein verschobener Codeblock f\\xFCr den Vergleich ausgew\\xE4hlt wird.\",\"Gibt an, ob der barrierefreie Diff-Viewer sichtbar ist.\",'Gibt an, ob f\\xFCr den Diff-Editor der Breakpoint f\\xFCr das Rendern im Modus \"Parallel\" oder \"Inline\" erreicht wurde.',\"Gibt an, ob der Inlinemodus aktiv ist.\",\"Gibt an, ob \\u201Ege\\xE4ndert\\u201C im Diff-Editor beschreibbar ist.\",\"Gibt an, ob \\u201Ege\\xE4ndert\\u201C im Diff-Editor beschreibbar ist.\",\"Der URI des urspr\\xFCnglichen Dokuments\",\"Der URI des ge\\xE4nderten Dokuments\",'Gibt an, ob \"editor.columnSelection\" aktiviert ist.',\"Gibt an, ob im Editor Text ausgew\\xE4hlt ist.\",\"Gibt an, ob der Editor \\xFCber Mehrfachauswahl verf\\xFCgt.\",\"Gibt an, ob die TAB-TASTE den Fokus aus dem Editor verschiebt.\",\"Gibt an, ob Hover im Editor sichtbar ist.\",\"Gibt an, ob Daraufzeigen im Editor fokussiert ist.\",\"Gibt an, ob der Fokus auf dem Fixierten Bildlauf liegt.\",\"Gibt an, ob der Fixierte Bildlauf sichtbar ist.\",\"Gibt an, ob der eigenst\\xE4ndige Farbw\\xE4hler sichtbar ist.\",\"Gibt an, ob der eigenst\\xE4ndige Farbw\\xE4hler fokussiert ist.\",\"Gibt an, ob der Editor Bestandteil eines gr\\xF6\\xDFeren Editors ist (z.\\xA0B. Notebooks).\",\"Der Sprachbezeichner des Editors.\",\"Gibt an, ob der Editor \\xFCber einen Vervollst\\xE4ndigungselementanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Codeaktionsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen CodeLens-Anbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Definitionsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Deklarationsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Implementierungsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Typdefinitionsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Hoveranbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Dokumenthervorhebungsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Dokumentsymbolanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Verweisanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Umbenennungsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Signaturhilfeanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Inlinehinweisanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Dokumentformatierungsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber einen Anbieter f\\xFCr Dokumentauswahlformatierung verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber mehrere Dokumentformatierungsanbieter verf\\xFCgt.\",\"Gibt an, ob der Editor \\xFCber mehrere Anbieter f\\xFCr Dokumentauswahlformatierung verf\\xFCgt.\",\"Array\",\"Boolescher Wert\",\"Klasse\",\"Konstante\",\"Konstruktor\",\"Enumeration\",\"Enumerationsmember\",\"Ereignis\",\"Feld\",\"Datei\",\"Funktion\",\"Schnittstelle\",\"Schl\\xFCssel\",\"Methode\",\"Modul\",\"Namespace\",\"NULL\",\"Zahl\",\"Objekt\",\"Operator\",\"Paket\",\"Eigenschaft\",\"Zeichenfolge\",\"Struktur\",\"Typparameter\",\"Variable\",\"{0} ({1})\",\"Nur-Text\",\"Eingabe\",\"Entwickler: Token \\xFCberpr\\xFCfen\",\"Gehe zu Zeile/Spalte...\",\"Alle Anbieter f\\xFCr den Schnellzugriff anzeigen\",\"Befehlspalette\",\"Befehle anzeigen und ausf\\xFChren\",\"Gehe zu Symbol...\",\"Gehe zu Symbol nach Kategorie...\",\"Editor-Inhalt\",\"Zu Design mit hohem Kontrast umschalten\",\"{0} Bearbeitungen in {1} Dateien durchgef\\xFChrt\",\"Mehr anzeigen ({0})\",\"{0} Zeichen\",\"Auswahlanker\",'Anker festgelegt bei \"{0}:{1}\"',\"Auswahlanker festlegen\",\"Zu Auswahlanker wechseln\",\"Auswahl von Anker zu Cursor\",\"Auswahlanker abbrechen\",\"\\xDCbersichtslineal-Markierungsfarbe f\\xFCr zusammengeh\\xF6rige Klammern.\",\"Gehe zu Klammer\",\"Ausw\\xE4hlen bis Klammer\",\"Klammern entfernen\",\"Gehe zu &&Klammer\",\"Text ausw\\xE4hlen und Klammern oder geschweifte Klammern einschlie\\xDFen\",\"Ausgew\\xE4hlten Text nach links verschieben\",\"Ausgew\\xE4hlten Text nach rechts verschieben\",\"Buchstaben austauschen\",\"&&Ausschneiden\",\"Ausschneiden\",\"Ausschneiden\",\"Ausschneiden\",\"&&Kopieren\",\"Kopieren\",\"Kopieren\",\"Kopieren\",\"&&Einf\\xFCgen\",\"Einf\\xFCgen\",\"Einf\\xFCgen\",\"Einf\\xFCgen\",\"Mit Syntaxhervorhebung kopieren\",\"Kopieren als\",\"Kopieren als\",\"Freigeben\",\"Freigeben\",\"Beim Anwenden der Code-Aktion ist ein unbekannter Fehler aufgetreten\",\"Art der auszuf\\xFChrenden Codeaktion\",\"Legt fest, wann die zur\\xFCckgegebenen Aktionen angewendet werden\",\"Die erste zur\\xFCckgegebene Codeaktion immer anwenden\",\"Die erste zur\\xFCckgegebene Codeaktion anwenden, wenn nur eine vorhanden ist\",\"Zur\\xFCckgegebene Codeaktionen nicht anwenden\",\"Legt fest, ob nur bevorzugte Codeaktionen zur\\xFCckgegeben werden sollen\",\"Schnelle Problembehebung ...\",\"Keine Codeaktionen verf\\xFCgbar\",'Keine bevorzugten Codeaktionen f\\xFCr \"{0}\" verf\\xFCgbar','Keine Codeaktionen f\\xFCr \"{0}\" verf\\xFCgbar',\"Keine bevorzugten Codeaktionen verf\\xFCgbar\",\"Keine Codeaktionen verf\\xFCgbar\",\"Refactoring durchf\\xFChren...\",'Keine bevorzugten Refactorings f\\xFCr \"{0}\" verf\\xFCgbar','Keine Refactorings f\\xFCr \"{0}\" verf\\xFCgbar',\"Keine bevorzugten Refactorings verf\\xFCgbar\",\"Keine Refactorings verf\\xFCgbar\",\"Quellaktion...\",'Keine bevorzugten Quellaktionen f\\xFCr \"{0}\" verf\\xFCgbar','Keine Quellaktionen f\\xFCr \"{0}\" verf\\xFCgbar',\"Keine bevorzugten Quellaktionen verf\\xFCgbar\",\"Keine Quellaktionen verf\\xFCgbar\",\"Importe organisieren\",\"Keine Aktion zum Organisieren von Importen verf\\xFCgbar\",\"Alle korrigieren\",'Aktion \"Alle korrigieren\" nicht verf\\xFCgbar',\"Automatisch korrigieren...\",\"Keine automatischen Korrekturen verf\\xFCgbar\",\"Aktivieren/Deaktivieren Sie die Anzeige von Gruppenheadern im Codeaktionsmen\\xFC.\",\"Hiermit aktivieren/deaktivieren Sie die Anzeige der n\\xE4chstgelegenen schnellen Problembehebung innerhalb einer Zeile, wenn derzeit keine Diagnose durchgef\\xFChrt wird.\",\"Aktivieren Sie das Ausl\\xF6sen von {0}, wenn {1} auf {2} festgelegt ist. Codeaktionen m\\xFCssen auf {3} festgelegt werden, um f\\xFCr Fenster- und Fokus\\xE4nderungen ausgel\\xF6st zu werden.\",\"Kontext: {0} in Zeile {1} und Spalte {2}.\",\"Deaktivierte Elemente ausblenden\",\"Deaktivierte Elemente anzeigen\",\"Weitere Aktionen...\",\"Schnelle Problembehebung\",\"Extrahieren\",\"Inline\",\"Erneut generieren\",\"Verschieben\",\"Umgeben mit\",\"Quellaktion\",\"Symbol, das das Men\\xFC \\u201ECodeaktionen\\u201C aus dem Bundsteg erzeugt, wenn kein Platz im Editor vorhanden ist.\",\"Symbol, das das Men\\xFC \\u201ECodeaktionen\\u201C aus dem Bundsteg erzeugt, wenn kein Platz im Editor vorhanden ist und eine schnelle Korrektur verf\\xFCgbar ist.\",\"Symbol, das das Men\\xFC \\u201ECodeaktionen\\u201C aus dem Bundsteg erzeugt, wenn kein Platz im Editor vorhanden ist und ein KI-Fix verf\\xFCgbar ist.\",\"Symbol, das das Men\\xFC \\u201ECodeaktionen\\u201C aus dem Bundsteg erzeugt, wenn kein Platz im Editor vorhanden ist und ein KI-Fix und eine schnelle Korrektur verf\\xFCgbar sind.\",\"Symbol, das das Men\\xFC \\u201ECodeaktionen\\u201C aus dem Bundsteg erzeugt, wenn kein Platz im Editor vorhanden ist und ein KI-Fix und eine schnelle Korrektur verf\\xFCgbar sind.\",\"Ausf\\xFChren: {0}\",\"Zeigt Codeaktionen an. Bevorzugte Schnellkorrektur verf\\xFCgbar ({0})\",\"Codeaktionen anzeigen ({0})\",\"Codeaktionen anzeigen\",\"CodeLens-Befehle f\\xFCr aktuelle Zeile anzeigen\",\"Befehl ausw\\xE4hlen\",null,null,null,null,null,null,null,null,null,\"Zeilenkommentar umschalten\",\"Zeilenkommen&&tar umschalten\",\"Zeilenkommentar hinzuf\\xFCgen\",\"Zeilenkommentar entfernen\",\"Blockkommentar umschalten\",\"&&Blockkommentar umschalten\",\"Minimap\",\"Zeichen rendern\",\"Vertikale Gr\\xF6\\xDFe\",\"Proportional\",\"Ausf\\xFCllen\",\"Anpassen\",\"Schieberegler\",\"Maus \\xFCber\",\"Immer\",\"Editor-Kontextmen\\xFC anzeigen\",\"Mit Cursor r\\xFCckg\\xE4ngig machen\",\"Wiederholen mit Cursor\",`Die Art der Einf\\xFCgebearbeitung, f\\xFCr die Sie das Einf\\xFCgen versuchen.\\r\nWenn mehrere Bearbeitungen f\\xFCr diese Art vorhanden sind, zeigt der Editor eine Auswahl an. Wenn keine Bearbeitungen dieser Art vorhanden sind, zeigt der Editor eine Fehlermeldung an.`,\"Einf\\xFCgen als...\",\"Als Text einf\\xFCgen\",\"Gibt an, ob das Einf\\xFCgewidget angezeigt wird.\",\"Einf\\xFCgeoptionen anzeigen...\",\"Es wurden keine Einf\\xFCgebearbeitungen f\\xFCr \\u201E{0}\\u201C gefunden.\",\"Die Einf\\xFCgebearbeitung wird aufgel\\xF6st. Zum Abbrechen klicken\",\"Einf\\xFCgehandler werden ausgef\\xFChrt. Klicken Sie hier, um den Vorgang abzubrechen und ein einfaches Einf\\xFCgen auszuf\\xFChren.\",\"Einf\\xFCgeaktion ausw\\xE4hlen\",\"Einf\\xFCgehandler werden ausgef\\xFChrt\",\"Nur-Text einf\\xFCgen\",\"URI einf\\xFCgen\",\"URI einf\\xFCgen\",\"Pfade einf\\xFCgen\",\"Pfad einf\\xFCgen\",\"Relative Pfade einf\\xFCgen\",\"Relativen Pfad einf\\xFCgen\",\"HTML einf\\xFCgen\",null,\"Gibt an, ob das Ablagewidget angezeigt wird.\",\"Ablageoptionen anzeigen...\",\"Drophandler werden ausgef\\xFChrt. Klicken Sie hier, um den Vorgang abzubrechen.\",`Fehler beim Aufl\\xF6sen der Bearbeitung \"{0}\":\\r\n{1}`,`Fehler beim Anwenden der Bearbeitung \"{0}\":\\r\n{1}`,'Gibt an, ob der Editor einen abbrechbaren Vorgang ausf\\xFChrt, z.\\xA0B. \"Verweisvorschau\".',\"Die Datei ist zu gro\\xDF, um einen Vorgang zum Ersetzen aller Elemente auszuf\\xFChren.\",\"Suchen\",\"&&Suchen\",\"Mit Argumenten suchen\",\"Mit Auswahl suchen\",\"Weitersuchen\",\"Vorheriges Element suchen\",\"Zu \\xDCbereinstimmung wechseln\\xA0...\",\"Keine \\xDCbereinstimmungen. Versuchen Sie, nach etwas anderem zu suchen.\",\"Geben Sie eine Zahl ein, um zu einer bestimmten \\xDCbereinstimmung zu wechseln (zwischen\\xA01 und {0}).\",\"Zahl zwischen\\xA01 und {0} eingeben\",\"Zahl zwischen\\xA01 und {0} eingeben\",\"N\\xE4chste Auswahl suchen\",\"Vorherige Auswahl suchen\",\"Ersetzen\",\"&&Ersetzen\",\"Symbol f\\xFCr die Anzeige, dass das Editor-Such-Widget zugeklappt wurde.\",\"Symbol f\\xFCr die Anzeige, dass das Editor-Such-Widget aufgeklappt wurde.\",'Symbol f\\xFCr \"In Auswahl suchen\" im Editor-Such-Widget.','Symbol f\\xFCr \"Ersetzen\" im Editor-Such-Widget.','Symbol f\\xFCr \"Alle ersetzen\" im Editor-Such-Widget.','Symbol f\\xFCr \"Vorheriges Element suchen\" im Editor-Such-Widget.','Symbol f\\xFCr \"N\\xE4chstes Element suchen\" im Editor-Such-Widget.',\"Suchen/Ersetzen\",\"Suchen\",\"Suchen\",\"Vorherige \\xDCbereinstimmung\",\"N\\xE4chste \\xDCbereinstimmung\",\"In Auswahl suchen\",\"Schlie\\xDFen\",\"Ersetzen\",\"Ersetzen\",\"Ersetzen\",\"Alle ersetzen\",\"Ersetzen umschalten\",\"Nur die ersten {0} Ergebnisse wurden hervorgehoben, aber alle Suchoperationen werden auf dem gesamten Text durchgef\\xFChrt.\",\"{0} von {1}\",\"Keine Ergebnisse\",\"{0} gefunden\",'{0} f\\xFCr \"{1}\" gefunden','{0} f\\xFCr \"{1}\" gefunden, bei {2}','{0} f\\xFCr \"{1}\" gefunden','STRG+EINGABE f\\xFCgt jetzt einen Zeilenumbruch ein, statt alles zu ersetzen. Sie k\\xF6nnen die Tastenzuordnung f\\xFCr \"editor.action.replaceAll\" \\xE4ndern, um dieses Verhalten au\\xDFer Kraft zu setzen.',\"Auffalten\",\"Faltung rekursiv aufheben\",\"Falten\",\"Einklappung umschalten\",\"Rekursiv falten\",\"Rekursiv falten umschalten\",\"Alle Blockkommentare falten\",\"Alle Regionen falten\",\"Alle Regionen auffalten\",\"Alle bis auf ausgew\\xE4hlte falten\",\"Alle bis auf ausgew\\xE4hlte auffalten\",\"Alle falten\",\"Alle auffalten\",\"Zur \\xFCbergeordneten Reduzierung wechseln\",\"Zum vorherigen Faltbereich wechseln\",\"Zum n\\xE4chsten Faltbereich wechseln\",\"Faltungsbereich aus Auswahl erstellen\",\"Manuelle Faltbereiche entfernen\",\"Faltebene {0}\",\"Hintergrundfarbe hinter gefalteten Bereichen. Die Farbe darf nicht deckend sein, sodass zugrunde liegende Dekorationen nicht ausgeblendet werden.\",\"Farbe des reduzierten Texts nach der ersten Zeile eines gefalteten Bereichs.\",\"Farbe des Faltsteuerelements im Editor-Bundsteg.\",\"Symbol f\\xFCr aufgeklappte Bereiche im Editor-Glyphenrand.\",\"Symbol f\\xFCr zugeklappte Bereiche im Editor-Glyphenrand.\",\"Symbol f\\xFCr manuell reduzierte Bereiche im Glyphenrand des Editors.\",\"Symbol f\\xFCr manuell erweiterte Bereiche im Glyphenrand des Editors.\",\"Klicken Sie hier, um den Bereich zu erweitern.\",\"Klicken Sie hier, um den Bereich zu reduzieren.\",\"Schriftgrad des Editors erh\\xF6hen\",\"Schriftgrad des Editors verringern\",\"Editor-Schriftgrad zur\\xFCcksetzen\",\"Dokument formatieren\",\"Auswahl formatieren\",\"Gehe zu n\\xE4chstem Problem (Fehler, Warnung, Information)\",\"Symbol f\\xFCr den Marker zum Wechseln zum n\\xE4chsten Element.\",\"Gehe zu vorigem Problem (Fehler, Warnung, Information)\",\"Symbol f\\xFCr den Marker zum Wechseln zum vorherigen Element.\",\"Gehe zu dem n\\xE4chsten Problem in den Dateien (Fehler, Warnung, Info)\",\"N\\xE4chstes &&Problem\",\"Gehe zu dem vorherigen Problem in den Dateien (Fehler, Warnung, Info)\",\"Vorheriges &&Problem\",\"Fehler\",\"Warnung\",\"Info\",\"Hinweis\",\"{0} bei {1}. \",\"{0} von {1} Problemen\",\"{0} von {1} Problemen\",\"Editormarkierung: Farbe bei Fehler des Navigationswidgets.\",\"Hintergrund der Fehler\\xFCberschrift des Markernavigationswidgets im Editor.\",\"Editormarkierung: Farbe bei Warnung des Navigationswidgets.\",\"Hintergrund der Warnungs\\xFCberschrift des Markernavigationswidgets im Editor.\",\"Editormarkierung: Farbe bei Information des Navigationswidgets.\",\"Hintergrund der Informations\\xFCberschrift des Markernavigationswidgets im Editor.\",\"Editormarkierung: Hintergrund des Navigationswidgets.\",\"Vorschau\",\"Definitionen\",'Keine Definition gefunden f\\xFCr \"{0}\".',\"Keine Definition gefunden\",\"Gehe &&zu Definition\",\"Deklarationen\",'Keine Deklaration f\\xFCr \"{0}\" gefunden.',\"Keine Deklaration gefunden.\",\"Gehe zu &&Deklaration\",'Keine Deklaration f\\xFCr \"{0}\" gefunden.',\"Keine Deklaration gefunden.\",\"Typdefinitionen\",'Keine Typendefinition gefunden f\\xFCr \"{0}\"',\"Keine Typendefinition gefunden\",\"Zur &&Typdefinition wechseln\",\"Implementierungen\",'Keine Implementierung gefunden f\\xFCr \"{0}\"',\"Keine Implementierung gefunden\",\"Gehe zu &&Implementierungen\",'F\\xFCr \"{0}\" wurden keine Verweise gefunden.',\"Keine Referenzen gefunden\",\"Gehe zu &&Verweisen\",\"Verweise\",\"Verweise\",\"Speicherorte\",'Keine Ergebnisse f\\xFCr \"{0}\"',\"Verweise\",\"Gehe zu Definition\",\"Definition an der Seite \\xF6ffnen\",\"Definition einsehen\",\"Zur Deklaration wechseln\",\"Vorschau f\\xFCr Deklaration anzeigen\",\"Zur Typdefinition wechseln\",\"Vorschau der Typdefinition anzeigen\",\"Gehe zu Implementierungen\",\"Vorschau f\\xFCr Implementierungen anzeigen\",\"Gehe zu Verweisen\",\"Vorschau f\\xFCr Verweise anzeigen\",\"Zum beliebigem Symbol wechseln\",\"Klicken Sie, um {0} Definitionen anzuzeigen.\",'Gibt an, ob die Verweisvorschau sichtbar ist, z.\\xA0B. \"Verweisvorschau\" oder \"Definition einsehen\".',\"Wird geladen...\",\"{0} ({1})\",\"{0} Verweise\",\"{0} Verweis\",\"Verweise\",\"Keine Vorschau verf\\xFCgbar.\",\"Keine Ergebnisse\",\"Verweise\",\"in {0} in Zeile {1} in Spalte {2}\",\"{0} in {1} in Zeile {2} in Spalte {3}\",\"1 Symbol in {0}, vollst\\xE4ndiger Pfad {1}\",\"{0} Symbole in {1}, vollst\\xE4ndiger Pfad {2}\",\"Es wurden keine Ergebnisse gefunden.\",\"1 Symbol in {0} gefunden\",\"{0} Symbole in {1} gefunden\",\"{0} Symbole in {1} Dateien gefunden\",\"Gibt an, ob Symbolpositionen vorliegen, bei denen die Navigation nur \\xFCber die Tastatur m\\xF6glich ist.\",\"Symbol {0} von {1}, {2} f\\xFCr n\\xE4chstes\",\"Symbol {0} von {1}\",\"Ausf\\xFChrlichkeitsgrad beim Daraufzeigen erh\\xF6hen\",\"Ausf\\xFChrlichkeitsgrad beim Daraufzeigen verringern\",\"Anzeigen oder Fokus beim Daraufzeigen\",\"Beim Daraufzeigen wird der Fokus nicht automatisch verwendet.\",\"Beim Daraufzeigen wird nur dann den Fokus erhalten, wenn er bereits sichtbar ist.\",\"Beim Daraufzeigen wird automatisch der Fokus erhalten, wenn er angezeigt wird.\",\"Definitionsvorschauhover anzeigen\",\"Bildlauf nach oben beim Daraufzeigen\",\"Bildlauf nach unten beim Daraufzeigen\",\"Bildlauf nach links beim Daraufzeigen\",\"Bildlauf nach rechts beim Daraufzeigen\",\"Eine Seite nach oben beim Daraufzeigen\",\"Eine Seite nach unten beim Daraufzeigen\",\"Gehe nach oben beim Daraufzeigen\",\"Gehe nach unten beim Daraufzeigen\",\"Editor-Mauszeiger anzeigen oder fokussieren, um Dokumentation, Verweise und anderen Inhalt f\\xFCr ein Symbol an der aktuellen Cursorposition anzuzeigen oder zu fokussieren.\",\"Definitionsvorschau-Mauszeiger im Editor anzeigen\",\"Beim Daraufzeigen auf den Editor nach oben scrollen.\",\"Beim Daraufzeigen auf den Editor nach unten. scrollen.\",\"Bildlauf nach links beim Daraufzeigen auf den Editor.\",\"Bildlauf nach rechts beim Daraufzeigen auf den Editor.\",\"Eine Seite nach oben beim Daraufzeigen auf den Editor.\",\"Eine Seite nach unten beim Daraufzeigen auf den Editor.\",\"Beim Daraufzeigen auf den Editor zum oberen Rand navigieren.\",\"Beim Daraufzeigen auf den Editor zum unteren Rand navigieren.\",\"Symbol zum Erh\\xF6hen der Ausf\\xFChrlichkeit beim Daraufzeigen.\",\"Symbol zum Verringern der Ausf\\xFChrlichkeit beim Daraufzeigen.\",\"Wird geladen...\",\"Das Rendering langer Zeilen wurde aus Leistungsgr\\xFCnden angehalten. Dies kann \\xFCber \\u201Eeditor.stopRenderingLineAfter\\u201C konfiguriert werden.\",\"Die Tokenisierung wird bei langen Zeilen aus Leistungsgr\\xFCnden \\xFCbersprungen. Dies kann \\xFCber \\u201Eeditor.maxTokenizationLineLength\\u201C konfiguriert werden.\",\"Ausf\\xFChrlichkeit beim Daraufzeigen erh\\xF6hen ({0})\",\"Ausf\\xFChrlichkeit beim Daraufzeigen erh\\xF6hen\",\"Ausf\\xFChrlichkeit beim Daraufzeigen verringern ({0})\",\"Ausf\\xFChrlichkeit beim Daraufzeigen verringern\",\"Problem anzeigen\",\"Keine Schnellkorrekturen verf\\xFCgbar\",\"Es wird nach Schnellkorrekturen gesucht...\",\"Keine Schnellkorrekturen verf\\xFCgbar\",\"Schnelle Problembehebung ...\",\"Einzug in Leerzeichen konvertieren\",\"Einzug in Tabstopps konvertieren\",\"Konfigurierte Tabulatorgr\\xF6\\xDFe\",\"Standardregisterkartengr\\xF6\\xDFe\",\"Aktuelle Registerkartengr\\xF6\\xDFe\",\"Tabulatorgr\\xF6\\xDFe f\\xFCr aktuelle Datei ausw\\xE4hlen\",\"Einzug mithilfe von Tabstopps\",\"Einzug mithilfe von Leerzeichen\",\"Anzeigegr\\xF6\\xDFe der Registerkarte \\xE4ndern\",\"Einzug aus Inhalt erkennen\",\"Neuen Einzug f\\xFCr Zeilen festlegen\",\"Gew\\xE4hlte Zeilen zur\\xFCckziehen\",\"Tabulatoreinzug in Leerzeichen umwandeln.\",\"Leerraumeinzug in Tabulator konvertieren.\",\"Einzug mit Tabulator verwenden.\",\"Einzug mit Leerzeichen verwenden.\",\"Leerzeichengr\\xF6\\xDFe entsprechend der Tabulatorgr\\xF6\\xDFe \\xE4ndern.\",\"Einzug aus dem Inhalt erkennen.\",\"Die Zeilen des Editors erneut einr\\xFCcken.\",\"Die ausgew\\xE4hlten Zeilen des Editors erneut einr\\xFCcken.\",\"Zum Einf\\xFCgen doppelklicken\",\"BEFEHL + Klicken\",\"STRG + Klicken\",\"OPTION + Klicken\",\"ALT + Klicken\",\"Wechseln Sie zu Definition ({0}), klicken Sie mit der rechten Maustaste, um weitere Informationen zu finden.\",\"Gehe zu Definition ({0})\",\"Befehl ausf\\xFChren\",\"N\\xE4chsten Inline-Vorschlag anzeigen\",\"Vorherigen Inline-Vorschlag anzeigen\",\"Inline-Vorschlag ausl\\xF6sen\",\"N\\xE4chstes Wort des Inline-Vorschlags annehmen\",\"Wort annehmen\",\"N\\xE4chste Zeile des Inlinevorschlags akzeptieren\",\"Zeile annehmen\",\"Inline-Vorschlag annehmen\",\"Akzeptieren\",\"Inlinevorschlag ausblenden\",\"Symbolleiste immer anzeigen\",\"Gibt an, ob ein Inline-Vorschlag sichtbar ist.\",\"Gibt an, ob der Inline-Vorschlag mit Leerzeichen beginnt.\",\"Ob der Inline-Vorschlag mit Leerzeichen beginnt, das kleiner ist als das, was durch die Tabulatortaste eingef\\xFCgt werden w\\xFCrde\",\"Gibt an, ob Vorschl\\xE4ge f\\xFCr den aktuellen Vorschlag unterdr\\xFCckt werden sollen\",\"\\xDCberpr\\xFCfen Sie dies in der barrierefreien Ansicht ({0}).\",\"Vorschlag:\",\"Symbol f\\xFCr die Anzeige des n\\xE4chsten Parameterhinweises.\",\"Symbol f\\xFCr die Anzeige des vorherigen Parameterhinweises.\",\"{0} ({1})\",\"Zur\\xFCck\",\"Weiter\",null,null,null,null,null,null,null,null,\"Durch vorherigen Wert ersetzen\",\"Durch n\\xE4chsten Wert ersetzen\",\"Zeilenauswahl erweitern\",\"Zeile nach oben kopieren\",\"Zeile nach oben &&kopieren\",\"Zeile nach unten kopieren\",\"Zeile nach unten ko&&pieren\",\"Auswahl duplizieren\",\"&&Auswahl duplizieren\",\"Zeile nach oben verschieben\",\"Zeile nach oben &&verschieben\",\"Zeile nach unten verschieben\",\"Zeile nach &&unten verschieben\",\"Zeilen aufsteigend sortieren\",\"Zeilen absteigend sortieren\",\"Doppelte Zeilen l\\xF6schen\",\"Nachgestelltes Leerzeichen k\\xFCrzen\",\"Zeile l\\xF6schen\",\"Zeileneinzug\",\"Zeile ausr\\xFCcken\",\"Zeile oben einf\\xFCgen\",\"Zeile unten einf\\xFCgen\",\"Alle \\xFCbrigen l\\xF6schen\",\"Alle rechts l\\xF6schen\",\"Zeilen verkn\\xFCpfen\",\"Zeichen um den Cursor herum transponieren\",\"In Gro\\xDFbuchstaben umwandeln\",\"In Kleinbuchstaben umwandeln\",\"In gro\\xDFe Anfangsbuchstaben umwandeln\",\"In Snake Case umwandeln\",\"In CamelCase umwandeln\",\"In Pascal-Pascal-Schreibweise transformieren\",\"In kebab-case umwandeln\",\"Verkn\\xFCpfte Bearbeitung starten\",\"Hintergrundfarbe, wenn der Editor automatisch nach Typ umbenennt.\",\"Fehler beim \\xD6ffnen dieses Links, weil er nicht wohlgeformt ist: {0}\",\"Fehler beim \\xD6ffnen dieses Links, weil das Ziel fehlt.\",\"Befehl ausf\\xFChren\",\"Link folgen\",\"BEFEHL + Klicken\",\"STRG + Klicken\",\"OPTION + Klicken\",\"alt + klicken\",'F\\xFChren Sie den Befehl \"{0}\" aus.',\"Link \\xF6ffnen\",\"Gibt an, ob der Editor zurzeit eine Inlinenachricht anzeigt.\",\"Hinzugef\\xFCgter Cursor: {0}\",\"Hinzugef\\xFCgte Cursor: {0}\",\"Cursor oberhalb hinzuf\\xFCgen\",\"Cursor oberh&&alb hinzuf\\xFCgen\",\"Cursor unterhalb hinzuf\\xFCgen\",\"Cursor unterhal&&b hinzuf\\xFCgen\",\"Cursor an Zeilenenden hinzuf\\xFCgen\",\"C&&ursor an Zeilenenden hinzuf\\xFCgen\",\"Cursor am Ende hinzuf\\xFCgen\",\"Cursor am Anfang hinzuf\\xFCgen\",\"Auswahl zur n\\xE4chsten \\xDCbereinstimmungssuche hinzuf\\xFCgen\",\"&&N\\xE4chstes Vorkommen hinzuf\\xFCgen\",\"Letzte Auswahl zu vorheriger \\xDCbereinstimmungssuche hinzuf\\xFCgen\",\"Vo&&rheriges Vorkommen hinzuf\\xFCgen\",\"Letzte Auswahl in n\\xE4chste \\xDCbereinstimmungssuche verschieben\",\"Letzte Auswahl in vorherige \\xDCbereinstimmungssuche verschieben\",\"Alle Vorkommen ausw\\xE4hlen und \\xDCbereinstimmung suchen\",\"Alle V&&orkommen ausw\\xE4hlen\",\"Alle Vorkommen \\xE4ndern\",\"Fokus auf n\\xE4chsten Cursor\",\"Fokussiert den n\\xE4chsten Cursor\",\"Fokus auf vorherigen Cursor\",\"Fokussiert den vorherigen Cursor\",\"Parameterhinweise ausl\\xF6sen\",\"Symbol f\\xFCr die Anzeige des n\\xE4chsten Parameterhinweises.\",\"Symbol f\\xFCr die Anzeige des vorherigen Parameterhinweises.\",\"{0}, Hinweis\",\"Vordergrundfarbe des aktiven Elements im Parameterhinweis.\",\"Gibt an, ob der aktuelle Code-Editor in der Vorschau eingebettet ist.\",\"Schlie\\xDFen\",\"Hintergrundfarbe des Titelbereichs der Peek-Ansicht.\",\"Farbe des Titels in der Peek-Ansicht.\",\"Farbe der Titelinformationen in der Peek-Ansicht.\",\"Farbe der Peek-Ansichtsr\\xE4nder und des Pfeils.\",\"Hintergrundfarbe der Ergebnisliste in der Peek-Ansicht.\",\"Vordergrundfarbe f\\xFCr Zeilenknoten in der Ergebnisliste der Peek-Ansicht.\",\"Vordergrundfarbe f\\xFCr Dateiknoten in der Ergebnisliste der Peek-Ansicht.\",\"Hintergrundfarbe des ausgew\\xE4hlten Eintrags in der Ergebnisliste der Peek-Ansicht.\",\"Vordergrundfarbe des ausgew\\xE4hlten Eintrags in der Ergebnisliste der Peek-Ansicht.\",\"Hintergrundfarbe des Peek-Editors.\",\"Hintergrundfarbe der Leiste im Peek-Editor.\",\"Die Hintergrundfarbe f\\xFCr den \\u201ESticky\\u201C-Bildlaufeffekt im Editor f\\xFCr die \\u201EPeek\\u201C-Ansicht.\",\"Farbe f\\xFCr \\xDCbereinstimmungsmarkierungen in der Ergebnisliste der Peek-Ansicht.\",\"Farbe f\\xFCr \\xDCbereinstimmungsmarkierungen im Peek-Editor.\",\"Rahmen f\\xFCr \\xDCbereinstimmungsmarkierungen im Peek-Editor.\",\"Vordergrundfarbe des Platzhaltertexts im Editor.\",\"\\xD6ffnen Sie zuerst einen Text-Editor, um zu einer Zeile zu wechseln.\",\"Wechseln Sie zu Zeile {0} und Zeichen {1}.\",\"Zu Zeile {0} wechseln.\",\"Aktuelle Zeile: {0}, Zeichen: {1}. Geben Sie eine Zeilennummer zwischen 1 und {2} ein, zu der Sie navigieren m\\xF6chten.\",\"Aktuelle Zeile: {0}, Zeichen: {1}. Geben Sie eine Zeilennummer ein, zu der Sie navigieren m\\xF6chten.\",\"\\xD6ffnen Sie zun\\xE4chst einen Text-Editor mit Symbolinformationen, um zu einem Symbol zu navigieren.\",\"Der aktive Text-Editor stellt keine Symbolinformationen bereit.\",\"Keine \\xFCbereinstimmenden Editorsymbole.\",\"Keine Editorsymbole.\",\"An der Seite \\xF6ffnen\",\"Unten \\xF6ffnen\",\"Symbole ({0})\",\"Eigenschaften ({0})\",\"Methoden ({0})\",\"Funktionen ({0})\",\"Konstruktoren ({0})\",\"Variablen ({0})\",\"Klassen ({0})\",\"Strukturen ({0})\",\"Ereignisse ({0})\",\"Operatoren ({0})\",\"Schnittstellen ({0})\",\"Namespaces ({0})\",\"Pakete ({0})\",\"Typparameter ({0})\",\"Module ({0})\",\"Eigenschaften ({0})\",\"Enumerationen ({0})\",\"Enumerationsmember ({0})\",\"Zeichenfolgen ({0})\",\"Dateien ({0})\",\"Arrays ({0})\",\"Zahlen ({0})\",\"Boolesche Werte ({0})\",\"Objekte ({0})\",\"Schl\\xFCssel ({0})\",\"Felder ({0})\",\"Konstanten ({0})\",\"Bearbeitung von schreibgesch\\xFCtzter Eingabe nicht m\\xF6glich\",\"Ein Bearbeiten ist im schreibgesch\\xFCtzten Editor nicht m\\xF6glich\",\"Kein Ergebnis.\",\"Ein unbekannter Fehler ist beim Aufl\\xF6sen der Umbenennung eines Ortes aufgetreten.\",\"'{0}' wird in '{1}' umbenannt\",\"{0} wird in {1} umbenannt.\",'\"{0}\" erfolgreich in \"{1}\" umbenannt. Zusammenfassung: {2}',\"Die rename-Funktion konnte die \\xC4nderungen nicht anwenden.\",\"Die rename-Funktion konnte die \\xC4nderungen nicht berechnen.\",\"Symbol umbenennen\",\"M\\xF6glichkeit aktivieren/deaktivieren, \\xC4nderungen vor dem Umbenennen als Vorschau anzeigen zu lassen\",\"N\\xE4chsten Umbenennungsvorschlag fokussieren\",\"Vorherigen Umbenennungsvorschlag fokussieren\",\"Gibt an, ob das Widget zum Umbenennen der Eingabe sichtbar ist.\",\"Gibt an, ob das Widget zum Umbenennen der Eingabe fokussiert ist.\",\"{0} zur Umbenennung, {1} zur Vorschau\",\"{0} Vorschl\\xE4ge zum Umbenennen erhalten\",\"Benennen Sie die Eingabe um. Geben Sie einen neuen Namen ein, und dr\\xFCcken Sie die EINGABETASTE, um den Commit auszuf\\xFChren.\",\"Vorschl\\xE4ge f\\xFCr neuen Namen generieren\",\"Abbrechen\",\"Auswahl aufklappen\",\"Auswahl &&erweitern\",\"Markierung verkleinern\",\"Au&&swahl verkleinern\",\"Gibt an, ob der Editor sich zurzeit im Schnipselmodus befindet.\",\"Gibt an, ob ein n\\xE4chster Tabstopp im Schnipselmodus vorhanden ist.\",\"Gibt an, ob ein vorheriger Tabstopp im Schnipselmodus vorhanden ist.\",\"Zum n\\xE4chsten Platzhalter wechseln...\",\"Sonntag\",\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"So\",\"Mo\",\"Di\",\"Mi\",\"Do\",\"Fr\",\"Sa\",\"Januar\",\"Februar\",\"M\\xE4rz\",\"April\",\"Mai\",\"Juni\",\"Juli\",\"August\",\"September\",\"Oktober\",\"November\",\"Dezember\",\"Jan\",\"Feb\",\"M\\xE4r\",\"Apr\",\"Mai\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Okt\",\"Nov\",\"Dez\",\"Fixierten Bildlauf des Editors &&umschalten\",\"Fixierter Bildlauf\",\"&&Fixierter Bildlauf\",\"&&Fokus fixierter Bildlauf\",\"Fixierten Bildlauf f\\xFCr Editor umschalten\",\"Fixierten Bildlauf des Editors umschalten/aktivieren, der die geschachtelten Bereiche am oberen Rand des Viewports anzeigt\",\"Auf fixierten Bildlauf des Editors fokussieren\",\"N\\xE4chste fixierte Bildlaufzeile des Editors ausw\\xE4hlen\",\"Vorherige fixierte Bildlaufzeile ausw\\xE4hlen\",\"Zur fokussierten fixierten Bildlaufzeile wechseln\",\"Editor ausw\\xE4hlen\",\"Gibt an, ob ein Vorschlag fokussiert ist\",\"Gibt an, ob Vorschlagsdetails sichtbar sind.\",\"Gibt an, ob mehrere Vorschl\\xE4ge zur Auswahl stehen.\",\"Gibt an, ob das Einf\\xFCgen des aktuellen Vorschlags zu einer \\xC4nderung f\\xFChrt oder ob bereits alles eingegeben wurde.\",\"Gibt an, ob Vorschl\\xE4ge durch Dr\\xFCcken der EINGABETASTE eingef\\xFCgt werden.\",\"Gibt an, ob der aktuelle Vorschlag Verhalten zum Einf\\xFCgen und Ersetzen aufweist.\",\"Gibt an, ob Einf\\xFCgen oder Ersetzen als Standardverhalten verwendet wird.\",\"Gibt an, ob der aktuelle Vorschlag die Aufl\\xF6sung weiterer Details unterst\\xFCtzt.\",'Das Akzeptieren von \"{0}\" ergab {1} zus\\xE4tzliche Bearbeitungen.',\"Vorschlag ausl\\xF6sen\",\"Einf\\xFCgen\",\"Einf\\xFCgen\",\"Ersetzen\",\"Ersetzen\",\"Einf\\xFCgen\",\"Weniger anzeigen\",\"Mehr anzeigen\",\"Gr\\xF6\\xDFe des Vorschlagswidgets zur\\xFCcksetzen\",\"Hintergrundfarbe des Vorschlagswidgets.\",\"Rahmenfarbe des Vorschlagswidgets.\",\"Vordergrundfarbe des Vorschlagswidgets.\",\"Die Vordergrundfarbe des ausgew\\xE4hlten Eintrags im Vorschlagswidget.\",\"Die Vordergrundfarbe des Symbols des ausgew\\xE4hlten Eintrags im Vorschlagswidget.\",\"Hintergrundfarbe des ausgew\\xE4hlten Eintrags im Vorschlagswidget.\",\"Farbe der Trefferhervorhebung im Vorschlagswidget.\",\"Die Farbe des Treffers wird im Vorschlagswidget hervorgehoben, wenn ein Element fokussiert wird.\",\"Vordergrundfarbe des Status des Vorschlagswidgets.\",\"Wird geladen...\",\"Keine Vorschl\\xE4ge.\",\"Vorschlagen\",\"{0} {1}, {2}\",\"{0} {1}\",\"{0}, {1}\",\"{0}, Dokumente: {1}\",\"Schlie\\xDFen\",\"Wird geladen...\",\"Symbol f\\xFCr weitere Informationen im Vorschlags-Widget.\",\"Weitere Informationen\",\"Die Vordergrundfarbe f\\xFCr Arraysymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr boolesche Symbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Klassensymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Farbsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr konstante Symbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Konstruktorsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Enumeratorsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Enumeratormembersymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Ereignissymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Feldsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Dateisymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Ordnersymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Funktionssymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Schnittstellensymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Schl\\xFCsselsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Schl\\xFCsselwortsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Methodensymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Modulsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Namespacesymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr NULL-Symbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Zahlensymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Objektsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Operatorsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Paketsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Eigenschaftensymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Referenzsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Codeschnipselsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Zeichenfolgensymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Struktursymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Textsymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Typparametersymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr Einheitensymbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Die Vordergrundfarbe f\\xFCr variable Symbole. Diese Symbole werden in den Widgets f\\xFCr Gliederung, Breadcrumbs und Vorschl\\xE4ge angezeigt.\",\"Beim Dr\\xFCcken auf Tab wird der Fokus jetzt auf das n\\xE4chste fokussierbare Element verschoben\",\"Beim Dr\\xFCcken von Tab wird jetzt das Tabulator-Zeichen eingef\\xFCgt\",\"TAB-Umschalttaste verschiebt Fokus\",\"Bestimmt, ob die Tabulatortaste den Fokus um die Workbench verschiebt oder das Tabulatorzeichen im aktuellen Editor einf\\xFCgt. Dies wird auch als Tabstopp, Tabulatornavigation oder Tabulatorfokusmodus bezeichnet.\",\"Entwickler: Force Retokenize\",\"Symbol, das mit einer Warnmeldung im Erweiterungs-Editor angezeigt wird.\",\"Dieses Dokument enth\\xE4lt viele nicht einfache ASCII-Unicode-Zeichen.\",\"Dieses Dokument enth\\xE4lt viele mehrdeutige Unicode-Zeichen.\",\"Dieses Dokument enth\\xE4lt viele unsichtbare Unicode-Zeichen.\",\"Konfigurieren der Optionen f\\xFCr die Unicode-Hervorhebung\",\"Das Zeichen {0} kann mit dem Zeichen {1} verwechselt werden, was im Quellcode h\\xE4ufiger vorkommt.\",\"Das Zeichen {0} kann mit dem Zeichen {1} verwechselt werden, was im Quellcode h\\xE4ufiger vorkommt.\",\"Das Zeichen {0} ist nicht sichtbar.\",\"Das Zeichen {0} ist kein einfaches ASCII-Zeichen.\",\"Einstellungen anpassen\",\"Hervorhebung in Kommentaren deaktivieren\",\"Deaktivieren der Hervorhebung von Zeichen in Kommentaren\",\"Hervorhebung in Zeichenfolgen deaktivieren\",\"Deaktivieren der Hervorhebung von Zeichen in Zeichenfolgen\",\"Mehrdeutige Hervorhebung deaktivieren\",\"Deaktivieren der Hervorhebung von mehrdeutigen Zeichen\",\"Unsichtbare Hervorhebung deaktivieren\",\"Deaktivieren der Hervorhebung unsichtbarer Zeichen\",\"Nicht-ASCII-Hervorhebung deaktivieren\",\"Deaktivieren der Hervorhebung von nicht einfachen ASCII-Zeichen\",\"Ausschlussoptionen anzeigen\",\"{0} (unsichtbares Zeichen) von der Hervorhebung ausschlie\\xDFen\",\"{0} nicht hervorheben\",\"Unicodezeichen zulassen, die in der Sprache \\u201E{0}\\u201C h\\xE4ufiger vorkommen.\",\"Ungew\\xF6hnliche Zeilentrennzeichen\",\"Ungew\\xF6hnliche Zeilentrennzeichen erkannt\",`Die Datei \"{0}\" enth\\xE4lt mindestens ein ungew\\xF6hnliches Zeilenabschlusszeichen, z. B. Zeilentrennzeichen (LS) oder Absatztrennzeichen (PS).\\r\n\\r\nEs wird empfohlen, sie aus der Datei zu entfernen. Dies kann \\xFCber \"editor.unusualLineTerminators\" konfiguriert werden.`,\"&&Ungew\\xF6hnliche Zeilenabschlusszeichen entfernen\",\"Ignorieren\",\"Hintergrundfarbe eines Symbols beim Lesezugriff, z.B. beim Lesen einer Variablen. Die Farbe darf nicht deckend sein, damit sie nicht die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrundfarbe eines Symbols bei Schreibzugriff, z.B. beim Schreiben in eine Variable. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Die Hintergrundfarbe eines Textteils f\\xFCr ein Symbol. Die Farbe darf nicht deckend sein, um zugrunde liegende Dekorationen nicht auszublenden.\",\"Randfarbe eines Symbols beim Lesezugriff, wie etwa beim Lesen einer Variablen.\",\"Randfarbe eines Symbols beim Schreibzugriff, wie etwa beim Schreiben einer Variablen.\",\"Die Rahmenfarbe eines Textteils f\\xFCr ein Symbol.\",\"\\xDCbersichtslinealmarkerfarbd f\\xFCr das Hervorheben von Symbolen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"\\xDCbersichtslinealmarkerfarbe f\\xFCr Symbolhervorhebungen bei Schreibzugriff. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Die Markierungsfarbe des \\xDCbersichtslineals eines Textteils f\\xFCr ein Symbol. Die Farbe darf nicht deckend sein, um zugrunde liegende Dekorationen nicht auszublenden.\",\"Gehe zur n\\xE4chsten Symbolhervorhebungen\",\"Gehe zur vorherigen Symbolhervorhebungen\",\"Symbol-Hervorhebung ein-/ausschalten\",\"Wort l\\xF6schen\",\"Fehler an Position\",\"Fehler\",\"Warnung an Position\",\"Warnung\",\"Fehler in der Zeile\",\"Fehler in Zeile\",\"Warnung in der Zeile\",\"Warnung in Zeile\",\"Gefalteter Bereich in der Zeile\",\"Gefaltet\",\"Haltepunkt in der Zeile\",\"Haltepunkt\",\"Inlinevorschlag in der Zeile\",\"Terminale schnelle Problembehebung\",\"Schnelle Problembehebung\",\"Debugger auf Haltepunkt beendet\",\"Haltepunkt\",\"Keine Inlay-Hinweise in der Zeile\",\"Keine Inlay-Hinweise\",\"Aufgabe abgeschlossen\",\"Aufgabe abgeschlossen\",\"Aufgabe fehlgeschlagen\",\"Fehler bei Aufgabe\",\"Terminalbefehl fehlgeschlagen\",\"Befehl fehlgeschlagen\",\"Terminalbefehl erfolgreich\",\"Befehl erfolgreich\",\"Terminalglocke\",\"Terminalglocke\",\"Notebookzelle abgeschlossen\",\"Notebookzelle abgeschlossen\",\"Notebookzelle fehlgeschlagen\",\"Notebookzelle fehlgeschlagen\",\"Vergleichslinie eingef\\xFCgt\",\"Vergleichslinie gel\\xF6scht\",\"Vergleichslinie ge\\xE4ndert\",\"Chatanfrage gesendet\",\"Chatanfrage gesendet\",\"Chatantwort empfangen\",\"Status\",\"Status\",\"L\\xF6schen\",\"L\\xF6schen\",\"Speichern\",\"Speichern\",\"Format\",\"Formatieren\",\"Sprachaufzeichnung gestartet\",\"Sprachaufzeichnung beendet\",\"Ansehen\",\"Hilfe\",\"Test\",\"Datei\",\"Einstellungen\",\"Entwickler\",\"{0} ({1})\",\"{0} ({1})\",`{0}\\r\n[{1}] {2}`,\"{1} bis {0}\",\"{0} ({1})\",\"Ausblenden\",\"Men\\xFC zur\\xFCcksetzen\",'\"{0}\" ausblenden',\"Tastenzuordnung konfigurieren\",\"{0} zum Anwenden, {1} f\\xFCr Vorschau\",\"{0} zum Anwenden\",\"{0} deaktiviert, Grund: {1}\",\"Aktionswidget\",\"Hintergrundfarbe f\\xFCr umgeschaltete Aktionselemente in der Aktionsleiste.\",\"Gibt an, ob die Aktionswidgetliste sichtbar ist.\",\"Codeaktionswidget ausblenden\",\"Vorherige Aktion ausw\\xE4hlen\",\"N\\xE4chste Aktion ausw\\xE4hlen\",\"Ausgew\\xE4hlte Aktion akzeptieren\",\"Vorschau f\\xFCr ausgew\\xE4hlte Elemente anzeigen\",\"Au\\xDFerkraftsetzungen f\\xFCr die Standardsprachkonfiguration\",\"Konfigurieren Sie Einstellungen, die f\\xFCr die Sprache {0} \\xFCberschrieben werden sollen.\",\"Zu \\xFCberschreibende Editor-Einstellungen f\\xFCr eine Sprache konfigurieren.\",\"Diese Einstellung unterst\\xFCtzt keine sprachspezifische Konfiguration.\",\"Zu \\xFCberschreibende Editor-Einstellungen f\\xFCr eine Sprache konfigurieren.\",\"Diese Einstellung unterst\\xFCtzt keine sprachspezifische Konfiguration.\",\"Eine leere Eigenschaft kann nicht registriert werden.\",'\"{0}\" kann nicht registriert werden. Stimmt mit dem Eigenschaftsmuster \"\\\\\\\\[.*\\\\\\\\]$\" zum Beschreiben sprachspezifischer Editor-Einstellungen \\xFCberein. Verwenden Sie den Beitrag \"configurationDefaults\".','{0}\" kann nicht registriert werden. Diese Eigenschaft ist bereits registriert.','\"{0}\" kann nicht registriert werden. Die zugeordnete Richtlinie {1} ist bereits bei {2} registriert.',\"Ein Befehl, der Informationen zu Kontextschl\\xFCsseln zur\\xFCckgibt\",\"Leerer Kontextschl\\xFCsselausdruck\",\"Haben Sie vergessen, einen Ausdruck zu schreiben? Sie k\\xF6nnen auch \\u201Efalse\\u201C oder \\u201Etrue\\u201C festlegen, um immer auf \\u201Efalse\\u201C oder \\u201Etrue\\u201C auszuwerten.\",\"\\u201Ein\\u201C nach \\u201Enot\\u201C.\",\"schlie\\xDFende Klammer \\u201E)\\u201C\",\"Unerwartetes Token\",\"Haben Sie vergessen, && oder || vor dem Token einzuf\\xFCgen?\",\"Unerwartetes Ende des Ausdrucks.\",\"Haben Sie vergessen, einen Kontextschl\\xFCssel zu setzen?\",`Erwartet: {0}\\r\nEmpfangen: \\u201E{1}\\u201C.`,\"Gibt an, ob macOS als Betriebssystem verwendet wird.\",\"Gibt an, ob Linux als Betriebssystem verwendet wird.\",\"Gibt an, ob Windows als Betriebssystem verwendet wird.\",\"Gibt an, ob es sich bei der Plattform um einen Webbrowser handelt.\",\"Gibt an, ob macOS auf einer Nicht-Browser-Plattform als Betriebssystem verwendet wird.\",\"Gibt an, ob iOS als Betriebssystem verwendet wird.\",\"Gibt an, ob es sich bei der Plattform um einen mobilen Webbrowser handelt.\",\"Qualit\\xE4tstyp des VS Codes\",\"Gibt an, ob sich der Tastaturfokus in einem Eingabefeld befindet.\",\"Meinten Sie {0}?\",\"Meinten Sie {0} oder {1}?\",\"Meinten Sie {0}, {1} oder {2}?\",\"Haben Sie vergessen, das Anf\\xFChrungszeichen zu \\xF6ffnen oder zu schlie\\xDFen?\",\"Haben Sie vergessen, das Zeichen \\u201E/\\u201C (Schr\\xE4gstrich) zu escapen? Setzen Sie zwei Backslashes davor, um es zu escapen, z. B. \\u201E\\\\\\\\/\\u201C.\",\"Gibt an, ob Vorschl\\xE4ge sichtbar sind.\",\"({0}) wurde gedr\\xFCckt. Es wird auf die zweite Taste in der Kombination gewartet...\",\"({0}) wurde gedr\\xFCckt. Es wird auf die zweite Taste in der Kombination gewartet...\",\"Die Tastenkombination ({0}, {1}) ist kein Befehl.\",\"Die Tastenkombination ({0}, {1}) ist kein Befehl.\",\"Workbench\",\"Ist unter Windows und Linux der STRG-Taste und unter macOS der Befehlstaste zugeordnet.\",\"Ist unter Windows und Linux der ALT-Taste und unter macOS der Wahltaste zugeordnet.\",'Der Modifizierer zum Hinzuf\\xFCgen eines Elements in B\\xE4umen und Listen zu einer Mehrfachauswahl mit der Maus (zum Beispiel im Explorer, in ge\\xF6ffneten Editoren und in der SCM-Ansicht). Die Mausbewegung \"Seitlich \\xF6ffnen\" wird \\u2013 sofern unterst\\xFCtzt \\u2013 so angepasst, dass kein Konflikt mit dem Modifizierer f\\xFCr Mehrfachauswahl entsteht.',\"Steuert, wie Elemente in Strukturen und Listen mithilfe der Maus ge\\xF6ffnet werden (sofern unterst\\xFCtzt). Bei \\xFCbergeordneten Elementen, deren untergeordnete Elemente sich in Strukturen befinden, steuert diese Einstellung, ob ein Einfachklick oder ein Doppelklick das \\xFCbergeordnete Elemente erweitert. Beachten Sie, dass einige Strukturen und Listen diese Einstellung ggf. ignorieren, wenn sie nicht zutrifft.\",\"Steuert, ob Listen und Strukturen ein horizontales Scrollen in der Workbench unterst\\xFCtzen. Warnung: Das Aktivieren dieser Einstellung kann sich auf die Leistung auswirken.\",\"Steuert, ob Klicks in der Bildlaufleiste Seite f\\xFCr Seite scrollen.\",\"Steuert den Struktureinzug in Pixeln.\",\"Steuert, ob die Struktur Einzugsf\\xFChrungslinien rendern soll.\",\"Steuert, ob Listen und Strukturen einen optimierten Bildlauf verwenden.\",'Ein Multiplikator, der f\\xFCr die Mausrad-Bildlaufereignisse \"deltaX\" und \"deltaY\" verwendet werden soll.',\"Multiplikator f\\xFCr Scrollgeschwindigkeit bei Dr\\xFCcken von ALT.\",\"Elemente beim Suchen hervorheben. Die Navigation nach oben und unten durchl\\xE4uft dann nur die markierten Elemente.\",\"Filterelemente bei der Suche.\",\"Steuert den Standardsuchmodus f\\xFCr Listen und Strukturen in der Workbench.\",\"Bei der einfachen Tastaturnavigation werden Elemente in den Fokus genommen, die mit der Tastatureingabe \\xFCbereinstimmen. Die \\xDCbereinstimmungen gelten nur f\\xFCr Pr\\xE4fixe.\",\"Hervorheben von Tastaturnavigationshervorgebungselemente, die mit der Tastatureingabe \\xFCbereinstimmen. Beim nach oben und nach unten Navigieren werden nur die hervorgehobenen Elemente durchlaufen.\",\"Durch das Filtern der Tastaturnavigation werden alle Elemente herausgefiltert und ausgeblendet, die nicht mit der Tastatureingabe \\xFCbereinstimmen.\",'Steuert die Tastaturnavigation in Listen und Strukturen in der Workbench. Kann \"simple\" (einfach), \"highlight\" (hervorheben) und \"filter\" (filtern) sein.',\"Bitte verwenden Sie stattdessen \\u201Eworkbench.list.defaultFindMode\\u201C und \\u201Eworkbench.list.typeNavigationMode\\u201C.\",\"Verwenden Sie bei der Suche eine Fuzzy\\xFCbereinstimmung.\",\"Verwenden Sie bei der Suche eine zusammenh\\xE4ngende \\xDCbereinstimmung.\",\"Steuert den Typ der \\xDCbereinstimmung, der beim Durchsuchen von Listen und Strukturen in der Workbench verwendet wird.\",\"Steuert, wie Strukturordner beim Klicken auf die Ordnernamen erweitert werden. Beachten Sie, dass einige Strukturen und Listen diese Einstellung ggf. ignorieren, wenn sie nicht zutrifft.\",\"Steuert, ob fester Bildlauf in Strukturen aktiviert ist.\",\"Steuert die Anzahl der festen Elemente, die in der Struktur angezeigt werden, wenn {0} aktiviert ist.\",'Steuert die Funktionsweise der Typnavigation in Listen und Strukturen in der Workbench. Bei einer Festlegung auf \"trigger\" beginnt die Typnavigation, sobald der Befehl \"list.triggerTypeNavigation\" ausgef\\xFChrt wird.',\"Fehler\",\"Warnung\",\"Info\",\"zuletzt verwendet\",\"\\xE4hnliche Befehle\",\"h\\xE4ufig verwendet\",\"andere Befehle\",\"\\xE4hnliche Befehle\",\"{0}, {1}\",'Der Befehl \"{0}\" hat zu einem Fehler gef\\xFChrt.',\"{0}, {1}\",\"Gibt an, ob sich der Tastaturfokus innerhalb des Steuerelements f\\xFCr die Schnelleingabe befindet.\",\"Der Typ der aktuell sichtbaren Schnelleingabe\",\"Gibt an, ob sich der Cursor in der Schnelleingabe am Ende des Eingabefelds befindet.\",\"Zur\\xFCck\",\"Dr\\xFCcken Sie die EINGABETASTE, um Ihre Eingabe zu best\\xE4tigen, oder ESC, um den Vorgang abzubrechen.\",\"{0}/{1}\",\"Nehmen Sie eine Eingabe vor, um die Ergebnisse einzugrenzen.\",\"Wird im Kontext der Schnellauswahl verwendet. Wenn Sie eine Tastenzuordnung f\\xFCr diesen Befehl \\xE4ndern, sollten Sie auch alle anderen Tastenzuordnungen (Modifizierervarianten) dieses Befehls \\xE4ndern.\",\"Wenn wir uns im Schnellzugriffsmodus befinden, wird zum n\\xE4chsten Element navigiert. Wenn wir uns nicht im Schnellzugriffsmodus befinden, wird zum n\\xE4chsten Trennzeichen navigiert.\",\"Wenn wir uns im Schnellzugriffsmodus befinden, wird zum vorherigen Element navigiert. Wenn wir uns nicht im Schnellzugriffsmodus befinden, wird zum vorherigen Trennzeichen navigiert.\",\"Aktivieren Sie alle Kontrollk\\xE4stchen\",\"{0} Ergebnisse\",\"{0} ausgew\\xE4hlt\",\"OK\",\"Benutzerdefiniert\",\"Zur\\xFCck ({0})\",\"Zur\\xFCck\",\"Schnelleingabe\",'Klicken, um den Befehl \"{0}\" auszuf\\xFChren',\"Allgemeine Vordergrundfarbe. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente \\xFCberschrieben wird.\",\"Allgemeine Vordergrundfarbe. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente \\xFCberschrieben wird.\",\"Allgemeine Vordergrundfarbe f\\xFCr Fehlermeldungen. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente \\xFCberschrieben wird.\",\"Vordergrundfarbe f\\xFCr Beschreibungstexte, die weitere Informationen anzeigen, z.B. f\\xFCr eine Beschriftung.\",\"Die f\\xFCr Symbole in der Workbench verwendete Standardfarbe.\",\"Allgemeine Rahmenfarbe f\\xFCr fokussierte Elemente. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente \\xFCberschrieben wird.\",\"Ein zus\\xE4tzlicher Rahmen um Elemente, mit dem diese von anderen getrennt werden, um einen gr\\xF6\\xDFeren Kontrast zu erreichen.\",\"Ein zus\\xE4tzlicher Rahmen um aktive Elemente, mit dem diese von anderen getrennt werden, um einen gr\\xF6\\xDFeren Kontrast zu erreichen.\",\"Hintergrundfarbe der Textauswahl in der Workbench (z.B. f\\xFCr Eingabefelder oder Textbereiche). Diese Farbe gilt nicht f\\xFCr die Auswahl im Editor.\",\"Vordergrundfarbe f\\xFCr Links im Text.\",\"Vordergrundfarbe f\\xFCr angeklickte Links im Text und beim Zeigen darauf mit der Maus.\",\"Farbe f\\xFCr Text-Trennzeichen.\",\"Vordergrundfarbe f\\xFCr vorformatierte Textsegmente.\",\"Hintergrundfarbe f\\xFCr vorformatierte Textsegmente.\",\"Hintergrundfarbe f\\xFCr Blockzitate im Text.\",\"Rahmenfarbe f\\xFCr blockquote-Elemente im Text.\",\"Hintergrundfarbe f\\xFCr Codebl\\xF6cke im Text.\",\"Die in Diagrammen verwendete Vordergrundfarbe.\",\"Die f\\xFCr horizontale Linien in Diagrammen verwendete Farbe.\",\"Die in Diagrammvisualisierungen verwendete Farbe Rot.\",\"Die in Diagrammvisualisierungen verwendete Farbe Blau.\",\"Die in Diagrammvisualisierungen verwendete Farbe Gelb.\",\"Die in Diagrammvisualisierungen verwendete Farbe Orange.\",\"Die in Diagrammvisualisierungen verwendete Farbe Gr\\xFCn.\",\"Die in Diagrammvisualisierungen verwendete Farbe Violett.\",\"Hintergrundfarbe des Editors.\",\"Standardvordergrundfarbe des Editors.\",\"Hintergrundfarbe des fixierten Bildlaufs im Editor\",\"Hintergrundfarbe des fixierten Bildlaufs beim Daraufzeigen im Editor\",\"Rahmenfarbe des fixierten Bildlaufs im Editor\",\" Schattenfarbe des fixierten Bildlaufs im Editor\",\"Hintergrundfarbe von Editor-Widgets wie zum Beispiel Suchen/Ersetzen.\",\"Vordergrundfarbe f\\xFCr Editorwidgets wie Suchen/Ersetzen.\",\"Rahmenfarbe von Editorwigdets. Die Farbe wird nur verwendet, wenn f\\xFCr das Widget ein Rahmen verwendet wird und die Farbe nicht von einem Widget \\xFCberschrieben wird.\",\"Rahmenfarbe der Gr\\xF6\\xDFenanpassungsleiste von Editorwigdets. Die Farbe wird nur verwendet, wenn f\\xFCr das Widget ein Gr\\xF6\\xDFenanpassungsrahmen verwendet wird und die Farbe nicht von einem Widget au\\xDFer Kraft gesetzt wird.\",\"Hintergrundfarbe f\\xFCr Fehlertext im Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Vordergrundfarbe von Fehlerunterstreichungen im Editor.\",\"Wenn festgelegt, wird die Farbe doppelter Unterstreichungen f\\xFCr Fehler im Editor angezeigt.\",\"Hintergrundfarbe f\\xFCr Warnungstext im Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Vordergrundfarbe von Warnungsunterstreichungen im Editor.\",\"Wenn festgelegt, wird die Farbe doppelter Unterstreichungen f\\xFCr Warnungen im Editor angezeigt.\",\"Hintergrundfarbe f\\xFCr Infotext im Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Vordergrundfarbe von Informationsunterstreichungen im Editor.\",\"Wenn festgelegt, wird die Farbe doppelter Unterstreichungen f\\xFCr Infos im Editor angezeigt.\",\"Vordergrundfarbe der Hinweisunterstreichungen im Editor.\",\"Wenn festgelegt, wird die Farbe doppelter Unterstreichungen f\\xFCr Hinweise im Editor angezeigt.\",\"Farbe der aktiven Links.\",\"Farbe der Editor-Auswahl.\",\"Farbe des gew\\xE4hlten Text f\\xFCr einen hohen Kontrast\",\"Die Farbe der Auswahl befindet sich in einem inaktiven Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegende Dekorationen verdeckt.\",\"Farbe f\\xFCr Bereiche mit dem gleichen Inhalt wie die Auswahl. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Randfarbe f\\xFCr Bereiche, deren Inhalt der Auswahl entspricht.\",\"Farbe des aktuellen Suchergebnisses.\",\"Textfarbe der aktuellen Such\\xFCbereinstimmung.\",\"Farbe der anderen Suchergebnisse. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Vordergrundfarbe der anderen Such\\xFCbereinstimmungen.\",\"Farbe des Bereichs, der die Suche eingrenzt. Die Farbe darf nicht deckend sein, damit sie nicht die zugrunde liegenden Dekorationen verdeckt.\",\"Randfarbe des aktuellen Suchergebnisses.\",\"Randfarbe der anderen Suchtreffer.\",\"Rahmenfarbe des Bereichs, der die Suche eingrenzt. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hervorhebung unterhalb des Worts, f\\xFCr das ein Hoverelement angezeigt wird. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrundfarbe des Editor-Mauszeigers.\",\"Vordergrundfarbe des Editor-Mauszeigers\",\"Rahmenfarbe des Editor-Mauszeigers.\",\"Hintergrundfarbe der Hoverstatusleiste des Editors.\",\"Vordergrundfarbe f\\xFCr Inlinehinweise\",\"Hintergrundfarbe f\\xFCr Inlinehinweise\",\"Vordergrundfarbe von Inlinehinweisen f\\xFCr Typen\",\"Hintergrundfarbe von Inlinehinweisen f\\xFCr Typen\",\"Vordergrundfarbe von Inlinehinweisen f\\xFCr Parameter\",\"Hintergrundfarbe von Inlinehinweisen f\\xFCr Parameter\",'Die f\\xFCr das Aktionssymbol \"Gl\\xFChbirne\" verwendete Farbe.','Die f\\xFCr das Aktionssymbol \"Automatische Gl\\xFChbirnenkorrektur\" verwendete Farbe.',\"Die Farbe, die f\\xFCr das KI-Symbol der Gl\\xFChbirne verwendet wird.\",\"Hervorhebungs-Hintergrundfarbe eines Codeschnipsel-Tabstopps.\",\"Hervorhebungs-Rahmenfarbe eines Codeschnipsel-Tabstopps.\",\"Hervorhebungs-Hintergrundfarbe des letzten Tabstopps eines Codeschnipsels.\",\"Rahmenfarbe zur Hervorhebung des letzten Tabstopps eines Codeschnipsels.\",\"Hintergrundfarbe f\\xFCr eingef\\xFCgten Text. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrundfarbe f\\xFCr Text, der entfernt wurde. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrundfarbe f\\xFCr eingef\\xFCgte Zeilen. Die Farbe darf nicht deckend sein, um zugrunde liegende Dekorationen nicht auszublenden.\",\"Hintergrundfarbe f\\xFCr Zeilen, die entfernt wurden. Die Farbe darf nicht deckend sein, um zugrunde liegende Dekorationen nicht auszublenden.\",\"Hintergrundfarbe f\\xFCr den Rand, an dem Zeilen eingef\\xFCgt wurden.\",\"Hintergrundfarbe f\\xFCr den Rand, an dem die Zeilen entfernt wurden.\",\"Vordergrund des Diff-\\xDCbersichtslineals f\\xFCr eingef\\xFCgten Inhalt.\",\"Vordergrund des Diff-\\xDCbersichtslineals f\\xFCr entfernten Inhalt.\",\"Konturfarbe f\\xFCr eingef\\xFCgten Text.\",\"Konturfarbe f\\xFCr entfernten Text.\",\"Die Rahmenfarbe zwischen zwei Text-Editoren.\",\"Farbe der diagonalen F\\xFCllung des Vergleichs-Editors. Die diagonale F\\xFCllung wird in Ansichten mit parallelem Vergleich verwendet.\",\"Die Hintergrundfarbe von unver\\xE4nderten Bl\\xF6cken im Diff-Editor.\",\"Die Vordergrundfarbe von unver\\xE4nderten Bl\\xF6cken im Diff-Editor.\",\"Die Hintergrundfarbe des unver\\xE4nderten Codes im Diff-Editor.\",\"Schattenfarbe von Widgets wie zum Beispiel Suchen/Ersetzen innerhalb des Editors.\",\"Die Rahmenfarbe von Widgets, z.\\xA0B. Suchen/Ersetzen im Editor.\",\"Symbolleistenhintergrund beim Bewegen der Maus \\xFCber Aktionen\",\"Symbolleistengliederung beim Bewegen der Maus \\xFCber Aktionen\",\"Symbolleistenhintergrund beim Halten der Maus \\xFCber Aktionen\",\"Farbe der Breadcrumb-Elemente, die den Fokus haben.\",\"Hintergrundfarbe der Breadcrumb-Elemente.\",\"Farbe der Breadcrumb-Elemente, die den Fokus haben.\",\"Die Farbe der ausgew\\xE4hlten Breadcrumb-Elemente.\",\"Hintergrundfarbe des Breadcrumb-Auswahltools.\",\"Hintergrund des aktuellen Headers in Inlinezusammenf\\xFChrungskonflikten. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrund f\\xFCr den aktuellen Inhalt in Inlinezusammenf\\xFChrungskonflikten. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrund f\\xFCr eingehende Header in Inlinezusammenf\\xFChrungskonflikten. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrund f\\xFCr eingehenden Inhalt in Inlinezusammenf\\xFChrungskonflikten. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Headerhintergrund f\\xFCr gemeinsame Vorg\\xE4ngerelemente in Inlinezusammenf\\xFChrungskonflikten. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Hintergrund des Inhalts gemeinsamer Vorg\\xE4ngerelemente in Inlinezusammenf\\xFChrungskonflikt. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Rahmenfarbe f\\xFCr Kopfzeilen und die Aufteilung in Inline-Mergingkonflikten.\",\"Aktueller \\xDCbersichtslineal-Vordergrund f\\xFCr Inline-Mergingkonflikte.\",\"Eingehender \\xDCbersichtslineal-Vordergrund f\\xFCr Inline-Mergingkonflikte.\",\"Hintergrund des \\xDCbersichtslineals des gemeinsamen \\xFCbergeordneten Elements bei Inlinezusammenf\\xFChrungskonflikten.\",\"\\xDCbersichtslinealmarkerfarbe f\\xFCr das Suchen von \\xDCbereinstimmungen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"\\xDCbersichtslinealmarkerfarbe f\\xFCr das Hervorheben der Auswahl. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.\",\"Die Farbe, die f\\xFCr das Problemfehlersymbol verwendet wird.\",\"Die Farbe, die f\\xFCr das Problemwarnsymbol verwendet wird.\",\"Die Farbe, die f\\xFCr das Probleminfosymbol verwendet wird.\",\"Hintergrund f\\xFCr Eingabefeld.\",\"Vordergrund f\\xFCr Eingabefeld.\",\"Rahmen f\\xFCr Eingabefeld.\",\"Rahmenfarbe f\\xFCr aktivierte Optionen in Eingabefeldern.\",\"Hintergrundfarbe f\\xFCr aktivierte Optionen in Eingabefeldern.\",\"Hintergrundfarbe beim Daraufzeigen f\\xFCr Optionen in Eingabefeldern.\",\"Vordergrundfarbe f\\xFCr aktivierte Optionen in Eingabefeldern.\",\"Eingabefeld-Vordergrundfarbe f\\xFCr Platzhaltertext.\",\"Hintergrundfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad der Information.\",\"Vordergrundfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad der Information.\",\"Rahmenfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad der Information.\",\"Hintergrundfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad der Warnung.\",\"Vordergrundfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad der Warnung.\",\"Rahmenfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad der Warnung.\",\"Hintergrundfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad des Fehlers.\",\"Vordergrundfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad des Fehlers.\",\"Rahmenfarbe bei der Eingabevalidierung f\\xFCr den Schweregrad des Fehlers.\",\"Hintergrund f\\xFCr Dropdown.\",\"Hintergrund f\\xFCr Dropdownliste.\",\"Vordergrund f\\xFCr Dropdown.\",\"Rahmen f\\xFCr Dropdown.\",\"Vordergrundfarbe der Schaltfl\\xE4che.\",\"Farbe des Schaltfl\\xE4chentrennzeichens.\",\"Hintergrundfarbe der Schaltfl\\xE4che.\",\"Hintergrundfarbe der Schaltfl\\xE4che, wenn darauf gezeigt wird.\",\"Rahmenfarbe der Schaltfl\\xE4che.\",\"Sekund\\xE4re Vordergrundfarbe der Schaltfl\\xE4che.\",\"Hintergrundfarbe der sekund\\xE4ren Schaltfl\\xE4che.\",\"Hintergrundfarbe der sekund\\xE4ren Schaltfl\\xE4che beim Daraufzeigen.\",'Vordergrundfarbe f\\xFCr \"aktive Radiooption\"','Hintergrundfarbe f\\xFCr \"aktive Radiooption\"',\"Rahmenfarbe der aktiven Radiooption\",\"Vordergrundfarbe f\\xFCr \\u201Einaktive Radiooption\\u201C\",\"Hintergrundfarbe f\\xFCr \\u201Einaktive Radiooption\\u201C\",\"Rahmenfarbe der inaktiven Radiooption\",\"Hintergrundfarbe der inaktiven aktiven Radiooption, wenn darauf gezeigt wird.\",\"Hintergrundfarbe von Kontrollk\\xE4stchenwidget.\",\"Hintergrundfarbe des Kontrollk\\xE4stchenwidgets, wenn das Element ausgew\\xE4hlt ist, in dem es sich befindet.\",\"Vordergrundfarbe von Kontrollk\\xE4stchenwidget.\",\"Rahmenfarbe von Kontrollk\\xE4stchenwidget.\",\"Rahmenfarbe des Kontrollk\\xE4stchenwidgets, wenn das Element ausgew\\xE4hlt ist, in dem es sich befindet.\",\"Die Hintergrundfarbe der Tastenbindungsbeschriftung. Die Tastenbindungsbeschriftung wird verwendet, um eine Tastenkombination darzustellen.\",\"Die Vordergrundfarbe der Tastenbindungsbeschriftung. Die Tastenbindungsbeschriftung wird verwendet, um eine Tastenkombination darzustellen.\",\"Die Rahmenfarbe der Tastenbindungsbeschriftung. Die Tastenbindungsbeschriftung wird verwendet, um eine Tastenkombination darzustellen.\",\"Die Rahmenfarbe der Schaltfl\\xE4che der Tastenbindungsbeschriftung. Die Tastenbindungsbeschriftung wird verwendet, um eine Tastenkombination darzustellen.\",\"Hintergrundfarbe der Liste/Struktur f\\xFCr das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Vordergrundfarbe der Liste/Struktur f\\xFCr das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Konturfarbe der Liste/Struktur f\\xFCr das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Umrissfarbe der Liste/des Baums f\\xFCr das fokussierte Element, wenn die Liste/der Baum aktiv und ausgew\\xE4hlt ist. Eine aktive Liste/Baum hat Tastaturfokus, eine inaktive nicht.\",\"Hintergrundfarbe der Liste/Struktur f\\xFCr das ausgew\\xE4hlte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Vordergrundfarbe der Liste/Struktur f\\xFCr das ausgew\\xE4hlte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Vordergrundfarbe des Symbols der Liste/Struktur f\\xFCr das ausgew\\xE4hlte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Hintergrundfarbe der Liste/Struktur f\\xFCr das ausgew\\xE4hlte Element, wenn die Liste/Struktur inaktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Vordergrundfarbe der Liste/Struktur f\\xFCr das ausgew\\xE4hlte Element, wenn die Liste/Baumstruktur inaktiv ist. Eine aktive Liste/Baumstruktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Vordergrundfarbe des Symbols der Liste/Struktur f\\xFCr das ausgew\\xE4hlte Element, wenn die Liste/Struktur inaktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Hintergrundfarbe der Liste/Struktur f\\xFCr das fokussierte Element, wenn die Liste/Struktur inaktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Konturfarbe der Liste/Struktur f\\xFCr das fokussierte Element, wenn die Liste/Struktur inaktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.\",\"Hintergrund der Liste/Struktur, wenn mit der Maus auf Elemente gezeigt wird.\",\"Vordergrund der Liste/Struktur, wenn mit der Maus auf Elemente gezeigt wird.\",\"Hintergrund f\\xFCr Drag & Drop auflisten/strukturieren, wenn Elemente bei Verwendung der Maus \\xFCber Elemente verschoben werden.\",\"Rahmenfarbe f\\xFCr Drag & Drop auflisten/strukturieren, wenn Elemente bei Verwendung der Maus zwischen Elementen verschoben werden.\",\"Vordergrundfarbe der Liste/Struktur zur Trefferhervorhebung beim Suchen innerhalb der Liste/Struktur.\",\"Die Vordergrundfarbe der Liste/Struktur des Treffers hebt aktiv fokussierte Elemente hervor, wenn innerhalb der Liste / der Struktur gesucht wird.\",\"Vordergrundfarbe einer Liste/Struktur f\\xFCr ung\\xFCltige Elemente, z.B. ein nicht ausgel\\xF6ster Stamm im Explorer.\",\"Vordergrundfarbe f\\xFCr Listenelemente, die Fehler enthalten.\",\"Vordergrundfarbe f\\xFCr Listenelemente, die Warnungen enthalten.\",\"Hintergrundfarbe des Typfilterwidgets in Listen und Strukturen.\",\"Konturfarbe des Typfilterwidgets in Listen und Strukturen.\",\"Konturfarbe des Typfilterwidgets in Listen und Strukturen, wenn es keine \\xDCbereinstimmungen gibt.\",\"Schattenfarbe des Typfilterwidgets in Listen und Strukturen.\",\"Hintergrundfarbe der gefilterten \\xDCbereinstimmung\",\"Rahmenfarbe der gefilterten \\xDCbereinstimmung\",\"Hintergrundfarbe f\\xFCr nicht hervorgehobene Listen-/Strukturelemente.\",\"Strukturstrichfarbe f\\xFCr die Einzugsf\\xFChrungslinien.\",\"Strukturstrichfarbe f\\xFCr die Einzugslinien, die nicht aktiv sind.\",\"Tabellenrahmenfarbe zwischen Spalten.\",\"Hintergrundfarbe f\\xFCr ungerade Tabellenzeilen.\",\"Hintergrundfarbe der Aktionenliste.\",\"Vordergrundfarbe der Aktionenliste.\",\"Die Hintergrundfarbe der Aktionenliste f\\xFCr das fokussierte Element.\",\"Die Hintergrundfarbe der Aktionenliste f\\xFCr das fokussierte Element.\",\"Rahmenfarbe von Men\\xFCs.\",\"Vordergrundfarbe von Men\\xFCelementen.\",\"Hintergrundfarbe von Men\\xFCelementen.\",\"Vordergrundfarbe des ausgew\\xE4hlten Men\\xFCelements im Men\\xFC.\",\"Hintergrundfarbe des ausgew\\xE4hlten Men\\xFCelements im Men\\xFC.\",\"Rahmenfarbe des ausgew\\xE4hlten Men\\xFCelements im Men\\xFC.\",\"Farbe eines Trenner-Men\\xFCelements in Men\\xFCs.\",\"Minimap-Markerfarbe f\\xFCr gefundene \\xDCbereinstimmungen.\",\"Minimap-Markerfarbe f\\xFCr wiederholte Editorauswahlen.\",\"Minimap-Markerfarbe f\\xFCr die Editorauswahl.\",\"Minimapmarkerfarbe f\\xFCr Informationen.\",\"Minimapmarkerfarbe f\\xFCr Warnungen\",\"Minimapmarkerfarbe f\\xFCr Fehler\",\"Hintergrundfarbe der Minimap.\",\"Deckkraft von Vordergrundelementen, die in der Minimap gerendert werden. Beispiel: \\u201E#000000c0\\u201C wird die Elemente mit einer Deckkraft von 75 % rendern.\",\"Hintergrundfarbe des Minimap-Schiebereglers.\",\"Hintergrundfarbe des Minimap-Schiebereglers beim Daraufzeigen.\",\"Hintergrundfarbe des Minimap-Schiebereglers, wenn darauf geklickt wird.\",\"Rahmenfarbe aktiver Trennleisten.\",\"Hintergrundfarbe f\\xFCr Badge. Badges sind kurze Info-Texte, z.B. f\\xFCr Anzahl Suchergebnisse.\",\"Vordergrundfarbe f\\xFCr Badge. Badges sind kurze Info-Texte, z.B. f\\xFCr Anzahl Suchergebnisse.\",\"Schatten der Scrollleiste, um anzuzeigen, dass die Ansicht gescrollt wird.\",\"Hintergrundfarbe vom Scrollbar-Schieber\",\"Hintergrundfarbe des Schiebereglers, wenn darauf gezeigt wird.\",\"Hintergrundfarbe des Schiebereglers, wenn darauf geklickt wird.\",\"Hintergrundfarbe des Fortschrittbalkens, der f\\xFCr zeitintensive Vorg\\xE4nge angezeigt werden kann.\",\"Schnellauswahl der Hintergrundfarbe. Im Widget f\\xFCr die Schnellauswahl sind Auswahlelemente wie die Befehlspalette enthalten.\",\"Vordergrundfarbe der Schnellauswahl. Im Widget f\\xFCr die Schnellauswahl sind Auswahlelemente wie die Befehlspalette enthalten.\",\"Hintergrundfarbe f\\xFCr den Titel der Schnellauswahl. Im Widget f\\xFCr die Schnellauswahl sind Auswahlelemente wie die Befehlspalette enthalten.\",\"Schnellauswahlfarbe f\\xFCr das Gruppieren von Bezeichnungen.\",\"Schnellauswahlfarbe f\\xFCr das Gruppieren von Rahmen.\",'Verwenden Sie stattdessen \"quickInputList.focusBackground\".',\"Die Hintergrundfarbe der Schnellauswahl f\\xFCr das fokussierte Element.\",\"Die Vordergrundfarbe des Symbols der Schnellauswahl f\\xFCr das fokussierte Element.\",\"Die Hintergrundfarbe der Schnellauswahl f\\xFCr das fokussierte Element.\",\"Farbe des Texts in der Abschlussmeldung des Such-Viewlets.\",\"Farbe der Abfrage\\xFCbereinstimmungen des Such-Editors\",\"Rahmenfarbe der Abfrage\\xFCbereinstimmungen des Such-Editors\",\"Diese Farbe muss transparent sein, oder der Inhalt wird verdeckt.\",\"Standardfarbe verwenden.\",\"Die ID der zu verwendenden Schriftart. Sofern nicht festgelegt, wird die zuerst definierte Schriftart verwendet.\",\"Das der Symboldefinition zugeordnete Schriftzeichen.\",\"Symbol f\\xFCr Aktion zum Schlie\\xDFen in Widgets\",\"Symbol f\\xFCr den Wechsel zur vorherigen Editor-Position.\",\"Symbol f\\xFCr den Wechsel zur n\\xE4chsten Editor-Position.\",\"Die folgenden Dateien wurden geschlossen und auf dem Datentr\\xE4ger ge\\xE4ndert: {0}.\",\"Die folgenden Dateien wurden auf inkompatible Weise ge\\xE4ndert: {0}.\",'\"{0}\" konnte nicht f\\xFCr alle Dateien r\\xFCckg\\xE4ngig gemacht werden. {1}','\"{0}\" konnte nicht f\\xFCr alle Dateien r\\xFCckg\\xE4ngig gemacht werden. {1}','\"{0}\" konnte nicht f\\xFCr alle Dateien r\\xFCckg\\xE4ngig gemacht werden, da \\xC4nderungen an {1} vorgenommen wurden.','\"{0}\" konnte nicht f\\xFCr alle Dateien r\\xFCckg\\xE4ngig gemacht werden, weil bereits ein Vorgang zum R\\xFCckg\\xE4ngigmachen oder Wiederholen f\\xFCr \"{1}\" durchgef\\xFChrt wird.','\"{0}\" konnte nicht f\\xFCr alle Dateien r\\xFCckg\\xE4ngig gemacht werden, weil in der Zwischenzeit bereits ein Vorgang zum R\\xFCckg\\xE4ngigmachen oder Wiederholen durchgef\\xFChrt wurde.','M\\xF6chten Sie \"{0}\" f\\xFCr alle Dateien r\\xFCckg\\xE4ngig machen?',\"&&In {0} Dateien r\\xFCckg\\xE4ngig machen\",\"&&Datei r\\xFCckg\\xE4ngig machen\",'\"{0}\" konnte nicht r\\xFCckg\\xE4ngig gemacht werden, weil bereits ein Vorgang zum R\\xFCckg\\xE4ngigmachen oder Wiederholen durchgef\\xFChrt wird.','M\\xF6chten Sie \"{0}\" r\\xFCckg\\xE4ngig machen?',\"&&Ja\",\"Nein\",'\"{0}\" konnte nicht in allen Dateien wiederholt werden. {1}','\"{0}\" konnte nicht in allen Dateien wiederholt werden. {1}','\"{0}\" konnte nicht in allen Dateien wiederholt werden, da \\xC4nderungen an {1} vorgenommen wurden.','\"{0}\" konnte nicht f\\xFCr alle Dateien wiederholt werden, weil bereits ein Vorgang zum R\\xFCckg\\xE4ngigmachen oder Wiederholen f\\xFCr \"{1}\" durchgef\\xFChrt wird.','\"{0}\" konnte nicht f\\xFCr alle Dateien wiederholt werden, weil in der Zwischenzeit bereits ein Vorgang zum R\\xFCckg\\xE4ngigmachen oder Wiederholen durchgef\\xFChrt wurde.','\"{0}\" konnte nicht wiederholt werden, weil bereits ein Vorgang zum R\\xFCckg\\xE4ngigmachen oder Wiederholen durchgef\\xFChrt wird.',\"Codearbeitsbereich\"],globalThis._VSCODE_NLS_LANGUAGE=\"de\";\n\n//# sourceMappingURL=../min-maps/nls.messages.de.js.map\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.es.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0} ({1})\",\"entrada\",\"Coincidir may\\xFAsculas y min\\xFAsculas\",\"Solo palabras completas\",\"Usar expresi\\xF3n regular\",\"entrada\",\"Conservar may/min\",\"Inspeccione esto en la vista accesible con {0}.\",\"Inspeccione esto en la vista accesible mediante el comando Abrir vista accesible, que actualmente no se puede desencadenar mediante el enlace de teclado.\",\"Error: {0}\",\"Advertencia: {0}\",\"Informaci\\xF3n: {0}\",\" o {0} para el historial\",\" ({0} para el historial)\",\"Entrada borrada\",\"Sin enlazar\",\"Seleccionar cuadro\",\"M\\xE1s Acciones...\",\"Filtrar\",\"Coincidencia aproximada\",\"Escriba texto para filtrar\",\"Escriba texto para buscar\",\"Escriba texto para buscar\",\"Cerrar\",\"No hay resultados\",\"No se encontraron resultados.\",null,\"(vac\\xEDo)\",\"{0}: {1}\",\"Error del sistema ({0})\",\"Se ha producido un error desconocido. Consulte el registro para obtener m\\xE1s detalles.\",\"Se ha producido un error desconocido. Consulte el registro para obtener m\\xE1s detalles.\",\"{0} ({1} errores en total)\",\"Se ha producido un error desconocido. Consulte el registro para obtener m\\xE1s detalles.\",\"Ctrl\",\"May\\xFAs\",\"Alt\",\"Windows\",\"Ctrl\",\"May\\xFAs\",\"Alt\",\"Super\",\"Control\",\"May\\xFAs\",\"Opci\\xF3n\",\"Comando\",\"Control\",\"May\\xFAs\",\"Alt\",\"Windows\",\"Control\",\"May\\xFAs\",\"Alt\",\"Super\",null,null,null,null,null,\"Anclar al final incluso cuando se vayan a l\\xEDneas m\\xE1s largas\",\"Anclar al final incluso cuando se vayan a l\\xEDneas m\\xE1s largas\",\"Cursores secundarios quitados\",\"&&Deshacer\",\"Deshacer\",\"&&Rehacer\",\"Rehacer\",\"&&Seleccionar todo\",\"Seleccionar todo\",\"Mantenga presionada la tecla {0} para pasar el mouse\",\"Cargando...\",\"El n\\xFAmero de cursores se ha limitado a {0}. Considere la posibilidad de usar [buscar y reemplazar](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) para realizar cambios mayores o aumentar la configuraci\\xF3n del l\\xEDmite de varios cursores del editor.\",\"Aumentar el l\\xEDmite de varios cursores\",\"Alternar contraer regiones sin cambios\",\"Alternar Mostrar bloques de c\\xF3digo movidos\",\"Alternar el uso de la vista insertada cuando el espacio es limitado\",\"Editor de diferencias\",\"Lado del conmutador\",\"Salir de la comparaci\\xF3n de movimientos\",\"Contraer todas las regiones sin cambios\",\"Mostrar todas las regiones sin cambios\",\"Revertir\",\"Visor de diferencias accesibles\",\"Ir a la siguiente diferencia\",\"Ir a la diferencia anterior\",'Icono de \"Insertar\" en el visor de diferencias accesible.','Icono de \"Quitar\" en el visor de diferencias accesible.','Icono de \"Cerrar\" en el visor de diferencias accesible.',\"Cerrar\",\"Visor de diferencias accesible. Utilice la flecha hacia arriba y hacia abajo para navegar.\",\"no se han cambiado l\\xEDneas\",\"1 l\\xEDnea cambiada\",\"{0} l\\xEDneas cambiadas\",\"Diferencia {0} de {1}: l\\xEDnea original {2}, {3}, l\\xEDnea modificada {4}, {5}\",\"vac\\xEDo\",\"{0} l\\xEDnea sin cambios {1}\",\"{0} l\\xEDnea original {1} l\\xEDnea modificada {2}\",\"+ {0} l\\xEDnea modificada {1}\",\"- {0} l\\xEDnea original {1}\",\" use {0} para abrir la ayuda de accesibilidad.\",\"Copiar l\\xEDneas eliminadas\",\"Copiar l\\xEDnea eliminada\",\"Copiar l\\xEDneas cambiadas\",\"Copiar l\\xEDnea cambiada\",\"Copiar la l\\xEDnea eliminada ({0})\",\"Copiar l\\xEDnea cambiada ({0})\",\"Revertir este cambio\",\"Uso de la vista insertada cuando el espacio es limitado\",\"Mostrar bloques de c\\xF3digo movidos\",\"Revertir bloque\",\"Revertir selecci\\xF3n\",\"Abrir visor de diferencias accesibles\",\"Plegar la regi\\xF3n sin cambios\",\"{0} l\\xEDneas ocultas\",\"Haga clic o arrastre para mostrar m\\xE1s arriba\",\"Mostrar regi\\xF3n sin cambios\",\"Hacer clic o arrastrar para mostrar m\\xE1s abajo\",\"{0} l\\xEDneas ocultas\",\"Doble clic para desplegar\",\"C\\xF3digo movido con cambios en la l\\xEDnea {0}-{1}\",\"C\\xF3digo movido con cambios de la l\\xEDnea {0}-{1}\",\"C\\xF3digo movido a la l\\xEDnea {0}-{1}\",\"C\\xF3digo movido de la l\\xEDnea {0}-{1}\",\"Revertir los cambios seleccionados\",\"Revertir el cambio\",\"Color del borde del texto que se movi\\xF3 en el editor de diferencias.\",\"Color del borde de texto activo que se movi\\xF3 en el editor de diferencias.\",\"Color de la sombra paralela en torno a los widgets de regi\\xF3n sin cambios.\",\"Decoraci\\xF3n de l\\xEDnea para las inserciones en el editor de diferencias.\",\"Decoraci\\xF3n de l\\xEDnea para las eliminaciones en el editor de diferencias.\",\"Color de fondo del encabezado del editor de diferencias\",\"Color de fondo del editor de diferencias de varios archivos\",\"Color de borde del editor de diferencias de varios archivos\",\"No hay archivos modificados\",\"Editor\",\"El n\\xFAmero de espacios a los que equivale una tabulaci\\xF3n. Este valor se invalida en funci\\xF3n del contenido del archivo cuando {0} est\\xE1 activado.\",'N\\xFAmero de espacios usados para la sangr\\xEDa o \"tabSize\" para usar el valor de \"#editor.tabSize#\". Esta configuraci\\xF3n se invalida en funci\\xF3n del contenido del archivo cuando \"#editor.detectIndentation#\" est\\xE1 activado.','Insertar espacios al presionar \"TAB\". Este valor se invalida en funci\\xF3n del contenido del archivo cuando {0} est\\xE1 activado.',\"Controla si {0} y {1} se detectan autom\\xE1ticamente al abrir un archivo en funci\\xF3n del contenido de este.\",\"Quitar el espacio en blanco final autoinsertado.\",\"Manejo especial para archivos grandes para desactivar ciertas funciones de memoria intensiva.\",\"Desactivar sugerencias basadas en Word.\",\"Sugerir palabras solo del documento activo.\",\"Sugerir palabras de todos los documentos abiertos del mismo idioma.\",\"Sugerir palabras de todos los documentos abiertos.\",\"Controla si las finalizaciones se deben calcular en funci\\xF3n de las palabras del documento y desde qu\\xE9 documentos se calculan.\",\"El resaltado sem\\xE1ntico est\\xE1 habilitado para todos los temas de color.\",\"El resaltado sem\\xE1ntico est\\xE1 deshabilitado para todos los temas de color.\",'El resaltado sem\\xE1ntico est\\xE1 configurado con el valor \"semanticHighlighting\" del tema de color actual.',\"Controla si se muestra semanticHighlighting para los idiomas que lo admiten.\",'Mantiene abiertos los editores interactivos, incluso al hacer doble clic en su contenido o presionar \"Escape\".',\"Las lineas por encima de esta longitud no se tokenizar\\xE1n por razones de rendimiento.\",\"Controla si la tokenizaci\\xF3n debe producirse de forma asincr\\xF3nica en un rol de trabajo.\",\"Controla si se debe registrar la tokenizaci\\xF3n asincr\\xF3nica. Solo para depuraci\\xF3n.\",\"Controla si se debe comprobar la tokenizaci\\xF3n asincr\\xF3nica con la tokenizaci\\xF3n en segundo plano heredada. Puede ralentizar la tokenizaci\\xF3n. Solo para depuraci\\xF3n.\",'Controla si se debe activar el an\\xE1lisis del establecedor de \\xE1rbol y recopilar telemetr\\xEDa. Tendr\\xE1 prioridad establecer \"editor.experimental.preferTreeSitter\" para idiomas espec\\xEDficos.',\"Define los corchetes que aumentan o reducen la sangr\\xEDa.\",\"Secuencia de cadena o corchete de apertura.\",\"Secuencia de cadena o corchete de cierre.\",\"Define los pares de corchetes coloreados por su nivel de anidamiento si est\\xE1 habilitada la coloraci\\xF3n de par de corchetes.\",\"Secuencia de cadena o corchete de apertura.\",\"Secuencia de cadena o corchete de cierre.\",\"Tiempo de espera en milisegundos despu\\xE9s del cual se cancela el c\\xE1lculo de diferencias. Utilice 0 para no usar tiempo de espera.\",\"Tama\\xF1o m\\xE1ximo de archivo en MB para el que calcular diferencias. Use 0 para no limitar.\",\"Controla si el editor de diferencias muestra las diferencias en paralelo o alineadas.\",\"Si el ancho del editor de diferencias es menor que este valor, se usa la vista insertada.\",\"Si est\\xE1 habilitada y el ancho del editor es demasiado peque\\xF1o, se usa la vista en l\\xEDnea.\",\"Cuando est\\xE1 habilitado, el editor de diferencias muestra flechas en su margen de glifo para revertir los cambios.\",\"Cuando est\\xE1 habilitado, el editor de diferencias muestra un medianil especial para acciones de reversi\\xF3n y fase.\",\"Cuando est\\xE1 habilitado, el editor de diferencias omite los cambios en los espacios en blanco iniciales o finales.\",\"Controla si el editor de diferencias muestra los indicadores +/- para los cambios agregados o quitados.\",\"Controla si el editor muestra CodeLens.\",\"Las l\\xEDneas no se ajustar\\xE1n nunca.\",\"Las l\\xEDneas se ajustar\\xE1n en el ancho de la ventanilla.\",\"Las l\\xEDneas se ajustar\\xE1n en funci\\xF3n de la configuraci\\xF3n de {0}.\",\"Usa el algoritmo de diferenciaci\\xF3n heredado.\",\"Usa el algoritmo de diferenciaci\\xF3n avanzada.\",\"Controla si el editor de diferencias muestra las regiones sin cambios.\",\"Controla cu\\xE1ntas l\\xEDneas se usan para las regiones sin cambios.\",\"Controla cu\\xE1ntas l\\xEDneas se usan como m\\xEDnimo para las regiones sin cambios.\",\"Controla cu\\xE1ntas l\\xEDneas se usan como contexto al comparar regiones sin cambios.\",\"Controlar si el editor de diferencias debe mostrar los movimientos de c\\xF3digo detectados.\",\"Controla si el editor de diferencias muestra decoraciones vac\\xEDas para ver d\\xF3nde se insertan o eliminan los caracteres.\",\"Si est\\xE1 habilitado y el editor usa la vista insertada, los cambios de palabra se representan en l\\xEDnea.\",\"Usar las API de la plataforma para detectar cu\\xE1ndo se conecta un lector de pantalla.\",\"Optimizar para usar con un lector de pantalla.\",\"Supongamos que no hay un lector de pantalla conectado.\",\"Controla si la interfaz de usuario debe ejecutarse en un modo en el que est\\xE9 optimizada para lectores de pantalla.\",\"Controla si se inserta un car\\xE1cter de espacio al comentar.\",\"Controla si las l\\xEDneas vac\\xEDas deben ignorarse con la opci\\xF3n de alternar, agregar o quitar acciones para los comentarios de l\\xEDnea.\",\"Controla si al copiar sin selecci\\xF3n se copia la l\\xEDnea actual.\",\"Controla si el cursor debe saltar para buscar coincidencias mientras se escribe.\",\"Nunca inicializar la cadena de b\\xFAsqueda desde la selecci\\xF3n del editor.\",\"Siempre inicializar la cadena de b\\xFAsqueda desde la selecci\\xF3n del editor, incluida la palabra en la posici\\xF3n del cursor.\",\"Solo inicializar la cadena de b\\xFAsqueda desde la selecci\\xF3n del editor.\",\"Controla si la cadena de b\\xFAsqueda del widget de b\\xFAsqueda se inicializa desde la selecci\\xF3n del editor.\",\"No activar nunca Buscar en selecci\\xF3n autom\\xE1ticamente (predeterminado).\",\"Activar siempre Buscar en selecci\\xF3n autom\\xE1ticamente.\",\"Activar Buscar en la selecci\\xF3n autom\\xE1ticamente cuando se seleccionen varias l\\xEDneas de contenido.\",\"Controla la condici\\xF3n para activar la b\\xFAsqueda en la selecci\\xF3n de forma autom\\xE1tica.\",\"Controla si el widget de b\\xFAsqueda debe leer o modificar el Portapapeles de b\\xFAsqueda compartido en macOS.\",\"Controla si Encontrar widget debe agregar m\\xE1s l\\xEDneas en la parte superior del editor. Si es true, puede desplazarse m\\xE1s all\\xE1 de la primera l\\xEDnea cuando Encontrar widget est\\xE1 visible.\",\"Controla si la b\\xFAsqueda se reinicia autom\\xE1ticamente desde el principio (o el final) cuando no se encuentran m\\xE1s coincidencias.\",'Habilita o deshabilita las ligaduras tipogr\\xE1ficas (caracter\\xEDsticas de fuente \"calt\" y \"liga\"). C\\xE1mbielo a una cadena para el control espec\\xEDfico de la propiedad de CSS \"font-feature-settings\".','Propiedad de CSS \"font-feature-settings\" expl\\xEDcita. En su lugar, puede pasarse un valor booleano si solo es necesario activar o desactivar las ligaduras.','Configura las ligaduras tipogr\\xE1ficas o las caracter\\xEDsticas de fuente. Puede ser un valor booleano para habilitar o deshabilitar las ligaduras o bien una cadena para el valor de la propiedad \"font-feature-settings\" de CSS.',\"Habilita o deshabilita la traducci\\xF3n del grosor de font-weight a font-variation-settings. Cambie esto a una cadena para el control espec\\xEDfico de la propiedad CSS 'font-variation-settings'.\",\"Propiedad CSS expl\\xEDcita 'font-variation-settings'. En su lugar, se puede pasar un valor booleano si solo es necesario traducir font-weight a font-variation-settings.\",\"Configura variaciones de fuente. Puede ser un booleano para habilitar o deshabilitar la traducci\\xF3n de font-weight a font-variation-settings o una cadena para el valor de la propiedad CSS 'font-variation-settings'.\",\"Controla el tama\\xF1o de fuente en p\\xEDxeles.\",'Solo se permiten las palabras clave \"normal\" y \"negrita\" o los n\\xFAmeros entre 1 y 1000.','Controla el grosor de la fuente. Acepta las palabras clave \"normal\" y \"negrita\" o los n\\xFAmeros entre 1 y 1000.',\"Mostrar vista de inspecci\\xF3n de los resultados (predeterminado)\",\"Ir al resultado principal y mostrar una vista de inspecci\\xF3n\",\"Vaya al resultado principal y habilite la navegaci\\xF3n sin peek para otros\",'Esta configuraci\\xF3n est\\xE1 en desuso. Use configuraciones separadas como \"editor.editor.gotoLocation.multipleDefinitions\" o \"editor.editor.gotoLocation.multipleImplementations\" en su lugar.','Controla el comportamiento del comando \"Ir a definici\\xF3n\" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando \"Ir a definici\\xF3n de tipo\" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando \"Ir a declaraci\\xF3n\" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando \"Ir a implementaciones\" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando \"Ir a referencias\" cuando existen varias ubicaciones de destino.','Identificador de comando alternativo que se ejecuta cuando el resultado de \"Ir a definici\\xF3n\" es la ubicaci\\xF3n actual.','Id. de comando alternativo que se est\\xE1 ejecutando cuando el resultado de \"Ir a definici\\xF3n de tipo\" es la ubicaci\\xF3n actual.','Id. de comando alternativo que se est\\xE1 ejecutando cuando el resultado de \"Ir a declaraci\\xF3n\" es la ubicaci\\xF3n actual.','Id. de comando alternativo que se est\\xE1 ejecutando cuando el resultado de \"Ir a implementaci\\xF3n\" es la ubicaci\\xF3n actual.','Identificador de comando alternativo que se ejecuta cuando el resultado de \"Ir a referencia\" es la ubicaci\\xF3n actual.',\"Controla si se muestra la informaci\\xF3n al mantener el puntero sobre un elemento.\",\"Controla el retardo en milisegundos despu\\xE9s del cual se muestra la informaci\\xF3n al mantener el puntero sobre un elemento.\",\"Controla si la informaci\\xF3n que aparece al mantener el puntero sobre un elemento permanece visible al mover el mouse sobre este.\",\"Controla el retraso en milisegundos despu\\xE9s del cual se oculta el desplazamiento. Requiere que se habilite `editor.hover.sticky`.\",\"Preferir mostrar los desplazamientos por encima de la l\\xEDnea, si hay espacio.\",\"Se supone que todos los caracteres son del mismo ancho. Este es un algoritmo r\\xE1pido que funciona correctamente para fuentes monoespaciales y ciertos scripts (como caracteres latinos) donde los glifos tienen el mismo ancho.\",\"Delega el c\\xE1lculo de puntos de ajuste en el explorador. Es un algoritmo lento, que podr\\xEDa causar bloqueos para archivos grandes, pero funciona correctamente en todos los casos.\",\"Controla el algoritmo que calcula los puntos de ajuste. Tenga en cuenta que, en el modo de accesibilidad, se usar\\xE1 el modo avanzado para obtener la mejor experiencia.\",\"Deshabilite el men\\xFA de acci\\xF3n de c\\xF3digo.\",\"Muestra el men\\xFA de acci\\xF3n del c\\xF3digo cuando el cursor est\\xE1 en l\\xEDneas con c\\xF3digo.\",\"Muestra el men\\xFA de acci\\xF3n de c\\xF3digo cuando el cursor est\\xE1 en l\\xEDneas con c\\xF3digo o en l\\xEDneas vac\\xEDas.\",\"Habilita la bombilla de acci\\xF3n de c\\xF3digo en el editor.\",\"Muestra los \\xE1mbitos actuales anidados durante el desplazamiento en la parte superior del editor.\",\"Define el n\\xFAmero m\\xE1ximo de l\\xEDneas r\\xE1pidas que se mostrar\\xE1n.\",\"Define el modelo que se va a usar para determinar qu\\xE9 l\\xEDneas se van a pegar. Si el modelo de esquema no existe, recurrir\\xE1 al modelo del proveedor de plegado que recurre al modelo de sangr\\xEDa. Este orden se respeta en los tres casos.\",\"Habilite el desplazamiento de desplazamiento r\\xE1pido con la barra de desplazamiento horizontal del editor.\",\"Habilita las sugerencias de incrustaci\\xF3n en el editor.\",\"Las sugerencias de incrustaci\\xF3n est\\xE1n habilitadas\",\"Las sugerencias de incrustaci\\xF3n se muestran de forma predeterminada y se ocultan cuando se mantiene presionado {0}\",\"Las sugerencias de incrustaci\\xF3n est\\xE1n ocultas de forma predeterminada y se muestran al mantener presionado {0}\",\"Las sugerencias de incrustaci\\xF3n est\\xE1n deshabilitadas\",\"Controla el tama\\xF1o de fuente de las sugerencias de incrustaci\\xF3n en el editor. Como valor predeterminado, se usa {0} cuando el valor configurado es menor que {1} o mayor que el tama\\xF1o de fuente del editor.\",\"Controla la familia de fuentes de sugerencias de incrustaci\\xF3n en el editor. Cuando se establece en vac\\xEDo, se usa el {0}.\",\"Habilita el relleno alrededor de las sugerencias de incrustaci\\xF3n en el editor.\",`Controla el alto de l\\xEDnea. \\r\n - Use 0 para calcular autom\\xE1ticamente el alto de l\\xEDnea a partir del tama\\xF1o de la fuente.\\r\n - Los valores entre 0 y 8 se usar\\xE1n como multiplicador con el tama\\xF1o de fuente.\\r\n - Los valores mayores o igual que 8 se usar\\xE1n como valores efectivos.`,\"Controla si se muestra el minimapa.\",\"Controla si el minimapa se oculta autom\\xE1ticamente.\",\"El minimapa tiene el mismo tama\\xF1o que el contenido del editor (y podr\\xEDa desplazarse).\",\"El minimapa se estirar\\xE1 o reducir\\xE1 seg\\xFAn sea necesario para ocupar la altura del editor (sin desplazamiento).\",\"El minimapa se reducir\\xE1 seg\\xFAn sea necesario para no ser nunca m\\xE1s grande que el editor (sin desplazamiento).\",\"Controla el tama\\xF1o del minimapa.\",\"Controla en qu\\xE9 lado se muestra el minimapa.\",\"Controla cu\\xE1ndo se muestra el control deslizante del minimapa.\",\"Escala del contenido dibujado en el minimapa: 1, 2 o 3.\",\"Represente los caracteres reales en una l\\xEDnea, por oposici\\xF3n a los bloques de color.\",\"Limite el ancho del minimapa para representar como mucho un n\\xFAmero de columnas determinado.\",\"Controla si las regiones con nombre se muestran como encabezados de secci\\xF3n en el minimapa.\",\"Controla si los comentarios MARK: se muestran como encabezados de secci\\xF3n en el minimapa.\",\"Controla el tama\\xF1o de fuente de los encabezados de secci\\xF3n en el minimapa.\",\"Controla la cantidad de espacio (en p\\xEDxeles) entre los caracteres del encabezado de secci\\xF3n. Esto aumenta la legibilidad del encabezado en tama\\xF1os de fuente peque\\xF1os.\",\"Controla la cantidad de espacio entre el borde superior del editor y la primera l\\xEDnea.\",\"Controla el espacio entre el borde inferior del editor y la \\xFAltima l\\xEDnea.\",\"Habilita un elemento emergente que muestra documentaci\\xF3n de los par\\xE1metros e informaci\\xF3n de los tipos mientras escribe.\",\"Controla si el men\\xFA de sugerencias de par\\xE1metros se cicla o se cierra al llegar al final de la lista.\",\"Las sugerencias r\\xE1pidas se muestran dentro del widget de sugerencias\",\"Las sugerencias r\\xE1pidas se muestran como texto fantasma\",\"Las sugerencias r\\xE1pidas est\\xE1n deshabilitadas\",\"Habilita sugerencias r\\xE1pidas en las cadenas.\",\"Habilita sugerencias r\\xE1pidas en los comentarios.\",\"Habilita sugerencias r\\xE1pidas fuera de las cadenas y los comentarios.\",\"Controla si las sugerencias deben mostrarse autom\\xE1ticamente al escribir. Puede controlarse para la escritura en comentarios, cadenas y otro c\\xF3digo. Las sugerencias r\\xE1pidas pueden configurarse para mostrarse como texto fantasma o con el widget de sugerencias. Tenga en cuenta tambi\\xE9n la configuraci\\xF3n de {0} que controla si los caracteres especiales desencadenan las sugerencias.\",\"Los n\\xFAmeros de l\\xEDnea no se muestran.\",\"Los n\\xFAmeros de l\\xEDnea se muestran como un n\\xFAmero absoluto.\",\"Los n\\xFAmeros de l\\xEDnea se muestran como distancia en l\\xEDneas a la posici\\xF3n del cursor.\",\"Los n\\xFAmeros de l\\xEDnea se muestran cada 10 l\\xEDneas.\",\"Controla la visualizaci\\xF3n de los n\\xFAmeros de l\\xEDnea.\",\"N\\xFAmero de caracteres monoespaciales en los que se representar\\xE1 esta regla del editor.\",\"Color de esta regla del editor.\",\"Muestra reglas verticales despu\\xE9s de un cierto n\\xFAmero de caracteres monoespaciados. Usa m\\xFAltiples valores para mostrar m\\xFAltiples reglas. Si la matriz est\\xE1 vac\\xEDa, no se muestran reglas.\",\"La barra de desplazamiento vertical estar\\xE1 visible solo cuando sea necesario.\",\"La barra de desplazamiento vertical estar\\xE1 siempre visible.\",\"La barra de desplazamiento vertical estar\\xE1 siempre oculta.\",\"Controla la visibilidad de la barra de desplazamiento vertical.\",\"La barra de desplazamiento horizontal estar\\xE1 visible solo cuando sea necesario.\",\"La barra de desplazamiento horizontal estar\\xE1 siempre visible.\",\"La barra de desplazamiento horizontal estar\\xE1 siempre oculta.\",\"Controla la visibilidad de la barra de desplazamiento horizontal.\",\"Ancho de la barra de desplazamiento vertical.\",\"Altura de la barra de desplazamiento horizontal.\",\"Controla si al hacer clic se desplaza por p\\xE1gina o salta a la posici\\xF3n donde se hace clic.\",\"Cuando se establece, la barra de desplazamiento horizontal no aumentar\\xE1 el tama\\xF1o del contenido del editor.\",\"Controla si se resaltan todos los caracteres ASCII no b\\xE1sicos. Solo los caracteres entre U+0020 y U+007E, tabulaci\\xF3n, avance de l\\xEDnea y retorno de carro se consideran ASCII b\\xE1sicos.\",\"Controla si se resaltan los caracteres que solo reservan espacio o que no tienen ancho.\",\"Controla si se resaltan caracteres que se pueden confundir con caracteres ASCII b\\xE1sicos, excepto los que son comunes en la configuraci\\xF3n regional del usuario actual.\",\"Controla si los caracteres de los comentarios tambi\\xE9n deben estar sujetos al resaltado Unicode.\",\"Controla si los caracteres de las cadenas tambi\\xE9n deben estar sujetos al resaltado Unicode.\",\"Define los caracteres permitidos que no se resaltan.\",\"Los caracteres Unicode que son comunes en las configuraciones regionales permitidas no se resaltan.\",\"Controla si se deben mostrar autom\\xE1ticamente las sugerencias alineadas en el editor.\",\"Muestra la barra de herramientas de sugerencias insertadas cada vez que se muestra una sugerencia insertada.\",\"Muestra la barra de herramientas de sugerencias insertadas al mantener el puntero sobre una sugerencia insertada.\",\"No mostrar nunca la barra de herramientas de sugerencias insertadas.\",\"Controla cu\\xE1ndo mostrar la barra de herramientas de sugerencias insertadas.\",\"Controla c\\xF3mo interact\\xFAan las sugerencias insertadas con el widget de sugerencias. Si se habilita, el widget de sugerencias no se muestra autom\\xE1ticamente cuando hay sugerencias insertadas disponibles.\",\"Controla la familia de fuentes de las sugerencias insertadas.\",null,null,null,null,null,null,\"Controla si est\\xE1 habilitada o no la coloraci\\xF3n de pares de corchetes. Use {0} para invalidar los colores de resaltado de corchete.\",\"Controla si cada tipo de corchete tiene su propio grupo de colores independiente.\",\"Habilita gu\\xEDas de par de corchetes.\",\"Habilita gu\\xEDas de par de corchetes solo para el par de corchetes activo.\",\"Deshabilita las gu\\xEDas de par de corchetes.\",\"Controla si est\\xE1n habilitadas las gu\\xEDas de pares de corchetes.\",\"Habilita gu\\xEDas horizontales como adici\\xF3n a gu\\xEDas de par de corchetes verticales.\",\"Habilita gu\\xEDas horizontales solo para el par de corchetes activo.\",\"Deshabilita las gu\\xEDas de par de corchetes horizontales.\",\"Controla si est\\xE1n habilitadas las gu\\xEDas de pares de corchetes horizontales.\",\"Controla si el editor debe resaltar el par de corchetes activo.\",\"Controla si el editor debe representar gu\\xEDas de sangr\\xEDa.\",\"Resalta la gu\\xEDa de sangr\\xEDa activa.\",\"Resalta la gu\\xEDa de sangr\\xEDa activa incluso si se resaltan las gu\\xEDas de corchetes.\",\"No resalta la gu\\xEDa de sangr\\xEDa activa.\",\"Controla si el editor debe resaltar la gu\\xEDa de sangr\\xEDa activa.\",\"Inserte la sugerencia sin sobrescribir el texto a la derecha del cursor.\",\"Inserte la sugerencia y sobrescriba el texto a la derecha del cursor.\",\"Controla si las palabras se sobrescriben al aceptar la finalizaci\\xF3n. Tenga en cuenta que esto depende de las extensiones que participan en esta caracter\\xEDstica.\",\"Controla si el filtrado y la ordenaci\\xF3n de sugerencias se tienen en cuenta para los errores ortogr\\xE1ficos peque\\xF1os.\",\"Controla si la ordenaci\\xF3n mejora las palabras que aparecen cerca del cursor.\",'Controla si las selecciones de sugerencias recordadas se comparten entre m\\xFAltiples \\xE1reas de trabajo y ventanas (necesita \"#editor.suggestSelection#\").',\"Seleccione siempre una sugerencia cuando se desencadene IntelliSense autom\\xE1ticamente.\",\"Nunca seleccione una sugerencia cuando desencadene IntelliSense autom\\xE1ticamente.\",\"Seleccione una sugerencia solo cuando desencadene IntelliSense desde un car\\xE1cter de desencadenador.\",\"Seleccione una sugerencia solo cuando desencadene IntelliSense mientras escribe.\",\"Controla si se selecciona una sugerencia cuando se muestra el widget. Tenga en cuenta que esto solo se aplica a las sugerencias desencadenadas autom\\xE1ticamente ({0} y {1}) y que siempre se selecciona una sugerencia cuando se invoca expl\\xEDcitamente, por ejemplo, a trav\\xE9s de 'Ctrl+Espacio'.\",\"Controla si un fragmento de c\\xF3digo activo impide sugerencias r\\xE1pidas.\",\"Controla si mostrar u ocultar iconos en sugerencias.\",\"Controla la visibilidad de la barra de estado en la parte inferior del widget de sugerencias.\",\"Controla si se puede obtener una vista previa del resultado de la sugerencia en el editor.\",\"Controla si los detalles de sugerencia se muestran incorporados con la etiqueta o solo en el widget de detalles.\",\"La configuraci\\xF3n est\\xE1 en desuso. Ahora puede cambiarse el tama\\xF1o del widget de sugerencias.\",'Esta configuraci\\xF3n est\\xE1 en desuso. Use configuraciones separadas como \"editor.suggest.showKeyword\" o \"editor.suggest.showSnippets\" en su lugar.','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"method\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de \"funci\\xF3n\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"constructor\".','Cuando se activa IntelliSense muestra sugerencias \"obsoletas\".','Cuando se activa el filtro IntelliSense se requiere que el primer car\\xE1cter coincida con el inicio de una palabra. Por ejemplo, \"c\" en \"Consola\" o \"WebContext\" but _not_ on \"descripci\\xF3n\". Si se desactiva, IntelliSense mostrar\\xE1 m\\xE1s resultados, pero los ordenar\\xE1 seg\\xFAn la calidad de la coincidencia.','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"field\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"variable\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"class\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"struct\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"interface\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"module\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"property\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"event\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"operator\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"unit\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de \"value\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"constant\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"enum\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"enumMember\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"keyword\".','Si est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"text\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de \"color\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"file\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"reference\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"customcolor\".','Si est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"folder\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"typeParameter\".','Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias de tipo \"snippet\".',\"Cuando est\\xE1 habilitado, IntelliSense muestra sugerencias del usuario.\",\"Cuando est\\xE1 habilitado IntelliSense muestra sugerencias para problemas.\",\"Indica si los espacios en blanco iniciales y finales deben seleccionarse siempre.\",'Indica si se deben seleccionar las subpalabras (como \"foo\" en \"fooBar\" o \"foo_bar\").',\"Configuraciones regionales que se usar\\xE1n para la segmentaci\\xF3n de palabras al realizar operaciones o navegaciones relacionadas con palabras. Especifique la etiqueta de idioma BCP 47 de la palabra que desea reconocer (por ejemplo, ja, zh-CN, zh-Hant-TW, etc.).\",\"Configuraciones regionales que se usar\\xE1n para la segmentaci\\xF3n de palabras al realizar operaciones o navegaciones relacionadas con palabras. Especifique la etiqueta de idioma BCP 47 de la palabra que desea reconocer (por ejemplo, ja, zh-CN, zh-Hant-TW, etc.).\",\"No hay sangr\\xEDa. Las l\\xEDneas ajustadas comienzan en la columna 1.\",\"A las l\\xEDneas ajustadas se les aplica la misma sangr\\xEDa que al elemento primario.\",\"A las l\\xEDneas ajustadas se les aplica una sangr\\xEDa de +1 respecto al elemento primario.\",\"A las l\\xEDneas ajustadas se les aplica una sangr\\xEDa de +2 respecto al elemento primario.\",\"Controla la sangr\\xEDa de las l\\xEDneas ajustadas.\",'Controla si puede arrastrar y colocar un archivo en un editor de texto manteniendo presionada la tecla \"May\\xFAs\" (en lugar de abrir el archivo en un editor).',\"Controla si se muestra un widget al colocar archivos en el editor. Este widget le permite controlar c\\xF3mo se coloca el archivo.\",\"Muestra el widget del selector de colocaci\\xF3n despu\\xE9s de colocar un archivo en el editor.\",\"No mostrar nunca el widget del selector de colocaci\\xF3n. En su lugar, siempre se usa el proveedor de colocaci\\xF3n predeterminado.\",\"Controla si se puede pegar contenido de distintas formas.\",\"Controla si se muestra un widget al pegar contenido en el editor. Este widget le permite controlar c\\xF3mo se pega el archivo.\",\"Muestra el widget del selector de pegado despu\\xE9s de pegar contenido en el editor.\",\"No mostrar nunca el widget del selector de pegado. En su lugar, siempre se usa el comportamiento de pegado predeterminado.\",'Controla si se deben aceptar sugerencias en los caracteres de confirmaci\\xF3n. Por ejemplo, en Javascript, el punto y coma (\";\") puede ser un car\\xE1cter de confirmaci\\xF3n que acepta una sugerencia y escribe ese car\\xE1cter.','Aceptar solo una sugerencia con \"Entrar\" cuando realiza un cambio textual.','Controla si las sugerencias deben aceptarse con \"Entrar\", adem\\xE1s de \"TAB\". Ayuda a evitar la ambig\\xFCedad entre insertar nuevas l\\xEDneas o aceptar sugerencias.',\"Controla el n\\xFAmero de l\\xEDneas del editor que pueden ser le\\xEDdas por un lector de pantalla a la vez. Cuando detectamos un lector de pantalla, fijamos autom\\xE1ticamente el valor por defecto en 500. Advertencia: esto tiene una implicaci\\xF3n de rendimiento para n\\xFAmeros mayores que el predeterminado.\",\"Contenido del editor\",\"Controlar si un lector de pantalla anuncia sugerencias insertadas.\",\"Utilizar las configuraciones del lenguaje para determinar cu\\xE1ndo cerrar los corchetes autom\\xE1ticamente.\",\"Cerrar autom\\xE1ticamente los corchetes cuando el cursor est\\xE9 a la izquierda de un espacio en blanco.\",\"Controla si el editor debe cerrar autom\\xE1ticamente los corchetes despu\\xE9s de que el usuario agregue un corchete de apertura.\",\"Utilice las configuraciones de idioma para determinar cu\\xE1ndo cerrar los comentarios autom\\xE1ticamente.\",\"Cerrar autom\\xE1ticamente los comentarios solo cuando el cursor est\\xE9 a la izquierda de un espacio en blanco.\",\"Controla si el editor debe cerrar autom\\xE1ticamente los comentarios despu\\xE9s de que el usuario agregue un comentario de apertura.\",\"Quite los corchetes o las comillas de cierre adyacentes solo si se insertaron autom\\xE1ticamente.\",\"Controla si el editor debe quitar los corchetes o las comillas de cierre adyacentes al eliminar.\",\"Escriba en las comillas o los corchetes solo si se insertaron autom\\xE1ticamente.\",\"Controla si el editor debe escribir entre comillas o corchetes.\",\"Utilizar las configuraciones del lenguaje para determinar cu\\xE1ndo cerrar las comillas autom\\xE1ticamente. \",\"Cerrar autom\\xE1ticamente las comillas cuando el cursor est\\xE9 a la izquierda de un espacio en blanco. \",\"Controla si el editor debe cerrar autom\\xE1ticamente las comillas despu\\xE9s de que el usuario agrega uma comilla de apertura.\",\"El editor no insertar\\xE1 la sangr\\xEDa autom\\xE1ticamente.\",\"El editor mantendr\\xE1 la sangr\\xEDa de la l\\xEDnea actual.\",\"El editor respetar\\xE1 la sangr\\xEDa de la l\\xEDnea actual y los corchetes definidos por el idioma.\",\"El editor mantendr\\xE1 la sangr\\xEDa de la l\\xEDnea actual, respetar\\xE1 los corchetes definidos por el idioma e invocar\\xE1 onEnterRules especiales definidos por idiomas.\",\"El editor respetar\\xE1 la sangr\\xEDa de la l\\xEDnea actual, los corchetes definidos por idiomas y las reglas indentationRules definidas por idiomas, adem\\xE1s de invocar reglas onEnterRules especiales.\",\"Controla si el editor debe ajustar autom\\xE1ticamente la sangr\\xEDa mientras los usuarios escriben, pegan, mueven o sangran l\\xEDneas.\",\"Use las configuraciones de idioma para determinar cu\\xE1ndo delimitar las selecciones autom\\xE1ticamente.\",\"Envolver con comillas, pero no con corchetes.\",\"Envolver con corchetes, pero no con comillas.\",\"Controla si el editor debe rodear autom\\xE1ticamente las selecciones al escribir comillas o corchetes.\",\"Emula el comportamiento de selecci\\xF3n de los caracteres de tabulaci\\xF3n al usar espacios para la sangr\\xEDa. La selecci\\xF3n se aplicar\\xE1 a las tabulaciones.\",\"Controla si el editor muestra CodeLens.\",\"Controla la familia de fuentes para CodeLens.\",'Controla el tama\\xF1o de fuente de CodeLens en p\\xEDxeles. Cuando se establece en 0, se usa el 90\\xA0% de \"#editor.fontSize#\".',\"Controla si el editor debe representar el Selector de colores y los elementos Decorator de color en l\\xEDnea.\",\"Hacer que el selector de colores aparezca tanto al hacer clic como al mantener el puntero sobre el decorador de color\",\"Hacer que el selector de colores aparezca al pasar el puntero sobre el decorador de color\",\"Hacer que el selector de colores aparezca al hacer clic en el decorador de color\",\"Controla la condici\\xF3n para que un selector de colores aparezca de un decorador de color\",\"Controla el n\\xFAmero m\\xE1ximo de decoradores de color que se pueden representar en un editor a la vez.\",\"Habilite que la selecci\\xF3n con el mouse y las teclas est\\xE9 realizando la selecci\\xF3n de columnas.\",\"Controla si el resaltado de sintaxis debe ser copiado al portapapeles.\",\"Controla el estilo de animaci\\xF3n del cursor.\",\"La animaci\\xF3n del s\\xEDmbolo de intercalaci\\xF3n suave est\\xE1 deshabilitada.\",\"La animaci\\xF3n de s\\xEDmbolo de intercalaci\\xF3n suave solo se habilita cuando el usuario mueve el cursor con un gesto expl\\xEDcito.\",\"La animaci\\xF3n de s\\xEDmbolo de intercalaci\\xF3n suave siempre est\\xE1 habilitada.\",\"Controla si la animaci\\xF3n suave del cursor debe estar habilitada.\",\"Controla el estilo del cursor en el modo de entrada de inserci\\xF3n.\",'Controla el n\\xFAmero m\\xEDnimo de l\\xEDneas iniciales visibles (m\\xEDnimo 0) y l\\xEDneas finales (m\\xEDnimo 1) que rodean el cursor. Se conoce como \"scrollOff\" o \"scrollOffset\" en otros editores.','Solo se aplica \"cursorSurroundingLines\" cuando se desencadena mediante el teclado o la API.','\"cursorSurroundingLines\" se aplica siempre.',\"Controla cu\\xE1ndo se debe aplicar '#editor.cursorSurroundingLines#'.\",'Controla el ancho del cursor cuando \"#editor.cursorStyle#\" se establece en \"line\".',\"Controla si el editor debe permitir mover las selecciones mediante arrastrar y colocar.\",\"Use un nuevo m\\xE9todo de representaci\\xF3n con svgs.\",\"Use un nuevo m\\xE9todo de representaci\\xF3n con caracteres de fuente.\",\"Use el m\\xE9todo de representaci\\xF3n estable.\",\"Controla si los espacios en blanco se representan con un nuevo m\\xE9todo experimental.\",'Multiplicador de la velocidad de desplazamiento al presionar \"Alt\".',\"Controla si el editor tiene el plegado de c\\xF3digo habilitado.\",\"Utilice una estrategia de plegado espec\\xEDfica del idioma, si est\\xE1 disponible, de lo contrario la basada en sangr\\xEDa.\",\"Utilice la estrategia de plegado basada en sangr\\xEDa.\",\"Controla la estrategia para calcular rangos de plegado.\",\"Controla si el editor debe destacar los rangos plegados.\",\"Permite controlar si el editor contrae autom\\xE1ticamente los rangos de importaci\\xF3n.\",\"N\\xFAmero m\\xE1ximo de regiones plegables. Si aumenta este valor, es posible que el editor tenga menos capacidad de respuesta cuando el origen actual tiene un gran n\\xFAmero de regiones plegables.\",\"Controla si al hacer clic en el contenido vac\\xEDo despu\\xE9s de una l\\xEDnea plegada se desplegar\\xE1 la l\\xEDnea.\",\"Controla la familia de fuentes.\",\"Controla si el editor debe dar formato autom\\xE1ticamente al contenido pegado. Debe haber disponible un formateador capaz de aplicar formato a un rango dentro de un documento. \",\"Controla si el editor debe dar formato a la l\\xEDnea autom\\xE1ticamente despu\\xE9s de escribirla.\",\"Controla si el editor debe representar el margen de glifo vertical. El margen de glifo se usa, principalmente, para depuraci\\xF3n.\",\"Controla si el cursor debe ocultarse en la regla de informaci\\xF3n general.\",\"Controla el espacio entre letras en p\\xEDxeles.\",\"Controla si el editor tiene habilitada la edici\\xF3n vinculada. Dependiendo del lenguaje, los s\\xEDmbolos relacionados (por ejemplo, las etiquetas HTML) se actualizan durante la edici\\xF3n.\",\"Controla si el editor debe detectar v\\xEDnculos y hacerlos interactivos.\",\"Resaltar par\\xE9ntesis coincidentes.\",'Se usar\\xE1 un multiplicador en los eventos de desplazamiento de la rueda del mouse \"deltaX\" y \"deltaY\". ',\"Acercar la fuente del editor al usar la rueda del mouse y mantener pulsado 'Cmd'.\",'Ampliar la fuente del editor cuando se use la rueda del mouse mientras se presiona \"Ctrl\".',\"Combinar varios cursores cuando se solapan.\",'Se asigna a \"Control\" en Windows y Linux y a \"Comando\" en macOS.','Se asigna a \"Alt\" en Windows y Linux y a \"Opci\\xF3n\" en macOS.',\"El modificador que se usar\\xE1 para agregar varios cursores con el mouse. Los gestos del mouse Ir a definici\\xF3n y Abrir v\\xEDnculo se adaptar\\xE1n de modo que no entren en conflicto con el [modificador multicursor](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).\",\"Cada cursor pega una \\xFAnica l\\xEDnea del texto.\",\"Cada cursor pega el texto completo.\",\"Controla el pegado cuando el recuento de l\\xEDneas del texto pegado coincide con el recuento de cursores.\",\"Controla el n\\xFAmero m\\xE1ximo de cursores que puede haber en un editor activo a la vez.\",\"No resalta las repeticiones.\",\"Resalta las repeticiones solo en el archivo actual.\",\"Experimental: Resalta las repeticiones en todos los archivos abiertos v\\xE1lidos.\",\"Controla si las repeticiones deben resaltarse en los archivos abiertos.\",\"Controla si debe dibujarse un borde alrededor de la regla de informaci\\xF3n general.\",\"Enfocar el \\xE1rbol al abrir la inspecci\\xF3n\",\"Enfocar el editor al abrir la inspecci\\xF3n\",\"Controla si se debe enfocar el editor en l\\xEDnea o el \\xE1rbol en el widget de vista.\",\"Controla si el gesto del mouse Ir a definici\\xF3n siempre abre el widget interactivo.\",\"Controla el retraso, en milisegundos, tras el cual aparecer\\xE1n sugerencias r\\xE1pidas.\",\"Controla si el editor cambia el nombre autom\\xE1ticamente en el tipo.\",'En desuso. Utilice \"editor.linkedEditing\" en su lugar.',\"Controla si el editor debe representar caracteres de control.\",\"Representar el n\\xFAmero de la \\xFAltima l\\xEDnea cuando el archivo termina con un salto de l\\xEDnea.\",\"Resalta el medianil y la l\\xEDnea actual.\",\"Controla c\\xF3mo debe representar el editor el resaltado de l\\xEDnea actual.\",\"Controla si el editor debe representar el resaltado de la l\\xEDnea actual solo cuando el editor est\\xE1 enfocado.\",\"Representa caracteres de espacio en blanco, excepto los espacios individuales entre palabras.\",\"Represente los caracteres de espacio en blanco solo en el texto seleccionado.\",\"Representa solo los caracteres de espacio en blanco al final.\",\"Controla la forma en que el editor debe representar los caracteres de espacio en blanco.\",\"Controla si las selecciones deber\\xEDan tener las esquinas redondeadas.\",\"Controla el n\\xFAmero de caracteres adicionales a partir del cual el editor se desplazar\\xE1 horizontalmente.\",\"Controla si el editor seguir\\xE1 haciendo scroll despu\\xE9s de la \\xFAltima l\\xEDnea.\",\"Despl\\xE1cese solo a lo largo del eje predominante cuando se desplace vertical y horizontalmente al mismo tiempo. Evita la deriva horizontal cuando se desplaza verticalmente en un trackpad.\",\"Controla si el portapapeles principal de Linux debe admitirse.\",\"Controla si el editor debe destacar las coincidencias similares a la selecci\\xF3n.\",\"Mostrar siempre los controles de plegado.\",\"No mostrar nunca los controles de plegado y reducir el tama\\xF1o del medianil.\",\"Mostrar solo los controles de plegado cuando el mouse est\\xE1 sobre el medianil.\",\"Controla cu\\xE1ndo se muestran los controles de plegado en el medianil.\",\"Controla el fundido de salida del c\\xF3digo no usado.\",\"Controla las variables en desuso tachadas.\",\"Mostrar sugerencias de fragmentos de c\\xF3digo por encima de otras sugerencias.\",\"Mostrar sugerencias de fragmentos de c\\xF3digo por debajo de otras sugerencias.\",\"Mostrar sugerencias de fragmentos de c\\xF3digo con otras sugerencias.\",\"No mostrar sugerencias de fragmentos de c\\xF3digo.\",\"Controla si se muestran los fragmentos de c\\xF3digo con otras sugerencias y c\\xF3mo se ordenan.\",\"Controla si el editor se desplazar\\xE1 con una animaci\\xF3n.\",\"Controla si se debe proporcionar la sugerencia de accesibilidad a los usuarios del lector de pantalla cuando se muestra una finalizaci\\xF3n insertada.\",\"Tama\\xF1o de fuente del widget de sugerencias. Cuando se establece en {0}, se usa el valor de {1}.\",\"Alto de l\\xEDnea para el widget de sugerencias. Cuando se establece en {0}, se usa el valor de {1}. El valor m\\xEDnimo es 8.\",\"Controla si deben aparecer sugerencias de forma autom\\xE1tica al escribir caracteres desencadenadores.\",\"Seleccionar siempre la primera sugerencia.\",'Seleccione sugerencias recientes a menos que al escribir m\\xE1s se seleccione una, por ejemplo, \"console.| -> console.log\" porque \"log\" se ha completado recientemente.','Seleccione sugerencias basadas en prefijos anteriores que han completado esas sugerencias, por ejemplo, \"co -> console\" y \"con -> const\".',\"Controla c\\xF3mo se preseleccionan las sugerencias cuando se muestra la lista,\",\"La pesta\\xF1a se completar\\xE1 insertando la mejor sugerencia de coincidencia encontrada al presionar la pesta\\xF1a\",\"Deshabilitar los complementos para pesta\\xF1as.\",\"La pesta\\xF1a se completa con fragmentos de c\\xF3digo cuando su prefijo coincide. Funciona mejor cuando las 'quickSuggestions' no est\\xE1n habilitadas.\",\"Habilita completar pesta\\xF1as.\",\"Los terminadores de l\\xEDnea no habituales se quitan autom\\xE1ticamente.\",\"Los terminadores de l\\xEDnea no habituales se omiten.\",\"Advertencia de terminadores de l\\xEDnea inusuales que se quitar\\xE1n.\",\"Quite los terminadores de l\\xEDnea inusuales que podr\\xEDan provocar problemas.\",\"Los espacios y tabulaciones se insertan y eliminan en alineaci\\xF3n con tabulaciones.\",\"Use la regla de salto de l\\xEDnea predeterminada.\",\"Los saltos de palabra no deben usarse para texto chino, japon\\xE9s o coreano (CJK). El comportamiento del texto distinto a CJK es el mismo que el normal.\",\"Controla las reglas de salto de palabra usadas para texto chino, japon\\xE9s o coreano (CJK).\",\"Caracteres que se usar\\xE1n como separadores de palabras al realizar operaciones o navegaciones relacionadas con palabras.\",\"Las l\\xEDneas no se ajustar\\xE1n nunca.\",\"Las l\\xEDneas se ajustar\\xE1n en el ancho de la ventanilla.\",'Las l\\xEDneas se ajustar\\xE1n al valor de \"#editor.wordWrapColumn#\". ','Las l\\xEDneas se ajustar\\xE1n al valor que sea inferior: el tama\\xF1o de la ventanilla o el valor de \"#editor.wordWrapColumn#\".',\"Controla c\\xF3mo deben ajustarse las l\\xEDneas.\",'Controla la columna de ajuste del editor cuando \"#editor.wordWrap#\" es \"wordWrapColumn\" o \"bounded\".',\"Controla si las decoraciones de color en l\\xEDnea deben mostrarse con el proveedor de colores del documento predeterminado.\",\"Controla si el editor recibe las pesta\\xF1as o las aplaza al \\xE1rea de trabajo para la navegaci\\xF3n.\",\"Color de fondo para la l\\xEDnea resaltada en la posici\\xF3n del cursor.\",\"Color de fondo del borde alrededor de la l\\xEDnea en la posici\\xF3n del cursor.\",\"Color de fondo de rangos resaltados, como en abrir r\\xE1pido y encontrar caracter\\xEDsticas. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Color de fondo del borde alrededor de los intervalos resaltados.\",\"Color de fondo del s\\xEDmbolo destacado, como Ir a definici\\xF3n o Ir al siguiente/anterior s\\xEDmbolo. El color no debe ser opaco para no ocultar la decoraci\\xF3n subyacente.\",\"Color de fondo del borde alrededor de los s\\xEDmbolos resaltados.\",\"Color del cursor del editor.\",\"Color de fondo del cursor de edici\\xF3n. Permite personalizar el color del caracter solapado por el bloque del cursor.\",\"Color de los cursores del editor principal cuando hay varios cursores presentes.\",\"Color de fondo de los cursores del editor principal cuando hay varios cursores presentes. Permite personalizar el color del car\\xE1cter solapado por el bloque del cursor.\",\"Color de los cursores del editor secundario cuando hay varios cursores presentes.\",\"Color de fondo de los cursores del editor secundario cuando hay varios cursores presentes. Permite personalizar el color del car\\xE1cter solapado por el bloque del cursor.\",\"Color de los caracteres de espacio en blanco del editor.\",\"Color de n\\xFAmeros de l\\xEDnea del editor.\",\"Color de las gu\\xEDas de sangr\\xEDa del editor.\",'\"editorIndentGuide.background\" est\\xE1 en desuso. Use \"editorIndentGuide.background1\" en su lugar.',\"Color de las gu\\xEDas de sangr\\xEDa activas del editor.\",'\"editorIndentGuide.activeBackground\" est\\xE1 en desuso. Use \"editorIndentGuide.activeBackground1\" en su lugar.',\"Color de las gu\\xEDas de sangr\\xEDa del editor (1).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor (2).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor (3).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor (4).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor (5).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor (6).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor activo (1).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor activo (2).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor activo (3).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor activo (4).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor activo (5).\",\"Color de las gu\\xEDas de sangr\\xEDa del editor activo (6).\",\"Color del n\\xFAmero de l\\xEDnea activa en el editor\",\"ID es obsoleto. Usar en lugar 'editorLineNumber.activeForeground'. \",\"Color del n\\xFAmero de l\\xEDnea activa en el editor\",\"Color de la l\\xEDnea final del editor cuando editor.renderFinalNewline se establece en atenuado.\",\"Color de las reglas del editor\",\"Color principal de lentes de c\\xF3digo en el editor\",\"Color de fondo tras corchetes coincidentes\",\"Color de bloques con corchetes coincidentes\",\"Color del borde de la regla de visi\\xF3n general.\",\"Color de fondo de la regla de informaci\\xF3n general del editor.\",\"Color de fondo del margen del editor. Este espacio contiene los m\\xE1rgenes de glifos y los n\\xFAmeros de l\\xEDnea.\",\"Color del borde de c\\xF3digo fuente innecesario (sin usar) en el editor.\",`Opacidad de c\\xF3digo fuente innecesario (sin usar) en el editor. Por ejemplo, \"#000000c0\" representar\\xE1 el c\\xF3digo con un 75 % de opacidad. Para temas de alto contraste, utilice el color del tema 'editorUnnecessaryCode.border' para resaltar el c\\xF3digo innecesario en vez de atenuarlo.`,\"Color del borde del texto fantasma en el editor.\",\"Color de primer plano del texto fantasma en el editor.\",\"Color de fondo del texto fantasma en el editor.\",\"Color de marcador de regla general para los destacados de rango. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de marcador de regla de informaci\\xF3n general para errores. \",\"Color de marcador de regla de informaci\\xF3n general para advertencias.\",\"Color de marcador de regla de informaci\\xF3n general para mensajes informativos. \",\"Color de primer plano de los corchetes (1). Requiere que se habilite la coloraci\\xF3n del par de corchetes.\",\"Color de primer plano de los corchetes (2). Requiere que se habilite la coloraci\\xF3n del par de corchetes.\",\"Color de primer plano de los corchetes (3). Requiere que se habilite la coloraci\\xF3n del par de corchetes.\",\"Color de primer plano de los corchetes (4). Requiere que se habilite la coloraci\\xF3n del par de corchetes.\",\"Color de primer plano de los corchetes (5). Requiere que se habilite la coloraci\\xF3n del par de corchetes.\",\"Color de primer plano de los corchetes (6). Requiere que se habilite la coloraci\\xF3n del par de corchetes.\",\"Color de primer plano de corchetes inesperados.\",\"Color de fondo de las gu\\xEDas de par de corchetes inactivos (1). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes inactivos (2). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes inactivos (3). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes inactivos (4). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes inactivos (5). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes inactivos (6). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de pares de corchetes activos (1). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes activos (2). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de pares de corchetes activos (3). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes activos (4). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes activos (5). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de fondo de las gu\\xEDas de par de corchetes activos (6). Requiere habilitar gu\\xEDas de par de corchetes.\",\"Color de borde usado para resaltar caracteres Unicode.\",\"Color de borde usado para resaltar caracteres unicode.\",\"Si el texto del editor tiene el foco (el cursor parpadea)\",\"Si el editor o un widget del editor tiene el foco (por ejemplo, el foco est\\xE1 en el widget de b\\xFAsqueda)\",\"Si un editor o una entrada de texto enriquecido tienen el foco (el cursor parpadea)\",\"Si el editor es de solo lectura\",\"Si el contexto es un editor de diferencias\",\"Si el contexto es un editor de diferencias incrustado\",null,\"Si todos los archivos del editor de diferencias m\\xFAltiples est\\xE1n contra\\xEDdos\",\"Si el editor de diferencias tiene cambios\",\"Indica si se selecciona un bloque de c\\xF3digo movido para la comparaci\\xF3n\",\"Si el visor de diferencias accesible est\\xE1 visible\",\"Indica si se alcanza el punto de interrupci\\xF3n insertado en paralelo del editor de diferencias\",\"Si el modo insertado est\\xE1 activo\",\"Indica si la modificaci\\xF3n se puede escribir en el editor de diferencias\",\"Indica si la modificaci\\xF3n se puede escribir en el editor de diferencias\",\"URI del documento original\",\"URI del documento modificado\",'Si \"editor.columnSelection\" se ha habilitado',\"Si el editor tiene texto seleccionado\",\"Si el editor tiene varias selecciones\",'Si \"Tabulaci\\xF3n\" mover\\xE1 el foco fuera del editor',\"Si el mantenimiento del puntero del editor es visible\",\"Si se centra el desplazamiento del editor\",\"Si el desplazamiento permanente est\\xE1 centrado\",\"Si el desplazamiento permanente est\\xE1 visible\",\"Si el selector de colores independiente est\\xE1 visible\",\"Si el selector de colores independiente est\\xE1 centrado\",\"Si el editor forma parte de otro m\\xE1s grande (por ejemplo, blocs de notas)\",\"Identificador de idioma del editor\",\"Si el editor tiene un proveedor de elementos de finalizaci\\xF3n\",\"Si el editor tiene un proveedor de acciones de c\\xF3digo\",\"Si el editor tiene un proveedor de CodeLens\",\"Si el editor tiene un proveedor de definiciones\",\"Si el editor tiene un proveedor de declaraciones\",\"Si el editor tiene un proveedor de implementaci\\xF3n\",\"Si el editor tiene un proveedor de definiciones de tipo\",\"Si el editor tiene un proveedor de contenido con mantenimiento del puntero\",\"Si el editor tiene un proveedor de resaltado de documentos\",\"Si el editor tiene un proveedor de s\\xEDmbolos de documentos\",\"Si el editor tiene un proveedor de referencia\",\"Si el editor tiene un proveedor de cambio de nombre\",\"Si el editor tiene un proveedor de ayuda de signatura\",\"Si el editor tiene un proveedor de sugerencias insertadas\",\"Si el editor tiene un proveedor de formatos de documento\",\"Si el editor tiene un proveedor de formatos de selecci\\xF3n de documentos\",\"Si el editor tiene varios proveedores de formatos del documento\",\"Si el editor tiene varios proveedores de formato de la selecci\\xF3n de documentos\",\"matriz\",\"booleano\",\"clase\",\"constante\",\"constructor\",\"enumeraci\\xF3n\",\"miembro de la enumeraci\\xF3n\",\"evento\",\"campo\",\"archivo\",\"funci\\xF3n\",\"interfaz\",\"clave\",\"m\\xE9todo\",\"m\\xF3dulo\",\"espacio de nombres\",\"NULL\",\"n\\xFAmero\",\"objeto\",\"operador\",\"paquete\",\"propiedad\",\"cadena\",\"estructura\",\"par\\xE1metro de tipo\",\"variable\",\"{0} ({1})\",\"Texto sin formato\",\"Escribiendo\",\"Desarrollador: inspeccionar tokens\",\"Vaya a L\\xEDnea/Columna...\",\"Mostrar todos los proveedores de acceso r\\xE1pido\",\"Paleta de comandos\",\"Mostrar y ejecutar comandos\",\"Ir a s\\xEDmbolo...\",\"Ir a s\\xEDmbolo por categor\\xEDa...\",\"Contenido del editor\",\"Alternar tema de contraste alto\",\"{0} ediciones realizadas en {1} archivos\",\"Mostrar m\\xE1s ({0})\",\"{0} caracteres\",\"Delimitador de la selecci\\xF3n\",\"Delimitador establecido en {0}:{1}\",\"Establecer el delimitador de la selecci\\xF3n\",\"Ir al delimitador de la selecci\\xF3n\",\"Seleccionar desde el delimitador hasta el cursor\",\"Cancelar el delimitador de la selecci\\xF3n\",\"Resumen color de marcador de regla para corchetes.\",\"Ir al corchete\",\"Seleccionar para corchete\",\"Quitar corchetes\",\"Ir al &&corchete\",\"Se selecciona el texto que est\\xE1 dentro, incluyendo los corchetes o las llaves\",\"Mover el texto seleccionado a la izquierda\",\"Mover el texto seleccionado a la derecha\",\"Transponer letras\",\"Cor&&tar\",\"Cortar\",\"Cortar\",\"Cortar\",\"&&Copiar\",\"Copiar\",\"Copiar\",\"Copiar\",\"&&Pegar\",\"Pegar\",\"Pegar\",\"Pegar\",\"Copiar con resaltado de sintaxis\",\"Copiar como\",\"Copiar como\",\"Compartir\",\"Compartir\",\"Se ha producido un error desconocido al aplicar la acci\\xF3n de c\\xF3digo\",\"Tipo de la acci\\xF3n de c\\xF3digo que se va a ejecutar.\",\"Controla cu\\xE1ndo se aplican las acciones devueltas.\",\"Aplicar siempre la primera acci\\xF3n de c\\xF3digo devuelto.\",\"Aplicar la primera acci\\xF3n de c\\xF3digo devuelta si solo hay una.\",\"No aplique las acciones de c\\xF3digo devuelto.\",\"Controla si solo se deben devolver las acciones de c\\xF3digo preferidas.\",\"Correcci\\xF3n R\\xE1pida\",\"No hay acciones de c\\xF3digo disponibles\",'No hay acciones de c\\xF3digo preferidas para \"{0}\" disponibles','No hay ninguna acci\\xF3n de c\\xF3digo para \"{0}\" disponible.',\"No hay acciones de c\\xF3digo preferidas disponibles\",\"No hay acciones de c\\xF3digo disponibles\",\"Refactorizar...\",'No hay refactorizaciones preferidas de \"{0}\" disponibles','No hay refactorizaciones de \"{0}\" disponibles',\"No hay ninguna refactorizaci\\xF3n favorita disponible.\",\"No hay refactorizaciones disponibles\",\"Acci\\xF3n de c\\xF3digo fuente...\",'No hay acciones de origen preferidas para \"{0}\" disponibles','No hay ninguna acci\\xF3n de c\\xF3digo fuente para \"{0}\" disponible.',\"No hay ninguna acci\\xF3n de c\\xF3digo fuente favorita disponible.\",\"No hay acciones de origen disponibles\",\"Organizar Importaciones\",\"No hay acciones de importaci\\xF3n disponibles\",\"Corregir todo\",\"No est\\xE1 disponible la acci\\xF3n de corregir todo\",\"Corregir autom\\xE1ticamente...\",\"No hay autocorrecciones disponibles\",\"Activar/desactivar la visualizaci\\xF3n de los encabezados de los grupos en el men\\xFA de Acci\\xF3n de c\\xF3digo.\",\"Habilita o deshabilita la visualizaci\\xF3n de la correcci\\xF3n r\\xE1pida m\\xE1s cercana dentro de una l\\xEDnea cuando no est\\xE1 actualmente en un diagn\\xF3stico.\",\"Habilitar el desencadenamiento {0} cuando {1} se establece en {2}. Las acciones de c\\xF3digo deben establecerse en {3} para que se desencadenen los cambios de ventana y de foco.\",\"Contexto: {0} en la l\\xEDnea {1} y columna {2}.\",\"Ocultar deshabilitado\",\"Mostrar elementos deshabilitados\",\"M\\xE1s Acciones...\",\"Correcci\\xF3n r\\xE1pida\",\"Extraer\",\"Insertado\",\"Reescribir\",\"Mover\",\"Delimitar con\",\"Acci\\xF3n de origen\",\"Icono que genera el men\\xFA de acciones de c\\xF3digo desde el medianil cuando no hay espacio en el editor.\",\"Icono que genera el men\\xFA de acciones de c\\xF3digo desde el medianil cuando no hay espacio en el editor y hay disponible una correcci\\xF3n r\\xE1pida.\",\"Icono que genera el men\\xFA de acciones de c\\xF3digo desde el medianil cuando no hay espacio en el editor y hay disponible una correcci\\xF3n de IA.\",\"Icono que genera el men\\xFA de acciones de c\\xF3digo desde el medianil cuando no hay espacio en el editor y hay disponible una correcci\\xF3n de IA y una correcci\\xF3n r\\xE1pida.\",\"Icono que genera el men\\xFA de acciones de c\\xF3digo desde el medianil cuando no hay espacio en el editor y hay disponible una correcci\\xF3n de IA y una correcci\\xF3n r\\xE1pida.\",\"Ejecutar: {0}\",\"Mostrar acciones de c\\xF3digo. Correcci\\xF3n r\\xE1pida preferida disponible ({0})\",\"Mostrar acciones de c\\xF3digo ({0})\",\"Mostrar acciones de c\\xF3digo\",\"Mostrar comandos de lente de c\\xF3digo para la l\\xEDnea actual\",\"Seleccionar un comando\",null,null,null,null,null,null,null,null,null,\"Alternar comentario de l\\xEDnea\",\"&&Alternar comentario de l\\xEDnea\",\"Agregar comentario de l\\xEDnea\",\"Quitar comentario de l\\xEDnea\",\"Alternar comentario de bloque\",\"Alternar &&bloque de comentario\",\"Minimapa\",\"Representar caracteres\",\"Tama\\xF1o vertical\",\"Proporcional\",\"Relleno\",\"Ajustar\",\"Control deslizante\",\"Pasar el mouse\",\"Siempre\",\"Mostrar men\\xFA contextual del editor\",\"Cursor Deshacer\",\"Cursor Rehacer\",`El tipo de edici\\xF3n de pegado con la que se intentar\\xE1 pegar.\\r\nEn caso de haber varias ediciones para esta variante, el editor mostrar\\xE1 un selector. En caso de que no haya ediciones de este tipo, el editor mostrar\\xE1 un mensaje de error.`,\"Pegar como...\",\"Pegar como texto\",\"Si se muestra el widget de pegado\",\"Mostrar opciones de pegado...\",\"No se encontraron ediciones de pegado para '{0}'\",\"Resolviendo la edici\\xF3n de pegado. Hacer clic para cancelar\",\"Ejecutando controladores de pegado. Haga clic para cancelar y hacer pegado b\\xE1sico\",\"Seleccionar acci\\xF3n pegar\",\"Ejecutando controladores de pegado\",\"Insertar texto sin formato\",\"Insertar URIs\",\"Insertar URI\",\"Insertar rutas de acceso\",\"Insertar ruta de acceso\",\"Insertar rutas de acceso relativas\",\"Insertar ruta de acceso relativa\",\"Insertar HTML\",null,\"Si se muestra el widget de colocaci\\xF3n\",\"Mostrar opciones de colocaci\\xF3n...\",\"Ejecutando controladores de colocaci\\xF3n. Haga clic para cancelar.\",`Error al resolver la edici\\xF3n \"{0}\":\\r\n{1}`,`Error al aplicar la edici\\xF3n ''{0}:\\r\n{1}`,'Indica si el editor ejecuta una operaci\\xF3n que se puede cancelar como, por ejemplo, \"Inspeccionar referencias\"',\"El archivo es demasiado grande para realizar una operaci\\xF3n de reemplazar todo.\",\"Buscar\",\"&&Buscar\",\"B\\xFAsqueda con argumentos\",\"Buscar con selecci\\xF3n\",\"Buscar siguiente\",\"Buscar anterior\",\"Ir a Coincidencia...\",\"No hay coincidencias. Intente buscar otra cosa.\",\"Escriba un n\\xFAmero para ir a una coincidencia espec\\xEDfica (entre 1 y {0})\",\"Escriba un n\\xFAmero entre 1 y {0}\",\"Escriba un n\\xFAmero entre 1 y {0}\",\"Buscar selecci\\xF3n siguiente\",\"Buscar selecci\\xF3n anterior\",\"Reemplazar\",\"&&Reemplazar\",\"Icono para indicar que el widget de b\\xFAsqueda del editor est\\xE1 contra\\xEDdo.\",\"Icono para indicar que el widget de b\\xFAsqueda del editor est\\xE1 expandido.\",'Icono para \"Buscar en selecci\\xF3n\" en el widget de b\\xFAsqueda del editor.','Icono para \"Reemplazar\" en el widget de b\\xFAsqueda del editor.','Icono para \"Reemplazar todo\" en el widget de b\\xFAsqueda del editor.','Icono para \"Buscar anterior\" en el widget de b\\xFAsqueda del editor.','Icono para \"Buscar siguiente\" en el widget de b\\xFAsqueda del editor.',\"Buscar y reemplazar\",\"Buscar\",\"Buscar\",\"Coincidencia anterior\",\"Coincidencia siguiente\",\"Buscar en selecci\\xF3n\",\"Cerrar\",\"Reemplazar\",\"Reemplazar\",\"Reemplazar\",\"Reemplazar todo\",\"Alternar reemplazar\",\"S\\xF3lo los primeros {0} resultados son resaltados, pero todas las operaciones de b\\xFAsqueda trabajan en todo el texto.\",\"{0} de {1}\",\"No hay resultados\",\"Encontrados: {0}\",'{0} encontrado para \"{1}\"','{0} encontrado para \"{1}\", en {2}','{0} encontrado para \"{1}\"',\"Ctrl+Entrar ahora inserta un salto de l\\xEDnea en lugar de reemplazar todo. Puede modificar el enlace de claves para editor.action.replaceAll para invalidar este comportamiento.\",\"Desplegar\",\"Desplegar de forma recursiva\",\"Plegar\",\"Alternar plegado\",\"Plegar de forma recursiva\",\"Alternar plegado recursivo\",\"Cerrar todos los comentarios de bloque\",\"Plegar todas las regiones\",\"Desplegar Todas las Regiones\",\"Plegar todas excepto las seleccionadas\",\"Desplegar todas excepto las seleccionadas\",\"Plegar todo\",\"Desplegar todo\",\"Ir al plegado primario\",\"Ir al rango de plegado anterior\",\"Ir al rango de plegado siguiente\",\"Crear rango de plegado a partir de la selecci\\xF3n\",\"Quitar rangos de plegado manuales\",\"Nivel de plegamiento {0}\",\"Color de fondo detr\\xE1s de los rangos plegados. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color del texto contra\\xEDdo despu\\xE9s de la primera l\\xEDnea de un rango doblado.\",\"Color del control plegable en el medianil del editor.\",\"Icono de rangos expandidos en el margen de glifo del editor.\",\"Icono de rangos contra\\xEDdos en el margen de glifo del editor.\",\"Icono de intervalos contra\\xEDdos manualmente en el margen del glifo del editor.\",\"Icono de intervalos expandidos manualmente en el margen del glifo del editor.\",\"Haga clic para expandir el rango.\",\"Haga clic para contraer el intervalo.\",\"Aumentar el tama\\xF1o de fuente del editor\",\"Disminuir el tama\\xF1o de fuente del editor\",\"Restablecer tama\\xF1o de fuente del editor\",\"Dar formato al documento\",\"Dar formato a la selecci\\xF3n\",\"Ir al siguiente problema (Error, Advertencia, Informaci\\xF3n)\",\"Icono para ir al marcador siguiente.\",\"Ir al problema anterior (Error, Advertencia, Informaci\\xF3n)\",\"Icono para ir al marcador anterior.\",\"Ir al siguiente problema en Archivos (Error, Advertencia, Informaci\\xF3n)\",\"Siguiente &&problema\",\"Ir al problema anterior en Archivos (Error, Advertencia, Informaci\\xF3n)\",\"Anterior &&problema\",\"Error\",\"Advertencia\",\"Informaci\\xF3n\",\"Sugerencia\",\"{0} en {1}. \",\"{0} de {1} problemas\",\"{0} de {1} problema\",\"Color de los errores del widget de navegaci\\xF3n de marcadores del editor.\",\"Fondo del encabezado del error del widget de navegaci\\xF3n del marcador de editor.\",\"Color de las advertencias del widget de navegaci\\xF3n de marcadores del editor.\",\"Fondo del encabezado de la advertencia del widget de navegaci\\xF3n del marcador de editor.\",\"Color del widget informativo marcador de navegaci\\xF3n en el editor.\",\"Fondo del encabezado de informaci\\xF3n del widget de navegaci\\xF3n del marcador de editor.\",\"Fondo del widget de navegaci\\xF3n de marcadores del editor.\",\"Ver\",\"Definiciones\",'No se encontr\\xF3 ninguna definici\\xF3n para \"{0}\"',\"No se encontr\\xF3 ninguna definici\\xF3n\",\"Ir a &&definici\\xF3n\",\"Declaraciones\",\"No se encontr\\xF3 ninguna definici\\xF3n para '{0}'\",\"No se encontr\\xF3 ninguna declaraci\\xF3n\",\"Ir a &&declaraci\\xF3n\",\"No se encontr\\xF3 ninguna definici\\xF3n para '{0}'\",\"No se encontr\\xF3 ninguna declaraci\\xF3n\",\"Definiciones de tipo\",'No se encontr\\xF3 ninguna definici\\xF3n de tipo para \"{0}\"',\"No se encontr\\xF3 ninguna definici\\xF3n de tipo\",\"Ir a la definici\\xF3n de &&tipo\",\"Implementaciones\",'No se encontr\\xF3 ninguna implementaci\\xF3n para \"{0}\"',\"No se encontr\\xF3 ninguna implementaci\\xF3n\",\"Ir a &&implementaciones\",'No se ha encontrado ninguna referencia para \"{0}\".',\"No se encontraron referencias\",\"Ir a &&referencias\",\"Referencias\",\"Referencias\",\"Ubicaciones\",'No hay resultados para \"{0}\"',\"Referencias\",\"Ir a definici\\xF3n\",\"Abrir definici\\xF3n en el lateral\",\"Ver la definici\\xF3n sin salir\",\"Ir a Definici\\xF3n\",\"Inspeccionar Definici\\xF3n\",\"Ir a la definici\\xF3n de tipo\",\"Inspeccionar definici\\xF3n de tipo\",\"Ir a Implementaciones\",\"Inspeccionar implementaciones\",\"Ir a Referencias\",\"Inspeccionar Referencias\",\"Ir a cualquier s\\xEDmbolo\",\"Haga clic para mostrar {0} definiciones.\",'Indica si est\\xE1 visible la inspecci\\xF3n de referencias, como \"Inspecci\\xF3n de referencias\" o \"Ver la definici\\xF3n sin salir\".',\"Cargando...\",\"{0} ({1})\",\"{0} referencias\",\"{0} referencia\",\"Referencias\",\"vista previa no disponible\",\"No hay resultados\",\"Referencias\",\"en {0} en la l\\xEDnea {1} en la columna {2}\",\"{0} en {1} en la l\\xEDnea {2} en la columna {3}\",\"1 s\\xEDmbolo en {0}, ruta de acceso completa {1}\",\"{0} s\\xEDmbolos en {1}, ruta de acceso completa {2}\",\"No se encontraron resultados\",\"Encontr\\xF3 1 s\\xEDmbolo en {0}\",\"Encontr\\xF3 {0} s\\xEDmbolos en {1}\",\"Encontr\\xF3 {0} s\\xEDmbolos en {1} archivos\",\"Indica si hay ubicaciones de s\\xEDmbolos a las que se pueda navegar solo con el teclado.\",\"S\\xEDmbolo {0} de {1}, {2} para el siguiente\",\"S\\xEDmbolo {0} de {1}\",\"Aumentar nivel de detalle al mantener el puntero sobre el editor\",\"Disminuir nivel de detalle al mantener el puntero\",\"Mostrar o centrarse al mantener el puntero\",\"El cuadro del elemento sobre el que se ha pasado el rat\\xF3n se enfocar\\xE1 autom\\xE1ticamente.\",\"El cuadro del elemento sobre el que se ha pasado el rat\\xF3n se enfocar\\xE1 solo si ya est\\xE1 visible.\",\"Se enfocar\\xE1 el cuadro que aparece cuando se pasa el rat\\xF3n por encima de un elemento.\",\"Mostrar vista previa de la definici\\xF3n que aparece al mover el puntero\",\"Desplazar hacia arriba al mantener el puntero\",\"Desplazar hacia abajo al mantener el puntero\",\"Desplazar al mantener el puntero a la izquierda\",\"Desplazar al mantener el puntero a la derecha\",\"Desplazamiento de p\\xE1gina hacia arriba\",\"Desplazamiento de p\\xE1gina hacia abajo\",\"Ir al puntero superior\",\"Ir a la parte inferior al mantener el puntero\",\"Mostrar o centrar al mantener el puntero sobre el editor, que muestra documentaci\\xF3n, referencias y otro contenido para un s\\xEDmbolo en la posici\\xF3n actual del cursor.\",\"Muestre la vista previa de la definici\\xF3n al mantener el puntero sobre el editor.\",\"Despl\\xE1cese hacia arriba al mantener el puntero sobre el editor.\",\"Despl\\xE1cese hacia abajo al mantener el puntero sobre el editor.\",\"Despl\\xE1cese a la izquierda al mantener el puntero sobre el editor.\",\"Despl\\xE1cese a la derecha al mantener el puntero sobre el editor.\",\"Desplazar p\\xE1gina hacia arriba al mantener el puntero sobre el editor.\",\"Desplace la p\\xE1gina hacia abajo al mantener el puntero sobre el editor.\",\"Vaya a la parte superior del editor al mantener el puntero.\",\"Vaya a la parte inferior del editor al mantener el puntero sobre el editor.\",\"Icono para aumentar el nivel de detalle al mantener el puntero.\",\"Icono para reducir el nivel de detalle al mantener el puntero.\",\"Cargando...\",'Representaci\\xF3n en pausa durante una l\\xEDnea larga por motivos de rendimiento. Esto se puede configurar mediante \"editor.stopRenderingLineAfter\".','Por motivos de rendimiento, la tokenizaci\\xF3n se omite con filas largas. Esta opci\\xF3n se puede configurar con \"editor.maxTokenizationLineLength\".',\"Aumentar nivel de detalle al mantener el puntero ({0})\",\"Aumentar nivel de detalle al mantener el puntero\",\"Disminuir nivel de detalle al mantener el puntero ({0})\",\"Disminuir nivel de detalle al mantener el puntero\",\"Ver el problema\",\"No hay correcciones r\\xE1pidas disponibles\",\"Buscando correcciones r\\xE1pidas...\",\"No hay correcciones r\\xE1pidas disponibles\",\"Correcci\\xF3n R\\xE1pida\",\"Convertir sangr\\xEDa en espacios\",\"Convertir sangr\\xEDa en tabulaciones\",\"Tama\\xF1o de tabulaci\\xF3n configurado\",\"Tama\\xF1o de tabulaci\\xF3n predeterminado\",\"Tama\\xF1o de tabulaci\\xF3n actual\",\"Seleccionar tama\\xF1o de tabulaci\\xF3n para el archivo actual\",\"Aplicar sangr\\xEDa con tabulaciones\",\"Aplicar sangr\\xEDa con espacios\",\"Cambiar tama\\xF1o de visualizaci\\xF3n de tabulaci\\xF3n\",\"Detectar sangr\\xEDa del contenido\",\"Volver a aplicar sangr\\xEDa a l\\xEDneas\",\"Volver a aplicar sangr\\xEDa a l\\xEDneas seleccionadas\",\"Convierta la sangr\\xEDa de tabulaci\\xF3n en espacios.\",\"Convierte la sangr\\xEDa de espacios en tabulaciones.\",\"Usar sangr\\xEDa con tabulaciones.\",\"Use sangr\\xEDa con espacios.\",\"Cambie el tama\\xF1o de espacio equivalente de la pesta\\xF1a.\",\"Detectar la sangr\\xEDa del contenido.\",\"Vuelva a aplicar sangr\\xEDa a las l\\xEDneas del editor.\",\"Vuelve a aplicar sangr\\xEDa a las l\\xEDneas seleccionadas del editor.\",\"Haga doble clic para insertar\",\"cmd + clic\",\"ctrl + clic\",\"opci\\xF3n + clic\",\"alt + clic\",\"Ir a Definici\\xF3n ({0}), haga clic con el bot\\xF3n derecho para obtener m\\xE1s informaci\\xF3n\",\"Ir a Definici\\xF3n ({0})\",\"Ejecutar comando\",\"Mostrar sugerencia alineada siguiente\",\"Mostrar sugerencia alineada anterior\",\"Desencadenar sugerencia insertada\",\"Aceptar la siguiente palabra de sugerencia insertada\",\"Aceptar palabra\",\"Aceptar la siguiente l\\xEDnea de sugerencia insertada\",\"Aceptar l\\xEDnea\",\"Aceptar sugerencia insertada\",\"Aceptar\",\"Ocultar sugerencia insertada\",\"Mostrar siempre la barra de herramientas\",\"Si una sugerencia alineada est\\xE1 visible\",\"Si la sugerencia alineada comienza con un espacio en blanco\",\"Si la sugerencia insertada comienza con un espacio en blanco menor que lo que se insertar\\xEDa mediante tabulaci\\xF3n\",\"Si las sugerencias deben suprimirse para la sugerencia actual\",\"Inspeccionar esto en la vista accesible ({0})\",\"Sugerencia:\",\"Icono para mostrar la sugerencia de par\\xE1metro siguiente.\",\"Icono para mostrar la sugerencia de par\\xE1metro anterior.\",\"{0} ({1})\",\"Anterior\",\"Siguiente\",null,null,null,null,null,null,null,null,\"Reemplazar con el valor anterior\",\"Reemplazar con el valor siguiente\",\"Expandir selecci\\xF3n de l\\xEDnea\",\"Copiar l\\xEDnea arriba\",\"&&Copiar l\\xEDnea arriba\",\"Copiar l\\xEDnea abajo\",\"Co&&piar l\\xEDnea abajo\",\"Selecci\\xF3n duplicada\",\"&&Duplicar selecci\\xF3n\",\"Mover l\\xEDnea hacia arriba\",\"Mo&&ver l\\xEDnea arriba\",\"Mover l\\xEDnea hacia abajo\",\"Mover &&l\\xEDnea abajo\",\"Ordenar l\\xEDneas en orden ascendente\",\"Ordenar l\\xEDneas en orden descendente\",\"Eliminar l\\xEDneas duplicadas\",\"Recortar espacio final\",\"Eliminar l\\xEDnea\",\"Sangr\\xEDa de l\\xEDnea\",\"Anular sangr\\xEDa de l\\xEDnea\",\"Insertar l\\xEDnea arriba\",\"Insertar l\\xEDnea debajo\",\"Eliminar todo a la izquierda\",\"Eliminar todo lo que est\\xE1 a la derecha\",\"Unir l\\xEDneas\",\"Transponer caracteres alrededor del cursor\",\"Transformar a may\\xFAsculas\",\"Transformar a min\\xFAsculas\",\"Transformar en Title Case\",\"Transformar en Snake Case\",\"Transformar a may\\xFAsculas y min\\xFAsculas Camel\",\"Transformar en Pascal Case\",\"Transformar en caso Kebab\",\"Iniciar edici\\xF3n vinculada\",\"Color de fondo cuando el editor cambia el nombre autom\\xE1ticamente al escribir.\",\"No se pudo abrir este v\\xEDnculo porque no tiene un formato correcto: {0}\",\"No se pudo abrir este v\\xEDnculo porque falta el destino.\",\"Ejecutar comando\",\"Seguir v\\xEDnculo\",\"cmd + clic\",\"ctrl + clic\",\"opci\\xF3n + clic\",\"alt + clic\",\"Ejecutar el comando {0}\",\"Abrir v\\xEDnculo\",\"Indica si el editor muestra actualmente un mensaje insertado\",\"Cursor agregado: {0}\",\"Cursores agregados: {0}\",\"Agregar cursor arriba\",\"&&Agregar cursor arriba\",\"Agregar cursor debajo\",\"A&&gregar cursor abajo\",\"A\\xF1adir cursores a finales de l\\xEDnea\",\"Agregar c&&ursores a extremos de l\\xEDnea\",\"A\\xF1adir cursores a la parte inferior\",\"A\\xF1adir cursores a la parte superior\",\"Agregar selecci\\xF3n hasta la siguiente coincidencia de b\\xFAsqueda\",\"Agregar &&siguiente repetici\\xF3n\",\"Agregar selecci\\xF3n hasta la anterior coincidencia de b\\xFAsqueda\",\"Agregar r&&epetici\\xF3n anterior\",\"Mover \\xFAltima selecci\\xF3n hasta la siguiente coincidencia de b\\xFAsqueda\",\"Mover \\xFAltima selecci\\xF3n hasta la anterior coincidencia de b\\xFAsqueda\",\"Seleccionar todas las repeticiones de coincidencia de b\\xFAsqueda\",\"Seleccionar todas las &&repeticiones\",\"Cambiar todas las ocurrencias\",\"Enfocar el siguiente cursor\",\"Centra el cursor siguiente\",\"Enfocar cursor anterior\",\"Centra el cursor anterior\",\"Sugerencias para par\\xE1metros Trigger\",\"Icono para mostrar la sugerencia de par\\xE1metro siguiente.\",\"Icono para mostrar la sugerencia de par\\xE1metro anterior.\",\"{0}, sugerencia\",\"Color de primer plano del elemento activo en la sugerencia de par\\xE1metro.\",\"Indica si el editor de c\\xF3digo actual est\\xE1 incrustado en la inspecci\\xF3n.\",\"Cerrar\",\"Color de fondo del \\xE1rea de t\\xEDtulo de la vista de inspecci\\xF3n.\",\"Color del t\\xEDtulo de la vista de inpecci\\xF3n.\",\"Color de la informaci\\xF3n del t\\xEDtulo de la vista de inspecci\\xF3n.\",\"Color de los bordes y la flecha de la vista de inspecci\\xF3n.\",\"Color de fondo de la lista de resultados de vista de inspecci\\xF3n.\",\"Color de primer plano de los nodos de inspecci\\xF3n en la lista de resultados.\",\"Color de primer plano de los archivos de inspecci\\xF3n en la lista de resultados.\",\"Color de fondo de la entrada seleccionada en la lista de resultados de vista de inspecci\\xF3n.\",\"Color de primer plano de la entrada seleccionada en la lista de resultados de vista de inspecci\\xF3n.\",\"Color de fondo del editor de vista de inspecci\\xF3n.\",\"Color de fondo del margen en el editor de vista de inspecci\\xF3n.\",\"Color de fondo del desplazamiento permanente en el editor de vista de inspecci\\xF3n.\",\"Buscar coincidencia con el color de resaltado de la lista de resultados de vista de inspecci\\xF3n.\",\"Buscar coincidencia del color de resultado del editor de vista de inspecci\\xF3n.\",\"Hacer coincidir el borde resaltado en el editor de vista previa.\",\"Color de primer plano del texto del marcador de posici\\xF3n en el editor.\",\"Abra primero un editor de texto para ir a una l\\xEDnea.\",\"Vaya a la l\\xEDnea {0} y al car\\xE1cter {1}.\",\"Ir a la l\\xEDnea {0}.\",\"L\\xEDnea actual: {0}, Car\\xE1cter: {1}. Escriba un n\\xFAmero de l\\xEDnea entre 1 y {2} a los que navegar.\",\"L\\xEDnea actual: {0}, Car\\xE1cter: {1}. Escriba un n\\xFAmero de l\\xEDnea al que navegar.\",\"Para ir a un s\\xEDmbolo, primero abra un editor de texto con informaci\\xF3n de s\\xEDmbolo.\",\"El editor de texto activo no proporciona informaci\\xF3n de s\\xEDmbolos.\",\"No hay ning\\xFAn s\\xEDmbolo del editor coincidente.\",\"No hay s\\xEDmbolos del editor.\",\"Abrir en el lateral\",\"Abrir en la parte inferior\",\"s\\xEDmbolos ({0})\",\"propiedades ({0})\",\"m\\xE9todos ({0})\",\"funciones ({0})\",\"constructores ({0})\",\"variables ({0})\",\"clases ({0})\",\"estructuras ({0})\",\"eventos ({0})\",\"operadores ({0})\",\"interfaces ({0})\",\"espacios de nombres ({0})\",\"paquetes ({0})\",\"par\\xE1metros de tipo ({0})\",\"m\\xF3dulos ({0})\",\"propiedades ({0})\",\"enumeraciones ({0})\",\"miembros de enumeraci\\xF3n ({0})\",\"cadenas ({0})\",\"archivos ({0})\",\"matrices ({0})\",\"n\\xFAmeros ({0})\",\"booleanos ({0})\",\"objetos ({0})\",\"claves ({0})\",\"campos ({0})\",\"constantes ({0})\",\"No se puede editar en la entrada de solo lectura\",\"No se puede editar en un editor de s\\xF3lo lectura\",\"No hay ning\\xFAn resultado.\",\"Error desconocido al resolver el cambio de nombre de la ubicaci\\xF3n\",\"Cambiando el nombre de '{0}' a '{1}'\",\"Cambiar el nombre de {0} a {1}\",\"Nombre cambiado correctamente de '{0}' a '{1}'. Resumen: {2}\",\"No se pudo cambiar el nombre a las ediciones de aplicaci\\xF3n\",\"No se pudo cambiar el nombre de las ediciones de c\\xE1lculo\",\"Cambiar el nombre del s\\xEDmbolo\",\"Activar/desactivar la capacidad de previsualizar los cambios antes de cambiar el nombre\",\"Enfocar la siguiente sugerencia de cambio de nombre\",\"Enfocar sugerencia de cambio de nombre anterior\",\"Indica si el widget de cambio de nombre de entrada est\\xE1 visible.\",\"Si el widget de entrada de cambio de nombre est\\xE1 enfocado\",\"{0} para cambiar de nombre, {1} para obtener una vista previa\",\"Se han recibido {0} sugerencias de cambio de nombre\",\"Cambie el nombre de la entrada. Escriba el nuevo nombre y presione Entrar para confirmar.\",\"Generar sugerencias de nombre nuevo\",\"Cancelar\",\"Expandir selecci\\xF3n\",\"&&Expandir selecci\\xF3n\",\"Reducir la selecci\\xF3n\",\"&&Reducir selecci\\xF3n\",\"Indica si el editor actual est\\xE1 en modo de fragmentos de c\\xF3digo.\",\"Indica si hay una tabulaci\\xF3n siguiente cuando se est\\xE1 en modo de fragmentos de c\\xF3digo.\",\"Si hay una tabulaci\\xF3n anterior cuando se est\\xE1 en modo de fragmentos de c\\xF3digo.\",\"Ir al marcador de posici\\xF3n siguiente...\",\"Domingo\",\"Lunes\",\"Martes\",\"Mi\\xE9rcoles\",\"Jueves\",\"Viernes\",\"S\\xE1bado\",\"Dom\",\"Lun\",\"Mar\",\"Mi\\xE9\",\"Jue\",\"Vie\",\"S\\xE1b\",\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"May\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\",\"Ene\",\"Feb\",\"Mar\",\"Abr\",\"May\",\"Jun\",\"Jul\",\"Ago\",\"Sep\",\"Oct\",\"Nov\",\"Dic\",\"&&Alternar desplazamiento permanente del editor\",\"Desplazamiento permanente\",\"&&Desplazamiento permanente\",\"&&Desplazamiento permanente de foco\",\"Alternar desplazamiento Sticky del editor\",\"Alternar o habilitar el desplazamiento permanente del editor que muestra los \\xE1mbitos anidados en la parte superior de la ventanilla\",\"Centrarse en el desplazamiento permanente del editor\",\"Seleccionar la siguiente l\\xEDnea de desplazamiento r\\xE1pida del editor\",\"Seleccionar la l\\xEDnea de desplazamiento r\\xE1pida anterior\",\"Ir a la l\\xEDnea de desplazamiento r\\xE1pida centrada\",\"Seleccionar el Editor\",\"Si alguna sugerencia tiene el foco\",\"Indica si los detalles de las sugerencias est\\xE1n visibles.\",\"Indica si hay varias sugerencias para elegir.\",\"Indica si la inserci\\xF3n de la sugerencia actual genera un cambio o si ya se ha escrito todo.\",\"Indica si se insertan sugerencias al presionar Entrar.\",\"Indica si la sugerencia actual tiene el comportamiento de inserci\\xF3n y reemplazo.\",\"Indica si el comportamiento predeterminado es insertar o reemplazar.\",\"Indica si la sugerencia actual admite la resoluci\\xF3n de m\\xE1s detalles.\",'Aceptando \"{0}\" ediciones adicionales de {1} realizadas',\"Sugerencias para Trigger\",\"Insertar\",\"Insertar\",\"Reemplazar\",\"Reemplazar\",\"Insertar\",\"Mostrar menos\",\"Mostrar m\\xE1s\",\"Restablecer tama\\xF1o del widget de sugerencias\",\"Color de fondo del widget sugerido.\",\"Color de borde del widget sugerido.\",\"Color de primer plano del widget sugerido.\",\"Color de primer plano de le entrada seleccionada del widget de sugerencias.\",\"Color de primer plano del icono de la entrada seleccionada en el widget de sugerencias.\",\"Color de fondo de la entrada seleccionada del widget sugerido.\",\"Color del resaltado coincidido en el widget sugerido.\",\"Color de los resaltados de coincidencia en el widget de sugerencias cuando se enfoca un elemento.\",\"Color de primer plano del estado del widget sugerido.\",\"Cargando...\",\"No hay sugerencias.\",\"Sugerir\",\"{0} {1}, {2}\",\"{0} {1}\",\"{0}, {1}\",\"{0}, documentos: {1}\",\"Cerrar\",\"Cargando...\",\"Icono para obtener m\\xE1s informaci\\xF3n en el widget de sugerencias.\",\"Leer m\\xE1s\",\"Color de primer plano de los s\\xEDmbolos de matriz. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos booleanos. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de clase. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de color. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos constantes. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de constructor. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de enumerador. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de miembro del enumerador. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de evento. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de campo. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de archivo. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de carpeta. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de funci\\xF3n. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de interfaz. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de claves. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de palabra clave. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de m\\xE9todo. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de m\\xF3dulo. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de espacio de nombres. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos nulos. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano para los s\\xEDmbolos num\\xE9ricos. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de objeto. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano para los s\\xEDmbolos del operador. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de paquete. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de propiedad. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de referencia. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de fragmento de c\\xF3digo. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de cadena. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de estructura. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de texto. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano para los s\\xEDmbolos de par\\xE1metro de tipo. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos de unidad. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Color de primer plano de los s\\xEDmbolos variables. Estos s\\xEDmbolos aparecen en el contorno, la ruta de navegaci\\xF3n y el widget de sugerencias.\",\"Presionando la pesta\\xF1a ahora mover\\xE1 el foco al siguiente elemento enfocable.\",\"Presionando la pesta\\xF1a ahora insertar\\xE1 el car\\xE1cter de tabulaci\\xF3n\",\"Alternar tecla de tabulaci\\xF3n para mover el punto de atenci\\xF3n\",\"Determina si la tecla tab mueve el foco alrededor del \\xE1rea de trabajo o inserta el car\\xE1cter de tabulaci\\xF3n en el editor actual. Esto tambi\\xE9n se denomina captura de pesta\\xF1as, navegaci\\xF3n por pesta\\xF1as o modo de enfoque de pesta\\xF1as.\",\"Desarrollador: forzar nueva aplicaci\\xF3n de token\",\"Icono que se muestra con un mensaje de advertencia en el editor de extensiones.\",\"Este documento contiene muchos caracteres Unicode ASCII no b\\xE1sicos\",\"Este documento contiene muchos caracteres Unicode ambiguos\",\"Este documento contiene muchos caracteres Unicode invisibles\",\"Configurar opciones de resaltado Unicode\",\"El car\\xE1cter {0} podr\\xEDa confundirse con el car\\xE1cter ASCII {1}, que es m\\xE1s com\\xFAn en el c\\xF3digo fuente.\",\"El car\\xE1cter {0} podr\\xEDa confundirse con el car\\xE1cter {1}, que es m\\xE1s com\\xFAn en el c\\xF3digo fuente.\",\"El car\\xE1cter {0} es invisible.\",\"El car\\xE1cter {0} no es un car\\xE1cter ASCII b\\xE1sico.\",\"Ajustar la configuraci\\xF3n\",\"Deshabilitar resaltado en comentarios\",\"Deshabilitar resaltado de caracteres en comentarios\",\"Deshabilitar resaltado en cadenas\",\"Deshabilitar resaltado de caracteres en cadenas\",\"Deshabilitar resaltado ambiguo\",\"Deshabilitar el resaltado de caracteres ambiguos\",\"Deshabilitar resaltado invisible\",\"Deshabilitar el resaltado de caracteres invisibles\",\"Deshabilitar resaltado que no es ASCII\",\"Deshabilitar el resaltado de caracteres ASCII no b\\xE1sicos\",\"Mostrar opciones de exclusi\\xF3n\",\"Excluir {0} (car\\xE1cter invisible) de que se resalte\",\"Excluir {0} de ser resaltado\",'Permite caracteres Unicode m\\xE1s comunes en el idioma \"{0}\".',\"Terminadores de l\\xEDnea inusuales\",\"Se han detectado terminadores de l\\xEDnea inusuales\",`Este archivo \"{0}\" contiene uno o m\\xE1s caracteres de terminaci\\xF3n de l\\xEDnea inusuales, como el separador de l\\xEDnea (LS) o el separador de p\\xE1rrafo (PS).\\r\n\\r\nSe recomienda eliminarlos del archivo. Esto puede configurarse mediante \"editor.unusualLineTerminators\".`,\"&&Quitar terminadores de l\\xEDnea inusuales\",\"Omitir\",\"Color de fondo de un s\\xEDmbolo durante el acceso de lectura, como la lectura de una variable. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Color de fondo de un s\\xEDmbolo durante el acceso de escritura, como escribir en una variable. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de fondo de la presencia textual para un s\\xEDmbolo. Para evitar ocultar cualquier decoraci\\xF3n subyacente, el color no debe ser opaco.\",\"Color de fondo de un s\\xEDmbolo durante el acceso de lectura; por ejemplo, cuando se lee una variable.\",\"Color de fondo de un s\\xEDmbolo durante el acceso de escritura; por ejemplo, cuando se escribe una variable.\",\"Color de borde de una repetici\\xF3n textual de un s\\xEDmbolo.\",\"Color del marcador de regla general para destacados de s\\xEDmbolos. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Color de marcador de regla general para destacados de s\\xEDmbolos de acceso de escritura. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color del marcador de regla de informaci\\xF3n general de una repetici\\xF3n textual de un s\\xEDmbolo. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Ir al siguiente s\\xEDmbolo destacado\",\"Ir al s\\xEDmbolo destacado anterior\",\"Desencadenar los s\\xEDmbolos destacados\",\"Eliminar palabra\",\"Error en la posici\\xF3n\",\"Error\",\"Advertencia en posici\\xF3n\",\"Advertencia\",\"Error en la l\\xEDnea\",\"Error en la l\\xEDnea\",\"Advertencia en la l\\xEDnea\",\"Advertencia en la l\\xEDnea\",\"\\xC1rea doblada en la l\\xEDnea\",\"Contra\\xEDda\",\"Punto de interrupci\\xF3n en la l\\xEDnea\",\"Punto de interrupci\\xF3n\",\"Sugerencia insertada en la l\\xEDnea\",\"Correcci\\xF3n r\\xE1pida del terminal\",\"Correcci\\xF3n r\\xE1pida\",\"Depurador detenido en el punto de interrupci\\xF3n\",\"Punto de interrupci\\xF3n\",\"No hay sugerencias de incrustaci\\xF3n en la l\\xEDnea\",\"No hay sugerencias de incrustaci\\xF3n\",\"Tarea completada.\",\"Tarea completada.\",\"Error en la tarea\",\"Error en la tarea\",\"Error del comando de terminal\",\"Error del comando\",\"Comando de terminal correcto\",\"Comando correcto\",\"Campana de terminal\",\"Campana de terminal\",\"Celda del bloc de notas completada\",\"Celda del bloc de notas completada\",\"Error en la celda del bloc de notas\",\"Error en la celda del bloc de notas\",\"L\\xEDnea de diferencia insertada\",\"L\\xEDnea de diferencia eliminada\",\"L\\xEDnea de diferencia modificada\",\"Se envi\\xF3 una solicitud de chat\",\"Se envi\\xF3 una solicitud de chat\",\"Respuesta de chat recibida\",\"Progreso\",\"Progreso\",\"Borrar\",\"Borrar\",\"Guardar\",\"Guardar\",\"Formato\",\"Formato\",\"Grabaci\\xF3n de voz iniciada\",\"Grabaci\\xF3n de voz detenida\",\"Ver\",\"Ayuda\",\"Probar\",\"archivo\",\"Preferencias\",\"Desarrollador\",\"{0} ({1})\",\"{0} ({1})\",`{0}\\r\n[{1}] {2}`,\"{1} al {0}\",\"{0} ({1})\",\"Ocultar\",\"Men\\xFA Restablecer\",'Ocultar \"{0}\"',\"Configurar el enlace de teclado\",\"{0} para aplicar, {1} para previsualizar\",\"{0} para aplicar\",\"{0}, Motivo de deshabilitaci\\xF3n: {1}\",\"Widget de acci\\xF3n\",\"Color de fondo de los elementos de acci\\xF3n alternados en la barra de acciones.\",\"Si la lista de widgets de acci\\xF3n es visible\",\"Ocultar el widget de acci\\xF3n\",\"Seleccione la acci\\xF3n anterior\",\"Seleccione la siguiente acci\\xF3n\",\"Aceptar la acci\\xF3n seleccionada\",\"Vista previa de la acci\\xF3n seleccionada\",\"La configuraci\\xF3n del lenguaje predeterminada se reemplaza\",\"Configure los valores que se invalidar\\xE1n para el idioma {0}.\",\"Establecer los valores de configuraci\\xF3n que se reemplazar\\xE1n para un lenguaje.\",\"Esta configuraci\\xF3n no admite la configuraci\\xF3n por idioma.\",\"Establecer los valores de configuraci\\xF3n que se reemplazar\\xE1n para un lenguaje.\",\"Esta configuraci\\xF3n no admite la configuraci\\xF3n por idioma.\",\"No se puede registrar una propiedad vac\\xEDa.\",`No se puede registrar \"{0}\". Coincide con el patr\\xF3n de propiedad '\\\\\\\\[.*\\\\\\\\]$' para describir la configuraci\\xF3n del editor espec\\xEDfica del lenguaje. Utilice la contribuci\\xF3n \"configurationDefaults\".`,'No se puede registrar \"{0}\". Esta propiedad ya est\\xE1 registrada.','No se puede registrar \"{0}\". La directiva asociada {1} ya est\\xE1 registrada con {2}.',\"Comando que devuelve informaci\\xF3n sobre las claves de contexto\",\"Expresi\\xF3n de clave de contexto vac\\xEDa\",'\\xBFHa olvidado escribir una expresi\\xF3n? tambi\\xE9n puede poner \"false\" o \"true\" para evaluar siempre como false o true, respectivamente.',\"'in' despu\\xE9s de 'not'.\",\"par\\xE9ntesis de cierre ')'\",\"Token inesperado\",\"\\xBFHa olvidado poner && o || antes del token?\",\"Final de expresi\\xF3n inesperado\",\"\\xBFHa olvidado poner una clave de contexto?\",`Esperado: {0}\\r\nrecibido: '{1}'.`,\"Si el sistema operativo es macOS\",\"Si el sistema operativo es Linux\",\"Si el sistema operativo es Windows\",\"Si la plataforma es un explorador web\",\"Si el sistema operativo es macOS en una plataforma que no es de explorador\",\"Si el sistema operativo es IOS\",\"Si la plataforma es un explorador web m\\xF3vil\",\"Tipo de calidad de VS Code\",\"Si el foco del teclado est\\xE1 dentro de un cuadro de entrada\",\"\\xBFQuiso decir {0}?\",\"\\xBFQuiso decir {0} o {1}?\",\"\\xBFQuiso decir {0}, {1} o {2}?\",\"\\xBFHa olvidado abrir o cerrar la cita?\",`\\xBFHa olvidado escapar el car\\xE1cter \"/\" (barra diagonal)?Coloque dos barras diagonales inversas antes de que escape, por ejemplo, '\\\\\\\\/'.`,\"Indica si las sugerencias est\\xE1n visibles.\",\"Se presion\\xF3 ({0}). Esperando la siguiente tecla...\",\"Se ha presionado ({0}). Esperando la siguiente tecla...\",\"La combinaci\\xF3n de claves ({0}, {1}) no es un comando.\",\"La combinaci\\xF3n de claves ({0}, {1}) no es un comando.\",\"\\xC1rea de trabajo\",'Se asigna a \"Control\" en Windows y Linux y a \"Comando\" en macOS.','Se asigna a \"Alt\" en Windows y Linux y a \"Opci\\xF3n\" en macOS.',\"El modificador que se utilizar\\xE1 para agregar un elemento en los \\xE1rboles y listas para una selecci\\xF3n m\\xFAltiple con el rat\\xF3n (por ejemplo en el explorador, abiertos editores y vista de scm). Los gestos de rat\\xF3n 'Abrir hacia' - si est\\xE1n soportados - se adaptar\\xE1n de forma tal que no tenga conflicto con el modificador m\\xFAltiple.\",\"Controla c\\xF3mo abrir elementos en los \\xE1rboles y las listas mediante el mouse (si se admite). Tenga en cuenta que algunos \\xE1rboles y listas pueden optar por ignorar esta configuraci\\xF3n si no es aplicable.\",\"Controla si las listas y los \\xE1rboles admiten el desplazamiento horizontal en el \\xE1rea de trabajo. Advertencia: La activaci\\xF3n de esta configuraci\\xF3n repercute en el rendimiento.\",\"Controla si los clics en la barra de desplazamiento se desplazan p\\xE1gina por p\\xE1gina.\",\"Controla la sangr\\xEDa de \\xE1rbol en p\\xEDxeles.\",\"Controla si el \\xE1rbol debe representar gu\\xEDas de sangr\\xEDa.\",\"Controla si las listas y los \\xE1rboles tienen un desplazamiento suave.\",'Se usar\\xE1 un multiplicador en los eventos de desplazamiento de la rueda del mouse \"deltaX\" y \"deltaY\". ','Multiplicador de la velocidad de desplazamiento al presionar \"Alt\".',\"Resalta elementos al buscar. Navegar m\\xE1s arriba o abajo pasar\\xE1 solo por los elementos resaltados.\",\"Filtre elementos al buscar.\",\"Controla el modo de b\\xFAsqueda predeterminado para listas y \\xE1rboles en el \\xE1rea de trabajo.\",\"La navegaci\\xF3n simple del teclado se centra en elementos que coinciden con la entrada del teclado. El emparejamiento se hace solo en prefijos.\",\"Destacar la navegaci\\xF3n del teclado resalta los elementos que coinciden con la entrada del teclado. M\\xE1s arriba y abajo la navegaci\\xF3n atravesar\\xE1 solo los elementos destacados.\",\"La navegaci\\xF3n mediante el teclado de filtro filtrar\\xE1 y ocultar\\xE1 todos los elementos que no coincidan con la entrada del teclado.\",\"Controla el estilo de navegaci\\xF3n del teclado para listas y \\xE1rboles en el \\xE1rea de trabajo. Puede ser simple, resaltar y filtrar.\",'Use \"workbench.list.defaultFindMode\" y \"workbench.list.typeNavigationMode\" en su lugar.',\"Usar coincidencias aproximadas al buscar.\",\"Use coincidencias contiguas al buscar.\",\"Controla el tipo de coincidencia que se usa al buscar listas y \\xE1rboles en el \\xE1rea de trabajo.\",\"Controla c\\xF3mo se expanden las carpetas de \\xE1rbol al hacer clic en sus nombres. Tenga en cuenta que algunos \\xE1rboles y listas pueden optar por omitir esta configuraci\\xF3n si no es aplicable.\",\"Controla si el desplazamiento permanente est\\xE1 habilitado en los \\xE1rboles.\",\"Controla el n\\xFAmero de elementos permanentes que se muestran en el \\xE1rbol cuando {0} est\\xE1 habilitado.\",'Controla el funcionamiento de la navegaci\\xF3n por tipos en listas y \\xE1rboles del \\xE1rea de trabajo. Cuando se establece en \"trigger\", la navegaci\\xF3n por tipos comienza una vez que se ejecuta el comando \"list.triggerTypeNavigation\".',\"Error\",\"Advertencia\",\"Informaci\\xF3n\",\"usado recientemente\",\"comandos similares\",\"usados habitualmente\",\"otros comandos\",\"comandos similares\",\"{0}, {1}\",'El comando \"{0}\" ha dado lugar a un error',\"{0}, {1}\",\"Si el foco del teclado est\\xE1 dentro del control de entrada r\\xE1pida\",\"El tipo de la entrada r\\xE1pida visible actualmente\",\"Si el cursor de la entrada r\\xE1pida est\\xE1 al final del cuadro de entrada\",\"Atr\\xE1s\",'Presione \"Entrar\" para confirmar su entrada o \"Esc\" para cancelar',\"{0}/{1}\",\"Escriba para restringir los resultados.\",\"Se usa en el contexto de la selecci\\xF3n r\\xE1pida. Si cambia un enlace de teclado para este comando, tambi\\xE9n debe cambiar todos los dem\\xE1s enlaces de teclado (variantes modificadoras) de este comando.\",\"Si estamos en modo de acceso r\\xE1pido, se desplazar\\xE1 al siguiente elemento. Si no estamos en modo de acceso r\\xE1pido, se desplazar\\xE1 al separador siguiente.\",\"Si estamos en modo de acceso r\\xE1pido, se navegar\\xE1 al elemento anterior. Si no estamos en modo de acceso r\\xE1pido, se navegar\\xE1 al separador anterior.\",\"Activar o desactivar todas las casillas\",\"{0} resultados\",\"{0} seleccionados\",\"Aceptar\",\"Personalizado\",\"Atr\\xE1s ({0})\",\"Atr\\xE1s\",\"Entrada r\\xE1pida\",'Haga clic en para ejecutar el comando \"{0}\"',\"Color de primer plano general. Este color solo se usa si un componente no lo invalida.\",\"Primer plano general de los elementos deshabilitados. Este color solo se usa si un componente no lo reemplaza.\",\"Color de primer plano general para los mensajes de erroe. Este color solo se usa si un componente no lo invalida.\",\"Color de primer plano para el texto descriptivo que proporciona informaci\\xF3n adicional, por ejemplo para una etiqueta.\",\"El color predeterminado para los iconos en el \\xE1rea de trabajo.\",\"Color de borde de los elementos con foco. Este color solo se usa si un componente no lo invalida.\",\"Un borde adicional alrededor de los elementos para separarlos unos de otros y as\\xED mejorar el contraste.\",\"Un borde adicional alrededor de los elementos activos para separarlos unos de otros y as\\xED mejorar el contraste.\",\"El color de fondo del texto seleccionado en el \\xE1rea de trabajo (por ejemplo, campos de entrada o \\xE1reas de texto). Esto no se aplica a las selecciones dentro del editor.\",\"Color de primer plano para los v\\xEDnculos en el texto.\",\"Color de primer plano para los enlaces de texto, al hacer clic o pasar el mouse sobre ellos.\",\"Color para los separadores de texto.\",\"Color de primer plano para los segmentos de texto con formato previo.\",\"Color de fondo para segmentos de texto con formato previo.\",\"Color de fondo para los bloques en texto.\",\"Color de borde para los bloques en texto.\",\"Color de fondo para los bloques de c\\xF3digo en el texto.\",\"Color de primer plano que se usa en los gr\\xE1ficos.\",\"Color que se usa para las l\\xEDneas horizontales en los gr\\xE1ficos.\",\"Color rojo que se usa en las visualizaciones de gr\\xE1ficos.\",\"Color azul que se usa en las visualizaciones de gr\\xE1ficos.\",\"Color amarillo que se usa en las visualizaciones de gr\\xE1ficos.\",\"Color naranja que se usa en las visualizaciones de gr\\xE1ficos.\",\"Color verde que se usa en las visualizaciones de gr\\xE1ficos.\",\"Color p\\xFArpura que se usa en las visualizaciones de gr\\xE1ficos.\",\"Color de fondo del editor.\",\"Color de primer plano predeterminado del editor.\",\"Color de fondo del desplazamiento permanente en el editor\",\"Color de fondo del desplazamiento permanente al mantener el mouse en el editor\",\"Color de borde del desplazamiento permanente en el editor\",\" Color de sombra del desplazamiento permanente en el editor\",\"Color de fondo del editor de widgets como buscar/reemplazar\",\"Color de primer plano de los widgets del editor, como buscar y reemplazar.\",\"Color de borde de los widgets del editor. El color solo se usa si el widget elige tener un borde y no invalida el color.\",\"Color del borde de la barra de cambio de tama\\xF1o de los widgets del editor. El color se utiliza solo si el widget elige tener un borde de cambio de tama\\xF1o y si un widget no invalida el color.\",\"Color de fondo del texto de error del editor. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de primer plano de squigglies de error en el editor.\",\"Si se establece, color de subrayados dobles para errores en el editor.\",\"Color de fondo del texto de advertencia del editor. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de primer plano de squigglies de advertencia en el editor.\",\"Si se establece, color de subrayados dobles para advertencias en el editor.\",\"Color de fondo del texto de informaci\\xF3n del editor. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de primer plano de los subrayados ondulados informativos en el editor.\",\"Si se establece, color de subrayados dobles para informaciones en el editor.\",\"Color de primer plano de pista squigglies en el editor.\",\"Si se establece, color de subrayados dobles para sugerencias en el editor.\",\"Color de los v\\xEDnculos activos.\",\"Color de la selecci\\xF3n del editor.\",\"Color del texto seleccionado para alto contraste.\",\"Color de la selecci\\xF3n en un editor inactivo. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Color en las regiones con el mismo contenido que la selecci\\xF3n. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Color de borde de las regiones con el mismo contenido que la selecci\\xF3n.\",\"Color de la coincidencia de b\\xFAsqueda actual.\",\"Color de texto de la coincidencia de b\\xFAsqueda actual.\",\"Color de los otros resultados de la b\\xFAsqueda. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de primer plano de las otras coincidencias de b\\xFAsqueda.\",\"Color de la gama que limita la b\\xFAsqueda. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Color de borde de la coincidencia de b\\xFAsqueda actual.\",\"Color de borde de otra b\\xFAsqueda que coincide.\",\"Color del borde de la gama que limita la b\\xFAsqueda. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Destacar debajo de la palabra para la que se muestra un mensaje al mantener el mouse. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Color de fondo al mantener el puntero en el editor.\",\"Color de primer plano al mantener el puntero en el editor.\",\"Color del borde al mantener el puntero en el editor.\",\"Color de fondo de la barra de estado al mantener el puntero en el editor.\",\"Color de primer plano de las sugerencias insertadas\",\"Color de fondo de las sugerencias insertadas\",\"Color de primer plano de las sugerencias insertadas para los tipos de letra\",\"Color de fondo de las sugerencias insertadas para los tipos de letra\",\"Color de primer plano de las sugerencias insertadas para los par\\xE1metros\",\"Color de fondo de las sugerencias insertadas para los par\\xE1metros\",\"El color utilizado para el icono de bombilla de acciones.\",\"El color utilizado para el icono de la bombilla de acciones de correcci\\xF3n autom\\xE1tica.\",\"El color utilizado para el icono de bombilla de inteligencia artificial.\",\"Resaltado del color de fondo para una ficha de un fragmento de c\\xF3digo.\",\"Resaltado del color del borde para una ficha de un fragmento de c\\xF3digo.\",\"Resaltado del color de fondo para la \\xFAltima ficha de un fragmento de c\\xF3digo.\",\"Resaltado del color del borde para la \\xFAltima tabulaci\\xF3n de un fragmento de c\\xF3digo.\",\"Color de fondo para el texto que se insert\\xF3. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de fondo para el texto que se elimin\\xF3. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Color de fondo de las l\\xEDneas insertadas. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de fondo de las l\\xEDneas que se quitaron. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color de fondo del margen donde se insertaron las l\\xEDneas.\",\"Color de fondo del margen donde se quitaron las l\\xEDneas.\",\"Primer plano de la regla de informaci\\xF3n general de diferencias para el contenido insertado.\",\"Primer plano de la regla de informaci\\xF3n general de diferencias para el contenido quitado.\",\"Color de contorno para el texto insertado.\",\"Color de contorno para el texto quitado.\",\"Color del borde entre ambos editores de texto.\",\"Color de relleno diagonal del editor de diferencias. El relleno diagonal se usa en las vistas de diferencias en paralelo.\",\"Color de fondo de los bloques sin modificar en el editor de diferencias.\",\"Color de primer plano de los bloques sin modificar en el editor de diferencias.\",\"Color de fondo del c\\xF3digo sin modificar en el editor de diferencias.\",\"Color de sombra de los widgets dentro del editor, como buscar/reemplazar\",\"Color de borde de los widgets dentro del editor, como buscar/reemplazar\",\"El fondo de la barra de herramientas se perfila al pasar por encima de las acciones con el mouse.\",\"La barra de herramientas se perfila al pasar por encima de las acciones con el mouse.\",\"Fondo de la barra de herramientas al mantener el mouse sobre las acciones\",\"Color de los elementos de ruta de navegaci\\xF3n que reciben el foco.\",\"Color de fondo de los elementos de ruta de navegaci\\xF3n\",\"Color de los elementos de ruta de navegaci\\xF3n que reciben el foco.\",\"Color de los elementos de ruta de navegaci\\xF3n seleccionados.\",\"Color de fondo del selector de elementos de ruta de navegaci\\xF3n.\",\"Fondo del encabezado actual en los conflictos de combinaci\\xF3n en l\\xEDnea. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Fondo de contenido actual en los conflictos de combinaci\\xF3n en l\\xEDnea. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Fondo de encabezado entrante en los conflictos de combinaci\\xF3n en l\\xEDnea. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Fondo de contenido entrante en los conflictos de combinaci\\xF3n en l\\xEDnea. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Fondo de cabecera de elemento antecesor com\\xFAn en conflictos de fusi\\xF3n en l\\xEDnea. El color no debe ser opaco para no ocultar decoraciones subyacentes.\",\"Fondo de contenido antecesor com\\xFAn en conflictos de combinaci\\xF3n en l\\xEDnea. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color del borde en los encabezados y el divisor en conflictos de combinaci\\xF3n alineados.\",\"Primer plano de la regla de visi\\xF3n general actual para conflictos de combinaci\\xF3n alineados.\",\"Primer plano de regla de visi\\xF3n general de entrada para conflictos de combinaci\\xF3n alineados.\",\"Primer plano de la regla de visi\\xF3n general de ancestros comunes para conflictos de combinaci\\xF3n alineados.\",\"Color del marcador de regla general para buscar actualizaciones. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color del marcador de la regla general para los destacados de la selecci\\xF3n. El color no debe ser opaco para no ocultar las decoraciones subyacentes.\",\"Color utilizado para el icono de error de problemas.\",\"Color utilizado para el icono de advertencia de problemas.\",\"Color utilizado para el icono de informaci\\xF3n de problemas.\",\"Fondo de cuadro de entrada.\",\"Primer plano de cuadro de entrada.\",\"Borde de cuadro de entrada.\",\"Color de borde de opciones activadas en campos de entrada.\",\"Color de fondo de las opciones activadas en los campos de entrada.\",\"Color de fondo al pasar por encima de las opciones en los campos de entrada.\",\"Color de primer plano de las opciones activadas en los campos de entrada.\",\"Color de primer plano para el marcador de posici\\xF3n de texto\",\"Color de fondo de validaci\\xF3n de entrada para gravedad de informaci\\xF3n.\",\"Color de primer plano de validaci\\xF3n de entrada para informaci\\xF3n de gravedad.\",\"Color de borde de validaci\\xF3n de entrada para gravedad de informaci\\xF3n.\",\"Color de fondo de validaci\\xF3n de entrada para gravedad de advertencia.\",\"Color de primer plano de validaci\\xF3n de entrada para informaci\\xF3n de advertencia.\",\"Color de borde de validaci\\xF3n de entrada para gravedad de advertencia.\",\"Color de fondo de validaci\\xF3n de entrada para gravedad de error.\",\"Color de primer plano de validaci\\xF3n de entrada para informaci\\xF3n de error.\",\"Color de borde de valdaci\\xF3n de entrada para gravedad de error.\",\"Fondo de lista desplegable.\",\"Fondo de la lista desplegable.\",\"Primer plano de lista desplegable.\",\"Borde de lista desplegable.\",\"Color de primer plano del bot\\xF3n.\",\"Color del separador de botones.\",\"Color de fondo del bot\\xF3n.\",\"Color de fondo del bot\\xF3n al mantener el puntero.\",\"Color del borde del bot\\xF3n\",\"Color de primer plano del bot\\xF3n secundario.\",\"Color de fondo del bot\\xF3n secundario.\",\"Color de fondo del bot\\xF3n secundario al mantener el mouse.\",\"Color de primer plano de la opci\\xF3n de radio activa.\",\"Color de fondo de la opci\\xF3n de radio activa.\",\"Color de borde de la opci\\xF3n de radio activa.\",\"Color de primer plano de la opci\\xF3n de radio inactiva.\",\"Color de fondo de la opci\\xF3n de radio inactiva.\",\"Color de borde de la opci\\xF3n de radio inactiva.\",\"Color de fondo de la opci\\xF3n de radio activa inactiva al mantener el puntero.\",\"Color de fondo de la casilla de verificaci\\xF3n del widget.\",\"Color de fondo del widget de la casilla cuando se selecciona el elemento en el que se encuentra.\",\"Color de primer plano del widget de la casilla de verificaci\\xF3n.\",\"Color del borde del widget de la casilla de verificaci\\xF3n.\",\"Color de borde del widget de la casilla cuando se selecciona el elemento en el que se encuentra.\",\"Color de fondo de etiqueta de enlace de teclado. La etiqueta enlace de teclado se usa para representar un m\\xE9todo abreviado de teclado.\",\"Color de primer plano de etiqueta de enlace de teclado. La etiqueta enlace de teclado se usa para representar un m\\xE9todo abreviado de teclado.\",\"Color del borde de la etiqueta de enlace de teclado. La etiqueta enlace de teclado se usa para representar un m\\xE9todo abreviado de teclado.\",\"Color del borde inferior de la etiqueta de enlace de teclado. La etiqueta enlace de teclado se usa para representar un m\\xE9todo abreviado de teclado.\",\"Color de fondo de la lista o el \\xE1rbol del elemento con el foco cuando la lista o el \\xE1rbol est\\xE1n activos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, cuando est\\xE1n inactivos no.\",\"Color de primer plano de la lista o el \\xE1rbol del elemento con el foco cuando la lista o el \\xE1rbol est\\xE1n activos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, cuando est\\xE1n inactivos no.\",\"Color de contorno de la lista o el \\xE1rbol del elemento con el foco cuando la lista o el \\xE1rbol est\\xE1n activos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, pero no cuando est\\xE1n inactivos.\",\"Color de contorno de la lista o el \\xE1rbol del elemento con el foco cuando la lista o el \\xE1rbol est\\xE1n activos y seleccionados. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, pero no cuando est\\xE1n inactivos.\",\"Color de fondo de la lista o el \\xE1rbol del elemento seleccionado cuando la lista o el \\xE1rbol est\\xE1n activos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, cuando est\\xE1n inactivos no.\",\"Color de primer plano de la lista o el \\xE1rbol del elemento seleccionado cuando la lista o el \\xE1rbol est\\xE1n activos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, cuando est\\xE1n inactivos no.\",\"Color de primer plano del icono de lista o \\xE1rbol del elemento seleccionado cuando la lista o el \\xE1rbol est\\xE1n activos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, cuando est\\xE1n inactivos no.\",\"Color de fondo de la lista o el \\xE1rbol del elemento seleccionado cuando la lista o el \\xE1rbol est\\xE1n inactivos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, cuando est\\xE1n inactivos no.\",\"Color de primer plano de la lista o el \\xE1rbol del elemento con el foco cuando la lista o el \\xE1rbol esta inactiva. Una lista o un \\xE1rbol tiene el foco del teclado cuando est\\xE1 activo, cuando esta inactiva no.\",\"Color de primer plano del icono de lista o \\xE1rbol del elemento seleccionado cuando la lista o el \\xE1rbol est\\xE1n inactivos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, cuando est\\xE1n inactivos no.\",\"Color de fondo de la lista o el \\xE1rbol del elemento con el foco cuando la lista o el \\xE1rbol est\\xE1n inactivos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, pero no cuando est\\xE1n inactivos.\",\"Color de contorno de la lista o el \\xE1rbol del elemento con el foco cuando la lista o el \\xE1rbol est\\xE1n inactivos. Una lista o un \\xE1rbol tienen el foco del teclado cuando est\\xE1n activos, pero no cuando est\\xE1n inactivos.\",\"Fondo de la lista o el \\xE1rbol al mantener el mouse sobre los elementos.\",\"Color de primer plano de la lista o el \\xE1rbol al pasar por encima de los elementos con el rat\\xF3n.\",\"Fondo de lista/\\xE1rbol al arrastrar y colocar cuando se mueven elementos sobre otros elementos al usar el mouse.\",\"Color del borde de lista o \\xE1rbol al arrastrar y colocar cuando se mueven elementos entre otros elementos mediante el mouse.\",\"Color de primer plano de la lista o el \\xE1rbol de las coincidencias resaltadas al buscar dentro de la lista o el \\xE1bol.\",\"Color de primer plano de la lista o \\xE1rbol de los elementos coincidentes en los elementos enfocados activamente cuando se busca dentro de la lista o \\xE1rbol.\",\"Color de primer plano de una lista o \\xE1rbol para los elementos inv\\xE1lidos, por ejemplo una raiz sin resolver en el explorador.\",\"Color del primer plano de elementos de lista que contienen errores.\",\"Color del primer plano de elementos de lista que contienen advertencias.\",\"Color de fondo del widget de filtro de tipo en listas y \\xE1rboles.\",\"Color de contorno del widget de filtro de tipo en listas y \\xE1rboles.\",\"Color de contorno del widget de filtro de tipo en listas y \\xE1rboles, cuando no hay coincidencias.\",\"Color de sombra del widget de filtrado de escritura en listas y \\xE1rboles.\",\"Color de fondo de la coincidencia filtrada.\",\"Color de borde de la coincidencia filtrada.\",\"Color de primer plano de lista/\\xE1rbol para los elementos no enfatizados.\",\"Color de trazo de \\xE1rbol para las gu\\xEDas de sangr\\xEDa.\",\"Color de trazo de \\xE1rbol para las gu\\xEDas de sangr\\xEDa que no est\\xE1n activas.\",\"Color de borde de la tabla entre columnas.\",\"Color de fondo para las filas de tabla impares.\",\"Color de fondo de la lista de acciones.\",\"Color de primer plano de la lista de acciones.\",\"Color de primer plano de la lista de acciones para el elemento con el foco.\",\"Color de fondo de la lista de acciones para el elemento con el foco.\",\"Color del borde de los men\\xFAs.\",\"Color de primer plano de los elementos de men\\xFA.\",\"Color de fondo de los elementos de men\\xFA.\",\"Color de primer plano del menu para el elemento del men\\xFA seleccionado.\",\"Color de fondo del menu para el elemento del men\\xFA seleccionado.\",\"Color del borde del elemento seleccionado en los men\\xFAs.\",\"Color del separador del menu para un elemento del men\\xFA.\",\"Color de marcador de minimapa para coincidencias de b\\xFAsqueda.\",\"Color de marcador de minimapa para las selecciones del editor que se repiten.\",\"Color del marcador de minimapa para la selecci\\xF3n del editor.\",\"Color del marcador de minimapa para informaci\\xF3n.\",\"Color del marcador de minimapa para advertencias.\",\"Color del marcador de minimapa para errores.\",\"Color de fondo del minimapa.\",'Opacidad de los elementos de primer plano representados en el minimapa. Por ejemplo, \"#000000c0\" representar\\xE1 los elementos con 75% de opacidad.',\"Color de fondo del deslizador del minimapa.\",\"Color de fondo del deslizador del minimapa al pasar el puntero.\",\"Color de fondo del deslizador de minimapa al hacer clic en \\xE9l.\",\"Color de borde de los marcos activos.\",\"Color de fondo de la insignia. Las insignias son peque\\xF1as etiquetas de informaci\\xF3n, por ejemplo los resultados de un n\\xFAmero de resultados.\",\"Color de primer plano de la insignia. Las insignias son peque\\xF1as etiquetas de informaci\\xF3n, por ejemplo los resultados de un n\\xFAmero de resultados.\",\"Sombra de la barra de desplazamiento indica que la vista se ha despazado.\",\"Color de fondo de control deslizante de barra de desplazamiento.\",\"Color de fondo de barra de desplazamiento cursor cuando se pasar sobre el control.\",\"Color de fondo de la barra de desplazamiento al hacer clic.\",\"Color de fondo para la barra de progreso que se puede mostrar para las operaciones de larga duraci\\xF3n.\",\"Color de fondo del selector r\\xE1pido. El widget del selector r\\xE1pido es el contenedor para selectores como la paleta de comandos.\",\"Color de primer plano del selector r\\xE1pido. El widget del selector r\\xE1pido es el contenedor para selectores como la paleta de comandos.\",\"Color de fondo del t\\xEDtulo del selector r\\xE1pido. El widget del selector r\\xE1pido es el contenedor para selectores como la paleta de comandos.\",\"Selector de color r\\xE1pido para la agrupaci\\xF3n de etiquetas.\",\"Selector de color r\\xE1pido para la agrupaci\\xF3n de bordes.\",\"Use quickInputList.focusBackground en su lugar.\",\"Selector r\\xE1pido del color de primer plano para el elemento con el foco.\",\"Color de primer plano del icono del selector r\\xE1pido para el elemento con el foco.\",\"Color de fondo del selector r\\xE1pido para el elemento con el foco.\",\"Color del texto en el mensaje de finalizaci\\xF3n del viewlet de b\\xFAsqueda.\",\"Color de las consultas coincidentes del Editor de b\\xFAsqueda.\",\"Color de borde de las consultas coincidentes del Editor de b\\xFAsqueda.\",\"Este color debe ser transparente u ocultar\\xE1 el contenido\",\"Use el color predeterminado.\",\"Identificador de la fuente que se va a usar. Si no se establece, se usa la fuente definida en primer lugar.\",\"Car\\xE1cter de fuente asociado a la definici\\xF3n del icono.\",\"Icono de la acci\\xF3n de cierre en los widgets.\",\"Icono para ir a la ubicaci\\xF3n del editor anterior.\",\"Icono para ir a la ubicaci\\xF3n del editor siguiente.\",\"Se han cerrado los siguientes archivos y se han modificado en el disco: {0}.\",\"Los siguientes archivos se han modificado de forma incompatible: {0}.\",'No se pudo deshacer \"{0}\" en todos los archivos. {1}','No se pudo deshacer \"{0}\" en todos los archivos. {1}','No se pudo deshacer \"{0}\" en todos los archivos porque se realizaron cambios en {1}','No se pudo deshacer \"{0}\" en todos los archivos porque ya hay una operaci\\xF3n de deshacer o rehacer en ejecuci\\xF3n en {1}','No se pudo deshacer \"{0}\" en todos los archivos porque se produjo una operaci\\xF3n de deshacer o rehacer mientras tanto','\\xBFDesea deshacer \"{0}\" en todos los archivos?',\"&&Deshacer en {0} archivos\",\"Deshacer este &&archivo\",'No se pudo deshacer \"{0}\" porque ya hay una operaci\\xF3n de deshacer o rehacer en ejecuci\\xF3n.','\\xBFQuiere deshacer \"{0}\"?',\"&&S\\xED\",\"No\",'No se pudo rehacer \"{0}\" en todos los archivos. {1}','No se pudo rehacer \"{0}\" en todos los archivos. {1}','No se pudo volver a hacer \"{0}\" en todos los archivos porque se realizaron cambios en {1}','No se pudo rehacer \"{0}\" en todos los archivos porque ya hay una operaci\\xF3n de deshacer o rehacer en ejecuci\\xF3n en {1}','No se pudo rehacer \"{0}\" en todos los archivos porque se produjo una operaci\\xF3n de deshacer o rehacer mientras tanto','No se pudo rehacer \"{0}\" porque ya hay una operaci\\xF3n de deshacer o rehacer en ejecuci\\xF3n.',\"\\xC1rea de trabajo de c\\xF3digo\"],globalThis._VSCODE_NLS_LANGUAGE=\"es\";\n\n//# sourceMappingURL=../min-maps/nls.messages.es.js.map\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.fr.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0} ({1})\",\"entr\\xE9e\",\"Respecter la casse\",\"Mot entier\",\"Utiliser une expression r\\xE9guli\\xE8re\",\"entr\\xE9e\",\"Pr\\xE9server la casse\",\"Inspectez ceci dans l\\u2019affichage accessible avec {0}.\",\"Inspectez ceci dans l\\u2019affichage accessible via la commande Open Accessible View qui ne peut pas \\xEAtre d\\xE9clench\\xE9e via une combinaison de touches pour l\\u2019instant.\",\"Erreur\\xA0: {0}\",\"Avertissement\\xA0: {0}\",\"Info\\xA0: {0}\",\" ou {0} pour l'histoire\",\" ({0} pour l'histoire)\",\"Entr\\xE9e effac\\xE9e\",\"Ind\\xE9pendant\",\"Zone de s\\xE9lection\",\"Plus d'actions...\",\"Filtrer\",\"Correspondance approximative\",\"Type \\xE0 filtrer\",\"Entrer le texte \\xE0 rechercher\",\"Entrer le texte \\xE0 rechercher\",\"Fermer\",\"Aucun r\\xE9sultat\",\"Aucun r\\xE9sultat trouv\\xE9.\",null,\"(vide)\",\"{0}: {1}\",\"Une erreur syst\\xE8me s'est produite ({0})\",\"Une erreur inconnue s\\u2019est produite. Veuillez consulter le journal pour plus de d\\xE9tails.\",\"Une erreur inconnue s\\u2019est produite. Veuillez consulter le journal pour plus de d\\xE9tails.\",\"{0} ({1}\\xA0erreurs au total)\",\"Une erreur inconnue s\\u2019est produite. Veuillez consulter le journal pour plus de d\\xE9tails.\",\"Ctrl\",\"Maj\",\"Alt\",\"Windows\",\"Ctrl\",\"Maj\",\"Alt\",\"Super\",\"Contr\\xF4le\",\"Maj\",\"Option\",\"Commande\",\"Contr\\xF4le\",\"Maj\",\"Alt\",\"Windows\",\"Contr\\xF4le\",\"Maj\",\"Alt\",\"Super\",null,null,null,null,null,\"Aligner par rapport \\xE0 la fin m\\xEAme en cas de passage \\xE0 des lignes plus longues\",\"Aligner par rapport \\xE0 la fin m\\xEAme en cas de passage \\xE0 des lignes plus longues\",\"Curseurs secondaires supprim\\xE9s\",\"Ann&&uler\",\"Annuler\",\"&&R\\xE9tablir\",\"R\\xE9tablir\",\"&&S\\xE9lectionner tout\",\"Tout s\\xE9lectionner\",\"Maintenez la touche {0} enfonc\\xE9e pour pointer avec la souris\",\"Chargement...\",\"Le nombre de curseurs a \\xE9t\\xE9 limit\\xE9 \\xE0 {0}. Envisagez d\\u2019utiliser [rechercher et remplacer](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) pour les modifications plus importantes ou augmentez la limite du nombre de curseurs multiples du param\\xE8tre.\",\"Augmenter la limite de curseurs multiples\",\"Activer/d\\xE9sactiver r\\xE9duire les r\\xE9gions inchang\\xE9es\",\"Activer/d\\xE9sactiver l\\u2019affichage des blocs de code d\\xE9plac\\xE9s\",\"Activer/d\\xE9sactiver Utiliser la vue inline lorsque l'espace est limit\\xE9\",\"\\xC9diteur de diff\\xE9rences\",\"Changer de c\\xF4t\\xE9\",\"Quitter Comparer le d\\xE9placement\",\"R\\xE9duire toutes les r\\xE9gions inchang\\xE9es\",\"Afficher toutes les r\\xE9gions inchang\\xE9es\",\"Restaurer\",\"Visionneuse Diff accessible\",\"Acc\\xE9der \\xE0 la diff\\xE9rence suivante\",\"Acc\\xE9der la diff\\xE9rence pr\\xE9c\\xE9dente\",\"Ic\\xF4ne \\xAB Ins\\xE9rer \\xBB dans la visionneuse diff accessible.\",\"Ic\\xF4ne \\xAB Supprimer \\xBB dans la visionneuse diff accessible.\",\"Ic\\xF4ne de \\xAB Fermer \\xBB dans la visionneuse diff accessible.\",\"Fermer\",\"Visionneuse diff accessible. Utilisez les fl\\xE8ches haut et bas pour naviguer.\",\"aucune ligne chang\\xE9e\",\"1\\xA0ligne chang\\xE9e\",\"{0}\\xA0lignes chang\\xE9es\",\"Diff\\xE9rence\\xA0{0} sur\\xA0{1}\\xA0: ligne d'origine {2}, {3}, ligne modifi\\xE9e {4}, {5}\",\"vide\",\"{0} ligne inchang\\xE9e {1}\",\"{0}\\xA0ligne d'origine {1}\\xA0ligne modifi\\xE9e {2}\",\"+ {0}\\xA0ligne modifi\\xE9e {1}\",\"- {0} ligne d'origine {1}\",\" utilisez {0} pour ouvrir l\\u2019aide sur l\\u2019accessibilit\\xE9.\",\"Copier les lignes supprim\\xE9es\",\"Copier la ligne supprim\\xE9e\",\"Copier les lignes modifi\\xE9es\",\"Copier la ligne modifi\\xE9e\",\"Copier la ligne supprim\\xE9e ({0})\",\"Copier la ligne modifi\\xE9e ({0})\",\"Annuler la modification\",\"Utiliser la vue inline lorsque l'espace est limit\\xE9\",\"Afficher les blocs de code d\\xE9plac\\xE9s\",\"R\\xE9tablir le bloc\",\"R\\xE9tablir la s\\xE9lection\",\"Ouvrir la visionneuse diff accessible\",\"Replier la r\\xE9gion inchang\\xE9e\",\"{0} lignes masqu\\xE9es\",\"Cliquez ou faites glisser pour afficher plus d'\\xE9l\\xE9ments au-dessus\",\"Afficher la r\\xE9gion inchang\\xE9e\",\"Cliquez ou faites glisser pour afficher plus d'\\xE9l\\xE9ments en dessous\",\"{0} lignes masqu\\xE9es\",\"Double-cliquer pour d\\xE9plier\",\"Code d\\xE9plac\\xE9 avec des modifications vers la ligne {0}-{1}\",\"Code d\\xE9plac\\xE9 avec des modifications \\xE0 partir de la ligne {0}-{1}\",\"Code d\\xE9plac\\xE9 vers la ligne {0}-{1}\",\"Code d\\xE9plac\\xE9 \\xE0 partir de la ligne {0}-{1}\",\"R\\xE9tablir les modifications s\\xE9lectionn\\xE9es\",\"R\\xE9tablir la modification\",\"Couleur de bordure du texte d\\xE9plac\\xE9 dans l\\u2019\\xE9diteur de diff.\",\"Couleur de bordure active du texte d\\xE9plac\\xE9 dans l\\u2019\\xE9diteur de diff\\xE9rences.\",\"Couleur de l\\u2019ombre autour des widgets de r\\xE9gion inchang\\xE9s.\",\"\\xC9l\\xE9ment d\\xE9coratif de ligne pour les insertions dans l'\\xE9diteur de diff\\xE9rences.\",\"\\xC9l\\xE9ment d\\xE9coratif de ligne pour les suppressions dans l'\\xE9diteur de diff\\xE9rences.\",\"Couleur d\\u2019arri\\xE8re-plan de l\\u2019en-t\\xEAte de l\\u2019\\xE9diteur de diff\\xE9rences\",\"Couleur d\\u2019arri\\xE8re-plan de l\\u2019\\xE9diteur de diff\\xE9rences de fichiers multiples\",\"Couleur de bordure de l\\u2019\\xE9diteur de diff\\xE9rences de fichiers multiples\",\"Aucun fichier modifi\\xE9\",\"\\xC9diteur\",\"Le nombre d\\u2019espaces auxquels une tabulation est \\xE9gale. Ce param\\xE8tre est substitu\\xE9 bas\\xE9 sur le contenu du fichier lorsque {0} est activ\\xE9.\",'Nombre d\\u2019espaces utilis\\xE9s pour la mise en retrait ou `\"tabSize\"` pour utiliser la valeur de `#editor.tabSize#`. Ce param\\xE8tre est remplac\\xE9 en fonction du contenu du fichier quand `#editor.detectIndentation#` est activ\\xE9.',\"Espaces ins\\xE9r\\xE9s quand vous appuyez sur la touche Tab. Ce param\\xE8tre est remplac\\xE9 en fonction du contenu du fichier quand {0} est activ\\xE9.\",\"Contr\\xF4le si {0} et {1} sont automatiquement d\\xE9tect\\xE9s lors de l\\u2019ouverture d\\u2019un fichier en fonction de son contenu.\",\"Supprimer l'espace blanc de fin ins\\xE9r\\xE9 automatiquement.\",\"Traitement sp\\xE9cial des fichiers volumineux pour d\\xE9sactiver certaines fonctionnalit\\xE9s utilisant beaucoup de m\\xE9moire.\",\"D\\xE9sactivez les suggestions bas\\xE9es sur Word.\",\"Sugg\\xE8re uniquement des mots dans le document actif.\",\"Sugg\\xE8re des mots dans tous les documents ouverts du m\\xEAme langage.\",\"Sugg\\xE8re des mots dans tous les documents ouverts.\",\"Contr\\xF4le si les compl\\xE9tions doivent \\xEAtre calcul\\xE9es en fonction des mots du document et \\xE0 partir de quels documents elles sont calcul\\xE9es.\",\"Coloration s\\xE9mantique activ\\xE9e pour tous les th\\xE8mes de couleur.\",\"Coloration s\\xE9mantique d\\xE9sactiv\\xE9e pour tous les th\\xE8mes de couleur.\",\"La coloration s\\xE9mantique est configur\\xE9e par le param\\xE8tre 'semanticHighlighting' du th\\xE8me de couleur actuel.\",\"Contr\\xF4le si semanticHighlighting est affich\\xE9 pour les langages qui le prennent en charge.\",\"Maintenir les \\xE9diteurs d'aper\\xE7u ouverts m\\xEAme si l'utilisateur double-clique sur son contenu ou appuie sur la touche \\xC9chap.\",\"Les lignes plus longues que cette valeur ne sont pas tokenis\\xE9es pour des raisons de performances\",\"Contr\\xF4le si la cr\\xE9ation de jetons doit se produire de mani\\xE8re asynchrone sur un worker web.\",\"Contr\\xF4le si la cr\\xE9ation de jetons asynchrones doit \\xEAtre journalis\\xE9e. Pour le d\\xE9bogage uniquement.\",\"Contr\\xF4le si la segmentation du texte en unit\\xE9s lexicales asynchrones doit \\xEAtre v\\xE9rifi\\xE9e par rapport \\xE0 la segmentation du texte en unit\\xE9s lexicales en arri\\xE8re-plan h\\xE9rit\\xE9e. Peut ralentir la segmentation du texte en unit\\xE9s lexicales. Pour le d\\xE9bogage uniquement.\",\"Contr\\xF4le si l\\u2019analyse de sitter (syst\\xE8me) d\\u2019arborescence doit \\xEAtre activ\\xE9e et la t\\xE9l\\xE9m\\xE9trie collect\\xE9e. La d\\xE9finition de `editor.experimental.preferTreeSitter` pour des langages sp\\xE9cifiques est prioritaire.\",\"D\\xE9finit les symboles de type crochet qui augmentent ou diminuent le retrait.\",\"S\\xE9quence de cha\\xEEnes ou de caract\\xE8res de crochets ouvrants.\",\"S\\xE9quence de cha\\xEEnes ou de caract\\xE8res de crochets fermants.\",\"D\\xE9finit les paires de crochets qui sont coloris\\xE9es par leur niveau d\\u2019imbrication si la colorisation des paires de crochets est activ\\xE9e.\",\"S\\xE9quence de cha\\xEEnes ou de caract\\xE8res de crochets ouvrants.\",\"S\\xE9quence de cha\\xEEnes ou de caract\\xE8res de crochets fermants.\",\"D\\xE9lai d'expiration en millisecondes avant annulation du calcul de diff. Utilisez\\xA00 pour supprimer le d\\xE9lai d'expiration.\",\"Taille de fichier maximale en Mo pour laquelle calculer les diff\\xE9rences. Utilisez 0 pour ne pas avoir de limite.\",\"Contr\\xF4le si l'\\xE9diteur de diff\\xE9rences affiche les diff\\xE9rences en mode c\\xF4te \\xE0 c\\xF4te ou inline.\",\"Si l'\\xE9diteur de diff\\xE9rences est moins large que cette valeur, la vue inline est utilis\\xE9e.\",\"Si cette option est activ\\xE9e et que la largeur de l'\\xE9diteur est trop \\xE9troite, la vue inline est utilis\\xE9e.\",\"Lorsqu\\u2019il est activ\\xE9, l\\u2019\\xE9diteur de diff\\xE9rences affiche des fl\\xE8ches dans sa marge de glyphe pour r\\xE9tablir les modifications.\",\"Lorsque cette option est activ\\xE9e, l\\u2019\\xE9diteur de diff\\xE9rences affiche une marge sp\\xE9ciale pour les actions de r\\xE9tablissement et d\\u2019index.\",\"Quand il est activ\\xE9, l'\\xE9diteur de diff\\xE9rences ignore les changements d'espace blanc de d\\xE9but ou de fin.\",\"Contr\\xF4le si l'\\xE9diteur de diff\\xE9rences affiche les indicateurs +/- pour les changements ajout\\xE9s/supprim\\xE9s .\",\"Contr\\xF4le si l'\\xE9diteur affiche CodeLens.\",\"Le retour automatique \\xE0 la ligne n'est jamais effectu\\xE9.\",\"Le retour automatique \\xE0 la ligne s'effectue en fonction de la largeur de la fen\\xEAtre d'affichage.\",\"Le retour automatique \\xE0 la ligne d\\xE9pend du param\\xE8tre {0}.\",\"Utilise l\\u2019algorithme de comparaison h\\xE9rit\\xE9.\",\"Utilise l\\u2019algorithme de comparaison avanc\\xE9.\",\"Contr\\xF4le si l'\\xE9diteur de diff\\xE9rences affiche les r\\xE9gions inchang\\xE9es.\",\"Contr\\xF4le le nombre de lignes utilis\\xE9es pour les r\\xE9gions inchang\\xE9es.\",\"Contr\\xF4le le nombre de lignes utilis\\xE9es comme minimum pour les r\\xE9gions inchang\\xE9es.\",\"Contr\\xF4le le nombre de lignes utilis\\xE9es comme contexte lors de la comparaison des r\\xE9gions inchang\\xE9es.\",\"Contr\\xF4le si l\\u2019\\xE9diteur de diff\\xE9rences doit afficher les d\\xE9placements de code d\\xE9tect\\xE9s.\",\"Contr\\xF4le si l\\u2019\\xE9diteur de diff\\xE9rences affiche des d\\xE9corations vides pour voir o\\xF9 les caract\\xE8res ont \\xE9t\\xE9 ins\\xE9r\\xE9s ou supprim\\xE9s.\",\"Si cette option est activ\\xE9e et que l\\u2019\\xE9diteur utilise la vue inline, les modifications apport\\xE9es aux mots sont restitu\\xE9es inline.\",\"Utilisez les API de la plateforme pour d\\xE9tecter lorsqu'un lecteur d'\\xE9cran est connect\\xE9.\",\"Optimiser pour une utilisation avec un lecteur d'\\xE9cran.\",\"Supposons qu\\u2019aucun lecteur d\\u2019\\xE9cran ne soit connect\\xE9.\",\"Contr\\xF4le si l\\u2019interface utilisateur doit s\\u2019ex\\xE9cuter dans un mode o\\xF9 elle est optimis\\xE9e pour les lecteurs d\\u2019\\xE9cran.\",\"Contr\\xF4le si un espace est ins\\xE9r\\xE9 pour les commentaires.\",\"Contr\\xF4le si les lignes vides doivent \\xEAtre ignor\\xE9es avec des actions d'activation/de d\\xE9sactivation, d'ajout ou de suppression des commentaires de ligne.\",\"Contr\\xF4le si la copie sans s\\xE9lection permet de copier la ligne actuelle.\",\"Contr\\xF4le si le curseur doit sauter pour rechercher les correspondances lors de la saisie.\",\"Ne lancez jamais la cha\\xEEne de recherche dans la s\\xE9lection de l\\u2019\\xE9diteur.\",\"Toujours amorcer la cha\\xEEne de recherche \\xE0 partir de la s\\xE9lection de l\\u2019\\xE9diteur, y compris le mot \\xE0 la position du curseur.\",\"Cha\\xEEne de recherche initiale uniquement dans la s\\xE9lection de l\\u2019\\xE9diteur.\",\"D\\xE9termine si la cha\\xEEne de recherche dans le Widget Recherche est initialis\\xE9e avec la s\\xE9lection de l\\u2019\\xE9diteur.\",\"Ne jamais activer automatiquement la recherche dans la s\\xE9lection (par d\\xE9faut).\",\"Toujours activer automatiquement la recherche dans la s\\xE9lection.\",\"Activez Rechercher automatiquement dans la s\\xE9lection quand plusieurs lignes de contenu sont s\\xE9lectionn\\xE9es.\",\"Contr\\xF4le la condition d'activation automatique de la recherche dans la s\\xE9lection.\",\"D\\xE9termine si le Widget Recherche devrait lire ou modifier le presse-papiers de recherche partag\\xE9 sur macOS.\",\"Contr\\xF4le si le widget Recherche doit ajouter des lignes suppl\\xE9mentaires en haut de l'\\xE9diteur. Quand la valeur est true, vous pouvez faire d\\xE9filer au-del\\xE0 de la premi\\xE8re ligne si le widget Recherche est visible.\",\"Contr\\xF4le si la recherche red\\xE9marre automatiquement depuis le d\\xE9but (ou la fin) quand il n'existe aucune autre correspondance.\",\"Active/d\\xE9sactive les ligatures de police (fonctionnalit\\xE9s de police 'calt' et 'liga'). Remplacez ceci par une cha\\xEEne pour contr\\xF4ler de mani\\xE8re pr\\xE9cise la propri\\xE9t\\xE9 CSS 'font-feature-settings'.\",\"Propri\\xE9t\\xE9 CSS 'font-feature-settings' explicite. Vous pouvez passer une valeur bool\\xE9enne \\xE0 la place si vous devez uniquement activer/d\\xE9sactiver les ligatures.\",\"Configure les ligatures de police ou les fonctionnalit\\xE9s de police. Il peut s'agir d'une valeur bool\\xE9enne permettant d'activer/de d\\xE9sactiver les ligatures, ou d'une cha\\xEEne correspondant \\xE0 la valeur de la propri\\xE9t\\xE9 CSS 'font-feature-settings'.\",\"Active/d\\xE9sactive la traduction de font-weight en font-variation-settings. Remplacez ce param\\xE8tre par une cha\\xEEne pour un contr\\xF4le affin\\xE9 de la propri\\xE9t\\xE9 CSS 'font-variation-settings'.\",\"Propri\\xE9t\\xE9 CSS 'font-variation-settings' explicite. Une valeur bool\\xE9enne peut \\xEAtre pass\\xE9e \\xE0 la place si une seule valeur doit traduire font-weight en font-variation-settings.\",\"Configure les variations de la police. Il peut s\\u2019agir d\\u2019une valeur bool\\xE9enne pour activer/d\\xE9sactiver la traduction de font-weight en font-variation-settings ou d\\u2019une cha\\xEEne pour la valeur de la propri\\xE9t\\xE9 CSS 'font-variation-settings'.\",\"Contr\\xF4le la taille de police en pixels.\",'Seuls les mots cl\\xE9s \"normal\" et \"bold\", ou les nombres compris entre\\xA01 et\\xA01\\xA0000 sont autoris\\xE9s.',`Contr\\xF4le l'\\xE9paisseur de police. Accepte les mots cl\\xE9s \"normal\" et \"bold\", ou les nombres compris entre\\xA01 et\\xA01\\xA0000.`,\"Montrer l\\u2019aper\\xE7u des r\\xE9sultats (par d\\xE9faut)\",\"Acc\\xE9der au r\\xE9sultat principal et montrer un aper\\xE7u\",\"Acc\\xE9der au r\\xE9sultat principal et activer l\\u2019acc\\xE8s sans aper\\xE7u pour les autres\",\"Ce param\\xE8tre est d\\xE9pr\\xE9ci\\xE9, utilisez des param\\xE8tres distincts comme 'editor.editor.gotoLocation.multipleDefinitions' ou 'editor.editor.gotoLocation.multipleImplementations' \\xE0 la place.\",\"Contr\\xF4le le comportement de la commande 'Atteindre la d\\xE9finition' quand plusieurs emplacements cibles existent.\",\"Contr\\xF4le le comportement de la commande 'Atteindre la d\\xE9finition de type' quand plusieurs emplacements cibles existent.\",\"Contr\\xF4le le comportement de la commande 'Atteindre la d\\xE9claration' quand plusieurs emplacements cibles existent.\",\"Contr\\xF4le le comportement de la commande 'Atteindre les impl\\xE9mentations' quand plusieurs emplacements cibles existent.\",\"Contr\\xF4le le comportement de la commande 'Atteindre les r\\xE9f\\xE9rences' quand plusieurs emplacements cibles existent.\",\"ID de commande alternatif ex\\xE9cut\\xE9 quand le r\\xE9sultat de 'Atteindre la d\\xE9finition' est l'emplacement actuel.\",\"ID de commande alternatif ex\\xE9cut\\xE9 quand le r\\xE9sultat de 'Atteindre la d\\xE9finition de type' est l'emplacement actuel.\",\"ID de commande alternatif ex\\xE9cut\\xE9 quand le r\\xE9sultat de 'Atteindre la d\\xE9claration' est l'emplacement actuel.\",\"ID de commande alternatif ex\\xE9cut\\xE9 quand le r\\xE9sultat de 'Atteindre l'impl\\xE9mentation' est l'emplacement actuel.\",\"ID de commande alternatif ex\\xE9cut\\xE9 quand le r\\xE9sultat de 'Atteindre la r\\xE9f\\xE9rence' est l'emplacement actuel.\",\"Contr\\xF4le si le pointage est affich\\xE9.\",\"Contr\\xF4le le d\\xE9lai en millisecondes, apr\\xE8s lequel le survol est affich\\xE9.\",\"Contr\\xF4le si le pointage doit rester visible quand la souris est d\\xE9plac\\xE9e au-dessus.\",\"Contr\\xF4le le d\\xE9lai en millisecondes apr\\xE8s lequel le survol est masqu\\xE9. N\\xE9cessite que \\xAB editor.hover.sticky \\xBB soit activ\\xE9.\",\"Pr\\xE9f\\xE9rez afficher les points au-dessus de la ligne, s\\u2019il y a de l\\u2019espace.\",\"Suppose que tous les caract\\xE8res ont la m\\xEAme largeur. Il s'agit d'un algorithme rapide qui fonctionne correctement pour les polices \\xE0 espacement fixe et certains scripts (comme les caract\\xE8res latins) o\\xF9 les glyphes ont la m\\xEAme largeur.\",\"D\\xE9l\\xE8gue le calcul des points de wrapping au navigateur. Il s'agit d'un algorithme lent qui peut provoquer le gel des grands fichiers, mais qui fonctionne correctement dans tous les cas.\",\"Contr\\xF4le l\\u2019algorithme qui calcule les points d\\u2019habillage. Notez qu\\u2019en mode d\\u2019accessibilit\\xE9, les options avanc\\xE9es sont utilis\\xE9es pour une exp\\xE9rience optimale.\",\"D\\xE9sactiver le menu d\\u2019action du code.\",\"Afficher le menu d\\u2019action du code lorsque le curseur se trouve sur des lignes avec du code.\",\"Afficher le menu d\\u2019action du code lorsque le curseur se trouve sur des lignes avec du code ou sur des lignes vides.\",\"Active l\\u2019ampoule d\\u2019action de code dans l\\u2019\\xE9diteur.\",\"Affiche les \\xE9tendues actives imbriqu\\xE9s pendant le d\\xE9filement en haut de l\\u2019\\xE9diteur.\",\"D\\xE9finit le nombre maximal de lignes r\\xE9manentes \\xE0 afficher.\",\"D\\xE9finit le mod\\xE8le \\xE0 utiliser pour d\\xE9terminer les lignes \\xE0 coller. Si le mod\\xE8le hi\\xE9rarchique n\\u2019existe pas, il revient au mod\\xE8le de fournisseur de pliage qui revient au mod\\xE8le de mise en retrait. Cette demande est respect\\xE9e dans les trois cas.\",\"Activez le d\\xE9filement de Sticky Scroll avec la barre de d\\xE9filement horizontale de l'\\xE9diteur.\",\"Active les indicateurs inlay dans l\\u2019\\xE9diteur.\",\"Les indicateurs d\\u2019inlay sont activ\\xE9s.\",\"Les indicateurs d\\u2019inlay sont affich\\xE9s par d\\xE9faut et masqu\\xE9s lors de la conservation {0}\",\"Les indicateurs d\\u2019inlay sont masqu\\xE9s par d\\xE9faut et s\\u2019affichent lorsque vous maintenez {0}\",\"Les indicateurs d\\u2019inlay sont d\\xE9sactiv\\xE9s.\",\"Contr\\xF4le la taille de police des indicateurs d\\u2019inlay dans l\\u2019\\xE9diteur. Par d\\xE9faut, le {0} est utilis\\xE9 lorsque la valeur configur\\xE9e est inf\\xE9rieure \\xE0 {1} ou sup\\xE9rieure \\xE0 la taille de police de l\\u2019\\xE9diteur.\",\"Contr\\xF4le la famille de polices des indicateurs d\\u2019inlay dans l\\u2019\\xE9diteur. Lorsqu\\u2019il est d\\xE9fini sur vide, le {0} est utilis\\xE9.\",\"Active le remplissage autour des indicateurs d\\u2019inlay dans l\\u2019\\xE9diteur.\",`Contr\\xF4le la hauteur de ligne. \\r\n - Utilisez 0 pour calculer automatiquement la hauteur de ligne \\xE0 partir de la taille de police.\\r\n : les valeurs comprises entre 0 et 8 sont utilis\\xE9es comme multiplicateur avec la taille de police.\\r\n : les valeurs sup\\xE9rieures ou \\xE9gales \\xE0 8 seront utilis\\xE9es comme valeurs effectives.`,\"Contr\\xF4le si la minimap est affich\\xE9e.\",\"Contr\\xF4le si la minimap est masqu\\xE9e automatiquement.\",\"Le minimap a la m\\xEAme taille que le contenu de l'\\xE9diteur (d\\xE9filement possible).\",\"Le minimap s'agrandit ou se r\\xE9duit selon les besoins pour remplir la hauteur de l'\\xE9diteur (pas de d\\xE9filement).\",\"Le minimap est r\\xE9duit si n\\xE9cessaire pour ne jamais d\\xE9passer la taille de l'\\xE9diteur (pas de d\\xE9filement).\",\"Contr\\xF4le la taille du minimap.\",\"Contr\\xF4le le c\\xF4t\\xE9 o\\xF9 afficher la minimap.\",\"Contr\\xF4le quand afficher le curseur du minimap.\",\"\\xC9chelle du contenu dessin\\xE9 dans le minimap\\xA0: 1, 2\\xA0ou\\xA03.\",\"Afficher les caract\\xE8res r\\xE9els sur une ligne par opposition aux blocs de couleur.\",\"Limiter la largeur de la minimap pour afficher au plus un certain nombre de colonnes.\",\"Contr\\xF4le si les r\\xE9gions nomm\\xE9es sont affich\\xE9es en tant qu\\u2019en-t\\xEAtes de section dans la minimap.\",\"Contr\\xF4le si les commentaires MARK\\xA0: sont affich\\xE9s en tant qu\\u2019en-t\\xEAtes de section dans la minimap.\",\"Contr\\xF4le la taille de police des en-t\\xEAtes de section dans le minimap.\",\"Contr\\xF4le la quantit\\xE9 d\\u2019espace (en pixels) entre les caract\\xE8res de l\\u2019en-t\\xEAte de section. Cela permet de lire l\\u2019en-t\\xEAte en petites tailles de police.\",\"Contr\\xF4le la quantit\\xE9 d\\u2019espace entre le bord sup\\xE9rieur de l\\u2019\\xE9diteur et la premi\\xE8re ligne.\",\"Contr\\xF4le la quantit\\xE9 d'espace entre le bord inf\\xE9rieur de l'\\xE9diteur et la derni\\xE8re ligne.\",\"Active une fen\\xEAtre contextuelle qui affiche de la documentation sur les param\\xE8tres et des informations sur les types \\xE0 mesure que vous tapez.\",\"D\\xE9termine si le menu de suggestions de param\\xE8tres se ferme ou reviens au d\\xE9but lorsque la fin de la liste est atteinte.\",\"Des suggestions rapides s\\u2019affichent dans le widget de suggestion\",\"Les suggestions rapides s\\u2019affichent sous forme de texte fant\\xF4me\",\"Les suggestions rapides sont d\\xE9sactiv\\xE9es\",\"Activez les suggestions rapides dans les cha\\xEEnes.\",\"Activez les suggestions rapides dans les commentaires.\",\"Activez les suggestions rapides en dehors des cha\\xEEnes et des commentaires.\",\"Contr\\xF4le si les suggestions doivent s\\u2019afficher automatiquement lors de la saisie. Cela peut \\xEAtre contr\\xF4l\\xE9 pour la saisie dans des commentaires, des cha\\xEEnes et d\\u2019autres codes. Vous pouvez configurer la suggestion rapide pour qu\\u2019elle s\\u2019affiche sous forme de texte fant\\xF4me ou avec le widget de suggestion. Tenez \\xE9galement compte du {0}-setting qui contr\\xF4le si les suggestions sont d\\xE9clench\\xE9es par des caract\\xE8res sp\\xE9ciaux.\",\"Les num\\xE9ros de ligne ne sont pas affich\\xE9s.\",\"Les num\\xE9ros de ligne sont affich\\xE9s en nombre absolu.\",\"Les num\\xE9ros de ligne sont affich\\xE9s sous la forme de distance en lignes \\xE0 la position du curseur.\",\"Les num\\xE9ros de ligne sont affich\\xE9s toutes les 10 lignes.\",\"Contr\\xF4le l'affichage des num\\xE9ros de ligne.\",\"Nombre de caract\\xE8res monospace auxquels cette r\\xE8gle d'\\xE9diteur effectue le rendu.\",\"Couleur de cette r\\xE8gle d'\\xE9diteur.\",\"Rendre les r\\xE8gles verticales apr\\xE8s un certain nombre de caract\\xE8res \\xE0 espacement fixe. Utiliser plusieurs valeurs pour plusieurs r\\xE8gles. Aucune r\\xE8gle n'est dessin\\xE9e si le tableau est vide.\",\"La barre de d\\xE9filement verticale sera visible uniquement lorsque cela est n\\xE9cessaire.\",\"La barre de d\\xE9filement verticale est toujours visible.\",\"La barre de d\\xE9filement verticale est toujours masqu\\xE9e.\",\"Contr\\xF4le la visibilit\\xE9 de la barre de d\\xE9filement verticale.\",\"La barre de d\\xE9filement horizontale sera visible uniquement lorsque cela est n\\xE9cessaire.\",\"La barre de d\\xE9filement horizontale est toujours visible.\",\"La barre de d\\xE9filement horizontale est toujours masqu\\xE9e.\",\"Contr\\xF4le la visibilit\\xE9 de la barre de d\\xE9filement horizontale.\",\"Largeur de la barre de d\\xE9filement verticale.\",\"Hauteur de la barre de d\\xE9filement horizontale.\",\"Contr\\xF4le si les clics permettent de faire d\\xE9filer par page ou d\\u2019acc\\xE9der \\xE0 la position de clic.\",\"Lorsqu'elle est d\\xE9finie, la barre de d\\xE9filement horizontale n'augmentera pas la taille du contenu de l'\\xE9diteur.\",\"Contr\\xF4le si tous les caract\\xE8res ASCII non basiques sont mis en surbrillance. Seuls les caract\\xE8res compris entre U+0020 et U+007E, tabulation, saut de ligne et retour chariot sont consid\\xE9r\\xE9s comme des ASCII de base.\",\"Contr\\xF4le si les caract\\xE8res qui r\\xE9servent de l\\u2019espace ou qui n\\u2019ont pas de largeur sont mis en surbrillance.\",\"Contr\\xF4le si les caract\\xE8res mis en surbrillance peuvent \\xEAtre d\\xE9concert\\xE9s avec des caract\\xE8res ASCII de base, \\xE0 l\\u2019exception de ceux qui sont courants dans les param\\xE8tres r\\xE9gionaux utilisateur actuels.\",\"Contr\\xF4le si les caract\\xE8res des commentaires doivent \\xE9galement faire l\\u2019objet d\\u2019une mise en surbrillance Unicode.\",\"Contr\\xF4le si les caract\\xE8res des cha\\xEEnes de texte doivent \\xE9galement faire l\\u2019objet d\\u2019une mise en surbrillance Unicode.\",\"D\\xE9finit les caract\\xE8res autoris\\xE9s qui ne sont pas mis en surbrillance.\",\"Les caract\\xE8res Unicode communs aux param\\xE8tres r\\xE9gionaux autoris\\xE9s ne sont pas mis en surbrillance.\",\"Contr\\xF4le si les suggestions en ligne doivent \\xEAtre affich\\xE9es automatiquement dans l\\u2019\\xE9diteur.\",\"Afficher la barre d\\u2019outils de suggestion en ligne chaque fois qu\\u2019une suggestion inline est affich\\xE9e.\",\"Afficher la barre d\\u2019outils de suggestion en ligne lorsque vous pointez sur une suggestion incluse.\",\"N\\u2019affichez jamais la barre d\\u2019outils de suggestion en ligne.\",\"Contr\\xF4le quand afficher la barre d\\u2019outils de suggestion incluse.\",\"Contr\\xF4le la fa\\xE7on dont les suggestions inline interagissent avec le widget de suggestion. Si cette option est activ\\xE9e, le widget de suggestion n\\u2019est pas affich\\xE9 automatiquement lorsque des suggestions inline sont disponibles.\",\"Contr\\xF4le la famille de polices des suggestions inlined.\",null,null,null,null,null,null,\"Contr\\xF4le si la colorisation des paires de crochets est activ\\xE9e ou non. Utilisez {0} pour remplacer les couleurs de surbrillance des crochets.\",\"Contr\\xF4le si chaque type de crochet poss\\xE8de son propre pool de couleurs ind\\xE9pendant.\",\"D\\xE9sactive les rep\\xE8res de paire de crochets.\",\"Active les rep\\xE8res de paire de crochets uniquement pour la paire de crochets actifs.\",\"D\\xE9sactive les rep\\xE8res de paire de crochets.\",\"Contr\\xF4le si les guides de la paire de crochets sont activ\\xE9s ou non.\",\"Active les rep\\xE8res horizontaux en plus des rep\\xE8res de paire de crochets verticaux.\",\"Active les rep\\xE8res horizontaux uniquement pour la paire de crochets actifs.\",\"D\\xE9sactive les rep\\xE8res de paire de crochets horizontaux.\",\"Contr\\xF4le si les guides de la paire de crochets horizontaux sont activ\\xE9s ou non.\",\"Contr\\xF4le si l\\u2019\\xE9diteur doit mettre en surbrillance la paire de crochets actifs.\",\"Contr\\xF4le si l\\u2019\\xE9diteur doit afficher les guides de mise en retrait.\",\"Met en surbrillance le guide de retrait actif.\",\"Met en surbrillance le rep\\xE8re de retrait actif m\\xEAme si les rep\\xE8res de crochet sont mis en surbrillance.\",\"Ne mettez pas en surbrillance le rep\\xE8re de retrait actif.\",\"Contr\\xF4le si l\\u2019\\xE9diteur doit mettre en surbrillance le guide de mise en retrait actif.\",\"Ins\\xE9rez une suggestion sans remplacer le texte \\xE0 droite du curseur.\",\"Ins\\xE9rez une suggestion et remplacez le texte \\xE0 droite du curseur.\",\"Contr\\xF4le si les mots sont remplac\\xE9s en cas d'acceptation de la saisie semi-automatique. Notez que cela d\\xE9pend des extensions adh\\xE9rant \\xE0 cette fonctionnalit\\xE9.\",\"D\\xE9termine si le filtre et le tri des suggestions doivent prendre en compte les fautes de frappes mineures.\",\"Contr\\xF4le si le tri favorise les mots qui apparaissent \\xE0 proximit\\xE9 du curseur.\",\"Contr\\xF4le si les s\\xE9lections de suggestion m\\xE9moris\\xE9es sont partag\\xE9es entre plusieurs espaces de travail et fen\\xEAtres (n\\xE9cessite '#editor.suggestSelection#').\",\"Toujours s\\xE9lectionner une suggestion lors du d\\xE9clenchement automatique d\\u2019IntelliSense.\",\"Ne jamais s\\xE9lectionner une suggestion lors du d\\xE9clenchement automatique d\\u2019IntelliSense.\",\"S\\xE9lectionnez une suggestion uniquement lors du d\\xE9clenchement d\\u2019IntelliSense \\xE0 partir d\\u2019un caract\\xE8re d\\xE9clencheur.\",\"S\\xE9lectionnez une suggestion uniquement lors du d\\xE9clenchement d\\u2019IntelliSense au cours de la frappe.\",\"Contr\\xF4le si une suggestion est s\\xE9lectionn\\xE9e lorsque le widget s\\u2019affiche. Notez que cela ne s\\u2019applique qu\\u2019aux suggestions d\\xE9clench\\xE9es automatiquement ({0} et {1}) et qu\\u2019une suggestion est toujours s\\xE9lectionn\\xE9e lorsqu\\u2019elle est explicitement invoqu\\xE9e, par exemple via `Ctrl+Espace`.\",\"Contr\\xF4le si un extrait de code actif emp\\xEAche les suggestions rapides.\",\"Contr\\xF4le s'il faut montrer ou masquer les ic\\xF4nes dans les suggestions.\",\"Contr\\xF4le la visibilit\\xE9 de la barre d'\\xE9tat en bas du widget de suggestion.\",\"Contr\\xF4le si la sortie de la suggestion doit \\xEAtre affich\\xE9e en aper\\xE7u dans l\\u2019\\xE9diteur.\",\"D\\xE9termine si les d\\xE9tails du widget de suggestion sont inclus dans l\\u2019\\xE9tiquette ou uniquement dans le widget de d\\xE9tails.\",\"Ce param\\xE8tre est d\\xE9pr\\xE9ci\\xE9. Le widget de suggestion peut d\\xE9sormais \\xEAtre redimensionn\\xE9.\",\"Ce param\\xE8tre est d\\xE9pr\\xE9ci\\xE9, veuillez utiliser des param\\xE8tres distincts comme 'editor.suggest.showKeywords' ou 'editor.suggest.showSnippets' \\xE0 la place.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'method'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'function'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'constructor'.\",\"Si cette option est activ\\xE9e, IntelliSense montre des suggestions `d\\xE9pr\\xE9ci\\xE9es`.\",\"Quand le filtrage IntelliSense est activ\\xE9, le premier caract\\xE8re correspond \\xE0 un d\\xE9but de mot, par exemple 'c' sur 'Console' ou 'WebContext', mais _not_ sur 'description'. Si d\\xE9sactiv\\xE9, IntelliSense affiche plus de r\\xE9sultats, mais les trie toujours par qualit\\xE9 de correspondance.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'field'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'variable'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'class'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'struct'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'interface'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'module'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'property'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'event'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'operator'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'unit'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'value'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'constant'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'enum'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'enumMember'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'keyword'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'text'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'color'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'file'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'reference'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'customcolor'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'folder'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'typeParameter'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'snippet'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'utilisateur'.\",\"Si activ\\xE9, IntelliSense montre des suggestions de type 'probl\\xE8mes'.\",\"Indique si les espaces blancs de d\\xE9but et de fin doivent toujours \\xEAtre s\\xE9lectionn\\xE9s.\",\"Indique si les sous-mots (tels que \\xAB foo \\xBB dans \\xAB fooBar \\xBB ou \\xAB foo_bar \\xBB) doivent \\xEAtre s\\xE9lectionn\\xE9s.\",\"Param\\xE8tres r\\xE9gionaux \\xE0 utiliser pour la segmentation de mots lors de navigations ou d\\u2019op\\xE9rations li\\xE9es \\xE0 un mot. Sp\\xE9cifiez la balise de langue BCP 47 du mot que vous souhaitez reconna\\xEEtre (par exemple, ja, zh-CN, zh-Hant-TW, etc.).\",\"Param\\xE8tres r\\xE9gionaux \\xE0 utiliser pour la segmentation de mots lors de navigations ou d\\u2019op\\xE9rations li\\xE9es \\xE0 un mot. Sp\\xE9cifiez la balise de langue BCP 47 du mot que vous souhaitez reconna\\xEEtre (par exemple, ja, zh-CN, zh-Hant-TW, etc.).\",\"Aucune mise en retrait. Les lignes envelopp\\xE9es commencent \\xE0 la colonne 1.\",\"Les lignes envelopp\\xE9es obtiennent la m\\xEAme mise en retrait que le parent.\",\"Les lignes justifi\\xE9es obtiennent une mise en retrait +1 vers le parent.\",\"Les lignes justifi\\xE9es obtiennent une mise en retrait +2 vers le parent. \",\"Contr\\xF4le la mise en retrait des lignes justifi\\xE9es.\",\"Contr\\xF4le si vous pouvez glisser et d\\xE9poser un fichier dans un \\xE9diteur de texte en maintenant la touche \\xAB\\xA0Maj\\xA0\\xBB enfonc\\xE9e (au lieu d\\u2019ouvrir le fichier dans un \\xE9diteur).\",\"Contr\\xF4le si un widget est affich\\xE9 lors de l\\u2019annulation de fichiers dans l\\u2019\\xE9diteur. Ce widget vous permet de contr\\xF4ler la fa\\xE7on dont le fichier est annul\\xE9.\",\"Afficher le widget du s\\xE9lecteur de d\\xE9p\\xF4t apr\\xE8s la suppression d\\u2019un fichier dans l\\u2019\\xE9diteur.\",\"Ne jamais afficher le widget du s\\xE9lecteur de d\\xE9p\\xF4t. \\xC0 la place, le fournisseur de d\\xE9p\\xF4t par d\\xE9faut est toujours utilis\\xE9.\",\"Contr\\xF4le si vous pouvez coller le contenu de diff\\xE9rentes mani\\xE8res.\",\"Contr\\xF4le l\\u2019affichage d\\u2019un widget lors du collage de contenu dans l\\u2019\\xE9diteur. Ce widget vous permet de contr\\xF4ler la mani\\xE8re dont le fichier est coll\\xE9.\",\"Afficher le widget du s\\xE9lecteur de collage une fois le contenu coll\\xE9 dans l\\u2019\\xE9diteur.\",\"Ne jamais afficher le widget de s\\xE9lection de collage. Au lieu de cela, le comportement de collage par d\\xE9faut est toujours utilis\\xE9.\",\"Contr\\xF4le si les suggestions doivent \\xEAtre accept\\xE9es sur les caract\\xE8res de validation. Par exemple, en JavaScript, le point-virgule (`;`) peut \\xEAtre un caract\\xE8re de validation qui accepte une suggestion et tape ce caract\\xE8re.\",\"Accepter uniquement une suggestion avec 'Entr\\xE9e' quand elle effectue une modification textuelle.\",\"Contr\\xF4le si les suggestions sont accept\\xE9es apr\\xE8s appui sur 'Entr\\xE9e', en plus de 'Tab'. Permet d\\u2019\\xE9viter toute ambigu\\xEFt\\xE9 entre l\\u2019insertion de nouvelles lignes et l'acceptation de suggestions.\",\"Contr\\xF4le le nombre de lignes de l\\u2019\\xE9diteur qu\\u2019un lecteur d\\u2019\\xE9cran peut lire en une seule fois. Quand nous d\\xE9tectons un lecteur d\\u2019\\xE9cran, nous d\\xE9finissons automatiquement la valeur par d\\xE9faut \\xE0 500. Attention\\xA0: Les valeurs sup\\xE9rieures \\xE0 la valeur par d\\xE9faut peuvent avoir un impact important sur les performances.\",\"Contenu de l'\\xE9diteur\",\"Contr\\xF4lez si les suggestions incluses sont annonc\\xE9es par un lecteur d\\u2019\\xE9cran.\",\"Utilisez les configurations de langage pour d\\xE9terminer quand fermer automatiquement les parenth\\xE8ses.\",\"Fermer automatiquement les parenth\\xE8ses uniquement lorsque le curseur est \\xE0 gauche de l\\u2019espace.\",\"Contr\\xF4le si l\\u2019\\xE9diteur doit fermer automatiquement les parenth\\xE8ses quand l\\u2019utilisateur ajoute une parenth\\xE8se ouvrante.\",\"Utilisez les configurations de langage pour d\\xE9terminer quand fermer automatiquement les commentaires.\",\"Fermez automatiquement les commentaires seulement si le curseur est \\xE0 gauche de l'espace.\",\"Contr\\xF4le si l'\\xE9diteur doit fermer automatiquement les commentaires quand l'utilisateur ajoute un commentaire ouvrant.\",\"Supprimez les guillemets ou crochets fermants adjacents uniquement s'ils ont \\xE9t\\xE9 ins\\xE9r\\xE9s automatiquement.\",\"Contr\\xF4le si l'\\xE9diteur doit supprimer les guillemets ou crochets fermants adjacents au moment de la suppression.\",\"Tapez avant les guillemets ou les crochets fermants uniquement s'ils sont automatiquement ins\\xE9r\\xE9s.\",\"Contr\\xF4le si l'\\xE9diteur doit taper avant les guillemets ou crochets fermants.\",\"Utilisez les configurations de langage pour d\\xE9terminer quand fermer automatiquement les guillemets.\",\"Fermer automatiquement les guillemets uniquement lorsque le curseur est \\xE0 gauche de l\\u2019espace.\",\"Contr\\xF4le si l\\u2019\\xE9diteur doit fermer automatiquement les guillemets apr\\xE8s que l\\u2019utilisateur ajoute un guillemet ouvrant.\",\"L'\\xE9diteur n'ins\\xE8re pas de retrait automatiquement.\",\"L'\\xE9diteur conserve le retrait de la ligne actuelle.\",\"L'\\xE9diteur conserve le retrait de la ligne actuelle et honore les crochets d\\xE9finis par le langage.\",\"L'\\xE9diteur conserve le retrait de la ligne actuelle, honore les crochets d\\xE9finis par le langage et appelle des objets onEnterRules sp\\xE9ciaux d\\xE9finis par les langages.\",\"L'\\xE9diteur conserve le retrait de la ligne actuelle, honore les crochets d\\xE9finis par le langage, appelle des objets onEnterRules sp\\xE9ciaux d\\xE9finis par les langages et honore les objets indentationRules d\\xE9finis par les langages.\",\"Contr\\xF4le si l'\\xE9diteur doit ajuster automatiquement le retrait quand les utilisateurs tapent, collent, d\\xE9placent ou mettent en retrait des lignes.\",\"Utilisez les configurations de langage pour d\\xE9terminer quand entourer automatiquement les s\\xE9lections.\",\"Entourez avec des guillemets et non des crochets.\",\"Entourez avec des crochets et non des guillemets.\",\"Contr\\xF4le si l'\\xE9diteur doit automatiquement entourer les s\\xE9lections quand l'utilisateur tape des guillemets ou des crochets.\",\"\\xC9mule le comportement des tabulations pour la s\\xE9lection quand des espaces sont utilis\\xE9s \\xE0 des fins de mise en retrait. La s\\xE9lection respecte les taquets de tabulation.\",\"Contr\\xF4le si l'\\xE9diteur affiche CodeLens.\",\"Contr\\xF4le la famille de polices pour CodeLens.\",\"Contr\\xF4le la taille de police en pixels pour CodeLens. Quand la valeur est 0, 90\\xA0% de '#editor.fontSize#' est utilis\\xE9.\",\"Contr\\xF4le si l'\\xE9diteur doit afficher les \\xE9l\\xE9ments d\\xE9coratifs de couleurs inline et le s\\xE9lecteur de couleurs.\",\"Faire appara\\xEEtre le s\\xE9lecteur de couleurs au clic et au pointage de l\\u2019\\xE9l\\xE9ment d\\xE9coratif de couleurs\",\"Faire appara\\xEEtre le s\\xE9lecteur de couleurs en survolant l\\u2019\\xE9l\\xE9ment d\\xE9coratif de couleurs\",\"Faire appara\\xEEtre le s\\xE9lecteur de couleurs en cliquant sur l\\u2019\\xE9l\\xE9ment d\\xE9coratif de couleurs\",\"Contr\\xF4le la condition pour faire appara\\xEEtre un s\\xE9lecteur de couleurs \\xE0 partir d\\u2019un \\xE9l\\xE9ment d\\xE9coratif de couleurs\",\"Contr\\xF4le le nombre maximal d\\u2019\\xE9l\\xE9ments d\\xE9coratifs de couleur qui peuvent \\xEAtre rendus simultan\\xE9ment dans un \\xE9diteur.\",\"Autoriser l'utilisation de la souris et des touches pour s\\xE9lectionner des colonnes.\",\"Contr\\xF4le si la coloration syntaxique doit \\xEAtre copi\\xE9e dans le presse-papiers.\",\"Contr\\xF4ler le style d\\u2019animation du curseur.\",\"L\\u2019animation de caret fluide est d\\xE9sactiv\\xE9e.\",\"L\\u2019animation de caret fluide est activ\\xE9e uniquement lorsque l\\u2019utilisateur d\\xE9place le curseur avec un mouvement explicite.\",\"L\\u2019animation de caret fluide est toujours activ\\xE9e.\",\"Contr\\xF4le si l'animation du point d'insertion doit \\xEAtre activ\\xE9e.\",\"Contr\\xF4le le style du curseur en mode d\\u2019entr\\xE9e d\\u2019insertion.\",\"Contr\\xF4le le nombre minimal de lignes de d\\xE9but (0 minimum) et de fin (1 minimum) visibles autour du curseur. \\xC9galement appel\\xE9 \\xAB\\xA0scrollOff\\xA0\\xBB ou \\xAB\\xA0scrollOffset\\xA0\\xBB dans d'autres \\xE9diteurs.\",\"'cursorSurroundingLines' est appliqu\\xE9 seulement s'il est d\\xE9clench\\xE9 via le clavier ou une API.\",\"'cursorSurroundingLines' est toujours appliqu\\xE9.\",\"Contr\\xF4le le moment o\\xF9 #editor.cursorSurroundingLines# doit \\xEAtre appliqu\\xE9.\",\"D\\xE9termine la largeur du curseur lorsque `#editor.cursorStyle#` est \\xE0 `line`.\",\"Contr\\xF4le si l\\u2019\\xE9diteur autorise le d\\xE9placement de s\\xE9lections par glisser-d\\xE9placer.\",\"Utilisez une nouvelle m\\xE9thode de rendu avec des SVG.\",\"Utilisez une nouvelle m\\xE9thode de rendu avec des caract\\xE8res de police.\",\"Utilisez la m\\xE9thode de rendu stable.\",\"Contr\\xF4le si les espaces blancs sont rendus avec une nouvelle m\\xE9thode exp\\xE9rimentale.\",\"Multiplicateur de vitesse de d\\xE9filement quand vous appuyez sur 'Alt'.\",\"Contr\\xF4le si l'\\xE9diteur a le pliage de code activ\\xE9.\",\"Utilisez une strat\\xE9gie de pliage propre au langage, si disponible, sinon utilisez la strat\\xE9gie bas\\xE9e sur le retrait.\",\"Utilisez la strat\\xE9gie de pliage bas\\xE9e sur le retrait.\",\"Contr\\xF4le la strat\\xE9gie de calcul des plages de pliage.\",\"Contr\\xF4le si l'\\xE9diteur doit mettre en \\xE9vidence les plages pli\\xE9es.\",\"Contr\\xF4le si l\\u2019\\xE9diteur r\\xE9duit automatiquement les plages d\\u2019importation.\",\"Nombre maximal de r\\xE9gions pliables. L\\u2019augmentation de cette valeur peut r\\xE9duire la r\\xE9activit\\xE9 de l\\u2019\\xE9diteur lorsque la source actuelle comprend un grand nombre de r\\xE9gions pliables.\",\"Contr\\xF4le si le fait de cliquer sur le contenu vide apr\\xE8s une ligne pli\\xE9e d\\xE9plie la ligne.\",\"Contr\\xF4le la famille de polices.\",\"D\\xE9termine si l\\u2019\\xE9diteur doit automatiquement mettre en forme le contenu coll\\xE9. Un formateur doit \\xEAtre disponible et \\xEAtre capable de mettre en forme une plage dans un document.\",\"Contr\\xF4le si l\\u2019\\xE9diteur doit mettre automatiquement en forme la ligne apr\\xE8s la saisie.\",\"Contr\\xF4le si l'\\xE9diteur doit afficher la marge de glyphes verticale. La marge de glyphes sert principalement au d\\xE9bogage.\",\"Contr\\xF4le si le curseur doit \\xEAtre masqu\\xE9 dans la r\\xE8gle de la vue d\\u2019ensemble.\",\"Contr\\xF4le l'espacement des lettres en pixels.\",\"Contr\\xF4le si la modification li\\xE9e est activ\\xE9e dans l\\u2019\\xE9diteur. En fonction du langage, les symboles associ\\xE9s, par exemple les balises HTML, sont mis \\xE0 jour durant le processus de modification.\",\"Contr\\xF4le si l\\u2019\\xE9diteur doit d\\xE9tecter les liens et les rendre cliquables.\",\"Mettez en surbrillance les crochets correspondants.\",\"Un multiplicateur \\xE0 utiliser sur les `deltaX` et `deltaY` des \\xE9v\\xE9nements de d\\xE9filement de roulette de souris.\",\"Faites un zoom sur la police de l\\u2019\\xE9diteur quand l\\u2019utilisateur fait tourner la roulette de la souris tout en maintenant la touche \\xAB\\xA0Cmd\\xA0\\xBB enfonc\\xE9e.\",\"Faire un zoom sur la police de l'\\xE9diteur quand l'utilisateur fait tourner la roulette de la souris tout en maintenant la touche 'Ctrl' enfonc\\xE9e.\",\"Fusionnez plusieurs curseurs quand ils se chevauchent.\",\"Mappe vers 'Contr\\xF4le' dans Windows et Linux, et vers 'Commande' dans macOS.\",\"Mappe vers 'Alt' dans Windows et Linux, et vers 'Option' dans macOS.\",\"Modificateur \\xE0 utiliser pour ajouter plusieurs curseurs avec la souris. Les mouvements de la souris Atteindre la d\\xE9finition et Ouvrir le lien s\\u2019adaptent afin qu\\u2019ils ne soient pas en conflit avec le [modificateur multicurseur](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modificateur).\",\"Chaque curseur colle une seule ligne de texte.\",\"Chaque curseur colle le texte en entier.\",\"Contr\\xF4le le collage quand le nombre de lignes du texte coll\\xE9 correspond au nombre de curseurs.\",\"Contr\\xF4le le nombre maximal de curseurs pouvant se trouver dans un \\xE9diteur actif \\xE0 la fois.\",\"Ne met pas en surbrillance les occurrences.\",\"Met en surbrillance les occurrences uniquement dans le fichier actif.\",\"Exp\\xE9rimental : met en \\xE9vidence les occurrences dans tous les fichiers ouverts valides.\",\"Contr\\xF4le si les occurrences doivent \\xEAtre mises en \\xE9vidence dans les fichiers ouverts.\",\"Contr\\xF4le si une bordure doit \\xEAtre dessin\\xE9e autour de la r\\xE8gle de la vue d'ensemble.\",\"Focus sur l'arborescence \\xE0 l'ouverture de l'aper\\xE7u\",\"Placer le focus sur l'\\xE9diteur \\xE0 l'ouverture de l'aper\\xE7u\",\"Contr\\xF4le s'il faut mettre le focus sur l'\\xE9diteur inline ou sur l'arborescence dans le widget d'aper\\xE7u.\",\"Contr\\xF4le si le geste de souris Acc\\xE9der \\xE0 la d\\xE9finition ouvre toujours le widget d'aper\\xE7u.\",\"Contr\\xF4le le d\\xE9lai en millisecondes apr\\xE8s lequel des suggestions rapides sont affich\\xE9es.\",\"Contr\\xF4le si l'\\xE9diteur renomme automatiquement selon le type.\",\"D\\xE9pr\\xE9ci\\xE9. Utilisez 'editor.linkedEditing' \\xE0 la place.\",\"Contr\\xF4le si l\\u2019\\xE9diteur doit afficher les caract\\xE8res de contr\\xF4le.\",\"Affichez le dernier num\\xE9ro de ligne quand le fichier se termine par un saut de ligne.\",\"Met en surbrillance la goutti\\xE8re et la ligne actuelle.\",\"Contr\\xF4le la fa\\xE7on dont l\\u2019\\xE9diteur doit afficher la mise en surbrillance de la ligne actuelle.\",\"Contr\\xF4le si l'\\xE9diteur doit afficher la mise en surbrillance de la ligne actuelle uniquement quand il a le focus.\",\"Affiche les espaces blancs \\xE0 l'exception des espaces uniques entre les mots.\",\"Afficher les espaces blancs uniquement sur le texte s\\xE9lectionn\\xE9.\",\"Affiche uniquement les caract\\xE8res correspondant aux espaces blancs de fin.\",\"Contr\\xF4le la fa\\xE7on dont l\\u2019\\xE9diteur doit restituer les caract\\xE8res espaces.\",\"Contr\\xF4le si les s\\xE9lections doivent avoir des angles arrondis.\",\"Contr\\xF4le le nombre de caract\\xE8res suppl\\xE9mentaires, au-del\\xE0 duquel l\\u2019\\xE9diteur d\\xE9file horizontalement.\",\"Contr\\xF4le si l\\u2019\\xE9diteur d\\xE9file au-del\\xE0 de la derni\\xE8re ligne.\",\"Faites d\\xE9filer uniquement le long de l'axe pr\\xE9dominant quand le d\\xE9filement est \\xE0 la fois vertical et horizontal. Emp\\xEAche la d\\xE9rive horizontale en cas de d\\xE9filement vertical sur un pav\\xE9 tactile.\",\"Contr\\xF4le si le presse-papiers principal Linux doit \\xEAtre pris en charge.\",\"Contr\\xF4le si l'\\xE9diteur doit mettre en surbrillance les correspondances similaires \\xE0 la s\\xE9lection.\",\"Affichez toujours les contr\\xF4les de pliage.\",\"N\\u2019affichez jamais les contr\\xF4les de pliage et r\\xE9duisez la taille de la marge.\",\"Affichez uniquement les contr\\xF4les de pliage quand la souris est au-dessus de la reliure.\",\"Contr\\xF4le quand afficher les contr\\xF4les de pliage sur la reliure.\",\"Contr\\xF4le la disparition du code inutile.\",\"Contr\\xF4le les variables d\\xE9pr\\xE9ci\\xE9es barr\\xE9es.\",\"Afficher des suggestions d\\u2019extraits au-dessus d\\u2019autres suggestions.\",\"Afficher des suggestions d\\u2019extraits en-dessous d\\u2019autres suggestions.\",\"Afficher des suggestions d\\u2019extraits avec d\\u2019autres suggestions.\",\"Ne pas afficher de suggestions d\\u2019extrait de code.\",\"Contr\\xF4le si les extraits de code s'affichent en m\\xEAme temps que d'autres suggestions, ainsi que leur mode de tri.\",\"Contr\\xF4le si l'\\xE9diteur d\\xE9file en utilisant une animation.\",\"Contr\\xF4le si l'indicateur d'accessibilit\\xE9 doit \\xEAtre fourni aux utilisateurs du lecteur d'\\xE9cran lorsqu'une compl\\xE9tion inline est affich\\xE9e.\",\"Taille de police pour le widget suggest. Lorsqu\\u2019elle est d\\xE9finie sur {0}, la valeur de {1} est utilis\\xE9e.\",\"Hauteur de ligne pour le widget suggest. Lorsqu\\u2019elle est d\\xE9finie sur {0}, la valeur de {1} est utilis\\xE9e. La valeur minimale est 8.\",\"Contr\\xF4le si les suggestions devraient automatiquement s\\u2019afficher lorsque vous tapez les caract\\xE8res de d\\xE9clencheur.\",\"S\\xE9lectionnez toujours la premi\\xE8re suggestion.\",\"S\\xE9lectionnez les suggestions r\\xE9centes sauf si une entr\\xE9e ult\\xE9rieure en a s\\xE9lectionn\\xE9 une, par ex., 'console.| -> console.log', car 'log' a \\xE9t\\xE9 effectu\\xE9 r\\xE9cemment.\",\"S\\xE9lectionnez des suggestions en fonction des pr\\xE9fixes pr\\xE9c\\xE9dents qui ont compl\\xE9t\\xE9 ces suggestions, par ex., 'co -> console' et 'con -> const'.\",\"Contr\\xF4le comment les suggestions sont pr\\xE9-s\\xE9lectionn\\xE9s lors de l\\u2019affichage de la liste de suggestion.\",\"La compl\\xE9tion par tabulation ins\\xE9rera la meilleure suggestion lorsque vous appuyez sur tab.\",\"D\\xE9sactiver les compl\\xE9tions par tabulation.\",\"Compl\\xE9ter les extraits de code par tabulation lorsque leur pr\\xE9fixe correspond. Fonctionne mieux quand les 'quickSuggestions' ne sont pas activ\\xE9es.\",\"Active les compl\\xE9tions par tabulation\",\"Les marques de fin de ligne inhabituelles sont automatiquement supprim\\xE9es.\",\"Les marques de fin de ligne inhabituelles sont ignor\\xE9es.\",\"Les marques de fin de ligne inhabituelles demandent \\xE0 \\xEAtre supprim\\xE9es.\",\"Supprimez les marques de fin de ligne inhabituelles susceptibles de causer des probl\\xE8mes.\",\"Les espaces et les onglets sont ins\\xE9r\\xE9s et supprim\\xE9s en alignement avec les taquets de tabulation.\",\"Utilisez la r\\xE8gle de saut de ligne par d\\xE9faut.\",\"Les sauts de mots ne doivent pas \\xEAtre utilis\\xE9s pour le texte chinois/japonais/cor\\xE9en (CJC). Le comportement du texte non CJC est identique \\xE0 celui du texte normal.\",\"Contr\\xF4le les r\\xE8gles de s\\xE9parateur de mots utilis\\xE9es pour le texte chinois/japonais/cor\\xE9en (CJC).\",\"Caract\\xE8res utilis\\xE9s comme s\\xE9parateurs de mots durant la navigation ou les op\\xE9rations bas\\xE9es sur les mots\",\"Le retour automatique \\xE0 la ligne n'est jamais effectu\\xE9.\",\"Le retour automatique \\xE0 la ligne s'effectue en fonction de la largeur de la fen\\xEAtre d'affichage.\",\"Les lignes seront termin\\xE9es \\xE0 `#editor.wordWrapColumn#`.\",\"Les lignes seront termin\\xE9es au minimum du viewport et `#editor.wordWrapColumn#`.\",\"Contr\\xF4le comment les lignes doivent \\xEAtre limit\\xE9es.\",\"Contr\\xF4le la colonne de terminaison de l\\u2019\\xE9diteur lorsque `#editor.wordWrap#` est \\xE0 `wordWrapColumn` ou `bounded`.\",\"Contr\\xF4le si les d\\xE9corations de couleur inline doivent \\xEAtre affich\\xE9es \\xE0 l\\u2019aide du fournisseur de couleurs de document par d\\xE9faut\",\"Contr\\xF4le si l\\u2019\\xE9diteur re\\xE7oit des onglets ou les reporte au banc d\\u2019essai pour la navigation.\",\"Couleur d'arri\\xE8re-plan de la mise en surbrillance de la ligne \\xE0 la position du curseur.\",\"Couleur d'arri\\xE8re-plan de la bordure autour de la ligne \\xE0 la position du curseur.\",\"Couleur d'arri\\xE8re-plan des plages mises en surbrillance, comme par les fonctionnalit\\xE9s de recherche et Quick Open. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur d'arri\\xE8re-plan de la bordure autour des plages mises en surbrillance.\",\"Couleur d'arri\\xE8re-plan du symbole mis en surbrillance, comme le symbole Atteindre la d\\xE9finition ou Suivant/Pr\\xE9c\\xE9dent. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les d\\xE9corations sous-jacentes.\",\"Couleur d'arri\\xE8re-plan de la bordure autour des symboles mis en surbrillance.\",\"Couleur du curseur de l'\\xE9diteur.\",\"La couleur de fond du curseur de l'\\xE9diteur. Permet de personnaliser la couleur d'un caract\\xE8re survol\\xE9 par un curseur de bloc.\",\"Couleur du curseur de l\\u2019\\xE9diteur principal lorsque plusieurs curseurs sont pr\\xE9sents.\",\"Couleur d\\u2019arri\\xE8re-plan du curseur de l\\u2019\\xE9diteur principal lorsque plusieurs curseurs sont pr\\xE9sents. Permet de personnaliser la couleur d'un caract\\xE8re survol\\xE9 par un curseur de bloc.\",\"Couleur des curseurs de l\\u2019\\xE9diteur secondaire lorsque plusieurs curseurs sont pr\\xE9sents.\",\"Couleur d\\u2019arri\\xE8re-plan des curseurs de l\\u2019\\xE9diteur secondaire lorsque plusieurs curseurs sont pr\\xE9sents. Permet de personnaliser la couleur d'un caract\\xE8re survol\\xE9 par un curseur de bloc.\",\"Couleur des espaces blancs dans l'\\xE9diteur.\",\"Couleur des num\\xE9ros de ligne de l'\\xE9diteur.\",\"Couleur des rep\\xE8res de retrait de l'\\xE9diteur.\",\"'editorIndentGuide.background' est d\\xE9conseill\\xE9. Utilisez 'editorIndentGuide.background1' \\xE0 la place.\",\"Couleur des guides d'indentation de l'\\xE9diteur actif\",\"'editorIndentGuide.activeBackground' est d\\xE9conseill\\xE9. Utilisez 'editorIndentGuide.activeBackground1' \\xE0 la place.\",\"Couleur des rep\\xE8res de retrait de l'\\xE9diteur (1).\",\"Couleur des rep\\xE8res de retrait de l'\\xE9diteur (2).\",\"Couleur des rep\\xE8res de retrait de l'\\xE9diteur (3).\",\"Couleur des rep\\xE8res de retrait de l'\\xE9diteur (4).\",\"Couleur des rep\\xE8res de retrait de l'\\xE9diteur (5).\",\"Couleur des rep\\xE8res de retrait de l'\\xE9diteur (6).\",\"Couleur des repaires de retrait de l'\\xE9diteur actifs (1).\",\"Couleur des repaires de retrait de l'\\xE9diteur actifs (2).\",\"Couleur des repaires de retrait de l'\\xE9diteur actifs (3).\",\"Couleur des repaires de retrait de l'\\xE9diteur actifs (4).\",\"Couleur des repaires de retrait de l'\\xE9diteur actifs (5).\",\"Couleur des repaires de retrait de l'\\xE9diteur actifs (6).\",\"Couleur des num\\xE9ros de lignes actives de l'\\xE9diteur\",\"L\\u2019ID est d\\xE9pr\\xE9ci\\xE9. Utilisez \\xE0 la place 'editorLineNumber.activeForeground'.\",\"Couleur des num\\xE9ros de lignes actives de l'\\xE9diteur\",\"Couleur de la ligne finale de l\\u2019\\xE9diteur lorsque editor.renderFinalNewline est d\\xE9fini sur gris\\xE9.\",\"Couleur des r\\xE8gles de l'\\xE9diteur\",\"Couleur pour les indicateurs CodeLens\",\"Couleur d'arri\\xE8re-plan pour les accolades associ\\xE9es\",\"Couleur pour le contour des accolades associ\\xE9es\",\"Couleur de la bordure de la r\\xE8gle d'aper\\xE7u.\",\"Couleur d\\u2019arri\\xE8re-plan de la r\\xE8gle de vue d\\u2019ensemble de l\\u2019\\xE9diteur.\",\"Couleur de fond pour la bordure de l'\\xE9diteur. La bordure contient les marges pour les symboles et les num\\xE9ros de ligne.\",\"Couleur de bordure du code source inutile (non utilis\\xE9) dans l'\\xE9diteur.\",\"Opacit\\xE9 du code source inutile (non utilis\\xE9) dans l'\\xE9diteur. Par exemple, '#000000c0' affiche le code avec une opacit\\xE9 de 75\\xA0%. Pour les th\\xE8mes \\xE0 fort contraste, utilisez la couleur de th\\xE8me 'editorUnnecessaryCode.border' pour souligner le code inutile au lieu d'utiliser la transparence.\",\"Couleur de bordure du texte fant\\xF4me dans l\\u2019\\xE9diteur.\",\"Couleur de premier plan du texte fant\\xF4me dans l\\u2019\\xE9diteur.\",\"Couleur de l\\u2019arri\\xE8re-plan du texte fant\\xF4me dans l\\u2019\\xE9diteur\",\"Couleur de marqueur de la r\\xE8gle d'aper\\xE7u pour la mise en surbrillance des plages. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur du marqueur de la r\\xE8gle d'aper\\xE7u pour les erreurs.\",\"Couleur du marqueur de la r\\xE8gle d'aper\\xE7u pour les avertissements.\",\"Couleur du marqueur de la r\\xE8gle d'aper\\xE7u pour les informations.\",\"Couleur de premier plan des crochets (1). N\\xE9cessite l\\u2019activation de la coloration de la paire de crochets.\",\"Couleur de premier plan des crochets (2). N\\xE9cessite l\\u2019activation de la coloration de la paire de crochets.\",\"Couleur de premier plan des crochets (3). N\\xE9cessite l\\u2019activation de la coloration de la paire de crochets.\",\"Couleur de premier plan des crochets (4). N\\xE9cessite l\\u2019activation de la coloration de la paire de crochets.\",\"Couleur de premier plan des crochets (5). N\\xE9cessite l\\u2019activation de la coloration de la paire de crochets.\",\"Couleur de premier plan des crochets (6). N\\xE9cessite l\\u2019activation de la coloration de la paire de crochets.\",\"Couleur de premier plan des parenth\\xE8ses inattendues\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets inactifs (1). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets inactifs (2). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets inactifs (3). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets inactifs (4). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets inactifs (5). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets inactifs (6). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets actifs (1). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets actifs (2). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets actifs (3). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets actifs (4). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets actifs (5). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur d\\u2019arri\\xE8re-plan des rep\\xE8res de paire de crochets actifs (6). N\\xE9cessite l\\u2019activation des rep\\xE8res de paire de crochets.\",\"Couleur de bordure utilis\\xE9e pour mettre en surbrillance les caract\\xE8res Unicode\",\"Couleur de fond utilis\\xE9e pour mettre en \\xE9vidence les caract\\xE8res unicode\",\"Indique si le texte de l'\\xE9diteur a le focus (le curseur clignote)\",\"Indique si l'\\xE9diteur ou un widget de l'\\xE9diteur a le focus (par exemple, le focus se trouve sur le widget de recherche)\",\"Indique si un \\xE9diteur ou une entr\\xE9e de texte mis en forme a le focus (le curseur clignote)\",\"Indique si l\\u2019\\xE9diteur est en lecture seule\",\"Indique si le contexte est celui d'un \\xE9diteur de diff\\xE9rences\",\"Indique si le contexte est celui d\\u2019un \\xE9diteur de diff\\xE9rences int\\xE9gr\\xE9\",null,\"Indique si tous les fichiers de l\\u2019\\xE9diteur de diff\\xE9rences sont r\\xE9duits\",\"Indique si l\\u2019\\xE9diteur de diff\\xE9rences a des modifications\",\"Indique si un bloc de code d\\xE9plac\\xE9 est s\\xE9lectionn\\xE9 pour \\xEAtre compar\\xE9\",\"Indique si la visionneuse diff accessible est visible\",\"Indique si le point d'arr\\xEAt Render Side by Side ou inline de l'\\xE9diteur de diff\\xE9rences est atteint\",\"Indique si le mode inline est actif\",\"Indique si la modification est accessible en \\xE9criture dans l\\u2019\\xE9diteur de diff\\xE9rences\",\"Indique si la modification est accessible en \\xE9criture dans l\\u2019\\xE9diteur de diff\\xE9rences\",\"URI du document d\\u2019origine\",\"URI du document modifi\\xE9\",\"Indique si 'editor.columnSelection' est activ\\xE9\",\"Indique si du texte est s\\xE9lectionn\\xE9 dans l'\\xE9diteur\",\"Indique si l'\\xE9diteur a plusieurs s\\xE9lections\",\"Indique si la touche Tab permet de d\\xE9placer le focus hors de l'\\xE9diteur\",\"Indique si le pointage de l'\\xE9diteur est visible\",\"Indique si le pointage de l\\u2019\\xE9diteur est cibl\\xE9\",\"Indique si le d\\xE9filement du pense-b\\xEAte a le focus\",\"Indique si le d\\xE9filement du pense-b\\xEAte est visible\",\"Indique si le s\\xE9lecteur de couleurs autonome est visible\",\"Indique si le s\\xE9lecteur de couleurs autonome est prioritaire\",\"Indique si l'\\xE9diteur fait partie d'un \\xE9diteur plus important (par exemple Notebooks)\",\"Identificateur de langage de l'\\xE9diteur\",\"Indique si l'\\xE9diteur a un fournisseur d'\\xE9l\\xE9ments de compl\\xE9tion\",\"Indique si l'\\xE9diteur a un fournisseur d'actions de code\",\"Indique si l'\\xE9diteur a un fournisseur d'informations CodeLens\",\"Indique si l'\\xE9diteur a un fournisseur de d\\xE9finitions\",\"Indique si l'\\xE9diteur a un fournisseur de d\\xE9clarations\",\"Indique si l'\\xE9diteur a un fournisseur d'impl\\xE9mentation\",\"Indique si l'\\xE9diteur a un fournisseur de d\\xE9finitions de type\",\"Indique si l'\\xE9diteur a un fournisseur de pointage\",\"Indique si l'\\xE9diteur a un fournisseur de mise en surbrillance pour les documents\",\"Indique si l'\\xE9diteur a un fournisseur de symboles pour les documents\",\"Indique si l'\\xE9diteur a un fournisseur de r\\xE9f\\xE9rence\",\"Indique si l'\\xE9diteur a un fournisseur de renommage\",\"Indique si l'\\xE9diteur a un fournisseur d'aide sur les signatures\",\"Indique si l'\\xE9diteur a un fournisseur d'indicateurs inline\",\"Indique si l'\\xE9diteur a un fournisseur de mise en forme pour les documents\",\"Indique si l'\\xE9diteur a un fournisseur de mise en forme de s\\xE9lection pour les documents\",\"Indique si l'\\xE9diteur a plusieurs fournisseurs de mise en forme pour les documents\",\"Indique si l'\\xE9diteur a plusieurs fournisseurs de mise en forme de s\\xE9lection pour les documents\",\"tableau\",\"bool\\xE9en\",\"classe\",\"constante\",\"constructeur\",\"\\xE9num\\xE9ration\",\"membre d'\\xE9num\\xE9ration\",\"\\xE9v\\xE9nement\",\"champ\",\"fichier\",\"fonction\",\"interface\",\"cl\\xE9\",\"m\\xE9thode\",\"module\",\"espace de noms\",\"NULL\",\"nombre\",\"objet\",\"op\\xE9rateur\",\"package\",\"propri\\xE9t\\xE9\",\"cha\\xEEne\",\"struct\",\"param\\xE8tre de type\",\"variable\",\"{0} ({1})\",\"Texte brut\",\"Frappe en cours\",\"D\\xE9veloppeur\\xA0: Inspecter les jetons\",\"Acc\\xE9der \\xE0 la ligne/colonne...\",\"Afficher tous les fournisseurs d'acc\\xE8s rapide\",\"Palette de commandes\",\"Commandes d'affichage et d'ex\\xE9cution\",\"Acc\\xE9der au symbole...\",\"Acc\\xE9der au symbole par cat\\xE9gorie...\",\"Contenu de l'\\xE9diteur\",\"Activer/d\\xE9sactiver le th\\xE8me \\xE0 contraste \\xE9lev\\xE9\",\"{0} modifications dans {1} fichiers\",\"Afficher plus\\xA0({0})\",\"{0}\\xA0caract\\xE8res\",\"Ancre de s\\xE9lection\",\"Ancre d\\xE9finie sur {0}:{1}\",\"D\\xE9finir l'ancre de s\\xE9lection\",\"Atteindre l'ancre de s\\xE9lection\",\"S\\xE9lectionner de l'ancre au curseur\",\"Annuler l'ancre de s\\xE9lection\",\"Couleur du marqueur de la r\\xE8gle d'aper\\xE7u pour rechercher des parenth\\xE8ses.\",\"Atteindre le crochet\",\"S\\xE9lectionner jusqu'au crochet\",\"Supprimer les crochets\",\"Acc\\xE9der au &&crochet\",\"S\\xE9lectionner le texte \\xE0 l\\u2019int\\xE9rieur et inclure les crochets ou accolades\",\"D\\xE9placer le texte s\\xE9lectionn\\xE9 \\xE0 gauche\",\"D\\xE9placer le texte s\\xE9lectionn\\xE9 \\xE0 droite\",\"Transposer les lettres\",\"Co&&uper\",\"Couper\",\"Couper\",\"Couper\",\"&&Copier\",\"Copier\",\"Copier\",\"Copier\",\"Co&&ller\",\"Coller\",\"Coller\",\"Coller\",\"Copier avec la coloration syntaxique\",\"Copier en tant que\",\"Copier en tant que\",\"Partager\",\"Partager\",\"Une erreur inconnue s'est produite \\xE0 l'application de l'action du code\",\"Type d'action de code \\xE0 ex\\xE9cuter.\",\"Contr\\xF4le quand les actions retourn\\xE9es sont appliqu\\xE9es.\",\"Appliquez toujours la premi\\xE8re action de code retourn\\xE9e.\",\"Appliquez la premi\\xE8re action de code retourn\\xE9e si elle est la seule.\",\"N'appliquez pas les actions de code retourn\\xE9es.\",\"Contr\\xF4le si seules les actions de code par d\\xE9faut doivent \\xEAtre retourn\\xE9es.\",\"Correction rapide...\",\"Aucune action de code disponible\",\"Aucune action de code pr\\xE9f\\xE9r\\xE9e n'est disponible pour '{0}'\",\"Aucune action de code disponible pour '{0}'\",\"Aucune action de code par d\\xE9faut disponible\",\"Aucune action de code disponible\",\"Remanier...\",\"Aucune refactorisation par d\\xE9faut disponible pour '{0}'\",\"Aucune refactorisation disponible pour '{0}'\",\"Aucune refactorisation par d\\xE9faut disponible\",\"Aucune refactorisation disponible\",\"Action de la source\",\"Aucune action source par d\\xE9faut disponible pour '{0}'\",\"Aucune action source disponible pour '{0}'\",\"Aucune action source par d\\xE9faut disponible\",\"Aucune action n'est disponible\",\"Organiser les importations\",\"Aucune action organiser les imports disponible\",\"Tout corriger\",\"Aucune action Tout corriger disponible\",\"Corriger automatiquement...\",\"Aucun correctif automatique disponible\",\"Activez/d\\xE9sactivez l\\u2019affichage des en-t\\xEAtes de groupe dans le menu d\\u2019action du code.\",\"Activer/d\\xE9sactiver l'affichage du correctif rapide le plus proche dans une ligne lorsque vous n'\\xEAtes pas actuellement en cours de diagnostic.\",\"Activez le d\\xE9clenchement de {0} lorsque {1} est d\\xE9fini sur {2}. Les actions de code doivent \\xEAtre d\\xE9finies sur {3} pour \\xEAtre d\\xE9clench\\xE9es pour les modifications de fen\\xEAtre et de focus.\",\"Contexte\\xA0: {0} \\xE0 la ligne {1} et \\xE0 la colonne {2}.\",\"Masquer d\\xE9sactiv\\xE9\",\"Afficher les \\xE9l\\xE9ments d\\xE9sactiv\\xE9s\",\"Plus d\\u2019actions...\",\"Correctif rapide\",\"Extraire\",\"Inline\",\"R\\xE9\\xE9crire\",\"D\\xE9placer\",\"Entourer de\",\"Action source\",\"Ic\\xF4ne qui g\\xE9n\\xE8re le menu Actions de code \\xE0 partir de la reliure quand il n\\u2019y a pas d\\u2019espace dans l\\u2019\\xE9diteur.\",\"Ic\\xF4ne qui g\\xE9n\\xE8re le menu actions de code \\xE0 partir de la reliure quand l\\u2019\\xE9diteur n\\u2019a pas d\\u2019espace et qu\\u2019un correctif rapide est disponible.\",\"Ic\\xF4ne qui g\\xE9n\\xE8re le menu actions de code \\xE0 partir de la reliure quand il n\\u2019y a pas d\\u2019espace dans l\\u2019\\xE9diteur et qu\\u2019un correctif IA est disponible.\",\"Ic\\xF4ne qui g\\xE9n\\xE8re le menu actions de code \\xE0 partir de la reliure quand il n\\u2019y a pas d\\u2019espace dans l\\u2019\\xE9diteur et qu\\u2019un correctif IA et un correctif rapide sont disponibles.\",\"Ic\\xF4ne qui g\\xE9n\\xE8re le menu actions de code \\xE0 partir de la reliure quand il n\\u2019y a pas d\\u2019espace dans l\\u2019\\xE9diteur et qu\\u2019un correctif IA et un correctif rapide sont disponibles.\",\"Ex\\xE9cuter\\xA0: {0}\",\"Afficher les actions de code. Correctif rapide disponible par d\\xE9faut ({0})\",\"Afficher les actions de code ({0})\",\"Afficher les actions de code\",\"Afficher les commandes Code Lens de la ligne actuelle\",\"S\\xE9lectionner une commande\",null,null,null,null,null,null,null,null,null,\"Activer/d\\xE9sactiver le commentaire de ligne\",\"Afficher/masquer le commen&&taire de ligne\",\"Ajouter le commentaire de ligne\",\"Supprimer le commentaire de ligne\",\"Activer/d\\xE9sactiver le commentaire de bloc\",\"Afficher/masquer le commentaire de &&bloc\",\"Minimap\",\"Afficher les caract\\xE8res\",\"Taille verticale\",\"Proportionnel\",\"Remplissage\",\"Ajuster\",\"Curseur\",\"Pointer la souris\",\"Toujours\",\"Afficher le menu contextuel de l'\\xE9diteur\",\"Annulation du curseur\",\"Restauration du curseur\",`Type de la modification de collage \\xE0 essayer pour les op\\xE9rations de collage.\\r\nS\\u2019il existe plusieurs modifications de ce type, l\\u2019\\xE9diteur affiche un s\\xE9lecteur. S\\u2019il n\\u2019existe aucune modification de ce type, l\\u2019\\xE9diteur affiche un message d\\u2019erreur.`,\"Coller en tant que...\",\"Coller au format texte\",\"Si le widget de collage est affich\\xE9\",\"Afficher les options de collage...\",\"Nous n\\u2019avons trouv\\xE9 aucune modification de collage n\\u2019a \\xE9t\\xE9 trouv\\xE9e pour \\xAB\\xA0{0}\\xA0\\xBB\",\"R\\xE9solution de la modification du collage. Cliquez ici pour annuler\",\"Ex\\xE9cution des gestionnaires de collage. Cliquez pour annuler et effectuer un collage de base\",\"S\\xE9lectionner l\\u2019action Coller\",\"Ex\\xE9cution des gestionnaires de collage\",\"Ins\\xE9rer du texte brut\",\"Ins\\xE9rer des URI\",\"Ins\\xE9rer un URI\",\"Ins\\xE9rer des chemins d\\u2019acc\\xE8s\",\"Ins\\xE9rer un chemin d\\u2019acc\\xE8s\",\"Ins\\xE9rer des chemins d\\u2019acc\\xE8s relatifs\",\"Ins\\xE9rer un chemin d\\u2019acc\\xE8s relatif\",\"Ins\\xE9rer du code HTML\",null,\"Indique si le widget de suppression s\\u2019affiche\",\"Afficher les options de suppression...\",\"Ex\\xE9cution des gestionnaires de d\\xE9p\\xF4t. Cliquez pour annuler\",`Erreur lors de la r\\xE9solution de la modification \\xAB{0}\\xBB :\\r\n{1}`,`Erreur lors de l\\u2019application de la modification \\xAB{0}\\xBB :\\r\n{1}`,\"Indique si l'\\xE9diteur ex\\xE9cute une op\\xE9ration annulable, par exemple 'Avoir un aper\\xE7u des r\\xE9f\\xE9rences'\",\"Le fichier est trop volumineux pour effectuer une op\\xE9ration Tout remplacer.\",\"Rechercher\",\"&&Rechercher\",\"Trouver avec des arguments\",\"Rechercher dans la s\\xE9lection\",\"Rechercher suivant\",\"Rechercher pr\\xE9c\\xE9dent\",\"Acc\\xE9der \\xE0 la correspondance...\",\"Aucune correspondance. Essayez de rechercher autre chose.\",\"Tapez un nombre pour acc\\xE9der \\xE0 une correspondance sp\\xE9cifique (entre 1 et {0})\",\"Veuillez entrer un nombre compris entre 1 et {0}\",\"Veuillez entrer un nombre compris entre 1 et {0}\",\"S\\xE9lection suivante\",\"S\\xE9lection pr\\xE9c\\xE9dente\",\"Remplacer\",\"&&Remplacer\",\"Ic\\xF4ne permettant d'indiquer que le widget de recherche de l'\\xE9diteur est r\\xE9duit.\",\"Ic\\xF4ne permettant d'indiquer que le widget de recherche de l'\\xE9diteur est d\\xE9velopp\\xE9.\",\"Ic\\xF4ne de l'option Rechercher dans la s\\xE9lection dans le widget de recherche de l'\\xE9diteur.\",\"Ic\\xF4ne de l'option Remplacer dans le widget de recherche de l'\\xE9diteur.\",\"Ic\\xF4ne de l'option Tout remplacer dans le widget de recherche de l'\\xE9diteur.\",\"Ic\\xF4ne de l'option Rechercher pr\\xE9c\\xE9dent dans le widget de recherche de l'\\xE9diteur.\",\"Ic\\xF4ne de l'option Rechercher suivant dans le widget de recherche de l'\\xE9diteur.\",\"Rechercher/remplacer\",\"Rechercher\",\"Rechercher\",\"Correspondance pr\\xE9c\\xE9dente\",\"Correspondance suivante\",\"Rechercher dans la s\\xE9lection\",\"Fermer\",\"Remplacer\",\"Remplacer\",\"Remplacer\",\"Tout remplacer\",\"Activer/d\\xE9sactiver le remplacement\",\"Seuls les {0} premiers r\\xE9sultats sont mis en \\xE9vidence, mais toutes les op\\xE9rations de recherche fonctionnent sur l\\u2019ensemble du texte.\",\"{0} sur {1}\",\"Aucun r\\xE9sultat\",\"{0} trouv\\xE9(s)\",\"{0} trouv\\xE9 pour '{1}'\",\"{0} trouv\\xE9 pour '{1}', sur {2}\",\"{0} trouv\\xE9 pour '{1}'\",\"La combinaison Ctrl+Entr\\xE9e permet d\\xE9sormais d'ajouter un saut de ligne au lieu de tout remplacer. Vous pouvez modifier le raccourci clavier de editor.action.replaceAll pour red\\xE9finir le comportement.\",\"D\\xE9plier\",\"D\\xE9plier de mani\\xE8re r\\xE9cursive\",\"Plier\",\"Activer/d\\xE9sactiver le pliage\",\"Plier de mani\\xE8re r\\xE9cursive\",\"Activer/d\\xE9sactiver le repli r\\xE9cursif\",\"Replier tous les commentaires de bloc\",\"Replier toutes les r\\xE9gions\",\"D\\xE9plier toutes les r\\xE9gions\",\"Plier tout, sauf les \\xE9l\\xE9ments s\\xE9lectionn\\xE9s\",\"D\\xE9plier tout, sauf les \\xE9l\\xE9ments s\\xE9lectionn\\xE9s\",\"Plier tout\",\"D\\xE9plier tout\",\"Atteindre le pli parent\",\"Acc\\xE9der \\xE0 la plage de pliage pr\\xE9c\\xE9dente\",\"Acc\\xE9der \\xE0 la plage de pliage suivante\",\"Cr\\xE9er une plage de pliage \\xE0 partir de la s\\xE9lection\",\"Supprimer les plages de pliage manuelles\",\"Niveau de pliage {0}\",\"Couleur d'arri\\xE8re-plan des gammes pli\\xE9es. La couleur ne doit pas \\xEAtre opaque pour ne pas cacher les d\\xE9corations sous-jacentes.\",\"Couleur du texte r\\xE9duit apr\\xE8s la premi\\xE8re ligne d\\u2019une plage pli\\xE9e.\",\"Couleur du contr\\xF4le de pliage dans la marge de l'\\xE9diteur.\",\"Ic\\xF4ne des plages d\\xE9velopp\\xE9es dans la marge de glyphes de l'\\xE9diteur.\",\"Ic\\xF4ne des plages r\\xE9duites dans la marge de glyphes de l'\\xE9diteur.\",\"Ic\\xF4ne pour les plages r\\xE9duites manuellement dans la marge de glyphe de l\\u2019\\xE9diteur.\",\"Ic\\xF4ne pour les plages d\\xE9velopp\\xE9es manuellement dans la marge de glyphe de l\\u2019\\xE9diteur.\",\"Cliquez pour d\\xE9velopper la plage.\",\"Cliquez pour r\\xE9duire la plage.\",\"Augmenter la taille de police de l\\u2019\\xE9diteur\",\"Diminuer la taille de police de l\\u2019\\xE9diteur\",\"R\\xE9initialiser la taille de police de l\\u2019\\xE9diteur\",\"Mettre le document en forme\",\"Mettre la s\\xE9lection en forme\",\"Aller au probl\\xE8me suivant (Erreur, Avertissement, Info)\",\"Ic\\xF4ne du prochain marqueur goto.\",\"Aller au probl\\xE8me pr\\xE9c\\xE9dent (Erreur, Avertissement, Info)\",\"Ic\\xF4ne du pr\\xE9c\\xE9dent marqueur goto.\",\"Aller au probl\\xE8me suivant dans Fichiers (Erreur, Avertissement, Info)\",\"&&Probl\\xE8me suivant\",\"Aller au probl\\xE8me pr\\xE9c\\xE9dent dans Fichiers (Erreur, Avertissement, Info)\",\"&&Probl\\xE8me pr\\xE9c\\xE9dent\",\"Erreur\",\"Avertissement\",\"Info\",\"Conseil\",\"{0} \\xE0 {1}. \",\"{0}\\xA0probl\\xE8mes sur\\xA0{1}\",\"{0}\\xA0probl\\xE8me(s) sur {1}\",\"Couleur d'erreur du widget de navigation dans les marqueurs de l'\\xE9diteur.\",\"Arri\\xE8re-plan du titre d\\u2019erreur du widget de navigation dans les marqueurs de l\\u2019\\xE9diteur.\",\"Couleur d'avertissement du widget de navigation dans les marqueurs de l'\\xE9diteur.\",\"Arri\\xE8re-plan du titre d\\u2019erreur du widget de navigation dans les marqueurs de l\\u2019\\xE9diteur.\",\"Couleur d\\u2019information du widget de navigation du marqueur de l'\\xE9diteur.\",\"Arri\\xE8re-plan du titre des informations du widget de navigation dans les marqueurs de l\\u2019\\xE9diteur.\",\"Arri\\xE8re-plan du widget de navigation dans les marqueurs de l'\\xE9diteur.\",\"Aper\\xE7u\",\"D\\xE9finitions\",\"D\\xE9finition introuvable pour '{0}'\",\"D\\xE9finition introuvable\",\"Atteindre la &&d\\xE9finition\",\"D\\xE9clarations\",\"Aucune d\\xE9claration pour '{0}'\",\"Aucune d\\xE9claration\",\"Atteindre la &&d\\xE9claration\",\"Aucune d\\xE9claration pour '{0}'\",\"Aucune d\\xE9claration\",\"D\\xE9finitions de type\",\"D\\xE9finition de type introuvable pour '{0}'\",\"D\\xE9finition de type introuvable\",\"Acc\\xE9der \\xE0 la d\\xE9finition de &&type\",\"Impl\\xE9mentations\",\"Impl\\xE9mentation introuvable pour '{0}'\",\"Impl\\xE9mentation introuvable\",\"Atteindre les &&impl\\xE9mentations\",\"Aucune r\\xE9f\\xE9rence pour '{0}'\",\"Aucune r\\xE9f\\xE9rence\",\"Atteindre les &&r\\xE9f\\xE9rences\",\"R\\xE9f\\xE9rences\",\"R\\xE9f\\xE9rences\",\"Emplacements\",\"Aucun r\\xE9sultat pour \\xAB\\xA0{0}\\xA0\\xBB\",\"R\\xE9f\\xE9rences\",\"Atteindre la d\\xE9finition\",\"Ouvrir la d\\xE9finition sur le c\\xF4t\\xE9\",\"Aper\\xE7u de la d\\xE9finition\",\"Acc\\xE9der \\xE0 la d\\xE9claration\",\"Aper\\xE7u de la d\\xE9claration\",\"Atteindre la d\\xE9finition du type\",\"Aper\\xE7u de la d\\xE9finition du type\",\"Atteindre les impl\\xE9mentations\",\"Aper\\xE7u des impl\\xE9mentations\",\"Atteindre les r\\xE9f\\xE9rences\",\"Aper\\xE7u des r\\xE9f\\xE9rences\",\"Atteindre un symbole\",\"Cliquez pour afficher {0}\\xA0d\\xE9finitions.\",\"Indique si l'aper\\xE7u des r\\xE9f\\xE9rences est visible, par exemple via 'Avoir un aper\\xE7u des r\\xE9f\\xE9rences' ou 'Faire un peek de la d\\xE9finition'\",\"Chargement en cours...\",\"{0} ({1})\",\"{0} r\\xE9f\\xE9rences\",\"{0} r\\xE9f\\xE9rence\",\"R\\xE9f\\xE9rences\",\"aper\\xE7u non disponible\",\"Aucun r\\xE9sultat\",\"R\\xE9f\\xE9rences\",\"dans {0} \\xE0 la ligne {1} \\xE0 la colonne {2}\",\"{0}dans {1} \\xE0 la ligne {2} \\xE0 la colonne {3}\",\"1 symbole dans {0}, chemin complet {1}\",\"{0} symboles dans {1}, chemin complet {2}\",\"R\\xE9sultats introuvables\",\"1\\xA0symbole dans {0}\",\"{0}\\xA0symboles dans {1}\",\"{0}\\xA0symboles dans {1} fichiers\",\"Indique s'il existe des emplacements de symboles que vous pouvez parcourir \\xE0 l'aide du clavier uniquement.\",\"Symbole {0} sur {1}, {2} pour le suivant\",\"Symbole {0} sur {1}\",\"Augmenter le niveau de verbosit\\xE9 par pointage\",\"Diminuer le niveau de d\\xE9tail du pointage\",\"Afficher ou focus sur pointer\",\"Le pointage ne prend pas automatiquement le focus.\",\"Le pointage prend le focus uniquement s\\u2019il est d\\xE9j\\xE0 visible.\",\"Le pointage prend automatiquement le focus lorsqu\\u2019il appara\\xEEt.\",\"Afficher le pointeur de l'aper\\xE7u de d\\xE9finition\",\"Faire d\\xE9filer le pointage vers le haut\",\"Faire d\\xE9filer le pointage vers le bas\",\"Faire d\\xE9filer vers la gauche au pointage\",\"Faire d\\xE9filer le pointage vers la droite\",\"Pointer vers le haut de la page\",\"Pointer vers le bas de la page\",\"Atteindre le pointage sup\\xE9rieur\",\"Pointer vers le bas\",\"Affichez ou concentrez le pointeur de l\\u2019\\xE9diteur qui affiche la documentation, les r\\xE9f\\xE9rences et d\\u2019autres contenus pour un symbole \\xE0 la position actuelle du curseur.\",\"Afficher l\\u2019aper\\xE7u de d\\xE9finition survol\\xE9 dans l\\u2019\\xE9diteur.\",\"Faites d\\xE9filer vers le haut le pointage de l\\u2019\\xE9diteur.\",\"Faites d\\xE9filer le pointeur de l\\u2019\\xE9diteur vers le bas.\",\"Faites d\\xE9filer vers la gauche le pointeur de l\\u2019\\xE9diteur.\",\"Faites d\\xE9filer vers la droite le pointeur de l\\u2019\\xE9diteur.\",\"Page pr\\xE9c\\xE9dente le pointage de l\\u2019\\xE9diteur.\",\"Page suivante le pointage de l\\u2019\\xE9diteur.\",\"Acc\\xE9dez au haut du pointage de l\\u2019\\xE9diteur.\",\"Atteindre le bas du pointage de l\\u2019\\xE9diteur.\",\"Ic\\xF4ne permettant d\\u2019augmenter le niveau de d\\xE9tail du pointage.\",\"Ic\\xF4ne permettant de r\\xE9duire le niveau de d\\xE9tail du pointage.\",\"Chargement en cours...\",\"Rendu suspendu pour une longue ligne pour des raisons de performances. Cela peut \\xEAtre configur\\xE9 via 'editor.stopRenderingLineAfter'.\",\"La tokenisation des lignes longues est ignor\\xE9e pour des raisons de performances. Cela peut \\xEAtre configur\\xE9e via 'editor.maxTokenizationLineLength'.\",\"Augmenter la verbosit\\xE9 par pointage ({0})\",\"Augmenter la verbosit\\xE9 par pointage\",\"Diminuer la verbosit\\xE9 par pointage ({0})\",\"Diminuer la verbosit\\xE9 par pointage\",\"Voir le probl\\xE8me\",\"Aucune solution disponible dans l'imm\\xE9diat\",\"Recherche de correctifs rapides...\",\"Aucune solution disponible dans l'imm\\xE9diat\",\"Correction rapide...\",\"Convertir les retraits en espaces\",\"Convertir les retraits en tabulations\",\"Taille des tabulations configur\\xE9e\",\"Taille des tabulations par d\\xE9faut\",\"Taille actuelle des tabulations\",\"S\\xE9lectionner la taille des tabulations pour le fichier actuel\",\"Mettre en retrait avec des tabulations\",\"Mettre en retrait avec des espaces\",\"Modifier la taille d\\u2019affichage des tabulations\",\"D\\xE9tecter la mise en retrait \\xE0 partir du contenu\",\"Remettre en retrait les lignes\",\"R\\xE9indenter les lignes s\\xE9lectionn\\xE9es\",\"Convertir la mise en retrait de l\\u2019onglet en espaces.\",\"Convertissez la mise en retrait des espaces en onglets.\",\"Utilisez une mise en retrait avec des onglets.\",\"Utilisez la mise en retrait avec des espaces.\",\"Modifier la taille d\\u2019espace \\xE9quivalente \\xE0 l\\u2019onglet.\",\"D\\xE9tectez la mise en retrait du contenu.\",\"R\\xE9ins\\xE9rez les lignes de l\\u2019\\xE9diteur.\",\"R\\xE9ins\\xE9rez les lignes s\\xE9lectionn\\xE9es de l\\u2019\\xE9diteur.\",\"Double-cliquer pour ins\\xE9rer\",\"cmd + clic\",\"ctrl + clic\",\"option + clic\",\"alt + clic\",\"Acc\\xE9dez \\xE0 D\\xE9finition ({0}), cliquez avec le bouton droit pour en savoir plus.\",\"Acc\\xE9der \\xE0 D\\xE9finition ({0})\",\"Ex\\xE9cuter la commande\",\"Afficher la suggestion en ligne suivante\",\"Afficher la suggestion en ligne pr\\xE9c\\xE9dente\",\"D\\xE9clencher une suggestion en ligne\",\"Accepter le mot suivant de la suggestion inline\",\"Accepter Word\",\"Accepter la ligne suivante d\\u2019une suggestion en ligne\",\"Accepter la ligne\",\"Accepter la suggestion en ligne\",\"Accepter\",\"Masquer la suggestion en ligne\",\"Toujours afficher la barre d'outils\",\"Indique si une suggestion en ligne est visible\",\"Indique si la suggestion en ligne commence par un espace blanc\",\"Indique si la suggestion incluse commence par un espace blanc inf\\xE9rieur \\xE0 ce qui serait ins\\xE9r\\xE9 par l\\u2019onglet.\",\"Indique si les suggestions doivent \\xEAtre supprim\\xE9es pour la suggestion actuelle\",\"Inspecter ceci dans l\\u2019affichage accessible ({0})\",\"Suggestion :\",\"Ic\\xF4ne d'affichage du prochain conseil de param\\xE8tre.\",\"Ic\\xF4ne d'affichage du pr\\xE9c\\xE9dent conseil de param\\xE8tre.\",\"{0} ({1})\",\"Pr\\xE9c\\xE9dent\",\"Suivant\",null,null,null,null,null,null,null,null,\"Remplacer par la valeur pr\\xE9c\\xE9dente\",\"Remplacer par la valeur suivante\",\"D\\xE9velopper la s\\xE9lection de ligne\",\"Copier la ligne en haut\",\"&&Copier la ligne en haut\",\"Copier la ligne en bas\",\"Co&&pier la ligne en bas\",\"Dupliquer la s\\xE9lection\",\"&&Dupliquer la s\\xE9lection\",\"D\\xE9placer la ligne vers le haut\",\"D\\xE9placer la ligne &&vers le haut\",\"D\\xE9placer la ligne vers le bas\",\"D\\xE9placer la &&ligne vers le bas\",\"Trier les lignes dans l'ordre croissant\",\"Trier les lignes dans l'ordre d\\xE9croissant\",\"Supprimer les lignes dupliqu\\xE9es\",\"D\\xE9couper l'espace blanc de fin\",\"Supprimer la ligne\",\"Mettre en retrait la ligne\",\"Ajouter un retrait n\\xE9gatif \\xE0 la ligne\",\"Ins\\xE9rer une ligne au-dessus\",\"Ins\\xE9rer une ligne sous\",\"Supprimer tout ce qui est \\xE0 gauche\",\"Supprimer tout ce qui est \\xE0 droite\",\"Joindre les lignes\",\"Transposer des caract\\xE8res autour du curseur\",\"Transformer en majuscule\",\"Transformer en minuscule\",'Appliquer la casse \"1re lettre des mots en majuscule\"',\"Transformer en snake case\",\"Transformer en casse mixte\",\"Transformer en casse Pascal\",\"Transformer en kebab case\",\"D\\xE9marrer la modification li\\xE9e\",\"Couleur d'arri\\xE8re-plan quand l'\\xE9diteur renomme automatiquement le type.\",\"\\xC9chec de l'ouverture de ce lien, car il n'est pas bien form\\xE9\\xA0: {0}\",\"\\xC9chec de l'ouverture de ce lien, car sa cible est manquante.\",\"Ex\\xE9cuter la commande\",\"suivre le lien\",\"cmd + clic\",\"ctrl + clic\",\"option + clic\",\"alt + clic\",\"Ex\\xE9cuter la commande {0}\",\"Ouvrir le lien\",\"Indique si l'\\xE9diteur affiche un message inline\",\"Curseur ajout\\xE9\\xA0: {0}\",\"Curseurs ajout\\xE9s\\xA0: {0}\",\"Ajouter un curseur au-dessus\",\"&&Ajouter un curseur au-dessus\",\"Ajouter un curseur en dessous\",\"Aj&&outer un curseur en dessous\",\"Ajouter des curseurs \\xE0 la fin des lignes\",\"Ajouter des c&&urseurs \\xE0 la fin des lignes\",\"Ajouter des curseurs en bas\",\"Ajouter des curseurs en haut\",\"Ajouter la s\\xE9lection \\xE0 la correspondance de recherche suivante\",\"Ajouter l'occurrence suiva&&nte\",\"Ajouter la s\\xE9lection \\xE0 la correspondance de recherche pr\\xE9c\\xE9dente\",\"Ajouter l'occurrence p&&r\\xE9c\\xE9dente\",\"D\\xE9placer la derni\\xE8re s\\xE9lection vers la correspondance de recherche suivante\",\"D\\xE9placer la derni\\xE8re s\\xE9lection \\xE0 la correspondance de recherche pr\\xE9c\\xE9dente\",\"S\\xE9lectionner toutes les occurrences des correspondances de la recherche\",\"S\\xE9lectionner toutes les &&occurrences\",\"Modifier toutes les occurrences\",\"Focus sur le curseur suivant\",\"Concentre le curseur suivant\",\"Focus sur le curseur pr\\xE9c\\xE9dent\",\"Concentre le curseur pr\\xE9c\\xE9dent\",\"Indicateurs des param\\xE8tres Trigger\",\"Ic\\xF4ne d'affichage du prochain conseil de param\\xE8tre.\",\"Ic\\xF4ne d'affichage du pr\\xE9c\\xE9dent conseil de param\\xE8tre.\",\"{0}, conseil\",\"Couleur de premier plan de l\\u2019\\xE9l\\xE9ment actif dans l\\u2019indicateur de param\\xE8tre.\",\"Indique si l'\\xE9diteur de code actuel est int\\xE9gr\\xE9 \\xE0 l'aper\\xE7u\",\"Fermer\",\"Couleur d'arri\\xE8re-plan de la zone de titre de l'affichage d'aper\\xE7u.\",\"Couleur du titre de l'affichage d'aper\\xE7u.\",\"Couleur des informations sur le titre de l'affichage d'aper\\xE7u.\",\"Couleur des bordures et de la fl\\xE8che de l'affichage d'aper\\xE7u.\",\"Couleur d'arri\\xE8re-plan de la liste des r\\xE9sultats de l'affichage d'aper\\xE7u.\",\"Couleur de premier plan des noeuds de lignes dans la liste des r\\xE9sultats de l'affichage d'aper\\xE7u.\",\"Couleur de premier plan des noeuds de fichiers dans la liste des r\\xE9sultats de l'affichage d'aper\\xE7u.\",\"Couleur d'arri\\xE8re-plan de l'entr\\xE9e s\\xE9lectionn\\xE9e dans la liste des r\\xE9sultats de l'affichage d'aper\\xE7u.\",\"Couleur de premier plan de l'entr\\xE9e s\\xE9lectionn\\xE9e dans la liste des r\\xE9sultats de l'affichage d'aper\\xE7u.\",\"Couleur d'arri\\xE8re-plan de l'\\xE9diteur d'affichage d'aper\\xE7u.\",\"Couleur d'arri\\xE8re-plan de la bordure de l'\\xE9diteur d'affichage d'aper\\xE7u.\",\"Couleur d\\u2019arri\\xE8re-plan du d\\xE9filement r\\xE9manent dans l\\u2019\\xE9diteur d\\u2019affichage d\\u2019aper\\xE7u.\",\"Couleur de mise en surbrillance d'une correspondance dans la liste des r\\xE9sultats de l'affichage d'aper\\xE7u.\",\"Couleur de mise en surbrillance d'une correspondance dans l'\\xE9diteur de l'affichage d'aper\\xE7u.\",\"Bordure de mise en surbrillance d'une correspondance dans l'\\xE9diteur de l'affichage d'aper\\xE7u.\",\"Couleur de premier plan du texte texte de l\\u2019espace r\\xE9serv\\xE9 dans l\\u2019\\xE9diteur.\",\"Ouvrez d'abord un \\xE9diteur de texte pour acc\\xE9der \\xE0 une ligne.\",\"Atteindre la ligne {0} et le caract\\xE8re {1}.\",\"Acc\\xE9dez \\xE0 la ligne {0}.\",\"Ligne actuelle\\xA0: {0}, caract\\xE8re\\xA0: {1}. Tapez un num\\xE9ro de ligne entre\\xA01 et\\xA0{2} auquel acc\\xE9der.\",\"Ligne actuelle\\xA0: {0}, caract\\xE8re\\xA0: {1}. Tapez un num\\xE9ro de ligne auquel acc\\xE9der.\",\"Pour acc\\xE9der \\xE0 un symbole, ouvrez d'abord un \\xE9diteur de texte avec des informations de symbole.\",\"L'\\xE9diteur de texte actif ne fournit pas les informations de symbole.\",\"Aucun symbole d'\\xE9diteur correspondant\",\"Aucun symbole d'\\xE9diteur\",\"Ouvrir sur le c\\xF4t\\xE9\",\"Ouvrir en bas\",\"symboles ({0})\",\"propri\\xE9t\\xE9s ({0})\",\"m\\xE9thodes ({0})\",\"fonctions ({0})\",\"constructeurs ({0})\",\"variables ({0})\",\"classes ({0})\",\"structs ({0})\",\"\\xE9v\\xE9nements ({0})\",\"op\\xE9rateurs ({0})\",\"interfaces ({0})\",\"espaces de noms ({0})\",\"packages ({0})\",\"param\\xE8tres de type ({0})\",\"modules ({0})\",\"propri\\xE9t\\xE9s ({0})\",\"\\xE9num\\xE9rations ({0})\",\"membres d'\\xE9num\\xE9ration ({0})\",\"cha\\xEEnes ({0})\",\"fichiers ({0})\",\"tableaux ({0})\",\"nombres ({0})\",\"bool\\xE9ens ({0})\",\"objets ({0})\",\"cl\\xE9s ({0})\",\"champs ({0})\",\"constantes ({0})\",\"Impossible de modifier dans l\\u2019entr\\xE9e en lecture seule\",\"Impossible de modifier dans l\\u2019\\xE9diteur en lecture seule\",\"Aucun r\\xE9sultat.\",\"Une erreur inconnue s'est produite lors de la r\\xE9solution de l'emplacement de renommage\",\"Renommage de '{0}' en '{1}'\",\"Changement du nom de {0} en {1}\",\"'{0}' renomm\\xE9 en '{1}'. R\\xE9capitulatif : {2}\",\"Le renommage n'a pas pu appliquer les modifications\",\"Le renommage n'a pas pu calculer les modifications\",\"Renommer le symbole\",\"Activer/d\\xE9sactiver la possibilit\\xE9 d'afficher un aper\\xE7u des changements avant le renommage\",\"Prioriser la prochaine suggestion de changement de nom\",\"Prioriser la suggestion de changement de nom pr\\xE9c\\xE9dente\",\"Indique si le widget de renommage d'entr\\xE9e est visible\",\"Indique si le widget de renommage d'entr\\xE9e est prioritaire\",\"{0} pour renommer, {1} pour afficher un aper\\xE7u\",\"{0} suggestions de changement de nom re\\xE7ues\",\"Renommez l'entr\\xE9e. Tapez le nouveau nom et appuyez sur Entr\\xE9e pour valider.\",\"G\\xE9n\\xE9rer des suggestions de nom\",\"Annuler\",\"\\xC9tendre la s\\xE9lection\",\"D\\xE9v&&elopper la s\\xE9lection\",\"R\\xE9duire la s\\xE9lection\",\"&&R\\xE9duire la s\\xE9lection\",\"Indique si l'\\xE9diteur est actualis\\xE9 en mode extrait\",\"Indique s'il existe un taquet de tabulation suivant en mode extrait\",\"Indique s'il existe un taquet de tabulation pr\\xE9c\\xE9dent en mode extrait\",\"Acc\\xE9der \\xE0 l\\u2019espace r\\xE9serv\\xE9 suivant...\",\"Dimanche\",\"Lundi\",\"Mardi\",\"Mercredi\",\"Jeudi\",\"Vendredi\",\"Samedi\",\"Dim\",\"Lun\",\"Mar\",\"Mer\",\"Jeu\",\"Ven\",\"Sam\",\"Janvier\",\"F\\xE9vrier\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\"Juillet\",\"Ao\\xFBt\",\"Septembre\",\"Octobre\",\"Novembre\",\"D\\xE9cembre\",\"Jan\",\"F\\xE9v\",\"Mar\",\"Avr\",\"Mai\",\"Juin\",\"Jul\",\"Ao\\xFB\",\"Sept\",\"Oct\",\"Nov\",\"D\\xE9c\",\"&&Activer/d\\xE9sactiver le d\\xE9filement \\xE9pingl\\xE9 de l\\u2019\\xE9diteur\",\"D\\xE9filement \\xE9pingl\\xE9\",\"&&D\\xE9filement \\xE9pingl\\xE9\",\"&&Focus sur le d\\xE9filement du pense-b\\xEAte\",\"Activer/d\\xE9sactiver le d\\xE9filement \\xE9pingl\\xE9 de l\\u2019\\xE9diteur\",\"Basculer/activer le d\\xE9filement r\\xE9manent de l\\u2019\\xE9diteur qui affiche les \\xE9tendues imbriqu\\xE9s en haut de la fen\\xEAtre d\\u2019affichage\",\"Focus sur le d\\xE9filement de l\\u2019\\xE9diteur\",\"S\\xE9lectionner la ligne de d\\xE9filement collante de l\\u2019\\xE9diteur suivant\",\"S\\xE9lectionner la ligne de d\\xE9filement du pense-b\\xEAte pr\\xE9c\\xE9dente\",\"Atteindre la ligne de d\\xE9filement pense-b\\xEAte prioritaire\",\"S\\xE9lectionner l'\\xE9diteur\",\"Indique si une suggestion a le focus\",\"Indique si les d\\xE9tails des suggestions sont visibles\",\"Indique s'il existe plusieurs suggestions au choix\",\"Indique si l'insertion de la suggestion actuelle entra\\xEEne un changement ou si tout a d\\xE9j\\xE0 \\xE9t\\xE9 tap\\xE9\",\"Indique si les suggestions sont ins\\xE9r\\xE9es quand vous appuyez sur Entr\\xE9e\",\"Indique si la suggestion actuelle a un comportement d'insertion et de remplacement\",\"Indique si le comportement par d\\xE9faut consiste \\xE0 ins\\xE9rer ou \\xE0 remplacer\",\"Indique si la suggestion actuelle prend en charge la r\\xE9solution des d\\xE9tails suppl\\xE9mentaires\",\"L'acceptation de '{0}' a entra\\xEEn\\xE9 {1}\\xA0modifications suppl\\xE9mentaires\",\"Suggestions pour Trigger\",\"Ins\\xE9rer\",\"Ins\\xE9rer\",\"Remplacer\",\"Remplacer\",\"Ins\\xE9rer\",\"Afficher moins\",\"Afficher plus\",\"R\\xE9initialiser la taille du widget de suggestion\",\"Couleur d'arri\\xE8re-plan du widget de suggestion.\",\"Couleur de bordure du widget de suggestion.\",\"Couleur de premier plan du widget de suggestion.\",\"Couleur de premier plan de l\\u2019entr\\xE9e s\\xE9lectionn\\xE9e dans le widget de suggestion.\",\"Couleur de premier plan de l\\u2019ic\\xF4ne de l\\u2019entr\\xE9e s\\xE9lectionn\\xE9e dans le widget de suggestion.\",\"Couleur d'arri\\xE8re-plan de l'entr\\xE9e s\\xE9lectionn\\xE9e dans le widget de suggestion.\",\"Couleur de la surbrillance des correspondances dans le widget de suggestion.\",\"Couleur des mises en surbrillance dans le widget de suggestion lorsqu\\u2019un \\xE9l\\xE9ment a le focus.\",\"Couleur de premier plan du statut du widget de suggestion.\",\"Chargement en cours...\",\"Pas de suggestions.\",\"Sugg\\xE9rer\",\"{0} {1}, {2}\",\"{0} {1}\",\"{0}, {1}\",\"{0}, documents\\xA0: {1}\",\"Fermer\",\"Chargement en cours...\",\"Ic\\xF4ne d'affichage d'informations suppl\\xE9mentaires dans le widget de suggestion.\",\"Lire la suite\",\"Couleur de premier plan des symboles de tableau. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles bool\\xE9ens. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de classe. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de couleur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan pour les symboles de constante. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de constructeur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles d'\\xE9num\\xE9rateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de membre d'\\xE9num\\xE9rateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles d'\\xE9v\\xE9nement. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de champ. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de fichier. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de dossier. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de fonction. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles d'interface. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de cl\\xE9. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de mot cl\\xE9. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de m\\xE9thode. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de module. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles d'espace de noms. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles null. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de nombre. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles d'objet. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles d'op\\xE9rateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de package. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de propri\\xE9t\\xE9. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de r\\xE9f\\xE9rence. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles d'extrait de code. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de cha\\xEEne. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de struct. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de texte. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de param\\xE8tre de type. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles d'unit\\xE9. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Couleur de premier plan des symboles de variable. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.\",\"Appuyer sur Tab d\\xE9placera le focus vers le prochain \\xE9l\\xE9ment pouvant \\xEAtre d\\xE9sign\\xE9 comme \\xE9l\\xE9ment actif\",\"Appuyer sur Tab ins\\xE9rera le caract\\xE8re de tabulation\",\"Activer/d\\xE9sactiver l'utilisation de la touche Tab pour d\\xE9placer le focus\",\"D\\xE9termine si la touche d\\u2019onglet d\\xE9place le focus autour du workbench ou ins\\xE8re le caract\\xE8re d\\u2019onglet dans l\\u2019\\xE9diteur actuel. Il s\\u2019agit \\xE9galement du verrouillage des onglets, de la navigation dans les onglets ou du mode focus des onglets.\",\"D\\xE9veloppeur\\xA0: forcer la retokenisation\",\"Ic\\xF4ne affich\\xE9e avec un message d'avertissement dans l'\\xE9diteur d'extensions.\",\"Ce document contient de nombreux caract\\xE8res Unicode ASCII non basiques.\",\"Ce document contient de nombreux caract\\xE8res Unicode ambigus.\",\"Ce document contient de nombreux caract\\xE8res Unicode invisibles.\",\"Configurer les options de surlignage Unicode\",\"Le caract\\xE8re {0} peut \\xEAtre confondu avec le caract\\xE8re ASCII {1}, qui est plus courant dans le code source.\",\"Le caract\\xE8re {0} peut \\xEAtre confus avec le caract\\xE8re {1}, ce qui est plus courant dans le code source.\",\"Le caract\\xE8re {0} est invisible.\",\"Le caract\\xE8re {0} n\\u2019est pas un caract\\xE8re ASCII de base.\",\"Ajuster les param\\xE8tres\",\"D\\xE9sactiver la mise en surbrillance dans les commentaires\",\"D\\xE9sactiver la mise en surbrillance des caract\\xE8res dans les commentaires\",\"D\\xE9sactiver la mise en surbrillance dans les cha\\xEEnes\",\"D\\xE9sactiver la mise en surbrillance des caract\\xE8res dans les cha\\xEEnes\",\"D\\xE9sactiver la mise en surbrillance ambigu\\xEB\",\"D\\xE9sactiver la mise en surbrillance des caract\\xE8res ambigus\",\"D\\xE9sactiver le surlignage invisible\",\"D\\xE9sactiver la mise en surbrillance des caract\\xE8res invisibles\",\"D\\xE9sactiver la mise en surbrillance non ASCII\",\"D\\xE9sactiver la mise en surbrillance des caract\\xE8res ASCII non de base\",\"Afficher les options d\\u2019exclusion\",\"Exclure la mise en surbrillance des {0} (caract\\xE8re invisible)\",\"Exclure {0} de la mise en surbrillance\",'Autoriser les caract\\xE8res Unicode plus courants dans le langage \"{0}\"',\"Marques de fin de ligne inhabituelles\",\"Marques de fin de ligne inhabituelles d\\xE9tect\\xE9es\",\"Le fichier \\xAB\\xA0{0}\\xA0\\xBBcontient un ou plusieurs caract\\xE8res de fin de ligne inhabituels, par exemple le s\\xE9parateur de ligne (LS) ou le s\\xE9parateur de paragraphe (PS).\\r\\n\\r\\nIl est recommand\\xE9 de les supprimer du fichier. Vous pouvez configurer ce comportement par le biais de `editor.unusualLineTerminators`.\",\"&&Supprimer les marques de fin de ligne inhabituelles\",\"Ignorer\",\"Couleur d'arri\\xE8re-plan d'un symbole pendant l'acc\\xE8s en lecture, comme la lecture d'une variable. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur d'arri\\xE8re-plan d'un symbole pendant l'acc\\xE8s en \\xE9criture, comme l'\\xE9criture d'une variable. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur d\\u2019arri\\xE8re-plan d\\u2019une occurrence textuelle d\\u2019un symbole. La couleur ne doit pas \\xEAtre opaque afin de ne pas masquer les d\\xE9corations sous-jacentes.\",\"Couleur de bordure d'un symbole durant l'acc\\xE8s en lecture, par exemple la lecture d'une variable.\",\"Couleur de bordure d'un symbole durant l'acc\\xE8s en \\xE9criture, par exemple l'\\xE9criture dans une variable.\",\"Couleur de bordure d\\u2019une occurrence textuelle pour un symbole.\",\"Couleur de marqueur de la r\\xE8gle d'aper\\xE7u pour la mise en surbrillance des symboles. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur de marqueur de la r\\xE8gle d'aper\\xE7u pour la mise en surbrillance des symboles d'acc\\xE8s en \\xE9criture. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur de marqueur de r\\xE8gle d\\u2019aper\\xE7u d\\u2019une occurrence textuelle pour un symbole. La couleur ne doit pas \\xEAtre opaque afin de ne pas masquer les d\\xE9corations sous-jacentes.\",\"Aller \\xE0 la prochaine mise en \\xE9vidence de symbole\",\"Aller \\xE0 la mise en \\xE9vidence de symbole pr\\xE9c\\xE9dente\",\"D\\xE9clencher la mise en \\xE9vidence de symbole\",\"Supprimer le mot\",\"Erreur sur la position\",\"Erreur\",\"Avertissement \\xE0 la position\",\"Avertissement\",\"Erreur sur la ligne\",\"Erreur sur la ligne\",\"Avertissement sur la ligne\",\"Avertissement sur la ligne\",\"Zone pli\\xE9e sur la ligne\",\"Repli\\xE9\",\"Point d\\u2019arr\\xEAt sur ligne\",\"Point d\\u2019arr\\xEAt\",\"Suggestion inline sur la ligne\",\"Correctif rapide de terminal\",\"Correctif rapide\",\"D\\xE9bogueur arr\\xEAt\\xE9 sur le point d\\u2019arr\\xEAt\",\"Point d\\u2019arr\\xEAt\",\"Aucun indicateur d\\u2019inlay sur la ligne\",\"Aucun conseil Inlay\",\"T\\xE2che termin\\xE9e\",\"T\\xE2che termin\\xE9e\",\"\\xC9chec de la t\\xE2che\",\"\\xC9chec de la t\\xE2che\",\"\\xC9chec de la commande de terminal\",\"\\xC9chec de la commande\",\"Commande terminal r\\xE9ussie\",\"Commande r\\xE9ussie\",\"Cloche de terminal\",\"Cloche de terminal\",\"Cellule de bloc-notes termin\\xE9e\",\"Cellule de bloc-notes termin\\xE9e\",\"\\xC9chec de la cellule de bloc-notes\",\"\\xC9chec de la cellule de bloc-notes\",\"Ligne de diffusion ins\\xE9r\\xE9e\",\"Ligne de diffusion supprim\\xE9e\",\"Ligne diff modifi\\xE9e\",\"Demande de conversation envoy\\xE9e\",\"Requ\\xEAte de conversation envoy\\xE9e\",\"R\\xE9ponse de conversation re\\xE7ue\",\"Progression\",\"Progression\",\"Effacer\",\"Effacer\",\"Enregistrer\",\"Enregistrer\",\"Format\",\"Format\",\"Enregistrement vocal commenc\\xE9\",\"Enregistrement vocal arr\\xEAt\\xE9\",\"Afficher\",\"Aide\",\"Test\",\"fichier\",\"Pr\\xE9f\\xE9rences\",\"D\\xE9veloppeur\",\"{0} ({1})\",\"{0} ({1})\",`{0}\\r\n[{1}] {2}`,\"Du {1} au {0}\",\"{0} ({1})\",\"Masquer\",\"R\\xE9initialiser le menu\",\"Masquer \\xAB{0}\\xBB\",\"Configurer la combinaison de touches\",\"{0} \\xE0 Appliquer, {1} \\xE0 la Pr\\xE9version\",\"{0} pour appliquer\",\"{0}, raison d\\xE9sactiv\\xE9e : {1}\",\"Widget d\\u2019action\",\"Couleur d'arri\\xE8re-plan des \\xE9l\\xE9ments d'action activ\\xE9s dans la barre d'action.\",\"Indique si la liste des widgets d\\u2019action est visible\",\"Masquer le widget d\\u2019action\",\"S\\xE9lectionner l\\u2019action pr\\xE9c\\xE9dente\",\"S\\xE9lectionner l\\u2019action suivante\",\"Accepter l\\u2019action s\\xE9lectionn\\xE9e\",\"Aper\\xE7u de l\\u2019action s\\xE9lectionn\\xE9e\",\"Substitutions de configuration du langage par d\\xE9faut\",\"Configurez les param\\xE8tres \\xE0 remplacer pour le langage {0}.\",\"Configurez les param\\xE8tres d'\\xE9diteur \\xE0 remplacer pour un langage.\",\"Ce param\\xE8tre ne prend pas en charge la configuration par langage.\",\"Configurez les param\\xE8tres d'\\xE9diteur \\xE0 remplacer pour un langage.\",\"Ce param\\xE8tre ne prend pas en charge la configuration par langage.\",\"Impossible d'inscrire une propri\\xE9t\\xE9 vide\",\"Impossible d'inscrire '{0}'. Ceci correspond au mod\\xE8le de propri\\xE9t\\xE9 '\\\\\\\\[.*\\\\\\\\]$' permettant de d\\xE9crire les param\\xE8tres d'\\xE9diteur sp\\xE9cifiques \\xE0 un langage. Utilisez la contribution 'configurationDefaults'.\",\"Impossible d'inscrire '{0}'. Cette propri\\xE9t\\xE9 est d\\xE9j\\xE0 inscrite.\",\"Impossible d\\u2019inscrire '{0}'. Le {1} de strat\\xE9gie associ\\xE9 est d\\xE9j\\xE0 inscrit aupr\\xE8s de {2}.\",\"Commande qui retourne des informations sur les cl\\xE9s de contexte\",\"Expression de cl\\xE9 de contexte vide\",\"Avez-vous oubli\\xE9 d\\u2019\\xE9crire une expression ? Vous pouvez \\xE9galement placer 'false' ou 'true' pour toujours donner la valeur false ou true, respectivement.\",\"'in' apr\\xE8s 'not'.\",\"parenth\\xE8se fermante ')'\",\"Jeton inattendu\",\"Avez-vous oubli\\xE9 de placer && ou || avant le jeton ?\",\"Fin d\\u2019expression inattendue\",\"Avez-vous oubli\\xE9 de placer une cl\\xE9 de contexte ?\",`Attendu : {0}\\r\nRe\\xE7u : '{1}'.`,\"Indique si le syst\\xE8me d'exploitation est macOS\",\"Indique si le syst\\xE8me d'exploitation est Linux\",\"Indique si le syst\\xE8me d'exploitation est Windows\",\"Indique si la plateforme est un navigateur web\",\"Indique si le syst\\xE8me d'exploitation est macOS sur une plateforme qui n'est pas un navigateur\",\"Indique si le syst\\xE8me d\\u2019exploitation est Linux\",\"Indique si la plateforme est un navigateur web mobile\",\"Type de qualit\\xE9 de VS Code\",\"Indique si le focus clavier se trouve dans une zone d'entr\\xE9e\",\"Voulez-vous dire {0}?\",\"Voulez-vous dire {0} ou {1}?\",\"Voulez-vous dire {0}, {1} ou {2}?\",\"Avez-vous oubli\\xE9 d\\u2019ouvrir ou de fermer le devis ?\",\"Avez-vous oubli\\xE9 d\\u2019\\xE9chapper le caract\\xE8re \\xAB / \\xBB (barre oblique) ? Placez deux barre obliques inverses avant d\\u2019y \\xE9chapper, par ex., \\xAB \\\\\\\\/ \\xBB.\",\"Indique si les suggestions sont visibles\",\"Touche ({0}) utilis\\xE9e. En attente d'une seconde touche...\",\"({0}) a \\xE9t\\xE9 enfonc\\xE9. En attente de la touche suivante de la pression...\",\"La combinaison de touches ({0}, {1}) n\\u2019est pas une commande.\",\"La combinaison de touches ({0}, {1}) n\\u2019est pas une commande.\",\"Banc d'essai\",\"Mappe vers 'Contr\\xF4le' dans Windows et Linux, et vers 'Commande' dans macOS.\",\"Mappe vers 'Alt' dans Windows et Linux, et vers 'Option' dans macOS.\",\"Le modificateur \\xE0 utiliser pour ajouter un \\xE9l\\xE9ment dans les arbres et listes pour une s\\xE9lection multiple avec la souris (par exemple dans l\\u2019Explorateur, les \\xE9diteurs ouverts et la vue scm). Les mouvements de la souris 'Ouvrir \\xE0 c\\xF4t\\xE9' (si pris en charge) s'adapteront tels qu\\u2019ils n'entrent pas en conflit avec le modificateur multiselect.\",\"Contr\\xF4le l'ouverture des \\xE9l\\xE9ments dans les arborescences et les listes \\xE0 l'aide de la souris (si cela est pris en charge). Notez que certaines arborescences et listes peuvent choisir d'ignorer ce param\\xE8tre, s'il est non applicable.\",\"Contr\\xF4le si les listes et les arborescences prennent en charge le d\\xE9filement horizontal dans le banc d'essai. Avertissement : L'activation de ce param\\xE8tre a un impact sur les performances.\",\"Contr\\xF4le si les clics dans la barre de d\\xE9filement page par page.\",\"Contr\\xF4le la mise en retrait de l'arborescence, en pixels.\",\"Contr\\xF4le si l'arborescence doit afficher les rep\\xE8res de mise en retrait.\",\"D\\xE9termine si les listes et les arborescences ont un d\\xE9filement fluide.\",\"Un multiplicateur \\xE0 utiliser sur les `deltaX` et `deltaY` des \\xE9v\\xE9nements de d\\xE9filement de roulette de souris.\",\"Multiplicateur de vitesse de d\\xE9filement quand vous appuyez sur 'Alt'.\",\"Mettez en surbrillance les \\xE9l\\xE9ments lors de la recherche. La navigation vers le haut et le bas traverse uniquement les \\xE9l\\xE9ments en surbrillance.\",\"Filtrez des \\xE9l\\xE9ments lors de la recherche.\",\"Contr\\xF4le le mode de recherche par d\\xE9faut pour les listes et les arborescences dans Workbench.\",\"La navigation au clavier Simple place le focus sur les \\xE9l\\xE9ments qui correspondent \\xE0 l'entr\\xE9e de clavier. La mise en correspondance est effectu\\xE9e sur les pr\\xE9fixes uniquement.\",\"La navigation de mise en surbrillance au clavier met en surbrillance les \\xE9l\\xE9ments qui correspondent \\xE0 l'entr\\xE9e de clavier. La navigation ult\\xE9rieure vers le haut ou vers le bas parcourt uniquement les \\xE9l\\xE9ments mis en surbrillance.\",\"La navigation au clavier Filtrer filtre et masque tous les \\xE9l\\xE9ments qui ne correspondent pas \\xE0 l'entr\\xE9e de clavier.\",\"Contr\\xF4le le style de navigation au clavier pour les listes et les arborescences dans le banc d'essai. Les options sont Simple, Mise en surbrillance et Filtrer.\",\"Utilisez 'workbench.list.defaultFindMode' et 'workbench.list.typeNavigationMode' \\xE0 la place.\",\"Utilisez la correspondance approximative lors de la recherche.\",\"Utilisez des correspondances contigu\\xEBs lors de la recherche.\",\"Contr\\xF4le le type de correspondance utilis\\xE9 lors de la recherche de listes et d\\u2019arborescences dans le banc d\\u2019essai.\",\"Contr\\xF4le la fa\\xE7on dont les dossiers de l'arborescence sont d\\xE9velopp\\xE9s quand vous cliquez sur les noms de dossiers. Notez que certaines arborescences et listes peuvent choisir d'ignorer ce param\\xE8tre, s'il est non applicable.\",\"Contr\\xF4le si le d\\xE9filement r\\xE9manent est activ\\xE9 dans les arborescences.\",\"Contr\\xF4le le nombre d\\u2019\\xE9l\\xE9ments r\\xE9manents affich\\xE9s dans l\\u2019arborescence lorsque {0} est activ\\xE9.\",\"Contr\\xF4le le fonctionnement de la navigation de type dans les listes et les arborescences du banc d'essai. Quand la valeur est 'trigger', la navigation de type commence une fois que la commande 'list.triggerTypeNavigation' est ex\\xE9cut\\xE9e.\",\"Erreur\",\"Avertissement\",\"Info\",\"r\\xE9cemment utilis\\xE9es\",\"commandes similaires\",\"utilis\\xE9s le plus souvent\",\"autres commandes\",\"commandes similaires\",\"{0}, {1}\",\"La commande \\xAB\\xA0{0}\\xA0\\xBB a entra\\xEEn\\xE9 une erreur\",\"{0}, {1}\",\"Indique si le focus clavier se trouve \\xE0 l\\u2019int\\xE9rieur du contr\\xF4le d\\u2019entr\\xE9e rapide\",\"Type de l\\u2019entr\\xE9e rapide actuellement visible\",\"Indique si le curseur de l\\u2019entr\\xE9e rapide se trouve \\xE0 la fin de la zone d\\u2019entr\\xE9e\",\"Pr\\xE9c\\xE9dent\",\"Appuyez sur 'Entr\\xE9e' pour confirmer votre saisie, ou sur '\\xC9chap' pour l'annuler\",\"{0}/{1}\",\"Taper pour affiner les r\\xE9sultats.\",\"Utilis\\xE9 dans le contexte de la s\\xE9lection rapide. Si vous modifiez une combinaison de touches pour cette commande, vous devez \\xE9galement modifier toutes les autres combinaisons de touches (variantes de modification) de cette commande.\",\"Si nous sommes en mode d\\u2019acc\\xE8s rapide, vous acc\\xE9dez \\xE0 l\\u2019\\xE9l\\xE9ment suivant. Si nous ne sommes pas en mode d\\u2019acc\\xE8s rapide, cela permet d\\u2019acc\\xE9der au s\\xE9parateur suivant.\",\"Si nous sommes en mode d\\u2019acc\\xE8s rapide, vous acc\\xE9dez \\xE0 l\\u2019\\xE9l\\xE9ment pr\\xE9c\\xE9dent. Si nous ne sommes pas en mode d\\u2019acc\\xE8s rapide, cela permet d\\u2019acc\\xE9der au s\\xE9parateur pr\\xE9c\\xE9dent.\",\"Activer/d\\xE9sactiver toutes les cases \\xE0 cocher\",\"{0}\\xA0r\\xE9sultats\",\"{0} S\\xE9lectionn\\xE9s\",\"OK\",\"Personnalis\\xE9\",\"Pr\\xE9c\\xE9dent ({0})\",\"Retour\",\"Entr\\xE9e rapide\",\"Cliquer pour ex\\xE9cuter la commande '{0}'\",\"Couleur de premier plan globale. Cette couleur est utilis\\xE9e si elle n'est pas remplac\\xE9e par un composant.\",\"Premier plan globale pour les \\xE9l\\xE9ments d\\xE9sactiv\\xE9s. Cette couleur est utilis\\xE9e si elle n'est pas remplac\\xE9e par un composant.\",\"Couleur principale de premier plan pour les messages d'erreur. Cette couleur est utilis\\xE9e uniquement si elle n'est pas red\\xE9finie par un composant.\",\"Couleur de premier plan du texte descriptif fournissant des informations suppl\\xE9mentaires, par exemple pour un label.\",\"Couleur par d\\xE9faut des ic\\xF4nes du banc d'essai.\",\"Couleur de bordure globale des \\xE9l\\xE9ments ayant le focus. Cette couleur est utilis\\xE9e si elle n'est pas remplac\\xE9e par un composant.\",\"Bordure suppl\\xE9mentaire autour des \\xE9l\\xE9ments pour les s\\xE9parer des autres et obtenir un meilleur contraste.\",\"Bordure suppl\\xE9mentaire autour des \\xE9l\\xE9ments actifs pour les s\\xE9parer des autres et obtenir un meilleur contraste.\",\"La couleur d'arri\\xE8re-plan des s\\xE9lections de texte dans le banc d'essai (par ex., pour les champs d'entr\\xE9e ou les zones de texte). Notez que cette couleur ne s'applique pas aux s\\xE9lections dans l'\\xE9diteur et le terminal.\",\"Couleur des liens dans le texte.\",\"Couleur de premier plan pour les liens dans le texte lorsqu'ils sont cliqu\\xE9s ou survol\\xE9s.\",\"Couleur pour les s\\xE9parateurs de texte.\",\"Couleur des segments de texte pr\\xE9format\\xE9s.\",\"Couleur d'arri\\xE8re-plan pour les segments de texte pr\\xE9format\\xE9s.\",\"Couleur d'arri\\xE8re-plan des citations dans le texte.\",\"Couleur de bordure des citations dans le texte.\",\"Couleur d'arri\\xE8re-plan des blocs de code dans le texte.\",\"Couleur de premier plan utilis\\xE9e dans les graphiques.\",\"Couleur utilis\\xE9e pour les lignes horizontales dans les graphiques.\",\"Couleur rouge utilis\\xE9e dans les visualisations de graphiques.\",\"Couleur bleue utilis\\xE9e dans les visualisations de graphiques.\",\"Couleur jaune utilis\\xE9e dans les visualisations de graphiques.\",\"Couleur orange utilis\\xE9e dans les visualisations de graphiques.\",\"Couleur verte utilis\\xE9e dans les visualisations de graphiques.\",\"Couleur violette utilis\\xE9e dans les visualisations de graphiques.\",\"Couleur d'arri\\xE8re-plan de l'\\xE9diteur.\",\"Couleur de premier plan par d\\xE9faut de l'\\xE9diteur.\",\"Couleur d\\u2019arri\\xE8re-plan du d\\xE9filement \\xE9pingl\\xE9 dans l\\u2019\\xE9diteur\",\"Couleur d\\u2019arri\\xE8re-plan du d\\xE9filement \\xE9pingl\\xE9 lors du pointage pour l\\u2019\\xE9diteur\",\"Couleur de bordure du d\\xE9filement \\xE9pingl\\xE9 dans l\\u2019\\xE9diteur\",\" Couleur d\\u2019ombre du d\\xE9filement \\xE9pingl\\xE9 dans l\\u2019\\xE9diteur\",\"Couleur d'arri\\xE8re-plan des gadgets de l'\\xE9diteur tels que rechercher/remplacer.\",\"Couleur de premier plan des widgets de l'\\xE9diteur, notamment Rechercher/remplacer.\",\"Couleur de bordure des widgets de l'\\xE9diteur. La couleur est utilis\\xE9e uniquement si le widget choisit d'avoir une bordure et si la couleur n'est pas remplac\\xE9e par un widget.\",\"Couleur de bordure de la barre de redimensionnement des widgets de l'\\xE9diteur. La couleur est utilis\\xE9e uniquement si le widget choisit une bordure de redimensionnement et si la couleur n'est pas remplac\\xE9e par un widget.\",\"Couleur d'arri\\xE8re-plan du texte d'erreur dans l'\\xE9diteur. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les d\\xE9corations sous-jacentes.\",\"Couleur de premier plan de la ligne ondul\\xE9e marquant les erreurs dans l'\\xE9diteur.\",\"Si cette option est d\\xE9finie, couleur des doubles soulignements pour les erreurs dans l\\u2019\\xE9diteur.\",\"Couleur d'arri\\xE8re-plan du texte d'avertissement dans l'\\xE9diteur. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les d\\xE9corations sous-jacentes.\",\"Couleur de premier plan de la ligne ondul\\xE9e marquant les avertissements dans l'\\xE9diteur.\",\"Si cette option est d\\xE9finie, couleur des doubles soulignements pour les avertissements dans l\\u2019\\xE9diteur.\",\"Couleur d'arri\\xE8re-plan du texte d'information dans l'\\xE9diteur. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les d\\xE9corations sous-jacentes.\",\"Couleur de premier plan de la ligne ondul\\xE9e marquant les informations dans l'\\xE9diteur.\",\"Si cette option est d\\xE9finie, couleur des doubles soulignements pour les informations dans l\\u2019\\xE9diteur.\",\"Couleur de premier plan de la ligne ondul\\xE9e d'indication dans l'\\xE9diteur.\",\"Si cette option est d\\xE9finie, couleur des doubles soulignements pour les conseils dans l\\u2019\\xE9diteur.\",\"Couleur des liens actifs.\",\"Couleur de la s\\xE9lection de l'\\xE9diteur.\",\"Couleur du texte s\\xE9lectionn\\xE9 pour le contraste \\xE9lev\\xE9.\",\"Couleur de la s\\xE9lection dans un \\xE9diteur inactif. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur des r\\xE9gions dont le contenu est le m\\xEAme que celui de la s\\xE9lection. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur de bordure des r\\xE9gions dont le contenu est identique \\xE0 la s\\xE9lection.\",\"Couleur du r\\xE9sultat de recherche actif.\",\"Couleur du texte du r\\xE9sultat de recherche actif.\",\"Couleur des autres correspondances de recherche. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur de premier plan des autres r\\xE9sultats de recherche.\",\"Couleur de la plage limitant la recherche. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur de bordure du r\\xE9sultat de recherche actif.\",\"Couleur de bordure des autres r\\xE9sultats de recherche.\",\"Couleur de bordure de la plage limitant la recherche. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Surlignage sous le mot s\\xE9lectionn\\xE9 par pointage. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur d'arri\\xE8re-plan du pointage de l'\\xE9diteur.\",\"Couleur de premier plan du pointage de l'\\xE9diteur.\",\"Couleur de bordure du pointage de l'\\xE9diteur.\",\"Couleur d'arri\\xE8re-plan de la barre d'\\xE9tat du pointage de l'\\xE9diteur.\",\"Couleur de premier plan des indicateurs inline\",\"Couleur d'arri\\xE8re-plan des indicateurs inline\",\"Couleur de premier plan des indicateurs inline pour les types\",\"Couleur d'arri\\xE8re-plan des indicateurs inline pour les types\",\"Couleur de premier plan des indicateurs inline pour les param\\xE8tres\",\"Couleur d'arri\\xE8re-plan des indicateurs inline pour les param\\xE8tres\",\"Couleur utilis\\xE9e pour l'ic\\xF4ne d'ampoule sugg\\xE9rant des actions.\",\"Couleur utilis\\xE9e pour l'ic\\xF4ne d'ampoule sugg\\xE9rant des actions de correction automatique.\",\"La couleur utilis\\xE9e pour l\\u2019ic\\xF4ne AI de l\\u2019ampoule.\",\"Couleur d\\u2019arri\\xE8re-plan de mise en surbrillance d\\u2019un extrait tabstop.\",\"Couleur de bordure de mise en surbrillance d\\u2019un extrait tabstop.\",\"Couleur d\\u2019arri\\xE8re-plan de mise en surbrillance du tabstop final d\\u2019un extrait.\",\"Mettez en surbrillance la couleur de bordure du dernier taquet de tabulation d'un extrait de code.\",\"Couleur d'arri\\xE8re-plan du texte ins\\xE9r\\xE9. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur d'arri\\xE8re-plan du texte supprim\\xE9. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur d'arri\\xE8re-plan des lignes ins\\xE9r\\xE9es. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur d'arri\\xE8re-plan des lignes supprim\\xE9es. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur d\\u2019arri\\xE8re-plan de la marge o\\xF9 les lignes ont \\xE9t\\xE9 ins\\xE9r\\xE9es\",\"Couleur d\\u2019arri\\xE8re-plan de la marge o\\xF9 les lignes ont \\xE9t\\xE9 supprim\\xE9es\",\"Premier plan de la r\\xE8gle de vue d\\u2019ensemble des diff\\xE9rences pour le contenu ins\\xE9r\\xE9\",\"Premier plan de la r\\xE8gle de vue d\\u2019ensemble des diff\\xE9rences pour le contenu supprim\\xE9\",\"Couleur de contour du texte ins\\xE9r\\xE9.\",\"Couleur de contour du texte supprim\\xE9.\",\"Couleur de bordure entre les deux \\xE9diteurs de texte.\",\"Couleur du remplissage diagonal de l'\\xE9diteur de diff\\xE9rences. Le remplissage diagonal est utilis\\xE9 dans les vues de diff\\xE9rences c\\xF4te \\xE0 c\\xF4te.\",\"Couleur d\\u2019arri\\xE8re-plan des blocs inchang\\xE9s dans l\\u2019\\xE9diteur de diff\\xE9rences.\",\"Couleur de premier plan des blocs inchang\\xE9s dans l\\u2019\\xE9diteur de diff\\xE9rences.\",\"Couleur d\\u2019arri\\xE8re-plan du code inchang\\xE9 dans l\\u2019\\xE9diteur de diff\\xE9rences.\",\"Couleur de l'ombre des widgets, comme rechercher/remplacer, au sein de l'\\xE9diteur.\",\"Couleur de bordure des widgets, comme rechercher/remplacer au sein de l'\\xE9diteur.\",\"Arri\\xE8re-plan de la barre d\\u2019outils lors du survol des actions \\xE0 l\\u2019aide de la souris\",\"Contour de la barre d\\u2019outils lors du survol des actions \\xE0 l\\u2019aide de la souris\",\"Arri\\xE8re-plan de la barre d\\u2019outils quand la souris est maintenue sur des actions\",\"Couleur des \\xE9l\\xE9ments de navigation avec le focus.\",\"Couleur de fond des \\xE9l\\xE9ments de navigation.\",\"Couleur des \\xE9l\\xE9ments de navigation avec le focus.\",\"Couleur des \\xE9l\\xE9ments de navigation s\\xE9lectionn\\xE9s.\",\"Couleur de fond du s\\xE9lecteur d\\u2019\\xE9l\\xE9ment de navigation.\",\"Arri\\xE8re-plan d'en-t\\xEAte actuel dans les conflits de fusion inline. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Arri\\xE8re-plan de contenu actuel dans les conflits de fusion inline. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Arri\\xE8re-plan d'en-t\\xEAte entrant dans les conflits de fusion inline. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Arri\\xE8re-plan de contenu entrant dans les conflits de fusion inline. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Arri\\xE8re-plan d'en-t\\xEAte de l'anc\\xEAtre commun dans les conflits de fusion inline. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Arri\\xE8re-plan de contenu de l'anc\\xEAtre commun dans les conflits de fusion inline. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur de bordure des en-t\\xEAtes et du s\\xE9parateur dans les conflits de fusion inline.\",\"Premier plan de la r\\xE8gle d'aper\\xE7u actuelle pour les conflits de fusion inline.\",\"Premier plan de la r\\xE8gle d'aper\\xE7u entrante pour les conflits de fusion inline.\",\"Arri\\xE8re-plan de la r\\xE8gle d'aper\\xE7u de l'anc\\xEAtre commun dans les conflits de fusion inline.\",\"Couleur de marqueur de la r\\xE8gle d'aper\\xE7u pour rechercher les correspondances. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur de marqueur de la r\\xE8gle d'aper\\xE7u pour la mise en surbrillance des s\\xE9lections. La couleur ne doit pas \\xEAtre opaque pour ne pas masquer les ornements sous-jacents.\",\"Couleur utilis\\xE9e pour l'ic\\xF4ne d'erreur des probl\\xE8mes.\",\"Couleur utilis\\xE9e pour l'ic\\xF4ne d'avertissement des probl\\xE8mes.\",\"Couleur utilis\\xE9e pour l'ic\\xF4ne d'informations des probl\\xE8mes.\",\"Arri\\xE8re-plan de la zone d'entr\\xE9e.\",\"Premier plan de la zone d'entr\\xE9e.\",\"Bordure de la zone d'entr\\xE9e.\",\"Couleur de la bordure des options activ\\xE9es dans les champs d'entr\\xE9e.\",\"Couleur d'arri\\xE8re-plan des options activ\\xE9es dans les champs d'entr\\xE9e.\",\"Couleur de pointage d\\u2019arri\\xE8re-plan des options dans les champs d\\u2019entr\\xE9e.\",\"Couleur de premier plan des options activ\\xE9es dans les champs d'entr\\xE9e.\",\"Couleur de premier plan de la zone d'entr\\xE9e pour le texte d'espace r\\xE9serv\\xE9.\",\"Couleur d'arri\\xE8re-plan de la validation d'entr\\xE9e pour la gravit\\xE9 des informations.\",\"Couleur de premier plan de validation de saisie pour la s\\xE9v\\xE9rit\\xE9 Information.\",\"Couleur de bordure de la validation d'entr\\xE9e pour la gravit\\xE9 des informations.\",\"Couleur d'arri\\xE8re-plan de la validation d'entr\\xE9e pour la gravit\\xE9 de l'avertissement.\",\"Couleur de premier plan de la validation de la saisie pour la s\\xE9v\\xE9rit\\xE9 Avertissement.\",\"Couleur de bordure de la validation d'entr\\xE9e pour la gravit\\xE9 de l'avertissement.\",\"Couleur d'arri\\xE8re-plan de la validation d'entr\\xE9e pour la gravit\\xE9 de l'erreur.\",\"Couleur de premier plan de la validation de saisie pour la s\\xE9v\\xE9rit\\xE9 Erreur.\",\"Couleur de bordure de la validation d'entr\\xE9e pour la gravit\\xE9 de l'erreur. \",\"Arri\\xE8re-plan de la liste d\\xE9roulante.\",\"Arri\\xE8re-plan de la liste d\\xE9roulante.\",\"Premier plan de la liste d\\xE9roulante.\",\"Bordure de la liste d\\xE9roulante.\",\"Couleur de premier plan du bouton.\",\"Couleur du s\\xE9parateur de boutons.\",\"Couleur d'arri\\xE8re-plan du bouton.\",\"Couleur d'arri\\xE8re-plan du bouton pendant le pointage.\",\"Couleur de bordure du bouton.\",\"Couleur de premier plan du bouton secondaire.\",\"Couleur d'arri\\xE8re-plan du bouton secondaire.\",\"Couleur d'arri\\xE8re-plan du bouton secondaire au moment du pointage.\",\"Couleur de premier plan de l\\u2019option radio active.\",\"Couleur d\\u2019arri\\xE8re-plan de l\\u2019option radio active.\",\"Couleur de bordure de l\\u2019option radio active.\",\"Couleur de premier plan de l\\u2019option radio inactive.\",\"Couleur d\\u2019arri\\xE8re-plan de l\\u2019option radio inactive.\",\"Couleur de bordure de l\\u2019option radio inactive.\",\"Couleur d\\u2019arri\\xE8re-plan de l\\u2019option radio active inactive lors du pointage.\",\"Couleur de fond du widget Case \\xE0 cocher.\",\"Couleur d\\u2019arri\\xE8re-plan du widget de case \\xE0 cocher lorsque l\\u2019\\xE9l\\xE9ment dans lequel il se trouve est s\\xE9lectionn\\xE9.\",\"Couleur de premier plan du widget Case \\xE0 cocher.\",\"Couleur de bordure du widget Case \\xE0 cocher.\",\"Couleur de bordure du widget de case \\xE0 cocher lorsque l\\u2019\\xE9l\\xE9ment dans lequel il se trouve est s\\xE9lectionn\\xE9.\",\"Couleur d\\u2019arri\\xE8re-plan d\\u2019\\xE9tiquette de combinaison de touches. L\\u2019\\xE9tiquette est utilis\\xE9e pour repr\\xE9senter un raccourci clavier.\",\"Couleur de premier plan d\\u2019\\xE9tiquette de combinaison de touches. L\\u2019\\xE9tiquette est utilis\\xE9e pour repr\\xE9senter un raccourci clavier.\",\"Couleur de bordure de la combinaison de touches. L\\u2019\\xE9tiquette est utilis\\xE9e pour repr\\xE9senter un raccourci clavier.\",\"Couleur de bordure du bas d\\u2019\\xE9tiquette de combinaison de touches. L\\u2019\\xE9tiquette est utilis\\xE9e pour repr\\xE9senter un raccourci clavier.\",\"Couleur d'arri\\xE8re-plan de la liste/l'arborescence pour l'\\xE9l\\xE9ment ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier, elle ne l'est pas quand elle est inactive.\",\"Couleur de premier plan de la liste/l'arborescence pour l'\\xE9l\\xE9ment ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier, elle ne l'est pas quand elle est inactive.\",\"Couleur de contour de la liste/l'arborescence pour l'\\xE9l\\xE9ment ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active a le focus clavier, contrairement \\xE0 une liste/arborescence inactive.\",\"Couleur de contour de liste/arborescence pour l\\u2019\\xE9l\\xE9ment cibl\\xE9 lorsque la liste/l\\u2019arborescence est active et s\\xE9lectionn\\xE9e. Une liste/arborescence active dispose d\\u2019un focus clavier, ce qui n\\u2019est pas le cas d\\u2019une arborescence inactive.\",\"Couleur d'arri\\xE8re-plan de la liste/l'arborescence de l'\\xE9l\\xE9ment s\\xE9lectionn\\xE9 quand la liste/l'arborescence est active. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier, elle ne l'est pas quand elle est inactive.\",\"Couleur de premier plan de la liste/l'arborescence pour l'\\xE9l\\xE9ment s\\xE9lectionn\\xE9 quand la liste/l'arborescence est active. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier, elle ne l'est pas quand elle est inactive.\",\"Couleur de premier plan de l\\u2019ic\\xF4ne Liste/l'arborescence pour l'\\xE9l\\xE9ment s\\xE9lectionn\\xE9 quand la liste/l'arborescence est active. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier, elle ne l'est pas quand elle est inactive.\",\"Couleur d'arri\\xE8re-plan de la liste/l'arborescence pour l'\\xE9l\\xE9ment s\\xE9lectionn\\xE9 quand la liste/l'arborescence est inactive. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier, elle ne l'est pas quand elle est inactive.\",\"Couleur de premier plan de la liste/l'arborescence pour l'\\xE9l\\xE9ment s\\xE9lectionn\\xE9 quand la liste/l'arborescence est inactive. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier, elle ne l'est pas quand elle est inactive.\",\"Couleur de premier plan de l\\u2019ic\\xF4ne Liste/l'arborescence pour l'\\xE9l\\xE9ment s\\xE9lectionn\\xE9 quand la liste/l'arborescence est inactive. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier, elle ne l'est pas quand elle est inactive.\",\"Couleur d'arri\\xE8re-plan de la liste/l'arborescence pour l'\\xE9l\\xE9ment ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut \\xEAtre s\\xE9lectionn\\xE9e au clavier (elle ne l'est pas quand elle est inactive).\",\"Couleur de contour de la liste/l'arborescence pour l'\\xE9l\\xE9ment ayant le focus quand la liste/l'arborescence est inactive. Une liste/arborescence active a le focus clavier, contrairement \\xE0 une liste/arborescence inactive.\",\"Arri\\xE8re-plan de la liste/l'arborescence pendant le pointage sur des \\xE9l\\xE9ments avec la souris.\",\"Premier plan de la liste/l'arborescence pendant le pointage sur des \\xE9l\\xE9ments avec la souris.\",\"Arri\\xE8re-plan de l'op\\xE9ration de glisser-d\\xE9placer dans une liste/arborescence pendant le d\\xE9placement d\\u2019\\xE9l\\xE9ments sur d\\u2019autres \\xE9l\\xE9ments avec la souris.\",\"Couleur de bordure glisser-d\\xE9placer de la liste/de l\\u2019arborescence lors du d\\xE9placement d\\u2019\\xE9l\\xE9ments entre des \\xE9l\\xE9ments lors de l\\u2019utilisation de la souris.\",\"Couleur de premier plan dans la liste/l'arborescence pour la surbrillance des correspondances pendant la recherche dans une liste/arborescence.\",\"Couleur de premier plan de la liste ou l\\u2019arborescence pour la surbrillance des correspondances sur les \\xE9l\\xE9ments ayant le focus pendant la recherche dans une liste/arborescence.\",\"Couleur de premier plan de liste/arbre pour les \\xE9l\\xE9ments non valides, par exemple une racine non r\\xE9solue dans l\\u2019Explorateur.\",\"Couleur de premier plan des \\xE9l\\xE9ments de la liste contenant des erreurs.\",\"Couleur de premier plan des \\xE9l\\xE9ments de liste contenant des avertissements.\",\"Couleur d'arri\\xE8re-plan du widget de filtre de type dans les listes et les arborescences.\",\"Couleur de contour du widget de filtre de type dans les listes et les arborescences.\",\"Couleur de contour du widget de filtre de type dans les listes et les arborescences, en l'absence de correspondance.\",\"Appliquez une ombre \\xE0 la couleur du widget filtre de type dans les listes et les arborescences.\",\"Couleur d'arri\\xE8re-plan de la correspondance filtr\\xE9e.\",\"Couleur de bordure de la correspondance filtr\\xE9e.\",\"Couleur de premier plan de la liste/l\\u2019arborescence des \\xE9l\\xE9ments att\\xE9nu\\xE9s.\",\"Couleur de trait de l'arborescence pour les rep\\xE8res de mise en retrait.\",\"Couleur de trait d\\u2019arborescence pour les rep\\xE8res de mise en retrait qui ne sont pas actifs.\",\"Couleur de la bordure du tableau entre les colonnes.\",\"Couleur d'arri\\xE8re-plan pour les lignes de tableau impaires.\",\"Couleur d'arri\\xE8re-plan de la liste d'actions.\",\"Couleur de premier plan de la liste d'actions.\",\"Couleur de premier plan de la liste d\\u2019actions pour l\\u2019\\xE9l\\xE9ment focalis\\xE9.\",\"Couleur d'arri\\xE8re-plan de la liste d'actions pour l'\\xE9l\\xE9ment focalis\\xE9.\",\"Couleur de bordure des menus.\",\"Couleur de premier plan des \\xE9l\\xE9ments de menu.\",\"Couleur d'arri\\xE8re-plan des \\xE9l\\xE9ments de menu.\",\"Couleur de premier plan de l'\\xE9l\\xE9ment de menu s\\xE9lectionn\\xE9 dans les menus.\",\"Couleur d'arri\\xE8re-plan de l'\\xE9l\\xE9ment de menu s\\xE9lectionn\\xE9 dans les menus.\",\"Couleur de bordure de l'\\xE9l\\xE9ment de menu s\\xE9lectionn\\xE9 dans les menus.\",\"Couleur d'un \\xE9l\\xE9ment de menu s\\xE9parateur dans les menus.\",\"Couleur de marqueur de la minimap pour les correspondances.\",\"Couleur de marqueur minimap pour les s\\xE9lections r\\xE9p\\xE9t\\xE9es de l\\u2019\\xE9diteur.\",\"Couleur de marqueur du minimap pour la s\\xE9lection de l'\\xE9diteur.\",\"Couleur de marqueur de minimap pour les informations.\",\"Couleur de marqueur de minimap pour les avertissements.\",\"Couleur de marqueur de minimap pour les erreurs.\",\"Couleur d'arri\\xE8re-plan du minimap.\",\"Opacit\\xE9 des \\xE9l\\xE9ments de premier plan rendus dans la minimap. Par exemple, \\xAB #000000c0 \\xBB affiche les \\xE9l\\xE9ments avec une opacit\\xE9 de 75 %.\",\"Couleur d'arri\\xE8re-plan du curseur de minimap.\",\"Couleur d'arri\\xE8re-plan du curseur de minimap pendant le survol.\",\"Couleur d'arri\\xE8re-plan du curseur de minimap pendant un clic.\",\"Couleur de bordure des fen\\xEAtres coulissantes.\",\"Couleur de fond des badges. Les badges sont de courts libell\\xE9s d'information, ex. le nombre de r\\xE9sultats de recherche.\",\"Couleur des badges. Les badges sont de courts libell\\xE9s d'information, ex. le nombre de r\\xE9sultats de recherche.\",\"Ombre de la barre de d\\xE9filement pour indiquer que la vue d\\xE9file.\",\"Couleur de fond du curseur de la barre de d\\xE9filement.\",\"Couleur de fond du curseur de la barre de d\\xE9filement lors du survol.\",\"Couleur d\\u2019arri\\xE8re-plan de la barre de d\\xE9filement lorsqu'on clique dessus.\",\"Couleur de fond pour la barre de progression qui peut s'afficher lors d'op\\xE9rations longues.\",\"Couleur d'arri\\xE8re-plan du s\\xE9lecteur rapide. Le widget de s\\xE9lecteur rapide est le conteneur de s\\xE9lecteurs comme la palette de commandes.\",\"Couleur de premier plan du s\\xE9lecteur rapide. Le widget de s\\xE9lecteur rapide est le conteneur de s\\xE9lecteurs comme la palette de commandes.\",\"Couleur d'arri\\xE8re-plan du titre du s\\xE9lecteur rapide. Le widget de s\\xE9lecteur rapide est le conteneur de s\\xE9lecteurs comme la palette de commandes.\",\"Couleur du s\\xE9lecteur rapide pour les \\xE9tiquettes de regroupement.\",\"Couleur du s\\xE9lecteur rapide pour les bordures de regroupement.\",\"Utilisez quickInputList.focusBackground \\xE0 la place\",\"Couleur de premier plan du s\\xE9lecteur rapide pour l\\u2019\\xE9l\\xE9ment ayant le focus.\",\"Couleur de premier plan de l\\u2019ic\\xF4ne du s\\xE9lecteur rapide pour l\\u2019\\xE9l\\xE9ment ayant le focus.\",\"Couleur d'arri\\xE8re-plan du s\\xE9lecteur rapide pour l'\\xE9l\\xE9ment ayant le focus.\",\"Couleur du texte dans le message d\\u2019ach\\xE8vement de la viewlet de recherche.\",\"Couleur des correspondances de requ\\xEAte de l'\\xE9diteur de recherche.\",\"Couleur de bordure des correspondances de requ\\xEAte de l'\\xE9diteur de recherche.\",\"Cette couleur doit \\xEAtre transparente ou son contenu sera masqu\\xE9\",\"Utiliser la couleur par d\\xE9faut.\",\"ID de la police \\xE0 utiliser. Si aucune valeur n'est d\\xE9finie, la police d\\xE9finie en premier est utilis\\xE9e.\",\"Caract\\xE8re de police associ\\xE9 \\xE0 la d\\xE9finition d'ic\\xF4ne.\",\"Ic\\xF4ne de l'action de fermeture dans les widgets.\",\"Ic\\xF4ne d'acc\\xE8s \\xE0 l'emplacement pr\\xE9c\\xE9dent de l'\\xE9diteur.\",\"Ic\\xF4ne d'acc\\xE8s \\xE0 l'emplacement suivant de l'\\xE9diteur.\",\"Les fichiers suivants ont \\xE9t\\xE9 ferm\\xE9s et modifi\\xE9s sur le disque\\xA0: {0}.\",\"Les fichiers suivants ont \\xE9t\\xE9 modifi\\xE9s de mani\\xE8re incompatible : {0}.\",\"Impossible d'annuler '{0}' dans tous les fichiers. {1}\",\"Impossible d'annuler '{0}' dans tous les fichiers. {1}\",\"Impossible d'annuler '{0}' dans tous les fichiers, car des modifications ont \\xE9t\\xE9 apport\\xE9es \\xE0 {1}\",\"Impossible d'annuler '{0}' dans tous les fichiers, car une op\\xE9ration d'annulation ou de r\\xE9tablissement est d\\xE9j\\xE0 en cours d'ex\\xE9cution sur {1}\",\"Impossible d'annuler '{0}' dans tous les fichiers, car une op\\xE9ration d'annulation ou de r\\xE9tablissement s'est produite dans l'intervalle\",\"Souhaitez-vous annuler '{0}' dans tous les fichiers\\xA0?\",\"&&Annuler dans {0} fichiers\",\"Annuler ce &&fichier\",\"Impossible d'annuler '{0}', car une op\\xE9ration d'annulation ou de r\\xE9tablissement est d\\xE9j\\xE0 en cours d'ex\\xE9cution.\",\"Voulez-vous annuler '{0}'\\xA0?\",\"&&Oui\",\"Non\",\"Impossible de r\\xE9p\\xE9ter '{0}' dans tous les fichiers. {1}\",\"Impossible de r\\xE9p\\xE9ter '{0}' dans tous les fichiers. {1}\",\"Impossible de r\\xE9p\\xE9ter '{0}' dans tous les fichiers, car des modifications ont \\xE9t\\xE9 apport\\xE9es \\xE0 {1}\",\"Impossible de r\\xE9tablir '{0}' dans tous les fichiers, car une op\\xE9ration d'annulation ou de r\\xE9tablissement est d\\xE9j\\xE0 en cours d'ex\\xE9cution pour {1}\",\"Impossible de r\\xE9tablir '{0}' dans tous les fichiers, car une op\\xE9ration d'annulation ou de r\\xE9tablissement s'est produite dans l'intervalle\",\"Impossible de r\\xE9tablir '{0}', car une op\\xE9ration d'annulation ou de r\\xE9tablissement est d\\xE9j\\xE0 en cours d'ex\\xE9cution.\",\"Espace de travail de code\"],globalThis._VSCODE_NLS_LANGUAGE=\"fr\";\n\n//# sourceMappingURL=../min-maps/nls.messages.fr.js.map\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.it.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0} ({1})\",\"input\",\"Maiuscole/minuscole\",\"Parola intera\",\"Usa espressione regolare\",\"input\",\"Mantieni maiuscole/minuscole\",\"Ispezionarlo nella visualizzazione accessibile con {0}.\",\"Ispezionarlo nella visualizzazione accessibile tramite il comando Apri visualizzazione accessibile che attualmente non \\xE8 attivabile tramite il tasto di scelta rapida.\",\"Errore: {0}\",\"Avviso: {0}\",\"Info: {0}\",\" o {0} per la cronologia\",\" ({0} per la cronologia)\",\"Input cancellato\",\"Non associato\",\"Casella di selezione\",\"Altre azioni...\",\"Filtro\",\"Corrispondenza fuzzy\",\"Digitare per filtrare\",\"Digitare per la ricerca\",\"Digitare per la ricerca\",\"Chiudi\",\"Nessun risultato\",\"Non sono stati trovati risultati.\",null,\"(vuoto)\",\"{0}: {1}\",\"Si \\xE8 verificato un errore di sistema ({0})\",\"Si \\xE8 verificato un errore sconosciuto. Per altri dettagli, vedere il log.\",\"Si \\xE8 verificato un errore sconosciuto. Per altri dettagli, vedere il log.\",\"{0} ({1} errori in totale)\",\"Si \\xE8 verificato un errore sconosciuto. Per altri dettagli, vedere il log.\",\"CTRL\",\"MAIUSC\",\"ALT\",\"Windows\",\"CTRL\",\"MAIUSC\",\"ALT\",\"Super\",\"CTRL\",\"MAIUSC\",\"Opzione\",\"Comando\",\"CTRL\",\"MAIUSC\",\"ALT\",\"Windows\",\"CTRL\",\"MAIUSC\",\"ALT\",\"Super\",null,null,null,null,null,\"Si attiene alla fine anche quando si passa a righe pi\\xF9 lunghe\",\"Si attiene alla fine anche quando si passa a righe pi\\xF9 lunghe\",\"Cursori secondari rimossi\",\"&&Annulla\",\"Annulla azione\",\"&&Ripeti\",\"Ripeti\",\"&&Seleziona tutto\",\"Seleziona tutto\",\"Tieni premuto il tasto {0} per passare il mouse\",\"Caricamento\\u2026\",\"Il numero di cursori \\xE8 stato limitato a {0}. Provare a usare [Trova e sostituisci](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) per modifiche di dimensioni maggiori o aumentare l'impostazione del limite di pi\\xF9 cursori dell'editor.\",\"Aumentare limite multi-cursore\",\"Attiva/Disattiva comprimi aree non modificate\",\"Attiva/Disattiva mostra blocchi di codice spostati\",\"Attiva/disattiva la visualizzazione inline quando lo spazio \\xE8 limitato\",\"Editor diff\",\"Interruttore laterale\",\"Esci da Sposta confronto\",\"Comprimi tutte le aree non modificate\",\"Mostra tutte le aree non modificate\",\"Ripristina\",\"Visualizzatore differenze accessibile\",\"Vai alla differenza successiva\",\"Vai alla differenza precedente\",'Icona per \"Inserisci\" nel visualizzatore differenze accessibile.','Icona per \"Rimuovi\" nel visualizzatore differenze accessibile.','Icona per \"Chiudi\" nel visualizzatore differenze accessibile.',\"Chiudi\",\"Visualizzatore differenze accessibile. Usare le frecce SU e GI\\xD9 per spostarsi.\",\"nessuna riga modificata\",\"1 riga modificata\",\"{0} righe modificate\",\"Differenza {0} di {1}: riga originale {2}, {3}, riga modificata {4}, {5}\",\"vuota\",\"{0} riga non modificata {1}\",\"{0} riga originale {1} riga modificata {2}\",\"+ {0} riga modificata {1}\",\"- {0} riga originale {1}\",\" utilizzare {0} per aprire la Guida all'accessibilit\\xE0.\",\"Copia le righe eliminate\",\"Copia la riga eliminata\",\"Copia righe modificate\",\"Copia riga modificata\",\"Copia la riga eliminata ({0})\",\"Copia riga modificata ({0})\",\"Ripristina questa modifica\",\"Usa la visualizzazione inline quando lo spazio \\xE8 limitato\",\"Mostra blocchi di codice spostati\",\"Ripristina blocco\",\"Ripristina selezione\",\"Apri Visualizzatore differenze accessibile\",\"Ridurre area non modificata\",\"{0} righe nascoste\",\"Fai clic o trascina per visualizzare altri elementi sopra\",\"Mostra area non modificata\",\"Fai clic o trascina per visualizzare altri elementi sotto\",\"{0} righe nascoste\",\"Fare doppio clic per espandere\",\"Codice spostato con modifiche alla riga {0}-{1}\",\"Codice spostato con modifiche dalla riga {0}-{1}\",\"Codice spostato alla riga {0}-{1}\",\"Codice spostato dalla riga {0}-{1}\",\"Ripristina modifiche selezionate\",\"Annulla modifica\",\"Colore del bordo per il testo spostato nell'editor diff.\",\"Colore del bordo attivo per il testo spostato nell'editor diff.\",\"Colore dell'ombreggiatura intorno ai widget dell'area non modificata.\",\"Effetto di riga per gli inserimenti nell'editor diff.\",\"Effetto di riga per le rimozioni nell'editor diff.\",\"Colore di sfondo dell'intestazione dell'editor diff\",\"Colore di sfondo dell'editor diff a pi\\xF9 file\",\"Colore del bordo dell\\u2019editor diff multi file\",\"Nessun file modificato\",\"Editor\",\"Numero di spazi a cui \\xE8 uguale una scheda. Questa impostazione viene sottoposta a override in base al contenuto del file quando {0} \\xE8 attivo.\",'Numero di spazi utilizzati per il rientro o `\"tabSize\"` per usare il valore di `#editor.tabSize#`. Questa impostazione viene sostituita in base al contenuto del file quando `#editor.detectIndentation#` \\xE8 attivo.',\"Inserire spazi quando si preme 'TAB'. Questa impostazione viene sottoposta a override in base al contenuto del file quando {0} \\xE8 attivo.\",\"Controlla se {0} e {1} verranno rilevati automaticamente quando un file viene aperto in base al contenuto del file.\",\"Rimuovi gli spazi finali inseriti automaticamente.\",\"Gestione speciale dei file di grandi dimensioni per disabilitare alcune funzionalit\\xE0 che fanno un uso intensivo della memoria.\",\"Disattivare i suggerimenti basati su Word.\",\"Suggerisci parole solo dal documento attivo.\",\"Suggerisci parole da tutti i documenti aperti della stessa lingua.\",\"Suggerisci parole da tutti i documenti aperti.\",\"Controlla se i completamenti devono essere calcolati in base alle parole nel documento e dai documenti da cui vengono calcolati.\",\"L'evidenziazione semantica \\xE8 abilitata per tutti i temi colore.\",\"L'evidenziazione semantica \\xE8 disabilitata per tutti i temi colore.\",\"La configurazione dell'evidenziazione semantica \\xE8 gestita tramite l'impostazione `semanticHighlighting` del tema colori corrente.\",\"Controlla se l'evidenziazione semanticHighlighting \\xE8 visualizzata per i linguaggi che la supportano.\",\"Consente di mantenere aperti gli editor rapidi anche quando si fa doppio clic sul contenuto o si preme 'ESC'.\",\"Per motivi di prestazioni le righe di lunghezza superiore non verranno tokenizzate\",\"Controlla se la tokenizzazione deve essere eseguita in modo asincrono in un web worker.\",\"Controlla se deve essere registrata la tokenizzazione asincrona. Solo per il debug.\",\"Controlla se la tokenizzazione asincrona deve essere verificata rispetto alla tokenizzazione legacy in background. Potrebbe rallentare la tokenizzazione. Solo per il debug.\",\"Consente di stabilire se attivare l'analisi di Tree-sitter e se acquisire i dati di telemetria. L\\u2019impostazione di `editor.experimental.preferTreeSitter` per linguaggi specifici avr\\xE0 la precedenza.\",\"Definisce i simboli di parentesi quadra che aumentano o riducono il rientro.\",\"Sequenza di stringa o carattere parentesi quadra di apertura.\",\"Sequenza di stringa o carattere parentesi quadra di chiusura.\",\"Definisce le coppie di bracket colorate in base al livello di annidamento se \\xE8 abilitata la colorazione delle coppie di bracket.\",\"Sequenza di stringa o carattere parentesi quadra di apertura.\",\"Sequenza di stringa o carattere parentesi quadra di chiusura.\",\"Timeout in millisecondi dopo il quale il calcolo delle differenze viene annullato. Usare 0 per indicare nessun timeout.\",\"Dimensioni massime del file in MB per cui calcolare le differenze. Usare 0 per nessun limite.\",\"Controlla se l'editor diff mostra le differenze affiancate o incorporate.\",\"Se la larghezza dell'editor diff \\xE8 inferiore a questo valore, verr\\xE0 utilizzata la visualizzazione inline.\",\"Se questa opzione \\xE8 abilitata e la larghezza dell'editor \\xE8 troppo piccola, verr\\xE0 usata la visualizzazione inline.\",\"Se questa opzione \\xE8 abilitata, l'editor diff mostra le frecce nel margine del glifo per ripristinare le modifiche.\",\"Se questa opzione \\xE8 abilitata, nell'editor diff viene visualizzata una barra di navigazione speciale per le azioni di ripristino e anteprima.\",\"Se abilitato, l'editor differenze ignora le modifiche relative a spazi vuoti iniziali e finali.\",\"Controlla se l'editor diff mostra gli indicatori +/- per le modifiche aggiunte/rimosse.\",\"Controlla se l'editor visualizza CodeLens.\",\"Il ritorno a capo automatico delle righe non viene mai applicato.\",\"Il ritorno a capo automatico delle righe viene applicato in corrispondenza della larghezza del viewport.\",\"Le righe andranno a capo in base all'impostazione {0}.\",\"Usare l'algoritmo diffing legacy.\",\"Usare l'algoritmo diffing avanzato.\",\"Controlla se l'editor diff mostra aree non modificate.\",\"Controlla il numero di righe usate per le aree non modificate.\",\"Controlla il numero minimo di righe usate per le aree non modificate.\",\"Controlla il numero di righe usate come contesto durante il confronto delle aree non modificate.\",\"Controlla se l'editor diff deve mostrare gli spostamenti di codice rilevati.\",\"Controlla se l'editor diff mostra decorazioni vuote per vedere dove sono stati inseriti o eliminati caratteri.\",\"Se questa opzione \\xE8 abilitata e l'editor usa la visualizzazione inline, verr\\xE0 eseguito il rendering delle modifiche delle parole inline.\",\"Usare le API della piattaforma per rilevare quando viene collegata un'utilit\\xE0 per la lettura dello schermo.\",\"Ottimizzare l'utilizzo con un'utilit\\xE0 per la lettura dello schermo.\",\"Si presuppone che un'utilit\\xE0 per la lettura dello schermo non sia collegata.\",\"Controllare se l'interfaccia utente deve essere eseguito in una modalit\\xE0 ottimizzata per le utilit\\xE0 per la lettura dello schermo.\",\"Consente di controllare se viene inserito uno spazio quando si aggiungono commenti.\",\"Controlla se ignorare le righe vuote con le opzioni per attivare/disattivare, aggiungere o rimuovere relative ai commenti di riga.\",\"Controlla se, quando si copia senza aver effettuato una selezione, viene copiata la riga corrente.\",\"Controlla se il cursore deve passare direttamente alla ricerca delle corrispondenze durante la digitazione.\",\"Non fornire mai la stringa di ricerca dalla selezione dell'editor.\",\"Fornisci sempre la stringa di ricerca dalla selezione dell'editor, inclusa la parola alla posizione del cursore.\",\"Fornisci la stringa di ricerca solo dalla selezione dell'editor.\",\"Controlla se inizializzare la stringa di ricerca nel Widget Trova con il testo selezionato nell'editor.\",\"Non attivare mai automaticamente la funzione Trova nella selezione (impostazione predefinita).\",\"Attiva sempre automaticamente la funzione Trova nella selezione.\",\"Attiva automaticamente la funzione Trova nella selezione quando sono selezionate pi\\xF9 righe di contenuto.\",\"Controlla la condizione per attivare automaticamente la funzione Trova nella selezione.\",\"Controlla se il widget Trova deve leggere o modificare gli appunti di ricerca condivisi in macOS.\",\"Controlla se il widget Trova deve aggiungere altre righe nella parte superiore dell'editor. Quando \\xE8 true, \\xE8 possibile scorrere oltre la prima riga quando il widget Trova \\xE8 visibile.\",\"Controlla se la ricerca viene riavviata automaticamente dall'inizio o dalla fine quando non \\xE8 possibile trovare ulteriori corrispondenze.\",\"Abilita/Disabilita i caratteri legatura (funzionalit\\xE0 dei tipi di carattere 'calt' e 'liga'). Impostare su una stringa per un controllo pi\\xF9 specifico sulla propriet\\xE0 CSS 'font-feature-settings'.\",\"Propriet\\xE0 CSS 'font-feature-settings' esplicita. Se \\xE8 necessario solo attivare/disattivare le legature, \\xE8 possibile passare un valore booleano.\",\"Consente di configurare i caratteri legatura o le funzionalit\\xE0 dei tipi di carattere. Pu\\xF2 essere un valore booleano per abilitare/disabilitare le legature o una stringa per il valore della propriet\\xE0 CSS 'font-feature-settings'.\",\"Abilita/disabilita la conversione dada font-weight a font-variation-settings. Modificare questa impostazione in una stringa per il controllo con granularit\\xE0 fine della propriet\\xE0 CSS Font-variation.\",\"Propriet\\xE0 CSS esplicita 'font-variation-settings'. \\xC8 invece possibile passare un valore booleano se \\xE8 sufficiente convertire font-weight in font-variation-settings.\",\"Configura le varianti di carattere. Pu\\xF2 essere un valore booleano per abilitare/disabilitare la conversione da font-weight a font-variation-settings o una stringa per il valore della propriet\\xE0 'font-variation-settings' CSS.\",\"Controlla le dimensioni del carattere in pixel.\",'Sono consentiti solo le parole chiave \"normal\" e \"bold\" o i numeri compresi tra 1 e 1000.','Controlla lo spessore del carattere. Accetta le parole chiave \"normal\" e \"bold\" o i numeri compresi tra 1 e 1000.',\"Mostra la visualizzazione in anteprima dei risultati (impostazione predefinita)\",\"Passa al risultato principale e mostra una visualizzazione in anteprima\",\"Passa al risultato principale e abilita l'esplorazione senza anteprima per gli altri\",\"Questa impostazione \\xE8 deprecata. In alternativa, usare impostazioni diverse, come 'editor.editor.gotoLocation.multipleDefinitions' o 'editor.editor.gotoLocation.multipleImplementations'.\",\"Controlla il comportamento del comando 'Vai alla definizione' quando esistono pi\\xF9 posizioni di destinazione.\",\"Controlla il comportamento del comando 'Vai alla definizione di tipo' quando esistono pi\\xF9 posizioni di destinazione.\",\"Controlla il comportamento del comando 'Vai a dichiarazione' quando esistono pi\\xF9 posizioni di destinazione.\",\"Controlla il comportamento del comando 'Vai a implementazioni' quando esistono pi\\xF9 posizioni di destinazione.\",\"Controlla il comportamento del comando 'Vai a riferimenti' quando esistono pi\\xF9 posizioni di destinazione.\",\"ID comando alternativo eseguito quando il risultato di 'Vai alla definizione' \\xE8 la posizione corrente.\",\"ID comando alternativo eseguito quando il risultato di 'Vai alla definizione di tipo' \\xE8 la posizione corrente.\",\"ID comando alternativo eseguito quando il risultato di 'Vai a dichiarazione' \\xE8 la posizione corrente.\",\"ID comando alternativo eseguito quando il risultato di 'Vai a implementazione' \\xE8 la posizione corrente.\",\"ID comando alternativo eseguito quando il risultato di 'Vai a riferimento' \\xE8 la posizione corrente.\",\"Controlla se mostrare l'area sensibile al passaggio del mouse.\",\"Controlla il ritardo in millisecondi dopo il quale viene mostrato il passaggio del mouse.\",\"Controlla se l'area sensibile al passaggio del mouse deve rimanere visibile quando vi si passa sopra con il puntatore del mouse.\",\"Controlla il ritardo in millisecondi dopo il quale viene nascosto il passaggio del mouse. Richiede l'abilitazione di `editor.hover.sticky`.\",\"Preferisci la visualizzazione al passaggio del mouse sopra la riga, se c'\\xE8 spazio.\",\"Presuppone che la larghezza sia identica per tutti caratteri. Si tratta di un algoritmo veloce che funziona correttamente per i tipi di carattere a spaziatura fissa e determinati script (come i caratteri latini) in cui i glifi hanno larghezza identica.\",\"Delega il calcolo dei punti di ritorno a capo al browser. Si tratta di un algoritmo lento che potrebbe causare blocchi con file di grandi dimensioni, ma funziona correttamente in tutti gli altri casi.\",\"Controlla l'algoritmo che calcola i punti di wrapping. Si noti che quando \\xE8 attiva la modalit\\xE0 di accessibilit\\xE0, la modalit\\xE0 avanzata verr\\xE0 usata per un'esperienza ottimale.\",\"Disabilita il menu azione codice.\",\"Visualizza il menu azione codice quando il cursore \\xE8 su righe di codice.\",\"Mostra il menu azione codice quando il cursore \\xE8 su righe con codice o su righe vuote.\",\"Abilita la lampadina delle azioni codice nell'editor.\",\"Mostra gli ambiti correnti annidati durante lo scorrimento nella parte superiore dell'editor.\",\"Definisce il numero massimo di righe permanenti da mostrare.\",\"Definisce il modello da utilizzare per determinare quali linee applicare. Se il modello di struttura non esiste, verr\\xE0 eseguito il fallback sul modello del provider di riduzione che rientra nel modello di rientro. Questo ordine viene rispettato in tutti e tre i casi.\",\"Abilitare lo scorrimento di scorrimento permanente con la barra di scorrimento orizzontale dell'editor.\",\"Abilita i suggerimenti incorporati nell'Editor.\",\"Gli hint di inlay sono abilitati\",\"Gli hint di inlay vengono visualizzati per impostazione predefinita e vengono nascosti quando si tiene premuto {0}\",\"Gli hint di inlay sono nascosti per impostazione predefinita e vengono visualizzati solo quando si tiene premuto {0}\",\"Gli hint di inlay sono disabilitati\",\"Controlla le dimensioni del carattere dei suggerimenti di inlay nell'editor. Per impostazione predefinita, {0} viene usato quando il valore configurato \\xE8 minore di {1} o maggiore delle dimensioni del carattere dell'editor.\",\"Controlla la famiglia di caratteri dei suggerimenti inlay nell'editor. Se impostato su vuoto, viene usato {0}.\",\"Abilita il riempimento attorno ai suggerimenti incorporati nell'editor.\",`Controlla l'altezza della riga. \\r\n - Usare 0 per calcolare automaticamente l'altezza della riga dalle dimensioni del carattere.\\r\n - I valori compresi tra 0 e 8 verranno usati come moltiplicatore con le dimensioni del carattere.\\r\n - I valori maggiori o uguali a 8 verranno usati come valori effettivi.`,\"Controlla se la minimappa \\xE8 visualizzata.\",\"Controlla se la minimappa viene nascosta automaticamente.\",\"La minimappa ha le stesse dimensioni del contenuto dell'editor (e potrebbe supportare lo scorrimento).\",\"Se necessario, la minimappa si ridurr\\xE0 o si ingrandir\\xE0 in modo da adattarsi all'altezza dell'editor (nessuno scorrimento).\",\"Se necessario, la minimappa si ridurr\\xE0 in modo che la larghezza non superi mai quella dell'editor (nessuno scorrimento).\",\"Controlla le dimensioni della minimappa.\",\"Definisce il lato in cui eseguire il rendering della minimappa.\",\"Controlla se il dispositivo di scorrimento della minimappa \\xE8 visualizzato.\",\"Scala del contenuto disegnato nella minimappa: 1, 2 o 3.\",\"Esegue il rendering dei caratteri effettivi di una riga in contrapposizione ai blocchi colore.\",\"Limita la larghezza della minimappa in modo da eseguire il rendering al massimo di un certo numero di colonne.\",\"Controlla se le aree denominate vengono visualizzate come intestazioni di sezione nella minimappa.\",\"Controlla se i commenti MARK: vengono visualizzati come intestazioni di sezione nella minimappa.\",\"Controlla le dimensioni del carattere delle intestazioni di sezione nella minimappa.\",\"Controllare la quantit\\xE0 di spazio (in pixel) tra i caratteri dell\\u2019intestazione di sezione. Ci\\xF2 contribuisce alla leggibilit\\xE0 dell\\u2019intestazione in caratteri di piccole dimensioni.\",\"Controlla la quantit\\xE0 di spazio tra il bordo superiore dell'editor e la prima riga.\",\"Controlla la quantit\\xE0 di spazio tra il bordo inferiore dell'editor e l'ultima riga.\",\"Abilita un popup che mostra documentazione sui parametri e informazioni sui tipi mentre si digita.\",\"Controlla se il menu dei suggerimenti per i parametri esegue un ciclo o si chiude quando viene raggiunta la fine dell'elenco.\",\"I suggerimenti rapidi vengono visualizzati all'interno del widget dei suggerimenti\",\"I suggerimenti rapidi vengono visualizzati come testo fantasma\",\"I suggerimenti rapidi sono disabilitati\",\"Abilita i suggerimenti rapidi all'interno di stringhe.\",\"Abilita i suggerimenti rapidi all'interno di commenti.\",\"Abilita i suggerimenti rapidi all'esterno di stringhe e commenti.\",\"Controlla se i suggerimenti devono essere visualizzati automaticamente durante la digitazione. Questo pu\\xF2 essere controllato per digitare commenti, stringhe e altro codice. Il suggerimento rapido pu\\xF2 essere configurato per essere visualizzato come testo fantasma o con il widget dei suggerimenti. Tenere anche conto dell'impostazione {0}che controlla se i suggerimenti vengono attivati da caratteri speciali.\",\"I numeri di riga non vengono visualizzati.\",\"I numeri di riga vengono visualizzati come numeri assoluti.\",\"I numeri di riga vengono visualizzati come distanza in linee alla posizione del cursore.\",\"I numeri di riga vengono visualizzati ogni 10 righe.\",\"Controlla la visualizzazione dei numeri di riga.\",\"Numero di caratteri a spaziatura fissa in corrispondenza del quale verr\\xE0 eseguito il rendering di questo righello dell'editor.\",\"Colore di questo righello dell'editor.\",\"Esegue il rendering dei righelli verticali dopo un certo numero di caratteri a spaziatura fissa. Usare pi\\xF9 valori per pi\\xF9 righelli. Se la matrice \\xE8 vuota, non viene disegnato alcun righello.\",\"La barra di scorrimento verticale sar\\xE0 visibile solo quando necessario.\",\"La barra di scorrimento verticale sar\\xE0 sempre visibile.\",\"La barra di scorrimento verticale sar\\xE0 sempre nascosta.\",\"Controlla la visibilit\\xE0 della barra di scorrimento verticale.\",\"La barra di scorrimento orizzontale sar\\xE0 visibile solo quando necessario.\",\"La barra di scorrimento orizzontale sar\\xE0 sempre visibile.\",\"La barra di scorrimento orizzontale sar\\xE0 sempre nascosta.\",\"Controlla la visibilit\\xE0 della barra di scorrimento orizzontale.\",\"Larghezza della barra di scorrimento verticale.\",\"Altezza della barra di scorrimento orizzontale.\",\"Controlla se i clic consentono di attivare lo scorrimento per pagina o di passare direttamente alla posizione di clic.\",\"Se impostata, la barra di scorrimento orizzontale non aumenter\\xE0 le dimensioni del contenuto dell'editor.\",\"Controlla se tutti i caratteri ASCII non di base sono evidenziati. Solo i caratteri compresi tra U+0020 e U+007E, tabulazione, avanzamento riga e ritorno a capo sono considerati ASCII di base.\",\"Controlla se i caratteri che riservano spazio o non hanno larghezza sono evidenziati.\",\"Controlla se i caratteri che possono essere confusi con i caratteri ASCII di base sono evidenziati, ad eccezione di quelli comuni nelle impostazioni locali dell'utente corrente.\",\"Controlla se anche i caratteri nei commenti devono essere soggetti a evidenziazione Unicode.\",\"Controlla se anche i caratteri nelle stringhe devono essere soggetti all'evidenziazione Unicode.\",\"Definisce i caratteri consentiti che non vengono evidenziati.\",\"I caratteri Unicode comuni nelle impostazioni locali consentite non vengono evidenziati.\",\"Controlla se visualizzare automaticamente i suggerimenti inline nell'Editor.\",\"Mostra la barra degli strumenti dei suggerimenti in linea ogni volta che viene visualizzato un suggerimento in linea.\",\"Mostra la barra degli strumenti dei suggerimenti in linea quando al passaggio del mouse su un suggerimento in linea.\",\"Non mostrare mai la barra dei suggerimenti in linea.\",\"Controlla quando mostrare la barra dei suggerimenti in linea.\",\"Controlla la modalit\\xE0 di interazione dei suggerimenti inline con il widget dei suggerimenti. Se questa opzione \\xE8 abilitata, il widget dei suggerimenti non viene visualizzato automaticamente quando sono disponibili suggerimenti inline.\",\"Controlla la famiglia di caratteri dei suggerimenti inline.\",null,null,null,null,null,null,\"Controlla se la colorazione delle coppie di parentesi \\xE8 abilitata. Usare {0} per eseguire l'override dei colori di evidenziazione delle parentesi.\",\"Controlla se ogni tipo di parentesi ha un pool di colori indipendente.\",\"Abilita le guide per coppie di parentesi quadre.\",\"Abilita le guide delle coppie di parentesi solo per la coppia di parentesi attive.\",\"Disabilita le guide per coppie di parentesi quadre.\",\"Controlla se le guide delle coppie di parentesi sono abilitate o meno.\",\"Abilita le guide orizzontali come aggiunta alle guide per coppie di parentesi verticali.\",\"Abilita le guide orizzontali solo per la coppia di parentesi attive.\",\"Disabilita le guide per coppie di parentesi orizzontali.\",\"Controlla se le guide orizzontali delle coppie di parentesi sono abilitate o meno.\",\"Controlla se l'editor debba evidenziare la coppia di parentesi attive.\",\"Controlla se l'editor deve eseguire il rendering delle guide con rientro.\",\"Evidenzia la guida di rientro attiva.\",\"Evidenzia la guida di rientro attiva anche se le guide delle parentesi quadre sono evidenziate.\",\"Non evidenziare la guida di rientro attiva.\",\"Controlla se l'editor deve evidenziare la guida con rientro attiva.\",\"Inserisce il suggerimento senza sovrascrivere il testo a destra del cursore.\",\"Inserisce il suggerimento e sovrascrive il testo a destra del cursore.\",\"Controlla se le parole vengono sovrascritte quando si accettano i completamenti. Tenere presente che questa opzione dipende dalle estensioni che accettano esplicitamente questa funzionalit\\xE0.\",\"Controlla se i suggerimenti di filtro e ordinamento valgono per piccoli errori di battitura.\",\"Controlla se l'ordinamento privilegia le parole che appaiono pi\\xF9 vicine al cursore.\",\"Controlla se condividere le selezioni dei suggerimenti memorizzati tra aree di lavoro e finestre (richiede `#editor.suggestSelection#`).\",\"Selezionare sempre un suggerimento quando si attiva automaticamente IntelliSense.\",\"Non selezionare mai un suggerimento quando si attiva automaticamente IntelliSense.\",\"Selezionare un suggerimento solo quando si attiva IntelliSense da un carattere di trigger.\",\"Selezionare un suggerimento solo quando si attiva IntelliSense durante la digitazione.\",\"Controlla se viene selezionato un suggerimento quando viene visualizzato il widget. Si noti che questo si applica solo ai suggerimenti attivati automaticamente ({0} e {1}) e che un suggerimento viene sempre selezionato quando viene richiamato in modo esplicito, ad esempio tramite 'CTRL+BARRA SPAZIATRICE'.\",\"Controlla se un frammento attivo impedisce i suggerimenti rapidi.\",\"Controlla se mostrare o nascondere le icone nei suggerimenti.\",\"Controlla la visibilit\\xE0 della barra di stato nella parte inferiore del widget dei suggerimenti.\",\"Controlla se visualizzare in anteprima il risultato del suggerimento nell'Editor.\",\"Controlla se i dettagli del suggerimento vengono visualizzati inline con l'etichetta o solo nel widget dei dettagli.\",\"Questa impostazione \\xE8 deprecata. Il widget dei suggerimenti pu\\xF2 ora essere ridimensionato.\",\"Questa impostazione \\xE8 deprecata. In alternativa, usare impostazioni diverse, come 'editor.suggest.showKeywords' o 'editor.suggest.showSnippets'.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `method`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `function`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `constructor`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `deprecated`.\",\"Quando \\xE8 abilitato, il filtro IntelliSense richiede che il primo carattere corrisponda all'inizio di una parola, ad esempio 'c' per 'Console' o 'WebContext' ma _non_ per 'description'. Quando \\xE8 disabilitato, IntelliSense mostra pi\\xF9 risultati, ma li ordina comunque in base alla qualit\\xE0 della corrispondenza.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `field`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `variable`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `class`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `struct`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `interface`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `module`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `property`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `event`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `operator`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `unit`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `value`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `constant`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `enum`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `enumMember`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `keyword`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `text`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `color`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `file`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `reference`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `customcolor`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `folder`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `typeParameter`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `snippet`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `user`.\",\"Se \\xE8 abilitata, IntelliSense mostra i suggerimenti relativi a `issues`.\",\"Indica se gli spazi vuoti iniziali e finali devono essere sempre selezionati.\",\"Indica se \\xE8 necessario selezionare le sottoparole ( come 'foo' in 'fooBar' o 'foo_bar').\",\"Impostazioni locali da usare per la segmentazione delle parole quando si eseguono operazioni o spostamenti correlati alle parole. Specifica il tag di lingua BCP 47 della parola che si vuole riconoscere (ad es. ja, zh-CN, zh-Hant-TW, ecc.).\",\"Impostazioni locali da usare per la segmentazione delle parole quando si eseguono operazioni o spostamenti correlati alle parole. Specifica il tag di lingua BCP 47 della parola che si vuole riconoscere (ad es. ja, zh-CN, zh-Hant-TW, ecc.).\",\"Nessun rientro. Le righe con ritorno a capo iniziano dalla colonna 1. \",\"Le righe con ritorno a capo hanno lo stesso rientro della riga padre.\",\"Le righe con ritorno a capo hanno un rientro di +1 rispetto alla riga padre.\",\"Le righe con ritorno a capo hanno un rientro di +2 rispetto alla riga padre.\",\"Controlla il rientro delle righe con ritorno a capo.\",\"Controlla se \\xE8 possibile trascinare un file in un editor di testo tenendo premuto il tasto \\u201CMAIUSC\\u201D (invece di aprire il file in un editor).\",\"Controlla se viene visualizzato un widget quando si rilasciano file nell'editor. Questo widget consente di controllare la modalit\\xE0 di rilascio del file.\",\"Mostra il widget del selettore di rilascio dopo il rilascio di un file nell'editor.\",\"Non visualizzare mai il widget del selettore di rilascio. Usare sempre il provider di rilascio predefinito.\",\"Controlla se \\xE8 possibile incollare il contenuto in modi diversi.\",\"Controlla se viene visualizzato un widget quando si incolla il contenuto nell'editor. Questo widget consente di controllare il modo in cui il file viene incollato.\",\"Mostra il widget del selettore dell'operazione Incolla dopo che il contenuto \\xE8 stato incollato nell'editor.\",\"Non visualizzare mai il widget del selettore dell'operazione Incolla. Usare sempre il comportamento dell'operazione Incolla predefinito.\",\"Controlla se accettare i suggerimenti con i caratteri di commit. Ad esempio, in JavaScript il punto e virgola (';') pu\\xF2 essere un carattere di commit che accetta un suggerimento e digita tale carattere.\",\"Accetta un suggerimento con 'Invio' solo quando si apporta una modifica al testo.\",\"Controlla se i suggerimenti devono essere accettati con 'INVIO' in aggiunta a 'TAB'. In questo modo \\xE8 possibile evitare ambiguit\\xE0 tra l'inserimento di nuove righe e l'accettazione di suggerimenti.\",\"Controlla il numero di righe nell'Editor che possono essere lette alla volta da un utilit\\xE0 per la lettura dello schermo. Quando viene rilevata un'utilit\\xE0 per la lettura dello schermo, questo valore viene impostato su 500 per impostazione predefinita. Avviso: questa opzione pu\\xF2 influire sulle prestazioni se il numero di righe \\xE8 superiore a quello predefinito.\",\"Contenuto editor\",\"Controllare se i suggerimenti inline vengono annunciati da un'utilit\\xE0 per la lettura dello schermo.\",\"Usa le configurazioni del linguaggio per determinare la chiusura automatica delle parentesi.\",\"Chiudi automaticamente le parentesi solo quando il cursore si trova alla sinistra di uno spazio vuoto.\",\"Controlla se l'editor deve chiudere automaticamente le parentesi quadre dopo che sono state aperte.\",\"Usare le configurazioni del linguaggio per determinare la chiusura automatica dei commenti.\",\"Chiudere automaticamente i commenti solo quando il cursore si trova alla sinistra di uno spazio vuoto.\",\"Controlla se l'editor deve chiudere automaticamente i commenti dopo che sono stati aperti.\",\"Rimuove le virgolette o le parentesi quadre di chiusura adiacenti solo se sono state inserite automaticamente.\",\"Controlla se l'editor deve rimuovere le virgolette o le parentesi quadre di chiusura adiacenti durante l'eliminazione.\",\"Digita sopra le virgolette o le parentesi quadre di chiusura solo se sono state inserite automaticamente.\",\"Controlla se l'editor deve digitare su virgolette o parentesi quadre.\",\"Usa le configurazioni del linguaggio per determinare la chiusura automatica delle virgolette.\",\"Chiudi automaticamente le virgolette solo quando il cursore si trova alla sinistra di uno spazio vuoto.\",\"Controlla se l'editor deve chiudere automaticamente le citazioni dopo che sono state aperte.\",\"L'editor non inserir\\xE0 automaticamente il rientro.\",\"L'editor manterr\\xE0 il rientro della riga corrente.\",\"L'editor manterr\\xE0 il rientro della riga corrente e rispetter\\xE0 le parentesi definite dalla lingua.\",\"L'editor manterr\\xE0 il rientro della riga corrente, rispetter\\xE0 le parentesi definite dalla lingua e richiamer\\xE0 le regole onEnterRules speciali definite dalle lingue.\",\"L'editor manterr\\xE0 il rientro della riga corrente, rispetter\\xE0 le parentesi definite dalla lingua, richiamer\\xE0 le regole onEnterRules speciali definite dalle lingue e rispetter\\xE0 le regole indentationRules definite dalle lingue.\",\"Controlla se l'editor deve regolare automaticamente il rientro quando gli utenti digitano, incollano, spostano le righe o applicano il rientro.\",\"Usa le configurazioni del linguaggio per determinare quando racchiudere automaticamente le selezioni tra parentesi quadre o virgolette.\",\"Racchiude la selezione tra virgolette ma non tra parentesi quadre.\",\"Racchiude la selezione tra parentesi quadre ma non tra virgolette.\",\"Controlla se l'editor deve racchiudere automaticamente le selezioni quando si digitano virgolette o parentesi quadre.\",\"Emula il comportamento di selezione dei caratteri di tabulazione quando si usano gli spazi per il rientro. La selezione verr\\xE0 applicata alle tabulazioni.\",\"Controlla se l'editor visualizza CodeLens.\",\"Controlla la famiglia di caratteri per CodeLens.\",\"Controlla le dimensioni del carattere in pixel per CodeLens. Quando \\xE8 impostata su 0, viene usato il 90% del valore di '#editor.fontSize#'.\",\"Controlla se l'editor deve eseguire il rendering della selezione colori e degli elementi Decorator di tipo colore inline.\",\"Fare in modo che la selezione colori venga visualizzata sia al clic che al passaggio del mouse sull\\u2019elemento Decorator colore\",\"Fare in modo che la selezione colori venga visualizzata al passaggio del mouse sull'elemento Decorator colore\",\"Fare in modo che la selezione colori venga visualizzata quando si fa clic sull'elemento Decorator colore\",\"Controlla la condizione in modo che venga visualizzata la selezione colori da un elemento Decorator colore.\",\"Controlla il numero massimo di elementi Decorator a colori di cui \\xE8 possibile eseguire il rendering in un editor contemporaneamente.\",\"Abilita l'uso di mouse e tasti per la selezione delle colonne.\",\"Controlla se l'evidenziazione della sintassi deve essere copiata negli Appunti.\",\"Controllo dello stile di animazione del cursore.\",\"L'animazione con cursore arrotondato \\xE8 disabilitata.\",\"L'animazione con cursore uniforme \\xE8 abilitata solo quando l'utente sposta il cursore con un movimento esplicito.\",\"L'animazione con cursore uniforme \\xE8 sempre abilitata.\",\"Controlla se l'animazione del cursore con anti-aliasing deve essere abilitata.\",\"Controlla lo stile del cursore in modalit\\xE0 di inserimento input.\",\"Controllare il numero minimo di linee iniziali visibili (minimo 0) e finali (minimo 1) visibili che circondano il cursore. Noto come 'scrollOff' o 'scrollOffset' in altri editor.\",\"`cursorSurroundingLines` viene applicato solo quando \\xE8 attivato tramite la tastiera o l'API.\",\"`cursorSurroundingLines` viene sempre applicato.\",\"Controlla quando deve essere applicato '#editor.cursorSurroundingLines#'.\",\"Controlla la larghezza del cursore quando `#editor.cursorStyle#` \\xE8 impostato su `line`.\",\"Controlla se l'editor deve consentire lo spostamento di selezioni tramite trascinamento della selezione.\",\"Usare un nuovo metodo di rendering con svgs.\",\"Usare un nuovo metodo di rendering con tipi di caratteri.\",\"Usare il metodo di rendering stabile.\",\"Controlla se viene eseguito il rendering degli spazi vuoti con un nuovo metodo sperimentale.\",\"Moltiplicatore della velocit\\xE0 di scorrimento quando si preme `Alt`.\",\"Controlla se per l'editor \\xE8 abilitata la riduzione del codice.\",\"Usa una strategia di riduzione specifica della lingua, se disponibile; altrimenti ne usa una basata sui rientri.\",\"Usa la strategia di riduzione basata sui rientri.\",\"Controlla la strategia per il calcolo degli intervalli di riduzione.\",\"Controlla se l'editor deve evidenziare gli intervalli con riduzione del codice.\",\"Controlla se l'editor comprime automaticamente gli intervalli di importazione.\",\"Numero massimo di aree riducibili. Se si aumenta questo valore, l'editor potrebbe diventare meno reattivo quando l'origine corrente contiene un numero elevato di aree riducibili.\",\"Controlla se, facendo clic sul contenuto vuoto dopo una riga ridotta, la riga viene espansa.\",\"Controlla la famiglia di caratteri.\",\"Controlla se l'editor deve formattare automaticamente il contenuto incollato. Deve essere disponibile un formattatore che deve essere in grado di formattare un intervallo in un documento.\",\"Controlla se l'editor deve formattare automaticamente la riga dopo la digitazione.\",\"Controlla se l'editor deve eseguire il rendering del margine verticale del glifo. Il margine del glifo viene usato principalmente per il debug.\",\"Controlla se il cursore deve essere nascosto nel righello delle annotazioni.\",\"Controlla la spaziatura tra le lettere in pixel.\",\"Controlla se la modifica collegata \\xE8 abilitata per l'editor. A seconda del linguaggio, i simboli correlati, ad esempio i tag HTML, vengono aggiornati durante la modifica.\",\"Controlla se l'editor deve individuare i collegamenti e renderli selezionabili.\",\"Evidenzia le parentesi graffe corrispondenti.\",\"Moltiplicatore da usare sui valori `deltaX` e `deltaY` degli eventi di scorrimento della rotellina del mouse.\",\"Ingrandisce il carattere dell\\u2019editor quando si usa la rotella del mouse e si tiene premuto `Cmd`.\",\"Ingrandisce il carattere dell'editor quando si usa la rotellina del mouse e si tiene premuto 'CTRL'.\",\"Unire i cursori multipli se sovrapposti.\",\"Rappresenta il tasto 'Control' in Windows e Linux e il tasto 'Comando' in macOS.\",\"Rappresenta il tasto 'Alt' in Windows e Linux e il tasto 'Opzione' in macOS.\",\"Modificatore da usare per aggiungere pi\\xF9 cursori con il mouse. I movimenti del mouse Vai alla definizione e Apri collegamento si adatteranno in modo da non entrare in conflitto con il [modificatore di selezione multipla](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).\",\"Ogni cursore incolla una singola riga del testo.\",\"Ogni cursore incolla il testo completo.\",\"Controlla l'operazione Incolla quando il conteggio delle righe del testo incollato corrisponde al conteggio dei cursori.\",\"Controlla il numero massimo di cursori che possono essere presenti in un editor attivo contemporaneamente.\",\"Non evidenzia le occorrenze.\",\"Evidenzia le occorrenze solo nel file corrente.\",\"Sperimentale: evidenzia le occorrenze in tutti i file aperti validi.\",\"Controlla se le occorrenze devono essere evidenziate nei file aperti.\",\"Controlla se deve essere disegnato un bordo intorno al righello delle annotazioni.\",\"Sposta lo stato attivo sull'albero quando si apre l'anteprima\",\"Sposta lo stato attivo sull'editor quando si apre l'anteprima\",\"Controlla se spostare lo stato attivo sull'editor inline o sull'albero nel widget di anteprima.\",\"Controlla se il movimento del mouse Vai alla definizione consente sempre di aprire il widget di anteprima.\",\"Controlla il ritardo in millisecondi dopo il quale verranno visualizzati i suggerimenti rapidi.\",\"Controlla se l'editor viene rinominato automaticamente in base al tipo.\",\"Deprecata. In alternativa, usare `editor.linkedEditing`.\",\"Controlla se l'editor deve eseguire il rendering dei caratteri di controllo.\",\"Esegue il rendering dell'ultimo numero di riga quando il file termina con un carattere di nuova riga.\",\"Mette in evidenza sia la barra di navigazione sia la riga corrente.\",\"Controlla in che modo l'editor deve eseguire il rendering dell'evidenziazione di riga corrente.\",\"Controlla se l'editor deve eseguire il rendering dell'evidenziazione della riga corrente solo quando l'editor ha lo stato attivo.\",\"Esegue il rendering dei caratteri di spazio vuoto ad eccezione dei singoli spazi tra le parole.\",\"Esegui il rendering dei caratteri di spazio vuoto solo nel testo selezionato.\",\"Esegui il rendering solo dei caratteri di spazio vuoto finali.\",\"Controlla in che modo l'editor deve eseguire il rendering dei caratteri di spazio vuoto.\",\"Controlla se le selezioni devono avere gli angoli arrotondati.\",\"Controlla il numero di caratteri aggiuntivi oltre i quali l'editor scorrer\\xE0 orizzontalmente.\",\"Controlla se l'editor scorrer\\xE0 oltre l'ultima riga.\",\"Scorre solo lungo l'asse predominante durante lo scorrimento verticale e orizzontale simultaneo. Impedisce la deviazione orizzontale quando si scorre in verticale su un trackpad.\",\"Controlla se gli appunti primari di Linux devono essere supportati.\",\"Controlla se l'editor deve evidenziare gli elementi corrispondenti simili alla selezione.\",\"Mostra sempre i comandi di riduzione.\",\"Non visualizzare mai i controlli di riduzione e diminuire le dimensioni della barra di navigazione.\",\"Mostra i comandi di riduzione solo quando il mouse \\xE8 posizionato sul margine della barra di scorrimento.\",\"Controlla se i controlli di riduzione sul margine della barra di scorrimento vengono visualizzati.\",\"Controllo dissolvenza del codice inutilizzato.\",\"Controlla le variabili deprecate barrate.\",\"Visualizza i suggerimenti del frammento prima degli altri suggerimenti.\",\"Visualizza i suggerimenti del frammento dopo gli altri suggerimenti.\",\"Visualizza i suggerimenti del frammento insieme agli altri suggerimenti.\",\"Non mostrare i suggerimenti del frammento.\",\"Controlla se i frammenti di codice sono visualizzati con altri suggerimenti e il modo in cui sono ordinati.\",\"Controlla se per lo scorrimento dell'editor verr\\xE0 usata un'animazione.\",\"Controlla se l'hint di accessibilit\\xE0 deve essere fornito agli utenti dell'utilit\\xE0 per la lettura dello schermo quando viene visualizzato un completamento inline.\",\"Dimensioni del carattere per il widget dei suggerimenti. Se impostato su {0}, viene usato il valore di {1}.\",\"Altezza della riga per il widget dei suggerimenti. Se impostato su {0}, viene usato il valore {1}. Il valore minimo \\xE8 8.\",\"Controlla se i suggerimenti devono essere visualizzati automaticamente durante la digitazione dei caratteri trigger.\",\"Consente di selezionare sempre il primo suggerimento.\",\"Consente di selezionare suggerimenti recenti a meno che continuando a digitare non ne venga selezionato uno, ad esempio `console.| ->; console.log` perch\\xE9 `log` \\xE8 stato completato di recente.\",\"Consente di selezionare i suggerimenti in base a prefissi precedenti che hanno completato tali suggerimenti, ad esempio `co ->; console` e `con -> const`.\",\"Controlla la modalit\\xE0 di preselezione dei suggerimenti durante la visualizzazione dell'elenco dei suggerimenti.\",\"La funzionalit\\xE0 di completamento con tasto TAB inserir\\xE0 il migliore suggerimento alla pressione del tasto TAB.\",\"Disabilita le funzionalit\\xE0 di completamento con tasto TAB.\",\"Completa i frammenti con il tasto TAB quando i rispettivi prefissi corrispondono. Funziona in modo ottimale quando 'quickSuggestions' non \\xE8 abilitato.\",\"Abilit\\xE0 la funzionalit\\xE0 di completamento con tasto TAB.\",\"I caratteri di terminazione di riga insoliti vengono rimossi automaticamente.\",\"I caratteri di terminazione di riga insoliti vengono ignorati.\",\"Prompt per i caratteri di terminazione di riga insoliti da rimuovere.\",\"Rimuovi caratteri di terminazione di riga insoliti che potrebbero causare problemi.\",\"Gli spazi e le tabulazioni vengono inseriti ed eliminati in allineamento con le tabulazioni.\",\"Usare la regola di interruzione di riga predefinita.\",\"Le interruzioni di parola non devono essere usate per il testo cinese/giapponese/coreano (CJK). Il comportamento del testo non CJK \\xE8 uguale a quello normale.\",\"Controlla le regole di interruzione delle parole usate per il testo cinese/giapponese/coreano (CJK).\",\"Caratteri che verranno usati come separatori di parola quando si eseguono operazioni o spostamenti correlati a parole.\",\"Il ritorno a capo automatico delle righe non viene mai applicato.\",\"Il ritorno a capo automatico delle righe viene applicato in corrispondenza della larghezza del viewport.\",\"Il ritorno a capo automatico delle righe viene applicato in corrispondenza di `#editor.wordWrapColumn#`.\",\"Il ritorno a capo automatico delle righe viene applicato in corrispondenza della larghezza minima del viewport e di `#editor.wordWrapColumn#`.\",\"Controlla il ritorno a capo automatico delle righe.\",\"Controlla la colonna per il ritorno a capo automatico dell'editor quando il valore di `#editor.wordWrap#` \\xE8 `wordWrapColumn` o `bounded`.\",\"Controllare se visualizzare le decorazioni colori incorporate usando il provider colori predefinito del documento\",\"Controlla se l'editor riceve le schede o le rinvia al workbench per lo spostamento.\",\"Colore di sfondo per l'evidenziazione della riga alla posizione del cursore.\",\"Colore di sfondo per il bordo intorno alla riga alla posizione del cursore.\",\"Colore di sfondo degli intervalli evidenziati, ad esempio dalle funzionalit\\xE0 Quick Open e Trova. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo del bordo intorno agli intervalli selezionati.\",\"Colore di sfondo del simbolo evidenziato, ad esempio per passare alla definizione o al simbolo successivo/precedente. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo del bordo intorno ai simboli selezionati.\",\"Colore del cursore dell'editor.\",\"Colore di sfondo del cursore editor. Permette di personalizzare il colore di un carattere quando sovrapposto da un blocco cursore.\",\"Il colore dei cursori dell'editor primario quando sono presenti pi\\xF9 cursori.\",\"Il colore di sfondo dei cursori dell'editor primario quando sono presenti pi\\xF9 cursori. Permette di personalizzare il colore di un carattere quando sovrapposto da un blocco cursore.\",\"Colore dei cursori dell'editor secondario quando sono presenti pi\\xF9 cursori.\",\"Il colore di sfondo dei cursori dell'editor secondario quando sono presenti pi\\xF9 cursori. Permette di personalizzare il colore di un carattere quando sovrapposto da un blocco cursore.\",\"Colore dei caratteri di spazio vuoto nell'editor.\",\"Colore dei numeri di riga dell'editor.\",\"Colore delle guide per i rientri dell'editor.\",\"'editorIndentGuide.background' \\xE8 deprecato. Usare 'editorIndentGuide.background1'.\",\"Colore delle guide di indentazione dell'editor attivo\",\"'editorIndentGuide.activeBackground' \\xE8 deprecato. Usare 'editorIndentGuide.activeBackground1'.\",\"Colore delle guide per i rientri dell'editor (1).\",\"Colore delle guide per i rientri dell'editor (2).\",\"Colore delle guide per i rientri dell'editor (3).\",\"Colore delle guide per i rientri dell'editor (4).\",\"Colore delle guide per i rientri dell'editor (5).\",\"Colore delle guide per i rientri dell'editor (6).\",\"Colore delle guide di indentazione dell'editor attivo (1).\",\"Colore delle guide di indentazione dell'editor attivo (2).\",\"Colore delle guide di indentazione dell'editor attivo (3).\",\"Colore delle guide di indentazione dell'editor attivo (4).\",\"Colore delle guide di indentazione dell'editor attivo (5).\",\"Colore delle guide di indentazione dell'editor attivo (6).\",\"Colore del numero di riga attivo dell'editor\",\"Id \\xE8 deprecato. In alternativa usare 'editorLineNumber.activeForeground'.\",\"Colore del numero di riga attivo dell'editor\",\"Colore della riga dell'editor finale quando editor.renderFinalNewline \\xE8 impostato su in grigio.\",\"Colore dei righelli dell'editor.\",\"Colore primo piano delle finestre di CodeLens dell'editor\",\"Colore di sfondo delle parentesi corrispondenti\",\"Colore delle caselle di parentesi corrispondenti\",\"Colore del bordo del righello delle annotazioni.\",\"Colore di sfondo del righello delle annotazioni dell'editor.\",\"Colore di sfondo della barra di navigazione dell'editor. La barra contiene i margini di glifo e i numeri di riga.\",\"Colore del bordo del codice sorgente non necessario (non usato) nell'editor.\",`Opacit\\xE0 del codice sorgente non necessario (non usato) nell'editor. Ad esempio, con \"#000000c0\" il rendering del codice verr\\xE0 eseguito con il 75% di opacit\\xE0. Per i temi a contrasto elevato, usare il colore del tema 'editorUnnecessaryCode.border' per sottolineare il codice non necessario invece di opacizzarlo.`,\"Colore del bordo del testo fantasma nell'Editor.\",\"Colore primo piano del testo fantasma nell'Editor.\",\"Colore di sfondo del testo fantasma nell'editor.\",\"Colore del marcatore del righello delle annotazioni per le evidenziazioni degli intervalli. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del marcatore del righello delle annotazioni per gli errori.\",\"Colore del marcatore del righello delle annotazioni per gli avvisi.\",\"Colore del marcatore del righello delle annotazioni per i messaggi di tipo informativo.\",\"Colore primo piano delle parentesi quadre (1). Richiede l'abilitazione della colorazione delle coppie di parentesi quadre.\",\"Colore primo piano delle parentesi quadre (2). Richiede l'abilitazione della colorazione delle coppie di parentesi quadre.\",\"Colore primo piano delle parentesi quadre (3). Richiede l'abilitazione della colorazione delle coppie di parentesi quadre.\",\"Colore primo piano delle parentesi quadre (4). Richiede l'abilitazione della colorazione delle coppie di parentesi quadre.\",\"Colore primo piano delle parentesi quadre (5). Richiede l'abilitazione della colorazione delle coppie di parentesi quadre.\",\"Colore primo piano delle parentesi quadre (6). Richiede l'abilitazione della colorazione delle coppie di parentesi quadre.\",\"Colore di primo piano delle parentesi impreviste.\",\"Colore di sfondo delle guide per coppie di parentesi inattive (1). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi inattive (2). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi inattive (3). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi inattive (4). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi inattive (5). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi inattive (6). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi attive (1). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi attive (2). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi attive (3). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi attive (4). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi attive (5). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore di sfondo delle guide per coppie di parentesi attive (6). Richiede l'abilitazione delle guide per coppie di parentesi.\",\"Colore del bordo utilizzato per evidenziare i caratteri Unicode.\",\"Colore di sfondo usato per evidenziare i caratteri Unicode.\",\"Indica se il testo dell'editor ha lo stato attivo (il cursore lampeggia)\",\"Indica se l'editor o un widget dell'editor ha lo stato attivo (ad esempio, lo stato attivo si trova nel widget di ricerca)\",\"Indica se un editor o un input RTF ha lo stato attivo (il cursore lampeggia)\",\"Indica se l'editor \\xE8 di sola lettura\",\"Indica se il contesto \\xE8 un editor diff\",\"Indica se il contesto \\xE8 un editor diff incorporato\",null,\"Indica se tutti i file nell'editor con pi\\xF9 differenze sono compressi\",\"Indica se l'editor diff ha delle modifiche\",\"Indica se un blocco di codice spostato \\xE8 selezionato per il confronto\",\"Indica se il visualizzatore differenze accessibile \\xE8 visibile\",\"Indica se viene raggiunto il punto di interruzione inline side-by-side per il rendering dell'editor diff\",\"Indica se la modalit\\xE0 inline \\xE8 attiva\",\"Indica se la modifica \\xE8 scrivibile nell'editor diff\",\"Indica se la modifica \\xE8 scrivibile nell'editor diff\",\"L'URI del documento originale\",\"L'URI del documento modificato\",\"Indica se `editor.columnSelection` \\xE8 abilitato\",\"Indica se per l'editor esiste testo selezionato\",\"Indica se per l'editor esistono pi\\xF9 selezioni\",\"Indica se premendo `TAB`, lo stato attivo verr\\xE0 spostato all'esterno dell'editor\",\"Indica se il passaggio del puntatore nell'editor \\xE8 visibile\",\"Indica se l'area sensibile al passaggio del mouse dell'edito \\xE8 attivata\",\"Indica se lo scorrimento permanente \\xE8 attivo\",\"Indica se lo scorrimento permanente \\xE8 visibile\",\"Indicare se la selezione colori autonoma \\xE8 visibile\",\"Indicare se la selezione colori autonoma \\xE8 evidenziata\",\"Indica se l'editor fa parte di un editor pi\\xF9 esteso (ad esempio notebook)\",\"Identificatore lingua dell'editor\",\"Indica se per l'editor esiste un provider di voci di completamento\",\"Indica se per l'editor esiste un provider di azioni codice\",\"Indica se per l'editor esiste un provider di CodeLens\",\"Indica se per l'editor esiste un provider di definizioni\",\"Indica se per l'editor esiste un provider di dichiarazioni\",\"Indica se per l'editor esiste un provider di implementazioni\",\"Indica se per l'editor esiste un provider di definizioni di tipo\",\"Indica se per l'editor esiste un provider di passaggi del mouse\",\"Indica se per l'editor esiste un provider di evidenziazione documenti\",\"Indica se per l'editor esiste un provider di simboli di documenti\",\"Indica se per l'editor esiste un provider di riferimenti\",\"Indica se per l'editor esiste un provider di ridenominazione\",\"Indica se per l'editor esiste un provider della guida per la firma\",\"Indica se per l'editor esiste un provider di suggerimenti inline\",\"Indica se per l'editor esiste un provider di formattazione documenti\",\"Indica se per l'editor esiste un provider di formattazione di selezioni documento\",\"Indica se per l'editor esistono pi\\xF9 provider di formattazione documenti\",\"Indica se per l'editor esistono pi\\xF9 provider di formattazione di selezioni documento\",\"matrice\",\"valore booleano\",\"classe\",\"costante\",\"costruttore\",\"enumerazione\",\"membro di enumerazione\",\"evento\",\"campo\",\"file\",\"funzione\",\"interfaccia\",\"chiave\",\"metodo\",\"modulo\",\"spazio dei nomi\",\"Null\",\"numero\",\"oggetto\",\"operatore\",\"pacchetto\",\"propriet\\xE0\",\"stringa\",\"struct\",\"parametro di tipo\",\"variabile\",\"{0} ({1})\",\"Testo normale\",\"Digitazione\",\"Sviluppatore: Controlla token\",\"Vai a Riga/Colonna...\",\"Mostra tutti i provider di accesso rapido\",\"Riquadro comandi\",\"Mostra ed esegui comandi\",\"Vai al simbolo...\",\"Vai al simbolo per categoria...\",\"Contenuto editor\",\"Attiva/disattiva tema a contrasto elevato\",\"Effettuate {0} modifiche in {1} file\",\"Mostra di pi\\xF9 ({0})\",\"{0} caratteri\",\"Ancoraggio della selezione\",\"Ancoraggio impostato alla posizione {0}:{1}\",\"Imposta ancoraggio della selezione\",\"Vai ad ancoraggio della selezione\",\"Seleziona da ancoraggio a cursore\",\"Annulla ancoraggio della selezione\",\"Colore del marcatore del righello delle annotazioni per la corrispondenza delle parentesi.\",\"Vai alla parentesi quadra\",\"Seleziona fino alla parentesi\",\"Rimuovi parentesi quadre\",\"Vai alla parentesi &&quadra\",\"Selezionare il testo all'interno includendo le parentesi o le parentesi graffe\",\"Sposta testo selezionato a sinistra\",\"Sposta testo selezionato a destra\",\"Trasponi lettere\",\"&&Taglia\",\"Taglia\",\"Taglia\",\"Taglia\",\"&&Copia\",\"Copia\",\"Copia\",\"Copia\",\"&&Incolla\",\"Incolla\",\"Incolla\",\"Incolla\",\"Copia con evidenziazione sintassi\",\"Copia con nome\",\"Copia con nome\",\"Condividi\",\"Condividi\",\"Si \\xE8 verificato un errore sconosciuto durante l'applicazione dell'azione del codice\",\"Tipo dell'azione codice da eseguire.\",\"Controlla quando vengono applicate le azioni restituite.\",\"Applica sempre la prima azione codice restituita.\",\"Applica la prima azione codice restituita se \\xE8 l'unica.\",\"Non applicare le azioni codice restituite.\",\"Controlla se devono essere restituite solo le azioni codice preferite.\",\"Correzione rapida...\",\"Azioni codice non disponibili\",\"Non sono disponibili azioni codice preferite per '{0}'\",\"Non sono disponibili azioni codice per '{0}'\",\"Non sono disponibili azioni codice preferite\",\"Azioni codice non disponibili\",\"Effettua refactoring...\",\"Non sono disponibili refactoring preferiti per '{0}'\",\"Non sono disponibili refactoring per '{0}'\",\"Non sono disponibili refactoring preferiti\",\"Refactoring non disponibili\",\"Azione origine...\",\"Non sono disponibili azioni origine preferite per '{0}'\",\"Non sono disponibili azioni origine per '{0}'\",\"Non sono disponibili azioni origine preferite\",\"Azioni origine non disponibili\",\"Organizza import\",\"Azioni di organizzazione Imports non disponibili\",\"Correggi tutto\",\"Non \\xE8 disponibile alcuna azione Correggi tutto\",\"Correzione automatica...\",\"Non sono disponibili correzioni automatiche\",\"Abilita/disabilita la visualizzazione delle intestazioni gruppo nel menu Azione codice.\",\"Abilita/disabilita la visualizzazione della correzione rapida pi\\xF9 vicino all'interno di una riga quando non \\xE8 attualmente in una diagnostica.\",\"Abilitare l'attivazione {0} quando {1} \\xE8 impostato su {2}. Le azioni codice devono essere impostate su {3} per essere attivate per le modifiche della finestra e dello stato attivo.\",\"Contesto: {0} alla riga {1} e alla colonna {2}.\",\"Nascondi elementi disabilitati\",\"Mostra elementi disabilitati\",\"Altre azioni...\",\"Correzione rapida\",\"Estrai\",\"Inline\",\"Riscrivi\",\"Sposta\",\"Racchiudi tra\",\"Azione di origine\",\"Icona che genera il menu delle azioni codice dalla barra di navigazione quando non \\xE8 presente spazio nell'editor.\",\"Icona che genera il menu delle azioni codice dalla barra di navigazione quando non c'\\xE8 spazio nell'editor ed \\xE8 disponibile una rapida.\",\"Icona che genera il menu delle azioni codice dalla barra di navigazione quando non c'\\xE8 spazio nell'editor ed \\xE8 disponibile una correzione con l'intelligenza artificiale.\",\"Icona che genera il menu delle azioni codice dalla barra di navigazione quando non c'\\xE8 spazio nell'editor e sono disponibili una correzione con l'intelligenza artificiale e una correzione rapida.\",\"Icona che genera il menu delle azioni codice dalla barra di navigazione quando non c'\\xE8 spazio nell'editor e sono disponibili una correzione con l'intelligenza artificiale e una correzione rapida.\",\"Esegui: {0}\",\"Mostra azioni codice. Correzione rapida preferita disponibile ({0})\",\"Mostra Azioni codice ({0})\",\"Mostra Azioni codice\",\"Mostra comandi di CodeLens per la riga corrente\",\"Selezionare un comando\",null,null,null,null,null,null,null,null,null,\"Attiva/disattiva commento per la riga\",\"Attiva/Disattiva commento per la &&riga\",\"Aggiungi commento per la riga\",\"Rimuovi commento per la riga\",\"Attiva/Disattiva commento per il blocco\",\"Attiva/Disattiva commento per il &&blocco\",\"Minimappa\",\"Esegui rendering dei caratteri\",\"Dimensioni verticali\",\"Proporzionale\",\"Riempimento\",\"Adatta\",\"Dispositivo di scorrimento\",\"Passaggio del mouse\",\"Sempre\",\"Mostra il menu di scelta rapida editor\",\"Cursore - Annulla\",\"Cursore - Ripeti\",`Il tipo di modifica di incollaggio con cui provare l'incollaggio.\\r\nEsistono pi\\xF9 modifiche per questo tipo; l'editor mostrer\\xE0 una selezione. Se non esistono modifiche di questo tipo, l'editor mostrer\\xE0 un messaggio di errore.`,\"Incolla come...\",\"Incolla come testo\",\"Indica se il widget dell'operazione Incolla viene visualizzato\",\"Mostra opzioni operazione Incolla...\",\"Non \\xE8 stata trovata alcuna modifica incolla per '{0}'\",\"Risoluzione della modifica incolla. Fare clic per annullare\",\"Esecuzione dei gestori incolla. Fare clic per annullare ed eseguire incolla di base\",\"Seleziona azione Incolla\",\"Esecuzione dei gestori Incolla in corso\",\"Inserire testo normale\",\"Inserire l'URL\",\"Inserire l'Uri\",\"Inserire percorsi\",\"Inserire percorso\",\"Inserire percorsi relativi\",\"Inserire percorso relativo\",\"Inserisci HTML\",null,\"Indica se il widget di rilascio viene visualizzato\",\"Mostra opzioni di rilascio...\",\"Esecuzione dei gestori di rilascio. Fare clic per annullare\",`Errore durante la risoluzione della modifica '{0}':\\r\n{1}`,`Errore durante l'applicazione della modifica '{0}':\\r\n{1}`,\"Indica se l'editor esegue un'operazione annullabile, ad esempio 'Anteprima riferimenti'\",\"Il file \\xE8 troppo grande per eseguire un'operazione di sostituzione.\",\"Trova\",\"&&Trova\",\"Trova con gli argomenti\",\"Trova con selezione\",\"Trova successivo\",\"Trova precedente\",\"Andare a Corrispondenza...\",\"Nessuna corrispondenza. Provare a cercare qualcos'altro.\",\"Digitare un numero per passare a una corrispondenza specifica (tra 1 e {0})\",\"Digitare un numero compreso tra 1 e {0}\",\"Digitare un numero compreso tra 1 e {0}\",\"Trova selezione successiva\",\"Trova selezione precedente\",\"Sostituisci\",\"&&Sostituisci\",\"Icona per indicare che il widget di ricerca dell'editor \\xE8 compresso.\",\"Icona per indicare che il widget di ricerca dell'editor \\xE8 espanso.\",\"Icona per 'Trova nella selezione' nel widget di ricerca dell'editor.\",\"Icona per 'Sostituisci' nel widget di ricerca dell'editor.\",\"Icona per 'Sostituisci tutto' nel widget di ricerca dell'editor.\",\"Icona per 'Trova precedente' nel widget di ricerca dell'editor.\",\"Icona per 'Trova successivo' nel widget di ricerca dell'editor.\",\"Trova/Sostituisci\",\"Trova\",\"Trova\",\"Risultato precedente\",\"Risultato successivo\",\"Trova nella selezione\",\"Chiudi\",\"Sostituisci\",\"Sostituisci\",\"Sostituisci\",\"Sostituisci tutto\",\"Attiva/Disattiva sostituzione\",\"Solo i primi {0} risultati vengono evidenziati, ma tutte le operazioni di ricerca funzionano su tutto il testo.\",\"{0} di {1}\",\"Nessun risultato\",\"{0} trovato\",\"{0} trovati per '{1}'\",\"{0} trovati per '{1}' alla posizione {2}\",\"{0} trovati per '{1}'\",\"Il tasto di scelta rapida CTRL+INVIO ora consente di inserire l'interruzione di linea invece di sostituire tutto. Per eseguire l'override di questo comportamento, \\xE8 possibile modificare il tasto di scelta rapida per editor.action.replaceAll.\",\"Espandi\",\"Espandi in modo ricorsivo\",\"Riduci\",\"Attiva/Disattiva riduzione\",\"Riduci in modo ricorsivo\",\"Attiva/disattiva riduzione in modo ricorsivo\",\"Riduci tutti i blocchi commento\",\"Riduci tutte le regioni\",\"Espandi tutte le regioni\",\"Riduci tutto tranne selezionato\",\"Espandi tutto tranne selezionato\",\"Riduci tutto\",\"Espandi tutto\",\"Vai alla cartella principale\",\"Passa all'intervallo di riduzione precedente\",\"Passa all'intervallo di riduzione successivo\",\"Creare intervallo di riduzione dalla selezione\",\"Rimuovi intervalli di riduzione manuale\",\"Livello riduzione {0}\",\"Colore di sfondo degli intervalli con riduzione. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del testo compresso dopo la prima riga di un intervallo ridotto.\",\"Colore del controllo di riduzione nella barra di navigazione dell'editor.\",\"Icona per gli intervalli espansi nel margine del glifo dell'editor.\",\"Icona per gli intervalli compressi nel margine del glifo dell'editor.\",\"Icona per gli intervalli compressi nel margine del glifo dell'editor.\",\"Icona per gli intervalli espansi manualmente nel margine del glifo dell'editor.\",\"Fare clic per espandere l\\u2019intervallo.\",\"Fare clic per comprimere l'intervallo.\",\"Aumenta le dimensioni del carattere dell'editor\",\"Riduci le dimensioni del carattere dell'editor\",\"Reimposta dimensioni carattere editor\",\"Formatta documento\",\"Formatta selezione\",\"Vai al problema successivo (Errore, Avviso, Informazioni)\",\"Icona per il marcatore Vai a successivo.\",\"Vai al problema precedente (Errore, Avviso, Informazioni)\",\"Icona per il marcatore Vai a precedente.\",\"Vai al problema successivo nei file (Errore, Avviso, Informazioni)\",\"&&Problema successivo\",\"Vai al problema precedente nei file (Errore, Avviso, Informazioni)\",\"&&Problema precedente\",\"Errore\",\"Avviso\",\"Info\",\"Suggerimento\",\"{0} a {1}. \",\"{0} di {1} problemi\",\"{0} di {1} problema\",\"Colore per gli errori del widget di spostamento tra marcatori dell'editor.\",\"Intestazione errore per lo sfondo del widget di spostamento tra marcatori dell'editor.\",\"Colore per gli avvisi del widget di spostamento tra marcatori dell'editor.\",\"Intestazione avviso per lo sfondo del widget di spostamento tra marcatori dell'editor.\",\"Colore delle informazioni del widget di navigazione marcatori dell'editor.\",\"Intestazione informativa per lo sfondo del widget di spostamento tra marcatori dell'editor.\",\"Sfondo del widget di spostamento tra marcatori dell'editor.\",\"Anteprima\",\"Definizioni\",\"Non \\xE8 stata trovata alcuna definizione per '{0}'\",\"Non \\xE8 stata trovata alcuna definizione\",\"Vai alla &&definizione\",\"Dichiarazioni\",\"Non \\xE8 stata trovata alcuna dichiarazione per '{0}'\",\"Dichiarazione non trovata\",\"Vai a &&dichiarazione\",\"Non \\xE8 stata trovata alcuna dichiarazione per '{0}'\",\"Dichiarazione non trovata\",\"Definizioni di tipo\",\"Non sono state trovate definizioni di tipi per '{0}'\",\"Non sono state trovate definizioni di tipi\",\"Vai alla &&definizione di tipo\",\"Implementazioni\",\"Non sono state trovate implementazioni per '{0}'\",\"Non sono state trovate implementazioni\",\"Vai a &&Implementazioni\",\"Non sono stati trovati riferimenti per '{0}'\",\"Non sono stati trovati riferimenti\",\"Vai a &&riferimenti\",\"Riferimenti\",\"Riferimenti\",\"Posizioni\",\"Nessun risultato per '{0}'\",\"Riferimenti\",\"Vai alla definizione\",\"Apri definizione lateralmente\",\"Visualizza in anteprima la definizione\",\"Vai a dichiarazione\",\"Anteprima dichiarazione\",\"Vai alla definizione di tipo\",\"Anteprima definizione di tipo\",\"Vai a implementazioni\",\"Visualizza implementazioni\",\"Vai a Riferimenti\",\"Anteprima riferimenti\",\"Vai a qualsiasi simbolo\",\"Fare clic per visualizzare {0} definizioni.\",\"Indica se l'anteprima riferimenti \\xE8 visibile, come 'Visualizza in anteprima riferimenti' o 'Visualizza in anteprima la definizione'\",\"Caricamento...\",\"{0} ({1})\",\"{0} riferimenti\",\"{0} riferimento\",\"Riferimenti\",\"anteprima non disponibile\",\"Nessun risultato\",\"Riferimenti\",\"in {0} alla riga {1} della colonna {2}\",\"{0} in {1} alla riga {2} della colonna {3}\",\"1 simbolo in {0}, percorso completo {1}\",\"{0} simboli in {1}, percorso completo {2}\",\"Non sono stati trovati risultati\",\"Trovato 1 simbolo in {0}\",\"Trovati {0} simboli in {1}\",\"Trovati {0} simboli in {1} file\",\"Indica se sono presenti posizioni dei simboli a cui \\xE8 possibile passare solo tramite la tastiera.\",\"Simbolo {0} di {1}, {2} per il successivo\",\"Simbolo {0} di {1}\",\"Aumenta livello di dettaglio al passaggio del mouse\",\"Riduci livello di dettaglio al passaggio del mouse\",\"Mostra o sposta lo stato attivo al passaggio del mouse\",\"Il passaggio del mouse non attiver\\xE0 automaticamente lo stato attivo.\",\"Il passaggio del mouse attiver\\xE0 lo stato attivo solo se \\xE8 gi\\xE0 visibile.\",\"Il passaggio del mouse assume automaticamente lo stato attivo quando viene visualizzato.\",\"Mostra anteprima definizione al passaggio del mouse\",\"Scorri verso l'alto al passaggio del mouse\",\"Scorri verso il basso al passaggio del mouse\",\"Scorri a sinistra al passaggio del mouse\",\"Scorri a destra al passaggio del mouse\",\"Vai alla pagina precedente al passaggio del mouse\",\"Vai alla pagina successiva al passaggio del mouse\",\"Vai in alto al passaggio del mouse\",\"Vai in basso al passaggio del mouse\",\"Mostra o sposta lo stato attivo sull'editor al passaggio del mouse, che mostra documentazione, riferimenti e altro contenuto per un simbolo nella posizione corrente del cursore.\",\"Mostra l'anteprima della definizione nell'editor al passaggio del mouse.\",\"Scorri verso l'alto l'editor al passaggio del mouse.\",\"Scorri in basso nell'editor al passaggio del mouse.\",\"Scorri a sinistra dell'editor al passaggio del mouse.\",\"Scorri a destra dell'editor al passaggio del mouse.\",\"Vai alla pagina precedente dell'editor al passaggio del mouse.\",\"Vai alla pagina successiva dell'editor al passaggio del mouse.\",\"Vai alla parte superiore dell'editor al passaggio del mouse.\",\"Vai alla parte inferiore dell'editor al passaggio del mouse.\",\"Icona per aumentare il livello di dettaglio al passaggio del mouse.\",\"Icona per ridurre il livello di dettaglio al passaggio del mouse.\",\"Caricamento...\",\"Rendering sospeso per una linea lunga per motivi di prestazioni. Pu\\xF2 essere configurato tramite 'editor.stopRenderingLineAfter'.\",\"Per motivi di prestazioni la tokenizzazione viene ignorata per le righe lunghe. \\xC8 possibile effettuare questa configurazione tramite `editor.maxTokenizationLineLength`.\",\"Aumenta livello di dettaglio al passaggio del mouse ({0})\",\"Aumenta livello di dettaglio al passaggio del mouse\",\"Riduci livello di dettaglio al passaggio del mouse ({0})\",\"Riduci livello di dettaglio al passaggio del mouse\",\"Visualizza problema\",\"Non sono disponibili correzioni rapide\",\"Verifica disponibilit\\xE0 correzioni rapide...\",\"Non sono disponibili correzioni rapide\",\"Correzione rapida...\",\"Converti rientro in spazi\",\"Converti rientro in tabulazioni\",\"Dimensione tabulazione configurata\",\"Dimensioni predefinite della scheda\",\"Dimensioni della scheda corrente\",\"Seleziona dimensione tabulazione per il file corrente\",\"Imposta rientro con tabulazioni\",\"Imposta rientro con spazi\",\"Modifica dimensioni visualizzazione scheda\",\"Rileva rientro dal contenuto\",\"Imposta nuovo rientro per righe\",\"Re-Indenta le Linee Selezionate\",\"Converti il rientro della tabulazione in spazi.\",\"Converti il rientro degli spazi in tabulazioni.\",\"Usa il rientro con le tabulazioni.\",\"Usa il rientro con gli spazi.\",\"Modifica l'equivalente della dimensione dello spazio della scheda.\",\"Rilevare il rientro dal contenuto.\",\"Imposta nuovamente un rientro per le righe dell'editor.\",\"Imposta nuovamente un rientro per determinate righe dell'editor.\",\"Fare doppio clic per inserire\",\"CMD+clic\",\"CTRL+clic\",\"Opzione+clic\",\"ALT+clic\",\"Vai alla definizione ({0}), fai clic con il pulsante destro del mouse per altre informazioni\",\"Vai alla definizione ({0})\",\"Esegui il comando\",\"Mostrare suggerimento inline successivo\",\"Mostrare suggerimento inline precedente\",\"Attiva suggerimento inline\",\"Accettare suggerimento inline per la parola successiva\",\"Accetta parola\",\"Accetta la riga successiva del suggerimento in linea\",\"Accetta riga\",\"Accetta suggerimento inline\",\"Accetta\",\"Nascondi suggerimento inline\",\"Mostra sempre la barra degli strumenti\",\"Se \\xE8 visibile un suggerimento inline\",\"Se il suggerimento in linea inizia con spazi vuoti\",\"Indica se il suggerimento inline inizia con uno spazio vuoto minore di quello che verrebbe inserito dalla tabulazione\",\"Indica se i suggerimenti devono essere eliminati per il suggerimento corrente\",\"Ispezionarlo nella visualizzazione accessibile ({0})\",\"Suggerimento:\",\"Icona per visualizzare il suggerimento del parametro successivo.\",\"Icona per visualizzare il suggerimento del parametro precedente.\",\"{0} ({1})\",\"Indietro\",\"Avanti\",null,null,null,null,null,null,null,null,\"Sostituisci con il valore precedente\",\"Sostituisci con il valore successivo\",\"Espandere selezione riga\",\"Copia la riga in alto\",\"&&Copia la riga in alto\",\"Copia la riga in basso\",\"Co&&pia la riga in basso\",\"Duplica selezione\",\"&&Duplica selezione\",\"Sposta la riga in alto\",\"Sposta la riga in &&alto\",\"Sposta la riga in basso\",\"Sposta la riga in &&basso\",\"Ordinamento righe crescente\",\"Ordinamento righe decrescente\",\"Elimina righe duplicate\",\"Taglia spazio vuoto finale\",\"Elimina riga\",\"Imposta un rientro per la riga\",\"Riduci il rientro per la riga\",\"Inserisci la riga sopra\",\"Inserisci la riga sotto\",\"Elimina tutto a sinistra\",\"Elimina tutto a destra\",\"Unisci righe\",\"Trasponi caratteri intorno al cursore\",\"Converti in maiuscolo\",\"Converti in minuscolo\",\"Trasforma in Tutte Iniziali Maiuscole\",\"Trasforma in snake case\",\"Trasforma in caso Camel\",\"Trasforma in Pascal Case\",\"Trasformare in caso Kebab\",\"Avvia modifica collegata\",\"Colore di sfondo quando l'editor viene rinominato automaticamente in base al tipo.\",\"Non \\xE8 stato possibile aprire questo collegamento perch\\xE9 il formato non \\xE8 valido: {0}\",\"Non \\xE8 stato possibile aprire questo collegamento perch\\xE9 manca la destinazione.\",\"Esegui il comando\",\"Visita il collegamento\",\"CMD+clic\",\"CTRL+clic\",\"Opzione+clic\",\"ALT+clic\",\"Esegue il comando {0}\",\"Apri collegamento\",\"Indica se l'editor visualizza attualmente un messaggio inline\",\"Cursore aggiunto: {0}\",\"Cursori aggiunti: {0}\",\"Aggiungi cursore sopra\",\"&&Aggiungi cursore sopra\",\"Aggiungi cursore sotto\",\"A&&ggiungi cursore sotto\",\"Aggiungi cursori a fine riga\",\"Aggiungi c&&ursori a fine riga\",\"Aggiungi cursori alla fine\",\"Aggiungi cursori all'inizio\",\"Aggiungi selezione a risultato ricerca successivo\",\"Aggiungi &&occorrenza successiva\",\"Aggiungi selezione a risultato ricerca precedente\",\"Aggiungi occorrenza &&precedente\",\"Sposta ultima selezione a risultato ricerca successivo\",\"Sposta ultima selezione a risultato ricerca precedente\",\"Seleziona tutte le occorrenze del risultato ricerca\",\"Seleziona &&tutte le occorrenze\",\"Cambia tutte le occorrenze\",\"Attival cursore successivo\",\"Attiva il cursore successivo\",\"Cursore precedente stato attivo\",\"Imposta lo stato attivo sul cursore precedente\",\"Attiva i suggerimenti per i parametri\",\"Icona per visualizzare il suggerimento del parametro successivo.\",\"Icona per visualizzare il suggerimento del parametro precedente.\",\"{0}, suggerimento\",\"Colore di primo piano dell\\u2019articolo attivo nel suggerimento di parametro.\",\"Indica se l'editor di codice corrente \\xE8 incorporato nell'anteprima\",\"Chiudi\",\"Colore di sfondo dell'area del titolo della visualizzazione rapida.\",\"Colore del titolo della visualizzazione rapida.\",\"Colore delle informazioni del titolo della visualizzazione rapida.\",\"Colore dei bordi e della freccia della visualizzazione rapida.\",\"Colore di sfondo dell'elenco risultati della visualizzazione rapida.\",\"Colore primo piano dei nodi riga nell'elenco risultati della visualizzazione rapida.\",\"Colore primo piano dei nodi file nell'elenco risultati della visualizzazione rapida.\",\"Colore di sfondo della voce selezionata nell'elenco risultati della visualizzazione rapida.\",\"Colore primo piano della voce selezionata nell'elenco risultati della visualizzazione rapida.\",\"Colore di sfondo dell'editor di visualizzazioni rapide.\",\"Colore di sfondo della barra di navigazione nell'editor visualizzazione rapida.\",\"Colore di sfondo della barra di scorrimento permanente nell'editor visualizzazione rapida.\",\"Colore dell'evidenziazione delle corrispondenze nell'elenco risultati della visualizzazione rapida.\",\"Colore dell'evidenziazione delle corrispondenze nell'editor di visualizzazioni rapide.\",\"Bordo dell'evidenziazione delle corrispondenze nell'editor di visualizzazioni rapide.\",\"Colore primo piano del testo segnaposto nell'editor.\",\"Aprire prima un editor di testo per passare a una riga.\",\"Vai a riga {0} e carattere {1}.\",\"Vai alla riga {0}.\",\"Riga corrente: {0}, carattere: {1}. Digitare un numero di riga a cui passare compreso tra 1 e {2}.\",\"Riga corrente: {0}, Carattere: {1}. Digitare un numero di riga a cui passare.\",\"Per passare a un simbolo, aprire prima un editor di testo con informazioni sui simboli.\",\"L'editor di testo attivo non fornisce informazioni sui simboli.\",\"Non ci sono simboli dell'editor corrispondenti\",\"Non ci sono simboli dell'editor\",\"Apri lateralmente\",\"Apri in basso\",\"simboli ({0})\",\"propriet\\xE0 ({0})\",\"metodi ({0})\",\"funzioni ({0})\",\"costruttori ({0})\",\"variabili ({0})\",\"classi ({0})\",\"struct ({0})\",\"eventi ({0})\",\"operatori ({0})\",\"interfacce ({0})\",\"spazi dei nomi ({0})\",\"pacchetti ({0})\",\"parametri di tipo ({0})\",\"moduli ({0})\",\"propriet\\xE0 ({0})\",\"enumerazioni ({0})\",\"membri di enumerazione ({0})\",\"stringhe ({0})\",\"file ({0})\",\"matrici ({0})\",\"numeri ({0})\",\"valori booleani ({0})\",\"oggetti ({0})\",\"chiavi ({0})\",\"campi ({0})\",\"costanti ({0})\",\"Non \\xE8 possibile modificare nell'input di sola lettura\",\"Non \\xE8 possibile modificare nell'editor di sola lettura\",\"Nessun risultato.\",\"Si \\xE8 verificato un errore sconosciuto durante la risoluzione del percorso di ridenominazione\",\"Ridenominazione di '{0}' in '{1}'\",\"Ridenominazione di {0} in {1}\",\"Correttamente rinominato '{0}' in '{1}'. Sommario: {2}\",\"La ridenominazione non \\xE8 riuscita ad applicare le modifiche\",\"La ridenominazione non \\xE8 riuscita a calcolare le modifiche\",\"Rinomina simbolo\",\"Abilita/Disabilita l'opzione per visualizzare le modifiche in anteprima prima della ridenominazione\",\"Sposta lo stato attivo sul suggerimento di ridenominazione successiva\",\"Sposta lo stato attivo sul suggerimento di ridenominazione precedente\",\"Indica se il widget di ridenominazione input \\xE8 visibile\",\"Indica se il widget di ridenominazione input \\xE8 attivo\",\"{0} per rinominare, {1} per visualizzare in anteprima\",\"{0} suggerimenti di ridenominazione ricevuti\",\"Consente di rinominare l'input. Digitare il nuovo nome e premere INVIO per eseguire il commit.\",\"Genera nuovi suggerimenti per i nomi\",\"Annulla\",\"Espandi selezione\",\"Espan&&di selezione\",\"Riduci selezione\",\"&&Riduci selezione\",\"Indica se l'editor \\xE8 quello corrente nella modalit\\xE0 frammenti\",\"Indica se \\xE8 presente una tabulazione successiva in modalit\\xE0 frammenti\",\"Indica se \\xE8 presente una tabulazione precedente in modalit\\xE0 frammenti\",\"Vai al segnaposto successivo...\",\"Domenica\",\"Luned\\xEC\",\"Marted\\xEC\",\"Mercoled\\xEC\",\"Gioved\\xEC\",\"Venerd\\xEC\",\"Sabato\",\"Dom\",\"Lun\",\"Mar\",\"Mer\",\"Gio\",\"Ven\",\"Sab\",\"Gennaio\",\"Febbraio\",\"Marzo\",\"Aprile\",\"Mag\",\"Giugno\",\"Luglio\",\"Agosto\",\"Settembre\",\"Ottobre\",\"Novembre\",\"Dicembre\",\"Gen\",\"Feb\",\"Mar\",\"Apr\",\"Mag\",\"Giu\",\"Lug\",\"Ago\",\"Set\",\"Ott\",\"Nov\",\"Dic\",\"&&Attiva/disattiva scorrimento permanente dell'editor\",\"Scorrimento permanente\",\"&&Scorrimento permanente\",\"&&Sposta stato attivo su Scorrimento permanente\",\"Attiva/disattiva scorrimento permanente dell'editor\",\"Attiva/disattiva/abilita lo scorrimento permanente dell'editor che mostra gli ambiti annidati nella parte superiore del riquadro di visualizzazione\",\"Sposta lo stato attivo sullo scorrimento permanente dell'editor\",\"Seleziona la riga di scorrimento permanente precedente successiva dell'editor\",\"Seleziona la riga di scorrimento permanente precedente\",\"Vai alla linea di scorrimento permanente con stato attivo\",\"Selezionare l'editor\",\"Indica se i suggerimenti sono evidenziati\",\"Indica se i dettagli dei suggerimenti sono visibili\",\"Indica se sono presenti pi\\xF9 suggerimenti da cui scegliere\",\"Indica se l'inserimento del suggerimento corrente comporta una modifica oppure se completa gi\\xE0 l'input\",\"Indica se i suggerimenti vengono inseriti quando si preme INVIO\",\"Indica se il suggerimento corrente include il comportamento di inserimento e sostituzione\",\"Indica se il comportamento predefinito \\xE8 quello di inserimento o sostituzione\",\"Indica se il suggerimento corrente supporta la risoluzione di ulteriori dettagli\",\"In seguito all'accettazione di '{0}' sono state apportate altre {1} modifiche\",\"Attiva suggerimento\",\"Inserisci\",\"Inserisci\",\"Sostituisci\",\"Sostituisci\",\"Inserisci\",\"Mostra meno\",\"Mostra di pi\\xF9\",\"Reimposta le dimensioni del widget dei suggerimenti\",\"Colore di sfondo del widget dei suggerimenti.\",\"Colore del bordo del widget dei suggerimenti.\",\"Colore primo piano del widget dei suggerimenti.\",\"Colore primo piano della voce selezionata del widget dei suggerimenti.\",\"Colore primo piano dell\\u2019icona della voce selezionata del widget dei suggerimenti.\",\"Colore di sfondo della voce selezionata del widget dei suggerimenti.\",\"Colore delle evidenziazioni corrispondenze nel widget dei suggerimenti.\",\"Colore delle evidenziazioni corrispondenze nel widget dei suggerimenti quando lo stato attivo si trova su un elemento.\",\"Colore primo piano dello stato del widget dei suggerimenti.\",\"Caricamento...\",\"Non ci sono suggerimenti.\",\"Suggerisci\",\"{0} {1}, {2}\",\"{0} {1}\",\"{0}, {1}\",\"{0}, documenti: {1}\",\"Chiudi\",\"Caricamento...\",\"Icona per visualizzare altre informazioni nel widget dei suggerimenti.\",\"Altre informazioni\",\"Colore primo piano per i simboli di matrice. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli booleani. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di classe. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di colore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di costante. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di costruttore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di enumeratore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di membro di enumeratore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di evento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di campo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di file. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di cartella. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di funzione. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di interfaccia. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di chiave. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di parola chiave. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di metodo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di modulo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di spazio dei nomi. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli Null. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli numerici. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di oggetto. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di operatore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di pacchetto. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di propriet\\xE0. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di riferimento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di frammento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di stringa. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di struct. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di testo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di parametro di tipo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di unit\\xE0. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Colore primo piano per i simboli di variabile. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.\",\"Se si preme TAB, lo stato attivo verr\\xE0 spostato sull'elemento con stato attivabile successivo.\",\"Se si preme TAB, verr\\xE0 inserito il carattere di tabulazione\",\"Attiva/Disattiva l'uso di TAB per spostare lo stato attivo\",\"Determina se il tasto TAB sposta lo stato attivo intorno all'area di lavoro o inserisce il carattere di tabulazione nell'editor corrente. \\xC8 anche denominato intercettazione delle tabulazioni, spostamento tra le tabulazioni, o modalit\\xE0 focus delle tabulazioni.\",\"Sviluppatore: Forza retokenizzazione\",\"Icona visualizzata con un messaggio di avviso nell'editor delle estensioni.\",\"Questo documento contiene molti caratteri Unicode ASCII non di base\",\"Il documento contiene molti caratteri Unicode ambigui\",\"Questo documento contiene molti caratteri Unicode invisibili\",\"Configurare opzioni evidenziazione Unicode\",\"Il carattere {0} potrebbe essere confuso con il carattere ASCII {1}, che \\xE8 pi\\xF9 comune nel codice sorgente.\",\"Il carattere {0} potrebbe essere confuso con il carattere {1}, che \\xE8 pi\\xF9 comune nel codice sorgente.\",\"Il carattere {0} \\xE8 invisibile.\",\"Il carattere {0} non \\xE8 un carattere ASCII di base.\",\"Modificare impostazioni\",\"Disabilita evidenziazione nei commenti\",\"Disabilita l'evidenziazione dei caratteri nei commenti\",\"Disabilita evidenziazione nelle stringhe\",\"Disabilita l'evidenziazione dei caratteri nelle stringhe\",\"Disabilitare evidenziazione ambigua\",\"Disabilitare l'evidenziazione dei caratteri ambigui\",\"Disabilitare evidenziazione invisibile\",\"Disabilitare l'evidenziazione dei caratteri invisibili\",\"Disabilitare evidenziazione non ASCII\",\"Disabilitare l'evidenziazione di caratteri ASCII non di base\",\"Mostrare opzioni di esclusione\",\"Escludere {0} (carattere invisibile) dall'evidenziazione\",\"Escludere {0} dall\\u2019essere evidenziata\",'Consentire i caratteri Unicode pi\\xF9 comuni nel linguaggio \"{0}\".',\"Caratteri di terminazione di riga insoliti\",\"Sono stati rilevati caratteri di terminazione di riga insoliti\",'Il file \"\\r\\n\" contiene uno o pi\\xF9 caratteri di terminazione di riga insoliti, ad esempio separatore di riga (LS) o separatore di paragrafo (PS).{0}\\r\\n\\xC8 consigliabile rimuoverli dal file. \\xC8 possibile configurare questa opzione tramite `editor.unusualLineTerminators`.',\"&&Rimuovi i caratteri di terminazione di riga insoliti\",\"Ignora\",\"Colore di sfondo di un simbolo durante l'accesso in lettura, ad esempio durante la lettura di una variabile. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo di un simbolo durante l'accesso in scrittura, ad esempio durante la scrittura in una variabile. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo di un'occorrenza testuale per un simbolo. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del bordo di un simbolo durante l'accesso in lettura, ad esempio durante la lettura di una variabile.\",\"Colore del bordo di un simbolo durante l'accesso in scrittura, ad esempio durante la scrittura in una variabile.\",\"Colore del bordo di un'occorrenza testuale per un simbolo.\",\"Colore del marcatore del righello delle annotazioni per le evidenziazioni dei simboli. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del marcatore del righello delle annotazioni per le evidenziazioni dei simboli di accesso in scrittura. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del marcatore del righello delle annotazioni di un'occorrenza testuale per un simbolo. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Vai al prossimo simbolo evidenziato\",\"Vai al precedente simbolo evidenziato\",\"Attiva/disattiva evidenziazione simbolo\",\"Elimina parola\",\"Errore nella funzione\",\"Errore\",\"Avviso nella funzione\",\"Avviso\",\"Errore sulla riga\",\"Errore sulla riga\",\"Avviso sulla riga\",\"Avviso sulla riga\",\"Area piegata sulla linea\",\"Ridotto\",\"Punto di interruzione sulla riga\",\"Punto di interruzione\",\"Suggerimento inline sulla riga\",\"Correzione rapida terminale\",\"Correzione rapida\",\"Debugger arrestato sul punto di interruzione\",\"Punto di interruzione\",\"Nessun suggerimento per l'inlay nella riga\",\"Nessun suggerimento di inlay\",\"Attivit\\xE0 completata\",\"Attivit\\xE0 completata\",\"Attivit\\xE0 non riuscita\",\"Attivit\\xE0 non riuscita\",\"Comando terminale non riuscito\",\"Comando non riuscito\",\"Comando terminale riuscito\",\"Comando riuscito\",\"Campanello terminale\",\"Campanello terminale\",\"Cella del notebook completata\",\"Cella del notebook completata\",\"La cella del notebook ha avuto esito negativo\",\"La cella del notebook ha avuto esito negativo\",\"Riga diff inserita\",\"Riga diff eliminata\",\"Riga diff modificata\",\"Richiesta chat inviata\",\"Richiesta di chat inviata\",\"Risposta chat ricevuta\",\"Avanzamento\",\"Avanzamento\",\"Cancella\",\"Cancella\",\"Salva\",\"Salva\",\"Formato\",\"Formato\",\"Registrazione vocale avviata\",\"Registrazione vocale interrotta\",\"Visualizza\",\"Guida\",\"Test\",\"FILE\",\"Preferenze\",\"Sviluppatore\",\"{0} ({1})\",\"{0} ({1})\",`{0}\\r\n[{1}] {2}`,\"{1} per {0}\",\"{0} ({1})\",\"Nascondi\",\"Reimposta menu\",\"Nascondi '{0}'\",\"Configura tasto di scelta rapida\",\"{0} per Applica, {1} per Anteprima\",\"{0} da applicare\",\"{0}, Motivo disabilitato: {1}\",\"Widget azione\",\"Colore di sfondo per le azioni attivate o disattivate nella barra delle azioni.\",\"Indica se l'elenco di widget azione \\xE8 visibile\",\"Nascondi widget azione\",\"Seleziona azione precedente\",\"Seleziona azione successiva\",\"Accetta l'azione selezionata\",\"Anteprima azione selezionata\",\"Override configurazione predefinita del linguaggio\",\"Consente di configurare le impostazioni di cui eseguire l'override per il linguaggio {0}.\",\"Consente di configurare le impostazioni dell'editor di cui eseguire l'override per un linguaggio.\",\"Questa impostazione non supporta la configurazione per lingua.\",\"Consente di configurare le impostazioni dell'editor di cui eseguire l'override per un linguaggio.\",\"Questa impostazione non supporta la configurazione per lingua.\",\"Non \\xE8 possibile registrare una propriet\\xE0 vuota\",\"Non \\xE8 possibile registrare '{0}'. Corrisponde al criterio di propriet\\xE0 '\\\\\\\\[.*\\\\\\\\]$' per la descrizione delle impostazioni dell'editor specifiche del linguaggio. Usare il contributo 'configurationDefaults'.\",\"Non \\xE8 possibile registrare '{0}'. Questa propriet\\xE0 \\xE8 gi\\xE0 registrata.\",\"Impossibile registrare '{0}'. Il {1} dei criteri associato \\xE8 gi\\xE0 registrato con {2}.\",\"Comando che restituisce informazioni sulle chiavi di contesto\",\"Espressione chiave di contesto vuota\",\"Si \\xE8 dimenticato di scrivere un'espressione? \\xC8 anche possibile inserire 'false' o 'true' per restituire sempre rispettivamente false o true.\",\"'in' dopo 'not'.\",\"Parentesi chiusa ')'\",\"Token imprevisto\",\"Si \\xE8 dimenticato di inserire && o || prima del token?\",\"Fine imprevista dell'espressione\",\"Si \\xE8 dimenticato di inserire una chiave di contesto?\",`Previsto: {0}\\r\nRicevuto: '{1}'.`,\"Indica se il sistema operativo \\xE8 macOS\",\"Indica se il sistema operativo \\xE8 Linux\",\"Indica se il sistema operativo \\xE8 Windows\",\"Indica se la piattaforma \\xE8 un Web browser\",\"Indica se il sistema operativo \\xE8 macOS in una piattaforma non basata su browser\",\"Indica se il sistema operativo \\xE8 iOS\",\"Indica se la piattaforma \\xE8 un Web browser per dispositivi mobili\",\"Tipo di qualit\\xE0 del VS Code\",\"Indica se lo stato attivo della tastiera si trova all'interno di una casella di input\",\"Si intendeva {0}?\",\"Si intendeva {0} o {1}?\",\"Si intendeva {0}, {1} o {2}?\",\"Si \\xE8 dimenticato di aprire o chiudere la citazione?\",\"Si \\xE8 dimenticato di eseguire il carattere di escape '/' (slash)? Inserire due barre rovesciate prima del carattere di escape, ad esempio '\\\\\\\\/'.\",\"Indica se i suggerimenti sono visibili\",\"\\xC8 stato premuto ({0}). In attesa del secondo tasto...\",\"\\xC8 stato premuto ({0}). In attesa del prossimo tasto...\",\"La combinazione di tasti ({0}, {1}) non \\xE8 un comando.\",\"La combinazione di tasti ({0}, {1}) non \\xE8 un comando.\",\"Workbench\",\"Rappresenta il tasto 'Control' in Windows e Linux e il tasto 'Comando' in macOS.\",\"Rappresenta il tasto 'Alt' in Windows e Linux e il tasto 'Opzione' in macOS.\",\"Il modificatore da utilizzare per aggiungere un elemento di alberi e liste ad una selezione multipla con il mouse (ad esempio in Esplora Risorse, apre gli editor e le viste scm). Le gesture del mouse 'Apri a lato' - se supportate - si adatteranno in modo da non creare conflitti con il modificatore di selezione multipla.\",\"Controlla l'apertura degli elementi di alberi ed elenchi tramite il mouse (se supportato). Tenere presente che alcuni alberi ed elenchi potrebbero scegliere di ignorare questa impostazione se non \\xE8 applicabile.\",\"Controlla se elenchi e alberi supportano lo scorrimento orizzontale nell'area di lavoro. Avviso: l'attivazione di questa impostazione pu\\xF2 influire sulle prestazioni.\",\"Controlla se i clic nella barra di scorrimento scorrono pagina per pagina.\",\"Controlla il rientro dell'albero in pixel.\",\"Controlla se l'albero deve eseguire il rendering delle guide per i rientri.\",\"Controlla se elenchi e alberi prevedono lo scorrimento uniforme.\",\"Moltiplicatore da usare sui valori `deltaX` e `deltaY` degli eventi di scorrimento della rotellina del mouse.\",\"Moltiplicatore della velocit\\xE0 di scorrimento quando si preme `Alt`.\",\"Evidenziare gli elementi durante la ricerca. L'ulteriore spostamento verso l'alto e verso il basso attraverser\\xE0 solo gli elementi evidenziati.\",\"Filtra gli elementi durante la ricerca.\",\"Controlla la modalit\\xE0 di ricerca predefinita per elenchi e alberi nel workbench.\",\"Con lo stile di spostamento da tastiera simple lo stato attivo si trova sugli elementi che corrispondono all'input da tastiera. L'abbinamento viene effettuato solo in base ai prefissi.\",\"Con lo stile di spostamento da tastiera highlight vengono evidenziati gli elementi corrispondenti all'input da tastiera. Spostandosi ulteriormente verso l'alto o verso il basso ci si sposter\\xE0 solo negli elementi evidenziati.\",\"Con lo stile di spostamento da tastiera filter verranno filtrati e nascosti tutti gli elementi che non corrispondono all'input da tastiera.\",\"Controlla lo stile di spostamento da tastiera per elenchi e alberi nel workbench. Le opzioni sono: simple, highlight e filter.\",\"In alternativa, usare 'workbench.list.defaultFindMode' e 'workbench.list.typeNavigationMode'.\",\"Usa la corrispondenza fuzzy durante la ricerca.\",\"Usa corrispondenza contigua durante la ricerca.\",\"Controlla il tipo di corrispondenza usato per la ricerca di elenchi e alberi nel workbench.\",\"Controlla l'espansione delle cartelle di alberi quando si fa clic sui nomi delle cartelle. Tenere presente che alcuni alberi ed elenchi potrebbero scegliere di ignorare questa impostazione se non \\xE8 applicabile.\",\"Controlla se lo scorrimento permanente \\xE8 abilitato negli alberi.\",\"Controlla il numero di elementi permanenti visualizzati nell'albero quando {0} \\xE8 abilitato.\",\"Controlla il funzionamento dello spostamento dei tipi in elenchi e alberi nel workbench. Se impostato su 'trigger', l'esplorazione del tipo inizia dopo l'esecuzione del comando 'list.triggerTypeNavigation'.\",\"Errore\",\"Avviso\",\"Info\",\"usate di recente\",\"comandi simili\",\"pi\\xF9 usato\",\"altri comandi\",\"comandi simili\",\"{0}, {1}\",\"Il comando '{0}' ha restituito un errore\",\"{0}, {1}\",\"Indica se lo stato attivo della tastiera si trova all'interno del controllo di input rapido\",\"Tipo dell'input rapido attualmente visibile\",\"Indica se il cursore nell'input rapido si trova alla fine della casella di input\",\"Indietro\",\"Premere 'INVIO' per confermare l'input oppure 'ESC' per annullare\",\"{0}/{1}\",\"Digitare per ridurre il numero di risultati.\",\"Usato nel contesto della selezione rapida. Se si modifica un tasto di scelta rapida per questo comando, \\xE8 necessario modificare anche tutti gli altri tasti di scelta rapida (varianti del modificatore) di questo comando.\",\"Se \\xE8 attiva la modalit\\xE0 di accesso rapido, si passer\\xE0 all'elemento successivo. Se non \\xE8 attiva la modalit\\xE0 di accesso rapido, si passer\\xE0 al separatore successivo.\",\"Se \\xE8 attiva la modalit\\xE0 di accesso rapido, si passer\\xE0 all'elemento precedente. Se non \\xE8 attiva la modalit\\xE0 di accesso rapido, si passer\\xE0 al separatore precedente.\",\"Attivare/Disattivare tutte le caselle di controllo\",\"{0} risultati\",\"{0} selezionati\",\"OK\",\"Personalizzato\",\"Indietro ({0})\",\"Indietro\",\"Input rapido\",\"Fare clic per eseguire il comando '{0}'\",\"Colore primo piano generale. Questo colore viene usato solo se non \\xE8 sostituito da quello di un componente.\",\"Primo piano generale per gli elementi disabilitati. Questo colore viene usato solo e non \\xE8 sostituito da quello di un componente.\",\"Colore primo piano globale per i messaggi di errore. Questo colore viene usato solo se non \\xE8 sostituito da quello di un componente.\",\"Colore primo piano del testo che fornisce informazioni aggiuntive, ad esempio per un'etichetta di testo.\",\"Colore predefinito per le icone nel workbench.\",\"Colore del bordo globale per gli elementi evidenziati. Questo colore viene usato solo se non \\xE8 sostituito da quello di un componente.\",\"Un bordo supplementare attorno agli elementi per contrastarli maggiormente rispetto agli altri.\",\"Un bordo supplementare intorno agli elementi attivi per contrastarli maggiormente rispetto agli altri.\",\"Il colore di sfondo delle selezioni di testo in workbench (ad esempio per i campi di input o aree di testo). Si noti che questo non si applica alle selezioni all'interno dell'editor.\",\"Colore primo piano dei link nel testo.\",\"Colore primo piano per i collegamenti nel testo quando vengono selezionati o al passaggio del mouse.\",\"Colore dei separatori di testo.\",\"Colore primo piano dei segmenti di testo preformattato.\",\"Colore di sfondo dei segmenti di testo preformattato.\",\"Colore di sfondo per le citazioni nel testo.\",\"Colore del bordo per le citazioni nel testo.\",\"Colore di sfondo per i blocchi di codice nel testo.\",\"Colore primo piano usato nei grafici.\",\"Colore usato per le linee orizzontali nei grafici.\",\"Colore rosso usato nelle visualizzazioni grafico.\",\"Colore blu usato nelle visualizzazioni grafico.\",\"Colore giallo usato nelle visualizzazioni grafico.\",\"Colore arancione usato nelle visualizzazioni grafico.\",\"Colore verde usato nelle visualizzazioni grafico.\",\"Colore viola usato nelle visualizzazioni grafico.\",\"Colore di sfondo dell'editor.\",\"Colore primo piano predefinito dell'editor.\",\"Colore di sfondo della barra di scorrimento permanente nell'editor.\",\"Colore di sfondo dello scorrimento permanente al passaggio del mouse nell'editor\",\"Colore del bordo dello scorrimento permanente nell\\u2019editor\",\" Colore ombreggiatura dello scorrimento permanente nell\\u2019editor\",\"Colore di sfondo dei widget dell'editor, ad esempio Trova/Sostituisci.\",\"Colore primo piano dei widget dell'editor, ad esempio Trova/Sostituisci.\",\"Colore del bordo dei widget dell'editor. Il colore viene usato solo se il widget sceglie di avere un bordo e se il colore non \\xE8 sottoposto a override da un widget.\",\"Colore del bordo della barra di ridimensionamento dei widget dell'editor. Il colore viene usato solo se il widget sceglie di avere un bordo di ridimensionamento e se il colore non \\xE8 sostituito da quello di un widget.\",\"Colore di sfondo del testo dell'errore nell'editor. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore primo piano degli indicatori di errore nell'editor.\",\"Se impostato, colore delle doppie sottolineature per gli errori nell'editor.\",\"Colore di sfondo del testo dell'avviso nell'editor. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore primo piano degli indicatori di avviso nell'editor.\",\"Se impostato, colore delle doppie sottolineature per gli avvisi nell'editor.\",\"Colore di sfondo del testo delle informazioni nell'editor. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore primo piano degli indicatori di informazioni nell'editor.\",\"Se impostato, colore delle doppie sottolineature per i messaggi informativi nell'editor.\",\"Colore primo piano degli indicatori di suggerimento nell'editor.\",\"Se impostato, colore delle doppie sottolineature per i suggerimenti nell'editor.\",\"Colore dei collegamenti attivi.\",\"Colore della selezione dell'editor.\",\"Colore del testo selezionato per il contrasto elevato.\",\"Colore della selezione in un editor inattivo. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore delle aree con lo stesso contenuto della selezione. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del bordo delle regioni con lo stesso contenuto della selezione.\",\"Colore della corrispondenza di ricerca corrente.\",\"Colore del testo della corrispondenza di ricerca corrente.\",\"Colore degli altri risultati della ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore primo piano delle altre corrispondenze di ricerca.\",\"Colore dell'intervallo di limite della ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del bordo della corrispondenza della ricerca corrente.\",\"Colore del bordo delle altre corrispondenze della ricerca.\",\"Colore del bordo dell'intervallo che limita la ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Evidenziazione sotto la parola per cui \\xE8 visualizzata un'area sensibile al passaggio del mouse. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo dell'area sensibile al passaggio del mouse dell'editor.\",\"Colore primo piano dell'area sensibile al passaggio del mouse dell'editor.\",\"Colore del bordo dell'area sensibile al passaggio del mouse dell'editor.\",\"Colore di sfondo della barra di stato sensibile al passaggio del mouse dell'editor.\",\"Colore primo piano dei suggerimenti inline\",\"Colore di sfondo dei suggerimenti inline\",\"Colore primo piano dei suggerimenti inline per i tipi\",\"Colore di sfondo dei suggerimenti inline per i tipi\",\"Colore primo piano dei suggerimenti inline per i parametri\",\"Colore di sfondo dei suggerimenti inline per i parametri\",\"Colore usato per l'icona delle azioni con lampadina.\",\"Colore usato per l'icona delle azioni di correzione automatica con lampadina.\",\"Colore usato per l'icona dell'intelligenza artificiale con lampadina.\",\"Colore di sfondo dell'evidenziazione della tabulazione di un frammento.\",\"Colore del bordo dell'evidenziazione della tabulazione di un frammento.\",\"Colore di sfondo dell'evidenziazione della tabulazione finale di un frammento.\",\"Colore del bordo dell'evidenziazione della tabulazione finale di un frammento.\",\"Colore di sfondo per il testo che \\xE8 stato inserito. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo per il testo che \\xE8 stato rimosso. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo per le righe che sono state inserite. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo per le righe che sono state rimosse. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore di sfondo per il margine in cui sono state inserite le righe.\",\"Colore di sfondo per il margine in cui sono state rimosse le righe.\",\"Primo piano del righello delle annotazioni delle differenze per il contenuto inserito.\",\"Primo piano del righello delle annotazioni delle differenze per il contenuto rimosso.\",\"Colore del contorno del testo che \\xE8 stato inserito.\",\"Colore del contorno del testo che \\xE8 stato rimosso.\",\"Colore del bordo tra due editor di testo.\",\"Colore del riempimento diagonale dell'editor diff. Il riempimento diagonale viene usato nelle visualizzazioni diff affiancate.\",\"Colore di sfondo dei blocchi non modificati nell'editor diff.\",\"Colore di primo piano dei blocchi non modificati nell'editor diff.\",\"Colore di sfondo del codice non modificato nell'editor diff.\",\"Colore ombreggiatura dei widget, ad es. Trova/Sostituisci all'interno dell'editor.\",\"Colore del bordo dei widget, ad es. Trova/Sostituisci all'interno dell'editor.\",\"Sfondo della barra degli strumenti al passaggio del mouse sulle azioni\",\"Contorno della barra degli strumenti al passaggio del mouse sulle azioni\",\"Sfondo della barra degli strumenti quando si tiene premuto il mouse sulle azioni\",\"Colore degli elementi di navigazione in evidenza.\",\"Colore di sfondo degli elementi di navigazione.\",\"Colore degli elementi di navigazione in evidenza.\",\"Colore degli elementi di navigazione selezionati.\",\"Colore di sfondo del controllo di selezione elementi di navigazione.\",\"Sfondo dell'intestazione delle modifiche correnti nei conflitti di merge inline. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Sfondo del contenuto delle modifiche correnti nei conflitti di merge inline. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Sfondo dell'intestazione delle modifiche in ingresso nei conflitti di merge inline. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Sfondo del contenuto delle modifiche in ingresso nei conflitti di merge inline. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Sfondo dell'intestazione del predecessore comune nei conflitti di merge inline. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Sfondo del contenuto del predecessore comune nei conflitti di merge inline. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del bordo nelle intestazioni e sulla barra di divisione di conflitti di merge in linea.\",\"Colore primo piano del righello delle annotazioni delle modifiche correnti per i conflitti di merge inline.\",\"Colore primo piano del righello delle annotazioni delle modifiche in ingresso per i conflitti di merge inline.\",\"Colore primo piano del righello delle annotazioni del predecessore comune per i conflitti di merge inline.\",\"Colore del marcatore del righello delle annotazioni per la ricerca di corrispondenze. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore del marcatore del righello delle annotazioni per le evidenziazioni delle selezioni. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.\",\"Colore usato per l'icona di errore dei problemi.\",\"Colore usato per l'icona di avviso dei problemi.\",\"Colore usato per l'icona informazioni dei problemi.\",\"Sfondo della casella di input.\",\"Primo piano della casella di input.\",\"Bordo della casella di input.\",\"Colore del bordo di opzioni attivate nei campi di input.\",\"Colore di sfondo di opzioni attivate nei campi di input.\",\"Colore di sfondo al passaggio del mouse delle opzioni nei campi di input.\",\"Colore primo piano di opzioni attivate nei campi di input.\",\"Colore primo piano di casella di input per il testo segnaposto.\",\"Colore di sfondo di convalida dell'input di tipo Informazione.\",\"Colore primo piano di convalida dell'input di tipo Informazione.\",\"Colore del bordo della convalida dell'input di tipo Informazione.\",\"Colore di sfondo di convalida dell'input di tipo Avviso.\",\"Colore primo piano di convalida dell'input di tipo Avviso.\",\"Colore del bordo della convalida dell'input di tipo Avviso.\",\"Colore di sfondo di convalida dell'input di tipo Errore.\",\"Colore primo piano di convalida dell'input di tipo Errore.\",\"Colore del bordo della convalida dell'input di tipo Errore.\",\"Sfondo dell'elenco a discesa.\",\"Sfondo dell'elenco a discesa.\",\"Primo piano dell'elenco a discesa.\",\"Bordo dell'elenco a discesa.\",\"Colore primo piano del pulsante.\",\"Colore del separatore pulsante.\",\"Colore di sfondo del pulsante.\",\"Colore di sfondo del pulsante al passaggio del mouse.\",\"Colore del bordo del pulsante.\",\"Colore primo piano secondario del pulsante.\",\"Colore di sfondo secondario del pulsante.\",\"Colore di sfondo secondario del pulsante al passaggio del mouse.\",\"Colore in primo piano del pulsante di opzione attivo.\",\"Colore di sfondo del pulsante di opzione attivo.\",\"Colore del bordo del pulsante di opzione attivo.\",\"Colore in primo piano del pulsante di opzione inattivo.\",\"Colore di sfondo del pulsante di opzione inattivo.\",\"Colore del bordo del pulsante di opzione inattivo.\",\"Colore di sfondo del pulsante di opzione inattivo/attivo al passaggio del mouse.\",\"Colore di sfondo del widget della casella di controllo.\",\"Colore di sfondo del widget della casella di controllo quando \\xE8 selezionato l'elemento in cui si trova.\",\"Colore primo piano del widget della casella di controllo.\",\"Colore del bordo del widget della casella di controllo.\",\"Colore del bordo del widget della casella di controllo quando \\xE8 selezionato l'elemento in cui si trova.\",\"Colore di sfondo dell'etichetta del tasto di scelta rapida. L'etichetta del tasto di scelta rapida viene usata per rappresentare una scelta rapida da tastiera.\",\"Colore primo piano dell'etichetta del tasto di scelta rapida. L'etichetta del tasto di scelta rapida viene usata per rappresentare una scelta rapida da tastiera.\",\"Colore del bordo dell'etichetta del tasto di scelta rapida. L'etichetta del tasto di scelta rapida viene usata per rappresentare una scelta rapida da tastiera.\",\"Colore inferiore del bordo dell'etichetta del tasto di scelta rapida. L'etichetta del tasto di scelta rapida viene usata per rappresentare una scelta rapida da tastiera.\",\"Colore di sfondo dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \\xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore primo piano dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \\xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore del contorno dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \\xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore del contorno dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \\xE8 attivo e selezionato. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore di sfondo dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \\xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore primo piano dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \\xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore primo piano dell\\u2019icona dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \\xE8 attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore di sfondo dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \\xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore primo piano dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \\xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore primo piano dell\\u2019icona dell'elenco/albero per l'elemento selezionato quando l'elenco/albero \\xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Colore di sfondo dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \\xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, uno inattivo no.\",\"Colore del contorno dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero \\xE8 inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.\",\"Sfondo dell'elenco/albero al passaggio del mouse sugli elementi.\",\"Primo piano dell'elenco/albero al passaggio del mouse sugli elementi.\",\"Sfondo dell'elenco/albero durante il trascinamento degli elementi su altri elementi quando si usa il mouse.\",\"Il colore del bordo del trascinamento dell\\u2019elenco/albero durante lo spostamento di elementi quando si usa il mouse.\",\"Colore primo piano Elenco/Struttura ad albero delle occorrenze trovate durante la ricerca nell'Elenco/Struttura ad albero.\",\"Colore primo piano Elenco/Struttura ad albero delle occorrenze trovate in elementi con lo stato attivo durante la ricerca nell'Elenco/Struttura ad albero.\",\"Colore primo piano dell'elenco/albero delle occorrenze trovate durante la ricerca nell'elenco/albero.\",\"Colore primo piano delle voci di elenco contenenti errori.\",\"Colore primo piano delle voci di elenco contenenti avvisi.\",\"Colore di sfondo del widget del filtro per tipo in elenchi e alberi.\",\"Colore del contorno del widget del filtro per tipo in elenchi e alberi.\",\"Colore del contorno del widget del filtro per tipo in elenchi e alberi quando non sono presenti corrispondenze.\",\"Colore ombreggiatura del widget del filtro sul tipo negli elenchi e alberi.\",\"Colore di sfondo della corrispondenza filtrata.\",\"Colore del bordo della corrispondenza filtrata.\",\"Colore primo piano dell'elenco/albero per gli elementi non evidenziati.\",\"Colore del tratto dell'albero per le guide per i rientri.\",\"Colore del tratto dell'albero per le guide di rientro non attive.\",\"Colore del bordo della tabella tra le colonne.\",\"Colore di sfondo per le righe di tabella dispari.\",\"Colore delle sfondo dell'elenco delle azioni.\",\"Colore in primo piano dell'elenco delle azioni.\",\"Colore in primo dell\\u2019elenco delle azioni per l'elemento con stato attivo.\",\"Colore dello sfondo dell\\u2019elenco di azioni per l'elemento con stato attivo.\",\"Colore del bordo del menu.\",\"Colore primo piano delle voci di menu.\",\"Colore di sfondo delle voci di menu.\",\"Colore primo piano della voce di menu selezionata nei menu.\",\"Colore di sfondo della voce di menu selezionata nei menu.\",\"Colore del bordo della voce di menu selezionata nei menu.\",\"Colore di un elemento separatore delle voci di menu.\",\"Colore del marcatore della minimappa per la ricerca delle corrispondenze.\",\"Colore del marcatore della minimappa per le selezioni ripetute dell'editor.\",\"Colore del marcatore della minimappa per la selezione dell'editor.\",\"Colore del marcatore della minimappa per le informazioni.\",\"Colore del marcatore della minimappa per gli avvisi.\",\"Colore del marcatore della minimappa per gli errori.\",\"Colore di sfondo della minimappa.\",'Opacit\\xE0 degli elementi in primo piano di cui \\xE8 stato eseguito il rendering nella minimappa. Ad esempio, con \"#000000c0\" il rendering degli elementi verr\\xE0 eseguito con il 75% di opacit\\xE0.',\"Colore di sfondo del dispositivo di scorrimento della minimappa.\",\"Colore di sfondo del dispositivo di scorrimento della minimappa al passaggio del mouse.\",\"Colore di sfondo del dispositivo di scorrimento della minimappa quando si fa clic con il mouse.\",\"Colore dei bordi di ridimensionamento attivi.\",\"Colore di sfondo del badge. I badge sono piccole etichette informative, ad esempio per mostrare il conteggio dei risultati della ricerca.\",\"Colore primo piano del badge. I badge sono piccole etichette informative, ad esempio per mostrare il conteggio dei risultati di una ricerca.\",\"Ombra della barra di scorrimento per indicare lo scorrimento della visualizzazione.\",\"Colore di sfondo del cursore della barra di scorrimento.\",\"Colore di sfondo del cursore della barra di scorrimento al passaggio del mouse.\",\"Colore di sfondo del cursore della barra di scorrimento quando si fa clic con il mouse.\",\"Colore di sfondo dell'indicatore di stato che pu\\xF2 essere mostrato per operazioni a esecuzione prolungata.\",\"Colore di sfondo di Selezione rapida. Il widget Selezione rapida \\xE8 il contenitore di selezioni quali il riquadro comandi.\",\"Colore primo piano di Selezione rapida. Il widget Selezione rapida \\xE8 il contenitore di selezioni quali il riquadro comandi.\",\"Colore di sfondo del titolo di Selezione rapida. Il widget Selezione rapida \\xE8 il contenitore di selezioni quali il riquadro comandi.\",\"Colore di selezione rapida per il raggruppamento delle etichette.\",\"Colore di selezione rapida per il raggruppamento dei bordi.\",\"In alternativa, usare quickInputList.focusBackground\",\"Colore primo piano di Selezione rapida per l'elemento con lo stato attivo.\",\"Colore primo piano dell\\u2019icona di Selezione rapida per l'elemento con lo stato attivo.\",\"Colore di sfondo di Selezione rapida per l'elemento con lo stato attivo.\",\"Colore del testo nel messaggio di completamento del viewlet di ricerca.\",\"Colore delle corrispondenze query dell'editor della ricerca.\",\"Colore del bordo delle corrispondenze query dell'editor della ricerca.\",\"Questo colore deve essere trasparente, altrimenti oscurer\\xE0 il contenuto\",\"Usare il colore predefinito.\",\"ID del tipo di carattere da usare. Se non \\xE8 impostato, viene usato il tipo di carattere definito per primo.\",\"Tipo di carattere associato alla definizione di icona.\",\"Icona dell'azione di chiusura nei widget.\",\"Icona per la posizione di Vai a editor precedente.\",\"Icona per la posizione di Vai a editor successivo.\",\"I file seguenti sono stati chiusi e modificati nel disco: {0}.\",\"I file seguenti sono stati modificati in modo incompatibile: {0}.\",\"Non \\xE8 stato possibile annullare '{0}' in tutti i file. {1}\",\"Non \\xE8 stato possibile annullare '{0}' in tutti i file. {1}\",\"Non \\xE8 stato possibile annullare '{0}' in tutti i file perch\\xE9 sono state apportate modifiche a {1}\",\"Non \\xE8 stato possibile annullare '{0}' su tutti i file perch\\xE9 \\xE8 gi\\xE0 in esecuzione un'operazione di annullamento o ripetizione su {1}\",\"Non \\xE8 stato possibile annullare '{0}' su tutti i file perch\\xE9 nel frattempo \\xE8 stata eseguita un'operazione di annullamento o ripetizione\",\"Annullare '{0}' in tutti i file?\",\"&&Annulla in {0} file\",\"Annulla questo &&file\",\"Non \\xE8 stato possibile annullare '{0}' perch\\xE9 \\xE8 gi\\xE0 in esecuzione un'operazione di annullamento o ripetizione.\",\"Annullare '{0}'?\",\"&&S\\xEC\",\"No\",\"Non \\xE8 stato possibile ripetere '{0}' in tutti i file. {1}\",\"Non \\xE8 stato possibile ripetere '{0}' in tutti i file. {1}\",\"Non \\xE8 stato possibile ripetere '{0}' in tutti i file perch\\xE9 sono state apportate modifiche a {1}\",\"Non \\xE8 stato possibile ripetere l'operazione '{0}' su tutti i file perch\\xE9 \\xE8 gi\\xE0 in esecuzione un'operazione di annullamento o ripetizione sull'elenco di file {1}\",\"Non \\xE8 stato possibile ripetere '{0}' su tutti i file perch\\xE9 nel frattempo \\xE8 stata eseguita un'operazione di annullamento o ripetizione\",\"Non \\xE8 stato possibile ripetere '{0}' perch\\xE9 \\xE8 gi\\xE0 in esecuzione un'operazione di annullamento o ripetizione.\",\"Area di lavoro del codice\"],globalThis._VSCODE_NLS_LANGUAGE=\"it\";\n\n//# sourceMappingURL=../min-maps/nls.messages.it.js.map\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.ja.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0} ({1})\",\"\\u5165\\u529B\",\"\\u5927\\u6587\\u5B57\\u3068\\u5C0F\\u6587\\u5B57\\u3092\\u533A\\u5225\\u3059\\u308B\",\"\\u5358\\u8A9E\\u5358\\u4F4D\\u3067\\u691C\\u7D22\\u3059\\u308B\",\"\\u6B63\\u898F\\u8868\\u73FE\\u3092\\u4F7F\\u7528\\u3059\\u308B\",\"\\u5165\\u529B\",\"\\u4FDD\\u6301\\u3059\\u308B\",\"{0} \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u30E6\\u30FC\\u30B6\\u30FC\\u88DC\\u52A9\\u5BFE\\u5FDC\\u306E\\u30D3\\u30E5\\u30FC\\u3067\\u3053\\u308C\\u3092\\u691C\\u67FB\\u3057\\u307E\\u3059\\u3002\",\"\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9\\u3092\\u4ECB\\u3057\\u3066\\u73FE\\u5728\\u30C8\\u30EA\\u30AC\\u30FC\\u3067\\u304D\\u306A\\u3044 [\\u30E6\\u30FC\\u30B6\\u30FC\\u88DC\\u52A9\\u5BFE\\u5FDC\\u306E\\u30D3\\u30E5\\u30FC\\u3092\\u958B\\u304F] \\u30B3\\u30DE\\u30F3\\u30C9\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u30E6\\u30FC\\u30B6\\u30FC\\u88DC\\u52A9\\u5BFE\\u5FDC\\u306E\\u30D3\\u30E5\\u30FC\\u3067\\u3053\\u308C\\u3092\\u691C\\u67FB\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30E9\\u30FC: {0}\",\"\\u8B66\\u544A: {0}\",\"\\u60C5\\u5831: {0}\",\" \\u307E\\u305F\\u306F\\u5C65\\u6B74\\u306E {0}\",\" (\\u5C65\\u6B74\\u306E {0})\",\"\\u30AF\\u30EA\\u30A2\\u3055\\u308C\\u305F\\u5165\\u529B\",\"\\u30D0\\u30A4\\u30F3\\u30C9\\u306A\\u3057\",\"\\u30DC\\u30C3\\u30AF\\u30B9\\u3092\\u9078\\u629E\",\"\\u305D\\u306E\\u4ED6\\u306E\\u64CD\\u4F5C...\",\"\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC\",\"\\u3042\\u3044\\u307E\\u3044\\u4E00\\u81F4\",\"\\u5165\\u529B\\u3057\\u3066\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC\",\"\\u5165\\u529B\\u3057\\u3066\\u691C\\u7D22\",\"\\u5165\\u529B\\u3057\\u3066\\u691C\\u7D22\",\"\\u9589\\u3058\\u308B\",\"\\u7D50\\u679C\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u7D50\\u679C\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\\u3002\",null,\"(\\u7A7A)\",\"{0}: {1}\",\"\\u30B7\\u30B9\\u30C6\\u30E0 \\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F ({0})\",\"\\u4E0D\\u660E\\u306A\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F\\u3002\\u30ED\\u30B0\\u3067\\u8A73\\u7D30\\u3092\\u78BA\\u8A8D\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u4E0D\\u660E\\u306A\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F\\u3002\\u30ED\\u30B0\\u3067\\u8A73\\u7D30\\u3092\\u78BA\\u8A8D\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"{0} (\\u5408\\u8A08 {1} \\u30A8\\u30E9\\u30FC)\",\"\\u4E0D\\u660E\\u306A\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F\\u3002\\u30ED\\u30B0\\u3067\\u8A73\\u7D30\\u3092\\u78BA\\u8A8D\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"Ctrl\",\"Shift\",\"Alt\",\"Windows\",\"Ctrl\",\"Shift\",\"Alt\",\"Super\",\"Control\",\"Shift\",\"\\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\",\"\\u30B3\\u30DE\\u30F3\\u30C9\",\"Control\",\"Shift\",\"Alt\",\"Windows\",\"Control\",\"Shift\",\"Alt\",\"Super\",null,null,null,null,null,\"\\u9577\\u3044\\u884C\\u306B\\u79FB\\u52D5\\u3057\\u3066\\u3082\\u884C\\u672B\\u306B\\u4F4D\\u7F6E\\u3057\\u307E\\u3059\",\"\\u9577\\u3044\\u884C\\u306B\\u79FB\\u52D5\\u3057\\u3066\\u3082\\u884C\\u672B\\u306B\\u4F4D\\u7F6E\\u3057\\u307E\\u3059\",\"\\u30BB\\u30AB\\u30F3\\u30C0\\u30EA \\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u524A\\u9664\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u5143\\u306B\\u623B\\u3059(&&U)\",\"\\u5143\\u306B\\u623B\\u3059\",\"\\u3084\\u308A\\u76F4\\u3057(&&R)\",\"\\u3084\\u308A\\u76F4\\u3057\",\"\\u3059\\u3079\\u3066\\u9078\\u629E(&&S)\",\"\\u3059\\u3079\\u3066\\u3092\\u9078\\u629E\",\"{0} \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u306A\\u304C\\u3089\\u30DE\\u30A6\\u30B9 \\u30DD\\u30A4\\u30F3\\u30BF\\u30FC\\u3092\\u5408\\u308F\\u305B\\u307E\\u3059\",\"\\u8AAD\\u307F\\u8FBC\\u307F\\u4E2D...\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u6570\\u306F {0} \\u306B\\u5236\\u9650\\u3055\\u308C\\u3066\\u3044\\u307E\\u3059\\u3002\\u5927\\u304D\\u306A\\u5909\\u66F4\\u3092\\u884C\\u3046\\u5834\\u5408\\u306F\\u3001[\\u691C\\u7D22\\u3068\\u7F6E\\u63DB](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) \\u3092\\u4F7F\\u7528\\u3059\\u308B\\u3053\\u3068\\u3092\\u691C\\u8A0E\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30DE\\u30EB\\u30C1 \\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u4E0A\\u9650\\u3092\\u5897\\u3084\\u3059\",\"\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u9818\\u57DF\\u306E\\u6298\\u308A\\u305F\\u305F\\u307F\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"\\u79FB\\u52D5\\u3057\\u305F\\u30B3\\u30FC\\u30C9 \\u30D6\\u30ED\\u30C3\\u30AF\\u306E\\u8868\\u793A\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u5236\\u9650\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306B [\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D3\\u30E5\\u30FC\\u306E\\u4F7F\\u7528] \\u3092\\u5207\\u308A\\u66FF\\u3048\\u308B\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\",\"\\u30B5\\u30A4\\u30C9\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"\\u6BD4\\u8F03\\u79FB\\u52D5\\u306E\\u7D42\\u4E86\",\"\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u3059\\u3079\\u3066\\u306E\\u30EA\\u30FC\\u30B8\\u30E7\\u30F3\\u3092\\u6298\\u308A\\u305F\\u305F\\u3080\",\"\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u3059\\u3079\\u3066\\u306E\\u30EA\\u30FC\\u30B8\\u30E7\\u30F3\\u3092\\u8868\\u793A\\u3059\\u308B\",\"\\u5143\\u306B\\u623B\\u3059\",\"\\u30A2\\u30AF\\u30BB\\u30B7\\u30D3\\u30EA\\u30C6\\u30A3\\u306E\\u9AD8\\u3044\\u5DEE\\u5206\\u30D3\\u30E5\\u30FC\\u30A2\\u30FC\",\"\\u6B21\\u306E\\u5DEE\\u5206\\u306B\\u79FB\\u52D5\",\"\\u524D\\u306E\\u5DEE\\u5206\\u306B\\u79FB\\u52D5\",\"\\u30A2\\u30AF\\u30BB\\u30B7\\u30D3\\u30EA\\u30C6\\u30A3\\u306E\\u9AD8\\u3044\\u5DEE\\u5206\\u30D3\\u30E5\\u30FC\\u30A2\\u30FC\\u306E [\\u633F\\u5165] \\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A2\\u30AF\\u30BB\\u30B7\\u30D3\\u30EA\\u30C6\\u30A3\\u306E\\u9AD8\\u3044\\u5DEE\\u5206\\u30D3\\u30E5\\u30FC\\u30A2\\u30FC\\u306E [\\u524A\\u9664] \\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A2\\u30AF\\u30BB\\u30B7\\u30D3\\u30EA\\u30C6\\u30A3\\u306E\\u9AD8\\u3044\\u5DEE\\u5206\\u30D3\\u30E5\\u30FC\\u30A2\\u30FC\\u306E [\\u9589\\u3058\\u308B] \\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u9589\\u3058\\u308B\",\"\\u30A2\\u30AF\\u30BB\\u30B9\\u53EF\\u80FD\\u306A Diff Viewer\\u3002\\u4E0A\\u4E0B\\u65B9\\u5411\\u30AD\\u30FC\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u5909\\u66F4\\u3055\\u308C\\u305F\\u884C\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"1 \\u884C\\u304C\\u5909\\u66F4\\u3055\\u308C\\u307E\\u3057\\u305F\",\"{0} \\u884C\\u304C\\u5909\\u66F4\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u76F8\\u9055 {0}/{1}: \\u5143\\u306E\\u884C {2}\\u3001{3}\\u3002\\u5909\\u66F4\\u3055\\u308C\\u305F\\u884C {4}\\u3001{5}\",\"\\u7A7A\\u767D\",\"{0} \\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u884C {1}\",\"{0} \\u5143\\u306E\\u884C {1} \\u5909\\u66F4\\u3055\\u308C\\u305F\\u884C {2}\",\"+ {0} \\u5909\\u66F4\\u3055\\u308C\\u305F\\u884C {1}\",\"- {0} \\u5143\\u306E\\u884C {1}\",\" {0}\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u30A2\\u30AF\\u30BB\\u30B7\\u30D3\\u30EA\\u30C6\\u30A3\\u306E\\u30D8\\u30EB\\u30D7\\u3092\\u958B\\u304D\\u307E\\u3059\\u3002\",\"\\u524A\\u9664\\u3055\\u308C\\u305F\\u884C\\u306E\\u30B3\\u30D4\\u30FC\",\"\\u524A\\u9664\\u3055\\u308C\\u305F\\u884C\\u306E\\u30B3\\u30D4\\u30FC\",\"\\u5909\\u66F4\\u3055\\u308C\\u305F\\u884C\\u306E\\u30B3\\u30D4\\u30FC\",\"\\u5909\\u66F4\\u3055\\u308C\\u305F\\u884C\\u306E\\u30B3\\u30D4\\u30FC\",\"\\u524A\\u9664\\u3055\\u308C\\u305F\\u884C\\u306E\\u30B3\\u30D4\\u30FC ({0})\",\"\\u5909\\u66F4\\u3055\\u308C\\u305F\\u884C\\u306E\\u30B3\\u30D4\\u30FC ({0})\",\"\\u3053\\u306E\\u5909\\u66F4\\u3092\\u5143\\u306B\\u623B\\u3059\",\"\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u5236\\u9650\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306F\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D3\\u30E5\\u30FC\\u3092\\u4F7F\\u7528\\u3059\\u308B\",\"\\u79FB\\u52D5\\u3055\\u308C\\u305F\\u30B3\\u30FC\\u30C9 \\u30D6\\u30ED\\u30C3\\u30AF\\u306E\\u8868\\u793A\",\"\\u30D6\\u30ED\\u30C3\\u30AF\\u3092\\u5143\\u306B\\u623B\\u3059\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u5143\\u306B\\u623B\\u3059\",\"\\u30A2\\u30AF\\u30BB\\u30B7\\u30D3\\u30EA\\u30C6\\u30A3\\u306E\\u9AD8\\u3044\\u5DEE\\u5206\\u30D3\\u30E5\\u30FC\\u30A2\\u30FC\\u3092\\u958B\\u304F\",\"\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u9818\\u57DF\\u3092\\u6298\\u308A\\u305F\\u305F\\u3080\",\"\\u975E\\u8868\\u793A {0} \\u884C\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u307E\\u305F\\u306F\\u30C9\\u30E9\\u30C3\\u30B0\\u3057\\u3066\\u4E0A\\u306B\\u3082\\u3063\\u3068\\u8868\\u793A\\u3059\\u308B\",\"\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u9818\\u57DF\\u306E\\u8868\\u793A\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u307E\\u305F\\u306F\\u30C9\\u30E9\\u30C3\\u30B0\\u3057\\u3066\\u4E0B\\u306B\\u3082\\u3063\\u3068\\u8868\\u793A\\u3059\\u308B\",\"\\u975E\\u8868\\u793A {0} \\u884C\",\"\\u30C0\\u30D6\\u30EB\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u5C55\\u958B\\u3059\\u308B\",\"\\u884C {0}-{1} \\u306B\\u5909\\u66F4\\u3092\\u52A0\\u3048\\u3066\\u30B3\\u30FC\\u30C9\\u3092\\u79FB\\u52D5\\u3057\\u307E\\u3057\\u305F\",\"\\u884C {0}-{1} \\u304B\\u3089\\u5909\\u66F4\\u3092\\u52A0\\u3048\\u3066\\u30B3\\u30FC\\u30C9\\u304C\\u79FB\\u52D5\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u30B3\\u30FC\\u30C9\\u3092\\u884C {0}-{1} \\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3057\\u305F\",\"\\u884C {0}-{1} \\u304B\\u3089\\u79FB\\u52D5\\u3055\\u308C\\u305F\\u30B3\\u30FC\\u30C9\",\"\\u9078\\u629E\\u3057\\u305F\\u5909\\u66F4\\u3092\\u5143\\u306B\\u623B\\u3059\",\"\\u5909\\u66F4\\u3092\\u5143\\u306B\\u623B\\u3059\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u79FB\\u52D5\\u3055\\u308C\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u79FB\\u52D5\\u3055\\u308C\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u30EA\\u30FC\\u30B8\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u5468\\u308A\\u306E\\u5F71\\u306E\\u8272\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u633F\\u5165\\u3092\\u793A\\u3059\\u884C\\u306E\\u88C5\\u98FE\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u524A\\u9664\\u3092\\u793A\\u3059\\u884C\\u306E\\u88C5\\u98FE\\u3002\",\"diff \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30D8\\u30C3\\u30C0\\u30FC\\u306E\\u80CC\\u666F\\u8272\",\"\\u30DE\\u30EB\\u30C1 \\u30D5\\u30A1\\u30A4\\u30EB\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u80CC\\u666F\\u8272\",\"\\u30DE\\u30EB\\u30C1 \\u30D5\\u30A1\\u30A4\\u30EB\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\",\"\\u5909\\u66F4\\u3055\\u308C\\u305F\\u30D5\\u30A1\\u30A4\\u30EB\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\",\"1 \\u3064\\u306E\\u30BF\\u30D6\\u306B\\u76F8\\u5F53\\u3059\\u308B\\u30B9\\u30DA\\u30FC\\u30B9\\u306E\\u6570\\u3002{0} \\u304C\\u30AA\\u30F3\\u306E\\u5834\\u5408\\u3001\\u3053\\u306E\\u8A2D\\u5B9A\\u306F\\u30D5\\u30A1\\u30A4\\u30EB \\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306B\\u57FA\\u3065\\u3044\\u3066\\u4E0A\\u66F8\\u304D\\u3055\\u308C\\u307E\\u3059\\u3002\",'\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u307E\\u305F\\u306F `\"tabSize\"` \\u3067 `#editor.tabSize#` \\u306E\\u5024\\u3092\\u4F7F\\u7528\\u3059\\u308B\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u30B9\\u30DA\\u30FC\\u30B9\\u306E\\u6570\\u3002\\u3053\\u306E\\u8A2D\\u5B9A\\u306F\\u3001 `#editor.detectIndentation#` \\u304C\\u30AA\\u30F3\\u306E\\u5834\\u5408\\u3001\\u30D5\\u30A1\\u30A4\\u30EB\\u306E\\u5185\\u5BB9\\u306B\\u57FA\\u3065\\u3044\\u3066\\u30AA\\u30FC\\u30D0\\u30FC\\u30E9\\u30A4\\u30C9\\u3055\\u308C\\u307E\\u3059\\u3002',\"`Tab` \\u30AD\\u30FC\\u3092\\u62BC\\u3059\\u3068\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u633F\\u5165\\u3055\\u308C\\u307E\\u3059\\u3002{0} \\u304C\\u30AA\\u30F3\\u306E\\u5834\\u5408\\u3001\\u3053\\u306E\\u8A2D\\u5B9A\\u306F\\u30D5\\u30A1\\u30A4\\u30EB \\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306B\\u57FA\\u3065\\u3044\\u3066\\u4E0A\\u66F8\\u304D\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A1\\u30A4\\u30EB\\u304C\\u30D5\\u30A1\\u30A4\\u30EB\\u306E\\u5185\\u5BB9\\u306B\\u57FA\\u3065\\u3044\\u3066\\u958B\\u304B\\u308C\\u308B\\u5834\\u5408\\u3001{0} \\u3068 {1} \\u3092\\u81EA\\u52D5\\u7684\\u306B\\u691C\\u51FA\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u81EA\\u52D5\\u633F\\u5165\\u3055\\u308C\\u305F\\u672B\\u5C3E\\u306E\\u7A7A\\u767D\\u3092\\u524A\\u9664\\u3057\\u307E\\u3059\\u3002\",\"\\u5927\\u304D\\u306A\\u30D5\\u30A1\\u30A4\\u30EB\\u3067\\u30E1\\u30E2\\u30EA\\u304C\\u96C6\\u4E2D\\u3059\\u308B\\u7279\\u5B9A\\u306E\\u6A5F\\u80FD\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\\u305F\\u3081\\u306E\\u7279\\u5225\\u306A\\u51E6\\u7406\\u3002\",\"\\u5358\\u8A9E\\u30D9\\u30FC\\u30B9\\u306E\\u5019\\u88DC\\u3092\\u30AA\\u30D5\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u304B\\u3089\\u306E\\u307F\\u5358\\u8A9E\\u306E\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u540C\\u3058\\u8A00\\u8A9E\\u306E\\u958B\\u3044\\u3066\\u3044\\u308B\\u3059\\u3079\\u3066\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u304B\\u3089\\u5358\\u8A9E\\u306E\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u958B\\u3044\\u3066\\u3044\\u308B\\u3059\\u3079\\u3066\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u304B\\u3089\\u5358\\u8A9E\\u306E\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u306E\\u5358\\u8A9E\\u306B\\u57FA\\u3065\\u3044\\u3066\\u5165\\u529B\\u5019\\u88DC\\u3092\\u8A08\\u7B97\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3001\\u307E\\u305F\\u3069\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u304B\\u3089\\u5165\\u529B\\u5019\\u88DC\\u3092\\u8A08\\u7B97\\u3059\\u308B\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30BB\\u30DE\\u30F3\\u30C6\\u30A3\\u30C3\\u30AF\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u304C\\u3059\\u3079\\u3066\\u306E\\u914D\\u8272\\u30C6\\u30FC\\u30DE\\u306B\\u3064\\u3044\\u3066\\u6709\\u52B9\\u306B\\u306A\\u308A\\u307E\\u3057\\u305F\\u3002\",\"\\u30BB\\u30DE\\u30F3\\u30C6\\u30A3\\u30C3\\u30AF\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u304C\\u3059\\u3079\\u3066\\u306E\\u914D\\u8272\\u30C6\\u30FC\\u30DE\\u306B\\u3064\\u3044\\u3066\\u7121\\u52B9\\u306B\\u306A\\u308A\\u307E\\u3057\\u305F\\u3002\",\"\\u30BB\\u30DE\\u30F3\\u30C6\\u30A3\\u30C3\\u30AF\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u306F\\u3001\\u73FE\\u5728\\u306E\\u914D\\u8272\\u30C6\\u30FC\\u30DE\\u306E 'semanticHighlighting' \\u8A2D\\u5B9A\\u306B\\u3088\\u3063\\u3066\\u69CB\\u6210\\u3055\\u308C\\u3066\\u3044\\u307E\\u3059\\u3002\",\"semanticHighlighting \\u3092\\u30B5\\u30DD\\u30FC\\u30C8\\u3055\\u308C\\u308B\\u8A00\\u8A9E\\u3067\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u3092\\u30C0\\u30D6\\u30EB\\u30AF\\u30EA\\u30C3\\u30AF\\u3059\\u308B\\u304B\\u3001`Escape` \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u3066\\u3082\\u3001\\u30D4\\u30FC\\u30AF \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3092\\u958B\\u3044\\u305F\\u307E\\u307E\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u3053\\u306E\\u9577\\u3055\\u3092\\u8D8A\\u3048\\u308B\\u884C\\u306F\\u3001\\u30D1\\u30D5\\u30A9\\u30FC\\u30DE\\u30F3\\u30B9\\u4E0A\\u306E\\u7406\\u7531\\u306B\\u3088\\u308A\\u30C8\\u30FC\\u30AF\\u30F3\\u5316\\u3055\\u308C\\u307E\\u305B\\u3093\\u3002\",\"Web \\u30EF\\u30FC\\u30AB\\u30FC\\u3067\\u30C8\\u30FC\\u30AF\\u30F3\\u5316\\u3092\\u975E\\u540C\\u671F\\u7684\\u306B\\u884C\\u3046\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u975E\\u540C\\u671F\\u30C8\\u30FC\\u30AF\\u30F3\\u5316\\u3092\\u30ED\\u30B0\\u306B\\u8A18\\u9332\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u30C7\\u30D0\\u30C3\\u30B0\\u7528\\u306E\\u307F\\u3002\",\"\\u5F93\\u6765\\u306E\\u30D0\\u30C3\\u30AF\\u30B0\\u30E9\\u30A6\\u30F3\\u30C9 \\u30C8\\u30FC\\u30AF\\u30F3\\u5316\\u306B\\u5BFE\\u3057\\u3066\\u975E\\u540C\\u671F\\u30C8\\u30FC\\u30AF\\u30F3\\u5316\\u3092\\u691C\\u8A3C\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u30C8\\u30FC\\u30AF\\u30F3\\u5316\\u304C\\u9045\\u304F\\u306A\\u308B\\u53EF\\u80FD\\u6027\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\\u30C7\\u30D0\\u30C3\\u30B0\\u5C02\\u7528\\u3067\\u3059\\u3002\",\"\\u30C4\\u30EA\\u30FC \\u30B7\\u30C3\\u30BF\\u30FC\\u306E\\u89E3\\u6790\\u3092\\u6709\\u52B9\\u306B\\u3057\\u3001\\u30C6\\u30EC\\u30E1\\u30C8\\u30EA\\u3092\\u53CE\\u96C6\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u7279\\u5B9A\\u306E\\u8A00\\u8A9E\\u306B\\u5BFE\\u3059\\u308B 'editor.experimental.preferTreeSitter' \\u306E\\u8A2D\\u5B9A\\u304C\\u512A\\u5148\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u5897\\u6E1B\\u3059\\u308B\\u89D2\\u304B\\u3063\\u3053\\u3092\\u5B9A\\u7FA9\\u3057\\u307E\\u3059\\u3002\",\"\\u5DE6\\u89D2\\u304B\\u3063\\u3053\\u307E\\u305F\\u306F\\u6587\\u5B57\\u5217\\u30B7\\u30FC\\u30B1\\u30F3\\u30B9\\u3002\",\"\\u53F3\\u89D2\\u304B\\u3063\\u3053\\u307E\\u305F\\u306F\\u6587\\u5B57\\u5217\\u30B7\\u30FC\\u30B1\\u30F3\\u30B9\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u306E\\u8272\\u4ED8\\u3051\\u304C\\u6709\\u52B9\\u306B\\u306A\\u3063\\u3066\\u3044\\u308B\\u5834\\u5408\\u3001\\u5165\\u308C\\u5B50\\u306E\\u30EC\\u30D9\\u30EB\\u306B\\u3088\\u3063\\u3066\\u8272\\u4ED8\\u3051\\u3055\\u308C\\u308B\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u3092\\u5B9A\\u7FA9\\u3057\\u307E\\u3059\\u3002\",\"\\u5DE6\\u89D2\\u304B\\u3063\\u3053\\u307E\\u305F\\u306F\\u6587\\u5B57\\u5217\\u30B7\\u30FC\\u30B1\\u30F3\\u30B9\\u3002\",\"\\u53F3\\u89D2\\u304B\\u3063\\u3053\\u307E\\u305F\\u306F\\u6587\\u5B57\\u5217\\u30B7\\u30FC\\u30B1\\u30F3\\u30B9\\u3002\",\"\\u5DEE\\u5206\\u8A08\\u7B97\\u304C\\u53D6\\u308A\\u6D88\\u3055\\u308C\\u305F\\u5F8C\\u306E\\u30BF\\u30A4\\u30E0\\u30A2\\u30A6\\u30C8 (\\u30DF\\u30EA\\u79D2\\u5358\\u4F4D)\\u3002\\u30BF\\u30A4\\u30E0\\u30A2\\u30A6\\u30C8\\u306A\\u3057\\u306B\\u306F 0 \\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u5DEE\\u5206\\u3092\\u8A08\\u7B97\\u3059\\u308B\\u5834\\u5408\\u306E\\u6700\\u5927\\u30D5\\u30A1\\u30A4\\u30EB \\u30B5\\u30A4\\u30BA (MB)\\u3002\\u5236\\u9650\\u306A\\u3057\\u306E\\u5834\\u5408\\u306F 0 \\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u5DEE\\u5206\\u3092\\u6A2A\\u306B\\u4E26\\u3079\\u3066\\u8868\\u793A\\u3059\\u308B\\u304B\\u3001\\u884C\\u5185\\u306B\\u8868\\u793A\\u3059\\u308B\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u5E45\\u304C\\u3053\\u306E\\u5024\\u3088\\u308A\\u5C0F\\u3055\\u3044\\u5834\\u5408\\u306F\\u3001\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D3\\u30E5\\u30FC\\u304C\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u306A\\u3063\\u3066\\u3044\\u308B\\u3068\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u5E45\\u304C\\u5C0F\\u3055\\u3059\\u304E\\u308B\\u5834\\u5408\\u306F\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D3\\u30E5\\u30FC\\u304C\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30B0\\u30EA\\u30D5\\u4F59\\u767D\\u306B\\u3001\\u5909\\u66F4\\u3092\\u5143\\u306B\\u623B\\u3059\\u305F\\u3081\\u306E\\u77E2\\u5370\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u306F\\u3001\\u5143\\u306B\\u623B\\u3059\\u64CD\\u4F5C\\u3068\\u30B9\\u30C6\\u30FC\\u30B8\\u64CD\\u4F5C\\u306E\\u305F\\u3081\\u306E\\u7279\\u5225\\u306A\\u4F59\\u767D\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306F\\u5148\\u982D\\u307E\\u305F\\u306F\\u672B\\u5C3E\\u306E\\u7A7A\\u767D\\u6587\\u5B57\\u306E\\u5909\\u66F4\\u3092\\u7121\\u8996\\u3057\\u307E\\u3059\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u8FFD\\u52A0/\\u524A\\u9664\\u3055\\u308C\\u305F\\u5909\\u66F4\\u306B +/- \\u30A4\\u30F3\\u30B8\\u30B1\\u30FC\\u30BF\\u30FC\\u3092\\u793A\\u3059\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067 CodeLens \\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u884C\\u3092\\u6298\\u308A\\u8FD4\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u884C\\u3092\\u30D3\\u30E5\\u30FC\\u30DD\\u30FC\\u30C8\\u306E\\u5E45\\u3067\\u6298\\u308A\\u8FD4\\u3057\\u307E\\u3059\\u3002\",\"\\u884C\\u306F\\u3001{0} \\u306E\\u8A2D\\u5B9A\\u306B\\u5F93\\u3063\\u3066\\u6298\\u308A\\u8FD4\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5F93\\u6765\\u306E\\u5DEE\\u5206\\u30A2\\u30EB\\u30B4\\u30EA\\u30BA\\u30E0\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u9AD8\\u5EA6\\u306A\\u5DEE\\u5206\\u30A2\\u30EB\\u30B4\\u30EA\\u30BA\\u30E0\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u9818\\u57DF\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u672A\\u5909\\u66F4\\u306E\\u9818\\u57DF\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u7DDA\\u306E\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u9818\\u57DF\\u306E\\u6700\\u5C0F\\u5024\\u3068\\u3057\\u3066\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u7DDA\\u306E\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u9818\\u57DF\\u3092\\u6BD4\\u8F03\\u3059\\u308B\\u3068\\u304D\\u306B\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8\\u3068\\u3057\\u3066\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u884C\\u306E\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u691C\\u51FA\\u3055\\u308C\\u305F\\u30B3\\u30FC\\u30C9\\u306E\\u79FB\\u52D5\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u6587\\u5B57\\u304C\\u633F\\u5165\\u307E\\u305F\\u306F\\u524A\\u9664\\u3055\\u308C\\u305F\\u5834\\u6240\\u3092\\u78BA\\u8A8D\\u3059\\u308B\\u305F\\u3081\\u306B\\u3001\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u7A7A\\u306E\\u88C5\\u98FE\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u5316\\u3055\\u308C\\u3066\\u304A\\u308A\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D3\\u30E5\\u30FC\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3044\\u308B\\u5834\\u5408\\u3001\\u5358\\u8A9E\\u306E\\u5909\\u66F4\\u306F\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u3067\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D7\\u30E9\\u30C3\\u30C8\\u30D5\\u30A9\\u30FC\\u30E0 API \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u30B9\\u30AF\\u30EA\\u30FC\\u30F3 \\u30EA\\u30FC\\u30C0\\u30FC\\u304C\\u3044\\u3064\\u63A5\\u7D9A\\u3055\\u308C\\u305F\\u304B\\u3092\\u691C\\u51FA\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30AF\\u30EA\\u30FC\\u30F3 \\u30EA\\u30FC\\u30C0\\u30FC\\u3067\\u306E\\u4F7F\\u7528\\u3092\\u6700\\u9069\\u5316\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30AF\\u30EA\\u30FC\\u30F3 \\u30EA\\u30FC\\u30C0\\u30FC\\u304C\\u63A5\\u7D9A\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u3068\\u3057\\u307E\\u3059\\u3002\",\"\\u3053\\u306E UI \\u3092\\u30B9\\u30AF\\u30EA\\u30FC\\u30F3 \\u30EA\\u30FC\\u30C0\\u30FC\\u306B\\u6700\\u9069\\u5316\\u3055\\u308C\\u305F\\u30E2\\u30FC\\u30C9\\u3067\\u5B9F\\u884C\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30B3\\u30E1\\u30F3\\u30C8\\u6642\\u306B\\u7A7A\\u767D\\u6587\\u5B57\\u3092\\u633F\\u5165\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u884C\\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u8FFD\\u52A0\\u307E\\u305F\\u306F\\u524A\\u9664\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u5207\\u308A\\u66FF\\u3048\\u3067\\u3001\\u7A7A\\u306E\\u884C\\u3092\\u7121\\u8996\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u6307\\u5B9A\\u3057\\u306A\\u3044\\u3067\\u30B3\\u30D4\\u30FC\\u3059\\u308B\\u5834\\u5408\\u306B\\u73FE\\u5728\\u306E\\u884C\\u3092\\u30B3\\u30D4\\u30FC\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5165\\u529B\\u4E2D\\u306B\\u4E00\\u81F4\\u3092\\u691C\\u7D22\\u3059\\u308B\\u305F\\u3081\\u306B\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u30B8\\u30E3\\u30F3\\u30D7\\u3055\\u305B\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9078\\u629E\\u7BC4\\u56F2\\u304B\\u3089\\u691C\\u7D22\\u6587\\u5B57\\u5217\\u3092\\u30B7\\u30FC\\u30C9\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u4F4D\\u7F6E\\u306B\\u3042\\u308B\\u5358\\u8A9E\\u3092\\u542B\\u3081\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9078\\u629E\\u7BC4\\u56F2\\u304B\\u3089\\u691C\\u7D22\\u6587\\u5B57\\u5217\\u3092\\u5E38\\u306B\\u30B7\\u30FC\\u30C9\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9078\\u629E\\u7BC4\\u56F2\\u304B\\u3089\\u691C\\u7D22\\u6587\\u5B57\\u5217\\u306E\\u307F\\u3092\\u30B7\\u30FC\\u30C9\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9078\\u629E\\u7BC4\\u56F2\\u304B\\u3089\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u306E\\u691C\\u7D22\\u6587\\u5B57\\u5217\\u3092\\u4E0E\\u3048\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"[\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u691C\\u7D22] \\u3092\\u81EA\\u52D5\\u7684\\u306B\\u30AA\\u30F3\\u306B\\u3057\\u307E\\u305B\\u3093 (\\u65E2\\u5B9A)\\u3002\",\"[\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u691C\\u7D22] \\u3092\\u5E38\\u306B\\u81EA\\u52D5\\u7684\\u306B\\u30AA\\u30F3\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u8907\\u6570\\u884C\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u304C\\u9078\\u629E\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306F\\u3001[\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u691C\\u7D22] \\u3092\\u81EA\\u52D5\\u7684\\u306B\\u30AA\\u30F3\\u306B\\u3057\\u307E\\u3059\\u3002\",\"[\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u691C\\u7D22] \\u3092\\u81EA\\u52D5\\u7684\\u306B\\u30AA\\u30F3\\u306B\\u3059\\u308B\\u6761\\u4EF6\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"macOS \\u3067\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u5171\\u6709\\u306E\\u691C\\u7D22\\u30AF\\u30EA\\u30C3\\u30D7\\u30DC\\u30FC\\u30C9\\u3092\\u8AAD\\u307F\\u53D6\\u308A\\u307E\\u305F\\u306F\\u5909\\u66F4\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4E0A\\u306B\\u884C\\u3092\\u3055\\u3089\\u306B\\u8FFD\\u52A0\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002true \\u306E\\u5834\\u5408\\u3001\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u3068\\u304D\\u306B\\u6700\\u521D\\u306E\\u884C\\u3092\\u8D85\\u3048\\u3066\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u4EE5\\u964D\\u3067\\u4E00\\u81F4\\u304C\\u898B\\u3064\\u304B\\u3089\\u306A\\u3044\\u5834\\u5408\\u306B\\u3001\\u691C\\u7D22\\u3092\\u5148\\u982D\\u304B\\u3089 (\\u307E\\u305F\\u306F\\u672B\\u5C3E\\u304B\\u3089) \\u81EA\\u52D5\\u7684\\u306B\\u518D\\u5B9F\\u884C\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A9\\u30F3\\u30C8\\u306E\\u5408\\u5B57 ('calt' \\u304A\\u3088\\u3073 'liga' \\u30D5\\u30A9\\u30F3\\u30C8\\u306E\\u6A5F\\u80FD) \\u3092\\u6709\\u52B9\\u307E\\u305F\\u306F\\u7121\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002'font-feature-settings' CSS \\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u3092\\u8A73\\u7D30\\u306B\\u5236\\u5FA1\\u3059\\u308B\\u306B\\u306F\\u3001\\u3053\\u308C\\u3092\\u6587\\u5B57\\u5217\\u306B\\u5909\\u66F4\\u3057\\u307E\\u3059\\u3002\",\"\\u660E\\u793A\\u7684\\u306A 'font-feature-settings' CSS \\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u3002\\u5408\\u5B57\\u3092\\u6709\\u52B9\\u307E\\u305F\\u306F\\u7121\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308B\\u306E\\u304C 1 \\u3064\\u3060\\u3051\\u3067\\u3042\\u308B\\u5834\\u5408\\u306F\\u3001\\u4EE3\\u308F\\u308A\\u306B\\u30D6\\u30FC\\u30EB\\u5024\\u3092\\u6E21\\u3059\\u3053\\u3068\\u304C\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A9\\u30F3\\u30C8\\u306E\\u5408\\u5B57\\u3084\\u30D5\\u30A9\\u30F3\\u30C8\\u306E\\u6A5F\\u80FD\\u3092\\u69CB\\u6210\\u3057\\u307E\\u3059\\u3002\\u5408\\u5B57\\u3092\\u6709\\u52B9\\u307E\\u305F\\u306F\\u7121\\u52B9\\u306B\\u3059\\u308B\\u30D6\\u30FC\\u30EB\\u5024\\u307E\\u305F\\u306F CSS 'font-feature-settings' \\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u306E\\u5024\\u306E\\u6587\\u5B57\\u5217\\u3092\\u6307\\u5B9A\\u3067\\u304D\\u307E\\u3059\\u3002\",\"font-weight \\u304B\\u3089 font-variation-settings \\u3078\\u306E\\u5909\\u63DB\\u3092\\u6709\\u52B9/\\u7121\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002'font-variation-settings' CSS \\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u3092\\u7D30\\u304B\\u304F\\u5236\\u5FA1\\u3059\\u308B\\u305F\\u3081\\u306B\\u3001\\u3053\\u308C\\u3092\\u6587\\u5B57\\u5217\\u306B\\u5909\\u66F4\\u3057\\u307E\\u3059\\u3002\",\"\\u660E\\u793A\\u7684\\u306A 'font-variation-settings' CSS \\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u3002font-weight \\u3092 font-variation-settings \\u306B\\u5909\\u63DB\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308B\\u3060\\u3051\\u3067\\u3042\\u308C\\u3070\\u3001\\u4EE3\\u308F\\u308A\\u306B\\u30D6\\u30FC\\u30EB\\u5024\\u3092\\u6E21\\u3059\\u3053\\u3068\\u304C\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A9\\u30F3\\u30C8\\u306E\\u30D0\\u30EA\\u30A8\\u30FC\\u30B7\\u30E7\\u30F3\\u3092\\u69CB\\u6210\\u3057\\u307E\\u3059\\u3002font-weight \\u304B\\u3089 font-variation-settings \\u3078\\u306E\\u5909\\u63DB\\u3092\\u6709\\u52B9/\\u7121\\u52B9\\u306B\\u3059\\u308B\\u30D6\\u30FC\\u30EB\\u5024\\u3001\\u307E\\u305F\\u306F CSS 'font-variation-settings' \\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u306E\\u5024\\u306E\\u6587\\u5B57\\u5217\\u306E\\u3044\\u305A\\u308C\\u304B\\u3067\\u3059\\u3002\",\"\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA (\\u30D4\\u30AF\\u30BB\\u30EB\\u5358\\u4F4D) \\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",'\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u306E\\u306F \"\\u6A19\\u6E96\" \\u304A\\u3088\\u3073 \"\\u592A\\u5B57\" \\u306E\\u30AD\\u30FC\\u30EF\\u30FC\\u30C9\\u307E\\u305F\\u306F 1 \\uFF5E 1000 \\u306E\\u6570\\u5B57\\u306E\\u307F\\u3067\\u3059\\u3002','\\u30D5\\u30A9\\u30F3\\u30C8\\u306E\\u592A\\u3055\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\"\\u6A19\\u6E96\" \\u304A\\u3088\\u3073 \"\\u592A\\u5B57\" \\u306E\\u30AD\\u30FC\\u30EF\\u30FC\\u30C9\\u307E\\u305F\\u306F 1 \\uFF5E 1000 \\u306E\\u6570\\u5B57\\u3092\\u53D7\\u3051\\u5165\\u308C\\u307E\\u3059\\u3002',\"\\u7D50\\u679C\\u306E\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u3092\\u8868\\u793A (\\u65E2\\u5B9A)\",\"\\u4E3B\\u306A\\u7D50\\u679C\\u306B\\u79FB\\u52D5\\u3057\\u3001\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\",\"\\u30D7\\u30E9\\u30A4\\u30DE\\u30EA\\u7D50\\u679C\\u306B\\u79FB\\u52D5\\u3057\\u3001\\u4ED6\\u306E\\u30E6\\u30FC\\u30B6\\u30FC\\u3078\\u306E\\u30D4\\u30FC\\u30AF\\u30EC\\u30B9 \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\",\"\\u3053\\u306E\\u8A2D\\u5B9A\\u306F\\u975E\\u63A8\\u5968\\u3067\\u3059\\u3002\\u4EE3\\u308F\\u308A\\u306B\\u3001'editor.editor.gotoLocation.multipleDefinitions' \\u3084 'editor.editor.gotoLocation.multipleImplementations' \\u306A\\u3069\\u306E\\u500B\\u5225\\u306E\\u8A2D\\u5B9A\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u8907\\u6570\\u306E\\u30BF\\u30FC\\u30B2\\u30C3\\u30C8\\u306E\\u5834\\u6240\\u304C\\u3042\\u308B\\u3068\\u304D\\u306E '\\u5B9A\\u7FA9\\u3078\\u79FB\\u52D5' \\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u52D5\\u4F5C\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8907\\u6570\\u306E\\u30BF\\u30FC\\u30B2\\u30C3\\u30C8\\u306E\\u5834\\u6240\\u304C\\u3042\\u308B\\u3068\\u304D\\u306E '\\u578B\\u5B9A\\u7FA9\\u3078\\u79FB\\u52D5' \\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u52D5\\u4F5C\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8907\\u6570\\u306E\\u30BF\\u30FC\\u30B2\\u30C3\\u30C8\\u306E\\u5834\\u6240\\u304C\\u3042\\u308B\\u3068\\u304D\\u306E '\\u5BA3\\u8A00\\u3078\\u79FB\\u52D5' \\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u52D5\\u4F5C\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8907\\u6570\\u306E\\u30BF\\u30FC\\u30B2\\u30C3\\u30C8\\u306E\\u5834\\u6240\\u304C\\u3042\\u308B\\u3068\\u304D\\u306E '\\u5B9F\\u88C5\\u306B\\u79FB\\u52D5' \\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u52D5\\u4F5C\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30BF\\u30FC\\u30B2\\u30C3\\u30C8\\u306E\\u5834\\u6240\\u304C\\u8907\\u6570\\u5B58\\u5728\\u3059\\u308B\\u5834\\u5408\\u306E '\\u53C2\\u7167\\u3078\\u79FB\\u52D5' \\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u52D5\\u4F5C\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"'\\u5B9A\\u7FA9\\u3078\\u79FB\\u52D5' \\u306E\\u7D50\\u679C\\u304C\\u73FE\\u5728\\u306E\\u5834\\u6240\\u3067\\u3042\\u308B\\u5834\\u5408\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u308B\\u4EE3\\u66FF\\u30B3\\u30DE\\u30F3\\u30C9 ID\\u3002\",\"'\\u578B\\u5B9A\\u7FA9\\u3078\\u79FB\\u52D5' \\u306E\\u7D50\\u679C\\u304C\\u73FE\\u5728\\u306E\\u5834\\u6240\\u3067\\u3042\\u308B\\u5834\\u5408\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u308B\\u4EE3\\u66FF\\u30B3\\u30DE\\u30F3\\u30C9 ID\\u3002\",\"'\\u5BA3\\u8A00\\u3078\\u79FB\\u52D5' \\u306E\\u7D50\\u679C\\u304C\\u73FE\\u5728\\u306E\\u5834\\u6240\\u3067\\u3042\\u308B\\u5834\\u5408\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u308B\\u4EE3\\u66FF\\u30B3\\u30DE\\u30F3\\u30C9 ID\\u3002\",\"'\\u5B9F\\u88C5\\u3078\\u79FB\\u52D5' \\u306E\\u7D50\\u679C\\u304C\\u73FE\\u5728\\u306E\\u5834\\u6240\\u3067\\u3042\\u308B\\u5834\\u5408\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u308B\\u4EE3\\u66FF\\u30B3\\u30DE\\u30F3\\u30C9 ID\\u3002\",\"'\\u53C2\\u7167\\u3078\\u79FB\\u52D5' \\u306E\\u7D50\\u679C\\u304C\\u73FE\\u5728\\u306E\\u5834\\u6240\\u3067\\u3042\\u308B\\u5834\\u5408\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u308B\\u4EE3\\u66FF\\u30B3\\u30DE\\u30F3\\u30C9 ID\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u3092\\u8868\\u793A\\u5F8C\\u306E\\u5F85\\u3061\\u6642\\u9593 (\\u30DF\\u30EA\\u79D2) \\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u306B\\u30DE\\u30A6\\u30B9\\u3092\\u79FB\\u52D5\\u3057\\u305F\\u3068\\u304D\\u306B\\u3001\\u30DB\\u30D0\\u30FC\\u3092\\u8868\\u793A\\u3057\\u7D9A\\u3051\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u308B\\u307E\\u3067\\u306E\\u9045\\u5EF6\\u3092\\u30DF\\u30EA\\u79D2\\u5358\\u4F4D\\u3067\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002`editor.hover.sticky` \\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u3042\\u308B\\u5834\\u5408\\u306F\\u3001\\u884C\\u306E\\u4E0A\\u306B\\u30DE\\u30A6\\u30B9 \\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u88AB\\u305B\\u3066\\u8868\\u793A\\u3059\\u308B\\u3002\",\"\\u3059\\u3079\\u3066\\u306E\\u6587\\u5B57\\u306E\\u5E45\\u304C\\u540C\\u3058\\u3067\\u3042\\u308B\\u3068\\u4EEE\\u5B9A\\u3057\\u307E\\u3059\\u3002\\u3053\\u308C\\u306F\\u3001\\u30E2\\u30CE\\u30B9\\u30DA\\u30FC\\u30B9 \\u30D5\\u30A9\\u30F3\\u30C8\\u3084\\u3001\\u30B0\\u30EA\\u30D5\\u306E\\u5E45\\u304C\\u7B49\\u3057\\u3044\\u7279\\u5B9A\\u306E\\u30B9\\u30AF\\u30EA\\u30D7\\u30C8 (\\u30E9\\u30C6\\u30F3\\u6587\\u5B57\\u306A\\u3069) \\u3067\\u6B63\\u3057\\u304F\\u52D5\\u4F5C\\u3059\\u308B\\u9AD8\\u901F\\u30A2\\u30EB\\u30B4\\u30EA\\u30BA\\u30E0\\u3067\\u3059\\u3002\",\"\\u6298\\u308A\\u8FD4\\u3057\\u30DD\\u30A4\\u30F3\\u30C8\\u306E\\u8A08\\u7B97\\u3092\\u30D6\\u30E9\\u30A6\\u30B6\\u30FC\\u306B\\u30C7\\u30EA\\u30B2\\u30FC\\u30C8\\u3057\\u307E\\u3059\\u3002\\u3053\\u308C\\u306F\\u3001\\u5927\\u304D\\u306A\\u30D5\\u30A1\\u30A4\\u30EB\\u306E\\u30D5\\u30EA\\u30FC\\u30BA\\u3092\\u5F15\\u304D\\u8D77\\u3053\\u3059\\u53EF\\u80FD\\u6027\\u304C\\u3042\\u308B\\u3082\\u306E\\u306E\\u3001\\u3059\\u3079\\u3066\\u306E\\u30B1\\u30FC\\u30B9\\u3067\\u6B63\\u3057\\u304F\\u52D5\\u4F5C\\u3059\\u308B\\u4F4E\\u901F\\u306A\\u30A2\\u30EB\\u30B4\\u30EA\\u30BA\\u30E0\\u3067\\u3059\\u3002\",\"\\u6298\\u308A\\u8FD4\\u3057\\u30DD\\u30A4\\u30F3\\u30C8\\u3092\\u8A08\\u7B97\\u3059\\u308B\\u30A2\\u30EB\\u30B4\\u30EA\\u30BA\\u30E0\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u30A2\\u30AF\\u30BB\\u30B7\\u30D3\\u30EA\\u30C6\\u30A3 \\u30E2\\u30FC\\u30C9\\u3067\\u306F\\u3001\\u6700\\u9AD8\\u306E\\u30A8\\u30AF\\u30B9\\u30DA\\u30EA\\u30A8\\u30F3\\u30B9\\u3092\\u5B9F\\u73FE\\u3059\\u308B\\u305F\\u3081\\u306B\\u8A73\\u7D30\\u8A2D\\u5B9A\\u304C\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u3053\\u3068\\u306B\\u3054\\u6CE8\\u610F\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u7121\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u30B3\\u30FC\\u30C9\\u304C\\u5B58\\u5728\\u3059\\u308B\\u884C\\u306B\\u3042\\u308B\\u3068\\u304D\\u306B\\u3001\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u30B3\\u30FC\\u30C9\\u306E\\u3042\\u308B\\u884C\\u307E\\u305F\\u306F\\u7A7A\\u306E\\u884C\\u306B\\u3042\\u308B\\u3068\\u304D\\u306B\\u3001\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u96FB\\u7403\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u4E2D\\u306B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4E0A\\u90E8\\u306B\\u5165\\u308C\\u5B50\\u306B\\u306A\\u3063\\u305F\\u73FE\\u5728\\u306E\\u30B9\\u30B3\\u30FC\\u30D7\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u8868\\u793A\\u3059\\u308B\\u8FFD\\u5F93\\u884C\\u306E\\u6700\\u5927\\u6570\\u3092\\u5B9A\\u7FA9\\u3057\\u307E\\u3059\\u3002\",\"\\u56FA\\u5B9A\\u3059\\u308B\\u884C\\u3092\\u6C7A\\u5B9A\\u3059\\u308B\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3059\\u308B\\u30E2\\u30C7\\u30EB\\u3092\\u5B9A\\u7FA9\\u3057\\u307E\\u3059\\u3002\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3 \\u30E2\\u30C7\\u30EB\\u304C\\u5B58\\u5728\\u3057\\u306A\\u3044\\u5834\\u5408\\u3001\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30E2\\u30C7\\u30EB\\u306B\\u30D5\\u30A9\\u30FC\\u30EB\\u30D0\\u30C3\\u30AF\\u3059\\u308B\\u6298\\u308A\\u305F\\u305F\\u307F\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC \\u30E2\\u30C7\\u30EB\\u306B\\u30D5\\u30A9\\u30FC\\u30EB\\u30D0\\u30C3\\u30AF\\u3057\\u307E\\u3059\\u3002\\u3053\\u306E\\u9806\\u5E8F\\u306F\\u30013 \\u3064\\u306E\\u30B1\\u30FC\\u30B9\\u3059\\u3079\\u3066\\u3067\\u512A\\u5148\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u6C34\\u5E73\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB \\u30D0\\u30FC\\u3067\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306E\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30A4\\u30F3\\u30EC\\u30FC \\u30D2\\u30F3\\u30C8\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30EC\\u30A4 \\u30D2\\u30F3\\u30C8\\u304C\\u6709\\u52B9\\u306B\\u306A\\u3063\\u3066\\u3044\\u307E\\u3059\",\"\\u30A4\\u30F3\\u30EC\\u30A4 \\u30D2\\u30F3\\u30C8\\u306F\\u65E2\\u5B9A\\u3067\\u8868\\u793A\\u3055\\u308C\\u3001{0} \\u3092\\u62BC\\u3057\\u305F\\u307E\\u307E\\u306B\\u3059\\u308B\\u3068\\u975E\\u8868\\u793A\\u306B\\u306A\\u308A\\u307E\\u3059\",\"\\u30A4\\u30F3\\u30EC\\u30A4 \\u30D2\\u30F3\\u30C8\\u306F\\u65E2\\u5B9A\\u3067\\u306F\\u975E\\u8868\\u793A\\u306B\\u306A\\u308A\\u3001{0} \\u3092\\u62BC\\u3057\\u305F\\u307E\\u307E\\u306B\\u3059\\u308B\\u3068\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\",\"\\u30A4\\u30F3\\u30EC\\u30A4 \\u30D2\\u30F3\\u30C8\\u304C\\u7121\\u52B9\\u306B\\u306A\\u3063\\u3066\\u3044\\u307E\\u3059\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306E\\u89E3\\u8AAC\\u30D2\\u30F3\\u30C8\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u65E2\\u5B9A\\u3067\\u306F\\u3001{0} \\u306F\\u3001\\u69CB\\u6210\\u3055\\u308C\\u305F\\u5024\\u304C {1} \\u3088\\u308A\\u5C0F\\u3055\\u3044\\u304B\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u3088\\u308A\\u5927\\u304D\\u3044\\u5834\\u5408\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u89E3\\u8AAC\\u30D2\\u30F3\\u30C8\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30D5\\u30A1\\u30DF\\u30EA\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u7A7A\\u306B\\u8A2D\\u5B9A\\u3059\\u308B\\u3068\\u3001 {0} \\u304C\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306E\\u30A4\\u30F3\\u30EC\\u30A4 \\u30D2\\u30F3\\u30C8\\u306B\\u95A2\\u3059\\u308B\\u30D1\\u30C7\\u30A3\\u30F3\\u30B0\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",`\\u884C\\u306E\\u9AD8\\u3055\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\r\n - 0 \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u304B\\u3089\\u884C\\u306E\\u9AD8\\u3055\\u3092\\u81EA\\u52D5\\u7684\\u306B\\u8A08\\u7B97\\u3057\\u307E\\u3059\\u3002\\r\n - 0 \\u304B\\u3089 8 \\u307E\\u3067\\u306E\\u5024\\u306F\\u3001\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u306E\\u4E57\\u6570\\u3068\\u3057\\u3066\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\\r\n - 8 \\u4EE5\\u4E0A\\u306E\\u5024\\u306F\\u6709\\u52B9\\u5024\\u3068\\u3057\\u3066\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002`,\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u3092\\u81EA\\u52D5\\u7684\\u306B\\u975E\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306E\\u30B5\\u30A4\\u30BA\\u306F\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u3068\\u540C\\u3058\\u3067\\u3059 (\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3059\\u308B\\u5834\\u5408\\u304C\\u3042\\u308A\\u307E\\u3059)\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306F\\u3001\\u5FC5\\u8981\\u306B\\u5FDC\\u3058\\u3066\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9AD8\\u3055\\u3092\\u57CB\\u3081\\u308B\\u305F\\u3081\\u3001\\u62E1\\u5927\\u307E\\u305F\\u306F\\u7E2E\\u5C0F\\u3057\\u307E\\u3059 (\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3057\\u307E\\u305B\\u3093)\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306F\\u5FC5\\u8981\\u306B\\u5FDC\\u3058\\u3066\\u7E2E\\u5C0F\\u3057\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3088\\u308A\\u5927\\u304D\\u304F\\u306A\\u308B\\u3053\\u3068\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093 (\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3057\\u307E\\u305B\\u3093)\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306E\\u30B5\\u30A4\\u30BA\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u3092\\u8868\\u793A\\u3059\\u308B\\u5834\\u6240\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30B9\\u30E9\\u30A4\\u30C0\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\\u30BF\\u30A4\\u30DF\\u30F3\\u30B0\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306B\\u63CF\\u753B\\u3055\\u308C\\u308B\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306E\\u30B9\\u30B1\\u30FC\\u30EB: 1\\u30012\\u3001\\u307E\\u305F\\u306F 3\\u3002\",\"\\u884C\\u306B\\u30AB\\u30E9\\u30FC \\u30D6\\u30ED\\u30C3\\u30AF\\u3067\\u306F\\u306A\\u304F\\u5B9F\\u969B\\u306E\\u6587\\u5B57\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u8868\\u793A\\u3059\\u308B\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306E\\u6700\\u5927\\u5E45\\u3092\\u7279\\u5B9A\\u306E\\u5217\\u6570\\u306B\\u5236\\u9650\\u3057\\u307E\\u3059\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306E\\u540D\\u524D\\u4ED8\\u304D\\u9818\\u57DF\\u3092\\u30BB\\u30AF\\u30B7\\u30E7\\u30F3 \\u30D8\\u30C3\\u30C0\\u30FC\\u3068\\u3057\\u3066\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"MARK: \\u30B3\\u30E1\\u30F3\\u30C8\\u3092\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306E\\u30BB\\u30AF\\u30B7\\u30E7\\u30F3 \\u30D8\\u30C3\\u30C0\\u30FC\\u3068\\u3057\\u3066\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306E\\u30BB\\u30AF\\u30B7\\u30E7\\u30F3 \\u30D8\\u30C3\\u30C0\\u30FC\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30BB\\u30AF\\u30B7\\u30E7\\u30F3 \\u30D8\\u30C3\\u30C0\\u30FC\\u306E\\u6587\\u5B57\\u9593\\u9694\\u3092\\u30D4\\u30AF\\u30BB\\u30EB\\u5358\\u4F4D\\u3067\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u3053\\u308C\\u306B\\u3088\\u308A\\u3001\\u5C0F\\u3055\\u3044\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u306E\\u30D8\\u30C3\\u30C0\\u30FC\\u3092\\u8AAD\\u307F\\u53D6\\u308A\\u3084\\u3059\\u304F\\u306A\\u308A\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4E0A\\u7AEF\\u3068\\u6700\\u521D\\u306E\\u884C\\u306E\\u9593\\u306E\\u4F59\\u767D\\u306E\\u5927\\u304D\\u3055\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4E0B\\u7AEF\\u3068\\u6700\\u5F8C\\u306E\\u884C\\u306E\\u9593\\u306E\\u4F59\\u767D\\u306E\\u5927\\u304D\\u3055\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5165\\u529B\\u6642\\u306B\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC \\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u3068\\u578B\\u60C5\\u5831\\u3092\\u8868\\u793A\\u3059\\u308B\\u30DD\\u30C3\\u30D7\\u30A2\\u30C3\\u30D7\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC \\u30D2\\u30F3\\u30C8 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u5468\\u56DE\\u3059\\u308B\\u304B\\u3001\\u30EA\\u30B9\\u30C8\\u306E\\u6700\\u5F8C\\u3067\\u9589\\u3058\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u63D0\\u6848\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u306B\\u30AF\\u30A4\\u30C3\\u30AF\\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\",\"\\u30AF\\u30A4\\u30C3\\u30AF\\u5019\\u88DC\\u304C\\u30B4\\u30FC\\u30B9\\u30C8 \\u30C6\\u30AD\\u30B9\\u30C8\\u3068\\u3057\\u3066\\u8868\\u793A\\u3055\\u308C\\u308B\",\"\\u30AF\\u30A4\\u30C3\\u30AF\\u5019\\u88DC\\u304C\\u7121\\u52B9\\u306B\\u306A\\u3063\\u3066\\u3044\\u307E\\u3059\",\"\\u6587\\u5B57\\u5217\\u5185\\u3067\\u30AF\\u30A4\\u30C3\\u30AF\\u5019\\u88DC\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30B3\\u30E1\\u30F3\\u30C8\\u5185\\u3067\\u30AF\\u30A4\\u30C3\\u30AF\\u5019\\u88DC\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u6587\\u5B57\\u5217\\u304A\\u3088\\u3073\\u30B3\\u30E1\\u30F3\\u30C8\\u5916\\u3067\\u30AF\\u30A4\\u30C3\\u30AF\\u5019\\u88DC\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u5165\\u529B\\u4E2D\\u306B\\u5019\\u88DC\\u3092\\u81EA\\u52D5\\u7684\\u306B\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u3053\\u308C\\u306F\\u3001\\u30B3\\u30E1\\u30F3\\u30C8\\u3001\\u6587\\u5B57\\u5217\\u3001\\u304A\\u3088\\u3073\\u305D\\u306E\\u4ED6\\u306E\\u30B3\\u30FC\\u30C9\\u3092\\u5165\\u529B\\u3059\\u308B\\u305F\\u3081\\u306B\\u5236\\u5FA1\\u3067\\u304D\\u307E\\u3059\\u3002\\u30AF\\u30A4\\u30C3\\u30AF\\u63D0\\u6848\\u306F\\u3001\\u30B4\\u30FC\\u30B9\\u30C8 \\u30C6\\u30AD\\u30B9\\u30C8\\u3068\\u3057\\u3066\\u8868\\u793A\\u3059\\u308B\\u304B\\u3001\\u63D0\\u6848\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3067\\u8868\\u793A\\u3059\\u308B\\u3088\\u3046\\u306B\\u69CB\\u6210\\u3067\\u304D\\u307E\\u3059\\u3002\\u307E\\u305F\\u3001\\u63D0\\u6848\\u304C\\u7279\\u6B8A\\u6587\\u5B57\\u306B\\u3088\\u3063\\u3066\\u30C8\\u30EA\\u30AC\\u30FC\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3059\\u308B {0}-\\u8A2D\\u5B9A\\u306B\\u3082\\u6CE8\\u610F\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u884C\\u756A\\u53F7\\u306F\\u8868\\u793A\\u3055\\u308C\\u307E\\u305B\\u3093\\u3002\",\"\\u884C\\u756A\\u53F7\\u306F\\u3001\\u7D76\\u5BFE\\u5024\\u3068\\u3057\\u3066\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u884C\\u756A\\u53F7\\u306F\\u3001\\u30AB\\u30FC\\u30BD\\u30EB\\u4F4D\\u7F6E\\u307E\\u3067\\u306E\\u884C\\u6570\\u3068\\u3057\\u3066\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u884C\\u756A\\u53F7\\u306F 10 \\u884C\\u3054\\u3068\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u884C\\u756A\\u53F7\\u306E\\u8868\\u793A\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u3053\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30EB\\u30FC\\u30E9\\u30FC\\u304C\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u3059\\u308B\\u5358\\u4E00\\u9818\\u57DF\\u306E\\u6587\\u5B57\\u6570\\u3002\",\"\\u3053\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u8272\\u3067\\u3059\\u3002\",\"\\u7279\\u5B9A\\u306E\\u7B49\\u5E45\\u6587\\u5B57\\u6570\\u306E\\u5F8C\\u306B\\u5782\\u76F4\\u30EB\\u30FC\\u30E9\\u30FC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\\u8907\\u6570\\u306E\\u30EB\\u30FC\\u30E9\\u30FC\\u306B\\u306F\\u8907\\u6570\\u306E\\u5024\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\\u914D\\u5217\\u304C\\u7A7A\\u306E\\u5834\\u5408\\u306F\\u30EB\\u30FC\\u30E9\\u30FC\\u3092\\u8868\\u793A\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u5782\\u76F4\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306F\\u3001\\u5FC5\\u8981\\u306A\\u5834\\u5408\\u306B\\u306E\\u307F\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5782\\u76F4\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306F\\u5E38\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5782\\u76F4\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306F\\u5E38\\u306B\\u975E\\u8868\\u793A\\u306B\\u306A\\u308A\\u307E\\u3059\\u3002\",\"\\u5782\\u76F4\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306E\\u8868\\u793A\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u6C34\\u5E73\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306F\\u3001\\u5FC5\\u8981\\u306A\\u5834\\u5408\\u306B\\u306E\\u307F\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6C34\\u5E73\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306F\\u5E38\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6C34\\u5E73\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306F\\u5E38\\u306B\\u975E\\u8868\\u793A\\u306B\\u306A\\u308A\\u307E\\u3059\\u3002\",\"\\u6C34\\u5E73\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306E\\u8868\\u793A\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5782\\u76F4\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306E\\u5E45\\u3002\",\"\\u6C34\\u5E73\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306E\\u9AD8\\u3055\\u3002\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u3059\\u308B\\u3068\\u30DA\\u30FC\\u30B8\\u5358\\u4F4D\\u3067\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3059\\u308B\\u304B\\u3001\\u30AF\\u30EA\\u30C3\\u30AF\\u4F4D\\u7F6E\\u306B\\u30B8\\u30E3\\u30F3\\u30D7\\u3059\\u308B\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8A2D\\u5B9A\\u3059\\u308B\\u3068\\u3001\\u6C34\\u5E73\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB \\u30D0\\u30FC\\u306F\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306E\\u30B5\\u30A4\\u30BA\\u3092\\u5927\\u304D\\u304F\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u57FA\\u672C ASCII \\u4EE5\\u5916\\u306E\\u3059\\u3079\\u3066\\u306E\\u6587\\u5B57\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002U+0020 \\u304B\\u3089 U+007E \\u306E\\u9593\\u306E\\u6587\\u5B57\\u3001\\u30BF\\u30D6\\u3001\\u6539\\u884C (LF)\\u3001\\u884C\\u982D\\u5FA9\\u5E30\\u306E\\u307F\\u304C\\u57FA\\u672C ASCII \\u3068\\u898B\\u306A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u7A7A\\u767D\\u3092\\u5360\\u3081\\u308B\\u3060\\u3051\\u306E\\u6587\\u5B57\\u3084\\u5E45\\u304C\\u307E\\u3063\\u305F\\u304F\\u306A\\u3044\\u6587\\u5B57\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u73FE\\u5728\\u306E\\u30E6\\u30FC\\u30B6\\u30FC \\u30ED\\u30B1\\u30FC\\u30EB\\u3067\\u4E00\\u822C\\u7684\\u306A\\u6587\\u5B57\\u3092\\u9664\\u304D\\u3001\\u57FA\\u672C\\u7684\\u306A ASCII \\u6587\\u5B57\\u3068\\u6DF7\\u540C\\u3055\\u308C\\u308B\\u53EF\\u80FD\\u6027\\u306E\\u3042\\u308B\\u6587\\u5B57\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30B3\\u30E1\\u30F3\\u30C8\\u5185\\u306E\\u6587\\u5B57\\u3092 Unicode \\u5F37\\u8ABF\\u8868\\u793A\\u306E\\u5BFE\\u8C61\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u6587\\u5B57\\u5217\\u5185\\u306E\\u6587\\u5B57\\u3092 Unicode \\u5F37\\u8ABF\\u8868\\u793A\\u306E\\u5BFE\\u8C61\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5F37\\u8ABF\\u8868\\u793A\\u305B\\u305A\\u8A31\\u53EF\\u3055\\u308C\\u308B\\u6587\\u5B57\\u3092\\u5B9A\\u7FA9\\u3057\\u307E\\u3059\\u3002\",\"\\u8A31\\u53EF\\u3055\\u308C\\u3066\\u3044\\u308B\\u30ED\\u30B1\\u30FC\\u30EB\\u3067\\u4E00\\u822C\\u7684\\u306A Unicode \\u6587\\u5B57\\u306F\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u307E\\u305B\\u3093\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u3092\\u81EA\\u52D5\\u7684\\u306B\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u305F\\u3073\\u306B\\u3001\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u30C4\\u30FC\\u30EB \\u30D0\\u30FC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u306B\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u5408\\u308F\\u305B\\u308B\\u305F\\u3073\\u306B\\u3001\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u30C4\\u30FC\\u30EB \\u30D0\\u30FC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u30C4\\u30FC\\u30EB \\u30D0\\u30FC\\u3092\\u4ECA\\u5F8C\\u306F\\u8868\\u793A\\u3057\\u306A\\u3044\\u3067\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u30C4\\u30FC\\u30EB \\u30D0\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\\u30BF\\u30A4\\u30DF\\u30F3\\u30B0\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u63D0\\u6848\\u3068\\u63D0\\u6848\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u76F8\\u4E92\\u4F5C\\u7528\\u306E\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u6709\\u52B9\\u3059\\u308B\\u3068\\u3001\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u304C\\u4F7F\\u7528\\u53EF\\u80FD\\u306A\\u5834\\u5408\\u306F\\u3001\\u63D0\\u6848\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u81EA\\u52D5\\u7684\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u305B\\u3093\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u63D0\\u6848\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30D5\\u30A1\\u30DF\\u30EA\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",null,null,null,null,null,null,\"\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8\\u306E\\u30DA\\u30A2\\u306E\\u8272\\u4ED8\\u3051\\u304C\\u6709\\u52B9\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002 {0} \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u306E\\u8272\\u3092\\u30AA\\u30FC\\u30D0\\u30FC\\u30E9\\u30A4\\u30C9\\u3057\\u307E\\u3059\\u3002\",\"\\u62EC\\u5F27\\u306E\\u5404\\u7A2E\\u5225\\u304C\\u3001\\u500B\\u5225\\u306E\\u30AB\\u30E9\\u30FC \\u30D7\\u30FC\\u30EB\\u3092\\u4FDD\\u6301\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2\\u306B\\u5BFE\\u3057\\u3066\\u306E\\u307F\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u7121\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2\\u306E\\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u7E26\\u306E\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2\\u306E\\u30AC\\u30A4\\u30C9\\u306B\\u52A0\\u3048\\u3066\\u3001\\u540C\\u3058\\u304F\\u6C34\\u5E73\\u306E\\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2\\u306B\\u5BFE\\u3057\\u3066\\u306E\\u307F\\u3001\\u6C34\\u5E73\\u306E\\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u6C34\\u5E73\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u7121\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u6C34\\u5E73\\u65B9\\u5411\\u306E\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8 \\u30DA\\u30A2\\u306E\\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053\\u30AC\\u30A4\\u30C9\\u304C\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u3067\\u3082\\u3001\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u306A\\u3044\\u3067\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u306E\\u30AC\\u30A4\\u30C9\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u53F3\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u3092\\u4E0A\\u66F8\\u304D\\u305B\\u305A\\u306B\\u5019\\u88DC\\u3092\\u633F\\u5165\\u3057\\u307E\\u3059\\u3002\",\"\\u5019\\u88DC\\u3092\\u633F\\u5165\\u3057\\u3001\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u53F3\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u3092\\u4E0A\\u66F8\\u304D\\u3057\\u307E\\u3059\\u3002\",\"\\u5165\\u529B\\u5019\\u88DC\\u3092\\u53D7\\u3051\\u5165\\u308C\\u308B\\u3068\\u304D\\u306B\\u5358\\u8A9E\\u3092\\u4E0A\\u66F8\\u304D\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u3053\\u308C\\u306F\\u3001\\u3053\\u306E\\u6A5F\\u80FD\\u306E\\u5229\\u7528\\u3092\\u9078\\u629E\\u3059\\u308B\\u62E1\\u5F35\\u6A5F\\u80FD\\u306B\\u4F9D\\u5B58\\u3059\\u308B\\u3053\\u3068\\u306B\\u3054\\u6CE8\\u610F\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u5019\\u88DC\\u306E\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC\\u51E6\\u7406\\u3068\\u4E26\\u3073\\u66FF\\u3048\\u3067\\u3055\\u3055\\u3044\\u306A\\u5165\\u529B\\u30DF\\u30B9\\u3092\\u8003\\u616E\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u4E26\\u3079\\u66FF\\u3048\\u304C\\u30AB\\u30FC\\u30BD\\u30EB\\u4ED8\\u8FD1\\u306B\\u8868\\u793A\\u3055\\u308C\\u308B\\u5358\\u8A9E\\u3092\\u512A\\u5148\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u4FDD\\u5B58\\u3055\\u308C\\u305F\\u5019\\u88DC\\u30BB\\u30AF\\u30B7\\u30E7\\u30F3\\u3092\\u8907\\u6570\\u306E\\u30EF\\u30FC\\u30AF\\u30D7\\u30EC\\u30FC\\u30B9\\u3068\\u30A6\\u30A3\\u30F3\\u30C9\\u30A6\\u3067\\u5171\\u6709\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059 (`#editor.suggestSelection#` \\u304C\\u5FC5\\u8981)\\u3002\",\"IntelliSense \\u3092\\u81EA\\u52D5\\u3067\\u30C8\\u30EA\\u30AC\\u30FC\\u3059\\u308B\\u5834\\u5408\\u306B\\u3001\\u5E38\\u306B\\u5019\\u88DC\\u3092\\u9078\\u629E\\u3057\\u307E\\u3059\\u3002\",\"IntelliSense \\u3092\\u81EA\\u52D5\\u3067\\u30C8\\u30EA\\u30AC\\u30FC\\u3059\\u308B\\u5834\\u5408\\u306B\\u3001\\u5019\\u88DC\\u3092\\u9078\\u629E\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u30C8\\u30EA\\u30AC\\u30FC\\u6587\\u5B57\\u304B\\u3089 IntelliSense \\u3092\\u30C8\\u30EA\\u30AC\\u30FC\\u3059\\u308B\\u5834\\u5408\\u306B\\u306E\\u307F\\u3001\\u5019\\u88DC\\u3092\\u9078\\u629E\\u3057\\u307E\\u3059\\u3002\",\"\\u5165\\u529B\\u6642\\u306B IntelliSense \\u3092\\u30C8\\u30EA\\u30AC\\u30FC\\u3059\\u308B\\u5834\\u5408\\u306B\\u306E\\u307F\\u3001\\u5019\\u88DC\\u3092\\u9078\\u629E\\u3057\\u307E\\u3059\\u3002\",\"\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u969B\\u306B\\u5019\\u88DC\\u3092\\u9078\\u629E\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u3053\\u308C\\u306F\\u3001\\u81EA\\u52D5\\u7684\\u306B\\u30C8\\u30EA\\u30AC\\u30FC\\u3055\\u308C\\u308B\\u63D0\\u6848 ({0} \\u304A\\u3088\\u3073 {1}) \\u306B\\u306E\\u307F\\u9069\\u7528\\u3055\\u308C\\u3001\\u660E\\u793A\\u7684\\u306B\\u547C\\u3073\\u51FA\\u3055\\u308C\\u305F\\u5834\\u5408 (\\u4F8B: `Ctrl + Space`) \\u3067\\u63D0\\u6848\\u304C\\u5E38\\u306B\\u9078\\u629E\\u3055\\u308C\\u308B\\u3053\\u3068\\u306B\\u6CE8\\u610F\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6 \\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u304C\\u30AF\\u30A4\\u30C3\\u30AF\\u5019\\u88DC\\u3092\\u9632\\u6B62\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u63D0\\u6848\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3001\\u975E\\u8868\\u793A\\u306B\\u3059\\u308B\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u4E0B\\u90E8\\u306B\\u3042\\u308B\\u30B9\\u30C6\\u30FC\\u30BF\\u30B9 \\u30D0\\u30FC\\u306E\\u8868\\u793A\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u63D0\\u6848\\u306E\\u7D50\\u679C\\u3092\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5019\\u88DC\\u306E\\u8A73\\u7D30\\u3092\\u30E9\\u30D9\\u30EB\\u4ED8\\u304D\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u3067\\u8868\\u793A\\u3059\\u308B\\u304B\\u3001\\u8A73\\u7D30\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u306E\\u307F\\u8868\\u793A\\u3059\\u308B\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u3053\\u306E\\u8A2D\\u5B9A\\u306F\\u975E\\u63A8\\u5968\\u3067\\u3059\\u3002\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u30B5\\u30A4\\u30BA\\u5909\\u66F4\\u304C\\u3067\\u304D\\u308B\\u3088\\u3046\\u306B\\u306A\\u308A\\u307E\\u3057\\u305F\\u3002\",\"\\u3053\\u306E\\u8A2D\\u5B9A\\u306F\\u975E\\u63A8\\u5968\\u3067\\u3059\\u3002\\u4EE3\\u308F\\u308A\\u306B\\u3001'editor.suggest.showKeywords' \\u3084 'editor.suggest.showSnippets' \\u306A\\u3069\\u306E\\u500B\\u5225\\u306E\\u8A2D\\u5B9A\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30E1\\u30BD\\u30C3\\u30C9` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u95A2\\u6570` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30B3\\u30F3\\u30B9\\u30C8\\u30E9\\u30AF\\u30BF\\u30FC` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u975E\\u63A8\\u5968` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306E\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC\\u51E6\\u7406\\u3067\\u306F\\u3001\\u5358\\u8A9E\\u306E\\u5148\\u982D\\u3067\\u6700\\u521D\\u306E\\u6587\\u5B57\\u304C\\u4E00\\u81F4\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\\u305F\\u3068\\u3048\\u3070\\u3001`Console` \\u3084 `WebContext` \\u306E\\u5834\\u5408\\u306F `c`\\u3001`description` \\u306E\\u5834\\u5408\\u306F _not_ \\u3067\\u3059\\u3002\\u7121\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306F\\u3088\\u308A\\u591A\\u304F\\u306E\\u7D50\\u679C\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u304C\\u3001\\u4E00\\u81F4\\u54C1\\u8CEA\\u3067\\u4E26\\u3079\\u66FF\\u3048\\u3089\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u5909\\u6570` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B '\\u30AF\\u30E9\\u30B9' \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u69CB\\u9020\\u4F53` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30A4\\u30F3\\u30BF\\u30FC\\u30D5\\u30A7\\u30A4\\u30B9` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30E2\\u30B8\\u30E5\\u30FC\\u30EB` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30D7\\u30ED\\u30D1\\u30C6\\u30A3` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30A4\\u30D9\\u30F3\\u30C8` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u6F14\\u7B97\\u5B50` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30E6\\u30CB\\u30C3\\u30C8` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u5024` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u5B9A\\u6570` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u5217\\u6319\\u578B` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `enumMember` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30AD\\u30FC\\u30EF\\u30FC\\u30C9` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B '\\u30C6\\u30AD\\u30B9\\u30C8' -\\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u8272` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B '\\u30D5\\u30A1\\u30A4\\u30EB' \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u53C2\\u7167` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `customcolor` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30D5\\u30A9\\u30EB\\u30C0\\u30FC` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `typeParameter` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B `\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8` \\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306A\\u5834\\u5408\\u3001IntelliSense \\u306B\\u3088\\u3063\\u3066 '\\u30E6\\u30FC\\u30B6\\u30FC' \\u5019\\u88DC\\u304C\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6709\\u52B9\\u306B\\u3059\\u308B\\u3068\\u3001IntelliSense \\u306B\\u3088\\u3063\\u3066 '\\u554F\\u984C' \\u5019\\u88DC\\u304C\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5148\\u982D\\u3068\\u672B\\u5C3E\\u306E\\u7A7A\\u767D\\u3092\\u5E38\\u306B\\u9078\\u629E\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3002\",\"\\u30B5\\u30D6\\u30EF\\u30FC\\u30C9 ('fooBar' \\u306E 'foo' \\u307E\\u305F\\u306F 'foo_bar' \\u306A\\u3069) \\u3092\\u9078\\u629E\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\\u3002\",\"\\u5358\\u8A9E\\u306B\\u95A2\\u9023\\u3059\\u308B\\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u307E\\u305F\\u306F\\u64CD\\u4F5C\\u3092\\u884C\\u3046\\u3068\\u304D\\u306B\\u5358\\u8A9E\\u306E\\u30BB\\u30B0\\u30E1\\u30F3\\u30C8\\u5316\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u30ED\\u30B1\\u30FC\\u30EB\\u3002\\u8A8D\\u8B58\\u3059\\u308B\\u5358\\u8A9E\\u306E BCP 47 \\u8A00\\u8A9E\\u30BF\\u30B0\\u3092\\u6307\\u5B9A\\u3057\\u307E\\u3059 (\\u4F8B: ja\\u3001zh-CN\\u3001zh-Hant-TW \\u306A\\u3069)\\u3002\",\"\\u5358\\u8A9E\\u306B\\u95A2\\u9023\\u3059\\u308B\\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u307E\\u305F\\u306F\\u64CD\\u4F5C\\u3092\\u884C\\u3046\\u3068\\u304D\\u306B\\u5358\\u8A9E\\u306E\\u30BB\\u30B0\\u30E1\\u30F3\\u30C8\\u5316\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u30ED\\u30B1\\u30FC\\u30EB\\u3002\\u8A8D\\u8B58\\u3059\\u308B\\u5358\\u8A9E\\u306E BCP 47 \\u8A00\\u8A9E\\u30BF\\u30B0\\u3092\\u6307\\u5B9A\\u3057\\u307E\\u3059 (\\u4F8B: ja\\u3001zh-CN\\u3001zh-Hant-TW \\u306A\\u3069)\\u3002\",\"\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3057\\u307E\\u305B\\u3093\\u3002 \\u6298\\u308A\\u8FD4\\u3057\\u884C\\u306F\\u5217 1 \\u304B\\u3089\\u59CB\\u307E\\u308A\\u307E\\u3059\\u3002\",\"\\u6298\\u308A\\u8FD4\\u3057\\u884C\\u306F\\u3001\\u89AA\\u3068\\u540C\\u3058\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u306B\\u306A\\u308A\\u307E\\u3059\\u3002\",\"\\u6298\\u308A\\u8FD4\\u3057\\u884C\\u306F\\u3001\\u89AA +1 \\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u306B\\u306A\\u308A\\u307E\\u3059\\u3002\",\"\\u6298\\u308A\\u8FD4\\u3057\\u884C\\u306F\\u3001\\u89AA +2 \\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u306B\\u306A\\u308A\\u307E\\u3059\\u3002\",\"\\u6298\\u308A\\u8FD4\\u3057\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"(\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30D5\\u30A1\\u30A4\\u30EB\\u3092\\u958B\\u304F\\u4EE3\\u308F\\u308A\\u306B) `Shift` \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u306A\\u304C\\u3089\\u30C6\\u30AD\\u30B9\\u30C8 \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30D5\\u30A1\\u30A4\\u30EB\\u3092\\u30C9\\u30E9\\u30C3\\u30B0 \\u30A2\\u30F3\\u30C9 \\u30C9\\u30ED\\u30C3\\u30D7\\u3067\\u304D\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30D5\\u30A1\\u30A4\\u30EB\\u3092\\u30C9\\u30ED\\u30C3\\u30D7\\u3059\\u308B\\u3068\\u304D\\u306B\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u3053\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3067\\u306F\\u3001\\u30D5\\u30A1\\u30A4\\u30EB\\u306E\\u30C9\\u30ED\\u30C3\\u30D7\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A1\\u30A4\\u30EB\\u304C\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30C9\\u30ED\\u30C3\\u30D7\\u3055\\u308C\\u305F\\u5F8C\\u306B\\u3001\\u30C9\\u30ED\\u30C3\\u30D7 \\u30BB\\u30EC\\u30AF\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30C9\\u30ED\\u30C3\\u30D7 \\u30BB\\u30EC\\u30AF\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u8868\\u793A\\u3057\\u307E\\u305B\\u3093\\u3002\\u4EE3\\u308F\\u308A\\u306B\\u3001\\u65E2\\u5B9A\\u306E\\u30C9\\u30ED\\u30C3\\u30D7 \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u5E38\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u3055\\u307E\\u3056\\u307E\\u306A\\u65B9\\u6CD5\\u3067\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u3092\\u8CBC\\u308A\\u4ED8\\u3051\\u308B\\u3053\\u3068\\u304C\\u3067\\u304D\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u3092\\u8CBC\\u308A\\u4ED8\\u3051\\u308B\\u3068\\u304D\\u306B\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u3053\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u4F7F\\u7528\\u3059\\u308B\\u3068\\u3001\\u30D5\\u30A1\\u30A4\\u30EB\\u306E\\u8CBC\\u308A\\u4ED8\\u3051\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u3092\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u8CBC\\u308A\\u4ED8\\u3051\\u305F\\u5F8C\\u3001\\u8CBC\\u308A\\u4ED8\\u3051\\u30BB\\u30EC\\u30AF\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u30BB\\u30EC\\u30AF\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u8868\\u793A\\u3057\\u306A\\u3044\\u3067\\u304F\\u3060\\u3055\\u3044\\u3002\\u4EE3\\u308F\\u308A\\u306B\\u3001\\u65E2\\u5B9A\\u306E\\u8CBC\\u308A\\u4ED8\\u3051\\u52D5\\u4F5C\\u304C\\u5E38\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30B3\\u30DF\\u30C3\\u30C8\\u6587\\u5B57\\u3067\\u5019\\u88DC\\u3092\\u53D7\\u3051\\u5165\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u305F\\u3068\\u3048\\u3070\\u3001JavaScript \\u3067\\u306F\\u30BB\\u30DF\\u30B3\\u30ED\\u30F3 (`;`) \\u3092\\u30B3\\u30DF\\u30C3\\u30C8\\u6587\\u5B57\\u306B\\u3057\\u3066\\u3001\\u5019\\u88DC\\u3092\\u53D7\\u3051\\u5165\\u308C\\u3066\\u305D\\u306E\\u6587\\u5B57\\u3092\\u5165\\u529B\\u3059\\u308B\\u3053\\u3068\\u304C\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u5909\\u66F4\\u3092\\u884C\\u3046\\u3068\\u304D\\u3001`Enter` \\u3092\\u4F7F\\u7528\\u3059\\u308B\\u5834\\u5408\\u306B\\u306E\\u307F\\u5019\\u88DC\\u3092\\u53D7\\u3051\\u4ED8\\u3051\\u307E\\u3059\\u3002\",\"`Tab` \\u30AD\\u30FC\\u306B\\u52A0\\u3048\\u3066 `Enter` \\u30AD\\u30FC\\u3067\\u5019\\u88DC\\u3092\\u53D7\\u3051\\u5165\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u6539\\u884C\\u306E\\u633F\\u5165\\u3084\\u5019\\u88DC\\u306E\\u53CD\\u6620\\u306E\\u9593\\u3067\\u3042\\u3044\\u307E\\u3044\\u3055\\u3092\\u89E3\\u6D88\\u3059\\u308B\\u306E\\u306B\\u5F79\\u7ACB\\u3061\\u307E\\u3059\\u3002\",\"\\u4E00\\u5EA6\\u306B\\u30B9\\u30AF\\u30EA\\u30FC\\u30F3 \\u30EA\\u30FC\\u30C0\\u30FC\\u306B\\u3088\\u3063\\u3066\\u8AAD\\u307F\\u4E0A\\u3052\\u308B\\u3053\\u3068\\u304C\\u3067\\u304D\\u308B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u884C\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u30B9\\u30AF\\u30EA\\u30FC\\u30F3 \\u30EA\\u30FC\\u30C0\\u30FC\\u304C\\u691C\\u51FA\\u3055\\u308C\\u308B\\u3068\\u3001\\u65E2\\u5B9A\\u5024\\u304C 500 \\u306B\\u81EA\\u52D5\\u7684\\u306B\\u8A2D\\u5B9A\\u3055\\u308C\\u307E\\u3059\\u3002\\u8B66\\u544A: \\u65E2\\u5B9A\\u5024\\u3088\\u308A\\u5927\\u304D\\u3044\\u6570\\u5024\\u306E\\u5834\\u5408\\u306F\\u3001\\u30D1\\u30D5\\u30A9\\u30FC\\u30DE\\u30F3\\u30B9\\u306B\\u5F71\\u97FF\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\",\"\\u30B9\\u30AF\\u30EA\\u30FC\\u30F3 \\u30EA\\u30FC\\u30C0\\u30FC\\u306B\\u3088\\u3063\\u3066\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u304C\\u8AAD\\u307F\\u4E0A\\u3052\\u3089\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8A00\\u8A9E\\u8A2D\\u5B9A\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u3044\\u3064\\u304B\\u3063\\u3053\\u3092\\u81EA\\u52D5\\u30AF\\u30ED\\u30FC\\u30BA\\u3059\\u308B\\u304B\\u6C7A\\u5B9A\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u7A7A\\u767D\\u6587\\u5B57\\u306E\\u5DE6\\u306B\\u3042\\u308B\\u3068\\u304D\\u3060\\u3051\\u3001\\u304B\\u3063\\u3053\\u3092\\u81EA\\u52D5\\u30AF\\u30ED\\u30FC\\u30BA\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u5DE6\\u89D2\\u304B\\u3063\\u3053\\u3092\\u8FFD\\u52A0\\u3057\\u305F\\u5F8C\\u306B\\u81EA\\u52D5\\u7684\\u306B\\u53F3\\u89D2\\u304B\\u3063\\u3053\\u3092\\u633F\\u5165\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8A00\\u8A9E\\u8A2D\\u5B9A\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u3044\\u3064\\u304B\\u3063\\u3053\\u3092\\u81EA\\u52D5\\u30AF\\u30ED\\u30FC\\u30BA\\u3059\\u308B\\u304B\\u6C7A\\u5B9A\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u7A7A\\u767D\\u6587\\u5B57\\u306E\\u5DE6\\u306B\\u3042\\u308B\\u3068\\u304D\\u3060\\u3051\\u3001\\u30B3\\u30E1\\u30F3\\u30C8\\u3092\\u81EA\\u52D5\\u30AF\\u30ED\\u30FC\\u30BA\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30B3\\u30E1\\u30F3\\u30C8\\u3092\\u958B\\u59CB\\u3057\\u305F\\u5F8C\\u306B\\u81EA\\u52D5\\u7684\\u306B\\u30B3\\u30E1\\u30F3\\u30C8\\u3092\\u9589\\u3058\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u96A3\\u63A5\\u3059\\u308B\\u7D42\\u308F\\u308A\\u5F15\\u7528\\u7B26\\u307E\\u305F\\u306F\\u62EC\\u5F27\\u304C\\u81EA\\u52D5\\u7684\\u306B\\u633F\\u5165\\u3055\\u308C\\u305F\\u5834\\u5408\\u306B\\u306E\\u307F\\u3001\\u305D\\u308C\\u3089\\u3092\\u524A\\u9664\\u3057\\u307E\\u3059\\u3002\",\"\\u524A\\u9664\\u6642\\u306B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u96A3\\u63A5\\u3059\\u308B\\u7D42\\u308F\\u308A\\u5F15\\u7528\\u7B26\\u307E\\u305F\\u306F\\u62EC\\u5F27\\u3092\\u524A\\u9664\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u7D42\\u308F\\u308A\\u5F15\\u7528\\u7B26\\u307E\\u305F\\u306F\\u62EC\\u5F27\\u304C\\u81EA\\u52D5\\u7684\\u306B\\u633F\\u5165\\u3055\\u308C\\u305F\\u5834\\u5408\\u306B\\u306E\\u307F\\u3001\\u305D\\u308C\\u3089\\u3092\\u4E0A\\u66F8\\u304D\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u7D42\\u308F\\u308A\\u5F15\\u7528\\u7B26\\u307E\\u305F\\u306F\\u62EC\\u5F27\\u3092\\u4E0A\\u66F8\\u304D\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8A00\\u8A9E\\u8A2D\\u5B9A\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u3044\\u3064\\u5F15\\u7528\\u7B26\\u3092\\u81EA\\u52D5\\u30AF\\u30ED\\u30FC\\u30BA\\u3059\\u308B\\u304B\\u6C7A\\u5B9A\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u7A7A\\u767D\\u6587\\u5B57\\u306E\\u5DE6\\u306B\\u3042\\u308B\\u3068\\u304D\\u3060\\u3051\\u3001\\u5F15\\u7528\\u7B26\\u3092\\u81EA\\u52D5\\u30AF\\u30ED\\u30FC\\u30BA\\u3057\\u307E\\u3059\\u3002\",\"\\u30E6\\u30FC\\u30B6\\u30FC\\u304C\\u958B\\u59CB\\u5F15\\u7528\\u7B26\\u3092\\u8FFD\\u52A0\\u3057\\u305F\\u5F8C\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u81EA\\u52D5\\u7684\\u306B\\u5F15\\u7528\\u7B26\\u3092\\u9589\\u3058\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306F\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u81EA\\u52D5\\u7684\\u306B\\u633F\\u5165\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306F\\u3001\\u73FE\\u5728\\u306E\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u4FDD\\u6301\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306F\\u3001\\u73FE\\u5728\\u306E\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u4FDD\\u6301\\u3057\\u3001\\u8A00\\u8A9E\\u304C\\u5B9A\\u7FA9\\u3055\\u308C\\u305F\\u304B\\u3063\\u3053\\u3092\\u512A\\u5148\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306F\\u3001\\u73FE\\u5728\\u306E\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u4FDD\\u6301\\u3057\\u3001\\u8A00\\u8A9E\\u304C\\u5B9A\\u7FA9\\u3055\\u308C\\u305F\\u304B\\u3063\\u3053\\u3092\\u512A\\u5148\\u3057\\u3001\\u8A00\\u8A9E\\u3067\\u5B9A\\u7FA9\\u3055\\u308C\\u305F\\u7279\\u5225\\u306A onEnterRules \\u3092\\u547C\\u3073\\u51FA\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306F\\u3001\\u73FE\\u5728\\u306E\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u4FDD\\u6301\\u3057\\u3001\\u8A00\\u8A9E\\u304C\\u5B9A\\u7FA9\\u3055\\u308C\\u305F\\u304B\\u3063\\u3053\\u3092\\u512A\\u5148\\u3057\\u3001\\u8A00\\u8A9E\\u3067\\u5B9A\\u7FA9\\u3055\\u308C\\u305F\\u7279\\u5225\\u306A onEnterRules \\u3092\\u547C\\u3073\\u51FA\\u3057\\u3001\\u8A00\\u8A9E\\u3067\\u5B9A\\u7FA9\\u3055\\u308C\\u305F indentationRules \\u3092\\u512A\\u5148\\u3057\\u307E\\u3059\\u3002\",\"\\u30E6\\u30FC\\u30B6\\u30FC\\u304C\\u884C\\u3092\\u5165\\u529B\\u3001\\u8CBC\\u308A\\u4ED8\\u3051\\u3001\\u79FB\\u52D5\\u3001\\u307E\\u305F\\u306F\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3059\\u308B\\u3068\\u304D\\u306B\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u81EA\\u52D5\\u7684\\u306B\\u8ABF\\u6574\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8A00\\u8A9E\\u69CB\\u6210\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u3044\\u3064\\u81EA\\u52D5\\u7684\\u306B\\u56F2\\u3080\\u304B\\u3092\\u5224\\u65AD\\u3057\\u307E\\u3059\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053\\u3067\\u306F\\u306A\\u304F\\u3001\\u5F15\\u7528\\u7B26\\u3067\\u56F2\\u307F\\u307E\\u3059\\u3002\",\"\\u5F15\\u7528\\u7B26\\u3067\\u306F\\u306A\\u304F\\u3001\\u89D2\\u304B\\u3063\\u3053\\u3067\\u56F2\\u307F\\u307E\\u3059\\u3002\",\"\\u5F15\\u7528\\u7B26\\u307E\\u305F\\u306F\\u89D2\\u304B\\u3063\\u3053\\u3092\\u5165\\u529B\\u3059\\u308B\\u3068\\u304D\\u306B\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u81EA\\u52D5\\u7684\\u306B\\u56F2\\u3080\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u306B\\u30B9\\u30DA\\u30FC\\u30B9\\u3092\\u4F7F\\u7528\\u3059\\u308B\\u3068\\u304D\\u306F\\u3001\\u30BF\\u30D6\\u6587\\u5B57\\u306E\\u9078\\u629E\\u52D5\\u4F5C\\u3092\\u30A8\\u30DF\\u30E5\\u30EC\\u30FC\\u30C8\\u3057\\u307E\\u3059\\u3002\\u9078\\u629E\\u7BC4\\u56F2\\u306F\\u30BF\\u30D6\\u4F4D\\u7F6E\\u306B\\u7559\\u307E\\u308A\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067 CodeLens \\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"CodeLens \\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30D5\\u30A1\\u30DF\\u30EA\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"CodeLens \\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u3092\\u30D4\\u30AF\\u30BB\\u30EB\\u5358\\u4F4D\\u3067\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u30020 \\u306B\\u8A2D\\u5B9A\\u3059\\u308B\\u3068\\u3001`#editor.fontSize#` \\u306E 90% \\u304C\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30AB\\u30E9\\u30FC \\u30C7\\u30B3\\u30EC\\u30FC\\u30BF\\u30FC\\u3068\\u8272\\u306E\\u9078\\u629E\\u3092\\u8868\\u793A\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30E9\\u30FC \\u30C7\\u30B3\\u30EC\\u30FC\\u30BF\\u30FC\\u306E\\u30AF\\u30EA\\u30C3\\u30AF\\u6642\\u3068\\u30DD\\u30A4\\u30F3\\u30C8\\u6642\\u306E\\u4E21\\u65B9\\u306B\\u30AB\\u30E9\\u30FC \\u30D4\\u30C3\\u30AB\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\",\"\\u30AB\\u30E9\\u30FC \\u30C7\\u30B3\\u30EC\\u30FC\\u30BF\\u30FC\\u306E\\u30DD\\u30A4\\u30F3\\u30C8\\u6642\\u306B\\u30AB\\u30E9\\u30FC \\u30D4\\u30C3\\u30AB\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\",\"\\u30AB\\u30E9\\u30FC \\u30C7\\u30B3\\u30EC\\u30FC\\u30BF\\u30FC\\u306E\\u30AF\\u30EA\\u30C3\\u30AF\\u6642\\u306B\\u30AB\\u30E9\\u30FC \\u30D4\\u30C3\\u30AB\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\",\"\\u30AB\\u30E9\\u30FC \\u30C7\\u30B3\\u30EC\\u30FC\\u30BF\\u30FC\\u304B\\u3089\\u30AB\\u30E9\\u30FC \\u30D4\\u30C3\\u30AB\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\\u6761\\u4EF6\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u4E00\\u5EA6\\u306B\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u3067\\u304D\\u308B\\u30AB\\u30E9\\u30FC \\u30C7\\u30B3\\u30EC\\u30FC\\u30BF\\u30FC\\u306E\\u6700\\u5927\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u3068\\u30AD\\u30FC\\u3067\\u306E\\u9078\\u629E\\u306B\\u3088\\u308A\\u5217\\u306E\\u9078\\u629E\\u3092\\u5B9F\\u884C\\u3067\\u304D\\u308B\\u3088\\u3046\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u69CB\\u6587\\u30CF\\u30A4\\u30E9\\u30A4\\u30C8\\u3092\\u30AF\\u30EA\\u30C3\\u30D7\\u30DC\\u30FC\\u30C9\\u306B\\u30B3\\u30D4\\u30FC\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u30A2\\u30CB\\u30E1\\u30FC\\u30B7\\u30E7\\u30F3\\u65B9\\u5F0F\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30E0\\u30FC\\u30BA \\u30AD\\u30E3\\u30EC\\u30C3\\u30C8 \\u30A2\\u30CB\\u30E1\\u30FC\\u30B7\\u30E7\\u30F3\\u304C\\u7121\\u52B9\\u306B\\u306A\\u3063\\u3066\\u3044\\u307E\\u3059\\u3002\",\"\\u30B9\\u30E0\\u30FC\\u30BA \\u30AD\\u30E3\\u30EC\\u30C3\\u30C8 \\u30A2\\u30CB\\u30E1\\u30FC\\u30B7\\u30E7\\u30F3\\u306F\\u3001\\u30E6\\u30FC\\u30B6\\u30FC\\u304C\\u660E\\u793A\\u7684\\u306A\\u30B8\\u30A7\\u30B9\\u30C1\\u30E3\\u3067\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u79FB\\u52D5\\u3057\\u305F\\u5834\\u5408\\u306B\\u306E\\u307F\\u6709\\u52B9\\u306B\\u306A\\u308A\\u307E\\u3059\\u3002\",\"\\u30B9\\u30E0\\u30FC\\u30BA \\u30AD\\u30E3\\u30EC\\u30C3\\u30C8 \\u30A2\\u30CB\\u30E1\\u30FC\\u30B7\\u30E7\\u30F3\\u306F\\u5E38\\u306B\\u6709\\u52B9\\u3067\\u3059\\u3002\",\"\\u6ED1\\u3089\\u304B\\u306A\\u30AD\\u30E3\\u30EC\\u30C3\\u30C8\\u30A2\\u30CB\\u30E1\\u30FC\\u30B7\\u30E7\\u30F3\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u633F\\u5165\\u5165\\u529B\\u30E2\\u30FC\\u30C9\\u306E\\u30AB\\u30FC\\u30BD\\u30EB \\u30B9\\u30BF\\u30A4\\u30EB\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u524D\\u5F8C\\u306E\\u8868\\u793A\\u53EF\\u80FD\\u306A\\u5148\\u982D\\u306E\\u884C (\\u6700\\u5C0F 0) \\u3068\\u672B\\u5C3E\\u306E\\u884C (\\u6700\\u5C0F 1) \\u306E\\u6700\\u5C0F\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u4ED6\\u306E\\u4E00\\u90E8\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306F 'scrollOff' \\u307E\\u305F\\u306F 'scrollOffset' \\u3068\\u547C\\u3070\\u308C\\u307E\\u3059\\u3002\",\"`cursorSurroundingLines` \\u306F\\u3001\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9\\u307E\\u305F\\u306F API \\u3067\\u30C8\\u30EA\\u30AC\\u30FC\\u3055\\u308C\\u305F\\u5834\\u5408\\u306B\\u306E\\u307F\\u5F37\\u5236\\u3055\\u308C\\u307E\\u3059\\u3002\",\"`cursorSurroundingLines` \\u306F\\u5E38\\u306B\\u9069\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"`#editor.cursorSurroundingLines#` \\u3092\\u9069\\u7528\\u3059\\u308B\\u30BF\\u30A4\\u30DF\\u30F3\\u30B0\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"`#editor.cursorStyle#` \\u304C `line` \\u306B\\u8A2D\\u5B9A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u3001\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u5E45\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30C9\\u30E9\\u30C3\\u30B0 \\u30A2\\u30F3\\u30C9 \\u30C9\\u30ED\\u30C3\\u30D7\\u306B\\u3088\\u308B\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u79FB\\u52D5\\u3092\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u8A31\\u53EF\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"SVGS \\u3067\\u65B0\\u3057\\u3044\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u65B9\\u6CD5\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A9\\u30F3\\u30C8\\u6587\\u5B57\\u306B\\u65B0\\u3057\\u3044\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u65B9\\u6CD5\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u5B89\\u5B9A\\u3057\\u305F\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u65B9\\u6CD5\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u65B0\\u3057\\u3044\\u8A66\\u9A13\\u7684\\u306A\\u30E1\\u30BD\\u30C3\\u30C9\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u7A7A\\u767D\\u3092\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"`Alt` \\u3092\\u62BC\\u3059\\u3068\\u3001\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u901F\\u5EA6\\u304C\\u500D\\u5897\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30B3\\u30FC\\u30C9\\u306E\\u6298\\u308A\\u305F\\u305F\\u307F\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u5834\\u5408\\u306F\\u8A00\\u8A9E\\u56FA\\u6709\\u306E\\u6298\\u308A\\u305F\\u305F\\u307F\\u65B9\\u6CD5\\u3092\\u4F7F\\u7528\\u3057\\u3001\\u5229\\u7528\\u53EF\\u80FD\\u3067\\u306F\\u306A\\u3044\\u5834\\u5408\\u306F\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u30D9\\u30FC\\u30B9\\u306E\\u65B9\\u6CD5\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u30D9\\u30FC\\u30B9\\u306E\\u6298\\u308A\\u305F\\u305F\\u307F\\u65B9\\u6CD5\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u6298\\u308A\\u305F\\u305F\\u307F\\u7BC4\\u56F2\\u306E\\u8A08\\u7B97\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u6298\\u308A\\u305F\\u305F\\u307E\\u308C\\u305F\\u7BC4\\u56F2\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u30B3\\u30F3\\u30C8\\u30ED\\u30FC\\u30EB\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u30A4\\u30F3\\u30DD\\u30FC\\u30C8\\u7BC4\\u56F2\\u3092\\u81EA\\u52D5\\u7684\\u306B\\u6298\\u308A\\u305F\\u305F\\u3080\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u6298\\u308A\\u305F\\u305F\\u307F\\u53EF\\u80FD\\u306A\\u9818\\u57DF\\u306E\\u6700\\u5927\\u6570\\u3067\\u3059\\u3002\\u3053\\u306E\\u5024\\u3092\\u5927\\u304D\\u304F\\u3059\\u308B\\u3068\\u3001\\u73FE\\u5728\\u306E\\u30BD\\u30FC\\u30B9\\u306B\\u591A\\u6570\\u306E\\u6298\\u308A\\u305F\\u305F\\u307F\\u53EF\\u80FD\\u306A\\u9818\\u57DF\\u304C\\u3042\\u308B\\u5834\\u5408\\u306B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u5FDC\\u7B54\\u6027\\u304C\\u4F4E\\u4E0B\\u3059\\u308B\\u53EF\\u80FD\\u6027\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u6298\\u308A\\u305F\\u305F\\u307E\\u308C\\u305F\\u884C\\u306E\\u5F8C\\u306E\\u7A7A\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u3092\\u30AF\\u30EA\\u30C3\\u30AF\\u3059\\u308B\\u3068\\u884C\\u304C\\u5C55\\u958B\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A9\\u30F3\\u30C8 \\u30D5\\u30A1\\u30DF\\u30EA\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u305F\\u5185\\u5BB9\\u304C\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u3088\\u308A\\u81EA\\u52D5\\u7684\\u306B\\u30D5\\u30A9\\u30FC\\u30DE\\u30C3\\u30C8\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u30D5\\u30A9\\u30FC\\u30DE\\u30C3\\u30BF\\u3092\\u4F7F\\u7528\\u53EF\\u80FD\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\\u307E\\u305F\\u3001\\u30D5\\u30A9\\u30FC\\u30DE\\u30C3\\u30BF\\u304C\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u5185\\u306E\\u7BC4\\u56F2\\u3092\\u30D5\\u30A9\\u30FC\\u30DE\\u30C3\\u30C8\\u3067\\u304D\\u306A\\u3051\\u308C\\u3070\\u306A\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u5165\\u529B\\u5F8C\\u306B\\u81EA\\u52D5\\u7684\\u306B\\u884C\\u306E\\u30D5\\u30A9\\u30FC\\u30DE\\u30C3\\u30C8\\u3092\\u884C\\u3046\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u7E26\\u306E\\u30B0\\u30EA\\u30D5\\u4F59\\u767D\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u307B\\u3068\\u3093\\u3069\\u306E\\u5834\\u5408\\u3001\\u30B0\\u30EA\\u30D5\\u4F59\\u767D\\u306F\\u30C7\\u30D0\\u30C3\\u30B0\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u3067\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u975E\\u8868\\u793A\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u6587\\u5B57\\u9593\\u9694 (\\u30D4\\u30AF\\u30BB\\u30EB\\u5358\\u4F4D) \\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30EA\\u30F3\\u30AF\\u3055\\u308C\\u305F\\u7DE8\\u96C6\\u304C\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u6709\\u52B9\\u306B\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u8A00\\u8A9E\\u306B\\u3088\\u3063\\u3066\\u306F\\u3001\\u7DE8\\u96C6\\u4E2D\\u306B HTML \\u30BF\\u30B0\\u306A\\u3069\\u306E\\u95A2\\u9023\\u3059\\u308B\\u8A18\\u53F7\\u304C\\u66F4\\u65B0\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u30EA\\u30F3\\u30AF\\u3092\\u691C\\u51FA\\u3057\\u3066\\u30AF\\u30EA\\u30C3\\u30AF\\u53EF\\u80FD\\u306A\\u72B6\\u614B\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5BFE\\u5FDC\\u3059\\u308B\\u304B\\u3063\\u3053\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30DE\\u30A6\\u30B9 \\u30DB\\u30A4\\u30FC\\u30EB \\u30B9\\u30AF\\u30ED\\u30FC\\u30EB \\u30A4\\u30D9\\u30F3\\u30C8\\u306E `deltaX` \\u3068 `deltaY` \\u3067\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u4E57\\u6570\\u3002\",\"`Cmd` \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u306A\\u304C\\u3089\\u30DE\\u30A6\\u30B9 \\u30DB\\u30A4\\u30FC\\u30EB\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30D5\\u30A9\\u30F3\\u30C8\\u3092\\u30BA\\u30FC\\u30E0\\u3057\\u307E\\u3059\\u3002\",\"`Ctrl` \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u306A\\u304C\\u3089\\u30DE\\u30A6\\u30B9 \\u30DB\\u30A4\\u30FC\\u30EB\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30D5\\u30A9\\u30F3\\u30C8\\u3092\\u30BA\\u30FC\\u30E0\\u3057\\u307E\\u3059\\u3002\",\"\\u8907\\u6570\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u91CD\\u306A\\u3063\\u3066\\u3044\\u308B\\u3068\\u304D\\u306F\\u3001\\u30DE\\u30FC\\u30B8\\u3057\\u307E\\u3059\\u3002\",\"Windows \\u304A\\u3088\\u3073 Linux \\u4E0A\\u306E `Control` \\u30AD\\u30FC\\u3068 macOS \\u4E0A\\u306E `Command` \\u30AD\\u30FC\\u306B\\u5272\\u308A\\u5F53\\u3066\\u307E\\u3059\\u3002\",\"Windows \\u304A\\u3088\\u3073 Linux \\u4E0A\\u306E `Alt` \\u30AD\\u30FC\\u3068 macOS \\u4E0A\\u306E `Option` \\u30AD\\u30FC\\u306B\\u5272\\u308A\\u5F53\\u3066\\u307E\\u3059\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u8907\\u6570\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u8FFD\\u52A0\\u3059\\u308B\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3059\\u308B\\u4FEE\\u98FE\\u5B50\\u3002[\\u5B9A\\u7FA9\\u306B\\u79FB\\u52D5] \\u304A\\u3088\\u3073 [\\u30EA\\u30F3\\u30AF\\u3092\\u958B\\u304F] \\u30DE\\u30A6\\u30B9 \\u30B8\\u30A7\\u30B9\\u30C1\\u30E3\\u306F\\u3001[multicursor \\u4FEE\\u98FE\\u5B50](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier) \\u3068\\u7AF6\\u5408\\u3057\\u306A\\u3044\\u3088\\u3046\\u306B\\u8ABF\\u6574\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3054\\u3068\\u306B\\u30C6\\u30AD\\u30B9\\u30C8\\u3092 1 \\u884C\\u305A\\u3064\\u8CBC\\u308A\\u4ED8\\u3051\\u307E\\u3059\\u3002\",\"\\u5404\\u30AB\\u30FC\\u30BD\\u30EB\\u306F\\u5168\\u6587\\u3092\\u8CBC\\u308A\\u4ED8\\u3051\\u307E\\u3059\\u3002\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u884C\\u6570\\u304C\\u30AB\\u30FC\\u30BD\\u30EB\\u6570\\u3068\\u4E00\\u81F4\\u3059\\u308B\\u5834\\u5408\\u306E\\u8CBC\\u308A\\u4ED8\\u3051\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u4E00\\u5EA6\\u306B\\u914D\\u7F6E\\u3067\\u304D\\u308B\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u6700\\u5927\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u767A\\u751F\\u56DE\\u6570\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u73FE\\u5728\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u5185\\u306E\\u767A\\u751F\\u56DE\\u6570\\u306E\\u307F\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u8A66\\u9A13\\u6BB5\\u968E: \\u3059\\u3079\\u3066\\u306E\\u6709\\u52B9\\u306A\\u958B\\u3044\\u3066\\u3044\\u308B\\u30D5\\u30A1\\u30A4\\u30EB\\u306E\\u767A\\u751F\\u56DE\\u6570\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u958B\\u3044\\u3066\\u3044\\u308B\\u30D5\\u30A1\\u30A4\\u30EB\\u9593\\u3067\\u767A\\u751F\\u56DE\\u6570\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u5468\\u56F2\\u306B\\u5883\\u754C\\u7DDA\\u304C\\u63CF\\u753B\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30D4\\u30FC\\u30AF\\u3092\\u958B\\u304F\\u3068\\u304D\\u306B\\u30C4\\u30EA\\u30FC\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3059\\u308B\",\"\\u30D4\\u30FC\\u30AF\\u3092\\u958B\\u304F\\u3068\\u304D\\u306B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3059\\u308B\",\"\\u30D4\\u30FC\\u30AF \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u307E\\u305F\\u306F\\u30C4\\u30EA\\u30FC\\u3092\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"[\\u5B9A\\u7FA9\\u3078\\u79FB\\u52D5] \\u30DE\\u30A6\\u30B9 \\u30B8\\u30A7\\u30B9\\u30C1\\u30E3\\u30FC\\u3067\\u3001\\u5E38\\u306B\\u30D4\\u30FC\\u30AF \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u958B\\u304F\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30AF\\u30A4\\u30C3\\u30AF\\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u307E\\u3067\\u306E\\u30DF\\u30EA\\u79D2\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306E\\u578B\\u306E\\u81EA\\u52D5\\u540D\\u524D\\u5909\\u66F4\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u975E\\u63A8\\u5968\\u3067\\u3059\\u3002\\u4EE3\\u308F\\u308A\\u306B\\u3001`editor.linkedEditing` \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u5236\\u5FA1\\u6587\\u5B57\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A1\\u30A4\\u30EB\\u306E\\u672B\\u5C3E\\u304C\\u6539\\u884C\\u306E\\u5834\\u5408\\u306F\\u3001\\u6700\\u5F8C\\u306E\\u884C\\u756A\\u53F7\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u4F59\\u767D\\u3068\\u73FE\\u5728\\u306E\\u884C\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u73FE\\u5728\\u306E\\u884C\\u3092\\u3069\\u306E\\u3088\\u3046\\u306B\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308B\\u5834\\u5408\\u306B\\u306E\\u307F\\u73FE\\u5728\\u306E\\u884C\\u3092\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5358\\u8A9E\\u9593\\u306E\\u5358\\u4E00\\u30B9\\u30DA\\u30FC\\u30B9\\u4EE5\\u5916\\u306E\\u7A7A\\u767D\\u6587\\u5B57\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u9078\\u629E\\u3057\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306B\\u306E\\u307F\\u7A7A\\u767D\\u6587\\u5B57\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u672B\\u5C3E\\u306E\\u7A7A\\u767D\\u6587\\u5B57\\u306E\\u307F\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u7A7A\\u767D\\u6587\\u5B57\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u89D2\\u3092\\u4E38\\u304F\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u6C34\\u5E73\\u65B9\\u5411\\u306B\\u4F59\\u5206\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3059\\u308B\\u6587\\u5B57\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u6700\\u5F8C\\u306E\\u884C\\u3092\\u8D8A\\u3048\\u3066\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5782\\u76F4\\u304A\\u3088\\u3073\\u6C34\\u5E73\\u65B9\\u5411\\u306E\\u4E21\\u65B9\\u306B\\u540C\\u6642\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3059\\u308B\\u5834\\u5408\\u306F\\u3001\\u4E3B\\u8981\\u306A\\u8EF8\\u306B\\u6CBF\\u3063\\u3066\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3057\\u307E\\u3059\\u3002\\u30C8\\u30E9\\u30C3\\u30AF\\u30D1\\u30C3\\u30C9\\u4E0A\\u3067\\u5782\\u76F4\\u65B9\\u5411\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3059\\u308B\\u5834\\u5408\\u306F\\u3001\\u6C34\\u5E73\\u30C9\\u30EA\\u30D5\\u30C8\\u3092\\u9632\\u6B62\\u3057\\u307E\\u3059\\u3002\",\"Linux \\u306E PRIMARY \\u30AF\\u30EA\\u30C3\\u30D7\\u30DC\\u30FC\\u30C9\\u3092\\u30B5\\u30DD\\u30FC\\u30C8\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u9078\\u629E\\u9805\\u76EE\\u3068\\u985E\\u4F3C\\u306E\\u4E00\\u81F4\\u9805\\u76EE\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5E38\\u306B\\u6298\\u308A\\u305F\\u305F\\u307F\\u30B3\\u30F3\\u30C8\\u30ED\\u30FC\\u30EB\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u6298\\u308A\\u305F\\u305F\\u307F\\u30B3\\u30F3\\u30C8\\u30ED\\u30FC\\u30EB\\u3092\\u8868\\u793A\\u305B\\u305A\\u3001\\u4F59\\u767D\\u306E\\u30B5\\u30A4\\u30BA\\u3092\\u5C0F\\u3055\\u304F\\u3057\\u307E\\u3059\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u304C\\u3068\\u3058\\u3057\\u308D\\u306E\\u4E0A\\u306B\\u3042\\u308B\\u3068\\u304D\\u306B\\u306E\\u307F\\u3001\\u6298\\u308A\\u305F\\u305F\\u307F\\u30B3\\u30F3\\u30C8\\u30ED\\u30FC\\u30EB\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u3068\\u3058\\u3057\\u308D\\u306E\\u6298\\u308A\\u305F\\u305F\\u307F\\u30B3\\u30F3\\u30C8\\u30ED\\u30FC\\u30EB\\u3092\\u8868\\u793A\\u3059\\u308B\\u30BF\\u30A4\\u30DF\\u30F3\\u30B0\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u4F7F\\u7528\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u30B3\\u30FC\\u30C9\\u306E\\u30D5\\u30A7\\u30FC\\u30C9\\u30A2\\u30A6\\u30C8\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u975E\\u63A8\\u5968\\u306E\\u5909\\u6570\\u306E\\u53D6\\u308A\\u6D88\\u3057\\u7DDA\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u4ED6\\u306E\\u5019\\u88DC\\u306E\\u4E0A\\u306B\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u306E\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u4ED6\\u306E\\u5019\\u88DC\\u306E\\u4E0B\\u306B\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u306E\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u4ED6\\u306E\\u5019\\u88DC\\u3068\\u4E00\\u7DD2\\u306B\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u306E\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u306E\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u4ED6\\u306E\\u4FEE\\u6B63\\u5019\\u88DC\\u3068\\u4E00\\u7DD2\\u306B\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3001\\u304A\\u3088\\u3073\\u305D\\u306E\\u4E26\\u3073\\u66FF\\u3048\\u306E\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A2\\u30CB\\u30E1\\u30FC\\u30B7\\u30E7\\u30F3\\u3067\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3092\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5165\\u529B\\u5019\\u88DC\\u304C\\u8868\\u793A\\u3055\\u308C\\u305F\\u3068\\u304D\\u306B\\u3001\\u30B9\\u30AF\\u30EA\\u30FC\\u30F3 \\u30EA\\u30FC\\u30C0\\u30FC \\u30E6\\u30FC\\u30B6\\u30FC\\u306B\\u30E6\\u30FC\\u30B6\\u30FC\\u88DC\\u52A9\\u30D2\\u30F3\\u30C8\\u3092\\u63D0\\u4F9B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u3002{0} \\u306B\\u8A2D\\u5B9A\\u3059\\u308B\\u3068\\u3001\\u5024 {1} \\u304C\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u884C\\u306E\\u9AD8\\u3055\\u3002{0} \\u306B\\u8A2D\\u5B9A\\u3059\\u308B\\u3068\\u3001{1} \\u306E\\u5024\\u304C\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\\u6700\\u5C0F\\u5024\\u306F 8 \\u3067\\u3059\\u3002\",\"\\u30C8\\u30EA\\u30AC\\u30FC\\u6587\\u5B57\\u306E\\u5165\\u529B\\u6642\\u306B\\u5019\\u88DC\\u304C\\u81EA\\u52D5\\u7684\\u306B\\u8868\\u793A\\u3055\\u308C\\u308B\\u3088\\u3046\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5E38\\u306B\\u6700\\u521D\\u306E\\u5019\\u88DC\\u3092\\u9078\\u629E\\u3057\\u307E\\u3059\\u3002\",\"`console.| -> console.log` \\u306A\\u3069\\u3068\\u9078\\u629E\\u5BFE\\u8C61\\u306B\\u95A2\\u3057\\u3066\\u5165\\u529B\\u3057\\u306A\\u3044\\u9650\\u308A\\u306F\\u3001\\u6700\\u8FD1\\u306E\\u5019\\u88DC\\u3092\\u9078\\u629E\\u3057\\u307E\\u3059\\u3002`log` \\u306F\\u6700\\u8FD1\\u5B8C\\u4E86\\u3057\\u305F\\u305F\\u3081\\u3067\\u3059\\u3002\",\"\\u3053\\u308C\\u3089\\u306E\\u5019\\u88DC\\u3092\\u5B8C\\u4E86\\u3057\\u305F\\u4EE5\\u524D\\u306E\\u30D7\\u30EC\\u30D5\\u30A3\\u30C3\\u30AF\\u30B9\\u306B\\u57FA\\u3065\\u3044\\u3066\\u5019\\u88DC\\u3092\\u9078\\u629E\\u3057\\u307E\\u3059\\u3002\\u4F8B: `co -> console` \\u304A\\u3088\\u3073 `con -> const`\\u3002\",\"\\u5019\\u88DC\\u30EA\\u30B9\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u3068\\u304D\\u306B\\u5019\\u88DC\\u3092\\u4E8B\\u524D\\u306B\\u9078\\u629E\\u3059\\u308B\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30BF\\u30D6\\u88DC\\u5B8C\\u306F\\u3001tab \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u305F\\u3068\\u304D\\u306B\\u6700\\u9069\\u306A\\u5019\\u88DC\\u3092\\u633F\\u5165\\u3057\\u307E\\u3059\\u3002\",\"\\u30BF\\u30D6\\u88DC\\u5B8C\\u3092\\u7121\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30D7\\u30EC\\u30D5\\u30A3\\u30C3\\u30AF\\u30B9\\u304C\\u4E00\\u81F4\\u3059\\u308B\\u5834\\u5408\\u306B\\u3001\\u30BF\\u30D6\\u3067\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u3092\\u88DC\\u5B8C\\u3057\\u307E\\u3059\\u3002'quickSuggestions' \\u304C\\u7121\\u52B9\\u306A\\u5834\\u5408\\u306B\\u6700\\u9069\\u3067\\u3059\\u3002\",\"\\u30BF\\u30D6\\u88DC\\u5B8C\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u901A\\u5E38\\u3068\\u306F\\u7570\\u306A\\u308B\\u884C\\u306E\\u7D42\\u7AEF\\u6587\\u5B57\\u306F\\u81EA\\u52D5\\u7684\\u306B\\u524A\\u9664\\u3055\\u308C\\u308B\\u3002\",\"\\u901A\\u5E38\\u3068\\u306F\\u7570\\u306A\\u308B\\u884C\\u306E\\u7D42\\u7AEF\\u6587\\u5B57\\u306F\\u7121\\u8996\\u3055\\u308C\\u308B\\u3002\",\"\\u901A\\u5E38\\u3068\\u306F\\u7570\\u306A\\u308B\\u884C\\u306E\\u7D42\\u7AEF\\u6587\\u5B57\\u306E\\u524A\\u9664\\u30D7\\u30ED\\u30F3\\u30D7\\u30C8\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u3002\",\"\\u554F\\u984C\\u3092\\u8D77\\u3053\\u3059\\u53EF\\u80FD\\u6027\\u304C\\u3042\\u308B\\u3001\\u666E\\u901A\\u3067\\u306F\\u306A\\u3044\\u884C\\u7D42\\u7AEF\\u8A18\\u53F7\\u306F\\u524A\\u9664\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30BF\\u30D6\\u4F4D\\u7F6E\\u306B\\u5408\\u308F\\u305B\\u3066\\u3001\\u30B9\\u30DA\\u30FC\\u30B9\\u3068\\u30BF\\u30D6\\u304C\\u633F\\u5165\\u304A\\u3088\\u3073\\u524A\\u9664\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u65E2\\u5B9A\\u306E\\u6539\\u884C\\u30EB\\u30FC\\u30EB\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u4E2D\\u56FD\\u8A9E/\\u65E5\\u672C\\u8A9E/\\u97D3\\u56FD\\u8A9E (CJK) \\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u306B\\u306F\\u5358\\u8A9E\\u533A\\u5207\\u308A\\u3092\\u4F7F\\u7528\\u3057\\u306A\\u3044\\u3067\\u304F\\u3060\\u3055\\u3044\\u3002CJK \\u4EE5\\u5916\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u52D5\\u4F5C\\u306F\\u3001\\u901A\\u5E38\\u306E\\u5834\\u5408\\u3068\\u540C\\u3058\\u3067\\u3059\\u3002\",\"\\u4E2D\\u56FD\\u8A9E/\\u65E5\\u672C\\u8A9E/\\u97D3\\u56FD\\u8A9E (CJK) \\u30C6\\u30AD\\u30B9\\u30C8\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u5358\\u8A9E\\u533A\\u5207\\u308A\\u898F\\u5247\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u5358\\u8A9E\\u306B\\u95A2\\u9023\\u3057\\u305F\\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u307E\\u305F\\u306F\\u64CD\\u4F5C\\u3092\\u5B9F\\u884C\\u3059\\u308B\\u3068\\u304D\\u306B\\u3001\\u5358\\u8A9E\\u306E\\u533A\\u5207\\u308A\\u6587\\u5B57\\u3068\\u3057\\u3066\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u6587\\u5B57\\u3002\",\"\\u884C\\u3092\\u6298\\u308A\\u8FD4\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u884C\\u3092\\u30D3\\u30E5\\u30FC\\u30DD\\u30FC\\u30C8\\u306E\\u5E45\\u3067\\u6298\\u308A\\u8FD4\\u3057\\u307E\\u3059\\u3002\",\"`#editor.wordWrapColumn#` \\u3067\\u884C\\u3092\\u6298\\u308A\\u8FD4\\u3057\\u307E\\u3059\\u3002\",\"\\u30D3\\u30E5\\u30FC\\u30DD\\u30FC\\u30C8\\u3068 `#editor.wordWrapColumn#` \\u306E\\u6700\\u5C0F\\u5024\\u3067\\u884C\\u3092\\u6298\\u308A\\u8FD4\\u3057\\u307E\\u3059\\u3002\",\"\\u884C\\u306E\\u6298\\u308A\\u8FD4\\u3057\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"`#editor.wordWrap#` \\u304C `wordWrapColumn` \\u307E\\u305F\\u306F `bounded` \\u306E\\u5834\\u5408\\u306B\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u6298\\u308A\\u8FD4\\u3057\\u6841\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u65E2\\u5B9A\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8 \\u30AB\\u30E9\\u30FC \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u306E\\u8272\\u306E\\u88C5\\u98FE\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u30BF\\u30D6\\u3092\\u53D7\\u3051\\u53D6\\u308B\\u304B\\u3001\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u306B\\u59D4\\u306D\\u3066\\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u3059\\u308B\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u4F4D\\u7F6E\\u306E\\u884C\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u80CC\\u666F\\u8272\\u3002\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u4F4D\\u7F6E\\u306E\\u884C\\u306E\\u5883\\u754C\\u7DDA\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u80CC\\u666F\\u8272\\u3002\",\"(Quick Open \\u3084\\u691C\\u51FA\\u6A5F\\u80FD\\u306A\\u3069\\u306B\\u3088\\u308A) \\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u7BC4\\u56F2\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u305F\\u7BC4\\u56F2\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u305F\\u8A18\\u53F7\\u306E\\u80CC\\u666F\\u8272 (\\u5B9A\\u7FA9\\u3078\\u79FB\\u52D5\\u3001\\u6B21\\u307E\\u305F\\u306F\\u524D\\u306E\\u8A18\\u53F7\\u3078\\u79FB\\u52D5\\u306A\\u3069)\\u3002\\u57FA\\u306B\\u306A\\u308B\\u88C5\\u98FE\\u304C\\u8986\\u308F\\u308C\\u306A\\u3044\\u3088\\u3046\\u306B\\u3059\\u308B\\u305F\\u3081\\u3001\\u8272\\u3092\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u305F\\u8A18\\u53F7\\u306E\\u5468\\u308A\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u8272\\u3002\",\"\\u9078\\u629E\\u3055\\u308C\\u305F\\u6587\\u5B57\\u5217\\u306E\\u80CC\\u666F\\u8272\\u3067\\u3059\\u3002\\u9078\\u629E\\u3055\\u308C\\u305F\\u6587\\u5B57\\u5217\\u306E\\u80CC\\u666F\\u8272\\u3092\\u30AB\\u30B9\\u30BF\\u30DE\\u30A4\\u30BA\\u51FA\\u6765\\u307E\\u3059\\u3002\",\"\\u8907\\u6570\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u5B58\\u5728\\u3059\\u308B\\u5834\\u5408\\u306E\\u30D7\\u30E9\\u30A4\\u30DE\\u30EA \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u8272\\u3002\",\"\\u8907\\u6570\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u5B58\\u5728\\u3059\\u308B\\u5834\\u5408\\u306E\\u30D7\\u30E9\\u30A4\\u30DE\\u30EA \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u80CC\\u666F\\u8272\\u3002\\u30D6\\u30ED\\u30C3\\u30AF \\u30AB\\u30FC\\u30BD\\u30EB\\u306B\\u3088\\u308A\\u91CD\\u306A\\u3063\\u305F\\u6587\\u5B57\\u306E\\u8272\\u3092\\u30AB\\u30B9\\u30BF\\u30DE\\u30A4\\u30BA\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u8907\\u6570\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u5B58\\u5728\\u3059\\u308B\\u5834\\u5408\\u306E\\u30BB\\u30AB\\u30F3\\u30C0\\u30EA \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u8272\\u3002\",\"\\u8907\\u6570\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u5B58\\u5728\\u3059\\u308B\\u5834\\u5408\\u306E\\u30BB\\u30AB\\u30F3\\u30C0\\u30EA \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u80CC\\u666F\\u8272\\u3002\\u30D6\\u30ED\\u30C3\\u30AF \\u30AB\\u30FC\\u30BD\\u30EB\\u306B\\u3088\\u308A\\u91CD\\u306A\\u3063\\u305F\\u6587\\u5B57\\u306E\\u8272\\u3092\\u30AB\\u30B9\\u30BF\\u30DE\\u30A4\\u30BA\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B9\\u30DA\\u30FC\\u30B9\\u6587\\u5B57\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u884C\\u756A\\u53F7\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272\\u3002\",\"'editorIndentGuide.background' \\u306F\\u975E\\u63A8\\u5968\\u3067\\u3059\\u3002\\u4EE3\\u308F\\u308A\\u306B 'editorIndentGuide.background1' \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272\\u3002\",\"'editorIndentGuide.activeBackground' \\u306F\\u975E\\u63A8\\u5968\\u3067\\u3059\\u3002\\u4EE3\\u308F\\u308A\\u306B 'editorIndentGuide.activeBackground1' \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (1)\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (2)\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (3)\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (4)\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (5)\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (6)\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (1)\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (2)\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (3)\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (4)\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (5)\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u8272 (6)\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u884C\\u756A\\u53F7\\u306E\\u8272\",\"id \\u306F\\u4F7F\\u7528\\u3057\\u306A\\u3044\\u3067\\u304F\\u3060\\u3055\\u3044\\u3002\\u4EE3\\u308F\\u308A\\u306B 'EditorLineNumber.activeForeground' \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u884C\\u756A\\u53F7\\u306E\\u8272\",\"editor.renderFinalNewline \\u304C dimmed \\u306B\\u8A2D\\u5B9A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u6700\\u7D42\\u884C\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u8272\\u3002\",\"CodeLens \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u4E00\\u81F4\\u3059\\u308B\\u304B\\u3063\\u3053\\u306E\\u80CC\\u666F\\u8272\",\"\\u4E00\\u81F4\\u3059\\u308B\\u304B\\u3063\\u3053\\u5185\\u306E\\u30DC\\u30C3\\u30AF\\u30B9\\u306E\\u8272\",\"\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u5883\\u754C\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4F59\\u767D\\u306E\\u80CC\\u666F\\u8272\\u3002\\u4F59\\u767D\\u306B\\u306F\\u30B0\\u30EA\\u30D5 \\u30DE\\u30FC\\u30B8\\u30F3\\u3068\\u884C\\u756A\\u53F7\\u304C\\u542B\\u307E\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306E\\u4E0D\\u8981\\u306A (\\u672A\\u4F7F\\u7528\\u306E) \\u30BD\\u30FC\\u30B9 \\u30B3\\u30FC\\u30C9\\u306E\\u7F6B\\u7DDA\\u306E\\u8272\\u3002\",`\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u4E0D\\u8981\\u306A (\\u672A\\u4F7F\\u7528\\u306E) \\u30BD\\u30FC\\u30B9 \\u30B3\\u30FC\\u30C9\\u306E\\u4E0D\\u900F\\u660E\\u5EA6\\u3002\\u305F\\u3068\\u3048\\u3070\\u3001\"#000000c0\" \\u306F\\u4E0D\\u900F\\u660E\\u5EA6 75% \\u3067\\u30B3\\u30FC\\u30C9\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\\u30CF\\u30A4 \\u30B3\\u30F3\\u30C8\\u30E9\\u30B9\\u30C8\\u306E\\u30C6\\u30FC\\u30DE\\u306E\\u5834\\u5408\\u3001'editorUnnecessaryCode.border' \\u30C6\\u30FC\\u30DE\\u8272\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u4E0D\\u8981\\u306A\\u30B3\\u30FC\\u30C9\\u3092\\u30D5\\u30A7\\u30FC\\u30C9\\u30A2\\u30A6\\u30C8\\u3059\\u308B\\u306E\\u3067\\u306F\\u306A\\u304F\\u4E0B\\u7DDA\\u3092\\u4ED8\\u3051\\u307E\\u3059\\u3002`,\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u900F\\u304B\\u3057\\u6587\\u5B57\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3067\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u900F\\u304B\\u3057\\u6587\\u5B57\\u306E\\u524D\\u666F\\u8272\\u3067\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B4\\u30FC\\u30B9\\u30C8 \\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u7BC4\\u56F2\\u5F37\\u8ABF\\u8868\\u793A\\u306E\\u305F\\u3081\\u306E\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A8\\u30E9\\u30FC\\u3092\\u793A\\u3059\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC\\u8272\\u3002\",\"\\u8B66\\u544A\\u3092\\u793A\\u3059\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC\\u8272\\u3002\",\"\\u60C5\\u5831\\u3092\\u793A\\u3059\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC\\u8272\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053 (1) \\u306E\\u524D\\u666F\\u8272\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u306E\\u8272\\u4ED8\\u3051\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053 (2) \\u306E\\u524D\\u666F\\u8272\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u306E\\u8272\\u4ED8\\u3051\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053 (3) \\u306E\\u524D\\u666F\\u8272\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u306E\\u8272\\u4ED8\\u3051\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053 (4) \\u306E\\u524D\\u666F\\u8272\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u306E\\u8272\\u4ED8\\u3051\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053 (5) \\u306E\\u524D\\u666F\\u8272\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u306E\\u8272\\u4ED8\\u3051\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u89D2\\u304B\\u3063\\u3053 (6) \\u306E\\u524D\\u666F\\u8272\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2\\u306E\\u8272\\u4ED8\\u3051\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u4E88\\u671F\\u3057\\u306A\\u3044\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (1)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (2)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (3)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (4)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (5)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (6)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (1)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (2)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (3)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (4)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (5)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u306E\\u80CC\\u666F\\u8272 (6)\\u3002\\u89D2\\u304B\\u3063\\u3053\\u306E\\u30DA\\u30A2 \\u30AC\\u30A4\\u30C9\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"Unicode \\u6587\\u5B57\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"Unicode \\u6587\\u5B57\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308B (\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u70B9\\u6EC5\\u3057\\u3066\\u3044\\u308B) \\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u307E\\u305F\\u306F\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308B (\\u4F8B: \\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308B) \\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u307E\\u305F\\u306F\\u30EA\\u30C3\\u30C1 \\u30C6\\u30AD\\u30B9\\u30C8\\u5165\\u529B\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308B (\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u70B9\\u6EC5\\u3057\\u3066\\u3044\\u308B) \\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u8AAD\\u307F\\u53D6\\u308A\\u5C02\\u7528\\u304B\\u3069\\u3046\\u304B\",\"\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8\\u304C\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8\\u304C\\u57CB\\u3081\\u8FBC\\u307F\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",null,\"\\u30DE\\u30EB\\u30C1\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3092\\u6298\\u308A\\u305F\\u305F\\u3080\\u304B\\u3069\\u3046\\u304B\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u5909\\u66F4\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u79FB\\u52D5\\u3055\\u308C\\u305F\\u30B3\\u30FC\\u30C9 \\u30D6\\u30ED\\u30C3\\u30AF\\u304C\\u6BD4\\u8F03\\u5BFE\\u8C61\\u3068\\u3057\\u3066\\u9078\\u629E\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A2\\u30AF\\u30BB\\u30B7\\u30D3\\u30EA\\u30C6\\u30A3\\u306E\\u9AD8\\u3044\\u5DEE\\u5206\\u30D3\\u30E5\\u30FC\\u30A2\\u30FC\\u304C\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D6\\u30EC\\u30FC\\u30AF\\u30DD\\u30A4\\u30F3\\u30C8\\u3092\\u4E26\\u3079\\u3066\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30E2\\u30FC\\u30C9\\u304C\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u304B\\u3069\\u3046\\u304B\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u5909\\u66F4\\u6E08\\u307F\\u304C\\u66F8\\u304D\\u8FBC\\u307F\\u53EF\\u80FD\\u304B\\u3069\\u3046\\u304B\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u5909\\u66F4\\u6E08\\u307F\\u304C\\u66F8\\u304D\\u8FBC\\u307F\\u53EF\\u80FD\\u304B\\u3069\\u3046\\u304B\",\"\\u5143\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u306E URI\",\"\\u5909\\u66F4\\u6E08\\u307F\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u306E URI\",\"`editor.columnSelection` \\u304C\\u6709\\u52B9\\u306B\\u306A\\u3063\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30C6\\u30AD\\u30B9\\u30C8\\u304C\\u9078\\u629E\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u8907\\u6570\\u306E\\u9078\\u629E\\u7BC4\\u56F2\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"`Tab` \\u306B\\u3088\\u3063\\u3066\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u5916\\u306B\\u79FB\\u52D5\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u304C\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u304C\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u304C\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u304C\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30B9\\u30BF\\u30F3\\u30C9\\u30A2\\u30ED\\u30F3 \\u30AB\\u30E9\\u30FC \\u30D4\\u30C3\\u30AB\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30B9\\u30BF\\u30F3\\u30C9\\u30A2\\u30ED\\u30F3 \\u30AB\\u30E9\\u30FC \\u30D4\\u30C3\\u30AB\\u30FC\\u304C\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u3088\\u308A\\u5927\\u304D\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC (\\u4F8B: Notebooks) \\u306E\\u4E00\\u90E8\\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u8A00\\u8A9E\\u8B58\\u5225\\u5B50\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u5165\\u529B\\u5019\\u88DC\\u9805\\u76EE\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B3\\u30FC\\u30C9 \\u30EC\\u30F3\\u30BA \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u5B9A\\u7FA9\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u5BA3\\u8A00\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u5B9F\\u88C5\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u578B\\u5B9A\\u7FA9\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30DB\\u30D0\\u30FC \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u5F37\\u8ABF\\u8868\\u793A\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8 \\u30B7\\u30F3\\u30DC\\u30EB \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u53C2\\u7167\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u540D\\u524D\\u5909\\u66F4\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B7\\u30B0\\u30CD\\u30C1\\u30E3 \\u30D8\\u30EB\\u30D7 \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D2\\u30F3\\u30C8 \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u66F8\\u5F0F\\u8A2D\\u5B9A\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u9078\\u629E\\u66F8\\u5F0F\\u8A2D\\u5B9A\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u8907\\u6570\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u66F8\\u5F0F\\u8A2D\\u5B9A\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u8907\\u6570\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u9078\\u629E\\u66F8\\u5F0F\\u8A2D\\u5B9A\\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u914D\\u5217\",\"\\u30D6\\u30FC\\u30EB\\u5024\",\"\\u30AF\\u30E9\\u30B9\",\"\\u5B9A\\u6570\",\"\\u30B3\\u30F3\\u30B9\\u30C8\\u30E9\\u30AF\\u30BF\\u30FC\",\"\\u5217\\u6319\\u578B\",\"\\u5217\\u6319\\u578B\\u30E1\\u30F3\\u30D0\\u30FC\",\"\\u30A4\\u30D9\\u30F3\\u30C8\",\"\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9\",\"\\u30D5\\u30A1\\u30A4\\u30EB\",\"\\u95A2\\u6570\",\"\\u30A4\\u30F3\\u30BF\\u30FC\\u30D5\\u30A7\\u30A4\\u30B9\",\"\\u30AD\\u30FC\",\"\\u30E1\\u30BD\\u30C3\\u30C9\",\"\\u30E2\\u30B8\\u30E5\\u30FC\\u30EB\",\"\\u540D\\u524D\\u7A7A\\u9593\",\"NULL\",\"\\u6570\\u5024\",\"\\u30AA\\u30D6\\u30B8\\u30A7\\u30AF\\u30C8\",\"\\u6F14\\u7B97\\u5B50\",\"\\u30D1\\u30C3\\u30B1\\u30FC\\u30B8\",\"\\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\",\"\\u6587\\u5B57\\u5217\",\"\\u69CB\\u9020\\u4F53\",\"\\u578B\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC\",\"\\u5909\\u6570\",\"{0} ({1})\",\"\\u30D7\\u30EC\\u30FC\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8\",\"\\u5165\\u529B\\u3057\\u3066\\u3044\\u307E\\u3059\",\"\\u958B\\u767A\\u8005: \\u30C8\\u30FC\\u30AF\\u30F3\\u306E\\u691C\\u67FB\",\"\\u884C/\\u5217\\u306B\\u79FB\\u52D5\\u3059\\u308B...\",\"\\u3059\\u3079\\u3066\\u306E\\u30AF\\u30A4\\u30C3\\u30AF \\u30A2\\u30AF\\u30BB\\u30B9 \\u30D7\\u30ED\\u30D0\\u30A4\\u30C0\\u30FC\\u3092\\u8868\\u793A\",\"\\u30B3\\u30DE\\u30F3\\u30C9 \\u30D1\\u30EC\\u30C3\\u30C8\",\"\\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u8868\\u793A\\u3068\\u5B9F\\u884C\",\"\\u30B7\\u30F3\\u30DC\\u30EB\\u306B\\u79FB\\u52D5...\",\"\\u30AB\\u30C6\\u30B4\\u30EA\\u5225\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u3078\\u79FB\\u52D5...\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\",\"\\u30CF\\u30A4 \\u30B3\\u30F3\\u30C8\\u30E9\\u30B9\\u30C8 \\u30C6\\u30FC\\u30DE\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"{1} \\u500B\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u306B {0} \\u500B\\u306E\\u7DE8\\u96C6\\u304C\\u884C\\u308F\\u308C\\u307E\\u3057\\u305F\",\"\\u8868\\u793A\\u6570\\u3092\\u5897\\u3084\\u3059 ({0})\",\"{0} \\u6587\\u5B57\",\"\\u9078\\u629E\\u30A2\\u30F3\\u30AB\\u30FC\",\"\\u30A2\\u30F3\\u30AB\\u30FC\\u304C {0}:{1} \\u306B\\u8A2D\\u5B9A\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u9078\\u629E\\u30A2\\u30F3\\u30AB\\u30FC\\u306E\\u8A2D\\u5B9A\",\"\\u9078\\u629E\\u30A2\\u30F3\\u30AB\\u30FC\\u3078\\u79FB\\u52D5\",\"\\u30A2\\u30F3\\u30AB\\u30FC\\u304B\\u3089\\u30AB\\u30FC\\u30BD\\u30EB\\u3078\\u9078\\u629E\",\"\\u9078\\u629E\\u30A2\\u30F3\\u30AB\\u30FC\\u306E\\u53D6\\u308A\\u6D88\\u3057\",\"\\u4E00\\u81F4\\u3059\\u308B\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8\\u3092\\u793A\\u3059\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC\\u8272\\u3002\",\"\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8\\u3078\\u79FB\\u52D5\",\"\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8\\u306B\\u9078\\u629E\",\"\\u304B\\u3063\\u3053\\u3092\\u5916\\u3059\",\"\\u30D6\\u30E9\\u30B1\\u30C3\\u30C8\\u306B\\u79FB\\u52D5(&&B)\",\"\\u4E2D\\u304B\\u3063\\u3053\\u307E\\u305F\\u306F\\u6CE2\\u304B\\u3063\\u3053\\u3092\\u542B\\u3080\\u30C6\\u30AD\\u30B9\\u30C8\\u3092\\u9078\\u629E\\u3057\\u307E\\u3059\",\"\\u9078\\u629E\\u3057\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u3092\\u5DE6\\u306B\\u79FB\\u52D5\",\"\\u9078\\u629E\\u3057\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u3092\\u53F3\\u306B\\u79FB\\u52D5\",\"\\u6587\\u5B57\\u306E\\u5165\\u308C\\u66FF\\u3048\",\"\\u5207\\u308A\\u53D6\\u308A(&&T)\",\"\\u5207\\u308A\\u53D6\\u308A\",\"\\u5207\\u308A\\u53D6\\u308A\",\"\\u5207\\u308A\\u53D6\\u308A\",\"\\u30B3\\u30D4\\u30FC(&&C)\",\"\\u30B3\\u30D4\\u30FC\",\"\\u30B3\\u30D4\\u30FC\",\"\\u30B3\\u30D4\\u30FC\",\"\\u8CBC\\u308A\\u4ED8\\u3051(&&P)\",\"\\u8CBC\\u308A\\u4ED8\\u3051\",\"\\u8CBC\\u308A\\u4ED8\\u3051\",\"\\u8CBC\\u308A\\u4ED8\\u3051\",\"\\u69CB\\u6587\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u3066\\u30B3\\u30D4\\u30FC\",\"\\u5F62\\u5F0F\\u3092\\u6307\\u5B9A\\u3057\\u3066\\u30B3\\u30D4\\u30FC\",\"\\u5F62\\u5F0F\\u3092\\u6307\\u5B9A\\u3057\\u3066\\u30B3\\u30D4\\u30FC\",\"\\u5171\\u6709\",\"\\u5171\\u6709\",\"\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u9069\\u7528\\u4E2D\\u306B\\u4E0D\\u660E\\u306A\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F\",\"\\u5B9F\\u884C\\u3059\\u308B\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u7A2E\\u985E\\u3002\",\"\\u8FD4\\u3055\\u308C\\u305F\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u304C\\u9069\\u7528\\u3055\\u308C\\u308B\\u30BF\\u30A4\\u30DF\\u30F3\\u30B0\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u6700\\u521D\\u306B\\u8FD4\\u3055\\u308C\\u305F\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u3092\\u5E38\\u306B\\u9069\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u6700\\u521D\\u306B\\u8FD4\\u3055\\u308C\\u305F\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u4EE5\\u5916\\u306B\\u8FD4\\u3055\\u308C\\u305F\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u304C\\u306A\\u3044\\u5834\\u5408\\u306F\\u3001\\u305D\\u306E\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u3092\\u9069\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u8FD4\\u3055\\u308C\\u305F\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306F\\u9069\\u7528\\u3057\\u306A\\u3044\\u3067\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u512A\\u5148\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u307F\\u3092\\u8FD4\\u3059\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30AF\\u30A4\\u30C3\\u30AF \\u30D5\\u30A3\\u30C3\\u30AF\\u30B9...\",\"\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"'{0}' \\u306B\\u5BFE\\u3057\\u3066\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u512A\\u5148\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"{0}' \\u306B\\u5BFE\\u3057\\u3066\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u512A\\u5148\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30EA\\u30D5\\u30A1\\u30AF\\u30BF\\u30FC...\",\"'{0}' \\u306B\\u5BFE\\u3057\\u3066\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u512A\\u5148\\u30EA\\u30D5\\u30A1\\u30AF\\u30BF\\u30EA\\u30F3\\u30B0\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"'{0}' \\u306B\\u5BFE\\u3057\\u3066\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u30EA\\u30D5\\u30A1\\u30AF\\u30BF\\u30EA\\u30F3\\u30B0\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u512A\\u5148\\u30EA\\u30D5\\u30A1\\u30AF\\u30BF\\u30EA\\u30F3\\u30B0\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u30EA\\u30D5\\u30A1\\u30AF\\u30BF\\u30EA\\u30F3\\u30B0\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30BD\\u30FC\\u30B9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3...\",\"'{0}' \\u306B\\u5BFE\\u3057\\u3066\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u512A\\u5148\\u30BD\\u30FC\\u30B9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"'{0}' \\u306B\\u5BFE\\u3057\\u3066\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u30BD\\u30FC\\u30B9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u4F7F\\u7528\\u3067\\u304D\\u308B\\u512A\\u5148\\u30BD\\u30FC\\u30B9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u30BD\\u30FC\\u30B9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30A4\\u30F3\\u30DD\\u30FC\\u30C8\\u3092\\u6574\\u7406\",\"\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u30A4\\u30F3\\u30DD\\u30FC\\u30C8\\u306E\\u6574\\u7406\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u3059\\u3079\\u3066\\u4FEE\\u6B63\",\"\\u3059\\u3079\\u3066\\u3092\\u4FEE\\u6B63\\u3059\\u308B\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306F\\u5229\\u7528\\u3067\\u304D\\u307E\\u305B\\u3093\",\"\\u81EA\\u52D5\\u4FEE\\u6B63...\",\"\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u81EA\\u52D5\\u4FEE\\u6B63\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3067\\u306E\\u30B0\\u30EB\\u30FC\\u30D7 \\u30D8\\u30C3\\u30C0\\u30FC\\u306E\\u8868\\u793A\\u306E\\u6709\\u52B9/\\u7121\\u52B9\\u3092\\u5207\\u308A\\u66FF\\u3048\\u307E\\u3059\\u3002\",\"\\u73FE\\u5728\\u8A3A\\u65AD\\u3092\\u884C\\u3063\\u3066\\u3044\\u306A\\u3044\\u3068\\u304D\\u306B\\u3001\\u884C\\u5185\\u306E\\u6700\\u3082\\u8FD1\\u3044 \\u30AF\\u30A4\\u30C3\\u30AF\\u4FEE\\u6B63 \\u3092\\u8868\\u793A\\u3059\\u308B\\u6A5F\\u80FD\\u3092\\u6709\\u52B9\\u307E\\u305F\\u306F\\u7121\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"{1} \\u304C {2} \\u306B\\u8A2D\\u5B9A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306B\\u3001{0} \\u306E\\u30C8\\u30EA\\u30AC\\u30FC\\u3092\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\\u30A6\\u30A3\\u30F3\\u30C9\\u30A6\\u3068\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u306E\\u5909\\u66F4\\u306B\\u5BFE\\u3057\\u3066\\u30C8\\u30EA\\u30AC\\u30FC\\u3055\\u308C\\u308B\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u3092 {3} \\u306B\\u8A2D\\u5B9A\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8: {1} \\u884C {2} \\u5217 \\u306E {0}\\u3002\",\"\\u7121\\u52B9\\u306A\\u3082\\u306E\\u3092\\u975E\\u8868\\u793A\",\"\\u7121\\u52B9\\u3092\\u8868\\u793A\",\"\\u305D\\u306E\\u4ED6\\u306E\\u64CD\\u4F5C...\",\"\\u30AF\\u30A4\\u30C3\\u30AF\\u4FEE\\u6B63\",\"\\u62BD\\u51FA\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\",\"\\u518D\\u66F8\\u304D\\u8FBC\\u307F\\u3059\\u308B\",\"\\u79FB\\u52D5\",\"\\u30D6\\u30ED\\u30C3\\u30AF\\u306E\\u633F\\u5165\",\"\\u30BD\\u30FC\\u30B9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3...\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u306A\\u3044\\u5834\\u5408\\u306B\\u3068\\u3058\\u3057\\u308D\\u304B\\u3089\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u751F\\u6210\\u3059\\u308B\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u306A\\u304F\\u3001\\u30AF\\u30A4\\u30C3\\u30AF\\u4FEE\\u6B63\\u304C\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u5834\\u5408\\u306B\\u3068\\u3058\\u3057\\u308D\\u304B\\u3089\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u751F\\u6210\\u3059\\u308B\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u306A\\u304F\\u3001AI \\u4FEE\\u6B63\\u304C\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u5834\\u5408\\u306B\\u3068\\u3058\\u3057\\u308D\\u304B\\u3089\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u751F\\u6210\\u3059\\u308B\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u306A\\u304F\\u3001AI \\u4FEE\\u6B63\\u3068\\u30AF\\u30A4\\u30C3\\u30AF\\u4FEE\\u6B63\\u304C\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u5834\\u5408\\u306B\\u3068\\u3058\\u3057\\u308D\\u304B\\u3089\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u751F\\u6210\\u3059\\u308B\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30B9\\u30DA\\u30FC\\u30B9\\u304C\\u306A\\u304F\\u3001AI \\u4FEE\\u6B63\\u3068\\u30AF\\u30A4\\u30C3\\u30AF\\u4FEE\\u6B63\\u304C\\u5229\\u7528\\u53EF\\u80FD\\u306A\\u5834\\u5408\\u306B\\u3068\\u3058\\u3057\\u308D\\u304B\\u3089\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30E1\\u30CB\\u30E5\\u30FC\\u3092\\u751F\\u6210\\u3059\\u308B\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u5B9F\\u884C: {0}\",\"\\u30B3\\u30FC\\u30C9\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\\u4F7F\\u7528\\u53EF\\u80FD\\u306A\\u512A\\u5148\\u306E\\u30AF\\u30A4\\u30C3\\u30AF\\u4FEE\\u6B63 ({0})\",\"\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u8868\\u793A ({0})\",\"\\u30B3\\u30FC\\u30C9 \\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u8868\\u793A\",\"\\u73FE\\u5728\\u306E\\u884C\\u306E\\u30B3\\u30FC\\u30C9 \\u30EC\\u30F3\\u30BA \\u30B3\\u30DE\\u30F3\\u30C9\\u3092\\u8868\\u793A\",\"\\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u9078\\u629E\",null,null,null,null,null,null,null,null,null,\"\\u884C\\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"\\u884C\\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u5207\\u308A\\u66FF\\u3048(&&T)\",\"\\u884C\\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u8FFD\\u52A0\",\"\\u884C\\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u524A\\u9664\",\"\\u30D6\\u30ED\\u30C3\\u30AF \\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"\\u30D6\\u30ED\\u30C3\\u30AF \\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u5207\\u308A\\u66FF\\u3048(&&B)\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\",\"\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u6587\\u5B57\",\"\\u5782\\u76F4\\u65B9\\u5411\\u306E\\u30B5\\u30A4\\u30BA\",\"\\u5747\\u7B49\",\"\\u5857\\u308A\\u3064\\u3076\\u3057\",\"\\u30B5\\u30A4\\u30BA\\u306B\\u5408\\u308F\\u305B\\u3066\\u8ABF\\u6574\",\"\\u30B9\\u30E9\\u30A4\\u30C0\\u30FC\",\"\\u30DE\\u30A6\\u30B9 \\u30AA\\u30FC\\u30D0\\u30FC\",\"\\u5E38\\u306B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8 \\u30E1\\u30CB\\u30E5\\u30FC\\u306E\\u8868\\u793A\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u5143\\u306B\\u623B\\u3059\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u3084\\u308A\\u76F4\\u3057\",`\\u8CBC\\u308A\\u4ED8\\u3051\\u3092\\u8A66\\u307F\\u308B\\u8CBC\\u308A\\u4ED8\\u3051\\u7DE8\\u96C6\\u306E\\u7A2E\\u985E\\u3002\\r\n\\u3053\\u306E\\u7A2E\\u985E\\u306E\\u7DE8\\u96C6\\u304C\\u8907\\u6570\\u3042\\u308B\\u5834\\u5408\\u306F\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30D4\\u30C3\\u30AB\\u30FC\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\\u3053\\u306E\\u7A2E\\u985E\\u306E\\u7DE8\\u96C6\\u304C\\u306A\\u3044\\u5834\\u5408\\u306F\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30A8\\u30E9\\u30FC \\u30E1\\u30C3\\u30BB\\u30FC\\u30B8\\u304C\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002`,\"\\u8CBC\\u308A\\u4ED8\\u3051\\u306E\\u30AA\\u30D7\\u30B7\\u30E7\\u30F3...\",\"\\u30C6\\u30AD\\u30B9\\u30C8\\u3068\\u3057\\u3066\\u8CBC\\u308A\\u4ED8\\u3051\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u3092\\u8868\\u793A...\",\"'{0}' \\u306E\\u8CBC\\u308A\\u4ED8\\u3051\\u306E\\u7DE8\\u96C6\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u306E\\u7DE8\\u96C6\\u3092\\u89E3\\u6C7A\\u3057\\u3066\\u3044\\u307E\\u3059\\u3002\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u53D6\\u308A\\u6D88\\u3057\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u30CF\\u30F3\\u30C9\\u30E9\\u30FC\\u3092\\u5B9F\\u884C\\u3057\\u3066\\u3044\\u307E\\u3059\\u3002\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u30AD\\u30E3\\u30F3\\u30BB\\u30EB\\u3057\\u3001\\u57FA\\u672C\\u7684\\u306A\\u8CBC\\u308A\\u4ED8\\u3051\\u3092\\u884C\\u3044\\u307E\\u3059\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u64CD\\u4F5C\\u306E\\u9078\\u629E\",\"\\u8CBC\\u308A\\u4ED8\\u3051\\u30CF\\u30F3\\u30C9\\u30E9\\u30FC\\u3092\\u5B9F\\u884C\\u3057\\u3066\\u3044\\u307E\\u3059...\",\"\\u30D7\\u30EC\\u30FC\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u633F\\u5165\",\"URI \\u306E\\u633F\\u5165\",\"URI \\u306E\\u633F\\u5165\",\"\\u30D1\\u30B9\\u306E\\u633F\\u5165\",\"\\u30D1\\u30B9\\u306E\\u633F\\u5165\",\"\\u76F8\\u5BFE\\u30D1\\u30B9\\u306E\\u633F\\u5165\",\"\\u76F8\\u5BFE\\u30D1\\u30B9\\u306E\\u633F\\u5165\",\"HTML \\u306E\\u633F\\u5165\",null,\"\\u30C9\\u30ED\\u30C3\\u30D7 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30C9\\u30ED\\u30C3\\u30D7 \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u3092\\u8868\\u793A...\",\"\\u30C9\\u30ED\\u30C3\\u30D7 \\u30CF\\u30F3\\u30C9\\u30E9\\u30FC\\u3092\\u5B9F\\u884C\\u3057\\u3066\\u3044\\u307E\\u3059\\u3002\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u30AD\\u30E3\\u30F3\\u30BB\\u30EB\\u3057\\u307E\\u3059\",`\\u7DE8\\u96C6 '{0}' \\u306E\\u89E3\\u6C7A\\u4E2D\\u306B\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F:\\r\n{1}`,`\\u7DE8\\u96C6 '{0}' \\u306E\\u9069\\u7528\\u4E2D\\u306B\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F:\\r\n{1}`,\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u53D6\\u308A\\u6D88\\u3057\\u53EF\\u80FD\\u306A\\u64CD\\u4F5C ('\\u53C2\\u7167\\u3092\\u3053\\u3053\\u306B\\u8868\\u793A' \\u306A\\u3069) \\u3092\\u5B9F\\u884C\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30D5\\u30A1\\u30A4\\u30EB\\u304C\\u5927\\u304D\\u3059\\u304E\\u308B\\u305F\\u3081\\u3001\\u3059\\u3079\\u3066\\u306E\\u7F6E\\u63DB\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u3092\\u5B9F\\u884C\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u691C\\u7D22\",\"\\u691C\\u7D22(&&F)\",\"\\u5F15\\u6570\\u3092\\u4F7F\\u7528\\u3057\\u305F\\u691C\\u7D22\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u3067\\u691C\\u7D22\",\"\\u6B21\\u3092\\u691C\\u7D22\",\"\\u524D\\u3092\\u691C\\u7D22\",\"[\\u4E00\\u81F4] \\u306B\\u79FB\\u52D5...\",\"\\u4E00\\u81F4\\u3057\\u307E\\u305B\\u3093\\u3002\\u4ED6\\u306E\\u9805\\u76EE\\u3092\\u691C\\u7D22\\u3057\\u3066\\u307F\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u7279\\u5B9A\\u306E\\u4E00\\u81F4\\u306B\\u79FB\\u52D5\\u3059\\u308B\\u6570\\u5024\\u3092\\u5165\\u529B\\u3057\\u307E\\u3059 (1 \\u304B\\u3089 {0})\",\"1 ~ {0} \\u306E\\u6570\\u3092\\u5165\\u529B\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"1 ~ {0} \\u306E\\u6570\\u3092\\u5165\\u529B\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u6B21\\u306E\\u9078\\u629E\\u9805\\u76EE\\u3092\\u691C\\u7D22\",\"\\u524D\\u306E\\u9078\\u629E\\u9805\\u76EE\\u3092\\u691C\\u7D22\",\"\\u7F6E\\u63DB\",\"\\u7F6E\\u63DB(&&R)\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u6298\\u308A\\u305F\\u305F\\u307E\\u308C\\u3066\\u3044\\u308B\\u3053\\u3068\\u3092\\u793A\\u3059\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u5C55\\u958B\\u3055\\u308C\\u3066\\u3044\\u308B\\u3053\\u3068\\u3092\\u793A\\u3059\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u306E '\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u691C\\u7D22' \\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u306E '\\u7F6E\\u63DB' \\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u306E '\\u3059\\u3079\\u3066\\u7F6E\\u63DB' \\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u306E '\\u524D\\u3092\\u691C\\u7D22' \\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u691C\\u7D22\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u306E '\\u6B21\\u3092\\u691C\\u7D22' \\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u691C\\u7D22/\\u7F6E\\u63DB\",\"\\u691C\\u7D22\",\"\\u691C\\u7D22\",\"\\u524D\\u306E\\u4E00\\u81F4\\u9805\\u76EE\",\"\\u6B21\\u306E\\u4E00\\u81F4\\u9805\\u76EE\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u691C\\u7D22\",\"\\u9589\\u3058\\u308B\",\"\\u7F6E\\u63DB\",\"\\u7F6E\\u63DB\",\"\\u7F6E\\u63DB\",\"\\u3059\\u3079\\u3066\\u7F6E\\u63DB\",\"\\u7F6E\\u63DB\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"\\u6700\\u521D\\u306E {0} \\u4EF6\\u306E\\u7D50\\u679C\\u3060\\u3051\\u304C\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u304C\\u3001\\u3059\\u3079\\u3066\\u306E\\u691C\\u7D22\\u64CD\\u4F5C\\u306F\\u30C6\\u30AD\\u30B9\\u30C8\\u5168\\u4F53\\u3067\\u6A5F\\u80FD\\u3057\\u307E\\u3059\\u3002\",\"{0} / {1} \\u4EF6\",\"\\u7D50\\u679C\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"{0} \\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u3057\\u305F\",\"{0} \\u304C '{1}' \\u3067\\u898B\\u3064\\u304B\\u308A\\u307E\\u3057\\u305F\",\"{0} \\u306F '{1}' \\u3067 {2} \\u306B\\u898B\\u3064\\u304B\\u308A\\u307E\\u3057\\u305F\",\"{0} \\u304C '{1}' \\u3067\\u898B\\u3064\\u304B\\u308A\\u307E\\u3057\\u305F\",\"Ctrl + Enter \\u30AD\\u30FC\\u3092\\u62BC\\u3059\\u3068\\u3001\\u3059\\u3079\\u3066\\u7F6E\\u63DB\\u3059\\u308B\\u306E\\u3067\\u306F\\u306A\\u304F\\u3001\\u6539\\u884C\\u304C\\u633F\\u5165\\u3055\\u308C\\u308B\\u3088\\u3046\\u306B\\u306A\\u308A\\u307E\\u3057\\u305F\\u3002editor.action.replaceAll \\u306E\\u30AD\\u30FC\\u30D0\\u30A4\\u30F3\\u30C9\\u3092\\u5909\\u66F4\\u3057\\u3066\\u3001\\u3053\\u306E\\u52D5\\u4F5C\\u3092\\u30AA\\u30FC\\u30D0\\u30FC\\u30E9\\u30A4\\u30C9\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u5C55\\u958B\",\"\\u518D\\u5E30\\u7684\\u306B\\u5C55\\u958B\\u3059\\u308B\",\"\\u6298\\u308A\\u305F\\u305F\\u307F\",\"\\u6298\\u308A\\u305F\\u305F\\u307F\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"\\u518D\\u5E30\\u7684\\u306B\\u6298\\u308A\\u305F\\u305F\\u3080\",\"\\u6298\\u308A\\u305F\\u305F\\u307F\\u3092\\u518D\\u5E30\\u7684\\u306B\\u5207\\u308A\\u66FF\\u3048\\u308B\",\"\\u3059\\u3079\\u3066\\u306E\\u30D6\\u30ED\\u30C3\\u30AF \\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u6298\\u308A\\u305F\\u305F\\u307F\",\"\\u3059\\u3079\\u3066\\u306E\\u9818\\u57DF\\u3092\\u6298\\u308A\\u305F\\u305F\\u3080\",\"\\u3059\\u3079\\u3066\\u306E\\u9818\\u57DF\\u3092\\u5C55\\u958B\",\"\\u9078\\u629E\\u3057\\u305F\\u9805\\u76EE\\u3092\\u9664\\u304F\\u3059\\u3079\\u3066\\u6298\\u308A\\u305F\\u305F\\u307F\",\"\\u9078\\u629E\\u3057\\u305F\\u9805\\u76EE\\u3092\\u9664\\u304F\\u3059\\u3079\\u3066\\u5C55\\u958B\",\"\\u3059\\u3079\\u3066\\u6298\\u308A\\u305F\\u305F\\u307F\",\"\\u3059\\u3079\\u3066\\u5C55\\u958B\",\"\\u89AA\\u30D5\\u30A9\\u30FC\\u30EB\\u30C9\\u306B\\u79FB\\u52D5\\u3059\\u308B\",\"\\u524D\\u306E\\u30D5\\u30A9\\u30FC\\u30EB\\u30C7\\u30A3\\u30F3\\u30B0\\u7BC4\\u56F2\\u306B\\u79FB\\u52D5\\u3059\\u308B\",\"\\u6B21\\u306E\\u30D5\\u30A9\\u30FC\\u30EB\\u30C7\\u30A3\\u30F3\\u30B0\\u7BC4\\u56F2\\u306B\\u79FB\\u52D5\\u3059\\u308B\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u304B\\u3089\\u6298\\u308A\\u305F\\u305F\\u307F\\u7BC4\\u56F2\\u3092\\u4F5C\\u6210\\u3059\\u308B\",\"\\u624B\\u52D5\\u6298\\u308A\\u305F\\u305F\\u307F\\u7BC4\\u56F2\\u3092\\u524A\\u9664\\u3059\\u308B\",\"\\u30EC\\u30D9\\u30EB {0} \\u3067\\u6298\\u308A\\u305F\\u305F\\u3080\",\"\\u6298\\u308A\\u66F2\\u3052\\u308B\\u7BC4\\u56F2\\u306E\\u80CC\\u666F\\u8272\\u3002\\u57FA\\u306E\\u88C5\\u98FE\\u3092\\u96A0\\u3055\\u306A\\u3044\\u3088\\u3046\\u306B\\u3001\\u8272\\u306F\\u4E0D\\u900F\\u660E\\u3067\\u3042\\u3063\\u3066\\u306F\\u306A\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u6298\\u308A\\u305F\\u305F\\u307E\\u308C\\u305F\\u7BC4\\u56F2\\u306E\\u6700\\u521D\\u306E\\u884C\\u306E\\u5F8C\\u3067\\u6298\\u308A\\u305F\\u305F\\u307E\\u308C\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4F59\\u767D\\u306B\\u3042\\u308B\\u6298\\u308A\\u305F\\u305F\\u307F\\u30B3\\u30F3\\u30C8\\u30ED\\u30FC\\u30EB\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B0\\u30EA\\u30D5\\u4F59\\u767D\\u5185\\u306E\\u5C55\\u958B\\u3055\\u308C\\u305F\\u7BC4\\u56F2\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B0\\u30EA\\u30D5\\u4F59\\u767D\\u5185\\u306E\\u6298\\u308A\\u305F\\u305F\\u307E\\u308C\\u305F\\u7BC4\\u56F2\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B0\\u30EA\\u30D5\\u4F59\\u767D\\u5185\\u306E\\u6298\\u308A\\u305F\\u305F\\u307E\\u308C\\u305F\\u7BC4\\u56F2\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30B0\\u30EA\\u30D5\\u4F59\\u767D\\u5185\\u3067\\u624B\\u52D5\\u3067\\u5C55\\u958B\\u3055\\u308C\\u305F\\u7BC4\\u56F2\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u7BC4\\u56F2\\u3092\\u5C55\\u958B\\u3057\\u307E\\u3059\\u3002\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u7BC4\\u56F2\\u3092\\u6298\\u308A\\u305F\\u305F\\u307F\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u3092\\u62E1\\u5927\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u3092\\u7E2E\\u5C0F\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30D5\\u30A9\\u30F3\\u30C8 \\u30B5\\u30A4\\u30BA\\u3092\\u30EA\\u30BB\\u30C3\\u30C8\",\"\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u306E\\u30D5\\u30A9\\u30FC\\u30DE\\u30C3\\u30C8\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u30D5\\u30A9\\u30FC\\u30DE\\u30C3\\u30C8\",\"\\u6B21\\u306E\\u554F\\u984C (\\u30A8\\u30E9\\u30FC\\u3001\\u8B66\\u544A\\u3001\\u60C5\\u5831) \\u3078\\u79FB\\u52D5\",\"\\u6B21\\u306E\\u30DE\\u30FC\\u30AB\\u30FC\\u3078\\u79FB\\u52D5\\u3059\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u524D\\u306E\\u554F\\u984C (\\u30A8\\u30E9\\u30FC\\u3001\\u8B66\\u544A\\u3001\\u60C5\\u5831) \\u3078\\u79FB\\u52D5\",\"\\u524D\\u306E\\u30DE\\u30FC\\u30AB\\u30FC\\u3078\\u79FB\\u52D5\\u3059\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30D5\\u30A1\\u30A4\\u30EB\\u5185\\u306E\\u6B21\\u306E\\u554F\\u984C (\\u30A8\\u30E9\\u30FC\\u3001\\u8B66\\u544A\\u3001\\u60C5\\u5831) \\u3078\\u79FB\\u52D5\",\"\\u6B21\\u306E\\u554F\\u984C\\u7B87\\u6240(&&P)\",\"\\u30D5\\u30A1\\u30A4\\u30EB\\u5185\\u306E\\u524D\\u306E\\u554F\\u984C (\\u30A8\\u30E9\\u30FC\\u3001\\u8B66\\u544A\\u3001\\u60C5\\u5831) \\u3078\\u79FB\\u52D5\",\"\\u524D\\u306E\\u554F\\u984C\\u7B87\\u6240(&&P)\",\"\\u30A8\\u30E9\\u30FC\",\"\\u8B66\\u544A\",\"\\u60C5\\u5831\",\"\\u30D2\\u30F3\\u30C8\",\"{0} ({1})\\u3002\",\"{1} \\u4EF6\\u4E2D {0} \\u4EF6\\u306E\\u554F\\u984C\",\"\\u554F\\u984C {0} / {1}\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u30A8\\u30E9\\u30FC\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8 \\u30A8\\u30E9\\u30FC\\u306E\\u898B\\u51FA\\u3057\\u306E\\u80CC\\u666F\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u8B66\\u544A\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u8B66\\u544A\\u306E\\u898B\\u51FA\\u3057\\u306E\\u80CC\\u666F\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u60C5\\u5831\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u60C5\\u5831\\u306E\\u898B\\u51FA\\u3057\\u306E\\u80CC\\u666F\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u80CC\\u666F\\u3002\",\"\\u30D4\\u30FC\\u30AF\",\"\\u5B9A\\u7FA9\",\"'{0}' \\u306E\\u5B9A\\u7FA9\\u306F\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u5B9A\\u7FA9\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u5B9A\\u7FA9\\u306B\\u79FB\\u52D5(&&D)\",\"\\u5BA3\\u8A00\",\"'{0}' \\u306E\\u5BA3\\u8A00\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u5BA3\\u8A00\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u5BA3\\u8A00\\u3078\\u79FB\\u52D5(&&D)\",\"'{0}' \\u306E\\u5BA3\\u8A00\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u5BA3\\u8A00\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u578B\\u5B9A\\u7FA9\",\"'{0}' \\u306E\\u578B\\u5B9A\\u7FA9\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u578B\\u5B9A\\u7FA9\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u578B\\u5B9A\\u7FA9\\u306B\\u79FB\\u52D5(&&T)\",\"\\u5B9F\\u88C5\",\"'{0}' \\u306E\\u5B9F\\u88C5\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u5B9F\\u88C5\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u5B9F\\u88C5\\u7B87\\u6240\\u306B\\u79FB\\u52D5(&&I)\",\"'{0}' \\u306E\\u53C2\\u7167\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u53C2\\u7167\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\",\"\\u53C2\\u7167\\u3078\\u79FB\\u52D5(&&R)\",\"\\u53C2\\u7167\",\"\\u53C2\\u7167\",\"\\u5834\\u6240\",\"'{0}' \\u306B\\u4E00\\u81F4\\u3059\\u308B\\u7D50\\u679C\\u306F\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"\\u53C2\\u7167\",\"\\u5B9A\\u7FA9\\u3078\\u79FB\\u52D5\",\"\\u5B9A\\u7FA9\\u3092\\u6A2A\\u306B\\u958B\\u304F\",\"\\u5B9A\\u7FA9\\u3092\\u3053\\u3053\\u306B\\u8868\\u793A\",\"\\u5BA3\\u8A00\\u3078\\u79FB\\u52D5\",\"\\u5BA3\\u8A00\\u3092\\u3053\\u3053\\u306B\\u8868\\u793A\",\"\\u578B\\u5B9A\\u7FA9\\u3078\\u79FB\\u52D5\",\"\\u578B\\u5B9A\\u7FA9\\u3092\\u8868\\u793A\",\"\\u5B9F\\u88C5\\u3078\\u79FB\\u52D5\",\"\\u5B9F\\u88C5\\u306E\\u30D4\\u30FC\\u30AF\",\"\\u53C2\\u7167\\u3078\\u79FB\\u52D5\",\"\\u53C2\\u7167\\u3092\\u3053\\u3053\\u306B\\u8868\\u793A\",\"\\u4EFB\\u610F\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u3078\\u79FB\\u52D5\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u3001{0} \\u306E\\u5B9A\\u7FA9\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u53C2\\u7167\\u306E\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B ('\\u53C2\\u7167\\u306E\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC' \\u307E\\u305F\\u306F '\\u5B9A\\u7FA9\\u3092\\u3053\\u3053\\u306B\\u8868\\u793A' \\u306A\\u3069)\",\"\\u8AAD\\u307F\\u8FBC\\u3093\\u3067\\u3044\\u307E\\u3059...\",\"{0} ({1})\",\"{0} \\u500B\\u306E\\u53C2\\u7167\",\"{0} \\u500B\\u306E\\u53C2\\u7167\",\"\\u53C2\\u7167\\u8A2D\\u5B9A\",\"\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\\u3092\\u8868\\u793A\\u3067\\u304D\\u307E\\u305B\\u3093\",\"\\u7D50\\u679C\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u53C2\\u7167\\u8A2D\\u5B9A\",\"\\u5217 {2} \\u306E\\u884C {1} \\u306E {0}\",\"\\u5217 {3} \\u306E\\u884C {2} \\u306E {1} \\u306B {0}\",\"{0} \\u306B 1 \\u500B\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u3001\\u5B8C\\u5168\\u306A\\u30D1\\u30B9 {1}\",\"{1} \\u306B {0} \\u500B\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u3001\\u5B8C\\u5168\\u306A\\u30D1\\u30B9 {2}\",\"\\u4E00\\u81F4\\u3059\\u308B\\u9805\\u76EE\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"{0} \\u306B 1 \\u500B\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u3057\\u305F\",\"{1} \\u306B {0} \\u500B\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u3057\\u305F\",\"{1} \\u500B\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u306B {0} \\u500B\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u3057\\u305F\",\"\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9\\u306E\\u307F\\u3067\\u79FB\\u52D5\\u3067\\u304D\\u308B\\u30B7\\u30F3\\u30DC\\u30EB\\u306E\\u5834\\u6240\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\\u3002\",\"{1} \\u306E\\u30B7\\u30F3\\u30DC\\u30EB {0}\\u3001\\u6B21\\u306B {2}\",\"\\u30B7\\u30F3\\u30DC\\u30EB {0}/{1}\",\"\\u30DB\\u30D0\\u30FC\\u306E\\u8A73\\u7D30\\u30EC\\u30D9\\u30EB\\u3092\\u4E0A\\u3052\\u308B\",\"\\u30DB\\u30D0\\u30FC\\u306E\\u8A73\\u7D30\\u30EC\\u30D9\\u30EB\\u3092\\u4E0B\\u3052\\u308B\",\"[\\u8868\\u793A\\u307E\\u305F\\u306F\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9] \\u30DB\\u30D0\\u30FC\",\"\\u30DB\\u30D0\\u30FC\\u306F\\u81EA\\u52D5\\u7684\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3092\\u53D6\\u5F97\\u3057\\u307E\\u305B\\u3093\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u306F\\u3001\\u305D\\u308C\\u304C\\u65E2\\u306B\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306B\\u306E\\u307F\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3092\\u53D6\\u5F97\\u3057\\u307E\\u3059\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u3068\\u3001\\u81EA\\u52D5\\u7684\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3092\\u53D6\\u5F97\\u3057\\u307E\\u3059\\u3002\",\"\\u5B9A\\u7FA9\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\",\"[\\u4E0A\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB] \\u30DB\\u30D0\\u30FC\",\"[\\u4E0B\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB] \\u30DB\\u30D0\\u30FC\",\"[\\u5DE6\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB] \\u30DB\\u30D0\\u30FC\",\"[\\u53F3\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB] \\u30DB\\u30D0\\u30FC\",\"[\\u30DA\\u30FC\\u30B8\\u3092\\u4E0A\\u306B] \\u30DB\\u30D0\\u30FC\",\"[\\u30DA\\u30FC\\u30B8\\u3092\\u4E0B\\u306B] \\u30DB\\u30D0\\u30FC\",\"[\\u4E0A\\u306B\\u79FB\\u52D5] \\u30DB\\u30D0\\u30FC\",\"[\\u4E0B\\u306B\\u79FB\\u52D5] \\u30DB\\u30D0\\u30FC\",\"\\u73FE\\u5728\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u4F4D\\u7F6E\\u306B\\u3042\\u308B\\u30B7\\u30F3\\u30DC\\u30EB\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u3001\\u53C2\\u7167\\u3001\\u305D\\u306E\\u4ED6\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u3092\\u8868\\u793A\\u3059\\u308B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u8868\\u793A\\u307E\\u305F\\u306F\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u5B9A\\u7FA9\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC \\u30DB\\u30D0\\u30FC\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u4E0A\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u4E0B\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u5DE6\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u53F3\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u30DA\\u30FC\\u30B8\\u306E\\u4E0A\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u30DA\\u30FC\\u30B8\\u306E\\u4E0B\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u4E0A\\u90E8\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u3092\\u4E0B\\u90E8\\u306B\\u79FB\\u52D5\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u306E\\u8A73\\u7D30\\u5EA6\\u3092\\u9AD8\\u3081\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u306E\\u8A73\\u7D30\\u5EA6\\u3092\\u4E0B\\u3052\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u8AAD\\u307F\\u8FBC\\u3093\\u3067\\u3044\\u307E\\u3059...\",\"\\u30D1\\u30D5\\u30A9\\u30FC\\u30DE\\u30F3\\u30B9\\u4E0A\\u306E\\u7406\\u7531\\u304B\\u3089\\u3001\\u9577\\u3044\\u884C\\u306E\\u305F\\u3081\\u306B\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u304C\\u4E00\\u6642\\u505C\\u6B62\\u3055\\u308C\\u307E\\u3057\\u305F\\u3002\\u3053\\u308C\\u306F `editor.stopRenderingLineAfter` \\u3067\\u8A2D\\u5B9A\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u30D1\\u30D5\\u30A9\\u30FC\\u30DE\\u30F3\\u30B9\\u4E0A\\u306E\\u7406\\u7531\\u304B\\u3089\\u30C8\\u30FC\\u30AF\\u30F3\\u5316\\u306F\\u30B9\\u30AD\\u30C3\\u30D7\\u3055\\u308C\\u307E\\u3059\\u3002\\u305D\\u306E\\u9577\\u3044\\u884C\\u306E\\u9577\\u3055\\u306F `editor.maxTokenizationLineLength` \\u3067\\u69CB\\u6210\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u306E\\u8A73\\u7D30\\u30EC\\u30D9\\u30EB\\u3092\\u4E0A\\u3052\\u308B ({0})\",\"\\u30DB\\u30D0\\u30FC\\u306E\\u8A73\\u7D30\\u30EC\\u30D9\\u30EB\\u3092\\u4E0A\\u3052\\u308B\",\"\\u30DB\\u30D0\\u30FC\\u306E\\u8A73\\u7D30\\u30EC\\u30D9\\u30EB\\u3092\\u4E0B\\u3052\\u308B ({0})\",\"\\u30DB\\u30D0\\u30FC\\u306E\\u8A73\\u7D30\\u30EC\\u30D9\\u30EB\\u3092\\u4E0B\\u3052\\u308B\",\"\\u554F\\u984C\\u306E\\u8868\\u793A\",\"\\u5229\\u7528\\u3067\\u304D\\u308B\\u30AF\\u30A4\\u30C3\\u30AF\\u30D5\\u30A3\\u30C3\\u30AF\\u30B9\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30AF\\u30A4\\u30C3\\u30AF\\u30D5\\u30A3\\u30C3\\u30AF\\u30B9\\u3092\\u78BA\\u8A8D\\u3057\\u3066\\u3044\\u307E\\u3059...\",\"\\u5229\\u7528\\u3067\\u304D\\u308B\\u30AF\\u30A4\\u30C3\\u30AF\\u30D5\\u30A3\\u30C3\\u30AF\\u30B9\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30AF\\u30A4\\u30C3\\u30AF \\u30D5\\u30A3\\u30C3\\u30AF\\u30B9...\",\"\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u30B9\\u30DA\\u30FC\\u30B9\\u306B\\u5909\\u63DB\",\"\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u30BF\\u30D6\\u306B\\u5909\\u63DB\",\"\\u69CB\\u6210\\u3055\\u308C\\u305F\\u30BF\\u30D6\\u306E\\u30B5\\u30A4\\u30BA\",\"\\u65E2\\u5B9A\\u306E\\u30BF\\u30D6 \\u30B5\\u30A4\\u30BA\",\"\\u73FE\\u5728\\u306E\\u30BF\\u30D6 \\u30B5\\u30A4\\u30BA\",\"\\u73FE\\u5728\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u306E\\u30BF\\u30D6\\u306E\\u30B5\\u30A4\\u30BA\\u3092\\u9078\\u629E\",\"\\u30BF\\u30D6\\u306B\\u3088\\u308B\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\",\"\\u30B9\\u30DA\\u30FC\\u30B9\\u306B\\u3088\\u308B\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\",\"\\u30BF\\u30D6\\u306E\\u8868\\u793A\\u30B5\\u30A4\\u30BA\\u306E\\u5909\\u66F4\",\"\\u5185\\u5BB9\\u304B\\u3089\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u691C\\u51FA\",\"\\u884C\\u306E\\u518D\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\",\"\\u9078\\u629E\\u884C\\u3092\\u518D\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\",\"\\u30BF\\u30D6\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u30B9\\u30DA\\u30FC\\u30B9\\u306B\\u5909\\u63DB\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30DA\\u30FC\\u30B9\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u30BF\\u30D6\\u306B\\u5909\\u63DB\\u3057\\u307E\\u3059\\u3002\",\"\\u30BF\\u30D6\\u3067\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30DA\\u30FC\\u30B9\\u3092\\u542B\\u3080\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u30BF\\u30D6\\u3068\\u540C\\u7B49\\u306E\\u30B9\\u30DA\\u30FC\\u30B9 \\u30B5\\u30A4\\u30BA\\u3092\\u5909\\u66F4\\u3057\\u307E\\u3059\\u3002\",\"\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u304B\\u3089\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u691C\\u51FA\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u5143\\u306B\\u623B\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9078\\u629E\\u3057\\u305F\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u5143\\u306B\\u623B\\u3057\\u307E\\u3059\\u3002\",\"\\u30C0\\u30D6\\u30EB\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u633F\\u5165\\u3059\\u308B\",\"cmd \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u306A\\u304C\\u3089\\u30AF\\u30EA\\u30C3\\u30AF\",\"ctrl \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u306A\\u304C\\u3089 \\u30AF\\u30EA\\u30C3\\u30AF\",\"option \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u306A\\u304C\\u3089\\u30AF\\u30EA\\u30C3\\u30AF\",\"alt \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u306A\\u304C\\u3089\\u30AF\\u30EA\\u30C3\\u30AF\",\"[\\u5B9A\\u7FA9] ({0}) \\u306B\\u79FB\\u52D5\\u3057\\u3001\\u53F3\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066\\u8A73\\u7D30\\u3092\\u8868\\u793A\\u3057\\u307E\\u3059\",\"\\u5B9A\\u7FA9\\u306B\\u79FB\\u52D5 ({0})\",\"\\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u5B9F\\u884C\",\"\\u6B21\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3059\\u308B\",\"\\u524D\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3059\\u308B\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u3092\\u30C8\\u30EA\\u30AC\\u30FC\\u3059\\u308B\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u63D0\\u6848\\u306E\\u6B21\\u306E\\u5358\\u8A9E\\u3092\\u627F\\u8AFE\\u3059\\u308B\",\"\\u5358\\u8A9E\\u3092\\u63A1\\u7528\\u3059\\u308B\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u63D0\\u6848\\u306E\\u6B21\\u306E\\u884C\\u3092\\u627F\\u8AFE\\u3059\\u308B\",\"\\u884C\\u3092\\u627F\\u8AFE\\u3059\\u308B\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u3092\\u63A1\\u7528\\u3059\\u308B\",\"\\u627F\\u8AFE\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u3092\\u975E\\u8868\\u793A\\u306B\\u3059\\u308B\",\"\\u5E38\\u306B\\u30C4\\u30FC\\u30EB \\u30D0\\u30FC\\u3092\\u8868\\u793A\\u3059\\u308B\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u304C\\u30B9\\u30DA\\u30FC\\u30B9\\u3067\\u59CB\\u307E\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\\u304C\\u3001\\u30BF\\u30D6\\u3067\\u633F\\u5165\\u3055\\u308C\\u308B\\u3082\\u306E\\u3088\\u308A\\u3082\\u5C0F\\u3055\\u3044\\u30B9\\u30DA\\u30FC\\u30B9\\u3067\\u59CB\\u307E\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u73FE\\u5728\\u306E\\u5019\\u88DC\\u306B\\u3064\\u3044\\u3066\\u5019\\u88DC\\u8868\\u793A\\u3092\\u6B62\\u3081\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30E6\\u30FC\\u30B6\\u30FC\\u88DC\\u52A9\\u5BFE\\u5FDC\\u306E\\u30D3\\u30E5\\u30FC\\u3067\\u3053\\u308C\\u3092\\u691C\\u67FB\\u3057\\u307E\\u3059 ({0})\",\"\\u63D0\\u6848:\",\"\\u6B21\\u306E\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC \\u30D2\\u30F3\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u524D\\u306E\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC \\u30D2\\u30F3\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"{0} ({1})\",\"\\u524D\\u3078\",\"\\u6B21\\u3078\",null,null,null,null,null,null,null,null,\"\\u524D\\u306E\\u5024\\u306B\\u7F6E\\u63DB\",\"\\u6B21\\u306E\\u5024\\u306B\\u7F6E\\u63DB\",\"\\u884C\\u5168\\u4F53\\u3092\\u9078\\u629E\\u3059\\u308B\",\"\\u884C\\u3092\\u4E0A\\u3078\\u30B3\\u30D4\\u30FC\",\"\\u884C\\u3092\\u4E0A\\u3078\\u30B3\\u30D4\\u30FC(&&C)\",\"\\u884C\\u3092\\u4E0B\\u3078\\u30B3\\u30D4\\u30FC\",\"\\u884C\\u3092\\u4E0B\\u3078\\u30B3\\u30D4\\u30FC(&&P)\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u8907\\u88FD\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u8907\\u88FD(&&D)\",\"\\u884C\\u3092\\u4E0A\\u3078\\u79FB\\u52D5\",\"\\u884C\\u3092\\u4E0A\\u3078\\u79FB\\u52D5(&&V)\",\"\\u884C\\u3092\\u4E0B\\u3078\\u79FB\\u52D5\",\"\\u884C\\u3092\\u4E0B\\u3078\\u79FB\\u52D5(&&L)\",\"\\u884C\\u3092\\u6607\\u9806\\u306B\\u4E26\\u3079\\u66FF\\u3048\",\"\\u884C\\u3092\\u964D\\u9806\\u306B\\u4E26\\u3079\\u66FF\\u3048\",\"\\u91CD\\u8907\\u3059\\u308B\\u884C\\u3092\\u524A\\u9664\",\"\\u672B\\u5C3E\\u306E\\u7A7A\\u767D\\u306E\\u30C8\\u30EA\\u30DF\\u30F3\\u30B0\",\"\\u884C\\u306E\\u524A\\u9664\",\"\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\",\"\\u884C\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u89E3\\u9664\",\"\\u884C\\u3092\\u4E0A\\u306B\\u633F\\u5165\",\"\\u884C\\u3092\\u4E0B\\u306B\\u633F\\u5165\",\"\\u5DE6\\u5074\\u3092\\u3059\\u3079\\u3066\\u524A\\u9664\",\"\\u53F3\\u5074\\u3092\\u3059\\u3079\\u3066\\u524A\\u9664\",\"\\u884C\\u3092\\u3064\\u306A\\u3052\\u308B\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u306E\\u5468\\u56F2\\u306E\\u6587\\u5B57\\u3092\\u5165\\u308C\\u66FF\\u3048\\u308B\",\"\\u5927\\u6587\\u5B57\\u306B\\u5909\\u63DB\",\"\\u5C0F\\u6587\\u5B57\\u306B\\u5909\\u63DB\",\"\\u5148\\u982D\\u6587\\u5B57\\u3092\\u5927\\u6587\\u5B57\\u306B\\u5909\\u63DB\\u3059\\u308B\",\"\\u30B9\\u30CD\\u30FC\\u30AF \\u30B1\\u30FC\\u30B9\\u306B\\u5909\\u63DB\\u3059\\u308B\",\"\\u30AD\\u30E3\\u30E1\\u30EB \\u30B1\\u30FC\\u30B9\\u306B\\u5909\\u63DB\\u3059\\u308B\",\"\\u30D1\\u30B9\\u30AB\\u30EB \\u30B1\\u30FC\\u30B9\\u3078\\u306E\\u5909\\u63DB\",\"Kebab \\u30B1\\u30FC\\u30B9\\u3078\\u306E\\u5909\\u63DB\",\"\\u30EA\\u30F3\\u30AF\\u3055\\u308C\\u305F\\u7DE8\\u96C6\\u306E\\u958B\\u59CB\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u578B\\u306E\\u540D\\u524D\\u306E\\u81EA\\u52D5\\u5909\\u66F4\\u3092\\u884C\\u3046\\u3068\\u304D\\u306E\\u80CC\\u666F\\u8272\\u3067\\u3059\\u3002\",\"\\u3053\\u306E\\u30EA\\u30F3\\u30AF\\u306F\\u5F62\\u5F0F\\u304C\\u6B63\\u3057\\u304F\\u306A\\u3044\\u305F\\u3081\\u958B\\u304F\\u3053\\u3068\\u304C\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F: {0}\",\"\\u3053\\u306E\\u30EA\\u30F3\\u30AF\\u306F\\u30BF\\u30FC\\u30B2\\u30C3\\u30C8\\u304C\\u5B58\\u5728\\u3057\\u306A\\u3044\\u305F\\u3081\\u958B\\u304F\\u3053\\u3068\\u304C\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\\u3002\",\"\\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u5B9F\\u884C\",\"\\u30EA\\u30F3\\u30AF\\u5148\\u3092\\u8868\\u793A\",\"cmd + \\u30AF\\u30EA\\u30C3\\u30AF\",\"ctrl + \\u30AF\\u30EA\\u30C3\\u30AF\",\"option + \\u30AF\\u30EA\\u30C3\\u30AF\",\"alt + \\u30AF\\u30EA\\u30C3\\u30AF\",\"\\u30B3\\u30DE\\u30F3\\u30C9 {0} \\u306E\\u5B9F\\u884C\",\"\\u30EA\\u30F3\\u30AF\\u3092\\u958B\\u304F\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u73FE\\u5728\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30E1\\u30C3\\u30BB\\u30FC\\u30B8\\u304C\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u8FFD\\u52A0\\u3055\\u308C\\u305F\\u30AB\\u30FC\\u30BD\\u30EB: {0}\",\"\\u8FFD\\u52A0\\u3055\\u308C\\u305F\\u30AB\\u30FC\\u30BD\\u30EB: {0}\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u4E0A\\u306B\\u633F\\u5165\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u4E0A\\u306B\\u633F\\u5165(&&A)\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u4E0B\\u306B\\u633F\\u5165\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u4E0B\\u306B\\u633F\\u5165(&&D)\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u884C\\u672B\\u306B\\u633F\\u5165\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u884C\\u672B\\u306B\\u633F\\u5165(&&U)\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u4E0B\\u306B\\u633F\\u5165\",\"\\u30AB\\u30FC\\u30BD\\u30EB\\u3092\\u4E0A\\u306B\\u633F\\u5165\",\"\\u9078\\u629E\\u3057\\u305F\\u9805\\u76EE\\u3092\\u6B21\\u306E\\u4E00\\u81F4\\u9805\\u76EE\\u306B\\u8FFD\\u52A0\",\"\\u6B21\\u306E\\u51FA\\u73FE\\u500B\\u6240\\u3092\\u8FFD\\u52A0(&&N)\",\"\\u9078\\u629E\\u9805\\u76EE\\u3092\\u6B21\\u306E\\u4E00\\u81F4\\u9805\\u76EE\\u306B\\u8FFD\\u52A0\",\"\\u524D\\u306E\\u51FA\\u73FE\\u7B87\\u6240\\u3092\\u8FFD\\u52A0(&&R)\",\"\\u6700\\u5F8C\\u306B\\u9078\\u629E\\u3057\\u305F\\u9805\\u76EE\\u3092\\u6B21\\u306E\\u4E00\\u81F4\\u9805\\u76EE\\u306B\\u79FB\\u52D5\",\"\\u6700\\u5F8C\\u306B\\u9078\\u3093\\u3060\\u9805\\u76EE\\u3092\\u524D\\u306E\\u4E00\\u81F4\\u9805\\u76EE\\u306B\\u79FB\\u52D5\\u3059\\u308B\",\"\\u4E00\\u81F4\\u3059\\u308B\\u3059\\u3079\\u3066\\u306E\\u51FA\\u73FE\\u7B87\\u6240\\u3092\\u9078\\u629E\\u3057\\u307E\\u3059\",\"\\u3059\\u3079\\u3066\\u306E\\u51FA\\u73FE\\u7B87\\u6240\\u3092\\u9078\\u629E(&&O)\",\"\\u3059\\u3079\\u3066\\u306E\\u51FA\\u73FE\\u7B87\\u6240\\u3092\\u5909\\u66F4\",\"\\u6B21\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\",\"\\u6B21\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3092\\u5408\\u308F\\u305B\\u308B\",\"\\u524D\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3059\\u308B\",\"\\u524D\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3092\\u5408\\u308F\\u305B\\u308B\",\"\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC \\u30D2\\u30F3\\u30C8\\u3092\\u30C8\\u30EA\\u30AC\\u30FC\",\"\\u6B21\\u306E\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC \\u30D2\\u30F3\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u524D\\u306E\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC \\u30D2\\u30F3\\u30C8\\u3092\\u8868\\u793A\\u3059\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"{0}\\u3001\\u30D2\\u30F3\\u30C8\",\"\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC \\u30D2\\u30F3\\u30C8\\u5185\\u306E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u9805\\u76EE\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u73FE\\u5728\\u306E\\u30B3\\u30FC\\u30C9 \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\\u5185\\u306B\\u57CB\\u3081\\u8FBC\\u307E\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u9589\\u3058\\u308B\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u306E\\u30BF\\u30A4\\u30C8\\u30EB\\u9818\\u57DF\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC \\u30BF\\u30A4\\u30C8\\u30EB\\u306E\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u306E\\u30BF\\u30A4\\u30C8\\u30EB\\u60C5\\u5831\\u306E\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u306E\\u5883\\u754C\\u3068\\u77E2\\u5370\\u306E\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u7D50\\u679C\\u30EA\\u30B9\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u7D50\\u679C\\u30EA\\u30B9\\u30C8\\u306E\\u30E9\\u30A4\\u30F3 \\u30CE\\u30FC\\u30C9\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u7D50\\u679C\\u30EA\\u30B9\\u30C8\\u306E\\u30D5\\u30A1\\u30A4\\u30EB \\u30CE\\u30FC\\u30C9\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u7D50\\u679C\\u30EA\\u30B9\\u30C8\\u306E\\u9078\\u629E\\u6E08\\u307F\\u30A8\\u30F3\\u30C8\\u30EA\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u7D50\\u679C\\u30EA\\u30B9\\u30C8\\u306E\\u9078\\u629E\\u6E08\\u307F\\u30A8\\u30F3\\u30C8\\u30EA\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4F59\\u767D\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC\\u7D50\\u679C\\u30EA\\u30B9\\u30C8\\u306E\\u4E00\\u81F4\\u3057\\u305F\\u5F37\\u8ABF\\u8868\\u793A\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4E00\\u81F4\\u3057\\u305F\\u5F37\\u8ABF\\u8868\\u793A\\u8272\\u3002\",\"\\u30D4\\u30FC\\u30AF \\u30D3\\u30E5\\u30FC \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u4E00\\u81F4\\u3057\\u305F\\u5F37\\u8ABF\\u5883\\u754C\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30D7\\u30EC\\u30FC\\u30B9\\u30DB\\u30EB\\u30C0\\u30FC \\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u6700\\u521D\\u306B\\u30C6\\u30AD\\u30B9\\u30C8 \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3092\\u958B\\u3044\\u3066\\u3001\\u884C\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u884C {0}\\u3001\\u6587\\u5B57 {1} \\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"{0} \\u884C\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u73FE\\u5728\\u306E\\u884C: {0}\\u3001\\u6587\\u5B57: {1}\\u3002\\u79FB\\u52D5\\u5148\\u3068\\u306A\\u308B\\u30011 \\u304B\\u3089 {2} \\u307E\\u3067\\u306E\\u884C\\u756A\\u53F7\\u3092\\u5165\\u529B\\u3057\\u307E\\u3059\\u3002\",\"\\u73FE\\u5728\\u306E\\u884C: {0}\\u3001\\u6587\\u5B57: {1}\\u3002\\u79FB\\u52D5\\u5148\\u306E\\u884C\\u756A\\u53F7\\u3092\\u5165\\u529B\\u3057\\u307E\\u3059\\u3002\",\"\\u30B7\\u30F3\\u30DC\\u30EB\\u306B\\u79FB\\u52D5\\u3059\\u308B\\u306B\\u306F\\u3001\\u307E\\u305A\\u30B7\\u30F3\\u30DC\\u30EB\\u60C5\\u5831\\u3092\\u542B\\u3080\\u30C6\\u30AD\\u30B9\\u30C8 \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3092\\u958B\\u304D\\u307E\\u3059\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C6\\u30AD\\u30B9\\u30C8 \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306F\\u3001\\u30B7\\u30F3\\u30DC\\u30EB\\u60C5\\u5831\\u306F\\u8868\\u793A\\u3055\\u308C\\u307E\\u305B\\u3093\\u3002\",\"\\u4E00\\u81F4\\u3059\\u308B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30B7\\u30F3\\u30DC\\u30EB\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30B7\\u30F3\\u30DC\\u30EB\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u6A2A\\u306B\\u4E26\\u3079\\u3066\\u958B\\u304F\",\"\\u4E00\\u756A\\u4E0B\\u3067\\u958B\\u304F\",\"\\u30B7\\u30F3\\u30DC\\u30EB ({0})\",\"\\u30D7\\u30ED\\u30D1\\u30C6\\u30A3 ({0})\",\"\\u30E1\\u30BD\\u30C3\\u30C9 ({0})\",\"\\u95A2\\u6570 ({0})\",\"\\u30B3\\u30F3\\u30B9\\u30C8\\u30E9\\u30AF\\u30BF\\u30FC ({0})\",\"\\u5909\\u6570 ({0})\",\"\\u30AF\\u30E9\\u30B9 ({0})\",\"\\u69CB\\u9020\\u4F53 ({0})\",\"\\u30A4\\u30D9\\u30F3\\u30C8 ({0})\",\"\\u6F14\\u7B97\\u5B50 ({0})\",\"\\u30A4\\u30F3\\u30BF\\u30FC\\u30D5\\u30A7\\u30A4\\u30B9 ({0})\",\"\\u540D\\u524D\\u7A7A\\u9593 ({0})\",\"\\u30D1\\u30C3\\u30B1\\u30FC\\u30B8 ({0})\",\"\\u578B\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC ({0})\",\"\\u30E2\\u30B8\\u30E5\\u30FC\\u30EB ({0})\",\"\\u30D7\\u30ED\\u30D1\\u30C6\\u30A3 ({0})\",\"\\u5217\\u6319\\u578B ({0})\",\"\\u5217\\u6319\\u578B\\u30E1\\u30F3\\u30D0\\u30FC ({0})\",\"\\u6587\\u5B57\\u5217 ({0})\",\"\\u30D5\\u30A1\\u30A4\\u30EB ({0})\",\"\\u914D\\u5217 ({0})\",\"\\u6570\\u5024 ({0})\",\"\\u30D6\\u30FC\\u30EB\\u5024 ({0})\",\"\\u30AA\\u30D6\\u30B8\\u30A7\\u30AF\\u30C8 ({0})\",\"\\u30AD\\u30FC ({0})\",\"\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9 ({0})\",\"\\u5B9A\\u6570 ({0})\",\"\\u8AAD\\u307F\\u53D6\\u308A\\u5C02\\u7528\\u306E\\u5165\\u529B\\u3067\\u306F\\u7DE8\\u96C6\\u3067\\u304D\\u307E\\u305B\\u3093\",\"\\u8AAD\\u307F\\u53D6\\u308A\\u5C02\\u7528\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306F\\u7DE8\\u96C6\\u3067\\u304D\\u307E\\u305B\\u3093\",\"\\u7D50\\u679C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u540D\\u524D\\u5909\\u66F4\\u306E\\u5834\\u6240\\u3092\\u89E3\\u6C7A\\u3057\\u3088\\u3046\\u3068\\u3057\\u3066\\u4E0D\\u660E\\u306A\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F\",\"\\u540D\\u524D\\u3092 '{0}' \\u304B\\u3089 '{1}' \\u306B\\u5909\\u66F4\\u3057\\u3066\\u3044\\u307E\\u3059\",\"{0} \\u306E\\u540D\\u524D\\u3092 {1} \\u306B\\u5909\\u66F4\\u3057\\u3066\\u3044\\u307E\\u3059\",\"'{0}' \\u304B\\u3089 '{1}' \\u3078\\u306E\\u540D\\u524D\\u5909\\u66F4\\u304C\\u6B63\\u5E38\\u306B\\u5B8C\\u4E86\\u3057\\u307E\\u3057\\u305F\\u3002\\u6982\\u8981: {2}\",\"\\u540D\\u524D\\u306E\\u5909\\u66F4\\u3067\\u7DE8\\u96C6\\u3092\\u9069\\u7528\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"\\u540D\\u524D\\u306E\\u5909\\u66F4\\u306B\\u3088\\u3063\\u3066\\u7DE8\\u96C6\\u306E\\u8A08\\u7B97\\u306B\\u5931\\u6557\\u3057\\u307E\\u3057\\u305F\",\"\\u30B7\\u30F3\\u30DC\\u30EB\\u306E\\u540D\\u524D\\u5909\\u66F4\",\"\\u540D\\u524D\\u3092\\u5909\\u66F4\\u3059\\u308B\\u524D\\u306B\\u5909\\u66F4\\u3092\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\\u3059\\u308B\\u6A5F\\u80FD\\u3092\\u6709\\u52B9\\u307E\\u305F\\u306F\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u6B21\\u306E\\u540D\\u524D\\u5909\\u66F4\\u5019\\u88DC\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\",\"\\u524D\\u306E\\u540D\\u524D\\u5909\\u66F4\\u5019\\u88DC\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\",\"\\u540D\\u524D\\u306E\\u5909\\u66F4\\u5165\\u529B\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u540D\\u524D\\u306E\\u5909\\u66F4\\u5165\\u529B\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u304C\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u540D\\u524D\\u3092\\u5909\\u66F4\\u3059\\u308B\\u306B\\u306F {0}\\u3001\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\\u3059\\u308B\\u306B\\u306F {1}\",\"{0} \\u540D\\u524D\\u5909\\u66F4\\u306E\\u63D0\\u6848\\u3092\\u53D7\\u4FE1\\u3057\\u307E\\u3057\\u305F\",\"\\u540D\\u524D\\u5909\\u66F4\\u5165\\u529B\\u3002\\u65B0\\u3057\\u3044\\u540D\\u524D\\u3092\\u5165\\u529B\\u3057\\u3001Enter \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u3066\\u30B3\\u30DF\\u30C3\\u30C8\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u65B0\\u3057\\u3044\\u540D\\u524D\\u5019\\u88DC\\u306E\\u751F\\u6210\",\"\\u30AD\\u30E3\\u30F3\\u30BB\\u30EB\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u62E1\\u5F35\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u5C55\\u958B(&&E)\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u7E2E\\u5C0F\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u7E2E\\u5C0F(&&S)\",\"\\u73FE\\u5728\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u304C\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8 \\u30E2\\u30FC\\u30C9\\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8 \\u30E2\\u30FC\\u30C9\\u306E\\u3068\\u304D\\u306B\\u3001\\u6B21\\u306E\\u30BF\\u30D6\\u4F4D\\u7F6E\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8 \\u30E2\\u30FC\\u30C9\\u306E\\u3068\\u304D\\u306B\\u3001\\u524D\\u306E\\u30BF\\u30D6\\u4F4D\\u7F6E\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u6B21\\u306E\\u30D7\\u30EC\\u30FC\\u30B9\\u30DB\\u30EB\\u30C0\\u30FC\\u306B\\u79FB\\u52D5...\",\"\\u65E5\\u66DC\\u65E5\",\"\\u6708\\u66DC\\u65E5\",\"\\u706B\\u66DC\\u65E5\",\"\\u6C34\\u66DC\\u65E5\",\"\\u6728\\u66DC\\u65E5\",\"\\u91D1\\u66DC\\u65E5\",\"\\u571F\\u66DC\\u65E5\",\"\\u65E5\",\"\\u6708\",\"\\u706B\",\"\\u6C34\",\"\\u6728\",\"\\u91D1\",\"\\u571F\",\"1 \\u6708\",\"2 \\u6708\",\"3 \\u6708\",\"4 \\u6708\",\"5 \\u6708\",\"6 \\u6708\",\"7 \\u6708\",\"8 \\u6708\",\"9 \\u6708\",\"10 \\u6708\",\"11 \\u6708\",\"12 \\u6708\",\"1 \\u6708\",\"2 \\u6708\",\"3 \\u6708\",\"4 \\u6708\",\"5 \\u6708\",\"6 \\u6708\",\"7 \\u6708\",\"8 \\u6708\",\"9 \\u6708\",\"10 \\u6708\",\"11 \\u6708\",\"12 \\u6708\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306E\\u5207\\u308A\\u66FF\\u3048(&T)\",\"\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\",\"\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB(&&S)\",\"\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3078\\u306E\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9(&F)\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306E\\u5207\\u308A\\u66FF\\u3048\",\"\\u30D3\\u30E5\\u30FC\\u30DD\\u30FC\\u30C8\\u306E\\u4E0A\\u90E8\\u306B\\u5165\\u308C\\u5B50\\u306B\\u306A\\u3063\\u305F\\u30B9\\u30B3\\u30FC\\u30D7\\u3092\\u8868\\u793A\\u3059\\u308B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3092\\u5207\\u308A\\u66FF\\u3048\\u308B\\u304B\\u3001\\u6709\\u52B9\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\",\"\\u6B21\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u884C\\u3092\\u9078\\u629E\",\"\\u524D\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u884C\\u3092\\u9078\\u629E\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u4ED8\\u304D\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u884C\\u306B\\u79FB\\u52D5\\u3059\\u308B\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3092\\u9078\\u629E\",\"\\u5019\\u88DC\\u304C\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u3066\\u3044\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u5019\\u88DC\\u306E\\u8A73\\u7D30\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u9078\\u629E\\u3059\\u308B\\u8907\\u6570\\u306E\\u5019\\u88DC\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u73FE\\u5728\\u306E\\u5019\\u88DC\\u3092\\u633F\\u5165\\u3057\\u305F\\u3068\\u304D\\u3001\\u5909\\u66F4\\u3092\\u884C\\u3046\\u304B\\u3001\\u307E\\u305F\\u306F\\u65E2\\u306B\\u5165\\u529B\\u3057\\u305F\\u5185\\u5BB9\\u3092\\u3059\\u3079\\u3066\\u5165\\u529B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"Enter \\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u305F\\u3068\\u304D\\u306B\\u5019\\u88DC\\u3092\\u633F\\u5165\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u73FE\\u5728\\u306E\\u5019\\u88DC\\u306B\\u633F\\u5165\\u3068\\u7F6E\\u63DB\\u306E\\u52D5\\u4F5C\\u304C\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u65E2\\u5B9A\\u306E\\u52D5\\u4F5C\\u304C\\u633F\\u5165\\u307E\\u305F\\u306F\\u7F6E\\u63DB\\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u73FE\\u5728\\u306E\\u5019\\u88DC\\u304B\\u3089\\u306E\\u8A73\\u7D30\\u306E\\u89E3\\u6C7A\\u3092\\u30B5\\u30DD\\u30FC\\u30C8\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"{1} \\u304C\\u8FFD\\u52A0\\u7DE8\\u96C6\\u3057\\u305F '{0}' \\u3092\\u53D7\\u3051\\u5165\\u308C\\u308B\",\"\\u5019\\u88DC\\u3092\\u30C8\\u30EA\\u30AC\\u30FC\",\"\\u633F\\u5165\",\"\\u633F\\u5165\",\"\\u7F6E\\u63DB\",\"\\u7F6E\\u63DB\",\"\\u633F\\u5165\",\"\\u8868\\u793A\\u6570\\u3092\\u6E1B\\u3089\\u3059\",\"\\u8868\\u793A\\u6570\\u3092\\u5897\\u3084\\u3059\",\"\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u30B5\\u30A4\\u30BA\\u3092\\u30EA\\u30BB\\u30C3\\u30C8\",\"\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\",\"\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u3067\\u9078\\u629E\\u6E08\\u307F\\u5165\\u529B\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u3067\\u9078\\u629E\\u6E08\\u307F\\u5165\\u529B\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u524D\\u666F\\u8272\\u3002\",\"\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u3067\\u9078\\u629E\\u6E08\\u307F\\u30A8\\u30F3\\u30C8\\u30EA\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u5185\\u3067\\u4E00\\u81F4\\u3057\\u305F\\u30CF\\u30A4\\u30E9\\u30A4\\u30C8\\u306E\\u8272\\u3002\",\"\\u9805\\u76EE\\u304C\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306B\\u3001\\u5019\\u88DC\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3067\\u306E\\u4E00\\u81F4\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u306E\\u8272\\u3067\\u3059\\u3002\",\"\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u72B6\\u614B\\u306E\\u63D0\\u6848\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u8AAD\\u307F\\u8FBC\\u3093\\u3067\\u3044\\u307E\\u3059...\",\"\\u5019\\u88DC\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u63D0\\u6848\",\"{0} {1}\\u3001{2}\",\"{0} {1}\",\"{0}\\u3001 {1}\",\"{0}\\u3001\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8: {1}\",\"\\u9589\\u3058\\u308B\",\"\\u8AAD\\u307F\\u8FBC\\u3093\\u3067\\u3044\\u307E\\u3059...\",\"\\u63D0\\u6848\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u8A73\\u7D30\\u60C5\\u5831\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u8A73\\u7D30\\u3092\\u53C2\\u7167\",\"\\u914D\\u5217\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D6\\u30FC\\u30EB\\u5024\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AF\\u30E9\\u30B9\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u8272\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5B9A\\u6570\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30B3\\u30F3\\u30B9\\u30C8\\u30E9\\u30AF\\u30BF\\u30FC\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5217\\u6319\\u5B50\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5217\\u6319\\u5B50\\u30E1\\u30F3\\u30D0\\u30FC\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A4\\u30D9\\u30F3\\u30C8\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A1\\u30A4\\u30EB\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A9\\u30EB\\u30C0\\u30FC\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u95A2\\u6570\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A4\\u30F3\\u30BF\\u30FC\\u30D5\\u30A7\\u30A4\\u30B9\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AD\\u30FC\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AD\\u30FC\\u30EF\\u30FC\\u30C9\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30E1\\u30BD\\u30C3\\u30C9\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30E2\\u30B8\\u30E5\\u30FC\\u30EB\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u540D\\u524D\\u7A7A\\u9593\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"Null \\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6570\\u5024\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AA\\u30D6\\u30B8\\u30A7\\u30AF\\u30C8\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6F14\\u7B97\\u5B50\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D1\\u30C3\\u30B1\\u30FC\\u30B8\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u53C2\\u7167\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u6587\\u5B57\\u5217\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u69CB\\u9020\\u4F53\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30C6\\u30AD\\u30B9\\u30C8\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5358\\u4F4D\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5909\\u6570\\u8A18\\u53F7\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u308C\\u3089\\u306E\\u8A18\\u53F7\\u306F\\u3001\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u3001\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u3001\\u304A\\u3088\\u3073\\u5019\\u88DC\\u306E\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\",\"Tab \\u30AD\\u30FC\\u3092\\u62BC\\u3059\\u3068\\u3001\\u6B21\\u306E\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u53EF\\u80FD\\u306A\\u8981\\u7D20\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3092\\u79FB\\u52D5\\u3057\\u307E\\u3059\",\"Tab \\u30AD\\u30FC\\u3092\\u62BC\\u3059\\u3068\\u3001\\u30BF\\u30D6\\u6587\\u5B57\\u304C\\u633F\\u5165\\u3055\\u308C\\u307E\\u3059\",\"Tab \\u30AD\\u30FC\\u3092\\u5207\\u308A\\u66FF\\u3048\\u308B\\u3068\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u79FB\\u52D5\\u3057\\u307E\\u3059\",\"\\u30BF\\u30D6 \\u30AD\\u30FC\\u304C\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u306E\\u5468\\u56F2\\u306B\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3092\\u79FB\\u52D5\\u3059\\u308B\\u304B\\u3001\\u73FE\\u5728\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306B\\u30BF\\u30D6\\u6587\\u5B57\\u3092\\u633F\\u5165\\u3059\\u308B\\u304B\\u3092\\u6C7A\\u5B9A\\u3057\\u307E\\u3059\\u3002\\u3053\\u308C\\u306F\\u3001\\u30BF\\u30D6 \\u30C8\\u30E9\\u30C3\\u30D7\\u3001\\u30BF\\u30D6 \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u3001\\u307E\\u305F\\u306F\\u30BF\\u30D6 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9 \\u30E2\\u30FC\\u30C9\\u3068\\u3082\\u547C\\u3070\\u308C\\u307E\\u3059\\u3002\",\"\\u958B\\u767A\\u8005: \\u30C8\\u30FC\\u30AF\\u30F3\\u518D\\u4F5C\\u6210\\u306E\\u5F37\\u5236\",\"\\u62E1\\u5F35\\u6A5F\\u80FD\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u8B66\\u544A\\u30E1\\u30C3\\u30BB\\u30FC\\u30B8\\u3068\\u5171\\u306B\\u8868\\u793A\\u3055\\u308C\\u308B\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u3053\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u306B\\u306F\\u3001\\u57FA\\u672C ASCII \\u5916\\u306E Unicode \\u6587\\u5B57\\u304C\\u591A\\u6570\\u542B\\u307E\\u308C\\u3066\\u3044\\u307E\\u3059\",\"\\u3053\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u306B\\u306F\\u307E\\u304E\\u3089\\u308F\\u3057\\u3044 Unicode \\u6587\\u5B57\\u304C\\u591A\\u6570\\u542B\\u307E\\u308C\\u3066\\u3044\\u307E\\u3059\",\"\\u3053\\u306E\\u30C9\\u30AD\\u30E5\\u30E1\\u30F3\\u30C8\\u306B\\u306F\\u4E0D\\u53EF\\u8996\\u306E Unicode \\u6587\\u5B57\\u304C\\u591A\\u6570\\u542B\\u307E\\u308C\\u3066\\u3044\\u307E\\u3059\",\"Unicode \\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u3092\\u69CB\\u6210\\u3059\\u308B\",\"\\u6587\\u5B57 {0} \\u306F\\u3001\\u30BD\\u30FC\\u30B9 \\u30B3\\u30FC\\u30C9\\u3067\\u3088\\u308A\\u4E00\\u822C\\u7684\\u306A ASCII \\u6587\\u5B57 {1} \\u3068\\u6DF7\\u540C\\u3055\\u308C\\u308B\\u53EF\\u80FD\\u6027\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u6587\\u5B57 {0}\\u306F\\u3001\\u30BD\\u30FC\\u30B9 \\u30B3\\u30FC\\u30C9\\u3067\\u3088\\u308A\\u4E00\\u822C\\u7684\\u306A\\u6587\\u5B57{1}\\u3068\\u6DF7\\u540C\\u3055\\u308C\\u308B\\u53EF\\u80FD\\u6027\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u6587\\u5B57 {0}\\u306F\\u975E\\u8868\\u793A\\u3067\\u3059\\u3002\",\"\\u6587\\u5B57 {0} \\u306F\\u57FA\\u672C ASCII \\u6587\\u5B57\\u3067\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u8A2D\\u5B9A\\u306E\\u8ABF\\u6574\",\"\\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u30B3\\u30E1\\u30F3\\u30C8\\u306E\\u6587\\u5B57\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u6587\\u5B57\\u5217\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u6587\\u5B57\\u5217\\u306E\\u6587\\u5B57\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u307E\\u304E\\u3089\\u308F\\u3057\\u3044\\u6587\\u5B57\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u307E\\u304E\\u3089\\u308F\\u3057\\u3044\\u6587\\u5B57\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u4E0D\\u53EF\\u8996\\u6587\\u5B57\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u4E0D\\u53EF\\u8996\\u306E\\u6587\\u5B57\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u975E ASCII \\u6587\\u5B57\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u57FA\\u672C ASCII \\u4EE5\\u5916\\u306E\\u6587\\u5B57\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u7121\\u52B9\\u306B\\u3059\\u308B\",\"\\u9664\\u5916\\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u8868\\u793A\",\"{0} (\\u4E0D\\u53EF\\u8996\\u306E\\u6587\\u5B57) \\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u304B\\u3089\\u9664\\u5916\\u3059\\u308B\",\"\\u5F37\\u8ABF\\u8868\\u793A\\u304B\\u3089 {0} \\u3092\\u9664\\u5916\\u3057\\u307E\\u3059\",'\\u8A00\\u8A9E \"{0}\" \\u3067\\u3088\\u308A\\u4E00\\u822C\\u7684\\u306A Unicode \\u6587\\u5B57\\u3092\\u8A31\\u53EF\\u3057\\u307E\\u3059\\u3002',\"\\u666E\\u901A\\u3067\\u306F\\u306A\\u3044\\u884C\\u7D42\\u7AEF\\u8A18\\u53F7\",\"\\u666E\\u901A\\u3067\\u306F\\u306A\\u3044\\u884C\\u7D42\\u7AEF\\u8A18\\u53F7\\u304C\\u691C\\u51FA\\u3055\\u308C\\u307E\\u3057\\u305F\",`\\u3053\\u306E\\u30D5\\u30A1\\u30A4\\u30EB '{0}' \\u306B\\u306F\\u3001\\u884C\\u533A\\u5207\\u308A\\u6587\\u5B57 (LS) \\u3084\\u6BB5\\u843D\\u533A\\u5207\\u308A\\u8A18\\u53F7 (PS) \\u306A\\u3069\\u306E\\u7279\\u6B8A\\u306A\\u884C\\u306E\\u7D42\\u7AEF\\u6587\\u5B57\\u304C 1 \\u3064\\u4EE5\\u4E0A\\u542B\\u307E\\u308C\\u3066\\u3044\\u307E\\u3059\\u3002\\r\n\\r\n\\u305D\\u308C\\u3089\\u3092\\u30D5\\u30A1\\u30A4\\u30EB\\u304B\\u3089\\u524A\\u9664\\u3059\\u308B\\u3053\\u3068\\u3092\\u304A\\u52E7\\u3081\\u3057\\u307E\\u3059\\u3002\\u3053\\u308C\\u306F 'editor.unusualLineTerminators' \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u69CB\\u6210\\u3067\\u304D\\u307E\\u3059\\u3002`,\"\\u7279\\u6B8A\\u306A\\u884C\\u306E\\u7D42\\u7AEF\\u8A18\\u53F7\\u3092\\u524A\\u9664\\u3059\\u308B(&&R)\",\"\\u7121\\u8996\\u3059\\u308B\",\"\\u5909\\u6570\\u306E\\u8AAD\\u307F\\u53D6\\u308A\\u306A\\u3069\\u3001\\u8AAD\\u307F\\u53D6\\u308A\\u30A2\\u30AF\\u30BB\\u30B9\\u4E2D\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u306E\\u80CC\\u666F\\u8272\\u3002\\u4E0B\\u306B\\u3042\\u308B\\u88C5\\u98FE\\u3092\\u96A0\\u3055\\u306A\\u3044\\u305F\\u3081\\u306B\\u3001\\u8272\\u306F\\u4E0D\\u900F\\u904E\\u3067\\u3042\\u3063\\u3066\\u306F\\u306A\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u5909\\u6570\\u3078\\u306E\\u66F8\\u304D\\u8FBC\\u307F\\u306A\\u3069\\u3001\\u66F8\\u304D\\u8FBC\\u307F\\u30A2\\u30AF\\u30BB\\u30B9\\u4E2D\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u80CC\\u666F\\u8272\\u3002\\u4E0B\\u306B\\u3042\\u308B\\u88C5\\u98FE\\u3092\\u96A0\\u3055\\u306A\\u3044\\u305F\\u3081\\u306B\\u3001\\u8272\\u306F\\u4E0D\\u900F\\u904E\\u3067\\u3042\\u3063\\u3066\\u306F\\u306A\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u8A18\\u53F7\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u51FA\\u73FE\\u306E\\u80CC\\u666F\\u8272\\u3002\\u57FA\\u306B\\u306A\\u308B\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u306B\\u3001\\u3053\\u306E\\u8272\\u3092\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u5909\\u6570\\u306E\\u8AAD\\u307F\\u53D6\\u308A\\u306A\\u3069\\u8AAD\\u307F\\u53D6\\u308A\\u30A2\\u30AF\\u30BB\\u30B9\\u4E2D\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u5909\\u6570\\u3078\\u306E\\u66F8\\u304D\\u8FBC\\u307F\\u306A\\u3069\\u66F8\\u304D\\u8FBC\\u307F\\u30A2\\u30AF\\u30BB\\u30B9\\u4E2D\\u306E\\u30B7\\u30F3\\u30DC\\u30EB\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u8A18\\u53F7\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u51FA\\u73FE\\u7B87\\u6240\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30B7\\u30F3\\u30DC\\u30EB\\u306B\\u3088\\u3063\\u3066\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u308B\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u306F\\u3001\\u57FA\\u306B\\u306A\\u308B\\u88C5\\u98FE\\u3092\\u96A0\\u3055\\u306A\\u3044\\u3088\\u3046\\u306B\\u4E0D\\u900F\\u660E\\u4EE5\\u5916\\u306B\\u3057\\u307E\\u3059\\u3002\",\"\\u66F8\\u304D\\u8FBC\\u307F\\u30A2\\u30AF\\u30BB\\u30B9 \\u30B7\\u30F3\\u30DC\\u30EB\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u306E\\u30DE\\u30FC\\u30AB\\u30FC\\u8272\\u3002\\u4E0B\\u306B\\u3042\\u308B\\u88C5\\u98FE\\u3092\\u96A0\\u3055\\u306A\\u3044\\u305F\\u3081\\u306B\\u3001\\u8272\\u306F\\u4E0D\\u900F\\u904E\\u3067\\u3042\\u3063\\u3066\\u306F\\u306A\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u8A18\\u53F7\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u51FA\\u73FE\\u306E\\u6982\\u8981\\u30EB\\u30FC\\u30EB \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\\u57FA\\u306B\\u306A\\u308B\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u306B\\u3001\\u3053\\u306E\\u8272\\u3092\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u6B21\\u306E\\u30B7\\u30F3\\u30DC\\u30EB \\u30CF\\u30A4\\u30E9\\u30A4\\u30C8\\u306B\\u79FB\\u52D5\",\"\\u524D\\u306E\\u30B7\\u30F3\\u30DC\\u30EB \\u30CF\\u30A4\\u30E9\\u30A4\\u30C8\\u306B\\u79FB\\u52D5\",\"\\u30B7\\u30F3\\u30DC\\u30EB \\u30CF\\u30A4\\u30E9\\u30A4\\u30C8\\u3092\\u30C8\\u30EA\\u30AC\\u30FC\",\"\\u5358\\u8A9E\\u306E\\u524A\\u9664\",\"\\u4F4D\\u7F6E\\u3067\\u306E\\u30A8\\u30E9\\u30FC\",\"\\u30A8\\u30E9\\u30FC\",\"\\u4F4D\\u7F6E\\u3067\\u306E\\u8B66\\u544A\",\"\\u8B66\\u544A\",\"\\u884C\\u306E\\u30A8\\u30E9\\u30FC\",\"\\u884C\\u306E\\u30A8\\u30E9\\u30FC\",\"\\u884C\\u306E\\u8B66\\u544A\",\"\\u884C\\u306E\\u8B66\\u544A\",\"\\u884C\\u306E\\u6298\\u308A\\u305F\\u305F\\u307E\\u308C\\u305F\\u9762\",\"\\u6298\\u308A\\u305F\\u305F\\u307F\\u6E08\\u307F\",\"\\u884C\\u306E\\u30D6\\u30EC\\u30FC\\u30AF\\u30DD\\u30A4\\u30F3\\u30C8\",\"\\u30D6\\u30EC\\u30FC\\u30AF\\u30DD\\u30A4\\u30F3\\u30C8\",\"\\u884C\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3\\u5019\\u88DC\",\"\\u30BF\\u30FC\\u30DF\\u30CA\\u30EB \\u30AF\\u30A4\\u30C3\\u30AF\\u4FEE\\u6B63\",\"\\u30AF\\u30A4\\u30C3\\u30AF\\u4FEE\\u6B63\",\"\\u30D6\\u30EC\\u30FC\\u30AF\\u30DD\\u30A4\\u30F3\\u30C8\\u3067\\u30C7\\u30D0\\u30C3\\u30AC\\u30FC\\u304C\\u505C\\u6B62\\u3057\\u307E\\u3057\\u305F\",\"\\u30D6\\u30EC\\u30FC\\u30AF\\u30DD\\u30A4\\u30F3\\u30C8\",\"\\u884C\\u306B\\u30A4\\u30F3\\u30EC\\u30A4 \\u30D2\\u30F3\\u30C8\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30A4\\u30F3\\u30EC\\u30A4 \\u30D2\\u30F3\\u30C8\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\",\"\\u30BF\\u30B9\\u30AF\\u304C\\u5B8C\\u4E86\\u3057\\u307E\\u3057\\u305F\",\"\\u30BF\\u30B9\\u30AF\\u304C\\u5B8C\\u4E86\\u3057\\u307E\\u3057\\u305F\",\"\\u30BF\\u30B9\\u30AF\\u304C\\u5931\\u6557\\u3057\\u307E\\u3057\\u305F\",\"\\u30BF\\u30B9\\u30AF\\u304C\\u5931\\u6557\\u3057\\u307E\\u3057\\u305F\",\"\\u30BF\\u30FC\\u30DF\\u30CA\\u30EB \\u30B3\\u30DE\\u30F3\\u30C9\\u304C\\u5931\\u6557\\u3057\\u307E\\u3057\\u305F\",\"\\u30B3\\u30DE\\u30F3\\u30C9\\u306B\\u5931\\u6557\\u3057\\u307E\\u3057\\u305F\",\"\\u30BF\\u30FC\\u30DF\\u30CA\\u30EB \\u30B3\\u30DE\\u30F3\\u30C9\\u306B\\u6210\\u529F\\u3057\\u307E\\u3057\\u305F\",\"\\u30B3\\u30DE\\u30F3\\u30C9\\u304C\\u6210\\u529F\\u3057\\u307E\\u3057\\u305F\",\"\\u30BF\\u30FC\\u30DF\\u30CA\\u30EB \\u30D9\\u30EB\",\"\\u30BF\\u30FC\\u30DF\\u30CA\\u30EB \\u30D9\\u30EB\",\"\\u30CE\\u30FC\\u30C8\\u30D6\\u30C3\\u30AF \\u30BB\\u30EB\\u304C\\u5B8C\\u4E86\\u3057\\u307E\\u3057\\u305F\",\"\\u30CE\\u30FC\\u30C8\\u30D6\\u30C3\\u30AF \\u30BB\\u30EB\\u304C\\u5B8C\\u4E86\\u3057\\u307E\\u3057\\u305F\",\"\\u30CE\\u30FC\\u30C8\\u30D6\\u30C3\\u30AF \\u30BB\\u30EB\\u304C\\u5931\\u6557\\u3057\\u307E\\u3057\\u305F\",\"\\u30CE\\u30FC\\u30C8\\u30D6\\u30C3\\u30AF \\u30BB\\u30EB\\u304C\\u5931\\u6557\\u3057\\u307E\\u3057\\u305F\",\"\\u5DEE\\u5206\\u884C\\u304C\\u633F\\u5165\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u5DEE\\u5206\\u884C\\u304C\\u524A\\u9664\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u5909\\u66F4\\u3055\\u308C\\u305F\\u5DEE\\u5206\\u884C\",\"\\u30C1\\u30E3\\u30C3\\u30C8\\u8981\\u6C42\\u304C\\u9001\\u4FE1\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u30C1\\u30E3\\u30C3\\u30C8\\u8981\\u6C42\\u304C\\u9001\\u4FE1\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u30C1\\u30E3\\u30C3\\u30C8\\u5FDC\\u7B54\\u3092\\u53D7\\u4FE1\\u3057\\u307E\\u3057\\u305F\",\"\\u9032\\u884C\\u72B6\\u6CC1\",\"\\u9032\\u884C\\u72B6\\u6CC1\",\"\\u30AF\\u30EA\\u30A2\",\"\\u30AF\\u30EA\\u30A2\",\"\\u4FDD\\u5B58\",\"\\u4FDD\\u5B58\",\"\\u5F62\\u5F0F\",\"\\u5F62\\u5F0F\",\"\\u97F3\\u58F0\\u9332\\u97F3\\u304C\\u958B\\u59CB\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u97F3\\u58F0\\u9332\\u97F3\\u304C\\u505C\\u6B62\\u3055\\u308C\\u307E\\u3057\\u305F\",\"\\u8868\\u793A\",\"\\u30D8\\u30EB\\u30D7\",\"\\u30C6\\u30B9\\u30C8\",\"\\u30D5\\u30A1\\u30A4\\u30EB\",\"\\u57FA\\u672C\\u8A2D\\u5B9A\",\"\\u958B\\u767A\\u8005\",\"{0} ({1})\",\"{0} ({1})\",`{0}\\r\n[{1}] {2}`,\"{1} \\u304B\\u3089 {0}\",\"{0} ({1})\",\"\\u975E\\u8868\\u793A\",\"\\u30E1\\u30CB\\u30E5\\u30FC\\u306E\\u30EA\\u30BB\\u30C3\\u30C8\",\"'{0}' \\u306E\\u975E\\u8868\\u793A\",\"\\u30AD\\u30FC\\u30D0\\u30A4\\u30F3\\u30C9\\u306E\\u69CB\\u6210\",\"{0} \\u3067\\u9069\\u7528\\u3059\\u308B\\u3001{1} \\u3067\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\\u3059\\u308B\",\"{0} \\u3092\\u62BC\\u3057\\u3066\\u9069\\u7528\",\"{0}\\u3001\\u7121\\u52B9\\u306B\\u306A\\u3063\\u305F\\u7406\\u7531: {1}\",\"\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\",\"\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30D0\\u30FC\\u306E\\u5207\\u308A\\u66FF\\u3048\\u6E08\\u307F\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u9805\\u76EE\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u4E00\\u89A7\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u3092\\u975E\\u8868\\u793A\\u306B\\u3059\\u308B\",\"\\u524D\\u306E\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u3092\\u9078\\u629E\",\"\\u6B21\\u306E\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u3092\\u9078\\u629E\",\"\\u9078\\u629E\\u3057\\u305F\\u64CD\\u4F5C\\u3092\\u627F\\u8AFE\",\"\\u9078\\u629E\\u3057\\u305F\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\",\"\\u65E2\\u5B9A\\u306E\\u8A00\\u8A9E\\u69CB\\u6210\\u306E\\u30AA\\u30FC\\u30D0\\u30FC\\u30E9\\u30A4\\u30C9\",\"{0} \\u8A00\\u8A9E\\u304C\\u512A\\u5148\\u3055\\u308C\\u308B\\u8A2D\\u5B9A\\u3092\\u69CB\\u6210\\u3057\\u307E\\u3059\\u3002\",\"\\u8A00\\u8A9E\\u306B\\u5BFE\\u3057\\u3066\\u4E0A\\u66F8\\u304D\\u3055\\u308C\\u308B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u8A2D\\u5B9A\\u3092\\u69CB\\u6210\\u3057\\u307E\\u3059\\u3002\",\"\\u3053\\u306E\\u8A2D\\u5B9A\\u3067\\u306F\\u3001\\u8A00\\u8A9E\\u3054\\u3068\\u306E\\u69CB\\u6210\\u306F\\u30B5\\u30DD\\u30FC\\u30C8\\u3055\\u308C\\u3066\\u3044\\u307E\\u305B\\u3093\\u3002\",\"\\u8A00\\u8A9E\\u306B\\u5BFE\\u3057\\u3066\\u4E0A\\u66F8\\u304D\\u3055\\u308C\\u308B\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u8A2D\\u5B9A\\u3092\\u69CB\\u6210\\u3057\\u307E\\u3059\\u3002\",\"\\u3053\\u306E\\u8A2D\\u5B9A\\u3067\\u306F\\u3001\\u8A00\\u8A9E\\u3054\\u3068\\u306E\\u69CB\\u6210\\u306F\\u30B5\\u30DD\\u30FC\\u30C8\\u3055\\u308C\\u3066\\u3044\\u307E\\u305B\\u3093\\u3002\",\"\\u7A7A\\u306E\\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u306F\\u767B\\u9332\\u3067\\u304D\\u307E\\u305B\\u3093\",\"'{0}' \\u3092\\u767B\\u9332\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\\u3053\\u308C\\u306F\\u3001\\u8A00\\u8A9E\\u56FA\\u6709\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u8A2D\\u5B9A\\u3092\\u8A18\\u8FF0\\u3059\\u308B\\u30D7\\u30ED\\u30D1\\u30C6\\u30A3 \\u30D1\\u30BF\\u30FC\\u30F3 '\\\\\\\\[.*\\\\\\\\]$' \\u306B\\u4E00\\u81F4\\u3057\\u3066\\u3044\\u307E\\u3059\\u3002'configurationDefaults' \\u30B3\\u30F3\\u30C8\\u30EA\\u30D3\\u30E5\\u30FC\\u30B7\\u30E7\\u30F3\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"'{0}' \\u3092\\u767B\\u9332\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\\u3053\\u306E\\u30D7\\u30ED\\u30D1\\u30C6\\u30A3\\u306F\\u65E2\\u306B\\u767B\\u9332\\u3055\\u308C\\u3066\\u3044\\u307E\\u3059\\u3002\",\"'{0}' \\u3092\\u767B\\u9332\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\\u95A2\\u9023\\u4ED8\\u3051\\u3089\\u308C\\u305F\\u30DD\\u30EA\\u30B7\\u30FC {1} \\u306F\\u65E2\\u306B {2} \\u306B\\u767B\\u9332\\u3055\\u308C\\u3066\\u3044\\u307E\\u3059\\u3002\",\"\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8 \\u30AD\\u30FC\\u306B\\u95A2\\u3059\\u308B\\u60C5\\u5831\\u3092\\u8FD4\\u3059\\u30B3\\u30DE\\u30F3\\u30C9\",\"\\u7A7A\\u306E\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8 \\u30AD\\u30FC\\u5F0F\",\"\\u5F0F\\u3092\\u66F8\\u304D\\u5FD8\\u308C\\u307E\\u3057\\u305F\\u304B? 'false' \\u307E\\u305F\\u306F 'true' \\u3092\\u6307\\u5B9A\\u3059\\u308B\\u3068\\u3001\\u305D\\u308C\\u305E\\u308C\\u5E38\\u306B false \\u307E\\u305F\\u306F true \\u3068\\u8A55\\u4FA1\\u3067\\u304D\\u307E\\u3059\\u3002\",\"'not' \\u306E\\u5F8C\\u306B 'in' \\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u7D42\\u308F\\u308A\\u304B\\u3063\\u3053 ')'\",\"\\u4E88\\u671F\\u3057\\u306A\\u3044\\u30C8\\u30FC\\u30AF\\u30F3\",\"\\u30C8\\u30FC\\u30AF\\u30F3\\u306E\\u524D\\u306B && \\u307E\\u305F\\u306F || \\u3092\\u6307\\u5B9A\\u3057\\u5FD8\\u308C\\u307E\\u3057\\u305F\\u304B?\",\"\\u4E88\\u671F\\u3057\\u306A\\u3044\\u5F0F\\u306E\\u7D42\\u308F\\u308A\",\"\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8 \\u30AD\\u30FC\\u3092\\u6307\\u5B9A\\u3057\\u5FD8\\u308C\\u307E\\u3057\\u305F\\u304B?\",`\\u671F\\u5F85\\u5024: {0}\\r\n\\u53D7\\u53D6\\u6E08\\u307F: '{1}'\\u3002`,\"\\u30AA\\u30DA\\u30EC\\u30FC\\u30C6\\u30A3\\u30F3\\u30B0 \\u30B7\\u30B9\\u30C6\\u30E0\\u304C macOS \\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30AA\\u30DA\\u30EC\\u30FC\\u30C6\\u30A3\\u30F3\\u30B0 \\u30B7\\u30B9\\u30C6\\u30E0\\u304C Linux \\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30AA\\u30DA\\u30EC\\u30FC\\u30C6\\u30A3\\u30F3\\u30B0 \\u30B7\\u30B9\\u30C6\\u30E0\\u304C Windows \\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30D7\\u30E9\\u30C3\\u30C8\\u30D5\\u30A9\\u30FC\\u30E0\\u304C Web \\u30D6\\u30E9\\u30A6\\u30B6\\u30FC\\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30AA\\u30DA\\u30EC\\u30FC\\u30C6\\u30A3\\u30F3\\u30B0 \\u30B7\\u30B9\\u30C6\\u30E0\\u304C\\u975E\\u30D6\\u30E9\\u30A6\\u30B6\\u30FC \\u30D7\\u30E9\\u30C3\\u30C8\\u30D5\\u30A9\\u30FC\\u30E0\\u4E0A\\u306E macOS \\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30AA\\u30DA\\u30EC\\u30FC\\u30C6\\u30A3\\u30F3\\u30B0 \\u30B7\\u30B9\\u30C6\\u30E0\\u304C iOS \\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u30D7\\u30E9\\u30C3\\u30C8\\u30D5\\u30A9\\u30FC\\u30E0\\u304C\\u30E2\\u30D0\\u30A4\\u30EB Web \\u30D6\\u30E9\\u30A6\\u30B6\\u30FC\\u3067\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"VS Code \\u306E\\u54C1\\u8CEA\\u306E\\u7A2E\\u985E\",\"\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9\\u306E\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u5165\\u529B\\u30DC\\u30C3\\u30AF\\u30B9\\u5185\\u306B\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"{0} \\u3092\\u610F\\u56F3\\u3057\\u3066\\u3044\\u307E\\u3057\\u305F\\u304B?\",\"{0} \\u307E\\u305F\\u306F {1} \\u3092\\u610F\\u56F3\\u3057\\u3066\\u3044\\u307E\\u3057\\u305F\\u304B?\",\"{0}\\u3001{1}\\u3001\\u307E\\u305F\\u306F {2} \\u3092\\u610F\\u56F3\\u3057\\u3066\\u3044\\u307E\\u3057\\u305F\\u304B?\",\"\\u898B\\u7A4D\\u3082\\u308A\\u3092\\u958B\\u3044\\u305F\\u308A\\u9589\\u3058\\u305F\\u308A\\u3057\\u5FD8\\u308C\\u307E\\u3057\\u305F\\u304B?\",\"'/' (\\u30B9\\u30E9\\u30C3\\u30B7\\u30E5) \\u6587\\u5B57\\u3092\\u30A8\\u30B9\\u30B1\\u30FC\\u30D7\\u3057\\u5FD8\\u308C\\u307E\\u3057\\u305F\\u304B? \\u30A8\\u30B9\\u30B1\\u30FC\\u30D7\\u3059\\u308B\\u524D\\u306B '\\\\\\\\/' \\u306A\\u3069\\u306E 2 \\u3064\\u306E\\u5186\\u8A18\\u53F7\\u3092\\u6307\\u5B9A\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u5019\\u88DC\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\",\"({0}) \\u304C\\u6E21\\u3055\\u308C\\u307E\\u3057\\u305F\\u30022 \\u756A\\u76EE\\u306E\\u30AD\\u30FC\\u3092\\u5F85\\u3063\\u3066\\u3044\\u307E\\u3059...\",\"({0}) \\u304C\\u6E21\\u3055\\u308C\\u307E\\u3057\\u305F\\u3002\\u6B21\\u306E\\u30AD\\u30FC\\u3092\\u5F85\\u3063\\u3066\\u3044\\u307E\\u3059...\",\"\\u30AD\\u30FC\\u306E\\u7D44\\u307F\\u5408\\u308F\\u305B ({0}\\u3001{1}) \\u306F\\u30B3\\u30DE\\u30F3\\u30C9\\u3067\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30AD\\u30FC\\u306E\\u7D44\\u307F\\u5408\\u308F\\u305B ({0}\\u3001{1}) \\u306F\\u30B3\\u30DE\\u30F3\\u30C9\\u3067\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\",\"Windows \\u304A\\u3088\\u3073 Linux \\u4E0A\\u306E `Control` \\u30AD\\u30FC\\u3068 macOS \\u4E0A\\u306E `Command` \\u30AD\\u30FC\\u306B\\u5272\\u308A\\u5F53\\u3066\\u307E\\u3059\\u3002\",\"Windows \\u304A\\u3088\\u3073 Linux \\u4E0A\\u306E `Alt` \\u30AD\\u30FC\\u3068 macOS \\u4E0A\\u306E `Option` \\u30AD\\u30FC\\u306B\\u5272\\u308A\\u5F53\\u3066\\u307E\\u3059\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u9805\\u76EE\\u3092\\u8907\\u6570\\u9078\\u629E\\u3059\\u308B\\u3068\\u304D\\u306B\\u4F7F\\u7528\\u3059\\u308B\\u4FEE\\u98FE\\u30AD\\u30FC\\u3067\\u3059 (\\u305F\\u3068\\u3048\\u3070\\u3001\\u30A8\\u30AF\\u30B9\\u30D7\\u30ED\\u30FC\\u30E9\\u30FC\\u3067\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3068 scm \\u30D3\\u30E5\\u30FC\\u3092\\u958B\\u304F\\u306A\\u3069)\\u3002'\\u6A2A\\u306B\\u4E26\\u3079\\u3066\\u958B\\u304F' \\u30DE\\u30A6\\u30B9 \\u30B8\\u30A7\\u30B9\\u30C1\\u30E3\\u30FC (\\u304C\\u30B5\\u30DD\\u30FC\\u30C8\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408) \\u306F\\u3001\\u8907\\u6570\\u9078\\u629E\\u306E\\u4FEE\\u98FE\\u30AD\\u30FC\\u3068\\u7AF6\\u5408\\u3057\\u306A\\u3044\\u3088\\u3046\\u306B\\u8ABF\\u6574\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3001\\u30C4\\u30EA\\u30FC\\u3068\\u30EA\\u30B9\\u30C8\\u5185\\u306E\\u9805\\u76EE\\u3092\\u958B\\u304F\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059 (\\u30B5\\u30DD\\u30FC\\u30C8\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408)\\u3002\\u9069\\u7528\\u3067\\u304D\\u306A\\u3044\\u5834\\u5408\\u3001\\u4E00\\u90E8\\u306E\\u30C4\\u30EA\\u30FC\\u3084\\u30EA\\u30B9\\u30C8\\u3067\\u306F\\u3053\\u306E\\u8A2D\\u5B9A\\u304C\\u7121\\u8996\\u3055\\u308C\\u308B\\u3053\\u3068\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30EA\\u30B9\\u30C8\\u3068\\u30C4\\u30EA\\u30FC\\u304C\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u3067\\u6C34\\u5E73\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3092\\u30B5\\u30DD\\u30FC\\u30C8\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u8B66\\u544A: \\u3053\\u306E\\u8A2D\\u5B9A\\u3092\\u30AA\\u30F3\\u306B\\u3059\\u308B\\u3068\\u3001\\u30D1\\u30D5\\u30A9\\u30FC\\u30DE\\u30F3\\u30B9\\u306B\\u5F71\\u97FF\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u30D0\\u30FC\\u306E\\u30AF\\u30EA\\u30C3\\u30AF\\u3067\\u30DA\\u30FC\\u30B8\\u3054\\u3068\\u306B\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u306E\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u3092\\u30D4\\u30AF\\u30BB\\u30EB\\u5358\\u4F4D\\u3067\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u3067\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8\\u306E\\u30AC\\u30A4\\u30C9\\u3092\\u8868\\u793A\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30EA\\u30B9\\u30C8\\u3068\\u30C4\\u30EA\\u30FC\\u3067\\u30B9\\u30E0\\u30FC\\u30BA \\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3092\\u4F7F\\u7528\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30DE\\u30A6\\u30B9 \\u30DB\\u30A4\\u30FC\\u30EB \\u30B9\\u30AF\\u30ED\\u30FC\\u30EB \\u30A4\\u30D9\\u30F3\\u30C8\\u306E `deltaX` \\u3068 `deltaY` \\u3067\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u4E57\\u6570\\u3002\",\"`Alt` \\u3092\\u62BC\\u3059\\u3068\\u3001\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u901F\\u5EA6\\u304C\\u500D\\u5897\\u3057\\u307E\\u3059\\u3002\",\"\\u691C\\u7D22\\u6642\\u306B\\u8981\\u7D20\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\\u3055\\u3089\\u306B\\u4E0A\\u4E0B\\u306E\\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u3067\\u306F\\u3001\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u305F\\u8981\\u7D20\\u306E\\u307F\\u304C\\u30B9\\u30AD\\u30E3\\u30F3\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u691C\\u7D22\\u6642\\u306B\\u8981\\u7D20\\u3092\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC\\u51E6\\u7406\\u3057\\u307E\\u3059\\u3002\",\"\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u306E\\u30EA\\u30B9\\u30C8\\u3068\\u30C4\\u30EA\\u30FC\\u306E\\u65E2\\u5B9A\\u306E\\u691C\\u7D22\\u30E2\\u30FC\\u30C9\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u7C21\\u5358\\u306A\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u306F\\u3001\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9\\u5165\\u529B\\u306B\\u4E00\\u81F4\\u3059\\u308B\\u8981\\u7D20\\u306B\\u7126\\u70B9\\u3092\\u5F53\\u3066\\u307E\\u3059\\u3002\\u4E00\\u81F4\\u51E6\\u7406\\u306F\\u30D7\\u30EC\\u30D5\\u30A3\\u30C3\\u30AF\\u30B9\\u3067\\u306E\\u307F\\u5B9F\\u884C\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u306E\\u5F37\\u8ABF\\u8868\\u793A\\u3092\\u4F7F\\u7528\\u3059\\u308B\\u3068\\u3001\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9\\u5165\\u529B\\u306B\\u4E00\\u81F4\\u3059\\u308B\\u8981\\u7D20\\u304C\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u307E\\u3059\\u3002\\u4E0A\\u304A\\u3088\\u3073\\u4E0B\\u3078\\u306E\\u79FB\\u52D5\\u306F\\u3001\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u8981\\u7D20\\u306E\\u307F\\u3092\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u306E\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC\\u3067\\u306F\\u3001\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9\\u5165\\u529B\\u306B\\u4E00\\u81F4\\u3057\\u306A\\u3044\\u3059\\u3079\\u3066\\u306E\\u8981\\u7D20\\u304C\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC\\u51E6\\u7406\\u3055\\u308C\\u3001\\u975E\\u8868\\u793A\\u306B\\u306A\\u308A\\u307E\\u3059\\u3002\",\"\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u306E\\u30EA\\u30B9\\u30C8\\u304A\\u3088\\u3073\\u30C4\\u30EA\\u30FC\\u306E\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3 \\u30B9\\u30BF\\u30A4\\u30EB\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u5358\\u7D14\\u3001\\u5F37\\u8ABF\\u8868\\u793A\\u3001\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC\\u3092\\u6307\\u5B9A\\u3067\\u304D\\u307E\\u3059\\u3002\",\"\\u4EE3\\u308F\\u308A\\u306B 'workbench.list.defaultFindMode' \\u3068 'workbench.list.typeNavigationMode' \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u691C\\u7D22\\u6642\\u306B\\u3042\\u3044\\u307E\\u3044\\u4E00\\u81F4\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u691C\\u7D22\\u6642\\u306B\\u9023\\u7D9A\\u4E00\\u81F4\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u3067\\u30EA\\u30B9\\u30C8\\u3068\\u30C4\\u30EA\\u30FC\\u3092\\u691C\\u7D22\\u3059\\u308B\\u3068\\u304D\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u4E00\\u81F4\\u306E\\u7A2E\\u985E\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30D5\\u30A9\\u30EB\\u30C0\\u30FC\\u540D\\u3092\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u305F\\u3068\\u304D\\u306B\\u30C4\\u30EA\\u30FC \\u30D5\\u30A9\\u30EB\\u30C0\\u30FC\\u304C\\u5C55\\u958B\\u3055\\u308C\\u308B\\u65B9\\u6CD5\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\\u9069\\u7528\\u3067\\u304D\\u306A\\u3044\\u5834\\u5408\\u3001\\u4E00\\u90E8\\u306E\\u30C4\\u30EA\\u30FC\\u3084\\u30EA\\u30B9\\u30C8\\u3067\\u306F\\u3053\\u306E\\u8A2D\\u5B9A\\u304C\\u7121\\u8996\\u3055\\u308C\\u308B\\u3053\\u3068\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u3067\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3092\\u6709\\u52B9\\u306B\\u3059\\u308B\\u304B\\u3069\\u3046\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"{0} \\u304C\\u6709\\u52B9\\u306A\\u5834\\u5408\\u306B\\u3001\\u30C4\\u30EA\\u30FC\\u306B\\u8868\\u793A\\u3055\\u308C\\u308B\\u56FA\\u5B9A\\u8981\\u7D20\\u306E\\u6570\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002\",\"\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u306E\\u30EA\\u30B9\\u30C8\\u3068\\u30C4\\u30EA\\u30FC\\u3067\\u578B\\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u304C\\u3069\\u306E\\u3088\\u3046\\u306B\\u6A5F\\u80FD\\u3059\\u308B\\u304B\\u3092\\u5236\\u5FA1\\u3057\\u307E\\u3059\\u3002`trigger` \\u306B\\u8A2D\\u5B9A\\u3059\\u308B\\u3068\\u3001`list.triggerTypeNavigation` \\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u5B9F\\u884C\\u5F8C\\u306B\\u578B\\u30CA\\u30D3\\u30B2\\u30FC\\u30B7\\u30E7\\u30F3\\u304C\\u958B\\u59CB\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30E9\\u30FC\",\"\\u8B66\\u544A\",\"\\u60C5\\u5831\",\"\\u6700\\u8FD1\\u4F7F\\u7528\\u3057\\u305F\\u3082\\u306E\",\"\\u540C\\u69D8\\u306E\\u30B3\\u30DE\\u30F3\\u30C9\",\"\\u3088\\u304F\\u4F7F\\u7528\\u3059\\u308B\\u3082\\u306E\",\"\\u305D\\u306E\\u4ED6\\u306E\\u30B3\\u30DE\\u30F3\\u30C9\",\"\\u540C\\u69D8\\u306E\\u30B3\\u30DE\\u30F3\\u30C9\",\"{0}, {1}\",\"\\u30B3\\u30DE\\u30F3\\u30C9 '{0}' \\u3067\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F\",\"{0}, {1}\",\"\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u30AF\\u30A4\\u30C3\\u30AF\\u5165\\u529B\\u30B3\\u30F3\\u30C8\\u30ED\\u30FC\\u30EB\\u5185\\u306B\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u73FE\\u5728\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u30AF\\u30A4\\u30C3\\u30AF\\u5165\\u529B\\u306E\\u7A2E\\u985E\",\"\\u30AF\\u30A4\\u30C3\\u30AF\\u5165\\u529B\\u306E\\u30AB\\u30FC\\u30BD\\u30EB\\u304C\\u5165\\u529B\\u30DC\\u30C3\\u30AF\\u30B9\\u306E\\u6700\\u5F8C\\u306B\\u3042\\u308B\\u304B\\u3069\\u3046\\u304B\",\"\\u623B\\u308B\",\"'Enter' \\u3092\\u62BC\\u3057\\u3066\\u5165\\u529B\\u3092\\u78BA\\u8A8D\\u3059\\u308B\\u304B 'Escape' \\u3092\\u62BC\\u3057\\u3066\\u53D6\\u308A\\u6D88\\u3057\\u307E\\u3059\",\"{0}/{1}\",\"\\u5165\\u529B\\u3059\\u308B\\u3068\\u7D50\\u679C\\u304C\\u7D5E\\u308A\\u8FBC\\u307E\\u308C\\u307E\\u3059\\u3002\",\"\\u30AF\\u30A4\\u30C3\\u30AF \\u30D4\\u30C3\\u30AF\\u306E\\u30B3\\u30F3\\u30C6\\u30AD\\u30B9\\u30C8\\u5185\\u3067\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\\u3053\\u306E\\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9\\u3092 1 \\u3064\\u5909\\u66F4\\u3059\\u308B\\u5834\\u5408\\u306F\\u3001\\u3053\\u306E\\u30B3\\u30DE\\u30F3\\u30C9\\u306E\\u4ED6\\u306E\\u3059\\u3079\\u3066\\u306E\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 (\\u4FEE\\u98FE\\u5B50\\u306E\\u30D0\\u30EA\\u30A2\\u30F3\\u30C8) \\u3082\\u5909\\u66F4\\u3059\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\",\"\\u30AF\\u30A4\\u30C3\\u30AF \\u30A2\\u30AF\\u30BB\\u30B9 \\u30E2\\u30FC\\u30C9\\u306E\\u5834\\u5408\\u306F\\u3001\\u6B21\\u306E\\u9805\\u76EE\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\\u30AF\\u30A4\\u30C3\\u30AF \\u30A2\\u30AF\\u30BB\\u30B9 \\u30E2\\u30FC\\u30C9\\u306E\\u3067\\u306A\\u3044\\u5834\\u5408\\u306F\\u3001\\u6B21\\u306E\\u533A\\u5207\\u308A\\u30D0\\u30FC\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u30AF\\u30A4\\u30C3\\u30AF \\u30A2\\u30AF\\u30BB\\u30B9 \\u30E2\\u30FC\\u30C9\\u306E\\u5834\\u5408\\u306F\\u3001\\u524D\\u306E\\u9805\\u76EE\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\\u30AF\\u30A4\\u30C3\\u30AF \\u30A2\\u30AF\\u30BB\\u30B9 \\u30E2\\u30FC\\u30C9\\u306E\\u3067\\u306A\\u3044\\u5834\\u5408\\u306F\\u3001\\u524D\\u306E\\u533A\\u5207\\u308A\\u30D0\\u30FC\\u306B\\u79FB\\u52D5\\u3057\\u307E\\u3059\\u3002\",\"\\u3059\\u3079\\u3066\\u306E\\u30C1\\u30A7\\u30C3\\u30AF \\u30DC\\u30C3\\u30AF\\u30B9\\u3092\\u5207\\u308A\\u66FF\\u3048\\u308B\",\"{0} \\u4EF6\\u306E\\u7D50\\u679C\",\"{0} \\u500B\\u9078\\u629E\\u6E08\\u307F\",\"OK\",\"\\u30AB\\u30B9\\u30BF\\u30E0\",\"\\u623B\\u308B ({0})\",\"\\u623B\\u308B\",\"\\u30AF\\u30A4\\u30C3\\u30AF\\u5165\\u529B\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u3066 '{0}' \\u30B3\\u30DE\\u30F3\\u30C9\\u3092\\u5B9F\\u884C\",\"\\u5168\\u4F53\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u30B3\\u30F3\\u30DD\\u30FC\\u30CD\\u30F3\\u30C8\\u306B\\u3088\\u3063\\u3066\\u30AA\\u30FC\\u30D0\\u30FC\\u30E9\\u30A4\\u30C9\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u5834\\u5408\\u306B\\u306E\\u307F\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u7121\\u52B9\\u306A\\u8981\\u7D20\\u306E\\u5168\\u4F53\\u7684\\u306A\\u524D\\u666F\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u30B3\\u30F3\\u30DD\\u30FC\\u30CD\\u30F3\\u30C8\\u306B\\u3088\\u3063\\u3066\\u30AA\\u30FC\\u30D0\\u30FC\\u30E9\\u30A4\\u30C9\\u3055\\u308C\\u306A\\u3044\\u5834\\u5408\\u306B\\u306E\\u307F\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30E9\\u30FC \\u30E1\\u30C3\\u30BB\\u30FC\\u30B8\\u5168\\u4F53\\u306E\\u524D\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u30B3\\u30F3\\u30DD\\u30FC\\u30CD\\u30F3\\u30C8\\u306B\\u3088\\u3063\\u3066\\u4E0A\\u66F8\\u304D\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u5834\\u5408\\u306B\\u306E\\u307F\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u8FFD\\u52A0\\u60C5\\u5831\\u3092\\u63D0\\u4F9B\\u3059\\u308B\\u8AAC\\u660E\\u6587\\u306E\\u524D\\u666F\\u8272\\u3001\\u4F8B:\\u30E9\\u30D9\\u30EB\\u3002\",\"\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u306E\\u65E2\\u5B9A\\u306E\\u8272\\u3002\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u8981\\u7D20\\u306E\\u5883\\u754C\\u7DDA\\u5168\\u4F53\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u30B3\\u30F3\\u30DD\\u30FC\\u30CD\\u30F3\\u30C8\\u306B\\u3088\\u3063\\u3066\\u4E0A\\u66F8\\u304D\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u5834\\u5408\\u306B\\u306E\\u307F\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30B3\\u30F3\\u30C8\\u30E9\\u30B9\\u30C8\\u3092\\u5F37\\u3081\\u308B\\u305F\\u3081\\u306B\\u3001\\u4ED6\\u306E\\u8981\\u7D20\\u3068\\u9694\\u3066\\u308B\\u8FFD\\u52A0\\u306E\\u5883\\u754C\\u7DDA\\u3002\",\"\\u30B3\\u30F3\\u30C8\\u30E9\\u30B9\\u30C8\\u3092\\u5F37\\u3081\\u308B\\u305F\\u3081\\u306B\\u3001\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u4ED6\\u8981\\u7D20\\u3068\\u9694\\u3066\\u308B\\u8FFD\\u52A0\\u306E\\u5883\\u754C\\u7DDA\\u3002\",\"\\u30EF\\u30FC\\u30AF\\u30D9\\u30F3\\u30C1\\u5185\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u9078\\u629E\\u306E\\u80CC\\u666F\\u8272 (\\u4F8B: \\u5165\\u529B\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9\\u3084\\u30C6\\u30AD\\u30B9\\u30C8\\u30A8\\u30EA\\u30A2)\\u3002\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u9078\\u629E\\u306B\\u306F\\u9069\\u7528\\u3055\\u308C\\u306A\\u3044\\u3053\\u3068\\u306B\\u6CE8\\u610F\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\"\\u30C6\\u30AD\\u30B9\\u30C8\\u5185\\u306E\\u30EA\\u30F3\\u30AF\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u3055\\u308C\\u305F\\u3068\\u304D\\u3068\\u30DE\\u30A6\\u30B9\\u3092\\u30DB\\u30D0\\u30FC\\u3057\\u305F\\u3068\\u304D\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u5185\\u306E\\u30EA\\u30F3\\u30AF\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u533A\\u5207\\u308A\\u6587\\u5B57\\u306E\\u8272\\u3002\",\"\\u30D5\\u30A9\\u30FC\\u30DE\\u30C3\\u30C8\\u6E08\\u307F\\u30C6\\u30AD\\u30B9\\u30C8 \\u30BB\\u30B0\\u30E1\\u30F3\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u66F8\\u5F0F\\u8A2D\\u5B9A\\u3055\\u308C\\u305F\\u30C6\\u30AD\\u30B9\\u30C8 \\u30BB\\u30B0\\u30E1\\u30F3\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30C6\\u30AD\\u30B9\\u30C8\\u5185\\u306E\\u30D6\\u30ED\\u30C3\\u30AF\\u5F15\\u7528\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30C6\\u30AD\\u30B9\\u30C8\\u5185\\u306E\\u30D6\\u30ED\\u30C3\\u30AF\\u5F15\\u7528\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\",\"\\u30C6\\u30AD\\u30B9\\u30C8\\u5185\\u306E\\u30B3\\u30FC\\u30C9 \\u30D6\\u30ED\\u30C3\\u30AF\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30B0\\u30E9\\u30D5\\u3067\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u524D\\u666F\\u8272\\u3002\",\"\\u30B0\\u30E9\\u30D5\\u306E\\u6C34\\u5E73\\u7DDA\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u8272\\u3002\",\"\\u30B0\\u30E9\\u30D5\\u306E\\u8996\\u899A\\u5316\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u8D64\\u8272\\u3002\",\"\\u30B0\\u30E9\\u30D5\\u306E\\u8996\\u899A\\u5316\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u9752\\u8272\\u3002\",\"\\u30B0\\u30E9\\u30D5\\u306E\\u8996\\u899A\\u5316\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u9EC4\\u8272\\u3002\",\"\\u30B0\\u30E9\\u30D5\\u306E\\u8996\\u899A\\u5316\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u30AA\\u30EC\\u30F3\\u30B8\\u8272\\u3002\",\"\\u30B0\\u30E9\\u30D5\\u306E\\u8996\\u899A\\u5316\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u7DD1\\u8272\\u3002\",\"\\u30B0\\u30E9\\u30D5\\u306E\\u8996\\u899A\\u5316\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u7D2B\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u65E2\\u5B9A\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306E\\u80CC\\u666F\\u8272\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306E\\u30DB\\u30D0\\u30FC\\u6642\\u306E\\u80CC\\u666F\\u8272\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u3067\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\",\" \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u3067\\u306E\\u56FA\\u5B9A\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u306E\\u5F71\\u306E\\u8272\",\"\\u691C\\u7D22/\\u7F6E\\u63DB\\u7A93\\u306A\\u3069\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u691C\\u7D22/\\u7F6E\\u63DB\\u306A\\u3069\\u3092\\u884C\\u3046\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u5883\\u754C\\u7DDA\\u304C\\u3042\\u308A\\u3001\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u3088\\u3063\\u3066\\u914D\\u8272\\u3092\\u4E0A\\u66F8\\u304D\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u5834\\u5408\\u3067\\u306E\\u307F\\u3053\\u306E\\u914D\\u8272\\u306F\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u30B5\\u30A4\\u30BA\\u5909\\u66F4\\u30D0\\u30FC\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u30B5\\u30A4\\u30BA\\u5909\\u66F4\\u306E\\u5883\\u754C\\u7DDA\\u304C\\u3042\\u308A\\u3001\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u3088\\u3063\\u3066\\u914D\\u8272\\u3092\\u4E0A\\u66F8\\u304D\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u5834\\u5408\\u3067\\u306E\\u307F\\u3053\\u306E\\u914D\\u8272\\u306F\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u30A8\\u30E9\\u30FC \\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30A8\\u30E9\\u30FC\\u3092\\u793A\\u3059\\u6CE2\\u7DDA\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u8A2D\\u5B9A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u30A8\\u30E9\\u30FC\\u306E\\u4E8C\\u91CD\\u4E0B\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u8B66\\u544A\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u8B66\\u544A\\u3092\\u793A\\u3059\\u6CE2\\u7DDA\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u8A2D\\u5B9A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u8B66\\u544A\\u306E\\u4E8C\\u91CD\\u4E0B\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u60C5\\u5831\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u60C5\\u5831\\u3092\\u793A\\u3059\\u6CE2\\u7DDA\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u8A2D\\u5B9A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u60C5\\u5831\\u306E\\u4E8C\\u91CD\\u4E0B\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3067\\u30D2\\u30F3\\u30C8\\u3092\\u793A\\u3059\\u6CE2\\u7DDA\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u8A2D\\u5B9A\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u30D2\\u30F3\\u30C8\\u306E\\u4E8C\\u91CD\\u4E0B\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30EA\\u30F3\\u30AF\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u8272\\u3002\",\"\\u30CF\\u30A4 \\u30B3\\u30F3\\u30C8\\u30E9\\u30B9\\u30C8\\u306E\\u9078\\u629E\\u6E08\\u307F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u8272\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u540C\\u3058\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306E\\u9818\\u57DF\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u3068\\u540C\\u3058\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u73FE\\u5728\\u306E\\u691C\\u7D22\\u4E00\\u81F4\\u9805\\u76EE\\u306E\\u8272\\u3002\",\"\\u73FE\\u5728\\u306E\\u691C\\u7D22\\u4E00\\u81F4\\u9805\\u76EE\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u8272\\u3002\",\"\\u305D\\u306E\\u4ED6\\u306E\\u691C\\u7D22\\u6761\\u4EF6\\u306B\\u4E00\\u81F4\\u3059\\u308B\\u9805\\u76EE\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u4ED6\\u306E\\u691C\\u7D22\\u4E00\\u81F4\\u9805\\u76EE\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u691C\\u7D22\\u3092\\u5236\\u9650\\u3059\\u308B\\u7BC4\\u56F2\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u73FE\\u5728\\u306E\\u691C\\u7D22\\u4E00\\u81F4\\u9805\\u76EE\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u4ED6\\u306E\\u691C\\u7D22\\u4E00\\u81F4\\u9805\\u76EE\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u691C\\u7D22\\u3092\\u5236\\u9650\\u3059\\u308B\\u7BC4\\u56F2\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u304C\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u308B\\u8A9E\\u306E\\u4E0B\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30DB\\u30D0\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30DB\\u30D0\\u30FC\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30DB\\u30D0\\u30FC\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30DB\\u30D0\\u30FC\\u306E\\u30B9\\u30C6\\u30FC\\u30BF\\u30B9 \\u30D0\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D2\\u30F3\\u30C8\\u306E\\u524D\\u666F\\u8272\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D2\\u30F3\\u30C8\\u306E\\u80CC\\u666F\\u8272\",\"\\u7A2E\\u985E\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D2\\u30F3\\u30C8\\u306E\\u524D\\u666F\\u8272\",\"\\u7A2E\\u985E\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D2\\u30F3\\u30C8\\u306E\\u80CC\\u666F\\u8272\",\"\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D2\\u30F3\\u30C8\\u306E\\u524D\\u666F\\u8272\",\"\\u30D1\\u30E9\\u30E1\\u30FC\\u30BF\\u30FC\\u306E\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30D2\\u30F3\\u30C8\\u306E\\u80CC\\u666F\\u8272\",\"\\u96FB\\u7403\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30A2\\u30A4\\u30B3\\u30F3\\u306B\\u4F7F\\u7528\\u3059\\u308B\\u8272\\u3002\",\"\\u81EA\\u52D5\\u4FEE\\u6B63\\u306E\\u96FB\\u7403\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3 \\u30A2\\u30A4\\u30B3\\u30F3\\u3068\\u3057\\u3066\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u8272\\u3002\",\"\\u96FB\\u7403 AI \\u30A2\\u30A4\\u30B3\\u30F3\\u306B\\u4F7F\\u7528\\u3059\\u308B\\u8272\\u3002\",\"\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8 tabstop \\u306E\\u80CC\\u666F\\u8272\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8 tabstop \\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u306E\\u6700\\u5F8C\\u306E tabstop \\u306E\\u80CC\\u666F\\u8272\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u30B9\\u30CB\\u30DA\\u30C3\\u30C8\\u306E\\u6700\\u5F8C\\u306E\\u30BF\\u30D6\\u30B9\\u30C8\\u30C3\\u30D7\\u3067\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3057\\u307E\\u3059\\u3002\",\"\\u633F\\u5165\\u3055\\u308C\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u524A\\u9664\\u3057\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u633F\\u5165\\u3055\\u308C\\u305F\\u884C\\u306E\\u80CC\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u524A\\u9664\\u3057\\u305F\\u884C\\u306E\\u80CC\\u666F\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u633F\\u5165\\u3055\\u308C\\u305F\\u884C\\u306E\\u4F59\\u767D\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u524A\\u9664\\u3055\\u308C\\u305F\\u884C\\u306E\\u4F59\\u767D\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u633F\\u5165\\u3055\\u308C\\u305F\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306B\\u3064\\u3044\\u3066\\u3001\\u5DEE\\u5206\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u3092\\u524D\\u9762\\u306B\\u7F6E\\u304D\\u307E\\u3059\\u3002\",\"\\u524A\\u9664\\u3055\\u308C\\u305F\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306B\\u3064\\u3044\\u3066\\u3001\\u5DEE\\u5206\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u3092\\u524D\\u9762\\u306B\\u7F6E\\u304D\\u307E\\u3059\\u3002\",\"\\u633F\\u5165\\u3055\\u308C\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u8F2A\\u90ED\\u306E\\u8272\\u3002\",\"\\u524A\\u9664\\u3055\\u308C\\u305F\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u8F2A\\u90ED\\u306E\\u8272\\u3002\",\"2 \\u3064\\u306E\\u30C6\\u30AD\\u30B9\\u30C8 \\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9593\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u5BFE\\u89D2\\u7DDA\\u306E\\u5857\\u308A\\u3064\\u3076\\u3057\\u8272\\u3002\\u5BFE\\u89D2\\u7DDA\\u306E\\u5857\\u308A\\u3064\\u3076\\u3057\\u306F\\u3001\\u6A2A\\u306B\\u4E26\\u3079\\u3066\\u6BD4\\u8F03\\u3059\\u308B\\u30D3\\u30E5\\u30FC\\u3067\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u30D6\\u30ED\\u30C3\\u30AF\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u30D6\\u30ED\\u30C3\\u30AF\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u5DEE\\u5206\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u5909\\u66F4\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u30B3\\u30FC\\u30C9\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u691C\\u7D22/\\u7F6E\\u63DB\\u7A93\\u306A\\u3069\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u5F71\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u5185\\u306E\\u691C\\u7D22/\\u7F6E\\u63DB\\u7A93\\u306A\\u3069\\u3001\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u4E0A\\u306B\\u30DE\\u30A6\\u30B9 \\u30DD\\u30A4\\u30F3\\u30BF\\u30FC\\u3092\\u5408\\u308F\\u305B\\u305F\\u3068\\u304D\\u306E\\u30C4\\u30FC\\u30EB \\u30D0\\u30FC\\u306E\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\",\"\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u4E0A\\u306B\\u30DE\\u30A6\\u30B9 \\u30DD\\u30A4\\u30F3\\u30BF\\u30FC\\u3092\\u5408\\u308F\\u305B\\u305F\\u3068\\u304D\\u306E\\u30C4\\u30FC\\u30EB \\u30D0\\u30FC\\u306E\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\",\"\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u4E0A\\u306B\\u30DE\\u30A6\\u30B9 \\u30DD\\u30A4\\u30F3\\u30BF\\u30FC\\u3092\\u5408\\u308F\\u305B\\u308B\\u3068\\u30C4\\u30FC\\u30EB \\u30D0\\u30FC\\u306E\\u80CC\\u666F\\u304C\\u8868\\u793A\\u3055\\u308C\\u308B\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u306E\\u9805\\u76EE\\u306E\\u8272\\u3002\",\"\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u306E\\u9805\\u76EE\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u306E\\u9805\\u76EE\\u306E\\u8272\\u3002\",\"\\u9078\\u629E\\u3055\\u308C\\u305F\\u968E\\u5C64\\u30EA\\u30F3\\u30AF\\u306E\\u9805\\u76EE\\u306E\\u8272\\u3002\",\"\\u968E\\u5C64\\u9805\\u76EE\\u30D4\\u30C3\\u30AB\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u73FE\\u5728\\u306E\\u30D8\\u30C3\\u30C0\\u30FC\\u306E\\u80CC\\u666F\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u73FE\\u5728\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u80CC\\u666F\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u7740\\u4FE1\\u30D8\\u30C3\\u30C0\\u30FC\\u306E\\u80CC\\u666F\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u7740\\u4FE1\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u306E\\u80CC\\u666F\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u5171\\u901A\\u306E\\u5148\\u7956\\u306E\\u30D8\\u30C3\\u30C0\\u30FC\\u80CC\\u666F\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u30A4\\u30F3\\u30E9\\u30A4\\u30F3 \\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u5171\\u901A\\u306E\\u5148\\u7956\\u306E\\u30B3\\u30F3\\u30C6\\u30F3\\u30C4\\u80CC\\u666F\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u884C\\u5185\\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u30D8\\u30C3\\u30C0\\u30FC\\u3068\\u30B9\\u30D7\\u30EA\\u30C3\\u30BF\\u30FC\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u884C\\u5185\\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u73FE\\u5728\\u306E\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u524D\\u666F\\u8272\\u3002\",\"\\u884C\\u5185\\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u5165\\u529B\\u5074\\u306E\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u524D\\u666F\\u8272\\u3002\",\"\\u884C\\u5185\\u30DE\\u30FC\\u30B8\\u7AF6\\u5408\\u306E\\u5171\\u901A\\u306E\\u7956\\u5148\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC\\u524D\\u666F\\u8272\\u3002\",\"\\u691C\\u51FA\\u3055\\u308C\\u305F\\u4E00\\u81F4\\u9805\\u76EE\\u306E\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u9078\\u629E\\u7BC4\\u56F2\\u3092\\u5F37\\u8ABF\\u8868\\u793A\\u3059\\u308B\\u305F\\u3081\\u306E\\u6982\\u8981\\u30EB\\u30FC\\u30E9\\u30FC \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\\u3053\\u306E\\u8272\\u306F\\u3001\\u57FA\\u672C\\u88C5\\u98FE\\u304C\\u975E\\u8868\\u793A\\u306B\\u306A\\u3089\\u306A\\u3044\\u3088\\u3046\\u4E0D\\u900F\\u660E\\u306B\\u3059\\u308B\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\",\"\\u554F\\u984C\\u306E\\u30A8\\u30E9\\u30FC \\u30A2\\u30A4\\u30B3\\u30F3\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u8272\\u3002\",\"\\u554F\\u984C\\u306E\\u8B66\\u544A\\u30A2\\u30A4\\u30B3\\u30F3\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u8272\\u3002\",\"\\u554F\\u984C\\u60C5\\u5831\\u30A2\\u30A4\\u30B3\\u30F3\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u308B\\u8272\\u3002\",\"\\u5165\\u529B\\u30DC\\u30C3\\u30AF\\u30B9\\u306E\\u80CC\\u666F\\u3002\",\"\\u5165\\u529B\\u30DC\\u30C3\\u30AF\\u30B9\\u306E\\u524D\\u666F\\u3002\",\"\\u5165\\u529B\\u30DC\\u30C3\\u30AF\\u30B9\\u306E\\u5883\\u754C\\u7DDA\\u3002\",\"\\u5165\\u529B\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9\\u306E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6 \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u5165\\u529B\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9\\u3067\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u5316\\u3055\\u308C\\u305F\\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u5165\\u529B\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9\\u306E\\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u80CC\\u666F\\u306E\\u30DB\\u30D0\\u30FC\\u8272\\u3002\",\"\\u5165\\u529B\\u30D5\\u30A3\\u30FC\\u30EB\\u30C9\\u3067\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u5316\\u3055\\u308C\\u305F\\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u5165\\u529B\\u30DC\\u30C3\\u30AF\\u30B9\\u306E\\u30D7\\u30EC\\u30FC\\u30B9\\u30DB\\u30EB\\u30C0\\u30FC \\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u60C5\\u5831\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u60C5\\u5831\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u60C5\\u5831\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\",\"\\u8B66\\u544A\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u8B66\\u544A\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u8B66\\u544A\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\",\"\\u30A8\\u30E9\\u30FC\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A8\\u30E9\\u30FC\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30A8\\u30E9\\u30FC\\u306E\\u91CD\\u5927\\u5EA6\\u3092\\u793A\\u3059\\u5165\\u529B\\u691C\\u8A3C\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\",\"\\u30C9\\u30ED\\u30C3\\u30D7\\u30C0\\u30A6\\u30F3\\u306E\\u80CC\\u666F\\u3002\",\"\\u30C9\\u30ED\\u30C3\\u30D7\\u30C0\\u30A6\\u30F3 \\u30EA\\u30B9\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30C9\\u30ED\\u30C3\\u30D7\\u30C0\\u30A6\\u30F3\\u306E\\u524D\\u666F\\u3002\",\"\\u30C9\\u30ED\\u30C3\\u30D7\\u30C0\\u30A6\\u30F3\\u306E\\u5883\\u754C\\u7DDA\\u3002\",\"\\u30DC\\u30BF\\u30F3\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30DC\\u30BF\\u30F3\\u306E\\u533A\\u5207\\u308A\\u8A18\\u53F7\\u306E\\u8272\\u3002\",\"\\u30DC\\u30BF\\u30F3\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u6642\\u306E\\u30DC\\u30BF\\u30F3\\u80CC\\u666F\\u8272\\u3002\",\"\\u30DC\\u30BF\\u30F3\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30DC\\u30BF\\u30F3\\u306E 2 \\u6B21\\u7684\\u306A\\u524D\\u666F\\u8272\\u3002\",\"\\u30DC\\u30BF\\u30F3\\u306E 2 \\u6B21\\u7684\\u306A\\u80CC\\u666F\\u8272\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u6642\\u306E\\u30DC\\u30BF\\u30F3\\u306E 2 \\u6B21\\u7684\\u306A\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30E9\\u30B8\\u30AA \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30E9\\u30B8\\u30AA \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30E9\\u30B8\\u30AA \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30E9\\u30B8\\u30AA \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30E9\\u30B8\\u30AA \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30E9\\u30B8\\u30AA \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30E9\\u30B8\\u30AA \\u30AA\\u30D7\\u30B7\\u30E7\\u30F3\\u306E\\u30DB\\u30D0\\u30FC\\u6642\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30C1\\u30A7\\u30C3\\u30AF\\u30DC\\u30C3\\u30AF\\u30B9 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u8981\\u7D20\\u304C\\u9078\\u629E\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306E\\u30C1\\u30A7\\u30C3\\u30AF\\u30DC\\u30C3\\u30AF\\u30B9 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30C1\\u30A7\\u30C3\\u30AF\\u30DC\\u30C3\\u30AF\\u30B9 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30C1\\u30A7\\u30C3\\u30AF\\u30DC\\u30C3\\u30AF\\u30B9 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u8981\\u7D20\\u304C\\u9078\\u629E\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306E\\u30C1\\u30A7\\u30C3\\u30AF\\u30DC\\u30C3\\u30AF\\u30B9 \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 \\u30E9\\u30D9\\u30EB\\u306E\\u80CC\\u666F\\u8272\\u3067\\u3059\\u3002\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 \\u30E9\\u30D9\\u30EB\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30B7\\u30E7\\u30FC\\u30C8\\u30AB\\u30C3\\u30C8\\u3092\\u8868\\u3059\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 \\u30E9\\u30D9\\u30EB\\u306E\\u524D\\u666F\\u8272\\u3067\\u3059\\u3002\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 \\u30E9\\u30D9\\u30EB\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30B7\\u30E7\\u30FC\\u30C8\\u30AB\\u30C3\\u30C8\\u3092\\u8868\\u3059\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 \\u30E9\\u30D9\\u30EB\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3067\\u3059\\u3002\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 \\u30E9\\u30D9\\u30EB\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30B7\\u30E7\\u30FC\\u30C8\\u30AB\\u30C3\\u30C8\\u3092\\u8868\\u3059\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 \\u30E9\\u30D9\\u30EB\\u306E\\u4E0B\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3067\\u3059\\u3002\\u30AD\\u30FC \\u30D0\\u30A4\\u30F3\\u30C9 \\u30E9\\u30D9\\u30EB\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30B7\\u30E7\\u30FC\\u30C8\\u30AB\\u30C3\\u30C8\\u3092\\u8868\\u3059\\u305F\\u3081\\u306B\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u80CC\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u524D\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30EA\\u30B9\\u30C8\\u3084\\u30C4\\u30EA\\u30FC\\u304C\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u5834\\u5408\\u306E\\u3001\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30EA\\u30B9\\u30C8\\u3084\\u30C4\\u30EA\\u30FC\\u306E\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30EA\\u30B9\\u30C8\\u3084\\u30C4\\u30EA\\u30FC\\u306B\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306B\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30EA\\u30B9\\u30C8/\\u30C4\\u30EA\\u30FC\\u304C\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u9078\\u629E\\u3055\\u308C\\u3066\\u3044\\u308B\\u5834\\u5408\\u306E\\u3001\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u30A2\\u30A4\\u30C6\\u30E0\\u306E\\u30EA\\u30B9\\u30C8/\\u30C4\\u30EA\\u30FC \\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u306E\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30EA\\u30B9\\u30C8/\\u30C4\\u30EA\\u30FC\\u306B\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u5834\\u5408\\u306F\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u9078\\u629E\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u80CC\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u9078\\u629E\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u524D\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u9078\\u629E\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u524D\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u9078\\u629E\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u80CC\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u9078\\u629E\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u524D\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u9078\\u629E\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u524D\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u304C\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306E\\u3068\\u304D\\u3001\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u80CC\\u666F\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30EA\\u30B9\\u30C8\\u3084\\u30C4\\u30EA\\u30FC\\u304C\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u5834\\u5408\\u306E\\u3001\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30EA\\u30B9\\u30C8\\u3084\\u30C4\\u30EA\\u30FC\\u306E\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u8272\\u3002\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u30EA\\u30B9\\u30C8\\u3084\\u30C4\\u30EA\\u30FC\\u306B\\u306F\\u30AD\\u30FC\\u30DC\\u30FC\\u30C9 \\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u304C\\u3042\\u308A\\u3001\\u975E\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306B\\u306F\\u3053\\u308C\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u64CD\\u4F5C\\u3067\\u9805\\u76EE\\u3092\\u30DB\\u30D0\\u30FC\\u3059\\u308B\\u3068\\u304D\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u80CC\\u666F\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u64CD\\u4F5C\\u3067\\u9805\\u76EE\\u3092\\u30DB\\u30D0\\u30FC\\u3059\\u308B\\u3068\\u304D\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u524D\\u666F\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u64CD\\u4F5C\\u3067\\u9805\\u76EE\\u3092\\u4ED6\\u306E\\u9805\\u76EE\\u306E\\u4E0A\\u306B\\u79FB\\u52D5\\u3059\\u308B\\u3068\\u304D\\u306E\\u30EA\\u30B9\\u30C8/\\u30C4\\u30EA\\u30FC\\u306E\\u30C9\\u30E9\\u30C3\\u30B0 \\u30A2\\u30F3\\u30C9 \\u30C9\\u30ED\\u30C3\\u30D7\\u306E\\u80CC\\u666F\\u3002\",\"\\u30DE\\u30A6\\u30B9\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u30A2\\u30A4\\u30C6\\u30E0\\u3092\\u30A2\\u30A4\\u30C6\\u30E0\\u9593\\u3067\\u79FB\\u52D5\\u3059\\u308B\\u3068\\u304D\\u306E\\u30EA\\u30B9\\u30C8/\\u30C4\\u30EA\\u30FC\\u306E\\u30C9\\u30E9\\u30C3\\u30B0 \\u30A2\\u30F3\\u30C9 \\u30C9\\u30ED\\u30C3\\u30D7\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u5185\\u3092\\u691C\\u7D22\\u3057\\u3066\\u3044\\u308B\\u3068\\u304D\\u3001\\u4E00\\u81F4\\u3057\\u305F\\u5F37\\u8ABF\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u524D\\u666F\\u8272\\u3002\",\"\\u30C4\\u30EA\\u30FC/\\u30EA\\u30B9\\u30C8\\u5185\\u3092\\u691C\\u7D22\\u3057\\u3066\\u3044\\u308B\\u3068\\u304D\\u3001\\u4E00\\u81F4\\u3057\\u305F\\u5F37\\u8ABF\\u306E\\u30C4\\u30EA\\u30FC/\\u30EA\\u30B9\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u7121\\u52B9\\u306A\\u9805\\u76EE\\u306E\\u30C4\\u30EA\\u30FC\\u30EA\\u30B9\\u30C8\\u306E\\u524D\\u666F\\u8272\\u3002\\u305F\\u3068\\u3048\\u3070\\u30A8\\u30AF\\u30B9\\u30D7\\u30ED\\u30FC\\u30E9\\u30FC\\u306E\\u672A\\u89E3\\u6C7A\\u306A\\u30EB\\u30FC\\u30C8\\u3002\",\"\\u30A8\\u30E9\\u30FC\\u3092\\u542B\\u3080\\u30EA\\u30B9\\u30C8\\u9805\\u76EE\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u8B66\\u544A\\u304C\\u542B\\u307E\\u308C\\u308B\\u30EA\\u30B9\\u30C8\\u9805\\u76EE\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30EA\\u30B9\\u30C8\\u304A\\u3088\\u3073\\u30C4\\u30EA\\u30FC\\u306E\\u578B\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC \\u30A6\\u30A7\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30EA\\u30B9\\u30C8\\u304A\\u3088\\u3073\\u30C4\\u30EA\\u30FC\\u306E\\u578B\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u8272\\u3002\",\"\\u4E00\\u81F4\\u9805\\u76EE\\u304C\\u306A\\u3044\\u5834\\u5408\\u306E\\u3001\\u30EA\\u30B9\\u30C8\\u304A\\u3088\\u3073\\u30C4\\u30EA\\u30FC\\u306E\\u578B\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u30A2\\u30A6\\u30C8\\u30E9\\u30A4\\u30F3\\u8272\\u3002\",\"\\u30EA\\u30B9\\u30C8\\u304A\\u3088\\u3073\\u30C4\\u30EA\\u30FC\\u306E\\u578B\\u30D5\\u30A3\\u30EB\\u30BF\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306E\\u5F71\\u306E\\u8272\\u3002\",\"\\u30D5\\u30A3\\u30EB\\u30BF\\u30EA\\u30F3\\u30B0\\u3055\\u308C\\u305F\\u4E00\\u81F4\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30D5\\u30A3\\u30EB\\u30BF\\u30EA\\u30F3\\u30B0\\u3055\\u308C\\u305F\\u4E00\\u81F4\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u5F37\\u8ABF\\u8868\\u793A\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u9805\\u76EE\\u306E\\u30EA\\u30B9\\u30C8/\\u30C4\\u30EA\\u30FC\\u524D\\u666F\\u8272\\u3002\",\"\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u30C4\\u30EA\\u30FC \\u30B9\\u30C8\\u30ED\\u30FC\\u30AF\\u306E\\u8272\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u3067\\u306A\\u3044\\u30A4\\u30F3\\u30C7\\u30F3\\u30C8 \\u30AC\\u30A4\\u30C9\\u306E\\u30C4\\u30EA\\u30FC \\u30B9\\u30C8\\u30ED\\u30FC\\u30AF\\u306E\\u8272\\u3002\",\"\\u5217\\u9593\\u306E\\u8868\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u5947\\u6570\\u30C6\\u30FC\\u30D6\\u30EB\\u884C\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u64CD\\u4F5C\\u306E\\u4E00\\u89A7\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u64CD\\u4F5C\\u306E\\u4E00\\u89A7\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u64CD\\u4F5C\\u306E\\u4E00\\u89A7\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u64CD\\u4F5C\\u306E\\u4E00\\u89A7\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30E1\\u30CB\\u30E5\\u30FC\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\",\"\\u30E1\\u30CB\\u30E5\\u30FC\\u9805\\u76EE\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30E1\\u30CB\\u30E5\\u30FC\\u9805\\u76EE\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30E1\\u30CB\\u30E5\\u30FC\\u3067\\u9078\\u629E\\u3055\\u308C\\u305F\\u30E1\\u30CB\\u30E5\\u30FC\\u9805\\u76EE\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30E1\\u30CB\\u30E5\\u30FC\\u3067\\u9078\\u629E\\u3055\\u308C\\u305F\\u30E1\\u30CB\\u30E5\\u30FC\\u9805\\u76EE\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30E1\\u30CB\\u30E5\\u30FC\\u3067\\u9078\\u629E\\u3055\\u308C\\u305F\\u30E1\\u30CB\\u30E5\\u30FC\\u9805\\u76EE\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\",\"\\u30E1\\u30CB\\u30E5\\u30FC\\u5185\\u306E\\u30E1\\u30CB\\u30E5\\u30FC\\u9805\\u76EE\\u306E\\u5883\\u754C\\u7DDA\\u8272\\u3002\",\"\\u4E00\\u81F4\\u3092\\u691C\\u7D22\\u3059\\u308B\\u305F\\u3081\\u306E\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u3092\\u7E70\\u308A\\u8FD4\\u3057\\u9078\\u629E\\u3059\\u308B\\u7BC4\\u56F2\\u306E\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\",\"\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u9078\\u629E\\u7BC4\\u56F2\\u306E\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\",\"\\u60C5\\u5831\\u306E\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\",\"\\u8B66\\u544A\\u306E\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\",\"\\u30A8\\u30E9\\u30FC\\u306E\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30DE\\u30FC\\u30AB\\u30FC\\u306E\\u8272\\u3002\",\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306E\\u80CC\\u666F\\u8272\\u3002\",'\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7\\u306B\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u3055\\u308C\\u308B\\u524D\\u666F\\u8981\\u7D20\\u306E\\u4E0D\\u900F\\u660E\\u5EA6\\u3002\\u305F\\u3068\\u3048\\u3070\\u3001\"#000000c0\" \\u3067\\u306F\\u300175% \\u306E\\u4E0D\\u900F\\u660E\\u5EA6\\u3067\\u8981\\u7D20\\u3092\\u30EC\\u30F3\\u30C0\\u30EA\\u30F3\\u30B0\\u3057\\u307E\\u3059\\u3002',\"\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30B9\\u30E9\\u30A4\\u30C0\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u30EA\\u30F3\\u30B0\\u6642\\u306E\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30B9\\u30E9\\u30A4\\u30C0\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u3057\\u305F\\u3068\\u304D\\u306E\\u30DF\\u30CB\\u30DE\\u30C3\\u30D7 \\u30B9\\u30E9\\u30A4\\u30C0\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30A2\\u30AF\\u30C6\\u30A3\\u30D6\\u306A\\u67A0\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u3002\",\"\\u30D0\\u30C3\\u30B8\\u306E\\u80CC\\u666F\\u8272\\u3002\\u30D0\\u30C3\\u30B8\\u3068\\u306F\\u5C0F\\u3055\\u306A\\u60C5\\u5831\\u30E9\\u30D9\\u30EB\\u306E\\u3053\\u3068\\u3067\\u3059\\u3002\\u4F8B:\\u691C\\u7D22\\u7D50\\u679C\\u306E\\u6570\",\"\\u30D0\\u30C3\\u30B8\\u306E\\u524D\\u666F\\u8272\\u3002\\u30D0\\u30C3\\u30B8\\u3068\\u306F\\u5C0F\\u3055\\u306A\\u60C5\\u5831\\u30E9\\u30D9\\u30EB\\u306E\\u3053\\u3068\\u3067\\u3059\\u3002\\u4F8B:\\u691C\\u7D22\\u7D50\\u679C\\u306E\\u6570\",\"\\u30D3\\u30E5\\u30FC\\u304C\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB\\u3055\\u308C\\u305F\\u3053\\u3068\\u3092\\u793A\\u3059\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB \\u30D0\\u30FC\\u306E\\u5F71\\u3002\",\"\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB \\u30D0\\u30FC\\u306E\\u30B9\\u30E9\\u30A4\\u30C0\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30DB\\u30D0\\u30FC\\u6642\\u306E\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB \\u30D0\\u30FC \\u30B9\\u30E9\\u30A4\\u30C0\\u30FC\\u80CC\\u666F\\u8272\\u3002\",\"\\u30AF\\u30EA\\u30C3\\u30AF\\u6642\\u306E\\u30B9\\u30AF\\u30ED\\u30FC\\u30EB \\u30D0\\u30FC \\u30B9\\u30E9\\u30A4\\u30C0\\u30FC\\u80CC\\u666F\\u8272\\u3002\",\"\\u6642\\u9593\\u306E\\u304B\\u304B\\u308B\\u64CD\\u4F5C\\u3067\\u8868\\u793A\\u3059\\u308B\\u30D7\\u30ED\\u30B0\\u30EC\\u30B9 \\u30D0\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u30AF\\u30A4\\u30C3\\u30AF \\u30D4\\u30C3\\u30AB\\u30FC\\u306E\\u80CC\\u666F\\u8272\\u3002\\u30AF\\u30A4\\u30C3\\u30AF \\u30D4\\u30C3\\u30AB\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306F\\u3001\\u30B3\\u30DE\\u30F3\\u30C9 \\u30D1\\u30EC\\u30C3\\u30C8\\u306E\\u3088\\u3046\\u306A\\u30D4\\u30C3\\u30AB\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30CA\\u30FC\\u3067\\u3059\\u3002\",\"\\u30AF\\u30A4\\u30C3\\u30AF \\u30D4\\u30C3\\u30AB\\u30FC\\u306E\\u524D\\u666F\\u8272\\u3002\\u30AF\\u30A4\\u30C3\\u30AF \\u30D4\\u30C3\\u30AB\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306F\\u3001\\u30B3\\u30DE\\u30F3\\u30C9 \\u30D1\\u30EC\\u30C3\\u30C8\\u306E\\u3088\\u3046\\u306A\\u30D4\\u30C3\\u30AB\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30CA\\u30FC\\u3067\\u3059\\u3002\",\"\\u30AF\\u30A4\\u30C3\\u30AF \\u30D4\\u30C3\\u30AB\\u30FC \\u306E\\u30BF\\u30A4\\u30C8\\u30EB\\u306E\\u80CC\\u666F\\u8272\\u3002\\u30AF\\u30A4\\u30C3\\u30AF \\u30D4\\u30C3\\u30AB\\u30FC \\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306F\\u3001\\u30B3\\u30DE\\u30F3\\u30C9 \\u30D1\\u30EC\\u30C3\\u30C8\\u306E\\u3088\\u3046\\u306A\\u30D4\\u30C3\\u30AB\\u30FC\\u306E\\u30B3\\u30F3\\u30C6\\u30CA\\u30FC\\u3067\\u3059\\u3002\",\"\\u30E9\\u30D9\\u30EB\\u3092\\u30B0\\u30EB\\u30FC\\u30D7\\u5316\\u3059\\u308B\\u305F\\u3081\\u306E\\u30AF\\u30EA\\u30C3\\u30AF\\u9078\\u629E\\u306E\\u8272\\u3002\",\"\\u5883\\u754C\\u7DDA\\u3092\\u30B0\\u30EB\\u30FC\\u30D7\\u5316\\u3059\\u308B\\u305F\\u3081\\u306E\\u30AF\\u30A4\\u30C3\\u30AF\\u9078\\u629E\\u306E\\u8272\\u3002\",\"\\u4EE3\\u308F\\u308A\\u306B quickInputList.focusBackground \\u3092\\u4F7F\\u7528\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30AF\\u30A4\\u30C3\\u30AF\\u9078\\u629E\\u306E\\u524D\\u666F\\u8272\\u3002\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30AF\\u30A4\\u30C3\\u30AF\\u9078\\u629E\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u524D\\u666F\\u8272\\u3002\",\"\\u30D5\\u30A9\\u30FC\\u30AB\\u30B9\\u3055\\u308C\\u305F\\u9805\\u76EE\\u306E\\u30AF\\u30A4\\u30C3\\u30AF\\u9078\\u629E\\u306E\\u80CC\\u666F\\u8272\\u3002\",\"\\u691C\\u7D22\\u30D3\\u30E5\\u30FC\\u30EC\\u30C3\\u30C8\\u306E\\u5B8C\\u4E86\\u30E1\\u30C3\\u30BB\\u30FC\\u30B8\\u5185\\u306E\\u30C6\\u30AD\\u30B9\\u30C8\\u306E\\u8272\\u3002\",\"\\u691C\\u7D22\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u30AF\\u30A8\\u30EA\\u306E\\u8272\\u304C\\u4E00\\u81F4\\u3057\\u307E\\u3059\\u3002\",\"\\u691C\\u7D22\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC \\u30AF\\u30A8\\u30EA\\u306E\\u5883\\u754C\\u7DDA\\u306E\\u8272\\u304C\\u4E00\\u81F4\\u3057\\u307E\\u3059\\u3002\",\"\\u3053\\u306E\\u8272\\u306F\\u900F\\u660E\\u3067\\u3042\\u308B\\u5FC5\\u8981\\u304C\\u3042\\u308A\\u307E\\u3059\\u3002\\u305D\\u3046\\u3067\\u306A\\u3044\\u3068\\u5185\\u5BB9\\u304C\\u898B\\u3048\\u306B\\u304F\\u304F\\u306A\\u308A\\u307E\\u3059\",\"\\u65E2\\u5B9A\\u306E\\u8272\\u3092\\u4F7F\\u7528\\u3057\\u307E\\u3059\\u3002\",\"\\u4F7F\\u7528\\u3059\\u308B\\u30D5\\u30A9\\u30F3\\u30C8\\u306E ID\\u3002\\u8A2D\\u5B9A\\u3055\\u308C\\u3066\\u3044\\u306A\\u3044\\u5834\\u5408\\u306F\\u3001\\u6700\\u521D\\u306B\\u5B9A\\u7FA9\\u3055\\u308C\\u3066\\u3044\\u308B\\u30D5\\u30A9\\u30F3\\u30C8\\u304C\\u4F7F\\u7528\\u3055\\u308C\\u307E\\u3059\\u3002\",\"\\u30A2\\u30A4\\u30B3\\u30F3\\u5B9A\\u7FA9\\u306B\\u95A2\\u9023\\u4ED8\\u3051\\u3089\\u308C\\u305F\\u30D5\\u30A9\\u30F3\\u30C8\\u6587\\u5B57\\u3002\",\"\\u30A6\\u30A3\\u30B8\\u30A7\\u30C3\\u30C8\\u306B\\u3042\\u308B\\u9589\\u3058\\u308B\\u30A2\\u30AF\\u30B7\\u30E7\\u30F3\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u524D\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u5834\\u6240\\u306B\\u79FB\\u52D5\\u3059\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u6B21\\u306E\\u30A8\\u30C7\\u30A3\\u30BF\\u30FC\\u306E\\u5834\\u6240\\u306B\\u79FB\\u52D5\\u3059\\u308B\\u305F\\u3081\\u306E\\u30A2\\u30A4\\u30B3\\u30F3\\u3002\",\"\\u6B21\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u304C\\u9589\\u3058\\u3089\\u308C\\u3001\\u30C7\\u30A3\\u30B9\\u30AF\\u4E0A\\u3067\\u5909\\u66F4\\u3055\\u308C\\u307E\\u3057\\u305F: {0}\\u3002\",\"\\u4EE5\\u4E0B\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u306F\\u4E92\\u63DB\\u6027\\u306E\\u306A\\u3044\\u65B9\\u6CD5\\u3067\\u5909\\u66F4\\u3055\\u308C\\u307E\\u3057\\u305F: {0}\\u3002\",\"\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3067 '{0}' \\u3092\\u5143\\u306B\\u623B\\u305B\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\\u3002{1}\",\"\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3067 '{0}' \\u3092\\u5143\\u306B\\u623B\\u305B\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\\u3002{1}\",\"{1} \\u306B\\u5909\\u66F4\\u304C\\u52A0\\u3048\\u3089\\u308C\\u305F\\u305F\\u3081\\u3001\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3067 '{0}' \\u3092\\u5143\\u306B\\u623B\\u305B\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"{1} \\u3067\\u5143\\u306B\\u623B\\u3059\\u307E\\u305F\\u306F\\u3084\\u308A\\u76F4\\u3057\\u64CD\\u4F5C\\u304C\\u65E2\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u3066\\u3044\\u308B\\u305F\\u3081\\u3001\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u306B\\u5BFE\\u3057\\u3066 '{0}' \\u3092\\u5143\\u306B\\u623B\\u3059\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"\\u5143\\u306B\\u623B\\u3059\\u307E\\u305F\\u306F\\u3084\\u308A\\u76F4\\u3057\\u64CD\\u4F5C\\u304C\\u305D\\u306E\\u671F\\u9593\\u306B\\u5B9F\\u884C\\u4E2D\\u3067\\u3042\\u3063\\u305F\\u305F\\u3081\\u3001\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u306B\\u5BFE\\u3057\\u3066 '{0}' \\u3092\\u5143\\u306B\\u623B\\u3059\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3067 '{0}' \\u3092\\u5143\\u306B\\u623B\\u3057\\u307E\\u3059\\u304B?\",\"{0} \\u500B\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3067\\u5143\\u306B\\u623B\\u3059(&&U)\",\"\\u3053\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3092\\u5143\\u306B\\u623B\\u3059\",\"\\u5143\\u306B\\u623B\\u3059\\u307E\\u305F\\u306F\\u3084\\u308A\\u76F4\\u3057\\u64CD\\u4F5C\\u304C\\u65E2\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u3066\\u3044\\u308B\\u305F\\u3081\\u3001'{0}' \\u3092\\u5143\\u306B\\u623B\\u3059\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\\u3002\",\"'{0}' \\u3092\\u5143\\u306B\\u623B\\u3057\\u307E\\u3059\\u304B?\",\"\\u306F\\u3044(&&Y)\",\"\\u3044\\u3044\\u3048\",\"\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3067 '{0}' \\u3092\\u3084\\u308A\\u76F4\\u3057\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\\u3002{1}\",\"\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3067 '{0}' \\u3092\\u3084\\u308A\\u76F4\\u3057\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\\u3002{1}\",\"{1} \\u306B\\u5909\\u66F4\\u304C\\u52A0\\u3048\\u3089\\u308C\\u305F\\u305F\\u3081\\u3001\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u3067 '{0}' \\u3092\\u518D\\u5B9F\\u884C\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"{1} \\u3067\\u5143\\u306B\\u623B\\u3059\\u307E\\u305F\\u306F\\u3084\\u308A\\u76F4\\u3057\\u64CD\\u4F5C\\u304C\\u65E2\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u3066\\u3044\\u308B\\u305F\\u3081\\u3001\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u306B\\u5BFE\\u3057\\u3066 '{0}' \\u3092\\u3084\\u308A\\u76F4\\u3059\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"\\u5143\\u306B\\u623B\\u3059\\u307E\\u305F\\u306F\\u3084\\u308A\\u76F4\\u3057\\u64CD\\u4F5C\\u304C\\u305D\\u306E\\u671F\\u9593\\u306B\\u5B9F\\u884C\\u4E2D\\u3067\\u3042\\u3063\\u305F\\u305F\\u3081\\u3001\\u3059\\u3079\\u3066\\u306E\\u30D5\\u30A1\\u30A4\\u30EB\\u306B\\u5BFE\\u3057\\u3066 '{0}' \\u3092\\u3084\\u308A\\u76F4\\u3059\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\",\"\\u5143\\u306B\\u623B\\u3059\\u307E\\u305F\\u306F\\u3084\\u308A\\u76F4\\u3057\\u64CD\\u4F5C\\u304C\\u65E2\\u306B\\u5B9F\\u884C\\u3055\\u308C\\u3066\\u3044\\u308B\\u305F\\u3081\\u3001'{0}' \\u3092\\u3084\\u308A\\u76F4\\u3059\\u3053\\u3068\\u306F\\u3067\\u304D\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\\u3002\",\"\\u30B3\\u30FC\\u30C9 \\u30EF\\u30FC\\u30AF\\u30B9\\u30DA\\u30FC\\u30B9\"],globalThis._VSCODE_NLS_LANGUAGE=\"ja\";\n\n//# sourceMappingURL=../min-maps/nls.messages.ja.js.map\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.ko.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0}({1})\",\"\\uC785\\uB825\",\"\\uB300/\\uC18C\\uBB38\\uC790 \\uAD6C\\uBD84\",\"\\uB2E8\\uC5B4 \\uB2E8\\uC704\\uB85C\",\"\\uC815\\uADDC\\uC2DD \\uC0AC\\uC6A9\",\"\\uC785\\uB825\",\"\\uB300/\\uC18C\\uBB38\\uC790 \\uBCF4\\uC874\",\"{0}\\uC744(\\uB97C) \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC811\\uADFC\\uC131 \\uBCF4\\uAE30\\uC5D0\\uC11C \\uC774\\uB97C \\uAC80\\uC0AC\\uD569\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uD0A4 \\uBC14\\uC778\\uB529\\uC744 \\uD1B5\\uD574 \\uD2B8\\uB9AC\\uAC70\\uD560 \\uC218 \\uC5C6\\uB294 \\uC811\\uADFC\\uC131 \\uBCF4\\uAE30 \\uC5F4\\uAE30 \\uBA85\\uB839\\uC744 \\uD1B5\\uD574 \\uC811\\uADFC\\uC131 \\uBCF4\\uAE30\\uC5D0\\uC11C \\uC774\\uB97C \\uAC80\\uC0AC\\uD569\\uB2C8\\uB2E4.\",\"\\uC624\\uB958: {0}\",\"\\uACBD\\uACE0: {0}\",\"\\uC815\\uBCF4: {0}\",\" \\uB610\\uB294 {0} \\uAE30\\uB85D\\uC758 \\uACBD\\uC6B0\",\" ({0} \\uAE30\\uB85D\\uC6A9)\",\"\\uC785\\uB825\\uC774 \\uC9C0\\uC6CC\\uC9D0\",\"\\uBC14\\uC778\\uB529 \\uC548 \\uB428\",\"Box \\uC120\\uD0DD\",\"\\uAE30\\uD0C0 \\uC791\\uC5C5...\",\"\\uD544\\uD130\",\"\\uC720\\uC0AC \\uD56D\\uBAA9 \\uC77C\\uCE58\",\"\\uD544\\uD130\\uB9C1\\uD560 \\uD615\\uC2DD\",\"\\uC785\\uB825\\uD558\\uC5EC \\uAC80\\uC0C9\",\"\\uC785\\uB825\\uD558\\uC5EC \\uAC80\\uC0C9\",\"\\uB2EB\\uAE30\",\"\\uACB0\\uACFC \\uC5C6\\uC74C\",\"\\uACB0\\uACFC\\uB97C \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",null,\"(\\uBE44\\uC5B4 \\uC788\\uC74C)\",\"{0}: {1}\",\"\\uC2DC\\uC2A4\\uD15C \\uC624\\uB958\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC2B5\\uB2C8\\uB2E4({0}).\",\"\\uC54C \\uC218 \\uC5C6\\uB294 \\uC624\\uB958\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC2B5\\uB2C8\\uB2E4. \\uC790\\uC138\\uD55C \\uB0B4\\uC6A9\\uC740 \\uB85C\\uADF8\\uB97C \\uCC38\\uC870\\uD558\\uC138\\uC694.\",\"\\uC54C \\uC218 \\uC5C6\\uB294 \\uC624\\uB958\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC2B5\\uB2C8\\uB2E4. \\uC790\\uC138\\uD55C \\uB0B4\\uC6A9\\uC740 \\uB85C\\uADF8\\uB97C \\uCC38\\uC870\\uD558\\uC138\\uC694.\",\"{0}(\\uCD1D {1}\\uAC1C\\uC758 \\uC624\\uB958)\",\"\\uC54C \\uC218 \\uC5C6\\uB294 \\uC624\\uB958\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC2B5\\uB2C8\\uB2E4. \\uC790\\uC138\\uD55C \\uB0B4\\uC6A9\\uC740 \\uB85C\\uADF8\\uB97C \\uCC38\\uC870\\uD558\\uC138\\uC694.\",\"Ctrl\",\"Shift\",\"<Alt>\",\"Windows\",\"Ctrl\",\"Shift\",\"<Alt>\",\"\\uC288\\uD37C\",\"Ctrl\",\"Shift\",\"\\uC635\\uC158\",\"\\uBA85\\uB839\",\"Ctrl\",\"Shift\",\"<Alt>\",\"Windows\",\"Ctrl\",\"Shift\",\"<Alt>\",\"\\uC288\\uD37C\",null,null,null,null,null,\"\\uB354 \\uAE34 \\uC904\\uB85C \\uC774\\uB3D9\\uD558\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB3C4 \\uB05D\\uC5D0 \\uACE0\\uC815\",\"\\uB354 \\uAE34 \\uC904\\uB85C \\uC774\\uB3D9\\uD558\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB3C4 \\uB05D\\uC5D0 \\uACE0\\uC815\",\"\\uBCF4\\uC870 \\uCEE4\\uC11C\\uAC00 \\uC81C\\uAC70\\uB428\",\"\\uC2E4\\uD589 \\uCDE8\\uC18C(&&U)\",\"\\uC2E4\\uD589 \\uCDE8\\uC18C\",\"\\uB2E4\\uC2DC \\uC2E4\\uD589(&&R)\",\"\\uB2E4\\uC2DC \\uC2E4\\uD589\",\"\\uBAA8\\uB450 \\uC120\\uD0DD(&&S)\",\"\\uBAA8\\uB450 \\uC120\\uD0DD\",\"{0} \\uD0A4\\uB97C \\uB20C\\uB7EC \\uB9C8\\uC6B0\\uC2A4\\uB97C \\uC704\\uC5D0 \\uB193\\uAE30\",\"\\uB85C\\uB4DC \\uC911...\",\"\\uCEE4\\uC11C \\uC218\\uB97C {0}\\uAC1C\\uB85C \\uC81C\\uD55C\\uD588\\uC2B5\\uB2C8\\uB2E4. \\uB354 \\uD070 \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC744 \\uC704\\uD574\\uC11C\\uB294 [\\uCC3E\\uC544\\uC11C \\uAD50\\uCCB4](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace)\\uB97C \\uC0AC\\uC6A9\\uD558\\uAC70\\uB098 \\uD3B8\\uC9D1\\uAE30 \\uB2E4\\uC911 \\uCEE4\\uC11C \\uC81C\\uD55C \\uC124\\uC815\\uC744 \\uB298\\uB9AC\\uB294 \\uAC83\\uC774 \\uC88B\\uC2B5\\uB2C8\\uB2E4.\",\"\\uB2E4\\uC911 \\uCEE4\\uC11C \\uC81C\\uD55C \\uB298\\uB9AC\\uAE30\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC601\\uC5ED \\uCD95\\uC18C \\uD1A0\\uAE00\",\"\\uC774\\uB3D9\\uB41C \\uCF54\\uB4DC \\uBE14\\uB85D \\uD45C\\uC2DC \\uD1A0\\uAE00\",\"\\uACF5\\uAC04\\uC774 \\uC81C\\uD55C\\uB41C \\uACBD\\uC6B0 \\uC778\\uB77C\\uC778 \\uBCF4\\uAE30 \\uC0AC\\uC6A9 \\uC124\\uC815/\\uD574\\uC81C\",\"diff \\uD3B8\\uC9D1\\uAE30\",\"\\uC2A4\\uC704\\uCE58 \\uCABD\",\"\\uBE44\\uAD50 \\uC774\\uB3D9 \\uC885\\uB8CC\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uBAA8\\uB4E0 \\uC601\\uC5ED \\uCD95\\uC18C\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uBAA8\\uB4E0 \\uC601\\uC5ED \\uD45C\\uC2DC\",\"\\uB418\\uB3CC\\uB9AC\\uAE30\",\"\\uC561\\uC138\\uC2A4 \\uAC00\\uB2A5\\uD55C Diff \\uBDF0\\uC5B4\",\"\\uB2E4\\uC74C \\uB2E4\\uB978 \\uD56D\\uBAA9\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uB2E4\\uC74C \\uB2E4\\uB978 \\uD56D\\uBAA9\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uC561\\uC138\\uC2A4 \\uAC00\\uB2A5\\uD55C Diff \\uBDF0\\uC5B4\\uC758 '\\uC0BD\\uC785' \\uC544\\uC774\\uCF58.\",\"\\uC561\\uC138\\uC2A4 \\uAC00\\uB2A5\\uD55C Diff \\uBDF0\\uC5B4\\uC758 '\\uC81C\\uAC70' \\uC544\\uC774\\uCF58.\",\"\\uC811\\uADFC \\uAC00\\uB2A5\\uD55C Diff \\uBDF0\\uC5B4\\uC758 '\\uB2EB\\uAE30' \\uC544\\uC774\\uCF58.\",\"\\uB2EB\\uAE30\",\"\\uC561\\uC138\\uC2A4 \\uAC00\\uB2A5\\uD55C Diff \\uBDF0\\uC5B4\\uC785\\uB2C8\\uB2E4. \\uD0D0\\uC0C9\\uD558\\uB824\\uBA74 \\uC704\\uCABD \\uBC0F \\uC544\\uB798\\uCABD \\uD654\\uC0B4\\uD45C\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uBCC0\\uACBD\\uB41C \\uC904 \\uC5C6\\uC74C\",\"\\uC120 1\\uAC1C \\uBCC0\\uACBD\\uB428\",\"\\uC904 {0}\\uAC1C \\uBCC0\\uACBD\\uB428\",\"\\uCC28\\uC774 {0}/{1}: \\uC6D0\\uB798 \\uC904 {2}, {3}, \\uC218\\uC815\\uB41C \\uC904 {4}, {5}\",\"\\uBE44\\uC5B4 \\uC788\\uC74C\",\"{0} \\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC904 {1}\",\"{0} \\uC6D0\\uB798 \\uC904 {1} \\uC218\\uC815\\uB41C \\uC904 {2}\",\"+ {0} \\uC218\\uC815\\uB41C \\uC904 {1}\",\"- {0} \\uC6D0\\uB798 \\uC904 {1}\",\" {0}\\uC744(\\uB97C) \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC811\\uADFC\\uC131 \\uB3C4\\uC6C0\\uB9D0\\uC744 \\uC5FD\\uB2C8\\uB2E4.\",\"\\uC0AD\\uC81C\\uB41C \\uC904 \\uBCF5\\uC0AC\",\"\\uC0AD\\uC81C\\uB41C \\uC904 \\uBCF5\\uC0AC\",\"\\uBCC0\\uACBD\\uB41C \\uC904 \\uBCF5\\uC0AC\",\"\\uBCC0\\uACBD\\uB41C \\uC904 \\uBCF5\\uC0AC\",\"\\uC0AD\\uC81C\\uB41C \\uC904 \\uBCF5\\uC0AC({0})\",\"\\uBCC0\\uACBD\\uB41C \\uC904({0}) \\uBCF5\\uC0AC\",\"\\uC774 \\uBCC0\\uACBD \\uB0B4\\uC6A9 \\uB418\\uB3CC\\uB9AC\\uAE30\",\"\\uACF5\\uAC04\\uC774 \\uC81C\\uD55C\\uB41C \\uACBD\\uC6B0 \\uC778\\uB77C\\uC778 \\uBCF4\\uAE30 \\uC0AC\\uC6A9\",\"\\uC774\\uB3D9\\uB41C \\uCF54\\uB4DC \\uBE14\\uB85D \\uD45C\\uC2DC\",\"\\uBE14\\uB85D \\uB418\\uB3CC\\uB9AC\\uAE30\",\"\\uC120\\uD0DD \\uD56D\\uBAA9 \\uB418\\uB3CC\\uB9AC\\uAE30\",\"\\uC561\\uC138\\uC2A4 \\uAC00\\uB2A5\\uD55C Diff \\uBDF0\\uC5B4 \\uC5F4\\uAE30\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC601\\uC5ED \\uC811\\uAE30\",\"\\uC228\\uACA8\\uC9C4 \\uC120 {0}\\uAC1C\",\"\\uC704\\uC5D0 \\uC790\\uC138\\uD788 \\uD45C\\uC2DC\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\\uD558\\uAC70\\uB098 \\uB04C\\uC5B4\\uB2E4 \\uB193\\uAE30\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC601\\uC5ED \\uD45C\\uC2DC\",\"\\uC544\\uB798\\uC5D0 \\uC790\\uC138\\uD788 \\uD45C\\uC2DC\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\\uD558\\uAC70\\uB098 \\uB04C\\uC5B4\\uB2E4 \\uB193\\uAE30\",\"\\uC228\\uACA8\\uC9C4 \\uC120 {0}\\uAC1C\",\"\\uB450 \\uBC88 \\uD074\\uB9AD\\uD558\\uC5EC \\uD3BC\\uCE58\\uAE30\",\"\\uBCC0\\uACBD \\uC0AC\\uD56D\\uACFC \\uD568\\uAED8 \\uCF54\\uB4DC\\uAC00 {0} - {1}\\uC904\\uB85C \\uC774\\uB3D9\\uB428\",\"\\uBCC0\\uACBD \\uC0AC\\uD56D\\uACFC \\uD568\\uAED8 \\uCF54\\uB4DC\\uAC00 {0} - {1}\\uC904\\uC5D0\\uC11C \\uC774\\uB3D9\\uB428\",\"\\uCF54\\uB4DC\\uAC00 {0} - {1}\\uC904\\uB85C \\uC774\\uB3D9\\uB428\",\"\\uCF54\\uB4DC\\uAC00 {0} - {1}\\uC904\\uC5D0\\uC11C \\uC774\\uB3D9\\uB428\",\"\\uC120\\uD0DD\\uD55C \\uBCC0\\uACBD \\uB0B4\\uC6A9 \\uB418\\uB3CC\\uB9AC\\uAE30\",\"\\uBCC0\\uACBD \\uB0B4\\uC6A9 \\uB418\\uB3CC\\uB9AC\\uAE30\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC774\\uB3D9\\uB41C \\uD14D\\uC2A4\\uD2B8\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC774\\uB3D9\\uB41C \\uD14D\\uC2A4\\uD2B8\\uC758 \\uD65C\\uC131 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC601\\uC5ED \\uC704\\uC82F \\uC8FC\\uC704\\uC758 \\uADF8\\uB9BC\\uC790 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC758 \\uC0BD\\uC785\\uC5D0 \\uB300\\uD55C \\uC904 \\uB370\\uCF54\\uB808\\uC774\\uC158\\uC785\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC758 \\uC81C\\uAC70\\uC5D0 \\uB300\\uD55C \\uC904 \\uB370\\uCF54\\uB808\\uC774\\uC158\\uC785\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30 \\uD5E4\\uB354\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB2E4\\uC911 \\uD30C\\uC77C diff \\uD3B8\\uC9D1\\uAE30 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB2E4\\uC911 \\uD30C\\uC77C \\uCC28\\uC774 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\",\"\\uBCC0\\uACBD\\uB41C \\uD30C\\uC77C \\uC5C6\\uC74C\",\"\\uD3B8\\uC9D1\\uAE30\",\"\\uD0ED\\uC774 \\uAC19\\uC740 \\uACF5\\uBC31\\uC758 \\uC218\\uC785\\uB2C8\\uB2E4. \\uC774 \\uC124\\uC815\\uC740 {0}\\uC774(\\uAC00) \\uCF1C\\uC838 \\uC788\\uC744 \\uB54C \\uD30C\\uC77C \\uB0B4\\uC6A9\\uC744 \\uAE30\\uBC18\\uC73C\\uB85C \\uC7AC\\uC815\\uC758\\uB429\\uB2C8\\uB2E4.\",`\\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uB610\\uB294 \\`\"tabSize\"\\uC5D0\\uC11C '#editor.tabSize#'\\uC758 \\uAC12\\uC744 \\uC0AC\\uC6A9\\uD558\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB418\\uB294 \\uACF5\\uBC31 \\uC218\\uC785\\uB2C8\\uB2E4. \\uC774 \\uC124\\uC815\\uC740 '#editor.detectIndentation#'\\uC774 \\uCF1C\\uC838 \\uC788\\uB294 \\uACBD\\uC6B0 \\uD30C\\uC77C \\uB0B4\\uC6A9\\uC5D0 \\uB530\\uB77C \\uC7AC\\uC815\\uC758\\uB429\\uB2C8\\uB2E4.`,\"`Tab`\\uC744 \\uB204\\uB97C \\uB54C \\uACF5\\uBC31\\uC744 \\uC0BD\\uC785\\uD558\\uC138\\uC694. \\uC774 \\uC124\\uC815\\uC740 {0}\\uC774(\\uAC00) \\uCF1C\\uC838 \\uC788\\uC744 \\uB54C \\uD30C\\uC77C \\uB0B4\\uC6A9\\uC744 \\uAE30\\uBC18\\uC73C\\uB85C \\uC7AC\\uC815\\uC758\\uB429\\uB2C8\\uB2E4.\",\"\\uD30C\\uC77C \\uB0B4\\uC6A9\\uC744 \\uAE30\\uBC18\\uC73C\\uB85C \\uD30C\\uC77C\\uC744 \\uC5F4 \\uB54C {0} \\uBC0F {1}\\uC744(\\uB97C) \\uC790\\uB3D9\\uC73C\\uB85C \\uAC10\\uC9C0\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB05D\\uC5D0 \\uC790\\uB3D9 \\uC0BD\\uC785\\uB41C \\uACF5\\uBC31\\uC744 \\uC81C\\uAC70\\uD569\\uB2C8\\uB2E4.\",\"\\uD070 \\uD30C\\uC77C\\uC5D0 \\uB300\\uD55C \\uD2B9\\uC218 \\uCC98\\uB9AC\\uB85C, \\uBA54\\uBAA8\\uB9AC\\uB97C \\uB9CE\\uC774 \\uC0AC\\uC6A9\\uD558\\uB294 \\uD2B9\\uC815 \\uAE30\\uB2A5\\uC744 \\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uB2E8\\uC5B4 \\uAE30\\uBC18 \\uCD94\\uCC9C\\uC744 \\uB055\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uBB38\\uC11C\\uC5D0\\uC11C\\uB9CC \\uB2E8\\uC5B4\\uB97C \\uC81C\\uC548\\uD569\\uB2C8\\uB2E4.\",\"\\uAC19\\uC740 \\uC5B8\\uC5B4\\uC758 \\uBAA8\\uB4E0 \\uC5F4\\uB9B0 \\uBB38\\uC11C\\uC5D0\\uC11C \\uB2E8\\uC5B4\\uB97C \\uC81C\\uC548\\uD569\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB4E0 \\uC5F4\\uB9B0 \\uBB38\\uC11C\\uC5D0\\uC11C \\uB2E8\\uC5B4\\uB97C \\uC81C\\uC548\\uD569\\uB2C8\\uB2E4.\",\"\\uBB38\\uC11C\\uC758 \\uB2E8\\uC5B4\\uB97C \\uAE30\\uC900\\uC73C\\uB85C \\uC644\\uC131\\uB3C4\\uB97C \\uACC4\\uC0B0\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80 \\uBC0F \\uC644\\uC131\\uB3C4\\uAC00 \\uACC4\\uC0B0\\uB418\\uB294 \\uBB38\\uC11C\\uB97C \\uAE30\\uC900\\uC73C\\uB85C \\uACC4\\uC0B0\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB4E0 \\uC0C9 \\uD14C\\uB9C8\\uC5D0 \\uB300\\uD574 \\uC758\\uBBF8 \\uCCB4\\uACC4 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB4E0 \\uC0C9 \\uD14C\\uB9C8\\uC5D0 \\uB300\\uD574 \\uC758\\uBBF8 \\uCCB4\\uACC4 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB97C \\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC758\\uBBF8 \\uCCB4\\uACC4 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB294 \\uD604\\uC7AC \\uC0C9 \\uD14C\\uB9C8\\uC758 `semanticHighlighting` \\uC124\\uC815\\uC5D0 \\uB530\\uB77C \\uAD6C\\uC131\\uB429\\uB2C8\\uB2E4.\",\"semanticHighlighting\\uC774 \\uC9C0\\uC6D0\\uD558\\uB294 \\uC5B8\\uC5B4\\uC5D0 \\uB300\\uD574 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD574\\uB2F9 \\uCF58\\uD150\\uCE20\\uB97C \\uB450 \\uBC88 \\uD074\\uB9AD\\uD558\\uAC70\\uB098 'Esc' \\uD0A4\\uB97C \\uB204\\uB974\\uB354\\uB77C\\uB3C4 Peek \\uD3B8\\uC9D1\\uAE30\\uB97C \\uC5F4\\uB9B0 \\uC0C1\\uD0DC\\uB85C \\uC720\\uC9C0\\uD569\\uB2C8\\uB2E4.\",\"\\uC774 \\uAE38\\uC774\\uB97C \\uCD08\\uACFC\\uD558\\uB294 \\uC904\\uC740 \\uC131\\uB2A5\\uC0C1\\uC758 \\uC774\\uC720\\uB85C \\uD1A0\\uD070\\uD654\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC6F9 \\uC791\\uC5C5\\uC790\\uC5D0\\uC11C \\uD1A0\\uD070\\uD654\\uAC00 \\uBE44\\uB3D9\\uAE30\\uC801\\uC73C\\uB85C \\uC218\\uD589\\uB418\\uC5B4\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBE44\\uB3D9\\uAE30 \\uD1A0\\uD070\\uD654\\uAC00 \\uAE30\\uB85D\\uB418\\uC5B4\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uB514\\uBC84\\uAE45 \\uC804\\uC6A9\\uC785\\uB2C8\\uB2E4.\",\"\\uB808\\uAC70\\uC2DC \\uBC31\\uADF8\\uB77C\\uC6B4\\uB4DC \\uD1A0\\uD070\\uD654\\uC5D0 \\uB300\\uD574 \\uBE44\\uB3D9\\uAE30 \\uD1A0\\uD070\\uD654\\uB97C \\uD655\\uC778\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uD1A0\\uD070\\uD654 \\uC18D\\uB3C4\\uAC00 \\uB290\\uB824\\uC9C8 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4. \\uB514\\uBC84\\uAE45 \\uC804\\uC6A9\\uC785\\uB2C8\\uB2E4.\",\"\\uD2B8\\uB9AC \\uC2DC\\uD130 \\uAD6C\\uBB38 \\uBD84\\uC11D\\uC744 \\uC124\\uC815\\uD558\\uACE0 \\uC6D0\\uACA9 \\uBD84\\uC11D\\uC744 \\uC218\\uC9D1\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uD2B9\\uC815 \\uC5B8\\uC5B4\\uC5D0 \\uB300\\uD574 'editor.experimental.preferTreeSitter'\\uB97C \\uC124\\uC815\\uD558\\uB294 \\uAC83\\uC774 \\uC6B0\\uC120\\uC801\\uC73C\\uB85C \\uC801\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uB298\\uB9AC\\uAC70\\uB098 \\uC904\\uC774\\uB294 \\uB300\\uAD04\\uD638 \\uAE30\\uD638\\uB97C \\uC815\\uC758\\uD569\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB294 \\uB300\\uAD04\\uD638 \\uBB38\\uC790 \\uB610\\uB294 \\uBB38\\uC790\\uC5F4 \\uC2DC\\uD000\\uC2A4\\uC785\\uB2C8\\uB2E4.\",\"\\uB2EB\\uB294 \\uB300\\uAD04\\uD638 \\uBB38\\uC790 \\uB610\\uB294 \\uBB38\\uC790\\uC5F4 \\uC2DC\\uD000\\uC2A4\\uC785\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638 \\uC30D \\uC0C9 \\uC9C0\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uB294 \\uACBD\\uC6B0 \\uC911\\uCCA9 \\uC218\\uC900\\uC5D0 \\uB530\\uB77C \\uC0C9\\uC774 \\uC9C0\\uC815\\uB41C \\uB300\\uAD04\\uD638 \\uC30D\\uC744 \\uC815\\uC758\\uD569\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB294 \\uB300\\uAD04\\uD638 \\uBB38\\uC790 \\uB610\\uB294 \\uBB38\\uC790\\uC5F4 \\uC2DC\\uD000\\uC2A4\\uC785\\uB2C8\\uB2E4.\",\"\\uB2EB\\uB294 \\uB300\\uAD04\\uD638 \\uBB38\\uC790 \\uB610\\uB294 \\uBB38\\uC790\\uC5F4 \\uC2DC\\uD000\\uC2A4\\uC785\\uB2C8\\uB2E4.\",\"diff \\uACC4\\uC0B0\\uC774 \\uCDE8\\uC18C\\uB41C \\uD6C4 \\uBC00\\uB9AC\\uCD08 \\uB2E8\\uC704\\uB85C \\uC2DC\\uAC04\\uC744 \\uC81C\\uD55C\\uD569\\uB2C8\\uB2E4. \\uC81C\\uD55C \\uC2DC\\uAC04\\uC774 \\uC5C6\\uB294 \\uACBD\\uC6B0 0\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uCC28\\uC774\\uB97C \\uACC4\\uC0B0\\uD560 \\uCD5C\\uB300 \\uD30C\\uC77C \\uD06C\\uAE30(MB)\\uC785\\uB2C8\\uB2E4. \\uC81C\\uD55C\\uC774 \\uC5C6\\uC73C\\uBA74 0\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C diff\\uB97C \\uB098\\uB780\\uD788 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC778\\uB77C\\uC778\\uC73C\\uB85C \\uD45C\\uC2DC\\uD560\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30 \\uB108\\uBE44\\uAC00 \\uC774 \\uAC12\\uBCF4\\uB2E4 \\uC791\\uC73C\\uBA74 \\uC778\\uB77C\\uC778 \\uBDF0\\uAC00 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD558\\uACE0 \\uD3B8\\uC9D1\\uAE30 \\uB108\\uBE44\\uAC00 \\uB108\\uBB34 \\uC791\\uC744 \\uACBD\\uC6B0 \\uC778\\uB77C\\uC778 \\uBCF4\\uAE30\\uAC00 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131\\uD654\\uB418\\uBA74 diff \\uD3B8\\uC9D1\\uAE30\\uB294 \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC744 \\uB418\\uB3CC\\uB9AC\\uAE30 \\uC704\\uD574 \\uAE00\\uB9AC\\uD504 \\uC5EC\\uBC31\\uC5D0 \\uD654\\uC0B4\\uD45C\\uB97C \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD558\\uBA74 diff \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uB418\\uB3CC\\uB9AC\\uAE30 \\uBC0F \\uB2E8\\uACC4 \\uC791\\uC5C5\\uC744 \\uC704\\uD55C \\uD2B9\\uC218 \\uC5EC\\uBC31\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD558\\uBA74 Diff \\uD3B8\\uC9D1\\uAE30\\uAC00 \\uC120\\uD589 \\uB610\\uB294 \\uD6C4\\uD589 \\uACF5\\uBC31\\uC758 \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC744 \\uBB34\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uCD94\\uAC00/\\uC81C\\uAC70\\uB41C \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC5D0 \\uB300\\uD574 +/- \\uD45C\\uC2DC\\uAE30\\uB97C \\uD45C\\uC2DC\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C CodeLens\\uB97C \\uD45C\\uC2DC\\uD560 \\uAC83\\uC778\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC904\\uC774 \\uBC14\\uB00C\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBDF0\\uD3EC\\uD2B8 \\uB108\\uBE44\\uC5D0\\uC11C \\uC904\\uC774 \\uBC14\\uB01D\\uB2C8\\uB2E4.\",\"\\uC904\\uC740 {0} \\uC124\\uC815\\uC5D0 \\uB530\\uB77C \\uC904 \\uBC14\\uAFC8\\uB429\\uB2C8\\uB2E4.\",\"\\uB808\\uAC70\\uC2DC \\uBE44\\uAD50 \\uC54C\\uACE0\\uB9AC\\uC998\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uACE0\\uAE09 \\uBE44\\uAD50 \\uC54C\\uACE0\\uB9AC\\uC998\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC601\\uC5ED\\uC774 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC601\\uC5ED\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC904 \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC601\\uC5ED\\uC758 \\uCD5C\\uC18C\\uAC12\\uC73C\\uB85C \\uC0AC\\uC6A9\\uB418\\uB294 \\uC904 \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uC601\\uC5ED\\uC744 \\uBE44\\uAD50\\uD560 \\uB54C \\uCEE8\\uD14D\\uC2A4\\uD2B8\\uB85C \\uC0AC\\uC6A9\\uB418\\uB294 \\uC904 \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uAC10\\uC9C0\\uB41C \\uCF54\\uB4DC \\uC774\\uB3D9\\uC744 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBB38\\uC790\\uAC00 \\uC0BD\\uC785\\uB418\\uAC70\\uB098 \\uC0AD\\uC81C\\uB41C \\uC704\\uCE58\\uB97C \\uBCFC \\uC218 \\uC788\\uB3C4\\uB85D diff \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBE48 \\uC7A5\\uC2DD\\uC801 \\uC694\\uC18C\\uB97C \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD558\\uACE0 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC778\\uB77C\\uC778 \\uBCF4\\uAE30\\uB97C \\uC0AC\\uC6A9\\uD558\\uB294 \\uACBD\\uC6B0 \\uB2E8\\uC5B4 \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC774 \\uC778\\uB77C\\uC778\\uC73C\\uB85C \\uB80C\\uB354\\uB9C1\\uB429\\uB2C8\\uB2E4.\",\"\\uD50C\\uB7AB\\uD3FC API\\uB97C \\uC0AC\\uC6A9\\uD558\\uC5EC \\uD654\\uBA74 \\uC77D\\uAE30 \\uD504\\uB85C\\uADF8\\uB7A8\\uC774 \\uC5F0\\uACB0\\uB41C \\uC2DC\\uAE30\\uB97C \\uAC10\\uC9C0\\uD569\\uB2C8\\uB2E4.\",\"\\uD654\\uBA74 \\uC77D\\uAE30 \\uD504\\uB85C\\uADF8\\uB7A8\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC0AC\\uC6A9\\uC744 \\uCD5C\\uC801\\uD654\\uD569\\uB2C8\\uB2E4.\",\"\\uD654\\uBA74 \\uC77D\\uAE30 \\uD504\\uB85C\\uADF8\\uB7A8\\uC774 \\uC5F0\\uACB0\\uB418\\uC5B4 \\uC788\\uC9C0 \\uC54A\\uB2E4\\uACE0 \\uAC00\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uD654\\uBA74 \\uD310\\uB3C5\\uAE30\\uC5D0 \\uCD5C\\uC801\\uD654\\uB41C \\uBAA8\\uB4DC\\uC5D0\\uC11C UI\\uB97C \\uC2E4\\uD589\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC8FC\\uC11D\\uC744 \\uB2EC \\uB54C \\uACF5\\uBC31 \\uBB38\\uC790\\uB97C \\uC0BD\\uC785\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBE48 \\uC904\\uC744 \\uC904 \\uC8FC\\uC11D\\uC5D0 \\uB300\\uD55C \\uD1A0\\uAE00, \\uCD94\\uAC00 \\uB610\\uB294 \\uC81C\\uAC70 \\uC791\\uC5C5\\uC73C\\uB85C \\uBB34\\uC2DC\\uD574\\uC57C \\uD558\\uB294\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD \\uC601\\uC5ED \\uC5C6\\uC774 \\uD604\\uC7AC \\uC904 \\uBCF5\\uC0AC \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC785\\uB825\\uD558\\uB294 \\uB3D9\\uC548 \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC744 \\uCC3E\\uAE30 \\uC704\\uD55C \\uCEE4\\uC11C \\uC774\\uB3D9 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C \\uAC80\\uC0C9 \\uBB38\\uC790\\uC5F4\\uC744 \\uC2DC\\uB4DC\\uD558\\uC9C0 \\uB9C8\\uC138\\uC694.\",\"\\uCEE4\\uC11C \\uC704\\uCE58\\uC758 \\uB2E8\\uC5B4\\uB97C \\uD3EC\\uD568\\uD558\\uC5EC \\uD56D\\uC0C1 \\uD3B8\\uC9D1\\uAE30 \\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C \\uAC80\\uC0C9 \\uBB38\\uC790\\uC5F4\\uC744 \\uC2DC\\uB4DC\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C\\uB9CC \\uAC80\\uC0C9 \\uBB38\\uC790\\uC5F4\\uC744 \\uC2DC\\uB4DC\\uD558\\uC138\\uC694.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC120\\uD0DD\\uC5D0\\uC11C Find Widget\\uC758 \\uAC80\\uC0C9 \\uBB38\\uC790\\uC5F4\\uC744 \\uC2DC\\uB529\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C \\uCC3E\\uAE30\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uCF1C\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4(\\uAE30\\uBCF8\\uAC12).\",\"\\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C \\uCC3E\\uAE30\\uB97C \\uD56D\\uC0C1 \\uC790\\uB3D9\\uC73C\\uB85C \\uCF2D\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uC904\\uC758 \\uCF58\\uD150\\uCE20\\uB97C \\uC120\\uD0DD\\uD558\\uBA74 \\uC120\\uD0DD \\uD56D\\uBAA9\\uC5D0\\uC11C \\uCC3E\\uAE30\\uAC00 \\uC790\\uB3D9\\uC73C\\uB85C \\uCF1C\\uC9D1\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C \\uCC3E\\uAE30\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uC124\\uC815\\uD558\\uB294 \\uC870\\uAC74\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"macOS\\uC5D0\\uC11C Find Widget\\uC774 \\uACF5\\uC720 \\uD074\\uB9BD\\uBCF4\\uB4DC \\uCC3E\\uAE30\\uB97C \\uC77D\\uC744\\uC9C0 \\uC218\\uC815\\uD560\\uC9C0 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC704\\uC82F \\uCC3E\\uAE30\\uC5D0\\uC11C \\uD3B8\\uC9D1\\uAE30 \\uB9E8 \\uC704\\uC5D0 \\uC904\\uC744 \\uCD94\\uAC00\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. true\\uC778 \\uACBD\\uC6B0 \\uC704\\uC82F \\uCC3E\\uAE30\\uAC00 \\uD45C\\uC2DC\\uB418\\uBA74 \\uCCAB \\uBC88\\uC9F8 \\uC904 \\uC704\\uB85C \\uC2A4\\uD06C\\uB864\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uB354 \\uC774\\uC0C1 \\uC77C\\uCE58\\uD558\\uB294 \\uD56D\\uBAA9\\uC774 \\uC5C6\\uC744 \\uB54C \\uAC80\\uC0C9\\uC744 \\uCC98\\uC74C\\uC774\\uB098 \\uB05D\\uC5D0\\uC11C \\uC790\\uB3D9\\uC73C\\uB85C \\uB2E4\\uC2DC \\uC2DC\\uC791\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uAE00\\uAF34 \\uD569\\uC790('calt' \\uBC0F 'liga' \\uAE00\\uAF34 \\uAE30\\uB2A5)\\uB97C \\uC0AC\\uC6A9\\uD558\\uAC70\\uB098 \\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4. 'font-feature-settings' CSS \\uC18D\\uC131\\uC758 \\uC138\\uBD84\\uD654\\uB41C \\uC81C\\uC5B4\\uB97C \\uC704\\uD574 \\uBB38\\uC790\\uC5F4\\uB85C \\uBCC0\\uACBD\\uD569\\uB2C8\\uB2E4.\",\"\\uBA85\\uC2DC\\uC801 'font-feature-settings' CSS \\uC18D\\uC131\\uC785\\uB2C8\\uB2E4. \\uD569\\uC790\\uB97C \\uCF1C\\uAC70\\uB098 \\uAEBC\\uC57C \\uD558\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uBD80\\uC6B8\\uC744 \\uB300\\uC2E0 \\uC804\\uB2EC\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAE00\\uAF34 \\uD569\\uC790 \\uB610\\uB294 \\uAE00\\uAF34 \\uAE30\\uB2A5\\uC744 \\uAD6C\\uC131\\uD569\\uB2C8\\uB2E4. CSS 'font-feature-settings' \\uC18D\\uC131\\uC758 \\uAC12\\uC5D0 \\uB300\\uD574 \\uD569\\uC790 \\uB610\\uB294 \\uBB38\\uC790\\uC5F4\\uC744 \\uC0AC\\uC6A9\\uD558\\uAC70\\uB098 \\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC124\\uC815\\uD558\\uAE30 \\uC704\\uD55C \\uBD80\\uC6B8\\uC77C \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"font-weight\\uC5D0\\uC11C font-variation-settings\\uB85C \\uBCC0\\uD658\\uC744 \\uC0AC\\uC6A9/\\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. 'font-variation-settings' CSS \\uC18D\\uC131\\uC758 \\uC138\\uBD84\\uD654\\uB41C \\uCEE8\\uD2B8\\uB864\\uC744 \\uC704\\uD574 \\uC774\\uB97C \\uBB38\\uC790\\uC5F4\\uB85C \\uBCC0\\uACBD\\uD569\\uB2C8\\uB2E4.\",\"\\uBA85\\uC2DC\\uC801 'font-variation-settings' CSS \\uC18D\\uC131\\uC785\\uB2C8\\uB2E4. font-weight\\uB9CC font-variation-settings\\uB85C \\uBCC0\\uD658\\uD574\\uC57C \\uD558\\uB294 \\uACBD\\uC6B0 \\uBD80\\uC6B8\\uC744 \\uB300\\uC2E0 \\uC804\\uB2EC\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAE00\\uAF34 \\uBCC0\\uD615\\uC744 \\uAD6C\\uC131\\uD569\\uB2C8\\uB2E4. font-weight\\uC5D0\\uC11C font-variation-settings\\uB85C \\uBCC0\\uD658\\uC744 \\uC0AC\\uC6A9/\\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC124\\uC815\\uD558\\uB294 \\uBD80\\uC6B8\\uC774\\uAC70\\uB098 CSS 'font-variation-settings' \\uC18D\\uC131 \\uAC12\\uC5D0 \\uB300\\uD55C \\uBB38\\uC790\\uC5F4\\uC77C \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAE00\\uAF34 \\uD06C\\uAE30(\\uD53D\\uC140)\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",'\"\\uD45C\\uC900\" \\uBC0F \"\\uAD75\\uAC8C\" \\uD0A4\\uC6CC\\uB4DC \\uB610\\uB294 1~1000 \\uC0AC\\uC774\\uC758 \\uC22B\\uC790\\uB9CC \\uD5C8\\uC6A9\\uB429\\uB2C8\\uB2E4.','\\uAE00\\uAF34 \\uB450\\uAED8\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \"\\uD45C\\uC900\" \\uBC0F \"\\uAD75\\uAC8C\" \\uD0A4\\uC6CC\\uB4DC \\uB610\\uB294 1~1000 \\uC0AC\\uC774\\uC758 \\uC22B\\uC790\\uB97C \\uD5C8\\uC6A9\\uD569\\uB2C8\\uB2E4.',\"\\uACB0\\uACFC\\uC758 Peek \\uBCF4\\uAE30 \\uD45C\\uC2DC(\\uAE30\\uBCF8\\uAC12)\",\"\\uAE30\\uBCF8 \\uACB0\\uACFC\\uB85C \\uC774\\uB3D9\\uD558\\uC5EC Peek \\uBCF4\\uAE30\\uB97C \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uAE30\\uBCF8 \\uACB0\\uACFC\\uB85C \\uC774\\uB3D9\\uD558\\uC5EC \\uB2E4\\uB978 \\uD56D\\uBAA9\\uC5D0 \\uB300\\uD574 Peek \\uC5C6\\uB294 \\uD0D0\\uC0C9\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uC774 \\uC124\\uC815\\uC740 \\uB354 \\uC774\\uC0C1 \\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uB300\\uC2E0 'editor.editor.gotoLocation.multipleDefinitions' \\uB610\\uB294 'editor.editor.gotoLocation.multipleImplementations'\\uC640 \\uAC19\\uC740 \\uBCC4\\uB3C4\\uC758 \\uC124\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"\\uC5EC\\uB7EC \\uB300\\uC0C1 \\uC704\\uCE58\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 '\\uC815\\uC758\\uB85C \\uC774\\uB3D9' \\uBA85\\uB839 \\uB3D9\\uC791\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uB300\\uC0C1 \\uC704\\uCE58\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 '\\uC720\\uD615 \\uC815\\uC758\\uB85C \\uC774\\uB3D9' \\uBA85\\uB839 \\uB3D9\\uC791\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uB300\\uC0C1 \\uC704\\uCE58\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 'Go to Declaration' \\uBA85\\uB839 \\uB3D9\\uC791\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uB300\\uC0C1 \\uC704\\uCE58\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 '\\uAD6C\\uD604\\uC73C\\uB85C \\uC774\\uB3D9' \\uBA85\\uB839 \\uB3D9\\uC791\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uB300\\uC0C1 \\uC704\\uCE58\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 '\\uCC38\\uC870\\uB85C \\uC774\\uB3D9' \\uBA85\\uB839 \\uB3D9\\uC791\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"'\\uC815\\uC758\\uB85C \\uC774\\uB3D9'\\uC758 \\uACB0\\uACFC\\uAC00 \\uD604\\uC7AC \\uC704\\uCE58\\uC77C \\uB54C \\uC2E4\\uD589\\uB418\\uB294 \\uB300\\uCCB4 \\uBA85\\uB839 ID\\uC785\\uB2C8\\uB2E4.\",\"'\\uD615\\uC2DD \\uC815\\uC758\\uB85C \\uC774\\uB3D9'\\uC758 \\uACB0\\uACFC\\uAC00 \\uD604\\uC7AC \\uC704\\uCE58\\uC77C \\uB54C \\uC2E4\\uD589\\uB418\\uB294 \\uB300\\uCCB4 \\uBA85\\uB839 ID\\uC785\\uB2C8\\uB2E4.\",\"'\\uC120\\uC5B8\\uC73C\\uB85C \\uC774\\uB3D9'\\uC758 \\uACB0\\uACFC\\uAC00 \\uD604\\uC7AC \\uC704\\uCE58\\uC77C \\uB54C \\uC2E4\\uD589\\uB418\\uB294 \\uB300\\uCCB4 \\uBA85\\uB839 ID\\uC785\\uB2C8\\uB2E4.\",\"'\\uAD6C\\uD604\\uC73C\\uB85C \\uC774\\uB3D9'\\uC758 \\uACB0\\uACFC\\uAC00 \\uD604\\uC7AC \\uC704\\uCE58\\uC77C \\uB54C \\uC2E4\\uD589\\uB418\\uB294 \\uB300\\uCCB4 \\uBA85\\uB839 ID\\uC785\\uB2C8\\uB2E4.\",\"'\\uCC38\\uC870\\uB85C \\uC774\\uB3D9'\\uC758 \\uACB0\\uACFC\\uAC00 \\uD604\\uC7AC \\uC704\\uCE58\\uC77C \\uB54C \\uC2E4\\uD589\\uB418\\uB294 \\uB300\\uCCB4 \\uBA85\\uB839 ID\\uC785\\uB2C8\\uB2E4.\",\"\\uD638\\uBC84 \\uD45C\\uC2DC \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD638\\uBC84\\uAC00 \\uD45C\\uC2DC\\uB418\\uAE30 \\uC804\\uAE4C\\uC9C0\\uC758 \\uC9C0\\uC5F0 \\uC2DC\\uAC04(\\uBC00\\uB9AC\\uCD08)\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB97C \\uD574\\uB2F9 \\uD56D\\uBAA9 \\uC704\\uB85C \\uC774\\uB3D9\\uD560 \\uB54C \\uD638\\uBC84\\uB97C \\uACC4\\uC18D \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD638\\uBC84\\uAC00 \\uC228\\uACA8\\uC9C0\\uAE30 \\uC804\\uAE4C\\uC9C0\\uC758 \\uC9C0\\uC5F0 \\uC2DC\\uAC04(\\uBC00\\uB9AC\\uCD08)\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. 'editor.hover.sticky'\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uACF5\\uBC31\\uC774 \\uC788\\uB294 \\uACBD\\uC6B0 \\uC120 \\uC704\\uC5D0 \\uB9C8\\uC6B0\\uC2A4\\uB97C \\uAC00\\uC838\\uAC00\\uB294 \\uAC83\\uC744 \\uD45C\\uC2DC\\uD558\\uB294 \\uAC83\\uC744 \\uC120\\uD638\\uD569\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB4E0 \\uBB38\\uC790\\uAC00 \\uB3D9\\uC77C\\uD55C \\uB108\\uBE44\\uB77C\\uACE0 \\uAC00\\uC815\\uD569\\uB2C8\\uB2E4. \\uC774 \\uC54C\\uACE0\\uB9AC\\uC998\\uC740 \\uACE0\\uC815 \\uD3ED \\uAE00\\uAF34\\uACFC \\uBB38\\uC790 \\uBAA8\\uC591\\uC758 \\uB108\\uBE44\\uAC00 \\uAC19\\uC740 \\uD2B9\\uC815 \\uC2A4\\uD06C\\uB9BD\\uD2B8(\\uC608: \\uB77C\\uD2F4 \\uBB38\\uC790)\\uC5D0 \\uC801\\uC808\\uD788 \\uC791\\uB3D9\\uD558\\uB294 \\uBE60\\uB978 \\uC54C\\uACE0\\uB9AC\\uC998\\uC785\\uB2C8\\uB2E4.\",\"\\uB798\\uD551 \\uC810 \\uACC4\\uC0B0\\uC744 \\uBE0C\\uB77C\\uC6B0\\uC800\\uC5D0 \\uC704\\uC784\\uD569\\uB2C8\\uB2E4. \\uC774 \\uC54C\\uACE0\\uB9AC\\uC998\\uC740 \\uB9E4\\uC6B0 \\uB290\\uB824\\uC11C \\uB300\\uC6A9\\uB7C9 \\uD30C\\uC77C\\uC758 \\uACBD\\uC6B0 \\uC911\\uB2E8\\uB420 \\uC218 \\uC788\\uC9C0\\uB9CC \\uBAA8\\uB4E0 \\uACBD\\uC6B0\\uC5D0 \\uC801\\uC808\\uD788 \\uC791\\uB3D9\\uD569\\uB2C8\\uB2E4.\",\"\\uB798\\uD551 \\uC9C0\\uC810\\uC744 \\uACC4\\uC0B0\\uD558\\uB294 \\uC54C\\uACE0\\uB9AC\\uC998\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC811\\uADFC\\uC131 \\uBAA8\\uB4DC\\uC5D0\\uC11C\\uB294 \\uCD5C\\uC0C1\\uC758 \\uD658\\uACBD\\uC744 \\uC704\\uD574 \\uACE0\\uAE09 \\uAE30\\uB2A5\\uC774 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC791\\uC5C5 \\uBA54\\uB274\\uB97C \\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C\\uAC00 \\uCF54\\uB4DC\\uAC00 \\uC788\\uB294 \\uC904\\uC5D0 \\uC788\\uC744 \\uB54C \\uCF54\\uB4DC \\uB3D9\\uC791 \\uBA54\\uB274\\uB97C \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C\\uAC00 \\uCF54\\uB4DC\\uAC00 \\uC788\\uB294 \\uC904 \\uB610\\uB294 \\uBE48 \\uC904\\uC5D0 \\uC788\\uB294 \\uACBD\\uC6B0 \\uCF54\\uB4DC \\uB3D9\\uC791 \\uBA54\\uB274\\uB97C \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uCF54\\uB4DC \\uB3D9\\uC791 \\uC804\\uAD6C\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC704\\uCABD\\uC5D0\\uC11C \\uC2A4\\uD06C\\uB864\\uD558\\uB294 \\uB3D9\\uC548 \\uC911\\uCCA9\\uB41C \\uD604\\uC7AC \\uBC94\\uC704\\uB97C \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uD45C\\uC2DC\\uD560 \\uCD5C\\uB300 \\uACE0\\uC815 \\uC120 \\uC218\\uB97C \\uC815\\uC758\\uD569\\uB2C8\\uB2E4.\",\"\\uACE0\\uC815\\uD560 \\uC904\\uC744 \\uACB0\\uC815\\uD558\\uB294 \\uB370 \\uC0AC\\uC6A9\\uD560 \\uBAA8\\uB378\\uC744 \\uC815\\uC758\\uD569\\uB2C8\\uB2E4. \\uAC1C\\uC694 \\uBAA8\\uB378\\uC774 \\uC5C6\\uC73C\\uBA74 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uBAA8\\uB378\\uC5D0 \\uD574\\uB2F9\\uD558\\uB294 \\uC811\\uAE30 \\uACF5\\uAE09\\uC790 \\uBAA8\\uB378\\uC5D0\\uC11C \\uB300\\uCCB4\\uB429\\uB2C8\\uB2E4. \\uC774 \\uC21C\\uC11C\\uB294 \\uC138 \\uAC00\\uC9C0 \\uACBD\\uC6B0 \\uBAA8\\uB450 \\uC801\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC758 \\uAC00\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uB97C \\uC0AC\\uC6A9\\uD558\\uC5EC \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864 \\uC2A4\\uD06C\\uB864\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC778\\uB808\\uC774 \\uD78C\\uD2B8\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB808\\uC774 \\uD78C\\uD2B8\\uB97C \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uC74C\",\"\\uC778\\uB808\\uC774 \\uD78C\\uD2B8\\uB294 \\uAE30\\uBCF8\\uC801\\uC73C\\uB85C \\uD45C\\uC2DC\\uB418\\uACE0 {0}\\uC744(\\uB97C) \\uAE38\\uAC8C \\uB204\\uB97C \\uB54C \\uC228\\uACA8\\uC9D1\\uB2C8\\uB2E4.\",\"\\uC778\\uB808\\uC774 \\uD78C\\uD2B8\\uB294 \\uAE30\\uBCF8\\uAC12\\uC73C\\uB85C \\uC228\\uACA8\\uC838 \\uC788\\uC73C\\uBA70 {0}\\uC744(\\uB97C) \\uAE38\\uAC8C \\uB204\\uB974\\uBA74 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC778\\uB808\\uC774 \\uD78C\\uD2B8\\uB294 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC778\\uB808\\uC774 \\uD78C\\uD2B8\\uC758 \\uAE00\\uAF34 \\uD06C\\uAE30\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uAE30\\uBCF8\\uC801\\uC73C\\uB85C {0}\\uC740(\\uB294) \\uAD6C\\uC131\\uB41C \\uAC12\\uC774 {1}\\uBCF4\\uB2E4 \\uC791\\uAC70\\uB098 \\uD3B8\\uC9D1\\uAE30 \\uAE00\\uAF34 \\uD06C\\uAE30\\uBCF4\\uB2E4 \\uD070 \\uACBD\\uC6B0\\uC5D0 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC778\\uB808\\uC774 \\uD78C\\uD2B8\\uC758 \\uAE00\\uAF34 \\uD328\\uBC00\\uB9AC\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uBE44\\uC6CC \\uB450\\uBA74 {0}\\uC774(\\uAC00) \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC778\\uB808\\uC774 \\uD78C\\uD2B8 \\uC8FC\\uC704\\uC758 \\uD328\\uB529\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",`\\uC120 \\uB192\\uC774\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\r\n - 0\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uAE00\\uAF34 \\uD06C\\uAE30\\uC5D0\\uC11C \\uC904 \\uB192\\uC774\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uACC4\\uC0B0\\uD569\\uB2C8\\uB2E4.\\r\n - 0\\uC5D0\\uC11C 8 \\uC0AC\\uC774\\uC758 \\uAC12\\uC740 \\uAE00\\uAF34 \\uD06C\\uAE30\\uC758 \\uC2B9\\uC218\\uB85C \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\\r\n - 8\\uBCF4\\uB2E4 \\uD06C\\uAC70\\uB098 \\uAC19\\uC740 \\uAC12\\uC774 \\uC720\\uD6A8 \\uAC12\\uC73C\\uB85C \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.`,\"\\uBBF8\\uB2C8\\uB9F5 \\uD45C\\uC2DC \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB2C8\\uB9F5\\uC744 \\uC790\\uB3D9\\uC73C\\uB85C \\uC228\\uAE38\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB2C8\\uB9F5\\uC758 \\uD06C\\uAE30\\uB294 \\uD3B8\\uC9D1\\uAE30 \\uB0B4\\uC6A9\\uACFC \\uB3D9\\uC77C\\uD558\\uBA70 \\uC2A4\\uD06C\\uB864\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC758 \\uB192\\uC774\\uB97C \\uB9DE\\uCD94\\uAE30 \\uC704\\uD574 \\uD544\\uC694\\uC5D0 \\uB530\\uB77C \\uBBF8\\uB2C8\\uB9F5\\uC774 \\uD655\\uC7A5\\uB418\\uAC70\\uB098 \\uCD95\\uC18C\\uB429\\uB2C8\\uB2E4(\\uC2A4\\uD06C\\uB864 \\uC5C6\\uC74C).\",\"\\uBBF8\\uB2C8\\uB9F5\\uC744 \\uD3B8\\uC9D1\\uAE30\\uBCF4\\uB2E4 \\uC791\\uAC8C \\uC720\\uC9C0\\uD560 \\uC218 \\uC788\\uB3C4\\uB85D \\uD544\\uC694\\uC5D0 \\uB530\\uB77C \\uBBF8\\uB2C8\\uB9F5\\uC774 \\uCD95\\uC18C\\uB429\\uB2C8\\uB2E4(\\uC2A4\\uD06C\\uB864 \\uC5C6\\uC74C).\",\"\\uBBF8\\uB2C8\\uB9F5\\uC758 \\uD06C\\uAE30\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB2C8\\uB9F5\\uC744 \\uB80C\\uB354\\uB9C1\\uD560 \\uCE21\\uBA74\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB2C8\\uB9F5 \\uC2AC\\uB77C\\uC774\\uB354\\uAC00 \\uD45C\\uC2DC\\uB418\\uB294 \\uC2DC\\uAE30\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB2C8\\uB9F5\\uC5D0 \\uADF8\\uB824\\uC9C4 \\uCF58\\uD150\\uCE20\\uC758 \\uBC30\\uC728: 1, 2 \\uB610\\uB294 3.\",\"\\uC904\\uC758 \\uC2E4\\uC81C \\uBB38\\uC790(\\uC0C9 \\uBE14\\uB85D \\uC544\\uB2D8)\\uB97C \\uB80C\\uB354\\uB9C1\\uD569\\uB2C8\\uB2E4.\",\"\\uCD5C\\uB300 \\uD2B9\\uC815 \\uC218\\uC758 \\uC5F4\\uC744 \\uB80C\\uB354\\uB9C1\\uD558\\uB3C4\\uB85D \\uBBF8\\uB2C8\\uB9F5\\uC758 \\uB108\\uBE44\\uB97C \\uC81C\\uD55C\\uD569\\uB2C8\\uB2E4.\",\"\\uBA85\\uBA85\\uB41C \\uC601\\uC5ED\\uC744 \\uBBF8\\uB2C8\\uB9F5\\uC5D0 \\uC139\\uC158 \\uBA38\\uB9AC\\uAE00\\uB85C \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"MARK: \\uC8FC\\uC11D\\uC774 \\uBBF8\\uB2C8\\uB9F5\\uC5D0 \\uC139\\uC158 \\uBA38\\uB9AC\\uAE00\\uB85C \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB2C8\\uB9F5\\uC5D0\\uC11C \\uC139\\uC158 \\uBA38\\uB9AC\\uAE00\\uC758 \\uAE00\\uAF34 \\uD06C\\uAE30\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uAD6C\\uC5ED \\uBA38\\uB9AC\\uAE00 \\uBB38\\uC790 \\uC0AC\\uC774\\uC758 \\uAC04\\uACA9(\\uD53D\\uC140)\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC774\\uB807\\uAC8C \\uD558\\uBA74 \\uC791\\uC740 \\uAE00\\uAF34 \\uD06C\\uAE30\\uC758 \\uBA38\\uB9AC\\uAE00 \\uAC00\\uB3C5\\uC131\\uC744 \\uB192\\uC774\\uB294 \\uB370 \\uB3C4\\uC6C0\\uC774 \\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC758 \\uC704\\uCABD \\uAC00\\uC7A5\\uC790\\uB9AC\\uC640 \\uCCAB \\uBC88\\uC9F8 \\uC904 \\uC0AC\\uC774\\uC758 \\uACF5\\uBC31\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC758 \\uC544\\uB798\\uCABD \\uAC00\\uC7A5\\uC790\\uB9AC\\uC640 \\uB9C8\\uC9C0\\uB9C9 \\uC904 \\uC0AC\\uC774\\uC758 \\uACF5\\uBC31\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC785\\uB825\\uACFC \\uB3D9\\uC2DC\\uC5D0 \\uB9E4\\uAC1C\\uBCC0\\uC218 \\uBB38\\uC11C\\uC640 \\uC720\\uD615 \\uC815\\uBCF4\\uB97C \\uD45C\\uC2DC\\uD558\\uB294 \\uD31D\\uC5C5\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uB9E4\\uAC1C\\uBCC0\\uC218 \\uD78C\\uD2B8 \\uBA54\\uB274\\uC758 \\uC8FC\\uAE30 \\uD639\\uC740 \\uBAA9\\uB85D\\uC758 \\uB05D\\uC5D0 \\uB3C4\\uB2EC\\uD558\\uC600\\uC744\\uB54C \\uC885\\uB8CC\\uD560 \\uAC83\\uC778\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uACB0\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC704\\uC82F \\uB0B4\\uBD80\\uC5D0 \\uBE60\\uB978 \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC81C\\uC548\\uC774 \\uC720\\uB839 \\uD14D\\uC2A4\\uD2B8\\uB85C \\uD45C\\uC2DC\\uB428\",\"\\uBE60\\uB978 \\uC81C\\uC548\\uC774 \\uC0AC\\uC6A9 \\uC911\\uC9C0\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBB38\\uC790\\uC5F4 \\uB0B4\\uC5D0\\uC11C \\uBE60\\uB978 \\uC81C\\uC548\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uC8FC\\uC11D \\uB0B4\\uC5D0\\uC11C \\uBE60\\uB978 \\uC81C\\uC548\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uBB38\\uC790\\uC5F4 \\uBC0F \\uC8FC\\uC11D \\uC678\\uBD80\\uC5D0\\uC11C \\uBE60\\uB978 \\uC81C\\uC548\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uC785\\uB825\\uD558\\uB294 \\uB3D9\\uC548 \\uC81C\\uC548\\uC744 \\uC790\\uB3D9\\uC73C\\uB85C \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC774\\uAC83\\uC740 \\uC8FC\\uC11D, \\uBB38\\uC790\\uC5F4 \\uBC0F \\uAE30\\uD0C0 \\uCF54\\uB4DC\\uB97C \\uC785\\uB825\\uD558\\uAE30 \\uC704\\uD574 \\uC81C\\uC5B4\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4. \\uBE60\\uB978 \\uC81C\\uC548\\uC740 \\uACE0\\uC2A4\\uD2B8 \\uD14D\\uC2A4\\uD2B8 \\uB610\\uB294 \\uC81C\\uC548 \\uC704\\uC82F\\uC73C\\uB85C \\uD45C\\uC2DC\\uD558\\uB3C4\\uB85D \\uAD6C\\uC131\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4. \\uB610\\uD55C \\uC81C\\uC548\\uC774 \\uD2B9\\uC218 \\uBB38\\uC790\\uC5D0 \\uC758\\uD574 \\uC2E4\\uD589\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD558\\uB294 {0}-\\uC124\\uC815\\uC5D0 \\uC720\\uC758\\uD558\\uC138\\uC694.\",\"\\uC904 \\uBC88\\uD638\\uB294 \\uB80C\\uB354\\uB9C1\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC88\\uD638\\uB294 \\uC808\\uB300\\uAC12\\uC73C\\uB85C \\uB80C\\uB354\\uB9C1 \\uB429\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC88\\uD638\\uB294 \\uCEE4\\uC11C \\uC704\\uCE58\\uC5D0\\uC11C \\uC904 \\uAC04\\uACA9 \\uAC70\\uB9AC\\uB85C \\uB80C\\uB354\\uB9C1 \\uB429\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC88\\uD638\\uB294 \\uB9E4 10 \\uC904\\uB9C8\\uB2E4 \\uB80C\\uB354\\uB9C1\\uC774 \\uC774\\uB8E8\\uC5B4\\uC9D1\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC88\\uD638\\uC758 \\uD45C\\uC2DC \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC774 \\uD3B8\\uC9D1\\uAE30 \\uB208\\uAE08\\uC790\\uC5D0\\uC11C \\uB80C\\uB354\\uB9C1\\uD560 \\uACE0\\uC815 \\uD3ED \\uBB38\\uC790 \\uC218\\uC785\\uB2C8\\uB2E4.\",\"\\uC774 \\uD3B8\\uC9D1\\uAE30 \\uB208\\uAE08\\uC790\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD2B9\\uC815 \\uC218\\uC758 \\uACE0\\uC815 \\uD3ED \\uBB38\\uC790 \\uB4A4\\uC5D0 \\uC138\\uB85C \\uB208\\uAE08\\uC790\\uB97C \\uB80C\\uB354\\uB9C1\\uD569\\uB2C8\\uB2E4. \\uC5EC\\uB7EC \\uB208\\uAE08\\uC790\\uC758 \\uACBD\\uC6B0 \\uC5EC\\uB7EC \\uAC12\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4. \\uBC30\\uC5F4\\uC774 \\uBE44\\uC5B4 \\uC788\\uB294 \\uACBD\\uC6B0 \\uB208\\uAE08\\uC790\\uAC00 \\uADF8\\uB824\\uC9C0\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC138\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uB294 \\uD544\\uC694\\uD55C \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC138\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uAC00 \\uD56D\\uC0C1 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC138\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uB97C \\uD56D\\uC0C1 \\uC228\\uAE41\\uB2C8\\uB2E4.\",\"\\uC138\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uC758 \\uD45C\\uC2DC \\uC720\\uD615\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uAC00\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uB294 \\uD544\\uC694\\uD55C \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uAC00\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uAC00 \\uD56D\\uC0C1 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uAC00\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uB97C \\uD56D\\uC0C1 \\uC228\\uAE41\\uB2C8\\uB2E4.\",\"\\uAC00\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uC758 \\uD45C\\uC2DC \\uC720\\uD615\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC138\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uC758 \\uB108\\uBE44\\uC785\\uB2C8\\uB2E4.\",\"\\uAC00\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uC758 \\uB192\\uC774\\uC785\\uB2C8\\uB2E4.\",\"\\uD074\\uB9AD\\uC774 \\uD398\\uC774\\uC9C0\\uBCC4\\uB85C \\uC2A4\\uD06C\\uB864\\uB418\\uB294\\uC9C0 \\uB610\\uB294 \\uD074\\uB9AD \\uC704\\uCE58\\uB85C \\uC774\\uB3D9\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC124\\uC815\\uD558\\uBA74 \\uAC00\\uB85C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300\\uAC00 \\uD3B8\\uC9D1\\uAE30 \\uCF58\\uD150\\uCE20\\uC758 \\uD06C\\uAE30\\uB97C \\uB298\\uB9AC\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAE30\\uBCF8\\uC774 \\uC544\\uB2CC \\uBAA8\\uB4E0 ASCII \\uBB38\\uC790\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. U+0020\\uACFC U+007E \\uC0AC\\uC774\\uC758 \\uBB38\\uC790, \\uD0ED, \\uC904 \\uBC14\\uAFC8 \\uBC0F \\uCE90\\uB9AC\\uC9C0 \\uB9AC\\uD134\\uB9CC \\uAE30\\uBCF8 ASCII\\uB85C \\uAC04\\uC8FC\\uB429\\uB2C8\\uB2E4.\",\"\\uACF5\\uBC31\\uB9CC \\uC608\\uC57D\\uD558\\uAC70\\uB098 \\uB108\\uBE44\\uAC00 \\uC804\\uD600 \\uC5C6\\uB294 \\uBB38\\uC790\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uC0AC\\uC6A9\\uC790 \\uB85C\\uCE98\\uC5D0\\uC11C \\uACF5\\uD1B5\\uB418\\uB294 \\uBB38\\uC790\\uB97C \\uC81C\\uC678\\uD55C \\uAE30\\uBCF8 ASCII \\uBB38\\uC790\\uC640 \\uD63C\\uB3D9\\uD560 \\uC218 \\uC788\\uB294 \\uBB38\\uC790\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC8FC\\uC11D\\uC758 \\uBB38\\uC790\\uC5D0\\uB3C4 \\uC720\\uB2C8\\uCF54\\uB4DC \\uAC15\\uC870 \\uD45C\\uC2DC\\uB97C \\uC801\\uC6A9\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBB38\\uC790\\uC5F4\\uC758 \\uBB38\\uC790\\uC5D0\\uB3C4 \\uC720\\uB2C8\\uCF54\\uB4DC \\uAC15\\uC870 \\uD45C\\uC2DC\\uB97C \\uC801\\uC6A9\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uAC15\\uC870 \\uD45C\\uC2DC\\uB418\\uC9C0 \\uC54A\\uB294 \\uD5C8\\uC6A9\\uB41C \\uBB38\\uC790\\uB97C \\uC815\\uC758\\uD569\\uB2C8\\uB2E4.\",\"\\uD5C8\\uC6A9\\uB41C \\uB85C\\uCE98\\uC5D0\\uC11C \\uACF5\\uD1B5\\uC801\\uC778 \\uC720\\uB2C8\\uCF54\\uB4DC \\uBB38\\uC790\\uB294 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC744 \\uC790\\uB3D9\\uC73C\\uB85C \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uCD94\\uCC9C\\uC744 \\uD45C\\uC2DC\\uD790 \\uB54C\\uB9C8\\uB2E4 \\uC778\\uB77C\\uC778 \\uCD94\\uCC9C \\uB3C4\\uAD6C \\uBAA8\\uC74C\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uCD94\\uCC9C\\uC744 \\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0A4\\uBA74 \\uC778\\uB77C\\uC778 \\uCD94\\uCC9C \\uB3C4\\uAD6C \\uBAA8\\uC74C\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uCD94\\uCC9C \\uB3C4\\uAD6C \\uBAA8\\uC74C\\uC744 \\uD45C\\uC2DC\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uCD94\\uCC9C \\uB3C4\\uAD6C \\uBAA8\\uC74C\\uC744 \\uD45C\\uC2DC\\uD560 \\uC2DC\\uAE30\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC774 \\uC81C\\uC548 \\uC704\\uC82F\\uACFC \\uC0C1\\uD638 \\uC791\\uC6A9\\uD558\\uB294 \\uBC29\\uBC95\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD558\\uBA74 \\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uC744 \\uB54C \\uC81C\\uC548 \\uC704\\uC82F\\uC774 \\uC790\\uB3D9\\uC73C\\uB85C \\uD45C\\uC2DC\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC758 \\uAE00\\uAF34 \\uD328\\uBC00\\uB9AC\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",null,null,null,null,null,null,\"\\uB300\\uAD04\\uD638 \\uC30D \\uC0C9 \\uC9C0\\uC815\\uC744 \\uC0AC\\uC6A9\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. {0}\\uC744(\\uB97C) \\uC0AC\\uC6A9\\uD558\\uC5EC \\uB300\\uAD04\\uD638 \\uAC15\\uC870 \\uC0C9\\uC744 \\uC7AC\\uC815\\uC758\\uD569\\uB2C8\\uB2E4.\",\"\\uAC01 \\uB300\\uAD04\\uD638 \\uD615\\uC2DD\\uC5D0 \\uACE0\\uC720\\uD55C \\uB3C5\\uB9BD\\uC801\\uC778 \\uC0C9 \\uD480\\uC774 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638 \\uC30D \\uAC00\\uC774\\uB4DC\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D\\uC5D0 \\uB300\\uD574\\uC11C\\uB9CC \\uB300\\uAD04\\uD638 \\uC30D \\uAC00\\uC774\\uB4DC\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638 \\uC30D \\uAC00\\uC774\\uB4DC\\uB97C \\uBE44\\uD65C\\uC131\\uD654\\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uC0AC\\uC6A9 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC218\\uC9C1 \\uB300\\uAD04\\uD638 \\uC30D \\uAC00\\uC774\\uB4DC\\uC5D0 \\uCD94\\uAC00\\uD558\\uC5EC \\uC218\\uD3C9 \\uAC00\\uC774\\uB4DC\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D\\uC5D0 \\uB300\\uD574\\uC11C\\uB9CC \\uC218\\uD3C9 \\uAC00\\uC774\\uB4DC\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uC218\\uD3C9 \\uB300\\uAD04\\uD638 \\uC30D \\uAC00\\uC774\\uB4DC\\uB97C \\uBE44\\uD65C\\uC131\\uD654\\uD569\\uB2C8\\uB2E4.\",\"\\uAC00\\uB85C \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uC0AC\\uC6A9 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uAC00 \\uD65C\\uC131 \\uBE0C\\uB798\\uD0B7 \\uC30D\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uAC00\\uC774\\uB4DC\\uB97C \\uB80C\\uB354\\uB9C1\\uD560\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uBE0C\\uB798\\uD0B7 \\uC548\\uB0B4\\uC120\\uC774 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB41C \\uACBD\\uC6B0\\uC5D0\\uB3C4 \\uD65C\\uC131 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD558\\uC9C0 \\uB9C8\\uC138\\uC694.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uD65C\\uC131 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uAC00\\uC774\\uB4DC\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C\\uC758 \\uD14D\\uC2A4\\uD2B8 \\uC624\\uB978\\uCABD\\uC744 \\uB36E\\uC5B4 \\uC4F0\\uC9C0\\uC54A\\uACE0 \\uC81C\\uC548\\uC744 \\uC0BD\\uC785\\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548\\uC744 \\uC0BD\\uC785\\uD558\\uACE0 \\uCEE4\\uC11C\\uC758 \\uC624\\uB978\\uCABD \\uD14D\\uC2A4\\uD2B8\\uB97C \\uB36E\\uC5B4\\uC501\\uB2C8\\uB2E4.\",\"\\uC644\\uB8CC\\uB97C \\uC218\\uB77D\\uD560 \\uB54C \\uB2E8\\uC5B4\\uB97C \\uB36E\\uC5B4\\uC4F8\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC774\\uAC83\\uC740 \\uC774 \\uAE30\\uB2A5\\uC744 \\uC120\\uD0DD\\uD558\\uB294 \\uD655\\uC7A5\\uC5D0 \\uB530\\uB77C \\uB2E4\\uB985\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uD544\\uD130\\uB9C1 \\uBC0F \\uC815\\uB82C\\uC5D0\\uC11C \\uC791\\uC740 \\uC624\\uD0C0\\uB97C \\uC124\\uBA85\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC815\\uB82C\\uD560 \\uB54C \\uCEE4\\uC11C \\uADFC\\uCC98\\uC5D0 \\uD45C\\uC2DC\\uB418\\uB294 \\uB2E8\\uC5B4\\uB97C \\uC6B0\\uC120\\uD560\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC800\\uC7A5\\uB41C \\uC81C\\uC548 \\uC0AC\\uD56D \\uC120\\uD0DD \\uD56D\\uBAA9\\uC744 \\uC5EC\\uB7EC \\uC791\\uC5C5 \\uC601\\uC5ED \\uBC0F \\uCC3D\\uC5D0\\uC11C \\uACF5\\uC720\\uD560 \\uAC83\\uC778\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4(`#editor.suggestSelection#` \\uD544\\uC694).\",\"IntelliSense\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uD2B8\\uB9AC\\uAC70\\uD560 \\uB54C \\uD56D\\uC0C1 \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD569\\uB2C8\\uB2E4.\",\"IntelliSense\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uD2B8\\uB9AC\\uAC70\\uD560 \\uB54C \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD558\\uC9C0 \\uB9C8\\uC138\\uC694.\",\"\\uD2B8\\uB9AC\\uAC70 \\uBB38\\uC790\\uC5D0\\uC11C IntelliSense\\uB97C \\uD2B8\\uB9AC\\uAC70\\uD560 \\uB54C\\uB9CC \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD569\\uB2C8\\uB2E4.\",\"\\uC785\\uB825\\uD560 \\uB54C IntelliSense\\uB97C \\uD2B8\\uB9AC\\uAC70\\uD560 \\uB54C\\uB9CC \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD569\\uB2C8\\uB2E4.\",\"\\uC704\\uC82F\\uC774 \\uD45C\\uC2DC\\uB420 \\uB54C \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC774\\uB294 \\uC790\\uB3D9\\uC73C\\uB85C \\uD2B8\\uB9AC\\uAC70\\uB41C \\uC81C\\uC548({0} \\uBC0F {1})\\uC5D0\\uB9CC \\uC801\\uC6A9\\uB418\\uBA70, \\uC81C\\uC548\\uC774 \\uBA85\\uC2DC\\uC801\\uC73C\\uB85C \\uD638\\uCD9C\\uB420 \\uB54C \\uD56D\\uC0C1 \\uC120\\uD0DD\\uB429\\uB2C8\\uB2E4(\\uC608: 'Ctrl+Space'\\uB97C \\uD1B5\\uD574).\",\"\\uD65C\\uC131 \\uCF54\\uB4DC \\uC870\\uAC01\\uC774 \\uBE60\\uB978 \\uC81C\\uC548\\uC744 \\uBC29\\uC9C0\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548\\uC758 \\uC544\\uC774\\uCF58\\uC744 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC704\\uC82F \\uD558\\uB2E8\\uC758 \\uC0C1\\uD0DC \\uD45C\\uC2DC\\uC904 \\uAC00\\uC2DC\\uC131\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC81C\\uC548 \\uACB0\\uACFC\\uB97C \\uBBF8\\uB9AC\\uBCFC\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC138\\uBD80 \\uC815\\uBCF4\\uAC00 \\uB808\\uC774\\uBE14\\uACFC \\uD568\\uAED8 \\uC778\\uB77C\\uC778\\uC5D0 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC544\\uB2C8\\uBA74 \\uC138\\uBD80 \\uC815\\uBCF4 \\uC704\\uC82F\\uC5D0\\uB9CC \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC774 \\uC124\\uC815\\uC740 \\uB354 \\uC774\\uC0C1 \\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uC774\\uC81C \\uC81C\\uC548 \\uC704\\uC82F\\uC758 \\uD06C\\uAE30\\uB97C \\uC870\\uC815\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC774 \\uC124\\uC815\\uC740 \\uB354 \\uC774\\uC0C1 \\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uB300\\uC2E0 'editor.suggest.showKeywords'\\uB610\\uB294 'editor.suggest.showSnippets'\\uC640 \\uAC19\\uC740 \\uBCC4\\uB3C4\\uC758 \\uC124\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 `\\uBA54\\uC11C\\uB4DC` \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uD568\\uC218' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC0DD\\uC131\\uC790' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC74C' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"IntelliSense \\uD544\\uD130\\uB9C1\\uC744 \\uD65C\\uC131\\uD654\\uD558\\uBA74 \\uCCAB \\uBC88\\uC9F8 \\uBB38\\uC790\\uAC00 \\uB2E8\\uC5B4 \\uC2DC\\uC791 \\uBD80\\uBD84\\uACFC \\uC77C\\uCE58\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4(\\uC608: `c`\\uC758 \\uACBD\\uC6B0 `Console` \\uB610\\uB294 `WebContext`\\uAC00 \\uB420 \\uC218 \\uC788\\uC73C\\uBA70 `description`\\uC740 _\\uC548 \\uB428_). \\uBE44\\uD65C\\uC131\\uD654\\uD558\\uBA74 IntelliSense\\uAC00 \\uB354 \\uB9CE\\uC740 \\uACB0\\uACFC\\uB97C \\uD45C\\uC2DC\\uD558\\uC9C0\\uB9CC \\uC5EC\\uC804\\uD788 \\uC77C\\uCE58 \\uD488\\uC9C8\\uC744 \\uAE30\\uC900\\uC73C\\uB85C \\uC815\\uB82C\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uD544\\uB4DC' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uBCC0\\uC218' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uD074\\uB798\\uC2A4' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uAD6C\\uC870' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC778\\uD130\\uD398\\uC774\\uC2A4' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uBAA8\\uB4C8' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC18D\\uC131' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC774\\uBCA4\\uD2B8' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 `\\uC5F0\\uC0B0\\uC790` \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uB2E8\\uC704' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uAC12' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC0C1\\uC218' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC5F4\\uAC70\\uD615' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 `enumMember` \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uD0A4\\uC6CC\\uB4DC' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uD14D\\uC2A4\\uD2B8' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC0C9' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 `\\uD30C\\uC77C` \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uCC38\\uC870' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uC0AC\\uC6A9\\uC790 \\uC9C0\\uC815 \\uC0C9' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uD3F4\\uB354' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB41C \\uACBD\\uC6B0 IntelliSense\\uC5D0 'typeParameter' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uBA74 IntelliSense\\uC5D0 '\\uCF54\\uB4DC \\uC870\\uAC01' \\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"IntelliSense\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD558\\uBA74 `user`-\\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"IntelliSense\\uB97C \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD55C \\uACBD\\uC6B0 `issues`-\\uC81C\\uC548\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD589 \\uBC0F \\uD6C4\\uD589 \\uACF5\\uBC31\\uC744 \\uD56D\\uC0C1 \\uC120\\uD0DD\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uC785\\uB2C8\\uB2E4.\",\"\\uD558\\uC704 \\uB2E8\\uC5B4(\\uC608: 'fooBar'\\uC758 'foo' \\uB610\\uB294 'foo_bar')\\uB97C \\uC120\\uD0DD\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uC785\\uB2C8\\uB2E4.\",\"\\uB2E8\\uC5B4 \\uAD00\\uB828 \\uD0D0\\uC0C9 \\uB610\\uB294 \\uC791\\uC5C5\\uC744 \\uC218\\uD589\\uD560 \\uB54C \\uB2E8\\uC5B4 \\uAD6C\\uBD84\\uC5D0 \\uC0AC\\uC6A9\\uD560 \\uB85C\\uCE98\\uC785\\uB2C8\\uB2E4. \\uC778\\uC2DD\\uD560 \\uB2E8\\uC5B4\\uC758 BCP 47 \\uC5B8\\uC5B4 \\uD0DC\\uADF8\\uB97C \\uC9C0\\uC815\\uD569\\uB2C8\\uB2E4(\\uC608: ja, zh-CN, zh-Hant-TW \\uB4F1).\",\"\\uB2E8\\uC5B4 \\uAD00\\uB828 \\uD0D0\\uC0C9 \\uB610\\uB294 \\uC791\\uC5C5\\uC744 \\uC218\\uD589\\uD560 \\uB54C \\uB2E8\\uC5B4 \\uAD6C\\uBD84\\uC5D0 \\uC0AC\\uC6A9\\uD560 \\uB85C\\uCE98\\uC785\\uB2C8\\uB2E4. \\uC778\\uC2DD\\uD560 \\uB2E8\\uC5B4\\uC758 BCP 47 \\uC5B8\\uC5B4 \\uD0DC\\uADF8\\uB97C \\uC9C0\\uC815\\uD569\\uB2C8\\uB2E4(\\uC608: ja, zh-CN, zh-Hant-TW \\uB4F1).\",\"\\uB4E4\\uC5EC\\uC4F0\\uAE30\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. \\uC904 \\uBC14\\uAFC8 \\uD589\\uC774 \\uC5F4 1\\uC5D0\\uC11C \\uC2DC\\uC791\\uB429\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC14\\uAFC8 \\uD589\\uC758 \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uAC00 \\uBD80\\uBAA8\\uC640 \\uB3D9\\uC77C\\uD569\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC14\\uAFC8 \\uD589\\uC774 \\uBD80\\uBAA8 \\uCABD\\uC73C\\uB85C +1\\uB9CC\\uD07C \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB429\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC14\\uAFC8 \\uD589\\uC774 \\uBD80\\uBAA8 \\uCABD\\uC73C\\uB85C +2\\uB9CC\\uD07C \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB429\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC14\\uAFC8 \\uD589\\uC758 \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uD30C\\uC77C\\uC744 \\uC5EC\\uB294 \\uB300\\uC2E0 `shift`\\uB97C \\uB204\\uB978 \\uCC44 \\uD30C\\uC77C\\uC744 \\uD14D\\uC2A4\\uD2B8 \\uD3B8\\uC9D1\\uAE30\\uB85C \\uB04C\\uC5B4\\uC11C \\uB193\\uC744 \\uC218 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uD30C\\uC77C\\uC744 \\uB04C\\uC5B4 \\uB193\\uC744 \\uB54C \\uC704\\uC82F\\uC744 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC774 \\uC704\\uC82F\\uC744 \\uC0AC\\uC6A9\\uD558\\uBA74 \\uD30C\\uC77C\\uC744 \\uB4DC\\uB86D\\uD558\\uB294 \\uBC29\\uBC95\\uC744 \\uC81C\\uC5B4\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD30C\\uC77C\\uC774 \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uB4DC\\uB86D\\uB41C \\uD6C4 \\uB4DC\\uB86D \\uC120\\uD0DD\\uAE30 \\uC704\\uC82F\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uB4DC\\uB86D \\uC120\\uD0DD\\uAE30 \\uC704\\uC82F\\uC744 \\uD45C\\uC2DC\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uB300\\uC2E0 \\uAE30\\uBCF8 \\uB4DC\\uB86D \\uACF5\\uAE09\\uC790\\uAC00 \\uD56D\\uC0C1 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uCF58\\uD150\\uCE20\\uB97C \\uB2E4\\uB978 \\uBC29\\uBC95\\uC73C\\uB85C \\uBD99\\uC5EC\\uB123\\uC744 \\uC218 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uCF58\\uD150\\uCE20\\uB97C \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBD99\\uC5EC\\uB123\\uC744 \\uB54C \\uC704\\uC82F\\uC744 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC774 \\uC704\\uC82F\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uD30C\\uC77C\\uC744 \\uBD99\\uC5EC\\uB123\\uB294 \\uBC29\\uBC95\\uC744 \\uC81C\\uC5B4\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uCF58\\uD150\\uCE20\\uB97C \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBD99\\uC5EC\\uB123\\uC740 \\uD6C4 \\uBD99\\uC5EC\\uB123\\uAE30 \\uC120\\uD0DD\\uAE30 \\uC704\\uC82F\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uBD99\\uC5EC\\uB123\\uAE30 \\uC120\\uD0DD\\uAE30 \\uC704\\uC82F\\uC744 \\uD45C\\uC2DC\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uB300\\uC2E0 \\uAE30\\uBCF8 \\uBD99\\uC5EC\\uB123\\uAE30 \\uB3D9\\uC791\\uC774 \\uD56D\\uC0C1 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uCEE4\\uBC0B \\uBB38\\uC790\\uC5D0 \\uB300\\uD55C \\uC81C\\uC548\\uC744 \\uD5C8\\uC6A9\\uD560\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC608\\uB97C \\uB4E4\\uC5B4 JavaScript\\uC5D0\\uC11C\\uB294 \\uC138\\uBBF8\\uCF5C\\uB860(';')\\uC774 \\uC81C\\uC548\\uC744 \\uD5C8\\uC6A9\\uD558\\uACE0 \\uD574\\uB2F9 \\uBB38\\uC790\\uB97C \\uC785\\uB825\\uD558\\uB294 \\uCEE4\\uBC0B \\uBB38\\uC790\\uC77C \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD14D\\uC2A4\\uD2B8\\uB97C \\uBCC0\\uACBD\\uD560 \\uB54C `Enter` \\uD0A4\\uB97C \\uC0AC\\uC6A9\\uD55C \\uC81C\\uC548\\uB9CC \\uD5C8\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"'Tab' \\uD0A4 \\uC678\\uC5D0 'Enter' \\uD0A4\\uC5D0 \\uB300\\uD55C \\uC81C\\uC548\\uB3C4 \\uD5C8\\uC6A9\\uD560\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC0C8 \\uC904\\uC744 \\uC0BD\\uC785\\uD558\\uB294 \\uB3D9\\uC791\\uACFC \\uC81C\\uC548\\uC744 \\uD5C8\\uC6A9\\uD558\\uB294 \\uB3D9\\uC791 \\uAC04\\uC758 \\uBAA8\\uD638\\uD568\\uC744 \\uC5C6\\uC568 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD654\\uBA74 \\uC77D\\uAE30 \\uD504\\uB85C\\uADF8\\uB7A8\\uC5D0\\uC11C \\uD55C \\uBC88\\uC5D0 \\uC77D\\uC744 \\uC218 \\uC788\\uB294 \\uD3B8\\uC9D1\\uAE30 \\uC904 \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uD654\\uBA74 \\uC77D\\uAE30 \\uD504\\uB85C\\uADF8\\uB7A8\\uC744 \\uAC80\\uC0C9\\uD558\\uBA74 \\uAE30\\uBCF8\\uAC12\\uC774 500\\uC73C\\uB85C \\uC790\\uB3D9 \\uC124\\uC815\\uB429\\uB2C8\\uB2E4. \\uACBD\\uACE0: \\uAE30\\uBCF8\\uAC12\\uBCF4\\uB2E4 \\uD070 \\uC218\\uC758 \\uACBD\\uC6B0 \\uC131\\uB2A5\\uC5D0 \\uC601\\uD5A5\\uC744 \\uBBF8\\uCE69\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCF58\\uD150\\uCE20\",\"\\uD654\\uBA74 \\uC77D\\uAE30 \\uD504\\uB85C\\uADF8\\uB7A8\\uC5D0\\uC11C \\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC744 \\uBC1C\\uD45C\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC5B8\\uC5B4 \\uAD6C\\uC131\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uB300\\uAD04\\uD638\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC744 \\uACBD\\uC6B0\\uB97C \\uACB0\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C\\uAC00 \\uACF5\\uBC31\\uC758 \\uC67C\\uCABD\\uC5D0 \\uC788\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uB300\\uAD04\\uD638\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uC790\\uAC00 \\uC5EC\\uB294 \\uAD04\\uD638\\uB97C \\uCD94\\uAC00\\uD55C \\uD6C4 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uAD04\\uD638\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC744\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC5B8\\uC5B4 \\uAD6C\\uC131\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC8FC\\uC11D\\uC744 \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC744 \\uACBD\\uC6B0\\uB97C \\uACB0\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C\\uAC00 \\uACF5\\uBC31\\uC758 \\uC67C\\uCABD\\uC5D0 \\uC788\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uC8FC\\uC11D\\uC744 \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uC790\\uAC00 \\uC5EC\\uB294 \\uC8FC\\uC11D\\uC744 \\uCD94\\uAC00\\uD55C \\uD6C4 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC8FC\\uC11D\\uC744 \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC744\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uC811\\uD55C \\uB2EB\\uB294 \\uB530\\uC634\\uD45C \\uB610\\uB294 \\uB300\\uAD04\\uD638\\uAC00 \\uC790\\uB3D9\\uC73C\\uB85C \\uC0BD\\uC785\\uB41C \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uC81C\\uAC70\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AD\\uC81C\\uD560 \\uB54C \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC778\\uC811\\uD55C \\uB2EB\\uB294 \\uB530\\uC634\\uD45C \\uB610\\uB294 \\uB300\\uAD04\\uD638\\uB97C \\uC81C\\uAC70\\uD574\\uC57C \\uD560\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB2EB\\uAE30 \\uB530\\uC634\\uD45C \\uB610\\uB294 \\uB300\\uAD04\\uD638\\uAC00 \\uC790\\uB3D9\\uC73C\\uB85C \\uC0BD\\uC785\\uB41C \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uD574\\uB2F9 \\uD56D\\uBAA9 \\uC704\\uC5D0 \\uC785\\uB825\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uC790\\uAC00 \\uB2EB\\uB294 \\uB530\\uC634\\uD45C \\uB610\\uB294 \\uB300\\uAD04\\uD638 \\uC704\\uC5D0 \\uC785\\uB825\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC5B8\\uC5B4 \\uAD6C\\uC131\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uB530\\uC634\\uD45C\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC744 \\uACBD\\uC6B0\\uB97C \\uACB0\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C\\uAC00 \\uACF5\\uBC31\\uC758 \\uC67C\\uCABD\\uC5D0 \\uC788\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uB530\\uC634\\uD45C\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uC790\\uAC00 \\uC5EC\\uB294 \\uB530\\uC634\\uD45C\\uB97C \\uCD94\\uAC00\\uD55C \\uD6C4 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uB530\\uC634\\uD45C\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uB2EB\\uC744\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uB294 \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uC0BD\\uC785\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uB294 \\uD604\\uC7AC \\uC904\\uC758 \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC720\\uC9C0\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uB294 \\uD604\\uC7AC \\uC904\\uC758 \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC720\\uC9C0\\uD558\\uACE0 \\uC5B8\\uC5B4 \\uC815\\uC758 \\uB300\\uAD04\\uD638\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uB294 \\uD604\\uC7AC \\uC904\\uC758 \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC720\\uC9C0\\uD558\\uACE0 \\uC5B8\\uC5B4 \\uC815\\uC758 \\uB300\\uAD04\\uD638\\uB97C \\uC874\\uC911\\uD558\\uBA70 \\uC5B8\\uC5B4\\uBCC4\\uB85C \\uC815\\uC758\\uB41C \\uD2B9\\uBCC4 EnterRules\\uB97C \\uD638\\uCD9C\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uB294 \\uD604\\uC7AC \\uC904\\uC758 \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC720\\uC9C0\\uD558\\uACE0, \\uC5B8\\uC5B4 \\uC815\\uC758 \\uB300\\uAD04\\uD638\\uB97C \\uC874\\uC911\\uD558\\uACE0, \\uC5B8\\uC5B4\\uC5D0 \\uC758\\uD574 \\uC815\\uC758\\uB41C \\uD2B9\\uBCC4 EnterRules\\uB97C \\uD638\\uCD9C\\uD558\\uACE0, \\uC5B8\\uC5B4\\uC5D0 \\uC758\\uD574 \\uC815\\uC758\\uB41C \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uADDC\\uCE59\\uC744 \\uC874\\uC911\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uC790\\uAC00 \\uC904\\uC744 \\uC785\\uB825, \\uBD99\\uC5EC\\uB123\\uAE30, \\uC774\\uB3D9 \\uB610\\uB294 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uD560 \\uB54C \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uC870\\uC815\\uD558\\uB3C4\\uB85D \\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC5B8\\uC5B4 \\uAD6C\\uC131\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC120\\uD0DD \\uD56D\\uBAA9\\uC744 \\uC790\\uB3D9\\uC73C\\uB85C \\uB458\\uB7EC\\uC300 \\uACBD\\uC6B0\\uB97C \\uACB0\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638\\uAC00 \\uC544\\uB2CC \\uB530\\uC634\\uD45C\\uB85C \\uB458\\uB7EC\\uC309\\uB2C8\\uB2E4.\",\"\\uB530\\uC634\\uD45C\\uAC00 \\uC544\\uB2CC \\uB300\\uAD04\\uD638\\uB85C \\uB458\\uB7EC\\uC309\\uB2C8\\uB2E4.\",\"\\uB530\\uC634\\uD45C \\uB610\\uB294 \\uB300\\uAD04\\uD638 \\uC785\\uB825 \\uC2DC \\uD3B8\\uC9D1\\uAE30\\uAC00 \\uC790\\uB3D9\\uC73C\\uB85C \\uC120\\uD0DD \\uC601\\uC5ED\\uC744 \\uB458\\uB7EC\\uC300\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB4E4\\uC5EC\\uC4F0\\uAE30\\uC5D0 \\uACF5\\uBC31\\uC744 \\uC0AC\\uC6A9\\uD560 \\uB54C \\uD0ED \\uBB38\\uC790\\uC758 \\uC120\\uD0DD \\uB3D9\\uC791\\uC744 \\uC5D0\\uBBAC\\uB808\\uC774\\uD2B8\\uD569\\uB2C8\\uB2E4. \\uC120\\uD0DD \\uC601\\uC5ED\\uC774 \\uD0ED \\uC815\\uC9C0\\uC5D0 \\uACE0\\uC815\\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C CodeLens\\uB97C \\uD45C\\uC2DC\\uD560 \\uAC83\\uC778\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"CodeLens\\uC758 \\uAE00\\uAF34 \\uD328\\uBC00\\uB9AC\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"CodeLens\\uC758 \\uAE00\\uAF34 \\uD06C\\uAE30(\\uD53D\\uC140)\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. 0\\uC73C\\uB85C \\uC124\\uC815\\uD558\\uBA74 `#editor.fontSize#`\\uC758 90%\\uAC00 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC778\\uB77C\\uC778 \\uC0C9 \\uB370\\uCF54\\uB808\\uC774\\uD130 \\uBC0F \\uC0C9 \\uC120\\uD0DD\\uC744 \\uB80C\\uB354\\uB9C1\\uD560\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC0C9 \\uB370\\uCF54\\uB808\\uC774\\uD130\\uB97C \\uD074\\uB9AD\\uD558\\uACE0 \\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0AC \\uB54C \\uC0C9 \\uC120\\uD0DD\\uAE30\\uB97C \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC0C9 \\uB370\\uCF54\\uB808\\uC774\\uD130\\uB97C \\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0A4\\uBA74 \\uC0C9 \\uC120\\uD0DD\\uAE30\\uAC00 \\uD45C\\uC2DC\\uB418\\uB3C4\\uB85D \\uC124\\uC815\",\"\\uC0C9 \\uB370\\uCF54\\uB808\\uC774\\uD130\\uB97C \\uD074\\uB9AD\\uD560 \\uB54C \\uC0C9 \\uC120\\uD0DD\\uAE30\\uB97C \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC0C9 \\uB370\\uCF54\\uB808\\uC774\\uD130\\uC5D0\\uC11C \\uC0C9 \\uC120\\uD0DD\\uAE30\\uB97C \\uD45C\\uC2DC\\uD558\\uB3C4\\uB85D \\uC870\\uAC74\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uD55C \\uBC88\\uC5D0 \\uB80C\\uB354\\uB9C1\\uD560 \\uC218 \\uC788\\uB294 \\uCD5C\\uB300 \\uC0C9 \\uB370\\uCF54\\uB808\\uC774\\uD130 \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uC640 \\uD0A4\\uB85C \\uC120\\uD0DD\\uD55C \\uC601\\uC5ED\\uC5D0\\uC11C \\uC5F4\\uC744 \\uC120\\uD0DD\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uAD6C\\uBB38 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB97C \\uD074\\uB9BD\\uBCF4\\uB4DC\\uB85C \\uBCF5\\uC0AC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C \\uC560\\uB2C8\\uBA54\\uC774\\uC158 \\uC2A4\\uD0C0\\uC77C\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBD80\\uB4DC\\uB7EC\\uC6B4 \\uCE90\\uB7FF \\uC560\\uB2C8\\uBA54\\uC774\\uC158\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBD80\\uB4DC\\uB7EC\\uC6B4 \\uCE90\\uB7FF \\uC560\\uB2C8\\uBA54\\uC774\\uC158\\uC740 \\uC0AC\\uC6A9\\uC790\\uAC00 \\uBA85\\uC2DC\\uC801 \\uC81C\\uC2A4\\uCC98\\uB97C \\uC0AC\\uC6A9\\uD558\\uC5EC \\uCEE4\\uC11C\\uB97C \\uC774\\uB3D9\\uD560 \\uB54C\\uB9CC \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uBD80\\uB4DC\\uB7EC\\uC6B4 \\uCE90\\uB7FF \\uC560\\uB2C8\\uBA54\\uC774\\uC158\\uC740 \\uD56D\\uC0C1 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uB9E4\\uB044\\uB7EC\\uC6B4 \\uCE90\\uB7FF \\uC560\\uB2C8\\uBA54\\uC774\\uC158\\uC758 \\uC0AC\\uC6A9 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC0BD\\uC785 \\uC785\\uB825 \\uBAA8\\uB4DC\\uC5D0\\uC11C \\uCEE4\\uC11C \\uC2A4\\uD0C0\\uC77C\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C \\uC8FC\\uBCC0\\uC5D0 \\uD45C\\uC2DC\\uB418\\uB294 \\uC120\\uD589 \\uC904(\\uCD5C\\uC18C 0)\\uACFC \\uD6C4\\uD589 \\uC904(\\uCD5C\\uC18C 1)\\uC758 \\uCD5C\\uC18C \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC77C\\uBD80 \\uB2E4\\uB978 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C\\uB294 'scrollOff' \\uB610\\uB294 'scrollOffset'\\uC73C\\uB85C \\uC54C\\uB824\\uC838 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"'cursorSurroundingLines'\\uB294 \\uD0A4\\uBCF4\\uB4DC \\uB098 API\\uB97C \\uD1B5\\uD574 \\uD2B8\\uB9AC\\uAC70\\uB420 \\uB54C\\uB9CC \\uC801\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"`cursorSurroundingLines`\\uB294 \\uD56D\\uC0C1 \\uC801\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"`#editor.cursorSurroundingLines#`\\uB97C \\uC801\\uC6A9\\uD574\\uC57C \\uD558\\uB294 \\uACBD\\uC6B0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"`#editor.cursorStyle#` \\uC124\\uC815\\uC774 'line'\\uC73C\\uB85C \\uC124\\uC815\\uB418\\uC5B4 \\uC788\\uC744 \\uB54C \\uCEE4\\uC11C\\uC758 \\uB113\\uC774\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uB04C\\uC5B4\\uC11C \\uB193\\uAE30\\uB85C \\uC120\\uD0DD \\uC601\\uC5ED\\uC744 \\uC774\\uB3D9\\uD560 \\uC218 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"svgs\\uC640 \\uD568\\uAED8 \\uC0C8 \\uB80C\\uB354\\uB9C1 \\uBA54\\uC11C\\uB4DC\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uAE00\\uAF34 \\uBB38\\uC790\\uC640 \\uD568\\uAED8 \\uC0C8 \\uB80C\\uB354\\uB9C1 \\uBC29\\uBC95\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uC548\\uC815\\uC801\\uC778 \\uB80C\\uB354\\uB9C1 \\uBC29\\uBC95\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uACF5\\uBC31\\uC774 \\uC0C8\\uB85C\\uC6B4 \\uC2E4\\uD5D8\\uC801 \\uBA54\\uC11C\\uB4DC\\uB85C \\uB80C\\uB354\\uB9C1\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"'Alt' \\uD0A4\\uB97C \\uB204\\uB97C \\uB54C \\uC2A4\\uD06C\\uB864 \\uC18D\\uB3C4 \\uC2B9\\uC218\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uCF54\\uB4DC \\uC811\\uAE30\\uAC00 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD55C \\uACBD\\uC6B0 \\uC5B8\\uC5B4\\uBCC4 \\uC811\\uAE30 \\uC804\\uB7B5\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4. \\uADF8\\uB807\\uC9C0 \\uC54A\\uC740 \\uACBD\\uC6B0 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uAE30\\uBC18 \\uC804\\uB7B5\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uAE30\\uBC18 \\uC811\\uAE30 \\uC804\\uB7B5\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uC811\\uAE30 \\uBC94\\uC704\\uB97C \\uACC4\\uC0B0\\uD558\\uAE30 \\uC704\\uD55C \\uC804\\uB7B5\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC811\\uD78C \\uBC94\\uC704\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uAC00\\uC838\\uC624\\uAE30 \\uBC94\\uC704\\uB97C \\uC790\\uB3D9\\uC73C\\uB85C \\uCD95\\uC18C\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3F4\\uB354\\uBE14 \\uC601\\uC5ED\\uC758 \\uCD5C\\uB300 \\uC218\\uC785\\uB2C8\\uB2E4. \\uD604\\uC7AC \\uC6D0\\uBCF8\\uC5D0 \\uD3F4\\uB354\\uBE14 \\uC601\\uC5ED\\uC774 \\uB9CE\\uC744 \\uB54C \\uC774 \\uAC12\\uC744 \\uB298\\uB9AC\\uBA74 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uBC18\\uC751\\uC774 \\uB5A8\\uC5B4\\uC9C8 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC811\\uD78C \\uC904\\uC774 \\uC904\\uC744 \\uD3BC\\uCE5C \\uD6C4 \\uBE48 \\uCF58\\uD150\\uCE20\\uB97C \\uD074\\uB9AD\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uAE00\\uAF34 \\uD328\\uBC00\\uB9AC\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBD99\\uC5EC\\uB123\\uC740 \\uCF58\\uD150\\uCE20\\uC758 \\uC11C\\uC2DD\\uC744 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC790\\uB3D9\\uC73C\\uB85C \\uC9C0\\uC815\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uD3EC\\uB9F7\\uD130\\uB97C \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uC5B4\\uC57C \\uD558\\uBA70 \\uD3EC\\uB9F7\\uD130\\uAC00 \\uBB38\\uC11C\\uC5D0\\uC11C \\uBC94\\uC704\\uC758 \\uC11C\\uC2DD\\uC744 \\uC9C0\\uC815\\uD560 \\uC218 \\uC788\\uC5B4\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uD6C4 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC790\\uB3D9\\uC73C\\uB85C \\uC904\\uC758 \\uC11C\\uC2DD\\uC744 \\uC9C0\\uC815\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC138\\uB85C \\uBB38\\uC790 \\uBAA8\\uC591 \\uC5EC\\uBC31\\uC744 \\uB80C\\uB354\\uB9C1\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uBB38\\uC790 \\uBAA8\\uC591 \\uC5EC\\uBC31\\uC740 \\uC8FC\\uB85C \\uB514\\uBC84\\uAE45\\uC5D0 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C\\uAC00 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790\\uC5D0\\uC11C \\uAC00\\uB824\\uC838\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBB38\\uC790 \\uAC04\\uACA9(\\uD53D\\uC140)\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC5F0\\uACB0\\uB41C \\uD3B8\\uC9D1\\uC774 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uC5C8\\uB294\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC5B8\\uC5B4\\uC5D0 \\uB530\\uB77C \\uAD00\\uB828 \\uAE30\\uD638(\\uC608: HTML \\uD0DC\\uADF8)\\uAC00 \\uD3B8\\uC9D1 \\uC911\\uC5D0 \\uC5C5\\uB370\\uC774\\uD2B8\\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uB9C1\\uD06C\\uB97C \\uAC10\\uC9C0\\uD558\\uACE0 \\uD074\\uB9AD\\uD560 \\uC218 \\uC788\\uAC8C \\uB9CC\\uB4E4\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC77C\\uCE58\\uD558\\uB294 \\uB300\\uAD04\\uD638\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4 \\uD720 \\uC2A4\\uD06C\\uB864 \\uC774\\uBCA4\\uD2B8\\uC758 `deltaX` \\uBC0F `deltaY`\\uC5D0\\uC11C \\uC0AC\\uC6A9\\uD560 \\uC2B9\\uC218\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4 \\uD720\\uC744 \\uC0AC\\uC6A9\\uD560 \\uB54C 'Cmd` \\uD0A4\\uB97C \\uB204\\uB974\\uACE0 \\uC788\\uC73C\\uBA74 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uAE00\\uAF34\\uC744 \\uD655\\uB300/\\uCD95\\uC18C\\uD569\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4 \\uD720\\uC744 \\uC0AC\\uC6A9\\uD560 \\uB54C 'Ctrl' \\uD0A4\\uB97C \\uB204\\uB974\\uACE0 \\uC788\\uC73C\\uBA74 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uAE00\\uAF34\\uC744 \\uD655\\uB300/\\uCD95\\uC18C\\uD569\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uCEE4\\uC11C\\uAC00 \\uACB9\\uCE58\\uB294 \\uACBD\\uC6B0 \\uCEE4\\uC11C\\uB97C \\uBCD1\\uD569\\uD569\\uB2C8\\uB2E4.\",\"Windows\\uC640 Linux\\uC758 'Control'\\uC744 macOS\\uC758 'Command'\\uB85C \\uB9E4\\uD551\\uD569\\uB2C8\\uB2E4.\",\"Windows\\uC640 Linux\\uC758 'Alt'\\uB97C macOS\\uC758 'Option'\\uC73C\\uB85C \\uB9E4\\uD551\\uD569\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uC5EC\\uB7EC \\uCEE4\\uC11C\\uB97C \\uCD94\\uAC00\\uD560 \\uB54C \\uC0AC\\uC6A9\\uD560 \\uC218\\uC815\\uC790\\uC785\\uB2C8\\uB2E4. [\\uC815\\uC758\\uB85C \\uC774\\uB3D9] \\uBC0F [\\uB9C1\\uD06C \\uC5F4\\uAE30] \\uB9C8\\uC6B0\\uC2A4 \\uC81C\\uC2A4\\uCC98\\uAC00 [\\uBA40\\uD2F0\\uCEE4\\uC11C \\uC218\\uC815\\uC790\\uC640](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier) \\uCDA9\\uB3CC\\uD558\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC870\\uC815\\uB429\\uB2C8\\uB2E4.\",\"\\uAC01 \\uCEE4\\uC11C\\uB294 \\uD14D\\uC2A4\\uD2B8 \\uD55C \\uC904\\uC744 \\uBD99\\uC5EC\\uB123\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAC01 \\uCEE4\\uC11C\\uB294 \\uC804\\uCCB4 \\uD14D\\uC2A4\\uD2B8\\uB97C \\uBD99\\uC5EC\\uB123\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBD99\\uC5EC\\uB123\\uC740 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uC904 \\uC218\\uAC00 \\uCEE4\\uC11C \\uC218\\uC640 \\uC77C\\uCE58\\uD558\\uB294 \\uACBD\\uC6B0 \\uBD99\\uC5EC\\uB123\\uAE30\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD55C \\uBC88\\uC5D0 \\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC788\\uC744 \\uC218 \\uC788\\uB294 \\uCD5C\\uB300 \\uCEE4\\uC11C \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBC1C\\uC0DD \\uD56D\\uBAA9\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uD30C\\uC77C\\uC758 \\uBC1C\\uC0DD \\uD56D\\uBAA9\\uB9CC \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC2E4\\uD5D8\\uC801: \\uBAA8\\uB4E0 \\uC720\\uD6A8\\uD55C \\uC5F4\\uB9B0 \\uD30C\\uC77C\\uC5D0\\uC11C \\uBC1C\\uC0DD \\uD56D\\uBAA9\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC5F4\\uB9B0 \\uD30C\\uC77C \\uC804\\uCCB4\\uC5D0\\uC11C \\uBC1C\\uC0DD \\uC218\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uC8FC\\uC704\\uC5D0 \\uD14C\\uB450\\uB9AC\\uB97C \\uADF8\\uB9B4\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"Peek\\uB97C \\uC5EC\\uB294 \\uB3D9\\uC548 \\uD2B8\\uB9AC\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\",\"\\uBBF8\\uB9AC \\uBCF4\\uAE30\\uB97C \\uC5F4 \\uB54C \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\",\"\\uBBF8\\uB9AC \\uBCF4\\uAE30 \\uC704\\uC82F\\uC5D0\\uC11C \\uC778\\uB77C\\uC778 \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uB458\\uC9C0 \\uB610\\uB294 \\uD2B8\\uB9AC\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uB458\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC774\\uB3D9 \\uC815\\uC758 \\uB9C8\\uC6B0\\uC2A4 \\uC81C\\uC2A4\\uCC98\\uAC00 \\uD56D\\uC0C1 \\uBBF8\\uB9AC \\uBCF4\\uAE30 \\uC704\\uC82F\\uC744 \\uC5F4\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC81C\\uC548\\uC744 \\uD45C\\uC2DC\\uD558\\uAE30 \\uC804\\uAE4C\\uC9C0\\uC758 \\uC9C0\\uC5F0 \\uC2DC\\uAC04(\\uBC00\\uB9AC\\uCD08)\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uAC00 \\uC720\\uD615\\uC5D0 \\uB530\\uB77C \\uC790\\uB3D9\\uC73C\\uB85C \\uC774\\uB984\\uC744 \\uBC14\\uAFC0\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uB300\\uC2E0 `editor.linkedEditing`\\uC744 \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC81C\\uC5B4 \\uBB38\\uC790\\uB97C \\uB80C\\uB354\\uB9C1\\uD560\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD30C\\uC77C\\uC774 \\uC904 \\uBC14\\uAFC8\\uC73C\\uB85C \\uB05D\\uB098\\uBA74 \\uB9C8\\uC9C0\\uB9C9 \\uC904 \\uBC88\\uD638\\uB97C \\uB80C\\uB354\\uB9C1\\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uBCF8\\uC6A9 \\uC5EC\\uBC31\\uACFC \\uD604\\uC7AC \\uC904\\uC744 \\uBAA8\\uB450 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uAC00 \\uD604\\uC7AC \\uC904 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB97C \\uB80C\\uB354\\uB9C1\\uD558\\uB294 \\uBC29\\uC2DD\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uD604\\uC7AC \\uC904 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB97C \\uB80C\\uB354\\uB9C1\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB2E8\\uC5B4 \\uC0AC\\uC774\\uC758 \\uACF5\\uBC31 \\uD558\\uB098\\uB97C \\uC81C\\uC678\\uD55C \\uACF5\\uBC31 \\uBB38\\uC790\\uB97C \\uB80C\\uB354\\uB9C1\\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD\\uD55C \\uD14D\\uC2A4\\uD2B8\\uC5D0\\uC11C\\uB9CC \\uACF5\\uBC31 \\uBB38\\uC790\\uB97C \\uB80C\\uB354\\uB9C1\\uD569\\uB2C8\\uB2E4.\",\"\\uD6C4\\uD589 \\uACF5\\uBC31 \\uBB38\\uC790\\uB9CC \\uB80C\\uB354\\uB9C1\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACF5\\uBC31 \\uBB38\\uC790\\uB97C \\uB80C\\uB354\\uB9C1\\uD560 \\uBC29\\uBC95\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD \\uD56D\\uBAA9\\uC758 \\uBAA8\\uC11C\\uB9AC\\uB97C \\uB465\\uAE00\\uAC8C \\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uAC00\\uB85C\\uB85C \\uC2A4\\uD06C\\uB864\\uB418\\uB294 \\uBC94\\uC704\\uB97C \\uBC97\\uC5B4\\uB098\\uB294 \\uCD94\\uAC00 \\uBB38\\uC790\\uC758 \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uB9C8\\uC9C0\\uB9C9 \\uC904 \\uC774\\uD6C4\\uB85C \\uC2A4\\uD06C\\uB864\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC138\\uB85C\\uC640 \\uAC00\\uB85C\\uB85C \\uB3D9\\uC2DC\\uC5D0 \\uC2A4\\uD06C\\uB864\\uD560 \\uB54C\\uC5D0\\uB9CC \\uC8FC\\uCD95\\uC744 \\uB530\\uB77C\\uC11C \\uC2A4\\uD06C\\uB864\\uD569\\uB2C8\\uB2E4. \\uD2B8\\uB799\\uD328\\uB4DC\\uC5D0\\uC11C \\uC138\\uB85C\\uB85C \\uC2A4\\uD06C\\uB864\\uD560 \\uB54C \\uAC00\\uB85C \\uB4DC\\uB9AC\\uD504\\uD2B8\\uB97C \\uBC29\\uC9C0\\uD569\\uB2C8\\uB2E4.\",\"Linux \\uC8FC \\uD074\\uB9BD\\uBCF4\\uB4DC\\uC758 \\uC9C0\\uC6D0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uAC00 \\uC120\\uD0DD \\uD56D\\uBAA9\\uACFC \\uC720\\uC0AC\\uD55C \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD574\\uC57C\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC811\\uAE30 \\uCEE8\\uD2B8\\uB864\\uC744 \\uD56D\\uC0C1 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC811\\uAE30 \\uCEE8\\uD2B8\\uB864\\uC744 \\uD45C\\uC2DC\\uD558\\uC9C0 \\uC54A\\uACE0 \\uC5EC\\uBC31 \\uD06C\\uAE30\\uB97C \\uC904\\uC774\\uC138\\uC694.\",\"\\uB9C8\\uC6B0\\uC2A4\\uAC00 \\uC5EC\\uBC31 \\uC704\\uC5D0 \\uC788\\uC744 \\uB54C\\uC5D0\\uB9CC \\uC811\\uAE30 \\uCEE8\\uD2B8\\uB864\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC5EC\\uBC31\\uC758 \\uC811\\uAE30 \\uCEE8\\uD2B8\\uB864\\uC774 \\uD45C\\uC2DC\\uB418\\uB294 \\uC2DC\\uAE30\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB294 \\uCF54\\uB4DC\\uC758 \\uD398\\uC774\\uB4DC \\uC544\\uC6C3\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uCDE8\\uC18C\\uC120 \\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uB294 \\uBCC0\\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB2E4\\uB978 \\uC81C\\uC548 \\uC704\\uC5D0 \\uC870\\uAC01 \\uC81C\\uC548\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uB2E4\\uB978 \\uC81C\\uC548 \\uC544\\uB798\\uC5D0 \\uC870\\uAC01 \\uC81C\\uC548\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uB2E4\\uB978 \\uC81C\\uC548\\uACFC \\uD568\\uAED8 \\uC870\\uAC01 \\uC81C\\uC548\\uC744 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC870\\uAC01 \\uC81C\\uC548\\uC744 \\uD45C\\uC2DC\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC870\\uAC01\\uC774 \\uB2E4\\uB978 \\uCD94\\uCC9C\\uACFC \\uD568\\uAED8 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80 \\uBC0F \\uC815\\uB82C \\uBC29\\uBC95\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC560\\uB2C8\\uBA54\\uC774\\uC158\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC2A4\\uD06C\\uB864\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uC644\\uC131\\uC774 \\uD45C\\uC2DC\\uB420 \\uB54C \\uD654\\uBA74 \\uC77D\\uAE30 \\uD504\\uB85C\\uADF8\\uB7A8 \\uC0AC\\uC6A9\\uC790\\uC5D0\\uAC8C \\uC811\\uADFC\\uC131 \\uD78C\\uD2B8\\uB97C \\uC81C\\uACF5\\uD574\\uC57C \\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC704\\uC82F\\uC758 \\uAE00\\uAF34 \\uD06C\\uAE30\\uC785\\uB2C8\\uB2E4. {0}(\\uC73C)\\uB85C \\uC124\\uC815\\uD558\\uBA74 {1} \\uAC12\\uC774 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC704\\uC82F\\uC758 \\uC904 \\uB192\\uC774\\uC785\\uB2C8\\uB2E4. {0}(\\uC73C)\\uB85C \\uC124\\uC815\\uD558\\uBA74 {1} \\uAC12\\uC774 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4. \\uCD5C\\uC18C\\uAC12\\uC740 8\\uC785\\uB2C8\\uB2E4.\",\"\\uD2B8\\uB9AC\\uAC70 \\uBB38\\uC790\\uB97C \\uC785\\uB825\\uD560 \\uB54C \\uC81C\\uC548\\uC744 \\uC790\\uB3D9\\uC73C\\uB85C \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD56D\\uC0C1 \\uCCAB \\uBC88\\uC9F8 \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD569\\uB2C8\\uB2E4.\",\"`log`\\uAC00 \\uCD5C\\uADFC\\uC5D0 \\uC644\\uB8CC\\uB418\\uC5C8\\uC73C\\uBBC0\\uB85C \\uCD94\\uAC00 \\uC785\\uB825\\uC5D0\\uC11C \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD558\\uC9C0 \\uC54A\\uC740 \\uACBD\\uC6B0 \\uCD5C\\uADFC \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD558\\uC138\\uC694(\\uC608: `console.| -> console.log`).\",\"\\uD574\\uB2F9 \\uC81C\\uC548\\uC744 \\uC644\\uB8CC\\uD55C \\uC774\\uC804 \\uC811\\uB450\\uC0AC\\uC5D0 \\uB530\\uB77C \\uC81C\\uC548\\uC744 \\uC120\\uD0DD\\uD569\\uB2C8\\uB2E4(\\uC608: `co -> console` \\uBC0F `con -> const`).\",\"\\uC81C\\uC548 \\uBAA9\\uB85D\\uC744 \\uD45C\\uC2DC\\uD560 \\uB54C \\uC81C\\uD55C\\uC774 \\uBBF8\\uB9AC \\uC120\\uD0DD\\uB418\\uB294 \\uBC29\\uC2DD\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD0ED \\uC644\\uB8CC\\uB294 \\uD0ED\\uC744 \\uB204\\uB97C \\uB54C \\uAC00\\uC7A5 \\uC77C\\uCE58\\uD558\\uB294 \\uC81C\\uC548\\uC744 \\uC0BD\\uC785\\uD569\\uB2C8\\uB2E4.\",\"\\uD0ED \\uC644\\uC131\\uC744 \\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uC811\\uB450\\uC0AC\\uAC00 \\uC77C\\uCE58\\uD558\\uB294 \\uACBD\\uC6B0 \\uCF54\\uB4DC \\uC870\\uAC01\\uC744 \\uD0ED \\uC644\\uB8CC\\uD569\\uB2C8\\uB2E4. 'quickSuggestions'\\uB97C \\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uC744 \\uB54C \\uAC00\\uC7A5 \\uC798 \\uC791\\uB3D9\\uD569\\uB2C8\\uB2E4.\",\"\\uD0ED \\uC644\\uC131\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uBE44\\uC815\\uC0C1\\uC801\\uC778 \\uC904 \\uC885\\uACB0\\uC790\\uAC00 \\uC790\\uB3D9\\uC73C\\uB85C \\uC81C\\uAC70\\uB429\\uB2C8\\uB2E4.\",\"\\uBE44\\uC815\\uC0C1\\uC801\\uC778 \\uC904 \\uC885\\uACB0\\uC790\\uAC00 \\uBB34\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC81C\\uAC70\\uD560 \\uBE44\\uC815\\uC0C1\\uC801\\uC778 \\uC904 \\uC885\\uACB0\\uC790 \\uD504\\uB86C\\uD504\\uD2B8\\uC785\\uB2C8\\uB2E4.\",\"\\uBB38\\uC81C\\uB97C \\uC77C\\uC73C\\uD0AC \\uC218 \\uC788\\uB294 \\uBE44\\uC815\\uC0C1\\uC801\\uC778 \\uC904 \\uC885\\uACB0\\uC790\\uB97C \\uC81C\\uAC70\\uD569\\uB2C8\\uB2E4.\",\"\\uD0ED \\uC815\\uC9C0\\uC5D0 \\uB9DE\\uCDB0 \\uACF5\\uBC31\\uACFC \\uD0ED\\uC774 \\uC0BD\\uC785\\uB418\\uACE0 \\uC0AD\\uC81C\\uB429\\uB2C8\\uB2E4.\",\"\\uAE30\\uBCF8 \\uC904 \\uBC14\\uAFC8 \\uADDC\\uCE59\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uB2E8\\uC5B4 \\uBD84\\uB9AC\\uB294 \\uC911\\uAD6D\\uC5B4/\\uC77C\\uBCF8\\uC5B4/\\uD55C\\uAD6D\\uC5B4(CJK) \\uD14D\\uC2A4\\uD2B8\\uC5D0 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. CJK\\uAC00 \\uC544\\uB2CC \\uD14D\\uC2A4\\uD2B8 \\uB3D9\\uC791\\uC740 \\uC77C\\uBC18 \\uD14D\\uC2A4\\uD2B8 \\uB3D9\\uC791\\uACFC \\uAC19\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC911\\uAD6D\\uC5B4/\\uC77C\\uBCF8\\uC5B4/\\uD55C\\uAD6D\\uC5B4(CJK) \\uD14D\\uC2A4\\uD2B8\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uB2E8\\uC5B4 \\uBD84\\uB9AC \\uADDC\\uCE59\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB2E8\\uC5B4 \\uAD00\\uB828 \\uD0D0\\uC0C9 \\uB610\\uB294 \\uC791\\uC5C5\\uC744 \\uC218\\uD589\\uD560 \\uB54C \\uB2E8\\uC5B4 \\uAD6C\\uBD84 \\uAE30\\uD638\\uB85C \\uC0AC\\uC6A9\\uD560 \\uBB38\\uC790\\uC785\\uB2C8\\uB2E4.\",\"\\uC904\\uC774 \\uBC14\\uB00C\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBDF0\\uD3EC\\uD2B8 \\uB108\\uBE44\\uC5D0\\uC11C \\uC904\\uC774 \\uBC14\\uB01D\\uB2C8\\uB2E4.\",\"`#editor.wordWrapColumn#`\\uC5D0\\uC11C \\uC904\\uC774 \\uBC14\\uB01D\\uB2C8\\uB2E4.\",\"\\uBDF0\\uD3EC\\uD2B8\\uC758 \\uCD5C\\uC18C\\uAC12 \\uBC0F `#editor.wordWrapColumn#`\\uC5D0\\uC11C \\uC904\\uC774 \\uBC14\\uB01D\\uB2C8\\uB2E4.\",\"\\uC904 \\uBC14\\uAFC8 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"`#editor.wordWrap#`\\uC774 `wordWrapColumn` \\uB610\\uB294 'bounded'\\uC778 \\uACBD\\uC6B0 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uC5F4 \\uC904 \\uBC14\\uAFC8\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uAE30\\uBCF8 \\uBB38\\uC11C \\uC0C9 \\uACF5\\uAE09\\uC790\\uB97C \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC778\\uB77C\\uC778 \\uC0C9 \\uC7A5\\uC2DD\\uC744 \\uD45C\\uC2DC\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uD0ED\\uC744 \\uBC1B\\uC744\\uC9C0 \\uB610\\uB294 \\uD0D0\\uC0C9\\uC744 \\uC704\\uD574 \\uC6CC\\uD06C\\uBCA4\\uCE58\\uB85C \\uBBF8\\uB8F0\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C \\uC704\\uCE58\\uC758 \\uC904 \\uAC15\\uC870 \\uD45C\\uC2DC\\uC5D0 \\uB300\\uD55C \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCEE4\\uC11C \\uC704\\uCE58\\uC758 \\uC904 \\uD14C\\uB450\\uB9AC\\uC5D0 \\uB300\\uD55C \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC5F4\\uAE30 \\uBC0F \\uCC3E\\uAE30 \\uAE30\\uB2A5 \\uB4F1\\uC744 \\uD1B5\\uD574 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB41C \\uC601\\uC5ED\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uAC15\\uC870 \\uC601\\uC5ED \\uC8FC\\uBCC0\\uC758 \\uD14C\\uB450\\uB9AC\\uC5D0 \\uB300\\uD55C \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4\",\"\\uAC15\\uC870 \\uD45C\\uC2DC\\uB41C \\uAE30\\uD638(\\uC608: \\uC815\\uC758\\uB85C \\uC774\\uB3D9 \\uB610\\uB294 \\uB2E4\\uC74C/\\uC774\\uC804 \\uAE30\\uD638\\uB85C \\uC774\\uB3D9)\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774 \\uC0C9\\uC0C1\\uC740 \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uAC15\\uC870 \\uD45C\\uC2DC\\uB41C \\uAE30\\uD638 \\uC8FC\\uC704\\uC758 \\uD14C\\uB450\\uB9AC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCEE4\\uC11C \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCEE4\\uC11C\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBE14\\uB85D \\uCEE4\\uC11C\\uC640 \\uACB9\\uCE58\\uB294 \\uAE00\\uC790\\uC758 \\uC0C9\\uC0C1\\uC744 \\uC0AC\\uC6A9\\uC790 \\uC815\\uC758\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uCEE4\\uC11C\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 \\uAE30\\uBCF8 \\uD3B8\\uC9D1\\uAE30 \\uCEE4\\uC11C\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uCEE4\\uC11C\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 \\uAE30\\uBCF8 \\uD3B8\\uC9D1\\uAE30 \\uCEE4\\uC11C\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBE14\\uB85D \\uCEE4\\uC11C\\uC640 \\uACB9\\uCE58\\uB294 \\uBB38\\uC790\\uC758 \\uC0C9\\uC744 \\uC0AC\\uC6A9\\uC790 \\uC9C0\\uC815\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uCEE4\\uC11C\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 \\uBCF4\\uC870 \\uD3B8\\uC9D1\\uAE30 \\uCEE4\\uC11C\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC5EC\\uB7EC \\uCEE4\\uC11C\\uAC00 \\uC788\\uB294 \\uACBD\\uC6B0 \\uBCF4\\uC870 \\uD3B8\\uC9D1\\uAE30 \\uCEE4\\uC11C\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBE14\\uB85D \\uCEE4\\uC11C\\uC640 \\uACB9\\uCE58\\uB294 \\uBB38\\uC790\\uC758 \\uC0C9\\uC744 \\uC0AC\\uC6A9\\uC790 \\uC9C0\\uC815\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC758 \\uACF5\\uBC31 \\uBB38\\uC790 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC904 \\uBC88\\uD638 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"'editorIndentGuide.background'\\uB294 \\uB354 \\uC774\\uC0C1 \\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uB300\\uC2E0 'editorIndentGuide.background1'\\uC744 \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"\\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"'editorIndentGuide.activeBackground'\\uB294 \\uB354 \\uC774\\uC0C1 \\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uB300\\uC2E0 'editorIndentGuide.activeBackground1'\\uC744 \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(1).\",\"\\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(2).\",\"\\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(3).\",\"\\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(4).\",\"\\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(5).\",\"\\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(6).\",\"\\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(1).\",\"\\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(2).\",\"\\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(3).\",\"\\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(4).\",\"\\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(5).\",\"\\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30 \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120 \\uC0C9(6).\",\"\\uD3B8\\uC9D1\\uAE30 \\uD65C\\uC131 \\uC601\\uC5ED \\uC904\\uBC88\\uD638 \\uC0C9\\uC0C1\",\"ID\\uB294 \\uC0AC\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uB300\\uC2E0 'editorLineNumber.activeForeground'\\uB97C \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD65C\\uC131 \\uC601\\uC5ED \\uC904\\uBC88\\uD638 \\uC0C9\\uC0C1\",\"editor.renderFinalNewline\\uC774 \\uD750\\uB9AC\\uAC8C \\uC124\\uC815\\uB41C \\uACBD\\uC6B0 \\uCD5C\\uC885 \\uD3B8\\uC9D1\\uAE30 \\uC904\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB208\\uAE08\\uC758 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCF54\\uB4DC \\uB80C\\uC988\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC77C\\uCE58\\uD558\\uB294 \\uAD04\\uD638 \\uB4A4\\uC758 \\uBC30\\uACBD\\uC0C9\",\"\\uC77C\\uCE58\\uD558\\uB294 \\uBE0C\\uB798\\uD0B7 \\uBC15\\uC2A4\\uC758 \\uC0C9\\uC0C1\",\"\\uAC1C\\uC694 \\uB208\\uAE08 \\uACBD\\uACC4\\uC758 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC70\\uD130\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAC70\\uD130\\uC5D0\\uB294 \\uAE00\\uB9AC\\uD504 \\uC5EC\\uBC31\\uACFC \\uD589 \\uC218\\uAC00 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC758 \\uBD88\\uD544\\uC694\\uD55C(\\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB294) \\uC18C\\uC2A4 \\uCF54\\uB4DC \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",`\\uD3B8\\uC9D1\\uAE30\\uC758 \\uBD88\\uD544\\uC694\\uD55C(\\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB294) \\uC18C\\uC2A4 \\uCF54\\uB4DC \\uBD88\\uD22C\\uBA85\\uB3C4\\uC785\\uB2C8\\uB2E4. \\uC608\\uB97C \\uB4E4\\uC5B4 \"#000000c0\"\\uC740 75% \\uBD88\\uD22C\\uBA85\\uB3C4\\uB85C \\uCF54\\uB4DC\\uB97C \\uB80C\\uB354\\uB9C1\\uD569\\uB2C8\\uB2E4. \\uACE0\\uB300\\uBE44 \\uD14C\\uB9C8\\uC758 \\uACBD\\uC6B0 \\uD398\\uC774\\uB4DC \\uC544\\uC6C3\\uD558\\uC9C0 \\uC54A\\uACE0 'editorUnnecessaryCode.border' \\uD14C\\uB9C8 \\uC0C9\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uBD88\\uD544\\uC694\\uD55C \\uCF54\\uB4DC\\uC5D0 \\uBC11\\uC904\\uC744 \\uADF8\\uC73C\\uC138\\uC694.`,\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACE0\\uC2A4\\uD2B8 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACE0\\uC2A4\\uD2B8 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACE0\\uC2A4\\uD2B8 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBC94\\uC704\\uC758 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uD45C\\uC2DD \\uC0C9\\uC774 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC624\\uB958\\uC758 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uB9C8\\uCEE4 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uACBD\\uACE0\\uC758 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uB9C8\\uCEE4 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC815\\uBCF4\\uC758 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uB9C8\\uCEE4 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638\\uC758 \\uC804\\uACBD\\uC0C9(1)\\uC785\\uB2C8\\uB2E4. \\uB300\\uAD04\\uD638 \\uC30D \\uC0C9 \\uC9C0\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638\\uC758 \\uC804\\uACBD\\uC0C9(2)\\uC785\\uB2C8\\uB2E4. \\uB300\\uAD04\\uD638 \\uC30D \\uC0C9 \\uC9C0\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638\\uC758 \\uC804\\uACBD\\uC0C9(3)\\uC785\\uB2C8\\uB2E4. \\uB300\\uAD04\\uD638 \\uC30D \\uC0C9 \\uC9C0\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638\\uC758 \\uC804\\uACBD\\uC0C9(4)\\uC785\\uB2C8\\uB2E4. \\uB300\\uAD04\\uD638 \\uC30D \\uC0C9 \\uC9C0\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638\\uC758 \\uC804\\uACBD\\uC0C9(5)\\uC785\\uB2C8\\uB2E4. \\uB300\\uAD04\\uD638 \\uC30D \\uC0C9 \\uC9C0\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638\\uC758 \\uC804\\uACBD\\uC0C9(6)\\uC785\\uB2C8\\uB2E4. \\uB300\\uAD04\\uD638 \\uC30D \\uC0C9 \\uC9C0\\uC815\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC608\\uAE30\\uCE58 \\uC54A\\uC740 \\uB300\\uAD04\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(1). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(2). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(3). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(4). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(5). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(6). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(1). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(2). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(3). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(4). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(5). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4(6). \\uB300\\uAD04\\uD638 \\uC30D \\uC548\\uB0B4\\uC120\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC720\\uB2C8\\uCF54\\uB4DC \\uBB38\\uC790\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD558\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB418\\uB294 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC720\\uB2C8\\uCF54\\uB4DC \\uBB38\\uC790\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD558\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB418\\uB294 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD14D\\uC2A4\\uD2B8\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80(\\uCEE4\\uC11C\\uAC00 \\uAE5C\\uBC15\\uC784)\",\"\\uD3B8\\uC9D1\\uAE30 \\uB610\\uB294 \\uD3B8\\uC9D1\\uAE30 \\uC704\\uC82F\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80(\\uC608: \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uCC3E\\uAE30 \\uC704\\uC82F\\uC5D0 \\uC788\\uC74C)\",\"\\uD3B8\\uC9D1\\uAE30 \\uB610\\uB294 \\uC11C\\uC2DD \\uC788\\uB294 \\uD14D\\uC2A4\\uD2B8 \\uC785\\uB825\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80(\\uCEE4\\uC11C\\uAC00 \\uAE5C\\uBC15\\uC784)\",\"\\uD3B8\\uC9D1\\uAE30\\uAC00 \\uC77D\\uAE30 \\uC804\\uC6A9\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uCEE8\\uD14D\\uC2A4\\uD2B8\\uAC00 diff \\uD3B8\\uC9D1\\uAE30\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uCEE8\\uD14D\\uC2A4\\uD2B8\\uAC00 \\uD3EC\\uD568\\uB41C diff \\uD3B8\\uC9D1\\uAE30\\uC778\\uC9C0 \\uC5EC\\uBD80\",null,\"\\uB2E4\\uC911 diff \\uD3B8\\uC9D1\\uAE30\\uC758 \\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC774 \\uCD95\\uC18C\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBCC0\\uACBD \\uC0AC\\uD56D\\uC774 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC774\\uB3D9\\uB41C \\uCF54\\uB4DC \\uBE14\\uB85D\\uC774 \\uBE44\\uAD50\\uB97C \\uC704\\uD574 \\uC120\\uD0DD\\uB418\\uC5C8\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC561\\uC138\\uC2A4 \\uAC00\\uB2A5\\uD55C Diff \\uBDF0\\uC5B4 \\uD45C\\uC2DC \\uC5EC\\uBD80\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uB098\\uB780\\uD788 \\uC778\\uB77C\\uC778 \\uC911\\uB2E8\\uC810\\uC5D0 \\uC5F0\\uACB0\\uD560\\uC9C0 \\uC5EC\\uBD80\",\"\\uC778\\uB77C\\uC778 \\uBAA8\\uB4DC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC218\\uC815\\uB41C \\uB0B4\\uC6A9\\uC744 \\uC4F8 \\uC218 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC218\\uC815\\uB41C \\uB0B4\\uC6A9\\uC744 \\uC4F8 \\uC218 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC6D0\\uBCF8 \\uBB38\\uC11C\\uC758 URI\\uC785\\uB2C8\\uB2E4.\",\"\\uC218\\uC815\\uB41C \\uBB38\\uC11C\\uC758 URI\",\"'editor.columnSelection'\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uB418\\uC5B4 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC120\\uD0DD\\uB41C \\uD14D\\uC2A4\\uD2B8\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC5EC\\uB7EC \\uAC1C\\uC758 \\uC120\\uD0DD \\uD56D\\uBAA9\\uC774 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"'Tab' \\uD0A4\\uB97C \\uB204\\uB974\\uBA74 \\uD3B8\\uC9D1\\uAE30 \\uBC16\\uC73C\\uB85C \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC774\\uB3D9\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30 \\uD638\\uBC84\\uAC00 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC2A4\\uD2F0\\uD0A4 \\uC2A4\\uD06C\\uB864\\uC758 \\uD3EC\\uCEE4\\uC2A4 \\uC5EC\\uBD80\",\"\\uC2A4\\uD2F0\\uD0A4 \\uC2A4\\uD06C\\uB864\\uC758 \\uAC00\\uC2DC\\uC131 \\uC5EC\\uBD80\",\"\\uB3C5\\uB9BD \\uC2E4\\uD589\\uD615 \\uC0C9 \\uD3B8\\uC9D1\\uAE30\\uAC00 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uB3C5\\uB9BD \\uC2E4\\uD589\\uD615 \\uC0C9 \\uD3B8\\uC9D1\\uAE30\\uAC00 \\uD3EC\\uCEE4\\uC2A4\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uAC00 \\uB354 \\uD070 \\uD3B8\\uC9D1\\uAE30(\\uC608: \\uC804\\uC790 \\uD544\\uAE30\\uC7A5)\\uC5D0 \\uC18D\\uD574 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC758 \\uC5B8\\uC5B4 \\uC2DD\\uBCC4\\uC790\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC644\\uC131 \\uD56D\\uBAA9 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uCF54\\uB4DC \\uC791\\uC5C5 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 CodeLens \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC815\\uC758 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC120\\uC5B8 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uAD6C\\uD604 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uD615\\uC2DD \\uC815\\uC758 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uD638\\uBC84 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBB38\\uC11C \\uAC15\\uC870 \\uD45C\\uC2DC \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBB38\\uC11C \\uAE30\\uD638 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uCC38\\uC870 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC774\\uB984 \\uBC14\\uAFB8\\uAE30 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC2DC\\uADF8\\uB2C8\\uCC98 \\uB3C4\\uC6C0\\uB9D0 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC778\\uB77C\\uC778 \\uD78C\\uD2B8 \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBB38\\uC11C \\uC11C\\uC2DD \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uBB38\\uC11C \\uC120\\uD0DD \\uC11C\\uC2DD \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC5EC\\uB7EC \\uAC1C\\uC758 \\uBB38\\uC11C \\uC11C\\uC2DD \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC5EC\\uB7EC \\uAC1C\\uC758 \\uBB38\\uC11C \\uC120\\uD0DD \\uC11C\\uC2DD \\uACF5\\uAE09\\uC790\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uBC30\\uC5F4\",\"\\uBD80\\uC6B8\",\"\\uD074\\uB798\\uC2A4\",\"\\uC0C1\\uC218\",\"\\uC0DD\\uC131\\uC790\",\"\\uC5F4\\uAC70\\uD615\",\"\\uC5F4\\uAC70\\uD615 \\uBA64\\uBC84\",\"\\uC774\\uBCA4\\uD2B8\",\"\\uD544\\uB4DC\",\"\\uD30C\\uC77C\",\"\\uD568\\uC218\",\"\\uC778\\uD130\\uD398\\uC774\\uC2A4\",\"\\uD0A4\",\"\\uBA54\\uC11C\\uB4DC\",\"\\uBAA8\\uB4C8\",\"\\uB124\\uC784\\uC2A4\\uD398\\uC774\\uC2A4\",\"Null\",\"\\uC22B\\uC790\",\"\\uAC1C\\uCCB4\",\"\\uC5F0\\uC0B0\\uC790\",\"\\uD328\\uD0A4\\uC9C0\",\"\\uC18D\\uC131\",\"\\uBB38\\uC790\\uC5F4\",\"\\uAD6C\\uC870\\uCCB4\",\"\\uD615\\uC2DD \\uB9E4\\uAC1C \\uBCC0\\uC218\",\"\\uBCC0\\uC218\",\"{0}({1})\",\"\\uC77C\\uBC18 \\uD14D\\uC2A4\\uD2B8\",\"\\uC785\\uB825\\uD558\\uB294 \\uC911\",\"\\uAC1C\\uBC1C\\uC790: \\uAC80\\uC0AC \\uD1A0\\uD070\",\"\\uC904/\\uC5F4\\uB85C \\uC774\\uB3D9...\",\"\\uBE60\\uB978 \\uC561\\uC138\\uC2A4 \\uACF5\\uAE09\\uC790 \\uBAA8\\uB450 \\uD45C\\uC2DC\",\"\\uBA85\\uB839 \\uD314\\uB808\\uD2B8\",\"\\uBA85\\uB839 \\uD45C\\uC2DC \\uBC0F \\uC2E4\\uD589\",\"\\uAE30\\uD638\\uB85C \\uAC00\\uC11C...\",\"\\uBC94\\uC8FC\\uBCC4 \\uAE30\\uD638\\uB85C \\uC774\\uB3D9...\",\"\\uD3B8\\uC9D1\\uAE30 \\uCF58\\uD150\\uCE20\",\"\\uACE0\\uB300\\uBE44 \\uD14C\\uB9C8\\uB85C \\uC804\\uD658\",\"{1} \\uD30C\\uC77C\\uC5D0\\uC11C \\uD3B8\\uC9D1\\uC744 {0}\\uAC1C \\uD588\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC790\\uC138\\uD788 \\uD45C\\uC2DC({0})\",\"{0}\\uC790\",\"\\uC120\\uD0DD \\uC575\\uCEE4 \\uC9C0\\uC810\",\"{0}\\uC5D0 \\uC124\\uC815\\uB41C \\uC575\\uCEE4: {1}\",\"\\uC120\\uD0DD \\uC575\\uCEE4 \\uC9C0\\uC810 \\uC124\\uC815\",\"\\uC120\\uD0DD \\uC575\\uCEE4 \\uC9C0\\uC810\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uC575\\uCEE4\\uC5D0\\uC11C \\uCEE4\\uC11C\\uB85C \\uC120\\uD0DD\",\"\\uC120\\uD0DD \\uC575\\uCEE4 \\uC9C0\\uC810 \\uCDE8\\uC18C\",\"\\uAD04\\uD638\\uC5D0 \\uD574\\uB2F9\\uD558\\uB294 \\uC601\\uC5ED\\uC744 \\uD45C\\uC2DC\\uC790\\uC5D0 \\uCC44\\uC0C9\\uD558\\uC5EC \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uB300\\uAD04\\uD638\\uB85C \\uC774\\uB3D9\",\"\\uAD04\\uD638\\uAE4C\\uC9C0 \\uC120\\uD0DD\",\"\\uB300\\uAD04\\uD638 \\uC81C\\uAC70\",\"\\uB300\\uAD04\\uD638\\uB85C \\uC774\\uB3D9(&&B)\",\"\\uB300\\uAD04\\uD638 \\uB610\\uB294 \\uC911\\uAD04\\uD638\\uB97C \\uD3EC\\uD568\\uD558\\uC5EC \\uB0B4\\uBD80 \\uD14D\\uC2A4\\uD2B8\\uB97C \\uC120\\uD0DD\\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD\\uD55C \\uD14D\\uC2A4\\uD2B8\\uB97C \\uC67C\\uCABD\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uC120\\uD0DD\\uD55C \\uD14D\\uC2A4\\uD2B8\\uB97C \\uC624\\uB978\\uCABD\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uBB38\\uC790 \\uBC14\\uAFB8\\uAE30\",\"\\uC798\\uB77C\\uB0B4\\uAE30(&&T)\",\"\\uC798\\uB77C\\uB0B4\\uAE30\",\"\\uC798\\uB77C\\uB0B4\\uAE30\",\"\\uC798\\uB77C\\uB0B4\\uAE30\",\"\\uBCF5\\uC0AC(&&C)\",\"\\uBCF5\\uC0AC\",\"\\uBCF5\\uC0AC\",\"\\uBCF5\\uC0AC\",\"\\uBD99\\uC5EC\\uB123\\uAE30(&&P)\",\"\\uBD99\\uC5EC\\uB123\\uAE30\",\"\\uBD99\\uC5EC\\uB123\\uAE30\",\"\\uBD99\\uC5EC\\uB123\\uAE30\",\"\\uAD6C\\uBB38\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD558\\uC5EC \\uBCF5\\uC0AC\",\"\\uB2E4\\uC74C\\uC73C\\uB85C \\uBCF5\\uC0AC\",\"\\uB2E4\\uC74C\\uC73C\\uB85C \\uBCF5\\uC0AC\",\"\\uACF5\\uC720\",\"\\uACF5\\uC720\",\"\\uCF54\\uB4DC \\uC791\\uC5C5\\uC744 \\uC801\\uC6A9\\uD558\\uB294 \\uC911 \\uC54C \\uC218 \\uC5C6\\uB294 \\uC624\\uB958\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC2E4\\uD589\\uD560 \\uCF54\\uB4DC \\uC791\\uC5C5\\uC758 \\uC885\\uB958\\uC785\\uB2C8\\uB2E4.\",\"\\uBC18\\uD658\\uB41C \\uC791\\uC5C5\\uC774 \\uC801\\uC6A9\\uB418\\uB294 \\uACBD\\uC6B0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD56D\\uC0C1 \\uBC18\\uD658\\uB41C \\uCCAB \\uBC88\\uC9F8 \\uCF54\\uB4DC \\uC791\\uC5C5\\uC744 \\uC801\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uCCAB \\uBC88\\uC9F8 \\uBC18\\uD658\\uB41C \\uCF54\\uB4DC \\uC791\\uC5C5\\uC744 \\uC801\\uC6A9\\uD569\\uB2C8\\uB2E4(\\uC774 \\uC791\\uC5C5\\uB9CC \\uC788\\uB294 \\uACBD\\uC6B0).\",\"\\uBC18\\uD658\\uB41C \\uCF54\\uB4DC \\uC791\\uC5C5\\uC744 \\uC801\\uC6A9\\uD558\\uC9C0 \\uB9C8\\uC138\\uC694.\",\"\\uAE30\\uBCF8 \\uCF54\\uB4DC \\uC791\\uC5C5\\uB9CC \\uBC18\\uD658\\uB418\\uB3C4\\uB85D \\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC218\\uC815...\",\"\\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD55C \\uCF54\\uB4DC \\uB3D9\\uC791\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uAE30\\uBCF8 \\uCF54\\uB4DC \\uC791\\uC5C5\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uCF54\\uB4DC \\uC791\\uC5C5\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"\\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \\uAE30\\uBCF8 \\uCF54\\uB4DC \\uC791\\uC5C5 \\uC5C6\\uC74C\",\"\\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD55C \\uCF54\\uB4DC \\uB3D9\\uC791\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uB9AC\\uD329\\uD130\\uB9C1...\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uAE30\\uBCF8 \\uB9AC\\uD329\\uD130\\uB9C1 \\uC5C6\\uC74C\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uB9AC\\uD329\\uD130\\uB9C1 \\uC5C6\\uC74C\",\"\\uAE30\\uBCF8 \\uC124\\uC815 \\uB9AC\\uD329\\uD130\\uB9C1\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"\\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD55C \\uB9AC\\uD399\\uD130\\uB9C1\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC18C\\uC2A4 \\uC791\\uC5C5...\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uAE30\\uBCF8 \\uC18C\\uC2A4 \\uC791\\uC5C5\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uC18C\\uC2A4 \\uC791\\uC5C5\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"\\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \\uAE30\\uBCF8 \\uC6D0\\uBCF8 \\uC791\\uC5C5 \\uC5C6\\uC74C\",\"\\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD55C \\uC18C\\uC2A4 \\uC791\\uC5C5\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAC00\\uC838\\uC624\\uAE30 \\uAD6C\\uC131\",\"\\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD55C \\uAC00\\uC838\\uC624\\uAE30 \\uAD6C\\uC131 \\uC791\\uC5C5\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB450 \\uC218\\uC815\",\"\\uBAA8\\uB4E0 \\uC791\\uC5C5 \\uC218\\uC815 \\uC0AC\\uC6A9 \\uBD88\\uAC00\",\"\\uC790\\uB3D9 \\uC218\\uC815...\",\"\\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \\uC790\\uB3D9 \\uC218\\uC815 \\uC5C6\\uC74C\",\"\\uCF54\\uB4DC \\uC791\\uC5C5 \\uBA54\\uB274\\uC5D0 \\uADF8\\uB8F9 \\uD5E4\\uB354 \\uD45C\\uC2DC\\uB97C \\uD65C\\uC131\\uD654/\\uBE44\\uD65C\\uC131\\uD654\\uD569\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uC9C4\\uB2E8 \\uC911\\uC774 \\uC544\\uB2D0 \\uB54C \\uC904 \\uB0B4\\uC5D0\\uC11C \\uAC00\\uC7A5 \\uAC00\\uAE4C\\uC6B4 \\uBE60\\uB978 \\uC218\\uC815 \\uD45C\\uC2DC\\uB97C \\uC0AC\\uC6A9/\\uC0AC\\uC6A9 \\uC548 \\uD568\\uC73C\\uB85C \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\",\"{1}\\uC774(\\uAC00) {2}(\\uC73C)\\uB85C \\uC124\\uC815\\uB420 \\uB54C {0} \\uD2B8\\uB9AC\\uAC70 \\uD65C\\uC131\\uD654 \\uCF54\\uB4DC \\uB3D9\\uC791\\uC774 \\uCC3D \\uBCC0\\uACBD \\uBC0F \\uD3EC\\uCEE4\\uC2A4 \\uBCC0\\uACBD\\uC5D0 \\uB300\\uD574 \\uD2B8\\uB9AC\\uAC70\\uB418\\uB824\\uBA74 {3}(\\uC73C)\\uB85C \\uC124\\uC815\\uB418\\uC5B4\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uCEE8\\uD14D\\uC2A4\\uD2B8: \\uC904 {1} \\uBC0F \\uC5F4 {2}\\uC758 {0}\\uC785\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB294 \\uD56D\\uBAA9 \\uC228\\uAE30\\uAE30\",\"\\uBE44\\uD65C\\uC131\\uD654\\uB41C \\uD56D\\uBAA9 \\uD45C\\uC2DC\",\"\\uCD94\\uAC00 \\uC791\\uC5C5...\",\"\\uBE60\\uB978 \\uC218\\uC815\",\"\\uCD94\\uCD9C\",\"\\uC778\\uB77C\\uC778\",\"\\uC7AC\\uC791\\uC131\",\"\\uC774\\uB3D9\",\"\\uCF54\\uB4DC \\uAC10\\uC2F8\\uAE30\",\"\\uC18C\\uC2A4 \\uC791\\uC5C5\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACF5\\uAC04\\uC774 \\uC5C6\\uC744 \\uB54C \\uC5EC\\uBC31\\uC5D0\\uC11C \\uCF54\\uB4DC \\uB3D9\\uC791 \\uBA54\\uB274\\uB97C \\uC0DD\\uC131\\uD558\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uACF5\\uAC04\\uC774 \\uC5C6\\uACE0 \\uBE60\\uB978 \\uC218\\uC815\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \\uACBD\\uC6B0 \\uC5EC\\uBC31\\uC5D0\\uC11C \\uCF54\\uB4DC \\uC791\\uC5C5 \\uBA54\\uB274\\uB97C \\uC0DD\\uC131\\uD558\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uACF5\\uAC04\\uC774 \\uC5C6\\uACE0 AI \\uC218\\uC815\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \\uACBD\\uC6B0 \\uC5EC\\uBC31\\uC5D0\\uC11C \\uCF54\\uB4DC \\uC791\\uC5C5 \\uBA54\\uB274\\uB97C \\uC0DD\\uC131\\uD558\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uACF5\\uAC04\\uC774 \\uC5C6\\uACE0 AI \\uC218\\uC815 \\uBC0F \\uBE60\\uB978 \\uC218\\uC815\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \\uACBD\\uC6B0 \\uC5EC\\uBC31\\uC5D0\\uC11C \\uCF54\\uB4DC \\uC791\\uC5C5 \\uBA54\\uB274\\uB97C \\uC0DD\\uC131\\uD558\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uACF5\\uAC04\\uC774 \\uC5C6\\uACE0 AI \\uC218\\uC815 \\uBC0F \\uBE60\\uB978 \\uC218\\uC815\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \\uACBD\\uC6B0 \\uC5EC\\uBC31\\uC5D0\\uC11C \\uCF54\\uB4DC \\uC791\\uC5C5 \\uBA54\\uB274\\uB97C \\uC0DD\\uC131\\uD558\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uC2E4\\uD589: {0}\",\"\\uCF54\\uB4DC \\uC791\\uC5C5 \\uD45C\\uC2DC. \\uAE30\\uBCF8 \\uC124\\uC815 \\uBE60\\uB978 \\uC218\\uC815 \\uC0AC\\uC6A9 \\uAC00\\uB2A5({0})\",\"\\uCF54\\uB4DC \\uC791\\uC5C5 \\uD45C\\uC2DC({0})\",\"\\uCF54\\uB4DC \\uC791\\uC5C5 \\uD45C\\uC2DC\",\"\\uD604\\uC7AC \\uC904\\uC5D0 \\uB300\\uD55C \\uCF54\\uB4DC \\uB80C\\uC988 \\uBA85\\uB839 \\uD45C\\uC2DC\",\"\\uBA85\\uB839 \\uC120\\uD0DD\",null,null,null,null,null,null,null,null,null,\"\\uC904 \\uC8FC\\uC11D \\uC124\\uC815/\\uD574\\uC81C\",\"\\uC904 \\uC8FC\\uC11D \\uC124\\uC815/\\uD574\\uC81C(&&T)\",\"\\uC904 \\uC8FC\\uC11D \\uCD94\\uAC00\",\"\\uC904 \\uC8FC\\uC11D \\uC81C\\uAC70\",\"\\uBE14\\uB85D \\uC8FC\\uC11D \\uC124\\uC815/\\uD574\\uC81C\",\"\\uBE14\\uB85D \\uC8FC\\uC11D \\uC124\\uC815/\\uD574\\uC81C(&&B)\",\"\\uBBF8\\uB2C8\\uB9F5\",\"\\uBB38\\uC790 \\uB80C\\uB354\\uB9C1\",\"\\uC138\\uB85C \\uD06C\\uAE30\",\"\\uBE44\\uB840\",\"\\uCC44\\uC6B0\\uAE30\",\"\\uB9DE\\uCDA4\",\"\\uC2AC\\uB77C\\uC774\\uB354\",\"\\uB9C8\\uC6B0\\uC2A4 \\uC704\\uB85C\",\"\\uD56D\\uC0C1\",\"\\uD3B8\\uC9D1\\uAE30 \\uC0C1\\uD669\\uC5D0 \\uB9DE\\uB294 \\uBA54\\uB274 \\uD45C\\uC2DC\",\"\\uCEE4\\uC11C \\uC2E4\\uD589 \\uCDE8\\uC18C\",\"\\uCEE4\\uC11C \\uB2E4\\uC2DC \\uC2E4\\uD589\",`\\uC801\\uC6A9\\uD560 \\uBD99\\uC5EC\\uB123\\uAE30 \\uD3B8\\uC9D1\\uC758 \\uC885\\uB958\\uC785\\uB2C8\\uB2E4.\\r\n\\uC774\\uB7EC\\uD55C \\uC885\\uB958\\uC758 \\uD3B8\\uC9D1\\uC774 \\uC5EC\\uB7EC \\uAC1C \\uC788\\uB294 \\uACBD\\uC6B0 \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uC120\\uD0DD\\uAE30\\uAC00 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uC885\\uB958\\uC758 \\uD3B8\\uC9D1\\uC774 \\uC5C6\\uC73C\\uBA74 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC624\\uB958 \\uBA54\\uC2DC\\uC9C0\\uAC00 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.`,\"\\uB2E4\\uB978 \\uC774\\uB984\\uC73C\\uB85C \\uBD99\\uC5EC\\uB123\\uAE30...\",\"\\uD14D\\uC2A4\\uD2B8\\uB85C \\uBD99\\uC5EC\\uB123\\uAE30\",\"\\uBD99\\uC5EC\\uB123\\uAE30 \\uC704\\uC82F\\uC774 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uBD99\\uC5EC\\uB123\\uAE30 \\uC635\\uC158 \\uD45C\\uC2DC...\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uBD99\\uC5EC\\uB123\\uAE30 \\uD3B8\\uC9D1\\uC744 \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBD99\\uC5EC\\uB123\\uAE30 \\uD3B8\\uC9D1\\uC744 \\uD574\\uACB0\\uD558\\uB294 \\uC911\\uC785\\uB2C8\\uB2E4. \\uCDE8\\uC18C\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\",\"\\uBD99\\uC5EC\\uB123\\uAE30 \\uCC98\\uB9AC\\uAE30\\uB97C \\uC2E4\\uD589\\uD558\\uB294 \\uC911. \\uCDE8\\uC18C\\uD558\\uACE0 \\uAE30\\uBCF8 \\uBD99\\uC5EC\\uB123\\uAE30\\uB97C \\uC218\\uD589\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\\uD558\\uC138\\uC694.\",\"\\uBD99\\uC5EC\\uB123\\uAE30 \\uC791\\uC5C5 \\uC120\\uD0DD\",\"\\uBD99\\uC5EC\\uB123\\uAE30 \\uCC98\\uB9AC\\uAE30\\uB97C \\uC2E4\\uD589\\uD558\\uB294 \\uC911\",\"\\uC77C\\uBC18 \\uD14D\\uC2A4\\uD2B8 \\uC0BD\\uC785\",\"URI \\uC0BD\\uC785\",\"URI \\uC0BD\\uC785\",\"\\uACBD\\uB85C \\uC0BD\\uC785\",\"\\uACBD\\uB85C \\uC0BD\\uC785\",\"\\uC0C1\\uB300 \\uACBD\\uB85C \\uC0BD\\uC785\",\"\\uC0C1\\uB300 \\uACBD\\uB85C \\uC0BD\\uC785\",\"HTML \\uC0BD\\uC785\",null,\"\\uB4DC\\uB86D \\uC704\\uC82F\\uC774 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uB4DC\\uB86D \\uC635\\uC158 \\uD45C\\uC2DC...\",\"\\uB4DC\\uB86D \\uCC98\\uB9AC\\uAE30\\uB97C \\uC2E4\\uD589\\uD558\\uB294 \\uC911\\uC785\\uB2C8\\uB2E4. \\uCDE8\\uC18C\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\\uD558\\uC138\\uC694.\",`'{0}' \\uD3B8\\uC9D1\\uC744 \\uD655\\uC778\\uD558\\uB294 \\uB3D9\\uC548 \\uC624\\uB958 \\uBC1C\\uC0DD:\\r\n{1}`,`'{0}' \\uD3B8\\uC9D1\\uC744 \\uC801\\uC6A9\\uD558\\uB294 \\uB3D9\\uC548 \\uC624\\uB958 \\uBC1C\\uC0DD:\\r\n{1}`,\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uCDE8\\uC18C \\uAC00\\uB2A5\\uD55C \\uC791\\uC5C5(\\uC608: '\\uCC38\\uC870 \\uD53C\\uD0B9')\\uC744 \\uC2E4\\uD589\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD30C\\uC77C\\uC774 \\uB108\\uBB34 \\uCEE4\\uC11C \\uBAA8\\uB450 \\uBC14\\uAFB8\\uAE30 \\uC791\\uC5C5\\uC744 \\uC218\\uD589\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uCC3E\\uAE30\",\"\\uCC3E\\uAE30(&&F)\",\"\\uC778\\uC218\\uB85C \\uCC3E\\uAE30\",\"\\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C \\uCC3E\\uAE30\",\"\\uB2E4\\uC74C \\uCC3E\\uAE30\",\"\\uC774\\uC804 \\uCC3E\\uAE30\",\"\\uC77C\\uCE58 \\uD56D\\uBAA9\\uC73C\\uB85C \\uC774\\uB3D9...\",\"\\uC77C\\uCE58\\uD558\\uB294 \\uD56D\\uBAA9\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. \\uB2E4\\uB978 \\uB0B4\\uC6A9\\uC73C\\uB85C \\uAC80\\uC0C9\\uD574 \\uBCF4\\uC138\\uC694.\",\"\\uD2B9\\uC815 \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC73C\\uB85C \\uC774\\uB3D9\\uD558\\uB824\\uBA74 \\uC22B\\uC790\\uB97C \\uC785\\uB825\\uD558\\uC138\\uC694(1~{0} \\uC0AC\\uC774).\",\"1\\uC5D0\\uC11C {0} \\uC0AC\\uC774\\uC758 \\uC22B\\uC790\\uB97C \\uC785\\uB825\\uD558\\uC138\\uC694\",\"1\\uC5D0\\uC11C {0} \\uC0AC\\uC774\\uC758 \\uC22B\\uC790\\uB97C \\uC785\\uB825\\uD558\\uC138\\uC694\",\"\\uB2E4\\uC74C \\uC120\\uD0DD \\uCC3E\\uAE30\",\"\\uC774\\uC804 \\uC120\\uD0DD \\uCC3E\\uAE30\",\"\\uBC14\\uAFB8\\uAE30\",\"\\uBC14\\uAFB8\\uAE30(&&R)\",\"\\uD3B8\\uC9D1\\uAE30 \\uCC3E\\uAE30 \\uC704\\uC82F\\uC774 \\uCD95\\uC18C\\uB418\\uC5C8\\uC74C\\uC744 \\uB098\\uD0C0\\uB0B4\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCC3E\\uAE30 \\uC704\\uC82F\\uC774 \\uD655\\uC7A5\\uB418\\uC5C8\\uC74C\\uC744 \\uB098\\uD0C0\\uB0B4\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCC3E\\uAE30 \\uC704\\uC82F\\uC5D0\\uC11C '\\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C \\uCC3E\\uAE30'\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCC3E\\uAE30 \\uC704\\uC82F\\uC5D0\\uC11C '\\uBC14\\uAFB8\\uAE30'\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCC3E\\uAE30 \\uC704\\uC82F\\uC5D0\\uC11C '\\uBAA8\\uB450 \\uBC14\\uAFB8\\uAE30'\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCC3E\\uAE30 \\uC704\\uC82F\\uC5D0\\uC11C '\\uC774\\uC804 \\uCC3E\\uAE30'\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uCC3E\\uAE30 \\uC704\\uC82F\\uC5D0\\uC11C '\\uB2E4\\uC74C \\uCC3E\\uAE30'\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uCC3E\\uAE30/\\uBC14\\uAFB8\\uAE30\",\"\\uCC3E\\uAE30\",\"\\uCC3E\\uAE30\",\"\\uC774\\uC804 \\uAC80\\uC0C9 \\uACB0\\uACFC\",\"\\uB2E4\\uC74C \\uAC80\\uC0C9 \\uACB0\\uACFC\",\"\\uC120\\uD0DD \\uD56D\\uBAA9\\uC5D0\\uC11C \\uCC3E\\uAE30\",\"\\uB2EB\\uAE30\",\"\\uBC14\\uAFB8\\uAE30\",\"\\uBC14\\uAFB8\\uAE30\",\"\\uBC14\\uAFB8\\uAE30\",\"\\uBAA8\\uB450 \\uBC14\\uAFB8\\uAE30\",\"\\uBC14\\uAFB8\\uAE30 \\uC124\\uC815/\\uD574\\uC81C\",\"\\uCC98\\uC74C {0}\\uAC1C\\uC758 \\uACB0\\uACFC\\uAC00 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB418\\uC9C0\\uB9CC \\uBAA8\\uB4E0 \\uCC3E\\uAE30 \\uC791\\uC5C5\\uC740 \\uC804\\uCCB4 \\uD14D\\uC2A4\\uD2B8\\uC5D0 \\uB300\\uD574 \\uC218\\uD589\\uB429\\uB2C8\\uB2E4.\",\"{1}\\uC758 {0}\",\"\\uACB0\\uACFC \\uC5C6\\uC74C\",\"{0}\\uAC1C \\uCC3E\\uC74C\",\"'{1}'\\uC5D0 \\uB300\\uD55C {0}\\uC744(\\uB97C) \\uCC3E\\uC74C\",\"{2}\\uC5D0\\uC11C '{1}'\\uC5D0 \\uB300\\uD55C {0}\\uC744(\\uB97C) \\uCC3E\\uC74C\",\"'{1}'\\uC5D0 \\uB300\\uD55C {0}\\uC744(\\uB97C) \\uCC3E\\uC74C\",\"Ctrl+Enter\\uB97C \\uB204\\uB974\\uBA74 \\uC774\\uC81C \\uBAA8\\uB4E0 \\uD56D\\uBAA9\\uC744 \\uBC14\\uAFB8\\uC9C0 \\uC54A\\uACE0 \\uC904 \\uBC14\\uAFC8\\uC744 \\uC0BD\\uC785\\uD569\\uB2C8\\uB2E4. editor.action.replaceAll\\uC758 \\uD0A4 \\uBC14\\uC778\\uB529\\uC744 \\uC218\\uC815\\uD558\\uC5EC \\uC774 \\uB3D9\\uC791\\uC744 \\uC7AC\\uC815\\uC758\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD3BC\\uCE58\\uAE30\",\"\\uC7AC\\uADC0\\uC801\\uC73C\\uB85C \\uD3BC\\uCE58\\uAE30\",\"\\uC811\\uAE30\",\"\\uC811\\uAE30 \\uC804\\uD658\",\"\\uC7AC\\uADC0\\uC801\\uC73C\\uB85C \\uC811\\uAE30\",\"\\uC7AC\\uADC0\\uC801\\uC73C\\uB85C \\uC811\\uAE30 \\uD1A0\\uAE00\",\"\\uBAA8\\uB4E0 \\uBE14\\uB85D \\uCF54\\uBA58\\uD2B8\\uB97C \\uC811\\uAE30\",\"\\uBAA8\\uB4E0 \\uC601\\uC5ED \\uC811\\uAE30\",\"\\uBAA8\\uB4E0 \\uC601\\uC5ED \\uD3BC\\uCE58\\uAE30\",\"\\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC744 \\uC81C\\uC678\\uD55C \\uBAA8\\uB4E0 \\uD56D\\uBAA9 \\uC811\\uAE30\",\"\\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC744 \\uC81C\\uC678\\uD55C \\uBAA8\\uB4E0 \\uD56D\\uBAA9 \\uD45C\\uC2DC\",\"\\uBAA8\\uB450 \\uC811\\uAE30\",\"\\uBAA8\\uB450 \\uD3BC\\uCE58\\uAE30\",\"\\uBD80\\uBAA8 \\uD3F4\\uB529\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uC774\\uC804 \\uC811\\uAE30 \\uBC94\\uC704\\uB85C \\uC774\\uB3D9\",\"\\uB2E4\\uC74C \\uC811\\uAE30 \\uBC94\\uC704\\uB85C \\uC774\\uB3D9\",\"\\uC120\\uD0DD \\uC601\\uC5ED\\uC5D0\\uC11C \\uC811\\uAE30 \\uBC94\\uC704 \\uB9CC\\uB4E4\\uAE30\",\"\\uC218\\uB3D9 \\uD3F4\\uB529 \\uBC94\\uC704 \\uC81C\\uAC70\",\"\\uC218\\uC900 {0} \\uC811\\uAE30\",\"\\uC811\\uD78C \\uBC94\\uC704\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC0C9\\uC740 \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uAE30 \\uC704\\uD574 \\uBD88\\uD22C\\uBA85\\uD574\\uC11C\\uB294 \\uC548 \\uB429\\uB2C8\\uB2E4.\",\"\\uC811\\uD78C \\uBC94\\uC704\\uC758 \\uCCAB \\uBC88\\uC9F8 \\uC904 \\uB4A4\\uC5D0 \\uC788\\uB294 \\uCD95\\uC18C\\uB41C \\uD14D\\uC2A4\\uD2B8\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC5EC\\uBC31\\uC758 \\uC811\\uAE30 \\uCEE8\\uD2B8\\uB864 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uBB38\\uC790 \\uBAA8\\uC591 \\uC5EC\\uBC31\\uC5D0\\uC11C \\uD655\\uC7A5\\uB41C \\uBC94\\uC704\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uBB38\\uC790 \\uBAA8\\uC591 \\uC5EC\\uBC31\\uC5D0\\uC11C \\uCD95\\uC18C\\uB41C \\uBC94\\uC704\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uBB38\\uC790 \\uBAA8\\uC591 \\uC5EC\\uBC31\\uC5D0\\uC11C \\uC218\\uB3D9\\uC73C\\uB85C \\uCD95\\uC18C\\uB41C \\uBC94\\uC704\\uC5D0 \\uB300\\uD55C \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uBB38\\uC790 \\uBAA8\\uC591 \\uC5EC\\uBC31\\uC5D0\\uC11C \\uC218\\uB3D9\\uC73C\\uB85C \\uD655\\uC7A5\\uB41C \\uBC94\\uC704\\uC5D0 \\uB300\\uD55C \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uBC94\\uC704\\uB97C \\uD655\\uC7A5\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\\uD569\\uB2C8\\uB2E4.\",\"\\uBC94\\uC704\\uB97C \\uCD95\\uC18C\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAE00\\uAF34 \\uD06C\\uAE30 \\uB298\\uB9AC\\uAE30\",\"\\uD3B8\\uC9D1\\uAE30 \\uAE00\\uAF34 \\uD06C\\uAE30 \\uC904\\uC774\\uAE30\",\"\\uD3B8\\uC9D1\\uAE30 \\uAE00\\uAF34 \\uD06C\\uAE30 \\uB2E4\\uC2DC \\uC124\\uC815\",\"\\uBB38\\uC11C \\uC11C\\uC2DD\",\"\\uC120\\uD0DD \\uC601\\uC5ED \\uC11C\\uC2DD\",\"\\uB2E4\\uC74C \\uBB38\\uC81C\\uB85C \\uC774\\uB3D9 (\\uC624\\uB958, \\uACBD\\uACE0, \\uC815\\uBCF4)\",\"\\uB2E4\\uC74C \\uB9C8\\uCEE4\\uB85C \\uC774\\uB3D9\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uC774\\uC804 \\uBB38\\uC81C\\uB85C \\uC774\\uB3D9 (\\uC624\\uB958, \\uACBD\\uACE0, \\uC815\\uBCF4)\",\"\\uC774\\uC804 \\uB9C8\\uCEE4\\uB85C \\uC774\\uB3D9\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uD30C\\uC77C\\uC758 \\uB2E4\\uC74C \\uBB38\\uC81C\\uB85C \\uC774\\uB3D9 (\\uC624\\uB958, \\uACBD\\uACE0, \\uC815\\uBCF4)\",\"\\uB2E4\\uC74C \\uBB38\\uC81C(&&P)\",\"\\uD30C\\uC77C\\uC758 \\uC774\\uC804 \\uBB38\\uC81C\\uB85C \\uC774\\uB3D9 (\\uC624\\uB958, \\uACBD\\uACE0, \\uC815\\uBCF4)\",\"\\uC774\\uC804 \\uBB38\\uC81C(&&P)\",\"\\uC624\\uB958\",\"\\uACBD\\uACE0\",\"\\uC815\\uBCF4\",\"\\uD78C\\uD2B8\",\"{1}\\uC758 {0}\\uC785\\uB2C8\\uB2E4. \",\"\\uBB38\\uC81C {1}\\uAC1C \\uC911 {0}\\uAC1C\",\"\\uBB38\\uC81C {1}\\uAC1C \\uC911 {0}\\uAC1C\",\"\\uD3B8\\uC9D1\\uAE30 \\uD45C\\uC2DD \\uD0D0\\uC0C9 \\uC704\\uC82F \\uC624\\uB958 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB9C8\\uCEE4 \\uD0D0\\uC0C9 \\uC704\\uC82F \\uC624\\uB958 \\uC81C\\uBAA9 \\uBC30\\uACBD.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD45C\\uC2DD \\uD0D0\\uC0C9 \\uC704\\uC82F \\uACBD\\uACE0 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB9C8\\uCEE4 \\uD0D0\\uC0C9 \\uC704\\uC82F \\uACBD\\uACE0 \\uC81C\\uBAA9 \\uBC30\\uACBD.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD45C\\uC2DD \\uD0D0\\uC0C9 \\uC704\\uC82F \\uC815\\uBCF4 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB9C8\\uCEE4 \\uD0D0\\uC0C9 \\uC704\\uC82F \\uC815\\uBCF4 \\uC81C\\uBAA9 \\uBC30\\uACBD.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD45C\\uC2DD \\uD0D0\\uC0C9 \\uC704\\uC82F \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uD53C\\uD0B9\",\"\\uC815\\uC758\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uC815\\uC758\\uB97C \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC815\\uC758\\uB97C \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC74C\",\"\\uC815\\uC758\\uB85C \\uC774\\uB3D9(&&D)\",\"\\uC120\\uC5B8\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uC120\\uC5B8\\uC744 \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC74C\",\"\\uC120\\uC5B8\\uC744 \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC74C\",\"\\uC120\\uC5B8\\uC73C\\uB85C \\uC774\\uB3D9(&&D)\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uC120\\uC5B8\\uC744 \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC74C\",\"\\uC120\\uC5B8\\uC744 \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC74C\",\"\\uD615\\uC2DD \\uC815\\uC758\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uD615\\uC2DD \\uC815\\uC758\\uB97C \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD615\\uC2DD \\uC815\\uC758\\uB97C \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD615\\uC2DD \\uC815\\uC758\\uB85C \\uC774\\uB3D9(&&T)\",\"\\uAD6C\\uD604\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uAD6C\\uD604\\uC744 \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAD6C\\uD604\\uC744 \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAD6C\\uD604\\uC73C\\uB85C \\uC774\\uB3D9(&&I)\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uCC38\\uC870\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uCC38\\uC870\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uCC38\\uC870\\uB85C \\uC774\\uB3D9(&&R)\",\"\\uCC38\\uC870\",\"\\uCC38\\uC870\",\"\\uC704\\uCE58\",\"'{0}'\\uC5D0 \\uB300\\uD55C \\uAC80\\uC0C9 \\uACB0\\uACFC\\uAC00 \\uC5C6\\uC74C\",\"\\uCC38\\uC870\",\"\\uC815\\uC758\\uB85C \\uC774\\uB3D9\",\"\\uCE21\\uBA74\\uC5D0\\uC11C \\uC815\\uC758 \\uC5F4\\uAE30\",\"\\uC815\\uC758 \\uD53C\\uD0B9\",\"\\uC120\\uC5B8\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uC120\\uC5B8 \\uBBF8\\uB9AC \\uBCF4\\uAE30\",\"\\uD615\\uC2DD \\uC815\\uC758\\uB85C \\uC774\\uB3D9\",\"\\uD615\\uC2DD \\uC815\\uC758 \\uBBF8\\uB9AC \\uBCF4\\uAE30\",\"\\uAD6C\\uD604\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uD53C\\uD0B9 \\uAD6C\\uD604\",\"\\uCC38\\uC870\\uB85C \\uC774\\uB3D9\",\"\\uCC38\\uC870 \\uBBF8\\uB9AC \\uBCF4\\uAE30\",\"\\uC784\\uC758\\uC758 \\uAE30\\uD638\\uB85C \\uC774\\uB3D9\",\"{0}\\uAC1C \\uC815\\uC758\\uB97C \\uD45C\\uC2DC\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\\uD558\\uC138\\uC694.\",\"'\\uCC38\\uC870 \\uD53C\\uD0B9' \\uB610\\uB294 '\\uC815\\uC758 \\uD53C\\uD0B9'\\uACFC \\uAC19\\uC774 \\uCC38\\uC870 \\uD53C\\uD0B9\\uC774 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uB85C\\uB4DC \\uC911...\",\"{0}({1})\",\"\\uCC38\\uC870 {0}\\uAC1C\",\"\\uCC38\\uC870 {0}\\uAC1C\",\"\\uCC38\\uC870\",\"\\uBBF8\\uB9AC \\uBCF4\\uAE30\\uB97C \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"\\uACB0\\uACFC \\uC5C6\\uC74C\",\"\\uCC38\\uC870\",\"{2} \\uC5F4\\uC5D0 \\uC788\\uB294 {1} \\uD589\\uC758 {0}\\uC5D0\",\"{3} \\uC5F4\\uC5D0\\uC11C {2} \\uD589\\uC758 {1}\\uC5D0 {0}\",\"{0}\\uC758 \\uAE30\\uD638 1\\uAC1C, \\uC804\\uCCB4 \\uACBD\\uB85C {1}\",\"{1}\\uC758 \\uAE30\\uD638 {0}\\uAC1C, \\uC804\\uCCB4 \\uACBD\\uB85C {2}\",\"\\uACB0\\uACFC \\uC5C6\\uC74C\",\"{0}\\uC5D0\\uC11C \\uAE30\\uD638 1\\uAC1C\\uB97C \\uCC3E\\uC558\\uC2B5\\uB2C8\\uB2E4.\",\"{1}\\uC5D0\\uC11C \\uAE30\\uD638 {0}\\uAC1C\\uB97C \\uCC3E\\uC558\\uC2B5\\uB2C8\\uB2E4.\",\"{1}\\uAC1C \\uD30C\\uC77C\\uC5D0\\uC11C \\uAE30\\uD638 {0}\\uAC1C\\uB97C \\uCC3E\\uC558\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD0A4\\uBCF4\\uB4DC\\uB9CC\\uC73C\\uB85C \\uD0D0\\uC0C9\\uD560 \\uC218 \\uC788\\uB294 \\uAE30\\uD638 \\uC704\\uCE58\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"{1}\\uC758 {0} \\uAE30\\uD638, \\uB2E4\\uC74C\\uC758 \\uACBD\\uC6B0 {2}\",\"{1}\\uC758 \\uAE30\\uD638 {0}\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC138\\uBD80 \\uC815\\uBCF4 \\uD45C\\uC2DC \\uC218\\uC900 \\uB298\\uB9AC\\uAE30\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC138\\uBD80 \\uC815\\uBCF4 \\uD45C\\uC2DC \\uC218\\uC900 \\uAC10\\uC18C\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uB610\\uB294 \\uD3EC\\uCEE4\\uC2A4 \\uD45C\\uC2DC\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uCF1C\\uB3C4 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC62E\\uACA8 \\uAC00\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0A4\\uBA74 \\uC774\\uBBF8 \\uD45C\\uC2DC\\uB41C \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC62E\\uACA8 \\uAC11\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0A4\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uB098\\uD0C0\\uB098\\uB294 \\uACBD\\uC6B0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC790\\uB3D9\\uC73C\\uB85C \\uC62E\\uACA8 \\uAC11\\uB2C8\\uB2E4.\",\"\\uC815\\uC758 \\uBBF8\\uB9AC \\uBCF4\\uAE30 \\uAC00\\uB9AC\\uD0A8 \\uD56D\\uBAA9 \\uD45C\\uC2DC\",\"\\uC704\\uB85C \\uC2A4\\uD06C\\uB864 \\uAC00\\uB9AC\\uD0A4\\uAE30\",\"\\uC544\\uB798\\uB85C \\uC2A4\\uD06C\\uB864 \\uAC00\\uB9AC\\uD0A4\\uAE30\",\"\\uC67C\\uCABD\\uC73C\\uB85C \\uC2A4\\uD06C\\uB864 \\uAC00\\uB9AC\\uD0A4\\uAE30\",\"\\uC624\\uB978\\uCABD\\uC73C\\uB85C \\uC2A4\\uD06C\\uB864 \\uAC00\\uB9AC\\uD0A4\\uAE30\",\"\\uD398\\uC774\\uC9C0 \\uC704\\uB85C \\uAC00\\uB9AC\\uD0A4\\uAE30\",\"\\uD398\\uC774\\uC9C0 \\uC544\\uB798\\uCABD \\uAC00\\uB9AC\\uD0A4\\uAE30\",\"\\uC704\\uCABD \\uAC00\\uB9AC\\uD0A4\\uAE30\\uB85C \\uC774\\uB3D9\",\"\\uC544\\uB798\\uCABD \\uAC00\\uB9AC\\uD0A4\\uAE30\\uB85C \\uC774\\uB3D9\",\"\\uD604\\uC7AC \\uCEE4\\uC11C \\uC704\\uCE58\\uC5D0 \\uC788\\uB294 \\uAE30\\uD638\\uC5D0 \\uB300\\uD55C \\uC124\\uBA85\\uC11C, \\uCC38\\uC870 \\uBC0F \\uAE30\\uD0C0 \\uCF58\\uD150\\uCE20\\uB97C \\uD45C\\uC2DC\\uD558\\uB294 \\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30\\uB97C \\uD45C\\uC2DC\\uD558\\uAC70\\uB098 \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uC9C0\\uC815\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC815\\uC758 \\uBBF8\\uB9AC \\uBCF4\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30 \\uD45C\\uC2DC.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30\\uB97C \\uC704\\uB85C \\uC2A4\\uD06C\\uB864.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC544\\uB798\\uB85C \\uC2A4\\uD06C\\uB864.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC67C\\uCABD \\uC2A4\\uD06C\\uB864.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC624\\uB978\\uCABD\\uC73C\\uB85C \\uC2A4\\uD06C\\uB864.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30 \\uD398\\uC774\\uC9C0 \\uC704\\uB85C.\",\"\\uC5D0\\uB514\\uD130 \\uAC00\\uB9AC\\uD0A4\\uAE30 \\uD398\\uC774\\uC9C0 \\uC544\\uB798\\uB85C.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30\\uC758 \\uC0C1\\uB2E8\\uC73C\\uB85C \\uC774\\uB3D9.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAC00\\uB9AC\\uD0A4\\uAE30 \\uB9E8 \\uC544\\uB798\\uB85C \\uC774\\uB3D9.\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC138\\uBD80 \\uC815\\uBCF4 \\uD45C\\uC2DC\\uB97C \\uB298\\uB9AC\\uAE30 \\uC704\\uD55C \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC138\\uBD80 \\uC815\\uBCF4 \\uD45C\\uC2DC\\uB97C \\uC904\\uC774\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uB85C\\uB4DC \\uC911...\",\"\\uC131\\uB2A5\\uC0C1\\uC758 \\uC774\\uC720\\uB85C \\uAE34 \\uC904\\uB85C \\uC778\\uD574 \\uB80C\\uB354\\uB9C1\\uC774 \\uC77C\\uC2DC \\uC911\\uC9C0\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. `editor.stopRenderingLineAfter`\\uB97C \\uD1B5\\uD574 \\uAD6C\\uC131\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC131\\uB2A5\\uC0C1\\uC758 \\uC774\\uC720\\uB85C \\uAE34 \\uC904\\uC758 \\uACBD\\uC6B0 \\uD1A0\\uD070\\uD654\\uB97C \\uAC74\\uB108\\uB701\\uB2C8\\uB2E4. \\uC774 \\uD56D\\uBAA9\\uC740 'editor.maxTokenizationLineLength'\\uB97C \\uD1B5\\uD574 \\uAD6C\\uC131\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC138\\uBD80 \\uC815\\uBCF4 \\uD45C\\uC2DC \\uC99D\\uAC00({0})\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC138\\uBD80 \\uC815\\uBCF4 \\uD45C\\uC2DC \\uC99D\\uAC00\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC138\\uBD80 \\uC815\\uBCF4 \\uD45C\\uC2DC \\uAC10\\uC18C({0})\",\"\\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC138\\uBD80 \\uC815\\uBCF4 \\uD45C\\uC2DC \\uAC10\\uC18C\",\"\\uBB38\\uC81C \\uBCF4\\uAE30\",\"\\uBE60\\uB978 \\uC218\\uC815\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"\\uBE60\\uB978 \\uC218\\uC815\\uC744 \\uD655\\uC778\\uD558\\uB294 \\uC911...\",\"\\uBE60\\uB978 \\uC218\\uC815\\uC744 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC5C6\\uC74C\",\"\\uBE60\\uB978 \\uC218\\uC815...\",\"\\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uACF5\\uBC31\\uC73C\\uB85C \\uBCC0\\uD658\",\"\\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uD0ED\\uC73C\\uB85C \\uBCC0\\uD658\",\"\\uAD6C\\uC131\\uB41C \\uD0ED \\uD06C\\uAE30\",\"\\uAE30\\uBCF8 \\uD0ED \\uD06C\\uAE30\",\"\\uD604\\uC7AC \\uD0ED \\uD06C\\uAE30\",\"\\uD604\\uC7AC \\uD30C\\uC77C\\uC758 \\uD0ED \\uD06C\\uAE30 \\uC120\\uD0DD\",\"\\uD0ED\\uC744 \\uC0AC\\uC6A9\\uD55C \\uB4E4\\uC5EC\\uC4F0\\uAE30\",\"\\uACF5\\uBC31\\uC744 \\uC0AC\\uC6A9\\uD55C \\uB4E4\\uC5EC\\uC4F0\\uAE30\",\"\\uD0ED \\uD45C\\uC2DC \\uD06C\\uAE30 \\uBCC0\\uACBD\",\"\\uCF58\\uD150\\uCE20\\uC5D0\\uC11C \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uAC10\\uC9C0\",\"\\uC904 \\uB2E4\\uC2DC \\uB4E4\\uC5EC\\uC4F0\\uAE30\",\"\\uC120\\uD0DD\\uD55C \\uC904 \\uB2E4\\uC2DC \\uB4E4\\uC5EC\\uC4F0\\uAE30\",\"\\uD0ED \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uACF5\\uBC31\\uC73C\\uB85C \\uBCC0\\uD658\\uD569\\uB2C8\\uB2E4.\",\"\\uACF5\\uBC31 \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uD0ED\\uC73C\\uB85C \\uBCC0\\uD658\\uD569\\uB2C8\\uB2E4.\",\"\\uD0ED\\uC73C\\uB85C \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uACF5\\uBC31\\uC73C\\uB85C \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uD0ED\\uC5D0 \\uD574\\uB2F9\\uD558\\uB294 \\uACF5\\uAC04 \\uD06C\\uAE30\\uB97C \\uBCC0\\uACBD\\uD569\\uB2C8\\uB2E4.\",\"\\uCF58\\uD150\\uCE20\\uC5D0\\uC11C \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uAC80\\uC0C9\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC758 \\uC904\\uC744 \\uB2E4\\uC2DC \\uC785\\uB825\\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD\\uD55C \\uD3B8\\uC9D1\\uAE30 \\uC904\\uC744 \\uB2E4\\uC2DC \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uD569\\uB2C8\\uB2E4.\",\"\\uC0BD\\uC785\\uD558\\uB824\\uBA74 \\uB450 \\uBC88 \\uD074\\uB9AD\",\"Cmd+\\uD074\\uB9AD\",\"Ctrl+\\uD074\\uB9AD\",\"Option+\\uD074\\uB9AD\",\"Alt+\\uD074\\uB9AD\",\"\\uC815\\uC758({0})\\uB85C \\uC774\\uB3D9\\uD558\\uC5EC \\uC790\\uC138\\uD788 \\uC54C\\uC544\\uBCF4\\uB824\\uBA74 \\uB9C8\\uC6B0\\uC2A4 \\uC624\\uB978\\uCABD \\uB2E8\\uCD94\\uB97C \\uD074\\uB9AD\\uD569\\uB2C8\\uB2E4.\",\"\\uC815\\uC758\\uB85C \\uC774\\uB3D9({0})\",\"\\uBA85\\uB839 \\uC2E4\\uD589\",\"\\uB2E4\\uC74C \\uC778\\uB77C\\uC778 \\uC81C\\uC548 \\uD45C\\uC2DC\",\"\\uC774\\uC804 \\uC778\\uB77C\\uC778 \\uC81C\\uC548 \\uD45C\\uC2DC\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548 \\uD2B8\\uB9AC\\uAC70\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC758 \\uB2E4\\uC74C \\uB2E8\\uC5B4 \\uC218\\uB77D\",\"\\uB2E8\\uC5B4 \\uC218\\uB77D\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC758 \\uB2E4\\uC74C \\uC904 \\uC218\\uB77D\",\"\\uC904 \\uC218\\uB77D\",\"\\uC778\\uB77C\\uC778 \\uCD94\\uCC9C \\uC218\\uB77D\",\"\\uC218\\uB77D\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548 \\uC228\\uAE30\\uAE30\",\"\\uD56D\\uC0C1 \\uB3C4\\uAD6C \\uBAA8\\uC74C \\uD45C\\uC2DC\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548 \\uD45C\\uC2DC \\uC5EC\\uBD80\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC774 \\uACF5\\uBC31\\uC73C\\uB85C \\uC2DC\\uC791\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC778\\uB77C\\uC778 \\uC81C\\uC548\\uC774 \\uD0ED\\uC5D0 \\uC758\\uD574 \\uC0BD\\uC785\\uB418\\uB294 \\uAC83\\uBCF4\\uB2E4 \\uC791\\uC740 \\uACF5\\uBC31\\uC73C\\uB85C \\uC2DC\\uC791\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD604\\uC7AC \\uC81C\\uC548\\uC5D0 \\uB300\\uD55C \\uC81C\\uC548 \\uD45C\\uC2DC \\uC5EC\\uBD80\",\"\\uC811\\uADFC\\uC131 \\uBCF4\\uAE30\\uC5D0\\uC11C \\uC774\\uB97C \\uAC80\\uC0AC({0})\",\"\\uC81C\\uC548:\",\"\\uB2E4\\uC74C \\uB9E4\\uAC1C \\uBCC0\\uC218 \\uD78C\\uD2B8 \\uD45C\\uC2DC\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uC774\\uC804 \\uB9E4\\uAC1C \\uBCC0\\uC218 \\uD78C\\uD2B8 \\uD45C\\uC2DC\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"{0}({1})\",\"\\uC774\\uC804\",\"\\uB2E4\\uC74C\",null,null,null,null,null,null,null,null,\"\\uC774\\uC804 \\uAC12\\uC73C\\uB85C \\uBC14\\uAFB8\\uAE30\",\"\\uB2E4\\uC74C \\uAC12\\uC73C\\uB85C \\uBC14\\uAFB8\\uAE30\",\"\\uC120 \\uC120\\uD0DD \\uC601\\uC5ED \\uD655\\uC7A5\",\"\\uC704\\uC5D0 \\uC904 \\uBCF5\\uC0AC\",\"\\uC704\\uC5D0 \\uC904 \\uBCF5\\uC0AC(&&C)\",\"\\uC544\\uB798\\uC5D0 \\uC904 \\uBCF5\\uC0AC\",\"\\uC544\\uB798\\uC5D0 \\uC904 \\uBCF5\\uC0AC(&&P)\",\"\\uC911\\uBCF5\\uB41C \\uC120\\uD0DD \\uC601\\uC5ED\",\"\\uC911\\uBCF5\\uB41C \\uC120\\uD0DD \\uC601\\uC5ED(&&D)\",\"\\uC904 \\uC704\\uB85C \\uC774\\uB3D9\",\"\\uC904 \\uC704\\uB85C \\uC774\\uB3D9(&&V)\",\"\\uC904 \\uC544\\uB798\\uB85C \\uC774\\uB3D9\",\"\\uC904 \\uC544\\uB798\\uB85C \\uC774\\uB3D9(&&L)\",\"\\uC904\\uC744 \\uC624\\uB984\\uCC28\\uC21C \\uC815\\uB82C\",\"\\uC904\\uC744 \\uB0B4\\uB9BC\\uCC28\\uC21C\\uC73C\\uB85C \\uC815\\uB82C\",\"\\uC911\\uBCF5 \\uB77C\\uC778 \\uC0AD\\uC81C\",\"\\uD6C4\\uD589 \\uACF5\\uBC31 \\uC790\\uB974\\uAE30\",\"\\uC904 \\uC0AD\\uC81C\",\"\\uC904 \\uB4E4\\uC5EC\\uC4F0\\uAE30\",\"\\uC904 \\uB0B4\\uC5B4\\uC4F0\\uAE30\",\"\\uC704\\uC5D0 \\uC904 \\uC0BD\\uC785\",\"\\uC544\\uB798\\uC5D0 \\uC904 \\uC0BD\\uC785\",\"\\uC67C\\uCABD \\uBAA8\\uB450 \\uC0AD\\uC81C\",\"\\uC6B0\\uCE21\\uC5D0 \\uC788\\uB294 \\uD56D\\uBAA9 \\uC0AD\\uC81C\",\"\\uC904 \\uC5F0\\uACB0\",\"\\uCEE4\\uC11C \\uC8FC\\uC704 \\uBB38\\uC790 \\uBC14\\uAFB8\\uAE30\",\"\\uB300\\uBB38\\uC790\\uB85C \\uBCC0\\uD658\",\"\\uC18C\\uBB38\\uC790\\uB85C \\uBCC0\\uD658\",\"\\uB2E8\\uC5B4\\uC758 \\uCCAB \\uAE00\\uC790\\uB97C \\uB300\\uBB38\\uC790\\uB85C \\uBCC0\\uD658\",\"\\uC2A4\\uB124\\uC774\\uD06C \\uD45C\\uAE30\\uBC95\\uC73C\\uB85C \\uBCC0\\uD658\",\"Camel Case\\uB85C \\uBCC0\\uD658\",\"Pascal Case \\uBCC0\\uD658\",\"Kebab \\uC0AC\\uB840\\uB85C \\uBCC0\\uD658\",\"\\uC5F0\\uACB0\\uB41C \\uD3B8\\uC9D1 \\uC2DC\\uC791\",\"\\uD615\\uC2DD\\uC758 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC790\\uB3D9\\uC73C\\uB85C \\uC774\\uB984\\uC744 \\uBC14\\uAFC0 \\uB54C\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"{0} \\uD615\\uC2DD\\uC774 \\uC62C\\uBC14\\uB974\\uC9C0 \\uC54A\\uC73C\\uBBC0\\uB85C \\uC774 \\uB9C1\\uD06C\\uB97C \\uC5F4\\uC9C0 \\uBABB\\uD588\\uC2B5\\uB2C8\\uB2E4\",\"\\uB300\\uC0C1\\uC774 \\uC5C6\\uC73C\\uBBC0\\uB85C \\uC774 \\uB9C1\\uD06C\\uB97C \\uC5F4\\uC9C0 \\uBABB\\uD588\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBA85\\uB839 \\uC2E4\\uD589\",\"\\uB9C1\\uD06C\\uB85C \\uC774\\uB3D9\",\"Cmd+\\uD074\\uB9AD\",\"Ctrl+\\uD074\\uB9AD\",\"Option+\\uD074\\uB9AD\",\"Alt+\\uD074\\uB9AD\",\"\\uBA85\\uB839 {0} \\uC2E4\\uD589\",\"\\uB9C1\\uD06C \\uC5F4\\uAE30\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uD604\\uC7AC \\uC778\\uB77C\\uC778 \\uBA54\\uC2DC\\uC9C0\\uB97C \\uD45C\\uC2DC\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uCEE4\\uC11C\\uAC00 \\uCD94\\uAC00\\uB428: {0}\",\"\\uCEE4\\uC11C\\uAC00 \\uCD94\\uAC00\\uB428: {0}\",\"\\uC704\\uC5D0 \\uCEE4\\uC11C \\uCD94\\uAC00\",\"\\uC704\\uC5D0 \\uCEE4\\uC11C \\uCD94\\uAC00(&&A)\",\"\\uC544\\uB798\\uC5D0 \\uCEE4\\uC11C \\uCD94\\uAC00\",\"\\uC544\\uB798\\uC5D0 \\uCEE4\\uC11C \\uCD94\\uAC00(&&D)\",\"\\uC904 \\uB05D\\uC5D0 \\uCEE4\\uC11C \\uCD94\\uAC00\",\"\\uC904 \\uB05D\\uC5D0 \\uCEE4\\uC11C \\uCD94\\uAC00(&&U)\",\"\\uB9E8 \\uC544\\uB798\\uC5D0 \\uCEE4\\uC11C \\uCD94\\uAC00\",\"\\uB9E8 \\uC704\\uC5D0 \\uCEE4\\uC11C \\uCD94\\uAC00\",\"\\uB2E4\\uC74C \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uCC3E\\uAE30\\uC5D0 \\uC120\\uD0DD \\uD56D\\uBAA9 \\uCD94\\uAC00\",\"\\uB2E4\\uC74C \\uD56D\\uBAA9 \\uCD94\\uAC00(&&N)\",\"\\uC774\\uC804 \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uCC3E\\uAE30\\uC5D0 \\uC120\\uD0DD \\uD56D\\uBAA9 \\uCD94\\uAC00\",\"\\uC774\\uC804 \\uD56D\\uBAA9 \\uCD94\\uAC00(&&R)\",\"\\uB2E4\\uC74C \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uCC3E\\uAE30\\uB85C \\uB9C8\\uC9C0\\uB9C9 \\uC120\\uD0DD \\uD56D\\uBAA9 \\uC774\\uB3D9\",\"\\uB9C8\\uC9C0\\uB9C9 \\uC120\\uD0DD \\uD56D\\uBAA9\\uC744 \\uC774\\uC804 \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uCC3E\\uAE30\\uB85C \\uC774\\uB3D9\",\"\\uC77C\\uCE58 \\uD56D\\uBAA9 \\uCC3E\\uAE30\\uC758 \\uBAA8\\uB4E0 \\uD56D\\uBAA9 \\uC120\\uD0DD\",\"\\uBAA8\\uB4E0 \\uD56D\\uBAA9 \\uC120\\uD0DD(&&O)\",\"\\uBAA8\\uB4E0 \\uD56D\\uBAA9 \\uBCC0\\uACBD\",\"\\uB2E4\\uC74C \\uCEE4\\uC11C \\uD3EC\\uCEE4\\uC2A4\",\"\\uB2E4\\uC74C \\uCEE4\\uC11C\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uB9DE\\uCDA5\\uB2C8\\uB2E4.\",\"\\uC774\\uC804 \\uCEE4\\uC11C \\uD3EC\\uCEE4\\uC2A4\",\"\\uC774\\uC804 \\uCEE4\\uC11C\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uB9DE\\uCDA5\\uB2C8\\uB2E4.\",\"\\uB9E4\\uAC1C \\uBCC0\\uC218 \\uD78C\\uD2B8 \\uD2B8\\uB9AC\\uAC70\",\"\\uB2E4\\uC74C \\uB9E4\\uAC1C \\uBCC0\\uC218 \\uD78C\\uD2B8 \\uD45C\\uC2DC\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uC774\\uC804 \\uB9E4\\uAC1C \\uBCC0\\uC218 \\uD78C\\uD2B8 \\uD45C\\uC2DC\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"{0}, \\uD78C\\uD2B8\",\"\\uB9E4\\uAC1C \\uBCC0\\uC218 \\uD78C\\uD2B8\\uC5D0 \\uC788\\uB294 \\uD65C\\uC131 \\uD56D\\uBAA9\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uCF54\\uB4DC \\uD3B8\\uC9D1\\uAE30\\uAC00 \\uD53C\\uD0B9 \\uB0B4\\uBD80\\uC5D0 \\uD3EC\\uD568\\uB418\\uC5C8\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uB2EB\\uAE30\",\"Peek \\uBDF0 \\uC81C\\uBAA9 \\uC601\\uC5ED\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uC81C\\uBAA9 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uC81C\\uBAA9 \\uC815\\uBCF4 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uD14C\\uB450\\uB9AC \\uBC0F \\uD654\\uC0B4\\uD45C \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uACB0\\uACFC \\uBAA9\\uB85D\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uACB0\\uACFC \\uBAA9\\uB85D\\uC5D0\\uC11C \\uB77C\\uC778 \\uB178\\uB4DC\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uACB0\\uACFC \\uBAA9\\uB85D\\uC5D0\\uC11C \\uD30C\\uC77C \\uB178\\uB4DC\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uACB0\\uACFC \\uBAA9\\uB85D\\uC5D0\\uC11C \\uC120\\uD0DD\\uB41C \\uD56D\\uBAA9\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uACB0\\uACFC \\uBAA9\\uB85D\\uC5D0\\uC11C \\uC120\\uD0DD\\uB41C \\uD56D\\uBAA9\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uAC70\\uD130 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD53C\\uD0B9 \\uBDF0 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uACB0\\uACFC \\uBAA9\\uB85D\\uC758 \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"Peek \\uBDF0 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uAC15\\uC870 \\uD45C\\uC2DC \\uD14C\\uB450\\uB9AC\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC790\\uB9AC \\uD45C\\uC2DC\\uC790 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC6B0\\uC120 \\uD14D\\uC2A4\\uD2B8 \\uD3B8\\uC9D1\\uAE30\\uB97C \\uC5F4\\uACE0 \\uC904\\uB85C \\uC774\\uB3D9\\uD569\\uB2C8\\uB2E4.\",\"\\uC904 {0} \\uBC0F \\uBB38\\uC790 {1}(\\uC73C)\\uB85C \\uC774\\uB3D9\\uD569\\uB2C8\\uB2E4.\",\"{0} \\uC904\\uB85C \\uC774\\uB3D9\\uD569\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uC904: {0}, \\uBB38\\uC790: {1} \\uC774\\uB3D9\\uD560 \\uC904 1~{2} \\uC0AC\\uC774\\uC758 \\uBC88\\uD638\\uB97C \\uC785\\uB825\\uD569\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uC904: {0}, \\uBB38\\uC790: {1}. \\uC774\\uB3D9\\uD560 \\uC904 \\uBC88\\uD638\\uB97C \\uC785\\uB825\\uD569\\uB2C8\\uB2E4.\",\"\\uAE30\\uD638\\uB85C \\uC774\\uB3D9\\uD558\\uB824\\uBA74 \\uBA3C\\uC800 \\uAE30\\uD638 \\uC815\\uBCF4\\uAC00 \\uC788\\uB294 \\uD14D\\uC2A4\\uD2B8 \\uD3B8\\uC9D1\\uAE30\\uB97C \\uC5FD\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC758 \\uD14D\\uC2A4\\uD2B8 \\uD3B8\\uC9D1\\uAE30\\uB294 \\uAE30\\uD638 \\uC815\\uBCF4\\uB97C \\uC81C\\uACF5\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC77C\\uCE58\\uD558\\uB294 \\uD3B8\\uC9D1\\uAE30 \\uAE30\\uD638 \\uC5C6\\uC74C\",\"\\uD3B8\\uC9D1\\uAE30 \\uAE30\\uD638 \\uC5C6\\uC74C\",\"\\uCE21\\uBA74\\uC5D0\\uC11C \\uC5F4\\uAE30\",\"\\uD558\\uB2E8\\uC5D0 \\uC5F4\\uAE30\",\"\\uAE30\\uD638({0})\",\"\\uC18D\\uC131({0})\",\"\\uBA54\\uC11C\\uB4DC({0})\",\"\\uD568\\uC218({0})\",\"\\uC0DD\\uC131\\uC790({0})\",\"\\uBCC0\\uC218({0})\",\"\\uD074\\uB798\\uC2A4({0})\",\"\\uAD6C\\uC870\\uCCB4({0})\",\"\\uC774\\uBCA4\\uD2B8({0})\",\"\\uC5F0\\uC0B0\\uC790({0})\",\"\\uC778\\uD130\\uD398\\uC774\\uC2A4({0})\",\"\\uB124\\uC784\\uC2A4\\uD398\\uC774\\uC2A4({0})\",\"\\uD328\\uD0A4\\uC9C0({0})\",\"\\uD615\\uC2DD \\uB9E4\\uAC1C \\uBCC0\\uC218({0})\",\"\\uBAA8\\uB4C8({0})\",\"\\uC18D\\uC131({0})\",\"\\uC5F4\\uAC70\\uD615({0})\",\"\\uC5F4\\uAC70\\uD615 \\uBA64\\uBC84({0})\",\"\\uBB38\\uC790\\uC5F4({0})\",\"\\uD30C\\uC77C({0})\",\"\\uBC30\\uC5F4({0})\",\"\\uC22B\\uC790({0})\",\"\\uBD80\\uC6B8({0})\",\"\\uAC1C\\uCCB4({0})\",\"\\uD0A4({0})\",\"\\uD544\\uB4DC({0})\",\"\\uC0C1\\uC218({0})\",\"\\uC77D\\uAE30 \\uC804\\uC6A9 \\uC785\\uB825\\uC5D0\\uC11C\\uB294 \\uD3B8\\uC9D1\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC77D\\uAE30 \\uC804\\uC6A9 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C\\uB294 \\uD3B8\\uC9D1\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uACB0\\uACFC\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC704\\uCE58 \\uC774\\uB984\\uC744 \\uBC14\\uAFB8\\uB294 \\uC911 \\uC54C \\uC218 \\uC5C6\\uB294 \\uC624\\uB958\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC2B5\\uB2C8\\uB2E4.\",\"'{0}'\\uC5D0\\uC11C '{1}'(\\uC73C)\\uB85C \\uC774\\uB984\\uC744 \\uBC14\\uAFB8\\uB294 \\uC911\",\"{1}\\uC5D0 {0} \\uC774\\uB984 \\uBC14\\uAFB8\\uAE30\",\"'{0}'\\uC744(\\uB97C) '{1}'(\\uC73C)\\uB85C \\uC774\\uB984\\uC744 \\uBCC0\\uACBD\\uD588\\uC2B5\\uB2C8\\uB2E4. \\uC694\\uC57D: {2}\",\"\\uC774\\uB984 \\uBC14\\uAFB8\\uAE30\\uB97C \\uD1B5\\uD574 \\uD3B8\\uC9D1 \\uB0B4\\uC6A9\\uC744 \\uC801\\uC6A9\\uD558\\uC9C0 \\uBABB\\uD588\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC774\\uB984 \\uBC14\\uAFB8\\uAE30\\uB97C \\uD1B5\\uD574 \\uD3B8\\uC9D1 \\uB0B4\\uC6A9\\uC744 \\uACC4\\uC0B0\\uD558\\uC9C0 \\uBABB\\uD588\\uC2B5\\uB2C8\\uB2E4.\",\"\\uAE30\\uD638 \\uC774\\uB984 \\uBC14\\uAFB8\\uAE30\",\"\\uC774\\uB984\\uC744 \\uBC14\\uAFB8\\uAE30 \\uC804\\uC5D0 \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC744 \\uBBF8\\uB9AC \\uBCFC \\uC218 \\uC788\\uB294 \\uAE30\\uB2A5 \\uC0AC\\uC6A9/\\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uD3EC\\uCEE4\\uC2A4 \\uB2E4\\uC74C \\uC774\\uB984 \\uBC14\\uAFB8\\uAE30 \\uC81C\\uC548\",\"\\uC774\\uC804 \\uC774\\uB984 \\uBC14\\uAFB8\\uAE30 \\uC81C\\uC548 \\uD3EC\\uCEE4\\uC2A4\",\"\\uC785\\uB825 \\uC774\\uB984 \\uBC14\\uAFB8\\uAE30 \\uC704\\uC82F\\uC774 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC785\\uB825 \\uC774\\uB984 \\uBC14\\uAFB8\\uAE30 \\uC704\\uC82F\\uC774 \\uD3EC\\uCEE4\\uC2A4\\uB418\\uC5C8\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC774\\uB984 \\uBC14\\uAFB8\\uAE30 {0}, \\uBBF8\\uB9AC \\uBCF4\\uAE30 {1}\",\"{0} \\uC774\\uB984 \\uBC14\\uAFB8\\uAE30 \\uC81C\\uC548\\uC744 \\uBC1B\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uC774\\uB984\\uC744 \\uBC14\\uAFB8\\uC138\\uC694. \\uC0C8 \\uC774\\uB984\\uC744 \\uC785\\uB825\\uD55C \\uB2E4\\uC74C [Enter] \\uD0A4\\uB97C \\uB20C\\uB7EC \\uCEE4\\uBC0B\\uD558\\uC138\\uC694.\",\"\\uC0C8 \\uC774\\uB984 \\uC81C\\uC548 \\uC0DD\\uC131\",\"\\uCDE8\\uC18C\",\"\\uC120\\uD0DD \\uC601\\uC5ED \\uD655\\uC7A5\",\"\\uC120\\uD0DD \\uC601\\uC5ED \\uD655\\uC7A5(&&E)\",\"\\uC120\\uD0DD \\uC601\\uC5ED \\uCD95\\uC18C\",\"\\uC120\\uD0DD \\uC601\\uC5ED \\uCD95\\uC18C(&&S)\",\"\\uD604\\uC7AC \\uD3B8\\uC9D1\\uAE30\\uAC00 \\uCF54\\uB4DC \\uC870\\uAC01 \\uBAA8\\uB4DC\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uCF54\\uB4DC \\uC870\\uAC01 \\uBAA8\\uB4DC\\uC77C \\uB54C \\uB2E4\\uC74C \\uD0ED \\uC815\\uC9C0\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uCF54\\uB4DC \\uC870\\uAC01 \\uBAA8\\uB4DC\\uC77C \\uB54C \\uC774\\uC804 \\uD0ED \\uC815\\uC9C0\\uAC00 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uB2E4\\uC74C \\uC790\\uB9AC \\uD45C\\uC2DC\\uC790\\uB85C \\uC774\\uB3D9...\",\"\\uC77C\\uC694\\uC77C\",\"\\uC6D4\\uC694\\uC77C\",\"\\uD654\\uC694\\uC77C\",\"\\uC218\\uC694\\uC77C\",\"\\uBAA9\\uC694\\uC77C\",\"\\uAE08\\uC694\\uC77C\",\"\\uD1A0\\uC694\\uC77C\",\"\\uC77C\",\"\\uC6D4\",\"\\uD654\",\"\\uC218\",\"\\uBAA9\",\"\\uAE08\",\"\\uD1A0\",\"1\\uC6D4\",\"2\\uC6D4\",\"3\\uC6D4\",\"4\\uC6D4\",\"5\\uC6D4\",\"6\\uC6D4\",\"7\\uC6D4\",\"8\\uC6D4\",\"9\\uC6D4\",\"10\\uC6D4\",\"11\\uC6D4\",\"12\\uC6D4\",\"1\\uC6D4\",\"2\\uC6D4\",\"3\\uC6D4\",\"4\\uC6D4\",\"5\\uC6D4\",\"6\\uC6D4\",\"7\\uC6D4\",\"8\\uC6D4\",\"9\\uC6D4\",\"10\\uC6D4\",\"11\\uC6D4\",\"12\\uC6D4\",\"\\uD3B8\\uC9D1\\uAE30 \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864 \\uD1A0\\uAE00(&\\uD1A0\\uAE00)\",\"\\uACE0\\uC815 \\uC2A4\\uD06C\\uB864\",\"\\uACE0\\uC815 \\uC2A4\\uD06C\\uB864(&&S)\",\"\\uACE0\\uC815 \\uC2A4\\uD06C\\uB864 \\uD3EC\\uCEE4\\uC2A4(&&F)\",\"\\uD3B8\\uC9D1\\uAE30 \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864 \\uD1A0\\uAE00\",\"\\uBDF0\\uD3EC\\uD2B8 \\uB9E8 \\uC704\\uC5D0 \\uC911\\uCCA9\\uB41C \\uBC94\\uC704\\uB97C \\uD45C\\uC2DC\\uD558\\uB294 \\uD3B8\\uC9D1\\uAE30 \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864\\uC744 \\uD1A0\\uAE00/\\uD65C\\uC131\\uD654\\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\",\"\\uB2E4\\uC74C \\uD3B8\\uC9D1\\uAE30 \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864 \\uC120 \\uC120\\uD0DD\",\"\\uC774\\uC804 \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864 \\uC120 \\uC120\\uD0DD\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864 \\uC120\\uC73C\\uB85C \\uC774\\uB3D9\",\"\\uD3B8\\uC9D1\\uAE30 \\uC120\\uD0DD\",\"\\uC81C\\uC548\\uC5D0 \\uCD08\\uC810\\uC744 \\uB9DE\\uCD94\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC81C\\uC548 \\uC138\\uBD80 \\uC815\\uBCF4\\uAC00 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uC120\\uD0DD\\uD560 \\uC218 \\uC788\\uB294 \\uC5EC\\uB7EC \\uC81C\\uC548\\uC774 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD604\\uC7AC \\uC81C\\uC548\\uC744 \\uC0BD\\uC785\\uD558\\uBA74 \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC774 \\uC0DD\\uC131\\uB418\\uB294\\uC9C0 \\uB610\\uB294 \\uBAA8\\uB4E0 \\uD56D\\uBAA9\\uC774 \\uC774\\uBBF8 \\uC785\\uB825\\uB418\\uC5C8\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"<Enter> \\uD0A4\\uB97C \\uB204\\uB97C \\uB54C \\uC81C\\uC548\\uC774 \\uC0BD\\uC785\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD604\\uC7AC \\uC81C\\uC548\\uC5D0 \\uC0BD\\uC785 \\uBC0F \\uBC14\\uAFB8\\uAE30 \\uB3D9\\uC791\\uC774 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uAE30\\uBCF8 \\uB3D9\\uC791\\uC774 \\uC0BD\\uC785\\uC778\\uC9C0 \\uB610\\uB294 \\uBC14\\uAFB8\\uAE30\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uD604\\uC7AC \\uC81C\\uC548\\uC5D0\\uC11C \\uCD94\\uAC00 \\uC138\\uBD80 \\uC815\\uBCF4\\uB97C \\uD655\\uC778\\uD558\\uB3C4\\uB85D \\uC9C0\\uC6D0\\uD558\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"{0}\\uC758 {1}\\uAC1C\\uC758 \\uC218\\uC815\\uC0AC\\uD56D\\uC744 \\uC218\\uB77D\\uD558\\uB294 \\uC911\",\"\\uC81C\\uC548 \\uD56D\\uBAA9 \\uD2B8\\uB9AC\\uAC70\",\"\\uC0BD\\uC785\",\"\\uC0BD\\uC785\",\"\\uBC14\\uAFB8\\uAE30\",\"\\uBC14\\uAFB8\\uAE30\",\"\\uC0BD\\uC785\",\"\\uAC04\\uB2E8\\uD788 \\uD45C\\uC2DC\",\"\\uC790\\uC138\\uD788 \\uD45C\\uC2DC\",\"\\uC81C\\uC548 \\uC704\\uC82F \\uD06C\\uAE30 \\uB2E4\\uC2DC \\uC124\\uC815\",\"\\uC81C\\uC548 \\uC704\\uC82F\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC704\\uC82F\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC704\\uC82F\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC81C\\uD55C \\uC704\\uC82F\\uC5D0\\uC11C \\uC120\\uD0DD\\uB41C \\uD56D\\uBAA9\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC81C\\uD55C \\uC704\\uC82F\\uC5D0\\uC11C \\uC120\\uD0DD\\uB41C \\uD56D\\uBAA9\\uC758 \\uC544\\uC774\\uCF58 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC81C\\uD55C \\uC704\\uC82F\\uC5D0\\uC11C \\uC120\\uD0DD\\uB41C \\uD56D\\uBAA9\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC704\\uC82F\\uC758 \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD56D\\uBAA9\\uC5D0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uC744 \\uB54C \\uCD94\\uCC9C \\uC704\\uC82F\\uC5D0\\uC11C \\uC77C\\uCE58\\uD558\\uB294 \\uD56D\\uBAA9\\uC758 \\uC0C9\\uC774 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548 \\uC704\\uC82F \\uC0C1\\uD0DC\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB85C\\uB4DC \\uC911...\",\"\\uC81C\\uC548 \\uD56D\\uBAA9\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548\",\"{0} {1}, {2}\",\"{0} {1}\",\"{0}, {1}\",\"{0}, \\uBB38\\uC11C: {1}\",\"\\uB2EB\\uAE30\",\"\\uB85C\\uB4DC \\uC911...\",\"\\uC81C\\uC548 \\uC704\\uC82F\\uC5D0\\uC11C \\uC790\\uC138\\uD55C \\uC815\\uBCF4\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uC790\\uC138\\uD55C \\uC815\\uBCF4\",\"\\uBC30\\uC5F4 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uBD80\\uC6B8 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uD074\\uB798\\uC2A4 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uC0C9 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC0C1\\uC218 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uC0DD\\uC131\\uC790 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC5F4\\uAC70\\uC790 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC5F4\\uAC70\\uC790 \\uBA64\\uBC84 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uC774\\uBCA4\\uD2B8 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uD544\\uB4DC \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uD30C\\uC77C \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uD3F4\\uB354 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uD568\\uC218 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uC778\\uD130\\uD398\\uC774\\uC2A4 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uD0A4 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uD0A4\\uC6CC\\uB4DC \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uBA54\\uC11C\\uB4DC \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB4C8 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uB124\\uC784\\uC2A4\\uD398\\uC774\\uC2A4 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"null \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uC22B\\uC790 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uAC1C\\uCCB4 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uC5F0\\uC0B0\\uC790 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uD328\\uD0A4\\uC9C0 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uC18D\\uC131 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uCC38\\uC870 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC870\\uAC01 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uBB38\\uC790\\uC5F4 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uAD6C\\uC870 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uD14D\\uC2A4\\uD2B8 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uB098\\uD0C0\\uB0A9\\uB2C8\\uB2E4.\",\"\\uD615\\uC2DD \\uB9E4\\uAC1C\\uBCC0\\uC218 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uB2E8\\uC704 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uBCC0\\uC218 \\uAE30\\uD638\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774\\uB7EC\\uD55C \\uAE30\\uD638\\uB294 \\uAC1C\\uC694, \\uC774\\uB3D9 \\uACBD\\uB85C \\uBC0F \\uC81C\\uC548 \\uC704\\uC82F\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",\"\\uC774\\uC81C <Tab> \\uD0A4\\uB97C \\uB204\\uB974\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uB2E4\\uC74C \\uD3EC\\uCEE4\\uC2A4 \\uAC00\\uB2A5\\uD55C \\uC694\\uC18C\\uB85C \\uC774\\uB3D9\\uD569\\uB2C8\\uB2E4.\",\"\\uC774\\uC81C <Tab> \\uD0A4\\uB97C \\uB204\\uB974\\uBA74 \\uD0ED \\uBB38\\uC790\\uAC00 \\uC0BD\\uC785\\uB429\\uB2C8\\uB2E4.\",\"<Tab> \\uD0A4\\uB85C \\uD3EC\\uCEE4\\uC2A4 \\uC774\\uB3D9 \\uC124\\uC815/\\uD574\\uC81C\",\"\\uD0ED \\uD0A4\\uAC00 \\uC6CC\\uD06C\\uBCA4\\uCE58 \\uC8FC\\uC704\\uB85C \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uC774\\uB3D9\\uD560\\uC9C0 \\uB610\\uB294 \\uD604\\uC7AC \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uD0ED \\uBB38\\uC790\\uB97C \\uC0BD\\uC785\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uACB0\\uC815\\uD569\\uB2C8\\uB2E4. \\uC774\\uB97C \\uD0ED \\uD2B8\\uB798\\uD551, \\uD0ED \\uD0D0\\uC0C9 \\uB610\\uB294 \\uD0ED \\uD3EC\\uCEE4\\uC2A4 \\uBAA8\\uB4DC\\uB77C\\uACE0\\uB3C4 \\uD569\\uB2C8\\uB2E4.\",\"\\uAC1C\\uBC1C\\uC790: \\uAC15\\uC81C\\uB85C \\uB2E4\\uC2DC \\uD1A0\\uD070\\uD654\",\"\\uD655\\uC7A5 \\uD3B8\\uC9D1\\uAE30\\uC5D0 \\uACBD\\uACE0 \\uBA54\\uC2DC\\uC9C0\\uC640 \\uD568\\uAED8 \\uD45C\\uC2DC\\uB418\\uB294 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uC774 \\uBB38\\uC11C\\uC5D0\\uB294 \\uAE30\\uBCF8 ASCII \\uC720\\uB2C8\\uCF54\\uB4DC \\uBB38\\uC790\\uAC00 \\uC544\\uB2CC \\uBB38\\uC790\\uAC00 \\uB9CE\\uC774 \\uD3EC\\uD568\\uB418\\uC5B4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC774 \\uBB38\\uC11C\\uC5D0\\uB294 \\uBAA8\\uD638\\uD55C \\uC720\\uB2C8\\uCF54\\uB4DC \\uBB38\\uC790\\uAC00 \\uB9CE\\uC774 \\uD3EC\\uD568\\uB418\\uC5B4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC774 \\uBB38\\uC11C\\uC5D0\\uB294 \\uBCF4\\uC774\\uC9C0 \\uC54A\\uB294 \\uC720\\uB2C8\\uCF54\\uB4DC \\uBB38\\uC790\\uAC00 \\uB9CE\\uC774 \\uD3EC\\uD568\\uB418\\uC5B4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC720\\uB2C8\\uCF54\\uB4DC \\uAC15\\uC870 \\uD45C\\uC2DC \\uC635\\uC158 \\uAD6C\\uC131\",\"\\uBB38\\uC790 {0}\\uC740(\\uB294) \\uC18C\\uC2A4 \\uCF54\\uB4DC\\uC5D0\\uC11C \\uB354 \\uC77C\\uBC18\\uC801\\uC778 ASCII \\uBB38\\uC790 {1}\\uACFC(\\uC640) \\uD63C\\uB3D9\\uB420 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"{0} \\uBB38\\uC790\\uB294 \\uC18C\\uC2A4 \\uCF54\\uB4DC\\uC5D0\\uC11C \\uB354 \\uC77C\\uBC18\\uC801\\uC778 {1} \\uBB38\\uC790\\uC640 \\uD63C\\uB3D9\\uB420 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"{0} \\uBB38\\uC790\\uAC00 \\uBCF4\\uC774\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"{0} \\uBB38\\uC790\\uB294 \\uAE30\\uBCF8 ASCII \\uBB38\\uC790\\uAC00 \\uC544\\uB2D9\\uB2C8\\uB2E4.\",\"\\uC124\\uC815 \\uC870\\uC815\",\"\\uBA54\\uBAA8\\uC5D0\\uC11C \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uBA54\\uBAA8\\uC5D0\\uC11C \\uBB38\\uC790 \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uBB38\\uC790\\uC5F4\\uC5D0\\uC11C \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uBB38\\uC790\\uC5F4\\uC5D0\\uC11C \\uBB38\\uC790 \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uBAA8\\uD638\\uD55C \\uAC15\\uC870 \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uBAA8\\uD638\\uD55C \\uBB38\\uC790 \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uBCF4\\uC774\\uC9C0 \\uC54A\\uB294 \\uAC15\\uC870 \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uBCF4\\uC774\\uC9C0 \\uC54A\\uB294 \\uBB38\\uC790 \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"ASCII\\uAC00 \\uBB38\\uC790\\uAC00 \\uC544\\uB2CC \\uAC15\\uC870 \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uAE30\\uBCF8\\uC774 \\uC544\\uB2CC ASCII \\uBB38\\uC790 \\uAC15\\uC870 \\uD45C\\uC2DC \\uC0AC\\uC6A9 \\uC548 \\uD568\",\"\\uC81C\\uC678 \\uC635\\uC158 \\uD45C\\uC2DC\",\"{0}(\\uBCF4\\uC774\\uC9C0 \\uC54A\\uB294 \\uBB38\\uC790)\\uC774(\\uAC00) \\uAC15\\uC870 \\uD45C\\uC2DC\\uB418\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC81C\\uC678\",\"\\uAC15\\uC870 \\uD45C\\uC2DC\\uC5D0\\uC11C {0} \\uC81C\\uC678\",'\\uC5B8\\uC5B4 \"{0}\"\\uC5D0\\uC11C \\uB354 \\uC77C\\uBC18\\uC801\\uC778 \\uC720\\uB2C8\\uCF54\\uB4DC \\uBB38\\uC790\\uB97C \\uD5C8\\uC6A9\\uD569\\uB2C8\\uB2E4.',\"\\uBE44\\uC815\\uC0C1\\uC801\\uC778 \\uC904 \\uC885\\uACB0\\uC790\",\"\\uBE44\\uC815\\uC0C1\\uC801\\uC778 \\uC904 \\uC885\\uACB0\\uC790\\uAC00 \\uAC80\\uC0C9\\uB428\",\"\\uC774 \\uD30C\\uC77C \\u2018\\r\\n\\u2019\\uC5D0 LS(\\uC904 \\uAD6C\\uBD84 \\uAE30\\uD638) \\uB610\\uB294 PS(\\uB2E8\\uB77D \\uAD6C\\uBD84 \\uAE30\\uD638) \\uAC19\\uC740 \\uD558\\uB098 \\uC774\\uC0C1\\uC758 \\uBE44\\uC815\\uC0C1\\uC801\\uC778 \\uC904 \\uC885\\uACB0\\uC790 \\uBB38\\uC790\\uAC00 \\uD3EC\\uD568\\uB418\\uC5B4 \\uC788\\uC2B5\\uB2C8\\uB2E4.{0}\\r\\n\\uD30C\\uC77C\\uC5D0\\uC11C \\uC81C\\uAC70\\uD558\\uB294 \\uAC83\\uC774 \\uC88B\\uC2B5\\uB2C8\\uB2E4. `editor.unusualLineTerminators`\\uB97C \\uD1B5\\uD574 \\uAD6C\\uC131\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBE44\\uC815\\uC0C1\\uC801\\uC778 \\uC904 \\uC885\\uACB0\\uC790 \\uC81C\\uAC70(&&R)\",\"\\uBB34\\uC2DC\",\"\\uBCC0\\uC218 \\uC77D\\uAE30\\uC640 \\uAC19\\uC740 \\uC77D\\uAE30 \\uC561\\uC138\\uC2A4 \\uC911 \\uAE30\\uD638\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBCC0\\uC218\\uC5D0 \\uC4F0\\uAE30\\uC640 \\uAC19\\uC740 \\uC4F0\\uAE30 \\uC561\\uC138\\uC2A4 \\uC911 \\uAE30\\uD638\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uAE30\\uD638\\uC5D0 \\uB300\\uD55C \\uD14D\\uC2A4\\uD2B8 \\uD56D\\uBAA9\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBCC0\\uC218 \\uC77D\\uAE30\\uC640 \\uAC19\\uC740 \\uC77D\\uAE30 \\uC561\\uC138\\uC2A4 \\uC911 \\uAE30\\uD638\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBCC0\\uC218\\uC5D0 \\uC4F0\\uAE30\\uC640 \\uAC19\\uC740 \\uC4F0\\uAE30 \\uC561\\uC138\\uC2A4 \\uC911 \\uAE30\\uD638\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uAE30\\uD638\\uC5D0 \\uB300\\uD55C \\uD14D\\uC2A4\\uD2B8 \\uD56D\\uBAA9\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uAE30\\uD638 \\uAC15\\uC870 \\uD45C\\uC2DC\\uC758 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uD45C\\uC2DD \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC4F0\\uAE30 \\uC561\\uC138\\uC2A4 \\uAE30\\uD638\\uC5D0 \\uB300\\uD55C \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uD45C\\uC2DD \\uC0C9\\uC774 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uAE30\\uD638\\uC5D0 \\uB300\\uD55C \\uD14D\\uC2A4\\uD2B8 \\uD56D\\uBAA9\\uC758 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uB9C8\\uCEE4 \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uB2E4\\uC74C \\uAC15\\uC870 \\uAE30\\uD638\\uB85C \\uC774\\uB3D9\",\"\\uC774\\uC804 \\uAC15\\uC870 \\uAE30\\uD638\\uB85C \\uC774\\uB3D9\",\"\\uAE30\\uD638 \\uAC15\\uC870 \\uD45C\\uC2DC \\uD2B8\\uB9AC\\uAC70\",\"\\uB2E8\\uC5B4 \\uC0AD\\uC81C\",\"\\uC704\\uCE58\\uC5D0 \\uC624\\uB958 \\uBC1C\\uC0DD\",\"\\uC624\\uB958\",\"\\uC704\\uCE58\\uC758 \\uACBD\\uACE0\",\"\\uACBD\\uACE0\",\"\\uC904\\uC5D0 \\uB300\\uD55C \\uC624\\uB958\",\"\\uC904\\uC5D0 \\uB300\\uD55C \\uC624\\uB958\",\"\\uC904\\uC5D0 \\uB300\\uD55C \\uACBD\\uACE0\",\"\\uC904\\uC5D0 \\uB300\\uD55C \\uACBD\\uACE0\",\"\\uC904\\uC758 \\uC811\\uD78C \\uBD80\\uBD84\",\"\\uC811\\uD798\",\"\\uC904\\uC758 \\uC911\\uB2E8\\uC810\",\"\\uC911\\uB2E8\\uC810\",\"\\uC904\\uC758 \\uC778\\uB77C\\uC778 \\uC81C\\uC548\",\"\\uD130\\uBBF8\\uB110 \\uBE60\\uB978 \\uC218\\uC815\",\"\\uBE60\\uB978 \\uC218\\uC815\",\"\\uC911\\uB2E8\\uC810\\uC5D0\\uC11C \\uC911\\uC9C0\\uB41C \\uB514\\uBC84\\uAC70\",\"\\uC911\\uB2E8\\uC810\",\"\\uC904\\uC758 \\uC778\\uB808\\uC774 \\uD78C\\uD2B8 \\uC5C6\\uC74C\",\"\\uC778\\uB808\\uC774 \\uD78C\\uD2B8 \\uC5C6\\uC74C\",\"\\uC791\\uC5C5 \\uC644\\uB8CC\",\"\\uC644\\uB8CC\\uB41C \\uC791\\uC5C5\",\"\\uC791\\uC5C5 \\uC2E4\\uD328\",\"\\uC791\\uC5C5 \\uC2E4\\uD328\",\"\\uD130\\uBBF8\\uB110 \\uBA85\\uB839 \\uC2E4\\uD328\",\"\\uBA85\\uB839\\uC774 \\uC2E4\\uD328\\uD588\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD130\\uBBF8\\uB110 \\uBA85\\uB839 \\uC131\\uACF5\",\"\\uBA85\\uB839 \\uC131\\uACF5\",\"\\uD130\\uBBF8\\uB110 \\uBCA8\",\"\\uD130\\uBBF8\\uB110 \\uBCA8\",\"Notebook \\uC140 \\uC644\\uB8CC\\uB428\",\"Notebook \\uC140 \\uC644\\uB8CC\\uB428\",\"Notebook \\uC140 \\uC2E4\\uD328\",\"Notebook \\uC140 \\uC2E4\\uD328\",\"Diff \\uC904 \\uC0BD\\uC785\\uB428\",\"Diff \\uC904 \\uC0AD\\uC81C\\uB428\",\"Diff \\uC904 \\uC218\\uC815\\uB428\",\"\\uCC44\\uD305 \\uC694\\uCCAD \\uC804\\uC1A1\\uB428\",\"\\uCC44\\uD305 \\uC694\\uCCAD \\uC804\\uC1A1\\uB428\",\"\\uCC44\\uD305 \\uC751\\uB2F5 \\uC218\\uC2E0\\uB428\",\"\\uC9C4\\uD589\\uB960\",\"\\uC9C4\\uD589\\uB960\",\"\\uC9C0\\uC6B0\\uAE30\",\"\\uC9C0\\uC6B0\\uAE30\",\"\\uC800\\uC7A5\",\"\\uC800\\uC7A5\",\"\\uD615\\uC2DD\",\"\\uC11C\\uC2DD\",\"\\uC74C\\uC131 \\uB179\\uC74C \\uC2DC\\uC791\\uB428\",\"\\uC74C\\uC131 \\uB179\\uC74C \\uC911\\uC9C0\\uB428\",\"\\uBCF4\\uAE30\",\"\\uB3C4\\uC6C0\\uB9D0\",\"\\uD14C\\uC2A4\\uD2B8\",\"\\uD30C\\uC77C\",\"\\uAE30\\uBCF8 \\uC124\\uC815\",\"\\uAC1C\\uBC1C\\uC790\",\"{0}({1})\",\"{0}({1})\",`{0}\\r\n[{1}] {2}`,\"{1}\\uBD80\\uD130 {0}\\uAE4C\\uC9C0\",\"{0}({1})\",\"\\uC228\\uAE30\\uAE30\",\"\\uBA54\\uB274 \\uB2E4\\uC2DC \\uC124\\uC815\",\"'{0}' \\uC228\\uAE30\\uAE30\",\"\\uD0A4 \\uBC14\\uC778\\uB529 \\uAD6C\\uC131\",\"\\uC801\\uC6A9\\uD558\\uB824\\uBA74 {0}, \\uBBF8\\uB9AC \\uBCF4\\uAE30\\uD558\\uB824\\uBA74 {1}\",\"\\uC2E0\\uCCAD\\uD558\\uB824\\uBA74 {0}\",\"{0}, \\uC0AC\\uC6A9 \\uC548 \\uD568 \\uC774\\uC720: {1}\",\"\\uC791\\uC5C5 \\uC704\\uC82F\",\"\\uC791\\uC5C5 \\uD45C\\uC2DC\\uC904\\uC5D0\\uC11C \\uD1A0\\uAE00\\uB41C \\uC791\\uC5C5 \\uD56D\\uBAA9\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC791\\uC5C5 \\uC704\\uC82F \\uBAA9\\uB85D \\uD45C\\uC2DC \\uC5EC\\uBD80\",\"\\uC791\\uC5C5 \\uC704\\uC82F \\uC228\\uAE30\\uAE30\",\"\\uC774\\uC804 \\uC791\\uC5C5 \\uC120\\uD0DD\",\"\\uB2E4\\uC74C \\uC791\\uC5C5 \\uC120\\uD0DD\",\"\\uC120\\uD0DD\\uD55C \\uC791\\uC5C5 \\uC218\\uB77D\",\"\\uC120\\uD0DD\\uD55C \\uC791\\uC5C5 \\uBBF8\\uB9AC \\uBCF4\\uAE30\",\"\\uAE30\\uBCF8 \\uC5B8\\uC5B4 \\uAD6C\\uC131 \\uC7AC\\uC815\\uC758\",\"{0}\\uC5D0\\uC11C \\uC7AC\\uC815\\uC758\\uD560 \\uC124\\uC815\\uC744 \\uAD6C\\uC131\\uD569\\uB2C8\\uB2E4.\",\"\\uC5B8\\uC5B4\\uC5D0 \\uB300\\uD574 \\uC7AC\\uC815\\uC758\\uD560 \\uD3B8\\uC9D1\\uAE30 \\uC124\\uC815\\uC744 \\uAD6C\\uC131\\uD569\\uB2C8\\uB2E4.\",\"\\uC774 \\uC124\\uC815\\uC740 \\uC5B8\\uC5B4\\uBCC4 \\uAD6C\\uC131\\uC744 \\uC9C0\\uC6D0\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC5B8\\uC5B4\\uC5D0 \\uB300\\uD574 \\uC7AC\\uC815\\uC758\\uD560 \\uD3B8\\uC9D1\\uAE30 \\uC124\\uC815\\uC744 \\uAD6C\\uC131\\uD569\\uB2C8\\uB2E4.\",\"\\uC774 \\uC124\\uC815\\uC740 \\uC5B8\\uC5B4\\uBCC4 \\uAD6C\\uC131\\uC744 \\uC9C0\\uC6D0\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBE48 \\uC18D\\uC131\\uC744 \\uB4F1\\uB85D\\uD560 \\uC218 \\uC5C6\\uC74C\",\"'{0}'\\uC744(\\uB97C) \\uB4F1\\uB85D\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. \\uC774\\uB294 \\uC5B8\\uC5B4\\uBCC4 \\uD3B8\\uC9D1\\uAE30 \\uC124\\uC815\\uC744 \\uC124\\uBA85\\uD558\\uB294 \\uC18D\\uC131 \\uD328\\uD134\\uC778 '\\\\\\\\[.*\\\\\\\\]$'\\uACFC(\\uC640) \\uC77C\\uCE58\\uD569\\uB2C8\\uB2E4. 'configurationDefaults' \\uAE30\\uC5EC\\uB97C \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"'{0}'\\uC744(\\uB97C) \\uB4F1\\uB85D\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. \\uC774 \\uC18D\\uC131\\uC740 \\uC774\\uBBF8 \\uB4F1\\uB85D\\uB418\\uC5B4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"'{0}'\\uC744(\\uB97C) \\uB4F1\\uB85D\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. \\uC5F0\\uACB0\\uB41C \\uC815\\uCC45 {1}\\uC774(\\uAC00) \\uC774\\uBBF8 {2}\\uC5D0 \\uB4F1\\uB85D\\uB418\\uC5B4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uCEE8\\uD14D\\uC2A4\\uD2B8 \\uD0A4\\uC5D0 \\uB300\\uD55C \\uC815\\uBCF4\\uB97C \\uBC18\\uD658\\uD558\\uB294 \\uBA85\\uB839\",\"\\uBE48 \\uCEE8\\uD14D\\uC2A4\\uD2B8 \\uD0A4 \\uC2DD\",\"\\uC2DD \\uC4F0\\uB294 \\uAC83\\uC744 \\uC78A\\uC73C\\uC168\\uB098\\uC694? \\uD56D\\uC0C1 'false' \\uB610\\uB294 'true'\\uB97C \\uB123\\uC5B4 \\uAC01\\uAC01 false \\uB610\\uB294 true\\uB85C \\uD3C9\\uAC00\\uD560 \\uC218\\uB3C4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"'not' \\uB4A4\\uC5D0 'in'\\uC774 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uB2EB\\uB294 \\uAD04\\uD638 ')'\",\"\\uC608\\uAE30\\uCE58 \\uC54A\\uC740 \\uD1A0\\uD070\",\"\\uD1A0\\uD070 \\uC55E\\uC5D0 && \\uB610\\uB294 ||\\uB97C \\uC785\\uB825\\uD558\\uB294 \\uAC83\\uC744 \\uC78A\\uC73C\\uC168\\uB098\\uC694?\",\"\\uD544\\uC694\\uD558\\uC9C0 \\uC54A\\uC740 \\uC2DD\\uC758 \\uB05D\",\"\\uCEE8\\uD14D\\uC2A4\\uD2B8 \\uD0A4\\uB97C \\uC785\\uB825\\uD558\\uB294 \\uAC83\\uC744 \\uC78A\\uC73C\\uC168\\uB098\\uC694?\",`\\uC608\\uC0C1: {0}\\r\n\\uC218\\uC2E0\\uB428: '{1}'.`,\"\\uC6B4\\uC601 \\uCCB4\\uC81C\\uAC00 macOS\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uC6B4\\uC601 \\uCCB4\\uC81C\\uAC00 Linux\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uC6B4\\uC601 \\uCCB4\\uC81C\\uAC00 Windows\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uD50C\\uB7AB\\uD3FC\\uC774 \\uC6F9 \\uBE0C\\uB77C\\uC6B0\\uC800\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uBE0C\\uB77C\\uC6B0\\uC800 \\uAE30\\uBC18\\uC774 \\uC544\\uB2CC \\uD50C\\uB7AB\\uD3FC\\uC5D0\\uC11C \\uC6B4\\uC601 \\uCCB4\\uC81C\\uAC00 macOS\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uC6B4\\uC601 \\uCCB4\\uC81C\\uAC00 iOS\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"\\uD50C\\uB7AB\\uD3FC\\uC774 \\uBAA8\\uBC14\\uC77C \\uC6F9 \\uBE0C\\uB77C\\uC6B0\\uC800\\uC778\\uC9C0 \\uC5EC\\uBD80\",\"VS \\uCF54\\uB4DC\\uC758 \\uD488\\uC9C8 \\uC720\\uD615\",\"\\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC785\\uB825 \\uC0C1\\uC790 \\uB0B4\\uC5D0 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"{0}\\uC744(\\uB97C) \\uC0AC\\uC6A9\\uD558\\uC2DC\\uACA0\\uC2B5\\uB2C8\\uAE4C?\",\"{0} \\uB610\\uB294 {1}\\uC744(\\uB97C) \\uC0AC\\uC6A9\\uD558\\uC2DC\\uACA0\\uC2B5\\uB2C8\\uAE4C?\",\"{0}, {1} \\uB610\\uB294 {2}\\uC744(\\uB97C) \\uC0AC\\uC6A9\\uD558\\uC2DC\\uACA0\\uC2B5\\uB2C8\\uAE4C?\",\"\\uACAC\\uC801\\uC744 \\uC5F4\\uAC70\\uB098 \\uB2EB\\uB294 \\uAC83\\uC744 \\uC78A\\uC73C\\uC168\\uB098\\uC694?\",\"'/'(\\uC2AC\\uB798\\uC2DC) \\uBB38\\uC790\\uB97C \\uC774\\uC2A4\\uCF00\\uC774\\uD504\\uD558\\uB294 \\uAC83\\uC744 \\uC78A\\uC73C\\uC168\\uB098\\uC694? \\uC774\\uC2A4\\uCF00\\uC774\\uD504\\uD558\\uB824\\uBA74 \\uC55E\\uC5D0 \\uBC31\\uC2AC\\uB77C\\uC2DC \\uB450 \\uAC1C(\\uC608: '\\\\\\\\/')\\uB97C \\uB123\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC81C\\uC548\\uC774 \\uD45C\\uC2DC\\uB418\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"({0})\\uC744(\\uB97C) \\uB20C\\uB800\\uC2B5\\uB2C8\\uB2E4. \\uB458\\uC9F8 \\uD0A4\\uB294 \\uC7A0\\uC2DC \\uAE30\\uB2E4\\uB838\\uB2E4\\uAC00 \\uB204\\uB974\\uC2ED\\uC2DC\\uC624...\",\"({0})\\uC744(\\uB97C) \\uB20C\\uB800\\uC2B5\\uB2C8\\uB2E4. \\uCF54\\uB4DC\\uC758 \\uB2E4\\uC74C \\uD0A4\\uB97C \\uAE30\\uB2E4\\uB9AC\\uB294 \\uC911...\",\"\\uD0A4 \\uC870\\uD569({0}, {1})\\uC740 \\uBA85\\uB839\\uC774 \\uC544\\uB2D9\\uB2C8\\uB2E4.\",\"\\uD0A4 \\uC870\\uD569({0}, {1})\\uC740 \\uBA85\\uB839\\uC774 \\uC544\\uB2D9\\uB2C8\\uB2E4.\",\"\\uC6CC\\uD06C\\uBCA4\\uCE58\",\"Windows\\uC640 Linux\\uC758 'Control'\\uC744 macOS\\uC758 'Command'\\uB85C \\uB9E4\\uD551\\uD569\\uB2C8\\uB2E4.\",\"Windows\\uC640 Linux\\uC758 'Alt'\\uB97C macOS\\uC758 'Option'\\uC73C\\uB85C \\uB9E4\\uD551\\uD569\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uD2B8\\uB9AC\\uC640 \\uBAA9\\uB85D\\uC758 \\uD56D\\uBAA9\\uC744 \\uB2E4\\uC911 \\uC120\\uD0DD\\uC5D0 \\uCD94\\uAC00\\uD560 \\uB54C \\uC0AC\\uC6A9\\uD560 \\uD55C\\uC815\\uC790\\uC785\\uB2C8\\uB2E4(\\uC608\\uB97C \\uB4E4\\uC5B4 \\uD0D0\\uC0C9\\uAE30\\uC5D0\\uC11C \\uD3B8\\uC9D1\\uAE30\\uC640 SCM \\uBCF4\\uAE30\\uB97C \\uC5EC\\uB294 \\uACBD\\uC6B0). '\\uC606\\uC5D0\\uC11C \\uC5F4\\uAE30' \\uB9C8\\uC6B0\\uC2A4 \\uC81C\\uC2A4\\uCC98(\\uC9C0\\uC6D0\\uB418\\uB294 \\uACBD\\uC6B0)\\uB294 \\uB2E4\\uC911 \\uC120\\uD0DD \\uD55C\\uC815\\uC790\\uC640 \\uCDA9\\uB3CC\\uD558\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC870\\uC815\\uB429\\uB2C8\\uB2E4.\",\"\\uD2B8\\uB9AC\\uC640 \\uBAA9\\uB85D\\uC5D0\\uC11C \\uB9C8\\uC6B0\\uC2A4\\uB97C \\uC0AC\\uC6A9\\uD558\\uC5EC \\uD56D\\uBAA9\\uC744 \\uC5EC\\uB294 \\uBC29\\uBC95\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4(\\uC9C0\\uC6D0\\uB418\\uB294 \\uACBD\\uC6B0). \\uC77C\\uBD80 \\uD2B8\\uB9AC\\uC640 \\uBAA9\\uB85D\\uC5D0\\uC11C\\uB294 \\uC774 \\uC124\\uC815\\uC744 \\uC801\\uC6A9\\uD560 \\uC218 \\uC5C6\\uB294 \\uACBD\\uC6B0 \\uBB34\\uC2DC\\uD558\\uB3C4\\uB85D \\uC120\\uD0DD\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC6CC\\uD06C\\uBCA4\\uCE58\\uC5D0\\uC11C \\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC\\uC758 \\uAC00\\uB85C \\uC2A4\\uD06C\\uB864 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uACBD\\uACE0: \\uC774 \\uC124\\uC815\\uC744 \\uCF1C\\uBA74 \\uC131\\uB2A5\\uC5D0 \\uC601\\uD5A5\\uC744 \\uBBF8\\uCE69\\uB2C8\\uB2E4.\",\"\\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300 \\uC2A4\\uD06C\\uB864 \\uD398\\uC774\\uC9C0\\uC758 \\uD398\\uC774\\uC9C0\\uBCC4 \\uD074\\uB9AD \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD2B8\\uB9AC \\uB4E4\\uC5EC\\uC4F0\\uAE30\\uB97C \\uD53D\\uC140 \\uB2E8\\uC704\\uB85C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD2B8\\uB9AC\\uC5D0\\uC11C \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uAC00\\uC774\\uB4DC\\uB97C \\uB80C\\uB354\\uB9C1\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D\\uACFC \\uD2B8\\uB9AC\\uC5D0 \\uBD80\\uB4DC\\uB7EC\\uC6B4 \\uD654\\uBA74 \\uC774\\uB3D9 \\uAE30\\uB2A5\\uC774 \\uC788\\uB294\\uC9C0\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4 \\uD720 \\uC2A4\\uD06C\\uB864 \\uC774\\uBCA4\\uD2B8\\uC758 `deltaX` \\uBC0F `deltaY`\\uC5D0\\uC11C \\uC0AC\\uC6A9\\uD560 \\uC2B9\\uC218\\uC785\\uB2C8\\uB2E4.\",\"'Alt' \\uD0A4\\uB97C \\uB204\\uB97C \\uB54C \\uC2A4\\uD06C\\uB864 \\uC18D\\uB3C4 \\uC2B9\\uC218\\uC785\\uB2C8\\uB2E4.\",\"\\uAC80\\uC0C9\\uD560 \\uB54C \\uC694\\uC18C\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4. \\uCD94\\uAC00 \\uC704\\uC544\\uB798 \\uD0D0\\uC0C9\\uC740 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB41C \\uC694\\uC18C\\uB9CC \\uD0D0\\uC0C9\\uD569\\uB2C8\\uB2E4.\",\"\\uAC80\\uC0C9\\uD560 \\uB54C \\uC694\\uC18C\\uB97C \\uD544\\uD130\\uB9C1\\uD569\\uB2C8\\uB2E4.\",\"\\uC6CC\\uD06C\\uBCA4\\uCE58\\uC5D0\\uC11C \\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC\\uC758 \\uAE30\\uBCF8 \\uCC3E\\uAE30 \\uBAA8\\uB4DC\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uAC04\\uB2E8\\uD55C \\uD0A4\\uBCF4\\uB4DC \\uD0D0\\uC0C9\\uC5D0\\uC11C\\uB294 \\uD0A4\\uBCF4\\uB4DC \\uC785\\uB825\\uACFC \\uC77C\\uCE58\\uD558\\uB294 \\uC694\\uC18C\\uC5D0 \\uC9D1\\uC911\\uD569\\uB2C8\\uB2E4. \\uC77C\\uCE58\\uB294 \\uC811\\uB450\\uC0AC\\uC5D0\\uC11C\\uB9CC \\uC218\\uD589\\uB429\\uB2C8\\uB2E4.\",\"\\uD0A4\\uBCF4\\uB4DC \\uD0D0\\uC0C9 \\uAC15\\uC870 \\uD45C\\uC2DC\\uC5D0\\uC11C\\uB294 \\uD0A4\\uBCF4\\uB4DC \\uC785\\uB825\\uACFC \\uC77C\\uCE58\\uD558\\uB294 \\uC694\\uC18C\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4. \\uC774\\uD6C4\\uB85C \\uD0D0\\uC0C9\\uC5D0\\uC11C \\uC704 \\uBC0F \\uC544\\uB798\\uB85C \\uC774\\uB3D9\\uD558\\uB294 \\uACBD\\uC6B0 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB41C \\uC694\\uC18C\\uB9CC \\uD2B8\\uB798\\uBC84\\uC2A4\\uD569\\uB2C8\\uB2E4.\",\"\\uD0A4\\uBCF4\\uB4DC \\uD0D0\\uC0C9 \\uD544\\uD130\\uB9C1\\uC5D0\\uC11C\\uB294 \\uD0A4\\uBCF4\\uB4DC \\uC785\\uB825\\uACFC \\uC77C\\uCE58\\uD558\\uC9C0 \\uC54A\\uB294 \\uC694\\uC18C\\uB97C \\uBAA8\\uB450 \\uD544\\uD130\\uB9C1\\uD558\\uC5EC \\uC228\\uAE41\\uB2C8\\uB2E4.\",\"\\uC6CC\\uD06C\\uBCA4\\uCE58\\uC758 \\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC \\uD0A4\\uBCF4\\uB4DC \\uD0D0\\uC0C9 \\uC2A4\\uD0C0\\uC77C\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uAC04\\uC18C\\uD654\\uD558\\uACE0, \\uAC15\\uC870 \\uD45C\\uC2DC\\uD558\\uACE0, \\uD544\\uD130\\uB9C1\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uB300\\uC2E0 'workbench.list.defaultFindMode' \\uBC0F 'workbench.list.typeNavigationMode'\\uB97C \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"\\uAC80\\uC0C9\\uD560 \\uB54C \\uC720\\uC0AC \\uD56D\\uBAA9 \\uC77C\\uCE58\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uAC80\\uC0C9\\uD560 \\uB54C \\uC5F0\\uC18D \\uC77C\\uCE58\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uC6CC\\uD06C\\uBCA4\\uCE58\\uC5D0\\uC11C \\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC\\uB97C \\uAC80\\uC0C9\\uD560 \\uB54C \\uC0AC\\uC6A9\\uD558\\uB294 \\uC77C\\uCE58 \\uC720\\uD615\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uD3F4\\uB354 \\uC774\\uB984\\uC744 \\uD074\\uB9AD\\uD560 \\uB54C \\uD2B8\\uB9AC \\uD3F4\\uB354\\uAC00 \\uD655\\uC7A5\\uB418\\uB294 \\uBC29\\uBC95\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. \\uC77C\\uBD80 \\uD2B8\\uB9AC\\uC640 \\uBAA9\\uB85D\\uC5D0\\uC11C\\uB294 \\uC774 \\uC124\\uC815\\uC744 \\uC801\\uC6A9\\uD560 \\uC218 \\uC5C6\\uB294 \\uACBD\\uC6B0 \\uBB34\\uC2DC\\uD558\\uB3C4\\uB85D \\uC120\\uD0DD\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD2B8\\uB9AC\\uC5D0\\uC11C \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864\\uC744 \\uC0AC\\uC6A9\\uD560\\uC9C0 \\uC5EC\\uBD80\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"{0}\\uC744(\\uB97C) \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D \\uC124\\uC815\\uD55C \\uACBD\\uC6B0 \\uD2B8\\uB9AC\\uC5D0 \\uD45C\\uC2DC\\uB418\\uB294 \\uACE0\\uC815 \\uC694\\uC18C\\uC758 \\uC218\\uB97C \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4.\",\"\\uC6CC\\uD06C\\uBCA4\\uCE58\\uC758 \\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC\\uC5D0\\uC11C \\uD615\\uC2DD \\uD0D0\\uC0C9\\uC774 \\uC791\\uB3D9\\uD558\\uB294 \\uBC29\\uC2DD\\uC744 \\uC81C\\uC5B4\\uD569\\uB2C8\\uB2E4. 'trigger'\\uB85C \\uC124\\uC815 \\uC2DC 'list.triggerTypeNavigation' \\uBA85\\uB839\\uC774 \\uC2E4\\uD589\\uB418\\uBA74 \\uD615\\uC2DD \\uD0D0\\uC0C9\\uC774 \\uC2DC\\uC791\\uB429\\uB2C8\\uB2E4.\",\"\\uC624\\uB958\",\"\\uACBD\\uACE0\",\"\\uC815\\uBCF4\",\"\\uCD5C\\uADFC\\uC5D0 \\uC0AC\\uC6A9\\uD55C \\uD56D\\uBAA9\",\"\\uC720\\uC0AC\\uD55C \\uBA85\\uB839\",\"\\uC77C\\uBC18\\uC801\\uC73C\\uB85C \\uC0AC\\uC6A9\\uB428\",\"\\uAE30\\uD0C0 \\uBA85\\uB839\",\"\\uC720\\uC0AC\\uD55C \\uBA85\\uB839\",\"{0}, {1}\",\"'{0}' \\uBA85\\uB839\\uC5D0\\uC11C \\uC624\\uB958\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC2B5\\uB2C8\\uB2E4.\",\"{0}, {1}\",\"\\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uBE60\\uB978 \\uC785\\uB825 \\uCEE8\\uD2B8\\uB864 \\uB0B4\\uC5D0 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uD604\\uC7AC \\uD45C\\uC2DC\\uB418\\uB294 \\uBE60\\uB978 \\uC785\\uB825 \\uD615\\uC2DD\\uC784\",\"\\uBE60\\uB978 \\uC785\\uB825\\uC758 \\uCEE4\\uC11C\\uAC00 \\uC785\\uB825 \\uC0C1\\uC790\\uC758 \\uB05D\\uC5D0 \\uC788\\uB294\\uC9C0 \\uC5EC\\uBD80\",\"\\uB4A4\\uB85C\",\"\\uC785\\uB825\\uC744 \\uD655\\uC778\\uD558\\uB824\\uBA74 'Enter' \\uD0A4\\uB97C \\uB204\\uB974\\uACE0, \\uCDE8\\uC18C\\uD558\\uB824\\uBA74 'Esc' \\uD0A4\\uB97C \\uB204\\uB974\\uC138\\uC694.\",\"{0} / {1}\",\"\\uACB0\\uACFC\\uC758 \\uBC94\\uC704\\uB97C \\uCD95\\uC18C\\uD558\\uB824\\uBA74 \\uC785\\uB825\\uD558\\uC138\\uC694.\",\"\\uBE60\\uB978 \\uC120\\uD0DD \\uCEE8\\uD14D\\uC2A4\\uD2B8\\uC5D0\\uC11C \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4. \\uC774 \\uBA85\\uB839\\uC5D0 \\uB300\\uD55C \\uD558\\uB098\\uC758 \\uD0A4 \\uBC14\\uC778\\uB529\\uC744 \\uBCC0\\uACBD\\uD558\\uB294 \\uACBD\\uC6B0 \\uC774 \\uBA85\\uB839\\uC758 \\uB2E4\\uB978 \\uBAA8\\uB4E0 \\uD0A4 \\uBC14\\uC778\\uB529(\\uD55C\\uC815\\uC790 \\uBCC0\\uD615)\\uB3C4 \\uBCC0\\uACBD\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC561\\uC138\\uC2A4 \\uBAA8\\uB4DC\\uC5D0 \\uC788\\uB294 \\uACBD\\uC6B0 \\uB2E4\\uC74C \\uD56D\\uBAA9\\uC73C\\uB85C \\uC774\\uB3D9\\uD569\\uB2C8\\uB2E4. \\uBE60\\uB978 \\uC561\\uC138\\uC2A4 \\uBAA8\\uB4DC\\uAC00 \\uC544\\uB2CC \\uACBD\\uC6B0 \\uB2E4\\uC74C \\uAD6C\\uBD84 \\uAE30\\uD638\\uB85C \\uC774\\uB3D9\\uD569\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC561\\uC138\\uC2A4 \\uBAA8\\uB4DC\\uC778 \\uACBD\\uC6B0 \\uC774\\uC804 \\uD56D\\uBAA9\\uC73C\\uB85C \\uC774\\uB3D9\\uD569\\uB2C8\\uB2E4. \\uBE60\\uB978 \\uC561\\uC138\\uC2A4 \\uBAA8\\uB4DC\\uAC00 \\uC544\\uB2CC \\uACBD\\uC6B0 \\uC774\\uC804 \\uAD6C\\uBD84 \\uAE30\\uD638\\uB85C \\uC774\\uB3D9\\uD569\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB4E0 \\uD655\\uC778\\uB780 \\uC120\\uD0DD/\\uD574\\uC81C\",\"{0}\\uAC1C \\uACB0\\uACFC\",\"{0} \\uC120\\uD0DD\\uB428\",\"\\uD655\\uC778\",\"\\uC0AC\\uC6A9\\uC790 \\uC9C0\\uC815\",\"\\uB4A4\\uB85C({0})\",\"\\uB4A4\\uB85C\",\"\\uBE60\\uB978 \\uC785\\uB825\",\"'{0}' \\uBA85\\uB839\\uC744 \\uC2E4\\uD589\\uD558\\uB824\\uBA74 \\uD074\\uB9AD\",\"\\uC804\\uCCB4 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774 \\uC0C9\\uC740 \\uAD6C\\uC131 \\uC694\\uC18C\\uC5D0\\uC11C \\uC7AC\\uC815\\uC758\\uD558\\uC9C0 \\uC54A\\uC740 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131\\uD654\\uB41C \\uC694\\uC18C\\uC758 \\uC804\\uCCB4 \\uC804\\uACBD\\uC785\\uB2C8\\uB2E4. \\uC774 \\uC0C9\\uC740 \\uAD6C\\uC131 \\uC694\\uC18C\\uC5D0\\uC11C \\uC7AC\\uC815\\uC758\\uD558\\uC9C0 \\uC54A\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uC624\\uB958 \\uBA54\\uC2DC\\uC9C0\\uC5D0 \\uB300\\uD55C \\uC804\\uCCB4 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774 \\uC0C9\\uC740 \\uAD6C\\uC131 \\uC694\\uC18C\\uC5D0\\uC11C \\uC7AC\\uC815\\uC758\\uD558\\uC9C0 \\uC54A\\uC740 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uB808\\uC774\\uBE14\\uACFC \\uAC19\\uC774 \\uCD94\\uAC00 \\uC815\\uBCF4\\uB97C \\uC81C\\uACF5\\uD558\\uB294 \\uC124\\uBA85 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC6CC\\uD06C\\uBCA4\\uCE58 \\uC544\\uC774\\uCF58\\uC758 \\uAE30\\uBCF8 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uC694\\uC18C\\uC758 \\uC804\\uCCB4 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774 \\uC0C9\\uC740 \\uAD6C\\uC131 \\uC694\\uC18C\\uC5D0\\uC11C \\uC7AC\\uC815\\uC758\\uD558\\uC9C0 \\uC54A\\uC740 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uB354 \\uB69C\\uB837\\uC774 \\uB300\\uBE44\\uB418\\uB3C4\\uB85D \\uC694\\uC18C\\uB97C \\uB2E4\\uB978 \\uC694\\uC18C\\uC640 \\uAD6C\\uBD84\\uD558\\uB294 \\uC694\\uC18C \\uC8FC\\uC704\\uC758 \\uCD94\\uAC00 \\uD14C\\uB450\\uB9AC\\uC785\\uB2C8\\uB2E4.\",\"\\uB354 \\uB69C\\uB837\\uC774 \\uB300\\uBE44\\uB418\\uB3C4\\uB85D \\uC694\\uC18C\\uB97C \\uB2E4\\uB978 \\uC694\\uC18C\\uC640 \\uAD6C\\uBD84\\uD558\\uB294 \\uD65C\\uC131 \\uC694\\uC18C \\uC8FC\\uC704\\uC758 \\uCD94\\uAC00 \\uD14C\\uB450\\uB9AC\\uC785\\uB2C8\\uB2E4.\",\"\\uC6CC\\uD06C\\uBCA4\\uCE58\\uC758 \\uD14D\\uC2A4\\uD2B8 \\uC120\\uD0DD(\\uC608: \\uC785\\uB825 \\uD544\\uB4DC \\uB610\\uB294 \\uD14D\\uC2A4\\uD2B8 \\uC601\\uC5ED) \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uD3B8\\uC9D1\\uAE30 \\uB0B4\\uC758 \\uC120\\uD0DD\\uC5D0\\uB294 \\uC801\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uD14D\\uC2A4\\uD2B8 \\uB0B4 \\uB9C1\\uD06C\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD074\\uB9AD\\uD558\\uACE0 \\uB9C8\\uC6B0\\uC2A4\\uAC00 \\uC62C\\uB77C\\uAC04 \\uC0C1\\uD0DC\\uC758 \\uD14D\\uC2A4\\uD2B8 \\uB0B4 \\uB9C1\\uD06C\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD14D\\uC2A4\\uD2B8 \\uAD6C\\uBD84\\uC790 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB9AC \\uC11C\\uC2DD\\uC774 \\uC9C0\\uC815\\uB41C \\uD14D\\uC2A4\\uD2B8 \\uC138\\uADF8\\uBA3C\\uD2B8\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB9AC \\uC11C\\uC2DD\\uC774 \\uC9C0\\uC815\\uB41C \\uD14D\\uC2A4\\uD2B8 \\uC138\\uADF8\\uBA3C\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD14D\\uC2A4\\uD2B8 \\uB0B4 \\uBE14\\uB85D \\uC778\\uC6A9\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD14D\\uC2A4\\uD2B8 \\uB0B4 \\uBE14\\uB85D \\uC778\\uC6A9\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD14D\\uC2A4\\uD2B8 \\uB0B4 \\uCF54\\uB4DC \\uBE14\\uB85D\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC28\\uD2B8\\uC5D0 \\uC0AC\\uC6A9\\uB41C \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC28\\uD2B8 \\uAC00\\uB85C\\uC904\\uC5D0 \\uC0AC\\uC6A9\\uB41C \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC28\\uD2B8 \\uC2DC\\uAC01\\uD654\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uBE68\\uAC04\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC28\\uD2B8 \\uC2DC\\uAC01\\uD654\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uD30C\\uB780\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC28\\uD2B8 \\uC2DC\\uAC01\\uD654\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uB178\\uB780\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC28\\uD2B8 \\uC2DC\\uAC01\\uD654\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC8FC\\uD669\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC28\\uD2B8 \\uC2DC\\uAC01\\uD654\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uB179\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC28\\uD2B8 \\uC2DC\\uAC01\\uD654\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC790\\uC8FC\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uAE30\\uBCF8 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864\\uC758 \\uBC30\\uACBD\\uC0C9\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0AC \\uB54C \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864\\uC758 \\uBC30\\uACBD\\uC0C9\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\",\" \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACE0\\uC815 \\uC2A4\\uD06C\\uB864\\uC758 \\uADF8\\uB9BC\\uC790 \\uC0C9\",\"\\uCC3E\\uAE30/\\uBC14\\uAFB8\\uAE30 \\uAC19\\uC740 \\uD3B8\\uC9D1\\uAE30 \\uC704\\uC82F\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCC3E\\uAE30/\\uBC14\\uAFB8\\uAE30\\uC640 \\uAC19\\uC740 \\uD3B8\\uC9D1\\uAE30 \\uC704\\uC82F\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC704\\uC82F\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC704\\uC82F\\uC5D0 \\uD14C\\uB450\\uB9AC\\uAC00 \\uC788\\uACE0 \\uC704\\uC82F\\uC774 \\uC0C9\\uC0C1\\uC744 \\uBB34\\uC2DC\\uD558\\uC9C0 \\uC54A\\uC744 \\uB54C\\uB9CC \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC704\\uC82F \\uD06C\\uAE30 \\uC870\\uC815 \\uB9C9\\uB300\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC774 \\uC0C9\\uC740 \\uC704\\uC82F\\uC5D0\\uC11C \\uD06C\\uAE30 \\uC870\\uC815 \\uB9C9\\uB300\\uB97C \\uD45C\\uC2DC\\uD558\\uB3C4\\uB85D \\uC120\\uD0DD\\uD558\\uACE0 \\uC704\\uC82F\\uC5D0\\uC11C \\uC0C9\\uC744 \\uC7AC\\uC9C0\\uC815\\uD558\\uC9C0 \\uC54A\\uB294 \\uACBD\\uC6B0\\uC5D0\\uB9CC \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC624\\uB958 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB0B4 \\uC624\\uB958 \\uD45C\\uC2DC\\uC120\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC124\\uC815\\uB41C \\uACBD\\uC6B0 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC624\\uB958\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uC774\\uC911 \\uBC11\\uC904\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACBD\\uACE0 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB0B4 \\uACBD\\uACE0 \\uD45C\\uC2DC\\uC120\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC124\\uC815\\uB41C \\uACBD\\uC6B0 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uACBD\\uACE0\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uC774\\uC911 \\uBC11\\uC904\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC815\\uBCF4 \\uD14D\\uC2A4\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB0B4 \\uC815\\uBCF4 \\uD45C\\uC2DC\\uC120\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC124\\uC815\\uB41C \\uACBD\\uC6B0 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uC815\\uBCF4\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uC774\\uC911 \\uBC11\\uC904 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uD78C\\uD2B8 \\uD45C\\uC2DC\\uC120\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC124\\uC815\\uB41C \\uACBD\\uC6B0 \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uD78C\\uD2B8\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uC774\\uC911 \\uBC11\\uC904 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uB9C1\\uD06C\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC120\\uD0DD \\uC601\\uC5ED\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uACE0\\uB300\\uBE44\\uB97C \\uC704\\uD55C \\uC120\\uD0DD \\uD14D\\uC2A4\\uD2B8\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uD3B8\\uC9D1\\uAE30\\uC758 \\uC120\\uD0DD \\uD56D\\uBAA9 \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD \\uC601\\uC5ED\\uACFC \\uB3D9\\uC77C\\uD55C \\uCF58\\uD150\\uCE20\\uAC00 \\uC788\\uB294 \\uC601\\uC5ED\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD \\uC601\\uC5ED\\uACFC \\uB3D9\\uC77C\\uD55C \\uCF58\\uD150\\uCE20\\uAC00 \\uC788\\uB294 \\uC601\\uC5ED\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uAC80\\uC0C9 \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uAC80\\uC0C9 \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC758 \\uD14D\\uC2A4\\uD2B8 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uAE30\\uD0C0 \\uAC80\\uC0C9 \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uB2E4\\uB978 \\uAC80\\uC0C9 \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uAC80\\uC0C9\\uC744 \\uC81C\\uD55C\\uD558\\uB294 \\uBC94\\uC704\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD604\\uC7AC \\uAC80\\uC0C9\\uACFC \\uC77C\\uCE58\\uD558\\uB294 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB2E4\\uB978 \\uAC80\\uC0C9\\uACFC \\uC77C\\uCE58\\uD558\\uB294 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uAC80\\uC0C9\\uC744 \\uC81C\\uD55C\\uD558\\uB294 \\uBC94\\uC704\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD638\\uBC84\\uAC00 \\uD45C\\uC2DC\\uB41C \\uB2E8\\uC5B4 \\uC544\\uB798\\uB97C \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD638\\uBC84\\uC758 \\uBC30\\uACBD\\uC0C9.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD638\\uBC84\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD638\\uBC84\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uD638\\uBC84 \\uC0C1\\uD0DC \\uD45C\\uC2DC\\uC904\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uD78C\\uD2B8\\uC758 \\uC804\\uACBD\\uC0C9\",\"\\uC778\\uB77C\\uC778 \\uD78C\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\",\"\\uD615\\uC2DD\\uC5D0 \\uB300\\uD55C \\uC778\\uB77C\\uC778 \\uD78C\\uD2B8\\uC758 \\uC804\\uACBD\\uC0C9\",\"\\uD615\\uC2DD\\uC5D0 \\uB300\\uD55C \\uC778\\uB77C\\uC778 \\uD78C\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\",\"\\uB9E4\\uAC1C \\uBCC0\\uC218\\uC5D0 \\uB300\\uD55C \\uC778\\uB77C\\uC778 \\uD78C\\uD2B8\\uC758 \\uC804\\uACBD\\uC0C9\",\"\\uB9E4\\uAC1C \\uBCC0\\uC218\\uC5D0 \\uB300\\uD55C \\uC778\\uB77C\\uC778 \\uD78C\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\",\"\\uC804\\uAD6C \\uC791\\uC5C5 \\uC544\\uC774\\uCF58\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uC804\\uAD6C \\uC790\\uB3D9 \\uC218\\uC815 \\uC791\\uC5C5 \\uC544\\uC774\\uCF58\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uC804\\uAD6C AI \\uC544\\uC774\\uCF58\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC870\\uAC01 \\uD0ED \\uC815\\uC9C0\\uC758 \\uAC15\\uC870 \\uD45C\\uC2DC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC870\\uAC01 \\uD0ED \\uC815\\uC9C0\\uC758 \\uAC15\\uC870 \\uD45C\\uC2DC \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC870\\uAC01 \\uB9C8\\uC9C0\\uB9C9 \\uD0ED \\uC815\\uC9C0\\uC758 \\uAC15\\uC870 \\uD45C\\uC2DC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC870\\uAC01 \\uB9C8\\uC9C0\\uB9C9 \\uD0ED \\uC815\\uC9C0\\uC758 \\uAC15\\uC870 \\uD45C\\uC2DC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC0BD\\uC785\\uB41C \\uD14D\\uC2A4\\uD2B8\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uAC70\\uB41C \\uD14D\\uC2A4\\uD2B8 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC0BD\\uC785\\uB41C \\uC904\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC81C\\uAC70\\uB41C \\uC904\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uC0C9\\uC0C1\\uC740 \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC904\\uC774 \\uC0BD\\uC785\\uB41C \\uC5EC\\uBC31\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC904\\uC774 \\uC81C\\uAC70\\uB41C \\uC5EC\\uBC31\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC0BD\\uC785\\uB41C \\uCF58\\uD150\\uCE20\\uC5D0 \\uB300\\uD55C \\uCC28\\uB4F1 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uC804\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uC81C\\uAC70\\uB41C \\uCF58\\uD150\\uCE20\\uC5D0 \\uB300\\uD55C \\uCC28\\uB4F1 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uC804\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uC0BD\\uC785\\uB41C \\uD14D\\uC2A4\\uD2B8\\uC758 \\uC724\\uACFD\\uC120 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC81C\\uAC70\\uB41C \\uD14D\\uC2A4\\uD2B8\\uC758 \\uC724\\uACFD\\uC120 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB450 \\uD14D\\uC2A4\\uD2B8 \\uD3B8\\uC9D1\\uAE30 \\uC0AC\\uC774\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC758 \\uB300\\uAC01\\uC120 \\uCC44\\uC6B0\\uAE30 \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uB300\\uAC01\\uC120 \\uCC44\\uC6B0\\uAE30\\uB294 diff \\uB098\\uB780\\uD788 \\uBCF4\\uAE30\\uC5D0\\uC11C \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uBE14\\uB85D\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uBE14\\uB85D\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"diff \\uD3B8\\uC9D1\\uAE30\\uC5D0\\uC11C \\uBCC0\\uACBD\\uB418\\uC9C0 \\uC54A\\uC740 \\uCF54\\uB4DC\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB0B4\\uC5D0\\uC11C \\uCC3E\\uAE30/\\uBC14\\uAFB8\\uAE30 \\uAC19\\uC740 \\uC704\\uC82F\\uC758 \\uADF8\\uB9BC\\uC790 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uB0B4\\uC5D0\\uC11C \\uCC3E\\uAE30/\\uBC14\\uAFB8\\uAE30\\uC640 \\uAC19\\uC740 \\uC704\\uC82F\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB97C \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC791\\uC5C5 \\uC704\\uB85C \\uB9C8\\uC6B0\\uC2A4\\uB97C \\uAC00\\uC838\\uAC00\\uB294 \\uACBD\\uC6B0 \\uB3C4\\uAD6C \\uBAA8\\uC74C \\uBC30\\uACBD\",\"\\uB9C8\\uC6B0\\uC2A4\\uB97C \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC791\\uC5C5 \\uC704\\uB85C \\uB9C8\\uC6B0\\uC2A4\\uB97C \\uAC00\\uC838\\uAC00\\uB294 \\uACBD\\uC6B0 \\uB3C4\\uAD6C \\uBAA8\\uC74C \\uC724\\uACFD\\uC120\",\"\\uC791\\uC5C5 \\uC704\\uC5D0 \\uB9C8\\uC6B0\\uC2A4\\uB97C \\uB193\\uC558\\uC744 \\uB54C \\uB3C4\\uAD6C \\uBAA8\\uC74C \\uBC30\\uACBD\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uC774\\uB3D9 \\uACBD\\uB85C \\uD56D\\uBAA9\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC774\\uB3D9 \\uACBD\\uB85C \\uD56D\\uBAA9\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uC774\\uB3D9 \\uACBD\\uB85C \\uD56D\\uBAA9\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD\\uD55C \\uC774\\uB3D9 \\uACBD\\uB85C \\uD56D\\uBAA9\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC774\\uB3D9 \\uACBD\\uB85C \\uD56D\\uBAA9 \\uC120\\uD0DD\\uAE30\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC758 \\uD604\\uC7AC \\uD5E4\\uB354 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC758 \\uD604\\uC7AC \\uCF58\\uD150\\uCE20 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC758 \\uB4E4\\uC5B4\\uC624\\uB294 \\uD5E4\\uB354 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC758 \\uB4E4\\uC5B4\\uC624\\uB294 \\uCF58\\uD150\\uCE20 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC758 \\uACF5\\uD1B5 \\uC0C1\\uC704 \\uD5E4\\uB354 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC758 \\uACF5\\uD1B5 \\uC0C1\\uC704 \\uCF58\\uD150\\uCE20 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC5D0\\uC11C \\uD5E4\\uB354 \\uBC0F \\uC2A4\\uD50C\\uB9AC\\uD130\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC5D0\\uC11C \\uD604\\uC7AC \\uAC1C\\uC694 \\uB208\\uAE08 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC5D0\\uC11C \\uC218\\uC2E0 \\uAC1C\\uC694 \\uB208\\uAE08 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC778\\uB77C\\uC778 \\uBCD1\\uD569 \\uCDA9\\uB3CC\\uC5D0\\uC11C \\uACF5\\uD1B5 \\uACFC\\uAC70 \\uAC1C\\uC694 \\uB208\\uAE08 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC77C\\uCE58 \\uD56D\\uBAA9 \\uCC3E\\uAE30\\uC758 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uD45C\\uC2DD \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uC120\\uD0DD \\uD56D\\uBAA9\\uC758 \\uAC1C\\uC694 \\uB208\\uAE08\\uC790 \\uD45C\\uC2DD \\uC0C9\\uC774 \\uAC15\\uC870 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC7A5\\uC2DD\\uC744 \\uC228\\uAE30\\uC9C0 \\uC54A\\uB3C4\\uB85D \\uC0C9\\uC740 \\uBD88\\uD22C\\uBA85\\uD558\\uC9C0 \\uC54A\\uC544\\uC57C \\uD569\\uB2C8\\uB2E4.\",\"\\uBB38\\uC81C \\uC624\\uB958 \\uC544\\uC774\\uCF58\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBB38\\uC81C \\uACBD\\uACE0 \\uC544\\uC774\\uCF58\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBB38\\uC81C \\uC815\\uBCF4 \\uC544\\uC774\\uCF58\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uC0C1\\uC790 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uC0C1\\uC790 \\uC804\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uC0C1\\uC790 \\uD14C\\uB450\\uB9AC\\uC785\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uD544\\uB4DC\\uC5D0\\uC11C \\uD65C\\uC131\\uD654\\uB41C \\uC635\\uC158\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uD544\\uB4DC\\uC5D0\\uC11C \\uD65C\\uC131\\uD654\\uB41C \\uC635\\uC158\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uD544\\uB4DC\\uC5D0 \\uC788\\uB294 \\uC635\\uC158\\uC758 \\uBC30\\uACBD \\uAC00\\uB9AC\\uD0A4\\uAE30 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC785\\uB825 \\uD544\\uB4DC\\uC5D0\\uC11C \\uD65C\\uC131\\uD654\\uB41C \\uC635\\uC158\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC704\\uCE58 \\uD45C\\uC2DC\\uC790 \\uD14D\\uC2A4\\uD2B8\\uC5D0 \\uB300\\uD55C \\uC785\\uB825 \\uC0C1\\uC790 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC815\\uBCF4 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC815\\uBCF4 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC815\\uBCF4 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uACBD\\uACE0 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uACBD\\uACE0 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uACBD\\uACE0 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC624\\uB958 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC624\\uB958 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC624\\uB958 \\uC2EC\\uAC01\\uB3C4\\uC758 \\uC785\\uB825 \\uC720\\uD6A8\\uC131 \\uAC80\\uC0AC \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB4DC\\uB86D\\uB2E4\\uC6B4 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uB4DC\\uB86D\\uB2E4\\uC6B4 \\uBAA9\\uB85D \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uB4DC\\uB86D\\uB2E4\\uC6B4 \\uC804\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uB4DC\\uB86D\\uB2E4\\uC6B4 \\uD14C\\uB450\\uB9AC\\uC785\\uB2C8\\uB2E4.\",\"\\uB2E8\\uCD94 \\uAE30\\uBCF8 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB2E8\\uCD94 \\uAD6C\\uBD84 \\uAE30\\uD638 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB2E8\\uCD94 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0AC \\uB54C \\uB2E8\\uCD94 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBC84\\uD2BC \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBCF4\\uC870 \\uB2E8\\uCD94 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBCF4\\uC870 \\uB2E8\\uCD94 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0AC \\uB54C \\uBCF4\\uC870 \\uB2E8\\uCD94 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uBB34\\uC120 \\uC1A1\\uC218\\uC2E0 \\uC7A5\\uCE58 \\uC635\\uC158\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uBB34\\uC120 \\uC1A1\\uC218\\uC2E0 \\uC7A5\\uCE58 \\uC635\\uC158\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uBB34\\uC120 \\uC1A1\\uC218\\uC2E0 \\uC7A5\\uCE58 \\uC635\\uC158\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uBB34\\uC120 \\uC1A1\\uC218\\uC2E0 \\uC7A5\\uCE58 \\uC635\\uC158\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uBB34\\uC120 \\uC1A1\\uC218\\uC2E0 \\uC7A5\\uCE58 \\uC635\\uC158\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBE44\\uD65C\\uC131 \\uBB34\\uC120 \\uC1A1\\uC218\\uC2E0 \\uC7A5\\uCE58 \\uC635\\uC158\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0AC \\uB54C \\uBE44\\uD65C\\uC131 \\uD65C\\uC131 \\uBB34\\uC120 \\uC1A1\\uC218\\uC2E0 \\uC7A5\\uCE58 \\uC635\\uC158\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD655\\uC778\\uB780 \\uC704\\uC82F\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD655\\uC778\\uB780 \\uC704\\uC82F\\uC774 \\uD3EC\\uD568\\uB41C \\uC694\\uC18C\\uAC00 \\uC120\\uD0DD\\uB41C \\uACBD\\uC6B0\\uC758 \\uD655\\uC778\\uB780 \\uC704\\uC82F \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD655\\uC778\\uB780 \\uC704\\uC82F\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD655\\uC778\\uB780 \\uC704\\uC82F\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD655\\uC778\\uB780 \\uC704\\uC82F\\uC774 \\uD3EC\\uD568\\uB41C \\uC694\\uC18C\\uAC00 \\uC120\\uD0DD\\uB41C \\uACBD\\uC6B0\\uC758 \\uD655\\uC778\\uB780 \\uC704\\uC82F \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD0A4 \\uBC14\\uC778\\uB529 \\uB808\\uC774\\uBE14 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uD0A4 \\uBC14\\uC778\\uB529 \\uB808\\uC774\\uBE14\\uC740 \\uBC14\\uB85C \\uAC00\\uAE30 \\uD0A4\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD0A4 \\uBC14\\uC778\\uB529 \\uB808\\uC774\\uBE14 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uD0A4 \\uBC14\\uC778\\uB529 \\uB808\\uC774\\uBE14\\uC740 \\uBC14\\uB85C \\uAC00\\uAE30 \\uD0A4\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD0A4 \\uBC14\\uC778\\uB529 \\uB808\\uC774\\uBE14 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uD0A4 \\uBC14\\uC778\\uB529 \\uB808\\uC774\\uBE14\\uC740 \\uBC14\\uB85C \\uAC00\\uAE30 \\uD0A4\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uD0A4 \\uBC14\\uC778\\uB529 \\uB808\\uC774\\uBE14 \\uD14C\\uB450\\uB9AC \\uC544\\uB798\\uCABD \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uD0A4 \\uBC14\\uC778\\uB529 \\uB808\\uC774\\uBE14\\uC740 \\uBC14\\uB85C \\uAC00\\uAE30 \\uD0A4\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC724\\uACFD\\uC120 \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131\\uD654\\uB418\\uACE0 \\uC120\\uD0DD\\uB418\\uC5C8\\uC744 \\uB54C \\uCD08\\uC810\\uC774 \\uB9DE\\uCDB0\\uC9C4 \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC724\\uACFD\\uC120 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4. \\uD65C\\uC131 \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uC5D0\\uB294 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uACE0 \\uBE44\\uD65C\\uC131\\uC5D0\\uB294 \\uADF8\\uB807\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC544\\uC774\\uCF58 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC544\\uC774\\uCF58 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC778 \\uACBD\\uC6B0 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC724\\uACFD\\uC120 \\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBAA9\\uB85D/\\uD2B8\\uB9AC\\uAC00 \\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD0A4\\uBCF4\\uB4DC \\uD3EC\\uCEE4\\uC2A4\\uB97C \\uAC00\\uC9C0\\uBA70, \\uBE44\\uD65C\\uC131 \\uC0C1\\uD0DC\\uC774\\uBA74 \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uD56D\\uBAA9\\uC744 \\uAC00\\uB9AC\\uD0AC \\uB54C \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uD56D\\uBAA9\\uC744 \\uAC00\\uB9AC\\uD0AC \\uB54C \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC804\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uD56D\\uBAA9\\uC744 \\uC774\\uB3D9\\uD560 \\uB54C \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uB04C\\uC5B4\\uC11C \\uB193\\uAE30 \\uBC30\\uACBD\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB97C \\uC0AC\\uC6A9\\uD560 \\uB54C \\uD56D\\uBAA9 \\uAC04\\uC5D0 \\uD56D\\uBAA9\\uC744 \\uC774\\uB3D9\\uD560 \\uB54C \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uB04C\\uC5B4\\uC11C \\uB193\\uAE30 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uB0B4\\uC5D0\\uC11C \\uAC80\\uC0C9\\uD560 \\uB54C \\uC77C\\uCE58 \\uD56D\\uBAA9 \\uAC15\\uC870 \\uD45C\\uC2DC\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uB0B4\\uC5D0\\uC11C \\uAC80\\uC0C9\\uD560 \\uB54C \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC804\\uACBD\\uC0C9\\uC774 \\uB2A5\\uB3D9\\uC801\\uC73C\\uB85C \\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC744 \\uAC15\\uC870 \\uD45C\\uC2DC\\uD569\\uB2C8\\uB2E4.\",\"\\uC798\\uBABB\\uB41C \\uD56D\\uBAA9\\uC5D0 \\uB300\\uD55C \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC804\\uACBD \\uC0C9(\\uC608: \\uD0D0\\uC0C9\\uAE30\\uC758 \\uD655\\uC778\\uD560 \\uC218 \\uC5C6\\uB294 \\uB8E8\\uD2B8).\",\"\\uC624\\uB958\\uB97C \\uD3EC\\uD568\\uD558\\uB294 \\uBAA9\\uB85D \\uD56D\\uBAA9\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uACBD\\uACE0\\uB97C \\uD3EC\\uD568\\uD558\\uB294 \\uBAA9\\uB85D \\uD56D\\uBAA9\\uC758 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC\\uC5D0\\uC11C \\uD615\\uC2DD \\uD544\\uD130 \\uC704\\uC82F\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC\\uC5D0\\uC11C \\uD615\\uC2DD \\uD544\\uD130 \\uC704\\uC82F\\uC758 \\uC724\\uACFD\\uC120 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC77C\\uCE58\\uD558\\uB294 \\uD56D\\uBAA9\\uC774 \\uC5C6\\uC744 \\uB54C \\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC\\uC5D0\\uC11C \\uD45C\\uC2DC\\uB418\\uB294 \\uD615\\uC2DD \\uD544\\uD130 \\uC704\\uC82F\\uC758 \\uC724\\uACFD\\uC120 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBAA9\\uB85D \\uBC0F \\uD2B8\\uB9AC\\uC5D0\\uC11C \\uC720\\uD615 \\uD544\\uD130 \\uC704\\uC82F\\uC758 \\uADF8\\uB9BC\\uC790 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uD544\\uD130\\uB9C1\\uB41C \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD544\\uD130\\uB9C1\\uB41C \\uC77C\\uCE58 \\uD56D\\uBAA9\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uAC15\\uC870\\uB418\\uC9C0 \\uC54A\\uC740 \\uD56D\\uBAA9\\uC758 \\uBAA9\\uB85D/\\uD2B8\\uB9AC \\uC804\\uACBD\\uC0C9.\",\"\\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uAC00\\uC774\\uB4DC\\uC758 \\uD2B8\\uB9AC \\uC2A4\\uD2B8\\uB85C\\uD06C \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uC0C1\\uD0DC\\uAC00 \\uC544\\uB2CC \\uB4E4\\uC5EC\\uC4F0\\uAE30 \\uC548\\uB0B4\\uC120\\uC758 \\uD2B8\\uB9AC \\uC2A4\\uD2B8\\uB85C\\uD06C \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC5F4 \\uC0AC\\uC774\\uC758 \\uD45C \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD640\\uC218 \\uD14C\\uC774\\uBE14 \\uD589\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB3D9\\uC791 \\uBAA9\\uB85D \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB3D9\\uC791 \\uBAA9\\uB85D \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uB3D9\\uC791 \\uBAA9\\uB85D \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uB3D9\\uC791 \\uBAA9\\uB85D \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBA54\\uB274 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBA54\\uB274 \\uD56D\\uBAA9 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBA54\\uB274 \\uD56D\\uBAA9 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBA54\\uB274\\uC758 \\uC120\\uD0DD\\uB41C \\uBA54\\uB274 \\uD56D\\uBAA9 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBA54\\uB274\\uC758 \\uC120\\uD0DD\\uB41C \\uBA54\\uB274 \\uD56D\\uBAA9 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBA54\\uB274\\uC758 \\uC120\\uD0DD\\uB41C \\uBA54\\uB274 \\uD56D\\uBAA9 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBA54\\uB274\\uC5D0\\uC11C \\uAD6C\\uBD84 \\uAE30\\uD638 \\uBA54\\uB274 \\uD56D\\uBAA9\\uC758 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC77C\\uCE58\\uD558\\uB294 \\uD56D\\uBAA9\\uC744 \\uCC3E\\uAE30 \\uC704\\uD55C \\uBBF8\\uB2C8\\uB9F5 \\uD45C\\uC2DD \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC120\\uD0DD\\uC744 \\uBC18\\uBCF5\\uD558\\uAE30 \\uC704\\uD55C \\uBBF8\\uB2C8\\uB9F5 \\uD45C\\uC2DD \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3B8\\uC9D1\\uAE30 \\uC120\\uD0DD \\uC791\\uC5C5\\uC744 \\uC704\\uD55C \\uBBF8\\uB2C8\\uB9F5 \\uB9C8\\uCEE4 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC815\\uBCF4\\uC5D0 \\uB300\\uD55C \\uBBF8\\uB2C8\\uB9F5 \\uB9C8\\uCEE4 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uACBD\\uACE0\\uC758 \\uBBF8\\uB2C8\\uB9F5 \\uB9C8\\uCEE4 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uC624\\uB958\\uC5D0 \\uB300\\uD55C \\uBBF8\\uB2C8\\uB9F5 \\uB9C8\\uCEE4 \\uC0C9\\uC0C1\\uC785\\uB2C8\\uB2E4.\",\"\\uBBF8\\uB2C8\\uB9F5 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",'\\uBBF8\\uB2C8\\uB9F5\\uC5D0\\uC11C \\uB80C\\uB354\\uB9C1\\uB41C \\uC804\\uACBD \\uC694\\uC18C\\uC758 \\uBD88\\uD22C\\uBA85\\uB3C4\\uC785\\uB2C8\\uB2E4. \\uC608\\uB97C \\uB4E4\\uC5B4, \"#000000c0\"\\uC740 \\uBD88\\uD22C\\uBA85\\uB3C4 75%\\uB85C \\uC694\\uC18C\\uB97C \\uB80C\\uB354\\uB9C1\\uD569\\uB2C8\\uB2E4.',\"\\uBBF8\\uB2C8\\uB9F5 \\uC2AC\\uB77C\\uC774\\uB354 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0AC \\uB54C \\uBBF8\\uB2C8\\uB9F5 \\uC2AC\\uB77C\\uC774\\uB354 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD074\\uB9AD\\uD588\\uC744 \\uB54C \\uBBF8\\uB2C8\\uB9F5 \\uC2AC\\uB77C\\uC774\\uB354 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD65C\\uC131 \\uC100\\uC2DC\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBC30\\uC9C0 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBC30\\uC9C0\\uB294 \\uAC80\\uC0C9 \\uACB0\\uACFC \\uC218\\uC640 \\uAC19\\uC740 \\uC18C\\uB7C9\\uC758 \\uC815\\uBCF4 \\uB808\\uC774\\uBE14\\uC785\\uB2C8\\uB2E4.\",\"\\uBC30\\uC9C0 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4. \\uBC30\\uC9C0\\uB294 \\uAC80\\uC0C9 \\uACB0\\uACFC \\uC218\\uC640 \\uAC19\\uC740 \\uC18C\\uB7C9\\uC758 \\uC815\\uBCF4 \\uB808\\uC774\\uBE14\\uC785\\uB2C8\\uB2E4.\",\"\\uC2A4\\uD06C\\uB864\\uB418\\uB294 \\uBCF4\\uAE30\\uB97C \\uB098\\uD0C0\\uB0B4\\uB294 \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300 \\uADF8\\uB9BC\\uC790\\uC785\\uB2C8\\uB2E4.\",\"\\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300 \\uC2AC\\uB77C\\uC774\\uBC84 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB9C8\\uC6B0\\uC2A4\\uB85C \\uAC00\\uB9AC\\uD0AC \\uB54C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300 \\uC2AC\\uB77C\\uC774\\uB354 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD074\\uB9AD\\uB41C \\uC0C1\\uD0DC\\uC77C \\uB54C \\uC2A4\\uD06C\\uB864 \\uB9C9\\uB300 \\uC2AC\\uB77C\\uC774\\uB354 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uC7A5\\uAE30 \\uC791\\uC5C5\\uC744 \\uB300\\uC0C1\\uC73C\\uB85C \\uD45C\\uC2DC\\uB420 \\uC218 \\uC788\\uB294 \\uC9C4\\uD589\\uB960 \\uD45C\\uC2DC\\uC904\\uC758 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uBC30\\uACBD\\uC0C9. \\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC704\\uC82F\\uC740 \\uBA85\\uB839 \\uD314\\uB808\\uD2B8\\uC640 \\uAC19\\uC740 \\uC120\\uD0DD\\uAE30\\uB97C \\uC704\\uD55C \\uCEE8\\uD14C\\uC774\\uB108\\uC785\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC804\\uACBD\\uC0C9. \\uC774 \\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC704\\uC82F\\uC740 \\uBA85\\uB839 \\uD314\\uB808\\uD2B8\\uC640 \\uAC19\\uC740 \\uC120\\uD0DD\\uAE30\\uB97C \\uC704\\uD55C \\uCEE8\\uD14C\\uC774\\uB108\\uC785\\uB2C8\\uB2E4.\",\"\\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC81C\\uBAA9 \\uBC30\\uACBD\\uC0C9. \\uC774 \\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC704\\uC82F\\uC740 \\uBA85\\uB839 \\uD314\\uB808\\uD2B8\\uC640 \\uAC19\\uC740 \\uC120\\uD0DD\\uAE30\\uB97C \\uC704\\uD55C \\uCEE8\\uD14C\\uC774\\uB108\\uC785\\uB2C8\\uB2E4.\",\"\\uADF8\\uB8F9\\uD654 \\uB808\\uC774\\uBE14\\uC5D0 \\uB300\\uD55C \\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uADF8\\uB8F9\\uD654 \\uD14C\\uB450\\uB9AC\\uC5D0 \\uB300\\uD55C \\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uB300\\uC2E0 quickInputList.focusBackground\\uB97C \\uC0AC\\uC6A9\\uD558\\uC138\\uC694.\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uC544\\uC774\\uCF58 \\uC804\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uD3EC\\uCEE4\\uC2A4\\uAC00 \\uC788\\uB294 \\uD56D\\uBAA9\\uC758 \\uBE60\\uB978 \\uC120\\uD0DD\\uAE30 \\uBC30\\uACBD\\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uAC80\\uC0C9 \\uBDF0\\uB81B \\uC644\\uB8CC \\uBA54\\uC2DC\\uC9C0\\uC758 \\uD14D\\uC2A4\\uD2B8 \\uC0C9\\uC785\\uB2C8\\uB2E4.\",\"\\uAC80\\uC0C9 \\uD3B8\\uC9D1\\uAE30 \\uCFFC\\uB9AC\\uC758 \\uC0C9\\uC0C1\\uC774 \\uC77C\\uCE58\\uD569\\uB2C8\\uB2E4.\",\"\\uAC80\\uC0C9 \\uD3B8\\uC9D1\\uAE30 \\uCFFC\\uB9AC\\uC758 \\uD14C\\uB450\\uB9AC \\uC0C9\\uC0C1\\uC774 \\uC77C\\uCE58\\uD569\\uB2C8\\uB2E4.\",\"\\uC774 \\uC0C9\\uC740 \\uD22C\\uBA85\\uD574\\uC57C \\uD569\\uB2C8\\uB2E4. \\uADF8\\uB807\\uC9C0 \\uC54A\\uC73C\\uBA74 \\uCF58\\uD150\\uCE20\\uAC00 \\uAC00\\uB824\\uC9D1\\uB2C8\\uB2E4.\",\"\\uAE30\\uBCF8 \\uC0C9\\uC744 \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4.\",\"\\uC0AC\\uC6A9\\uD560 \\uAE00\\uAF34\\uC758 ID\\uC785\\uB2C8\\uB2E4. \\uC124\\uC815\\uD558\\uC9C0 \\uC54A\\uC73C\\uBA74 \\uCCAB \\uBC88\\uC9F8\\uB85C \\uC815\\uC758\\uD55C \\uAE00\\uAF34\\uC774 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",\"\\uC544\\uC774\\uCF58 \\uC815\\uC758\\uC640 \\uC5F0\\uACB0\\uB41C \\uAE00\\uAF34 \\uBB38\\uC790\\uC785\\uB2C8\\uB2E4.\",\"\\uC704\\uC82F\\uC5D0\\uC11C \\uB2EB\\uAE30 \\uC791\\uC5C5\\uC758 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uC774\\uC804 \\uD3B8\\uC9D1\\uAE30 \\uC704\\uCE58\\uB85C \\uC774\\uB3D9 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"\\uB2E4\\uC74C \\uD3B8\\uC9D1\\uAE30 \\uC704\\uCE58\\uB85C \\uC774\\uB3D9 \\uC544\\uC774\\uCF58\\uC785\\uB2C8\\uB2E4.\",\"{0} \\uD30C\\uC77C\\uC774 \\uB2EB\\uD788\\uACE0 \\uB514\\uC2A4\\uD06C\\uC5D0\\uC11C \\uC218\\uC815\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",\"{0} \\uD30C\\uC77C\\uC740 \\uD638\\uD658\\uB418\\uC9C0 \\uC54A\\uB294 \\uBC29\\uC2DD\\uC73C\\uB85C \\uC218\\uC815\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uC2E4\\uD589 \\uCDE8\\uC18C\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. {1}\",\"\\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uC2E4\\uD589 \\uCDE8\\uC18C\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. {1}\",\"{1}\\uC5D0 \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC774 \\uC801\\uC6A9\\uB418\\uC5C8\\uC73C\\uBBC0\\uB85C \\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uC2E4\\uD589 \\uCDE8\\uC18C\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"{1}\\uC5D0\\uC11C \\uC2E4\\uD589 \\uCDE8\\uC18C \\uB610\\uB294 \\uB2E4\\uC2DC \\uC2E4\\uD589 \\uC791\\uC5C5\\uC774 \\uC774\\uBBF8 \\uC2E4\\uD589 \\uC911\\uC774\\uBBC0\\uB85C \\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uC2E4\\uD589 \\uCDE8\\uC18C\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uADF8\\uB3D9\\uC548 \\uC2E4\\uD589 \\uCDE8\\uC18C \\uB610\\uB294 \\uB2E4\\uC2DC \\uC2E4\\uD589 \\uC791\\uC5C5\\uC774 \\uBC1C\\uC0DD\\uD588\\uAE30 \\uB54C\\uBB38\\uC5D0 \\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uC2E4\\uD589 \\uCDE8\\uC18C\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uC2E4\\uD589 \\uCDE8\\uC18C\\uD558\\uC2DC\\uACA0\\uC2B5\\uB2C8\\uAE4C?\",\"\\uD30C\\uC77C {0}\\uAC1C\\uC5D0\\uC11C \\uC2E4\\uD589 \\uCDE8\\uC18C(&&U)\",\"\\uC774 \\uD30C\\uC77C \\uC2E4\\uD589 \\uCDE8\\uC18C(&&F)\",\"\\uC2E4\\uD589 \\uCDE8\\uC18C \\uB610\\uB294 \\uB2E4\\uC2DC \\uC2E4\\uD589 \\uC791\\uC5C5\\uC774 \\uC774\\uBBF8 \\uC2E4\\uD589 \\uC911\\uC774\\uBBC0\\uB85C '{0}'\\uC744(\\uB97C) \\uC2E4\\uD589 \\uCDE8\\uC18C\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"'{0}'\\uC744(\\uB97C) \\uC2E4\\uD589 \\uCDE8\\uC18C\\uD558\\uC2DC\\uACA0\\uC2B5\\uB2C8\\uAE4C?\",\"\\uC608(&&Y)\",\"\\uC544\\uB2C8\\uC694\",\"\\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uB2E4\\uC2DC \\uC2E4\\uD589\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. {1}\",\"\\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uB2E4\\uC2DC \\uC2E4\\uD589\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. {1}\",\"{1}\\uC5D0 \\uBCC0\\uACBD \\uB0B4\\uC6A9\\uC774 \\uC801\\uC6A9\\uB418\\uC5C8\\uC73C\\uBBC0\\uB85C \\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uB2E4\\uC2DC \\uC2E4\\uD589\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"{1}\\uC5D0\\uC11C \\uC2E4\\uD589 \\uCDE8\\uC18C \\uB610\\uB294 \\uB2E4\\uC2DC \\uC2E4\\uD589 \\uC791\\uC5C5\\uC774 \\uC774\\uBBF8 \\uC2E4\\uD589 \\uC911\\uC774\\uBBC0\\uB85C \\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uB2E4\\uC2DC \\uC2E4\\uD589\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uADF8\\uB3D9\\uC548 \\uC2E4\\uD589 \\uCDE8\\uC18C \\uB610\\uB294 \\uB2E4\\uC2DC \\uC2E4\\uD589 \\uC791\\uC5C5\\uC774 \\uBC1C\\uC0DD\\uD588\\uAE30 \\uB54C\\uBB38\\uC5D0 \\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC5D0\\uC11C '{0}'\\uC744(\\uB97C) \\uB2E4\\uC2DC \\uC2E4\\uD589\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uC2E4\\uD589 \\uCDE8\\uC18C \\uB610\\uB294 \\uB2E4\\uC2DC \\uC2E4\\uD589 \\uC791\\uC5C5\\uC774 \\uC774\\uBBF8 \\uC2E4\\uD589 \\uC911\\uC774\\uBBC0\\uB85C '{0}'\\uC744(\\uB97C) \\uB2E4\\uC2DC \\uC2E4\\uD589\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\"\\uCF54\\uB4DC \\uC791\\uC5C5 \\uC601\\uC5ED\"],globalThis._VSCODE_NLS_LANGUAGE=\"ko\";\n\n//# sourceMappingURL=../min-maps/nls.messages.ko.js.map\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.ru.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0} ({1})\",\"\\u0432\\u0445\\u043E\\u0434\\u043D\\u044B\\u0435 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0435\",\"\\u0421 \\u0443\\u0447\\u0435\\u0442\\u043E\\u043C \\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0430\",\"\\u0421\\u043B\\u043E\\u0432\\u043E \\u0446\\u0435\\u043B\\u0438\\u043A\\u043E\\u043C\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0440\\u0435\\u0433\\u0443\\u043B\\u044F\\u0440\\u043D\\u043E\\u0435 \\u0432\\u044B\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435\",\"\\u0432\\u0445\\u043E\\u0434\\u043D\\u044B\\u0435 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0435\",\"\\u0421\\u043E\\u0445\\u0440\\u0430\\u043D\\u0438\\u0442\\u044C \\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\",\"\\u041F\\u0440\\u043E\\u0432\\u0435\\u0440\\u044C\\u0442\\u0435 \\u044D\\u0442\\u043E\\u0442 \\u0430\\u0441\\u043F\\u0435\\u043A\\u0442 \\u0432 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E\\u043C \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0438 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E {0}.\",'\\u041F\\u0440\\u043E\\u0432\\u0435\\u0440\\u044C\\u0442\\u0435 \\u044D\\u0442\\u043E\\u0442 \\u0430\\u0441\\u043F\\u0435\\u043A\\u0442 \\u0432 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0438 \\u0441 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u043E\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0441 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u043E\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439\", \\u043A\\u043E\\u0442\\u043E\\u0440\\u0443\\u044E \\u0432 \\u043D\\u0430\\u0441\\u0442\\u043E\\u044F\\u0449\\u0435\\u0435 \\u0432\\u0440\\u0435\\u043C\\u044F \\u043D\\u0435\\u043B\\u044C\\u0437\\u044F \\u0430\\u043A\\u0442\\u0438\\u0432\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448.',\"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430: {0}\",\"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435: {0}\",\"\\u0418\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u044F: {0}\",\" \\u0438\\u043B\\u0438 {0} \\u0434\\u043B\\u044F \\u0436\\u0443\\u0440\\u043D\\u0430\\u043B\\u0430\",\" ({0} \\u0434\\u043B\\u044F \\u0436\\u0443\\u0440\\u043D\\u0430\\u043B\\u0430)\",\"\\u041E\\u0447\\u0438\\u0449\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0432\\u0445\\u043E\\u0434\\u043D\\u044B\\u0435 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0435\",\"\\u0441\\u0432\\u043E\\u0431\\u043E\\u0434\\u043D\\u044B\\u0439\",\"\\u041F\\u043E\\u043B\\u0435 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430\",\"\\u0414\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F...\",\"\\u0424\\u0438\\u043B\\u044C\\u0442\\u0440\",\"\\u041D\\u0435\\u0447\\u0435\\u0442\\u043A\\u043E\\u0435 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u0442\\u0435\\u043A\\u0441\\u0442 \\u0434\\u043B\\u044F \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u0430\",\"\\u0412\\u0432\\u043E\\u0434 \\u0434\\u043B\\u044F \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430\",\"\\u0412\\u0432\\u043E\\u0434 \\u0434\\u043B\\u044F \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430\",\"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\",\"\\u041D\\u0435\\u0442 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432\",\"\\u0420\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u044B \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u044B.\",null,\"(\\u043F\\u0443\\u0441\\u0442\\u043E)\",\"{0}: {1}\",\"\\u041F\\u0440\\u043E\\u0438\\u0437\\u043E\\u0448\\u043B\\u0430 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043C\\u043D\\u0430\\u044F \\u043E\\u0448\\u0438\\u0431\\u043A\\u0430 ({0})\",\"\\u041F\\u0440\\u043E\\u0438\\u0437\\u043E\\u0448\\u043B\\u0430 \\u043D\\u0435\\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043D\\u0430\\u044F \\u043E\\u0448\\u0438\\u0431\\u043A\\u0430. \\u041F\\u043E\\u0434\\u0440\\u043E\\u0431\\u043D\\u044B\\u0435 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u0441\\u043C. \\u0432 \\u0436\\u0443\\u0440\\u043D\\u0430\\u043B\\u0435.\",\"\\u041F\\u0440\\u043E\\u0438\\u0437\\u043E\\u0448\\u043B\\u0430 \\u043D\\u0435\\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043D\\u0430\\u044F \\u043E\\u0448\\u0438\\u0431\\u043A\\u0430. \\u041F\\u043E\\u0434\\u0440\\u043E\\u0431\\u043D\\u044B\\u0435 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u0441\\u043C. \\u0432 \\u0436\\u0443\\u0440\\u043D\\u0430\\u043B\\u0435.\",\"{0} (\\u0432\\u0441\\u0435\\u0433\\u043E \\u043E\\u0448\\u0438\\u0431\\u043E\\u043A: {1})\",\"\\u041F\\u0440\\u043E\\u0438\\u0437\\u043E\\u0448\\u043B\\u0430 \\u043D\\u0435\\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043D\\u0430\\u044F \\u043E\\u0448\\u0438\\u0431\\u043A\\u0430. \\u041F\\u043E\\u0434\\u0440\\u043E\\u0431\\u043D\\u044B\\u0435 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u0441\\u043C. \\u0432 \\u0436\\u0443\\u0440\\u043D\\u0430\\u043B\\u0435.\",\"CTRL\",\"SHIFT\",\"ALT\",\"Windows\",\"CTRL\",\"SHIFT\",\"ALT\",\"Super\",\"CTRL\",\"SHIFT\",\"\\u041F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\",\"\\u041A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0430\",\"CTRL\",\"SHIFT\",\"ALT\",\"Windows\",\"CTRL\",\"SHIFT\",\"ALT\",\"Super\",null,null,null,null,null,\"\\u0420\\u0430\\u0437\\u043C\\u0435\\u0449\\u0430\\u0442\\u044C \\u043D\\u0430 \\u043A\\u043E\\u043D\\u0446\\u0435 \\u0434\\u0430\\u0436\\u0435 \\u0434\\u043B\\u044F \\u0431\\u043E\\u043B\\u0435\\u0435 \\u0434\\u043B\\u0438\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A\",\"\\u0420\\u0430\\u0437\\u043C\\u0435\\u0449\\u0430\\u0442\\u044C \\u043D\\u0430 \\u043A\\u043E\\u043D\\u0446\\u0435 \\u0434\\u0430\\u0436\\u0435 \\u0434\\u043B\\u044F \\u0431\\u043E\\u043B\\u0435\\u0435 \\u0434\\u043B\\u0438\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A\",\"\\u0414\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u044B \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u044B.\",\"&&\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"&&\\u041F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C\",\"\\u0412\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C\",\"&&\\u0412\\u044B\\u0434\\u0435\\u043B\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u0432\\u0441\\u0435\",\"\\u0423\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0439\\u0442\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0443 {0}\\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0430\\u0432\\u0435\\u0441\\u0442\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044C \\u043C\\u044B\\u0448\\u0438\",\"\\u0418\\u0434\\u0435\\u0442 \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u043A\\u0430...\",\"\\u0427\\u0438\\u0441\\u043B\\u043E \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432 \\u043E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0435\\u043D\\u043E {0}. \\u0414\\u043B\\u044F \\u043F\\u0440\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u043A\\u0440\\u0443\\u043F\\u043D\\u044B\\u0445 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0439 \\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0443\\u0435\\u0442\\u0441\\u044F \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C [\\u043F\\u043E\\u0438\\u0441\\u043A \\u0438 \\u0437\\u0430\\u043C\\u0435\\u043D\\u0443](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) \\u0438\\u043B\\u0438 \\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 \\u043E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0435\\u043D\\u0438\\u044F \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0423\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0435\\u043D\\u0438\\u044F \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044C \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044F \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0440\\u0435\\u0433\\u0438\\u043E\\u043D\\u043E\\u0432\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0438\\u043B\\u0438 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0431\\u043B\\u043E\\u043A\\u0438 \\u043A\\u043E\\u0434\\u0430\",'\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044C \"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u043E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0435\\u043D\\u043D\\u043E\\u043C \\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u0435\"',\"\\u0420\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0441\\u0442\\u043E\\u0440\\u043E\\u043D\\u0443\",\"\\u0412\\u044B\\u0439\\u0442\\u0438 \\u0438\\u0437 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u0438\\u044F \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u044F\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u0441\\u0435 \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0432\\u0441\\u0435 \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F\",\"\\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u0439\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u044E\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C\\u0443 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u044E\",'\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\" \\u0432 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0441 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u043E\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u0439','\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C\" \\u0432 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0441 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u043E\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u0439','\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\" \\u0432 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0441 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u043E\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u0439',\"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\",\"\\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E\\u0435 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u044F. \\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 \\u0421\\u0422\\u0420\\u0415\\u041B\\u041A\\u0410 \\u0412\\u0412\\u0415\\u0420\\u0425 \\u0438 \\u0421\\u0422\\u0420\\u0415\\u041B\\u041A\\u0410 \\u0412\\u041D\\u0418\\u0417 \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u0438\\u044F.\",\"\\u043D\\u0435\\u0442 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A\",\"1 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0430\",\"\\u0421\\u0442\\u0440\\u043E\\u043A \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043E: {0}\",\"\\u0420\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u0435 {0} \\u0438\\u0437 {1}: \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 {2}, {3}, \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 {4}, {5}\",\"\\u043F\\u0443\\u0441\\u0442\\u043E\\u0439\",\"{0} \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 {1}\",\"{0} \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 {1} \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 {2}\",\"+ {0} \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 {1}\",\"- {0} \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 {1}\",\" \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 {0}, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0441\\u043F\\u0440\\u0430\\u0432\\u043A\\u0443 \\u043F\\u043E \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u043C \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u044F\\u043C.\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u043D\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u043D\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 ({0})\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 ({0})\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u044D\\u0442\\u043E \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0435\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u043E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0435\\u043D\\u043D\\u043E\\u043C \\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u0435\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0431\\u043B\\u043E\\u043A\\u0438 \\u043A\\u043E\\u0434\\u0430\",\"\\u041E\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u044C \\u0431\\u043B\\u043E\\u043A\\u0438\\u0440\\u043E\\u0432\\u043A\\u0443\",\"\\u041E\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0441 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u043E\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u0439\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u0443\\u044E \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u044C\",\"\\u0421\\u043A\\u0440\\u044B\\u0442\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 ({0})\",\"\\u0429\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435 \\u0438\\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0442\\u0430\\u0449\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435 \\u0432\\u044B\\u0448\\u0435\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0440\\u0435\\u0433\\u0438\\u043E\\u043D\",\"\\u0429\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435 \\u0438\\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0442\\u0430\\u0449\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435 \\u043D\\u0438\\u0436\\u0435\",\"\\u0421\\u043A\\u0440\\u044B\\u0442\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 ({0})\",\"\\u0414\\u0432\\u0430\\u0436\\u0434\\u044B \\u0449\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0440\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C\",\"\\u041A\\u043E\\u0434 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D \\u0441 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F\\u043C\\u0438 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 {0}-{1}\",\"\\u041A\\u043E\\u0434 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D \\u0441 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F\\u043C\\u0438 \\u0438\\u0437 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 {0}-{1}\",\"\\u041A\\u043E\\u0434 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 {0}-{1}\",\"\\u041A\\u043E\\u0434 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D \\u0438\\u0437 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 {0}-{1}\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u044B\\u0435 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0435\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430, \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0439 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430, \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043D\\u0438 \\u0432\\u043E\\u043A\\u0440\\u0443\\u0433 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0435\\u0439.\",\"\\u041E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0432\\u0441\\u0442\\u0430\\u0432\\u043E\\u043A \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u041E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u0439\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u0439 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432\",\"\\u041D\\u0435\\u0442 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432\",\"\\u0420\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\",\"\\u0427\\u0438\\u0441\\u043B\\u043E \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u043E\\u0432, \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0449\\u0435\\u0435 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438. \\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u0444\\u0430\\u0439\\u043B\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 {0}.\",'\\u0427\\u0438\\u0441\\u043B\\u043E \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u043E\\u0432, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430, \\u043B\\u0438\\u0431\\u043E `\"tabSize\"` \\u0434\\u043B\\u044F \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0438\\u0437 \"#editor.tabSize#\". \\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u0444\\u0430\\u0439\\u043B\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \"#editor.detectIndentation#\".',\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 TAB. \\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u0444\\u0430\\u0439\\u043B\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 {0}.\",\"\\u041D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u0444\\u0430\\u0439\\u043B\\u0430 \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043B\\u0438 {0} \\u0438 {1} \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u043E\\u0431\\u043D\\u0430\\u0440\\u0443\\u0436\\u0435\\u043D\\u044B \\u043F\\u0440\\u0438 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u0438\\u0438 \\u0444\\u0430\\u0439\\u043B\\u0430.\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u043C\\u044B\\u0439 \\u043A\\u043E\\u043D\\u0435\\u0447\\u043D\\u044B\\u0439 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B.\",\"\\u0421\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u043A\\u0430 \\u0434\\u043B\\u044F \\u0431\\u043E\\u043B\\u044C\\u0448\\u0438\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432 \\u0441 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435\\u043C \\u043D\\u0435\\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u0439, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u0438\\u043D\\u0442\\u0435\\u043D\\u0441\\u0438\\u0432\\u043D\\u043E \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u044E\\u0442 \\u043F\\u0430\\u043C\\u044F\\u0442\\u044C.\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u0441\\u043B\\u043E\\u0432.\",\"\\u041F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0441\\u043B\\u043E\\u0432 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0438\\u0437 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430.\",\"\\u041F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0441\\u043B\\u043E\\u0432 \\u0438\\u0437 \\u0432\\u0441\\u0435\\u0445 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044B\\u0445 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043D\\u0430 \\u043E\\u0434\\u043D\\u043E\\u043C \\u044F\\u0437\\u044B\\u043A\\u0435.\",\"\\u041F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0441\\u043B\\u043E\\u0432 \\u0438\\u0437 \\u0432\\u0441\\u0435\\u0445 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044B\\u0445 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u044F\\u0442\\u044C \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u0441\\u043B\\u043E\\u0432 \\u0432 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0435 \\u0438 \\u0438\\u0437 \\u043A\\u0430\\u043A\\u0438\\u0445 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043E\\u043D\\u0438 \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F.\",\"\\u0421\\u0435\\u043C\\u0430\\u043D\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043E \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432\\u044B\\u0445 \\u0442\\u0435\\u043C.\",\"\\u0421\\u0435\\u043C\\u0430\\u043D\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043E \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432\\u044B\\u0445 \\u0442\\u0435\\u043C.\",'\\u0421\\u0435\\u043C\\u0430\\u043D\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 \"semanticHighlighting\" \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0439 \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432\\u043E\\u0439 \\u0442\\u0435\\u043C\\u044B.',\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u043F\\u043E\\u043A\\u0430\\u0437 \\u0441\\u0435\\u043C\\u0430\\u043D\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0439 \\u043F\\u043E\\u0434\\u0441\\u0432\\u0435\\u0442\\u043A\\u0438 \\u0434\\u043B\\u044F \\u044F\\u0437\\u044B\\u043A\\u043E\\u0432, \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u044E\\u0449\\u0438\\u0445 \\u0435\\u0435.\",\"\\u041E\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u0431\\u044B\\u0441\\u0442\\u0440\\u044B\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044B\\u043C \\u0434\\u0430\\u0436\\u0435 \\u043F\\u0440\\u0438 \\u0434\\u0432\\u043E\\u0439\\u043D\\u043E\\u043C \\u0449\\u0435\\u043B\\u0447\\u043A\\u0435 \\u043F\\u043E \\u0435\\u0433\\u043E \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u043C\\u0443 \\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 ESC.\",\"\\u0421\\u0442\\u0440\\u043E\\u043A\\u0438, \\u0434\\u043B\\u0438\\u043D\\u0430 \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u043F\\u0440\\u0435\\u0432\\u044B\\u0448\\u0430\\u0435\\u0442 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u043D\\u043E\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435, \\u043D\\u0435 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0447\\u0435\\u043D\\u044B \\u0438\\u0437 \\u0441\\u043E\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0440\\u043E\\u0438\\u0437\\u0432\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u0438\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u0430 \\u043B\\u0438 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0442\\u043A\\u0430 \\u043F\\u0440\\u043E\\u0438\\u0441\\u0445\\u043E\\u0434\\u0438\\u0442\\u044C \\u0430\\u0441\\u0438\\u043D\\u0445\\u0440\\u043E\\u043D\\u043D\\u043E \\u0432 \\u0440\\u0430\\u0431\\u043E\\u0447\\u0435\\u0439 \\u0440\\u043E\\u043B\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0430\\u0441\\u0438\\u043D\\u0445\\u0440\\u043E\\u043D\\u043D\\u0443\\u044E \\u0440\\u0430\\u0437\\u043C\\u0435\\u0442\\u043A\\u0443. \\u0422\\u043E\\u043B\\u044C\\u043A\\u043E \\u0434\\u043B\\u044F \\u043E\\u0442\\u043B\\u0430\\u0434\\u043A\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u0430 \\u043B\\u0438 \\u0430\\u0441\\u0438\\u043D\\u0445\\u0440\\u043E\\u043D\\u043D\\u0430\\u044F \\u0440\\u0430\\u0437\\u043C\\u0435\\u0442\\u043A\\u0430 \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u044F\\u0442\\u044C\\u0441\\u044F \\u043F\\u043E \\u043E\\u0442\\u043D\\u043E\\u0448\\u0435\\u043D\\u0438\\u044E \\u043A \\u0443\\u0441\\u0442\\u0430\\u0440\\u0435\\u0432\\u0448\\u0435\\u0439 \\u0444\\u043E\\u043D\\u043E\\u0432\\u043E\\u0439 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0442\\u043A\\u0435. \\u041C\\u043E\\u0436\\u0435\\u0442 \\u0437\\u0430\\u043C\\u0435\\u0434\\u043B\\u0438\\u0442\\u044C \\u0440\\u0430\\u0437\\u043C\\u0435\\u0442\\u043A\\u0443. \\u0422\\u043E\\u043B\\u044C\\u043A\\u043E \\u0434\\u043B\\u044F \\u043E\\u0442\\u043B\\u0430\\u0434\\u043A\\u0438.\",'\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0441\\u0438\\u043D\\u0442\\u0430\\u043A\\u0441\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438\\u0439 \\u0430\\u043D\\u0430\\u043B\\u0438\\u0437 tree sitter \\u0438 \\u0441\\u043E\\u0431\\u0438\\u0440\\u0430\\u0442\\u044C \\u0434\\u0430\\u043D\\u043D\\u044B\\u0435 \\u0442\\u0435\\u043B\\u0435\\u043C\\u0435\\u0442\\u0440\\u0438\\u0438. \\u041F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \"editor.experimental.preferTreeSitter\" \\u0434\\u043B\\u044F \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044F\\u0437\\u044B\\u043A\\u043E\\u0432 \\u043E\\u0431\\u043B\\u0430\\u0434\\u0430\\u0435\\u0442 \\u043F\\u0440\\u0438\\u043E\\u0440\\u0438\\u0442\\u0435\\u0442\\u043E\\u043C.',\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A, \\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0432\\u0430\\u044E\\u0449\\u0438\\u0435 \\u0438\\u043B\\u0438 \\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0430\\u044E\\u0449\\u0438\\u0435 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F.\",\"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0439 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0432\\u0430\\u044F \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u044C.\",\"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0439 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0432\\u0430\\u044F \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u044C.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u043F\\u0430\\u0440\\u044B \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A, \\u0446\\u0432\\u0435\\u0442 \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u0442 \\u043E\\u0442 \\u0438\\u0445 \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0432\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F, \\u0435\\u0441\\u043B\\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0430 \\u043E\\u043F\\u0446\\u0438\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0446\\u0432\\u0435\\u0442\\u043E\\u043C.\",\"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0439 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0432\\u0430\\u044F \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u044C.\",\"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0439 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0432\\u0430\\u044F \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u044C.\",\"\\u0412\\u0440\\u0435\\u043C\\u044F \\u043E\\u0436\\u0438\\u0434\\u0430\\u043D\\u0438\\u044F \\u0432 \\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\\u0445, \\u043F\\u043E \\u0438\\u0441\\u0442\\u0435\\u0447\\u0435\\u043D\\u0438\\u0438 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043E\\u0442\\u043C\\u0435\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F. \\u0423\\u043A\\u0430\\u0436\\u0438\\u0442\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 0, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432\\u0440\\u0435\\u043C\\u044F \\u043E\\u0436\\u0438\\u0434\\u0430\\u043D\\u0438\\u044F.\",\"\\u041C\\u0430\\u043A\\u0441\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u044B\\u0439 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0444\\u0430\\u0439\\u043B\\u0430 \\u0432 \\u041C\\u0411 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u0435\\u043D\\u0438\\u044F \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u0439. \\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 0 \\u0431\\u0435\\u0437 \\u043E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0435\\u043D\\u0438\\u0439.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043A\\u0430\\u043A \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u043E\\u0442\\u043B\\u0438\\u0447\\u0438\\u044F: \\u0440\\u044F\\u0434\\u043E\\u043C \\u0438\\u043B\\u0438 \\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0435.\",\"\\u0415\\u0441\\u043B\\u0438 \\u0448\\u0438\\u0440\\u0438\\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043C\\u0435\\u043D\\u044C\\u0448\\u0435 \\u044D\\u0442\\u043E\\u0433\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435.\",\"\\u0415\\u0441\\u043B\\u0438 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D \\u0438 \\u0448\\u0438\\u0440\\u0438\\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0441\\u043B\\u0438\\u0448\\u043A\\u043E\\u043C \\u043C\\u0430\\u043B\\u0430, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435.\",\"\\u0415\\u0441\\u043B\\u0438 \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043D\\u0430 \\u043F\\u043E\\u043B\\u0435 \\u0433\\u043B\\u0438\\u0444\\u0430 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0441\\u0442\\u0440\\u0435\\u043B\\u043A\\u0438 \\u0434\\u043B\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0439.\",\"\\u0415\\u0441\\u043B\\u0438 \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u043E\\u0441\\u043E\\u0431\\u0430\\u044F \\u043F\\u0430\\u043D\\u0435\\u043B\\u044C \\u0434\\u043B\\u044F \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0439 \\u0438 \\u043F\\u043E\\u0434\\u0433\\u043E\\u0442\\u043E\\u0432\\u043A\\u0438.\",\"\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0438\\u0433\\u043D\\u043E\\u0440\\u0438\\u0440\\u0443\\u0435\\u0442 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u043E\\u0433\\u043E \\u0438\\u043B\\u0438 \\u043A\\u043E\\u043D\\u0435\\u0447\\u043D\\u043E\\u0433\\u043E \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0438\\u043D\\u0434\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440\\u044B +/- \\u0434\\u043B\\u044F \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0438\\u043B\\u0438 \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0439.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 CodeLens \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0421\\u0442\\u0440\\u043E\\u043A\\u0438 \\u043D\\u0435 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0438\\u0442\\u044C\\u0441\\u044F \\u043D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430.\",\"\\u0421\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0438\\u0442\\u044C\\u0441\\u044F \\u043F\\u043E \\u0448\\u0438\\u0440\\u0438\\u043D\\u0435 \\u043E\\u043A\\u043D\\u0430 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430.\",\"\\u0421\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0438\\u0442\\u044C\\u0441\\u044F \\u0432 \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0438 \\u0441 \\u043D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u043E\\u0439 {0}.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442 \\u0443\\u0441\\u0442\\u0430\\u0440\\u0435\\u0432\\u0448\\u0438\\u0439 \\u0430\\u043B\\u0433\\u043E\\u0440\\u0438\\u0442\\u043C \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u044F.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442 \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0430\\u043B\\u0433\\u043E\\u0440\\u0438\\u0442\\u043C \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u044F.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u0441\\u0442\\u0440\\u043E\\u043A \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0434\\u043B\\u044F \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0435\\u0439.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u0441\\u0442\\u0440\\u043E\\u043A \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432 \\u043A\\u0430\\u0447\\u0435\\u0441\\u0442\\u0432\\u0435 \\u043C\\u0438\\u043D\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u043E\\u0433\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0434\\u043B\\u044F \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0435\\u0439.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u0441\\u0442\\u0440\\u043E\\u043A \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432 \\u043A\\u0430\\u0447\\u0435\\u0441\\u0442\\u0432\\u0435 \\u043A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u043F\\u0440\\u0438 \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0435\\u0439.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043E\\u0431\\u043D\\u0430\\u0440\\u0443\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0443\\u0441\\u0442\\u044B\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0443\\u0432\\u0438\\u0434\\u0435\\u0442\\u044C, \\u0433\\u0434\\u0435 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u044B \\u0438\\u043B\\u0438 \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u044B \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B.\",\"\\u0415\\u0441\\u043B\\u0438 \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D \\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435, \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u0441\\u043B\\u043E\\u0432 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C API-\\u0438\\u043D\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u044B \\u043F\\u043B\\u0430\\u0442\\u0444\\u043E\\u0440\\u043C\\u044B, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C, \\u043F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043E \\u043B\\u0438 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F \\u0441 \\u044D\\u043A\\u0440\\u0430\\u043D\\u0430.\",\"\\u041E\\u043F\\u0442\\u0438\\u043C\\u0438\\u0437\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0434\\u043B\\u044F \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0441\\u043E \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E\\u043C \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F \\u0441 \\u044D\\u043A\\u0440\\u0430\\u043D\\u0430.\",\"\\u041F\\u0440\\u0435\\u0434\\u043F\\u043E\\u043B\\u0430\\u0433\\u0430\\u0442\\u044C, \\u0447\\u0442\\u043E \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F \\u0441 \\u044D\\u043A\\u0440\\u0430\\u043D\\u0430 \\u043D\\u0435 \\u043F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043E.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0437\\u0430\\u043F\\u0443\\u0441\\u0442\\u0438\\u0442\\u044C \\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044C\\u0441\\u043A\\u0438\\u0439 \\u0438\\u043D\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441 \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u043E\\u043F\\u0442\\u0438\\u043C\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438 \\u0434\\u043B\\u044F \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F \\u0441 \\u044D\\u043A\\u0440\\u0430\\u043D\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B \\u043F\\u0440\\u0438 \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u043F\\u0443\\u0441\\u0442\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0438\\u0433\\u043D\\u043E\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u044F, \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0438\\u043B\\u0438 \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u0438\\u044F \\u0434\\u043B\\u044F \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0435\\u0432 \\u043A \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u043C.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u043A\\u043E\\u043F\\u0438\\u0440\\u0443\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 \\u043F\\u0440\\u0438 \\u043A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u0438 \\u0431\\u0435\\u0437 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0430\\u0442\\u044C\\u0441\\u044F \\u0434\\u043B\\u044F \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435.\",\"\\u041D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430 \\u043D\\u0435 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0438\\u0437 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0412\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0438\\u0437 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u0432\\u043A\\u043B\\u044E\\u0447\\u0430\\u044F \\u0441\\u043B\\u043E\\u0432\\u0430 \\u0432 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0438\\u0437 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043C\\u043E\\u0436\\u043D\\u043E \\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0434\\u0430\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0438\\u0437 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430, \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u041D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430 \\u043D\\u0435 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u044C \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u044E \\xAB\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0438\\xBB \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 (\\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E).\",\"\\u0412\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u044C \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u044E \\xAB\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0438\\xBB \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438.\",\"\\u0410\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u0438 \\xAB\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0438\\xBB \\u043F\\u0440\\u0438 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0443\\u0441\\u043B\\u043E\\u0432\\u0438\\u0435\\u043C \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0433\\u043E \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u044F \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u0438 \\xAB\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0438\\xBB.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u043E \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0441\\u0447\\u0438\\u0442\\u044B\\u0432\\u0430\\u0442\\u044C \\u0438\\u043B\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C \\u043E\\u0431\\u0449\\u0438\\u0439 \\u0431\\u0443\\u0444\\u0435\\u0440 \\u043E\\u0431\\u043C\\u0435\\u043D\\u0430 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 macOS.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u043E \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0432 \\u043D\\u0430\\u0447\\u0430\\u043B\\u0435 \\u043E\\u043A\\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430. \\u0415\\u0441\\u043B\\u0438 \\u0437\\u0430\\u0434\\u0430\\u043D\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 true, \\u0432\\u044B \\u043C\\u043E\\u0436\\u0435\\u0442\\u0435 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u043F\\u0435\\u0440\\u0432\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u043F\\u0440\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u043C\\u043E\\u043C \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043B\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0437\\u0430\\u043F\\u0443\\u0441\\u043A\\u0430\\u0442\\u044C\\u0441\\u044F \\u0441 \\u043D\\u0430\\u0447\\u0430\\u043B\\u0430 (\\u0438\\u043B\\u0438 \\u0441 \\u043A\\u043E\\u043D\\u0446\\u0430), \\u0435\\u0441\\u043B\\u0438 \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E \\u043D\\u0438\\u043A\\u0430\\u043A\\u0438\\u0445 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0439.\",'\\u0412\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u043B\\u0438\\u0433\\u0430\\u0442\\u0443\\u0440\\u044B \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432 (\\u0445\\u0430\\u0440\\u0430\\u043A\\u0442\\u0435\\u0440\\u0438\\u0441\\u0442\\u0438\\u043A\\u0438 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \"calt\" \\u0438 \"liga\"). \\u0418\\u0437\\u043C\\u0435\\u043D\\u0438\\u0442\\u0435 \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043D\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0434\\u043B\\u044F \\u0434\\u0435\\u0442\\u0430\\u043B\\u044C\\u043D\\u043E\\u0433\\u043E \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E\\u043C CSS \"font-feature-settings\".','\\u042F\\u0432\\u043D\\u043E\\u0435 \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E CSS \"font-feature-settings\". \\u0415\\u0441\\u043B\\u0438 \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043B\\u0438\\u0433\\u0430\\u0442\\u0443\\u0440\\u044B, \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u043D\\u0435\\u0433\\u043E \\u043C\\u043E\\u0436\\u043D\\u043E \\u043F\\u0435\\u0440\\u0435\\u0434\\u0430\\u0442\\u044C \\u043B\\u043E\\u0433\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435.','\\u041D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u0442 \\u043B\\u0438\\u0433\\u0430\\u0442\\u0443\\u0440\\u044B \\u0438\\u043B\\u0438 \\u0445\\u0430\\u0440\\u0430\\u043A\\u0442\\u0435\\u0440\\u0438\\u0441\\u0442\\u0438\\u043A\\u0438 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430. \\u041C\\u043E\\u0436\\u043D\\u043E \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043B\\u043E\\u0433\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043B\\u0438\\u0433\\u0430\\u0442\\u0443\\u0440\\u044B, \\u0438\\u043B\\u0438 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0434\\u043B\\u044F \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u0430 CSS \"font-feature-settings\".',\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u043F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435 \\u0438\\u0437 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 font-weight \\u0432 font-variation-settings. \\u0418\\u0437\\u043C\\u0435\\u043D\\u0438\\u0442\\u0435 \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043D\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0434\\u043B\\u044F \\u0434\\u0435\\u0442\\u0430\\u043B\\u044C\\u043D\\u043E\\u0433\\u043E \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E\\u043C CSS font-variation-settings.\",\"\\u042F\\u0432\\u043D\\u043E\\u0435 \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E CSS font-variation-settings. \\u0415\\u0441\\u043B\\u0438 \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E \\u043B\\u0438\\u0448\\u044C \\u043F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 font-weight \\u0432 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 font-variation-settings, \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u044D\\u0442\\u043E\\u0433\\u043E \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u0430 \\u043C\\u043E\\u0436\\u043D\\u043E \\u043F\\u0435\\u0440\\u0435\\u0434\\u0430\\u0442\\u044C \\u043B\\u043E\\u0433\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435.\",\"\\u041D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0432\\u0430\\u0440\\u0438\\u0430\\u043D\\u0442\\u044B \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432. \\u041C\\u043E\\u0436\\u0435\\u0442 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u0441\\u043E\\u0431\\u043E\\u0439 \\u043B\\u043E\\u0433\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0434\\u043B\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u044F \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0438\\u0437 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 font-weight \\u0432 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 font-variation-settings \\u0438\\u043B\\u0438 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443, \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0430\\u0449\\u0443\\u044E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u0430 CSS font-variation-settings.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0432 \\u043F\\u0438\\u043A\\u0441\\u0435\\u043B\\u044F\\u0445.\",'\\u0414\\u043E\\u043F\\u0443\\u0441\\u043A\\u0430\\u044E\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043A\\u043B\\u044E\\u0447\\u0435\\u0432\\u044B\\u0435 \\u0441\\u043B\\u043E\\u0432\\u0430 \"normal\" \\u0438\\u043B\\u0438 \"bold\" \\u0438 \\u0447\\u0438\\u0441\\u043B\\u0430 \\u0432 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u0435 \\u043E\\u0442 1 \\u0434\\u043E 1000.','\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043D\\u0430\\u0441\\u044B\\u0449\\u0435\\u043D\\u043D\\u043E\\u0441\\u0442\\u044C\\u044E \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430. \\u0414\\u043E\\u043F\\u0443\\u0441\\u0442\\u0438\\u043C\\u044B\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F: \\u043A\\u043B\\u044E\\u0447\\u0435\\u0432\\u044B\\u0435 \\u0441\\u043B\\u043E\\u0432\\u0430 \"normal\" \\u0438\\u043B\\u0438 \"bold\", \\u0430 \\u0442\\u0430\\u043A\\u0436\\u0435 \\u0447\\u0438\\u0441\\u043B\\u0430 \\u0432 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u0435 \\u043E\\u0442 1 \\u0434\\u043E 1000.',\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u044B (\\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E)\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u0441\\u043D\\u043E\\u0432\\u043D\\u043E\\u043C\\u0443 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u0443 \\u0438 \\u043F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0431\\u044B\\u0441\\u0442\\u0440\\u044B\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u0441\\u043D\\u043E\\u0432\\u043D\\u043E\\u043C\\u0443 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u0443 \\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0431\\u044B\\u0441\\u0442\\u0440\\u0443\\u044E \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u044E \\u0434\\u043B\\u044F \\u043E\\u0441\\u0442\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445\",\"\\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0443\\u0441\\u0442\\u0430\\u0440\\u0435\\u043B. \\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u043D\\u0435\\u0433\\u043E \\u043E\\u0442\\u0434\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, 'editor.editor.gotoLocation.multipleDefinitions' \\u0438\\u043B\\u0438 'editor.editor.gotoLocation.multipleImplementations'.\",'\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435\\u043C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E\" \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u0446\\u0435\\u043B\\u0435\\u0432\\u044B\\u0445 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.','\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435\\u043C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E \\u0442\\u0438\\u043F\\u0430\" \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u0446\\u0435\\u043B\\u0435\\u0432\\u044B\\u0445 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.','\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435\\u043C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u044E\" \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u0446\\u0435\\u043B\\u0435\\u0432\\u044B\\u0445 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.','\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435\\u043C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0440\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u043C\" \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u0446\\u0435\\u043B\\u0435\\u0432\\u044B\\u0445 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.','\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435\\u043C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0441\\u044B\\u043B\\u043A\\u0430\\u043C\" \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u0446\\u0435\\u043B\\u0435\\u0432\\u044B\\u0445 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.','\\u0418\\u0434\\u0435\\u043D\\u0442\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440 \\u0430\\u043B\\u044C\\u0442\\u0435\\u0440\\u043D\\u0430\\u0442\\u0438\\u0432\\u043D\\u043E\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B, \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u043C\\u043E\\u0439 \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u043C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E\" \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0435 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435.','\\u0418\\u0434\\u0435\\u043D\\u0442\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440 \\u0430\\u043B\\u044C\\u0442\\u0435\\u0440\\u043D\\u0430\\u0442\\u0438\\u0432\\u043D\\u043E\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B, \\u043A\\u043E\\u0442\\u043E\\u0440\\u0430\\u044F \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u043C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E \\u0442\\u0438\\u043F\\u0430\" \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0435 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435.','\\u0418\\u0434\\u0435\\u043D\\u0442\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440 \\u0430\\u043B\\u044C\\u0442\\u0435\\u0440\\u043D\\u0430\\u0442\\u0438\\u0432\\u043D\\u044B\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B, \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u043C\\u043E\\u0439 \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u043C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u044E\" \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0435 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435.','\\u0418\\u0434\\u0435\\u043D\\u0442\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440 \\u0430\\u043B\\u044C\\u0442\\u0435\\u0440\\u043D\\u0430\\u0442\\u0438\\u0432\\u043D\\u044B\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B, \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u043C\\u043E\\u0439, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u043C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0440\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438\" \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0435 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435.','\\u0418\\u0434\\u0435\\u043D\\u0442\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440 \\u0430\\u043B\\u044C\\u0442\\u0435\\u0440\\u043D\\u0430\\u0442\\u0438\\u0432\\u043D\\u043E\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B, \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u043C\\u043E\\u0439 \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u043C \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u044F \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0441\\u044B\\u043B\\u043A\\u0435\" \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0435 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435.',\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0440\\u0435\\u043C\\u044F \\u0437\\u0430\\u0434\\u0435\\u0440\\u0436\\u043A\\u0438 \\u0432 \\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\\u0445 \\u043F\\u0435\\u0440\\u0435\\u0434 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435\\u043C \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u0434\\u043E\\u043B\\u0436\\u043D\\u043E \\u043B\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u043E\\u0441\\u0442\\u0430\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0432\\u0438\\u0434\\u0438\\u043C\\u044B\\u043C \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430 \\u043D\\u0435\\u0433\\u043E \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u043C\\u044B\\u0448\\u0438.\",'\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0440\\u0435\\u043C\\u044F \\u0437\\u0430\\u0434\\u0435\\u0440\\u0436\\u043A\\u0438 \\u0432 \\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\\u0445 \\u043F\\u0435\\u0440\\u0435\\u0434 \\u0441\\u043A\\u0440\\u044B\\u0442\\u0438\\u0435\\u043C \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F. \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \"editor.hover.sticky\".',\"\\u041F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0438\\u0442\\u0430\\u0442\\u044C \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0430\\u0434 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0439, \\u0435\\u0441\\u043B\\u0438 \\u0435\\u0441\\u0442\\u044C \\u043C\\u0435\\u0441\\u0442\\u043E.\",\"\\u041F\\u0440\\u0435\\u0434\\u043F\\u043E\\u043B\\u0430\\u0433\\u0430\\u0435\\u0442, \\u0447\\u0442\\u043E \\u0432\\u0441\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0438\\u043C\\u0435\\u044E\\u0442 \\u043E\\u0434\\u0438\\u043D\\u0430\\u043A\\u043E\\u0432\\u0443\\u044E \\u0448\\u0438\\u0440\\u0438\\u043D\\u0443. \\u042D\\u0442\\u043E \\u0431\\u044B\\u0441\\u0442\\u0440\\u044B\\u0439 \\u0430\\u043B\\u0433\\u043E\\u0440\\u0438\\u0442\\u043C, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0440\\u0430\\u0431\\u043E\\u0442\\u0430\\u0435\\u0442 \\u043F\\u0440\\u0430\\u0432\\u0438\\u043B\\u044C\\u043D\\u043E \\u0434\\u043B\\u044F \\u043C\\u043E\\u043D\\u043E\\u0448\\u0438\\u0440\\u0438\\u043D\\u043D\\u044B\\u0445 \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432 \\u0438 \\u043D\\u0435\\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u0441\\u043A\\u0440\\u0438\\u043F\\u0442\\u043E\\u0432 (\\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u043B\\u0430\\u0442\\u0438\\u043D\\u0441\\u043A\\u0438\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432), \\u0433\\u0434\\u0435 \\u0433\\u043B\\u0438\\u0444\\u044B \\u0438\\u043C\\u0435\\u044E\\u0442 \\u043E\\u0434\\u0438\\u043D\\u0430\\u043A\\u043E\\u0432\\u0443\\u044E \\u0448\\u0438\\u0440\\u0438\\u043D\\u0443.\",\"\\u0414\\u0435\\u043B\\u0435\\u0433\\u0438\\u0440\\u0443\\u0435\\u0442 \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0442\\u043E\\u0447\\u0435\\u043A \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0430 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u0443. \\u042D\\u0442\\u043E \\u043C\\u0435\\u0434\\u043B\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0430\\u043B\\u0433\\u043E\\u0440\\u0438\\u0442\\u043C, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u043C\\u043E\\u0436\\u0435\\u0442 \\u043F\\u0440\\u0438\\u0432\\u0435\\u0441\\u0442\\u0438 \\u043A \\u0437\\u0430\\u0432\\u0438\\u0441\\u0430\\u043D\\u0438\\u044F\\u043C \\u043F\\u0440\\u0438 \\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u043A\\u0435 \\u0431\\u043E\\u043B\\u044C\\u0448\\u0438\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432, \\u043D\\u043E \\u0440\\u0430\\u0431\\u043E\\u0442\\u0430\\u0435\\u0442 \\u043F\\u0440\\u0430\\u0432\\u0438\\u043B\\u044C\\u043D\\u043E \\u0432\\u043E \\u0432\\u0441\\u0435\\u0445 \\u0441\\u043B\\u0443\\u0447\\u0430\\u044F\\u0445.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0430\\u043B\\u0433\\u043E\\u0440\\u0438\\u0442\\u043C\\u043E\\u043C, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u044F\\u0435\\u0442 \\u0442\\u043E\\u0447\\u043A\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0430. \\u041E\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u0435 \\u0432\\u043D\\u0438\\u043C\\u0430\\u043D\\u0438\\u0435, \\u0447\\u0442\\u043E \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0430\\u043B\\u0433\\u043E\\u0440\\u0438\\u0442\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u0431\\u0435\\u0441\\u043F\\u0435\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u0438\\u0431\\u043E\\u043B\\u044C\\u0448\\u0435\\u0435 \\u0443\\u0434\\u043E\\u0431\\u0441\\u0442\\u0432\\u043E \\u0440\\u0430\\u0431\\u043E\\u0442\\u044B.\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430.\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u0445 \\u0441 \\u043A\\u043E\\u0434\\u043E\\u043C.\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043D\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u0445 \\u0441 \\u043A\\u043E\\u0434\\u043E\\u043C \\u0438\\u043B\\u0438 \\u043D\\u0430 \\u043F\\u0443\\u0441\\u0442\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u0445.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u0437\\u043D\\u0430\\u0447\\u043E\\u043A \\u043B\\u0430\\u043C\\u043F\\u043E\\u0447\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u0432\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0438\\u0435 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 \\u0432\\u043E \\u0432\\u0440\\u0435\\u043C\\u044F \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432 \\u0432\\u0435\\u0440\\u0445\\u043D\\u0435\\u0439 \\u0447\\u0430\\u0441\\u0442\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u043C\\u0430\\u043A\\u0441\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u043E\\u0435 \\u0447\\u0438\\u0441\\u043B\\u043E \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u044E\\u0449\\u0438\\u0445 \\u043B\\u0438\\u043D\\u0438\\u0439 \\u0434\\u043B\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u043C\\u043E\\u0434\\u0435\\u043B\\u044C, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u0443\\u044E \\u0434\\u043B\\u044F \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u044F. \\u0415\\u0441\\u043B\\u0438 \\u043C\\u043E\\u0434\\u0435\\u043B\\u044C \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u044B \\u043D\\u0435 \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442, \\u043E\\u043D\\u0430 \\u043E\\u0442\\u043A\\u0430\\u0442\\u0438\\u0442\\u0441\\u044F \\u043A \\u043C\\u043E\\u0434\\u0435\\u043B\\u0438 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A\\u0430 \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044F, \\u043A\\u043E\\u0442\\u043E\\u0440\\u0430\\u044F \\u043E\\u0442\\u043A\\u0430\\u0442\\u044B\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F \\u043A \\u043C\\u043E\\u0434\\u0435\\u043B\\u0438 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432. \\u042D\\u0442\\u043E\\u0442 \\u043F\\u043E\\u0440\\u044F\\u0434\\u043E\\u043A \\u0441\\u043E\\u0431\\u043B\\u044E\\u0434\\u0430\\u0435\\u0442\\u0441\\u044F \\u0432\\u043E \\u0432\\u0441\\u0435\\u0445 \\u0442\\u0440\\u0435\\u0445 \\u0441\\u043B\\u0443\\u0447\\u0430\\u044F\\u0445.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0443 Sticky Scroll \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u043E\\u0439 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0412\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u044B.\",\"\\u0412\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E \\u0438 \\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0442\\u0441\\u044F \\u0443\\u0434\\u0435\\u0440\\u0436\\u0430\\u043D\\u0438\\u0435\\u043C \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 {0}.\",\"\\u0412\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E \\u0441\\u043A\\u0440\\u044B\\u0442\\u044B \\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0438 \\u0443\\u0434\\u0435\\u0440\\u0436\\u0430\\u043D\\u0438\\u0438 {0}.\",\"\\u0412\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u044B.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u043E\\u043C \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0432\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043E\\u043A \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u041F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E {0} \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0441\\u043A\\u043E\\u043D\\u0444\\u0438\\u0433\\u0443\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u043E\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043C\\u0435\\u043D\\u044C\\u0448\\u0435 {1} \\u0438\\u043B\\u0438 \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0435\\u043C\\u0435\\u0439\\u0441\\u0442\\u0432\\u043E\\u043C \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432 \\u0434\\u043B\\u044F \\u0432\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043E\\u043A \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u0415\\u0441\\u043B\\u0438 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0435 \\u0437\\u0430\\u0434\\u0430\\u043D\\u043E, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F {0}.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u043F\\u043E\\u043B\\u044F \\u0432\\u043E\\u043A\\u0440\\u0443\\u0433 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0439 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",`\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0432\\u044B\\u0441\\u043E\\u0442\\u0443 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438. \\r\n\\u2013 \\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 0, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u0438\\u0442\\u044C \\u0432\\u044B\\u0441\\u043E\\u0442\\u0443 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430.\\r\n\\u2013 \\u0417\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u043E\\u0442 0 \\u0434\\u043E 8 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0432 \\u043A\\u0430\\u0447\\u0435\\u0441\\u0442\\u0432\\u0435 \\u043C\\u043D\\u043E\\u0436\\u0438\\u0442\\u0435\\u043B\\u044F \\u0434\\u043B\\u044F \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430.\\r\n\\u2013 \\u0417\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435 \\u0438\\u043B\\u0438 \\u0440\\u0430\\u0432\\u043D\\u044B\\u0435 8 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0432 \\u043A\\u0430\\u0447\\u0435\\u0441\\u0442\\u0432\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0443\\u044E\\u0449\\u0438\\u0445 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0439.`,\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043A\\u0440\\u044B\\u0442\\u0430 \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0430 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438.\",\"\\u041C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0430 \\u0438\\u043C\\u0435\\u0435\\u0442 \\u0442\\u0430\\u043A\\u043E\\u0439 \\u0436\\u0435 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440, \\u0447\\u0442\\u043E \\u0438 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (\\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0430).\",\"\\u041C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0430 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0440\\u0430\\u0441\\u0442\\u044F\\u0433\\u0438\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0438\\u043B\\u0438 \\u0441\\u0436\\u0438\\u043C\\u0430\\u0442\\u044C\\u0441\\u044F \\u043F\\u043E \\u043C\\u0435\\u0440\\u0435 \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E\\u0441\\u0442\\u0438, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0437\\u0430\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u044C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043F\\u043E \\u0432\\u044B\\u0441\\u043E\\u0442\\u0435 (\\u0431\\u0435\\u0437 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438).\",\"\\u041C\\u0438\\u043D\\u0438\\u043A\\u0430\\u0440\\u0442\\u0430 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0430\\u0442\\u044C\\u0441\\u044F \\u043F\\u043E \\u043C\\u0435\\u0440\\u0435 \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E\\u0441\\u0442\\u0438, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430 \\u043D\\u0435 \\u0431\\u044B\\u0442\\u044C \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435, \\u0447\\u0435\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 (\\u0431\\u0435\\u0437 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438).\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u043E\\u043C \\u043C\\u0438\\u043D\\u0438\\u043A\\u0430\\u0440\\u0442\\u044B.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441 \\u043A\\u0430\\u043A\\u043E\\u0439 \\u0441\\u0442\\u043E\\u0440\\u043E\\u043D\\u044B \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043F\\u043E\\u043B\\u0437\\u0443\\u043D\\u043E\\u043A \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B.\",\"\\u041C\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E, \\u043D\\u0430\\u0440\\u0438\\u0441\\u043E\\u0432\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0435: 1, 2 \\u0438\\u043B\\u0438 3.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u0444\\u0430\\u043A\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435 \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u0446\\u0432\\u0435\\u0442\\u043D\\u044B\\u0445 \\u0431\\u043B\\u043E\\u043A\\u043E\\u0432.\",\"\\u041E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0438\\u0432\\u0430\\u0435\\u0442 \\u0448\\u0438\\u0440\\u0438\\u043D\\u0443 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043A\\u043E\\u043B\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043E \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u043C\\u044B\\u0445 \\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u043E\\u0432 \\u043D\\u0435 \\u043F\\u0440\\u0435\\u0432\\u044B\\u0448\\u0430\\u043B\\u043E \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043A\\u043E\\u043B\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043E.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u043D\\u044B\\u0435 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 \\u0432 \\u0432\\u0438\\u0434\\u0435 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u043E\\u0432 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u043E\\u0432 \\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0435.\",'\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0438 \"MARK:\" \\u0432 \\u0432\\u0438\\u0434\\u0435 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u043E\\u0432 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u043E\\u0432 \\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0435.',\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u043E\\u0432 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u043E\\u0432 \\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0435.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043E\\u0431\\u044A\\u0435\\u043C\\u043E\\u043C \\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u0430 (\\u0432 \\u043F\\u0438\\u043A\\u0441\\u0435\\u043B\\u044F\\u0445) \\u043C\\u0435\\u0436\\u0434\\u0443 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430\\u043C\\u0438 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0430. \\u042D\\u0442\\u043E \\u0443\\u043B\\u0443\\u0447\\u0448\\u0430\\u0435\\u0442 \\u0443\\u0434\\u043E\\u0431\\u043E\\u0447\\u0438\\u0442\\u0430\\u0435\\u043C\\u043E\\u0441\\u0442\\u044C \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u043F\\u0440\\u0438 \\u043D\\u0435\\u0431\\u043E\\u043B\\u044C\\u0448\\u0438\\u0445 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430\\u0445 \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432.\",\"\\u0417\\u0430\\u0434\\u0430\\u0435\\u0442 \\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u043E \\u043C\\u0435\\u0436\\u0434\\u0443 \\u0432\\u0435\\u0440\\u0445\\u043D\\u0438\\u043C \\u043A\\u0440\\u0430\\u0435\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0438 \\u043F\\u0435\\u0440\\u0432\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0439.\",\"\\u0417\\u0430\\u0434\\u0430\\u0435\\u0442 \\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u043E \\u043C\\u0435\\u0436\\u0434\\u0443 \\u043D\\u0438\\u0436\\u043D\\u0438\\u043C \\u043A\\u0440\\u0430\\u0435\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0438 \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0439.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u0432\\u0441\\u043F\\u043B\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0435 \\u043E\\u043A\\u043D\\u043E \\u0441 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430\\u0446\\u0438\\u0435\\u0439 \\u043F\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0443 \\u0438 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F\\u043C\\u0438 \\u043E \\u0442\\u0438\\u043F\\u0435, \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0432\\u043E \\u0432\\u0440\\u0435\\u043C\\u044F \\u043D\\u0430\\u0431\\u043E\\u0440\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043C\\u0435\\u043D\\u044E \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043E\\u043A \\u043E\\u0441\\u0442\\u0430\\u0435\\u0442\\u0441\\u044F \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044B\\u043C \\u0438\\u043B\\u0438 \\u0437\\u0430\\u043A\\u0440\\u043E\\u0435\\u0442\\u0441\\u044F \\u043F\\u0440\\u0438 \\u0434\\u043E\\u0441\\u0442\\u0438\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043A\\u043E\\u043D\\u0446\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430.\",\"\\u042D\\u043A\\u0441\\u043F\\u0440\\u0435\\u0441\\u0441-\\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0430\\u0446\\u0438\\u0439\",\"\\u042D\\u043A\\u0441\\u043F\\u0440\\u0435\\u0441\\u0441-\\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043A\\u0430\\u043A \\u0435\\u0434\\u0432\\u0430 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u043C\\u044B\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442\",\"\\u042D\\u043A\\u0441\\u043F\\u0440\\u0435\\u0441\\u0441-\\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u044B\",\"\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u0438\\u0435 \\u043A\\u0440\\u0430\\u0442\\u043A\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u0445.\",\"\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u0438\\u0435 \\u043A\\u0440\\u0430\\u0442\\u043A\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u044F\\u0445.\",\"\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u0438\\u0435 \\u043A\\u0440\\u0430\\u0442\\u043A\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0432\\u043D\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A \\u0438 \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0435\\u0432.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435. \\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043C\\u043E\\u0436\\u043D\\u043E \\u0432\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435 \\u043F\\u0440\\u0438\\u043C\\u0435\\u0447\\u0430\\u043D\\u0438\\u0439, \\u0441\\u0442\\u0440\\u043E\\u043A \\u0438 \\u0434\\u0440\\u0443\\u0433\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430. \\u0411\\u044B\\u0441\\u0442\\u0440\\u044B\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043C\\u043E\\u0436\\u043D\\u043E \\u043D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0438\\u0442\\u044C \\u0434\\u043B\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0432\\u0438\\u0434\\u0435 \\u0444\\u0430\\u043D\\u0442\\u043E\\u043C\\u043D\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0438\\u043B\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439. \\u041D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E \\u0442\\u0430\\u043A\\u0436\\u0435 \\u043F\\u043E\\u043C\\u043D\\u0438\\u0442\\u044C \\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0435 {0}, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u043C\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430\\u043C\\u0438.\",\"\\u041D\\u043E\\u043C\\u0435\\u0440\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A \\u043D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0430\\u0431\\u0441\\u043E\\u043B\\u044E\\u0442\\u043D\\u044B\\u0435 \\u043D\\u043E\\u043C\\u0435\\u0440\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u043C\\u044B\\u0435 \\u043D\\u043E\\u043C\\u0435\\u0440\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F \\u043A\\u0430\\u043A \\u0440\\u0430\\u0441\\u0441\\u0442\\u043E\\u044F\\u043D\\u0438\\u0435 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u0445 \\u0434\\u043E \\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u041D\\u043E\\u043C\\u0435\\u0440\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043A\\u0430\\u0436\\u0434\\u044B\\u0435 10 \\u0441\\u0442\\u0440\\u043E\\u043A.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435\\u043C \\u043D\\u043E\\u043C\\u0435\\u0440\\u043E\\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A.\",\"\\u0427\\u0438\\u0441\\u043B\\u043E \\u043C\\u043E\\u043D\\u043E\\u0448\\u0438\\u0440\\u0438\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432, \\u043F\\u0440\\u0438 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u043C \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u044B\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0430 \\u044D\\u0442\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u044D\\u0442\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u043F\\u043E\\u0441\\u043B\\u0435 \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0447\\u0438\\u0441\\u043B\\u0430 \\u043C\\u043E\\u043D\\u043E\\u0448\\u0438\\u0440\\u0438\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432. \\u0414\\u043B\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u043B\\u0438\\u043D\\u0435\\u0435\\u043A \\u0443\\u043A\\u0430\\u0436\\u0438\\u0442\\u0435 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0439. \\u0415\\u0441\\u043B\\u0438 \\u043D\\u0435 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u043E \\u043D\\u0438 \\u043E\\u0434\\u043D\\u043E\\u0433\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F, \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u043D\\u0435 \\u0431\\u0443\\u0434\\u0443\\u0442.\",\"\\u0412\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u043F\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0432\\u0438\\u0434\\u043D\\u0430 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0440\\u0438 \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E\\u0441\\u0442\\u0438.\",\"\\u0412\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u043F\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0432\\u0438\\u0434\\u043D\\u0430.\",\"\\u0412\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u043F\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0441\\u043A\\u0440\\u044B\\u0442\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0438\\u0434\\u0438\\u043C\\u043E\\u0441\\u0442\\u044C\\u044E \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u043E\\u0439 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438.\",\"\\u0413\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u043F\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0432\\u0438\\u0434\\u043D\\u0430 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0440\\u0438 \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E\\u0441\\u0442\\u0438.\",\"\\u0413\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u043F\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0432\\u0438\\u0434\\u043D\\u0430.\",\"\\u0413\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u043F\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0441\\u043A\\u0440\\u044B\\u0442\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0438\\u0434\\u0438\\u043C\\u043E\\u0441\\u0442\\u044C\\u044E \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u043E\\u0439 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438.\",\"\\u0428\\u0438\\u0440\\u0438\\u043D\\u0430 \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u043E\\u0439 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438.\",\"\\u0412\\u044B\\u0441\\u043E\\u0442\\u0430 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u043E\\u0439 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u043E\\u0439 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0438\\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u043E\\u043C \\u043A \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u0449\\u0435\\u043B\\u0447\\u043A\\u0430.\",\"\\u041F\\u0440\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043A\\u0435 \\u044D\\u0442\\u043E\\u0433\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u043F\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043D\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0432\\u0430\\u0442\\u044C \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\\u043C \\u0432\\u0441\\u0435\\u0445 \\u043D\\u0435\\u0441\\u0442\\u0430\\u043D\\u0434\\u0430\\u0440\\u0442\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 ASCII. \\u0411\\u0430\\u0437\\u043E\\u0432\\u044B\\u043C\\u0438 ASCII \\u0441\\u0447\\u0438\\u0442\\u0430\\u044E\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043C\\u0435\\u0436\\u0434\\u0443 U+0020 \\u0438 U+007E, \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u044F, \\u043F\\u0435\\u0440\\u0435\\u0432\\u043E\\u0434 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0438 \\u0432\\u043E\\u0437\\u0432\\u0440\\u0430\\u0442 \\u043A\\u0430\\u0440\\u0435\\u0442\\u043A\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u043F\\u0440\\u043E\\u0441\\u0442\\u043E \\u0440\\u0435\\u0437\\u0435\\u0440\\u0432\\u0438\\u0440\\u0443\\u044E\\u0442 \\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u043E \\u0438\\u043B\\u0438 \\u0432\\u043E\\u043E\\u0431\\u0449\\u0435 \\u043D\\u0435 \\u0438\\u043C\\u0435\\u044E\\u0442 \\u0448\\u0438\\u0440\\u0438\\u043D\\u044B.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\\u043C \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u043C\\u043E\\u0436\\u043D\\u043E \\u0441\\u043F\\u0443\\u0442\\u0430\\u0442\\u044C \\u0441 \\u043E\\u0441\\u043D\\u043E\\u0432\\u043D\\u044B\\u043C\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430\\u043C\\u0438 ASCII, \\u043A\\u0440\\u043E\\u043C\\u0435 \\u0442\\u0435\\u0445, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u044F\\u0432\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F \\u043E\\u0431\\u0449\\u0438\\u043C\\u0438 \\u0432 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u043C \\u044F\\u0437\\u044B\\u043A\\u043E\\u0432\\u043E\\u043C \\u0441\\u0442\\u0430\\u043D\\u0434\\u0430\\u0440\\u0442\\u0435 \\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044F.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0432 \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u044F\\u0445 \\u0442\\u0430\\u043A\\u0436\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C\\u0441\\u044F \\u0432 \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0435.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u0445 \\u0442\\u0430\\u043A\\u0436\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C\\u0441\\u044F \\u0432 \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0435.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u043D\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F.\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0430, \\u0440\\u0430\\u0441\\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0432 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044F\\u0437\\u044B\\u043A\\u0430\\u0445, \\u043D\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0430\\u043D\\u0435\\u043B\\u044C \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0438 \\u043A\\u0430\\u0436\\u0434\\u043E\\u043C \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0438 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0430\\u043D\\u0435\\u043B\\u044C \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043C\\u044B\\u0448\\u0438 \\u043D\\u0430 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435.\",\"\\u041D\\u0435 \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u0443\\u044E \\u043F\\u0430\\u043D\\u0435\\u043B\\u044C \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0441 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u043C\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u0443\\u044E \\u043F\\u0430\\u043D\\u0435\\u043B\\u044C \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0437\\u0430\\u0438\\u043C\\u043E\\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435\\u043C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0441 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\\u043C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439. \\u0415\\u0441\\u043B\\u0438 \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0435\\u043C\\u0435\\u0439\\u0441\\u0442\\u0432\\u043E\\u043C \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",null,null,null,null,null,null,\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0430 \\u043B\\u0438 \\u0440\\u0430\\u0441\\u043A\\u0440\\u0430\\u0441\\u043A\\u0430 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A. \\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 {0} \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0438\\u043C\\u0435\\u0435\\u0442 \\u043B\\u0438 \\u043A\\u0430\\u0436\\u0434\\u044B\\u0439 \\u0442\\u0438\\u043F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A \\u0441\\u043E\\u0431\\u0441\\u0442\\u0432\\u0435\\u043D\\u043D\\u044B\\u0439 \\u043D\\u0435\\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043C\\u044B\\u0439 \\u043F\\u0443\\u043B \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0434\\u043B\\u044F \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0439 \\u043F\\u0430\\u0440\\u044B \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u044B \\u043B\\u0438 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0432 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u0435 \\u043A \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u044B\\u043C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u043C \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0434\\u043B\\u044F \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0439 \\u043F\\u0430\\u0440\\u044B \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u044B \\u043B\\u0438 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u0434\\u043B\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u0434\\u043E\\u043B\\u0436\\u043D\\u0430 \\u043B\\u0438 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C\\u0441\\u044F \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u0430\\u044F \\u043F\\u0430\\u0440\\u0430 \\u043A\\u0432\\u0430\\u0434\\u0440\\u0430\\u0442\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430.\",\"\\u0412\\u044B\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u0443\\u044E \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0443\\u044E \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430.\",\"\\u0412\\u044B\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u0443\\u044E \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0443\\u044E \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430, \\u0434\\u0430\\u0436\\u0435 \\u0435\\u0441\\u043B\\u0438 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u044B \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u041D\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u0443\\u044E \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0443\\u044E \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u0434\\u043E\\u043B\\u0436\\u043D\\u0430 \\u043B\\u0438 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C\\u0441\\u044F \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u0430\\u044F \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0430\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0431\\u0435\\u0437 \\u043F\\u0435\\u0440\\u0435\\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0441\\u043F\\u0440\\u0430\\u0432\\u0430 \\u043E\\u0442 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0438 \\u043F\\u0435\\u0440\\u0435\\u0437\\u0430\\u043F\\u0438\\u0441\\u0430\\u0442\\u044C \\u0442\\u0435\\u043A\\u0441\\u0442 \\u0441\\u043F\\u0440\\u0430\\u0432\\u0430 \\u043E\\u0442 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0437\\u0430\\u043F\\u0438\\u0441\\u044B\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0441\\u043B\\u043E\\u0432\\u0430 \\u043F\\u0440\\u0438 \\u043F\\u0440\\u0438\\u043D\\u044F\\u0442\\u0438\\u0438 \\u0432\\u0430\\u0440\\u0438\\u0430\\u043D\\u0442\\u043E\\u0432 \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F. \\u041E\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u0435 \\u0432\\u043D\\u0438\\u043C\\u0430\\u043D\\u0438\\u0435, \\u0447\\u0442\\u043E \\u044D\\u0442\\u043E \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u0442 \\u043E\\u0442 \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043D\\u0438\\u0439, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u044E\\u0449\\u0438\\u0445 \\u044D\\u0442\\u0443 \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u044E.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u0434\\u043E\\u043F\\u0443\\u0441\\u043A\\u0430\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043D\\u0435\\u0431\\u043E\\u043B\\u044C\\u0448\\u0438\\u0435 \\u043E\\u043F\\u0435\\u0447\\u0430\\u0442\\u043A\\u0438 \\u0432 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u0445 \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u0441\\u043E\\u0440\\u0442\\u0438\\u0440\\u043E\\u0432\\u043A\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0443\\u0447\\u0438\\u0442\\u044B\\u0432\\u0430\\u0442\\u044C \\u043F\\u0440\\u0438 \\u0441\\u043E\\u0440\\u0442\\u0438\\u0440\\u043E\\u0432\\u043A\\u0435 \\u0441\\u043B\\u043E\\u0432\\u0430, \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0440\\u044F\\u0434\\u043E\\u043C \\u0441 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u043C.\",'\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0441\\u043E\\u0445\\u0440\\u0430\\u043D\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0432\\u0430\\u0440\\u0438\\u0430\\u043D\\u0442\\u044B \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0441\\u043E\\u0432\\u043C\\u0435\\u0441\\u0442\\u043D\\u043E \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u043C\\u0438 \\u0440\\u0430\\u0431\\u043E\\u0447\\u0438\\u043C\\u0438 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u044F\\u043C\\u0438 \\u0438 \\u043E\\u043A\\u043D\\u0430\\u043C\\u0438 (\\u0442\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \"#editor.suggestSelection#\").',\"\\u0412\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0432\\u044B\\u0431\\u0438\\u0440\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0439 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0430\\u0446\\u0438\\u0438 IntelliSense.\",\"\\u041D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430 \\u043D\\u0435 \\u0432\\u044B\\u0431\\u0438\\u0440\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0439 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0430\\u0446\\u0438\\u0438 IntelliSense.\",\"\\u0412\\u044B\\u0431\\u0438\\u0440\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0440\\u0438 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0430\\u0446\\u0438\\u0438 IntelliSense \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u0442\\u0440\\u0438\\u0433\\u0433\\u0435\\u0440\\u043D\\u043E\\u0433\\u043E \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430.\",\"\\u0412\\u044B\\u0431\\u0438\\u0440\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0440\\u0438 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0430\\u0446\\u0438\\u0438 IntelliSense \\u043F\\u043E \\u043C\\u0435\\u0440\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u044B\\u0431\\u0438\\u0440\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F. \\u041E\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u0435 \\u0432\\u043D\\u0438\\u043C\\u0430\\u043D\\u0438\\u0435, \\u0447\\u0442\\u043E \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043A \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u044B\\u043C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u043C ({0} \\u0438 {1}) \\u0438 \\u0447\\u0442\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0432\\u044B\\u0431\\u0438\\u0440\\u0430\\u0435\\u0442\\u0441\\u044F \\u043F\\u0440\\u0438 \\u044F\\u0432\\u043D\\u043E\\u043C \\u0432\\u044B\\u0437\\u043E\\u0432\\u0435, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 CTRL+\\u041F\\u0420\\u041E\\u0411\\u0415\\u041B.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0437\\u0430\\u043F\\u0440\\u0435\\u0449\\u0430\\u0435\\u0442 \\u043B\\u0438 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0439 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442 \\u043A\\u043E\\u0434\\u0430 \\u044D\\u043A\\u0441\\u043F\\u0440\\u0435\\u0441\\u0441-\\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F.\",\"\\u0423\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442, \\u043D\\u0443\\u0436\\u043D\\u043E \\u043B\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u0437\\u043D\\u0430\\u0447\\u043A\\u0438 \\u0432 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u0445.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0438\\u0434\\u0438\\u043C\\u043E\\u0441\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0441\\u043E\\u0441\\u0442\\u043E\\u044F\\u043D\\u0438\\u044F \\u0432 \\u043D\\u0438\\u0436\\u043D\\u0435\\u0439 \\u0447\\u0430\\u0441\\u0442\\u0438 \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u0430 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u043F\\u0440\\u043E\\u0441\\u043C\\u0430\\u0442\\u0440\\u0438\\u0432\\u0430\\u0442\\u044C \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435 \\u0432\\u043C\\u0435\\u0441\\u0442\\u0435 \\u0441 \\u043C\\u0435\\u0442\\u043A\\u043E\\u0439 \\u0438\\u043B\\u0438 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043D\\u0435\\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0443\\u0435\\u043C\\u044B\\u043C. \\u0422\\u0435\\u043F\\u0435\\u0440\\u044C \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043C\\u043E\\u0436\\u043D\\u043E \\u0438\\u0437\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C.\",\"\\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0443\\u0441\\u0442\\u0430\\u0440\\u0435\\u043B. \\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u043D\\u0435\\u0433\\u043E \\u043E\\u0442\\u0434\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, 'editor.suggest.showKeywords' \\u0438\\u043B\\u0438 'editor.suggest.showSnippets'.\",'\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"method\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"function\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"constructor\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"deprecated\".','\\u041F\\u0440\\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0438 \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u0430\\u0446\\u0438\\u0438 IntelliSense \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043F\\u0435\\u0440\\u0432\\u044B\\u0439 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0430\\u043B \\u0432 \\u043D\\u0430\\u0447\\u0430\\u043B\\u0435 \\u0441\\u043B\\u043E\\u0432\\u0430, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440 \"c\" \\u0432 \"Console\" \\u0438\\u043B\\u0438 \"WebContext\", \\u043D\\u043E _\\u043D\\u0435_ \\u0432 \"description\". \\u0415\\u0441\\u043B\\u0438 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432, \\u043D\\u043E \\u043F\\u043E-\\u043F\\u0440\\u0435\\u0436\\u043D\\u0435\\u043C\\u0443 \\u0441\\u043E\\u0440\\u0442\\u0438\\u0440\\u0443\\u0435\\u0442 \\u0438\\u0445 \\u043F\\u043E \\u043A\\u0430\\u0447\\u0435\\u0441\\u0442\\u0432\\u0443 \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u044F.','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"field\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"variable\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"class\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"struct\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"interface\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"module\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"property\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"event\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"operator\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"unit\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"value\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"constant\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"enum\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"enumMember\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"keyword\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"text\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"color\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"file\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"reference\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"customcolor\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"folder\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"typeParameter\".','\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D, \\u0432 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \"snippet\".','\\u0412\\u043E \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043D\\u043E\\u043C \\u0441\\u043E\\u0441\\u0442\\u043E\\u044F\\u043D\\u0438\\u0438 IntelliSense \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0442\\u0438\\u043F\\u0430 \"\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u0438\".','\\u0412\\u043E \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043D\\u043E\\u043C \\u0441\\u043E\\u0441\\u0442\\u043E\\u044F\\u043D\\u0438\\u0438 IntelliSense \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0442\\u0438\\u043F\\u0430 \"\\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u044B\".',\"\\u0414\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0431\\u044B\\u0442\\u044C \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u044B \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u044B\\u0439 \\u0438 \\u043A\\u043E\\u043D\\u0435\\u0447\\u043D\\u044B\\u0439 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B.\",'\\u0421\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0432\\u044B\\u0431\\u0438\\u0440\\u0430\\u0442\\u044C \\u0432\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0441\\u043B\\u043E\\u0432\\u0430 (\\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \"foo\" \\u0432 \"fooBar\" \\u0438\\u043B\\u0438 \"foo_bar\").',\"\\u042F\\u0437\\u044B\\u043A\\u0438, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0435 \\u0434\\u043B\\u044F \\u0441\\u0435\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430\\u0446\\u0438\\u0438 \\u0441\\u043B\\u043E\\u0432 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438, \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u043E\\u0439 \\u0441\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430\\u043C\\u0438, \\u0438\\u043B\\u0438 \\u043F\\u0440\\u0438 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u0438 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0439, \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u044B\\u0445 \\u0441\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430\\u043C\\u0438. \\u0423\\u043A\\u0430\\u0436\\u0438\\u0442\\u0435 \\u0442\\u0435\\u0433 BCP 47 \\u044F\\u0437\\u044B\\u043A\\u0430 \\u0440\\u0430\\u0441\\u043F\\u043E\\u0437\\u043D\\u0430\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430 (\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440: ja, zh-CN, zh-Hant-TW, \\u0438 \\u0442. \\u0434.).\",\"\\u042F\\u0437\\u044B\\u043A\\u0438, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0435 \\u0434\\u043B\\u044F \\u0441\\u0435\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430\\u0446\\u0438\\u0438 \\u0441\\u043B\\u043E\\u0432 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438, \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u043E\\u0439 \\u0441\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430\\u043C\\u0438, \\u0438\\u043B\\u0438 \\u043F\\u0440\\u0438 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u0438 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0439, \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u044B\\u0445 \\u0441\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430\\u043C\\u0438. \\u0423\\u043A\\u0430\\u0436\\u0438\\u0442\\u0435 \\u0442\\u0435\\u0433 BCP 47 \\u044F\\u0437\\u044B\\u043A\\u0430 \\u0440\\u0430\\u0441\\u043F\\u043E\\u0437\\u043D\\u0430\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430 (\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440: ja, zh-CN, zh-Hant-TW, \\u0438 \\u0442. \\u0434.).\",\"\\u0411\\u0435\\u0437 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430. \\u041F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441 \\u0441\\u0442\\u0440\\u043E\\u043A \\u043D\\u0430\\u0447\\u0438\\u043D\\u0430\\u0435\\u0442\\u0441\\u044F \\u0441\\u043E \\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u0430 1.\",\"\\u041F\\u0435\\u0440\\u0435\\u043D\\u0435\\u0441\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u043F\\u043E\\u043B\\u0443\\u0447\\u0430\\u0442 \\u0442\\u043E\\u0442 \\u0436\\u0435 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F, \\u0447\\u0442\\u043E \\u0438 \\u0440\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u0441\\u043A\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430.\",\"\\u041F\\u0435\\u0440\\u0435\\u043D\\u0435\\u0441\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u043F\\u043E\\u043B\\u0443\\u0447\\u0430\\u0442 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F, \\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0435\\u043D\\u043D\\u044B\\u0439 \\u043D\\u0430 \\u0435\\u0434\\u0438\\u043D\\u0438\\u0446\\u0443 \\u043F\\u043E \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u044E \\u0441 \\u0440\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u0441\\u043A\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0439. \",\"\\u041F\\u0435\\u0440\\u0435\\u043D\\u0435\\u0441\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u043F\\u043E\\u043B\\u0443\\u0447\\u0430\\u0442 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F, \\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0435\\u043D\\u043D\\u044B\\u0439 \\u043D\\u0430 \\u0434\\u0432\\u0430 \\u043F\\u043E \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u044E \\u0441 \\u0440\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u0441\\u043A\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0439.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u043C \\u0441\\u0442\\u0440\\u043E\\u043A \\u0441 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u043E\\u043C \\u043F\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430\\u043C.\",'\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u044C\\u044E \\u043F\\u0435\\u0440\\u0435\\u0442\\u0430\\u0441\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u044F \\u0444\\u0430\\u0439\\u043B\\u0430 \\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u044B\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043F\\u0440\\u0438 \\u0443\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u043D\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 \"Shift\" (\\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u0438\\u044F \\u0444\\u0430\\u0439\\u043B\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435).',\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u0441\\u0431\\u0440\\u043E\\u0441\\u0435 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440. \\u042D\\u0442\\u043E \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0437\\u0432\\u043E\\u043B\\u044F\\u0435\\u0442 \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u0442\\u0435\\u043C, \\u043A\\u0430\\u043A \\u0441\\u0431\\u0440\\u0430\\u0441\\u044B\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F \\u0444\\u0430\\u0439\\u043B.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0441\\u0431\\u0440\\u043E\\u0441\\u0430 \\u043F\\u043E\\u0441\\u043B\\u0435 \\u0441\\u0431\\u0440\\u043E\\u0441\\u0430 \\u0444\\u0430\\u0439\\u043B\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440.\",\"\\u041D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430 \\u043D\\u0435 \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0441\\u0431\\u0440\\u043E\\u0441\\u0430. \\u0412\\u043C\\u0435\\u0441\\u0442\\u043E \\u044D\\u0442\\u043E\\u0433\\u043E \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0441\\u0431\\u0440\\u043E\\u0441\\u0430 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043C\\u043E\\u0436\\u043D\\u043E \\u043B\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u043D\\u044B\\u043C\\u0438 \\u0441\\u043F\\u043E\\u0441\\u043E\\u0431\\u0430\\u043C\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440. \\u042D\\u0442\\u043E \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0437\\u0432\\u043E\\u043B\\u044F\\u0435\\u0442 \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u0442\\u0435\\u043C, \\u043A\\u0430\\u043A \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0444\\u0430\\u0439\\u043B.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438 \\u043F\\u043E\\u0441\\u043B\\u0435 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440.\",\"\\u041D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430 \\u043D\\u0435 \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438. \\u0412\\u043C\\u0435\\u0441\\u0442\\u043E \\u044D\\u0442\\u043E\\u0433\\u043E \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E.\",'\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043B\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0438\\u043D\\u0438\\u043C\\u0430\\u0442\\u044C\\u0441\\u044F \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0444\\u0438\\u043A\\u0441\\u0430\\u0446\\u0438\\u0438. \\u041D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0432 JavaScript \\u0442\\u043E\\u0447\\u043A\\u0430 \\u0441 \\u0437\\u0430\\u043F\\u044F\\u0442\\u043E\\u0439 (\";\") \\u043C\\u043E\\u0436\\u0435\\u0442 \\u0431\\u044B\\u0442\\u044C \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u043C \\u0444\\u0438\\u043A\\u0441\\u0430\\u0446\\u0438\\u0438, \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438\\u043D\\u0438\\u043C\\u0430\\u0435\\u0442\\u0441\\u044F.',\"\\u041F\\u0440\\u0438\\u043D\\u0438\\u043C\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 \\u0412\\u0412\\u041E\\u0414 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D\\u043E \\u0438\\u0437\\u043C\\u0435\\u043D\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043A\\u0441\\u0442.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043B\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0438\\u043D\\u0438\\u043C\\u0430\\u0442\\u044C\\u0441\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435\\u0439 \\u0412\\u0412\\u041E\\u0414 \\u0432 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u0435 \\u043A \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 TAB. \\u042D\\u0442\\u043E \\u043F\\u043E\\u043C\\u043E\\u0433\\u0430\\u0435\\u0442 \\u0438\\u0437\\u0431\\u0435\\u0436\\u0430\\u0442\\u044C \\u043D\\u0435\\u043E\\u0434\\u043D\\u043E\\u0437\\u043D\\u0430\\u0447\\u043D\\u043E\\u0441\\u0442\\u0438 \\u043C\\u0435\\u0436\\u0434\\u0443 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u043E\\u0439 \\u043D\\u043E\\u0432\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A \\u0438 \\u043F\\u0440\\u0438\\u043D\\u044F\\u0442\\u0438\\u0435\\u043C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0447\\u0438\\u0441\\u043B\\u043E\\u043C \\u0441\\u0442\\u0440\\u043E\\u043A \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u043C\\u043E\\u0433\\u0443\\u0442 \\u0431\\u044B\\u0442\\u044C \\u043F\\u0440\\u043E\\u0447\\u0438\\u0442\\u0430\\u043D\\u044B \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E\\u043C \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F \\u0441 \\u044D\\u043A\\u0440\\u0430\\u043D\\u0430 \\u0437\\u0430 \\u043E\\u0434\\u0438\\u043D \\u0440\\u0430\\u0437. \\u041F\\u0440\\u0438 \\u043E\\u0431\\u043D\\u0430\\u0440\\u0443\\u0436\\u0435\\u043D\\u0438\\u0438 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F \\u0441 \\u044D\\u043A\\u0440\\u0430\\u043D\\u0430 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043D\\u0430\\u0432\\u043B\\u0438\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E 500. \\u0412\\u043D\\u0438\\u043C\\u0430\\u043D\\u0438\\u0435! \\u041F\\u0440\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0438 \\u0447\\u0438\\u0441\\u043B\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A, \\u043F\\u0440\\u0435\\u0432\\u044B\\u0448\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E, \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E \\u0441\\u043D\\u0438\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u043E\\u0438\\u0437\\u0432\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u0438.\",\"\\u0421\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0439\\u0442\\u0435 \\u0442\\u0435\\u043C, \\u043E\\u0431\\u044A\\u044F\\u0432\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E\\u043C \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F \\u044D\\u043A\\u0440\\u0430\\u043D\\u0430.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043A\\u043E\\u043D\\u0444\\u0438\\u0433\\u0443\\u0440\\u0430\\u0446\\u0438\\u0438 \\u044F\\u0437\\u044B\\u043A\\u0430 \\u0434\\u043B\\u044F \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0433\\u043E \\u0437\\u0430\\u043A\\u0440\\u044B\\u0442\\u0438\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0410\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0441\\u043B\\u0435\\u0432\\u0430 \\u043E\\u0442 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0443\\u044E \\u0441\\u043A\\u043E\\u0431\\u043A\\u0443 \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435 \\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u0435\\u043C \\u043E\\u0442\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0439 \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043A\\u043E\\u043D\\u0444\\u0438\\u0433\\u0443\\u0440\\u0430\\u0446\\u0438\\u0438 \\u044F\\u0437\\u044B\\u043A\\u0430 \\u0434\\u043B\\u044F \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0433\\u043E \\u0437\\u0430\\u043A\\u0440\\u044B\\u0442\\u0438\\u044F \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0435\\u0432.\",\"\\u0410\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0438 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0441\\u043B\\u0435\\u0432\\u0430 \\u043E\\u0442 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0438 \\u043F\\u0440\\u0438 \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u0435\\u043C \\u043E\\u0442\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u044F.\",\"\\u0423\\u0434\\u0430\\u043B\\u044F\\u0442\\u044C \\u0441\\u043E\\u0441\\u0435\\u0434\\u043D\\u0438\\u0435 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0435 \\u043A\\u0430\\u0432\\u044B\\u0447\\u043A\\u0438 \\u0438 \\u043A\\u0432\\u0430\\u0434\\u0440\\u0430\\u0442\\u043D\\u044B\\u0435 \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D\\u0438 \\u0431\\u044B\\u043B\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u044B \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0443\\u0434\\u0430\\u043B\\u044F\\u0442\\u044C \\u0441\\u043E\\u0441\\u0435\\u0434\\u043D\\u0438\\u0435 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0435 \\u043A\\u0430\\u0432\\u044B\\u0447\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u043A\\u0432\\u0430\\u0434\\u0440\\u0430\\u0442\\u043D\\u044B\\u0435 \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u0438\\u0438.\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0435 \\u043A\\u0430\\u0432\\u044B\\u0447\\u043A\\u0438 \\u0438 \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043A\\u0430\\u0432\\u044B\\u0447\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0431\\u044B\\u043B\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u044B \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0437\\u0430\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C\\u0441\\u044F \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0435 \\u043A\\u0430\\u0432\\u044B\\u0447\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043A\\u043E\\u043D\\u0444\\u0438\\u0433\\u0443\\u0440\\u0430\\u0446\\u0438\\u0438 \\u044F\\u0437\\u044B\\u043A\\u0430 \\u0434\\u043B\\u044F \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0433\\u043E \\u0437\\u0430\\u043A\\u0440\\u044B\\u0442\\u0438\\u044F \\u043A\\u0430\\u0432\\u044B\\u0447\\u0435\\u043A.\",\"\\u0410\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u043A\\u0430\\u0432\\u044B\\u0447\\u043A\\u0438 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0441\\u043B\\u0435\\u0432\\u0430 \\u043E\\u0442 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u043A\\u0430\\u0432\\u044B\\u0447\\u043A\\u0438, \\u0435\\u0441\\u043B\\u0438 \\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044C \\u0434\\u043E\\u0431\\u0430\\u0432\\u0438\\u043B \\u043E\\u0442\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0443\\u044E \\u043A\\u0430\\u0432\\u044B\\u0447\\u043A\\u0443.\",\"\\u0420\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438.\",\"\\u0420\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0441\\u043E\\u0445\\u0440\\u0430\\u043D\\u044F\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438.\",\"\\u0420\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0441\\u043E\\u0445\\u0440\\u0430\\u043D\\u044F\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0438 \\u0443\\u0447\\u0438\\u0442\\u044B\\u0432\\u0430\\u0442\\u044C \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0432 \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0438 \\u0441 \\u0441\\u0438\\u043D\\u0442\\u0430\\u043A\\u0441\\u0438\\u0441\\u043E\\u043C \\u044F\\u0437\\u044B\\u043A\\u0430.\",\"\\u0420\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0441\\u043E\\u0445\\u0440\\u0430\\u043D\\u044F\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438, \\u0443\\u0447\\u0438\\u0442\\u044B\\u0432\\u0430\\u0442\\u044C \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0435 \\u044F\\u0437\\u044B\\u043A\\u043E\\u043C \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0438 \\u0432\\u044B\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043F\\u0440\\u0430\\u0432\\u0438\\u043B\\u0430 onEnterRules, \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u043C\\u044B\\u0435 \\u044F\\u0437\\u044B\\u043A\\u0430\\u043C\\u0438.\",\"\\u0420\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0441\\u043E\\u0445\\u0440\\u0430\\u043D\\u044F\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438, \\u0443\\u0447\\u0438\\u0442\\u044B\\u0432\\u0430\\u0442\\u044C \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0435 \\u044F\\u0437\\u044B\\u043A\\u043E\\u043C \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438, \\u0432\\u044B\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043F\\u0440\\u0430\\u0432\\u0438\\u043B\\u0430 onEnterRules, \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u043C\\u044B\\u0435 \\u044F\\u0437\\u044B\\u043A\\u0430\\u043C\\u0438 \\u0438 \\u0443\\u0447\\u0438\\u0442\\u044B\\u0432\\u0430\\u0442\\u044C \\u043F\\u0440\\u0430\\u0432\\u0438\\u043B\\u0430 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430 indentationRules, \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u043C\\u044B\\u0435 \\u044F\\u0437\\u044B\\u043A\\u0430\\u043C\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u0438 \\u0432\\u0432\\u043E\\u0434\\u044F\\u0442, \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u044E\\u0442 \\u0438\\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0430\\u044E\\u0442 \\u0442\\u0435\\u043A\\u0441\\u0442 \\u0438\\u043B\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u044F\\u044E\\u0442 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u0441\\u0442\\u0440\\u043E\\u043A.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043A\\u043E\\u043D\\u0444\\u0438\\u0433\\u0443\\u0440\\u0430\\u0446\\u0438\\u0438 \\u044F\\u0437\\u044B\\u043A\\u0430 \\u0434\\u043B\\u044F \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0433\\u043E \\u043E\\u0431\\u0440\\u0430\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0439.\",\"\\u041E\\u0431\\u0440\\u0430\\u043C\\u043B\\u044F\\u0442\\u044C \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043A\\u0430\\u0432\\u044B\\u0447\\u0435\\u043A, \\u0430 \\u043D\\u0435 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u041E\\u0431\\u0440\\u0430\\u043C\\u043B\\u044F\\u0442\\u044C \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A, \\u0430 \\u043D\\u0435 \\u043A\\u0430\\u0432\\u044B\\u0447\\u0435\\u043A.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u043E\\u0431\\u0440\\u0430\\u043C\\u043B\\u044F\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435 \\u043A\\u0430\\u0432\\u044B\\u0447\\u0435\\u043A \\u0438\\u043B\\u0438 \\u043A\\u0432\\u0430\\u0434\\u0440\\u0430\\u0442\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u042D\\u043C\\u0443\\u043B\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u043F\\u0440\\u0438 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u0438 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u043E\\u0432 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430. \\u0412\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0435\\u043D\\u043E \\u043A \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u044F\\u043C \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 CodeLens \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0435\\u043C\\u0435\\u0439\\u0441\\u0442\\u0432\\u043E\\u043C \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432 \\u0434\\u043B\\u044F CodeLens.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0432 \\u043F\\u0438\\u043A\\u0441\\u0435\\u043B\\u044F\\u0445 \\u0434\\u043B\\u044F CodeLens. \\u0415\\u0441\\u043B\\u0438 \\u0437\\u0430\\u0434\\u0430\\u043D\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 0, \\u0442\\u043E \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F 90% \\u043E\\u0442 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 #editor.fontSize#.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0435 \\u0434\\u0435\\u043A\\u043E\\u0440\\u0430\\u0442\\u043E\\u0440\\u044B \\u0446\\u0432\\u0435\\u0442\\u0430 \\u0438 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0446\\u0432\\u0435\\u0442\\u0430.\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0443 \\u043F\\u0440\\u0438 \\u0449\\u0435\\u043B\\u0447\\u043A\\u0435 \\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043D\\u0430 \\u0434\\u0435\\u043A\\u043E\\u0440\\u0430\\u0442\\u043E\\u0440 \\u0446\\u0432\\u0435\\u0442\\u0430\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0443 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043D\\u0430 \\u0434\\u0435\\u043A\\u043E\\u0440\\u0430\\u0442\\u043E\\u0440 \\u0446\\u0432\\u0435\\u0442\\u0430\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0443 \\u043F\\u0440\\u0438 \\u0449\\u0435\\u043B\\u0447\\u043A\\u0435 \\u0434\\u0435\\u043A\\u043E\\u0440\\u0430\\u0442\\u043E\\u0440\\u0430 \\u0446\\u0432\\u0435\\u0442\\u0430\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0443\\u0441\\u043B\\u043E\\u0432\\u0438\\u0435\\u043C \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u044B \\u0432 \\u0434\\u0435\\u043A\\u043E\\u0440\\u0430\\u0442\\u043E\\u0440\\u0435 \\u0446\\u0432\\u0435\\u0442\\u0430\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043C\\u0430\\u043A\\u0441\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u044B\\u043C \\u043A\\u043E\\u043B\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043E\\u043C \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432\\u044B\\u0445 \\u0434\\u0435\\u043A\\u043E\\u0440\\u0430\\u0442\\u043E\\u0440\\u043E\\u0432, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u043C\\u043E\\u0436\\u043D\\u043E \\u043E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043E\\u0434\\u043D\\u043E\\u0432\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u043E.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0442\\u043E\\u0433\\u043E, \\u0447\\u0442\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0438 \\u043C\\u044B\\u0448\\u0438 \\u043F\\u0440\\u0438\\u0432\\u043E\\u0434\\u0438\\u0442 \\u043A \\u0432\\u044B\\u0431\\u043E\\u0440\\u0443 \\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043B\\u0438 \\u0442\\u0435\\u043A\\u0441\\u0442 \\u0441\\u043A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D \\u0432 \\u0431\\u0443\\u0444\\u0435\\u0440 \\u043E\\u0431\\u043C\\u0435\\u043D\\u0430 \\u0441 \\u043F\\u043E\\u0434\\u0441\\u0432\\u0435\\u0442\\u043A\\u043E\\u0439 \\u0441\\u0438\\u043D\\u0442\\u0430\\u043A\\u0441\\u0438\\u0441\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0442\\u0438\\u043B\\u0435\\u043C \\u0430\\u043D\\u0438\\u043C\\u0430\\u0446\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u041F\\u043B\\u0430\\u0432\\u043D\\u0430\\u044F \\u0430\\u043D\\u0438\\u043C\\u0430\\u0446\\u0438\\u044F \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0430.\",\"\\u041F\\u043B\\u0430\\u0432\\u043D\\u0430\\u044F \\u0430\\u043D\\u0438\\u043C\\u0430\\u0446\\u0438\\u044F \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0430, \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0435\\u0441\\u043B\\u0438 \\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044C \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0430\\u0435\\u0442 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u044F\\u0432\\u043D\\u044B\\u043C \\u0436\\u0435\\u0441\\u0442\\u043E\\u043C.\",\"\\u041F\\u043B\\u0430\\u0432\\u043D\\u0430\\u044F \\u0430\\u043D\\u0438\\u043C\\u0430\\u0446\\u0438\\u044F \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043F\\u043B\\u0430\\u0432\\u043D\\u0443\\u044E \\u0430\\u043D\\u0438\\u043C\\u0430\\u0446\\u0438\\u044E \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0442\\u0438\\u043B\\u0435\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0441\\u043E \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u043E\\u0439.\",'\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u043C\\u0438\\u043D\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u043E\\u0435 \\u0447\\u0438\\u0441\\u043B\\u043E \\u0432\\u0438\\u0434\\u0438\\u043C\\u044B\\u0445 \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043B\\u0438\\u043D\\u0438\\u0439 (\\u043C\\u0438\\u043D\\u0438\\u043C\\u0443\\u043C 0) \\u0438 \\u043A\\u043E\\u043D\\u0435\\u0447\\u043D\\u044B\\u0445 \\u043B\\u0438\\u043D\\u0438\\u0439 (\\u043C\\u0438\\u043D\\u0438\\u043C\\u0443\\u043C 1), \\u043E\\u043A\\u0440\\u0443\\u0436\\u0430\\u044E\\u0449\\u0438\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440. \\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0438\\u043C\\u0435\\u0435\\u0442 \\u043D\\u0430\\u0437\\u0432\\u0430\\u043D\\u0438\\u0435 \"scrollOff\" \\u0438\\u043B\\u0438 \"scrollOffset\" \\u0432 \\u043D\\u0435\\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\\u0445.','\"cursorSurroundingLines\" \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0440\\u0438 \\u0437\\u0430\\u043F\\u0443\\u0441\\u043A\\u0435 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0438\\u043B\\u0438 API.','\"cursorSurroundingLines\" \\u043F\\u0440\\u0438\\u043D\\u0443\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u0432\\u043E \\u0432\\u0441\\u0435\\u0445 \\u0441\\u043B\\u0443\\u0447\\u0430\\u044F\\u0445.','\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043F\\u0440\\u0438\\u043D\\u0443\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C \"#editor.cursorSurroundingLines#\".',`\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0448\\u0438\\u0440\\u0438\\u043D\\u043E\\u0439 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 \"#editor.cursorStyle#\" \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 'line'`,\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0443 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0438\\u0442\\u044C \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u0438\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043F\\u0435\\u0440\\u0435\\u0442\\u0430\\u0441\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u044F.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043D\\u043E\\u0432\\u044B\\u0439 \\u043C\\u0435\\u0442\\u043E\\u0434 \\u043E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u043A\\u0438 \\u0441 SVG.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043D\\u043E\\u0432\\u044B\\u0439 \\u043C\\u0435\\u0442\\u043E\\u0434 \\u043E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u043A\\u0438 \\u0441 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430\\u043C\\u0438 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0442\\u0430\\u0431\\u0438\\u043B\\u044C\\u043D\\u044B\\u0439 \\u043C\\u0435\\u0442\\u043E\\u0434 \\u043E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u043A\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u044B\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B \\u0441 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C \\u043D\\u043E\\u0432\\u043E\\u0433\\u043E \\u044D\\u043A\\u0441\\u043F\\u0435\\u0440\\u0438\\u043C\\u0435\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u043E\\u0433\\u043E \\u043C\\u0435\\u0442\\u043E\\u0434\\u0430.\",\"\\u041A\\u043E\\u044D\\u0444\\u0444\\u0438\\u0446\\u0438\\u0435\\u043D\\u0442 \\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0435\\u043D\\u0438\\u044F \\u0441\\u043A\\u043E\\u0440\\u043E\\u0441\\u0442\\u0438 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 ALT.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043E \\u043B\\u0438 \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u0435 \\u043A\\u043E\\u0434\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0441\\u0442\\u0440\\u0430\\u0442\\u0435\\u0433\\u0438\\u044E \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044F \\u0434\\u043B\\u044F \\u043A\\u043E\\u043D\\u043A\\u0440\\u0435\\u0442\\u043D\\u043E\\u0433\\u043E \\u044F\\u0437\\u044B\\u043A\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D\\u0430 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u0430, \\u0432 \\u043F\\u0440\\u043E\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0441\\u0442\\u0440\\u0430\\u0442\\u0435\\u0433\\u0438\\u044E \\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0441\\u0442\\u0440\\u0430\\u0442\\u0435\\u0433\\u0438\\u044E \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044F \\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u0435 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0442\\u0440\\u0430\\u0442\\u0435\\u0433\\u0438\\u0435\\u0439 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u0435\\u043C\\u044B\\u0445 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u043E\\u0432.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C \\u0441\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u044B.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0441\\u0432\\u043E\\u0440\\u0430\\u0447\\u0438\\u0432\\u0430\\u0442\\u044C \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u044B \\u0438\\u043C\\u043F\\u043E\\u0440\\u0442\\u0430.\",\"\\u041C\\u0430\\u043A\\u0441\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u043E\\u0435 \\u043A\\u043E\\u043B\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043E \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u0435\\u043C\\u044B\\u0445 \\u0440\\u0435\\u0433\\u0438\\u043E\\u043D\\u043E\\u0432. \\u0423\\u0432\\u0435\\u043B\\u0438\\u0447\\u0435\\u043D\\u0438\\u0435 \\u044D\\u0442\\u043E\\u0433\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u043C\\u043E\\u0436\\u0435\\u0442 \\u043F\\u0440\\u0438\\u0432\\u0435\\u0441\\u0442\\u0438 \\u043A \\u0441\\u043D\\u0438\\u0436\\u0435\\u043D\\u0438\\u044E \\u0441\\u043A\\u043E\\u0440\\u043E\\u0441\\u0442\\u0438 \\u043E\\u0442\\u043A\\u043B\\u0438\\u043A\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0438\\u0439 \\u0438\\u0441\\u0442\\u043E\\u0447\\u043D\\u0438\\u043A \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u0442 \\u0431\\u043E\\u043B\\u044C\\u0448\\u043E\\u0435 \\u043A\\u043E\\u043B\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043E \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u0435\\u043C\\u044B\\u0445 \\u0440\\u0435\\u0433\\u0438\\u043E\\u043D\\u043E\\u0432.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043B\\u0438 \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A \\u043F\\u0443\\u0441\\u0442\\u043E\\u0433\\u043E \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u043F\\u043E\\u0441\\u043B\\u0435 \\u0441\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0440\\u0430\\u0437\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u0442\\u044C \\u0435\\u0435.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0435\\u043C\\u0435\\u0439\\u0441\\u0442\\u0432\\u043E \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u043D\\u043E\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435. \\u041C\\u043E\\u0434\\u0443\\u043B\\u044C \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0435\\u043D \\u0438 \\u0438\\u043C\\u0435\\u0442\\u044C \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u044C \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D \\u0432 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0435.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u043C, \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u044E\\u0449\\u0438\\u043C, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u043F\\u043E\\u0441\\u043B\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435\\u043C \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043F\\u043E\\u043B\\u0435\\u0439 \\u0433\\u043B\\u0438\\u0444\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u041F\\u043E\\u043B\\u044F \\u0433\\u043B\\u0438\\u0444\\u0430 \\u0432 \\u043E\\u0441\\u043D\\u043E\\u0432\\u043D\\u043E\\u043C \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u044E\\u0442\\u0441\\u044F \\u0434\\u043B\\u044F \\u043E\\u0442\\u043B\\u0430\\u0434\\u043A\\u0438.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u043A\\u0440\\u044B\\u0442\\u0438\\u0435\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u0432 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0435.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0438\\u043D\\u0442\\u0435\\u0440\\u0432\\u0430\\u043B\\u043E\\u043C \\u043C\\u0435\\u0436\\u0434\\u0443 \\u0431\\u0443\\u043A\\u0432\\u0430\\u043C\\u0438 \\u0432 \\u043F\\u0438\\u043A\\u0441\\u0435\\u043B\\u044F\\u0445.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0430 \\u043B\\u0438 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u0430 \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u0412 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043C\\u043E\\u0441\\u0442\\u0438 \\u043E\\u0442 \\u044F\\u0437\\u044B\\u043A\\u0430, \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440 \\u0442\\u0435\\u0433\\u0438 HTML, \\u043E\\u0431\\u043D\\u043E\\u0432\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C \\u0441\\u0441\\u044B\\u043B\\u043A\\u0438 \\u0438 \\u0434\\u0435\\u043B\\u0430\\u0442\\u044C \\u0438\\u0445 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u043C\\u0438 \\u0434\\u043B\\u044F \\u0449\\u0435\\u043B\\u0447\\u043A\\u0430.\",\"\\u0412\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0449\\u0438\\u0435 \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438.\",\"\\u041C\\u043D\\u043E\\u0436\\u0438\\u0442\\u0435\\u043B\\u044C, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 deltaX \\u0438 deltaY \\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u0439 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043A\\u043E\\u043B\\u0435\\u0441\\u0438\\u043A\\u0430 \\u043C\\u044B\\u0448\\u0438.\",'\\u0423\\u0432\\u0435\\u043B\\u0438\\u0447\\u044C\\u0442\\u0435 \\u0448\\u0440\\u0438\\u0444\\u0442 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u044F \\u043A\\u043E\\u043B\\u0435\\u0441\\u043E \\u043C\\u044B\\u0448\\u0438 \\u0438 \\u0443\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u044F \"Cmd\".',\"\\u0418\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0435 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u043E\\u0439 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 CTRL \\u0438 \\u0434\\u0432\\u0438\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043A\\u043E\\u043B\\u0435\\u0441\\u0438\\u043A\\u0430 \\u043C\\u044B\\u0448\\u0438.\",\"\\u041E\\u0431\\u044A\\u0435\\u0434\\u0438\\u043D\\u0438\\u0442\\u044C \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u043E\\u043D\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0442\\u0441\\u044F.\",\"\\u0421\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 CTRL \\u0432 Windows \\u0438 Linux \\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 COMMAND \\u0432 macOS.\",\"\\u0421\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 ALT \\u0432 Windows \\u0438 Linux \\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 OPTION \\u0432 macOS.\",'\\u041C\\u043E\\u0434\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0434\\u043B\\u044F \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043C\\u044B\\u0448\\u0438. \\u0416\\u0435\\u0441\\u0442\\u044B \\u043C\\u044B\\u0448\\u0438 \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E\" \\u0438 \"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0441\\u0441\\u044B\\u043B\\u043A\\u0443\" \\u0431\\u0443\\u0434\\u0443\\u0442 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u044B \\u0442\\u0430\\u043A, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u043D\\u0438 \\u043D\\u0435 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u043E\\u0432\\u0430\\u043B\\u0438 c [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).',\"\\u041A\\u0430\\u0436\\u0434\\u044B\\u0439 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043E\\u0434\\u043D\\u0443 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430.\",\"\\u041A\\u0430\\u0436\\u0434\\u044B\\u0439 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u043E\\u043B\\u043D\\u044B\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u043E\\u0439, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0447\\u0438\\u0441\\u043B\\u043E \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u043C\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u0447\\u0438\\u0441\\u043B\\u0443 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043C\\u0430\\u043A\\u0441\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u044B\\u043C \\u0447\\u0438\\u0441\\u043B\\u043E\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u043C\\u043E\\u0433\\u0443\\u0442 \\u043E\\u0434\\u043D\\u043E\\u0432\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u043E \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0432 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u041D\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u0412\\u044B\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u043C \\u0444\\u0430\\u0439\\u043B\\u0435.\",\"\\u042D\\u043A\\u0441\\u043F\\u0435\\u0440\\u0438\\u043C\\u0435\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u044F: \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0432\\u043E \\u0432\\u0441\\u0435\\u0445 \\u0434\\u043E\\u043F\\u0443\\u0441\\u0442\\u0438\\u043C\\u044B\\u0445 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044B\\u0445 \\u0444\\u0430\\u0439\\u043B\\u0430\\u0445.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044B\\u0445 \\u0444\\u0430\\u0439\\u043B\\u0430\\u0445.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u0430 \\u043B\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u043D\\u0430 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0435.\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u043D\\u0430 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0435 \\u043F\\u0440\\u0438 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u0438\\u0438 \\u043E\\u0431\\u0437\\u043E\\u0440\\u0430\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u0440\\u0438 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u0438\\u0438 \\u043E\\u0431\\u0437\\u043E\\u0440\\u0430\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043D\\u0430 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u043E \\u0432 \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u0435 \\u043E\\u0431\\u0437\\u043E\\u0440\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u043B\\u0438 \\u0436\\u0435\\u0441\\u0442 \\u043C\\u044B\\u0448\\u044C\\u044E \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0430 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E \\u043E\\u0442\\u043A\\u0440\\u044B\\u0432\\u0430\\u0435\\u0442 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0434\\u043B\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u044C\\u044E \\u0437\\u0430\\u0434\\u0435\\u0440\\u0436\\u043A\\u0438 (\\u0432 \\u043C\\u0441) \\u043F\\u0435\\u0440\\u0435\\u0434 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435\\u043C \\u043A\\u0440\\u0430\\u0442\\u043A\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435 \\u043F\\u043E \\u0442\\u0438\\u043F\\u0443.\",'\\u041D\\u0435 \\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0443\\u0435\\u0442\\u0441\\u044F; \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u044D\\u0442\\u043E\\u0433\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \"editor.linkedEditing\".',\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043D\\u043E\\u043C\\u0435\\u0440\\u0430 \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0444\\u0430\\u0439\\u043B \\u0437\\u0430\\u043A\\u0430\\u043D\\u0447\\u0438\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F \\u043D\\u043E\\u0432\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u043E\\u0439.\",\"\\u0412\\u044B\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u043F\\u043E\\u043B\\u0435 \\u0438 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C \\u0442\\u0435\\u043A\\u0443\\u0449\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u044B\\u0432\\u0430\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438, \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043A\\u043E\\u0433\\u0434\\u0430 \\u043E\\u043D \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435.\",\"\\u041E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u043A\\u0430 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u043E\\u0432, \\u043A\\u0440\\u043E\\u043C\\u0435 \\u043E\\u0434\\u0438\\u043D\\u043E\\u0447\\u043D\\u044B\\u0445 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u043E\\u0432 \\u043C\\u0435\\u0436\\u0434\\u0443 \\u0441\\u043B\\u043E\\u0432\\u0430\\u043C\\u0438.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u043C \\u0442\\u0435\\u043A\\u0441\\u0442\\u0435.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043A\\u043E\\u043D\\u0435\\u0447\\u043D\\u044B\\u0435 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E \\u043B\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u0441\\u043A\\u0440\\u0443\\u0433\\u043B\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0443\\u0433\\u043B\\u044B \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043A\\u043E\\u043B\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043E\\u043C \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432, \\u043D\\u0430 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0447\\u0438\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u043F\\u043E \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043B\\u0438 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0447\\u0438\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0437\\u0430 \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u044E\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443.\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0430 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432\\u0434\\u043E\\u043B\\u044C \\u043E\\u0441\\u043D\\u043E\\u0432\\u043D\\u043E\\u0439 \\u043E\\u0441\\u0438 \\u043F\\u0440\\u0438 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0435 \\u043F\\u043E \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u0438 \\u0438 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u0438 \\u043E\\u0434\\u043D\\u043E\\u0432\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u043E. \\u041F\\u0440\\u0435\\u0434\\u043E\\u0442\\u0432\\u0440\\u0430\\u0449\\u0430\\u0435\\u0442 \\u0441\\u043C\\u0435\\u0449\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u0438 \\u043F\\u0440\\u0438 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0435 \\u043F\\u043E \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u0438 \\u043D\\u0430 \\u0442\\u0440\\u0435\\u043A\\u043F\\u0430\\u0434\\u0435.\",\"\\u041A\\u043E\\u043D\\u0442\\u0440\\u043E\\u043B\\u0438\\u0440\\u0443\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0442\\u044C \\u043F\\u0435\\u0440\\u0432\\u0438\\u0447\\u043D\\u044B\\u0439 \\u0431\\u0443\\u0444\\u0435\\u0440 \\u043E\\u0431\\u043C\\u0435\\u043D\\u0430 Linux.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u044F, \\u0430\\u043D\\u0430\\u043B\\u043E\\u0433\\u0438\\u0447\\u043D\\u044B\\u0435 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u043C\\u0443 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0443.\",\"\\u0412\\u0441\\u0435\\u0433\\u0434\\u0430 \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u0435\\u043C\\u044B\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u041D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430 \\u043D\\u0435 \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C \\u0438 \\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0430\\u0442\\u044C \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u043F\\u0435\\u0440\\u0435\\u043F\\u043B\\u0435\\u0442\\u0430.\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044F, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044C \\u043C\\u044B\\u0448\\u0438 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043D\\u0430\\u0434 \\u043F\\u0435\\u0440\\u0435\\u043F\\u043B\\u0435\\u0442\\u043E\\u043C.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043D\\u0430 \\u043F\\u0435\\u0440\\u0435\\u043F\\u043B\\u0435\\u0442\\u0435.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u043A\\u0440\\u044B\\u0442\\u0438\\u0435\\u043C \\u043D\\u0435\\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0447\\u0435\\u0440\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C \\u0443\\u0441\\u0442\\u0430\\u0440\\u0435\\u0432\\u0448\\u0438\\u0445 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u044B\\u0445.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u043E\\u0432\\u0435\\u0440\\u0445 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u043E\\u0434 \\u0434\\u0440\\u0443\\u0433\\u0438\\u043C\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u043C\\u0438.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0440\\u044F\\u0434\\u043E\\u043C \\u0441 \\u0434\\u0440\\u0443\\u0433\\u0438\\u043C\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u043C\\u0438.\",\"\\u041D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435\\u043C \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0432\\u043C\\u0435\\u0441\\u0442\\u0435 \\u0441 \\u0434\\u0440\\u0443\\u0433\\u0438\\u043C\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u043C\\u0438 \\u0438 \\u0438\\u0445 \\u0441\\u043E\\u0440\\u0442\\u0438\\u0440\\u043E\\u0432\\u043A\\u043E\\u0439.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043B\\u0438 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0430\\u043D\\u0438\\u043C\\u0430\\u0446\\u0438\\u044F \\u043F\\u0440\\u0438 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043E\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0435 \\u043E \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u044F\\u0445 \\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u0435\\u043B\\u044F\\u043C \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F \\u0441 \\u044D\\u043A\\u0440\\u0430\\u043D\\u0430 \\u043F\\u0440\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0438 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F.\",\"\\u0420\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0434\\u043B\\u044F \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439. \\u0415\\u0441\\u043B\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u043E {0}, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 {1}.\",\"\\u0412\\u044B\\u0441\\u043E\\u0442\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0434\\u043B\\u044F \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439. \\u0415\\u0441\\u043B\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u043E {0}, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 {1}. \\u041C\\u0438\\u043D\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u043E\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \\u2014 8.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u043F\\u0440\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0435 \\u0442\\u0440\\u0438\\u0433\\u0433\\u0435\\u0440\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F.\",\"\\u0412\\u0441\\u0435\\u0433\\u0434\\u0430 \\u0432\\u044B\\u0431\\u0438\\u0440\\u0430\\u0442\\u044C \\u043F\\u0435\\u0440\\u0432\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435.\",'\\u0412\\u044B\\u0431\\u043E\\u0440 \\u043D\\u0435\\u0434\\u0430\\u0432\\u043D\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439, \\u0435\\u0441\\u043B\\u0438 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0434\\u0430\\u043B\\u044C\\u043D\\u0435\\u0439\\u0448\\u0438\\u0439 \\u0432\\u0432\\u043E\\u0434 \\u043D\\u0435 \\u043F\\u0440\\u0438\\u0432\\u043E\\u0434\\u0438\\u0442 \\u043A \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u044E \\u043E\\u0434\\u043D\\u043E\\u0433\\u043E \\u0438\\u0437 \\u043D\\u0438\\u0445, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440 \"console.| -> console.log\", \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \"log\" \\u043D\\u0435\\u0434\\u0430\\u0432\\u043D\\u043E \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043B\\u0441\\u044F \\u0434\\u043B\\u044F \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F.','\\u0412\\u044B\\u0431\\u043E\\u0440 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0441 \\u0443\\u0447\\u0435\\u0442\\u043E\\u043C \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0444\\u0438\\u043A\\u0441\\u043E\\u0432, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u043D\\u044B\\u0445 \\u0434\\u043B\\u044F \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u044D\\u0442\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440 \"co -> console\" \\u0438 \"con -> const\".',\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u043C \\u0432\\u044B\\u0431\\u043E\\u0440\\u043E\\u043C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0440\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0438 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u041F\\u0440\\u0438 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u0438 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E TAB \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C\\u0441\\u044F \\u043D\\u0430\\u0438\\u043B\\u0443\\u0447\\u0448\\u0435\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 TAB.\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E TAB.\",'\\u0412\\u0441\\u0442\\u0430\\u0432\\u043A\\u0430 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u0439 \\u043F\\u043E TAB \\u043F\\u0440\\u0438 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0438\\u0445 \\u043F\\u0440\\u0435\\u0444\\u0438\\u043A\\u0441\\u043E\\u0432. \\u0424\\u0443\\u043D\\u043A\\u0446\\u0438\\u044F \\u0440\\u0430\\u0431\\u043E\\u0442\\u0430\\u0435\\u0442 \\u043E\\u043F\\u0442\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u043E, \\u0435\\u0441\\u043B\\u0438 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \"quickSuggestions\" \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D.',\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u0442 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E TAB.\",\"\\u041D\\u0435\\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0443\\u0434\\u0430\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F.\",\"\\u041D\\u0435\\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0438\\u0433\\u043D\\u043E\\u0440\\u0438\\u0440\\u0443\\u044E\\u0442\\u0441\\u044F.\",\"\\u0414\\u043B\\u044F \\u043D\\u0435\\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0437\\u0430\\u043F\\u0440\\u0430\\u0448\\u0438\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u0438\\u0435.\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u0435 \\u043D\\u0435\\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u043C\\u043E\\u0433\\u0443\\u0442 \\u0432\\u044B\\u0437\\u0432\\u0430\\u0442\\u044C \\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u044B.\",\"\\u041F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B \\u0438 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F \\u0438 \\u0443\\u0434\\u0430\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0438 \\u0441 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u044F\\u043C\\u0438 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043F\\u0440\\u0430\\u0432\\u0438\\u043B\\u043E \\u0440\\u0430\\u0437\\u0440\\u044B\\u0432\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E.\",\"\\u041D\\u0435 \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0440\\u0430\\u0437\\u0440\\u044B\\u0432\\u044B \\u0441\\u043B\\u043E\\u0432 \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u043D\\u0430 \\u043A\\u0438\\u0442\\u0430\\u0439\\u0441\\u043A\\u043E\\u043C, \\u044F\\u043F\\u043E\\u043D\\u0441\\u043A\\u043E\\u043C \\u0438\\u043B\\u0438 \\u043A\\u043E\\u0440\\u0435\\u0439\\u0441\\u043A\\u043E\\u043C \\u044F\\u0437\\u044B\\u043A\\u0435 (CJK). \\u0414\\u043B\\u044F \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u043E\\u0431\\u044B\\u0447\\u043D\\u043E\\u0435 \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u043F\\u0440\\u0430\\u0432\\u0438\\u043B\\u0430\\u043C\\u0438 \\u0440\\u0430\\u0437\\u0431\\u0438\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430\\u043C, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u043C\\u0438 \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u043D\\u0430 \\u043A\\u0438\\u0442\\u0430\\u0439\\u0441\\u043A\\u043E\\u043C,\\u044F\\u043F\\u043E\\u043D\\u0441\\u043A\\u043E\\u043C \\u0438 \\u043A\\u043E\\u0440\\u0435\\u0439\\u0441\\u043A\\u043E\\u043C \\u044F\\u0437\\u044B\\u043A\\u0435 (CJK).\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0435 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u043A\\u0430\\u043A \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u0438 \\u0441\\u043B\\u043E\\u0432 \\u043F\\u0440\\u0438 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438\\u043B\\u0438 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0439, \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u044B\\u0445 \\u0441\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430\\u043C\\u0438.\",\"\\u0421\\u0442\\u0440\\u043E\\u043A\\u0438 \\u043D\\u0435 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0438\\u0442\\u044C\\u0441\\u044F \\u043D\\u0438\\u043A\\u043E\\u0433\\u0434\\u0430.\",\"\\u0421\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0438\\u0442\\u044C\\u0441\\u044F \\u043F\\u043E \\u0448\\u0438\\u0440\\u0438\\u043D\\u0435 \\u043E\\u043A\\u043D\\u0430 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430.\",'\\u0421\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0438\\u0442\\u044C\\u0441\\u044F \\u043F\\u043E \"#editor.wordWrapColumn#\".','\\u0421\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0431\\u0443\\u0434\\u0443\\u0442 \\u043F\\u0435\\u0440\\u0435\\u043D\\u0435\\u0441\\u0435\\u043D\\u044B \\u043F\\u043E \\u043C\\u0438\\u043D\\u0438\\u043C\\u0430\\u043B\\u044C\\u043D\\u043E\\u043C\\u0443 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044E \\u0438\\u0437 \\u0434\\u0432\\u0443\\u0445: \\u0448\\u0438\\u0440\\u0438\\u043D\\u0430 \\u043E\\u043A\\u043D\\u0430 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0438 \"#editor.wordWrapColumn#\".',\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u043A\\u0430\\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0438\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438.\",'\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0442\\u043E\\u043B\\u0431\\u0435\\u0446 \\u043F\\u0435\\u0440\\u0435\\u043D\\u043E\\u0441\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \"#editor.wordWrap#\" \\u2014 \"wordWrapColumn\" \\u0438\\u043B\\u0438 \"bounded\".',\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0434\\u043E\\u043B\\u0436\\u043D\\u044B \\u043B\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432\\u044B\\u0435 \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A\\u0430 \\u0446\\u0432\\u0435\\u0442\\u0430 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043F\\u043E\\u043B\\u0443\\u0447\\u0430\\u0435\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0432\\u043A\\u043B\\u0430\\u0434\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u0430\\u0434\\u044B\\u0432\\u0430\\u0435\\u0442 \\u043B\\u0438 \\u0438\\u0445 \\u0432 \\u0440\\u0430\\u0431\\u043E\\u0447\\u0443\\u044E \\u0441\\u0440\\u0435\\u0434\\u0443 \\u0434\\u043B\\u044F \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0432 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446 \\u0432\\u043E\\u043A\\u0440\\u0443\\u0433 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0432 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u043E\\u0432, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440 \\u043F\\u0440\\u0438 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u0438 \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u0439 Quick Open \\u0438\\u043B\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043E\\u0431\\u0432\\u043E\\u0434\\u043A\\u0438 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F.\",'\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0432 \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u044F\\u0445 \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E\" \\u0438\\u043B\\u0438 \"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443/\\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C\\u0443 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0443\". \\u0426\\u0432\\u0435\\u0442 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u043F\\u043E\\u0434 \\u043D\\u0438\\u043C.',\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0432\\u043E\\u043A\\u0440\\u0443\\u0433 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430. \\u041F\\u043E\\u0437\\u0432\\u043E\\u043B\\u044F\\u0435\\u0442 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0442\\u044C \\u0446\\u0432\\u0435\\u0442 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430, \\u043F\\u0435\\u0440\\u0435\\u043A\\u0440\\u044B\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u043F\\u0440\\u044F\\u043C\\u043E\\u0443\\u0433\\u043E\\u043B\\u044C\\u043D\\u044B\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u043C.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043E\\u0441\\u043D\\u043E\\u0432\\u043D\\u043E\\u0433\\u043E \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043E\\u0441\\u043D\\u043E\\u0432\\u043D\\u043E\\u0433\\u043E \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432. \\u0414\\u0430\\u0435\\u0442 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u044C \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0442\\u044C \\u0446\\u0432\\u0435\\u0442 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430, \\u043F\\u0435\\u0440\\u0435\\u043A\\u0440\\u044B\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0431\\u043B\\u043E\\u0447\\u043D\\u044B\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u043C.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u0438\\u0445 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u0432. \\u0414\\u0430\\u0435\\u0442 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u044C \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0442\\u044C \\u0446\\u0432\\u0435\\u0442 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430, \\u043F\\u0435\\u0440\\u0435\\u043A\\u0440\\u044B\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0431\\u043B\\u043E\\u0447\\u043D\\u044B\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u043E\\u043C.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u043E\\u0432 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u043E\\u043C\\u0435\\u0440\\u043E\\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",'\\u0421\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E \"editorIndentGuide.background\" \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043D\\u0435\\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0443\\u0435\\u043C\\u044B\\u043C. \\u0412\\u043C\\u0435\\u0441\\u0442\\u043E \\u044D\\u0442\\u043E\\u0433\\u043E \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \"editorIndentGuide.background1\".',\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",'\\u0421\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E \"editorIndentGuide.activeBackground\" \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043D\\u0435\\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0443\\u0435\\u043C\\u044B\\u043C. \\u0412\\u043C\\u0435\\u0441\\u0442\\u043E \\u044D\\u0442\\u043E\\u0433\\u043E \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \"editorIndentGuide.activeBackground1\".',\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (1).\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (2).\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (3).\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (4).\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (5).\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (6).\",\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (1).\",\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (2).\",\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (3).\",\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (4).\",\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (5).\",\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (6).\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u043E\\u043C\\u0435\\u0440\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u041F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 'Id' \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0443\\u0441\\u0442\\u0430\\u0440\\u0435\\u0432\\u0448\\u0438\\u043C. \\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u043D\\u0435\\u0433\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 'editorLineNumber.activeForeground'.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u043E\\u043C\\u0435\\u0440\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u043A\\u043E\\u0433\\u0434\\u0430 editor.renderFinalNewline \\u0438\\u043C\\u0435\\u0435\\u0442 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 dimmed.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 CodeLens \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u0430\\u0440\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0440\\u044F\\u043C\\u043E\\u0443\\u0433\\u043E\\u043B\\u044C\\u043D\\u0438\\u043A\\u043E\\u0432 \\u043F\\u0430\\u0440\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0432 \\u043E\\u043A\\u043D\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u043E\\u043B\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u0412 \\u043F\\u043E\\u043B\\u0435 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0449\\u0430\\u044E\\u0442\\u0441\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u0433\\u043B\\u0438\\u0444\\u043E\\u0432 \\u0438 \\u043D\\u043E\\u043C\\u0435\\u0440\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u043D\\u0435\\u043D\\u0443\\u0436\\u043D\\u043E\\u0433\\u043E (\\u043D\\u0435\\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u043E\\u0433\\u043E) \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",'\\u041D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u043E\\u0441\\u0442\\u044C \\u043D\\u0435\\u043D\\u0443\\u0436\\u043D\\u043E\\u0433\\u043E (\\u043D\\u0435\\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u043E\\u0433\\u043E) \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u041D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \"#000000c0\" \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u043A\\u043E\\u0434 \\u0441 \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u043E\\u0441\\u0442\\u044C\\u044E 75 %. \\u0412 \\u0432\\u044B\\u0441\\u043E\\u043A\\u043E\\u043A\\u043E\\u043D\\u0442\\u0440\\u0430\\u0441\\u0442\\u043D\\u044B\\u0445 \\u0442\\u0435\\u043C\\u0430\\u0445 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u043D\\u0435\\u043D\\u0443\\u0436\\u043D\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430 \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u0437\\u0430\\u0442\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0446\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043C\\u044B \"editorUnnecessaryCode.border\".',\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u0435\\u0434\\u0432\\u0430 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u043C\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0435\\u0434\\u0432\\u0430 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u043C\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0435\\u0434\\u0432\\u0430 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u043C\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u043E\\u0432. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0435\\u0442\\u043A\\u0438 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0432 \\u043E\\u043A\\u043D\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0434\\u043B\\u044F \\u043E\\u0448\\u0438\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0435\\u0442\\u043A\\u0438 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0432 \\u043E\\u043A\\u043D\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0434\\u043B\\u044F \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0435\\u0442\\u043A\\u0438 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0432 \\u043E\\u043A\\u043D\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0434\\u043B\\u044F \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u044B\\u0445 \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (1). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0440\\u0430\\u0441\\u043A\\u0440\\u0430\\u0441\\u043A\\u0443 \\u043F\\u0430\\u0440\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (2). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0440\\u0430\\u0441\\u043A\\u0440\\u0430\\u0441\\u043A\\u0443 \\u043F\\u0430\\u0440\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (3). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0440\\u0430\\u0441\\u043A\\u0440\\u0430\\u0441\\u043A\\u0443 \\u043F\\u0430\\u0440\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (4). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0440\\u0430\\u0441\\u043A\\u0440\\u0430\\u0441\\u043A\\u0443 \\u043F\\u0430\\u0440\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (5). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0440\\u0430\\u0441\\u043A\\u0440\\u0430\\u0441\\u043A\\u0443 \\u043F\\u0430\\u0440\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (6). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0440\\u0430\\u0441\\u043A\\u0440\\u0430\\u0441\\u043A\\u0443 \\u043F\\u0430\\u0440\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043D\\u0435\\u043F\\u0440\\u0435\\u0434\\u0432\\u0438\\u0434\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (1). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (2). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (3). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (4). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (5). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (6). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (1). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (2). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (3). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (4). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (5). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A (6). \\u0422\\u0440\\u0435\\u0431\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0430.\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043D\\u0430 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0435 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 (\\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043C\\u0438\\u0433\\u0430\\u0435\\u0442)\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0438\\u043B\\u0438 \\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (\\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430)\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0438\\u043B\\u0438 \\u043D\\u0430 \\u043F\\u043E\\u043B\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 (\\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043C\\u0438\\u0433\\u0430\\u0435\\u0442)\",\"\\u042F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u043C \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0434\\u043B\\u044F \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F\",\"\\u042F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u043E\\u043C \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439\",\"\\u042F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442 \\u0432\\u043D\\u0435\\u0434\\u0440\\u0435\\u043D\\u043D\\u044B\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u043E\\u043C \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439\",null,\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044B \\u043B\\u0438 \\u0432\\u0441\\u0435 \\u0444\\u0430\\u0439\\u043B\\u044B \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043C\\u043D\\u043E\\u0436\\u0435\\u0441\\u0442\\u0432\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439\",\"\\u0421\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u0442 \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u043D \\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0431\\u043B\\u043E\\u043A \\u043A\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u044F\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0441 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u043E\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0441\\u0440\\u0430\\u0432\\u043D\\u0435\\u043D\\u0438\\u0439\",\"\\u0414\\u043E\\u0441\\u0442\\u0438\\u0433\\u043D\\u0443\\u0442\\u0430 \\u043B\\u0438 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u0430\\u044F \\u0442\\u043E\\u0447\\u043A\\u0430 \\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043B\\u043B\\u0435\\u043B\\u044C\\u043D\\u043E\\u0439 \\u043E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439\",\"\\u0410\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D \\u043B\\u0438 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0440\\u0435\\u0436\\u0438\\u043C\",\"\\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u0435\\u043D \\u043B\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0444\\u0430\\u0439\\u043B \\u0434\\u043B\\u044F \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439\",\"\\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u0435\\u043D \\u043B\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0444\\u0430\\u0439\\u043B \\u0434\\u043B\\u044F \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439\",\"URI \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u043E\\u0433\\u043E \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430\",\"URI \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430\",'\\u0412\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D \\u043B\\u0438 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \"editor.columnSelection\"',\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u044B\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043C\\u043D\\u043E\\u0436\\u0435\\u0441\\u0442\\u0432\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0432\\u044B\\u0431\\u043E\\u0440\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0444\\u043E\\u043A\\u0443\\u0441 \\u0441 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 TAB\",\"\\u042F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0432\\u0438\\u0434\\u0438\\u043C\\u044B\\u043C\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u0435 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u0435 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438\",\"\\u0412\\u0438\\u0434\\u043D\\u0430 \\u043B\\u0438 \\u0430\\u0432\\u0442\\u043E\\u043D\\u043E\\u043C\\u043D\\u0430\\u044F \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0430 \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432\",\"\\u0421\\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0430 \\u043B\\u0438 \\u0430\\u0432\\u0442\\u043E\\u043D\\u043E\\u043C\\u043D\\u0430\\u044F \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0430 \\u0446\\u0432\\u0435\\u0442\\u043E\\u0432\",\"\\u042F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0447\\u0430\\u0441\\u0442\\u044C\\u044E \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 (\\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0437\\u0430\\u043F\\u0438\\u0441\\u043D\\u044B\\u0445 \\u043A\\u043D\\u0438\\u0436\\u0435\\u043A)\",\"\\u0418\\u0434\\u0435\\u043D\\u0442\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440 \\u044F\\u0437\\u044B\\u043A\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u0441 \\u043A\\u043E\\u0434\\u043E\\u043C\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A CodeLens\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0439\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u043E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u0439\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0440\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0439 \\u0442\\u0438\\u043F\\u043E\\u0432\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0441\\u0441\\u044B\\u043B\\u043E\\u043A\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0441\\u043F\\u0440\\u0430\\u0432\\u043A\\u0438 \\u043F\\u043E \\u0441\\u0438\\u0433\\u043D\\u0430\\u0442\\u0443\\u0440\\u0430\\u043C\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043E\\u043A\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A\\u043E\\u0432 \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A\\u043E\\u0432 \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u043C\\u0430\\u0441\\u0441\\u0438\\u0432\",\"\\u043B\\u043E\\u0433\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435\",\"\\u043A\\u043B\\u0430\\u0441\\u0441\",\"\\u043A\\u043E\\u043D\\u0441\\u0442\\u0430\\u043D\\u0442\\u0430\",\"\\u043A\\u043E\\u043D\\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u043E\\u0440\",\"\\u043F\\u0435\\u0440\\u0435\\u0447\\u0438\\u0441\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0447\\u0438\\u0441\\u043B\\u0435\\u043D\\u0438\\u044F\",\"\\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u0435\",\"\\u043F\\u043E\\u043B\\u0435\",\"\\u0444\\u0430\\u0439\\u043B\",\"\\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u044F\",\"\\u0438\\u043D\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\",\"\\u043A\\u043B\\u044E\\u0447\",\"\\u043C\\u0435\\u0442\\u043E\\u0434\",\"\\u043C\\u043E\\u0434\\u0443\\u043B\\u044C\",\"\\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u043E \\u0438\\u043C\\u0435\\u043D\",\"NULL\",\"\\u0447\\u0438\\u0441\\u043B\\u043E\",\"\\u043E\\u0431\\u044A\\u0435\\u043A\\u0442\",\"\\u043E\\u043F\\u0435\\u0440\\u0430\\u0442\\u043E\\u0440\",\"\\u043F\\u0430\\u043A\\u0435\\u0442\",\"\\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E\",\"\\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\",\"\\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0430\",\"\\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u0442\\u0438\\u043F\\u0430\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u0430\\u044F\",\"{0} ({1})\",\"\\u041F\\u0440\\u043E\\u0441\\u0442\\u043E\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442\",\"\\u0412\\u0432\\u043E\\u0434\",\"\\u0420\\u0430\\u0437\\u0440\\u0430\\u0431\\u043E\\u0442\\u0447\\u0438\\u043A: \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u0438\\u0442\\u044C \\u0442\\u043E\\u043A\\u0435\\u043D\\u044B\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435/\\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u0443...\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0432\\u0441\\u0435\\u0445 \\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u0449\\u0438\\u043A\\u043E\\u0432 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0430\",\"\\u041F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0430 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0438 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u044C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0443...\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0443 \\u043F\\u043E \\u043A\\u0430\\u0442\\u0435\\u0433\\u043E\\u0440\\u0438\\u044F\\u043C...\",\"\\u0421\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0441\\u043E\\u043A\\u043E\\u043A\\u043E\\u043D\\u0442\\u0440\\u0430\\u0441\\u0442\\u043D\\u0443\\u044E \\u0442\\u0435\\u043C\\u0443\",\"\\u0412\\u043D\\u0435\\u0441\\u0435\\u043D\\u043E \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0444\\u0430\\u0439\\u043B\\u0430\\u0445 ({1}): {0}.\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435 ({0})\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B: {0}\",\"\\u041D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u0442\\u043E\\u0447\\u043A\\u0430 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F\",\"\\u041D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u0442\\u043E\\u0447\\u043A\\u0430 \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u0430 \\u0432 {0}:{1}\",\"\\u0423\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u0443\\u044E \\u0442\\u043E\\u0447\\u043A\\u0443 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u043E\\u0439 \\u0442\\u043E\\u0447\\u043A\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F\",\"\\u0412\\u044B\\u0434\\u0435\\u043B\\u0438\\u0442\\u044C \\u0442\\u0435\\u043A\\u0441\\u0442 \\u043E\\u0442 \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u043E\\u0439 \\u0442\\u043E\\u0447\\u043A\\u0438 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0434\\u043E \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u043D\\u0430\\u0447\\u0430\\u043B\\u044C\\u043D\\u0443\\u044E \\u0442\\u043E\\u0447\\u043A\\u0443 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0435\\u0442\\u043A\\u0438 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0432 \\u043E\\u043A\\u043D\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440 \\u0441\\u043A\\u043E\\u0431\\u043E\\u043A.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u043A\\u043E\\u0431\\u043A\\u0435\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u0441\\u043A\\u043E\\u0431\\u043A\\u0443\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A &&\\u0441\\u043A\\u043E\\u0431\\u043A\\u0435\",\"\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0442\\u0435\\u043A\\u0441\\u0442 \\u0432\\u043D\\u0443\\u0442\\u0440\\u0438, \\u0432\\u043A\\u043B\\u044E\\u0447\\u0430\\u044F \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438 \\u0438\\u043B\\u0438 \\u0444\\u0438\\u0433\\u0443\\u0440\\u043D\\u044B\\u0435 \\u0441\\u043A\\u043E\\u0431\\u043A\\u0438.\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442 \\u0432\\u043B\\u0435\\u0432\\u043E\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442 \\u0432\\u043F\\u0440\\u0430\\u0432\\u043E\",\"\\u0422\\u0440\\u0430\\u043D\\u0441\\u043F\\u043E\\u0440\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0431\\u0443\\u043A\\u0432\\u044B\",\"&&\\u0412\\u044B\\u0440\\u0435\\u0437\\u0430\\u0442\\u044C\",\"\\u0412\\u044B\\u0440\\u0435\\u0437\\u0430\\u0442\\u044C\",\"\\u0412\\u044B\\u0440\\u0435\\u0437\\u0430\\u0442\\u044C\",\"\\u0412\\u044B\\u0440\\u0435\\u0437\\u0430\\u0442\\u044C\",\"&&\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\",\"&&\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\\u043C \\u0441\\u0438\\u043D\\u0442\\u0430\\u043A\\u0441\\u0438\\u0441\\u0430\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u043A\\u0430\\u043A\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u043A\\u0430\\u043A\",\"\\u041F\\u043E\\u0434\\u0435\\u043B\\u0438\\u0442\\u044C\\u0441\\u044F\",\"\\u041F\\u043E\\u0434\\u0435\\u043B\\u0438\\u0442\\u044C\\u0441\\u044F\",\"\\u041F\\u0440\\u0438 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0438 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430 \\u043F\\u0440\\u043E\\u0438\\u0437\\u043E\\u0448\\u043B\\u0430 \\u043D\\u0435\\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043D\\u0430\\u044F \\u043E\\u0448\\u0438\\u0431\\u043A\\u0430\",\"\\u0422\\u0438\\u043F \\u0437\\u0430\\u043F\\u0443\\u0441\\u043A\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u044E\\u0442\\u0441\\u044F \\u0432\\u043E\\u0437\\u0432\\u0440\\u0430\\u0449\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F.\",\"\\u0412\\u0441\\u0435\\u0433\\u0434\\u0430 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C \\u043F\\u0435\\u0440\\u0432\\u043E\\u0435 \\u0432\\u043E\\u0437\\u0432\\u0440\\u0430\\u0449\\u0435\\u043D\\u043D\\u043E\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u043A\\u043E\\u0434\\u0430.\",\"\\u041F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u043F\\u0435\\u0440\\u0432\\u043E\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432\\u043E\\u0437\\u0432\\u0440\\u0430\\u0449\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D\\u043E \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0435\\u0434\\u0438\\u043D\\u0441\\u0442\\u0432\\u0435\\u043D\\u043D\\u044B\\u043C.\",\"\\u041D\\u0435 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u0432\\u043E\\u0437\\u0432\\u0440\\u0430\\u0449\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0432\\u043E\\u0437\\u0432\\u0440\\u0430\\u0449\\u0430\\u0442\\u044C \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0442\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430.\",\"\\u0411\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435...\",\"\\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430 \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442\",'\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0442\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \"{0}\".','\\u0414\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \"{0}\" \\u043D\\u0435\\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B',\"\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0442\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430\",\"\\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430 \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442\",\"\\u0420\\u0435\\u0444\\u0430\\u043A\\u0442\\u043E\\u0440\\u0438\\u043D\\u0433...\",'\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0442\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0440\\u0435\\u0444\\u0430\\u043A\\u0442\\u043E\\u0440\\u0438\\u043D\\u0433\\u043E\\u0432 \\u0434\\u043B\\u044F \"{0}\"','\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E\\u0433\\u043E \\u0440\\u0435\\u0444\\u0430\\u043A\\u0442\\u043E\\u0440\\u0438\\u043D\\u0433\\u0430 \\u0434\\u043B\\u044F \"{0}\"',\"\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0442\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0440\\u0435\\u0444\\u0430\\u043A\\u0442\\u043E\\u0440\\u0438\\u043D\\u0433\\u043E\\u0432\",\"\\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0435 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \\u0440\\u0435\\u0444\\u0430\\u043A\\u0442\\u043E\\u0440\\u0438\\u043D\\u0433\\u0430 \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442\",\"\\u0414\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0441 \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u044B\\u043C \\u043A\\u043E\\u0434\\u043E\\u043C...\",\"\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0442\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u0438\\u0441\\u0442\\u043E\\u0447\\u043D\\u0438\\u043A\\u0430 \\u0434\\u043B\\u044F '{0}'\",'\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0445 \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u044B\\u0445 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u0434\\u043B\\u044F \"{0}\"',\"\\u041F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0442\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u0438\\u0441\\u0442\\u043E\\u0447\\u043D\\u0438\\u043A\\u0430 \\u043D\\u0435\\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\",\"\\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0435 \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u044B\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442\",\"\\u041E\\u0440\\u0433\\u0430\\u043D\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F \\u0438\\u043C\\u043F\\u043E\\u0440\\u0442\\u043E\\u0432\",\"\\u0414\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0434\\u043B\\u044F \\u0443\\u043F\\u043E\\u0440\\u044F\\u0434\\u043E\\u0447\\u0435\\u043D\\u0438\\u044F \\u0438\\u043C\\u043F\\u043E\\u0440\\u0442\\u043E\\u0432 \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442\",\"\\u0418\\u0441\\u043F\\u0440\\u0430\\u0432\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435\",\"\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E\\u0433\\u043E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043F\\u043E \\u043E\\u0431\\u0449\\u0435\\u043C\\u0443 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044E\",\"\\u0410\\u0432\\u0442\\u043E\\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435...\",\"\\u041D\\u0435\\u0442 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\\u0445 \\u0430\\u0432\\u0442\\u043E\\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0439\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u043E\\u0432 \\u0433\\u0440\\u0443\\u043F\\u043F \\u0432 \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0431\\u043B\\u0438\\u0436\\u0430\\u0439\\u0448\\u0435\\u0433\\u043E \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u0432 \\u044D\\u0442\\u043E\\u0442 \\u043C\\u043E\\u043C\\u0435\\u043D\\u0442 \\u043D\\u0435 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u0434\\u0438\\u0430\\u0433\\u043D\\u043E\\u0441\\u0442\\u0438\\u043A\\u0430.\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0430\\u043A\\u0442\\u0438\\u0432\\u0430\\u0446\\u0438\\u044E {0}, \\u0435\\u0441\\u043B\\u0438 \\u0434\\u043B\\u044F {1} \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 {2}. \\u0414\\u043B\\u044F \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430 \\u0434\\u043E\\u043B\\u0436\\u043D\\u043E \\u0431\\u044B\\u0442\\u044C \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 {3}, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u043D\\u0438 \\u0441\\u0440\\u0430\\u0431\\u0430\\u0442\\u044B\\u0432\\u0430\\u043B\\u0438 \\u043F\\u0440\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0438 \\u043E\\u043A\\u043D\\u0430 \\u0438 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0430.\",\"\\u041A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442: {0} \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435 {1} \\u0438 \\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u0435 {2}.\",\"\\u0421\\u043A\\u0440\\u044B\\u0442\\u044C \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043D\\u044B\\u0435\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043D\\u044B\\u0435\",\"\\u0414\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F...\",\"\\u0411\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u0418\\u0437\\u0432\\u043B\\u0435\\u0447\\u044C\",\"\\u0412\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0439\",\"\\u041F\\u0435\\u0440\\u0435\\u043F\\u0438\\u0441\\u0430\\u0442\\u044C\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C\",\"\\u0420\\u0430\\u0437\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u0432\\u043E \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0435\",\"\\u0414\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0441 \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u044B\\u043C \\u043A\\u043E\\u0434\\u043E\\u043C\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0432\\u044B\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442 \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430 \\u0438\\u0437 \\u043F\\u0435\\u0440\\u0435\\u043F\\u043B\\u0435\\u0442\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0442 \\u043C\\u0435\\u0441\\u0442\\u0430.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0432\\u044B\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442 \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430 \\u0438\\u0437 \\u043F\\u0435\\u0440\\u0435\\u043F\\u043B\\u0435\\u0442\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0442 \\u043C\\u0435\\u0441\\u0442\\u0430 \\u0438 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0432\\u044B\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442 \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430 \\u0438\\u0437 \\u043F\\u0435\\u0440\\u0435\\u043F\\u043B\\u0435\\u0442\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0442 \\u043C\\u0435\\u0441\\u0442\\u0430 \\u0438 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E \\u0418\\u0418-\\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0432\\u044B\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442 \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430 \\u0438\\u0437 \\u043F\\u0435\\u0440\\u0435\\u043F\\u043B\\u0435\\u0442\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0442 \\u043C\\u0435\\u0441\\u0442\\u0430 \\u0438 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E \\u0418\\u0418-\\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0438 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0432\\u044B\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442 \\u043C\\u0435\\u043D\\u044E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043A\\u043E\\u0434\\u0430 \\u0438\\u0437 \\u043F\\u0435\\u0440\\u0435\\u043F\\u043B\\u0435\\u0442\\u0430, \\u0435\\u0441\\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0442 \\u043C\\u0435\\u0441\\u0442\\u0430 \\u0438 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E \\u0418\\u0418-\\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0438 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435.\",\"\\u0417\\u0430\\u043F\\u0443\\u0441\\u0442\\u0438\\u0442\\u044C: {0}\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430. \\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u043E \\u043F\\u0440\\u0435\\u0434\\u043F\\u043E\\u0447\\u0442\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 ({0})\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430 ({0})\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u043E\\u0434\\u0430\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B CodeLens \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0443\",null,null,null,null,null,null,null,null,null,\"\\u0417\\u0430\\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0438\\u043B\\u0438 \\u0440\\u0430\\u0441\\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0439 &&\\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u0417\\u0430\\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443\",\"\\u0420\\u0430\\u0441\\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443\",\"\\u0417\\u0430\\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0438\\u043B\\u0438 \\u0440\\u0430\\u0441\\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0431\\u043B\\u043E\\u043A\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0439 &&\\u0431\\u043B\\u043E\\u043A\\u0430\",\"\\u041C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0430\",\"\\u041E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u043A\\u0430 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432\",\"\\u0420\\u0430\\u0437\\u043C\\u0435\\u0440 \\u043F\\u043E \\u0432\\u0435\\u0440\\u0442\\u0438\\u043A\\u0430\\u043B\\u0438\",\"\\u041F\\u0440\\u043E\\u043F\\u043E\\u0440\\u0446\\u0438\\u043E\\u043D\\u0430\\u043B\\u044C\\u043D\\u043E\",\"\\u0417\\u0430\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u044C\",\"\\u041F\\u043E\\u0434\\u043E\\u0433\\u043D\\u0430\\u0442\\u044C\",\"\\u041F\\u043E\\u043B\\u0437\\u0443\\u043D\\u043E\\u043A\",\"\\u041D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043C\\u044B\\u0448\\u0438\",\"\\u0412\\u0441\\u0435\\u0433\\u0434\\u0430\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442\\u043D\\u043E\\u0435 \\u043C\\u0435\\u043D\\u044E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430\",\"\\u041F\\u043E\\u0432\\u0442\\u043E\\u0440 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430\",`\\u0422\\u0438\\u043F \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0435\\u043C\\u043E\\u0439 \\u043F\\u0440\\u0430\\u0432\\u043A\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438.\\r\n\\u0415\\u0441\\u043B\\u0438 \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0440\\u0430\\u0432\\u043E\\u043A \\u0434\\u043B\\u044F \\u044D\\u0442\\u043E\\u0433\\u043E \\u0442\\u0438\\u043F\\u0430, \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430. \\u0415\\u0441\\u043B\\u0438 \\u043F\\u0440\\u0430\\u0432\\u043A\\u0438 \\u0442\\u0430\\u043A\\u043E\\u0433\\u043E \\u0442\\u0438\\u043F\\u0430 \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442, \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u0435 \\u043E\\u0431 \\u043E\\u0448\\u0438\\u0431\\u043A\\u0435.`,\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0430\\u043A...\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0430\\u043A \\u0442\\u0435\\u043A\\u0441\\u0442\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438...\",'\\u0418\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438 \\u0434\\u043B\\u044F \"{0}\" \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u044B',\"\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u0438\\u0435 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0439 \\u043F\\u0440\\u0430\\u0432\\u043A\\u0438. \\u041D\\u0430\\u0436\\u043C\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"\\u0417\\u0430\\u043F\\u0443\\u0441\\u043A \\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u0447\\u0438\\u043A\\u043E\\u0432 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438. \\u0429\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0438 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u044C \\u043E\\u0431\\u044B\\u0447\\u043D\\u0443\\u044E \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0443\",\"\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438\",\"\\u0417\\u0430\\u043F\\u0443\\u0441\\u043A \\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u0447\\u0438\\u043A\\u043E\\u0432 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0438\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C URI\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C URI\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043F\\u0443\\u0442\\u0438\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043F\\u0443\\u0442\\u044C\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043E\\u0442\\u043D\\u043E\\u0441\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043F\\u0443\\u0442\\u0438\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043E\\u0442\\u043D\\u043E\\u0441\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0439 \\u043F\\u0443\\u0442\\u044C\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C HTML\",null,\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0431\\u0440\\u043E\\u0441\\u0430\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B \\u0441\\u0431\\u0440\\u043E\\u0441\\u0430...\",\"\\u0417\\u0430\\u043F\\u0443\\u0441\\u043A\\u0430\\u044E\\u0442\\u0441\\u044F \\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u0447\\u0438\\u043A\\u0438 \\u0441\\u0431\\u0440\\u043E\\u0441\\u0430. \\u0429\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435 \\u0434\\u043B\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B\",`\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430 \\u043F\\u0440\\u0438 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0430\\u0432\\u043A\\u0438 \"{0}\":\\r\n{1}`,`\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430 \\u043F\\u0440\\u0438 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \"{0}\":\\r\n{1}`,'\\u0412\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438, \\u0434\\u043E\\u043F\\u0443\\u0441\\u043A\\u0430\\u044E\\u0449\\u0438\\u0435 \\u043E\\u0442\\u043C\\u0435\\u043D\\u0443, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0441\\u0441\\u044B\\u043B\\u043A\\u0438\"',\"\\u0424\\u0430\\u0439\\u043B \\u0441\\u043B\\u0438\\u0448\\u043A\\u043E\\u043C \\u0432\\u0435\\u043B\\u0438\\u043A \\u0434\\u043B\\u044F \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u044F \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \\u0437\\u0430\\u043C\\u0435\\u043D\\u044B \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432.\",\"\\u041D\\u0430\\u0439\\u0442\\u0438\",\"&&\\u041D\\u0430\\u0439\\u0442\\u0438\",\"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0441 \\u0430\\u0440\\u0433\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430\\u043C\\u0438\",\"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0432 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u043C\",\"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0434\\u0430\\u043B\\u0435\\u0435\",\"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0440\\u0430\\u043D\\u0435\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u044E...\",\"\\u041D\\u0435\\u0442 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439. \\u041F\\u043E\\u043F\\u0440\\u043E\\u0431\\u0443\\u0439\\u0442\\u0435 \\u043D\\u0430\\u0439\\u0442\\u0438 \\u0447\\u0442\\u043E-\\u043D\\u0438\\u0431\\u0443\\u0434\\u044C \\u0434\\u0440\\u0443\\u0433\\u043E\\u0435.\",\"\\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u0447\\u0438\\u0441\\u043B\\u043E, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u043C\\u0443 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u044E (\\u043E\\u0442 1 \\u0434\\u043E {0})\",\"\\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u0447\\u0438\\u0441\\u043B\\u043E \\u043E\\u0442 1 \\u0434\\u043E {0}\",\"\\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u0447\\u0438\\u0441\\u043B\\u043E \\u043E\\u0442 1 \\u0434\\u043E {0}\",\"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"&&\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A, \\u0443\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0439, \\u0447\\u0442\\u043E \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0441\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u043E.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A, \\u0443\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u044E\\u0449\\u0438\\u0439, \\u0447\\u0442\\u043E \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0440\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u043E.\",'\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438 \"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0432 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u043C\" \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.','\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438 \"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\" \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.','\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438 \"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435\" \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.','\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438 \"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0440\\u0430\\u043D\\u0435\\u0435\" \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.','\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438 \"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0434\\u0430\\u043B\\u0435\\u0435\" \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.',\"\\u041F\\u043E\\u0438\\u0441\\u043A \\u0438 \\u0437\\u0430\\u043C\\u0435\\u043D\\u0430\",\"\\u041D\\u0430\\u0439\\u0442\\u0438\",\"\\u041D\\u0430\\u0439\\u0442\\u0438\",\"\\u041F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0435 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u0421\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0435 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0438\",\"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0437\\u0430\\u043C\\u0435\\u043D\\u044B\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0435\\u0440\\u0432\\u044B\\u0435 {0} \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432, \\u043D\\u043E \\u0432\\u0441\\u0435 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u044E\\u0442\\u0441\\u044F \\u0441\\u043E \\u0432\\u0441\\u0435\\u043C \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u043C.\",\"{0} \\u0438\\u0437 {1}\",\"\\u0420\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u044B \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442\",\"{0} \\u043E\\u0431\\u043D\\u0430\\u0440\\u0443\\u0436\\u0435\\u043D\\u043E\",'{0} \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D \\u0434\\u043B\\u044F \"{1}\"','{0} \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D \\u0434\\u043B\\u044F \"{1}\", \\u0432 {2}','{0} \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D \\u0434\\u043B\\u044F \"{1}\"',\"\\u0422\\u0435\\u043F\\u0435\\u0440\\u044C \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 CTRL+\\u0412\\u0412\\u041E\\u0414 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0430 \\u043D\\u0430 \\u043D\\u043E\\u0432\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0432\\u043C\\u0435\\u0441\\u0442\\u043E \\u0437\\u0430\\u043C\\u0435\\u043D\\u044B \\u0432\\u0441\\u0435\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430. \\u0412\\u044B \\u043C\\u043E\\u0436\\u0435\\u0442\\u0435 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 editor.action.replaceAll, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0438\\u0442\\u044C \\u044D\\u0442\\u043E \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435.\",\"\\u0420\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C\",\"\\u0420\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0440\\u0435\\u043A\\u0443\\u0440\\u0441\\u0438\\u0432\\u043D\\u043E\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u0435\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0440\\u0435\\u043A\\u0443\\u0440\\u0441\\u0438\\u0432\\u043D\\u043E\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0440\\u0435\\u043A\\u0443\\u0440\\u0441\\u0438\\u0432\\u043D\\u043E\\u0435 \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u0435\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0431\\u043B\\u043E\\u043A\\u0438 \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u0435\\u0432\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0440\\u0435\\u0433\\u0438\\u043E\\u043D\\u044B\",\"\\u0420\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0440\\u0435\\u0433\\u0438\\u043E\\u043D\\u044B\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u0441\\u0435 \\u043A\\u0440\\u043E\\u043C\\u0435 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u044B\\u0445\",\"\\u0420\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u0441\\u0435 \\u043A\\u0440\\u043E\\u043C\\u0435 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u044B\\u0445\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u0441\\u0435\",\"\\u0420\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u0441\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0440\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u0441\\u043A\\u043E\\u043C\\u0443 \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044E\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C\\u0443 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u0443 \\u0441\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0445\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u0443 \\u0441\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0445\",\"\\u0421\\u043E\\u0437\\u0434\\u0430\\u0442\\u044C \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044F \\u0438\\u0437 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u044B \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u044F \\u0432\\u0440\\u0443\\u0447\\u043D\\u0443\\u044E\",\"\\u0423\\u0440\\u043E\\u0432\\u0435\\u043D\\u044C \\u043F\\u0430\\u043F\\u043A\\u0438 {0}\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0437\\u0430 \\u0441\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044B\\u043C\\u0438 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u0430\\u043C\\u0438. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u0434\\u0435\\u043A\\u043E\\u0440\\u0430\\u0442\\u0438\\u0432\\u043D\\u044B\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0441\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u043F\\u043E\\u0441\\u043B\\u0435 \\u043F\\u0435\\u0440\\u0432\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0441\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0432\\u0435\\u0440\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C \\u0432\\u043E \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0435\\u043C \\u043F\\u043E\\u043B\\u0435 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u0440\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044B\\u0445 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u043E\\u0432 \\u043D\\u0430 \\u043F\\u043E\\u043B\\u0435 \\u0433\\u043B\\u0438\\u0444\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u0441\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044B\\u0445 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u043E\\u0432 \\u043D\\u0430 \\u043F\\u043E\\u043B\\u0435 \\u0433\\u043B\\u0438\\u0444\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u0441\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044B\\u0445 \\u0432\\u0440\\u0443\\u0447\\u043D\\u0443\\u044E \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u043E\\u0432 \\u043D\\u0430 \\u043F\\u043E\\u043B\\u044F\\u0445 \\u0433\\u043B\\u0438\\u0444\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u0440\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044B\\u0445 \\u0432\\u0440\\u0443\\u0447\\u043D\\u0443\\u044E \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u043E\\u0432 \\u043D\\u0430 \\u043F\\u043E\\u043B\\u044F\\u0445 \\u0433\\u043B\\u0438\\u0444\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0429\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0438\\u0442\\u044C \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D.\",\"\\u0429\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0441\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D.\",\"\\u0423\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0423\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0421\\u0431\\u0440\\u043E\\u0441\\u0438\\u0442\\u044C \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0424\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\",\"\\u0424\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0421\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0439 \\u041F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u0435 (\\u041E\\u0448\\u0438\\u0431\\u043A\\u0435, \\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u044E, \\u0418\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u0438)\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0430 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0443.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u041F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0439 \\u041F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u0435 (\\u041E\\u0448\\u0438\\u0431\\u043A\\u0435, \\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u044E, \\u0418\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u0438)\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0430 \\u043A \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C\\u0443 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0443.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0439 \\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u0435 \\u0432 \\u0444\\u0430\\u0439\\u043B\\u0430\\u0445 (\\u043E\\u0448\\u0438\\u0431\\u043A\\u0438, \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F, \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u044B\\u0435 \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u044F)\",\"\\u0421\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0430\\u044F &&\\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u0430\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0439 \\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u0435 \\u0432 \\u0444\\u0430\\u0439\\u043B\\u0430\\u0445 (\\u043E\\u0448\\u0438\\u0431\\u043A\\u0438, \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F, \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u044B\\u0435 \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u044F)\",\"\\u041F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0430\\u044F &&\\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u0430\",\"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430\",\"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u0418\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u044F\",\"\\u0423\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0435\",\"{0} \\u0432 {1}. \",\"\\u041F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u044B: {0} \\u0438\\u0437 {1}\",\"\\u041F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u044B: {0} \\u0438\\u0437 {1}\",\"\\u0426\\u0432\\u0435\\u0442 \\u043E\\u0448\\u0438\\u0431\\u043A\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E \\u043C\\u0435\\u0442\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0424\\u043E\\u043D \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u043E\\u0448\\u0438\\u0431\\u043A\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E \\u043C\\u0435\\u0442\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E \\u043C\\u0435\\u0442\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0424\\u043E\\u043D \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E \\u043C\\u0435\\u0442\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u043E\\u0433\\u043E \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E \\u043C\\u0435\\u0442\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0424\\u043E\\u043D \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u043E\\u0433\\u043E \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E \\u043C\\u0435\\u0442\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0424\\u043E\\u043D \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E \\u043C\\u0435\\u0442\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u041E\\u0431\\u0437\\u043E\\u0440\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F\",'\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0434\\u043B\\u044F \"{0}\" \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E.',\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u044B.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A &&\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E\",\"\\u041E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F\",'\\u041E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0434\\u043B\\u044F \"{0}\" \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E.',\"\\u041E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A &&\\u043E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u044E\",'\\u041E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0434\\u043B\\u044F \"{0}\" \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E.',\"\\u041E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0442\\u0438\\u043F\\u043E\\u0432\",'\\u041D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0442\\u0438\\u043F\\u0430 \\u0434\\u043B\\u044F \"{0}\".',\"\\u041D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043E \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0442\\u0438\\u043F\\u0430.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A &&\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E \\u0442\\u0438\\u043F\\u0430\",\"\\u0420\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438\",'\\u041D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u0430 \\u0440\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F \\u0434\\u043B\\u044F \"{0}\".',\"\\u041D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u0430 \\u0440\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A &&\\u0440\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u043C\",'\\u0421\\u0441\\u044B\\u043B\\u043A\\u0438 \\u0434\\u043B\\u044F \"{0}\" \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u044B',\"\\u0421\\u0441\\u044B\\u043B\\u043A\\u0438 \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u044B\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A &&\\u0441\\u0441\\u044B\\u043B\\u043A\\u0430\\u043C\",\"\\u0421\\u0441\\u044B\\u043B\\u043A\\u0438\",\"\\u0421\\u0441\\u044B\\u043B\\u043A\\u0438\",\"\\u0420\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\",'\\u041D\\u0435\\u0442 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u0434\\u043B\\u044F \"{0}\"',\"\\u0421\\u0441\\u044B\\u043B\\u043A\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E\",\"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0431\\u043E\\u043A\\u0443\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u044E\",\"\\u041F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0435\\u0442\\u044C \\u043E\\u0431\\u044A\\u044F\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E \\u0442\\u0438\\u043F\\u0430\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0442\\u0438\\u043F\\u0430\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0440\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u043C\",\"\\u041F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0435\\u0442\\u044C \\u0440\\u0435\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0441\\u044B\\u043B\\u043A\\u0430\\u043C\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0441\\u0441\\u044B\\u043B\\u043A\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043B\\u044E\\u0431\\u043E\\u043C\\u0443 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0443\",\"\\u0429\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0437\\u0438\\u0442\\u044C \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F ({0}).\",'\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u043E \\u043B\\u0438 \\u043E\\u043A\\u043D\\u043E \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0441\\u0441\\u044B\\u043B\\u043E\\u043A, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \"\\u0421\\u0441\\u044B\\u043B\\u043A\\u0438 \\u0434\\u043B\\u044F \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430\" \\u0438\\u043B\\u0438 \"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430\"',\"\\u0417\\u0430\\u0433\\u0440\\u0443\\u0437\\u043A\\u0430...\",\"{0} ({1})\",\"\\u0421\\u0441\\u044B\\u043B\\u043E\\u043A: {0}\",\"{0} \\u0441\\u0441\\u044B\\u043B\\u043A\\u0430\",\"\\u0421\\u0441\\u044B\\u043B\\u043A\\u0438\",\"\\u043F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0439 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440 \\u043D\\u0435\\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0435\\u043D\",\"\\u0420\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u044B \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442\",\"\\u0421\\u0441\\u044B\\u043B\\u043A\\u0438\",\"\\u0432 {0} \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435 {1} \\u0432 \\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u0435 {2}\",\"{0} \\u0432 {1} \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435 {2} \\u0432 \\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u0435 {3}\",\"1 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u0432 {0}, \\u043F\\u043E\\u043B\\u043D\\u044B\\u0439 \\u043F\\u0443\\u0442\\u044C: {1}\",\"{0} \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0432 {1}, \\u043F\\u043E\\u043B\\u043D\\u044B\\u0439 \\u043F\\u0443\\u0442\\u044C: {2} \",\"\\u0420\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u044B \\u043D\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u044B\",\"\\u041E\\u0431\\u043D\\u0430\\u0440\\u0443\\u0436\\u0435\\u043D 1 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u0432 {0}\",\"\\u041E\\u0431\\u043D\\u0430\\u0440\\u0443\\u0436\\u0435\\u043D\\u043E {0} \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0432 {1}\",\"\\u041E\\u0431\\u043D\\u0430\\u0440\\u0443\\u0436\\u0435\\u043D\\u043E {0} \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0432 {1} \\u0444\\u0430\\u0439\\u043B\\u0430\\u0445\",\"\\u0421\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442 \\u043B\\u0438 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432, \\u043A \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u043C \\u043C\\u043E\\u0436\\u043D\\u043E \\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B {0} \\u0438\\u0437 {1}, {2} \\u0434\\u043B\\u044F \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0433\\u043E\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B {0} \\u0438\\u0437 {1}\",\"\\u0423\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C \\u0443\\u0440\\u043E\\u0432\\u0435\\u043D\\u044C \\u0434\\u0435\\u0442\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F\",\"\\u0423\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C \\u0443\\u0440\\u043E\\u0432\\u0435\\u043D\\u044C \\u0434\\u0435\\u0442\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0438\\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0432\\u0435\\u0441\\u0442\\u0438 \\u043D\\u0430 \\u043D\\u0435\\u0433\\u043E \\u0444\\u043E\\u043A\\u0443\\u0441\",\"\\u041F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044C \\u043C\\u044B\\u0448\\u0438 \\u043D\\u0435 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F.\",\"\\u041F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043C\\u044B\\u0448\\u0438 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u043F\\u0440\\u043E\\u0438\\u0437\\u043E\\u0439\\u0434\\u0435\\u0442 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D \\u0443\\u0436\\u0435 \\u0432\\u0438\\u0434\\u0435\\u043D.\",\"\\u041A\\u043E\\u0433\\u0434\\u0430 \\u043E\\u043D \\u043F\\u043E\\u044F\\u0432\\u0438\\u0442\\u0441\\u044F, \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043C\\u044B\\u0448\\u0438 \\u043F\\u0440\\u043E\\u0438\\u0437\\u043E\\u0439\\u0434\\u0435\\u0442 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u0430\\u044F \\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0439 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440 \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u043C\\u044B\\u0448\\u0438\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432\\u0432\\u0435\\u0440\\u0445\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432\\u043D\\u0438\\u0437\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432\\u043B\\u0435\\u0432\\u043E\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432\\u043F\\u0440\\u0430\\u0432\\u043E\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043D\\u0430 \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0443 \\u0432\\u0432\\u0435\\u0440\\u0445 \\u0432 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043D\\u0430 \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0443 \\u0432\\u043D\\u0438\\u0437 \\u0432 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0432\\u0435\\u0440\\u0445\\u043D\\u0435\\u043C\\u0443 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044E\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043D\\u0438\\u0436\\u043D\\u0435\\u043C\\u0443 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044E\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0438\\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043D\\u0435\\u0441\\u0442\\u0438 \\u043D\\u0430 \\u043D\\u0435\\u0433\\u043E \\u0444\\u043E\\u043A\\u0443\\u0441. \\u0412 \\u044D\\u0442\\u043E\\u043C \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u0430\\u0446\\u0438\\u044F, \\u0441\\u0441\\u044B\\u043B\\u043A\\u0438 \\u0438 \\u0434\\u0440\\u0443\\u0433\\u043E\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430 \\u0432 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0439 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0439 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440 \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u0432\\u0432\\u0435\\u0440\\u0445 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u0432\\u043D\\u0438\\u0437 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u0432\\u043B\\u0435\\u0432\\u043E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u041F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u0438\\u0442\\u044C \\u0432\\u043F\\u0440\\u0430\\u0432\\u043E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u041F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0430\\u044F \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438.\",\"\\u0421\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0430\\u044F \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0432\\u0435\\u0440\\u0445\\u043D\\u0435\\u0439 \\u0447\\u0430\\u0441\\u0442\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043D\\u0438\\u0436\\u043D\\u0435\\u0439 \\u0447\\u0430\\u0441\\u0442\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0435\\u043D\\u0438\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0434\\u0435\\u0442\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u0441\\u043D\\u0438\\u0436\\u0435\\u043D\\u0438\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0434\\u0435\\u0442\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u0417\\u0430\\u0433\\u0440\\u0443\\u0437\\u043A\\u0430...\",\"\\u041E\\u0442\\u0440\\u0438\\u0441\\u043E\\u0432\\u043A\\u0430 \\u043F\\u0440\\u0438\\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0434\\u043B\\u0438\\u043D\\u043D\\u043E\\u0439 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0438\\u0437 \\u0441\\u043E\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0440\\u043E\\u0438\\u0437\\u0432\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u0438. \\u042D\\u0442\\u043E \\u043C\\u043E\\u0436\\u043D\\u043E \\u043D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0438\\u0442\\u044C \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 editor.stopRenderingLineAfter.\",'\\u0420\\u0430\\u0437\\u043C\\u0435\\u0442\\u043A\\u0430 \\u043F\\u0440\\u043E\\u043F\\u0443\\u0441\\u043A\\u0430\\u0435\\u0442\\u0441\\u044F \\u0434\\u043B\\u044F \\u0434\\u043B\\u0438\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A \\u0438\\u0437 \\u0441\\u043E\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0440\\u043E\\u0438\\u0437\\u0432\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u0438. \\u042D\\u0442\\u043E \\u043C\\u043E\\u0436\\u043D\\u043E \\u043D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0438\\u0442\\u044C \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \"editor.maxTokenizationLineLength\".',\"\\u0423\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C \\u0443\\u0440\\u043E\\u0432\\u0435\\u043D\\u044C \\u0434\\u0435\\u0442\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 ({0})\",\"\\u0423\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C \\u0443\\u0440\\u043E\\u0432\\u0435\\u043D\\u044C \\u0434\\u0435\\u0442\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438\",\"\\u0423\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C \\u0443\\u0440\\u043E\\u0432\\u0435\\u043D\\u044C \\u0434\\u0435\\u0442\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 ({0})\",\"\\u0423\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C \\u0443\\u0440\\u043E\\u0432\\u0435\\u043D\\u044C \\u0434\\u0435\\u0442\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438\",\"\\u041F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0435\\u0442\\u044C \\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C\\u0443\",\"\\u0418\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u043D\\u0435\\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\",\"\\u041F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0430 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u044F \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0439...\",\"\\u0418\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u043D\\u0435\\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u043D\\u044B\",\"\\u0411\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435...\",\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F \\u0432 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B\",\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F \\u0432 \\u0448\\u0430\\u0433\\u0438 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438\",\"\\u041D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0430\\u0433\\u0430 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438\",\"\\u0420\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E\",\"\\u0422\\u0435\\u043A\\u0443\\u0449\\u0438\\u0439 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0448\\u0430\\u0433\\u0430 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u0444\\u0430\\u0439\\u043B\\u0430\",\"\\u041E\\u0442\\u0441\\u0442\\u0443\\u043F \\u0441 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438\",\"\\u041E\\u0442\\u0441\\u0442\\u0443\\u043F \\u0441 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u043E\\u0432\",\"\\u0418\\u0437\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u043C\\u044B\\u0439 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430 \\u043E\\u0442 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E\",\"\\u041F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u0440\\u0430\\u0441\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u0441\\u0442\\u0440\\u043E\\u043A\",\"\\u041F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u0440\\u0430\\u0441\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u0434\\u043B\\u044F \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A\",\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0435\\u0439 \\u0432 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B.\",\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u0430\\u043C\\u0438 \\u0432 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u044E.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u044E \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u044B \\u0434\\u043B\\u044F \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u043E\\u0432.\",\"\\u0418\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0435 \\u044D\\u043A\\u0432\\u0438\\u0432\\u0430\\u043B\\u0435\\u043D\\u0442\\u0430 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 \\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u0430 \\u0434\\u043B\\u044F \\u0432\\u043A\\u043B\\u0430\\u0434\\u043A\\u0438.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430 \\u043E\\u0442 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E.\",\"\\u041F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u043A \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u041F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u044B \\u043A \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u043C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0414\\u0432\\u0430\\u0436\\u0434\\u044B \\u0449\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0432\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\",\"CMD + \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A\",\"CTRL + \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A\",\"OPTION + \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A\",\"ALT + \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E ({0}), \\u0449\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435 \\u043F\\u0440\\u0430\\u0432\\u043E\\u0439 \\u043A\\u043D\\u043E\\u043F\\u043A\\u043E\\u0439 \\u043C\\u044B\\u0448\\u0438 \\u0434\\u043B\\u044F \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0439\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E ({0})\",\"\\u0412\\u044B\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u044C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0443\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0442\\u044C \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0435 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0435 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\",\"\\u0410\\u043A\\u0442\\u0438\\u0432\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\",\"\\u041F\\u0440\\u0438\\u043D\\u044F\\u0442\\u044C \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0435 \\u0441\\u043B\\u043E\\u0432\\u043E \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\",\"\\u041F\\u0440\\u0438\\u043D\\u044F\\u0442\\u044C \\u0441\\u043B\\u043E\\u0432\\u043E\",\"\\u041F\\u0440\\u0438\\u043D\\u044F\\u0442\\u044C \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\",\"\\u041F\\u0440\\u0438\\u043D\\u044F\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443\",\"\\u041F\\u0440\\u0438\\u043D\\u044F\\u0442\\u044C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\",\"\\u041F\\u0440\\u0438\\u043D\\u044F\\u0442\\u044C\",\"\\u0421\\u043A\\u0440\\u044B\\u0442\\u044C \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\",\"\\u0412\\u0441\\u0435\\u0433\\u0434\\u0430 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043F\\u0430\\u043D\\u0435\\u043B\\u044C \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\",\"\\u041D\\u0430\\u0447\\u0438\\u043D\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0441 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B\\u0430\",\"\\u041F\\u0440\\u043E\\u0432\\u0435\\u0440\\u044F\\u0435\\u0442, \\u043D\\u0435 \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u0440\\u043E\\u0431\\u0435\\u043B \\u043F\\u0435\\u0440\\u0435\\u0434 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u043E\\u0439 \\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0430\\u0446\\u0438\\u0435\\u0439 \\u043A\\u043E\\u0440\\u043E\\u0447\\u0435, \\u0447\\u0435\\u043C \\u0442\\u0435\\u043A\\u0441\\u0442, \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u043C\\u044B\\u0439 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435\\u0439 TAB\",\"\\u0421\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u043F\\u043E\\u0434\\u0430\\u0432\\u043B\\u044F\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\",\"\\u041F\\u0440\\u043E\\u0432\\u0435\\u0440\\u0438\\u0442\\u044C \\u044D\\u0442\\u043E\\u0442 \\u0430\\u0441\\u043F\\u0435\\u043A\\u0442 \\u0432 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0438 \\u0441 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u043A\\u043E\\u0439 \\u0441\\u043F\\u0435\\u0446\\u0438\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u0435\\u0439 ({0})\",\"\\u041F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435:\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0433\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0433\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430.\",\"{0} ({1})\",\"\\u041D\\u0430\\u0437\\u0430\\u0434\",\"\\u0414\\u0430\\u043B\\u0435\\u0435\",null,null,null,null,null,null,null,null,\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0438\\u043C \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435\\u043C\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0438\\u043C \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435\\u043C\",\"\\u0420\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0441\\u0432\\u0435\\u0440\\u0445\\u0443\",\"&&\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u043D\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0432\\u044B\\u0448\\u0435\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0441\\u043D\\u0438\\u0437\\u0443\",\"\\u041A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u043D\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 &&\\u043D\\u0438\\u0436\\u0435\",\"\\u0414\\u0443\\u0431\\u043B\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0435\",\"&&\\u0414\\u0443\\u0431\\u043B\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0432\\u0432\\u0435\\u0440\\u0445\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u043D\\u0430 \\u0441&&\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0432\\u044B\\u0448\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0432\\u043D\\u0438\\u0437\",\"&&\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u043D\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u043D\\u0438\\u0436\\u0435\",\"\\u0421\\u043E\\u0440\\u0442\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A \\u043F\\u043E \\u0432\\u043E\\u0437\\u0440\\u0430\\u0441\\u0442\\u0430\\u043D\\u0438\\u044E\",\"\\u0421\\u043E\\u0440\\u0442\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A \\u043F\\u043E \\u0443\\u0431\\u044B\\u0432\\u0430\\u043D\\u0438\\u044E\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0434\\u0443\\u0431\\u043B\\u0438\\u0440\\u0443\\u044E\\u0449\\u0438\\u0435\\u0441\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u043A\\u043E\\u043D\\u0435\\u0447\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B-\\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u0438\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443\",\"\\u0423\\u0432\\u0435\\u043B\\u0438\\u0447\\u0438\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\",\"\\u0423\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0432\\u044B\\u0448\\u0435\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u043D\\u0438\\u0436\\u0435\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0441\\u043B\\u0435\\u0432\\u0430\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0441\\u043F\\u0440\\u0430\\u0432\\u0430\",\"_\\u041E\\u0431\\u044A\\u0435\\u0434\\u0438\\u043D\\u0438\\u0442\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u0422\\u0440\\u0430\\u043D\\u0441\\u043F\\u043E\\u043D\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0432\\u043E\\u043A\\u0440\\u0443\\u0433 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430\",\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432 \\u0432\\u0435\\u0440\\u0445\\u043D\\u0438\\u0439 \\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\",\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432 \\u043D\\u0438\\u0436\\u043D\\u0438\\u0439 \\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\",\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432 \\u0437\\u0430\\u0433\\u043B\\u0430\\u0432\\u043D\\u044B\\u0435 \\u0431\\u0443\\u043A\\u0432\\u044B\",\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432 \\u043D\\u0430\\u043F\\u0438\\u0441\\u0430\\u043D\\u0438\\u0435 \\u0441 \\u043F\\u043E\\u0434\\u0447\\u0435\\u0440\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u044F\\u043C\\u0438\",'\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432 \"\\u0432\\u0435\\u0440\\u0431\\u043B\\u044E\\u0436\\u0438\\u0439\" \\u0441\\u0442\\u0438\\u043B\\u044C','\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432 \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442 \"\\u041A\\u0430\\u0436\\u0434\\u0430\\u044F\\u0427\\u0430\\u0441\\u0442\\u044C\\u0421\\u041F\\u0440\\u043E\\u043F\\u0438\\u0441\\u043D\\u043E\\u0439\\u0411\\u0443\\u043A\\u0432\\u044B\"',\"\\u041F\\u0440\\u0435\\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0432 \\u043A\\u0435\\u0431\\u0430\\u0431-\\u043A\\u0435\\u0439\\u0441\",\"\\u0417\\u0430\\u043F\\u0443\\u0441\\u0442\\u0438\\u0442\\u044C \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u043E\\u0435 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u0440\\u0438 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u043C \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u0438 \\u0442\\u0438\\u043F\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u043E\\u043C.\",\"\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0441\\u0441\\u044B\\u043B\\u043A\\u0443, \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u043E\\u043D\\u0430 \\u0438\\u043C\\u0435\\u0435\\u0442 \\u043D\\u0435\\u043F\\u0440\\u0430\\u0432\\u0438\\u043B\\u044C\\u043D\\u044B\\u0439 \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442: {0}\",\"\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0441\\u0441\\u044B\\u043B\\u043A\\u0443, \\u0443 \\u043D\\u0435\\u0435 \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u0446\\u0435\\u043B\\u0435\\u0432\\u043E\\u0439 \\u043E\\u0431\\u044A\\u0435\\u043A\\u0442.\",\"\\u0412\\u044B\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u044C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0443\",\"\\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043F\\u043E \\u0441\\u0441\\u044B\\u043B\\u043A\\u0435\",\"\\u041A\\u043D\\u043E\\u043F\\u043A\\u0430 CMD \\u0438 \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A \\u043B\\u0435\\u0432\\u043E\\u0439 \\u043A\\u043D\\u043E\\u043F\\u043A\\u043E\\u0439 \\u043C\\u044B\\u0448\\u0438\",\"\\u041A\\u043D\\u043E\\u043F\\u043A\\u0430 CTRL \\u0438 \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A \\u043B\\u0435\\u0432\\u043E\\u0439 \\u043A\\u043D\\u043E\\u043F\\u043A\\u043E\\u0439 \\u043C\\u044B\\u0448\\u0438\",\"\\u041A\\u043D\\u043E\\u043F\\u043A\\u0430 OPTION \\u0438 \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A \\u043B\\u0435\\u0432\\u043E\\u0439 \\u043A\\u043D\\u043E\\u043F\\u043A\\u043E\\u0439 \\u043C\\u044B\\u0448\\u0438\",\"\\u041A\\u043D\\u043E\\u043F\\u043A\\u0430 ALT \\u0438 \\u0449\\u0435\\u043B\\u0447\\u043E\\u043A \\u043B\\u0435\\u0432\\u043E\\u0439 \\u043A\\u043D\\u043E\\u043F\\u043A\\u043E\\u0439 \\u043C\\u044B\\u0448\\u0438\",\"\\u0412\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u0435 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B {0}\",\"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0441\\u0441\\u044B\\u043B\\u043A\\u0443\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0441\\u0435\\u0439\\u0447\\u0430\\u0441 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0435\\u0435 \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u0435\",\"\\u041A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u0435\\u043D: {0}\",\"\\u041A\\u0443\\u0440\\u0441\\u043E\\u0440\\u044B \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u0435\\u043D\\u044B: {0}\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u0432\\u044B\\u0448\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 &&\\u0432\\u044B\\u0448\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043D\\u0438\\u0436\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 &&\\u043D\\u0438\\u0436\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u044B \\u043A \\u043E\\u043A\\u043E\\u043D\\u0447\\u0430\\u043D\\u0438\\u044F\\u043C \\u0441\\u0442\\u0440\\u043E\\u043A\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u044B \\u0432 &&\\u043E\\u043A\\u043E\\u043D\\u0447\\u0430\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u044B \\u043D\\u0438\\u0436\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u044B \\u0432\\u044B\\u0448\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043D\\u043E\\u0435 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C &&\\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0435 \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442 \\u0432 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043D\\u043E\\u0435 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u0414\\u043E\\u0431\\u0430\\u0432\\u0438\\u0442\\u044C &&\\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0435 \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0435\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043D\\u043E\\u0435 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0438\\u0439 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442 \\u0432 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0435 \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043D\\u043E\\u0435 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u043D\\u0430\\u0439\\u0434\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u0432\\u0441\\u0435 &&\\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F\",\"\\u0418\\u0437\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u043D\\u0430 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0435\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u0443\\u0435\\u0442\\u0441\\u044F \\u043D\\u0430 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0435\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u043D\\u0430 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0435\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u0443\\u0435\\u0442\\u0441\\u044F \\u043D\\u0430 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0435\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u043A \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430\\u043C\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0433\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043A\\u0438 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0433\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430.\",\"{0}, \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0435\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0432 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0438 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430.\",\"\\u0412\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D \\u043B\\u0438 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0438\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043A\\u043E\\u0434\\u0430 \\u0432 \\u043E\\u043A\\u043D\\u043E \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430\",\"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043E \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u0438 \\u043C\\u0430\\u0441\\u0441\\u0438\\u0432\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0443\\u0437\\u043B\\u043E\\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0443\\u0437\\u043B\\u043E\\u0432 \\u0444\\u0430\\u0439\\u043B\\u0430 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0439 \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0439 \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u043E\\u043B\\u044F \\u0432 \\u043E\\u043A\\u043D\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u044F \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432 \\u043E\\u043A\\u043D\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0435 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0413\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0437\\u0430\\u043C\\u0435\\u0449\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0427\\u0442\\u043E\\u0431\\u044B \\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435, \\u0441\\u043D\\u0430\\u0447\\u0430\\u043B\\u0430 \\u043E\\u0442\\u043A\\u0440\\u043E\\u0439\\u0442\\u0435 \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u044B\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0434\\u0438\\u0442\\u0435 \\u043A \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435 {0} \\u0438 \\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u0443 {1}.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435 {0}.\",\"\\u0422\\u0435\\u043A\\u0443\\u0449\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430: {0}, \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B: {1}. \\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u043D\\u043E\\u043C\\u0435\\u0440 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u043C\\u0435\\u0436\\u0434\\u0443 1 \\u0438 {2} \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0430.\",\"\\u0422\\u0435\\u043A\\u0443\\u0449\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430: {0}, \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B: {1}. \\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u043D\\u043E\\u043C\\u0435\\u0440 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0430.\",\"\\u0427\\u0442\\u043E\\u0431\\u044B \\u043F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0443, \\u0441\\u043D\\u0430\\u0447\\u0430\\u043B\\u0430 \\u043E\\u0442\\u043A\\u0440\\u043E\\u0439\\u0442\\u0435 \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u044B\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0441 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044C\\u043D\\u043E\\u0439 \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u0435\\u0439.\",\"\\u0410\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u044B\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u043D\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043E\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044C\\u043D\\u0443\\u044E \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u044E.\",\"\\u041D\\u0435\\u0442 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0430\\u044E\\u0449\\u0438\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u041D\\u0435\\u0442 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0441\\u0431\\u043E\\u043A\\u0443\",\"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0432\\u043D\\u0438\\u0437\\u0443\",\"\\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B ({0})\",\"\\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u0430 ({0})\",\"\\u043C\\u0435\\u0442\\u043E\\u0434\\u044B ({0})\",\"\\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u0438 ({0})\",\"\\u043A\\u043E\\u043D\\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u043E\\u0440\\u044B ({0})\",\"\\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u044B\\u0435 ({0})\",\"\\u043A\\u043B\\u0430\\u0441\\u0441\\u044B ({0})\",\"\\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u044B ({0})\",\"\\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u044F ({0})\",\"\\u043E\\u043F\\u0435\\u0440\\u0430\\u0442\\u043E\\u0440\\u044B ({0})\",\"\\u0438\\u043D\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u044B ({0})\",\"\\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u0430 \\u0438\\u043C\\u0435\\u043D ({0})\",\"\\u043F\\u0430\\u043A\\u0435\\u0442\\u044B ({0})\",\"\\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B \\u0442\\u0438\\u043F\\u0430 ({0})\",\"\\u043C\\u043E\\u0434\\u0443\\u043B\\u0438 ({0})\",\"\\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u0430 ({0})\",\"\\u043F\\u0435\\u0440\\u0435\\u0447\\u0438\\u0441\\u043B\\u0435\\u043D\\u0438\\u044F ({0})\",\"\\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 \\u043F\\u0435\\u0440\\u0435\\u0447\\u0438\\u0441\\u043B\\u0435\\u043D\\u0438\\u044F ({0})\",\"\\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 ({0})\",\"\\u0444\\u0430\\u0439\\u043B\\u044B ({0})\",\"\\u043C\\u0430\\u0441\\u0441\\u0438\\u0432\\u044B ({0})\",\"\\u0447\\u0438\\u0441\\u043B\\u0430 ({0})\",\"\\u043B\\u043E\\u0433\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438\\u0435 \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F ({0})\",\"\\u043E\\u0431\\u044A\\u0435\\u043A\\u0442\\u044B ({0})\",\"\\u043A\\u043B\\u044E\\u0447\\u0438 ({0})\",\"\\u043F\\u043E\\u043B\\u044F ({0})\",\"\\u043A\\u043E\\u043D\\u0441\\u0442\\u0430\\u043D\\u0442\\u044B ({0})\",\"\\u041D\\u0435 \\u0443\\u0434\\u0430\\u0435\\u0442\\u0441\\u044F \\u0432\\u043D\\u0435\\u0441\\u0442\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u0432\\u043E \\u0432\\u0445\\u043E\\u0434\\u043D\\u044B\\u0435 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0435 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0434\\u043B\\u044F \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F\",\"\\u041D\\u0435 \\u0443\\u0434\\u0430\\u0435\\u0442\\u0441\\u044F \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u044C \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0434\\u043B\\u044F \\u0447\\u0442\\u0435\\u043D\\u0438\\u044F\",\"\\u0420\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u044B \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442.\",\"\\u041F\\u0440\\u043E\\u0438\\u0437\\u043E\\u0448\\u043B\\u0430 \\u043D\\u0435\\u0438\\u0437\\u0432\\u0435\\u0441\\u0442\\u043D\\u0430\\u044F \\u043E\\u0448\\u0438\\u0431\\u043A\\u0430 \\u043F\\u0440\\u0438 \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0438 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E\\u0441\\u043B\\u0435 \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F\",'\\u041F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435 \"{0}\" \\u0432 \"{1}\"',\"\\u041F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435 {0} \\u0432 {1}\",\"\\xAB{0}\\xBB \\u0443\\u0441\\u043F\\u0435\\u0448\\u043D\\u043E \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D \\u0432 \\xAB{1}\\xBB. \\u0421\\u0432\\u043E\\u0434\\u043A\\u0430: {2}\",\"\\u041E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u043D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u043F\\u0440\\u0430\\u0432\\u043A\\u0438\",\"\\u041E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u043D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u0432\\u044B\\u0447\\u0438\\u0441\\u043B\\u0438\\u0442\\u044C \\u043F\\u0440\\u0430\\u0432\\u043A\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C/\\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E\\u0441\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0433\\u043E \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0435\\u0440\\u0435\\u0434 \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u0435\\u043C\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u043D\\u0430 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u043E \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044E\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0430 \\u043D\\u0430 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0432\\u0445\\u043E\\u0434\\u043D\\u044B\\u0445 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0445\",\"\\u0424\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u0443\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F \\u0432\\u0445\\u043E\\u0434\\u043D\\u044B\\u0445 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0445\",\"\\u041D\\u0430\\u0436\\u043C\\u0438\\u0442\\u0435 {0} \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044F, {1} \\u0434\\u043B\\u044F \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430.\",\"\\u041F\\u043E\\u043B\\u0443\\u0447\\u0435\\u043D\\u043E \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E ({0}) \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u043F\\u043E \\u043F\\u0435\\u0440\\u0435\\u0438\\u043C\\u0435\\u043D\\u043E\\u0432\\u0430\\u043D\\u0438\\u044E\",\"\\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u043D\\u043E\\u0432\\u043E\\u0435 \\u0438\\u043C\\u044F \\u0434\\u043B\\u044F \\u0432\\u0445\\u043E\\u0434\\u043D\\u044B\\u0445 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0445 \\u0438 \\u043D\\u0430\\u0436\\u043C\\u0438\\u0442\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0443 \\u0412\\u0412\\u041E\\u0414 \\u0434\\u043B\\u044F \\u043F\\u043E\\u0434\\u0442\\u0432\\u0435\\u0440\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u0413\\u0435\\u043D\\u0435\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u043D\\u043E\\u0432\\u044B\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0438\\u043C\\u0435\\u043D\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0430\",\"\\u0420\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u044B\\u0439 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\",\"&&\\u0420\\u0430\\u0437\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u0423\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0439 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\",\"&&\\u0421\\u0436\\u0430\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0438\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440 \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u0423\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442, \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0430\\u044F \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u044F \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u0423\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442, \\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0430\\u044F \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u044F \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443 \\u0437\\u0430\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044E...\",\"\\u0432\\u043E\\u0441\\u043A\\u0440\\u0435\\u0441\\u0435\\u043D\\u044C\\u0435\",\"\\u043F\\u043E\\u043D\\u0435\\u0434\\u0435\\u043B\\u044C\\u043D\\u0438\\u043A\",\"\\u0432\\u0442\\u043E\\u0440\\u043D\\u0438\\u043A\",\"\\u0441\\u0440\\u0435\\u0434\\u0430\",\"\\u0447\\u0435\\u0442\\u0432\\u0435\\u0440\\u0433\",\"\\u043F\\u044F\\u0442\\u043D\\u0438\\u0446\\u0430\",\"\\u0441\\u0443\\u0431\\u0431\\u043E\\u0442\\u0430\",\"\\u0412\\u0441\",\"\\u041F\\u043D\",\"\\u0412\\u0442\",\"\\u0421\\u0440\",\"\\u0427\\u0442\",\"\\u041F\\u0442\",\"\\u0421\\u0431\",\"\\u042F\\u043D\\u0432\\u0430\\u0440\\u044C\",\"\\u0424\\u0435\\u0432\\u0440\\u0430\\u043B\\u044C\",\"\\u041C\\u0430\\u0440\\u0442\",\"\\u0410\\u043F\\u0440\\u0435\\u043B\\u044C\",\"\\u041C\\u0430\\u0439\",\"\\u0418\\u044E\\u043D\\u044C\",\"\\u0418\\u044E\\u043B\\u044C\",\"\\u0410\\u0432\\u0433\\u0443\\u0441\\u0442\",\"\\u0421\\u0435\\u043D\\u0442\\u044F\\u0431\\u0440\\u044C\",\"\\u041E\\u043A\\u0442\\u044F\\u0431\\u0440\\u044C\",\"\\u041D\\u043E\\u044F\\u0431\\u0440\\u044C\",\"\\u0414\\u0435\\u043A\\u0430\\u0431\\u0440\\u044C\",\"\\u042F\\u043D\\u0432\",\"\\u0424\\u0435\\u0432\",\"\\u041C\\u0430\\u0440\",\"\\u0410\\u043F\\u0440\",\"\\u041C\\u0430\\u0439\",\"\\u0418\\u044E\\u043D\",\"\\u0418\\u044E\\u043B\",\"\\u0410\\u0432\\u0433\",\"\\u0421\\u0435\\u043D\",\"\\u041E\\u043A\\u0442\",\"\\u041D\\u043E\\u044F\",\"\\u0414\\u0435\\u043A\",\"&&\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043B\\u0438\\u043F\\u043A\\u0443\\u044E \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0443 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0417\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u0435 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438\",\"&&\\u0417\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u0435 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438\",\"&&\\u0424\\u043E\\u043A\\u0443\\u0441 \\u043D\\u0430 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u0438 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u0435 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0438\\u043B\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u044F \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u043A\\u043E\\u0442\\u043E\\u0440\\u0430\\u044F \\u043F\\u043E\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442 \\u0432\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 \\u0432 \\u0432\\u0435\\u0440\\u0445\\u043D\\u0435\\u0439 \\u0447\\u0430\\u0441\\u0442\\u0438 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430.\",\"\\u0424\\u043E\\u043A\\u0443\\u0441 \\u043D\\u0430 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u0438 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0443\\u044E \\u043B\\u0438\\u043D\\u0438\\u044E \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u044F \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0443\\u044E \\u0441\\u0442\\u0440\\u043E\\u043A\\u0443 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u044F \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u044F \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438, \\u043A\\u043E\\u0442\\u043E\\u0440\\u0430\\u044F \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435\",\"\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043A\\u0430\\u043A\\u043E\\u0435-\\u043B\\u0438\\u0431\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u0445\",\"\\u0421\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430\",\"\\u041F\\u0440\\u0438\\u0432\\u043E\\u0434\\u0438\\u0442 \\u043B\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0430 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043A \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044E \\u0438\\u043B\\u0438 \\u0432\\u0441\\u0435 \\u0443\\u0436\\u0435 \\u0431\\u044B\\u043B\\u043E \\u0432\\u0432\\u0435\\u0434\\u0435\\u043D\\u043E\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u043B\\u044F\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 \\u0412\\u0412\\u041E\\u0414\",'\\u0415\\u0441\\u0442\\u044C \\u043B\\u0438 \\u0443 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0432\\u0430\\u0440\\u0438\\u0430\\u043D\\u0442\\u044B \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0430\" \\u0438 \"\\u0437\\u0430\\u043C\\u0435\\u043D\\u0430\"','\\u042F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0435 \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0435\\u043C \"\\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0430\" \\u0438\\u043B\\u0438 \"\\u0437\\u0430\\u043C\\u0435\\u043D\\u0430\"',\"\\u041F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u0442 \\u043B\\u0438 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0435 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u0438\\u0435 \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0439\",'\\u041F\\u0440\\u0438\\u043D\\u044F\\u0442\\u0438\\u0435 \"{0}\" \\u043F\\u0440\\u0438\\u0432\\u0435\\u043B\\u043E \\u043A \\u0432\\u043D\\u0435\\u0441\\u0435\\u043D\\u0438\\u044E \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043F\\u0440\\u0430\\u0432\\u043E\\u043A ({1})',\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"\\u0417\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044C\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043C\\u0435\\u043D\\u044C\\u0448\\u0435\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u0431\\u043E\\u043B\\u044C\\u0448\\u0435\",\"\\u0421\\u0431\\u0440\\u043E\\u0441 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u0430 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446 \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u0430 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0439 \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0439 \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0439 \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u0445 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043E\\u0441\\u0442\\u043E\\u044F\\u043D\\u0438\\u044F \\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0430\\u0446\\u0438\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F.\",\"\\u0417\\u0430\\u0433\\u0440\\u0443\\u0437\\u043A\\u0430...\",\"\\u041F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442.\",\"\\u041F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0438\\u0442\\u044C\",\"{0} {1}, {2}\",\"{0} {1}\",\"{0}, {1}\",\"{0}, \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442\\u044B: {1}\",\"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\",\"\\u0417\\u0430\\u0433\\u0440\\u0443\\u0437\\u043A\\u0430...\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043F\\u043E\\u043B\\u0443\\u0447\\u0435\\u043D\\u0438\\u044F \\u0434\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u041F\\u043E\\u0434\\u0440\\u043E\\u0431\\u043D\\u0435\\u0435\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043C\\u0430\\u0441\\u0441\\u0438\\u0432\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043B\\u043E\\u0433\\u0438\\u0447\\u0435\\u0441\\u043A\\u0438\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043A\\u043B\\u0430\\u0441\\u0441\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0446\\u0432\\u0435\\u0442\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043A\\u043E\\u043D\\u0441\\u0442\\u0430\\u043D\\u0442\\u044B. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043A\\u043E\\u043D\\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u043E\\u0440\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043F\\u0435\\u0440\\u0435\\u0447\\u0438\\u0441\\u043B\\u0438\\u0442\\u0435\\u043B\\u044F. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0447\\u043B\\u0435\\u043D\\u0430 \\u043F\\u0435\\u0440\\u0435\\u0447\\u0438\\u0441\\u043B\\u0438\\u0442\\u0435\\u043B\\u044F. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u044F. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043F\\u043E\\u043B\\u044F. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0444\\u0430\\u0439\\u043B\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043F\\u0430\\u043F\\u043A\\u0438. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0444\\u0443\\u043D\\u043A\\u0446\\u0438\\u0438. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0438\\u043D\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043A\\u043B\\u044E\\u0447\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043A\\u043B\\u044E\\u0447\\u0435\\u0432\\u043E\\u0433\\u043E \\u0441\\u043B\\u043E\\u0432\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043C\\u0435\\u0442\\u043E\\u0434\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043C\\u043E\\u0434\\u0443\\u043B\\u044F. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0441\\u0442\\u0432\\u0430 \\u0438\\u043C\\u0435\\u043D. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 NULL. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0447\\u0438\\u0441\\u043B\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043E\\u0431\\u044A\\u0435\\u043A\\u0442\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0442\\u043E\\u0440\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043F\\u0430\\u043A\\u0435\\u0442\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0441\\u0441\\u044B\\u043B\\u043A\\u0438. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430 \\u043A\\u043E\\u0434\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u044B. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0442\\u0438\\u043F\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0435\\u0434\\u0438\\u043D\\u0438\\u0446. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u043E\\u0439. \\u042D\\u0442\\u0438 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u0432 \\u0441\\u0442\\u0440\\u0443\\u043A\\u0442\\u0443\\u0440\\u0435, \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439.\",\"\\u041F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 TAB \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043F\\u0435\\u0440\\u0435\\u0439\\u0434\\u0435\\u0442 \\u043D\\u0430 \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0438\\u0439 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u043C\\u043E\\u0436\\u0435\\u0442 \\u043F\\u043E\\u043B\\u0443\\u0447\\u0438\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441\",\"\\u0422\\u0435\\u043F\\u0435\\u0440\\u044C \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 TAB \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 TAB \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0430\\u0435\\u0442 \\u0444\\u043E\\u043A\\u0443\\u0441.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 TAB: \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u0438\\u0435 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0430 \\u043F\\u043E \\u0440\\u0430\\u0431\\u043E\\u0447\\u0435\\u043C\\u0443 \\u0438\\u043D\\u0442\\u0435\\u0440\\u0444\\u0435\\u0439\\u0441\\u0443 \\u0438\\u043B\\u0438 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043A\\u0430 \\u0437\\u043D\\u0430\\u043A\\u0430 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0432 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u042D\\u0442\\u043E \\u0442\\u0430\\u043A\\u0436\\u0435 \\u043D\\u0430\\u0437\\u044B\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F \\u0437\\u0430\\u0445\\u0432\\u0430\\u0442\\u043E\\u043C \\u0444\\u043E\\u043A\\u0443\\u0441\\u0430 \\u043D\\u0430 \\u0432\\u043A\\u043B\\u0430\\u0434\\u043A\\u0430\\u0445, \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0435\\u0439 \\u043F\\u043E \\u0432\\u043A\\u043B\\u0430\\u0434\\u043A\\u0430\\u043C \\u0438\\u043B\\u0438 \\u0440\\u0435\\u0436\\u0438\\u043C\\u043E\\u043C \\u0444\\u043E\\u043A\\u0443\\u0441\\u0438\\u0440\\u043E\\u0432\\u043A\\u0438 \\u043D\\u0430 \\u0432\\u043A\\u043B\\u0430\\u0434\\u043A\\u0430\\u0445.\",\"\\u0420\\u0430\\u0437\\u0440\\u0430\\u0431\\u043E\\u0442\\u0447\\u0438\\u043A: \\u043F\\u0440\\u0438\\u043D\\u0443\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u0430\\u044F \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u0430\\u044F \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043A\\u0430 \\u0442\\u043E\\u043A\\u0435\\u043D\\u043E\\u0432\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u043C\\u044B\\u0439 \\u0441 \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\\u043C \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043D\\u0438\\u0439.\",\"\\u042D\\u0442\\u043E\\u0442 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u0442 \\u043C\\u043D\\u043E\\u0433\\u043E \\u043D\\u0435\\u0441\\u0442\\u0430\\u043D\\u0434\\u0430\\u0440\\u0442\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0430 ASCII\",\"\\u042D\\u0442\\u043E\\u0442 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u0442 \\u043C\\u043D\\u043E\\u0433\\u043E \\u043D\\u0435\\u043E\\u0434\\u043D\\u043E\\u0437\\u043D\\u0430\\u0447\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0430\",\"\\u042D\\u0442\\u043E\\u0442 \\u0434\\u043E\\u043A\\u0443\\u043C\\u0435\\u043D\\u0442 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u0442 \\u043C\\u043D\\u043E\\u0433\\u043E \\u043D\\u0435\\u0432\\u0438\\u0434\\u0438\\u043C\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0430\",\"\\u041D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0430\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B {0} \\u043C\\u043E\\u0436\\u043D\\u043E \\u0441\\u043F\\u0443\\u0442\\u0430\\u0442\\u044C \\u0441 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u043C ASCII {1}, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0447\\u0430\\u0449\\u0435 \\u0432\\u0441\\u0442\\u0440\\u0435\\u0447\\u0430\\u0435\\u0442\\u0441\\u044F \\u0432 \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u043E\\u043C \\u043A\\u043E\\u0434\\u0435.\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B {0} \\u043C\\u043E\\u0436\\u043D\\u043E \\u0441\\u043F\\u0443\\u0442\\u0430\\u0442\\u044C \\u0441 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u043C {1}, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0447\\u0430\\u0449\\u0435 \\u0432\\u0441\\u0442\\u0440\\u0435\\u0447\\u0430\\u0435\\u0442\\u0441\\u044F \\u0432 \\u0438\\u0441\\u0445\\u043E\\u0434\\u043D\\u043E\\u043C \\u043A\\u043E\\u0434\\u0435.\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B {0} \\u043D\\u0435\\u0432\\u0438\\u0434\\u0438\\u043C.\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B {0} \\u043D\\u0435 \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0431\\u0430\\u0437\\u043E\\u0432\\u044B\\u043C \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u043C ASCII.\",\"\\u041D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u044F\\u0445\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0432 \\u043A\\u043E\\u043C\\u043C\\u0435\\u043D\\u0442\\u0430\\u0440\\u0438\\u044F\\u0445\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u0445\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\\u0445\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0435\\u043E\\u0434\\u043D\\u043E\\u0437\\u043D\\u0430\\u0447\\u043D\\u043E\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0435\\u043E\\u0434\\u043D\\u043E\\u0437\\u043D\\u0430\\u0447\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043D\\u0435\\u0432\\u0438\\u0434\\u0438\\u043C\\u043E\\u0435 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0435\\u0432\\u0438\\u0434\\u0438\\u043C\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435, \\u043E\\u0442\\u043B\\u0438\\u0447\\u043D\\u043E\\u0435 \\u043E\\u0442 ASCII\",\"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043D\\u0435\\u0441\\u0442\\u0430\\u043D\\u0434\\u0430\\u0440\\u0442\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 ASCII\",\"\\u041F\\u043E\\u043A\\u0430\\u0437\\u0430\\u0442\\u044C \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B \\u0438\\u0441\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u044F\",\"\\u0418\\u0441\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C {0} (\\u043D\\u0435\\u0432\\u0438\\u0434\\u0438\\u043C\\u044B\\u0439 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B) \\u0438\\u0437 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F\",\"\\u0418\\u0441\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C {0} \\u0438\\u0437 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F\",'\\u0420\\u0430\\u0437\\u0440\\u0435\\u0448\\u0438\\u0442\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u042E\\u043D\\u0438\\u043A\\u043E\\u0434\\u0430, \\u0431\\u043E\\u043B\\u0435\\u0435 \\u0440\\u0430\\u0441\\u043F\\u0440\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0432 \\u044F\\u0437\\u044B\\u043A\\u0435 \"{0}\".',\"\\u041D\\u0435\\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u041E\\u0431\\u043D\\u0430\\u0440\\u0443\\u0436\\u0435\\u043D\\u044B \\u043D\\u0435\\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",`\\u0424\\u0430\\u0439\\u043B \"{0}\" \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u0442 \\u043E\\u0434\\u0438\\u043D \\u0438\\u043B\\u0438 \\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u043D\\u0435\\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438, \\u0442\\u0430\\u043A\\u0438\\u0445 \\u043A\\u0430\\u043A \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u044C \\u0441\\u0442\\u0440\\u043E\\u043A (LS) \\u0438\\u043B\\u0438 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u044C \\u0430\\u0431\\u0437\\u0430\\u0446\\u0435\\u0432 (PS).\\r\n\\r\n\\u0420\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0443\\u0435\\u0442\\u0441\\u044F \\u0443\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0438\\u0445 \\u0438\\u0437 \\u0444\\u0430\\u0439\\u043B\\u0430. \\u0423\\u0434\\u0430\\u043B\\u0435\\u043D\\u0438\\u0435 \\u044D\\u0442\\u0438\\u0445 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u043C\\u043E\\u0436\\u043D\\u043E \\u043D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0438\\u0442\\u044C \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 \"editor.unusualLineTerminators\".`,\"&&\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u043D\\u0435\\u043E\\u0431\\u044B\\u0447\\u043D\\u044B\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438\",\"\\u041F\\u0440\\u043E\\u043F\\u0443\\u0441\\u0442\\u0438\\u0442\\u044C\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430 \\u043F\\u0440\\u0438 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0435 \\u043D\\u0430 \\u0447\\u0442\\u0435\\u043D\\u0438\\u0435, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u043F\\u0440\\u0438 \\u0447\\u0442\\u0435\\u043D\\u0438\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u043E\\u0439. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430 \\u0432\\u043E \\u0432\\u0440\\u0435\\u043C\\u044F \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0430 \\u043D\\u0430 \\u0437\\u0430\\u043F\\u0438\\u0441\\u044C, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440 \\u043F\\u0440\\u0438 \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u0432 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u0443\\u044E. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u043E\\u0433\\u043E \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430 \\u043F\\u0440\\u0438 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0435 \\u043D\\u0430 \\u0447\\u0442\\u0435\\u043D\\u0438\\u0435, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u043F\\u0440\\u0438 \\u0441\\u0447\\u0438\\u0442\\u044B\\u0432\\u0430\\u043D\\u0438\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u043E\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430 \\u043F\\u0440\\u0438 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0435 \\u043D\\u0430 \\u0437\\u0430\\u043F\\u0438\\u0441\\u044C, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u043F\\u0440\\u0438 \\u0437\\u0430\\u043F\\u0438\\u0441\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u043D\\u043D\\u043E\\u0439. \",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u043E\\u0433\\u043E \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432 \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0430 \\u043D\\u0430 \\u0437\\u0430\\u043F\\u0438\\u0441\\u044C. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u043E\\u0433\\u043E \\u0432\\u0445\\u043E\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u0430. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432\",\"\\u041F\\u0435\\u0440\\u0435\\u0439\\u0442\\u0438 \\u043A \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C\\u0443 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044E \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432\",\"\\u0412\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0438\\u043B\\u0438 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u0432\",\"\\u0423\\u0434\\u0430\\u043B\\u0438\\u0442\\u044C \\u0441\\u043B\\u043E\\u0432\\u043E\",\"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430 \\u0432 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438\",\"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430\",\"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438\",\"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435\",\"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435\",\"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435\",\"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435\",\"\\u0421\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u0430\\u044F \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u044C \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435\",\"\\u0421\\u0432\\u0435\\u0440\\u043D\\u0443\\u0442\\u043E\",\"\\u0422\\u043E\\u0447\\u043A\\u0430 \\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0430 \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435\",\"\\u0422\\u043E\\u0447\\u043A\\u0430 \\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0430\",\"\\u0412\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u0430\\u044F \\u0440\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0430\\u0446\\u0438\\u044F \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435\",\"\\u0411\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0442\\u0435\\u0440\\u043C\\u0438\\u043D\\u0430\\u043B\\u0430\",\"\\u0411\\u044B\\u0441\\u0442\\u0440\\u043E\\u0435 \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u041E\\u0442\\u043B\\u0430\\u0434\\u0447\\u0438\\u043A \\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D \\u0432 \\u0442\\u043E\\u0447\\u043A\\u0435 \\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0430\",\"\\u0422\\u043E\\u0447\\u043A\\u0430 \\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u0430\",\"\\u041E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043E\\u043A \\u0432 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0435\",\"\\u0412\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u044F \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0442\",\"\\u0417\\u0430\\u0434\\u0430\\u0447\\u0430 \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0430\",\"\\u0417\\u0430\\u0434\\u0430\\u0447\\u0430 \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0430\",\"\\u0421\\u0431\\u043E\\u0439 \\u0437\\u0430\\u0434\\u0430\\u0447\\u0438\",\"\\u0421\\u0431\\u043E\\u0439 \\u0437\\u0430\\u0434\\u0430\\u0447\\u0438\",\"\\u0421\\u0431\\u043E\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \\u0442\\u0435\\u0440\\u043C\\u0438\\u043D\\u0430\\u043B\\u0430\",\"\\u0421\\u0431\\u043E\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B\",\"\\u041A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0430 \\u0442\\u0435\\u0440\\u043C\\u0438\\u043D\\u0430\\u043B\\u0430 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0430\",\"\\u041A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0430 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0430\",\"\\u041A\\u043E\\u043B\\u043E\\u043A\\u043E\\u043B\\u044C\\u0447\\u0438\\u043A \\u0442\\u0435\\u0440\\u043C\\u0438\\u043D\\u0430\\u043B\\u0430\",\"\\u0417\\u0432\\u043E\\u043D\\u043E\\u043A \\u0442\\u0435\\u0440\\u043C\\u0438\\u043D\\u0430\\u043B\\u0430\",\"\\u042F\\u0447\\u0435\\u0439\\u043A\\u0430 \\u0437\\u0430\\u043F\\u0438\\u0441\\u043D\\u043E\\u0439 \\u043A\\u043D\\u0438\\u0436\\u043A\\u0438 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0430\",\"\\u042F\\u0447\\u0435\\u0439\\u043A\\u0430 \\u0437\\u0430\\u043F\\u0438\\u0441\\u043D\\u043E\\u0439 \\u043A\\u043D\\u0438\\u0436\\u043A\\u0438 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0430\",\"\\u0421\\u0431\\u043E\\u0439 \\u044F\\u0447\\u0435\\u0439\\u043A\\u0438 \\u0437\\u0430\\u043F\\u0438\\u0441\\u043D\\u043E\\u0439 \\u043A\\u043D\\u0438\\u0436\\u043A\\u0438\",\"\\u0421\\u0431\\u043E\\u0439 \\u044F\\u0447\\u0435\\u0439\\u043A\\u0438 \\u0437\\u0430\\u043F\\u0438\\u0441\\u043D\\u043E\\u0439 \\u043A\\u043D\\u0438\\u0436\\u043A\\u0438\",\"\\u0412\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0430 \\u0440\\u0430\\u0437\\u043D\\u043E\\u0441\\u0442\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\",\"\\u0423\\u0434\\u0430\\u043B\\u0435\\u043D\\u0430 \\u0440\\u0430\\u0437\\u043D\\u043E\\u0441\\u0442\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430\",\"\\u0418\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0430 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u0439\",\"\\u041E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D \\u0437\\u0430\\u043F\\u0440\\u043E\\u0441 \\u043D\\u0430 \\u0447\\u0430\\u0442\",\"\\u041E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D \\u0437\\u0430\\u043F\\u0440\\u043E\\u0441 \\u043D\\u0430 \\u0447\\u0430\\u0442\",\"\\u041F\\u043E\\u043B\\u0443\\u0447\\u0435\\u043D \\u043E\\u0442\\u0432\\u0435\\u0442 \\u0447\\u0430\\u0442\\u0430\",\"\\u0425\\u043E\\u0434 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u044F\",\"\\u0425\\u043E\\u0434 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u044F\",\"\\u041E\\u0447\\u0438\\u0441\\u0442\\u0438\\u0442\\u044C\",\"\\u041E\\u0447\\u0438\\u0441\\u0442\\u043A\\u0430\",\"\\u0421\\u043E\\u0445\\u0440\\u0430\\u043D\\u0438\\u0442\\u044C\",\"\\u0421\\u043E\\u0445\\u0440\\u0430\\u043D\\u0438\\u0442\\u044C\",\"\\u0424\\u043E\\u0440\\u043C\\u0430\\u0442\",\"\\u0424\\u043E\\u0440\\u043C\\u0430\\u0442\",\"\\u0417\\u0430\\u043F\\u0438\\u0441\\u044C \\u0433\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043D\\u0430\\u0447\\u0430\\u0442\\u0430\",\"\\u0417\\u0430\\u043F\\u0438\\u0441\\u044C \\u0433\\u043E\\u043B\\u043E\\u0441\\u0430 \\u043E\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u0430\",\"\\u041F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435\",\"\\u0421\\u043F\\u0440\\u0430\\u0432\\u043A\\u0430\",\"\\u0422\\u0435\\u0441\\u0442\",\"\\u0424\\u0430\\u0439\\u043B\",\"\\u041F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u044B\",\"\\u0420\\u0430\\u0437\\u0440\\u0430\\u0431\\u043E\\u0442\\u0447\\u0438\\u043A\",\"{0} ({1})\",\"{0} ({1})\",`{0}\\r\n[{1}] {2}`,\"{1} \\u0434\\u043B\\u044F {0}\",\"{0} ({1})\",\"\\u0421\\u043A\\u0440\\u044B\\u0442\\u044C\",\"\\u0421\\u0431\\u0440\\u043E\\u0441\\u0438\\u0442\\u044C \\u043C\\u0435\\u043D\\u044E\",'\\u0421\\u043A\\u0440\\u044B\\u0442\\u044C \"{0}\"',\"\\u041D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u0430 \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\",\"{0}, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C, {1} \\u0434\\u043B\\u044F \\u043F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0433\\u043E \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440\\u0430\",\"{0}, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\",\"{0}, \\u043F\\u0440\\u0438\\u0447\\u0438\\u043D\\u0430 \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u044F: {1}\",\"\\u041C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0435\\u043C\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u043D\\u0430 \\u043F\\u0430\\u043D\\u0435\\u043B\\u0438 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439.\",\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0441\\u043F\\u0438\\u0441\\u043E\\u043A \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439\",\"\\u0421\\u043A\\u0440\\u044B\\u0442\\u044C \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435\",\"\\u0412\\u044B\\u0431\\u0440\\u0430\\u0442\\u044C \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435\",\"\\u041F\\u0440\\u0438\\u043D\\u044F\\u0442\\u044C \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435\",\"\\u041F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0439 \\u043F\\u0440\\u043E\\u0441\\u043C\\u043E\\u0442\\u0440 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F\",\"\\u041F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u043A\\u043E\\u043D\\u0444\\u0438\\u0433\\u0443\\u0440\\u0430\\u0446\\u0438\\u0438 \\u044F\\u0437\\u044B\\u043A\\u0430 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E\",\"\\u041D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u0430 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u043C\\u044B\\u0445 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0434\\u043B\\u044F \\u044F\\u0437\\u044B\\u043A\\u0430 {0}.\",\"\\u041D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u043C\\u044B\\u0445 \\u0434\\u043B\\u044F \\u044F\\u0437\\u044B\\u043A\\u0430.\",\"\\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043D\\u0435 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u0442 \\u043D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u0443 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0434\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u044F\\u0437\\u044B\\u043A\\u043E\\u0432.\",\"\\u041D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u0430 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u043C\\u044B\\u0445 \\u0434\\u043B\\u044F \\u044F\\u0437\\u044B\\u043A\\u0430.\",\"\\u042D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043D\\u0435 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u0442 \\u043D\\u0430\\u0441\\u0442\\u0440\\u043E\\u0439\\u043A\\u0443 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0434\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u044F\\u0437\\u044B\\u043A\\u043E\\u0432.\",\"\\u041D\\u0435 \\u0443\\u0434\\u0430\\u0435\\u0442\\u0441\\u044F \\u0437\\u0430\\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u043F\\u0443\\u0441\\u0442\\u043E\\u0435 \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E\",`\\u041D\\u0435\\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E \\u0437\\u0430\\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \"{0}\". \\u041E\\u043D\\u043E \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u0448\\u0430\\u0431\\u043B\\u043E\\u043D\\u0443 \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u0430 '\\\\\\\\[.*\\\\\\\\]$' \\u0434\\u043B\\u044F \\u043E\\u043F\\u0438\\u0441\\u0430\\u043D\\u0438\\u044F \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u043C\\u044B\\u0445 \\u044F\\u0437\\u044B\\u043A\\u043E\\u043C. \\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \\u0443\\u0447\\u0430\\u0441\\u0442\\u0438\\u0435 configurationDefaults.`,'\\u041D\\u0435\\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E \\u0437\\u0430\\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \"{0}\". \\u042D\\u0442\\u043E \\u0441\\u0432\\u043E\\u0439\\u0441\\u0442\\u0432\\u043E \\u0443\\u0436\\u0435 \\u0437\\u0430\\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043E.','\\u041D\\u0435\\u0432\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E \\u0437\\u0430\\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \"{0}\". \\u0423\\u0436\\u0435 \\u0438\\u043C\\u0435\\u0435\\u0442\\u0441\\u044F \\u0440\\u0435\\u0433\\u0438\\u0441\\u0442\\u0440\\u0430\\u0446\\u0438\\u044F {2} \\u0434\\u043B\\u044F \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u043E\\u0439 \\u043F\\u043E\\u043B\\u0438\\u0442\\u0438\\u043A\\u0438 {1}.',\"\\u041A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0430, \\u0432\\u043E\\u0437\\u0432\\u0440\\u0430\\u0449\\u0430\\u044E\\u0449\\u0430\\u044F \\u0441\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u043E \\u043A\\u043B\\u044E\\u0447\\u0430\\u0445 \\u043A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442\\u0430\",\"\\u041F\\u0443\\u0441\\u0442\\u043E\\u0435 \\u0432\\u044B\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435 \\u043A\\u043B\\u044E\\u0447\\u0430 \\u043A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442\\u0430\",'\\u0412\\u044B \\u0437\\u0430\\u0431\\u044B\\u043B\\u0438 \\u0437\\u0430\\u043F\\u0438\\u0441\\u0430\\u0442\\u044C \\u0432\\u044B\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u0435? \\u0412\\u044B \\u0442\\u0430\\u043A\\u0436\\u0435 \\u043C\\u043E\\u0436\\u0435\\u0442\\u0435 \\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \"false\" \\u0438\\u043B\\u0438 \"true\", \\u0447\\u0442\\u043E\\u0431\\u044B \\u0432\\u0441\\u0435\\u0433\\u0434\\u0430 \\u043E\\u0446\\u0435\\u043D\\u0438\\u0432\\u0430\\u0442\\u044C \\u043F\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044E false \\u0438\\u043B\\u0438 true \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0435\\u043D\\u043D\\u043E.','\"in\" \\u043F\\u043E\\u0441\\u043B\\u0435 \"not\".','\\u0437\\u0430\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0430\\u044F \\u043A\\u0440\\u0443\\u0433\\u043B\\u0430\\u044F \\u0441\\u043A\\u043E\\u0431\\u043A\\u0430 \")\"',\"\\u041D\\u0435\\u043F\\u0440\\u0435\\u0434\\u0432\\u0438\\u0434\\u0435\\u043D\\u043D\\u044B\\u0439 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\",\"\\u0412\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E, \\u0432\\u044B \\u0437\\u0430\\u0431\\u044B\\u043B\\u0438 \\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C && \\u0438\\u043B\\u0438 || \\u043F\\u0435\\u0440\\u0435\\u0434 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u043E\\u043C?\",\"\\u041D\\u0435\\u043E\\u0436\\u0438\\u0434\\u0430\\u043D\\u043D\\u044B\\u0439 \\u043A\\u043E\\u043D\\u0435\\u0446 \\u0432\\u044B\\u0440\\u0430\\u0436\\u0435\\u043D\\u0438\\u044F\",\"\\u0412\\u043E\\u0437\\u043C\\u043E\\u0436\\u043D\\u043E, \\u0432\\u044B \\u0437\\u0430\\u0431\\u044B\\u043B\\u0438 \\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u044C \\u043A\\u043B\\u044E\\u0447 \\u043A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442\\u0430?\",`\\u041E\\u0436\\u0438\\u0434\\u0430\\u0435\\u0442\\u0441\\u044F: {0}\\r\n\\u041F\\u043E\\u043B\\u0443\\u0447\\u0435\\u043D\\u043E: \"{1}\".`,\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u0430\\u044F \\u0441\\u0438\\u0441\\u0442\\u0435\\u043C\\u0430 macOS\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u0430\\u044F \\u0441\\u0438\\u0441\\u0442\\u0435\\u043C\\u0430 Linux\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u0430\\u044F \\u0441\\u0438\\u0441\\u0442\\u0435\\u043C\\u0430 Windows\",\"\\u042F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u043B\\u0430\\u0442\\u0444\\u043E\\u0440\\u043C\\u0430 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u043D\\u043E\\u0439\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u0430\\u044F \\u0441\\u0438\\u0441\\u0442\\u0435\\u043C\\u0430 macOS \\u043D\\u0430 \\u043F\\u043B\\u0430\\u0442\\u0444\\u043E\\u0440\\u043C\\u0435, \\u043E\\u0442\\u043B\\u0438\\u0447\\u043D\\u043E\\u0439 \\u043E\\u0442 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u043D\\u043E\\u0439\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u0430\\u044F \\u0441\\u0438\\u0441\\u0442\\u0435\\u043C\\u0430 IOS\",\"\\u042F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u043B\\u0430\\u0442\\u0444\\u043E\\u0440\\u043C\\u0430 \\u043C\\u043E\\u0431\\u0438\\u043B\\u044C\\u043D\\u044B\\u043C \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u043E\\u043C\",\"\\u0422\\u0438\\u043F \\u043A\\u0430\\u0447\\u0435\\u0441\\u0442\\u0432\\u0430 VS Code\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0432 \\u043F\\u043E\\u043B\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0430\",\"\\u0412\\u044B \\u0438\\u043C\\u0435\\u043B\\u0438 \\u0432 \\u0432\\u0438\\u0434\\u0443 {0}?\",\"\\u0412\\u044B \\u0438\\u043C\\u0435\\u043B\\u0438 \\u0432 \\u0432\\u0438\\u0434\\u0443 {0} \\u0438\\u043B\\u0438 {1}?\",\"\\u0412\\u044B \\u0438\\u043C\\u0435\\u043B\\u0438 \\u0432 \\u0432\\u0438\\u0434\\u0443 {0}, {1} \\u0438\\u043B\\u0438 {2}?\",\"\\u0412\\u044B \\u0437\\u0430\\u0431\\u044B\\u043B\\u0438 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0438\\u043B\\u0438 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C \\u0446\\u0438\\u0442\\u0430\\u0442\\u0443?\",'\\u0412\\u044B \\u0437\\u0430\\u0431\\u044B\\u043B\\u0438 \\u044D\\u043A\\u0440\\u0430\\u043D\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B \"/\" (\\u043A\\u043E\\u0441\\u0430\\u044F \\u0447\\u0435\\u0440\\u0442\\u0430)? \\u0427\\u0442\\u043E\\u0431\\u044B \\u044D\\u043A\\u0440\\u0430\\u043D\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C, \\u043F\\u043E\\u043C\\u0435\\u0441\\u0442\\u0438\\u0442\\u0435 \\u043F\\u0435\\u0440\\u0435\\u0434 \\u0441\\u0438\\u043C\\u0432\\u043E\\u043B\\u043E\\u043C \\u0434\\u0432\\u0435 \\u043E\\u0431\\u0440\\u0430\\u0442\\u043D\\u044B\\u0435 \\u043A\\u043E\\u0441\\u044B\\u0435 \\u0447\\u0435\\u0440\\u0442\\u044B, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440 \"\\\\\\\\/\".',\"\\u041E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\",\"\\u0411\\u044B\\u043B\\u0430 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0430 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0430 {0}. \\u041E\\u0436\\u0438\\u0434\\u0430\\u043D\\u0438\\u0435 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u044F \\u0432\\u0442\\u043E\\u0440\\u043E\\u0439 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F...\",\"\\u0411\\u044B\\u043B\\u0430 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0430 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0430 ({0}). \\u041E\\u0436\\u0438\\u0434\\u0430\\u043D\\u0438\\u0435 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u044F \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u0439 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F...\",\"\\u0421\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 ({0} \\u0438 {1}) \\u043D\\u0435 \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u043E\\u0439.\",\"\\u0421\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 ({0} \\u0438 {1}) \\u043D\\u0435 \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u043E\\u0439.\",\"\\u0420\\u0430\\u0431\\u043E\\u0447\\u0435\\u0435 \\u043C\\u0435\\u0441\\u0442\\u043E\",\"\\u0421\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 CTRL \\u0432 Windows \\u0438 Linux \\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 COMMAND \\u0432 macOS.\",\"\\u0421\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 ALT \\u0432 Windows \\u0438 Linux \\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0435 OPTION \\u0432 macOS.\",'\\u041C\\u043E\\u0434\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0434\\u043B\\u044F \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0432 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445 \\u0438 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445 \\u0432 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 \\u043C\\u043D\\u043E\\u0436\\u0435\\u0441\\u0442\\u0432\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043C\\u044B\\u0448\\u0438 (\\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0432 \\u043F\\u0440\\u043E\\u0432\\u043E\\u0434\\u043D\\u0438\\u043A\\u0435, \\u0432 \\u043E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044B\\u0445 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\\u0445 \\u0438 \\u0432 \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0438 scm). \\u0416\\u0435\\u0441\\u0442\\u044B \\u043C\\u044B\\u0448\\u0438 \"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0441\\u0431\\u043E\\u043A\\u0443\" (\\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D\\u0438 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u044E\\u0442\\u0441\\u044F) \\u0431\\u0443\\u0434\\u0443\\u0442 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u044B \\u0442\\u0430\\u043A\\u0438\\u043C \\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043E\\u043D\\u0438 \\u043D\\u0435 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u043E\\u0432\\u0430\\u043B\\u0438 \\u0441 \\u043C\\u043E\\u0434\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 \\u043C\\u043D\\u043E\\u0436\\u0435\\u0441\\u0442\\u0432\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430.',\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u043A\\u0430\\u043A \\u043E\\u0442\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u0432 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445 \\u0438 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043C\\u044B\\u0448\\u0438 (\\u0435\\u0441\\u043B\\u0438 \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F). \\u041E\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u0435 \\u0432\\u043D\\u0438\\u043C\\u0430\\u043D\\u0438\\u0435, \\u0447\\u0442\\u043E \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043C\\u043E\\u0436\\u0435\\u0442 \\u0438\\u0433\\u043D\\u043E\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0432 \\u043D\\u0435\\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445 \\u0438 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445, \\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D \\u043D\\u0435 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043A \\u043D\\u0438\\u043C.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043F\\u043E\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u044E\\u0442 \\u043B\\u0438 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u0443\\u044E \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0443 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0438 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F \\u043D\\u0430 \\u0440\\u0430\\u0431\\u043E\\u0447\\u0435\\u043C \\u043C\\u0435\\u0441\\u0442\\u0435. \\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435! \\u0412\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u0438\\u0435 \\u044D\\u0442\\u043E\\u0433\\u043E \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u0430 \\u043C\\u043E\\u0436\\u0435\\u0442 \\u043F\\u043E\\u0432\\u043B\\u0438\\u044F\\u0442\\u044C \\u043D\\u0430 \\u043F\\u0440\\u043E\\u0438\\u0437\\u0432\\u043E\\u0434\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E\\u0441\\u0442\\u044C.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u043B\\u0438 \\u0449\\u0435\\u043B\\u043A\\u0430\\u0442\\u044C \\u043F\\u043E\\u043B\\u043E\\u0441\\u0443 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043F\\u043E\\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0447\\u043D\\u043E.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F \\u0434\\u043B\\u044F \\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u0432 \\u043F\\u0438\\u043A\\u0441\\u0435\\u043B\\u044F\\u0445.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u043D\\u0443\\u0436\\u043D\\u043E \\u043B\\u0438 \\u0432 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0435 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043F\\u043B\\u0430\\u0432\\u043D\\u0430\\u044F \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043F\\u0438\\u0441\\u043A\\u043E\\u0432 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u0435\\u0432.\",\"\\u041C\\u043D\\u043E\\u0436\\u0438\\u0442\\u0435\\u043B\\u044C, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 deltaX \\u0438 deltaY \\u0441\\u043E\\u0431\\u044B\\u0442\\u0438\\u0439 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043A\\u043E\\u043B\\u0435\\u0441\\u0438\\u043A\\u0430 \\u043C\\u044B\\u0448\\u0438.\",\"\\u041A\\u043E\\u044D\\u0444\\u0444\\u0438\\u0446\\u0438\\u0435\\u043D\\u0442 \\u0443\\u0432\\u0435\\u043B\\u0438\\u0447\\u0435\\u043D\\u0438\\u044F \\u0441\\u043A\\u043E\\u0440\\u043E\\u0441\\u0442\\u0438 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0438 ALT.\",\"\\u041F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435 \\u043D\\u0435\\u043E\\u0431\\u0445\\u043E\\u0434\\u0438\\u043C\\u043E \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0442\\u044C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B. \\u041F\\u0440\\u0438 \\u0434\\u0430\\u043B\\u044C\\u043D\\u0435\\u0439\\u0448\\u0435\\u0439 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0432\\u0432\\u0435\\u0440\\u0445 \\u0438 \\u0432\\u043D\\u0438\\u0437 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043E\\u0431\\u0445\\u043E\\u0434 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432.\",\"\\u0424\\u0438\\u043B\\u044C\\u0442\\u0440\\u0443\\u0439\\u0442\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0440\\u0435\\u0436\\u0438\\u043C\\u043E\\u043C \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E \\u0434\\u043B\\u044F \\u0441\\u043F\\u0438\\u0441\\u043A\\u043E\\u0432 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u0435\\u0432 \\u0432 Workbench.\",\"\\u041F\\u0440\\u043E \\u043F\\u0440\\u043E\\u0441\\u0442\\u043E\\u0439 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0432\\u044B\\u0431\\u0438\\u0440\\u0430\\u044E\\u0442\\u0441\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B, \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0449\\u0438\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0438\\u043C\\u044B\\u043C \\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0434\\u0430\\u043D\\u043D\\u044B\\u043C. \\u0421\\u043E\\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043E\\u0441\\u0443\\u0449\\u0435\\u0441\\u0442\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u043F\\u043E \\u043F\\u0440\\u0435\\u0444\\u0438\\u043A\\u0441\\u0430\\u043C.\",\"\\u0424\\u0443\\u043D\\u043A\\u0446\\u0438\\u044F \\u043F\\u043E\\u0434\\u0441\\u0432\\u0435\\u0442\\u043A\\u0438 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0432\\u044B\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B, \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0449\\u0438\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0438\\u043C\\u044B\\u043C \\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0434\\u0430\\u043D\\u043D\\u044B\\u043C. \\u041F\\u0440\\u0438 \\u0434\\u0430\\u043B\\u044C\\u043D\\u0435\\u0439\\u0448\\u0435\\u0439 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0432\\u0432\\u0435\\u0440\\u0445 \\u0438 \\u0432\\u043D\\u0438\\u0437 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043E\\u0431\\u0445\\u043E\\u0434 \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432.\",\"\\u0424\\u0438\\u043B\\u044C\\u0442\\u0440 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u043F\\u043E\\u0437\\u0432\\u043E\\u043B\\u044F\\u0435\\u0442 \\u043E\\u0442\\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0438 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0432\\u0441\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B, \\u043D\\u0435 \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0449\\u0438\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0438\\u043C\\u044B\\u043C \\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0434\\u0430\\u043D\\u043D\\u044B\\u043C.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0441\\u0442\\u0438\\u043B\\u0435\\u043C \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0434\\u043B\\u044F \\u0441\\u043F\\u0438\\u0441\\u043A\\u043E\\u0432 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u0435\\u0432 \\u0432 Workbench. \\u0414\\u043E\\u0441\\u0442\\u0443\\u043F\\u0435\\u043D \\u043F\\u0440\\u043E\\u0441\\u0442\\u043E\\u0439 \\u0440\\u0435\\u0436\\u0438\\u043C, \\u0440\\u0435\\u0436\\u0438\\u043C \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0438 \\u0440\\u0435\\u0436\\u0438\\u043C \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u0430\\u0446\\u0438\\u0438.\",'\\u0412\\u043C\\u0435\\u0441\\u0442\\u043E \\u044D\\u0442\\u043E\\u0433\\u043E \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0439\\u0442\\u0435 \"workbench.list.defaultFindMode\" \\u0438 \"workbench.list.typeNavigationMode\".',\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043D\\u0435\\u0447\\u0435\\u0442\\u043A\\u043E\\u0435 \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u0435\\u0440\\u044B\\u0432\\u043D\\u043E\\u0435 \\u0441\\u043E\\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0438\\u043F\\u043E\\u043C \\u0441\\u043E\\u043F\\u043E\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u043C \\u043F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435 \\u0441\\u043F\\u0438\\u0441\\u043A\\u043E\\u0432 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u0435\\u0432 \\u0432 Workbench.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0442\\u0435\\u043C, \\u043A\\u0430\\u043A \\u043F\\u0430\\u043F\\u043A\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u0440\\u0430\\u0437\\u0432\\u043E\\u0440\\u0430\\u0447\\u0438\\u0432\\u0430\\u044E\\u0442\\u0441\\u044F \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0436\\u0430\\u0442\\u0438\\u0438 \\u043D\\u0430 \\u0438\\u043C\\u0435\\u043D\\u0430 \\u043F\\u0430\\u043F\\u043E\\u043A. \\u041E\\u0431\\u0440\\u0430\\u0442\\u0438\\u0442\\u0435 \\u0432\\u043D\\u0438\\u043C\\u0430\\u043D\\u0438\\u0435, \\u0447\\u0442\\u043E \\u044D\\u0442\\u043E\\u0442 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043C\\u043E\\u0436\\u0435\\u0442 \\u0438\\u0433\\u043D\\u043E\\u0440\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C\\u0441\\u044F \\u0432 \\u043D\\u0435\\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445 \\u0438 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445, \\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D \\u043D\\u0435 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043A \\u043D\\u0438\\u043C.\",\"\\u041E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442, \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043E \\u043B\\u0438 \\u0437\\u0430\\u043B\\u0438\\u043F\\u0430\\u043D\\u0438\\u0435 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445.\",\"\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0447\\u0438\\u0441\\u043B\\u043E\\u043C \\u043F\\u0440\\u0438\\u043A\\u0440\\u0435\\u043F\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u043C\\u044B\\u0445 \\u0432 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0435, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0432\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 {0}.\",'\\u0423\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u0435\\u0442 \\u0440\\u0430\\u0431\\u043E\\u0442\\u043E\\u0439 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438 \\u043F\\u043E \\u0442\\u0438\\u043F\\u0430\\u043C \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445 \\u0432 \\u0440\\u0430\\u0431\\u043E\\u0447\\u0435\\u0439 \\u0441\\u0440\\u0435\\u0434\\u0435. \\u0415\\u0441\\u043B\\u0438 \\u0443\\u0441\\u0442\\u0430\\u043D\\u043E\\u0432\\u043B\\u0435\\u043D\\u043E \\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u0435 \"trigger\", \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u044F \\u043F\\u043E \\u0442\\u0438\\u043F\\u0443 \\u043D\\u0430\\u0447\\u0438\\u043D\\u0430\\u0435\\u0442\\u0441\\u044F \\u043F\\u043E\\u0441\\u043B\\u0435 \\u0437\\u0430\\u043F\\u0443\\u0441\\u043A\\u0430 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B \"list.triggerTypeNavigation\".',\"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430\",\"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\",\"\\u0418\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u044F\",\"\\u043D\\u0435\\u0434\\u0430\\u0432\\u043D\\u043E \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u043D\\u043D\\u044B\\u0435\",\"\\u043F\\u043E\\u0445\\u043E\\u0436\\u0438\\u0435 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B\",\"\\u0447\\u0430\\u0441\\u0442\\u043E \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0435\",\"\\u0434\\u0440\\u0443\\u0433\\u0438\\u0435 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B\",\"\\u043F\\u043E\\u0445\\u043E\\u0436\\u0438\\u0435 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B\",\"{0}, {1}\",'\\u041A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0430 \"{0}\" \\u043F\\u0440\\u0438\\u0432\\u0435\\u043B\\u0430 \\u043A \\u043E\\u0448\\u0438\\u0431\\u043A\\u0435',\"{0}, {1}\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B \\u0432\\u043D\\u0443\\u0442\\u0440\\u0438 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 \\u0443\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0431\\u044B\\u0441\\u0442\\u0440\\u044B\\u043C \\u0432\\u0432\\u043E\\u0434\\u043E\\u043C\",\"\\u0422\\u0438\\u043F \\u0432\\u0438\\u0434\\u0438\\u043C\\u043E\\u0433\\u043E \\u0432 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0439 \\u043C\\u043E\\u043C\\u0435\\u043D\\u0442 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u0432\\u043E\\u0434\\u0430\",\"\\u041D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u043B\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440 \\u043F\\u0440\\u0438 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u043C \\u0432\\u0432\\u043E\\u0434\\u0435 \\u0432 \\u043A\\u043E\\u043D\\u0446\\u0435 \\u043F\\u043E\\u043B\\u044F \\u0432\\u0432\\u043E\\u0434\\u0430\",\"\\u041D\\u0430\\u0437\\u0430\\u0434\",\"\\u041D\\u0430\\u0436\\u043C\\u0438\\u0442\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448\\u0443 \\u0412\\u0412\\u041E\\u0414, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043F\\u043E\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0438\\u0442\\u044C \\u0432\\u0432\\u0435\\u0434\\u0435\\u043D\\u043D\\u044B\\u0435 \\u0434\\u0430\\u043D\\u043D\\u044B\\u0435, \\u0438\\u043B\\u0438 ESCAPE \\u0434\\u043B\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B\",\"{0} / {1}\",\"\\u0412\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u0442\\u0435\\u043A\\u0441\\u0442, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0438\\u0442\\u044C \\u0447\\u0438\\u0441\\u043B\\u043E \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432.\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432 \\u043A\\u043E\\u043D\\u0442\\u0435\\u043A\\u0441\\u0442\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430. \\u0415\\u0441\\u043B\\u0438 \\u0432\\u044B \\u0438\\u0437\\u043C\\u0435\\u043D\\u0438\\u0442\\u0435 \\u043E\\u0434\\u043D\\u0443 \\u043A\\u043E\\u043C\\u0431\\u0438\\u043D\\u0430\\u0446\\u0438\\u044E \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 \\u0434\\u043B\\u044F \\u044D\\u0442\\u043E\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B, \\u0432\\u0430\\u043C \\u0442\\u0430\\u043A\\u0436\\u0435 \\u0441\\u043B\\u0435\\u0434\\u0443\\u0435\\u0442 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435 \\u043E\\u0441\\u0442\\u0430\\u043B\\u044C\\u043D\\u044B\\u0435 \\u043A\\u043E\\u043C\\u0431\\u0438\\u043D\\u0430\\u0446\\u0438\\u0438 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 (\\u0432\\u0430\\u0440\\u0438\\u0430\\u043D\\u0442\\u044B \\u043C\\u043E\\u0434\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440\\u043E\\u0432) \\u044D\\u0442\\u043E\\u0439 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u044B.\",\"\\u0415\\u0441\\u043B\\u0438 \\u043C\\u044B \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u043C\\u0441\\u044F \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0430, \\u044D\\u0442\\u043E \\u043F\\u0440\\u0438\\u0432\\u0435\\u0434\\u0435\\u0442 \\u043A \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0443 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0443. \\u0415\\u0441\\u043B\\u0438 \\u043C\\u044B \\u043D\\u0435 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u043C\\u0441\\u044F \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0430, \\u044D\\u0442\\u043E \\u043F\\u0440\\u0438\\u0432\\u0435\\u0434\\u0435\\u0442 \\u043A \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0443 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u044E.\",\"\\u0415\\u0441\\u043B\\u0438 \\u043C\\u044B \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u043C\\u0441\\u044F \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0430, \\u044D\\u0442\\u043E \\u043F\\u0440\\u0438\\u0432\\u0435\\u0434\\u0435\\u0442 \\u043A \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0443 \\u043A \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C\\u0443 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0443. \\u0415\\u0441\\u043B\\u0438 \\u043C\\u044B \\u043D\\u0435 \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u043C\\u0441\\u044F \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0434\\u043E\\u0441\\u0442\\u0443\\u043F\\u0430, \\u044D\\u0442\\u043E \\u043F\\u0440\\u0438\\u0432\\u0435\\u0434\\u0435\\u0442 \\u043A \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0443 \\u043A \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C\\u0443 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u044E.\",\"\\u041F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u0432\\u0441\\u0435 \\u0444\\u043B\\u0430\\u0436\\u043A\\u0438\",\"\\u0420\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u044B: {0}\",\"{0} \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043E\",\"\\u041E\\u041A\",\"\\u0414\\u0440\\u0443\\u0433\\u043E\\u0439\",\"\\u041D\\u0430\\u0437\\u0430\\u0434 ({0})\",\"\\u041D\\u0430\\u0437\\u0430\\u0434\",\"\\u0411\\u044B\\u0441\\u0442\\u0440\\u044B\\u0439 \\u0432\\u0432\\u043E\\u0434\",'\\u0429\\u0435\\u043B\\u043A\\u043D\\u0438\\u0442\\u0435, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u044C \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434\\u0443 \"{0}\"',\"\\u041E\\u0431\\u0449\\u0438\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F, \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0435\\u0441\\u043B\\u0438 \\u0435\\u0433\\u043E \\u043D\\u0435 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0438\\u0442 \\u043A\\u043E\\u043C\\u043F\\u043E\\u043D\\u0435\\u043D\\u0442.\",\"\\u041E\\u0431\\u0449\\u0438\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043E\\u043D \\u043D\\u0435 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D \\u043A\\u043E\\u043C\\u043F\\u043E\\u043D\\u0435\\u043D\\u0442\\u043E\\u043C.\",\"\\u041E\\u0431\\u0449\\u0438\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u0439 \\u043E\\u0431 \\u043E\\u0448\\u0438\\u0431\\u043A\\u0430\\u0445. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0435\\u0441\\u043B\\u0438 \\u0435\\u0433\\u043E \\u043D\\u0435 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u043A\\u043E\\u043C\\u043F\\u043E\\u043D\\u0435\\u043D\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0430\\u0449\\u0435\\u0433\\u043E \\u043F\\u043E\\u044F\\u0441\\u043D\\u0435\\u043D\\u0438\\u044F, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0434\\u043B\\u044F \\u043C\\u0435\\u0442\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E \\u0434\\u043B\\u044F \\u0437\\u043D\\u0430\\u0447\\u043A\\u043E\\u0432 \\u043D\\u0430 \\u0440\\u0430\\u0431\\u043E\\u0447\\u0435\\u043C \\u043C\\u0435\\u0441\\u0442\\u0435.\",\"\\u041E\\u0431\\u0449\\u0438\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446 \\u0434\\u043B\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0441 \\u0444\\u043E\\u043A\\u0443\\u0441\\u043E\\u043C. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u043D\\u0435 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D \\u0432 \\u043A\\u043E\\u043C\\u043F\\u043E\\u043D\\u0435\\u043D\\u0442\\u0435.\",\"\\u0414\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u0430\\u044F \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u0432\\u043E\\u043A\\u0440\\u0443\\u0433 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432, \\u043A\\u043E\\u0442\\u043E\\u0440\\u0430\\u044F \\u043E\\u0442\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0438\\u0445 \\u043E\\u0442 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0434\\u043B\\u044F \\u0443\\u043B\\u0443\\u0447\\u0448\\u0435\\u043D\\u0438\\u044F \\u043A\\u043E\\u043D\\u0442\\u0440\\u0430\\u0441\\u0442\\u0430.\",\"\\u0414\\u043E\\u043F\\u043E\\u043B\\u043D\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u0430\\u044F \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u0432\\u043E\\u043A\\u0440\\u0443\\u0433 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432, \\u043A\\u043E\\u0442\\u043E\\u0440\\u0430\\u044F \\u043E\\u0442\\u0434\\u0435\\u043B\\u044F\\u0435\\u0442 \\u0438\\u0445 \\u043E\\u0442 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0434\\u043B\\u044F \\u0443\\u043B\\u0443\\u0447\\u0448\\u0435\\u043D\\u0438\\u044F \\u043A\\u043E\\u043D\\u0442\\u0440\\u0430\\u0441\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432 \\u0440\\u0430\\u0431\\u043E\\u0447\\u0435\\u0439 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 (\\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0432 \\u043F\\u043E\\u043B\\u044F\\u0445 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0438\\u043B\\u0438 \\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u044B\\u0445 \\u043F\\u043E\\u043B\\u044F\\u0445). \\u041D\\u0435 \\u043F\\u0440\\u0438\\u043C\\u0435\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043A \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u043C\\u0443 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0443 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0441\\u044B\\u043B\\u043E\\u043A \\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0441\\u044B\\u043B\\u043E\\u043A \\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0435 \\u043F\\u0440\\u0438 \\u0449\\u0435\\u043B\\u0447\\u043A\\u0435 \\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u043C\\u044B\\u0448\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0434\\u043B\\u044F \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u0435\\u0439 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0444\\u0438\\u043A\\u0441\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0435\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u0440\\u0435\\u0434\\u0432\\u0430\\u0440\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u043E \\u043E\\u0442\\u0444\\u043E\\u0440\\u043C\\u0430\\u0442\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0431\\u043B\\u043E\\u043A\\u043E\\u0432 \\u0441 \\u0446\\u0438\\u0442\\u0430\\u0442\\u0430\\u043C\\u0438 \\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446 \\u0434\\u043B\\u044F \\u0431\\u043B\\u043E\\u043A\\u043E\\u0432 \\u0441 \\u0446\\u0438\\u0442\\u0430\\u0442\\u0430\\u043C\\u0438 \\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043F\\u0440\\u043E\\u0433\\u0440\\u0430\\u043C\\u043C\\u043D\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430 \\u0432 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043D\\u0430 \\u0434\\u0438\\u0430\\u0433\\u0440\\u0430\\u043C\\u043C\\u0430\\u0445.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u043E\\u0440\\u0438\\u0437\\u043E\\u043D\\u0442\\u0430\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043B\\u0438\\u043D\\u0438\\u0439 \\u043D\\u0430 \\u0434\\u0438\\u0430\\u0433\\u0440\\u0430\\u043C\\u043C\\u0430\\u0445.\",\"\\u041A\\u0440\\u0430\\u0441\\u043D\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0432 \\u0432\\u0438\\u0437\\u0443\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u0445 \\u0434\\u0438\\u0430\\u0433\\u0440\\u0430\\u043C\\u043C.\",\"\\u0421\\u0438\\u043D\\u0438\\u0439 \\u0446\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0432 \\u0432\\u0438\\u0437\\u0443\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u0445 \\u0434\\u0438\\u0430\\u0433\\u0440\\u0430\\u043C\\u043C.\",\"\\u0416\\u0435\\u043B\\u0442\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0432 \\u0432\\u0438\\u0437\\u0443\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u0445 \\u0434\\u0438\\u0430\\u0433\\u0440\\u0430\\u043C\\u043C.\",\"\\u041E\\u0440\\u0430\\u043D\\u0436\\u0435\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0432 \\u0432\\u0438\\u0437\\u0443\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u0445 \\u0434\\u0438\\u0430\\u0433\\u0440\\u0430\\u043C\\u043C.\",\"\\u0417\\u0435\\u043B\\u0435\\u043D\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0432 \\u0432\\u0438\\u0437\\u0443\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u0445 \\u0434\\u0438\\u0430\\u0433\\u0440\\u0430\\u043C\\u043C.\",\"\\u041B\\u0438\\u043B\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0432 \\u0432\\u0438\\u0437\\u0443\\u0430\\u043B\\u0438\\u0437\\u0430\\u0446\\u0438\\u044F\\u0445 \\u0434\\u0438\\u0430\\u0433\\u0440\\u0430\\u043C\\u043C.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043B\\u0438\\u043F\\u043A\\u043E\\u0439 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043B\\u0438\\u043F\\u043A\\u043E\\u0439 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u043C\\u044B\\u0448\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043D\\u0438 \\u043B\\u0438\\u043F\\u043A\\u043E\\u0439 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435\",\" \\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043D\\u0438 \\u043B\\u0438\\u043F\\u043A\\u043E\\u0439 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u043E\\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u0442\\u0430\\u043A\\u0438\\u0445 \\u043A\\u0430\\u043A \\u043D\\u0430\\u0439\\u0442\\u0438/\\u0437\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C.\",'\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u0442\\u0430\\u043A\\u0438\\u0445 \\u043A\\u0430\\u043A \"\\u041F\\u043E\\u0438\\u0441\\u043A/\\u0437\\u0430\\u043C\\u0435\\u043D\\u0430\".',\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u0443 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0435\\u0441\\u0442\\u044C \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u0438 \\u0435\\u0441\\u043B\\u0438 \\u044D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\\u043C.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043F\\u0430\\u043D\\u0435\\u043B\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430. \\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0442\\u043E\\u043B\\u044C\\u043A\\u043E \\u0432 \\u0442\\u043E\\u043C \\u0441\\u043B\\u0443\\u0447\\u0430\\u0435, \\u0435\\u0441\\u043B\\u0438 \\u0443 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0435\\u0441\\u0442\\u044C \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u0434\\u043B\\u044F \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u0440\\u0430\\u0437\\u043C\\u0435\\u0440\\u0430 \\u0438 \\u0435\\u0441\\u043B\\u0438 \\u044D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u043F\\u0435\\u0440\\u0435\\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435\\u043C.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u043E\\u0448\\u0438\\u0431\\u043A\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u043E\\u043B\\u043D\\u0438\\u0441\\u0442\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0438\\u0438 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u043E\\u0448\\u0438\\u0431\\u043E\\u043A \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0415\\u0441\\u043B\\u0438 \\u0437\\u0430\\u0434\\u0430\\u043D\\u043E, \\u0446\\u0432\\u0435\\u0442 \\u0434\\u0432\\u043E\\u0439\\u043D\\u043E\\u0433\\u043E \\u043F\\u043E\\u0434\\u0447\\u0435\\u0440\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u044F \\u043E\\u0448\\u0438\\u0431\\u043E\\u043A \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u043E\\u043B\\u043D\\u0438\\u0441\\u0442\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0438\\u0438 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0415\\u0441\\u043B\\u0438 \\u0437\\u0430\\u0434\\u0430\\u043D\\u043E, \\u0446\\u0432\\u0435\\u0442 \\u0434\\u0432\\u043E\\u0439\\u043D\\u043E\\u0433\\u043E \\u043F\\u043E\\u0434\\u0447\\u0435\\u0440\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u044F \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u043E\\u0433\\u043E \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u044F \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u043E\\u043B\\u043D\\u0438\\u0441\\u0442\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0438\\u0438 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u044B\\u0445 \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0415\\u0441\\u043B\\u0438 \\u0437\\u0430\\u0434\\u0430\\u043D\\u043E, \\u0446\\u0432\\u0435\\u0442 \\u0434\\u0432\\u043E\\u0439\\u043D\\u043E\\u0433\\u043E \\u043F\\u043E\\u0434\\u0447\\u0435\\u0440\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u044F \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u044B\\u0445 \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u0439 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u043E\\u043B\\u043D\\u0438\\u0441\\u0442\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0438\\u0438 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u043F\\u043E\\u0434\\u0441\\u043A\\u0430\\u0437\\u043E\\u043A \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0415\\u0441\\u043B\\u0438 \\u0437\\u0430\\u0434\\u0430\\u043D\\u043E, \\u0446\\u0432\\u0435\\u0442 \\u0434\\u0432\\u043E\\u0439\\u043D\\u043E\\u0433\\u043E \\u043F\\u043E\\u0434\\u0447\\u0435\\u0440\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u044F \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0439 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u0441\\u0441\\u044B\\u043B\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432 \\u0440\\u0435\\u0436\\u0438\\u043C\\u0435 \\u0432\\u044B\\u0441\\u043E\\u043A\\u043E\\u0433\\u043E \\u043A\\u043E\\u043D\\u0442\\u0440\\u0430\\u0441\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0434\\u043B\\u044F \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0435\\u0439, \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0430\\u0435\\u0442 \\u0441 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u044B\\u043C \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u043E\\u043C. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0440\\u0435\\u0433\\u0438\\u043E\\u043D\\u043E\\u0432 \\u0441 \\u0442\\u0435\\u043C \\u0436\\u0435 \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u044B\\u043C, \\u0447\\u0442\\u043E \\u0438 \\u0432 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u0430 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u0430, \\u043E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0438\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u043F\\u043E\\u0438\\u0441\\u043A. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u0430 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u0440\\u0443\\u0433\\u0438\\u0445 \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u0434\\u0438\\u0430\\u043F\\u0430\\u0437\\u043E\\u043D\\u0430, \\u043E\\u0433\\u0440\\u0430\\u043D\\u0438\\u0447\\u0438\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u043F\\u043E\\u0438\\u0441\\u043A. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0412\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043F\\u043E\\u0434 \\u0441\\u043B\\u043E\\u0432\\u043E\\u043C, \\u0434\\u043B\\u044F \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u0433\\u043E \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u043C\\u0435\\u043D\\u044E \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043D\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438 \\u0441\\u043E\\u0441\\u0442\\u043E\\u044F\\u043D\\u0438\\u044F \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0439\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0439\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0439 \\u0434\\u043B\\u044F \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0439 \\u0434\\u043B\\u044F \\u0448\\u0440\\u0438\\u0444\\u0442\\u043E\\u0432\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0439 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u0441\\u0442\\u0440\\u043E\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0443\\u043A\\u0430\\u0437\\u0430\\u043D\\u0438\\u0439 \\u0434\\u043B\\u044F \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432\",\"\\u0426\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u0432 \\u043C\\u0435\\u043D\\u044E \\u043B\\u0430\\u043C\\u043F\\u043E\\u0447\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u0430\\u0432\\u0442\\u043E\\u043C\\u0430\\u0442\\u0438\\u0447\\u0435\\u0441\\u043A\\u043E\\u0433\\u043E \\u0438\\u0441\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043C\\u0435\\u043D\\u044E \\u043B\\u0430\\u043C\\u043F\\u043E\\u0447\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430 \\u0418\\u0418 \\u0441 \\u043B\\u0430\\u043C\\u043F\\u043E\\u0447\\u043A\\u043E\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432 \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0435\\u0439 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430.\",\"\\u0412\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u0446\\u0432\\u0435\\u0442\\u043E\\u043C \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0432 \\u043F\\u043E\\u0441\\u043B\\u0435\\u0434\\u043D\\u0435\\u0439 \\u043F\\u043E\\u0437\\u0438\\u0446\\u0438\\u0438 \\u0442\\u0430\\u0431\\u0443\\u043B\\u044F\\u0446\\u0438\\u0438 \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043F\\u043E\\u043B\\u044F, \\u0433\\u0434\\u0435 \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u044B \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043F\\u043E\\u043B\\u044F, \\u0433\\u0434\\u0435 \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u044B \\u0441\\u0442\\u0440\\u043E\\u043A\\u0438.\",\"\\u041F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0438\\u0439 \\u043F\\u043B\\u0430\\u043D \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u0439 \\u0434\\u043B\\u044F \\u0432\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E.\",\"\\u041F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0438\\u0439 \\u043F\\u043B\\u0430\\u043D \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0440\\u0430\\u0437\\u043B\\u0438\\u0447\\u0438\\u0439 \\u0434\\u043B\\u044F \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043A\\u043E\\u043D\\u0442\\u0443\\u0440\\u0430 \\u0434\\u043B\\u044F \\u0434\\u043E\\u0431\\u0430\\u0432\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043A\\u043E\\u043D\\u0442\\u0443\\u0440\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0434\\u0430\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043C\\u0435\\u0436\\u0434\\u0443 \\u0434\\u0432\\u0443\\u043C\\u044F \\u0442\\u0435\\u043A\\u0441\\u0442\\u043E\\u0432\\u044B\\u043C\\u0438 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430\\u043C\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0434\\u0438\\u0430\\u0433\\u043E\\u043D\\u0430\\u043B\\u044C\\u043D\\u043E\\u0439 \\u0437\\u0430\\u043B\\u0438\\u0432\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439. \\u0414\\u0438\\u0430\\u0433\\u043E\\u043D\\u0430\\u043B\\u044C\\u043D\\u0430\\u044F \\u0437\\u0430\\u043B\\u0438\\u0432\\u043A\\u0430 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0432 \\u0440\\u0430\\u0437\\u043C\\u0435\\u0449\\u0430\\u0435\\u043C\\u044B\\u0445 \\u0440\\u044F\\u0434\\u043E\\u043C \\u043F\\u0440\\u0435\\u0434\\u0441\\u0442\\u0430\\u0432\\u043B\\u0435\\u043D\\u0438\\u044F\\u0445 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0431\\u043B\\u043E\\u043A\\u043E\\u0432 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u044B\\u0445 \\u0431\\u043B\\u043E\\u043A\\u043E\\u0432 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u043A\\u043E\\u0434\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043D\\u0435\\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",'\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043D\\u0438 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u0442\\u0430\\u043A\\u0438\\u0445 \\u043A\\u0430\\u043A \"\\u041D\\u0430\\u0439\\u0442\\u0438/\\u0437\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\".','\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430, \\u0442\\u0430\\u043A\\u0438\\u0445 \\u043A\\u0430\\u043A \"\\u041D\\u0430\\u0439\\u0442\\u0438/\\u0437\\u0430\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C\".',\"\\u0424\\u043E\\u043D \\u043F\\u0430\\u043D\\u0435\\u043B\\u0438 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043C\\u044B\\u0448\\u0438 \\u043D\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F\",\"\\u041A\\u043E\\u043D\\u0442\\u0443\\u0440 \\u043F\\u0430\\u043D\\u0435\\u043B\\u0438 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043C\\u044B\\u0448\\u0438 \\u043D\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F\",\"\\u0424\\u043E\\u043D \\u043F\\u0430\\u043D\\u0435\\u043B\\u0438 \\u0438\\u043D\\u0441\\u0442\\u0440\\u0443\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u0440\\u0438 \\u0443\\u0434\\u0435\\u0440\\u0436\\u0430\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043C\\u044B\\u0448\\u0438 \\u043D\\u0430\\u0434 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F\\u043C\\u0438\",\"\\u0426\\u0432\\u0435\\u0442 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438, \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0449\\u0438\\u0445\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435.\",\"\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438, \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0449\\u0438\\u0445\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438.\",\"\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043D\\u0430\\u0432\\u0438\\u0433\\u0430\\u0446\\u0438\\u0438.\",\"\\u0422\\u0435\\u043A\\u0443\\u0449\\u0438\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u043F\\u0440\\u0438 \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0424\\u043E\\u043D \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u043F\\u0440\\u0438 \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0424\\u043E\\u043D \\u0432\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u043F\\u0440\\u0438 \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u043E\\u0431\\u044A\\u0435\\u0434\\u0438\\u043D\\u0435\\u043D\\u0438\\u044F. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0424\\u043E\\u043D \\u0432\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u043F\\u0440\\u0438 \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0424\\u043E\\u043D \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u043E\\u0431\\u0449\\u0435\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043A\\u0430 \\u0432\\u043E \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0424\\u043E\\u043D \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0433\\u043E \\u043E\\u0431\\u0449\\u0435\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043A\\u0430 \\u0432\\u043E \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u043E\\u0432 \\u0438 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u044F \\u0432\\u043E \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0442\\u0435\\u043A\\u0443\\u0449\\u0435\\u0433\\u043E \\u043E\\u043A\\u043D\\u0430 \\u0432\\u043E \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0432\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E \\u043E\\u043A\\u043D\\u0430 \\u0432\\u043E \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0434\\u043B\\u044F \\u043E\\u0431\\u0449\\u0435\\u0433\\u043E \\u043F\\u0440\\u0435\\u0434\\u043A\\u0430 \\u0432\\u043E \\u0432\\u043D\\u0443\\u0442\\u0440\\u0435\\u043D\\u043D\\u0438\\u0445 \\u043A\\u043E\\u043D\\u0444\\u043B\\u0438\\u043A\\u0442\\u0430\\u0445 \\u0441\\u043B\\u0438\\u044F\\u043D\\u0438\\u044F. \",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439 \\u043F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u041C\\u0430\\u0440\\u043A\\u0435\\u0440 \\u043E\\u0431\\u0437\\u043E\\u0440\\u043D\\u043E\\u0439 \\u043B\\u0438\\u043D\\u0435\\u0439\\u043A\\u0438 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u0444\\u0440\\u0430\\u0433\\u043C\\u0435\\u043D\\u0442\\u0430. \\u0426\\u0432\\u0435\\u0442 \\u043D\\u0435 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043D\\u0435\\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0447\\u0442\\u043E\\u0431\\u044B \\u043D\\u0435 \\u0441\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0435 \\u043D\\u0438\\u0436\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u043E\\u0444\\u043E\\u0440\\u043C\\u043B\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430 \\u043E\\u0448\\u0438\\u0431\\u043A\\u0438, \\u0443\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u043D\\u0430 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0435 \\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C.\",\"\\u0426\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430, \\u0443\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u043D\\u0430 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0435 \\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C.\",\"\\u0426\\u0432\\u0435\\u0442, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u044B\\u0439 \\u0434\\u043B\\u044F \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u043E\\u0433\\u043E \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430, \\u0443\\u043A\\u0430\\u0437\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E \\u043D\\u0430 \\u043D\\u0430\\u043B\\u0438\\u0447\\u0438\\u0435 \\u043F\\u0440\\u043E\\u0431\\u043B\\u0435\\u043C.\",\"\\u0424\\u043E\\u043D \\u043F\\u043E\\u043B\\u044F \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u041F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0438\\u0439 \\u043F\\u043B\\u0430\\u043D \\u043F\\u043E\\u043B\\u044F \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u0413\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u043F\\u043E\\u043B\\u044F \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u044B\\u0445 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0432 \\u043F\\u043E\\u043B\\u044F\\u0445 \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u044B\\u0445 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0432 \\u043F\\u043E\\u043B\\u044F\\u0445 \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u043E\\u0432\\u043E\\u0433\\u043E \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0432 \\u043F\\u043E\\u043B\\u044F\\u0445 \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u044B\\u0445 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440\\u043E\\u0432 \\u0432 \\u043F\\u043E\\u043B\\u044F\\u0445 \\u0432\\u0432\\u043E\\u0434\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u043E\\u044F\\u0441\\u043D\\u044F\\u044E\\u0449\\u0435\\u0433\\u043E \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 \\u0432\\u0432\\u043E\\u0434\\u0430.\",'\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u0421\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F\".','\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u0421\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F\".','\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u0421\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u044F\".','\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\".','\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\".','\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u041F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0435\".','\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430\".','\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u0438 \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430\".','\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043F\\u0440\\u043E\\u0432\\u0435\\u0440\\u043A\\u0438 \\u0432\\u0432\\u043E\\u0434\\u0430 \\u0434\\u043B\\u044F \\u0443\\u0440\\u043E\\u0432\\u043D\\u044F \\u0441\\u0435\\u0440\\u044C\\u0435\\u0437\\u043D\\u043E\\u0441\\u0442\\u0438 \"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430\".',\"\\u0424\\u043E\\u043D \\u0440\\u0430\\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0440\\u0430\\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430.\",\"\\u041F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0438\\u0439 \\u043F\\u043B\\u0430\\u043D \\u0440\\u0430\\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430.\",\"\\u0413\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \\u0440\\u0430\\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u044E\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u044F \\u043A\\u043D\\u043E\\u043F\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432\\u0442\\u043E\\u0440\\u0438\\u0447\\u043D\\u043E\\u0439 \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u0442\\u043E\\u0440\\u0438\\u0447\\u043D\\u043E\\u0439 \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u0442\\u043E\\u0440\\u0438\\u0447\\u043D\\u043E\\u0439 \\u043A\\u043D\\u043E\\u043F\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u043C\\u044B\\u0448\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u0433\\u043E \\u043F\\u0435\\u0440\\u0435\\u043A\\u043B\\u044E\\u0447\\u0430\\u0442\\u0435\\u043B\\u044F \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F \\u043C\\u044B\\u0448\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u043B\\u0430\\u0436\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u0430 \\u0444\\u043B\\u0430\\u0436\\u043A\\u0430 \\u043F\\u0440\\u0438 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u0432 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u043C \\u043E\\u043D \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u043B\\u0430\\u0436\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u043B\\u0430\\u0436\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u0430 \\u0444\\u043B\\u0430\\u0436\\u043A\\u0430, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442, \\u0432 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u043C \\u043E\\u043D \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043C\\u0435\\u0442\\u043A\\u0438 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448. \\u041C\\u0435\\u0442\\u043A\\u0430 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0434\\u043B\\u044F \\u043E\\u0431\\u043E\\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043C\\u0435\\u0442\\u043A\\u0438 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448. \\u041C\\u0435\\u0442\\u043A\\u0430 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0434\\u043B\\u044F \\u043E\\u0431\\u043E\\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043C\\u0435\\u0442\\u043A\\u0438 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448. \\u041C\\u0435\\u0442\\u043A\\u0430 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0434\\u043B\\u044F \\u043E\\u0431\\u043E\\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043D\\u0438\\u0436\\u043D\\u0435\\u0439 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043C\\u0435\\u0442\\u043A\\u0438 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448. \\u041C\\u0435\\u0442\\u043A\\u0430 \\u043D\\u0430\\u0441\\u0442\\u0440\\u0430\\u0438\\u0432\\u0430\\u0435\\u043C\\u043E\\u0433\\u043E \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0434\\u043B\\u044F \\u043E\\u0431\\u043E\\u0437\\u043D\\u0430\\u0447\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u0447\\u0435\\u0442\\u0430\\u043D\\u0438\\u044F \\u043A\\u043B\\u0430\\u0432\\u0438\\u0448.\",\"\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043A\\u043E\\u043D\\u0442\\u0443\\u0440\\u0430 \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C\\xA0\\u2014 \\u043D\\u0435\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043A\\u043E\\u043D\\u0442\\u0443\\u0440\\u0430 \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D \\u0438 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430 \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043E\\u043A \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u043E \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B. \\u0410\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0439 \\u0441\\u043F\\u0438\\u0441\\u043E\\u043A \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u043E \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0442\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0439 \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430 \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043E\\u043A \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u043E \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B. \\u0410\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0439 \\u0441\\u043F\\u0438\\u0441\\u043E\\u043A \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u043E \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0442\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0439 \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u043D\\u0435 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u2014 \\u043D\\u0435\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043A\\u043E\\u043D\\u0442\\u0443\\u0440\\u0430 \\u043D\\u0430\\u0445\\u043E\\u0434\\u044F\\u0449\\u0435\\u0433\\u043E\\u0441\\u044F \\u0432 \\u0444\\u043E\\u043A\\u0443\\u0441\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430 List/Tree, \\u043A\\u043E\\u0433\\u0434\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442 List/Tree \\u043D\\u0435 \\u0430\\u043A\\u0442\\u0438\\u0432\\u0435\\u043D. \\u041D\\u0430 \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0435 List/Tree \\u0435\\u0441\\u0442\\u044C \\u0444\\u043E\\u043A\\u0443\\u0441 \\u043A\\u043B\\u0430\\u0432\\u0438\\u0430\\u0442\\u0443\\u0440\\u044B, \\u043D\\u0430 \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u043E\\u043C\\xA0\\u2014 \\u043D\\u0435\\u0442.\",\"\\u0424\\u043E\\u043D\\u043E\\u0432\\u044B\\u0439 \\u0446\\u0432\\u0435\\u0442 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 List/Tree \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u043C\\u044B\\u0448\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 List/Tree \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430 \\u043C\\u044B\\u0448\\u0438.\",\"\\u041F\\u0435\\u0440\\u0435\\u0442\\u0430\\u0441\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u0435 \\u0444\\u043E\\u043D\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430 \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u043F\\u0440\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u0438\\u0438 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043D\\u0430\\u0434 \\u0434\\u0440\\u0443\\u0433\\u0438\\u043C\\u0438 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430\\u043C\\u0438 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043C\\u044B\\u0448\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u043F\\u0435\\u0440\\u0435\\u0442\\u0430\\u0441\\u043A\\u0438\\u0432\\u0430\\u043D\\u0438\\u044F \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430/\\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u043F\\u0440\\u0438 \\u043F\\u0435\\u0440\\u0435\\u043C\\u0435\\u0449\\u0435\\u043D\\u0438\\u0438 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043C\\u0435\\u0436\\u0434\\u0443 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430\\u043C\\u0438 \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E \\u043C\\u044B\\u0448\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u044F \\u043F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435 \\u043F\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0443 List/Tree.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u044F \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u0440\\u0438 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435 \\u043F\\u043E \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0443 List/Tree.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430/\\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u0434\\u043B\\u044F \\u043D\\u0435\\u0434\\u043E\\u043F\\u0443\\u0441\\u0442\\u0438\\u043C\\u044B\\u0445 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0434\\u043B\\u044F \\u043D\\u0435\\u0440\\u0430\\u0437\\u0440\\u0435\\u0448\\u0435\\u043D\\u043D\\u043E\\u0433\\u043E \\u043A\\u043E\\u0440\\u043D\\u0435\\u0432\\u043E\\u0433\\u043E \\u0443\\u0437\\u043B\\u0430 \\u0432 \\u043F\\u0440\\u043E\\u0432\\u043E\\u0434\\u043D\\u0438\\u043A\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430, \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0430\\u0449\\u0438\\u0445 \\u043E\\u0448\\u0438\\u0431\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430, \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0430\\u0449\\u0438\\u0445 \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u0430 \\u0442\\u0438\\u043F\\u043E\\u0432 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043A\\u043E\\u043D\\u0442\\u0443\\u0440\\u0430 \\u0434\\u043B\\u044F \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u0430 \\u0442\\u0438\\u043F\\u043E\\u0432 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043A\\u043E\\u043D\\u0442\\u0443\\u0440\\u0430 \\u0434\\u043B\\u044F \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u0430 \\u0442\\u0438\\u043F\\u043E\\u0432 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445 \\u043F\\u0440\\u0438 \\u043E\\u0442\\u0441\\u0443\\u0442\\u0441\\u0442\\u0432\\u0438\\u0438 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043D\\u0438 \\u0434\\u043B\\u044F \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F \\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u0430 \\u0442\\u0438\\u043F\\u043E\\u0432 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430\\u0445 \\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u044C\\u044F\\u0445.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043E\\u0442\\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u043E\\u0442\\u0444\\u0438\\u043B\\u044C\\u0442\\u0440\\u043E\\u0432\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0435 \\u0438\\u043B\\u0438 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0435 \\u0434\\u043B\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432, \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435 \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0445 \\u0443\\u043C\\u0435\\u043D\\u044C\\u0448\\u0435\\u043D\\u043E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0448\\u0442\\u0440\\u0438\\u0445\\u0430 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u0434\\u043B\\u044F \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0448\\u0442\\u0440\\u0438\\u0445\\u0430 \\u0434\\u0435\\u0440\\u0435\\u0432\\u0430 \\u0434\\u043B\\u044F \\u043D\\u0435\\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043D\\u0430\\u043F\\u0440\\u0430\\u0432\\u043B\\u044F\\u044E\\u0449\\u0438\\u0445 \\u043E\\u0442\\u0441\\u0442\\u0443\\u043F\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0442\\u0430\\u0431\\u043B\\u0438\\u0446\\u044B \\u043C\\u0435\\u0436\\u0434\\u0443 \\u0441\\u0442\\u043E\\u043B\\u0431\\u0446\\u0430\\u043C\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043D\\u0435\\u0447\\u0435\\u0442\\u043D\\u044B\\u0445 \\u0441\\u0442\\u0440\\u043E\\u043A \\u0442\\u0430\\u0431\\u043B\\u0438\\u0446\\u044B.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u0434\\u043B\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u043D\\u0430 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u043C \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0444\\u043E\\u043A\\u0443\\u0441.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0441\\u043F\\u0438\\u0441\\u043A\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0439 \\u0434\\u043B\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u043D\\u0430 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u043C \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0444\\u043E\\u043A\\u0443\\u0441.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446 \\u043C\\u0435\\u043D\\u044E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u043F\\u0443\\u043D\\u043A\\u0442\\u043E\\u0432 \\u043C\\u0435\\u043D\\u044E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u0443\\u043D\\u043A\\u0442\\u043E\\u0432 \\u043C\\u0435\\u043D\\u044E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u043F\\u0443\\u043D\\u043A\\u0442\\u0430 \\u043C\\u0435\\u043D\\u044E \\u0432 \\u043C\\u0435\\u043D\\u044E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u043F\\u0443\\u043D\\u043A\\u0442\\u0430 \\u0432 \\u043C\\u0435\\u043D\\u044E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u0432\\u044B\\u0431\\u0440\\u0430\\u043D\\u043D\\u043E\\u0433\\u043E \\u043F\\u0443\\u043D\\u043A\\u0442\\u0430 \\u0432 \\u043C\\u0435\\u043D\\u044E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0440\\u0430\\u0437\\u0434\\u0435\\u043B\\u0438\\u0442\\u0435\\u043B\\u044F \\u043C\\u0435\\u043D\\u044E \\u0432 \\u043C\\u0435\\u043D\\u044E.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B \\u0434\\u043B\\u044F \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430 \\u0441\\u043E\\u0432\\u043F\\u0430\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B \\u0434\\u043B\\u044F \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u044F\\u044E\\u0449\\u0438\\u0445\\u0441\\u044F \\u0432\\u044B\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0439 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B \\u0434\\u043B\\u044F \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0435 \\u0434\\u043B\\u044F \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043C\\u0438\\u043D\\u0438\\u043A\\u0430\\u0440\\u0442\\u044B \\u0434\\u043B\\u044F \\u043F\\u0440\\u0435\\u0434\\u0443\\u043F\\u0440\\u0435\\u0436\\u0434\\u0435\\u043D\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043C\\u0430\\u0440\\u043A\\u0435\\u0440\\u0430 \\u043C\\u0438\\u043D\\u0438\\u043A\\u0430\\u0440\\u0442\\u044B \\u0434\\u043B\\u044F \\u043E\\u0448\\u0438\\u0431\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B.\",'\\u041F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u043E\\u0441\\u0442\\u044C \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u043E\\u0432 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u043C\\u0430\\u044F \\u0433\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u0435. \\u041D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \"#000000c0\" \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B \\u0441 \\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u043E\\u0441\\u0442\\u044C\\u044E 75%.',\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u043E\\u043B\\u0437\\u0443\\u043D\\u043A\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u043E\\u043B\\u0437\\u0443\\u043D\\u043A\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043D\\u0430 \\u043D\\u0435\\u0433\\u043E \\u0443\\u043A\\u0430\\u0437\\u0430\\u0442\\u0435\\u043B\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u043E\\u043B\\u0437\\u0443\\u043D\\u043A\\u0430 \\u043C\\u0438\\u043D\\u0438-\\u043A\\u0430\\u0440\\u0442\\u044B \\u043F\\u0440\\u0438 \\u0435\\u0433\\u043E \\u0449\\u0435\\u043B\\u0447\\u043A\\u0435.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0430\\u043A\\u0442\\u0438\\u0432\\u043D\\u044B\\u0445 \\u043B\\u0435\\u043D\\u0442.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0431\\u044D\\u0434\\u0436\\u0430. \\u0411\\u044D\\u0434\\u0436\\u0438 - \\u043D\\u0435\\u0431\\u043E\\u043B\\u044C\\u0448\\u0438\\u0435 \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u044B\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0449\\u0438\\u0435 \\u043A\\u043E\\u043B\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043E, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0431\\u044D\\u0434\\u0436\\u0430. \\u0411\\u044D\\u0434\\u0436\\u0438 - \\u043D\\u0435\\u0431\\u043E\\u043B\\u044C\\u0448\\u0438\\u0435 \\u0438\\u043D\\u0444\\u043E\\u0440\\u043C\\u0430\\u0446\\u0438\\u043E\\u043D\\u043D\\u044B\\u0435 \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u044B, \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u044E\\u0449\\u0438\\u0435 \\u043A\\u043E\\u043B\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043E, \\u043D\\u0430\\u043F\\u0440\\u0438\\u043C\\u0435\\u0440, \\u0440\\u0435\\u0437\\u0443\\u043B\\u044C\\u0442\\u0430\\u0442\\u043E\\u0432 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043D\\u0438 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438, \\u043A\\u043E\\u0442\\u043E\\u0440\\u0430\\u044F \\u0441\\u0432\\u0438\\u0434\\u0435\\u0442\\u0435\\u043B\\u044C\\u0441\\u0442\\u0432\\u0443\\u0435\\u0442 \\u043E \\u0442\\u043E\\u043C, \\u0447\\u0442\\u043E \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435 \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0447\\u0438\\u0432\\u0430\\u0435\\u0442\\u0441\\u044F.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u043F\\u043E\\u043B\\u0437\\u0443\\u043D\\u043A\\u0430 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u043E\\u043B\\u0437\\u0443\\u043D\\u043A\\u0430 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u043D\\u0430\\u0432\\u0435\\u0434\\u0435\\u043D\\u0438\\u0438 \\u043A\\u0443\\u0440\\u0441\\u043E\\u0440\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u043F\\u043E\\u043B\\u0437\\u0443\\u043D\\u043A\\u0430 \\u043F\\u043E\\u043B\\u043E\\u0441\\u044B \\u043F\\u0440\\u043E\\u043A\\u0440\\u0443\\u0442\\u043A\\u0438 \\u043F\\u0440\\u0438 \\u0449\\u0435\\u043B\\u0447\\u043A\\u0435 \\u043F\\u043E \\u043D\\u0435\\u043C\\u0443.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0438\\u043D\\u0434\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440\\u0430 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u0435\\u043D\\u0438\\u044F, \\u043A\\u043E\\u0442\\u043E\\u0440\\u044B\\u0439 \\u043C\\u043E\\u0436\\u0435\\u0442 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0442\\u044C\\u0441\\u044F \\u0434\\u043B\\u044F \\u0434\\u043B\\u0438\\u0442\\u0435\\u043B\\u044C\\u043D\\u044B\\u0445 \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u0439.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430. \\u041C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043A\\u043E\\u043D\\u0442\\u0435\\u0439\\u043D\\u0435\\u0440\\u043E\\u043C \\u0434\\u043B\\u044F \\u0442\\u0430\\u043A\\u0438\\u0445 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430, \\u043A\\u0430\\u043A \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0430 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430. \\u041C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043A\\u043E\\u043D\\u0442\\u0435\\u0439\\u043D\\u0435\\u0440\\u043E\\u043C \\u0434\\u043B\\u044F \\u0442\\u0430\\u043A\\u0438\\u0445 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430, \\u043A\\u0430\\u043A \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0430 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0434\\u043B\\u044F \\u0437\\u0430\\u0433\\u043E\\u043B\\u043E\\u0432\\u043A\\u0430 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430. \\u041C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u044F\\u0432\\u043B\\u044F\\u0435\\u0442\\u0441\\u044F \\u043A\\u043E\\u043D\\u0442\\u0435\\u0439\\u043D\\u0435\\u0440\\u043E\\u043C \\u0434\\u043B\\u044F \\u0442\\u0430\\u043A\\u0438\\u0445 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432 \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430, \\u043A\\u0430\\u043A \\u043F\\u0430\\u043B\\u0438\\u0442\\u0440\\u0430 \\u043A\\u043E\\u043C\\u0430\\u043D\\u0434.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0434\\u043B\\u044F \\u0433\\u0440\\u0443\\u043F\\u043F\\u0438\\u0440\\u043E\\u0432\\u043A\\u0438 \\u043C\\u0435\\u0442\\u043E\\u043A.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0434\\u043B\\u044F \\u0433\\u0440\\u0443\\u043F\\u043F\\u0438\\u0440\\u043E\\u0432\\u043A\\u0438 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446.\",\"\\u0420\\u0435\\u043A\\u043E\\u043C\\u0435\\u043D\\u0434\\u0443\\u0435\\u0442\\u0441\\u044F \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C quickInputList.focusBackground.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0434\\u043B\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u043D\\u0430 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u043C \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0444\\u043E\\u043A\\u0443\\u0441.\",\"\\u0426\\u0432\\u0435\\u0442 \\u043F\\u0435\\u0440\\u0435\\u0434\\u043D\\u0435\\u0433\\u043E \\u043F\\u043B\\u0430\\u043D\\u0430 \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0434\\u043B\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u043D\\u0430 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u043C \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0444\\u043E\\u043A\\u0443\\u0441.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0444\\u043E\\u043D\\u0430 \\u0441\\u0440\\u0435\\u0434\\u0441\\u0442\\u0432\\u0430 \\u0431\\u044B\\u0441\\u0442\\u0440\\u043E\\u0433\\u043E \\u0432\\u044B\\u0431\\u043E\\u0440\\u0430 \\u0434\\u043B\\u044F \\u044D\\u043B\\u0435\\u043C\\u0435\\u043D\\u0442\\u0430, \\u043D\\u0430 \\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u043C \\u043D\\u0430\\u0445\\u043E\\u0434\\u0438\\u0442\\u0441\\u044F \\u0444\\u043E\\u043A\\u0443\\u0441.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0442\\u0435\\u043A\\u0441\\u0442\\u0430 \\u0432 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0435 \\u0441\\u043E\\u043E\\u0431\\u0449\\u0435\\u043D\\u0438\\u044F \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0435\\u043D\\u0438\\u044F \\u0432\\u044C\\u044E\\u043B\\u0435\\u0442\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0438\\u0439 \\u0434\\u043B\\u044F \\u0437\\u0430\\u043F\\u0440\\u043E\\u0441\\u0430 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u0426\\u0432\\u0435\\u0442 \\u0433\\u0440\\u0430\\u043D\\u0438\\u0446\\u044B \\u0434\\u043B\\u044F \\u0441\\u043E\\u043E\\u0442\\u0432\\u0435\\u0442\\u0441\\u0442\\u0432\\u0443\\u044E\\u0449\\u0438\\u0445 \\u0437\\u0430\\u043F\\u0440\\u043E\\u0441\\u043E\\u0432 \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435 \\u043F\\u043E\\u0438\\u0441\\u043A\\u0430.\",\"\\u042D\\u0442\\u043E\\u0442 \\u0446\\u0432\\u0435\\u0442 \\u0434\\u043E\\u043B\\u0436\\u0435\\u043D \\u0431\\u044B\\u0442\\u044C \\u043F\\u0440\\u043E\\u0437\\u0440\\u0430\\u0447\\u043D\\u044B\\u043C, \\u0438\\u043D\\u0430\\u0447\\u0435 \\u043E\\u043D \\u0431\\u0443\\u0434\\u0435\\u0442 \\u0441\\u043A\\u0440\\u044B\\u0432\\u0430\\u0442\\u044C \\u0441\\u043E\\u0434\\u0435\\u0440\\u0436\\u0438\\u043C\\u043E\\u0435\",\"\\u0418\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u043E\\u0432\\u0430\\u0442\\u044C \\u0446\\u0432\\u0435\\u0442 \\u043F\\u043E \\u0443\\u043C\\u043E\\u043B\\u0447\\u0430\\u043D\\u0438\\u044E.\",\"\\u0418\\u0434\\u0435\\u043D\\u0442\\u0438\\u0444\\u0438\\u043A\\u0430\\u0442\\u043E\\u0440 \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u043C\\u043E\\u0433\\u043E \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430. \\u0415\\u0441\\u043B\\u0438 \\u043F\\u0430\\u0440\\u0430\\u043C\\u0435\\u0442\\u0440 \\u043D\\u0435 \\u0437\\u0430\\u0434\\u0430\\u043D, \\u0438\\u0441\\u043F\\u043E\\u043B\\u044C\\u0437\\u0443\\u0435\\u0442\\u0441\\u044F \\u0448\\u0440\\u0438\\u0444\\u0442, \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u043D\\u044B\\u0439 \\u043F\\u0435\\u0440\\u0432\\u044B\\u043C.\",\"\\u0421\\u0438\\u043C\\u0432\\u043E\\u043B \\u0448\\u0440\\u0438\\u0444\\u0442\\u0430, \\u0441\\u0432\\u044F\\u0437\\u0430\\u043D\\u043D\\u044B\\u0439 \\u0441 \\u043E\\u043F\\u0440\\u0435\\u0434\\u0435\\u043B\\u0435\\u043D\\u0438\\u0435\\u043C \\u0437\\u043D\\u0430\\u0447\\u043A\\u0430.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F \\u0437\\u0430\\u043A\\u0440\\u044B\\u0442\\u0438\\u044F \\u0432 \\u043C\\u0438\\u043D\\u0438-\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\u0445.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0430 \\u043A \\u043F\\u0440\\u0435\\u0434\\u044B\\u0434\\u0443\\u0449\\u0435\\u043C\\u0443 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0417\\u043D\\u0430\\u0447\\u043E\\u043A \\u0434\\u043B\\u044F \\u043F\\u0435\\u0440\\u0435\\u0445\\u043E\\u0434\\u0430 \\u043A \\u0441\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0435\\u043C\\u0443 \\u0440\\u0430\\u0441\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044E \\u0432 \\u0440\\u0435\\u0434\\u0430\\u043A\\u0442\\u043E\\u0440\\u0435.\",\"\\u0421\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0438\\u0435 \\u0444\\u0430\\u0439\\u043B\\u044B \\u0431\\u044B\\u043B\\u0438 \\u0437\\u0430\\u043A\\u0440\\u044B\\u0442\\u044B \\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u044B \\u043D\\u0430 \\u0434\\u0438\\u0441\\u043A\\u0435: {0}.\",\"\\u0421\\u043B\\u0435\\u0434\\u0443\\u044E\\u0449\\u0438\\u0435 \\u0444\\u0430\\u0439\\u043B\\u044B \\u0431\\u044B\\u043B\\u0438 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u044B \\u043D\\u0435\\u0441\\u043E\\u0432\\u043C\\u0435\\u0441\\u0442\\u0438\\u043C\\u044B\\u043C \\u043E\\u0431\\u0440\\u0430\\u0437\\u043E\\u043C: {0}.\",'\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432. {1}','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432. {1}','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044E \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432, \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u0431\\u044B\\u043B\\u0438 \\u0432\\u043D\\u0435\\u0441\\u0435\\u043D\\u044B \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u0432 {1}','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432, \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u0432 {1} \\u0443\\u0436\\u0435 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B \\u0438\\u043B\\u0438 \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432, \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u0443\\u0436\\u0435 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u043B\\u0430\\u0441\\u044C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B \\u0438\\u043B\\u0438 \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F','\\u0412\\u044B \\u0445\\u043E\\u0442\\u0438\\u0442\\u0435 \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432?',\"&&\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432 \\u0444\\u0430\\u0439\\u043B\\u0430\\u0445 {0}\",\"\\u041E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u044D\\u0442\\u043E\\u0442 &&\\u0444\\u0430\\u0439\\u043B\",'\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \"{0}\", \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u0443\\u0436\\u0435 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B \\u0438\\u043B\\u0438 \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F','\\u0412\\u044B \\u0445\\u043E\\u0442\\u0438\\u0442\\u0435 \\u043E\\u0442\\u043C\\u0435\\u043D\\u0438\\u0442\\u044C \"{0}\"?',\"&&\\u0414\\u0430\",\"\\u041D\\u0435\\u0442\",'\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044E \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432. {1}','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044E \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432. {1}','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044E \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432, \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u0431\\u044B\\u043B\\u0438 \\u0432\\u043D\\u0435\\u0441\\u0435\\u043D\\u044B \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u044F \\u0432 {1}','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432, \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u0434\\u043B\\u044F {1} \\u0443\\u0436\\u0435 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B \\u0438\\u043B\\u0438 \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F.','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \"{0}\" \\u0434\\u043B\\u044F \\u0432\\u0441\\u0435\\u0445 \\u0444\\u0430\\u0439\\u043B\\u043E\\u0432, \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u0443\\u0436\\u0435 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u043B\\u0430\\u0441\\u044C \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B \\u0438\\u043B\\u0438 \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F','\\u041D\\u0435 \\u0443\\u0434\\u0430\\u043B\\u043E\\u0441\\u044C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0438\\u0442\\u044C \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \"{0}\", \\u0442\\u0430\\u043A \\u043A\\u0430\\u043A \\u0443\\u0436\\u0435 \\u0432\\u044B\\u043F\\u043E\\u043B\\u043D\\u044F\\u0435\\u0442\\u0441\\u044F \\u043E\\u043F\\u0435\\u0440\\u0430\\u0446\\u0438\\u044F \\u043E\\u0442\\u043C\\u0435\\u043D\\u044B \\u0438\\u043B\\u0438 \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u0430 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u044F',\"\\u0420\\u0430\\u0431\\u043E\\u0447\\u0430\\u044F \\u043E\\u0431\\u043B\\u0430\\u0441\\u0442\\u044C \\u043A\\u043E\\u0434\\u0430\"],globalThis._VSCODE_NLS_LANGUAGE=\"ru\";\n\n//# sourceMappingURL=../min-maps/nls.messages.ru.js.map\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.zh-cn.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0} ({1})\",\"\\u8F93\\u5165\",\"\\u533A\\u5206\\u5927\\u5C0F\\u5199\",\"\\u5168\\u5B57\\u5339\\u914D\",\"\\u4F7F\\u7528\\u6B63\\u5219\\u8868\\u8FBE\\u5F0F\",\"\\u8F93\\u5165\",\"\\u4FDD\\u7559\\u5927\\u5C0F\\u5199\",\"\\u5728\\u8F85\\u52A9\\u89C6\\u56FE\\u4E2D\\u7528 {0} \\u68C0\\u67E5\\u6B64\\u9879\\u3002\",\"\\u901A\\u8FC7\\u547D\\u4EE4\\u201C\\u6253\\u5F00\\u8F85\\u52A9\\u89C6\\u56FE\\u201D\\u5728\\u8F85\\u52A9\\u89C6\\u56FE\\u4E2D\\u68C0\\u67E5\\u6B64\\u9879\\uFF0C\\u8BE5\\u547D\\u4EE4\\u5F53\\u524D\\u65E0\\u6CD5\\u901A\\u8FC7\\u952E\\u7ED1\\u5B9A\\u89E6\\u53D1\\u3002\",\"\\u9519\\u8BEF: {0}\",\"\\u8B66\\u544A: {0}\",\"\\u4FE1\\u606F: {0}\",\" \\u6216\\u4F7F\\u7528 {0} \\u4EE5\\u67E5\\u770B\\u5386\\u53F2\\u8BB0\\u5F55\",\" (\\u4F7F\\u7528 {0} \\u67E5\\u770B\\u5386\\u53F2\\u8BB0\\u5F55)\",\"\\u6E05\\u9664\\u7684\\u8F93\\u5165\",\"\\u672A\\u7ED1\\u5B9A\",\"\\u9009\\u62E9\\u6846\",\"\\u66F4\\u591A\\u64CD\\u4F5C...\",\"\\u7B5B\\u9009\\u5668\",\"\\u6A21\\u7CCA\\u5339\\u914D\",\"\\u8981\\u7B5B\\u9009\\u7684\\u7C7B\\u578B\",\"\\u8981\\u641C\\u7D22\\u7684\\u7C7B\\u578B\",\"\\u8981\\u641C\\u7D22\\u7684\\u7C7B\\u578B\",\"\\u5173\\u95ED\",\"\\u65E0\\u7ED3\\u679C\",\"\\u672A\\u627E\\u5230\\u4EFB\\u4F55\\u7ED3\\u679C\\u3002\",null,\"(\\u7A7A)\",\"{0}: {1}\",\"\\u53D1\\u751F\\u4E86\\u7CFB\\u7EDF\\u9519\\u8BEF ({0})\",\"\\u51FA\\u73B0\\u672A\\u77E5\\u9519\\u8BEF\\u3002\\u6709\\u5173\\u8BE6\\u7EC6\\u4FE1\\u606F\\uFF0C\\u8BF7\\u53C2\\u9605\\u65E5\\u5FD7\\u3002\",\"\\u51FA\\u73B0\\u672A\\u77E5\\u9519\\u8BEF\\u3002\\u6709\\u5173\\u8BE6\\u7EC6\\u4FE1\\u606F\\uFF0C\\u8BF7\\u53C2\\u9605\\u65E5\\u5FD7\\u3002\",\"{0} \\u4E2A(\\u5171 {1} \\u4E2A\\u9519\\u8BEF)\",\"\\u51FA\\u73B0\\u672A\\u77E5\\u9519\\u8BEF\\u3002\\u6709\\u5173\\u8BE6\\u7EC6\\u4FE1\\u606F\\uFF0C\\u8BF7\\u53C2\\u9605\\u65E5\\u5FD7\\u3002\",\"Ctrl\",\"Shift\",\"Alt\",\"Windows\",\"Ctrl\",\"Shift\",\"Alt\",\"\\u8D85\\u952E\",\"Control\",\"Shift\",\"\\u9009\\u9879\",\"Command\",\"Control\",\"Shift\",\"Alt\",\"Windows\",\"Control\",\"Shift\",\"Alt\",\"\\u8D85\\u952E\",null,null,null,null,null,\"\\u5373\\u4F7F\\u8F6C\\u5230\\u8F83\\u957F\\u7684\\u884C\\uFF0C\\u4E5F\\u4E00\\u76F4\\u5230\\u672B\\u5C3E\",\"\\u5373\\u4F7F\\u8F6C\\u5230\\u8F83\\u957F\\u7684\\u884C\\uFF0C\\u4E5F\\u4E00\\u76F4\\u5230\\u672B\\u5C3E\",\"\\u5DF2\\u5220\\u9664\\u8F85\\u52A9\\u6E38\\u6807\",\"\\u64A4\\u6D88(&&U)\",\"\\u64A4\\u6D88\",\"\\u6062\\u590D(&&R)\",\"\\u6062\\u590D\",\"\\u5168\\u9009(&&S)\",\"\\u9009\\u62E9\\u5168\\u90E8\",\"\\u6309\\u4F4F {0} \\u952E\\u5C06\\u9F20\\u6807\\u60AC\\u505C\",\"\\u6B63\\u5728\\u52A0\\u8F7D\\u2026\",\"\\u5DF2\\u5C06\\u5149\\u6807\\u6570\\u9650\\u5236\\u4E3A {0}\\u3002\\u8BF7\\u8003\\u8651\\u4F7F\\u7528 [\\u67E5\\u627E\\u548C\\u66FF\\u6362](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace)\\u8FDB\\u884C\\u8F83\\u5927\\u7684\\u66F4\\u6539\\u6216\\u589E\\u52A0\\u7F16\\u8F91\\u5668\\u591A\\u5149\\u6807\\u9650\\u5236\\u8BBE\\u7F6E\\u3002\",\"\\u589E\\u52A0\\u591A\\u5149\\u6807\\u9650\\u5236\",\"\\u5207\\u6362\\u6298\\u53E0\\u672A\\u66F4\\u6539\\u7684\\u533A\\u57DF\",\"\\u5207\\u6362\\u663E\\u793A\\u79FB\\u52A8\\u7684\\u4EE3\\u7801\\u5757\",\"\\u5728\\u7A7A\\u95F4\\u53D7\\u9650\\u65F6\\u5207\\u6362\\u4F7F\\u7528\\u5185\\u8054\\u89C6\\u56FE\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\",\"\\u5207\\u6362\\u4FA7\\u9762\",\"\\u9000\\u51FA\\u6BD4\\u8F83\\u79FB\\u52A8\",\"\\u6298\\u53E0\\u6240\\u6709\\u672A\\u66F4\\u6539\\u7684\\u533A\\u57DF\",\"\\u663E\\u793A\\u6240\\u6709\\u672A\\u66F4\\u6539\\u7684\\u533A\\u57DF\",\"\\u8FD8\\u539F\",\"\\u53EF\\u8BBF\\u95EE\\u7684\\u5DEE\\u5F02\\u67E5\\u770B\\u5668\",\"\\u8F6C\\u81F3\\u4E0B\\u4E00\\u4E2A\\u5DEE\\u5F02\",\"\\u8F6C\\u81F3\\u4E0A\\u4E00\\u4E2A\\u5DEE\\u5F02\",\"\\u53EF\\u8BBF\\u95EE\\u5DEE\\u5F02\\u67E5\\u770B\\u5668\\u4E2D\\u201C\\u63D2\\u5165\\u201D\\u7684\\u56FE\\u6807\\u3002\",\"\\u53EF\\u8BBF\\u95EE\\u5DEE\\u5F02\\u67E5\\u770B\\u5668\\u4E2D\\u201C\\u5220\\u9664\\u201D\\u7684\\u56FE\\u6807\\u3002\",\"\\u53EF\\u8BBF\\u95EE\\u5DEE\\u5F02\\u67E5\\u770B\\u5668\\u4E2D\\u201C\\u5173\\u95ED\\u201D\\u7684\\u56FE\\u6807\\u3002\",\"\\u5173\\u95ED\",\"\\u53EF\\u8BBF\\u95EE\\u7684\\u5DEE\\u5F02\\u67E5\\u770B\\u5668\\u3002\\u4F7F\\u7528\\u5411\\u4E0A\\u548C\\u5411\\u4E0B\\u7BAD\\u5934\\u5BFC\\u822A\\u3002\",\"\\u672A\\u66F4\\u6539\\u884C\",\"\\u66F4\\u6539\\u4E86 1 \\u884C\",\"\\u66F4\\u6539\\u4E86 {0} \\u884C\",\"\\u5DEE\\u5F02 {0}/ {1}: \\u539F\\u59CB\\u884C {2}\\uFF0C{3}\\uFF0C\\u4FEE\\u6539\\u540E\\u7684\\u884C {4}\\uFF0C{5}\",\"\\u7A7A\\u767D\",\"{0} \\u672A\\u66F4\\u6539\\u7684\\u884C {1}\",\"{0}\\u539F\\u59CB\\u884C{1}\\u4FEE\\u6539\\u7684\\u884C{2}\",\"+ {0}\\u4FEE\\u6539\\u7684\\u884C{1}\",\"- {0}\\u539F\\u59CB\\u884C{1}\",\" \\u4F7F\\u7528 {0} \\u6253\\u5F00\\u8F85\\u52A9\\u529F\\u80FD\\u5E2E\\u52A9\\u3002\",\"\\u590D\\u5236\\u5DF2\\u5220\\u9664\\u7684\\u884C\",\"\\u590D\\u5236\\u5DF2\\u5220\\u9664\\u7684\\u884C\",\"\\u590D\\u5236\\u66F4\\u6539\\u7684\\u884C\",\"\\u590D\\u5236\\u66F4\\u6539\\u7684\\u884C\",\"\\u590D\\u5236\\u5DF2\\u5220\\u9664\\u7684\\u884C({0})\",\"\\u590D\\u5236\\u66F4\\u6539\\u7684\\u884C({0})\",\"\\u8FD8\\u539F\\u6B64\\u66F4\\u6539\",\"\\u7A7A\\u95F4\\u53D7\\u9650\\u65F6\\u4F7F\\u7528\\u5185\\u8054\\u89C6\\u56FE\",\"\\u663E\\u793A\\u79FB\\u52A8\\u7684\\u4EE3\\u7801\\u5757\",\"\\u8FD8\\u539F\\u5757\",\"\\u8FD8\\u539F\\u6240\\u9009\\u5185\\u5BB9\",\"\\u6253\\u5F00\\u53EF\\u8BBF\\u95EE\\u5DEE\\u5F02\\u67E5\\u770B\\u5668\",\"\\u6298\\u53E0\\u672A\\u66F4\\u6539\\u7684\\u533A\\u57DF\",\"{0} \\u4E2A\\u9690\\u85CF\\u7684\\u884C\",\"\\u5355\\u51FB\\u6216\\u62D6\\u52A8\\u53EF\\u5728\\u4E0A\\u9762\\u663E\\u793A\\u66F4\\u591A\\u5185\\u5BB9\",\"\\u663E\\u793A\\u672A\\u66F4\\u6539\\u7684\\u533A\\u57DF\",\"\\u5355\\u51FB\\u6216\\u62D6\\u52A8\\u53EF\\u5728\\u4E0B\\u65B9\\u663E\\u793A\\u66F4\\u591A\\u5185\\u5BB9\",\"{0} \\u4E2A\\u9690\\u85CF\\u7684\\u884C\",\"\\u53CC\\u51FB\\u5C55\\u5F00\",\"\\u4EE3\\u7801\\u5DF2\\u79FB\\u52A8\\u81F3\\u884C {0}-{1}\\uFF0C\\u6709\\u66F4\\u6539\",\"\\u4EE3\\u7801\\u5DF2\\u4ECE\\u884C {0}-{1} \\u79FB\\u52A8\\uFF0C\\u6709\\u66F4\\u6539\",\"\\u4EE3\\u7801\\u5DF2\\u79FB\\u52A8\\u5230\\u884C {0} {1}\",\"\\u4EE3\\u7801\\u5DF2\\u4ECE\\u884C {0}-{1} \\u79FB\\u52A8\",\"\\u8FD8\\u539F\\u6240\\u9009\\u66F4\\u6539\",\"\\u8FD8\\u539F\\u66F4\\u6539\",\"\\u5728\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4E2D\\u79FB\\u52A8\\u7684\\u6587\\u672C\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u5728\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4E2D\\u79FB\\u52A8\\u7684\\u6587\\u672C\\u7684\\u6D3B\\u52A8\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u672A\\u66F4\\u6539\\u533A\\u57DF\\u5C0F\\u7EC4\\u4EF6\\u5468\\u56F4\\u7684\\u9634\\u5F71\\u989C\\u8272\\u3002\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4E2D\\u63D2\\u5165\\u9879\\u7684\\u7EBF\\u6761\\u4FEE\\u9970\\u3002\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4E2D\\u5220\\u9664\\u9879\\u7684\\u7EBF\\u6761\\u4FEE\\u9970\\u3002\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u6807\\u9898\\u7684\\u80CC\\u666F\\u8272\",\"\\u591A\\u6587\\u4EF6\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u7684\\u80CC\\u666F\\u8272\",\"\\u591A\\u6587\\u4EF6\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u7684\\u8FB9\\u6846\\u989C\\u8272\",\"\\u6CA1\\u6709\\u5DF2\\u66F4\\u6539\\u7684\\u6587\\u4EF6\",\"\\u7F16\\u8F91\\u5668\",\"\\u4E00\\u4E2A\\u5236\\u8868\\u7B26\\u7B49\\u4E8E\\u7684\\u7A7A\\u683C\\u6570\\u3002\\u5F53 {0} \\u6253\\u5F00\\u65F6\\uFF0C\\u5C06\\u6839\\u636E\\u6587\\u4EF6\\u5185\\u5BB9\\u66FF\\u4EE3\\u6B64\\u8BBE\\u7F6E\\u3002\",'\\u7528\\u4E8E\\u7F29\\u8FDB\\u6216 `\"tabSize\"` \\u7684\\u7A7A\\u683C\\u6570\\uFF0C\\u53EF\\u4F7F\\u7528 `#editor.tabSize#` \\u4E2D\\u7684\\u503C\\u3002\\u5F53 `#editor.detectIndentation#` \\u5904\\u4E8E\\u6253\\u5F00\\u72B6\\u6001\\u65F6\\uFF0C\\u5C06\\u6839\\u636E\\u6587\\u4EF6\\u5185\\u5BB9\\u66FF\\u4EE3\\u6B64\\u8BBE\\u7F6E\\u3002',\"\\u6309 `Tab` \\u65F6\\u63D2\\u5165\\u7A7A\\u683C\\u3002\\u5F53 {0} \\u6253\\u5F00\\u65F6\\uFF0C\\u5C06\\u6839\\u636E\\u6587\\u4EF6\\u5185\\u5BB9\\u66FF\\u4EE3\\u6B64\\u8BBE\\u7F6E\\u3002\",\"\\u63A7\\u5236\\u5728\\u57FA\\u4E8E\\u6587\\u4EF6\\u5185\\u5BB9\\u6253\\u5F00\\u6587\\u4EF6\\u65F6\\u662F\\u5426\\u81EA\\u52A8\\u68C0\\u6D4B {0} \\u548C {1}\\u3002\",\"\\u5220\\u9664\\u81EA\\u52A8\\u63D2\\u5165\\u7684\\u5C3E\\u968F\\u7A7A\\u767D\\u7B26\\u53F7\\u3002\",\"\\u5BF9\\u5927\\u578B\\u6587\\u4EF6\\u8FDB\\u884C\\u7279\\u6B8A\\u5904\\u7406\\uFF0C\\u7981\\u7528\\u67D0\\u4E9B\\u5185\\u5B58\\u5BC6\\u96C6\\u578B\\u529F\\u80FD\\u3002\",\"\\u5173\\u95ED\\u57FA\\u4E8E\\u5B57\\u8BCD\\u7684\\u5EFA\\u8BAE\\u3002\",\"\\u4EC5\\u5EFA\\u8BAE\\u6D3B\\u52A8\\u6587\\u6863\\u4E2D\\u7684\\u5B57\\u8BCD\\u3002\",\"\\u5EFA\\u8BAE\\u4F7F\\u7528\\u540C\\u4E00\\u8BED\\u8A00\\u7684\\u6240\\u6709\\u6253\\u5F00\\u7684\\u6587\\u6863\\u4E2D\\u7684\\u5B57\\u8BCD\\u3002\",\"\\u5EFA\\u8BAE\\u6240\\u6709\\u6253\\u5F00\\u7684\\u6587\\u6863\\u4E2D\\u7684\\u5B57\\u8BCD\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u6839\\u636E\\u6587\\u6863\\u4E2D\\u7684\\u5B57\\u8BCD\\u8BA1\\u7B97\\u8865\\u5168\\uFF0C\\u4EE5\\u53CA\\u4ECE\\u54EA\\u4E9B\\u6587\\u6863\\u4E2D\\u8BA1\\u7B97\\u8865\\u5168\\u3002\",\"\\u5BF9\\u6240\\u6709\\u989C\\u8272\\u4E3B\\u9898\\u542F\\u7528\\u8BED\\u4E49\\u7A81\\u51FA\\u663E\\u793A\\u3002\",\"\\u5BF9\\u6240\\u6709\\u989C\\u8272\\u4E3B\\u9898\\u7981\\u7528\\u8BED\\u4E49\\u7A81\\u51FA\\u663E\\u793A\\u3002\",'\\u8BED\\u4E49\\u7A81\\u51FA\\u663E\\u793A\\u662F\\u7531\\u5F53\\u524D\\u989C\\u8272\\u4E3B\\u9898\\u7684 \"semanticHighlighting\" \\u8BBE\\u7F6E\\u914D\\u7F6E\\u7684\\u3002',\"\\u63A7\\u5236\\u662F\\u5426\\u4E3A\\u652F\\u6301\\u5B83\\u7684\\u8BED\\u8A00\\u663E\\u793A\\u8BED\\u4E49\\u7A81\\u51FA\\u663E\\u793A\\u3002\",\"\\u4FDD\\u6301\\u901F\\u89C8\\u7F16\\u8F91\\u5668\\u5904\\u4E8E\\u6253\\u5F00\\u72B6\\u6001\\uFF0C\\u5373\\u4F7F\\u53CC\\u51FB\\u5176\\u4E2D\\u7684\\u5185\\u5BB9\\u6216\\u8005\\u70B9\\u51FB `Escape` \\u952E\\u4E5F\\u662F\\u5982\\u6B64\\u3002\",\"\\u7531\\u4E8E\\u6027\\u80FD\\u539F\\u56E0\\uFF0C\\u8D85\\u8FC7\\u8FD9\\u4E2A\\u957F\\u5EA6\\u7684\\u884C\\u5C06\\u4E0D\\u4F1A\\u88AB\\u6807\\u8BB0\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u5728 Web \\u8F85\\u52A9\\u8FDB\\u7A0B\\u4E0A\\u5F02\\u6B65\\u8FDB\\u884C\\u6807\\u8BB0\\u5316\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u8BB0\\u5F55\\u5F02\\u6B65\\u8BCD\\u6C47\\u5207\\u5206\\u3002\\u4EC5\\u7528\\u4E8E\\u8C03\\u8BD5\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u5BF9\\u65E7\\u7248\\u540E\\u53F0\\u4EE4\\u724C\\u5316\\u9A8C\\u8BC1\\u5F02\\u6B65\\u4EE4\\u724C\\u5316\\u3002\\u53EF\\u80FD\\u4F1A\\u51CF\\u6162\\u4EE4\\u724C\\u5316\\u901F\\u5EA6\\u3002\\u4EC5\\u7528\\u4E8E\\u8C03\\u8BD5\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u542F\\u7528\\u6811\\u5750\\u6807\\u5206\\u6790\\u548C\\u6536\\u96C6\\u9065\\u6D4B\\u6570\\u636E\\u3002\\u5C06\\u201Ceditor.experimental.preferTreeSitter\\u201D\\u8BBE\\u7F6E\\u4E3A\\u7279\\u5B9A\\u8BED\\u8A00\\u5C06\\u4F18\\u5148\\u3002\",\"\\u5B9A\\u4E49\\u589E\\u52A0\\u548C\\u51CF\\u5C11\\u7F29\\u8FDB\\u7684\\u62EC\\u53F7\\u3002\",\"\\u5DE6\\u65B9\\u62EC\\u53F7\\u5B57\\u7B26\\u6216\\u5B57\\u7B26\\u4E32\\u5E8F\\u5217\\u3002\",\"\\u53F3\\u65B9\\u62EC\\u53F7\\u5B57\\u7B26\\u6216\\u5B57\\u7B26\\u4E32\\u5E8F\\u5217\\u3002\",\"\\u5982\\u679C\\u542F\\u7528\\u65B9\\u62EC\\u53F7\\u5BF9\\u7740\\u8272\\uFF0C\\u5219\\u6309\\u7167\\u5176\\u5D4C\\u5957\\u7EA7\\u522B\\u5B9A\\u4E49\\u5DF2\\u7740\\u8272\\u7684\\u65B9\\u62EC\\u53F7\\u5BF9\\u3002\",\"\\u5DE6\\u65B9\\u62EC\\u53F7\\u5B57\\u7B26\\u6216\\u5B57\\u7B26\\u4E32\\u5E8F\\u5217\\u3002\",\"\\u53F3\\u65B9\\u62EC\\u53F7\\u5B57\\u7B26\\u6216\\u5B57\\u7B26\\u4E32\\u5E8F\\u5217\\u3002\",\"\\u8D85\\u65F6(\\u4EE5\\u6BEB\\u79D2\\u4E3A\\u5355\\u4F4D)\\uFF0C\\u4E4B\\u540E\\u5C06\\u53D6\\u6D88\\u5DEE\\u5F02\\u8BA1\\u7B97\\u3002\\u4F7F\\u75280\\u8868\\u793A\\u6CA1\\u6709\\u8D85\\u65F6\\u3002\",\"\\u8981\\u4E3A\\u5176\\u8BA1\\u7B97\\u5DEE\\u5F02\\u7684\\u6700\\u5927\\u6587\\u4EF6\\u5927\\u5C0F(MB)\\u3002\\u4F7F\\u7528 0 \\u8868\\u793A\\u65E0\\u9650\\u5236\\u3002\",\"\\u63A7\\u5236\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u7684\\u663E\\u793A\\u65B9\\u5F0F\\u662F\\u5E76\\u6392\\u8FD8\\u662F\\u5185\\u8054\\u3002\",\"\\u5982\\u679C\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u5BBD\\u5EA6\\u5C0F\\u4E8E\\u6B64\\u503C\\uFF0C\\u5219\\u4F7F\\u7528\\u5185\\u8054\\u89C6\\u56FE\\u3002\",\"\\u5982\\u679C\\u542F\\u7528\\u5E76\\u4E14\\u7F16\\u8F91\\u5668\\u5BBD\\u5EA6\\u592A\\u5C0F\\uFF0C\\u5219\\u4F7F\\u7528\\u5185\\u8054\\u89C6\\u56FE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0C\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4F1A\\u5728\\u5176\\u5B57\\u5F62\\u8FB9\\u8DDD\\u4E2D\\u663E\\u793A\\u7BAD\\u5934\\u4EE5\\u8FD8\\u539F\\u66F4\\u6539\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0C\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u5C06\\u663E\\u793A\\u7528\\u4E8E\\u8FD8\\u539F\\u548C\\u9636\\u6BB5\\u64CD\\u4F5C\\u7684\\u7279\\u6B8A\\u88C5\\u8BA2\\u7EBF\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0C\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u5C06\\u5FFD\\u7565\\u524D\\u5BFC\\u7A7A\\u683C\\u6216\\u5C3E\\u968F\\u7A7A\\u683C\\u4E2D\\u7684\\u66F4\\u6539\\u3002\",\"\\u63A7\\u5236\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u4E3A\\u6DFB\\u52A0/\\u5220\\u9664\\u7684\\u66F4\\u6539\\u663E\\u793A +/- \\u6307\\u793A\\u7B26\\u53F7\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u663E\\u793A CodeLens\\u3002\",\"\\u6C38\\u4E0D\\u6362\\u884C\\u3002\",\"\\u5C06\\u5728\\u89C6\\u533A\\u5BBD\\u5EA6\\u5904\\u6362\\u884C\\u3002\",\"\\u884C\\u5C06\\u6839\\u636E {0} \\u8BBE\\u7F6E\\u8FDB\\u884C\\u6362\\u884C\\u3002\",\"\\u4F7F\\u7528\\u65E7\\u5DEE\\u5F02\\u7B97\\u6CD5\\u3002\",\"\\u4F7F\\u7528\\u9AD8\\u7EA7\\u5DEE\\u5F02\\u7B97\\u6CD5\\u3002\",\"\\u63A7\\u5236\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u663E\\u793A\\u672A\\u66F4\\u6539\\u7684\\u533A\\u57DF\\u3002\",\"\\u63A7\\u5236\\u7528\\u4E8E\\u672A\\u66F4\\u6539\\u533A\\u57DF\\u7684\\u884C\\u6570\\u3002\",\"\\u63A7\\u5236\\u5C06\\u591A\\u5C11\\u884C\\u7528\\u4F5C\\u672A\\u66F4\\u6539\\u533A\\u57DF\\u7684\\u6700\\u5C0F\\u503C\\u3002\",\"\\u63A7\\u5236\\u5728\\u6BD4\\u8F83\\u672A\\u6539\\u53D8\\u7684\\u533A\\u57DF\\u65F6\\u4F7F\\u7528\\u591A\\u5C11\\u884C\\u4F5C\\u4E3A\\u4E0A\\u4E0B\\u6587\\u3002\",\"\\u63A7\\u5236\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u663E\\u793A\\u68C0\\u6D4B\\u5230\\u7684\\u4EE3\\u7801\\u79FB\\u52A8\\u3002\",\"\\u63A7\\u5236\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u663E\\u793A\\u7A7A\\u4FEE\\u9970\\uFF0C\\u4EE5\\u67E5\\u770B\\u63D2\\u5165\\u6216\\u5220\\u9664\\u5B57\\u7B26\\u7684\\u4F4D\\u7F6E\\u3002\",\"\\u5982\\u679C\\u5DF2\\u542F\\u7528\\u5E76\\u4E14\\u7F16\\u8F91\\u5668\\u4F7F\\u7528\\u5185\\u8054\\u89C6\\u56FE\\uFF0C\\u5219\\u5C06\\u4EE5\\u5185\\u8054\\u65B9\\u5F0F\\u5448\\u73B0\\u5B57\\u8BCD\\u66F4\\u6539\\u3002\",\"\\u8FDE\\u63A5\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\\u540E\\u4F7F\\u7528\\u5E73\\u53F0 API \\u8FDB\\u884C\\u68C0\\u6D4B\\u3002\",\"\\u9488\\u5BF9\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\\u7684\\u4F7F\\u7528\\u8FDB\\u884C\\u4F18\\u5316\\u3002\",\"\\u5047\\u5B9A\\u672A\\u8FDE\\u63A5\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\\u3002\",\"\\u63A7\\u5236 UI \\u662F\\u5426\\u5E94\\u5728\\u5DF2\\u9488\\u5BF9\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\\u8FDB\\u884C\\u4F18\\u5316\\u7684\\u6A21\\u5F0F\\u4E0B\\u8FD0\\u884C\\u3002\",\"\\u63A7\\u5236\\u5728\\u6CE8\\u91CA\\u65F6\\u662F\\u5426\\u63D2\\u5165\\u7A7A\\u683C\\u5B57\\u7B26\\u3002\",\"\\u63A7\\u5236\\u5728\\u5BF9\\u884C\\u6CE8\\u91CA\\u6267\\u884C\\u5207\\u6362\\u3001\\u6DFB\\u52A0\\u6216\\u5220\\u9664\\u64CD\\u4F5C\\u65F6\\uFF0C\\u662F\\u5426\\u5E94\\u5FFD\\u7565\\u7A7A\\u884C\\u3002\",\"\\u63A7\\u5236\\u5728\\u6CA1\\u6709\\u9009\\u62E9\\u5185\\u5BB9\\u65F6\\u8FDB\\u884C\\u590D\\u5236\\u662F\\u5426\\u590D\\u5236\\u5F53\\u524D\\u884C\\u3002\",\"\\u63A7\\u5236\\u5728\\u952E\\u5165\\u65F6\\u5149\\u6807\\u662F\\u5426\\u5E94\\u8DF3\\u8F6C\\u4EE5\\u67E5\\u627E\\u5339\\u914D\\u9879\\u3002\",\"\\u5207\\u52FF\\u4E3A\\u7F16\\u8F91\\u5668\\u9009\\u62E9\\u4E2D\\u7684\\u641C\\u7D22\\u5B57\\u7B26\\u4E32\\u8BBE\\u5B9A\\u79CD\\u5B50\\u3002\",\"\\u59CB\\u7EC8\\u4E3A\\u7F16\\u8F91\\u5668\\u9009\\u62E9\\u4E2D\\u7684\\u641C\\u7D22\\u5B57\\u7B26\\u4E32\\u8BBE\\u5B9A\\u79CD\\u5B50\\uFF0C\\u5305\\u62EC\\u5149\\u6807\\u4F4D\\u7F6E\\u7684\\u5B57\\u8BCD\\u3002\",\"\\u4EC5\\u4E3A\\u7F16\\u8F91\\u5668\\u9009\\u62E9\\u4E2D\\u7684\\u641C\\u7D22\\u5B57\\u7B26\\u4E32\\u8BBE\\u5B9A\\u79CD\\u5B50\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5C06\\u7F16\\u8F91\\u5668\\u9009\\u4E2D\\u5185\\u5BB9\\u4F5C\\u4E3A\\u641C\\u7D22\\u8BCD\\u586B\\u5165\\u5230\\u67E5\\u627E\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u3002\",\"\\u4ECE\\u4E0D\\u81EA\\u52A8\\u6253\\u5F00\\u201C\\u5728\\u9009\\u5B9A\\u5185\\u5BB9\\u4E2D\\u67E5\\u627E\\u201D(\\u9ED8\\u8BA4)\\u3002\",\"\\u59CB\\u7EC8\\u81EA\\u52A8\\u6253\\u5F00\\u201C\\u5728\\u9009\\u5B9A\\u5185\\u5BB9\\u4E2D\\u67E5\\u627E\\u201D\\u3002\",\"\\u9009\\u62E9\\u591A\\u884C\\u5185\\u5BB9\\u65F6\\uFF0C\\u81EA\\u52A8\\u6253\\u5F00\\u201C\\u5728\\u9009\\u5B9A\\u5185\\u5BB9\\u4E2D\\u67E5\\u627E\\u201D\\u3002\",\"\\u63A7\\u5236\\u81EA\\u52A8\\u6253\\u5F00\\u201C\\u5728\\u9009\\u5B9A\\u5185\\u5BB9\\u4E2D\\u67E5\\u627E\\u201D\\u7684\\u6761\\u4EF6\\u3002\",\"\\u63A7\\u5236\\u201C\\u67E5\\u627E\\u201D\\u5C0F\\u7EC4\\u4EF6\\u662F\\u5426\\u8BFB\\u53D6\\u6216\\u4FEE\\u6539 macOS \\u7684\\u5171\\u4EAB\\u67E5\\u627E\\u526A\\u8D34\\u677F\\u3002\",'\\u63A7\\u5236 \"\\u67E5\\u627E\\u5C0F\\u90E8\\u4EF6\" \\u662F\\u5426\\u5E94\\u5728\\u7F16\\u8F91\\u5668\\u9876\\u90E8\\u6DFB\\u52A0\\u989D\\u5916\\u7684\\u884C\\u3002\\u5982\\u679C\\u4E3A true, \\u5219\\u53EF\\u4EE5\\u5728 \"\\u67E5\\u627E\\u5C0F\\u5DE5\\u5177\" \\u53EF\\u89C1\\u65F6\\u6EDA\\u52A8\\u5230\\u7B2C\\u4E00\\u884C\\u4E4B\\u5916\\u3002',\"\\u63A7\\u5236\\u5728\\u627E\\u4E0D\\u5230\\u5176\\u4ED6\\u5339\\u914D\\u9879\\u65F6\\uFF0C\\u662F\\u5426\\u81EA\\u52A8\\u4ECE\\u5F00\\u5934(\\u6216\\u7ED3\\u5C3E)\\u91CD\\u65B0\\u5F00\\u59CB\\u641C\\u7D22\\u3002\",'\\u542F\\u7528/\\u7981\\u7528\\u5B57\\u4F53\\u8FDE\\u5B57(\"calt\" \\u548C \"liga\" \\u5B57\\u4F53\\u7279\\u6027)\\u3002\\u5C06\\u6B64\\u66F4\\u6539\\u4E3A\\u5B57\\u7B26\\u4E32\\uFF0C\\u53EF\\u5BF9 \"font-feature-settings\" CSS \\u5C5E\\u6027\\u8FDB\\u884C\\u7CBE\\u7EC6\\u63A7\\u5236\\u3002','\\u663E\\u5F0F \"font-feature-settings\" CSS \\u5C5E\\u6027\\u3002\\u5982\\u679C\\u53EA\\u9700\\u6253\\u5F00/\\u5173\\u95ED\\u8FDE\\u5B57\\uFF0C\\u53EF\\u4EE5\\u6539\\u4E3A\\u4F20\\u9012\\u5E03\\u5C14\\u503C\\u3002','\\u914D\\u7F6E\\u5B57\\u4F53\\u8FDE\\u5B57\\u6216\\u5B57\\u4F53\\u7279\\u6027\\u3002\\u53EF\\u4EE5\\u662F\\u7528\\u4E8E\\u542F\\u7528/\\u7981\\u7528\\u8FDE\\u5B57\\u7684\\u5E03\\u5C14\\u503C\\uFF0C\\u6216\\u7528\\u4E8E\\u8BBE\\u7F6E CSS \"font-feature-settings\" \\u5C5E\\u6027\\u503C\\u7684\\u5B57\\u7B26\\u4E32\\u3002',\"\\u542F\\u7528/\\u7981\\u7528\\u4ECE font-weight \\u5230 font-variation-settings \\u7684\\u8F6C\\u6362\\u3002\\u5C06\\u6B64\\u9879\\u66F4\\u6539\\u4E3A\\u5B57\\u7B26\\u4E32\\uFF0C\\u4EE5\\u4FBF\\u5BF9\\u201Cfont-variation-settings\\u201DCSS \\u5C5E\\u6027\\u8FDB\\u884C\\u7EC6\\u5316\\u63A7\\u5236\\u3002\",\"\\u663E\\u5F0F\\u201Cfont-variation-settings\\u201DCSS \\u5C5E\\u6027\\u3002\\u5982\\u679C\\u53EA\\u9700\\u5C06 font-weight \\u8F6C\\u6362\\u4E3A font-variation-settings\\uFF0C\\u5219\\u53EF\\u4EE5\\u6539\\u4E3A\\u4F20\\u9012\\u5E03\\u5C14\\u503C\\u3002\",\"\\u914D\\u7F6E\\u5B57\\u4F53\\u53D8\\u4F53\\u3002\\u53EF\\u4EE5\\u662F\\u7528\\u4E8E\\u542F\\u7528/\\u7981\\u7528\\u4ECE font-weight \\u5230 font-variation-settings \\u7684\\u8F6C\\u6362\\u7684\\u5E03\\u5C14\\u503C\\uFF0C\\u4E5F\\u53EF\\u4EE5\\u662F CSS\\u201Cfont-variation-settings\\u201D\\u5C5E\\u6027\\u503C\\u7684\\u5B57\\u7B26\\u4E32\\u3002\",\"\\u63A7\\u5236\\u5B57\\u4F53\\u5927\\u5C0F(\\u50CF\\u7D20)\\u3002\",\"\\u4EC5\\u5141\\u8BB8\\u4F7F\\u7528\\u5173\\u952E\\u5B57\\u201C\\u6B63\\u5E38\\u201D\\u548C\\u201C\\u52A0\\u7C97\\u201D\\uFF0C\\u6216\\u4F7F\\u7528\\u4ECB\\u4E8E 1 \\u81F3 1000 \\u4E4B\\u95F4\\u7684\\u6570\\u5B57\\u3002\",\"\\u63A7\\u5236\\u5B57\\u4F53\\u7C97\\u7EC6\\u3002\\u63A5\\u53D7\\u5173\\u952E\\u5B57\\u201C\\u6B63\\u5E38\\u201D\\u548C\\u201C\\u52A0\\u7C97\\u201D\\uFF0C\\u6216\\u8005\\u63A5\\u53D7\\u4ECB\\u4E8E 1 \\u81F3 1000 \\u4E4B\\u95F4\\u7684\\u6570\\u5B57\\u3002\",\"\\u663E\\u793A\\u7ED3\\u679C\\u7684\\u901F\\u89C8\\u89C6\\u56FE(\\u9ED8\\u8BA4)\",\"\\u8F6C\\u5230\\u4E3B\\u7ED3\\u679C\\u5E76\\u663E\\u793A\\u901F\\u89C8\\u89C6\\u56FE\",\"\\u8F6C\\u5230\\u4E3B\\u7ED3\\u679C\\uFF0C\\u5E76\\u5BF9\\u5176\\u4ED6\\u7ED3\\u679C\\u542F\\u7528\\u65E0\\u901F\\u89C8\\u5BFC\\u822A\",'\\u6B64\\u8BBE\\u7F6E\\u5DF2\\u5F03\\u7528\\uFF0C\\u8BF7\\u6539\\u7528\\u5355\\u72EC\\u7684\\u8BBE\\u7F6E\\uFF0C\\u5982\"editor.editor.gotoLocation.multipleDefinitions\"\\u6216\"editor.editor.gotoLocation.multipleImplementations\"\\u3002','\\u63A7\\u5236\\u5B58\\u5728\\u591A\\u4E2A\\u76EE\\u6807\\u4F4D\\u7F6E\\u65F6\"\\u8F6C\\u5230\\u5B9A\\u4E49\"\\u547D\\u4EE4\\u7684\\u884C\\u4E3A\\u3002','\\u63A7\\u5236\\u5B58\\u5728\\u591A\\u4E2A\\u76EE\\u6807\\u4F4D\\u7F6E\\u65F6\"\\u8F6C\\u5230\\u7C7B\\u578B\\u5B9A\\u4E49\"\\u547D\\u4EE4\\u7684\\u884C\\u4E3A\\u3002','\\u63A7\\u5236\\u5B58\\u5728\\u591A\\u4E2A\\u76EE\\u6807\\u4F4D\\u7F6E\\u65F6\"\\u8F6C\\u5230\\u58F0\\u660E\"\\u547D\\u4EE4\\u7684\\u884C\\u4E3A\\u3002','\\u63A7\\u5236\\u5B58\\u5728\\u591A\\u4E2A\\u76EE\\u6807\\u4F4D\\u7F6E\\u65F6\"\\u8F6C\\u5230\\u5B9E\\u73B0\"\\u547D\\u4EE4\\u7684\\u884C\\u4E3A\\u3002','\\u63A7\\u5236\\u5B58\\u5728\\u591A\\u4E2A\\u76EE\\u6807\\u4F4D\\u7F6E\\u65F6\"\\u8F6C\\u5230\\u5F15\\u7528\"\\u547D\\u4EE4\\u7684\\u884C\\u4E3A\\u3002','\\u5F53\"\\u8F6C\\u5230\\u5B9A\\u4E49\"\\u7684\\u7ED3\\u679C\\u4E3A\\u5F53\\u524D\\u4F4D\\u7F6E\\u65F6\\u5C06\\u8981\\u6267\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4\\u7684 ID\\u3002','\\u5F53\"\\u8F6C\\u5230\\u7C7B\\u578B\\u5B9A\\u4E49\"\\u7684\\u7ED3\\u679C\\u662F\\u5F53\\u524D\\u4F4D\\u7F6E\\u65F6\\u6B63\\u5728\\u6267\\u884C\\u7684\\u5907\\u7528\\u547D\\u4EE4 ID\\u3002','\\u5F53\"\\u8F6C\\u5230\\u58F0\\u660E\"\\u7684\\u7ED3\\u679C\\u4E3A\\u5F53\\u524D\\u4F4D\\u7F6E\\u65F6\\u5C06\\u8981\\u6267\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4\\u7684 ID\\u3002','\\u5F53\"\\u8F6C\\u5230\\u5B9E\\u73B0\"\\u7684\\u7ED3\\u679C\\u4E3A\\u5F53\\u524D\\u4F4D\\u7F6E\\u65F6\\u5C06\\u8981\\u6267\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4\\u7684 ID\\u3002','\\u5F53\"\\u8F6C\\u5230\\u5F15\\u7528\"\\u7684\\u7ED3\\u679C\\u662F\\u5F53\\u524D\\u4F4D\\u7F6E\\u65F6\\u6B63\\u5728\\u6267\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4 ID\\u3002',\"\\u63A7\\u5236\\u662F\\u5426\\u663E\\u793A\\u60AC\\u505C\\u63D0\\u793A\\u3002\",\"\\u63A7\\u5236\\u663E\\u793A\\u60AC\\u505C\\u63D0\\u793A\\u524D\\u7684\\u7B49\\u5F85\\u65F6\\u95F4 (\\u6BEB\\u79D2)\\u3002\",\"\\u63A7\\u5236\\u5F53\\u9F20\\u6807\\u79FB\\u52A8\\u5230\\u60AC\\u505C\\u63D0\\u793A\\u4E0A\\u65F6\\uFF0C\\u5176\\u662F\\u5426\\u4FDD\\u6301\\u53EF\\u89C1\\u3002\",\"\\u63A7\\u5236\\u9690\\u85CF\\u60AC\\u505C\\u63D0\\u793A\\u524D\\u7684\\u7B49\\u5F85\\u65F6\\u95F4(\\u6BEB\\u79D2)\\u3002\\u9700\\u8981\\u542F\\u7528\\u201Ceditor.hover.sticky\\u201D\\u3002\",\"\\u5982\\u679C\\u6709\\u7A7A\\u95F4\\uFF0C\\u9996\\u9009\\u5728\\u7EBF\\u6761\\u4E0A\\u65B9\\u663E\\u793A\\u60AC\\u505C\\u3002\",\"\\u5047\\u5B9A\\u6240\\u6709\\u5B57\\u7B26\\u7684\\u5BBD\\u5EA6\\u76F8\\u540C\\u3002\\u8FD9\\u662F\\u4E00\\u79CD\\u5FEB\\u901F\\u7B97\\u6CD5\\uFF0C\\u9002\\u7528\\u4E8E\\u7B49\\u5BBD\\u5B57\\u4F53\\u548C\\u67D0\\u4E9B\\u5B57\\u5F62\\u5BBD\\u5EA6\\u76F8\\u7B49\\u7684\\u6587\\u5B57(\\u5982\\u62C9\\u4E01\\u5B57\\u7B26)\\u3002\",\"\\u5C06\\u5305\\u88C5\\u70B9\\u8BA1\\u7B97\\u59D4\\u6258\\u7ED9\\u6D4F\\u89C8\\u5668\\u3002\\u8FD9\\u662F\\u4E00\\u4E2A\\u7F13\\u6162\\u7B97\\u6CD5\\uFF0C\\u53EF\\u80FD\\u4F1A\\u5BFC\\u81F4\\u5927\\u578B\\u6587\\u4EF6\\u88AB\\u51BB\\u7ED3\\uFF0C\\u4F46\\u5B83\\u5728\\u6240\\u6709\\u60C5\\u51B5\\u4E0B\\u90FD\\u6B63\\u5E38\\u5DE5\\u4F5C\\u3002\",\"\\u63A7\\u5236\\u8BA1\\u7B97\\u5305\\u88C5\\u70B9\\u7684\\u7B97\\u6CD5\\u3002\\u8BF7\\u6CE8\\u610F\\uFF0C\\u5728\\u8F85\\u52A9\\u529F\\u80FD\\u6A21\\u5F0F\\u4E0B\\uFF0C\\u9AD8\\u7EA7\\u7248\\u5C06\\u7528\\u4E8E\\u63D0\\u4F9B\\u6700\\u4F73\\u4F53\\u9A8C\\u3002\",\"\\u7981\\u7528\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u3002\",\"\\u5F53\\u5149\\u6807\\u4E0E\\u4EE3\\u7801\\u4E00\\u8D77\\u6392\\u5217\\u65F6\\uFF0C\\u663E\\u793A\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u3002\",\"\\u5F53\\u5149\\u6807\\u4E0E\\u4EE3\\u7801\\u4E00\\u8D77\\u6392\\u5217\\u6216\\u5728\\u7A7A\\u7684\\u884C\\u65F6\\uFF0C\\u663E\\u793A\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u3002\",\"\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u542F\\u7528\\u4EE3\\u7801\\u64CD\\u4F5C\\u5C0F\\u706F\\u6CE1\\u63D0\\u793A\\u3002\",\"\\u5728\\u7F16\\u8F91\\u5668\\u9876\\u90E8\\u7684\\u6EDA\\u52A8\\u8FC7\\u7A0B\\u4E2D\\u663E\\u793A\\u5D4C\\u5957\\u7684\\u5F53\\u524D\\u4F5C\\u7528\\u57DF\\u3002\",\"\\u5B9A\\u4E49\\u8981\\u663E\\u793A\\u7684\\u6700\\u5927\\u7C98\\u6EDE\\u884C\\u6570\\u3002\",\"\\u5B9A\\u4E49\\u7528\\u4E8E\\u786E\\u5B9A\\u8981\\u7C98\\u8D34\\u7684\\u884C\\u7684\\u6A21\\u578B\\u3002\\u5982\\u679C\\u5927\\u7EB2\\u6A21\\u578B\\u4E0D\\u5B58\\u5728\\uFF0C\\u5B83\\u5C06\\u56DE\\u9000\\u5230\\u56DE\\u9000\\u5230\\u7F29\\u8FDB\\u6A21\\u578B\\u7684\\u6298\\u53E0\\u63D0\\u4F9B\\u7A0B\\u5E8F\\u6A21\\u578B\\u4E0A\\u3002\\u5728\\u6240\\u6709\\u4E09\\u79CD\\u60C5\\u51B5\\u4E0B\\u90FD\\u9075\\u5FAA\\u6B64\\u987A\\u5E8F\\u3002\",\"\\u4F7F\\u7528\\u7F16\\u8F91\\u5668\\u7684\\u6C34\\u5E73\\u6EDA\\u52A8\\u6761\\u542F\\u7528\\u7C98\\u6EDE\\u6EDA\\u52A8\\u3002\",\"\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u542F\\u7528\\u5185\\u8054\\u63D0\\u793A\\u3002\",\"\\u5DF2\\u542F\\u7528\\u5185\\u5D4C\\u63D0\\u793A\",\"\\u9ED8\\u8BA4\\u60C5\\u51B5\\u4E0B\\u663E\\u793A\\u5185\\u5D4C\\u63D0\\u793A\\uFF0C\\u5E76\\u5728\\u6309\\u4F4F {0} \\u65F6\\u9690\\u85CF\",\"\\u9ED8\\u8BA4\\u60C5\\u51B5\\u4E0B\\u9690\\u85CF\\u5185\\u5D4C\\u63D0\\u793A\\uFF0C\\u5E76\\u5728\\u6309\\u4F4F {0} \\u65F6\\u663E\\u793A\",\"\\u5DF2\\u7981\\u7528\\u5185\\u5D4C\\u63D0\\u793A\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u4E2D\\u5D4C\\u5165\\u63D0\\u793A\\u7684\\u5B57\\u53F7\\u3002\\u9ED8\\u8BA4\\u60C5\\u51B5\\u4E0B\\uFF0C\\u5F53\\u914D\\u7F6E\\u7684\\u503C\\u5C0F\\u4E8E {1} \\u6216\\u5927\\u4E8E\\u7F16\\u8F91\\u5668\\u5B57\\u53F7\\u65F6\\uFF0C\\u5C06\\u4F7F\\u7528 {0}\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u4E2D\\u5D4C\\u5165\\u63D0\\u793A\\u7684\\u5B57\\u4F53\\u7CFB\\u5217\\u3002\\u8BBE\\u7F6E\\u4E3A\\u7A7A\\u65F6\\uFF0C\\u5C06\\u4F7F\\u7528 {0}\\u3002\",\"\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u542F\\u7528\\u53E0\\u52A0\\u63D0\\u793A\\u5468\\u56F4\\u7684\\u586B\\u5145\\u3002\",`\\u63A7\\u5236\\u884C\\u9AD8\\u3002\\r\n - \\u4F7F\\u7528 0 \\u6839\\u636E\\u5B57\\u53F7\\u81EA\\u52A8\\u8BA1\\u7B97\\u884C\\u9AD8\\u3002\\r\n - \\u4ECB\\u4E8E 0 \\u548C 8 \\u4E4B\\u95F4\\u7684\\u503C\\u5C06\\u7528\\u4F5C\\u5B57\\u53F7\\u7684\\u4E58\\u6570\\u3002\\r\n - \\u5927\\u4E8E\\u6216\\u7B49\\u4E8E 8 \\u7684\\u503C\\u5C06\\u7528\\u4F5C\\u6709\\u6548\\u503C\\u3002`,\"\\u63A7\\u5236\\u662F\\u5426\\u663E\\u793A\\u7F29\\u7565\\u56FE\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u81EA\\u52A8\\u9690\\u85CF\\u7F29\\u7565\\u56FE\\u3002\",\"\\u8FF7\\u4F60\\u5730\\u56FE\\u7684\\u5927\\u5C0F\\u4E0E\\u7F16\\u8F91\\u5668\\u5185\\u5BB9\\u76F8\\u540C(\\u5E76\\u4E14\\u53EF\\u80FD\\u6EDA\\u52A8)\\u3002\",\"\\u8FF7\\u4F60\\u5730\\u56FE\\u5C06\\u6839\\u636E\\u9700\\u8981\\u62C9\\u4F38\\u6216\\u7F29\\u5C0F\\u4EE5\\u586B\\u5145\\u7F16\\u8F91\\u5668\\u7684\\u9AD8\\u5EA6(\\u4E0D\\u6EDA\\u52A8)\\u3002\",\"\\u8FF7\\u4F60\\u5730\\u56FE\\u5C06\\u6839\\u636E\\u9700\\u8981\\u7F29\\u5C0F\\uFF0C\\u6C38\\u8FDC\\u4E0D\\u4F1A\\u5927\\u4E8E\\u7F16\\u8F91\\u5668(\\u4E0D\\u6EDA\\u52A8)\\u3002\",\"\\u63A7\\u5236\\u8FF7\\u4F60\\u5730\\u56FE\\u7684\\u5927\\u5C0F\\u3002\",\"\\u63A7\\u5236\\u5728\\u54EA\\u4E00\\u4FA7\\u663E\\u793A\\u7F29\\u7565\\u56FE\\u3002\",\"\\u63A7\\u5236\\u4F55\\u65F6\\u663E\\u793A\\u8FF7\\u4F60\\u5730\\u56FE\\u6ED1\\u5757\\u3002\",\"\\u5728\\u8FF7\\u4F60\\u5730\\u56FE\\u4E2D\\u7ED8\\u5236\\u7684\\u5185\\u5BB9\\u6BD4\\u4F8B: 1\\u30012 \\u6216 3\\u3002\",\"\\u6E32\\u67D3\\u6BCF\\u884C\\u7684\\u5B9E\\u9645\\u5B57\\u7B26\\uFF0C\\u800C\\u4E0D\\u662F\\u8272\\u5757\\u3002\",\"\\u9650\\u5236\\u7F29\\u7565\\u56FE\\u7684\\u5BBD\\u5EA6\\uFF0C\\u63A7\\u5236\\u5176\\u6700\\u591A\\u663E\\u793A\\u7684\\u5217\\u6570\\u3002\",\"\\u63A7\\u5236\\u547D\\u540D\\u533A\\u57DF\\u662F\\u5426\\u5728\\u7F29\\u7565\\u56FE\\u4E2D\\u663E\\u793A\\u4E3A\\u8282\\u6807\\u9898\\u3002\",\"\\u63A7\\u5236 MARK: \\u547D\\u4EE4\\u662F\\u5426\\u5728\\u7F29\\u7565\\u56FE\\u4E2D\\u663E\\u793A\\u4E3A\\u8282\\u6807\\u9898\\u3002\",\"\\u63A7\\u5236\\u7F29\\u7565\\u56FE\\u4E2D\\u8282\\u6807\\u9898\\u7684\\u5B57\\u53F7\\u3002\",\"\\u63A7\\u5236\\u8282\\u6807\\u5934\\u5B57\\u7B26\\u4E4B\\u95F4\\u7684\\u7A7A\\u95F4\\u91CF(\\u4EE5\\u50CF\\u7D20\\u4E3A\\u5355\\u4F4D)\\u3002\\u8FD9\\u6709\\u52A9\\u4E8E\\u63D0\\u9AD8\\u5C0F\\u5B57\\u4F53\\u5927\\u5C0F\\u7684\\u6807\\u9898\\u7684\\u53EF\\u8BFB\\u6027\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u7684\\u9876\\u8FB9\\u548C\\u7B2C\\u4E00\\u884C\\u4E4B\\u95F4\\u7684\\u95F4\\u8DDD\\u91CF\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u7684\\u5E95\\u8FB9\\u548C\\u6700\\u540E\\u4E00\\u884C\\u4E4B\\u95F4\\u7684\\u95F4\\u8DDD\\u91CF\\u3002\",\"\\u5728\\u8F93\\u5165\\u65F6\\u663E\\u793A\\u542B\\u6709\\u53C2\\u6570\\u6587\\u6863\\u548C\\u7C7B\\u578B\\u4FE1\\u606F\\u7684\\u5C0F\\u9762\\u677F\\u3002\",\"\\u63A7\\u5236\\u53C2\\u6570\\u63D0\\u793A\\u83DC\\u5355\\u5728\\u5230\\u8FBE\\u5217\\u8868\\u672B\\u5C3E\\u65F6\\u8FDB\\u884C\\u5FAA\\u73AF\\u8FD8\\u662F\\u5173\\u95ED\\u3002\",\"\\u5FEB\\u901F\\u5EFA\\u8BAE\\u663E\\u793A\\u5728\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u5185\",\"\\u5FEB\\u901F\\u5EFA\\u8BAE\\u663E\\u793A\\u4E3A\\u865A\\u5F71\\u6587\\u672C\",\"\\u5DF2\\u7981\\u7528\\u5FEB\\u901F\\u5EFA\\u8BAE\",\"\\u5728\\u5B57\\u7B26\\u4E32\\u5185\\u542F\\u7528\\u5FEB\\u901F\\u5EFA\\u8BAE\\u3002\",\"\\u5728\\u6CE8\\u91CA\\u5185\\u542F\\u7528\\u5FEB\\u901F\\u5EFA\\u8BAE\\u3002\",\"\\u5728\\u5B57\\u7B26\\u4E32\\u548C\\u6CE8\\u91CA\\u5916\\u542F\\u7528\\u5FEB\\u901F\\u5EFA\\u8BAE\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u5728\\u952E\\u5165\\u65F6\\u81EA\\u52A8\\u663E\\u793A\\u5EFA\\u8BAE\\u3002\\u8FD9\\u53EF\\u4EE5\\u7528\\u4E8E\\u5728\\u6CE8\\u91CA\\u3001\\u5B57\\u7B26\\u4E32\\u548C\\u5176\\u4ED6\\u4EE3\\u7801\\u4E2D\\u952E\\u5165\\u65F6\\u8FDB\\u884C\\u63A7\\u5236\\u3002\\u53EF\\u914D\\u7F6E\\u5FEB\\u901F\\u5EFA\\u8BAE\\u4EE5\\u663E\\u793A\\u4E3A\\u865A\\u5F71\\u6587\\u672C\\u6216\\u4F7F\\u7528\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u663E\\u793A\\u3002\\u53E6\\u8BF7\\u6CE8\\u610F\\u63A7\\u5236\\u5EFA\\u8BAE\\u662F\\u5426\\u7531\\u7279\\u6B8A\\u5B57\\u7B26\\u89E6\\u53D1\\u7684 {0} \\u8BBE\\u7F6E\\u3002\",\"\\u4E0D\\u663E\\u793A\\u884C\\u53F7\\u3002\",\"\\u5C06\\u884C\\u53F7\\u663E\\u793A\\u4E3A\\u7EDD\\u5BF9\\u884C\\u6570\\u3002\",\"\\u5C06\\u884C\\u53F7\\u663E\\u793A\\u4E3A\\u4E0E\\u5149\\u6807\\u76F8\\u9694\\u7684\\u884C\\u6570\\u3002\",\"\\u6BCF 10 \\u884C\\u663E\\u793A\\u4E00\\u6B21\\u884C\\u53F7\\u3002\",\"\\u63A7\\u5236\\u884C\\u53F7\\u7684\\u663E\\u793A\\u3002\",\"\\u6B64\\u7F16\\u8F91\\u5668\\u6807\\u5C3A\\u5C06\\u6E32\\u67D3\\u7684\\u7B49\\u5BBD\\u5B57\\u7B26\\u6570\\u3002\",\"\\u6B64\\u7F16\\u8F91\\u5668\\u6807\\u5C3A\\u7684\\u989C\\u8272\\u3002\",\"\\u5728\\u4E00\\u5B9A\\u6570\\u91CF\\u7684\\u7B49\\u5BBD\\u5B57\\u7B26\\u540E\\u663E\\u793A\\u5782\\u76F4\\u6807\\u5C3A\\u3002\\u8F93\\u5165\\u591A\\u4E2A\\u503C\\uFF0C\\u663E\\u793A\\u591A\\u4E2A\\u6807\\u5C3A\\u3002\\u82E5\\u6570\\u7EC4\\u4E3A\\u7A7A\\uFF0C\\u5219\\u4E0D\\u7ED8\\u5236\\u6807\\u5C3A\\u3002\",\"\\u5782\\u76F4\\u6EDA\\u52A8\\u6761\\u4EC5\\u5728\\u5FC5\\u8981\\u65F6\\u53EF\\u89C1\\u3002\",\"\\u5782\\u76F4\\u6EDA\\u52A8\\u6761\\u5C06\\u59CB\\u7EC8\\u53EF\\u89C1\\u3002\",\"\\u5782\\u76F4\\u6EDA\\u52A8\\u6761\\u5C06\\u59CB\\u7EC8\\u9690\\u85CF\\u3002\",\"\\u63A7\\u5236\\u5782\\u76F4\\u6EDA\\u52A8\\u6761\\u7684\\u53EF\\u89C1\\u6027\\u3002\",\"\\u6C34\\u5E73\\u6EDA\\u52A8\\u6761\\u4EC5\\u5728\\u5FC5\\u8981\\u65F6\\u53EF\\u89C1\\u3002\",\"\\u6C34\\u5E73\\u6EDA\\u52A8\\u6761\\u5C06\\u59CB\\u7EC8\\u53EF\\u89C1\\u3002\",\"\\u6C34\\u5E73\\u6EDA\\u52A8\\u6761\\u5C06\\u59CB\\u7EC8\\u9690\\u85CF\\u3002\",\"\\u63A7\\u5236\\u6C34\\u5E73\\u6EDA\\u52A8\\u6761\\u7684\\u53EF\\u89C1\\u6027\\u3002\",\"\\u5782\\u76F4\\u6EDA\\u52A8\\u6761\\u7684\\u5BBD\\u5EA6\\u3002\",\"\\u6C34\\u5E73\\u6EDA\\u52A8\\u6761\\u7684\\u9AD8\\u5EA6\\u3002\",\"\\u63A7\\u5236\\u5355\\u51FB\\u6309\\u9875\\u6EDA\\u52A8\\u8FD8\\u662F\\u8DF3\\u8F6C\\u5230\\u5355\\u51FB\\u4F4D\\u7F6E\\u3002\",\"\\u8BBE\\u7F6E\\u540E\\uFF0C\\u6C34\\u5E73\\u6EDA\\u52A8\\u6761\\u5C06\\u4E0D\\u4F1A\\u589E\\u52A0\\u7F16\\u8F91\\u5668\\u5185\\u5BB9\\u7684\\u5927\\u5C0F\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u7A81\\u51FA\\u663E\\u793A\\u6240\\u6709\\u975E\\u57FA\\u672C ASCII \\u5B57\\u7B26\\u3002\\u53EA\\u6709\\u4ECB\\u4E8E U+0020 \\u5230 U+007E \\u4E4B\\u95F4\\u7684\\u5B57\\u7B26\\u3001\\u5236\\u8868\\u7B26\\u3001\\u6362\\u884C\\u7B26\\u548C\\u56DE\\u8F66\\u7B26\\u624D\\u88AB\\u89C6\\u4E3A\\u57FA\\u672C ASCII\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u7A81\\u51FA\\u663E\\u793A\\u4EC5\\u4FDD\\u7559\\u7A7A\\u683C\\u6216\\u5B8C\\u5168\\u6CA1\\u6709\\u5BBD\\u5EA6\\u7684\\u5B57\\u7B26\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u7A81\\u51FA\\u663E\\u793A\\u53EF\\u80FD\\u4E0E\\u57FA\\u672C ASCII \\u5B57\\u7B26\\u6DF7\\u6DC6\\u7684\\u5B57\\u7B26\\uFF0C\\u4F46\\u5F53\\u524D\\u7528\\u6237\\u533A\\u57DF\\u8BBE\\u7F6E\\u4E2D\\u5E38\\u89C1\\u7684\\u5B57\\u7B26\\u9664\\u5916\\u3002\",\"\\u63A7\\u5236\\u6CE8\\u91CA\\u4E2D\\u7684\\u5B57\\u7B26\\u662F\\u5426\\u4E5F\\u5E94\\u8FDB\\u884C Unicode \\u7A81\\u51FA\\u663E\\u793A\\u3002\",\"\\u63A7\\u5236\\u5B57\\u7B26\\u4E32\\u4E2D\\u7684\\u5B57\\u7B26\\u662F\\u5426\\u4E5F\\u5E94\\u8FDB\\u884C Unicode \\u7A81\\u51FA\\u663E\\u793A\\u3002\",\"\\u5B9A\\u4E49\\u672A\\u7A81\\u51FA\\u663E\\u793A\\u7684\\u5141\\u8BB8\\u5B57\\u7B26\\u3002\",\"\\u672A\\u7A81\\u51FA\\u663E\\u793A\\u5728\\u5141\\u8BB8\\u533A\\u57DF\\u8BBE\\u7F6E\\u4E2D\\u5E38\\u89C1\\u7684 Unicode \\u5B57\\u7B26\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u81EA\\u52A8\\u663E\\u793A\\u5185\\u8054\\u5EFA\\u8BAE\\u3002\",\"\\u6BCF\\u5F53\\u663E\\u793A\\u5185\\u8054\\u5EFA\\u8BAE\\u65F6\\uFF0C\\u663E\\u793A\\u5185\\u8054\\u5EFA\\u8BAE\\u5DE5\\u5177\\u680F\\u3002\",\"\\u5C06\\u9F20\\u6807\\u60AC\\u505C\\u5728\\u5185\\u8054\\u5EFA\\u8BAE\\u4E0A\\u65F6\\u663E\\u793A\\u5185\\u8054\\u5EFA\\u8BAE\\u5DE5\\u5177\\u680F\\u3002\",\"\\u4ECE\\u4E0D\\u663E\\u793A\\u5185\\u8054\\u5EFA\\u8BAE\\u5DE5\\u5177\\u680F\\u3002\",\"\\u63A7\\u5236\\u4F55\\u65F6\\u663E\\u793A\\u5185\\u8054\\u5EFA\\u8BAE\\u5DE5\\u5177\\u680F\\u3002\",\"\\u63A7\\u5236\\u5185\\u8054\\u5EFA\\u8BAE\\u5982\\u4F55\\u4E0E\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4EA4\\u4E92\\u3002\\u5982\\u679C\\u542F\\u7528\\uFF0C\\u5F53\\u5185\\u8054\\u5EFA\\u8BAE\\u53EF\\u7528\\u65F6\\uFF0C\\u4E0D\\u4F1A\\u81EA\\u52A8\\u663E\\u793A\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u3002\",\"\\u63A7\\u5236\\u5185\\u8054\\u5EFA\\u8BAE\\u7684\\u5B57\\u4F53\\u7CFB\\u5217\\u3002\",null,null,null,null,null,null,\"\\u63A7\\u5236\\u662F\\u5426\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u7740\\u8272\\u3002\\u8BF7\\u4F7F\\u7528 {0} \\u91CD\\u5199\\u62EC\\u53F7\\u7A81\\u51FA\\u663E\\u793A\\u989C\\u8272\\u3002\",\"\\u63A7\\u5236\\u6BCF\\u4E2A\\u65B9\\u62EC\\u53F7\\u7C7B\\u578B\\u662F\\u5426\\u5177\\u6709\\u81EA\\u5DF1\\u7684\\u72EC\\u7ACB\\u989C\\u8272\\u6C60\\u3002\",\"\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u4EC5\\u4E3A\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u7981\\u7528\\u62EC\\u53F7\\u5BF9\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u542F\\u7528\\u6C34\\u5E73\\u53C2\\u8003\\u7EBF\\u4F5C\\u4E3A\\u5782\\u76F4\\u62EC\\u53F7\\u5BF9\\u53C2\\u8003\\u7EBF\\u7684\\u6DFB\\u52A0\\u9879\\u3002\",\"\\u4EC5\\u4E3A\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u542F\\u7528\\u6C34\\u5E73\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u7981\\u7528\\u6C34\\u5E73\\u62EC\\u53F7\\u5BF9\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u542F\\u7528\\u6C34\\u5E73\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u7A81\\u51FA\\u663E\\u793A\\u6D3B\\u52A8\\u7684\\u62EC\\u53F7\\u5BF9\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u663E\\u793A\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u7A81\\u51FA\\u663E\\u793A\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u7A81\\u51FA\\u663E\\u793A\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\uFF0C\\u5373\\u4F7F\\u7A81\\u51FA\\u663E\\u793A\\u4E86\\u62EC\\u53F7\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u4E0D\\u8981\\u7A81\\u51FA\\u663E\\u793A\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u7A81\\u51FA\\u663E\\u793A\\u7F16\\u8F91\\u5668\\u4E2D\\u6D3B\\u52A8\\u7684\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u63D2\\u5165\\u5EFA\\u8BAE\\u800C\\u4E0D\\u8986\\u76D6\\u5149\\u6807\\u53F3\\u4FA7\\u7684\\u6587\\u672C\\u3002\",\"\\u63D2\\u5165\\u5EFA\\u8BAE\\u5E76\\u8986\\u76D6\\u5149\\u6807\\u53F3\\u4FA7\\u7684\\u6587\\u672C\\u3002\",\"\\u63A7\\u5236\\u63A5\\u53D7\\u8865\\u5168\\u65F6\\u662F\\u5426\\u8986\\u76D6\\u5355\\u8BCD\\u3002\\u8BF7\\u6CE8\\u610F\\uFF0C\\u8FD9\\u53D6\\u51B3\\u4E8E\\u6269\\u5C55\\u9009\\u62E9\\u4F7F\\u7528\\u6B64\\u529F\\u80FD\\u3002\",\"\\u63A7\\u5236\\u5BF9\\u5EFA\\u8BAE\\u7684\\u7B5B\\u9009\\u548C\\u6392\\u5E8F\\u662F\\u5426\\u8003\\u8651\\u5C0F\\u7684\\u62FC\\u5199\\u9519\\u8BEF\\u3002\",\"\\u63A7\\u5236\\u6392\\u5E8F\\u65F6\\u662F\\u5426\\u9996\\u9009\\u5149\\u6807\\u9644\\u8FD1\\u7684\\u5B57\\u8BCD\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u591A\\u4E2A\\u5DE5\\u4F5C\\u533A\\u548C\\u7A97\\u53E3\\u95F4\\u5171\\u4EAB\\u8BB0\\u5FC6\\u7684\\u5EFA\\u8BAE\\u9009\\u9879(\\u9700\\u8981 `#editor.suggestSelection#`)\\u3002\",\"\\u81EA\\u52A8\\u89E6\\u53D1 IntelliSense \\u65F6\\u59CB\\u7EC8\\u9009\\u62E9\\u5EFA\\u8BAE\\u3002\",\"\\u81EA\\u52A8\\u89E6\\u53D1 IntelliSense \\u65F6\\uFF0C\\u5207\\u52FF\\u9009\\u62E9\\u5EFA\\u8BAE\\u3002\",\"\\u4EC5\\u5F53\\u4ECE\\u89E6\\u53D1\\u5668\\u5B57\\u7B26\\u89E6\\u53D1 IntelliSense \\u65F6\\uFF0C\\u624D\\u9009\\u62E9\\u5EFA\\u8BAE\\u3002\",\"\\u4EC5\\u5728\\u952E\\u5165\\u65F6\\u89E6\\u53D1 IntelliSense \\u65F6\\u624D\\u9009\\u62E9\\u5EFA\\u8BAE\\u3002\",\"\\u63A7\\u5236\\u5728\\u663E\\u793A\\u5C0F\\u7EC4\\u4EF6\\u65F6\\u662F\\u5426\\u9009\\u62E9\\u5EFA\\u8BAE\\u3002\\u8BF7\\u6CE8\\u610F\\uFF0C\\u8FD9\\u4EC5\\u9002\\u7528\\u4E8E\\u81EA\\u52A8\\u89E6\\u53D1\\u7684\\u5EFA\\u8BAE({0} \\u548C {1})\\uFF0C\\u5E76\\u4E14\\u5728\\u663E\\u5F0F\\u8C03\\u7528\\u65F6(\\u4F8B\\u5982\\u901A\\u8FC7 `Ctrl+Space`)\\u59CB\\u7EC8\\u9009\\u62E9\\u5EFA\\u8BAE\\u3002\",\"\\u63A7\\u5236\\u6D3B\\u52A8\\u4EE3\\u7801\\u6BB5\\u662F\\u5426\\u963B\\u6B62\\u5FEB\\u901F\\u5EFA\\u8BAE\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u5EFA\\u8BAE\\u4E2D\\u663E\\u793A\\u6216\\u9690\\u85CF\\u56FE\\u6807\\u3002\",\"\\u63A7\\u5236\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u5E95\\u90E8\\u7684\\u72B6\\u6001\\u680F\\u7684\\u53EF\\u89C1\\u6027\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u9884\\u89C8\\u5EFA\\u8BAE\\u7ED3\\u679C\\u3002\",\"\\u63A7\\u5236\\u5EFA\\u8BAE\\u8BE6\\u7EC6\\u4FE1\\u606F\\u662F\\u968F\\u6807\\u7B7E\\u5185\\u8054\\u663E\\u793A\\u8FD8\\u662F\\u4EC5\\u663E\\u793A\\u5728\\u8BE6\\u7EC6\\u4FE1\\u606F\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u3002\",\"\\u6B64\\u8BBE\\u7F6E\\u5DF2\\u5F03\\u7528\\u3002\\u73B0\\u5728\\u53EF\\u4EE5\\u8C03\\u6574\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u7684\\u5927\\u5C0F\\u3002\",'\\u6B64\\u8BBE\\u7F6E\\u5DF2\\u5F03\\u7528\\uFF0C\\u8BF7\\u6539\\u7528\\u5355\\u72EC\\u7684\\u8BBE\\u7F6E\\uFF0C\\u5982\"editor.suggest.showKeywords\"\\u6216\"editor.suggest.showSnippets\"\\u3002',\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u65B9\\u6CD5\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u51FD\\u6570\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u6784\\u9020\\u51FD\\u6570\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A`\\u5DF2\\u5F03\\u7528`\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u7B5B\\u9009\\u8981\\u6C42\\u7B2C\\u4E00\\u4E2A\\u5B57\\u7B26\\u5728\\u5355\\u8BCD\\u5F00\\u5934\\u5339\\u914D\\uFF0C\\u4F8B\\u5982 \\u201CConsole\\u201D \\u6216 \\u201CWebContext\\u201D \\u4E0A\\u7684 \\u201Cc\\u201D\\uFF0C\\u4F46 \\u201Cdescription\\u201D \\u4E0A\\u7684 _not_\\u3002\\u7981\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u66F4\\u591A\\u7ED3\\u679C\\uFF0C\\u4F46\\u4ECD\\u6309\\u5339\\u914D\\u8D28\\u91CF\\u5BF9\\u5176\\u8FDB\\u884C\\u6392\\u5E8F\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u5B57\\u6BB5\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u53D8\\u91CF\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u7C7B\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u7ED3\\u6784\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u63A5\\u53E3\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u6A21\\u5757\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u5C5E\\u6027\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u4E8B\\u4EF6\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u64CD\\u4F5C\\u7B26\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u5355\\u4F4D\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u503C\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u5E38\\u91CF\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u679A\\u4E3E\\u201D\\u5EFA\\u8BAE\\u3002\",'\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A \"enumMember\" \\u5EFA\\u8BAE\\u3002',\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u5173\\u952E\\u5B57\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u6587\\u672C\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u989C\\u8272\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u6587\\u4EF6\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u53C2\\u8003\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u81EA\\u5B9A\\u4E49\\u989C\\u8272\\u201D\\u5EFA\\u8BAE\\u3002\",\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u6587\\u4EF6\\u5939\\u201D\\u5EFA\\u8BAE\\u3002\",'\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A \"typeParameter\" \\u5EFA\\u8BAE\\u3002',\"\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\\u201C\\u7247\\u6BB5\\u201D\\u5EFA\\u8BAE\\u3002\",'\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\"\\u7528\\u6237\"\\u5EFA\\u8BAE\\u3002','\\u542F\\u7528\\u540E\\uFF0CIntelliSense \\u5C06\\u663E\\u793A\"\\u95EE\\u9898\"\\u5EFA\\u8BAE\\u3002',\"\\u662F\\u5426\\u5E94\\u59CB\\u7EC8\\u9009\\u62E9\\u524D\\u5BFC\\u548C\\u5C3E\\u968F\\u7A7A\\u683C\\u3002\",\"\\u662F\\u5426\\u5E94\\u9009\\u62E9\\u5B50\\u5B57(\\u5982\\u201CfooBar\\u201D\\u6216\\u201Cfoo_bar\\u201D\\u4E2D\\u7684\\u201Cfoo\\u201D)\\u3002\",\"\\u6267\\u884C\\u4E0E\\u5B57\\u8BCD\\u76F8\\u5173\\u7684\\u5BFC\\u822A\\u6216\\u64CD\\u4F5C\\u65F6\\u7528\\u4E8E\\u5206\\u8BCD\\u7684\\u533A\\u57DF\\u8BBE\\u7F6E\\u3002\\u6307\\u5B9A\\u8981\\u8BC6\\u522B\\u7684\\u5B57\\u8BCD\\u7684 BCP 47 \\u8BED\\u8A00\\u6807\\u8BB0(\\u5982 ja\\u3001zh-CN\\u3001zh-Hant-TW \\u7B49)\\u3002\",\"\\u6267\\u884C\\u4E0E\\u5B57\\u8BCD\\u76F8\\u5173\\u7684\\u5BFC\\u822A\\u6216\\u64CD\\u4F5C\\u65F6\\u7528\\u4E8E\\u5206\\u8BCD\\u7684\\u533A\\u57DF\\u8BBE\\u7F6E\\u3002\\u6307\\u5B9A\\u8981\\u8BC6\\u522B\\u7684\\u5B57\\u8BCD\\u7684 BCP 47 \\u8BED\\u8A00\\u6807\\u8BB0(\\u5982 ja\\u3001zh-CN\\u3001zh-Hant-TW \\u7B49)\\u3002\",\"\\u6CA1\\u6709\\u7F29\\u8FDB\\u3002\\u6298\\u884C\\u4ECE\\u7B2C 1 \\u5217\\u5F00\\u59CB\\u3002\",\"\\u6298\\u884C\\u7684\\u7F29\\u8FDB\\u91CF\\u4E0E\\u5176\\u7236\\u7EA7\\u76F8\\u540C\\u3002\",\"\\u6298\\u884C\\u7684\\u7F29\\u8FDB\\u91CF\\u6BD4\\u5176\\u7236\\u7EA7\\u591A 1\\u3002\",\"\\u6298\\u884C\\u7684\\u7F29\\u8FDB\\u91CF\\u6BD4\\u5176\\u7236\\u7EA7\\u591A 2\\u3002\",\"\\u63A7\\u5236\\u6298\\u884C\\u7684\\u7F29\\u8FDB\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u53EF\\u4EE5\\u901A\\u8FC7\\u6309\\u4F4F Shift`\\u952E\\u5C06\\u6587\\u4EF6\\u62D6\\u653E\\u5230\\u7F16\\u8F91\\u5668\\u4E2D\\uFF08\\u800C\\u4E0D\\u662F\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u6253\\u5F00\\u8BE5\\u6587\\u4EF6\\uFF09\\u3002\",\"\\u63A7\\u5236\\u5C06\\u6587\\u4EF6\\u653E\\u5165\\u7F16\\u8F91\\u5668\\u65F6\\u662F\\u5426\\u663E\\u793A\\u5C0F\\u7EC4\\u4EF6\\u3002\\u4F7F\\u7528\\u6B64\\u5C0F\\u7EC4\\u4EF6\\u53EF\\u4EE5\\u63A7\\u5236\\u6587\\u4EF6\\u7684\\u5220\\u9664\\u65B9\\u5F0F\\u3002\",\"\\u5C06\\u6587\\u4EF6\\u653E\\u5165\\u7F16\\u8F91\\u5668\\u540E\\u663E\\u793A\\u653E\\u7F6E\\u9009\\u62E9\\u5668\\u5C0F\\u7EC4\\u4EF6\\u3002\",\"\\u5207\\u52FF\\u663E\\u793A\\u653E\\u7F6E\\u9009\\u62E9\\u5668\\u5C0F\\u7EC4\\u4EF6\\u3002\\u800C\\u662F\\u59CB\\u7EC8\\u4F7F\\u7528\\u9ED8\\u8BA4\\u5220\\u9664\\u63D0\\u4F9B\\u7A0B\\u5E8F\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u53EF\\u4EE5\\u4EE5\\u4E0D\\u540C\\u7684\\u65B9\\u5F0F\\u7C98\\u8D34\\u5185\\u5BB9\\u3002\",\"\\u63A7\\u5236\\u5C06\\u5185\\u5BB9\\u7C98\\u8D34\\u5230\\u7F16\\u8F91\\u5668\\u65F6\\u662F\\u5426\\u663E\\u793A\\u5C0F\\u7EC4\\u4EF6\\u3002\\u4F7F\\u7528\\u6B64\\u5C0F\\u7EC4\\u4EF6\\u53EF\\u4EE5\\u63A7\\u5236\\u6587\\u4EF6\\u7684\\u7C98\\u8D34\\u65B9\\u5F0F\\u3002\",\"\\u5C06\\u5185\\u5BB9\\u7C98\\u8D34\\u5230\\u7F16\\u8F91\\u5668\\u540E\\u663E\\u793A\\u7C98\\u8D34\\u9009\\u62E9\\u5668\\u5C0F\\u7EC4\\u4EF6\\u3002\",\"\\u5207\\u52FF\\u663E\\u793A\\u7C98\\u8D34\\u9009\\u62E9\\u5668\\u5C0F\\u7EC4\\u4EF6\\u3002\\u800C\\u662F\\u59CB\\u7EC8\\u4F7F\\u7528\\u9ED8\\u8BA4\\u7C98\\u8D34\\u884C\\u4E3A\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u5728\\u9047\\u5230\\u63D0\\u4EA4\\u5B57\\u7B26\\u65F6\\u63A5\\u53D7\\u5EFA\\u8BAE\\u3002\\u4F8B\\u5982\\uFF0C\\u5728 JavaScript \\u4E2D\\uFF0C\\u534A\\u89D2\\u5206\\u53F7 (`;`) \\u53EF\\u4EE5\\u4E3A\\u63D0\\u4EA4\\u5B57\\u7B26\\uFF0C\\u80FD\\u591F\\u5728\\u63A5\\u53D7\\u5EFA\\u8BAE\\u7684\\u540C\\u65F6\\u952E\\u5165\\u8BE5\\u5B57\\u7B26\\u3002\",\"\\u4EC5\\u5F53\\u5EFA\\u8BAE\\u5305\\u542B\\u6587\\u672C\\u6539\\u52A8\\u65F6\\u624D\\u53EF\\u4F7F\\u7528 `Enter` \\u952E\\u8FDB\\u884C\\u63A5\\u53D7\\u3002\",\"\\u63A7\\u5236\\u9664\\u4E86 `Tab` \\u952E\\u4EE5\\u5916\\uFF0C `Enter` \\u952E\\u662F\\u5426\\u540C\\u6837\\u53EF\\u4EE5\\u63A5\\u53D7\\u5EFA\\u8BAE\\u3002\\u8FD9\\u80FD\\u51CF\\u5C11\\u201C\\u63D2\\u5165\\u65B0\\u884C\\u201D\\u548C\\u201C\\u63A5\\u53D7\\u5EFA\\u8BAE\\u201D\\u547D\\u4EE4\\u4E4B\\u95F4\\u7684\\u6B67\\u4E49\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u4E2D\\u53EF\\u7531\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\\u4E00\\u6B21\\u8BFB\\u51FA\\u7684\\u884C\\u6570\\u3002\\u6211\\u4EEC\\u68C0\\u6D4B\\u5230\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\\u65F6\\uFF0C\\u4F1A\\u81EA\\u52A8\\u5C06\\u9ED8\\u8BA4\\u503C\\u8BBE\\u7F6E\\u4E3A 500\\u3002\\u8B66\\u544A: \\u5982\\u679C\\u884C\\u6570\\u5927\\u4E8E\\u9ED8\\u8BA4\\u503C\\uFF0C\\u53EF\\u80FD\\u4F1A\\u5F71\\u54CD\\u6027\\u80FD\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5185\\u5BB9\",\"\\u63A7\\u5236\\u5185\\u8054\\u5EFA\\u8BAE\\u662F\\u5426\\u7531\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\\u516C\\u5E03\\u3002\",\"\\u4F7F\\u7528\\u8BED\\u8A00\\u914D\\u7F6E\\u786E\\u5B9A\\u4F55\\u65F6\\u81EA\\u52A8\\u95ED\\u5408\\u62EC\\u53F7\\u3002\",\"\\u4EC5\\u5F53\\u5149\\u6807\\u4F4D\\u4E8E\\u7A7A\\u767D\\u5B57\\u7B26\\u5DE6\\u4FA7\\u65F6\\uFF0C\\u624D\\u81EA\\u52A8\\u95ED\\u5408\\u62EC\\u53F7\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5728\\u5DE6\\u62EC\\u53F7\\u540E\\u81EA\\u52A8\\u63D2\\u5165\\u53F3\\u62EC\\u53F7\\u3002\",\"\\u4F7F\\u7528\\u8BED\\u8A00\\u914D\\u7F6E\\u786E\\u5B9A\\u4F55\\u65F6\\u81EA\\u52A8\\u5173\\u95ED\\u6CE8\\u91CA\\u3002\",\"\\u4EC5\\u5F53\\u5149\\u6807\\u4F4D\\u4E8E\\u7A7A\\u683C\\u5DE6\\u4FA7\\u65F6\\u81EA\\u52A8\\u5173\\u95ED\\u6CE8\\u91CA\\u3002\",\"\\u63A7\\u5236\\u5728\\u7528\\u6237\\u6DFB\\u52A0\\u6253\\u5F00\\u6CE8\\u91CA\\u540E\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u81EA\\u52A8\\u5173\\u95ED\\u6CE8\\u91CA\\u3002\",\"\\u4EC5\\u5728\\u81EA\\u52A8\\u63D2\\u5165\\u65F6\\u624D\\u5220\\u9664\\u76F8\\u90BB\\u7684\\u53F3\\u5F15\\u53F7\\u6216\\u53F3\\u62EC\\u53F7\\u3002\",\"\\u63A7\\u5236\\u5728\\u5220\\u9664\\u65F6\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u5220\\u9664\\u76F8\\u90BB\\u7684\\u53F3\\u5F15\\u53F7\\u6216\\u53F3\\u65B9\\u62EC\\u53F7\\u3002\",\"\\u4EC5\\u5728\\u81EA\\u52A8\\u63D2\\u5165\\u65F6\\u624D\\u6539\\u5199\\u53F3\\u5F15\\u53F7\\u6216\\u53F3\\u62EC\\u53F7\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u6539\\u5199\\u53F3\\u5F15\\u53F7\\u6216\\u53F3\\u62EC\\u53F7\\u3002\",\"\\u4F7F\\u7528\\u8BED\\u8A00\\u914D\\u7F6E\\u786E\\u5B9A\\u4F55\\u65F6\\u81EA\\u52A8\\u95ED\\u5408\\u5F15\\u53F7\\u3002\",\"\\u4EC5\\u5F53\\u5149\\u6807\\u4F4D\\u4E8E\\u7A7A\\u767D\\u5B57\\u7B26\\u5DE6\\u4FA7\\u65F6\\uFF0C\\u624D\\u81EA\\u52A8\\u95ED\\u5408\\u5F15\\u53F7\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5728\\u5DE6\\u5F15\\u53F7\\u540E\\u81EA\\u52A8\\u63D2\\u5165\\u53F3\\u5F15\\u53F7\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E0D\\u4F1A\\u81EA\\u52A8\\u63D2\\u5165\\u7F29\\u8FDB\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5C06\\u4FDD\\u7559\\u5F53\\u524D\\u884C\\u7684\\u7F29\\u8FDB\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5C06\\u4FDD\\u7559\\u5F53\\u524D\\u884C\\u7684\\u7F29\\u8FDB\\u5E76\\u9075\\u5FAA\\u8BED\\u8A00\\u5B9A\\u4E49\\u7684\\u62EC\\u53F7\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5C06\\u4FDD\\u7559\\u5F53\\u524D\\u884C\\u7684\\u7F29\\u8FDB\\u3001\\u4F7F\\u7528\\u8BED\\u8A00\\u5B9A\\u4E49\\u7684\\u62EC\\u53F7\\u5E76\\u8C03\\u7528\\u8BED\\u8A00\\u5B9A\\u4E49\\u7684\\u7279\\u5B9A onEnterRules\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5C06\\u4FDD\\u7559\\u5F53\\u524D\\u884C\\u7684\\u7F29\\u8FDB\\uFF0C\\u4F7F\\u7528\\u8BED\\u8A00\\u5B9A\\u4E49\\u7684\\u62EC\\u53F7\\uFF0C\\u8C03\\u7528\\u7531\\u8BED\\u8A00\\u5B9A\\u4E49\\u7684\\u7279\\u6B8A\\u8F93\\u5165\\u89C4\\u5219\\uFF0C\\u5E76\\u9075\\u5FAA\\u7531\\u8BED\\u8A00\\u5B9A\\u4E49\\u7684\\u7F29\\u8FDB\\u89C4\\u5219\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u5728\\u7528\\u6237\\u952E\\u5165\\u3001\\u7C98\\u8D34\\u3001\\u79FB\\u52A8\\u6216\\u7F29\\u8FDB\\u884C\\u65F6\\u81EA\\u52A8\\u8C03\\u6574\\u7F29\\u8FDB\\u3002\",\"\\u4F7F\\u7528\\u8BED\\u8A00\\u914D\\u7F6E\\u786E\\u5B9A\\u4F55\\u65F6\\u81EA\\u52A8\\u5305\\u4F4F\\u6240\\u9009\\u5185\\u5BB9\\u3002\",\"\\u4F7F\\u7528\\u5F15\\u53F7\\u800C\\u975E\\u62EC\\u53F7\\u6765\\u5305\\u4F4F\\u6240\\u9009\\u5185\\u5BB9\\u3002\",\"\\u4F7F\\u7528\\u62EC\\u53F7\\u800C\\u975E\\u5F15\\u53F7\\u6765\\u5305\\u4F4F\\u6240\\u9009\\u5185\\u5BB9\\u3002\",\"\\u63A7\\u5236\\u5728\\u952E\\u5165\\u5F15\\u53F7\\u6216\\u65B9\\u62EC\\u53F7\\u65F6\\uFF0C\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u81EA\\u52A8\\u5C06\\u6240\\u9009\\u5185\\u5BB9\\u62EC\\u8D77\\u6765\\u3002\",\"\\u5728\\u4F7F\\u7528\\u7A7A\\u683C\\u8FDB\\u884C\\u7F29\\u8FDB\\u65F6\\u6A21\\u62DF\\u5236\\u8868\\u7B26\\u7684\\u9009\\u62E9\\u884C\\u4E3A\\u3002\\u6240\\u9009\\u5185\\u5BB9\\u5C06\\u59CB\\u7EC8\\u4F7F\\u7528\\u5236\\u8868\\u7B26\\u505C\\u6B62\\u4F4D\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u663E\\u793A CodeLens\\u3002\",\"\\u63A7\\u5236 CodeLens \\u7684\\u5B57\\u4F53\\u7CFB\\u5217\\u3002\",\"\\u63A7\\u5236 CodeLens \\u7684\\u5B57\\u53F7(\\u4EE5\\u50CF\\u7D20\\u4E3A\\u5355\\u4F4D)\\u3002\\u8BBE\\u7F6E\\u4E3A 0 \\u65F6\\uFF0C\\u5C06\\u4F7F\\u7528 90% \\u7684 `#editor.fontSize#`\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u663E\\u793A\\u5185\\u8054\\u989C\\u8272\\u4FEE\\u9970\\u5668\\u548C\\u989C\\u8272\\u9009\\u53D6\\u5668\\u3002\",\"\\u5728\\u989C\\u8272\\u4FEE\\u9970\\u5668\\u5355\\u51FB\\u548C\\u60AC\\u505C\\u65F6\\u4F7F\\u989C\\u8272\\u9009\\u53D6\\u5668\\u540C\\u65F6\\u663E\\u793A\",\"\\u4F7F\\u989C\\u8272\\u9009\\u53D6\\u5668\\u5728\\u989C\\u8272\\u4FEE\\u9970\\u5668\\u60AC\\u505C\\u65F6\\u663E\\u793A\",\"\\u5355\\u51FB\\u989C\\u8272\\u4FEE\\u9970\\u5668\\u65F6\\u663E\\u793A\\u989C\\u8272\\u9009\\u53D6\\u5668\",\"\\u63A7\\u5236\\u4ECE\\u989C\\u8272\\u4FEE\\u9970\\u5668\\u663E\\u793A\\u989C\\u8272\\u9009\\u53D6\\u5668\\u7684\\u6761\\u4EF6\",\"\\u63A7\\u5236\\u53EF\\u4E00\\u6B21\\u6027\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u5448\\u73B0\\u7684\\u6700\\u5927\\u989C\\u8272\\u4FEE\\u9970\\u5668\\u6570\\u3002\",\"\\u542F\\u7528\\u4F7F\\u7528\\u9F20\\u6807\\u548C\\u952E\\u8FDB\\u884C\\u5217\\u9009\\u62E9\\u3002\",\"\\u63A7\\u5236\\u5728\\u590D\\u5236\\u65F6\\u662F\\u5426\\u540C\\u65F6\\u590D\\u5236\\u8BED\\u6CD5\\u9AD8\\u4EAE\\u3002\",\"\\u63A7\\u5236\\u5149\\u6807\\u7684\\u52A8\\u753B\\u6837\\u5F0F\\u3002\",\"\\u5DF2\\u7981\\u7528\\u5E73\\u6ED1\\u8131\\u5B57\\u53F7\\u52A8\\u753B\\u3002\",\"\\u4EC5\\u5F53\\u7528\\u6237\\u4F7F\\u7528\\u663E\\u5F0F\\u624B\\u52BF\\u79FB\\u52A8\\u5149\\u6807\\u65F6\\uFF0C\\u624D\\u542F\\u7528\\u5E73\\u6ED1\\u8131\\u5B57\\u53F7\\u52A8\\u753B\\u3002\",\"\\u59CB\\u7EC8\\u542F\\u7528\\u5E73\\u6ED1\\u8131\\u5B57\\u53F7\\u52A8\\u753B\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u542F\\u7528\\u5E73\\u6ED1\\u63D2\\u5165\\u52A8\\u753B\\u3002\",\"\\u5728\\u63D2\\u5165\\u8F93\\u5165\\u6A21\\u5F0F\\u4E0B\\u63A7\\u5236\\u5149\\u6807\\u6837\\u5F0F\\u3002\",\"\\u63A7\\u5236\\u5149\\u6807\\u5468\\u56F4\\u53EF\\u89C1\\u7684\\u524D\\u7F6E\\u884C(\\u6700\\u5C0F\\u503C\\u4E3A 0)\\u548C\\u5C3E\\u968F\\u884C(\\u6700\\u5C0F\\u503C\\u4E3A 1)\\u7684\\u6700\\u5C0F\\u6570\\u76EE\\u3002\\u5728\\u5176\\u4ED6\\u4E00\\u4E9B\\u7F16\\u8F91\\u5668\\u4E2D\\u79F0\\u4E3A \\u201CscrollOff\\u201D \\u6216 \\u201CscrollOffset\\u201D\\u3002\",'\\u4EC5\\u5F53\\u901A\\u8FC7\\u952E\\u76D8\\u6216 API \\u89E6\\u53D1\\u65F6\\uFF0C\\u624D\\u4F1A\\u5F3A\\u5236\\u6267\\u884C\"\\u5149\\u6807\\u73AF\\u7ED5\\u884C\"\\u3002','\\u59CB\\u7EC8\\u5F3A\\u5236\\u6267\\u884C \"cursorSurroundingLines\"',\"\\u63A7\\u5236\\u4F55\\u65F6\\u5E94\\u5F3A\\u5236\\u6267\\u884C `#editor.cursorSurroundingLines#`\\u3002\",\"\\u5F53 `#editor.cursorStyle#` \\u8BBE\\u7F6E\\u4E3A `line` \\u65F6\\uFF0C\\u63A7\\u5236\\u5149\\u6807\\u7684\\u5BBD\\u5EA6\\u3002\",\"\\u63A7\\u5236\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u662F\\u5426\\u5141\\u8BB8\\u901A\\u8FC7\\u62D6\\u653E\\u6765\\u79FB\\u52A8\\u9009\\u4E2D\\u5185\\u5BB9\\u3002\",\"\\u5C06\\u65B0\\u7684\\u5448\\u73B0\\u65B9\\u6CD5\\u4E0E svg \\u914D\\u5408\\u4F7F\\u7528\\u3002\",\"\\u4F7F\\u7528\\u5305\\u542B\\u5B57\\u4F53\\u5B57\\u7B26\\u7684\\u65B0\\u5448\\u73B0\\u65B9\\u6CD5\\u3002\",\"\\u4F7F\\u7528\\u7A33\\u5B9A\\u5448\\u73B0\\u65B9\\u6CD5\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u4F7F\\u7528\\u65B0\\u7684\\u5B9E\\u9A8C\\u6027\\u65B9\\u6CD5\\u5448\\u73B0\\u7A7A\\u683C\\u3002\",'\\u6309\\u4E0B\"Alt\"\\u65F6\\u6EDA\\u52A8\\u901F\\u5EA6\\u500D\\u589E\\u3002',\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u542F\\u7528\\u4E86\\u4EE3\\u7801\\u6298\\u53E0\\u3002\",\"\\u4F7F\\u7528\\u7279\\u5B9A\\u4E8E\\u8BED\\u8A00\\u7684\\u6298\\u53E0\\u7B56\\u7565(\\u5982\\u679C\\u53EF\\u7528)\\uFF0C\\u5426\\u5219\\u4F7F\\u7528\\u57FA\\u4E8E\\u7F29\\u8FDB\\u7684\\u7B56\\u7565\\u3002\",\"\\u4F7F\\u7528\\u57FA\\u4E8E\\u7F29\\u8FDB\\u7684\\u6298\\u53E0\\u7B56\\u7565\\u3002\",\"\\u63A7\\u5236\\u8BA1\\u7B97\\u6298\\u53E0\\u8303\\u56F4\\u7684\\u7B56\\u7565\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u7A81\\u51FA\\u663E\\u793A\\u6298\\u53E0\\u8303\\u56F4\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u81EA\\u52A8\\u6298\\u53E0\\u5BFC\\u5165\\u8303\\u56F4\\u3002\",\"\\u53EF\\u6298\\u53E0\\u533A\\u57DF\\u7684\\u6700\\u5927\\u6570\\u91CF\\u3002\\u5982\\u679C\\u5F53\\u524D\\u6E90\\u5177\\u6709\\u5927\\u91CF\\u53EF\\u6298\\u53E0\\u533A\\u57DF\\uFF0C\\u90A3\\u4E48\\u589E\\u52A0\\u6B64\\u503C\\u53EF\\u80FD\\u4F1A\\u5BFC\\u81F4\\u7F16\\u8F91\\u5668\\u7684\\u54CD\\u5E94\\u901F\\u5EA6\\u53D8\\u6162\\u3002\",\"\\u63A7\\u5236\\u5355\\u51FB\\u5DF2\\u6298\\u53E0\\u7684\\u884C\\u540E\\u9762\\u7684\\u7A7A\\u5185\\u5BB9\\u662F\\u5426\\u4F1A\\u5C55\\u5F00\\u8BE5\\u884C\\u3002\",\"\\u63A7\\u5236\\u5B57\\u4F53\\u7CFB\\u5217\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u81EA\\u52A8\\u683C\\u5F0F\\u5316\\u7C98\\u8D34\\u7684\\u5185\\u5BB9\\u3002\\u683C\\u5F0F\\u5316\\u7A0B\\u5E8F\\u5FC5\\u987B\\u53EF\\u7528\\uFF0C\\u5E76\\u4E14\\u80FD\\u9488\\u5BF9\\u6587\\u6863\\u4E2D\\u7684\\u67D0\\u4E00\\u8303\\u56F4\\u8FDB\\u884C\\u683C\\u5F0F\\u5316\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u5728\\u952E\\u5165\\u4E00\\u884C\\u540E\\u662F\\u5426\\u81EA\\u52A8\\u683C\\u5F0F\\u5316\\u8BE5\\u884C\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u5448\\u73B0\\u5782\\u76F4\\u5B57\\u5F62\\u8FB9\\u8DDD\\u3002\\u5B57\\u5F62\\u8FB9\\u8DDD\\u6700\\u5E38\\u7528\\u4E8E\\u8C03\\u8BD5\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u6982\\u89C8\\u6807\\u5C3A\\u4E2D\\u9690\\u85CF\\u5149\\u6807\\u3002\",\"\\u63A7\\u5236\\u5B57\\u6BCD\\u95F4\\u8DDD(\\u50CF\\u7D20)\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5DF2\\u542F\\u7528\\u94FE\\u63A5\\u7F16\\u8F91\\u3002\\u76F8\\u5173\\u7B26\\u53F7(\\u5982 HTML \\u6807\\u8BB0)\\u5C06\\u5728\\u7F16\\u8F91\\u65F6\\u8FDB\\u884C\\u66F4\\u65B0\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u8BED\\u8A00\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u68C0\\u6D4B\\u94FE\\u63A5\\u5E76\\u4F7F\\u5176\\u53EF\\u88AB\\u70B9\\u51FB\\u3002\",\"\\u7A81\\u51FA\\u663E\\u793A\\u5339\\u914D\\u7684\\u62EC\\u53F7\\u3002\",\"\\u5BF9\\u9F20\\u6807\\u6EDA\\u8F6E\\u6EDA\\u52A8\\u4E8B\\u4EF6\\u7684 `deltaX` \\u548C `deltaY` \\u4E58\\u4E0A\\u7684\\u7CFB\\u6570\\u3002\",\"\\u6309\\u4F4F Cmd \\u952E\\u5E76\\u6EDA\\u52A8\\u9F20\\u6807\\u6EDA\\u8F6E\\u65F6\\u5BF9\\u7F16\\u8F91\\u5668\\u5B57\\u4F53\\u5927\\u5C0F\\u8FDB\\u884C\\u7F29\\u653E\\u3002\",\"\\u6309\\u4F4F `Ctrl` \\u952E\\u5E76\\u6EDA\\u52A8\\u9F20\\u6807\\u6EDA\\u8F6E\\u65F6\\u5BF9\\u7F16\\u8F91\\u5668\\u5B57\\u4F53\\u5927\\u5C0F\\u8FDB\\u884C\\u7F29\\u653E\\u3002\",\"\\u5F53\\u591A\\u4E2A\\u5149\\u6807\\u91CD\\u53E0\\u65F6\\u8FDB\\u884C\\u5408\\u5E76\\u3002\",\"\\u6620\\u5C04\\u4E3A `Ctrl` (Windows \\u548C Linux) \\u6216 `Command` (macOS)\\u3002\",\"\\u6620\\u5C04\\u4E3A `Alt` (Windows \\u548C Linux) \\u6216 `Option` (macOS)\\u3002\",\"\\u7528\\u4E8E\\u4F7F\\u7528\\u9F20\\u6807\\u6DFB\\u52A0\\u591A\\u4E2A\\u6E38\\u6807\\u7684\\u4FEE\\u9970\\u7B26\\u3002\\u201C\\u8F6C\\u5230\\u5B9A\\u4E49\\u201D\\u548C\\u201C\\u6253\\u5F00\\u94FE\\u63A5\\u201D\\u9F20\\u6807\\u624B\\u52BF\\u5C06\\u8FDB\\u884C\\u8C03\\u6574\\uFF0C\\u4F7F\\u5176\\u4E0D\\u4E0E [\\u591A\\u5149\\u6807\\u4FEE\\u9970\\u7B26](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)\\u51B2\\u7A81\\u3002\",\"\\u6BCF\\u4E2A\\u5149\\u6807\\u7C98\\u8D34\\u4E00\\u884C\\u6587\\u672C\\u3002\",\"\\u6BCF\\u4E2A\\u5149\\u6807\\u7C98\\u8D34\\u5168\\u6587\\u3002\",\"\\u63A7\\u5236\\u7C98\\u8D34\\u65F6\\u7C98\\u8D34\\u6587\\u672C\\u7684\\u884C\\u8BA1\\u6570\\u4E0E\\u5149\\u6807\\u8BA1\\u6570\\u76F8\\u5339\\u914D\\u3002\",\"\\u63A7\\u5236\\u4E00\\u6B21\\u53EF\\u4EE5\\u5728\\u6D3B\\u52A8\\u7F16\\u8F91\\u5668\\u4E2D\\u663E\\u793A\\u7684\\u6700\\u5927\\u6E38\\u6807\\u6570\\u3002\",\"\\u4E0D\\u7A81\\u51FA\\u663E\\u793A\\u51FA\\u73B0\\u6B21\\u6570\\u3002\",\"\\u4EC5\\u7A81\\u51FA\\u663E\\u793A\\u5F53\\u524D\\u6587\\u4EF6\\u4E2D\\u7684\\u51FA\\u73B0\\u6B21\\u6570\\u3002\",\"\\u5B9E\\u9A8C\\u6027: \\u7A81\\u51FA\\u663E\\u793A\\u6240\\u6709\\u6709\\u6548\\u6253\\u5F00\\u6587\\u4EF6\\u7684\\u51FA\\u73B0\\u6B21\\u6570\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u7A81\\u51FA\\u663E\\u793A\\u5728\\u6253\\u5F00\\u7684\\u6587\\u4EF6\\u4E2D\\u7684\\u51FA\\u73B0\\u6B21\\u6570\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u6982\\u89C8\\u6807\\u5C3A\\u5468\\u56F4\\u7ED8\\u5236\\u8FB9\\u6846\\u3002\",\"\\u6253\\u5F00\\u901F\\u89C8\\u65F6\\u805A\\u7126\\u6811\",\"\\u6253\\u5F00\\u9884\\u89C8\\u65F6\\u5C06\\u7126\\u70B9\\u653E\\u5728\\u7F16\\u8F91\\u5668\\u4E0A\",\"\\u63A7\\u5236\\u662F\\u5C06\\u7126\\u70B9\\u653E\\u5728\\u5185\\u8054\\u7F16\\u8F91\\u5668\\u4E0A\\u8FD8\\u662F\\u653E\\u5728\\u9884\\u89C8\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u7684\\u6811\\u4E0A\\u3002\",'\\u63A7\\u5236\"\\u8F6C\\u5230\\u5B9A\\u4E49\"\\u9F20\\u6807\\u624B\\u52BF\\u662F\\u5426\\u59CB\\u7EC8\\u6253\\u5F00\\u9884\\u89C8\\u5C0F\\u90E8\\u4EF6\\u3002',\"\\u63A7\\u5236\\u663E\\u793A\\u5FEB\\u901F\\u5EFA\\u8BAE\\u524D\\u7684\\u7B49\\u5F85\\u65F6\\u95F4 (\\u6BEB\\u79D2)\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u8F93\\u5165\\u65F6\\u81EA\\u52A8\\u91CD\\u547D\\u540D\\u3002\",'\\u5DF2\\u5F03\\u7528\\uFF0C\\u8BF7\\u6539\\u7528 \"editor.linkedEditing\"\\u3002',\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u663E\\u793A\\u63A7\\u5236\\u5B57\\u7B26\\u3002\",\"\\u5F53\\u6587\\u4EF6\\u4EE5\\u6362\\u884C\\u7B26\\u7ED3\\u675F\\u65F6, \\u5448\\u73B0\\u6700\\u540E\\u4E00\\u884C\\u7684\\u884C\\u53F7\\u3002\",\"\\u540C\\u65F6\\u7A81\\u51FA\\u663E\\u793A\\u5BFC\\u822A\\u7EBF\\u548C\\u5F53\\u524D\\u884C\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u7684\\u5F53\\u524D\\u884C\\u8FDB\\u884C\\u9AD8\\u4EAE\\u663E\\u793A\\u7684\\u65B9\\u5F0F\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u4EC5\\u5728\\u7126\\u70B9\\u5728\\u7F16\\u8F91\\u5668\\u65F6\\u7A81\\u51FA\\u663E\\u793A\\u5F53\\u524D\\u884C\\u3002\",\"\\u5448\\u73B0\\u7A7A\\u683C\\u5B57\\u7B26(\\u5B57\\u8BCD\\u4E4B\\u95F4\\u7684\\u5355\\u4E2A\\u7A7A\\u683C\\u9664\\u5916)\\u3002\",\"\\u4EC5\\u5728\\u9009\\u5B9A\\u6587\\u672C\\u4E0A\\u5448\\u73B0\\u7A7A\\u767D\\u5B57\\u7B26\\u3002\",\"\\u4EC5\\u5448\\u73B0\\u5C3E\\u968F\\u7A7A\\u683C\\u5B57\\u7B26\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u5728\\u7A7A\\u767D\\u5B57\\u7B26\\u4E0A\\u663E\\u793A\\u7B26\\u53F7\\u7684\\u65B9\\u5F0F\\u3002\",\"\\u63A7\\u5236\\u9009\\u533A\\u662F\\u5426\\u6709\\u5706\\u89D2\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u6C34\\u5E73\\u6EDA\\u52A8\\u65F6\\u53EF\\u4EE5\\u8D85\\u8FC7\\u8303\\u56F4\\u7684\\u5B57\\u7B26\\u6570\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u53EF\\u4EE5\\u6EDA\\u52A8\\u5230\\u6700\\u540E\\u4E00\\u884C\\u4E4B\\u540E\\u3002\",\"\\u540C\\u65F6\\u5782\\u76F4\\u548C\\u6C34\\u5E73\\u6EDA\\u52A8\\u65F6\\uFF0C\\u4EC5\\u6CBF\\u4E3B\\u8F74\\u6EDA\\u52A8\\u3002\\u5728\\u89E6\\u63A7\\u677F\\u4E0A\\u5782\\u76F4\\u6EDA\\u52A8\\u65F6\\uFF0C\\u53EF\\u9632\\u6B62\\u6C34\\u5E73\\u6F02\\u79FB\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u652F\\u6301 Linux \\u4E3B\\u526A\\u8D34\\u677F\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5E94\\u7A81\\u51FA\\u663E\\u793A\\u4E0E\\u6240\\u9009\\u5185\\u5BB9\\u7C7B\\u4F3C\\u7684\\u5339\\u914D\\u9879\\u3002\",\"\\u59CB\\u7EC8\\u663E\\u793A\\u6298\\u53E0\\u63A7\\u4EF6\\u3002\",\"\\u5207\\u52FF\\u663E\\u793A\\u6298\\u53E0\\u63A7\\u4EF6\\u5E76\\u51CF\\u5C0F\\u88C5\\u8BA2\\u7EBF\\u5927\\u5C0F\\u3002\",\"\\u4EC5\\u5728\\u9F20\\u6807\\u4F4D\\u4E8E\\u88C5\\u8BA2\\u7EBF\\u4E0A\\u65B9\\u65F6\\u663E\\u793A\\u6298\\u53E0\\u63A7\\u4EF6\\u3002\",\"\\u63A7\\u5236\\u4F55\\u65F6\\u663E\\u793A\\u884C\\u53F7\\u69FD\\u4E0A\\u7684\\u6298\\u53E0\\u63A7\\u4EF6\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u6DE1\\u5316\\u672A\\u4F7F\\u7528\\u7684\\u4EE3\\u7801\\u3002\",\"\\u63A7\\u5236\\u52A0\\u5220\\u9664\\u7EBF\\u88AB\\u5F03\\u7528\\u7684\\u53D8\\u91CF\\u3002\",\"\\u5728\\u5176\\u4ED6\\u5EFA\\u8BAE\\u4E0A\\u65B9\\u663E\\u793A\\u4EE3\\u7801\\u7247\\u6BB5\\u5EFA\\u8BAE\\u3002\",\"\\u5728\\u5176\\u4ED6\\u5EFA\\u8BAE\\u4E0B\\u65B9\\u663E\\u793A\\u4EE3\\u7801\\u7247\\u6BB5\\u5EFA\\u8BAE\\u3002\",\"\\u5728\\u5176\\u4ED6\\u5EFA\\u8BAE\\u4E2D\\u7A7F\\u63D2\\u663E\\u793A\\u4EE3\\u7801\\u7247\\u6BB5\\u5EFA\\u8BAE\\u3002\",\"\\u4E0D\\u663E\\u793A\\u4EE3\\u7801\\u7247\\u6BB5\\u5EFA\\u8BAE\\u3002\",\"\\u63A7\\u5236\\u4EE3\\u7801\\u7247\\u6BB5\\u662F\\u5426\\u4E0E\\u5176\\u4ED6\\u5EFA\\u8BAE\\u4E00\\u8D77\\u663E\\u793A\\u53CA\\u5176\\u6392\\u5217\\u7684\\u4F4D\\u7F6E\\u3002\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u4F7F\\u7528\\u52A8\\u753B\\u6EDA\\u52A8\\u3002\",\"\\u63A7\\u5236\\u5728\\u663E\\u793A\\u5185\\u8054\\u5B8C\\u6210\\u65F6\\u662F\\u5426\\u5E94\\u5411\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\\u7528\\u6237\\u63D0\\u4F9B\\u8F85\\u52A9\\u529F\\u80FD\\u63D0\\u793A\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u7684\\u5B57\\u53F7\\u3002\\u8BBE\\u7F6E\\u4E3A {0} \\u65F6\\uFF0C\\u5C06\\u4F7F\\u7528 {1} \\u7684\\u503C\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u7684\\u884C\\u9AD8\\u3002\\u8BBE\\u7F6E\\u4E3A {0} \\u65F6\\uFF0C\\u5C06\\u4F7F\\u7528 {1} \\u7684\\u503C\\u3002\\u6700\\u5C0F\\u503C\\u4E3A 8\\u3002\",\"\\u63A7\\u5236\\u5728\\u952E\\u5165\\u89E6\\u53D1\\u5B57\\u7B26\\u540E\\u662F\\u5426\\u81EA\\u52A8\\u663E\\u793A\\u5EFA\\u8BAE\\u3002\",\"\\u59CB\\u7EC8\\u9009\\u62E9\\u7B2C\\u4E00\\u4E2A\\u5EFA\\u8BAE\\u3002\",\"\\u9009\\u62E9\\u6700\\u8FD1\\u7684\\u5EFA\\u8BAE\\uFF0C\\u9664\\u975E\\u8FDB\\u4E00\\u6B65\\u952E\\u5165\\u9009\\u62E9\\u5176\\u4ED6\\u9879\\u3002\\u4F8B\\u5982 `console. -> console.log`\\uFF0C\\u56E0\\u4E3A\\u6700\\u8FD1\\u8865\\u5168\\u8FC7 `log`\\u3002\",\"\\u6839\\u636E\\u4E4B\\u524D\\u8865\\u5168\\u8FC7\\u7684\\u5EFA\\u8BAE\\u7684\\u524D\\u7F00\\u6765\\u8FDB\\u884C\\u9009\\u62E9\\u3002\\u4F8B\\u5982\\uFF0C`co -> console`\\u3001`con -> const`\\u3002\",\"\\u63A7\\u5236\\u5728\\u5EFA\\u8BAE\\u5217\\u8868\\u4E2D\\u5982\\u4F55\\u9884\\u5148\\u9009\\u62E9\\u5EFA\\u8BAE\\u3002\",\"\\u5728\\u6309\\u4E0B Tab \\u952E\\u65F6\\u8FDB\\u884C Tab \\u8865\\u5168\\uFF0C\\u5C06\\u63D2\\u5165\\u6700\\u4F73\\u5339\\u914D\\u5EFA\\u8BAE\\u3002\",\"\\u7981\\u7528 Tab \\u8865\\u5168\\u3002\",'\\u5728\\u524D\\u7F00\\u5339\\u914D\\u65F6\\u8FDB\\u884C Tab \\u8865\\u5168\\u3002\\u5728 \"quickSuggestions\" \\u672A\\u542F\\u7528\\u65F6\\u4F53\\u9A8C\\u6700\\u597D\\u3002',\"\\u542F\\u7528 Tab \\u8865\\u5168\\u3002\",\"\\u81EA\\u52A8\\u5220\\u9664\\u5F02\\u5E38\\u7684\\u884C\\u7EC8\\u6B62\\u7B26\\u3002\",\"\\u5FFD\\u7565\\u5F02\\u5E38\\u7684\\u884C\\u7EC8\\u6B62\\u7B26\\u3002\",\"\\u63D0\\u793A\\u5220\\u9664\\u5F02\\u5E38\\u7684\\u884C\\u7EC8\\u6B62\\u7B26\\u3002\",\"\\u5220\\u9664\\u53EF\\u80FD\\u5BFC\\u81F4\\u95EE\\u9898\\u7684\\u5F02\\u5E38\\u884C\\u7EC8\\u6B62\\u7B26\\u3002\",\"\\u7A7A\\u683C\\u548C\\u5236\\u8868\\u7B26\\u7684\\u63D2\\u5165\\u548C\\u5220\\u9664\\u4E0E\\u5236\\u8868\\u4F4D\\u5BF9\\u9F50\\u3002\",\"\\u4F7F\\u7528\\u9ED8\\u8BA4\\u6362\\u884C\\u89C4\\u5219\\u3002\",\"\\u4E2D\\u6587/\\u65E5\\u8BED/\\u97E9\\u8BED(CJK)\\u6587\\u672C\\u4E0D\\u5E94\\u4F7F\\u7528\\u65AD\\u5B57\\u529F\\u80FD\\u3002\\u975E CJK \\u6587\\u672C\\u884C\\u4E3A\\u4E0E\\u666E\\u901A\\u6587\\u672C\\u884C\\u4E3A\\u76F8\\u540C\\u3002\",\"\\u63A7\\u5236\\u4E2D\\u6587/\\u65E5\\u8BED/\\u97E9\\u8BED(CJK)\\u6587\\u672C\\u4F7F\\u7528\\u7684\\u65AD\\u5B57\\u89C4\\u5219\\u3002\",\"\\u6267\\u884C\\u5355\\u8BCD\\u76F8\\u5173\\u7684\\u5BFC\\u822A\\u6216\\u64CD\\u4F5C\\u65F6\\u4F5C\\u4E3A\\u5355\\u8BCD\\u5206\\u9694\\u7B26\\u7684\\u5B57\\u7B26\\u3002\",\"\\u6C38\\u4E0D\\u6362\\u884C\\u3002\",\"\\u5C06\\u5728\\u89C6\\u533A\\u5BBD\\u5EA6\\u5904\\u6362\\u884C\\u3002\",\"\\u5728 `#editor.wordWrapColumn#` \\u5904\\u6298\\u884C\\u3002\",\"\\u5728\\u89C6\\u533A\\u5BBD\\u5EA6\\u548C `#editor.wordWrapColumn#` \\u4E2D\\u7684\\u8F83\\u5C0F\\u503C\\u5904\\u6298\\u884C\\u3002\",\"\\u63A7\\u5236\\u6298\\u884C\\u7684\\u65B9\\u5F0F\\u3002\",\"\\u5728 `#editor.wordWrap#` \\u4E3A `wordWrapColumn` \\u6216 `bounded` \\u65F6\\uFF0C\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u7684\\u6298\\u884C\\u5217\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5E94\\u4F7F\\u7528\\u9ED8\\u8BA4\\u6587\\u6863\\u989C\\u8272\\u63D0\\u4F9B\\u7A0B\\u5E8F\\u663E\\u793A\\u5185\\u8054\\u989C\\u8272\\u4FEE\\u9970\",\"\\u63A7\\u5236\\u7F16\\u8F91\\u5668\\u662F\\u63A5\\u6536\\u9009\\u9879\\u5361\\u8FD8\\u662F\\u5C06\\u5176\\u5EF6\\u8FDF\\u5230\\u5DE5\\u4F5C\\u53F0\\u8FDB\\u884C\\u5BFC\\u822A\\u3002\",\"\\u5149\\u6807\\u6240\\u5728\\u884C\\u9AD8\\u4EAE\\u5185\\u5BB9\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u5149\\u6807\\u6240\\u5728\\u884C\\u56DB\\u5468\\u8FB9\\u6846\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u80CC\\u666F\\u989C\\u8272\\u7684\\u9AD8\\u4EAE\\u8303\\u56F4\\uFF0C\\u559C\\u6B22\\u901A\\u8FC7\\u5FEB\\u901F\\u6253\\u5F00\\u548C\\u67E5\\u627E\\u529F\\u80FD\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u9AD8\\u4EAE\\u533A\\u57DF\\u8FB9\\u6846\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u9AD8\\u4EAE\\u663E\\u793A\\u7B26\\u53F7\\u7684\\u80CC\\u666F\\u989C\\u8272\\uFF0C\\u4F8B\\u5982\\u8F6C\\u5230\\u5B9A\\u4E49\\u6216\\u8F6C\\u5230\\u4E0B\\u4E00\\u4E2A/\\u4E0A\\u4E00\\u4E2A\\u7B26\\u53F7\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u9AD8\\u4EAE\\u663E\\u793A\\u7B26\\u53F7\\u5468\\u56F4\\u7684\\u8FB9\\u6846\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5149\\u6807\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5149\\u6807\\u7684\\u80CC\\u666F\\u8272\\u3002\\u53EF\\u4EE5\\u81EA\\u5B9A\\u4E49\\u5757\\u578B\\u5149\\u6807\\u8986\\u76D6\\u5B57\\u7B26\\u7684\\u989C\\u8272\\u3002\",\"\\u5B58\\u5728\\u591A\\u4E2A\\u6E38\\u6807\\u65F6\\u4E3B\\u8981\\u7F16\\u8F91\\u5668\\u6E38\\u6807\\u7684\\u989C\\u8272\\u3002\",\"\\u5B58\\u5728\\u591A\\u4E2A\\u6E38\\u6807\\u65F6\\u4E3B\\u8981\\u7F16\\u8F91\\u5668\\u6E38\\u6807\\u7684\\u80CC\\u666F\\u8272\\u3002\\u5141\\u8BB8\\u81EA\\u5B9A\\u4E49\\u5757\\u6E38\\u6807\\u91CD\\u53E0\\u7684\\u5B57\\u7B26\\u7684\\u989C\\u8272\\u3002\",\"\\u5B58\\u5728\\u591A\\u4E2A\\u6E38\\u6807\\u65F6\\u8F85\\u52A9\\u7F16\\u8F91\\u5668\\u6E38\\u6807\\u7684\\u989C\\u8272\\u3002\",\"\\u5B58\\u5728\\u591A\\u4E2A\\u6E38\\u6807\\u65F6\\u8F85\\u52A9\\u7F16\\u8F91\\u5668\\u6E38\\u6807\\u7684\\u80CC\\u666F\\u8272\\u3002\\u5141\\u8BB8\\u81EA\\u5B9A\\u4E49\\u5757\\u6E38\\u6807\\u91CD\\u53E0\\u7684\\u5B57\\u7B26\\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u7A7A\\u767D\\u5B57\\u7B26\\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u884C\\u53F7\\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u7684\\u989C\\u8272\\u3002\",\"\\u201CeditorIndentGuide.background\\u201D \\u5DF2\\u5F03\\u7528\\u3002\\u8BF7\\u6539\\u7528 \\u201CeditorIndentGuide.background1\\u201D\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u7684\\u989C\\u8272\\u3002\",\"\\u201CeditorIndentGuide.activeBackground\\u201D \\u5DF2\\u5F03\\u7528\\u3002\\u8BF7\\u6539\\u7528 \\u201CeditorIndentGuide.activeBackground1\\u201D\\u3002\",\"\\u7F16\\u8F91\\u5668\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (1) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (2) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (3) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (4) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (5) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (6) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (1) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (2) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (3) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (4) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (5) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF (6) \\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u884C\\u53F7\\u7684\\u989C\\u8272\",'\"Id\" \\u5DF2\\u88AB\\u5F03\\u7528\\uFF0C\\u8BF7\\u6539\\u7528 \"editorLineNumber.activeForeground\"\\u3002',\"\\u7F16\\u8F91\\u5668\\u6D3B\\u52A8\\u884C\\u53F7\\u7684\\u989C\\u8272\",\"\\u5C06 editor.renderFinalNewline \\u8BBE\\u7F6E\\u4E3A\\u7070\\u8272\\u65F6\\u6700\\u7EC8\\u7F16\\u8F91\\u5668\\u884C\\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6807\\u5C3A\\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668 CodeLens \\u7684\\u524D\\u666F\\u8272\",\"\\u5339\\u914D\\u62EC\\u53F7\\u7684\\u80CC\\u666F\\u8272\",\"\\u5339\\u914D\\u62EC\\u53F7\\u5916\\u6846\\u7684\\u989C\\u8272\",\"\\u6982\\u89C8\\u6807\\u5C3A\\u8FB9\\u6846\\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6982\\u8FF0\\u6807\\u5C3A\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5BFC\\u822A\\u7EBF\\u7684\\u80CC\\u666F\\u8272\\u3002\\u5BFC\\u822A\\u7EBF\\u5305\\u62EC\\u8FB9\\u7F18\\u7B26\\u53F7\\u548C\\u884C\\u53F7\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u4E0D\\u5FC5\\u8981(\\u672A\\u4F7F\\u7528)\\u7684\\u6E90\\u4EE3\\u7801\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",'\\u975E\\u5FC5\\u987B(\\u672A\\u4F7F\\u7528)\\u4EE3\\u7801\\u7684\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u663E\\u793A\\u7684\\u4E0D\\u900F\\u660E\\u5EA6\\u3002\\u4F8B\\u5982\\uFF0C\"#000000c0\" \\u5C06\\u4EE5 75% \\u7684\\u4E0D\\u900F\\u660E\\u5EA6\\u663E\\u793A\\u4EE3\\u7801\\u3002\\u5BF9\\u4E8E\\u9AD8\\u5BF9\\u6BD4\\u5EA6\\u4E3B\\u9898\\uFF0C\\u8BF7\\u4F7F\\u7528 \\u201DeditorUnnecessaryCode.border\\u201C \\u4E3B\\u9898\\u6765\\u4E3A\\u975E\\u5FC5\\u987B\\u4EE3\\u7801\\u6DFB\\u52A0\\u4E0B\\u5212\\u7EBF\\uFF0C\\u4EE5\\u907F\\u514D\\u989C\\u8272\\u6DE1\\u5316\\u3002',\"\\u7F16\\u8F91\\u5668\\u4E2D\\u865A\\u5F71\\u6587\\u672C\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u865A\\u5F71\\u6587\\u672C\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u865A\\u5F71\\u6587\\u672C\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u7528\\u4E8E\\u7A81\\u51FA\\u663E\\u793A\\u8303\\u56F4\\u7684\\u6982\\u8FF0\\u6807\\u5C3A\\u6807\\u8BB0\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u6982\\u89C8\\u6807\\u5C3A\\u4E2D\\u9519\\u8BEF\\u6807\\u8BB0\\u7684\\u989C\\u8272\\u3002\",\"\\u6982\\u89C8\\u6807\\u5C3A\\u4E2D\\u8B66\\u544A\\u6807\\u8BB0\\u7684\\u989C\\u8272\\u3002\",\"\\u6982\\u89C8\\u6807\\u5C3A\\u4E2D\\u4FE1\\u606F\\u6807\\u8BB0\\u7684\\u989C\\u8272\\u3002\",\"\\u62EC\\u53F7\\u7684\\u524D\\u666F\\u8272(1)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u7740\\u8272\\u3002\",\"\\u62EC\\u53F7\\u7684\\u524D\\u666F\\u8272(2)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u7740\\u8272\\u3002\",\"\\u62EC\\u53F7\\u7684\\u524D\\u666F\\u8272(3)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u7740\\u8272\\u3002\",\"\\u62EC\\u53F7\\u7684\\u524D\\u666F\\u8272(4)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u7740\\u8272\\u3002\",\"\\u62EC\\u53F7\\u7684\\u524D\\u666F\\u8272(5)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u7740\\u8272\\u3002\",\"\\u62EC\\u53F7\\u7684\\u524D\\u666F\\u8272(6)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u7740\\u8272\\u3002\",\"\\u65B9\\u62EC\\u53F7\\u51FA\\u73B0\\u610F\\u5916\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(1)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(2)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(3)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(4)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(5)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(6)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(1)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(2)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(3)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(4)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(5)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u6D3B\\u52A8\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u7684\\u80CC\\u666F\\u8272(6)\\u3002\\u9700\\u8981\\u542F\\u7528\\u62EC\\u53F7\\u5BF9\\u6307\\u5357\\u3002\",\"\\u7528\\u4E8E\\u7A81\\u51FA\\u663E\\u793A Unicode \\u5B57\\u7B26\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u7A81\\u51FA\\u663E\\u793A Unicode \\u5B57\\u7B26\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6587\\u672C\\u662F\\u5426\\u5177\\u6709\\u7126\\u70B9(\\u5149\\u6807\\u662F\\u5426\\u95EA\\u70C1)\",\"\\u7F16\\u8F91\\u5668\\u6216\\u7F16\\u8F91\\u5668\\u5C0F\\u7EC4\\u4EF6\\u662F\\u5426\\u5177\\u6709\\u7126\\u70B9(\\u4F8B\\u5982\\u7126\\u70B9\\u5728\\u201C\\u67E5\\u627E\\u201D\\u5C0F\\u7EC4\\u4EF6\\u4E2D)\",\"\\u7F16\\u8F91\\u5668\\u6216 RTF \\u8F93\\u5165\\u662F\\u5426\\u6709\\u7126\\u70B9(\\u5149\\u6807\\u662F\\u5426\\u95EA\\u70C1)\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u4E3A\\u53EA\\u8BFB\",\"\\u4E0A\\u4E0B\\u6587\\u662F\\u5426\\u4E3A\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\",\"\\u4E0A\\u4E0B\\u6587\\u662F\\u5426\\u4E3A\\u5D4C\\u5165\\u5F0F\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\",null,\"\\u662F\\u5426\\u6298\\u53E0\\u591A\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4E2D\\u7684\\u6240\\u6709\\u6587\\u4EF6\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u6709\\u66F4\\u6539\",\"\\u662F\\u5426\\u9009\\u62E9\\u79FB\\u52A8\\u7684\\u4EE3\\u7801\\u5757\\u8FDB\\u884C\\u6BD4\\u8F83\",\"\\u53EF\\u8BBF\\u95EE\\u5DEE\\u5F02\\u67E5\\u770B\\u5668\\u662F\\u5426\\u53EF\\u89C1\",\"\\u662F\\u5426\\u5DF2\\u5230\\u8FBE\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u5E76\\u6392\\u5448\\u73B0\\u5185\\u8054\\u65AD\\u70B9\",\"\\u5185\\u8054\\u6A21\\u5F0F\\u662F\\u5426\\u5904\\u4E8E\\u6D3B\\u52A8\\u72B6\\u6001\",\"\\u4FEE\\u6539\\u9879\\u5728\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u53EF\\u5199\",\"\\u4FEE\\u6539\\u9879\\u5728\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u53EF\\u5199\",\"\\u539F\\u59CB\\u6587\\u6863\\u7684 URI\",\"\\u5DF2\\u4FEE\\u6539\\u7684\\u6587\\u6863\\u7684 URI\",'\\u662F\\u5426\\u5DF2\\u542F\\u7528 \"editor.columnSelection\"',\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5DF2\\u9009\\u5B9A\\u6587\\u672C\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u6709\\u591A\\u4E2A\\u9009\\u62E9\",'\"Tab\" \\u662F\\u5426\\u5C06\\u7126\\u70B9\\u79FB\\u51FA\\u7F16\\u8F91\\u5668',\"\\u7F16\\u8F91\\u5668\\u8F6F\\u952E\\u76D8\\u662F\\u5426\\u53EF\\u89C1\",\"\\u662F\\u5426\\u805A\\u7126\\u7F16\\u8F91\\u5668\\u60AC\\u505C\",\"\\u662F\\u5426\\u805A\\u7126\\u7C98\\u6027\\u6EDA\\u52A8\",\"\\u7C98\\u6027\\u6EDA\\u52A8\\u662F\\u5426\\u53EF\\u89C1\",\"\\u72EC\\u7ACB\\u989C\\u8272\\u9009\\u53D6\\u5668\\u662F\\u5426\\u53EF\\u89C1\",\"\\u72EC\\u7ACB\\u989C\\u8272\\u9009\\u53D6\\u5668\\u662F\\u5426\\u805A\\u7126\",\"\\u8BE5\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u662F\\u66F4\\u5927\\u7684\\u7F16\\u8F91\\u5668(\\u4F8B\\u5982\\u7B14\\u8BB0\\u672C)\\u7684\\u4E00\\u90E8\\u5206\",\"\\u7F16\\u8F91\\u5668\\u7684\\u8BED\\u8A00\\u6807\\u8BC6\\u7B26\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u8865\\u5168\\u9879\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u4EE3\\u7801\\u64CD\\u4F5C\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709 CodeLens \\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u5B9A\\u4E49\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u58F0\\u660E\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u5B9E\\u73B0\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u7C7B\\u578B\\u5B9A\\u4E49\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u60AC\\u505C\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u6587\\u6863\\u7A81\\u51FA\\u663E\\u793A\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u6587\\u6863\\u7B26\\u53F7\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u5F15\\u7528\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u91CD\\u547D\\u540D\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u7B7E\\u540D\\u5E2E\\u52A9\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u5185\\u8054\\u63D0\\u793A\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u6587\\u6863\\u683C\\u5F0F\\u8BBE\\u7F6E\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u6587\\u6863\\u9009\\u62E9\\u683C\\u5F0F\\u8BBE\\u7F6E\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u5177\\u6709\\u591A\\u4E2A\\u6587\\u6863\\u683C\\u5F0F\\u8BBE\\u7F6E\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u6709\\u591A\\u4E2A\\u6587\\u6863\\u9009\\u62E9\\u683C\\u5F0F\\u8BBE\\u7F6E\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u6570\\u7EC4\",\"\\u5E03\\u5C14\\u503C\",\"\\u7C7B\",\"\\u5E38\\u6570\",\"\\u6784\\u9020\\u51FD\\u6570\",\"\\u679A\\u4E3E\",\"\\u679A\\u4E3E\\u6210\\u5458\",\"\\u4E8B\\u4EF6\",\"\\u5B57\\u6BB5\",\"\\u6587\\u4EF6\",\"\\u51FD\\u6570\",\"\\u63A5\\u53E3\",\"\\u952E\",\"\\u65B9\\u6CD5\",\"\\u6A21\\u5757\",\"\\u547D\\u540D\\u7A7A\\u95F4\",\"Null\",\"\\u6570\\u5B57\",\"\\u5BF9\\u8C61\",\"\\u8FD0\\u7B97\\u7B26\",\"\\u5305\",\"\\u5C5E\\u6027\",\"\\u5B57\\u7B26\\u4E32\",\"\\u7ED3\\u6784\",\"\\u7C7B\\u578B\\u53C2\\u6570\",\"\\u53D8\\u91CF\",\"{0} ({1})\",\"\\u7EAF\\u6587\\u672C\",\"\\u8F93\\u5165\",\"\\u5F00\\u53D1\\u4EBA\\u5458: \\u68C0\\u67E5\\u4EE4\\u724C\",\"\\u8F6C\\u5230\\u884C/\\u5217...\",\"\\u663E\\u793A\\u6240\\u6709\\u5FEB\\u901F\\u8BBF\\u95EE\\u63D0\\u4F9B\\u7A0B\\u5E8F\",\"\\u547D\\u4EE4\\u9762\\u677F\",\"\\u663E\\u793A\\u5E76\\u8FD0\\u884C\\u547D\\u4EE4\",\"\\u8F6C\\u5230\\u7B26\\u53F7...\",\"\\u6309\\u7C7B\\u522B\\u8F6C\\u5230\\u7B26\\u53F7...\",\"\\u7F16\\u8F91\\u5668\\u5185\\u5BB9\",\"\\u5207\\u6362\\u9AD8\\u5BF9\\u6BD4\\u5EA6\\u4E3B\\u9898\",\"\\u5728 {1} \\u4E2A\\u6587\\u4EF6\\u4E2D\\u8FDB\\u884C\\u4E86 {0} \\u6B21\\u7F16\\u8F91\",\"\\u663E\\u793A\\u66F4\\u591A({0})\",\"{0} \\u5B57\\u7B26\",\"\\u9009\\u62E9\\u5B9A\\u4F4D\\u70B9\",\"\\u5B9A\\u4F4D\\u70B9\\u8BBE\\u7F6E\\u4E3A {0}:{1}\",\"\\u8BBE\\u7F6E\\u9009\\u62E9\\u5B9A\\u4F4D\\u70B9\",\"\\u8F6C\\u5230\\u9009\\u62E9\\u5B9A\\u4F4D\\u70B9\",\"\\u9009\\u62E9\\u4ECE\\u5B9A\\u4F4D\\u70B9\\u5230\\u5149\\u6807\",\"\\u53D6\\u6D88\\u9009\\u62E9\\u5B9A\\u4F4D\\u70B9\",\"\\u6982\\u89C8\\u6807\\u5C3A\\u4E0A\\u8868\\u793A\\u5339\\u914D\\u62EC\\u53F7\\u7684\\u6807\\u8BB0\\u989C\\u8272\\u3002\",\"\\u8F6C\\u5230\\u62EC\\u53F7\",\"\\u9009\\u62E9\\u62EC\\u53F7\\u6240\\u6709\\u5185\\u5BB9\",\"\\u5220\\u9664\\u62EC\\u53F7\",\"\\u8F6C\\u5230\\u62EC\\u53F7(&&B)\",\"\\u9009\\u62E9\\u5176\\u4E2D\\u7684\\u6587\\u672C\\uFF0C\\u5305\\u62EC\\u62EC\\u53F7\\u6216\\u5927\\u62EC\\u53F7\",\"\\u5411\\u5DE6\\u79FB\\u52A8\\u6240\\u9009\\u6587\\u672C\",\"\\u5411\\u53F3\\u79FB\\u52A8\\u6240\\u9009\\u6587\\u672C\",\"\\u8F6C\\u7F6E\\u5B57\\u6BCD\",\"\\u526A\\u5207(&&T)\",\"\\u526A\\u5207\",\"\\u526A\\u5207\",\"\\u526A\\u5207\",\"\\u590D\\u5236(&&C)\",\"\\u590D\\u5236\",\"\\u590D\\u5236\",\"\\u590D\\u5236\",\"\\u7C98\\u8D34(&&P)\",\"\\u7C98\\u8D34\",\"\\u7C98\\u8D34\",\"\\u7C98\\u8D34\",\"\\u590D\\u5236\\u5E76\\u7A81\\u51FA\\u663E\\u793A\\u8BED\\u6CD5\",\"\\u590D\\u5236\\u4E3A\",\"\\u590D\\u5236\\u4E3A\",\"\\u5171\\u4EAB\",\"\\u5171\\u4EAB\",\"\\u5E94\\u7528\\u4EE3\\u7801\\u64CD\\u4F5C\\u65F6\\u53D1\\u751F\\u672A\\u77E5\\u9519\\u8BEF\",\"\\u8981\\u8FD0\\u884C\\u7684\\u4EE3\\u7801\\u64CD\\u4F5C\\u7684\\u79CD\\u7C7B\\u3002\",\"\\u63A7\\u5236\\u4F55\\u65F6\\u5E94\\u7528\\u8FD4\\u56DE\\u7684\\u64CD\\u4F5C\\u3002\",\"\\u59CB\\u7EC8\\u5E94\\u7528\\u7B2C\\u4E00\\u4E2A\\u8FD4\\u56DE\\u7684\\u4EE3\\u7801\\u64CD\\u4F5C\\u3002\",\"\\u5982\\u679C\\u4EC5\\u8FD4\\u56DE\\u7684\\u7B2C\\u4E00\\u4E2A\\u4EE3\\u7801\\u64CD\\u4F5C\\uFF0C\\u5219\\u5E94\\u7528\\u8BE5\\u64CD\\u4F5C\\u3002\",\"\\u4E0D\\u8981\\u5E94\\u7528\\u8FD4\\u56DE\\u7684\\u4EE3\\u7801\\u64CD\\u4F5C\\u3002\",\"\\u5982\\u679C\\u53EA\\u5E94\\u8FD4\\u56DE\\u9996\\u9009\\u4EE3\\u7801\\u64CD\\u4F5C\\uFF0C\\u5219\\u5E94\\u8FD4\\u56DE\\u63A7\\u4EF6\\u3002\",\"\\u5FEB\\u901F\\u4FEE\\u590D...\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u4EE3\\u7801\\u64CD\\u4F5C\",'\\u6CA1\\u6709\\u9002\\u7528\\u4E8E\"{0}\"\\u7684\\u9996\\u9009\\u4EE3\\u7801\\u64CD\\u4F5C','\\u6CA1\\u6709\\u9002\\u7528\\u4E8E\"{0}\"\\u7684\\u4EE3\\u7801\\u64CD\\u4F5C',\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u9996\\u9009\\u4EE3\\u7801\\u64CD\\u4F5C\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u4EE3\\u7801\\u64CD\\u4F5C\",\"\\u91CD\\u6784...\",'\\u6CA1\\u6709\\u9002\\u7528\\u4E8E\"{0}\"\\u7684\\u9996\\u9009\\u91CD\\u6784','\\u6CA1\\u6709\\u53EF\\u7528\\u7684\"{0}\"\\u91CD\\u6784',\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u9996\\u9009\\u91CD\\u6784\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u91CD\\u6784\\u64CD\\u4F5C\",\"\\u6E90\\u4EE3\\u7801\\u64CD\\u4F5C...\",'\\u6CA1\\u6709\\u9002\\u7528\\u4E8E\"{0}\"\\u7684\\u9996\\u9009\\u6E90\\u64CD\\u4F5C',\"\\u6CA1\\u6709\\u9002\\u7528\\u4E8E\\u201C {0}\\u201D\\u7684\\u6E90\\u64CD\\u4F5C\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u9996\\u9009\\u6E90\\u64CD\\u4F5C\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u6E90\\u4EE3\\u7801\\u64CD\\u4F5C\",\"\\u6574\\u7406 import \\u8BED\\u53E5\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u6574\\u7406 import \\u8BED\\u53E5\\u64CD\\u4F5C\",\"\\u5168\\u90E8\\u4FEE\\u590D\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u201C\\u5168\\u90E8\\u4FEE\\u590D\\u201D\\u64CD\\u4F5C\",\"\\u81EA\\u52A8\\u4FEE\\u590D...\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u81EA\\u52A8\\u4FEE\\u590D\\u7A0B\\u5E8F\",\"\\u542F\\u7528/\\u7981\\u7528\\u5728\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u4E2D\\u663E\\u793A\\u7EC4\\u6807\\u5934\\u3002\",\"\\u542F\\u7528/\\u7981\\u7528\\u5728\\u5F53\\u524D\\u672A\\u8FDB\\u884C\\u8BCA\\u65AD\\u65F6\\u663E\\u793A\\u884C\\u5185\\u6700\\u8FD1\\u7684\\u5FEB\\u901F\\u4FEE\\u590D\\u3002\",\"\\u5F53 {1} \\u8BBE\\u7F6E\\u4E3A {2} \\u65F6\\uFF0C\\u542F\\u7528\\u89E6\\u53D1 {0}\\u3002\\u4EE3\\u7801\\u64CD\\u4F5C\\u5FC5\\u987B\\u8BBE\\u7F6E\\u4E3A {3} \\u4EE5\\u4FBF\\u5728\\u7A97\\u53E3\\u548C\\u7126\\u70B9\\u66F4\\u6539\\u65F6\\u89E6\\u53D1\\u3002\",\"\\u4E0A\\u4E0B\\u6587: {0} \\u4F4D\\u4E8E\\u884C {1} \\u548C\\u5217 {2}\\u3002\",\"\\u9690\\u85CF\\u5DF2\\u7981\\u7528\\u9879\",\"\\u663E\\u793A\\u5DF2\\u7981\\u7528\\u9879\",\"\\u66F4\\u591A\\u64CD\\u4F5C...\",\"\\u5FEB\\u901F\\u4FEE\\u590D\",\"\\u63D0\\u53D6\",\"\\u5185\\u8054\",\"\\u91CD\\u5199\",\"\\u79FB\\u52A8\",\"\\u5916\\u4FA7\\u4EE3\\u7801\",\"\\u6E90\\u4EE3\\u7801\\u64CD\\u4F5C\",\"\\u5F53\\u7F16\\u8F91\\u5668\\u4E2D\\u6CA1\\u6709\\u7A7A\\u95F4\\u65F6\\u4ECE\\u88C5\\u8BA2\\u7EBF\\u751F\\u6210\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u7684\\u56FE\\u6807\\u3002\",\"\\u5F53\\u7F16\\u8F91\\u5668\\u4E2D\\u6CA1\\u6709\\u7A7A\\u95F4\\uFF0C\\u4E14\\u5FEB\\u901F\\u4FEE\\u590D\\u53EF\\u7528\\u65F6\\u4ECE\\u88C5\\u8BA2\\u7EBF\\u751F\\u6210\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u7684\\u56FE\\u6807\\u3002\",\"\\u5F53\\u7F16\\u8F91\\u5668\\u4E2D\\u6CA1\\u6709\\u7A7A\\u95F4\\uFF0C\\u4E14 AI \\u4FEE\\u590D\\u53EF\\u7528\\u65F6\\u4ECE\\u88C5\\u8BA2\\u7EBF\\u751F\\u6210\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u7684\\u56FE\\u6807\\u3002\",\"\\u5F53\\u7F16\\u8F91\\u5668\\u4E2D\\u6CA1\\u6709\\u7A7A\\u95F4\\u3001AI \\u4FEE\\u590D\\u548C\\u5FEB\\u901F\\u4FEE\\u590D\\u53EF\\u7528\\u65F6\\u4ECE\\u88C5\\u8BA2\\u7EBF\\u751F\\u6210\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u7684\\u56FE\\u6807\\u3002\",\"\\u5F53\\u7F16\\u8F91\\u5668\\u4E2D\\u6CA1\\u6709\\u7A7A\\u95F4\\u3001AI \\u4FEE\\u590D\\u548C\\u5FEB\\u901F\\u4FEE\\u590D\\u53EF\\u7528\\u65F6\\u4ECE\\u88C5\\u8BA2\\u7EBF\\u751F\\u6210\\u4EE3\\u7801\\u64CD\\u4F5C\\u83DC\\u5355\\u7684\\u56FE\\u6807\\u3002\",\"\\u8FD0\\u884C\\uFF1A{0}\",\"\\u663E\\u793A\\u4EE3\\u7801\\u64CD\\u4F5C\\u3002\\u9996\\u9009\\u53EF\\u7528\\u7684\\u5FEB\\u901F\\u4FEE\\u590D({0})\",\"\\u663E\\u793A\\u4EE3\\u7801\\u64CD\\u4F5C({0})\",\"\\u663E\\u793A\\u4EE3\\u7801\\u64CD\\u4F5C\",\"\\u663E\\u793A\\u5F53\\u524D\\u884C\\u7684 Code Lens \\u547D\\u4EE4\",\"\\u9009\\u62E9\\u547D\\u4EE4\",null,null,null,null,null,null,null,null,null,\"\\u5207\\u6362\\u884C\\u6CE8\\u91CA\",\"\\u5207\\u6362\\u884C\\u6CE8\\u91CA(&&T)\",\"\\u6DFB\\u52A0\\u884C\\u6CE8\\u91CA\",\"\\u5220\\u9664\\u884C\\u6CE8\\u91CA\",\"\\u5207\\u6362\\u5757\\u6CE8\\u91CA\",\"\\u5207\\u6362\\u5757\\u6CE8\\u91CA(&&B)\",\"\\u7F29\\u7565\\u56FE\",\"\\u5448\\u73B0\\u5B57\\u7B26\",\"\\u5782\\u76F4\\u5927\\u5C0F\",\"\\u6210\\u6BD4\\u4F8B\",\"\\u586B\\u5145\",\"\\u9002\\u5E94\",\"\\u6ED1\\u5757\",\"\\u9F20\\u6807\\u60AC\\u505C\",\"\\u59CB\\u7EC8\",\"\\u663E\\u793A\\u7F16\\u8F91\\u5668\\u4E0A\\u4E0B\\u6587\\u83DC\\u5355\",\"\\u5149\\u6807\\u64A4\\u6D88\",\"\\u5149\\u6807\\u91CD\\u505A\",`\\u8981\\u5C1D\\u8BD5\\u7C98\\u8D34\\u7684\\u7C98\\u8D34\\u7F16\\u8F91\\u7684\\u7C7B\\u578B\\u3002\\r\n\\u5982\\u679C\\u6709\\u591A\\u4E2A\\u6B64\\u7C7B\\u7F16\\u8F91\\uFF0C\\u7F16\\u8F91\\u5668\\u5C06\\u663E\\u793A\\u4E00\\u4E2A\\u9009\\u53D6\\u5668\\u3002\\u5982\\u679C\\u6CA1\\u6709\\u6B64\\u7C7B\\u7F16\\u8F91\\uFF0C\\u7F16\\u8F91\\u5668\\u5C06\\u663E\\u793A\\u9519\\u8BEF\\u6D88\\u606F\\u3002`,\"\\u7C98\\u8D34\\u4E3A...\",\"\\u7C98\\u8D34\\u4E3A\\u6587\\u672C\",\"\\u662F\\u5426\\u663E\\u793A\\u7C98\\u8D34\\u5C0F\\u7EC4\\u4EF6\",\"\\u663E\\u793A\\u7C98\\u8D34\\u9009\\u9879...\",\"\\u627E\\u4E0D\\u5230\\u201C{0}\\u201D\\u7684\\u7C98\\u8D34\\u7F16\\u8F91\",\"\\u6B63\\u5728\\u89E3\\u6790\\u7C98\\u8D34\\u7F16\\u8F91\\u3002\\u5355\\u51FB\\u4EE5\\u53D6\\u6D88\",\"\\u6B63\\u5728\\u8FD0\\u884C\\u7C98\\u8D34\\u5904\\u7406\\u7A0B\\u5E8F\\u3002\\u5355\\u51FB\\u53EF\\u53D6\\u6D88\\u5E76\\u8FDB\\u884C\\u57FA\\u672C\\u7C98\\u8D34\",\"\\u9009\\u62E9\\u7C98\\u8D34\\u64CD\\u4F5C\",\"\\u6B63\\u5728\\u8FD0\\u884C\\u7C98\\u8D34\\u5904\\u7406\\u7A0B\\u5E8F\",\"\\u63D2\\u5165\\u7EAF\\u6587\\u672C\",\"\\u63D2\\u5165 URI\",\"\\u63D2\\u5165 URI\",\"\\u63D2\\u5165\\u8DEF\\u5F84\",\"\\u63D2\\u5165\\u8DEF\\u5F84\",\"\\u63D2\\u5165\\u76F8\\u5BF9\\u8DEF\\u5F84\",\"\\u63D2\\u5165\\u76F8\\u5BF9\\u8DEF\\u5F84\",\"\\u63D2\\u5165 HTML\",null,\"\\u662F\\u5426\\u663E\\u793A\\u653E\\u7F6E\\u5C0F\\u7EC4\\u4EF6\",\"\\u663E\\u793A\\u653E\\u7F6E\\u9009\\u9879...\",\"\\u6B63\\u5728\\u8FD0\\u884C\\u653E\\u7F6E\\u5904\\u7406\\u7A0B\\u5E8F\\u3002\\u5355\\u51FB\\u4EE5\\u53D6\\u6D88\",`\\u89E3\\u6790\\u7F16\\u8F91\\u201C{0}\\u201D\\u65F6\\u51FA\\u9519:\\r\n{1}`,`\\u5E94\\u7528\\u7F16\\u8F91\\u201C{0}\\u201D\\u65F6\\u51FA\\u9519:\\r\n{1}`,\"\\u7F16\\u8F91\\u5668\\u662F\\u5426\\u8FD0\\u884C\\u53EF\\u53D6\\u6D88\\u7684\\u64CD\\u4F5C\\uFF0C\\u4F8B\\u5982\\u201C\\u9884\\u89C8\\u5F15\\u7528\\u201D\",\"\\u6587\\u4EF6\\u592A\\u5927\\uFF0C\\u65E0\\u6CD5\\u6267\\u884C\\u5168\\u90E8\\u66FF\\u6362\\u64CD\\u4F5C\\u3002\",\"\\u67E5\\u627E\",\"\\u67E5\\u627E(&&F)\",\"\\u4F7F\\u7528\\u53C2\\u6570\\u67E5\\u627E\",\"\\u67E5\\u627E\\u9009\\u5B9A\\u5185\\u5BB9\",\"\\u67E5\\u627E\\u4E0B\\u4E00\\u4E2A\",\"\\u67E5\\u627E\\u4E0A\\u4E00\\u4E2A\",\"\\u8F6C\\u5230\\u201C\\u5339\\u914D\\u201D...\",\"\\u65E0\\u5339\\u914D\\u9879\\u3002\\u8BF7\\u5C1D\\u8BD5\\u641C\\u7D22\\u5176\\u4ED6\\u5185\\u5BB9\\u3002\",\"\\u952E\\u5165\\u6570\\u5B57\\u4EE5\\u8F6C\\u5230\\u7279\\u5B9A\\u5339\\u914D\\u9879(\\u4ECB\\u4E8E 1 \\u548C {0} \\u4E4B\\u95F4)\",\"\\u8BF7\\u952E\\u5165\\u4ECB\\u4E8E 1 \\u548C {0} \\u4E4B\\u95F4\\u7684\\u6570\\u5B57\",\"\\u8BF7\\u952E\\u5165\\u4ECB\\u4E8E 1 \\u548C {0} \\u4E4B\\u95F4\\u7684\\u6570\\u5B57\",\"\\u67E5\\u627E\\u4E0B\\u4E00\\u4E2A\\u9009\\u62E9\",\"\\u67E5\\u627E\\u4E0A\\u4E00\\u4E2A\\u9009\\u62E9\",\"\\u66FF\\u6362\",\"\\u66FF\\u6362(&&R)\",\"\\u7528\\u4E8E\\u6307\\u793A\\u7F16\\u8F91\\u5668\\u67E5\\u627E\\u5C0F\\u7EC4\\u4EF6\\u5DF2\\u6298\\u53E0\\u7684\\u56FE\\u6807\\u3002\",\"\\u7528\\u4E8E\\u6307\\u793A\\u7F16\\u8F91\\u5668\\u67E5\\u627E\\u5C0F\\u7EC4\\u4EF6\\u5DF2\\u5C55\\u5F00\\u7684\\u56FE\\u6807\\u3002\",\"\\u7F16\\u8F91\\u5668\\u67E5\\u627E\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u7684\\u201C\\u5728\\u9009\\u5B9A\\u5185\\u5BB9\\u4E2D\\u67E5\\u627E\\u201D\\u56FE\\u6807\\u3002\",\"\\u7F16\\u8F91\\u5668\\u67E5\\u627E\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u7684\\u201C\\u66FF\\u6362\\u201D\\u56FE\\u6807\\u3002\",\"\\u7F16\\u8F91\\u5668\\u67E5\\u627E\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u7684\\u201C\\u5168\\u90E8\\u66FF\\u6362\\u201D\\u56FE\\u6807\\u3002\",\"\\u7F16\\u8F91\\u5668\\u67E5\\u627E\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u7684\\u201C\\u67E5\\u627E\\u4E0A\\u4E00\\u4E2A\\u201D\\u56FE\\u6807\\u3002\",\"\\u7F16\\u8F91\\u5668\\u67E5\\u627E\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u7684\\u201C\\u67E5\\u627E\\u4E0B\\u4E00\\u4E2A\\u201D\\u56FE\\u6807\\u3002\",\"\\u67E5\\u627E/\\u66FF\\u6362\",\"\\u67E5\\u627E\",\"\\u67E5\\u627E\",\"\\u4E0A\\u4E00\\u4E2A\\u5339\\u914D\\u9879\",\"\\u4E0B\\u4E00\\u4E2A\\u5339\\u914D\\u9879\",\"\\u5728\\u9009\\u5B9A\\u5185\\u5BB9\\u4E2D\\u67E5\\u627E\",\"\\u5173\\u95ED\",\"\\u66FF\\u6362\",\"\\u66FF\\u6362\",\"\\u66FF\\u6362\",\"\\u5168\\u90E8\\u66FF\\u6362\",\"\\u5207\\u6362\\u66FF\\u6362\",\"\\u4EC5\\u9AD8\\u4EAE\\u4E86\\u524D {0} \\u4E2A\\u7ED3\\u679C\\uFF0C\\u4F46\\u6240\\u6709\\u67E5\\u627E\\u64CD\\u4F5C\\u5747\\u9488\\u5BF9\\u5168\\u6587\\u3002\",\"\\u7B2C {0} \\u9879\\uFF0C\\u5171 {1} \\u9879\",\"\\u65E0\\u7ED3\\u679C\",\"\\u627E\\u5230 {0}\",\"\\u4E3A\\u201C{1}\\u201D\\u627E\\u5230 {0}\",\"\\u5728 {2} \\u5904\\u627E\\u5230\\u201C{1}\\u201D\\u7684 {0}\",\"\\u4E3A\\u201C{1}\\u201D\\u627E\\u5230 {0}\",\"Ctrl+Enter \\u73B0\\u5728\\u7531\\u5168\\u90E8\\u66FF\\u6362\\u6539\\u4E3A\\u63D2\\u5165\\u6362\\u884C\\u3002\\u4F60\\u53EF\\u4EE5\\u4FEE\\u6539editor.action.replaceAll \\u7684\\u6309\\u952E\\u7ED1\\u5B9A\\u4EE5\\u8986\\u76D6\\u6B64\\u884C\\u4E3A\\u3002\",\"\\u5C55\\u5F00\",\"\\u4EE5\\u9012\\u5F52\\u65B9\\u5F0F\\u5C55\\u5F00\",\"\\u6298\\u53E0\",\"\\u5207\\u6362\\u6298\\u53E0\",\"\\u4EE5\\u9012\\u5F52\\u65B9\\u5F0F\\u6298\\u53E0\",\"\\u4EE5\\u9012\\u5F52\\u65B9\\u5F0F\\u5207\\u6362\\u6298\\u53E0\",\"\\u6298\\u53E0\\u6240\\u6709\\u5757\\u6CE8\\u91CA\",\"\\u6298\\u53E0\\u6240\\u6709\\u533A\\u57DF\",\"\\u5C55\\u5F00\\u6240\\u6709\\u533A\\u57DF\",\"\\u6298\\u53E0\\u9664\\u9009\\u5B9A\\u9879\\u4EE5\\u5916\\u7684\\u6240\\u6709\\u9879\",\"\\u5C55\\u5F00\\u9664\\u6240\\u9009\\u533A\\u57DF\\u4E4B\\u5916\\u7684\\u6240\\u6709\\u533A\\u57DF\",\"\\u5168\\u90E8\\u6298\\u53E0\",\"\\u5168\\u90E8\\u5C55\\u5F00\",\"\\u8DF3\\u8F6C\\u5230\\u7236\\u7EA7\\u6298\\u53E0\",\"\\u8F6C\\u5230\\u4E0A\\u4E00\\u4E2A\\u6298\\u53E0\\u8303\\u56F4\",\"\\u8F6C\\u5230\\u4E0B\\u4E00\\u4E2A\\u6298\\u53E0\\u8303\\u56F4\",\"\\u6839\\u636E\\u6240\\u9009\\u5185\\u5BB9\\u521B\\u5EFA\\u6298\\u53E0\\u8303\\u56F4\",\"\\u5220\\u9664\\u624B\\u52A8\\u6298\\u53E0\\u8303\\u56F4\",\"\\u6298\\u53E0\\u7EA7\\u522B {0}\",\"\\u6298\\u53E0\\u8303\\u56F4\\u540E\\u9762\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u8BBE\\u4E3A\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u5E95\\u5C42\\u88C5\\u9970\\u3002\",\"\\u5728\\u6298\\u53E0\\u8303\\u56F4\\u7684\\u7B2C\\u4E00\\u884C\\u540E\\u7684\\u6298\\u53E0\\u6587\\u672C\\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u88C5\\u8BA2\\u7EBF\\u4E2D\\u6298\\u53E0\\u63A7\\u4EF6\\u7684\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5B57\\u5F62\\u8FB9\\u8DDD\\u4E2D\\u5DF2\\u5C55\\u5F00\\u7684\\u8303\\u56F4\\u7684\\u56FE\\u6807\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5B57\\u5F62\\u8FB9\\u8DDD\\u4E2D\\u5DF2\\u6298\\u53E0\\u7684\\u8303\\u56F4\\u7684\\u56FE\\u6807\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5B57\\u5F62\\u8FB9\\u8DDD\\u4E2D\\u624B\\u52A8\\u6298\\u53E0\\u7684\\u8303\\u56F4\\u7684\\u56FE\\u6807\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5B57\\u5F62\\u8FB9\\u8DDD\\u4E2D\\u624B\\u52A8\\u5C55\\u5F00\\u7684\\u8303\\u56F4\\u7684\\u56FE\\u6807\\u3002\",\"\\u5355\\u51FB\\u4EE5\\u5C55\\u5F00\\u8303\\u56F4\\u3002\",\"\\u5355\\u51FB\\u4EE5\\u6298\\u53E0\\u8303\\u56F4\\u3002\",\"\\u589E\\u5927\\u7F16\\u8F91\\u5668\\u5B57\\u53F7\",\"\\u51CF\\u5C0F\\u7F16\\u8F91\\u5668\\u5B57\\u53F7\",\"\\u91CD\\u7F6E\\u7F16\\u8F91\\u5668\\u5B57\\u53F7\",\"\\u683C\\u5F0F\\u5316\\u6587\\u6863\",\"\\u683C\\u5F0F\\u5316\\u9009\\u5B9A\\u5185\\u5BB9\",\"\\u8F6C\\u5230\\u4E0B\\u4E00\\u4E2A\\u95EE\\u9898 (\\u9519\\u8BEF\\u3001\\u8B66\\u544A\\u3001\\u4FE1\\u606F)\",\"\\u201C\\u8F6C\\u5230\\u4E0B\\u4E00\\u4E2A\\u201D\\u6807\\u8BB0\\u7684\\u56FE\\u6807\\u3002\",\"\\u8F6C\\u5230\\u4E0A\\u4E00\\u4E2A\\u95EE\\u9898 (\\u9519\\u8BEF\\u3001\\u8B66\\u544A\\u3001\\u4FE1\\u606F)\",\"\\u201C\\u8F6C\\u5230\\u4E0A\\u4E00\\u4E2A\\u201D\\u6807\\u8BB0\\u7684\\u56FE\\u6807\\u3002\",\"\\u8F6C\\u5230\\u6587\\u4EF6\\u4E2D\\u7684\\u4E0B\\u4E00\\u4E2A\\u95EE\\u9898 (\\u9519\\u8BEF\\u3001\\u8B66\\u544A\\u3001\\u4FE1\\u606F)\",\"\\u4E0B\\u4E00\\u4E2A\\u95EE\\u9898(&&P)\",\"\\u8F6C\\u5230\\u6587\\u4EF6\\u4E2D\\u7684\\u4E0A\\u4E00\\u4E2A\\u95EE\\u9898 (\\u9519\\u8BEF\\u3001\\u8B66\\u544A\\u3001\\u4FE1\\u606F)\",\"\\u4E0A\\u4E00\\u4E2A\\u95EE\\u9898(&&P)\",\"\\u9519\\u8BEF\",\"\\u8B66\\u544A\",\"\\u4FE1\\u606F\",\"\\u63D0\\u793A\",\"{1} \\u4E2D\\u7684 {0}\",\"{0} \\u4E2A\\u95EE\\u9898(\\u5171 {1} \\u4E2A)\",\"{0} \\u4E2A\\u95EE\\u9898(\\u5171 {1} \\u4E2A)\",\"\\u7F16\\u8F91\\u5668\\u6807\\u8BB0\\u5BFC\\u822A\\u5C0F\\u7EC4\\u4EF6\\u9519\\u8BEF\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6807\\u8BB0\\u5BFC\\u822A\\u5C0F\\u7EC4\\u4EF6\\u9519\\u8BEF\\u6807\\u9898\\u80CC\\u666F\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6807\\u8BB0\\u5BFC\\u822A\\u5C0F\\u7EC4\\u4EF6\\u8B66\\u544A\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6807\\u8BB0\\u5BFC\\u822A\\u5C0F\\u7EC4\\u4EF6\\u8B66\\u544A\\u6807\\u9898\\u80CC\\u666F\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6807\\u8BB0\\u5BFC\\u822A\\u5C0F\\u7EC4\\u4EF6\\u4FE1\\u606F\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6807\\u8BB0\\u5BFC\\u822A\\u5C0F\\u7EC4\\u4EF6\\u4FE1\\u606F\\u6807\\u9898\\u80CC\\u666F\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6807\\u8BB0\\u5BFC\\u822A\\u5C0F\\u7EC4\\u4EF6\\u80CC\\u666F\\u8272\\u3002\",\"\\u5FEB\\u901F\\u67E5\\u770B\",\"\\u5B9A\\u4E49\",\"\\u672A\\u627E\\u5230\\u201C{0}\\u201D\\u7684\\u4EFB\\u4F55\\u5B9A\\u4E49\",\"\\u627E\\u4E0D\\u5230\\u5B9A\\u4E49\",\"\\u8F6C\\u5230\\u5B9A\\u4E49(&&D)\",\"\\u58F0\\u660E\",\"\\u672A\\u627E\\u5230\\u201C{0}\\u201D\\u7684\\u58F0\\u660E\",\"\\u672A\\u627E\\u5230\\u58F0\\u660E\",\"\\u8F6C\\u5230\\u58F0\\u660E(&&D)\",\"\\u672A\\u627E\\u5230\\u201C{0}\\u201D\\u7684\\u58F0\\u660E\",\"\\u672A\\u627E\\u5230\\u58F0\\u660E\",\"\\u7C7B\\u578B\\u5B9A\\u4E49\",\"\\u672A\\u627E\\u5230\\u201C{0}\\u201D\\u7684\\u7C7B\\u578B\\u5B9A\\u4E49\",\"\\u672A\\u627E\\u5230\\u7C7B\\u578B\\u5B9A\\u4E49\",\"\\u8F6C\\u5230\\u7C7B\\u578B\\u5B9A\\u4E49(&&T)\",\"\\u5B9E\\u73B0\",\"\\u672A\\u627E\\u5230\\u201C{0}\\u201D\\u7684\\u5B9E\\u73B0\",\"\\u672A\\u627E\\u5230\\u5B9E\\u73B0\",\"\\u8F6C\\u5230\\u5B9E\\u73B0(&&I)\",'\\u672A\\u627E\\u5230\"{0}\"\\u7684\\u5F15\\u7528',\"\\u672A\\u627E\\u5230\\u5F15\\u7528\",\"\\u8F6C\\u5230\\u5F15\\u7528(&&R)\",\"\\u5F15\\u7528\",\"\\u5F15\\u7528\",\"\\u4F4D\\u7F6E\",\"\\u65E0\\u201C{0}\\u201D\\u7684\\u7ED3\\u679C\",\"\\u5F15\\u7528\",\"\\u8F6C\\u5230\\u5B9A\\u4E49\",\"\\u6253\\u5F00\\u4FA7\\u8FB9\\u7684\\u5B9A\\u4E49\",\"\\u901F\\u89C8\\u5B9A\\u4E49\",\"\\u8F6C\\u5230\\u58F0\\u660E\",\"\\u67E5\\u770B\\u58F0\\u660E\",\"\\u8F6C\\u5230\\u7C7B\\u578B\\u5B9A\\u4E49\",\"\\u5FEB\\u901F\\u67E5\\u770B\\u7C7B\\u578B\\u5B9A\\u4E49\",\"\\u8F6C\\u5230\\u5B9E\\u73B0\",\"\\u67E5\\u770B\\u5B9E\\u73B0\",\"\\u8F6C\\u5230\\u5F15\\u7528\",\"\\u67E5\\u770B\\u5F15\\u7528\",\"\\u8F6C\\u5230\\u4EFB\\u4F55\\u7B26\\u53F7\",\"\\u5355\\u51FB\\u663E\\u793A {0} \\u4E2A\\u5B9A\\u4E49\\u3002\",\"\\u5F15\\u7528\\u901F\\u89C8\\u662F\\u5426\\u53EF\\u89C1\\uFF0C\\u4F8B\\u5982\\u201C\\u901F\\u89C8\\u5F15\\u7528\\u201D\\u6216\\u201C\\u901F\\u89C8\\u5B9A\\u4E49\\u201D\",\"\\u6B63\\u5728\\u52A0\\u8F7D...\",\"{0} ({1})\",\"{0} \\u4E2A\\u5F15\\u7528\",\"{0} \\u4E2A\\u5F15\\u7528\",\"\\u5F15\\u7528\",\"\\u65E0\\u53EF\\u7528\\u9884\\u89C8\",\"\\u65E0\\u7ED3\\u679C\",\"\\u5F15\\u7528\",\"\\u5728\\u5217 {2} \\u884C {1} \\u7684 {0} \\u4E2D\",\"\\u5728\\u5217 {3} \\u884C {2} \\u7684 {1} \\u4E2D\\u7684 {0}\",\"{0} \\u4E2D\\u6709 1 \\u4E2A\\u7B26\\u53F7\\uFF0C\\u5B8C\\u6574\\u8DEF\\u5F84: {1}\",\"{1} \\u4E2D\\u6709 {0} \\u4E2A\\u7B26\\u53F7\\uFF0C\\u5B8C\\u6574\\u8DEF\\u5F84: {2}\",\"\\u672A\\u627E\\u5230\\u7ED3\\u679C\",\"\\u5728 {0} \\u4E2D\\u627E\\u5230 1 \\u4E2A\\u7B26\\u53F7\",\"\\u5728 {1} \\u4E2D\\u627E\\u5230 {0} \\u4E2A\\u7B26\\u53F7\",\"\\u5728 {1} \\u4E2A\\u6587\\u4EF6\\u4E2D\\u627E\\u5230 {0} \\u4E2A\\u7B26\\u53F7\",\"\\u662F\\u5426\\u5B58\\u5728\\u53EA\\u80FD\\u901A\\u8FC7\\u952E\\u76D8\\u5BFC\\u822A\\u7684\\u7B26\\u53F7\\u4F4D\\u7F6E\\u3002\",\"{1} \\u7684\\u7B26\\u53F7 {0}\\uFF0C\\u4E0B\\u4E00\\u4E2A\\u4F7F\\u7528 {2}\",\"{1} \\u7684\\u7B26\\u53F7 {0}\",\"\\u63D0\\u9AD8\\u60AC\\u505C\\u8BE6\\u7EC6\\u7A0B\\u5EA6\\u7EA7\\u522B\",\"\\u964D\\u4F4E\\u60AC\\u505C\\u8BE6\\u7EC6\\u7A0B\\u5EA6\\u7EA7\\u522B\",\"\\u663E\\u793A\\u6216\\u805A\\u7126\\u60AC\\u505C\",\"\\u60AC\\u505C\\u4E0D\\u4F1A\\u81EA\\u52A8\\u83B7\\u5F97\\u7126\\u70B9\\u3002\",\"\\u4EC5\\u5F53\\u60AC\\u505C\\u5DF2\\u53EF\\u89C1\\u65F6\\uFF0C\\u624D\\u4F1A\\u83B7\\u5F97\\u7126\\u70B9\\u3002\",\"\\u60AC\\u505C\\u5728\\u51FA\\u73B0\\u65F6\\u4F1A\\u81EA\\u52A8\\u83B7\\u5F97\\u7126\\u70B9\\u3002\",\"\\u663E\\u793A\\u5B9A\\u4E49\\u9884\\u89C8\\u60AC\\u505C\",\"\\u5411\\u4E0A\\u6EDA\\u52A8\\u60AC\\u505C\",\"\\u5411\\u4E0B\\u6EDA\\u52A8\\u60AC\\u505C\",\"\\u5411\\u5DE6\\u6EDA\\u52A8\\u60AC\\u505C\",\"\\u5411\\u53F3\\u6EDA\\u52A8\\u60AC\\u505C\",\"\\u5411\\u4E0A\\u7FFB\\u9875\\u60AC\\u505C\",\"\\u5411\\u4E0B\\u7FFB\\u9875\\u60AC\\u505C\",\"\\u8F6C\\u5230\\u9876\\u90E8\\u60AC\\u505C\",\"\\u8F6C\\u5230\\u5E95\\u90E8\\u60AC\\u505C\",\"\\u663E\\u793A\\u6216\\u805A\\u7126\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\uFF0C\\u8BE5\\u60AC\\u505C\\u5C06\\u5728\\u5F53\\u524D\\u5149\\u6807\\u4F4D\\u7F6E\\u663E\\u793A\\u7B26\\u53F7\\u7684\\u6587\\u6863\\u3001\\u5F15\\u7528\\u548C\\u5176\\u4ED6\\u5185\\u5BB9\\u3002\",\"\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u663E\\u793A\\u5B9A\\u4E49\\u9884\\u89C8\\u60AC\\u505C\\u3002\",\"\\u5411\\u4E0A\\u6EDA\\u52A8\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u3002\",\"\\u5411\\u4E0B\\u6EDA\\u52A8\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u3002\",\"\\u5411\\u5DE6\\u6EDA\\u52A8\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u3002\",\"\\u5411\\u53F3\\u6EDA\\u52A8\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u3002\",\"\\u5C06\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u5411\\u4E0A\\u7FFB\\u9875\\u3002\",\"\\u5C06\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u5411\\u4E0B\\u7FFB\\u9875\\u3002\",\"\\u8F6C\\u5230\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u7684\\u9876\\u90E8\\u3002\",\"\\u8F6C\\u5230\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u7684\\u5E95\\u90E8\\u3002\",\"\\u7528\\u4E8E\\u63D0\\u9AD8\\u60AC\\u505C\\u8BE6\\u7EC6\\u7A0B\\u5EA6\\u7684\\u56FE\\u6807\\u3002\",\"\\u7528\\u4E8E\\u964D\\u4F4E\\u60AC\\u505C\\u8BE6\\u7EC6\\u7A0B\\u5EA6\\u7684\\u56FE\\u6807\\u3002\",\"\\u6B63\\u5728\\u52A0\\u8F7D...\",\"\\u7531\\u4E8E\\u6027\\u80FD\\u539F\\u56E0\\uFF0C\\u957F\\u7EBF\\u7684\\u5448\\u73B0\\u5DF2\\u6682\\u505C\\u3002\\u53EF\\u901A\\u8FC7`editor.stopRenderingLineAfter`\\u914D\\u7F6E\\u6B64\\u8BBE\\u7F6E\\u3002\",\"\\u51FA\\u4E8E\\u6027\\u80FD\\u539F\\u56E0\\uFF0C\\u672A\\u5BF9\\u957F\\u884C\\u8FDB\\u884C\\u89E3\\u6790\\u3002\\u89E3\\u6790\\u957F\\u5EA6\\u9608\\u503C\\u53EF\\u901A\\u8FC7\\u201Ceditor.maxTokenizationLineLength\\u201D\\u8FDB\\u884C\\u914D\\u7F6E\\u3002\",\"\\u63D0\\u9AD8\\u60AC\\u505C\\u8BE6\\u7EC6\\u7A0B\\u5EA6({0})\",\"\\u63D0\\u9AD8\\u60AC\\u505C\\u8BE6\\u7EC6\\u7A0B\\u5EA6\",\"\\u964D\\u4F4E\\u60AC\\u505C\\u8BE6\\u7EC6\\u7A0B\\u5EA6({0})\",\"\\u964D\\u4F4E\\u60AC\\u505C\\u8BE6\\u7EC6\\u7A0B\\u5EA6\",\"\\u67E5\\u770B\\u95EE\\u9898\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u5FEB\\u901F\\u4FEE\\u590D\",\"\\u6B63\\u5728\\u68C0\\u67E5\\u5FEB\\u901F\\u4FEE\\u590D...\",\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u5FEB\\u901F\\u4FEE\\u590D\",\"\\u5FEB\\u901F\\u4FEE\\u590D...\",\"\\u5C06\\u7F29\\u8FDB\\u8F6C\\u6362\\u4E3A\\u7A7A\\u683C\",\"\\u5C06\\u7F29\\u8FDB\\u8F6C\\u6362\\u4E3A\\u5236\\u8868\\u7B26\",\"\\u5DF2\\u914D\\u7F6E\\u5236\\u8868\\u7B26\\u5927\\u5C0F\",\"\\u9ED8\\u8BA4\\u9009\\u9879\\u5361\\u5927\\u5C0F\",\"\\u5F53\\u524D\\u9009\\u9879\\u5361\\u5927\\u5C0F\",\"\\u9009\\u62E9\\u5F53\\u524D\\u6587\\u4EF6\\u7684\\u5236\\u8868\\u7B26\\u5927\\u5C0F\",\"\\u4F7F\\u7528\\u5236\\u8868\\u7B26\\u7F29\\u8FDB\",\"\\u4F7F\\u7528\\u7A7A\\u683C\\u7F29\\u8FDB\",\"\\u66F4\\u6539\\u5236\\u8868\\u7B26\\u663E\\u793A\\u5927\\u5C0F\",\"\\u4ECE\\u5185\\u5BB9\\u4E2D\\u68C0\\u6D4B\\u7F29\\u8FDB\\u65B9\\u5F0F\",\"\\u91CD\\u65B0\\u7F29\\u8FDB\\u884C\",\"\\u91CD\\u65B0\\u7F29\\u8FDB\\u6240\\u9009\\u884C\",\"\\u5C06\\u5236\\u8868\\u7B26\\u7F29\\u8FDB\\u8F6C\\u6362\\u4E3A\\u7A7A\\u683C\\u3002\",\"\\u5C06\\u7A7A\\u683C\\u7F29\\u8FDB\\u8F6C\\u6362\\u4E3A\\u5236\\u8868\\u7B26\\u3002\",\"\\u4F7F\\u7528\\u5236\\u8868\\u7B26\\u7F29\\u8FDB\\u3002\",\"\\u4F7F\\u7528\\u7A7A\\u683C\\u7F29\\u8FDB\\u3002\",\"\\u66F4\\u6539\\u5236\\u8868\\u7B26\\u7684\\u7B49\\u6548\\u7A7A\\u95F4\\u5927\\u5C0F\\u3002\",\"\\u68C0\\u6D4B\\u5185\\u5BB9\\u7684\\u7F29\\u8FDB\\u3002\",\"\\u91CD\\u65B0\\u8BBE\\u8BA1\\u7F16\\u8F91\\u5668\\u7684\\u884C\\u7F29\\u8FDB\\u3002\",\"\\u91CD\\u65B0\\u8BBE\\u8BA1\\u7F16\\u8F91\\u5668\\u6240\\u9009\\u884C\\u7684\\u7F29\\u8FDB\\u3002\",\"\\u53CC\\u51FB\\u4EE5\\u63D2\\u5165\",\"cmd + \\u70B9\\u51FB\",\"ctrl + \\u70B9\\u51FB\",\"option + \\u70B9\\u51FB\",\"alt + \\u70B9\\u51FB\",\"\\u8F6C\\u5230\\u5B9A\\u4E49 ({0})\\uFF0C\\u70B9\\u51FB\\u53F3\\u952E\\u4EE5\\u67E5\\u770B\\u8BE6\\u7EC6\\u4FE1\\u606F\",\"\\u8F6C\\u5230\\u5B9A\\u4E49\\uFF08{0}\\uFF09\",\"\\u6267\\u884C\\u547D\\u4EE4\",\"\\u663E\\u793A\\u4E0B\\u4E00\\u4E2A\\u5185\\u8054\\u5EFA\\u8BAE\",\"\\u663E\\u793A\\u4E0A\\u4E00\\u4E2A\\u5185\\u8054\\u5EFA\\u8BAE\",\"\\u89E6\\u53D1\\u5185\\u8054\\u5EFA\\u8BAE\",\"\\u63A5\\u53D7\\u5185\\u8054\\u5EFA\\u8BAE\\u7684\\u4E0B\\u4E00\\u4E2A\\u5B57\",\"\\u63A5\\u53D7 Word\",\"\\u63A5\\u53D7\\u5185\\u8054\\u5EFA\\u8BAE\\u7684\\u4E0B\\u4E00\\u884C\",\"\\u63A5\\u53D7\\u884C\",\"\\u63A5\\u53D7\\u5185\\u8054\\u5EFA\\u8BAE\",\"\\u63A5\\u53D7\",\"\\u9690\\u85CF\\u5185\\u8054\\u5EFA\\u8BAE\",\"\\u59CB\\u7EC8\\u663E\\u793A\\u5DE5\\u5177\\u680F\",\"\\u5185\\u8054\\u5EFA\\u8BAE\\u662F\\u5426\\u53EF\\u89C1\",\"\\u5185\\u8054\\u5EFA\\u8BAE\\u662F\\u5426\\u4EE5\\u7A7A\\u767D\\u5F00\\u5934\",\"\\u5185\\u8054\\u5EFA\\u8BAE\\u662F\\u5426\\u4EE5\\u5C0F\\u4E8E\\u9009\\u9879\\u5361\\u63D2\\u5165\\u5185\\u5BB9\\u7684\\u7A7A\\u683C\\u5F00\\u5934\",\"\\u662F\\u5426\\u5E94\\u6291\\u5236\\u5F53\\u524D\\u5EFA\\u8BAE\",\"\\u5728\\u8F85\\u52A9\\u89C6\\u56FE\\u4E2D\\u68C0\\u67E5\\u6B64\\u9879 ({0})\",\"\\u5EFA\\u8BAE:\",\"\\u201C\\u663E\\u793A\\u4E0B\\u4E00\\u4E2A\\u53C2\\u6570\\u201D\\u63D0\\u793A\\u7684\\u56FE\\u6807\\u3002\",\"\\u201C\\u663E\\u793A\\u4E0A\\u4E00\\u4E2A\\u53C2\\u6570\\u201D\\u63D0\\u793A\\u7684\\u56FE\\u6807\\u3002\",\"{0} ({1})\",\"\\u4E0A\\u4E00\\u6B65\",\"\\u4E0B\\u4E00\\u6B65\",null,null,null,null,null,null,null,null,\"\\u66FF\\u6362\\u4E3A\\u4E0A\\u4E00\\u4E2A\\u503C\",\"\\u66FF\\u6362\\u4E3A\\u4E0B\\u4E00\\u4E2A\\u503C\",\"\\u5C55\\u5F00\\u884C\\u9009\\u62E9\",\"\\u5411\\u4E0A\\u590D\\u5236\\u884C\",\"\\u5411\\u4E0A\\u590D\\u5236\\u4E00\\u884C(&&C)\",\"\\u5411\\u4E0B\\u590D\\u5236\\u884C\",\"\\u5411\\u4E0B\\u590D\\u5236\\u4E00\\u884C(&&P)\",\"\\u91CD\\u590D\\u9009\\u62E9\",\"\\u91CD\\u590D\\u9009\\u62E9(&&D)\",\"\\u5411\\u4E0A\\u79FB\\u52A8\\u884C\",\"\\u5411\\u4E0A\\u79FB\\u52A8\\u4E00\\u884C(&&V)\",\"\\u5411\\u4E0B\\u79FB\\u52A8\\u884C\",\"\\u5411\\u4E0B\\u79FB\\u52A8\\u4E00\\u884C(&&L)\",\"\\u6309\\u5347\\u5E8F\\u6392\\u5217\\u884C\",\"\\u6309\\u964D\\u5E8F\\u6392\\u5217\\u884C\",\"\\u5220\\u9664\\u91CD\\u590D\\u884C\",\"\\u88C1\\u526A\\u5C3E\\u968F\\u7A7A\\u683C\",\"\\u5220\\u9664\\u884C\",\"\\u884C\\u7F29\\u8FDB\",\"\\u884C\\u51CF\\u5C11\\u7F29\\u8FDB\",\"\\u5728\\u4E0A\\u9762\\u63D2\\u5165\\u884C\",\"\\u5728\\u4E0B\\u9762\\u63D2\\u5165\\u884C\",\"\\u5220\\u9664\\u5DE6\\u4FA7\\u6240\\u6709\\u5185\\u5BB9\",\"\\u5220\\u9664\\u53F3\\u4FA7\\u6240\\u6709\\u5185\\u5BB9\",\"\\u5408\\u5E76\\u884C\",\"\\u8F6C\\u7F6E\\u5149\\u6807\\u5904\\u7684\\u5B57\\u7B26\",\"\\u8F6C\\u6362\\u4E3A\\u5927\\u5199\",\"\\u8F6C\\u6362\\u4E3A\\u5C0F\\u5199\",\"\\u8F6C\\u6362\\u4E3A\\u8BCD\\u9996\\u5B57\\u6BCD\\u5927\\u5199\",\"\\u8F6C\\u6362\\u4E3A\\u86C7\\u5F62\\u547D\\u540D\\u6CD5\",\"\\u8F6C\\u6362\\u4E3A\\u9A7C\\u5CF0\\u5F0F\\u5927\\u5C0F\\u5199\",\"\\u8F6C\\u6362\\u4E3A\\u5E15\\u65AF\\u5361\\u5F0F\\u5927\\u5C0F\\u5199\\u5F62\\u5F0F\",\"\\u8F6C\\u6362\\u4E3A Kebab \\u6848\\u4F8B\",\"\\u542F\\u52A8\\u94FE\\u63A5\\u7F16\\u8F91\",\"\\u7F16\\u8F91\\u5668\\u6839\\u636E\\u7C7B\\u578B\\u81EA\\u52A8\\u91CD\\u547D\\u540D\\u65F6\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u6B64\\u94FE\\u63A5\\u683C\\u5F0F\\u4E0D\\u6B63\\u786E\\uFF0C\\u65E0\\u6CD5\\u6253\\u5F00: {0}\",\"\\u6B64\\u94FE\\u63A5\\u76EE\\u6807\\u5DF2\\u4E22\\u5931\\uFF0C\\u65E0\\u6CD5\\u6253\\u5F00\\u3002\",\"\\u6267\\u884C\\u547D\\u4EE4\",\"\\u6253\\u5F00\\u94FE\\u63A5\",\"cmd + \\u5355\\u51FB\",\"ctrl + \\u5355\\u51FB\",\"option + \\u5355\\u51FB\",\"alt + \\u5355\\u51FB\",\"\\u6267\\u884C\\u547D\\u4EE4 {0}\",\"\\u6253\\u5F00\\u94FE\\u63A5\",\"\\u7F16\\u8F91\\u5668\\u5F53\\u524D\\u662F\\u5426\\u6B63\\u5728\\u663E\\u793A\\u5185\\u8054\\u6D88\\u606F\",\"\\u6DFB\\u52A0\\u7684\\u5149\\u6807: {0}\",\"\\u6DFB\\u52A0\\u7684\\u6E38\\u6807: {0}\",\"\\u5728\\u4E0A\\u9762\\u6DFB\\u52A0\\u5149\\u6807\",\"\\u5728\\u4E0A\\u9762\\u6DFB\\u52A0\\u5149\\u6807(&&A)\",\"\\u5728\\u4E0B\\u9762\\u6DFB\\u52A0\\u5149\\u6807\",\"\\u5728\\u4E0B\\u9762\\u6DFB\\u52A0\\u5149\\u6807(&&D)\",\"\\u5728\\u884C\\u5C3E\\u6DFB\\u52A0\\u5149\\u6807\",\"\\u5728\\u884C\\u5C3E\\u6DFB\\u52A0\\u5149\\u6807(&&U)\",\"\\u5728\\u5E95\\u90E8\\u6DFB\\u52A0\\u5149\\u6807\",\"\\u5728\\u9876\\u90E8\\u6DFB\\u52A0\\u5149\\u6807\",\"\\u5C06\\u4E0B\\u4E00\\u4E2A\\u67E5\\u627E\\u5339\\u914D\\u9879\\u6DFB\\u52A0\\u5230\\u9009\\u62E9\",\"\\u6DFB\\u52A0\\u4E0B\\u4E00\\u4E2A\\u5339\\u914D\\u9879(&&N)\",\"\\u5C06\\u9009\\u62E9\\u5185\\u5BB9\\u6DFB\\u52A0\\u5230\\u4E0A\\u4E00\\u67E5\\u627E\\u5339\\u914D\\u9879\",\"\\u6DFB\\u52A0\\u4E0A\\u4E00\\u4E2A\\u5339\\u914D\\u9879(&&R)\",\"\\u5C06\\u4E0A\\u6B21\\u9009\\u62E9\\u79FB\\u52A8\\u5230\\u4E0B\\u4E00\\u4E2A\\u67E5\\u627E\\u5339\\u914D\\u9879\",\"\\u5C06\\u4E0A\\u4E2A\\u9009\\u62E9\\u5185\\u5BB9\\u79FB\\u52A8\\u5230\\u4E0A\\u4E00\\u67E5\\u627E\\u5339\\u914D\\u9879\",\"\\u9009\\u62E9\\u6240\\u6709\\u627E\\u5230\\u7684\\u67E5\\u627E\\u5339\\u914D\\u9879\",\"\\u9009\\u62E9\\u6240\\u6709\\u5339\\u914D\\u9879(&&O)\",\"\\u66F4\\u6539\\u6240\\u6709\\u5339\\u914D\\u9879\",\"\\u805A\\u7126\\u4E0B\\u4E00\\u4E2A\\u5149\\u6807\",\"\\u805A\\u7126\\u4E0B\\u4E00\\u4E2A\\u5149\\u6807\",\"\\u805A\\u7126\\u4E0A\\u4E00\\u4E2A\\u5149\\u6807\",\"\\u805A\\u7126\\u4E0A\\u4E00\\u4E2A\\u5149\\u6807\",\"\\u89E6\\u53D1\\u53C2\\u6570\\u63D0\\u793A\",\"\\u201C\\u663E\\u793A\\u4E0B\\u4E00\\u4E2A\\u53C2\\u6570\\u201D\\u63D0\\u793A\\u7684\\u56FE\\u6807\\u3002\",\"\\u201C\\u663E\\u793A\\u4E0A\\u4E00\\u4E2A\\u53C2\\u6570\\u201D\\u63D0\\u793A\\u7684\\u56FE\\u6807\\u3002\",\"{0}\\uFF0C\\u63D0\\u793A\",\"\\u53C2\\u6570\\u63D0\\u793A\\u4E2D\\u6D3B\\u52A8\\u9879\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u901F\\u89C8\\u4E2D\\u662F\\u5426\\u5D4C\\u5165\\u4E86\\u5F53\\u524D\\u4EE3\\u7801\\u7F16\\u8F91\\u5668\",\"\\u5173\\u95ED\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u6807\\u9898\\u533A\\u57DF\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u6807\\u9898\\u989C\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u6807\\u9898\\u4FE1\\u606F\\u989C\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u8FB9\\u6846\\u548C\\u7BAD\\u5934\\u989C\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u7ED3\\u679C\\u5217\\u8868\\u80CC\\u666F\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u7ED3\\u679C\\u5217\\u8868\\u4E2D\\u884C\\u8282\\u70B9\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u7ED3\\u679C\\u5217\\u8868\\u4E2D\\u6587\\u4EF6\\u8282\\u70B9\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u7ED3\\u679C\\u5217\\u8868\\u4E2D\\u6240\\u9009\\u6761\\u76EE\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u7ED3\\u679C\\u5217\\u8868\\u4E2D\\u6240\\u9009\\u6761\\u76EE\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u7F16\\u8F91\\u5668\\u80CC\\u666F\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u7F16\\u8F91\\u5668\\u4E2D\\u88C5\\u8BA2\\u7EBF\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u901F\\u89C8\\u89C6\\u56FE\\u7F16\\u8F91\\u5668\\u4E2D\\u7C98\\u6EDE\\u6EDA\\u52A8\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u5728\\u901F\\u89C8\\u89C6\\u56FE\\u7ED3\\u679C\\u5217\\u8868\\u4E2D\\u5339\\u914D\\u7A81\\u51FA\\u663E\\u793A\\u989C\\u8272\\u3002\",\"\\u5728\\u901F\\u89C8\\u89C6\\u56FE\\u7F16\\u8F91\\u5668\\u4E2D\\u5339\\u914D\\u7A81\\u51FA\\u663E\\u793A\\u989C\\u8272\\u3002\",\"\\u5728\\u901F\\u89C8\\u89C6\\u56FE\\u7F16\\u8F91\\u5668\\u4E2D\\u5339\\u914D\\u9879\\u7684\\u7A81\\u51FA\\u663E\\u793A\\u8FB9\\u6846\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u5360\\u4F4D\\u7B26\\u6587\\u672C\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u5148\\u6253\\u5F00\\u6587\\u672C\\u7F16\\u8F91\\u5668\\u7136\\u540E\\u8DF3\\u8F6C\\u5230\\u884C\\u3002\",\"\\u8F6C\\u5230\\u7B2C {0} \\u884C\\u7B2C {1} \\u4E2A\\u5B57\\u7B26\\u3002\",\"\\u8F6C\\u5230\\u884C {0}\\u3002\",\"\\u5F53\\u524D\\u884C: {0}\\uFF0C\\u5B57\\u7B26: {1}\\u3002\\u952E\\u5165\\u8981\\u5BFC\\u822A\\u5230\\u7684\\u884C\\u53F7(\\u4ECB\\u4E8E 1 \\u81F3 {2} \\u4E4B\\u95F4)\\u3002\",\"\\u5F53\\u524D\\u884C: {0}\\uFF0C\\u5B57\\u7B26: {1}\\u3002 \\u952E\\u5165\\u8981\\u5BFC\\u822A\\u5230\\u7684\\u884C\\u53F7\\u3002\",\"\\u8981\\u8F6C\\u5230\\u7B26\\u53F7\\uFF0C\\u9996\\u5148\\u6253\\u5F00\\u5177\\u6709\\u7B26\\u53F7\\u4FE1\\u606F\\u7684\\u6587\\u672C\\u7F16\\u8F91\\u5668\\u3002\",\"\\u6D3B\\u52A8\\u6587\\u672C\\u7F16\\u8F91\\u5668\\u4E0D\\u63D0\\u4F9B\\u7B26\\u53F7\\u4FE1\\u606F\\u3002\",\"\\u6CA1\\u6709\\u5339\\u914D\\u7684\\u7F16\\u8F91\\u5668\\u7B26\\u53F7\",\"\\u6CA1\\u6709\\u7F16\\u8F91\\u5668\\u7B26\\u53F7\",\"\\u5728\\u4FA7\\u8FB9\\u6253\\u5F00\",\"\\u5728\\u5E95\\u90E8\\u6253\\u5F00\",\"\\u7B26\\u53F7({0})\",\"\\u5C5E\\u6027({0})\",\"\\u65B9\\u6CD5({0})\",\"\\u51FD\\u6570({0})\",\"\\u6784\\u9020\\u51FD\\u6570 ({0})\",\"\\u53D8\\u91CF({0})\",\"\\u7C7B({0})\",\"\\u7ED3\\u6784({0})\",\"\\u4E8B\\u4EF6({0})\",\"\\u8FD0\\u7B97\\u7B26({0})\",\"\\u63A5\\u53E3({0})\",\"\\u547D\\u540D\\u7A7A\\u95F4({0})\",\"\\u5305({0})\",\"\\u7C7B\\u578B\\u53C2\\u6570({0})\",\"\\u6A21\\u5757({0})\",\"\\u5C5E\\u6027({0})\",\"\\u679A\\u4E3E({0})\",\"\\u679A\\u4E3E\\u6210\\u5458({0})\",\"\\u5B57\\u7B26\\u4E32({0})\",\"\\u6587\\u4EF6({0})\",\"\\u6570\\u7EC4({0})\",\"\\u6570\\u5B57({0})\",\"\\u5E03\\u5C14\\u503C({0})\",\"\\u5BF9\\u8C61({0})\",\"\\u952E({0})\",\"\\u5B57\\u6BB5({0})\",\"\\u5E38\\u91CF({0})\",\"\\u65E0\\u6CD5\\u5728\\u53EA\\u8BFB\\u8F93\\u5165\\u4E2D\\u7F16\\u8F91\",\"\\u65E0\\u6CD5\\u5728\\u53EA\\u8BFB\\u7F16\\u8F91\\u5668\\u4E2D\\u7F16\\u8F91\",\"\\u65E0\\u7ED3\\u679C\\u3002\",\"\\u89E3\\u6790\\u91CD\\u547D\\u540D\\u4F4D\\u7F6E\\u65F6\\u53D1\\u751F\\u672A\\u77E5\\u9519\\u8BEF\",\"\\u6B63\\u5728\\u5C06\\u201C{0}\\u201D\\u91CD\\u547D\\u540D\\u4E3A\\u201C{1}\\u201D\",\"\\u5C06 {0} \\u91CD\\u547D\\u540D\\u4E3A {1}\",\"\\u6210\\u529F\\u5C06\\u201C{0}\\u201D\\u91CD\\u547D\\u540D\\u4E3A\\u201C{1}\\u201D\\u3002\\u6458\\u8981: {2}\",\"\\u91CD\\u547D\\u540D\\u65E0\\u6CD5\\u5E94\\u7528\\u4FEE\\u6539\",\"\\u91CD\\u547D\\u540D\\u65E0\\u6CD5\\u8BA1\\u7B97\\u4FEE\\u6539\",\"\\u91CD\\u547D\\u540D\\u7B26\\u53F7\",\"\\u542F\\u7528/\\u7981\\u7528\\u91CD\\u547D\\u540D\\u4E4B\\u524D\\u9884\\u89C8\\u66F4\\u6539\\u7684\\u529F\\u80FD\",\"\\u805A\\u7126\\u4E0B\\u4E00\\u4E2A\\u91CD\\u547D\\u540D\\u5EFA\\u8BAE\",\"\\u805A\\u7126\\u4E0A\\u4E00\\u4E2A\\u91CD\\u547D\\u540D\\u5EFA\\u8BAE\",\"\\u91CD\\u547D\\u540D\\u8F93\\u5165\\u5C0F\\u7EC4\\u4EF6\\u662F\\u5426\\u53EF\\u89C1\",\"\\u662F\\u5426\\u805A\\u7126\\u91CD\\u547D\\u540D\\u8F93\\u5165\\u5C0F\\u7EC4\\u4EF6\",\"\\u6309 {0} \\u8FDB\\u884C\\u91CD\\u547D\\u540D\\uFF0C\\u6309 {1} \\u8FDB\\u884C\\u9884\\u89C8\",\"\\u5DF2\\u6536\\u5230 {0} \\u91CD\\u547D\\u540D\\u5EFA\\u8BAE\",'\\u91CD\\u547D\\u540D\\u8F93\\u5165\\u3002\\u952E\\u5165\\u65B0\\u540D\\u79F0\\u5E76\\u6309 \"Enter\" \\u63D0\\u4EA4\\u3002',\"\\u751F\\u6210\\u65B0\\u7684\\u540D\\u79F0\\u5EFA\\u8BAE\",\"\\u53D6\\u6D88\",\"\\u5C55\\u5F00\\u9009\\u62E9\",\"\\u6269\\u5927\\u9009\\u533A(&&E)\",\"\\u6536\\u8D77\\u9009\\u62E9\",\"\\u7F29\\u5C0F\\u9009\\u533A(&&S)\",\"\\u7F16\\u8F91\\u5668\\u76EE\\u524D\\u662F\\u5426\\u5728\\u4EE3\\u7801\\u7247\\u6BB5\\u6A21\\u5F0F\\u4E0B\",\"\\u5728\\u4EE3\\u7801\\u7247\\u6BB5\\u6A21\\u5F0F\\u4E0B\\u65F6\\u662F\\u5426\\u5B58\\u5728\\u4E0B\\u4E00\\u5236\\u8868\\u4F4D\",\"\\u5728\\u4EE3\\u7801\\u7247\\u6BB5\\u6A21\\u5F0F\\u4E0B\\u65F6\\u662F\\u5426\\u5B58\\u5728\\u4E0A\\u4E00\\u5236\\u8868\\u4F4D\",\"\\u8F6C\\u5230\\u4E0B\\u4E00\\u4E2A\\u5360\\u4F4D\\u7B26...\",\"\\u661F\\u671F\\u5929\",\"\\u661F\\u671F\\u4E00\",\"\\u661F\\u671F\\u4E8C\",\"\\u661F\\u671F\\u4E09\",\"\\u661F\\u671F\\u56DB\",\"\\u661F\\u671F\\u4E94\",\"\\u661F\\u671F\\u516D\",\"\\u5468\\u65E5\",\"\\u5468\\u4E00\",\"\\u5468\\u4E8C\",\"\\u5468\\u4E09\",\"\\u5468\\u56DB\",\"\\u5468\\u4E94\",\"\\u5468\\u516D\",\"\\u4E00\\u6708\",\"\\u4E8C\\u6708\",\"\\u4E09\\u6708\",\"\\u56DB\\u6708\",\"5\\u6708\",\"\\u516D\\u6708\",\"\\u4E03\\u6708\",\"\\u516B\\u6708\",\"\\u4E5D\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4E00\\u6708\",\"\\u5341\\u4E8C\\u6708\",\"1\\u6708\",\"2\\u6708\",\"3\\u6708\",\"4\\u6708\",\"5\\u6708\",\"6\\u6708\",\"7\\u6708\",\"8\\u6708\",\"9\\u6708\",\"10\\u6708\",\"11 \\u6708\",\"12\\u6708\",\"\\u5207\\u6362\\u7F16\\u8F91\\u5668\\u7C98\\u6EDE\\u6EDA\\u52A8\",\"\\u7C98\\u6EDE\\u6EDA\\u52A8\",\"\\u7C98\\u6EDE\\u6EDA\\u52A8(&&S)\",\"\\u805A\\u7126\\u7C98\\u6027\\u6EDA\\u52A8(&&F)\",\"\\u5207\\u6362\\u7F16\\u8F91\\u5668\\u7C98\\u6EDE\\u6EDA\\u52A8\",\"\\u5207\\u6362/\\u542F\\u7528\\u7F16\\u8F91\\u5668\\u7C98\\u6027\\u6EDA\\u52A8\\uFF0C\\u8BE5\\u6EDA\\u52A8\\u663E\\u793A\\u89C6\\u533A\\u9876\\u90E8\\u7684\\u5D4C\\u5957\\u8303\\u56F4\",\"\\u5C06\\u7126\\u70B9\\u653E\\u5728\\u7F16\\u8F91\\u5668\\u7C98\\u6027\\u6EDA\\u52A8\\u4E0A\",\"\\u9009\\u62E9\\u4E0B\\u4E00\\u4E2A\\u7F16\\u8F91\\u5668\\u7C98\\u6027\\u6EDA\\u52A8\\u884C\",\"\\u9009\\u62E9\\u4E0A\\u4E00\\u4E2A\\u7C98\\u6027\\u6EDA\\u52A8\\u884C\",\"\\u8F6C\\u5230\\u805A\\u7126\\u7684\\u7C98\\u6027\\u6EDA\\u52A8\\u884C\",\"\\u9009\\u62E9\\u7F16\\u8F91\\u5668\",\"\\u662F\\u5426\\u4EE5\\u4EFB\\u4F55\\u5EFA\\u8BAE\\u4E3A\\u4E2D\\u5FC3\",\"\\u5EFA\\u8BAE\\u8BE6\\u7EC6\\u4FE1\\u606F\\u662F\\u5426\\u53EF\\u89C1\",\"\\u662F\\u5426\\u5B58\\u5728\\u591A\\u6761\\u5EFA\\u8BAE\\u53EF\\u4F9B\\u9009\\u62E9\",\"\\u63D2\\u5165\\u5F53\\u524D\\u5EFA\\u8BAE\\u662F\\u5426\\u4F1A\\u5BFC\\u81F4\\u66F4\\u6539\\u6216\\u5BFC\\u81F4\\u5DF2\\u952E\\u5165\\u6240\\u6709\\u5185\\u5BB9\",\"\\u6309 Enter \\u65F6\\u662F\\u5426\\u4F1A\\u63D2\\u5165\\u5EFA\\u8BAE\",\"\\u5F53\\u524D\\u5EFA\\u8BAE\\u662F\\u5426\\u5177\\u6709\\u63D2\\u5165\\u548C\\u66FF\\u6362\\u884C\\u4E3A\",\"\\u9ED8\\u8BA4\\u884C\\u4E3A\\u662F\\u5426\\u662F\\u63D2\\u5165\\u6216\\u66FF\\u6362\",\"\\u5F53\\u524D\\u5EFA\\u8BAE\\u662F\\u5426\\u652F\\u6301\\u89E3\\u6790\\u66F4\\u591A\\u8BE6\\u7EC6\\u4FE1\\u606F\",\"\\u9009\\u62E9\\u201C{0}\\u201D\\u540E\\u8FDB\\u884C\\u4E86\\u5176\\u4ED6 {1} \\u6B21\\u7F16\\u8F91\",\"\\u89E6\\u53D1\\u5EFA\\u8BAE\",\"\\u63D2\\u5165\",\"\\u63D2\\u5165\",\"\\u66FF\\u6362\",\"\\u66FF\\u6362\",\"\\u63D2\\u5165\",\"\\u663E\\u793A\\u66F4\\u5C11\",\"\\u663E\\u793A\\u66F4\\u591A\",\"\\u91CD\\u7F6E\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u5927\\u5C0F\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u6240\\u9009\\u6761\\u76EE\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u6240\\u9009\\u6761\\u76EE\\u7684\\u56FE\\u6807\\u524D\\u666F\\u8272\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u6240\\u9009\\u6761\\u76EE\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u5339\\u914D\\u5185\\u5BB9\\u7684\\u9AD8\\u4EAE\\u989C\\u8272\\u3002\",\"\\u5F53\\u67D0\\u9879\\u83B7\\u5F97\\u7126\\u70B9\\u65F6\\uFF0C\\u5728\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u7A81\\u51FA\\u663E\\u793A\\u7684\\u5339\\u914D\\u9879\\u7684\\u989C\\u8272\\u3002\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u72B6\\u6001\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u6B63\\u5728\\u52A0\\u8F7D...\",\"\\u65E0\\u5EFA\\u8BAE\\u3002\",\"\\u5EFA\\u8BAE\",\"{0} {1}\\uFF0C{2}\",\"{0} {1}\",\"{0}\\uFF0C{1}\",\"{0}\\uFF0C\\u6587\\u6863: {1}\",\"\\u5173\\u95ED\",\"\\u6B63\\u5728\\u52A0\\u8F7D\\u2026\",\"\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u7684\\u8BE6\\u7EC6\\u4FE1\\u606F\\u7684\\u56FE\\u6807\\u3002\",\"\\u4E86\\u89E3\\u8BE6\\u7EC6\\u4FE1\\u606F\",\"\\u6570\\u7EC4\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u5C06\\u663E\\u793A\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u3002\",\"\\u5E03\\u5C14\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u7C7B\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u989C\\u8272\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u5E38\\u91CF\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u6784\\u9020\\u51FD\\u6570\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u679A\\u4E3E\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u679A\\u4E3E\\u5668\\u6210\\u5458\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u4E8B\\u4EF6\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u5B57\\u6BB5\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u6587\\u4EF6\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u6587\\u4EF6\\u5939\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u51FD\\u6570\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u63A5\\u53E3\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u5C06\\u663E\\u793A\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u3002\",\"\\u952E\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u5173\\u952E\\u5B57\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u65B9\\u6CD5\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u6A21\\u5757\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u547D\\u540D\\u7A7A\\u95F4\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u8F6E\\u5ED3\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u7A7A\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u6570\\u5B57\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u5BF9\\u8C61\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u8FD0\\u7B97\\u7B26\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u5305\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u5C5E\\u6027\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u3002\",\"\\u53C2\\u8003\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u7247\\u6BB5\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u5B57\\u7B26\\u4E32\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u8F6E\\u5ED3\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u7ED3\\u6784\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u6587\\u672C\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u7C7B\\u578B\\u53C2\\u6570\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u5355\\u4F4D\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"\\u53D8\\u91CF\\u7B26\\u53F7\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u8FD9\\u4E9B\\u7B26\\u53F7\\u51FA\\u73B0\\u5728\\u5927\\u7EB2\\u3001\\u75D5\\u8FF9\\u5BFC\\u822A\\u680F\\u548C\\u5EFA\\u8BAE\\u5C0F\\u90E8\\u4EF6\\u4E2D\\u3002\",\"Tab \\u952E\\u5C06\\u79FB\\u52A8\\u5230\\u4E0B\\u4E00\\u53EF\\u805A\\u7126\\u7684\\u5143\\u7D20\",\"Tab \\u952E\\u5C06\\u63D2\\u5165\\u5236\\u8868\\u7B26\",\"\\u5207\\u6362 Tab \\u952E\\u79FB\\u52A8\\u7126\\u70B9\",\"\\u786E\\u5B9A Tab \\u952E\\u662F\\u5728\\u5DE5\\u4F5C\\u53F0\\u5468\\u56F4\\u79FB\\u52A8\\u7126\\u70B9\\uFF0C\\u8FD8\\u662F\\u5728\\u5F53\\u524D\\u7F16\\u8F91\\u5668\\u4E2D\\u63D2\\u5165\\u5236\\u8868\\u7B26\\u3002\\u8FD9\\u4E5F\\u79F0\\u4E3A\\u5236\\u8868\\u7B26\\u8865\\u6F0F\\u767D\\u3001\\u5236\\u8868\\u7B26\\u5BFC\\u822A\\u6216\\u5236\\u8868\\u7B26\\u7126\\u70B9\\u6A21\\u5F0F\\u3002\",\"\\u5F00\\u53D1\\u4EBA\\u5458: \\u5F3A\\u5236\\u91CD\\u65B0\\u8FDB\\u884C\\u6807\\u8BB0\",\"\\u6269\\u5C55\\u7F16\\u8F91\\u5668\\u4E2D\\u968F\\u8B66\\u544A\\u6D88\\u606F\\u4E00\\u540C\\u663E\\u793A\\u7684\\u56FE\\u6807\\u3002\",\"\\u672C\\u6587\\u6863\\u5305\\u542B\\u8BB8\\u591A\\u975E\\u57FA\\u672C ASCII unicode \\u5B57\\u7B26\",\"\\u672C\\u6587\\u6863\\u5305\\u542B\\u8BB8\\u591A\\u4E0D\\u660E\\u786E\\u7684 unicode \\u5B57\\u7B26\",\"\\u672C\\u6587\\u6863\\u5305\\u542B\\u8BB8\\u591A\\u4E0D\\u53EF\\u89C1\\u7684 unicode \\u5B57\\u7B26\",\"\\u914D\\u7F6E Unicode \\u7A81\\u51FA\\u663E\\u793A\\u9009\\u9879\",\"\\u5B57\\u7B26 {0} \\u53EF\\u80FD\\u4F1A\\u4E0E ASCII \\u5B57\\u7B26 {1} \\u6DF7\\u6DC6\\uFF0C\\u540E\\u8005\\u5728\\u6E90\\u4EE3\\u7801\\u4E2D\\u66F4\\u4E3A\\u5E38\\u89C1\\u3002\",\"\\u5B57\\u7B26 {0} \\u53EF\\u80FD\\u4F1A\\u4E0E\\u5B57\\u7B26 {1} \\u6DF7\\u6DC6\\uFF0C\\u540E\\u8005\\u5728\\u6E90\\u4EE3\\u7801\\u4E2D\\u66F4\\u4E3A\\u5E38\\u89C1\\u3002\",\"\\u5B57\\u7B26 {0} \\u4E0D\\u53EF\\u89C1\\u3002\",\"\\u5B57\\u7B26 {0} \\u4E0D\\u662F\\u57FA\\u672C ASCII \\u5B57\\u7B26\\u3002\",\"\\u8C03\\u6574\\u8BBE\\u7F6E\",\"\\u7981\\u7528\\u6279\\u6CE8\\u4E2D\\u7684\\u7A81\\u51FA\\u663E\\u793A\",\"\\u7981\\u7528\\u6279\\u6CE8\\u4E2D\\u5B57\\u7B26\\u7684\\u7A81\\u51FA\\u663E\\u793A\",\"\\u7981\\u7528\\u5B57\\u7B26\\u4E32\\u4E2D\\u7684\\u7A81\\u51FA\\u663E\\u793A\",\"\\u7981\\u7528\\u5B57\\u7B26\\u4E32\\u4E2D\\u5B57\\u7B26\\u7684\\u7A81\\u51FA\\u663E\\u793A\",\"\\u7981\\u7528\\u4E0D\\u660E\\u786E\\u7684\\u7A81\\u51FA\\u663E\\u793A\",\"\\u7981\\u6B62\\u7A81\\u51FA\\u663E\\u793A\\u6B67\\u4E49\\u5B57\\u7B26\",\"\\u7981\\u7528\\u4E0D\\u53EF\\u89C1\\u7A81\\u51FA\\u663E\\u793A\",\"\\u7981\\u6B62\\u7A81\\u51FA\\u663E\\u793A\\u4E0D\\u53EF\\u89C1\\u5B57\\u7B26\",\"\\u7981\\u7528\\u975E ASCII \\u7A81\\u51FA\\u663E\\u793A\",\"\\u7981\\u6B62\\u7A81\\u51FA\\u663E\\u793A\\u975E\\u57FA\\u672C ASCII \\u5B57\\u7B26\",\"\\u663E\\u793A\\u6392\\u9664\\u9009\\u9879\",\"\\u4E0D\\u7A81\\u51FA\\u663E\\u793A {0} (\\u4E0D\\u53EF\\u89C1\\u5B57\\u7B26)\",\"\\u5728\\u7A81\\u51FA\\u663E\\u793A\\u5185\\u5BB9\\u4E2D\\u6392\\u9664{0}\",\"\\u5141\\u8BB8\\u8BED\\u8A00\\u201C{0}\\u201D\\u4E2D\\u66F4\\u5E38\\u89C1\\u7684 unicode \\u5B57\\u7B26\\u3002\",\"\\u5F02\\u5E38\\u884C\\u7EC8\\u6B62\\u7B26\",\"\\u68C0\\u6D4B\\u5230\\u5F02\\u5E38\\u884C\\u7EC8\\u6B62\\u7B26\",`\\u6587\\u4EF6\\u201C{0}\\u201D\\u5305\\u542B\\u4E00\\u4E2A\\u6216\\u591A\\u4E2A\\u5F02\\u5E38\\u7684\\u884C\\u7EC8\\u6B62\\u7B26\\uFF0C\\u4F8B\\u5982\\u884C\\u5206\\u9694\\u7B26(LS)\\u6216\\u6BB5\\u843D\\u5206\\u9694\\u7B26(PS)\\u3002\\r\n\\r\n\\u5EFA\\u8BAE\\u4ECE\\u6587\\u4EF6\\u4E2D\\u5220\\u9664\\u5B83\\u4EEC\\u3002\\u53EF\\u901A\\u8FC7\\u201Ceditor.unusualLineTerminators\\u201D\\u8FDB\\u884C\\u914D\\u7F6E\\u3002`,\"\\u5220\\u9664\\u5F02\\u5E38\\u884C\\u7EC8\\u6B62\\u7B26(&&R)\",\"\\u5FFD\\u7565\",\"\\u8BFB\\u53D6\\u8BBF\\u95EE\\u671F\\u95F4\\u7B26\\u53F7\\u7684\\u80CC\\u666F\\u8272\\uFF0C\\u4F8B\\u5982\\u8BFB\\u53D6\\u53D8\\u91CF\\u65F6\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5199\\u5165\\u8BBF\\u95EE\\u8FC7\\u7A0B\\u4E2D\\u7B26\\u53F7\\u7684\\u80CC\\u666F\\u8272\\uFF0C\\u4F8B\\u5982\\u5199\\u5165\\u53D8\\u91CF\\u65F6\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7B26\\u53F7\\u5728\\u6587\\u672C\\u4E2D\\u51FA\\u73B0\\u65F6\\u7684\\u80CC\\u666F\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u5C42\\u7684\\u4FEE\\u9970\\u3002\",\"\\u7B26\\u53F7\\u5728\\u8FDB\\u884C\\u8BFB\\u53D6\\u8BBF\\u95EE\\u64CD\\u4F5C\\u65F6\\u7684\\u8FB9\\u6846\\u989C\\u8272\\uFF0C\\u4F8B\\u5982\\u8BFB\\u53D6\\u53D8\\u91CF\\u3002\",\"\\u7B26\\u53F7\\u5728\\u8FDB\\u884C\\u5199\\u5165\\u8BBF\\u95EE\\u64CD\\u4F5C\\u65F6\\u7684\\u8FB9\\u6846\\u989C\\u8272\\uFF0C\\u4F8B\\u5982\\u5199\\u5165\\u53D8\\u91CF\\u3002\",\"\\u7B26\\u53F7\\u5728\\u6587\\u672C\\u4E2D\\u51FA\\u73B0\\u65F6\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u7A81\\u51FA\\u663E\\u793A\\u7B26\\u53F7\\u7684\\u6982\\u8FF0\\u6807\\u5C3A\\u6807\\u8BB0\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7528\\u4E8E\\u7A81\\u51FA\\u663E\\u793A\\u5199\\u6743\\u9650\\u7B26\\u53F7\\u7684\\u6982\\u8FF0\\u6807\\u5C3A\\u6807\\u8BB0\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7B26\\u53F7\\u5728\\u6587\\u672C\\u4E2D\\u51FA\\u73B0\\u65F6\\u7684\\u6982\\u8FF0\\u6807\\u5C3A\\u6807\\u8BB0\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u5C42\\u7684\\u4FEE\\u9970\\u3002\",\"\\u8F6C\\u5230\\u4E0B\\u4E00\\u4E2A\\u7A81\\u51FA\\u663E\\u793A\\u7684\\u7B26\\u53F7\",\"\\u8F6C\\u5230\\u4E0A\\u4E00\\u4E2A\\u7A81\\u51FA\\u663E\\u793A\\u7684\\u7B26\\u53F7\",\"\\u89E6\\u53D1\\u7B26\\u53F7\\u9AD8\\u4EAE\",\"\\u5220\\u9664 Word\",\"\\u51FA\\u9519\\u4F4D\\u7F6E\",\"\\u9519\\u8BEF\",\"\\u8B66\\u544A\\u4F4D\\u7F6E\",\"\\u8B66\\u544A\",\"\\u884C\\u4E0A\\u7684\\u9519\\u8BEF\",\"\\u884C\\u4E0A\\u7684\\u9519\\u8BEF\",\"\\u884C\\u4E0A\\u7684\\u8B66\\u544A\",\"\\u884C\\u4E0A\\u7684\\u8B66\\u544A\",\"\\u884C\\u4E0A\\u7684\\u6298\\u53E0\\u533A\\u57DF\",\"\\u5DF2\\u6298\\u53E0\",\"\\u884C\\u4E0A\\u7684\\u65AD\\u70B9\",\"\\u65AD\\u70B9\",\"\\u884C\\u4E0A\\u7684\\u5185\\u8054\\u5EFA\\u8BAE\",\"\\u7EC8\\u7AEF\\u5FEB\\u901F\\u4FEE\\u590D\",\"\\u5FEB\\u901F\\u4FEE\\u590D\",\"\\u8C03\\u8BD5\\u7A0B\\u5E8F\\u5DF2\\u5728\\u65AD\\u70B9\\u5904\\u505C\\u6B62\",\"\\u65AD\\u70B9\",\"\\u884C\\u4E0A\\u65E0\\u5D4C\\u5165\\u63D0\\u793A\",\"\\u65E0\\u5185\\u5D4C\\u63D0\\u793A\",\"\\u4EFB\\u52A1\\u5DF2\\u5B8C\\u6210\",\"\\u4EFB\\u52A1\\u5DF2\\u5B8C\\u6210\",\"\\u4EFB\\u52A1\\u5931\\u8D25\",\"\\u4EFB\\u52A1\\u5931\\u8D25\",\"\\u7EC8\\u7AEF\\u547D\\u4EE4\\u5931\\u8D25\",\"\\u547D\\u4EE4\\u5931\\u8D25\",\"\\u7EC8\\u7AEF\\u547D\\u4EE4\\u6210\\u529F\",\"\\u547D\\u4EE4\\u6210\\u529F\",\"\\u7EC8\\u7AEF\\u949F\",\"\\u7EC8\\u7AEF\\u949F\",\"\\u7B14\\u8BB0\\u672C\\u5355\\u5143\\u683C\\u5DF2\\u5B8C\\u6210\",\"\\u7B14\\u8BB0\\u672C\\u5355\\u5143\\u683C\\u5DF2\\u5B8C\\u6210\",\"\\u7B14\\u8BB0\\u672C\\u5355\\u5143\\u683C\\u5931\\u8D25\",\"\\u7B14\\u8BB0\\u672C\\u5355\\u5143\\u683C\\u5931\\u8D25\",\"\\u5DF2\\u63D2\\u5165\\u5DEE\\u5F02\\u7EBF\",\"\\u5DF2\\u5220\\u9664\\u5DEE\\u5F02\\u884C\",\"\\u5DEE\\u5F02\\u884C\\u5DF2\\u4FEE\\u6539\",\"\\u5DF2\\u53D1\\u9001\\u804A\\u5929\\u8BF7\\u6C42\",\"\\u5DF2\\u53D1\\u9001\\u804A\\u5929\\u8BF7\\u6C42\",\"\\u5DF2\\u6536\\u5230\\u804A\\u5929\\u54CD\\u5E94\",\"\\u8FDB\\u5EA6\",\"\\u8FDB\\u5EA6\",\"\\u6E05\\u9664\",\"\\u6E05\\u9664\",\"\\u4FDD\\u5B58\",\"\\u4FDD\\u5B58\",\"\\u683C\\u5F0F\",\"\\u683C\\u5F0F\",\"\\u8BED\\u97F3\\u5F55\\u5236\\u5DF2\\u542F\\u52A8\",\"\\u8BED\\u97F3\\u5F55\\u5236\\u5DF2\\u505C\\u6B62\",\"\\u67E5\\u770B\",\"\\u5E2E\\u52A9\",\"\\u6D4B\\u8BD5\",\"\\u6587\\u4EF6\",\"\\u9996\\u9009\\u9879\",\"\\u5F00\\u53D1\\u4EBA\\u5458\",\"{0} ({1})\",\"{0} ({1})\",`{0}\\r\n[{1}] {2}`,\"\\u6309 {1} \\u4EE5 {0}\",\"{0} ({1})\",\"\\u9690\\u85CF\",\"\\u91CD\\u7F6E\\u83DC\\u5355\",\"\\u9690\\u85CF\\u201C{0}\\u201D\",\"\\u914D\\u7F6E\\u952E\\u7ED1\\u5B9A\",\"\\u6309 {0} \\u4EE5\\u5E94\\u7528\\uFF0C\\u6309 {1} \\u4EE5\\u9884\\u89C8\",\"\\u6309 {0} \\u4EE5\\u5E94\\u7528\",\"{0}\\uFF0C\\u7981\\u7528\\u539F\\u56E0: {1}\",\"\\u64CD\\u4F5C\\u5C0F\\u7EC4\\u4EF6\",\"\\u64CD\\u4F5C\\u680F\\u4E2D\\u5207\\u6362\\u7684\\u64CD\\u4F5C\\u9879\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u64CD\\u4F5C\\u5C0F\\u7EC4\\u4EF6\\u5217\\u8868\\u662F\\u5426\\u53EF\\u89C1\",\"\\u9690\\u85CF\\u64CD\\u4F5C\\u5C0F\\u7EC4\\u4EF6\",\"\\u9009\\u62E9\\u4E0A\\u4E00\\u4E2A\\u64CD\\u4F5C\",\"\\u9009\\u62E9\\u4E0B\\u4E00\\u4E2A\\u64CD\\u4F5C\",\"\\u63A5\\u53D7\\u6240\\u9009\\u64CD\\u4F5C\",\"\\u9884\\u89C8\\u6240\\u9009\\u64CD\\u4F5C\",\"\\u9ED8\\u8BA4\\u8BED\\u8A00\\u914D\\u7F6E\\u66FF\\u4EE3\",\"\\u914D\\u7F6E\\u8981\\u4E3A {0} \\u8BED\\u8A00\\u66FF\\u4EE3\\u7684\\u8BBE\\u7F6E\\u3002\",\"\\u9488\\u5BF9\\u67D0\\u79CD\\u8BED\\u8A00\\uFF0C\\u914D\\u7F6E\\u66FF\\u4EE3\\u7F16\\u8F91\\u5668\\u8BBE\\u7F6E\\u3002\",\"\\u6B64\\u8BBE\\u7F6E\\u4E0D\\u652F\\u6301\\u6309\\u8BED\\u8A00\\u914D\\u7F6E\\u3002\",\"\\u9488\\u5BF9\\u67D0\\u79CD\\u8BED\\u8A00\\uFF0C\\u914D\\u7F6E\\u66FF\\u4EE3\\u7F16\\u8F91\\u5668\\u8BBE\\u7F6E\\u3002\",\"\\u6B64\\u8BBE\\u7F6E\\u4E0D\\u652F\\u6301\\u6309\\u8BED\\u8A00\\u914D\\u7F6E\\u3002\",\"\\u65E0\\u6CD5\\u6CE8\\u518C\\u7A7A\\u5C5E\\u6027\",'\\u65E0\\u6CD5\\u6CE8\\u518C\\u201C{0}\\u201D\\u3002\\u5176\\u7B26\\u5408\\u63CF\\u8FF0\\u7279\\u5B9A\\u8BED\\u8A00\\u7F16\\u8F91\\u5668\\u8BBE\\u7F6E\\u7684\\u8868\\u8FBE\\u5F0F \"\\\\\\\\[.*\\\\\\\\]$\"\\u3002\\u8BF7\\u4F7F\\u7528 \"configurationDefaults\"\\u3002',\"\\u65E0\\u6CD5\\u6CE8\\u518C\\u201C{0}\\u201D\\u3002\\u6B64\\u5C5E\\u6027\\u5DF2\\u6CE8\\u518C\\u3002\",'\\u65E0\\u6CD5\\u6CE8\\u518C \"{0}\"\\u3002\\u5173\\u8054\\u7684\\u7B56\\u7565 {1} \\u5DF2\\u5411 {2} \\u6CE8\\u518C\\u3002',\"\\u7528\\u4E8E\\u8FD4\\u56DE\\u4E0A\\u4E0B\\u6587\\u952E\\u7684\\u76F8\\u5173\\u4FE1\\u606F\\u7684\\u547D\\u4EE4\",\"\\u4E0A\\u4E0B\\u6587\\u952E\\u8868\\u8FBE\\u5F0F\\u4E3A\\u7A7A\",'\\u5FD8\\u8BB0\\u5199\\u5165\\u8868\\u8FBE\\u5F0F\\u4E86\\u5417? \\u8FD8\\u53EF\\u4EE5\\u653E\\u7F6E \"false\" \\u6216 \"true\" \\u4EE5\\u59CB\\u7EC8\\u5206\\u522B\\u8BC4\\u4F30\\u4E3A false \\u6216 true\\u3002','\"not\" \\u540E\\u9762\\u7684 \"in\"\\u3002','\\u53F3\\u62EC\\u53F7 \")\"',\"\\u610F\\u5916\\u7684\\u4EE4\\u724C\",\"\\u5FD8\\u8BB0\\u5728\\u4EE4\\u724C\\u4E4B\\u524D\\u653E\\u7F6E && \\u6216 || \\u4E86\\u5417?\",\"\\u610F\\u5916\\u7684\\u8868\\u8FBE\\u5F0F\\u7ED3\\u5C3E\",\"\\u5FD8\\u8BB0\\u653E\\u7F6E\\u4E0A\\u4E0B\\u6587\\u952E\\u4E86\\u5417?\",`\\u5E94\\u4E3A: {0}\\r\n\\u6536\\u5230\\u7684: \"{1}\"\\u3002`,\"\\u64CD\\u4F5C\\u7CFB\\u7EDF\\u662F\\u5426 macOS\",\"\\u64CD\\u4F5C\\u7CFB\\u7EDF\\u662F\\u5426\\u4E3A Linux\",\"\\u64CD\\u4F5C\\u7CFB\\u7EDF\\u662F\\u5426\\u4E3A Windows\",\"\\u5E73\\u53F0\\u662F\\u5426\\u4E3A Web \\u6D4F\\u89C8\\u5668\",\"\\u64CD\\u4F5C\\u7CFB\\u7EDF\\u662F\\u5426\\u662F\\u975E\\u6D4F\\u89C8\\u5668\\u5E73\\u53F0\\u4E0A\\u7684 macOS\",\"\\u64CD\\u4F5C\\u7CFB\\u7EDF\\u662F\\u5426\\u4E3A iOS\",\"\\u5E73\\u53F0\\u662F\\u5426\\u4E3A Web \\u6D4F\\u89C8\\u5668\",\"VS Code \\u7684\\u8D28\\u91CF\\u7C7B\\u578B\",\"\\u952E\\u76D8\\u7126\\u70B9\\u662F\\u5426\\u5728\\u8F93\\u5165\\u6846\\u4E2D\",\"\\u4F60\\u6307\\u7684\\u662F {0} \\u5417?\",\"\\u4F60\\u6307\\u7684\\u662F {0} \\u8FD8\\u662F {1}?\",\"\\u4F60\\u6307\\u7684\\u662F {0}\\u3001{1} \\u8FD8\\u662F {2}?\",\"\\u5FD8\\u8BB0\\u5DE6\\u5F15\\u53F7\\u6216\\u53F3\\u5F15\\u53F7\\u4E86\\u5417?\",'\\u5FD8\\u8BB0\\u8F6C\\u4E49 \"/\"(\\u659C\\u6760)\\u5B57\\u7B26\\u4E86\\u5417? \\u5728\\u8BE5\\u5B57\\u7B26\\u524D\\u653E\\u7F6E\\u4E24\\u4E2A\\u53CD\\u659C\\u6760\\u4EE5\\u8FDB\\u884C\\u8F6C\\u4E49\\uFF0C\\u4F8B\\u5982 \"\\\\\\\\/\"\\u3002',\"\\u5EFA\\u8BAE\\u662F\\u5426\\u53EF\\u89C1\",\"({0})\\u5DF2\\u6309\\u4E0B\\u3002\\u6B63\\u5728\\u7B49\\u5F85\\u6309\\u4E0B\\u7B2C\\u4E8C\\u4E2A\\u952E...\",\"\\u5DF2\\u6309\\u4E0B({0})\\u3002\\u6B63\\u5728\\u7B49\\u5F85\\u7B2C\\u4E8C\\u4E2A\\u952E...\",\"\\u7EC4\\u5408\\u952E({0}\\uFF0C{1})\\u4E0D\\u662F\\u547D\\u4EE4\\u3002\",\"\\u7EC4\\u5408\\u952E({0}\\uFF0C{1})\\u4E0D\\u662F\\u547D\\u4EE4\\u3002\",\"\\u5DE5\\u4F5C\\u53F0\",\"\\u6620\\u5C04\\u4E3A `Ctrl` (Windows \\u548C Linux) \\u6216 `Command` (macOS)\\u3002\",\"\\u6620\\u5C04\\u4E3A `Alt` (Windows \\u548C Linux) \\u6216 `Option` (macOS)\\u3002\",\"\\u5728\\u901A\\u8FC7\\u9F20\\u6807\\u591A\\u9009\\u6811\\u548C\\u5217\\u8868\\u6761\\u76EE\\u65F6\\u4F7F\\u7528\\u7684\\u4FEE\\u6539\\u952E (\\u4F8B\\u5982\\u201C\\u8D44\\u6E90\\u7BA1\\u7406\\u5668\\u201D\\u3001\\u201C\\u6253\\u5F00\\u7684\\u7F16\\u8F91\\u5668\\u201D\\u548C\\u201C\\u6E90\\u4EE3\\u7801\\u7BA1\\u7406\\u201D\\u89C6\\u56FE)\\u3002\\u201C\\u5728\\u4FA7\\u8FB9\\u6253\\u5F00\\u201D\\u529F\\u80FD\\u6240\\u9700\\u7684\\u9F20\\u6807\\u52A8\\u4F5C (\\u82E5\\u53EF\\u7528) \\u5C06\\u4F1A\\u76F8\\u5E94\\u8C03\\u6574\\uFF0C\\u4E0D\\u4E0E\\u591A\\u9009\\u4FEE\\u6539\\u952E\\u51B2\\u7A81\\u3002\",\"\\u63A7\\u5236\\u5982\\u4F55\\u4F7F\\u7528\\u9F20\\u6807\\u6253\\u5F00\\u6811\\u548C\\u5217\\u8868\\u4E2D\\u7684\\u9879(\\u82E5\\u652F\\u6301)\\u3002\\u8BF7\\u6CE8\\u610F\\uFF0C\\u5982\\u679C\\u6B64\\u8BBE\\u7F6E\\u4E0D\\u9002\\u7528\\uFF0C\\u67D0\\u4E9B\\u6811\\u548C\\u5217\\u8868\\u53EF\\u80FD\\u4F1A\\u9009\\u62E9\\u5FFD\\u7565\\u5B83\\u3002\",\"\\u63A7\\u5236\\u5DE5\\u4F5C\\u53F0\\u4E0A\\u7684\\u5217\\u8868\\u548C\\u6811\\u662F\\u5426\\u652F\\u6301\\u6C34\\u5E73\\u6EDA\\u52A8\\u3002\\u8B66\\u544A: \\u6253\\u5F00\\u6B64\\u8BBE\\u7F6E\\u4F1A\\u5F71\\u54CD\\u6027\\u80FD\\u3002\",\"\\u63A7\\u5236\\u5728\\u6EDA\\u52A8\\u6761\\u4E2D\\u5355\\u51FB\\u65F6\\u662F\\u5426\\u9010\\u9875\\u5355\\u51FB\\u3002\",\"\\u63A7\\u5236\\u6811\\u7F29\\u8FDB(\\u4EE5\\u50CF\\u7D20\\u4E3A\\u5355\\u4F4D)\\u3002\",\"\\u63A7\\u5236\\u6811\\u662F\\u5426\\u5E94\\u5448\\u73B0\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u3002\",\"\\u63A7\\u5236\\u5217\\u8868\\u548C\\u6811\\u662F\\u5426\\u5177\\u6709\\u5E73\\u6ED1\\u6EDA\\u52A8\\u6548\\u679C\\u3002\",\"\\u5BF9\\u9F20\\u6807\\u6EDA\\u8F6E\\u6EDA\\u52A8\\u4E8B\\u4EF6\\u7684 `deltaX` \\u548C `deltaY` \\u4E58\\u4E0A\\u7684\\u7CFB\\u6570\\u3002\",'\\u6309\\u4E0B\"Alt\"\\u65F6\\u6EDA\\u52A8\\u901F\\u5EA6\\u500D\\u589E\\u3002',\"\\u641C\\u7D22\\u65F6\\u7A81\\u51FA\\u663E\\u793A\\u5143\\u7D20\\u3002\\u8FDB\\u4E00\\u6B65\\u5411\\u4E0A\\u548C\\u5411\\u4E0B\\u5BFC\\u822A\\u5C06\\u4EC5\\u904D\\u5386\\u7A81\\u51FA\\u663E\\u793A\\u7684\\u5143\\u7D20\\u3002\",\"\\u641C\\u7D22\\u65F6\\u7B5B\\u9009\\u5143\\u7D20\\u3002\",\"\\u63A7\\u5236\\u5DE5\\u4F5C\\u53F0\\u4E2D\\u5217\\u8868\\u548C\\u6811\\u7684\\u9ED8\\u8BA4\\u67E5\\u627E\\u6A21\\u5F0F\\u3002\",\"\\u7B80\\u5355\\u952E\\u76D8\\u5BFC\\u822A\\u805A\\u7126\\u4E0E\\u952E\\u76D8\\u8F93\\u5165\\u76F8\\u5339\\u914D\\u7684\\u5143\\u7D20\\u3002\\u4EC5\\u5BF9\\u524D\\u7F00\\u8FDB\\u884C\\u5339\\u914D\\u3002\",\"\\u9AD8\\u4EAE\\u952E\\u76D8\\u5BFC\\u822A\\u4F1A\\u7A81\\u51FA\\u663E\\u793A\\u4E0E\\u952E\\u76D8\\u8F93\\u5165\\u76F8\\u5339\\u914D\\u7684\\u5143\\u7D20\\u3002\\u8FDB\\u4E00\\u6B65\\u5411\\u4E0A\\u548C\\u5411\\u4E0B\\u5BFC\\u822A\\u5C06\\u4EC5\\u904D\\u5386\\u7A81\\u51FA\\u663E\\u793A\\u7684\\u5143\\u7D20\\u3002\",\"\\u7B5B\\u9009\\u5668\\u952E\\u76D8\\u5BFC\\u822A\\u5C06\\u7B5B\\u9009\\u51FA\\u5E76\\u9690\\u85CF\\u4E0E\\u952E\\u76D8\\u8F93\\u5165\\u4E0D\\u5339\\u914D\\u7684\\u6240\\u6709\\u5143\\u7D20\\u3002\",\"\\u63A7\\u5236\\u5DE5\\u4F5C\\u53F0\\u4E2D\\u7684\\u5217\\u8868\\u548C\\u6811\\u7684\\u952E\\u76D8\\u5BFC\\u822A\\u6837\\u5F0F\\u3002\\u5B83\\u53EF\\u4E3A\\u201C\\u7B80\\u5355\\u201D\\u3001\\u201C\\u7A81\\u51FA\\u663E\\u793A\\u201D\\u6216\\u201C\\u7B5B\\u9009\\u201D\\u3002\",'\\u8BF7\\u6539\\u7528 \"workbench.list.defaultFindMode\" \\u548C \"workbench.list.typeNavigationMode\"\\u3002',\"\\u5728\\u641C\\u7D22\\u65F6\\u4F7F\\u7528\\u6A21\\u7CCA\\u5339\\u914D\\u3002\",\"\\u5728\\u641C\\u7D22\\u65F6\\u4F7F\\u7528\\u8FDE\\u7EED\\u5339\\u914D\\u3002\",\"\\u63A7\\u5236\\u5728\\u5DE5\\u4F5C\\u53F0\\u4E2D\\u641C\\u7D22\\u5217\\u8868\\u548C\\u6811\\u65F6\\u4F7F\\u7528\\u7684\\u5339\\u914D\\u7C7B\\u578B\\u3002\",\"\\u63A7\\u5236\\u5728\\u5355\\u51FB\\u6587\\u4EF6\\u5939\\u540D\\u79F0\\u65F6\\u5982\\u4F55\\u6269\\u5C55\\u6811\\u6587\\u4EF6\\u5939\\u3002\\u8BF7\\u6CE8\\u610F\\uFF0C\\u5982\\u679C\\u4E0D\\u9002\\u7528\\uFF0C\\u67D0\\u4E9B\\u6811\\u548C\\u5217\\u8868\\u53EF\\u80FD\\u4F1A\\u9009\\u62E9\\u5FFD\\u7565\\u6B64\\u8BBE\\u7F6E\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5728\\u6811\\u4E2D\\u542F\\u7528\\u7C98\\u6027\\u6EDA\\u52A8\\u3002\",\"\\u63A7\\u5236\\u542F\\u7528 {0} \\u65F6\\u6811\\u4E2D\\u663E\\u793A\\u7684\\u7C98\\u6EDE\\u5143\\u7D20\\u6570\\u3002\",\"\\u63A7\\u5236\\u7C7B\\u578B\\u5BFC\\u822A\\u5728\\u5DE5\\u4F5C\\u53F0\\u7684\\u5217\\u8868\\u548C\\u6811\\u4E2D\\u7684\\u5DE5\\u4F5C\\u65B9\\u5F0F\\u3002\\u5982\\u679C\\u8BBE\\u7F6E\\u4E3A`trigger`\\uFF0C\\u5219\\u5728\\u8FD0\\u884C `list.triggerTypeNavigation` \\u547D\\u4EE4\\u540E\\uFF0C\\u7C7B\\u578B\\u5BFC\\u822A\\u5C06\\u5F00\\u59CB\\u3002\",\"\\u9519\\u8BEF\",\"\\u8B66\\u544A\",\"\\u4FE1\\u606F\",\"\\u6700\\u8FD1\\u4F7F\\u7528\",\"\\u7C7B\\u4F3C\\u547D\\u4EE4\",\"\\u5E38\\u7528\",\"\\u5176\\u4ED6\\u547D\\u4EE4\",\"\\u7C7B\\u4F3C\\u547D\\u4EE4\",\"{0}, {1}\",'\\u547D\\u4EE4 \"{0}\" \\u5BFC\\u81F4\\u9519\\u8BEF',\"{0}, {1}\",\"\\u952E\\u76D8\\u7126\\u70B9\\u662F\\u5426\\u5728\\u5FEB\\u901F\\u8F93\\u5165\\u63A7\\u4EF6\\u5185\",\"\\u5F53\\u524D\\u53EF\\u89C1\\u5FEB\\u901F\\u8F93\\u5165\\u7684\\u7C7B\\u578B\",\"\\u5FEB\\u901F\\u8F93\\u5165\\u4E2D\\u7684\\u5149\\u6807\\u662F\\u5426\\u4F4D\\u4E8E\\u8F93\\u5165\\u6846\\u7684\\u672B\\u5C3E\",\"\\u4E0A\\u4E00\\u6B65\",'\\u6309 \"Enter\" \\u4EE5\\u786E\\u8BA4\\u6216\\u6309 \"Esc\" \\u4EE5\\u53D6\\u6D88',\"{0}/{1}\",\"\\u5728\\u6B64\\u8F93\\u5165\\u53EF\\u7F29\\u5C0F\\u7ED3\\u679C\\u8303\\u56F4\\u3002\",\"\\u5728\\u5FEB\\u901F\\u9009\\u53D6\\u4E0A\\u4E0B\\u6587\\u4E2D\\u4F7F\\u7528\\u3002\\u5982\\u679C\\u4E3A\\u6B64\\u547D\\u4EE4\\u66F4\\u6539\\u4E00\\u4E2A\\u952E\\u7ED1\\u5B9A\\uFF0C\\u5219\\u8FD8\\u5E94\\u66F4\\u6539\\u6B64\\u547D\\u4EE4\\u7684\\u6240\\u6709\\u5176\\u4ED6\\u952E\\u7ED1\\u5B9A(\\u4FEE\\u9970\\u7B26\\u53D8\\u4F53)\\u3002\",\"\\u5982\\u679C\\u6211\\u4EEC\\u5904\\u4E8E\\u5FEB\\u901F\\u8BBF\\u95EE\\u6A21\\u5F0F\\uFF0C\\u8FD9\\u5C06\\u5BFC\\u822A\\u5230\\u4E0B\\u4E00\\u9879\\u3002\\u5982\\u679C\\u6211\\u4EEC\\u672A\\u5904\\u4E8E\\u5FEB\\u901F\\u8BBF\\u95EE\\u6A21\\u5F0F\\uFF0C\\u8FD9\\u5C06\\u5BFC\\u822A\\u5230\\u4E0B\\u4E00\\u4E2A\\u5206\\u9694\\u7B26\\u3002\",\"\\u5982\\u679C\\u6211\\u4EEC\\u5904\\u4E8E\\u5FEB\\u901F\\u8BBF\\u95EE\\u6A21\\u5F0F\\uFF0C\\u8FD9\\u5C06\\u5BFC\\u822A\\u5230\\u4E0A\\u4E00\\u9879\\u3002\\u5982\\u679C\\u6211\\u4EEC\\u672A\\u5904\\u4E8E\\u5FEB\\u901F\\u8BBF\\u95EE\\u6A21\\u5F0F\\uFF0C\\u8FD9\\u5C06\\u5BFC\\u822A\\u5230\\u4E0A\\u4E00\\u4E2A\\u5206\\u9694\\u7B26\\u3002\",\"\\u5207\\u6362\\u6240\\u6709\\u590D\\u9009\\u6846\",\"{0} \\u4E2A\\u7ED3\\u679C\",\"\\u5DF2\\u9009 {0} \\u9879\",\"\\u786E\\u5B9A\",\"\\u81EA\\u5B9A\\u4E49\",\"\\u540E\\u9000 ({0})\",\"\\u4E0A\\u4E00\\u6B65\",\"\\u5FEB\\u901F\\u8F93\\u5165\",'\\u5355\\u51FB\\u4EE5\\u6267\\u884C\\u547D\\u4EE4 \"{0}\"',\"\\u6574\\u4F53\\u524D\\u666F\\u8272\\u3002\\u6B64\\u989C\\u8272\\u4EC5\\u5728\\u4E0D\\u88AB\\u7EC4\\u4EF6\\u8986\\u76D6\\u65F6\\u9002\\u7528\\u3002\",\"\\u5DF2\\u7981\\u7528\\u5143\\u7D20\\u7684\\u6574\\u4F53\\u524D\\u666F\\u8272\\u3002\\u4EC5\\u5728\\u672A\\u7531\\u7EC4\\u4EF6\\u66FF\\u4EE3\\u65F6\\u624D\\u80FD\\u4F7F\\u7528\\u6B64\\u989C\\u8272\\u3002\",\"\\u9519\\u8BEF\\u4FE1\\u606F\\u7684\\u6574\\u4F53\\u524D\\u666F\\u8272\\u3002\\u6B64\\u989C\\u8272\\u4EC5\\u5728\\u4E0D\\u88AB\\u7EC4\\u4EF6\\u8986\\u76D6\\u65F6\\u9002\\u7528\\u3002\",\"\\u63D0\\u4F9B\\u5176\\u4ED6\\u4FE1\\u606F\\u7684\\u8BF4\\u660E\\u6587\\u672C\\u7684\\u524D\\u666F\\u8272\\uFF0C\\u4F8B\\u5982\\u6807\\u7B7E\\u6587\\u672C\\u3002\",\"\\u5DE5\\u4F5C\\u53F0\\u4E2D\\u56FE\\u6807\\u7684\\u9ED8\\u8BA4\\u989C\\u8272\\u3002\",\"\\u7126\\u70B9\\u5143\\u7D20\\u7684\\u6574\\u4F53\\u8FB9\\u6846\\u989C\\u8272\\u3002\\u6B64\\u989C\\u8272\\u4EC5\\u5728\\u4E0D\\u88AB\\u5176\\u4ED6\\u7EC4\\u4EF6\\u8986\\u76D6\\u65F6\\u9002\\u7528\\u3002\",\"\\u5728\\u5143\\u7D20\\u5468\\u56F4\\u989D\\u5916\\u7684\\u4E00\\u5C42\\u8FB9\\u6846\\uFF0C\\u7528\\u6765\\u63D0\\u9AD8\\u5BF9\\u6BD4\\u5EA6\\u4ECE\\u800C\\u533A\\u522B\\u5176\\u4ED6\\u5143\\u7D20\\u3002\",\"\\u5728\\u6D3B\\u52A8\\u5143\\u7D20\\u5468\\u56F4\\u989D\\u5916\\u7684\\u4E00\\u5C42\\u8FB9\\u6846\\uFF0C\\u7528\\u6765\\u63D0\\u9AD8\\u5BF9\\u6BD4\\u5EA6\\u4ECE\\u800C\\u533A\\u522B\\u5176\\u4ED6\\u5143\\u7D20\\u3002\",\"\\u5DE5\\u4F5C\\u53F0\\u6240\\u9009\\u6587\\u672C\\u7684\\u80CC\\u666F\\u989C\\u8272(\\u4F8B\\u5982\\u8F93\\u5165\\u5B57\\u6BB5\\u6216\\u6587\\u672C\\u533A\\u57DF)\\u3002\\u6CE8\\u610F\\uFF0C\\u672C\\u8BBE\\u7F6E\\u4E0D\\u9002\\u7528\\u4E8E\\u7F16\\u8F91\\u5668\\u3002\",\"\\u6587\\u672C\\u4E2D\\u94FE\\u63A5\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u6587\\u672C\\u4E2D\\u94FE\\u63A5\\u5728\\u70B9\\u51FB\\u6216\\u9F20\\u6807\\u60AC\\u505C\\u65F6\\u7684\\u524D\\u666F\\u8272 \\u3002\",\"\\u6587\\u5B57\\u5206\\u9694\\u7B26\\u7684\\u989C\\u8272\\u3002\",\"\\u9884\\u683C\\u5F0F\\u5316\\u6587\\u672C\\u6BB5\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u9884\\u683C\\u5F0F\\u5316\\u6587\\u672C\\u6BB5\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u6587\\u672C\\u4E2D\\u5757\\u5F15\\u7528\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u6587\\u672C\\u4E2D\\u5757\\u5F15\\u7528\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u6587\\u672C\\u4E2D\\u4EE3\\u7801\\u5757\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u56FE\\u8868\\u4E2D\\u4F7F\\u7528\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u56FE\\u8868\\u4E2D\\u7684\\u6C34\\u5E73\\u7EBF\\u6761\\u7684\\u989C\\u8272\\u3002\",\"\\u56FE\\u8868\\u53EF\\u89C6\\u5316\\u6548\\u679C\\u4E2D\\u4F7F\\u7528\\u7684\\u7EA2\\u8272\\u3002\",\"\\u56FE\\u8868\\u53EF\\u89C6\\u5316\\u6548\\u679C\\u4E2D\\u4F7F\\u7528\\u7684\\u84DD\\u8272\\u3002\",\"\\u56FE\\u8868\\u53EF\\u89C6\\u5316\\u6548\\u679C\\u4E2D\\u4F7F\\u7528\\u7684\\u9EC4\\u8272\\u3002\",\"\\u56FE\\u8868\\u53EF\\u89C6\\u5316\\u6548\\u679C\\u4E2D\\u4F7F\\u7528\\u7684\\u6A59\\u8272\\u3002\",\"\\u56FE\\u8868\\u53EF\\u89C6\\u5316\\u6548\\u679C\\u4E2D\\u4F7F\\u7528\\u7684\\u7EFF\\u8272\\u3002\",\"\\u56FE\\u8868\\u53EF\\u89C6\\u5316\\u6548\\u679C\\u4E2D\\u4F7F\\u7528\\u7684\\u7D2B\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u80CC\\u666F\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u9ED8\\u8BA4\\u524D\\u666F\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u7C98\\u6EDE\\u6EDA\\u52A8\\u7684\\u80CC\\u666F\\u8272\",\"\\u5728\\u7F16\\u8F91\\u5668\\u4E2D\\u60AC\\u505C\\u65F6\\u7C98\\u6EDE\\u6EDA\\u52A8\\u7684\\u80CC\\u666F\\u8272\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u7C98\\u6EDE\\u6EDA\\u52A8\\u7684\\u8FB9\\u6846\\u989C\\u8272\",\" \\u7F16\\u8F91\\u5668\\u4E2D\\u7C98\\u6EDE\\u6EDA\\u52A8\\u7684\\u9634\\u5F71\\u989C\\u8272\",\"\\u7F16\\u8F91\\u5668\\u7EC4\\u4EF6(\\u5982\\u67E5\\u627E/\\u66FF\\u6362)\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5C0F\\u90E8\\u4EF6\\u7684\\u524D\\u666F\\u8272\\uFF0C\\u5982\\u67E5\\u627E/\\u66FF\\u6362\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5C0F\\u90E8\\u4EF6\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\\u6B64\\u989C\\u8272\\u4EC5\\u5728\\u5C0F\\u90E8\\u4EF6\\u6709\\u8FB9\\u6846\\u4E14\\u4E0D\\u88AB\\u5C0F\\u90E8\\u4EF6\\u91CD\\u5199\\u65F6\\u9002\\u7528\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5C0F\\u90E8\\u4EF6\\u5927\\u5C0F\\u8C03\\u6574\\u6761\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\\u6B64\\u989C\\u8272\\u4EC5\\u5728\\u5C0F\\u90E8\\u4EF6\\u6709\\u8C03\\u6574\\u8FB9\\u6846\\u4E14\\u4E0D\\u88AB\\u5C0F\\u90E8\\u4EF6\\u989C\\u8272\\u8986\\u76D6\\u65F6\\u4F7F\\u7528\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u9519\\u8BEF\\u6587\\u672C\\u7684\\u80CC\\u666F\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u9519\\u8BEF\\u6CE2\\u6D6A\\u7EBF\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u5982\\u679C\\u8BBE\\u7F6E\\uFF0C\\u7F16\\u8F91\\u5668\\u4E2D\\u9519\\u8BEF\\u7684\\u53CC\\u4E0B\\u5212\\u7EBF\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u8B66\\u544A\\u6587\\u672C\\u7684\\u80CC\\u666F\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u8B66\\u544A\\u6CE2\\u6D6A\\u7EBF\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u5982\\u679C\\u8BBE\\u7F6E\\uFF0C\\u7F16\\u8F91\\u5668\\u4E2D\\u8B66\\u544A\\u7684\\u53CC\\u4E0B\\u5212\\u7EBF\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u4FE1\\u606F\\u6587\\u672C\\u7684\\u80CC\\u666F\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u4FE1\\u606F\\u6CE2\\u6D6A\\u7EBF\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u5982\\u679C\\u8BBE\\u7F6E\\uFF0C\\u7F16\\u8F91\\u5668\\u4E2D\\u4FE1\\u606F\\u7684\\u53CC\\u4E0B\\u5212\\u7EBF\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u4E2D\\u63D0\\u793A\\u6CE2\\u6D6A\\u7EBF\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u5982\\u679C\\u8BBE\\u7F6E\\uFF0C\\u7F16\\u8F91\\u5668\\u4E2D\\u63D0\\u793A\\u7684\\u53CC\\u4E0B\\u5212\\u7EBF\\u989C\\u8272\\u3002\",\"\\u6D3B\\u52A8\\u94FE\\u63A5\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u6240\\u9009\\u5185\\u5BB9\\u7684\\u989C\\u8272\\u3002\",\"\\u7528\\u4EE5\\u5F70\\u663E\\u9AD8\\u5BF9\\u6BD4\\u5EA6\\u7684\\u6240\\u9009\\u6587\\u672C\\u7684\\u989C\\u8272\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u7F16\\u8F91\\u5668\\u4E2D\\u6240\\u9009\\u5185\\u5BB9\\u7684\\u989C\\u8272\\uFF0C\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u88C5\\u9970\\u6548\\u679C\\u3002\",\"\\u5177\\u6709\\u4E0E\\u6240\\u9009\\u9879\\u76F8\\u5173\\u5185\\u5BB9\\u7684\\u533A\\u57DF\\u7684\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u4E0E\\u6240\\u9009\\u9879\\u5185\\u5BB9\\u76F8\\u540C\\u7684\\u533A\\u57DF\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u5F53\\u524D\\u641C\\u7D22\\u5339\\u914D\\u9879\\u7684\\u989C\\u8272\\u3002\",\"\\u5F53\\u524D\\u641C\\u7D22\\u5339\\u914D\\u9879\\u7684\\u6587\\u672C\\u989C\\u8272\\u3002\",\"\\u5176\\u4ED6\\u641C\\u7D22\\u5339\\u914D\\u9879\\u7684\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5176\\u4ED6\\u641C\\u7D22\\u5339\\u914D\\u9879\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u9650\\u5236\\u641C\\u7D22\\u8303\\u56F4\\u7684\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5F53\\u524D\\u641C\\u7D22\\u5339\\u914D\\u9879\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u5176\\u4ED6\\u641C\\u7D22\\u5339\\u914D\\u9879\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u9650\\u5236\\u641C\\u7D22\\u7684\\u8303\\u56F4\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5728\\u4E0B\\u9762\\u7A81\\u51FA\\u663E\\u793A\\u60AC\\u505C\\u7684\\u5B57\\u8BCD\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u63D0\\u793A\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\",\"\\u5149\\u6807\\u60AC\\u505C\\u65F6\\u7F16\\u8F91\\u5668\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u60AC\\u505C\\u72B6\\u6001\\u680F\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u5185\\u8054\\u63D0\\u793A\\u7684\\u524D\\u666F\\u8272\",\"\\u5185\\u8054\\u63D0\\u793A\\u7684\\u80CC\\u666F\\u8272\",\"\\u7C7B\\u578B\\u5185\\u8054\\u63D0\\u793A\\u7684\\u524D\\u666F\\u8272\",\"\\u7C7B\\u578B\\u5185\\u8054\\u63D0\\u793A\\u7684\\u80CC\\u666F\\u8272\",\"\\u53C2\\u6570\\u5185\\u8054\\u63D0\\u793A\\u7684\\u524D\\u666F\\u8272\",\"\\u53C2\\u6570\\u5185\\u8054\\u63D0\\u793A\\u7684\\u80CC\\u666F\\u8272\",\"\\u7528\\u4E8E\\u706F\\u6CE1\\u64CD\\u4F5C\\u56FE\\u6807\\u7684\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u706F\\u6CE1\\u81EA\\u52A8\\u4FEE\\u590D\\u64CD\\u4F5C\\u56FE\\u6807\\u7684\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u706F\\u6CE1 AI \\u56FE\\u6807\\u7684\\u989C\\u8272\\u3002\",\"\\u4EE3\\u7801\\u7247\\u6BB5 Tab \\u4F4D\\u7684\\u9AD8\\u4EAE\\u80CC\\u666F\\u8272\\u3002\",\"\\u4EE3\\u7801\\u7247\\u6BB5 Tab \\u4F4D\\u7684\\u9AD8\\u4EAE\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u4EE3\\u7801\\u7247\\u6BB5\\u4E2D\\u6700\\u540E\\u7684 Tab \\u4F4D\\u7684\\u9AD8\\u4EAE\\u80CC\\u666F\\u8272\\u3002\",\"\\u4EE3\\u7801\\u7247\\u6BB5\\u4E2D\\u6700\\u540E\\u7684\\u5236\\u8868\\u4F4D\\u7684\\u9AD8\\u4EAE\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u5DF2\\u63D2\\u5165\\u7684\\u6587\\u672C\\u7684\\u80CC\\u666F\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5DF2\\u5220\\u9664\\u7684\\u6587\\u672C\\u7684\\u80CC\\u666F\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5DF2\\u63D2\\u5165\\u7684\\u884C\\u7684\\u80CC\\u666F\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5DF2\\u5220\\u9664\\u7684\\u884C\\u7684\\u80CC\\u666F\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u63D2\\u5165\\u884C\\u7684\\u8FB9\\u8DDD\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u5220\\u9664\\u884C\\u7684\\u8FB9\\u8DDD\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u63D2\\u5165\\u5185\\u5BB9\\u7684\\u5DEE\\u5F02\\u6982\\u8FF0\\u6807\\u5C3A\\u524D\\u666F\\u3002\",\"\\u5220\\u9664\\u5185\\u5BB9\\u7684\\u5DEE\\u5F02\\u6982\\u8FF0\\u6807\\u5C3A\\u524D\\u666F\\u3002\",\"\\u63D2\\u5165\\u7684\\u6587\\u672C\\u7684\\u8F6E\\u5ED3\\u989C\\u8272\\u3002\",\"\\u88AB\\u5220\\u9664\\u6587\\u672C\\u7684\\u8F6E\\u5ED3\\u989C\\u8272\\u3002\",\"\\u4E24\\u4E2A\\u6587\\u672C\\u7F16\\u8F91\\u5668\\u4E4B\\u95F4\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u7684\\u5BF9\\u89D2\\u7EBF\\u586B\\u5145\\u989C\\u8272\\u3002\\u5BF9\\u89D2\\u7EBF\\u586B\\u5145\\u7528\\u4E8E\\u5E76\\u6392\\u5DEE\\u5F02\\u89C6\\u56FE\\u3002\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4E2D\\u672A\\u66F4\\u6539\\u5757\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4E2D\\u672A\\u66F4\\u6539\\u5757\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u5DEE\\u5F02\\u7F16\\u8F91\\u5668\\u4E2D\\u672A\\u66F4\\u6539\\u4EE3\\u7801\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5185\\u5C0F\\u7EC4\\u4EF6(\\u5982\\u67E5\\u627E/\\u66FF\\u6362)\\u7684\\u9634\\u5F71\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u5185\\u5C0F\\u7EC4\\u4EF6(\\u5982\\u67E5\\u627E/\\u66FF\\u6362)\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u4F7F\\u7528\\u9F20\\u6807\\u60AC\\u505C\\u5728\\u64CD\\u4F5C\\u4E0A\\u65F6\\u663E\\u793A\\u5DE5\\u5177\\u680F\\u80CC\\u666F\",\"\\u4F7F\\u7528\\u9F20\\u6807\\u60AC\\u505C\\u5728\\u64CD\\u4F5C\\u4E0A\\u65F6\\u663E\\u793A\\u5DE5\\u5177\\u680F\\u8F6E\\u5ED3\",\"\\u5C06\\u9F20\\u6807\\u60AC\\u505C\\u5728\\u64CD\\u4F5C\\u4E0A\\u65F6\\u7684\\u5DE5\\u5177\\u680F\\u80CC\\u666F\",\"\\u7126\\u70B9\\u5BFC\\u822A\\u8DEF\\u5F84\\u7684\\u989C\\u8272\",\"\\u5BFC\\u822A\\u8DEF\\u5F84\\u9879\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u7126\\u70B9\\u5BFC\\u822A\\u8DEF\\u5F84\\u7684\\u989C\\u8272\",\"\\u5DF2\\u9009\\u5BFC\\u822A\\u8DEF\\u5F84\\u9879\\u7684\\u989C\\u8272\\u3002\",\"\\u5BFC\\u822A\\u8DEF\\u5F84\\u9879\\u9009\\u62E9\\u5668\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u5F53\\u524D\\u6807\\u9898\\u80CC\\u666F\\u7684\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u7684\\u5F53\\u524D\\u5185\\u5BB9\\u80CC\\u666F\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u7684\\u4F20\\u5165\\u6807\\u9898\\u80CC\\u666F\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u7684\\u4F20\\u5165\\u5185\\u5BB9\\u80CC\\u666F\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u7684\\u5E38\\u89C1\\u7956\\u5148\\u6807\\u5934\\u80CC\\u666F\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u7684\\u5E38\\u89C1\\u7956\\u5148\\u5185\\u5BB9\\u80CC\\u666F\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u6807\\u5934\\u548C\\u5206\\u5272\\u7EBF\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u5F53\\u524D\\u7248\\u672C\\u533A\\u57DF\\u7684\\u6982\\u89C8\\u6807\\u5C3A\\u524D\\u666F\\u8272\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u4F20\\u5165\\u7684\\u7248\\u672C\\u533A\\u57DF\\u7684\\u6982\\u89C8\\u6807\\u5C3A\\u524D\\u666F\\u8272\\u3002\",\"\\u5185\\u8054\\u5408\\u5E76\\u51B2\\u7A81\\u4E2D\\u5171\\u540C\\u7956\\u5148\\u533A\\u57DF\\u7684\\u6982\\u89C8\\u6807\\u5C3A\\u524D\\u666F\\u8272\\u3002\",\"\\u7528\\u4E8E\\u67E5\\u627E\\u5339\\u914D\\u9879\\u7684\\u6982\\u8FF0\\u6807\\u5C3A\\u6807\\u8BB0\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7528\\u4E8E\\u7A81\\u51FA\\u663E\\u793A\\u6240\\u9009\\u5185\\u5BB9\\u7684\\u6982\\u8FF0\\u6807\\u5C3A\\u6807\\u8BB0\\u989C\\u8272\\u3002\\u989C\\u8272\\u5FC5\\u987B\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u9690\\u85CF\\u4E0B\\u9762\\u7684\\u4FEE\\u9970\\u6548\\u679C\\u3002\",\"\\u7528\\u4E8E\\u95EE\\u9898\\u9519\\u8BEF\\u56FE\\u6807\\u7684\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u95EE\\u9898\\u8B66\\u544A\\u56FE\\u6807\\u7684\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u95EE\\u9898\\u4FE1\\u606F\\u56FE\\u6807\\u7684\\u989C\\u8272\\u3002\",\"\\u8F93\\u5165\\u6846\\u80CC\\u666F\\u8272\\u3002\",\"\\u8F93\\u5165\\u6846\\u524D\\u666F\\u8272\\u3002\",\"\\u8F93\\u5165\\u6846\\u8FB9\\u6846\\u3002\",\"\\u8F93\\u5165\\u5B57\\u6BB5\\u4E2D\\u5DF2\\u6FC0\\u6D3B\\u9009\\u9879\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u8F93\\u5165\\u5B57\\u6BB5\\u4E2D\\u6FC0\\u6D3B\\u9009\\u9879\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u8F93\\u5165\\u5B57\\u6BB5\\u4E2D\\u9009\\u9879\\u7684\\u80CC\\u666F\\u60AC\\u505C\\u989C\\u8272\\u3002\",\"\\u8F93\\u5165\\u5B57\\u6BB5\\u4E2D\\u5DF2\\u6FC0\\u6D3B\\u7684\\u9009\\u9879\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u8F93\\u5165\\u6846\\u4E2D\\u5360\\u4F4D\\u7B26\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u8F93\\u5165\\u9A8C\\u8BC1\\u7ED3\\u679C\\u4E3A\\u4FE1\\u606F\\u7EA7\\u522B\\u65F6\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u8F93\\u5165\\u9A8C\\u8BC1\\u7ED3\\u679C\\u4E3A\\u4FE1\\u606F\\u7EA7\\u522B\\u65F6\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u4E25\\u91CD\\u6027\\u4E3A\\u4FE1\\u606F\\u65F6\\u8F93\\u5165\\u9A8C\\u8BC1\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u4E25\\u91CD\\u6027\\u4E3A\\u8B66\\u544A\\u65F6\\u8F93\\u5165\\u9A8C\\u8BC1\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u8F93\\u5165\\u9A8C\\u8BC1\\u7ED3\\u679C\\u4E3A\\u8B66\\u544A\\u7EA7\\u522B\\u65F6\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u4E25\\u91CD\\u6027\\u4E3A\\u8B66\\u544A\\u65F6\\u8F93\\u5165\\u9A8C\\u8BC1\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u8F93\\u5165\\u9A8C\\u8BC1\\u7ED3\\u679C\\u4E3A\\u9519\\u8BEF\\u7EA7\\u522B\\u65F6\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u8F93\\u5165\\u9A8C\\u8BC1\\u7ED3\\u679C\\u4E3A\\u9519\\u8BEF\\u7EA7\\u522B\\u65F6\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u4E25\\u91CD\\u6027\\u4E3A\\u9519\\u8BEF\\u65F6\\u8F93\\u5165\\u9A8C\\u8BC1\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u4E0B\\u62C9\\u5217\\u8868\\u80CC\\u666F\\u8272\\u3002\",\"\\u4E0B\\u62C9\\u5217\\u8868\\u80CC\\u666F\\u8272\\u3002\",\"\\u4E0B\\u62C9\\u5217\\u8868\\u524D\\u666F\\u8272\\u3002\",\"\\u4E0B\\u62C9\\u5217\\u8868\\u8FB9\\u6846\\u3002\",\"\\u6309\\u94AE\\u524D\\u666F\\u8272\\u3002\",\"\\u6309\\u94AE\\u5206\\u9694\\u7B26\\u989C\\u8272\\u3002\",\"\\u6309\\u94AE\\u80CC\\u666F\\u8272\\u3002\",\"\\u6309\\u94AE\\u5728\\u60AC\\u505C\\u65F6\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u6309\\u94AE\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u8F85\\u52A9\\u6309\\u94AE\\u524D\\u666F\\u8272\\u3002\",\"\\u8F85\\u52A9\\u6309\\u94AE\\u80CC\\u666F\\u8272\\u3002\",\"\\u60AC\\u505C\\u65F6\\u7684\\u8F85\\u52A9\\u6309\\u94AE\\u80CC\\u666F\\u8272\\u3002\",\"\\u6D3B\\u52A8\\u5355\\u9009\\u9009\\u9879\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u6D3B\\u52A8\\u5355\\u9009\\u9009\\u9879\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u6D3B\\u52A8\\u5355\\u9009\\u9009\\u9879\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u5355\\u9009\\u9009\\u9879\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u5355\\u9009\\u9009\\u9879\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u5355\\u9009\\u9009\\u9879\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u60AC\\u505C\\u65F6\\u975E\\u6D3B\\u52A8\\u5355\\u9009\\u9009\\u9879\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u590D\\u9009\\u6846\\u5C0F\\u90E8\\u4EF6\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u9009\\u62E9\\u590D\\u9009\\u6846\\u5C0F\\u7EC4\\u4EF6\\u6240\\u5728\\u7684\\u5143\\u7D20\\u65F6\\u8BE5\\u5C0F\\u7EC4\\u4EF6\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u590D\\u9009\\u6846\\u5C0F\\u90E8\\u4EF6\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u590D\\u9009\\u6846\\u5C0F\\u90E8\\u4EF6\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u9009\\u62E9\\u590D\\u9009\\u6846\\u5C0F\\u7EC4\\u4EF6\\u6240\\u5728\\u7684\\u5143\\u7D20\\u65F6\\u8BE5\\u5C0F\\u7EC4\\u4EF6\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u952E\\u7ED1\\u5B9A\\u6807\\u7B7E\\u80CC\\u666F\\u8272\\u3002\\u952E\\u7ED1\\u5B9A\\u6807\\u7B7E\\u7528\\u4E8E\\u8868\\u793A\\u952E\\u76D8\\u5FEB\\u6377\\u65B9\\u5F0F\\u3002\",\"\\u952E\\u7ED1\\u5B9A\\u6807\\u7B7E\\u524D\\u666F\\u8272\\u3002\\u952E\\u7ED1\\u5B9A\\u6807\\u7B7E\\u7528\\u4E8E\\u8868\\u793A\\u952E\\u76D8\\u5FEB\\u6377\\u65B9\\u5F0F\\u3002\",\"\\u952E\\u7ED1\\u5B9A\\u6807\\u7B7E\\u8FB9\\u6846\\u8272\\u3002\\u952E\\u7ED1\\u5B9A\\u6807\\u7B7E\\u7528\\u4E8E\\u8868\\u793A\\u952E\\u76D8\\u5FEB\\u6377\\u65B9\\u5F0F\\u3002\",\"\\u952E\\u7ED1\\u5B9A\\u6807\\u7B7E\\u8FB9\\u6846\\u5E95\\u90E8\\u8272\\u3002\\u952E\\u7ED1\\u5B9A\\u6807\\u7B7E\\u7528\\u4E8E\\u8868\\u793A\\u952E\\u76D8\\u5FEB\\u6377\\u65B9\\u5F0F\\u3002\",\"\\u7126\\u70B9\\u9879\\u5728\\u5217\\u8868\\u6216\\u6811\\u6D3B\\u52A8\\u65F6\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868\\u6216\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u7126\\u70B9\\u9879\\u5728\\u5217\\u8868\\u6216\\u6811\\u6D3B\\u52A8\\u65F6\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868\\u6216\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u5217\\u8868/\\u6811\\u6D3B\\u52A8\\u65F6\\uFF0C\\u7126\\u70B9\\u9879\\u76EE\\u7684\\u5217\\u8868/\\u6811\\u8FB9\\u6846\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868/\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u5F53\\u5217\\u8868/\\u6811\\u5904\\u4E8E\\u6D3B\\u52A8\\u72B6\\u6001\\u4E14\\u5DF2\\u9009\\u62E9\\u65F6\\uFF0C\\u91CD\\u70B9\\u9879\\u7684\\u5217\\u8868/\\u6811\\u8FB9\\u6846\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868/\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u4F46\\u975E\\u6D3B\\u52A8\\u7684\\u5219\\u6CA1\\u6709\\u3002\",\"\\u5DF2\\u9009\\u9879\\u5728\\u5217\\u8868\\u6216\\u6811\\u6D3B\\u52A8\\u65F6\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868\\u6216\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u5DF2\\u9009\\u9879\\u5728\\u5217\\u8868\\u6216\\u6811\\u6D3B\\u52A8\\u65F6\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868\\u6216\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u5DF2\\u9009\\u9879\\u5728\\u5217\\u8868/\\u6811\\u6D3B\\u52A8\\u65F6\\u7684\\u5217\\u8868/\\u6811\\u56FE\\u6807\\u524D\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868/\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u5219\\u6CA1\\u6709\\u3002\",\"\\u5DF2\\u9009\\u9879\\u5728\\u5217\\u8868\\u6216\\u6811\\u975E\\u6D3B\\u52A8\\u65F6\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868\\u6216\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u5DF2\\u9009\\u9879\\u5728\\u5217\\u8868\\u6216\\u6811\\u975E\\u6D3B\\u52A8\\u65F6\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868\\u6216\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u5DF2\\u9009\\u9879\\u5728\\u5217\\u8868/\\u6811\\u975E\\u6D3B\\u52A8\\u65F6\\u7684\\u56FE\\u6807\\u524D\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868/\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u5219\\u6CA1\\u6709\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u7684\\u5217\\u8868\\u6216\\u6811\\u63A7\\u4EF6\\u4E2D\\u7126\\u70B9\\u9879\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868\\u6216\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u5217\\u8868/\\u6570\\u975E\\u6D3B\\u52A8\\u65F6\\uFF0C\\u7126\\u70B9\\u9879\\u76EE\\u7684\\u5217\\u8868/\\u6811\\u8FB9\\u6846\\u8272\\u3002\\u6D3B\\u52A8\\u7684\\u5217\\u8868/\\u6811\\u5177\\u6709\\u952E\\u76D8\\u7126\\u70B9\\uFF0C\\u975E\\u6D3B\\u52A8\\u7684\\u6CA1\\u6709\\u3002\",\"\\u4F7F\\u7528\\u9F20\\u6807\\u79FB\\u52A8\\u9879\\u76EE\\u65F6\\uFF0C\\u5217\\u8868\\u6216\\u6811\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u9F20\\u6807\\u5728\\u9879\\u76EE\\u4E0A\\u60AC\\u505C\\u65F6\\uFF0C\\u5217\\u8868\\u6216\\u6811\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\",\"\\u4F7F\\u7528\\u9F20\\u6807\\u79FB\\u52A8\\u9879\\u76EE\\u65F6\\uFF0C\\u5217\\u8868\\u6216\\u6811\\u8FDB\\u884C\\u62D6\\u653E\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u4F7F\\u7528\\u9F20\\u6807\\u5728\\u9879\\u76EE\\u4E4B\\u95F4\\u79FB\\u52A8\\u9879\\u65F6\\uFF0C\\u5217\\u8868/\\u6811\\u62D6\\u653E\\u8FB9\\u6846\\u7684\\u989C\\u8272\\u3002\",\"\\u5728\\u5217\\u8868\\u6216\\u6811\\u4E2D\\u641C\\u7D22\\u65F6\\uFF0C\\u5176\\u4E2D\\u5339\\u914D\\u5185\\u5BB9\\u7684\\u9AD8\\u4EAE\\u989C\\u8272\\u3002\",\"\\u5728\\u5217\\u8868\\u6216\\u6811\\u4E2D\\u641C\\u7D22\\u65F6\\uFF0C\\u5339\\u914D\\u6D3B\\u52A8\\u805A\\u7126\\u9879\\u7684\\u7A81\\u51FA\\u663E\\u793A\\u5185\\u5BB9\\u7684\\u5217\\u8868/\\u6811\\u524D\\u666F\\u8272\\u3002\",\"\\u5217\\u8868\\u6216\\u6811\\u4E2D\\u65E0\\u6548\\u9879\\u7684\\u524D\\u666F\\u8272\\uFF0C\\u4F8B\\u5982\\u8D44\\u6E90\\u7BA1\\u7406\\u5668\\u4E2D\\u6CA1\\u6709\\u89E3\\u6790\\u7684\\u6839\\u76EE\\u5F55\\u3002\",\"\\u5305\\u542B\\u9519\\u8BEF\\u7684\\u5217\\u8868\\u9879\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\",\"\\u5305\\u542B\\u8B66\\u544A\\u7684\\u5217\\u8868\\u9879\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\",\"\\u5217\\u8868\\u548C\\u6811\\u4E2D\\u7C7B\\u578B\\u7B5B\\u9009\\u5668\\u5C0F\\u7EC4\\u4EF6\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u5217\\u8868\\u548C\\u6811\\u4E2D\\u7C7B\\u578B\\u7B5B\\u9009\\u5668\\u5C0F\\u7EC4\\u4EF6\\u7684\\u8F6E\\u5ED3\\u989C\\u8272\\u3002\",\"\\u5F53\\u6CA1\\u6709\\u5339\\u914D\\u9879\\u65F6\\uFF0C\\u5217\\u8868\\u548C\\u6811\\u4E2D\\u7C7B\\u578B\\u7B5B\\u9009\\u5668\\u5C0F\\u7EC4\\u4EF6\\u7684\\u8F6E\\u5ED3\\u989C\\u8272\\u3002\",\"\\u5217\\u8868\\u548C\\u6811\\u4E2D\\u7C7B\\u578B\\u7B5B\\u9009\\u5668\\u5C0F\\u7EC4\\u4EF6\\u7684\\u9634\\u5F71\\u989C\\u8272\\u3002\",\"\\u7B5B\\u9009\\u540E\\u7684\\u5339\\u914D\\u9879\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u7B5B\\u9009\\u540E\\u7684\\u5339\\u914D\\u9879\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u53D6\\u6D88\\u5F3A\\u8C03\\u7684\\u9879\\u7684\\u5217\\u8868/\\u6811\\u524D\\u666F\\u8272\\u3002\",\"\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u7684\\u6811\\u63CF\\u8FB9\\u989C\\u8272\\u3002\",\"\\u975E\\u6D3B\\u52A8\\u7F29\\u8FDB\\u53C2\\u8003\\u7EBF\\u7684\\u6811\\u63CF\\u8FB9\\u989C\\u8272\\u3002\",\"\\u5217\\u4E4B\\u95F4\\u7684\\u8868\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u5947\\u6570\\u8868\\u884C\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u64CD\\u4F5C\\u5217\\u8868\\u80CC\\u666F\\u8272\\u3002\",\"\\u64CD\\u4F5C\\u5217\\u8868\\u524D\\u666F\\u8272\\u3002\",\"\\u805A\\u7126\\u9879\\u76EE\\u7684\\u64CD\\u4F5C\\u5217\\u8868\\u524D\\u666F\\u8272\\u3002\",\"\\u805A\\u7126\\u9879\\u76EE\\u7684\\u64CD\\u4F5C\\u5217\\u8868\\u80CC\\u666F\\u8272\\u3002\",\"\\u83DC\\u5355\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u83DC\\u5355\\u9879\\u7684\\u524D\\u666F\\u989C\\u8272\\u3002\",\"\\u83DC\\u5355\\u9879\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u83DC\\u5355\\u4E2D\\u9009\\u5B9A\\u83DC\\u5355\\u9879\\u7684\\u524D\\u666F\\u8272\\u3002\",\"\\u83DC\\u5355\\u4E2D\\u6240\\u9009\\u83DC\\u5355\\u9879\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u83DC\\u5355\\u4E2D\\u6240\\u9009\\u83DC\\u5355\\u9879\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u83DC\\u5355\\u4E2D\\u5206\\u9694\\u7EBF\\u7684\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u67E5\\u627E\\u5339\\u914D\\u9879\\u7684\\u8FF7\\u4F60\\u5730\\u56FE\\u6807\\u8BB0\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u91CD\\u590D\\u7F16\\u8F91\\u5668\\u9009\\u62E9\\u7684\\u7F29\\u7565\\u56FE\\u6807\\u8BB0\\u989C\\u8272\\u3002\",\"\\u7F16\\u8F91\\u5668\\u9009\\u533A\\u5728\\u8FF7\\u4F60\\u5730\\u56FE\\u4E2D\\u5BF9\\u5E94\\u7684\\u6807\\u8BB0\\u989C\\u8272\\u3002\",\"\\u4FE1\\u606F\\u7684\\u8FF7\\u4F60\\u5730\\u56FE\\u6807\\u8BB0\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u8B66\\u544A\\u7684\\u8FF7\\u4F60\\u5730\\u56FE\\u6807\\u8BB0\\u989C\\u8272\\u3002\",\"\\u7528\\u4E8E\\u9519\\u8BEF\\u7684\\u8FF7\\u4F60\\u5730\\u56FE\\u6807\\u8BB0\\u989C\\u8272\\u3002\",\"\\u8FF7\\u4F60\\u5730\\u56FE\\u80CC\\u666F\\u989C\\u8272\\u3002\",'\\u5728\\u7F29\\u7565\\u56FE\\u4E2D\\u5448\\u73B0\\u7684\\u524D\\u666F\\u5143\\u7D20\\u7684\\u4E0D\\u900F\\u660E\\u5EA6\\u3002\\u4F8B\\u5982\\uFF0C\"#000000c0\" \\u5C06\\u5448\\u73B0\\u4E0D\\u900F\\u660E\\u5EA6\\u4E3A 75% \\u7684\\u5143\\u7D20\\u3002',\"\\u8FF7\\u4F60\\u5730\\u56FE\\u6ED1\\u5757\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u60AC\\u505C\\u65F6\\uFF0C\\u8FF7\\u4F60\\u5730\\u56FE\\u6ED1\\u5757\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u5355\\u51FB\\u65F6\\uFF0C\\u8FF7\\u4F60\\u5730\\u56FE\\u6ED1\\u5757\\u7684\\u80CC\\u666F\\u989C\\u8272\\u3002\",\"\\u6D3B\\u52A8\\u6846\\u683C\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"Badge \\u80CC\\u666F\\u8272\\u3002Badge \\u662F\\u5C0F\\u578B\\u7684\\u4FE1\\u606F\\u6807\\u7B7E\\uFF0C\\u5982\\u8868\\u793A\\u641C\\u7D22\\u7ED3\\u679C\\u6570\\u91CF\\u7684\\u6807\\u7B7E\\u3002\",\"Badge \\u524D\\u666F\\u8272\\u3002Badge \\u662F\\u5C0F\\u578B\\u7684\\u4FE1\\u606F\\u6807\\u7B7E\\uFF0C\\u5982\\u8868\\u793A\\u641C\\u7D22\\u7ED3\\u679C\\u6570\\u91CF\\u7684\\u6807\\u7B7E\\u3002\",\"\\u8868\\u793A\\u89C6\\u56FE\\u88AB\\u6EDA\\u52A8\\u7684\\u6EDA\\u52A8\\u6761\\u9634\\u5F71\\u3002\",\"\\u6EDA\\u52A8\\u6761\\u6ED1\\u5757\\u80CC\\u666F\\u8272\",\"\\u6EDA\\u52A8\\u6761\\u6ED1\\u5757\\u5728\\u60AC\\u505C\\u65F6\\u7684\\u80CC\\u666F\\u8272\",\"\\u6EDA\\u52A8\\u6761\\u6ED1\\u5757\\u5728\\u88AB\\u70B9\\u51FB\\u65F6\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u8868\\u793A\\u957F\\u65F6\\u95F4\\u64CD\\u4F5C\\u7684\\u8FDB\\u5EA6\\u6761\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u80CC\\u666F\\u989C\\u8272\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u3002\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u5C0F\\u90E8\\u4EF6\\u662F\\u9009\\u53D6\\u5668(\\u5982\\u547D\\u4EE4\\u8C03\\u8272\\u677F)\\u7684\\u5BB9\\u5668\\u3002\",\"\\u524D\\u666F\\u989C\\u8272\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u3002\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u5C0F\\u90E8\\u4EF6\\u662F\\u547D\\u4EE4\\u8C03\\u8272\\u677F\\u7B49\\u9009\\u53D6\\u5668\\u7684\\u5BB9\\u5668\\u3002\",\"\\u6807\\u9898\\u80CC\\u666F\\u989C\\u8272\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u3002\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u5C0F\\u90E8\\u4EF6\\u662F\\u547D\\u4EE4\\u8C03\\u8272\\u677F\\u7B49\\u9009\\u53D6\\u5668\\u7684\\u5BB9\\u5668\\u3002\",\"\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u5206\\u7EC4\\u6807\\u7B7E\\u7684\\u989C\\u8272\\u3002\",\"\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u5206\\u7EC4\\u8FB9\\u6846\\u7684\\u989C\\u8272\\u3002\",\"\\u8BF7\\u6539\\u7528 quickInputList.focusBackground\",\"\\u7126\\u70B9\\u9879\\u76EE\\u7684\\u5FEB\\u901F\\u9009\\u62E9\\u5668\\u524D\\u666F\\u8272\\u3002\",\"\\u7126\\u70B9\\u9879\\u76EE\\u7684\\u5FEB\\u901F\\u9009\\u53D6\\u5668\\u56FE\\u6807\\u524D\\u666F\\u8272\\u3002\",\"\\u7126\\u70B9\\u9879\\u76EE\\u7684\\u5FEB\\u901F\\u9009\\u62E9\\u5668\\u80CC\\u666F\\u8272\\u3002\",\"\\u641C\\u7D22 Viewlet \\u5B8C\\u6210\\u6D88\\u606F\\u4E2D\\u6587\\u672C\\u7684\\u989C\\u8272\\u3002\",\"\\u641C\\u7D22\\u7F16\\u8F91\\u5668\\u67E5\\u8BE2\\u5339\\u914D\\u7684\\u989C\\u8272\\u3002\",\"\\u641C\\u7D22\\u7F16\\u8F91\\u5668\\u67E5\\u8BE2\\u5339\\u914D\\u7684\\u8FB9\\u6846\\u989C\\u8272\\u3002\",\"\\u6B64\\u989C\\u8272\\u5FC5\\u987B\\u662F\\u900F\\u660E\\u7684\\uFF0C\\u5426\\u5219\\u4F1A\\u906E\\u76D6\\u5185\\u5BB9\",\"\\u4F7F\\u7528\\u9ED8\\u8BA4\\u989C\\u8272\\u3002\",\"\\u8981\\u4F7F\\u7528\\u7684\\u5B57\\u4F53\\u7684 ID\\u3002\\u5982\\u679C\\u672A\\u8BBE\\u7F6E\\uFF0C\\u5219\\u4F7F\\u7528\\u6700\\u5148\\u5B9A\\u4E49\\u7684\\u5B57\\u4F53\\u3002\",\"\\u4E0E\\u56FE\\u6807\\u5B9A\\u4E49\\u5173\\u8054\\u7684\\u5B57\\u4F53\\u5B57\\u7B26\\u3002\",\"\\u5C0F\\u7EC4\\u4EF6\\u4E2D\\u201C\\u5173\\u95ED\\u201D\\u64CD\\u4F5C\\u7684\\u56FE\\u6807\\u3002\",\"\\u201C\\u8F6C\\u5230\\u4E0A\\u4E00\\u4E2A\\u7F16\\u8F91\\u5668\\u4F4D\\u7F6E\\u201D\\u56FE\\u6807\\u3002\",\"\\u201C\\u8F6C\\u5230\\u4E0B\\u4E00\\u4E2A\\u7F16\\u8F91\\u5668\\u4F4D\\u7F6E\\u201D\\u56FE\\u6807\\u3002\",\"\\u4EE5\\u4E0B\\u6587\\u4EF6\\u5DF2\\u5173\\u95ED\\u5E76\\u4E14\\u5DF2\\u5728\\u78C1\\u76D8\\u4E0A\\u4FEE\\u6539: {0}\\u3002\",\"\\u4EE5\\u4E0B\\u6587\\u4EF6\\u5DF2\\u4EE5\\u4E0D\\u517C\\u5BB9\\u7684\\u65B9\\u5F0F\\u4FEE\\u6539: {0}\\u3002\",\"\\u65E0\\u6CD5\\u5728\\u6240\\u6709\\u6587\\u4EF6\\u4E2D\\u64A4\\u6D88\\u201C{0}\\u201D\\u3002{1}\",\"\\u65E0\\u6CD5\\u5728\\u6240\\u6709\\u6587\\u4EF6\\u4E2D\\u64A4\\u6D88\\u201C{0}\\u201D\\u3002{1}\",\"\\u65E0\\u6CD5\\u64A4\\u6D88\\u6240\\u6709\\u6587\\u4EF6\\u7684\\u201C{0}\\u201D\\uFF0C\\u56E0\\u4E3A\\u5DF2\\u66F4\\u6539 {1}\",\"\\u65E0\\u6CD5\\u8DE8\\u6240\\u6709\\u6587\\u4EF6\\u64A4\\u9500\\u201C{0}\\u201D\\uFF0C\\u56E0\\u4E3A {1} \\u4E0A\\u5DF2\\u6709\\u4E00\\u9879\\u64A4\\u6D88\\u6216\\u91CD\\u505A\\u64CD\\u4F5C\\u6B63\\u5728\\u8FD0\\u884C\",\"\\u65E0\\u6CD5\\u8DE8\\u6240\\u6709\\u6587\\u4EF6\\u64A4\\u9500\\u201C{0}\\u201D\\uFF0C\\u56E0\\u4E3A\\u540C\\u65F6\\u53D1\\u751F\\u4E86\\u4E00\\u9879\\u64A4\\u6D88\\u6216\\u91CD\\u505A\\u64CD\\u4F5C\",\"\\u662F\\u5426\\u8981\\u5728\\u6240\\u6709\\u6587\\u4EF6\\u4E2D\\u64A4\\u6D88\\u201C{0}\\u201D?\",\"\\u5728 {0} \\u4E2A\\u6587\\u4EF6\\u4E2D\\u64A4\\u6D88(&&U)\",\"\\u64A4\\u6D88\\u6B64\\u6587\\u4EF6(&&F)\",\"\\u65E0\\u6CD5\\u64A4\\u9500\\u201C{0}\\u201D\\uFF0C\\u56E0\\u4E3A\\u5DF2\\u6709\\u4E00\\u9879\\u64A4\\u6D88\\u6216\\u91CD\\u505A\\u64CD\\u4F5C\\u6B63\\u5728\\u8FD0\\u884C\\u3002\",\"\\u662F\\u5426\\u8981\\u64A4\\u6D88\\u201C{0}\\u201D?\",\"\\u662F(&&Y)\",\"\\u5426\",\"\\u65E0\\u6CD5\\u5728\\u6240\\u6709\\u6587\\u4EF6\\u4E2D\\u91CD\\u505A\\u201C{0}\\u201D\\u3002{1}\",\"\\u65E0\\u6CD5\\u5728\\u6240\\u6709\\u6587\\u4EF6\\u4E2D\\u91CD\\u505A\\u201C{0}\\u201D\\u3002{1}\",\"\\u65E0\\u6CD5\\u5BF9\\u6240\\u6709\\u6587\\u4EF6\\u91CD\\u505A\\u201C{0}\\u201D\\uFF0C\\u56E0\\u4E3A\\u5DF2\\u66F4\\u6539 {1}\",\"\\u65E0\\u6CD5\\u8DE8\\u6240\\u6709\\u6587\\u4EF6\\u91CD\\u505A\\u201C{0}\\u201D\\uFF0C\\u56E0\\u4E3A {1} \\u4E0A\\u5DF2\\u6709\\u4E00\\u9879\\u64A4\\u6D88\\u6216\\u91CD\\u505A\\u64CD\\u4F5C\\u6B63\\u5728\\u8FD0\\u884C\",\"\\u65E0\\u6CD5\\u8DE8\\u6240\\u6709\\u6587\\u4EF6\\u91CD\\u505A\\u201C{0}\\u201D\\uFF0C\\u56E0\\u4E3A\\u540C\\u65F6\\u53D1\\u751F\\u4E86\\u4E00\\u9879\\u64A4\\u6D88\\u6216\\u91CD\\u505A\\u64CD\\u4F5C\",\"\\u65E0\\u6CD5\\u91CD\\u505A\\u201C{0}\\u201D\\uFF0C\\u56E0\\u4E3A\\u5DF2\\u6709\\u4E00\\u9879\\u64A4\\u6D88\\u6216\\u91CD\\u505A\\u64CD\\u4F5C\\u6B63\\u5728\\u8FD0\\u884C\\u3002\",\"Code \\u5DE5\\u4F5C\\u533A\"],globalThis._VSCODE_NLS_LANGUAGE=\"zh-cn\";\n\n//# sourceMappingURL=../min-maps/nls.messages.zh-cn.js.map\n});\n"
  },
  {
    "path": "core/frontend/public/static/plugin/monaco/nls.messages.zh-tw.js",
    "content": "\ndefine([], function () {\n/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/globalThis._VSCODE_NLS_MESSAGES=[\"{0} ({1})\",\"\\u8F38\\u5165\",\"\\u5927\\u5C0F\\u5BEB\\u9808\\u76F8\\u7B26\",\"\\u5168\\u5B57\\u62FC\\u5BEB\\u9808\\u76F8\\u7B26\",\"\\u4F7F\\u7528\\u898F\\u5247\\u904B\\u7B97\\u5F0F\",\"\\u8F38\\u5165\",\"\\u4FDD\\u7559\\u5927\\u5C0F\\u5BEB\",\"\\u4F7F\\u7528 {0} \\u5728\\u53EF\\u5B58\\u53D6\\u6AA2\\u8996\\u4E2D\\u6AA2\\u67E5\\u6B64\\u9805\\u76EE\\u3002\",\"\\u900F\\u904E\\u76EE\\u524D\\u7121\\u6CD5\\u900F\\u904E\\u6309\\u9375\\u7E6B\\u7D50\\u95DC\\u4FC2\\u89F8\\u767C\\u7684\\u958B\\u555F\\u53EF\\u5B58\\u53D6\\u6AA2\\u8996\\u547D\\u4EE4\\uFF0C\\u5728\\u53EF\\u5B58\\u53D6\\u6AA2\\u8996\\u4E2D\\u6AA2\\u67E5\\u6B64\\u9805\\u76EE\\u3002\",\"\\u932F\\u8AA4: {0}\",\"\\u8B66\\u544A: {0}\",\"\\u8CC7\\u8A0A: {0}\",\" \\u6216 {0} \\u4EE5\\u53D6\\u5F97\\u6B77\\u7A0B\\u8A18\\u9304\",\" ({0} \\u4EE5\\u53D6\\u5F97\\u6B77\\u7A0B\\u8A18\\u9304)\",\"\\u5DF2\\u6E05\\u9664\\u8F38\\u5165\",\"\\u672A\\u7E6B\\u7D50\",\"\\u9078\\u53D6\\u65B9\\u584A\",\"\\u66F4\\u591A\\u64CD\\u4F5C\",\"\\u7BE9\\u9078\",\"\\u6A21\\u7CCA\\u6BD4\\u5C0D\",\"\\u8981\\u7BE9\\u9078\\u7684\\u985E\\u578B\",\"\\u8981\\u641C\\u5C0B\\u7684\\u985E\\u578B\",\"\\u8981\\u641C\\u5C0B\\u7684\\u985E\\u578B\",\"\\u95DC\\u9589\",\"\\u6C92\\u6709\\u7D50\\u679C\",\"\\u627E\\u4E0D\\u5230\\u7D50\\u679C\\u3002\",null,\"(\\u7A7A\\u7684)\",\"{0}: {1}\",\"\\u767C\\u751F\\u7CFB\\u7D71\\u932F\\u8AA4 ({0})\",\"\\u767C\\u751F\\u672A\\u77E5\\u7684\\u932F\\u8AA4\\u3002\\u5982\\u9700\\u8A73\\u7D30\\u8CC7\\u8A0A\\uFF0C\\u8ACB\\u53C3\\u95B1\\u8A18\\u9304\\u6A94\\u3002\",\"\\u767C\\u751F\\u672A\\u77E5\\u7684\\u932F\\u8AA4\\u3002\\u5982\\u9700\\u8A73\\u7D30\\u8CC7\\u8A0A\\uFF0C\\u8ACB\\u53C3\\u95B1\\u8A18\\u9304\\u6A94\\u3002\",\"{0} (\\u7E3D\\u8A08 {1} \\u500B\\u932F\\u8AA4)\",\"\\u767C\\u751F\\u672A\\u77E5\\u7684\\u932F\\u8AA4\\u3002\\u5982\\u9700\\u8A73\\u7D30\\u8CC7\\u8A0A\\uFF0C\\u8ACB\\u53C3\\u95B1\\u8A18\\u9304\\u6A94\\u3002\",\"Ctrl\",\"Shift\",\"Alt\",\"Windows\",\"Ctrl\",\"Shift\",\"Alt\",\"\\u8D85\\u7D1A\\u9375\",\"Control\",\"Shift\",\"\\u9078\\u9805\",\"\\u547D\\u4EE4\",\"Control\",\"Shift\",\"Alt\",\"Windows\",\"Control\",\"Shift\",\"Alt\",\"\\u8D85\\u7D1A\\u9375\",null,null,null,null,null,\"\\u5373\\u4F7F\\u884C\\u7684\\u9577\\u5EA6\\u904E\\u9577\\uFF0C\\u4ECD\\u8981\\u5805\\u6301\\u81F3\\u7D50\\u5C3E\",\"\\u5373\\u4F7F\\u884C\\u7684\\u9577\\u5EA6\\u904E\\u9577\\uFF0C\\u4ECD\\u8981\\u5805\\u6301\\u81F3\\u7D50\\u5C3E\",\"\\u5DF2\\u79FB\\u9664\\u6B21\\u8981\\u8CC7\\u6599\\u6307\\u6A19\",\"\\u5FA9\\u539F(&&U)\",\"\\u5FA9\\u539F\",\"\\u53D6\\u6D88\\u5FA9\\u539F(&&R)\",\"\\u91CD\\u505A\",\"\\u5168\\u9078(&&S)\",\"\\u5168\\u9078\",\"\\u6309\\u4F4F {0} \\u9375\\u5C07\\u6ED1\\u9F20\\u61F8\\u505C\\u5728\\u4E0A\\u9762\",\"\\u6B63\\u5728\\u8F09\\u5165...\",\"\\u6E38\\u6A19\\u6578\\u76EE\\u5DF2\\u9650\\u5236\\u70BA {0}\\u3002\\u8ACB\\u8003\\u616E\\u4F7F\\u7528 [\\u5C0B\\u627E\\u548C\\u53D6\\u4EE3](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) \\u9032\\u884C\\u8F03\\u5927\\u578B\\u7684\\u8B8A\\u66F4\\uFF0C\\u6216\\u589E\\u52A0\\u7DE8\\u8F2F\\u5668\\u7684\\u591A\\u91CD\\u6E38\\u6A19\\u9650\\u5236\\u8A2D\\u5B9A\\u3002\",\"\\u589E\\u52A0\\u591A\\u91CD\\u6E38\\u6A19\\u9650\\u5236\",\"\\u5207\\u63DB\\u647A\\u758A\\u672A\\u8B8A\\u66F4\\u7684\\u5340\\u57DF\",\"\\u5207\\u63DB\\u986F\\u793A\\u79FB\\u52D5\\u7684\\u7A0B\\u5F0F\\u78BC\\u5340\\u584A\",\"\\u7576\\u7A7A\\u9593\\u6709\\u9650\\u6642\\u5207\\u63DB\\u4F7F\\u7528\\u5167\\u5D4C\\u6AA2\\u8996\",\"Diff \\u7DE8\\u8F2F\\u5668\",\"\\u5207\\u63DB\\u5074\\u908A\",\"\\u7D50\\u675F\\u6BD4\\u8F03\\u79FB\\u52D5\",\"\\u647A\\u758A\\u6240\\u6709\\u672A\\u8B8A\\u66F4\\u7684\\u5340\\u57DF\",\"\\u986F\\u793A\\u6240\\u6709\\u672A\\u8B8A\\u66F4\\u7684\\u5340\\u57DF\",\"\\u9084\\u539F\",\"\\u53EF\\u5B58\\u53D6\\u7684 Diff \\u6AA2\\u8996\\u5668\",\"\\u79FB\\u81F3\\u4E0B\\u4E00\\u500B\\u5DEE\\u7570\",\"\\u79FB\\u81F3\\u4E0A\\u4E00\\u500B\\u5DEE\\u7570\",\"\\u6613\\u5B58\\u53D6\\u5DEE\\u7570\\u6AA2\\u8996\\u5668\\u4E2D\\u7684 [\\u63D2\\u5165] \\u5716\\u793A\\u3002\",\"\\u6613\\u5B58\\u53D6\\u5DEE\\u7570\\u6AA2\\u8996\\u5668\\u4E2D\\u7684 [\\u79FB\\u9664] \\u5716\\u793A\\u3002\",\"\\u6613\\u5B58\\u53D6\\u5DEE\\u7570\\u6AA2\\u8996\\u5668\\u4E2D\\u7684 [\\u95DC\\u9589] \\u5716\\u793A\\u3002\",\"\\u95DC\\u9589\",\"\\u53EF\\u5B58\\u53D6\\u7684 Diff \\u6AA2\\u8996\\u5668\\u3002\\u4F7F\\u7528\\u5411\\u4E0A\\u548C\\u5411\\u4E0B\\u7BAD\\u982D\\u4F86\\u700F\\u89BD\\u3002\",\"\\u672A\\u8B8A\\u66F4\\u4EFB\\u4E00\\u884C\",\"\\u5DF2\\u8B8A\\u66F4 1 \\u884C\",\"\\u5DF2\\u8B8A\\u66F4 {0} \\u884C\",\"{1} \\u9805\\u5DEE\\u7570\\u4E2D\\u7684\\u7B2C {0} \\u9805: \\u539F\\u59CB\\u884C {2}\\u3001{3}\\uFF0C\\u4FEE\\u6539\\u884C {4}\\u3001{5}\",\"\\u7A7A\\u767D\",\"{0} \\u672A\\u8B8A\\u66F4\\u884C {1}\",\"{0} \\u539F\\u59CB\\u884C {1} \\u4FEE\\u6539\\u7684\\u884C {2}\",\"+ {0} \\u4FEE\\u6539\\u884C {1}\",\"- {0} \\u539F\\u59CB\\u884C {1}\",\" \\u4F7F\\u7528 {0} \\u4EE5\\u958B\\u555F\\u5354\\u52A9\\u5DE5\\u5177\\u8AAA\\u660E\\u3002\",\"\\u8907\\u88FD\\u5DF2\\u522A\\u9664\\u7684\\u884C\",\"\\u8907\\u88FD\\u5DF2\\u522A\\u9664\\u7684\\u884C\",\"\\u8907\\u88FD\\u8B8A\\u66F4\\u7684\\u884C\",\"\\u8907\\u88FD\\u8B8A\\u66F4\\u7684\\u884C\",\"\\u8907\\u88FD\\u5DF2\\u522A\\u9664\\u7684\\u884C \\uFF08{0}\\uFF09\",\"\\u8907\\u88FD\\u8B8A\\u66F4\\u7684\\u884C ({0})\",\"\\u9084\\u539F\\u6B64\\u8B8A\\u66F4\",\"\\u7A7A\\u9593\\u6709\\u9650\\u6642\\u4F7F\\u7528\\u5167\\u5D4C\\u6AA2\\u8996\",\"\\u986F\\u793A\\u79FB\\u52D5\\u7684\\u7A0B\\u5F0F\\u78BC\\u5340\\u584A\",\"\\u9084\\u539F\\u5340\\u584A\",\"\\u9084\\u539F\\u9078\\u53D6\\u7BC4\\u570D\",\"\\u958B\\u555F\\u6613\\u5B58\\u53D6\\u5DEE\\u7570\\u6AA2\\u8996\\u5668\",\"\\u647A\\u758A\\u672A\\u8B8A\\u66F4\\u7684\\u5340\\u57DF\",\"{0} \\u689D\\u96B1\\u85CF\\u884C\",\"\\u6309\\u4E00\\u4E0B\\u6216\\u62D6\\u66F3\\u4EE5\\u5728\\u4E0A\\u65B9\\u986F\\u793A\\u66F4\\u591A\\u5167\\u5BB9\",\"\\u986F\\u793A\\u672A\\u8B8A\\u66F4\\u7684\\u5340\\u57DF\",\"\\u6309\\u4E00\\u4E0B\\u6216\\u62D6\\u66F3\\u4EE5\\u5728\\u4E0B\\u65B9\\u986F\\u793A\\u66F4\\u591A\\u5167\\u5BB9\",\"{0} \\u689D\\u96B1\\u85CF\\u884C\",\"\\u6309\\u5169\\u4E0B\\u4EE5\\u5C55\\u958B\",\"\\u884C {0}-{1} \\u7684\\u7A0B\\u5F0F\\u78BC\\u5DF2\\u79FB\\u52D5\\uFF0C\\u4E14\\u6709\\u6240\\u8B8A\\u66F4\",\"\\u884C {0}-{1} \\u7684\\u7A0B\\u5F0F\\u78BC\\u5DF2\\u79FB\\u52D5\\uFF0C\\u4E14\\u6709\\u6240\\u8B8A\\u66F4\",\"\\u7A0B\\u5F0F\\u78BC\\u5DF2\\u79FB\\u81F3\\u884C {0}-{1}\",\"\\u884C {0}-{1} \\u7684\\u7A0B\\u5F0F\\u78BC\\u5DF2\\u79FB\\u52D5\",\"\\u9084\\u539F\\u9078\\u53D6\\u7684\\u8B8A\\u66F4\",\"\\u9084\\u539F\\u8B8A\\u66F4\",\"\\u5728 Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u79FB\\u52D5\\u7684\\u6587\\u5B57\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u5728 Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u79FB\\u52D5\\u7684\\u6587\\u5B57\\u7684\\u4F5C\\u7528\\u4E2D\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u672A\\u8B8A\\u66F4\\u7684\\u5340\\u57DF\\u5C0F\\u5DE5\\u5177\\u5468\\u570D\\u7684\\u9670\\u5F71\\u8272\\u5F69\\u3002\",\"Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u7528\\u65BC\\u63D2\\u5165\\u7684\\u7DDA\\u689D\\u88DD\\u98FE\\u3002\",\"Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u7528\\u65BC\\u79FB\\u9664\\u7684\\u7DDA\\u689D\\u88DD\\u98FE\\u3002\",\"Diff \\u7DE8\\u8F2F\\u5668\\u6A19\\u982D\\u7684\\u80CC\\u666F\\u8272\\u5F69\",\"\\u591A\\u91CD\\u6A94\\u6848 Diff \\u7DE8\\u8F2F\\u5668\\u7684\\u80CC\\u666F\\u8272\\u5F69\",\"\\u591A\\u91CD\\u6A94\\u6848 Diff \\u7DE8\\u8F2F\\u5668\\u7684\\u6846\\u7DDA\\u8272\\u5F69\",\"\\u6C92\\u6709\\u8B8A\\u66F4\\u7684\\u6A94\\u6848\",\"\\u7DE8\\u8F2F\\u5668\",\"\\u8207 Tab \\u76F8\\u7B49\\u7684\\u7A7A\\u683C\\u6578\\u91CF\\u3002\\u7576 {0} \\u5DF2\\u958B\\u555F\\u6642\\uFF0C\\u6703\\u6839\\u64DA\\u6A94\\u6848\\u5167\\u5BB9\\u8986\\u5BEB\\u6B64\\u8A2D\\u5B9A\\u3002\",\"\\u7528\\u65BC\\u7E2E\\u6392\\u6216 'tabSize' \\u4F7F\\u7528 `\\\"editor.tabSize\\\"` \\u503C\\u7684\\u7A7A\\u683C\\u6578\\u76EE\\u3002\\u7576 '#editor.detectIndentation#' \\u958B\\u555F\\u6642\\uFF0C\\u6703\\u6839\\u64DA\\u6A94\\u6848\\u5167\\u5BB9\\u8986\\u5BEB\\u9019\\u500B\\u8A2D\\u5B9A\\u3002\",\"\\u5728\\u6309 `Tab` \\u6642\\u63D2\\u5165\\u7A7A\\u683C\\u3002\\u7576 {0} \\u958B\\u555F\\u6642\\uFF0C\\u6703\\u6839\\u64DA\\u6A94\\u6848\\u5167\\u5BB9\\u8986\\u5BEB\\u6B64\\u8A2D\\u5B9A\\u3002\",\"\\u6839\\u64DA\\u6A94\\u6848\\u5167\\u5BB9\\uFF0C\\u63A7\\u5236\\u7576\\u6A94\\u6848\\u958B\\u555F\\u6642\\uFF0C\\u662F\\u5426\\u81EA\\u52D5\\u5075\\u6E2C {0} \\u548C {1}\\u3002\",\"\\u79FB\\u9664\\u5C3E\\u7AEF\\u81EA\\u52D5\\u63D2\\u5165\\u7684\\u7A7A\\u767D\\u5B57\\u5143\\u3002\",\"\\u91DD\\u5C0D\\u5927\\u578B\\u6A94\\u6848\\u505C\\u7528\\u90E8\\u5206\\u9AD8\\u8A18\\u61B6\\u9AD4\\u9700\\u6C42\\u529F\\u80FD\\u7684\\u7279\\u6B8A\\u8655\\u7406\\u65B9\\u5F0F\\u3002\",\"\\u95DC\\u9589 Word \\u578B\\u5EFA\\u8B70\\u3002\",\"\\u50C5\\u5EFA\\u8B70\\u4F86\\u81EA\\u4F7F\\u7528\\u4E2D\\u6587\\u4EF6\\u4E2D\\u7684\\u5B57\\u7D44\\u3002\",\"\\u5EFA\\u8B70\\u4F86\\u81EA\\u6240\\u6709\\u5DF2\\u958B\\u555F\\u6587\\u4EF6\\u4E2D\\uFF0C\\u8A9E\\u8A00\\u76F8\\u540C\\u7684\\u5B57\\u7D44\\u3002\",\"\\u5EFA\\u8B70\\u4F86\\u81EA\\u6240\\u6709\\u5DF2\\u958B\\u555F\\u6587\\u4EF6\\u4E2D\\u7684\\u5B57\\u7D44\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u8A72\\u6839\\u64DA\\u6587\\u4EF6\\u4E2D\\u7684\\u6587\\u5B57\\u4F86\\u8A08\\u7B97\\u5B8C\\u6210\\uFF0C\\u4EE5\\u53CA\\u5F9E\\u54EA\\u4E9B\\u6587\\u4EF6\\u8A08\\u7B97\\u3002\",\"\\u6240\\u6709\\u5F69\\u8272\\u4E3B\\u984C\\u7686\\u5DF2\\u555F\\u7528\\u8A9E\\u610F\\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u6240\\u6709\\u5F69\\u8272\\u4E3B\\u984C\\u7686\\u5DF2\\u505C\\u7528\\u8A9E\\u610F\\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u8A9E\\u610F\\u9192\\u76EE\\u63D0\\u793A\\u7531\\u76EE\\u524D\\u4E4B\\u5F69\\u8272\\u4F48\\u666F\\u4E3B\\u984C\\u7684 'semanticHighlighting' \\u8A2D\\u5B9A\\u6240\\u8A2D\\u5B9A\\u3002\",\"\\u63A7\\u5236 semanticHighlighting \\u662F\\u5426\\u6703\\u70BA\\u652F\\u63F4\\u7684\\u8A9E\\u8A00\\u986F\\u793A\\u3002\",\"\\u5373\\u4F7F\\u6309\\u5169\\u4E0B\\u5167\\u5BB9\\u6216\\u6309 `Escape`\\uFF0C\\u4ECD\\u4FDD\\u6301\\u7784\\u5B54\\u7DE8\\u8F2F\\u5668\\u958B\\u555F\\u3002\",\"\\u56E0\\u6548\\u80FD\\u7684\\u7DE3\\u6545\\uFF0C\\u4E0D\\u6703\\u5C07\\u8D85\\u904E\\u6B64\\u9AD8\\u5EA6\\u7684\\u884C Token \\u5316\",\"\\u63A7\\u5236\\u6B0A\\u6756\\u5316\\u662F\\u5426\\u61C9\\u8A72\\u5728 Web \\u5DE5\\u4F5C\\u8005\\u4E0A\\u975E\\u540C\\u6B65\\u9032\\u884C\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u8A72\\u8A18\\u9304\\u975E\\u540C\\u6B65\\u6B0A\\u6756\\u5316\\u3002\\u50C5\\u9069\\u7528\\u5075\\u932F\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u4F7F\\u7528\\u820A\\u7248\\u80CC\\u666F Token \\u5316\\u4F86\\u9A57\\u8B49\\u975E\\u540C\\u6B65 Token \\u5316\\u3002\\u53EF\\u80FD\\u6703\\u6E1B\\u6162 Token \\u5316\\u7684\\u901F\\u5EA6\\u3002\\u50C5\\u7528\\u65BC\\u5075\\u932F\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u8A72\\u958B\\u555F\\u6A39\\u72C0\\u5EA7\\u6A19\\u5256\\u6790\\u4E26\\u6536\\u96C6\\u9059\\u6E2C\\u3002\\u8A2D\\u5B9A\\u7279\\u5B9A\\u8A9E\\u8A00\\u7684 'editor.experimental.preferTreeSitter' \\u6703\\u512A\\u5148\\u3002\",\"\\u5B9A\\u7FA9\\u589E\\u52A0\\u6216\\u6E1B\\u5C11\\u7E2E\\u6392\\u7684\\u62EC\\u5F27\\u7B26\\u865F\\u3002\",\"\\u5DE6\\u62EC\\u5F27\\u5B57\\u5143\\u6216\\u5B57\\u4E32\\u9806\\u5E8F\\u3002\",\"\\u53F3\\u62EC\\u5F27\\u5B57\\u5143\\u6216\\u5B57\\u4E32\\u9806\\u5E8F\\u3002\",\"\\u5B9A\\u7FA9\\u7576\\u62EC\\u5F27\\u914D\\u5C0D\\u8457\\u8272\\u5DF2\\u555F\\u7528\\u6642\\uFF0C\\u7531\\u5176\\u5DE2\\u72C0\\u5C64\\u7D1A\\u8457\\u8272\\u7684\\u62EC\\u5F27\\u914D\\u5C0D\\u3002\",\"\\u5DE6\\u62EC\\u5F27\\u5B57\\u5143\\u6216\\u5B57\\u4E32\\u9806\\u5E8F\\u3002\",\"\\u53F3\\u62EC\\u5F27\\u5B57\\u5143\\u6216\\u5B57\\u4E32\\u9806\\u5E8F\\u3002\",\"\\u53D6\\u6D88 Diff \\u8A08\\u7B97\\u524D\\u7684\\u903E\\u6642\\u9650\\u5236 (\\u6BEB\\u79D2)\\u3002\\u82E5\\u7121\\u903E\\u6642\\uFF0C\\u8ACB\\u4F7F\\u7528 0\\u3002\",\"\\u8981\\u8A08\\u7B97\\u5DEE\\u7570\\u7684\\u6A94\\u6848\\u5927\\u5C0F\\u4E0A\\u9650 (MB)\\u3002\\u4F7F\\u7528 0 \\u8868\\u793A\\u7121\\u9650\\u5236\\u3002\",\"\\u63A7\\u5236 Diff \\u7DE8\\u8F2F\\u5668\\u8981\\u4E26\\u6392\\u6216\\u5167\\u5D4C\\u986F\\u793A Diff\\u3002\",\"\\u5982\\u679C\\u5DEE\\u7570\\u7DE8\\u8F2F\\u5668\\u5BEC\\u5EA6\\u5C0F\\u65BC\\u6B64\\u503C\\uFF0C\\u5247\\u4F7F\\u7528\\u5167\\u5D4C\\u6AA2\\u8996\\u3002\",\"\\u5982\\u679C\\u555F\\u7528\\u4E14\\u7DE8\\u8F2F\\u5668\\u5BEC\\u5EA6\\u592A\\u5C0F\\uFF0C\\u5247\\u6703\\u4F7F\\u7528\\u5167\\u5D4C\\u6AA2\\u8996\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CDiff \\u7DE8\\u8F2F\\u5668\\u6703\\u5728\\u5176\\u5B57\\u5143\\u908A\\u7DE3\\u986F\\u793A\\u7BAD\\u982D\\uFF0C\\u4EE5\\u9084\\u539F\\u8B8A\\u66F4\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CDiff \\u7DE8\\u8F2F\\u5668\\u6703\\u986F\\u793A\\u9084\\u539F\\u548C\\u66AB\\u5B58\\u52D5\\u4F5C\\u7684\\u7279\\u6B8A\\u88DD\\u8A02\\u908A\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CDiff \\u7DE8\\u8F2F\\u5668\\u6703\\u5FFD\\u7565\\u524D\\u7F6E\\u6216\\u5F8C\\u7F6E\\u7A7A\\u683C\\u7684\\u8B8A\\u66F4\\u3002\",\"\\u63A7\\u5236 Diff \\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u8981\\u70BA\\u65B0\\u589E/\\u79FB\\u9664\\u7684\\u8B8A\\u66F4\\u986F\\u793A +/- \\u6A19\\u8A18\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u986F\\u793A codelens\\u3002\",\"\\u4E00\\u5F8B\\u4E0D\\u63DB\\u884C\\u3002\",\"\\u4F9D\\u6AA2\\u8996\\u5340\\u5BEC\\u5EA6\\u63DB\\u884C\\u3002\",\"\\u5C07\\u4F9D\\u64DA {0} \\u8A2D\\u5B9A\\u81EA\\u52D5\\u63DB\\u884C\\u3002\",\"\\u4F7F\\u7528\\u820A\\u7248\\u5DEE\\u7570\\u6F14\\u7B97\\u6CD5\\u3002\",\"\\u4F7F\\u7528\\u9032\\u968E\\u7248\\u5DEE\\u7570\\u6F14\\u7B97\\u6CD5\\u3002\",\"\\u63A7\\u5236\\u5DEE\\u7570\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u986F\\u793A\\u672A\\u8B8A\\u66F4\\u7684\\u5340\\u57DF\\u3002\",\"\\u63A7\\u5236\\u672A\\u8B8A\\u66F4\\u5340\\u57DF\\u7684\\u4F7F\\u7528\\u884C\\u6578\\u3002\",\"\\u63A7\\u5236\\u672A\\u8B8A\\u66F4\\u5340\\u57DF\\u7684\\u6700\\u5C0F\\u4F7F\\u7528\\u884C\\u6578\\u3002\",\"\\u63A7\\u5236\\u6BD4\\u8F03\\u672A\\u8B8A\\u66F4\\u7684\\u5340\\u57DF\\u6642\\uFF0C\\u8981\\u4F7F\\u7528\\u591A\\u5C11\\u884C\\u4F5C\\u70BA\\u5167\\u5BB9\\u3002\",\"\\u63A7\\u5236 Diff \\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u8A72\\u986F\\u793A\\u5075\\u6E2C\\u5230\\u7684\\u7A0B\\u5F0F\\u78BC\\u79FB\\u52D5\\u3002\",\"\\u63A7\\u5236\\u5DEE\\u7570\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u986F\\u793A\\u7A7A\\u767D\\u88DD\\u98FE\\u9805\\u76EE\\uFF0C\\u4EE5\\u67E5\\u770B\\u63D2\\u5165\\u6216\\u522A\\u9664\\u5B57\\u5143\\u7684\\u4F4D\\u7F6E\\u3002\",\"\\u5982\\u679C\\u5DF2\\u555F\\u7528\\u4E14\\u7DE8\\u8F2F\\u5668\\u4F7F\\u7528\\u5167\\u5D4C\\u6AA2\\u8996\\uFF0C\\u5247\\u6587\\u5B57\\u8B8A\\u66F4\\u6703\\u4EE5\\u5167\\u5D4C\\u65B9\\u5F0F\\u5448\\u73FE\\u3002\",\"\\u4F7F\\u7528\\u5E73\\u53F0 API \\u4EE5\\u5075\\u6E2C\\u87A2\\u5E55\\u52A9\\u8B80\\u7A0B\\u5F0F\\u9644\\u52A0\\u3002\",\"\\u4F7F\\u7528\\u87A2\\u5E55\\u52A9\\u8B80\\u7A0B\\u5F0F\\u5C07\\u4F7F\\u7528\\u65B9\\u5F0F\\u6700\\u4F73\\u5316\\u3002\",\"\\u5047\\u8A2D\\u87A2\\u5E55\\u52A9\\u8B80\\u7A0B\\u5F0F\\u672A\\u9023\\u7D50\\u3002\",\"\\u63A7\\u5236 UI \\u662F\\u5426\\u61C9\\u65BC\\u5DF2\\u70BA\\u87A2\\u5E55\\u52A9\\u8B80\\u7A0B\\u5F0F\\u6700\\u4F73\\u5316\\u7684\\u6A21\\u5F0F\\u4E2D\\u57F7\\u884C\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u8981\\u5728\\u8A3B\\u89E3\\u6642\\u63D2\\u5165\\u7A7A\\u767D\\u5B57\\u5143\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u4EE5\\u884C\\u8A3B\\u89E3\\u7684\\u5207\\u63DB\\u3001\\u65B0\\u589E\\u6216\\u79FB\\u9664\\u52D5\\u4F5C\\uFF0C\\u5FFD\\u7565\\u7A7A\\u767D\\u7684\\u884C\\u3002\",\"\\u63A7\\u5236\\u8907\\u88FD\\u6642\\u4E0D\\u9078\\u53D6\\u4EFB\\u4F55\\u9805\\u76EE\\u662F\\u5426\\u6703\\u8907\\u88FD\\u76EE\\u524D\\u7A0B\\u5F0F\\u884C\\u3002\",\"\\u63A7\\u5236\\u5728\\u8F38\\u5165\\u671F\\u9593\\u662F\\u5426\\u8981\\u8DF3\\u904E\\u6E38\\u6A19\\u4F86\\u5C0B\\u627E\\u76F8\\u7B26\\u7684\\u9805\\u76EE\\u3002\",\"\\u6C38\\u4E0D\\u5F9E\\u7DE8\\u8F2F\\u5668\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u690D\\u5165\\u641C\\u5C0B\\u5B57\\u4E32\\u3002\",\"\\u4E00\\u5F8B\\u5F9E\\u7DE8\\u8F2F\\u5668\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u690D\\u5165\\u641C\\u5C0B\\u5B57\\u4E32\\uFF0C\\u5305\\u62EC\\u6E38\\u6A19\\u4F4D\\u7F6E\\u7684\\u5B57\\u3002\",\"\\u53EA\\u6709\\u4F86\\u81EA\\u7DE8\\u8F2F\\u5668\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u7684\\u690D\\u5165\\u641C\\u5C0B\\u5B57\\u4E32\\u3002\",\"\\u63A7\\u5236 [\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177] \\u4E2D\\u7684\\u641C\\u5C0B\\u5B57\\u4E32\\u662F\\u5426\\u4F86\\u81EA\\u7DE8\\u8F2F\\u5668\\u9078\\u53D6\\u9805\\u76EE\\u3002\",\"\\u6C38\\u4E0D\\u81EA\\u52D5\\u958B\\u555F [\\u5728\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u5C0B\\u627E] (\\u9810\\u8A2D)\\u3002\",\"\\u4E00\\u5F8B\\u81EA\\u52D5\\u958B\\u555F [\\u5728\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u5C0B\\u627E]\\u3002\",\"\\u9078\\u53D6\\u591A\\u884C\\u5167\\u5BB9\\u6642\\uFF0C\\u81EA\\u52D5\\u958B\\u555F [\\u5728\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u5C0B\\u627E]\\u3002\",\"\\u63A7\\u5236\\u81EA\\u52D5\\u958B\\u555F [\\u5728\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u5C0B\\u627E] \\u7684\\u689D\\u4EF6\\u3002\",\"\\u63A7\\u5236\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u662F\\u5426\\u5728 macOS \\u4E0A\\u8B80\\u53D6\\u6216\\u4FEE\\u6539\\u5171\\u7528\\u5C0B\\u627E\\u526A\\u8CBC\\u7C3F\\u3002\",\"\\u63A7\\u5236\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u662F\\u5426\\u61C9\\u5728\\u7DE8\\u8F2F\\u5668\\u9802\\u7AEF\\u984D\\u5916\\u65B0\\u589E\\u884C\\u3002\\u82E5\\u70BA true\\uFF0C\\u7576\\u60A8\\u53EF\\u770B\\u5230\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u6642\\uFF0C\\u60A8\\u7684\\u6372\\u52D5\\u7BC4\\u570D\\u6703\\u8D85\\u904E\\u7B2C\\u4E00\\u884C\\u3002\",\"\\u7576\\u518D\\u4E5F\\u627E\\u4E0D\\u5230\\u5176\\u4ED6\\u76F8\\u7B26\\u9805\\u76EE\\u6642\\uFF0C\\u63A7\\u5236\\u662F\\u5426\\u81EA\\u52D5\\u5F9E\\u958B\\u982D (\\u6216\\u7D50\\u5C3E) \\u91CD\\u65B0\\u958B\\u59CB\\u641C\\u5C0B\\u3002\",\"\\u555F\\u7528/\\u505C\\u7528\\u9023\\u5B57\\u5B57\\u578B ('calt' \\u548C 'liga' \\u5B57\\u578B\\u529F\\u80FD)\\u3002\\u5C07\\u6B64\\u9805\\u8B8A\\u66F4\\u70BA\\u5B57\\u4E32\\uFF0C\\u4EE5\\u7CBE\\u78BA\\u63A7\\u5236 'font-feature-settings' CSS \\u5C6C\\u6027\\u3002\",\"\\u660E\\u78BA\\u7684 'font-feature-settings' CSS \\u5C6C\\u6027\\u3002\\u5982\\u679C\\u53EA\\u9700\\u8981\\u958B\\u555F/\\u95DC\\u9589\\u9023\\u5B57\\uFF0C\\u53EF\\u4EE5\\u6539\\u70BA\\u50B3\\u905E\\u5E03\\u6797\\u503C\\u3002\",\"\\u8A2D\\u5B9A\\u9023\\u5B57\\u5B57\\u578B\\u6216\\u5B57\\u578B\\u529F\\u80FD\\u3002\\u53EF\\u4EE5\\u662F\\u5E03\\u6797\\u503C\\u4EE5\\u555F\\u7528/\\u505C\\u7528\\u9023\\u5B57\\uFF0C\\u6216\\u4EE3\\u8868 CSS 'font-feature-settings' \\u5C6C\\u6027\\u7684\\u5B57\\u4E32\\u3002\",\"\\u555F\\u7528/\\u505C\\u7528\\u5F9E font-weight \\u5230 font-variation-settings \\u7684\\u8F49\\u63DB\\u3002\\u5C07\\u6B64\\u8A2D\\u5B9A\\u8B8A\\u66F4\\u70BA\\u5B57\\u4E32\\uFF0C\\u4EE5\\u66F4\\u7CBE\\u7D30\\u5730\\u63A7\\u5236 'font-variation-settings' CSS \\u5C6C\\u6027\\u3002\",\"\\u660E\\u78BA\\u7684 'font-variation-settings' CSS \\u5C6C\\u6027\\u3002\\u5982\\u679C\\u53EA\\u9700\\u8981\\u5C07 font-weight \\u8F49\\u63DB\\u70BA font-variation-settings\\uFF0C\\u53EF\\u4EE5\\u6539\\u70BA\\u50B3\\u905E\\u5E03\\u6797\\u503C\\u3002\",\"\\u8A2D\\u5B9A\\u5B57\\u578B\\u8B8A\\u5316\\u3002\\u53EF\\u4EE5\\u662F\\u5E03\\u6797\\u503C\\uFF0C\\u4EE5\\u555F\\u7528/\\u505C\\u7528\\u5F9E font-weight \\u5230 font-variation-settings \\u7684\\u8F49\\u63DB\\uFF0C\\u6216\\u662F\\u5B57\\u4E32\\uFF0C\\u505A\\u70BA CSS 'font-variation-settings' \\u5C6C\\u6027\\u7684\\u503C\\u3002\",\"\\u63A7\\u5236\\u5B57\\u578B\\u5927\\u5C0F (\\u50CF\\u7D20)\\u3002\",\"\\u53EA\\u5141\\u8A31\\u300C\\u4E00\\u822C\\u300D\\u53CA\\u300C\\u7C97\\u9AD4\\u300D\\u95DC\\u9375\\u5B57\\uFF0C\\u6216\\u4ECB\\u65BC 1 \\u5230 1000 \\u4E4B\\u9593\\u7684\\u6578\\u503C\\u3002\",\"\\u63A7\\u5236\\u5B57\\u578B\\u7C97\\u7D30\\u3002\\u63A5\\u53D7\\u300C\\u4E00\\u822C\\u300D\\u53CA\\u300C\\u7C97\\u9AD4\\u300D\\u95DC\\u9375\\u5B57\\uFF0C\\u6216\\u4ECB\\u65BC 1 \\u5230 1000 \\u4E4B\\u9593\\u7684\\u6578\\u503C\\u3002\",\"\\u986F\\u793A\\u7D50\\u679C\\u7684\\u9810\\u89BD\\u6AA2\\u8996 (\\u9810\\u8A2D)\",\"\\u79FB\\u81F3\\u4E3B\\u8981\\u7D50\\u679C\\u4E26\\u986F\\u793A\\u9810\\u89BD\\u6AA2\\u8996\",\"\\u524D\\u5F80\\u4E3B\\u8981\\u7D50\\u679C\\uFF0C\\u4E26\\u5C0D\\u5176\\u4ED6\\u4EBA\\u555F\\u7528\\u7121\\u9810\\u89BD\\u700F\\u89BD\",\"\\u6B64\\u8A2D\\u5B9A\\u5DF2\\u6DD8\\u6C70\\uFF0C\\u8ACB\\u6539\\u7528 'editor.editor.gotoLocation.multipleDefinitions' \\u6216 'editor.editor.gotoLocation.multipleImplementations' \\u7B49\\u55AE\\u7368\\u8A2D\\u5B9A\\u3002\",\"\\u63A7\\u5236 'Go to Definition' \\u547D\\u4EE4\\u5728\\u6709\\u591A\\u500B\\u76EE\\u6A19\\u4F4D\\u7F6E\\u5B58\\u5728\\u6642\\u7684\\u884C\\u70BA\\u3002\",\"\\u63A7\\u5236 'Go to Type Definition' \\u547D\\u4EE4\\u5728\\u6709\\u591A\\u500B\\u76EE\\u6A19\\u4F4D\\u7F6E\\u5B58\\u5728\\u6642\\u7684\\u884C\\u70BA\\u3002\",\"\\u63A7\\u5236 'Go to Declaration' \\u547D\\u4EE4\\u5728\\u6709\\u591A\\u500B\\u76EE\\u6A19\\u4F4D\\u7F6E\\u5B58\\u5728\\u6642\\u7684\\u884C\\u70BA\\u3002\",\"\\u63A7\\u5236 'Go to Implementations' \\u547D\\u4EE4\\u5728\\u6709\\u591A\\u500B\\u76EE\\u6A19\\u4F4D\\u7F6E\\u5B58\\u5728\\u6642\\u7684\\u884C\\u70BA\\u3002\",\"\\u63A7\\u5236 'Go to References' \\u547D\\u4EE4\\u5728\\u6709\\u591A\\u500B\\u76EE\\u6A19\\u4F4D\\u7F6E\\u5B58\\u5728\\u6642\\u7684\\u884C\\u70BA\\u3002\",\"\\u7576 'Go to Definition' \\u7684\\u7D50\\u679C\\u70BA\\u76EE\\u524D\\u4F4D\\u7F6E\\u6642\\uFF0C\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4\\u8B58\\u5225\\u78BC\\u3002\",\"\\u7576 'Go to Type Definition' \\u7684\\u7D50\\u679C\\u70BA\\u76EE\\u524D\\u4F4D\\u7F6E\\u6642\\uFF0C\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4\\u8B58\\u5225\\u78BC\\u3002\",\"\\u7576 'Go to Declaration' \\u7684\\u7D50\\u679C\\u70BA\\u76EE\\u524D\\u4F4D\\u7F6E\\u6642\\uFF0C\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4\\u8B58\\u5225\\u78BC\\u3002\",\"\\u7576 'Go to Implementation' \\u7684\\u7D50\\u679C\\u70BA\\u76EE\\u524D\\u4F4D\\u7F6E\\u6642\\uFF0C\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4\\u8B58\\u5225\\u78BC\\u3002\",\"\\u7576 'Go to Reference' \\u7684\\u7D50\\u679C\\u70BA\\u76EE\\u524D\\u4F4D\\u7F6E\\u6642\\uFF0C\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u66FF\\u4EE3\\u547D\\u4EE4\\u8B58\\u5225\\u78BC\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u986F\\u793A\\u66AB\\u7559\\u3002\",\"\\u63A7\\u5236\\u66AB\\u7559\\u986F\\u793A\\u7684\\u5EF6\\u9072\\u6642\\u9593 (\\u4EE5\\u6BEB\\u79D2\\u70BA\\u55AE\\u4F4D)\\u3002\",\"\\u63A7\\u5236\\u7576\\u6ED1\\u9F20\\u79FB\\u904E\\u6642\\uFF0C\\u662F\\u5426\\u61C9\\u4FDD\\u6301\\u986F\\u793A\\u66AB\\u7559\\u3002\",\"\\u63A7\\u5236\\u66AB\\u7559\\u96B1\\u85CF\\u7684\\u5EF6\\u9072\\u6642\\u9593 (\\u4EE5\\u6BEB\\u79D2\\u70BA\\u55AE\\u4F4D)\\u3002\\u9700\\u8981\\u555F\\u7528 `editor.hover.sticky`\\u3002\",\"\\u5982\\u679C\\u6709\\u7A7A\\u9593\\uFF0C\\u5247\\u504F\\u597D\\u5728\\u884C\\u4E0A\\u65B9\\u986F\\u793A\\u6E38\\u6A19\\u3002\",\"\\u5047\\u8A2D\\u6240\\u6709\\u5B57\\u5143\\u7684\\u5BEC\\u5EA6\\u5747\\u76F8\\u540C\\u3002\\u9019\\u662F\\u4E00\\u7A2E\\u5FEB\\u901F\\u7684\\u6F14\\u7B97\\u6CD5\\uFF0C\\u9069\\u7528\\u65BC\\u7B49\\u5BEC\\u5B57\\u578B\\uFF0C\\u4EE5\\u53CA\\u5B57\\u7B26\\u5BEC\\u5EA6\\u76F8\\u540C\\u7684\\u90E8\\u5206\\u6307\\u4EE4\\u78BC (\\u4F8B\\u5982\\u62C9\\u4E01\\u6587\\u5B57\\u5143)\\u3002\",\"\\u5C07\\u5916\\u570D\\u9EDE\\u8A08\\u7B97\\u59D4\\u6D3E\\u7D66\\u700F\\u89BD\\u5668\\u3002\\u9019\\u662F\\u7DE9\\u6162\\u7684\\u6F14\\u7B97\\u6CD5\\uFF0C\\u5982\\u679C\\u6A94\\u6848\\u8F03\\u5927\\u53EF\\u80FD\\u6703\\u5C0E\\u81F4\\u51CD\\u7D50\\uFF0C\\u4F46\\u5728\\u6240\\u6709\\u60C5\\u6CC1\\u4E0B\\u90FD\\u6B63\\u5E38\\u904B\\u4F5C\\u3002\",\"\\u63A7\\u5236\\u8A08\\u7B97\\u5916\\u570D\\u9EDE\\u7684\\u6F14\\u7B97\\u6CD5\\u3002\\u8ACB\\u6CE8\\u610F\\uFF0C\\u5728\\u5354\\u52A9\\u5DE5\\u5177\\u6A21\\u5F0F\\u4E2D\\uFF0C\\u6703\\u4F7F\\u7528\\u9032\\u968E\\u4F86\\u7372\\u5F97\\u6700\\u4F73\\u9AD4\\u9A57\\u3002\",\"\\u505C\\u7528\\u7A0B\\u5F0F\\u4EE3\\u78BC\\u52D5\\u4F5C\\u529F\\u80FD\\u8868\\u3002\",\"\\u7576\\u6E38\\u6A19\\u4F4D\\u65BC\\u542B\\u6709\\u7A0B\\u5F0F\\u4EE3\\u78BC\\u7684\\u884C\\u6642\\uFF0C\\u986F\\u793A\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u529F\\u80FD\\u8868\\u3002\",\"\\u7576\\u6E38\\u6A19\\u4F4D\\u65BC\\u542B\\u6709\\u7A0B\\u5F0F\\u4EE3\\u78BC\\u7684\\u884C\\u6216\\u7A7A\\u884C\\u6642\\uFF0C\\u986F\\u793A\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u529F\\u80FD\\u8868\\u3002\",\"\\u5728\\u7DE8\\u8F2F\\u5668\\u4E2D\\u555F\\u7528\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u71C8\\u6CE1\\u3002\",\"\\u5728\\u7DE8\\u8F2F\\u5668\\u9802\\u7AEF\\u6372\\u52D5\\u671F\\u9593\\u986F\\u793A\\u5DE2\\u72C0\\u7684\\u76EE\\u524D\\u7BC4\\u570D\\u3002\",\"\\u5B9A\\u7FA9\\u8981\\u986F\\u793A\\u7684\\u81EA\\u9ECF\\u7DDA\\u6578\\u76EE\\u4E0A\\u9650\\u3002\",\"\\u5B9A\\u7FA9\\u8981\\u7528\\u65BC\\u5224\\u65B7\\u8981\\u9ECF\\u4F4F\\u7684\\u7DDA\\u689D\\u7684\\u6A21\\u578B\\u3002\\u5982\\u679C\\u5927\\u7DB1\\u6A21\\u578B\\u4E0D\\u5B58\\u5728\\uFF0C\\u5247\\u6703\\u56DE\\u5230\\u647A\\u758A\\u63D0\\u4F9B\\u8005\\u6A21\\u578B\\uFF0C\\u5176\\u6703\\u56DE\\u5230\\u7E2E\\u6392\\u6A21\\u578B\\u3002\\u9019\\u4E09\\u7A2E\\u60C5\\u6CC1\\u4E2D\\u6703\\u9075\\u5B88\\u6B64\\u9806\\u5E8F\\u3002\",\"\\u4F7F\\u7528\\u7DE8\\u8F2F\\u5668\\u7684\\u6C34\\u5E73\\u6372\\u8EF8\\uFF0C\\u555F\\u7528\\u81EA\\u9ECF\\u6372\\u52D5\\u7684\\u6372\\u52D5\\u3002\",\"\\u555F\\u7528\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u5167\\u5D4C\\u63D0\\u793A\\u3002\",\"\\u5DF2\\u555F\\u7528\\u5167\\u5D4C\\u63D0\\u793A\",\"\\u9810\\u8A2D\\u6703\\u986F\\u793A\\u5167\\u5D4C\\u63D0\\u793A\\uFF0C\\u4E26\\u5728\\u6309\\u4F4F {0} \\u6642\\u96B1\\u85CF\",\"\\u9810\\u8A2D\\u6703\\u96B1\\u85CF\\u5167\\u5D4C\\u63D0\\u793A\\uFF0C\\u4E26\\u5728\\u6309\\u4F4F {0} \\u6642\\u986F\\u793A\",\"\\u5DF2\\u505C\\u7528\\u5167\\u5D4C\\u63D0\\u793A\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u4E2D\\u5167\\u5D4C\\u63D0\\u793A\\u7684\\u5B57\\u578B\\u5927\\u5C0F\\u3002\\u7576\\u8A2D\\u5B9A\\u7684\\u503C\\u5C0F\\u65BC {1} \\u6216\\u5927\\u65BC\\u7DE8\\u8F2F\\u5668\\u5B57\\u578B\\u5927\\u5C0F\\u6642\\uFF0C\\u5247\\u6703\\u4F7F\\u7528{0} \\u9810\\u8A2D\\u503C\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u4E2D\\uFF0C\\u5167\\u5D4C\\u63D0\\u793A\\u7684\\u5B57\\u578B\\u5BB6\\u65CF\\u3002\\u8A2D\\u5B9A\\u70BA\\u7A7A\\u767D\\u6642\\uFF0C\\u5247\\u6703\\u4F7F\\u7528 {0}\\u3002\",\"\\u5728\\u7DE8\\u8F2F\\u5668\\u4E2D\\u555F\\u7528\\u7684\\u5167\\u5D4C\\u63D0\\u793A\\u5468\\u570D\\u7684\\u586B\\u88DC\\u3002\",`\\u63A7\\u5236\\u884C\\u9AD8\\u3002\\r\n - \\u4F7F\\u7528 0 \\u5F9E\\u5B57\\u578B\\u5927\\u5C0F\\u81EA\\u52D5\\u8A08\\u7B97\\u884C\\u9AD8\\u3002\\r\n - \\u4F7F\\u7528\\u4ECB\\u65BC 0 \\u548C 8 \\u4E4B\\u9593\\u7684\\u503C\\u4F5C\\u70BA\\u5B57\\u578B\\u5927\\u5C0F\\u7684\\u4E58\\u6578\\u3002\\r\n - \\u5927\\u65BC\\u6216\\u7B49\\u65BC 8 \\u7684\\u503C\\u5C07\\u7528\\u4F86\\u4F5C\\u70BA\\u6709\\u6548\\u503C\\u3002`,\"\\u63A7\\u5236\\u662F\\u5426\\u6703\\u986F\\u793A\\u7E2E\\u5716\",\"\\u63A7\\u5236\\u662F\\u5426\\u6703\\u81EA\\u52D5\\u96B1\\u85CF\\u7E2E\\u5716\\u3002\",\"\\u7E2E\\u5716\\u5927\\u5C0F\\u8207\\u7DE8\\u8F2F\\u5668\\u5167\\u5BB9\\u76F8\\u540C (\\u4E14\\u53EF\\u80FD\\u6703\\u6372\\u52D5)\\u3002\",\"\\u7E2E\\u5716\\u6703\\u8996\\u9700\\u8981\\u4F38\\u7E2E\\uFF0C\\u4EE5\\u586B\\u6EFF\\u8A72\\u7DE8\\u8F2F\\u5668\\u7684\\u9AD8\\u5EA6 (\\u7121\\u6372\\u52D5)\\u3002\",\"\\u7E2E\\u5716\\u5C07\\u8996\\u9700\\u8981\\u7E2E\\u5C0F\\uFF0C\\u4E00\\u5F8B\\u4E0D\\u6703\\u5927\\u65BC\\u8A72\\u7DE8\\u8F2F\\u5668 (\\u7121\\u6372\\u52D5)\\u3002\",\"\\u63A7\\u5236\\u7E2E\\u5716\\u7684\\u5927\\u5C0F\\u3002\",\"\\u63A7\\u5236\\u8981\\u5728\\u54EA\\u7AEF\\u5448\\u73FE\\u7E2E\\u5716\\u3002\",\"\\u63A7\\u5236\\u4F55\\u6642\\u986F\\u793A\\u8FF7\\u4F60\\u5730\\u5716\\u6ED1\\u687F\\u3002\",\"\\u7E2E\\u5716\\u5167\\u6240\\u7E6A\\u88FD\\u7684\\u5167\\u5BB9\\u5927\\u5C0F: 1\\u30012 \\u6216 3\\u3002\",\"\\u986F\\u793A\\u884C\\u4E2D\\u7684\\u5BE6\\u969B\\u5B57\\u5143\\uFF0C\\u800C\\u4E0D\\u662F\\u8272\\u5F69\\u5340\\u584A\\u3002\",\"\\u9650\\u5236\\u7E2E\\u5716\\u7684\\u5BEC\\u5EA6\\uFF0C\\u6700\\u591A\\u986F\\u793A\\u67D0\\u500B\\u6578\\u76EE\\u7684\\u5217\\u3002\",\"\\u63A7\\u5236\\u6307\\u5B9A\\u7684\\u5340\\u57DF\\u662F\\u5426\\u5728\\u7E2E\\u5716\\u4E2D\\u986F\\u793A\\u70BA\\u5340\\u6BB5\\u6A19\\u982D\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u5C07 MARK: \\u8A3B\\u89E3\\u986F\\u793A\\u70BA\\u7E2E\\u5716\\u4E2D\\u7684\\u5340\\u6BB5\\u6A19\\u982D\\u3002\",\"\\u63A7\\u5236\\u7E2E\\u5716\\u4E2D\\u5340\\u6BB5\\u6A19\\u982D\\u7684\\u5B57\\u578B\\u5927\\u5C0F\\u3002\",\"\\u63A7\\u5236\\u5340\\u6BB5\\u6A19\\u982D\\u5B57\\u5143\\u4E4B\\u9593 (\\u50CF\\u7D20) \\u7684\\u7A7A\\u9593\\u91CF\\u3002\\u9019\\u6709\\u52A9\\u65BC\\u5C0F\\u5B57\\u578B\\u7684\\u6A19\\u982D\\u53EF\\u8B80\\u6027\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u4E0A\\u908A\\u7DE3\\u8207\\u7B2C\\u4E00\\u884C\\u4E4B\\u9593\\u7684\\u7A7A\\u683C\\u6578\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u4E0B\\u908A\\u7DE3\\u8207\\u6700\\u5F8C\\u4E00\\u884C\\u4E4B\\u9593\\u7684\\u7A7A\\u683C\\u6578\\u3002\",\"\\u555F\\u7528\\u5FEB\\u986F\\uFF0C\\u5728\\u60A8\\u9375\\u5165\\u7684\\u540C\\u6642\\u986F\\u793A\\u53C3\\u6578\\u6587\\u4EF6\\u548C\\u985E\\u578B\\u8CC7\\u8A0A\\u3002\",\"\\u63A7\\u5236\\u63D0\\u793A\\u529F\\u80FD\\u8868\\u662F\\u5426\\u5728\\u6E05\\u55AE\\u7D50\\u5C3E\\u6642\\u5FAA\\u74B0\\u6216\\u95DC\\u9589\\u3002\",\"\\u5FEB\\u901F\\u5EFA\\u8B70\\u6703\\u986F\\u793A\\u5728\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u5167\",\"\\u5FEB\\u901F\\u5EFA\\u8B70\\u6703\\u986F\\u793A\\u70BA\\u6D6E\\u6C34\\u5370\\u6587\\u5B57\",\"\\u5DF2\\u505C\\u7528\\u5FEB\\u901F\\u5EFA\\u8B70\",\"\\u5141\\u8A31\\u5728\\u5B57\\u4E32\\u5167\\u986F\\u793A\\u5373\\u6642\\u5EFA\\u8B70\\u3002\",\"\\u5141\\u8A31\\u5728\\u8A3B\\u89E3\\u4E2D\\u986F\\u793A\\u5373\\u6642\\u5EFA\\u8B70\\u3002\",\"\\u5141\\u8A31\\u5728\\u5B57\\u4E32\\u8207\\u8A3B\\u89E3\\u4EE5\\u5916\\u4E4B\\u8655\\u986F\\u793A\\u5373\\u6642\\u5EFA\\u8B70\\u3002\",\"\\u63A7\\u5236\\u8F38\\u5165\\u6642\\u662F\\u5426\\u61C9\\u81EA\\u52D5\\u986F\\u793A\\u5EFA\\u8B70\\u3002\\u9019\\u53EF\\u63A7\\u5236\\u5728\\u8A3B\\u89E3\\u3001\\u5B57\\u4E32\\u53CA\\u5176\\u4ED6\\u7A0B\\u5F0F\\u78BC\\u4E2D\\u7684\\u8F38\\u5165\\u3002\\u53EF\\u8A2D\\u5B9A\\u5FEB\\u901F\\u5EFA\\u8B70\\u4EE5\\u96B1\\u5F62\\u6D6E\\u51FA\\u6587\\u5B57\\u6216\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u986F\\u793A\\u3002\\u53E6\\u5916\\u4E5F\\u8ACB\\u6CE8\\u610F {0} \\u8A2D\\u5B9A\\uFF0C\\u5B83\\u6703\\u63A7\\u5236\\u5EFA\\u8B70\\u662F\\u5426\\u7531\\u7279\\u6B8A\\u5B57\\u5143\\u6240\\u89F8\\u767C\\u3002\",\"\\u4E0D\\u986F\\u793A\\u884C\\u865F\\u3002\",\"\\u884C\\u865F\\u4EE5\\u7D55\\u5C0D\\u503C\\u986F\\u793A\\u3002\",\"\\u884C\\u865F\\u4EE5\\u76EE\\u524D\\u6E38\\u6A19\\u7684\\u76F8\\u5C0D\\u503C\\u986F\\u793A\\u3002\",\"\\u6BCF 10 \\u884C\\u986F\\u793A\\u884C\\u865F\\u3002\",\"\\u63A7\\u5236\\u884C\\u865F\\u7684\\u986F\\u793A\\u3002\",\"\\u9019\\u500B\\u7DE8\\u8F2F\\u5668\\u5C3A\\u898F\\u6703\\u8F49\\u8B6F\\u7684\\u7B49\\u5BEC\\u5B57\\u5143\\u6578\\u3002\",\"\\u6B64\\u7DE8\\u8F2F\\u5668\\u5C3A\\u898F\\u7684\\u8272\\u5F69\\u3002\",\"\\u5728\\u67D0\\u500B\\u6578\\u76EE\\u7684\\u7B49\\u5BEC\\u5B57\\u5143\\u4E4B\\u5F8C\\u986F\\u793A\\u5782\\u76F4\\u5C3A\\u898F\\u3002\\u5982\\u6709\\u591A\\u500B\\u5C3A\\u898F\\uFF0C\\u5C31\\u6703\\u4F7F\\u7528\\u591A\\u500B\\u503C\\u3002\\u82E5\\u9663\\u5217\\u7A7A\\u767D\\uFF0C\\u5C31\\u4E0D\\u6703\\u7E6A\\u88FD\\u4EFB\\u4F55\\u5C3A\\u898F\\u3002\",\"\\u5782\\u76F4\\u6372\\u8EF8\\u53EA\\u6709\\u5728\\u5FC5\\u8981\\u6642\\u624D\\u53EF\\u898B\\u3002\",\"\\u5782\\u76F4\\u6372\\u8EF8\\u6C38\\u9060\\u53EF\\u898B\\u3002\",\"\\u5782\\u76F4\\u6372\\u8EF8\\u6C38\\u9060\\u96B1\\u85CF\\u3002\",\"\\u63A7\\u5236\\u9805\\u5782\\u76F4\\u6372\\u8EF8\\u7684\\u53EF\\u898B\\u5EA6\\u3002\",\"\\u6C34\\u5E73\\u6372\\u8EF8\\u53EA\\u6709\\u5728\\u5FC5\\u8981\\u6642\\u624D\\u53EF\\u898B\\u3002\",\"\\u6C34\\u5E73\\u6372\\u8EF8\\u6C38\\u9060\\u53EF\\u898B\\u3002\",\"\\u6C34\\u5E73\\u6372\\u8EF8\\u6C38\\u9060\\u96B1\\u85CF\\u3002\",\"\\u63A7\\u5236\\u9805\\u6C34\\u5E73\\u6372\\u8EF8\\u7684\\u53EF\\u898B\\u5EA6\\u3002\",\"\\u5782\\u76F4\\u6372\\u8EF8\\u7684\\u5BEC\\u5EA6\\u3002\",\"\\u6C34\\u5E73\\u6372\\u8EF8\\u7684\\u9AD8\\u5EA6\\u3002\",\"\\u63A7\\u5236\\u9805\\u6309\\u4E00\\u4E0B\\u662F\\u5426\\u6309\\u9801\\u9762\\u6EFE\\u52D5\\u6216\\u8DF3\\u5230\\u6309\\u4E00\\u4E0B\\u4F4D\\u7F6E\\u3002\",\"\\u8A2D\\u5B9A\\u6642\\uFF0C\\u6C34\\u5E73\\u6372\\u8EF8\\u4E0D\\u6703\\u589E\\u52A0\\u7DE8\\u8F2F\\u5668\\u5167\\u5BB9\\u7684\\u5927\\u5C0F\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u9192\\u76EE\\u63D0\\u793A\\u6240\\u6709\\u975E\\u57FA\\u672C\\u7684 ASCII \\u5B57\\u5143\\u3002\\u53EA\\u6709\\u4ECB\\u65BC U+0020\\u548C U+007E\\u3001tab\\u3001\\u63DB\\u884C\\u548C\\u6B78\\u4F4D\\u5B57\\u5143\\u4E4B\\u9593\\u7684\\u5B57\\u5143\\u6703\\u8996\\u70BA\\u57FA\\u672C ASCII\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u53EA\\u4FDD\\u7559\\u7A7A\\u683C\\u6216\\u5B8C\\u5168\\u6C92\\u6709\\u5BEC\\u5EA6\\u4E4B\\u5B57\\u5143\\u7684\\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u9192\\u76EE\\u63D0\\u793A\\u8207\\u57FA\\u672C ASCII \\u5B57\\u5143\\u6DF7\\u6DC6\\u7684\\u5B57\\u5143\\uFF0C\\u4F46\\u76EE\\u524D\\u4F7F\\u7528\\u8005\\u5730\\u5340\\u8A2D\\u5B9A\\u4E2D\\u901A\\u7528\\u7684\\u5B57\\u5143\\u9664\\u5916\\u3002\",\"\\u63A7\\u5236\\u8A3B\\u89E3\\u4E2D\\u7684\\u5B57\\u5143\\u662F\\u5426\\u4E5F\\u61C9\\u53D7\\u5230 Unicode \\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u63A7\\u5236\\u5B57\\u4E32\\u4E2D\\u7684\\u5B57\\u5143\\u662F\\u5426\\u4E5F\\u61C9\\u53D7\\u5230 Unicode \\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u5B9A\\u7FA9\\u672A\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u5141\\u8A31\\u5B57\\u5143\\u3002\",\"\\u4E0D\\u6703\\u5C07\\u5141\\u8A31\\u5730\\u5340\\u8A2D\\u7F6E\\u4E2D\\u5E38\\u898B\\u7684 Unicode \\u5B57\\u5143\\u5F37\\u8ABF\\u986F\\u793A\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u8981\\u5728\\u7DE8\\u8F2F\\u5668\\u4E2D\\u81EA\\u52D5\\u986F\\u793A\\u5167\\u5D4C\\u5EFA\\u8B70\\u3002\",\"\\u6BCF\\u7576\\u986F\\u793A\\u5167\\u5D4C\\u5EFA\\u8B70\\u6642\\uFF0C\\u986F\\u793A\\u5167\\u5D4C\\u5EFA\\u8B70\\u5DE5\\u5177\\u5217\\u3002\",\"\\u6BCF\\u7576\\u6E38\\u6A19\\u505C\\u7559\\u5728\\u5167\\u5D4C\\u5EFA\\u8B70\\u4E0A\\u65B9\\u6642\\uFF0C\\u986F\\u793A\\u5167\\u5D4C\\u5EFA\\u8B70\\u5DE5\\u5177\\u5217\\u3002\",\"\\u6C38\\u4E0D\\u986F\\u793A\\u5167\\u5D4C\\u5EFA\\u8B70\\u5DE5\\u5177\\u5217\\u3002\",\"\\u63A7\\u5236\\u4F55\\u6642\\u986F\\u793A\\u5167\\u5D4C\\u5EFA\\u8B70\\u5DE5\\u5177\\u5217\\u3002\",\"\\u63A7\\u5236\\u5167\\u5D4C\\u5EFA\\u8B70\\u5982\\u4F55\\u8207\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E92\\u52D5\\u3002\\u5982\\u679C\\u555F\\u7528\\uFF0C\\u6709\\u53EF\\u7528\\u7684\\u5167\\u5D4C\\u5EFA\\u8B70\\u6642\\uFF0C\\u4E0D\\u6703\\u81EA\\u52D5\\u986F\\u793A\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u3002\",\"\\u63A7\\u5236\\u5167\\u5D4C\\u5EFA\\u8B70\\u7684\\u5B57\\u9AD4\\u7CFB\\u5217\\u3002\",null,null,null,null,null,null,\"\\u63A7\\u5236\\u662F\\u5426\\u555F\\u7528\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u8457\\u8272\\u3002\\u4F7F\\u7528 {0} \\u8986\\u5BEB\\u62EC\\u5F27\\u4EAE\\u986F\\u984F\\u8272\\u3002\",\"\\u63A7\\u5236\\u6BCF\\u500B\\u62EC\\u5F27\\u985E\\u578B\\u662F\\u5426\\u6709\\u81EA\\u5DF1\\u7684\\u7368\\u7ACB\\u8272\\u5F69\\u96C6\\u5340\\u3002\",\"\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u53EA\\u555F\\u7528\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u7D44\\u7684\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u505C\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u555F\\u7528\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u6307\\u5357\\u3002\",\"\\u555F\\u7528\\u6C34\\u5E73\\u8F14\\u52A9\\u7DDA\\u4F5C\\u70BA\\u5782\\u76F4\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u7684\\u65B0\\u589E\\u529F\\u80FD\\u3002\",\"\\u53EA\\u555F\\u7528\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u7684\\u6C34\\u5E73\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u505C\\u7528\\u6C34\\u5E73\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u555F\\u7528\\u6C34\\u5E73\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u9192\\u76EE\\u63D0\\u793A\\u4F7F\\u7528\\u4E2D\\u7684\\u6210\\u5C0D\\u62EC\\u5F27\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u986F\\u793A\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u9192\\u76EE\\u63D0\\u793A\\u4F7F\\u7528\\u4E2D\\u7684\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u5373\\u4F7F\\u9192\\u76EE\\u63D0\\u793A\\u62EC\\u5F27\\u8F14\\u52A9\\u7DDA\\uFF0C\\u4ECD\\u9192\\u76EE\\u63D0\\u793A\\u4F7F\\u7528\\u4E2D\\u7684\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u4E0D\\u8981\\u9192\\u76EE\\u63D0\\u793A\\u4F7F\\u7528\\u4E2D\\u7684\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u9192\\u76EE\\u63D0\\u793A\\u4F7F\\u7528\\u4E2D\\u7684\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u63D2\\u5165\\u5EFA\\u8B70\\u800C\\u4E0D\\u8986\\u5BEB\\u6E38\\u6A19\\u65C1\\u7684\\u6587\\u5B57\\u3002\",\"\\u63D2\\u5165\\u5EFA\\u8B70\\u4E26\\u8986\\u5BEB\\u6E38\\u6A19\\u65C1\\u7684\\u6587\\u5B57\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u8981\\u5728\\u63A5\\u53D7\\u5B8C\\u6210\\u6642\\u8986\\u5BEB\\u5B57\\u7D44\\u3002\\u8ACB\\u6CE8\\u610F\\uFF0C\\u9019\\u53D6\\u6C7A\\u65BC\\u52A0\\u5165\\u6B64\\u529F\\u80FD\\u7684\\u5EF6\\u4F38\\u6A21\\u7D44\\u3002\",\"\\u63A7\\u5236\\u5C0D\\u65BC\\u62DA\\u932F\\u5B57\\u662F\\u5426\\u9032\\u884C\\u7BE9\\u9078\\u548C\\u6392\\u5E8F\\u5176\\u5EFA\\u8B70\",\"\\u63A7\\u5236\\u6392\\u5E8F\\u662F\\u5426\\u504F\\u597D\\u6E38\\u6A19\\u9644\\u8FD1\\u7684\\u5B57\\u7D44\\u3002\",\"\\u63A7\\u5236\\u8A18\\u9304\\u7684\\u5EFA\\u8B70\\u9078\\u53D6\\u9805\\u76EE\\u662F\\u5426\\u5728\\u591A\\u500B\\u5DE5\\u4F5C\\u5340\\u548C\\u8996\\u7A97\\u9593\\u5171\\u7528 (\\u9700\\u8981 `#editor.suggestSelection#`)\\u3002\",\"\\u81EA\\u52D5\\u89F8\\u767C IntelliSense \\u6642\\u4E00\\u5F8B\\u9078\\u53D6\\u5EFA\\u8B70\\u3002\",\"\\u81EA\\u52D5\\u89F8\\u767C IntelliSense \\u6642\\u6C38\\u4E0D\\u9078\\u53D6\\u5EFA\\u8B70\\u3002\",\"\\u53EA\\u6709\\u5728\\u5F9E\\u89F8\\u767C\\u5B57\\u5143\\u89F8\\u767C IntelliSense \\u6642\\uFF0C\\u624D\\u9078\\u53D6\\u5EFA\\u8B70\\u3002\",\"\\u53EA\\u6709\\u5728\\u60A8\\u8F38\\u5165\\u6642\\u89F8\\u767C IntelliSense \\u6642\\uFF0C\\u624D\\u9078\\u53D6\\u5EFA\\u8B70\\u3002\",\"\\u63A7\\u5236\\u5C0F\\u5DE5\\u5177\\u986F\\u793A\\u6642\\u662F\\u5426\\u9078\\u53D6\\u5EFA\\u8B70\\u3002\\u8ACB\\u6CE8\\u610F\\uFF0C\\u9019\\u53EA\\u9069\\u7528\\u65BC({0} \\u548C {1}) \\u81EA\\u52D5\\u89F8\\u767C\\u7684\\u5EFA\\u8B70\\uFF0C\\u800C\\u4E14\\u4E00\\u5F8B\\u6703\\u5728\\u660E\\u78BA\\u53EB\\u7528\\u6642\\u9078\\u53D6\\u5EFA\\u8B70\\uFF0C\\u4F8B\\u5982\\u900F\\u904E 'Ctrl+Space'\\u3002\",\"\\u63A7\\u5236\\u6B63\\u5728\\u4F7F\\u7528\\u7684\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u662F\\u5426\\u6703\\u907F\\u514D\\u5FEB\\u901F\\u5EFA\\u8B70\\u3002\",\"\\u63A7\\u5236\\u8981\\u5728\\u5EFA\\u8B70\\u4E2D\\u986F\\u793A\\u6216\\u96B1\\u85CF\\u5716\\u793A\\u3002\",\"\\u63A7\\u5236\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u5E95\\u4E0B\\u7684\\u72C0\\u614B\\u5217\\u53EF\\u898B\\u5EA6\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u8981\\u5728\\u7DE8\\u8F2F\\u5668\\u4E2D\\u9810\\u89BD\\u5EFA\\u8B70\\u7D50\\u679C\\u3002\",\"\\u63A7\\u5236\\u5EFA\\u8B70\\u8A73\\u7D30\\u8CC7\\u6599\\u662F\\u4EE5\\u5167\\u5D4C\\u65BC\\u6A19\\u7C64\\u7684\\u65B9\\u5F0F\\u986F\\u793A\\uFF0C\\u9084\\u662F\\u53EA\\u5728\\u8A73\\u7D30\\u8CC7\\u6599\\u5C0F\\u5DE5\\u5177\\u4E2D\\u986F\\u793A\\u3002\",\"\\u6B64\\u8A2D\\u5B9A\\u5DF2\\u6DD8\\u6C70\\u3002\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u73FE\\u53EF\\u8ABF\\u6574\\u5927\\u5C0F\\u3002\",\"\\u6B64\\u8A2D\\u5B9A\\u5DF2\\u6DD8\\u6C70\\uFF0C\\u8ACB\\u6539\\u7528 'editor.suggest.showKeywords' \\u6216 'editor.suggest.showSnippets' \\u7B49\\u55AE\\u7368\\u8A2D\\u5B9A\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u65B9\\u6CD5\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u51FD\\u5F0F\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u5EFA\\u69CB\\u51FD\\u5F0F\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u5DF2\\u53D6\\u4EE3\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u7BE9\\u9078\\u6703\\u8981\\u6C42\\u7B2C\\u4E00\\u500B\\u5B57\\u5143\\u7B26\\u5408\\u6587\\u5B57\\u958B\\u982D\\uFF0C\\u4F8B\\u5982 `Console` \\u6216 `WebCoNtext` \\u4E0A\\u7684 `c`\\uFF0C\\u4F46\\u4E0D\\u662F `description` \\u4E0A\\u7684 _not_\\u3002\\u505C\\u7528\\u6642\\uFF0CIntelliSense \\u6703\\u986F\\u793A\\u66F4\\u591A\\u7D50\\u679C\\uFF0C\\u4F46\\u4ECD\\u6703\\u4F9D\\u76F8\\u7B26\\u54C1\\u8CEA\\u6392\\u5E8F\\u7D50\\u679C\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u6B04\\u4F4D\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u8B8A\\u6578\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u985E\\u5225\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u7D50\\u69CB\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u4ECB\\u9762\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u6A21\\u7D44\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u5C6C\\u6027\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u4E8B\\u4EF6\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u904B\\u7B97\\u5B50\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u55AE\\u4F4D\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u503C\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u5E38\\u6578\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u5217\\u8209\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300CenumMember\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u95DC\\u9375\\u5B57\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u6587\\u5B57\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u8272\\u5F69\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u6A94\\u6848\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u53C3\\u8003\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300Ccustomcolor\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u8CC7\\u6599\\u593E\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300CtypeParameter\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u986F\\u793A\\u300C\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u300D\\u5EFA\\u8B70\\u3002\",\"\\u555F\\u7528\\u4E4B\\u5F8C\\uFF0CIntelliSense \\u6703\\u986F\\u793A `user`-suggestions\\u3002\",\"\\u555F\\u7528\\u6642\\uFF0CIntelliSense \\u6703\\u986F\\u793A `issues`-suggestions\\u3002\",\"\\u662F\\u5426\\u61C9\\u4E00\\u5F8B\\u9078\\u53D6\\u524D\\u7F6E\\u548C\\u5F8C\\u7F6E\\u7684\\u7A7A\\u767D\\u5B57\\u5143\\u3002\",\"\\u662F\\u5426\\u61C9\\u8A72\\u9078\\u53D6\\u5B50\\u8A5E (\\u4F8B\\u5982 'fooBar' \\u6216 'foo_bar' \\u4E2D\\u7684 'foo')\\u3002\",\"\\u57F7\\u884C\\u8207\\u6587\\u5B57\\u76F8\\u95DC\\u7684\\u700F\\u89BD\\u6216\\u4F5C\\u696D\\u6642\\uFF0C\\u7528\\u65BC\\u6587\\u5B57\\u5206\\u5272\\u7684\\u5730\\u5340\\u8A2D\\u5B9A\\u3002\\u6307\\u5B9A\\u60A8\\u8981\\u8FA8\\u8B58\\u7684\\u6587\\u5B57\\u7684 BCP 47 \\u8A9E\\u8A00\\u6A19\\u8A18 (\\u4F8B\\u5982 ja\\u3001zh-CN\\u3001zh-Hant-TW \\u7B49)\\u3002\",\"\\u57F7\\u884C\\u8207\\u6587\\u5B57\\u76F8\\u95DC\\u7684\\u700F\\u89BD\\u6216\\u4F5C\\u696D\\u6642\\uFF0C\\u7528\\u65BC\\u6587\\u5B57\\u5206\\u5272\\u7684\\u5730\\u5340\\u8A2D\\u5B9A\\u3002\\u6307\\u5B9A\\u60A8\\u8981\\u8FA8\\u8B58\\u7684\\u6587\\u5B57\\u7684 BCP 47 \\u8A9E\\u8A00\\u6A19\\u8A18 (\\u4F8B\\u5982 ja\\u3001zh-CN\\u3001zh-Hant-TW \\u7B49)\\u3002\",\"\\u7121\\u7E2E\\u6392\\u3002\\u63DB\\u884C\\u5F9E\\u7B2C 1 \\u5217\\u958B\\u59CB\\u3002\",\"\\u63DB\\u884C\\u7684\\u7E2E\\u6392\\u6703\\u8207\\u7236\\u884C\\u76F8\\u540C\\u3002\",\"\\u63DB\\u884C\\u7684\\u7E2E\\u6392\\u70BA\\u7236\\u884C +1\\u3002\",\"\\u63DB\\u884C\\u7E2E\\u6392\\u70BA\\u7236\\u884C +2\\u3002\",\"\\u63A7\\u5236\\u63DB\\u884C\\u7684\\u7E2E\\u6392\\u3002\",\"\\u63A7\\u5236\\u60A8\\u662F\\u5426\\u53EF\\u4EE5\\u6309\\u4F4F `Shift` \\u9375\\uFF0C\\u5C07\\u6A94\\u6848\\u62D6\\u653E\\u5230\\u6587\\u5B57\\u7DE8\\u8F2F\\u5668\\u4E2D (\\u800C\\u975E\\u5728\\u7DE8\\u8F2F\\u5668\\u4E2D\\u958B\\u555F\\u6A94\\u6848)\\u3002\",\"\\u63A7\\u5236\\u5C07\\u6A94\\u6848\\u653E\\u5165\\u7DE8\\u8F2F\\u5668\\u6642\\u662F\\u5426\\u986F\\u793A\\u5C0F\\u5DE5\\u5177\\u3002\\u6B64\\u5C0F\\u5DE5\\u5177\\u53EF\\u8B93\\u60A8\\u63A7\\u5236\\u6A94\\u6848\\u7684\\u7F6E\\u653E\\u65B9\\u5F0F\\u3002\",\"\\u5C07\\u6A94\\u6848\\u653E\\u5165\\u7DE8\\u8F2F\\u5668\\u5F8C\\u986F\\u793A\\u7F6E\\u653E\\u9078\\u53D6\\u5668\\u5C0F\\u5DE5\\u5177\\u3002\",\"\\u6C38\\u4E0D\\u986F\\u793A\\u7F6E\\u653E\\u9078\\u53D6\\u5668\\u5C0F\\u5DE5\\u5177\\u3002\\u6539\\u70BA\\u4E00\\u5F8B\\u4F7F\\u7528\\u9810\\u8A2D\\u7F6E\\u653E\\u63D0\\u4F9B\\u8005\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u53EF\\u4EE5\\u4EE5\\u4E0D\\u540C\\u65B9\\u5F0F\\u8CBC\\u4E0A\\u5167\\u5BB9\\u3002\",\"\\u63A7\\u5236\\u5C07\\u5167\\u5BB9\\u8CBC\\u4E0A\\u81F3\\u7DE8\\u8F2F\\u5668\\u6642\\u662F\\u5426\\u986F\\u793A\\u5C0F\\u5DE5\\u5177\\u3002\\u6B64\\u5C0F\\u5DE5\\u5177\\u53EF\\u8B93\\u60A8\\u63A7\\u5236\\u6A94\\u6848\\u7684\\u8CBC\\u4E0A\\u65B9\\u5F0F\\u3002\",\"\\u5C07\\u5167\\u5BB9\\u8CBC\\u4E0A\\u7DE8\\u8F2F\\u5668\\u5F8C\\u986F\\u793A\\u8CBC\\u4E0A\\u9078\\u53D6\\u5668\\u5C0F\\u5DE5\\u5177\\u3002\",\"\\u6C38\\u4E0D\\u986F\\u793A\\u8CBC\\u4E0A\\u9078\\u53D6\\u5668\\u5C0F\\u5DE5\\u5177\\u3002\\u800C\\u662F\\u4E00\\u5F8B\\u4F7F\\u7528\\u9810\\u8A2D\\u7684\\u8CBC\\u4E0A\\u884C\\u70BA\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u900F\\u904E\\u63D0\\u4EA4\\u5B57\\u5143\\u63A5\\u53D7\\u5EFA\\u8B70\\u3002\\u4F8B\\u5982\\u5728 JavaScript \\u4E2D\\uFF0C\\u5206\\u865F (';') \\u53EF\\u4EE5\\u662F\\u63A5\\u53D7\\u5EFA\\u8B70\\u4E26\\u9375\\u5165\\u8A72\\u5B57\\u5143\\u7684\\u63D0\\u4EA4\\u5B57\\u5143\\u3002\",\"\\u5728\\u5EFA\\u8B70\\u9032\\u884C\\u6587\\u5B57\\u8B8A\\u66F4\\u6642\\uFF0C\\u50C5\\u900F\\u904E `Enter` \\u63A5\\u53D7\\u5EFA\\u8B70\\u3002\",\"\\u63A7\\u5236\\u9664\\u4E86 'Tab' \\u5916\\uFF0C\\u662F\\u5426\\u4E5F\\u900F\\u904E 'Enter' \\u63A5\\u53D7\\u5EFA\\u8B70\\u3002\\u9019\\u6709\\u52A9\\u65BC\\u907F\\u514D\\u6DF7\\u6DC6\\u8981\\u63D2\\u5165\\u65B0\\u884C\\u6216\\u63A5\\u53D7\\u5EFA\\u8B70\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u4E2D\\u53EF\\u4E00\\u6B21\\u7531\\u87A2\\u5E55\\u52A9\\u8B80\\u7A0B\\u5F0F\\u8B80\\u51FA\\u7684\\u884C\\u6578\\u3002\\u5075\\u6E2C\\u5230\\u87A2\\u5E55\\u52A9\\u8B80\\u7A0B\\u5F0F\\u6642\\u6703\\u81EA\\u52D5\\u9810\\u8A2D\\u70BA 500\\u3002\\u8B66\\u544A: \\u82E5\\u6578\\u5B57\\u8D85\\u904E\\u9810\\u8A2D\\uFF0C\\u53EF\\u80FD\\u6703\\u5C0D\\u6548\\u80FD\\u6709\\u6240\\u5F71\\u97FF\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5167\\u5BB9\",\"\\u63A7\\u5236\\u87A2\\u5E55\\u52A9\\u8B80\\u7A0B\\u5F0F\\u662F\\u5426\\u5BA3\\u544A\\u5167\\u5D4C\\u5EFA\\u8B70\\u3002\",\"\\u4F7F\\u7528\\u8A9E\\u8A00\\u914D\\u7F6E\\u78BA\\u5B9A\\u4F55\\u6642\\u81EA\\u52D5\\u95DC\\u9589\\u62EC\\u865F\\u3002\",\"\\u50C5\\u7576\\u6E38\\u6A19\\u4F4D\\u65BC\\u7A7A\\u767D\\u7684\\u5DE6\\u5074\\u6642\\u81EA\\u52D5\\u95DC\\u9589\\u62EC\\u865F\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u5728\\u4F7F\\u7528\\u8005\\u65B0\\u589E\\u5DE6\\u62EC\\u5F27\\u5F8C\\uFF0C\\u81EA\\u52D5\\u52A0\\u4E0A\\u53F3\\u62EC\\u5F27\\u3002\",\"\\u4F7F\\u7528\\u8A9E\\u8A00\\u914D\\u7F6E\\u78BA\\u5B9A\\u4F55\\u6642\\u81EA\\u52D5\\u95DC\\u9589\\u8A3B\\u89E3\\u3002\",\"\\u50C5\\u7576\\u6E38\\u6A19\\u4F4D\\u65BC\\u7A7A\\u767D\\u7684\\u5DE6\\u5074\\u6642\\u81EA\\u52D5\\u95DC\\u9589\\u8A3B\\u89E3\\u3002\",\"\\u63A7\\u5236\\u4F7F\\u7528\\u8005\\u65B0\\u589E\\u958B\\u555F\\u7684\\u8A3B\\u89E3\\u4E4B\\u5F8C\\uFF0C\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u8A72\\u81EA\\u52D5\\u95DC\\u9589\\u8A3B\\u89E3\\u3002\",\"\\u50C5\\u5728\\u81EA\\u52D5\\u63D2\\u5165\\u76F8\\u9130\\u7684\\u53F3\\u5F15\\u865F\\u6216\\u62EC\\u5F27\\u6642\\uFF0C\\u624D\\u5C07\\u5176\\u79FB\\u9664\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u5728\\u522A\\u9664\\u6642\\u79FB\\u9664\\u76F8\\u9130\\u7684\\u53F3\\u5F15\\u865F\\u6216\\u62EC\\u5F27\\u3002\",\"\\u50C5\\u5728\\u81EA\\u52D5\\u63D2\\u5165\\u53F3\\u5F15\\u865F\\u6216\\u62EC\\u865F\\u6642\\uFF0C\\u624D\\u5728\\u5176\\u4E0A\\u65B9\\u9375\\u5165\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u5728\\u53F3\\u5F15\\u865F\\u6216\\u62EC\\u865F\\u4E0A\\u9375\\u5165\\u3002\",\"\\u4F7F\\u7528\\u8A9E\\u8A00\\u914D\\u7F6E\\u78BA\\u5B9A\\u4F55\\u6642\\u81EA\\u52D5\\u95DC\\u9589\\u5F15\\u865F\\u3002\",\"\\u50C5\\u7576\\u6E38\\u6A19\\u4F4D\\u65BC\\u7A7A\\u767D\\u7684\\u5DE6\\u5074\\u6642\\u81EA\\u52D5\\u95DC\\u9589\\u5F15\\u865F\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u5728\\u4F7F\\u7528\\u8005\\u65B0\\u589E\\u958B\\u59CB\\u5F15\\u865F\\u5F8C\\uFF0C\\u81EA\\u52D5\\u52A0\\u4E0A\\u95DC\\u9589\\u5F15\\u865F\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E0D\\u6703\\u81EA\\u52D5\\u63D2\\u5165\\u7E2E\\u6392\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6703\\u4FDD\\u7559\\u76EE\\u524D\\u884C\\u7684\\u7E2E\\u6392\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6703\\u4FDD\\u7559\\u76EE\\u524D\\u884C\\u7684\\u7E2E\\u6392\\u4E26\\u63A5\\u53D7\\u8A9E\\u8A00\\u5B9A\\u7FA9\\u7684\\u62EC\\u865F\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6703\\u76EE\\u524D\\u884C\\u7684\\u7E2E\\u6392\\u3001\\u63A5\\u53D7\\u8A9E\\u8A00\\u5B9A\\u7FA9\\u7684\\u62EC\\u865F\\u4E26\\u53EB\\u7528\\u8A9E\\u8A00\\u5B9A\\u7FA9\\u7684\\u7279\\u6B8A onEnterRules\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6703\\u4FDD\\u7559\\u76EE\\u524D\\u884C\\u7684\\u7E2E\\u6392\\u3001\\u63A5\\u53D7\\u8A9E\\u8A00\\u5B9A\\u7FA9\\u7684\\u62EC\\u865F\\u4E26\\u53EB\\u7528\\u8A9E\\u8A00\\u5B9A\\u7FA9\\u7684\\u7279\\u6B8A onEnterRules \\u4E26\\u63A5\\u53D7\\u8A9E\\u8A00\\u5B9A\\u7FA9\\u7684 indentationRules\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u5728\\u4F7F\\u7528\\u8005\\u9375\\u5165\\u3001\\u8CBC\\u4E0A\\u3001\\u79FB\\u52D5\\u6216\\u7E2E\\u6392\\u884C\\u6642\\u81EA\\u52D5\\u8ABF\\u6574\\u7E2E\\u6392\\u3002\",\"\\u4F7F\\u7528\\u8A9E\\u8A00\\u7D44\\u614B\\u4F86\\u6C7A\\u5B9A\\u4F55\\u6642\\u81EA\\u52D5\\u74B0\\u7E5E\\u9078\\u53D6\\u9805\\u76EE\\u3002\",\"\\u7528\\u5F15\\u865F\\u62EC\\u4F4F\\uFF0C\\u800C\\u975E\\u4F7F\\u7528\\u62EC\\u5F27\\u3002\",\"\\u7528\\u62EC\\u5F27\\u62EC\\u4F4F\\uFF0C\\u800C\\u975E\\u4F7F\\u7528\\u5F15\\u865F\\u3002 \",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u5728\\u9375\\u5165\\u5F15\\u865F\\u6216\\u62EC\\u5F27\\u6642\\u81EA\\u52D5\\u5305\\u570D\\u9078\\u53D6\\u7BC4\\u570D\\u3002\",\"\\u7576\\u4F7F\\u7528\\u7A7A\\u683C\\u9032\\u884C\\u7E2E\\u6392\\u6642\\uFF0C\\u6703\\u6A21\\u64EC\\u5B9A\\u4F4D\\u5B57\\u5143\\u7684\\u9078\\u53D6\\u8868\\u73FE\\u65B9\\u5F0F\\u3002\\u9078\\u53D6\\u7BC4\\u570D\\u6703\\u4F9D\\u5FAA\\u5B9A\\u4F4D\\u505C\\u99D0\\u9EDE\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u986F\\u793A codelens\\u3002\",\"\\u63A7\\u5236 CodeLens \\u7684\\u5B57\\u578B\\u5BB6\\u65CF\\u3002\",\"\\u63A7\\u5236 CodeLens \\u7684\\u5B57\\u578B\\u5927\\u5C0F (\\u50CF\\u7D20)\\u3002\\u8A2D\\u5B9A\\u70BA 0 \\u6642\\uFF0C\\u6703\\u4F7F\\u7528 90% \\u7684 `#editor.fontSize#`\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u8F49\\u8B6F\\u5167\\u5D4C\\u8272\\u5F69\\u88DD\\u98FE\\u9805\\u76EE\\u8207\\u8272\\u5F69\\u9078\\u64C7\\u5668\\u3002\",\"\\u8B93\\u8272\\u5F69\\u9078\\u64C7\\u5668\\u5728\\u6309\\u4E00\\u4E0B\\u548C\\u505C\\u99D0\\u8272\\u5F69\\u5728\\u88DD\\u98FE\\u9805\\u76EE\\u4E0A\\u6642\\u51FA\\u73FE\",\"\\u8B93\\u8272\\u5F69\\u9078\\u64C7\\u5668\\u5728\\u505C\\u99D0\\u8272\\u5F69\\u88DD\\u98FE\\u9805\\u76EE\\u6642\\u51FA\\u73FE\",\"\\u8B93\\u8272\\u5F69\\u9078\\u64C7\\u5668\\u5728\\u6309\\u4E00\\u4E0B\\u8272\\u5F69\\u88DD\\u98FE\\u9805\\u76EE\\u6642\\u51FA\\u73FE\",\"\\u63A7\\u5236\\u689D\\u4EF6\\uFF0C\\u8B93\\u8272\\u5F69\\u9078\\u64C7\\u5668\\u5F9E\\u8272\\u5F69\\u88DD\\u98FE\\u9805\\u76EE\\u51FA\\u73FE\",\"\\u63A7\\u5236\\u4E00\\u6B21\\u53EF\\u5728\\u7DE8\\u8F2F\\u5668\\u4E2D\\u5448\\u73FE\\u7684\\u8272\\u5F69\\u88DD\\u98FE\\u9805\\u76EE\\u6700\\u5927\\u6578\\u76EE\\u3002\",\"\\u555F\\u7528\\u5373\\u53EF\\u4EE5\\u6ED1\\u9F20\\u8207\\u6309\\u9375\\u9078\\u53D6\\u9032\\u884C\\u8CC7\\u6599\\u884C\\u9078\\u53D6\\u3002\",\"\\u63A7\\u5236\\u8A9E\\u6CD5\\u9192\\u76EE\\u63D0\\u793A\\u662F\\u5426\\u61C9\\u8907\\u88FD\\u5230\\u526A\\u8CBC\\u7C3F\\u3002\",\"\\u63A7\\u5236\\u8CC7\\u6599\\u6307\\u6A19\\u52D5\\u756B\\u6A23\\u5F0F\\u3002\",\"\\u5E73\\u6ED1\\u63D2\\u5165\\u865F\\u52D5\\u756B\\u5DF2\\u505C\\u7528\\u3002\",\"\\u53EA\\u6709\\u7576\\u4F7F\\u7528\\u8005\\u4F7F\\u7528\\u660E\\u78BA\\u624B\\u52E2\\u79FB\\u52D5\\u6E38\\u6A19\\u6642\\uFF0C\\u624D\\u6703\\u555F\\u7528\\u5E73\\u6ED1\\u63D2\\u5165\\u865F\\u52D5\\u756B\\u3002\",\"\\u6C38\\u9060\\u555F\\u7528\\u5E73\\u6ED1\\u63D2\\u5165\\u865F\\u52D5\\u756B\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u555F\\u7528\\u5E73\\u6ED1\\u63D2\\u5165\\u9EDE\\u52D5\\u756B\\u3002 \",\"\\u63A7\\u5236\\u63D2\\u5165\\u8F38\\u5165\\u6A21\\u5F0F\\u4E2D\\u7684\\u6E38\\u6A19\\u6A23\\u5F0F\\u3002\",\"\\u63A7\\u5236\\u6E38\\u6A19\\u4E0A\\u4E0B\\u5468\\u570D\\u53EF\\u986F\\u793A\\u7684\\u524D\\u7F6E\\u7DDA (\\u6700\\u5C0F\\u70BA 0) \\u548C\\u5F8C\\u7F6E\\u7DDA (\\u6700\\u5C0F\\u70BA 1) \\u7684\\u6700\\u5C0F\\u6578\\u76EE\\u3002\\u5728\\u67D0\\u4E9B\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7A31\\u70BA 'scrollOff' \\u6216 'scrollOffset'\\u3002\",\"\\u53EA\\u6709\\u901A\\u904E\\u9375\\u76E4\\u6216 API \\u89F8\\u767C\\u6642\\uFF0C\\u624D\\u6703\\u65BD\\u884C `cursorSurroundingLines`\\u3002\",\"\\u4E00\\u5F8B\\u5F37\\u5236\\u57F7\\u884C `cursorSurroundingLines`\",\"\\u63A7\\u5236\\u61C9\\u5F37\\u5236\\u57F7\\u884C `#editor.cursorSurroundingLines#` \\u7684\\u6642\\u9593\\u3002\",\"\\u63A7\\u5236\\u6E38\\u6A19\\u5BEC\\u5EA6\\uFF0C\\u7576 `#editor.cursorStyle#` \\u8A2D\\u5B9A\\u70BA `line` \\u6642\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u5141\\u8A31\\u900F\\u904E\\u62D6\\u653E\\u4F86\\u79FB\\u52D5\\u9078\\u53D6\\u9805\\u76EE\\u3002\",\"\\u4F7F\\u7528\\u65B0\\u7684 svg \\u8F49\\u8B6F\\u65B9\\u6CD5\\u3002\",\"\\u4F7F\\u7528\\u5177\\u6709\\u5B57\\u578B\\u5B57\\u5143\\u7684\\u65B0\\u8F49\\u8B6F\\u65B9\\u6CD5\\u3002\",\"\\u4F7F\\u7528\\u7A69\\u5B9A\\u8F49\\u8B6F\\u65B9\\u6CD5\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u4F7F\\u7528\\u65B0\\u7684\\u5BE6\\u9A57\\u6027\\u65B9\\u6CD5\\u4F86\\u5448\\u73FE\\u7A7A\\u767D\\u5B57\\u5143\\u3002\",\"\\u6309\\u4E0B `Alt` \\u6642\\u7684\\u6372\\u52D5\\u901F\\u5EA6\\u4E58\\u6578\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u555F\\u7528\\u7A0B\\u5F0F\\u78BC\\u647A\\u758A\\u529F\\u80FD\\u3002\",\"\\u4F7F\\u7528\\u8A9E\\u8A00\\u7279\\u5B9A\\u647A\\u758A\\u7B56\\u7565 (\\u5982\\u679C\\u53EF\\u7528)\\uFF0C\\u5426\\u5247\\u4F7F\\u7528\\u7E2E\\u6392\\u5F0F\\u7B56\\u7565\\u3002\",\"\\u4F7F\\u7528\\u7E2E\\u6392\\u5F0F\\u647A\\u758A\\u7B56\\u7565\\u3002\",\"\\u63A7\\u5236\\u8A08\\u7B97\\u8CC7\\u6599\\u593E\\u7BC4\\u570D\\u7684\\u7B56\\u7565\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u5C07\\u6298\\u758A\\u7684\\u7BC4\\u570D\\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6703\\u81EA\\u52D5\\u647A\\u758A\\u532F\\u5165\\u7BC4\\u570D\\u3002\",\"\\u53EF\\u647A\\u758A\\u5340\\u57DF\\u7684\\u6578\\u76EE\\u4E0A\\u9650\\u3002\\u589E\\u52A0\\u6B64\\u503C\\u53EF\\u80FD\\u6703\\u9020\\u6210\\u7576\\u76EE\\u524D\\u7684\\u4F86\\u6E90\\u6709\\u5927\\u91CF\\u53EF\\u647A\\u758A\\u5340\\u57DF\\u6642\\uFF0C\\u7DE8\\u8F2F\\u5668\\u7684\\u56DE\\u61C9\\u901F\\u5EA6\\u8B8A\\u6162\\u3002\",\"\\u63A7\\u5236\\u6309\\u4E00\\u4E0B\\u5DF2\\u6298\\u758A\\u884C\\u5F8C\\u65B9\\u7684\\u7A7A\\u767D\\u5167\\u5BB9\\u662F\\u5426\\u6703\\u5C55\\u958B\\u884C\\u3002\",\"\\u63A7\\u5236\\u5B57\\u578B\\u5BB6\\u65CF\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u81EA\\u52D5\\u70BA\\u8CBC\\u4E0A\\u7684\\u5167\\u5BB9\\u8A2D\\u5B9A\\u683C\\u5F0F\\u3002\\u5FC5\\u9808\\u6709\\u53EF\\u7528\\u7684\\u683C\\u5F0F\\u5668\\uFF0C\\u800C\\u4E14\\u683C\\u5F0F\\u5668\\u61C9\\u80FD\\u5920\\u70BA\\u6587\\u4EF6\\u4E2D\\u7684\\u4E00\\u500B\\u7BC4\\u570D\\u8A2D\\u5B9A\\u683C\\u5F0F\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u81EA\\u52D5\\u5728\\u9375\\u5165\\u5F8C\\u8A2D\\u5B9A\\u884C\\u7684\\u683C\\u5F0F\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u8F49\\u8B6F\\u5782\\u76F4\\u5B57\\u7B26\\u908A\\u754C\\u3002\\u5B57\\u7B26\\u908A\\u754C\\u6700\\u5E38\\u7528\\u4F86\\u9032\\u884C\\u5075\\u932F\\u3002\",\"\\u63A7\\u5236\\u6E38\\u6A19\\u662F\\u5426\\u61C9\\u96B1\\u85CF\\u5728\\u6982\\u89C0\\u5C3A\\u898F\\u4E2D\\u3002\",\"\\u63A7\\u5236\\u5B57\\u6BCD\\u9593\\u8DDD (\\u50CF\\u7D20)\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u5DF2\\u555F\\u7528\\u9023\\u7D50\\u7DE8\\u8F2F\\u3002\\u76F8\\u95DC\\u7B26\\u865F (\\u4F8B\\u5982 HTML \\u6A19\\u7C64) \\u6703\\u6839\\u64DA\\u8A9E\\u8A00\\u5728\\u7DE8\\u8F2F\\u6642\\u66F4\\u65B0\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u5075\\u6E2C\\u9023\\u7D50\\u4E26\\u4F7F\\u5176\\u53EF\\u4F9B\\u9EDE\\u9078\\u3002\",\"\\u5C07\\u7B26\\u5408\\u7684\\u62EC\\u865F\\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u8981\\u7528\\u65BC\\u6ED1\\u9F20\\u6EFE\\u8F2A\\u6372\\u52D5\\u4E8B\\u4EF6 `deltaX` \\u548C `deltaY` \\u7684\\u4E58\\u6578\\u3002\",\"\\u4F7F\\u7528\\u6ED1\\u9F20\\u6EFE\\u8F2A\\u4E26\\u6309\\u4F4F `Cmd` \\u6642\\uFF0C\\u7E2E\\u653E\\u7DE8\\u8F2F\\u5668\\u7684\\u5B57\\u578B\",\"\\u4F7F\\u7528\\u6ED1\\u9F20\\u6EFE\\u8F2A\\u4E26\\u6309\\u4F4F `Ctrl` \\u6642\\uFF0C\\u7E2E\\u653E\\u7DE8\\u8F2F\\u5668\\u7684\\u5B57\\u578B\",\"\\u5728\\u591A\\u500B\\u6E38\\u6A19\\u91CD\\u758A\\u6642\\u5C07\\u5176\\u5408\\u4F75\\u3002\",\"\\u5C0D\\u61C9Windows\\u548CLinux\\u7684'Control'\\u8207\\u5C0D\\u61C9 macOS \\u7684'Command'\\u3002\",\"\\u5C0D\\u61C9Windows\\u548CLinux\\u7684'Alt'\\u8207\\u5C0D\\u61C9macOS\\u7684'Option'\\u3002\",\"\\u7528\\u65BC\\u5728\\u6ED1\\u9F20\\u65B0\\u589E\\u591A\\u500B\\u6E38\\u6A19\\u7684\\u4FEE\\u98FE\\u5143\\u3002[\\u79FB\\u81F3\\u5B9A\\u7FA9] \\u548C [\\u958B\\u555F\\u9023\\u7D50] \\u6ED1\\u9F20\\u624B\\u52E2\\u6703\\u52A0\\u4EE5\\u9069\\u61C9\\uFF0C\\u4EE5\\u907F\\u514D\\u8207 [\\u591A\\u500B\\u6E38\\u6A19\\u7684\\u4FEE\\u98FE\\u5143](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier) \\u76F8\\u885D\\u7A81\\u3002\",\"\\u6BCF\\u500B\\u6E38\\u6A19\\u90FD\\u6703\\u8CBC\\u4E0A\\u4E00\\u884C\\u6587\\u5B57\\u3002\",\"\\u6BCF\\u500B\\u6E38\\u6A19\\u90FD\\u6703\\u8CBC\\u4E0A\\u5168\\u6587\\u3002\",\"\\u7576\\u5DF2\\u8CBC\\u4E0A\\u6587\\u5B57\\u7684\\u884C\\u6578\\u8207\\u6E38\\u6A19\\u6578\\u76F8\\u7B26\\u6642\\u63A7\\u5236\\u8CBC\\u4E0A\\u529F\\u80FD\\u3002\",\"\\u63A7\\u5236\\u4E00\\u6B21\\u53EF\\u5728\\u4F5C\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u6E38\\u6A19\\u6578\\u76EE\\u4E0A\\u9650\\u3002\",\"\\u4E0D\\u5F37\\u8ABF\\u986F\\u793A\\u51FA\\u73FE\\u9805\\u76EE\\u3002\",\"\\u50C5\\u5F37\\u8ABF\\u986F\\u793A\\u76EE\\u524D\\u6A94\\u6848\\u4E2D\\u7684\\u51FA\\u73FE\\u9805\\u76EE\\u3002\",\"\\u5BE6\\u9A57: \\u8DE8\\u6240\\u6709\\u6709\\u6548\\u7684\\u958B\\u555F\\u6A94\\u6848\\u5F37\\u8ABF\\u986F\\u793A\\u51FA\\u73FE\\u9805\\u76EE\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u8DE8\\u958B\\u555F\\u7684\\u6A94\\u6848\\u5F37\\u8ABF\\u986F\\u793A\\u51FA\\u73FE\\u9805\\u76EE\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u5728\\u6982\\u89C0\\u5C3A\\u898F\\u5468\\u570D\\u7E6A\\u88FD\\u6846\\u7DDA\\u3002\",\"\\u958B\\u555F\\u9810\\u89BD\\u6642\\u7126\\u9EDE\\u6A39\\u72C0\",\"\\u958B\\u555F\\u6642\\u805A\\u7126\\u7DE8\\u8F2F\\u5668\",\"\\u63A7\\u5236\\u8981\\u805A\\u7126\\u5167\\u5D4C\\u7DE8\\u8F2F\\u5668\\u6216\\u9810\\u89BD\\u5C0F\\u5DE5\\u5177\\u4E2D\\u7684\\u6A39\\u7CFB\\u3002\",\"\\u63A7\\u5236\\u300C\\u524D\\u5F80\\u5B9A\\u7FA9\\u300D\\u6ED1\\u9F20\\u624B\\u52E2\\uFF0C\\u662F\\u5426\\u4E00\\u5F8B\\u958B\\u555F\\u7784\\u6838\\u5C0F\\u5DE5\\u5177\\u3002\",\"\\u63A7\\u5236\\u5728\\u5FEB\\u901F\\u5EFA\\u8B70\\u986F\\u793A\\u5F8C\\u7684\\u5EF6\\u9072 (\\u4EE5\\u6BEB\\u79D2\\u70BA\\u55AE\\u4F4D)\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6703\\u81EA\\u52D5\\u4F9D\\u985E\\u578B\\u91CD\\u65B0\\u547D\\u540D\\u3002\",\"\\u5DF2\\u6DD8\\u6C70\\uFF0C\\u8ACB\\u6539\\u7528 `editor.linkedEditing`\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u986F\\u793A\\u63A7\\u5236\\u5B57\\u5143\\u3002\",\"\\u5728\\u6A94\\u6848\\u7D50\\u5C3E\\u70BA\\u65B0\\u884C\\u6642\\uFF0C\\u5448\\u73FE\\u6700\\u5F8C\\u4E00\\u884C\\u7684\\u865F\\u78BC\\u3002\",\"\\u9192\\u76EE\\u63D0\\u793A\\u88DD\\u8A02\\u908A\\u548C\\u76EE\\u524D\\u7684\\u884C\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u5982\\u4F55\\u986F\\u793A\\u76EE\\u524D\\u884C\\u7684\\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u63A7\\u5236\\u7576\\u805A\\u7126\\u65BC\\u7DE8\\u8F2F\\u5668\\u6642\\uFF0C\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u50C5\\u8F49\\u8B6F\\u76EE\\u524D\\u884C\\u7684\\u9192\\u76EE\\u63D0\\u793A\\u3002\",\"\\u8F49\\u8B6F\\u7A7A\\u767D\\u5B57\\u5143\\uFF0C\\u4F46\\u6587\\u5B57\\u4E4B\\u9593\\u7684\\u55AE\\u4E00\\u7A7A\\u683C\\u9664\\u5916\\u3002\",\"\\u53EA\\u8F49\\u8B6F\\u6240\\u9078\\u6587\\u5B57\\u7684\\u7A7A\\u767D\\u5B57\\u5143\\u3002\",\"\\u53EA\\u8F49\\u8B6F\\u7D50\\u5C3E\\u7A7A\\u767D\\u5B57\\u5143\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u61C9\\u5982\\u4F55\\u8F49\\u8B6F\\u7A7A\\u767D\\u5B57\\u5143\\u3002\",\"\\u63A7\\u5236\\u9078\\u53D6\\u7BC4\\u570D\\u662F\\u5426\\u6709\\u5713\\u89D2\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u6C34\\u5E73\\u6372\\u52D5\\u7684\\u984D\\u5916\\u5B57\\u5143\\u6578\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6372\\u52D5\\u5230\\u6700\\u5F8C\\u4E00\\u884C\\u4E4B\\u5916\\u3002\",\"\\u540C\\u6642\\u9032\\u884C\\u5782\\u76F4\\u8207\\u6C34\\u5E73\\u6372\\u52D5\\u6642\\uFF0C\\u50C5\\u6CBF\\u4E3B\\u8EF8\\u6372\\u52D5\\u3002\\u907F\\u514D\\u5728\\u8ECC\\u8DE1\\u677F\\u4E0A\\u9032\\u884C\\u5782\\u76F4\\u6372\\u52D5\\u6642\\u767C\\u751F\\u6C34\\u5E73\\u6F02\\u79FB\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u652F\\u63F4 Linux \\u4E3B\\u8981\\u526A\\u8CBC\\u7C3F\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u61C9\\u9192\\u76EE\\u63D0\\u793A\\u8207\\u9078\\u53D6\\u9805\\u76EE\\u985E\\u4F3C\\u7684\\u76F8\\u7B26\\u9805\\u76EE\\u3002\",\"\\u4E00\\u5F8B\\u986F\\u793A\\u647A\\u758A\\u63A7\\u5236\\u9805\\u3002\",\"\\u6C38\\u4E0D\\u986F\\u793A\\u647A\\u758A\\u63A7\\u5236\\u9805\\u8207\\u6E1B\\u5C11\\u88DD\\u8A02\\u908A\\u5927\\u5C0F\\u3002\",\"\\u50C5\\u7576\\u6ED1\\u9F20\\u61F8\\u505C\\u5728\\u6D3B\\u52D5\\u5217\\u4E0A\\u6642\\uFF0C\\u624D\\u986F\\u793A\\u6298\\u758A\\u529F\\u80FD\\u3002\",\"\\u63A7\\u5236\\u647A\\u758A\\u63A7\\u5236\\u9805\\u5728\\u88DD\\u8A02\\u908A\\u4E0A\\u7684\\u986F\\u793A\\u6642\\u6A5F\\u3002\",\"\\u63A7\\u5236\\u672A\\u4F7F\\u7528\\u7A0B\\u5F0F\\u78BC\\u7684\\u6DE1\\u51FA\\u3002\",\"\\u63A7\\u5236\\u5DF2\\u522A\\u9664\\u7684\\u6DD8\\u6C70\\u8B8A\\u6578\\u3002\",\"\\u5C07\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u5EFA\\u8B70\\u986F\\u793A\\u65BC\\u5176\\u4ED6\\u5EFA\\u8B70\\u7684\\u9802\\u7AEF\\u3002\",\"\\u5C07\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u5EFA\\u8B70\\u986F\\u793A\\u65BC\\u5176\\u4ED6\\u5EFA\\u8B70\\u7684\\u4E0B\\u65B9\\u3002\",\"\\u5C07\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u5EFA\\u8B70\\u8207\\u5176\\u4ED6\\u5EFA\\u8B70\\u4E00\\u540C\\u986F\\u793A\\u3002\",\"\\u4E0D\\u986F\\u793A\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u5EFA\\u8B70\\u3002\",\"\\u63A7\\u5236\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u662F\\u5426\\u96A8\\u5176\\u4ED6\\u5EFA\\u8B70\\u986F\\u793A\\uFF0C\\u4EE5\\u53CA\\u5176\\u6392\\u5E8F\\u65B9\\u5F0F\\u3002\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6703\\u4F7F\\u7528\\u52D5\\u756B\\u6372\\u52D5\",\"\\u63A7\\u5236\\u7576\\u986F\\u793A\\u5167\\u5D4C\\u5B8C\\u6210\\u6642\\uFF0C\\u662F\\u5426\\u61C9\\u63D0\\u4F9B\\u5354\\u52A9\\u5DE5\\u5177\\u63D0\\u793A\\u7D66\\u87A2\\u5E55\\u52A9\\u8B80\\u7A0B\\u5F0F\\u4F7F\\u7528\\u8005\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u7684\\u5B57\\u578B\\u5927\\u5C0F\\u3002\\u7576\\u8A2D\\u5B9A\\u70BA {0} \\u6642\\uFF0C\\u5247\\u6703\\u4F7F\\u7528 {1} \\u7684\\u503C\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u7684\\u884C\\u9AD8\\u3002\\u7576\\u8A2D\\u5B9A\\u70BA {0} \\u6642\\uFF0C\\u5247\\u6703\\u4F7F\\u7528 {1} \\u7684\\u503C\\u3002\\u6700\\u5C0F\\u503C\\u70BA 8\\u3002\",\"\\u63A7\\u5236\\u5EFA\\u8B70\\u662F\\u5426\\u61C9\\u5728\\u9375\\u5165\\u89F8\\u767C\\u5B57\\u5143\\u6642\\u81EA\\u52D5\\u986F\\u793A\\u3002\",\"\\u4E00\\u5F8B\\u9078\\u53D6\\u7B2C\\u4E00\\u500B\\u5EFA\\u8B70\\u3002\",\"\\u9664\\u975E\\u9032\\u4E00\\u6B65\\u9375\\u5165\\u9078\\u53D6\\u4E86\\u5EFA\\u8B70\\uFF0C\\u5426\\u5247\\u9078\\u53D6\\u6700\\u8FD1\\u7684\\u5EFA\\u8B70\\uFF0C\\u4F8B\\u5982 `console.| -> console.log`\\uFF0C\\u539F\\u56E0\\u662F\\u6700\\u8FD1\\u5B8C\\u6210\\u4E86 `log`\\u3002\",\"\\u6839\\u64DA\\u5148\\u524D\\u5DF2\\u5B8C\\u6210\\u8A72\\u5EFA\\u8B70\\u7684\\u524D\\u7F6E\\u8A5E\\u9078\\u53D6\\u5EFA\\u8B70\\uFF0C\\u4F8B\\u5982 `co -> console` \\u548C `con -> const`\\u3002\",\"\\u63A7\\u5236\\u5728\\u986F\\u793A\\u5EFA\\u8B70\\u6E05\\u55AE\\u6642\\u5982\\u4F55\\u9810\\u5148\\u9078\\u53D6\\u5EFA\\u8B70\\u3002\",\"\\u6309 Tab \\u6642\\uFF0CTab \\u5B8C\\u6210\\u6703\\u63D2\\u5165\\u6700\\u7B26\\u5408\\u7684\\u5EFA\\u8B70\\u3002\",\"\\u505C\\u7528 tab \\u9375\\u81EA\\u52D5\\u5B8C\\u6210\\u3002\",\"\\u5728\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u7684\\u9996\\u78BC\\u76F8\\u7B26\\u6642\\u4F7F\\u7528 Tab \\u5B8C\\u6210\\u3002\\u672A\\u555F\\u7528 'quickSuggestions' \\u6642\\u6548\\u679C\\u6700\\u4F73\\u3002\",\"\\u555F\\u7528 tab \\u9375\\u81EA\\u52D5\\u5B8C\\u6210\\u3002\",\"\\u81EA\\u52D5\\u79FB\\u9664\\u7570\\u5E38\\u7684\\u884C\\u7D50\\u675F\\u5B57\\u5143\\u3002\",\"\\u5FFD\\u7565\\u7570\\u5E38\\u7684\\u884C\\u7D50\\u675F\\u5B57\\u5143\\u3002\",\"\\u8981\\u79FB\\u9664\\u4E4B\\u7570\\u5E38\\u7684\\u884C\\u7D50\\u675F\\u5B57\\u5143\\u63D0\\u793A\\u3002\",\"\\u79FB\\u9664\\u53EF\\u80FD\\u5C0E\\u81F4\\u554F\\u984C\\u7684\\u7570\\u5E38\\u884C\\u7D50\\u675F\\u5B57\\u5143\\u3002\",\"\\u7A7A\\u683C\\u548C\\u7D22\\u5F15\\u6A19\\u7C64\\u7684\\u63D2\\u5165\\u548C\\u522A\\u9664\\u6703\\u8207\\u7D22\\u5F15\\u6A19\\u7C64\\u7684\\u505C\\u9813\\u5C0D\\u9F4A\\u3002\",\"\\u4F7F\\u7528\\u9810\\u8A2D\\u7684\\u5206\\u884C\\u7B26\\u865F\\u898F\\u5247\\u3002\",\"\\u4E2D\\u6587/\\u65E5\\u6587/\\u97D3\\u6587 (CJK) \\u6587\\u5B57\\u4E0D\\u61C9\\u8A72\\u4F7F\\u7528\\u65B7\\u5B57\\u3002\\u975E\\u4E2D\\u65E5\\u97D3\\u7684\\u6587\\u5B57\\u884C\\u70BA\\u8207\\u4E00\\u822C\\u6587\\u5B57\\u76F8\\u540C\\u3002\",\"\\u63A7\\u5236\\u7528\\u65BC\\u4E2D\\u6587/\\u65E5\\u6587/\\u97D3\\u6587 (CJK) \\u6587\\u5B57\\u7684\\u65B7\\u5B57\\u898F\\u5247\\u3002\",\"\\u5728\\u57F7\\u884C\\u6587\\u5B57\\u76F8\\u95DC\\u5C0E\\u89BD\\u6216\\u4F5C\\u696D\\u6642\\u8981\\u7528\\u4F5C\\u6587\\u5B57\\u5206\\u9694\\u7B26\\u865F\\u7684\\u5B57\\u5143\",\"\\u4E00\\u5F8B\\u4E0D\\u63DB\\u884C\\u3002\",\"\\u4F9D\\u6AA2\\u8996\\u5340\\u5BEC\\u5EA6\\u63DB\\u884C\\u3002\",\"\\u65BC '#editor.wordWrapColumn#' \\u63DB\\u884C\\u3002\",\"\\u7576\\u6AA2\\u8996\\u5340\\u7E2E\\u81F3\\u6700\\u5C0F\\u4E26\\u8A2D\\u5B9A '#editor.wordWrapColumn#' \\u6642\\u63DB\\u884C\\u3002\",\"\\u63A7\\u5236\\u5982\\u4F55\\u63DB\\u884C\\u3002\",\"\\u7576 `#editor.wordWrap#` \\u70BA `wordWrapColumn` \\u6216 `bounded` \\u6642\\uFF0C\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u8CC7\\u6599\\u884C\\u63DB\\u884C\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u61C9\\u4F7F\\u7528\\u9810\\u8A2D\\u7684\\u6587\\u4EF6\\u8272\\u5F69\\u63D0\\u4F9B\\u8005\\u986F\\u793A\\u5167\\u5D4C\\u8272\\u5F69\\u88DD\\u98FE\",\"\\u63A7\\u5236\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u63A5\\u6536\\u7D22\\u5F15\\u6A19\\u7C64\\uFF0C\\u6216\\u5C07\\u5176\\u5EF6\\u9072\\u81F3\\u5DE5\\u4F5C\\u53F0\\u9032\\u884C\\u6D41\\u89BD\\u3002\",\"\\u76EE\\u524D\\u6E38\\u6A19\\u4F4D\\u7F6E\\u884C\\u7684\\u53CD\\u767D\\u986F\\u793A\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u76EE\\u524D\\u6E38\\u6A19\\u4F4D\\u7F6E\\u884C\\u4E4B\\u5468\\u570D\\u6846\\u7DDA\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u9192\\u76EE\\u63D0\\u793A\\u7BC4\\u570D\\u7684\\u80CC\\u666F\\u8272\\u5F69\\uFF0C\\u4F8B\\u5982\\u5FEB\\u901F\\u958B\\u555F\\u4E26\\u5C0B\\u627E\\u529F\\u80FD\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u53CD\\u767D\\u986F\\u793A\\u7BC4\\u570D\\u5468\\u570D\\u908A\\u6846\\u7684\\u80CC\\u666F\\u984F\\u8272\\u3002\",\"\\u9192\\u76EE\\u63D0\\u793A\\u7B26\\u865F\\u7684\\u80CC\\u666F\\u8272\\u5F69\\uFF0C\\u76F8\\u4F3C\\u65BC\\u524D\\u5F80\\u4E0B\\u4E00\\u500B\\u5B9A\\u7FA9\\u6216\\u524D\\u5F80\\u4E0B\\u4E00\\u500B/\\u4E0A\\u4E00\\u500B\\u7B26\\u865F\\u3002\\u8272\\u5F69\\u5FC5\\u9808\\u900F\\u660E\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u9192\\u76EE\\u63D0\\u793A\\u5468\\u570D\\u7684\\u908A\\u754C\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6E38\\u6A19\\u7684\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6E38\\u6A19\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5141\\u8A31\\u81EA\\u8A02\\u5340\\u584A\\u6E38\\u6A19\\u91CD\\u758A\\u7684\\u5B57\\u5143\\u8272\\u5F69\\u3002\",\"\\u6709\\u591A\\u500B\\u6E38\\u6A19\\u5B58\\u5728\\u6642\\uFF0C\\u4E3B\\u8981\\u7DE8\\u8F2F\\u5668\\u6E38\\u6A19\\u7684\\u8272\\u5F69\\u3002\",\"\\u6709\\u591A\\u500B\\u6E38\\u6A19\\u5B58\\u5728\\u6642\\uFF0C\\u4E3B\\u8981\\u7DE8\\u8F2F\\u5668\\u6E38\\u6A19\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5141\\u8A31\\u81EA\\u8A02\\u5340\\u584A\\u6E38\\u6A19\\u91CD\\u758A\\u7684\\u5B57\\u5143\\u8272\\u5F69\\u3002\",\"\\u6709\\u591A\\u500B\\u6E38\\u6A19\\u5B58\\u5728\\u6642\\uFF0C\\u6B21\\u8981\\u7DE8\\u8F2F\\u5668\\u6E38\\u6A19\\u7684\\u8272\\u5F69\\u3002\",\"\\u6709\\u591A\\u500B\\u6E38\\u6A19\\u5B58\\u5728\\u6642\\uFF0C\\u6B21\\u8981\\u7DE8\\u8F2F\\u5668\\u6E38\\u6A19\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5141\\u8A31\\u81EA\\u8A02\\u5340\\u584A\\u6E38\\u6A19\\u91CD\\u758A\\u7684\\u5B57\\u5143\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7A7A\\u767D\\u5B57\\u5143\\u7684\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u884C\\u865F\\u7684\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69\\u3002\",\"'editorIndentGuide.background' \\u5DF2\\u88AB\\u53D6\\u4EE3\\u3002\\u8ACB\\u6539\\u7528 'editorIndentGuide.background1'\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69\\u3002\",\"'editorIndentGuide.activeBackground' \\u5DF2\\u88AB\\u53D6\\u4EE3\\u3002\\u8ACB\\u6539\\u7528 'editorIndentGuide.activeBackground1'\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (1)\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (2)\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (3)\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (4)\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (5)\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (6)\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (1)\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (2)\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (3)\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (4)\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (5)\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u8272\\u5F69 (6)\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4F7F\\u7528\\u4E2D\\u884C\\u865F\\u7684\\u8272\\u5F69\",\"Id \\u5DF2\\u53D6\\u4EE3\\u3002\\u8ACB\\u6539\\u7528 'editorLineNumber.activeForeground' \\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4F7F\\u7528\\u4E2D\\u884C\\u865F\\u7684\\u8272\\u5F69\",\"editor.renderFinalNewline \\u8A2D\\u5B9A\\u70BA\\u6697\\u7070\\u8272\\u6642\\uFF0C\\u6700\\u7D42\\u7DE8\\u8F2F\\u5668\\u7DDA\\u689D\\u7684\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C3A\\u898F\\u7684\\u8272\\u5F69\",\"\\u7DE8\\u8F2F\\u5668\\u7A0B\\u5F0F\\u78BC\\u6FFE\\u93E1\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u6210\\u5C0D\\u62EC\\u865F\\u80CC\\u666F\\u8272\\u5F69\",\"\\u6210\\u5C0D\\u62EC\\u865F\\u908A\\u6846\\u8272\\u5F69\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u7DE8\\u8F2F\\u5668\\u5C3A\\u898F\\u7684\\u908A\\u6846\\u8272\\u5F69.\",\"\\u7DE8\\u8F2F\\u5668\\u6982\\u89C0\\u5C3A\\u898F\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u908A\\u6846\\u7684\\u80CC\\u666F\\u984F\\u8272,\\u5305\\u542B\\u884C\\u865F\\u8207\\u5B57\\u5F62\\u5716\\u793A\\u7684\\u908A\\u6846.\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u4E0D\\u5FC5\\u8981 (\\u672A\\u4F7F\\u7528) \\u539F\\u59CB\\u7A0B\\u5F0F\\u78BC\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",`\\u7DE8\\u8F2F\\u5668\\u4E2D\\u4E0D\\u5FC5\\u8981 (\\u672A\\u4F7F\\u7528) \\u539F\\u59CB\\u7A0B\\u5F0F\\u78BC\\u7684\\u4E0D\\u900F\\u660E\\u5EA6\\u3002\\u4F8B\\u5982 \"#000000c0\\u201D \\u6703\\u4EE5 75% \\u7684\\u4E0D\\u900F\\u660E\\u5EA6\\u8F49\\u8B6F\\u7A0B\\u5F0F\\u78BC\\u3002\\u91DD\\u5C0D\\u9AD8\\u5C0D\\u6BD4\\u4E3B\\u984C\\uFF0C\\u4F7F\\u7528 'editorUnnecessaryCode.border' \\u4E3B\\u984C\\u8272\\u5F69\\u53EF\\u70BA\\u4E0D\\u5FC5\\u8981\\u7684\\u7A0B\\u5F0F\\u78BC\\u52A0\\u4E0A\\u5E95\\u7DDA\\uFF0C\\u800C\\u4E0D\\u662F\\u5C07\\u5176\\u8B8A\\u6DE1\\u3002`,\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6D6E\\u6C34\\u5370\\u6587\\u5B57\\u7684\\u908A\\u6846\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6D6E\\u6C34\\u5370\\u6587\\u5B57\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6D6E\\u6C34\\u5370\\u6587\\u5B57\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7BC4\\u570D\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u932F\\u8AA4\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u8B66\\u793A\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u8CC7\\u8A0A\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u62EC\\u5F27 (1) \\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u8457\\u8272\\u3002\",\"\\u62EC\\u5F27 (2) \\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u8457\\u8272\\u3002\",\"\\u62EC\\u5F27 (3) \\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u8457\\u8272\\u3002\",\"\\u62EC\\u5F27 (4) \\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u8457\\u8272\\u3002\",\"\\u62EC\\u5F27 (5) \\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u8457\\u8272\\u3002\",\"\\u62EC\\u5F27 (6) \\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u6210\\u5C0D\\u65B9\\u62EC\\u5F27\\u8457\\u8272\\u3002\",\"\\u672A\\u9810\\u671F\\u62EC\\u5F27\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (1) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (2) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (3) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (4) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (5) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (6) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (1) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (2) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (3) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (4) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (5) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA (6) \\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u9700\\u8981\\u555F\\u7528\\u62EC\\u5F27\\u914D\\u5C0D\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u7528\\u4F86\\u9192\\u76EE\\u63D0\\u793A Unicode \\u5B57\\u5143\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u7528\\u4F86\\u9192\\u76EE\\u63D0\\u793A Unicode \\u5B57\\u5143\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6587\\u5B57\\u662F\\u5426\\u6709\\u7126\\u9EDE (\\u6E38\\u6A19\\u9583\\u720D)\",\"\\u7DE8\\u8F2F\\u5668\\u6216\\u7DE8\\u8F2F\\u5668\\u5C0F\\u5DE5\\u5177\\u662F\\u5426\\u6709\\u7126\\u9EDE (\\u4F8B\\u5982\\u7126\\u9EDE\\u4F4D\\u65BC [\\u5C0B\\u627E] \\u5C0F\\u5DE5\\u5177\\u4E2D)\",\"\\u7DE8\\u8F2F\\u5668\\u6216 RTF \\u8F38\\u5165\\u662F\\u5426\\u6709\\u7126\\u9EDE (\\u6E38\\u6A19\\u9583\\u720D)\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u70BA\\u552F\\u8B80\",\"\\u5167\\u5BB9\\u662F\\u5426\\u70BA Diff \\u7DE8\\u8F2F\\u5668\",\"\\u5167\\u5BB9\\u662F\\u5426\\u70BA\\u5167\\u5D4C Diff \\u7DE8\\u8F2F\\u5668\",null,\"\\u662F\\u5426\\u647A\\u758A\\u591A\\u91CD Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u6240\\u6709\\u6A94\\u6848\",\"Diff \\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u8B8A\\u66F4\",\"\\u662F\\u5426\\u9078\\u53D6\\u79FB\\u52D5\\u7684\\u7A0B\\u5F0F\\u78BC\\u5340\\u584A\\u9032\\u884C\\u6BD4\\u8F03\",\"\\u662F\\u5426\\u986F\\u793A\\u6613\\u5B58\\u53D6\\u5DEE\\u7570\\u6AA2\\u8996\\u5668\",\"\\u662F\\u5426\\u5DF2\\u9054\\u5230\\u5DEE\\u7570\\u7DE8\\u8F2F\\u5668\\u4E26\\u6392\\u5448\\u73FE\\u5167\\u5D4C\\u4E2D\\u65B7\\u9EDE\",\"\\u5167\\u5D4C\\u6A21\\u5F0F\\u662F\\u5426\\u4F5C\\u7528\\u4E2D\",\"\\u4FEE\\u6539\\u662F\\u5426\\u53EF\\u4EE5\\u5728 Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u5BEB\\u5165\",\"\\u4FEE\\u6539\\u662F\\u5426\\u53EF\\u4EE5\\u5728 Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u5BEB\\u5165\",\"\\u539F\\u59CB\\u6587\\u4EF6\\u7684 URI\",\"\\u5DF2\\u4FEE\\u6539\\u6587\\u4EF6\\u7684 URI\",\"'editor.columnSelection' \\u662F\\u5426\\u5DF2\\u555F\\u7528\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u9078\\u53D6\\u6587\\u5B57\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u591A\\u500B\\u9078\\u53D6\\u9805\\u76EE\",\"'Tab' \\u662F\\u5426\\u6703\\u5C07\\u7126\\u9EDE\\u79FB\\u51FA\\u7DE8\\u8F2F\\u5668\",\"\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u662F\\u5426\\u986F\\u793A\",\"\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u662F\\u5426\\u805A\\u7126\",\"\\u81EA\\u9ECF\\u6372\\u52D5\\u662F\\u5426\\u805A\\u7126\",\"\\u81EA\\u9ECF\\u6372\\u52D5\\u662F\\u5426\\u986F\\u793A\",\"\\u662F\\u5426\\u986F\\u793A\\u7368\\u7ACB\\u7684\\u984F\\u8272\\u9078\\u64C7\\u5668\",\"\\u7368\\u7ACB\\u7684\\u984F\\u8272\\u9078\\u64C7\\u5668\\u662F\\u5426\\u805A\\u7126\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u70BA\\u8F03\\u5927\\u7DE8\\u8F2F\\u5668\\u7684\\u4E00\\u90E8\\u5206 (\\u4F8B\\u5982\\u7B46\\u8A18\\u672C)\",\"\\u7DE8\\u8F2F\\u5668\\u7684\\u8A9E\\u8A00\\u8B58\\u5225\\u78BC\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u5B8C\\u6210\\u9805\\u76EE\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709 CodeLens \\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u5B9A\\u7FA9\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u5BA3\\u544A\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u5BE6\\u4F5C\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u578B\\u5225\\u5B9A\\u7FA9\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u66AB\\u7559\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u6587\\u4EF6\\u9192\\u76EE\\u63D0\\u793A\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u6587\\u4EF6\\u7B26\\u865F\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u53C3\\u8003\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u91CD\\u65B0\\u547D\\u540D\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u7C3D\\u7AE0\\u8AAA\\u660E\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u5167\\u5D4C\\u63D0\\u793A\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u6587\\u4EF6\\u683C\\u5F0F\\u5316\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u6587\\u4EF6\\u9078\\u53D6\\u9805\\u76EE\\u683C\\u5F0F\\u5316\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u591A\\u500B\\u6587\\u4EF6\\u683C\\u5F0F\\u5316\\u63D0\\u4F9B\\u8005\",\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u6709\\u591A\\u500B\\u6587\\u4EF6\\u9078\\u53D6\\u9805\\u76EE\\u683C\\u5F0F\\u5316\\u63D0\\u4F9B\\u8005\",\"\\u9663\\u5217\",\"\\u5E03\\u6797\\u503C\",\"\\u985E\\u5225\",\"\\u5E38\\u6578\",\"\\u5EFA\\u69CB\\u51FD\\u5F0F\",\"\\u5217\\u8209\",\"\\u5217\\u8209\\u6210\\u54E1\",\"\\u4E8B\\u4EF6\",\"\\u6B04\\u4F4D\",\"\\u6A94\\u6848\",\"\\u51FD\\u5F0F\",\"\\u4ECB\\u9762\",\"\\u7D22\\u5F15\\u9375\",\"\\u65B9\\u6CD5\",\"\\u6A21\\u7D44\",\"\\u547D\\u540D\\u7A7A\\u9593\",\"null\",\"\\u6578\\u5B57\",\"\\u7269\\u4EF6\",\"\\u904B\\u7B97\\u5B50\",\"\\u5957\\u4EF6\",\"\\u5C6C\\u6027\",\"\\u5B57\\u4E32\",\"\\u7D50\\u69CB\",\"\\u578B\\u5225\\u53C3\\u6578\",\"\\u8B8A\\u6578\",\"{0} ({1})\",\"\\u7D14\\u6587\\u5B57\",\"\\u6B63\\u5728\\u9375\\u5165\",\"\\u958B\\u767C\\u4EBA\\u54E1: \\u6AA2\\u67E5\\u6B0A\\u6756\",\"\\u524D\\u5F80\\u884C/\\u6B04...\",\"\\u986F\\u793A\\u6240\\u6709\\u5FEB\\u901F\\u5B58\\u53D6\\u63D0\\u4F9B\\u8005\",\"\\u547D\\u4EE4\\u9078\\u64C7\\u5340\",\"\\u986F\\u793A\\u4E26\\u57F7\\u884C\\u547D\\u4EE4\",\"\\u79FB\\u81F3\\u7B26\\u865F...\",\"\\u524D\\u5F80\\u7B26\\u865F (\\u4F9D\\u985E\\u5225)...\",\"\\u7DE8\\u8F2F\\u5668\\u5167\\u5BB9\",\"\\u5207\\u63DB\\u9AD8\\u5C0D\\u6BD4\\u4F48\\u666F\\u4E3B\\u984C\",\"\\u5DF2\\u5728 {1} \\u6A94\\u6848\\u4E2D\\u9032\\u884C {0} \\u9805\\u7DE8\\u8F2F\",\"\\u986F\\u793A\\u66F4\\u591A ({0})\",\"{0} chars\",\"\\u9078\\u53D6\\u7BC4\\u570D\\u9328\\u9EDE\",\"\\u8A2D\\u5B9A\\u9328\\u9EDE\\u70BA {0}:{1}\",\"\\u8A2D\\u5B9A\\u9078\\u53D6\\u7BC4\\u570D\\u9328\\u9EDE\",\"\\u524D\\u5F80\\u9078\\u53D6\\u7BC4\\u570D\\u9328\\u9EDE\",\"\\u9078\\u53D6\\u5F9E\\u9328\\u9EDE\\u5230\\u6E38\\u6A19\\u4E4B\\u9593\\u7684\\u7BC4\\u570D\",\"\\u53D6\\u6D88\\u9078\\u53D6\\u7BC4\\u570D\\u9328\\u9EDE\",\"\\u6210\\u5C0D\\u62EC\\u5F27\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u79FB\\u81F3\\u65B9\\u62EC\\u5F27\",\"\\u9078\\u53D6\\u81F3\\u62EC\\u5F27\",\"\\u79FB\\u9664\\u62EC\\u5F27\",\"\\u524D\\u5F80\\u62EC\\u5F27(&&B)\",\"\\u9078\\u53D6\\u5167\\u90E8\\u6587\\u5B57\\uFF0C\\u4E26\\u5305\\u542B\\u62EC\\u5F27\\u6216\\u5927\\u62EC\\u5F27\",\"\\u5C07\\u6240\\u9078\\u6587\\u5B57\\u5411\\u5DE6\\u79FB\\u52D5\",\"\\u5C07\\u6240\\u9078\\u6587\\u5B57\\u5411\\u53F3\\u79FB\\u52D5\",\"\\u8ABF\\u63DB\\u5B57\\u6BCD\",\"\\u526A\\u4E0B(&&T)\",\"\\u526A\\u4E0B\",\"\\u526A\\u4E0B\",\"\\u526A\\u4E0B\",\"\\u8907\\u88FD(&&C)\",\"\\u8907\\u88FD\",\"\\u8907\\u88FD\",\"\\u8907\\u88FD\",\"\\u8CBC\\u4E0A(&&P)\",\"\\u8CBC\\u4E0A\",\"\\u8CBC\\u4E0A\",\"\\u8CBC\\u4E0A\",\"\\u96A8\\u8A9E\\u6CD5\\u9192\\u76EE\\u63D0\\u793A\\u8907\\u88FD\",\"\\u8907\\u88FD\\u70BA\",\"\\u8907\\u88FD\\u70BA\",\"\\u5171\\u7528\",\"\\u5171\\u7528\",\"\\u5957\\u7528\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u6642\\u767C\\u751F\\u672A\\u77E5\\u7684\\u932F\\u8AA4\",\"\\u8981\\u57F7\\u884C\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u7684\\u7A2E\\u985E\\u3002\",\"\\u63A7\\u5236\\u8981\\u5957\\u7528\\u50B3\\u56DE\\u52D5\\u4F5C\\u7684\\u6642\\u6A5F\\u3002\",\"\\u4E00\\u5F8B\\u5957\\u7528\\u7B2C\\u4E00\\u500B\\u50B3\\u56DE\\u7684\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u3002\",\"\\u5982\\u679C\\u50B3\\u56DE\\u7684\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u662F\\u552F\\u4E00\\u52D5\\u4F5C\\uFF0C\\u5247\\u52A0\\u4EE5\\u5957\\u7528\\u3002\",\"\\u4E0D\\u8981\\u5957\\u7528\\u50B3\\u56DE\\u7684\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u50C5\\u61C9\\u50B3\\u56DE\\u504F\\u597D\\u7684\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u3002\",\"\\u5FEB\\u901F\\u4FEE\\u5FA9...\",\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u7A0B\\u5F0F\\u78BC\\u64CD\\u4F5C\",'\\u6C92\\u6709 \"{0}\" \\u7684\\u504F\\u597D\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C','\\u6C92\\u6709 \"{0}\" \\u53EF\\u7528\\u7684\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C',\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u504F\\u597D\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\",\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u7A0B\\u5F0F\\u78BC\\u64CD\\u4F5C\",\"\\u91CD\\u69CB...\",\"\\u6C92\\u6709\\u9069\\u7528\\u65BC '{0}' \\u7684\\u504F\\u597D\\u91CD\\u69CB\\u3002\",'\\u6C92\\u6709\\u53EF\\u7528\\u7684 \"{0}\" \\u91CD\\u69CB',\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u504F\\u597D\\u91CD\\u69CB\",\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u91CD\\u69CB\",\"\\u4F86\\u6E90\\u52D5\\u4F5C...\",\"\\u6C92\\u6709\\u9069\\u7528\\u65BC '{0}' \\u7684\\u504F\\u597D\\u4F86\\u6E90\\u52D5\\u4F5C\",'\\u6C92\\u6709 \"{0}\" \\u53EF\\u7528\\u7684\\u4F86\\u6E90\\u52D5\\u4F5C',\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u504F\\u597D\\u4F86\\u6E90\\u52D5\\u4F5C\",\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u4F86\\u6E90\\u52D5\\u4F5C\",\"\\u7D44\\u7E54\\u532F\\u5165\",\"\\u6C92\\u6709\\u4EFB\\u4F55\\u53EF\\u7528\\u7684\\u7D44\\u7E54\\u532F\\u5165\\u52D5\\u4F5C\",\"\\u5168\\u90E8\\u4FEE\\u6B63\",\"\\u6C92\\u6709\\u5168\\u90E8\\u4FEE\\u6B63\\u52D5\\u4F5C\\u53EF\\u7528\",\"\\u81EA\\u52D5\\u4FEE\\u6B63...\",\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u81EA\\u52D5\\u4FEE\\u6B63\",\"\\u555F\\u7528/\\u505C\\u7528\\u5728 [\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C] \\u529F\\u80FD\\u8868\\u4E2D\\u986F\\u793A\\u7FA4\\u7D44\\u6A19\\u982D\\u3002\",\"\\u76EE\\u524D\\u4E0D\\u5728\\u8A3A\\u65B7\\u6642\\uFF0C\\u555F\\u7528/\\u505C\\u7528\\u986F\\u793A\\u884C\\u5167\\u6700\\u8FD1\\u7684 [\\u5FEB\\u901F\\u4FEE\\u6B63]\\u3002\",\"\\u7576 {1} \\u8A2D\\u70BA {2} \\u6642\\uFF0C\\u555F\\u7528\\u89F8\\u767C {0}\\u3002\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u5FC5\\u9808\\u8A2D\\u5B9A\\u70BA\\u8981\\u91DD\\u5C0D\\u8996\\u7A97\\u548C\\u7126\\u9EDE\\u8B8A\\u66F4\\u89F8\\u767C {3}\\u3002\",\"\\u5167\\u5BB9: {0} \\u5728\\u884C {1} \\u548C\\u6B04 {2}\\u3002\",\"\\u96B1\\u85CF\\u5DF2\\u505C\\u7528\\u9805\\u76EE\",\"\\u986F\\u793A\\u5DF2\\u505C\\u7528\\u9805\\u76EE\",\"\\u66F4\\u591A\\u52D5\\u4F5C...\",\"\\u5FEB\\u901F\\u4FEE\\u6B63\",\"\\u64F7\\u53D6\",\"\\u5167\\u5D4C\",\"\\u91CD\\u5BEB\",\"\\u79FB\\u52D5\",\"\\u7BC4\\u570D\\u9673\\u8FF0\\u5F0F\",\"\\u4F86\\u6E90\\u52D5\\u4F5C\",\"\\u7576\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6C92\\u6709\\u7A7A\\u9593\\u6642\\uFF0C\\u5F9E\\u88DD\\u8A02\\u908A\\u884D\\u751F\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u529F\\u80FD\\u8868\\u7684\\u5716\\u793A\\u3002\",\"\\u7576\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6C92\\u6709\\u7A7A\\u9593\\uFF0C\\u4E14\\u6709\\u5FEB\\u901F\\u4FEE\\u6B63\\u53EF\\u7528\\u6642\\uFF0C\\u5F9E\\u88DD\\u8A02\\u908A\\u884D\\u751F\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u529F\\u80FD\\u8868\\u7684\\u5716\\u793A\\u3002\",\"\\u7576\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6C92\\u6709\\u7A7A\\u9593\\uFF0C\\u4E14\\u6709 AI \\u4FEE\\u6B63\\u7A0B\\u5F0F\\u53EF\\u7528\\u6642\\uFF0C\\u5F9E\\u88DD\\u8A02\\u908A\\u884D\\u751F\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u529F\\u80FD\\u8868\\u7684\\u5716\\u793A\\u3002\",\"\\u7576\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6C92\\u6709\\u7A7A\\u9593\\uFF0C\\u4E14\\u6709 AI \\u4FEE\\u6B63\\u7A0B\\u5F0F\\u53CA\\u5FEB\\u901F\\u4FEE\\u6B63\\u53EF\\u7528\\u6642\\uFF0C\\u5F9E\\u88DD\\u8A02\\u908A\\u884D\\u751F\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u529F\\u80FD\\u8868\\u7684\\u5716\\u793A\\u3002\",\"\\u7576\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6C92\\u6709\\u7A7A\\u9593\\uFF0C\\u4E14\\u6709 AI \\u4FEE\\u6B63\\u7A0B\\u5F0F\\u53CA\\u5FEB\\u901F\\u4FEE\\u6B63\\u53EF\\u7528\\u6642\\uFF0C\\u5F9E\\u88DD\\u8A02\\u908A\\u884D\\u751F\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u529F\\u80FD\\u8868\\u7684\\u5716\\u793A\\u3002\",\"\\u57F7\\u884C: {0}\",\"\\u986F\\u793A\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\\u3002\\u504F\\u597D\\u7684\\u5FEB\\u901F\\u4FEE\\u6B63\\u53EF\\u7528 ({0})\",\"\\u986F\\u793A\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C ({0})\",\"\\u986F\\u793A\\u7A0B\\u5F0F\\u78BC\\u52D5\\u4F5C\",\"\\u986F\\u793A\\u76EE\\u524D\\u884C\\u7684 Code Lens \\u547D\\u4EE4\",\"\\u9078\\u53D6\\u547D\\u4EE4\",null,null,null,null,null,null,null,null,null,\"\\u5207\\u63DB\\u884C\\u8A3B\\u89E3\",\"\\u5207\\u63DB\\u884C\\u8A3B\\u89E3(&&T)\",\"\\u52A0\\u5165\\u884C\\u8A3B\\u89E3\",\"\\u79FB\\u9664\\u884C\\u8A3B\\u89E3\",\"\\u5207\\u63DB\\u5340\\u584A\\u8A3B\\u89E3\",\"\\u5207\\u63DB\\u5340\\u584A\\u8A3B\\u89E3(&&B)\",\"\\u7E2E\\u5716\",\"\\u8F49\\u8B6F\\u5B57\\u5143\",\"\\u5782\\u76F4\\u5927\\u5C0F\",\"\\u6309\\u6BD4\\u4F8B\",\"\\u586B\\u6EFF\",\"\\u6700\\u9069\\u5927\\u5C0F\",\"\\u6ED1\\u687F\",\"\\u6ED1\\u9F20\\u79FB\\u81F3\\u4E0A\\u65B9\",\"\\u4E00\\u5F8B\",\"\\u986F\\u793A\\u7DE8\\u8F2F\\u5668\\u5167\\u5BB9\\u529F\\u80FD\\u8868\",\"\\u6E38\\u6A19\\u5FA9\\u539F\",\"\\u6E38\\u6A19\\u91CD\\u505A\",`\\u8981\\u5617\\u8A66\\u8CBC\\u4E0A\\u7684\\u8CBC\\u4E0A\\u7DE8\\u8F2F\\u7684\\u7A2E\\u985E\\u3002\\r\n\\u5982\\u679C\\u6709\\u6B64\\u7A2E\\u985E\\u7684\\u591A\\u500B\\u7DE8\\u8F2F\\uFF0C\\u7DE8\\u8F2F\\u5668\\u6703\\u986F\\u793A\\u9078\\u64C7\\u5668\\u3002\\u5982\\u679C\\u6C92\\u6709\\u6B64\\u7A2E\\u985E\\u7684\\u7DE8\\u8F2F\\uFF0C\\u7DE8\\u8F2F\\u5668\\u6703\\u986F\\u793A\\u932F\\u8AA4\\u8A0A\\u606F\\u3002`,\"\\u8CBC\\u4E0A\\u70BA...\",\"\\u8CBC\\u4E0A\\u70BA\\u6587\\u5B57\",\"\\u662F\\u5426\\u986F\\u793A\\u8CBC\\u4E0A\\u5C0F\\u5DE5\\u5177\",\"\\u986F\\u793A\\u8CBC\\u4E0A\\u9078\\u9805...\",\"\\u627E\\u4E0D\\u5230 '{0}' \\u7684\\u8CBC\\u4E0A\\u7DE8\\u8F2F\",\"\\u6B63\\u5728\\u89E3\\u6790\\u8CBC\\u4E0A\\u7DE8\\u8F2F\\u3002\\u6309\\u4E00\\u4E0B\\u4EE5\\u53D6\\u6D88\",\"\\u57F7\\u884C\\u8CBC\\u4E0A\\u8655\\u7406\\u5E38\\u5F0F\\u3002\\u6309\\u4E00\\u4E0B\\u4EE5\\u53D6\\u6D88\\u4E26\\u57F7\\u884C\\u57FA\\u672C\\u8CBC\\u4E0A\",\"\\u9078\\u53D6\\u8CBC\\u4E0A\\u52D5\\u4F5C\",\"\\u57F7\\u884C\\u8CBC\\u4E0A\\u8655\\u7406\\u5E38\\u5F0F\",\"\\u63D2\\u5165\\u7D14\\u6587\\u5B57\",\"\\u63D2\\u5165 URI\",\"\\u63D2\\u5165 URI\",\"\\u63D2\\u5165\\u8DEF\\u5F91\",\"\\u63D2\\u5165\\u8DEF\\u5F91\",\"\\u63D2\\u5165\\u76F8\\u5C0D\\u8DEF\\u5F91\",\"\\u63D2\\u5165\\u76F8\\u5C0D\\u8DEF\\u5F91\",\"\\u63D2\\u5165 HTML\",null,\"\\u662F\\u5426\\u986F\\u793A\\u5378\\u9664\\u5C0F\\u5DE5\\u5177\",\"\\u986F\\u793A\\u5378\\u9664\\u9078\\u9805...\",\"\\u6B63\\u5728\\u57F7\\u884C\\u7F6E\\u653E\\u8655\\u7406\\u5E38\\u5F0F\\u3002\\u6309\\u4E00\\u4E0B\\u4EE5\\u53D6\\u6D88\",`\\u89E3\\u6790\\u7DE8\\u8F2F '{0}' \\u6642\\u767C\\u751F\\u932F\\u8AA4:\\r\n{1}`,`\\u5957\\u7528\\u7DE8\\u8F2F '{0}' \\u6642\\u767C\\u751F\\u932F\\u8AA4:\\r\n{1}`,\"\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u57F7\\u884C\\u53EF\\u53D6\\u6D88\\u7684\\u4F5C\\u696D\\uFF0C\\u4F8B\\u5982\\u300C\\u9810\\u89BD\\u53C3\\u8003\\u300D\",\"\\u6A94\\u6848\\u592A\\u5927\\uFF0C\\u7121\\u6CD5\\u57F7\\u884C\\u53D6\\u4EE3\\u6240\\u6709\\u4F5C\\u696D\\u3002\",\"\\u5C0B\\u627E\",\"\\u5C0B\\u627E(&&F)\",\"\\u4F7F\\u7528\\u5F15\\u6578\\u5C0B\\u627E\",\"\\u5C0B\\u627E\\u9078\\u53D6\\u9805\\u76EE\",\"\\u5C0B\\u627E\\u4E0B\\u4E00\\u500B\",\"\\u5C0B\\u627E\\u4E0A\\u4E00\\u500B\",\"\\u79FB\\u81F3\\u76F8\\u7B26\\u9805\\u76EE...\",\"\\u6C92\\u6709\\u76F8\\u7B26\\u9805\\u76EE\\u3002\\u5617\\u8A66\\u641C\\u5C0B\\u5176\\u4ED6\\u9805\\u76EE\\u3002\",\"\\u8F38\\u5165\\u6578\\u5B57\\u4EE5\\u524D\\u5F80\\u7279\\u5B9A\\u76F8\\u7B26\\u9805\\u76EE (\\u4ECB\\u65BC 1 \\u5230 {0})\",\"\\u8ACB\\u8F38\\u5165\\u4ECB\\u65BC 1 \\u548C {0} \\u4E4B\\u9593\\u7684\\u6578\\u5B57\\u3002\",\"\\u8ACB\\u8F38\\u5165\\u4ECB\\u65BC 1 \\u548C {0} \\u4E4B\\u9593\\u7684\\u6578\\u5B57\\u3002\",\"\\u5C0B\\u627E\\u4E0B\\u4E00\\u500B\\u9078\\u53D6\\u9805\\u76EE\",\"\\u5C0B\\u627E\\u4E0A\\u4E00\\u500B\\u9078\\u53D6\\u9805\\u76EE\",\"\\u53D6\\u4EE3\",\"\\u53D6\\u4EE3(&&R)\",\"\\u8868\\u793A\\u7DE8\\u8F2F\\u5668\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u5DF2\\u647A\\u758A\\u7684\\u5716\\u793A\\u3002\",\"\\u8868\\u793A\\u7DE8\\u8F2F\\u5668\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u5DF2\\u5C55\\u958B\\u7684\\u5716\\u793A\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u4E2D [\\u5728\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u5C0B\\u627E] \\u7684\\u5716\\u793A\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u4E2D [\\u53D6\\u4EE3] \\u7684\\u5716\\u793A\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u4E2D [\\u5168\\u90E8\\u53D6\\u4EE3] \\u7684\\u5716\\u793A\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u4E2D [\\u5C0B\\u627E\\u4E0A\\u4E00\\u500B] \\u7684\\u5716\\u793A\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C0B\\u627E\\u5C0F\\u5DE5\\u5177\\u4E2D [\\u5C0B\\u627E\\u4E0B\\u4E00\\u500B] \\u7684\\u5716\\u793A\\u3002\",\"\\u5C0B\\u627E/\\u53D6\\u4EE3\",\"\\u5C0B\\u627E\",\"\\u5C0B\\u627E\",\"\\u4E0A\\u4E00\\u500B\\u76F8\\u7B26\\u9805\\u76EE\",\"\\u4E0B\\u4E00\\u500B\\u76F8\\u7B26\\u9805\\u76EE\",\"\\u5728\\u9078\\u53D6\\u7BC4\\u570D\\u4E2D\\u5C0B\\u627E\",\"\\u95DC\\u9589\",\"\\u53D6\\u4EE3\",\"\\u53D6\\u4EE3\",\"\\u53D6\\u4EE3\",\"\\u5168\\u90E8\\u53D6\\u4EE3\",\"\\u5207\\u63DB\\u53D6\\u4EE3\",\"\\u50C5\\u53CD\\u767D\\u986F\\u793A\\u524D {0} \\u7B46\\u7D50\\u679C\\uFF0C\\u4F46\\u6240\\u6709\\u5C0B\\u627E\\u4F5C\\u696D\\u6703\\u5728\\u5B8C\\u6574\\u6587\\u5B57\\u4E0A\\u57F7\\u884C\\u3002\",\"{1} \\u7684 {0}\",\"\\u67E5\\u7121\\u7D50\\u679C\",\"\\u627E\\u5230 {0}\",\"\\u4EE5 '{1}' \\u627E\\u5230 {0}\",\"\\u4EE5 '{1}' \\u627E\\u5230 {0}\\uFF0C\\u4F4D\\u65BC {2}\",\"\\u5DF2\\u4EE5 '{1}' \\u627E\\u5230 {0}\",\"Ctrl+Enter \\u73FE\\u5728\\u6703\\u63D2\\u5165\\u5206\\u884C\\u7B26\\u865F\\uFF0C\\u800C\\u4E0D\\u6703\\u5168\\u90E8\\u53D6\\u4EE3\\u3002\\u60A8\\u53EF\\u4EE5\\u4FEE\\u6539 editor.action.replaceAll \\u7684\\u6309\\u9375\\u7E6B\\u7D50\\u95DC\\u4FC2\\uFF0C\\u4EE5\\u8986\\u5BEB\\u6B64\\u884C\\u70BA\\u3002\",\"\\u5C55\\u958B\",\"\\u4EE5\\u905E\\u8FF4\\u65B9\\u5F0F\\u5C55\\u958B\",\"\\u647A\\u758A\",\"\\u5207\\u63DB\\u647A\\u758A\",\"\\u4EE5\\u905E\\u8FF4\\u65B9\\u5F0F\\u647A\\u758A\",\"\\u5207\\u63DB\\u4EE5\\u905E\\u8FF4\\u65B9\\u5F0F\\u647A\\u758A\",\"\\u647A\\u758A\\u5168\\u90E8\\u5340\\u584A\\u8A3B\\u89E3\",\"\\u647A\\u758A\\u6240\\u6709\\u5340\\u57DF\",\"\\u5C55\\u958B\\u6240\\u6709\\u5340\\u57DF\",\"\\u647A\\u758A\\u6240\\u9078\\u5340\\u57DF\\u4EE5\\u5916\\u7684\\u6240\\u6709\\u5340\\u57DF\",\"\\u5C55\\u958B\\u6240\\u9078\\u5340\\u57DF\\u4EE5\\u5916\\u7684\\u6240\\u6709\\u5340\\u57DF\",\"\\u5168\\u90E8\\u647A\\u758A\",\"\\u5168\\u90E8\\u5C55\\u958B\",\"\\u79FB\\u81F3\\u7236\\u4EE3\\u647A\\u758A\",\"\\u79FB\\u81F3\\u4E0A\\u4E00\\u500B\\u647A\\u758A\\u7BC4\\u570D\",\"\\u79FB\\u81F3\\u4E0B\\u4E00\\u500B\\u647A\\u758A\\u7BC4\\u570D\",\"\\u5F9E\\u9078\\u53D6\\u7BC4\\u570D\\u5EFA\\u7ACB\\u647A\\u758A\\u7BC4\\u570D\",\"\\u79FB\\u9664\\u624B\\u52D5\\u6298\\u758A\\u7BC4\\u570D\",\"\\u647A\\u758A\\u5C64\\u7D1A {0}\",\"\\u5DF2\\u647A\\u758A\\u7BC4\\u570D\\u5F8C\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u8272\\u5F69\\u4E0D\\u5F97\\u8655\\u65BC\\u4E0D\\u900F\\u660E\\u72C0\\u614B\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u647A\\u758A\\u7BC4\\u570D\\u7B2C\\u4E00\\u884C\\u4E4B\\u5F8C\\u7684\\u647A\\u758A\\u6587\\u5B57\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u88DD\\u8A02\\u908A\\u7684\\u647A\\u758A\\u63A7\\u5236\\u9805\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5B57\\u7B26\\u908A\\u754C\\u4E2D [\\u5C55\\u958B\\u7684\\u7BC4\\u570D] \\u7684\\u5716\\u793A\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5B57\\u7B26\\u908A\\u754C\\u4E2D [\\u647A\\u758A\\u7684\\u7BC4\\u570D] \\u7684\\u5716\\u793A\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5B57\\u7B26\\u908A\\u754C\\u4E2D\\u624B\\u52D5\\u647A\\u758A\\u7BC4\\u570D\\u7684\\u5716\\u793A\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5B57\\u7B26\\u908A\\u754C\\u4E2D\\u624B\\u52D5\\u5C55\\u958B\\u7BC4\\u570D\\u7684\\u5716\\u793A\\u3002\",\"\\u6309\\u4E00\\u4E0B\\u4EE5\\u5C55\\u958B\\u7BC4\\u570D\\u3002\",\"\\u6309\\u4E00\\u4E0B\\u4EE5\\u647A\\u758A\\u7BC4\\u570D\\u3002\",\"\\u589E\\u52A0\\u7DE8\\u8F2F\\u5668\\u5B57\\u578B\\u5927\\u5C0F\",\"\\u6E1B\\u5C11\\u7DE8\\u8F2F\\u5668\\u5B57\\u578B\\u5927\\u5C0F\",\"\\u91CD\\u8A2D\\u7DE8\\u8F2F\\u5668\\u5B57\\u578B\\u5927\\u5C0F\",\"\\u683C\\u5F0F\\u5316\\u6587\\u4EF6\",\"\\u683C\\u5F0F\\u5316\\u9078\\u53D6\\u7BC4\\u570D\",\"\\u79FB\\u81F3\\u4E0B\\u4E00\\u500B\\u554F\\u984C (\\u932F\\u8AA4, \\u8B66\\u544A, \\u8CC7\\u8A0A)\",\"[\\u524D\\u5F80\\u4E0B\\u4E00\\u500B\\u6A19\\u8A18] \\u7684\\u5716\\u793A\\u3002\",\"\\u79FB\\u81F3\\u4E0A\\u4E00\\u500B\\u554F\\u984C (\\u932F\\u8AA4, \\u8B66\\u544A, \\u8CC7\\u8A0A)\",\"[\\u524D\\u5F80\\u4E0A\\u4E00\\u500B\\u6A19\\u8A18] \\u7684\\u5716\\u793A\\u3002\",\"\\u79FB\\u81F3\\u6A94\\u6848\\u88E1\\u9762\\u7684\\u4E0B\\u4E00\\u500B\\u554F\\u984C (\\u932F\\u8AA4, \\u8B66\\u544A, \\u8CC7\\u8A0A)\",\"\\u4E0B\\u4E00\\u500B\\u554F\\u984C(&&P)\",\"\\u79FB\\u81F3\\u6A94\\u6848\\u88E1\\u9762\\u7684\\u4E0A\\u4E00\\u500B\\u554F\\u984C (\\u932F\\u8AA4, \\u8B66\\u544A, \\u8CC7\\u8A0A)\",\"\\u524D\\u4E00\\u500B\\u554F\\u984C(&&P)\",\"\\u932F\\u8AA4\",\"\\u8B66\\u544A\",\"\\u8CC7\\u8A0A\",\"\\u63D0\\u793A\",\"{0} \\u65BC {1}\\u3002\",\"{0} \\u500B\\u554F\\u984C (\\u5171 {1} \\u500B)\",\"{0} \\u500B\\u554F\\u984C (\\u5171 {1} \\u500B)\",\"\\u7DE8\\u8F2F\\u5668\\u6A19\\u8A18\\u5C0E\\u89BD\\u5C0F\\u5DE5\\u5177\\u932F\\u8AA4\\u7684\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6A19\\u8A18\\u5C0E\\u89BD\\u5C0F\\u5DE5\\u5177\\u932F\\u8AA4\\u6A19\\u984C\\u80CC\\u666F\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6A19\\u8A18\\u5C0E\\u89BD\\u5C0F\\u5DE5\\u5177\\u8B66\\u544A\\u7684\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6A19\\u8A18\\u5C0E\\u89BD\\u5C0F\\u5DE5\\u5177\\u8B66\\u544A\\u6A19\\u984C\\u80CC\\u666F\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6A19\\u8A18\\u5C0E\\u89BD\\u5C0F\\u5DE5\\u5177\\u8CC7\\u8A0A\\u7684\\u8272\\u5F69\",\"\\u7DE8\\u8F2F\\u5668\\u6A19\\u8A18\\u5C0E\\u89BD\\u5C0F\\u5DE5\\u5177\\u8CC7\\u8A0A\\u6A19\\u984C\\u80CC\\u666F\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u6A19\\u8A18\\u5C0E\\u89BD\\u5C0F\\u5DE5\\u5177\\u7684\\u80CC\\u666F\\u3002\",\"\\u67E5\\u770B\",\"\\u5B9A\\u7FA9\",\"\\u627E\\u4E0D\\u5230 '{0}' \\u7684\\u5B9A\\u7FA9\",\"\\u627E\\u4E0D\\u5230\\u4EFB\\u4F55\\u5B9A\\u7FA9\",\"\\u79FB\\u81F3\\u5B9A\\u7FA9(&&D)\",\"\\u5BA3\\u544A\",\"\\u627E\\u4E0D\\u5230 '{0}' \\u7684\\u5BA3\\u544A \",\"\\u627E\\u4E0D\\u5230\\u4EFB\\u4F55\\u5BA3\\u544A\",\"\\u524D\\u5F80\\u5BA3\\u544A(&&D)\",\"\\u627E\\u4E0D\\u5230 '{0}' \\u7684\\u5BA3\\u544A \",\"\\u627E\\u4E0D\\u5230\\u4EFB\\u4F55\\u5BA3\\u544A\",\"\\u985E\\u578B\\u5B9A\\u7FA9\",\"\\u627E\\u4E0D\\u5230 '{0}' \\u7684\\u4EFB\\u4F55\\u985E\\u578B\\u5B9A\\u7FA9\",\"\\u627E\\u4E0D\\u5230\\u4EFB\\u4F55\\u985E\\u578B\\u5B9A\\u7FA9\",\"\\u524D\\u5F80\\u985E\\u578B\\u5B9A\\u7FA9(&&T)\",\"\\u5BE6\\u4F5C\",\"\\u627E\\u4E0D\\u5230 '{0}' \\u7684\\u4EFB\\u4F55\\u5BE6\\u4F5C\",\"\\u627E\\u4E0D\\u5230\\u4EFB\\u4F55\\u5BE6\\u4F5C\",\"\\u524D\\u5F80\\u5BE6\\u4F5C(&&I)\",'\\u672A\\u627E\\u5230 \"{0}\" \\u7684\\u53C3\\u8003',\"\\u672A\\u627E\\u5230\\u53C3\\u8003\",\"\\u524D\\u5F80\\u53C3\\u8003(&&R)\",\"\\u53C3\\u8003\",\"\\u53C3\\u8003\",\"\\u4F4D\\u7F6E\",\"'{0}' \\u6C92\\u6709\\u7D50\\u679C\",\"\\u53C3\\u8003\",\"\\u79FB\\u81F3\\u5B9A\\u7FA9\",\"\\u5728\\u4E00\\u5074\\u958B\\u555F\\u5B9A\\u7FA9\",\"\\u7784\\u6838\\u5B9A\\u7FA9\",\"\\u79FB\\u81F3\\u5BA3\\u544A\",\"\\u9810\\u89BD\\u5BA3\\u544A\",\"\\u79FB\\u81F3\\u985E\\u578B\\u5B9A\\u7FA9\",\"\\u9810\\u89BD\\u985E\\u578B\\u5B9A\\u7FA9\",\"\\u524D\\u5F80\\u5BE6\\u4F5C\",\"\\u67E5\\u770B\\u5BE6\\u4F5C\",\"\\u524D\\u5F80\\u53C3\\u8003\",\"\\u9810\\u89BD\\u53C3\\u8003\",\"\\u524D\\u5F80\\u4EFB\\u4F55\\u7B26\\u865F\",\"\\u6309\\u4E00\\u4E0B\\u4EE5\\u986F\\u793A {0} \\u9805\\u5B9A\\u7FA9\\u3002\",\"\\u662F\\u5426\\u986F\\u793A\\u53C3\\u8003\\u7784\\u6838\\uFF0C\\u4F8B\\u5982\\u300C\\u7784\\u6838\\u53C3\\u8003\\u300D\\u6216\\u300C\\u7784\\u6838\\u5B9A\\u7FA9\\u300D\",\"\\u6B63\\u5728\\u8F09\\u5165...\",\"{0} ({1})\",\"{0} \\u500B\\u53C3\\u8003\",\"{0} \\u500B\\u53C3\\u8003\",\"\\u53C3\\u8003\",\"\\u7121\\u6CD5\\u9810\\u89BD\",\"\\u67E5\\u7121\\u7D50\\u679C\",\"\\u53C3\\u8003\",\"\\u5728\\u8CC7\\u6599\\u884C {2} \\u884C {1} \\u7684 {0} \\u4E2D\",\"\\u5728\\u8CC7\\u6599\\u884C {3} \\u884C {2} \\u7684 {1} \\u7684 {0} \\u4E2D\",\"1 \\u500B\\u7B26\\u865F\\u4F4D\\u65BC {0}, \\u5B8C\\u6574\\u8DEF\\u5F91 {1}\",\"{0} \\u500B\\u7B26\\u865F\\u4F4D\\u65BC {1}, \\u5B8C\\u6574\\u8DEF\\u5F91 {2}\",\"\\u627E\\u4E0D\\u5230\\u7D50\\u679C\",\"\\u5728 {0} \\u4E2D\\u627E\\u5230 1 \\u500B\\u7B26\\u865F\",\"\\u5728 {1} \\u4E2D\\u627E\\u5230 {0} \\u500B\\u7B26\\u865F\",\"\\u5728 {1} \\u500B\\u6A94\\u6848\\u4E2D\\u627E\\u5230 {0} \\u500B\\u7B26\\u865F\",\"\\u662F\\u5426\\u6709\\u53EA\\u80FD\\u900F\\u904E\\u9375\\u76E4\\u700F\\u89BD\\u7684\\u7B26\\u865F\\u4F4D\\u7F6E\\u3002\",\"{1} \\u7684\\u7B26\\u865F {0}\\uFF0C{2} \\u70BA\\u4E0B\\u4E00\\u500B\",\"{1} \\u7684\\u7B26\\u865F {0}\",\"\\u63D0\\u9AD8\\u66AB\\u7559\\u8A73\\u7D30\\u7A0B\\u5EA6\\u5C64\\u7D1A\",\"\\u964D\\u4F4E\\u66AB\\u7559\\u8A73\\u7D30\\u7A0B\\u5EA6\\u5C64\\u7D1A\",\"\\u986F\\u793A\\u6216\\u805A\\u7126\\u66AB\\u7559\",\"\\u6E38\\u6A19\\u66AB\\u7559\\u5C07\\u4E0D\\u6703\\u81EA\\u52D5\\u805A\\u7126\\u3002\",\"\\u53EA\\u6709\\u5728\\u6E38\\u6A19\\u66AB\\u7559\\u986F\\u793A\\u6642\\u624D\\u6703\\u805A\\u7126\\u3002\",\"\\u6E38\\u6A19\\u66AB\\u7559\\u51FA\\u73FE\\u6642\\u5C07\\u81EA\\u52D5\\u805A\\u7126\\u3002\",\"\\u986F\\u793A\\u5B9A\\u7FA9\\u9810\\u89BD\\u61F8\\u505C\",\"\\u5411\\u4E0A\\u6372\\u52D5\\u66AB\\u7559\",\"\\u5411\\u4E0B\\u6372\\u52D5\\u66AB\\u7559\",\"\\u5411\\u5DE6\\u6372\\u52D5\\u66AB\\u7559\",\"\\u5411\\u53F3\\u6372\\u52D5\\u66AB\\u7559\",\"\\u4E0A\\u4E00\\u9801\\u66AB\\u7559\",\"\\u4E0B\\u4E00\\u9801\\u66AB\\u7559\",\"\\u79FB\\u81F3\\u4E0A\\u65B9\\u66AB\\u7559\",\"\\u79FB\\u81F3\\u4E0B\\u65B9\\u66AB\\u7559\",\"\\u986F\\u793A\\u6216\\u805A\\u7126\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\uFF0C\\u9019\\u6703\\u986F\\u793A\\u76EE\\u524D\\u6E38\\u6A19\\u4F4D\\u7F6E\\u7B26\\u865F\\u7684\\u6587\\u4EF6\\u3001\\u53C3\\u8003\\u53CA\\u5176\\u4ED6\\u5167\\u5BB9\\u3002\",\"\\u5728\\u7DE8\\u8F2F\\u5668\\u4E2D\\u986F\\u793A\\u5B9A\\u7FA9\\u9810\\u89BD\\u66AB\\u7559\\u3002\",\"\\u5411\\u4E0A\\u6372\\u52D5\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u3002\",\"\\u5411\\u4E0B\\u6372\\u52D5\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u3002\",\"\\u5411\\u5DE6\\u6372\\u52D5\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u3002\",\"\\u5411\\u53F3\\u6372\\u52D5\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u3002\",\"\\u5C07\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u5411\\u4E0A\\u4E00\\u9801\\u3002\",\"\\u5C07\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u5411\\u4E0B\\u4E00\\u9801\\u3002\",\"\\u79FB\\u81F3\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u7684\\u9802\\u7AEF\\u3002\",\"\\u79FB\\u81F3\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u7684\\u5E95\\u90E8\\u3002\",\"\\u63D0\\u9AD8\\u66AB\\u7559\\u8A73\\u7D30\\u7A0B\\u5EA6\\u7684\\u5716\\u793A\\u3002\",\"\\u964D\\u4F4E\\u66AB\\u7559\\u8A73\\u7D30\\u7A0B\\u5EA6\\u7684\\u5716\\u793A\\u3002\",\"\\u6B63\\u5728\\u8F09\\u5165...\",\"\\u7531\\u65BC\\u6548\\u80FD\\u539F\\u56E0\\uFF0C\\u5DF2\\u66AB\\u505C\\u8F49\\u8B6F\\u3002\\u9019\\u53EF\\u900F\\u904E `editor.stopRenderingLineAfter` \\u9032\\u884C\\u8A2D\\u5B9A\\u3002\",\"\\u56E0\\u6548\\u80FD\\u7684\\u7DE3\\u6545\\uFF0C\\u5DF2\\u8DF3\\u904E\\u5C07\\u9577\\u7684\\u884C Token \\u5316\\u3002\\u60A8\\u53EF\\u900F\\u904E `editor.maxTokenizationLineLength` \\u8A2D\\u5B9A\\u3002\",\"\\u63D0\\u9AD8\\u66AB\\u7559\\u8A73\\u7D30\\u7A0B\\u5EA6 ({0})\",\"\\u63D0\\u9AD8\\u66AB\\u7559\\u8A73\\u7D30\\u7A0B\\u5EA6\",\"\\u964D\\u4F4E\\u66AB\\u7559\\u8A73\\u7D30\\u7A0B\\u5EA6 ({0})\",\"\\u964D\\u4F4E\\u66AB\\u7559\\u8A73\\u7D30\\u7A0B\\u5EA6\",\"\\u6AA2\\u8996\\u554F\\u984C\",\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u5FEB\\u901F\\u4FEE\\u6B63\",\"\\u6B63\\u5728\\u6AA2\\u67E5\\u5FEB\\u901F\\u4FEE\\u6B63...\",\"\\u6C92\\u6709\\u53EF\\u7528\\u7684\\u5FEB\\u901F\\u4FEE\\u6B63\",\"\\u5FEB\\u901F\\u4FEE\\u5FA9...\",\"\\u5C07\\u7E2E\\u6392\\u8F49\\u63DB\\u6210\\u7A7A\\u683C\",\"\\u5C07\\u7E2E\\u6392\\u8F49\\u63DB\\u6210\\u5B9A\\u4F4D\\u9EDE\",\"\\u5DF2\\u8A2D\\u5B9A\\u7684\\u5B9A\\u4F4D\\u9EDE\\u5927\\u5C0F\",\"\\u9810\\u8A2D\\u7D22\\u5F15\\u6A19\\u7C64\\u5927\\u5C0F\",\"\\u76EE\\u524D\\u7684\\u7D22\\u5F15\\u6A19\\u7C64\\u5927\\u5C0F\",\"\\u9078\\u53D6\\u76EE\\u524D\\u6A94\\u6848\\u7684\\u5B9A\\u4F4D\\u9EDE\\u5927\\u5C0F\",\"\\u4F7F\\u7528 Tab \\u9032\\u884C\\u7E2E\\u6392\",\"\\u4F7F\\u7528\\u7A7A\\u683C\\u9375\\u9032\\u884C\\u7E2E\\u6392\",\"\\u8B8A\\u66F4\\u7D22\\u5F15\\u6A19\\u7C64\\u986F\\u793A\\u5927\\u5C0F\",\"\\u5075\\u6E2C\\u5167\\u5BB9\\u4E2D\\u7684\\u7E2E\\u6392\",\"\\u91CD\\u65B0\\u5C07\\u884C\\u7E2E\\u6392\",\"\\u91CD\\u65B0\\u5C07\\u9078\\u53D6\\u7684\\u884C\\u7E2E\\u6392\",\"\\u5C07\\u5B9A\\u4F4D\\u5B57\\u5143\\u7E2E\\u6392\\u8F49\\u63DB\\u70BA\\u7A7A\\u683C\\u3002\",\"\\u5C07\\u7A7A\\u683C\\u7E2E\\u6392\\u8F49\\u63DB\\u70BA\\u5B9A\\u4F4D\\u5B57\\u5143\\u3002\",\"\\u4F7F\\u7528\\u5B9A\\u4F4D\\u5B57\\u5143\\u7E2E\\u6392\\u3002\",\"\\u4F7F\\u7528\\u7A7A\\u683C\\u7E2E\\u6392\\u3002\",\"\\u8B8A\\u66F4\\u8207\\u5B9A\\u4F4D\\u5B57\\u5143\\u76F8\\u7B49\\u7684\\u7A7A\\u683C\\u5927\\u5C0F\\u3002\",\"\\u5075\\u6E2C\\u5167\\u5BB9\\u4E2D\\u7684\\u7E2E\\u6392\\u3002\",\"\\u91CD\\u65B0\\u7E2E\\u6392\\u7DE8\\u8F2F\\u5668\\u7684\\u884C\\u3002\",\"\\u91CD\\u65B0\\u7E2E\\u6392\\u7DE8\\u8F2F\\u5668\\u7684\\u9078\\u53D6\\u884C\\u3002\",\"\\u6309\\u5169\\u4E0B\\u4EE5\\u63D2\\u5165\",\"cmd + \\u6309\\u4E00\\u4E0B\",\"ctrl + \\u6309\\u4E00\\u4E0B\",\"\\u9078\\u9805 + \\u6309\\u4E00\\u4E0B\",\"alt + \\u6309\\u4E00\\u4E0B\",\"\\u524D\\u5F80 [\\u5B9A\\u7FA9] ({0})\\uFF0C\\u6309\\u4E00\\u4E0B\\u6ED1\\u9F20\\u53F3\\u9375\\u4EE5\\u4E86\\u89E3\\u66F4\\u591A\",\"\\u79FB\\u81F3\\u5B9A\\u7FA9 ({0})\",\"\\u57F7\\u884C\\u547D\\u4EE4\",\"\\u986F\\u793A\\u4E0B\\u4E00\\u500B\\u5167\\u5D4C\\u5EFA\\u8B70\",\"\\u986F\\u793A\\u4E0A\\u4E00\\u500B\\u5167\\u5D4C\\u5EFA\\u8B70\",\"\\u89F8\\u767C\\u5167\\u5D4C\\u5EFA\\u8B70\",\"\\u63A5\\u53D7\\u4E0B\\u4E00\\u500B\\u5167\\u5D4C\\u5EFA\\u8B70\\u5B57\\u7D44\",\"\\u63A5\\u53D7\\u5B57\\u7D44\",\"\\u63A5\\u53D7\\u4E0B\\u4E00\\u500B\\u5167\\u5D4C\\u5EFA\\u8B70\\u884C\",\"\\u63A5\\u53D7\\u884C\",\"\\u63A5\\u53D7\\u5167\\u5D4C\\u5EFA\\u8B70\",\"\\u63A5\\u53D7\",\"\\u96B1\\u85CF\\u5167\\u5D4C\\u5EFA\\u8B70\",\"\\u6C38\\u9060\\u986F\\u793A\\u5DE5\\u5177\\u5217\",\"\\u662F\\u5426\\u986F\\u793A\\u5167\\u5D4C\\u5EFA\\u8B70\",\"\\u5167\\u5D4C\\u5EFA\\u8B70\\u662F\\u5426\\u4EE5\\u7A7A\\u767D\\u5B57\\u5143\\u958B\\u982D\",\"\\u5167\\u5D4C\\u5EFA\\u8B70\\u7684\\u958B\\u982D\\u662F\\u5426\\u70BA\\u7A7A\\u767D\\uFF0C\\u4E14\\u6BD4 Tab \\u80FD\\u63D2\\u5165\\u7684\\u5B57\\u5143\\u8981\\u5C0F\",\"\\u662F\\u5426\\u61C9\\u96B1\\u85CF\\u76EE\\u524D\\u5EFA\\u8B70\\u7684\\u5176\\u4ED6\\u5EFA\\u8B70\",\"\\u5728\\u53EF\\u5B58\\u53D6\\u6AA2\\u8996\\u4E2D\\u6AA2\\u67E5\\u6B64\\u9805\\u76EE ({0})\",\"\\u5EFA\\u8B70:\",\"[\\u986F\\u793A\\u4E0B\\u4E00\\u500B\\u53C3\\u6578\\u63D0\\u793A] \\u7684\\u5716\\u793A\\u3002\",\"[\\u986F\\u793A\\u4E0A\\u4E00\\u500B\\u53C3\\u6578\\u63D0\\u793A] \\u7684\\u5716\\u793A\\u3002\",\"{0} ({1})\",\"\\u4E0A\\u4E00\\u500B\",\"\\u4E0B\\u4E00\\u9801\",null,null,null,null,null,null,null,null,\"\\u4EE5\\u4E0A\\u4E00\\u500B\\u503C\\u53D6\\u4EE3\",\"\\u4EE5\\u4E0B\\u4E00\\u500B\\u503C\\u53D6\\u4EE3\",\"\\u5C55\\u958B\\u7DDA\\u689D\\u9078\\u53D6\\u7BC4\\u570D\",\"\\u5C07\\u884C\\u5411\\u4E0A\\u8907\\u88FD\",\"\\u5C07\\u884C\\u5411\\u4E0A\\u8907\\u88FD(&&C)\",\"\\u5C07\\u884C\\u5411\\u4E0B\\u8907\\u88FD\",\"\\u5C07\\u884C\\u5411\\u4E0B\\u8907\\u88FD(&&P)\",\"\\u91CD\\u8907\\u9078\\u53D6\\u9805\\u76EE\",\"\\u91CD\\u8907\\u9078\\u53D6\\u9805\\u76EE(&&D)\",\"\\u4E0A\\u79FB\\u4E00\\u884C\",\"\\u4E0A\\u79FB\\u4E00\\u884C(&&V)\",\"\\u4E0B\\u79FB\\u4E00\\u884C\",\"\\u4E0B\\u79FB\\u4E00\\u884C(&&L)\",\"\\u905E\\u589E\\u6392\\u5E8F\\u884C\",\"\\u905E\\u6E1B\\u6392\\u5E8F\\u884C\",\"\\u522A\\u9664\\u91CD\\u8907\\u7684\\u884C\",\"\\u4FEE\\u526A\\u5C3E\\u7AEF\\u7A7A\\u767D\",\"\\u522A\\u9664\\u884C\",\"\\u7E2E\\u6392\\u884C\",\"\\u51F8\\u6392\\u884C\",\"\\u5728\\u4E0A\\u65B9\\u63D2\\u5165\\u884C\",\"\\u5728\\u4E0B\\u65B9\\u63D2\\u5165\\u884C\",\"\\u5DE6\\u908A\\u5168\\u90E8\\u522A\\u9664\",\"\\u522A\\u9664\\u6240\\u6709\\u53F3\\u65B9\\u9805\\u76EE\",\"\\u9023\\u63A5\\u7DDA\",\"\\u8F49\\u7F6E\\u6E38\\u6A19\\u5468\\u570D\\u7684\\u5B57\\u5143\\u6578\",\"\\u8F49\\u63DB\\u5230\\u5927\\u5BEB\",\"\\u8F49\\u63DB\\u5230\\u5C0F\\u5BEB\",\"\\u8F49\\u63DB\\u70BA\\u5B57\\u9996\\u5927\\u5BEB\",\"\\u8F49\\u63DB\\u70BA\\u5E95\\u7DDA\\u9023\\u63A5\\u5B57\",\"\\u8F49\\u63DB\\u70BA Camel \\u6848\\u4F8B\",\"\\u8F49\\u63DB\\u70BA Pascal \\u547D\\u540D\\u6CD5\\u7684\\u5927\\u5C0F\\u5BEB\",\"\\u8F49\\u63DB\\u6210 Kebab Case\",\"\\u958B\\u59CB\\u9023\\u7D50\\u7684\\u7DE8\\u8F2F\",\"\\u7576\\u7DE8\\u8F2F\\u5668\\u81EA\\u52D5\\u91CD\\u65B0\\u547D\\u540D\\u985E\\u578B\\u6642\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u56E0\\u70BA\\u6B64\\u9023\\u7D50\\u7684\\u683C\\u5F0F\\u4E0D\\u6B63\\u78BA\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u958B\\u555F: {0}\",\"\\u56E0\\u70BA\\u6B64\\u9023\\u7D50\\u76EE\\u6A19\\u907A\\u5931\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u958B\\u555F\\u3002\",\"\\u57F7\\u884C\\u547D\\u4EE4\",\"\\u8FFD\\u8E64\\u9023\\u7D50\",\"cmd + \\u6309\\u4E00\\u4E0B\",\"ctrl + \\u6309\\u4E00\\u4E0B\",\"\\u9078\\u9805 + \\u6309\\u4E00\\u4E0B\",\"alt + \\u6309\\u4E00\\u4E0B\",\"\\u57F7\\u884C\\u547D\\u4EE4 {0}\",\"\\u958B\\u555F\\u9023\\u7D50\",\"\\u7DE8\\u8F2F\\u5668\\u76EE\\u524D\\u662F\\u5426\\u6B63\\u5728\\u986F\\u793A\\u5167\\u5D4C\\u8A0A\\u606F\",\"\\u65B0\\u589E\\u7684\\u8CC7\\u6599\\u6307\\u6A19: {0}\",\"\\u65B0\\u589E\\u7684\\u8CC7\\u6599\\u6307\\u6A19: {0}\",\"\\u5728\\u4E0A\\u65B9\\u52A0\\u5165\\u6E38\\u6A19\",\"\\u5728\\u4E0A\\u65B9\\u65B0\\u589E\\u6E38\\u6A19(&&A)\",\"\\u5728\\u4E0B\\u65B9\\u52A0\\u5165\\u6E38\\u6A19\",\"\\u5728\\u4E0B\\u65B9\\u65B0\\u589E\\u6E38\\u6A19(&&D)\",\"\\u5728\\u884C\\u5C3E\\u65B0\\u589E\\u6E38\\u6A19\",\"\\u5728\\u884C\\u5C3E\\u65B0\\u589E\\u6E38\\u6A19(&&U)\",\"\\u5C07\\u6E38\\u6A19\\u65B0\\u589E\\u5230\\u5E95\\u90E8 \",\"\\u5C07\\u6E38\\u6A19\\u65B0\\u589E\\u5230\\u9802\\u90E8\",\"\\u5C07\\u9078\\u53D6\\u9805\\u76EE\\u52A0\\u5165\\u4E0B\\u4E00\\u500B\\u627E\\u5230\\u7684\\u76F8\\u7B26\\u9805\",\"\\u65B0\\u589E\\u4E0B\\u4E00\\u500B\\u9805\\u76EE(&&N)\",\"\\u5C07\\u9078\\u53D6\\u9805\\u76EE\\u52A0\\u5165\\u524D\\u4E00\\u500B\\u627E\\u5230\\u7684\\u76F8\\u7B26\\u9805\\u4E2D\",\"\\u65B0\\u589E\\u4E0A\\u4E00\\u500B\\u9805\\u76EE(&&R)\",\"\\u5C07\\u6700\\u5F8C\\u4E00\\u500B\\u9078\\u64C7\\u9805\\u76EE\\u79FB\\u81F3\\u4E0B\\u4E00\\u500B\\u627E\\u5230\\u7684\\u76F8\\u7B26\\u9805\",\"\\u5C07\\u6700\\u5F8C\\u4E00\\u500B\\u9078\\u64C7\\u9805\\u76EE\\u79FB\\u81F3\\u524D\\u4E00\\u500B\\u627E\\u5230\\u7684\\u76F8\\u7B26\\u9805\",\"\\u9078\\u53D6\\u6240\\u6709\\u627E\\u5230\\u7684\\u76F8\\u7B26\\u9805\\u76EE\",\"\\u9078\\u53D6\\u6240\\u6709\\u9805\\u76EE(&&O)\",\"\\u8B8A\\u66F4\\u6240\\u6709\\u767C\\u751F\\u6B21\\u6578\",\"\\u805A\\u7126\\u4E0B\\u4E00\\u500B\\u6E38\\u6A19\",\"\\u805A\\u7126\\u4E0B\\u4E00\\u500B\\u6E38\\u6A19\",\"\\u805A\\u7126\\u4E0A\\u4E00\\u500B\\u6E38\\u6A19\",\"\\u805A\\u7126\\u524D\\u4E00\\u500B\\u6E38\\u6A19\",\"\\u89F8\\u767C\\u53C3\\u6578\\u63D0\\u793A\",\"[\\u986F\\u793A\\u4E0B\\u4E00\\u500B\\u53C3\\u6578\\u63D0\\u793A] \\u7684\\u5716\\u793A\\u3002\",\"[\\u986F\\u793A\\u4E0A\\u4E00\\u500B\\u53C3\\u6578\\u63D0\\u793A] \\u7684\\u5716\\u793A\\u3002\",\"{0}\\uFF0C\\u63D0\\u793A\",\"\\u53C3\\u6578\\u63D0\\u793A\\u4E2D\\u4F7F\\u7528\\u4E2D\\u9805\\u76EE\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u76EE\\u524D\\u7684\\u7A0B\\u5F0F\\u78BC\\u7DE8\\u8F2F\\u5668\\u662F\\u5426\\u5167\\u5D4C\\u65BC\\u7784\\u6838\\u5167\",\"\\u95DC\\u9589\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u6A19\\u984C\\u5340\\u57DF\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u6A19\\u984C\\u7684\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u6A19\\u984C\\u8CC7\\u8A0A\\u7684\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u4E4B\\u6846\\u7DDA\\u8207\\u7BAD\\u982D\\u7684\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u4E2D\\u7D50\\u679C\\u6E05\\u55AE\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u7D50\\u679C\\u5217\\u8868\\u4E2D\\u884C\\u7BC0\\u9EDE\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u7D50\\u679C\\u5217\\u8868\\u4E2D\\u6A94\\u6848\\u7BC0\\u9EDE\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u5728\\u9810\\u89BD\\u6AA2\\u8996\\u4E4B\\u7D50\\u679C\\u6E05\\u55AE\\u4E2D\\u9078\\u53D6\\u9805\\u76EE\\u6642\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5728\\u9810\\u89BD\\u6AA2\\u8996\\u4E4B\\u7D50\\u679C\\u6E05\\u55AE\\u4E2D\\u9078\\u53D6\\u9805\\u76EE\\u6642\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u7DE8\\u8F2F\\u5668\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u7DE8\\u8F2F\\u5668\\u908A\\u6846(\\u542B\\u884C\\u865F\\u6216\\u5B57\\u5F62\\u5716\\u793A)\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u7DE8\\u8F2F\\u5668\\u4E2D\\u9ECF\\u6027\\u6EFE\\u52D5\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5728\\u9810\\u89BD\\u6AA2\\u8996\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6BD4\\u5C0D\\u6642\\u7684\\u53CD\\u767D\\u986F\\u793A\\u8272\\u5F69\\u3002\",\"\\u9810\\u89BD\\u6AA2\\u8996\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6BD4\\u5C0D\\u6642\\u7684\\u53CD\\u767D\\u986F\\u793A\\u8272\\u5F69\\u3002\",\"\\u5728\\u9810\\u89BD\\u6AA2\\u8996\\u7DE8\\u8F2F\\u5668\\u4E2D\\u6BD4\\u5C0D\\u6642\\u7684\\u53CD\\u767D\\u986F\\u793A\\u908A\\u754C\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u9810\\u7559\\u4F4D\\u7F6E\\u6587\\u5B57\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u5148\\u958B\\u555F\\u6587\\u5B57\\u7DE8\\u8F2F\\u5668\\uFF0C\\u524D\\u5F80\\u67D0\\u4E00\\u884C\\u3002\",\"\\u524D\\u5F80\\u7B2C {0} \\u884C\\u7684\\u7B2C {1} \\u500B\\u5B57\\u5143\\u3002\",\"\\u524D\\u5F80\\u7B2C {0} \\u884C\\u3002\",\"\\u76EE\\u524D\\u884C: {0}\\uFF0C\\u5B57\\u5143: {1}\\u3002\\u8ACB\\u9375\\u5165\\u4ECB\\u65BC 1 \\u5230 {2} \\u4E4B\\u9593\\u884C\\u865F\\uFF0C\\u5C0E\\u89BD\\u81F3\\u8A72\\u884C\\u3002\",\"\\u76EE\\u524D\\u884C: {0}\\uFF0C\\u5B57\\u5143: {1}\\u3002\\u8ACB\\u9375\\u5165\\u8981\\u5C0E\\u89BD\\u81F3\\u7684\\u884C\\u865F\\u3002\",\"\\u82E5\\u8981\\u524D\\u5F80\\u7B26\\u865F\\uFF0C\\u8ACB\\u5148\\u958B\\u555F\\u5305\\u542B\\u7B26\\u865F\\u8CC7\\u8A0A\\u7684\\u6587\\u5B57\\u7DE8\\u8F2F\\u5668\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7684\\u6587\\u5B57\\u7DE8\\u8F2F\\u5668\\u4E0D\\u63D0\\u4F9B\\u7B26\\u865F\\u8CC7\\u8A0A\\u3002\",\"\\u6C92\\u6709\\u76F8\\u7B26\\u7684\\u7DE8\\u8F2F\\u5668\\u7B26\\u865F\",\"\\u6C92\\u6709\\u7DE8\\u8F2F\\u5668\\u7B26\\u865F\",\"\\u958B\\u81F3\\u5074\\u908A\",\"\\u958B\\u555F\\u5230\\u5E95\\u90E8\",\"\\u7B26\\u865F ({0})\",\"\\u5C6C\\u6027 ({0})\",\"\\u65B9\\u6CD5 ({0})\",\"\\u51FD\\u5F0F ({0})\",\"\\u5EFA\\u69CB\\u51FD\\u5F0F ({0})\",\"\\u8B8A\\u6578 ({0})\",\"\\u985E\\u5225 ({0})\",\"\\u7D50\\u69CB ({0})\",\"\\u4E8B\\u4EF6 ({0})\",\"\\u904B\\u7B97\\u5B50 ({0})\",\"\\u4ECB\\u9762 ({0})\",\"\\u547D\\u540D\\u7A7A\\u9593 ({0})\",\"\\u5957\\u4EF6 ({0})\",\"\\u578B\\u5225\\u53C3\\u6578 ({0})\",\"\\u6A21\\u7D44 ({0})\",\"\\u5C6C\\u6027 ({0})\",\"\\u5217\\u8209 ({0})\",\"\\u5217\\u8209\\u6210\\u54E1 ({0})\",\"\\u5B57\\u4E32 ({0})\",\"\\u6A94\\u6848 ({0})\",\"\\u9663\\u5217 ({0})\",\"\\u6578\\u5B57 ({0})\",\"\\u5E03\\u6797\\u503C ({0})\",\"\\u7269\\u4EF6 ({0})\",\"\\u7D22\\u5F15\\u9375 ({0})\",\"\\u6B04\\u4F4D ({0})\",\"\\u5E38\\u6578 ({0})\",\"\\u7121\\u6CD5\\u5728\\u552F\\u8B80\\u8F38\\u5165\\u4E2D\\u7DE8\\u8F2F\",\"\\u7121\\u6CD5\\u5728\\u552F\\u8B80\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7DE8\\u8F2F\",\"\\u6C92\\u6709\\u7D50\\u679C\\u3002\",\"\\u89E3\\u6790\\u91CD\\u65B0\\u547D\\u540D\\u4F4D\\u7F6E\\u6642\\u767C\\u751F\\u672A\\u77E5\\u7684\\u932F\\u8AA4\",\"\\u6B63\\u5728\\u5C07 '{0}' \\u91CD\\u65B0\\u547D\\u540D\\u70BA '{1}'\",\"\\u6B63\\u5728\\u5C07 {0} \\u91CD\\u65B0\\u547D\\u540D\\u70BA {1}\",\"\\u5DF2\\u6210\\u529F\\u5C07 '{0}' \\u91CD\\u65B0\\u547D\\u540D\\u70BA '{1}'\\u3002\\u6458\\u8981: {2}\",\"\\u91CD\\u547D\\u540D\\u7121\\u6CD5\\u5957\\u7528\\u7DE8\\u8F2F\",\"\\u91CD\\u65B0\\u547D\\u540D\\u7121\\u6CD5\\u8A08\\u7B97\\u7DE8\\u8F2F\",\"\\u91CD\\u65B0\\u547D\\u540D\\u7B26\\u865F\",\"\\u555F\\u7528/\\u505C\\u7528\\u91CD\\u65B0\\u547D\\u540D\\u524D\\u5148\\u9810\\u89BD\\u8B8A\\u66F4\\u7684\\u529F\\u80FD\",\"\\u805A\\u7126\\u4E0B\\u4E00\\u500B\\u91CD\\u65B0\\u547D\\u540D\\u5EFA\\u8B70\",\"\\u805A\\u7126\\u4E0A\\u4E00\\u500B\\u91CD\\u65B0\\u547D\\u540D\\u5EFA\\u8B70\",\"\\u662F\\u5426\\u986F\\u793A\\u91CD\\u65B0\\u547D\\u540D\\u8F38\\u5165\\u5C0F\\u5DE5\\u5177\",\"\\u662F\\u5426\\u805A\\u7126\\u65BC\\u91CD\\u65B0\\u547D\\u540D\\u8F38\\u5165\\u5C0F\\u5DE5\\u5177\",\"\\u6309 {0} \\u9032\\u884C\\u91CD\\u65B0\\u547D\\u540D\\uFF0C\\u6309 {1} \\u9032\\u884C\\u9810\\u89BD\",\"\\u5DF2\\u6536\\u5230 {0} \\u91CD\\u65B0\\u547D\\u540D\\u5EFA\\u8B70\",\"\\u70BA\\u8F38\\u5165\\u91CD\\u65B0\\u547D\\u540D\\u3002\\u8ACB\\u9375\\u5165\\u65B0\\u540D\\u7A31\\uFF0C\\u7136\\u5F8C\\u6309 Enter \\u4EE5\\u63D0\\u4EA4\\u3002\",\"\\u7522\\u751F\\u65B0\\u540D\\u7A31\\u5EFA\\u8B70\",\"\\u53D6\\u6D88\",\"\\u5C55\\u958B\\u9078\\u53D6\\u9805\\u76EE\",\"\\u5C55\\u958B\\u9078\\u53D6\\u7BC4\\u570D(&&E)\",\"\\u7E2E\\u5C0F\\u9078\\u53D6\\u9805\\u76EE\",\"\\u58D3\\u7E2E\\u9078\\u53D6\\u7BC4\\u570D(&&S)\",\"\\u7DE8\\u8F2F\\u5668\\u76EE\\u524D\\u662F\\u5426\\u5728\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u6A21\\u5F0F\\u4E2D\",\"\\u5728\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u6A21\\u5F0F\\u4E2D\\u662F\\u5426\\u6709\\u4E0B\\u4E00\\u500B\\u5B9A\\u4F4D\\u505C\\u99D0\\u9EDE\",\"\\u5728\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u6A21\\u5F0F\\u4E2D\\u662F\\u5426\\u6709\\u4E0A\\u4E00\\u500B\\u5B9A\\u4F4D\\u505C\\u99D0\\u9EDE\",\"\\u79FB\\u81F3\\u4E0B\\u4E00\\u500B\\u9810\\u7559\\u4F4D\\u7F6E...\",\"\\u661F\\u671F\\u5929\",\"\\u661F\\u671F\\u4E00\",\"\\u661F\\u671F\\u4E8C\",\"\\u661F\\u671F\\u4E09\",\"\\u661F\\u671F\\u56DB\",\"\\u661F\\u671F\\u4E94\",\"\\u661F\\u671F\\u516D\",\"\\u9031\\u65E5\",\"\\u9031\\u4E00\",\"\\u9031\\u4E8C\",\"\\u9031\\u4E09\",\"\\u9031\\u56DB\",\"\\u9031\\u4E94\",\"\\u9031\\u516D\",\"\\u4E00\\u6708\",\"\\u4E8C\\u6708\",\"\\u4E09\\u6708\",\"\\u56DB\\u6708\",\"\\u4E94\\u6708\",\"\\u516D\\u6708\",\"\\u4E03\\u6708\",\"\\u516B\\u6708\",\"\\u4E5D\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4E00\\u6708\",\"\\u5341\\u4E8C\\u6708\",\"1\\u6708\",\"2\\u6708\",\"3 \\u6708\",\"4\\u6708\",\"\\u4E94\\u6708\",\"6\\u6708\",\"7 \\u6708\",\"8 \\u6708\",\"9 \\u6708\",\"10 \\u6708\",\"11 \\u6708\",\"12 \\u6708\",\"\\u5207\\u63DB\\u7DE8\\u8F2F\\u5668\\u81EA\\u9ECF\\u6372\\u52D5(&&T)\",\"\\u81EA\\u9ECF\\u6372\\u52D5\",\"\\u81EA\\u9ECF\\u6372\\u52D5(&&S)\",\"\\u7126\\u9EDE\\u81EA\\u9ECF\\u6372\\u52D5(&&F)\",\"\\u5207\\u63DB\\u7DE8\\u8F2F\\u5668\\u81EA\\u9ECF\\u6372\\u52D5\",\"\\u5207\\u63DB/\\u555F\\u7528\\u986F\\u793A\\u6AA2\\u8996\\u5340\\u9802\\u7AEF\\u5DE2\\u72C0\\u7BC4\\u570D\\u7684\\u7DE8\\u8F2F\\u5668\\u81EA\\u9ECF\\u6372\\u52D5\",\"\\u5C08\\u6CE8\\u65BC\\u7DE8\\u8F2F\\u5668\\u81EA\\u9ECF\\u6372\\u52D5\",\"\\u9078\\u53D6\\u4E0B\\u4E00\\u500B\\u7DE8\\u8F2F\\u5668\\u81EA\\u9ECF\\u6372\\u52D5\\u884C\",\"\\u9078\\u53D6\\u4E0A\\u4E00\\u500B\\u81EA\\u9ECF\\u6372\\u52D5\\u884C\",\"\\u79FB\\u81F3\\u7126\\u9EDE\\u81EA\\u9ECF\\u6372\\u52D5\\u884C\",\"\\u9078\\u53D6\\u7DE8\\u8F2F\\u5668\",\"\\u662F\\u5426\\u805A\\u7126\\u4EFB\\u4F55\\u5EFA\\u8B70\",\"\\u662F\\u5426\\u986F\\u793A\\u5EFA\\u8B70\\u8A73\\u7D30\\u8CC7\\u6599\",\"\\u662F\\u5426\\u6709\\u591A\\u500B\\u5EFA\\u8B70\\u53EF\\u4EE5\\u6311\\u9078\",\"\\u63D2\\u5165\\u76EE\\u524D\\u7684\\u5EFA\\u8B70\\u6703\\u7522\\u751F\\u8B8A\\u66F4\\uFF0C\\u6216\\u5DF2\\u9375\\u5165\\u6240\\u6709\\u9805\\u76EE\",\"\\u662F\\u5426\\u5728\\u6309\\u4E0B Enter \\u6642\\u63D2\\u5165\\u5EFA\\u8B70\",\"\\u76EE\\u524D\\u7684\\u5EFA\\u8B70\\u662F\\u5426\\u6709\\u63D2\\u5165\\u548C\\u53D6\\u4EE3\\u884C\\u70BA\",\"\\u9810\\u8A2D\\u884C\\u70BA\\u662F\\u63D2\\u5165\\u6216\\u53D6\\u4EE3\",\"\\u76EE\\u524D\\u7684\\u5EFA\\u8B70\\u662F\\u5426\\u652F\\u63F4\\u89E3\\u6C7A\\u66F4\\u591A\\u8A73\\u7D30\\u8CC7\\u6599\",\"\\u63A5\\u53D7 \\u2018{0}\\u2019 \\u9032\\u884C\\u4E86\\u5176\\u4ED6 {1} \\u9805\\u7DE8\\u8F2F\",\"\\u89F8\\u767C\\u5EFA\\u8B70\",\"\\u63D2\\u5165\",\"\\u63D2\\u5165\",\"\\u53D6\\u4EE3\",\"\\u53D6\\u4EE3\",\"\\u63D2\\u5165\",\"\\u986F\\u793A\\u8F03\\u5C11\",\"\\u986F\\u793A\\u8F03\\u591A\",\"\\u91CD\\u8A2D\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u5927\\u5C0F\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u7684\\u908A\\u754C\\u8272\\u5F69\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u6240\\u9078\\u9805\\u76EE\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u6240\\u9078\\u9805\\u76EE\\u7684\\u5716\\u793A\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u6240\\u9078\\u9805\\u76EE\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u76F8\\u7B26\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u8272\\u5F69\\u3002\",\"\\u7576\\u9805\\u76EE\\u6210\\u70BA\\u7126\\u9EDE\\u6642\\uFF0C\\u76F8\\u7B26\\u9805\\u76EE\\u7684\\u8272\\u5F69\\u5728\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u6703\\u9192\\u76EE\\u986F\\u793A\\u3002\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u72C0\\u614B\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u6B63\\u5728\\u8F09\\u5165...\",\"\\u7121\\u5EFA\\u8B70\\u3002\",\"\\u5EFA\\u8B70\",\"{0} {1}\\uFF0C{2}\",\"{0} {1}\",\"{0}\\uFF0C{1}\",\"{0}\\uFF0C\\u6587\\u4EF6: {1}\",\"\\u95DC\\u9589\",\"\\u6B63\\u5728\\u8F09\\u5165...\",\"\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D [\\u66F4\\u591A\\u8A73\\u7D30\\u8CC7\\u8A0A] \\u7684\\u5716\\u793A\\u3002\",\"\\u95B1\\u8B80\\u66F4\\u591A\",\"\\u9663\\u5217\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u5E03\\u6797\\u503C\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u985E\\u5225\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u8272\\u5F69\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u5E38\\u6578\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u5EFA\\u69CB\\u51FD\\u5F0F\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u5217\\u8209\\u503C\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u5217\\u8209\\u503C\\u6210\\u54E1\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u4E8B\\u4EF6\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u6B04\\u4F4D\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u6A94\\u6848\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u8CC7\\u6599\\u593E\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u51FD\\u5F0F\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u4ECB\\u9762\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u7D22\\u5F15\\u9375\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u95DC\\u9375\\u5B57\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u65B9\\u6CD5\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u6A21\\u7D44\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u547D\\u540D\\u7A7A\\u9593\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"Null \\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u6578\\u5B57\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u7269\\u4EF6\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u904B\\u7B97\\u5B50\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u5957\\u4EF6\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u5C6C\\u6027\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u53C3\\u8003\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u5B57\\u4E32\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u7D50\\u69CB\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u6587\\u5B57\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u578B\\u5225\\u53C3\\u6578\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u55AE\\u4F4D\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u8B8A\\u6578\\u7B26\\u865F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u9019\\u4E9B\\u7B26\\u865F\\u6703\\u51FA\\u73FE\\u5728\\u5927\\u7DB1\\u3001\\u968E\\u5C64\\u9023\\u7D50\\u548C\\u5EFA\\u8B70\\u5C0F\\u5DE5\\u5177\\u4E2D\\u3002\",\"\\u6309 Tab \\u73FE\\u5728\\u6703\\u5C07\\u7126\\u9EDE\\u79FB\\u81F3\\u4E0B\\u4E00\\u500B\\u53EF\\u8A2D\\u5B9A\\u7126\\u9EDE\\u7684\\u5143\\u7D20\\u3002\",\"\\u6309 Tab \\u73FE\\u5728\\u6703\\u63D2\\u5165\\u5B9A\\u4F4D\\u5B57\\u5143\\u3002\",\"\\u5207\\u63DB TAB \\u9375\\u79FB\\u52D5\\u7126\\u9EDE\",\"\\u6C7A\\u5B9A Tab \\u9375\\u8981\\u5728\\u5DE5\\u4F5C\\u53F0\\u56DB\\u8655\\u79FB\\u52D5\\u7126\\u9EDE\\uFF0C\\u6216\\u5728\\u76EE\\u524D\\u7684\\u7DE8\\u8F2F\\u5668\\u4E2D\\u63D2\\u5165\\u5B9A\\u4F4D\\u5B57\\u5143\\u3002\\u9019\\u4E5F\\u7A31\\u70BA\\u5B9A\\u4F4D\\u9EDE\\u88DC\\u6F0F\\u767D\\u3001\\u5B9A\\u4F4D\\u9EDE\\u700F\\u89BD\\u6216\\u5B9A\\u4F4D\\u9EDE\\u7126\\u9EDE\\u6A21\\u5F0F\\u3002\",\"\\u958B\\u767C\\u4EBA\\u54E1: \\u5F37\\u5236\\u91CD\\u65B0\\u7F6E\\u653E\",\"\\u5EF6\\u4F38\\u6A21\\u7D44\\u7DE8\\u8F2F\\u5668\\u4E2D\\u986F\\u793A\\u542B\\u6709\\u8B66\\u544A\\u8A0A\\u606F\\u7684\\u5716\\u793A\\u3002\",\"\\u6B64\\u6587\\u4EF6\\u5305\\u542B\\u8A31\\u591A\\u975E\\u57FA\\u672C ASCII Unicode \\u5B57\\u5143\",\"\\u6B64\\u6587\\u4EF6\\u5305\\u542B\\u8A31\\u591A\\u4E0D\\u660E\\u78BA\\u7684 Unicode \\u5B57\\u5143\",\"\\u6B64\\u6587\\u4EF6\\u5305\\u542B\\u8A31\\u591A\\u96B1\\u85CF\\u7684 Unicode \\u5B57\\u5143\",\"\\u8A2D\\u5B9A Unicode \\u9192\\u76EE\\u63D0\\u793A\\u9078\\u9805\",\"\\u5B57\\u5143 {0} \\u53EF\\u80FD\\u8207 ASCII \\u5B57\\u5143 {1} \\u6DF7\\u6DC6\\uFF0C\\u9019\\u5728\\u539F\\u59CB\\u7A0B\\u5F0F\\u78BC\\u4E2D\\u6BD4\\u8F03\\u5E38\\u898B\\u3002\",\"\\u5B57\\u5143 {0} \\u53EF\\u80FD\\u8207\\u5B57\\u5143 {1} \\u6DF7\\u6DC6\\uFF0C\\u9019\\u5728\\u539F\\u59CB\\u7A0B\\u5F0F\\u78BC\\u4E2D\\u6BD4\\u8F03\\u5E38\\u898B\\u3002\",\"\\u5B57\\u5143 {0} \\u96B1\\u85CF\\u3002\",\"\\u5B57\\u5143 {0} \\u4E0D\\u662F\\u57FA\\u672C\\u7684 ASCII \\u5B57\\u5143\\u3002\",\"\\u8ABF\\u6574\\u8A2D\\u5B9A\",\"\\u505C\\u7528\\u8A3B\\u89E3\\u4E2D\\u7684\\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u8A3B\\u89E3\\u4E2D\\u5B57\\u5143\\u7684\\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u5B57\\u4E32\\u4E2D\\u7684\\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u5B57\\u4E32\\u4E2D\\u5B57\\u5143\\u7684\\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u4E0D\\u660E\\u78BA\\u7684\\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u4E0D\\u660E\\u78BA\\u5B57\\u5143\\u7684\\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u96B1\\u85CF\\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u96B1\\u85CF\\u5B57\\u5143\\u7684\\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u975E ASCII \\u9192\\u76EE\\u63D0\\u793A\",\"\\u505C\\u7528\\u975E\\u57FA\\u672C ASCII \\u5B57\\u5143\\u7684\\u9192\\u76EE\\u63D0\\u793A\",\"\\u986F\\u793A\\u6392\\u9664\\u9078\\u9805\",\"\\u6392\\u9664 {0} (\\u96B1\\u85CF\\u5B57\\u5143) \\u7684\\u53CD\\u767D\\u986F\\u793A\",\"\\u5C07 {0} \\u6392\\u9664\\u5728\\u5DF2\\u9192\\u76EE\\u63D0\\u793A\",\"\\u5141\\u8A31\\u5728\\u8A9E\\u8A00\\u300C{0}\\u300D\\u4E2D\\u8F03\\u5E38\\u7528\\u7684 Unicode \\u5B57\\u5143\\u3002\",\"\\u7570\\u5E38\\u7684\\u884C\\u7D50\\u675F\\u5B57\\u5143\",\"\\u5075\\u6E2C\\u5230\\u7570\\u5E38\\u7684\\u884C\\u7D50\\u675F\\u5B57\\u5143\",\"\\u6A94\\u6848 '{0}' \\u5305\\u542B\\u4E00\\u6216\\u591A\\u500B\\u7570\\u5E38\\u7684\\u884C\\u7D50\\u675F\\u5B57\\u5143\\uFF0C\\u4F8B\\u5982\\u884C\\u5206\\u9694\\u7B26\\u865F (LS) \\u6216\\u6BB5\\u843D\\u5206\\u9694\\u7B26\\u865F (PS)\\u3002\\r\\n\\r\\n\\u5EFA\\u8B70\\u60A8\\u5C07\\u5176\\u5F9E\\u6A94\\u6848\\u4E2D\\u79FB\\u9664\\u3002\\u9019\\u53EF\\u4EE5\\u900F\\u904E `editor.unusualLineTerminators` \\u9032\\u884C\\u8A2D\\u5B9A\\u3002\",\"\\u79FB\\u9664\\u7570\\u5E38\\u7684\\u884C\\u7D50\\u675F\\u5B57\\u5143(&&R)\",\"\\u5FFD\\u7565\",\"\\u8B80\\u53D6\\u6B0A\\u9650\\u671F\\u9593 (\\u5982\\u8B80\\u53D6\\u8B8A\\u6578) \\u7B26\\u865F\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5BEB\\u5165\\u6B0A\\u9650\\u671F\\u9593 (\\u5982\\u5BEB\\u5165\\u8B8A\\u6578) \\u7B26\\u865F\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7B26\\u865F\\u6587\\u5B57\\u51FA\\u73FE\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u8B80\\u53D6\\u5B58\\u53D6\\u671F\\u9593 (\\u4F8B\\u5982\\u8B80\\u53D6\\u8B8A\\u6578\\u6642) \\u7B26\\u865F\\u7684\\u908A\\u6846\\u984F\\u8272\\u3002\",\"\\u5BEB\\u5165\\u5B58\\u53D6\\u671F\\u9593 (\\u4F8B\\u5982\\u5BEB\\u5165\\u8B8A\\u6578\\u6642) \\u7B26\\u865F\\u7684\\u908A\\u6846\\u984F\\u8272\\u3002 \",\"\\u7B26\\u865F\\u6587\\u5B57\\u51FA\\u73FE\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u7B26\\u865F\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5BEB\\u5165\\u6B0A\\u9650\\u7B26\\u865F\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7B26\\u865F\\u6587\\u5B57\\u51FA\\u73FE\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u79FB\\u81F3\\u4E0B\\u4E00\\u500B\\u53CD\\u767D\\u7B26\\u865F\",\"\\u79FB\\u81F3\\u4E0A\\u4E00\\u500B\\u53CD\\u767D\\u7B26\\u865F\",\"\\u89F8\\u767C\\u7B26\\u865F\\u53CD\\u767D\\u986F\\u793A\",\"\\u522A\\u9664\\u5B57\\u7D44\",\"\\u5728\\u4F4D\\u7F6E\\u767C\\u751F\\u932F\\u8AA4\",\"\\u932F\\u8AA4\",\"\\u8B66\\u544A\\u4F4D\\u7F6E\",\"\\u8B66\\u544A\",\"\\u884C\\u4E0A\\u767C\\u751F\\u932F\\u8AA4\",\"\\u932F\\u8AA4\\u65BC\\u884C\",\"\\u884C\\u4E0A\\u7684\\u8B66\\u544A\",\"\\u8B66\\u544A\\u65BC\\u884C\",\"\\u884C\\u4E0A\\u7684\\u647A\\u758A\\u5340\\u57DF\",\"\\u5DF2\\u647A\\u758A\",\"\\u884C\\u4E0A\\u7684\\u4E2D\\u65B7\\u9EDE\",\"\\u4E2D\\u65B7\\u9EDE\",\"\\u884C\\u4E0A\\u7684\\u5167\\u5D4C\\u5EFA\\u8B70\",\"\\u7D42\\u7AEF\\u6A5F\\u5FEB\\u901F\\u4FEE\\u6B63\",\"\\u5FEB\\u901F\\u4FEE\\u6B63\",\"\\u5728\\u4E2D\\u65B7\\u9EDE\\u505C\\u6B62\\u5075\\u932F\\u5DE5\\u5177\",\"\\u4E2D\\u65B7\\u9EDE\",\"\\u884C\\u4E0A\\u6C92\\u6709\\u5D4C\\u5165\\u63D0\\u793A\",\"\\u7121\\u5167\\u5D4C\\u63D0\\u793A\",\"\\u5DE5\\u4F5C\\u5B8C\\u6210\",\"\\u5DE5\\u4F5C\\u5B8C\\u6210\",\"\\u5DE5\\u4F5C\\u5931\\u6557\",\"\\u5DE5\\u4F5C\\u5931\\u6557\",\"\\u7D42\\u7AEF\\u6A5F\\u547D\\u4EE4\\u5931\\u6557\",\"\\u547D\\u4EE4\\u5931\\u6557\",\"\\u7D42\\u7AEF\\u6A5F\\u547D\\u4EE4\\u5DF2\\u6210\\u529F\",\"\\u547D\\u4EE4\\u5DF2\\u6210\\u529F\",\"\\u7D42\\u7AEF\\u9234\\u8072\",\"\\u7D42\\u7AEF\\u9234\",\"Notebook \\u5132\\u5B58\\u683C\\u5DF2\\u5B8C\\u6210\",\"Notebook \\u5132\\u5B58\\u683C\\u5DF2\\u5B8C\\u6210\",\"Notebook \\u5132\\u5B58\\u683C\\u5931\\u6557\",\"Notebook \\u5132\\u5B58\\u683C\\u5931\\u6557\",\"\\u5DEE\\u7570\\u884C\\u5DF2\\u63D2\\u5165\",\"\\u5DEE\\u7570\\u884C\\u5DF2\\u522A\\u9664\",\"\\u5DEE\\u7570\\u884C\\u5DF2\\u4FEE\\u6539\",\"\\u804A\\u5929\\u8981\\u6C42\\u5DF2\\u50B3\\u9001\",\"\\u804A\\u5929\\u8981\\u6C42\\u5DF2\\u50B3\\u9001\",\"\\u804A\\u5929\\u56DE\\u61C9\\u5DF2\\u63A5\\u6536\",\"\\u9032\\u5EA6\",\"\\u9032\\u5EA6\",\"\\u6E05\\u9664\",\"\\u6E05\\u9664\",\"\\u5132\\u5B58\",\"\\u5132\\u5B58\",\"\\u683C\\u5F0F\",\"\\u683C\\u5F0F\",\"\\u8A9E\\u97F3\\u9304\\u88FD\\u5DF2\\u958B\\u59CB\",\"\\u8A9E\\u97F3\\u9304\\u88FD\\u5DF2\\u505C\\u6B62\",\"\\u6AA2\\u8996\",\"\\u8AAA\\u660E\",\"\\u6E2C\\u8A66\",\"\\u6A94\\u6848\",\"\\u559C\\u597D\\u8A2D\\u5B9A\",\"\\u958B\\u767C\\u4EBA\\u54E1\",\"{0} ({1})\",\"{0} ({1})\",`{0}\\r\n[{1}] {2}`,\"{1} \\u5230 {0}\",\"{0} ({1})\",\"\\u96B1\\u85CF\",\"\\u91CD\\u8A2D\\u529F\\u80FD\\u8868\",\"\\u96B1\\u85CF '{0}'\",\"\\u8A2D\\u5B9A\\u6309\\u9375\\u7E6B\\u7D50\\u95DC\\u4FC2\",\"{0} \\u5957\\u7528\\uFF0C{1} \\u81F3\\u9810\\u89BD\",\"{0} \\u4EE5\\u5957\\u7528\",\"{0}\\uFF0C\\u505C\\u7528\\u539F\\u56E0: {1}\",\"\\u52D5\\u4F5C\\u5C0F\\u5DE5\\u5177\",\"\\u52D5\\u4F5C\\u5217\\u4E2D\\u5207\\u63DB\\u52D5\\u4F5C\\u9805\\u76EE\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u662F\\u5426\\u986F\\u793A\\u52D5\\u4F5C\\u5C0F\\u5DE5\\u5177\\u6E05\\u55AE\",\"\\u96B1\\u85CF\\u52D5\\u4F5C\\u5C0F\\u5DE5\\u5177\",\"\\u9078\\u53D6\\u4E0A\\u4E00\\u500B\\u52D5\\u4F5C\",\"\\u9078\\u53D6\\u4E0B\\u4E00\\u500B\\u52D5\\u4F5C\",\"\\u63A5\\u53D7\\u9078\\u53D6\\u7684\\u52D5\\u4F5C\",\"\\u9810\\u89BD\\u9078\\u53D6\\u7684\\u52D5\\u4F5C\",\"\\u9810\\u8A2D\\u8A9E\\u8A00\\u7D44\\u614B\\u8986\\u5BEB\",\"\\u8A2D\\u5B9A\\u8981\\u91DD\\u5C0D {0} \\u8A9E\\u8A00\\u8986\\u5BEB\\u7684\\u8A2D\\u5B9A\\u3002\",\"\\u8A2D\\u5B9A\\u8981\\u91DD\\u5C0D\\u8A9E\\u8A00\\u8986\\u5BEB\\u7684\\u7DE8\\u8F2F\\u5668\\u8A2D\\u5B9A\\u3002\",\"\\u9019\\u500B\\u8A2D\\u5B9A\\u4E0D\\u652F\\u63F4\\u4EE5\\u8A9E\\u8A00\\u70BA\\u6839\\u64DA\\u7684\\u7D44\\u614B\\u3002\",\"\\u8A2D\\u5B9A\\u8981\\u91DD\\u5C0D\\u8A9E\\u8A00\\u8986\\u5BEB\\u7684\\u7DE8\\u8F2F\\u5668\\u8A2D\\u5B9A\\u3002\",\"\\u9019\\u500B\\u8A2D\\u5B9A\\u4E0D\\u652F\\u63F4\\u4EE5\\u8A9E\\u8A00\\u70BA\\u6839\\u64DA\\u7684\\u7D44\\u614B\\u3002\",\"\\u7121\\u6CD5\\u8A3B\\u518A\\u7A7A\\u767D\\u5C6C\\u6027\",\"\\u7121\\u6CD5\\u8A3B\\u518A '{0}'\\u3002\\u9019\\u7B26\\u5408\\u7528\\u65BC\\u63CF\\u8FF0\\u8A9E\\u8A00\\u5C08\\u7528\\u7DE8\\u8F2F\\u5668\\u8A2D\\u5B9A\\u7684\\u5C6C\\u6027\\u6A21\\u5F0F '\\\\\\\\[.*\\\\\\\\]$'\\u3002\\u8ACB\\u4F7F\\u7528 'configurationDefaults' \\u8CA2\\u737B\\u3002\",\"\\u7121\\u6CD5\\u8A3B\\u518A '{0}'\\u3002\\u6B64\\u5C6C\\u6027\\u5DF2\\u7D93\\u8A3B\\u518A\\u3002\",\"\\u7121\\u6CD5\\u8A3B\\u518A '{0}'\\u3002\\u5DF2\\u5411 {2} \\u8A3B\\u518A\\u95DC\\u806F\\u7684\\u539F\\u5247 {1}\\u3002\",\"\\u50B3\\u56DE\\u6709\\u95DC\\u5167\\u5BB9\\u7D22\\u5F15\\u9375\\u8CC7\\u8A0A\\u7684\\u547D\\u4EE4\",\"\\u7A7A\\u7684\\u5167\\u5BB9\\u7D22\\u5F15\\u9375\\u904B\\u7B97\\u5F0F\",\"\\u60A8\\u662F\\u5426\\u5FD8\\u8A18\\u64B0\\u5BEB\\u904B\\u7B97\\u5F0F? \\u60A8\\u4E5F\\u53EF\\u4EE5\\u5206\\u5225\\u653E\\u7F6E 'false' \\u6216 'true'\\uFF0C\\u4EE5\\u4E00\\u5F8B\\u8A55\\u4F30\\u70BA False \\u6216 True\\u3002\",\"'not' \\u5F8C\\u70BA 'in'\\u3002\",\"\\u53F3\\u62EC\\u5F27 ')'\",\"\\u672A\\u9810\\u671F\\u7684\\u6B0A\\u6756\",\"\\u60A8\\u662F\\u5426\\u5FD8\\u8A18\\u5728\\u6B0A\\u6756\\u4E4B\\u524D\\u653E\\u7F6E && \\u6216 ||?\",\"\\u904B\\u7B97\\u5F0F\\u672A\\u9810\\u671F\\u7684\\u7D50\\u5C3E\",\"\\u60A8\\u662F\\u5426\\u5FD8\\u8A18\\u653E\\u7F6E\\u5167\\u5BB9\\u91D1\\u9470?\",`\\u9810\\u671F: {0}\\r\n\\u6536\\u5230: '{1}'\\u3002`,\"\\u4F5C\\u696D\\u7CFB\\u7D71\\u662F\\u5426\\u70BA macOS\",\"\\u4F5C\\u696D\\u7CFB\\u7D71\\u662F\\u5426\\u70BA Linux\",\"\\u4F5C\\u696D\\u7CFB\\u7D71\\u662F\\u5426\\u70BA Windows\",\"\\u5E73\\u53F0\\u662F\\u5426\\u70BA\\u7DB2\\u9801\\u700F\\u89BD\\u5668\",\"\\u975E\\u700F\\u89BD\\u5668\\u5E73\\u53F0\\u4E0A\\u7684\\u4F5C\\u696D\\u7CFB\\u7D71\\u662F\\u5426\\u70BA macOS\",\"\\u4F5C\\u696D\\u7CFB\\u7D71\\u662F\\u5426\\u70BA iOS\",\"\\u5E73\\u81FA\\u662F\\u5426\\u70BA\\u884C\\u52D5\\u7DB2\\u9801\\u700F\\u89BD\\u5668\",\"VS Code \\u7684\\u54C1\\u8CEA\\u985E\\u578B\",\"\\u9375\\u76E4\\u7126\\u9EDE\\u662F\\u5426\\u4F4D\\u65BC\\u8F38\\u5165\\u65B9\\u584A\\u5167\",\"\\u60A8\\u662F\\u6307 '{0}'?\",\"\\u60A8\\u662F\\u6307 {0} \\u6216 {1}?\",\"\\u60A8\\u662F\\u6307 {0}\\u3001{1} \\u6216 {2}?\",\"\\u60A8\\u662F\\u5426\\u5FD8\\u8A18\\u5DE6\\u62EC\\u5F27\\u6216\\u53F3\\u62EC\\u5F27?\",\"\\u60A8\\u662F\\u5426\\u5FD8\\u8A18\\u9038\\u51FA '/' (\\u659C\\u7DDA) \\u5B57\\u5143? \\u5728\\u53CD\\u659C\\u7DDA\\u524D\\u653E\\u5169\\u500B\\u53CD\\u659C\\u7DDA\\u4EE5\\u9038\\u51FA\\uFF0C\\u4F8B\\u5982 '\\\\\\\\/'\\u3002\",\"\\u662F\\u5426\\u986F\\u793A\\u5EFA\\u8B70\",\"\\u5DF2\\u6309\\u4E0B ({0})\\u3002\\u7B49\\u5F85\\u7B2C\\u4E8C\\u500B\\u5957\\u7D22\\u9375...\",\"({0}) \\u5DF2\\u6309\\u4E0B\\u3002\\u6B63\\u5728\\u7B49\\u5F85\\u4E0B\\u4E00\\u500B\\u5957\\u7D22\\u9375...\",\"\\u6309\\u9375\\u7D44\\u5408 ({0}, {1}) \\u4E0D\\u662F\\u547D\\u4EE4\\u3002\",\"\\u6309\\u9375\\u7D44\\u5408 ({0}, {1}) \\u4E0D\\u662F\\u547D\\u4EE4\\u3002\",\"\\u5DE5\\u4F5C\\u53F0\",\"\\u5C0D\\u61C9Windows\\u548CLinux\\u7684'Control'\\u8207\\u5C0D\\u61C9 macOS \\u7684'Command'\\u3002\",\"\\u5C0D\\u61C9Windows\\u548CLinux\\u7684'Alt'\\u8207\\u5C0D\\u61C9macOS\\u7684'Option'\\u3002\",\"\\u900F\\u904E\\u6ED1\\u9F20\\u591A\\u9078\\uFF0C\\u7528\\u65BC\\u5728\\u6A39\\u72C0\\u76EE\\u9304\\u8207\\u6E05\\u55AE\\u4E2D\\u65B0\\u589E\\u9805\\u76EE\\u7684\\u8F14\\u52A9\\u6309\\u9375 (\\u4F8B\\u5982\\u5728\\u7E3D\\u7BA1\\u4E2D\\u958B\\u555F\\u7DE8\\u8F2F\\u5668 \\u53CA SCM \\u6AA2\\u8996)\\u3002'\\u5728\\u5074\\u908A\\u958B\\u555F' \\u6ED1\\u9F20\\u624B\\u52E2 (\\u82E5\\u652F\\u63F4) \\u5C07\\u6703\\u9069\\u61C9\\u4EE5\\u907F\\u514D\\u548C\\u591A\\u9078\\u8F14\\u52A9\\u6309\\u9375\\u885D\\u7A81\\u3002\",\"\\u63A7\\u5236\\u5982\\u4F55\\u4F7F\\u7528\\u6ED1\\u9F20 (\\u5982\\u652F\\u63F4\\u6B64\\u7528\\u6CD5) \\u958B\\u555F\\u6A39\\u72C0\\u76EE\\u9304\\u8207\\u6E05\\u55AE\\u4E2D\\u7684\\u9805\\u76EE\\u3002\\u82E5\\u4E0D\\u9069\\u7528\\uFF0C\\u67D0\\u4E9B\\u6A39\\u72C0\\u76EE\\u9304\\u8207\\u6E05\\u55AE\\u53EF\\u80FD\\u6703\\u9078\\u64C7\\u5FFD\\u7565\\u6B64\\u8A2D\\u5B9A\\u3002\",\"\\u63A7\\u5236\\u5728\\u5DE5\\u4F5C\\u53F0\\u4E2D\\uFF0C\\u6E05\\u55AE\\u8207\\u6A39\\u72C0\\u7D50\\u69CB\\u662F\\u5426\\u652F\\u63F4\\u6C34\\u5E73\\u6372\\u52D5\\u3002\\u8B66\\u544A: \\u958B\\u555F\\u6B64\\u8A2D\\u5B9A\\u5C07\\u6703\\u5F71\\u97FF\\u6548\\u80FD\\u3002\",\"\\u63A7\\u5236\\u6309\\u4E00\\u4E0B\\u6372\\u8EF8\\u662F\\u5426\\u9010\\u9801\\u6372\\u52D5\\u3002\",\"\\u63A7\\u5236\\u6A39\\u72C0\\u7D50\\u69CB\\u7E2E\\u6392 (\\u50CF\\u7D20)\\u3002\",\"\\u63A7\\u5236\\u6A39\\u7CFB\\u662F\\u5426\\u61C9\\u8F49\\u8B6F\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u3002\",\"\\u63A7\\u5236\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u7D50\\u69CB\\u662F\\u5426\\u5177\\u6709\\u5E73\\u6ED1\\u6372\\u52D5\\u3002\",\"\\u8981\\u7528\\u65BC\\u6ED1\\u9F20\\u6EFE\\u8F2A\\u6372\\u52D5\\u4E8B\\u4EF6 `deltaX` \\u548C `deltaY` \\u7684\\u4E58\\u6578\\u3002\",\"\\u6309\\u4E0B `Alt` \\u6642\\u7684\\u6372\\u52D5\\u901F\\u5EA6\\u4E58\\u6578\\u3002\",\"\\u641C\\u5C0B\\u6642\\u6703\\u9192\\u76EE\\u63D0\\u793A\\u5143\\u7D20\\u3002\\u9032\\u4E00\\u6B65\\u7684\\u5411\\u4E0A\\u548C\\u5411\\u4E0B\\u700F\\u89BD\\u53EA\\u6703\\u5468\\u904A\\u5DF2\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u5143\\u7D20\\u3002\",\"\\u641C\\u5C0B\\u6642\\u7BE9\\u9078\\u5143\\u7D20\\u3002\",\"\\u63A7\\u5236 Workbench \\u4E2D\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u7D50\\u69CB\\u7684\\u9810\\u8A2D\\u5C0B\\u627E\\u6A21\\u5F0F\\u3002\",\"\\u6BD4\\u5C0D\\u6309\\u9375\\u8F38\\u5165\\u7684\\u7C21\\u6613\\u6309\\u9375\\u700F\\u89BD\\u7126\\u9EDE\\u5143\\u7D20\\u3002\\u50C5\\u6BD4\\u5C0D\\u524D\\u7F6E\\u8A5E\\u3002\",\"\\u9192\\u76EE\\u63D0\\u793A\\u9375\\u76E4\\u700F\\u89BD\\u6703\\u9192\\u76EE\\u63D0\\u793A\\u7B26\\u5408\\u9375\\u76E4\\u8F38\\u5165\\u7684\\u5143\\u7D20\\u3002\\u9032\\u4E00\\u6B65\\u5411\\u4E0A\\u6216\\u5411\\u4E0B\\u700F\\u89BD\\u53EA\\u6703\\u5468\\u904A\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u5143\\u7D20\\u3002\",\"\\u7BE9\\u9078\\u9375\\u76E4\\u700F\\u89BD\\u6703\\u7BE9\\u6389\\u4E26\\u96B1\\u85CF\\u4E0D\\u7B26\\u5408\\u9375\\u76E4\\u8F38\\u5165\\u7684\\u6240\\u6709\\u5143\\u7D20\\u3002\",\"\\u63A7\\u5236 Workbench \\u4E2D\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u7D50\\u69CB\\u7684\\u9375\\u76E4\\u700F\\u89BD\\u6A23\\u5F0F\\u3002\\u53EF\\u4EE5\\u662F\\u7C21\\u6613\\u7684\\u3001\\u9192\\u76EE\\u63D0\\u793A\\u548C\\u7BE9\\u9078\\u3002\",\"\\u8ACB\\u6539\\u70BA\\u4F7F\\u7528 'workbench.list.defaultFindMode' \\u548C 'workbench.list.typeNavigationMode'\\u3002\",\"\\u641C\\u5C0B\\u6642\\u4F7F\\u7528\\u6A21\\u7CCA\\u6BD4\\u5C0D\\u3002\",\"\\u641C\\u5C0B\\u6642\\u4F7F\\u7528\\u9023\\u7E8C\\u6BD4\\u5C0D\\u3002\",\"\\u63A7\\u5236\\u5728\\u5DE5\\u4F5C\\u53F0\\u4E2D\\u641C\\u5C0B\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u7D50\\u69CB\\u6642\\u6240\\u4F7F\\u7528\\u7684\\u6BD4\\u5C0D\\u985E\\u578B\\u3002\",\"\\u63A7\\u5236\\u7576\\u6309\\u4E0B\\u8CC7\\u6599\\u593E\\u540D\\u7A31\\u6642\\uFF0C\\u6A39\\u72C0\\u76EE\\u9304\\u8CC7\\u6599\\u593E\\u7684\\u5C55\\u958B\\u65B9\\u5F0F\\u3002\\u8ACB\\u6CE8\\u610F\\uFF0C\\u82E5\\u4E0D\\u9069\\u7528\\uFF0C\\u67D0\\u4E9B\\u6A39\\u72C0\\u76EE\\u9304\\u548C\\u6E05\\u55AE\\u53EF\\u80FD\\u6703\\u9078\\u64C7\\u5FFD\\u7565\\u6B64\\u8A2D\\u5B9A\\u3002\",\"\\u63A7\\u5236\\u662F\\u5426\\u8981\\u5728\\u6A39\\u72C0\\u4E2D\\u555F\\u52D5\\u9ECF\\u6027\\u6372\\u52D5\\u3002\",\"\\u63A7\\u5236\\u555F\\u7528 {0} \\u6642\\uFF0C\\u6A39\\u72C0\\u4E2D\\u986F\\u793A\\u7684\\u9ECF\\u6027\\u5143\\u7D20\\u6578\\u76EE\\u3002\",\"\\u63A7\\u5236\\u5DE5\\u4F5C\\u53F0\\u4E2D\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u76EE\\u9304\\u7684\\u985E\\u578B\\u700F\\u89BD\\u904B\\u4F5C\\u65B9\\u5F0F\\u3002\\u8A2D\\u5B9A\\u70BA 'trigger' \\u6642\\uFF0C\\u985E\\u578B\\u700F\\u89BD\\u6703\\u5728\\u57F7\\u884C 'list.triggerTypeNavigation' \\u547D\\u4EE4\\u6642\\u96A8\\u5373\\u958B\\u59CB\\u3002\",\"\\u932F\\u8AA4\",\"\\u8B66\\u544A\",\"\\u8CC7\\u8A0A\",\"\\u6700\\u8FD1\\u4F7F\\u7528\\u7684\",\"\\u985E\\u4F3C\\u7684\\u547D\\u4EE4\",\"\\u7D93\\u5E38\\u4F7F\\u7528\",\"\\u5176\\u4ED6\\u547D\\u4EE4\",\"\\u985E\\u4F3C\\u7684\\u547D\\u4EE4\",\"{0}, {1}\",\"\\u547D\\u4EE4 '{0}' \\u9020\\u6210\\u932F\\u8AA4\",\"{0}, {1}\",\"\\u9375\\u76E4\\u7126\\u9EDE\\u662F\\u5426\\u4F4D\\u65BC\\u5FEB\\u901F\\u8F38\\u5165\\u63A7\\u5236\\u9805\\u5167\",\"\\u76EE\\u524D\\u53EF\\u898B\\u7684\\u5FEB\\u901F\\u8F38\\u5165\\u985E\\u578B\",\"\\u5FEB\\u901F\\u8F38\\u5165\\u4E2D\\u7684\\u6E38\\u6A19\\u662F\\u5426\\u4F4D\\u65BC\\u8F38\\u5165\\u65B9\\u584A\\u7684\\u5C3E\\u7AEF\",\"\\u4E0A\\u4E00\\u9801\",\"\\u6309 'Enter' \\u9375\\u78BA\\u8A8D\\u60A8\\u7684\\u8F38\\u5165\\u6216\\u6309 'Esc' \\u9375\\u53D6\\u6D88\",\"{0}/{1}\",\"\\u8F38\\u5165\\u4EE5\\u7E2E\\u5C0F\\u7D50\\u679C\\u7BC4\\u570D\\u3002\",\"\\u5FEB\\u901F\\u6311\\u9078\\u5167\\u5BB9\\u6642\\u4F7F\\u7528\\u3002\\u5982\\u679C\\u60A8\\u8B8A\\u66F4\\u6B64\\u547D\\u4EE4\\u7684\\u4E00\\u500B\\u6309\\u9375\\u7E6B\\u7D50\\u95DC\\u4FC2\\uFF0C\\u5247\\u4E5F\\u61C9\\u8A72\\u8B8A\\u66F4\\u6B64\\u547D\\u4EE4\\u7684\\u6240\\u6709\\u5176\\u4ED6\\u6309\\u9375\\u7E6B\\u7D50\\u95DC\\u4FC2 (\\u4FEE\\u98FE\\u5143\\u8B8A\\u9AD4)\\u3002\",\"\\u5982\\u679C\\u6211\\u5011\\u5728\\u5FEB\\u901F\\u5B58\\u53D6\\u6A21\\u5F0F\\u4E2D\\uFF0C\\u9019\\u6703\\u700F\\u89BD\\u5230\\u4E0B\\u4E00\\u500B\\u9805\\u76EE\\u3002\\u5982\\u679C\\u6211\\u5011\\u4E0D\\u5728\\u5FEB\\u901F\\u5B58\\u53D6\\u6A21\\u5F0F\\u4E2D\\uFF0C\\u9019\\u6703\\u700F\\u89BD\\u5230\\u4E0B\\u4E00\\u500B\\u5206\\u9694\\u7DDA\\u3002\",\"\\u5982\\u679C\\u6211\\u5011\\u5728\\u5FEB\\u901F\\u5B58\\u53D6\\u6A21\\u5F0F\\u4E2D\\uFF0C\\u9019\\u6703\\u700F\\u89BD\\u5230\\u4E0A\\u4E00\\u500B\\u9805\\u76EE\\u3002\\u5982\\u679C\\u6211\\u5011\\u4E0D\\u5728\\u5FEB\\u901F\\u5B58\\u53D6\\u6A21\\u5F0F\\u4E2D\\uFF0C\\u9019\\u6703\\u700F\\u89BD\\u5230\\u4E0A\\u4E00\\u500B\\u5206\\u9694\\u7DDA\\u3002\",\"\\u5207\\u63DB\\u6240\\u6709\\u6838\\u53D6\\u65B9\\u584A\",\"{0} \\u500B\\u7D50\\u679C\",\"\\u5DF2\\u9078\\u64C7 {0}\",\"\\u78BA\\u5B9A\",\"\\u81EA\\u8A02\",\"\\u80CC\\u9762 ({0})\",\"\\u8FD4\\u56DE\",\"\\u5FEB\\u901F\\u8F38\\u5165\",\"\\u6309\\u4E00\\u4E0B\\u4EE5\\u57F7\\u884C\\u547D\\u4EE4 \\u2018{0}\\u2019\",\"\\u6574\\u9AD4\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u50C5\\u7576\\u672A\\u88AB\\u4EFB\\u4F55\\u5143\\u4EF6\\u8986\\u758A\\u6642\\uFF0C\\u624D\\u6703\\u4F7F\\u7528\\u6B64\\u8272\\u5F69\\u3002\",\"\\u5DF2\\u505C\\u7528\\u5143\\u7D20\\u7684\\u6574\\u9AD4\\u524D\\u666F\\u3002\\u53EA\\u6709\\u5728\\u5143\\u4EF6\\u672A\\u8986\\u84CB\\u6642\\uFF0C\\u624D\\u80FD\\u4F7F\\u7528\\u9019\\u500B\\u8272\\u5F69\\u3002\",\"\\u6574\\u9AD4\\u932F\\u8AA4\\u8A0A\\u606F\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\\u50C5\\u7576\\u672A\\u88AB\\u4EFB\\u4F55\\u5143\\u4EF6\\u8986\\u84CB\\u6642\\uFF0C\\u624D\\u6703\\u4F7F\\u7528\\u6B64\\u8272\\u5F69\\u3002\",\"\\u63D0\\u4F9B\\u9644\\u52A0\\u8A0A\\u606F\\u7684\\u524D\\u666F\\u984F\\u8272,\\u4F8B\\u5982\\u6A19\\u7C64\",\"\\u5DE5\\u4F5C\\u53F0\\u4E2D\\u5716\\u793A\\u7684\\u9810\\u8A2D\\u8272\\u5F69\\u3002\",\"\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u6574\\u9AD4\\u6846\\u7DDA\\u8272\\u5F69\\u3002\\u53EA\\u5728\\u6C92\\u6709\\u4EFB\\u4F55\\u5143\\u4EF6\\u8986\\u5BEB\\u6B64\\u8272\\u5F69\\u6642\\uFF0C\\u624D\\u6703\\u52A0\\u4EE5\\u4F7F\\u7528\\u3002\",\"\\u9805\\u76EE\\u5468\\u570D\\u7684\\u984D\\u5916\\u6846\\u7DDA\\uFF0C\\u53EF\\u5C07\\u9805\\u76EE\\u5F9E\\u5176\\u4ED6\\u9805\\u76EE\\u4E2D\\u5340\\u9694\\u51FA\\u4F86\\u4EE5\\u63D0\\u9AD8\\u5C0D\\u6BD4\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u9805\\u76EE\\u5468\\u570D\\u7684\\u984D\\u5916\\u908A\\u754C\\uFF0C\\u53EF\\u5C07\\u9805\\u76EE\\u5F9E\\u5176\\u4ED6\\u9805\\u76EE\\u4E2D\\u5340\\u9694\\u51FA\\u4F86\\u4EE5\\u63D0\\u9AD8\\u5C0D\\u6BD4\\u3002\",\"\\u4F5C\\u696D\\u5340\\u57DF\\u9078\\u53D6\\u7684\\u80CC\\u666F\\u984F\\u8272(\\u4F8B\\u5982\\u8F38\\u5165\\u6216\\u6587\\u5B57\\u5340\\u57DF)\\u3002\\u8ACB\\u6CE8\\u610F\\uFF0C\\u9019\\u4E0D\\u9069\\u7528\\u65BC\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u9078\\u53D6\\u3002\",\"\\u5167\\u6587\\u9023\\u7D50\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u7576\\u6ED1\\u9F20\\u9EDE\\u64CA\\u6216\\u61F8\\u505C\\u6642\\uFF0C\\u6587\\u5B57\\u4E2D\\u9023\\u7D50\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u6587\\u5B57\\u5206\\u9694\\u7B26\\u865F\\u7684\\u984F\\u8272\\u3002\",\"\\u63D0\\u793A\\u53CA\\u5EFA\\u8B70\\u6587\\u5B57\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u9810\\u5148\\u683C\\u5F0F\\u5316\\u6587\\u5B57\\u5340\\u6BB5\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u6587\\u5167\\u5F15\\u7528\\u5340\\u584A\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5F15\\u7528\\u6587\\u5B57\\u7684\\u6846\\u7DDA\\u984F\\u8272\\u3002\",\"\\u6587\\u5B57\\u5340\\u584A\\u7684\\u80CC\\u666F\\u984F\\u8272\\u3002\",\"\\u5716\\u8868\\u4E2D\\u4F7F\\u7528\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7528\\u65BC\\u5716\\u8868\\u4E2D\\u6C34\\u5E73\\u7DDA\\u7684\\u8272\\u5F69\\u3002\",\"\\u5716\\u8868\\u8996\\u89BA\\u6548\\u679C\\u4E2D\\u6240\\u4F7F\\u7528\\u7684\\u7D05\\u8272\\u3002\",\"\\u5716\\u8868\\u8996\\u89BA\\u6548\\u679C\\u4E2D\\u6240\\u4F7F\\u7528\\u7684\\u85CD\\u8272\\u3002\",\"\\u5716\\u8868\\u8996\\u89BA\\u6548\\u679C\\u4E2D\\u6240\\u4F7F\\u7528\\u7684\\u9EC3\\u8272\\u3002\",\"\\u5716\\u8868\\u8996\\u89BA\\u6548\\u679C\\u4E2D\\u6240\\u4F7F\\u7528\\u7684\\u6A59\\u8272\\u3002\",\"\\u5716\\u8868\\u8996\\u89BA\\u6548\\u679C\\u4E2D\\u6240\\u4F7F\\u7528\\u7684\\u7DA0\\u8272\\u3002\",\"\\u5716\\u8868\\u8996\\u89BA\\u6548\\u679C\\u4E2D\\u6240\\u4F7F\\u7528\\u7684\\u7D2B\\u8272\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u7684\\u9810\\u8A2D\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u9ECF\\u6027\\u6EFE\\u52D5\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5728\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u6642\\u6642\\uFF0C\\u9ECF\\u6027\\u6EFE\\u52D5\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u81EA\\u9ECF\\u6372\\u52D5\\u7684\\u908A\\u754C\\u8272\\u5F69\",\" \\u7DE8\\u8F2F\\u5668\\u4E2D\\u81EA\\u9ECF\\u6372\\u52D5\\u7684\\u9670\\u5F71\\u8272\\u5F69\",\"\\u7DE8\\u8F2F\\u5668\\u5C0F\\u5DE5\\u5177\\u7684\\u80CC\\u666F\\u8272\\u5F69\\uFF0C\\u4F8B\\u5982\\u5C0B\\u627E/\\u53D6\\u4EE3\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C0F\\u5DE5\\u5177 (\\u4F8B\\u5982\\u5C0B\\u627E/\\u53D6\\u4EE3) \\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C0F\\u5DE5\\u5177\\u7684\\u908A\\u754C\\u8272\\u5F69\\u3002\\u5C0F\\u5DE5\\u5177\\u9078\\u64C7\\u64C1\\u6709\\u908A\\u754C\\u6216\\u8272\\u5F69\\u672A\\u88AB\\u5C0F\\u5DE5\\u5177\\u8986\\u5BEB\\u6642\\uFF0C\\u624D\\u6703\\u4F7F\\u7528\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5C0F\\u5DE5\\u5177\\u4E4B\\u8ABF\\u6574\\u5927\\u5C0F\\u5217\\u7684\\u908A\\u754C\\u8272\\u5F69\\u3002\\u53EA\\u5728\\u5C0F\\u5DE5\\u5177\\u9078\\u64C7\\u5177\\u6709\\u8ABF\\u6574\\u5927\\u5C0F\\u908A\\u754C\\u4E14\\u672A\\u8986\\u5BEB\\u8A72\\u8272\\u5F69\\u6642\\uFF0C\\u624D\\u4F7F\\u7528\\u8A72\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u932F\\u8AA4\\u6587\\u5B57\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5167\\u932F\\u8AA4\\u63D0\\u793A\\u7DDA\\u7684\\u524D\\u666F\\u8272\\u5F69.\",\"\\u5982\\u679C\\u8A2D\\u5B9A\\uFF0C\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u932F\\u8AA4\\u6703\\u986F\\u793A\\u96D9\\u5E95\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u8B66\\u544A\\u6587\\u5B57\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5167\\u8B66\\u544A\\u63D0\\u793A\\u7DDA\\u7684\\u524D\\u666F\\u8272\\u5F69.\",\"\\u5982\\u679C\\u8A2D\\u5B9A\\uFF0C\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u8B66\\u544A\\u6703\\u986F\\u793A\\u96D9\\u5E95\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u4E2D\\u8CC7\\u8A0A\\u6587\\u5B57\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5167\\u8CC7\\u8A0A\\u63D0\\u793A\\u7DDA\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u5982\\u679C\\u8A2D\\u5B9A\\uFF0C\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u63D0\\u793A\\u6703\\u986F\\u793A\\u96D9\\u5E95\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u5167\\u63D0\\u793A\\u8A0A\\u606F\\u7684\\u63D0\\u793A\\u7DDA\\u524D\\u666F\\u8272\\u5F69\",\"\\u5982\\u679C\\u8A2D\\u5B9A\\uFF0C\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u63D0\\u793A\\u6703\\u986F\\u793A\\u96D9\\u5E95\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u4E4B\\u9023\\u7D50\\u7684\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u9078\\u53D6\\u7BC4\\u570D\\u7684\\u8272\\u5F69\\u3002\",\"\\u70BA\\u9078\\u53D6\\u7684\\u6587\\u5B57\\u984F\\u8272\\u9AD8\\u5C0D\\u6BD4\\u5316\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u7DE8\\u8F2F\\u5668\\u5167\\u7684\\u9078\\u53D6\\u9805\\u76EE\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u8207\\u9078\\u53D6\\u9805\\u76EE\\u5167\\u5BB9\\u76F8\\u540C\\u4E4B\\u5340\\u57DF\\u7684\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u9078\\u53D6\\u6642\\uFF0C\\u5167\\u5BB9\\u76F8\\u540C\\u4E4B\\u5340\\u57DF\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u7B26\\u5408\\u76EE\\u524D\\u641C\\u5C0B\\u7684\\u8272\\u5F69\\u3002\",\"\\u7B26\\u5408\\u76EE\\u524D\\u641C\\u5C0B\\u7684\\u6587\\u5B57\\u8272\\u5F69\\u3002\",\"\\u5176\\u4ED6\\u641C\\u5C0B\\u76F8\\u7B26\\u9805\\u76EE\\u7684\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7B26\\u5408\\u5176\\u4ED6\\u641C\\u5C0B\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u9650\\u5236\\u641C\\u5C0B\\u4E4B\\u7BC4\\u570D\\u7684\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7B26\\u5408\\u76EE\\u524D\\u641C\\u5C0B\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u7B26\\u5408\\u5176\\u4ED6\\u641C\\u5C0B\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u9650\\u5236\\u641C\\u5C0B\\u4E4B\\u7BC4\\u570D\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5728\\u986F\\u793A\\u52D5\\u614B\\u986F\\u793A\\u7684\\u6587\\u5B57\\u4E0B\\u9192\\u76EE\\u63D0\\u793A\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u52D5\\u614B\\u986F\\u793A\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u52D5\\u614B\\u986F\\u793A\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u52D5\\u614B\\u986F\\u793A\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u66AB\\u7559\\u72C0\\u614B\\u5217\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5167\\u5D4C\\u63D0\\u793A\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u5167\\u5D4C\\u63D0\\u793A\\u7684\\u80CC\\u666F\\u8272\\u5F69\",\"\\u985E\\u578B\\u5167\\u5D4C\\u63D0\\u793A\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u985E\\u578B\\u5167\\u5D4C\\u63D0\\u793A\\u7684\\u80CC\\u666F\\u8272\\u5F69\",\"\\u53C3\\u6578\\u5167\\u5D4C\\u63D0\\u793A\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u53C3\\u6578\\u5167\\u5D4C\\u63D0\\u793A\\u7684\\u80CC\\u666F\\u8272\\u5F69\",\"\\u7528\\u65BC\\u71C8\\u6CE1\\u52D5\\u4F5C\\u5716\\u793A\\u7684\\u8272\\u5F69\\u3002\",\"\\u7528\\u65BC\\u71C8\\u6CE1\\u81EA\\u52D5\\u4FEE\\u6B63\\u52D5\\u4F5C\\u5716\\u793A\\u7684\\u8272\\u5F69\\u3002\",\"\\u71C8\\u6CE1 AI \\u5716\\u793A\\u4F7F\\u7528\\u7684\\u8272\\u5F69\\u3002\",\"\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u5B9A\\u4F4D\\u505C\\u99D0\\u9EDE\\u7684\\u53CD\\u767D\\u986F\\u793A\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u5B9A\\u4F4D\\u505C\\u99D0\\u9EDE\\u7684\\u53CD\\u767D\\u986F\\u793A\\u908A\\u754C\\u8272\\u5F69\\u3002\",\"\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u6700\\u7D42\\u5B9A\\u4F4D\\u505C\\u99D0\\u9EDE\\u7684\\u53CD\\u767D\\u986F\\u793A\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u7A0B\\u5F0F\\u78BC\\u7247\\u6BB5\\u6700\\u7D42\\u5B9A\\u4F4D\\u505C\\u99D0\\u9EDE\\u7684\\u9192\\u76EE\\u63D0\\u793A\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u5DF2\\u63D2\\u5165\\u6587\\u5B57\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5DF2\\u79FB\\u9664\\u6587\\u5B57\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5DF2\\u63D2\\u5165\\u7A0B\\u5F0F\\u884C\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5DF2\\u79FB\\u9664\\u7A0B\\u5F0F\\u884C\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u63D2\\u5165\\u7A0B\\u5F0F\\u884C\\u6240\\u5728\\u908A\\u754C\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u79FB\\u9664\\u7A0B\\u5F0F\\u884C\\u6240\\u5728\\u908A\\u754C\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u63D2\\u5165\\u5167\\u5BB9\\u7684\\u5DEE\\u7570\\u6982\\u89C0\\u5C3A\\u898F\\u524D\\u666F\\u3002\",\"\\u79FB\\u9664\\u5167\\u5BB9\\u7684\\u5DEE\\u7570\\u6982\\u89C0\\u5C3A\\u898F\\u524D\\u666F\\u3002\",\"\\u63D2\\u5165\\u7684\\u6587\\u5B57\\u5916\\u6846\\u8272\\u5F69\\u3002\",\"\\u79FB\\u9664\\u7684\\u6587\\u5B57\\u5916\\u6846\\u8272\\u5F69\\u3002\",\"\\u5169\\u500B\\u6587\\u5B57\\u7DE8\\u8F2F\\u5668\\u4E4B\\u9593\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"Diff \\u7DE8\\u8F2F\\u5668\\u7684\\u659C\\u7D0B\\u586B\\u6EFF\\u8272\\u5F69\\u3002\\u659C\\u7D0B\\u586B\\u6EFF\\u7528\\u65BC\\u4E26\\u6392 Diff \\u6AA2\\u8996\\u3002\",\"Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u672A\\u8B8A\\u66F4\\u5340\\u584A\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u672A\\u8B8A\\u66F4\\u5340\\u584A\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"Diff \\u7DE8\\u8F2F\\u5668\\u4E2D\\u672A\\u8B8A\\u66F4\\u7A0B\\u5F0F\\u78BC\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5C0F\\u5DE5\\u5177\\u7684\\u9670\\u5F71\\u8272\\u5F69\\uFF0C\\u4F8B\\u5982\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u5C0B\\u627E/\\u53D6\\u4EE3\\u3002\",\"\\u5C0F\\u5DE5\\u5177\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\uFF0C\\u4F8B\\u5982\\u7DE8\\u8F2F\\u5668\\u4E2D\\u7684\\u5C0B\\u627E/\\u53D6\\u4EE3\\u3002\",\"\\u4F7F\\u7528\\u6ED1\\u9F20\\u5C07\\u6E38\\u6A19\\u505C\\u7559\\u5728\\u52D5\\u4F5C\\u4E0A\\u65B9\\u6642\\u7684\\u5DE5\\u5177\\u5217\\u80CC\\u666F\",\"\\u4F7F\\u7528\\u6ED1\\u9F20\\u5C07\\u6E38\\u6A19\\u505C\\u7559\\u5728\\u52D5\\u4F5C\\u4E0A\\u65B9\\u6642\\u7684\\u5DE5\\u5177\\u5217\\u5916\\u6846\",\"\\u5C07\\u6ED1\\u9F20\\u79FB\\u5230\\u52D5\\u4F5C\\u4E0A\\u65B9\\u6642\\u7684\\u5DE5\\u5177\\u5217\\u80CC\\u666F\",\"\\u7126\\u9EDE\\u968E\\u5C64\\u9023\\u7D50\\u9805\\u76EE\\u7684\\u8272\\u5F69\\u3002\",\"\\u968E\\u5C64\\u9023\\u7D50\\u7684\\u80CC\\u666F\\u8272\\u3002\",\"\\u7126\\u9EDE\\u968E\\u5C64\\u9023\\u7D50\\u9805\\u76EE\\u7684\\u8272\\u5F69\\u3002\",\"\\u6240\\u9078\\u968E\\u5C64\\u9023\\u7D50\\u9805\\u76EE\\u7684\\u8272\\u5F69\\u3002\",\"\\u968E\\u5C64\\u9023\\u7D50\\u9805\\u76EE\\u9078\\u64C7\\u5668\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u4E2D\\u76EE\\u524D\\u7684\\u6A19\\u982D\\u80CC\\u666F\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u4E2D\\u7684\\u76EE\\u524D\\u5167\\u5BB9\\u80CC\\u666F\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u4E2D\\u7684\\u50B3\\u5165\\u6A19\\u982D\\u80CC\\u666F\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u4E2D\\u7684\\u50B3\\u5165\\u5167\\u5BB9\\u80CC\\u666F\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u4E2D\\u7684\\u4E00\\u822C\\u4E0A\\u968E\\u6A19\\u982D\\u80CC\\u666F\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u4E2D\\u7684\\u4E00\\u822C\\u4E0A\\u968E\\u5167\\u5BB9\\u80CC\\u666F\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u4E2D\\u6A19\\u982D\\u53CA\\u5206\\u9694\\u5668\\u7684\\u908A\\u754C\\u8272\\u5F69\\u3002\",\"\\u76EE\\u524D\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u524D\\u666F\\u3002\",\"\\u50B3\\u5165\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u524D\\u666F\\u3002\",\"\\u5167\\u5D4C\\u5408\\u4F75\\u885D\\u7A81\\u4E2D\\u7684\\u5171\\u540C\\u4E0A\\u968E\\u6982\\u89C0\\u5C3A\\u898F\\u524D\\u666F\\u3002\",\"\\u5C0B\\u627E\\u76F8\\u7B26\\u9805\\u76EE\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u8272\\u5F69\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u9078\\u53D6\\u9805\\u76EE\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u6982\\u89C0\\u5C3A\\u898F\\u6A19\\u8A18\\u3002\\u5176\\u4E0D\\u5F97\\u70BA\\u4E0D\\u900F\\u660E\\u8272\\u5F69\\uFF0C\\u4EE5\\u514D\\u96B1\\u85CF\\u5E95\\u5C64\\u88DD\\u98FE\\u3002\",\"\\u7528\\u65BC\\u554F\\u984C\\u932F\\u8AA4\\u5716\\u793A\\u7684\\u8272\\u5F69\\u3002\",\"\\u7528\\u65BC\\u554F\\u984C\\u8B66\\u544A\\u5716\\u793A\\u7684\\u8272\\u5F69\\u3002\",\"\\u7528\\u65BC\\u554F\\u984C\\u8CC7\\u8A0A\\u5716\\u793A\\u7684\\u8272\\u5F69\\u3002\",\"\\u8F38\\u5165\\u65B9\\u584A\\u7684\\u80CC\\u666F\\u3002\",\"\\u8F38\\u5165\\u65B9\\u584A\\u7684\\u524D\\u666F\\u3002\",\"\\u8F38\\u5165\\u65B9\\u584A\\u7684\\u6846\\u7DDA\\u3002\",\"\\u8F38\\u5165\\u6B04\\u4F4D\\u4E2D\\u53EF\\u4F7F\\u7528\\u4E4B\\u9805\\u76EE\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u5728\\u8F38\\u5165\\u6B04\\u4F4D\\u4E2D\\u6240\\u555F\\u52D5\\u9078\\u9805\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u8F38\\u5165\\u6B04\\u4F4D\\u4E2D\\u9078\\u9805\\u7684\\u80CC\\u666F\\u66AB\\u7559\\u8272\\u5F69\\u3002\",\"\\u5728\\u8F38\\u5165\\u6B04\\u4F4D\\u4E2D\\u6240\\u555F\\u52D5\\u9078\\u9805\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u6587\\u5B57\\u8F38\\u5165\\u66FF\\u4EE3\\u5B57\\u7B26\\u7684\\u524D\\u666F\\u984F\\u8272\\u3002\",\"\\u8CC7\\u8A0A\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u8CC7\\u8A0A\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u8CC7\\u8A0A\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u908A\\u754C\\u8272\\u5F69\\u3002\",\"\\u8B66\\u544A\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u8B66\\u544A\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u8B66\\u544A\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u908A\\u754C\\u8272\\u5F69\\u3002\",\"\\u932F\\u8AA4\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u932F\\u8AA4\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u932F\\u8AA4\\u56B4\\u91CD\\u6027\\u7684\\u8F38\\u5165\\u9A57\\u8B49\\u908A\\u754C\\u8272\\u5F69\\u3002\",\"\\u4E0B\\u62C9\\u5F0F\\u6E05\\u55AE\\u7684\\u80CC\\u666F\\u3002\",\"\\u4E0B\\u62C9\\u5F0F\\u6E05\\u55AE\\u7684\\u80CC\\u666F\\u3002\",\"\\u4E0B\\u62C9\\u5F0F\\u6E05\\u55AE\\u7684\\u524D\\u666F\\u3002\",\"\\u4E0B\\u62C9\\u5F0F\\u6E05\\u55AE\\u7684\\u6846\\u7DDA\\u3002\",\"\\u6309\\u9215\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u5206\\u9694\\u7DDA\\u8272\\u5F69\\u6309\\u9215\\u3002\",\"\\u6309\\u9215\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u66AB\\u7559\\u6642\\u7684\\u6309\\u9215\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u6309\\u9215\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u6B21\\u8981\\u6309\\u9215\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u6B21\\u8981\\u6309\\u9215\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u6ED1\\u9F20\\u66AB\\u7559\\u6642\\u7684\\u6B21\\u8981\\u6309\\u9215\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7121\\u7DDA\\u96FB\\u9078\\u9805\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7121\\u7DDA\\u96FB\\u9078\\u9805\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u7121\\u7DDA\\u96FB\\u9078\\u9805\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u7121\\u7DDA\\u96FB\\u9078\\u9805\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u7121\\u7DDA\\u96FB\\u9078\\u9805\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u7121\\u7DDA\\u96FB\\u9078\\u9805\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u66AB\\u7559\\u6642\\u975E\\u4F7F\\u7528\\u4E2D\\u7121\\u7DDA\\u96FB\\u9078\\u9805\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u6838\\u53D6\\u65B9\\u584A\\u5C0F\\u5DE5\\u5177\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u9078\\u53D6\\u5176\\u6240\\u8655\\u5143\\u7D20\\u6642\\uFF0C\\u6838\\u53D6\\u65B9\\u584A\\u5C0F\\u5DE5\\u5177\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u6838\\u53D6\\u65B9\\u584A\\u5C0F\\u5DE5\\u5177\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u6838\\u53D6\\u65B9\\u584A\\u5C0F\\u5DE5\\u5177\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u9078\\u53D6\\u5176\\u6240\\u8655\\u5143\\u7D20\\u6642\\uFF0C\\u6838\\u53D6\\u65B9\\u584A\\u5C0F\\u5DE5\\u5177\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u91D1\\u9470\\u7D81\\u5B9A\\u6A19\\u7C64\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u6309\\u9375\\u7D81\\u5B9A\\u6A19\\u7C64\\u7528\\u4F86\\u4EE3\\u8868\\u9375\\u76E4\\u5FEB\\u901F\\u9375\\u3002\",\"\\u91D1\\u9470\\u7D81\\u5B9A\\u6A19\\u7C64\\u524D\\u666F\\u8272\\u5F69\\u3002\\u6309\\u9375\\u7D81\\u5B9A\\u6A19\\u7C64\\u7528\\u4F86\\u4EE3\\u8868\\u9375\\u76E4\\u5FEB\\u901F\\u9375\\u3002\",\"\\u91D1\\u9470\\u7D81\\u5B9A\\u6A19\\u7C64\\u908A\\u6846\\u8272\\u5F69\\u3002\\u6309\\u9375\\u7D81\\u5B9A\\u6A19\\u7C64\\u7528\\u4F86\\u4EE3\\u8868\\u9375\\u76E4\\u5FEB\\u901F\\u9375\\u3002\",\"\\u91D1\\u9470\\u7D81\\u5B9A\\u6A19\\u7C64\\u908A\\u6846\\u5E95\\u90E8\\u8272\\u5F69\\u3002\\u6309\\u9375\\u7D81\\u5B9A\\u6A19\\u7C64\\u7528\\u4F86\\u4EE3\\u8868\\u9375\\u76E4\\u5FEB\\u901F\\u9375\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u524D\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u70BA\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u5916\\u6846\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u70BA\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u4E26\\u5DF2\\u9078\\u53D6\\u6642\\uFF0C\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u5916\\u6846\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u5177\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u6240\\u9078\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u6240\\u9078\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u524D\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u6240\\u9078\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u5716\\u793A\\u524D\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u975E\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u6240\\u9078\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u6240\\u9078\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u524D\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u975E\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u6240\\u9078\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u5716\\u793A\\u524D\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u70BA\\u975E\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u7576\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u70BA\\u975E\\u4F7F\\u7528\\u4E2D\\u72C0\\u614B\\u6642\\uFF0C\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u5916\\u6846\\u8272\\u5F69\\u3002\\u4F7F\\u7528\\u4E2D\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u6709\\u9375\\u76E4\\u7126\\u9EDE\\uFF0C\\u975E\\u4F7F\\u7528\\u4E2D\\u8005\\u5247\\u6C92\\u6709\\u3002\",\"\\u4F7F\\u7528\\u6ED1\\u9F20\\u66AB\\u7559\\u5728\\u9805\\u76EE\\u6642\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u80CC\\u666F\\u3002\",\"\\u6ED1\\u9F20\\u66AB\\u7559\\u5728\\u9805\\u76EE\\u6642\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u524D\\u666F\\u3002\",\"\\u4F7F\\u7528\\u6ED1\\u9F20\\u5C07\\u9805\\u76EE\\u79FB\\u5230\\u5176\\u4ED6\\u9805\\u76EE\\u4E0A\\u6642\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u62D6\\u653E\\u80CC\\u666F\\u3002\",\"\\u4F7F\\u7528\\u6ED1\\u9F20\\u79FB\\u52D5\\u9805\\u76EE\\u6642\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u76EE\\u9304\\u62D6\\u653E\\u908A\\u754C\\u8272\\u5F69\\u3002\",\"\\u5728\\u6E05\\u55AE/\\u6A39\\u72C0\\u5167\\u641C\\u5C0B\\u6642\\uFF0C\\u76F8\\u7B26\\u9192\\u76EE\\u63D0\\u793A\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u5728\\u6E05\\u55AE/\\u6A39\\u72C0\\u5167\\u641C\\u5C0B\\u6642\\uFF0C\\u76F8\\u7B26\\u9805\\u76EE\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u7D50\\u69CB\\u524D\\u666F\\u8272\\u5F69\\u6703\\u91DD\\u5C0D\\u4E3B\\u52D5\\u7126\\u9EDE\\u9805\\u76EE\\u9032\\u884C\\u5F37\\u8ABF\\u986F\\u793A\\u3002\",\"\\u5217\\u8868/\\u6A39\\u72C0 \\u7121\\u6548\\u9805\\u76EE\\u7684\\u524D\\u666F\\u8272\\u5F69\\uFF0C\\u4F8B\\u5982\\u5728\\u700F\\u89BD\\u8996\\u7A97\\u7121\\u6CD5\\u89E3\\u6790\\u7684\\u6839\\u76EE\\u9304\",\"\\u5305\\u542B\\u932F\\u8AA4\\u6E05\\u55AE\\u9805\\u76EE\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u5305\\u542B\\u8B66\\u544A\\u6E05\\u55AE\\u9805\\u76EE\\u7684\\u524D\\u666F\\u8272\\u5F69\",\"\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u7D50\\u69CB\\u4E2D\\u985E\\u578B\\u7BE9\\u9078\\u5C0F\\u5DE5\\u5177\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u7D50\\u69CB\\u4E2D\\u985E\\u578B\\u7BE9\\u9078\\u5C0F\\u5DE5\\u5177\\u7684\\u5927\\u7DB1\\u8272\\u5F69\\u3002\",\"\\u5728\\u6C92\\u6709\\u76F8\\u7B26\\u9805\\u76EE\\u6642\\uFF0C\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u7D50\\u69CB\\u4E2D\\u985E\\u578B\\u7BE9\\u9078\\u5C0F\\u5DE5\\u5177\\u7684\\u5927\\u7DB1\\u8272\\u5F69\\u3002\",\"\\u6E05\\u55AE\\u548C\\u6A39\\u72C0\\u7D50\\u69CB\\u4E2D\\u985E\\u578B\\u7BE9\\u9078\\u5C0F\\u5DE5\\u5177\\u7684\\u9670\\u5F71\\u8272\\u5F69\\u3002\",\"\\u5DF2\\u7BE9\\u9078\\u76F8\\u7B26\\u9805\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u5DF2\\u7BE9\\u9078\\u76F8\\u7B26\\u9805\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u5DF2\\u53D6\\u6D88\\u5F37\\u8ABF\\u7684\\u6E05\\u55AE/\\u6A39\\u72C0\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u6A39\\u72C0\\u7B46\\u89F8\\u8272\\u5F69\\u3002\",\"\\u975E\\u4F7F\\u7528\\u4E2D\\u7E2E\\u6392\\u8F14\\u52A9\\u7DDA\\u7684\\u6A39\\u72C0\\u7B46\\u89F8\\u8272\\u5F69\\u3002\",\"\\u8CC7\\u6599\\u884C\\u4E4B\\u9593\\u7684\\u8CC7\\u6599\\u8868\\u908A\\u754C\\u8272\\u5F69\\u3002\",\"\\u5947\\u6578\\u8CC7\\u6599\\u8868\\u8CC7\\u6599\\u5217\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u52D5\\u4F5C\\u6E05\\u55AE\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u52D5\\u4F5C\\u6E05\\u55AE\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u52D5\\u4F5C\\u6E05\\u55AE\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u52D5\\u4F5C\\u6E05\\u55AE\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u529F\\u80FD\\u8868\\u7684\\u908A\\u6846\\u8272\\u5F69\\u3002\",\"\\u529F\\u80FD\\u8868\\u9805\\u76EE\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u529F\\u80FD\\u8868\\u9805\\u76EE\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u529F\\u80FD\\u8868\\u4E2D\\u6240\\u9078\\u529F\\u80FD\\u8868\\u9805\\u76EE\\u7684\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u529F\\u80FD\\u8868\\u4E2D\\u6240\\u9078\\u529F\\u80FD\\u8868\\u9805\\u76EE\\u7684\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u529F\\u80FD\\u8868\\u4E2D\\u6240\\u9078\\u529F\\u80FD\\u8868\\u9805\\u76EE\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u529F\\u80FD\\u8868\\u4E2D\\u5206\\u9694\\u7DDA\\u529F\\u80FD\\u8868\\u9805\\u76EE\\u7684\\u8272\\u5F69\\u3002\",\"\\u7528\\u65BC\\u5C0B\\u627E\\u76F8\\u7B26\\u9805\\u76EE\\u7684\\u7E2E\\u5716\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u91CD\\u8907\\u7DE8\\u8F2F\\u5668\\u9078\\u53D6\\u9805\\u76EE\\u7684\\u7E2E\\u5716\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u7DE8\\u8F2F\\u5668\\u9078\\u53D6\\u7BC4\\u570D\\u7684\\u8FF7\\u4F60\\u5730\\u5716\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u8CC7\\u8A0A\\u7684\\u7E2E\\u5716\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u8B66\\u544A\\u7684\\u7E2E\\u5716\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u932F\\u8AA4\\u7684\\u7E2E\\u5716\\u6A19\\u8A18\\u8272\\u5F69\\u3002\",\"\\u7E2E\\u5716\\u80CC\\u666F\\u8272\\u5F69\\u3002\",'\\u5728\\u7E2E\\u5716\\u4E2D\\u5448\\u73FE\\u7684\\u524D\\u666F\\u5143\\u7D20\\u4E0D\\u900F\\u660E\\u5EA6\\u3002\\u4F8B\\u5982\\uFF0C\"#000000c0\" \\u6703\\u4EE5\\u4E0D\\u900F\\u660E\\u5EA6 75% \\u8F49\\u8B6F\\u5143\\u7D20\\u3002',\"\\u7E2E\\u5716\\u6ED1\\u687F\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u66AB\\u7559\\u6642\\u7684\\u7E2E\\u5716\\u6ED1\\u687F\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u6309\\u4E00\\u4E0B\\u6642\\u7684\\u7E2E\\u5716\\u6ED1\\u687F\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u4F7F\\u7528\\u4E2D\\u98FE\\u5E36\\u7684\\u6846\\u7DDA\\u8272\\u5F69\\u3002\",\"\\u6A19\\u8A18\\u7684\\u80CC\\u666F\\u984F\\u8272\\u3002\\u6A19\\u8A18\\u70BA\\u5C0F\\u578B\\u7684\\u8A0A\\u606F\\u6A19\\u7C64,\\u4F8B\\u5982\\u641C\\u5C0B\\u7D50\\u679C\\u7684\\u6578\\u91CF\\u3002\",\"\\u6A19\\u8A18\\u7684\\u524D\\u666F\\u984F\\u8272\\u3002\\u6A19\\u8A18\\u70BA\\u5C0F\\u578B\\u7684\\u8A0A\\u606F\\u6A19\\u7C64,\\u4F8B\\u5982\\u641C\\u5C0B\\u7D50\\u679C\\u7684\\u6578\\u91CF\\u3002\",\"\\u6307\\u51FA\\u5728\\u6372\\u52D5\\u8A72\\u6AA2\\u8996\\u7684\\u6372\\u8EF8\\u9670\\u5F71\\u3002\",\"\\u6372\\u8EF8\\u6ED1\\u687F\\u7684\\u80CC\\u666F\\u984F\\u8272\\u3002\",\"\\u52D5\\u614B\\u986F\\u793A\\u6642\\u6372\\u8EF8\\u6ED1\\u687F\\u7684\\u80CC\\u666F\\u984F\\u8272\\u3002\",\"\\u7576\\u9EDE\\u64CA\\u6642\\u6372\\u8EF8\\u6ED1\\u687F\\u7684\\u80CC\\u666F\\u984F\\u8272\\u3002\",\"\\u9577\\u6642\\u9593\\u904B\\u884C\\u9032\\u5EA6\\u689D\\u7684\\u80CC\\u666F\\u8272\\u5F69.\",\"\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u8A72\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u5C0F\\u5DE5\\u5177\\u662F\\u985E\\u4F3C\\u547D\\u4EE4\\u9078\\u64C7\\u5340\\u7684\\u9078\\u64C7\\u5668\\u5BB9\\u5668\\u3002\",\"\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u524D\\u666F\\u8272\\u5F69\\u3002\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u5C0F\\u5DE5\\u5177\\u662F\\u985E\\u4F3C\\u547D\\u4EE4\\u9078\\u64C7\\u5340\\u7B49\\u9078\\u64C7\\u5668\\u7684\\u5BB9\\u5668\\u3002\",\"\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u6A19\\u984C\\u80CC\\u666F\\u8272\\u5F69\\u3002\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u5C0F\\u5DE5\\u5177\\u662F\\u985E\\u4F3C\\u547D\\u4EE4\\u9078\\u64C7\\u5340\\u7684\\u9078\\u64C7\\u5668\\u5BB9\\u5668\\u3002\",\"\\u5206\\u7D44\\u6A19\\u7C64\\u7684\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u8272\\u5F69\\u3002\",\"\\u5206\\u7D44\\u908A\\u754C\\u7684\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u8272\\u5F69\\u3002\",\"\\u8ACB\\u6539\\u7528 quickInputList.focusBackground\",\"\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u5716\\u793A\\u524D\\u666F\\u8272\\u5F69\\u3002\",\"\\u7126\\u9EDE\\u9805\\u76EE\\u7684\\u5FEB\\u901F\\u9078\\u64C7\\u5668\\u80CC\\u666F\\u8272\\u5F69\\u3002\",\"\\u641C\\u5C0B Viewlet \\u5B8C\\u6210\\u8A0A\\u606F\\u4E2D\\u6587\\u5B57\\u7684\\u8272\\u5F69\\u3002\",\"\\u641C\\u5C0B\\u7DE8\\u8F2F\\u5668\\u67E5\\u8A62\\u7B26\\u5408\\u7684\\u8272\\u5F69\\u3002\",\"\\u641C\\u7D22\\u7DE8\\u8F2F\\u5668\\u67E5\\u8A62\\u7B26\\u5408\\u7684\\u908A\\u6846\\u8272\\u5F69\\u3002\",\"\\u6B64\\u8272\\u5F69\\u5FC5\\u9808\\u662F\\u900F\\u660E\\u7684\\uFF0C\\u5426\\u5247\\u6703\\u906E\\u4F4F\\u5167\\u5BB9\",\"\\u4F7F\\u7528\\u9810\\u8A2D\\u8272\\u5F69\\u3002\",\"\\u8981\\u4F7F\\u7528\\u7684\\u5B57\\u578B\\u8B58\\u5225\\u78BC\\u3002\\u5982\\u672A\\u8A2D\\u5B9A\\uFF0C\\u5C31\\u6703\\u4F7F\\u7528\\u6700\\u5148\\u5B9A\\u7FA9\\u7684\\u5B57\\u578B\\u3002\",\"\\u8207\\u5716\\u793A\\u5B9A\\u7FA9\\u5EFA\\u7ACB\\u95DC\\u806F\\u7684\\u5B57\\u578B\\u5B57\\u5143\\u3002\",\"\\u5C0F\\u5DE5\\u5177\\u4E2D\\u95DC\\u9589\\u52D5\\u4F5C\\u7684\\u5716\\u793A\\u3002\",\"\\u79FB\\u81F3\\u4E0A\\u4E00\\u500B\\u7DE8\\u8F2F\\u5668\\u4F4D\\u7F6E\\u7684\\u5716\\u793A\\u3002\",\"\\u79FB\\u81F3\\u4E0B\\u4E00\\u500B\\u7DE8\\u8F2F\\u5668\\u4F4D\\u7F6E\\u7684\\u5716\\u793A\\u3002\",\"\\u5DF2\\u5728\\u78C1\\u789F\\u4E0A\\u95DC\\u9589\\u4E26\\u4FEE\\u6539\\u4EE5\\u4E0B\\u6A94\\u6848: {0}\\u3002\",\"\\u4E0B\\u5217\\u6A94\\u6848\\u5DF2\\u4F7F\\u7528\\u4E0D\\u76F8\\u5BB9\\u7684\\u65B9\\u5F0F\\u4FEE\\u6539: {0}\\u3002\",\"\\u7121\\u6CD5\\u5FA9\\u539F\\u6240\\u6709\\u6A94\\u6848\\u7684 '{0}'\\u3002{1}\",\"\\u7121\\u6CD5\\u5FA9\\u539F\\u6240\\u6709\\u6A94\\u6848\\u7684 '{0}'\\u3002{1}\",\"\\u56E0\\u70BA\\u5DF2\\u5C0D {1} \\u9032\\u884C\\u8B8A\\u66F4\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u5FA9\\u539F\\u6240\\u6709\\u6A94\\u6848\\u7684 '{0}'\",\"\\u56E0\\u70BA {1} \\u4E2D\\u5DF2\\u7D93\\u6709\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u5FA9\\u539F\\u6216\\u91CD\\u505A\\u4F5C\\u696D\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u70BA\\u6240\\u6709\\u6A94\\u6848\\u5FA9\\u539F '{0}'\",\"\\u56E0\\u70BA\\u540C\\u6642\\u767C\\u751F\\u5176\\u4ED6\\u5FA9\\u539F\\u6216\\u91CD\\u505A\\u4F5C\\u696D\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u70BA\\u6240\\u6709\\u6A94\\u6848\\u5FA9\\u539F '{0}'\",\"\\u8981\\u5FA9\\u539F\\u6240\\u6709\\u6A94\\u6848\\u7684 '{0}' \\u55CE?\",\"\\u5728 {0} \\u500B\\u6A94\\u6848\\u4E2D\\u5FA9\\u539F(&&U)\",\"\\u5FA9\\u539F\\u6B64\\u6A94\\u6848(&&F)\",\"\\u56E0\\u70BA\\u5DF2\\u7D93\\u6709\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u5FA9\\u539F\\u6216\\u91CD\\u505A\\u4F5C\\u696D\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u5FA9\\u539F '{0}'\\u3002\",\"\\u8981\\u5FA9\\u539F '{0}' \\u55CE?\",\"\\u662F(&&Y)\",\"\\u5426\",\"\\u7121\\u6CD5\\u5FA9\\u539F\\u6240\\u6709\\u6A94\\u6848\\u7684 '{0}'\\u3002{1}\",\"\\u7121\\u6CD5\\u5FA9\\u539F\\u6240\\u6709\\u6A94\\u6848\\u7684 '{0}'\\u3002{1}\",\"\\u56E0\\u70BA\\u5DF2\\u5C0D {1} \\u9032\\u884C\\u8B8A\\u66F4\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u5FA9\\u539F\\u6240\\u6709\\u6A94\\u6848\\u7684 '{0}'\",\"\\u56E0\\u70BA {1} \\u4E2D\\u5DF2\\u7D93\\u6709\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u5FA9\\u539F\\u6216\\u91CD\\u505A\\u4F5C\\u696D\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u70BA\\u6240\\u6709\\u6A94\\u6848\\u91CD\\u505A '{0}'\",\"\\u56E0\\u70BA\\u540C\\u6642\\u767C\\u751F\\u5176\\u4ED6\\u5FA9\\u539F\\u6216\\u91CD\\u505A\\u4F5C\\u696D\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u70BA\\u6240\\u6709\\u6A94\\u6848\\u91CD\\u505A '{0}'\",\"\\u56E0\\u70BA\\u5DF2\\u7D93\\u6709\\u6B63\\u5728\\u57F7\\u884C\\u7684\\u5FA9\\u539F\\u6216\\u91CD\\u505A\\u4F5C\\u696D\\uFF0C\\u6240\\u4EE5\\u7121\\u6CD5\\u91CD\\u505A '{0}'\\u3002\",\"Code \\u5DE5\\u4F5C\\u5340\"],globalThis._VSCODE_NLS_LANGUAGE=\"zh-tw\";\n\n//# sourceMappingURL=../min-maps/nls.messages.zh-tw.js.map\n});\n"
  },
  {
    "path": "core/frontend/rsbuild.config.ts",
    "content": "import AutoImport from 'unplugin-auto-import/rspack'\nimport Components from 'unplugin-vue-components/rspack'\nimport { defineConfig } from '@rsbuild/core'\nimport { pluginBabel } from '@rsbuild/plugin-babel'\nimport { pluginVue } from '@rsbuild/plugin-vue'\nimport { pluginVueJsx } from '@rsbuild/plugin-vue-jsx'\nimport { pluginSass } from '@rsbuild/plugin-sass'\nimport { pluginEslint } from '@rsbuild/plugin-eslint'\nimport { UnoCSSRspackPlugin } from '@unocss/webpack/rspack'\nimport { NaiveUiResolver } from 'unplugin-vue-components/resolvers'\nimport { pluginBasicSsl } from '@rsbuild/plugin-basic-ssl'\nimport { getEnv, getServer } from './build/utils'\n\nconst server = getServer()\nexport default defineConfig({\n\tplugins: [\n\t\tpluginBabel({\n\t\t\tinclude: /\\.(?:jsx|tsx)$/,\n\t\t}),\n\t\tpluginVue(),\n\t\tpluginVueJsx(),\n\t\tpluginSass(),\n\t\t...(server.https ? [pluginBasicSsl()] : []),\n\t\tpluginEslint({\n\t\t\teslintPluginOptions: {\n\t\t\t\tcwd: __dirname,\n\t\t\t\tconfigType: 'flat',\n\t\t\t\textensions: ['.js', '.jsx', '.ts', '.tsx', '.vue'],\n\t\t\t},\n\t\t}),\n\t],\n\ttools: {\n\t\trspack: {\n\t\t\tplugins: [\n\t\t\t\tUnoCSSRspackPlugin({\n\t\t\t\t\tconfigFile: './uno.config.ts',\n\t\t\t\t}),\n\t\t\t\tAutoImport({\n\t\t\t\t\tdts: 'types/auto-import.d.ts',\n\t\t\t\t\timports: ['vue', 'vue-router', 'vue-i18n'],\n\t\t\t\t\teslintrc: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tfilepath: '.eslintrc-auto-import.json',\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tComponents({\n\t\t\t\t\tdts: 'types/components.d.ts',\n\t\t\t\t\tdirs: ['src/components/**/*'],\n\t\t\t\t\textensions: ['vue', 'tsx'],\n\t\t\t\t\tresolvers: [NaiveUiResolver()],\n\t\t\t\t}),\n\t\t\t],\n\t\t},\n\t},\n\thtml: {\n\t\ttemplate: './index.html',\n\t},\n\tresolve: {\n\t\textensions: ['.ts', '.tsx', '.mjs', '.js', '.jsx', '.json', '.d.ts'],\n\t\talias: {\n\t\t\t'@': './src/',\n\t\t\t'@images': './src/assets/images/',\n\t\t},\n\t},\n\tsource: {\n\t\tdefine: {\n\t\t\t'import.meta.env': JSON.stringify({\n\t\t\t\tSERVER: server,\n\t\t\t\tAPI_URL_PREFIX: getEnv('API_URL_PREFIX'),\n\t\t\t}),\n\t\t},\n\t},\n\tserver: {\n\t\tproxy: {\n\t\t\t'/api': {\n\t\t\t\ttarget: server.address,\n\t\t\t\tsecure: false,\n\t\t\t\tchangeOrigin: true,\n\t\t\t\tpathRewrite: { '^/api': '' },\n\t\t\t},\n\t\t},\n\t},\n})\n"
  },
  {
    "path": "core/frontend/src/App.vue",
    "content": "<template>\n\t<bt-config-provider>\n\t\t<router-view></router-view>\n\t</bt-config-provider>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useThemeStore } from './store'\n\nconst themeStore = useThemeStore()\n\n// 监听主题变化并应用到文档\nwatch(\n\t() => themeStore.theme,\n\t() => {\n\t\tthemeStore.changeTheme()\n\t},\n\t{\n\t\timmediate: true,\n\t}\n)\n</script>\n"
  },
  {
    "path": "core/frontend/src/api/index.ts",
    "content": "import axios, { AxiosRequestConfig } from 'axios'\nimport router from '@/router'\nimport { useUserStore } from '@/store'\nimport { apiUrlPrefix, isObject, Message } from '@/utils'\n\ninterface FetchOptions {\n\tprefix: string\n\tloading: string\n\tloadFn: () => void\n\tcancelResInterceptor: boolean\n}\n\nconst instance = axios.create({\n\tbaseURL: apiUrlPrefix,\n\ttimeout: 600000,\n\theaders: {\n\t\t'Content-Type': 'application/json',\n\t},\n\tfetchOptions: {\n\t\tprefix: '/api',\n\t\tsuccessMessage: false,\n\t},\n})\n\nconst whitePathList = ['/login']\n\n// 存储所有请求的 AbortController\nconst controllerStore = new Map<string, AbortController>()\n\n// 生成唯一请求标识\nconst generateReqKey = (config: AxiosRequestConfig): string => {\n\tconst { method, url, params, data } = config\n\treturn `${method}-${url}-${JSON.stringify(params)}-${JSON.stringify(data)}`\n}\n\n// 添加请求到控制器存储\nconst addController = (config: AxiosRequestConfig): void => {\n\tconst key = generateReqKey(config)\n\n\t// 如果已有相同请求则取消前一个\n\tif (controllerStore.has(key)) {\n\t\tcontrollerStore.get(key)?.abort()\n\t\tcontrollerStore.delete(key)\n\t}\n\n\t// 创建新控制器\n\tconst controller = new AbortController()\n\tconfig.signal = controller.signal\n\tcontrollerStore.set(key, controller)\n}\n\n// 从存储中移除控制器\nconst removeController = (config: AxiosRequestConfig): void => {\n\tconst key = generateReqKey(config)\n\tif (controllerStore.has(key)) {\n\t\tcontrollerStore.delete(key)\n\t}\n}\n\n// 请求拦截器 增加token\ninstance.interceptors.request.use(config => {\n\taddController(config)\n\tconst { headers, url } = config\n\tif (!whitePathList.includes(url || '')) {\n\t\tconst userStore = useUserStore()\n\t\theaders.Authorization = `Bearer ${userStore.login.token}`\n\t}\n\treturn config\n})\n\n// 请求拦截器 处理请求前缀\ninstance.interceptors.request.use(config => {\n\tconst { fetchOptions } = config\n\tif (isObject<FetchOptions>(fetchOptions)) {\n\t\tconfig.url = `${fetchOptions.prefix}` + config.url\n\t}\n\treturn config\n})\n\n// 请求拦截器 处理请求前缀\ninstance.interceptors.request.use(config => {\n\tconst { fetchOptions } = config\n\tif (isObject<FetchOptions>(fetchOptions) && fetchOptions.loading) {\n\t\tconst { close } = Message.loading(fetchOptions.loading)\n\t\tfetchOptions.loadFn = close\n\t}\n\treturn config\n})\n\n// 成功、失败处理\ninstance.interceptors.response.use(\n\tresponse => {\n\t\tremoveController(response.config)\n\n\t\tconst { fetchOptions } = response.config\n\t\tconst { code, data, msg, success } = response.data || {}\n\n\t\tif (fetchOptions?.cancelResInterceptor) {\n\t\t\treturn Promise.resolve(data)\n\t\t}\n\n\t\tif (fetchOptions?.loadFn) {\n\t\t\tfetchOptions.loadFn()\n\t\t}\n\n\t\tif (response.data.type === 'application/octet-stream') {\n\t\t\tconst url = window.URL.createObjectURL(new Blob([response.data]))\n\t\t\tconst link = document.createElement('a')\n\t\t\tlink.href = url\n\t\t\tconst disposition = response.headers['content-disposition']\n\t\t\tconst filename = disposition\n\t\t\t\t? decodeURIComponent(disposition.split('filename=')[1])\n\t\t\t\t: 'downloaded_file'\n\t\t\tlink.setAttribute('download', filename)\n\t\t\tdocument.body.appendChild(link)\n\t\t\tlink.click()\n\t\t\tdocument.body.removeChild(link)\n\t\t\twindow.URL.revokeObjectURL(url)\n\t\t\treturn Promise.resolve(data)\n\t\t}\n\n\t\tif (code === 0 && success) {\n\t\t\tif (fetchOptions?.successMessage) {\n\t\t\t\tMessage.success(msg)\n\t\t\t}\n\t\t\treturn Promise.resolve(data)\n\t\t}\n\t\tif (!success && msg) {\n\t\t\tMessage.error(msg, {\n\t\t\t\tclose: true,\n\t\t\t})\n\t\t}\n\t\tif (code === 401) {\n\t\t\tconst userStore = useUserStore()\n\t\t\tuserStore.resetLoginInfo()\n\t\t\trouter.push('/login')\n\t\t}\n\t\treturn Promise.reject(response.data)\n\t},\n\terror => {\n\t\tif (!axios.isCancel(error)) {\n\t\t\tremoveController(error.config || {})\n\t\t}\n\t\treturn Promise.reject(error)\n\t}\n)\n\n// 取消所有进行中的请求\nconst clearPendingRequests = (): void => {\n\tcontrollerStore.forEach((controller, key) => {\n\t\tcontroller.abort()\n\t\tcontrollerStore.delete(key)\n\t})\n}\n\nexport { instance, clearPendingRequests }\n"
  },
  {
    "path": "core/frontend/src/api/modules/api.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getApiList = (params: {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n\tactive: number\n\tstart_time: number\n\tend_time: number\n}) => {\n\treturn instance.get('/batch_mail/api/list', { params })\n}\n\nexport const getOverviewStats = (params: { start_time: number; end_time: number }) => {\n\treturn instance.get('/batch_mail/api/overview_stats', { params })\n}\n\ntype APIParams = {\n\tapi_name: string\n\ttemplate_id: number\n\tsubject: string\n\taddresser: string\n\tfull_name: string\n\tunsubscribe: number\n\tactive: number\n\tip_whitelist: string[]\n}\n\nexport const createApi = (params: APIParams) => {\n\treturn instance.post('/batch_mail/api/create', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('api.loading.creating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const updateApi = (params: APIParams & { id: number }) => {\n\treturn instance.post('/batch_mail/api/update', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('api.loading.updating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteApi = (params: { id: number }) => {\n\treturn instance.post('/batch_mail/api/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('api.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const testApi = (key: string, params: { recipient: string }) => {\n\treturn instance.post('/batch_mail/api/send', params, {\n\t\theaders: {\n\t\t\t'x-api-key': key,\n\t\t},\n\t\tfetchOptions: {\n\t\t\tloading: t('api.loading.testing'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/contacts/group.ts",
    "content": "import { instance } from '@/api'\nimport { i18n } from '@/i18n'\nimport { GroupParams } from '@/views/contacts/group/types/base'\n\nconst { t } = i18n.global\n\nexport const getGroupList = (params: GroupParams) => {\n\treturn instance.get('/contact/group/list', { params })\n}\n\nexport const getGroupAll = () => {\n\treturn instance.get('/contact/group/all')\n}\n\nexport const getGroupInfo = (params: { group_id: number }) => {\n\treturn instance.get('/contact/group/info', { params })\n}\n\nexport const createGroup = (data: {\n\tcreate_type: number\n\tname: string\n\tdescription: string\n\tdouble_optin: number\n\tfile_data?: string\n\tfile_type?: string\n}) => {\n\treturn instance.post('/contact/group/create', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.group.loading.createGroup'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const updateGroup = (data: { group_id: number; name: string }) => {\n\treturn instance.post('/contact/group/update', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.group.loading.updateGroup'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteGroup = (data: { group_ids: number[] }) => {\n\treturn instance.post('/contact/group/delete', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.group.loading.deleteGroup'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const getContactCount = (data: { group_ids: number[] }) => {\n\treturn instance.post('/contact/group/contact_count', data)\n}\n\nexport const getContactTagCount = (data: {\n\tgroup_id: number\n\ttag_ids: number[]\n\ttag_logic: string\n}) => {\n\treturn instance.post('/contact/group/tag_contact_count', data)\n}\n\nexport const exportGroup = (data: {\n\tformat: string\n\tinclude_unsubscribe: boolean\n\tgroup_ids: number[]\n\texport_type: number\n}) => {\n\treturn instance.post('/contact/group/export', data, {\n\t\tresponseType: 'blob',\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.group.loading.exportGroup'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const saveSubscribeSetting = (data: {\n\tgroup_id: number\n\tdouble_optin: number\n\tsend_welcome_email: number\n\twelcome_subject: string\n\tthank_you_subject: string\n\twelcome_mail_html: string\n\twelcome_mail_drag: string\n\tsuccess_url: string\n\tconfirm_subject: string\n\tconfirm_mail_html: string\n\tconfirm_mail_drag: string\n\tconfirm_url: string\n\talready_url: string\n}) => {\n\treturn instance.post('/contact/group/update', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.group.loading.saveSettings'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const saveUnsubscribeSetting = (data: {\n\tgroup_id: number\n\tunsubscribe_subject: string\n\tunsubscribe_redirect_url: string\n\tsend_unsubscribe_email: number\n\tunsubscribe_mail_html: string\n\tunsubscribe_mail_drag: string\n}) => {\n\treturn instance.post('/contact/group/update_unsubscribe', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.group.loading.saveSettings'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/contacts/subscribers.ts",
    "content": "import { instance } from '@/api'\nimport { i18n } from '@/i18n'\nimport { SubscriberParams } from '@/views/contacts/subscribers/interface'\n\nconst { t } = i18n.global\n\nexport const getSubscriberList = (params: SubscriberParams) => {\n\treturn instance.get('/contact/list', { params })\n}\n\nexport const getSubscriberListNdp = (params: SubscriberParams) => {\n\treturn instance.get('/contact/list_ndp', { params })\n}\n\nexport const getSubscriberTrend = (params: {\n\tgroup_id: number\n\tactive: number\n\tlast_active_status: number\n\ttime_interval: number\n\ttags: string\n}) => {\n\treturn instance.get('/contact/trend', { params })\n}\n\nexport const importSubscribers = (data: {\n\tgroup_ids: number[]\n\tfile_data: string\n\tfile_type: string\n\tcontacts: string\n\timport_type: number\n\toverwrite: number\n\tdefault_active: number\n\tstatus: number\n}) => {\n\treturn instance.post('/contact/group/import', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.subscribers.loading.importSubscribers'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const updateSubscriberGroup = (data: {\n\temails: string[]\n\tactive: number\n\tattribs: string\n\tgroup_ids: number[]\n}) => {\n\treturn instance.post('/contact/update_group', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.subscribers.loading.updateSubscriberGroup'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const editContact = (data: {\n\temails: string\n\tactive: number\n\tstatus: number\n\tattribs: string\n\tgroup_ids: number[]\n}) => {\n\treturn instance.post('/contact/edit', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.subscribers.loading.updateSubscriberGroup'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const editContactNdp = (data: {\n\tid: number\n\tactive: number\n\tstatus: number\n\tattribs: string\n}) => {\n\treturn instance.post('/contact/edit_ndp', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.subscribers.loading.updateSubscriberGroup'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteSubscriber = (data: { emails: string[]; status: number }) => {\n\treturn instance.post('/contact/delete', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.subscribers.loading.deleteSubscriber'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteSubscriberNdp = (data: { ids: number[] }) => {\n\treturn instance.post('/contact/delete_ndp', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.subscribers.loading.deleteSubscriber'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const batchSetTag = (data: { ids: number[]; tag_ids: number[]; action: number }) => {\n\treturn instance.post('/contact/batch_tags_opt', data, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.subscribers.loading.batchSetTag'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/contacts/suspend.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\nimport type { SuspendParams } from '@/views/contacts/suspend/types/base'\n\nconst { t } = i18n.global\n\nexport const getSuspendList = (params: SuspendParams) => {\n\treturn instance.get('/abnormal_recipient/list', { params })\n}\n\nexport const getAutoScan = () => {\n\treturn instance.get('/abnormal_recipient/check_switch')\n}\n\nexport const deleteSuspend = (params: { id: number }) => {\n\treturn instance.post('/abnormal_recipient/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.suspend.api.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const getScanLogs = () => {\n\treturn instance.post('/abnormal_recipient/get_scan_log')\n}\n\nexport const scanGroup = (params: { group_id: number; oper: number }) => {\n\treturn instance.post('/abnormal_recipient/check_group', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.suspend.api.loading.scanning'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const clearSuspend = () => {\n\treturn instance.post(\n\t\t'/abnormal_recipient/clear_abnormal',\n\t\t{},\n\t\t{\n\t\t\tfetchOptions: {\n\t\t\t\tloading: t('contacts.suspend.api.loading.clearing'),\n\t\t\t\tsuccessMessage: true,\n\t\t\t},\n\t\t}\n\t)\n}\n\nexport const setAutoScan = (params: { oper: number }) => {\n\treturn instance.post('/abnormal_recipient/set_check_switch', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.suspend.api.loading.setting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/domain.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getDomainList = (params: { page: number; page_size: number; keyword: string }) => {\n\treturn instance.get('/domains/list', { params })\n}\n\nexport const getDomainAll = () => {\n\treturn instance.get('/domains/all')\n}\n\nexport const getDomainIpCommand = () => {\n\treturn instance.post('/multi_ip_domain/apply')\n}\n\ntype DomainParams = {\n\tdomain: string\n\tquota: number\n\tmailboxes: number\n\temail: string\n\turls: string[]\n\thostname: string\n\toutbound_ip: string\n\thasbrandinfo?: number\n}\n\nexport const createDomain = (params: DomainParams) => {\n\treturn instance.post('/domains/create', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.creating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const updateDomain = (params: DomainParams) => {\n\treturn instance.post('/domains/update', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.updating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteDomain = (params: { domain: string }) => {\n\treturn instance.post('/domains/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const setSsl = (params: { domain: string; certificate: string; key: string }) => {\n\treturn instance.post('/domains/set_ssl', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.settingSSL'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const getSsl = (params: { domain: string }) => {\n\treturn instance.get('/domains/get_ssl', { params })\n}\n\nexport const freshDnsRecord = (params: { domain: string }) => {\n\treturn instance.post('/domains/fresh_dns_records', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.refreshingDns'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const applyCert = (params: { domain: string }) => {\n\treturn instance.post('/ssl/apply_cert', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.applyingCert'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const setDefaultDomain = (params: { domain: string }) => {\n\treturn instance.post('/domains/set_default_domain', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.settingDefault'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const initAiConfiguration = (params: { domain: string; urls: string[] }) => {\n\treturn instance.post('/askai/project/create', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.settingBrandInfo'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const testConnection = (params: { domain: string; outbound_ip: string }) => {\n\treturn instance.post('/multi_ip_domain/test', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.testingConnection'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const checkAiConfiguration = () => {\n\treturn instance.post('/askai/supplier/status')\n}\n\nexport const checkDomainBlacklist = (params: { a_record: string }) => {\n\treturn instance.post('/domain_blocklist/check', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('domain.api.loading.detecting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const getCheckLogs = (params: { path: string }) => {\n\treturn instance.get('/domain_blocklist/logs', { params })\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/mailbox.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getMailboxList = (params: {\n\tpage: number\n\tpage_size: number\n\tdomain: string | null\n\tkeyword?: string\n}) => {\n\treturn instance.get('/mailbox/list', { params })\n}\n\ntype MailboxParams = {\n\tfull_name: string\n\tdomain: string\n\tpassword: string\n\tactive: number\n\tisAdmin: number\n\tquota: number\n}\n\nexport const createMailbox = (params: MailboxParams) => {\n\treturn instance.post('/mailbox/create', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('mailbox.api.loading.creating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const createBatchMailbox = (params: {\n\tdomain: string\n\tprefix: string\n\tcount: number\n\tquota: number\n}) => {\n\treturn instance.post('/mailbox/batch_create', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('mailbox.api.loading.creating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const updateMailbox = (params: MailboxParams) => {\n\treturn instance.post('/mailbox/update', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('mailbox.api.loading.updating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteMailbox = (params: { emails: string[] }) => {\n\treturn instance.post('/mailbox/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('mailbox.api.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const exportMailbox = (params: { domain: string; file_type: string }) => {\n\treturn instance.post('/mailbox/export', params, {\n\t\tresponseType: 'blob',\n\t\tfetchOptions: {\n\t\t\tloading: t('mailbox.api.loading.exporting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const importMailbox = (params: { file_data: string; file_type: string }) => {\n\treturn instance.post('/mailbox/import', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('mailbox.api.loading.importing'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/market/task.ts",
    "content": "import { i18n } from '@/i18n'\nimport { instance } from '@/api'\nimport type { TaskParams } from '@/views/market/task/interface'\n\nconst { t } = i18n.global\n\n/**\n * 获取任务列表\n */\nexport function getTaskList(params: TaskParams) {\n\treturn instance.get('/batch_mail/task/list', { params })\n}\n\n/**\n * 获取任务统计\n */\nexport function getTaskOverview(params: { task_id: number; start_time: number; end_time: number }) {\n\treturn instance.get('/batch_mail/task/stat_chart', { params })\n}\n\n/**\n * 获取任务详情\n */\nexport function getTaskDetails(params: { id: number }) {\n\treturn instance.get('/batch_mail/task/find', { params })\n}\n\ninterface TaskAddParams {\n\ttrack_open: number\n\ttrack_click: number\n\taddresser: string\n\tfull_name: string\n\tsubject: string\n\tgroup_id: number\n\ttemplate_id: number\n\tis_record: number\n\twarmup: number\n\tunsubscribe: number\n\tthreads: number\n\tstart_time: number\n\tremark: string\n\ttag_ids: number[]\n\ttag_logic: string\n}\n\n/**\n * 获取任务列表\n */\nexport function addTask(params: TaskAddParams) {\n\treturn instance.post('/batch_mail/task/create', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.task.loading.creating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\n/**\n * 更新任务\n */\nexport function updateTask(params: TaskAddParams & { task_id: number }) {\n\treturn instance.post('/batch_mail/task/update', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.task.loading.updating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\n/**\n * 删除任务\n */\nexport function deleteTask(params: { id: number }) {\n\treturn instance.post('/batch_mail/task/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.task.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\n/**\n * 暂停任务\n */\nexport function pauseTask(params: { task_id: number }) {\n\treturn instance.post('/batch_mail/task/pause', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.task.loading.pausing'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\n/**\n * 恢复任务\n */\nexport function resumeTask(params: { task_id: number }) {\n\treturn instance.post('/batch_mail/task/resume', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.task.loading.resuming'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\n/**\n * 恢复任务\n */\nexport function sendTestEmail(params: {\n\taddresser: string\n\tsubject: string\n\trecipient: string\n\ttemplate_id: number\n}) {\n\treturn instance.post('/batch_mail/task/send_test', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.task.loading.sendingTest'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport function getMailProvider(params: { task_id: number; status: number }) {\n\treturn instance.get('/batch_mail/tracking/mail_provider', { params })\n}\n\nexport function getMailProviderLogs(params: {\n\tpage: number\n\tpage_size: number\n\ttask_id: number\n\tdomain: string\n}) {\n\treturn instance.get('/batch_mail/tracking/logs', { params })\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/market/template.ts",
    "content": "import i18n from '@/i18n'\nimport { instance } from '@/api'\nimport type { TemplateParams } from '@/views/market/template/interface'\n\nconst { t } = i18n.global\n\nexport function getTemplateList(params: TemplateParams) {\n\treturn instance.get('/email_template/list', { params })\n}\n\nexport function getTemplateAll() {\n\treturn instance.get('/email_template/all')\n}\n\nexport function getTemplateDetails(params: { id: string }) {\n\treturn instance.get('/email_template/get', { params })\n}\n\ninterface TemplateForm {\n\ttemp_name: string\n\tadd_type: number\n\thtml_content: string\n\tdrag_data: string\n}\n\nexport function addTemplate(params: TemplateForm) {\n\treturn instance.post('/email_template/create', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.template.loading.creating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport function updateTemplate(params: TemplateForm & { id: number }) {\n\treturn instance.post('/email_template/update', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.template.loading.updating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport function duplicateTemplate(params: { id: number }) {\n\treturn instance.post('/email_template/copy', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.template.loading.copying'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport function deleteTemplate(params: { id: number }) {\n\treturn instance.post('/email_template/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('market.template.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/overview.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getOverviewInfo = (params: {\n\tdomain: string\n\tstart_time: number\n\tend_time: number\n}) => {\n\treturn instance.get('/overview', { params })\n}\n\nexport const getFailedList = (params: { domain: string; start_time: number; end_time: number }) => {\n\treturn instance.get('/overview/failed', { params })\n}\n\nexport const getSendQueueList = () => {\n\treturn instance.get('/postfix_queue/list')\n}\n\nexport const getSendQueueInfo = (params: { queue_id: string }) => {\n\treturn instance.get('/postfix_queue/queue_info', { params })\n}\n\nexport const resendQueue = (params: { queue_ids: string[] }) => {\n\treturn instance.post('/postfix_queue/flush_by_id', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('overview.api.loading.resendQueue'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteSendQueue = (params: { queue_ids: string[] }) => {\n\treturn instance.post('/postfix_queue/delete_by_id', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('overview.api.loading.deleteQueue'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const getSendQueueConfig = () => {\n\treturn instance.get('/postfix_queue/get_config')\n}\n\nexport const setSendQueueConfig = (params: Record<string, string>) => {\n\treturn instance.post('/postfix_queue/set_all_config', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('overview.api.loading.setQueueConfig'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const clearSendQueue = (params = {}) => {\n\treturn instance.post('/postfix_queue/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('overview.api.loading.clearQueue'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/public.ts",
    "content": "import { AxiosProgressEvent } from 'axios'\nimport { instance } from '@/api'\n\nexport const uploadFile = (\n\tparams: FormData,\n\tonUploadProgress?: (e: AxiosProgressEvent) => void\n) => {\n\treturn instance.post('/file/upload', params, {\n\t\theaders: {\n\t\t\t'Content-Type': 'multipart/form-data',\n\t\t},\n\t\tonUploadProgress: e => {\n\t\t\tonUploadProgress?.(e)\n\t\t},\n\t})\n}\n\nexport const downloadFile = (params: { file_path: string }) => {\n\treturn instance.get('/file/download', {\n\t\tparams,\n\t\tresponseType: 'blob',\n\t})\n}\n\nexport const getLanguages = () => {\n\treturn instance.get('/languages/get')\n}\n\nexport const setLanguage = (params: { language: string }) => {\n\treturn instance.post('/languages/set', params, {\n\t\tfetchOptions: {\n\t\t\tloading: '正在设置语言，请稍候...',\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/settings/bcc.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getBccList = (params: {\n\tpage: number\n\tpage_size: number\n\tdomain?: string\n\tkeyword?: string\n}) => {\n\treturn instance.get('/mail_bcc/list', { params })\n}\n\ntype BccParams = {\n\ttype: string\n\taddress: string\n\tgoto: string\n\tactive: number\n}\n\nexport const addBcc = (params: BccParams) => {\n\treturn instance.post('/mail_bcc/add', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.bcc.loading.adding'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const editBcc = (params: BccParams & { id: number }) => {\n\treturn instance.post('/mail_bcc/edit', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.bcc.loading.saving'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteBcc = (params: { id: number }) => {\n\treturn instance.post('/mail_bcc/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.bcc.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/settings/common.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getSystemConfig = () => {\n\treturn instance.get('/settings/get_system_config')\n}\n\nexport const getTimezoneList = () => {\n\treturn instance.get('/settings/get_timezone_list')\n}\n\nexport const setSystemConfigKey = (params: { key: string; value: string }) => {\n\treturn instance.post('/settings/set_system_config_key', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.setting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const setSslConfig = (params: { certPem: string; privateKey: string }) => {\n\treturn instance.post('/settings/set_ssl_config', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.settingSSL'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const applyCert = () => {\n\treturn instance.post(\n\t\t'/ssl/console_apply_cert',\n\t\t{},\n\t\t{\n\t\t\tfetchOptions: {\n\t\t\t\tloading: t('settings.api.loading.applyingCert'),\n\t\t\t\tsuccessMessage: true,\n\t\t\t},\n\t\t}\n\t)\n}\n\nexport const addIpWhitelist = (params: { ip: string }) => {\n\treturn instance.post('/settings/add_ip_whitelist', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.adding'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteIpWhitelist = (params: { id: number }) => {\n\treturn instance.post('/settings/delete_ip_whitelist', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const clearIpWhitelist = () => {\n\treturn instance.post(\n\t\t'/settings/set_ip_whitelist',\n\t\t{ ip_list: [] },\n\t\t{\n\t\t\tfetchOptions: {\n\t\t\t\tloading: t('settings.api.loading.clearing'),\n\t\t\t\tsuccessMessage: true,\n\t\t\t},\n\t\t}\n\t)\n}\n\nexport const setReverseProxyDomain = (params: { domain: string }) => {\n\treturn instance.post('/settings/set_reverse_proxy_domain', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.setting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const clearReverseProxyDomain = (params = {}) => {\n\treturn instance.post('/settings/delete_reverse_proxy_domain', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.clearing'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const setApiDocEnabled = (params: { api_doc_enabled: boolean }) => {\n\treturn instance.post('/settings/set_api_doc_swagger', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.setting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const setBlacklistAutoScan = (params: { enabled: boolean }) => {\n\treturn instance.post('/settings/set_blacklist_auto_scan', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.setting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const setBlacklistAlert = (params: { enabled: boolean }) => {\n\treturn instance.post('/settings/set_blacklist_alert', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.setting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const setBlacklistAlertSettings = (params: {\n\tname: string\n\tsender_email: string\n\tsmtp_password: string\n\tsmtp_server: string\n\tsmtp_port: number\n\trecipient_list: string[]\n}) => {\n\treturn instance.post('/settings/set_blacklist_alert_settings', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.setting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/settings/forward.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getForwardList = (params: {\n\tpage: number\n\tpage_size: number\n\tdomain?: string\n\tkeyword?: string\n}) => {\n\treturn instance.get('/mail_forward/list', { params })\n}\n\ntype ForwardParams = {\n\tactive: number\n\taddress: string\n\tdomain: string\n\tgoto: string\n}\n\nexport const addForward = (params: ForwardParams) => {\n\treturn instance.post('/mail_forward/add', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.forward.loading.adding'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const editForward = (params: Omit<ForwardParams, 'domain'>) => {\n\treturn instance.post('/mail_forward/edit', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.forward.loading.editing'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteForward = (params: { address: string }) => {\n\treturn instance.post('/mail_forward/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.forward.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/settings.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getVersionInfo = () => {\n\treturn instance.get('/settings/get_version')\n}\n\nexport const getServiceList = () => {\n\treturn instance.get('/docker_api/list')\n}\n\nexport const restartService = (params: { container_id: string }) => {\n\treturn instance.post('/docker_api/restart', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.restarting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const getServiceConfig = (params: { service_type: string }) => {\n\treturn instance.post('/services/get_config', params)\n}\n\nexport const saveServiceConfig = (params: { service_type: string; content: string }) => {\n\treturn instance.post('/services/save_config', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('settings.api.loading.saving'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/smtp.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\nexport const getSmtpList = () => {\n\treturn instance.get('/relay/list')\n}\n\ntype SmtpForm = {\n\trtype: string\n\tremark: string\n\tsmtp_name: string\n\tsender_domains: string[]\n\trelay_host: string\n\trelay_port: number\n\tauth_user: string\n\tauth_password: string\n\tactive: number\n}\n\nexport const addSmtp = (params: SmtpForm) => {\n\treturn instance.post('/relay/add', params, {\n\t\tfetchOptions: {\n\t\t\tsuccessMessage: true,\n\t\t\tloading: t('smtp.api.loading.adding'),\n\t\t},\n\t})\n}\n\nexport const editSmtp = (params: Partial<SmtpForm> & { id: number }) => {\n\treturn instance.post('/relay/edit', params, {\n\t\tfetchOptions: {\n\t\t\tsuccessMessage: true,\n\t\t\tloading: t('smtp.api.loading.editing'),\n\t\t},\n\t})\n}\n\nexport const testSmtp = (params: {\n\tsender_domains: string[]\n\trelay_host: string\n\trelay_port: number\n\tauth_user: string\n\tauth_password: string\n}) => {\n\treturn instance.post('/relay/test_connection', params, {\n\t\tfetchOptions: {\n\t\t\tsuccessMessage: true,\n\t\t\tloading: t('smtp.api.loading.testing'),\n\t\t},\n\t})\n}\n\nexport const deleteSmtp = (params: { id: number }) => {\n\treturn instance.post('/relay/delete', params, {\n\t\tfetchOptions: {\n\t\t\tsuccessMessage: true,\n\t\t\tloading: t('smtp.api.loading.deleting'),\n\t\t},\n\t})\n}\n\nexport const getUnbindDomains = () => {\n\treturn instance.get('/relay/get_unbound_domains')\n}\n"
  },
  {
    "path": "core/frontend/src/api/modules/user.ts",
    "content": "import { instance } from '@/api'\nimport i18n from '@/i18n'\n\nconst { t } = i18n.global\n\n/**\n * @description 登录\n * @param params\n * @returns\n */\nexport const login = (params: { username: string; password: string }) => {\n\treturn instance.post('/login', params, {\n\t\tfetchOptions: {\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\n/**\n * @description 退出登录\n * @param params\n * @returns\n */\nexport const logout = () => {\n\treturn instance.post(\n\t\t'/logout',\n\t\t{},\n\t\t{\n\t\t\tfetchOptions: {\n\t\t\t\tloading: t('user.api.loading.logout'),\n\t\t\t\tsuccessMessage: true,\n\t\t\t},\n\t\t}\n\t)\n}\n\n/**\n * @description 获取验证码\n * @param params\n * @returns\n */\nexport const getValidateCode = () => {\n\treturn instance.get('/get_validate_code')\n}\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-charts/index.vue",
    "content": "<template>\n\t<div ref=\"chartRef\" :style=\"{ width: '100%', height: chartHeight }\"></div>\n</template>\n\n<script setup>\n// 按需引入echarts核心模块\nimport * as echarts from 'echarts/core'\n// 按需引入图表类型，以下是常用图表示例，请根据实际需要修改\nimport { BarChart, LineChart } from 'echarts/charts'\n// 引入提示框、标题、直角坐标系、数据集等组件\nimport {\n\tTitleComponent,\n\tTooltipComponent,\n\tGridComponent,\n\tDatasetComponent,\n\tTransformComponent,\n\tLegendComponent,\n} from 'echarts/components'\n// 引入Canvas渲染器\nimport { CanvasRenderer } from 'echarts/renderers'\n\n// 注册必须的组件\necharts.use([\n\tTitleComponent,\n\tTooltipComponent,\n\tGridComponent,\n\tDatasetComponent,\n\tTransformComponent,\n\tLegendComponent,\n\tBarChart,\n\tLineChart,\n\tCanvasRenderer,\n])\n\nconst props = defineProps({\n\toptions: {\n\t\ttype: Object,\n\t\trequired: true,\n\t},\n\theight: {\n\t\ttype: [String, Number],\n\t\tdefault: '100%',\n\t},\n\ttheme: {\n\t\ttype: String,\n\t\tdefault: 'default',\n\t},\n\t// Control whether to merge new and old configurations\n\tnotMerge: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\t// Whether to not display the transition animation when updating\n\tlazyUpdate: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n\nconst chartRef = ref(null)\n\nconst chartHeight = computed(() => {\n\treturn typeof props.height === 'number' ? `${props.height}px` : props.height\n})\n\nlet chartInstance = null\nlet resizeObserver = null\n\nconst initChart = () => {\n\tif (chartRef.value) {\n\t\t// Use theme and add renderer options to improve rendering performance\n\t\tchartInstance = echarts.init(chartRef.value, props.theme, {\n\t\t\trenderer: 'canvas',\n\t\t\tuseDirtyRect: true, // Use dirty rectangle rendering to improve performance\n\t\t})\n\n\t\t// Initial set options\n\t\tupdateChart()\n\n\t\t// Use ResizeObserver instead of window event to improve performance\n\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tchartInstance?.resize()\n\t\t\t})\n\t\t})\n\n\t\tresizeObserver.observe(chartRef.value)\n\t}\n}\n\n// Update chart method, separated from initialization\nconst updateChart = () => {\n\tif (!chartInstance || !props.options) return\n\n\t// Use notMerge and lazyUpdate to improve update performance\n\tchartInstance.setOption(props.options, {\n\t\tnotMerge: props.notMerge,\n\t\tlazyUpdate: props.lazyUpdate,\n\t})\n}\n\nonMounted(() => {\n\tinitChart()\n})\n\nonUnmounted(() => {\n\t// Clean up all resources\n\tresizeObserver?.disconnect()\n\tif (chartInstance) {\n\t\tchartInstance.dispose()\n\t\tchartInstance = null\n\t}\n})\n\n// Use deep watch to optimize chart updates\nwatch(\n\t() => props.options,\n\t() => {\n\t\tupdateChart()\n\t},\n\t{ deep: true }\n)\n\n// When the theme changes, reinitialize the chart\nwatch(\n\t() => props.theme,\n\t() => {\n\t\tif (chartInstance) {\n\t\t\tchartInstance.dispose()\n\t\t\tinitChart()\n\t\t}\n\t}\n)\n\n// Export chart instance, so parent components can access more methods\ndefineExpose({\n\tgetChartInstance: () => chartInstance,\n\tresize: () => chartInstance?.resize(),\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-close-btn/index.vue",
    "content": "<template>\n\t<div class=\"bt-close-btn\" @click=\"handleClose\">\n\t\t<div class=\"close-icon\"></div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nconst emit = defineEmits<{\n\tclick: [value: Event]\n}>()\n\nconst handleClose = (e: Event) => {\n\temit('click', e)\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.bt-close-btn {\n\tposition: absolute;\n\ttop: 15px;\n\tright: 15px;\n\tz-index: 1000;\n\t.close-icon {\n\t\tposition: absolute;\n\t\ttop: -28px;\n\t\tright: -28px;\n\t\twidth: 30px;\n\t\theight: 30px;\n\t\tborder-radius: 50%;\n\t\tbackground-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAKwwAACsMBNCkkqwAAABZ0RVh0Q3JlYXRpb24gVGltZQAwMy8xNC8xNxpI5/gAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAEN0lEQVRIiaWXTUhjVxTH/+diAmNMDGpCSCBNtWFEIQ0MFAYGZlNt6aKbUhpxYeAZxY0MlGy7K67LLIraYA26sd2UblrUEYp0oIKIgviBaaqNlYRIJgkulDm3i+Q9XvJenjoeCLxz7j3nd9595957QlJKqEJEsBJmfg7gGYAgAB+AtwAKRPQ3gE0i2rQMoBcppfZrMR5l5llmzstbhJn/ZeaXzDxw5wRMgEFmnrkNZpHEN8zsaRXfdG2llB9LKX8iIrfeXigUsLe3h1KphGq1CiKCw+FAV1cXIpEIurq6muP8ByAmhPjjVjAzjxHRj3rb7u4u1tbWkM/nLVfJ7/djeHgY/f39zQl8LoT4tSWYmT8hot9UvVKpYHl5Gdls1hLYLOFwGCMjI2hvb9fDn+vfXAMz8/sA9ojIAQC5XA6Li4sol8v3gqrS3d0NRVG05ZdS/kNEHxLRGwAQurlTKrRcLj8ICgDFYhGpVApXV1cAACJ6D8CUOi7q2TwhoqRqXFpaehBUD19ZWdGbZpj5Az1Yy2RnZwenp6eGIH6/3xJit9vhdrsN9oODAxwdHelNUxqYiBTVur6+bnCORqOYnp5GIpGAzWYzjPt8PiSTSSSTSdjtdsP46uqq9qyyBDMPqcZsNotCoWBwPDk5QblcRl9fH+LxeAPc6/UikUjA6XQik8ng+vra4H92doaLiwtV7WTmjwRqZy8A4Pj42OAE1LbV7OysAe71ejE5OQmHw4FMJoN0Om3qbxL7mQDwWNXM3laVYrHYAFcUpQG6sLCAm5ublv5NsR8LIvKpWrVabemowufn51EulxEKhe4MNYntE60mthIiarg+hbh3iJqflFL76h0dHZaTPR6PVkjZbBaVSgWhUAiKophWu16aYl8IAIf6wFbQiYkJrXpTqRTm5uYa4GZbqUXsQwFA6xrC4bCpk9vtboCq37RQKDTAx8bGWi59U+xNQUSvVC0YDBruVAAIBAJwOp04OTkxFJIKVwuura3N1N/n02r4jRDiLwIAZv6TiJ4CwPb2dvP5CqB2UFjdxzabDY8ePTI94+PxuHZHSym/E0K8UNfla3VSNBpFIBAwON/WBNzc3JhCe3t7mxuD74H6WS2EeC2lfF1/RiwWa7jE31VcLhdisZimSym/FUIcauC6TEkpr4FaBSqKAqfT+c5Qt9uN8fFxuFwuFVpE/W0BY+vzBRH9rOqlUgnpdBrn5+f3goZCIYyOjjYkLqX8VAjxuym4Djc0e1tbW9jY2MDl5aUl0OPxYGhoCJFIpMEupfxKCNFQsabtLTN/BuAXImrYG7lcDvv7+6hUKsjn8xBCoKenB52dnRgcHNRvGRVYIqIviWjNMuMm+AAzv3xAQz8jpQzeGWiSwFNmTjPz1R14JWb+QUr55La41v/SjEkModY4+AAMENFbKeUhgByATSHEK8sAOvkfU5us3WE/neAAAAAASUVORK5CYII=');\n\t\tbackground-position: center;\n\t\ttransition: all 0.4s ease-in-out;\n\t\tcursor: pointer;\n\t\t&:hover {\n\t\t\ttransform: rotate(180deg);\n\t\t\tbackground-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAKwwAACsMBNCkkqwAAABZ0RVh0Q3JlYXRpb24gVGltZQAwMy8xNC8xNxpI5/gAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAEXUlEQVRIiaWXf2iVZRTHv8957t3d3ruSja0mA82NLTMl7gZzjJH0A0RLCKIiskDTzFhmhFrLqKDAMtHMGvvRVn8lSFFS2i/s19rWmC2DVlKbiRtzc2Ngce1u95ynP+7e1/e97/2x6fnvnOf5ns95fr3P8yrMw0RkFYB6AIsAlABgABeUUmcAdCqlOueTL6MZYx5g4QEWZpPFWDjOwqdYeN3VAGtZuDsbLEMRJ1h4abr8Kg10pxjZQ4o87dOjo+CeXtDkFGR4GABAlRUwxUUI1K1EIJzvySNGBMB2TfqtrGAWbiVFmzzArh7EWzsQ/6k37Qwpy0LgztsR2LwBwfKy5AJe0aRfSAtm4UZS9KrjT0witvtlxL//IS3QZ8EchDY+guATj4GCQTd8m3vkDpiFbwXwrT29M4NDiDVsh5w9N3eoywL1dQgd2AttWTY4TorKlFLnAIBcfffaUJ6YQOzxbVcMBYB4ZxemdzTCxOMAAFIUANBqtxMAGGPWk6IaOxjb8TxkZOSKobbNfPMdplva3aHVLHyHAxYjzsLPfPFVyk1ES2/MCFGWBVpY4otPt7ZDxsbdodccMCmqtKOxg2/7xMG71iD/o8Ow2puhQiF/UZUVCB//BPmfH4WaXVPbTCyGWFPL5b6KqgCAWHiXHeT+XyFnzvoS88/9kAsTCNTWIK/poAdO5WUItzeDiosQ7+2DiUZ9+vixL2H+i9muYuENBGCt06G7xycCABk9j+jGLT44lZch/H4bVGEBuLcPlxqeTqk3//4D+W3AHbqHANzgAP4aSikEABkc8sCttiYPNLqlASYWS6vn30+73QoiRdc6yScn0gqT4bo6MmcoAJipKbdbQJ5WlozilKb1/DUASIxcdJyiosydlyyGNbuR+GS/M3KrrSnlbnebKihwu1ME4G8ncfmSzND32hLQ3j5EN231TLvV1uQ7Ssl6l/1JAI7ZXqCuNrVoYYkXOrumyWued2g/QOTTq1AIurrKHfqYSNF+29ORW0ClpT6hXnZT4pz29Po2kgMfG0egOgKVm+vTB+5eA5XrLIXRpDsSl4LwRVJ0DQDMfHocl3Y2+kddXgYZTH/cVCgEtWABZHzc2xDMQfjoEejFixKFGvlFk47Y8/KM02/taugVy32JM0GBxKfRBwWQ8/CDDnTWngO897EzahkbR/S+hyATmc91NgusrIHVcgiYfRCIkR816XrAex8/KiZxjun665D3zptZj1cm01UR5O3b44YaAE/Z7Q5Ykz4C4A3HX74M1ocfQFdF5g0N3n8vwh3NUIWes7tbkz5pO3N67M18fQLTze+CvR96P/C2Vch5cit00t0tRg5o0p4bJOXzloVfBPASqaQv6vAIuKsbPPDH5QR5eaAVN0PX1kAXFiYDDSl6Vin1esaKk+DrWPjUVTzou40xqb9IcyxgMwsPsmT9gzHGGGHh08aY9dnyppzqDEXsQuLhUAyglBSJGBkFcB7AZ5r0vrnm+h+4JqLbk005nAAAAABJRU5ErkJggg==');\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-code/index.vue",
    "content": "<template>\n\t<div class=\"flex items-center gap-16px w-full\">\n\t\t<div class=\"markdown-body flex-1 w-0\" v-html=\"result\"></div>\n\t\t<n-button @click=\"handleCopy\">{{ $t('common.actions.copy') }}</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { marked } from 'marked'\nimport hljs from 'highlight.js'\nimport 'highlight.js/styles/github.css'\nimport 'github-markdown-css'\nimport { useCopy } from '@/hooks/useCopy'\n\nconst { code, language } = defineProps({\n\tcode: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\tlanguage: {\n\t\ttype: String,\n\t\tdefault: 'shell',\n\t},\n})\n\nconst content = computed(() => {\n\treturn `\\`\\`\\`${language}\n${code}\n\\`\\`\\``\n})\n\nconst result = computed(() => {\n\treturn marked.parse(content.value)\n})\n\nconst { copyText } = useCopy()\n\nconst handleCopy = () => {\n\tcopyText(code)\n}\n\n// 创建自定义扩展\nconst highlightExtension = {\n\tname: 'highlight',\n\tlevel: 'block',\n\tstart(src: string) {\n\t\treturn src.match(/^```/)?.index\n\t},\n\ttokenizer(src: string) {\n\t\tconst rule = /^```([^\\n]*?)\\n([\\s\\S]*?)\\n```/\n\t\tconst match = rule.exec(src)\n\t\tif (match) {\n\t\t\treturn {\n\t\t\t\ttype: 'highlight',\n\t\t\t\traw: match[0],\n\t\t\t\tlang: match[1].trim(),\n\t\t\t\tcode: match[2],\n\t\t\t}\n\t\t}\n\t},\n\trenderer(token: any) {\n\t\tconst { lang, code } = token\n\t\tif (lang && hljs.getLanguage(lang)) {\n\t\t\tconst highlighted = hljs.highlight(code, { language: lang }).value\n\t\t\treturn `<pre><code class=\"hljs language-${lang}\">${highlighted}</code></pre>`\n\t\t}\n\t\treturn `<pre><code>${code}</code></pre>`\n\t},\n}\n\n// 使用扩展\nmarked.use({ extensions: [highlightExtension] })\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-editor/index.vue",
    "content": "<template>\n\t<n-spin class=\"h-full\" :show=\"loading\">\n\t\t<div ref=\"containerRef\" class=\"monaco-editor-container\"></div>\n\t</n-spin>\n</template>\n\n<script lang=\"ts\" setup>\nimport monacoLoader from '@monaco-editor/loader'\nimport type { editor } from 'monaco-editor'\n\nconst { language, theme, options } = defineProps({\n\tlanguage: {\n\t\ttype: String,\n\t\tdefault: 'html',\n\t},\n\ttheme: {\n\t\ttype: String,\n\t\tdefault: 'vs-dark',\n\t},\n\toptions: {\n\t\ttype: Object as PropType<editor.IStandaloneEditorConstructionOptions>,\n\t\tdefault: () => ({}),\n\t},\n})\n\nconst emit = defineEmits<{\n\tsave: []\n}>()\n\nconst code = defineModel<string>('value', {\n\tdefault: '',\n})\n\nconst containerRef = ref<HTMLElement | null>(null)\n\nlet editorInstance: editor.IStandaloneCodeEditor | null = null\n\nconst loading = ref(false)\n\nmonacoLoader.config({\n\tpaths: {\n\t\tvs: `${location.origin}/static/plugin/monaco`,\n\t},\n})\n\n// 初始化编辑器\nconst initEditor = async () => {\n\tif (!containerRef.value || editorInstance) {\n\t\treturn\n\t}\n\n\ttry {\n\t\tloading.value = true\n\n\t\tconst monaco = await monacoLoader.init()\n\t\teditorInstance = monaco.editor.create(containerRef.value, {\n\t\t\tvalue: code.value,\n\t\t\tlanguage: language,\n\t\t\ttheme: theme,\n\t\t\tminimap: { enabled: false },\n\t\t\tautomaticLayout: true,\n\t\t\tscrollBeyondLastLine: false,\n\t\t\tfontSize: 14,\n\t\t\ttabSize: 2,\n\t\t\twordWrap: 'on',\n\t\t\t...options,\n\t\t})\n\n\t\teditorInstance.onDidChangeModelContent(() => {\n\t\t\tconst value = editorInstance?.getValue() || ''\n\t\t\tcode.value = value\n\t\t})\n\n\t\teditorInstance.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, function () {\n\t\t\temit('save')\n\t\t})\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\n// 销毁编辑器\nconst destroyEditor = () => {\n\tif (editorInstance) {\n\t\teditorInstance.dispose()\n\t\teditorInstance = null\n\t}\n}\n\n// 监听属性变化\nwatch(\n\t() => code.value,\n\tnewVal => {\n\t\tif (editorInstance && newVal !== editorInstance.getValue()) {\n\t\t\teditorInstance.setValue(newVal)\n\t\t}\n\t}\n)\n\nonMounted(() => {\n\tinitEditor()\n})\n\nonBeforeUnmount(() => {\n\tdestroyEditor()\n})\n\n// 暴露编辑器实例\ndefineExpose({\n\tgetEditor: () => editorInstance,\n})\n</script>\n\n<style scoped>\n.monaco-editor-container {\n\twidth: 100%;\n\theight: 100%;\n\tmin-height: 400px;\n\tborder-radius: 4px;\n\toverflow: hidden;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-file-upload/UploadError.vue",
    "content": "<template>\n\t<div class=\"drag-icon\">\n\t\t<i class=\"i-mdi-alert-circle\"></i>\n\t</div>\n\t<div class=\"drag-text text-error\">{{ $t('components.upload.error.uploadFailed') }}</div>\n</template>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-file-upload/UploadProgress.vue",
    "content": "<template>\n\t<div class=\"w-80%\">\n\t\t<n-progress type=\"line\" status=\"success\" :percentage=\"progress\" :height=\"4\" :show-indicator=\"false\">\n\t\t</n-progress>\n\t</div>\n\t<div class=\"drag-text\">{{ progress }}%</div>\n</template>\n\n<script lang=\"ts\" setup>\ndefineProps({\n\tprogress: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n})\n</script>"
  },
  {
    "path": "core/frontend/src/components/base/bt-file-upload/UploadPrompt.vue",
    "content": "<template>\n\t<div class=\"drag-icon\">\n\t\t<i class=\"i-mdi-upload\"></i>\n\t</div>\n\t<div class=\"drag-text\">{{ $t('components.upload.prompt.dragText') }}</div>\n\t<div class=\"drag-suffix\">{{ $t('components.upload.prompt.supportedFiles', { suffix }) }}</div>\n</template>\n\n<script lang=\"ts\" setup>\ndefineProps({\n\tsuffix: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-file-upload/UploadSuccess.vue",
    "content": "<template>\n\t<div class=\"drag-icon\">\n\t\t<i class=\"i-mdi-file\"></i>\n\t</div>\n\t<div class=\"drag-text\">{{ fileName }}</div>\n</template>\n\n<script lang=\"ts\" setup>\ndefineProps({\n\tfileName: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n})\n</script>"
  },
  {
    "path": "core/frontend/src/components/base/bt-file-upload/index.vue",
    "content": "<template>\n\t<n-upload\n\t\tv-model:file-list=\"fileList\"\n\t\t:accept=\"uploadAccept\"\n\t\t:multiple=\"false\"\n\t\t:default-upload=\"false\"\n\t\t:show-file-list=\"false\"\n\t\t@before-upload=\"onBeforeUpload\"\n\t\t@change=\"onUploadChange\">\n\t\t<template v-if=\"mode === 'dragger'\">\n\t\t\t<n-upload-dragger>\n\t\t\t\t<div class=\"flex-center flex-col\">\n\t\t\t\t\t<template v-if=\"fileList.length === 0\">\n\t\t\t\t\t\t<upload-prompt :suffix=\"suffix\"></upload-prompt>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<upload-progress v-if=\"uploading\" :progress=\"progress\" />\n\t\t\t\t\t\t<upload-error v-if=\"uploadFailed\" />\n\t\t\t\t\t\t<upload-success v-if=\"uploadComplete\" :fileName=\"fileName\" />\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t</n-upload-dragger>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<n-button ghost :type=\"buttonType\">\n\t\t\t\t<slot></slot>\n\t\t\t</n-button>\n\t\t</template>\n\t</n-upload>\n</template>\n\n<script lang=\"ts\" setup>\nimport { PropType } from 'vue'\nimport { UploadFileInfo } from 'naive-ui'\nimport { Message } from '@/utils'\nimport { uploadFile as uploadFileApi } from '@/api/modules/public'\n\nimport UploadPrompt from './UploadPrompt.vue'\nimport UploadProgress from './UploadProgress.vue'\nimport UploadError from './UploadError.vue'\nimport UploadSuccess from './UploadSuccess.vue'\n\nconst { t } = useI18n()\n\nconst { path, accept, maxSize, isUpload } = defineProps({\n\tpath: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\taccept: {\n\t\ttype: Array as PropType<string[]>,\n\t\tdefault: () => [],\n\t},\n\tmaxSize: {\n\t\ttype: Number,\n\t\tdefault: 5, // 5MB\n\t},\n\tisUpload: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\tmode: {\n\t\ttype: String as PropType<'dragger' | 'button'>,\n\t\tdefault: 'dragger',\n\t},\n\tbuttonType: {\n\t\ttype: String as PropType<'default' | 'primary' | 'info' | 'success' | 'warning' | 'error'>,\n\t\tdefault: 'default',\n\t},\n})\n\nconst emit = defineEmits<{\n\tchange: [file: UploadFileInfo]\n}>()\n\nconst fileList = ref<UploadFileInfo[]>([])\n\nconst fileName = computed(() => {\n\treturn fileList.value[0]?.name || '--'\n})\n\nconst progress = ref(0)\n\nconst uploading = ref(false)\n\nconst uploadFailed = ref(false)\n\nconst uploadComplete = ref(false)\n\nconst uploadAccept = computed(() => {\n\treturn accept.map(item => `.${item}`).join(',')\n})\n\nconst suffix = computed(() => {\n\treturn accept.map(item => item.toLocaleUpperCase().replace('.', '')).join(' or ')\n})\n\nconst onBeforeUpload = (data: { file: UploadFileInfo }) => {\n\tconst { file } = data\n\tif ((file.file?.size ?? 0) > maxSize * 1024 * 1024) {\n\t\tMessage.error(t('components.upload.error.fileSizeExceeded', { fileName: file.name, maxSize }))\n\t\treturn false\n\t}\n\n\treturn true\n}\n\nconst onUploadChange = async ({ file }: { file: UploadFileInfo }) => {\n\tresetUploadStatus()\n\n\tif (isUpload) {\n\t\tawait uploadFile(file)\n\t} else {\n\t\temit('change', file)\n\t\tuploadComplete.value = true\n\t}\n}\n\nconst uploadFile = async (file: UploadFileInfo) => {\n\ttry {\n\t\tuploading.value = true\n\t\tconst form = createFormData(file)\n\t\tawait uploadFileApi(form, updateProgress)\n\t\tuploadComplete.value = true\n\t} catch {\n\t\tuploadFailed.value = true\n\t} finally {\n\t\tuploading.value = false\n\t}\n}\n\nconst resetUploadStatus = () => {\n\tprogress.value = 0\n\tuploading.value = false\n\tuploadFailed.value = false\n\tuploadComplete.value = false\n}\n\nconst createFormData = (file: UploadFileInfo) => {\n\tconst form = new FormData()\n\tform.append('f_path', path)\n\tform.append('f_name', file.name)\n\tif (file.file) {\n\t\tform.append('f_size', file.file.size.toString())\n\t\tform.append('blob', file.file)\n\t}\n\treturn form\n}\n\nconst updateProgress = (e: { progress?: number }) => {\n\tprogress.value = (e.progress || 0) * 100\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.n-upload-dragger {\n\tpadding: 32px 0;\n\n\t&:hover {\n\t\t--n-dragger-color: var(--color-primary-2);\n\t\t--n-dragger-border-hover: 1px dashed var(--color-primary-3);\n\n\t\t:deep(.drag-icon) {\n\t\t\tbackground-color: var(--color-primary-1);\n\t\t\tcolor: #fff;\n\t\t}\n\t}\n\n\t:deep(.drag-icon) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 40px;\n\t\theight: 40px;\n\t\tborder-radius: 4px;\n\t\tbackground-color: var(--color-bg-4);\n\t\tfont-size: 16px;\n\t\ttransition:\n\t\t\tbackground-color 0.3s ease,\n\t\t\tcolor 0.3s ease;\n\t}\n\n\t:deep(.drag-text) {\n\t\tmargin-top: 16px;\n\t\tfont-size: 14px;\n\t\tfont-weight: 500;\n\t}\n\n\t:deep(.drag-suffix) {\n\t\tmargin-top: 4px;\n\t\tcolor: var(--color-text-2);\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-help/index.vue",
    "content": "<template>\n\t<n-button text @click=\"handleGoHelp\">\n\t\t<span class=\"mr-4px\">{{ text || $t('common.actions.help') }}</span>\n\t\t<i class=\"i-custom:help text-primary\"></i>\n\t</n-button>\n</template>\n\n<script lang=\"ts\" setup>\nconst { href } = defineProps({\n\thref: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\ttext: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n})\n\nconst handleGoHelp = () => {\n\twindow.open(href)\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-logs/index.vue",
    "content": "<template>\n\t<div\n\t\tref=\"codeContainer\"\n\t\tclass=\"code-container\"\n\t\t:class=\"{ 'with-line-numbers': showLineNumbers, 'word-wrap': wordWrap }\"\n\t\t:style=\"{ height: height }\"\n\t\t@scroll=\"onScroll\">\n\t\t<!-- 虚拟滚动容器 -->\n\t\t<div\n\t\t\tv-if=\"shouldUseVirtualScroll\"\n\t\t\tclass=\"virtual-scroll-container\"\n\t\t\t:style=\"{ height: totalHeight + 'px', minHeight: '100%' }\">\n\t\t\t<!-- 行号容器 -->\n\t\t\t<div\n\t\t\t\tv-if=\"showLineNumbers\"\n\t\t\t\tref=\"lineNumbersContainer\"\n\t\t\t\tclass=\"line-numbers-container virtual\"\n\t\t\t\t:style=\"{\n\t\t\t\t\twidth: lineNumberWidth,\n\t\t\t\t\ttransform: `translate3d(0, ${startOffset}px, 0)`,\n\t\t\t\t\theight: visibleHeight + 'px',\n\t\t\t\t}\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(line, index) in visibleLines\"\n\t\t\t\t\t:key=\"line.originalIndex\"\n\t\t\t\t\tclass=\"line-number\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\thighlighted: highlightedLines.includes(line.lineNumber),\n\t\t\t\t\t\t'original-line': line.isOriginalLine,\n\t\t\t\t\t}\"\n\t\t\t\t\t:style=\"{\n\t\t\t\t\t\theight: actualLineHeight + 'px',\n\t\t\t\t\t\tlineHeight: actualLineHeight + 'px',\n\t\t\t\t\t}\">\n\t\t\t\t\t{{ line.isOriginalLine ? line.lineNumber : '' }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- 代码内容容器 -->\n\t\t\t<div\n\t\t\t\tref=\"codeContent\"\n\t\t\t\tclass=\"code-content virtual\"\n\t\t\t\t:style=\"{\n\t\t\t\t\tmarginLeft: showLineNumbers ? lineNumberWidth : '0',\n\t\t\t\t\ttransform: `translate3d(0, ${startOffset}px, 0)`,\n\t\t\t\t\theight: visibleHeight + 'px',\n\t\t\t\t}\">\n\t\t\t\t<div class=\"code-lines-container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"(line, index) in visibleCodeLines\"\n\t\t\t\t\t\t:key=\"visibleStartIndex + index\"\n\t\t\t\t\t\tclass=\"code-line\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'highlighted-line': highlightedLines.includes(visibleStartIndex + index + 1),\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:style=\"{\n\t\t\t\t\t\t\theight: actualLineHeight + 'px',\n\t\t\t\t\t\t\tlineHeight: actualLineHeight + 'px',\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tv-html=\"highlightLine(line)\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- 非虚拟滚动容器（优化后的逻辑） -->\n\t\t<template v-else>\n\t\t\t<!-- 优化的行号容器 -->\n\t\t\t<div\n\t\t\t\tv-if=\"showLineNumbers\"\n\t\t\t\tref=\"lineNumbersContainer\"\n\t\t\t\tclass=\"line-numbers-container non-virtual\"\n\t\t\t\t:style=\"{ width: lineNumberWidth }\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(line, index) in optimizedDisplayLines\"\n\t\t\t\t\t:key=\"`line-${index}`\"\n\t\t\t\t\tclass=\"line-number\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\thighlighted: highlightedLines.includes(getOriginalLineNumber(index)),\n\t\t\t\t\t\t'original-line': line.isOriginalLine,\n\t\t\t\t\t}\"\n\t\t\t\t\t:style=\"{ minHeight: getMinLineHeight() + 'px' }\">\n\t\t\t\t\t{{ line.isOriginalLine ? line.lineNumber : '' }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- 优化的代码内容容器 -->\n\t\t\t<div\n\t\t\t\tref=\"codeContent\"\n\t\t\t\tclass=\"code-content non-virtual\"\n\t\t\t\t:style=\"{ marginLeft: showLineNumbers ? lineNumberWidth : '0' }\">\n\t\t\t\t<pre\n\t\t\t\t\tref=\"codePre\"\n\t\t\t\t\tclass=\"code-pre\"\n\t\t\t\t\t:class=\"[`language-${language}`, { 'word-wrap': wordWrap }]\">\n\t\t\t\t\t<code \n\t\t\t\t\t\tref=\"codeElement\" \n\t\t\t\t\t\t:class=\"`language-${language}`\"\n\t\t\t\t\t\tv-html=\"highlightedCode\"></code>\n\t\t\t\t</pre>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport Prism from 'prismjs'\nimport 'prismjs/components/prism-log'\nimport 'prismjs/themes/prism-tomorrow.css'\n\n// 扩展语言定义类型\ntype Language = 'log'\n\ninterface Props {\n\tcode: string\n\tlanguage?: Language\n\tshowLineNumbers?: boolean\n\tcopyable?: boolean\n\theight?: string\n\thighlightedLines?: number[]\n\twordWrap?: boolean\n\ttrimWhitespace?: boolean\n\t// 新增虚拟滚动相关属性\n\tenableVirtualScroll?: boolean\n\titemHeight?: number\n\toverscan?: number\n\tvirtualScrollThreshold?: number\n\t// 新增：初始化滚动条位置选项\n\tscrollToBottom?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tlanguage: 'log',\n\tshowLineNumbers: true,\n\tcopyable: true,\n\theight: '100%',\n\thighlightedLines: () => [],\n\twordWrap: true,\n\ttrimWhitespace: true,\n\t// 虚拟滚动默认配置\n\tenableVirtualScroll: true,\n\titemHeight: 22, // 每行高度（px）\n\toverscan: 5, // 预渲染行数\n\tvirtualScrollThreshold: 200, // 超过多少行启用虚拟滚动\n\t// 默认滚动到底部\n\tscrollToBottom: false,\n})\n\nconst codePre = ref<HTMLElement | null>(null)\nconst codeElement = ref<HTMLElement | null>(null)\nconst lineNumbersContainer = ref<HTMLElement | null>(null)\nconst codeContent = ref<HTMLElement | null>(null)\nconst codeContainer = ref<HTMLElement | null>(null)\n\n// 虚拟滚动状态\nconst scrollTop = ref(0)\nconst containerHeight = ref(0)\nconst isScrolling = ref(false)\n\n// 缓存相关\nconst lineHeightCache = ref<number | null>(null)\nconst wrappedLinesCache = ref<Map<string, number>>(new Map())\nconst highlightCache = ref<Map<string, string>>(new Map())\n\n// 实际行高（响应式）\nconst actualLineHeight = ref(props.itemHeight)\n\n// 处理后的代码内容\nconst processedCode = computed(() => {\n\tlet result = props.code\n\n\t// 清除整体前后空格\n\tif (props.trimWhitespace) {\n\t\tresult = result.trim()\n\t}\n\n\treturn result\n})\n\n// 计算属性：将代码按行分割\nconst codeLines = computed(() => processedCode.value.split('\\n'))\n\n// 是否应该启用虚拟滚动\nconst shouldUseVirtualScroll = computed(() => {\n\t// 如果显式设置为 false，则不启用\n\tif (props.enableVirtualScroll === false) {\n\t\treturn false\n\t}\n\t// 如果行数超过阈值，则自动启用虚拟滚动\n\treturn codeLines.value.length > props.virtualScrollThreshold\n})\n\n// 获取实际行高（优化版本，更准确的计算）\nconst getActualLineHeight = (): number => {\n\tif (lineHeightCache.value !== null) {\n\t\treturn lineHeightCache.value\n\t}\n\n\t// 尝试从实际渲染的元素中获取行高\n\tif (shouldUseVirtualScroll.value && codeContainer.value) {\n\t\t// 创建一个临时的测量元素\n\t\tconst measureElement = document.createElement('div')\n\t\tmeasureElement.style.cssText = `\n\t\t\tposition: absolute;\n\t\t\tvisibility: hidden;\n\t\t\theight: auto;\n\t\t\twidth: auto;\n\t\t\twhite-space: nowrap;\n\t\t\tfont-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 1.5;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t`\n\t\tmeasureElement.textContent = 'Ag'\n\t\tdocument.body.appendChild(measureElement)\n\n\t\tconst measuredHeight = measureElement.offsetHeight\n\t\tdocument.body.removeChild(measureElement)\n\n\t\tif (measuredHeight > 0) {\n\t\t\tlineHeightCache.value = measuredHeight\n\t\t\tactualLineHeight.value = measuredHeight\n\t\t\treturn measuredHeight\n\t\t}\n\t}\n\n\t// 如果有实际的代码元素，从中获取行高\n\tif (codePre.value) {\n\t\tconst computedStyle = getComputedStyle(codePre.value)\n\t\tconst lineHeight = parseFloat(computedStyle.lineHeight)\n\t\tif (!isNaN(lineHeight) && lineHeight > 0) {\n\t\t\tlineHeightCache.value = lineHeight\n\t\t\tactualLineHeight.value = lineHeight\n\t\t\treturn lineHeight\n\t\t}\n\t}\n\n\t// 回退到配置的行高\n\tlineHeightCache.value = props.itemHeight\n\tactualLineHeight.value = props.itemHeight\n\treturn props.itemHeight\n}\n\n// 获取最小行高（用于非虚拟滚动模式）\nconst getMinLineHeight = (): number => {\n\treturn Math.max(getActualLineHeight(), 18) // 最小18px\n}\n\n// 优化的换行计算函数（使用缓存）\nconst calculateWrappedLines = (text: string): number => {\n\tif (!props.wordWrap || !codePre.value) return 1\n\n\t// 检查缓存\n\tconst cacheKey = `${text}_${codePre.value.clientWidth}`\n\tif (wrappedLinesCache.value.has(cacheKey)) {\n\t\treturn wrappedLinesCache.value.get(cacheKey)!\n\t}\n\n\t// 获取容器的实际宽度\n\tconst containerWidth = codePre.value.clientWidth - 32 // 减去 padding\n\tif (containerWidth <= 0) {\n\t\twrappedLinesCache.value.set(cacheKey, 1)\n\t\treturn 1\n\t}\n\n\t// 简化的换行计算：基于字符数估算\n\tconst avgCharWidth = 8 // 平均字符宽度（像素）\n\tconst maxCharsPerLine = Math.floor(containerWidth / avgCharWidth)\n\tconst wrappedLines = Math.max(1, Math.ceil(text.length / maxCharsPerLine))\n\n\t// 缓存结果\n\twrappedLinesCache.value.set(cacheKey, wrappedLines)\n\treturn wrappedLines\n}\n\n// 监听容器大小变化，重新计算换行\nconst resizeObserver = ref<ResizeObserver | null>(null)\n\n// 强制重新计算的触发器\nconst forceRecalculate = ref(0)\n\n// 优化的显示行计算（减少重复计算）\nconst optimizedDisplayLines = computed(() => {\n\t// 添加 forceRecalculate 作为依赖，确保容器大小变化时重新计算\n\tforceRecalculate.value\n\n\tif (!props.wordWrap) {\n\t\t// 不换行模式下，每行对应一个显示行\n\t\treturn codeLines.value.map((_, index) => ({\n\t\t\tlineNumber: index + 1,\n\t\t\tisOriginalLine: true,\n\t\t}))\n\t}\n\n\t// 在自动换行模式下，使用优化的计算\n\tconst result: Array<{ lineNumber: number; isOriginalLine: boolean }> = []\n\n\tcodeLines.value.forEach((line, index) => {\n\t\tconst wrappedLineCount = calculateWrappedLines(line)\n\n\t\t// 第一行显示行号\n\t\tresult.push({\n\t\t\tlineNumber: index + 1,\n\t\t\tisOriginalLine: true,\n\t\t})\n\n\t\t// 如果有换行，添加空的行号占位\n\t\tfor (let i = 1; i < wrappedLineCount; i++) {\n\t\t\tresult.push({\n\t\t\t\tlineNumber: index + 1,\n\t\t\t\tisOriginalLine: false,\n\t\t\t})\n\t\t}\n\t})\n\n\treturn result\n})\n\n// 兼容旧版本的 displayLines\nconst displayLines = computed(() => optimizedDisplayLines.value)\n\n// 优化的代码高亮（使用缓存）\nconst highlightedCode = computed(() => {\n\tif (shouldUseVirtualScroll.value) {\n\t\treturn processedCode.value // 虚拟滚动模式下不在这里高亮\n\t}\n\n\tconst cacheKey = `${processedCode.value}_${props.language}`\n\tif (highlightCache.value.has(cacheKey)) {\n\t\treturn highlightCache.value.get(cacheKey)!\n\t}\n\n\ttry {\n\t\tconst highlighted = Prism.highlight(\n\t\t\tprocessedCode.value,\n\t\t\tPrism.languages[props.language] || Prism.languages.log,\n\t\t\tprops.language\n\t\t)\n\t\thighlightCache.value.set(cacheKey, highlighted)\n\t\treturn highlighted\n\t} catch (error) {\n\t\tconsole.warn('代码高亮失败:', error)\n\t\thighlightCache.value.set(cacheKey, processedCode.value)\n\t\treturn processedCode.value\n\t}\n})\n\n// 虚拟滚动相关计算 - 优化版本\nconst totalHeight = computed(() => {\n\tif (!shouldUseVirtualScroll.value) return 0\n\treturn codeLines.value.length * actualLineHeight.value\n})\n\nconst startIndex = computed(() => {\n\tif (!shouldUseVirtualScroll.value) return 0\n\tconst index = Math.floor(scrollTop.value / actualLineHeight.value) - props.overscan\n\treturn Math.max(0, index)\n})\n\nconst endIndex = computed(() => {\n\tif (!shouldUseVirtualScroll.value) return 0\n\tconst visibleCount = Math.ceil(containerHeight.value / actualLineHeight.value)\n\tconst index = startIndex.value + visibleCount + props.overscan * 2\n\treturn Math.min(codeLines.value.length - 1, index)\n})\n\nconst startOffset = computed(() => {\n\tif (!shouldUseVirtualScroll.value) return 0\n\treturn startIndex.value * actualLineHeight.value\n})\n\nconst visibleHeight = computed(() => {\n\tif (!shouldUseVirtualScroll.value) return 0\n\treturn (endIndex.value - startIndex.value + 1) * actualLineHeight.value\n})\n\nconst visibleStartIndex = computed(() => {\n\treturn startIndex.value\n})\n\nconst visibleLines = computed(() => {\n\tif (!shouldUseVirtualScroll.value) return []\n\tconst start = startIndex.value\n\tconst end = endIndex.value + 1\n\n\tconst result = []\n\tfor (let i = start; i < end && i < codeLines.value.length; i++) {\n\t\tresult.push({\n\t\t\tlineNumber: i + 1,\n\t\t\tisOriginalLine: true,\n\t\t\toriginalIndex: i,\n\t\t})\n\t}\n\treturn result\n})\n\nconst visibleCodeLines = computed(() => {\n\tif (!shouldUseVirtualScroll.value) return []\n\tconst start = startIndex.value\n\tconst end = endIndex.value + 1\n\treturn codeLines.value.slice(start, end)\n})\n\n// 高亮单行代码（虚拟滚动模式使用）\nconst highlightLine = (line: string): string => {\n\tconst cacheKey = `line_${line}_${props.language}`\n\tif (highlightCache.value.has(cacheKey)) {\n\t\treturn highlightCache.value.get(cacheKey)!\n\t}\n\n\ttry {\n\t\tconst highlighted = Prism.highlight(\n\t\t\tline,\n\t\t\tPrism.languages[props.language] || Prism.languages.log,\n\t\t\tprops.language\n\t\t)\n\t\thighlightCache.value.set(cacheKey, highlighted)\n\t\treturn highlighted\n\t} catch (error) {\n\t\tconsole.warn('代码高亮失败:', error)\n\t\thighlightCache.value.set(cacheKey, line)\n\t\treturn line\n\t}\n}\n\n// 获取原始行号\nconst getOriginalLineNumber = (displayIndex: number): number => {\n\treturn displayLines.value[displayIndex]?.lineNumber || 1\n}\n\n// 优化的滚动事件处理（使用节流和防抖结合）\nlet scrollTimer: number | null = null\nlet scrollEndTimer: number | null = null\n\nconst onScroll = () => {\n\tif (!codeContainer.value) return\n\n\t// 标记正在滚动\n\tisScrolling.value = true\n\n\t// 清除之前的定时器\n\tif (scrollTimer) {\n\t\tcancelAnimationFrame(scrollTimer)\n\t}\n\tif (scrollEndTimer) {\n\t\tclearTimeout(scrollEndTimer)\n\t}\n\n\t// 立即更新滚动位置（使用 RAF 节流）\n\tscrollTimer = requestAnimationFrame(() => {\n\t\tif (!codeContainer.value) return\n\n\t\tconst newScrollTop = codeContainer.value.scrollTop\n\n\t\t// 只有当滚动位置真正改变时才更新\n\t\tif (Math.abs(newScrollTop - scrollTop.value) > 0.5) {\n\t\t\tscrollTop.value = newScrollTop\n\t\t}\n\n\t\t// 同步行号滚动（非虚拟滚动模式）\n\t\tif (!shouldUseVirtualScroll.value && lineNumbersContainer.value) {\n\t\t\tlineNumbersContainer.value.scrollTop = newScrollTop\n\t\t}\n\t})\n\n\t// 滚动结束检测\n\tscrollEndTimer = setTimeout(() => {\n\t\tisScrolling.value = false\n\t\t// 滚动结束后进行精确校准\n\t\tif (shouldUseVirtualScroll.value) {\n\t\t\tcalibrateVirtualScroll()\n\t\t}\n\t}, 150)\n}\n\n// 更新容器高度和实际行高 - 优化版本\nconst updateContainerHeight = () => {\n\tif (!codeContainer.value) return\n\n\tconst newHeight = codeContainer.value.clientHeight\n\tif (Math.abs(newHeight - containerHeight.value) > 1) {\n\t\tcontainerHeight.value = newHeight\n\n\t\t// 清除行高缓存，强制重新计算\n\t\tlineHeightCache.value = null\n\n\t\t// 重新获取实际行高\n\t\tnextTick(() => {\n\t\t\tgetActualLineHeight()\n\n\t\t\tif (shouldUseVirtualScroll.value) {\n\t\t\t\t// 重新计算滚动位置\n\t\t\t\tonScroll()\n\t\t\t}\n\t\t})\n\t}\n}\n\n// 滚动到底部的方法 - 优化版本\nconst scrollToBottomMethod = () => {\n\tif (!codeContainer.value) return\n\n\tnextTick(() => {\n\t\tif (shouldUseVirtualScroll.value) {\n\t\t\t// 虚拟滚动模式：计算最大滚动位置\n\t\t\tconst maxScrollTop = Math.max(0, totalHeight.value - containerHeight.value + 20)\n\t\t\tcodeContainer.value!.scrollTop = maxScrollTop\n\t\t\tscrollTop.value = maxScrollTop\n\t\t} else {\n\t\t\t// 非虚拟滚动模式：直接滚动到底部\n\t\t\tcodeContainer.value!.scrollTop = codeContainer.value!.scrollHeight\n\t\t}\n\t})\n}\n\n// 滚动到指定行\nconst scrollToLine = (lineNumber: number) => {\n\tif (!codeContainer.value || lineNumber < 1 || lineNumber > codeLines.value.length) return\n\n\tnextTick(() => {\n\t\tif (shouldUseVirtualScroll.value) {\n\t\t\t// 虚拟滚动模式：计算目标位置\n\t\t\tconst targetScrollTop = (lineNumber - 1) * actualLineHeight.value\n\t\t\tcodeContainer.value!.scrollTop = targetScrollTop\n\t\t\tscrollTop.value = targetScrollTop\n\t\t} else {\n\t\t\t// 非虚拟滚动模式：使用原生滚动\n\t\t\tconst lineElement = codeContainer.value!.querySelector(\n\t\t\t\t`.line-number:nth-child(${lineNumber})`\n\t\t\t)\n\t\t\tif (lineElement) {\n\t\t\t\tlineElement.scrollIntoView({ behavior: 'smooth', block: 'center' })\n\t\t\t}\n\t\t}\n\t})\n}\n\n// 清除缓存的方法\nconst clearCaches = () => {\n\twrappedLinesCache.value.clear()\n\thighlightCache.value.clear()\n\tlineHeightCache.value = null\n}\n\n// 防抖函数\nconst debounce = (func: Function, wait: number) => {\n\tlet timeout: number\n\treturn function executedFunction(...args: any[]) {\n\t\tconst later = () => {\n\t\t\tclearTimeout(timeout)\n\t\t\tfunc(...args)\n\t\t}\n\t\tclearTimeout(timeout)\n\t\ttimeout = setTimeout(later, wait)\n\t}\n}\n\n// 校准虚拟滚动高度\nconst calibrateVirtualScroll = () => {\n\tif (!shouldUseVirtualScroll.value || !codeContainer.value || isScrolling.value) return\n\n\tnextTick(() => {\n\t\t// 强制重新计算所有虚拟滚动相关的值\n\t\tupdateContainerHeight()\n\n\t\t// 确保行高是最新的\n\t\tgetActualLineHeight()\n\n\t\t// 触发一次滚动事件以确保位置正确\n\t\tif (!isScrolling.value) {\n\t\t\tonScroll()\n\t\t}\n\t})\n}\n\n// 初始化滚动位置\nconst initializeScrollPosition = () => {\n\tif (props.scrollToBottom) {\n\t\tscrollToBottomMethod()\n\t}\n}\n\n// 在组件挂载后立即更新容器高度\nonMounted(() => {\n\t// 延迟初始化，确保DOM完全渲染\n\tnextTick(() => {\n\t\tupdateContainerHeight()\n\t\tgetActualLineHeight()\n\n\t\t// 监听窗口大小变化\n\t\twindow.addEventListener('resize', debounce(updateContainerHeight, 100))\n\n\t\t// 使用 ResizeObserver 监听容器大小变化\n\t\tif (codeContainer.value && ResizeObserver) {\n\t\t\tresizeObserver.value = new ResizeObserver(\n\t\t\t\tdebounce(() => {\n\t\t\t\t\tclearCaches() // 清除缓存\n\t\t\t\t\tupdateContainerHeight()\n\t\t\t\t\tforceRecalculate.value++\n\t\t\t\t}, 100)\n\t\t\t)\n\t\t\tresizeObserver.value.observe(codeContainer.value)\n\t\t}\n\n\t\t// 初始化滚动位置\n\t\tsetTimeout(() => {\n\t\t\tinitializeScrollPosition()\n\t\t}, 200) // 延迟确保所有计算完成\n\t})\n})\n\n// 监听代码变化\nwatch(\n\t() => [processedCode.value, props.language, shouldUseVirtualScroll.value],\n\t() => {\n\t\t// 清除相关缓存\n\t\thighlightCache.value.clear()\n\n\t\tnextTick(() => {\n\t\t\tif (shouldUseVirtualScroll.value) {\n\t\t\t\t// 虚拟滚动模式下重新校准\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tcalibrateVirtualScroll()\n\t\t\t\t}, 50)\n\t\t\t}\n\n\t\t\t// 如果启用了滚动到底部，在内容变化后重新滚动\n\t\t\tif (props.scrollToBottom) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tinitializeScrollPosition()\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t})\n\t},\n\t{ deep: true }\n)\n\n// 监听换行设置变化\nwatch(\n\t() => props.wordWrap,\n\t() => {\n\t\t// 清除换行缓存\n\t\twrappedLinesCache.value.clear()\n\t\tforceRecalculate.value++\n\n\t\t// 重新校准虚拟滚动\n\t\tif (shouldUseVirtualScroll.value) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tcalibrateVirtualScroll()\n\t\t\t}, 50)\n\t\t}\n\t}\n)\n\n// 监听行高变化\nwatch(\n\t() => props.itemHeight,\n\t() => {\n\t\tlineHeightCache.value = null\n\t\tactualLineHeight.value = props.itemHeight\n\n\t\tif (shouldUseVirtualScroll.value) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tcalibrateVirtualScroll()\n\t\t\t}, 50)\n\t\t}\n\t}\n)\n\n// 组件卸载时清理\nonUnmounted(() => {\n\tif (resizeObserver.value) {\n\t\tresizeObserver.value.disconnect()\n\t}\n\twindow.removeEventListener('resize', updateContainerHeight)\n\tif (scrollTimer) {\n\t\tcancelAnimationFrame(scrollTimer)\n\t}\n\tif (scrollEndTimer) {\n\t\tclearTimeout(scrollEndTimer)\n\t}\n\tclearCaches()\n})\n\n// 暴露方法给父组件使用\ndefineExpose({\n\tscrollToBottom: scrollToBottomMethod,\n\tscrollToLine,\n\tclearCaches,\n\tcalibrateVirtualScroll,\n})\n\n// 计算行号容器宽度\nconst lineNumberWidth = computed(() => {\n\tconst maxLineNumber = codeLines.value.length\n\tconst digits = maxLineNumber.toString().length\n\t// 基础宽度 + 每个数字的宽度 + 内边距\n\tconst baseWidth = 1.5 // rem\n\tconst digitWidth = 0.6 // rem per digit\n\tconst padding = 1.5 // rem for padding\n\treturn `${baseWidth + digits * digitWidth + padding}em`\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.code-container {\n\tposition: relative;\n\toverflow: auto;\n\tborder-radius: 4px;\n\tbox-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n\tbackground: #2d2d2d;\n\tborder: 1px solid #404040;\n\n\t&.word-wrap {\n\t\t.code-content {\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.virtual-scroll-container {\n\tposition: relative;\n\twidth: 100%;\n\toverflow: hidden;\n\t// 启用硬件加速\n\ttransform: translateZ(0);\n\twill-change: scroll-position;\n\n\t&.word-wrap {\n\t\t.code-content {\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.code-content {\n\tposition: relative;\n\theight: 100%;\n\n\t&.non-virtual {\n\t\toverflow: auto;\n\t}\n\n\t&.virtual {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: calc(100% - var(--line-number-width, 0px));\n\t\toverflow: visible;\n\t\t// 启用硬件加速\n\t\twill-change: transform;\n\t\tbackface-visibility: hidden;\n\t}\n\n\t.word-wrap & {\n\t\toverflow: visible;\n\t}\n}\n\n.code-lines-container {\n\tfont-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n\tfont-size: 13px;\n\tline-height: 1.5;\n\tpadding-left: 1rem;\n\tpadding-right: 1rem;\n}\n\n.code-line {\n\tdisplay: flex;\n\talign-items: center;\n\twhite-space: pre;\n\toverflow: hidden;\n\tbox-sizing: border-box;\n\tcolor: #fff;\n\tpadding: 0;\n\tmargin: 0;\n\t// 优化渲染性能\n\tcontain: layout style paint;\n\n\t&:hover {\n\t\tbackground: rgba(255, 255, 255, 0.05);\n\t}\n\n\t&.highlighted-line {\n\t\tbackground: rgba(59, 130, 246, 0.2);\n\t}\n}\n\n.code-pre {\n\tdisplay: flex;\n\tmargin: 0;\n\tpadding: 1rem;\n\theight: 100%;\n\toverflow: visible;\n\tbackground: transparent !important;\n\tfont-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n\tfont-size: 13px;\n\tline-height: 1.5;\n\tbox-sizing: border-box;\n\n\t&.word-wrap {\n\t\toverflow-x: visible;\n\t\toverflow-y: visible;\n\t\twhite-space: pre-wrap;\n\t\tword-wrap: break-word;\n\t\tword-break: break-all;\n\t}\n\n\tcode {\n\t\tflex: 1;\n\t\tbackground: transparent !important;\n\t\tpadding: 0 !important;\n\t\tborder-radius: 0 !important;\n\n\t\t.word-wrap & {\n\t\t\twhite-space: pre-wrap;\n\t\t\tword-wrap: break-word;\n\t\t\tword-break: break-all;\n\t\t}\n\t}\n}\n\n.line-numbers-container {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tmin-height: 100%;\n\tbackground-color: #1e1e1e;\n\tborder-right: 1px solid #404040;\n\ttext-align: right;\n\tpadding: 1rem 0.75rem;\n\tbox-sizing: border-box;\n\tuser-select: none;\n\tfont-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n\tfont-size: 13px;\n\tline-height: 1.5;\n\tcolor: #666;\n\tz-index: 1;\n\toverflow: hidden;\n\n\t&.non-virtual {\n\t\toverflow-y: auto;\n\t\tscrollbar-width: none;\n\t\t-ms-overflow-style: none;\n\n\t\t&::-webkit-scrollbar {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t&.virtual {\n\t\tposition: absolute;\n\t\tpadding: 0;\n\t\tpadding-right: 0.75rem;\n\t\tpadding-left: 0.75rem;\n\t\tmin-height: auto;\n\t\ttop: 0;\n\t\t// 启用硬件加速\n\t\twill-change: transform;\n\t\tbackface-visibility: hidden;\n\t}\n\n\t.word-wrap & {\n\t\toverflow-y: auto;\n\t\tscrollbar-width: none;\n\t\t-ms-overflow-style: none;\n\n\t\t&::-webkit-scrollbar {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.line-number {\n\tdisplay: block;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n\t// 优化渲染性能\n\tcontain: layout style paint;\n\n\t&.highlighted {\n\t\tbackground: #3b82f6;\n\t\tcolor: #fff;\n\t\tmargin: 0 -0.75rem;\n\t\tpadding: 0 0.75rem;\n\t}\n\n\t.virtual & {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tbox-sizing: border-box;\n\t}\n}\n\n// 滚动条样式\n.code-container::-webkit-scrollbar {\n\twidth: 8px;\n\theight: 8px;\n}\n\n.code-container::-webkit-scrollbar-track {\n\tbackground: #1e1e1e;\n}\n\n.code-container::-webkit-scrollbar-thumb {\n\tbackground: #404040;\n\tborder-radius: 4px;\n}\n\n.code-container::-webkit-scrollbar-thumb:hover {\n\tbackground: #555;\n}\n\n.code-pre::-webkit-scrollbar {\n\theight: 8px;\n}\n\n.code-pre::-webkit-scrollbar-track {\n\tbackground: #1e1e1e;\n}\n\n.code-pre::-webkit-scrollbar-thumb {\n\tbackground: #404040;\n\tborder-radius: 4px;\n}\n\n.code-pre::-webkit-scrollbar-thumb:hover {\n\tbackground: #555;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-more/index.vue",
    "content": "<template>\n\t<div class=\"flex items-center mb-20px cursor-pointer\" @click=\"onToggle\">\n\t\t<!-- <bt-icon\n\t\t\t\tname=\"base-arrow-right\"\n\t\t\t\tsize=\"15\"\n\t\t\t\t:style=\"{\n\t\t\t\t\ttransform: `rotate(${show ? '90' : '0'}deg)`,\n\t\t\t\t\ttransition: 'transform 0.3s',\n\t\t\t\t}\">\n\t\t\t</bt-icon> -->\n\t\t<n-icon\n\t\t\tsize=\"16\"\n\t\t\t:style=\"{\n\t\t\t\ttransform: `rotate(${show ? '90' : '0'}deg)`,\n\t\t\t\ttransition: 'transform 0.3s',\n\t\t\t}\">\n\t\t\t<ChevronRightIcon />\n\t\t</n-icon>\n\t\t<div class=\"ml-8px text-13px text-primary\">\n\t\t\t<slot name=\"title\"></slot>\n\t\t\t{{ showTitle ? '' : title }}\n\t\t</div>\n\t</div>\n\t<n-collapse-transition :show=\"show\">\n\t\t<slot></slot>\n\t</n-collapse-transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ChevronRightIcon } from 'naive-ui/es/_internal/icons'\n\ndefineProps({\n\ttitle: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n})\n\nconst show = defineModel<boolean>('show', {\n\tdefault: false,\n})\n\nconst onToggle = () => {\n\tshow.value = !show.value\n}\n\nconst showTitle = !!useSlots().title\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-preview/index.vue",
    "content": "<template>\n\t<iframe\n\t\twidth=\"100%\"\n\t\t:height=\"height\"\n\t\t:srcdoc=\"value\"\n\t\t:style=\"{ border: 'none', borderRadius: '4px' }\">\n\t</iframe>\n</template>\n\n<script lang=\"ts\" setup>\ndefineProps({\n\tvalue: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\theight: {\n\t\ttype: [String, Number],\n\t\tdefault: '100%',\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-route-tabs/index.vue",
    "content": "<template>\n\t<div class=\"bt-title mb-8px!\">{{ title }}</div>\n\t<n-tabs :value=\"activeTab\" type=\"line\" class=\"route-tabs\" @update:value=\"handleUpdateTab\">\n\t\t<n-tab-pane v-for=\"tab in tabs\" :key=\"tab.name\" :name=\"tab.name\" :tab=\"tab.title\"> </n-tab-pane>\n\t</n-tabs>\n\t<router-view />\n</template>\n\n<script lang=\"ts\" setup>\nimport { get } from 'lodash-es'\nimport { RouteLocationNormalized } from 'vue-router'\n\ninterface TabItem {\n\ttitle: string\n\tname: string\n}\n\nconst { t } = useI18n()\n\nconst route = useRoute()\n\nconst router = useRouter()\n\nconst tabs = ref<TabItem[]>([])\n\nconst activeTab = computed(() => {\n\treturn String(route.name)\n})\n\nconst title = computed(() => {\n\treturn t(`${get(route.matched[0], 'meta.titleKey')}`)\n})\n\nconst handleUpdateTab = (name: string) => {\n\trouter.push({ name })\n}\n\n// Add tab when route changes\nconst addTab = (route: RouteLocationNormalized) => {\n\tconst existTab = tabs.value.find(tab => tab.name === route.name)\n\tif (existTab) return\n\n\tif (route.matched[1].children) {\n\t\ttabs.value = route.matched[1].children\n\t\t\t.filter(routeItem => {\n\t\t\t\tconst isHidden = get(routeItem, 'meta.hidden', false)\n\t\t\t\treturn !isHidden\n\t\t\t})\n\t\t\t.map(routeItem => {\n\t\t\t\tconst key = get(routeItem, 'meta.titleKey', '')\n\t\t\t\tconst title = get(routeItem, 'meta.title', '')\n\t\t\t\treturn {\n\t\t\t\t\ttitle: `${key ? t(String(key)) : title}`,\n\t\t\t\t\tname: String(routeItem.name),\n\t\t\t\t}\n\t\t\t})\n\t}\n}\n\naddTab(route)\n</script>\n\n<style lang=\"scss\" scoped>\n.route-tabs {\n\t--n-tab-gap: 32px;\n\t--n-tab-padding: 12px 4px;\n\t--n-pane-padding-top: 16px;\n\t--n-tab-border-color: var(--color-border-1);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-search/index.vue",
    "content": "<template>\n\t<n-input\n\t\tref=\"inputRef\"\n\t\tv-model:value=\"search\"\n\t\tv-bind=\"$attrs\"\n\t\tclass=\"bt-search\"\n\t\t:style=\"{ width: `${width}px` }\"\n\t\t@keyup.enter=\"onSearch\">\n\t\t<template v-if=\"prefix\" #prefix>\n\t\t\t<div class=\"flex items-center cursor-pointer\" @click=\"onSearch\">\n\t\t\t\t<i class=\"i-mdi-search text-16px\"></i>\n\t\t\t</div>\n\t\t</template>\n\t\t<template v-if=\"!prefix\" #suffix>\n\t\t\t<div class=\"flex items-center cursor-pointer\" @click=\"onSearch\">\n\t\t\t\t<i class=\"i-mdi-search text-16px\"></i>\n\t\t\t</div>\n\t\t</template>\n\t</n-input>\n</template>\n\n<script lang=\"ts\" setup>\nimport { InputInst } from 'naive-ui'\n\ninterface Props {\n\twidth?: number | string\n\tprefix?: boolean\n}\n\nwithDefaults(defineProps<Props>(), {\n\twidth: 240,\n\tprefix: false,\n})\n\nconst inputRef = ref<InputInst | null>(null)\n\nconst emit = defineEmits<{\n\tsearch: [val: string]\n}>()\n\nconst search = defineModel<string>('value', {\n\tdefault: '',\n})\n\nconst onSearch = () => {\n\temit('search', search.value)\n}\n\ndefineExpose({\n\tfocus: () => {\n\t\tinputRef.value?.focus()\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-table-batch/index.vue",
    "content": "<template>\n\t<div class=\"flex gap-10px\">\n\t\t<div class=\"flex-center w-40px\">\n\t\t\t<n-checkbox\n\t\t\t\tv-model:checked=\"checked\"\n\t\t\t\t:disabled=\"checkedDisabled\"\n\t\t\t\t:indeterminate=\"indeterminate\">\n\t\t\t</n-checkbox>\n\t\t</div>\n\t\t<n-button\n\t\t\tv-for=\"item in options\"\n\t\t\t:key=\"item.value\"\n\t\t\t:disabled=\"btnDisabled || item.disabled\"\n\t\t\t@click=\"onClick(item.value as string)\">\n\t\t\t{{ item.label }}\n\t\t</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { DataTableCreateRowKey, DataTableRowData, DataTableRowKey, SelectOption } from 'naive-ui'\n\nconst { data, checkedRowKeys, rowKey } = defineProps({\n\tdata: {\n\t\ttype: Array as PropType<DataTableRowData[]>,\n\t\tdefault: () => [],\n\t},\n\trowKey: {\n\t\ttype: Function as PropType<DataTableCreateRowKey<any>>,\n\t\trequired: true,\n\t},\n\toptions: {\n\t\ttype: Array as PropType<SelectOption[]>,\n\t\tdefault: () => [],\n\t},\n\tcheckedRowKeys: {\n\t\ttype: Array as PropType<DataTableRowKey[]>,\n\t\tdefault: () => [],\n\t},\n})\n\nconst emit = defineEmits(['updateCheckedRowKeys', 'select'])\n\nconst checked = computed({\n\tget() {\n\t\treturn checkedRowKeys.length > 0 && checkedRowKeys.length === data.length\n\t},\n\tset(val) {\n\t\tif (val) {\n\t\t\temit(\n\t\t\t\t'updateCheckedRowKeys',\n\t\t\t\tdata.map(item => rowKey(item))\n\t\t\t)\n\t\t} else {\n\t\t\temit('updateCheckedRowKeys', [])\n\t\t}\n\t},\n})\n\nconst checkedDisabled = computed(() => {\n\treturn data.length === 0\n})\n\nconst indeterminate = computed(() => {\n\treturn checkedRowKeys.length > 0 && checkedRowKeys.length < data.length\n})\n\nconst btnDisabled = computed(() => {\n\treturn checkedRowKeys.length === 0\n})\n\nconst onClick = (val: string) => {\n\temit('select', val, checkedRowKeys)\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-table-help/index.vue",
    "content": "<template>\n\t<n-empty>\n\t\t<template #default>\n\t\t\t<div class=\"leading-22px text-13px text-desc text-center\">\n\t\t\t\t<i18n-t tag=\"span\" scope=\"global\" keypath=\"components.tableHelp.text1\">\n\t\t\t\t\t<template #issues>\n\t\t\t\t\t\t<n-button class=\"text-13px\" type=\"primary\" text @click=\"handleGoIssues\">\n\t\t\t\t\t\t\t<span>Issues</span>\n\t\t\t\t\t\t\t<i class=\"i-mdi:arrow-right ml-1px\"></i>\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #star>\n\t\t\t\t\t\t<n-button class=\"text-13px\" type=\"primary\" text @click=\"handleGoStar\">\n\t\t\t\t\t\t\tStar\n\t\t\t\t\t\t\t<i class=\"i-mdi:arrow-right ml-1px\"></i>\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t</template>\n\t\t\t\t</i18n-t>\n\t\t\t\t<br />\n\t\t\t\t<span>{{ $t('components.tableHelp.text2') }}</span>\n\t\t\t</div>\n\t\t</template>\n\t</n-empty>\n</template>\n\n<script lang=\"ts\" setup>\nconst handleGoIssues = () => {\n\twindow.open('https://github.com/aaPanel/BillionMail/issues')\n}\n\nconst handleGoStar = () => {\n\twindow.open('https://github.com/aaPanel/BillionMail')\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-table-layout/index.vue",
    "content": "<template>\n\t<div>\n\t\t<n-flex v-if=\"slotLeft || slotRight\" class=\"items-center mb-12px\" justify=\"space-between\">\n\t\t\t<n-flex class=\"items-center\" :size=\"12\">\n\t\t\t\t<slot name=\"toolsLeft\"></slot>\n\t\t\t</n-flex>\n\t\t\t<n-flex class=\"items-center\" :size=\"12\">\n\t\t\t\t<slot name=\"toolsRight\"></slot>\n\t\t\t</n-flex>\n\t\t</n-flex>\n\t\t<slot name=\"table\"></slot>\n\t\t<n-flex v-if=\"slotPage\" class=\"items-center mt-12px\" justify=\"space-between\">\n\t\t\t<div>\n\t\t\t\t<slot name=\"pageLeft\"></slot>\n\t\t\t</div>\n\t\t\t<n-flex>\n\t\t\t\t<slot name=\"pageRight\"></slot>\n\t\t\t</n-flex>\n\t\t</n-flex>\n\t\t<slot name=\"modal\"></slot>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\n// Check if <slot name=\"toolsLeft\"/> has a value\nconst slotLeft = !!useSlots().toolsLeft\n// Check if <slot name=\"toolsRight\"/> has a value\nconst slotRight = !!useSlots().toolsRight\n// Check if <slot name=\"pageRight\"/> has a value\nconst slotPage = !!useSlots().pageLeft || !!useSlots().pageRight\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-table-password/index.vue",
    "content": "<template>\n\t<div class=\"flex\">\n\t\t<div class=\"w-0 flex-1 flex items-center\">\n\t\t\t<div class=\"min-w-0\">\n\t\t\t\t<n-ellipsis class=\"max-w-full\" :tooltip=\"{ contentStyle: { maxWidth: '200px' } }\">\n\t\t\t\t\t{{ password }}\n\t\t\t\t</n-ellipsis>\n\t\t\t</div>\n\t\t\t<div class=\"ml-6px text-15px cursor-pointer\" title=\"Show\" @click=\"onToggle\">\n\t\t\t\t<i :class=\"show ? 'i-mdi-eye-outline' : 'i-mdi-eye-off-outline'\"></i>\n\t\t\t</div>\n\t\t\t<div class=\"reset ml-6px text-15px cursor-pointer text-#333\" title=\"Copy\" @click=\"onCopy\">\n\t\t\t\t<i class=\"i-mdi-content-copy\"></i>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useCopy } from '@/hooks/useCopy'\n\ninterface Props {\n\tvalue: string | number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tvalue: '',\n})\n\nconst { copyText } = useCopy()\n\nconst show = ref(false)\n\nconst password = computed(() => {\n\treturn show.value ? props.value : '**********'\n})\n\nconst onToggle = () => {\n\tshow.value = !show.value\n}\n\nconst onCopy = async () => {\n\tcopyText(`${props.value}`)\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-time/index.vue",
    "content": "<template>\n\t<div class=\"date-filters\">\n\t\t<div class=\"w-120px\">\n\t\t\t<n-select v-model:value=\"activeFilter\" :options=\"filterOptions\" @update:value=\"setFilter\">\n\t\t\t</n-select>\n\t\t</div>\n\t\t<div class=\"w-240px\">\n\t\t\t<n-date-picker\n\t\t\t\t:value=\"dateRange\"\n\t\t\t\ttype=\"daterange\"\n\t\t\t\t:is-date-disabled=\"dateDisabled\"\n\t\t\t\t@update:value=\"onDateRangeChange\">\n\t\t\t</n-date-picker>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { addDays, startOfDay, endOfDay } from 'date-fns'\nimport { getDayTimeRange } from '@/utils'\n\nconst { defaultType } = defineProps({\n\tdefaultType: {\n\t\ttype: String,\n\t\tdefault: 'today',\n\t},\n})\n\nconst dateRange = defineModel<[number, number]>('value')\n\nconst emit = defineEmits<{\n\tchange: []\n}>()\n\nconst { t } = useI18n()\n\nconst activeFilter = ref(defaultType)\n\nconst filterOptions = [\n\t{ label: t('common.time.today'), value: 'today' },\n\t{ label: t('common.time.yesterday'), value: 'yesterday' },\n\t{ label: t('common.time.last7days'), value: 'last7days' },\n\t{ label: t('common.time.custom'), value: 'custom' },\n]\n\nconst getLastSevenDaysRange = (): [number, number] => {\n\tconst today = new Date()\n\tconst end = endOfDay(today)\n\tconst start = startOfDay(addDays(today, -6))\n\treturn [start.getTime(), end.getTime()]\n}\n\nconst setFilter = (filter: string) => {\n\tswitch (filter) {\n\t\tcase 'today':\n\t\t\tdateRange.value = getDayTimeRange()\n\t\t\tbreak\n\t\tcase 'yesterday':\n\t\t\tdateRange.value = getDayTimeRange(addDays(new Date(), -1))\n\t\t\tbreak\n\t\tcase 'last7days':\n\t\t\tdateRange.value = getLastSevenDaysRange()\n\t\t\tbreak\n\t}\n\temit('change')\n}\n\nconst dateDisabled = (ts: number) => {\n\tconst today = new Date()\n\tconst before = addDays(today, -30)\n\treturn startOfDay(before).getTime() > ts || endOfDay(today).getTime() < ts\n}\n\nconst onDateRangeChange = (val: [number, number]) => {\n\tactiveFilter.value = 'custom'\n\tdateRange.value = [startOfDay(val[0]).getTime(), endOfDay(val[1]).getTime()]\n\temit('change')\n}\n\nsetFilter(defaultType)\n</script>\n\n<style lang=\"scss\" scoped>\n.date-filters {\n\tdisplay: flex;\n\tgap: 8px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-time-range/index.vue",
    "content": "<template>\n\t<div class=\"bt-time-range\">\n\t\t<n-radio-group v-model:value=\"activeFilter\" @update:value=\"setFilter\">\n\t\t\t<n-radio-button value=\"today\">{{ $t('common.time.today') }}</n-radio-button>\n\t\t\t<n-radio-button value=\"yesterday\">{{ $t('common.time.yesterday') }}</n-radio-button>\n\t\t\t<n-radio-button value=\"last7days\">{{ $t('common.time.last7days') }}</n-radio-button>\n\t\t</n-radio-group>\n\t\t<n-date-picker\n\t\t\t:value=\"dateRange\"\n\t\t\ttype=\"daterange\"\n\t\t\t:is-date-disabled=\"dateDisabled\"\n\t\t\t@update:value=\"onDateRangeChange\">\n\t\t</n-date-picker>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { addDays, startOfDay, endOfDay } from 'date-fns'\nimport { getDayTimeRange } from '@/utils'\n\nconst { defaultType } = defineProps({\n\tdefaultType: {\n\t\ttype: String,\n\t\tdefault: 'today',\n\t},\n})\n\nconst dateRange = defineModel<[number, number]>('value')\n\nconst emit = defineEmits<{\n\tchange: []\n}>()\n\nconst activeFilter = ref(defaultType)\n\nconst getLastSevenDaysRange = (): [number, number] => {\n\tconst today = new Date()\n\tconst end = endOfDay(today)\n\tconst start = startOfDay(addDays(today, -6))\n\treturn [start.getTime(), end.getTime()]\n}\n\nconst setFilter = (filter: string) => {\n\tswitch (filter) {\n\t\tcase 'today':\n\t\t\tdateRange.value = getDayTimeRange()\n\t\t\tbreak\n\t\tcase 'yesterday':\n\t\t\tdateRange.value = getDayTimeRange(addDays(new Date(), -1))\n\t\t\tbreak\n\t\tcase 'last7days':\n\t\t\tdateRange.value = getLastSevenDaysRange()\n\t\t\tbreak\n\t}\n\temit('change')\n}\n\nconst dateDisabled = (ts: number) => {\n\tconst today = new Date()\n\tconst before = addDays(today, -30)\n\treturn startOfDay(before).getTime() > ts || endOfDay(today).getTime() < ts\n}\n\nconst onDateRangeChange = (val: [number, number]) => {\n\tactiveFilter.value = 'custom'\n\tdateRange.value = [startOfDay(val[0]).getTime(), endOfDay(val[1]).getTime()]\n\temit('change')\n}\n\nsetFilter(defaultType)\n</script>\n\n<style lang=\"scss\" scoped>\n.bt-time-range {\n\tdisplay: flex;\n\tgap: 8px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/base/bt-tips/index.vue",
    "content": "<template>\n\t<ul class=\"bt-tips flex flex-col gap-4px list-outside list-disc leading-20px text-[#777]\">\n\t\t<slot></slot>\n\t</ul>\n</template>\n\n<style lang=\"scss\" scoped>\n.bt-tips {\n\t:deep(li) {\n\t\tlist-style: disc;\n\t\tmargin-left: 1.5em;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/ui/bt-config-provider/index.vue",
    "content": "<template>\n\t<n-config-provider\n\t\tabstract\n\t\tinline-theme-disabled\n\t\t:theme=\"themeRef\"\n\t\t:locale=\"locale\"\n\t\t:date-locale=\"dateLocale\"\n\t\t:theme-overrides=\"themeOverrides\">\n\t\t<slot></slot>\n\t</n-config-provider>\n</template>\n\n<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport { enUS, zhCN, jaJP, deDE, dateEnUS, dateZhCN, dateJaJP, dateDeDE, darkTheme } from 'naive-ui'\nimport { useGlobalStore, useThemeStore } from '@/store'\n\nconst globalStore = useGlobalStore()\nconst { lang } = storeToRefs(globalStore)\n\nconst themeStore = useThemeStore()\nconst { theme, themeOverrides } = storeToRefs(themeStore)\n\nconst langMap = {\n\tzh: {\n\t\tlocale: zhCN,\n\t\tdateLocale: dateZhCN,\n\t},\n\ten: {\n\t\tlocale: enUS,\n\t\tdateLocale: dateEnUS,\n\t},\n\tja: {\n\t\tlocale: jaJP,\n\t\tdateLocale: dateJaJP,\n\t},\n\tde: {\n\t\tlocale: deDE,\n\t\tdateLocale: dateDeDE,\n\t},\n}\n\nconst themeRef = computed(() => {\n\tif (theme.value === 'dark') {\n\t\treturn darkTheme\n\t}\n\treturn null\n})\n\nconst locale = computed(() => {\n\tconst langObj = langMap[lang.value as keyof typeof langMap]\n\treturn langObj.locale\n})\n\nconst dateLocale = computed(() => {\n\tconst langObj = langMap[lang.value as keyof typeof langMap]\n\treturn langObj.dateLocale\n})\n\n// const themeOverrides: GlobalThemeOverrides = {\n// \tcommon: {\n// \t\tlineHeight: 'normal',\n// \t\tfontSize: '12px',\n// \t\tfontSizeSmall: '12px',\n// \t\tfontSizeMedium: '12px',\n// \t\tfontSizeLarge: '14px',\n// \t\tborderRadius: '4px',\n// \t\tprimaryColor: getCssVar('--color-primary-1'),\n// \t\tprimaryColorHover: '#1D9534',\n// \t\tsuccessColor: '#20A53A',\n// \t\tsuccessColorHover: '#1D9534',\n// \t\twarningColor: '#F0AD4E',\n// \t\twarningColorHover: '#C6892E',\n// \t\terrorColor: '#ef0808',\n// \t\terrorColorHover: '#C9302C',\n// \t},\n// \tLayout: {\n// \t\tcolor: '#f4f7fa',\n// \t\ttextColor: '#333',\n// \t\theaderColor: 'rgba(244, 247, 250, 0.7)',\n// \t\theaderTextColor: '#5b6b79',\n// \t},\n// \tMenu: {\n// \t\tfontSize: '14px',\n// \t},\n// \tForm: {\n// \t\tfeedbackHeightMedium: '20px',\n// \t\tfeedbackHeightLarge: '22px',\n// \t\tfeedbackFontSizeMedium: '12px',\n// \t\tfeedbackFontSizeLarge: '12px',\n// \t\tfeedbackPadding: '2px 0 0',\n// \t\tlabelFontSizeLeftMedium: '12px',\n// \t\tlabelPaddingHorizontal: '0 20px 0 0',\n// \t\tlabelFontSizeTopMedium: '12px',\n// \t},\n// \tDialog: {\n// \t\tcontentMargin: '16px 0',\n// \t},\n// \tRadio: {\n// \t\tlabelPadding: '0 16px 0 8px',\n// \t\tbuttonColorActive: '#20A53A',\n// \t\tbuttonTextColorActive: '#fff',\n// \t},\n// \tDataTable: {\n// \t\tthPaddingMedium: '10px',\n// \t\ttdPaddingMedium: '10px',\n// \t},\n// \tBreadcrumb: {\n// \t\tfontSize: '14px',\n// \t},\n// }\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/ui/bt-form/index.vue",
    "content": "<template>\n\t<n-form\n\t\tv-bind=\"$attrs\"\n\t\tref=\"formRef\"\n\t\t:model=\"model\"\n\t\t:rules=\"rules\"\n\t\t:label-width=\"labelWidth\"\n\t\t:label-placement=\"labelPlacement\">\n\t\t<slot></slot>\n\t</n-form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormInst, FormRules, LabelPlacement } from 'naive-ui/es/form/src/interface'\n\ninterface Props {\n\tmodel?: Record<string, unknown>\n\trules?: FormRules\n\tlabelWidth?: string | number\n\tlabelPlacement?: LabelPlacement\n}\n\nwithDefaults(defineProps<Props>(), {\n\tlabelPlacement: 'top',\n})\n\nconst formRef = ref<FormInst | null>(null)\n\ndefineExpose({\n\tvalidate: () => {\n\t\treturn formRef.value?.validate()\n\t},\n\trestoreValidation: () => {\n\t\treturn formRef.value?.restoreValidation()\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/ui/bt-modal/index.vue",
    "content": "<template>\n\t<n-modal\n\t\tv-model:show=\"show\"\n\t\tpreset=\"dialog\"\n\t\t:z-index=\"zIndex\"\n\t\t:draggable=\"true\"\n\t\t:auto-focus=\"false\"\n\t\t:show-icon=\"false\"\n\t\t:mask-closable=\"false\"\n\t\t:internal-appear=\"true\"\n\t\t:internal-dialog=\"true\"\n\t\t:transform-origin=\"transformOrigin\"\n\t\t:style=\"{ width: formatLength(width) }\"\n\t\t@after-leave=\"onAfterLeave\">\n\t\t<template #header>{{ title }}</template>\n\t\t<div :style=\"{ maxHeight: maxScrollHeight, overflow: 'auto' }\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t\t<template v-if=\"footer\" #action>\n\t\t\t<div class=\"flex justify-between flex-1\">\n\t\t\t\t<div>\n\t\t\t\t\t<slot name=\"footer-left\"></slot>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"flex gap-12px\">\n\t\t\t\t\t<n-button secondary @click=\"onCancel\">\n\t\t\t\t\t\t{{ $t('common.actions.cancel') }}\n\t\t\t\t\t</n-button>\n\t\t\t\t\t<n-button :type=\"confirmType\" @click=\"onConfirm\">\n\t\t\t\t\t\t{{ confirmText || $t('common.actions.confirm') }}\n\t\t\t\t\t</n-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t</n-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useWindowSize } from '@vueuse/core'\nimport { formatLength } from 'naive-ui/es/_utils'\nimport { Type } from 'naive-ui/es/button/src/interface'\n\nconst props = defineProps({\n\tzIndex: Number,\n\tonAfterLeave: Function as PropType<() => void>,\n\ttitle: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto',\n\t},\n\tminHeight: {\n\t\ttype: [Number, String],\n\t\tdefault: 'auto',\n\t},\n\tfooter: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\ttransformOrigin: {\n\t\ttype: String as PropType<'mouse' | 'center'>,\n\t\tdefault: 'center',\n\t},\n\tconfirmText: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\tconfirmType: {\n\t\ttype: String as PropType<Type>,\n\t\tdefault: 'primary',\n\t},\n\tonCancel: {\n\t\ttype: Function as PropType<() => unknown>,\n\t\tdefault: () => true,\n\t},\n\tonConfirm: {\n\t\ttype: Function as PropType<() => void | boolean | Promise<unknown>>,\n\t\tdefault: () => true,\n\t},\n})\n\nconst show = defineModel<boolean>('show')\n\n// Window height\nconst { height } = useWindowSize()\n\n// Maximum scroll height\nconst maxScrollHeight = computed(() => {\n\tif (height.value) return `${height.value - 32}px`\n\treturn 'auto'\n})\n\nconst closeModal = () => {\n\tshow.value = false\n}\n\nconst onCancel = () => {\n\tconst result = props.onCancel()\n\tif (result === false) return\n\tcloseModal()\n}\n\nconst onConfirm = () => {\n\tvoid Promise.resolve(props.onConfirm()).then(value => {\n\t\tif (value === false) return\n\t\tcloseModal()\n\t})\n}\n\nconst onAfterLeave = () => {\n\tprops.onAfterLeave?.()\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/ui/bt-table-page/index.vue",
    "content": "<template>\n\t<n-pagination\n\t\tv-bind=\"$attrs\"\n\t\tv-model:page=\"page\"\n\t\tv-model:page-size=\"pageSize\"\n\t\t:show-size-picker=\"showSizePicker\"\n\t\t:show-quick-jumper=\"showQuickJumper\"\n\t\t:page-sizes=\"pageSizes\"\n\t\t:display-order=\"['pages', 'size-picker', 'quick-jumper']\"\n\t\t@update:page=\"updatePage\"\n\t\t@update:page-size=\"updatePageSize\">\n\t\t<template v-if=\"showTotal\" #suffix=\"{ itemCount }\">\n\t\t\t<span class=\"ml-8px text-14px\"> Total {{ itemCount }} </span>\n\t\t</template>\n\t</n-pagination>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getNumber, getLocalStorage, setLocalStorage } from '@/utils'\n\ninterface Props {\n\tstoreKey?: string\n\tpageSizes?: number[]\n\tshowTotal?: boolean\n\tshowSizePicker?: boolean\n\tshowQuickJumper?: boolean\n\t// eslint-disable-next-line no-unused-vars\n\tonUpdatePage?: (page: number) => void\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tstoreKey: '',\n\tpageSizes: () => [10, 20, 50, 100],\n\tshowTotal: true,\n\tshowSizePicker: true,\n\tshowQuickJumper: true,\n})\n\nconst emit = defineEmits<{\n\trefresh: []\n}>()\n\nconst key = computed(() => {\n\tconst { storeKey } = props\n\treturn storeKey ? `${storeKey}-page` : ''\n})\n\nconst page = defineModel<number>('page')\n\nconst pageSize = defineModel<number>('pageSize')\n\nconst updatePage = (val: number) => {\n\tprops.onUpdatePage?.(val)\n\temit('refresh')\n}\n\n// Switch page size\nconst updatePageSize = (size: number) => {\n\tpage.value = 1\n\tprops.onUpdatePage?.(1)\n\tsetPageSize(size)\n\temit('refresh')\n}\n\nconst setPageSize = (size: number) => {\n\tif (key.value) {\n\t\tsetLocalStorage(key.value, String(size))\n\t}\n}\n\nconst initPageSize = () => {\n\tif (key.value) {\n\t\tconst size = getLocalStorage(key.value)\n\t\tif (size) {\n\t\t\tpageSize.value = getNumber(size)\n\t\t}\n\t}\n}\n\ninitPageSize()\n</script>\n"
  },
  {
    "path": "core/frontend/src/components/ui/bt-tabs/index.vue",
    "content": "<template>\n\t<n-tabs v-model:value=\"menu\" class=\"bt-tabs h-full\" type=\"card\" placement=\"top\">\n\t\t<slot></slot>\n\t</n-tabs>\n</template>\n\n<script lang=\"ts\" setup>\nconst menu = defineModel<string | number>('value')\n</script>\n\n<style lang=\"scss\" scoped>\n.bt-tabs {\n\t--n-tab-gap: 4px;\n\t--n-tab-text-color-active: var(--color-text-1);\n\t--n-tab-border-color: var(--color-border-1);\n\t--n-tab-padding-vertical: 0 16px;\n\t--n-pane-padding-top: 16px;\n\t--n-pane-padding-left: 0;\n\t--n-pane-padding-right: 0;\n\t--n-pane-padding-bottom: 0;\n\t:deep(> .n-tabs-nav) {\n\t\t.n-tabs-wrapper {\n\t\t\t.n-tabs-tab-wrapper {\n\t\t\t\t.n-tabs-tab {\n\t\t\t\t\theight: 32px;\n\t\t\t\t\tborder-bottom: none;\n\t\t\t\t\tbackground: -webkit-gradient(linear, 0% 0, 0% 100%, from(#f6f6f6), to(#ddd));\n\t\t\t\t\t&--active {\n\t\t\t\t\t\tbackground: #0000;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t:deep(> .n-tab-pane) {\n\t\tflex: 1;\n\t\toverflow: auto;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/components/utils/confirm/interface.ts",
    "content": "import { VNodeChild } from 'vue'\nimport { Type } from 'naive-ui/es/button/src/interface'\n\nexport interface ConfirmOptions {\n\ttitle?: string\n\twidth?: number | string\n\tcontent?: string | (() => VNodeChild)\n\tconfirmText?: string\n\tconfirmType?: Type\n\tonCancel?: () => unknown\n\tonConfirm?: () => void | boolean | Promise<unknown>\n}\n"
  },
  {
    "path": "core/frontend/src/components/utils/confirm/method.tsx",
    "content": "import { createVNode, render } from 'vue'\nimport { render as renderContent } from 'naive-ui/es/_utils'\nimport { app } from '@/index'\nimport type { ConfirmOptions } from './interface'\n\nimport Modal from '@/components/ui/bt-modal/index.vue'\nimport ConfigProvider from '@/components/ui/bt-config-provider/index.vue'\n\n/**\n * @description Command-style call confirm dialog\n * @param options Confirm dialog options\n */\nexport function confirm(options: ConfirmOptions) {\n\tconst container = document.createElement('div')\n\n\tconst removeModalElement = () => {\n\t\trender(null, container)\n\t\tif (container.parentNode) {\n\t\t\tcontainer.parentNode.removeChild(container)\n\t\t}\n\t}\n\n\t// Create virtual node\n\tconst modalNode = createVNode(\n\t\tModal,\n\t\t{\n\t\t\tshow: true,\n\t\t\twidth: options.width || 420,\n\t\t\ttitle: options.title,\n\t\t\tonCancel: options.onCancel,\n\t\t\tonConfirm: options.onConfirm,\n\t\t\tconfirmText: options.confirmText,\n\t\t\tconfirmType: options.confirmType,\n\t\t\tonAfterLeave: () => {\n\t\t\t\tremoveModalElement()\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdefault: () => <div class=\"pt-6px pb-10px text-14px\">{renderContent(options.content)}</div>,\n\t\t}\n\t)\n\n\t// Create configuration provider node\n\tconst configNode = createVNode(\n\t\tConfigProvider,\n\t\t{},\n\t\t{\n\t\t\tdefault: () => [modalNode],\n\t\t}\n\t)\n\n\tconfigNode.appContext = app._context\n\n\t// Render to Modal\n\trender(configNode, container)\n}\n"
  },
  {
    "path": "core/frontend/src/components/utils/message/animation.scss",
    "content": "@keyframes bounce-in {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: scale(0.5);\n\t}\n\t100% {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t}\n}\n\n@keyframes bounce-out {\n\t0% {\n\t\ttransform: scale(1);\n\t}\n\t30% {\n\t\ttransform: scale(1.05);\n\t}\n\t100% {\n\t\topacity: 0;\n\t\ttransform: scale(0.7);\n\t}\n}\n\n.bounce-enter-active {\n\tanimation: bounce-in 0.3s;\n\tanimation-fill-mode: both;\n}\n\n.bounce-leave-active {\n\tanimation-name: bounce-out;\n\tanimation-duration: 0.2s;\n\tanimation-fill-mode: both;\n}\n"
  },
  {
    "path": "core/frontend/src/components/utils/message/index.module.scss",
    "content": ".bt-message {\n\tposition: fixed;\n\tleft: 0;\n\ttop: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tmin-width: 180px;\n\tmax-width: 360px;\n\tmax-height: 700px;\n\tpadding: 16px;\n\tborder: 1px solid var(--color-border-2);\n\tborder-radius: 4px;\n\tbackground-color: var(--color-bg-1);\n\tcolor: var(--color-text-1);\n\topacity: 0;\n}\n"
  },
  {
    "path": "core/frontend/src/components/utils/message/index.tsx",
    "content": "import ResizeObserver from 'resize-observer-polyfill'\nimport { withDirectives } from 'vue'\nimport { NIcon, zindexable } from 'naive-ui'\nimport { formatLength, render } from 'naive-ui/es/_utils'\nimport { NBaseLoading } from 'naive-ui/es/_internal'\nimport { SuccessIcon, ErrorIcon, WarningIcon, InfoIcon } from 'naive-ui/es/_internal/icons'\nimport type { MessageType, RenderContent } from './interface'\nimport styles from './index.module.scss'\n\nimport BtCloseBtn from '../../base/bt-close-btn/index.vue'\n\nexport default defineComponent({\n\tname: 'BtMessage',\n\tprops: {\n\t\ttype: {\n\t\t\ttype: String as PropType<MessageType>,\n\t\t\tdefault: 'info',\n\t\t},\n\t\tcontent: {\n\t\t\ttype: [String, Function] as PropType<RenderContent>,\n\t\t\tdefault: '',\n\t\t},\n\t\tduration: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2500,\n\t\t},\n\t\tclose: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisHtml: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tmaxWidth: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 360,\n\t\t},\n\t\tzIndex: Number,\n\t},\n\temits: ['close'],\n\tsetup(props, { emit }) {\n\t\tconst messageRef = ref<HTMLElement | null>(null)\n\n\t\tconst typeMap = {\n\t\t\tsuccess: {\n\t\t\t\ticon: () => <SuccessIcon></SuccessIcon>,\n\t\t\t\tcolor: '#20a53a',\n\t\t\t},\n\t\t\terror: {\n\t\t\t\ticon: () => <ErrorIcon></ErrorIcon>,\n\t\t\t\tcolor: '#E85445',\n\t\t\t},\n\t\t\twarning: {\n\t\t\t\ticon: () => <WarningIcon></WarningIcon>,\n\t\t\t\tcolor: '#e6a23c',\n\t\t\t},\n\t\t\tinfo: {\n\t\t\t\ticon: () => <InfoIcon></InfoIcon>,\n\t\t\t\tcolor: '#2080F0',\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\ticon: () => <NBaseLoading clsPrefix=\"bt\" strokeWidth={24} scale={0.85}></NBaseLoading>,\n\t\t\t\tcolor: '#20a53a',\n\t\t\t},\n\t\t}\n\n\t\tconst iconInfo = computed(() => {\n\t\t\treturn typeMap[props.type]\n\t\t})\n\n\t\tlet timer = 0\n\n\t\t// Close message box\n\t\tconst handleClose = () => {\n\t\t\temit('close')\n\t\t}\n\n\t\tconst startTimer = () => {\n\t\t\tconst { duration } = props\n\t\t\tif (duration > 0) {\n\t\t\t\ttimer = window.setTimeout(handleClose, duration)\n\t\t\t}\n\t\t}\n\n\t\tconst clearTimer = () => {\n\t\t\tif (timer) {\n\t\t\t\twindow.clearTimeout(timer)\n\t\t\t\ttimer = 0\n\t\t\t}\n\t\t}\n\n\t\t// Set to the center\n\t\tconst setMsgCenter = () => {\n\t\t\tconst dom = messageRef.value\n\t\t\tif (!dom) return\n\n\t\t\tconst bodyDom = window.document.body\n\t\t\tconst left = (bodyDom.clientWidth - dom.clientWidth) / 2\n\t\t\tconst top = (bodyDom.clientHeight - dom.clientHeight) / 2\n\t\t\tdom.style.left = left + 'px'\n\t\t\tdom.style.top = top + 'px'\n\t\t}\n\n\t\tlet first = true\n\n\t\t// Add window change\n\t\tconst robserver = new ResizeObserver(() => {\n\t\t\tif (first) {\n\t\t\t\tfirst = false\n\t\t\t\treturn\n\t\t\t}\n\t\t\tsetMsgCenter()\n\t\t})\n\n\t\t// Show message after centering\n\t\tconst showMsg = () => {\n\t\t\tnextTick(() => {\n\t\t\t\tconst dom = messageRef.value\n\t\t\t\tif (!dom) return\n\t\t\t\tdom.style.opacity = '1'\n\t\t\t})\n\t\t}\n\n\t\tonMounted(() => {\n\t\t\tsetMsgCenter()\n\t\t\tshowMsg()\n\t\t\tstartTimer()\n\t\t\trobserver.observe(window.document.body)\n\t\t})\n\n\t\tonBeforeUnmount(() => {\n\t\t\tclearTimer()\n\t\t\trobserver.disconnect()\n\t\t})\n\n\t\treturn {\n\t\t\ticonInfo,\n\t\t\tmessageRef,\n\t\t\thandleClose,\n\t\t}\n\t},\n\trender() {\n\t\treturn withDirectives(\n\t\t\t<div\n\t\t\t\tref=\"messageRef\"\n\t\t\t\tclass={[styles['bt-message'], `bt-message-${this.type}`]}\n\t\t\t\tstyle={{ maxWidth: formatLength(this.maxWidth) }}>\n\t\t\t\t{this.close && (\n\t\t\t\t\t<BtCloseBtn\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.handleClose()\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<div class=\"flex-basis-30px\">\n\t\t\t\t\t<NIcon size={30} color={this.iconInfo.color}>\n\t\t\t\t\t\t{this.iconInfo.icon()}\n\t\t\t\t\t</NIcon>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"flex-1 ml-10px max-h-600px leading-20px text-14px overflow-auto\">\n\t\t\t\t\t{!this.isHtml && <div>{render(this.content)}</div>}\n\t\t\t\t\t{this.isHtml && <div v-html={this.content}></div>}\n\t\t\t\t</div>\n\t\t\t</div>,\n\t\t\t[[zindexable, { zIndex: this.zIndex, enabled: true }]]\n\t\t)\n\t},\n})\n"
  },
  {
    "path": "core/frontend/src/components/utils/message/interface.ts",
    "content": "import { VNodeChild } from 'vue'\n\nexport type RenderContent = string | (() => VNodeChild)\n\nexport const MESSAGE_TYPES = ['info', 'success', 'warning', 'error', 'loading'] as const\n\nexport const MESSAGE_POSITION = ['center'] as const\n\nexport type MessageType = (typeof MESSAGE_TYPES)[number]\n\nexport type MessagePosition = (typeof MESSAGE_POSITION)[number]\n\nexport type MessageItem = {\n\tid: number | string\n\tcontent: RenderContent\n\ttype?: MessageType\n\tmask?: boolean\n\tclose?: boolean\n\tisHtml?: boolean\n\tduration?: number\n\tmaxWidth?: number | string\n\tonClose?: (id: number | string) => void\n}\n\nexport type MessageMethod = {\n\t// Show information prompt\n\tinfo: (content: RenderContent | MessageConfig, config?: Partial<MessageConfig>) => MessageReturn\n\t// Show success prompt\n\tsuccess: (\n\t\tcontent: RenderContent | MessageConfig,\n\t\tconfig?: Partial<MessageConfig>\n\t) => MessageReturn\n\t// Show warning prompt\n\twarning: (\n\t\tcontent: RenderContent | MessageConfig,\n\t\tconfig?: Partial<MessageConfig>\n\t) => MessageReturn\n\t// Show error prompt\n\terror: (content: RenderContent | MessageConfig, config?: Partial<MessageConfig>) => MessageReturn\n\t// Show loading prompt\n\tloading: (\n\t\tcontent: RenderContent | MessageConfig,\n\t\tconfig?: Partial<MessageConfig>\n\t) => MessageReturn\n\t// Clear all prompts\n\tclear: () => void\n}\n\nexport type MessageReturn = {\n\t// Close the current message\n\tclose: () => void\n}\n\nexport type MessageConfig = {\n\t// Content\n\tcontent: RenderContent\n\t// Unique id\n\tid?: string\n\t// Whether to have a background mask\n\tmask?: boolean\n\t// Whether to close\n\tclose?: boolean\n\t// Message display duration\n\tduration?: number\n\t// Message position\n\tposition?: MessagePosition\n\t// Whether to be html\n\tisHtml?: boolean\n\tmaxWidth?: number | string\n\t// Callback function when closing\n\tonClose?: (id: number | string) => void\n}\n"
  },
  {
    "path": "core/frontend/src/components/utils/message/message-list.tsx",
    "content": "import { TransitionGroup, withDirectives } from 'vue'\nimport { zindexable } from 'naive-ui'\nimport type { MessageItem, MessagePosition, MessageType } from './interface'\n\nimport Message from './index'\nimport './animation.scss'\n\nexport default defineComponent({\n\tname: 'MessageList',\n\tprops: {\n\t\tmessages: {\n\t\t\ttype: Array as PropType<MessageItem[]>,\n\t\t\tdefault: () => [],\n\t\t},\n\t\ttype: {\n\t\t\ttype: String as PropType<MessageType>,\n\t\t\tdefault: 'success',\n\t\t},\n\t\tposition: {\n\t\t\ttype: String as PropType<MessagePosition>,\n\t\t\tdefault: 'center',\n\t\t},\n\t},\n\temits: ['close', 'afterClose'],\n\tsetup() {},\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{this.messages.map(item => {\n\t\t\t\t\tif (!item.mask) return\n\t\t\t\t\treturn withDirectives(<div class=\"n-modal-mask\"></div>, [\n\t\t\t\t\t\t[zindexable, { zIndex: undefined, enabled: true }],\n\t\t\t\t\t])\n\t\t\t\t})}\n\t\t\t\t<TransitionGroup\n\t\t\t\t\tname=\"bounce\"\n\t\t\t\t\tonAfterLeave={() => {\n\t\t\t\t\t\tthis.$emit('afterClose')\n\t\t\t\t\t}}>\n\t\t\t\t\t{this.messages.map(item => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Message\n\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\ttype={item.type}\n\t\t\t\t\t\t\t\tclose={item.close}\n\t\t\t\t\t\t\t\tisHtml={item.isHtml}\n\t\t\t\t\t\t\t\tcontent={item.content}\n\t\t\t\t\t\t\t\tduration={item.duration}\n\t\t\t\t\t\t\t\tmaxWidth={item.maxWidth}\n\t\t\t\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\t\t\t\tthis.$emit('close', item.id)\n\t\t\t\t\t\t\t\t}}\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</TransitionGroup>\n\t\t\t</>\n\t\t)\n\t},\n})\n"
  },
  {
    "path": "core/frontend/src/components/utils/message/method.ts",
    "content": "import { createVNode, render } from 'vue'\nimport { isFunction, isString, isUndefined } from '@/utils'\nimport {\n\tMESSAGE_TYPES,\n\tMessageType,\n\tMessageItem,\n\tMessageConfig,\n\tMessageMethod,\n\tMessagePosition,\n} from './interface'\nimport MessageList from './message-list'\n\ntype _MessageConfig = MessageConfig & {\n\ttype: MessageType\n}\n\nclass MessageManger {\n\tprivate readonly messageIds: Set<number | string>\n\n\tprivate readonly messages: Ref<MessageItem[]>\n\n\tprivate readonly position: MessagePosition\n\n\tprivate container: HTMLElement | null\n\n\tprivate messageCount = 0\n\n\tconstructor(config: _MessageConfig) {\n\t\tconst { position = 'center' } = config\n\t\tconst container = document.createElement('div')\n\t\tcontainer.classList.add('bt-message-container')\n\n\t\tthis.container = container\n\t\tthis.messages = ref([])\n\t\tthis.messageIds = new Set()\n\t\tthis.position = position\n\n\t\tconst vm = createVNode(MessageList, {\n\t\t\tposition,\n\t\t\tmessages: this.messages.value,\n\t\t\ttype: config.type,\n\t\t\tonClose: this.remove,\n\t\t\tonAfterClose: this.destroy,\n\t\t})\n\n\t\trender(vm, this.container)\n\t\tdocument.body.appendChild(this.container)\n\t}\n\n\tadd = (config: MessageConfig) => {\n\t\tthis.messageCount++\n\t\tconst id = config.id ?? `__bt_message_${this.messageCount}`\n\t\tif (this.messageIds.has(id)) {\n\t\t\treturn this.update(id, config)\n\t\t}\n\t\tconst message = reactive<MessageItem>({ id, ...config })\n\t\tthis.messages.value.push(message)\n\t\tthis.messageIds.add(id)\n\t\treturn {\n\t\t\tclose: () => this.remove(id),\n\t\t}\n\t}\n\n\tupdate = (id: number | string, config: MessageConfig) => {\n\t\tfor (let i = 0; i < this.messages.value.length; i++) {\n\t\t\tif (this.messages.value[i].id === id) {\n\t\t\t\tconst resetOnUpdate = !isUndefined(config.duration)\n\t\t\t\tObject.assign(this.messages.value[i], { ...config, id, resetOnUpdate })\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tclose: () => this.remove(id),\n\t\t}\n\t}\n\n\tremove = (id: number | string) => {\n\t\tfor (let i = 0; i < this.messages.value.length; i++) {\n\t\t\tconst item = this.messages.value[i]\n\t\t\tif (item.id === id) {\n\t\t\t\tif (isFunction(item.onClose)) {\n\t\t\t\t\titem.onClose(id)\n\t\t\t\t}\n\n\t\t\t\tthis.messages.value.splice(i, 1)\n\t\t\t\tthis.messageIds.delete(id)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\tclear = () => {\n\t\tthis.messages.value.splice(0)\n\t}\n\n\tdestroy = () => {\n\t\tif (this.messages.value.length === 0 && this.container) {\n\t\t\trender(null, this.container)\n\t\t\tdocument.body.removeChild(this.container)\n\t\t\tthis.container = null\n\t\t\tmessageInstance[this.position] = undefined\n\t\t}\n\t}\n}\n\nconst messageInstance: { center?: MessageManger } = {}\n\nexport const Message = MESSAGE_TYPES.reduce((pre, value) => {\n\tpre[value] = (content, config) => {\n\t\tif (isString(content) || isFunction(content)) {\n\t\t\tif (config) {\n\t\t\t\tconfig.content = content\n\t\t\t} else {\n\t\t\t\tconfig = { content }\n\t\t\t}\n\t\t} else {\n\t\t\tconfig = { ...content }\n\t\t}\n\n\t\tif (value === 'loading') {\n\t\t\tconfig.mask = config.mask !== undefined ? config.mask : true\n\t\t\tconfig.duration = config.duration ? config.duration : 0\n\t\t} else if (config.close) {\n\t\t\tconfig.mask = config.mask !== undefined ? config.mask : true\n\t\t\tconfig.duration = config.duration ? config.duration : 0\n\t\t}\n\n\t\tconst _config = { type: value, ...config } as _MessageConfig\n\t\tconst { position = 'center' } = _config\n\t\tif (!messageInstance[position]) {\n\t\t\tmessageInstance[position] = new MessageManger(_config)\n\t\t}\n\t\treturn messageInstance[position].add(_config)\n\t}\n\treturn pre\n}, {} as MessageMethod)\n\nMessage.clear = (position?: MessagePosition) => {\n\tif (position) {\n\t\tmessageInstance[position]?.clear()\n\t} else {\n\t\tObject.values(messageInstance).forEach(item => item?.clear())\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/config/loadingBar.ts",
    "content": "import { createDiscreteApi } from 'naive-ui'\n\nconst { loadingBar } = createDiscreteApi(['loadingBar'], {\n\tconfigProviderProps: {\n\t\tthemeOverrides: {\n\t\t\tLoadingBar: {\n\t\t\t\tcolorLoading: '#20a53a',\n\t\t\t\tcolorError: '#ef0808',\n\t\t\t},\n\t\t},\n\t},\n})\n\nexport default loadingBar\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/Button.vue",
    "content": "<template>\n\t<Collapse :default-expanded-names=\"['1', '2', '3']\">\n\t\t<n-collapse-item title=\"Action\" name=\"1\">\n\t\t\t<div class=\"pb-10px\">\n\t\t\t\t<ActionForm v-model:value=\"attr\"></ActionForm>\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Button Options\" name=\"2\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<ButtonOptionsForm v-model:value=\"blockStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Container\" name=\"3\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<ContainerForm v-model:value=\"containerStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t</Collapse>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useSetData } from '../../hooks/useSetData'\nimport { useNormalForm } from '../style/useNormalForm'\n\nimport Collapse from '../shared/Collapse.vue'\nimport BtnLink from '../style/Link.vue'\n\nconst { selectedBlockKey, blockConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst attr = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].attr\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].attr = newVal\n\t},\n})\n\nconst blockStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].style\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].style = newVal\n\t},\n})\n\nconst containerStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].containerStyle\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].containerStyle = newVal\n\t},\n})\n\nwatch(\n\t() => [attr.value, blockStyle.value, containerStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [ActionForm] = useNormalForm([\n\t{\n\t\tattrKey: 'custom',\n\t\trender: () => <BtnLink v-model:value={attr.value!.href} v-model:target={attr.value!.target} />,\n\t},\n])\n\nconst [ButtonOptionsForm] = useNormalForm([\n\t{\n\t\tattrKey: 'backgroundColor',\n\t\tlabel: 'Background Color',\n\t},\n\t{\n\t\tattrKey: 'color',\n\t\tlabel: 'Text Color',\n\t},\n\t{\n\t\tattrKey: 'widthAuto',\n\t\tkey: 'width',\n\t\tlabel: 'Width',\n\t},\n\t{\n\t\tattrKey: 'fontWeight',\n\t},\n\t{\n\t\tattrKey: 'fontSize',\n\t},\n\t{\n\t\tattrKey: 'lineHeight',\n\t},\n\t{\n\t\tattrKey: 'letterSpacing',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n\t{\n\t\tattrKey: 'border',\n\t},\n\t{\n\t\tattrKey: 'borderRadius',\n\t},\n])\n\nconst [ContainerForm] = useNormalForm([\n\t{\n\t\tattrKey: 'textAlign',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/Columns.vue",
    "content": "<template>\n\t<Collapse :default-expanded-names=\"['1', '2', '3']\">\n\t\t<n-collapse-item title=\"Columns\" name=\"1\">\n\t\t\t<ColumnsPanel />\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Column Properties\" name=\"2\">\n\t\t\t<ColumnPropertiesPanel />\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Row Properties\" name=\"3\">\n\t\t\t<RowPropertiesPanel />\n\t\t</n-collapse-item>\n\t</Collapse>\n</template>\n\n<script lang=\"ts\" setup>\nimport Collapse from '../shared/Collapse.vue'\nimport ColumnsPanel from './columns/ColumnsPanel.vue'\nimport ColumnPropertiesPanel from './columns/ColumnPropertiesPanel.vue'\nimport RowPropertiesPanel from './columns/RowPropertiesPanel.vue'\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/Divider.vue",
    "content": "<template>\n\t<Collapse :default-expanded-names=\"['1', '2']\">\n\t\t<n-collapse-item title=\"Line\" name=\"1\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<LineForm v-model:value=\"blockStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Container\" name=\"2\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<ContainerForm v-model:value=\"containerStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t</Collapse>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useSetData } from '../../hooks/useSetData'\nimport { useNormalForm } from '../style/useNormalForm'\n\nimport Collapse from '../shared/Collapse.vue'\n\nconst { selectedBlockKey, blockConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst blockStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].style\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].style = newVal\n\t},\n})\n\nconst containerStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].containerStyle\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].containerStyle = newVal\n\t},\n})\n\nwatch(\n\t() => [blockStyle.value, containerStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [LineForm] = useNormalForm([\n\t{\n\t\tattrKey: 'width',\n\t},\n\t{\n\t\tattrKey: 'borderTop',\n\t},\n])\n\nconst [ContainerForm] = useNormalForm([\n\t{\n\t\tattrKey: 'textAlign',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/Header.vue",
    "content": "<template>\n\t<Collapse :default-expanded-names=\"['1', '2']\">\n\t\t<n-collapse-item title=\"Header\" name=\"1\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<HeaderForm v-model:value=\"blockStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Container\" name=\"2\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<ContainerForm v-model:value=\"containerStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t</Collapse>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useSetData } from '../../hooks/useSetData'\nimport { useNormalForm } from '../style/useNormalForm'\n\nimport Collapse from '../shared/Collapse.vue'\n\nconst { selectedBlockKey, blockConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst attr = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].attr\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].attr = newVal\n\t},\n})\n\nconst blockStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].style\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].style = newVal\n\t},\n})\n\nconst containerStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].containerStyle\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].containerStyle = newVal\n\t},\n})\n\nwatch(\n\t() => [attr.value, blockStyle.value, containerStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [HeaderForm] = useNormalForm([\n\t{\n\t\tattrKey: 'head',\n\t\tkey: 'fontSize',\n\t},\n\t{\n\t\tattrKey: 'fontWeight',\n\t},\n\t{\n\t\tattrKey: 'fontSize',\n\t},\n\t{\n\t\tattrKey: 'color',\n\t\tlabel: 'Text Color',\n\t},\n\t{\n\t\tattrKey: 'lineHeight',\n\t},\n\t{\n\t\tattrKey: 'letterSpacing',\n\t},\n])\n\nconst [ContainerForm] = useNormalForm([\n\t{\n\t\tattrKey: 'textAlign',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/Image.vue",
    "content": "<template>\n\t<Collapse :default-expanded-names=\"['1', '2', '3']\">\n\t\t<n-collapse-item title=\"Image\" name=\"1\">\n\t\t\t<div class=\"pb-10px\">\n\t\t\t\t<ImageForm v-model:value=\"blockStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Action\" name=\"2\">\n\t\t\t<div class=\"pb-10px\">\n\t\t\t\t<ActionForm v-model:value=\"blockStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Container\" name=\"3\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<ContainerForm v-model:value=\"containerStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t</Collapse>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useSetData } from '../../hooks/useSetData'\nimport { useNormalForm } from '../style/useNormalForm'\n\nimport Collapse from '../shared/Collapse.vue'\nimport ImageUrl from '../style/Image.vue'\nimport ImageLink from '../style/Link.vue'\nimport ImageTitle from '../style/Title.vue'\n\nconst { selectedBlockKey, blockConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst attr = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].attr\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].attr = newVal\n\t},\n})\n\nconst blockStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].style\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].style = newVal\n\t},\n})\n\nconst containerStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].containerStyle\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].containerStyle = newVal\n\t},\n})\n\nwatch(\n\t() => [attr.value, blockStyle.value, containerStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [ImageForm] = useNormalForm([\n\t{\n\t\tattrKey: 'custom',\n\t\trender: () => <ImageUrl v-model:value={attr.value.src} />,\n\t},\n\t{\n\t\tattrKey: 'widthAuto',\n\t\tkey: 'width',\n\t},\n\t{\n\t\tattrKey: 'custom',\n\t\trender: () => <ImageTitle v-model:value={attr.value.alt} />,\n\t},\n])\n\nconst [ActionForm] = useNormalForm([\n\t{\n\t\tattrKey: 'custom',\n\t\trender: () => <ImageLink v-model:value={attr.value.href} v-model:target={attr.value.target} />,\n\t},\n])\n\nconst [ContainerForm] = useNormalForm([\n\t{\n\t\tattrKey: 'textAlign',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/Link.vue",
    "content": "<template>\n\t<Collapse :default-expanded-names=\"['1', '2', '3']\">\n\t\t<n-collapse-item title=\"Action\" name=\"1\">\n\t\t\t<div class=\"pb-10px\">\n\t\t\t\t<ActionForm></ActionForm>\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Link Options\" name=\"2\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<LinkOptionsForm v-model:value=\"blockStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Container\" name=\"3\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<ContainerForm v-model:value=\"containerStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t</Collapse>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useSetData } from '../../hooks/useSetData'\nimport { useNormalForm } from '../style/useNormalForm'\n\nimport Collapse from '../shared/Collapse.vue'\nimport BtnLink from '../style/Link.vue'\n\nconst { selectedBlockKey, blockConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst attr = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].attr\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].attr = newVal\n\t},\n})\n\nconst blockStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].style\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].style = newVal\n\t},\n})\n\nconst containerStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].containerStyle\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].containerStyle = newVal\n\t},\n})\n\nwatch(\n\t() => [attr.value, blockStyle.value, containerStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [ActionForm] = useNormalForm([\n\t{\n\t\tattrKey: 'custom',\n\t\trender: () => <BtnLink v-model:value={attr.value!.href} v-model:target={attr.value!.target} />,\n\t},\n])\n\nconst [LinkOptionsForm] = useNormalForm([\n\t{\n\t\tattrKey: 'color',\n\t\tlabel: 'Text Color',\n\t},\n\t{\n\t\tattrKey: 'fontWeight',\n\t},\n\t{\n\t\tattrKey: 'fontSize',\n\t},\n\t{\n\t\tattrKey: 'lineHeight',\n\t},\n\t{\n\t\tattrKey: 'letterSpacing',\n\t},\n])\n\nconst [ContainerForm] = useNormalForm([\n\t{\n\t\tattrKey: 'textAlign',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/Menu.vue",
    "content": "<template>\n\t<Collapse :default-expanded-names=\"['1', '2', '3']\">\n\t\t<n-collapse-item title=\"Menu Items\" name=\"1\">\n\t\t\t<MenuList></MenuList>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Style\" name=\"2\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<StyleForm v-model:value=\"blockStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Container\" name=\"3\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<ContainerForm v-model:value=\"containerStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t</Collapse>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useSetData } from '../../hooks/useSetData'\nimport { useNormalForm } from '../style/useNormalForm'\n\nimport Collapse from '../shared/Collapse.vue'\nimport MenuList from './menu/List.vue'\n\nconst { selectedBlockKey, blockConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst blockStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].style\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].style = newVal\n\t},\n})\n\nconst containerStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].containerStyle\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].containerStyle = newVal\n\t},\n})\n\nwatch(\n\t() => [blockStyle.value, containerStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [StyleForm] = useNormalForm([\n\t{\n\t\tattrKey: 'fontWeight',\n\t},\n\t{\n\t\tattrKey: 'fontSize',\n\t},\n\t{\n\t\tattrKey: 'letterSpacing',\n\t},\n\t{\n\t\tattrKey: 'color',\n\t\tlabel: 'Text Color',\n\t},\n\t{\n\t\tattrKey: 'layout',\n\t\tkey: 'display',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n])\n\nconst [ContainerForm] = useNormalForm([\n\t{\n\t\tattrKey: 'textAlign',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/None.vue",
    "content": "<template>\n\t<div class=\"h-full pb-100px flex items-center justify-center\">\n\t\t<n-empty size=\"large\" description=\"Please select a component\"></n-empty>\n\t</div>\n</template>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/Text.vue",
    "content": "<template>\n\t<Collapse :default-expanded-names=\"['1', '2']\">\n\t\t<n-collapse-item title=\"Text\" name=\"1\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<TextForm v-model:value=\"blockStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t\t<n-collapse-item title=\"Container\" name=\"2\">\n\t\t\t<div class=\"py-8px\">\n\t\t\t\t<ContainerForm v-model:value=\"containerStyle\" />\n\t\t\t</div>\n\t\t</n-collapse-item>\n\t</Collapse>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useNormalForm } from '../style/useNormalForm'\nimport { useSetData } from '../../hooks/useSetData'\n\nimport Collapse from '../shared/Collapse.vue'\n\nconst { selectedBlockKey, blockConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst attr = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].attr\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].attr = newVal\n\t},\n})\n\nconst blockStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].style\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].style = newVal\n\t},\n})\n\nconst containerStyle = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].containerStyle\n\t},\n\tset(newVal) {\n\t\tblockConfigMap.value[selectedBlockKey.value].containerStyle = newVal\n\t},\n})\n\nwatch(\n\t() => [attr.value, blockStyle.value, containerStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [TextForm] = useNormalForm([\n\t{\n\t\tattrKey: 'fontWeight',\n\t},\n\t{\n\t\tattrKey: 'fontSize',\n\t},\n\t{\n\t\tattrKey: 'color',\n\t\tlabel: 'Text Color',\n\t},\n\t{\n\t\tattrKey: 'lineHeight',\n\t},\n\t{\n\t\tattrKey: 'letterSpacing',\n\t},\n])\n\nconst [ContainerForm] = useNormalForm([\n\t{\n\t\tattrKey: 'textAlign',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/columns/ColumnPropertiesPanel.vue",
    "content": "<template>\n\t<div>\n\t\t<div class=\"mb-8px\">\n\t\t\t<n-button @click=\"addCell\"> Add </n-button>\n\t\t\t<n-button class=\"ml-10px\" :disabled=\"cells.length <= 1\" @click=\"delCell\">Delete</n-button>\n\t\t</div>\n\t\t<n-tabs ref=\"tabsRef\" v-model:value=\"activeCellIndex\" class=\"mb-8px\" type=\"line\">\n\t\t\t<n-tab-pane\n\t\t\t\tv-for=\"(cell, index) in cells\"\n\t\t\t\t:key=\"cell.key\"\n\t\t\t\t:name=\"index\"\n\t\t\t\t:tab=\"`Column ${index + 1}`\">\n\t\t\t</n-tab-pane>\n\t\t</n-tabs>\n\t\t<div class=\"py-16px\">\n\t\t\t<style-form v-if=\"currentCellKey\" v-model:value=\"currentCellStyle\"> </style-form>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../../hooks/useConfig'\nimport { useSetData } from '../../../hooks/useSetData'\nimport { useNormalForm } from '../../style/useNormalForm'\n\nconst {\n\tselectedBlockKey,\n\tcolumnsMap,\n\tcellMap,\n\tcellConfigMap,\n\tapplyNewWidthColumnsInCell,\n\tdelColumnsInCell,\n} = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst tabsRef = useTemplateRef('tabsRef')\n\nconst columnsConfig = computed(() => {\n\treturn columnsMap.value[selectedBlockKey.value]\n})\n\nconst cells = computed(() => {\n\treturn columnsConfig.value.children.map(key => {\n\t\treturn cellMap.value[key]\n\t})\n})\n\nconst activeCellIndex = ref(0)\n\nconst addCell = () => {\n\t// 收集所有的cell宽度\n\tconst cellWidths: number[] = []\n\tcells.value.forEach(cell => {\n\t\tcellWidths.push(cell.width)\n\t})\n\n\tconst targetTotal = 100 // 目标总和\n\tconst newValue = Math.floor(targetTotal / (cellWidths.length + 1)) // 新项占总和的三分之一\n\t// 计算当前总和\n\tconst currentTotal = cellWidths.reduce((sum, num) => sum + num, 0)\n\t// 计算需要调整的总和\n\tconst totalAfterAddition = currentTotal + newValue\n\tconst adjustment = targetTotal - totalAfterAddition\n\t// 计算比例因子\n\tconst factor = adjustment / currentTotal\n\t// 添加新项\n\tcellWidths.push(newValue)\n\t// 按比例调整元素\n\tfor (let i = 0; i < cellWidths.length - 1; i++) {\n\t\tcellWidths[i] = Math.floor(cellWidths[i] + cellWidths[i] * factor) // 调整每个元素\n\t}\n\n\t// 应用新的宽度到当前cell\n\tapplyNewWidthColumnsInCell(selectedBlockKey.value, cellWidths)\n\n\t// 更新当前激活的cell\n\tactiveCellIndex.value = cellWidths.length - 1\n\tnextTick(() => {\n\t\ttabsRef.value?.syncBarPosition()\n\t})\n}\n\nconst delCell = () => {\n\tif (cells.value.length <= 1) return\n\n\t// 先收集所有cell的宽度集合（此处需要形成map结构，这样才能精准找到应该删除哪一个cell）\n\tconst cellWidthMap: Record<string, number> = cells.value.reduce((p, v) => {\n\t\tconst cellWidth = v.width\n\t\treturn { ...p, [v.key]: cellWidth }\n\t}, {})\n\n\tconst delCell = cells.value[activeCellIndex.value]\n\t// 根据cellKey删除map中对应的宽度\n\tdelete cellWidthMap[delCell.key]\n\t// 得到新的宽度集合\n\tlet widths = Object.values(cellWidthMap)\n\t// 目标总和\n\tconst targetTotal = 100\n\t// 计算当前总和\n\tconst currentTotal = widths.reduce((sum, num) => sum + num, 0)\n\t// 计算需要增加的值\n\tconst adjustment = targetTotal - currentTotal\n\t// 计算比例因子\n\tconst factor = adjustment / currentTotal\n\t// 按比例调整剩余项\n\twidths = widths.map(num => Math.floor(num * (1 + factor)))\n\t// 确保总和为 100\n\tconst finalTotal = widths.reduce((sum, num) => sum + num, 0)\n\tconst totalAdjustment = targetTotal - finalTotal\n\t// 如果有误差，均匀调整最后一项\n\tif (totalAdjustment !== 0) {\n\t\twidths[widths.length - 1] += totalAdjustment\n\t}\n\n\tdelColumnsInCell(selectedBlockKey.value, delCell.key)\n\tapplyNewWidthColumnsInCell(selectedBlockKey.value, widths)\n\n\t// 更新当前激活的cell\n\tif (activeCellIndex.value >= widths.length) {\n\t\tactiveCellIndex.value = widths.length - 1\n\t}\n\tnextTick(() => {\n\t\ttabsRef.value?.syncBarPosition()\n\t})\n}\n\nconst currentCellKey = computed(() => {\n\treturn cells.value[activeCellIndex.value]?.key || ''\n})\n\nconst currentCellStyle = computed({\n\tget() {\n\t\treturn cellConfigMap.value[currentCellKey.value].style\n\t},\n\tset(newVal) {\n\t\tcellConfigMap.value[currentCellKey.value].style = newVal\n\t},\n})\n\nwatch(\n\t() => [currentCellStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [StyleForm] = useNormalForm([\n\t{\n\t\tattrKey: 'backgroundColor',\n\t\tlabel: 'Background Color',\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t\tlabel: 'Padding',\n\t},\n\t{\n\t\tattrKey: 'border',\n\t\tlabel: 'Border',\n\t},\n])\n</script>\n\n<style lang=\"scss\" scoped>\n.n-tabs {\n\t--n-tab-padding: 13px 16px 11px;\n\t--n-tab-gap: 0;\n\t--n-pane-padding-top: 0;\n\t--n-tab-font-size: 12px;\n}\n\n.n-tab-pane {\n\tflex: 1;\n\toverflow: auto;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/columns/ColumnsPanel.vue",
    "content": "<template>\n\t<div class=\"columns-panel\">\n\t\t<div class=\"layout-grid\">\n\t\t\t<div v-for=\"layout in layouts\" :key=\"layout.type\" class=\"layout-option\"\n\t\t\t\t:class=\"{ active: selectedLayout === layout.type }\" @click=\"selectLayout(layout.type)\">\n\t\t\t\t<div class=\"layout-preview\">\n\t\t\t\t\t<div v-for=\"(column, index) in layout.columns\" :key=\"index\" class=\"column\" :style=\"{ width: column + '%' }\">\n\t\t\t\t\t\t<span class=\"text\">{{ column }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"!isStandardLayout\" class=\"layout-option active mt-16px\">\n\t\t\t<div class=\"layout-preview\">\n\t\t\t\t<div v-for=\"(width, index) in getColumnWidths\" :key=\"index\" class=\"column\" :style=\"{ width: width + '%' }\">\n\t\t\t\t\t<span class=\"text\">{{ width }}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../../hooks/useConfig'\nimport { useSetData } from '../../../hooks/useSetData'\n\nconst { columnsMap, cellMap, selectedBlockKey, generateNewCell } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst columnsConfig = computed(() => {\n\treturn columnsMap.value[selectedBlockKey.value]\n})\n\n// 定义布局类型\ntype LayoutType =\n\t| 'single'\n\t| 'two-equal'\n\t| 'three-equal'\n\t| 'two-left-small'\n\t| 'two-right-small'\n\t| 'four-equal'\n\t| 'four-left-small'\n\t| 'four-right-small'\n\n// 定义布局配置\ninterface LayoutConfig {\n\ttype: LayoutType\n\tcolumns: number[]\n}\n\n\n\n// 布局配置数据\nconst layouts: LayoutConfig[] = [\n\t{ type: 'single', columns: [100] },\n\t{ type: 'two-equal', columns: [50, 50] },\n\t{ type: 'three-equal', columns: [33, 33, 33] },\n\t{ type: 'four-equal', columns: [25, 25, 25, 25] },\n\t{ type: 'two-left-small', columns: [33, 67] },\n\t{ type: 'two-right-small', columns: [67, 33] },\n\t{ type: 'four-left-small', columns: [17, 33, 17, 33] },\n\t{ type: 'four-right-small', columns: [33, 17, 33, 17] },\n]\n\n// 创建布局类型到列宽的映射，提高查找效率\nconst layoutMap = new Map<LayoutType, number[]>(\n\tlayouts.map(layout => [layout.type, layout.columns])\n)\n\n// 用于存储用户手动选择的布局\nconst userSelectedLayout = ref<LayoutType | null>(null)\n\n// 获取列宽数组 - 添加缓存提高性能\nconst getColumnWidths = computed(() => {\n\tconst children = columnsConfig.value?.children\n\tif (!children?.length) return []\n\treturn children.map(cellKey => cellMap.value[cellKey].width || 0)\n})\n\n// 根据列宽数组找到匹配的布局 - 优化查找算法\nconst autoDetectedLayout = computed(() => {\n\tconst widths = getColumnWidths.value\n\tif (!widths.length) return ''\n\n\t// 使用for循环替代find，一旦找到匹配就立即返回，避免不必要的迭代\n\tfor (let i = 0; i < layouts.length; i++) {\n\t\tconst layout = layouts[i]\n\t\tif (layout.columns.length !== widths.length) continue\n\n\t\tlet isMatch = true\n\t\tfor (let j = 0; j < widths.length; j++) {\n\t\t\tif (Math.abs(widths[j] - layout.columns[j]) > 3) {\n\t\t\t\tisMatch = false\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (isMatch) return layout.type\n\t}\n\n\treturn ''\n})\n\n// 检查当前布局是否为标准预定义布局\nconst isStandardLayout = computed((): boolean => {\n\treturn (\n\t\tgetColumnWidths.value.length > 0 &&\n\t\tlayouts.some(layout => {\n\t\t\tif (layout.columns.length !== getColumnWidths.value.length) return false\n\n\t\t\t// 检查每列宽度是否匹配（允许小误差）\n\t\t\treturn layout.columns.every((col, idx) => Math.abs(col - getColumnWidths.value[idx]) <= 1)\n\t\t})\n\t)\n})\n\n// 最终使用的布局\nconst selectedLayout = computed(() => {\n\t// 只有当检测到标准布局时，才返回布局类型\n\treturn isStandardLayout.value ? autoDetectedLayout.value : ''\n})\n\n// 根据布局类型获取对应的列宽数组 - 使用Map优化查找\nconst getLayoutColumns = (layoutType: LayoutType): number[] => {\n\treturn layoutMap.get(layoutType) || [100]\n}\n\n// 选择布局并更新 columnsConfig 中的 children\nconst selectLayout = (layout: LayoutType) => {\n\t// 更新选中的布局\n\tuserSelectedLayout.value = layout\n\n\t// 如果 columnsConfig 不存在，直接返回\n\tif (!columnsConfig.value) return\n\n\t// 获取选中布局的列宽数组\n\tconst columns = getLayoutColumns(layout)\n\tconst currentChildren = columnsConfig.value.children || []\n\n\t// 预先计算需要创建多少新cell\n\tconst newCellsCount = Math.max(0, columns.length - currentChildren.length)\n\tconst newCells =\n\t\tnewCellsCount > 0\n\t\t\t? Array.from({ length: newCellsCount }, () => {\n\t\t\t\treturn generateNewCell()\n\t\t\t})\n\t\t\t: []\n\n\t// 创建新的 children 数组，复用现有对象减少GC压力\n\tconst newChildren = columns.map((width, index) => {\n\t\tif (index < currentChildren.length) {\n\t\t\t// 直接修改原对象属性而不是创建新对象\n\t\t\tcellMap.value[currentChildren[index]].width = width\n\t\t\treturn currentChildren[index]\n\t\t}\n\t\t// 使用预先创建的新cell\n\t\tconst newCell = newCells[index - currentChildren.length]\n\t\tnewCell.width = width\n\t\treturn newCell.key\n\t})\n\n\t// 批量更新，减少响应式更新次数\n\tif (selectedBlockKey.value) {\n\t\tcolumnsMap.value[selectedBlockKey.value].children = newChildren\n\t}\n\n\tautoSaveFn()\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.layout-grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgap: 16px;\n}\n\n.layout-option {\n\tborder: 1px solid #e0e0e0;\n\tborder-radius: 4px;\n\tcursor: pointer;\n\tbackground-color: #f4f4f4;\n\n\t&:hover,\n\t&.active {\n\t\tborder-color: #333;\n\t\tbackground-color: #fff;\n\n\t\t.column {\n\t\t\tborder-left-color: #333;\n\n\t\t\t.text {\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.layout-preview {\n\tdisplay: flex;\n\twidth: 100%;\n\theight: 36px;\n\tborder-radius: 4px;\n\toverflow: hidden;\n}\n\n.column {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 12px;\n\tcolor: #666;\n\n\t&+.column {\n\t\tborder-left: 1px solid #e0e0e0;\n\t}\n\n\t.text {\n\t\tvisibility: hidden;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/columns/RowPropertiesPanel.vue",
    "content": "<template>\n\t<div class=\"py-8px\">\n\t\t<style-form v-model:value=\"columnsStyle\"> </style-form>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useConfig } from '../../../hooks/useConfig'\nimport { useSetData } from '../../../hooks/useSetData'\nimport { useNormalForm } from '../../style/useNormalForm'\n\nimport Color from '../../style/Color.vue'\n\nconst { selectedBlockKey, columnsConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst columnsStyle = computed({\n\tget() {\n\t\treturn columnsConfigMap.value[selectedBlockKey.value].style\n\t},\n\tset(newVal) {\n\t\tcolumnsConfigMap.value[selectedBlockKey.value].style = newVal\n\t},\n})\n\nconst containerStyle = computed({\n\tget() {\n\t\treturn columnsConfigMap.value[selectedBlockKey.value].containerStyle\n\t},\n\tset(newVal) {\n\t\tcolumnsConfigMap.value[selectedBlockKey.value].containerStyle = newVal\n\t},\n})\n\nwatch(\n\t() => [columnsStyle.value, containerStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [StyleForm] = useNormalForm([\n\t{\n\t\tattrKey: 'backgroundColor',\n\t\tlabel: 'Background Color',\n\t},\n\t{\n\t\tattrKey: 'custom',\n\t\trender: () => {\n\t\t\treturn (\n\t\t\t\t<Color\n\t\t\t\t\tlabel=\"Content Background Color\"\n\t\t\t\t\tvalue={containerStyle.value.backgroundColor}\n\t\t\t\t\tonUpdate:value={val => {\n\t\t\t\t\t\tcontainerStyle.value.backgroundColor = val\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tattrKey: 'padding',\n\t\tlabel: 'Padding',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/menu/Item.vue",
    "content": "<template>\n\t<li :ref=\"setDrop\" class=\"link-items\" :style=\"{ opacity }\">\n\t\t<div class=\"flex-1\">\n\t\t\t<n-input v-model:value=\"label\"></n-input>\n\t\t</div>\n\t\t<div class=\"flex-1\">\n\t\t\t<n-input v-model:value=\"href\"></n-input>\n\t\t</div>\n\t\t<div class=\"w-auto cursor-pointer\" @click=\"onDel\">\n\t\t\t<i class=\"i-mdi:delete-outline text-16px\"></i>\n\t\t</div>\n\t\t<div :ref=\"drag\" class=\"w-auto cursor-grab\">\n\t\t\t<i class=\"i-mdi:format-list-bulleted text-16px\"></i>\n\t\t</div>\n\t</li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useDrag, useDrop } from 'vue3-dnd'\nimport { MoveLinkFunc, FindLinkFunc } from '../../../types/base'\n\nconst { menuId, menuIndex, moveLink, findLink } = defineProps({\n\tmenuId: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tmenuIndex: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n\tmoveLink: {\n\t\ttype: Function as PropType<MoveLinkFunc>,\n\t\trequired: true,\n\t},\n\tfindLink: {\n\t\ttype: Function as PropType<FindLinkFunc>,\n\t\trequired: true,\n\t},\n})\n\nconst emit = defineEmits<{\n\tdel: []\n}>()\n\nconst label = defineModel<string>('label')\n\nconst href = defineModel<string>('href')\n\nconst onDel = () => {\n\temit('del')\n}\n\nconst [collect, drag, preview] = useDrag({\n\ttype: 'MenuLink',\n\titem: () => ({ id: menuId, index: menuIndex }),\n\tcollect: monitor => ({\n\t\tisDragging: monitor.isDragging(),\n\t}),\n\tend: (item, monitor) => {\n\t\tconst { id, index } = item\n\t\tconst didDrop = monitor.didDrop()\n\t\tif (!didDrop) {\n\t\t\tmoveLink(id, index)\n\t\t}\n\t},\n})\n\nconst [, drop] = useDrop(() => ({\n\taccept: 'MenuLink',\n\thover({ id: draggedId }: { id: string }) {\n\t\tif (draggedId !== menuId) {\n\t\t\tconst { index: overIndex } = findLink(menuId)\n\t\t\tmoveLink(draggedId, overIndex)\n\t\t}\n\t},\n}))\n\nconst setDrop = (el: HTMLDivElement) => {\n\tif (el) {\n\t\tpreview(drop(el))\n\t}\n\treturn undefined\n}\n\nconst opacity = computed(() => (collect.value.isDragging ? 0 : 1))\n</script>\n\n<style lang=\"scss\" scoped>\n.link-items {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\tpadding: 12px;\n\tgap: 8px;\n\tborder: 1px solid #e5e7eb;\n\tborder-top: none;\n\n\t&:first-child {\n\t\tborder-top: 1px solid #e5e7eb;\n\t\tborder-top-left-radius: 4px;\n\t\tborder-top-right-radius: 4px;\n\t}\n\n\t&:last-child {\n\t\tborder-bottom-left-radius: 4px;\n\t\tborder-bottom-right-radius: 4px;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/config/menu/List.vue",
    "content": "<template>\n\t<div class=\"w-full\">\n\t\t<ul class=\"link-group\">\n\t\t\t<menu-link-item\n\t\t\t\tv-for=\"(item, index) of links\"\n\t\t\t\t:key=\"item.id\"\n\t\t\t\tv-model:label=\"item.label\"\n\t\t\t\tv-model:href=\"item.href\"\n\t\t\t\t:menu-id=\"item.id\"\n\t\t\t\t:menu-index=\"index\"\n\t\t\t\t:find-link=\"findLink\"\n\t\t\t\t:move-link=\"moveLink\"\n\t\t\t\t@del=\"onDelLink(index)\">\n\t\t\t</menu-link-item>\n\t\t</ul>\n\t\t<n-button block class=\"mt-12px\" @click=\"onAddLink\">Add</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getRandom } from '../../../utils'\nimport { useConfig } from '../../../hooks/useConfig'\nimport { useSetData } from '../../../hooks/useSetData'\n\nimport MenuLinkItem from './Item.vue'\n\nconst { selectedBlockKey, blockConfigMap } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst links = computed({\n\tget() {\n\t\treturn blockConfigMap.value[selectedBlockKey.value].attr.links || []\n\t},\n\tset(val) {\n\t\tblockConfigMap.value[selectedBlockKey.value].attr.links = val\n\t},\n})\n\nwatch(\n\t() => [links.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst onDelLink = (index: number) => {\n\tlinks.value.splice(index, 1)\n}\n\nconst onAddLink = () => {\n\tlinks.value.push({ id: getRandom(6), label: '', href: '' })\n}\n\nconst findLink = (id: string) => {\n\tconst link = links.value.filter((c: { id: string }) => `${c.id}` === id)[0]\n\treturn {\n\t\tlink,\n\t\tindex: links.value.indexOf(link),\n\t}\n}\n\nconst moveLink = (id: string, atIndex: number) => {\n\tconst { link, index } = findLink(id)\n\tlinks.value.splice(index, 1)\n\tlinks.value.splice(atIndex, 0, link)\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.link-group {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tpadding-left: 0;\n\tmargin: 0;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/elements/Button.vue",
    "content": "<template>\n\t<block-section\n\t\t:data=\"data\"\n\t\t:cell-key=\"cellKey\"\n\t\t:block-type=\"data.type\"\n\t\t:block-index=\"blockIndex\"\n\t\t@select=\"handleSelect\"\n\t\t@unSelect=\"handleUnSelect\">\n\t\t<div :style=\"style\">\n\t\t\t<text-editor ref=\"editorRef\" v-model:value=\"info.content\" />\n\t\t</div>\n\t</block-section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useStyle } from '../../hooks/useStyle'\nimport { BlockBaseType } from '../../types/base'\n\nimport BlockSection from '../layout/Section.vue'\nimport TextEditor from '../shared/Editor.vue'\n\nconst { data } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n\tcellKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tblockIndex: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n})\n\nconst { blockConfigMap } = useConfig()\n\nconst { configToStyle } = useStyle()\n\nconst editorRef = useTemplateRef('editorRef')\n\nconst info = computed({\n\tget() {\n\t\treturn blockConfigMap.value[data.key].attr\n\t},\n\tset(value) {\n\t\tblockConfigMap.value[data.key].attr = value\n\t},\n})\n\nconst style = computed(() => {\n\tconst { style } = blockConfigMap.value[data.key]\n\treturn {\n\t\t...configToStyle(style),\n\t}\n})\n\nconst handleSelect = () => {\n\teditorRef.value?.focus()\n}\n\nconst handleUnSelect = () => {\n\teditorRef.value?.blur()\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/elements/Copyright.vue",
    "content": "<template>\n\t<component :is=\"copyrightVNode\"></component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { copyrightVNode } from '../../config/config'\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/elements/Divider.vue",
    "content": "<template>\n\t<block-section :data=\"data\" :cell-key=\"cellKey\" :block-type=\"data.type\" :block-index=\"blockIndex\">\n\t\t<hr :style=\"style\"></hr>\n\t</block-section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useStyle } from '../../hooks/useStyle'\nimport { BlockBaseType } from '../../types/base'\n\nimport BlockSection from '../layout/Section.vue'\n\nconst { data } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n\tcellKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tblockIndex: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n})\n\nconst { blockConfigMap } = useConfig()\nconst { configToStyle } = useStyle()\n\nconst style = computed(() => {\n\tconst { style } = blockConfigMap.value[data.key]\n\treturn {\n\t\t...configToStyle(style),\n\t}\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/elements/Header.vue",
    "content": "<template>\n\t<block-section :data=\"data\" :cell-key=\"cellKey\" :block-type=\"data.type\" :block-index=\"blockIndex\"\n\t\t@select=\"handleSelect\" @unSelect=\"handleUnSelect\">\n\t\t<div :style=\"headerStyle\">\n\t\t\t<text-editor ref=\"editorRef\" v-model:value=\"info.content\" type=\"header\" />\n\t\t</div>\n\t</block-section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useStyle } from '../../hooks/useStyle'\nimport { BlockBaseType } from '../../types/base'\n\nimport BlockSection from '../layout/Section.vue'\nimport TextEditor from '../shared/Editor.vue'\n\nconst { data } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n\tcellKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tblockIndex: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n})\n\nconst { blockConfigMap } = useConfig()\nconst { configToStyle } = useStyle()\n\nconst editorRef = useTemplateRef('editorRef')\n\nconst info = computed({\n\tget() {\n\t\treturn blockConfigMap.value[data.key].attr\n\t},\n\tset(value) {\n\t\tblockConfigMap.value[data.key].attr = value\n\t},\n})\n\nconst headerStyle = computed(() => {\n\tconst { style } = blockConfigMap.value[data.key]\n\treturn {\n\t\t...configToStyle(style),\n\t\twidth: '100%',\n\t}\n})\n\nconst handleSelect = () => {\n\teditorRef.value?.focus()\n}\n\nconst handleUnSelect = () => {\n\teditorRef.value?.blur()\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/elements/Image.vue",
    "content": "<template>\n\t<block-section :data=\"data\" :cell-key=\"cellKey\" :block-type=\"data.type\" :block-index=\"blockIndex\">\n\t\t<div :style=\"style\">\n\t\t\t<img v-if=\"info.src\" :src=\"info.src\" :alt=\"info.alt\" />\n\t\t\t<None v-else>Image</None>\n\t\t</div>\n\t</block-section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useStyle } from '../../hooks/useStyle'\nimport { BlockBaseType } from '../../types/base'\n\nimport BlockSection from '../layout/Section.vue'\nimport None from '../shared/None.vue'\n\nconst { data } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n\tcellKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tblockIndex: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n})\n\nconst { blockConfigMap } = useConfig()\nconst { configToStyle } = useStyle()\n\nconst style = computed(() => {\n\tconst { style } = blockConfigMap.value[data.key]\n\treturn {\n\t\t...configToStyle(style),\n\t}\n})\n\nconst info = computed({\n\tget() {\n\t\treturn blockConfigMap.value[data.key].attr\n\t},\n\tset(value) {\n\t\tblockConfigMap.value[data.key].attr = value\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\nimg {\n\twidth: 100%;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/elements/Link.vue",
    "content": "<template>\n\t<block-section :data=\"data\" :cell-key=\"cellKey\" :block-type=\"data.type\" :block-index=\"blockIndex\"\n\t\t@select=\"handleSelect\" @unSelect=\"handleUnSelect\">\n\t\t<div :style=\"linkStyle\">\n\t\t\t<text-editor ref=\"editorRef\" v-model:value=\"info.content\" />\n\t\t</div>\n\t</block-section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useStyle } from '../../hooks/useStyle'\nimport { BlockBaseType } from '../../types/base'\n\nimport BlockSection from '../layout/Section.vue'\nimport TextEditor from '../shared/Editor.vue'\n\nconst { data } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n\tcellKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tblockIndex: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n})\n\nconst { blockConfigMap } = useConfig()\nconst { configToStyle } = useStyle()\n\nconst editorRef = useTemplateRef('editorRef')\n\nconst info = computed({\n\tget() {\n\t\treturn blockConfigMap.value[data.key].attr\n\t},\n\tset(value) {\n\t\tblockConfigMap.value[data.key].attr = value\n\t},\n})\n\nconst linkStyle = computed(() => {\n\tconst { style } = blockConfigMap.value[data.key]\n\treturn {\n\t\t...configToStyle(style),\n\t}\n})\n\nconst handleSelect = () => {\n\teditorRef.value?.focus()\n}\n\nconst handleUnSelect = () => {\n\teditorRef.value?.blur()\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/elements/Menu.vue",
    "content": "<template>\n\t<block-section :data=\"data\" :cell-key=\"cellKey\" :block-type=\"data.type\" :block-index=\"blockIndex\">\n\t\t<div>\n\t\t\t<None v-if=\"info.links?.length === 0\">Menu</None>\n\t\t\t<a v-for=\"item of info.links\" :key=\"item.id\" :style=\"style\">{{ item.label }}</a>\n\t\t</div>\n\t</block-section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useStyle } from '../../hooks/useStyle'\nimport { BlockBaseType } from '../../types/base'\n\nimport BlockSection from '../layout/Section.vue'\nimport None from '../shared/None.vue'\n\nconst { data } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n\tcellKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tblockIndex: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n})\n\nconst { blockConfigMap } = useConfig()\nconst { configToStyle } = useStyle()\n\nconst style = computed(() => {\n\tconst { style } = blockConfigMap.value[data.key]\n\treturn {\n\t\t...configToStyle(style),\n\t}\n})\n\nconst info = computed(() => {\n\treturn blockConfigMap.value[data.key].attr\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/elements/Text.vue",
    "content": "<template>\n\t<block-section :data=\"data\" :cell-key=\"cellKey\" :block-type=\"data.type\" :block-index=\"blockIndex\"\n\t\t@select=\"handleSelect\" @unSelect=\"handleUnSelect\">\n\t\t<div :style=\"textStyle\">\n\t\t\t<text-editor ref=\"editorRef\" v-model:value=\"info.content\" type=\"text\" />\n\t\t</div>\n\t</block-section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { useStyle } from '../../hooks/useStyle'\nimport { BlockBaseType } from '../../types/base'\n\nimport BlockSection from '../layout/Section.vue'\nimport TextEditor from '../shared/Editor.vue'\n\nconst { data } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n\tcellKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tblockIndex: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n})\n\nconst { blockConfigMap } = useConfig()\nconst { configToStyle } = useStyle()\n\nconst editorRef = useTemplateRef('editorRef')\n\nconst info = computed({\n\tget() {\n\t\treturn blockConfigMap.value[data.key].attr\n\t},\n\tset(value) {\n\t\tblockConfigMap.value[data.key].attr = value\n\t},\n})\n\nconst textStyle = computed(() => {\n\tconst { style } = blockConfigMap.value[data.key]\n\treturn {\n\t\t...configToStyle(style),\n\t\twidth: '100%',\n\t}\n})\n\nconst handleSelect = () => {\n\teditorRef.value?.focus()\n}\n\nconst handleUnSelect = () => {\n\teditorRef.value?.blur()\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/layout/Canvas.vue",
    "content": "<template>\n\t<div :ref=\"setContainerRef\" class=\"canvas-area\" @click.stop=\"onSelectEmpty\">\n\t\t<div\n\t\t\tref=\"canvasRef\"\n\t\t\tclass=\"canvas-container\"\n\t\t\t:style=\"pageStyle\"\n\t\t\t@mousemove=\"handleMouseMove\"\n\t\t\t@mouseleave=\"handleMouseLeave\">\n\t\t\t<!-- 遍历渲染列，插入占位块 -->\n\t\t\t<template v-for=\"(item, index) in displayItems\" :key=\"item.key || `placeholder-${index}`\">\n\t\t\t\t<!-- 真实的列组件 -->\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"item.type === 'columns'\"\n\t\t\t\t\t:ref=\"(el: HTMLElement) => registerColumnRef(el, index)\"\n\t\t\t\t\tclass=\"block-columns-wrapper\">\n\t\t\t\t\t<block-columns :data=\"item\" :index=\"getOriginalIndex(index)\"> </block-columns>\n\t\t\t\t</div>\n\t\t\t\t<!-- 占位块 -->\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"item.type === 'placeholder'\"\n\t\t\t\t\tclass=\"block-placeholder\"\n\t\t\t\t\t:class=\"{ active: dragState.isDragging }\">\n\t\t\t\t\t<div class=\"placeholder-content\">\n\t\t\t\t\t\t<span>Place the new content here</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<block-copyright></block-copyright>\n\n\t\t\t<!-- 空状态提示 -->\n\t\t\t<div v-if=\"columnsMaps.length === 0 && !dragState.isDragging\" class=\"empty-container\">\n\t\t\t\t<div class=\"empty-message\">No content here. Drag content from left.</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useDrop } from 'vue3-dnd'\nimport { throttle } from 'lodash-es'\nimport { useConfig } from '../../hooks/useConfig'\nimport { BlockColumnsType, DropBaseBlock } from '../../types/base'\n\nimport BlockColumns from './Columns.vue'\nimport BlockCopyright from '../elements/Copyright.vue'\n\n// ------------------------\n// 状态和引用管理\n// ------------------------\n\n// 获取上下文和状态\nconst { pageConfig, columnsMaps, selectBlock, insertColumnSourceAt, moveColumnSource } = useConfig()\n\n// DOM引用\nconst containerRef = ref<HTMLElement | null>(null)\nconst canvasRef = ref<HTMLElement | null>(null)\n\n// 设置容器引用并初始化拖放\nconst setContainerRef = (el: HTMLElement | null) => {\n\tif (!el) return undefined\n\n\tcontainerRef.value = el\n\tdrop(el)\n}\n\n// 列引用映射\nconst columnRefsMap = ref(new Map<number, HTMLElement>())\n\n// 列位置缓存类型\ninterface ColumnPosition {\n\tindex: number // 数据索引\n\tdomIndex: number // DOM顺序索引\n\ttop: number // 顶部位置\n\tbottom: number // 底部位置\n\tcenter: number // 中心位置\n\theight: number // 高度\n\telement: HTMLElement // DOM元素引用\n}\n\n// 列位置缓存数组\nconst columnPositions = ref<ColumnPosition[]>([])\n\n// 缓存控制状态\nconst positionCache = reactive({\n\tneedsUpdate: true, // 标记是否需要更新\n\tisUpdating: false, // 防止并发更新\n\tlastUpdateTime: 0, // 最后更新时间\n\tlastColumnsLength: 0, // 上次列数量\n})\n\n// 鼠标位置状态\nconst mousePosition = ref({\n\tx: 0,\n\ty: 0,\n})\n\n// 拖拽状态管理\nconst dragState = reactive({\n\tisDragging: false, // 是否处于拖拽中\n\tisProcessingDrop: false, // 是否正在处理放置\n\tplaceholderIndex: -1, // 占位符索引\n\thighlightIndex: -1, // 高亮索引\n\tinsertPosition: null as 'before' | 'after' | null, // 插入位置\n\tcurrentDragType: null as string | null, // 当前拖拽类型\n\tsortingActive: false, // 排序模式标记\n})\n\n// 排序专用状态\nconst sortingState = reactive({\n\tisSorting: false, // 是否排序中\n\tsourceIndex: -1, // 源元素索引\n\tlastAppliedTarget: -1, // 最后应用的目标位置\n\toriginalOrder: [] as BlockColumnsType[], // 原始顺序\n\tdraggedElement: null as HTMLElement | null, // 被拖拽元素\n\tdragSourceDisplayIndex: -1, // 源元素显示索引\n})\n\n// 操作计数\nconst operationCounter = ref(0)\n\n// ------------------------\n// 计算属性\n// ------------------------\n\n// 计算显示项目（包含占位符）\nconst displayItems = computed(() => {\n\t// 排序模式直接返回原始列表\n\tif (sortingState.isSorting) {\n\t\treturn columnsMaps.value\n\t}\n\n\t// 在非有效拖拽状态下不显示占位符\n\tif (!dragState.isDragging || dragState.placeholderIndex < 0) {\n\t\treturn columnsMaps.value\n\t}\n\n\t// 添加占位符\n\tconst result = [...columnsMaps.value]\n\tconst placeholder: BlockColumnsType = {\n\t\tkey: 'drag-placeholder',\n\t\ttype: 'placeholder',\n\t\tname: 'Placeholder',\n\t\tchildren: [],\n\t}\n\n\tconst safeIndex = Math.min(Math.max(0, dragState.placeholderIndex), result.length)\n\tresult.splice(safeIndex, 0, placeholder)\n\n\treturn result\n})\n\n// 页面样式\nconst pageStyle = computed(() => {\n\treturn {\n\t\tbackgroundColor: pageConfig.value.style.backgroundColor,\n\t}\n})\n\n// ------------------------\n// 工具函数\n// ------------------------\n\n// 获取原始索引\nconst getOriginalIndex = (displayIndex: number): number => {\n\tconst item = displayItems.value[displayIndex]\n\tif (!item) return displayIndex\n\n\tif (!sortingState.isSorting) return displayIndex\n\n\t// 排序模式，查找原始数据索引\n\tconst originalIndex = columnsMaps.value.findIndex(col => col === item)\n\treturn originalIndex === -1 ? displayIndex : originalIndex\n}\n\n// 获取显示索引\n// const getDisplayIndex = (originalIndex: number): number => {\n// \tif (\n// \t\t!dragState.isDragging ||\n// \t\tdragState.placeholderIndex === -1 ||\n// \t\toriginalIndex < dragState.placeholderIndex\n// \t) {\n// \t\treturn originalIndex\n// \t}\n// \treturn originalIndex + 1\n// }\n\n// 辅助拖拽工具\nconst dragUtils = {\n\t// 检查是否允许当前拖拽类型\n\tisAllowedDragType(type: string): boolean {\n\t\t// 排序操作始终允许\n\t\tif (type === 'SORT_COLUMNS_BLOCK') return true\n\n\t\t// 如果没有现有内容，允许所有类型\n\t\tif (columnsMaps.value.length === 0) return true\n\n\t\t// 有内容时只允许Columns类型\n\t\treturn type === 'ADD_COLUMNS_BLOCK'\n\t},\n\t// 查找目标位置\n\tfindTargetPosition(\n\t\tmouseY: number\n\t): { targetIndex: number; targetPosition: 'before' | 'after' } | null {\n\t\tif (columnPositions.value.length === 0) return null\n\n\t\t// 情况1: 鼠标在第一个元素上方\n\t\tif (mouseY < columnPositions.value[0].top) {\n\t\t\treturn { targetIndex: 0, targetPosition: 'before' }\n\t\t}\n\n\t\t// 情况2: 鼠标在最后一个元素下方\n\t\tconst lastPos = columnPositions.value[columnPositions.value.length - 1]\n\t\tif (mouseY > lastPos.bottom) {\n\t\t\treturn { targetIndex: lastPos.index, targetPosition: 'after' }\n\t\t}\n\n\t\t// 情况3: 鼠标在元素内部\n\t\tfor (const pos of columnPositions.value) {\n\t\t\t// 跳过源元素\n\t\t\tif (sortingState.isSorting && pos.index === sortingState.sourceIndex) continue\n\n\t\t\tif (mouseY >= pos.top && mouseY <= pos.bottom) {\n\t\t\t\treturn {\n\t\t\t\t\ttargetIndex: pos.index,\n\t\t\t\t\ttargetPosition: mouseY < pos.center ? 'before' : 'after',\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// 情况4: 鼠标在元素之间\n\t\tfor (let i = 0; i < columnPositions.value.length - 1; i++) {\n\t\t\tconst current = columnPositions.value[i]\n\t\t\tconst next = columnPositions.value[i + 1]\n\n\t\t\t// 跳过与源元素相关的空隙\n\t\t\tif (\n\t\t\t\tsortingState.isSorting &&\n\t\t\t\t(current.index === sortingState.sourceIndex || next.index === sortingState.sourceIndex)\n\t\t\t) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif (mouseY > current.bottom && mouseY < next.top) {\n\t\t\t\treturn { targetIndex: current.index, targetPosition: 'after' }\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t},\n\n\t// 计算移动目标索引\n\tgetMoveToIndex(\n\t\ttargetInfo: { targetIndex: number; targetPosition: 'before' | 'after' } | null\n\t): number {\n\t\tif (!targetInfo) return -1\n\t\treturn targetInfo.targetPosition === 'before'\n\t\t\t? targetInfo.targetIndex\n\t\t\t: targetInfo.targetIndex + 1\n\t},\n\n\t// 判断是否应该跳过移动\n\tshouldSkipMove(sourceIndex: number, moveToIndex: number, lastAppliedTarget: number): boolean {\n\t\t// 移动到自身位置或相邻位置\n\t\tif (moveToIndex === sourceIndex || moveToIndex === sourceIndex + 1) {\n\t\t\treturn true\n\t\t}\n\n\t\t// 重复相同的移动\n\t\tif (moveToIndex === lastAppliedTarget) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t},\n\n\t// 计算移动后的新源索引\n\tgetNewSourceIndex(sourceIndex: number, moveToIndex: number): number {\n\t\treturn moveToIndex > sourceIndex ? moveToIndex - 1 : moveToIndex\n\t},\n}\n\n// ------------------------\n// 位置计算与更新\n// ------------------------\n\n// 注册列引用\nconst registerColumnRef = (el: HTMLElement | null, index: number) => {\n\tif (!el) {\n\t\tcolumnRefsMap.value.delete(index)\n\t\treturn undefined\n\t}\n\n\t// 设置数据索引属性\n\tconst originalIndex = getOriginalIndex(index)\n\tel.dataset.index = originalIndex.toString()\n\n\t// 保存引用\n\tcolumnRefsMap.value.set(index, el)\n\tpositionCache.needsUpdate = true\n}\n\n// 更新列位置缓存\nconst updateColumnPositions = (forceSync = false) => {\n\t// 跳过不必要的更新\n\tif (positionCache.isUpdating && !forceSync) return\n\tif (!positionCache.needsUpdate && !forceSync) return\n\n\tpositionCache.isUpdating = true\n\n\ttry {\n\t\tconst container = containerRef.value\n\t\tif (!container) return\n\n\t\tconst containerRect = container.getBoundingClientRect()\n\t\tconst positions: ColumnPosition[] = []\n\n\t\t// 直接查询所有列元素\n\t\tconst elements = container.querySelectorAll('.block-columns-wrapper')\n\n\t\tif (elements.length === 0) {\n\t\t\tcolumnPositions.value = []\n\t\t\tpositionCache.needsUpdate = false\n\t\t\treturn\n\t\t}\n\n\t\t// 处理每个元素位置\n\t\telements.forEach((el, domIndex) => {\n\t\t\tconst rect = el.getBoundingClientRect()\n\t\t\tconst dataIndexAttr = (el as HTMLElement).dataset.index\n\t\t\tlet dataIndex = dataIndexAttr ? parseInt(dataIndexAttr, 10) : domIndex\n\n\t\t\tpositions.push({\n\t\t\t\tindex: dataIndex,\n\t\t\t\tdomIndex,\n\t\t\t\ttop: rect.top - containerRect.top,\n\t\t\t\tbottom: rect.bottom - containerRect.top,\n\t\t\t\theight: rect.height,\n\t\t\t\tcenter: rect.top - containerRect.top + rect.height / 2,\n\t\t\t\telement: el as HTMLElement,\n\t\t\t})\n\t\t})\n\n\t\t// 按垂直位置排序\n\t\tcolumnPositions.value = positions.sort((a, b) => a.top - b.top)\n\n\t\t// 更新缓存状态\n\t\tpositionCache.needsUpdate = false\n\t\tpositionCache.lastUpdateTime = Date.now()\n\t\tpositionCache.lastColumnsLength = columnsMaps.value.length\n\t} finally {\n\t\tpositionCache.isUpdating = false\n\t}\n}\n\n// 安排位置更新\n// const schedulePositionUpdate = () => {\n// \tpositionCache.needsUpdate = true\n// \trequestAnimationFrame(() => {\n// \t\tupdateColumnPositions()\n// \t})\n// }\n\n// 监视列表变化，更新位置\nwatch(\n\t() => columnsMaps.value.length,\n\t(newLength, oldLength) => {\n\t\tif (newLength !== oldLength) {\n\t\t\tpositionCache.needsUpdate = true\n\n\t\t\t// 使用nextTick确保DOM已更新\n\t\t\tnextTick(() => {\n\t\t\t\tupdateColumnPositions()\n\t\t\t})\n\t\t}\n\t}\n)\n\nconst onSelectEmpty = () => {\n\tselectBlock('', '')\n}\n\n// ------------------------\n// 拖拽相关处理函数\n// ------------------------\n\n// 处理鼠标移动\nconst handleMouseMove = throttle((event: MouseEvent) => {\n\tif (dragState.isProcessingDrop) return\n\n\tmousePosition.value = {\n\t\tx: event.clientX,\n\t\ty: event.clientY,\n\t}\n\n\t// 仅在拖拽状态下更新\n\tif (dragState.isDragging) {\n\t\t// 排序模式\n\t\tif (sortingState.isSorting) {\n\t\t\tdebouncedDragHandler(mousePosition.value)\n\t\t}\n\t\t// 添加模式\n\t\telse {\n\t\t\tupdateDropIndicator(mousePosition.value)\n\t\t}\n\t}\n}, 16)\n\n// 处理鼠标离开\nconst handleMouseLeave = () => {\n\tif (!dragState.isDragging || dragState.isProcessingDrop) return\n\n\tresetInsertIndicators()\n}\n\n// 重置插入指示器\nconst resetInsertIndicators = () => {\n\tdragState.highlightIndex = -1\n\tdragState.insertPosition = null\n}\n\n// 更新添加模式的放置指示器\nconst updateDropIndicator = (position: { x: number; y: number }) => {\n\t// 不在拖拽中或排序中则跳过\n\tif (!dragState.isDragging || dragState.isProcessingDrop || sortingState.isSorting) return\n\n\t// 检查是否允许当前拖拽类型\n\tif (!dragUtils.isAllowedDragType(dragState.currentDragType || '')) {\n\t\t// 不允许则重置指示器\n\t\tdragState.placeholderIndex = -1\n\t\treturn\n\t}\n\n\tconst container = containerRef.value\n\tif (!container) return\n\n\tconst containerRect = container.getBoundingClientRect()\n\tconst mouseY = position.y - containerRect.top\n\n\t// 处理空容器\n\tif (columnPositions.value.length === 0) {\n\t\tdragState.placeholderIndex = 0\n\t\treturn\n\t}\n\n\t// 更新位置缓存\n\tif (positionCache.needsUpdate) {\n\t\tupdateColumnPositions()\n\t}\n\n\t// 查找插入位置\n\tconst targetInfo = dragUtils.findTargetPosition(mouseY)\n\tif (!targetInfo) return\n\n\t// 设置占位符和高亮\n\tconst { targetIndex, targetPosition } = targetInfo\n\tdragState.highlightIndex = targetIndex\n\tdragState.insertPosition = targetPosition\n\tdragState.placeholderIndex = targetPosition === 'before' ? targetIndex : targetIndex + 1\n}\n\n// 限流后的拖拽处理\nconst debouncedDragHandler = throttle(\n\t(position: { x: number; y: number }) => {\n\t\tif (!sortingState.isSorting || dragState.isProcessingDrop) return\n\n\t\t// 更新位置缓存\n\t\tif (positionCache.needsUpdate) {\n\t\t\tupdateColumnPositions(true)\n\t\t}\n\n\t\t// 处理排序拖拽\n\t\thandleSortingDrag(position)\n\t},\n\t16,\n\t{ leading: true, trailing: true }\n)\n\n// 处理排序拖拽\nconst handleSortingDrag = (position: { x: number; y: number }) => {\n\tif (!sortingState.isSorting) return\n\n\tconst containerRect = containerRef.value?.getBoundingClientRect()\n\tif (!containerRect) return\n\n\tconst mouseY = position.y - containerRect.top\n\n\t// 查找目标位置\n\tconst targetInfo = dragUtils.findTargetPosition(mouseY)\n\tif (!targetInfo) return\n\n\t// 计算移动位置\n\tconst moveToIndex = dragUtils.getMoveToIndex(targetInfo)\n\n\t// 判断是否应该跳过\n\tif (\n\t\tdragUtils.shouldSkipMove(sortingState.sourceIndex, moveToIndex, sortingState.lastAppliedTarget)\n\t) {\n\t\treturn\n\t}\n\n\t// 更新高亮状态\n\tdragState.highlightIndex = targetInfo.targetIndex\n\tdragState.insertPosition = targetInfo.targetPosition\n\n\t// 应用排序变更\n\toperationCounter.value++\n\n\tmoveColumnSource(sortingState.sourceIndex, moveToIndex)\n\n\t// 更新源索引和最后应用的目标\n\tconst newSourceIndex = dragUtils.getNewSourceIndex(sortingState.sourceIndex, moveToIndex)\n\tsortingState.lastAppliedTarget = moveToIndex\n\tsortingState.sourceIndex = newSourceIndex\n\n\t// 标记需要更新位置\n\tpositionCache.needsUpdate = true\n\n\t// 在下一个渲染周期更新位置\n\tnextTick(() => {\n\t\tupdateColumnPositions(true)\n\t})\n}\n\n// 开始排序\nconst startSorting = (sourceIndex: number) => {\n\t// 防止重复初始化\n\tif (sortingState.isSorting) return\n\n\t// 强制更新位置缓存\n\tupdateColumnPositions(true)\n\n\t// 查找源元素显示索引\n\tlet sourceElement = null\n\tlet sourceDisplayIndex = -1\n\n\t// 从位置缓存查找\n\tfor (const pos of columnPositions.value) {\n\t\tif (pos.index === sourceIndex) {\n\t\t\tsourceDisplayIndex = pos.domIndex\n\t\t\tsourceElement = pos.element\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// 从DOM直接查找\n\tif (!sourceElement) {\n\t\tconst container = containerRef.value\n\t\tif (container) {\n\t\t\tconst elements = container.querySelectorAll('.block-columns-wrapper')\n\t\t\telements.forEach((el, i) => {\n\t\t\t\tconst dataIndex = parseInt((el as HTMLElement).dataset.index || '-1', 10)\n\t\t\t\tif (dataIndex === sourceIndex) {\n\t\t\t\t\tsourceElement = el as HTMLElement\n\t\t\t\t\tsourceDisplayIndex = i\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t// 兜底方案\n\tif (sourceDisplayIndex === -1) {\n\t\tsourceDisplayIndex = sourceIndex\n\t}\n\n\t// 初始化排序状态\n\tsortingState.isSorting = true\n\tsortingState.sourceIndex = sourceIndex\n\tsortingState.originalOrder = [...columnsMaps.value]\n\tsortingState.lastAppliedTarget = -1\n\tsortingState.draggedElement = sourceElement\n\tsortingState.dragSourceDisplayIndex = sourceDisplayIndex\n\n\t// 更新拖拽状态\n\tdragState.isDragging = true\n\tdragState.currentDragType = 'SORT_COLUMNS_BLOCK'\n\tdragState.sortingActive = true\n\n\t// 重置操作计数\n\toperationCounter.value = 0\n\n\t// 更新位置缓存\n\tpositionCache.needsUpdate = true\n\tupdateColumnPositions(true)\n}\n\n// 完成排序\nconst finishSorting = () => {\n\t// 重置排序状态\n\tsortingState.isSorting = false\n\tsortingState.sourceIndex = -1\n\tsortingState.originalOrder = []\n\tsortingState.lastAppliedTarget = -1\n\tsortingState.draggedElement = null\n\tsortingState.dragSourceDisplayIndex = -1\n\n\t// 重置拖拽状态\n\tdragState.sortingActive = false\n\tdragState.highlightIndex = -1\n\tdragState.insertPosition = null\n\n\t// 重置操作计数\n\toperationCounter.value = 0\n\n\t// 强制更新位置\n\tpositionCache.needsUpdate = true\n\tnextTick(() => updateColumnPositions(true))\n}\n\n// ------------------------\n// 添加组件相关函数\n// ------------------------\n\n// 处理组件放置\nconst handleItemDrop = (item: DropBaseBlock): void => {\n\ttry {\n\t\tconst { type, blockData } = item\n\n\t\tif (!blockData) return\n\n\t\t// 检查是否允许拖拽类型\n\t\tif (!dragUtils.isAllowedDragType(type)) {\n\t\t\treturn\n\t\t}\n\n\t\t// 根据拖拽类型处理\n\t\tif (type === 'ADD_COLUMNS_BLOCK') {\n\t\t\t// 直接添加列组件\n\t\t\tconst index =\n\t\t\t\tdragState.placeholderIndex >= 0 ? dragState.placeholderIndex : columnsMaps.value.length\n\n\t\t\tinsertColumnSourceAt(index)\n\t\t} else if (type === 'ADD_BASE_BLOCK') {\n\t\t\tinsertColumnSourceAt(0)\n\t\t}\n\t} finally {\n\t\t// 强制更新位置缓存\n\t\tpositionCache.needsUpdate = true\n\t\tnextTick(() => updateColumnPositions(true))\n\t}\n}\n\n// 重置拖拽状态\nconst resetDragStates = () => {\n\tdragState.isDragging = false\n\tdragState.isProcessingDrop = false\n\tdragState.currentDragType = null\n\t// 确保清除占位符\n\tdragState.placeholderIndex = -1\n\tdragState.highlightIndex = -1\n\tdragState.insertPosition = null\n\tdragState.sortingActive = false\n\n\t// 重置排序状态\n\tsortingState.isSorting = false\n\tsortingState.sourceIndex = -1\n\tsortingState.originalOrder = []\n\tsortingState.lastAppliedTarget = -1\n\tsortingState.draggedElement = null\n\tsortingState.dragSourceDisplayIndex = -1\n\n\t// 更新位置缓存\n\tpositionCache.needsUpdate = true\n}\n\n// 清理拖拽状态\nconst clearDragStates = () => {\n\tresetDragStates()\n\tnextTick(() => updateColumnPositions())\n}\n\n// ------------------------\n// 拖拽集成 (vue3-dnd)\n// ------------------------\n\nconst [, drop] = useDrop<DropBaseBlock, void>(() => ({\n\taccept: ['ADD_COLUMNS_BLOCK', 'ADD_BASE_BLOCK', 'SORT_COLUMNS_BLOCK'],\n\thover: throttle(\n\t\t(item, monitor) => {\n\t\t\t// 跳过处理中状态\n\t\t\tif (dragState.isProcessingDrop) return\n\n\t\t\t// 更精确检测是否真正悬浮在目标上\n\t\t\tconst isDirectlyOver = monitor.isOver({ shallow: true })\n\n\t\t\t// 更新拖拽状态\n\t\t\tdragState.currentDragType = item.type\n\n\t\t\t// 检查是否允许当前拖拽类型（非排序模式）\n\t\t\tconst canDrop = item.type === 'SORT_COLUMNS_BLOCK' || dragUtils.isAllowedDragType(item.type)\n\n\t\t\t// 只有在直接悬浮且可放置时才显示占位块\n\t\t\tconst isDraggingOver = isDirectlyOver && monitor.canDrop() && canDrop\n\n\t\t\t// 状态变化检测：从悬浮变为非悬浮时清除占位符\n\t\t\tif (dragState.isDragging && !isDraggingOver && !sortingState.isSorting) {\n\t\t\t\tdragState.placeholderIndex = -1\n\t\t\t}\n\n\t\t\t// 更新拖拽状态\n\t\t\tdragState.isDragging = isDraggingOver\n\n\t\t\t// 如果不允许，显示错误并返回\n\t\t\tif (!canDrop && item.type !== 'SORT_COLUMNS_BLOCK') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// 如果不在目标上，不处理位置\n\t\t\tif (!isDirectlyOver) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst clientOffset = monitor.getClientOffset()\n\t\t\tif (!clientOffset) return\n\n\t\t\t// 处理不同类型的拖拽\n\t\t\tif (item.type === 'SORT_COLUMNS_BLOCK' && 'sourceIndex' in item) {\n\t\t\t\t// 排序处理\n\t\t\t\tif (!sortingState.isSorting) {\n\t\t\t\t\tstartSorting(item.sourceIndex)\n\t\t\t\t}\n\n\t\t\t\tdebouncedDragHandler(clientOffset)\n\t\t\t} else if (item.type === 'ADD_COLUMNS_BLOCK' || item.type === 'ADD_BASE_BLOCK') {\n\t\t\t\t// 添加组件处理\n\t\t\t\tupdateDropIndicator(clientOffset)\n\t\t\t}\n\t\t},\n\t\t16,\n\t\t{ leading: true, trailing: true }\n\t),\n\tdrop: (item, monitor) => {\n\t\t// 防止重复处理\n\t\tif (dragState.isProcessingDrop) return\n\t\tdragState.isProcessingDrop = true\n\n\t\ttry {\n\t\t\t// 确认是在目标上释放\n\t\t\tif (!monitor.isOver({ shallow: true })) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// 根据拖拽类型处理\n\t\t\tif (item.type === 'SORT_COLUMNS_BLOCK') {\n\t\t\t\tfinishSorting()\n\t\t\t} else if (item.type === 'ADD_COLUMNS_BLOCK' || item.type === 'ADD_BASE_BLOCK') {\n\t\t\t\thandleItemDrop(item)\n\t\t\t}\n\t\t} finally {\n\t\t\t// 确保状态重置，使用setTimeout避免状态清理对其他操作的干扰\n\t\t\tsetTimeout(() => {\n\t\t\t\tclearDragStates()\n\t\t\t}, 50)\n\t\t}\n\t},\n\t// 关键点1: 实时检测拖拽状态\n\tcollect: monitor => {\n\t\t// 当拖拽离开区域时，立即触发cleanup\n\t\tif (dragState.isDragging && !monitor.isOver()) {\n\t\t\t// 非排序模式下清除占位符\n\t\t\tif (!sortingState.isSorting) {\n\t\t\t\tdragState.placeholderIndex = -1\n\t\t\t}\n\t\t\tdragState.isDragging = false\n\t\t}\n\n\t\treturn {}\n\t},\n}))\n</script>\n\n<style lang=\"scss\" scoped>\n.canvas-area {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: #f4f7fa;\n}\n\n.canvas-container {\n\tposition: absolute;\n\ttop: 24px;\n\tleft: 24px;\n\tright: 24px;\n\tbottom: 24px;\n\tbox-shadow: 0 4px 12px #ebedf0;\n\tbackground-color: #fff;\n\toverflow-y: auto;\n}\n\n.block-columns-wrapper {\n\tposition: relative;\n}\n\n.block-placeholder {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 104px;\n\tborder: 2px dashed #1890ff;\n\tbackground-color: rgba(24, 144, 255, 0.05);\n\tborder-radius: 4px;\n\ttransition: all 0.2s ease;\n\n\t.placeholder-content {\n\t\tcolor: #1890ff;\n\t\tfont-size: 14px;\n\t\ttext-align: center;\n\n\t\tspan {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n.empty-container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: calc(100% - 32px);\n\n\t.empty-message {\n\t\tcolor: #999;\n\t\tfont-size: 16px;\n\t\ttext-align: center;\n\t\tpadding: 24px;\n\t\tborder: 2px dashed #e8e8e8;\n\t\tborder-radius: 4px;\n\t\tbackground-color: #fafafa;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/layout/Cell.vue",
    "content": "<template>\n\t<div\n\t\t:ref=\"setContainerRef\"\n\t\tclass=\"cell-container\"\n\t\t:class=\"{ 'drop-active': isOver }\"\n\t\t:style=\"cellStyle\"\n\t\t:data-cell-key=\"blockKey\">\n\t\t<!-- 包含占位块的内容区域 -->\n\t\t<div ref=\"contentRef\" class=\"cell-content\">\n\t\t\t<!-- 已有组件 -->\n\t\t\t<template v-for=\"(item, index) in displayItems\" :key=\"item.key || `placeholder-${index}`\">\n\t\t\t\t<!-- 真实的块组件 - 添加包装div以便获取DOM引用 -->\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"item.type !== 'placeholder'\"\n\t\t\t\t\t:ref=\"(el: HTMLElement) => registerBlockRef(el, index)\"\n\t\t\t\t\tclass=\"block-wrapper\">\n\t\t\t\t\t<component\n\t\t\t\t\t\t:is=\"resolveBlockComponent(item.type)\"\n\t\t\t\t\t\t:data=\"item\"\n\t\t\t\t\t\t:block-index=\"getOriginalIndex(index)\"\n\t\t\t\t\t\t:cell-key=\"blockKey\"\n\t\t\t\t\t\tclass=\"block-item\">\n\t\t\t\t\t</component>\n\t\t\t\t</div>\n\t\t\t\t<!-- 占位符 -->\n\t\t\t\t<div v-else class=\"block-placeholder\" :class=\"{ active: isOver }\">\n\t\t\t\t\t<div class=\"placeholder-content\">\n\t\t\t\t\t\t<span>Place new content here</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</div>\n\t\t<!-- 空状态占位符 -->\n\t\t<div v-if=\"!hasChildren\" class=\"column-placeholder\">\n\t\t\t<span>Drag and drop contents to this column</span>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { throttle, debounce } from 'lodash-es'\nimport { useDrop } from 'vue3-dnd'\nimport { useStyle } from '../../hooks/useStyle'\nimport { useConfig } from '../../hooks/useConfig'\nimport { BlockType, BlockCellType, DropBaseBlock, BlockBaseType } from '../../types/base'\n\n// 导入各种块组件\nimport BlockButton from '../elements/Button.vue'\nimport BlockLink from '../elements/Link.vue'\nimport BlockDivider from '../elements/Divider.vue'\nimport BlockHeader from '../elements/Header.vue'\nimport BlockText from '../elements/Text.vue'\nimport BlockImage from '../elements/Image.vue'\nimport BlockMenu from '../elements/Menu.vue'\nimport BlockCopyright from '../elements/Copyright.vue'\n\nconst { data, blockKey } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockCellType>,\n\t\trequired: true,\n\t},\n\tblockKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n})\n\nconst {\n\tcellMap,\n\tcellConfigMap,\n\tblockMap,\n\tinsertBlockToCell,\n\tmoveBlockInCell,\n\tmoveBlockBetweenCells,\n} = useConfig()\n\nconst { configToStyle } = useStyle()\n\n// 使用ref进行DOM引用，避免重复查询\nconst containerRef = ref<HTMLElement | null>(null)\nconst contentRef = ref<HTMLElement | null>(null)\nconst blockRefs = ref<HTMLElement[]>([])\n\n// 设置容器引用\nconst setContainerRef = (el: HTMLElement | null) => {\n\tif (!el) return undefined\n\n\tcontainerRef.value = el\n\tdrop(el)\n}\n\n// 设置块引用\nconst registerBlockRef = (el: HTMLElement, index: number) => {\n\tif (!el) return undefined\n\n\t// 确保数组长度足够\n\tif (blockRefs.value.length <= index) {\n\t\tblockRefs.value = blockRefs.value.concat(\n\t\t\tnew Array(index - blockRefs.value.length + 1).fill(null)\n\t\t)\n\t}\n\tblockRefs.value[index] = el\n}\n\n// 单元格宽度\nconst width = computed(() => {\n\treturn `${data.width}%`\n})\n\n// 单元格样式\nconst cellStyle = computed(() => {\n\tconst { style } = cellConfigMap.value[blockKey]\n\treturn {\n\t\t...configToStyle(style),\n\t\twidth: width.value,\n\t}\n})\n\n// 子元素列表\nconst children = computed(() => {\n\tif (cellMap.value[blockKey]) {\n\t\treturn cellMap.value[blockKey].children\n\t\t\t.filter(key => !!blockMap.value[key])\n\t\t\t.map(key => {\n\t\t\t\treturn blockMap.value[key]\n\t\t\t})\n\t}\n\treturn []\n})\n\n// 判断是否有子元素\nconst hasChildren = computed(() => {\n\treturn children.value && children.value.length > 0\n})\n\n// 拖放状态\nconst isOver = ref(false)\nconst dropIndex = ref(-1)\nconst dragSourceIndex = ref(-1)\nconst dragSourceCell = ref('')\nconst dragItemType = ref('')\n\n// 记录鼠标当前位置\nconst mousePosition = ref({\n\tx: 0,\n\ty: 0,\n})\n\n// 判断是否在同一单元格内拖拽\nconst isDraggingInSameCell = computed(() => {\n\treturn isOver.value && dragSourceCell.value === blockKey && dragSourceIndex.value !== -1\n})\n\n// 块元素位置类型\ntype BlockPositionType = {\n\tindex: number\n\ttop: number\n\tbottom: number\n\tcenter: number\n\theight: number // 高度属性\n}\n\n// 为块元素位置创建缓存\nconst blockPositions = ref<BlockPositionType[]>([])\n\n// 获取原始索引（不包含占位块）\nconst getOriginalIndex = (displayIndex: number) => {\n\tif (!isOver.value || dropIndex.value === -1 || displayIndex < dropIndex.value) {\n\t\treturn displayIndex\n\t}\n\treturn displayIndex - 1\n}\n\n// 计算显示项目列表（包含真实块和占位块）\nconst displayItems = computed(() => {\n\tif (!hasChildren.value || !isOver.value || dropIndex.value === -1) {\n\t\treturn children.value || []\n\t}\n\n\t// 创建包含占位块的新数组\n\tconst result = [...(children.value || [])]\n\n\t// 如果是拖拽排序，不显示占位符，而是实时移动当前块\n\tif (isDraggingInSameCell.value) {\n\t\t// 避免不必要的操作：如果拖回原位置，直接返回原数组\n\t\tif (dragSourceIndex.value === dropIndex.value) {\n\t\t\treturn result\n\t\t}\n\n\t\t// 从原位置移除\n\t\tconst draggedItem = result.splice(dragSourceIndex.value, 1)[0]\n\t\t// 插入到新位置\n\t\tresult.splice(\n\t\t\tdropIndex.value > dragSourceIndex.value ? dropIndex.value - 1 : dropIndex.value,\n\t\t\t0,\n\t\t\tdraggedItem\n\t\t)\n\t\treturn result\n\t}\n\n\t// 跨单元格拖拽或添加新块时显示占位符\n\tconst placeholder: BlockBaseType = {\n\t\tkey: 'drag-placeholder',\n\t\ttype: 'placeholder',\n\t\tname: 'Placeholder',\n\t}\n\n\t// 插入占位块到计算出的位置\n\tif (dropIndex.value <= result.length) {\n\t\tresult.splice(dropIndex.value, 0, placeholder)\n\t} else {\n\t\tresult.push(placeholder)\n\t}\n\n\treturn result\n})\n\n// 更新块元素位置缓存 - 优化版本\nconst updateBlockPositions = () => {\n\tif (!containerRef.value || !contentRef.value || blockRefs.value.length === 0) return\n\n\tconst positions: BlockPositionType[] = []\n\tconst containerRect = containerRef.value.getBoundingClientRect()\n\n\t// 使用已缓存的引用而不是查询DOM\n\tblockRefs.value.forEach((el, index) => {\n\t\tif (!el) return\n\n\t\tconst rect = el.getBoundingClientRect()\n\t\tpositions.push({\n\t\t\tindex,\n\t\t\ttop: rect.top - containerRect.top,\n\t\t\tbottom: rect.bottom - containerRect.top,\n\t\t\tcenter: rect.top + rect.height / 2 - containerRect.top,\n\t\t\theight: rect.height,\n\t\t})\n\t})\n\n\t// 按照位置从上到下排序\n\tpositions.sort((a, b) => a.top - b.top)\n\tblockPositions.value = positions\n}\n\n// 使用二分查找确定最佳放置位置\nconst findBestPositionWithBinarySearch = (\n\tmouseY: number,\n\tpositions: BlockPositionType[]\n): number => {\n\tif (positions.length === 0) return 0\n\n\t// 边界情况：鼠标在第一个元素上方\n\tif (mouseY < positions[0].top) return 0\n\n\t// 边界情况：鼠标在最后一个元素下方\n\tif (mouseY > positions[positions.length - 1].bottom) return positions.length\n\n\tlet start = 0\n\tlet end = positions.length - 1\n\n\t// 二分查找\n\twhile (start <= end) {\n\t\tconst mid = Math.floor((start + end) / 2)\n\t\tconst pos = positions[mid]\n\n\t\t// 鼠标在当前元素范围内\n\t\tif (mouseY >= pos.top && mouseY <= pos.bottom) {\n\t\t\t// 关键改进：根据鼠标在元素上半部分还是下半部分决定插入位置\n\t\t\tconst middlePoint = pos.top + pos.height / 2\n\t\t\treturn mouseY < middlePoint ? pos.index : pos.index + 1\n\t\t}\n\n\t\t// 调整搜索范围\n\t\tif (mouseY < pos.top) {\n\t\t\tend = mid - 1\n\t\t} else {\n\t\t\tstart = mid + 1\n\t\t}\n\t}\n\n\t// 边界情况处理\n\treturn start < positions.length ? start : positions.length\n}\n\n// 更新放置索引 - 优化版本\nconst updateDropIndexFromPosition = () => {\n\tif (!containerRef.value) {\n\t\tdropIndex.value = 0\n\t\treturn\n\t}\n\n\tconst containerRect = containerRef.value.getBoundingClientRect()\n\tconst mouseY = mousePosition.value.y - containerRect.top // 使用相对于容器的位置\n\n\t// 特殊处理：容器顶部和底部的边界情况\n\tif (mouseY < 20) {\n\t\tdropIndex.value = 0\n\t\treturn\n\t}\n\n\tif (mouseY > containerRect.height - 20) {\n\t\tdropIndex.value = children.value.length\n\t\treturn\n\t}\n\n\t// 如果位置缓存不存在或为空，则重新创建\n\tif (!blockPositions.value.length) {\n\t\tupdateBlockPositions()\n\t\t// 如果更新后仍然为空，默认放在开头\n\t\tif (!blockPositions.value.length) {\n\t\t\tdropIndex.value = 0\n\t\t\treturn\n\t\t}\n\t}\n\n\t// 使用二分查找确定最佳位置\n\tdropIndex.value = findBestPositionWithBinarySearch(mouseY, blockPositions.value)\n}\n\n// 节流版的位置更新函数 - 使用更低的延迟提高响应性\nconst updateDropIndexThrottled = throttle(\n\t() => {\n\t\tupdateDropIndexFromPosition()\n\t},\n\t10,\n\t{ leading: true, trailing: true }\n)\n\n// 重置拖放状态\nconst resetDropState = () => {\n\tisOver.value = false\n\tdropIndex.value = -1\n\tdragSourceIndex.value = -1\n\tdragSourceCell.value = ''\n\tdragItemType.value = ''\n\tblockPositions.value = []\n}\n\nconst [, drop] = useDrop<DropBaseBlock>(() => ({\n\taccept: ['ADD_BASE_BLOCK', 'SORT_BASE_BLOCK'],\n\thover: throttle((item, monitor) => {\n\t\t// 记录拖拽项类型\n\t\tdragItemType.value = item.type\n\n\t\t// 首次hover时创建位置缓存\n\t\tif (!isOver.value) {\n\t\t\tupdateBlockPositions()\n\t\t}\n\n\t\t// 确保isOver状态正确设置\n\t\tif (!monitor.isOver()) {\n\t\t\tresetDropState()\n\t\t\treturn\n\t\t}\n\n\t\tisOver.value = true\n\n\t\t// 记录源信息\n\t\tif (item.type === 'SORT_BASE_BLOCK') {\n\t\t\tdragSourceIndex.value = item.sourceIndex !== undefined ? item.sourceIndex : -1\n\t\t\tdragSourceCell.value = item.sourceCellKey || ''\n\t\t}\n\n\t\t// 获取并更新鼠标位置\n\t\tconst clientOffset = monitor.getClientOffset()\n\t\tif (clientOffset) {\n\t\t\tmousePosition.value = {\n\t\t\t\tx: clientOffset.x,\n\t\t\t\ty: clientOffset.y,\n\t\t\t}\n\n\t\t\t// 节流更新位置\n\t\t\tupdateDropIndexThrottled()\n\t\t}\n\t}, 16),\n\tdrop(item) {\n\t\tif (item.type === 'ADD_BASE_BLOCK') {\n\t\t\t// 在指定位置插入块\n\t\t\tif (hasChildren.value && dropIndex.value !== -1) {\n\t\t\t\tinsertBlockToCell(dropIndex.value, blockKey, item.blockData)\n\t\t\t} else {\n\t\t\t\t// 没有子元素或者没有有效的dropIndex，插入到末尾\n\t\t\t\tinsertBlockToCell(0, blockKey, item.blockData)\n\t\t\t}\n\t\t}\n\n\t\tif (item.type === 'SORT_BASE_BLOCK') {\n\t\t\t// 处理块的排序\n\t\t\tif (dropIndex.value !== -1) {\n\t\t\t\tif (item.sourceCellKey === blockKey) {\n\t\t\t\t\t// 同一单元格内排序 - 检查是否拖回原位置\n\t\t\t\t\tconst adjustedDropIndex =\n\t\t\t\t\t\titem.sourceIndex < dropIndex.value ? dropIndex.value - 1 : dropIndex.value\n\n\t\t\t\t\t// 如果不是拖回原位置，才执行移动操作\n\t\t\t\t\tif (item.sourceIndex !== adjustedDropIndex) {\n\t\t\t\t\t\tmoveBlockInCell(blockKey, item.sourceIndex, dropIndex.value)\n\t\t\t\t\t}\n\t\t\t\t} else if (item.sourceCellKey) {\n\t\t\t\t\t// 跨单元格排序 - 移动块到新位置\n\t\t\t\t\tmoveBlockBetweenCells(\n\t\t\t\t\t\titem.sourceCellKey,\n\t\t\t\t\t\tblockKey,\n\t\t\t\t\t\titem.sourceIndex,\n\t\t\t\t\t\tdropIndex.value,\n\t\t\t\t\t\titem.blockData.key\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// 重置状态\n\t\tresetDropState()\n\t},\n\tcollect: monitor => {\n\t\tif (!monitor.isOver()) {\n\t\t\tresetDropState() // 使用resetDropState函数确保完全重置状态\n\t\t}\n\t\treturn {}\n\t},\n}))\n\n// 解析块组件类型\nconst resolveBlockComponent = (type: BlockType) => {\n\tconst componentMap: Record<string, Component> = {\n\t\tbutton: BlockButton,\n\t\tlink: BlockLink,\n\t\tdivider: BlockDivider,\n\t\theader: BlockHeader,\n\t\ttext: BlockText,\n\t\timage: BlockImage,\n\t\tmenu: BlockMenu,\n\t\tcopyright: BlockCopyright,\n\t}\n\n\treturn componentMap[type] || null\n}\n\n// 使用防抖处理滚动和调整大小事件\nconst handleScroll = debounce(\n\t() => {\n\t\tif (isOver.value) {\n\t\t\tupdateBlockPositions() // 滚动时更新位置缓存\n\t\t}\n\t},\n\t100,\n\t{ leading: true, maxWait: 200 }\n)\n\nconst handleResize = debounce(\n\t() => {\n\t\tif (isOver.value) {\n\t\t\tupdateBlockPositions() // 调整大小时更新位置缓存\n\t\t}\n\t},\n\t100,\n\t{ leading: true, maxWait: 200 }\n)\n\n// 添加和移除事件监听\nonMounted(() => {\n\twindow.addEventListener('scroll', handleScroll, { passive: true })\n\twindow.addEventListener('resize', handleResize, { passive: true })\n})\n\nonUnmounted(() => {\n\twindow.removeEventListener('scroll', handleScroll)\n\twindow.removeEventListener('resize', handleResize)\n\n\t// 清理节流和防抖函数\n\tupdateDropIndexThrottled.cancel()\n\thandleScroll.cancel()\n\thandleResize.cancel()\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.cell-container {\n\t&.drop-active {\n\t\tbackground-color: rgba(24, 144, 255, 0.05) !important;\n\t\tborder: 1px dashed #1890ff !important;\n\t}\n\n\t.cell-content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t.block-item {\n\t\tposition: relative;\n\t\ttransition: transform 0.2s;\n\n\t\t&:hover {\n\t\t\tz-index: 1;\n\t\t}\n\t}\n\n\t.block-placeholder {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\theight: 0;\n\t\toverflow: hidden;\n\t\ttransition: height 0.3s;\n\t\tbackground-color: transparent;\n\t\tborder: 1px dashed transparent;\n\t\tborder-radius: 4px;\n\n\t\t&.active {\n\t\t\theight: 50px;\n\t\t\tbackground-color: rgba(24, 144, 255, 0.05);\n\t\t\tborder-color: #1890ff;\n\t\t}\n\n\t\t.placeholder-content {\n\t\t\tcolor: #1890ff;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\talign-items: center;\n\t\t}\n\t}\n\n\t.column-placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\theight: 100px;\n\t\tbackground-color: rgba(62, 158, 212, 0.15);\n\t\tborder: 1px dashed rgba(62, 158, 212, 0.5);\n\t\tcolor: #0079d6;\n\t\tfont-size: 14px;\n\t\ttext-align: center;\n\t\ttransition: all 0.3s;\n\n\t\t&.active {\n\t\t\tcolor: #1890ff;\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/layout/Columns.vue",
    "content": "<template>\n\t<block-section :data=\"data\" block-type=\"columns\" :block-index=\"index\">\n\t\t<div ref=\"columnsLayoutRef\" class=\"columns-layout\" :style=\"columnsStyle\">\n\t\t\t<template v-for=\"(key, idx) in data.children\" :key=\"key\">\n\t\t\t\t<block-cell :blockKey=\"key\" :data=\"cellMap[key]\"> </block-cell>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"idx < data.children.length - 1\"\n\t\t\t\t\tv-show=\"isBlockSelected\"\n\t\t\t\t\tclass=\"column-divider\"\n\t\t\t\t\t:class=\"{ active: isResizing && currentResizeIndex === idx }\"\n\t\t\t\t\t@mousedown=\"startResizing($event, idx)\"></div>\n\t\t\t</template>\n\t\t</div>\n\t</block-section>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useStyle } from '../../hooks/useStyle'\nimport { useConfig } from '../../hooks/useConfig'\nimport { BlockColumnsType } from '../../types/base'\n\nimport BlockSection from './Section.vue'\nimport BlockCell from './Cell.vue'\n\nconst { data } = defineProps({\n\tindex: Number,\n\tdata: {\n\t\ttype: Object as PropType<BlockColumnsType>,\n\t\trequired: true,\n\t},\n})\n\nconst { columnsConfigMap, cellMap, selectedBlockKey, pageConfig } = useConfig()\nconst { configToStyle } = useStyle()\n\n// 使用shallowRef代替ref，避免不必要的深层响应式跟踪\nconst columnsLayoutRef = shallowRef<HTMLElement | null>(null)\nconst columnWidths = ref<number[]>([])\nconst isResizing = ref(false)\nconst currentResizeIndex = ref(-1)\nconst startX = ref(0)\nconst startWidths = ref<number[]>([])\n\n// 单元格样式\nconst columnsStyle = computed(() => {\n\tconst { style } = columnsConfigMap.value[data.key]\n\treturn {\n\t\t...configToStyle(style),\n\t\twidth: pageConfig.value.style.width,\n\t}\n})\n\n// 判断当前区块是否被选中\nconst isBlockSelected = computed(() => selectedBlockKey.value === data.key)\n\n// 添加一个变量来跟踪更新数据的计时器\nconst updateDataTimeout = ref<number | null>(null)\n\n// 更新列宽度到数据模型的函数\nconst updateColumnsDataModel = (leftIndex: number, rightIndex: number) => {\n\tif (updateDataTimeout.value) {\n\t\tclearTimeout(updateDataTimeout.value)\n\t}\n\n\tupdateDataTimeout.value = window.setTimeout(() => {\n\t\tcellMap.value[data.children[leftIndex]].width = columnWidths.value[leftIndex]\n\t\tcellMap.value[data.children[rightIndex]].width = columnWidths.value[rightIndex]\n\t\tupdateDataTimeout.value = null\n\t}, 16) // 约一帧的时间\n}\n\n// 监听列数变化\nwatch(\n\t() => data.children.length,\n\t() => initColumnWidths()\n)\n\nconst initColumnWidths = () => {\n\tif (!data?.children?.length) return\n\n\t// 初始化列宽度，确保总和为100%\n\tconst totalColumns = data.children.length\n\tconst defaultWidth = Math.floor(100 / totalColumns)\n\tconst remainder = 100 - defaultWidth * totalColumns\n\n\tcolumnWidths.value = data.children.map((cellKey, index) => {\n\t\tconst child = cellMap.value[cellKey]\n\t\t// 使用有效宽度或计算默认宽度\n\t\tif (typeof child.width === 'number' && !isNaN(child.width)) {\n\t\t\treturn child.width\n\t\t} else {\n\t\t\t// 将余数分配给最后一列\n\t\t\tconst width = index === totalColumns - 1 ? defaultWidth + remainder : defaultWidth\n\t\t\t// 更新数据模型\n\t\t\tchild.width = width\n\t\t\treturn width\n\t\t}\n\t})\n\n\t// 验证总宽度\n\tvalidateTotalWidth()\n}\n\n// 验证并修正总宽度\nconst validateTotalWidth = () => {\n\tif (!columnWidths.value || columnWidths.value.length === 0) return\n\n\tconst total = columnWidths.value.reduce((sum, width) => sum + (isNaN(width) ? 0 : width), 0)\n\tif (total !== 100) {\n\t\t// 如果总宽度不是100%，则调整最后一列的宽度\n\t\tconst diff = 100 - total\n\t\tconst lastIndex = columnWidths.value.length - 1\n\t\tcolumnWidths.value[lastIndex] = Math.max(10, (columnWidths.value[lastIndex] || 0) + diff)\n\n\t\t// 同时更新数据模型\n\t\tif (data.children[lastIndex]) {\n\t\t\tcellMap.value[data.children[lastIndex]].width = columnWidths.value[lastIndex]\n\t\t}\n\t}\n}\n\nconst startResizing = (event: MouseEvent, idx: number) => {\n\tif (idx < 0 || idx >= data.children.length - 1) return\n\n\tevent.preventDefault() // 阻止默认行为\n\n\tisResizing.value = true\n\tcurrentResizeIndex.value = idx\n\tstartX.value = event.clientX\n\n\t// 确保列宽数组已初始化\n\tif (columnWidths.value.length === 0) {\n\t\tinitColumnWidths()\n\t}\n\n\t// 获取当前拖动的两列元素\n\tconst cells = columnsLayoutRef.value?.querySelectorAll('.cell-container')\n\tif (!cells || cells.length <= idx + 1) {\n\t\tisResizing.value = false\n\t\treturn\n\t}\n\n\tconst leftWidth = cells[idx].getBoundingClientRect().width\n\tconst rightWidth = cells[idx + 1].getBoundingClientRect().width\n\n\tif (leftWidth > 0 && rightWidth > 0) {\n\t\tstartWidths.value = [leftWidth, rightWidth]\n\n\t\t// 添加事件监听\n\t\taddResizeEventListeners()\n\n\t\t// 禁用选择和设置鼠标样式\n\t\tdocument.body.style.userSelect = 'none'\n\t\tdocument.body.style.cursor = 'col-resize'\n\t} else {\n\t\tisResizing.value = false\n\t}\n}\n\n// 添加调整大小的事件监听器\nconst addResizeEventListeners = () => {\n\t// 使用捕获阶段以确保更高的优先级\n\tdocument.addEventListener('mousemove', handleMouseMove, { passive: false, capture: true })\n\tdocument.addEventListener('mouseup', stopResizing, { passive: false, capture: true })\n\n\t// 添加触摸事件支持\n\tdocument.addEventListener('touchmove', handleTouchMove, { passive: false, capture: true })\n\tdocument.addEventListener('touchend', stopResizing, { passive: false, capture: true })\n\tdocument.addEventListener('touchcancel', stopResizing, { passive: false, capture: true })\n}\n\n// 移除调整大小的事件监听器\nconst removeResizeEventListeners = () => {\n\tdocument.removeEventListener('mousemove', handleMouseMove, { capture: true })\n\tdocument.removeEventListener('mouseup', stopResizing, { capture: true })\n\tdocument.removeEventListener('touchmove', handleTouchMove, { capture: true })\n\tdocument.removeEventListener('touchend', stopResizing, { capture: true })\n\tdocument.removeEventListener('touchcancel', stopResizing, { capture: true })\n}\n\n// 处理触摸移动事件\nconst handleTouchMove = (event: TouchEvent) => {\n\tif (!isResizing.value || !event.touches[0]) return\n\n\tevent.preventDefault()\n\n\t// 将触摸事件转换为鼠标事件格式\n\tconst touchEvent = {\n\t\tclientX: event.touches[0].clientX,\n\t\tpreventDefault: () => event.preventDefault(),\n\t} as MouseEvent\n\n\thandleMouseMove(touchEvent)\n}\n\n// 使用 requestAnimationFrame 优化拖拽操作\nlet rafId: number | null = null\nlet lastMoveEvent: MouseEvent | null = null\n\nconst handleMouseMove = (event: MouseEvent) => {\n\tevent.preventDefault() // 阻止默认行为\n\n\tif (!isResizing.value) return\n\n\t// 存储最新的事件对象\n\tlastMoveEvent = event\n\n\t// 如果已经有等待执行的动画帧，则不再请求新的\n\tif (rafId === null) {\n\t\trafId = requestAnimationFrame(updateColumnWidths)\n\t}\n}\n\n// 使用防抖优化的拖动更新\nconst updateColumnWidths = () => {\n\trafId = null\n\n\tif (!lastMoveEvent || !isResizing.value) return\n\n\tconst event = lastMoveEvent\n\tconst idx = currentResizeIndex.value\n\n\t// 确保索引和起始宽度有效\n\tif (\n\t\tidx < 0 ||\n\t\tidx >= columnWidths.value.length - 1 ||\n\t\tstartWidths.value.length < 2 ||\n\t\tstartWidths.value[0] <= 0 ||\n\t\tstartWidths.value[1] <= 0\n\t) {\n\t\treturn\n\t}\n\n\t// 计算新宽度 - 使用更高效的计算方式\n\tconst totalWidth = startWidths.value[0] + startWidths.value[1]\n\tconst deltaX = event.clientX - startX.value\n\tconst newLeftWidth = Math.max(50, Math.min(totalWidth - 50, startWidths.value[0] + deltaX))\n\n\t// 获取两列的总百分比宽度\n\tconst twoColumnsTotalPercent = columnWidths.value[idx] + columnWidths.value[idx + 1]\n\n\t// 最小百分比\n\tconst minPercentage = 10\n\tconst maxLeftPercent = twoColumnsTotalPercent - minPercentage\n\n\t// 计算新的百分比，确保在可接受范围内\n\tlet newLeftPercent = Math.round((newLeftWidth / totalWidth) * twoColumnsTotalPercent)\n\tnewLeftPercent = Math.max(minPercentage, Math.min(maxLeftPercent, newLeftPercent))\n\tlet newRightPercent = twoColumnsTotalPercent - newLeftPercent\n\n\t// 更新宽度\n\tcolumnWidths.value[idx] = newLeftPercent\n\tcolumnWidths.value[idx + 1] = newRightPercent\n\n\t// 更新数据模型\n\tupdateColumnsDataModel(idx, idx + 1)\n}\n\nconst stopResizing = (event: MouseEvent | TouchEvent) => {\n\tevent.preventDefault()\n\n\tisResizing.value = false\n\n\t// 取消任何挂起的动画帧\n\tif (rafId !== null) {\n\t\tcancelAnimationFrame(rafId)\n\t\trafId = null\n\t}\n\n\t// 确保最终状态被更新到数据模型\n\tif (updateDataTimeout.value) {\n\t\tclearTimeout(updateDataTimeout.value)\n\t\tupdateDataTimeout.value = null\n\n\t\tconst idx = currentResizeIndex.value\n\t\tif (idx >= 0 && idx < columnWidths.value.length - 1) {\n\t\t\tcellMap.value[data.children[idx]].width = columnWidths.value[idx]\n\t\t\tcellMap.value[data.children[idx + 1]].width = columnWidths.value[idx + 1]\n\t\t}\n\t}\n\n\t// 移除事件监听器\n\tremoveResizeEventListeners()\n\n\t// 恢复正常状态\n\tdocument.body.style.userSelect = ''\n\tdocument.body.style.cursor = ''\n\n\tlastMoveEvent = null\n}\n\nonMounted(() => {\n\tinitColumnWidths()\n})\n\nonUnmounted(() => {\n\t// 确保在组件销毁时清理所有事件监听器\n\tif (rafId !== null) {\n\t\tcancelAnimationFrame(rafId)\n\t}\n\tif (updateDataTimeout.value) {\n\t\tclearTimeout(updateDataTimeout.value)\n\t}\n\tremoveResizeEventListeners()\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.columns-layout {\n\tposition: relative;\n\tdisplay: flex;\n\tmargin: 0 auto;\n\n\t.column-divider {\n\t\tposition: relative;\n\t\twidth: 2px;\n\t\t&::after {\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 50%;\n\t\t\twidth: 2px;\n\t\t\theight: 100%;\n\t\t\ttransform: translateX(-50%);\n\t\t\tbackground-color: #0871c2;\n\t\t\topacity: 0.5;\n\t\t\ttransition: all 0.2s ease;\n\t\t\tcursor: col-resize;\n\t\t}\n\t\t&:hover,\n\t\t&.active {\n\t\t\t&::after {\n\t\t\t\twidth: 4px;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/layout/Section.vue",
    "content": "<template>\n\t<div\n\t\t:ref=\"preview\"\n\t\tclass=\"block-base\"\n\t\t:class=\"[`block-${blockType}`, { 'is-selected': isSelected }, { 'is-dragging': isDragging }]\"\n\t\t:data-block-id=\"data.key\"\n\t\t:style=\"sectionStyle\"\n\t\t@click.stop=\"handleSelect\">\n\t\t<div class=\"block-section\">\n\t\t\t<!-- 选中工具栏 -->\n\t\t\t<BlockToolbar v-show=\"isSelected && !isDragging\" :cell-key=\"cellKey\" :data=\"data\" />\n\t\t\t<!-- 悬浮提示 -->\n\t\t\t<!-- <div v-show=\"isHovered && !isSelected\" class=\"block-type-hint\">\n\t\t\t{{ getDisplayName() }}\n\t\t</div> -->\n\t\t\t<!-- 列组件拖拽排序按钮 -->\n\t\t\t<div\n\t\t\t\tv-if=\"data.type === 'columns'\"\n\t\t\t\t:ref=\"columnsDrag\"\n\t\t\t\tclass=\"drag-handle columns-drag-handle\">\n\t\t\t\t<i class=\"drag-icon\">≡</i>\n\t\t\t</div>\n\t\t\t<!-- 基础组件拖拽排序按钮 -->\n\t\t\t<div v-if=\"data.type !== 'columns'\" :ref=\"drag\" class=\"drag-handle\">\n\t\t\t\t<i class=\"drag-icon\">≡</i>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"block-content\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useDrag } from 'vue3-dnd'\nimport { cloneDeep } from 'lodash-es'\nimport { useStyle } from '../../hooks/useStyle'\nimport { useConfig } from '../../hooks/useConfig'\nimport { BlockBaseType, BlockType } from '../../types/base'\n\nimport BlockToolbar from './Toolbar.vue'\n\nconst { data, cellKey, blockIndex, blockType } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n\tcellKey: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\tblockType: {\n\t\ttype: String as PropType<BlockType>,\n\t\trequired: true,\n\t},\n\tblockIndex: {\n\t\ttype: Number,\n\t\tdefault: -1,\n\t},\n})\n\nconst emit = defineEmits<{\n\tselect: []\n\tunSelect: []\n}>()\n\nconst { selectedBlockKey, columnsConfigMap, blockConfigMap, selectBlock } = useConfig()\nconst { configToStyle } = useStyle()\n\n// 判断当前组件是否被选中\nconst isSelected = computed(() => {\n\treturn selectedBlockKey.value === data.key\n})\n\n// 处理组件选中事件\nconst handleSelect = () => {\n\tselectBlock(data.key, data.type)\n\temit('select')\n}\n\nconst sectionStyle = computed(() => {\n\tlet style = {}\n\tif (data.type === 'columns') {\n\t\tstyle = columnsConfigMap.value[data.key].containerStyle\n\t} else {\n\t\tstyle = blockConfigMap.value[data.key].containerStyle\n\t}\n\treturn configToStyle(style)\n})\n\n// 获取显示名称\n// const getDisplayName = () => {\n// \treturn props.data.name\n// }\n\n// 使用vue3-dnd的useDrag hook\nconst [baseCollect, drag, preview] = useDrag(() => ({\n\ttype: 'SORT_BASE_BLOCK',\n\titem: () => ({\n\t\ttype: 'SORT_BASE_BLOCK',\n\t\tsourceIndex: blockIndex,\n\t\tsourceCellKey: cellKey,\n\t\tblockData: cloneDeep(data),\n\t}),\n\tcollect: monitor => ({\n\t\tisDragging: monitor.isDragging(),\n\t}),\n}))\n\nconst [columnsCollect, columnsDrag] = useDrag(() => ({\n\ttype: 'SORT_COLUMNS_BLOCK',\n\titem: () => ({\n\t\ttype: 'SORT_COLUMNS_BLOCK',\n\t\tsourceIndex: blockIndex,\n\t\tblockData: cloneDeep(data),\n\t}),\n\tcollect: monitor => ({\n\t\tisDragging: monitor.isDragging(),\n\t}),\n}))\n\nconst isDragging = computed(() => {\n\treturn baseCollect.value.isDragging || columnsCollect.value.isDragging\n})\n\nwatch(\n\t() => isDragging.value,\n\tnewVal => {\n\t\tif (newVal === true) {\n\t\t\temit('unSelect')\n\t\t}\n\t}\n)\n\nwatch(\n\t() => isSelected.value,\n\t(newVal, oldVal) => {\n\t\tif (newVal === false && oldVal === true) {\n\t\t\temit('unSelect')\n\t\t}\n\t}\n)\n</script>\n\n<style lang=\"scss\" scoped>\n.block-base {\n\tposition: relative;\n\n\t.block-section {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\twidth: 100%;\n\t\tuser-select: none;\n\n\t\t&::after {\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\topacity: 0;\n\t\t\tbackground-color: transparent;\n\t\t\tz-index: 100;\n\t\t\tpointer-events: none;\n\t\t}\n\n\t\t&:hover {\n\t\t\t&::after {\n\t\t\t\topacity: 1;\n\t\t\t\tborder: 2px solid #4eaef8;\n\t\t\t}\n\n\t\t\t.drag-handle {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.is-selected {\n\t\t> .block-section {\n\t\t\t&::after {\n\t\t\t\topacity: 1;\n\t\t\t\tborder: 2px solid #0871c2;\n\t\t\t}\n\n\t\t\t.drag-handle {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.is-dragging {\n\t\topacity: 0.4;\n\t}\n\n\t.block-content {\n\t\tmargin: 0 auto;\n\t}\n\n\t.block-type-hint {\n\t\tposition: absolute;\n\t\tbottom: -24px;\n\t\tleft: 0;\n\t\tbackground: rgba(0, 0, 0, 0.6);\n\t\tcolor: white;\n\t\tpadding: 2px 8px;\n\t\tborder-radius: 3px;\n\t\tfont-size: 12px;\n\t\topacity: 0.8;\n\t\tpointer-events: none;\n\t\tz-index: 102;\n\t}\n\n\t// 拖拽手柄样式\n\t.drag-handle {\n\t\tposition: absolute;\n\t\tright: -12px;\n\t\ttop: 50%;\n\t\ttransform: translateY(-50%);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 24px;\n\t\theight: 24px;\n\t\tborder-radius: 3px;\n\t\tbackground-color: #fff;\n\t\tborder: 1px solid #e8e8e8;\n\t\tcursor: grab;\n\t\tz-index: 101;\n\t\tcolor: #909399;\n\t\topacity: 0;\n\t\ttransition: opacity 0.2s;\n\n\t\t&.columns-drag-handle {\n\t\t\tright: 0;\n\t\t}\n\n\t\t&:hover {\n\t\t\tcolor: #1890ff;\n\t\t}\n\n\t\t.drag-icon {\n\t\t\tfont-style: normal;\n\t\t\tfont-size: 16px;\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/layout/Toolbar.vue",
    "content": "<template>\n\t<div class=\"block-toolbar\">\n\t\t<button class=\"tool-btn\" @click.stop=\"duplicate\">\n\t\t\t<i class=\"i-ri:file-copy-line text-16px text-#fff\"></i>\n\t\t</button>\n\t\t<button class=\"tool-btn\" @click.stop=\"remove\">\n\t\t\t<i class=\"i-mdi:delete-outline text-16px text-#fff\"></i>\n\t\t</button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport { BlockBaseType } from '../../types/base'\n\nconst { cellKey, data } = defineProps({\n\tcellKey: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tdata: {\n\t\ttype: Object as PropType<BlockBaseType>,\n\t\trequired: true,\n\t},\n})\n\nconst { duplicateBlock, duplicateColumn, removeBlock, removeColumn } = useConfig()\n\nconst duplicate = () => {\n\tif (data.type !== 'columns') {\n\t\tduplicateBlock(cellKey, data.key)\n\t} else {\n\t\tduplicateColumn(data.key)\n\t}\n}\n\nconst remove = () => {\n\tif (data.type !== 'columns') {\n\t\tremoveBlock(cellKey, data.key)\n\t} else {\n\t\tremoveColumn(data.key)\n\t}\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.block-toolbar {\n\tposition: absolute;\n\tbottom: -36px;\n\tright: 0;\n\tdisplay: flex;\n\tbackground-color: #1890ff;\n\tborder-radius: 4px 4px 0 0;\n\tz-index: 101;\n\n\t.tool-btn {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tpadding: 0;\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\tcolor: white;\n\t\tcursor: pointer;\n\t\ttransition: background-color 0.2s;\n\n\t\tsvg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground-color: rgba(0, 0, 0, 0.1);\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/menu/block.vue",
    "content": "<template>\n\t<div :ref=\"drag\" class=\"block-item\">\n\t\t<div class=\"icon\">\n\t\t\t<component :is=\"iconMap[type]\"></component>\n\t\t</div>\n\t\t<div class=\"text\">{{ data.name }}</div>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { VNodeChild } from 'vue'\nimport { useDrag } from 'vue3-dnd'\nimport { cloneDeep } from 'lodash-es'\nimport { BlockType, MenuBlock } from '../../types/base'\n\nconst { type, data } = defineProps({\n\ttype: {\n\t\ttype: String as PropType<BlockType>,\n\t\trequired: true,\n\t},\n\tdata: {\n\t\ttype: Object as PropType<MenuBlock>,\n\t\trequired: true,\n\t},\n})\n\nconst [, drag] = useDrag(() => {\n\treturn {\n\t\ttype: type === 'columns' ? 'ADD_COLUMNS_BLOCK' : 'ADD_BASE_BLOCK',\n\t\titem: {\n\t\t\ttype: type === 'columns' ? 'ADD_COLUMNS_BLOCK' : 'ADD_BASE_BLOCK',\n\t\t\tblockData: cloneDeep(data),\n\t\t},\n\t}\n})\n\nconst iconMap: Record<BlockType, () => VNodeChild> = {\n\tcolumns: () => <i class=\"i-mdi:view-column-outline\"></i>,\n\tbutton: () => <i class=\"i-mdi:button-outline\"></i>,\n\tlink: () => <i class=\"i-mdi:link\"></i>,\n\tdivider: () => <i class=\"i-mdi:horizontal-line\"></i>,\n\theader: () => <i class=\"i-ri:heading\"></i>,\n\ttext: () => <i class=\"i-mdi:format-text\"></i>,\n\timage: () => <i class=\"i-mdi:file-image\"></i>,\n\tmenu: () => <i class=\"i-mdi:menu\"></i>,\n\tplaceholder: () => <i></i>,\n\tcell: () => <i></i>,\n\thtml: () => <i></i>,\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.block-item {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\tgap: 8px;\n\theight: 74px;\n\tborder: 1px solid #d4d4d4;\n\tbackground-color: #fff;\n\tborder-radius: 2px;\n\ttext-align: center;\n\tfont-weight: 500;\n\tcursor: grab;\n\ttransition: box-shadow 0.1s;\n\n\t.icon {\n\t\twidth: 26px;\n\t\theight: 26px;\n\t\tfont-size: 26px;\n\t}\n\n\t&:hover {\n\t\tbox-shadow: rgba(0, 0, 0, 0.17) -2px 7px 20px;\n\t\tborder: 1px solid #eeeeee;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/menu/index.vue",
    "content": "<template>\n\t<div class=\"block-panel\">\n\t\t<div class=\"block-list\">\n\t\t\t<block-item v-for=\"item of componentsPreset\" :key=\"item.type\" :type=\"item.type\" :data=\"item\">\n\t\t\t</block-item>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { MenuBlock } from '../../types/base'\nimport BlockItem from './block.vue'\n\n/**\n * @description 菜单数据源\n */\nconst componentsPreset = ref<MenuBlock[]>([\n\t{\n\t\ttype: 'columns',\n\t\tname: 'Columns',\n\t\tkey: '0',\n\t},\n\t{\n\t\ttype: 'button',\n\t\tname: 'Button',\n\t\tkey: '0',\n\t},\n\t{\n\t\ttype: 'link',\n\t\tname: 'Link',\n\t\tkey: '0',\n\t},\n\t{\n\t\ttype: 'divider',\n\t\tname: 'Divider',\n\t\tkey: '0',\n\t},\n\t{\n\t\ttype: 'header',\n\t\tname: 'Header',\n\t\tkey: '0',\n\t},\n\t{\n\t\ttype: 'text',\n\t\tname: 'Text',\n\t\tkey: '0',\n\t},\n\t{\n\t\ttype: 'image',\n\t\tname: 'Image',\n\t\tkey: '0',\n\t},\n\t{\n\t\ttype: 'menu',\n\t\tname: 'Menu',\n\t\tkey: '0',\n\t},\n\t// {\n\t// \ttype: 'html',\n\t// \tname: 'HTML',\n\t// \tkey: '0',\n\t// },\n])\n</script>\n\n<style lang=\"scss\" scoped>\n.block-panel {\n\twidth: 100%;\n\theight: 100%;\n\toverflow: auto;\n}\n\n.block-title {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 32px;\n\tmargin-top: 8px;\n\tmargin-bottom: 8px;\n\tfont-size: 14px;\n\tfont-weight: bold;\n\tcolor: #444;\n}\n\n.block-list {\n\tdisplay: grid;\n\tjustify-content: center;\n\tgrid-template-columns: 74px 74px;\n\tpadding: 16px;\n\tgrid-gap: 16px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/shared/Collapse.vue",
    "content": "<template>\n\t<n-collapse arrow-placement=\"right\" display-directive=\"show\">\n\t\t<slot></slot>\n\t</n-collapse>\n</template>\n\n<style lang=\"scss\" scoped>\n.n-collapse {\n\t--n-title-padding: 0;\n\t--n-item-margin: 0;\n\t--n-text-color: #444;\n\t--n-arrow-color: #d4d4d4;\n\t--n-title-text-color: #333;\n\t--n-divider-color: #d4d4d4;\n\n\t:deep(.n-collapse-item) {\n\t\tbackground-color: #fff;\n\n\t\t> .n-collapse-item__header {\n\t\t\t&:hover {\n\t\t\t\tbackground-color: #f9f9f9;\n\t\t\t}\n\n\t\t\t.n-collapse-item__header-main {\n\t\t\t\tjustify-content: space-between;\n\t\t\t\tpadding: 12px 16px;\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\t\t}\n\n\t\t.n-collapse-item__content-inner {\n\t\t\tpadding: 16px;\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/shared/Editor.vue",
    "content": "<template>\n\t<div ref=\"editorBoxRef\" class=\"editor-box\">\n\t\t<div v-show=\"showToolbar\" ref=\"toolbarDomRef\" class=\"toolbar\"></div>\n\t\t<div ref=\"editorDomRef\" class=\"editor\"></div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport '@wangeditor/editor/dist/css/style.css'\nimport {\n\tIDomEditor,\n\tDomEditor,\n\ti18nChangeLanguage,\n\tcreateEditor,\n\tcreateToolbar,\n} from '@wangeditor/editor'\n\nconst { type } = defineProps({\n\ttype: {\n\t\ttype: String as PropType<'button' | 'text' | 'header'>,\n\t\tdefault: 'button',\n\t},\n})\n\n// 编辑器实例，必须用 shallowRef\nconst editorRef = shallowRef<IDomEditor | undefined>(undefined)\n\nconst toolbarDomRef = useTemplateRef('toolbarDomRef')\n\nconst editorDomRef = useTemplateRef('editorDomRef')\n\n// 内容 HTML\nconst valueHtml = defineModel<string>('value')\n\nconst getToolbarKeys = () => {\n\tswitch (type) {\n\t\tcase 'button':\n\t\t\treturn ['bold', 'underline', 'italic', 'through']\n\t\tcase 'text':\n\t\t\treturn [\n\t\t\t\t'bold',\n\t\t\t\t'underline',\n\t\t\t\t'italic',\n\t\t\t\t'through',\n\t\t\t\t'sup',\n\t\t\t\t'sub',\n\t\t\t\t'color',\n\t\t\t\t'bgColor',\n\t\t\t\t'bulletedList',\n\t\t\t\t'numberedList',\n\t\t\t\t'insertLink',\n\t\t\t]\n\t\tcase 'header':\n\t\t\treturn [\n\t\t\t\t'bold',\n\t\t\t\t'underline',\n\t\t\t\t'italic',\n\t\t\t\t'through',\n\t\t\t\t'color',\n\t\t\t\t'bgColor',\n\t\t\t\t'bulletedList',\n\t\t\t\t'numberedList',\n\t\t\t\t'insertLink',\n\t\t\t]\n\t}\n}\n\ni18nChangeLanguage('en')\n\nconst showToolbar = ref(false)\n\nlet lockShow = false\n\n// 计算工具栏位置\nconst updateToolbarPosition = () => {\n\tif (!editorRef.value) return\n\tif (!toolbarDomRef.value) return\n\n\tconst editorEl = editorRef.value.getEditableContainer()\n\tif (!editorEl) return\n\n\tconst rect = editorEl.getBoundingClientRect()\n\n\t// if (!toolbarRef.value.selector) return\n\n\t// 获取工具栏元素，计算其宽度\n\tconst toolbarEl = toolbarDomRef.value.querySelector('.w-e-toolbar')\n\tlet toolbarWidth = 300 // 默认宽度估计值\n\n\tif (toolbarEl) {\n\t\ttoolbarWidth = toolbarEl.getBoundingClientRect().width\n\t}\n\n\t// 计算居中位置\n\tconst leftPosition = rect.left + (rect.width - toolbarWidth) / 2\n\n\ttoolbarDomRef.value.style.top = `${rect.top - 56}px`\n\ttoolbarDomRef.value.style.left = `${leftPosition}px`\n}\n\n// 记录editor实例\nconst handleCreated = (editor: IDomEditor) => {\n\teditorRef.value = editor\n\n\tnextTick(() => {\n\t\t// 添加窗口大小变化监听\n\t\twindow.addEventListener('resize', updateToolbarPosition)\n\n\t\tconst toolbar = DomEditor.getToolbar(editor)\n\t\tif (toolbar) {\n\t\t\tconst linkBtn = toolbar.$box.find('button[data-menu-key=\"insertLink\"]')\n\t\t\tlinkBtn.on('click', () => {\n\t\t\t\tlockShow = true\n\t\t\t})\n\t\t}\n\t})\n}\n\nconst handleFocus = () => {\n\tshowToolbar.value = true\n\tnextTick(() => {\n\t\tupdateToolbarPosition()\n\t})\n}\n\nconst handleBlur = () => {\n\tif (lockShow) {\n\t\tlockShow = false\n\t\treturn\n\t}\n\tshowToolbar.value = false\n}\n\nconst initEditor = () => {\n\tif (!editorDomRef.value) return\n\t// 创建编辑器\n\tconst editor = createEditor({\n\t\tselector: editorDomRef.value,\n\t\thtml: valueHtml.value,\n\t\tmode: 'simple',\n\t\tconfig: {\n\t\t\tautoFocus: false,\n\t\t\tscroll: false,\n\t\t\tplaceholder: '',\n\t\t\tonChange(editor: IDomEditor) {\n\t\t\t\tconst html = editor.getHtml()\n\t\t\t\t// 更新响应式数据，实现编辑器 -> 数据的绑定\n\t\t\t\tvalueHtml.value = html\n\t\t\t},\n\t\t\tonCreated: handleCreated,\n\t\t\tonFocus: handleFocus,\n\t\t\tonBlur: handleBlur,\n\t\t},\n\t})\n\n\tif (!toolbarDomRef.value) return\n\t// 创建工具栏\n\tcreateToolbar({\n\t\teditor,\n\t\tselector: toolbarDomRef.value,\n\t\tmode: 'default',\n\t\tconfig: {\n\t\t\ttoolbarKeys: getToolbarKeys(),\n\t\t},\n\t})\n}\n\nonMounted(() => {\n\tinitEditor()\n})\n\n// 组件销毁时，也及时销毁编辑器\nonBeforeUnmount(() => {\n\tconst editor = editorRef.value\n\tif (editor == null) return\n\teditor.destroy()\n\n\t// 移除事件监听\n\twindow.removeEventListener('resize', updateToolbarPosition)\n})\n\ndefineExpose({\n\tfocus: () => {\n\t\tshowToolbar.value = true\n\t\teditorRef.value?.focus()\n\t},\n\tblur: () => {\n\t\tshowToolbar.value = false\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.editor-box {\n\tposition: relative;\n\twidth: 100%;\n}\n\n.toolbar {\n\tposition: fixed;\n\ttop: -100px;\n\tleft: 0;\n\tz-index: 200;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t:deep(.w-e-toolbar) {\n\t\tmax-width: 500px;\n\t\tpadding: 0 4px;\n\t\tborder: 1px solid #ccc;\n\t\tmargin: 0 auto;\n\n\t\t.w-e-bar {\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.w-e-bar-item {\n\t\t\tdisplay: inline-flex;\n\t\t\tpadding: 4px 2px;\n\n\t\t\tbutton .title {\n\t\t\t\theight: auto;\n\t\t\t\tborder-bottom: none;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.editor {\n\t:deep(.w-e-text-container) {\n\t\tbackground: none;\n\t\tcolor: inherit;\n\n\t\t[data-slate-editor] {\n\t\t\tpadding: 0;\n\t\t\tborder-top: none;\n\t\t}\n\n\t\tp {\n\t\t\tmargin: 0;\n\t\t\tline-height: inherit;\n\t\t}\n\t}\n\n\t:deep(.w-e-modal) {\n\t\tz-index: 100;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/shared/None.vue",
    "content": "<template>\n\t<div class=\"block-none\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup></script>\n\n<style lang=\"scss\" scoped>\n.block-none {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\theight: 100px;\n\tpadding: 10px;\n\tbackground-color: #f9f9f9;\n\tborder: 1px solid #d4d4d4;\n\tborder-radius: 4px;\n\tcolor: #a8a8a8;\n\tfont-size: 14px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/sidebar/ConfigTabs.vue",
    "content": "<template>\n\t<n-tabs v-model:value=\"activeTab\" type=\"line\">\n\t\t<n-tab-pane v-for=\"tab in tabs\" :key=\"tab.name\" :name=\"tab.name\" :tab=\"tab.label\">\n\t\t\t<component :is=\"tab.component\" />\n\t\t</n-tab-pane>\n\t</n-tabs>\n</template>\n\n<script lang=\"ts\" setup>\nimport Content from './Content.vue'\nimport Page from './Page.vue'\n\nconst activeTab = ref('config')\n\nconst tabs = [\n\t{ name: 'config', label: 'Content', component: Content },\n\t{ name: 'page', label: 'Page', component: Page },\n]\n</script>\n\n<style lang=\"scss\" scoped>\n.n-tabs {\n\t--n-tab-padding: 16px 12px 14px;\n\t--n-tab-gap: 0;\n\t--n-pane-padding-top: 0;\n\t--n-tab-font-size: 14px;\n\theight: 100%;\n\t:deep(> .n-tabs-nav .n-tabs-wrapper) {\n\t\twidth: 100%;\n\t\t.n-tabs-tab-wrapper {\n\t\t\tflex: 1;\n\t\t}\n\t\t.n-tabs-tab {\n\t\t\twidth: 100%;\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n\n.n-tab-pane {\n\tflex: 1;\n\toverflow: auto;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/sidebar/Content.vue",
    "content": "<template>\n\t<component :is=\"getComponentByType\" :key=\"selectedBlockKey\"></component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useConfig } from '../../hooks/useConfig'\nimport ColumnsConfig from '../config/Columns.vue'\nimport ButtonConfig from '../config/Button.vue'\nimport LinkConfig from '../config/Link.vue'\nimport DividerConfig from '../config/Divider.vue'\nimport HeaderConfig from '../config/Header.vue'\nimport TextConfig from '../config/Text.vue'\nimport ImageConfig from '../config/Image.vue'\nimport MenuConfig from '../config/Menu.vue'\nimport NoneConfig from '../config/None.vue'\n\nconst { selectedBlockType, selectedBlockKey } = useConfig()\n\nconst getComponentByType = computed(() => {\n\tswitch (selectedBlockType.value) {\n\t\tcase 'columns':\n\t\t\treturn ColumnsConfig\n\t\tcase 'button':\n\t\t\treturn ButtonConfig\n\t\tcase 'link':\n\t\t\treturn LinkConfig\n\t\tcase 'divider':\n\t\t\treturn DividerConfig\n\t\tcase 'header':\n\t\t\treturn HeaderConfig\n\t\tcase 'text':\n\t\t\treturn TextConfig\n\t\tcase 'image':\n\t\t\treturn ImageConfig\n\t\tcase 'menu':\n\t\t\treturn MenuConfig\n\t\tdefault:\n\t\t\treturn NoneConfig // 默认返回 NoneConfig\n\t}\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/sidebar/Page.vue",
    "content": "<template>\n\t<div class=\"p-20px\">\n\t\t<StyleForm v-model:value=\"pageStyle\" />\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useConfig } from '../../hooks/useConfig'\nimport { useSetData } from '../../hooks/useSetData'\nimport { useNormalForm } from '../style/useNormalForm'\n\nconst { pageConfig } = useConfig()\nconst { autoSaveFn } = useSetData()\n\nconst pageStyle = computed({\n\tget() {\n\t\treturn pageConfig.value.style\n\t},\n\tset(newVal) {\n\t\tpageConfig.value.style = newVal\n\t},\n})\n\nwatch(\n\t() => [pageStyle.value],\n\t() => {\n\t\tautoSaveFn()\n\t},\n\t{\n\t\tdeep: true,\n\t}\n)\n\nconst [StyleForm] = useNormalForm([\n\t{\n\t\tattrKey: 'backgroundColor',\n\t\tlabel: 'Background Color',\n\t},\n\t{\n\t\tattrKey: 'widthNumber',\n\t\tlabel: 'Width',\n\t\tkey: 'width',\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/BaseBorder.vue",
    "content": "<!--\n\t@description \n\t\t- 基础边框设置，为Border服务（可以单独设置四条边框）  \n\t\t- 要求数据格式为字符串\n-->\n<template>\n\t<div class=\"flex flex-col gap-8px\">\n\t\t<number-base v-model:value=\"config.width\" placeholder=\"\"> </number-base>\n\t\t<div class=\"w-92px\">\n\t\t\t<n-select v-model:value=\"config.style\" :options=\"options\" placeholder=\"\"> </n-select>\n\t\t</div>\n\t\t<div class=\"w-32px\">\n\t\t\t<n-color-picker v-model:value=\"config.color\" :modes=\"['hex']\">\n\t\t\t\t<template #label><span></span></template>\n\t\t\t</n-color-picker>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { BorderStyle } from '../../types/base'\nimport NumberBase from './BaseNumber.vue'\n\nconst config = defineModel<BorderStyle>('value', {\n\tdefault: () => ({\n\t\twidth: '0',\n\t\tstyle: 'solid',\n\t\tcolor: '',\n\t}),\n})\n\nconst options = [\n\t{ label: 'Solid', value: 'solid' },\n\t{ label: 'Dotted', value: 'dotted' },\n\t{ label: 'Dashed', value: 'dashed' },\n]\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/BaseContainer.vue",
    "content": "<template>\n\t<div class=\"style-container\">\n\t\t<div class=\"style-rows\">\n\t\t\t<div class=\"style-label\">{{ label }}</div>\n\t\t\t<div class=\"style-value\">\n\t\t\t\t<slot name=\"value\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t\t<slot name=\"options\"></slot>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\ndefineProps({\n\tlabel: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.style-container {\n\tpadding: 16px 0;\n\tborder-top: 1px solid #eeeeee;\n\n\t&:first-of-type {\n\t\tpadding-top: 0;\n\t\tborder-top: none;\n\t}\n\n\t&:last-of-type {\n\t\tpadding-bottom: 0;\n\t}\n\n\t.style-rows {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tjustify-content: space-between;\n\n\t\t.style-label {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmin-height: 32px;\n\t\t\tline-height: 24px;\n\t\t\tfont-weight: 500;\n\t\t}\n\n\t\t.style-value {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmin-height: 32px;\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/BaseLabel.vue",
    "content": "<template>\n\t<div class=\"flex items-center h-32px\">\n\t\t<slot></slot>\n\t</div>\n</template>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/BaseNumber.vue",
    "content": "<template>\n\t<n-input-group class=\"w-130px\">\n\t\t<n-input-number\n\t\t\tv-model:value=\"number\"\n\t\t\t:min=\"0\"\n\t\t\t:step=\"step\"\n\t\t\tplaceholder=\"\"\n\t\t\t@update:value=\"onUpdateNumber\">\n\t\t</n-input-number>\n\t\t<n-input-group-label class=\"w-40px text-center\">{{ unit }}</n-input-group-label>\n\t</n-input-group>\n</template>\n\n<script lang=\"ts\" setup>\nconst { unit } = defineProps({\n\tunit: {\n\t\ttype: String,\n\t\tdefault: 'px',\n\t},\n\tstep: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n})\n\nconst value = defineModel<string>('value', {\n\tdefault: '',\n})\n\nconst number = ref(0)\n\nwatch(\n\t() => value.value,\n\tval => {\n\t\tnumber.value = val ? Number.parseFloat(val) : 0\n\t},\n\t{\n\t\timmediate: true,\n\t}\n)\n\nconst onUpdateNumber = (val: number | null) => {\n\tvalue.value = `${val || 0}${unit}`\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Border.vue",
    "content": "<template>\n\t<container :label=\"label || 'Border'\">\n\t\t<template #value>\n\t\t\t<span class=\"mr-12px\">More Options</span>\n\t\t\t<n-switch v-model:value=\"config.more\" @update:value=\"onUpdateMore\"></n-switch>\n\t\t</template>\n\t\t<template #options>\n\t\t\t<more-options :show=\"config.more\">\n\t\t\t\t<template #all>\n\t\t\t\t\t<base-border v-model:value=\"config.all\" />\n\t\t\t\t</template>\n\t\t\t\t<template #top>\n\t\t\t\t\t<base-border v-model:value=\"config.top\" />\n\t\t\t\t</template>\n\t\t\t\t<template #left>\n\t\t\t\t\t<base-border v-model:value=\"config.left\" />\n\t\t\t\t</template>\n\t\t\t\t<template #right>\n\t\t\t\t\t<base-border v-model:value=\"config.right\" />\n\t\t\t\t</template>\n\t\t\t\t<template #bottom>\n\t\t\t\t\t<base-border v-model:value=\"config.bottom\" />\n\t\t\t\t</template>\n\t\t\t</more-options>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport { BorderStyle, MoreStyle } from '../../types/base'\n\nimport Container from './BaseContainer.vue'\nimport MoreOptions from './MoreOptions.vue'\nimport BaseBorder from './BaseBorder.vue'\n\ninterface Props {\n\tlabel?: string\n}\n\nwithDefaults(defineProps<Props>(), {\n\tlabel: '',\n})\n\nconst config = defineModel<MoreStyle<BorderStyle>>('value', {\n\tdefault: () => ({\n\t\tmore: false,\n\t\tall: {\n\t\t\twidth: '0',\n\t\t\tstyle: 'solid',\n\t\t\tcolor: '',\n\t\t},\n\t\ttop: {\n\t\t\twidth: '0',\n\t\t\tstyle: 'solid',\n\t\t\tcolor: '',\n\t\t},\n\t\tleft: {\n\t\t\twidth: '0',\n\t\t\tstyle: 'solid',\n\t\t\tcolor: '',\n\t\t},\n\t\tright: {\n\t\t\twidth: '0',\n\t\t\tstyle: 'solid',\n\t\t\tcolor: '',\n\t\t},\n\t\tbottom: {\n\t\t\twidth: '0',\n\t\t\tstyle: 'solid',\n\t\t\tcolor: '',\n\t\t},\n\t}),\n})\n\nconst onUpdateMore = (val: boolean) => {\n\tif (val) {\n\t\tconfig.value.top = config.value.all\n\t\tconfig.value.right = config.value.all\n\t\tconfig.value.bottom = config.value.all\n\t\tconfig.value.left = config.value.all\n\t} else {\n\t\tconfig.value.all = config.value.top\n\t}\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Color.vue",
    "content": "<template>\n\t<container :label=\"label\">\n\t\t<template #value>\n\t\t\t<div class=\"w-32px\">\n\t\t\t\t<n-color-picker v-model:value=\"color\" :modes=\"['hex']\">\n\t\t\t\t\t<template #label><span></span></template>\n\t\t\t\t</n-color-picker>\n\t\t\t</div>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\ninterface Props {\n\tlabel?: string\n}\n\nwithDefaults(defineProps<Props>(), {\n\tlabel: '',\n})\n\nconst color = defineModel<string>('value', {\n\tdefault: '',\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/ContentText.vue",
    "content": "<template>\n\t<Container label=\"Content\">\n\t\t<template #options>\n\t\t\t<div>\n\t\t\t\t<n-input v-model:value=\"value\"></n-input>\n\t\t\t</div>\n\t\t</template>\n\t</Container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\nconst value = defineModel<string>('value')\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/FontSize.vue",
    "content": "<template>\n\t<container label=\"Font Size\">\n\t\t<template #value>\n\t\t\t<base-number v-model:value=\"value\"></base-number>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\nimport BaseNumber from './BaseNumber.vue'\n\nconst value = defineModel<string>('value', {\n\tdefault: '14px',\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/FontWeight.vue",
    "content": "<template>\n\t<container label=\"Font Weight\">\n\t\t<template #value>\n\t\t\t<div class=\"w-100px\">\n\t\t\t\t<n-select v-model:value=\"value\" :options=\"options\"></n-select>\n\t\t\t</div>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\ninterface Props {\n\tlabel?: string\n}\n\nwithDefaults(defineProps<Props>(), {\n\tlabel: '',\n})\n\nconst value = defineModel<string>('value', {\n\tdefault: '',\n})\n\nconst options = [\n\t{ label: 'Normal', value: 'normal' },\n\t{ label: 'Bold', value: 'bold' },\n]\n\nif (!value.value) {\n\tvalue.value = options[0].value\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Head.vue",
    "content": "<template>\n\t<container label=\"Heading Type\">\n\t\t<template #value>\n\t\t\t<n-radio-group v-model:value=\"value\">\n\t\t\t\t<n-radio-button value=\"22px\">H1</n-radio-button>\n\t\t\t\t<n-radio-button value=\"20px\">H2</n-radio-button>\n\t\t\t\t<n-radio-button value=\"18px\">H3</n-radio-button>\n\t\t\t\t<n-radio-button value=\"16px\">H4</n-radio-button>\n\t\t\t</n-radio-group>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\nconst value = defineModel<string>('value')\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Image.vue",
    "content": "<template>\n\t<container label=\"Image URL\">\n\t\t<template #options>\n\t\t\t<n-input v-model:value=\"value\"></n-input>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\nconst value = defineModel<string>('value')\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Layout.vue",
    "content": "<template>\n\t<container label=\"Layout\">\n\t\t<template #value>\n\t\t\t<div class=\"w-140px\">\n\t\t\t\t<n-select v-model:value=\"value\" :options=\"options\"></n-select>\n\t\t\t</div>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\ninterface Props {\n\tlabel?: string\n}\n\nwithDefaults(defineProps<Props>(), {\n\tlabel: '',\n})\n\nconst value = defineModel<string>('value', {\n\tdefault: '',\n})\n\nconst options = [\n\t{ label: 'Horizontal', value: 'inline-block' },\n\t{ label: 'Vertical', value: 'block' },\n]\n\nif (!value.value) {\n\tvalue.value = options[0].value\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/LetterSpacing.vue",
    "content": "<template>\n\t<container label=\"Letter Spacing\">\n\t\t<template #value>\n\t\t\t<base-number v-model:value=\"value\"></base-number>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\nimport BaseNumber from './BaseNumber.vue'\n\nconst value = defineModel<string>('value', {\n\tdefault: '0px',\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Line.vue",
    "content": "<template>\n\t<container label=\"Line\">\n\t\t<template #value>\n\t\t\t<base-border v-model:value=\"value\"></base-border>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport { BorderStyle } from '../../types/base'\nimport Container from './BaseContainer.vue'\nimport BaseBorder from './BaseBorder.vue'\n\nconst value = defineModel<BorderStyle>('value', {\n\tdefault: () => ({\n\t\twidth: '0',\n\t\tstyle: 'solid',\n\t\tcolor: '',\n\t}),\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/LineHeight.vue",
    "content": "<template>\n\t<container label=\"Line Height\">\n\t\t<template #value>\n\t\t\t<base-number v-model:value=\"value\" unit=\"%\" :step=\"10\"></base-number>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\nimport BaseNumber from './BaseNumber.vue'\n\nconst value = defineModel<string>('value', {\n\tdefault: '120%',\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Link.vue",
    "content": "<template>\n\t<Container label=\"Link\">\n\t\t<template #options>\n\t\t\t<div>\n\t\t\t\t<n-input v-model:value=\"value\" :disabled=\"isUnsubscribe\"></n-input>\n\t\t\t</div>\n\t\t\t<div class=\"mt-12px\">\n\t\t\t\t<n-switch v-model:value=\"target\" :checked-value=\"'_blank'\" :unchecked-value=\"'_self'\">\n\t\t\t\t</n-switch>\n\t\t\t\t<span class=\"ml-8px\">Open link in new tab</span>\n\t\t\t</div>\n\t\t\t<div class=\"mt-12px\">\n\t\t\t\t<n-switch v-model:value=\"isUnsubscribe\" @update:value=\"handleUnsubscribe\"> </n-switch>\n\t\t\t\t<span class=\"ml-8px\">Unsubscribe</span>\n\t\t\t</div>\n\t\t</template>\n\t</Container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\nconst value = defineModel<string>('value')\n\nconst target = defineModel<string>('target')\n\n// 退订\nconst isUnsubscribe = ref(false)\n\nconst handleUnsubscribe = (val: boolean) => {\n\tif (val) {\n\t\tvalue.value = '{{ UnsubscribeURL . }}'\n\t} else {\n\t\tvalue.value = ''\n\t}\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/MoreOptions.vue",
    "content": "<template>\n\t<template v-if=\"!show\">\n\t\t<base-label>All Sides</base-label>\n\t\t<slot name=\"all\"></slot>\n\t</template>\n\t<template v-else>\n\t\t<n-grid x-gap=\"8\" y-gap=\"8\" :cols=\"2\">\n\t\t\t<n-gi>\n\t\t\t\t<base-label>{{ topLabel }}</base-label>\n\t\t\t\t<slot name=\"top\"></slot>\n\t\t\t</n-gi>\n\t\t\t<n-gi>\n\t\t\t\t<base-label>{{ rightLabel }}</base-label>\n\t\t\t\t<slot name=\"right\"></slot>\n\t\t\t</n-gi>\n\t\t\t<n-gi>\n\t\t\t\t<base-label>{{ leftLabel }}</base-label>\n\t\t\t\t<slot name=\"left\"></slot>\n\t\t\t</n-gi>\n\t\t\t<n-gi>\n\t\t\t\t<base-label>{{ bottomLabel }}</base-label>\n\t\t\t\t<slot name=\"bottom\"></slot>\n\t\t\t</n-gi>\n\t\t</n-grid>\n\t</template>\n</template>\n\n<script lang=\"ts\" setup>\nimport BaseLabel from './BaseLabel.vue'\n\ninterface Props {\n\tshow: boolean\n\ttopLabel?: string\n\trightLabel?: string\n\tleftLabel?: string\n\tbottomLabel?: string\n}\n\nwithDefaults(defineProps<Props>(), {\n\tshow: false,\n\ttopLabel: 'Top',\n\trightLabel: 'Right',\n\tleftLabel: 'Left',\n\tbottomLabel: 'Bottom',\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Padding.vue",
    "content": "<template>\n\t<container :label=\"label || 'Padding'\">\n\t\t<template #value>\n\t\t\t<span class=\"mr-12px\">More Options</span>\n\t\t\t<n-switch v-model:value=\"config.more\" @update:value=\"onUpdateMore\"></n-switch>\n\t\t</template>\n\t\t<template #options>\n\t\t\t<more-options :show=\"config.more\">\n\t\t\t\t<template #all>\n\t\t\t\t\t<base-number v-model:value=\"config.all\" />\n\t\t\t\t</template>\n\t\t\t\t<template #top>\n\t\t\t\t\t<base-number v-model:value=\"config.top\" />\n\t\t\t\t</template>\n\t\t\t\t<template #left>\n\t\t\t\t\t<base-number v-model:value=\"config.left\" />\n\t\t\t\t</template>\n\t\t\t\t<template #right>\n\t\t\t\t\t<base-number v-model:value=\"config.right\" />\n\t\t\t\t</template>\n\t\t\t\t<template #bottom>\n\t\t\t\t\t<base-number v-model:value=\"config.bottom\" />\n\t\t\t\t</template>\n\t\t\t</more-options>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport { MoreStyle } from '../../types/base'\n\nimport Container from './BaseContainer.vue'\nimport MoreOptions from './MoreOptions.vue'\nimport BaseNumber from './BaseNumber.vue'\n\ninterface Props {\n\tlabel?: string\n}\n\nwithDefaults(defineProps<Props>(), {\n\tlabel: '',\n})\n\nconst config = defineModel<MoreStyle<string>>('value', {\n\tdefault: () => ({\n\t\tmore: false,\n\t\tall: '',\n\t\ttop: '',\n\t\tleft: '',\n\t\tright: '',\n\t\tbottom: '',\n\t}),\n})\n\nconst onUpdateMore = (val: boolean) => {\n\tif (val) {\n\t\tconfig.value.top = config.value.all\n\t\tconfig.value.right = config.value.all\n\t\tconfig.value.bottom = config.value.all\n\t\tconfig.value.left = config.value.all\n\t} else {\n\t\tconfig.value.all = config.value.top\n\t}\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Rounded.vue",
    "content": "<template>\n\t<container label=\"Rounded Border\">\n\t\t<template #value>\n\t\t\t<span class=\"mr-12px\">More Options</span>\n\t\t\t<n-switch v-model:value=\"config.more\" @update:value=\"onUpdateMore\"></n-switch>\n\t\t</template>\n\t\t<template #options>\n\t\t\t<more-options\n\t\t\t\t:show=\"config.more\"\n\t\t\t\ttop-label=\"Top Left\"\n\t\t\t\tleft-label=\"Bottom Left\"\n\t\t\t\tright-label=\"Top Right\"\n\t\t\t\tbottom-label=\"Bottom Right\">\n\t\t\t\t<template #all>\n\t\t\t\t\t<base-number v-model:value=\"config.all\" />\n\t\t\t\t</template>\n\t\t\t\t<template #top>\n\t\t\t\t\t<base-number v-model:value=\"config.top\" />\n\t\t\t\t</template>\n\t\t\t\t<template #left>\n\t\t\t\t\t<base-number v-model:value=\"config.left\" />\n\t\t\t\t</template>\n\t\t\t\t<template #right>\n\t\t\t\t\t<base-number v-model:value=\"config.right\" />\n\t\t\t\t</template>\n\t\t\t\t<template #bottom>\n\t\t\t\t\t<base-number v-model:value=\"config.bottom\" />\n\t\t\t\t</template>\n\t\t\t</more-options>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport { MoreStyle } from '../../types/base'\n\nimport Container from './BaseContainer.vue'\nimport BaseNumber from './BaseNumber.vue'\nimport MoreOptions from './MoreOptions.vue'\n\nconst config = defineModel<MoreStyle<string>>('value', {\n\tdefault: () => ({\n\t\tmore: false,\n\t\tall: '',\n\t\ttop: '',\n\t\tleft: '',\n\t\tright: '',\n\t\tbottom: '',\n\t}),\n})\n\nconst onUpdateMore = (val: boolean) => {\n\tif (val) {\n\t\tconfig.value.top = config.value.all\n\t\tconfig.value.right = config.value.all\n\t\tconfig.value.bottom = config.value.all\n\t\tconfig.value.left = config.value.all\n\t} else {\n\t\tconfig.value.all = config.value.top\n\t}\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/TextAlign.vue",
    "content": "<template>\n\t<container :label=\"label || 'Text Align'\">\n\t\t<template #value>\n\t\t\t<n-radio-group v-model:value=\"value\">\n\t\t\t\t<n-radio-button value=\"left\">Left</n-radio-button>\n\t\t\t\t<n-radio-button value=\"center\">Center</n-radio-button>\n\t\t\t\t<n-radio-button value=\"right\">Right</n-radio-button>\n\t\t\t</n-radio-group>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\ninterface Props {\n\tlabel?: string\n}\n\nwithDefaults(defineProps<Props>(), {\n\tlabel: '',\n})\n\nconst value = defineModel<string>('value')\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Title.vue",
    "content": "<template>\n\t<container label=\"Alternate Text\">\n\t\t<template #options>\n\t\t\t<n-input v-model:value=\"value\"></n-input>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\n\nconst value = defineModel<string>('value')\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/Width.vue",
    "content": "<template>\n\t<container label=\"Width\">\n\t\t<template #value>\n\t\t\t<!-- <base-number v-model:value=\"value\"></base-number> -->\n\t\t\t<div class=\"w-180px\">\n\t\t\t\t<n-slider v-model:value=\"width\" :step=\"1\" @update:value=\"onUpdateWidth\" />\n\t\t\t</div>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, watch } from \"vue\"\nimport Container from './BaseContainer.vue'\n\nconst value = defineModel<string>('value', {\n\tdefault: '',\n})\n\nconst width = ref(100)\n\nwatch(\n\t() => value.value,\n\tval => {\n\t\twidth.value = Number.parseFloat(val)\n\t},\n\t{\n\t\timmediate: true,\n\t}\n)\n\nconst onUpdateWidth = (val: number) => {\n\tvalue.value = `${val}%`\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/WidthAuto.vue",
    "content": "<template>\n\t<container label=\"Width\">\n\t\t<template #value>\n\t\t\t<span class=\"mr-12px\">Auto On</span>\n\t\t\t<n-switch v-model:value=\"auto\" @update:value=\"onUpdateAuto\"></n-switch>\n\t\t</template>\n\t\t<template #options>\n\t\t\t<div class=\"flex items-center h-32px\">\n\t\t\t\t<n-slider v-model:value=\"width\" :step=\"1\" :disabled=\"auto\" @update:value=\"onUpdateWidth\" />\n\t\t\t\t<span v-if=\"!auto\" class=\"ml-8px whitespace-nowrap\">{{ width }}%</span>\n\t\t\t</div>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, watch } from 'vue'\nimport Container from './BaseContainer.vue'\n\nconst value = defineModel<string>('value', {\n\tdefault: '',\n})\n\nconst auto = ref(true)\n\nconst width = ref(100)\n\nwatch(\n\t() => value.value,\n\tval => {\n\t\tif (val === 'auto') {\n\t\t\tauto.value = true\n\t\t} else {\n\t\t\tauto.value = false\n\t\t\twidth.value = Number.parseFloat(val)\n\t\t}\n\t\tif (!auto.value) {\n\t\t\twidth.value = Number.parseFloat(val)\n\t\t}\n\t},\n\t{\n\t\timmediate: true,\n\t}\n)\n\nconst onUpdateAuto = (val: boolean) => {\n\twidth.value = 100\n\tif (val) {\n\t\tvalue.value = '100%'\n\t} else {\n\t\tvalue.value = `${width.value}%`\n\t}\n}\n\nconst onUpdateWidth = (val: number) => {\n\tvalue.value = `${val}%`\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/WidthNumber.vue",
    "content": "<template>\n\t<container label=\"Width\">\n\t\t<template #value>\n\t\t\t<base-number v-model:value=\"value\"></base-number>\n\t\t</template>\n\t</container>\n</template>\n\n<script lang=\"ts\" setup>\nimport Container from './BaseContainer.vue'\nimport BaseNumber from './BaseNumber.vue'\n\nconst value = defineModel<string>('value', {\n\tdefault: '500px',\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/style/useNormalForm.tsx",
    "content": "import { Slots, VNodeChild } from 'vue'\n\nimport FormHead from './Head.vue'\nimport FormColor from './Color.vue'\nimport FormWidth from './Width.vue'\nimport FormWidthAuto from './WidthAuto.vue'\nimport FormWidthNumber from './WidthNumber.vue'\nimport FormFontWeight from './FontWeight.vue'\nimport FormFontSize from './FontSize.vue'\nimport FormLineHeight from './LineHeight.vue'\nimport FormLetterSpacing from './LetterSpacing.vue'\nimport FormTextAlign from './TextAlign.vue'\nimport FormLine from './Line.vue'\nimport FormBorder from './Border.vue'\nimport FormPadding from './Padding.vue'\nimport FormBorderRadius from './Rounded.vue'\nimport FormLayout from './Layout.vue'\n\ntype FormOption = {\n\tattrKey: string\n\tkey?: string\n\tlabel?: string\n\trender?: () => VNodeChild\n}\n\nexport function useNormalForm(options: FormOption[]) {\n\tconst StyleForm = defineComponent({\n\t\tsetup(props, { slots }) {\n\t\t\treturn () => <CustomForm options={options}>{slots}</CustomForm>\n\t\t},\n\t})\n\n\treturn [StyleForm]\n}\n\nconst CustomForm = defineComponent({\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: Object as PropType<Record<string, unknown>>,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\toptions: {\n\t\t\ttype: Array as PropType<FormOption[]>,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => (\n\t\t\t<>\n\t\t\t\t{props.options.map(option => {\n\t\t\t\t\treturn getFormItem(option, props.value, slots)\n\t\t\t\t})}\n\t\t\t</>\n\t\t)\n\t},\n})\n\nfunction getFormItem(option: FormOption, formData: Record<string, unknown>, slots: Slots) {\n\tconst { key, attrKey, label } = option\n\n\tconst formKey = key || attrKey\n\n\tswitch (attrKey) {\n\t\tcase 'color':\n\t\tcase 'backgroundColor':\n\t\t\treturn <FormColor v-model:value={formData[formKey]} label={label} />\n\t\tcase 'head':\n\t\t\treturn <FormHead v-model:value={formData[formKey]} />\n\t\tcase 'padding':\n\t\t\treturn <FormPadding v-model:value={formData[formKey]} label={label} />\n\t\tcase 'border':\n\t\t\treturn <FormBorder v-model:value={formData[formKey]} label={label} />\n\t\tcase 'borderTop':\n\t\t\treturn <FormLine v-model:value={formData[formKey]} />\n\t\tcase 'width':\n\t\t\treturn <FormWidth v-model:value={formData[formKey]} />\n\t\tcase 'widthAuto':\n\t\t\treturn <FormWidthAuto v-model:value={formData[formKey]} />\n\t\tcase 'widthNumber':\n\t\t\treturn <FormWidthNumber v-model:value={formData[formKey]} />\n\t\tcase 'fontWeight':\n\t\t\treturn <FormFontWeight v-model:value={formData[formKey]} />\n\t\tcase 'fontSize':\n\t\t\treturn <FormFontSize v-model:value={formData[formKey]} />\n\t\tcase 'lineHeight':\n\t\t\treturn <FormLineHeight v-model:value={formData[formKey]} />\n\t\tcase 'letterSpacing':\n\t\t\treturn <FormLetterSpacing v-model:value={formData[formKey]} />\n\t\tcase 'textAlign':\n\t\t\treturn <FormTextAlign v-model:value={formData[formKey]} label={label} />\n\t\tcase 'borderRadius':\n\t\t\treturn <FormBorderRadius v-model:value={formData[formKey]} />\n\t\tcase 'layout':\n\t\t\treturn <FormLayout v-model:value={formData[formKey]} />\n\t\tcase 'custom':\n\t\t\treturn customSlotAndRender(option, slots)\n\t}\n}\n\nfunction customSlotAndRender(option: FormOption, slots: Slots) {\n\tif (option.render) {\n\t\treturn <>{option.render()}</>\n\t} else if (option.key) {\n\t\treturn slots[option.key]?.()\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/components/toolbar/index.vue",
    "content": "<template>\n\t<div class=\"editor-tools\">\n\t\t<div>\n\t\t\t<div v-if=\"false\" class=\"tools-view\">\n\t\t\t\t<div class=\"view-item checked\">\n\t\t\t\t\t<i class=\"i-ri:computer-line text-16px\"></i>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"view-item\">\n\t\t\t\t\t<i class=\"i-ri:smartphone-line text-16px\"></i>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\n// import { useModal } from '@/hooks/useModal'\n// import EditorPreview from './preview/index.vue'\n</script>\n\n<style lang=\"scss\" scoped>\n.editor-tools {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\theight: 40px;\n\tmin-height: 40px;\n\tpadding: 0 16px;\n\tborder-bottom: 1px solid #d8dee8;\n}\n\n.tools-view {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n\theight: 28px;\n\tpadding: 2px;\n\tborder: 1px solid #d9d9d9;\n\tborder-radius: 4px;\n\n\t.view-item {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 24px;\n\t\tpadding: 0 4px;\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\n\t\t&.checked {\n\t\t\tbackground-color: #f8f8f8;\n\t\t\tcolor: #3e8bf2;\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/config/addData.ts",
    "content": "export const dragData =\n\t'{\"version\":\"1.0\",\"pageConfig\":{\"meta\":{\"version\":\"1.0\",\"createdAt\":\"\",\"updatedAt\":\"\"},\"style\":{\"backgroundColor\":\"#ffffff\",\"width\":\"500px\"}},\"blockMap\":{\"5465e678c463\":{\"key\":\"5465e678c463\",\"type\":\"divider\",\"name\":\"Divider\"},\"cce8bbc509b0\":{\"key\":\"cce8bbc509b0\",\"type\":\"link\",\"name\":\"Link\"}},\"blockConfigMap\":{\"5465e678c463\":{\"key\":\"5465e678c463\",\"name\":\"Divider\",\"type\":\"divider\",\"meta\":{\"version\":\"1.0\",\"createdAt\":\"2025-05-29 15:08:46\",\"updatedAt\":\"2025-05-29 15:08:46\"},\"attr\":{},\"style\":{\"display\":\"inline-block\",\"width\":\"100%\",\"margin\":\"0px\",\"verticalAlign\":\"middle\",\"boxSizing\":\"border-box\",\"borderTop\":{\"color\":\"#bbbbbb\",\"width\":\"1px\",\"style\":\"solid\"}},\"containerStyle\":{\"lineHeight\":\"1px\",\"textAlign\":\"center\",\"padding\":{\"more\":true,\"all\":\"0\",\"top\":\"16px\",\"left\":\"10px\",\"right\":\"10px\",\"bottom\":\"16px\"}}},\"cce8bbc509b0\":{\"key\":\"cce8bbc509b0\",\"name\":\"Link\",\"type\":\"link\",\"meta\":{\"version\":\"1.0\",\"createdAt\":\"2025-05-29 15:08:50\",\"updatedAt\":\"2025-05-29 15:08:50\"},\"attr\":{\"href\":\"{{ UnsubscribeURL . }}\",\"target\":\"_blank\",\"content\":\"<p><u>Unsubscribe</u></p>\"},\"style\":{\"display\":\"inline-block\",\"color\":\"#A2A2A2FF\",\"fontWeight\":\"normal\",\"fontSize\":\"12px\",\"lineHeight\":\"120%\",\"letterSpacing\":\"0px\",\"textDecoration\":\"none\"},\"containerStyle\":{\"textAlign\":\"center\",\"padding\":{\"more\":false,\"all\":\"10px\",\"top\":\"0\",\"left\":\"0\",\"right\":\"0\",\"bottom\":\"0\"}}}},\"cellMap\":{\"f97369cdf06b\":{\"key\":\"f97369cdf06b\",\"width\":100,\"name\":\"Cell\",\"type\":\"cell\",\"children\":[]},\"aa00c13d49a1\":{\"key\":\"aa00c13d49a1\",\"width\":100,\"name\":\"Cell\",\"type\":\"cell\",\"children\":[\"5465e678c463\",\"cce8bbc509b0\"]}},\"cellConfigMap\":{\"f97369cdf06b\":{\"key\":\"f97369cdf06b\",\"name\":\"Cell\",\"type\":\"cell\",\"meta\":{\"version\":\"1.0\",\"createdAt\":\"2025-05-29 15:08:43\",\"updatedAt\":\"2025-05-29 15:08:43\"},\"attr\":{},\"style\":{\"backgroundColor\":\"\",\"padding\":{\"more\":false,\"all\":\"0\",\"top\":\"0\",\"left\":\"0\",\"right\":\"0\",\"bottom\":\"0\"},\"border\":{\"more\":false,\"all\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"},\"top\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"},\"right\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"},\"bottom\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"},\"left\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"}}},\"containerStyle\":{}},\"aa00c13d49a1\":{\"key\":\"aa00c13d49a1\",\"name\":\"Cell\",\"type\":\"cell\",\"meta\":{\"version\":\"1.0\",\"createdAt\":\"2025-05-29 15:08:45\",\"updatedAt\":\"2025-05-29 15:08:45\"},\"attr\":{},\"style\":{\"backgroundColor\":\"\",\"padding\":{\"more\":false,\"all\":\"0\",\"top\":\"0\",\"left\":\"0\",\"right\":\"0\",\"bottom\":\"0\"},\"border\":{\"more\":false,\"all\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"},\"top\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"},\"right\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"},\"bottom\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"},\"left\":{\"color\":\"\",\"width\":\"0\",\"style\":\"solid\"}}},\"containerStyle\":{}}},\"columnsConfigMap\":{\"32e55869088d\":{\"key\":\"32e55869088d\",\"name\":\"Columns\",\"type\":\"columns\",\"meta\":{\"version\":\"1.0\",\"createdAt\":\"2025-05-29 15:08:43\",\"updatedAt\":\"2025-05-29 15:08:43\"},\"attr\":{},\"style\":{\"backgroundColor\":\"\",\"padding\":{\"more\":false,\"all\":\"0\",\"top\":\"0\",\"left\":\"0\",\"right\":\"0\",\"bottom\":\"0\"}},\"containerStyle\":{\"backgroundColor\":\"\"}},\"876dd2390f51\":{\"key\":\"876dd2390f51\",\"name\":\"Columns\",\"type\":\"columns\",\"meta\":{\"version\":\"1.0\",\"createdAt\":\"2025-05-29 15:08:45\",\"updatedAt\":\"2025-05-29 15:08:45\"},\"attr\":{},\"style\":{\"backgroundColor\":\"\",\"padding\":{\"more\":false,\"all\":\"0\",\"top\":\"0\",\"left\":\"0\",\"right\":\"0\",\"bottom\":\"0\"}},\"containerStyle\":{\"backgroundColor\":\"\"}}},\"columnsMap\":{\"32e55869088d\":{\"key\":\"32e55869088d\",\"type\":\"columns\",\"name\":\"Columns\",\"children\":[\"f97369cdf06b\"]},\"876dd2390f51\":{\"key\":\"876dd2390f51\",\"type\":\"columns\",\"name\":\"Columns\",\"children\":[\"aa00c13d49a1\"]}},\"columnsSource\":[\"32e55869088d\",\"876dd2390f51\"]}'\n\nexport const dragHtml =\n\t'<table style=\"background-color: rgb(255, 255, 255); width: 100%;\"><tr><td><div style=\"padding: 0px; width: 500px; margin: 0px auto;\"><table style=\"width: 100%;\"><tr><td style=\"width: 100%; padding: 0px;\"></td></tr></table></div></td></tr><tr><td><div style=\"padding: 0px; width: 500px; margin: 0px auto;\"><table style=\"width: 100%;\"><tr><td style=\"width: 100%; padding: 0px;\"><div style=\"line-height: 1px; text-align: center; padding: 16px 10px;\"><hr style=\"display: inline-block; width: 100%; margin: 0px; vertical-align: middle; box-sizing: border-box; border-top: 1px solid rgb(187, 187, 187);\"></div><div style=\"text-align: center; padding: 10px;\"><a href=\"{{ UnsubscribeURL . }}\" target=\"_blank\" style=\"display: inline-block; color: rgb(162, 162, 162); font-weight: normal; font-size: 12px; line-height: 120%; letter-spacing: 0px; text-decoration: none;\"><p style=\"margin: 0;\"><u>Unsubscribe</u></p></a></div></td></tr></table></div></td></tr><tr><td><div style=\"display: block; padding: 10px; line-height: 140%; color: rgb(153, 153, 153); text-align: center; font-size: 12px;\"><span>Powered by </span><a href=\"https://www.billionmail.com\" target=\"_blank\" style=\"color: rgb(153, 153, 153); text-decoration: underline;\">BillionMail</a></div></td></tr></table>'\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/config/config.ts",
    "content": "import { BlockColumnsType, BlockCellType, BaseConfig, BlockType } from '../types/base'\nimport { getRandom } from '../utils'\n\nexport const columnsData: BlockColumnsType = {\n\tkey: '',\n\ttype: 'columns',\n\tname: '',\n\tchildren: [],\n}\n\nexport const cellData: BlockCellType = {\n\tkey: '',\n\ttype: 'cell',\n\tname: '',\n\twidth: 100,\n\tchildren: [],\n}\n\nexport const columnsConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Columns',\n\ttype: 'columns',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {},\n\tstyle: {\n\t\tbackgroundColor: '',\n\t\tpadding: {\n\t\t\tmore: false,\n\t\t\tall: '0',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t},\n\tcontainerStyle: {\n\t\tbackgroundColor: '',\n\t},\n}\n\nexport const cellConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Cell',\n\ttype: 'cell',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {},\n\tstyle: {\n\t\tbackgroundColor: '',\n\t\tpadding: {\n\t\t\tmore: false,\n\t\t\tall: '0',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t\tborder: {\n\t\t\tmore: false,\n\t\t\tall: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t\ttop: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t\tright: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t\tbottom: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t\tleft: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t},\n\t},\n\tcontainerStyle: {},\n}\n\nexport const buttonConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Button',\n\ttype: 'button',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {\n\t\thref: '#',\n\t\ttarget: '_blank',\n\t\tcontent: 'Button Text',\n\t},\n\tstyle: {\n\t\tdisplay: 'inline-block',\n\t\tbackgroundColor: '#20A53A',\n\t\tcolor: '#fff',\n\t\twidth: 'auto',\n\t\tfontWeight: 'normal',\n\t\tfontSize: '14px',\n\t\tlineHeight: '120%',\n\t\tletterSpacing: '0px',\n\t\tboxSizing: 'border-box',\n\t\ttextDecoration: 'none',\n\t\tpadding: {\n\t\t\tmore: true,\n\t\t\tall: '0',\n\t\t\ttop: '10px',\n\t\t\tleft: '20px',\n\t\t\tright: '20px',\n\t\t\tbottom: '10px',\n\t\t},\n\t\tborder: {\n\t\t\tmore: false,\n\t\t\tall: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t\ttop: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t\tright: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t\tbottom: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t\tleft: {\n\t\t\t\tcolor: '',\n\t\t\t\twidth: '0',\n\t\t\t\tstyle: 'solid',\n\t\t\t},\n\t\t},\n\t\tborderRadius: {\n\t\t\tmore: false,\n\t\t\tall: '4px',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t},\n\tcontainerStyle: {\n\t\ttextAlign: 'center',\n\t\tpadding: {\n\t\t\tmore: false,\n\t\t\tall: '10px',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t},\n}\n\nexport const linkConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Link',\n\ttype: 'link',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {\n\t\thref: '',\n\t\ttarget: '_blank',\n\t\tcontent: 'Link Text',\n\t},\n\tstyle: {\n\t\tdisplay: 'inline-block',\n\t\tcolor: '#333',\n\t\tfontWeight: 'normal',\n\t\tfontSize: '14px',\n\t\tlineHeight: '120%',\n\t\tletterSpacing: '0px',\n\t\ttextDecoration: 'none',\n\t},\n\tcontainerStyle: {\n\t\ttextAlign: 'center',\n\t\tpadding: {\n\t\t\tmore: false,\n\t\t\tall: '10px',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t},\n}\n\nexport const dividerConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Divider',\n\ttype: 'divider',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {},\n\tstyle: {\n\t\tdisplay: 'inline-block',\n\t\twidth: '100%',\n\t\tmargin: '0px',\n\t\tverticalAlign: 'middle',\n\t\tboxSizing: 'border-box',\n\t\tborderTop: {\n\t\t\tcolor: '#bbbbbb',\n\t\t\twidth: '1px',\n\t\t\tstyle: 'solid',\n\t\t},\n\t},\n\tcontainerStyle: {\n\t\tlineHeight: '1px',\n\t\ttextAlign: 'center',\n\t\tpadding: {\n\t\t\tmore: true,\n\t\t\tall: '0',\n\t\t\ttop: '16px',\n\t\t\tleft: '10px',\n\t\t\tright: '10px',\n\t\t\tbottom: '16px',\n\t\t},\n\t},\n}\n\nexport const headerConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Header',\n\ttype: 'header',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {\n\t\tcontent: 'Header',\n\t},\n\tstyle: {\n\t\tdisplay: 'inline-block',\n\t\tcolor: '#333',\n\t\tfontWeight: 'normal',\n\t\tfontSize: '22px',\n\t\tlineHeight: '140%',\n\t\tletterSpacing: '0px',\n\t},\n\tcontainerStyle: {\n\t\ttextAlign: 'left',\n\t\tpadding: {\n\t\t\tmore: false,\n\t\t\tall: '10px',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t},\n}\n\nexport const textConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Text',\n\ttype: 'text',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {\n\t\tcontent: 'Text',\n\t},\n\tstyle: {\n\t\tdisplay: 'inline-block',\n\t\tcolor: '#333',\n\t\tfontWeight: 'normal',\n\t\tfontSize: '14px',\n\t\tlineHeight: '120%',\n\t\tletterSpacing: '0px',\n\t},\n\tcontainerStyle: {\n\t\ttextAlign: 'left',\n\t\tpadding: {\n\t\t\tmore: false,\n\t\t\tall: '10px',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t},\n}\n\nexport const imageConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Image',\n\ttype: 'image',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {\n\t\thref: '',\n\t\ttarget: '_blank',\n\t\tsrc: '',\n\t\talt: '',\n\t},\n\tstyle: {\n\t\tdisplay: 'inline-block',\n\t\twidth: '100%',\n\t\tboxSizing: 'border-box',\n\t\ttextDecoration: 'none',\n\t},\n\tcontainerStyle: {\n\t\ttextAlign: 'center',\n\t\tpadding: {\n\t\t\tmore: false,\n\t\t\tall: '10px',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t},\n}\n\nexport const menuConfig: BaseConfig = {\n\tkey: '',\n\tname: 'Menu',\n\ttype: 'menu',\n\tmeta: {\n\t\tversion: '',\n\t\tcreatedAt: '',\n\t\tupdatedAt: '',\n\t},\n\tattr: {\n\t\tlinks: [\n\t\t\t{ id: getRandom(6), label: 'Menu', href: '' },\n\t\t\t{ id: getRandom(6), label: 'Menu', href: '' },\n\t\t],\n\t},\n\tstyle: {\n\t\tdisplay: 'inline-block',\n\t\tfontWeight: 'normal',\n\t\tfontSize: '14px',\n\t\tletterSpacing: '0px',\n\t\tcolor: '#333',\n\t\ttextDecoration: 'none',\n\t\tpadding: {\n\t\t\tmore: true,\n\t\t\tall: '',\n\t\t\ttop: '5px',\n\t\t\tleft: '15px',\n\t\t\tright: '15px',\n\t\t\tbottom: '5px',\n\t\t},\n\t},\n\tcontainerStyle: {\n\t\ttextAlign: 'left',\n\t\tpadding: {\n\t\t\tmore: false,\n\t\t\tall: '10px',\n\t\t\ttop: '0',\n\t\t\tleft: '0',\n\t\t\tright: '0',\n\t\t\tbottom: '0',\n\t\t},\n\t},\n}\n\nexport const baseConfigMap = new Map<BlockType, BaseConfig>([\n\t['button', buttonConfig],\n\t['link', linkConfig],\n\t['divider', dividerConfig],\n\t['header', headerConfig],\n\t['text', textConfig],\n\t['image', imageConfig],\n\t['menu', menuConfig],\n])\n\nexport const copyrightVNode = h(\n\t'div',\n\t{\n\t\tstyle: {\n\t\t\tdisplay: 'block',\n\t\t\tpadding: '10px',\n\t\t\tlineHeight: '140%',\n\t\t\tcolor: '#999',\n\t\t\ttextAlign: 'center',\n\t\t\tfontSize: '12px',\n\t\t},\n\t},\n\t[\n\t\th('span', 'Powered by '),\n\t\th(\n\t\t\t'a',\n\t\t\t{\n\t\t\t\thref: 'https://www.billionmail.com',\n\t\t\t\ttarget: '_blank',\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: '#999',\n\t\t\t\t\ttextDecoration: 'underline',\n\t\t\t\t},\n\t\t\t},\n\t\t\t'BillionMail'\n\t\t),\n\t]\n)\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/containers/Editor.vue",
    "content": "<template>\n\t<div class=\"editor-container\">\n\t\t<editor-toolbar></editor-toolbar>\n\t\t<div class=\"flex-1\">\n\t\t\t<editor-canvas></editor-canvas>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport EditorCanvas from '../components/layout/Canvas.vue'\nimport EditorToolbar from '../components/toolbar/index.vue'\n</script>\n\n<style lang=\"scss\" scoped>\n.editor-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/containers/EditorMenu.vue",
    "content": "<template>\n\t<div class=\"editor-menu\">\n\t\t<EditorMenu></EditorMenu>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport EditorMenu from '../components/menu/index.vue'\n</script>\n\n<style lang=\"scss\" scoped>\n.editor-menu {\n\twidth: 200px;\n\tborder-right: 1px solid #e4e7eb;\n\tbackground-color: #fff;\n\toverflow: hidden;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/containers/EditorProvider.vue",
    "content": "<template>\n\t<!-- 仅作为上下文提供容器 -->\n\t<dnd-provider :backend=\"HTML5Backend\">\n\t\t<slot></slot>\n\t</dnd-provider>\n</template>\n\n<script lang=\"ts\" setup>\nimport { DndProvider } from 'vue3-dnd'\nimport { HTML5Backend } from 'react-dnd-html5-backend'\nimport { useEmailEditorStore } from '../store'\nimport { createContext } from '../hooks/useContext'\n\n// 初始化全局状态\nconst store = useEmailEditorStore()\n\n// 提供上下文\ncreateContext({\n\tstore,\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/containers/EditorSidebar.vue",
    "content": "<template>\n\t<div class=\"editor-sidebar\">\n\t\t<config-tabs> </config-tabs>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport ConfigTabs from '../components/sidebar/ConfigTabs.vue'\n</script>\n\n<style lang=\"scss\" scoped>\n.editor-sidebar {\n\theight: 100%;\n\twidth: 320px;\n\tborder-left: 1px solid #e4e7eb;\n\tbackground-color: #fff;\n\toverflow: hidden;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/hooks/useConfig.ts",
    "content": "import { format } from 'date-fns'\nimport { cloneDeep } from 'lodash-es'\nimport { storeToRefs } from 'pinia'\nimport { getRandom } from '../utils'\nimport { useEmailEditorStore } from '../store'\nimport { useSetData } from './useSetData'\nimport { columnsConfig, cellConfig, baseConfigMap } from '../config/config'\nimport { BlockBaseType, BlockCellType, BlockColumnsType } from '../types/base'\n\nexport const useConfig = () => {\n\tconst store = useEmailEditorStore()\n\tconst {\n\t\tversion,\n\t\tselectedBlockKey,\n\t\tselectedBlockType,\n\t\tcolumnsSource,\n\t\tcolumnsMap,\n\t\tcolumnsConfigMap,\n\t\tcellMap,\n\t\tcellConfigMap,\n\t\tblockMap,\n\t\tblockConfigMap,\n\t\tpageConfig,\n\t} = storeToRefs(store)\n\n\tconst { autoSaveFn } = useSetData()\n\n\tconst columnsMaps = computed(() => {\n\t\treturn columnsSource.value.map(key => {\n\t\t\treturn columnsMap.value[key]\n\t\t})\n\t})\n\n\t// 选择块\n\tconst selectBlock = (blockKey: string, blockType: string) => {\n\t\tselectedBlockKey.value = blockKey\n\t\tselectedBlockType.value = blockType\n\t}\n\n\t/**\n\t * @description 获取新的列\n\t * @returns\n\t */\n\tconst getNewColumns = () => {\n\t\tconst columnKey = getRandom()\n\t\tconst data: BlockColumnsType = {\n\t\t\tkey: columnKey,\n\t\t\ttype: 'columns',\n\t\t\tname: 'Columns',\n\t\t\tchildren: [],\n\t\t}\n\t\tappendColumnMap(data)\n\t\treturn data\n\t}\n\n\t/**\n\t * @description 添加列配置映射\n\t * @param key\n\t */\n\tconst appendColumnMap = (data: BlockColumnsType) => {\n\t\tconst columnsConfig = getNewColumnsConfig(data.key)\n\t\tcolumnsConfigMap.value[data.key] = columnsConfig\n\t}\n\n\t/**\n\t * @description 获取新的列配置\n\t * @param key\n\t * @returns\n\t */\n\tconst getNewColumnsConfig = (key: string) => {\n\t\tconst now = new Date()\n\t\tconst data = cloneDeep(columnsConfig)\n\t\tdata.key = key\n\t\tdata.meta.version = version.value\n\t\tdata.meta.createdAt = format(now, 'yyyy-MM-dd HH:mm:ss')\n\t\tdata.meta.updatedAt = format(now, 'yyyy-MM-dd HH:mm:ss')\n\t\treturn data\n\t}\n\n\t/**\n\t * @description 插入列\n\t * @param index\n\t */\n\tconst insertColumnSourceAt = (index: number) => {\n\t\tconst newColumn = getNewColumns()\n\t\t// 在指定位置插入列\n\t\tcolumnsMap.value[newColumn.key] = newColumn\n\t\tinsertCellToColumn(newColumn.key)\n\t\tcolumnsSource.value.splice(index, 0, newColumn.key)\n\n\t\tautoSaveFn()\n\t}\n\n\t/**\n\t * @description 生成新的单元格\n\t * @returns\n\t */\n\tconst generateNewCell = () => {\n\t\tconst cellKey = getRandom()\n\t\tconst data: BlockCellType = {\n\t\t\tkey: cellKey,\n\t\t\twidth: 100,\n\t\t\tname: 'Cell',\n\t\t\ttype: 'cell',\n\t\t\tchildren: [],\n\t\t}\n\t\tcellMap.value[cellKey] = data\n\t\tcellConfigMap.value[cellKey] = getNewCellConfig(data.key)\n\t\treturn data\n\t}\n\n\t/**\n\t * @description 获取新的单元格配置\n\t * @param key\n\t * @returns\n\t */\n\tconst getNewCellConfig = (key: string) => {\n\t\tconst now = new Date()\n\t\tconst data = cloneDeep(cellConfig)\n\t\tdata.key = key\n\t\tdata.meta.version = version.value\n\t\tdata.meta.createdAt = format(now, 'yyyy-MM-dd HH:mm:ss')\n\t\tdata.meta.updatedAt = format(now, 'yyyy-MM-dd HH:mm:ss')\n\t\treturn data\n\t}\n\n\t/**\n\t * @description 插入单元格\n\t * @param columnKey\n\t * @param item\n\t */\n\tconst insertCellToColumn = (columnKey: string) => {\n\t\tconst column = columnsMap.value[columnKey]\n\t\tif (column) {\n\t\t\tconst newCell = generateNewCell()\n\t\t\tcolumn.children.push(newCell.key)\n\t\t}\n\t}\n\n\t// 移动列\n\tconst moveColumnSource = (fromIndex: number, toIndex: number) => {\n\t\t// 边界检查\n\t\tif (\n\t\t\tfromIndex < 0 ||\n\t\t\tfromIndex >= columnsSource.value.length ||\n\t\t\ttoIndex < 0 ||\n\t\t\ttoIndex > columnsSource.value.length\n\t\t) {\n\t\t\t// console.warn('Move column: 索引超出范围')\n\t\t\treturn\n\t\t}\n\n\t\t// 取出要移动的列\n\t\tconst column = columnsSource.value[fromIndex]\n\n\t\t// 创建新数组，避免直接修改原数组\n\t\tconst newColumns = [...columnsSource.value]\n\n\t\t// 先移除\n\t\tnewColumns.splice(fromIndex, 1)\n\n\t\t// 计算实际插入位置\n\t\tconst actualToIndex = fromIndex < toIndex ? toIndex - 1 : toIndex\n\n\t\t// 再插入到新位置\n\t\tnewColumns.splice(actualToIndex, 0, column)\n\n\t\t// 更新列数组\n\t\tcolumnsSource.value = newColumns\n\n\t\tautoSaveFn()\n\t}\n\n\t/**\n\t * @description 删除单元格\n\t * @param columnKey\n\t * @param cellKey\n\t */\n\tconst delColumnsInCell = (columnKey: string, cellKey: string) => {\n\t\tconst column = columnsMap.value[columnKey]\n\t\tif (column) {\n\t\t\tconst cellIndex = column.children.findIndex(key => key === cellKey)\n\t\t\tif (cellIndex > -1) {\n\t\t\t\tcolumn.children.splice(cellIndex, 1)\n\t\t\t\tdelete cellMap.value[cellKey]\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @description 应用新的列宽度到单元格\n\t * @param columnKey\n\t * @param widths\n\t */\n\tconst applyNewWidthColumnsInCell = (columnKey: string, widths: number[]) => {\n\t\tconst column = columnsMap.value[columnKey]\n\t\tif (!column) return\n\n\t\tconst columnConfig = columnsMap.value[columnKey]\n\t\tif (!columnConfig) return\n\n\t\t// 当前单元格数量\n\t\tconst currentCellCount = column.children.length\n\t\t// 目标单元格数量\n\t\tconst targetCellCount = widths.length\n\n\t\t// 需要调整的数量差异\n\t\tconst countDiff = targetCellCount - currentCellCount\n\n\t\tif (countDiff > 0) {\n\t\t\t// 需要添加新单元格\n\t\t\tfor (let i = 0; i < countDiff; i++) {\n\t\t\t\tconst newCell = generateNewCell()\n\t\t\t\tcolumn.children.push(newCell.key)\n\t\t\t}\n\t\t} else if (countDiff < 0) {\n\t\t\t// 需要删除多余单元格\n\t\t\tconst cellByDel = column.children.slice(targetCellCount, Math.abs(countDiff))\n\t\t\tcellByDel.forEach(cellKey => {\n\t\t\t\tdelColumnsInCell(columnKey, cellKey)\n\t\t\t})\n\t\t}\n\n\t\t// 应用新的宽度值到每个单元格\n\t\twidths.forEach((width, index) => {\n\t\t\tif (column.children[index]) {\n\t\t\t\tcellMap.value[column.children[index]].width = width\n\t\t\t}\n\t\t})\n\n\t\tautoSaveFn()\n\t}\n\n\t/**\n\t * @description 添加块配置映射\n\t * @param block\n\t */\n\tconst appendBlockConfig = (block: BlockBaseType) => {\n\t\tconst blockConfig = baseConfigMap.get(block.type)\n\t\tif (blockConfig) {\n\t\t\tconst now = new Date()\n\t\t\tconst data = cloneDeep(blockConfig)\n\t\t\tdata.key = block.key\n\t\t\tdata.name = block.name\n\t\t\tdata.meta.version = version.value\n\t\t\tdata.meta.createdAt = format(now, 'yyyy-MM-dd HH:mm:ss')\n\t\t\tdata.meta.updatedAt = format(now, 'yyyy-MM-dd HH:mm:ss')\n\t\t\tblockConfigMap.value[block.key] = data\n\t\t}\n\t}\n\n\t/**\n\t * @description 插入块到单元格\n\t * @param index\n\t * @param cellKey\n\t * @param block\n\t */\n\tconst insertBlockToCell = (index: number, cellKey: string, block: BlockBaseType) => {\n\t\tconst cell = cellMap.value[cellKey]\n\t\tif (cell) {\n\t\t\tconst cellKey = getRandom()\n\t\t\tconst newBlock = {\n\t\t\t\tkey: cellKey,\n\t\t\t\ttype: block.type,\n\t\t\t\tname: `${block.name}`,\n\t\t\t}\n\t\t\tappendBlockConfig(newBlock)\n\t\t\tblockMap.value[newBlock.key] = newBlock\n\t\t\tcell.children.splice(index, 0, newBlock.key)\n\n\t\t\tautoSaveFn()\n\t\t}\n\t}\n\n\t// 在同一单元格内移动块\n\tconst moveBlockInCell = (cellKey: string, fromIndex: number, toIndex: number) => {\n\t\tconst cell = cellMap.value[cellKey]\n\t\tif (!cell || !cell.children) return\n\n\t\t// 获取要移动的块ID\n\t\tconst blockId = cell.children[fromIndex]\n\t\tif (!blockId) return\n\n\t\t// 如果源索引和目标索引相同，不执行任何操作\n\t\tif (fromIndex === toIndex) return\n\n\t\t// 从原位置移除\n\t\tcell.children.splice(fromIndex, 1)\n\n\t\t// 计算正确的目标位置（如果目标位置在原位置之后，需要减1，因为已经移除了原位置的元素）\n\t\tconst targetIndex = fromIndex < toIndex ? toIndex - 1 : toIndex\n\n\t\t// 插入到新位置\n\t\tcell.children.splice(targetIndex, 0, blockId)\n\n\t\tautoSaveFn()\n\t}\n\n\t// 在不同单元格之间移动块\n\tconst moveBlockBetweenCells = (\n\t\tsourceCellKey: string,\n\t\ttargetCellKey: string,\n\t\tfromIndex: number,\n\t\ttoIndex: number,\n\t\tblockKey: string\n\t) => {\n\t\t// 如果源单元格和目标单元格相同，则调用moveBlockInCell方法\n\t\tif (sourceCellKey === targetCellKey) {\n\t\t\treturn moveBlockInCell(sourceCellKey, fromIndex, toIndex)\n\t\t}\n\n\t\tconst sourceCell = cellMap.value[sourceCellKey]\n\t\tconst targetCell = cellMap.value[targetCellKey]\n\n\t\tif (!sourceCell || !sourceCell.children || !targetCell || !targetCell.children) return\n\n\t\t// 检查源单元格中是否存在该块\n\t\tif (sourceCell.children[fromIndex] !== blockKey) return\n\n\t\t// 从源单元格移除\n\t\tconst block = sourceCell.children.splice(fromIndex, 1)\n\n\t\t// 插入到目标单元格\n\t\ttargetCell.children.splice(toIndex, 0, block[0])\n\n\t\tautoSaveFn()\n\t}\n\n\t// 复制块\n\tconst duplicateBlock = (cellKey: string, blockKey: string, isAutoSave: boolean = true) => {\n\t\tconst newBlock = cloneDeep(blockMap.value[blockKey])\n\t\tconst newBlockConfig = cloneDeep(blockConfigMap.value[blockKey])\n\t\tconst cell = cellMap.value[cellKey]\n\t\tif (cell) {\n\t\t\tconst newBlockKey = getRandom()\n\t\t\tnewBlock.key = newBlockKey\n\t\t\tnewBlockConfig.key = newBlockKey\n\t\t\tnewBlockConfig.meta = {\n\t\t\t\tversion: version.value,\n\t\t\t\tcreatedAt: format(new Date(), 'yyyy-MM-dd HH:mm:ss'),\n\t\t\t\tupdatedAt: format(new Date(), 'yyyy-MM-dd HH:mm:ss'),\n\t\t\t}\n\t\t\tconst blockIndex = cell.children.findIndex(key => key === blockKey)\n\t\t\tblockMap.value[newBlockKey] = newBlock\n\t\t\tblockConfigMap.value[newBlockKey] = newBlockConfig\n\t\t\tif (blockIndex) {\n\t\t\t\tcell.children.splice(blockIndex + 1, 0, newBlockKey)\n\t\t\t} else {\n\t\t\t\tcell.children.push(newBlockKey)\n\t\t\t}\n\t\t}\n\n\t\tif (isAutoSave) {\n\t\t\tautoSaveFn()\n\t\t}\n\t}\n\n\t// 复制单元格以及单元格下的所有块\n\tconst duplicateCell = (columnKey: string, cellKey: string) => {\n\t\tconst newCell = cloneDeep(cellMap.value[cellKey])\n\t\tconst newCellConfig = cloneDeep(cellConfigMap.value[cellKey])\n\t\tconst newCellKey = getRandom()\n\n\t\tnewCell.key = newCellKey\n\t\tnewCell.children = []\n\n\t\tnewCellConfig.key = newCellKey\n\t\tnewCellConfig.meta = {\n\t\t\tversion: version.value,\n\t\t\tcreatedAt: format(new Date(), 'yyyy-MM-dd HH:mm:ss'),\n\t\t\tupdatedAt: format(new Date(), 'yyyy-MM-dd HH:mm:ss'),\n\t\t}\n\n\t\tcellMap.value[newCellKey] = newCell\n\t\tcellConfigMap.value[newCellKey] = newCellConfig\n\n\t\tcellMap.value[cellKey].children.forEach(blockKey => {\n\t\t\tduplicateBlock(newCellKey, blockKey, false)\n\t\t})\n\n\t\tconst columnsConfig = columnsMap.value[columnKey]\n\t\tif (columnsConfig) {\n\t\t\tcolumnsConfig.children.push(newCellKey)\n\t\t}\n\t}\n\n\t// 复制列以及列下的所有块\n\tconst duplicateColumn = (columnKey: string) => {\n\t\tconst newColumns = cloneDeep(columnsMap.value[columnKey])\n\t\tconst newColumnsConfig = cloneDeep(columnsConfigMap.value[columnKey])\n\t\tconst newColumnKey = getRandom()\n\n\t\tnewColumns.key = newColumnKey\n\t\tnewColumns.children = []\n\n\t\tnewColumnsConfig.key = newColumnKey\n\t\tnewColumnsConfig.meta = {\n\t\t\tversion: version.value,\n\t\t\tcreatedAt: format(new Date(), 'yyyy-MM-dd HH:mm:ss'),\n\t\t\tupdatedAt: format(new Date(), 'yyyy-MM-dd HH:mm:ss'),\n\t\t}\n\t\tcolumnsMap.value[newColumnKey] = newColumns\n\t\tcolumnsConfigMap.value[newColumnKey] = newColumnsConfig\n\n\t\tconst columnIndex = columnsSource.value.findIndex(key => key === columnKey)\n\t\tcolumnsSource.value.splice(columnIndex + 1, 0, newColumnKey)\n\t\tcolumnsMap.value[columnKey].children.forEach(cellKey => {\n\t\t\tduplicateCell(newColumnKey, cellKey)\n\t\t})\n\n\t\tautoSaveFn()\n\t}\n\n\t// 删除块\n\tconst removeBlock = (cellKey: string, blockKey: string, isAutoSave: boolean = true) => {\n\t\tconst cell = cellMap.value[cellKey]\n\t\tif (cell) {\n\t\t\tconst blockIndex = cell.children.findIndex(key => key === blockKey)\n\t\t\tif (blockIndex > -1) {\n\t\t\t\tselectBlock('', '')\n\t\t\t\tcell.children.splice(blockIndex, 1)\n\t\t\t\tdelete blockMap.value[blockKey]\n\t\t\t\tdelete blockConfigMap.value[blockKey]\n\t\t\t}\n\t\t}\n\t\tif (isAutoSave) {\n\t\t\tautoSaveFn()\n\t\t}\n\t}\n\n\t// 删除单元格以及单元格下的所有块\n\tconst removeCell = (cellKey: string, columnKey: string) => {\n\t\tconst cell = cellMap.value[cellKey]\n\t\tconst columns = columnsMap.value[columnKey]\n\t\tif (cell) {\n\t\t\tcell.children.forEach(blockKey => {\n\t\t\t\tremoveBlock(cellKey, blockKey, false)\n\t\t\t})\n\t\t\tconst cellIndex = columns.children.findIndex(key => key === cellKey)\n\t\t\tif (cellIndex > -1) {\n\t\t\t\tdelete cellMap.value[cellKey]\n\t\t\t\tdelete cellConfigMap.value[cellKey]\n\t\t\t\tcolumns.children.splice(cellIndex, 1)\n\t\t\t}\n\t\t}\n\t}\n\n\t// 删除列以及列下的所有块\n\tconst removeColumn = (columnKey: string) => {\n\t\tconst columnIndex = columnsSource.value.findIndex(key => key === columnKey)\n\t\tif (columnIndex > -1) {\n\t\t\tselectBlock('', '')\n\t\t\tcolumnsMap.value[columnKey].children.forEach(cellKey => {\n\t\t\t\tremoveCell(cellKey, columnKey)\n\t\t\t})\n\t\t\tdelete columnsMap.value[columnKey]\n\t\t\tdelete columnsConfigMap.value[columnKey]\n\t\t\tcolumnsSource.value.splice(columnIndex, 1)\n\t\t}\n\n\t\tautoSaveFn()\n\t}\n\n\treturn {\n\t\tcolumnsSource,\n\t\tcolumnsMap,\n\t\tcolumnsMaps,\n\t\tcolumnsConfigMap,\n\t\tcellMap,\n\t\tcellConfigMap,\n\t\tblockMap,\n\t\tblockConfigMap,\n\t\tselectedBlockKey,\n\t\tselectedBlockType,\n\t\tpageConfig,\n\t\tselectBlock,\n\t\tinsertColumnSourceAt,\n\t\tmoveColumnSource,\n\t\tgenerateNewCell,\n\t\tapplyNewWidthColumnsInCell,\n\t\tdelColumnsInCell,\n\t\tinsertBlockToCell,\n\t\tmoveBlockInCell,\n\t\tmoveBlockBetweenCells,\n\t\tduplicateBlock,\n\t\tduplicateColumn,\n\t\tremoveBlock,\n\t\tremoveColumn,\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/hooks/useContext.ts",
    "content": "import { useEmailEditorStore } from '../store'\n\n// 上下文暴露内容\nexport interface EditorContext {\n\tstore: ReturnType<typeof useEmailEditorStore>\n}\n\n// 定义注入类型\nconst contextKey = Symbol('EmailEditorContext')\n\nexport function createContext(instance: EditorContext) {\n\tprovide(contextKey, instance)\n}\n\nexport function useContext(): EditorContext {\n\treturn inject(contextKey) as EditorContext\n}\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/hooks/useHtml.ts",
    "content": "import { render, StyleValue } from 'vue'\nimport { storeToRefs } from 'pinia'\nimport { useEmailEditorStore } from '../store'\nimport { BaseConfig, BaseStyle } from '../types/base'\nimport { useStyle } from './useStyle'\nimport { copyrightVNode } from '../config/config'\n\nexport const useHtml = () => {\n\tconst store = useEmailEditorStore()\n\tconst {\n\t\tcolumnsSource,\n\t\tcolumnsMap,\n\t\tcolumnsConfigMap,\n\t\tcellMap,\n\t\tcellConfigMap,\n\t\tblockMap,\n\t\tblockConfigMap,\n\t\tpageConfig,\n\t} = storeToRefs(store)\n\n\tconst { configToStyle } = useStyle()\n\n\tconst html = ref('')\n\n\tconst generateHtml = () => {\n\t\thtml.value = columnsSourceToTable().outerHTML\n\t}\n\n\tconst columnsSourceToTable = () => {\n\t\tconst columnTrMap = columnToTr()\n\t\tconst table = document.createElement('table')\n\t\ttable.style.backgroundColor = pageConfig.value.style.backgroundColor || '#fff'\n\t\ttable.style.fontFamily = pageConfig.value.style.fontFamily || 'PingFang SC, Microsoft YaHei'\n\t\ttable.style.width = '100%'\n\t\ttable.style.borderSpacing = '0'\n\t\tcolumnsSource.value.forEach(columnKey => {\n\t\t\tif (columnTrMap[columnKey]) {\n\t\t\t\ttable.appendChild(columnTrMap[columnKey].dom)\n\t\t\t}\n\t\t})\n\t\ttable.appendChild(cellToCopyright())\n\t\treturn table\n\t}\n\n\tconst columnToTr = () => {\n\t\tconst tdMap = cellToTd()\n\t\tconst trMap: Record<string, { dom: HTMLElement }> = {}\n\t\tObject.entries(columnsMap.value).forEach(([columnsKey, columns]) => {\n\t\t\tconst tr = document.createElement('tr')\n\t\t\tconst td = document.createElement('td')\n\t\t\tconst div = document.createElement('div')\n\t\t\tconst columnsConfig = columnsConfigMap.value[columnsKey]\n\t\t\tsetElementStyle(tr, columnsConfig.containerStyle)\n\t\t\tsetElementStyle(div, columnsConfig.style)\n\t\t\tdiv.style.width = pageConfig.value.style.width || 'auto'\n\t\t\tdiv.style.margin = '0 auto'\n\t\t\tconst childTable = document.createElement('table')\n\t\t\tchildTable.style.width = '100%'\n\t\t\tchildTable.style.borderSpacing = '0'\n\t\t\tconst childTableTr = document.createElement('tr')\n\t\t\tcolumns.children.forEach(cellKey => {\n\t\t\t\tchildTableTr.appendChild(tdMap[cellKey].dom)\n\t\t\t})\n\t\t\tchildTable.appendChild(childTableTr)\n\t\t\tdiv.appendChild(childTable)\n\t\t\ttd.appendChild(div)\n\t\t\ttr.appendChild(td)\n\t\t\ttrMap[columnsKey] = {\n\t\t\t\tdom: tr,\n\t\t\t}\n\t\t})\n\n\t\treturn trMap\n\t}\n\n\tconst cellToCopyright = () => {\n\t\tconst tr = document.createElement('tr')\n\t\tconst td = document.createElement('td')\n\t\trender(copyrightVNode, td)\n\t\ttr.appendChild(td)\n\t\treturn tr\n\t}\n\n\tconst cellToTd = () => {\n\t\tconst blockMap = compToElement()\n\t\tconst tdMap: Record<string, { dom: HTMLElement }> = {}\n\t\tObject.entries(cellMap.value).forEach(([cellKey, cell]) => {\n\t\t\t// 生成cell的单元格td\n\t\t\tconst cellTd = document.createElement('td')\n\t\t\t// 设置单元格宽度\n\t\t\tcellTd.style.width = `${cell.width}%`\n\t\t\t// 设置单元格样式\n\t\t\tsetElementStyle(cellTd, cellConfigMap.value[cellKey].style)\n\t\t\t// 将组件dom放到单元格内,并设置单元格的样式\n\t\t\tcell.children.forEach(blockKey => {\n\t\t\t\tif (!blockMap[blockKey]) return\n\t\t\t\tcellTd.appendChild(blockMap[blockKey].dom)\n\t\t\t})\n\n\t\t\ttdMap[cellKey] = {\n\t\t\t\tdom: cellTd,\n\t\t\t}\n\t\t})\n\t\treturn tdMap\n\t}\n\n\t/**\n\t * @description 遍历生成所有的组件\n\t */\n\tconst compToElement = () => {\n\t\tconst elementMap: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tdom: HTMLElement\n\t\t\t\tconfig: BaseConfig\n\t\t\t}\n\t\t> = {}\n\n\t\tObject.keys(blockMap.value).forEach(blockKey => {\n\t\t\tconst block = blockMap.value[blockKey]\n\t\t\tconst blockConfig = blockConfigMap.value[blockKey]\n\n\t\t\tconst containerDom = document.createElement('div')\n\t\t\tsetElementStyle(containerDom, blockConfig.containerStyle)\n\n\t\t\tswitch (block.type) {\n\t\t\t\tcase 'button':\n\t\t\t\t\tcontainerDom.appendChild(buttonToElement(blockConfig))\n\t\t\t\t\tbreak\n\t\t\t\tcase 'link':\n\t\t\t\t\tcontainerDom.appendChild(linkToElement(blockConfig))\n\t\t\t\t\tbreak\n\t\t\t\tcase 'divider':\n\t\t\t\t\tcontainerDom.appendChild(dividerToElement(blockConfig))\n\t\t\t\t\tbreak\n\t\t\t\tcase 'header':\n\t\t\t\t\tcontainerDom.appendChild(headerToElement(blockConfig))\n\t\t\t\t\tbreak\n\t\t\t\tcase 'text':\n\t\t\t\t\tcontainerDom.appendChild(textToElement(blockConfig))\n\t\t\t\t\tbreak\n\t\t\t\tcase 'image':\n\t\t\t\t\tcontainerDom.appendChild(imageToElement(blockConfig))\n\t\t\t\t\tbreak\n\t\t\t\tcase 'menu':\n\t\t\t\t\tcontainerDom.appendChild(menuToElement(blockConfig))\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\telementMap[blockKey] = {\n\t\t\t\tdom: containerDom,\n\t\t\t\tconfig: blockConfig,\n\t\t\t}\n\t\t})\n\t\treturn elementMap\n\t}\n\n\t/**\n\t * @description 设置元素样式\n\t */\n\tconst setElementStyle = (elDom: HTMLElement, configStyle: BaseStyle) => {\n\t\tconst style = configToStyle(configStyle)\n\t\tObject.entries(style).forEach(([key, value]) => {\n\t\t\telDom.style[key as keyof StyleValue] = value\n\t\t})\n\t}\n\n\t/**\n\t * @description 通过内容寻找P标签，并设置样式\n\t */\n\tconst setDefaultStyle = (content: string) => {\n\t\treturn content.replace('<p>', '<p style=\"margin: 0;\">')\n\t}\n\n\t/**\n\t * @description 按钮组件\n\t */\n\tconst buttonToElement = (config: BaseConfig) => {\n\t\tconst elDom = document.createElement('a')\n\t\telDom.href = config.attr.href ?? ''\n\t\telDom.target = config.attr.target ?? ''\n\t\telDom.innerHTML = setDefaultStyle(config.attr.content ?? '')\n\t\tsetElementStyle(elDom, config.style)\n\t\treturn elDom\n\t}\n\n\t/**\n\t * @description 链接组件\n\t */\n\tconst linkToElement = (config: BaseConfig) => {\n\t\tconst elDom = document.createElement('a')\n\t\telDom.href = config.attr.href ?? ''\n\t\telDom.target = config.attr.target ?? ''\n\t\telDom.innerHTML = setDefaultStyle(config.attr.content ?? '')\n\t\tsetElementStyle(elDom, config.style)\n\t\treturn elDom\n\t}\n\n\t/**\n\t * @description 分割线组件\n\t */\n\tconst dividerToElement = (config: BaseConfig) => {\n\t\tconst elDom = document.createElement('hr')\n\t\tsetElementStyle(elDom, config.style)\n\t\treturn elDom\n\t}\n\n\t/**\n\t * @description Header组件\n\t */\n\tconst headerToElement = (config: BaseConfig) => {\n\t\tconst elDom = document.createElement('div')\n\t\telDom.innerHTML = setDefaultStyle(config.attr.content ?? '')\n\t\tsetElementStyle(elDom, config.style)\n\t\treturn elDom\n\t}\n\n\t/**\n\t * @description 文本组件\n\t */\n\tconst textToElement = (config: BaseConfig) => {\n\t\tconst elDom = document.createElement('div')\n\t\telDom.innerHTML = setDefaultStyle(config.attr.content ?? '')\n\t\tsetElementStyle(elDom, config.style)\n\t\treturn elDom\n\t}\n\n\t/**\n\t * @description 图片组件\n\t */\n\tconst imageToElement = (config: BaseConfig) => {\n\t\tconst elDom = document.createElement('img')\n\t\telDom.src = config.attr.src ?? ''\n\t\telDom.alt = config.attr.alt ?? ''\n\t\tif (config.attr.href) {\n\t\t\tconst aDom = document.createElement('a')\n\t\t\taDom.href = config.attr.href ?? ''\n\t\t\taDom.target = config.attr.target ?? ''\n\t\t\telDom.style.width = '100%'\n\t\t\taDom.appendChild(elDom)\n\t\t\tsetElementStyle(aDom, config.style)\n\t\t\treturn aDom\n\t\t}\n\t\tsetElementStyle(elDom, config.style)\n\t\treturn elDom\n\t}\n\n\t/**\n\t * @description 菜单组件\n\t */\n\tconst menuToElement = (config: BaseConfig) => {\n\t\tconst elDom = document.createElement('div')\n\t\tconfig.attr.links?.forEach(item => {\n\t\t\tconst linkDom = document.createElement('a')\n\t\t\tsetElementStyle(linkDom, config.style)\n\t\t\tlinkDom.href = item.href\n\t\t\tlinkDom.target = config.attr.target ?? ''\n\t\t\tlinkDom.innerHTML = item.label\n\t\t\telDom.appendChild(linkDom)\n\t\t})\n\t\treturn elDom\n\t}\n\n\treturn {\n\t\thtml,\n\t\tgenerateHtml,\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/hooks/useSetData.ts",
    "content": "import { storeToRefs } from 'pinia'\nimport { useEmailEditorStore } from '../store'\nimport { useVersion } from './useVersion'\n\nexport const useSetData = () => {\n\tconst store = useEmailEditorStore()\n\tconst {\n\t\tversion,\n\t\tcolumnsSource,\n\t\tcolumnsMap,\n\t\tcolumnsConfigMap,\n\t\tcellMap,\n\t\tcellConfigMap,\n\t\tblockMap,\n\t\tblockConfigMap,\n\t\tpageConfig,\n\t\tselectedBlockKey,\n\t\tselectedBlockType,\n\t\tsaveFn,\n\t} = storeToRefs(store)\n\n\tconst setData = (data: string) => {\n\t\tconst { parsedData } = useVersion(data)\n\t\tif (parsedData) {\n\t\t\tpageConfig.value = parsedData.pageConfig\n\t\t\tblockMap.value = parsedData.blockMap\n\t\t\tblockConfigMap.value = parsedData.blockConfigMap\n\t\t\tcellMap.value = parsedData.cellMap\n\t\t\tcellConfigMap.value = parsedData.cellConfigMap\n\t\t\tcolumnsConfigMap.value = parsedData.columnsConfigMap\n\t\t\tcolumnsMap.value = parsedData.columnsMap\n\t\t\tcolumnsSource.value = parsedData.columnsSource\n\t\t}\n\t}\n\n\tconst getData = () => {\n\t\treturn JSON.stringify({\n\t\t\tversion: version.value,\n\t\t\tpageConfig: toRaw(pageConfig.value),\n\t\t\tblockMap: toRaw(blockMap.value),\n\t\t\tblockConfigMap: toRaw(blockConfigMap.value),\n\t\t\tcellMap: toRaw(cellMap.value),\n\t\t\tcellConfigMap: toRaw(cellConfigMap.value),\n\t\t\tcolumnsConfigMap: toRaw(columnsConfigMap.value),\n\t\t\tcolumnsMap: toRaw(columnsMap.value),\n\t\t\tcolumnsSource: toRaw(columnsSource.value),\n\t\t})\n\t}\n\n\tconst resetData = () => {\n\t\tblockMap.value = {}\n\t\tblockConfigMap.value = {}\n\t\tcellMap.value = {}\n\t\tcellConfigMap.value = {}\n\t\tcolumnsConfigMap.value = {}\n\t\tcolumnsMap.value = {}\n\t\tcolumnsSource.value = []\n\t\tselectedBlockKey.value = ''\n\t\tselectedBlockType.value = ''\n\t}\n\n\tconst setSaveFn = (fn: () => unknown) => {\n\t\tsaveFn.value = fn\n\t}\n\n\tconst autoSaveFn = () => {\n\t\tlet timer: null | number = null\n\t\tconst fn = () => {\n\t\t\tif (timer) {\n\t\t\t\tclearTimeout(timer)\n\t\t\t}\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\t// 执行自动保存\n\t\t\t\tsaveFn.value()\n\t\t\t}, 300)\n\t\t}\n\t\tfn()\n\t}\n\n\treturn {\n\t\tsaveFn,\n\t\tgetData,\n\t\tsetData,\n\t\tresetData,\n\t\tsetSaveFn,\n\t\tautoSaveFn,\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/hooks/useStyle.ts",
    "content": "import { StyleValue } from 'vue'\nimport { isString } from 'lodash-es'\nimport { isObject } from '@/utils'\nimport { BaseStyle, BorderStyle, MoreStyle } from '../types/base'\n\n/**\n * @description border、padding、borderRadius等符合类型的联合类型\n */\nexport type MoreStyleKey = 'border' | 'padding' | 'borderRadius'\n\nexport function useStyle() {\n\tconst configToStyle = (configStyle: BaseStyle) => {\n\t\tconst style: StyleValue = {}\n\t\tObject.entries(configStyle).forEach(([key, value]) => {\n\t\t\tif (isMoreStyleKey(key) && isObject<MoreStyle<string> | MoreStyle<BorderStyle>>(value)) {\n\t\t\t\tObject.assign(style, translateMoreStyle(key, value))\n\t\t\t}\n\t\t\tif (!isMoreStyleKey(key) && isString(value)) {\n\t\t\t\tstyle[key as keyof StyleValue] = value\n\t\t\t}\n\t\t\tif (!isMoreStyleKey(key) && isObject(value)) {\n\t\t\t\tif (key === 'borderTop' && isObject<BorderStyle>(value)) {\n\t\t\t\t\tstyle.borderTop = `${value.width} ${value.style} ${value.color || 'transparent'}`\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn style\n\t}\n\n\tconst isMoreStyleKey = (attrKey: string): attrKey is MoreStyleKey => {\n\t\treturn attrKey === 'border' || attrKey === 'padding' || attrKey === 'borderRadius'\n\t}\n\n\tconst translateMoreStyle = (\n\t\tattrKey: MoreStyleKey,\n\t\tattrValue: MoreStyle<string> | MoreStyle<BorderStyle>\n\t) => {\n\t\tconst styleMap: Record<string, string> = {}\n\t\tconst posMap = {\n\t\t\ttop: 'TopLeft',\n\t\t\tright: 'TopRight',\n\t\t\tbottom: 'BottomRight',\n\t\t\tleft: 'BottomLeft',\n\t\t}\n\n\t\tif (!attrValue.more) {\n\t\t\tif (attrKey === 'border' && isObject<BorderStyle>(attrValue.all) && attrValue.all.width !== '0') {\n\t\t\t\tstyleMap.border = `${attrValue.all.width} ${attrValue.all.style} ${attrValue.all.color || 'transparent'}`\n\t\t\t} else if ((attrKey === 'padding' || attrKey === 'borderRadius') && isString(attrValue.all)) {\n\t\t\t\tstyleMap[attrKey] = attrValue.all\n\t\t\t}\n\t\t} else {\n\t\t\tconst positions = ['top', 'right', 'bottom', 'left']\n\t\t\tswitch (attrKey) {\n\t\t\t\tcase 'border':\n\t\t\t\t\tpositions.forEach(pos => {\n\t\t\t\t\t\tconst value = attrValue[pos as keyof typeof attrValue]\n\t\t\t\t\t\tif (isObject<BorderStyle>(value) && value.width !== '0') {\n\t\t\t\t\t\t\tstyleMap[`border${capitalizeFirst(pos)}`] =\n\t\t\t\t\t\t\t\t`${value.width} ${value.style} ${value.color || 'transparent'}`\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tbreak\n\n\t\t\t\tcase 'padding':\n\t\t\t\t\tpositions.forEach(pos => {\n\t\t\t\t\t\tconst value = attrValue[pos as keyof typeof attrValue]\n\t\t\t\t\t\tif (isString(value) && value !== '0') {\n\t\t\t\t\t\t\tstyleMap[`padding${capitalizeFirst(pos)}`] = value\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tbreak\n\n\t\t\t\tcase 'borderRadius':\n\t\t\t\t\tpositions.forEach(pos => {\n\t\t\t\t\t\tconst value = attrValue[pos as keyof typeof attrValue]\n\t\t\t\t\t\tif (isString(value) && value !== '0') {\n\t\t\t\t\t\t\tstyleMap[`border${posMap[pos as keyof typeof posMap]}Radius`] = value\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\treturn styleMap\n\t}\n\n\tconst capitalizeFirst = (str: string): string => {\n\t\treturn str.charAt(0).toUpperCase() + str.slice(1)\n\t}\n\n\treturn {\n\t\tconfigToStyle,\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/hooks/useVersion.ts",
    "content": "export const useVersion = (data: string) => {\n\tconst transformData = (data: string) => {\n\t\ttry {\n\t\t\tconst parsedData = JSON.parse(data)\n\t\t\treturn parsedData\n\t\t} catch {\n\t\t\t// console.log(data, err)\n\t\t\treturn null\n\t\t}\n\t}\n\n\treturn {\n\t\tparsedData: transformData(data),\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/index.vue",
    "content": "<template>\n\t<EditorProvider>\n\t\t<div class=\"email-editor\">\n\t\t\t<EditorMenu></EditorMenu>\n\t\t\t<EditorContainer></EditorContainer>\n\t\t\t<EditorSidebar></EditorSidebar>\n\t\t</div>\n\t</EditorProvider>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useHtml } from './hooks/useHtml'\nimport { useSetData } from './hooks/useSetData'\nimport { dragData, dragHtml } from './config/addData'\n\nimport EditorProvider from './containers/EditorProvider.vue'\nimport EditorContainer from './containers/Editor.vue'\nimport EditorMenu from './containers/EditorMenu.vue'\nimport EditorSidebar from './containers/EditorSidebar.vue'\n\nconst configRef = defineModel<string>('config')\n\nconst htmlRef = defineModel<string>('html')\n\nconst { setData, getData, resetData, setSaveFn } = useSetData()\n\nconst { html, generateHtml } = useHtml()\n\nconst save = () => {\n\tgenerateHtml()\n\thtmlRef.value = html.value\n\tconfigRef.value = getData()\n}\n\nsetSaveFn(save)\n\nonMounted(() => {\n\tif (!configRef.value) {\n\t\tconfigRef.value = dragData\n\t\thtmlRef.value = dragHtml\n\t\tsetData(dragData)\n\t} else {\n\t\tsetData(configRef.value)\n\t}\n})\n\nonBeforeUnmount(() => {\n\tresetData()\n})\n\ndefineExpose({\n\tsetEmailData: (data: string) => {\n\t\tsetData(data)\n\t},\n\tgetEmailData: () => {\n\t\treturn getData()\n\t},\n\tgetEmailHTML: () => {\n\t\tgenerateHtml()\n\t\treturn html.value\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.email-editor {\n\tdisplay: flex;\n\theight: 100%;\n\tborder: 1px solid #e4e7eb;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/store/index.ts",
    "content": "import { defineStore } from 'pinia'\nimport {\n\tColumnMap,\n\tColumnConfigMap,\n\tCellMap,\n\tCellConfigMap,\n\tBlockMap,\n\tPageConfig,\n\tBlockConfigMap,\n} from '../types/base'\n\nexport const useEmailEditorStore = defineStore('email-editor-store', () => {\n\tconst version = ref('1.0')\n\n\t// 页面配置\n\tconst pageConfig = ref<PageConfig>({\n\t\tmeta: {\n\t\t\tversion: version.value,\n\t\t\tcreatedAt: '',\n\t\t\tupdatedAt: '',\n\t\t},\n\t\tstyle: {\n\t\t\tbackgroundColor: '#ffffff',\n\t\t\twidth: '500px',\n\t\t\tfontFamily: 'PingFang SC, Microsoft YaHei',\n\t\t},\n\t})\n\n\t// columnsSource数据表\n\tconst columnsSource = ref<string[]>([])\n\n\t// columnsMap数据表\n\tconst columnsMap = ref<ColumnMap>({})\n\n\t// columnsConfigMap数据表\n\tconst columnsConfigMap = ref<ColumnConfigMap>({})\n\n\t// cellMap数据表\n\tconst cellMap = ref<CellMap>({})\n\n\t// cellConfigMap数据表\n\tconst cellConfigMap = ref<CellConfigMap>({})\n\n\t// blockMap数据表\n\tconst blockMap = ref<BlockMap>({})\n\n\t// blockMap数据表\n\tconst blockConfigMap = ref<BlockConfigMap>({})\n\n\t// 当前选中的块\n\tconst selectedBlockKey = ref('')\n\n\t// 当前选中的块类型\n\tconst selectedBlockType = ref('')\n\n\t// 自动保存方法\n\tconst saveFn = ref<() => unknown>(async () => false)\n\n\treturn {\n\t\tversion,\n\t\tpageConfig,\n\t\tcolumnsSource,\n\t\tcolumnsMap,\n\t\tcolumnsConfigMap,\n\t\tcellMap,\n\t\tcellConfigMap,\n\t\tblockMap,\n\t\tblockConfigMap,\n\t\tselectedBlockKey,\n\t\tselectedBlockType,\n\t\tsaveFn,\n\t}\n})\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/types/base.ts",
    "content": "export type ColumnType = 'columns'\n\nexport type CellType = 'cell'\n\nexport type ButtonType = 'button'\n\nexport type LinkType = 'link'\n\nexport type DividerType = 'divider'\n\nexport type HeaderType = 'header'\n\nexport type TextType = 'text'\n\nexport type ImageType = 'image'\n\nexport type MenuType = 'menu'\n\nexport type HtmlType = 'html'\n\n/**\n * @description 所有块类型的联合类型\n */\nexport type BlockType =\n\t| ColumnType // 列\n\t| 'placeholder' // 占位符\n\t| CellType // 单元格\n\t| ButtonType // 按钮\n\t| LinkType // 链接\n\t| DividerType // 分隔线\n\t| HeaderType // 标题\n\t| TextType // 文本\n\t| ImageType // 图片\n\t| MenuType // 菜单\n\t| HtmlType // HTML\n\n/**\n * @description 基础块的数据结构\n */\nexport type BlockBaseType = {\n\tkey: string\n\tname: string\n\ttype: BlockType\n}\n\n/**\n * @description 列的数据结构\n */\nexport type BlockColumnsType = BlockBaseType & {\n\tchildren: string[]\n}\n\n/**\n * @description 单元格的数据结构\n */\nexport type BlockCellType = BlockBaseType & {\n\twidth: number\n\tchildren: string[]\n}\n\n/**\n * @description 基础元数据配置\n */\nexport type BaseMeta = {\n\tcreatedAt: string // 创建时间\n\tupdatedAt: string // 最后修改时间\n\tversion: string // 版本号（用于撤销/重做）\n\tlocked?: boolean // 是否锁定编辑\n}\n\n/**\n * @description 更多配置\n */\nexport type MoreStyle<K> = {\n\tmore: boolean\n\tall: K\n\ttop: K\n\tright: K\n\tbottom: K\n\tleft: K\n}\n\n/**\n * @description 边框样式配置\n */\nexport type BorderStyle = {\n\tcolor: string\n\twidth: string\n\tstyle: string\n}\n\n/**\n * @description 基础样式配置\n */\nexport type BaseStyle = {\n\tdisplay?: 'inline-block' | 'block' | 'inline' // 显示方式\n\twidth?: string // 宽度\n\theight?: string // 高度\n\tbackgroundColor?: string // 背景色\n\ttextAlign?: 'left' | 'center' | 'right' // 文字对齐\n\tpadding?: MoreStyle<string> // 内边距\n\tborder?: MoreStyle<BorderStyle> // 边框\n\tborderRadius?: MoreStyle<string> // 圆角\n\tfontWeight?: string // 字体粗细\n\tfontSize?: string // 字体大小\n\tlineHeight?: string // 行高\n\tletterSpacing?: string // 字间距\n\tcolor?: string // 字体颜色\n\tverticalAlign?: 'top' | 'middle' | 'bottom' // 垂直对齐\n\tborderTop?: BorderStyle // 上边框\n\tlayout?: 'horizontal' | 'vertical' // 布局\n\tboxSizing?: 'border-box' | 'content-box' // 盒模型\n\ttextDecoration?: string\n\tmargin?: string\n\tfontFamily?: string\n}\n\n/**\n * @description 基础属性\n */\nexport type BaseAttr = {\n\thref?: string\n\ttarget?: string\n\tcontent?: string\n\tsrc?: string\n\talt?: string\n\tlinks?: { id: string; label: string; href: string }[]\n}\n\n/**\n * @description 基础配置\n */\nexport type BaseConfig = {\n\t// 唯一key\n\tkey: string\n\t// 名称\n\tname: string\n\t// 类型\n\ttype: BlockType\n\t// 元数据\n\tmeta: BaseMeta\n\t// 样式配置\n\tstyle: BaseStyle\n\t// 容器样式\n\tcontainerStyle: BaseStyle\n\t// 属性\n\tattr: BaseAttr\n}\n\n/**\n * @description PageConfig页面的数据结构\n */\nexport type PageConfig = {\n\t// 元数据\n\tmeta: BaseMeta\n\t// 样式配置\n\tstyle: BaseStyle\n}\n\n/**\n * @description ColumnMap列的数据表\n */\nexport type ColumnMap = {\n\t[key: string]: BlockColumnsType\n}\n\n/**\n * @description ColumnMap列的数据表\n */\nexport type ColumnConfigMap = {\n\t[key: string]: BaseConfig\n}\n\n/**\n * @description CellMap单元格的数据表\n */\nexport type CellMap = {\n\t[key: string]: BlockCellType\n}\n\n/**\n * @description CellConfigMap单元格的数据表\n */\nexport type CellConfigMap = {\n\t[key: string]: BaseConfig\n}\n\n/**\n * @description BlockMap组件的数据表\n */\nexport type BlockMap = {\n\t[key: string]: BlockBaseType\n}\n\n/**\n * @description BlockConfigMap组件的数据表\n */\nexport type BlockConfigMap = {\n\t[key: string]: BaseConfig\n}\n\n/**\n * @description 菜单组件信息\n */\nexport type MenuBlock = {\n\t// 菜单类型，必选\n\ttype: BlockType\n\t// 菜单名称，必选\n\tname: string\n\t// 菜单组件唯一key，必选\n\tkey: string\n}\n\n/**\n * @description 拖拽添加列的数据结构\n */\nexport type DropAddColumnBlock = {\n\ttype: 'ADD_COLUMNS_BLOCK'\n\tblockData: MenuBlock // 块数据\n}\n\n/**\n * @description 拖拽添加块的数据结构\n */\nexport type DropAddBaseBlock = {\n\ttype: 'ADD_BASE_BLOCK'\n\tblockData: MenuBlock // 块数据\n}\n\n/**\n * @description 拖拽排序列的数据结构\n */\nexport type DropSortColumnBlock = {\n\ttype: 'SORT_COLUMNS_BLOCK'\n\tsourceIndex: number // 源索引\n\tblockData: BlockColumnsType // 块数据\n}\n\n/**\n * @description 拖拽排序块的数据结构\n */\nexport type DropSortBaseBlock = {\n\ttype: 'SORT_BASE_BLOCK'\n\tsourceIndex: number // 源索引\n\tsourceCellKey: string // 源单元格\n\tblockData: BlockBaseType // 块数据\n}\n\n/**\n * @description 拖拽块的数据结构\n */\nexport type DropBaseBlock =\n\t| DropAddColumnBlock\n\t| DropAddBaseBlock\n\t| DropSortBaseBlock\n\t| DropSortColumnBlock\n\nexport type MoveLinkFunc = (id: string, to: number) => void\n\nexport type FindLinkFunc = (id: string) => { index: number }\n"
  },
  {
    "path": "core/frontend/src/features/EmailEditor/utils/index.ts",
    "content": "/**\n * @description 获取随机字符串\n * @param length 长度\n * @returns\n */\nexport function getRandom(length = 12): string {\n\tconst array = new Uint8Array(length)\n\tcrypto.getRandomValues(array)\n\treturn Array.from(array, byte => byte.toString(16).padStart(2, '0'))\n\t\t.join('')\n\t\t.slice(0, length)\n}\n"
  },
  {
    "path": "core/frontend/src/hooks/modal/interface.ts",
    "content": "export interface ModalApiOptions {\n\t/**\n\t * @description Shared state data\n\t */\n\tstate?: Record<string, unknown>\n\t/**\n\t * @description Independent modal component\n\t */\n\tcomponent?: Component\n\t/**\n\t * @description Modal state change callback\n\t */\n\tonChangeState?: (isOpen: boolean) => void\n\t/**\n\t * @description Click cancel button callback\n\t */\n\tonCancel?: () => void\n\t/**\n\t * @description Click confirm button callback\n\t */\n\tonConfirm?: () => void | Promise<unknown>\n\t/**\n\t * @description Modal close end callback\n\t */\n\tonClose?: () => void\n}\n\nexport interface ModalApi {\n\topen: () => void\n\tclose: () => void\n\tsetState: (state: Record<string, unknown>) => void\n\tgetState: <T = Record<string, unknown>>() => T\n}\n\nexport interface ModalInjectData {\n\tstate: Record<string, unknown>\n\textendApi: (api: ModalApi) => void\n\tsetState: (state: Record<string, unknown>) => void\n}\n"
  },
  {
    "path": "core/frontend/src/hooks/modal/useModal.tsx",
    "content": "import { ModalApiOptions, ModalApi, ModalInjectData } from './interface'\nimport BtModal from '@/components/ui/bt-modal/index.vue'\n\nconst MODAL_INJECT_KEY = Symbol('MODAL_INJECT')\n\nexport const useModal = (options: ModalApiOptions = {}) => {\n\tconst { state = {}, component, onCancel, onConfirm } = options\n\n\tconst extendedApi = reactive<Partial<ModalApi>>({})\n\n\tif (component) {\n\t\tconst Modal = defineComponent({\n\t\t\tsetup(props, { attrs, slots }) {\n\t\t\t\tprovide(MODAL_INJECT_KEY, {\n\t\t\t\t\tstate,\n\t\t\t\t\toptions,\n\t\t\t\t\textendApi: (api: ModalApi) => {\n\t\t\t\t\t\tObject.setPrototypeOf(extendedApi, api)\n\t\t\t\t\t},\n\t\t\t\t\tsetState: (val: Record<string, unknown>) => {\n\t\t\t\t\t\tObject.assign(state, val)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\treturn () => h(component, { ...props, ...attrs }, slots)\n\t\t\t},\n\t\t})\n\t\treturn [Modal, extendedApi as ModalApi] as const\n\t}\n\n\tconst Modal = defineComponent({\n\t\tsetup(props, { attrs, slots }) {\n\t\t\tconst injectData = inject<ModalInjectData>(MODAL_INJECT_KEY)\n\n\t\t\tconst show = ref(false)\n\n\t\t\textendedApi.open = () => {\n\t\t\t\tshow.value = true\n\t\t\t\toptions.onChangeState?.(show.value)\n\t\t\t}\n\n\t\t\textendedApi.close = () => {\n\t\t\t\tshow.value = false\n\t\t\t}\n\n\t\t\textendedApi.setState = (val: Record<string, unknown>) => {\n\t\t\t\tinjectData?.setState(val)\n\t\t\t\toptions.onChangeState?.(show.value)\n\t\t\t}\n\n\t\t\textendedApi.getState = <T = Record<string, unknown>,>() => {\n\t\t\t\treturn (injectData?.state ?? {}) as T\n\t\t\t}\n\n\t\t\tinjectData?.extendApi(extendedApi as ModalApi)\n\n\t\t\treturn () => (\n\t\t\t\t<BtModal\n\t\t\t\t\tshow={show.value}\n\t\t\t\t\t{...props}\n\t\t\t\t\t{...attrs}\n\t\t\t\t\tv-slots={slots}\n\t\t\t\t\tonCancel={onCancel}\n\t\t\t\t\tonConfirm={onConfirm}\n\t\t\t\t\tonUpdate:show={val => {\n\t\t\t\t\t\tshow.value = val ?? false\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)\n\t\t},\n\t})\n\n\treturn [Modal, extendedApi as ModalApi] as const\n}\n"
  },
  {
    "path": "core/frontend/src/hooks/useCopy.ts",
    "content": "import { Message } from '@/utils'\nimport { useClipboard } from '@vueuse/core'\nimport i18n from '@/i18n'\n\nexport const useCopy = () => {\n\tconst { t } = i18n.global\n\n\tconst { copy, isSupported, copied } = useClipboard({\n\t\tlegacy: true,\n\t})\n\n\tconst copyText = async (value: string, showSuccess = true) => {\n\t\tif (!value) {\n\t\t\tMessage.error(t('common.useCopy.noText'))\n\t\t\treturn\n\t\t}\n\n\t\tif (isSupported.value) {\n\t\t\tawait copy(value)\n\t\t\tif (showSuccess) Message.success(t('common.useCopy.success'))\n\t\t} else {\n\t\t\tMessage.error(t('common.useCopy.failed'))\n\t\t}\n\t}\n\n\treturn {\n\t\tcopied,\n\t\tcopyText,\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/hooks/useDataTable.ts",
    "content": "import { useDebounceFn } from '@vueuse/core'\nimport type { DataTableCreateRowKey, DataTableRowKey, DataTableRowData } from 'naive-ui'\nimport { isArray, isNumber, isObject } from '@/utils'\n\ntype TableParams = {\n\t[key: string]: any\n}\n\ninterface UseDataTableOptions<T, K> {\n\tparams: K\n\tloading?: boolean\n\timmediate?: boolean\n\tautoRefresh?: boolean\n\trefreshInterval?: number\n\trowKey?: DataTableCreateRowKey<T>\n\tfetchFn: (params: any) => Promise<unknown>\n\tuseParams?: (params: K) => TableParams\n}\n\nexport const useDataTable = <T = DataTableRowData, K = TableParams>(\n\toptions: UseDataTableOptions<T, K>\n) => {\n\tconst {\n\t\tparams,\n\t\tfetchFn,\n\t\tuseParams,\n\t\tloading = true,\n\t\timmediate = true,\n\t\trowKey = (row: any) => row.id,\n\t} = options\n\n\tconst loadingRef = ref(loading)\n\n\tconst tableData = ref<T[]>([])\n\n\tconst tableTotal = ref(0)\n\n\tconst tableParams = ref(params)\n\n\tconst tableKeys = ref<DataTableRowKey[]>([])\n\n\tconst getParams = () => {\n\t\tif (useParams) return useParams(tableParams.value)\n\t\treturn tableParams.value\n\t}\n\n\t// 防抖的数据获取\n\tconst debouncedFetch = useDebounceFn(async (resetPage = false) => {\n\t\tif (resetPage) {\n\t\t\ttableParams.value.page = 1\n\t\t}\n\n\t\tloadingRef.value = true\n\n\t\ttry {\n\t\t\tconst params = getParams()\n\t\t\tconst response = await fetchFn(params)\n\n\t\t\tif (isObject<{ list: T[]; total: number }>(response)) {\n\t\t\t\ttableData.value = isArray(response.list) ? response.list : []\n\t\t\t\ttableTotal.value = isNumber(response.total) ? response.total : 0\n\t\t\t}\n\t\t} finally {\n\t\t\ttableKeys.value = []\n\t\t\tloadingRef.value = false\n\t\t}\n\t}, 300)\n\n\t// 核心方法\n\tconst fetchTable = (resetPage = false) => debouncedFetch(resetPage)\n\tconst resetTable = () => fetchTable(true)\n\n\tconst onUpdatePage = (page: number) => {\n\t\ttableParams.value.page = page\n\t}\n\n\tconst onUpdatePageSize = (pageSize: number) => {\n\t\ttableParams.value.page_size = pageSize\n\t}\n\n\t// 生命周期\n\tonMounted(() => {\n\t\tif (immediate) fetchTable()\n\t})\n\n\treturn {\n\t\t// 数据状态\n\t\ttableData,\n\t\ttableTotal,\n\t\ttableKeys,\n\t\ttableParams,\n\n\t\t// 核心方法\n\t\tfetchTable,\n\t\tresetTable,\n\n\t\t// 配置对象 - 直接用于 naive-ui 表格\n\t\ttableProps: computed(() => ({\n\t\t\trowKey,\n\t\t\tdata: tableData.value,\n\t\t\tloading: loadingRef.value,\n\t\t\tcheckedRowKeys: tableKeys.value,\n\t\t\tonUpdateCheckedRowKeys: (keys: DataTableRowKey[]) => {\n\t\t\t\ttableKeys.value = keys\n\t\t\t},\n\t\t})),\n\n\t\tbatchProps: computed(() => ({\n\t\t\trowKey,\n\t\t\tdata: tableData.value,\n\t\t\tcheckedRowKeys: tableKeys.value,\n\t\t\tonUpdateCheckedRowKeys: (keys: DataTableRowKey[]) => {\n\t\t\t\ttableKeys.value = keys\n\t\t\t},\n\t\t})),\n\n\t\tpageProps: computed(() => ({\n\t\t\tpage: tableParams.value.page,\n\t\t\tpageSize: tableParams.value.page_size,\n\t\t\titemCount: tableTotal.value,\n\t\t\tonUpdatePage,\n\t\t\tonUpdatePageSize,\n\t\t})),\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/hooks/useFormModal.ts",
    "content": "\n"
  },
  {
    "path": "core/frontend/src/hooks/useTableData.ts",
    "content": "import { isNumber } from 'lodash-es'\nimport { isArray, isObject } from '@/utils'\n\ninterface TableParams {\n\tpage: number\n\tpage_size: number\n}\n\ninterface UseTableDataOptions<K> {\n\tparams: K\n\tfetchFn?: (params: K) => Promise<unknown>\n\tloading?: boolean\n\timmediate?: boolean\n}\n\nexport const useTableData = <T, K extends TableParams>(options: UseTableDataOptions<K>) => {\n\tconst { fetchFn, params, loading = false, immediate = false } = options\n\n\tconst loadingRef = ref(loading)\n\n\tconst tableList = ref<T[]>([])\n\n\tconst tableTotal = ref(0)\n\n\tconst tableParams = ref<K>(params)\n\n\t// Get table data\n\tconst getTableData = async (resetPage = false) => {\n\t\tif (resetPage) {\n\t\t\tparams.page = 1\n\t\t}\n\n\t\tif (fetchFn) {\n\t\t\tloadingRef.value = true\n\t\t\ttry {\n\t\t\t\tconst res = await fetchFn(tableParams.value)\n\t\t\t\tif (isObject<{ list: T[]; total: number }>(res)) {\n\t\t\t\t\ttableList.value = isArray(res.list) ? res.list : []\n\t\t\t\t\ttableTotal.value = isNumber(res.total) ? res.total : 0\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tloadingRef.value = false\n\t\t\t}\n\t\t}\n\t}\n\n\t// If immediate is set, get data immediately\n\tif (immediate) {\n\t\tgetTableData()\n\t}\n\n\treturn {\n\t\tloading: loadingRef,\n\t\ttableList,\n\t\ttableTotal,\n\t\ttableParams,\n\t\tgetTableData,\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/i18n/index.ts",
    "content": "import { createI18n } from 'vue-i18n'\nimport en from './lang/en.json'\nimport zh from './lang/zh.json'\nimport ja from './lang/ja.json'\n\nconst i18n = createI18n({\n\tlegacy: false,\n\tglobalInjection: true,\n\tlocale: 'en',\n\tfallbackLocale: 'en',\n\tmessages: {\n\t\ten,\n\t\tzh,\n\t\tja,\n\t},\n})\n\n// 提供切换语言的方法\nexport const setLanguage = (locale: string) => {\n\ti18n.global.locale.value = locale as 'en' | 'zh' | 'ja'\n}\n\nexport default i18n\n\nexport { i18n }\n"
  },
  {
    "path": "core/frontend/src/i18n/lang/en.json",
    "content": "{\n\t\"common\": {\n\t\t\"all\": {\n\t\t\t\"text\": \"All\",\n\t\t\t\"domain\": \"All Domains\"\n\t\t},\n\t\t\"time\": {\n\t\t\t\"today\": \"Today\",\n\t\t\t\"yesterday\": \"Yesterday\",\n\t\t\t\"last7days\": \"Last 7 Days\",\n\t\t\t\"custom\": \"Custom\"\n\t\t},\n\t\t\"unit\": {\n\t\t\t\"days\": \"Days\",\n\t\t\t\"hours\": \"Hours\",\n\t\t\t\"minutes\": \"Minutes\",\n\t\t\t\"seconds\": \"Seconds\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"actions\": \"Operator\"\n\t\t},\n\t\t\"actions\": {\n\t\t\t\"view\": \"View\",\n\t\t\t\"edit\": \"Edit\",\n\t\t\t\"delete\": \"Delete\",\n\t\t\t\"add\": \"Add\",\n\t\t\t\"create\": \"Create\",\n\t\t\t\"update\": \"Update\",\n\t\t\t\"save\": \"Save\",\n\t\t\t\"cancel\": \"Cancel\",\n\t\t\t\"confirm\": \"Confirm\",\n\t\t\t\"back\": \"Back\",\n\t\t\t\"search\": \"Search\",\n\t\t\t\"reset\": \"Reset\",\n\t\t\t\"more\": \"More\",\n\t\t\t\"refresh\": \"Refresh\",\n\t\t\t\"copy\": \"Copy\",\n\t\t\t\"restart\": \"Restart\",\n\t\t\t\"import\": \"Import\",\n\t\t\t\"export\": \"Export\",\n\t\t\t\"download\": \"Download\",\n\t\t\t\"upload\": \"Upload\",\n\t\t\t\"apply\": \"Apply\",\n\t\t\t\"test\": \"Test\",\n\t\t\t\"rename\": \"Rename\",\n\t\t\t\"preview\": \"Preview\",\n\t\t\t\"modify\": \"Modify\",\n\t\t\t\"config\": \"Config\",\n\t\t\t\"help\": \"Help\",\n\t\t\t\"settings\": \"Settings\",\n\t\t\t\"clear\": \"Clear\"\n\t\t},\n\t\t\"useCopy\": {\n\t\t\t\"noText\": \"No text to copy\",\n\t\t\t\"success\": \"Copy successful\",\n\t\t\t\"failed\": \"Copy failed\"\n\t\t}\n\t},\n\t\"components\": {\n\t\t\"tableHelp\": {\n\t\t\t\"text1\": \"Submit {issues} for questions or suggestions, and light up a {star} on Github to support the project.\",\n\t\t\t\"text2\": \"We highly value your active participation. Thank you.\"\n\t\t},\n\t\t\"upload\": {\n\t\t\t\"error\": {\n\t\t\t\t\"fileSizeExceeded\": \"The size of file [{fileName}] cannot exceed {maxSize}MB\",\n\t\t\t\t\"uploadFailed\": \"File upload failed. Please try again\"\n\t\t\t},\n\t\t\t\"prompt\": {\n\t\t\t\t\"dragText\": \"Click or drag files to this area\",\n\t\t\t\t\"supportedFiles\": \"Only {suffix} files are supported\"\n\t\t\t}\n\t\t}\n\t},\n\t\"layout\": {\n\t\t\"header\": {\n\t\t\t\"submit\": \"Submit a Request\"\n\t\t},\n\t\t\"menu\": {\n\t\t\t\"overview\": \"Overview\",\n\t\t\t\"market\": \"Email Marketing\",\n\t\t\t\"task\": \"Task\",\n\t\t\t\"template\": \"Template\",\n\t\t\t\"sendApi\": \"Send API\",\n\t\t\t\"contacts\": \"Contacts\",\n\t\t\t\"subscribers\": \"Subscribers\",\n\t\t\t\"group\": \"Group\",\n\t\t\t\"domain\": \"Domain\",\n\t\t\t\"mailboxes\": \"Mailboxes\",\n\t\t\t\"settings\": \"Settings\",\n\t\t\t\"common\": \"Common Settings\",\n\t\t\t\"bcc\": \"BCC\",\n\t\t\t\"forward\": \"Mail Forward\",\n\t\t\t\"logout\": \"Logout\",\n\t\t\t\"service\": \"Service\",\n\t\t\t\"logs\": \"Logs\",\n\t\t\t\"operation_logs\": \"Operation Logs\",\n\t\t\t\"error_logs\": \"Error Logs\"\n\t\t}\n\t},\n\t\"login\": {\n\t\t\"title\": \"BillionMail\",\n\t\t\"form\": {\n\t\t\t\"usernamePlaceholder\": \"Username\",\n\t\t\t\"passwordPlaceholder\": \"Password\",\n\t\t\t\"loginButton\": \"Login\",\n\t\t\t\"captchaPlaceholder\": \"Verification code\",\n\t\t\t\"changeCaptcha\": \"Click to change\",\n\t\t\t\"captcha\": \"Verification code\"\n\t\t},\n\t\t\"validation\": {\n\t\t\t\"usernameRequired\": \"Username cannot be empty!\",\n\t\t\t\"passwordRequired\": \"Password cannot be empty!\",\n\t\t\t\"captchaRequired\": \"Please enter the verification code\"\n\t\t},\n\t\t\"messages\": {\n\t\t\t\"loginSuccess\": \"Login successful\",\n\t\t\t\"loginFailed\": \"Login failed\",\n\t\t\t\"networkError\": \"Network error, please try again later\"\n\t\t}\n\t},\n\t\"user\": {\n\t\t\"logout\": {\n\t\t\t\"title\": \"Tips\",\n\t\t\t\"content\": \"Are you sure you want to logout?\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"logout\": \"Logging out, please wait...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"overview\": {\n\t\t\"delivered\": \"Delivered\",\n\t\t\"opened\": \"Opened\",\n\t\t\"clicked\": \"Clicked\",\n\t\t\"bounced\": \"Bounced\",\n\t\t\"delayedQueue\": \"Delayed Queue\",\n\t\t\"mailProviders\": \"Mail Providers\",\n\t\t\"sendStats\": \"Send Statistics\",\n\t\t\"provider\": {\n\t\t\t\"mailProvider\": \"Mail Provider\",\n\t\t\t\"delivered\": \"Delivered\",\n\t\t\t\"open\": \"Open\",\n\t\t\t\"click\": \"Click\",\n\t\t\t\"bounce\": \"Bounce\"\n\t\t},\n\t\t\"send\": {\n\t\t\t\"successRate\": \"Success Rate\",\n\t\t\t\"success\": \"Success\",\n\t\t\t\"fail\": \"Failed\",\n\t\t\t\"sendSuccess\": \"Send Success\",\n\t\t\t\"sendFail\": \"Send Failed\"\n\t\t},\n\t\t\"rate\": {\n\t\t\t\"openRate\": \"Open Rate\",\n\t\t\t\"clickRate\": \"Click Rate\",\n\t\t\t\"bounceRate\": \"Bounce Rate\"\n\t\t},\n\t\t\"sendFailDetails\": {\n\t\t\t\"title\": \"Send Failed Details\",\n\t\t\t\"columns\": {\n\t\t\t\t\"recipient\": \"Recipient\",\n\t\t\t\t\"dsn\": \"Dsn\",\n\t\t\t\t\"delay\": \"Delay\",\n\t\t\t\t\"delays\": \"Delays\",\n\t\t\t\t\"status\": \"Status\",\n\t\t\t\t\"relay\": \"Relay\",\n\t\t\t\t\"details\": \"Details\"\n\t\t\t}\n\t\t},\n\t\t\"sendQueue\": {\n\t\t\t\"title\": \"Send Queue\",\n\t\t\t\"breadcrumb\": \"Send Queue\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"refresh\": \"Refresh Queue\",\n\t\t\t\t\"quickClear\": \"Quick Clear\",\n\t\t\t\t\"paramConfig\": \"Queue Parameter Configuration\",\n\t\t\t\t\"resend\": \"Resend\",\n\t\t\t\t\"batchDelete\": \"Batch Delete\",\n\t\t\t\t\"batchResend\": \"Resend\"\n\t\t\t},\n\t\t\t\"table\": {\n\t\t\t\t\"columns\": {\n\t\t\t\t\t\"sender\": \"Sender\",\n\t\t\t\t\t\"recipient\": \"Recipient\",\n\t\t\t\t\t\"arrivalTime\": \"Arrival Time\",\n\t\t\t\t\t\"messageSize\": \"Message Size\",\n\t\t\t\t\t\"delayReason\": \"Delay Reason\",\n\t\t\t\t\t\"action\": \"Action\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"confirm\": {\n\t\t\t\t\"quickClear\": {\n\t\t\t\t\t\"title\": \"Quick Clear\",\n\t\t\t\t\t\"content\": \"Are you sure you want to quickly clear the queue?\"\n\t\t\t\t},\n\t\t\t\t\"resend\": {\n\t\t\t\t\t\"title\": \"Resend\",\n\t\t\t\t\t\"content\": \"Are you sure you want to resend the queue?\"\n\t\t\t\t},\n\t\t\t\t\"delete\": {\n\t\t\t\t\t\"title\": \"Delete Queue\",\n\t\t\t\t\t\"content\": \"Are you sure you want to delete this queue?\"\n\t\t\t\t},\n\t\t\t\t\"batchDelete\": {\n\t\t\t\t\t\"title\": \"Batch Delete\",\n\t\t\t\t\t\"content\": \"Are you sure you want to delete {count} send queues?\"\n\t\t\t\t},\n\t\t\t\t\"batchResend\": {\n\t\t\t\t\t\"title\": \"Batch Resend\",\n\t\t\t\t\t\"content\": \"Are you sure you want to resend {count} send queues?\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"paramConfig\": {\n\t\t\t\t\"title\": \"Queue Parameter Configuration\",\n\t\t\t\t\"fields\": {\n\t\t\t\t\t\"bounceQueueLifetime\": \"Bounce Queue Lifetime\",\n\t\t\t\t\t\"maximalQueueLifetime\": \"Maximal Queue Lifetime\",\n\t\t\t\t\t\"minimalBackoffTime\": \"Minimal Backoff Time\",\n\t\t\t\t\t\"maximalBackoffTime\": \"Maximal Backoff Time\",\n\t\t\t\t\t\"queueRunDelay\": \"Queue Run Delay\",\n\t\t\t\t\t\"triggerTimeout\": \"Trigger Timeout\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"queueLogs\": {\n\t\t\t\t\"title\": \"Queue Logs\"\n\t\t\t}\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"resendQueue\": \"Resending queue, please wait...\",\n\t\t\t\t\"deleteQueue\": \"Deleting queue, please wait...\",\n\t\t\t\t\"setQueueConfig\": \"Setting queue parameters, please wait...\",\n\t\t\t\t\"clearQueue\": \"Clearing queue, please wait...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"market\": {\n\t\t\"task\": {\n\t\t\t\"title\": \"Task\",\n\t\t\t\"actions\": {\n\t\t\t\t\"add\": \"Add Task\",\n\t\t\t\t\"detail\": \"View\",\n\t\t\t\t\"export\": \"Export\",\n\t\t\t\t\"send\": \"Send\",\n\t\t\t\t\"pause\": \"Pause\",\n\t\t\t\t\"analytics\": \"Analytics\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"time\": \"Time\",\n\t\t\t\t\"subject\": \"Subject\",\n\t\t\t\t\"sender\": \"Sender\",\n\t\t\t\t\"recipients\": \"To\",\n\t\t\t\t\"success\": \"Success\",\n\t\t\t\t\"failed\": \"Failed\",\n\t\t\t\t\"status\": \"Status\",\n\t\t\t\t\"remark\": \"Remark\",\n\t\t\t\t\"estimatedTime\": \"Estimated Complet Time\",\n\t\t\t\t\"progress\": \"Progress\",\n\t\t\t\t\"email\": \"Email\",\n\t\t\t\t\"errorMsg\": \"Error Message\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"pending\": \"Pending\",\n\t\t\t\t\"processing\": \"Processing\",\n\t\t\t\t\"done\": \"Done\",\n\t\t\t\t\"noIpWarmup\": \"No IP Warmup\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"subjectPlaceholder\": \"Search by subject\"\n\t\t\t},\n\t\t\t\"changeStatus\": {\n\t\t\t\t\"title\": \"Change Task Status [{subject}]\",\n\t\t\t\t\"startConfirm\": \"Start sending task now?\",\n\t\t\t\t\"pauseConfirm\": \"After pausing the task, you can continue sending it!\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete Task\",\n\t\t\t\t\"confirm\": \"Are you sure you want to delete the task \\\"{subject}\\\"?\"\n\t\t\t},\n\t\t\t\"detail\": {\n\t\t\t\t\"title\": \"Task Details\",\n\t\t\t\t\"displayName\": \"Display Name\",\n\t\t\t\t\"sender\": \"Sender\",\n\t\t\t\t\"subject\": \"Mail Subject\",\n\t\t\t\t\"groups\": \"Groups\",\n\t\t\t\t\"sendTime\": \"Send Time\",\n\t\t\t\t\"unsubscribeLink\": \"Unsubscribe Link\",\n\t\t\t\t\"threads\": \"Threads Num\",\n\t\t\t\t\"remark\": \"Remark\",\n\t\t\t\t\"yes\": \"Yes\",\n\t\t\t\t\"no\": \"No\",\n\t\t\t\t\"auto\": \"Auto\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"addTitle\": \"Add Task\",\n\t\t\t\t\"editTitle\": \"Edit Task\",\n\t\t\t\t\"from\": \"From\",\n\t\t\t\t\"to\": \"To\",\n\t\t\t\t\"displayName\": \"Display Name\",\n\t\t\t\t\"displayNamePlaceholder\": \"Please enter display name\",\n\t\t\t\t\"subject\": \"Subject\",\n\t\t\t\t\"subjectPlaceholder\": \"Please enter mail subject\",\n\t\t\t\t\"recipients\": \"Recipients\",\n\t\t\t\t\"recipientsPlaceholder\": \"Please select recipient groups\",\n\t\t\t\t\"recipientsCount\": \"Send emails ({count} recipients)\",\n\t\t\t\t\"template\": \"Email template\",\n\t\t\t\t\"saveOutbox\": \"Save to outbox\",\n\t\t\t\t\"ipWarmup\": \"Associate IP Warmup System\",\n\t\t\t\t\"ipWarmupTip\": \"Enabling this will limit the sending rate\",\n\t\t\t\t\"trackClick\": \"Track Clicks\",\n\t\t\t\t\"trackOpen\": \"Track Opens\",\n\t\t\t\t\"unsubscribeLink\": \"Unsubscribe link\",\n\t\t\t\t\"threads\": \"Threads\",\n\t\t\t\t\"threadsAuto\": \"Auto\",\n\t\t\t\t\"threadsCustom\": \"Custom\",\n\t\t\t\t\"sendTime\": \"Send time\",\n\t\t\t\t\"sendTimeNow\": \"Send now\",\n\t\t\t\t\"sendTimeSchedule\": \"Schedule\",\n\t\t\t\t\"remark\": \"Remark\",\n\t\t\t\t\"remarkPlaceholder\": \"Please enter remark\",\n\t\t\t\t\"testEmail\": \"Test email\",\n\t\t\t\t\"testEmailPlaceholder\": \"Please enter test email\",\n\t\t\t\t\"sendTest\": \"Send test mail\",\n\t\t\t\t\"viewCase\": \"View case\",\n\t\t\t\t\"tags\": \"Tags\",\n\t\t\t\t\"tagLogic\": \"Tag Logic\",\n\t\t\t\t\"preview\": {\n\t\t\t\t\t\"empty\": \"Please select an email template to preview\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"displayNameRequired\": \"Please enter display name\",\n\t\t\t\t\t\"subjectRequired\": \"Please enter mail subject\",\n\t\t\t\t\t\"recipientsRequired\": \"Please select contact person\",\n\t\t\t\t\t\"sendTimeRequired\": \"Please select send time\",\n\t\t\t\t\t\"testEmailRequired\": \"Please enter test email\",\n\t\t\t\t\t\"templateRequired\": \"Please select email template\"\n\t\t\t\t},\n\t\t\t\t\"discard\": {\n\t\t\t\t\t\"title\": \"Tips\",\n\t\t\t\t\t\"content\": \"Do you want to discard your current edits?\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"createGroup\": {\n\t\t\t\t\"title\": \"Create Group\",\n\t\t\t\t\"groupName\": \"Group Name\",\n\t\t\t\t\"email\": \"Email\",\n\t\t\t\t\"groupNamePlaceholder\": \"Please enter group name\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"groupNameRequired\": \"Please enter group name\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"Creating task, please wait...\",\n\t\t\t\t\"updating\": \"Updating task, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting task, please wait...\",\n\t\t\t\t\"pausing\": \"Pausing task, please wait...\",\n\t\t\t\t\"resuming\": \"Resuming task, please wait...\",\n\t\t\t\t\"sendingTest\": \"Sending test email, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"template\": {\n\t\t\t\"title\": \"Template\",\n\t\t\t\"name\": \"Template Name\",\n\t\t\t\"content\": \"Template Content\",\n\t\t\t\"uploadHtml\": \"Upload HTML File\",\n\t\t\t\"file\": \"Template File\",\n\t\t\t\"actions\": {\n\t\t\t\t\"add\": \"Add Template\",\n\t\t\t\t\"preview\": \"Preview\",\n\t\t\t\t\"duplicate\": \"Duplicate\",\n\t\t\t\t\"export\": \"Export\",\n\t\t\t\t\"import\": \"Import\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"Template Name\",\n\t\t\t\t\"type\": \"Type\",\n\t\t\t\t\"createdAt\": \"Created At\"\n\t\t\t},\n\t\t\t\"types\": {\n\t\t\t\t\"drag\": \"Drag\",\n\t\t\t\t\"html\": \"HTML\",\n\t\t\t\t\"ai\": \"AI\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"confirm\": \"Confirm\",\n\t\t\t\t\"cancel\": \"Cancel\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"namePlaceholder\": \"Search template name\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete Template\",\n\t\t\t\t\"confirm\": \"Are you sure to delete template {name}?\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"name\": \"Template Name\",\n\t\t\t\t\"type\": \"Template Type\",\n\t\t\t\t\"content\": \"Template Content\"\n\t\t\t},\n\t\t\t\"add\": {\n\t\t\t\t\"title\": \"Add Template\",\n\t\t\t\t\"namePlaceholder\": \"Please enter template name\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"nameRequired\": \"Please enter template name\",\n\t\t\t\t\t\"uploadRequired\": \"Please upload HTML file\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"preview\": {\n\t\t\t\t\"title\": \"Template Preview\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"Creating template, please wait...\",\n\t\t\t\t\"updating\": \"Updating template, please wait...\",\n\t\t\t\t\"copying\": \"Copying template, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting template, please wait...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"template\": {\n\t\t\"template\": \"Template\",\n\t\t\"createTpl\": {\n\t\t\t\"sourceUrl\": \"Source Url\",\n\t\t\t\"useAiTools\": \"Use AI tools to help you automatically generate email content and improve your work efficiency.\",\n\t\t\t\"create\": \"Create\",\n\t\t\t\"notices\": {\n\t\t\t\t\"domainListEmpty\": \"Please create the first domain for BillionMail to send emails\",\n\t\t\t\t\"aiConfigurationInvalid\": \"AI large model is not currently configured, you cannot use AI model to create email templates\",\n\t\t\t\t\"invalidBrandDomain\": \"Please create brand information for the domain first\"\n\t\t\t},\n\t\t\t\"buttons\": {\n\t\t\t\t\"createNow\": \"Create Now\",\n\t\t\t\t\"configureNow\": \"Configure Now\"\n\t\t\t}\n\t\t},\n\t\t\"ai\": {\n\t\t\t\"title\": \"AI Template\",\n\t\t\t\"welcomeMessage\": \"You can say: Create a welcome email for users joining {domain}\",\n\t\t\t\"greeting\": \"Let's create a beautiful email template.\",\n\t\t\t\"brandName\": \"BillionMail\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"regenerate\": \"Regenerate\",\n\t\t\t\t\"info\": \"Info\",\n\t\t\t\t\"view\": \"View\",\n\t\t\t\t\"edit\": \"Edit\",\n\t\t\t\t\"copy\": \"Copy\",\n\t\t\t\t\"copied\": \"Copied\",\n\t\t\t\t\"apply\": \"Apply\"\n\t\t\t},\n\t\t\t\"spintax\": {\n\t\t\t\t\"instruction\": \"Use Spintax syntax, with a requirement to include {count} variations\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"saveShortcut\": \"[Ctrl + s] to save your change\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"message\": \"Loading... Please wait.\"\n\t\t\t},\n\t\t\t\"send\": \"Send\"\n\t\t}\n\t},\n\t\"contacts\": {\n\t\t\"subscribers\": {\n\t\t\t\"joinGroup\": \"Join Group\",\n\t\t\t\"tags\": \"Tags\",\n\t\t\t\"selectGroupHint\": \"Please select a group on the right\",\n\t\t\t\"trends\": {\n\t\t\t\t\"title\": \"Subscription Trends\",\n\t\t\t\t\"subscriber\": \"Subscriber\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"emailPlaceholder\": \"Enter email address to search\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"email\": \"Email\",\n\t\t\t\t\"name\": \"Group Name\",\n\t\t\t\t\"createdAt\": \"Created Time\",\n\t\t\t\t\"lastActiveAt\": \"Last Active Time\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"subscribed\": \"Subscribed\",\n\t\t\t\t\"unsubscribed\": \"Unsubscribed\",\n\t\t\t\t\"unconfirmed\": \"Unconfirmed\"\n\t\t\t},\n\t\t\t\"labels\": {\n\t\t\t\t\"status\": \"Status: \",\n\t\t\t\t\"tags\": \"Tags: \",\n\t\t\t\t\"active\": \"Active: \"\n\t\t\t},\n\t\t\t\"activeSelect\": {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"all\": \"All\",\n\t\t\t\t\t\"yes\": \"Yes\",\n\t\t\t\t\t\"no\": \"No\"\n\t\t\t\t},\n\t\t\t\t\"timeOptions\": {\n\t\t\t\t\t\"past7Days\": \"Past 7 days\",\n\t\t\t\t\t\"pastMonth\": \"Past month\",\n\t\t\t\t\t\"past90Days\": \"Past 90 days\",\n\t\t\t\t\t\"pastHalfYear\": \"Past 6 months\",\n\t\t\t\t\t\"pastYear\": \"Past year\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"actions\": {\n\t\t\t\t\"changeGroup\": \"Change Group\",\n\t\t\t\t\"setTag\": \"Set Tag\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete Subscriber\",\n\t\t\t\t\"confirm\": \"Are you sure you want to delete subscriber {email}?\"\n\t\t\t},\n\t\t\t\"batchDelete\": {\n\t\t\t\t\"title\": \"Batch Delete\",\n\t\t\t\t\"confirm\": \"Are you sure you want to delete the selected subscribers?\"\n\t\t\t},\n\t\t\t\"select\": {\n\t\t\t\t\"prefix\": \"Group:\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"title\": \"Change Group\",\n\t\t\t\t\"email\": \"Email\",\n\t\t\t\t\"group\": \"Group\",\n\t\t\t\t\"status\": \"Status\",\n\t\t\t\t\"attributes\": \"Attributes\",\n\t\t\t\t\"statusOptions\": {\n\t\t\t\t\t\"subscribe\": \"Subscribe\",\n\t\t\t\t\t\"unsubscribe\": \"Unsubscribe\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"emailRequired\": \"Please enter email\",\n\t\t\t\t\t\"groupRequired\": \"Please select group\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"import\": {\n\t\t\t\t\"title\": \"Import Contacts\",\n\t\t\t\t\"group\": \"Group\",\n\t\t\t\t\"data\": \"Data\",\n\t\t\t\t\"pasteData\": \"Paste Data\",\n\t\t\t\t\"uploadFile\": \"Upload File\",\n\t\t\t\t\"pastePlaceholder\": [\n\t\t\t\t\t\"Please paste data, one email per line, attributes (optional)\",\n\t\t\t\t\t\"Example: example1@example.com\",\n\t\t\t\t\t\"example1@example.com,\\\"{\\\"\\\"age\\\"\\\": \\\"\\\"13\\\"\\\", \\\"\\\"Gender\\\"\\\": \\\"\\\"XXX\\\"\\\"}\\\"\"\n\t\t\t\t],\n\t\t\t\t\"fileTypeHint\": \"File type: csv, no more than 5 MB\",\n\t\t\t\t\"overwriteLabel\": \"Overwrite existing users\",\n\t\t\t\t\"overwriteDescription\": \"Whether to overwrite existing customer information in the list according to imported data during import\",\n\t\t\t\t\"subscriptionStatus\": \"Subscription Status\",\n\t\t\t\t\"status\": \"Status\",\n\t\t\t\t\"exampleCsvLabel\": \"Example CSV\",\n\t\t\t\t\"overwriteOptions\": {\n\t\t\t\t\t\"no\": \"No\",\n\t\t\t\t\t\"yes\": \"Yes\"\n\t\t\t\t},\n\t\t\t\t\"subscriptionOptions\": {\n\t\t\t\t\t\"subscribe\": \"Subscribe\",\n\t\t\t\t\t\"unsubscribe\": \"Unsubscribe\"\n\t\t\t\t},\n\t\t\t\t\"statusOptions\": {\n\t\t\t\t\t\"confirmed\": \"Confirmed\",\n\t\t\t\t\t\"unconfirmed\": \"Unconfirmed\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"groupRequired\": \"Please select group\",\n\t\t\t\t\t\"dataRequired\": \"Please paste data, one email per line\",\n\t\t\t\t\t\"fileRequired\": \"Please upload file\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"batchSetTag\": {\n\t\t\t\t\"title\": \"Batch Set Tag\",\n\t\t\t\t\"labels\": {\n\t\t\t\t\t\"tag\": \"Tag\",\n\t\t\t\t\t\"action\": \"Action\"\n\t\t\t\t},\n\t\t\t\t\"actions\": {\n\t\t\t\t\t\"add\": \"Add\",\n\t\t\t\t\t\"remove\": \"Remove\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"tagSelect\": {\n\t\t\t\t\"manageTags\": \"Manage Tags\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"importSubscribers\": \"Importing contacts, please wait...\",\n\t\t\t\t\"updateSubscriberGroup\": \"Updating group, please wait...\",\n\t\t\t\t\"deleteSubscriber\": \"Deleting contacts, please wait...\",\n\t\t\t\t\"batchSetTag\": \"Processing, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"group\": {\n\t\t\t\"search\": {\n\t\t\t\t\"namePlaceholder\": \"Search by group name\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"Group Name\",\n\t\t\t\t\"subscribers\": \"Subscribers\",\n\t\t\t\t\"unsubscribe\": \"Unsubscribed\",\n\t\t\t\t\"createdAt\": \"Created At\",\n\t\t\t\t\"type\": \"Type\"\n\t\t\t},\n\t\t\t\"type\": {\n\t\t\t\t\"doubleOptin\": \"Double Opt-In\",\n\t\t\t\t\"singleOptin\": \"Single Opt-In\"\n\t\t\t},\n\t\t\t\"export\": {\n\t\t\t\t\"title\": \"Export Group\",\n\t\t\t\t\"confirm\": \"Export {count} group(s)?\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"name\": \"Group Name\",\n\t\t\t\t\"file\": \"File\",\n\t\t\t\t\"nameRequired\": \"Please enter group name\"\n\t\t\t},\n\t\t\t\"add\": {\n\t\t\t\t\"title\": \"Add Group\"\n\t\t\t},\n\t\t\t\"rename\": {\n\t\t\t\t\"title\": \"Rename Group\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete Group\",\n\t\t\t\t\"confirm\": \"Are you sure to delete group {name}?\"\n\t\t\t},\n\t\t\t\"fileUpload\": {\n\t\t\t\t\"hint\": \"File type: csv, not exceeding 10 MB\",\n\t\t\t\t\"emptyHint\": \"An empty group will be created when no file is uploaded\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"createGroup\": \"Creating group, please wait...\",\n\t\t\t\t\"updateGroup\": \"Updating group, please wait...\",\n\t\t\t\t\"deleteGroup\": \"Deleting group, please wait...\",\n\t\t\t\t\"exportGroup\": \"Exporting, please wait...\",\n\t\t\t\t\"saveSettings\": \"Saving, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"settings\": {\n\t\t\t\"title\": \"Settings\",\n\t\t\t\"tabs\": {\n\t\t\t\t\"subscribeForm\": \"Subscribe Form\",\n\t\t\t\t\"subscribeSettings\": \"Subscribe Settings\",\n\t\t\t\t\"unsubscribeSettings\": \"Unsubscribe Settings\"\n\t\t\t},\n\t\t\t\"subscribeForm\": {\n\t\t\t\t\"separateSubscriptionPage\": {\n\t\t\t\t\t\"title\": \"Separate Subscription Page\",\n\t\t\t\t\t\"description\": \"Simply copy and share this URL with users – the subscription form is ready to use.\"\n\t\t\t\t},\n\t\t\t\t\"embeddableForm\": {\n\t\t\t\t\t\"title\": \"Embeddable Form\",\n\t\t\t\t\t\"description\": \"Easily embed this subscription form into your website pages.\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"subscribeSettings\": {\n\t\t\t\t\"listType\": {\n\t\t\t\t\t\"label\": \"List Type\",\n\t\t\t\t\t\"placeholder\": \"Please select list type\",\n\t\t\t\t\t\"options\": {\n\t\t\t\t\t\t\"doubleOptin\": \"Double Opt-in\",\n\t\t\t\t\t\t\"singleOptin\": \"Single Opt-in\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"confirmEmail\": {\n\t\t\t\t\t\"subject\": \"Confirmation Email Subject\",\n\t\t\t\t\t\"redirectLink\": \"Confirmation Redirect Link\",\n\t\t\t\t\t\"redirectDescription\": \"Enter the custom link below to redirect users to a confirmation page for their 'Double Opt-in' subscription\",\n\t\t\t\t\t\"emailContent\": \"Confirmation Email\",\n\t\t\t\t\t\"emailTip1\": \"If you customize the confirmation email, don't forget to include the confirmation link\",\n\t\t\t\t\t\"emailTip2\": \"somewhere in your message\"\n\t\t\t\t},\n\t\t\t\t\"welcomeEmail\": {\n\t\t\t\t\t\"subject\": \"Welcome Email Subject\",\n\t\t\t\t\t\"redirectLink\": \"Welcome Redirect Link\",\n\t\t\t\t\t\"redirectDescription\": \"Please enter the link below to direct users to a custom confirmation page after they subscribe successfully\",\n\t\t\t\t\t\"emailContent\": \"Welcome Email\",\n\t\t\t\t\t\"sendThroughTip\": \"Messages are sent through the\",\n\t\t\t\t\t\"mailboxTip\": \"mailbox of the default sending domain\",\n\t\t\t\t\t\"enabledDescription\": \"When enabled, a thank you email will be sent to the user when they subscribe via the subscription form or API. This will not be triggered for manually added users.\",\n\t\t\t\t\t\"templateVariablesTip\": \"You can use the information you collect in the subject and message of your thank you email, which is the Template Variables.\"\n\t\t\t\t},\n\t\t\t\t\"alreadySubscribed\": {\n\t\t\t\t\t\"redirectLink\": \"Already Subscribed Redirect Link\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"unsubscribeSettings\": {\n\t\t\t\t\"subject\": \"Unsubscribe Subject\",\n\t\t\t\t\"redirectLink\": \"Unsubscribe Redirect Link\",\n\t\t\t\t\"emailPage\": \"Unsubscribe Email Page\",\n\t\t\t\t\"enabledDescription\": \"When enabled, an unsubscribe email will be sent to users when they unsubscribe or API unsubscribe. Manually added users will not trigger this feature.\"\n\t\t\t}\n\t\t},\n\t\t\"suspend\": {\n\t\t\t\"title\": \"Suspended Emails\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"scanInvalidDomains\": \"Scan Invalid Domains\",\n\t\t\t\t\"scanLogs\": \"Scan Logs\",\n\t\t\t\t\"autoBlockFailedEmails\": \"Auto block failed emails\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"emailPlaceholder\": \"Please enter email\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"email\": \"Email\",\n\t\t\t\t\"description\": \"Description\",\n\t\t\t\t\"status\": \"Status\",\n\t\t\t\t\"addTime\": \"Add Time\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"invalid\": \"Invalid\",\n\t\t\t\t\"checking\": \"Checking\"\n\t\t\t},\n\t\t\t\"confirm\": {\n\t\t\t\t\"clear\": {\n\t\t\t\t\t\"title\": \"Clear\",\n\t\t\t\t\t\"content\": \"This will clear all data under that type, do you continue?\"\n\t\t\t\t},\n\t\t\t\t\"delete\": {\n\t\t\t\t\t\"title\": \"Delete\",\n\t\t\t\t\t\"content\": \"Are you sure you want to delete [{email}]\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"scan\": {\n\t\t\t\t\"title\": \"Scan Invalid Domains\",\n\t\t\t\t\"confirmText\": \"Scan\",\n\t\t\t\t\"form\": {\n\t\t\t\t\t\"group\": \"Group\",\n\t\t\t\t\t\"method\": \"Method\",\n\t\t\t\t\t\"groupRequired\": \"Please select group\"\n\t\t\t\t},\n\t\t\t\t\"methods\": {\n\t\t\t\t\t\"noOperation\": \"no-operation\",\n\t\t\t\t\t\"addToExceptionTable\": \"Added to the exception prevention table\",\n\t\t\t\t\t\"deleteFromGroup\": \"The abnormal mailbox is deleted from the group\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"scanLogs\": {\n\t\t\t\t\"title\": \"Scan Logs\",\n\t\t\t\t\"none\": \"None\"\n\t\t\t},\n\t\t\t\"api\": {\n\t\t\t\t\"loading\": {\n\t\t\t\t\t\"deleting\": \"Deleting, please wait...\",\n\t\t\t\t\t\"scanning\": \"Scanning, please wait...\",\n\t\t\t\t\t\"clearing\": \"Clearing, please wait...\",\n\t\t\t\t\t\"setting\": \"Setting, please wait...\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"tags\": {\n\t\t\t\"title\": \"Tag Management\",\n\t\t\t\"addTag\": \"Add Tag\",\n\t\t\t\"bulkTag\": \"Bulk Tag\",\n\t\t\t\"searchPlaceholder\": \"Search tags\",\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"Tag Name\",\n\t\t\t\t\"groupName\": \"Group Name\",\n\t\t\t\t\"createTime\": \"Created Time\",\n\t\t\t\t\"actions\": \"Actions\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete Tag\",\n\t\t\t\t\"confirm\": \"Are you sure you want to delete this tag 【{name}】?\"\n\t\t\t},\n\t\t\t\"bulk\": {\n\t\t\t\t\"title\": \"Bulk tag contact\",\n\t\t\t\t\"form\": {\n\t\t\t\t\t\"group\": \"Group\",\n\t\t\t\t\t\"tags\": \"Tags\",\n\t\t\t\t\t\"emails\": \"Emails\",\n\t\t\t\t\t\"action\": \"Action\",\n\t\t\t\t\t\"emailsPlaceholder\": \"Please paste emails, one per line\"\n\t\t\t\t},\n\t\t\t\t\"actions\": {\n\t\t\t\t\t\"tagThese\": \"Tag these emails\",\n\t\t\t\t\t\"tagExcept\": \"Tag everyone except these emails\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"title\": {\n\t\t\t\t\t\"create\": \"Create Tag\",\n\t\t\t\t\t\"edit\": \"Edit Tag\"\n\t\t\t\t},\n\t\t\t\t\"fields\": {\n\t\t\t\t\t\"name\": \"Tag Name\",\n\t\t\t\t\t\"group\": \"Group\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"nameRequired\": \"Please enter tag name\",\n\t\t\t\t\t\"groupRequired\": \"Please select group\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"Creating tag, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting tag, please wait...\",\n\t\t\t\t\"updating\": \"Updating tag, please wait...\",\n\t\t\t\t\"bulkSetting\": \"Bulk setting, please wait...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"domain\": {\n\t\t\"title\": \"MailDomain\",\n\t\t\"addDomain\": \"Add Domain\",\n\t\t\"help\": \"Add the domain you want to use to send emails\",\n\t\t\"columns\": {\n\t\t\t\"domain\": \"Domain\",\n\t\t\t\"quota\": \"Quota\",\n\t\t\t\"mailboxes\": \"Mailboxes\",\n\t\t\t\"defaultMailboxSize\": \"Default Mailbox Size\",\n\t\t\t\"dedicatedIp\": \"Dedicated IP\",\n\t\t\t\"actions\": \"Actions\"\n\t\t},\n\t\t\"ipSet\": {\n\t\t\t\"title\": \"Dedicated IP Settings\",\n\t\t\t\"titleWithDomain\": \"Dedicated IP Settings [{domain}]\",\n\t\t\t\"dedicatedIp\": \"Dedicated IP: \",\n\t\t\t\"configFile\": \"Config File: \",\n\t\t\t\"connectionStatus\": \"Connection Status: \",\n\t\t\t\"warning\": \"You can activate the dedicated IP connection status by manually executing the following command in the SSH terminal\\nIf you have multiple domains that need to configure dedicated IPs, we recommend that you configure all domains first and then execute the following command to avoid multiple interruptions to the mail server\",\n\t\t\t\"getCommand\": \"Get Command\",\n\t\t\t\"copyCommand\": \"Copy Command\",\n\t\t\t\"operationReminder\": \"Operation Reminder\",\n\t\t\t\"fixCommandTip\": \"If the command execution fails, you can execute this command to fix it: \",\n\t\t\t\"understood\": \"Got it\",\n\t\t\t\"validation\": {\n\t\t\t\t\"getCommandFirst\": \"Please get the command first\"\n\t\t\t}\n\t\t},\n\t\t\"status\": {\n\t\t\t\"default\": \"Default\"\n\t\t},\n\t\t\"actions\": {\n\t\t\t\"dnsRecord\": \"DNS Records\",\n\t\t\t\"setDefault\": \"Set Default\"\n\t\t},\n\t\t\"notSpam\": {\n\t\t\t\"checkNow\": \"Check Now\",\n\t\t\t\"logs\": \"Logs\"\n\t\t},\n\t\t\"checkLogs\": {\n\t\t\t\"title\": \"Check Logs\"\n\t\t},\n\t\t\"blacklistDetection\": {\n\t\t\t\"title\": \"Black List Check\",\n\t\t\t\"checking\": \"Checking {results} which resolves to {ip} against {tested} known blacklists...\",\n\t\t\t\"listed\": \"Listed: {count}\",\n\t\t\t\"success\": \"Your IP does not exist in the blacklist known by aaPanel\",\n\t\t\t\"columns\": {\n\t\t\t\t\"blacklist\": \"Black List\",\n\t\t\t\t\"responseIp\": \"Response IP\",\n\t\t\t\t\"checkTime\": \"Check Time\"\n\t\t\t}\n\t\t},\n\t\t\"setDefault\": {\n\t\t\t\"title\": \"Set Default [{domain}]\",\n\t\t\t\"confirm\": \"Are you sure to set this domain as default?\"\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"Delete Domain\",\n\t\t\t\"confirm\": \"Are you sure you want to delete domain [{domain}]?\"\n\t\t},\n\t\t\"waitAndCheckDomainStatus\": {\n\t\t\t\"success\": \"Brand information initialization successful.\",\n\t\t\t\"error\": \"Brand information initialization failed.\",\n\t\t\t\"loading\": \"Initializing brand information, please wait...\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"Add Domain\",\n\t\t\t\"editTitle\": \"Edit Domain\",\n\t\t\t\"domain\": \"Domain\",\n\t\t\t\"domainPlaceholder\": \"Please enter domain, e.g.: billionmail.com\",\n\t\t\t\"urlsPlacement\": \"Please enter url, e.g.: https://billionmail.com\",\n\t\t\t\"aRecord\": \"A Record\",\n\t\t\t\"aRecordPlaceholder\": \"Please enter A record, e.g.: mail.aapanel.com\",\n\t\t\t\"quota\": \"Domain Quota\",\n\t\t\t\"mailboxCount\": \"Mailbox Count\",\n\t\t\t\"globalCatch\": \"Catch All\",\n\t\t\t\"globalCatchPlaceholder\": \"Forward non-existent emails to this address\",\n\t\t\t\"dedicatedIp\": \"Dedicated IP\",\n\t\t\t\"notSet\": \"Not Set\",\n\t\t\t\"testConnection\": \"Test Connection\",\n\t\t\t\"validation\": {\n\t\t\t\t\"domainRequired\": \"Domain name cannot be empty!\",\n\t\t\t\t\"domainInputRequired\": \"Please enter domain first\",\n\t\t\t\t\"dedicatedIpRequired\": \"Please enter dedicated IP first\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"aRecordFailed\": \"A record resolution failed. Please check if the A record domain is resolved to the server IP\",\n\t\t\t\t\"dnsSetup\": \"You need to add an A record in your DNS provider's console\",\n\t\t\t\t\"cloudflare\": \"If using CloudFlare, please select [DNS only] when adding records\"\n\t\t\t},\n\t\t\t\"createBrandInfo\": \"Automatically create brand information\",\n\t\t\t\"modelNotice\": \"To use this feature, you need to integrate an AI model first.\",\n\t\t\t\"integrateImmediately\": \"Integrate immediately\",\n\t\t\t\"modelDescription\": \"AI-driven information import automatically analyzes and creates brand information from email domains. After creation, you can modify it at your discretion.\",\n\t\t\t\"extractBrand\": \"Extract brand and color\",\n\t\t\t\"analyzeStructure\": \"Analyze content structure\",\n\t\t\t\"importContent\": \"Import images and content\",\n\t\t\t\"customLogo\": \"Use a custom logo (optional)\",\n\t\t\t\"specifyDomain\": \"Specify a domain name\",\n\t\t\t\"addMoreUrls\": \"Add more URLs\",\n\t\t\t\"maxUrl\": \"Maximum of 3 URLs can be filled in.\"\n\t\t},\n\t\t\"dns\": {\n\t\t\t\"title\": \"DNS Records\",\n\t\t\t\"verify\": \"Records set, verify DNS resolution\",\n\t\t\t\"status\": {\n\t\t\t\t\"ok\": \"OK\",\n\t\t\t\t\"notSet\": \"Not Set\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"domain\": \"Domain\"\n\t\t\t},\n\t\t\t\"table\": {\n\t\t\t\t\"recordType\": \"Record Type\",\n\t\t\t\t\"host\": \"Host\",\n\t\t\t\t\"value\": \"Value\",\n\t\t\t\t\"mxPriority\": \"MX Priority\"\n\t\t\t},\n\t\t\t\"step1\": {\n\t\t\t\t\"title\": \"Step 1: Add A Record\"\n\t\t\t},\n\t\t\t\"step2\": {\n\t\t\t\t\"title\": \"Step 2: Add MX Record\",\n\t\t\t\t\"description\": \"Login to your domain service provider and add an MX record for email service (please copy the following parameters directly)\"\n\t\t\t},\n\t\t\t\"step3\": {\n\t\t\t\t\"title\": \"Step 3: Add TXT Record\",\n\t\t\t\t\"description\": \"Add TXT records for email anti-spam (please copy the following parameters directly)\"\n\t\t\t},\n\t\t\t\"step4\": {\n\t\t\t\t\"title\": \"Step 4: Add PTR Record\",\n\t\t\t\t\"description1\": \"(Optional) PTR record is used for reverse DNS lookup\",\n\t\t\t\t\"description2\": \"Contact your IP provider to create PTR record\"\n\t\t\t},\n\t\t\t\"dkim\": {\n\t\t\t\t\"formatLabel\": \"DKIM Record Format:\",\n\t\t\t\t\"keySize\": {\n\t\t\t\t\t\"option2048\": \"2048-bit RSA Key\",\n\t\t\t\t\t\"option1024\": \"1024-bit RSA Key\"\n\t\t\t\t},\n\t\t\t\t\"tips\": {\n\t\t\t\t\t\"line1\": \"DKIM supports 2048-bit and 1024-bit RSA keys.\",\n\t\t\t\t\t\"line2\": \"Prefer 2048-bit keys for stronger security.\",\n\t\t\t\t\t\"line3\": \"Choose based on your DNS provider capability.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ssl\": {\n\t\t\t\"expired\": \"Expired\",\n\t\t\t\"daysLeft\": \"{days} days\",\n\t\t\t\"notSet\": \"Not Set\",\n\t\t\t\"title\": \"Domain SSL\",\n\t\t\t\"tabs\": {\n\t\t\t\t\"otherCertificate\": \"Other Certificate\"\n\t\t\t},\n\t\t\t\"cert\": {\n\t\t\t\t\"brand\": \"Brand\",\n\t\t\t\t\"domains\": \"Certificate Domains\",\n\t\t\t\t\"privateKey\": \"Private Key (KEY)\",\n\t\t\t\t\"certificate\": \"Certificate (CRT/PEM)\",\n\t\t\t\t\"keyPlaceholder\": \"Enter private key content\",\n\t\t\t\t\"certPlaceholder\": \"Enter certificate content\"\n\t\t\t},\n\t\t\t\"actions\": {\n\t\t\t\t\"applyFree\": \"Apply Free Certificate\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"paste\": \"Paste your KEY and CRT content, then save\",\n\t\t\t\t\"chainCheck\": \"If the browser prompts that the certificate chain is incomplete, please check if the PEM certificate is correctly concatenated\",\n\t\t\t\t\"pemFormat\": \"PEM format certificate = Domain certificate .crt + Root certificate (root_bundle).crt\",\n\t\t\t\t\"defaultSite\": \"When no SSL default site is specified, sites without SSL configuration will use HTTPS to access sites with SSL enabled\"\n\t\t\t}\n\t\t},\n\t\t\"edit\": {\n\t\t\t\"pageTitle\": \"Domain / Edit domain\",\n\t\t\t\"save\": \"Save\",\n\t\t\t\"breadcrumb\": {\n\t\t\t\t\"domain\": \"Domain\",\n\t\t\t\t\"editDomain\": \"Edit Domain\"\n\t\t\t},\n\t\t\t\"tabs\": {\n\t\t\t\t\"domainConfiguration\": \"Domain Configuration\",\n\t\t\t\t\"projectDetails\": \"Project Details\",\n\t\t\t\t\"companyProfile\": \"Company Profile\",\n\t\t\t\t\"styling\": \"Styling\",\n\t\t\t\t\"sitemap\": \"Sitemap\",\n\t\t\t\t\"footerSettings\": \"Footer Settings\",\n\t\t\t\t\"aiSettings\": \"AI Settings\"\n\t\t\t},\n\t\t\t\"domainConfiguration\": {\n\t\t\t\t\"title\": \"Email Domain Configuration\",\n\t\t\t\t\"domain\": \"Domain\",\n\t\t\t\t\"domainQuota\": \"Domain Quota\",\n\t\t\t\t\"mailboxCount\": \"Mailbox Count\",\n\t\t\t\t\"catchAll\": \"Catch all\",\n\t\t\t\t\"dedicatedIp\": \"Domain Dedicated IP\",\n\t\t\t\t\"dedicatedIpDesc\": \"Domain {domain} will specify this dedicated IP in iptables when sending and receiving emails. If your server has only one IP, you don't need to set this feature\",\n\t\t\t\t\"notSet\": \"Not Set\",\n\t\t\t\t\"testConnection\": \"Test Connection\",\n\t\t\t\t\"catchAllDesc\": \"After you fill in the email here, all unknown emails under this domain will be forwarded to this email\",\n\t\t\t\t\"domainQuotaDesc\": \"Set the available space for this domain\",\n\t\t\t\t\"mailboxCountDesc\": \"Set how many mailboxes can be created for this domain\",\n\t\t\t\t\"autoCreateBrand\": \"Automatically create brand information\",\n\t\t\t\t\"aiIntegrationWarning\": \"To use this feature, you need to integrate an AI model first.\",\n\t\t\t\t\"integrateImmediately\": \"Integrate immediately\",\n\t\t\t\t\"aiDescription\": \"AI-driven information import automatically analyzes and creates brand information from email domains. After creation, you can modify it at your discretion.\",\n\t\t\t\t\"features\": {\n\t\t\t\t\t\"extractBrand\": \"Extract brand and color\",\n\t\t\t\t\t\"analyzeStructure\": \"Analyze content structure\",\n\t\t\t\t\t\"importContent\": \"Import images and content\",\n\t\t\t\t\t\"customLogo\": \"Use a custom logo (optional)\"\n\t\t\t\t},\n\t\t\t\t\"specifyDomain\": \"Specify a domain name\",\n\t\t\t\t\"addMoreUrls\": \"Add more URLs\",\n\t\t\t\t\"createNow\": \"Create Immediately\",\n\t\t\t\t\"brandInfo\": \"Brand information\",\n\t\t\t\t\"noBrandInfo\": \"No brand information available.\",\n\t\t\t\t\"fillDomain\": \"Please fill in the domain name\",\n\t\t\t\t\"fillValidDomain\": \"Please fill in a valid domain name\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"setDedicatedIpFirst\": \"Please set the domain dedicated IP first\"\n\t\t\t\t},\n\t\t\t\t\"api\": {\n\t\t\t\t\t\"testingConnection\": \"Testing connection, please wait...\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"projectDetails\": {\n\t\t\t\t\"title\": \"Project Details\",\n\t\t\t\t\"projectName\": \"Project Name\",\n\t\t\t\t\"description\": \"Description\",\n\t\t\t\t\"brandLogos\": \"Brand Logos\",\n\t\t\t\t\"logoSystem\": \"Logo System\",\n\t\t\t\t\"logoSystemDesc\": \"Upload your brand's logo system to maintain consistent branding across your project\",\n\t\t\t\t\"primaryLogo\": \"Primary Logo\",\n\t\t\t\t\"primaryLogoDesc\": \"Horizontal version for headers\",\n\t\t\t\t\"secondaryLogo\": \"Secondary Logo\",\n\t\t\t\t\"secondaryLogoDesc\": \"Vertical/stacked version\",\n\t\t\t\t\"favicon\": \"Favicon\",\n\t\t\t\t\"faviconDesc\": \"Icon for browser tabs\",\n\t\t\t\t\"loadingFailed\": \"loading failed\",\n\t\t\t\t\"knowledgeBase\": \"Knowledge Base\",\n\t\t\t\t\"newFile\": \"New File\",\n\t\t\t\t\"edit\": \"Edit\",\n\t\t\t\t\"preview\": \"Preview\",\n\t\t\t\t\"newKnowledgeFile\": \"New Knowledge File\",\n\t\t\t\t\"fileName\": \"File Name\",\n\t\t\t\t\"day\": \"days\",\n\t\t\t\t\"hour\": \"hours\",\n\t\t\t\t\"minute\": \"minutes\",\n\t\t\t\t\"ago\": \"ago\",\n\t\t\t\t\"justNow\": \"just now\",\n\t\t\t\t\"close\": \"Close\",\n\t\t\t\t\"cancel\": \"Cancel\",\n\t\t\t\t\"create\": \"Create\",\n\t\t\t\t\"notice\": \"Notice\",\n\t\t\t\t\"sureDel\": \"Are you sure you want to delete?\"\n\t\t\t},\n\t\t\t\"companyProfile\": {\n\t\t\t\t\"title\": \"Company Detail\",\n\t\t\t\t\"legalCompanyName\": \"Legal Company Name\",\n\t\t\t\t\"website\": \"web_site\",\n\t\t\t\t\"organizationNumber\": \"Organization Number\",\n\t\t\t\t\"additionalInfo\": \"Additional Company Information\",\n\t\t\t\t\"contactInfo\": \"Contact Information\",\n\t\t\t\t\"contactEmail\": \"Contact Email\",\n\t\t\t\t\"phoneNumber\": \"Phone Number\",\n\t\t\t\t\"supportUrl\": \"Support URL\"\n\t\t\t},\n\t\t\t\"styling\": {\n\t\t\t\t\"colorPalette\": \"Color Palette\",\n\t\t\t\t\"accentColor\": \"Accent Color\",\n\t\t\t\t\"textColor\": \"Text Color\",\n\t\t\t\t\"pageBackground\": \"Page Background\",\n\t\t\t\t\"containerBackground\": \"Container Background\",\n\t\t\t\t\"linkFooterColor\": \"Link footer color\",\n\t\t\t\t\"linkSocialColor\": \"Link social color\",\n\t\t\t\t\"typography\": \"Typography\",\n\t\t\t\t\"headingFont\": \"Heading Font\",\n\t\t\t\t\"bodyFont\": \"Body Font\",\n\t\t\t\t\"preview\": \"Preview:\",\n\t\t\t\t\"previewText\": \"The quick brown fox jumps over the lazy dog\",\n\t\t\t\t\"typographyGuidelines\": \"Typography Guidelines:\",\n\t\t\t\t\"webSafeFonts\": \"Use web-safe fonts for better compatibility\",\n\t\t\t\t\"fallbackFonts\": \"Always include fallback fonts for better performance\"\n\t\t\t},\n\t\t\t\"sitemap\": {\n\t\t\t\t\"title\": \"Sitemap\",\n\t\t\t\t\"addLink\": \"Add link\"\n\t\t\t},\n\t\t\t\"footerSettings\": {\n\t\t\t\t\"title\": \"Footer Settings\",\n\t\t\t\t\"additionalContent\": \"Additional Content\",\n\t\t\t\t\"copyrightText\": \"Copyright Text\"\n\t\t\t},\n\t\t\t\"aiSettings\": {\n\t\t\t\t\"title\": \"AI Settings\",\n\t\t\t\t\"defaultInstructions\": \"Default AI Instructions\",\n\t\t\t\t\"emailGenerationInstructions\": \"Instructions for Email Generation\",\n\t\t\t\t\"instructionsDescription\": \"These instructions will be used as default guidelines when generating new emails. You can override these instructions for individual emails as needed.\"\n\t\t\t},\n\t\t\t\"common\": {\n\t\t\t\t\"daysAgo\": \"days ago\",\n\t\t\t\t\"noBrandInfo\": \"There is no brand information for the current domain.\"\n\t\t\t}\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"Creating domain, please wait...\",\n\t\t\t\t\"updating\": \"Updating domain, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting domain, please wait...\",\n\t\t\t\t\"settingSSL\": \"Setting SSL certificate, please wait...\",\n\t\t\t\t\"refreshingDns\": \"Refreshing DNS records, please wait...\",\n\t\t\t\t\"applyingCert\": \"Applying certificate, please wait...\",\n\t\t\t\t\"settingDefault\": \"Setting default domain, please wait...\",\n\t\t\t\t\"settingBrandInfo\": \"Setting domain brand info, please wait...\",\n\t\t\t\t\"testingConnection\": \"Testing connection, please wait...\",\n\t\t\t\t\"detecting\": \"Detecting, please wait...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"mailbox\": {\n\t\t\"title\": \"Mailbox Management\",\n\t\t\"actions\": {\n\t\t\t\"add\": \"Add Mailbox\",\n\t\t\t\"batchAdd\": \"Batch Add\",\n\t\t\t\"batchDelete\": \"Batch Delete\",\n\t\t\t\"exportAll\": \"Export All\"\n\t\t},\n\t\t\"search\": {\n\t\t\t\"usernamePlaceholder\": \"Search username\"\n\t\t},\n\t\t\"domain\": {\n\t\t\t\"selectPlaceholder\": \"Select domain\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"username\": \"Username\",\n\t\t\t\"password\": \"Password\",\n\t\t\t\"loginInfo\": \"Login Info(WebMail / SMTP)\",\n\t\t\t\"quota\": \"Quota\",\n\t\t\t\"type\": \"Type\",\n\t\t\t\"status\": \"Status\"\n\t\t},\n\t\t\"userType\": {\n\t\t\t\"admin\": \"Admin\",\n\t\t\t\"general\": \"General User\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"Add Mailbox\",\n\t\t\t\"editTitle\": \"Edit Mailbox\",\n\t\t\t\"batchAddTitle\": \"Batch Add\",\n\t\t\t\"exportTitle\": \"Export Mailbox\",\n\t\t\t\"importTitle\": \"Import Mailbox\",\n\t\t\t\"emailAddress\": \"Email Address\",\n\t\t\t\"password\": \"Password\",\n\t\t\t\"passwordPlaceholder\": \"Enter your mailbox password\",\n\t\t\t\"quota\": \"Quota\",\n\t\t\t\"userType\": \"User Type\",\n\t\t\t\"status\": \"Status\",\n\t\t\t\"domain\": \"Domain\",\n\t\t\t\"prefix\": \"Email Prefix\",\n\t\t\t\"count\": \"Email Count\"\n\t\t},\n\t\t\"validation\": {\n\t\t\t\"emailRequired\": \"Please enter email address\",\n\t\t\t\"passwordLength\": \"Password must be at least 8 characters\",\n\t\t\t\"passwordFormat\": \"Password must contain at least one uppercase letter, one lowercase letter and one number\",\n\t\t\t\"domainRequired\": \"Please select domain\",\n\t\t\t\"prefixRequired\": \"Please enter email prefix\",\n\t\t\t\"countRequired\": \"Please enter email count\",\n\t\t\t\"fileRequired\": \"Please select upload file\"\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"Delete Mailbox\",\n\t\t\t\"confirm\": \"Are you sure you want to delete mailbox [{name}]?\",\n\t\t\t\"batchConfirm\": \"Are you sure you want to delete {count} mailboxes?\"\n\t\t},\n\t\t\"loginInfo\": {\n\t\t\t\"template\": \"WebMail: {webmail}\\nUsername: {username}\\nPassword: {password}\\nPOP service [ Address: {mx} Port: 110/995 ]\\nIMAP service [ Address: {mx} Port: 143/993 ]\\nSMTP service [ Address: {mx} Port: 25/465/587 ]\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"Creating Mailbox, please wait...\",\n\t\t\t\t\"updating\": \"Updating Mailbox, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting Mailbox, please wait...\",\n\t\t\t\t\"exporting\": \"Exporting Mailbox, please wait...\",\n\t\t\t\t\"importing\": \"Importing Mailbox, please wait...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"smtp\": {\n\t\t\"title\": \"SMTP Relay Service Management\",\n\t\t\"description\": \"Manage your SMTP relay services with support for multiple service providers\",\n\t\t\"empty\": \"No SMTP relay services available\",\n\t\t\"providers\": {\n\t\t\t\"gmail\": \"Gmail\",\n\t\t\t\"mailgun\": \"Mailgun\",\n\t\t\t\"aws\": \"AWS SES\",\n\t\t\t\"sendgrid\": \"SendGrid\",\n\t\t\t\"custom\": \"Custom SMTP\"\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"Delete Relay\",\n\t\t\t\"confirm\": \"Are you sure you want to delete this relay service [{name}]?\"\n\t\t},\n\t\t\"card\": {\n\t\t\t\"domain\": \"Bound Domain\",\n\t\t\t\"server\": \"Server\",\n\t\t\t\"port\": \"Port\",\n\t\t\t\"username\": \"Username\",\n\t\t\t\"dnsUpdateRequired\": \"DNS records need updating\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"Add SMTP\",\n\t\t\t\"editTitle\": \"Edit SMTP\",\n\t\t\t\"remark\": \"Remark\",\n\t\t\t\"domain\": \"Bound Domain\",\n\t\t\t\"server\": \"SMTP Server\",\n\t\t\t\"port\": \"SMTP Port\",\n\t\t\t\"username\": \"Username\",\n\t\t\t\"password\": \"Password\",\n\t\t\t\"authMethod\": \"Authentication Method\",\n\t\t\t\"advancedFeatures\": \"Advanced Options\",\n\t\t\t\"testConnection\": \"Test Connection\",\n\t\t\t\"bind\": \" [Bound]\",\n\t\t\t\"skipTlsVerify\": \"Skip TLS Verification\",\n\t\t\t\"tlsOptions\": {\n\t\t\t\t\"skip\": \"Skip\",\n\t\t\t\t\"noSkip\": \"Don't Skip\"\n\t\t\t},\n\t\t\t\"validation\": {\n\t\t\t\t\"nameRequired\": \"Please enter a relay name\",\n\t\t\t\t\"domainRequired\": \"Please select a bound domain\",\n\t\t\t\t\"serverRequired\": \"Please enter an SMTP server\",\n\t\t\t\t\"portRequired\": \"Please enter an SMTP port\",\n\t\t\t\t\"usernameRequired\": \"Please enter a username\",\n\t\t\t\t\"passwordRequired\": \"Please enter a password\"\n\t\t\t}\n\t\t},\n\t\t\"status\": {\n\t\t\t\"online\": \"Online\",\n\t\t\t\"offline\": \"Offline\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"Adding SMTP, please wait...\",\n\t\t\t\t\"editing\": \"Editing SMTP, please wait...\",\n\t\t\t\t\"testing\": \"Testing SMTP connection, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting SMTP, please wait...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"settings\": {\n\t\t\"title\": \"Settings\",\n\t\t\"service\": {\n\t\t\t\"title\": \"Service Status\",\n\t\t\t\"tips\": \"Tips: Ctrl+F Search keywords, Ctrl+S Save, Ctrl+H Search and replace\",\n\t\t\t\"editTitle\": \"Online Edit {name}\",\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"Service Name\",\n\t\t\t\t\"status\": \"Status\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"running\": \"Running\",\n\t\t\t\t\"stopped\": \"Stopped\"\n\t\t\t},\n\t\t\t\"actions\": {\n\t\t\t\t\"restart\": \"Restart\"\n\t\t\t},\n\t\t\t\"restart\": {\n\t\t\t\t\"title\": \"Restart Service\",\n\t\t\t\t\"confirm\": \"Are you sure you want to restart [{name}]?\"\n\t\t\t}\n\t\t},\n\t\t\"bcc\": {\n\t\t\t\"title\": \"BCC Management\",\n\t\t\t\"add\": \"Add BCC\",\n\t\t\t\"edit\": \"Edit BCC\",\n\t\t\t\"needCopy\": \"Need Copy\",\n\t\t\t\"copyTo\": \"Copy to\",\n\t\t\t\"domain\": \"Domain\",\n\t\t\t\"type\": \"BCC Type\",\n\t\t\t\"status\": \"Status\",\n\t\t\t\"active\": \"Active\",\n\t\t\t\"types\": {\n\t\t\t\t\"sender\": \"When sending\",\n\t\t\t\t\"recipient\": \"When receiving\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete BCC [{address}]\",\n\t\t\t\t\"content\": \"Whether to delete the BCC setting?\"\n\t\t\t},\n\t\t\t\"placeholders\": {\n\t\t\t\t\"needCopy\": \"Enter the users you need to BCC\",\n\t\t\t\t\"copyTo\": \"Enter the email you need to receive the BCC\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"Adding BCC, please wait...\",\n\t\t\t\t\"saving\": \"Saving BCC, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting BCC, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"forward\": {\n\t\t\t\"add\": \"Add Forward\",\n\t\t\t\"edit\": \"Edit Forward\",\n\t\t\t\"columns\": {\n\t\t\t\t\"address\": \"Address\",\n\t\t\t\t\"goto\": \"Goto\",\n\t\t\t\t\"domain\": \"Domain\",\n\t\t\t\t\"created\": \"Created\",\n\t\t\t\t\"modified\": \"Modified\",\n\t\t\t\t\"status\": \"Status\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"status\": \"Status\",\n\t\t\t\t\"forwardedUsers\": \"Forwarded users\",\n\t\t\t\t\"forwardedUsersPlaceholder\": \"Enter the mailbox that needs to be forwarded\",\n\t\t\t\t\"domain\": \"Domain\",\n\t\t\t\t\"domainPlaceholder\": \"Domain name of the Forwarded users\",\n\t\t\t\t\"receivingUser\": \"Receiving user\",\n\t\t\t\t\"receivingUserPlaceholder\": \"Users who need to accept forwarded mail. If there are multiple, please separate them with newlines\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete mail forward\",\n\t\t\t\t\"content\": \"Are you sure you want to delete mail forward [{address}]?\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"Adding mail forward, please wait...\",\n\t\t\t\t\"editing\": \"Editing mail forward, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting mail forward, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"common\": {\n\t\t\t\"confirm\": \"Update\",\n\t\t\t\"security\": {\n\t\t\t\t\"title\": \"Security Settings\",\n\t\t\t\t\"username\": \"Change Username\",\n\t\t\t\t\"currentUsername\": \"Current Username\",\n\t\t\t\t\"newUsernamePlaceholder\": \"Enter new username\",\n\t\t\t\t\"usernameRule\": \"4-20 characters, letters and numbers\",\n\t\t\t\t\"usernameExists\": \"Username already exists\",\n\t\t\t\t\"changePassword\": \"Change Password\",\n\t\t\t\t\"currentPassword\": \"Current Password\",\n\t\t\t\t\"newPassword\": \"New Password\",\n\t\t\t\t\"confirmPassword\": \"Confirm New Password\",\n\t\t\t\t\"passwordStrength\": \"Password Strength\",\n\t\t\t\t\"passwordMismatch\": \"Passwords do not match\",\n\t\t\t\t\"strength\": {\n\t\t\t\t\t\"weak\": \"Weak\",\n\t\t\t\t\t\"medium\": \"Medium\",\n\t\t\t\t\t\"strong\": \"Strong\"\n\t\t\t\t},\n\t\t\t\t\"securityPath\": \"Change Security Path\",\n\t\t\t\t\"currentPath\": \"Current Path\",\n\t\t\t\t\"newPathPlaceholder\": \"Enter new path, e.g. admin-abc123\",\n\t\t\t\t\"pathRule\": \"Recommend using complex path for enhanced security\",\n\t\t\t\t\"usernameValidation\": {\n\t\t\t\t\t\"lengthError\": \"Username length must be between 4 and 20 characters\",\n\t\t\t\t\t\"formatError\": \"Username must consist of letters, numbers or underscores\",\n\t\t\t\t\t\"duplicateError\": \"Username cannot be the same as current username\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"network\": {\n\t\t\t\t\"title\": \"Network Configuration\",\n\t\t\t\t\"domain\": \"Domain Settings\",\n\t\t\t\t\"currentDomain\": \"The access domain name of the console\",\n\t\t\t\t\"newDomainPlaceholder\": \"Enter new domain, e.g. admin.yourdomain.com\",\n\t\t\t\t\"domainRule\": \"Please enter a valid domain\",\n\t\t\t\t\"ssl\": \"SSL Certificate Configuration\",\n\t\t\t\t\"sslEnabled\": \"SSL Enabled\",\n\t\t\t\t\"certStatus\": \"Certificate Status\",\n\t\t\t\t\"certValid\": \"({days} days remaining)\",\n\t\t\t\t\"sslCert\": \"SSL Certificate (PEM format)\",\n\t\t\t\t\"sslKey\": \"Private Key (PEM format)\",\n\t\t\t\t\"certPlaceholder\": \"-----BEGIN CERTIFICATE-----\\nMIIFazCCA1OgAwIBAgIURv...\\n-----END CERTIFICATE-----\",\n\t\t\t\t\"keyPlaceholder\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG...\\n-----END PRIVATE KEY-----\",\n\t\t\t\t\"updateSSL\": \"Update SSL Certificate\",\n\t\t\t\t\"certValidStatus\": \"Certificate Valid\",\n\t\t\t\t\"certExpiredStatus\": \"Certificate Expired\",\n\t\t\t\t\"certExpireTime\": \"Certificate expires: {time}\"\n\t\t\t},\n\t\t\t\"system\": {\n\t\t\t\t\"title\": \"System Configuration\",\n\t\t\t\t\"port\": \"Port Settings\",\n\t\t\t\t\"currentPort\": \"Current Port\",\n\t\t\t\t\"terminalRequired\": \"This setting requires terminal operation\",\n\t\t\t\t\"copyCommand\": \"Copy the above command and execute it in the server terminal\",\n\t\t\t\t\"commandCopied\": \"Command copied to clipboard\",\n\t\t\t\t\"timezone\": \"Timezone Settings\",\n\t\t\t\t\"currentTime\": \"Current System Timezone\"\n\t\t\t},\n\t\t\t\"ipWhitelist\": {\n\t\t\t\t\"title\": \"IP Whitelist\",\n\t\t\t\t\"enable\": \"Enable\",\n\t\t\t\t\"disable\": \"Disable\",\n\t\t\t\t\"add\": \"Add\",\n\t\t\t\t\"clear\": \"Clear\",\n\t\t\t\t\"description\": \"Only allow IPs in the list to access, terminal command to disable: bm.sh cancel-ip-limit\",\n\t\t\t\t\"placeholder\": \"Please enter IP address\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"ipRequired\": \"Please enter IP address\"\n\t\t\t\t},\n\t\t\t\t\"confirm\": {\n\t\t\t\t\t\"deleteTitle\": \"Delete IP Whitelist\",\n\t\t\t\t\t\"deleteContent\": \"Confirm to delete IP whitelist: {ip}\",\n\t\t\t\t\t\"enableTitle\": \"Enable IP Whitelist\",\n\t\t\t\t\t\"disableTitle\": \"Disable IP Whitelist\",\n\t\t\t\t\t\"enableContent\": \"Confirm to enable IP whitelist, only whitelisted IP addresses can access after enabling\",\n\t\t\t\t\t\"disableContent\": \"Confirm to disable IP whitelist, all IP addresses can access after disabling\",\n\t\t\t\t\t\"clearTitle\": \"Clear IP Whitelist\",\n\t\t\t\t\t\"clearContent\": \"Confirm to clear IP whitelist, all IP addresses can access after clearing\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"proxy\": {\n\t\t\t\t\"title\": \"Reverse Proxy\",\n\t\t\t\t\"description\": \"Reverse proxy address, used for external exposure, such as: subscription lists, unsubscribe emails, etc.\",\n\t\t\t\t\"placeholder\": \"Please enter reverse proxy address\",\n\t\t\t\t\"formatTip\": \"Format: https://example.com\",\n\t\t\t\t\"reset\": \"Reset\",\n\t\t\t\t\"resetConfirm\": {\n\t\t\t\t\t\"title\": \"Reset Reverse Proxy\",\n\t\t\t\t\t\"content\": \"Confirm to reset reverse proxy?\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"api\": {\n\t\t\t\t\"title\": \"API Settings\",\n\t\t\t\t\"enableApi\": \"Enable API\",\n\t\t\t\t\"apiDocUrl\": \"API Documentation URL\",\n\t\t\t\t\"swaggerUrl\": \"Swagger URL\",\n\t\t\t\t\"token\": \"Token\",\n\t\t\t\t\"confirm\": {\n\t\t\t\t\t\"enable\": \"Enable API\",\n\t\t\t\t\t\"disable\": \"Disable API\",\n\t\t\t\t\t\"enableContent\": \"Do you want to enable API settings?\",\n\t\t\t\t\t\"disableContent\": \"Do you want to disable API settings?\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"notifySettings\": {\n\t\t\t\t\"title\": \"Notification Settings\",\n\t\t\t\t\"blacklist\": {\n\t\t\t\t\t\"title\": \"Notify me when an IP/Domain is blacklisted\",\n\t\t\t\t\t\"alarmSet\": \"Alarm Set\",\n\t\t\t\t\t\"alarmSettings\": {\n\t\t\t\t\t\t\"title\": \"Alarm Settings\",\n\t\t\t\t\t\t\"name\": \"Name\",\n\t\t\t\t\t\t\"senderEmail\": \"Sender Email\",\n\t\t\t\t\t\t\"smtpPassword\": \"SMTP Password\",\n\t\t\t\t\t\t\"smtpServer\": \"SMTP Server\",\n\t\t\t\t\t\t\"port\": \"Port\",\n\t\t\t\t\t\t\"recipientEmail\": \"Recipient Email\"\n\t\t\t\t\t},\n\t\t\t\t\t\"autoCheck\": {\n\t\t\t\t\t\t\"title\": \"Automatically detect blacklists\",\n\t\t\t\t\t\t\"confirm\": {\n\t\t\t\t\t\t\t\"enableTitle\": \"Enable automatic blacklist detection\",\n\t\t\t\t\t\t\t\"disableTitle\": \"Disable automatic blacklist detection\",\n\t\t\t\t\t\t\t\"enableContent\": \"Are you sure to start Automatically detect blacklists service?\",\n\t\t\t\t\t\t\t\"disableContent\": \"Are you sure to stop Automatically detect blacklists service?\"\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\t\"retention\": {\n\t\t\t\t\"title\": \"Mail retention time\",\n\t\t\t\t\"currentDays\": \"{days} day(s)\",\n\t\t\t\t\"trashHint\": \"Retention time for Trash emails\",\n\t\t\t\t\"day\": \"Days\"\n\t\t\t}\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"restarting\": \"Restarting service, please wait...\",\n\t\t\t\t\"saving\": \"Saving configuration, please wait...\",\n\t\t\t\t\"setting\": \"Setting, please wait...\",\n\t\t\t\t\"settingSSL\": \"Setting SSL, please wait...\",\n\t\t\t\t\"applyingCert\": \"Applying certificate, please wait...\",\n\t\t\t\t\"adding\": \"Adding, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting, please wait...\",\n\t\t\t\t\"clearing\": \"Clearing, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"aiModel\": {\n\t\t\t\"modelId\": \"Model ID\",\n\t\t\t\"modelAlias\": \"Model Alias\",\n\t\t\t\"modelFeature\": \"Model Feature\",\n\t\t\t\"contentLength\": \"Maximum Context Length\",\n\t\t\t\"supplierTitle\": \"Supplier Title\",\n\t\t\t\"supplierName\": \"Supplier Name\",\n\t\t\t\"cancel\": \"Cancel\",\n\t\t\t\"confirm\": \"Confirm\",\n\t\t\t\"aPIKey\": \"API Key\",\n\t\t\t\"apiPath\": \"Base Url\",\n\t\t\t\"check\": \"Check\",\n\t\t\t\"getKey\": \"Click to Get Key\",\n\t\t\t\"example\": \"Example\",\n\t\t\t\"saveAPI\": \"Save API\",\n\t\t\t\"model\": \"Model\",\n\t\t\t\"byDefault\": \"By default, all models are retrieved from /models\",\n\t\t\t\"addModel\": \"Add Model\"\n\t\t}\n\t},\n\t\"logs\": {\n\t\t\"title\": \"Logs\",\n\t\t\"table\": {\n\t\t\t\"columns\": {\n\t\t\t\t\"username\": \"Username\",\n\t\t\t\t\"type\": \"Type\",\n\t\t\t\t\"operatingTime\": \"Operating Time\",\n\t\t\t\t\"details\": \"Details\"\n\t\t\t}\n\t\t},\n\t\t\"filter\": {\n\t\t\t\"all\": \"All\"\n\t\t},\n\t\t\"search\": {\n\t\t\t\"placeholder\": \"Please enter details/IP to search\"\n\t\t}\n\t},\n\t\"api\": {\n\t\t\"title\": \"Send API\",\n\t\t\"timeRange\": \"Time Range: \",\n\t\t\"status\": \"Status: \",\n\t\t\"search\": \"Search: \",\n\t\t\"searchPlaceholder\": \"Please enter API name\",\n\t\t\"refreshData\": \"Refresh Data\",\n\t\t\"createNew\": \"Create API\",\n\t\t\"statusOptions\": {\n\t\t\t\"all\": \"All\",\n\t\t\t\"active\": \"Active\",\n\t\t\t\"inactive\": \"Inactive\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"apiName\": \"API Name\",\n\t\t\t\"apiKey\": \"API Key\",\n\t\t\t\"sendCount\": \"Send Count\",\n\t\t\t\"openRate\": \"Open Rate\",\n\t\t\t\"clickRate\": \"Click Rate\",\n\t\t\t\"bounceRate\": \"Bounce Rate\",\n\t\t\t\"status\": \"Status\"\n\t\t},\n\t\t\"statusLabels\": {\n\t\t\t\"active\": \"Active\",\n\t\t\t\"inactive\": \"Inactive\"\n\t\t},\n\t\t\"confirmDelete\": {\n\t\t\t\"title\": \"Delete API [{apiName}]\",\n\t\t\t\"content\": \"Are you sure you want to delete this API?\"\n\t\t},\n\t\t\"overview\": {\n\t\t\t\"totalSend\": \"Total Sent\",\n\t\t\t\"avgOpenRate\": \"Avg Open Rate\",\n\t\t\t\"avgClickRate\": \"Avg Click Rate\",\n\t\t\t\"avgBounceRate\": \"Avg Bounce Rate\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"apiName\": \"API Name\",\n\t\t\t\"status\": \"Status\",\n\t\t\t\"ipWhitelist\": \"IP Whitelist\",\n\t\t\t\"apiNamePlaceholder\": \"Please enter API name\",\n\t\t\t\"ipWhitelistPlaceholder\": \"Multiple IPs separated by commas, empty means no restriction\",\n\t\t\t\"advancedFeatures\": \"Advanced Features\",\n\t\t\t\"validation\": {\n\t\t\t\t\"apiNameRequired\": \"Please enter API name\",\n\t\t\t\t\"addresserRequired\": \"Please select sender\",\n\t\t\t\t\"templateRequired\": \"Please select template\"\n\t\t\t},\n\t\t\t\"title\": {\n\t\t\t\t\"edit\": \"Edit API\",\n\t\t\t\t\"add\": \"Add API\"\n\t\t\t},\n\t\t\t\"group\": {\n\t\t\t\t\"label\": \"Recipient Groups\",\n\t\t\t\t\"tips\": {\n\t\t\t\t\t\"choose\": \"Selecting a group: All new contacts added via this API will be automatically added to the selected group.\",\n\t\t\t\t\t\"autoCreate\": \"No group selected: The system will auto-create a dedicated group for this API to store all new contacts.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"loading\": {\n\t\t\t\"creating\": \"Creating, please wait...\",\n\t\t\t\"updating\": \"Updating, please wait...\",\n\t\t\t\"deleting\": \"Deleting, please wait...\",\n\t\t\t\"testing\": \"Testing, please wait...\"\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/i18n/lang/ja.json",
    "content": "{\n\t\"common\": {\n\t\t\"all\": {\n\t\t\t\"text\": \"すべて\",\n\t\t\t\"domain\": \"すべてのドメイン\"\n\t\t},\n\t\t\"time\": {\n\t\t\t\"today\": \"今日\",\n\t\t\t\"yesterday\": \"昨日\",\n\t\t\t\"last7days\": \"過去7日間\",\n\t\t\t\"custom\": \"カスタム\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"actions\": \"操作\"\n\t\t},\n\t\t\"actions\": {\n\t\t\t\"view\": \"閲覧\",\n\t\t\t\"edit\": \"編集\",\n\t\t\t\"delete\": \"削除\",\n\t\t\t\"add\": \"追加\",\n\t\t\t\"create\": \"作成\",\n\t\t\t\"update\": \"更新\",\n\t\t\t\"save\": \"保存\",\n\t\t\t\"cancel\": \"キャンセル\",\n\t\t\t\"confirm\": \"確認\",\n\t\t\t\"back\": \"戻る\",\n\t\t\t\"search\": \"検索\",\n\t\t\t\"reset\": \"リセット\",\n\t\t\t\"more\": \"その他\",\n\t\t\t\"refresh\": \"再読み込み\",\n\t\t\t\"copy\": \"コピー\",\n\t\t\t\"restart\": \"再起動\",\n\t\t\t\"import\": \"インポート\",\n\t\t\t\"export\": \"エクスポート\",\n\t\t\t\"download\": \"ダウンロード\",\n\t\t\t\"upload\": \"アップロード\",\n\t\t\t\"apply\": \"適用\",\n\t\t\t\"test\": \"テスト\",\n\t\t\t\"rename\": \"名前変更\",\n\t\t\t\"preview\": \"プレビュー\",\n\t\t\t\"modify\": \"修正\",\n\t\t\t\"config\": \"設定\",\n\t\t\t\"help\": \"ヘルプ\"\n\t\t},\n\t\t\"useCopy\": {\n\t\t\t\"noText\": \"コピーするテキストがありません\",\n\t\t\t\"success\": \"コピーに成功しました\",\n\t\t\t\"failed\": \"コピーに失敗しました\"\n\t\t}\n\t},\n\t\"components\": {\n\t\t\"tableHelp\": {\n\t\t\t\"text1\": \"質問や提案は {issues} に投稿し、プロジェクトを応援するために Github で {star} を付けてください。\",\n\t\t\t\"text2\": \"皆様の積極的な参加を高く評価しています。ありがとうございます。\"\n\t\t},\n\t\t\"upload\": {\n\t\t\t\"error\": {\n\t\t\t\t\"fileSizeExceeded\": \"ファイル [{fileName}] のサイズは {maxSize}MB を超えることはできません\",\n\t\t\t\t\"uploadFailed\": \"ファイルのアップロードに失敗しました。もう一度お試しください\"\n\t\t\t},\n\t\t\t\"prompt\": {\n\t\t\t\t\"dragText\": \"クリックまたはファイルをドラッグしてこのエリアに追加\",\n\t\t\t\t\"supportedFiles\": \"{suffix} 形式のファイルのみ対応\"\n\t\t\t}\n\t\t}\n\t},\n\t\"layout\": {\n\t\t\"header\": {\n\t\t\t\"submit\": \"リクエストを送信\"\n\t\t},\n\t\t\"menu\": {\n\t\t\t\"overview\": \"概要\",\n\t\t\t\"market\": \"マーケティング\",\n\t\t\t\"task\": \"タスク\",\n\t\t\t\"template\": \"テンプレート\",\n\t\t\t\"contacts\": \"連絡先\",\n\t\t\t\"subscribers\": \"購読者\",\n\t\t\t\"group\": \"グループ\",\n\t\t\t\"domain\": \"ドメイン\",\n\t\t\t\"mailboxes\": \"メールボックス\",\n\t\t\t\"settings\": \"設定\",\n\t\t\t\"common\": \"共通設定\",\n\t\t\t\"bcc\": \"BCC\",\n\t\t\t\"forward\": \"メール転送\",\n\t\t\t\"logout\": \"ログアウト\",\n\t\t\t\"service\": \"Service\",\n\t\t\t\"logs\": \"Logs\",\n\t\t\t\"operation_logs\": \"Operation Logs\",\n\t\t\t\"error_logs\": \"Error Logs\"\n\t\t}\n\t},\n\t\"login\": {\n\t\t\"title\": \"BillionMail\",\n\t\t\"form\": {\n\t\t\t\"usernamePlaceholder\": \"ユーザー名\",\n\t\t\t\"passwordPlaceholder\": \"パスワード\",\n\t\t\t\"loginButton\": \"ログイン\",\n\t\t\t\"captchaPlaceholder\": \"認証コード\",\n\t\t\t\"changeCaptcha\": \"クリックして変更\",\n\t\t\t\"captcha\": \"認証コード\"\n\t\t},\n\t\t\"validation\": {\n\t\t\t\"usernameRequired\": \"ユーザー名を入力してください！\",\n\t\t\t\"passwordRequired\": \"パスワードを入力してください！\",\n\t\t\t\"captchaRequired\": \"認証コードを入力してください\"\n\t\t},\n\t\t\"messages\": {\n\t\t\t\"loginSuccess\": \"ログインに成功しました\",\n\t\t\t\"loginFailed\": \"ログインに失敗しました\",\n\t\t\t\"networkError\": \"ネットワークエラーです。後で再試行してください\"\n\t\t}\n\t},\n\t\"user\": {\n\t\t\"logout\": {\n\t\t\t\"title\": \"確認\",\n\t\t\t\"content\": \"ログアウトしてもよろしいですか？\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"logout\": \"ログアウト中です。お待ちください...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"overview\": {\n\t\t\"delivered\": \"配信済み\",\n\t\t\"opened\": \"開封済み\",\n\t\t\"clicked\": \"クリック済み\",\n\t\t\"bounced\": \"バウンス（送信失敗）\",\n\t\t\"delayedQueue\": \"遅延キュー\",\n\t\t\"mailProviders\": \"メールプロバイダー\",\n\t\t\"sendStats\": \"送信統計\",\n\t\t\"provider\": {\n\t\t\t\"mailProvider\": \"メールプロバイダー\",\n\t\t\t\"delivered\": \"配信\",\n\t\t\t\"open\": \"開封\",\n\t\t\t\"click\": \"クリック\",\n\t\t\t\"bounce\": \"バウンス\"\n\t\t},\n\t\t\"send\": {\n\t\t\t\"successRate\": \"成功率\",\n\t\t\t\"success\": \"成功\",\n\t\t\t\"fail\": \"失敗\",\n\t\t\t\"sendSuccess\": \"送信成功\",\n\t\t\t\"sendFail\": \"送信失敗\"\n\t\t},\n\t\t\"rate\": {\n\t\t\t\"openRate\": \"開封率\",\n\t\t\t\"clickRate\": \"クリック率\",\n\t\t\t\"bounceRate\": \"バウンス率\"\n\t\t},\n\t\t\"sendFailDetails\": {\n\t\t\t\"title\": \"送信失敗の詳細\",\n\t\t\t\"columns\": {\n\t\t\t\t\"recipient\": \"受信者\",\n\t\t\t\t\"dsn\": \"DSN\",\n\t\t\t\t\"delay\": \"遅延\",\n\t\t\t\t\"delays\": \"遅延数\",\n\t\t\t\t\"status\": \"ステータス\",\n\t\t\t\t\"relay\": \"リレー\",\n\t\t\t\t\"details\": \"詳細\"\n\t\t\t}\n\t\t},\n\t\t\"sendQueue\": {\n\t\t\t\"title\": \"送信キュー\",\n\t\t\t\"breadcrumb\": \"送信キュー\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"refresh\": \"キューを更新\",\n\t\t\t\t\"quickClear\": \"クイッククリア\",\n\t\t\t\t\"paramConfig\": \"キューパラメータ設定\",\n\t\t\t\t\"resend\": \"再送信\",\n\t\t\t\t\"batchDelete\": \"一括削除\",\n\t\t\t\t\"batchResend\": \"再送信\"\n\t\t\t},\n\t\t\t\"table\": {\n\t\t\t\t\"columns\": {\n\t\t\t\t\t\"sender\": \"送信者\",\n\t\t\t\t\t\"recipient\": \"受信者\",\n\t\t\t\t\t\"arrivalTime\": \"キュー追加時間\",\n\t\t\t\t\t\"messageSize\": \"メールサイズ\",\n\t\t\t\t\t\"delayReason\": \"遅延理由\",\n\t\t\t\t\t\"action\": \"操作\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"confirm\": {\n\t\t\t\t\"quickClear\": {\n\t\t\t\t\t\"title\": \"クイッククリア\",\n\t\t\t\t\t\"content\": \"キューをクイッククリアしますか？\"\n\t\t\t\t},\n\t\t\t\t\"resend\": {\n\t\t\t\t\t\"title\": \"再送信\",\n\t\t\t\t\t\"content\": \"キューを再送信しますか？\"\n\t\t\t\t},\n\t\t\t\t\"delete\": {\n\t\t\t\t\t\"title\": \"キューを削除\",\n\t\t\t\t\t\"content\": \"このキューを削除しますか？\"\n\t\t\t\t},\n\t\t\t\t\"batchDelete\": {\n\t\t\t\t\t\"title\": \"一括削除\",\n\t\t\t\t\t\"content\": \"{count}個の送信キューを削除しますか？\"\n\t\t\t\t},\n\t\t\t\t\"batchResend\": {\n\t\t\t\t\t\"title\": \"一括再送信\",\n\t\t\t\t\t\"content\": \"{count}個の送信キューを再送信しますか？\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"paramConfig\": {\n\t\t\t\t\"title\": \"キューパラメータ設定\",\n\t\t\t\t\"fields\": {\n\t\t\t\t\t\"bounceQueueLifetime\": \"バウンスキューライフタイム\",\n\t\t\t\t\t\"maximalQueueLifetime\": \"最大キューライフタイム\",\n\t\t\t\t\t\"minimalBackoffTime\": \"最小バックオフ時間\",\n\t\t\t\t\t\"maximalBackoffTime\": \"最大バックオフ時間\",\n\t\t\t\t\t\"queueRunDelay\": \"キュー実行遅延\",\n\t\t\t\t\t\"triggerTimeout\": \"トリガータイムアウト\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"queueLogs\": {\n\t\t\t\t\"title\": \"キューログ\"\n\t\t\t}\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"resendQueue\": \"キューを再送信中です。しばらくお待ちください...\",\n\t\t\t\t\"deleteQueue\": \"キューを削除中です。しばらくお待ちください...\",\n\t\t\t\t\"setQueueConfig\": \"キューパラメータを設定中です。しばらくお待ちください...\",\n\t\t\t\t\"clearQueue\": \"キューをクリア中です。しばらくお待ちください...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"market\": {\n\t\t\"task\": {\n\t\t\t\"title\": \"タスク\",\n\t\t\t\"actions\": {\n\t\t\t\t\"add\": \"タスク追加\",\n\t\t\t\t\"detail\": \"表示\",\n\t\t\t\t\"export\": \"エクスポート\",\n\t\t\t\t\"send\": \"送信\",\n\t\t\t\t\"pause\": \"一時停止\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"time\": \"時間\",\n\t\t\t\t\"subject\": \"件名\",\n\t\t\t\t\"sender\": \"送信者\",\n\t\t\t\t\"recipients\": \"宛先\",\n\t\t\t\t\"success\": \"成功\",\n\t\t\t\t\"failed\": \"失敗\",\n\t\t\t\t\"status\": \"ステータス\",\n\t\t\t\t\"remark\": \"備考\",\n\t\t\t\t\"progress\": \"進捗\",\n\t\t\t\t\"email\": \"メール\",\n\t\t\t\t\"errorMsg\": \"エラーメッセージ\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"pending\": \"保留中\",\n\t\t\t\t\"processing\": \"処理中\",\n\t\t\t\t\"done\": \"完了\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"subjectPlaceholder\": \"件名で検索\"\n\t\t\t},\n\t\t\t\"changeStatus\": {\n\t\t\t\t\"title\": \"タスクステータス変更 [{subject}]\",\n\t\t\t\t\"startConfirm\": \"今すぐタスクを開始しますか？\",\n\t\t\t\t\"pauseConfirm\": \"タスクを一時停止後、再開できます！\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"タスク削除\",\n\t\t\t\t\"confirm\": \"タスク「{subject}」を削除してもよろしいですか？\"\n\t\t\t},\n\t\t\t\"detail\": {\n\t\t\t\t\"title\": \"タスク詳細\",\n\t\t\t\t\"displayName\": \"表示名\",\n\t\t\t\t\"sender\": \"送信者\",\n\t\t\t\t\"subject\": \"メール件名\",\n\t\t\t\t\"groups\": \"グループ\",\n\t\t\t\t\"sendTime\": \"送信時間\",\n\t\t\t\t\"unsubscribeLink\": \"購読解除リンク\",\n\t\t\t\t\"threads\": \"スレッド数\",\n\t\t\t\t\"remark\": \"備考\",\n\t\t\t\t\"yes\": \"はい\",\n\t\t\t\t\"no\": \"いいえ\",\n\t\t\t\t\"auto\": \"自動\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"addTitle\": \"タスクを追加\",\n\t\t\t\t\"editTitle\": \"タスクを編集\",\n\t\t\t\t\"from\": \"送信元\",\n\t\t\t\t\"to\": \"宛先\",\n\t\t\t\t\"displayName\": \"表示名\",\n\t\t\t\t\"displayNamePlaceholder\": \"表示名を入力してください\",\n\t\t\t\t\"subject\": \"件名\",\n\t\t\t\t\"subjectPlaceholder\": \"メール件名を入力してください\",\n\t\t\t\t\"recipients\": \"受信者\",\n\t\t\t\t\"recipientsPlaceholder\": \"受信者グループを選択してください\",\n\t\t\t\t\"recipientsCount\": \"メール送信（{count} 件）\",\n\t\t\t\t\"template\": \"メールテンプレート\",\n\t\t\t\t\"saveOutbox\": \"送信済みに保存\",\n\t\t\t\t\"unsubscribeLink\": \"購読解除リンク\",\n\t\t\t\t\"threads\": \"スレッド数\",\n\t\t\t\t\"threadsAuto\": \"自動\",\n\t\t\t\t\"threadsCustom\": \"カスタム\",\n\t\t\t\t\"sendTime\": \"送信時間\",\n\t\t\t\t\"sendTimeNow\": \"今すぐ送信\",\n\t\t\t\t\"sendTimeSchedule\": \"スケジュール\",\n\t\t\t\t\"remark\": \"備考\",\n\t\t\t\t\"remarkPlaceholder\": \"備考を入力してください\",\n\t\t\t\t\"testEmail\": \"テストメール\",\n\t\t\t\t\"testEmailPlaceholder\": \"テストメールを入力してください\",\n\t\t\t\t\"sendTest\": \"テストメール送信\",\n\t\t\t\t\"viewCase\": \"ケースを見る\",\n\t\t\t\t\"tags\": \"タグ\",\n\t\t\t\t\"tagLogic\": \"タグロジック\",\n\t\t\t\t\"ipWarmup\": \"IPウォームアップシステムを関連付け\",\n\t\t\t\t\"ipWarmupTip\": \"有効にすると送信速度が制限されます\",\n\t\t\t\t\"trackClick\": \"クリック追跡\",\n\t\t\t\t\"trackOpen\": \"開封追跡\",\n\t\t\t\t\"preview\": {\n\t\t\t\t\t\"empty\": \"プレビューするメールテンプレートを選択してください\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"displayNameRequired\": \"表示名を入力してください\",\n\t\t\t\t\t\"subjectRequired\": \"メール件名を入力してください\",\n\t\t\t\t\t\"recipientsRequired\": \"連絡先を選択してください\",\n\t\t\t\t\t\"sendTimeRequired\": \"送信時間を選択してください\",\n\t\t\t\t\t\"testEmailRequired\": \"テストメールを入力してください\",\n\t\t\t\t\t\"templateRequired\": \"メールテンプレートを選択してください\"\n\t\t\t\t},\n\t\t\t\t\"discard\": {\n\t\t\t\t\t\"title\": \"確認\",\n\t\t\t\t\t\"content\": \"現在の編集を破棄しますか？\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"createGroup\": {\n\t\t\t\t\"title\": \"グループ作成\",\n\t\t\t\t\"groupName\": \"グループ名\",\n\t\t\t\t\"email\": \"メール\",\n\t\t\t\t\"groupNamePlaceholder\": \"グループ名を入力してください\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"groupNameRequired\": \"グループ名を入力してください\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"template\": {\n\t\t\t\"title\": \"テンプレート\",\n\t\t\t\"name\": \"テンプレート名\",\n\t\t\t\"content\": \"テンプレート内容\",\n\t\t\t\"uploadHtml\": \"HTML ファイルをアップロード\",\n\t\t\t\"file\": \"テンプレートファイル\",\n\t\t\t\"actions\": {\n\t\t\t\t\"add\": \"テンプレート追加\",\n\t\t\t\t\"preview\": \"プレビュー\",\n\t\t\t\t\"duplicate\": \"複製\",\n\t\t\t\t\"export\": \"エクスポート\",\n\t\t\t\t\"import\": \"インポート\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"テンプレート名\",\n\t\t\t\t\"type\": \"タイプ\",\n\t\t\t\t\"createdAt\": \"作成日\"\n\t\t\t},\n\t\t\t\"types\": {\n\t\t\t\t\"drag\": \"ドラッグ\",\n\t\t\t\t\"html\": \"HTML\",\n\t\t\t\t\"ai\": \"AI\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"confirm\": \"確認\",\n\t\t\t\t\"cancel\": \"キャンセル\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"namePlaceholder\": \"テンプレート名で検索\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"テンプレート削除\",\n\t\t\t\t\"confirm\": \"テンプレート {name} を削除してもよろしいですか？\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"name\": \"テンプレート名\",\n\t\t\t\t\"type\": \"テンプレートタイプ\",\n\t\t\t\t\"content\": \"テンプレート内容\"\n\t\t\t},\n\t\t\t\"add\": {\n\t\t\t\t\"title\": \"テンプレート追加\",\n\t\t\t\t\"namePlaceholder\": \"テンプレート名を入力してください\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"nameRequired\": \"テンプレート名を入力してください\",\n\t\t\t\t\t\"uploadRequired\": \"HTML ファイルをアップロードしてください\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"preview\": {\n\t\t\t\t\"title\": \"テンプレートプレビュー\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"テンプレート作成中... お待ちください\",\n\t\t\t\t\"updating\": \"テンプレート更新中... お待ちください\",\n\t\t\t\t\"copying\": \"テンプレート複製中... お待ちください\",\n\t\t\t\t\"deleting\": \"テンプレート削除中... お待ちください\"\n\t\t\t}\n\t\t}\n\t},\n\t\"template\": {\n\t\t\"title\": \"テンプレート\",\n\t\t\"name\": \"テンプレート名\",\n\t\t\"template\": \"テンプレート\",\n\t\t\"createTpl\": {\n\t\t\t\"sourceUrl\": \"ソースURL\",\n\t\t\t\"useAiTools\": \"AIツールを使用してメールコンテンツを自動生成し、作業効率を向上させます。\",\n\t\t\t\"create\": \"作成\",\n\t\t\t\"notices\": {\n\t\t\t\t\"domainListEmpty\": \"BillionMailでメール送信用の最初のドメインを作成してください\",\n\t\t\t\t\"aiConfigurationInvalid\": \"現在AIモデルが設定されていないため、AIモデルを使用してメールテンプレートを作成できません\",\n\t\t\t\t\"invalidBrandDomain\": \"まずドメインのブランド情報を作成してください\"\n\t\t\t},\n\t\t\t\"buttons\": {\n\t\t\t\t\"createNow\": \"今すぐ作成\",\n\t\t\t\t\"configureNow\": \"今すぐ設定\"\n\t\t\t}\n\t\t},\n\t\t\"ai\": {\n\t\t\t\"title\": \"AIテンプレート\",\n\t\t\t\"welcomeMessage\": \"例：{domain}に参加するユーザー向けのウェルカムメールを作成してください\",\n\t\t\t\"greeting\": \"美しいメールテンプレートを作成しましょう。\",\n\t\t\t\"brandName\": \"BillionMail\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"regenerate\": \"再生成\",\n\t\t\t\t\"info\": \"情報\",\n\t\t\t\t\"view\": \"プレビュー\",\n\t\t\t\t\"edit\": \"編集\",\n\t\t\t\t\"copy\": \"コピー\",\n\t\t\t\t\"copied\": \"コピー済み\",\n\t\t\t\t\"apply\": \"テンプレートを適用\"\n\t\t\t},\n\t\t\t\"spintax\": {\n\t\t\t\t\"instruction\": \"Spintax構文を使用し、{count}個のバリエーションを含める必要があります\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"saveShortcut\": \"[Ctrl + s] で変更を保存\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"message\": \"読み込み中... お待ちください\"\n\t\t\t},\n\t\t\t\"send\": \"送信\"\n\t\t}\n\t},\n\t\"contacts\": {\n\t\t\"subscribers\": {\n\t\t\t\"joinGroup\": \"グループに参加\",\n\t\t\t\"tags\": \"タグ\",\n\t\t\t\"selectGroupHint\": \"右側でグループを選択してください\",\n\t\t\t\"trends\": {\n\t\t\t\t\"title\": \"購読トレンド\",\n\t\t\t\t\"subscriber\": \"購読者\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"emailPlaceholder\": \"メールアドレスを入力して検索\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"email\": \"メール\",\n\t\t\t\t\"name\": \"グループ名\",\n\t\t\t\t\"createdAt\": \"作成時間\",\n\t\t\t\t\"lastActiveAt\": \"最終アクティブ時間\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"subscribed\": \"購読済み\",\n\t\t\t\t\"unsubscribed\": \"購読解除\",\n\t\t\t\t\"unconfirmed\": \"未確認\"\n\t\t\t},\n\t\t\t\"labels\": {\n\t\t\t\t\"status\": \"ステータス：\",\n\t\t\t\t\"tags\": \"タグ：\",\n\t\t\t\t\"active\": \"アクティブ：\"\n\t\t\t},\n\t\t\t\"activeSelect\": {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"all\": \"すべて\",\n\t\t\t\t\t\"yes\": \"はい\",\n\t\t\t\t\t\"no\": \"いいえ\"\n\t\t\t\t},\n\t\t\t\t\"timeOptions\": {\n\t\t\t\t\t\"past7Days\": \"過去7日間\",\n\t\t\t\t\t\"pastMonth\": \"過去1ヶ月\",\n\t\t\t\t\t\"past90Days\": \"過去90日間\",\n\t\t\t\t\t\"pastHalfYear\": \"過去6ヶ月\",\n\t\t\t\t\t\"pastYear\": \"過去1年\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"actions\": {\n\t\t\t\t\"changeGroup\": \"グループ変更\",\n\t\t\t\t\"setTag\": \"タグ設定\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"購読者を削除\",\n\t\t\t\t\"confirm\": \"購読者 {email} を削除してもよろしいですか？\"\n\t\t\t},\n\t\t\t\"batchDelete\": {\n\t\t\t\t\"title\": \"一括削除\",\n\t\t\t\t\"confirm\": \"選択した購読者を削除してもよろしいですか？\"\n\t\t\t},\n\t\t\t\"select\": {\n\t\t\t\t\"prefix\": \"グループ：\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"title\": \"グループ変更\",\n\t\t\t\t\"email\": \"メール\",\n\t\t\t\t\"group\": \"グループ\",\n\t\t\t\t\"status\": \"ステータス\",\n\t\t\t\t\"attributes\": \"属性\",\n\t\t\t\t\"statusOptions\": {\n\t\t\t\t\t\"subscribe\": \"購読\",\n\t\t\t\t\t\"unsubscribe\": \"購読解除\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"emailRequired\": \"メールを入力してください\",\n\t\t\t\t\t\"groupRequired\": \"グループを選択してください\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"import\": {\n\t\t\t\t\"title\": \"連絡先をインポート\",\n\t\t\t\t\"group\": \"グループ\",\n\t\t\t\t\"data\": \"データ\",\n\t\t\t\t\"pasteData\": \"データを貼り付け\",\n\t\t\t\t\"uploadFile\": \"ファイルをアップロード\",\n\t\t\t\t\"pastePlaceholder\": [\n\t\t\t\t\t\"データを貼り付けてください。1行に1つのメールアドレス、属性（オプション）\",\n\t\t\t\t\t\"例：example1@example.com\",\n\t\t\t\t\t\"example1@example.com,\\\"{\\\"\\\"age\\\"\\\": \\\"\\\"13\\\"\\\", \\\"\\\"Gender\\\"\\\": \\\"\\\"XXX\\\"\\\"}\\\"\"\n\t\t\t\t],\n\t\t\t\t\"fileTypeHint\": \"ファイルタイプ：csv、5MB以下\",\n\t\t\t\t\"overwriteLabel\": \"既存ユーザーを上書き\",\n\t\t\t\t\"overwriteDescription\": \"インポート時にインポートデータに従ってリスト内の既存の顧客情報を上書きするかどうか\",\n\t\t\t\t\"subscriptionStatus\": \"購読状況\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"groupRequired\": \"グループを選択してください\",\n\t\t\t\t\t\"dataRequired\": \"1行につき1メールでデータを貼り付けてください\",\n\t\t\t\t\t\"fileRequired\": \"ファイルをアップロードしてください\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"batchSetTag\": {\n\t\t\t\t\"title\": \"バッチタグ設定\",\n\t\t\t\t\"labels\": {\n\t\t\t\t\t\"tag\": \"タグ\",\n\t\t\t\t\t\"action\": \"アクション\"\n\t\t\t\t},\n\t\t\t\t\"actions\": {\n\t\t\t\t\t\"add\": \"追加\",\n\t\t\t\t\t\"remove\": \"削除\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"tagSelect\": {\n\t\t\t\t\"manageTags\": \"タグを管理\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"importSubscribers\": \"連絡先をインポート中... お待ちください\",\n\t\t\t\t\"updateSubscriberGroup\": \"グループを更新中... お待ちください\",\n\t\t\t\t\"deleteSubscriber\": \"連絡先を削除中... お待ちください\",\n\t\t\t\t\"batchSetTag\": \"処理中... お待ちください\"\n\t\t\t}\n\t\t},\n\t\t\"group\": {\n\t\t\t\"search\": {\n\t\t\t\t\"namePlaceholder\": \"グループ名で検索\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"グループ名\",\n\t\t\t\t\"subscribers\": \"購読者数\",\n\t\t\t\t\"unsubscribe\": \"解除数\",\n\t\t\t\t\"createdAt\": \"作成日\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"name\": \"グループ名\",\n\t\t\t\t\"file\": \"ファイル\",\n\t\t\t\t\"nameRequired\": \"グループ名を入力してください\"\n\t\t\t},\n\t\t\t\"add\": {\n\t\t\t\t\"title\": \"グループ追加\"\n\t\t\t},\n\t\t\t\"rename\": {\n\t\t\t\t\"title\": \"グループ名変更\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"グループ削除\",\n\t\t\t\t\"confirm\": \"グループ {name} を削除してもよろしいですか？\"\n\t\t\t},\n\t\t\t\"fileUpload\": {\n\t\t\t\t\"hint\": \"ファイル形式: txt、1行につき1メール、10MB以内\",\n\t\t\t\t\"emptyHint\": \"ファイルをアップロードしない場合は空のグループが作成されます\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"createGroup\": \"グループ作成中... お待ちください\",\n\t\t\t\t\"updateGroup\": \"グループ更新中... お待ちください\",\n\t\t\t\t\"deleteGroup\": \"グループ削除中... お待ちください\"\n\t\t\t}\n\t\t},\n\t\t\"settings\": {\n\t\t\t\"title\": \"設定\",\n\t\t\t\"tabs\": {\n\t\t\t\t\"subscribeForm\": \"購読フォーム\",\n\t\t\t\t\"subscribeSettings\": \"購読設定\",\n\t\t\t\t\"unsubscribeSettings\": \"購読解除設定\"\n\t\t\t},\n\t\t\t\"subscribeForm\": {\n\t\t\t\t\"separateSubscriptionPage\": {\n\t\t\t\t\t\"title\": \"Separate Subscription Page\",\n\t\t\t\t\t\"description\": \"Simply copy and share this URL with users – the subscription form is ready to use.\"\n\t\t\t\t},\n\t\t\t\t\"embeddableForm\": {\n\t\t\t\t\t\"title\": \"Embeddable Form\",\n\t\t\t\t\t\"description\": \"Easily embed this subscription form into your website pages.\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"subscribeSettings\": {\n\t\t\t\t\"listType\": {\n\t\t\t\t\t\"label\": \"List Type\",\n\t\t\t\t\t\"placeholder\": \"Please select list type\",\n\t\t\t\t\t\"options\": {\n\t\t\t\t\t\t\"doubleOptin\": \"Double Opt-in\",\n\t\t\t\t\t\t\"singleOptin\": \"Single Opt-in\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"confirmEmail\": {\n\t\t\t\t\t\"subject\": \"Confirmation Email Subject\",\n\t\t\t\t\t\"redirectLink\": \"Confirmation Redirect Link\",\n\t\t\t\t\t\"redirectDescription\": \"Enter the custom link below to redirect users to a confirmation page for their 'Double Opt-in' subscription\",\n\t\t\t\t\t\"emailContent\": \"Confirmation Email\",\n\t\t\t\t\t\"emailTip1\": \"If you customize the confirmation email, don't forget to include the confirmation link\",\n\t\t\t\t\t\"emailTip2\": \"somewhere in your message\"\n\t\t\t\t},\n\t\t\t\t\"welcomeEmail\": {\n\t\t\t\t\t\"subject\": \"Welcome Email Subject\",\n\t\t\t\t\t\"redirectLink\": \"Welcome Redirect Link\",\n\t\t\t\t\t\"redirectDescription\": \"Please enter the link below to direct users to a custom confirmation page after they subscribe successfully\",\n\t\t\t\t\t\"emailContent\": \"Welcome Email\",\n\t\t\t\t\t\"sendThroughTip\": \"Messages are sent through the\",\n\t\t\t\t\t\"mailboxTip\": \"mailbox of the default sending domain\",\n\t\t\t\t\t\"enabledDescription\": \"When enabled, a thank you email will be sent to the user when they subscribe via the subscription form or API. This will not be triggered for manually added users.\",\n\t\t\t\t\t\"templateVariablesTip\": \"You can use the information you collect in the subject and message of your thank you email, which is the Template Variables.\"\n\t\t\t\t},\n\t\t\t\t\"alreadySubscribed\": {\n\t\t\t\t\t\"redirectLink\": \"Already Subscribed Redirect Link\"\n\t\t\t\t},\n\t\t\t\t\"unsubscribeSettings\": {\n\t\t\t\t\t\"subject\": \"購読解除件名\",\n\t\t\t\t\t\"redirectLink\": \"購読解除リダイレクトリンク\",\n\t\t\t\t\t\"emailPage\": \"購読解除メールページ\",\n\t\t\t\t\t\"enabledDescription\": \"有効にすると、ユーザーが購読解除またはAPI購読解除を行った際に、購読解除メールが送信されます。手動で追加されたユーザーはこの機能をトリガーしません。\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"suspend\": {\n\t\t\t\"title\": \"異常メールボックス\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"scanInvalidDomains\": \"無効ドメインをスキャン\",\n\t\t\t\t\"scanLogs\": \"スキャンログ\",\n\t\t\t\t\"autoBlockFailedEmails\": \"失敗メールを自動ブロック\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"emailPlaceholder\": \"メールアドレスを入力してください\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"email\": \"メール\",\n\t\t\t\t\"description\": \"説明\",\n\t\t\t\t\"status\": \"ステータス\",\n\t\t\t\t\"addTime\": \"追加時間\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"invalid\": \"無効\",\n\t\t\t\t\"checking\": \"チェック中\"\n\t\t\t},\n\t\t\t\"confirm\": {\n\t\t\t\t\"clear\": {\n\t\t\t\t\t\"title\": \"クリア\",\n\t\t\t\t\t\"content\": \"このタイプのすべてのデータをクリアします。続行しますか？\"\n\t\t\t\t},\n\t\t\t\t\"delete\": {\n\t\t\t\t\t\"title\": \"削除\",\n\t\t\t\t\t\"content\": \"[{email}] を削除してもよろしいですか\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"scan\": {\n\t\t\t\t\"title\": \"無効ドメインをスキャン\",\n\t\t\t\t\"confirmText\": \"スキャン\",\n\t\t\t\t\"form\": {\n\t\t\t\t\t\"group\": \"グループ\",\n\t\t\t\t\t\"method\": \"方法\",\n\t\t\t\t\t\"groupRequired\": \"グループを選択してください\"\n\t\t\t\t},\n\t\t\t\t\"methods\": {\n\t\t\t\t\t\"noOperation\": \"操作なし\",\n\t\t\t\t\t\"addToExceptionTable\": \"例外防止テーブルに追加\",\n\t\t\t\t\t\"deleteFromGroup\": \"グループから異常メールボックスを削除\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"scanLogs\": {\n\t\t\t\t\"title\": \"スキャンログ\",\n\t\t\t\t\"none\": \"なし\"\n\t\t\t},\n\t\t\t\"api\": {\n\t\t\t\t\"loading\": {\n\t\t\t\t\t\"deleting\": \"削除中です。しばらくお待ちください...\",\n\t\t\t\t\t\"scanning\": \"スキャン中です。しばらくお待ちください...\",\n\t\t\t\t\t\"clearing\": \"クリア中です。しばらくお待ちください...\",\n\t\t\t\t\t\"setting\": \"設定中です。しばらくお待ちください...\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"tags\": {\n\t\t\t\"title\": \"タグ管理\",\n\t\t\t\"addTag\": \"タグを追加\",\n\t\t\t\"bulkTag\": \"一括タグ\",\n\t\t\t\"searchPlaceholder\": \"タグを検索\",\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"タグ名\",\n\t\t\t\t\"groupName\": \"グループ名\",\n\t\t\t\t\"createTime\": \"作成時間\",\n\t\t\t\t\"actions\": \"操作\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"タグを削除\",\n\t\t\t\t\"confirm\": \"このタグ【{name}】を削除してもよろしいですか？\"\n\t\t\t},\n\t\t\t\"bulk\": {\n\t\t\t\t\"title\": \"連絡先の一括タグ付け\",\n\t\t\t\t\"form\": {\n\t\t\t\t\t\"group\": \"グループ\",\n\t\t\t\t\t\"tags\": \"タグ\",\n\t\t\t\t\t\"emails\": \"メール\",\n\t\t\t\t\t\"action\": \"アクション\",\n\t\t\t\t\t\"emailsPlaceholder\": \"メールアドレスを貼り付けてください、1行に1つ\"\n\t\t\t\t},\n\t\t\t\t\"actions\": {\n\t\t\t\t\t\"tagThese\": \"これらのメールにタグを付ける\",\n\t\t\t\t\t\"tagExcept\": \"これらのメール以外の全員にタグを付ける\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"title\": {\n\t\t\t\t\t\"create\": \"タグを作成\",\n\t\t\t\t\t\"edit\": \"タグを編集\"\n\t\t\t\t},\n\t\t\t\t\"fields\": {\n\t\t\t\t\t\"name\": \"タグ名\",\n\t\t\t\t\t\"group\": \"グループ\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"nameRequired\": \"タグ名を入力してください\",\n\t\t\t\t\t\"groupRequired\": \"グループを選択してください\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"タグを作成中、お待ちください...\",\n\t\t\t\t\"deleting\": \"タグを削除中、お待ちください...\",\n\t\t\t\t\"updating\": \"タグを更新中、お待ちください...\",\n\t\t\t\t\"bulkSetting\": \"一括設定中、お待ちください...\"\n\t\t\t}\n\t\t}\n\t},\n\n\t\"domain\": {\n\t\t\"title\": \"MailDomain\",\n\t\t\"addDomain\": \"ドメインを追加\",\n\t\t\"help\": \"メール送信に使用するドメインを追加してください\",\n\t\t\"columns\": {\n\t\t\t\"domain\": \"ドメイン\",\n\t\t\t\"quota\": \"クォータ\",\n\t\t\t\"mailboxes\": \"メールボックス\",\n\t\t\t\"defaultMailboxSize\": \"デフォルトメールボックスサイズ\",\n\t\t\t\"dedicatedIp\": \"専用IP\",\n\t\t\t\"notSet\": \"未設定\",\n\t\t\t\"testConnection\": \"接続テスト\",\n\t\t\t\"validation\": {\n\t\t\t\t\"domainInputRequired\": \"まずドメインを入力してください\",\n\t\t\t\t\"dedicatedIpRequired\": \"まず専用IPを入力してください\"\n\t\t\t},\n\t\t\t\"actions\": \"操作\"\n\t\t},\n\t\t\"status\": {\n\t\t\t\"default\": \"デフォルト\"\n\t\t},\n\t\t\"actions\": {\n\t\t\t\"dnsRecord\": \"DNS レコード\",\n\t\t\t\"setDefault\": \"デフォルトに設定\"\n\t\t},\n\t\t\"setDefault\": {\n\t\t\t\"title\": \"デフォルトに設定 [{domain}]\",\n\t\t\t\"confirm\": \"このドメインをデフォルトドメインに設定してもよろしいですか？\"\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"ドメイン削除\",\n\t\t\t\"confirm\": \"ドメイン [{domain}] を削除してもよろしいですか？\"\n\t\t},\n\t\t\"waitAndCheckDomainStatus\": {\n\t\t\t\"success\": \"ブランド情報の初期化が成功しました。\",\n\t\t\t\"error\": \"ブランド情報の初期化が失敗しました。\",\n\t\t\t\"loading\": \"ブランド情報を初期化中です、しばらくお待ちください...\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"ドメイン追加\",\n\t\t\t\"editTitle\": \"ドメイン編集\",\n\t\t\t\"domain\": \"ドメイン\",\n\t\t\t\"domainPlaceholder\": \"例: aapanel.com\",\n\t\t\t\"urlsPlacement\": \"例: https://aapanel.com\",\n\t\t\t\"aRecord\": \"A レコード\",\n\t\t\t\"aRecordPlaceholder\": \"例: mail.aapanel.com\",\n\t\t\t\"quota\": \"ドメインクォータ\",\n\t\t\t\"mailboxCount\": \"メールボックス数\",\n\t\t\t\"globalCatch\": \"Catch All\",\n\t\t\t\"globalCatchPlaceholder\": \"存在しないメールをこのアドレスへ転送\",\n\t\t\t\"validation\": {\n\t\t\t\t\"domainRequired\": \"ドメイン名は空にできません！\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"aRecordFailed\": \"A レコードの解決に失敗しました。A レコードが正しくサーバーIPに向いているか確認してください\",\n\t\t\t\t\"dnsSetup\": \"DNS プロバイダーのコンソールで A レコードを追加する必要があります\",\n\t\t\t\t\"cloudflare\": \"CloudFlare を使用している場合、レコード追加時に [DNS only] を選択してください\"\n\t\t\t}\n\t\t},\n\t\t\"dns\": {\n\t\t\t\"title\": \"DNS レコード\",\n\t\t\t\"verify\": \"レコードを設定したら、DNS 解決を検証\",\n\t\t\t\"status\": {\n\t\t\t\t\"ok\": \"OK\",\n\t\t\t\t\"notSet\": \"未設定\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"domain\": \"ドメイン\"\n\t\t\t},\n\t\t\t\"table\": {\n\t\t\t\t\"recordType\": \"レコードタイプ\",\n\t\t\t\t\"host\": \"ホスト\",\n\t\t\t\t\"value\": \"値\",\n\t\t\t\t\"mxPriority\": \"MX 優先度\"\n\t\t\t},\n\t\t\t\"step1\": {\n\t\t\t\t\"title\": \"ステップ1: A レコードを追加\"\n\t\t\t},\n\t\t\t\"step2\": {\n\t\t\t\t\"title\": \"ステップ2: MX レコードを追加\",\n\t\t\t\t\"description\": \"ドメインサービスプロバイダーにログインし、メールサービス用の MX レコードを追加してください（以下のパラメータをコピーして使用してください）\"\n\t\t\t},\n\t\t\t\"step3\": {\n\t\t\t\t\"title\": \"ステップ3: TXT レコードを追加\",\n\t\t\t\t\"description\": \"メールスパム対策の TXT レコードを追加してください（以下のパラメータをコピーして使用してください）\"\n\t\t\t},\n\t\t\t\"step4\": {\n\t\t\t\t\"title\": \"ステップ4: PTR レコードを追加\",\n\t\t\t\t\"description1\": \"（任意）PTR レコードは逆引きDNSに使用されます\",\n\t\t\t\t\"description2\": \"IP プロバイダーに連絡して PTR レコードを作成してください\"\n\t\t\t},\n\t\t\t\"dkim\": {\n\t\t\t\t\"formatLabel\": \"DKIM レコードフォーマット：\",\n\t\t\t\t\"keySize\": {\n\t\t\t\t\t\"option2048\": \"2048 ビット RSA キー\",\n\t\t\t\t\t\"option1024\": \"1024 ビット RSA キー\"\n\t\t\t\t},\n\t\t\t\t\"tips\": {\n\t\t\t\t\t\"line1\": \"DKIM は 2048 ビットおよび 1024 ビットの RSA キーに対応します。\",\n\t\t\t\t\t\"line2\": \"より高い安全性のため、2048 ビットのキーを推奨します。\",\n\t\t\t\t\t\"line3\": \"DNS プロバイダーの制約に応じて選択してください。\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ssl\": {\n\t\t\t\"expired\": \"期限切れ\",\n\t\t\t\"daysLeft\": \"{days} 日\",\n\t\t\t\"notSet\": \"未設定\",\n\t\t\t\"title\": \"ドメイン SSL\",\n\t\t\t\"tabs\": {\n\t\t\t\t\"otherCertificate\": \"他の証明書\"\n\t\t\t},\n\t\t\t\"cert\": {\n\t\t\t\t\"brand\": \"ブランド\",\n\t\t\t\t\"domains\": \"証明書対象ドメイン\",\n\t\t\t\t\"privateKey\": \"秘密鍵 (KEY)\",\n\t\t\t\t\"certificate\": \"証明書 (CRT/PEM)\",\n\t\t\t\t\"keyPlaceholder\": \"秘密鍵を入力\",\n\t\t\t\t\"certPlaceholder\": \"証明書を入力\"\n\t\t\t},\n\t\t\t\"actions\": {\n\t\t\t\t\"applyFree\": \"無料証明書を申請\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"paste\": \"KEY と CRT の内容を貼り付けて保存してください\",\n\t\t\t\t\"chainCheck\": \"ブラウザで証明書チェーンの不備が表示された場合、PEM 証明書が正しく連結されているか確認してください\",\n\t\t\t\t\"pemFormat\": \"PEM 形式証明書 = ドメイン証明書 .crt + ルート証明書 (root_bundle).crt\",\n\t\t\t\t\"defaultSite\": \"SSL デフォルトサイトが指定されていない場合、SSL 未設定サイトは SSL 設定済みサイトの HTTPS を使用します\"\n\t\t\t}\n\t\t},\n\t\t\"ipSet\": {\n\t\t\t\"title\": \"専用IP設定\",\n\t\t\t\"titleWithDomain\": \"専用IP設定【{domain}】\",\n\t\t\t\"dedicatedIp\": \"専用IP：\",\n\t\t\t\"configFile\": \"設定ファイル：\",\n\t\t\t\"connectionStatus\": \"接続状態：\",\n\t\t\t\"warning\": \"SSHターミナルで以下のコマンドを手動実行することで専用IP接続状態をアクティブにできます\\n複数のドメインで専用IPを設定する場合は、すべてのドメインを設定してからコマンドを実行することをお勧めします。メールサーバーの中断を避けるためです\",\n\t\t\t\"getCommand\": \"コマンド取得\",\n\t\t\t\"copyCommand\": \"コマンドコピー\",\n\t\t\t\"operationReminder\": \"操作リマインダー\",\n\t\t\t\"fixCommandTip\": \"コマンドの実行に失敗した場合、このコマンドを実行して修復できます：\",\n\t\t\t\"understood\": \"了解しました\",\n\t\t\t\"validation\": {\n\t\t\t\t\"getCommandFirst\": \"まずコマンドを取得してください\"\n\t\t\t}\n\t\t},\n\t\t\"notSpam\": {\n\t\t\t\"checkNow\": \"今すぐチェック\",\n\t\t\t\"logs\": \"ログ\"\n\t\t},\n\t\t\"blacklistDetection\": {\n\t\t\t\"title\": \"ブラックリストチェック\",\n\t\t\t\"checking\": \"{results} は {ip} に解決され、既知のブラックリスト {tested} 件に対してチェックしています...\",\n\t\t\t\"listed\": \"リスト件数: {count}\",\n\t\t\t\"success\": \"aaPanel が認識するブラックリストには IP は存在しません\",\n\t\t\t\"columns\": {\n\t\t\t\t\"blacklist\": \"ブラックリスト\",\n\t\t\t\t\"responseIp\": \"レスポンス IP\",\n\t\t\t\t\"checkTime\": \"チェック時間\"\n\t\t\t}\n\t\t},\n\t\t\"checkLogs\": {\n\t\t\t\"title\": \"チェックログ\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"ドメインを作成中です、しばらくお待ちください...\",\n\t\t\t\t\"updating\": \"ドメインを更新中です、しばらくお待ちください...\",\n\t\t\t\t\"deleting\": \"ドメインを削除中です、しばらくお待ちください...\",\n\t\t\t\t\"settingSSL\": \"SSL証明書を設定中です、しばらくお待ちください...\",\n\t\t\t\t\"refreshingDns\": \"DNSレコードを更新中です、しばらくお待ちください...\",\n\t\t\t\t\"applyingCert\": \"証明書を申請中です、しばらくお待ちください...\",\n\t\t\t\t\"settingDefault\": \"デフォルトドメインを設定中です、しばらくお待ちください...\",\n\t\t\t\t\"settingBrandInfo\": \"ドメインブランド情報を設定中です、しばらくお待ちください...\",\n\t\t\t\t\"testingConnection\": \"接続をテスト中です、しばらくお待ちください...\",\n\t\t\t\t\"detecting\": \"検出中です、しばらくお待ちください...\"\n\t\t\t}\n\t\t},\n\t\t\"edit\": {\n\t\t\t\"breadcrumb\": {\n\t\t\t\t\"domain\": \"ドメイン\",\n\t\t\t\t\"editDomain\": \"ドメイン編集\"\n\t\t\t},\n\t\t\t\"common\": {\n\t\t\t\t\"noBrandInfo\": \"ブランド情報がありません\"\n\t\t\t},\n\t\t\t\"tabs\": {\n\t\t\t\t\"domainConfiguration\": \"ドメイン設定\",\n\t\t\t\t\"projectDetails\": \"プロジェクト詳細\",\n\t\t\t\t\"companyProfile\": \"会社プロフィール\",\n\t\t\t\t\"styling\": \"スタイル設定\",\n\t\t\t\t\"sitemap\": \"サイトマップ\",\n\t\t\t\t\"footerSettings\": \"フッター設定\",\n\t\t\t\t\"aiSettings\": \"AI設定\"\n\t\t\t},\n\t\t\t\"domainConfiguration\": {\n\t\t\t\t\"title\": \"メールドメイン設定\",\n\t\t\t\t\"domain\": \"ドメイン\",\n\t\t\t\t\"domainQuota\": \"ドメインクォータ\",\n\t\t\t\t\"mailboxCount\": \"メールボックス数\",\n\t\t\t\t\"catchAll\": \"Catch all\",\n\t\t\t\t\"dedicatedIp\": \"ドメイン専用IP\",\n\t\t\t\t\"dedicatedIpDesc\": \"ドメイン {domain} がメールを送受信する際、iptablesでこの専用IPを指定します。サーバーにIPが1つしかない場合は、この機能を設定する必要はありません\",\n\t\t\t\t\"notSet\": \"未設定\",\n\t\t\t\t\"testConnection\": \"接続テスト\",\n\t\t\t\t\"catchAllDesc\": \"ここにメールアドレスを入力すると、このドメインの未知のメールアドレスに送信されたメールがすべてこのメールアドレスに転送されます\",\n\t\t\t\t\"domainQuotaDesc\": \"このドメインの利用可能容量を設定\",\n\t\t\t\t\"mailboxCountDesc\": \"このドメインで作成できるメールボックス数を設定\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"setDedicatedIpFirst\": \"まずドメイン専用IPを設定してください\"\n\t\t\t\t},\n\t\t\t\t\"api\": {\n\t\t\t\t\t\"testingConnection\": \"接続をテスト中です、しばらくお待ちください...\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"save\": \"保存\",\n\t\t\t\"from\": \"送信元\",\n\t\t\t\"to\": \"宛先\",\n\t\t\t\"displayName\": \"表示名\",\n\t\t\t\"displayNamePlaceholder\": \"表示名を入力してください\",\n\t\t\t\"subject\": \"件名\",\n\t\t\t\"subjectPlaceholder\": \"メール件名を入力してください\",\n\t\t\t\"recipients\": \"受信者\",\n\t\t\t\"recipientsPlaceholder\": \"受信者グループを選択してください\",\n\t\t\t\"recipientsCount\": \"メール送信（{count} 件）\",\n\t\t\t\"template\": \"メールテンプレート\",\n\t\t\t\"saveOutbox\": \"送信済みに保存\",\n\t\t\t\"unsubscribeLink\": \"購読解除リンク\",\n\t\t\t\"threads\": \"スレッド数\",\n\t\t\t\"threadsAuto\": \"自動\",\n\t\t\t\"threadsCustom\": \"カスタム\",\n\t\t\t\"sendTime\": \"送信時間\",\n\t\t\t\"sendTimeNow\": \"今すぐ送信\",\n\t\t\t\"sendTimeSchedule\": \"スケジュール\",\n\t\t\t\"remark\": \"備考\",\n\t\t\t\"remarkPlaceholder\": \"備考を入力してください\",\n\t\t\t\"testEmail\": \"テストメール\",\n\t\t\t\"testEmailPlaceholder\": \"テストメールを入力してください\",\n\t\t\t\"sendTest\": \"テストメール送信\",\n\t\t\t\"viewCase\": \"ケースを見る\",\n\t\t\t\"preview\": {\n\t\t\t\t\"empty\": \"プレビューするメールテンプレートを選択してください\"\n\t\t\t},\n\t\t\t\"validation\": {\n\t\t\t\t\"displayNameRequired\": \"表示名を入力してください\",\n\t\t\t\t\"subjectRequired\": \"メール件名を入力してください\",\n\t\t\t\t\"recipientsRequired\": \"連絡先を選択してください\",\n\t\t\t\t\"sendTimeRequired\": \"送信時間を選択してください\",\n\t\t\t\t\"testEmailRequired\": \"テストメールを入力してください\",\n\t\t\t\t\"templateRequired\": \"メールテンプレートを選択してください\"\n\t\t\t},\n\t\t\t\"discard\": {\n\t\t\t\t\"title\": \"確認\",\n\t\t\t\t\"content\": \"現在の編集を破棄しますか？\"\n\t\t\t}\n\t\t},\n\t\t\"createGroup\": {\n\t\t\t\"title\": \"グループ作成\",\n\t\t\t\"groupName\": \"グループ名\",\n\t\t\t\"email\": \"メール\",\n\t\t\t\"groupNamePlaceholder\": \"グループ名を入力してください\",\n\t\t\t\"validation\": {\n\t\t\t\t\"groupNameRequired\": \"グループ名を入力してください\"\n\t\t\t}\n\t\t},\n\t\t\"loading\": {\n\t\t\t\"creating\": \"タスクを作成中... お待ちください\",\n\t\t\t\"updating\": \"タスクを編集中... お待ちください\",\n\t\t\t\"deleting\": \"タスクを削除中... お待ちください\",\n\t\t\t\"pausing\": \"タスクを一時停止中... お待ちください\",\n\t\t\t\"resuming\": \"タスクを再開中... お待ちください\",\n\t\t\t\"sendingTest\": \"テストメールを送信中... お待ちください\"\n\t\t}\n\t},\n\t\"mailbox\": {\n\t\t\"title\": \"メールボックス管理\",\n\t\t\"actions\": {\n\t\t\t\"add\": \"メールボックス追加\",\n\t\t\t\"batchAdd\": \"一括追加\",\n\t\t\t\"batchDelete\": \"一括削除\",\n\t\t\t\"exportAll\": \"すべてエクスポート\"\n\t\t},\n\t\t\"search\": {\n\t\t\t\"usernamePlaceholder\": \"ユーザー名検索\"\n\t\t},\n\t\t\"domain\": {\n\t\t\t\"selectPlaceholder\": \"ドメイン選択\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"username\": \"ユーザー名\",\n\t\t\t\"password\": \"パスワード\",\n\t\t\t\"loginInfo\": \"ログイン情報（WebMail / SMTP）\",\n\t\t\t\"quota\": \"クォータ\",\n\t\t\t\"type\": \"タイプ\",\n\t\t\t\"status\": \"ステータス\"\n\t\t},\n\t\t\"userType\": {\n\t\t\t\"admin\": \"管理者\",\n\t\t\t\"general\": \"一般ユーザー\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"メールボックス追加\",\n\t\t\t\"editTitle\": \"メールボックス編集\",\n\t\t\t\"batchAddTitle\": \"一括追加\",\n\t\t\t\"exportTitle\": \"メールボックスエクスポート\",\n\t\t\t\"emailAddress\": \"メールアドレス\",\n\t\t\t\"password\": \"パスワード\",\n\t\t\t\"passwordPlaceholder\": \"メールボックスのパスワードを入力\",\n\t\t\t\"quota\": \"クォータ\",\n\t\t\t\"userType\": \"ユーザータイプ\",\n\t\t\t\"status\": \"ステータス\",\n\t\t\t\"domain\": \"ドメイン\",\n\t\t\t\"prefix\": \"メールプレフィックス\",\n\t\t\t\"count\": \"メール数\"\n\t\t},\n\t\t\"validation\": {\n\t\t\t\"emailRequired\": \"メールアドレスを入力してください\",\n\t\t\t\"passwordLength\": \"パスワードは8文字以上である必要があります\",\n\t\t\t\"passwordFormat\": \"パスワードは大文字・小文字・数字をそれぞれ1文字以上含む必要があります\",\n\t\t\t\"domainRequired\": \"ドメインを選択してください\",\n\t\t\t\"prefixRequired\": \"メールプレフィックスを入力してください\",\n\t\t\t\"countRequired\": \"メール数を入力してください\",\n\t\t\t\"fileRequired\": \"アップロードファイルを選択してください\"\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"メールボックス削除\",\n\t\t\t\"confirm\": \"メールボックス【{name}】を削除してもよろしいですか？\",\n\t\t\t\"batchConfirm\": \"{count}個のメールボックスを削除してもよろしいですか？\"\n\t\t},\n\t\t\"loginInfo\": {\n\t\t\t\"template\": \"WebMail: {webmail}\\nユーザー名: {username}\\nパスワード: {password}\\nPOP サービス [ アドレス: {mx} ポート: 110/995 ]\\nIMAP サービス [ アドレス: {mx} ポート: 143/993 ]\\nSMTP サービス [ アドレス: {mx} ポート: 25/465/587 ]\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"メールボックスを作成中... お待ちください\",\n\t\t\t\t\"updating\": \"メールボックスを更新中... お待ちください\",\n\t\t\t\t\"deleting\": \"メールボックスを削除中... お待ちください\",\n\t\t\t\t\"exporting\": \"メールボックスをエクスポート中... お待ちください\",\n\t\t\t\t\"importing\": \"メールボックスをインポート中... お待ちください\"\n\t\t\t}\n\t\t}\n\t},\n\t\"smtp\": {\n\t\t\"title\": \"SMTP リレーサービス管理\",\n\t\t\"description\": \"複数のサービスプロバイダーに対応した SMTP リレーサービスを管理\",\n\t\t\"empty\": \"SMTP リレーサービスがありません\",\n\t\t\"providers\": {\n\t\t\t\"gmail\": \"Gmail\",\n\t\t\t\"mailgun\": \"Mailgun\",\n\t\t\t\"aws\": \"AWS SES\",\n\t\t\t\"sendgrid\": \"SendGrid\",\n\t\t\t\"custom\": \"カスタム SMTP\"\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"リレー削除\",\n\t\t\t\"confirm\": \"リレーサービス [{name}] を削除してもよろしいですか？\"\n\t\t},\n\t\t\"card\": {\n\t\t\t\"domain\": \"紐付けドメイン\",\n\t\t\t\"server\": \"サーバー\",\n\t\t\t\"port\": \"ポート\",\n\t\t\t\"username\": \"ユーザー名\",\n\t\t\t\"dnsUpdateRequired\": \"DNSレコードの更新が必要\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"SMTP 追加\",\n\t\t\t\"editTitle\": \"SMTP 編集\",\n\t\t\t\"remark\": \"備考\",\n\t\t\t\"domain\": \"紐付けドメイン\",\n\t\t\t\"server\": \"SMTP サーバー\",\n\t\t\t\"port\": \"SMTP ポート\",\n\t\t\t\"username\": \"ユーザー名\",\n\t\t\t\"password\": \"パスワード\",\n\t\t\t\"authMethod\": \"認証方式\",\n\t\t\t\"advancedFeatures\": \"高度なオプション\",\n\t\t\t\"testConnection\": \"接続テスト\",\n\t\t\t\"bind\": \" [紐付け済み]\",\n\t\t\t\"skipTlsVerify\": \"TLS検証をスキップ\",\n\t\t\t\"tlsOptions\": {\n\t\t\t\t\"skip\": \"スキップ\",\n\t\t\t\t\"noSkip\": \"スキップしない\"\n\t\t\t},\n\t\t\t\"validation\": {\n\t\t\t\t\"nameRequired\": \"リレー名を入力してください\",\n\t\t\t\t\"domainRequired\": \"紐付けドメインを選択してください\",\n\t\t\t\t\"serverRequired\": \"SMTP サーバーを入力してください\",\n\t\t\t\t\"portRequired\": \"SMTP ポートを入力してください\",\n\t\t\t\t\"usernameRequired\": \"ユーザー名を入力してください\",\n\t\t\t\t\"passwordRequired\": \"パスワードを入力してください\"\n\t\t\t}\n\t\t},\n\t\t\"status\": {\n\t\t\t\"online\": \"オンライン\",\n\t\t\t\"offline\": \"オフライン\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"SMTP を追加中... お待ちください\",\n\t\t\t\t\"editing\": \"SMTP を編集中... お待ちください\",\n\t\t\t\t\"testing\": \"SMTP 接続をテスト中... お待ちください\",\n\t\t\t\t\"deleting\": \"SMTP を削除中... お待ちください\"\n\t\t\t}\n\t\t}\n\t},\n\t\"settings\": {\n\t\t\"title\": \"Settings\",\n\t\t\"service\": {\n\t\t\t\"title\": \"Service Status\",\n\t\t\t\"tips\": \"Tips: Ctrl+F Search keywords, Ctrl+S Save, Ctrl+H Search and replace\",\n\t\t\t\"editTitle\": \"Online Edit {name}\",\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"Service Name\",\n\t\t\t\t\"status\": \"Status\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"running\": \"Running\",\n\t\t\t\t\"stopped\": \"Stopped\"\n\t\t\t},\n\t\t\t\"actions\": {\n\t\t\t\t\"restart\": \"Restart\"\n\t\t\t},\n\t\t\t\"restart\": {\n\t\t\t\t\"title\": \"Restart Service\",\n\t\t\t\t\"confirm\": \"Are you sure you want to restart [{name}]?\"\n\t\t\t}\n\t\t},\n\t\t\"bcc\": {\n\t\t\t\"title\": \"BCC Management\",\n\t\t\t\"add\": \"Add BCC\",\n\t\t\t\"edit\": \"Edit BCC\",\n\t\t\t\"needCopy\": \"Need Copy\",\n\t\t\t\"copyTo\": \"Copy to\",\n\t\t\t\"domain\": \"Domain\",\n\t\t\t\"type\": \"BCC Type\",\n\t\t\t\"status\": \"Status\",\n\t\t\t\"active\": \"Active\",\n\t\t\t\"types\": {\n\t\t\t\t\"sender\": \"When sending\",\n\t\t\t\t\"recipient\": \"When receiving\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete BCC [{address}]\",\n\t\t\t\t\"content\": \"Whether to delete the BCC setting?\"\n\t\t\t},\n\t\t\t\"placeholders\": {\n\t\t\t\t\"needCopy\": \"Enter the users you need to BCC\",\n\t\t\t\t\"copyTo\": \"Enter the email you need to receive the BCC\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"Adding BCC, please wait...\",\n\t\t\t\t\"saving\": \"Saving BCC, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting BCC, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"forward\": {\n\t\t\t\"add\": \"Add Forward\",\n\t\t\t\"edit\": \"Edit Forward\",\n\t\t\t\"columns\": {\n\t\t\t\t\"address\": \"Address\",\n\t\t\t\t\"goto\": \"Goto\",\n\t\t\t\t\"domain\": \"Domain\",\n\t\t\t\t\"created\": \"Created\",\n\t\t\t\t\"modified\": \"Modified\",\n\t\t\t\t\"status\": \"Status\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"status\": \"Status\",\n\t\t\t\t\"forwardedUsers\": \"Forwarded users\",\n\t\t\t\t\"forwardedUsersPlaceholder\": \"Enter the mailbox that needs to be forwarded\",\n\t\t\t\t\"domain\": \"Domain\",\n\t\t\t\t\"domainPlaceholder\": \"Domain name of the Forwarded users\",\n\t\t\t\t\"receivingUser\": \"Receiving user\",\n\t\t\t\t\"receivingUserPlaceholder\": \"Users who need to accept forwarded mail. If there are multiple, please separate them with newlines\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"Delete mail forward\",\n\t\t\t\t\"content\": \"Are you sure you want to delete mail forward [{address}]?\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"Adding mail forward, please wait...\",\n\t\t\t\t\"editing\": \"Editing mail forward, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting mail forward, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"common\": {\n\t\t\t\"confirm\": \"Update\",\n\t\t\t\"security\": {\n\t\t\t\t\"title\": \"Security Settings\",\n\t\t\t\t\"username\": \"Change Username\",\n\t\t\t\t\"currentUsername\": \"Current Username\",\n\t\t\t\t\"newUsernamePlaceholder\": \"Enter new username\",\n\t\t\t\t\"usernameRule\": \"4-20 characters, letters and numbers\",\n\t\t\t\t\"usernameExists\": \"Username already exists\",\n\t\t\t\t\"changePassword\": \"Change Password\",\n\t\t\t\t\"currentPassword\": \"Current Password\",\n\t\t\t\t\"newPassword\": \"New Password\",\n\t\t\t\t\"confirmPassword\": \"Confirm New Password\",\n\t\t\t\t\"passwordStrength\": \"Password Strength\",\n\t\t\t\t\"passwordMismatch\": \"Passwords do not match\",\n\t\t\t\t\"strength\": {\n\t\t\t\t\t\"weak\": \"Weak\",\n\t\t\t\t\t\"medium\": \"Medium\",\n\t\t\t\t\t\"strong\": \"Strong\"\n\t\t\t\t},\n\t\t\t\t\"securityPath\": \"Change Security Path\",\n\t\t\t\t\"currentPath\": \"Current Path\",\n\t\t\t\t\"newPathPlaceholder\": \"Enter new path, e.g. admin-abc123\",\n\t\t\t\t\"pathRule\": \"Recommend using complex path for enhanced security\",\n\t\t\t\t\"usernameValidation\": {\n\t\t\t\t\t\"lengthError\": \"Username length must be between 4 and 20 characters\",\n\t\t\t\t\t\"formatError\": \"Username must consist of letters, numbers or underscores\",\n\t\t\t\t\t\"duplicateError\": \"Username cannot be the same as current username\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"network\": {\n\t\t\t\t\"title\": \"Network Configuration\",\n\t\t\t\t\"domain\": \"Domain Settings\",\n\t\t\t\t\"currentDomain\": \"The access domain name of the console\",\n\t\t\t\t\"newDomainPlaceholder\": \"Enter new domain, e.g. admin.yourdomain.com\",\n\t\t\t\t\"domainRule\": \"Please enter a valid domain\",\n\t\t\t\t\"ssl\": \"SSL Certificate Configuration\",\n\t\t\t\t\"sslEnabled\": \"SSL Enabled\",\n\t\t\t\t\"certStatus\": \"Certificate Status\",\n\t\t\t\t\"certValid\": \"({days} days remaining)\",\n\t\t\t\t\"sslCert\": \"SSL Certificate (PEM format)\",\n\t\t\t\t\"sslKey\": \"Private Key (PEM format)\",\n\t\t\t\t\"certPlaceholder\": \"-----BEGIN CERTIFICATE-----\\nMIIFazCCA1OgAwIBAgIURv...\\n-----END CERTIFICATE-----\",\n\t\t\t\t\"keyPlaceholder\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG...\\n-----END PRIVATE KEY-----\",\n\t\t\t\t\"updateSSL\": \"Update SSL Certificate\",\n\t\t\t\t\"certValidStatus\": \"Certificate Valid\",\n\t\t\t\t\"certExpiredStatus\": \"Certificate Expired\",\n\t\t\t\t\"certExpireTime\": \"Certificate expires: {time}\"\n\t\t\t},\n\t\t\t\"system\": {\n\t\t\t\t\"title\": \"System Configuration\",\n\t\t\t\t\"port\": \"Port Settings\",\n\t\t\t\t\"currentPort\": \"Current Port\",\n\t\t\t\t\"terminalRequired\": \"This setting requires terminal operation\",\n\t\t\t\t\"copyCommand\": \"Copy the above command and execute it in the server terminal\",\n\t\t\t\t\"commandCopied\": \"Command copied to clipboard\",\n\t\t\t\t\"timezone\": \"Timezone Settings\",\n\t\t\t\t\"currentTime\": \"Current System Timezone\"\n\t\t\t},\n\t\t\t\"ipWhitelist\": {\n\t\t\t\t\"title\": \"IP Whitelist\",\n\t\t\t\t\"enable\": \"Enable\",\n\t\t\t\t\"disable\": \"Disable\",\n\t\t\t\t\"add\": \"Add\",\n\t\t\t\t\"clear\": \"Clear\",\n\t\t\t\t\"description\": \"Only allow IPs in the list to access, terminal command to disable: bm.sh cancel-ip-limit\",\n\t\t\t\t\"placeholder\": \"Please enter IP address\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"ipRequired\": \"Please enter IP address\"\n\t\t\t\t},\n\t\t\t\t\"confirm\": {\n\t\t\t\t\t\"deleteTitle\": \"Delete IP Whitelist\",\n\t\t\t\t\t\"deleteContent\": \"Confirm to delete IP whitelist: {ip}\",\n\t\t\t\t\t\"enableTitle\": \"Enable IP Whitelist\",\n\t\t\t\t\t\"disableTitle\": \"Disable IP Whitelist\",\n\t\t\t\t\t\"enableContent\": \"Confirm to enable IP whitelist, only whitelisted IP addresses can access after enabling\",\n\t\t\t\t\t\"disableContent\": \"Confirm to disable IP whitelist, all IP addresses can access after disabling\",\n\t\t\t\t\t\"clearTitle\": \"Clear IP Whitelist\",\n\t\t\t\t\t\"clearContent\": \"Confirm to clear IP whitelist, all IP addresses can access after clearing\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"proxy\": {\n\t\t\t\t\"title\": \"Reverse Proxy\",\n\t\t\t\t\"description\": \"Reverse proxy address, used for external exposure, such as: subscription lists, unsubscribe emails, etc.\",\n\t\t\t\t\"placeholder\": \"Please enter reverse proxy address\",\n\t\t\t\t\"formatTip\": \"Format: https://example.com\",\n\t\t\t\t\"reset\": \"Reset\",\n\t\t\t\t\"resetConfirm\": {\n\t\t\t\t\t\"title\": \"Reset Reverse Proxy\",\n\t\t\t\t\t\"content\": \"Confirm to reset reverse proxy?\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"api\": {\n\t\t\t\t\"title\": \"API設定\",\n\t\t\t\t\"enableApi\": \"APIを有効にする\",\n\t\t\t\t\"apiDocUrl\": \"APIドキュメントURL\",\n\t\t\t\t\"swaggerUrl\": \"Swagger URL\",\n\t\t\t\t\"token\": \"Token\",\n\t\t\t\t\"confirm\": {\n\t\t\t\t\t\"enable\": \"APIを有効にする\",\n\t\t\t\t\t\"disable\": \"APIを無効にする\",\n\t\t\t\t\t\"enableContent\": \"API設定を有効にしますか？\",\n\t\t\t\t\t\"disableContent\": \"API設定を無効にしますか？\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"notifySettings\": {\n\t\t\t\t\"title\": \"通知設定\",\n\t\t\t\t\"blacklist\": {\n\t\t\t\t\t\"title\": \"IP/ドメインがブラックリストに登録された場合に通知する\",\n\t\t\t\t\t\"alarmSet\": \"アラーム設定\",\n\t\t\t\t\t\"alarmSettings\": {\n\t\t\t\t\t\t\"title\": \"アラーム設定\",\n\t\t\t\t\t\t\"name\": \"名称\",\n\t\t\t\t\t\t\"senderEmail\": \"送信者メールアドレス\",\n\t\t\t\t\t\t\"smtpPassword\": \"SMTPパスワード\",\n\t\t\t\t\t\t\"smtpServer\": \"SMTPサーバー\",\n\t\t\t\t\t\t\"port\": \"ポート\",\n\t\t\t\t\t\t\"recipientEmail\": \"受信者メールアドレス\"\n\t\t\t\t\t},\n\t\t\t\t\t\"autoCheck\": {\n\t\t\t\t\t\t\"title\": \"ブラックリストの自動検出\",\n\t\t\t\t\t\t\"confirm\": {\n\t\t\t\t\t\t\t\"enableTitle\": \"ブラックリスト自動検出を有効にする\",\n\t\t\t\t\t\t\t\"disableTitle\": \"ブラックリスト自動検出を無効にする\",\n\t\t\t\t\t\t\t\"enableContent\": \"ブラックリスト自動検出サービスを開始しますか？\",\n\t\t\t\t\t\t\t\"disableContent\": \"ブラックリスト自動検出サービスを停止しますか？\"\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\t\"retention\": {\n\t\t\t\t\"title\": \"メール保持期間\",\n\t\t\t\t\"currentDays\": \"{days}日\",\n\t\t\t\t\"trashHint\": \"ゴミ箱メールの保持期間\",\n\t\t\t\t\"day\": \"日\"\n\t\t\t}\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"restarting\": \"Restarting service, please wait...\",\n\t\t\t\t\"saving\": \"Saving configuration, please wait...\",\n\t\t\t\t\"setting\": \"Setting, please wait...\",\n\t\t\t\t\"settingSSL\": \"Setting SSL, please wait...\",\n\t\t\t\t\"applyingCert\": \"Applying certificate, please wait...\",\n\t\t\t\t\"adding\": \"Adding, please wait...\",\n\t\t\t\t\"deleting\": \"Deleting, please wait...\",\n\t\t\t\t\"clearing\": \"Clearing, please wait...\"\n\t\t\t}\n\t\t},\n\t\t\"aiModel\": {\n\t\t\t\"modelId\": \"Model ID\",\n\t\t\t\"modelAlias\": \"Model Alias\",\n\t\t\t\"modelFeature\": \"Model Feature\",\n\t\t\t\"contentLength\": \"Maximum Context Length\",\n\t\t\t\"supplierTitle\": \"Supplier Title\",\n\t\t\t\"supplierName\": \"Supplier Name\",\n\t\t\t\"cancel\": \"Cancel\",\n\t\t\t\"confirm\": \"Confirm\",\n\t\t\t\"aPIKey\": \"API Key\",\n\t\t\t\"apiPath\": \"Base Url\",\n\t\t\t\"check\": \"Check\",\n\t\t\t\"getKey\": \"Click to Get Key\",\n\t\t\t\"example\": \"Example\",\n\t\t\t\"saveAPI\": \"Save API\",\n\t\t\t\"model\": \"Model\",\n\t\t\t\"byDefault\": \"By default, all models are retrieved from /models\",\n\t\t\t\"addModel\": \"Add Model\"\n\t\t}\n\t},\n\t\"api\": {\n\t\t\"title\": \"Send API\",\n\t\t\"timeRange\": \"Time Range: \",\n\t\t\"status\": \"Status: \",\n\t\t\"search\": \"Search: \",\n\t\t\"searchPlaceholder\": \"Please enter API name\",\n\t\t\"refreshData\": \"Refresh Data\",\n\t\t\"createNew\": \"Create API\",\n\t\t\"statusOptions\": {\n\t\t\t\"all\": \"All\",\n\t\t\t\"active\": \"Active\",\n\t\t\t\"inactive\": \"Inactive\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"apiName\": \"API Name\",\n\t\t\t\"apiKey\": \"API Key\",\n\t\t\t\"sendCount\": \"Send Count\",\n\t\t\t\"openRate\": \"Open Rate\",\n\t\t\t\"clickRate\": \"Click Rate\",\n\t\t\t\"bounceRate\": \"Bounce Rate\",\n\t\t\t\"status\": \"Status\"\n\t\t},\n\t\t\"statusLabels\": {\n\t\t\t\"active\": \"Active\",\n\t\t\t\"inactive\": \"Inactive\"\n\t\t},\n\t\t\"confirmDelete\": {\n\t\t\t\"title\": \"Delete API [{apiName}]\",\n\t\t\t\"content\": \"Are you sure you want to delete this API?\"\n\t\t},\n\t\t\"overview\": {\n\t\t\t\"totalSend\": \"Total Sent\",\n\t\t\t\"avgOpenRate\": \"Avg Open Rate\",\n\t\t\t\"avgClickRate\": \"Avg Click Rate\",\n\t\t\t\"avgBounceRate\": \"Avg Bounce Rate\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"apiName\": \"API Name\",\n\t\t\t\"status\": \"Status\",\n\t\t\t\"ipWhitelist\": \"IP Whitelist\",\n\t\t\t\"apiNamePlaceholder\": \"Please enter API name\",\n\t\t\t\"ipWhitelistPlaceholder\": \"Multiple IPs separated by commas, empty means no restriction\",\n\t\t\t\"advancedFeatures\": \"高度な機能\",\n\t\t\t\"validation\": {\n\t\t\t\t\"apiNameRequired\": \"Please enter API name\",\n\t\t\t\t\"addresserRequired\": \"Please select sender\",\n\t\t\t\t\"templateRequired\": \"Please select template\"\n\t\t\t},\n\t\t\t\"title\": {\n\t\t\t\t\"edit\": \"Edit API\",\n\t\t\t\t\"add\": \"Add API\"\n\t\t\t},\n\t\t\t\"group\": {\n\t\t\t\t\"label\": \"受信者グループ\",\n\t\t\t\t\"tips\": {\n\t\t\t\t\t\"choose\": \"グループを選択：このAPIで追加された新規連絡先は、選択したグループに自動的に追加されます。\",\n\t\t\t\t\t\"autoCreate\": \"グループを選択しない：このAPI専用の新しい独立した連絡先グループが自動作成され、すべての新規連絡先が保存されます。\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"loading\": {\n\t\t\t\"creating\": \"Creating, please wait...\",\n\t\t\t\"updating\": \"Updating, please wait...\",\n\t\t\t\"deleting\": \"Deleting, please wait...\",\n\t\t\t\"testing\": \"Testing, please wait...\"\n\t\t}\n\t},\n\t\"logs\": {\n\t\t\"title\": \"ログ\",\n\t\t\"table\": {\n\t\t\t\"columns\": {\n\t\t\t\t\"username\": \"ユーザー名\",\n\t\t\t\t\"type\": \"タイプ\",\n\t\t\t\t\"operatingTime\": \"操作時間\",\n\t\t\t\t\"details\": \"詳細\"\n\t\t\t}\n\t\t},\n\t\t\"filter\": {\n\t\t\t\"all\": \"すべて\"\n\t\t},\n\t\t\"search\": {\n\t\t\t\"placeholder\": \"詳細/IPを入力して検索\"\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/i18n/lang/zh.json",
    "content": "{\n\t\"common\": {\n\t\t\"all\": {\n\t\t\t\"text\": \"全部\",\n\t\t\t\"domain\": \"全部域名\"\n\t\t},\n\t\t\"time\": {\n\t\t\t\"today\": \"今天\",\n\t\t\t\"yesterday\": \"昨天\",\n\t\t\t\"last7days\": \"近7天\",\n\t\t\t\"custom\": \"自定义\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"actions\": \"操作\"\n\t\t},\n\t\t\"unit\": {\n\t\t\t\"days\": \"天\",\n\t\t\t\"hours\": \"小时\",\n\t\t\t\"minutes\": \"分钟\",\n\t\t\t\"seconds\": \"秒\"\n\t\t},\n\t\t\"actions\": {\n\t\t\t\"view\": \"查看\",\n\t\t\t\"edit\": \"编辑\",\n\t\t\t\"delete\": \"删除\",\n\t\t\t\"add\": \"添加\",\n\t\t\t\"create\": \"创建\",\n\t\t\t\"update\": \"更新\",\n\t\t\t\"save\": \"保存\",\n\t\t\t\"cancel\": \"取消\",\n\t\t\t\"confirm\": \"确认\",\n\t\t\t\"back\": \"返回\",\n\t\t\t\"search\": \"搜索\",\n\t\t\t\"reset\": \"重置\",\n\t\t\t\"more\": \"更多\",\n\t\t\t\"refresh\": \"刷新\",\n\t\t\t\"copy\": \"复制\",\n\t\t\t\"restart\": \"重启\",\n\t\t\t\"import\": \"导入\",\n\t\t\t\"export\": \"导出\",\n\t\t\t\"download\": \"下载\",\n\t\t\t\"upload\": \"上传\",\n\t\t\t\"apply\": \"应用\",\n\t\t\t\"test\": \"测试\",\n\t\t\t\"rename\": \"重命名\",\n\t\t\t\"preview\": \"预览\",\n\t\t\t\"modify\": \"修改\",\n\t\t\t\"config\": \"配置\",\n\t\t\t\"help\": \"Help\",\n\t\t\t\"settings\": \"设置\",\n\t\t\t\"clear\": \"清空\"\n\t\t},\n\t\t\"useCopy\": {\n\t\t\t\"noText\": \"没有要复制的文本\",\n\t\t\t\"success\": \"复制成功\",\n\t\t\t\"failed\": \"复制失败\"\n\t\t}\n\t},\n\t\"components\": {\n\t\t\"tableHelp\": {\n\t\t\t\"text1\": \"有问题或建议可提{issues}，也可在Github给我们{star}，\",\n\t\t\t\"text2\": \"我们高度重视您的积极参与，谢谢。\"\n\t\t},\n\t\t\"upload\": {\n\t\t\t\"error\": {\n\t\t\t\t\"fileSizeExceeded\": \"文件【{fileName}】大小不能超过{maxSize}MB\",\n\t\t\t\t\"uploadFailed\": \"上传文件失败，请重试\"\n\t\t\t},\n\t\t\t\"prompt\": {\n\t\t\t\t\"dragText\": \"点击或将文件拖拽到该区域\",\n\t\t\t\t\"supportedFiles\": \"仅支持{suffix}文件\"\n\t\t\t}\n\t\t}\n\t},\n\t\"layout\": {\n\t\t\"header\": {\n\t\t\t\"submit\": \"提交需求\"\n\t\t},\n\t\t\"menu\": {\n\t\t\t\"overview\": \"概览\",\n\t\t\t\"market\": \"邮件营销\",\n\t\t\t\"task\": \"任务\",\n\t\t\t\"template\": \"模板\",\n\t\t\t\"sendApi\": \"发件API\",\n\t\t\t\"contacts\": \"联系人\",\n\t\t\t\"subscribers\": \"订阅\",\n\t\t\t\"group\": \"分组\",\n\t\t\t\"domain\": \"域名\",\n\t\t\t\"mailboxes\": \"邮箱\",\n\t\t\t\"settings\": \"设置\",\n\t\t\t\"common\": \"常用设置\",\n\t\t\t\"bcc\": \"BCC\",\n\t\t\t\"forward\": \"邮件转发\",\n\t\t\t\"logout\": \"退出\",\n\t\t\t\"service\": \"服务\",\n\t\t\t\"logs\": \"日志\",\n\t\t\t\"operation_logs\": \"操作日志\",\n\t\t\t\"error_logs\": \"错误日志\"\n\t\t}\n\t},\n\t\"login\": {\n\t\t\"title\": \"BillionMail\",\n\t\t\"form\": {\n\t\t\t\"usernamePlaceholder\": \"用户名\",\n\t\t\t\"passwordPlaceholder\": \"密码\",\n\t\t\t\"loginButton\": \"登录\",\n\t\t\t\"captchaPlaceholder\": \"验证码\",\n\t\t\t\"changeCaptcha\": \"点击切换验证码\",\n\t\t\t\"captcha\": \"验证码\"\n\t\t},\n\t\t\"validation\": {\n\t\t\t\"usernameRequired\": \"用户名不能为空！\",\n\t\t\t\"passwordRequired\": \"密码不能为空！\",\n\t\t\t\"captchaRequired\": \"请输入验证码\"\n\t\t},\n\t\t\"messages\": {\n\t\t\t\"loginSuccess\": \"登录成功\",\n\t\t\t\"loginFailed\": \"登录失败\",\n\t\t\t\"networkError\": \"网络错误，请稍后重试\"\n\t\t}\n\t},\n\t\"user\": {\n\t\t\"logout\": {\n\t\t\t\"title\": \"提示\",\n\t\t\t\"content\": \"是否确认退出登录？\",\n\t\t\t\"confirm\": \"确认\",\n\t\t\t\"cancel\": \"取消\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"logout\": \"正在退出登录，请稍候...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"overview\": {\n\t\t\"delivered\": \"已送达\",\n\t\t\"opened\": \"已打开\",\n\t\t\"clicked\": \"已点击\",\n\t\t\"bounced\": \"已退回\",\n\t\t\"delayedQueue\": \"延迟队列\",\n\t\t\"mailProviders\": \"邮件提供商\",\n\t\t\"sendStats\": \"发送统计\",\n\t\t\"provider\": {\n\t\t\t\"mailProvider\": \"邮件提供商\",\n\t\t\t\"delivered\": \"送达率\",\n\t\t\t\"open\": \"打开率\",\n\t\t\t\"click\": \"点击率\",\n\t\t\t\"bounce\": \"退回率\"\n\t\t},\n\t\t\"send\": {\n\t\t\t\"successRate\": \"成功率\",\n\t\t\t\"success\": \"成功\",\n\t\t\t\"fail\": \"失败\",\n\t\t\t\"sendSuccess\": \"发送成功\",\n\t\t\t\"sendFail\": \"发送失败\"\n\t\t},\n\t\t\"rate\": {\n\t\t\t\"openRate\": \"打开率\",\n\t\t\t\"clickRate\": \"点击率\",\n\t\t\t\"bounceRate\": \"退回率\"\n\t\t},\n\t\t\"sendFailDetails\": {\n\t\t\t\"title\": \"发送失败详情\",\n\t\t\t\"columns\": {\n\t\t\t\t\"recipient\": \"收件人\",\n\t\t\t\t\"dsn\": \"Dsn\",\n\t\t\t\t\"delay\": \"延迟\",\n\t\t\t\t\"delays\": \"延迟详情\",\n\t\t\t\t\"status\": \"状态\",\n\t\t\t\t\"relay\": \"中继\",\n\t\t\t\t\"details\": \"详情\"\n\t\t\t}\n\t\t},\n\t\t\"sendQueue\": {\n\t\t\t\"title\": \"发送队列\",\n\t\t\t\"breadcrumb\": \"发送队列\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"refresh\": \"刷新队列\",\n\t\t\t\t\"quickClear\": \"快速清理\",\n\t\t\t\t\"paramConfig\": \"队列参数配置\",\n\t\t\t\t\"resend\": \"重新发送\",\n\t\t\t\t\"batchDelete\": \"批量删除\",\n\t\t\t\t\"batchResend\": \"重新发送\"\n\t\t\t},\n\t\t\t\"table\": {\n\t\t\t\t\"columns\": {\n\t\t\t\t\t\"sender\": \"发件人\",\n\t\t\t\t\t\"recipient\": \"收件人\",\n\t\t\t\t\t\"arrivalTime\": \"入队时间\",\n\t\t\t\t\t\"messageSize\": \"邮件大小\",\n\t\t\t\t\t\"delayReason\": \"延迟原因\",\n\t\t\t\t\t\"action\": \"操作\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"confirm\": {\n\t\t\t\t\"quickClear\": {\n\t\t\t\t\t\"title\": \"快速清理\",\n\t\t\t\t\t\"content\": \"确认快速清理队列吗？\"\n\t\t\t\t},\n\t\t\t\t\"resend\": {\n\t\t\t\t\t\"title\": \"重新发送\",\n\t\t\t\t\t\"content\": \"确认重新发送队列吗？\"\n\t\t\t\t},\n\t\t\t\t\"delete\": {\n\t\t\t\t\t\"title\": \"删除队列\",\n\t\t\t\t\t\"content\": \"确认删除该队列吗？\"\n\t\t\t\t},\n\t\t\t\t\"batchDelete\": {\n\t\t\t\t\t\"title\": \"批量删除\",\n\t\t\t\t\t\"content\": \"确认删除 {count} 个发送队列吗？\"\n\t\t\t\t},\n\t\t\t\t\"batchResend\": {\n\t\t\t\t\t\"title\": \"批量重新发送\",\n\t\t\t\t\t\"content\": \"确认重新发送 {count} 个发送队列吗？\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"paramConfig\": {\n\t\t\t\t\"title\": \"队列参数配置\",\n\t\t\t\t\"fields\": {\n\t\t\t\t\t\"bounceQueueLifetime\": \"退回队列生存时间\",\n\t\t\t\t\t\"maximalQueueLifetime\": \"最大队列生存时间\",\n\t\t\t\t\t\"minimalBackoffTime\": \"最小退避时间\",\n\t\t\t\t\t\"maximalBackoffTime\": \"最大退避时间\",\n\t\t\t\t\t\"queueRunDelay\": \"队列运行延迟\",\n\t\t\t\t\t\"triggerTimeout\": \"触发超时\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"queueLogs\": {\n\t\t\t\t\"title\": \"队列日志\"\n\t\t\t}\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"resendQueue\": \"正在重新发送队列中，请稍候...\",\n\t\t\t\t\"deleteQueue\": \"正在删除队列中，请稍候...\",\n\t\t\t\t\"setQueueConfig\": \"正在设置队列参数中，请稍候...\",\n\t\t\t\t\"clearQueue\": \"正在清理队列中，请稍候...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"market\": {\n\t\t\"task\": {\n\t\t\t\"title\": \"任务\",\n\t\t\t\"actions\": {\n\t\t\t\t\"add\": \"添加任务\",\n\t\t\t\t\"detail\": \"查看详情\",\n\t\t\t\t\"export\": \"导出\",\n\t\t\t\t\"send\": \"发送\",\n\t\t\t\t\"pause\": \"暂停\",\n\t\t\t\t\"analytics\": \"分析\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"time\": \"时间\",\n\t\t\t\t\"subject\": \"邮件主题\",\n\t\t\t\t\"sender\": \"发件人\",\n\t\t\t\t\"recipients\": \"收件人\",\n\t\t\t\t\"success\": \"成功\",\n\t\t\t\t\"failed\": \"失败\",\n\t\t\t\t\"status\": \"状态\",\n\t\t\t\t\"remark\": \"备注\",\n\t\t\t\t\"estimatedTime\": \"预计完成时间\",\n\t\t\t\t\"progress\": \"进度\",\n\t\t\t\t\"email\": \"邮箱\",\n\t\t\t\t\"errorMsg\": \"错误信息\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"pending\": \"等待中\",\n\t\t\t\t\"processing\": \"处理中\",\n\t\t\t\t\"done\": \"已完成\",\n\t\t\t\t\"noIpWarmup\": \"未关联IP预热\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"subjectPlaceholder\": \"搜索邮件主题\"\n\t\t\t},\n\t\t\t\"changeStatus\": {\n\t\t\t\t\"title\": \"更改任务状态【{subject}】\",\n\t\t\t\t\"startConfirm\": \"立即开始发送任务吗？\",\n\t\t\t\t\"pauseConfirm\": \"暂停任务后，可以继续发送任务！\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"删除任务\",\n\t\t\t\t\"confirm\": \"确定要删除任务 \\\"{subject}\\\" 吗？\"\n\t\t\t},\n\t\t\t\"detail\": {\n\t\t\t\t\"title\": \"任务详情\",\n\t\t\t\t\"displayName\": \"显示名称\",\n\t\t\t\t\"sender\": \"发件人\",\n\t\t\t\t\"subject\": \"邮件主题\",\n\t\t\t\t\"groups\": \"分组\",\n\t\t\t\t\"sendTime\": \"发送时间\",\n\t\t\t\t\"unsubscribeLink\": \"退订链接\",\n\t\t\t\t\"threads\": \"线程数\",\n\t\t\t\t\"remark\": \"备注\",\n\t\t\t\t\"yes\": \"是\",\n\t\t\t\t\"no\": \"否\",\n\t\t\t\t\"auto\": \"自动\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"addTitle\": \"添加任务\",\n\t\t\t\t\"editTitle\": \"编辑任务\",\n\t\t\t\t\"from\": \"发件人\",\n\t\t\t\t\"to\": \"收件人\",\n\t\t\t\t\"displayName\": \"显示名称\",\n\t\t\t\t\"displayNamePlaceholder\": \"请输入显示名称\",\n\t\t\t\t\"subject\": \"主题\",\n\t\t\t\t\"subjectPlaceholder\": \"请输入邮件主题\",\n\t\t\t\t\"recipients\": \"收件人\",\n\t\t\t\t\"recipientsPlaceholder\": \"请选择收件人分组\",\n\t\t\t\t\"recipientsCount\": \"发送邮件 ({count} 收件人)\",\n\t\t\t\t\"template\": \"邮件模板\",\n\t\t\t\t\"saveOutbox\": \"保存到发件箱\",\n\t\t\t\t\"ipWarmup\": \"关联IP预热系统\",\n\t\t\t\t\"ipWarmupTip\": \"开启后将会限制发件速率\",\n\t\t\t\t\"trackClick\": \"跟踪点击\",\n\t\t\t\t\"trackOpen\": \"跟踪打开\",\n\t\t\t\t\"unsubscribeLink\": \"退订链接\",\n\t\t\t\t\"threads\": \"线程数\",\n\t\t\t\t\"threadsAuto\": \"自动\",\n\t\t\t\t\"threadsCustom\": \"自定义\",\n\t\t\t\t\"sendTime\": \"发送时间\",\n\t\t\t\t\"sendTimeNow\": \"立即发送\",\n\t\t\t\t\"sendTimeSchedule\": \"定时发送\",\n\t\t\t\t\"remark\": \"备注\",\n\t\t\t\t\"remarkPlaceholder\": \"请输入备注\",\n\t\t\t\t\"testEmail\": \"测试邮件\",\n\t\t\t\t\"testEmailPlaceholder\": \"请输入测试邮箱\",\n\t\t\t\t\"sendTest\": \"发送测试邮件\",\n\t\t\t\t\"viewCase\": \"查看案例\",\n\t\t\t\t\"tags\": \"标签\",\n\t\t\t\t\"tagLogic\": \"标签关系\",\n\t\t\t\t\"preview\": {\n\t\t\t\t\t\"empty\": \"请选择邮件模板查看预览\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"displayNameRequired\": \"请输入显示名称\",\n\t\t\t\t\t\"subjectRequired\": \"请输入邮件主题\",\n\t\t\t\t\t\"recipientsRequired\": \"请选择联系人\",\n\t\t\t\t\t\"sendTimeRequired\": \"请选择发送时间\",\n\t\t\t\t\t\"testEmailRequired\": \"请输入测试邮箱\",\n\t\t\t\t\t\"templateRequired\": \"请选择邮件模板\"\n\t\t\t\t},\n\t\t\t\t\"discard\": {\n\t\t\t\t\t\"title\": \"提示\",\n\t\t\t\t\t\"content\": \"是否放弃当前编辑？\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"createGroup\": {\n\t\t\t\t\"title\": \"创建分组\",\n\t\t\t\t\"groupName\": \"分组名称\",\n\t\t\t\t\"email\": \"邮箱\",\n\t\t\t\t\"groupNamePlaceholder\": \"请输入分组名称\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"groupNameRequired\": \"请输入分组名称\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"正在创建任务，请稍候...\",\n\t\t\t\t\"updating\": \"正在编辑任务中，请稍候...\",\n\t\t\t\t\"deleting\": \"正在删除任务，请稍候...\",\n\t\t\t\t\"pausing\": \"正在暂停任务，请稍候...\",\n\t\t\t\t\"resuming\": \"正在恢复任务，请稍候...\",\n\t\t\t\t\"sendingTest\": \"正在发送测试邮件，请稍候...\"\n\t\t\t}\n\t\t},\n\t\t\"template\": {\n\t\t\t\"title\": \"模板\",\n\t\t\t\"name\": \"模板名称\",\n\t\t\t\"content\": \"模板内容\",\n\t\t\t\"uploadHtml\": \"上传HTML文件\",\n\t\t\t\"file\": \"模板文件\",\n\t\t\t\"actions\": {\n\t\t\t\t\"add\": \"添加模板\",\n\t\t\t\t\"preview\": \"预览\",\n\t\t\t\t\"duplicate\": \"复制\",\n\t\t\t\t\"export\": \"导出\",\n\t\t\t\t\"import\": \"导入\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"模板名称\",\n\t\t\t\t\"type\": \"类型\",\n\t\t\t\t\"createdAt\": \"创建时间\"\n\t\t\t},\n\t\t\t\"types\": {\n\t\t\t\t\"drag\": \"拖拽\",\n\t\t\t\t\"html\": \"HTML\",\n\t\t\t\t\"ai\": \"AI\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"confirm\": \"确认\",\n\t\t\t\t\"cancel\": \"取消\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"namePlaceholder\": \"搜索模板名称\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"删除模板\",\n\t\t\t\t\"confirm\": \"确定要删除模板 {name} 吗？\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"name\": \"模板名称\",\n\t\t\t\t\"type\": \"模板类型\",\n\t\t\t\t\"content\": \"模板内容\",\n\t\t\t\t\"html\": \"HTML\",\n\t\t\t\t\"drag\": \"拖拽\"\n\t\t\t},\n\t\t\t\"add\": {\n\t\t\t\t\"title\": \"添加模板\",\n\t\t\t\t\"namePlaceholder\": \"请输入模板名称\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"nameRequired\": \"请输入模板名称\",\n\t\t\t\t\t\"uploadRequired\": \"请上传HTML文件\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"preview\": {\n\t\t\t\t\"title\": \"预览模板\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"正在创建模板，请稍候...\",\n\t\t\t\t\"updating\": \"正在更新模板，请稍候...\",\n\t\t\t\t\"copying\": \"正在复制模板，请稍候...\",\n\t\t\t\t\"deleting\": \"正在删除模板，请稍候...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"template\": {\n\t\t\"template\": \"模板\",\n\t\t\"createTpl\": {\n\t\t\t\"sourceUrl\": \"引用域名\",\n\t\t\t\"useAiTools\": \"使用人工智能工具帮您自动生成邮件内容，提升工作您的效率\",\n\t\t\t\"create\": \"创建\",\n\t\t\t\"notices\": {\n\t\t\t\t\"domainListEmpty\": \"请先为BillionMail创建第一个用于发件的域名\",\n\t\t\t\t\"aiConfigurationInvalid\": \"当前并未配置AI大模型，您无法使用AI模型创建邮件模板\",\n\t\t\t\t\"invalidBrandDomain\": \"请先为域名创建品牌信息\"\n\t\t\t},\n\t\t\t\"buttons\": {\n\t\t\t\t\"createNow\": \"立即创建\",\n\t\t\t\t\"configureNow\": \"立即配置\"\n\t\t\t}\n\t\t},\n\t\t\"ai\": {\n\t\t\t\"title\": \"AI 模板\",\n\t\t\t\"welcomeMessage\": \"您可以说：创建一份欢迎用户加入{domain}的欢迎邮件\",\n\t\t\t\"greeting\": \"让我们创建一个漂亮的邮件模板。\",\n\t\t\t\"brandName\": \"BillionMail\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"regenerate\": \"重新生成\",\n\t\t\t\t\"info\": \"信息\",\n\t\t\t\t\"view\": \"预览\",\n\t\t\t\t\"edit\": \"编辑\",\n\t\t\t\t\"copy\": \"复制\",\n\t\t\t\t\"copied\": \"已复制\",\n\t\t\t\t\"apply\": \"应用模板\"\n\t\t\t},\n\t\t\t\"spintax\": {\n\t\t\t\t\"instruction\": \"使用Spintax语法，要求包含{count}个变体\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"saveShortcut\": \"通过 [Ctrl + s] 保存您的修改\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"message\": \"加载中... 请稍后\"\n\t\t\t},\n\t\t\t\"send\": \"发送\"\n\t\t}\n\t},\n\t\"contacts\": {\n\t\t\"subscribers\": {\n\t\t\t\"joinGroup\": \"加入分组\",\n\t\t\t\"tags\": \"标签\",\n\t\t\t\"selectGroupHint\": \"请在右侧选择一个分组\",\n\t\t\t\"trends\": {\n\t\t\t\t\"title\": \"订阅趋势\",\n\t\t\t\t\"subscriber\": \"订阅者\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"emailPlaceholder\": \"请输入邮箱地址搜索\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"email\": \"邮箱\",\n\t\t\t\t\"name\": \"分组名称\",\n\t\t\t\t\"createdAt\": \"创建时间\",\n\t\t\t\t\"lastActiveAt\": \"上次活动时间\"\n\t\t\t},\n\t\t\t\"activeSelect\": {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"all\": \"所有\",\n\t\t\t\t\t\"yes\": \"是\",\n\t\t\t\t\t\"no\": \"否\"\n\t\t\t\t},\n\t\t\t\t\"timeOptions\": {\n\t\t\t\t\t\"past7Days\": \"过去7天\",\n\t\t\t\t\t\"pastMonth\": \"过去1个月\",\n\t\t\t\t\t\"past90Days\": \"过去90天\",\n\t\t\t\t\t\"pastHalfYear\": \"过去6个月\",\n\t\t\t\t\t\"pastYear\": \"过去1年\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"subscribed\": \"订阅\",\n\t\t\t\t\"unsubscribed\": \"取消订阅\",\n\t\t\t\t\"unconfirmed\": \"未确认\"\n\t\t\t},\n\t\t\t\"labels\": {\n\t\t\t\t\"status\": \"状态：\",\n\t\t\t\t\"tags\": \"标签：\",\n\t\t\t\t\"active\": \"活跃：\"\n\t\t\t},\n\t\t\t\"actions\": {\n\t\t\t\t\"changeGroup\": \"更改分组\",\n\t\t\t\t\"setTag\": \"设置标签\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"删除订阅者\",\n\t\t\t\t\"confirm\": \"确定要删除订阅者 {email} 吗？\"\n\t\t\t},\n\t\t\t\"batchDelete\": {\n\t\t\t\t\"title\": \"批量删除\",\n\t\t\t\t\"confirm\": \"确定要删除选中的订阅者吗？\"\n\t\t\t},\n\t\t\t\"select\": {\n\t\t\t\t\"prefix\": \"分组：\"\n\t\t\t},\n\t\t\t\"edit\": {\n\t\t\t\t\"title\": \"更改分组\",\n\t\t\t\t\"email\": \"邮箱\",\n\t\t\t\t\"group\": \"分组\",\n\t\t\t\t\"status\": \"状态\",\n\t\t\t\t\"attributes\": \"属性\",\n\t\t\t\t\"statusOptions\": {\n\t\t\t\t\t\"subscribe\": \"订阅\",\n\t\t\t\t\t\"unsubscribe\": \"退订\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"emailRequired\": \"请填写邮箱\",\n\t\t\t\t\t\"groupRequired\": \"请选择分组\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"import\": {\n\t\t\t\t\"title\": \"导入联系人\",\n\t\t\t\t\"group\": \"分组\",\n\t\t\t\t\"data\": \"数据\",\n\t\t\t\t\"pasteData\": \"粘贴数据\",\n\t\t\t\t\"uploadFile\": \"上传文件\",\n\t\t\t\t\"pastePlaceholder\": [\n\t\t\t\t\t\"请粘贴数据，每行一个邮箱，属性（可为空）\",\n\t\t\t\t\t\"例如：example1@example.com\",\n\t\t\t\t\t\"example1@example.com,\\\"{\\\"\\\"age\\\"\\\": \\\"\\\"13\\\"\\\", \\\"\\\"Gender\\\"\\\": \\\"\\\"XXX\\\"\\\"}\\\"\"\n\t\t\t\t],\n\t\t\t\t\"fileTypeHint\": \"文件类型：csv，不超过5 MB\",\n\t\t\t\t\"overwriteLabel\": \"覆盖现有用户\",\n\t\t\t\t\"overwriteDescription\": \"在导入时是否按照导入数据来覆盖列表中存在的客户信息\",\n\t\t\t\t\"subscriptionStatus\": \"订阅状态\"\n\t\t\t},\n\t\t\t\"batchSetTag\": {\n\t\t\t\t\"title\": \"批量设置标签\",\n\t\t\t\t\"labels\": {\n\t\t\t\t\t\"tag\": \"标签\",\n\t\t\t\t\t\"action\": \"操作\"\n\t\t\t\t},\n\t\t\t\t\"actions\": {\n\t\t\t\t\t\"add\": \"添加\",\n\t\t\t\t\t\"remove\": \"移除\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"tagSelect\": {\n\t\t\t\t\"manageTags\": \"管理标签\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"importSubscribers\": \"正在导入联系人，请稍候...\",\n\t\t\t\t\"updateSubscriberGroup\": \"正在更新分组，请稍候...\",\n\t\t\t\t\"deleteSubscriber\": \"正在删除联系人，请稍候...\",\n\t\t\t\t\"batchSetTag\": \"正在处理中，请稍候...\"\n\t\t\t}\n\t\t},\n\t\t\"group\": {\n\t\t\t\"search\": {\n\t\t\t\t\"namePlaceholder\": \"请输入分组名称搜索\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"分组名称\",\n\t\t\t\t\"subscribers\": \"订阅者数量\",\n\t\t\t\t\"unsubscribe\": \"取消订阅\",\n\t\t\t\t\"createdAt\": \"创建时间\",\n\t\t\t\t\"type\": \"类型\"\n\t\t\t},\n\t\t\t\"type\": {\n\t\t\t\t\"doubleOptin\": \"双重确认\",\n\t\t\t\t\"singleOptin\": \"单次确认\"\n\t\t\t},\n\t\t\t\"export\": {\n\t\t\t\t\"title\": \"导出分组\",\n\t\t\t\t\"confirm\": \"导出 {count} 个分组？\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"name\": \"分组名称\",\n\t\t\t\t\"file\": \"文件\",\n\t\t\t\t\"nameRequired\": \"请输入分组名称\"\n\t\t\t},\n\t\t\t\"add\": {\n\t\t\t\t\"title\": \"添加分组\"\n\t\t\t},\n\t\t\t\"rename\": {\n\t\t\t\t\"title\": \"重命名分组\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"删除分组\",\n\t\t\t\t\"confirm\": \"确定要删除分组 {name} 吗？\"\n\t\t\t},\n\t\t\t\"fileUpload\": {\n\t\t\t\t\"hint\": \"文件类型：csv，不超过10MB\",\n\t\t\t\t\"emptyHint\": \"文件传空时，会自动创建一个空分组\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"createGroup\": \"正在创建分组，请稍候...\",\n\t\t\t\t\"updateGroup\": \"正在更新分组，请稍候...\",\n\t\t\t\t\"deleteGroup\": \"正在删除分组，请稍候...\",\n\t\t\t\t\"exportGroup\": \"正在导出，请稍候...\",\n\t\t\t\t\"saveSettings\": \"正在保存，请稍候...\"\n\t\t\t}\n\t\t},\n\t\t\"settings\": {\n\t\t\t\"title\": \"设置\",\n\t\t\t\"tabs\": {\n\t\t\t\t\"subscribeForm\": \"订阅表单\",\n\t\t\t\t\"subscribeSettings\": \"订阅设置\",\n\t\t\t\t\"unsubscribeSettings\": \"取消订阅设置\"\n\t\t\t},\n\t\t\t\"subscribeForm\": {\n\t\t\t\t\"separateSubscriptionPage\": {\n\t\t\t\t\t\"title\": \"分离订阅页面\",\n\t\t\t\t\t\"description\": \"简单复制并与用户分享此URL - 订阅表单已准备就绪。\"\n\t\t\t\t},\n\t\t\t\t\"embeddableForm\": {\n\t\t\t\t\t\"title\": \"可嵌入表单\",\n\t\t\t\t\t\"description\": \"轻松将此订阅表单嵌入到您的网站页面中。\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"subscribeSettings\": {\n\t\t\t\t\"listType\": {\n\t\t\t\t\t\"label\": \"列表类型\",\n\t\t\t\t\t\"placeholder\": \"请选择列表类型\",\n\t\t\t\t\t\"options\": {\n\t\t\t\t\t\t\"doubleOptin\": \"两次确认\",\n\t\t\t\t\t\t\"singleOptin\": \"单次确认\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"confirmEmail\": {\n\t\t\t\t\t\"subject\": \"二次确认邮件主题\",\n\t\t\t\t\t\"redirectLink\": \"二次确认的跳转链接\",\n\t\t\t\t\t\"redirectDescription\": \"在下方输入自定义链接，将用户重定向到\\\"双重确认\\\"订阅的确认页面\",\n\t\t\t\t\t\"emailContent\": \"二次确认邮件\",\n\t\t\t\t\t\"emailTip1\": \"如果您自定义确认邮件，请不要忘记包含确认链接\",\n\t\t\t\t\t\"emailTip2\": \"在您的消息中的某个位置\"\n\t\t\t\t},\n\t\t\t\t\"welcomeEmail\": {\n\t\t\t\t\t\"subject\": \"感谢邮件订阅主题\",\n\t\t\t\t\t\"redirectLink\": \"感谢订阅的跳转链接\",\n\t\t\t\t\t\"redirectDescription\": \"请在下方输入链接，在用户成功订阅后将其引导到自定义确认页面\",\n\t\t\t\t\t\"emailContent\": \"感谢邮件订阅邮件\",\n\t\t\t\t\t\"sendThroughTip\": \"消息通过\",\n\t\t\t\t\t\"mailboxTip\": \"默认发送域的邮箱发送\",\n\t\t\t\t\t\"enabledDescription\": \"启用后，当用户通过订阅表单或API订阅时，将向用户发送感谢邮件。手动添加的用户不会触发此功能。\",\n\t\t\t\t\t\"templateVariablesTip\": \"您可以在感谢邮件的主题和消息中使用收集的信息，这些是模板变量。\"\n\t\t\t\t},\n\t\t\t\t\"alreadySubscribed\": {\n\t\t\t\t\t\"redirectLink\": \"订阅已存在的跳转链接\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"unsubscribeSettings\": {\n\t\t\t\t\"subject\": \"退订主题\",\n\t\t\t\t\"redirectLink\": \"退订的跳转链接\",\n\t\t\t\t\"emailPage\": \"退订邮件页面\",\n\t\t\t\t\"enabledDescription\": \"启用后，当用户取消订阅或API取消订阅时，将向用户发送退订邮件。手动添加的用户不会触发此功能。\"\n\t\t\t}\n\t\t},\n\t\t\"suspend\": {\n\t\t\t\"title\": \"异常邮箱\",\n\t\t\t\"buttons\": {\n\t\t\t\t\"scanInvalidDomains\": \"扫描无效域名\",\n\t\t\t\t\"scanLogs\": \"扫描日志\",\n\t\t\t\t\"autoBlockFailedEmails\": \"自动阻止失败邮件\"\n\t\t\t},\n\t\t\t\"search\": {\n\t\t\t\t\"emailPlaceholder\": \"请输入邮箱地址\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"email\": \"邮箱\",\n\t\t\t\t\"description\": \"描述\",\n\t\t\t\t\"status\": \"状态\",\n\t\t\t\t\"addTime\": \"添加时间\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"invalid\": \"无效\",\n\t\t\t\t\"checking\": \"检查中\"\n\t\t\t},\n\t\t\t\"confirm\": {\n\t\t\t\t\"clear\": {\n\t\t\t\t\t\"title\": \"清空\",\n\t\t\t\t\t\"content\": \"这将清空该类型下的所有数据，是否继续？\"\n\t\t\t\t},\n\t\t\t\t\"delete\": {\n\t\t\t\t\t\"title\": \"删除\",\n\t\t\t\t\t\"content\": \"确定要删除 [{email}] 吗？\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"scan\": {\n\t\t\t\t\"title\": \"扫描无效域名\",\n\t\t\t\t\"confirmText\": \"扫描\",\n\t\t\t\t\"form\": {\n\t\t\t\t\t\"group\": \"分组\",\n\t\t\t\t\t\"method\": \"方法\",\n\t\t\t\t\t\"groupRequired\": \"请选择分组\"\n\t\t\t\t},\n\t\t\t\t\"methods\": {\n\t\t\t\t\t\"noOperation\": \"无操作\",\n\t\t\t\t\t\"addToExceptionTable\": \"添加到异常防护表\",\n\t\t\t\t\t\"deleteFromGroup\": \"从分组中删除异常邮箱\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"scanLogs\": {\n\t\t\t\t\"title\": \"扫描日志\",\n\t\t\t\t\"none\": \"无\"\n\t\t\t},\n\t\t\t\"api\": {\n\t\t\t\t\"loading\": {\n\t\t\t\t\t\"deleting\": \"正在删除，请稍候...\",\n\t\t\t\t\t\"scanning\": \"正在扫描，请稍候...\",\n\t\t\t\t\t\"clearing\": \"正在清理，请稍候...\",\n\t\t\t\t\t\"setting\": \"正在设置，请稍候...\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"tags\": {\n\t\t\t\"title\": \"标签管理\",\n\t\t\t\"addTag\": \"添加标签\",\n\t\t\t\"bulkTag\": \"批量标签\",\n\t\t\t\"searchPlaceholder\": \"搜索标签\",\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"标签名称\",\n\t\t\t\t\"groupName\": \"分组名称\",\n\t\t\t\t\"createTime\": \"创建时间\",\n\t\t\t\t\"actions\": \"操作\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"删除标签\",\n\t\t\t\t\"confirm\": \"确定要删除此标签【{name}】吗？\"\n\t\t\t},\n\t\t\t\"bulk\": {\n\t\t\t\t\"title\": \"批量标记联系人\",\n\t\t\t\t\"form\": {\n\t\t\t\t\t\"group\": \"分组\",\n\t\t\t\t\t\"tags\": \"标签\",\n\t\t\t\t\t\"emails\": \"邮箱\",\n\t\t\t\t\t\"action\": \"操作\",\n\t\t\t\t\t\"emailsPlaceholder\": \"请粘贴邮箱，一行一个\"\n\t\t\t\t},\n\t\t\t\t\"actions\": {\n\t\t\t\t\t\"tagThese\": \"标记这些邮箱\",\n\t\t\t\t\t\"tagExcept\": \"标记除这些邮箱外的所有人\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"title\": {\n\t\t\t\t\t\"create\": \"创建标签\",\n\t\t\t\t\t\"edit\": \"编辑标签\"\n\t\t\t\t},\n\t\t\t\t\"fields\": {\n\t\t\t\t\t\"name\": \"标签名称\",\n\t\t\t\t\t\"group\": \"分组\"\n\t\t\t\t},\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"nameRequired\": \"请输入标签名称\",\n\t\t\t\t\t\"groupRequired\": \"请选择分组\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"正在创建标签中，请稍候...\",\n\t\t\t\t\"deleting\": \"正在删除标签中，请稍候...\",\n\t\t\t\t\"updating\": \"正在编辑标签中，请稍候...\",\n\t\t\t\t\"bulkSetting\": \"正在批量设置中，请稍候...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"domain\": {\n\t\t\"title\": \"MailDomain\",\n\t\t\"addDomain\": \"添加域名\",\n\t\t\"help\": \"添加你要用来发邮件的域名\",\n\t\t\"columns\": {\n\t\t\t\"domain\": \"域名\",\n\t\t\t\"quota\": \"配额\",\n\t\t\t\"mailboxes\": \"邮箱数量\",\n\t\t\t\"defaultMailboxSize\": \"默认邮箱大小\",\n\t\t\t\"dedicatedIp\": \"专用IP\",\n\t\t\t\"actions\": \"操作\"\n\t\t},\n\t\t\"ipSet\": {\n\t\t\t\"title\": \"专用IP设置\",\n\t\t\t\"titleWithDomain\": \"专用IP设置【{domain}】\",\n\t\t\t\"dedicatedIp\": \"专用IP：\",\n\t\t\t\"configFile\": \"配置文件：\",\n\t\t\t\"connectionStatus\": \"连接状态：\",\n\t\t\t\"warning\": \"你可以通过手工在SSH终端执行以下命令使专用IP连接状态激活\\n如果你有多个域名需要配置专用IP，我们建议你先把所有域名配\\n置完成后在执行以下命令，避免邮件服务器多次中断\",\n\t\t\t\"getCommand\": \"获取命令\",\n\t\t\t\"copyCommand\": \"复制命令\",\n\t\t\t\"operationReminder\": \"操作提醒\",\n\t\t\t\"fixCommandTip\": \"如果执行命令失败，您可以执行该命令进行修复：\",\n\t\t\t\"understood\": \"我知道了\",\n\t\t\t\"validation\": {\n\t\t\t\t\"getCommandFirst\": \"请先获取命令\"\n\t\t\t}\n\t\t},\n\t\t\"status\": {\n\t\t\t\"default\": \"默认\"\n\t\t},\n\t\t\"actions\": {\n\t\t\t\"dnsRecord\": \"DNS记录\",\n\t\t\t\"setDefault\": \"设为默认\"\n\t\t},\n\t\t\"setDefault\": {\n\t\t\t\"title\": \"设为默认 [{domain}]\",\n\t\t\t\"confirm\": \"确定要将此域名设为默认域名吗？\"\n\t\t},\n\t\t\"notSpam\": {\n\t\t\t\"checkNow\": \"立即检测\",\n\t\t\t\"logs\": \"日志\"\n\t\t},\n\t\t\"checkLogs\": {\n\t\t\t\"title\": \"检测日志\"\n\t\t},\n\t\t\"blacklistDetection\": {\n\t\t\t\"title\": \"黑名单检测\",\n\t\t\t\"checking\": \"正在检测解析到 {ip} 的 {results}，对比 {tested} 个已知黑名单...\",\n\t\t\t\"listed\": \"已列入黑名单数：{count}\",\n\t\t\t\"success\": \"您的 IP 未在 aaPanel 已知的黑名单中\",\n\t\t\t\"columns\": {\n\t\t\t\t\"blacklist\": \"黑名单\",\n\t\t\t\t\"responseIp\": \"响应 IP\",\n\t\t\t\t\"checkTime\": \"检测时间\"\n\t\t\t}\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"删除域名\",\n\t\t\t\"confirm\": \"确定要删除域名【{domain}】吗？\",\n\t\t\t\"confirmButton\": \"删除\"\n\t\t},\n\t\t\"waitAndCheckDomainStatus\": {\n\t\t\t\"success\": \"品牌信息初始化成功\",\n\t\t\t\"error\": \"品牌信息初始化失败\",\n\t\t\t\"loading\": \"正在初始化品牌信息，请稍后...\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"添加域名\",\n\t\t\t\"editTitle\": \"编辑域名\",\n\t\t\t\"domain\": \"域名\",\n\t\t\t\"domainPlaceholder\": \"请输入域名，例如：billionmail.com\",\n\t\t\t\"urlsPlacement\": \"请输入域名，例如：http://billionmail.com\",\n\t\t\t\"aRecord\": \"A记录\",\n\t\t\t\"aRecordPlaceholder\": \"请输入A记录，例如：mailAapanelCom\",\n\t\t\t\"quota\": \"域名配额\",\n\t\t\t\"mailboxCount\": \"邮箱数量\",\n\t\t\t\"globalCatch\": \"Catch All\",\n\t\t\t\"globalCatchPlaceholder\": \"捕获不存在的邮件，转发至此邮件\",\n\t\t\t\"validation\": {\n\t\t\t\t\"domainRequired\": \"邮箱域名不能为空!\",\n\t\t\t\t\"domainInputRequired\": \"请先输入域名\",\n\t\t\t\t\"dedicatedIpRequired\": \"请先输入域名专用IP\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"aRecordFailed\": \"提示A记录解析失败。请检查填写的A记录域名是否已解析到服务器 IP\",\n\t\t\t\t\"dnsSetup\": \"需要在您的DNS服务提供商控制台添加A记录\",\n\t\t\t\t\"cloudflare\": \"如果使用CloudFlare，请在添加记录时选择【仅DNS】\"\n\t\t\t},\n\t\t\t\"createBrandInfo\": \"自动创建品牌信息\",\n\t\t\t\"modelNotice\": \"要使用此功能，您需要先进行大模型配置\",\n\t\t\t\"integrateImmediately\": \"立即配置\",\n\t\t\t\"modelDescription\": \"AI驱动的信息导入会自动分析并从邮件域名创建品牌信息。创建后，您可以根据需要进行修改\",\n\t\t\t\"extractBrand\": \"提取品牌和颜色\",\n\t\t\t\"analyzeStructure\": \"分析内容结构\",\n\t\t\t\"importContent\": \"导入图片和内容\",\n\t\t\t\"customLogo\": \"使用自定义徽标（可选）\",\n\t\t\t\"specifyDomain\": \"指定域名\",\n\t\t\t\"addMoreUrls\": \"添加更多URL\",\n\t\t\t\"maxUrl\": \"最多只能填写3个URL\",\n\t\t\t\"createImmediately\": \"立即创建\",\n\t\t\t\"brandInfo\": \"品牌信息\",\n\t\t\t\"noBrandInfo\": \"暂无品牌信息\",\n\t\t\t\"fillDomain\": \"请填写域名\",\n\t\t\t\"fillValidDomain\": \"请填写正确的域名\",\n\t\t\t\"dedicatedIp\": \"域名专用IP\",\n\t\t\t\"notSet\": \"未设置\",\n\t\t\t\"testConnection\": \"连接测试\"\n\t\t},\n\t\t\"dns\": {\n\t\t\t\"title\": \"DNS 记录\",\n\t\t\t\"verify\": \"已设置，验证域名解析\",\n\t\t\t\"status\": {\n\t\t\t\t\"ok\": \"正常\",\n\t\t\t\t\"notSet\": \"未设置\"\n\t\t\t},\n\t\t\t\"columns\": {\n\t\t\t\t\"domain\": \"域名\"\n\t\t\t},\n\t\t\t\"table\": {\n\t\t\t\t\"recordType\": \"记录类型\",\n\t\t\t\t\"host\": \"主机记录\",\n\t\t\t\t\"value\": \"记录值\",\n\t\t\t\t\"mxPriority\": \"MX优先级\"\n\t\t\t},\n\t\t\t\"step1\": {\n\t\t\t\t\"title\": \"步骤1：添加A记录\"\n\t\t\t},\n\t\t\t\"step2\": {\n\t\t\t\t\"title\": \"步骤2：添加MX记录\",\n\t\t\t\t\"description\": \"登录到域名服务提供商，添加记录类型为MX的记录用于邮箱服务（请直接复制以下参数）\"\n\t\t\t},\n\t\t\t\"step3\": {\n\t\t\t\t\"title\": \"步骤3：添加TXT记录\",\n\t\t\t\t\"description\": \"添加记录类型为TXT的记录用于邮箱反垃圾邮件（请直接复制以下参数）\"\n\t\t\t},\n\t\t\t\"step4\": {\n\t\t\t\t\"title\": \"步骤4：添加PTR记录\",\n\t\t\t\t\"description1\": \"（可选）PTR记录用于反向 DNS 查找\",\n\t\t\t\t\"description2\": \"联系您的IP提供商创建 PTR 记录\"\n\t\t\t},\n\t\t\t\"dkim\": {\n\t\t\t\t\"formatLabel\": \"DKIM记录格式：\",\n\t\t\t\t\"keySize\": {\n\t\t\t\t\t\"option2048\": \"2048位RSA密钥\",\n\t\t\t\t\t\"option1024\": \"1024位RSA密钥\"\n\t\t\t\t},\n\t\t\t\t\"tips\": {\n\t\t\t\t\t\"line1\": \"DKIM记录支持2048位和1024位RSA密钥。\",\n\t\t\t\t\t\"line2\": \"建议优先使用2048位密钥以获得更好的安全性。\",\n\t\t\t\t\t\"line3\": \"可根据域名服务商的限制进行选择。\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ssl\": {\n\t\t\t\"expired\": \"已过期\",\n\t\t\t\"daysLeft\": \"{days}天\",\n\t\t\t\"notSet\": \"未设置\",\n\t\t\t\"title\": \"域名 SSL\",\n\t\t\t\"tabs\": {\n\t\t\t\t\"otherCertificate\": \"其他证书\"\n\t\t\t},\n\t\t\t\"cert\": {\n\t\t\t\t\"brand\": \"品牌\",\n\t\t\t\t\"domains\": \"证书域名\",\n\t\t\t\t\"privateKey\": \"私钥 (KEY)\",\n\t\t\t\t\"certificate\": \"证书 (CRT/PEM)\",\n\t\t\t\t\"keyPlaceholder\": \"请输入私钥内容\",\n\t\t\t\t\"certPlaceholder\": \"请输入证书内容\"\n\t\t\t},\n\t\t\t\"actions\": {\n\t\t\t\t\"save\": \"保存\",\n\t\t\t\t\"applyFree\": \"申请免费证书\"\n\t\t\t},\n\t\t\t\"tips\": {\n\t\t\t\t\"paste\": \"粘贴您的 KEY 和 CRT 内容，然后保存\",\n\t\t\t\t\"chainCheck\": \"如果浏览器提示证书链不完整，请检查 PEM 证书是否正确拼接\",\n\t\t\t\t\"pemFormat\": \"PEM 格式证书 = 域名证书 Crt + 根证书 (root_bundle)Crt\",\n\t\t\t\t\"defaultSite\": \"当未指定 SSL 默认站点时，未配置 SSL 的站点将使用 HTTPS 访问启用了 SSL 的站点\"\n\t\t\t}\n\t\t},\n\t\t\"edit\": {\n\t\t\t\"pageTitle\": \"域名 / 编辑域名\",\n\t\t\t\"save\": \"保存\",\n\t\t\t\"tabs\": {\n\t\t\t\t\"domainConfiguration\": \"域名配置\",\n\t\t\t\t\"projectDetails\": \"项目详情\",\n\t\t\t\t\"companyProfile\": \"公司资料\",\n\t\t\t\t\"styling\": \"样式设置\",\n\t\t\t\t\"sitemap\": \"站点地图\",\n\t\t\t\t\"footerSettings\": \"页脚设置\",\n\t\t\t\t\"aiSettings\": \"AI设置\"\n\t\t\t},\n\t\t\t\"domainConfiguration\": {\n\t\t\t\t\"title\": \"邮件域名配置\",\n\t\t\t\t\"domain\": \"域名\",\n\t\t\t\t\"domainQuota\": \"域名配额\",\n\t\t\t\t\"mailboxCount\": \"邮箱数量\",\n\t\t\t\t\"catchAll\": \"Catch all\",\n\t\t\t\t\"autoCreateBrand\": \"自动创建品牌信息\",\n\t\t\t\t\"aiIntegrationWarning\": \"要使用此功能，您需要先集成AI模型。\",\n\t\t\t\t\"integrateImmediately\": \"立即集成\",\n\t\t\t\t\"aiDescription\": \"AI驱动的信息导入会自动分析并从邮件域名创建品牌信息。创建后，您可以根据需要进行修改。\",\n\t\t\t\t\"features\": {\n\t\t\t\t\t\"extractBrand\": \"提取品牌和颜色\",\n\t\t\t\t\t\"analyzeStructure\": \"分析内容结构\",\n\t\t\t\t\t\"importContent\": \"导入图片和内容\",\n\t\t\t\t\t\"customLogo\": \"使用自定义徽标（可选）\"\n\t\t\t\t},\n\t\t\t\t\"specifyDomain\": \"指定域名\",\n\t\t\t\t\"addMoreUrls\": \"添加更多URL\",\n\t\t\t\t\"createNow\": \"Create Immediately\",\n\t\t\t\t\"brandInfo\": \"Brand information\",\n\t\t\t\t\"noBrandInfo\": \"No brand information available.\",\n\t\t\t\t\"fillDomain\": \"请填写域名\",\n\t\t\t\t\"fillValidDomain\": \"请填写有效的域名\",\n\t\t\t\t\"dedicatedIp\": \"域名专用IP\",\n\t\t\t\t\"dedicatedIpDesc\": \"域名 {domain} 发送和接受邮件时会在iptables处指定此专属IP，如果你的服务器只有一个IP的话不需要设置此功能\",\n\t\t\t\t\"notSet\": \"未设置\",\n\t\t\t\t\"testConnection\": \"连接测试\",\n\t\t\t\t\"catchAllDesc\": \"在您这里填写邮箱后，这个域名下所有未知的邮箱收到邮件将会转发到这个邮箱里面\",\n\t\t\t\t\"domainQuotaDesc\": \"设置此域名的可用空间\",\n\t\t\t\t\"mailboxCountDesc\": \"设置此域名可以创建多少个邮箱\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"setDedicatedIpFirst\": \"请先设置域名专用IP\"\n\t\t\t\t},\n\t\t\t\t\"api\": {\n\t\t\t\t\t\"testingConnection\": \"正在测试连接中，请稍候...\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"projectDetails\": {\n\t\t\t\t\"title\": \"项目详情\",\n\t\t\t\t\"projectName\": \"项目名称\",\n\t\t\t\t\"description\": \"描述\",\n\t\t\t\t\"brandLogos\": \"品牌徽标\",\n\t\t\t\t\"logoSystem\": \"徽标系统\",\n\t\t\t\t\"logoSystemDesc\": \"上传您品牌的徽标系统，以在整个项目中保持一致的品牌形象\",\n\t\t\t\t\"primaryLogo\": \"主要徽标\",\n\t\t\t\t\"primaryLogoDesc\": \"用于页眉的水平版本\",\n\t\t\t\t\"secondaryLogo\": \"次要徽标\",\n\t\t\t\t\"secondaryLogoDesc\": \"垂直/堆叠版本\",\n\t\t\t\t\"favicon\": \"网站图标\",\n\t\t\t\t\"faviconDesc\": \"浏览器标签页图标\",\n\t\t\t\t\"loadingFailed\": \"加载失败\",\n\t\t\t\t\"knowledgeBase\": \"知识库\",\n\t\t\t\t\"newFile\": \"新建文件\",\n\t\t\t\t\"edit\": \"编辑\",\n\t\t\t\t\"preview\": \"预览\",\n\t\t\t\t\"newKnowledgeFile\": \"新建知识文件\",\n\t\t\t\t\"fileName\": \"文件名\",\n\t\t\t\t\"day\": \"天\",\n\t\t\t\t\"hour\": \"小时\",\n\t\t\t\t\"minute\": \"分\",\n\t\t\t\t\"ago\": \"前\",\n\t\t\t\t\"justNow\": \"刚刚\",\n\t\t\t\t\"close\": \"关闭\",\n\t\t\t\t\"cancel\": \"取消\",\n\t\t\t\t\"create\": \"创建\",\n\t\t\t\t\"notice\": \"提示\",\n\t\t\t\t\"sureDel\": \"是否确认删除?\"\n\t\t\t},\n\t\t\t\"companyProfile\": {\n\t\t\t\t\"title\": \"公司详情\",\n\t\t\t\t\"legalCompanyName\": \"法定公司名称\",\n\t\t\t\t\"website\": \"网站\",\n\t\t\t\t\"organizationNumber\": \"组织编号\",\n\t\t\t\t\"additionalInfo\": \"附加公司信息\",\n\t\t\t\t\"contactInfo\": \"联系信息\",\n\t\t\t\t\"contactEmail\": \"联系邮箱\",\n\t\t\t\t\"phoneNumber\": \"电话号码\",\n\t\t\t\t\"supportUrl\": \"支持URL\"\n\t\t\t},\n\t\t\t\"styling\": {\n\t\t\t\t\"colorPalette\": \"调色板\",\n\t\t\t\t\"accentColor\": \"强调色\",\n\t\t\t\t\"textColor\": \"文本颜色\",\n\t\t\t\t\"pageBackground\": \"页面背景\",\n\t\t\t\t\"containerBackground\": \"容器背景\",\n\t\t\t\t\"linkFooterColor\": \"页脚链接颜色\",\n\t\t\t\t\"linkSocialColor\": \"社交链接颜色\",\n\t\t\t\t\"typography\": \"字体排版\",\n\t\t\t\t\"headingFont\": \"标题字体\",\n\t\t\t\t\"bodyFont\": \"正文字体\",\n\t\t\t\t\"preview\": \"预览：\",\n\t\t\t\t\"previewText\": \"快速的棕色狐狸跳过懒惰的狗\",\n\t\t\t\t\"typographyGuidelines\": \"字体排版指南：\",\n\t\t\t\t\"webSafeFonts\": \"使用网络安全字体以获得更好的兼容性\",\n\t\t\t\t\"fallbackFonts\": \"始终包含备用字体以获得更好的性能\"\n\t\t\t},\n\t\t\t\"sitemap\": {\n\t\t\t\t\"title\": \"站点地图\",\n\t\t\t\t\"addLink\": \"添加链接\"\n\t\t\t},\n\t\t\t\"footerSettings\": {\n\t\t\t\t\"title\": \"页脚设置\",\n\t\t\t\t\"additionalContent\": \"附加内容\",\n\t\t\t\t\"copyrightText\": \"版权文本\"\n\t\t\t},\n\t\t\t\"aiSettings\": {\n\t\t\t\t\"title\": \"AI设置\",\n\t\t\t\t\"defaultInstructions\": \"默认AI指令\",\n\t\t\t\t\"emailGenerationInstructions\": \"邮件生成指令\",\n\t\t\t\t\"instructionsDescription\": \"这些指令将用作生成新邮件时的默认指南。您可以根据需要为单个邮件覆盖这些指令。\"\n\t\t\t},\n\t\t\t\"breadcrumb\": {\n\t\t\t\t\"domain\": \"域名\",\n\t\t\t\t\"editDomain\": \"编辑域名\"\n\t\t\t},\n\t\t\t\"common\": {\n\t\t\t\t\"daysAgo\": \"天前\",\n\t\t\t\t\"noBrandInfo\": \"暂无品牌信息\"\n\t\t\t}\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"正在创建域名，请稍候...\",\n\t\t\t\t\"updating\": \"正在更新域名，请稍候...\",\n\t\t\t\t\"deleting\": \"正在删除域名，请稍候...\",\n\t\t\t\t\"settingSSL\": \"正在设置SSL证书，请稍候...\",\n\t\t\t\t\"refreshingDns\": \"正在刷新DNS记录，请稍候...\",\n\t\t\t\t\"applyingCert\": \"正在申请证书，请稍候...\",\n\t\t\t\t\"settingDefault\": \"正在设置默认域名，请稍候...\",\n\t\t\t\t\"settingBrandInfo\": \"正在设置域名品牌信息，请稍候...\",\n\t\t\t\t\"testingConnection\": \"正在测试连接，请稍候...\",\n\t\t\t\t\"detecting\": \"正在检测，请稍候...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"mailbox\": {\n\t\t\"title\": \"邮箱管理\",\n\t\t\"actions\": {\n\t\t\t\"add\": \"添加邮箱\",\n\t\t\t\"batchAdd\": \"批量添加\",\n\t\t\t\"batchDelete\": \"批量删除\",\n\t\t\t\"exportAll\": \"导出全部\"\n\t\t},\n\t\t\"search\": {\n\t\t\t\"usernamePlaceholder\": \"搜索用户名\"\n\t\t},\n\t\t\"domain\": {\n\t\t\t\"selectPlaceholder\": \"请选择域名\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"username\": \"用户名\",\n\t\t\t\"password\": \"密码\",\n\t\t\t\"loginInfo\": \"登录信息（WebMail / SMTP）\",\n\t\t\t\"quota\": \"配额\",\n\t\t\t\"type\": \"类型\",\n\t\t\t\"status\": \"状态\"\n\t\t},\n\t\t\"userType\": {\n\t\t\t\"admin\": \"管理员\",\n\t\t\t\"general\": \"普通用户\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"添加邮箱\",\n\t\t\t\"editTitle\": \"编辑邮箱\",\n\t\t\t\"batchAddTitle\": \"批量添加\",\n\t\t\t\"exportTitle\": \"导出邮箱\",\n\t\t\t\"importTitle\": \"导入邮箱\",\n\t\t\t\"emailAddress\": \"邮箱地址\",\n\t\t\t\"password\": \"密码\",\n\t\t\t\"passwordPlaceholder\": \"请输入您的邮箱密码\",\n\t\t\t\"quota\": \"配额\",\n\t\t\t\"userType\": \"用户类型\",\n\t\t\t\"status\": \"状态\",\n\t\t\t\"domain\": \"域名\",\n\t\t\t\"prefix\": \"邮箱前缀\",\n\t\t\t\"count\": \"邮箱数量\"\n\t\t},\n\t\t\"validation\": {\n\t\t\t\"emailRequired\": \"请输入邮箱地址\",\n\t\t\t\"passwordLength\": \"密码长度少于8位，请重新输入\",\n\t\t\t\"passwordFormat\": \"密码必须包含至少一个大写字母、一个小写字母和数字，请重新输入\",\n\t\t\t\"domainRequired\": \"请选择域名\",\n\t\t\t\"prefixRequired\": \"请输入邮箱前缀\",\n\t\t\t\"countRequired\": \"请输入邮箱数量\",\n\t\t\t\"fileRequired\": \"请选择上传文件\"\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"删除邮箱\",\n\t\t\t\"confirm\": \"确定要删除邮箱【{name}】吗？\",\n\t\t\t\"batchConfirm\": \"确定删除{count}个邮箱？\"\n\t\t},\n\t\t\"loginInfo\": {\n\t\t\t\"template\": \"WebMail: {webmail}\\n用户名: {username}\\n密码: {password}\\nPOP service [ Address: {mx} Port: 110/995 ]\\nIMAP service [ Address: {mx} Port: 143/993 ]\\nSMTP service [ Address: {mx} Port: 25/465/587 ]\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"creating\": \"正在创建邮箱，请稍候...\",\n\t\t\t\t\"updating\": \"正在更新邮箱，请稍候...\",\n\t\t\t\t\"deleting\": \"正在删除邮箱，请稍候...\",\n\t\t\t\t\"exporting\": \"正在导出邮箱，请稍候...\",\n\t\t\t\t\"importing\": \"正在导入邮箱，请稍候...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"smtp\": {\n\t\t\"title\": \"SMTP中继服务管理\",\n\t\t\"description\": \"管理您的SMTP中继服务，支持多种服务提供商\",\n\t\t\"empty\": \"暂无SMTP中继服务\",\n\t\t\"providers\": {\n\t\t\t\"custom\": \"自定义SMTP\"\n\t\t},\n\t\t\"delete\": {\n\t\t\t\"title\": \"删除中继\",\n\t\t\t\"confirm\": \"确定要删除此中继服务【{name}】吗？\"\n\t\t},\n\t\t\"card\": {\n\t\t\t\"domain\": \"绑定域名\",\n\t\t\t\"server\": \"服务器\",\n\t\t\t\"port\": \"端口\",\n\t\t\t\"username\": \"用户名\",\n\t\t\t\"dnsUpdateRequired\": \"DNS记录需要更新\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"addTitle\": \"添加SMTP\",\n\t\t\t\"editTitle\": \"编辑SMTP\",\n\t\t\t\"remark\": \"备注\",\n\t\t\t\"domain\": \"绑定域名\",\n\t\t\t\"server\": \"SMTP服务器\",\n\t\t\t\"port\": \"SMTP端口\",\n\t\t\t\"username\": \"用户名\",\n\t\t\t\"password\": \"密码\",\n\t\t\t\"authMethod\": \"身份验证\",\n\t\t\t\"advancedFeatures\": \"高级选项\",\n\t\t\t\"testConnection\": \"测试链接\",\n\t\t\t\"bind\": \"【已绑定】\",\n\t\t\t\"skipTlsVerify\": \"是否跳过TLS验证\",\n\t\t\t\"tlsOptions\": {\n\t\t\t\t\"skip\": \"跳过\",\n\t\t\t\t\"noSkip\": \"不跳过\"\n\t\t\t},\n\t\t\t\"validation\": {\n\t\t\t\t\"nameRequired\": \"请输入中继名称\",\n\t\t\t\t\"domainRequired\": \"请选择绑定域名\",\n\t\t\t\t\"serverRequired\": \"请输入SMTP服务器\",\n\t\t\t\t\"portRequired\": \"请输入SMTP端口\",\n\t\t\t\t\"usernameRequired\": \"请输入用户名\",\n\t\t\t\t\"passwordRequired\": \"请输入密码\"\n\t\t\t}\n\t\t},\n\t\t\"status\": {\n\t\t\t\"online\": \"在线\",\n\t\t\t\"offline\": \"离线\"\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"正在添加SMTP，请稍等...\",\n\t\t\t\t\"editing\": \"正在编辑SMTP，请稍等...\",\n\t\t\t\t\"testing\": \"正在测试SMTP连接，请稍等...\",\n\t\t\t\t\"deleting\": \"正在删除SMTP，请稍等...\"\n\t\t\t}\n\t\t}\n\t},\n\t\"settings\": {\n\t\t\"title\": \"系统设置\",\n\t\t\"service\": {\n\t\t\t\"title\": \"服务状态\",\n\t\t\t\"tips\": \"提示：Ctrl+F 搜索关键词，Ctrl+S 保存，Ctrl+H 搜索和替换\",\n\t\t\t\"editTitle\": \"在线编辑 {name}\",\n\t\t\t\"columns\": {\n\t\t\t\t\"name\": \"服务名称\",\n\t\t\t\t\"status\": \"状态\"\n\t\t\t},\n\t\t\t\"status\": {\n\t\t\t\t\"running\": \"运行中\",\n\t\t\t\t\"stopped\": \"已停止\"\n\t\t\t},\n\t\t\t\"restart\": {\n\t\t\t\t\"title\": \"重启服务\",\n\t\t\t\t\"confirm\": \"确定要重启【{name}】吗？\"\n\t\t\t}\n\t\t},\n\t\t\"bcc\": {\n\t\t\t\"title\": \"BCC管理\",\n\t\t\t\"add\": \"添加BCC\",\n\t\t\t\"edit\": \"编辑BCC\",\n\t\t\t\"needCopy\": \"需要复制\",\n\t\t\t\"copyTo\": \"复制到\",\n\t\t\t\"domain\": \"域名\",\n\t\t\t\"type\": \"BCC类型\",\n\t\t\t\"status\": \"状态\",\n\t\t\t\"active\": \"激活\",\n\t\t\t\"types\": {\n\t\t\t\t\"sender\": \"发送时\",\n\t\t\t\t\"recipient\": \"接收时\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"删除BCC [{address}]\",\n\t\t\t\t\"content\": \"是否删除此BCC设置？\"\n\t\t\t},\n\t\t\t\"placeholders\": {\n\t\t\t\t\"needCopy\": \"请输入需要BCC的用户\",\n\t\t\t\t\"copyTo\": \"请输入需要接收BCC的邮箱\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"正在添加BCC，请稍候...\",\n\t\t\t\t\"saving\": \"正在保存BCC，请稍候...\",\n\t\t\t\t\"deleting\": \"正在删除BCC，请稍候...\"\n\t\t\t}\n\t\t},\n\t\t\"forward\": {\n\t\t\t\"add\": \"添加转发\",\n\t\t\t\"edit\": \"编辑转发\",\n\t\t\t\"columns\": {\n\t\t\t\t\"address\": \"地址\",\n\t\t\t\t\"goto\": \"转发至\",\n\t\t\t\t\"domain\": \"域名\",\n\t\t\t\t\"created\": \"创建时间\",\n\t\t\t\t\"modified\": \"修改时间\",\n\t\t\t\t\"status\": \"状态\"\n\t\t\t},\n\t\t\t\"form\": {\n\t\t\t\t\"status\": \"状态\",\n\t\t\t\t\"forwardedUsers\": \"转发用户\",\n\t\t\t\t\"forwardedUsersPlaceholder\": \"输入需要转发的邮箱\",\n\t\t\t\t\"domain\": \"域名\",\n\t\t\t\t\"domainPlaceholder\": \"转发用户的域名\",\n\t\t\t\t\"receivingUser\": \"接收用户\",\n\t\t\t\t\"receivingUserPlaceholder\": \"需要接收转发邮件的用户。如果有多个，请用换行符分隔\"\n\t\t\t},\n\t\t\t\"delete\": {\n\t\t\t\t\"title\": \"删除邮件转发\",\n\t\t\t\t\"content\": \"您确定要删除邮件转发【{address}】吗？\"\n\t\t\t},\n\t\t\t\"loading\": {\n\t\t\t\t\"adding\": \"正在添加邮件转发，请稍候...\",\n\t\t\t\t\"editing\": \"正在编辑邮件转发，请稍候...\",\n\t\t\t\t\"deleting\": \"正在删除邮件转发，请稍候...\"\n\t\t\t}\n\t\t},\n\t\t\"common\": {\n\t\t\t\"confirm\": \"确认修改\",\n\t\t\t\"security\": {\n\t\t\t\t\"title\": \"账户安全设置\",\n\t\t\t\t\"username\": \"修改用户名\",\n\t\t\t\t\"currentUsername\": \"当前用户名\",\n\t\t\t\t\"newUsernamePlaceholder\": \"输入新用户名\",\n\t\t\t\t\"usernameRule\": \"4-20位字母数字组合\",\n\t\t\t\t\"usernameExists\": \"用户名已存在\",\n\t\t\t\t\"changePassword\": \"修改密码\",\n\t\t\t\t\"currentPassword\": \"当前密码\",\n\t\t\t\t\"newPassword\": \"新密码\",\n\t\t\t\t\"confirmPassword\": \"确认新密码\",\n\t\t\t\t\"passwordStrength\": \"密码强度\",\n\t\t\t\t\"passwordMismatch\": \"两次输入的密码不一致\",\n\t\t\t\t\"strength\": {\n\t\t\t\t\t\"weak\": \"弱\",\n\t\t\t\t\t\"medium\": \"中\",\n\t\t\t\t\t\"strong\": \"强\"\n\t\t\t\t},\n\t\t\t\t\"securityPath\": \"修改安全入口\",\n\t\t\t\t\"currentPath\": \"当前入口路径\",\n\t\t\t\t\"newPathPlaceholder\": \"输入新路径，如admin-abc123\",\n\t\t\t\t\"pathRule\": \"建议使用复杂路径增强安全性\",\n\t\t\t\t\"usernameValidation\": {\n\t\t\t\t\t\"lengthError\": \"用户名长度不能小于4位，不能大于20位\",\n\t\t\t\t\t\"formatError\": \"用户名必须由字母、数字或下划线组成\",\n\t\t\t\t\t\"duplicateError\": \"用户名不能与当前用户名相同\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"network\": {\n\t\t\t\t\"title\": \"网络配置\",\n\t\t\t\t\"domain\": \"域名设置\",\n\t\t\t\t\"currentDomain\": \"控制台的访问域名\",\n\t\t\t\t\"newDomainPlaceholder\": \"输入新域名，如admin.yourdomain.com\",\n\t\t\t\t\"domainRule\": \"请输入有效的域名\",\n\t\t\t\t\"ssl\": \"SSL证书配置\",\n\t\t\t\t\"sslEnabled\": \"SSL已启用\",\n\t\t\t\t\"certStatus\": \"证书状态\",\n\t\t\t\t\"certValid\": \"（剩余 {days} 天）\",\n\t\t\t\t\"sslCert\": \"SSL证书 (PEM格式)\",\n\t\t\t\t\"sslKey\": \"私钥 (PEM格式)\",\n\t\t\t\t\"certPlaceholder\": \"-----BEGIN CERTIFICATE-----\\nMIIFazCCA1OgAwIBAgIURv...\\n-----END CERTIFICATE-----\",\n\t\t\t\t\"keyPlaceholder\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG...\\n-----END PRIVATE KEY-----\",\n\t\t\t\t\"updateSSL\": \"更新SSL证书\",\n\t\t\t\t\"certValidStatus\": \"证书有效\",\n\t\t\t\t\"certExpiredStatus\": \"证书过期\",\n\t\t\t\t\"certExpireTime\": \"证书到期：{time}\"\n\t\t\t},\n\t\t\t\"system\": {\n\t\t\t\t\"title\": \"系统配置\",\n\t\t\t\t\"port\": \"端口设置\",\n\t\t\t\t\"currentPort\": \"当前端口\",\n\t\t\t\t\"terminalRequired\": \"此设置需要终端操作\",\n\t\t\t\t\"copyCommand\": \"复制以上命令并在服务器终端执行\",\n\t\t\t\t\"commandCopied\": \"命令已复制到剪贴板\",\n\t\t\t\t\"timezone\": \"时区设置\",\n\t\t\t\t\"currentTime\": \"当前系统时区\"\n\t\t\t},\n\t\t\t\"ipWhitelist\": {\n\t\t\t\t\"title\": \"IP白名单\",\n\t\t\t\t\"enable\": \"启用\",\n\t\t\t\t\"disable\": \"关闭\",\n\t\t\t\t\"add\": \"添加\",\n\t\t\t\t\"clear\": \"清空\",\n\t\t\t\t\"description\": \"仅允许列表中的IP访问，终端命令关闭: bm.sh cancel-ip-limit\",\n\t\t\t\t\"placeholder\": \"请输入IP地址\",\n\t\t\t\t\"validation\": {\n\t\t\t\t\t\"ipRequired\": \"请输入IP地址\"\n\t\t\t\t},\n\t\t\t\t\"confirm\": {\n\t\t\t\t\t\"deleteTitle\": \"删除IP白名单\",\n\t\t\t\t\t\"deleteContent\": \"确认删除IP白名单: {ip}\",\n\t\t\t\t\t\"enableTitle\": \"开启IP白名单\",\n\t\t\t\t\t\"disableTitle\": \"关闭IP白名单\",\n\t\t\t\t\t\"enableContent\": \"确认开启IP白名单, 开启后只有白名单中的IP地址可以访问\",\n\t\t\t\t\t\"disableContent\": \"确认关闭IP白名单, 关闭后所有IP地址都可以访问\",\n\t\t\t\t\t\"clearTitle\": \"清空IP白名单\",\n\t\t\t\t\t\"clearContent\": \"确认清空IP白名单, 清空后所有IP地址都可以访问\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"proxy\": {\n\t\t\t\t\"title\": \"反向代理\",\n\t\t\t\t\"description\": \"反向代理地址，用于对外暴露地址时使用，例如：订阅列表、退订邮件等\",\n\t\t\t\t\"placeholder\": \"请输入反向代理地址\",\n\t\t\t\t\"formatTip\": \"格式为：https://example.com\",\n\t\t\t\t\"reset\": \"重置\",\n\t\t\t\t\"resetConfirm\": {\n\t\t\t\t\t\"title\": \"重置反向代理\",\n\t\t\t\t\t\"content\": \"确认重置反向代理吗？\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"api\": {\n\t\t\t\t\"title\": \"API Settings\",\n\t\t\t\t\"enableApi\": \"开启API\",\n\t\t\t\t\"apiDocUrl\": \"API文档地址\",\n\t\t\t\t\"swaggerUrl\": \"Swagger地址\",\n\t\t\t\t\"token\": \"Token\",\n\t\t\t\t\"confirm\": {\n\t\t\t\t\t\"enable\": \"开启API\",\n\t\t\t\t\t\"disable\": \"关闭API\",\n\t\t\t\t\t\"enableContent\": \"是否开启API设置？\",\n\t\t\t\t\t\"disableContent\": \"是否关闭API设置？\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"notifySettings\": {\n\t\t\t\t\"title\": \"通知设置\",\n\t\t\t\t\"blacklist\": {\n\t\t\t\t\t\"title\": \"当IP/域名被列入黑名单时通知我\",\n\t\t\t\t\t\"alarmSet\": \"告警设置\",\n\t\t\t\t\t\"alarmSettings\": {\n\t\t\t\t\t\t\"title\": \"告警设置\",\n\t\t\t\t\t\t\"name\": \"名称\",\n\t\t\t\t\t\t\"senderEmail\": \"发送人邮箱\",\n\t\t\t\t\t\t\"smtpPassword\": \"SMTP密码\",\n\t\t\t\t\t\t\"smtpServer\": \"SMTP服务器\",\n\t\t\t\t\t\t\"port\": \"端口\",\n\t\t\t\t\t\t\"recipientEmail\": \"收件人邮箱\"\n\t\t\t\t\t},\n\t\t\t\t\t\"autoCheck\": {\n\t\t\t\t\t\t\"title\": \"自动检测黑名单\",\n\t\t\t\t\t\t\"confirm\": {\n\t\t\t\t\t\t\t\"enableTitle\": \"开启黑名单自动检测\",\n\t\t\t\t\t\t\t\"disableTitle\": \"关闭黑名单自动检测\",\n\t\t\t\t\t\t\t\"enableContent\": \"确定要开启自动检测黑名单服务吗？\",\n\t\t\t\t\t\t\t\"disableContent\": \"确定要关闭自动检测黑名单服务吗？\"\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\t\"retention\": {\n\t\t\t\t\"title\": \"邮件保留时间\",\n\t\t\t\t\"currentDays\": \"{days}天\",\n\t\t\t\t\"trashHint\": \"垃圾箱邮件保留时间\",\n\t\t\t\t\"day\": \"天\"\n\t\t\t}\n\t\t},\n\t\t\"api\": {\n\t\t\t\"loading\": {\n\t\t\t\t\"restarting\": \"正在重启服务，请稍候...\",\n\t\t\t\t\"saving\": \"正在保存配置，请稍候...\",\n\t\t\t\t\"setting\": \"正在设置，请稍候...\",\n\t\t\t\t\"settingSSL\": \"正在设置SSL，请稍候...\",\n\t\t\t\t\"applyingCert\": \"正在申请证书，请稍候...\",\n\t\t\t\t\"adding\": \"正在添加，请稍候...\",\n\t\t\t\t\"deleting\": \"正在删除，请稍候...\",\n\t\t\t\t\"clearing\": \"正在清空，请稍候...\"\n\t\t\t}\n\t\t},\n\t\t\"aiModel\": {\n\t\t\t\"modelId\": \"模型ID\",\n\t\t\t\"modelAlias\": \"模型别名\",\n\t\t\t\"modelFeature\": \"模型功能\",\n\t\t\t\"contentLength\": \"最大上下文长度\",\n\t\t\t\"supplierTitle\": \"服务商标题\",\n\t\t\t\"supplierName\": \"服务商名称\",\n\t\t\t\"cancel\": \"取消\",\n\t\t\t\"confirm\": \"确认\",\n\t\t\t\"aPIKey\": \"API密钥\",\n\t\t\t\"apiPath\": \"API地址\",\n\t\t\t\"check\": \"检查\",\n\t\t\t\"getKey\": \"点击获取API密钥\",\n\t\t\t\"example\": \"示例\",\n\t\t\t\"saveAPI\": \"保存API\",\n\t\t\t\"model\": \"模型\",\n\t\t\t\"byDefault\": \"默认从/models获取所有模型\",\n\t\t\t\"addModel\": \"添加模型\"\n\t\t}\n\t},\n\t\"logs\": {\n\t\t\"title\": \"日志\",\n\t\t\"table\": {\n\t\t\t\"columns\": {\n\t\t\t\t\"username\": \"用户名\",\n\t\t\t\t\"type\": \"类型\",\n\t\t\t\t\"operatingTime\": \"操作时间\",\n\t\t\t\t\"details\": \"详情\"\n\t\t\t}\n\t\t},\n\t\t\"filter\": {\n\t\t\t\"all\": \"全部\"\n\t\t},\n\t\t\"search\": {\n\t\t\t\"placeholder\": \"请输入详情/IP搜索\"\n\t\t}\n\t},\n\t\"api\": {\n\t\t\"title\": \"发件API\",\n\t\t\"timeRange\": \"时间范围：\",\n\t\t\"status\": \"状态：\",\n\t\t\"search\": \"搜索：\",\n\t\t\"searchPlaceholder\": \"请输入API名称\",\n\t\t\"refreshData\": \"刷新数据\",\n\t\t\"createNew\": \"新建API\",\n\t\t\"statusOptions\": {\n\t\t\t\"all\": \"全部\",\n\t\t\t\"active\": \"可用\",\n\t\t\t\"inactive\": \"停用\"\n\t\t},\n\t\t\"columns\": {\n\t\t\t\"apiName\": \"API名称\",\n\t\t\t\"apiKey\": \"API密钥\",\n\t\t\t\"sendCount\": \"发送量\",\n\t\t\t\"openRate\": \"打开率\",\n\t\t\t\"clickRate\": \"点击率\",\n\t\t\t\"bounceRate\": \"退信率\",\n\t\t\t\"status\": \"状态\"\n\t\t},\n\t\t\"statusLabels\": {\n\t\t\t\"active\": \"可用\",\n\t\t\t\"inactive\": \"停用\"\n\t\t},\n\t\t\"confirmDelete\": {\n\t\t\t\"title\": \"删除API【{apiName}】\",\n\t\t\t\"content\": \"确认删除该API吗？\"\n\t\t},\n\t\t\"overview\": {\n\t\t\t\"totalSend\": \"发送总量\",\n\t\t\t\"avgOpenRate\": \"平均打开率\",\n\t\t\t\"avgClickRate\": \"平均点击率\",\n\t\t\t\"avgBounceRate\": \"平均退信率\"\n\t\t},\n\t\t\"form\": {\n\t\t\t\"apiName\": \"API名称\",\n\t\t\t\"status\": \"状态\",\n\t\t\t\"ipWhitelist\": \"IP白名单\",\n\t\t\t\"apiNamePlaceholder\": \"请输入API名称\",\n\t\t\t\"ipWhitelistPlaceholder\": \"多个IP用逗号分隔，为空则不限制\",\n\t\t\t\"advancedFeatures\": \"高级功能\",\n\t\t\t\"group\": {\n\t\t\t\t\"label\": \"收件人分组\",\n\t\t\t\t\"tips\": {\n\t\t\t\t\t\"choose\": \"选择分组：所有通过此 API 添加的新联系人，都会被自动放进您选定的组里。\",\n\t\t\t\t\t\"autoCreate\": \"不选择分组：系统会自动为这个 API 创建一个全新的、独立的联系人组，用于存放所有新联系人。\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"validation\": {\n\t\t\t\t\"apiNameRequired\": \"请输入API名称\",\n\t\t\t\t\"addresserRequired\": \"请选择发送者\",\n\t\t\t\t\"templateRequired\": \"请选择模板\"\n\t\t\t},\n\t\t\t\"title\": {\n\t\t\t\t\"edit\": \"编辑API\",\n\t\t\t\t\"add\": \"新建API\"\n\t\t\t}\n\t\t},\n\t\t\"loading\": {\n\t\t\t\"creating\": \"正在创建，请稍候...\",\n\t\t\t\"updating\": \"正在编辑，请稍候...\",\n\t\t\t\"deleting\": \"正在删除，请稍候...\",\n\t\t\t\"testing\": \"正在测试，请稍候...\"\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/index.ts",
    "content": "import { createApp } from 'vue'\nimport i18n from '@/i18n'\nimport pinia from '@/store'\nimport router from '@/router'\nimport App from '@/App.vue'\n\nimport '@unocss/reset/normalize.css'\nimport 'uno.css'\nimport '@/styles/index.scss'\n\nconst app = createApp(App)\n\napp.use(i18n)\napp.use(pinia)\napp.use(router)\napp.mount('#root')\n\nexport { app }\n"
  },
  {
    "path": "core/frontend/src/layout/components/AppHeader.vue",
    "content": "<template>\n\t<n-layout-header ref=\"headerRef\" :style=\"{ top: `${top}px` }\">\n\t\t<div class=\"header-left\">\n\t\t\t<n-button class=\"icon-btn\" :bordered=\"false\" @click=\"handleCollapse\">\n\t\t\t\t<i class=\"icon\" :class=\"isCollapse ? 'i-mdi-menu-close' : 'i-mdi-menu-open'\"></i>\n\t\t\t</n-button>\n\t\t\t<n-button type=\"primary\" text class=\"text-14px\" @click=\"handleGoIssues\">\n\t\t\t\t{{ t('layout.header.submit') }}\n\t\t\t\t<i class=\"i-mdi:arrow-right ml-1px\"></i>\n\t\t\t</n-button>\n\t\t</div>\n\n\t\t<div class=\"header-right\">\n\t\t\t<n-button class=\"icon-btn\" :bordered=\"false\" @click=\"handleSetTheme\">\n\t\t\t\t<i class=\"icon\" :class=\"theme === 'light' ? 'i-ri-sun-line' : 'i-ri-moon-line'\"></i>\n\t\t\t</n-button>\n\t\t\t<n-dropdown\n\t\t\t\tv-if=\"langOptions.length > 0\"\n\t\t\t\tsize=\"large\"\n\t\t\t\t:options=\"langOptions\"\n\t\t\t\t@select=\"handleLangAction\">\n\t\t\t\t<n-button class=\"icon-btn\" :bordered=\"false\">\n\t\t\t\t\t<i class=\"icon i-mdi-language text-20px\"></i>\n\t\t\t\t</n-button>\n\t\t\t</n-dropdown>\n\t\t\t<n-dropdown size=\"large\" :options=\"userOptions\" @select=\"handleUserAction\">\n\t\t\t\t<n-button class=\"icon-btn\" :bordered=\"false\">\n\t\t\t\t\t<i class=\"icon i-mdi-user-outline\"></i>\n\t\t\t\t</n-button>\n\t\t\t</n-dropdown>\n\t\t\t<n-button type=\"primary\" text class=\"text-14px\" @click=\"handleGoVersion\">\n\t\t\t\t{{ version }}\n\t\t\t</n-button>\n\t\t</div>\n\t</n-layout-header>\n</template>\n\n<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport { DropdownOption } from 'naive-ui'\nimport { useUserStore, useGlobalStore, useThemeStore } from '@/store'\nimport { getVersionInfo } from '@/api/modules/settings'\nimport { isObject } from '@/utils'\n\ndefineProps({\n\ttop: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n})\n\nconst { t } = useI18n()\n\nconst version = ref('--')\n\nconst userStore = useUserStore()\n\nconst globalStore = useGlobalStore()\nconst { isCollapse, langList } = storeToRefs(globalStore)\n\nconst themeStore = useThemeStore()\nconst { theme } = storeToRefs(themeStore)\n\nconst handleCollapse = () => {\n\tglobalStore.setCollapse()\n}\n\nconst handleGoIssues = () => {\n\twindow.open('https://github.com/aaPanel/BillionMail/issues')\n}\n\nconst langOptions = ref<DropdownOption[]>([])\n\nconst userOptions = ref<DropdownOption[]>([\n\t{\n\t\tlabel: t('layout.menu.logout'),\n\t\tkey: 'logout',\n\t},\n])\n\nconst handleSetTheme = () => {\n\tthemeStore.setTheme(theme.value === 'dark' ? 'light' : 'dark')\n}\n\nconst handleLangAction = async (key: string) => {\n\tawait globalStore.setLang(key)\n\twindow.location.reload()\n}\n\nconst handleUserAction = (key: string) => {\n\tswitch (key) {\n\t\tcase 'logout':\n\t\t\tuserStore.logout()\n\t\t\tbreak\n\t}\n}\n\nconst handleGoVersion = () => {\n\twindow.open('https://github.com/aaPanel/BillionMail/releases')\n}\n\nconst getLangOptions = async () => {\n\tlangOptions.value = langList.value.map(item => {\n\t\treturn {\n\t\t\tlabel: item.cn,\n\t\t\tkey: item.name,\n\t\t}\n\t})\n}\n\nconst getVersion = async () => {\n\tconst res = await getVersionInfo()\n\tif (isObject<{ version: string }>(res)) {\n\t\tversion.value = `v${res.version}`\n\t}\n}\n\nonMounted(() => {\n\tgetVersion()\n\tgetLangOptions()\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.n-layout-header {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\theight: 48px;\n\tpadding: 0 20px 0 12px;\n\tbox-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n\tz-index: 1000;\n}\n\n.header-left,\n.header-right {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n}\n\n.header-item {\n\tcolor: var(--color-text-4);\n\tfont-size: 14px;\n\ttext-align: center;\n\tfont-weight: 600;\n}\n\n.icon-btn {\n\t--n-width: 42px;\n\t--n-height: 48px;\n\t--n-padding: 0;\n\t--n-font-size: 22px;\n\t--n-text-color: var(--color-text-4);\n\t--n-ripple-color: none;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/layout/components/AppMain.vue",
    "content": "<template>\n\t<router-view :key=\"key\" v-slot=\"{ Component, route }\">\n\t\t<component :is=\"Component\" :key=\"route.path\" />\n\t</router-view>\n</template>\n\n<script lang=\"ts\" setup>\nconst key = computed(() => {\n\treturn Math.random()\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/layout/components/Sidebar.vue",
    "content": "<template>\n\t<n-layout-sider\n\t\tcollapse-mode=\"width\"\n\t\t:collapsed=\"isCollapse\"\n\t\t:width=\"200\"\n\t\t:collapsed-width=\"64\"\n\t\t:content-style=\"{\n\t\t\tdisplay: 'flex',\n\t\t\tflexDirection: 'column',\n\t\t\theight: '100%',\n\t\t\toverflow: 'hidden',\n\t\t}\">\n\t\t<!-- 应用标志和名称 -->\n\t\t<div class=\"app-logo\" :class=\"{ collapse: isCollapse }\">\n\t\t\t<a href=\"/\">\n\t\t\t\t<img class=\"icon\" src=\"@/assets/images/logo.png\"></img>\n\t\t\t\t<span v-show=\"!isCollapse\" class=\"app-name\">BillionMail</span>\n\t\t\t</a>\n\t\t</div>\n\n\t\t<!-- 导航菜单 -->\n\t\t<div class=\"nav-section\">\n\t\t\t<n-menu\n\t\t\t\t:value=\"activeMenuKey\"\n\t\t\t\t:collapsed=\"isCollapse\"\n\t\t\t\t:collapsed-width=\"64\"\n\t\t\t\t:options=\"menuOptions\"\n\t\t\t\t:root-indent=\"24\"\n\t\t\t\t@update:value=\"handleUpdateMenu\">\n\t\t\t</n-menu>\n\t\t</div>\n\t\t<!-- 退出登录 -->\n\t\t<div class=\"footer-section\">\n\t\t\t<n-menu\n\t\t\t\tvalue=\"\"\n\t\t\t\t:collapsed=\"isCollapse\"\n\t\t\t\t:collapsed-width=\"64\"\n\t\t\t\t:options=\"logoutOptions\"\n\t\t\t\t:root-indent=\"24\"\n\t\t\t\t@update:value=\"handleUpdateMenu\">\n\t\t\t</n-menu>\n\t\t</div>\n\t</n-layout-sider>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { VNodeChild } from 'vue'\nimport { MenuOption } from 'naive-ui'\nimport { storeToRefs } from 'pinia'\nimport { RouterLink } from 'vue-router'\nimport { useMenuStore, useGlobalStore, useUserStore } from '@/store'\nimport { menuList } from '@/router/router'\n\nconst { t } = useI18n()\n\nconst route = useRoute()\n\nconst menuStore = useMenuStore()\nconst userStore = useUserStore()\nconst globalStore = useGlobalStore()\n\nconst { isCollapse } = storeToRefs(globalStore)\n\n// 当前菜单名称\nconst activeMenuKey = computed(() => {\n\treturn String(route.meta?.key || '')\n})\n\n// 路由菜单\nconst routerMenus = computed(() => {\n\treturn menuStore.menuList.filter(route => route.meta && !route.meta.hidden)\n})\n\n// 导航菜单选项\nconst menuOptions = computed(() => {\n\treturn routerMenus.value.map(route => {\n\t\tconst name = String(route.children?.[0]?.name || '')\n\t\tconst key = String(route.meta?.key || '')\n\t\tconst titleKey = String(route.meta?.titleKey || '')\n\t\tconst title = titleKey ? t(titleKey) : String(route.meta?.title || '')\n\t\treturn {\n\t\t\tkey,\n\t\t\tlabel: () => renderLabel(name, title),\n\t\t\ticon: () => renderIcon(key),\n\t\t}\n\t})\n})\n\nconst logoutOptions = ref<MenuOption[]>([\n\t{\n\t\tkey: 'logout',\n\t\tlabel: () => <span class=\"ml-10px\">{t('layout.menu.logout')}</span>,\n\t\ticon: () => renderIcon('logout'),\n\t},\n])\n\nconst renderLabel = (name: string, title: string) => {\n\treturn (\n\t\t<RouterLink class=\"flex items-center\" to={{ name }}>\n\t\t\t<span>{title}</span>\n\t\t</RouterLink>\n\t)\n}\n\nconst iconMap: Record<string, VNodeChild> = {\n\toverview: <i class=\"i-mdi-web\"></i>,\n\tmarket: <i class=\"i-mdi-email-fast-outline\"></i>,\n\tapi: <i class=\"i-mdi-chart-line\"></i>,\n\tcontacts: <i class=\"i-mdi-user-multiple-outline\"></i>,\n\tdomain: <i class=\"i-mdi-web\"></i>,\n\tmailbox: <i class=\"i-custom:mailbox\"></i>,\n\tsmtp: <i class=\"i-custom:smtp\"></i>,\n\tsettings: <i class=\"i-mdi-settings-outline\"></i>,\n\ttemplate: <i class=\"i-mdi-settings-outline\"></i>,\n\tlogs: <i class=\"i-icon-park-outline:log\"></i>,\n\tlogout: <i class=\"i-mdi-logout\"></i>,\n}\n\nconst renderIcon = (key: string) => {\n\treturn iconMap[key]\n}\n\nconst handleUpdateMenu = (key: string) => {\n\tif (key === 'logout') {        \n\t\tuserStore.logout()\n\t}\n\tif (key === 'webmail') {\n\t\tconst route = routerMenus.value.find(item => item.meta?.key === 'webmail')\n\t\tif (route) {\n\t\t\tconst href = String(route.meta?.href)\n\t\t\twindow.open(href)\n\t\t}\n\t}\n}\n\nonMounted(() => {\n\tmenuStore.setMenuList(menuList)\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.n-layout-sider {\n\tbox-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);\n\tz-index: 1010;\n}\n\n.app-logo {\n\tdisplay: flex;\n\tpadding: 16px 24px;\n\tborder-bottom: 1px solid var(--color-border-1);\n\ttransition: all 0.3s ease;\n\n\t&.collapse {\n\t\tjustify-content: center;\n\t\tpadding: 16px 0;\n\t}\n\n\ta {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 10px;\n\t}\n\n\t.icon {\n\t\twidth: 36px;\n\t}\n\t\n\t.app-name {\n\t\tfont-size: 19px;\n\t\tfont-weight: bold;\n\t\tcolor: var(--color-text-5);\n\t}\n}\n\n.nav-section {\n\tflex: 1;\n\toverflow: auto;\n}\n\n.footer-section {\n\tborder-top: 1px solid var(--color-border-1);\n\ttransition: all 0.3s ease;\n}\n\n.n-menu {\n\t--n-item-height: 48px;\n\t--n-font-size: 14px;\n\tpadding: 16px 0;\n\n\t:deep(.n-menu-item) {\n\t\tmargin-top: 0;\n\t\tmargin-bottom: 8px;\n\n\t\t&:last-of-type {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t.n-menu-item-content {\n\t\t\tpadding-right: 24px;\n\t\t\tline-height: 24px;\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/layout/components/index.ts",
    "content": "export { default as Sidebar } from './Sidebar.vue'\nexport { default as AppMain } from './AppMain.vue'\nexport { default as AppHeader } from './AppHeader.vue'\n"
  },
  {
    "path": "core/frontend/src/layout/index.vue",
    "content": "<template>\n\t<n-layout class=\"w-full h-full\" has-sider>\n\t\t<sidebar></sidebar>\n\t\t<n-layout :content-style=\"{ position: 'relative', paddingTop: '48px' }\" @scroll=\"handleScroll\">\n\t\t\t<app-header :top=\"scrollTop\"></app-header>\n\t\t\t<app-main></app-main>\n\t\t</n-layout>\n\t</n-layout>\n</template>\n\n<script lang=\"ts\" setup>\nimport { Sidebar, AppHeader, AppMain } from './components'\n\nconst scrollTop = ref(0)\n\nconst handleScroll = (e: Event) => {\n\tscrollTop.value = (e.target as HTMLElement).scrollTop || 0\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/router/constant.ts",
    "content": "/**\n * @description Default layout\n */\nexport const Layout = () => import('@/layout/index.vue')\n"
  },
  {
    "path": "core/frontend/src/router/index.ts",
    "content": "import { useGlobalStore, useUserStore } from '@/store'\nimport { setLanguage } from '@/i18n'\nimport { clearPendingRequests } from '@/api'\nimport { routes } from '@/router/router'\nimport router from '@/router/router'\nimport loadingBar from '@/config/loadingBar'\n\n// Route white list\nconst whitePathList = ['/login']\n\nrouter.beforeEach(async (to, from, next) => {\n\tloadingBar.start()\n\n\tclearPendingRequests()\n\n\tconst globalStore = useGlobalStore()\n\n\t// Set the language\n\ttry {\n\t\tawait globalStore.getLang()\n\t\tsetLanguage(globalStore.lang)\n\t} catch {\n\t\tsetLanguage(globalStore.lang)\n\t}\n\n\t// Check if the visited route exists in the registered routes\n\tconst routeExists = routes.some(route => route.path === to.path)\n\n\t// If the route does not exist, go directly\n\tif (!routeExists) {\n\t\tnext()\n\t\treturn\n\t}\n\n\tconst userStore = useUserStore()\n\n\t// User is logged in\n\tif (userStore.isLogin) {\n\t\t// If the visited route is in the white list, jump to the home page\n\t\tif (whitePathList.includes(to.path)) {\n\t\t\tnext('/')\n\t\t} else {\n\t\t\tnext()\n\t\t}\n\t} else if (whitePathList.includes(to.path)) {\n\t\t// If the visited route is in the white list, go directly\n\t\tnext()\n\t} else {\n\t\tnext('/login')\n\t}\n})\n\nrouter.afterEach(() => {\n\tloadingBar.finish()\n})\n\nexport default router\n"
  },
  {
    "path": "core/frontend/src/router/modules/api.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/send',\n\tcomponent: Layout,\n\tmeta: { sort: 3, key: 'api', title: 'Send API', titleKey: 'layout.menu.sendApi' },\n\tchildren: [\n\t\t{\n\t\t\tpath: '/send',\n\t\t\tname: 'Api',\n\t\t\tcomponent: () => import('@/views/api/index.vue'),\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/automation.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/automation',\n\tcomponent: Layout,\n\tmeta: {\n\t\tsort: 3,\n\t\tkey: 'automation',\n\t\ttitle: 'Automation',\n\t\ticon: 'i-mdi-refresh-auto',\n\t\thidden: true,\n\t},\n\tchildren: [\n\t\t{\n\t\t\tpath: '/automation',\n\t\t\tname: 'Automation',\n\t\t\tcomponent: () => import('@/views/automation/index.vue'),\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/contacts.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/contacts',\n\tredirect: '/contacts/group',\n\tname: 'ContactsLayout',\n\tcomponent: Layout,\n\tmeta: {\n\t\tsort: 4,\n\t\tkey: 'contacts',\n\t\ttitle: 'Contacts',\n\t\ttitleKey: 'layout.menu.contacts',\n\t},\n\tchildren: [\n\t\t{\n\t\t\tpath: '/contacts',\n\t\t\tname: 'Contacts',\n\t\t\tredirect: '/contacts/group',\n\t\t\tcomponent: () => import('@/views/contacts/index.vue'),\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: 'group',\n\t\t\t\t\tname: 'ContactsGroup',\n\t\t\t\t\tmeta: { title: 'Group', titleKey: 'layout.menu.group' },\n\t\t\t\t\tcomponent: () => import('@/views/contacts/group/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'subscribers',\n\t\t\t\t\tname: 'ContactsSubscribers',\n\t\t\t\t\tmeta: { title: 'Subscribers', titleKey: 'layout.menu.subscribers' },\n\t\t\t\t\tcomponent: () => import('@/views/contacts/subscribers/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'suspend',\n\t\t\t\t\tname: 'ContactsSuspend',\n\t\t\t\t\tmeta: { title: 'Suspend List', titleKey: '' },\n\t\t\t\t\tcomponent: () => import('@/views/contacts/suspend/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'tags',\n\t\t\t\t\tname: 'ContactsTags',\n\t\t\t\t\tmeta: { title: 'Tags', titleKey: '' },\n\t\t\t\t\tcomponent: () => import('@/views/contacts/tags/index.vue'),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: 'settings/:id',\n\t\t\tname: 'ContactsSettings',\n\t\t\tmeta: { title: 'Settings', titleKey: '' },\n\t\t\tcomponent: () => import('@/views/contacts/settings/index.vue'),\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/domain.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/domain',\n\tcomponent: Layout,\n\tmeta: { sort: 5, key: 'domain', title: 'MailDomain', titleKey: 'layout.menu.domain' },\n\tchildren: [\n\t\t{\n\t\t\tpath: '/domain',\n\t\t\tname: 'Domain',\n\t\t\tcomponent: () => import('@/views/domain/index.vue'),\n\t\t},\n\t\t{\n\t\t\tpath: 'edit-domain/:domain',\n\t\t\tname: 'EditDomain',\n\t\t\tcomponent: () => import('@/views/domain/pages/editDomain/index.vue'),\n\t\t},\n\t],\n}\n  \nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/logs.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/logs',\n\tredirect: '/logs/operation',\n\tcomponent: Layout,\n\tmeta: { key: 'logs', title: 'Logs', titleKey: 'layout.menu.logs' },\n\tchildren: [\n\t\t{\n\t\t\tpath: '/logs',\n\t\t\tredirect: '/logs/operation',\n\t\t\tname: 'Logs',\n\t\t\tcomponent: () => import('@/views/logs/index.vue'),\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: 'operation',\n\t\t\t\t\tname: 'Operation Logs',\n\t\t\t\t\tmeta: { title: 'Operation logs', titleKey: '' },\n\t\t\t\t\tcomponent: () => import('@/views/logs/operate/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'error',\n\t\t\t\t\tname: 'Error Logs',\n\t\t\t\t\tmeta: { title: 'Error logs', titleKey: '' },\n\t\t\t\t\tcomponent: () => import('@/views/logs/error/index.vue'),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/mailbox.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/mailbox',\n\tcomponent: Layout,\n\tmeta: {\n\t\tsort: 6,\n\t\tkey: 'mailbox',\n\t\ttitle: 'MailBoxes',\n\t\ttitleKey: 'layout.menu.mailboxes',\n\t},\n\tchildren: [\n\t\t{\n\t\t\tpath: '/mailbox',\n\t\t\tname: 'Mailbox',\n\t\t\tcomponent: () => import('@/views/mailbox/index.vue'),\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/market.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/market',\n\tredirect: '/market/task',\n\tname: 'MarketLayout',\n\tcomponent: Layout,\n\tmeta: {\n\t\tkey: 'market',\n\t\ttitle: 'Email Marketing',\n\t\ttitleKey: 'layout.menu.market',\n\t},\n\tchildren: [\n\t\t{\n\t\t\tpath: '/market',\n\t\t\tredirect: '/market/task',\n\t\t\tname: 'Market',\n\t\t\tcomponent: () => import('@/views/market/index.vue'),\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: 'task',\n\t\t\t\t\tname: 'MarketTask',\n\t\t\t\t\tmeta: { title: 'Task', titleKey: 'layout.menu.task' },\n\t\t\t\t\tcomponent: () => import('@/views/market/task/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'template',\n\t\t\t\t\tname: 'MarketTemplate',\n\t\t\t\t\tmeta: { title: 'Template', hidden: true, titleKey: 'layout.menu.template' },\n\t\t\t\t\tcomponent: () => import('@/views/market/template/index.vue'),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: 'task/edit',\n\t\t\tname: 'MarketTaskEdit',\n\t\t\tmeta: { title: 'Task', hidden: true },\n\t\t\tcomponent: () => import('@/views/market/task/edit.vue'),\n\t\t},\n\t\t{\n\t\t\tpath: 'task/analytics/:id',\n\t\t\tname: 'MarketTaskAnalytics',\n\t\t\tmeta: { title: 'Analytics', hidden: true },\n\t\t\tcomponent: () => import('@/views/market/task/analytics.vue'),\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/overview.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/overview',\n\tcomponent: Layout,\n\tmeta: { sort: 0, key: 'overview', title: 'Overview', titleKey: 'layout.menu.overview' },\n\tchildren: [\n\t\t{\n\t\t\tpath: '/overview',\n\t\t\tname: 'Overview',\n\t\t\tcomponent: () => import('@/views/overview/index.vue'),\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/settings.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/settings',\n\tname: 'SettingsLayout',\n\tredirect: '/settings/common',\n\tmeta: { sort: 9, key: 'settings', title: 'Settings', titleKey: 'layout.menu.settings' },\n\tcomponent: Layout,\n\tchildren: [\n\t\t{\n\t\t\tpath: '/settings',\n\t\t\tname: 'Settings',\n\t\t\tredirect: '/settings/common',\n\t\t\tcomponent: () => import('@/views/settings/index.vue'),\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: 'common',\n\t\t\t\t\tname: 'SettingsCommon',\n\t\t\t\t\tmeta: { title: 'Common', titleKey: 'layout.menu.common' },\n\t\t\t\t\tcomponent: () => import('@/views/settings/common/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'service',\n\t\t\t\t\tname: 'SettingsService',\n\t\t\t\t\tmeta: { title: 'Service', titleKey: 'layout.menu.service' },\n\n\t\t\t\t\tcomponent: () => import('@/views/settings/service/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'bcc',\n\t\t\t\t\tname: 'SettingsBcc',\n\t\t\t\t\tmeta: { title: 'BCC', titleKey: 'layout.menu.bcc' },\n\t\t\t\t\tcomponent: () => import('@/views/settings/bcc/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'forward',\n\t\t\t\t\tname: 'SettingsForward',\n\t\t\t\t\tmeta: { title: 'Forward', titleKey: 'layout.menu.forward' },\n\t\t\t\t\tcomponent: () => import('@/views/settings/forward/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'ai-model',\n\t\t\t\t\tname: 'AiModel',\n\t\t\t\t\tmeta: { title: 'AI Model', titleKey: '' },\n\t\t\t\t\tcomponent: () => import('@/views/settings/ai-model/index.vue'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'send-queue',\n\t\t\t\t\tname: 'SendQueue',\n\t\t\t\t\tmeta: { title: 'Send Queue', titleKey: '' },\n\t\t\t\t\tcomponent: () => import('@/views/settings/send-queue/index.vue'),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: 'rspamd',\n\t\t\tname: 'SettingsRspamd',\n\t\t\tmeta: { title: 'Rspamd', titleKey: '', hidden: true },\n\t\t\tcomponent: () => import('@/views/settings/rspamd/index.vue'),\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/smtp.ts",
    "content": "import { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nconst route: RouteRecordRaw = {\n\tpath: '/smtp',\n\tcomponent: Layout,\n\tmeta: { sort: 8, hidden: false, key: 'smtp', title: 'SMTP', titleKey: '' },\n\tchildren: [\n\t\t{\n\t\t\tpath: '/smtp',\n\t\t\tname: 'SMTP',\n\t\t\tcomponent: () => import('@/views/smtp/index.vue'),\n\t\t},\n\t],\n}\n\nexport default route\n"
  },
  {
    "path": "core/frontend/src/router/modules/template.ts",
    "content": "import type { RouteRecordRaw } from 'vue-router'\nimport { Layout } from '@/router/constant'\n\nexport default {\n\tpath: '/template',\n\tcomponent: Layout,\n\tmeta: {\n\t\tsort: 3,\n\t\ttitle: 'template',\n\t\tkey: 'template',\n\t\ttitleKey: 'layout.menu.template',\n\t},\n\tchildren: [\n\t\t{\n\t\t\tpath: '/template',\n\t\t\tname: 'template',\n\t\t\tcomponent: () => import('@/views/template/index.vue'),\n\t\t},\n\t\t{\n\t\t\tpath: 'ai-template/:chatId',\n\t\t\tname: 'ai-template',\n\t\t\tcomponent: () => import('@/views/template/pages/AITemplate/index.vue'),\n\t\t},\n\t],\n} as RouteRecordRaw\n"
  },
  {
    "path": "core/frontend/src/router/router.ts",
    "content": "import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\nimport { is, isDev } from '@/utils'\n\n// Routes reflect list\nconst routesReflectList = [\n\t'Overview',\n\t'Email Marketing',\n\t'template',\n\t'Send API',\n\t'Contacts',\n\t'MailDomain',\n\t'MailBoxes',\n\t'SMTP',\n\t'Logs',\n\t'Settings',\n\t'Automation',\n]\n\n// Import routes from modules\nconst modules = import.meta.webpackContext('./modules', {\n\t// Whether to search for subdirectories\n\trecursive: false,\n\tregExp: /\\.ts$/,\n})\n\n// Module routes\nexport let menuList: RouteRecordRaw[] = []\n\n// Iterate through the module list to generate module routes\nfor (const path of modules.keys()) {\n\tconst mod = modules(path)\n\tif (is<{ default: RouteRecordRaw }>(mod, 'Module')) {\n\t\tmenuList.push(mod.default)\n\t}\n}\n\n// Sort module routes\nmenuList = menuList.reduce((p: RouteRecordRaw[], v: RouteRecordRaw) => {\n\tconst routeIndex = routesReflectList.findIndex(item => item == v.meta!.title)\n\tp[routeIndex] = v\n\treturn p\n}, [] as RouteRecordRaw[])\n\nconst otherArray: RouteRecordRaw[] = []\n\nif (isDev) {\n\totherArray.push({\n\t\tpath: '/test',\n\t\tname: 'Test',\n\t\tcomponent: () => import('@/views/test/index.vue'),\n\t})\n}\n\nexport const routes: RouteRecordRaw[] = [\n\t{\n\t\tpath: '/login',\n\t\tname: 'Login',\n\t\tcomponent: () => import('@/views/login/index.vue'),\n\t},\n\t{\n\t\tpath: '/',\n\t\tredirect: '/overview',\n\t},\n\t...menuList,\n\t...otherArray,\n]\n\nconst router = createRouter({\n\thistory: createWebHistory('/'),\n\troutes,\n\tstrict: false,\n\tscrollBehavior: () => ({ left: 0, top: 0 }),\n})\n\nexport default router\n"
  },
  {
    "path": "core/frontend/src/store/index.ts",
    "content": "import { createPinia } from 'pinia'\nimport piniaPluginPersistedstate from 'pinia-plugin-persistedstate'\nimport useMenuStore from './modules/menu'\nimport useUserStore from './modules/user'\nimport useGlobalStore from './modules/global'\nimport useThemeStore from './modules/theme'\n\nconst pinia = createPinia()\npinia.use(piniaPluginPersistedstate)\n\nexport { useMenuStore, useUserStore, useGlobalStore, useThemeStore }\n\nexport default pinia\n"
  },
  {
    "path": "core/frontend/src/store/modules/global.ts",
    "content": "import { defineStore } from 'pinia'\nimport { isObject } from '@/utils'\nimport { getLanguages, setLanguage as setLanguageApi } from '@/api/modules/public'\n\ninterface LangResponse {\n\tcurrent_language: string\n\tavailable_languages: Array<{ cn: string; name: string }>\n}\n\nexport default defineStore('GlobalStore', () => {\n\tconst domainSource = ref(\"\")\n\tconst lang = ref('en')\n\n\tconst langList = ref<Array<{ cn: string; name: string }>>([])\n\n\tconst isCollapse = ref(false)\n\n\tconst temp_subject = ref(\"\")\n\n\tconst setCollapse = () => {\n\t\tisCollapse.value = !isCollapse.value\n\t}\n\n\tconst getLang = async () => {\n\t\tif (langList.value.length > 0) return\n\n\t\tconst res = await getLanguages()\n\t\tif (isObject<LangResponse>(res)) {\n\t\t\tlang.value = res.current_language\n\t\t\tlangList.value = res.available_languages\n\t\t}\n\t}\n\n\tconst setLang = async (language: string) => {\n\t\tawait setLanguageApi({ language })\n\t}\n\n\treturn {\n\t\tdomainSource,\n\t\tlang,\n\t\tlangList,\n\t\tisCollapse,\n\t\ttemp_subject,\n\t\tgetLang,\n\t\tsetLang,\n\t\tsetCollapse,\n\t}\n}, {\n\tpersist: [\n\t\t{\n\t\t\tpick: [\"domainSource\"],\n\t\t\tstorage: localStorage\n\t\t}\n\t]\n})\n"
  },
  {
    "path": "core/frontend/src/store/modules/menu.ts",
    "content": "import { defineStore } from 'pinia'\nimport { RouteRecordRaw } from 'vue-router'\n\nexport default defineStore('MenuStore', () => {\n\tconst isCollapse = ref(false)\n\tconst menuList = ref<RouteRecordRaw[]>([])\n\n\tconst setCollapse = () => {\n\t\tisCollapse.value = !isCollapse.value\n\t}\n\n\tconst setMenuList = (menus: RouteRecordRaw[]) => {\n\t\tmenuList.value = menus\n\t}\n\n\tconst closeSidebar = () => {\n\t\tisCollapse.value = false\n\t}\n\n\treturn {\n\t\tisCollapse,\n\t\tmenuList,\n\t\tsetCollapse,\n\t\tsetMenuList,\n\t\tcloseSidebar,\n\t}\n})\n"
  },
  {
    "path": "core/frontend/src/store/modules/theme.ts",
    "content": "import { defineStore } from 'pinia'\nimport { GlobalThemeOverrides } from 'naive-ui'\n\nexport default defineStore(\n\t'ThemeStore',\n\t() => {\n\t\tconst theme = ref<'light' | 'dark'>('light')\n\n\t\tconst getCssVar = (name: string) => {\n\t\t\treturn getComputedStyle(document.documentElement).getPropertyValue(name).trim()\n\t\t}\n\n\t\tconst getThemeOverrides = (): GlobalThemeOverrides => {\n\t\t\treturn {\n\t\t\t\tcommon: {\n\t\t\t\t\tlineHeight: 'normal',\n\t\t\t\t\tfontSize: '12px',\n\t\t\t\t\tfontSizeSmall: '12px',\n\t\t\t\t\tfontSizeMedium: '12px',\n\t\t\t\t\tfontSizeLarge: '14px',\n\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\tbaseColor: '#fff',\n\t\t\t\t\ttextColor1: getCssVar('--color-text-1'),\n\t\t\t\t\ttextColor2: getCssVar('--color-text-2'),\n\t\t\t\t\tprimaryColor: getCssVar('--color-primary-1'),\n\t\t\t\t\tprimaryColorHover: getCssVar('--color-primary-hover-1'),\n\t\t\t\t\tsuccessColor: getCssVar('--color-primary-1'),\n\t\t\t\t\tsuccessColorHover: getCssVar('--color-primary-hover-1'),\n\t\t\t\t\twarningColor: getCssVar('--color-warning-1'),\n\t\t\t\t\terrorColor: getCssVar('--color-error-1'),\n\t\t\t\t},\n\t\t\t\tLayout: {\n\t\t\t\t\tcolor: getCssVar('--color-bg-2'),\n\t\t\t\t\ttextColor: getCssVar('--color-text-1'),\n\t\t\t\t\theaderColor: getCssVar('--color-bg-1'),\n\t\t\t\t\tsiderColor: getCssVar('--color-bg-1'),\n\t\t\t\t\tsiderTextColor: getCssVar('--color-sider-text-1'),\n\t\t\t\t},\n\t\t\t\tMenu: {\n\t\t\t\t\tfontSize: '14px',\n\t\t\t\t\titemTextColor: getCssVar('--color-menu-1'),\n\t\t\t\t\titemIconColor: getCssVar('--color-menu-1'),\n\t\t\t\t\titemColorActive: getCssVar('--color-menu-active-1'),\n\t\t\t\t\titemTextColorActive: getCssVar('--color-menu-active-2'),\n\t\t\t\t\titemIconColorActive: getCssVar('--color-menu-active-2'),\n\t\t\t\t\titemColorActiveHover: getCssVar('--color-menu-active-1'),\n\t\t\t\t\titemTextColorActiveHover: getCssVar('--color-menu-active-2'),\n\t\t\t\t\titemIconColorActiveHover: getCssVar('--color-menu-active-2'),\n\t\t\t\t\titemColorActiveCollapsed: getCssVar('--color-menu-active-1'),\n\t\t\t\t},\n\t\t\t\tCard: {\n\t\t\t\t\tcolor: getCssVar('--color-bg-1'),\n\t\t\t\t\tborderColor: 'transparent',\n\t\t\t\t\tborderRadius: '6px',\n\t\t\t\t},\n\t\t\t\tForm: {\n\t\t\t\t\tfeedbackHeightMedium: '20px',\n\t\t\t\t\tfeedbackHeightLarge: '22px',\n\t\t\t\t\tfeedbackFontSizeMedium: '12px',\n\t\t\t\t\tfeedbackFontSizeLarge: '12px',\n\t\t\t\t\tfeedbackPadding: '2px 0 0',\n\t\t\t\t\tlabelFontSizeTopMedium: '13px',\n\t\t\t\t\tlabelFontSizeLeftMedium: '13px',\n\t\t\t\t\tlabelPaddingHorizontal: '0 20px 0 0',\n\t\t\t\t\tlabelFontWeight: '700',\n\t\t\t\t},\n\t\t\t\tRadio: {\n\t\t\t\t\tbuttonColor: getCssVar('--color-radio-1'),\n\t\t\t\t\tbuttonColorActive: getCssVar('--color-radio-2'),\n\t\t\t\t\tbuttonTextColor: getCssVar('--color-text-2'),\n\t\t\t\t\tbuttonTextColorHover: getCssVar('--color-text-1'),\n\t\t\t\t\tbuttonTextColorActive: getCssVar('--color-text-1'),\n\t\t\t\t\tbuttonBorderColor: 'transparent',\n\t\t\t\t\tbuttonBorderColorHover: 'transparent',\n\t\t\t\t\tbuttonBorderColorActive: 'transparent',\n\t\t\t\t\tbuttonBoxShadowHover: 'none',\n\t\t\t\t\tbuttonBoxShadowFocus: 'none',\n\t\t\t\t\tbuttonBorderRadius: '4px',\n\t\t\t\t\tlabelPadding: '0 0 0 8px',\n\t\t\t\t},\n\t\t\t\tDialog: {\n\t\t\t\t\tcontentMargin: '16px 0',\n\t\t\t\t\ttextColor: getCssVar('--color-text-1'),\n\t\t\t\t},\n\t\t\t\tDataTable: {\n\t\t\t\t\tthPaddingMedium: '10px',\n\t\t\t\t\ttdPaddingMedium: '10px',\n\t\t\t\t\tthColor: getCssVar('--color-table-th-1'),\n\t\t\t\t\ttdColor: getCssVar('--color-table-td-1'),\n\t\t\t\t\ttdColorHover: getCssVar('--color-table-th-1'),\n\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t},\n\t\t\t\tBreadcrumb: {\n\t\t\t\t\tfontSize: '14px',\n\t\t\t\t},\n\t\t\t\tSwitch: {\n\t\t\t\t\trailColorActive: getCssVar('--color-primary-1'),\n\t\t\t\t},\n\t\t\t\tTabs: {\n\t\t\t\t\ttabBorderRadius: '4px',\n\t\t\t\t},\n\t\t\t\tProgress: {\n\t\t\t\t\ttextColorLineInner: '#fff',\n\t\t\t\t},\n\t\t\t\tButton: {\n\t\t\t\t\tcolor: getCssVar('--color-bg-1'),\n\t\t\t\t\tcolorHover: getCssVar('--color-bg-1'),\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tconst themeOverrides = ref<GlobalThemeOverrides>(getThemeOverrides())\n\n\t\tconst setTheme = (val: 'light' | 'dark') => {\n\t\t\ttheme.value = val\n\t\t}\n\n\t\tconst changeTheme = () => {\n\t\t\tconst isDarkMode = theme.value === 'dark'\n\t\t\tdocument.documentElement.setAttribute('theme-mode', isDarkMode ? 'dark' : '')\n\t\t\tnextTick(() => {\n\t\t\t\tthemeOverrides.value = getThemeOverrides()\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\ttheme,\n\t\t\tthemeOverrides,\n\t\t\tsetTheme,\n\t\t\tchangeTheme,\n\t\t}\n\t},\n\t{\n\t\tpersist: {\n\t\t\tpick: ['theme'],\n\t\t},\n\t}\n)\n"
  },
  {
    "path": "core/frontend/src/store/modules/user.ts",
    "content": "import { defineStore } from 'pinia'\nimport { confirm } from '@/utils'\nimport { logout as logoutApi } from '@/api/modules/user'\nimport i18n from '@/i18n'\nimport router from '@/router'\n\nexport default defineStore(\n\t'UserStore',\n\t() => {\n\t\tconst { t } = i18n.global\n\n\t\tconst login = ref({\n\t\t\ttoken: '', // Token\n\t\t\trefresh_token: '', // Refresh Token\n\t\t\tttl: 0, // Token valid time/second\n\t\t\texpire: 0, // Token expiration time\n\t\t})\n\n\t\t/**\n\t\t * @description Determine if the user is logged in\n\t\t */\n\t\tconst isLogin = computed(() => {\n\t\t\treturn login.value.token && login.value.expire > Date.now()\n\t\t})\n\n\t\t/**\n\t\t * @description Set user login information\n\t\t * @param userVal\n\t\t */\n\t\tconst setLoginInfo = (userVal: { token: string; refresh_token: string; ttl: number }) => {\n\t\t\tlogin.value.token = userVal.token\n\t\t\tlogin.value.refresh_token = userVal.refresh_token\n\t\t\tlogin.value.ttl = userVal.ttl\n\t\t\tlogin.value.expire = userVal.ttl * 1000 + Date.now()\n\t\t}\n\n\t\tconst resetLoginInfo = () => {\n\t\t\tlogin.value.token = ''\n\t\t\tlogin.value.refresh_token = ''\n\t\t\tlogin.value.ttl = 0\n\t\t\tlogin.value.expire = 0\n\t\t}\n\n\t\tconst logout = () => {\n\t\t\tconfirm({\n\t\t\t\ttitle: t('user.logout.title'),\n\t\t\t\tcontent: t('user.logout.content'),\n\t\t\t\tonConfirm: async () => {\n\t\t\t\t\tawait logoutApi()\n\t\t\t\t\tresetLoginInfo()\n\t\t\t\t\trouter.push('/login')\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tlogin,\n\t\t\tisLogin,\n\t\t\tlogout,\n\t\t\tsetLoginInfo,\n\t\t\tresetLoginInfo,\n\t\t}\n\t},\n\t{\n\t\tpersist: {\n\t\t\tpick: ['login'],\n\t\t},\n\t}\n)\n"
  },
  {
    "path": "core/frontend/src/styles/index.scss",
    "content": "@import './reset.scss';\n@import './variables.scss';\n@import './naive.scss';\n\n\n// Horizontal flex with no direction\n@mixin row-flex {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: row;\n}\n\n// Horizontal flex with center alignment\n@mixin row-flex-center {\n\t@include row-flex();\n\tjustify-content: center;\n}\n\n// Horizontal flex with start alignment\n@mixin row-flex-start {\n\t@include row-flex();\n\tjustify-content: start;\n}\n\n// Horizontal flex with end alignment\n@mixin row-flex-end {\n\t@include row-flex();\n\tjustify-content: end;\n}\n\n\n// Vertical flex with no direction\n@mixin col-flex {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n}\n\n// Vertical flex with center alignment\n@mixin col-flex-center {\n\t@include col-flex();\n\tjustify-content: center;\n}\n\n// Vertical flex with start alignment\n@mixin col-flex-start {\n\t@include col-flex;\n\tjustify-content: start;\n}\n// Vertical flex with end alignment\n@mixin col-flex-end {\n\t@include col-flex;\n\tjustify-content: end;\n}\n\n// Single-line ellipsis\n@mixin single-line-ellipsis {\n\twhite-space: nowrap;     \n\toverflow: hidden;       \n\ttext-overflow: ellipsis;\n}\n\n// Transition all\n@mixin transition-all {\n    transition:.1s all ease-in-out;\n}"
  },
  {
    "path": "core/frontend/src/styles/naive.scss",
    "content": "div.n-card {\n\tbox-shadow: 0 1px 20px 0 rgba(69, 90, 100, 0.08);\n}\n\nbutton.n-button {\n\tline-height: 1.2;\n\tuser-select: auto;\n}\n\n.n-input {\n\t&.password-input {\n\t\tfont-family:\n\t\t\tv-sans,\n\t\t\tsystem-ui,\n\t\t\t-apple-system,\n\t\t\tBlinkMacSystemFont,\n\t\t\t'Segoe UI',\n\t\t\tsans-serif,\n\t\t\t'Apple Color Emoji',\n\t\t\t'Segoe UI Emoji',\n\t\t\t'Segoe UI Symbol';\n\t}\n}\n\n.n-spin-container {\n\t.n-spin-content {\n\t\theight: 100%;\n\t}\n}\n\n.n-radio-group {\n\t.n-radio-group__splitor {\n\t\tdisplay: none;\n\t}\n\t&.n-radio-group--button-group {\n\t\tpadding: 2px;\n\t\tbackground-color: var(--n-button-color);\n\t\tborder-radius: 4px;\n\t\ttransition: all 0.3s ease;\n\t\t.n-radio-button {\n\t\t\tvertical-align: top;\n\t\t\theight: 30px;\n\t\t\tline-height: 30px;\n\t\t\tborder-radius: var(--n-button-border-radius);\n\t\t}\n\t}\n\t.n-radio + .n-radio {\n\t\tmargin-left: 16px;\n\t}\n}\n\n.n-select {\n\t.n-base-selection-tag-wrapper {\n\t\t.n-tag {\n\t\t\tfont-size: 12px;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/styles/reset.scss",
    "content": "*,\n*:before {\n\tbox-sizing: border-box;\n}\n\nhtml,\nbody,\n#root {\n\twidth: 100%;\n\theight: 100%;\n}\n\nbody {\n\tmin-width: 1100px;\n\tmargin: 0;\n\tline-height: 1.2;\n\tfont-size: 12px;\n\tcolor: var(--color-text-1);\n\tfont-family: 'Open Sans', sans-serif;\n}\n\ninput[type='password']::-ms-reveal {\n\tdisplay: none;\n}\n\na {\n\ttext-decoration: none;\n}\n\np,\nul,\npre {\n\tmargin: 0;\n\tpadding: 0;\n}\n\npre {\n\tfont-family: Menlo, Monaco, Consolas, 'Courier New', monospace;\n\twhite-space: pre-wrap;\n}\n\niframe {\n\tborder: none;\n\toutline: none;\n}\n\n// 滚动条整体样式\n// 高宽分别对应横竖滚动条的尺寸\n::-webkit-scrollbar {\n\twidth: 9px;\n\theight: 9px;\n}\n\n// 滚动条里面小方块\n::-webkit-scrollbar-thumb {\n\tborder-radius: 9px;\n\tbox-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);\n\tbackground: #999;\n}\n\n// 滚动条里面轨道\n::-webkit-scrollbar-track {\n\tbox-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);\n\tborder-radius: 9px;\n\tbackground: #ededed;\n}\n\n.bt-title {\n\tmargin-bottom: 20px;\n\tfont-size: 18px;\n\tfont-weight: bold;\n}\n"
  },
  {
    "path": "core/frontend/src/styles/variables.scss",
    "content": ":root {\n\t--color-primary-1: #20a53a;\n\t--color-primary-2: #e9f6eb;\n\t--color-primary-3: #90dda2;\n\t--color-primary-hover-1: #18802a;\n\t--color-warning-1: #f0ad4e;\n\t--color-error-1: #ef0808;\n\t--color-bg-1: #fff;\n\t--color-bg-2: #f4f7fa;\n\t--color-bg-3: linear-gradient(135deg, #f0f3ff 0%, #e5f8f7 100%);\n\t--color-bg-4: #e5e7eb;\n\t--color-text-1: #333;\n\t--color-text-2: #666;\n\t--color-text-3: #999;\n\t--color-text-4: #5b6b79;\n\t--color-text-5: #20a53a;\n\t--color-border-1: #e5e7eb;\n\t--color-border-2: #d3d4d3;\n\t--color-menu-1: #374151;\n\t--color-menu-active-1: rgba(32, 165, 58, 0.1);\n\t--color-menu-active-2: var(--color-primary-1);\n\t--color-card-text-1: #1d2630;\n\t--color-radio-1: #e8e8e8;\n\t--color-radio-2: #ffffff;\n\t--color-button-text-1: #ffffff;\n\t--color-table-th-1: rgba(250, 250, 252, 1);\n\t--color-table-td-1: #ffffff;\n\t--color-command: #101010;\n}\n\n:root[theme-mode='dark'] {\n\t--color-primary-1: #4caf50;\n\t--color-primary-2: #1d3b23;\n\t--color-primary-3: #90dda2;\n\t--color-primary-hover-1: #20a53a;\n\t--color-warning-1: #cd8717;\n\t--color-error-1: #b23030;\n\t--color-bg-1: #242424;\n\t--color-bg-2: #181818;\n\t--color-bg-3: #181818;\n\t--color-bg-4: #2d2f33;\n\t--color-text-1: #fff;\n\t--color-text-2: rgba(255, 255, 255, 0.55);\n\t--color-text-3: rgba(255, 255, 255, 0.35);\n\t--color-text-4: #6f747f;\n\t--color-text-5: #ffffff;\n\t--color-border-1: #393939;\n\t--color-border-2: #393939;\n\t--color-menu-1: #d1d5db;\n\t--color-menu-active-1: var(--color-primary-1);\n\t--color-menu-active-2: var(--color-text-1);\n\t--color-card-text-1: #fff;\n\t--color-radio-1: #303030;\n\t--color-radio-2: #5e5e5e;\n\t--color-button-text-1: #ffffff;\n\t--color-table-th-1: #2c2c2c;\n\t--color-table-td-1: #242424;\n\t--color-command: #101010;\n}\n"
  },
  {
    "path": "core/frontend/src/types/chart.ts",
    "content": "import type { LineSeriesOption } from 'echarts/charts'\nimport type {\n\tTooltipComponentOption,\n\tGridComponentOption,\n\tDataZoomComponentOption,\n\tGraphicComponentOption,\n} from 'echarts/components'\nimport type { ComposeOption } from 'echarts/core'\n\nexport type ECOptionLine = ComposeOption<\n\t| LineSeriesOption\n\t| TooltipComponentOption\n\t| GridComponentOption\n\t| DataZoomComponentOption\n\t| GraphicComponentOption\n>\n"
  },
  {
    "path": "core/frontend/src/utils/base.ts",
    "content": "import { isNumber } from './is'\n\nexport const isDev = import.meta.env.DEV\n\nexport const apiUrl: string = import.meta.env.SERVER.address\n\n// Server prefix\nexport const apiUrlPrefix: string = import.meta.env.API_URL_PREFIX\n\n/**\n * @description Byte conversion with specified unit\n * @param bytes Number of bytes\n * @param isUnit Whether to display unit\n * @param fixed Decimal point position\n * @param endUnit End unit\n * @returns Formatted string with unit\n */\nexport const getByteUnit = (\n\tbytes: number = 0,\n\tisUnit: boolean = true,\n\tfixed: number = 2,\n\tendUnit: string = ''\n): string => {\n\tif (!isNumber(bytes)) {\n\t\tbytes = Number(bytes)\n\t\tif (isNaN(bytes)) return ''\n\t}\n\n\tconst units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB', 'BB', 'NB', 'DB']\n\tconst base = 1024\n\tlet value = bytes\n\n\tfor (let i = 0; i < units.length; i++) {\n\t\tconst unit = units[i]\n\t\tconst formattedValue = fixed === 0 ? Math.round(value).toString() : value.toFixed(fixed)\n\n\t\tif (endUnit && unit === endUnit.trim()) {\n\t\t\treturn isUnit ? `${formattedValue} ${unit}` : formattedValue\n\t\t}\n\n\t\tif (value < base) {\n\t\t\treturn isUnit ? `${formattedValue} ${unit}` : formattedValue\n\t\t}\n\n\t\tvalue /= base\n\t}\n\n\treturn '--'\n}\n\n/**\n * @description 首字母大写\n * @param val\n * @returns\n */\nexport const capitalizeFirstLetter = (val: string) => {\n\treturn val\n\t\t.split(' ')\n\t\t.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n\t\t.join(' ')\n}\n\n/**\n * @description Validate a URL\n */\nexport function isUrl(url: string): boolean {\n\tconst urlRegex =\n\t\t/^(https?:\\/\\/)?((([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,})|((\\d{1,3}\\.){3}\\d{1,3}))(:\\d{1,5})?(\\/.*)?$/\n\treturn urlRegex.test(url)\n}\n\n/**\n * @description Generate a random password that contains lowercase letters, uppercase letters and numbers\n * @param len Password length, default is 8\n */\nexport function getRandomPassword(len = 16) {\n\t// Ensure the password length is at least 3 to include all required character types\n\tlen = Math.max(len, 3)\n\n\tconst lowerChars = 'abcdefghijklmnopqrstuvwxyz'\n\tconst upperChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n\tconst numbers = '0123456789'\n\tconst allChars = lowerChars + upperChars + numbers\n\n\t// Ensure at least one lowercase letter, one uppercase letter and one number\n\tlet pwd = ''\n\tpwd += lowerChars.charAt(Math.floor(Math.random() * lowerChars.length))\n\tpwd += upperChars.charAt(Math.floor(Math.random() * upperChars.length))\n\tpwd += numbers.charAt(Math.floor(Math.random() * numbers.length))\n\n\t// Generate remaining random characters\n\tfor (let i = 3; i < len; i++) {\n\t\tconst index = Math.floor(Math.random() * allChars.length)\n\t\tpwd += allChars[index]\n\t}\n\n\t// Shuffle password characters to avoid fixed patterns\n\treturn pwd\n\t\t.split('')\n\t\t.sort(() => Math.random() - 0.5)\n\t\t.join('')\n}\n"
  },
  {
    "path": "core/frontend/src/utils/data.ts",
    "content": "import { toNumber } from 'lodash-es'\n\n/**\n * @description Convert value to number, return 0 if not a number\n * @param val Value\n * @returns\n */\nexport const getNumber = (val: unknown) => {\n\treturn !Number.isNaN(toNumber(val)) ? toNumber(val) : 0\n}\n"
  },
  {
    "path": "core/frontend/src/utils/index.ts",
    "content": "export * from '@/components/utils/confirm/method'\nexport * from '@/components/utils/message/method'\n\nexport * from './is'\nexport * from './base'\nexport * from './data'\nexport * from './time'\nexport * from './storage'\n"
  },
  {
    "path": "core/frontend/src/utils/is.ts",
    "content": "/**\n * @description: Check if value is of a specific type\n */\nexport function is<T>(val: unknown, type: string): val is T {\n\treturn Object.prototype.toString.call(val) === `[object ${type}]`\n}\n\n/**\n * @description: Check if value is an object\n * @param { unknown } val Parameter\n * @returns { boolean }\n */\nexport function isObject<T>(val: unknown): val is T {\n\treturn val !== null && is(val, 'Object')\n}\n\n/**\n * @description Check if value is a number\n * @param { unknown } val Parameter\n * @returns { boolean }\n */\nexport const isNumber = (val: unknown): val is number => {\n\treturn is(val, 'Number')\n}\n\n/**\n * @description Check if value is a string\n * @param { unknown } val Parameter\n * @returns { boolean }\n */\nexport const isString = (val: unknown): val is string => {\n\treturn is(val, 'String')\n}\n\n/**\n * @description Check if value is a function\n * @param { unknown } val Parameter\n * @returns { boolean }\n */\nexport const isFunction = <T = Function>(val: unknown): val is T => {\n\treturn is(val, 'Function')\n}\n\n/**\n * @description Check if value is undefined\n * @param { unknown } val Parameter\n * @returns { boolean }\n */\nexport const isUndefined = (val: unknown): val is undefined => {\n\treturn typeof val === 'undefined'\n}\n\n/**\n * @description Check if value is an array\n * @param { unknown } val Parameter\n * @returns { boolean }\n */\nexport const isArray = <T = unknown>(val: unknown): val is T[] => {\n\treturn Array.isArray(val)\n}\n\n/**\n * Check if value is a date\n * @param { unknown } val Parameter\n * @returns { boolean }\n */\nexport const isDate = (val: unknown): val is Date => {\n\treturn is(val, 'Date')\n}\n"
  },
  {
    "path": "core/frontend/src/utils/storage.ts",
    "content": "import { isObject } from './is'\n\n/**\n * Get data from localStorage\n * @param key Key name\n * @param defaultVal Default value\n * @returns Stored value or default value\n */\nexport const getLocalStorage = <T = string>(key: string, defaultVal: T = '' as T): T => {\n\ttry {\n\t\tconst val = localStorage.getItem(key)\n\t\tif (val === null) return defaultVal\n\n\t\tif (isObject<T>(defaultVal)) {\n\t\t\treturn JSON.parse(val) as T\n\t\t}\n\t\treturn val as T\n\t} catch {\n\t\t// console.error(`Failed to get localStorage item: ${key}`, error)\n\t\treturn defaultVal\n\t}\n}\n\n/**\n * Store data in localStorage\n * @param key Key name\n * @param value Value to store\n */\nexport const setLocalStorage = <T>(key: string, value: T): void => {\n\tconst val = isObject(value) ? JSON.stringify(value) : String(value)\n\tlocalStorage.setItem(key, val)\n}\n\n/**\n * Delete one or multiple data from localStorage\n * @param keys Key name or array of key names\n */\nexport const delLocalStorage = (keys: string | string[]): void => {\n\tconst keyArray = Array.isArray(keys) ? keys : [keys]\n\tkeyArray.forEach(key => {\n\t\tlocalStorage.removeItem(key)\n\t})\n}\n\n/**\n * Set cookie\n * @param key Key name\n * @param value Value\n * @param days Expiration days, default 30 days\n * @param path Cookie path, default root path\n */\nexport const setCookie = (key: string, value: string, days = 30, path = '/'): void => {\n\tconst date = new Date()\n\tdate.setTime(date.getTime() + days * 24 * 60 * 60 * 1000)\n\tconst expires = `expires=${date.toUTCString()}`\n\tconst cookiePath = `path=${path}`\n\tdocument.cookie = `${key}=${encodeURIComponent(value)};${expires};${cookiePath}`\n}\n\n/**\n * Get cookie\n * @param key Key name\n * @returns Cookie value or empty string\n */\nexport const getCookie = (key: string): string => {\n\ttry {\n\t\tconst name = `${key}=`\n\t\tconst decodedCookie = decodeURIComponent(document.cookie)\n\t\tconst cookieArray = decodedCookie.split(';')\n\n\t\tfor (const cookie of cookieArray) {\n\t\t\tconst trimmedCookie = cookie.trim()\n\t\t\tif (trimmedCookie.startsWith(name)) {\n\t\t\t\treturn trimmedCookie.substring(name.length)\n\t\t\t}\n\t\t}\n\t\treturn ''\n\t} catch {\n\t\treturn ''\n\t}\n}\n\n/**\n * Delete cookie\n * @param key Key name\n * @param path Cookie path, default root path\n */\nexport const delCookie = (key: string, path = '/'): void => {\n\tsetCookie(key, '', -1, path)\n}\n"
  },
  {
    "path": "core/frontend/src/utils/time.ts",
    "content": "import { toNumber } from 'lodash-es'\nimport { format, startOfDay, endOfDay } from 'date-fns'\nimport { isString, isDate, isNumber, getNumber } from '@/utils'\nimport i18n from '@/i18n'\n\nexport type Time = Date | number | string\n\n/**\n * @description Format time\n * @param time Timestamp / Date / Time string\n * @param fmt Time format, optional\n * @returns { string } Formatted time\n * @throws { Error } When time is invalid\n */\nexport const formatTime = (time?: Time, fmt = 'yyyy-MM-dd HH:mm:ss'): string => {\n\tif (!time) return '--'\n\n\tlet timestamp: number\n\n\ttry {\n\t\tif (isString(time)) {\n\t\t\ttimestamp = isNaN(toNumber(time)) ? new Date(time).getTime() : getNumber(time)\n\t\t} else if (isDate(time)) {\n\t\t\ttimestamp = time.getTime()\n\t\t} else if (isNumber(time)) {\n\t\t\tconst str = time.toString()\n\t\t\ttimestamp = str.length === 10 ? time * 1000 : time\n\t\t} else {\n\t\t\treturn '--'\n\t\t}\n\n\t\treturn format(timestamp, fmt)\n\t} catch {\n\t\t// console.error('Time formatting error:', error)\n\t\treturn '--'\n\t}\n}\n\n/**\n * @description Get time range for a given date\n * @param { Date } date Date object, defaults to current date\n * @returns { [number, number] } Tuple containing start and end timestamps\n */\nexport const getDayTimeRange = (date: Date = new Date()): [number, number] => {\n\tconst start = startOfDay(date)\n\tconst end = endOfDay(date)\n\treturn [start.getTime(), end.getTime()]\n}\n\n/**\n * @description Convert seconds to the highest time unit only with decimal precision\n * @param seconds Total seconds to convert\n * @param precision Number of decimal places (default: 1)\n * @returns { string } Formatted time string with only the highest unit and decimal (e.g., \"2.5天\", \"5.3小时\", \"30.8分钟\", \"45秒\")\n */\nexport const formatDurationHighest = (seconds: number, precision: number = 1): string => {\n\tif (!seconds || seconds < 0) return `0 ${i18n.global.t('common.unit.seconds')}`\n\n\tconst days = seconds / (24 * 60 * 60)\n\tconst hours = seconds / (60 * 60)\n\tconst minutes = seconds / 60\n\n\tif (days >= 1) return `${days.toFixed(precision)} ${i18n.global.t('common.unit.days')}`\n\tif (hours >= 1) return `${hours.toFixed(precision)} ${i18n.global.t('common.unit.hours')}`\n\tif (minutes >= 1) return `${minutes.toFixed(precision)} ${i18n.global.t('common.unit.minutes')}`\n\treturn `${Math.floor(seconds)} ${i18n.global.t('common.unit.seconds')}`\n}\n"
  },
  {
    "path": "core/frontend/src/views/api/components/ApiForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" width=\"560\">\n\t\t<div class=\"max-h-640px pt-8px overflow-auto\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\" class=\"pr-12px\">\n\t\t\t\t<n-form-item :label=\"$t('api.form.apiName')\" path=\"api_name\">\n\t\t\t\t\t<n-input v-model:value=\"form.api_name\" :placeholder=\"$t('api.form.apiNamePlaceholder')\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('market.task.edit.from')\" path=\"addresser\">\n\t\t\t\t\t<from-select v-model:value=\"form.addresser\" v-model:domain=\"form.domain\" v-model:name=\"form.full_name\">\n\t\t\t\t\t</from-select>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('market.task.edit.displayName')\" path=\"full_name\">\n\t\t\t\t\t<n-input v-model:value=\"form.full_name\" :placeholder=\"$t('market.task.edit.displayNamePlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('market.task.edit.subject')\" path=\"subject\">\n\t\t\t\t\t<n-input v-model:value=\"form.subject\" :placeholder=\"$t('market.task.edit.subjectPlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('market.task.edit.template')\" path=\"template_id\">\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<template-select v-model:value=\"form.template_id\" v-model:content=\"form.template_content\">\n\t\t\t\t\t\t</template-select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<n-button text type=\"primary\" class=\"ml-12px\" @click=\"handleEditTemplate\">\n\t\t\t\t\t\t{{ $t('common.actions.edit') }}\n\t\t\t\t\t</n-button>\n\t\t\t\t\t<n-button text type=\"primary\" class=\"ml-12px\" @click=\"handlePreviewTemplate(form.template_content)\">\n\t\t\t\t\t\t{{ $t('common.actions.preview') }}\n\t\t\t\t\t</n-button>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('api.form.status')\">\n\t\t\t\t\t<n-switch v-model:value=\"form.active\" :checked-value=\"1\" :unchecked-value=\"0\"></n-switch>\n\t\t\t\t</n-form-item>\n\t\t\t\t<bt-more>\n\t\t\t\t\t<template #title>\n\t\t\t\t\t\t<span>{{ $t('api.form.advancedFeatures') }}</span>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.unsubscribeLink')\">\n\t\t\t\t\t\t<n-switch v-model:value=\"form.unsubscribe\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t\t\t</n-switch>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item :label=\"t('market.task.edit.trackClick')\" path=\"track_click\">\n\t\t\t\t\t\t<n-switch v-model:value=\"form.track_click\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t\t\t</n-switch>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item :label=\"t('market.task.edit.trackOpen')\" path=\"track_open\">\n\t\t\t\t\t\t<n-switch v-model:value=\"form.track_open\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t\t\t</n-switch>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item :label=\"$t('api.form.ipWhitelist')\">\n\t\t\t\t\t\t<n-input v-model:value=\"form.ip_whitelist\" :placeholder=\"$t('api.form.ipWhitelistPlaceholder')\">\n\t\t\t\t\t\t</n-input>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item>\n\t\t\t\t\t\t<template #label>\n\t\t\t\t\t\t\t<div class=\"flex items-center justify-start gap-1.25\">\n\t\t\t\t\t\t\t\t<span>{{ $t('api.form.group.label') }}</span>\n\t\t\t\t\t\t\t\t<n-popover trigger=\"hover\">\n\t\t\t\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t\t\t\t<i class=\"i-custom:help\"></i>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<bt-tips>\n\t\t\t\t\t\t\t\t\t\t<li>{{ $t('api.form.group.tips.choose') }}</li>\n\t\t\t\t\t\t\t\t\t\t<li>{{ $t('api.form.group.tips.autoCreate') }}</li>\n\t\t\t\t\t\t\t\t\t</bt-tips>\n\t\t\t\t\t\t\t\t</n-popover>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<group-select v-model:value=\"form.group_id\" :show-create=\"false\" clearable>\n\t\t\t\t\t\t</group-select>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t</bt-more>\n\t\t\t</bt-form>\n\t\t</div>\n\n\t\t<form-modal />\n\t\t<preview-modal />\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { createApi, updateApi } from '@/api/modules/api'\nimport { getTemplateDetails } from '@/api/modules/market/template'\nimport type { Template } from '@/views/template/interface'\nimport type { Api } from '../types/base'\n\nimport TemplateForm from '@/views/template/components/TemplateForm.vue'\nimport FromSelect from '@/views/market/task/components/FromSelect.vue'\nimport GroupSelect from '@/views/market/task/components/GroupSelect.vue'\nimport TemplateSelect from '@/views/market/task/components/TemplateSelect.vue'\nimport TemplatePreview from '@/views/market/template/components/TemplatePreview.vue'\n\n\nconst { t } = useI18n()\n\nconst isEdit = ref(false)\n\nconst title = computed(() => {\n\treturn isEdit.value ? t('api.form.title.edit') : t('api.form.title.add')\n})\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tid: 0,\n\tapi_name: '',\n\ttemplate_id: null as number | null,\n\ttemplate_content: '',\n\tsubject: '',\n\tdomain: null as string | null,\n\taddresser: null as string | null,\n\tfull_name: '',\n\tunsubscribe: 1,\n\tactive: 1,\n\tip_whitelist: '',\n\ttrack_click: 1,\n\ttrack_open: 1,\n\tgroup_id: null as number | null,\n})\n\nconst rules: FormRules = {\n\tapi_name: {\n\t\trequired: true,\n\t\tmessage: t('api.form.validation.apiNameRequired'),\n\t},\n\taddresser: {\n\t\trequired: true,\n\t\tmessage: t('api.form.validation.addresserRequired'),\n\t},\n\tfull_name: {\n\t\trequired: true,\n\t\tmessage: t('market.task.edit.displayNamePlaceholder'),\n\t},\n\tsubject: {\n\t\trequired: true,\n\t\tmessage: t('market.task.edit.subjectPlaceholder'),\n\t},\n\ttemplate_id: {\n\t\trequired: true,\n\t\tmessage: t('api.form.validation.templateRequired'),\n\t},\n}\n\nconst [PreviewModal, previewModalApi] = useModal({\n\tcomponent: TemplatePreview,\n})\n\nconst handlePreviewTemplate = (html: string) => {\n\tpreviewModalApi.setState({ html })\n\tpreviewModalApi.open()\n}\n\nconst handleEditTemplate = async () => {\n\tconst res = await getTemplateDetails({ id: `${form.template_id}` })\n\tif (isObject<Template>(res)) {\n\t\tif (res.add_type == 2 && res.chat_id) {\n\t\t\twindow.open(`/template/ai-template/${res.chat_id}`)\n\t\t} else {\n\t\t\tformModalApi.setState({ isEdit: true, row: res })\n\t\t\tformModalApi.open()\n\t\t}\n\t}\n}\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: TemplateForm,\n\tstate: {\n\t\tisEdit: true,\n\t\trefresh: async () => {\n\t\t\tconst res = await getTemplateDetails({ id: `${form.template_id}` })\n\t\t\tif (isObject<Template>(res)) {\n\t\t\t\tform.template_content = res.html_content\n\t\t\t}\n\t\t},\n\t\tpreview: (html: string) => {\n\t\t\thandlePreviewTemplate(html)\n\t\t},\n\t},\n})\n\nconst resetForm = () => {\n\tform.id = 0\n\tform.api_name = ''\n\tform.template_id = null\n\tform.template_content = ''\n\tform.subject = ''\n\tform.addresser = null\n\tform.full_name = ''\n\tform.unsubscribe = 1\n\tform.active = 1\n\tform.ip_whitelist = ''\n\tform.track_click = 1\n\tform.track_open = 1\n\tform.group_id = null\n}\n\nconst getParams = () => {\n\treturn {\n\t\tapi_name: form.api_name,\n\t\ttemplate_id: form.template_id || 0,\n\t\tsubject: form.subject,\n\t\taddresser: form.addresser || '',\n\t\tfull_name: form.full_name,\n\t\tunsubscribe: form.unsubscribe,\n\t\tactive: form.active,\n\t\tip_whitelist: form.ip_whitelist.split(','),\n\t\ttrack_click: form.track_click,\n\t\ttrack_open: form.track_open,\n\t\tgroup_id: form.group_id || 0,\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ isEdit: boolean; row: Api }>()\n\t\t\tconst { row } = state\n\t\t\tisEdit.value = state.isEdit\n\t\t\tif (row) {\n\t\t\t\tform.id = row.id\n\t\t\t\tform.api_name = row.api_name\n\t\t\t\tform.template_id = row.template_id\n\t\t\t\tform.domain = row.addresser.split('@')[1]\n\t\t\t\tform.subject = row.subject\n\t\t\t\tform.addresser = row.addresser\n\t\t\t\tform.full_name = row.full_name\n\t\t\t\tform.unsubscribe = row.unsubscribe\n\t\t\t\tform.active = row.active\n\t\t\t\tform.ip_whitelist = row.ip_whitelist.join(',')\n\t\t\t\tform.track_click = row.track_click\n\t\t\t\tform.track_open = row.track_open\n\t\t\t\tform.group_id = row.group_id || null\n\t\t\t}\n\t\t} else {\n\t\t\tresetForm()\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tconst params = getParams()\n\t\tif (isEdit.value) {\n\t\t\tawait updateApi({ ...params, id: form.id })\n\t\t} else {\n\t\t\tawait createApi(params)\n\t\t}\n\t\tconst state = modalApi.getState<{ refresh: Function }>()\n\t\tstate.refresh()\n\t},\n})\n</script>"
  },
  {
    "path": "core/frontend/src/views/api/components/ApiKey.vue",
    "content": "<template>\n\t<div class=\"flex\">\n\t\t<div class=\"w-0 flex-1 flex items-center\">\n\t\t\t<div class=\"min-w-0\">\n\t\t\t\t<n-ellipsis class=\"max-w-full\" :tooltip=\"{ contentStyle: { maxWidth: '300px' } }\">\n\t\t\t\t\t{{ value }}\n\t\t\t\t</n-ellipsis>\n\t\t\t</div>\n\t\t\t<div class=\"ml-6px text-15px cursor-pointer\" title=\"Copy\" @click=\"onCopy\">\n\t\t\t\t<i class=\"i-mdi-content-copy\"></i>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useCopy } from '@/hooks/useCopy'\n\ninterface Props {\n\tvalue: string | number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tvalue: '',\n})\n\nconst { copyText } = useCopy()\n\nconst onCopy = async () => {\n\tcopyText(`${props.value}`)\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/api/components/ApiTest.vue",
    "content": "<template>\n\t<modal title=\"Test API\" width=\"720\" :footer=\"false\">\n\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\" class=\"pt-12px\">\n\t\t\t<n-form-item :label=\"$t('market.task.edit.testEmail')\" path=\"recipient\">\n\t\t\t\t<div class=\"flex-1 mr-10px\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.recipient\"\n\t\t\t\t\t\t:placeholder=\"$t('market.task.edit.testEmailPlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</div>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item label=\"Command\">\n\t\t\t\t<bt-code :code=\"commandRef\" language=\"bash\"></bt-code>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport type { Api } from '../types/base'\n\nconst { t } = useI18n()\n\nconst command = ref(``)\n\nconst commandRef = computed(() => {\n\treturn command.value.replaceAll('$email', form.recipient)\n})\n\nconst form = reactive({\n\trecipient: '',\n})\n\nconst rules: FormRules = {\n\trecipient: {\n\t\trequired: true,\n\t\tmessage: t('market.task.edit.testEmailPlaceholder'),\n\t},\n}\n\nconst resetForm = () => {\n\tform.recipient = ''\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ row: Api }>()\n\t\t\tconst { row } = state\n\t\t\tif (row) {\n\t\t\t\tcommand.value = `curl -k -X POST '${row.server_addresser}' \\\\\n-H 'X-API-Key: ${row.api_key}' \\\\\n-H 'Content-Type: application/json' \\\\\n-d '{\n\t\"recipient\": \"$email\"\n}'`\n\t\t\t}\n\t\t} else {\n\t\t\tresetForm()\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/api/components/Overview.vue",
    "content": "<template>\n\t<n-spin :show=\"loading\">\n\t\t<div class=\"flex gap-16px mb-24px\">\n\t\t\t<n-card class=\"flex-1\">\n\t\t\t\t<div class=\"title\">\n\t\t\t\t\t<i class=\"i-fa:paper-plane\"></i>\n\t\t\t\t\t<span>{{ $t('api.overview.totalSend') }}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"value\">{{ overview.total_send }}</div>\n\t\t\t</n-card>\n\t\t\t<n-card class=\"flex-1\">\n\t\t\t\t<div class=\"title\">\n\t\t\t\t\t<i class=\"i-fa:envelope-open\"></i>\n\t\t\t\t\t<span>{{ $t('api.overview.avgOpenRate') }}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"value\">{{ overview.avg_open_rate }}%</div>\n\t\t\t</n-card>\n\t\t\t<n-card class=\"flex-1\">\n\t\t\t\t<div class=\"title\">\n\t\t\t\t\t<i class=\"i-fa:mouse-pointer\"></i>\n\t\t\t\t\t<span>{{ $t('api.overview.avgClickRate') }}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"value\">{{ overview.avg_click_rate }}%</div>\n\t\t\t</n-card>\n\t\t\t<n-card class=\"flex-1\">\n\t\t\t\t<div class=\"title\">\n\t\t\t\t\t<i class=\"i-fa:ban\"></i>\n\t\t\t\t\t<span>{{ $t('api.overview.avgBounceRate') }}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"value\">{{ overview.avg_bounce_rate }}%</div>\n\t\t\t</n-card>\n\t\t</div>\n\t</n-spin>\n</template>\n\n<script lang=\"ts\" setup>\nimport { PropType } from 'vue'\nimport { getOverviewStats } from '@/api/modules/api'\nimport { OverviewStats } from '../types/base'\nimport { isObject } from '@/utils'\n\nconst { time } = defineProps({\n\ttime: {\n\t\ttype: Object as PropType<[number, number]>,\n\t\tdefault: () => [0, 0],\n\t},\n})\n\nconst overview = ref<OverviewStats>({\n\ttotal_send: 0,\n\tavg_delivery_rate: 0,\n\tavg_open_rate: 0,\n\tavg_click_rate: 0,\n\tavg_bounce_rate: 0,\n\tavg_unsub_rate: 0,\n\ttotal_unsubscribe: 0,\n})\n\nconst loading = ref(false)\n\nconst getStats = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getOverviewStats({\n\t\t\tstart_time: Math.floor(time[0] / 1000),\n\t\t\tend_time: Math.floor(time[1] / 1000),\n\t\t})\n\t\tif (isObject<OverviewStats>(res)) {\n\t\t\toverview.value = res\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ndefineExpose({\n\tgetStats,\n})\n\nonMounted(() => {\n\tgetStats()\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.n-card {\n\t--n-padding-top: 20px;\n\t--n-padding-left: 20px;\n\t--n-padding-right: 20px;\n\t--n-padding-bottom: 20px;\n}\n\n.title {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-bottom: 8px;\n\tgap: 8px;\n\tfont-size: 14px;\n\tcolor: var(--color-text-3);\n}\n\n.value {\n\tfont-size: 28px;\n\tfont-weight: 600;\n\tmargin-bottom: 4px;\n\tfont-family: 'Montserrat', sans-serif;\n\tcolor: var(--color-text-1);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/api/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<div class=\"bt-title\">{{ $t('api.title') }}</div>\n\t\t<n-card class=\"mb-24px\" :content-style=\"{ padding: '16px 24px' }\">\n\t\t\t<div class=\"flex flex-wrap items-center gap-16px\">\n\t\t\t\t<div class=\"flex items-center whitespace-pre\">\n\t\t\t\t\t<span class=\"text-default\">{{ $t('api.timeRange') }}</span>\n\t\t\t\t\t<bt-time v-model:value=\"tableParams.time_range\" default-type=\"last7days\" @change=\"handleRefreshData\">\n\t\t\t\t\t</bt-time>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"flex items-center whitespace-pre\">\n\t\t\t\t\t<span class=\"text-default\">{{ $t('api.status') }}</span>\n\t\t\t\t\t<div class=\"w-120px\">\n\t\t\t\t\t\t<n-select v-model:value=\"tableParams.active\" :options=\"activeOptions\"\n\t\t\t\t\t\t\t@update:value=\"() => fetchTable(true)\">\n\t\t\t\t\t\t</n-select>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"flex items-center whitespace-pre\">\n\t\t\t\t\t<span class=\"text-default\">{{ $t('api.search') }}</span>\n\t\t\t\t\t<div class=\"w-200px\">\n\t\t\t\t\t\t<n-input v-model:value=\"tableParams.keyword\" :placeholder=\"$t('api.searchPlaceholder')\"\n\t\t\t\t\t\t\t@keyup.enter=\"() => fetchTable(true)\">\n\t\t\t\t\t\t</n-input>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"flex gap-8px\">\n\t\t\t\t\t<n-button type=\"primary\" ghost @click=\"() => fetchTable()\">\n\t\t\t\t\t\t{{ $t('common.actions.search') }}\n\t\t\t\t\t</n-button>\n\t\t\t\t\t<n-button type=\"primary\" ghost @click=\"handleRefreshData\">\n\t\t\t\t\t\t{{ $t('api.refreshData') }}\n\t\t\t\t\t</n-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\t\t<api-overview ref=\"overviewRef\" :time=\"tableParams.time_range\"></api-overview>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">\n\t\t\t\t\t{{ $t('api.createNew') }}\n\t\t\t\t</n-button>\n\t\t\t\t<bt-help href=\"https://www.billionmail.com/start/api_mail_guide.html\" :text=\"$t('common.actions.help')\">\n\t\t\t\t</bt-help>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table v-bind=\"tableProps\" :columns=\"columns\"></n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page v-bind=\"pageProps\" @refresh=\"fetchTable\"> </bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<form-modal></form-modal>\n\t\t\t\t<test-modal></test-modal>\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex, NTag } from 'naive-ui'\nimport { confirm } from '@/utils'\nimport { useDataTable } from '@/hooks/useDataTable'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { deleteApi, getApiList } from '@/api/modules/api'\nimport type { Api, ApiParams } from './types/base'\n\nimport ApiOverview from './components/Overview.vue'\nimport ApiKey from './components/ApiKey.vue'\nimport ApiForm from './components/ApiForm.vue'\nimport ApiTest from './components/ApiTest.vue'\n\nconst { t } = useI18n()\n\nconst overviewRef = useTemplateRef('overviewRef')\n\nconst activeOptions = [\n\t{ label: t('api.statusOptions.all'), value: -1 },\n\t{ label: t('api.statusOptions.active'), value: 1 },\n\t{ label: t('api.statusOptions.inactive'), value: 0 },\n]\n\nconst columns = ref<DataTableColumns<Api>>([\n\t{\n\t\tkey: 'api_name',\n\t\ttitle: t('api.columns.apiName'),\n\t\tmaxWidth: 120,\n\t\trender: row => (\n\t\t\t<NButton\n\t\t\t\ttype=\"primary\"\n\t\t\t\ttext\n\t\t\t\tonClick={() => {\n\t\t\t\t\thandleEdit(row)\n\t\t\t\t}}>\n\t\t\t\t{row.api_name}\n\t\t\t</NButton>\n\t\t),\n\t},\n\t{\n\t\tkey: 'api_key',\n\t\ttitle: t('api.columns.apiKey'),\n\t\twidth: '28%',\n\t\tmaxWidth: 160,\n\t\trender: row => <ApiKey class=\"w-94%\" value={row.api_key}></ApiKey>,\n\t},\n\t{\n\t\tkey: 'send_count',\n\t\ttitle: t('api.columns.sendCount'),\n\t\twidth: '9%',\n\t\tmaxWidth: 100,\n\t},\n\t{\n\t\tkey: 'open_rate',\n\t\ttitle: t('api.columns.openRate'),\n\t\twidth: '9%',\n\t\tmaxWidth: 100,\n\t\trender: row => {\n\t\t\treturn `${row.open_rate}%`\n\t\t},\n\t},\n\t{\n\t\tkey: 'click_rate',\n\t\ttitle: t('api.columns.clickRate'),\n\t\twidth: '9%',\n\t\tmaxWidth: 100,\n\t\trender: row => {\n\t\t\treturn `${row.click_rate}%`\n\t\t},\n\t},\n\t{\n\t\tkey: 'bounce_rate',\n\t\ttitle: t('api.columns.bounceRate'),\n\t\twidth: '9%',\n\t\tmaxWidth: 100,\n\t\trender: row => {\n\t\t\treturn `${row.bounce_rate}%`\n\t\t},\n\t},\n\t{\n\t\tkey: 'active',\n\t\ttitle: t('api.columns.status'),\n\t\twidth: '8%',\n\t\tmaxWidth: 80,\n\t\trender: row => (\n\t\t\t<NTag size=\"small\" type={row.active ? 'primary' : 'warning'} bordered={false}>\n\t\t\t\t{row.active ? t('api.statusLabels.active') : t('api.statusLabels.inactive')}\n\t\t\t</NTag>\n\t\t),\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 160,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleTest(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.test')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst { tableParams, tableProps, pageProps, fetchTable } = useDataTable<Api, ApiParams>({\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tkeyword: '',\n\t\tactive: -1,\n\t\ttime_range: [0, 0],\n\t},\n\timmediate: false,\n\tfetchFn: getApiList,\n\tuseParams: params => {\n\t\treturn {\n\t\t\tpage: params.page,\n\t\t\tpage_size: params.page_size,\n\t\t\tkeyword: params.keyword,\n\t\t\tactive: params.active,\n\t\t\tstart_time: Math.floor(params.time_range[0] / 1000),\n\t\t\tend_time: Math.floor(params.time_range[1] / 1000),\n\t\t}\n\t},\n})\n\nconst handleRefreshData = async () => {\n\toverviewRef.value?.getStats()\n\tfetchTable()\n}\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: ApiForm,\n\tstate: {\n\t\tisEdit: false,\n\t\trefresh: fetchTable,\n\t},\n})\n\nconst handleAdd = () => {\n\tformModalApi.setState({\n\t\trow: null,\n\t\tisEdit: false,\n\t})\n\tformModalApi.open()\n}\n\nconst handleEdit = (row: Api) => {\n\tformModalApi.setState({\n\t\trow,\n\t\tisEdit: true,\n\t})\n\tformModalApi.open()\n}\n\nconst [TestModal, testModalApi] = useModal({\n\tcomponent: ApiTest,\n\tstate: {\n\t\trow: null,\n\t},\n})\n\nconst handleTest = (row: Api) => {\n\ttestModalApi.setState({ row })\n\ttestModalApi.open()\n}\n\nconst handleDelete = (row: Api) => {\n\tconfirm({\n\t\ttitle: t('api.confirmDelete.title', { apiName: row.api_name }),\n\t\tcontent: t('api.confirmDelete.content'),\n\t\tonConfirm: async () => {\n\t\t\tawait deleteApi({ id: row.id })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nonMounted(() => {\n\tfetchTable()\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/api/types/base.ts",
    "content": "export interface Api {\n\tid: number\n\tapi_key: string\n\tapi_name: string\n\ttemplate_id: number\n\tsubject: string\n\taddresser: string\n\tfull_name: string\n\tserver_addresser: string\n\tunsubscribe: number\n\ttrack_open: number\n\ttrack_click: number\n\tactive: number\n\tcreate_time: number\n\tupdate_time: number\n\texpire_time: number\n\tsend_count: number\n\tsuccess_count: number\n\tfail_count: number\n\topen_rate: number\n\tclick_rate: number\n\tdelivery_rate: number\n\tbounce_rate: number\n\tgroup_id: number\n\tip_whitelist: string[]\n}\n\nexport interface ApiParams {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n\tactive: number\n\ttime_range: [number, number]\n}\n\nexport interface OverviewStats {\n\ttotal_send: number\n\tavg_delivery_rate: number\n\tavg_open_rate: number\n\tavg_click_rate: number\n\tavg_bounce_rate: number\n\tavg_unsub_rate: number\n\ttotal_unsubscribe: number\n}\n"
  },
  {
    "path": "core/frontend/src/views/automation/index.vue",
    "content": "<template>\n\t<div>aaaaa</div>\n</template>\n\n<script lang=\"ts\" setup></script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/group/components/GroupAdd.vue",
    "content": "<template>\n\t<modal :title=\"t('contacts.group.add.title')\" width=\"540\">\n\t\t<div class=\"pt-12px\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item :label=\"t('contacts.group.form.name')\" path=\"name\">\n\t\t\t\t\t<n-input v-model:value=\"form.name\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item label=\"List Type\">\n\t\t\t\t\t<n-select v-model:value=\"form.double_optin\" :options=\"statusOptions\"></n-select>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"t('contacts.group.form.file')\" path=\"file_data\">\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<bt-file-upload\n\t\t\t\t\t\t\t:is-upload=\"false\"\n\t\t\t\t\t\t\t:max-size=\"10\"\n\t\t\t\t\t\t\t:accept=\"['csv']\"\n\t\t\t\t\t\t\t@change=\"handleChangeFile\">\n\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t\t<div class=\"mt-8px text-desc\">\n\t\t\t\t\t\t\t<span class=\"mr-4px\">{{ t('contacts.group.fileUpload.hint') }}</span>\n\t\t\t\t\t\t\t<n-button text type=\"primary\" @click=\"handleDownloadTemplate\">\n\t\t\t\t\t\t\t\t{{ $t('common.actions.download') }}\n\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item label=\"Example raw CSV\">\n\t\t\t\t\t<pre class=\"csv-example\">{{ example }}</pre>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { UploadFileInfo } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { downloadFile } from '@/api/modules/public'\nimport { createGroup } from '@/api/modules/contacts/group'\n\nconst { t } = useI18n()\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tcreate_type: 2,\n\tname: '',\n\tdescription: '',\n\tdouble_optin: 0,\n\tfile_data: '',\n\tfile_type: '',\n})\n\nconst rules = {\n\tname: {\n\t\trequired: true,\n\t\tmessage: t('contacts.group.form.nameRequired'),\n\t\ttrigger: 'blur',\n\t},\n}\n\nconst statusOptions = [\n\t{ label: 'Single Opt-in', value: 0 },\n\t{ label: 'Double Opt-in', value: 1 },\n]\n\nconst example = `email,attributes\nexample1@example.com,\"{\"\"age\"\": \"\"13\"\", \"\"Gender\"\": \"\"XXX\"\"}\"\nexample2@example.com,\"{\"\"age\"\": \"\"45\"\", \"\"city\"\": \"\"XXX\"\"}\"\n`\n\nconst handleChangeFile = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.file_type = file.name.substring(file.name.lastIndexOf('.') + 1)\n\t\tform.file_data = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst handleDownloadTemplate = async () => {\n\tawait downloadFile({ file_path: './template/example_recipients.csv' })\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tform.name = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tawait createGroup(toRaw(form))\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate?.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.csv-example {\n\twidth: 100%;\n\tmargin: 0;\n\tpadding: 16px 24px;\n\tbackground: none;\n\tborder: 1px solid var(--color-border-1);\n\tborder-radius: 4px;\n\toverflow-x: auto;\n\twhite-space: pre;\n\tword-wrap: normal;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/group/components/GroupRename.vue",
    "content": "<template>\n\t<modal :title=\"t('contacts.group.rename.title')\" width=\"400\">\n\t\t<div class=\"pt-12px\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item :label=\"t('contacts.group.form.name')\" path=\"name\">\n\t\t\t\t\t<n-input v-model:value=\"form.name\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useModal } from '@/hooks/modal/useModal'\nimport { updateGroup } from '@/api/modules/contacts/group'\nimport type { Group } from '../types/base'\n\nconst { t } = useI18n()\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tgroup_id: 0,\n\tname: '',\n})\n\nconst rules = {\n\tname: {\n\t\trequired: true,\n\t\tmessage: t('contacts.group.form.nameRequired'),\n\t\ttrigger: 'blur',\n\t},\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ row: Group | null }>()\n\t\t\tconst { row } = state\n\t\t\tif (row) {\n\t\t\t\tform.group_id = row.id\n\t\t\t\tform.name = row.name\n\t\t\t}\n\t\t} else {\n\t\t\tform.group_id = 0\n\t\t\tform.name = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tawait updateGroup(toRaw(form))\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate?.refresh()\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/group/index.vue",
    "content": "<template>\n\t<bt-table-layout>\n\t\t<template #toolsLeft>\n\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">Add group</n-button>\n\t\t</template>\n\t\t<template #toolsRight>\n\t\t\t<bt-search\n\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t:width=\"280\"\n\t\t\t\t:placeholder=\"t('contacts.group.search.namePlaceholder')\"\n\t\t\t\t@search=\"() => fetchTable(true)\">\n\t\t\t</bt-search>\n\t\t</template>\n\t\t<template #table>\n\t\t\t<n-data-table v-bind=\"tableProps\" :columns=\"columns\">\n\t\t\t\t<template #empty>\n\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t</template>\n\t\t\t</n-data-table>\n\t\t</template>\n\t\t<template #pageLeft>\n\t\t\t<bt-table-batch v-bind=\"batchProps\" :options=\"batchOptions\" @select=\"handleBatchSelect\">\n\t\t\t</bt-table-batch>\n\t\t</template>\n\t\t<template #pageRight>\n\t\t\t<bt-table-page v-bind=\"pageProps\" @refresh=\"fetchTable\"> </bt-table-page>\n\t\t</template>\n\t\t<template #modal>\n\t\t\t<add-modal />\n\t\t\t<rename-modal />\n\t\t</template>\n\t</bt-table-layout>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex, NSelect, NTag } from 'naive-ui'\nimport { confirm, formatTime } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useDataTable } from '@/hooks/useDataTable'\nimport { getGroupList, deleteGroup, exportGroup } from '@/api/modules/contacts/group'\nimport type { Group, GroupParams } from './types/base.ts'\n\nimport GroupAdd from './components/GroupAdd.vue'\nimport GroupRename from './components/GroupRename.vue'\n\nconst { t } = useI18n()\n\nconst router = useRouter()\n\nconst { tableProps, pageProps, batchProps, tableParams, fetchTable } = useDataTable<\n\tGroup,\n\tGroupParams\n>({\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tkeyword: '',\n\t},\n\tfetchFn: getGroupList,\n})\n\nconst columns = ref<DataTableColumns<Group>>([\n\t{\n\t\ttype: 'selection',\n\t},\n\t{\n\t\tkey: 'name',\n\t\ttitle: t('contacts.group.columns.name'),\n\t\tminWidth: 120,\n\t\trender: row => (\n\t\t\t<NButton\n\t\t\t\ttext\n\t\t\t\ttype=\"primary\"\n\t\t\t\tonClick={() => {\n\t\t\t\t\trouter.push({\n\t\t\t\t\t\tpath: '/contacts/subscribers',\n\t\t\t\t\t\tstate: { group_id: row.id },\n\t\t\t\t\t})\n\t\t\t\t}}>\n\t\t\t\t{row.name}\n\t\t\t</NButton>\n\t\t),\n\t},\n\t{\n\t\tkey: 'total_count',\n\t\ttitle: t('contacts.group.columns.subscribers'),\n\t\tminWidth: 100,\n\t\trender: row => (\n\t\t\t<NTag size=\"small\" type=\"primary\" bordered={false}>\n\t\t\t\t{row.total_count - row.unsubscribe_count}\n\t\t\t</NTag>\n\t\t),\n\t},\n\t// {\n\t// \tkey: 'unsubscribe_count',\n\t// \ttitle: t('contacts.group.columns.unsubscribe'),\n\t// \tminWidth: 100,\n\t// \trender: row => row.unsubscribe_count || 0,\n\t// },\n\t{\n\t\tkey: 'double_optin',\n\t\ttitle: t('contacts.group.columns.type'),\n\t\tminWidth: 100,\n\t\trender: row =>\n\t\t\trow.double_optin === 1\n\t\t\t\t? t('contacts.group.type.doubleOptin')\n\t\t\t\t: t('contacts.group.type.singleOptin'),\n\t},\n\t{\n\t\tkey: 'create_time',\n\t\ttitle: t('contacts.group.columns.createdAt'),\n\t\tminWidth: 140,\n\t\trender: row => formatTime(row.create_time),\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 180,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleSettings(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.settings')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst batchOptions = [\n\t{\n\t\tlabel: t('common.actions.export'),\n\t\tvalue: 'export',\n\t},\n]\n\nconst handleBatchSelect = (key: string, keys: number[]) => {\n\tswitch (key) {\n\t\tcase 'export':\n\t\t\thandleBatchExport(keys)\n\t\t\tbreak\n\t}\n}\n\nconst exportFormats = ref([\n\t{\n\t\tlabel: 'CSV',\n\t\tvalue: 'csv',\n\t},\n\t{\n\t\tlabel: 'TXT',\n\t\tvalue: 'txt',\n\t},\n])\n\nconst handleBatchExport = (keys: number[]) => {\n\tconst format = ref('csv')\n\tconfirm({\n\t\ttitle: t('contacts.group.export.title'),\n\t\tcontent: () => (\n\t\t\t<>\n\t\t\t\t<div class=\"mb-10px\">{t('contacts.group.export.confirm', { count: keys.length })}</div>\n\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t<NSelect\n\t\t\t\t\t\tvalue={format.value}\n\t\t\t\t\t\toptions={exportFormats.value}\n\t\t\t\t\t\tonUpdate:value={val => {\n\t\t\t\t\t\t\tformat.value = val\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t),\n\t\tonConfirm: async () => {\n\t\t\tawait exportGroup({\n\t\t\t\tformat: format.value,\n\t\t\t\tinclude_unsubscribe: true,\n\t\t\t\tgroup_ids: keys,\n\t\t\t\texport_type: 1,\n\t\t\t})\n\t\t},\n\t})\n}\n\nconst [AddModal, addModalApi] = useModal({\n\tcomponent: GroupAdd,\n\tstate: {\n\t\trefresh: fetchTable,\n\t},\n})\n\nconst handleAdd = () => {\n\taddModalApi.open()\n}\n\nconst handleSettings = (row: Group) => {\n\trouter.push(`/contacts/settings/${row.id}`)\n}\n\nconst [RenameModal, renameModalApi] = useModal({\n\tcomponent: GroupRename,\n\tstate: {\n\t\trefresh: fetchTable,\n\t},\n})\n\nconst handleEdit = (row: Group) => {\n\trenameModalApi.setState({ row })\n\trenameModalApi.open()\n}\n\nconst handleDelete = (row: Group) => {\n\tconfirm({\n\t\ttitle: t('contacts.group.delete.title'),\n\t\tcontent: t('contacts.group.delete.confirm', { name: row.name }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteGroup({ group_ids: [row.id] })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/group/temp.vue",
    "content": "<template>\n\t<div>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">\n\t\t\t\t\t{{ t('common.actions.add') }}\n\t\t\t\t</n-button>\n\t\t\t</template>\n\t\t\t<template #toolsRight>\n\t\t\t\t<bt-search\n\t\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t\t:width=\"280\"\n\t\t\t\t\t:placeholder=\"t('contacts.group.search.namePlaceholder')\"\n\t\t\t\t\t@search=\"() => getTableData(true)\">\n\t\t\t\t</bt-search>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table\n\t\t\t\t\tv-model:checked-row-keys=\"checkedKeys\"\n\t\t\t\t\t:row-key=\"row => row.id\"\n\t\t\t\t\t:loading=\"loading\"\n\t\t\t\t\t:columns=\"columns\"\n\t\t\t\t\t:data=\"tableList\">\n\t\t\t\t\t<template #empty>\n\t\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t\t</template>\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageLeft>\n\t\t\t\t<n-button :disabled=\"checkedKeys.length === 0\" @click=\"handleExport\">\n\t\t\t\t\t{{ $t('common.actions.export') }}\n\t\t\t\t</n-button>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page\n\t\t\t\t\tv-model:page=\"tableParams.page\"\n\t\t\t\t\tv-model:page-size=\"tableParams.page_size\"\n\t\t\t\t\t:item-count=\"tableTotal\"\n\t\t\t\t\t@refresh=\"getTableData\">\n\t\t\t\t</bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<add-modal />\n\t\t\t\t<rename-modal />\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useTableData } from '@/hooks/useTableData'\nimport { confirm, formatTime } from '@/utils'\nimport { getGroupList, deleteGroup, exportGroup } from '@/api/modules/contacts/group'\nimport type { Group, GroupParams } from './types/base.ts'\n\nimport GroupAdd from './components/GroupAdd.vue'\nimport GroupRename from './components/GroupRename.vue'\n\nconst { t } = useI18n()\n\nconst router = useRouter()\n\nconst checkedKeys = ref<number[]>([])\n\nconst { tableParams, tableList, loading, tableTotal, getTableData } = useTableData<\n\tGroup,\n\tGroupParams\n>({\n\tloading: true,\n\timmediate: true,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tkeyword: '',\n\t},\n\tfetchFn: getGroupList,\n})\n\n// Table columns\nconst columns = ref<DataTableColumns<Group>>([\n\t{\n\t\ttype: 'selection',\n\t},\n\t{\n\t\tkey: 'name',\n\t\ttitle: t('contacts.group.columns.name'),\n\t\tminWidth: 120,\n\t\trender: row => (\n\t\t\t<NButton\n\t\t\t\ttext\n\t\t\t\ttype=\"primary\"\n\t\t\t\tonClick={() => {\n\t\t\t\t\trouter.push({\n\t\t\t\t\t\tpath: '/contacts/subscribers',\n\t\t\t\t\t\tstate: { group_id: row.id },\n\t\t\t\t\t})\n\t\t\t\t}}>\n\t\t\t\t{row.name}\n\t\t\t</NButton>\n\t\t),\n\t},\n\t{\n\t\tkey: 'total_count',\n\t\ttitle: t('contacts.group.columns.subscribers'),\n\t\tminWidth: 100,\n\t\trender: row => row.total_count || 0,\n\t},\n\t{\n\t\tkey: 'double_optin',\n\t\ttitle: t('contacts.group.columns.type'),\n\t\tminWidth: 100,\n\t\trender: row =>\n\t\t\trow.double_optin === 1\n\t\t\t\t? t('contacts.group.type.doubleOptin')\n\t\t\t\t: t('contacts.group.type.singleOptin'),\n\t},\n\t{\n\t\tkey: 'create_time',\n\t\ttitle: t('contacts.group.columns.createdAt'),\n\t\tminWidth: 140,\n\t\trender: row => formatTime(row.create_time),\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 180,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleSettings(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.settings')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.rename')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst [AddModal, addModalApi] = useModal({\n\tcomponent: GroupAdd,\n\tstate: {\n\t\trefresh: getTableData,\n\t},\n})\n\n// Handle add group\nconst handleAdd = () => {\n\taddModalApi.open()\n}\n\nconst handleSettings = (row: Group) => {\n\trouter.push(`/contacts/settings/${row.id}`)\n}\n\nconst [RenameModal, renameModalApi] = useModal({\n\tcomponent: GroupRename,\n\tstate: {\n\t\trefresh: getTableData,\n\t},\n})\n\n// Handle edit\nconst handleEdit = (row: Group) => {\n\trenameModalApi.setState({ row })\n\trenameModalApi.open()\n}\n\n// Handle delete\nconst handleDelete = (row: Group) => {\n\tconfirm({\n\t\ttitle: t('contacts.group.delete.title'),\n\t\tcontent: t('contacts.group.delete.confirm', { name: row.name }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteGroup({ group_ids: [row.id] })\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n\nconst handleExport = () => {\n\tconfirm({\n\t\ttitle: t('contacts.group.export.title'),\n\t\tcontent: t('contacts.group.export.confirm', { count: checkedKeys.value.length }),\n\t\tonConfirm: async () => {\n\t\t\tawait exportGroup({\n\t\t\t\tformat: 'csv',\n\t\t\t\tinclude_unsubscribe: true,\n\t\t\t\tgroup_ids: checkedKeys.value,\n\t\t\t\texport_type: 1,\n\t\t\t})\n\t\t},\n\t})\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/group/types/base.ts",
    "content": "export interface Group {\n\tid: number\n\tname: string\n\tdescription: string\n\tcreate_time: number\n\tupdate_time: number\n\ttoken: string\n\tdouble_optin: number\n\twelcome_mail_id: number\n\tconfirm_mail_id: number\n\tsuccess_url: string\n\tconfirm_url: string\n\talready_url: string\n\ttotal_count: number\n\tactive_count: number\n\tunsubscribe_count: number\n\tsubscribe_link: string\n\tsubscribe_form: string\n}\n\nexport interface GroupParams {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/contacts/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<bt-route-tabs></bt-route-tabs>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup></script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/settings/components/Code.vue",
    "content": "<template>\n\t<div class=\"flex items-center gap-16px w-full\">\n\t\t<n-card class=\"flex-1\">\n\t\t\t<pre>{{ value || '--' }}</pre>\n\t\t</n-card>\n\t\t<n-button @click=\"handleCopy\">\n\t\t\t{{ $t('common.actions.copy') }}\n\t\t</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useCopy } from '@/hooks/useCopy'\n\nconst { value } = defineProps({\n\tvalue: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n})\n\nconst { copyText } = useCopy()\n\nconst handleCopy = async () => {\n\tawait copyText(value)\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.n-card {\n\t--n-padding-top: 8px;\n\t--n-padding-left: 8px;\n\t--n-padding-right: 8px;\n\t--n-padding-bottom: 8px;\n}\n\npre {\n\tline-height: 18px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/settings/components/Editor.vue",
    "content": "<template>\n\t<div class=\"flex-1\">\n\t\t<div class=\"flex justify-end gap-12px mb-8px\">\n\t\t\t<div>\n\t\t\t\t<bt-file-upload\n\t\t\t\t\tmode=\"button\"\n\t\t\t\t\tbutton-type=\"primary\"\n\t\t\t\t\tbutton-size=\"small\"\n\t\t\t\t\t:accept=\"['html']\"\n\t\t\t\t\t@change=\"handleFileUpload\">\n\t\t\t\t\t{{ $t('market.template.uploadHtml') }}\n\t\t\t\t</bt-file-upload>\n\t\t\t</div>\n\t\t\t<n-button type=\"primary\" ghost @click=\"handlePreview\">\n\t\t\t\t{{ $t('common.actions.preview') }}\n\t\t\t</n-button>\n\t\t</div>\n\t\t<div class=\"h-400px\">\n\t\t\t<bt-editor v-model:value=\"content\" language=\"html\"> </bt-editor>\n\t\t</div>\n\t\t<preview-modal />\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { UploadFileInfo } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\n\nimport TemplatePreview from '@/views/market/template/components/TemplatePreview.vue'\n\nconst content = defineModel<string>('value')\n\nconst handleFileUpload = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tcontent.value = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst [PreviewModal, previewModalApi] = useModal({\n\tcomponent: TemplatePreview,\n})\n\nconst handlePreview = () => {\n\tpreviewModalApi.setState({ html: content.value })\n\tpreviewModalApi.open()\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/settings/components/SubscribeForm.vue",
    "content": "<template>\n\t<div class=\"subscribe-form-container\">\n\t\t<!-- 分离订阅页面部分 -->\n\t\t<div class=\"section\">\n\t\t\t<h3 class=\"section-title\">\n\t\t\t\t{{ $t('contacts.settings.subscribeForm.separateSubscriptionPage.title') }}\n\t\t\t</h3>\n\t\t\t<p class=\"section-description\">\n\t\t\t\t{{ $t('contacts.settings.subscribeForm.separateSubscriptionPage.description') }}\n\t\t\t</p>\n\t\t\t<form-code :value=\"subscriptionUrl\"></form-code>\n\t\t</div>\n\n\t\t<!-- 可嵌入表单部分 -->\n\t\t<div class=\"section\">\n\t\t\t<h3 class=\"section-title\">\n\t\t\t\t{{ $t('contacts.settings.subscribeForm.embeddableForm.title') }}\n\t\t\t</h3>\n\t\t\t<p class=\"section-description\">\n\t\t\t\t{{ $t('contacts.settings.subscribeForm.embeddableForm.description') }}\n\t\t\t</p>\n\t\t\t<form-code :value=\"embedCode\"></form-code>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useContext } from '../hooks/useContext'\nimport FormCode from './Code.vue'\n\n// 订阅页面URL\nconst subscriptionUrl = ref('')\n\n// 嵌入代码\nconst embedCode = ref(``)\n\nconst { groupInfo } = useContext()\n\nwatchEffect(() => {\n\tif (groupInfo.value) {\n\t\tsubscriptionUrl.value = groupInfo.value.subscribe_link\n\t\tembedCode.value = groupInfo.value.subscribe_form\n\t}\n})\n</script>\n\n<style scoped>\n.subscribe-form-container {\n\tmax-width: 800px;\n}\n\n.section {\n\tmargin-bottom: 32px;\n}\n\n.section-title {\n\tmargin-bottom: 12px;\n\tfont-size: 14px;\n\tfont-weight: 600;\n\tcolor: var(--color-text-1);\n}\n\n.section-description {\n\tmargin-bottom: 12px;\n\tcolor: var(--color-text-2);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/settings/components/SubscribeSettings.vue",
    "content": "<template>\n\t<bt-form class=\"subscribe-settings\">\n\t\t<n-form-item :label=\"$t('contacts.settings.subscribeSettings.listType.label')\">\n\t\t\t<div class=\"w-200px\">\n\t\t\t\t<n-select\n\t\t\t\t\tv-model:value=\"form.double_optin\"\n\t\t\t\t\t:options=\"listTypeOptions\"\n\t\t\t\t\t:placeholder=\"$t('contacts.settings.subscribeSettings.listType.placeholder')\">\n\t\t\t\t</n-select>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item\n\t\t\tv-if=\"form.double_optin === 1\"\n\t\t\t:label=\"$t('contacts.settings.subscribeSettings.confirmEmail.subject')\">\n\t\t\t<div class=\"w-420px\">\n\t\t\t\t<n-input v-model:value=\"form.confirm_subject\"></n-input>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item\n\t\t\tv-if=\"form.double_optin === 1\"\n\t\t\t:label=\"$t('contacts.settings.subscribeSettings.confirmEmail.redirectLink')\">\n\t\t\t<div class=\"flex-1\">\n\t\t\t\t<div class=\"setting-description mb-8px\">\n\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.confirmEmail.redirectDescription') }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"w-420px\">\n\t\t\t\t\t<n-input v-model:value=\"form.confirm_url\"></n-input>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item\n\t\t\tv-if=\"form.double_optin === 1\"\n\t\t\t:label=\"$t('contacts.settings.subscribeSettings.confirmEmail.emailContent')\">\n\t\t\t<div class=\"flex-1\">\n\t\t\t\t<div class=\"setting-description mb-8px\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.confirmEmail.emailTip1') }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<n-tag size=\"small\"> {{ `\\{\\{ ConfirmURL . \\}\\}` }} </n-tag>\n\t\t\t\t\t\t<span>{{ $t('contacts.settings.subscribeSettings.confirmEmail.emailTip2') }}</span>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<editor v-model:value=\"form.confirm_mail_html\"></editor>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item :label=\"$t('contacts.settings.subscribeSettings.welcomeEmail.subject')\">\n\t\t\t<div class=\"w-420px\">\n\t\t\t\t<n-input v-model:value=\"form.welcome_subject\"></n-input>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item :label=\"$t('contacts.settings.subscribeSettings.welcomeEmail.redirectLink')\">\n\t\t\t<div class=\"flex-1\">\n\t\t\t\t<div class=\"setting-description mb-8px\">\n\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.welcomeEmail.redirectDescription') }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"w-420px\">\n\t\t\t\t\t<n-input v-model:value=\"form.success_url\"></n-input>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item>\n\t\t\t<template #label>\n\t\t\t\t<span class=\"mr-16px\">\n\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.welcomeEmail.emailContent') }}\n\t\t\t\t</span>\n\t\t\t\t<n-switch v-model:value=\"form.send_welcome_email\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t</n-switch>\n\t\t\t</template>\n\t\t\t<div class=\"flex-1\">\n\t\t\t\t<div class=\"setting-description mb-8px\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.welcomeEmail.sendThroughTip') }}\n\t\t\t\t\t\t<n-tag size=\"small\">{{ sender }}</n-tag>\n\t\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.welcomeEmail.mailboxTip') }}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.welcomeEmail.enabledDescription') }}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.welcomeEmail.templateVariablesTip') }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<n-tag size=\"small\">{{ `\\{\\{ .Subscriber.Email \\}\\}` }}</n-tag>\n\t\t\t\t\t\t<span>, </span>\n\t\t\t\t\t\t<n-tag size=\"small\">{{ `\\{\\{ .Subscriber.name \\}\\}` }}</n-tag>\n\t\t\t\t\t\t<span> ...</span>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<editor v-model:value=\"form.welcome_mail_html\"></editor>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item :label=\"$t('contacts.settings.subscribeSettings.alreadySubscribed.redirectLink')\">\n\t\t\t<div class=\"flex-1\">\n\t\t\t\t<div class=\"setting-description mb-8px\"></div>\n\t\t\t\t<div class=\"w-420px\">\n\t\t\t\t\t<n-input v-model:value=\"form.already_url\"></n-input>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item :show-label=\"false\">\n\t\t\t<n-button size=\"large\" type=\"primary\" @click=\"handleSave\">\n\t\t\t\t{{ $t('common.actions.save') }}\n\t\t\t</n-button>\n\t\t</n-form-item>\n\t</bt-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { SelectOption } from 'naive-ui'\nimport { saveSubscribeSetting } from '@/api/modules/contacts/group'\nimport { useContext } from '../hooks/useContext'\n\nimport Editor from './Editor.vue'\n\nconst { t } = useI18n()\n\nconst sender = ref('--')\n\nconst form = reactive({\n\tgroup_id: 0,\n\tdouble_optin: 1,\n\tsend_welcome_email: 1,\n\twelcome_subject: '',\n\tthank_you_subject: '',\n\twelcome_mail_html: '',\n\twelcome_mail_drag: '',\n\tsuccess_url: '',\n\tconfirm_subject: '',\n\tconfirm_mail_html: '',\n\tconfirm_mail_drag: '',\n\tconfirm_url: '',\n\talready_url: '',\n})\n\n// 选项数据\nconst listTypeOptions: SelectOption[] = [\n\t{ label: t('contacts.settings.subscribeSettings.listType.options.doubleOptin'), value: 1 },\n\t{ label: t('contacts.settings.subscribeSettings.listType.options.singleOptin'), value: 0 },\n]\n\nconst { groupInfo, getInfo } = useContext()\n\nconst handleSave = async () => {\n\tawait saveSubscribeSetting(toRaw(form))\n\tgetInfo()\n}\n\nwatchEffect(() => {\n\tif (groupInfo.value) {\n\t\tform.group_id = groupInfo.value.id\n\t\tform.double_optin = groupInfo.value.double_optin\n\t\tform.welcome_subject = groupInfo.value.welcome_subject\n\t\tform.send_welcome_email = groupInfo.value.send_welcome_email\n\t\tform.welcome_mail_html = groupInfo.value.welcome_mail_html\n\t\tform.welcome_mail_drag = groupInfo.value.welcome_mail_drag\n\t\tform.success_url = groupInfo.value.success_url\n\t\tform.confirm_subject = groupInfo.value.confirm_subject\n\t\tform.confirm_mail_html = groupInfo.value.confirm_mail_html\n\t\tform.confirm_mail_drag = groupInfo.value.confirm_mail_drag\n\t\tform.confirm_url = groupInfo.value.confirm_url\n\t\tform.already_url = groupInfo.value.already_url\n\t\tsender.value = groupInfo.value.sender\n\t}\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.subscribe-settings {\n\twidth: 80%;\n\tmin-width: 1000px;\n}\n\n.setting-description {\n\tline-height: 20px;\n\tcolor: var(--color-text-2);\n}\n\n.action-buttons {\n\twidth: 100%;\n\tpadding: 23px 24px;\n\tbackground-color: var(--color-bg-1);\n\tborder-top: 1px solid var(--color-border-1);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/settings/components/UnsubscribeSettings.vue",
    "content": "<template>\n\t<bt-form class=\"subscribe-settings\">\n\t\t<n-form-item :label=\"$t('contacts.settings.unsubscribeSettings.subject')\">\n\t\t\t<div class=\"w-420px\">\n\t\t\t\t<n-input v-model:value=\"form.unsubscribe_subject\"></n-input>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item :label=\"$t('contacts.settings.unsubscribeSettings.redirectLink')\">\n\t\t\t<div class=\"w-420px\">\n\t\t\t\t<n-input v-model:value=\"form.unsubscribe_redirect_url\"></n-input>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item>\n\t\t\t<template #label>\n\t\t\t\t<span class=\"mr-16px\">{{ $t('contacts.settings.unsubscribeSettings.emailPage') }}</span>\n\t\t\t\t<n-switch\n\t\t\t\t\tv-model:value=\"form.send_unsubscribe_email\"\n\t\t\t\t\t:checked-value=\"1\"\n\t\t\t\t\t:unchecked-value=\"0\">\n\t\t\t\t</n-switch>\n\t\t\t</template>\n\t\t\t<div class=\"flex-1 w-auto\">\n\t\t\t\t<div class=\"setting-description mb-8px\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.welcomeEmail.sendThroughTip') }}\n\t\t\t\t\t\t<n-tag size=\"small\">{{ sender }}</n-tag>\n\t\t\t\t\t\t{{ $t('contacts.settings.subscribeSettings.welcomeEmail.mailboxTip') }}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{{ $t('contacts.settings.unsubscribeSettings.enabledDescription') }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<editor v-model:value=\"form.unsubscribe_mail_html\"></editor>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<n-form-item :show-label=\"false\">\n\t\t\t<n-button size=\"large\" type=\"primary\" @click=\"handleSave\">\n\t\t\t\t{{ $t('common.actions.save') }}\n\t\t\t</n-button>\n\t\t</n-form-item>\n\t</bt-form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { saveUnsubscribeSetting } from '@/api/modules/contacts/group'\nimport { useContext } from '../hooks/useContext'\nimport Editor from './Editor.vue'\n\nconst { groupInfo, getInfo } = useContext()\n\nconst sender = ref('--')\n\nconst form = reactive({\n\tgroup_id: 0,\n\tsend_unsubscribe_email: 0,\n\tunsubscribe_subject: '',\n\tunsubscribe_redirect_url: '',\n\tunsubscribe_mail_html: '',\n\tunsubscribe_mail_drag: '',\n})\n\nconst handleSave = async () => {\n\tawait saveUnsubscribeSetting(toRaw(form))\n\tgetInfo()\n}\n\nwatchEffect(() => {\n\tif (groupInfo.value) {\n\t\tform.group_id = groupInfo.value.id\n\t\tform.unsubscribe_subject = groupInfo.value.unsubscribe_subject\n\t\tform.unsubscribe_redirect_url = groupInfo.value.unsubscribe_redirect_url\n\t\tform.send_unsubscribe_email = groupInfo.value.send_unsubscribe_email\n\t\tform.unsubscribe_mail_html = groupInfo.value.unsubscribe_mail_html\n\t\tform.unsubscribe_mail_drag = groupInfo.value.unsubscribe_mail_drag\n\t\tsender.value = groupInfo.value.sender\n\t}\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.subscribe-settings {\n\twidth: 80%;\n\tmin-width: 1000px;\n}\n\n.setting-description {\n\tline-height: 24px;\n\tcolor: var(--color-text-2);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/settings/hooks/useContext.ts",
    "content": "import { GroupInfo } from '../types/base'\n\ntype Instance = {\n\tgroupInfo: Ref<GroupInfo | null>\n\tgetInfo: () => Promise<void>\n}\n\nconst key = Symbol('group-settings')\n\nexport function createContext(instance: Instance) {\n\tprovide(key, instance)\n}\n\nexport function useContext(): Instance {\n\treturn inject(key) as Instance\n}\n"
  },
  {
    "path": "core/frontend/src/views/contacts/settings/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<div class=\"bt-title mb-12px!\">\n\t\t\t{{ $t('layout.menu.contacts') }}\n\t\t</div>\n\t\t<n-breadcrumb class=\"mb-4px\">\n\t\t\t<n-breadcrumb-item>\n\t\t\t\t<router-link to=\"/contacts/group\">Group</router-link>\n\t\t\t</n-breadcrumb-item>\n\t\t\t<n-breadcrumb-item @click=\"onBack\">{{ groupInfo?.name || '--' }}</n-breadcrumb-item>\n\t\t\t<n-breadcrumb-item>{{ $t('contacts.settings.title') }}</n-breadcrumb-item>\n\t\t</n-breadcrumb>\n\t\t<n-tabs v-model:value=\"activeTab\" type=\"line\">\n\t\t\t<n-tab-pane name=\"form\" :tab=\"$t('contacts.settings.tabs.subscribeForm')\">\n\t\t\t\t<subscribe-form />\n\t\t\t</n-tab-pane>\n\t\t\t<n-tab-pane name=\"subscribe\" :tab=\"$t('contacts.settings.tabs.subscribeSettings')\">\n\t\t\t\t<subscribe-settings />\n\t\t\t</n-tab-pane>\n\t\t\t<n-tab-pane name=\"unsubscribe\" tab=\"Unsubscribe settings\">\n\t\t\t\t<unsubscribe-settings />\n\t\t\t</n-tab-pane>\n\t\t</n-tabs>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isObject } from '@/utils'\nimport { getGroupInfo } from '@/api/modules/contacts/group'\nimport { createContext } from './hooks/useContext'\nimport type { GroupInfo } from './types/base'\n\nimport SubscribeForm from './components/SubscribeForm.vue'\nimport SubscribeSettings from './components/SubscribeSettings.vue'\nimport UnsubscribeSettings from './components/UnsubscribeSettings.vue'\n\nconst route = useRoute()\nconst router = useRouter()\n\nconst id = computed(() => {\n\treturn Number(route.params.id)\n})\n\nconst activeTab = ref('form')\n\nconst groupInfo = ref<GroupInfo | null>(null)\n\nconst getInfo = async () => {\n\tconst res = await getGroupInfo({ group_id: id.value })\n\tif (isObject<GroupInfo>(res)) {\n\t\tgroupInfo.value = res\n\t}\n}\n\nconst onBack = () => {\n\trouter.back()\n}\n\ncreateContext({\n\tgroupInfo,\n\tgetInfo,\n})\n\ngetInfo()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/settings/types/base.ts",
    "content": "export interface GroupInfo {\n\tid: number\n\tname: string\n\tdescription: string\n\tcreate_time: number\n\tupdate_time: number\n\ttoken: string\n\tdouble_optin: number\n\twelcome_subject: string\n\tsend_welcome_email: number\n\twelcome_mail_html: string\n\twelcome_mail_drag: string\n\tconfirm_subject: string\n\tconfirm_mail_html: string\n\tconfirm_mail_drag: string\n\tsuccess_url: string\n\tconfirm_url: string\n\talready_url: string\n\tsender: string\n\tsubscribe_form: string\n\ttotal_count: number\n\tactive_count: number\n\tunsubscribe_count: number\n\tsubscribe_link: string\n\tunsubscribe_subject: string\n\tunsubscribe_redirect_url: string\n\tunsubscribe_mail_html: string\n\tunsubscribe_mail_drag: string\n\tsend_unsubscribe_email: number\n}\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/components/ActiveSelect.vue",
    "content": "<template>\n\t<div class=\"w-80px\">\n\t\t<n-select v-model:value=\"value\" :options=\"activeOptions\" @update:value=\"handleUpdateValue\">\n\t\t</n-select>\n\t</div>\n\t<div v-show=\"value !== -1\" class=\"w-120px\">\n\t\t<n-select v-model:value=\"time\" :options=\"timeOptions\"> </n-select>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\n\nconst { t } = useI18n()\n\nconst value = defineModel<number>('value', {\n\tdefault: -1,\n})\n\nconst activeOptions = computed<SelectOption[]>(() => [\n\t{\n\t\tlabel: t('contacts.subscribers.activeSelect.options.all'),\n\t\tvalue: -1,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.activeSelect.options.yes'),\n\t\tvalue: 1,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.activeSelect.options.no'),\n\t\tvalue: 0,\n\t},\n])\n\nconst time = defineModel<number>('time')\n\nconst timeOptions = computed<SelectOption[]>(() => [\n\t{\n\t\tlabel: t('contacts.subscribers.activeSelect.timeOptions.past7Days'),\n\t\tvalue: 7,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.activeSelect.timeOptions.pastMonth'),\n\t\tvalue: 30,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.activeSelect.timeOptions.past90Days'),\n\t\tvalue: 90,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.activeSelect.timeOptions.pastHalfYear'),\n\t\tvalue: 180,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.activeSelect.timeOptions.pastYear'),\n\t\tvalue: 365,\n\t},\n])\n\nconst handleUpdateValue = (value: number) => {\n\tif (value === -1) {\n\t\ttime.value = 0\n\t} else {\n\t\ttime.value = 365\n\t}\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/components/BatchSetTag.vue",
    "content": "<template>\n\t<modal :title=\"t('contacts.subscribers.batchSetTag.title')\" :width=\"500\">\n\t\t<bt-form class=\"pt-8px\">\n\t\t\t<n-form-item :label=\"t('contacts.subscribers.batchSetTag.labels.tag')\">\n\t\t\t\t<div class=\"flex-1 mr-12px\">\n\t\t\t\t\t<n-select\n\t\t\t\t\t\tv-model:value=\"form.tag_ids\"\n\t\t\t\t\t\t:options=\"tagOptions\"\n\t\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t\t:loading=\"loading\"\n\t\t\t\t\t\tmax-tag-count=\"responsive\">\n\t\t\t\t\t</n-select>\n\t\t\t\t</div>\n\t\t\t\t<n-button type=\"primary\" text @click=\"onCreate\">{{ $t('common.actions.create') }}</n-button>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('contacts.subscribers.batchSetTag.labels.action')\">\n\t\t\t\t<n-select v-model:value=\"form.action\" :options=\"actionOptions\"></n-select>\n\t\t\t</n-form-item>\n\n\t\t\t<form-modal></form-modal>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getTagAll } from '../../tags/service'\nimport { Tag } from '../../tags/types'\nimport { batchSetTag } from '@/api/modules/contacts/subscribers'\nimport TagForm from '../../tags/components/TagForm.vue'\nimport { useI18n } from 'vue-i18n'\n\nconst { t } = useI18n()\n\nconst form = reactive({\n\ttag_ids: [] as number[],\n\taction: 1,\n})\n\nconst tagOptions = ref<SelectOption[]>([])\n\nconst actionOptions = computed<SelectOption[]>(() => [\n\t{\n\t\tlabel: t('contacts.subscribers.batchSetTag.actions.add'),\n\t\tvalue: 1,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.batchSetTag.actions.remove'),\n\t\tvalue: 2,\n\t},\n])\n\nconst loading = ref(false)\n\nconst getTagOptions = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getTagAll({})\n\t\tif (isObject<{ list: Tag[] }>(res)) {\n\t\t\tconst { groupId } = modalApi.getState<{ groupId: number }>()\n\t\t\ttagOptions.value = res.list\n\t\t\t\t.filter(item => item.group_id === groupId)\n\t\t\t\t.map(item => ({\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t\tvalue: item.id,\n\t\t\t\t}))\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: TagForm,\n\tstate: {\n\t\trefresh: getTagOptions,\n\t},\n})\n\nconst onCreate = () => {\n\tconst { groupId } = modalApi.getState<{ groupId: number }>()\n\tformModalApi.setState({ row: null, isEdit: false, groupId })\n\tformModalApi.open()\n}\n\nconst resetForm = () => {\n\tform.tag_ids = []\n\tform.action = 1\n\ttagOptions.value = []\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: show => {\n\t\tif (show) {\n\t\t\tgetTagOptions()\n\t\t} else {\n\t\t\tresetForm()\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tconst { ids, refresh } = modalApi.getState<{ ids: number[]; refresh: () => void }>()\n\t\tawait batchSetTag({\n\t\t\tids,\n\t\t\ttag_ids: form.tag_ids,\n\t\t\taction: form.action,\n\t\t})\n\t\trefresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/components/GroupMultipleSelect.vue",
    "content": "<template>\n\t<n-select\n\t\tv-model:value=\"value\"\n\t\tmax-tag-count=\"responsive\"\n\t\t:multiple=\"true\"\n\t\t:filterable=\"true\"\n\t\t:loading=\"loading\"\n\t\t:options=\"groupOptions\">\n\t</n-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { getGroupAll } from '@/api/modules/contacts/group'\nimport type { Group } from '../../group/interface'\n\nconst value = defineModel<number[]>('value')\n\nconst groupOptions = ref<SelectOption[]>([])\n\nconst loading = ref(false)\n\nconst getGroupOptions = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getGroupAll()\n\t\tif (isObject<{ list: Group[] }>(res)) {\n\t\t\tgroupOptions.value = res.list.map(item => ({\n\t\t\t\tlabel: item.name,\n\t\t\t\tvalue: item.id,\n\t\t\t}))\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetGroupOptions()\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/components/GroupSelect.vue",
    "content": "<template>\n\t<n-select v-model:value=\"value\" :options=\"groupOptions\"> </n-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { getGroupAll } from '@/api/modules/contacts/group'\nimport type { Group } from '../../group/types/base'\n\nconst { t } = useI18n()\n\nconst value = defineModel<string | number>('value')\n\nconst groupOptions = ref<SelectOption[]>([{ label: t('common.all.text'), value: 0 }])\n\nconst getGroupOptions = async () => {\n\tconst res = await getGroupAll()\n\tif (isObject<{ list: Group[] }>(res)) {\n\t\tgroupOptions.value = res.list.map(item => ({\n\t\t\tlabel: item.name,\n\t\t\tvalue: item.id,\n\t\t}))\n\t\tgroupOptions.value.unshift({ label: t('common.all.text'), value: 0 })\n\t}\n}\n\ngetGroupOptions()\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/components/SubscriberEdit.vue",
    "content": "<template>\n\t<modal :title=\"$t('contacts.subscribers.edit.title')\" width=\"600\">\n\t\t<div class=\"pt-12px\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-grid :cols=\"12\" :x-gap=\"24\">\n\t\t\t\t\t<n-form-item-gi :span=\"8\" :label=\"$t('contacts.subscribers.edit.email')\">\n\t\t\t\t\t\t<n-input v-model:value=\"form.email\" :disabled=\"true\"></n-input>\n\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t<n-form-item-gi :span=\"4\" :label=\"$t('contacts.subscribers.import.subscriptionStatus')\">\n\t\t\t\t\t\t<n-select v-model:value=\"form.active\" :options=\"activeOptions\"></n-select>\n\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t</n-grid>\n\t\t\t\t<n-grid :cols=\"12\" :x-gap=\"24\">\n\t\t\t\t\t<n-form-item-gi :span=\"8\" :label=\"$t('contacts.subscribers.edit.group')\" path=\"group_ids\">\n\t\t\t\t\t\t<group-select v-model:value=\"form.group_ids\" :disabled=\"true\"></group-select>\n\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t<n-form-item-gi :span=\"4\" :label=\"$t('contacts.subscribers.import.status')\">\n\t\t\t\t\t\t<n-select v-model:value=\"form.status\" :options=\"statusOptions\"></n-select>\n\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t</n-grid>\n\t\t\t\t<n-form-item :label=\"$t('contacts.subscribers.edit.attributes')\">\n\t\t\t\t\t<n-input v-model:value=\"form.attribs\" type=\"textarea\" :rows=\"6\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { Message } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { editContactNdp } from '@/api/modules/contacts/subscribers'\nimport type { Subscriber } from '../interface'\n\nimport GroupSelect from './GroupMultipleSelect.vue'\n\nconst { t } = useI18n()\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tid: 0,\n\temail: '',\n\tactive: 1,\n\tstatus: 1,\n\tattribs: '',\n\tgroup_ids: [] as number[],\n})\n\nconst rules: FormRules = {\n\tgroup_ids: {\n\t\ttrigger: 'change',\n\t\tvalidator: () => {\n\t\t\tif (form.group_ids.length === 0) {\n\t\t\t\treturn new Error(t('contacts.subscribers.edit.validation.groupRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\nconst activeOptions = computed(() => [\n\t{ label: t('contacts.subscribers.edit.statusOptions.subscribe'), value: 1 },\n\t{ label: t('contacts.subscribers.edit.statusOptions.unsubscribe'), value: 0 },\n])\n\nconst statusOptions = computed(() => [\n\t{ label: t('contacts.subscribers.import.statusOptions.confirmed'), value: 1 },\n\t{ label: t('contacts.subscribers.import.statusOptions.unconfirmed'), value: 0 },\n])\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ row: Subscriber | null }>()\n\t\t\tconst { row } = state\n\t\t\tif (row) {\n\t\t\t\tform.id = row.id\n\t\t\t\tform.email = row.email\n\t\t\t\tform.active = row.active\n\t\t\t\tform.status = row.status\n\t\t\t\tform.group_ids = [row.group_id]\n\t\t\t\tform.attribs = row.attribs ? JSON.stringify(row.attribs, null, 2) : ''\n\t\t\t}\n\t\t} else {\n\t\t\tform.id = 0\n\t\t\tform.email = ''\n\t\t\tform.active = 1\n\t\t\tform.status = 1\n\t\t\tform.group_ids = []\n\t\t\tform.attribs = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\n\t\tlet attribs = {}\n\t\ttry {\n\t\t\tattribs = form.attribs ? JSON.parse(form.attribs) : {}\n\t\t} catch (error) {\n\t\t\tMessage.error(`${error}`, { close: true })\n\t\t\treturn false\n\t\t}\n\t\tawait editContactNdp({\n\t\t\tid: form.id,\n\t\t\tactive: form.active,\n\t\t\tstatus: form.status,\n\t\t\tattribs: JSON.stringify(attribs),\n\t\t})\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate.refresh()\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/components/SubscriberImport.vue",
    "content": "<template>\n\t<modal :title=\"$t('contacts.subscribers.import.title')\" width=\"640\">\n\t\t<div class=\"pt-12px\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item :label=\"$t('contacts.subscribers.import.overwriteLabel')\">\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<div class=\"mb-8px text-desc\">\n\t\t\t\t\t\t\t{{ $t('contacts.subscribers.import.overwriteDescription') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"w-260px\">\n\t\t\t\t\t\t\t<n-select v-model:value=\"form.overwrite\" :options=\"overwriteOptions\"></n-select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-grid :cols=\"2\" :x-gap=\"24\">\n\t\t\t\t\t<n-form-item-gi :span=\"1\" :label=\"$t('contacts.subscribers.import.subscriptionStatus')\">\n\t\t\t\t\t\t<n-select v-model:value=\"form.default_active\" :options=\"modeOptions\"></n-select>\n\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t<n-form-item-gi :span=\"1\" :label=\"$t('contacts.subscribers.import.status')\">\n\t\t\t\t\t\t<n-select v-model:value=\"form.status\" :options=\"statusOptions\"></n-select>\n\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t</n-grid>\n\t\t\t\t<n-form-item :label=\"$t('contacts.subscribers.import.group')\" path=\"group_id\">\n\t\t\t\t\t<group-select v-model:value=\"form.group_ids\"></group-select>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('contacts.subscribers.import.data')\" path=\"contacts\">\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<n-radio-group v-model:value=\"form.import_type\">\n\t\t\t\t\t\t\t<n-radio-button :value=\"1\">\n\t\t\t\t\t\t\t\t{{ $t('contacts.subscribers.import.uploadFile') }}\n\t\t\t\t\t\t\t</n-radio-button>\n\t\t\t\t\t\t\t<n-radio-button :value=\"2\">\n\t\t\t\t\t\t\t\t{{ $t('contacts.subscribers.import.pasteData') }}\n\t\t\t\t\t\t\t</n-radio-button>\n\t\t\t\t\t\t</n-radio-group>\n\t\t\t\t\t\t<div class=\"mt-8px\">\n\t\t\t\t\t\t\t<template v-if=\"form.import_type === 1\">\n\t\t\t\t\t\t\t\t<bt-file-upload :is-upload=\"false\" :accept=\"['csv']\" @change=\"handleChangeFile\">\n\t\t\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t\t\t\t<div class=\"mt-8px text-12px text-desc\">\n\t\t\t\t\t\t\t\t\t{{ $t('contacts.subscribers.import.fileTypeHint') }}\n\t\t\t\t\t\t\t\t\t<n-button text type=\"primary\" @click=\"handleDownloadTemplate\">\n\t\t\t\t\t\t\t\t\t\t{{ $t('common.actions.download') }}\n\t\t\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-if=\"form.import_type === 2\">\n\t\t\t\t\t\t\t\t<n-input v-model:value=\"form.contacts\" type=\"textarea\" :rows=\"8\"> </n-input>\n\t\t\t\t\t\t\t\t<div class=\"mt-8px text-12px text-desc\">\n\t\t\t\t\t\t\t\t\t<p>{{ $t('contacts.subscribers.import.pastePlaceholder.0') }}</p>\n\t\t\t\t\t\t\t\t\t<!-- <p>{{ $t('contacts.subscribers.import.pastePlaceholder.1') }}</p> -->\n\t\t\t\t\t\t\t\t\t<!-- <p>{{ $t('contacts.subscribers.import.pastePlaceholder.2') }}</p> -->\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('contacts.subscribers.import.exampleCsvLabel')\">\n\t\t\t\t\t<pre class=\"csv-example\">{{ example }}</pre>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules, UploadFileInfo } from 'naive-ui'\nimport { isEmpty } from 'lodash-es'\nimport { Message } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { downloadFile } from '@/api/modules/public'\nimport { importSubscribers } from '@/api/modules/contacts/subscribers'\n\nimport GroupSelect from './GroupMultipleSelect.vue'\n\nconst { t } = useI18n()\n\nconst formRef = useTemplateRef('formRef')\n\nconst dataType = ref('paste')\n\nconst form = reactive({\n\tgroup_ids: [] as number[],\n\timport_type: 1,\n\tcontacts: '',\n\tfile_data: '',\n\tfile_type: '',\n\toverwrite: 0,\n\tdefault_active: 1,\n\tstatus: 1,\n})\n\nconst rules: FormRules = {\n\tgroup_ids: {\n\t\ttrigger: 'change',\n\t\tvalidator: () => {\n\t\t\tif (form.group_ids.length === 0) {\n\t\t\t\treturn new Error(t('contacts.subscribers.import.validation.groupRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tcontacts: {\n\t\tvalidator: () => {\n\t\t\tif (form.import_type === 2 && isEmpty(form.contacts)) {\n\t\t\t\treturn new Error(t('contacts.subscribers.import.validation.dataRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\nconst overwriteOptions = computed(() => [\n\t{ label: t('contacts.subscribers.import.overwriteOptions.no'), value: 0 },\n\t{ label: t('contacts.subscribers.import.overwriteOptions.yes'), value: 1 },\n])\n\nconst modeOptions = computed(() => [\n\t{ label: t('contacts.subscribers.import.subscriptionOptions.subscribe'), value: 1 },\n\t{ label: t('contacts.subscribers.import.subscriptionOptions.unsubscribe'), value: 0 },\n])\n\nconst statusOptions = computed(() => [\n\t{ label: t('contacts.subscribers.import.statusOptions.confirmed'), value: 1 },\n\t{ label: t('contacts.subscribers.import.statusOptions.unconfirmed'), value: 0 },\n])\n\nconst example = `email,attributes\nexample1@example.com,\"{\"\"age\"\": \"\"13\"\", \"\"Gender\"\": \"\"XXX\"\"}\"\nexample2@example.com,\"{\"\"age\"\": \"\"45\"\", \"\"city\"\": \"\"XXX\"\"}\"\n`\n\nconst handleChangeFile = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.file_type = file.name.substring(file.name.lastIndexOf('.') + 1)\n\t\tform.file_data = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst handleDownloadTemplate = async () => {\n\tawait downloadFile({ file_path: './template/example_recipients.csv' })\n}\n\nconst validateForm = async () => {\n\tawait formRef.value?.validate()\n\tif (dataType.value === 'upload' && isEmpty(form.file_data)) {\n\t\tMessage.error(t('contacts.subscribers.import.validation.fileRequired'))\n\t\treturn Promise.reject()\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ group_id: number }>()\n\t\t\tif (state?.group_id) {\n\t\t\t\tform.group_ids = [state.group_id]\n\t\t\t} else {\n\t\t\t\tform.group_ids = []\n\t\t\t}\n\t\t} else {\n\t\t\tform.import_type = 1\n\t\t\tform.contacts = ''\n\t\t\tform.file_data = ''\n\t\t\tform.file_type = ''\n\t\t\tform.group_ids = []\n\t\t\tform.overwrite = 0\n\t\t\tform.default_active = 1\n\t\t\tform.status = 1\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait validateForm()\n\t\tawait importSubscribers(toRaw(form))\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate?.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.csv-example {\n\twidth: 100%;\n\tmargin: 0;\n\tpadding: 16px 24px;\n\tbackground: none;\n\tborder: 1px solid var(--color-border-1);\n\tborder-radius: 4px;\n\toverflow-x: auto;\n\twhite-space: pre;\n\tword-wrap: normal;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/components/SubscriberTrends.vue",
    "content": "<template>\n\t<n-spin class=\"mb-16px\" :show=\"loading\">\n\t\t<div class=\"text-center fw-bold text-16px text-default\">\n\t\t\t{{ t('contacts.subscribers.trends.title') }}\n\t\t</div>\n\t\t<div class=\"w-96% h-160px mx-auto\">\n\t\t\t<bt-charts :options=\"chartOptions\" />\n\t\t</div>\n\t</n-spin>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isArray, isObject } from '@/utils'\nimport { getSubscriberTrend } from '@/api/modules/contacts/subscribers'\nimport type { ECOptionLine } from '@/types/chart'\nimport type { SubscriberParams, SubscriberTrend } from '../interface'\n\nconst { params } = defineProps({\n\tparams: {\n\t\ttype: Object as PropType<SubscriberParams>,\n\t\tdefault: () => ({\n\t\t\tpage: 1,\n\t\t\tpage_size: 10,\n\t\t\tgroup_id: 0,\n\t\t\tkeyword: '',\n\t\t\tactive: -1,\n\t\t\tlast_active_status: -1,\n\t\t\ttime_interval: 0,\n\t\t\ttags: [],\n\t\t}),\n\t},\n})\n\nconst loading = ref(false)\n\nconst subscribe = ref<SubscriberTrend[]>([])\n\nconst { t } = useI18n()\n\nconst chartOptions = computed<ECOptionLine>(() => {\n\treturn {\n\t\ttooltip: {\n\t\t\ttrigger: 'axis',\n\t\t\torder: 'seriesDesc',\n\t\t\taxisPointer: {\n\t\t\t\ttype: 'shadow',\n\t\t\t},\n\t\t},\n\t\tgrid: {\n\t\t\ttop: '16%',\n\t\t\tleft: '2%',\n\t\t\tright: '2%',\n\t\t\tbottom: '4%',\n\t\t\tcontainLabel: true,\n\t\t},\n\t\txAxis: {\n\t\t\tdata: subscribe.value.map(item => item.date),\n\t\t\taxisTick: {\n\t\t\t\tshow: false,\n\t\t\t},\n\t\t\taxisLabel: {\n\t\t\t\tcolor: '#6b7280',\n\t\t\t\tfontSize: 12,\n\t\t\t},\n\t\t},\n\t\tyAxis: {\n\t\t\ttype: 'value',\n\t\t\tminInterval: 1,\n\t\t\taxisLabel: {\n\t\t\t\tcolor: '#6b7280',\n\t\t\t\tfontSize: 12,\n\t\t\t},\n\t\t},\n\t\tseries: [\n\t\t\t{\n\t\t\t\tname: t('contacts.subscribers.trends.subscriber'),\n\t\t\t\ttype: 'line',\n\t\t\t\tdata: subscribe.value.map(item => item.count),\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: '#20a53a',\n\t\t\t\t},\n\t\t\t\tsmooth: true,\n\t\t\t\tshowSymbol: false,\n\t\t\t\tsampling: 'average',\n\t\t\t\tareaStyle: {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\ttype: 'linear',\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1,\n\t\t\t\t\t\tglobal: false,\n\t\t\t\t\t\tcolorStops: [\n\t\t\t\t\t\t\t{ offset: 0, color: 'rgba(32, 164, 58, 0.4)' },\n\t\t\t\t\t\t\t{ offset: 0.7, color: 'rgba(32, 164, 58, 0)' },\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\nconst getData = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getSubscriberTrend({\n\t\t\tgroup_id: params.group_id,\n\t\t\tactive: params.active,\n\t\t\tlast_active_status: params.last_active_status,\n\t\t\ttime_interval: params.time_interval,\n\t\t\ttags: params.tags.join(','),\n\t\t})\n\t\tif (\n\t\t\tisObject<{\n\t\t\t\ttime_granularity: string\n\t\t\t\tdaily_data: SubscriberTrend[]\n\t\t\t\tmonthly_data: SubscriberTrend[]\n\t\t\t}>(res)\n\t\t) {\n\t\t\tif (res.time_granularity === 'monthly') {\n\t\t\t\tsubscribe.value = isArray(res.monthly_data) ? res.monthly_data : []\n\t\t\t} else if (res.time_granularity === 'daily') {\n\t\t\t\tsubscribe.value = isArray(res.daily_data) ? res.daily_data : []\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\nonMounted(() => {\n\tgetData()\n})\n\ndefineExpose({\n\tgetData,\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/components/TagSelect.vue",
    "content": "<template>\n\t<n-select v-model:value=\"value\" :options=\"options\" :multiple=\"true\" max-tag-count=\"responsive\">\n\t\t<template #action>\n\t\t\t<n-button block @click=\"handleManageTags\">{{\n\t\t\t\tt('contacts.subscribers.tagSelect.manageTags')\n\t\t\t}}</n-button>\n\t\t</template>\n\t</n-select>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { getTagAll } from '../../tags/service'\nimport { Tag } from '../../tags/types'\nimport { useI18n } from 'vue-i18n'\n\nconst { t } = useI18n()\n\nconst { groupId } = defineProps({\n\tgroupId: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n})\n\nconst value = defineModel<number[]>('value')\n\nconst tagList = ref<Tag[]>([])\n\nconst options = computed<SelectOption[]>(() => {\n\treturn tagList.value\n\t\t.filter(item => (groupId === 0 ? true : groupId === item.group_id))\n\t\t.map(item => ({\n\t\t\tlabel: item.name,\n\t\t\tvalue: item.id,\n\t\t}))\n})\n\nconst getOptions = async () => {\n\tconst res = await getTagAll({})\n\tif (isObject<{ list: Tag[] }>(res)) {\n\t\ttagList.value = res.list\n\t}\n}\n\ngetOptions()\n\nconst router = useRouter()\n\nconst handleManageTags = () => {\n\trouter.push({\n\t\tpath: '/contacts/tags',\n\t\tstate: { group_id: groupId },\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/index.vue",
    "content": "<template>\n\t<div>\n\t\t<subscriber-trends ref=\"trendRef\" :params=\"tableParams\"> </subscriber-trends>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<span>{{ $t('contacts.subscribers.select.prefix') }}</span>\n\t\t\t\t<div class=\"w-140px\">\n\t\t\t\t\t<group-select v-model:value=\"tableParams.group_id\" @update:value=\"handleUpdateGroup\">\n\t\t\t\t\t</group-select>\n\t\t\t\t</div>\n\t\t\t\t<span>{{ t('contacts.subscribers.labels.status') }}</span>\n\t\t\t\t<div class=\"w-140px\">\n\t\t\t\t\t<n-select\n\t\t\t\t\t\tv-model:value=\"tableParams.active\"\n\t\t\t\t\t\t:options=\"activeOptions\"\n\t\t\t\t\t\t@update:value=\"() => resetTableAndTrend()\">\n\t\t\t\t\t</n-select>\n\t\t\t\t</div>\n\t\t\t\t<span>{{ t('contacts.subscribers.labels.tags') }}</span>\n\t\t\t\t<div class=\"w-200px\">\n\t\t\t\t\t<tag-select\n\t\t\t\t\t\tv-model:value=\"tableParams.tags\"\n\t\t\t\t\t\t:disabled=\"tableParams.group_id === 0\"\n\t\t\t\t\t\t:group-id=\"tableParams.group_id\"\n\t\t\t\t\t\t@update:value=\"() => resetTableAndTrend()\">\n\t\t\t\t\t</tag-select>\n\t\t\t\t</div>\n\t\t\t\t<span>{{ t('contacts.subscribers.labels.active') }}</span>\n\t\t\t\t<active-select\n\t\t\t\t\tv-model:value=\"tableParams.last_active_status\"\n\t\t\t\t\tv-model:time=\"tableParams.time_interval\"\n\t\t\t\t\t@update:value=\"() => resetTableAndTrend()\"\n\t\t\t\t\t@update:time=\"() => resetTableAndTrend()\">\n\t\t\t\t</active-select>\n\t\t\t</template>\n\t\t\t<template #pageLeft>\n\t\t\t\t<bt-table-batch v-bind=\"batchProps\" :options=\"batchOptions\" @select=\"handleBatchSelect\">\n\t\t\t\t</bt-table-batch>\n\t\t\t</template>\n\t\t\t<template #toolsRight>\n\t\t\t\t<bt-search\n\t\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t\t:width=\"240\"\n\t\t\t\t\t:placeholder=\"t('contacts.subscribers.search.emailPlaceholder')\"\n\t\t\t\t\t@search=\"resetTable\">\n\t\t\t\t</bt-search>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">\n\t\t\t\t\t{{ t('common.actions.import') }}\n\t\t\t\t</n-button>\n\t\t\t\t<n-button v-if=\"tableParams.group_id\" @click=\"handleSettings\">\n\t\t\t\t\t{{ t('common.actions.settings') }}\n\t\t\t\t</n-button>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table v-bind=\"tableProps\" :columns=\"columns\">\n\t\t\t\t\t<template #empty>\n\t\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t\t</template>\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<!-- <template #pageLeft>\n\t\t\t\t<n-button :disabled=\"tableKeys.length === 0\" @click=\"handleBatchDelete\">\n\t\t\t\t\t{{ $t('common.actions.delete') }}\n\t\t\t\t</n-button>\n\t\t\t</template> -->\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page v-bind=\"pageProps\" @refresh=\"fetchTable\"> </bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<import-modal />\n\t\t\t\t<edit-modal />\n\t\t\t\t<set-tag-modal />\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useBrowserLocation, useTimeAgo } from '@vueuse/core'\nimport { DataTableColumns, NButton, NFlex, NTag } from 'naive-ui'\nimport { confirm, Message } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useDataTable } from '@/hooks/useDataTable'\nimport { deleteSubscriberNdp, getSubscriberListNdp } from '@/api/modules/contacts/subscribers'\nimport type { Subscriber, SubscriberParams } from './interface'\n\nimport GroupSelect from './components/GroupSelect.vue'\nimport TagSelect from './components/TagSelect.vue'\nimport ActiveSelect from './components/ActiveSelect.vue'\nimport SubscriberTrends from './components/SubscriberTrends.vue'\nimport SubscriberImport from './components/SubscriberImport.vue'\nimport SubscriberEdit from './components/SubscriberEdit.vue'\nimport BatchSetTag from './components/BatchSetTag.vue'\n\nconst { t } = useI18n()\n\nconst location = useBrowserLocation()\n\nconst router = useRouter()\n\nconst trendRef = useTemplateRef('trendRef')\n\nconst activeOptions = computed(() => [\n\t{\n\t\tlabel: t('common.all.text'),\n\t\tvalue: -1,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.status.subscribed'),\n\t\tvalue: 1,\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.status.unsubscribed'),\n\t\tvalue: 0,\n\t},\n])\n\nconst { tableParams, tableProps, batchProps, pageProps, fetchTable, resetTable } = useDataTable<\n\tSubscriber,\n\tSubscriberParams\n>({\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tgroup_id: location.value.state.group_id || 0,\n\t\tkeyword: '',\n\t\tactive: -1,\n\t\tlast_active_status: -1,\n\t\ttime_interval: 0,\n\t\ttags: location.value.state.tag_id ? [location.value.state.tag_id] : [],\n\t},\n\tuseParams: params => {\n\t\treturn {\n\t\t\t...params,\n\t\t\ttags: params.tags.join(','),\n\t\t}\n\t},\n\tfetchFn: getSubscriberListNdp,\n})\n\n// Table columns\nconst columns = computed<DataTableColumns<Subscriber>>(() => [\n\t{\n\t\ttype: 'selection',\n\t\twidth: 40,\n\t},\n\t{\n\t\tkey: 'email',\n\t\ttitle: t('contacts.subscribers.columns.email'),\n\t\tminWidth: 120,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'status',\n\t\ttitle: t('contacts.subscribers.labels.status').replace('：', ''),\n\t\tminWidth: 100,\n\t\trender: row => {\n\t\t\tif (row.active === 0) {\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" type=\"error\" bordered={false}>\n\t\t\t\t\t\t{t('contacts.subscribers.status.unsubscribed')}\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (row.active === 1 && row.status === 0) {\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" type=\"default\" bordered={false}>\n\t\t\t\t\t\t{t('contacts.subscribers.status.unconfirmed')}\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<NTag size=\"small\" type=\"success\" bordered={false}>\n\t\t\t\t\t{t('contacts.subscribers.status.subscribed')}\n\t\t\t\t</NTag>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tkey: 'last_active_at',\n\t\ttitle: t('contacts.subscribers.columns.lastActiveAt'),\n\t\tminWidth: 100,\n\t\trender: row => {\n\t\t\tif (row.last_active_at) {\n\t\t\t\tconst timeAgo = useTimeAgo(new Date(row.last_active_at * 1000))\n\t\t\t\treturn timeAgo.value\n\t\t\t}\n\t\t\treturn '--'\n\t\t},\n\t},\n\t{\n\t\tkey: 'groups',\n\t\ttitle: t('contacts.subscribers.joinGroup'),\n\t\tminWidth: 100,\n\t\trender: row => {\n\t\t\treturn row.group_name || ''\n\t\t},\n\t},\n\t{\n\t\tkey: 'tags',\n\t\ttitle: t('contacts.subscribers.tags'),\n\t\tminWidth: 100,\n\t\trender: row => {\n\t\t\tif (!row.tags || row.tags.length === 0) {\n\t\t\t\treturn '--'\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<NFlex inline={true}>\n\t\t\t\t\t{row.tags.map(item => (\n\t\t\t\t\t\t<NTag key={item.id} size=\"small\" bordered={false}>\n\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t</NTag>\n\t\t\t\t\t))}\n\t\t\t\t</NFlex>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 180,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst resetTableAndTrend = () => {\n\tresetTable()\n\ttrendRef.value?.getData()\n}\n\nconst handleUpdateGroup = () => {\n\ttableParams.value.tags = []\n\tresetTableAndTrend()\n}\n\nconst [ImportModal, importModalApi] = useModal({\n\tcomponent: SubscriberImport,\n\tstate: {\n\t\trefresh: fetchTable,\n\t},\n})\n\n// Handle add subscriber\nconst handleAdd = () => {\n\timportModalApi.setState({ group_id: tableParams.value.group_id })\n\timportModalApi.open()\n}\n\nconst handleSettings = () => {\n\tif (!tableParams.value.group_id) {\n\t\tMessage.warning(t('contacts.subscribers.selectGroupHint'))\n\t\treturn\n\t}\n\trouter.push(`/contacts/settings/${tableParams.value.group_id}`)\n}\n\nconst [EditModal, editModalApi] = useModal({\n\tcomponent: SubscriberEdit,\n\tstate: {\n\t\trefresh: fetchTable,\n\t},\n})\n\n// Handle edit\nconst handleEdit = (row: Subscriber) => {\n\teditModalApi.setState({ row })\n\teditModalApi.open()\n}\n\n// Handle delete\nconst handleDelete = (row: Subscriber) => {\n\tconfirm({\n\t\ttitle: t('contacts.subscribers.delete.title'),\n\t\tcontent: t('contacts.subscribers.delete.confirm', { email: row.email }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteSubscriberNdp({ ids: [row.id] })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst batchOptions = computed(() => [\n\t{\n\t\tlabel: t('common.actions.delete'),\n\t\tvalue: 'delete',\n\t},\n\t{\n\t\tlabel: t('contacts.subscribers.actions.setTag'),\n\t\tvalue: 'tag',\n\t\tdisabled: tableParams.value.group_id === 0,\n\t},\n])\n\nconst handleBatchSelect = (key: string, keys: number[]) => {\n\tswitch (key) {\n\t\tcase 'delete':\n\t\t\thandleBatchDelete(keys)\n\t\t\tbreak\n\t\tcase 'tag':\n\t\t\thandleBatchSetTag(keys)\n\t\t\tbreak\n\t}\n}\n\nconst handleBatchDelete = (keys: number[]) => {\n\tconfirm({\n\t\ttitle: t('contacts.subscribers.batchDelete.title'),\n\t\tcontent: t('contacts.subscribers.batchDelete.confirm'),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteSubscriberNdp({ ids: keys })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst [SetTagModal, setTagModalApi] = useModal({\n\tcomponent: BatchSetTag,\n\tstate: {\n\t\trefresh: fetchTable,\n\t},\n})\n\nconst handleBatchSetTag = (keys: number[]) => {\n\tsetTagModalApi.setState({\n\t\tids: keys,\n\t\tgroupId: tableParams.value.group_id,\n\t})\n\tsetTagModalApi.open()\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.subscriber-container {\n\tpadding: 16px;\n\tbackground-color: #fff;\n\tborder-radius: 3px;\n\n\t.action-bar {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tmargin-bottom: 16px;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/subscribers/interface.ts",
    "content": "export interface Subscriber {\n\tid: number\n\temail: string\n\tgroup_id: number\n\tactive: number\n\tstatus: number\n\ttask_id: number\n\tcreate_time: number\n\tlast_active_at: number\n\tgroup_name: string\n\tattribs: Record<string, string> | null\n\ttags: Array<{\n\t\tid: number\n\t\tname: string\n\t}>\n}\n\nexport interface SubscriberParams {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n\tgroup_id: number\n\tactive: number\n\tlast_active_status: number\n\ttime_interval: number\n\ttags: number[]\n}\n\nexport interface SubscriberTrend {\n\tcount: number\n\tdate: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/contacts/suspend/components/Scan.vue",
    "content": "<template>\n\t<modal :title=\"$t('contacts.suspend.scan.title')\" width=\"480\" confirm-text=\"Scan\">\n\t\t<div class=\"pt-12px\">\n\t\t\t<bt-form ref=\"formRef\" :form=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item label=\"Group\" path=\"group_id\">\n\t\t\t\t\t<n-select v-model:value=\"form.group_id\" :options=\"groupOptions\" />\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item label=\"Method\">\n\t\t\t\t\t<n-radio-group v-model:value=\"form.oper\">\n\t\t\t\t\t\t<div class=\"h-32px flex items-center\">\n\t\t\t\t\t\t\t<n-radio :value=\"1\">{{ $t('contacts.suspend.scan.methods.noOperation') }}</n-radio>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"h-32px flex items-center\">\n\t\t\t\t\t\t\t<n-radio :value=\"2\">{{\n\t\t\t\t\t\t\t\t$t('contacts.suspend.scan.methods.addToExceptionTable')\n\t\t\t\t\t\t\t}}</n-radio>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"h-32px flex items-center\">\n\t\t\t\t\t\t\t<n-radio :value=\"3\">{{\n\t\t\t\t\t\t\t\t$t('contacts.suspend.scan.methods.deleteFromGroup')\n\t\t\t\t\t\t\t}}</n-radio>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-radio-group>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules, SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { scanGroup } from '@/api/modules/contacts/suspend'\nimport { getGroupAll } from '@/api/modules/contacts/group'\nimport type { Group } from '../../group/types/base'\n\nconst { t } = useI18n()\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tgroup_id: null as number | null,\n\toper: 1,\n})\n\nconst rules: FormRules = {\n\tgroup_id: {\n\t\ttrigger: 'change',\n\t\tvalidator: () => {\n\t\t\tif (!form.group_id) {\n\t\t\t\treturn new Error(t('contacts.suspend.scan.form.groupRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\nconst groupOptions = ref<SelectOption[]>([])\n\nconst getGroupOptions = async () => {\n\tconst res = await getGroupAll()\n\tif (isObject<{ list: Group[] }>(res)) {\n\t\tgroupOptions.value = res.list.map(item => ({\n\t\t\tlabel: item.name,\n\t\t\tvalue: item.id,\n\t\t}))\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tgetGroupOptions()\n\t\t} else {\n\t\t\tform.group_id = null\n\t\t\tform.oper = 1\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tawait scanGroup({\n\t\t\tgroup_id: form.group_id || 0,\n\t\t\toper: form.oper,\n\t\t})\n\t\tsetTimeout(() => {\n\t\t\tconst { showLogs } = modalApi.getState<{ showLogs: () => void }>()\n\t\t\tshowLogs()\n\t\t}, 1500)\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/suspend/components/ScanLogs.vue",
    "content": "<template>\n\t<modal :title=\"$t('contacts.suspend.scanLogs.title')\" width=\"820\" :footer=\"false\">\n\t\t<div class=\"pt-12px mb-8px\">\n\t\t\t<n-button type=\"primary\" @click=\"getLogs(true)\">\n\t\t\t\t{{ $t('common.actions.refresh') }}\n\t\t\t</n-button>\n\t\t</div>\n\t\t<n-spin :show=\"loading\">\n\t\t\t<bt-logs height=\"480px\" :code=\"content\"></bt-logs>\n\t\t</n-spin>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isString } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getScanLogs } from '@/api/modules/contacts/suspend'\n\nconst { t } = useI18n()\n\nconst loading = ref(false)\n\nconst content = ref(t('contacts.suspend.scanLogs.none'))\n\nlet timer: number | null = null\n\nconst isAutoRefreshing = ref(false)\n\nconst retryCount = ref(0)\n\nconst MAX_RETRIES = 3\n\nconst getLogs = async (showLoading = false) => {\n\ttry {\n\t\tif (showLoading) {\n\t\t\tloading.value = true\n\t\t}\n\t\tconst res = await getScanLogs()\n\t\tif (isString(res)) {\n\t\t\tcontent.value = res\n\n\t\t\t// 成功获取后重置重试计数\n\t\t\tretryCount.value = 0\n\n\t\t\t// 检查是否包含\"Check finished\"或\"扫描完成\"文本\n\t\t\tif (content.value.includes('Check finished') || content.value.includes('扫描完成')) {\n\t\t\t\tstopAutoRefresh()\n\t\t\t} else if (isAutoRefreshing.value) {\n\t\t\t\t// 如果需要继续自动刷新，设置下一次执行的定时器\n\t\t\t\tscheduleNextUpdate()\n\t\t\t}\n\t\t} else {\n\t\t\thandleError()\n\t\t}\n\t} finally {\n\t\tif (showLoading) {\n\t\t\tloading.value = false\n\t\t}\n\t}\n}\n\nconst handleError = () => {\n\t// 错误计数，达到最大重试次数后停止自动刷新\n\tretryCount.value++\n\n\tif (retryCount.value >= MAX_RETRIES) {\n\t\tstopAutoRefresh()\n\t} else if (isAutoRefreshing.value) {\n\t\t// 如果未达到最大重试次数，继续尝试\n\t\tscheduleNextUpdate()\n\t}\n}\n\n// 安排下一次更新\nconst scheduleNextUpdate = () => {\n\tif (isAutoRefreshing.value) {\n\t\t// 清除可能存在的定时器\n\t\tif (timer !== null) {\n\t\t\tclearTimeout(timer)\n\t\t}\n\n\t\t// 设置下一次执行的定时器\n\t\ttimer = window.setTimeout(() => {\n\t\t\tgetLogs(false)\n\t\t}, 1000)\n\t}\n}\n\n// 停止自动刷新\nconst stopAutoRefresh = () => {\n\tif (timer !== null) {\n\t\tclearTimeout(timer)\n\t\ttimer = null\n\t}\n\tisAutoRefreshing.value = false\n}\n\nconst [Modal] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tgetLogs(true)\n\t\t} else {\n\t\t\tcontent.value = t('contacts.suspend.scanLogs.none')\n\t\t\tstopAutoRefresh()\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/suspend/index.vue",
    "content": "<template>\n\t<div>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleShowScan\">{{ $t('contacts.suspend.buttons.scanInvalidDomains') }}</n-button>\n\t\t\t\t<n-button @click=\"handleShowScanLogs\">{{ $t('contacts.suspend.buttons.scanLogs') }}</n-button>\n\t\t\t\t<n-button @click=\"handleClear\">{{ $t('common.actions.clear') }}</n-button>\n\t\t\t\t<div class=\"ml-8px\">\n\t\t\t\t\t<span class=\"mr-12px\">{{ $t('contacts.suspend.buttons.autoBlockFailedEmails') }}</span>\n\t\t\t\t\t<n-switch v-model:value=\"autoScan\" @update:value=\"handleUpdateAutoScan\"></n-switch>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template #toolsRight>\n\t\t\t\t<bt-search\n\t\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t\t:width=\"240\"\n\t\t\t\t\t:placeholder=\"$t('contacts.suspend.search.emailPlaceholder')\"\n\t\t\t\t\t@search=\"resetTable\">\n\t\t\t\t</bt-search>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table v-bind=\"tableProps\" :columns=\"columns\"> </n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page v-bind=\"pageProps\" @refresh=\"fetchTable\"> </bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<scan-modal></scan-modal>\n\t\t\t\t<scan-logs-modal></scan-logs-modal>\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex } from 'naive-ui'\nimport { confirm, formatTime, isNumber } from '@/utils'\nimport { useDataTable } from '@/hooks/useDataTable'\nimport { useModal } from '@/hooks/modal/useModal'\nimport {\n\tclearSuspend,\n\tdeleteSuspend,\n\tgetAutoScan,\n\tgetSuspendList,\n\tsetAutoScan,\n} from '@/api/modules/contacts/suspend'\nimport type { Suspend, SuspendParams } from './types/base'\n\nimport Scan from './components/Scan.vue'\nimport ScanLogs from './components/ScanLogs.vue'\n\nconst { t } = useI18n()\n\nconst autoScan = ref(false)\n\nconst getScanStatus = async () => {\n\tconst res = await getAutoScan()\n\tif (isNumber(res)) {\n\t\tautoScan.value = res === 1\n\t}\n}\n\ngetScanStatus()\n\nconst handleUpdateAutoScan = async (value: boolean) => {\n\tawait setAutoScan({ oper: value ? 1 : 0 })\n}\n\nconst [ScanModal, scanModalApi] = useModal({\n\tcomponent: Scan,\n\tstate: {\n\t\tshowLogs: () => {\n\t\t\tscanLogsModalApi.open()\n\t\t},\n\t},\n})\n\nconst handleShowScan = () => {\n\tscanModalApi.open()\n}\n\nconst [ScanLogsModal, scanLogsModalApi] = useModal({\n\tcomponent: ScanLogs,\n})\n\nconst handleShowScanLogs = () => {\n\tscanLogsModalApi.open()\n}\n\nconst handleClear = () => {\n\tconfirm({\n\t\ttitle: t('contacts.suspend.confirm.clear.title'),\n\t\tcontent: t('contacts.suspend.confirm.clear.content'),\n\t\tonConfirm: async () => {\n\t\t\tawait clearSuspend()\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst { tableParams, tableProps, pageProps, fetchTable, resetTable } = useDataTable<\n\tSuspend,\n\tSuspendParams\n>({\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tstatus: 1,\n\t\tkeyword: '',\n\t},\n\tfetchFn: getSuspendList,\n})\n\nconst columns = ref<DataTableColumns<Suspend>>([\n\t{\n\t\tkey: 'recipient',\n\t\ttitle: t('contacts.suspend.columns.email'),\n\t},\n\t{\n\t\tkey: 'description',\n\t\ttitle: t('contacts.suspend.columns.description'),\n\t},\n\t{\n\t\tkey: 'state',\n\t\ttitle: t('contacts.suspend.columns.status'),\n\t\trender: row => (row.state || row.count >= 3 ? t('contacts.suspend.status.invalid') : t('contacts.suspend.status.checking')),\n\t},\n\t{\n\t\tkey: 'create_time',\n\t\ttitle: t('contacts.suspend.columns.addTime'),\n\t\trender: row => formatTime(row.create_time),\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 100,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst handleDelete = (row: Suspend) => {\n\tconfirm({\n\t\ttitle: t('contacts.suspend.confirm.delete.title'),\n\t\tcontent: t('contacts.suspend.confirm.delete.content', { email: row.recipient }),\n\t\tonConfirm: async () => {\n\t\t\tawait deleteSuspend({ id: row.id })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/suspend/types/base.ts",
    "content": "export type Suspend = {\n\tid: number\n\tcreate_time: number\n\trecipient: string\n\tcount: number\n\tstatus: string\n\ttask_name: string\n\tstate: number\n\ttask_time: number\n}\n\nexport type SuspendParams = {\n\tpage: number\n\tpage_size: number\n\tstatus: number\n\tkeyword: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/contacts/tags/components/GroupSelect.vue",
    "content": "<template>\n\t<n-select v-model:value=\"value\" :loading=\"loading\" :options=\"groupOptions\"></n-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { getGroupAll } from '@/api/modules/contacts/group'\nimport type { Group } from '../../group/types/base'\n\nconst { all } = defineProps({\n\tall: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n\nconst value = defineModel<number | undefined | null>('value')\n\nconst { t } = useI18n()\n\nconst groupOptions = ref<SelectOption[]>([])\n\nconst loading = ref(false)\n\nconst getGroupOptions = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getGroupAll()\n\t\tif (isObject<{ list: Group[] }>(res)) {\n\t\t\tgroupOptions.value = res.list.map(item => ({\n\t\t\t\tlabel: item.name,\n\t\t\t\tvalue: item.id,\n\t\t\t}))\n\t\t\tif ((value.value === null || value.value === undefined) && res.list.length > 0) {\n\t\t\t\tvalue.value = res.list[0].id\n\t\t\t}\n\t\t\tif (all) {\n\t\t\t\tgroupOptions.value.unshift({\n\t\t\t\t\tlabel: t('common.all.text'),\n\t\t\t\t\tvalue: 0,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetGroupOptions()\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/tags/components/TagBulk.vue",
    "content": "<template>\n\t<modal :title=\"t('contacts.tags.bulk.title')\" width=\"560\">\n\t\t<bt-form ref=\"formRef\" class=\"pt-16px\" :model=\"form\">\n\t\t\t<n-form-item :label=\"t('contacts.tags.bulk.form.group')\" path=\"group_id\">\n\t\t\t\t<group-select v-model:value=\"form.group_id\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('contacts.tags.bulk.form.tags')\" path=\"tag_ids\">\n\t\t\t\t<tag-select v-model:value=\"form.tag_ids\" :groupId=\"form.group_id\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('contacts.tags.bulk.form.emails')\" path=\"data\">\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"form.data\"\n\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t:rows=\"5\"\n\t\t\t\t\t:placeholder=\"t('contacts.tags.bulk.form.emailsPlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('contacts.tags.bulk.form.action')\" path=\"mark_include\">\n\t\t\t\t<n-select v-model:value=\"form.mark_include\" :options=\"actionOptions\"></n-select>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { bulkSetTag } from '../service'\n\nimport GroupSelect from './GroupSelect.vue'\nimport TagSelect from './TagSelect.vue'\n\nconst { t } = useI18n()\n\nconst form = reactive({\n\tgroup_id: null as number | null,\n\ttag_ids: [] as number[],\n\tdata: '',\n\tmark_include: 1,\n})\n\nconst actionOptions = computed<SelectOption[]>(() => [\n\t{\n\t\tlabel: t('contacts.tags.bulk.actions.tagThese'),\n\t\tvalue: 1,\n\t},\n\t{\n\t\tlabel: t('contacts.tags.bulk.actions.tagExcept'),\n\t\tvalue: 0,\n\t},\n])\n\nconst resetForm = () => {\n\tform.group_id = null\n\tform.tag_ids = []\n\tform.data = ''\n\tform.mark_include = 1\n}\n\nconst [Modal] = useModal({\n\tonChangeState: () => {\n\t\tresetForm()\n\t},\n\tonConfirm: async () => {\n\t\tawait bulkSetTag({\n\t\t\tgroup_id: form.group_id || 0,\n\t\t\ttag_ids: form.tag_ids,\n\t\t\tdata: form.data,\n\t\t\tmark_include: form.mark_include,\n\t\t})\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/tags/components/TagForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" :width=\"440\">\n\t\t<bt-form ref=\"formRef\" class=\"pt-16px\" :model=\"form\" :rules=\"rules\">\n\t\t\t<n-form-item :label=\"t('contacts.tags.form.fields.name')\" path=\"name\">\n\t\t\t\t<n-input v-model:value=\"form.name\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('contacts.tags.form.fields.group')\" path=\"group_id\">\n\t\t\t\t<group-select v-model:value=\"form.group_id\" :disabled=\"isEdit\"></group-select>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { createTag, updateTag } from '../service'\nimport type { Tag } from '../types'\n\nimport GroupSelect from './GroupSelect.vue'\n\nconst { t } = useI18n()\n\nconst isEdit = ref(false)\n\nconst title = computed(() => {\n\treturn isEdit.value ? t('contacts.tags.form.title.edit') : t('contacts.tags.form.title.create')\n})\n\nconst formRef = useTemplateRef('formRef')\n\nconst tagId = ref(0)\n\nconst form = reactive({\n\tname: '',\n\tgroup_id: null as number | undefined | null,\n})\n\nconst rules = computed<FormRules>(() => ({\n\tname: {\n\t\trequired: true,\n\t\ttrigger: ['blur', 'input'],\n\t\tvalidator: () => {\n\t\t\tif (!form.name) {\n\t\t\t\treturn new Error(t('contacts.tags.form.validation.nameRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tgroup_id: {\n\t\trequired: true,\n\t\ttrigger: ['change'],\n\t\tvalidator: () => {\n\t\t\tif (!form.group_id) {\n\t\t\t\treturn new Error(t('contacts.tags.form.validation.groupRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}))\n\nconst resetForm = () => {\n\ttagId.value = 0\n\tform.name = ''\n\tform.group_id = null\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ row: Tag | null; isEdit: boolean; groupId: number }>()\n\t\t\tisEdit.value = state.isEdit\n\t\t\tif (state.isEdit && state.row) {\n\t\t\t\ttagId.value = state.row.id\n\t\t\t\tform.name = state.row.name\n\t\t\t\tform.group_id = state.row.group_id\n\t\t\t} else {\n\t\t\t\tform.group_id = state.groupId || null\n\t\t\t}\n\t\t} else {\n\t\t\tresetForm()\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tif (isEdit.value) {\n\t\t\tawait updateTag({\n\t\t\t\tid: tagId.value,\n\t\t\t\tname: form.name,\n\t\t\t})\n\t\t} else {\n\t\t\tawait createTag({\n\t\t\t\tname: form.name,\n\t\t\t\tgroup_id: form.group_id ? form.group_id : 0,\n\t\t\t})\n\t\t}\n\t\tconst { refresh } = modalApi.getState<{ refresh: () => void }>()\n\t\trefresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/tags/components/TagSelect.vue",
    "content": "<template>\n\t<div class=\"flex-1 mr-12px\">\n\t\t<n-select\n\t\t\tv-model:value=\"value\"\n\t\t\t:loading=\"loading\"\n\t\t\t:tag=\"true\"\n\t\t\t:multiple=\"true\"\n\t\t\t:filterable=\"true\"\n\t\t\t:options=\"options\">\n\t\t</n-select>\n\t</div>\n\t<n-button type=\"primary\" text @click=\"onCreate\">{{ $t('common.actions.create') }}</n-button>\n\n\t<form-modal></form-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { getTagAll } from '../service'\nimport type { Tag } from '../types'\nimport { useModal } from '@/hooks/modal/useModal'\n\nimport TagForm from './TagForm.vue'\n\nconst { groupId } = defineProps({\n\tgroupId: {\n\t\ttype: Number as PropType<number | null>,\n\t\tdefault: 0,\n\t},\n})\n\nconst value = defineModel<number[]>('value', {\n\tdefault: () => [],\n})\n\nconst loading = ref(false)\n\nconst tagList = ref<Tag[]>([])\n\nconst options = computed<SelectOption[]>(() => {\n\treturn tagList.value\n\t\t.filter(item => item.group_id === groupId)\n\t\t.map(item => ({\n\t\t\tlabel: item.name,\n\t\t\tvalue: item.id,\n\t\t}))\n})\n\nconst getOptions = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getTagAll({})\n\t\tif (isObject<{ list: Tag[] }>(res)) {\n\t\t\ttagList.value = res.list\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetOptions()\n\nwatch(\n\t() => groupId,\n\tval => {\n\t\tvalue.value = tagList.value.filter(item => item.group_id === val).map(item => item.id)\n\t}\n)\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: TagForm,\n\tstate: {\n\t\trefresh: getOptions,\n\t},\n})\n\nconst onCreate = () => {\n\tformModalApi.setState({ row: null, isEdit: false, groupId })\n\tformModalApi.open()\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/tags/index.vue",
    "content": "<template>\n\t<bt-table-layout>\n\t\t<template #toolsLeft>\n\t\t\t<n-button type=\"primary\" @click=\"onShowAdd\">{{ t('contacts.tags.addTag') }}</n-button>\n\t\t\t<n-button @click=\"onShowBulk\">{{ t('contacts.tags.bulkTag') }}</n-button>\n\t\t</template>\n\t\t<template #toolsRight>\n\t\t\t<div class=\"w-200px\">\n\t\t\t\t<group-select\n\t\t\t\t\tv-model:value=\"tableParams.group_id\"\n\t\t\t\t\t:all=\"true\"\n\t\t\t\t\t@update:value=\"() => fetchTable(true)\">\n\t\t\t\t</group-select>\n\t\t\t</div>\n\t\t\t<bt-search\n\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t:width=\"240\"\n\t\t\t\t:placeholder=\"t('contacts.tags.searchPlaceholder')\"\n\t\t\t\t@search=\"() => fetchTable(true)\">\n\t\t\t</bt-search>\n\t\t</template>\n\t\t<template #table>\n\t\t\t<n-data-table v-bind=\"tableProps\" :columns=\"columns\">\n\t\t\t\t<template #empty>\n\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t</template>\n\t\t\t</n-data-table>\n\t\t</template>\n\t\t<template #pageRight>\n\t\t\t<bt-table-page v-bind=\"pageProps\" @refresh=\"fetchTable\"> </bt-table-page>\n\t\t</template>\n\t\t<template #modal>\n\t\t\t<form-modal></form-modal>\n\t\t\t<bulk-modal></bulk-modal>\n\t\t</template>\n\t</bt-table-layout>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex } from 'naive-ui'\nimport { useBrowserLocation } from '@vueuse/core'\nimport { confirm, formatTime } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useDataTable } from '@/hooks/useDataTable'\nimport { deleteTag, getTagList } from './service'\nimport { Tag, TagParams } from './types'\n\nimport GroupSelect from './components/GroupSelect.vue'\nimport TagForm from './components/TagForm.vue'\nimport TagBulk from './components/TagBulk.vue'\n\nconst location = useBrowserLocation()\n\nconst { t } = useI18n()\n\nconst { tableProps, pageProps, tableParams, fetchTable } = useDataTable<Tag, TagParams>({\n\tparams: {\n\t\tkeyword: '',\n\t\tgroup_id: location.value.state.group_id || 0,\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t},\n\tuseParams: params => {\n\t\treturn {\n\t\t\t...params,\n\t\t\tgroup_id: params.group_id || undefined,\n\t\t}\n\t},\n\tfetchFn: getTagList,\n})\n\nconst columns = ref<DataTableColumns<Tag>>([\n\t{\n\t\tkey: 'name',\n\t\ttitle: t('contacts.tags.columns.name'),\n\t\tminWidth: 120,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\trender: row => (\n\t\t\t<NButton\n\t\t\t\ttype=\"primary\"\n\t\t\t\ttext={true}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tonView(row)\n\t\t\t\t}}>\n\t\t\t\t{row.name}\n\t\t\t</NButton>\n\t\t),\n\t},\n\t{\n\t\tkey: 'group_name',\n\t\ttitle: t('contacts.tags.columns.groupName'),\n\t\tminWidth: 120,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'create_time',\n\t\ttitle: t('contacts.tags.columns.createTime'),\n\t\tminWidth: 140,\n\t\trender: row => formatTime(row.create_time),\n\t},\n\t{\n\t\tkey: 'action',\n\t\ttitle: t('contacts.tags.columns.actions'),\n\t\talign: 'right',\n\t\twidth: 180,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonView(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.view')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonEditTag(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonDelTag(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst router = useRouter()\n\nconst onView = (row: Tag) => {\n\trouter.push({\n\t\tpath: '/contacts/subscribers',\n\t\tstate: { group_id: row.group_id, tag_id: row.id },\n\t})\n}\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: TagForm,\n\tstate: {\n\t\trefresh: fetchTable,\n\t},\n})\n\nconst onShowAdd = () => {\n\tformModalApi.setState({ row: null, isEdit: false, groupId: tableParams.value.group_id })\n\tformModalApi.open()\n}\n\nconst onEditTag = (row: Tag) => {\n\tformModalApi.setState({ row, isEdit: true })\n\tformModalApi.open()\n}\n\nconst onDelTag = (row: Tag) => {\n\tconfirm({\n\t\ttitle: t('contacts.tags.delete.title'),\n\t\tcontent: t('contacts.tags.delete.confirm', { name: row.name }),\n\t\tonConfirm: async () => {\n\t\t\tawait deleteTag({ id: row.id })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst [BulkModal, bulkModalApi] = useModal({\n\tcomponent: TagBulk,\n\tstate: {\n\t\trefresh: fetchTable,\n\t},\n})\n\nconst onShowBulk = () => {\n\tbulkModalApi.open()\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/contacts/tags/service/index.ts",
    "content": "import { instance } from '@/api'\nimport { i18n } from '@/i18n'\nimport type { TagParams } from '../types'\n\nconst { t } = i18n.global\n\nexport const getTagList = (params: TagParams) => {\n\treturn instance.get('/tags/list', { params })\n}\n\nexport const getTagAll = (params: { group_id?: number }) => {\n\treturn instance.get('/tags/all', { params })\n}\n\nexport const createTag = (params: { name: string; group_id: number }) => {\n\treturn instance.post('/tags/create', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.tags.loading.creating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const deleteTag = (params: { id: number }) => {\n\treturn instance.post('/tags/delete', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.tags.loading.deleting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const updateTag = (params: { id: number; name: string }) => {\n\treturn instance.post('/tags/update', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.tags.loading.updating'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n\nexport const bulkSetTag = (params: {\n\tgroup_id: number\n\ttag_ids: number[]\n\tdata: string\n\tmark_include: number\n}) => {\n\treturn instance.post('/tags/batch_contacts', params, {\n\t\tfetchOptions: {\n\t\t\tloading: t('contacts.tags.loading.bulkSetting'),\n\t\t\tsuccessMessage: true,\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/views/contacts/tags/types/index.ts",
    "content": "export type TagParams = {\n\tkeyword: string\n\tgroup_id: number\n\tpage: number\n\tpage_size: number\n}\n\nexport type Tag = {\n\tid: number\n\tgroup_id: number\n\tname: string\n\tcreate_time: number\n}\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/BlacklistDetection.vue",
    "content": "<template>\n\t<modal :title=\"$t('domain.blacklistDetection.title')\" :footer=\"false\" :width=\"660\">\n\t\t<div class=\"pt-8px\">\n\t\t\t<n-alert type=\"default\" :show-icon=\"false\">\n\t\t\t\t<div class=\"text-basic text-center\">\n\t\t\t\t\tChecking <b>{{ result.results || '--' }}</b> which resolves to\n\t\t\t\t\t<b>{{ result.ip || '--' }}</b> against <b>{{ result.tested }}</b> known blacklists...\n\t\t\t\t</div>\n\t\t\t</n-alert>\n\t\t\t<div class=\"my-24px text-center font-bold\">\n\t\t\t\t{{ t('domain.blacklistDetection.listed', { count: result.blacklisted || 0 }) }}\n\t\t\t</div>\n\t\t\t<n-alert v-if=\"!result.blacklisted\" class=\"success-alert\" type=\"success\">\n\t\t\t\t<span>{{ $t('domain.blacklistDetection.success') }}</span>\n\t\t\t</n-alert>\n\t\t\t<n-data-table v-else max-height=\"200\" :columns=\"columns\" :data=\"result.black_list\">\n\t\t\t</n-data-table>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { DataTableColumns } from 'naive-ui'\nimport { formatTime } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { DomainBlackCheckResult, MailDomain } from '../interface'\n\nconst { t } = useI18n()\n\nconst result = ref<Partial<DomainBlackCheckResult>>({})\n\nconst columns = ref<DataTableColumns<{ blacklist: string; time: number }>>([\n\t{\n\t\tkey: 'blacklist',\n\t\ttitle: t('domain.blacklistDetection.columns.blacklist'),\n\t},\n\t{\n\t\tkey: 'response',\n\t\ttitle: t('domain.blacklistDetection.columns.responseIp'),\n\t},\n\t{\n\t\tkey: 'time',\n\t\ttitle: t('domain.blacklistDetection.columns.checkTime'),\n\t\trender: row => formatTime(row.time),\n\t},\n])\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst { row } = modalApi.getState<{ row: MailDomain }>()\n\t\t\tresult.value = row.black_check_result || {}\n\t\t} else {\n\t\t\tresult.value = {}\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.success-alert {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\t:deep(.n-alert__icon) {\n\t\tposition: relative;\n\t\tmargin: 0;\n\t}\n\t:deep(.n-alert-body) {\n\t\tpadding-left: 8px;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/CheckLogs.vue",
    "content": "<template>\n\t<modal :title=\"$t('domain.checkLogs.title')\" :width=\"820\" :footer=\"false\">\n\t\t<div class=\"pt-8px\">\n\t\t\t<n-button type=\"primary\" @click=\"getLogs\">\n\t\t\t\t{{ $t('common.actions.refresh') }}\n\t\t\t</n-button>\n\t\t\t<div class=\"mt-16px h-440px\">\n\t\t\t\t<n-spin class=\"h-full\" :show=\"loading\">\n\t\t\t\t\t<bt-logs :code=\"code\" :scroll-to-bottom=\"true\"></bt-logs>\n\t\t\t\t</n-spin>\n\t\t\t</div>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getCheckLogs } from '@/api/modules/domain'\nimport { MailDomain } from '../interface'\nimport { isString } from '@/utils'\n\nconst code = ref('')\n\nconst loading = ref(false)\n\nconst pathRef = ref('')\n\nconst getLogs = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getCheckLogs({ path: pathRef.value })\n\t\tcode.value = isString(res) ? res : ''\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst { row } = modalApi.getState<{ row: MailDomain }>()\n\t\t\tpathRef.value = row.black_check_log\n\t\t\tgetLogs()\n\t\t} else {\n\t\t\tpathRef.value = ''\n\t\t\tcode.value = ''\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/DomainDns.vue",
    "content": "<template>\n\t<modal :title=\"t('domain.dns.title')\" :width=\"750\" :footer=\"false\">\n\t\t<div>\n\t\t\t<n-data-table size=\"small\" class=\"mb-20px\" :data=\"statusData\" :columns=\"statusColumns\">\n\t\t\t</n-data-table>\n\t\t\t<div class=\"record-title\">{{ t('domain.dns.step1.title') }}</div>\n\t\t\t<n-table size=\"small\" class=\"mb-24px\">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th width=\"140\">{{ t('domain.dns.table.recordType') }}</th>\n\t\t\t\t\t\t<th width=\"160\">{{ t('domain.dns.table.host') }}</th>\n\t\t\t\t\t\t<th>{{ t('domain.dns.table.value') }}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>A</td>\n\t\t\t\t\t\t<td>{{ aHost }}</td>\n\t\t\t\t\t\t<td>{{ aValue }}</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</n-table>\n\t\t\t<div class=\"record-title\">{{ t('domain.dns.step2.title') }}</div>\n\t\t\t<div class=\"record-desc\">{{ t('domain.dns.step2.description') }}</div>\n\t\t\t<n-table size=\"small\" class=\"mb-24px\">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th width=\"140\">{{ t('domain.dns.table.recordType') }}</th>\n\t\t\t\t\t\t<th width=\"160\">{{ t('domain.dns.table.host') }}</th>\n\t\t\t\t\t\t<th>{{ t('domain.dns.table.value') }}</th>\n\t\t\t\t\t\t<th>{{ t('domain.dns.table.mxPriority') }}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>MX</td>\n\t\t\t\t\t\t<td>{{ mxHost }}</td>\n\t\t\t\t\t\t<td>{{ mxValue }}</td>\n\t\t\t\t\t\t<td>10</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</n-table>\n\t\t\t<div class=\"record-title\">{{ t('domain.dns.step3.title') }}</div>\n\t\t\t<div class=\"record-desc\">{{ t('domain.dns.step3.description') }}</div>\n\t\t\t<div class=\"flex items-center gap-4px mb-12px\">\n\t\t\t\t<div class=\"flex items-center gap-4px\">\n\t\t\t\t\t<n-popover trigger=\"hover\">\n\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t<i class=\"i-custom:help text-primary\"></i>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<bt-tips>\n\t\t\t\t\t\t\t<li>{{ t('domain.dns.dkim.tips.line1') }}</li>\n\t\t\t\t\t\t\t<li>{{ t('domain.dns.dkim.tips.line2') }}</li>\n\t\t\t\t\t\t\t<li>{{ t('domain.dns.dkim.tips.line3') }}</li>\n\t\t\t\t\t\t</bt-tips>\n\t\t\t\t\t</n-popover>\n\t\t\t\t\t<span class=\"text-default\">{{ t('domain.dns.dkim.formatLabel') }}</span>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- 改成按钮组样式，并自定义内容 -->\n\t\t\t\t<n-radio-group v-model:value=\"dkimKeySize\">\n\t\t\t\t\t<n-radio value=\"2048\">\n\t\t\t\t\t\t<span>{{ t('domain.dns.dkim.keySize.option2048') }}</span>\n\t\t\t\t\t</n-radio>\n\n\t\t\t\t\t<n-radio value=\"1024\">\n\t\t\t\t\t\t<div class=\"radio-card\">\n\t\t\t\t\t\t\t<span>{{ t('domain.dns.dkim.keySize.option1024') }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-radio>\n\t\t\t\t</n-radio-group>\n\t\t\t</div>\n\t\t\t<n-table size=\"small\" class=\"mb-24px\">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th width=\"140\">{{ t('domain.dns.table.recordType') }}</th>\n\t\t\t\t\t\t<th width=\"160\">{{ t('domain.dns.table.host') }}</th>\n\t\t\t\t\t\t<th>{{ t('domain.dns.table.value') }}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>TXT</td>\n\t\t\t\t\t\t<td>@</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t<n-ellipsis class=\"mr-4px max-w-320px!\">{{ command }}</n-ellipsis>\n\t\t\t\t\t\t\t<n-button text type=\"primary\" @click=\"() => copyText(command)\">\n\t\t\t\t\t\t\t\t{{ t('common.actions.copy') }}\n\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>TXT</td>\n\t\t\t\t\t\t<td>{{ dkimHost }}</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t<n-ellipsis class=\"mr-4px max-w-320px!\">\n\t\t\t\t\t\t\t\t{{ dkimValue || '--' }}\n\t\t\t\t\t\t\t</n-ellipsis>\n\t\t\t\t\t\t\t<n-button v-if=\"dkimValue\" text type=\"primary\" @click=\"() => copyText(dkimValue)\">\n\t\t\t\t\t\t\t\t{{ t('common.actions.copy') }}\n\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>TXT</td>\n\t\t\t\t\t\t<td>_dmarc</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t<n-ellipsis class=\"mr-4px max-w-320px!\">\n\t\t\t\t\t\t\t\t{{ dmarcValue }}\n\t\t\t\t\t\t\t</n-ellipsis>\n\t\t\t\t\t\t\t<n-button v-if=\"dmarcValue\" text type=\"primary\" @click=\"() => copyText(dmarcValue)\">\n\t\t\t\t\t\t\t\t{{ t('common.actions.copy') }}\n\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</n-table>\n\t\t\t<div class=\"record-title\">{{ t('domain.dns.step4.title') }}</div>\n\t\t\t<div class=\"record-desc leading-20px\">\n\t\t\t\t<div>{{ t('domain.dns.step4.description1') }}</div>\n\t\t\t\t<div>{{ t('domain.dns.step4.description2') }}</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"flex justify-center mt-24px\">\n\t\t\t<n-button type=\"primary\" @click=\"onVerify\">{{ t('domain.dns.verify') }}</n-button>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NIcon } from 'naive-ui'\nimport { SuccessIcon, ErrorIcon } from 'naive-ui/es/_internal/icons'\nimport { isObject } from '@/utils'\nimport { useCopy } from '@/hooks/useCopy'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { freshDnsRecord } from '@/api/modules/domain'\nimport type { DomainDnsRecords, MailDomain } from '../interface'\n\nconst { t } = useI18n()\n\nconst { copyText } = useCopy()\n\nconst dkimKeySize = ref('2048')\n\nconst statusData = ref<MailDomain[]>([])\n\nconst getRecordValue = (record: string, key: 'host' | 'value' = 'value') => {\n\tif (statusData.value.length > 0) {\n\t\treturn statusData.value[0].dns_records[record][key]\n\t}\n\treturn ''\n}\n\nconst dkimValue = computed(() => {\n\treturn dkimKeySize.value === '2048' ? getRecordValue('dkim') : getRecordValue('dkim_short')\n})\n\nconst dkimHost = computed(() => {\n\treturn dkimKeySize.value === '2048' ? getRecordValue('dkim', 'host') : getRecordValue('dkim_short', 'host')\n})\n\nconst aValue = computed(() => {\n\treturn getRecordValue('a')\n})\n\nconst aHost = computed(() => {\n\treturn getRecordValue('a', 'host')\n})\n\nconst mxValue = computed(() => {\n\treturn getRecordValue('mx')\n})\n\nconst mxHost = computed(() => {\n\treturn getRecordValue('mx', 'host')\n})\n\nconst dmarcValue = computed(() => {\n\treturn getRecordValue('dmarc')\n})\n\nconst command = computed(() => {\n\treturn getRecordValue('spf')\n})\n\nconst StatusCol = ({ status }: { status: boolean }) => {\n\treturn (\n\t\t<div class={['inline-flex items-center', status ? 'text-primary' : 'text-error']}>\n\t\t\t<NIcon size=\"16\">{status ? <SuccessIcon /> : <ErrorIcon />}</NIcon>\n\t\t\t<span class=\"ml-4px\">\n\t\t\t\t{status ? t('domain.dns.status.ok') : t('domain.dns.status.notSet')}\n\t\t\t</span>\n\t\t</div>\n\t)\n}\n\nconst statusColumns = ref<DataTableColumns<MailDomain>>([\n\t{\n\t\tkey: 'domain',\n\t\ttitle: t('domain.dns.columns.domain'),\n\t\twidth: '20%',\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'mx',\n\t\ttitle: 'MX',\n\t\trender: row => {\n\t\t\tconst mx = row.dns_records.mx\n\t\t\treturn <StatusCol status={mx?.valid || false}></StatusCol>\n\t\t},\n\t},\n\t{\n\t\tkey: 'a',\n\t\ttitle: 'A record',\n\t\trender: row => {\n\t\t\tconst a = row.dns_records.a\n\t\t\treturn <StatusCol status={a?.valid || false}></StatusCol>\n\t\t},\n\t},\n\t{\n\t\tkey: 'spf',\n\t\ttitle: 'SPF',\n\t\trender: row => {\n\t\t\tconst spf = row.dns_records.spf\n\t\t\treturn <StatusCol status={spf?.valid || false}></StatusCol>\n\t\t},\n\t},\n\t{\n\t\tkey: 'dkim',\n\t\ttitle: 'DKIM',\n\t\trender: row => {\n\t\t\tconst dkim = row.dns_records.dkim\n\t\t\tconst dkimShort = row.dns_records.dkim_short\n\t\t\treturn <StatusCol status={dkim?.valid || dkimShort?.valid || false}></StatusCol>\n\t\t},\n\t},\n\t{\n\t\tkey: 'dmarc',\n\t\ttitle: 'DMARC',\n\t\trender: row => {\n\t\t\tconst dmarc = row.dns_records.dmarc\n\t\t\treturn <StatusCol status={dmarc?.valid || false}></StatusCol>\n\t\t},\n\t},\n\t{\n\t\tkey: 'ptr',\n\t\ttitle: 'PTR',\n\t\trender: row => {\n\t\t\tconst ptr = row.dns_records.ptr\n\t\t\treturn <StatusCol status={ptr?.valid || false}></StatusCol>\n\t\t},\n\t},\n])\n\nconst onVerify = async () => {\n\tconst res = await freshDnsRecord({ domain: statusData.value[0].domain })\n\tif (isObject<DomainDnsRecords>(res)) {\n\t\tstatusData.value[0].dns_records = res\n\t}\n\tconst { refresh } = modalApi.getState<{ refresh: () => void }>()\n\trefresh()\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ row: MailDomain | null }>()\n\t\t\tconst { row } = state\n\t\t\tif (row) {\n\t\t\t\tstatusData.value = [row]\n\t\t\t}\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.record-title {\n\tmargin-bottom: 5px;\n\tfont-size: 14px;\n\tcolor: var(--color-text-1);\n\tfont-weight: 600;\n}\n\n.record-desc {\n\tmargin-bottom: 12px;\n\tfont-size: 12px;\n\tcolor: var(--color-text-2);\n}\n</style>"
  },
  {
    "path": "core/frontend/src/views/domain/components/DomainForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" :width=\"600\">\n\t\t<div class=\"max-h-640px pt-16px overflow-auto\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item path=\"domain\">\n\t\t\t\t\t<template #label>\n\t\t\t\t\t\t<div class=\"flex items-center justify-start gap-1.25\">\n\t\t\t\t\t\t\t<span>{{ t('domain.form.domain') }}</span>\n\t\t\t\t\t\t\t<n-popover trigger=\"hover\">\n\t\t\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t\t\t<i class=\"i-custom:help text-primary cursor-pointer\"></i>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<bt-tips>\n\t\t\t\t\t\t\t\t\t<li class=\"text-error\">{{ t('domain.form.tips.aRecordFailed') }}</li>\n\t\t\t\t\t\t\t\t\t<li>{{ t('domain.form.tips.dnsSetup') }}</li>\n\t\t\t\t\t\t\t\t\t<li>{{ t('domain.form.tips.cloudflare') }}</li>\n\t\t\t\t\t\t\t\t</bt-tips>\n\t\t\t\t\t\t\t</n-popover>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.domain\"\n\t\t\t\t\t\t:disabled=\"isEdit\"\n\t\t\t\t\t\t:placeholder=\"t('domain.form.domainPlaceholder')\"\n\t\t\t\t\t\t@update:value=\"syncToUrls\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"t('domain.form.quota')\">\n\t\t\t\t\t<n-input-number v-model:value=\"form.quota\" class=\"flex-1\" :min=\"0\" :show-button=\"false\">\n\t\t\t\t\t</n-input-number>\n\t\t\t\t\t<div class=\"w-100px ml-20px\">\n\t\t\t\t\t\t<n-select v-model:value=\"form.quota_unit\" :options=\"unitOptions\"></n-select>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"t('domain.form.mailboxCount')\">\n\t\t\t\t\t<n-input-number\n\t\t\t\t\t\tv-model:value=\"form.mailboxes\"\n\t\t\t\t\t\tclass=\"flex-1\"\n\t\t\t\t\t\t:min=\"0\"\n\t\t\t\t\t\t:show-button=\"false\">\n\t\t\t\t\t</n-input-number>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('domain.form.dedicatedIp')\">\n\t\t\t\t\t<div class=\"flex-1 mr-16px\">\n\t\t\t\t\t\t<n-input v-model:value=\"form.outbound_ip\" :placeholder=\"$t('domain.form.notSet')\">\n\t\t\t\t\t\t</n-input>\n\t\t\t\t\t</div>\n\t\t\t\t\t<n-button type=\"primary\" ghost @click=\"onTestConnection\">\n\t\t\t\t\t\t{{ $t('domain.form.testConnection') }}\n\t\t\t\t\t</n-button>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item label=\"Hostname\" path=\"hostname\">\n\t\t\t\t\t<n-input v-model:value=\"form.hostname\" :placeholder=\"$t('domain.form.notSet')\"> </n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"t('domain.form.globalCatch')\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.email\"\n\t\t\t\t\t\t:placeholder=\"t('domain.form.globalCatchPlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<bt-more>\n\t\t\t\t\t<template #title>\n\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t<i class=\"i-domain:brand-info w-20px h-20px mr-6px\"></i>\n\t\t\t\t\t\t\t<span>{{ $t('domain.form.createBrandInfo') }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n-form-item :show-label=\"false\">\n\t\t\t\t\t\t<n-switch v-model:value=\"initAi\" :disabled=\"!aiConfigurationStatus\"></n-switch>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-alert\n\t\t\t\t\t\tv-if=\"!aiConfigurationStatus\"\n\t\t\t\t\t\tclass=\"mb-16px\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ttype=\"warning\"\n\t\t\t\t\t\t:show-icon=\"false\">\n\t\t\t\t\t\t<div class=\"w-100% flex justify-between items-center\">\n\t\t\t\t\t\t\t<span class=\"mr-5\">{{ $t('domain.form.modelNotice') }}</span>\n\t\t\t\t\t\t\t<n-button type=\"primary\" size=\"small\" @click=\"goIntegrate\">\n\t\t\t\t\t\t\t\t{{ $t('domain.form.integrateImmediately') }}\n\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-alert>\n\t\t\t\t\t<div class=\"mb-8px text-default flex justify-start\">\n\t\t\t\t\t\t<span><i class=\"i-domain:brand-info w-5 h-5 mr-4px\"></i></span>\n\t\t\t\t\t\t<span>{{ $t('domain.form.modelDescription') }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<bt-tips style=\"margin-bottom: 15px\">\n\t\t\t\t\t\t<li>{{ $t('domain.form.extractBrand') }}</li>\n\t\t\t\t\t\t<li>{{ $t('domain.form.analyzeStructure') }}</li>\n\t\t\t\t\t\t<li>{{ $t('domain.form.importContent') }}</li>\n\t\t\t\t\t\t<li>{{ $t('domain.form.customLogo') }}</li>\n\t\t\t\t\t</bt-tips>\n\t\t\t\t\t<n-form-item :label=\"$t('domain.form.specifyDomain')\">\n\t\t\t\t\t\t<div class=\"w-100% flex flex-col gap-2.5\">\n\t\t\t\t\t\t\t<!-- <n-input v-for=\"(item, index) in urls\" :key=\"index\" v-model:value=\"urls[index]\" placeholder=\"\">\n\t\t\t\t\t\t</n-input> -->\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-for=\"(_, index) in urls\"\n\t\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\t\tclass=\"flex justify-start items-center gap-2.5\">\n\t\t\t\t\t\t\t\t<n-input\n\t\t\t\t\t\t\t\t\tv-model:value=\"urls[index]\"\n\t\t\t\t\t\t\t\t\t:placeholder=\"t('domain.form.urlsPlacement')\"\n\t\t\t\t\t\t\t\t\t:disabled=\"!aiConfigurationStatus\"></n-input>\n\t\t\t\t\t\t\t\t<div v-if=\"index != 0\" class=\"close\" @click=\"removeUrl(index)\">\n\t\t\t\t\t\t\t\t\t<i class=\"i-material-symbols:close-rounded text-5\"></i>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<!-- <div v-else class=\"w-34px h-34px\"></div> -->\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <div class=\"text-[#777]\">{{ $t(\"domain.form.maxUrl\") }}</div> -->\n\n\t\t\t\t\t\t\t<!-- <n-button type=\"primary\" :disabled=\"!aiConfigurationStatus || urls.length == 3\" ghost @click=\"addUrl\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<i class=\"i-material-symbols:add-circle-outline\"></i>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t{{ $t(\"domain.form.addMoreUrls\") }}\n\t\t\t\t\t\t</n-button> -->\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t</bt-more>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n\n\t<!-- Wait for init brand info -->\n\t<WaitAndCheckDomainStatus ref=\"waitAndCheckDomainStatusRef\" />\n</template>\n\n<script lang=\"ts\" setup>\nimport WaitAndCheckDomainStatus from './WaitAndCheckDomainStatus.vue'\nimport { FormRules } from 'naive-ui'\nimport { useGlobalStore } from '@/store'\nimport { getByteUnit, getNumber, Message } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport {\n\tcreateDomain,\n\tinitAiConfiguration,\n\tupdateDomain,\n\tcheckAiConfiguration,\n\ttestConnection,\n} from '@/api/modules/domain'\nimport type { MailDomain } from '../interface'\nimport router from '@/router'\n\nconst { t } = useI18n()\n\nconst isEdit = ref(false)\nconst waitAndCheckDomainStatusRef = ref()\n\nconst title = computed(() => {\n\treturn isEdit.value ? t('domain.form.editTitle') : t('domain.form.addTitle')\n})\n\nconst globalStore = useGlobalStore()\n\nconst aiConfigurationStatus = ref(false)\n\nconst formRef = useTemplateRef('formRef')\n\nconst initAi = ref(false)\n\nconst urls = ref(['https://'])\n\nconst form = reactive({\n\tdomain: '',\n\thostname: '',\n\ta_record: '',\n\tquota: 5,\n\tquota_unit: 'GB',\n\tmailboxes: 50,\n\toutbound_ip: '',\n\temail: '',\n})\n\nconst unitOptions = [\n\t{ label: 'GB', value: 'GB' },\n\t{ label: 'MB', value: 'MB' },\n]\n\nconst rules: FormRules = {\n\tdomain: {\n\t\trequired: true,\n\t\ttrigger: ['blur', 'input'],\n\t\tvalidator: () => {\n\t\t\tif (form.domain.trim() === '') {\n\t\t\t\treturn new Error(t('domain.form.validation.domainRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\n/**\n * @description Calculate the byte number based on the domain quota and unit\n * @param quota\n * @param quota_unit\n */\nconst getQuotaByte = (quota: number, quota_unit: string) => {\n\tswitch (quota_unit) {\n\t\tcase 'GB':\n\t\t\treturn quota * 1024 * 1024 * 1024\n\t\tcase 'MB':\n\t\t\treturn quota * 1024 * 1024\n\t\tdefault:\n\t\t\treturn quota\n\t}\n}\n\n/**\n * @description Sync domain to urls\n */\nconst syncToUrls = (domainVal: string) => {\n\tconst httpStr = urls.value[0].match(/http:\\/\\/?/g)\n\tconst httpsStr = urls.value[0].match(/https:\\/\\/?/g)\n\tif (httpStr) {\n\t\turls.value[0] = httpStr[0] + domainVal\n\t}\n\n\tif (httpsStr) {\n\t\turls.value[0] = httpsStr[0] + domainVal\n\t}\n\n\tif (!httpStr && !httpsStr) {\n\t\turls.value[0] = 'https://' + domainVal\n\t}\n}\n\n/**\n * @description Remove url\n */\nconst removeUrl = (index: number) => {\n\turls.value.splice(index, 1)\n}\n\n/**\n * @description Test connection\n */\nconst onTestConnection = async () => {\n\tif (form.domain == '') {\n\t\tMessage.error(t('domain.form.validation.domainInputRequired'))\n\t\treturn\n\t}\n\tif (form.outbound_ip == '') {\n\t\tMessage.error(t('domain.form.validation.dedicatedIpRequired'))\n\t\treturn\n\t}\n\tawait testConnection({\n\t\tdomain: form.domain,\n\t\toutbound_ip: form.outbound_ip,\n\t})\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: async isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ isEdit: boolean; row: MailDomain | null }>()\n\t\t\tisEdit.value = state.isEdit\n\t\t\tconst res = (await checkAiConfiguration()) as Record<string, any>\n\t\t\taiConfigurationStatus.value = res.is_configured\n\t\t\tif (state.row) {\n\t\t\t\tconst { row } = state\n\t\t\t\tform.domain = row.domain\n\t\t\t\tform.a_record = row.a_record\n\t\t\t\tform.hostname = row.a_record\n\t\t\t\tconst quota = getByteUnit(row.quota)\n\t\t\t\tform.quota = getNumber(quota.split(' ')[0])\n\t\t\t\tform.quota_unit = quota.split(' ')[1]\n\t\t\t\tform.mailboxes = row.mailboxes\n\t\t\t\tform.email = row.email\n\t\t\t}\n\t\t} else {\n\t\t\tform.domain = ''\n\t\t\tform.a_record = ''\n\t\t\tform.hostname = ''\n\t\t\tform.quota = 5\n\t\t\tform.quota_unit = 'GB'\n\t\t\tform.mailboxes = 50\n\t\t\tform.email = ''\n\t\t\tform.outbound_ip = ''\n\t\t\turls.value = ['https://']\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tif (isEdit.value) {\n\t\t\tawait updateDomain({\n\t\t\t\tdomain: form.domain,\n\t\t\t\tquota: getQuotaByte(form.quota, form.quota_unit),\n\t\t\t\tmailboxes: form.mailboxes,\n\t\t\t\temail: form.email,\n\t\t\t\turls: urls.value,\n\t\t\t\toutbound_ip: form.outbound_ip,\n\t\t\t\thostname: form.hostname,\n\t\t\t})\n\t\t} else {\n\t\t\tawait createDomain({\n\t\t\t\tdomain: form.domain,\n\t\t\t\tquota: getQuotaByte(form.quota, form.quota_unit),\n\t\t\t\tmailboxes: form.mailboxes,\n\t\t\t\temail: form.email,\n\t\t\t\turls: urls.value,\n\t\t\t\thasbrandinfo: Number(initAi.value),\n\t\t\t\toutbound_ip: form.outbound_ip,\n\t\t\t\thostname: form.hostname,\n\t\t\t})\n\n\t\t\t// Init Ai configuration (via. src\\api\\modules\\domain.ts)\n\t\t\tif (initAi.value) {\n\t\t\t\tawait initAiConfiguration({\n\t\t\t\t\tdomain: form.domain,\n\t\t\t\t\turls: urls.value,\n\t\t\t\t})\n\t\t\t\twaitAndCheckDomainStatusRef.value.open(form.domain)\n\t\t\t\tglobalStore.domainSource = form.domain\n\t\t\t} else {\n\t\t\t\tglobalStore.domainSource = ''\n\t\t\t}\n\t\t}\n\t\tconst state = modalApi.getState<{ refresh: Function }>()\n\t\tstate.refresh()\n\t},\n})\n\n/**\n * @description Go to integrate AI model\n */\nfunction goIntegrate() {\n\trouter.push({\n\t\tname: 'AiModel',\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use '@/views/domain/pages/editDomain/components/mixin.scss';\n\n.close {\n\t@include mixin.operation-close;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/DomainIpSet.vue",
    "content": "<template>\n\t<modal :title=\"title\" :width=\"500\" :footer=\"false\">\n\t\t<div class=\"pt-16px px-16px text-basic\">\n\t\t\t<div class=\"flex justify-between items-center mb-16px\">\n\t\t\t\t<div>{{ $t('domain.ipSet.dedicatedIp') }}{{ ip }}</div>\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t{{ $t('domain.ipSet.configFile') }}\n\t\t\t\t\t<ip-status :status=\"configStatus\"></ip-status>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t{{ $t('domain.ipSet.connectionStatus') }}\n\t\t\t\t\t<ip-status :status=\"connectStatus\"></ip-status>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<n-alert class=\"mb-16px\" type=\"warning\" :show-icon=\"false\" :bordered=\"false\">\n\t\t\t\t{{ $t('domain.ipSet.warning') }}\n\t\t\t</n-alert>\n\n\t\t\t<n-spin size=\"small\" :show=\"loading\">\n\t\t\t\t<n-alert class=\"command-alert mb-16px\" :show-icon=\"false\" :bordered=\"false\">\n\t\t\t\t\t{{ command || '--' }}\n\t\t\t\t</n-alert>\n\t\t\t</n-spin>\n\n\t\t\t<div class=\"flex justify-center gap-16px\">\n\t\t\t\t<n-button type=\"primary\" :loading=\"loading\" :disabled=\"loading\" @click=\"getCommand\">\n\t\t\t\t\t{{ $t('domain.ipSet.getCommand') }}\n\t\t\t\t</n-button>\n\t\t\t\t<n-button @click=\"onCopyCommand\">{{ $t('domain.ipSet.copyCommand') }}</n-button>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<bt-modal\n\t\t\tv-model:show=\"showModal\"\n\t\t\t:width=\"420\"\n\t\t\t:title=\"$t('domain.ipSet.operationReminder')\"\n\t\t\t:footer=\"false\">\n\t\t\t<n-alert class=\"mb-16px\" type=\"warning\" :show-icon=\"false\" :bordered=\"false\">\n\t\t\t\t{{ $t('domain.ipSet.fixCommandTip') }}<br />\"{{ fixCommand }}\"\n\t\t\t</n-alert>\n\t\t\t<div class=\"flex justify-center\">\n\t\t\t\t<n-button type=\"primary\" @click=\"showModal = false\">{{\n\t\t\t\t\t$t('domain.ipSet.understood')\n\t\t\t\t}}</n-button>\n\t\t\t</div>\n\t\t</bt-modal>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isObject, Message } from '@/utils'\nimport { useCopy } from '@/hooks/useCopy'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getDomainIpCommand } from '@/api/modules/domain'\nimport { MailDomain } from '../interface'\nimport IpStatus from './IpStatus.vue'\n\nconst { t } = useI18n()\n\nconst domain = ref('')\n\nconst ip = ref('')\n\nconst status = ref('')\n\nconst configStatus = computed(() => {\n\tif (status.value === 'failed') return 'failed'\n\treturn 'applied'\n})\n\nconst connectStatus = computed(() => {\n\tif (status.value === 'applied') return 'applied'\n\treturn 'failed'\n})\n\nconst title = computed(() => {\n\treturn domain.value\n\t\t? t('domain.ipSet.titleWithDomain', { domain: domain.value })\n\t\t: t('domain.ipSet.title')\n})\n\nconst loading = ref(false)\n\nconst isFetchCommand = ref(false)\n\nconst command = ref('')\n\nconst fixCommand = ref('')\n\nconst getCommand = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getDomainIpCommand()\n\t\tif (isObject<{ command: string; fix_command: string }>(res)) {\n\t\t\tcommand.value = res.command\n\t\t\tfixCommand.value = res.fix_command\n\t\t\tisFetchCommand.value = true\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\nconst showModal = ref(false)\n\nconst { copyText } = useCopy()\n\nconst onCopyCommand = () => {\n\tif (!isFetchCommand.value) {\n\t\tMessage.error(t('domain.ipSet.validation.getCommandFirst'))\n\t\treturn\n\t}\n\n\tcopyText(command.value, false)\n\tshowModal.value = true\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst { row } = modalApi.getState<{ row: MailDomain }>()\n\t\t\tdomain.value = row.domain\n\t\t\tip.value = row.multi_ip_domains?.outbound_ip || ''\n\t\t\tstatus.value = row.multi_ip_domains?.status || ''\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.command-alert {\n\t--n-color: var(--color-command);\n\t--n-content-text-color: #fff;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/DomainSelect.vue",
    "content": "<template>\n\t<n-select\n\t\tv-model:value=\"domain\"\n\t\t:loading=\"loading\"\n\t\t:filterable=\"true\"\n\t\t:options=\"domainOptions\"\n\t\t:placeholder=\"t('mailbox.domain.selectPlaceholder')\">\n\t</n-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isArray } from '@/utils'\nimport { getDomainAll } from '@/api/modules/domain'\nimport type { MailDomain } from '@/views/domain/interface'\n\nconst { t } = useI18n()\n\nconst { isAll } = defineProps({\n\tisAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n})\n\nconst domain = defineModel<string | null>('value', {\n\tdefault: () => null,\n})\n\nconst loading = ref(false)\n\nconst domainOptions = ref<SelectOption[]>([])\n\nconst getDomainSelect = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getDomainAll()\n\t\tif (isArray<MailDomain>(res)) {\n\t\t\tdomainOptions.value = res.map(item => ({\n\t\t\t\tlabel: item.domain,\n\t\t\t\tvalue: item.domain,\n\t\t\t}))\n\t\t\t// Add all options\n\t\t\tif (isAll) {\n\t\t\t\tdomainOptions.value.unshift({\n\t\t\t\t\tlabel: t('common.all.text'),\n\t\t\t\t\tvalue: '',\n\t\t\t\t})\n\t\t\t\tdomain.value = ''\n\t\t\t} else {\n\t\t\t\tif (res.length > 0 && !domain.value) {\n\t\t\t\t\tdomain.value = res[0].domain\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetDomainSelect()\n</script>\n\n<style scoped>\n.domain-select {\n\twidth: 100%;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/DomainSsl/OtherCert.vue",
    "content": "<template>\n\t<div class=\"ssl-cert-container\">\n\t\t<n-spin :show=\"loading\">\n\t\t\t<n-alert v-if=\"certInfo.endtime > 0\" class=\"mb-16px\" type=\"success\" :show-icon=\"false\">\n\t\t\t\t<div class=\"brand-info\">\n\t\t\t\t\t<div class=\"info-label\">{{ $t('domain.ssl.cert.brand') }}：</div>\n\t\t\t\t\t<div class=\"info-value\">{{ certInfo.issuer }}</div>\n\t\t\t\t\t<div class=\"info-label\">{{ $t('domain.ssl.cert.domains') }}：</div>\n\t\t\t\t\t<div class=\"info-value font-normal!\">\n\t\t\t\t\t\t<n-tag v-for=\"(domain, index) in domains\" :key=\"index\" size=\"small\">\n\t\t\t\t\t\t\t{{ domain }}\n\t\t\t\t\t\t</n-tag>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</n-alert>\n\n\t\t\t<div class=\"cert-content\">\n\t\t\t\t<div class=\"cert-section\">\n\t\t\t\t\t<div class=\"section-title\">{{ $t('domain.ssl.cert.privateKey') }}</div>\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"certInfo.key_pem\"\n\t\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t\t:placeholder=\"$t('domain.ssl.cert.keyPlaceholder')\"\n\t\t\t\t\t\t:rows=\"14\"\n\t\t\t\t\t\t:input-props=\"{ spellcheck: false }\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"cert-section\">\n\t\t\t\t\t<div class=\"section-title\">{{ $t('domain.ssl.cert.certificate') }}</div>\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"certInfo.cert_pem\"\n\t\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t\t:placeholder=\"$t('domain.ssl.cert.certPlaceholder')\"\n\t\t\t\t\t\t:input-props=\"{ spellcheck: false }\"\n\t\t\t\t\t\t:rows=\"14\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"cert-actions\">\n\t\t\t\t<n-button type=\"primary\" @click=\"saveCertificate\">{{ $t('common.actions.save') }}</n-button>\n\t\t\t\t<n-button type=\"primary\" @click=\"applyCertificate\">\n\t\t\t\t\t{{ $t('domain.ssl.actions.applyFree') }}\n\t\t\t\t</n-button>\n\t\t\t</div>\n\t\t</n-spin>\n\n\t\t<bt-tips>\n\t\t\t<li>{{ $t('domain.ssl.tips.paste') }}</li>\n\t\t\t<li>{{ $t('domain.ssl.tips.chainCheck') }}</li>\n\t\t\t<li>{{ $t('domain.ssl.tips.pemFormat') }}</li>\n\t\t\t<li>{{ $t('domain.ssl.tips.defaultSite') }}</li>\n\t\t</bt-tips>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isObject } from '@/utils'\nimport { applyCert, getSsl, setSsl } from '@/api/modules/domain'\nimport { MailDomain, DomainCertInfo } from '../../interface'\n\nconst { domain, refresh } = defineProps({\n\tdomain: {\n\t\ttype: Object as PropType<MailDomain>,\n\t\trequired: true,\n\t},\n\trefresh: {\n\t\ttype: Function as PropType<() => void>,\n\t\trequired: true,\n\t},\n})\n\nconst loading = ref(false)\n\nconst certInfo = ref<DomainCertInfo>({\n\tsubject: '',\n\tissuer: '',\n\tnot_before: '',\n\tnot_after: '',\n\tdns: [],\n\tendtime: 0,\n\tkey_pem: '',\n\tcert_pem: '',\n})\n\nconst domains = computed(() => {\n\treturn certInfo.value.dns || []\n})\n\nconst getInfo = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getSsl({ domain: domain.domain })\n\t\tif (isObject<DomainCertInfo>(res)) {\n\t\t\tcertInfo.value = res\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\n// Save certificate\nconst saveCertificate = async () => {\n\tawait setSsl({\n\t\tdomain: domain.domain,\n\t\tkey: certInfo.value.key_pem,\n\t\tcertificate: certInfo.value.cert_pem,\n\t})\n\tgetInfo()\n\trefresh()\n}\n\nconst applyCertificate = async () => {\n\tawait applyCert({ domain: domain.domain })\n\tgetInfo()\n\trefresh()\n}\n\nconst init = () => {\n\tcertInfo.value = domain.cert_info\n}\n\ninit()\n</script>\n\n<style lang=\"scss\" scoped>\n.ssl-cert-container {\n\t.brand-info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 8px;\n\n\t\t.info-label {\n\t\t\tfont-weight: 500;\n\t\t\tcolor: var(--color-text-3);\n\t\t}\n\n\t\t.info-value {\n\t\t\tmargin-right: 16px;\n\t\t\tfont-weight: bold;\n\t\t\tcolor: #67c23a;\n\t\t\t.n-tag + .n-tag {\n\t\t\t\tmargin-left: 8px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.cert-content {\n\t\tdisplay: flex;\n\t\tgap: 20px;\n\t\tmargin-bottom: 20px;\n\n\t\t.cert-section {\n\t\t\tflex: 1;\n\n\t\t\t.section-title {\n\t\t\t\tfont-weight: 500;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t\tcolor: var(--color-text-1);\n\t\t\t}\n\t\t}\n\t}\n\n\t.cert-actions {\n\t\tdisplay: flex;\n\t\tgap: 12px;\n\t\tmargin-bottom: 24px;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/DomainSsl/index.vue",
    "content": "<template>\n\t<modal :title=\"$t('domain.ssl.title')\" :width=\"650\" :footer=\"false\">\n\t\t<bt-tabs v-model:value=\"menu\">\n\t\t\t<n-tab-pane name=\"other\" :tab=\"$t('domain.ssl.tabs.otherCertificate')\">\n\t\t\t\t<other-cert v-if=\"domainInfo\" :domain=\"domainInfo\" :refresh=\"refresh\" />\n\t\t\t</n-tab-pane>\n\t\t</bt-tabs>\n\t</modal>\n</template>\n\n<script setup lang=\"ts\">\nimport { useModal } from '@/hooks/modal/useModal'\nimport { MailDomain } from '../../interface'\n\nimport OtherCert from './OtherCert.vue'\n\nconst menu = ref('other')\n\nconst domainInfo = ref<MailDomain | null>(null)\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ row: MailDomain | null }>()\n\t\t\tconst { row } = state\n\t\t\tif (row) {\n\t\t\t\tdomainInfo.value = row\n\t\t\t}\n\t\t}\n\t},\n})\n\nconst refresh = () => {\n\tconst state = modalApi.getState<{ refresh: () => void }>()\n\tstate.refresh()\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/IpStatus.vue",
    "content": "<template>\n\t<div class=\"inline-flex items-center text-16px\">\n\t\t<template v-if=\"status === 'applied'\">\n\t\t\t<i class=\"i-tdesign:check-circle-filled text-primary\"></i>\n\t\t</template>\n\t\t<template v-if=\"status === 'failed'\">\n\t\t\t<div class=\"inline-flex flex-center w-16px h-16px bg-error rounded-full\">\n\t\t\t\t<i class=\"i-fa-solid:unlink text-#fff text-10px\"></i>\n\t\t\t</div>\n\t\t</template>\n\t\t<template v-if=\"status === 'pending'\">\n\t\t\t<i class=\"i-tdesign:time-filled text-desc\"></i>\n\t\t</template>\n\t\t<template v-if=\"status === 'applying'\">\n\t\t\t<n-spin :show=\"true\" :size=\"16\"></n-spin>\n\t\t</template>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\ndefineProps({\n\tstatus: {\n\t\ttype: String,\n\t\tdefault: 'pending',\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/NotSpam.vue",
    "content": "<template>\n\t<div class=\"inline-flex items-center gap-6px\">\n\t\t<div class=\"inline-flex items-center gap-4px cursor-pointer\" @click=\"onShowCheck\">\n\t\t\t<i\n\t\t\t\tclass=\"text-16px\"\n\t\t\t\t:class=\"\n\t\t\t\t\tcheckResult.blacklisted ? 'i-ooui:clear text-error' : 'i-ooui:success text-primary'\n\t\t\t\t\">\n\t\t\t</i>\n\t\t\t<span class=\"leading-[1]\">{{ time }}</span>\n\t\t</div>\n\t\t<!-- Check Now -->\n\t\t<n-popover>\n\t\t\t<template #trigger>\n\t\t\t\t<i class=\"i-common:search text-18px text-primary cursor-pointer\" @click=\"onCheck\"></i>\n\t\t\t</template>\n\t\t\t<span>{{ $t('domain.notSpam.checkNow') }}</span>\n\t\t</n-popover>\n\t\t<!-- Logs -->\n\t\t<n-popover>\n\t\t\t<template #trigger>\n\t\t\t\t<i class=\"i-common:logs text-18px cursor-pointer\" @click=\"onShowLogs\"></i>\n\t\t\t</template>\n\t\t\t<span>{{ $t('domain.notSpam.logs') }}</span>\n\t\t</n-popover>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useTimeAgo } from '@vueuse/core'\nimport { DomainBlackCheckResult } from '../interface'\nimport { checkDomainBlacklist } from '@/api/modules/domain'\n\nconst { record, checkResult } = defineProps({\n\trecord: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\tcheckResult: {\n\t\ttype: Object as PropType<DomainBlackCheckResult>,\n\t\tdefault: () => ({}),\n\t},\n})\n\nconst emit = defineEmits<{\n\tshowCheck: []\n\tshowCheckLogs: []\n}>()\n\nconst time = computed(() => {\n\tif (!checkResult.time) return '--'\n\treturn useTimeAgo(checkResult.time * 1000)\n})\n\nconst onShowCheck = () => {\n\temit('showCheck')\n}\n\nconst onCheck = async () => {\n\tawait checkDomainBlacklist({ a_record: record })\n}\n\nconst onShowLogs = () => {\n\temit('showCheckLogs')\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/components/WaitAndCheckDomainStatus.vue",
    "content": "<template>\n    <n-modal v-model:show=\"show\" :close-on-esc=\"false\" :mask-closable=\"false\">\n        <n-card style=\"width: auto;\">\n            <div class=\"flex justify-start gap-2.5 bg-transparent items-center\">\n                <i class=\"i-svg-spinners:bars-scale text-[var(--color-primary-1)] text-6\"></i>\n                <span class=\"flex items-center text-4\">{{ $t(\"domain.waitAndCheckDomainStatus.loading\") }}</span>\n            </div>\n        </n-card>\n    </n-modal>\n\n    <!-- Create Ai template -->\n    <CreateTplModal ref=\"createTplModal\" :only-ai=\"true\" />\n</template>\n\n<script setup lang=\"ts\">\nimport CreateTplModal from '@/views/template/components/CreateTplModal.vue'\nimport { useGlobalStore } from '@/store';\nimport { instance } from '@/api';\nimport { Message } from '@/utils';\nconst { t } = useI18n()\nconst show = ref(false)\nconst globalStore = useGlobalStore()\nconst createTplModal = ref()\n\nfunction open(domain: string, callback?: () => void) {\n    checkStatus(domain, callback)\n    globalStore.domainSource = domain\n    show.value = true\n}\nfunction close() {\n    show.value = false\n}\nfunction checkStatus(domain: string, callback?: () => void) {\n\n    let timer = setInterval(async () => {\n        const statusFlag = await getBaseInfoAndCheckStatus(domain)\n        if (statusFlag) {\n            Message.success(t(\"domain.waitAndCheckDomainStatus.success\"))\n            callback && callback()\n            close()\n            clearInterval(timer)\n            createTplModal.value.open()\n        }\n    }, 1000)\n}\n\n/**\n * @description Get base info and check status\n */\nasync function getBaseInfoAndCheckStatus(domain: string) {\n    try {\n        const res = await instance.post(\"/askai/project/get_base_info\", { domain }) as Record<string, any>\n        if (res.update_time) {\n            return true\n        } else {\n            return false\n        }\n    } catch (error) {\n        console.warn(error)\n        Message.error(t(\"domain.waitAndCheckDomainStatus.error\"))\n        return false\n    }\n}\ndefineExpose({\n    open,\n    close,\n    checkStatus,\n})\n\n</script>\n\n<style scoped></style>"
  },
  {
    "path": "core/frontend/src/views/domain/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<div class=\"bt-title\">{{ t('layout.menu.domain') }}</div>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAddDomain\">{{ t('domain.addDomain') }}</n-button>\n\t\t\t\t<bt-help href=\"https://www.billionmail.com/start/domain.html\" :text=\"t('domain.help')\">\n\t\t\t\t</bt-help>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table :loading=\"loading\" :columns=\"columns\" :data=\"tableList\">\n\t\t\t\t\t<template #empty>\n\t\t\t\t\t\t<bt-table-help></bt-table-help>\n\t\t\t\t\t</template>\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page\n\t\t\t\t\tv-model:page=\"tableParams.page\"\n\t\t\t\t\tv-model:page-size=\"tableParams.page_size\"\n\t\t\t\t\t:item-count=\"tableTotal\"\n\t\t\t\t\t@refresh=\"getTableData\">\n\t\t\t\t</bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<form-modal />\n\t\t\t\t<ssl-modal />\n\t\t\t\t<dns-modal />\n\t\t\t\t<domain-ip-set-modal />\n\t\t\t\t<blacklist-modal />\n\t\t\t\t<check-logs-modal />\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NFlex, NButton, NTag } from 'naive-ui'\nimport { confirm, getByteUnit } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useTableData } from '@/hooks/useTableData'\nimport { deleteDomain, getDomainList, setDefaultDomain } from '@/api/modules/domain'\nimport type { MailDomain, MailDomainParams } from './interface'\n\nimport DomainForm from './components/DomainForm.vue'\nimport DomainSsl from './components/DomainSsl/index.vue'\nimport DomainDns from './components/DomainDns.vue'\nimport DomainIpSet from './components/DomainIpSet.vue'\nimport IpStatus from './components/IpStatus.vue'\nimport NotSpam from './components/NotSpam.vue'\nimport BlacklistDetection from './components/BlacklistDetection.vue'\nimport CheckLogs from './components/CheckLogs.vue'\n\nconst { t } = useI18n()\n\nconst { tableParams, tableList, loading, tableTotal, getTableData } = useTableData<\n\tMailDomain,\n\tMailDomainParams\n>({\n\timmediate: true,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tkeyword: '',\n\t},\n\tfetchFn: getDomainList,\n})\n\nconst route = useRoute()\nconst router = useRouter()\n\n// Table columns\nconst columns = ref<DataTableColumns<MailDomain>>([\n\t{\n\t\tkey: 'domain',\n\t\ttitle: t('domain.columns.domain'),\n\t\tminWidth: 130,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<div class=\"inline-flex items-center\">\n\t\t\t\t\t{row.hasbrandinfo == 1 && <i class=\"i-domain:brand-info w-4 h-4 mr-4px\"></i>}\n\t\t\t\t\t<NButton text type=\"primary\" onClick={() => handleEdit(row)}>\n\t\t\t\t\t\t{row.domain}\n\t\t\t\t\t</NButton>\n\t\t\t\t\t{row.default === 1 && (\n\t\t\t\t\t\t<NTag size=\"small\" class=\"ml-8px\" bordered={false}>\n\t\t\t\t\t\t\t{t('domain.status.default')}\n\t\t\t\t\t\t</NTag>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tkey: 'not_in_spam_list',\n\t\ttitle: 'Not in Spam List',\n\t\trender: row => (\n\t\t\t<NotSpam\n\t\t\t\trecord={row.a_record}\n\t\t\t\tcheck-result={row.black_check_result}\n\t\t\t\tonShowCheck={() => {\n\t\t\t\t\tblacklistModalApi.setState({ row })\n\t\t\t\t\tblacklistModalApi.open()\n\t\t\t\t}}\n\t\t\t\tonShowCheckLogs={() => {\n\t\t\t\t\tcheckLogsModalApi.setState({ row })\n\t\t\t\t\tcheckLogsModalApi.open()\n\t\t\t\t}}\n\t\t\t/>\n\t\t),\n\t},\n\t{\n\t\tkey: 'quota',\n\t\ttitle: t('domain.columns.quota'),\n\t\trender: row => getByteUnit(row.quota),\n\t},\n\t{\n\t\tkey: 'mailboxes',\n\t\ttitle: t('domain.columns.mailboxes'),\n\t},\n\t{\n\t\tkey: 'current_quota',\n\t\ttitle: 'Current usage',\n\t\trender: row => getByteUnit(row.current_usage),\n\t},\n\t{\n\t\tkey: 'mailbox_quota',\n\t\ttitle: t('domain.columns.defaultMailboxSize'),\n\t\trender: row => getByteUnit(row.mailbox_quota),\n\t},\n\t// {\n\t// \tkey: 'catch_all',\n\t// \ttitle: 'Catch All',\n\t// \trender: row => (\n\t// \t\t<NSwitch\n\t// \t\t\tvalue={row.catch_all}\n\t// \t\t\tsize=\"small\"\n\t// \t\t\tonUpdateValue={(val: boolean) => {\n\t// \t\t\t\tif (val) {\n\t// \t\t\t\t\thandleOpenCatch(row)\n\t// \t\t\t\t} else {\n\t// \t\t\t\t\thandleCloseCatch(row)\n\t// \t\t\t\t}\n\t// \t\t\t}}\n\t// \t\t/>\n\t// \t),\n\t// },\n\t{\n\t\tkey: 'multi_ip_domains',\n\t\ttitle: t('domain.columns.dedicatedIp'),\n\t\trender: row => {\n\t\t\tif (row.multi_ip_domains) {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"flex items-center cursor-pointer\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\thandleMultiIpDomains(row)\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<span class=\"leading-14px mr-6px\">{row.multi_ip_domains.outbound_ip}</span>\n\t\t\t\t\t\t<IpStatus status={row.multi_ip_domains.status}></IpStatus>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn '--'\n\t\t},\n\t},\n\t{\n\t\tkey: 'ssl',\n\t\ttitle: 'SSL',\n\t\trender: row => {\n\t\t\tif (row.cert_info && row.cert_info.endtime) {\n\t\t\t\tconst ssl = row.cert_info\n\t\t\t\tconst day = Math.floor((ssl.endtime * 1000 - Date.now()) / 1000 / 60 / 60 / 24)\n\t\t\t\treturn (\n\t\t\t\t\t<NButton\n\t\t\t\t\t\ttype={day < 0 ? 'error' : 'primary'}\n\t\t\t\t\t\ttext\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\thandleShowSsl(row)\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{day < 0 ? t('domain.ssl.expired') : t('domain.ssl.daysLeft', { days: day })}\n\t\t\t\t\t</NButton>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"warning\"\n\t\t\t\t\ttext\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleShowSsl(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('domain.ssl.notSet')}\n\t\t\t\t</NButton>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\ttitle: t('domain.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 260,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDNSRecord(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('domain.actions.dnsRecord')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tdisabled={row.default === 1}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleSetDefault(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('domain.actions.setDefault')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: DomainForm,\n\tstate: {\n\t\tisEdit: false,\n\t\trefresh: getTableData,\n\t},\n})\n\n// Handle add domain\nconst handleAddDomain = () => {\n\tformModalApi.setState({\n\t\trow: null,\n\t\tisEdit: false,\n\t})\n\tformModalApi.open()\n}\n\n// Handle open catch all\n// const handleOpenCatch = (row: MailDomain) => {\n// \tcatchModalApi.setState({ row })\n// \tcatchModalApi.open()\n// }\n\n// Handle close catch all\n// const handleCloseCatch = (row: MailDomain) => {\n// \tconsole.log(row)\n// }\n\nconst [SslModal, sslModalApi] = useModal({\n\tcomponent: DomainSsl,\n\tstate: {\n\t\trefresh: getTableData,\n\t},\n})\n\n// Handle show ssl\nconst handleShowSsl = (row: MailDomain) => {\n\tsslModalApi.setState({ row })\n\tsslModalApi.open()\n}\n\nconst [DnsModal, dnsModalApi] = useModal({\n\tcomponent: DomainDns,\n\tstate: {\n\t\trefresh: getTableData,\n\t},\n})\n\n// Handle DNS records\nconst handleDNSRecord = (row: MailDomain) => {\n\tdnsModalApi.setState({ row })\n\tdnsModalApi.open()\n}\n\nconst handleSetDefault = (row: MailDomain) => {\n\tconfirm({\n\t\ttitle: t('domain.setDefault.title', { domain: row.domain }),\n\t\tcontent: t('domain.setDefault.confirm'),\n\t\tonConfirm: async () => {\n\t\t\tawait setDefaultDomain({ domain: row.domain })\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n\n// Handle edit\nconst handleEdit = (row: MailDomain) => {\n\trouter.push({\n\t\tname: 'EditDomain',\n\t\tparams: {\n\t\t\tdomain: row.domain,\n\t\t},\n\t})\n}\n\nconst [DomainIpSetModal, domainIpSetModalApi] = useModal({\n\tcomponent: DomainIpSet,\n})\n\n// Handle multi ip domains\nconst handleMultiIpDomains = (row: MailDomain) => {\n\tdomainIpSetModalApi.setState({ row })\n\tdomainIpSetModalApi.open()\n}\n\n// Handle delete\nconst handleDelete = (row: MailDomain) => {\n\tconfirm({\n\t\ttitle: t('domain.delete.title'),\n\t\tcontent: t('domain.delete.confirm', { domain: row.domain }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteDomain({ domain: row.domain })\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n\nconst [BlacklistModal, blacklistModalApi] = useModal({\n\tcomponent: BlacklistDetection,\n})\n\nconst [CheckLogsModal, checkLogsModalApi] = useModal({\n\tcomponent: CheckLogs,\n})\n\n// Whether should open create modal automic\nconst initDomainFlag = ref('')\n\nonMounted(() => {\n\tinitDomainFlag.value = route.query.init as string\n\tif (initDomainFlag.value === 'init-domain') {\n\t\thandleAddDomain()\n\t}\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.domain-container {\n\tpadding: 16px;\n\tbackground-color: #fff;\n\tborder-radius: 3px;\n\n\t.action-bar {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tmargin-bottom: 16px;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/interface.ts",
    "content": "export interface MailDomainParams {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n}\n\nexport interface MailDomain {\n\tdomain: string\n\ta_record: string\n\tmailboxes: number\n\tmailbox_quota: number\n\tquota: number\n\trate_limit: number\n\tcreate_time: number\n\tactive: number\n\tdefault: number\n\temail: string\n\thasbrandinfo: number\n\tcurrent_usage: number\n\tblack_check_log: string\n\turls: string[]\n\tdns_records: DomainDnsRecords\n\tcert_info: DomainCertInfo\n\tmulti_ip_domains: DomainMultiIp | null\n\tblack_check_result: DomainBlackCheckResult\n}\n\nexport interface DomainBlackCheckResult {\n\ttime: number\n\tresults: string\n\tip: string\n\ttested: number\n\tpassed: number\n\tinvalid: number\n\tblacklisted: number\n\tblack_list: Array<{\n\t\tblacklist: string\n\t\tresponse: string\n\t\ttime: number\n\t}>\n}\n\nexport interface DomainMultiIp {\n\tid: number\n\tdomain: string\n\toutbound_ip: string\n\tnetwork_name: string\n\tsubnet: string\n\tpostfix_ip: string\n\taliases: string\n\tsmtp_server_name: string\n\tactive: number\n\tcreate_time: number\n\tupdate_time: number\n\tstatus: string\n\trepair_command: string\n\tutility_command: string\n}\n\nexport type DomainDnsRecords = {\n\t[key: string]: {\n\t\ttype: string\n\t\thost: string\n\t\tvalue: string\n\t\tvalid: boolean\n\t}\n}\n\nexport type DomainCertInfo = {\n\tsubject: string\n\tissuer: string\n\tnot_before: string\n\tnot_after: string\n\tdns: string[]\n\tendtime: number\n\tkey_pem: string\n\tcert_pem: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/AISettings.vue",
    "content": "<template>\n\t<div class=\"content-wrapper\">\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit\" style=\"margin: 0\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\"> {{ $t(\"domain.edit.aiSettings.title\") }} </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\n\t\t<n-card>\n\t\t\t<div class=\"page-tit mb-5\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<span class=\"tit-content\"> {{ $t(\"domain.edit.aiSettings.defaultInstructions\") }} </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<n-form>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.aiSettings.emailGenerationInstructions\") }}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"prompt\" type=\"textarea\" :rows=\"13\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t</n-form>\n\t\t\t<div>\n\t\t\t\t{{ $t(\"domain.edit.aiSettings.instructionsDescription\") }}\n\t\t\t</div>\n\t\t</n-card>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { getAisettingsInfo } from '../controller/aiSettings.controller'\nimport { getEditDomainStoreData } from '../store'\n\nconst { prompt } = getEditDomainStoreData()\nconst route = useRoute()\nconst domain = route.params.domain as string\ngetAisettingsInfo(domain)\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n@use './mixin.scss' as mixin;\n\n.content-wrapper {\n\t@include mixin.content-wrapper;\n\n\t.page-tit {\n\t\t@include mixin.page-tit;\n\t}\n\n\t.form-label {\n\t\t@include mixin.form-label;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/CompanyProfile.vue",
    "content": "<template>\n\t<div class=\"content-wrapper\">\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"tit-content\"> {{ $t(\"domain.edit.companyProfile.title\") }} </span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\n\t\t<n-card class=\"mb-5\">\n\t\t\t<n-form>\n\t\t\t\t<div class=\"flex justify-between gap-5\">\n\t\t\t\t\t<n-form-item class=\"flex-1\">\n\t\t\t\t\t\t<template #label><span class=\"form-label\"> {{ $t(\"domain.edit.companyProfile.legalCompanyName\") }} </span></template>\n\t\t\t\t\t\t<n-input v-model:value=\"legal_company_name\"></n-input>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item class=\"flex-1\">\n\t\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.companyProfile.website\") }}</span></template>\n\t\t\t\t\t\t<n-input v-model:value=\"web_site\"></n-input>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t</div>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.companyProfile.organizationNumber\") }}</span></template>\n\t\t\t\t\t<n-input></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.companyProfile.additionalInfo\") }}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"company_profile\" type=\"textarea\" :rows=\"8\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t</n-form>\n\t\t</n-card>\n\n\t\t<n-card>\n\t\t\t<div class=\"page-tit mb-20px\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\"> {{ $t(\"domain.edit.companyProfile.contactInfo\") }} </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<n-form>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.companyProfile.contactEmail\") }}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"email\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.companyProfile.phoneNumber\") }}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"phone\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.companyProfile.supportUrl\") }}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"support_url\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t</n-form>\n\t\t</n-card>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { getCompanuyProfile } from '../controller/companyProfile.controller'\nimport { getEditDomainStoreData } from '../store'\nconst { legal_company_name, web_site, phone, company_profile, email, support_url } =\n\tgetEditDomainStoreData()\nconst route = useRoute()\nconst domain = route.params.domain as string\ngetCompanuyProfile(domain)\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n@use './mixin.scss' as mixin;\n\n.content-wrapper {\n\t@include mixin.content-wrapper;\n\n\t.page-tit {\n\t\t@include mixin.page-tit;\n\t}\n\n\t.form-label {\n\t\t@include mixin.form-label;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/DomainConfiguration.vue",
    "content": "<template>\n\t<div class=\"content-wrapper\">\n\t\t<div>\n\t\t\t<n-card>\n\t\t\t\t<div class=\"page-tit mb-5\">\n\t\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t\t<i class=\"i-cuida:mail-outline text-28px\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"tit-content\">{{ $t('domain.edit.domainConfiguration.title') }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- form data -->\n\t\t\t\t<n-form>\n\t\t\t\t\t<n-form-item :label=\"$t('domain.edit.domainConfiguration.domain')\">\n\t\t\t\t\t\t<n-input v-model:value=\"domainTit\" :disabled=\"true\" @input=\"syncToUrl\"></n-input>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item :label=\"$t('domain.edit.domainConfiguration.dedicatedIp')\">\n\t\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t\t<div class=\"mb-12px text-desc\">\n\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t$t('domain.edit.domainConfiguration.dedicatedIpDesc', { domain: 'aapanel.com' })\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"flex gap-16px\">\n\t\t\t\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t\t\t\t<n-input\n\t\t\t\t\t\t\t\t\t\tv-model:value=\"domainIp\"\n\t\t\t\t\t\t\t\t\t\t:placeholder=\"$t('domain.edit.domainConfiguration.notSet')\"></n-input>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<n-button type=\"primary\" ghost @click=\"testConnection\">{{\n\t\t\t\t\t\t\t\t\t$t('domain.edit.domainConfiguration.testConnection')\n\t\t\t\t\t\t\t\t}}</n-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item label=\"Hostname\">\n\t\t\t\t\t\t<n-input v-model:value=\"hostname\"></n-input>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item :label=\"$t('domain.edit.domainConfiguration.catchAll')\">\n\t\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t\t<div class=\"mb-12px text-desc\">\n\t\t\t\t\t\t\t\t* {{ $t('domain.edit.domainConfiguration.catchAllDesc') }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<n-input v-model:value=\"catch_email\"></n-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item :label=\"$t('domain.edit.domainConfiguration.domainQuota')\">\n\t\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t\t<div class=\"mb-12px text-desc\">\n\t\t\t\t\t\t\t\t* {{ $t('domain.edit.domainConfiguration.domainQuotaDesc') }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"flex gap-16px\">\n\t\t\t\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t\t\t\t<n-input v-model:value=\"quota\"></n-input>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"w-80px\">\n\t\t\t\t\t\t\t\t\t<n-select v-model:value=\"unit\" :options=\"uintOptions\"></n-select>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t\t<n-form-item :label=\"$t('domain.edit.domainConfiguration.mailboxCount')\">\n\t\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t\t<div class=\"mb-12px text-desc\">\n\t\t\t\t\t\t\t\t* {{ $t('domain.edit.domainConfiguration.mailboxCountDesc') }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<n-input-number v-model:value=\"mailboxes\" class=\"w-full\" :show-button=\"false\">\n\t\t\t\t\t\t\t</n-input-number>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-form-item>\n\t\t\t\t</n-form>\n\t\t\t</n-card>\n\n\t\t\t<n-card v-if=\"createdBrandInfo\" class=\"mt-5\">\n\t\t\t\t<div class=\"page-tit mb-5\">\n\t\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t\t<i class=\"i-cuida:mail-outline text-7\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"tit-content\">{{ $t('domain.edit.domainConfiguration.brandInfo') }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"right-tit\">\n\t\t\t\t\t\t<n-switch v-model:value=\"brandInfo\" @update:value=\"switchBrandInfo\"></n-switch>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"w-100% flex flex-col gap-2.5\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"(_, index) in urls\"\n\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\tclass=\"flex justify-start items-center gap-2.5\">\n\t\t\t\t\t\t<n-input\n\t\t\t\t\t\t\tv-model:value=\"urls[index]\"\n\t\t\t\t\t\t\t:placeholder=\"$t('domain.form.urlsPlacement')\"\n\t\t\t\t\t\t\t:disabled=\"!supplierStatus\"\n\t\t\t\t\t\t\treadonly>\n\t\t\t\t\t\t</n-input>\n\t\t\t\t\t\t<div v-if=\"index != 0\" class=\"close\" @click=\"removeUrl(index)\">\n\t\t\t\t\t\t\t<i class=\"i-material-symbols:close-rounded text-5\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</n-card>\n\n\t\t\t<n-card v-else class=\"mt-5\">\n\t\t\t\t<div class=\"fw-bold text-4 mb-5 text-[#777] flex justify-between items-center\">\n\t\t\t\t\t<span>{{ $t('domain.edit.domainConfiguration.noBrandInfo') }}</span>\n\t\t\t\t</div>\n\t\t\t\t<n-alert v-if=\"!supplierStatus\" type=\"warning\" class=\"mb-15px\" :show-icon=\"false\">\n\t\t\t\t\t<div class=\"w-100% flex justify-between items-center\">\n\t\t\t\t\t\t<span class=\"mr-5\">\n\t\t\t\t\t\t\t{{ $t('domain.edit.domainConfiguration.aiIntegrationWarning') }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<n-button ghost type=\"primary\" @click=\"jumpToAiSettings\">\n\t\t\t\t\t\t\t{{ $t('domain.edit.domainConfiguration.integrateImmediately') }}\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t</div>\n\t\t\t\t</n-alert>\n\t\t\t\t<div class=\"mb-8px text-default\">\n\t\t\t\t\t{{ $t('domain.edit.domainConfiguration.aiDescription') }}\n\t\t\t\t</div>\n\t\t\t\t<bt-tips style=\"margin-bottom: 15px\">\n\t\t\t\t\t<li>{{ $t('domain.edit.domainConfiguration.features.extractBrand') }}</li>\n\t\t\t\t\t<li>{{ $t('domain.edit.domainConfiguration.features.analyzeStructure') }}</li>\n\t\t\t\t\t<li>{{ $t('domain.edit.domainConfiguration.features.importContent') }}</li>\n\t\t\t\t\t<li>{{ $t('domain.edit.domainConfiguration.features.customLogo') }}</li>\n\t\t\t\t</bt-tips>\n\t\t\t\t<n-form-item :label=\"$t('domain.edit.domainConfiguration.specifyDomain')\">\n\t\t\t\t\t<div class=\"w-100% flex flex-col gap-2.5\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(_, index) in urls\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\tclass=\"flex justify-start items-center gap-2.5\">\n\t\t\t\t\t\t\t<n-input\n\t\t\t\t\t\t\t\tv-model:value=\"urls[index]\"\n\t\t\t\t\t\t\t\t:placeholder=\"$t('domain.form.urlsPlacement')\"\n\t\t\t\t\t\t\t\t:disabled=\"!supplierStatus\">\n\t\t\t\t\t\t\t</n-input>\n\t\t\t\t\t\t\t<div v-if=\"index != 0\" class=\"close\" @click=\"removeUrl(index)\">\n\t\t\t\t\t\t\t\t<i class=\"i-material-symbols:close-rounded text-5\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- <div class=\"text-[#777]\">{{ $t(\"domain.form.maxUrl\") }}</div> -->\n\t\t\t\t\t\t<!-- <n-button type=\"primary\" :disabled=\"!supplierStatus\" ghost @click=\"addUrl\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<i class=\"i-material-symbols:add-circle-outline\"></i>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t{{ $t('domain.edit.domainConfiguration.addMoreUrls') }}\n\t\t\t\t\t\t</n-button> -->\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-button type=\"primary\" ghost @click=\"createBrandInfo\">\n\t\t\t\t\t{{ $t('domain.edit.domainConfiguration.createNow') }}\n\t\t\t\t</n-button>\n\t\t\t</n-card>\n\t\t\t<n-button type=\"primary\" class=\"w-100% mt-5\" @click=\"updateDomain\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<i class=\"i-mingcute:save-2-line text-5\"></i>\n\t\t\t\t</template>\n\t\t\t\t{{ $t('domain.edit.save') }}\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n\n\t<!-- Wait for init brand info -->\n\t<WaitAndCheckDomainStatus ref=\"waitAndCheckDomainStatusRef\" />\n</template>\n\n<script setup lang=\"ts\">\nimport WaitAndCheckDomainStatus from '@/views/domain/components/WaitAndCheckDomainStatus.vue'\nimport { checkAiConfiguration } from '@/api/modules/domain'\nimport {\n\tgetDomainDetail,\n\tsyncToUrl,\n\tremoveUrl,\n\tcreateBrandInfo,\n\tswitchBrandInfo,\n\tupdateDomain,\n\ttestConnection,\n} from '../controller/domainConfiguration.controller'\nimport { getEditDomainStoreData } from '../store'\n\nconst router = useRouter()\n\nconst supplierStatus = ref(false)\n\nconst {\n\tdomainTit,\n\tdomainIp,\n\thostname,\n\tquota,\n\tunit,\n\tmailboxes,\n\tcatch_email,\n\turls,\n\tbrandInfo,\n\tcreatedBrandInfo,\n\twaitAndCheckDomainStatusRef,\n} = getEditDomainStoreData()\n\nconst route = useRoute()\n\nconst domain = route.params.domain as any\n\nconst uintOptions = ref([\n\t{\n\t\tlabel: 'B',\n\t\tvalue: 'B',\n\t},\n\t{\n\t\tlabel: 'KB',\n\t\tvalue: 'KB',\n\t},\n\t{\n\t\tlabel: 'MB',\n\t\tvalue: 'MB',\n\t},\n\t{\n\t\tlabel: 'GB',\n\t\tvalue: 'GB',\n\t},\n\t{\n\t\tlabel: 'TB',\n\t\tvalue: 'TB',\n\t},\n])\n\ngetDomainDetail(domain)\n\n/**\n * @description Check AI configuration\n */\nasync function checkAiConfig() {\n\tconst res = (await checkAiConfiguration()) as Record<string, any>\n\tif (res) {\n\t\tsupplierStatus.value = res.is_configured\n\t}\n}\n\ncheckAiConfig()\n\n/**\n * @description Add url to urls\n */\n// function addUrl() {\n// \turls.value.push('')\n// }\n\n/**\n * @description Jump to AI settings page\n */\nfunction jumpToAiSettings() {\n\trouter.push({\n\t\tname: 'AiModel',\n\t})\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n@use './mixin.scss' as mixin;\n\n.content-wrapper {\n\t@include mixin.content-wrapper;\n\tpadding-bottom: 32px;\n\n\t// title\n\t.page-tit {\n\t\t@include mixin.page-tit;\n\t}\n\n\t.form-label {\n\t\t@include mixin.form-label;\n\t}\n\n\t// Switch settings\n\t.switch-settings {\n\t\t@mixin settings-label {\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t.switch-item {\n\t\t\t@include base.row-flex;\n\t\t\tjustify-content: space-between;\n\t\t\tmargin-bottom: 15px;\n\n\t\t\t.label {\n\t\t\t\tcolor: var(--color-text-2);\n\t\t\t\t@include settings-label();\n\t\t\t}\n\t\t}\n\t}\n\n\t.close {\n\t\t@include mixin.operation-close;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/FooterSettings.vue",
    "content": "<template>\n\t<div class=\"content-wrapper\">\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit\" style=\"margin: 0\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\"> {{ $t(\"domain.edit.footerSettings.title\") }} </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\n\t\t<n-card>\n\t\t\t<div class=\"page-tit mb-5\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<span class=\"tit-content\"> {{ $t(\"domain.edit.footerSettings.additionalContent\") }} </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<n-form>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.footerSettings.copyrightText\") }}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"copyright_text\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<!-- <n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">Disclaimer</span></template>\n\t\t\t\t\t<n-input v-model:value=\"disclaimer\" type=\"textarea\" :rows=\"8\"></n-input>\n\t\t\t\t</n-form-item> -->\n\t\t\t</n-form>\n\t\t</n-card>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { getFootersettingsInfo } from '../controller/footerSettings.controller'\nimport { getEditDomainStoreData } from '../store'\n\nconst { copyright_text } = getEditDomainStoreData()\nconst route = useRoute()\nconst domain = route.params.domain as string\ngetFootersettingsInfo(domain)\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n@use './mixin.scss' as mixin;\n\n.content-wrapper {\n\t@include mixin.content-wrapper;\n\n\t.page-tit {\n\t\t@include mixin.page-tit;\n\t}\n\n\t.form-label {\n\t\t@include mixin.form-label;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/ProjectDetails.vue",
    "content": "<template>\n\t<div class=\"content-wrapper\">\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\">{{ $t('domain.edit.projectDetails.title') }}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\t\t<n-card class=\"mb-5\">\n\t\t\t<n-form>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{\n\t\t\t\t\t\t$t('domain.edit.projectDetails.projectName')\n\t\t\t\t\t}}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"project_name\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{\n\t\t\t\t\t\t$t('domain.edit.projectDetails.description')\n\t\t\t\t\t}}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"description\" type=\"textarea\" :rows=\"7\"></n-input>\n\t\t\t\t</n-form-item>\n\t\t\t</n-form>\n\t\t</n-card>\n\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit mb-20px\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:earth-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\">{{ $t('domain.edit.projectDetails.brandLogos') }}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"sub-tit\">\n\t\t\t\t<span class=\"tit\">{{ $t('domain.edit.projectDetails.logoSystem') }}</span>\n\t\t\t\t<span>{{ $t('domain.edit.projectDetails.logoSystemDesc') }}</span>\n\t\t\t</div>\n\n\t\t\t<div class=\"logo-operation\">\n\t\t\t\t<div class=\"operation-item\">\n\t\t\t\t\t<div class=\"operation-tit\">{{ $t('domain.edit.projectDetails.primaryLogo') }}</div>\n\t\t\t\t\t<div class=\"operation-sub-tit\">\n\t\t\t\t\t\t{{ $t('domain.edit.projectDetails.primaryLogoDesc') }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"logo-area\" @click=\"choosePrimary\">\n\t\t\t\t\t\t<div v-if=\"!primary_logo\" class=\"upload-logo-placeholder\">\n\t\t\t\t\t\t\t<i class=\"i-carbon:cloud-upload text-8\"></i>\n\t\t\t\t\t\t\t<span>{{ $t('domain.edit.projectDetails.primaryLogo') }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<n-image v-else :src=\"primary_logo\" height=\"100\" width=\"150\" object-fit=\"contain\"\n\t\t\t\t\t\t\tpreview-disabled>\n\t\t\t\t\t\t\t<template #error>\n\t\t\t\t\t\t\t\t<div class=\"w-100% h-100% flex justify-center items-center flex-col gap-1.25\">\n\t\t\t\t\t\t\t\t\t<i class=\"i-mingcute:pic-line text-15\"></i>\n\t\t\t\t\t\t\t\t\t<span>{{ $t('domain.edit.projectDetails.loadingFailed') }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</n-image>\n\t\t\t\t\t\t<input v-show=\"false\" ref=\"primaryUpload\" type=\"file\"\n\t\t\t\t\t\t\t@change=\"event => faviconChange(event, 'primary')\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"operation-item\">\n\t\t\t\t\t<div class=\"operation-tit\">{{ $t('domain.edit.projectDetails.secondaryLogo') }}</div>\n\t\t\t\t\t<div class=\"operation-sub-tit\">\n\t\t\t\t\t\t{{ $t('domain.edit.projectDetails.secondaryLogoDesc') }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"logo-area\" @click=\"chooseSecondary\">\n\t\t\t\t\t\t<div v-if=\"!secondary_logo\" class=\"upload-logo-placeholder\">\n\t\t\t\t\t\t\t<i class=\"i-carbon:cloud-upload text-8\"></i>\n\t\t\t\t\t\t\t<span>{{ $t('domain.edit.projectDetails.primaryLogo') }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<n-image v-else :src=\"secondary_logo\" height=\"100\" width=\"150\" object-fit=\"contain\"\n\t\t\t\t\t\t\tpreview-disabled>\n\t\t\t\t\t\t\t<template #error>\n\t\t\t\t\t\t\t\t<div class=\"w-100% h-100% flex justify-center items-center flex-col gap-1.25\">\n\t\t\t\t\t\t\t\t\t<i class=\"i-mingcute:pic-line text-15\"></i>\n\t\t\t\t\t\t\t\t\t<span>{{ $t('domain.edit.projectDetails.loadingFailed') }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</n-image>\n\t\t\t\t\t\t<input v-show=\"false\" ref=\"secondaryUpload\" type=\"file\"\n\t\t\t\t\t\t\t@change=\"event => faviconChange(event, 'secondary')\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"operation-item\">\n\t\t\t\t\t<div class=\"operation-tit\">{{ $t('domain.edit.projectDetails.favicon') }}</div>\n\t\t\t\t\t<div class=\"operation-sub-tit\">{{ $t('domain.edit.projectDetails.faviconDesc') }}</div>\n\t\t\t\t\t<div class=\"logo-area\" @click=\"chooseFavicon\">\n\t\t\t\t\t\t<div v-if=\"!favicon\" class=\"upload-logo-placeholder\">\n\t\t\t\t\t\t\t<i class=\"i-carbon:cloud-upload text-8\"></i>\n\t\t\t\t\t\t\t<span>{{ $t('domain.edit.projectDetails.primaryLogo') }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<n-image v-else :src=\"favicon\" height=\"40\" width=\"60\" object-fit=\"contain\" preview-disabled>\n\t\t\t\t\t\t\t<template #error>\n\t\t\t\t\t\t\t\t<div class=\"w-100% h-100% flex justify-center items-center flex-col gap-1.25\">\n\t\t\t\t\t\t\t\t\t<i class=\"i-mingcute:pic-line text-15\"></i>\n\t\t\t\t\t\t\t\t\t<span>{{ $t('domain.edit.projectDetails.loadingFailed') }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</n-image>\n\t\t\t\t\t\t<input v-show=\"false\" ref=\"faviconUpload\" type=\"file\"\n\t\t\t\t\t\t\t@change=\"event => faviconChange(event, 'favicon')\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- <div class=\"operation-tools\">\n\t\t\t\t\t\t<div class=\"tool-item\">\n\t\t\t\t\t\t\t<i class=\"i-carbon:copy text-4\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tool-item\">\n\t\t\t\t\t\t\t<i class=\"i-carbon:overflow-menu-vertical text-4\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tool-item\">\n\t\t\t\t\t\t\t<i class=\"i-carbon:export text-4\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tool-item\">\n\t\t\t\t\t\t\t<i class=\"i-material-symbols:delete-outline text-4\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div> -->\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\n\t\t<n-card>\n\t\t\t<div class=\"page-tit\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:earth-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\">{{ $t('domain.edit.projectDetails.knowledgeBase') }}</span>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"right-tit\">\n\t\t\t\t\t<n-button @click=\"knowledgeModalShow = true\">{{\n\t\t\t\t\t\t$t('domain.edit.projectDetails.newFile')\n\t\t\t\t\t}}</n-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<n-card v-for=\"(item, index) in knowledge_base\" :key=\"index\" class=\"mt-5\"\n\t\t\t\tstyle=\"background-color: var(--color-radio-1)\">\n\t\t\t\t<div class=\"knowledge-box\">\n\t\t\t\t\t<div class=\"top-info\">\n\t\t\t\t\t\t<div class=\"info-left\">\n\t\t\t\t\t\t\t<span class=\"info-tit\">{{ item.title }}</span>\n\t\t\t\t\t\t\t<span class=\"info-sub-tit\">{{ formatTimeDifference(item.update_time) }} {{ $t('domain.edit.projectDetails.ago') }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"info-right\" @click=\"handleDelete(item)\">\n\t\t\t\t\t\t\t<i class=\"i-material-symbols:delete-outline text-5\"></i>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"operation\">\n\t\t\t\t\t\t<n-button type=\"primary\" ghost @click=\"openEditKnowledge(item)\">{{\n\t\t\t\t\t\t\t$t('domain.edit.projectDetails.edit')\n\t\t\t\t\t\t}}</n-button>\n\t\t\t\t\t\t<n-button type=\"primary\" ghost @click=\"previewKnowledgeBaseContent(item)\">\n\t\t\t\t\t\t\t{{ $t('domain.edit.projectDetails.preview') }}\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</n-card>\n\t\t</n-card>\n\t</div>\n\n\t<!-- Add knowledge base -->\n\t<n-modal v-model:show=\"knowledgeModalShow\" preset=\"card\" draggable :close-on-esc=\"false\" :mask-closable=\"false\"\n\t\t:title=\"$t('domain.edit.projectDetails.newKnowledgeFile')\" class=\"w-150\" :on-after-leave=\"closeKnowledgeModal\">\n\t\t<n-form>\n\t\t\t<n-form-item :label=\"$t('domain.edit.projectDetails.fileName')\">\n\t\t\t\t<n-input v-model:value=\"knowledgeTitle\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item label=\"Content\">\n\t\t\t\t<n-input v-model:value=\"knowledgeContent\" type=\"textarea\" :rows=\"8\"></n-input>\n\t\t\t</n-form-item>\n\t\t</n-form>\n\n\t\t<template #footer>\n\t\t\t<div class=\"flex justify-end gap-5\">\n\t\t\t\t<n-button @click=\"closeKnowledgeModal\">{{ $t('domain.edit.projectDetails.cancel') }}</n-button>\n\t\t\t\t<n-button type=\"primary\" :disabled=\"!knowledgeTitle || !knowledgeContent\"\n\t\t\t\t\t@click=\"createOrUpdateKnowledge\">\n\t\t\t\t\t{{ $t('domain.edit.projectDetails.create') }}\n\t\t\t\t</n-button>\n\t\t\t</div>\n\t\t</template>\n\t</n-modal>\n\n\t<!-- Preview knowledge base -->\n\t<n-modal v-model:show=\"knowledgeBasePreview\" preset=\"card\" draggable :close-on-esc=\"false\" :mask-closable=\"false\"\n\t\t:title=\"knowledgeBasePreviewTit\" class=\"w-180\">\n\t\t<div class=\"preview-wrapper\">\n\t\t\t<n-scrollbar style=\"max-height: 700px\">\n\t\t\t\t<div v-html=\"mdRes\"></div>\n\t\t\t</n-scrollbar>\n\t\t</div>\n\t\t<template #footer>\n\t\t\t<div class=\"flex justify-end\">\n\t\t\t\t<n-button>{{ $t('domain.edit.projectDetails.close') }}</n-button>\n\t\t\t</div>\n\t\t</template>\n\t</n-modal>\n</template>\n\n<script setup lang=\"ts\">\nimport mk from 'markdown-it'\nimport { confirm } from '@/utils'\nimport {\n\tgetProjectDetail,\n\tcreateKnowledgeBase,\n\tcloseKnowledgeModal,\n\topenEditKnowledge,\n\tupdateKnowledgeBase,\n\tdeleteKnowledgeBase,\n\tpreviewKnowledgeBaseContent,\n\tuploadImage,\n} from '../controller/projectDetail.controller'\nimport { getEditDomainStoreData } from '../store'\nimport { KnowledgeBase } from '../dto'\nconst { t } = useI18n()\nconst {\n\tproject_name,\n\tdescription,\n\tprimary_logo,\n\tsecondary_logo,\n\tfavicon,\n\tknowledge_base,\n\tknowledgeModalShow,\n\tisEditKnowledge,\n\tknowledgeTitle,\n\tknowledgeContent,\n\tknowledge_base_content,\n\tknowledgeBasePreview,\n\tknowledgeBasePreviewTit,\n} = getEditDomainStoreData()\n\nconst route = useRoute()\n\n// const industryOptions = ref([\n// \t{\n// \t\tlabel: 'test',\n// \t\tvalue: 'test',\n// \t},\n// ])\n\nconst domain = route.params.domain as string\nconst md = mk()\nconst mdRes = ref('')\nconst faviconUpload = ref()\nconst secondaryUpload = ref()\nconst primaryUpload = ref()\n\nwatch(knowledge_base_content, val => {\n\tmdRes.value = md.render(val)\n})\n\ngetProjectDetail(domain)\n/**\n * @description Create or update knowledge\n */\nfunction createOrUpdateKnowledge() {\n\tif (isEditKnowledge.value) {\n\t\tupdateKnowledgeBase(domain)\n\t} else {\n\t\tcreateKnowledgeBase(domain)\n\t}\n}\n\n/**\n * @description Delete knowledge base\n */\nfunction handleDelete(knowledge: KnowledgeBase) {\n\tconfirm({\n\t\ttitle: t('domain.edit.projectDetails.notice'),\n\t\tcontent: t(\"domain.edit.projectDetails.sureDel\"),\n\t\tonConfirm() {\n\t\t\tdeleteKnowledgeBase(domain, knowledge)\n\t\t},\n\t})\n}\n\n/**\n * @description Choose favicon file\n */\nfunction chooseFavicon() {\n\tfaviconUpload.value.click()\n}\n\n/**\n * @description Choose secondary file\n */\nfunction chooseSecondary() {\n\tsecondaryUpload.value.click()\n}\n\n/**\n * @description Choose primary file\n */\nfunction choosePrimary() {\n\tprimaryUpload.value.click()\n}\n\n/**\n * @description Favicon file change\n */\nfunction faviconChange(event: Event, type: string) {\n\tconst file = (event.target as HTMLInputElement).files![0]\n\tif (!file) return\n\tconst reader = new FileReader()\n\treader.onload = async function (event: ProgressEvent<FileReader>) {\n\t\tconst base64String = event.target?.result as string\n\t\tif (type == 'favicon') {\n\t\t\tuploadImage(domain, base64String, file.name, 'favicon', 'favicon')\n\t\t}\n\n\t\tif (type == 'secondary') {\n\t\t\tuploadImage(domain, base64String, file.name, 'secondary logo', 'secondary logo')\n\t\t}\n\n\t\tif (type == 'primary') {\n\t\t\tuploadImage(domain, base64String, file.name, 'primary logo', 'primary logo')\n\t\t}\n\t}\n\treader.readAsDataURL(file)\n}\n\n/**\n * @description Format time difference\n * @param timestamp \n */\nfunction formatTimeDifference(timestamp: number): string {\n\tconst targetMs = timestamp * 1000;\n\tconst nowMs = Date.now();\n\tconst diffMs = targetMs - nowMs;\n\n\tconst absDiffMs = Math.abs(diffMs);\n\tconst days = Math.floor(absDiffMs / (24 * 60 * 60 * 1000));\n\tconst hours = Math.floor((absDiffMs % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000));\n\tconst minutes = Math.floor((absDiffMs % (60 * 60 * 1000)) / (60 * 1000));\n\n\tif( days === 0 && hours === 0 && minutes === 0) {\n\t\treturn t(\"domain.edit.projectDetails.justNow\");\n\t}else if (days === 0 && hours === 0) {\n\t\treturn `${minutes}${t(\"domain.edit.projectDetails.minute\")}`;\n\t} else if (days === 0 ) {\n\t\treturn `${hours}${t(\"domain.edit.projectDetails.hour\")} ${minutes}${t(\"domain.edit.projectDetails.minute\")}`;\n\t}\n\treturn `${days}${t(\"domain.edit.projectDetails.day\")} ${hours}${t(\"domain.edit.projectDetails.hour\")} ${minutes}${t(\"domain.edit.projectDetails.minute\")}`;\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n@use './mixin.scss' as mixin;\n\n.content-wrapper {\n\t@include mixin.content-wrapper;\n\n\t.page-tit {\n\t\t@include mixin.page-tit;\n\t}\n\n\t.sub-tit {\n\t\t@include base.col-flex-start;\n\t\talign-items: flex-start;\n\t\tgap: 10px;\n\t\tcolor: var(--color-text-2);\n\t\tmargin-bottom: 40px;\n\n\t\t.tit {\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t.logo-operation {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(3, 1fr);\n\t\tgap: 20px;\n\n\t\t.operation-item {\n\t\t\t.operation-tit {\n\t\t\t\tmargin-bottom: 5px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\n\t\t\t.operation-sub-tit {\n\t\t\t\tmargin-bottom: 15px;\n\t\t\t}\n\n\t\t\t.logo-area {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 130px;\n\t\t\t\tborder: 1px solid var(--color-border-1);\n\t\t\t\tborder-radius: 16px;\n\t\t\t\tmargin-bottom: 10px;\n\t\t\t\t@include base.row-flex;\n\t\t\t\tjustify-content: center;\n\t\t\t\talign-items: center;\n\n\t\t\t\t.upload-logo-placeholder {\n\t\t\t\t\t@include base.col-flex-center;\n\t\t\t\t\tgap: 5px;\n\t\t\t\t\theight: 100%;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.operation-tools {\n\t\t\t\t@include base.row-flex-start;\n\t\t\t\tgap: 10px;\n\n\t\t\t\t.tool-item {\n\t\t\t\t\twidth: 34px;\n\t\t\t\t\theight: 34px;\n\t\t\t\t\t@include base.row-flex-center;\n\t\t\t\t\tbackground: var(--color-bg-1);\n\t\t\t\t\tborder: 1px solid var(--color-border-1);\n\t\t\t\t\tborder-radius: 5px;\n\t\t\t\t\tcolor: var(--color-text-2);\n\t\t\t\t\tcursor: pointer;\n\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbackground: var(--color-bg-4);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.form-label {\n\t\t@include mixin.form-label;\n\t}\n\n\t.knowledge-box {\n\t\t@include base.col-flex;\n\t\tjustify-content: flex-start;\n\t\talign-items: flex-start;\n\n\t\t.top-info {\n\t\t\twidth: 100%;\n\t\t\t@include base.row-flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: flex-start;\n\t\t\tmargin-bottom: 20px;\n\n\t\t\t.info-left {\n\t\t\t\t@include base.col-flex;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t\talign-items: flex-start;\n\n\t\t\t\t.info-tit {\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.info-right {\n\t\t\t\t@include base.row-flex-center;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding: 5px;\n\t\t\t\tcursor: pointer;\n\t\t\t\ttransition: 0.15s all ease-in-out;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: var(--color-border-2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.operation {\n\t\t\t@include base.row-flex-start;\n\t\t\tgap: 15px;\n\t\t}\n\t}\n}\n</style>\n\n<style>\n.preview-wrapper {\n\tmax-height: 700px;\n\n\timg {\n\t\tmax-width: 100% !important;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/Sitemap.vue",
    "content": "<template>\n\t<div class=\"content-wrapper\">\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\"> {{ $t(\"domain.edit.sitemap.title\") }} </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\n\t\t<n-card>\n\t\t\t<div class=\"mb-5\">\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">{{ $t(\"domain.edit.sitemap.addLink\") }}</n-button>\n\t\t\t</div>\n\t\t\t<div v-for=\"(item, index) in sitemap\" :key=\"index\" class=\"mb-2.5\">\n\t\t\t\t<div class=\"inline-form-items\">\n\t\t\t\t\t<n-input v-model:value=\"item.title\" class=\"name\"></n-input>\n\t\t\t\t\t<n-input v-model:value=\"item.uri_path\" class=\"url\"></n-input>\n\t\t\t\t\t<div class=\"operation close\" @click=\"handleRemove(item, index)\">\n\t\t\t\t\t\t<i class=\"i-material-symbols:close-rounded text-5\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div :class=\"[\n\t\t\t\t\t\t'operation',\n\t\t\t\t\t\t{ save: item.title && item.uri_path },\n\t\t\t\t\t\t{ disabled: !item.title || !item.uri_path },\n\t\t\t\t\t]\" @click=\"handleSave(item, index)\">\n\t\t\t\t\t\t<i class=\"i-mingcute:save-2-line text-5\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\n\timport { getSitemapInfo, addSitemapInfo, removeSiteMapInfo } from '../controller/sitemap.controller'\n\timport { getEditDomainStoreData } from '../store'\n\timport { SiteInfo } from '../dto'\n\tconst { sitemap } = getEditDomainStoreData()\n\tconst route = useRoute()\n\tconst domain = route.params.domain as string\n\tgetSitemapInfo(domain)\n\n\t/**\n\t * @description Add site url\n\t */\n\tasync function handleSave(siteInfo: SiteInfo, index: number) {\n\t\tawait addSitemapInfo(domain, siteInfo.title, siteInfo.uri_path)\n\t\tsitemap.value[index].isSaved = true\n\t}\n\n\t/**\n\t * @description remove site url\n\t */\n\tasync function handleRemove(siteInfo: SiteInfo, index: number) {\n\t\tif (siteInfo.title && siteInfo.uri_path) {\n\t\t\tawait removeSiteMapInfo(domain, siteInfo.uri_path)\n\t\t}\n\t\tsitemap.value.splice(index, 1)\n\t}\n\n\t/**\n\t * @description Add link form\n\t */\n\tfunction handleAdd() {\n\t\tsitemap.value.push({\n\t\t\ttitle: '',\n\t\t\turi_path: '',\n\t\t})\n\t}\n</script>\n\n<style scoped lang=\"scss\">\n\t@use '@/styles/index' as base;\n\t@use './mixin.scss' as mixin;\n\n\t.content-wrapper {\n\t\t@include mixin.content-wrapper;\n\n\t\t.page-tit {\n\t\t\t@include mixin.page-tit;\n\t\t}\n\n\t\t.form-label {\n\t\t\t@include mixin.form-label;\n\t\t}\n\n\t\t.inline-form-items {\n\t\t\t@include base.row-flex;\n\t\t\twidth: 100%;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: 10px;\n\n\t\t\t.name {\n\t\t\t\tflex: 3.5;\n\t\t\t}\n\n\t\t\t.url {\n\t\t\t\tflex: 3.5;\n\t\t\t}\n\n\t\t\t.type {\n\t\t\t\tflex: 2;\n\t\t\t}\n\n\t\t\t.operation {\n\n\t\t\t\t@include mixin.operation-close();\n\n\t\t\t\t&.save {\n\t\t\t\t\tcolor: var(--color-primary-1);\n\t\t\t\t\tborder-color: var(--color-primary-1);\n\t\t\t\t}\n\n\t\t\t\t&.save:hover {\n\t\t\t\t\tcolor: #fff;\n\t\t\t\t\tbackground: var(--color-primary-hover-1);\n\t\t\t\t}\n\n\t\t\t\t&.disabled {\n\t\t\t\t\topacity: 0.5;\n\t\t\t\t\tcursor: not-allowed;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/Styling.vue",
    "content": "<template>\n\t<div class=\"content-wrapper\">\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit mb-5\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\"> {{ $t(\"domain.edit.styling.colorPalette\") }} </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<n-form>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.styling.accentColor\") }}</span></template>\n\t\t\t\t\t<div class=\"flex justify-between gap-2.5 w-100%\">\n\t\t\t\t\t\t<n-color-picker\n\t\t\t\t\t\t\tv-model:value=\"accent_color\"\n\t\t\t\t\t\t\tstyle=\"width: 50px\"\n\t\t\t\t\t\t\t:modes=\"['hex', 'rgb', 'hsl', 'hsv']\"\n\t\t\t\t\t\t\t:render-label=\"colorRenderLabel\"></n-color-picker>\n\t\t\t\t\t\t<n-input v-model:value=\"accent_color\"></n-input>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.styling.textColor\") }}</span></template>\n\t\t\t\t\t<div class=\"flex justify-between gap-2.5 w-100%\">\n\t\t\t\t\t\t<n-color-picker\n\t\t\t\t\t\t\tv-model:value=\"text_color\"\n\t\t\t\t\t\t\tstyle=\"width: 50px\"\n\t\t\t\t\t\t\t:modes=\"['hex', 'rgb', 'hsl', 'hsv']\"\n\t\t\t\t\t\t\t:render-label=\"colorRenderLabel\"></n-color-picker>\n\t\t\t\t\t\t<n-input v-model:value=\"text_color\"></n-input>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.styling.pageBackground\") }}</span></template>\n\t\t\t\t\t<div class=\"flex justify-between gap-2.5 w-100%\">\n\t\t\t\t\t\t<n-color-picker\n\t\t\t\t\t\t\tv-model:value=\"page_background\"\n\t\t\t\t\t\t\tstyle=\"width: 50px\"\n\t\t\t\t\t\t\t:modes=\"['hex', 'rgb', 'hsl', 'hsv']\"\n\t\t\t\t\t\t\t:render-label=\"colorRenderLabel\"></n-color-picker>\n\t\t\t\t\t\t<n-input v-model:value=\"page_background\"></n-input>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.styling.containerBackground\") }}</span></template>\n\t\t\t\t\t<div class=\"flex justify-between gap-2.5 w-100%\">\n\t\t\t\t\t\t<n-color-picker\n\t\t\t\t\t\t\tv-model:value=\"container_background\"\n\t\t\t\t\t\t\tstyle=\"width: 50px\"\n\t\t\t\t\t\t\t:modes=\"['hex', 'rgb', 'hsl', 'hsv']\"\n\t\t\t\t\t\t\t:render-label=\"colorRenderLabel\"></n-color-picker>\n\t\t\t\t\t\t<n-input v-model:value=\"container_background\"></n-input>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.styling.linkFooterColor\") }}</span></template>\n\t\t\t\t\t<div class=\"flex justify-between gap-2.5 w-100%\">\n\t\t\t\t\t\t<n-color-picker\n\t\t\t\t\t\t\tv-model:value=\"link_footer_color\"\n\t\t\t\t\t\t\tstyle=\"width: 50px\"\n\t\t\t\t\t\t\t:modes=\"['hex', 'rgb', 'hsl', 'hsv']\"\n\t\t\t\t\t\t\t:render-label=\"colorRenderLabel\"></n-color-picker>\n\t\t\t\t\t\t<n-input v-model:value=\"link_footer_color\"></n-input>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.styling.linkSocialColor\") }}</span></template>\n\t\t\t\t\t<div class=\"flex justify-between gap-2.5 w-100%\">\n\t\t\t\t\t\t<n-color-picker\n\t\t\t\t\t\t\tv-model:value=\"link_social_color\"\n\t\t\t\t\t\t\tstyle=\"width: 50px\"\n\t\t\t\t\t\t\t:modes=\"['hex', 'rgb', 'hsl', 'hsv']\"\n\t\t\t\t\t\t\t:render-label=\"colorRenderLabel\"></n-color-picker>\n\t\t\t\t\t\t<n-input v-model:value=\"link_social_color\"></n-input>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t</n-form>\n\t\t</n-card>\n\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit mb-5\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\">{{ $t(\"domain.edit.styling.typography\") }} </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<n-form>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.styling.headingFont\") }}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"heading_font\"></n-input>\n\t\t\t\t</n-form-item>\n\n\t\t\t\t<n-card class=\"form-desc\">\n\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t<div class=\"form-label\">{{ $t(\"domain.edit.styling.preview\") }}</div>\n\t\t\t\t\t\t<div class=\"desc\" :style=\"{ fontFamily: heading_font }\">\n\t\t\t\t\t\t\t{{ $t(\"domain.edit.styling.previewText\") }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-card>\n\t\t\t</n-form>\n\n\t\t\t<n-form class=\"mt-5\">\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">{{ $t(\"domain.edit.styling.bodyFont\") }}</span></template>\n\t\t\t\t\t<n-input v-model:value=\"body_font\"></n-input>\n\t\t\t\t</n-form-item>\n\n\t\t\t\t<n-card class=\"form-desc\">\n\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t<div class=\"form-label\">{{ $t(\"domain.edit.styling.preview\") }}</div>\n\t\t\t\t\t\t<div class=\"desc\" :style=\"{ fontFamily: body_font }\">\n\t\t\t\t\t\t\t{{ $t(\"domain.edit.styling.previewText\") }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-card>\n\t\t\t</n-form>\n\t\t</n-card>\n\n\t\t<n-card>\n\t\t\t<div class=\"attention\">\n\t\t\t\t<div class=\"attention-tit\">{{ $t(\"domain.edit.styling.typographyGuidelines\") }}</div>\n\t\t\t\t<div class=\"attention-item\">{{ $t(\"domain.edit.styling.webSafeFonts\") }}</div>\n\t\t\t\t<div class=\"attention-item\">{{ $t(\"domain.edit.styling.fallbackFonts\") }}</div>\n\t\t\t</div>\n\t\t</n-card>\n\t</div>\n</template>\n\n<script setup lang=\"tsx\">\nimport { getStylingInfo } from '../controller/styling.controller'\nimport { getEditDomainStoreData } from '../store'\nconst {\n\taccent_color,\n\ttext_color,\n\tlink_footer_color,\n\tlink_social_color,\n\tpage_background,\n\tcontainer_background,\n\theading_font,\n\tbody_font,\n} = getEditDomainStoreData()\nconst route = useRoute()\nconst domain = route.params.domain as string\ngetStylingInfo(domain)\n\nfunction colorRenderLabel() {\n\treturn ''\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n@use './mixin.scss' as mixin;\n\n.content-wrapper {\n\t@include mixin.content-wrapper;\n\n\t.page-tit {\n\t\t@include mixin.page-tit;\n\t}\n\n\t.form-label {\n\t\t@include mixin.form-label;\n\t}\n\n\t.sub-tit {\n\t\tcolor: var(--color-text-1);\n\t}\n\n\t.form-desc {\n\t\tborder: 1px solid var(--color-border-1);\n\n\t\t.container {\n\t\t\t@include base.col-flex-start;\n\t\t\talign-items: flex-start;\n\t\t\tgap: 10px;\n\n\t\t\t.desc {\n\t\t\t\tcolor: var(--color-text-1);\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.attention {\n\t\t.attention-tit {\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\n\t\t.attention-item {\n\t\t\tpadding-left: 10px;\n\t\t\tposition: relative;\n\n\t\t\t&::before {\n\t\t\t\tcontent: '';\n\t\t\t\tdisplay: block;\n\t\t\t\twidth: 4px;\n\t\t\t\theight: 4px;\n\t\t\t\tbackground: var(--color-text-2);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 0;\n\t\t\t\ttop: 7px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/Typography.vue",
    "content": "<template>\n\t<div class=\"content-wrapper\">\n\t\t<n-card class=\"mb-5\">\n\t\t\t<div class=\"page-tit\" style=\"margin: 0\">\n\t\t\t\t<div class=\"left-tit\">\n\t\t\t\t\t<div class=\"back-tool\">\n\t\t\t\t\t\t<i class=\"i-ri:apps-fill text-6\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit-content\"> Typography </span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-card>\n\n\t\t<n-card class=\"mb-5\">\n\t\t\t<n-form>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">Heading Font</span></template>\n\t\t\t\t\t<n-input v-model:value=\"heading_font\"></n-input>\n\t\t\t\t</n-form-item>\n\n\t\t\t\t<n-card class=\"form-desc\">\n\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t<div class=\"form-label\">Preview:</div>\n\t\t\t\t\t\t<div class=\"desc\" :style=\"{ fontFamily: heading_font }\">\n\t\t\t\t\t\t\tThe quick brown fox jumps over the lazy dog\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-card>\n\t\t\t</n-form>\n\t\t</n-card>\n\n\t\t<n-card class=\"mb-5\">\n\t\t\t<n-form>\n\t\t\t\t<n-form-item>\n\t\t\t\t\t<template #label><span class=\"form-label\">Body Font</span></template>\n\t\t\t\t\t<n-input v-model:value=\"body_font\"></n-input>\n\t\t\t\t</n-form-item>\n\n\t\t\t\t<n-card class=\"form-desc\">\n\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t<div class=\"form-label\">Preview:</div>\n\t\t\t\t\t\t<div class=\"desc\" :style=\"{ fontFamily: body_font }\">\n\t\t\t\t\t\t\tThe quick brown fox jumps over the lazy dog\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-card>\n\t\t\t</n-form>\n\t\t</n-card>\n\n\t\t<n-card>\n\t\t\t<div class=\"attention\">\n\t\t\t\t<div class=\"attention-tit\">Typography Guidelines:</div>\n\t\t\t\t<div class=\"attention-item\">Use web-safe fonts for better compatibility</div>\n\t\t\t\t<div class=\"attention-item\">Always include fallback fonts for better performance</div>\n\t\t\t</div>\n\t\t</n-card>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\n// import { updateTypography } from '../controller/typography.controller'\nimport { getEditDomainStoreData } from '../store'\n\nconst { heading_font, body_font } = getEditDomainStoreData()\n\n// const route = useRoute()\n// const domain = route.params.domain as string\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n@use './mixin.scss' as mixin;\n\n.content-wrapper {\n\t@include mixin.content-wrapper;\n\n\t.page-tit {\n\t\t@include mixin.page-tit;\n\t}\n\n\t.form-label {\n\t\t@include mixin.form-label;\n\t}\n\n\t.form-desc {\n\t\tborder: 1px solid var(--color-border-1);\n\n\t\t.container {\n\t\t\t@include base.col-flex-start;\n\t\t\talign-items: flex-start;\n\t\t\tgap: 10px;\n\n\t\t\t.desc {\n\t\t\t\tcolor: var(--color-text-1);\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.attention {\n\t\t.attention-tit {\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\n\t\t.attention-item {\n\t\t\tpadding-left: 10px;\n\t\t\tposition: relative;\n\n\t\t\t&::before {\n\t\t\t\tcontent: '';\n\t\t\t\tdisplay: block;\n\t\t\t\twidth: 4px;\n\t\t\t\theight: 4px;\n\t\t\t\tbackground: var(--color-text-2);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 0;\n\t\t\t\ttop: 7px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/components/mixin.scss",
    "content": "@use '@/styles/index' as base;\n\n@mixin content-wrapper {\n\twidth: 866px;\n\tmargin: 0 auto;\n\tpadding-top: 32px;\n}\n\n@mixin page-tit {\n\t@include base.row-flex;\n\tjustify-content: space-between;\n\tgap: 5px;\n\n\t.left-tit {\n\t\t@include base.row-flex-start;\n\t\tgap: 8px;\n\n\t\t.back-tool {\n\t\t\tcolor: var(--color-primary-1);\n\t\t\t@include base.row-flex-start;\n\t\t\tgap: 5px;\n\t\t\tcursor: pointer;\n\t\t\t@include base.transition-all;\n\n\t\t\t.back-btn {\n\t\t\t\tfont-size: 18px;\n\t\t\t}\n\t\t}\n\n\t\t.tit-content {\n\t\t\tfont-size: 16px;\n\t\t\tcolor: var(--color-text-1);\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t.right-tit {\n\t}\n}\n\n@mixin form-label {\n\tfont-size: 14px;\n\tcolor: var(--color-text-2);\n}\n\n@mixin operation-close {\n\twidth: 34px;\n\theight: 34px;\n\t@include base.row-flex-center;\n\tbackground: var(--color-bg-1);\n\tborder: 1px solid var(--color-border-1);\n\tborder-radius: 5px;\n\tcolor: var(--color-text-2);\n\ttransition: 0.2s all ease-in-out;\n\tcursor: pointer;\n\n\t&.close {\n\t\tborder-color: var(--color-error-1);\n\t\tcolor: var(--color-error-1);\n\t}\n\n\t&.close:hover {\n\t\tcolor: #fff;\n\t\tbackground: var(--color-error-1);\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/controller/aiSettings.controller.ts",
    "content": "/**\n * @description Get ai settings info\n */\nimport { instance } from \"@/api\";\nimport { instanceOptions } from \"./companyProfile.controller\";\nimport { getEditDomainStoreData } from \"../store\";\n/**\n * @description Get ai settings info\n */\nexport async function getAisettingsInfo(domain: string) {\n    const { prompt, hasGotAisettings } = getEditDomainStoreData()\n    if (hasGotAisettings.value) return\n    try {\n        const res = await instance.post(\"/askai/project/get_prompt\", { domain }) as Record<string, string>\n        prompt.value = res.prompt\n        hasGotAisettings.value = true\n    } catch (error) {\n        console.warn(error)\n    }\n}\n\n/**\n * @description Update ai settings info\n */\nexport async function updateAiSettingsInfo(domain: string) {\n    const { prompt } = getEditDomainStoreData()\n    try {\n        const res = await instance.post(\"/askai/project/modify_prompt\", {\n            domain,\n            prompt: prompt.value\n        }, instanceOptions) as Record<string, string>\n        prompt.value = res.prompt\n    } catch (error) {\n        console.warn(error)\n    }\n}"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/controller/companyProfile.controller.ts",
    "content": "import { instance } from \"@/api\";\nimport { getEditDomainStoreData } from \"../store\";\nexport const instanceOptions = {\n    fetchOptions: {\n        loading: 'Loading... Please wait.',\n        successMessage: true,\n    }\n}\n/**\n * @description Get company profile\n * \n * @param { string }  domain \n */\nexport async function getCompanuyProfile(domain: string) {\n    const {\n        legal_company_name,\n        web_site,\n        company_profile,\n        email,\n        phone,\n        support_url,\n        hasGotCompanyProfile\n    } = getEditDomainStoreData()\n    if (hasGotCompanyProfile.value) return\n    try {\n        const res = await instance.post(\"/askai/project/get_company_profile\", { domain } ) as Record<string, any>\n        legal_company_name.value = res.legal_company_name\n        web_site.value = res.web_site\n        company_profile.value = res.company_profile\n        email.value = res.email\n        phone.value = res.phone\n        support_url.value = res.support_url\n\n        hasGotCompanyProfile.value = true\n    } catch (error) {\n        console.warn(error)\n    }\n}\n\n/**\n * @description Update company profile\n */\nexport async function updateCompanyProfile(domain: string) {\n    const {\n        legal_company_name,\n        web_site,\n        company_profile,\n        email,\n        phone,\n        support_url,\n    } = getEditDomainStoreData()\n    try {\n        await instance.post(\"/askai/project/modify_company_profile\", {\n            domain,\n            legal_company_name: legal_company_name.value,\n            web_site: web_site.value,\n            company_profile: company_profile.value,\n            email: email.value,\n            phone: phone.value,\n            support_url: support_url.value,\n        }, instanceOptions) as Record<string, any>\n    } catch (error) {\n        console.warn(error)\n    }\n}\n\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/controller/domainConfiguration.controller.ts",
    "content": "import { instance } from '@/api'\nimport { instanceOptions } from './companyProfile.controller'\nimport { getEditDomainStoreData } from '../store'\nimport { getByteUnit, Message, isUrl, isObject } from '@/utils'\nimport { initAiConfiguration } from '@/api/modules/domain'\nimport { useGlobalStore } from '@/store'\nimport i18n from '@/i18n'\nimport { MailDomain } from '@/views/domain/interface'\n\n/**\n * @description Check if this domain has brand info\n */\n// export async function checkDomainBrandInfo(domain: string) {\n// \ttry {\n// \t\tconst res = (await instance.post('/askai/project/get_project_status', { domain })) as {\n// \t\t\tcreate_status: boolean\n// \t\t\tstatus: boolean\n// \t\t}\n// \t\tif (res.update_time != 0) {\n// \t\t\treturn true\n// \t\t} else {\n// \t\t\treturn false\n// \t\t}\n// \t} catch (error) {\n// \t\tconsole.warn(error)\n// \t\treturn false\n// \t}\n// }\n\n/**\n * @description Get domain detail\n */\nexport async function getDomainDetail(domain: string) {\n\tconst {\n\t\tdomainTit,\n\t\tdomainIp,\n\t\thostname,\n\t\tquota,\n\t\tunit,\n\t\tmailboxes,\n\t\tcatch_email,\n\t\thasGotDomainConfiguration,\n\t\turls,\n\t} = getEditDomainStoreData()\n\tif (hasGotDomainConfiguration.value) return\n\ttry {\n\t\tconst res = await instance.get('/domains/list', {\n\t\t\tparams: { keyword: domain, page: 1, page_size: 1 },\n\t\t})\n\t\tif (isObject<{ list: MailDomain[] }>(res)) {\n\t\t\tconst { list } = res\n\t\t\tconst quotaAndUnit = getByteUnit(list[0].quota, true, 2).split(' ')\n\t\t\tdomainTit.value = list[0].domain\n\t\t\tdomainIp.value = list[0].multi_ip_domains?.outbound_ip || ''\n\t\t\thostname.value = list[0].a_record\n\t\t\tquota.value = quotaAndUnit[0]\n\t\t\tunit.value = quotaAndUnit[1]\n\t\t\tmailboxes.value = list[0].mailboxes\n\t\t\tcatch_email.value = list[0].email\n\t\t\turls.value =\n\t\t\t\tlist[0].urls && list[0].urls.length > 0 && list[0].urls[0] != ''\n\t\t\t\t\t? list[0].urls\n\t\t\t\t\t: [`https://${domain}`]\n\n\t\t\tawait configurationStatus(domain)\n\t\t\thasGotDomainConfiguration.value = true\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Configuration status\n */\nexport async function configurationStatus(domain: string) {\n\tconst { brandInfo, createdBrandInfo } = getEditDomainStoreData()\n\ttry {\n\t\tconst res = (await instance.post('/askai/project/get_project_status', { domain })) as {\n\t\t\tcreate_status: boolean\n\t\t\tstatus: boolean\n\t\t}\n\t\tbrandInfo.value = res.status\n\t\tcreatedBrandInfo.value = res.create_status\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\nexport async function testConnection() {\n\tconst { domainTit, domainIp } = getEditDomainStoreData()\n\tif (domainIp.value == '') {\n\t\tMessage.error(i18n.global.t('domain.edit.domainConfiguration.validation.setDedicatedIpFirst'))\n\t\treturn\n\t}\n\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/multi_ip_domain/test',\n\t\t\t{\n\t\t\t\tdomain: domainTit.value,\n\t\t\t\toutbound_ip: domainIp.value,\n\t\t\t},\n\t\t\t{\n\t\t\t\tfetchOptions: {\n\t\t\t\t\tloading: i18n.global.t('domain.edit.domainConfiguration.api.testingConnection'),\n\t\t\t\t\tsuccessMessage: true,\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Update domain\n */\nexport async function updateDomain() {\n\tconst {\n\t\tdomainTit,\n\t\tdomainIp,\n\t\thostname,\n\t\tquota,\n\t\tunit,\n\t\turls,\n\t\tmailboxes,\n\t\tcatch_email,\n\t\t// brandInfo,\n\t\t// waitAndCheckDomainStatusRef,\n\t\t// configurationStatus,\n\t} = getEditDomainStoreData()\n\tconst quotaParam = calcBaseUnits(Number(quota.value), unit.value)\n\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/domains/update',\n\t\t\t{\n\t\t\t\tdomain: domainTit.value,\n\t\t\t\tmailboxes: mailboxes.value,\n\t\t\t\tmailboxQuota: quotaParam,\n\t\t\t\tquota: quotaParam,\n\t\t\t\trateLimit: 1,\n\t\t\t\tactive: 1,\n\t\t\t\temail: catch_email.value,\n\t\t\t\turls: urls.value,\n\t\t\t\toutbound_ip: domainIp.value,\n\t\t\t\thostname: hostname.value,\n\t\t\t},\n\t\t\tinstanceOptions\n\t\t)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Create brand info\n */\nexport async function createBrandInfo() {\n\tconst { waitAndCheckDomainStatusRef, domainTit, urls, hasGotDomainConfiguration } =\n\t\tgetEditDomainStoreData()\n\tconst globalStore = useGlobalStore()\n\thasGotDomainConfiguration.value = false\n\tif (urls.value.length == 0 || urls.value[0] == '') {\n\t\tMessage.error(i18n.global.t('domain.edit.domainConfiguration.fillDomain'))\n\t} else if (!isUrl(urls.value[0])) {\n\t\tMessage.error(i18n.global.t('domain.edit.domainConfiguration.fillValidDomain'))\n\t} else {\n\t\ttry {\n\t\t\tawait initAiConfiguration({\n\t\t\t\tdomain: domainTit.value,\n\t\t\t\turls: urls.value,\n\t\t\t})\n\t\t\tglobalStore.domainSource = domainTit.value\n\t\t\twaitAndCheckDomainStatusRef.value.open(domainTit.value, () => {\n\t\t\t\tupdateHasBrandInfo(domainTit.value, 1)\n\t\t\t\tgetDomainDetail(domainTit.value)\n\t\t\t})\n\t\t} catch (error) {\n\t\t\tconsole.warn(error)\n\t\t}\n\t}\n}\n\n/**\n * @description Update field names hasbrandinfo\n */\nexport async function updateHasBrandInfo(domain: string, hasbrandinfo: number) {\n\ttry {\n\t\tawait instance.post('/domains/update', {\n\t\t\tdomain,\n\t\t\thasbrandinfo,\n\t\t})\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Calculate based on units\n */\nfunction calcBaseUnits(quota: number, unit: string) {\n\tswitch (unit) {\n\t\tcase 'KB':\n\t\t\treturn quota * 1024\n\t\tcase 'MB':\n\t\t\treturn quota * 1024 * 1024\n\t\tcase 'GB':\n\t\t\treturn quota * 1024 * 1024 * 1024\n\t\tcase 'TB':\n\t\t\treturn quota * 1024 * 1024 * 1024 * 1024\n\t\tdefault:\n\t\t\treturn quota\n\t}\n}\n\n/**\n * @description Sync domain to url\n */\nexport function syncToUrl(domainVal: string) {\n\tconst { urls } = getEditDomainStoreData()\n\tconst httpStr = urls.value[0].match(/http:\\/\\/?/g)\n\tconst httpsStr = urls.value[0].match(/https:\\/\\/?/g)\n\tif (httpStr) {\n\t\turls.value[0] = httpStr[0] + domainVal\n\t}\n\n\tif (httpsStr) {\n\t\turls.value[0] = httpsStr[0] + domainVal\n\t}\n\n\tif (!httpStr && !httpsStr) {\n\t\turls.value[0] = 'https://' + domainVal\n\t}\n}\n\n/**\n * @description Remove url\n */\nexport function removeUrl(index: number) {\n\tconst { urls } = getEditDomainStoreData()\n\n\turls.value.splice(index, 1)\n}\n\n/**\n * @description Reset all api status\n */\nexport function resetAllApiStatus() {\n\tconst {\n\t\thasGotAisettings,\n\t\thasGotCompanyProfile,\n\t\thasGotDomainConfiguration,\n\t\thasGotFootersettings,\n\t\thasGotProjectDetail,\n\t\thasGotSitemap,\n\t\thasGotStyling,\n\t} = getEditDomainStoreData()\n\thasGotAisettings.value = false\n\thasGotCompanyProfile.value = false\n\thasGotDomainConfiguration.value = false\n\thasGotFootersettings.value = false\n\thasGotProjectDetail.value = false\n\thasGotSitemap.value = false\n\thasGotStyling.value = false\n}\n\n/**\n * @description Switch brand info\n */\nexport async function switchBrandInfo(value: boolean) {\n\tconst { brandInfo, domainTit } = getEditDomainStoreData()\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/project/set_project_status',\n\t\t\t{ domain: domainTit.value, status: value },\n\t\t\tinstanceOptions\n\t\t)\n\t\tawait instance.post('/domains/update', {\n\t\t\tdomain: domainTit.value,\n\t\t\tactive: 1,\n\t\t\thasbrandinfo: Number(value),\n\t\t})\n\t} catch (error) {\n\t\tbrandInfo.value = !value\n\t\tconsole.warn(error)\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/controller/footerSettings.controller.ts",
    "content": "import { instance } from \"@/api\";\nimport { instanceOptions } from \"./companyProfile.controller\";\nimport { getEditDomainStoreData } from \"../store\";\n/***\n * @description Get footer settings info\n * \n * @param { string } domain\n */\nexport async function getFootersettingsInfo(domain: string) {\n    const {\n        copyright_text,\n        disclaimer,\n        hasGotFootersettings\n    } = getEditDomainStoreData()\n    if (hasGotFootersettings.value) return\n    try {\n        const res = await instance.post(\"/askai/project/get_footer\", { domain }) as Record<string, string>\n        copyright_text.value = res.copyright_text\n        disclaimer.value = res.disclaimer\n        hasGotFootersettings.value = true\n    } catch (error) {\n        console.warn(error)\n    }\n}\n\n/**\n * @description Update footer settings info\n * \n */\nexport async function updateFooterSettingsInfo(domain: string) {\n    const {\n        copyright_text,\n        disclaimer\n    } = getEditDomainStoreData()\n    try {\n        await instance.post(\"/askai/project/modify_footer\", {\n            domain,\n            copyright_text: copyright_text.value,\n            disclaimer: disclaimer.value\n        }, instanceOptions) as Record<string, string>\n    } catch (error) {\n        console.warn(error)\n    }\n}"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/controller/projectDetail.controller.ts",
    "content": "import { getEditDomainStoreData } from '../store'\nimport { instance } from '@/api'\nimport { instanceOptions } from './companyProfile.controller'\nimport { KnowledgeBase } from '../dto'\n/**\n * @description Get project detail\n */\nexport async function getProjectDetail(domainStr: string) {\n\tconst {\n\t\tproject_name,\n\t\tprimary_logo,\n\t\tfavicon,\n\t\tindustry,\n\t\tdescription,\n\t\tsecondary_logo,\n\t\thasGotProjectDetail,\n\t\tknowledge_base,\n\t} = getEditDomainStoreData()\n\tif (hasGotProjectDetail.value) return\n\ttry {\n\t\tconst res = (await instance.post('/askai/project/get_base_info', {\n\t\t\tdomain: domainStr,\n\t\t})) as Record<string, any>\n\t\tproject_name.value = res.project_name\n\t\tprimary_logo.value = res.primary_logo\n\t\tfavicon.value = res.favicon\n\t\tindustry.value = res.industry\n\t\tdescription.value = res.description\n\t\tsecondary_logo.value = res.secondary_logo\n\t\tknowledge_base.value = res.knowledge_base\n\t\thasGotProjectDetail.value = true\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Update project detail\n */\nexport async function updateProjectDetail(domainStr: string) {\n\tconst { project_name, primary_logo, favicon, industry, description, secondary_logo } =\n\t\tgetEditDomainStoreData()\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/project/modify_base_info',\n\t\t\t{\n\t\t\t\tdomain: domainStr,\n\t\t\t\tproject_name: project_name.value,\n\t\t\t\tprimary_logo: primary_logo.value,\n\t\t\t\tfavicon: favicon.value,\n\t\t\t\tindustry: industry.value,\n\t\t\t\tdescription: description.value,\n\t\t\t\tsecondary_logo: secondary_logo.value,\n\t\t\t},\n\t\t\tinstanceOptions\n\t\t)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Create knowledge base\n */\nexport async function createKnowledgeBase(domain: string) {\n\ttry {\n\t\tconst { knowledgeTitle, knowledgeContent, hasGotProjectDetail } = getEditDomainStoreData()\n\t\t;(await instance.post(\n\t\t\t'/askai/project/create_knowledge_base_file',\n\t\t\t{\n\t\t\t\tdomain,\n\t\t\t\ttitle: knowledgeTitle.value,\n\t\t\t\tcontent: knowledgeContent.value,\n\t\t\t},\n\t\t\tinstanceOptions\n\t\t)) as Record<string, any>\n\t\thasGotProjectDetail.value = false\n\t\tawait getProjectDetail(domain)\n\t\tcloseKnowledgeModal()\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Update knowledge base\n */\nexport async function updateKnowledgeBase(domain: string) {\n\tconst { activeKnowledge, hasGotProjectDetail, knowledgeTitle, knowledgeContent } =\n\t\tgetEditDomainStoreData()\n\ttry {\n\t\tawait instance.post('/askai/project/modify_knowledge_base_file', {\n\t\t\tdomain,\n\t\t\ttitle: knowledgeTitle.value,\n\t\t\tcontent: knowledgeContent.value,\n\t\t\tkid: activeKnowledge.value.kid,\n\t\t})\n\t\thasGotProjectDetail.value = false\n\t\tawait getProjectDetail(domain)\n\t\tcloseKnowledgeModal()\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Close knowledge modal\n */\nexport function closeKnowledgeModal() {\n\tconst { knowledgeContent, knowledgeTitle, knowledgeModalShow, isEditKnowledge } =\n\t\tgetEditDomainStoreData()\n\tknowledgeContent.value = ''\n\tknowledgeTitle.value = ''\n\tknowledgeModalShow.value = false\n\tisEditKnowledge.value = false\n}\n\n/**\n * @description Open edit knowledge modal\n */\nexport function openEditKnowledge(knowledge: KnowledgeBase) {\n\tconst { knowledgeTitle, knowledgeContent, knowledgeModalShow, activeKnowledge, isEditKnowledge } =\n\t\tgetEditDomainStoreData()\n\n\tactiveKnowledge.value = knowledge\n\tknowledgeTitle.value = knowledge.title\n\tknowledgeContent.value = knowledge.content\n\tknowledgeModalShow.value = true\n\tisEditKnowledge.value = true\n}\n\n/**\n * @description Delete knowledge base\n */\nexport async function deleteKnowledgeBase(domain: string, knowledge: KnowledgeBase) {\n\tconst { hasGotProjectDetail } = getEditDomainStoreData()\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/project/remove_knowledge_base_file',\n\t\t\t{ domain, kid: knowledge.kid },\n\t\t\tinstanceOptions\n\t\t)\n\t\thasGotProjectDetail.value = false\n\t\tgetProjectDetail(domain)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Preview knowledge base content\n */\nexport function previewKnowledgeBaseContent(knowledge_base: KnowledgeBase) {\n\tconst { knowledge_base_content, knowledgeBasePreview, knowledgeBasePreviewTit } =\n\t\tgetEditDomainStoreData()\n\tknowledgeBasePreview.value = true\n\tknowledge_base_content.value = knowledge_base.content\n\tknowledgeBasePreviewTit.value = knowledge_base.title\n}\n\n/**\n * @description Upload image\n */\nexport async function uploadImage(\n\tdomain: string,\n\timage: string,\n\tfilename: string,\n\talt_text: string,\n\timage_tag: string\n) {\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/project/upload_image',\n\t\t\t{\n\t\t\t\tdomain,\n\t\t\t\timage,\n\t\t\t\tfilename,\n\t\t\t\talt_text,\n\t\t\t\timage_tag,\n\t\t\t},\n\t\t\tinstanceOptions\n\t\t)\n\t\t// console.log(res)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t\treturn ''\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/controller/sitemap.controller.ts",
    "content": "import { instance } from \"@/api\";\nimport { instanceOptions } from \"./companyProfile.controller\";\nimport { getEditDomainStoreData } from \"../store\";\nimport { SiteInfo } from \"../dto\";\n/**\n * @description Get Sitemap info\n * \n * @param { string } domain\n */\nexport async function getSitemapInfo(domain: string) {\n    const { sitemap, hasGotSitemap } = getEditDomainStoreData()\n    if (hasGotSitemap.value) return\n    try {\n        const res = await instance.post(\"/askai/project/get_sitemap\", { domain }) as SiteInfo[]\n        sitemap.value = res.length == 0 ? [{ title: \"\", uri_path: \"\" }] : res.map(item => {\n            item.isSaved = true\n            return item\n        })\n        hasGotSitemap.value = true\n    } catch (error) {\n        console.warn(error)\n    }\n}\n\n/**\n * @description Add sitemap url\n */\nexport async function addSitemapInfo(domain: string, title: string, uri_path: string) {\n    try {\n        await instance.post(\"/askai/project/add_sitemap_node\", { domain, title, uri_path }, instanceOptions)\n    } catch (error) {\n        console.warn(error)\n    }\n}\n\n/**\n * @description Remove sitemap url\n */\nexport async function removeSiteMapInfo(domain: string, uri_path: string) {\n    try {\n        await instance.post(\"/askai/project/remove_sitemap_node\", { domain, uri_path }, instanceOptions)\n    } catch (error) {\n        console.warn(error)\n    }\n}"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/controller/styling.controller.ts",
    "content": "import { instance } from \"@/api\";\nimport { getEditDomainStoreData } from \"../store\";\nimport { instanceOptions } from \"./companyProfile.controller\"\n/**\n * @description Get styling info\n * \n * @param { string } domain\n */\nexport async function getStylingInfo(domain: string) {\n    const {\n        accent_color,\n        text_color,\n        page_background,\n        container_background,\n        link_social_color,\n        link_footer_color,\n        heading_font,\n        body_font,\n        hasGotStyling\n    } = getEditDomainStoreData()\n    if (hasGotStyling.value) return\n    try {\n        const res = await instance.post(\"/askai/project/get_style_config\", { domain }) as Record<string, any>\n        accent_color.value = res.accent_color\n        text_color.value = res.text_color\n        page_background.value = res.page_background\n        container_background.value = res.container_background\n        link_social_color.value = res.link_social_color\n        link_footer_color.value = res.link_footer_color\n        heading_font.value = res.heading_font\n        body_font.value = res.body_font\n        hasGotStyling.value = true\n    } catch (error) {\n        console.warn(error)\n    }\n}\n\n/**\n * @description Update styling info\n */\nexport async function updateStylingInfo(domain: string) {\n    const {\n        accent_color,\n        text_color,\n        page_background,\n        container_background,\n        link_social_color,\n        link_footer_color,\n        heading_font,\n        body_font,\n    } = getEditDomainStoreData()\n    try {\n        await instance.post(\"/askai/project/modify_style_config\", {\n            domain,\n            accent_color: accent_color.value,\n            text_color: text_color.value,\n            page_background: page_background.value,\n            container_background: container_background.value,\n            link_social_color:link_social_color.value,\n            link_footer_color:link_footer_color.value,\n            heading_font:heading_font.value,\n            body_font:body_font.value\n        }, instanceOptions) as Record<string, any>\n    } catch (error) {\n        console.warn(error)\n    }\n}"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/controller/typography.controller.ts",
    "content": "import { instance } from '@/api'\nimport { getEditDomainStoreData } from '../store'\n// import { instanceOptions } from \"./companyProfile.controller\"\n/**\n * @description Update typography info\n */\nexport async function updateTypography(domain: string) {\n\tconst { heading_font, body_font } = getEditDomainStoreData()\n\ttry {\n\t\tawait instance.post('/askai/project/modify_style_config', {\n\t\t\tdomain,\n\t\t\theading_font: heading_font.value,\n\t\t\tbody_font: body_font.value,\n\t\t})\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/dto/index.ts",
    "content": "/**\n * @description Sitemap site url info\n */\nexport type SiteInfo = { title: string, uri_path: string, isSaved?: boolean }\n\n/**\n * @description Profile detail knowledge base\n */\nexport type KnowledgeBase = {\n    title: string\n    content: string\n    kid: string\n    update_time: number\n}"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/index.vue",
    "content": "<template>\n\t<div class=\"wrapper\">\n\t\t<n-breadcrumb class=\"mb-20px\">\n\t\t\t<n-breadcrumb-item>\n\t\t\t\t<router-link to=\"/domain\">{{ $t('domain.edit.breadcrumb.domain') }}</router-link>\n\t\t\t</n-breadcrumb-item>\n\t\t\t<n-breadcrumb-item>{{ domain }}</n-breadcrumb-item>\n\t\t\t<n-breadcrumb-item>{{ $t('domain.edit.breadcrumb.editDomain') }}</n-breadcrumb-item>\n\t\t</n-breadcrumb>\n\n\t\t<!-- Content tabs -->\n\t\t<div class=\"content-tabs\">\n\t\t\t<div\n\t\t\t\tv-for=\"(item, index) in menuList\"\n\t\t\t\t:key=\"index\"\n\t\t\t\t:class=\"['tab-item', { active: activeTab == item }]\"\n\t\t\t\t@click=\"switchToTab(item)\">\n\t\t\t\t<span>{{ getTabLabel(item) }}</span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"dynamic-content\">\n\t\t\t<n-scrollbar style=\"height: 100%\">\n\t\t\t\t<component :is=\"contentMap.get(activeTab)\" />\n\t\t\t</n-scrollbar>\n\t\t</div>\n\n\t\t<div v-if=\"!['Domain Configuration', 'Sitemap'].includes(activeTab)\" class=\"footer-tool\">\n\t\t\t<n-button type=\"primary\" @click=\"handleSwitchSave\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<i class=\"i-mingcute:save-2-line text-5\"></i>\n\t\t\t\t</template>\n\t\t\t\t{{ $t('domain.edit.save') }}\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onBeforeRouteLeave } from 'vue-router'\nimport { updateDomain, resetAllApiStatus } from './controller/domainConfiguration.controller'\nimport { updateProjectDetail } from './controller/projectDetail.controller'\nimport { updateCompanyProfile } from './controller/companyProfile.controller'\nimport { updateStylingInfo } from './controller/styling.controller'\nimport { updateTypography } from './controller/typography.controller'\n// import {} from \"./controller/sitemap.controller\"\nimport { updateFooterSettingsInfo } from './controller/footerSettings.controller'\nimport { updateAiSettingsInfo } from './controller/aiSettings.controller'\nimport { getEditDomainStoreData } from './store'\nimport { Message } from '@/utils'\nconst { createdBrandInfo } = getEditDomainStoreData()\nconst DomainConfiguration = defineAsyncComponent(\n\t() => import('./components/DomainConfiguration.vue')\n)\nconst ProjectDetails = defineAsyncComponent(() => import('./components/ProjectDetails.vue'))\nconst CompanyProile = defineAsyncComponent(() => import('./components/CompanyProfile.vue'))\nconst Styling = defineAsyncComponent(() => import('./components/Styling.vue'))\n// const Typography = defineAsyncComponent(() => import('./components/Typography.vue'))\nconst Sitemap = defineAsyncComponent(() => import('./components/Sitemap.vue'))\nconst FooterSettings = defineAsyncComponent(() => import('./components/FooterSettings.vue'))\n// const AISettings = defineAsyncComponent(() => import('./components/AISettings.vue'))\n\nconst { t } = useI18n()\n\nconst menuList = ref([\n\t'Domain Configuration',\n\t'Project Details',\n\t'Company Profile',\n\t'Styling',\n\t'Sitemap',\n\t'Footer Settings',\n\t// 'AI Settings',\n])\n\n// const dynamicMenuList = computed(() => {\n// \tif (createdBrandInfo.value) {\n// \t\treturn menuList.value\n// \t} else {\n// \t\treturn menuList.value.filter(item => item == 'Domain Configuration')\n// \t}\n// })\n\nconst activeTab = ref('Domain Configuration')\n\nconst contentMap = new Map([\n\t['Domain Configuration', DomainConfiguration],\n\t['Project Details', ProjectDetails],\n\t['Company Profile', CompanyProile],\n\t['Styling', Styling],\n\t['Sitemap', Sitemap],\n\t['Footer Settings', FooterSettings],\n\t// ['AI Settings', AISettings],\n])\n\nconst route = useRoute()\nconst domain = route.params.domain as string\n\n/**\n * @description Get tab label with i18n\n */\nfunction getTabLabel(tabKey: string): string {\n\tconst keyMap: Record<string, string> = {\n\t\t'Domain Configuration': 'domain.edit.tabs.domainConfiguration',\n\t\t'Project Details': 'domain.edit.tabs.projectDetails',\n\t\t'Company Profile': 'domain.edit.tabs.companyProfile',\n\t\tStyling: 'domain.edit.tabs.styling',\n\t\tSitemap: 'domain.edit.tabs.sitemap',\n\t\t'Footer Settings': 'domain.edit.tabs.footerSettings',\n\t\t'AI Settings': 'domain.edit.tabs.aiSettings',\n\t}\n\treturn t(keyMap[tabKey] || tabKey)\n}\n\n/**\n * @description Switch for handle save\n */\nfunction handleSwitchSave() {\n\tswitch (activeTab.value) {\n\t\tcase 'Domain Configuration':\n\t\t\tupdateDomain()\n\t\t\tbreak\n\t\tcase 'Project Details':\n\t\t\tupdateProjectDetail(domain)\n\t\t\tbreak\n\t\tcase 'Company Profile':\n\t\t\tupdateCompanyProfile(domain)\n\t\t\tbreak\n\t\tcase 'Styling':\n\t\t\tupdateStylingInfo(domain)\n\t\t\tbreak\n\t\tcase 'Typography':\n\t\t\tupdateTypography(domain)\n\t\t\tbreak\n\t\tcase 'Sitemap':\n\t\t\tbreak\n\t\tcase 'Footer Settings':\n\t\t\tupdateFooterSettingsInfo(domain)\n\t\t\tbreak\n\t\tcase 'AI Settings':\n\t\t\tupdateAiSettingsInfo(domain)\n\t\t\tbreak\n\t}\n}\n\n/**\n * Reset all api status when router leave\n */\nonBeforeRouteLeave(resetAllApiStatus)\n\n/**\n * @description Switch to tab\n */\nfunction switchToTab(tab: string) {\n\tif (tab == 'Domain Configuration') {\n\t\tactiveTab.value = tab\n\t} else {\n\t\tif (createdBrandInfo.value) {\n\t\t\tactiveTab.value = tab\n\t\t} else {\n\t\t\tMessage.info(t('domain.edit.common.noBrandInfo'))\n\t\t}\n\t}\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n\n.wrapper {\n\tdisplay: grid;\n\tgrid-template-rows: 40px 45px 1fr 80px;\n\theight: calc(100% - 48px);\n\tbox-sizing: border-box;\n\tpadding: 24px;\n}\n\n.footer-tool {\n\tposition: absolute;\n\tbottom: 0px;\n\tleft: 0;\n\tbackground: #fff;\n\twidth: 100%;\n\theight: 80px;\n\t@include base.row-flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tpadding: 0 20px;\n}\n\n// page title\n.page-tit {\n\t@include base.row-flex-start;\n\tmargin-bottom: 20px;\n\tgap: 15px;\n\n\t.back-tool {\n\t\tcolor: var(--color-primary-1);\n\t\t@include base.row-flex-start;\n\t\tgap: 5px;\n\t\tcursor: pointer;\n\t\t@include base.transition-all;\n\n\t\t&:hover {\n\t\t\tcolor: var(--color-primary-3);\n\t\t}\n\n\t\t.back-btn {\n\t\t\tfont-size: 18px;\n\t\t}\n\t}\n\n\t.tit-content {\n\t\tfont-size: 18px;\n\t\tcolor: var(--color-text-1);\n\t\tfont-weight: bold;\n\t}\n}\n\n// Content tabs\n.content-tabs {\n\twidth: 100%;\n\theight: 46px;\n\tborder-bottom: 1px solid var(--color-border-1);\n\t@include base.row-flex-start;\n\n\t.tab-item {\n\t\theight: 100%;\n\t\t@include base.col-flex-center;\n\t\tfont-size: 14px;\n\t\tpadding: 0 20px;\n\t\tcursor: pointer;\n\t\ttransition: 0.1s color ease-in-out;\n\n\t\t&:hover {\n\t\t\tcolor: var(--color-primary-1);\n\t\t}\n\n\t\t&.active {\n\t\t\tcolor: var(--color-primary-1);\n\t\t\tborder-bottom: 2px solid var(--color-primary-1);\n\t\t\tmargin-bottom: -2px;\n\t\t}\n\t}\n}\n\n// Dynamic content\n.dynamic-content {\n\theight: calc(100vh - 240px);\n\tbox-sizing: border-box;\n\tpadding: 20px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/domain/pages/editDomain/store/index.ts",
    "content": "import { defineStore, storeToRefs } from 'pinia'\nimport { KnowledgeBase, SiteInfo } from '../dto'\n\nconst editDomainStore = defineStore('editDomainStore', () => {\n\t// domain configuration\n\tconst hasGotDomainConfiguration = ref(false)\n\tconst domainTit = ref('')\n\tconst domainIp = ref('')\n\tconst hostname = ref('')\n\tconst quota = ref('0')\n\tconst unit = ref('B')\n\tconst mailboxes = ref(0)\n\tconst catch_email = ref('')\n\tconst urls = ref(['https://'])\n\tconst brandInfo = ref(false)\n\tconst waitAndCheckDomainStatusRef = ref()\n\tconst createdBrandInfo = ref(false)\n\n\t// Project detail\n\tconst hasGotProjectDetail = ref(false)\n\tconst domain = ref('')\n\tconst description = ref('')\n\tconst favicon = ref('')\n\tconst industry = ref('')\n\tconst primary_logo = ref('')\n\tconst project_name = ref('')\n\tconst secondary_logo = ref('')\n\tconst knowledge_base = ref<KnowledgeBase[]>([])\n\tconst activeKnowledge = ref<KnowledgeBase>({\n\t\ttitle: '',\n\t\tcontent: '',\n\t\tkid: '',\n\t\tupdate_time: 0,\n\t})\n\tconst knowledgeTitle = ref('')\n\tconst knowledgeContent = ref('')\n\tconst knowledgeModalShow = ref(false)\n\tconst isEditKnowledge = ref(false)\n\tconst knowledge_base_content = ref('')\n\tconst knowledgeBasePreview = ref(false)\n\tconst knowledgeBasePreviewTit = ref('')\n\n\t// Company profile\n\tconst hasGotCompanyProfile = ref(false)\n\tconst legal_company_name = ref('')\n\tconst web_site = ref('')\n\tconst company_profile = ref('')\n\tconst email = ref('')\n\tconst phone = ref('')\n\tconst support_url = ref('')\n\n\t// Styling\n\tconst hasGotStyling = ref(false)\n\tconst accent_color = ref('')\n\tconst text_color = ref('')\n\tconst page_background = ref('')\n\tconst container_background = ref('')\n\tconst link_social_color = ref('')\n\tconst link_footer_color = ref('')\n\tconst heading_font = ref('')\n\tconst body_font = ref('')\n\n\t// Sitemap\n\tconst hasGotSitemap = ref(false)\n\tconst sitemap = ref<SiteInfo[]>([\n\t\t{\n\t\t\ttitle: '',\n\t\t\turi_path: '',\n\t\t},\n\t])\n\n\t// Footer settings\n\tconst hasGotFootersettings = ref(false)\n\tconst copyright_text = ref('')\n\tconst disclaimer = ref('')\n\n\t// Ai settings\n\tconst hasGotAisettings = ref(false)\n\tconst prompt = ref('')\n\n\treturn {\n\t\thasGotDomainConfiguration,\n\t\tdomainTit,\n\t\tdomainIp,\n\t\thostname,\n\t\tquota,\n\t\tunit,\n\t\tmailboxes,\n\t\tcatch_email,\n\t\turls,\n\t\tbrandInfo,\n\t\twaitAndCheckDomainStatusRef,\n\t\tcreatedBrandInfo,\n\n\t\thasGotProjectDetail,\n\t\tdomain,\n\t\tdescription,\n\t\tfavicon,\n\t\tindustry,\n\t\tprimary_logo,\n\t\tproject_name,\n\t\tsecondary_logo,\n\t\tknowledge_base,\n\t\tactiveKnowledge,\n\t\tknowledgeTitle,\n\t\tknowledgeContent,\n\t\tknowledgeModalShow,\n\t\tisEditKnowledge,\n\t\tknowledge_base_content,\n\t\tknowledgeBasePreview,\n\t\tknowledgeBasePreviewTit,\n\n\t\thasGotCompanyProfile,\n\t\tlegal_company_name,\n\t\tweb_site,\n\t\tcompany_profile,\n\t\temail,\n\t\tphone,\n\t\tsupport_url,\n\n\t\thasGotStyling,\n\t\taccent_color,\n\t\ttext_color,\n\t\tpage_background,\n\t\tcontainer_background,\n\t\tlink_social_color,\n\t\tlink_footer_color,\n\t\theading_font,\n\t\tbody_font,\n\n\t\thasGotSitemap,\n\t\tsitemap,\n\n\t\thasGotFootersettings,\n\t\tcopyright_text,\n\t\tdisclaimer,\n\n\t\thasGotAisettings,\n\t\tprompt,\n\t}\n})\n\nexport function getEditDomainStoreData() {\n\tconst store = editDomainStore()\n\treturn {\n\t\t...storeToRefs(store),\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/views/login/index.vue",
    "content": "<template>\n\t<div class=\"login-container\">\n\t\t<div class=\"login-card\">\n\t\t\t<div class=\"logo-container\">\n\t\t\t\t<div class=\"logo\">\n\t\t\t\t\t<img class=\"w-full\" src=\"@/assets/images/logo.png\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<h2 class=\"login-title\">BillionMail</h2>\n\n\t\t\t<n-form ref=\"formRef\" size=\"large\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item :show-label=\"false\" path=\"username\">\n\t\t\t\t\t<n-input v-model:value=\"form.username\" :placeholder=\"t('login.form.usernamePlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :show-label=\"false\" path=\"password\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.password\"\n\t\t\t\t\t\tclass=\"password-input\"\n\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\tshow-password-on=\"click\"\n\t\t\t\t\t\t:placeholder=\"t('login.form.passwordPlaceholder')\"\n\t\t\t\t\t\t@keyup.enter=\"handleLogin\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item v-if=\"isCode\" :show-label=\"false\" path=\"validate_code\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.validate_code\"\n\t\t\t\t\t\tclass=\"flex-1\"\n\t\t\t\t\t\t:placeholder=\"t('login.form.captcha')\"\n\t\t\t\t\t\t:input-props=\"{ spellcheck: false }\"\n\t\t\t\t\t\t@keydown.enter=\"handleLogin\">\n\t\t\t\t\t</n-input>\n\t\t\t\t\t<n-spin size=\"small\" :show=\"codeLoading\">\n\t\t\t\t\t\t<div class=\"code\" @click=\"getCode()\">\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclass=\"w-full h-full\"\n\t\t\t\t\t\t\t\t:src=\"codeUrl\"\n\t\t\t\t\t\t\t\t:title=\"t('login.form.changeCaptcha')\"\n\t\t\t\t\t\t\t\t:alt=\"t('login.form.captcha')\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-spin>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :show-label=\"false\" :show-feedback=\"false\">\n\t\t\t\t\t<n-button\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\tclass=\"font-bold\"\n\t\t\t\t\t\t:loading=\"loading\"\n\t\t\t\t\t\t:disabled=\"loading\"\n\t\t\t\t\t\t:block=\"true\"\n\t\t\t\t\t\t@click=\"handleLogin\">\n\t\t\t\t\t\t{{ t('login.form.loginButton') }}\n\t\t\t\t\t</n-button>\n\t\t\t\t</n-form-item>\n\t\t\t</n-form>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useUserStore } from '@/store'\nimport { isObject } from '@/utils'\nimport { getValidateCode, login } from '@/api/modules/user'\n\nconst { t } = useI18n()\n\nconst router = useRouter()\nconst userStore = useUserStore()\n\nconst formRef = useTemplateRef('formRef')\n\nconst isCode = ref(false)\n\nconst codeUrl = ref('')\n\nconst codeLoading = ref(false)\n\nconst form = reactive({\n\tusername: '',\n\tpassword: '',\n\tvalidate_code: '',\n\tvalidate_code_id: '',\n})\n\nconst rules = {\n\tusername: {\n\t\trequired: true,\n\t\tmessage: t('login.validation.usernameRequired'),\n\t\ttrigger: ['blur', 'input'],\n\t},\n\tpassword: {\n\t\trequired: true,\n\t\tmessage: t('login.validation.passwordRequired'),\n\t\ttrigger: ['blur', 'input'],\n\t},\n\tvalidate_code: {\n\t\trequired: true,\n\t\ttrigger: ['blur', 'input'],\n\t\tmessage: t('login.validation.captchaRequired'),\n\t},\n}\n\ninterface CodeResponse {\n\tmustValidateCode: boolean\n\tvalidateCodeBase64: string\n\tvalidateCodeId: string\n}\n\nconst getCode = async () => {\n\ttry {\n\t\tcodeLoading.value = true\n\t\tconst res = await getValidateCode()\n\t\tif (isObject<CodeResponse>(res)) {\n\t\t\tisCode.value = res.mustValidateCode\n\t\t\tif (res.mustValidateCode) {\n\t\t\t\tcodeUrl.value = res.validateCodeBase64\n\t\t\t\tform.validate_code_id = res.validateCodeId\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tcodeLoading.value = false\n\t}\n}\n\nconst loading = ref(false)\n\ninterface LoginResponse {\n\ttoken: string\n\trefresh_token: string\n\tttl: number\n}\n\nconst handleLogin = async () => {\n\ttry {\n\t\tawait formRef.value?.validate()\n\t\tloading.value = true\n\t\tconst res = await login(toRaw(form))\n\t\tif (isObject<LoginResponse>(res)) {\n\t\t\tuserStore.setLoginInfo({\n\t\t\t\ttoken: res.token,\n\t\t\t\trefresh_token: res.refresh_token,\n\t\t\t\tttl: res.ttl,\n\t\t\t})\n\t\t\tsetTimeout(() => {\n\t\t\t\trouter.push('/')\n\t\t\t}, 1000)\n\t\t}\n\t} catch {\n\t\tgetCode()\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetCode()\n</script>\n\n<style lang=\"scss\" scoped>\n.login-container {\n\t--text-dark: var(--color-text-1);\n\t--text-light: var(--color-text-2);\n\t--accent-green: #25cdb1;\n\t--accent-purple: #7e6ed5;\n\t--border-light: #ddd;\n}\n\n.login-container {\n\tdisplay: flex;\n\tposition: relative;\n\tjustify-content: center;\n\talign-items: center;\n\tmin-height: 100%;\n\tbackground: var(--color-bg-3);\n\toverflow: hidden;\n\t&::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: -15%;\n\t\tright: -15%;\n\t\twidth: 40vw;\n\t\theight: 40vw;\n\t\tborder-radius: 50%;\n\t\tbackground-color: var(--accent-green);\n\t\tz-index: 0;\n\t}\n\t&::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tleft: -15%;\n\t\tbottom: -15%;\n\t\twidth: 40vw;\n\t\theight: 40vw;\n\t\tborder-radius: 50%;\n\t\tbackground-color: var(--accent-purple);\n\t\tz-index: 0;\n\t}\n}\n\n.login-card {\n\twidth: 100%;\n\tmax-width: 400px;\n\tbackground-color: var(--color-bg-1);\n\tpadding: 52px 32px 62px;\n\tborder-radius: 8px;\n\tbox-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);\n\tz-index: 1;\n}\n\n.logo {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 70px;\n\n\t&-container {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n\n\t&-icon {\n\t\twidth: 24px;\n\t\theight: 24px;\n\t\tcolor: white;\n\t}\n\n\t&-text {\n\t\tfont-size: 20px;\n\t\tfont-weight: 600;\n\t\tcolor: var(--text-dark);\n\t}\n}\n\n.login-title {\n\tmargin-top: 0;\n\tmargin-bottom: 32px;\n\ttext-align: center;\n\tfont-weight: 500;\n\tcolor: var(--text-dark);\n}\n\n.code {\n\twidth: 120px;\n\theight: 40px;\n\tmargin-left: 12px;\n\tborder-radius: 4px;\n\tborder: 1px solid #dcdfe6;\n\toverflow: hidden;\n\tcursor: pointer;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/logs/error/controller/index.ts",
    "content": "import { instance } from '@/api'\n\nexport const getErrorLogs = async () => {\n\treturn await instance.get('/operation_log/output/latest')\n}\n"
  },
  {
    "path": "core/frontend/src/views/logs/error/index.vue",
    "content": "<template>\n\t<div class=\"error-logs-container\">\n\t\t<div class=\"logs-header\">\n\t\t\t<n-button type=\"primary\" @click=\"getLogs\">{{ $t('common.actions.refresh') }}</n-button>\n\t\t</div>\n\t\t<div class=\"logs-content min-h-300px\">\n\t\t\t<n-spin :show=\"loading\">\n\t\t\t\t<bt-logs :code=\"content\" height=\"100%\" :scroll-to-bottom=\"true\"></bt-logs>\n\t\t\t</n-spin>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isString } from '@/utils'\nimport { getErrorLogs } from './controller'\n\nconst content = ref('')\nconst loading = ref(false)\n\nconst getLogs = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getErrorLogs()\n\t\tcontent.value = isString(res) ? res : ''\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetLogs()\n</script>\n\n<style lang=\"scss\" scoped>\n.error-logs-container {\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: calc(100vh - 200px); // 减去布局的 paddingTop 和页面 padding\n\tbox-sizing: border-box;\n}\n\n.logs-header {\n\tflex-shrink: 0;\n\tmargin-bottom: 16px;\n}\n\n.logs-content {\n\tflex: 1;\n\tmin-height: 0; // 防止 flex 子元素溢出\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t:deep(.n-spin-container) {\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t:deep(.code-container) {\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/logs/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<bt-route-tabs></bt-route-tabs>\n\t</div>\n</template>\n"
  },
  {
    "path": "core/frontend/src/views/logs/operate/controller/index.ts",
    "content": "import { instance } from '@/api'\n\nexport const getLogsList = async (params: { page: number; page_size: number; keyword: string }) => {\n\treturn await instance.get('/operation_log/list', { params })\n}\n\nexport const getLogsType = async () => {\n\treturn await instance.get('/operation_log/type_list')\n}\n"
  },
  {
    "path": "core/frontend/src/views/logs/operate/index.vue",
    "content": "<template>\n\t<bt-table-layout>\n\t\t<template #toolsLeft>\n\t\t\t<div class=\"w-240px\">\n\t\t\t\t<n-select\n\t\t\t\t\tv-model:value=\"tableParams.type\"\n\t\t\t\t\t:filterable=\"true\"\n\t\t\t\t\t:options=\"typeOptions\"\n\t\t\t\t\t@update:value=\"() => resetTable()\">\n\t\t\t\t</n-select>\n\t\t\t</div>\n\t\t\t<bt-search\n\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t:placeholder=\"$t('logs.search.placeholder')\"\n\t\t\t\t@search=\"() => resetTable()\">\n\t\t\t</bt-search>\n\t\t</template>\n\t\t<template #table>\n\t\t\t<n-data-table v-bind=\"tableProps\" :columns=\"columns\"></n-data-table>\n\t\t</template>\n\t\t<template #pageRight>\n\t\t\t<bt-table-page v-bind=\"pageProps\" @refresh=\"fetchTable\"> </bt-table-page>\n\t\t</template>\n\t</bt-table-layout>\n</template>\n\n<script lang=\"ts\" setup>\nimport { DataTableColumns, SelectOption } from 'naive-ui'\nimport { formatTime, isObject } from '@/utils'\nimport { useDataTable } from '@/hooks/useDataTable'\nimport { getLogsList, getLogsType } from './controller'\nimport type { Logs } from './types'\n\nconst { t } = useI18n()\n\nconst columns = ref<DataTableColumns<Logs>>([\n\t{\n\t\tkey: 'username',\n\t\ttitle: t('logs.table.columns.username'),\n\t\twidth: '10%',\n\t\tminWidth: '120px',\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'type',\n\t\ttitle: t('logs.table.columns.type'),\n\t\twidth: '12%',\n\t\tminWidth: '140px',\n\t},\n\t{\n\t\tkey: 'ip',\n\t\ttitle: 'IP',\n\t\twidth: '10%',\n\t\tminWidth: '120px',\n\t},\n\t{\n\t\tkey: 'addtime',\n\t\ttitle: t('logs.table.columns.operatingTime'),\n\t\twidth: 160,\n\t\trender: row => {\n\t\t\treturn formatTime(row.addtime)\n\t\t},\n\t},\n\t{\n\t\tkey: 'log',\n\t\ttitle: t('logs.table.columns.details'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n])\n\nconst { tableParams, tableProps, pageProps, fetchTable, resetTable } = useDataTable<Logs>({\n\tparams: {\n\t\ttype: '',\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t},\n\timmediate: true,\n\tfetchFn: getLogsList,\n})\n\nconst typeOptions = ref<SelectOption[]>([])\n\nconst getTypeOptions = async () => {\n\tconst res = await getLogsType()\n\tif (isObject<Record<string, string>>(res)) {\n\t\ttypeOptions.value = Object.entries(res).map(([, value]) => ({\n\t\t\tlabel: value,\n\t\t\tvalue: value,\n\t\t}))\n\t\ttypeOptions.value.unshift({\n\t\t\tlabel: t('logs.filter.all'),\n\t\t\tvalue: '',\n\t\t})\n\t}\n}\n\ngetTypeOptions()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/logs/operate/types/index.ts",
    "content": "export type Logs = {\n\tid: number\n\tuser_id: number\n\ttype: string\n\tlog: string\n\tip: string\n\tinfo: string\n\taddtime: number\n\tusername: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/mailbox/components/DomainSelect.vue",
    "content": "<template>\n\t<n-select\n\t\tv-model:value=\"domain\"\n\t\t:loading=\"loading\"\n\t\t:filterable=\"true\"\n\t\t:options=\"domainOptions\"\n\t\t:placeholder=\"t('mailbox.domain.selectPlaceholder')\">\n\t</n-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isArray } from '@/utils'\nimport { getDomainAll } from '@/api/modules/domain'\nimport type { MailDomain } from '@/views/domain/interface'\n\nconst { t } = useI18n()\n\nconst { isAll } = defineProps({\n\tisAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n})\n\nconst domain = defineModel<string | null>('value', {\n\tdefault: () => null,\n})\n\nconst loading = ref(false)\n\nconst domainOptions = ref<SelectOption[]>([])\n\nconst getDomainSelect = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getDomainAll()\n\t\tif (isArray<MailDomain>(res)) {\n\t\t\tdomainOptions.value = res.map(item => ({\n\t\t\t\tlabel: item.domain,\n\t\t\t\tvalue: item.domain,\n\t\t\t}))\n\t\t\t// Add all options\n\t\t\tif (isAll) {\n\t\t\t\tdomainOptions.value.unshift({\n\t\t\t\t\tlabel: t('common.all.text'),\n\t\t\t\t\tvalue: '',\n\t\t\t\t})\n\t\t\t\tif (!domain.value) {\n\t\t\t\t\tdomain.value = ''\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (res.length > 0 && !domain.value) {\n\t\t\t\t\tdomain.value = res[0].domain\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetDomainSelect()\n</script>\n\n<style scoped>\n.domain-select {\n\twidth: 100%;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/mailbox/components/MailboxBatchAdd.vue",
    "content": "<template>\n\t<bt-modal\n\t\tv-model:show=\"show\"\n\t\t:title=\"$t('mailbox.form.batchAddTitle')\"\n\t\t:width=\"500\"\n\t\t@confirm=\"onConfirm\">\n\t\t<bt-form ref=\"formRef\" class=\"pt-8px\" :model=\"form\" :rules=\"rules\">\n\t\t\t<n-form-item :label=\"$t('mailbox.form.domain')\" path=\"domain\">\n\t\t\t\t<domain-select v-model:value=\"form.domain\" class=\"flex-1\" :is-all=\"false\" :disabled=\"false\">\n\t\t\t\t</domain-select>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('mailbox.form.prefix')\" path=\"prefix\">\n\t\t\t\t<n-input v-model:value=\"form.prefix\"> </n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('mailbox.form.count')\" path=\"count\">\n\t\t\t\t<n-input-number v-model:value=\"form.count\" class=\"flex-1\" :min=\"1\" :show-button=\"false\">\n\t\t\t\t</n-input-number>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item v-if=\"false\" :label=\"$t('mailbox.form.password')\" path=\"password\">\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"form.password\"\n\t\t\t\t\t:placeholder=\"$t('mailbox.form.passwordPlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item label=\"Quota limit\">\n\t\t\t\t<n-switch v-model:value=\"form.quota_active\" :checked-value=\"1\" :unchecked-value=\"0\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('mailbox.form.quota')\" path=\"quota\">\n\t\t\t\t<n-input-group>\n\t\t\t\t\t<n-input-number v-model:value=\"form.quota\" class=\"flex-1\" :min=\"1\" :show-button=\"false\">\n\t\t\t\t\t</n-input-number>\n\t\t\t\t\t<n-select v-model:value=\"form.unit\" class=\"flex-1\" :options=\"unitOptions\"> </n-select>\n\t\t\t\t</n-input-group>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</bt-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { createBatchMailbox } from '@/api/modules/mailbox'\nimport DomainSelect from './DomainSelect.vue'\n\nconst emit = defineEmits<{\n\trefresh: []\n}>()\n\nconst { t } = useI18n()\n\nconst show = ref(false)\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tdomain: null as string | null,\n\tprefix: '',\n\tcount: 10,\n\tquota: 5,\n\tunit: 'GB',\n\tpassword: '',\n\tquota_active: 1,\n})\n\nconst rules: FormRules = {\n\tdomain: {\n\t\ttrigger: 'change',\n\t\trequired: true,\n\t\tvalidator: () => {\n\t\t\tif (!form.domain) {\n\t\t\t\treturn new Error(t('mailbox.validation.domainRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tprefix: {\n\t\ttrigger: 'blur',\n\t\trequired: true,\n\t\tvalidator: () => {\n\t\t\tif (form.prefix.trim().length < 1) {\n\t\t\t\treturn new Error(t('mailbox.validation.prefixRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tcount: {\n\t\ttrigger: 'blur',\n\t\trequired: true,\n\t\tvalidator: () => {\n\t\t\tif (form.count < 1) {\n\t\t\t\treturn new Error(t('mailbox.validation.countRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\nconst unitOptions = [\n\t{ label: 'GB', value: 'GB' },\n\t{ label: 'MB', value: 'MB' },\n]\n\nconst onConfirm = async () => {\n\tawait formRef.value?.validate()\n\tawait createBatchMailbox(getParams())\n\temit('refresh')\n}\n\nconst getParams = () => {\n\treturn {\n\t\tdomain: form.domain || '',\n\t\tquota: getQuotaByte(form.quota, form.unit),\n\t\tprefix: form.prefix,\n\t\tcount: form.count,\n\t\tquota_active: form.quota_active,\n\t}\n}\n\n/**\n * @description Calculate the byte number based on the domain quota and unit\n * @param quota\n * @param quota_unit\n */\nconst getQuotaByte = (quota: number, quota_unit: string) => {\n\tswitch (quota_unit) {\n\t\tcase 'GB':\n\t\t\tquota *= 1024\n\t\tcase 'MB':\n\t\t\tquota *= 1024 * 1024\n\t}\n\treturn quota\n}\n\nconst open = () => {\n\tresetForm()\n\tshow.value = true\n}\n\nconst resetForm = () => {\n\tform.domain = null\n\tform.prefix = ''\n\tform.count = 10\n\tform.quota = 5\n\tform.unit = 'GB'\n\tform.password = ''\n\tform.quota_active = 1\n}\n\ndefineExpose({\n\topen,\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/mailbox/components/MailboxExport.vue",
    "content": "<template>\n\t<bt-modal\n\t\tv-model:show=\"show\"\n\t\t:title=\"$t('mailbox.form.exportTitle')\"\n\t\t:width=\"480\"\n\t\t@confirm=\"onConfirm\">\n\t\t<bt-form class=\"pt-8px\">\n\t\t\t<n-form-item :label=\"$t('mailbox.form.domain')\">\n\t\t\t\t<domain-select v-model:value=\"form.domain\"></domain-select>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item label=\"Format\">\n\t\t\t\t<n-select v-model:value=\"form.format\" :options=\"formatOptions\"></n-select>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</bt-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { exportMailbox } from '@/api/modules/mailbox'\nimport DomainSelect from './DomainSelect.vue'\n\nconst show = ref(false)\n\nconst form = reactive({\n\tdomain: null as string | null,\n\tformat: 'csv',\n})\n\nconst formatOptions = [\n\t{ label: 'CSV', value: 'csv' },\n\t{ label: 'TXT', value: 'txt' },\n]\n\nconst onConfirm = async () => {\n\tawait exportMailbox({ domain: form.domain || '', file_type: form.format })\n}\n\nconst open = (val: string | null) => {\n\tform.domain = val || null\n\tform.format = 'csv'\n\tshow.value = true\n}\n\ndefineExpose({\n\topen,\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/mailbox/components/MailboxForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" width=\"520\">\n\t\t<bt-form ref=\"formRef\" class=\"pt-20px\" :model=\"form\" :rules=\"rules\">\n\t\t\t<n-form-item :label=\"t('mailbox.form.emailAddress')\" path=\"domain\">\n\t\t\t\t<n-input-group>\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.local_part\"\n\t\t\t\t\t\tclass=\"flex-1\"\n\t\t\t\t\t\t:disabled=\"isEdit\"\n\t\t\t\t\t\t@update:value=\"onUpdateLocalPart\">\n\t\t\t\t\t</n-input>\n\t\t\t\t\t<domain-select\n\t\t\t\t\t\tv-model:value=\"form.domain\"\n\t\t\t\t\t\tclass=\"flex-1\"\n\t\t\t\t\t\t:is-all=\"false\"\n\t\t\t\t\t\t:disabled=\"isEdit\">\n\t\t\t\t\t</domain-select>\n\t\t\t\t</n-input-group>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item label=\"Display Name\" path=\"full_name\">\n\t\t\t\t<n-input v-model:value=\"form.full_name\"> </n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('mailbox.form.password')\" path=\"password\">\n\t\t\t\t<n-input v-model:value=\"form.password\" :placeholder=\"t('mailbox.form.passwordPlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item label=\"Quota limit\">\n\t\t\t\t<n-switch v-model:value=\"form.quota_active\" :checked-value=\"1\" :unchecked-value=\"0\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('mailbox.form.quota')\" path=\"quota\">\n\t\t\t\t<n-input-group>\n\t\t\t\t\t<n-input-number v-model:value=\"form.quota\" class=\"flex-1\" :min=\"1\" :show-button=\"false\">\n\t\t\t\t\t</n-input-number>\n\t\t\t\t\t<n-select v-model:value=\"form.unit\" class=\"flex-1\" :options=\"unitOptions\"> </n-select>\n\t\t\t\t</n-input-group>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('mailbox.form.userType')\" path=\"userType\">\n\t\t\t\t<n-select v-model:value=\"form.isAdmin\" :options=\"userTypeOptions\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('mailbox.form.status')\" :show-feedback=\"false\">\n\t\t\t\t<n-switch v-model:value=\"form.active\" :checked-value=\"1\" :unchecked-value=\"0\" />\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { getByteUnit, getNumber, getRandomPassword } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { createMailbox, updateMailbox } from '@/api/modules/mailbox'\nimport type { MailBox } from '../interface'\n\nimport DomainSelect from './DomainSelect.vue'\n\nconst { t } = useI18n()\n\nconst isEdit = ref(false)\n\nconst title = computed(() =>\n\tisEdit.value ? t('mailbox.form.editTitle') : t('mailbox.form.addTitle')\n)\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tquota: 5,\n\tunit: 'GB',\n\tisAdmin: 0,\n\tquota_active: 1,\n\tfull_name: '',\n\tlocal_part: '',\n\tdomain: null as string | null,\n\tpassword: getRandomPassword(),\n\tactive: 1,\n})\n\nconst unitOptions = [\n\t{ label: 'GB', value: 'GB' },\n\t{ label: 'MB', value: 'MB' },\n]\n\nconst userTypeOptions = [\n\t{ label: t('mailbox.userType.general'), value: 0 },\n\t{ label: t('mailbox.userType.admin'), value: 1 },\n]\n\nconst rules: FormRules = {\n\tfull_name: {\n\t\trequired: true,\n\t\ttrigger: 'blur',\n\t\tvalidator: () => {\n\t\t\tif (form.full_name.trim() === '') {\n\t\t\t\treturn new Error('Please enter name')\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tdomain: {\n\t\ttrigger: 'blur',\n\t\trequired: true,\n\t\tvalidator: () => {\n\t\t\tif (form.local_part.trim() === '' || !form.domain) {\n\t\t\t\treturn new Error(t('mailbox.validation.emailRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tpassword: {\n\t\ttrigger: 'blur',\n\t\trequired: true,\n\t\tvalidator: () => {\n\t\t\tif (!isEdit.value) {\n\t\t\t\tif (form.password.trim().length < 8) {\n\t\t\t\t\treturn new Error(t('mailbox.validation.passwordLength'))\n\t\t\t\t}\n\t\t\t\tconst pwdReg = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).*$/\n\t\t\t\tif (!pwdReg.test(form.password)) {\n\t\t\t\t\treturn new Error(t('mailbox.validation.passwordFormat'))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (form.password && form.password.trim().length < 8) {\n\t\t\t\t\treturn new Error(t('mailbox.validation.passwordLength'))\n\t\t\t\t}\n\t\t\t\tconst pwdReg = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).*$/\n\t\t\t\tif (form.password && !pwdReg.test(form.password)) {\n\t\t\t\t\treturn new Error(t('mailbox.validation.passwordFormat'))\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\nconst onUpdateLocalPart = (val: string) => {\n\tform.full_name = val\n}\n\n/**\n * @description Calculate the byte number based on the domain quota and unit\n * @param quota\n * @param quota_unit\n */\nconst getQuotaByte = (quota: number, quota_unit: string) => {\n\tswitch (quota_unit) {\n\t\tcase 'GB':\n\t\t\tquota *= 1024\n\t\tcase 'MB':\n\t\t\tquota *= 1024 * 1024\n\t}\n\treturn quota\n}\n\nconst getParams = () => {\n\treturn {\n\t\tfull_name: form.full_name,\n\t\tlocal_part: form.local_part,\n\t\tdomain: form.domain || '',\n\t\tpassword: form.password,\n\t\tquota: getQuotaByte(form.quota, form.unit),\n\t\tisAdmin: form.isAdmin,\n\t\tactive: form.active,\n\t\tquota_active: form.quota_active,\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ isEdit: boolean; row: MailBox | null }>()\n\t\t\tconst { row } = state\n\t\t\tisEdit.value = state.isEdit\n\t\t\tif (row) {\n\t\t\t\tform.full_name = row.full_name\n\t\t\t\tform.local_part = row.local_part\n\t\t\t\tform.domain = row.domain\n\t\t\t\tform.isAdmin = row.is_admin\n\t\t\t\tform.active = row.active\n\t\t\t\tform.password = row.password\n\t\t\t\tform.quota_active = row.quota_active\n\n\t\t\t\tconst quota = getByteUnit(row.quota)\n\t\t\t\tconst [quotaNum, quotaUnit] = quota.split(' ')\n\t\t\t\tform.quota = getNumber(quotaNum)\n\t\t\t\tform.unit = quotaUnit\n\t\t\t}\n\t\t} else {\n\t\t\tform.full_name = ''\n\t\t\tform.local_part = ''\n\t\t\tform.domain = null\n\t\t\tform.password = getRandomPassword() // Generate a random password by default\n\t\t\tform.quota = 5\n\t\t\tform.unit = 'GB'\n\t\t\tform.isAdmin = 0\n\t\t\tform.active = 1\n\t\t\tform.quota_active = 1\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tconst params = getParams()\n\t\tif (isEdit.value) {\n\t\t\tawait updateMailbox(params)\n\t\t} else {\n\t\t\tawait createMailbox(params)\n\t\t}\n\t\tconst state = modalApi.getState<{ refresh: Function }>()\n\t\tstate.refresh()\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/mailbox/components/MailboxImport.vue",
    "content": "<template>\n\t<bt-modal v-model:show=\"show\" :title=\"$t('mailbox.form.importTitle')\" :width=\"480\" @confirm=\"onConfirm\">\n\t\t<div class=\"py-16px\">\n\t\t\t<bt-file-upload :is-upload=\"false\" :accept=\"['csv']\" @change=\"handleChangeFile\">\n\t\t\t</bt-file-upload>\n\t\t</div>\n\t</bt-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { UploadFileInfo } from 'naive-ui'\nimport { Message } from '@/utils'\nimport { importMailbox } from '@/api/modules/mailbox'\n\nconst emit = defineEmits<{\n\trefresh: []\n}>()\n\nconst { t } = useI18n()\n\nconst show = ref(false)\n\nconst form = reactive({\n\tfile_data: '',\n\tfile_type: '',\n})\n\nconst handleChangeFile = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.file_type = file.name.substring(file.name.lastIndexOf('.') + 1)\n\t\tform.file_data = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst onConfirm = async () => {\n\tif (!form.file_data || !form.file_type) {\n\t\tMessage.error(t('mailbox.validation.fileRequired'))\n\t\treturn false\n\t}\n\tawait importMailbox(toRaw(form))\n\temit('refresh')\n}\n\nconst resetForm = () => {\n\tform.file_data = ''\n\tform.file_type = ''\n}\n\nconst open = () => {\n\tresetForm()\n\tshow.value = true\n}\n\ndefineExpose({\n\topen,\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/mailbox/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<div class=\"bt-title\">{{ t('layout.menu.mailboxes') }}</div>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">{{ t('mailbox.actions.add') }}</n-button>\n\t\t\t\t<n-button @click=\"handleBatchAdd\">{{ $t('mailbox.actions.batchAdd') }}</n-button>\n\t\t\t\t<n-button @click=\"handleImport\">{{ $t('common.actions.import') }}</n-button>\n\t\t\t\t<n-button @click=\"handleExport\">{{ t('mailbox.actions.exportAll') }}</n-button>\n\t\t\t</template>\n\t\t\t<template #toolsRight>\n\t\t\t\t<div class=\"w-220px\">\n\t\t\t\t\t<domain-select v-model:value=\"tableParams.domain\" @update:value=\"() => resetTable()\">\n\t\t\t\t\t</domain-select>\n\t\t\t\t</div>\n\t\t\t\t<bt-search\n\t\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t\t:width=\"280\"\n\t\t\t\t\t:placeholder=\"t('mailbox.search.usernamePlaceholder')\"\n\t\t\t\t\t@search=\"() => resetTable()\">\n\t\t\t\t</bt-search>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table v-bind=\"tableProps\" :columns=\"columns\">\n\t\t\t\t\t<template #empty>\n\t\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t\t</template>\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageLeft>\n\t\t\t\t<bt-table-batch v-bind=\"batchProps\" :options=\"batchOptions\" @select=\"handleBatchSelect\">\n\t\t\t\t</bt-table-batch>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page v-bind=\"pageProps\" @refresh=\"fetchTable\"> </bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<form-modal></form-modal>\n\t\t\t\t<batch-add-modal ref=\"batchAddRef\" @refresh=\"fetchTable\"></batch-add-modal>\n\t\t\t\t<import-modal ref=\"importRef\" @refresh=\"fetchTable\"></import-modal>\n\t\t\t\t<export-modal ref=\"exportRef\"></export-modal>\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex, NSwitch } from 'naive-ui'\nimport { useBrowserLocation } from '@vueuse/core'\nimport { confirm, getByteUnit } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useCopy } from '@/hooks/useCopy'\nimport { useDataTable } from '@/hooks/useDataTable'\nimport { deleteMailbox, getMailboxList, updateMailbox } from '@/api/modules/mailbox'\nimport { MailBox, MailBoxParams } from './interface'\n\nimport TablePassword from '@/components/base/bt-table-password/index.vue'\nimport DomainSelect from './components/DomainSelect.vue'\nimport MailboxForm from './components/MailboxForm.vue'\nimport BatchAddModal from './components/MailboxBatchAdd.vue'\nimport ImportModal from './components/MailboxImport.vue'\nimport ExportModal from './components/MailboxExport.vue'\n\nconst location = useBrowserLocation()\n\nconst { t } = useI18n()\n\nconst { copyText } = useCopy()\n\nconst batchAddRef = useTemplateRef('batchAddRef')\n\nconst handleBatchAdd = () => {\n\tbatchAddRef.value?.open()\n}\n\nconst importRef = useTemplateRef('importRef')\n\nconst handleImport = () => {\n\timportRef.value?.open()\n}\n\nconst exportRef = useTemplateRef('exportRef')\n\nconst handleExport = () => {\n\texportRef.value?.open(tableParams.value.domain)\n}\n\nconst { tableParams, tableProps, pageProps, batchProps, fetchTable, resetTable } = useDataTable<\n\tMailBox,\n\tMailBoxParams\n>({\n\tloading: true,\n\timmediate: true,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tdomain: location.value.state.domain || '',\n\t\tkeyword: '',\n\t},\n\trowKey: row => row.username,\n\tfetchFn: getMailboxList,\n})\n\n// Table columns\nconst columns = ref<DataTableColumns<MailBox>>([\n\t{\n\t\ttype: 'selection',\n\t\twidth: 40,\n\t},\n\t{\n\t\tkey: 'username',\n\t\ttitle: t('mailbox.columns.username'),\n\t\twidth: '14%',\n\t\tminWidth: 120,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'password',\n\t\ttitle: t('mailbox.columns.password'),\n\t\twidth: '16%',\n\t\tminWidth: 140,\n\t\trender: row => <TablePassword value={row.password || `--`} />,\n\t},\n\t{\n\t\tkey: 'login',\n\t\ttitle: t('mailbox.columns.loginInfo'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\tminWidth: 140,\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<div class=\"flex justify-center w-160px\">\n\t\t\t\t\t<NButton\n\t\t\t\t\t\ttext\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tcopyText(\n\t\t\t\t\t\t\t\tt('mailbox.loginInfo.template', {\n\t\t\t\t\t\t\t\t\twebmail: window.location.origin + '/roundcube',\n\t\t\t\t\t\t\t\t\tusername: row.username,\n\t\t\t\t\t\t\t\t\tpassword: row.password,\n\t\t\t\t\t\t\t\t\tmx: row.mx,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{t('common.actions.copy')}\n\t\t\t\t\t</NButton>\n\t\t\t\t</div>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tkey: 'quota',\n\t\ttitle: t('mailbox.columns.quota'),\n\t\twidth: '18%',\n\t\tminWidth: 160,\n\t\trender: row => {\n\t\t\tif (row.quota_active === 1) {\n\t\t\t\treturn `${getByteUnit(row.used_quota)} / ${getByteUnit(row.quota)}`\n\t\t\t}\n\t\t\treturn <i class=\"i-common:quota w-20px h-20px\"></i>\n\t\t},\n\t},\n\t// {\n\t// \tkey: 'quota',\n\t// \ttitle: t('mailbox.columns.quota'),\n\t// \twidth: '18%',\n\t// \tminWidth: 160,\n\t// \trender: row => `${getByteUnit(row.quota)}`,\n\t// },\n\t{\n\t\tkey: 'is_admin',\n\t\ttitle: t('mailbox.columns.type'),\n\t\twidth: '12%',\n\t\tminWidth: 100,\n\t\trender: row => {\n\t\t\treturn row.is_admin === 1 ? t('mailbox.userType.admin') : t('mailbox.userType.general')\n\t\t},\n\t},\n\t{\n\t\tkey: 'status',\n\t\ttitle: t('mailbox.columns.status'),\n\t\twidth: '10%',\n\t\tminWidth: 80,\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NSwitch\n\t\t\t\t\tvalue={row.active}\n\t\t\t\t\tchecked-value={1}\n\t\t\t\t\tunchecked-value={0}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tonUpdateValue={val => {\n\t\t\t\t\t\thandleStatusChange(row, val)\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 120,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: MailboxForm,\n\tstate: {\n\t\tisEdit: false,\n\t\trefresh: fetchTable,\n\t},\n})\n\nconst handleAdd = () => {\n\tformModalApi.setState({ isEdit: false, row: null })\n\tformModalApi.open()\n}\n\nconst handleStatusChange = async (row: MailBox, val: number) => {\n\tawait updateMailbox({\n\t\tfull_name: row.full_name,\n\t\tdomain: row.domain,\n\t\tpassword: row.password,\n\t\tquota: row.quota,\n\t\tisAdmin: row.is_admin,\n\t\tactive: val,\n\t})\n\trow.active = val\n}\n\nconst handleEdit = (row: MailBox) => {\n\tformModalApi.setState({ isEdit: true, row })\n\tformModalApi.open()\n}\n\nconst handleDelete = (row: MailBox) => {\n\tconfirm({\n\t\ttitle: t('mailbox.delete.title'),\n\t\tcontent: t('mailbox.delete.confirm', { name: row.username }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteMailbox({ emails: [row.username] })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst batchOptions = [\n\t{\n\t\tlabel: t('common.actions.delete'),\n\t\tvalue: 'delete',\n\t},\n]\n\nconst handleBatchSelect = (key: string, keys: string[]) => {\n\tswitch (key) {\n\t\tcase 'delete':\n\t\t\thandleBatchDelete(keys)\n\t\t\tbreak\n\t}\n}\n\nconst handleBatchDelete = (keys: string[]) => {\n\tconfirm({\n\t\ttitle: t('mailbox.actions.batchDelete'),\n\t\tcontent: t('mailbox.delete.batchConfirm', { count: keys.length }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteMailbox({ emails: keys })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/mailbox/interface.ts",
    "content": "export interface MailBoxParams {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n\tdomain: string | null\n}\n\nexport interface MailBox {\n\tname: string\n\tusername: string\n\tpassword: string\n\tpassword_encode: string\n\tfull_name: string\n\tis_admin: number\n\tmaildir: string\n\tmx: string\n\tquota: number\n\tlocal_part: string\n\tdomain: string\n\tcreate_time: number\n\tupdate_time: number\n\tactive: number\n\tused_quota: number\n\tquota_active: number\n}\n"
  },
  {
    "path": "core/frontend/src/views/market/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<bt-route-tabs></bt-route-tabs>\n\t</div>\n</template>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/analytics.vue",
    "content": "<template>\n\t<div class=\"p-20px\">\n\t\t<div class=\"flex justify-between items-center mb-20px\">\n\t\t\t<n-breadcrumb>\n\t\t\t\t<n-breadcrumb-item>\n\t\t\t\t\t<router-link to=\"/market/task\">{{ $t('market.task.title') }}</router-link>\n\t\t\t\t</n-breadcrumb-item>\n\t\t\t\t<n-breadcrumb-item>{{ $t('market.task.actions.analytics') }}</n-breadcrumb-item>\n\t\t\t\t<n-breadcrumb-item>\n\t\t\t\t\t<n-ellipsis style=\"max-width: 300px\">\n\t\t\t\t\t\t<span class=\"font-bold text-basic\">{{ subject || '--' }}</span>\n\t\t\t\t\t</n-ellipsis>\n\t\t\t\t</n-breadcrumb-item>\n\t\t\t</n-breadcrumb>\n\t\t\t<bt-time-range v-model:value=\"dateRange\" default-type=\"last7days\" @change=\"fetchOverviewData\">\n\t\t\t</bt-time-range>\n\t\t</div>\n\n\t\t<!-- Main Metric Cards -->\n\t\t<div class=\"metrics-cards\">\n\t\t\t<metric-card\n\t\t\t\tv-for=\"(item, key) in rateData\"\n\t\t\t\t:key=\"key\"\n\t\t\t\t:title=\"item.label\"\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:unit=\"item.unit\">\n\t\t\t</metric-card>\n\t\t</div>\n\n\t\t<!-- Data Details Area -->\n\t\t<div class=\"detail-row\">\n\t\t\t<!-- Left: Mail Provider Table -->\n\t\t\t<n-card class=\"provider-table-card\" :title=\"$t('overview.mailProviders')\">\n\t\t\t\t<provider-table v-model:value=\"providers\" />\n\t\t\t</n-card>\n\n\t\t\t<!-- Right: Today's Sending Statistics -->\n\t\t\t<n-card class=\"send-today-card\" :title=\"$t('overview.sendStats')\">\n\t\t\t\t<send-today-stats :data=\"sendMail\" />\n\t\t\t</n-card>\n\t\t</div>\n\n\t\t<!-- Bottom Rate Charts Area -->\n\t\t<div class=\"rate-charts-card\">\n\t\t\t<rate-chart-panel :bounce=\"bounceRate\" :click=\"clickRate\" :open=\"openRate\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getDayTimeRange, getNumber, isArray, isObject } from '@/utils'\nimport { getTaskDetails, getTaskOverview } from '@/api/modules/market/task'\nimport type { MailOverview, MailProvider, RateData } from '@/views/overview/types'\n\nimport MetricCard from '@/views/overview/components/MetricCard.vue'\nimport ProviderTable from '@/views/overview/components/ProviderTable.vue'\nimport SendTodayStats from '@/views/overview/components/SendTodayStats.vue'\nimport RateChartPanel from '@/views/overview/components/RateChartPanel.vue'\n\nconst route = useRoute()\n\nconst { t } = useI18n()\n\nconst id = computed(() => {\n\treturn getNumber(route.params.id || '0')\n})\n\nconst dateRange = ref(getDayTimeRange())\n\nconst providers = ref<MailProvider[]>([])\n\nconst rateData = reactive<RateData>({\n\tdelivery_rate: { label: t('overview.delivered'), value: 0, unit: '%' },\n\topen_rate: { label: t('overview.opened'), value: 0, unit: '%' },\n\tclick_rate: { label: t('overview.clicked'), value: 0, unit: '%' },\n\tbounce_rate: { label: t('overview.bounced'), value: 0, unit: '%' },\n})\n\nconst sendMail = ref<MailOverview['send_mail_chart']>({\n\tcolumn_type: 'hourly',\n\tdashboard: {\n\t\tdelivered: 0,\n\t\tdelivery_rate: 0,\n\t\tfailed: 0,\n\t\tfailure_rate: 0,\n\t\tsends: 0,\n\t},\n\tdata: [],\n})\n\nconst bounceRate = ref<MailOverview['bounce_rate_chart']>({\n\tcolumn_type: 'hourly',\n\tdata: [],\n})\n\nconst clickRate = ref<MailOverview['click_rate_chart']>({\n\tcolumn_type: 'hourly',\n\tdata: [],\n})\n\nconst openRate = ref<MailOverview['open_rate_chart']>({\n\tcolumn_type: 'hourly',\n\tdata: [],\n})\n\n// Function to update rate data\nconst updateRateData = (dashboard: MailOverview['dashboard']) => {\n\tObject.entries(dashboard).forEach(([key, value]) => {\n\t\tif (key in rateData) {\n\t\t\trateData[key].value = value\n\t\t}\n\t})\n}\n\nasync function fetchOverviewData() {\n\tconst res = await getTaskOverview({\n\t\ttask_id: id.value,\n\t\tstart_time: Math.floor(dateRange.value[0] / 1000),\n\t\tend_time: Math.floor(dateRange.value[1] / 1000),\n\t})\n\n\tif (isObject<MailOverview>(res)) {\n\t\tupdateRateData(res.dashboard)\n\n\t\tproviders.value = isArray(res.mail_providers) ? res.mail_providers : []\n\t\tsendMail.value = res.send_mail_chart\n\t\tbounceRate.value = res.bounce_rate_chart\n\t\tclickRate.value = res.click_rate_chart\n\t\topenRate.value = res.open_rate_chart\n\t}\n}\n\nconst subject = ref('')\n\nconst getDetails = async () => {\n\tconst res = await getTaskDetails({ id: id.value })\n\tif (isObject<{ subject: string }>(res)) {\n\t\tsubject.value = res.subject\n\t}\n}\n\ngetDetails()\n</script>\n\n<style lang=\"scss\" scoped>\n.metrics-cards {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tgap: 20px;\n\tmargin-bottom: 20px;\n}\n\n.detail-row {\n\tdisplay: flex;\n\tgap: 20px;\n\tmargin-bottom: 20px;\n\n\t.provider-table-card,\n\t.send-today-card {\n\t\tflex: 1;\n\t}\n}\n\n.rate-charts-card {\n\tdisplay: flex;\n\tgap: 20px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/components/CreateGroup.vue",
    "content": "<template>\n\t<modal :title=\"t('market.task.createGroup.title')\" width=\"500\">\n\t\t<div class=\"pt-12px\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item :label=\"t('market.task.createGroup.groupName')\" path=\"name\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.name\"\n\t\t\t\t\t\t:placeholder=\"t('market.task.createGroup.groupNamePlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item label=\"Status\">\n\t\t\t\t\t<n-select v-model:value=\"form.status\" :options=\"statusOptions\"></n-select>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"t('market.task.createGroup.email')\" path=\"file_data\">\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<bt-file-upload :is-upload=\"false\" :accept=\"['csv']\" @change=\"handleChangeFile\">\n\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t\t<div class=\"mt-8px text-12px text-desc\">\n\t\t\t\t\t\t\t{{ $t('contacts.subscribers.import.fileTypeHint') }}\n\t\t\t\t\t\t\t<n-button text type=\"primary\" @click=\"handleDownloadTemplate\">\n\t\t\t\t\t\t\t\t{{ $t('common.actions.download') }}\n\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('contacts.subscribers.import.exampleCsvLabel')\">\n\t\t\t\t\t<pre class=\"csv-example\">{{ example }}</pre>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isEmpty } from 'lodash-es'\nimport { FormRules, UploadFileInfo } from 'naive-ui'\nimport { Message } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { downloadFile } from '@/api/modules/public'\nimport { createGroup } from '@/api/modules/contacts/group'\n\nconst { t } = useI18n()\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tcreate_type: 2,\n\tname: '',\n\tfile_data: '',\n\tfile_type: '',\n\tdescription: '',\n\tstatus: 1,\n\tdouble_optin: 0,\n})\n\nconst rules: FormRules = {\n\tname: {\n\t\trequired: true,\n\t\tmessage: t('market.task.createGroup.validation.groupNameRequired'),\n\t\ttrigger: ['blur', 'input'],\n\t},\n}\n\nconst statusOptions = [\n\t{ label: 'Confirmed', value: 1 },\n\t{ label: 'Unconfirmed', value: 0 },\n]\n\nconst example = `email,attributes\nexample1@example.com,\"{\"\"age\"\": \"\"13\"\", \"\"Gender\"\": \"\"XXX\"\"}\"\nexample2@example.com,\"{\"\"age\"\": \"\"45\"\", \"\"city\"\": \"\"XXX\"\"}\"\n`\n\nconst handleChangeFile = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.file_type = file.name.substring(file.name.lastIndexOf('.') + 1)\n\t\tform.file_data = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst handleDownloadTemplate = async () => {\n\tawait downloadFile({ file_path: './template/example_recipients.csv' })\n}\n\nconst validateForm = async () => {\n\tawait formRef.value?.validate()\n\tif (isEmpty(form.file_data)) {\n\t\tMessage.error(t('contacts.subscribers.import.validation.fileRequired'))\n\t\treturn Promise.reject()\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tform.name = ''\n\t\t\tform.file_data = ''\n\t\t\tform.file_type = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait validateForm()\n\t\tawait createGroup(toRaw(form))\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate?.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.csv-example {\n\twidth: 100%;\n\tmargin: 0;\n\tpadding: 16px 24px;\n\tbackground: none;\n\tborder: 1px solid var(--color-border-1);\n\tborder-radius: 4px;\n\toverflow-x: auto;\n\twhite-space: pre;\n\tword-wrap: normal;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/components/FromSelect.vue",
    "content": "<template>\n\t<div class=\"flex-1\">\n\t\t<n-select\n\t\t\tv-model:value=\"domain\"\n\t\t\t:loading=\"loading\"\n\t\t\t:options=\"domainOptions\"\n\t\t\t@update:value=\"handleUpdateDomain\">\n\t\t</n-select>\n\t</div>\n\t<div class=\"flex-1 ml-10px\">\n\t\t<n-select\n\t\t\tv-model:value=\"sender\"\n\t\t\t:loading=\"loading\"\n\t\t\t:options=\"senderOptions\"\n\t\t\t:filterable=\"true\"\n\t\t\t@update:value=\"handleUpdateSender\">\n\t\t</n-select>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isArray, isObject } from '@/utils'\nimport { getDomainAll } from '@/api/modules/domain'\nimport { getMailboxList } from '@/api/modules/mailbox'\nimport type { MailDomain } from '@/views/domain/interface'\nimport type { MailBox } from '@/views/mailbox/interface'\n\nconst sender = defineModel<string | null>('value')\n\nconst name = defineModel<string>('name')\n\nconst loading = ref<boolean>(false)\n\nconst domain = defineModel<string | null>('domain')\n\nconst domainOptions = ref<SelectOption[]>([])\n\nconst mailboxList = ref<MailBox[]>([])\n\nconst senderOptions = computed(() => {\n\treturn mailboxList.value\n\t\t.filter(item => item.domain === domain.value)\n\t\t.map(item => ({\n\t\t\tlabel: item.username,\n\t\t\tvalue: item.username,\n\t\t\tdata: item,\n\t\t}))\n})\n\nconst handleUpdateDomain = async () => {\n\tawait nextTick()\n\tif (senderOptions.value.length > 0) {\n\t\tsender.value = senderOptions.value[0].value\n\t\thandleUpdateSender(sender.value, senderOptions.value[0])\n\t} else {\n\t\tsender.value = null\n\t\tname.value = ''\n\t}\n}\n\nconst handleUpdateSender = (val: string, option: SelectOption) => {\n\tconst { data } = option\n\tif (isObject<MailBox>(data)) {\n\t\tname.value = data.full_name\n\t}\n}\n\n// 获取域名列表\nconst getDomainOptions = async () => {\n\tconst domainRes = await getDomainAll()\n\tif (isArray<MailDomain>(domainRes)) {\n\t\tdomainOptions.value = domainRes.map(item => ({\n\t\t\tlabel: item.domain,\n\t\t\tvalue: item.domain,\n\t\t}))\n\t\tif (!domain.value && domainRes.length > 0) {\n\t\t\tconst domainData = domainRes.filter(item => item.default)\n\t\t\tif (domainData.length > 0) {\n\t\t\t\tdomain.value = domainData[0].domain\n\t\t\t} else {\n\t\t\t\tdomain.value = domainRes[0].domain\n\t\t\t}\n\t\t}\n\t}\n}\n\n// 获取邮箱列表\nconst getSenderOptions = async () => {\n\tconst res = await getMailboxList({ page: 1, page_size: 1000, domain: '' })\n\tif (isObject<{ list: MailBox[] }>(res)) {\n\t\tmailboxList.value = res.list\n\t}\n}\n\nconst initData = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tawait getSenderOptions()\n\t\tawait getDomainOptions()\n\t\tawait nextTick()\n\t\tif (sender.value === null) {\n\t\t\thandleUpdateDomain()\n\t\t} else if (sender.value) {\n\t\t\tdomain.value = sender.value.split('@')[1]\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ninitData()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/components/GroupSelect.vue",
    "content": "<template>\n\t<div class=\"flex-1\">\n\t\t<n-select v-model:value=\"group\" :options=\"groupOptions\" :filterable=\"true\" :clearable=\"clearable\"\n\t\t\t:disabled=\"disabled\" :max-tag-count=\"'responsive'\" :loading=\"loading\"\n\t\t\t:placeholder=\"$t('market.task.edit.recipientsPlaceholder')\" @update:value=\"handleUpdateGroup\">\n\t\t</n-select>\n\t</div>\n\t<div v-if=\"showCreate\" class=\"ml-12px\">\n\t\t<n-button text type=\"primary\" @click=\"handleShowCreate\">\n\t\t\t{{ $t('common.actions.create') }}\n\t\t</n-button>\n\t</div>\n\n\t<create-modal />\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getGroupAll } from '@/api/modules/contacts/group'\nimport type { Group } from '@/views/contacts/group/types/base'\n\nimport CreateGroup from './CreateGroup.vue'\n\ndefineProps({\n\tdisabled: {\n\t\ttype: Boolean as PropType<boolean>,\n\t\tdefault: false,\n\t},\n\tshowCreate: {\n\t\ttype: Boolean as PropType<boolean>,\n\t\tdefault: true,\n\t},\n\tclearable: {\n\t\ttype: Boolean as PropType<boolean>,\n\t\tdefault: false,\n\t},\n})\n\nconst group = defineModel<number | null>('value', {\n\tdefault: () => 0,\n})\n\nconst label = defineModel<string>('label', {\n\tdefault: () => '',\n})\n\nconst loading = ref(false)\n\nconst groupOptions = ref<SelectOption[]>([])\n\nconst [CreateModal, createModalApi] = useModal({\n\tcomponent: CreateGroup,\n\tstate: {\n\t\trefresh: () => {\n\t\t\tgetGroupOptions()\n\t\t},\n\t},\n})\n\nconst handleShowCreate = () => {\n\tcreateModalApi.open()\n}\n\nconst handleUpdateGroup = async (val: number, option: SelectOption) => {\n\tlabel.value = `${option.label}`\n}\n\nconst getGroupOptions = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getGroupAll()\n\t\tif (isObject<{ list: Group[] }>(res)) {\n\t\t\tgroupOptions.value = res.list.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t\tvalue: item.id,\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetGroupOptions()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/components/TagSelect.vue",
    "content": "<template>\n\t<n-select\n\t\tv-model:value=\"tag\"\n\t\t:options=\"tagOptions\"\n\t\t:disabled=\"disabled\"\n\t\t:multiple=\"true\"\n\t\t:filterable=\"true\"\n\t\t:max-tag-count=\"'responsive'\">\n\t</n-select>\n\t<div class=\"ml-12px\">\n\t\t<n-button text type=\"primary\" @click=\"handleCreate\">\n\t\t\t{{ $t('common.actions.create') }}\n\t\t</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { getTagAll } from '@/views/contacts/tags/service'\nimport { Tag } from '@/views/contacts/tags/types'\nimport { isObject } from '@/utils'\n\nconst { groupId } = defineProps({\n\tgroupId: {\n\t\ttype: Number as PropType<number | null>,\n\t\tdefault: null,\n\t},\n\tdisabled: {\n\t\ttype: Boolean as PropType<boolean>,\n\t\tdefault: false,\n\t},\n})\n\nconst tag = defineModel<number[]>('value', {\n\tdefault: () => [],\n})\n\nconst router = useRouter()\n\nconst tagList = ref<Tag[]>([])\n\nconst tagOptions = computed<SelectOption[]>(() => {\n\treturn tagList.value\n\t\t.filter(item => item.group_id === groupId)\n\t\t.map(item => ({\n\t\t\tvalue: item.id,\n\t\t\tlabel: item.name,\n\t\t}))\n})\n\nconst getOptions = async () => {\n\tconst res = await getTagAll({})\n\tif (isObject<{ list: Tag[] }>(res)) {\n\t\ttagList.value = res.list\n\t}\n}\n\nconst handleCreate = () => {\n\trouter.push('/contacts/tags')\n}\n\nwatch(\n\t() => groupId,\n\t() => {\n\t\ttag.value = []\n\t\t// tag.value = tagList.value.filter(item => item.group_id === val).map(item => item.id)\n\t}\n)\n\ngetOptions()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/components/TaskDetail.vue",
    "content": "<template>\n\t<modal :title=\"$t('market.task.detail.title')\" :width=\"600\" :footer=\"false\">\n\t\t<n-descriptions\n\t\t\tv-if=\"row\"\n\t\t\tlabel-placement=\"left\"\n\t\t\t:bordered=\"true\"\n\t\t\t:column=\"1\"\n\t\t\t:label-style=\"{ width: '180px' }\">\n\t\t\t<n-descriptions-item :label=\"$t('market.task.detail.displayName')\">\n\t\t\t\t{{ row.full_name }}\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.detail.sender')\">\n\t\t\t\t{{ row.addresser }}\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.detail.subject')\">\n\t\t\t\t{{ row.subject }}\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.detail.groups')\">\n\t\t\t\t{{ row.group_name }}\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.edit.tags')\">\n\t\t\t\t<n-flex>\n\t\t\t\t\t<n-tag v-for=\"item of row.tags\" :key=\"item.id\" size=\"small\">{{ item.name }}</n-tag>\n\t\t\t\t</n-flex>\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.edit.tagLogic')\">\n\t\t\t\t{{ row.tag_logic }}\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.detail.sendTime')\">\n\t\t\t\t{{ formatTime(row.start_time) }}\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.detail.unsubscribeLink')\">\n\t\t\t\t{{ row.unsubscribe === 1 ? $t('market.task.detail.yes') : $t('market.task.detail.no') }}\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.detail.threads')\">\n\t\t\t\t{{ row.threads === 0 ? $t('market.task.detail.auto') : row.threads }}\n\t\t\t</n-descriptions-item>\n\t\t\t<n-descriptions-item :label=\"$t('market.task.detail.remark')\">\n\t\t\t\t{{ row.remark || '--' }}\n\t\t\t</n-descriptions-item>\n\t\t</n-descriptions>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { formatTime } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport type { Task } from '../interface'\n\nconst row = ref<Task | null>(null)\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ row: Task }>()\n\t\t\trow.value = state.row\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/components/TaskStatus.vue",
    "content": "<template>\n\t<modal :title=\"title\" :width=\"600\" :footer=\"false\">\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<!-- <n-radio-group>\n\t\t\t\t\t<n-radio-button>Domain</n-radio-button>\n\t\t\t\t\t<n-radio-button>Status</n-radio-button>\n\t\t\t\t</n-radio-group> -->\n\t\t\t</template>\n\t\t\t<template #toolsRight> </template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table :bordered=\"false\" :loading=\"loading\" :columns=\"columns\" :data=\"tableList\">\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<details-modal />\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</modal>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton } from 'naive-ui'\nimport { isArray } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getMailProvider } from '@/api/modules/market/task'\nimport type { Task, TaskStatus } from '../interface'\n\nimport TaskStatusDetails from './TaskStatusDetails.vue'\n\nconst title = ref('Error tasks')\n\nconst loading = ref(false)\n\nconst search = reactive({\n\tstatus: 0,\n\ttask_id: 0,\n})\n\nconst tableList = ref<TaskStatus[]>([])\n\nconst columns = ref<DataTableColumns<TaskStatus>>([\n\t{\n\t\tkey: 'domain',\n\t\ttitle: 'Domain',\n\t},\n\t{\n\t\tkey: 'count',\n\t\ttitle: 'Count',\n\t},\n\t{\n\t\tkey: 'active',\n\t\ttitle: 'Operator',\n\t\talign: 'right',\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NButton\n\t\t\t\t\ttext\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleShowDetails(row)\n\t\t\t\t\t}}>\n\t\t\t\t\tDetails\n\t\t\t\t</NButton>\n\t\t\t)\n\t\t},\n\t},\n])\n\nconst [DetailsModal, detailsModalApi] = useModal({\n\tcomponent: TaskStatusDetails,\n})\n\nconst handleShowDetails = (row: TaskStatus) => {\n\tdetailsModalApi.setState({ taskId: search.task_id, status: search.status, row })\n\tdetailsModalApi.open()\n}\n\nconst getTableData = async () => {\n\tconst res = await getMailProvider(toRaw(search))\n\tif (isArray<TaskStatus>(res)) {\n\t\ttableList.value = res\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ row: Task }>()\n\t\t\tconst { row } = state\n\t\t\tif (row) {\n\t\t\t\ttableList.value = []\n\t\t\t\tsearch.task_id = row.id\n\t\t\t\ttitle.value = `Error tasks [${row.subject}]`\n\t\t\t\tgetTableData()\n\t\t\t}\n\t\t} else {\n\t\t\ttableList.value = []\n\t\t}\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/components/TaskStatusDetails.vue",
    "content": "<template>\n\t<modal :title=\"title\" :width=\"1000\" :footer=\"false\">\n\t\t<bt-table-layout>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table\n\t\t\t\t\t:bordered=\"false\"\n\t\t\t\t\t:loading=\"loading\"\n\t\t\t\t\t:columns=\"columns\"\n\t\t\t\t\t:data=\"tableList\"\n\t\t\t\t\t:row-props=\"rowProps\">\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page\n\t\t\t\t\tv-model:page=\"tableParams.page\"\n\t\t\t\t\tv-model:page-size=\"tableParams.page_size\"\n\t\t\t\t\t:item-count=\"tableTotal\"\n\t\t\t\t\t@refresh=\"getTableData\">\n\t\t\t\t</bt-table-page>\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</modal>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, DataTableCreateRowProps, NEllipsis } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useTableData } from '@/hooks/useTableData'\nimport { getMailProviderLogs } from '@/api/modules/market/task'\nimport type { TaskStatus, TaskStatusDetails } from '../interface'\n\ninterface TaskStatusDetailsParams {\n\tpage: number\n\tpage_size: number\n\ttask_id: number\n\tstatus: number\n\tdomain: string\n}\n\nconst title = ref('')\n\nconst { loading, tableParams, tableList, tableTotal, getTableData } = useTableData<\n\tTaskStatusDetails,\n\tTaskStatusDetailsParams\n>({\n\tloading: true,\n\timmediate: false,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\ttask_id: 0,\n\t\tstatus: 0,\n\t\tdomain: '',\n\t},\n\tfetchFn: getMailProviderLogs,\n})\n\nconst columns = ref<DataTableColumns<TaskStatusDetails>>([\n\t{\n\t\tkey: 'recipient',\n\t\ttitle: 'Recipient',\n\t\twidth: 160,\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NEllipsis\n\t\t\t\t\tclass={row.tooltip ? '' : 'break-all!'}\n\t\t\t\t\tline-clamp={row.tooltip ? 999 : 1}\n\t\t\t\t\ttooltip={false}>\n\t\t\t\t\t{row.recipient}\n\t\t\t\t</NEllipsis>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tkey: 'dsn',\n\t\ttitle: 'Dsn',\n\t\twidth: 60,\n\t},\n\t{\n\t\tkey: 'delay',\n\t\ttitle: 'Delay',\n\t\twidth: 70,\n\t},\n\t{\n\t\tkey: 'delays',\n\t\ttitle: 'Delays',\n\t\twidth: 150,\n\t},\n\t{\n\t\tkey: 'relay',\n\t\ttitle: 'Relay',\n\t\twidth: 200,\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NEllipsis\n\t\t\t\t\tclass={row.tooltip ? '' : 'break-all!'}\n\t\t\t\t\tline-clamp={row.tooltip ? 9999 : 1}\n\t\t\t\t\ttooltip={false}>\n\t\t\t\t\t{row.relay}\n\t\t\t\t</NEllipsis>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tkey: 'description',\n\t\ttitle: 'Details',\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NEllipsis\n\t\t\t\t\tclass={row.tooltip ? '' : 'break-all!'}\n\t\t\t\t\tline-clamp={row.tooltip ? 9999 : 1}\n\t\t\t\t\ttooltip={false}>\n\t\t\t\t\t{row.description}\n\t\t\t\t</NEllipsis>\n\t\t\t)\n\t\t},\n\t},\n])\n\nconst rowProps: DataTableCreateRowProps<TaskStatusDetails> = row => {\n\treturn {\n\t\tonMousemove: () => {\n\t\t\trow.tooltip = true\n\t\t},\n\t\tonMouseleave: () => {\n\t\t\trow.tooltip = false\n\t\t},\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ status: number; taskId: number; row: TaskStatus }>()\n\t\t\tconst { status, taskId, row } = state\n\t\t\tif (row) {\n\t\t\t\ttitle.value = `Failure Details [${row.domain}]`\n\t\t\t\ttableParams.value.page = 1\n\t\t\t\ttableParams.value.status = status\n\t\t\t\ttableParams.value.task_id = taskId\n\t\t\t\ttableParams.value.domain = row.domain\n\t\t\t\tgetTableData()\n\t\t\t}\n\t\t} else {\n\t\t\ttableList.value = []\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/components/TemplateSelect.vue",
    "content": "<template>\n\t<n-select\n\t\tv-model:value=\"templateId\"\n\t\t:loading=\"loading\"\n\t\t:filterable=\"true\"\n\t\t:options=\"options\"\n\t\t@update:value=\"handleUpdateTemplate\">\n\t</n-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isArray, isObject } from '@/utils'\nimport { getTemplateAll } from '@/api/modules/market/template'\nimport { Template } from '@/views/market/template/interface'\n\nconst templateId = defineModel<number | null>('value')\n\nconst content = defineModel<string>('content')\n\nconst loading = ref(false)\n\nconst options = ref<SelectOption[]>([])\n\nconst handleUpdateTemplate = (val: number, option: SelectOption) => {\n\tconst { data } = option\n\tif (isObject<Template>(data)) {\n\t\tcontent.value = data.html_content\n\t}\n}\n\nconst emits = defineEmits(['listReady'])\n\nconst getList = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getTemplateAll()\n\t\tif (isArray<Template>(res)) {\n\t\t\toptions.value = res.map(item => ({\n\t\t\t\tlabel: item.temp_name,\n\t\t\t\tvalue: item.id,\n\t\t\t\tdata: item,\n\t\t\t}))\n\t\t\tif (templateId.value === null) {\n\t\t\t\ttemplateId.value = res[0].id\n\t\t\t\tcontent.value = res[0].html_content\n\t\t\t} else {\n\t\t\t\tconst template = res.find(item => item.id === templateId.value)\n\t\t\t\tif (template) {\n\t\t\t\t\tcontent.value = template.html_content\n\t\t\t\t}\n\t\t\t}\n\t\t\temits('listReady', res)\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetList()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/edit.vue",
    "content": "<template>\n\t<div class=\"task-edit-container\">\n\t\t<div class=\"flex flex-col flex-1 p-24px overflow-auto\">\n\t\t\t<n-breadcrumb class=\"mb-20px\">\n\t\t\t\t<n-breadcrumb-item>\n\t\t\t\t\t<router-link to=\"/market/task\">{{ $t('market.task.title') }}</router-link>\n\t\t\t\t</n-breadcrumb-item>\n\t\t\t\t<n-breadcrumb-item>\n\t\t\t\t\t{{ isEdit ? $t('market.task.edit.editTitle') : $t('market.task.edit.addTitle') }}\n\t\t\t\t</n-breadcrumb-item>\n\t\t\t</n-breadcrumb>\n\t\t\t<div class=\"task-edit-box\" :style=\"{ minHeight: height + 'px' }\">\n\t\t\t\t<bt-form ref=\"formRef\" class=\"task-edit-form\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t\t<div ref=\"formContentRef\">\n\t\t\t\t\t\t<n-card class=\"mb-24px\">\n\t\t\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.from')\">\n\t\t\t\t\t\t\t\t<from-select v-model:value=\"form.addresser\" v-model:name=\"form.full_name\">\n\t\t\t\t\t\t\t\t</from-select>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.displayName')\" path=\"full_name\">\n\t\t\t\t\t\t\t\t<n-input v-model:value=\"form.full_name\" :placeholder=\"$t('market.task.edit.displayNamePlaceholder')\">\n\t\t\t\t\t\t\t\t</n-input>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.subject')\" path=\"subject\">\n\t\t\t\t\t\t\t\t<n-input v-model:value=\"form.subject\" :placeholder=\"$t('market.task.edit.subjectPlaceholder')\">\n\t\t\t\t\t\t\t\t</n-input>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.recipients')\" type=\"group_ids\">\n\t\t\t\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t\t\t<group-select v-model:value=\"form.group_id\" v-model:label=\"groupName\" :disabled=\"isEdit\">\n\t\t\t\t\t\t\t\t\t\t</group-select>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<i18n-t class=\"mt-8px\" tag=\"div\" scope=\"global\" keypath=\"market.task.edit.recipientsCount\">\n\t\t\t\t\t\t\t\t\t\t<template #count>\n\t\t\t\t\t\t\t\t\t\t\t<b>{{ recipientsCount }}</b>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</i18n-t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t\t<n-grid :cols=\"24\" :x-gap=\"24\">\n\t\t\t\t\t\t\t\t<n-form-item-gi :span=\"6\" :label=\"$t('market.task.edit.tagLogic')\" path=\"tag_logic\">\n\t\t\t\t\t\t\t\t\t<n-select v-model:value=\"form.tag_logic\" :options=\"logicOptions\" :disabled=\"isEdit\"\n\t\t\t\t\t\t\t\t\t\t@update:value=\"() => getRecipientCount()\">\n\t\t\t\t\t\t\t\t\t</n-select>\n\t\t\t\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t\t\t\t<n-form-item-gi :span=\"18\" :label=\"$t('market.task.edit.tags')\" path=\"tag_ids\">\n\t\t\t\t\t\t\t\t\t<tag-select v-model:value=\"form.tag_ids\" :group-id=\"form.group_id\" :disabled=\"isEdit\"\n\t\t\t\t\t\t\t\t\t\t@update:value=\"() => getRecipientCount()\">\n\t\t\t\t\t\t\t\t\t</tag-select>\n\t\t\t\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t\t\t</n-grid>\n\t\t\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.template')\" path=\"template_id\">\n\t\t\t\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t\t\t\t<template-select v-model:value=\"form.template_id\" v-model:content=\"templateContent\"\n\t\t\t\t\t\t\t\t\t\t@list-ready=\"findTemplateId\">\n\t\t\t\t\t\t\t\t\t</template-select>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<n-button text type=\"primary\" class=\"ml-12px\" @click=\"handleGoTemplate\">\n\t\t\t\t\t\t\t\t\t{{ t('common.actions.create') }}\n\t\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t\t<n-form-item v-if=\"false\" :label=\"$t('market.task.edit.saveOutbox')\">\n\t\t\t\t\t\t\t\t<n-switch v-model:value=\"form.is_record\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t\t\t\t\t</n-switch>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t\t<n-grid :cols=\"24\" :x-gap=\"16\">\n\t\t\t\t\t\t\t\t<n-form-item-gi :span=\"12\" :label=\"t('market.task.edit.ipWarmup')\">\n\t\t\t\t\t\t\t\t\t<n-switch v-model:value=\"form.warmup\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t\t\t\t\t\t</n-switch>\n\t\t\t\t\t\t\t\t\t<span class=\"ml-12px text-desc\">{{ t('market.task.edit.ipWarmupTip') }}</span>\n\t\t\t\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t\t\t\t<n-form-item-gi :span=\"12\" :label=\"$t('market.task.edit.unsubscribeLink')\">\n\t\t\t\t\t\t\t\t\t<n-switch v-model:value=\"form.unsubscribe\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t\t\t\t\t\t</n-switch>\n\t\t\t\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t\t\t\t<n-form-item-gi :span=\"12\" :label=\"t('market.task.edit.trackClick')\" path=\"track_click\">\n\t\t\t\t\t\t\t\t\t<n-switch v-model:value=\"form.track_click\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t\t\t\t\t\t</n-switch>\n\t\t\t\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t\t\t\t<n-form-item-gi :span=\"12\" :label=\"t('market.task.edit.trackOpen')\" path=\"track_open\">\n\t\t\t\t\t\t\t\t\t<n-switch v-model:value=\"form.track_open\" :checked-value=\"1\" :unchecked-value=\"0\">\n\t\t\t\t\t\t\t\t\t</n-switch>\n\t\t\t\t\t\t\t\t</n-form-item-gi>\n\t\t\t\t\t\t\t</n-grid>\n\n\t\t\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.threads')\" :show-feedback=\"false\">\n\t\t\t\t\t\t\t\t<n-radio-group v-model:value=\"threadsType\" @update:value=\"handleUpdateThread\">\n\t\t\t\t\t\t\t\t\t<n-radio :value=\"0\">\n\t\t\t\t\t\t\t\t\t\t{{ $t('market.task.edit.threadsAuto') }}\n\t\t\t\t\t\t\t\t\t</n-radio>\n\t\t\t\t\t\t\t\t\t<n-radio :value=\"1\">\n\t\t\t\t\t\t\t\t\t\t{{ $t('market.task.edit.threadsCustom') }}\n\t\t\t\t\t\t\t\t\t</n-radio>\n\t\t\t\t\t\t\t\t</n-radio-group>\n\t\t\t\t\t\t\t\t<div v-show=\"threadsType === 1\" class=\"w-60px\">\n\t\t\t\t\t\t\t\t\t<n-input-number v-model:value=\"form.threads\" :min=\"1\" :max=\"100\" :show-button=\"false\">\n\t\t\t\t\t\t\t\t\t</n-input-number>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t</n-card>\n\t\t\t\t\t\t<n-card>\n\t\t\t\t\t\t\t<n-form-item :label=\"t('market.task.edit.sendTime')\" path=\"start_time\">\n\t\t\t\t\t\t\t\t<n-radio-group v-model:value=\"sendTimeType\" class=\"flex items-center\" @update:value=\"handleUpdateSend\">\n\t\t\t\t\t\t\t\t\t<n-radio :value=\"0\">{{ t('market.task.edit.sendTimeNow') }}</n-radio>\n\t\t\t\t\t\t\t\t\t<n-radio class=\"items-center\" :value=\"1\"> </n-radio>\n\t\t\t\t\t\t\t\t\t<n-date-picker v-model:value=\"form.start_time\" class=\"ml-8px\" type=\"datetime\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"sendTimeType === 0\">\n\t\t\t\t\t\t\t\t\t</n-date-picker>\n\t\t\t\t\t\t\t\t</n-radio-group>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.remark')\">\n\t\t\t\t\t\t\t\t<n-input v-model:value=\"form.remark\" :placeholder=\"$t('market.task.edit.remarkPlaceholder')\">\n\t\t\t\t\t\t\t\t</n-input>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t\t<n-form-item :label=\"$t('market.task.edit.testEmail')\" :show-feedback=\"false\">\n\t\t\t\t\t\t\t\t<div class=\"flex-1 mr-10px\">\n\t\t\t\t\t\t\t\t\t<n-input v-model:value=\"testEmail\" :placeholder=\"$t('market.task.edit.testEmailPlaceholder')\">\n\t\t\t\t\t\t\t\t\t</n-input>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<n-button @click=\"handleSendTest\">\n\t\t\t\t\t\t\t\t\t{{ $t('market.task.edit.sendTest') }}\n\t\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t</n-card>\n\t\t\t\t\t</div>\n\t\t\t\t</bt-form>\n\t\t\t\t<div class=\"task-preview\">\n\t\t\t\t\t<n-card class=\"h-full\" :content-style=\"{ display: 'flex', flexDirection: 'column', height: '100%' }\">\n\t\t\t\t\t\t<div class=\"preview-header\">\n\t\t\t\t\t\t\t<div class=\"preview-header-item\">\n\t\t\t\t\t\t\t\t<div class=\"preview-label\">{{ t('market.task.edit.from') }}:</div>\n\t\t\t\t\t\t\t\t<div class=\"preview-value\">{{ form.addresser }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"preview-header-item\">\n\t\t\t\t\t\t\t\t<div class=\"preview-label\">{{ t('market.task.edit.to') }}:</div>\n\t\t\t\t\t\t\t\t<div class=\"preview-value\">\n\t\t\t\t\t\t\t\t\t{{ groupName || '--' }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"preview-header-item\">\n\t\t\t\t\t\t\t\t<div class=\"preview-label\">{{ t('market.task.edit.subject') }}:</div>\n\t\t\t\t\t\t\t\t<div class=\"preview-value\">{{ form.subject || '--' }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"preview-content\">\n\t\t\t\t\t\t\t<bt-preview v-if=\"templateContent\" :value=\"templateContent\" />\n\t\t\t\t\t\t\t<div v-else class=\"empty-preview\">{{ t('market.task.edit.preview.empty') }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-card>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<!-- Action buttons -->\n\t\t<div class=\"action-buttons\">\n\t\t\t<n-button type=\"primary\" @click=\"handleSubmit\">\n\t\t\t\t{{ $t('common.actions.confirm') }}\n\t\t\t</n-button>\n\t\t\t<n-button class=\"ml-16px\" secondary @click=\"handleGoBack\">\n\t\t\t\t{{ $t('common.actions.back') }}\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { useGlobalStore } from '@/store'\nimport { useElementBounding } from '@vueuse/core'\nimport { confirm, isObject, Message } from '@/utils'\nimport { getContactTagCount } from '@/api/modules/contacts/group'\nimport { addTask, getTaskDetails, sendTestEmail, updateTask } from '@/api/modules/market/task'\nimport { Task } from './interface'\nimport { Template } from '../template/interface'\n\nimport FromSelect from './components/FromSelect.vue'\nimport GroupSelect from './components/GroupSelect.vue'\nimport TagSelect from './components/TagSelect.vue'\nimport TemplateSelect from './components/TemplateSelect.vue'\n\nconst { t } = useI18n()\n\nconst route = useRoute()\nconst router = useRouter()\n\nconst globalStore = useGlobalStore()\n\nconst formRef = useTemplateRef('formRef')\n\nconst formContentRef = useTemplateRef('formContentRef')\n\nconst { height } = useElementBounding(formContentRef)\n\nconst isEdit = ref(false)\n\nconst taskId = ref(0)\n\n// 表单数据\nconst form = reactive({\n\taddresser: null as null | string,\n\tfull_name: '',\n\tsubject: '',\n\tgroup_id: null as null | number,\n\ttemplate_id: null as null | number,\n\tis_record: 1,\n\tunsubscribe: 1,\n\twarmup: 0,\n\tthreads: 0,\n\tstart_time: null as number | null,\n\tremark: '',\n\ttag_ids: [] as number[],\n\ttag_logic: 'OR',\n\ttrack_click: 1,\n\ttrack_open: 1,\n})\n\nconst logicOptions = [\n\t{\n\t\tlabel: 'OR',\n\t\tvalue: 'OR',\n\t},\n\t{\n\t\tlabel: 'AND',\n\t\tvalue: 'AND',\n\t},\n\t{\n\t\tlabel: 'NOT',\n\t\tvalue: 'NOT',\n\t},\n]\n\nconst rules: FormRules = {\n\tfull_name: {\n\t\ttrigger: ['blur', 'input'],\n\t\tvalidator: () => {\n\t\t\tif (form.full_name === '') {\n\t\t\t\treturn new Error(t('market.task.edit.validation.displayNameRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tsubject: {\n\t\ttrigger: ['blur', 'input'],\n\t\tvalidator: () => {\n\t\t\tif (form.subject === '') {\n\t\t\t\treturn new Error(t('market.task.edit.validation.subjectRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tgroup_ids: {\n\t\ttrigger: 'change',\n\t\tvalidator: () => {\n\t\t\tif (!form.group_id) {\n\t\t\t\treturn new Error(t('market.task.edit.validation.recipientsRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\ttemplate_id: {\n\t\ttrigger: 'change',\n\t\tvalidator: () => {\n\t\t\tif (form.template_id === null) {\n\t\t\t\treturn new Error(t('market.task.edit.validation.templateRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\tstart_time: {\n\t\tvalidator: () => {\n\t\t\tif (sendTimeType.value === 1 && form.start_time === null) {\n\t\t\t\treturn new Error(t('market.task.edit.validation.sendTimeRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\n// 分组名称\nconst groupName = ref<string>('')\n\n// 联系人数量\nconst recipientsCount = ref(0)\n\n// 线程类型\nconst threadsType = ref(0)\n\n// 发送时间类型\nconst sendTimeType = ref(0)\n\n// 测试邮件\nconst testEmail = ref('')\n\n// 模板内容\nconst templateContent = ref('')\n\n// 跳转模板页面\nconst handleGoTemplate = () => {\n\trouter.push('/template')\n}\n\n// 更新线程类型\nconst handleUpdateThread = (val: number) => {\n\tif (val === 0) {\n\t\tform.threads = 0\n\t} else {\n\t\tform.threads = 5\n\t}\n}\n\n// 更新发送时间类型\nconst handleUpdateSend = () => {\n\tif (sendTimeType.value === 0) {\n\t\tform.start_time = null\n\t}\n}\n\n// 发送测试邮件\nconst handleSendTest = async () => {\n\tif (!testEmail.value) {\n\t\tMessage.error(t('market.task.edit.validation.testEmailRequired'))\n\t\treturn\n\t}\n\tif (!form.subject) {\n\t\tMessage.error(t('market.task.edit.validation.subjectRequired'))\n\t\treturn\n\t}\n\tif (!form.template_id) {\n\t\tMessage.error(t('market.task.edit.validation.templateRequired'))\n\t\treturn\n\t}\n\n\tawait sendTestEmail({\n\t\taddresser: form.addresser || '',\n\t\tsubject: form.subject,\n\t\trecipient: testEmail.value,\n\t\ttemplate_id: form.template_id || 0,\n\t})\n}\n\nconst handleGoBack = () => {\n\tif (form.subject || form.group_id) {\n\t\tconfirm({\n\t\t\ttitle: t('market.task.edit.discard.title'),\n\t\t\tcontent: t('market.task.edit.discard.content'),\n\t\t\tonConfirm: () => {\n\t\t\t\trouter.go(-1)\n\t\t\t},\n\t\t})\n\t} else {\n\t\trouter.go(-1)\n\t}\n}\n\nconst getRecipientCount = async () => {\n\tif (!form.group_id) {\n\t\trecipientsCount.value = 0\n\t\treturn\n\t}\n\n\tconst res = await getContactTagCount({\n\t\tgroup_id: form.group_id || 0,\n\t\ttag_ids: form.tag_ids,\n\t\ttag_logic: form.tag_logic,\n\t})\n\tif (isObject<{ total: number }>(res)) {\n\t\trecipientsCount.value = res.total\n\t}\n}\n\nconst getParams = () => {\n\tlet startTime = form.start_time\n\tif (sendTimeType.value === 0 || startTime === null) {\n\t\tstartTime = Date.now()\n\t}\n\treturn {\n\t\ttrack_open: form.track_open,\n\t\ttrack_click: form.track_click,\n\t\taddresser: form.addresser || '',\n\t\tfull_name: form.full_name,\n\t\tsubject: form.subject,\n\t\tgroup_id: form.group_id || 0,\n\t\ttemplate_id: form.template_id || 0,\n\t\tis_record: form.is_record,\n\t\tunsubscribe: form.unsubscribe,\n\t\twarmup: form.warmup,\n\t\tthreads: form.threads,\n\t\tstart_time: startTime / 1000,\n\t\tremark: form.remark,\n\t\ttag_ids: form.tag_ids,\n\t\ttag_logic: form.tag_logic,\n\t}\n}\n\nconst handleSubmit = async () => {\n\tawait formRef.value?.validate()\n\tif (!isEdit.value) {\n\t\tawait addTask(getParams())\n\t} else {\n\t\tawait updateTask({\n\t\t\ttask_id: taskId.value,\n\t\t\t...getParams(),\n\t\t})\n\t}\n\trouter.push('/market/task')\n}\n\n/**\n * @description Find templateId from template list\n */\nfunction findTemplateId(list: Template[]) {\n\tif (route.query.chat_id) {\n\t\tconst findRes = list.find(item => item.chat_id == route.query.chat_id)\n\t\tif (findRes) {\n\t\t\tform.template_id = findRes.id\n\t\t\tform.subject = globalStore.temp_subject\n\t\t\ttemplateContent.value = findRes.html_content\n\t\t}\n\t}\n}\n\nconst initForm = async () => {\n\tconst { task_id: id, type } = route.query\n\tif (type === 'edit') {\n\t\ttaskId.value = Number(id)\n\t\tisEdit.value = true\n\t} else {\n\t\ttaskId.value = 0\n\t\tisEdit.value = false\n\t}\n\n\tif (!id) return\n\tconst res = await getTaskDetails({ id: Number(id) })\n\tif (isObject<Task>(res)) {\n\t\tform.addresser = res.addresser\n\t\tform.full_name = res.full_name\n\t\tform.subject = res.subject\n\t\tform.group_id = res.group_id\n\t\t// form.group_id = res.etypes.split(',').map(item => Number(item))\n\t\tform.template_id = res.template_id\n\t\tform.is_record = res.is_record\n\t\tform.unsubscribe = res.unsubscribe\n\t\tform.threads = res.threads\n\t\tthreadsType.value = res.threads === 0 ? 0 : 1\n\t\tform.remark = res.remark\n\t\tform.tag_logic = res.tag_logic\n\t\tform.track_open = res.track_open\n\t\tform.track_click = res.track_click\n\t\tnextTick(() => {\n\t\t\tform.tag_ids = res.tag_ids\n\t\t})\n\t}\n}\n\ninitForm()\n</script>\n\n<style lang=\"scss\" scoped>\n.task-edit-container {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\toverflow: hidden;\n\n\t.task-edit-box {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tgap: 24px;\n\t\tmin-height: 0;\n\t}\n\n\t.task-edit-form {\n\t\tflex: 1;\n\t}\n\n\t.task-preview {\n\t\tflex: 1;\n\t\toverflow: hidden;\n\n\t\t.preview-header {\n\t\t\twidth: 420px;\n\t\t\tmargin: 0 auto;\n\t\t\tmargin-bottom: 16px;\n\n\t\t\t.preview-header-item {\n\t\t\t\tdisplay: flex;\n\t\t\t\tmargin-bottom: 4px;\n\n\t\t\t\t.preview-label {\n\t\t\t\t\tmin-width: 150px;\n\t\t\t\t\ttext-align: right;\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\tmargin-right: 8px;\n\t\t\t\t}\n\n\t\t\t\t.preview-value {\n\t\t\t\t\tflex: 1;\n\t\t\t\t\tcolor: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.preview-content {\n\t\t\tflex: 1;\n\t\t\tmin-height: 400px;\n\t\t\toverflow: hidden;\n\n\t\t\t.empty-preview {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\t\t\t\talign-items: center;\n\t\t\t\theight: 100%;\n\t\t\t\tcolor: #999;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.action-buttons {\n\twidth: 100%;\n\tpadding: 23px 24px;\n\tbackground-color: var(--color-bg-1);\n\tborder-top: 1px solid var(--color-border-1);\n}\n</style>"
  },
  {
    "path": "core/frontend/src/views/market/task/index.vue",
    "content": "<template>\n\t<div>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">\n\t\t\t\t\t{{ t('market.task.actions.add') }}\n\t\t\t\t</n-button>\n\t\t\t</template>\n\t\t\t<template #toolsRight>\n\t\t\t\t<bt-search\n\t\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t\t:width=\"320\"\n\t\t\t\t\t:placeholder=\"t('market.task.search.subjectPlaceholder')\"\n\t\t\t\t\t@search=\"() => getTableData(true)\">\n\t\t\t\t</bt-search>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table :loading=\"loading\" :columns=\"columns\" :data=\"tableList\">\n\t\t\t\t\t<template #empty>\n\t\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t\t</template>\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page\n\t\t\t\t\tv-model:page=\"tableParams.page\"\n\t\t\t\t\tv-model:page-size=\"tableParams.page_size\"\n\t\t\t\t\t:item-count=\"tableTotal\"\n\t\t\t\t\t@refresh=\"getTableData\">\n\t\t\t\t</bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<status-modal />\n\t\t\t\t<detail-modal />\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex, NProgress, NTag } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useTableData } from '@/hooks/useTableData'\nimport { confirm, formatDurationHighest, formatTime } from '@/utils'\nimport { deleteTask, getTaskList, pauseTask, resumeTask } from '@/api/modules/market/task'\nimport type { Task, TaskParams } from './interface'\n\nimport TaskDetail from './components/TaskDetail.vue'\nimport TaskStatus from './components/TaskStatus.vue'\nconst { t } = useI18n()\n\nconst { loading, tableParams, tableList, tableTotal, getTableData } = useTableData<\n\tTask,\n\tTaskParams\n>({\n\tloading: true,\n\timmediate: true,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tkeyword: '',\n\t},\n\tfetchFn: getTaskList,\n})\n\n// Table columns\nconst columns = ref<DataTableColumns<Task>>([\n\t{\n\t\tkey: 'create_time',\n\t\ttitle: t('market.task.columns.time'),\n\t\twidth: '9%',\n\t\tminWidth: 130,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\trender: row => formatTime(row.create_time),\n\t},\n\t{\n\t\tkey: 'subject',\n\t\ttitle: t('market.task.columns.subject'),\n\t\tminWidth: 120,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'addresser',\n\t\ttitle: t('market.task.columns.sender'),\n\t\tminWidth: 130,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'recipient_count',\n\t\ttitle: t('market.task.columns.recipients'),\n\t\twidth: '6%',\n\t\tminWidth: 80,\n\t},\n\t{\n\t\tkey: 'success_count',\n\t\ttitle: t('market.task.columns.success'),\n\t\twidth: '6%',\n\t\tminWidth: 80,\n\t},\n\t{\n\t\tkey: 'error_count',\n\t\ttitle: t('market.task.columns.failed'),\n\t\twidth: '6%',\n\t\tminWidth: 80,\n\t\trender: row => (\n\t\t\t<NButton\n\t\t\t\ttype=\"error\"\n\t\t\t\ttext\n\t\t\t\tonClick={() => {\n\t\t\t\t\thandleShowError(row)\n\t\t\t\t}}>\n\t\t\t\t{row.error_count}\n\t\t\t</NButton>\n\t\t),\n\t},\n\t{\n\t\tkey: 'active',\n\t\ttitle: t('market.task.columns.status'),\n\t\twidth: '8%',\n\t\tminWidth: 90,\n\t\trender: row => {\n\t\t\tif (row.task_process === 0 || row.task_process === 3)\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" bordered={false} type=\"warning\">\n\t\t\t\t\t\t{t('market.task.status.pending')}\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\tif (row.task_process === 1)\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" bordered={false} type=\"info\">\n\t\t\t\t\t\t{t('market.task.status.processing')}\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\treturn (\n\t\t\t\t<NTag size=\"small\" bordered={false} type=\"success\">\n\t\t\t\t\t{t('market.task.status.done')}\n\t\t\t\t</NTag>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tkey: 'remark',\n\t\ttitle: t('market.task.columns.remark'),\n\t\twidth: '8%',\n\t\tminWidth: 80,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\trender: row => row.remark || '--',\n\t},\n\t{\n\t\tkey: 'estimated_time_with_warmup',\n\t\ttitle: t('market.task.columns.estimatedTime'),\n\t\twidth: '11%',\n\t\tminWidth: 110,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\trender: row => {\n\t\t\t// 已完成\n\t\t\tif (row.task_process === 2) {\n\t\t\t\treturn '--'\n\t\t\t}\n\t\t\t// 显示预计时间\n\t\t\tif (row.estimated_time_with_warmup >= 0) {\n\t\t\t\treturn formatDurationHighest(row.estimated_time_with_warmup)\n\t\t\t}\n\t\t\treturn t('market.task.status.noIpWarmup')\n\t\t},\n\t},\n\t{\n\t\tkey: 'progress',\n\t\ttitle: t('market.task.columns.progress'),\n\t\twidth: '8%',\n\t\tminWidth: 130,\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<div class=\"max-w-160px\">\n\t\t\t\t\t<NProgress\n\t\t\t\t\t\ttype=\"line\"\n\t\t\t\t\t\tstatus=\"success\"\n\t\t\t\t\t\tindicator-placement=\"inside\"\n\t\t\t\t\t\tprocessing={row.progress !== 100}\n\t\t\t\t\t\tpercentage={row.progress}\n\t\t\t\t\t\tshow-indicator={false}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 250,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t{row.task_process !== 2 && (\n\t\t\t\t\t<NButton\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\ttext={true}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\thandleSetStatus(row)\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{row.task_process === 3\n\t\t\t\t\t\t\t? t('market.task.actions.send')\n\t\t\t\t\t\t\t: t('market.task.actions.pause')}\n\t\t\t\t\t</NButton>\n\t\t\t\t)}\n\t\t\t\t{row.task_process === 3 && (\n\t\t\t\t\t<NButton\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\ttext={true}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t\t</NButton>\n\t\t\t\t)}\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleGoAnalytics(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('market.task.actions.analytics')}\n\t\t\t\t</NButton>\n\t\t\t\t{row.task_process === 2 && (\n\t\t\t\t\t<NButton\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\ttext={true}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\thandleDetail(row)\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{t('market.task.actions.detail')}\n\t\t\t\t\t</NButton>\n\t\t\t\t)}\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleCopy(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.copy')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst router = useRouter()\n\n// 添加任务\nconst handleAdd = () => {\n\trouter.push('/market/task/edit')\n}\n\n// 前往分析\nconst handleGoAnalytics = (row: Task) => {\n\trouter.push(`/market/task/analytics/${row.id}`)\n}\n\n// 复制任务\nconst handleCopy = (row: Task) => {\n\trouter.push(`/market/task/edit?task_id=${row.id}`)\n}\n\n// 暂停/发送任务\nconst handleSetStatus = (row: Task) => {\n\tconfirm({\n\t\ttitle: t('market.task.changeStatus.title', { subject: row.subject }),\n\t\tcontent:\n\t\t\trow.task_process === 3\n\t\t\t\t? t('market.task.changeStatus.startConfirm')\n\t\t\t\t: t('market.task.changeStatus.pauseConfirm'),\n\t\tonConfirm: async () => {\n\t\t\tif (row.task_process === 3) {\n\t\t\t\tawait resumeTask({ task_id: row.id })\n\t\t\t} else {\n\t\t\t\tawait pauseTask({ task_id: row.id })\n\t\t\t}\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n\nconst [StatusModal, statusModalApi] = useModal({\n\tcomponent: TaskStatus,\n})\n\n// 查看任务详情\nconst handleShowError = (row: Task) => {\n\tstatusModalApi.setState({ row })\n\tstatusModalApi.open()\n}\n\nconst [DetailModal, detailModalApi] = useModal({\n\tcomponent: TaskDetail,\n})\n\n// 查看任务详情\nconst handleDetail = (row: Task) => {\n\tdetailModalApi.setState({ row })\n\tdetailModalApi.open()\n}\n\n// 删除任务\nconst handleDelete = (row: Task) => {\n\tconfirm({\n\t\ttitle: t('market.task.delete.title'),\n\t\tcontent: t('market.task.delete.confirm', { subject: row.subject }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteTask({ id: row.id })\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n\nconst handleEdit = (row: Task) => {\n\trouter.push(`/market/task/edit?task_id=${row.id}&type=edit`)\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/market/task/interface.ts",
    "content": "export interface Task {\n\tid: number\n\ttask_name: string\n\taddresser: string\n\tsubject: string\n\tfull_name: string\n\trecipient_count: number\n\ttask_process: number\n\tpause: number\n\ttemplate_id: number\n\tis_record: number\n\tunsubscribe: number\n\tthreads: number\n\tetypes: string\n\ttrack_open: number\n\ttrack_click: number\n\tstart_time: number\n\tcreate_time: number\n\tupdate_time: number\n\tremark: string\n\tactive: number\n\tgroups: Group[]\n\tprogress: number\n\tsent_count: number\n\tunsent_count: number\n\ttemplate_name: string\n\tsuccess_count: number\n\terror_count: number\n\testimated_time_with_warmup: number\n\tgroup_id: number\n\tgroup_name: string\n\ttag_ids: number[]\n\ttag_logic: string\n\ttags: Array<{ id: number; name: string }>\n}\n\nexport interface Group {\n\tid: number\n\tname: string\n\tdescription: string\n\tcount: number\n}\n\nexport interface TaskParams {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n}\n\nexport interface TaskDetailItem {\n\tid: number\n\temail: string\n\tstatus: number\n\terror_msg: string\n\tcreate_time: number\n}\n\nexport interface TaskDetailParams {\n\ttask_id: number\n\tpage: number\n\tpage_size: number\n\tstatus?: number\n}\n\nexport interface TaskStatus {\n\tcount: number\n\tdomain: string\n}\n\nexport interface TaskStatusDetails {\n\tpostfix_message_id: string\n\tstatus: string\n\trecipient: string\n\tmail_provider: string\n\tdelay: number\n\tdelays: string\n\tdsn: string\n\trelay: string\n\tdescription: string\n\tlog_time: number\n\ttooltip: boolean\n}\n"
  },
  {
    "path": "core/frontend/src/views/market/template/components/TemplateAdd.vue",
    "content": "<template>\n\t<modal :title=\"$t('market.template.add.title')\" width=\"480\">\n\t\t<div class=\"pt-12px\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item :label=\"$t('market.template.name')\" path=\"temp_name\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.temp_name\"\n\t\t\t\t\t\t:placeholder=\"$t('market.template.add.namePlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('market.template.file')\" path=\"mode\">\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<n-radio-group v-model:value=\"form.add_type\">\n\t\t\t\t\t\t\t<n-radio-button :value=\"0\">{{ $t('market.template.uploadHtml') }}</n-radio-button>\n\t\t\t\t\t\t</n-radio-group>\n\t\t\t\t\t\t<div v-if=\"form.add_type === 0\" class=\"mt-16px\">\n\t\t\t\t\t\t\t<bt-file-upload :is-upload=\"false\" :accept=\"['html']\" @change=\"handleChangeFile\">\n\t\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules, UploadFileInfo } from 'naive-ui'\nimport { isEmpty } from 'lodash-es'\nimport { formatTime, Message } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { addTemplate } from '@/api/modules/market/template'\n\nconst { t } = useI18n()\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\ttemp_name: '',\n\tadd_type: 0,\n\tcontent: '',\n\trender: '',\n\tfile_data: '',\n})\n\nconst rules: FormRules = {\n\ttemp_name: {\n\t\trequired: true,\n\t\ttrigger: ['input', 'blur'],\n\t\tmessage: t('market.template.add.validation.nameRequired'),\n\t},\n}\n\nconst handleChangeFile = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.file_data = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst validateForm = async () => {\n\tawait formRef.value?.validate()\n\tif (form.add_type === 2 && isEmpty(form.file_data)) {\n\t\tMessage.error(t('market.template.add.validation.uploadRequired'))\n\t\treturn Promise.reject()\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tform.temp_name = `template_${formatTime(new Date(), 'yyyyMMddHHmmss')}`\n\t\t\tform.add_type = 0\n\t\t\tform.content = ''\n\t\t\tform.render = ''\n\t\t\tform.file_data = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait validateForm()\n\t\tawait addTemplate(toRaw(form))\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate?.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.drag-area {\n\tborder: 1px dashed #d9d9d9;\n\tborder-radius: 2px;\n\tmin-height: 300px;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\ttransition: border-color 0.3s;\n\n\t&:hover {\n\t\tborder-color: #1890ff;\n\t}\n\n\t.drag-placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tcolor: #999;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/market/template/components/TemplateForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" :width=\"1200\">\n\t\t<bt-form class=\"pt-8px\" :model=\"form\">\n\t\t\t<n-grid :cols=\"24\" :x-gap=\"24\">\n\t\t\t\t<n-form-item-gi :span=\"18\" label=\"Name\" path=\"temp_name\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.temp_name\"\n\t\t\t\t\t\t:placeholder=\"$t('market.template.add.namePlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item-gi>\n\t\t\t\t<n-form-item-gi :span=\"6\" label=\"Type\" path=\"add_type\">\n\t\t\t\t\t<n-select v-model:value=\"form.add_type\" :disabled=\"isEdit\" :options=\"typeOptions\">\n\t\t\t\t\t</n-select>\n\t\t\t\t</n-form-item-gi>\n\t\t\t</n-grid>\n\t\t\t<n-form-item :label=\"typeLabel\" :show-feedback=\"false\">\n\t\t\t\t<div class=\"flex flex-col flex-1 h-580px\">\n\t\t\t\t\t<div class=\"flex justify-end gap-12px mb-8px\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<bt-file-upload\n\t\t\t\t\t\t\t\tmode=\"button\"\n\t\t\t\t\t\t\t\tbutton-type=\"primary\"\n\t\t\t\t\t\t\t\t:is-upload=\"false\"\n\t\t\t\t\t\t\t\t:accept=\"['html']\"\n\t\t\t\t\t\t\t\t@change=\"handleFileUpload\">\n\t\t\t\t\t\t\t\t{{ $t('market.template.uploadHtml') }}\n\t\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<n-button type=\"primary\" ghost @click=\"handlePreview\">\n\t\t\t\t\t\t\t{{ $t('common.actions.preview') }}\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"flex-1 overflow-hidden\">\n\t\t\t\t\t\t<template v-if=\"form.add_type === 1\">\n\t\t\t\t\t\t\t<email-editor v-model:config=\"form.drag_data\" v-model:html=\"form.html_content\">\n\t\t\t\t\t\t\t</email-editor>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if=\"form.add_type === 0\">\n\t\t\t\t\t\t\t<bt-editor v-model:value=\"form.html_content\" language=\"html\"> </bt-editor>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { UploadFileInfo } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { addTemplate, updateTemplate } from '@/api/modules/market/template'\nimport type { Template } from '../interface'\n\nconst EmailEditor = defineAsyncComponent(() => import('@/features/EmailEditor/index.vue'))\n\nconst isEdit = ref(false)\n\nconst title = computed(() => {\n\treturn isEdit.value ? 'Edit template' : 'New template'\n})\n\nconst id = ref(0)\n\nconst form = reactive({\n\ttemp_name: '',\n\tadd_type: 0,\n\thtml_content: '',\n\tdrag_data: '',\n})\n\nconst typeOptions = [\n\t{ label: 'HTML', value: 0 },\n\t{ label: 'Drag', value: 1 },\n]\n\nconst typeLabel = computed(() => {\n\treturn typeOptions.find(item => item.value === form.add_type)?.label || ''\n})\n\nconst handleFileUpload = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.html_content = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst handlePreview = () => {\n\t// eslint-disable-next-line no-unused-vars\n\tconst state = modalApi.getState<{ preview: (content: string) => void }>()\n\tif (state.preview) {\n\t\tstate.preview(form.html_content)\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ isEdit: boolean; row: Template }>()\n\t\t\tconst { row } = state\n\t\t\tisEdit.value = state.isEdit\n\t\t\tif (row) {\n\t\t\t\tid.value = row.id\n\t\t\t\tform.temp_name = row.temp_name\n\t\t\t\tform.add_type = row.add_type\n\t\t\t\tform.html_content = row.html_content\n\t\t\t\tform.drag_data = row.drag_data\n\t\t\t}\n\t\t} else {\n\t\t\tid.value = 0\n\t\t\tform.temp_name = ''\n\t\t\tform.add_type = 0\n\t\t\tform.html_content = ''\n\t\t\tform.drag_data = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tif (isEdit.value) {\n\t\t\tawait updateTemplate({ id: id.value, ...toRaw(form) })\n\t\t} else {\n\t\t\tawait addTemplate(toRaw(form))\n\t\t}\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/market/template/components/TemplatePreview.vue",
    "content": "<template>\n\t<modal :title=\"$t('market.template.preview.title')\" width=\"820\" :footer=\"false\">\n\t\t<bt-preview :height=\"580\" :value=\"content\"></bt-preview>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useModal } from '@/hooks/modal/useModal'\n\nconst content = ref('')\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ html: string }>()\n\t\t\tcontent.value = state.html || ''\n\t\t}\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/market/template/edit.vue",
    "content": "<template>\n\t<div class=\"template-edit\">\n\t\t<n-breadcrumb class=\"mb-20px\">\n\t\t\t<n-breadcrumb-item>\n\t\t\t\t<router-link to=\"/market/template\">{{ $t('market.template.title') }}</router-link>\n\t\t\t</n-breadcrumb-item>\n\t\t\t<n-breadcrumb-item>{{ form.temp_name }}</n-breadcrumb-item>\n\t\t</n-breadcrumb>\n\t\t<bt-form class=\"template-form\" label-placement=\"top\">\n\t\t\t<n-form-item :label=\"$t('market.template.name')\">\n\t\t\t\t<div class=\"w-400px\">\n\t\t\t\t\t<n-input v-model:value=\"form.temp_name\"></n-input>\n\t\t\t\t</div>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item\n\t\t\t\tclass=\"editor-form-item\"\n\t\t\t\t:label=\"$t('market.template.content')\"\n\t\t\t\t:show-feedback=\"false\">\n\t\t\t\t<!-- Editor area -->\n\t\t\t\t<div class=\"editor-area\">\n\t\t\t\t\t<div class=\"mb-16px\">\n\t\t\t\t\t\t<bt-file-upload\n\t\t\t\t\t\t\tmode=\"button\"\n\t\t\t\t\t\t\t:is-upload=\"false\"\n\t\t\t\t\t\t\t:accept=\"['html']\"\n\t\t\t\t\t\t\t@change=\"handleFileUpload\">\n\t\t\t\t\t\t\t{{ $t('market.template.uploadHtml') }}\n\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- Editor -->\n\t\t\t\t\t<div class=\"flex-1 overflow-hidden\">\n\t\t\t\t\t\t<bt-editor v-model:value=\"form.content\" language=\"html\"></bt-editor>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- Preview area -->\n\t\t\t\t<n-card class=\"preview-area\" :content-style=\"{ display: 'flex', flexDirection: 'column' }\">\n\t\t\t\t\t<div class=\"preview-title\">{{ $t('common.actions.preview') }}</div>\n\t\t\t\t\t<div class=\"flex-1 overflow-hidden\">\n\t\t\t\t\t\t<bt-preview :value=\"form.content\"></bt-preview>\n\t\t\t\t\t</div>\n\t\t\t\t</n-card>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t\t<!-- Action buttons -->\n\t\t<div class=\"action-buttons\">\n\t\t\t<n-button type=\"primary\" @click=\"onEdit\">\n\t\t\t\t{{ $t('common.actions.save') }}\n\t\t\t</n-button>\n\t\t\t<n-button class=\"ml-16px\" secondary @click=\"onGoBack\">\n\t\t\t\t{{ $t('common.actions.back') }}\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { UploadFileInfo } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { getTemplateDetails } from '@/api/modules/market/template'\nimport type { Template } from './interface'\n\nconst route = useRoute()\n\nconst templateId = ref(`${route.params.id}`)\n\nconst form = reactive({\n\tid: 0,\n\ttemp_name: '',\n\tcontent: '',\n})\n\nconst handleFileUpload = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.content = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\n// Save\nconst onEdit = async () => {\n\t// await updateTemplate({\n\t// \tid: form.id,\n\t// \ttemp_name: form.temp_name,\n\t// \tcontent: form.content,\n\t// })\n}\n\nconst onGoBack = () => {\n\twindow.history.back()\n}\n\nconst getTemplateHtml = async () => {\n\tconst res = await getTemplateDetails({ id: templateId.value })\n\tif (isObject<Template>(res)) {\n\t\tform.id = res.id\n\t\tform.temp_name = res.temp_name\n\t\t// form.content = res.content\n\t}\n}\n\ngetTemplateHtml()\n</script>\n\n<style lang=\"scss\" scoped>\n.template-edit {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tpadding: 24px;\n\tpadding-bottom: 82px;\n\n\t// Make the form occupy the remaining space\n\t.template-form {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmin-height: 0; // Prevent overflow when flex container grows infinitely\n\t\tpadding-bottom: 24px;\n\t}\n\n\t// Make the form-item containing the editor occupy the remaining space of the form\n\t.editor-form-item {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmin-height: 0; // Prevent overflow\n\n\t\t// Important: Need to make the content wrapper of n-form-item also stretch\n\t\t// You may need to check the browser developer tools to determine the exact class name generated by Naive UI\n\t\t// Usually it's .n-form-item-blank or .n-form-item__content\n\t\t:deep(.n-form-item-blank) {\n\t\t\tflex: 1;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-items: start;\n\t\t\tmin-height: 0;\n\t\t}\n\n\t\t.editor-area,\n\t\t.preview-area {\n\t\t\twidth: 50%;\n\t\t\theight: 100%;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\t.editor-area {\n\t\t\tborder-right: 1px solid var(--color-border-1);\n\t\t\tpadding-right: 24px;\n\t\t}\n\n\t\t.preview-area {\n\t\t\tmargin-left: 24px;\n\t\t\t.preview-title {\n\t\t\t\tfont-size: 16px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tmargin-bottom: 16px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.action-buttons {\n\tposition: absolute;\n\tleft: 0;\n\tbottom: 0;\n\twidth: 100%;\n\tpadding: 23px 24px;\n\tbackground-color: var(--color-bg-1);\n\tborder-top: 1px solid var(--color-border-1);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/market/template/index.vue",
    "content": "<template>\n\t<div>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">\n\t\t\t\t\t{{ t('market.template.actions.add') }}\n\t\t\t\t</n-button>\n\t\t\t</template>\n\t\t\t<template #toolsRight>\n\t\t\t\t<bt-search\n\t\t\t\t\tv-model:value=\"tableParams.keyword\"\n\t\t\t\t\t:width=\"240\"\n\t\t\t\t\t:placeholder=\"t('market.template.search.namePlaceholder')\"\n\t\t\t\t\t@search=\"() => getTableData(true)\">\n\t\t\t\t</bt-search>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table :loading=\"loading\" :columns=\"columns\" :data=\"tableList\">\n\t\t\t\t\t<template #empty>\n\t\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t\t</template>\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page\n\t\t\t\t\tv-model:page=\"tableParams.page\"\n\t\t\t\t\tv-model:page-size=\"tableParams.page_size\"\n\t\t\t\t\t:item-count=\"tableTotal\"\n\t\t\t\t\t@refresh=\"getTableData\">\n\t\t\t\t</bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<form-modal />\n\t\t\t\t<preview-modal />\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex, NTag } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useTableData } from '@/hooks/useTableData'\nimport { confirm, formatTime } from '@/utils'\nimport { deleteTemplate, duplicateTemplate, getTemplateList } from '@/api/modules/market/template'\nimport type { Template, TemplateParams } from './interface'\n\n// import TemplateAdd from './components/TemplateAdd.vue'\nimport TemplateForm from './components/TemplateForm.vue'\nimport TemplatePreview from './components/TemplatePreview.vue'\n\nconst { t } = useI18n()\n\nconst { tableParams, tableList, loading, tableTotal, getTableData } = useTableData<\n\tTemplate,\n\tTemplateParams\n>({\n\tloading: true,\n\timmediate: true,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tkeyword: '',\n\t},\n\tfetchFn: getTemplateList,\n})\n\n// Table columns\nconst columns = ref<DataTableColumns<Template>>([\n\t{\n\t\tkey: 'temp_name',\n\t\ttitle: t('market.template.columns.name'),\n\t\tminWidth: 120,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\trender: row => (\n\t\t\t<NButton\n\t\t\t\ttype=\"primary\"\n\t\t\t\ttext\n\t\t\t\tonClick={() => {\n\t\t\t\t\thandleEdit(row)\n\t\t\t\t}}>\n\t\t\t\t{row.temp_name}\n\t\t\t</NButton>\n\t\t),\n\t},\n\t{\n\t\tkey: 'add_type',\n\t\ttitle: 'Type',\n\t\tminWidth: 140,\n\t\trender: row => {\n\t\t\tif (row.add_type === 1) {\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" bordered={false} type=\"primary\">\n\t\t\t\t\t\tDrag\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\t} else if (row.add_type === 0) {\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" bordered={false} type=\"info\">\n\t\t\t\t\t\tHTML\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\t},\n\t{\n\t\tkey: 'create_time',\n\t\ttitle: t('market.template.columns.createdAt'),\n\t\tminWidth: 140,\n\t\trender: row => formatTime(row.create_time),\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 240,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandlePreview(row.html_content)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.preview')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDuplicate(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('market.template.actions.duplicate')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: TemplateForm,\n\tstate: {\n\t\tisEdit: false,\n\t\trefresh: getTableData,\n\t\tpreview: (html: string) => {\n\t\t\thandlePreview(html)\n\t\t},\n\t},\n})\n\n// Handle add template\nconst handleAdd = () => {\n\tformModalApi.setState({ isEdit: false, row: null })\n\tformModalApi.open()\n}\n\n// Handle edit\nconst handleEdit = (row: Template) => {\n\tformModalApi.setState({ isEdit: true, row })\n\tformModalApi.open()\n}\n\nconst [PreviewModal, previewModalApi] = useModal({\n\tcomponent: TemplatePreview,\n})\n\n// Handle preview\nconst handlePreview = (html: string) => {\n\tpreviewModalApi.setState({ html })\n\tpreviewModalApi.open()\n}\n\n// Handle duplicate\nconst handleDuplicate = async (row: Template) => {\n\tawait duplicateTemplate({ id: row.id })\n\tgetTableData()\n}\n\n// Handle delete\nconst handleDelete = (row: Template) => {\n\tconfirm({\n\t\ttitle: t('market.template.delete.title'),\n\t\tcontent: t('market.template.delete.confirm', { name: row.temp_name }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteTemplate({ id: row.id })\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.template-container {\n\tpadding: 16px;\n\tbackground-color: #fff;\n\tborder-radius: 3px;\n\n\t.action-bar {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tmargin-bottom: 16px;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/market/template/interface.ts",
    "content": "export interface Template {\n\tid: number\n\ttemp_name: string\n\tadd_type: number\n\thtml_content: string\n\tdrag_data: string\n\tcreate_time: number\n\tupdate_time: number\n\tchat_id?:string\n}\n\nexport interface TemplateParams {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/overview/components/BarChart.vue",
    "content": "<template>\n\t<bt-charts :options=\"chartOptions\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useThemeVars } from 'naive-ui'\nimport { formatTime } from '@/utils'\n\nconst theme = useThemeVars()\n\nconst { dateType, chartData } = defineProps({\n\tdateType: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tchartData: {\n\t\ttype: Object as PropType<{\n\t\t\tfail: {\n\t\t\t\tlabel: string\n\t\t\t\tvalue: [string, number, string][]\n\t\t\t}\n\t\t\tsuccess: {\n\t\t\t\tlabel: string\n\t\t\t\tvalue: [string, number, string][]\n\t\t\t}\n\t\t}>,\n\t\trequired: true,\n\t},\n})\n\nconst chartOptions = computed(() => {\n\tconst { success, fail } = chartData\n\treturn {\n\t\tgrid: {\n\t\t\ttop: '16%',\n\t\t\tleft: '2%',\n\t\t\tright: '2%',\n\t\t\tbottom: '4%',\n\t\t\tcontainLabel: true,\n\t\t},\n\t\tlegend: {\n\t\t\ttop: 0,\n\t\t\titemGap: 16,\n\t\t\ticon: 'circle',\n\t\t\titemWidth: 10,\n\t\t\titemHeight: 10,\n\t\t\ttextStyle: {\n\t\t\t\tcolor: theme.value.textColor2,\n\t\t\t},\n\t\t\tdata: [success.label, fail.label],\n\t\t},\n\t\ttooltip: {\n\t\t\ttrigger: 'axis',\n\t\t\torder: 'seriesDesc',\n\t\t\taxisPointer: {\n\t\t\t\ttype: 'shadow',\n\t\t\t},\n\t\t},\n\t\txAxis: {\n\t\t\ttype: 'category',\n\t\t\taxisLabel: {\n\t\t\t\tformatter: (val: string) => {\n\t\t\t\t\tif (dateType === 'hourly') {\n\t\t\t\t\t\treturn formatTime(val, 'HH:mm')\n\t\t\t\t\t}\n\t\t\t\t\treturn formatTime(val, 'yyyy-MM-dd')\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tyAxis: {\n\t\t\ttype: 'value',\n\t\t\tboundaryGap: [0, '6%'],\n\t\t\tsplitLine: {\n\t\t\t\tshow: true,\n\t\t\t\tlineStyle: {\n\t\t\t\t\ttype: 'dashed',\n\t\t\t\t\twidth: 1,\n\t\t\t\t\tcolor: theme.value.borderColor,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tseries: [\n\t\t\t{\n\t\t\t\ttype: 'bar',\n\t\t\t\tname: fail.label,\n\t\t\t\tdata: fail.value,\n\t\t\t\tstack: 'total',\n\t\t\t\titemStyle: { color: '#1A519B' },\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'bar',\n\t\t\t\tname: success.label,\n\t\t\t\tdata: success.value,\n\t\t\t\tstack: 'total',\n\t\t\t\titemStyle: { color: '#91CC75' },\n\t\t\t},\n\t\t],\n\t}\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/overview/components/FilterBar.vue",
    "content": "<template>\n\t<div class=\"filter-bar\">\n\t\t<div class=\"w-260px\">\n\t\t\t<n-select v-model:value=\"domain\" :options=\"domainOptions\"></n-select>\n\t\t</div>\n\n\t\t<div class=\"date-filters\">\n\t\t\t<n-radio-group v-model:value=\"activeFilter\" @update:value=\"setFilter\">\n\t\t\t\t<n-radio-button value=\"today\">{{ $t('common.time.today') }}</n-radio-button>\n\t\t\t\t<n-radio-button value=\"yesterday\">{{ $t('common.time.yesterday') }}</n-radio-button>\n\t\t\t\t<n-radio-button value=\"last7days\">{{ $t('common.time.last7days') }}</n-radio-button>\n\t\t\t</n-radio-group>\n\t\t\t<div class=\"w-240px\">\n\t\t\t\t<n-date-picker\n\t\t\t\t\t:value=\"dateRange\"\n\t\t\t\t\ttype=\"daterange\"\n\t\t\t\t\t:is-date-disabled=\"dateDisabled\"\n\t\t\t\t\t@update:value=\"onDateRangeChange\">\n\t\t\t\t</n-date-picker>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { addDays, startOfDay, endOfDay } from 'date-fns'\nimport { getDayTimeRange, isArray } from '@/utils'\nimport { getDomainAll } from '@/api/modules/domain'\nimport { MailDomain } from '@/views/domain/interface'\n\nconst { t } = useI18n()\n\nconst domain = defineModel<string>('domain')\n\nconst dateRange = defineModel<[number, number]>('dateRange')\n\nconst domainOptions = ref([{ label: t('common.all.domain'), value: '' }])\n\nconst activeFilter = ref('today')\n\nconst dateDisabled = (ts: number) => {\n\tconst today = new Date()\n\tconst before = addDays(today, -30)\n\treturn startOfDay(before).getTime() > ts || endOfDay(today).getTime() < ts\n}\n\nconst setFilter = (filter: string) => {\n\tswitch (filter) {\n\t\tcase 'today':\n\t\t\tdateRange.value = getDayTimeRange()\n\t\t\tbreak\n\t\tcase 'yesterday':\n\t\t\tdateRange.value = getDayTimeRange(addDays(new Date(), -1))\n\t\t\tbreak\n\t\tcase 'last7days':\n\t\t\tdateRange.value = getLastSevenDaysRange()\n\t\t\tbreak\n\t}\n}\n\nconst getLastSevenDaysRange = (): [number, number] => {\n\tconst today = new Date()\n\tconst end = endOfDay(today)\n\tconst start = startOfDay(addDays(today, -6))\n\treturn [start.getTime(), end.getTime()]\n}\n\nconst onDateRangeChange = (val: [number, number]) => {\n\tactiveFilter.value = 'custom'\n\tdateRange.value = [startOfDay(val[0]).getTime(), endOfDay(val[1]).getTime()]\n}\n\nconst getDomainOptions = async () => {\n\tconst res = await getDomainAll()\n\tif (isArray<MailDomain>(res)) {\n\t\tdomainOptions.value = res.map(item => ({\n\t\t\tlabel: item.domain,\n\t\t\tvalue: item.domain,\n\t\t}))\n\t\tdomainOptions.value.unshift({ label: t('common.all.domain'), value: '' })\n\t}\n}\n\nonMounted(() => {\n\tgetDomainOptions()\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.filter-bar {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tmargin-bottom: 20px;\n}\n\n.date-filters {\n\tdisplay: flex;\n\tgap: 10px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/overview/components/LineChart.vue",
    "content": "<template>\n\t<div class=\"h-180px\">\n\t\t<bt-charts :options=\"chartOptions\" />\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { formatTime } from '@/utils'\nimport { useThemeVars } from 'naive-ui'\n\nconst { chartName, chartColor, dateType, chartData } = defineProps({\n\tchartName: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tchartColor: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tdateType: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\tchartData: {\n\t\ttype: Array as PropType<[string, number][]>,\n\t\trequired: true,\n\t},\n})\n\nconst theme = useThemeVars()\n\nconst chartOptions = computed(() => {\n\treturn {\n\t\ttooltip: {\n\t\t\ttrigger: 'axis',\n\t\t\torder: 'seriesDesc',\n\t\t\taxisPointer: {\n\t\t\t\ttype: 'shadow',\n\t\t\t},\n\t\t},\n\t\tgrid: {\n\t\t\ttop: '16%',\n\t\t\tleft: '2%',\n\t\t\tright: '2%',\n\t\t\tbottom: '2%',\n\t\t\tcontainLabel: true,\n\t\t},\n\t\txAxis: {\n\t\t\ttype: 'category',\n\t\t\taxisLabel: {\n\t\t\t\tformatter: (val: string) => {\n\t\t\t\t\tif (dateType === 'hourly') {\n\t\t\t\t\t\treturn formatTime(val, 'HH:mm')\n\t\t\t\t\t}\n\t\t\t\t\treturn formatTime(val, 'yyyy-MM-dd')\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tyAxis: {\n\t\t\tname: '%',\n\t\t\ttype: 'value',\n\t\t\tsplitLine: {\n\t\t\t\tshow: true,\n\t\t\t\tlineStyle: {\n\t\t\t\t\ttype: 'dashed',\n\t\t\t\t\twidth: 1,\n\t\t\t\t\tcolor: theme.value.borderColor,\n\t\t\t\t},\n\t\t\t},\n\t\t\tmax: () => {\n\t\t\t\treturn 100\n\t\t\t},\n\t\t},\n\t\tseries: [\n\t\t\t{\n\t\t\t\tname: chartName,\n\t\t\t\ttype: 'line',\n\t\t\t\tdata: chartData,\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: chartColor,\n\t\t\t\t},\n\t\t\t\tsmooth: false,\n\t\t\t\tshowSymbol: false,\n\t\t\t\tsampling: 'average',\n\t\t\t},\n\t\t],\n\t}\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/overview/components/MetricCard.vue",
    "content": "<template>\n\t<n-card class=\"metric-card\" :bordered=\"false\">\n\t\t<div class=\"title\">{{ title }}</div>\n\t\t<div class=\"value\" :style=\"{ color: textColor }\">{{ value }}{{ unit }}</div>\n\t</n-card>\n</template>\n\n<script setup lang=\"ts\">\ndefineProps({\n\ttitle: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\tvalue: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\tunit: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\ttextColor: {\n\t\ttype: String,\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.metric-card {\n\t--n-padding-top: 24px;\n\t--n-padding-bottom: 24px;\n\t--n-text-color: var(--color-card-text-1);\n}\n\n.title {\n\tmargin-bottom: 15px;\n\tfont-size: 18px;\n\tfont-weight: 400;\n}\n\n.value {\n\tfont-size: 20px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/overview/components/ProviderTable.vue",
    "content": "<template>\n\t<div class=\"provider-table\">\n\t\t<n-data-table :columns=\"columns\" :data=\"tableData\" :max-height=\"320\"> </n-data-table>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { DataTableColumns, NDataTable } from 'naive-ui'\nimport { MailProvider } from '../types'\n\nconst { t } = useI18n()\n\nconst tableData = defineModel<MailProvider[]>('value')\n\nconst getRate = (val: number) => {\n\treturn val >= 0 ? `${val}%` : '--'\n}\n\nconst columns = ref<DataTableColumns<MailProvider>>([\n\t{\n\t\tkey: 'mail_provider',\n\t\ttitle: t('overview.provider.mailProvider'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'delivery_rate',\n\t\ttitle: t('overview.provider.delivered'),\n\t\trender: row => {\n\t\t\treturn getRate(row.delivery_rate)\n\t\t},\n\t},\n\t{\n\t\tkey: 'open_rate',\n\t\ttitle: t('overview.provider.open'),\n\t\trender: row => {\n\t\t\treturn getRate(row.open_rate)\n\t\t},\n\t},\n\t{\n\t\tkey: 'click_rate',\n\t\ttitle: t('overview.provider.click'),\n\t\trender: row => {\n\t\t\treturn getRate(row.click_rate)\n\t\t},\n\t},\n\t{\n\t\tkey: 'bounce_rate',\n\t\ttitle: t('overview.provider.bounce'),\n\t\trender: row => {\n\t\t\treturn getRate(row.bounce_rate)\n\t\t},\n\t},\n])\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/overview/components/RateChartPanel.vue",
    "content": "<template>\n\t<n-card :title=\"$t('overview.rate.openRate')\">\n\t\t<line-chart\n\t\t\tchart-color=\"#1a519b\"\n\t\t\t:date-type=\"open.column_type\"\n\t\t\t:chart-name=\"$t('overview.rate.openRate')\"\n\t\t\t:chart-data=\"openRateData\">\n\t\t</line-chart>\n\t</n-card>\n\t<n-card :title=\"$t('overview.rate.clickRate')\">\n\t\t<line-chart\n\t\t\tchart-color=\"#1a519b\"\n\t\t\t:date-type=\"click.column_type\"\n\t\t\t:chart-name=\"$t('overview.rate.clickRate')\"\n\t\t\t:chart-data=\"clickRateData\">\n\t\t</line-chart>\n\t</n-card>\n\t<n-card :title=\"$t('overview.rate.bounceRate')\">\n\t\t<line-chart\n\t\t\tchart-color=\"#20a53a\"\n\t\t\t:date-type=\"bounce.column_type\"\n\t\t\t:chart-name=\"$t('overview.rate.bounceRate')\"\n\t\t\t:chart-data=\"bounceRateData\">\n\t\t</line-chart>\n\t</n-card>\n</template>\n\n<script setup lang=\"ts\">\nimport { PropType } from 'vue'\nimport { formatTime } from '@/utils'\nimport { MailOverview } from '../types'\n\nimport LineChart from './LineChart.vue'\n\nconst { open, click, bounce } = defineProps({\n\tbounce: {\n\t\ttype: Object as PropType<MailOverview['bounce_rate_chart']>,\n\t\trequired: true,\n\t},\n\tclick: {\n\t\ttype: Object as PropType<MailOverview['click_rate_chart']>,\n\t\trequired: true,\n\t},\n\topen: {\n\t\ttype: Object as PropType<MailOverview['open_rate_chart']>,\n\t\trequired: true,\n\t},\n})\n\nconst getChartTime = (type: string, x: number) => {\n\tlet date = new Date()\n\tlet format = ''\n\tif (type === 'hourly') {\n\t\tdate.setMinutes(0)\n\t\tdate.setSeconds(0)\n\t\tdate.setHours(x)\n\t\tformat = 'yyyy-MM-dd HH:mm'\n\t} else if (type === 'daily') {\n\t\tdate = new Date(x * 1000)\n\t\tformat = 'yyyy-MM-dd'\n\t}\n\treturn formatTime(date, format)\n}\n\nconst openRateData = computed(() => {\n\treturn open.data.map(item => {\n\t\treturn [getChartTime(open.column_type, item.x), item.open_rate] as [string, number]\n\t})\n})\n\nconst clickRateData = computed(() => {\n\treturn click.data.map(item => {\n\t\treturn [getChartTime(click.column_type, item.x), item.click_rate] as [string, number]\n\t})\n})\n\nconst bounceRateData = computed(() => {\n\treturn bounce.data.map(item => {\n\t\treturn [getChartTime(bounce.column_type, item.x), item.bounce_rate] as [string, number]\n\t})\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/overview/components/SendFailDetails.vue",
    "content": "<template>\n\t<modal :title=\"t('overview.sendFailDetails.title')\" :width=\"1000\" :footer=\"false\">\n\t\t<n-data-table\n\t\t\t:loading=\"loading\"\n\t\t\t:max-height=\"600\"\n\t\t\t:data=\"tableData\"\n\t\t\t:columns=\"columns\"\n\t\t\t:row-props=\"rowProps\">\n\t\t</n-data-table>\n\t</modal>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, DataTableCreateRowProps, NEllipsis } from 'naive-ui'\nimport { isArray } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getFailedList } from '@/api/modules/overview'\nimport type { Failed } from '../types'\n\nconst { t } = useI18n()\n\nconst loading = ref(false)\n\nconst tableData = ref<Failed[]>([])\n\nconst columns = ref<DataTableColumns<Failed>>([\n\t{\n\t\tkey: 'recipient',\n\t\ttitle: t('overview.sendFailDetails.columns.recipient'),\n\t\twidth: 160,\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NEllipsis\n\t\t\t\t\tclass={row.tooltip ? '' : 'break-all!'}\n\t\t\t\t\tline-clamp={row.tooltip ? 999 : 1}\n\t\t\t\t\ttooltip={false}>\n\t\t\t\t\t{row.recipient}\n\t\t\t\t</NEllipsis>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tkey: 'dsn',\n\t\ttitle: t('overview.sendFailDetails.columns.dsn'),\n\t\twidth: 60,\n\t},\n\t{\n\t\tkey: 'delay',\n\t\ttitle: t('overview.sendFailDetails.columns.delay'),\n\t\twidth: 70,\n\t},\n\t{\n\t\tkey: 'delays',\n\t\ttitle: t('overview.sendFailDetails.columns.delays'),\n\t\twidth: 150,\n\t},\n\t{\n\t\tkey: 'status',\n\t\ttitle: t('overview.sendFailDetails.columns.status'),\n\t\twidth: 100,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\trender: row => {\n\t\t\treturn row.status\n\t\t},\n\t},\n\t{\n\t\tkey: 'relay',\n\t\ttitle: t('overview.sendFailDetails.columns.relay'),\n\t\twidth: 200,\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NEllipsis\n\t\t\t\t\tclass={row.tooltip ? '' : 'break-all!'}\n\t\t\t\t\tline-clamp={row.tooltip ? 9999 : 1}\n\t\t\t\t\ttooltip={false}>\n\t\t\t\t\t{row.relay}\n\t\t\t\t</NEllipsis>\n\t\t\t)\n\t\t},\n\t},\n\n\t{\n\t\tkey: 'description',\n\t\ttitle: t('overview.sendFailDetails.columns.details'),\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NEllipsis\n\t\t\t\t\tclass={row.tooltip ? '' : 'break-all!'}\n\t\t\t\t\tline-clamp={row.tooltip ? 9999 : 1}\n\t\t\t\t\ttooltip={false}>\n\t\t\t\t\t{row.description}\n\t\t\t\t</NEllipsis>\n\t\t\t)\n\t\t},\n\t},\n])\n\nconst rowProps: DataTableCreateRowProps<Failed> = row => {\n\treturn {\n\t\tonMousemove: () => {\n\t\t\trow.tooltip = true\n\t\t},\n\t\tonMouseleave: () => {\n\t\t\trow.tooltip = false\n\t\t},\n\t}\n}\n\nconst getTableData = async (domain: string, startTime: number, endTime: number) => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getFailedList({\n\t\t\tdomain,\n\t\t\tstart_time: startTime / 1000,\n\t\t\tend_time: endTime / 1000,\n\t\t})\n\t\ttableData.value = isArray<Failed>(res) ? res : []\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ domain: string; startTime: number; endTime: number }>()\n\t\t\tgetTableData(state.domain, state.startTime, state.endTime)\n\t\t} else {\n\t\t\ttableData.value = []\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/overview/components/SendTodayStats.vue",
    "content": "<template>\n\t<div class=\"send-today-stats\">\n\t\t<div class=\"stats-header\">\n\t\t\t<div class=\"stat-item\">\n\t\t\t\t<div class=\"stat-label\">{{ $t('overview.send.successRate') }}</div>\n\t\t\t\t<div class=\"stat-value text-primary\">{{ successRate }}%</div>\n\t\t\t</div>\n\t\t\t<div class=\"stat-item\">\n\t\t\t\t<div class=\"stat-label\">{{ $t('overview.send.success') }}</div>\n\t\t\t\t<div class=\"stat-value text-primary\">{{ successCount }}</div>\n\t\t\t</div>\n\t\t\t<div class=\"stat-item\">\n\t\t\t\t<div class=\"stat-label\">{{ $t('overview.send.fail') }}</div>\n\t\t\t\t<div class=\"stat-value\">\n\t\t\t\t\t<n-button text type=\"error\" class=\"text-18px! font-bold\" @click=\"handleShowFail\">\n\t\t\t\t\t\t{{ failCount }}\n\t\t\t\t\t</n-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"flex-1 min-h-180px\">\n\t\t\t<bar-chart :date-type=\"data.column_type\" :chart-data=\"barChartData\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { PropType } from 'vue'\nimport { formatTime } from '@/utils'\nimport type { SendMail } from '../types'\n\nimport BarChart from './BarChart.vue'\n\nconst { data } = defineProps({\n\tdata: {\n\t\ttype: Object as PropType<SendMail>,\n\t\trequired: true,\n\t},\n})\n\nconst emit = defineEmits<{\n\tshowFail: []\n}>()\n\nconst { t } = useI18n()\n\nconst successRate = computed(() => {\n\treturn data.dashboard.delivery_rate\n})\n\nconst successCount = computed(() => {\n\treturn data.dashboard.delivered\n})\n\nconst failCount = computed(() => {\n\treturn data.dashboard.failed\n})\n\nconst handleShowFail = () => {\n\temit('showFail')\n}\n\nconst getChartTime = (type: string, x: number) => {\n\tlet date = new Date()\n\tlet format = ''\n\tif (type === 'hourly') {\n\t\tdate.setMinutes(0)\n\t\tdate.setSeconds(0)\n\t\tdate.setHours(x)\n\t\tformat = 'yyyy-MM-dd HH:mm'\n\t} else if (type === 'daily') {\n\t\tdate = new Date(x * 1000)\n\t\tformat = 'yyyy-MM-dd'\n\t}\n\treturn formatTime(date, format)\n}\n\n// 柱状图数据\nconst barChartData = computed(() => {\n\tconst failList: [string, number, string][] = []\n\tconst successList: [string, number, string][] = []\n\n\tdata.data.forEach(item => {\n\t\tfailList.push([getChartTime(data.column_type, item.x), item.failed, data.column_type])\n\t\tsuccessList.push([getChartTime(data.column_type, item.x), item.delivered, data.column_type])\n\t})\n\n\treturn {\n\t\tfail: {\n\t\t\tlabel: t('overview.send.sendFail'),\n\t\t\tvalue: failList,\n\t\t},\n\t\tsuccess: {\n\t\t\tlabel: t('overview.send.sendSuccess'),\n\t\t\tvalue: successList,\n\t\t},\n\t}\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.send-today-stats {\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n}\n\n.stats-header {\n\tdisplay: flex;\n\tjustify-content: space-around;\n\tmargin-bottom: 20px;\n\n\t.stat-item {\n\t\ttext-align: center;\n\t}\n\n\t.stat-label {\n\t\tfont-size: 14px;\n\t\tcolor: var(--color-text-2);\n\t\tmargin-bottom: 5px;\n\t}\n\n\t.stat-value {\n\t\tfont-size: 18px;\n\t\tfont-weight: bold;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/overview/index.vue",
    "content": "<template>\n\t<div class=\"email-analytics-container\">\n\t\t<div class=\"bt-title\">{{ t('layout.menu.overview') }}</div>\n\t\t<!-- Top Filter Area -->\n\t\t<filter-bar\n\t\t\tv-model:domain=\"domain\"\n\t\t\tv-model:date-range=\"dateRange\"\n\t\t\t@update:domain=\"handleDataUpdate\"\n\t\t\t@update:date-range=\"handleDataUpdate\">\n\t\t</filter-bar>\n\n\t\t<!-- Main Metric Cards -->\n\t\t<div class=\"metrics-cards\">\n\t\t\t<metric-card\n\t\t\t\tv-for=\"(item, key) in rateData\"\n\t\t\t\t:key=\"key\"\n\t\t\t\t:title=\"item.label\"\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:unit=\"item.unit\">\n\t\t\t</metric-card>\n\t\t\t<metric-card\n\t\t\t\tclass=\"cursor-pointer\"\n\t\t\t\t:title=\"$t('overview.delayedQueue')\"\n\t\t\t\t:value=\"delayedQueue\"\n\t\t\t\t:text-color=\"delayedQueue > 0 ? theme.warningColor : ''\"\n\t\t\t\t@click=\"onClickDelayedQueue\">\n\t\t\t</metric-card>\n\t\t</div>\n\n\t\t<!-- Data Details Area -->\n\t\t<div class=\"detail-row\">\n\t\t\t<!-- Left: Mail Provider Table -->\n\t\t\t<n-card class=\"provider-table-card\" :title=\"$t('overview.mailProviders')\">\n\t\t\t\t<provider-table v-model:value=\"providers\" />\n\t\t\t</n-card>\n\n\t\t\t<!-- Right: Today's Sending Statistics -->\n\t\t\t<n-card class=\"send-today-card\" :title=\"$t('overview.sendStats')\">\n\t\t\t\t<send-today-stats :data=\"sendMail\" @show-fail=\"handleShowFail\" />\n\t\t\t</n-card>\n\t\t</div>\n\n\t\t<!-- Bottom Rate Charts Area -->\n\t\t<div class=\"rate-charts-card\">\n\t\t\t<rate-chart-panel :bounce=\"bounceRate\" :click=\"clickRate\" :open=\"openRate\" />\n\t\t</div>\n\n\t\t<fail-modal />\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useDebounceFn } from '@vueuse/core'\nimport { useThemeVars } from 'naive-ui'\nimport { getDayTimeRange, isArray, isObject } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getOverviewInfo } from '@/api/modules/overview'\nimport type { MailOverview, MailProvider, RateData } from './types'\n\nimport FilterBar from './components/FilterBar.vue'\nimport MetricCard from './components/MetricCard.vue'\nimport ProviderTable from './components/ProviderTable.vue'\nimport SendTodayStats from './components/SendTodayStats.vue'\nimport RateChartPanel from './components/RateChartPanel.vue'\nimport SendFailDetails from './components/SendFailDetails.vue'\n\nconst { t } = useI18n()\n\nconst theme = useThemeVars()\n\nconst domain = ref('')\n\nconst dateRange = ref(getDayTimeRange())\n\nconst providers = ref<MailProvider[]>([])\n\nconst rateData = reactive<RateData>({\n\tdelivery_rate: { label: t('overview.delivered'), value: 0, unit: '%' },\n\topen_rate: { label: t('overview.opened'), value: 0, unit: '%' },\n\tclick_rate: { label: t('overview.clicked'), value: 0, unit: '%' },\n\tbounce_rate: { label: t('overview.bounced'), value: 0, unit: '%' },\n})\n\nconst delayedQueue = ref(0)\n\nconst sendMail = ref<MailOverview['send_mail_chart']>({\n\tcolumn_type: 'hourly',\n\tdashboard: {\n\t\tdelivered: 0,\n\t\tdelivery_rate: 0,\n\t\tfailed: 0,\n\t\tfailure_rate: 0,\n\t\tsends: 0,\n\t},\n\tdata: [],\n})\n\nconst bounceRate = ref<MailOverview['bounce_rate_chart']>({\n\tcolumn_type: 'hourly',\n\tdata: [],\n})\n\nconst clickRate = ref<MailOverview['click_rate_chart']>({\n\tcolumn_type: 'hourly',\n\tdata: [],\n})\n\nconst openRate = ref<MailOverview['open_rate_chart']>({\n\tcolumn_type: 'hourly',\n\tdata: [],\n})\n\nconst router = useRouter()\n\nconst onClickDelayedQueue = () => {\n\trouter.push('/settings/send-queue')\n}\n\nconst [FailModal, failModalApi] = useModal({\n\tcomponent: SendFailDetails,\n})\n\nconst handleShowFail = () => {\n\tfailModalApi.setState({\n\t\tdomain: domain.value,\n\t\tstartTime: dateRange.value[0],\n\t\tendTime: dateRange.value[1],\n\t})\n\tfailModalApi.open()\n}\n\n// Function to handle data update\nconst handleDataUpdate = useDebounceFn(fetchOverviewData, 300)\n\n// Function to update rate data\nconst updateRateData = (dashboard: MailOverview['dashboard']) => {\n\tObject.entries(dashboard).forEach(([key, value]) => {\n\t\tif (key in rateData) {\n\t\t\trateData[key].value = value\n\t\t}\n\t})\n\tdelayedQueue.value = dashboard.delayed_queue\n}\n\n// Function to fetch overview data\nasync function fetchOverviewData() {\n\tconst res = await getOverviewInfo({\n\t\tdomain: domain.value,\n\t\tstart_time: Math.floor(dateRange.value[0] / 1000),\n\t\tend_time: Math.floor(dateRange.value[1] / 1000),\n\t})\n\n\tif (isObject<MailOverview>(res)) {\n\t\tupdateRateData(res.dashboard)\n\n\t\tproviders.value = isArray(res.mail_providers) ? res.mail_providers : []\n\t\tsendMail.value = res.send_mail_chart\n\t\tbounceRate.value = res.bounce_rate_chart\n\t\tclickRate.value = res.click_rate_chart\n\t\topenRate.value = res.open_rate_chart\n\t}\n}\n\nonMounted(() => {\n\tfetchOverviewData()\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.email-analytics-container {\n\tpadding: 20px;\n}\n\n.metrics-cards {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tgap: 20px;\n\tmargin-bottom: 20px;\n}\n\n.detail-row {\n\tdisplay: flex;\n\tgap: 20px;\n\tmargin-bottom: 20px;\n\n\t.provider-table-card,\n\t.send-today-card {\n\t\tflex: 1;\n\t}\n}\n\n.rate-charts-card {\n\tdisplay: flex;\n\tgap: 20px;\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/overview/types/index.ts",
    "content": "export type MailOverview = {\n\tdashboard: MailDashboard\n\tmail_providers: MailProvider[]\n\tsend_mail_chart: SendMail\n\topen_rate_chart: MailRateChart<OpenRateData>\n\tclick_rate_chart: MailRateChart<ClickRateData>\n\tbounce_rate_chart: MailRateChart<BounceRateData>\n}\n\nexport type MailDashboard = {\n\tbounce_rate: number\n\tbounced: number\n\tclick_rate: number\n\tclicked: number\n\tdelivered: number\n\tdelivery_rate: number\n\topen_rate: number\n\topened: number\n\tsends: number\n\tdelayed_queue: number\n}\n\nexport type MailProvider = {\n\tbounce_rate: number\n\tbounced: number\n\tclick_rate: number\n\tclicked: number\n\tdelivered: number\n\tdelivery_rate: number\n\tmail_provider: string\n\topen_rate: number\n\topened: number\n\tsends: number\n}\n\nexport type SendMail = {\n\tcolumn_type: string\n\tdashboard: {\n\t\tdelivered: number\n\t\tdelivery_rate: number\n\t\tfailed: number\n\t\tfailure_rate: number\n\t\tsends: number\n\t}\n\tdata: SendMailData[]\n}\n\nexport type SendMailData = {\n\tdelivered: number\n\tfailed: number\n\tsends: number\n\tx: number\n}\n\nexport type MailRateChart<T> = {\n\tcolumn_type: string\n\tdata: T[]\n}\n\nexport type ClickRateData = {\n\tclick_rate: number\n\tx: number\n}\n\nexport type BounceRateData = {\n\tbounce_rate: number\n\tx: number\n}\n\nexport type OpenRateData = {\n\topen_rate: number\n\tx: number\n}\n\n// 定义rate类型\ninterface RateItem {\n\tlabel: string\n\tvalue: number\n\tunit: string\n}\n\n// 定义rate数据\nexport type RateData = Record<string, RateItem>\n\nexport type Failed = {\n\tpostfix_message_id: string\n\tsender: string\n\trecipient: string\n\tstatus: string\n\tdsn: string\n\trelay: string\n\tdescription: string\n\tdelay: string\n\tdelays: string\n\tlog_time: string\n\ttooltip: boolean\n}\n"
  },
  {
    "path": "core/frontend/src/views/settings/ai-model/components/AddModel.vue",
    "content": "<template>\n\t<n-modal v-model:show=\"show\" preset=\"card\" draggable :close-on-esc=\"false\" :mask-closable=\"false\" title=\"Add Model\"\n\t\tclass=\"w-100\">\n\t\t<n-form ref=\"addModelFormRef\" :model=\"addModelFormData\" :rules=\"rules\">\n\t\t\t<n-form-item :label=\"$t('settings.aiModel.modelId')\" path=\"modelId\">\n\t\t\t\t<n-input v-model:value=\"addModelFormData.modelId\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('settings.aiModel.modelAlias')\" path=\"title\">\n\t\t\t\t<n-input v-model:value=\"addModelFormData.title\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('settings.aiModel.modelFeature')\" path=\"capability\">\n\t\t\t\t<n-select v-model:value=\"addModelFormData.capability\" :options=\"modelCapabilitiesExclude\" multiple>\n\t\t\t\t</n-select>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('settings.aiModel.contentLength')\" path=\"max_tokens\">\n\t\t\t\t<n-input-number v-model:value=\"addModelFormData.max_tokens\" :min=\"1\" class=\"w-100%\"></n-input-number>\n\t\t\t</n-form-item>\n\t\t</n-form>\n\t\t<template #footer>\n\t\t\t<div class=\"flex justify-end gap-5\">\n\t\t\t\t<n-button @click=\"close\">Cancel</n-button>\n\t\t\t\t<n-button type=\"primary\" @click=\"confirmAddModel(store)\">Confirm</n-button>\n\t\t\t</div>\n\t\t</template>\n\t</n-modal>\n</template>\n\n<script setup lang=\"ts\">\nimport type { SelectOption } from 'naive-ui'\nimport { ModelStore } from '../dto'\nimport { confirmAddModel } from '../controller'\nconst store = inject<ModelStore>('modelStore')!\nconst { addModelFormData, addModelFormRef } = store\nconst show = ref(false)\nconst modelCapabilities: SelectOption[] = [\n\t{\n\t\tlabel: 'llm',\n\t\tvalue: 'llm',\n\t},\n\t{\n\t\tlabel: 'vision',\n\t\tvalue: 'vision',\n\t},\n\t{\n\t\tlabel: 'tools',\n\t\tvalue: 'tools',\n\t},\n\t{\n\t\tlabel: 'text-to-image',\n\t\tvalue: 'text-to-image',\n\t},\n]\n\nconst modelCapabilitiesExclude = computed(() => {\n\tif (addModelFormData.value.capability.includes(\"llm\") || addModelFormData.value.capability.includes(\"vision\") || addModelFormData.value.capability.includes(\"tools\")) {\n\t\treturn modelCapabilities.map(item=>{\n\t\t\tif(item.value === \"text-to-image\"){\n\t\t\t\treturn {\n\t\t\t\t\t...item,\n\t\t\t\t\tdisabled: true\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\treturn item\n\t\t\t}\n\t\t})\n\t}\n\n\tif(addModelFormData.value.capability.includes(\"text-to-image\")){\n\t\treturn modelCapabilities.map(item=>{\n\t\t\tif(item.value === \"text-to-image\"){\n\t\t\t\treturn {\n\t\t\t\t\t...item,\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\treturn {\n\t\t\t\t\t...item,\n\t\t\t\t\tdisabled: true\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\treturn modelCapabilities\n})\n\nconst rules = {\n\tmodelId: [{ required: true, message: 'modelId is required', trigger: 'blur' }],\n\ttitle: [{ required: true, message: 'title is required', trigger: 'blur' }],\n\tcapability: [\n\t\t{\n\t\t\tvalidator(_: any, value: any) {\n\t\t\t\tif (value.length) {\n\t\t\t\t\treturn true\n\t\t\t\t} else {\n\t\t\t\t\treturn new Error('capability is required')\n\t\t\t\t}\n\t\t\t},\n\t\t\ttrigger: 'blur',\n\t\t},\n\t],\n\tmax_tokens: [\n\t\t{\n\t\t\tvalidator(_: any, value: any) {\n\t\t\t\tif (value) {\n\t\t\t\t\treturn true\n\t\t\t\t} else {\n\t\t\t\t\treturn new Error('max_tokens is required')\n\t\t\t\t}\n\t\t\t},\n\t\t\ttrigger: 'blur',\n\t\t},\n\t],\n}\n\n/***\n * @description Open modal\n */\nfunction open() {\n\tshow.value = true\n}\n\n/**\n * @description Close  modal\n */\nfunction close() {\n\tshow.value = false\n\taddModelFormData.value.capability = [\"llm\"]\n\taddModelFormData.value.max_tokens = 8192\n\taddModelFormData.value.modelId = ''\n\taddModelFormData.value.title = ''\n}\n\ndefineExpose({\n\topen,\n\tclose,\n})\n</script>\n\n<style scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/ai-model/components/AddProvider.vue",
    "content": "<template>\n\t<n-modal\n\t\tv-model:show=\"show\"\n\t\tpreset=\"card\"\n\t\t:close-on-esc=\"false\"\n\t\t:mask-closable=\"false\"\n\t\tdraggable\n\t\tclass=\"w-150\"\n\t\ttitle=\"Add Provider\">\n\t\t<n-form ref=\"addProviderFormDataRef\" :model=\"addProviderFormData\" :rules=\"rules\">\n\t\t\t<n-form-item :label=\"$t('settings.aiModel.supplierTitle')\" path=\"supplierTitle\">\n\t\t\t\t<n-input v-model:value=\"addProviderFormData.supplierTitle\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('settings.aiModel.supplierName')\" path=\"supplierName\">\n\t\t\t\t<n-input v-model:value=\"addProviderFormData.supplierName\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item label=\"BaseURL\" path=\"baseUrl\">\n\t\t\t\t<n-input v-model:value=\"addProviderFormData.baseUrl\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item label=\"ApiKey\" path=\"apiKey\">\n\t\t\t\t<n-input v-model:value=\"addProviderFormData.apiKey\"></n-input>\n\t\t\t</n-form-item>\n\t\t</n-form>\n\t\t<template #footer>\n\t\t\t<div class=\"flex justify-end gap-5\">\n\t\t\t\t<n-button>Cancel</n-button>\n\t\t\t\t<n-button type=\"primary\" @click=\"confirmAddProvider(store)\">Confirm</n-button>\n\t\t\t</div>\n\t\t</template>\n\t</n-modal>\n</template>\n\n<script setup lang=\"ts\">\nimport { confirmAddProvider } from '../controller'\nimport { ModelStore } from '../dto'\nconst store = inject<ModelStore>('modelStore')!\nconst { addProviderFormData, addProviderFormDataRef } = store\nconst show = ref(false)\nconst rules = {\n\tsupplierTitle: [{ required: true, message: 'supplierTitle is required', trigger: 'blur' }],\n\tsupplierName: [{ required: true, message: 'supplierName is required', trigger: 'blur' }],\n\tbaseUrl: [{ required: true, message: 'baseUrl is required', trigger: 'blur' }],\n\tapiKey: [{ required: true, message: 'apiKey is required', trigger: 'blur' }],\n}\n\n/**\n * @description Open modal\n */\nfunction open() {\n\tshow.value = true\n}\n\n/**\n * @description Close modal\n */\nfunction close() {\n\tshow.value = false\n}\n\ndefineExpose({\n\topen,\n\tclose,\n})\n</script>\n\n<style scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/ai-model/components/ModelManager.vue",
    "content": "<template>\n\t<!-- <n-modal preset=\"card\" draggable :close-on-esc=\"false\" :mask-closable=\"false\" title=\"Model manager\"\n        class=\"w-180 customer-modal\" segmented v-model:show=\"show\"> -->\n\t<div class=\"manager-wrapper\">\n\t\t<!-- Provider list -->\n\t\t<div class=\"left-provider\">\n\t\t\t<div class=\"provider-list\">\n\t\t\t\t<div v-for=\"item in providerList\" :key=\"item.supplierName\"\n\t\t\t\t\t:class=\"['provider-item', { active: item.supplierName == currentProvider?.supplierName }]\"\n\t\t\t\t\t@click=\"getModelListBySupplier(item)\">\n\t\t\t\t\t<div class=\"item-icon\">\n\t\t\t\t\t\t<n-image v-if=\"item.icon\" :src=\"item.icon\" height=\"24\" width=\"24\"></n-image>\n\t\t\t\t\t\t<i v-else class=\"i-ai:big-model w-6.5 h-6.5\"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"tit\">{{ item.supplierTitle[0].toUpperCase() + item.supplierTitle.slice(1) }}</span>\n\t\t\t\t\t<span :class=\"['status', { active: item.status }]\"></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"add-privider\">\n\t\t\t\t<n-button @click=\"handleAddProvider\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<i class=\"i-ic:baseline-add-circle\"></i>\n\t\t\t\t\t</template>\n\t\t\t\t\tAdd model service provider\n\t\t\t\t</n-button>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Configuration -->\n\t\t<n-spin :show=\"configurationLoading\">\n\t\t\t<div class=\"right-configuration\">\n\t\t\t\t<div class=\"top-switch\">\n\t\t\t\t\t<div class=\"switch-info\">\n\t\t\t\t\t\t<!-- <i class=\"i-ic:baseline-error text-5\"></i> -->\n\t\t\t\t\t\t<span class=\"tit\">{{ currentProvider.supplierName ? currentProvider.supplierName[0].toUpperCase()\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t\tcurrentProvider.supplierName.slice(1):\"\" }}</span>\n\t\t\t\t\t\t<n-switch v-model:value=\"currentProvider.status\"\n\t\t\t\t\t\t\t@update:value=\"status => changeProviderStatus(status, modelStore)\"></n-switch>\n\t\t\t\t\t</div>\n\t\t\t\t\t<i class=\"i-ri:delete-bin-3-line text-5.5 hover:text-red-5 cursor-pointer\"\n\t\t\t\t\t\t@click=\"removeProvider(modelStore)\"></i>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"center-api\">\n\t\t\t\t\t<n-form class=\"mt-15px\">\n\t\t\t\t\t\t<n-form-item :label=\"$t('settings.aiModel.aPIKey')\">\n\t\t\t\t\t\t\t<div class=\"w-100%\">\n\t\t\t\t\t\t\t\t<n-input-group>\n\t\t\t\t\t\t\t\t\t<n-input v-model:value=\"currentProvider.apiKey\"></n-input>\n\t\t\t\t\t\t\t\t\t<n-button @click=\"checkProviderApiConfiguration(modelStore)\">{{$t(\"settings.aiModel.check\")}}</n-button>\n\t\t\t\t\t\t\t\t</n-input-group>\n\t\t\t\t\t\t\t\t<n-button text type=\"info\" class=\"mt-5px\"\n\t\t\t\t\t\t\t\t\t@click=\"getProviderConfiguration(modelStore)\">{{$t(\"settings.aiModel.getKey\")}}</n-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t\t<n-form-item :label=\"$t('settings.aiModel.apiPath')\">\n\t\t\t\t\t\t\t<div class=\"w-100%\">\n\t\t\t\t\t\t\t\t<n-input v-model:value=\"currentProvider.baseUrl\"></n-input>\n\t\t\t\t\t\t\t\t<span class=\"text-[var(--color-text-3)] mt-5\">{{$t(\"settings.aiModel.example\")}}: https://api.deepseek.com/v1</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</n-form-item>\n\t\t\t\t\t</n-form>\n\t\t\t\t\t<n-button type=\"primary\" @click=\"setProviderConfiguration(modelStore)\">{{$t(\"settings.aiModel.saveAPI\")}}</n-button>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bottom-model-list\">\n\t\t\t\t\t<div class=\"header-tit\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<span class=\"tit\">{{$t(\"settings.aiModel.model\")}}</span>\n\t\t\t\t\t\t\t<span class=\"sub-tit\">{{$t(\"settings.aiModel.byDefault\")}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"add-model\" @click=\"handleAddModel\">\n\t\t\t\t\t\t\t<i class=\"i-ic:baseline-control-point text-4\"></i>\n\t\t\t\t\t\t\t<span class=\"tit\">{{$t(\"settings.aiModel.addModel\")}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-for=\"item in modelList\" :key=\"item.title\" class=\"model-list\">\n\t\t\t\t\t\t<div class=\"model-item\">\n\t\t\t\t\t\t\t<!-- <i class=\"i-ic:round-check-circle-outline text-5\"></i> -->\n\t\t\t\t\t\t\t<span class=\"model-name\">{{ item.title }}</span>\n\t\t\t\t\t\t\t<div class=\"operation\">\n\t\t\t\t\t\t\t\t<n-switch v-model:value=\"item.status\" @update:value=\"\n\t\t\t\t\t\t\t\t\tstatus => setModelStatus(item, status, modelStore)\n\t\t\t\t\t\t\t\t\"></n-switch>\n\t\t\t\t\t\t\t\t<i class=\"i-material-symbols:delete-outline text-5\" @click=\"removeModel(item,modelStore)\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-spin>\n\t</div>\n\n\t<!-- Add Provider -->\n\t<AddProvider ref=\"addProviderRef\" />\n\n\t<!-- Add Model -->\n\t<AddModel ref=\"addModelRef\" />\n</template>\n\n<script setup lang=\"ts\">\nimport AddProvider from './AddProvider.vue'\nimport AddModel from './AddModel.vue'\nimport { ModelStore, Provider } from '../dto'\nimport {\n\tgetModelList,\n\tgetProviderList,\n\tgetProviderConfiguration,\n\tchangeProviderStatus,\n\tcheckProviderApiConfiguration,\n\tsetProviderConfiguration,\n\tsetModelStatus,\n\tremoveProvider,\n\tremoveModel\n} from '../controller'\nconst modelStore = inject<ModelStore>('modelStore')!\nconst {\n\tproviderList,\n\tmodelList,\n\tcurrentProvider,\n\tconfigurationLoading,\n\taddProviderRef,\n\taddModelRef,\n} = modelStore\ngetProviderList(modelStore)\n\n/**\n * @description Get model list\n */\nfunction getModelListBySupplier(provider: Provider) {\n\tcurrentProvider.value = provider\n\tgetModelList(provider.supplierName, modelStore)\n}\n\n/**\n * @description Handle add provider\n */\nfunction handleAddProvider() {\n\taddProviderRef.value.open()\n}\n\n/**\n * @description Handle add  model\n */\nfunction handleAddModel() {\n\taddModelRef.value.open()\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index.scss' as base;\n\n.manager-wrapper {\n\t// height: 480px;\n\tdisplay: grid;\n\tgrid-template-columns: 230px 1fr;\n\t/* border-top: 1px solid var(--color-border-2);\n        border-bottom: 1px solid var(--color-border-2); */\n\n\t.left-provider {\n\t\theight: 100%;\n\t\tdisplay: grid;\n\t\tgrid-template-rows: 1fr 60px;\n\t\tborder-right: 1px solid var(--color-border-2);\n\n\t\t.provider-list {\n\t\t\t@include base.col-flex;\n\t\t\tgap: 0;\n\n\t\t\t.provider-item {\n\t\t\t\theight: 50px;\n\t\t\t\twidth: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding-left: 10px;\n\t\t\t\tborder-bottom: 1px solid var(--color-border-1);\n\t\t\t\t@include base.row-flex-start;\n\t\t\t\tgap: 5px;\n\t\t\t\talign-items: center;\n\t\t\t\ttransition: 0.15s all ease-in-out;\n\t\t\t\tcursor: pointer;\n\n\t\t\t\t.tit {\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: var(--color-primary-2);\n\t\t\t\t}\n\n\t\t\t\t&.active {\n\t\t\t\t\tbackground: var(--color-primary-2);\n\t\t\t\t}\n\n\t\t\t\t.item-icon {\n\t\t\t\t\twidth: 32px;\n\t\t\t\t\t@include base.row-flex-center;\n\t\t\t\t}\n\n\t\t\t\t.status {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\twidth: 8px;\n\t\t\t\t\theight: 8px;\n\t\t\t\t\tbackground: var(--color-text-3);\n\t\t\t\t\tborder-radius: 50%;\n\n\t\t\t\t\t&.active {\n\t\t\t\t\t\tbackground: var(--color-primary-1)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.add-privider {\n\t\t\t@include base.row-flex-center;\n\t\t}\n\t}\n\n\t.right-configuration {\n\t\tpadding: 0 15px 15px;\n\n\t\t.top-switch {\n\t\t\theight: 50px;\n\t\t\t@include base.row-flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\tborder-bottom: 1px solid var(--color-border-2);\n\n\t\t\t.switch-info {\n\t\t\t\t@include base.row-flex-start;\n\t\t\t\talign-items: center;\n\t\t\t\tgap: 5px;\n\n\t\t\t\t.tit {\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.center-api {\n\t\t\tpadding-bottom: 15px;\n\t\t\tborder-bottom: 1px solid var(--color-border-2);\n\t\t}\n\n\t\t.bottom-model-list {\n\t\t\tmargin-top: 15px;\n\n\t\t\t.header-tit {\n\t\t\t\t@include base.row-flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\tmargin-bottom: 15px;\n\n\t\t\t\t.tit {\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tmargin-right: 5px;\n\t\t\t\t}\n\n\t\t\t\t.sub-tit {\n\t\t\t\t\tcolor: var(--color-text-3);\n\t\t\t\t}\n\n\t\t\t\t.add-model {\n\t\t\t\t\t@include base.row-flex-start;\n\t\t\t\t\tgap: 5px;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tcursor: pointer;\n\n\t\t\t\t\t.tit {\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.model-list {\n\t\t\t\t@include base.col-flex;\n\t\t\t\tjustify-content: flex-start;\n\n\t\t\t\t.model-item {\n\t\t\t\t\t@include base.row-flex;\n\t\t\t\t\tjustify-content: space-between;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tpadding: 10px 5px;\n\t\t\t\t\ttransition: 0.15s all ease-in-out;\n\t\t\t\t\tcursor: pointer;\n\n\t\t\t\t\ti.active {\n\t\t\t\t\t\tcolor: var(--color-primary-1);\n\t\t\t\t\t}\n\n\t\t\t\t\t.model-name {\n\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbackground: #eef9ee;\n\t\t\t\t\t}\n\n\t\t\t\t\t.operation {\n\t\t\t\t\t\t@include base.row-flex-start;\n\t\t\t\t\t\tgap: 10px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n\n<style>\n.customer-modal {\n\t.n-card__content {\n\t\tpadding: 0 !important;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/ai-model/controller/index.ts",
    "content": "import { instance } from '@/api'\nimport { Model, ModelStore, Provider } from '../dto'\nimport { confirm } from '@/utils'\nexport const instanceOptions = {\n\tfetchOptions: {\n\t\tloading: 'Loading... Please wait.',\n\t\tsuccessMessage: true,\n\t},\n}\n\n/**\n * @description Get provider list\n */\nexport async function getProviderList(modelStore: ModelStore) {\n\tconst { providerList, currentProvider } = modelStore\n\ttry {\n\t\tconst res = (await instance.post('/askai/supplier/list')) as Provider[]\n\t\tproviderList.value = res\n\t\tif (res.length) {\n\t\t\tcurrentProvider.value = res[0]\n\t\t\tawait getModelList(currentProvider.value.supplierName, modelStore)\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Get model list\n */\nexport async function getModelList(supplierName: string, modelStore: ModelStore) {\n\tconst { modelList, configurationLoading } = modelStore\n\ttry {\n\t\tconfigurationLoading.value = true\n\t\tconst res = (await instance.post('/askai/supplier/models', { supplierName })) as Model[]\n\t\tmodelList.value = res\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t} finally {\n\t\tconfigurationLoading.value = false\n\t}\n}\n\n/***\n * @description Confirm add provider\n */\nexport async function confirmAddProvider(modelStore: ModelStore) {\n\tconst { addProviderFormData, addProviderFormDataRef, addProviderRef } = modelStore\n\ttry {\n\t\tconst checkStatus = await checkProviderConfig(modelStore)\n\t\tif (!checkStatus) return false\n\t\tawait addProviderFormDataRef.value?.validate()\n\t\tawait instance.post('/askai/supplier/add_supplier', addProviderFormData.value, instanceOptions)\n\t\taddProviderRef.value.close()\n\t\tawait getProviderList(modelStore)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Confirm add model\n */\nexport async function confirmAddModel(modelStore: ModelStore) {\n\tconst { currentProvider, addModelFormData, addModelFormRef, addModelRef } = modelStore\n\ttry {\n\t\t// console.log(addModelFormData)\n\t\tawait addModelFormRef.value?.validate()\n\t\tawait instance.post(\n\t\t\t'/askai/supplier/add_model',\n\t\t\t{ ...addModelFormData.value, supplierName: currentProvider.value.supplierName },\n\t\t\tinstanceOptions\n\t\t)\n\t\tawait getModelList(currentProvider.value.supplierName, modelStore)\n\t\taddModelRef.value.close()\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Get provider configuration\n */\nexport async function getProviderConfiguration(modelStore: ModelStore) {\n\tconst { currentProvider, providerList } = modelStore\n\ttry {\n\t\tconst res = (await instance.post(\n\t\t\t'/askai/supplier/get_supplier_config',\n\t\t\t{ supplierName: currentProvider.value.supplierName },\n\t\t\tinstanceOptions\n\t\t)) as Provider\n\t\tconst findProvider = providerList.value.find(\n\t\t\titem => item.supplierName == currentProvider.value.supplierName\n\t\t)\n\t\tif (findProvider) {\n\t\t\tfindProvider.apiKey = res.apiKey\n\t\t\tfindProvider.baseUrl = res.baseUrl\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Change provider status\n */\nexport async function changeProviderStatus(status: boolean, modelStore: ModelStore) {\n\tconst { currentProvider } = modelStore\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/supplier/set_supplier_status',\n\t\t\t{ supplierName: currentProvider.value.supplierName, status },\n\t\t\tinstanceOptions\n\t\t)\n\t\tcurrentProvider.value.status = status\n\t\tgetModelList(currentProvider.value.supplierName, modelStore)\n\t} catch (error) {\n\t\tcurrentProvider.value.status = !status\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Check provider api configuration\n */\nexport async function checkProviderApiConfiguration(modelStore: ModelStore) {\n\tconst { currentProvider } = modelStore\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/supplier/testing',\n\t\t\t{\n\t\t\t\tsupplierName: currentProvider.value.supplierName,\n\t\t\t\tbaseUrl: currentProvider.value.baseUrl,\n\t\t\t\tapiKey: currentProvider.value.apiKey,\n\t\t\t},\n\t\t\tinstanceOptions\n\t\t)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Set provider configuration\n */\nexport async function setProviderConfiguration(modelStore: ModelStore) {\n\tconst { currentProvider } = modelStore\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/supplier/set_supplier_config',\n\t\t\t{\n\t\t\t\tsupplierName: currentProvider.value.supplierName,\n\t\t\t\tbaseUrl: currentProvider.value.baseUrl,\n\t\t\t\tapiKey: currentProvider.value.apiKey,\n\t\t\t},\n\t\t\tinstanceOptions\n\t\t)\n\t\tchangeProviderStatus(true, modelStore)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Set model status\n */\nexport async function setModelStatus(model: Model, status: boolean, modelStore: ModelStore) {\n\tconst { currentProvider } = modelStore\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/supplier/set_model_status',\n\t\t\t{\n\t\t\t\tsupplierName: currentProvider.value.supplierName,\n\t\t\t\tmodelId: model.modelId,\n\t\t\t\tstatus,\n\t\t\t},\n\t\t\tinstanceOptions\n\t\t)\n\t} catch (error) {\n\t\tmodel.status = !status\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Remove provider\n */\nexport async function removeProvider(modelStore: ModelStore) {\n\tconst { currentProvider } = modelStore\n\tconfirm({\n\t\ttitle: 'Notice',\n\t\tcontent: `Are you sure to remove the provider \"${currentProvider.value.supplierName}\"?`,\n\t\tonConfirm: async () => {\n\t\t\ttry {\n\t\t\t\tawait instance.post(\n\t\t\t\t\t'/askai/supplier/remove_supplier',\n\t\t\t\t\t{ supplierName: currentProvider.value.supplierName },\n\t\t\t\t\tinstanceOptions\n\t\t\t\t)\n\t\t\t\tawait getProviderList(modelStore)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(error)\n\t\t\t}\n\t\t},\n\t})\n}\n\n/**\n * @description Check provider configuration\n */\nexport async function checkProviderConfig(store: ModelStore) {\n\tconst { addProviderFormData } = store\n\ttry {\n\t\tawait instance.post('/askai/supplier/testing', addProviderFormData.value)\n\t\treturn true\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t\treturn false\n\t}\n}\n\n/**\n * @description Remove model\n */\nexport async function removeModel(model: Model, modelStore: ModelStore) {\n\tconfirm({\n\t\ttitle: 'Notice',\n\t\tcontent: `Are you sure to remove the Model \"${model.title}\"?`,\n\t\tonConfirm: async () => {\n\t\t\ttry {\n\t\t\t\tawait instance.post(\n\t\t\t\t\t'/askai/supplier/remove_model',\n\t\t\t\t\t{ supplierName: model.supplierName, modelId: model.modelId },\n\t\t\t\t\tinstanceOptions\n\t\t\t\t)\n\t\t\t\tawait getModelList(model.supplierName,modelStore)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(error)\n\t\t\t}\n\t\t},\n\t})\n}\n"
  },
  {
    "path": "core/frontend/src/views/settings/ai-model/dto/index.ts",
    "content": "import { FormInst } from \"naive-ui\"\n\nexport type Provider = {\n    supplierTitle: string\n    supplierName: string\n    baseUrl: string\n    baseUrlExample: string\n    isUseUrlExample: boolean\n    apiKey: string\n    home: string\n    help: string\n    status: boolean\n    icon:string\n    sort:number\n}\n\nexport type Model = {\n    modelId:string\n    supplierName: string\n    capability: string[]\n    title: string\n    status:boolean\n    max_tokens:number\n}\n\nexport type AddProviderFormData = {\n    supplierTitle: string\n    supplierName: string\n    baseUrl: string\n    apiKey: string\n}\n\nexport type AddModelFormData = {\n    title: string\n    modelId: string\n    max_tokens: number\n    capability: string[]\n}\n\nexport type ModelStore = {\n    providerList: Ref<Provider[]>\n    modelList: Ref<Model[]>\n    currentProvider: Ref<Provider>\n    configurationLoading: Ref<boolean>\n    addProviderFormData: Ref<AddProviderFormData>\n    addProviderFormDataRef: Ref<FormInst | null | undefined>\n    addProviderRef: Ref<any>\n    addModelFormData: Ref<AddModelFormData>\n    addModelFormRef: Ref<FormInst | null | undefined>\n    addModelRef: Ref<any>\n}"
  },
  {
    "path": "core/frontend/src/views/settings/ai-model/index.vue",
    "content": "<template>\n    <div class=\"max-w-4xl mx-auto px-4 py-8\">\n        <n-card class=\"mb-5\">\n            <div class=\"page-tit\" style=\"margin: 0;\">\n                <div class=\"left-tit\">\n                    <div class=\"back-tool\">\n                        <i class=\"i-ri:apps-fill text-6\"></i>\n                    </div>\n                    <span class=\"tit-content\">\n                        AI Model\n                    </span>\n                </div>\n            </div>\n        </n-card>\n\n        <n-card>\n            <!-- Model maneger modal -->\n            <ModelManager  />\n        </n-card>\n    </div>\n\n\n</template>\n\n<script setup lang=\"tsx\">\n    import ModelManager from './components/ModelManager.vue';\n    import { ModelStore } from './dto';\n    import { useModelManagerStore } from './store/index,';\n    const modelManagerStore = useModelManagerStore()\n    provide<ModelStore>(\"modelStore\", modelManagerStore)\n\n</script>\n\n<style scoped lang=\"scss\">\n    @use \"@/styles/index.scss\" as base;\n    @use \"@/views/domain/pages/editDomain/components/mixin.scss\";\n\n    .page-tit {\n        @include mixin.page-tit;\n    }\n\n    .model-item {\n        .item-header {\n            @include base.row-flex;\n            justify-content: space-between;\n\n            .header-left {\n                @include base.row-flex-start;\n                gap: 10px;\n\n                .model-tit {\n                    font-size: 16px;\n                    font-weight: bold;\n                }\n            }\n\n            .header-right {\n                .remove-model {\n                    padding: 5px;\n                    cursor: pointer;\n                    @include base.row-flex-center;\n                    transition: .15s all ease-in-out;\n\n                    &:hover {\n                        background: var(--color-bg-4)\n                    }\n                }\n            }\n        }\n\n        .item-desc {\n            @include base.row-flex-start;\n            gap: 15px;\n\n            .label {\n                font-weight: bold;\n            }\n        }\n    }\n</style>"
  },
  {
    "path": "core/frontend/src/views/settings/ai-model/store/index,.ts",
    "content": "import { FormInst } from \"naive-ui\";\nimport { AddModelFormData, AddProviderFormData, Model, ModelStore, Provider } from \"../dto\";\n\nexport function useModelManagerStore(): ModelStore {\n    const providerList = ref<Provider[]>([])\n    const modelList = ref<Model[]>([])\n    const addProviderRef = ref<any>()\n    const currentProvider = ref<Provider>({\n        supplierTitle: \"\",\n        supplierName: \"\",\n        baseUrl: \"\",\n        baseUrlExample: \"\",\n        isUseUrlExample: false,\n        apiKey: \"\",\n        home: \"\",\n        help: \"\",\n        status: false,\n        icon: \"\",\n        sort: 0\n    })\n    const configurationLoading = ref(false)\n    const addProviderFormData = ref<AddProviderFormData>({\n        supplierTitle: \"\",\n        supplierName: \"\",\n        baseUrl: \"\",\n        apiKey: \"\"\n    })\n    const addProviderFormDataRef = ref<FormInst | null | undefined>()\n    const addModelFormData = ref<AddModelFormData>({\n        title: \"\",\n        modelId: \"\",\n        max_tokens: 8192,\n        capability: [\"llm\"]\n    })\n    const addModelFormRef = ref<FormInst | null | undefined>()\n    const addModelRef = ref<any>()\n\n    return {\n        providerList,\n        modelList,\n        addProviderRef,\n        currentProvider,\n        configurationLoading,\n        addProviderFormData,\n        addProviderFormDataRef,\n        addModelFormData,\n        addModelFormRef,\n        addModelRef\n    }\n}"
  },
  {
    "path": "core/frontend/src/views/settings/bcc/components/BccForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" width=\"500\">\n\t\t<bt-form ref=\"formRef\" class=\"pt-8px\" :model=\"form\" :rules=\"rules\">\n\t\t\t<n-form-item :label=\"t('settings.bcc.needCopy')\" path=\"user\">\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"form.address\"\n\t\t\t\t\t:disabled=\"isEdit\"\n\t\t\t\t\t:placeholder=\"t('settings.bcc.placeholders.needCopy')\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('settings.bcc.copyTo')\" path=\"forward_user\">\n\t\t\t\t<n-input v-model:value=\"form.goto\" :placeholder=\"t('settings.bcc.placeholders.copyTo')\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('settings.bcc.type')\" path=\"type\">\n\t\t\t\t<n-select v-model:value=\"form.type\" :options=\"typeOptions\"></n-select>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('settings.bcc.status')\" :show-feedback=\"false\">\n\t\t\t\t<n-switch v-model:value=\"form.active\" :checked-value=\"1\" :unchecked-value=\"0\"></n-switch>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { addBcc, editBcc } from '@/api/modules/settings/bcc'\nimport type { Bcc } from '../type/base'\n\nconst { t } = useI18n()\n\nconst isEdit = ref(false)\n\nconst title = computed(() => (isEdit.value ? t('settings.bcc.edit') : t('settings.bcc.add')))\n\nconst formRef = useTemplateRef('formRef')\n\nconst id = ref(0)\n\nconst form = reactive({\n\taddress: '',\n\tgoto: '',\n\ttype: 'sender',\n\tactive: 1,\n})\n\nconst typeOptions = computed(() => [\n\t{ label: t('settings.bcc.types.sender'), value: 'sender' },\n\t{ label: t('settings.bcc.types.recipient'), value: 'recipient' },\n])\n\nconst rules: FormRules = {}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ isEdit: boolean; row: Bcc | null }>()\n\t\t\tconst { row } = state\n\t\t\tisEdit.value = state.isEdit\n\t\t\tif (row) {\n\t\t\t\tid.value = row.id\n\t\t\t\tform.address = row.address\n\t\t\t\tform.goto = row.goto\n\t\t\t\tform.type = row.type\n\t\t\t\tform.active = row.active\n\t\t\t}\n\t\t} else {\n\t\t\tid.value = 0\n\t\t\tform.address = ''\n\t\t\tform.goto = ''\n\t\t\tform.type = 'sender'\n\t\t\tform.active = 1\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tif (isEdit.value) {\n\t\t\tawait editBcc({ id: id.value, ...toRaw(form) })\n\t\t} else {\n\t\t\tawait addBcc(toRaw(form))\n\t\t}\n\t\tconst state = modalApi.getState<{ refresh: Function }>()\n\t\tstate.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/bcc/index.vue",
    "content": "<template>\n\t<bt-table-layout>\n\t\t<template #toolsLeft>\n\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">{{ $t('settings.bcc.add') }}</n-button>\n\t\t</template>\n\t\t<template #toolsRight>\n\t\t\t<n-button @click=\"handleRefresh\">\n\t\t\t\t{{ $t('common.actions.refresh') }}\n\t\t\t</n-button>\n\t\t</template>\n\t\t<template #table>\n\t\t\t<n-data-table :loading=\"loading\" :columns=\"columns\" :data=\"tableList\">\n\t\t\t\t<template #empty>\n\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t</template>\n\t\t\t</n-data-table>\n\t\t</template>\n\t\t<template #pageRight>\n\t\t\t<bt-table-page\n\t\t\t\tv-model:page=\"tableParams.page\"\n\t\t\t\tv-model:page-size=\"tableParams.page_size\"\n\t\t\t\t:item-count=\"tableTotal\"\n\t\t\t\t@refresh=\"getTableData\">\n\t\t\t</bt-table-page>\n\t\t</template>\n\t\t<template #modal>\n\t\t\t<form-modal />\n\t\t</template>\n\t</bt-table-layout>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex } from 'naive-ui'\nimport { confirm } from '@/utils'\nimport { useTableData } from '@/hooks/useTableData'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { deleteBcc, getBccList } from '@/api/modules/settings/bcc'\nimport type { Bcc, BccParams } from './type/base'\nimport BccForm from './components/BccForm.vue'\n\nconst { t } = useI18n()\n\nconst { tableParams, tableList, loading, tableTotal, getTableData } = useTableData<Bcc, BccParams>({\n\tloading: true,\n\timmediate: true,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tdomain: '',\n\t\tkeyword: '',\n\t},\n\tfetchFn: getBccList,\n})\n\nconst columns = ref<DataTableColumns<Bcc>>([\n\t{\n\t\tkey: 'address',\n\t\ttitle: () => t('settings.bcc.needCopy'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'goto',\n\t\ttitle: () => t('settings.bcc.copyTo'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'domain',\n\t\ttitle: () => t('settings.bcc.domain'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'type',\n\t\ttitle: () => t('settings.bcc.type'),\n\t\trender: row => t(`settings.bcc.types.${row.type}`),\n\t},\n\t{\n\t\tkey: 'active',\n\t\ttitle: () => t('settings.bcc.status'),\n\t\trender: row => (\n\t\t\t<div class={['text-16px', row.active === 1 ? 'text-primary' : 'text-error']}>\n\t\t\t\t<i class={[row.active === 1 ? 'i-mdi-success-circle' : 'i-mdi-remove-circle']}></i>\n\t\t\t</div>\n\t\t),\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 120,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: BccForm,\n\tstate: {\n\t\tisEdit: false,\n\t\trefresh: getTableData,\n\t},\n})\n\nconst handleAdd = () => {\n\tformModalApi.setState({ isEdit: false, row: null })\n\tformModalApi.open()\n}\n\nconst handleRefresh = () => {\n\tgetTableData(true)\n}\n\nconst handleEdit = (row: Bcc) => {\n\tformModalApi.setState({ isEdit: true, row })\n\tformModalApi.open()\n}\n\nconst handleDelete = (row: Bcc) => {\n\tconfirm({\n\t\ttitle: t('settings.bcc.delete.title', { address: row.address }),\n\t\tcontent: t('settings.bcc.delete.content'),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteBcc({ id: row.id })\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/bcc/type/base.ts",
    "content": "export type Bcc = {\n\tid: number\n\ttype: string\n\taddress: string\n\tgoto: string\n\tdomain: string\n\tcreate_time: number\n\tupdate_time: number\n\tactive: number\n}\n\nexport type BccParams = {\n\tkeyword: string\n\tdomain: string\n\tpage: number\n\tpage_size: number\n}\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/ApiSettings.vue",
    "content": "<template>\n\t<div>\n\t\t<div class=\"flex items-center mb-12px\">\n\t\t\t<span class=\"font-bold text-basic text-14px\">{{ $t('settings.common.api.title') }}</span>\n\t\t\t<n-button class=\"ml-8px\" text type=\"primary\" @click=\"handleClickHelp\">\n\t\t\t\t{{ $t('common.actions.help') }}\n\t\t\t</n-button>\n\t\t</div>\n\n\t\t<div class=\"flex items-center mb-16px\">\n\t\t\t<n-switch :value=\"apiInfo.api_doc_enabled\" @update:value=\"onUpdateEnabled\"> </n-switch>\n\t\t\t<span class=\"ml-8px text-desc\">{{ $t('settings.common.api.enableApi') }}</span>\n\t\t</div>\n\n\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-16px mb-16px\">\n\t\t\t<div>\n\t\t\t\t<n-input :value=\"apiInfo.api_doc_url\" readonly></n-input>\n\t\t\t\t<p class=\"mt-1 text-xs text-desc\">{{ $t('settings.common.api.apiDocUrl') }}</p>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<n-input v-model:value=\"apiInfo.swagger_url\" readonly> </n-input>\n\t\t\t\t<p class=\"mt-1 text-xs text-desc\">{{ $t('settings.common.api.swaggerUrl') }}</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div>\n\t\t\t<label class=\"block text-sm font-medium mb-2\"> {{ $t('settings.common.api.token') }} </label>\n\t\t\t<n-input\n\t\t\t\tv-model:value=\"apiInfo.api_token\"\n\t\t\t\ttype=\"textarea\"\n\t\t\t\t:rows=\"5\"\n\t\t\t\t:readonly=\"true\"\n\t\t\t\tclass=\"font-mono text-sm\">\n\t\t\t</n-input>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { confirm } from '@/utils'\nimport { setApiDocEnabled } from '@/api/modules/settings/common'\nimport { getSettingsStore } from '../store'\n\nconst { t } = useI18n()\n\nconst { apiInfo, getCommonConfig } = getSettingsStore()\n\nconst onUpdateEnabled = (val: boolean) => {\n\tconfirm({\n\t\ttitle: val ? t('settings.common.api.confirm.enable') : t('settings.common.api.confirm.disable'),\n\t\tcontent: val\n\t\t\t? t('settings.common.api.confirm.enableContent')\n\t\t\t: t('settings.common.api.confirm.disableContent'),\n\t\tonConfirm: async () => {\n\t\t\tawait setApiDocEnabled({ api_doc_enabled: val })\n\t\t\tgetCommonConfig()\n\t\t},\n\t})\n}\n\nconst handleClickHelp = () => {\n\twindow.open('https://billionmail.com/start/api_usage_guide.html')\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/Command.vue",
    "content": "<template>\n\t<div class=\"bg-gray-900 text-gray-100 rounded-lg p-4 pr-48px font-mono text-sm relative\">\n\t\t<span class=\"text-gray-400 mr-2\">$</span>{{ value }}\n\t\t<div class=\"absolute top-0px right-16px h-full flex items-center\">\n\t\t\t<n-button text class=\"text-desc\" @click=\"copyText(value)\">\n\t\t\t\t<i class=\"i-mdi-content-copy text-18px\"></i>\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n\t<p class=\"mt-2 text-12px text-desc\">{{ $t('settings.common.system.copyCommand') }}</p>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useCopy } from '@/hooks/useCopy'\n\ndefineProps({\n\tvalue: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n})\n\nconst { copyText } = useCopy()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/DomainSettings.vue",
    "content": "<template>\n\t<n-form-item :label=\"$t('settings.common.network.domain')\">\n\t\t<div class=\"flex-1 grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t<div>\n\t\t\t\t<n-input :value=\"currentDomain\" disabled />\n\t\t\t\t<p class=\"mt-1 text-xs text-gray-500\">\n\t\t\t\t\t{{ $t('settings.common.network.currentDomain') }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"networkForm.domain\"\n\t\t\t\t\t:placeholder=\"$t('settings.common.network.newDomainPlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t\t<p class=\"mt-1 text-xs text-gray-500\">\n\t\t\t\t\t{{ $t('settings.common.network.domainRule') }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</n-form-item>\n\n\t<div>\n\t\t<n-button type=\"primary\" :disabled=\"!networkForm.domain\" @click=\"handleUpdateDomain\">\n\t\t\t{{ $t('settings.common.confirm') }}\n\t\t</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { setSystemConfigKey } from '@/api/modules/settings/common'\nimport { getSettingsStore } from '../store'\n\nconst { currentDomain, networkForm } = getSettingsStore()\n\nconst handleUpdateDomain = async () => {\n\tawait setSystemConfigKey({ key: 'billionmail_hostname', value: networkForm.value.domain })\n\t// const newPath =\n\t// \tlocation.protocol + '//' + networkForm.value.domain + ':' + location.port + location.pathname\n\t// location.href = newPath\n\tcurrentDomain.value = networkForm.value.domain\n\tnetworkForm.value.domain = ''\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/IpWhitelistSettings.vue",
    "content": "<template>\n\t<div>\n\t\t<label class=\"block text-sm font-medium mb-3\">{{\n\t\t\tt('settings.common.ipWhitelist.title')\n\t\t}}</label>\n\t\t<div class=\"flex justify-between items-center h-34px mb-12px\">\n\t\t\t<div class=\"flex item-center gap-8px\">\n\t\t\t\t<n-switch :value=\"ipWhitelistEnable\" @update:value=\"handleUpdateEnable\">\n\t\t\t\t\t<template #checked>{{ t('settings.common.ipWhitelist.enable') }}</template>\n\t\t\t\t\t<template #unchecked>{{ t('settings.common.ipWhitelist.disable') }}</template>\n\t\t\t\t</n-switch>\n\t\t\t</div>\n\t\t\t<div class=\"text-desc\">{{ t('settings.common.ipWhitelist.description') }}</div>\n\t\t</div>\n\t\t<div class=\"flex gap-8px mb-12px\">\n\t\t\t<div class=\"flex-1\">\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"ip\"\n\t\t\t\t\t:placeholder=\"t('settings.common.ipWhitelist.placeholder')\"></n-input>\n\t\t\t</div>\n\t\t\t<n-button type=\"primary\" @click=\"onAddIp\">{{\n\t\t\t\tt('settings.common.ipWhitelist.add')\n\t\t\t}}</n-button>\n\t\t</div>\n\t\t<n-list v-if=\"ipWhitelistList.length > 0\" hoverable bordered>\n\t\t\t<n-list-item v-for=\"(item, index) in ipWhitelistList\" :key=\"item.id\">\n\t\t\t\t<span class=\"text-13px\">\n\t\t\t\t\t{{ item.ip }}\n\t\t\t\t</span>\n\t\t\t\t<template #suffix>\n\t\t\t\t\t<n-button size=\"small\" quaternary circle @click=\"onDelIp(item.id, index)\">\n\t\t\t\t\t\t<i class=\"i-mingcute:close-fill text-16px\"></i>\n\t\t\t\t\t</n-button>\n\t\t\t\t</template>\n\t\t\t</n-list-item>\n\t\t</n-list>\n\t\t<n-empty v-else></n-empty>\n\t\t<div class=\"mt-12px\">\n\t\t\t<n-button @click=\"onClear\">{{ t('settings.common.ipWhitelist.clear') }}</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { confirm, Message } from '@/utils'\nimport {\n\taddIpWhitelist,\n\tclearIpWhitelist,\n\tdeleteIpWhitelist,\n\tsetSystemConfigKey,\n} from '@/api/modules/settings/common'\nimport { getSettingsStore } from '../store'\n\nconst { ipWhitelistEnable, ipWhitelistList, getCommonConfig } = getSettingsStore()\n\nconst ip = ref('')\n\nconst { t } = useI18n()\n\nconst onAddIp = async () => {\n\tif (ip.value === '') {\n\t\tMessage.error(t('settings.common.ipWhitelist.validation.ipRequired'))\n\t\treturn\n\t}\n\tawait addIpWhitelist({ ip: ip.value })\n\tgetCommonConfig()\n\tip.value = ''\n}\n\nconst onDelIp = (id: number, index: number) => {\n\tconfirm({\n\t\ttitle: t('settings.common.ipWhitelist.confirm.deleteTitle'),\n\t\tcontent: t('settings.common.ipWhitelist.confirm.deleteContent', {\n\t\t\tip: ipWhitelistList.value[index].ip,\n\t\t}),\n\t\tonConfirm: async () => {\n\t\t\tawait deleteIpWhitelist({ id })\n\t\t\tipWhitelistList.value.splice(index, 1)\n\t\t},\n\t})\n}\n\nconst handleUpdateEnable = (val: boolean) => {\n\tconfirm({\n\t\ttitle: val\n\t\t\t? t('settings.common.ipWhitelist.confirm.enableTitle')\n\t\t\t: t('settings.common.ipWhitelist.confirm.disableTitle'),\n\t\tcontent: val\n\t\t\t? t('settings.common.ipWhitelist.confirm.enableContent')\n\t\t\t: t('settings.common.ipWhitelist.confirm.disableContent'),\n\t\tonConfirm: async () => {\n\t\t\tawait setSystemConfigKey({ key: 'ip_whitelist_enable', value: `${val}` })\n\t\t\tipWhitelistEnable.value = val\n\t\t},\n\t})\n}\n\nconst onClear = async () => {\n\tconfirm({\n\t\ttitle: t('settings.common.ipWhitelist.confirm.clearTitle'),\n\t\tcontent: t('settings.common.ipWhitelist.confirm.clearContent'),\n\t\tonConfirm: async () => {\n\t\t\tawait clearIpWhitelist()\n\t\t\tgetCommonConfig()\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/NetworkSettings.vue",
    "content": "<template>\n\t<n-card class=\"mb-8\" :bordered=\"false\">\n\t\t<template #header>\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<n-icon class=\"mr-2 text-primary\" size=\"20\">\n\t\t\t\t\t<i class=\"i-mdi-network\"></i>\n\t\t\t\t</n-icon>\n\t\t\t\t<span class=\"text-lg font-medium\">{{ $t('settings.common.network.title') }}</span>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<n-form>\n\t\t\t<SSLSettings />\n\t\t\t<n-divider />\n\t\t\t<DomainSettings />\n\t\t</n-form>\n\t</n-card>\n</template>\n\n<script lang=\"ts\" setup>\nimport SSLSettings from './SSLSettings.vue'\nimport DomainSettings from './DomainSettings.vue'\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/Notify/AlarmSettings.vue",
    "content": "<template>\n\t<modal :title=\"$t('settings.common.notifySettings.blacklist.alarmSettings.title')\" :width=\"500\">\n\t\t<bt-form class=\"pt-8px\">\n\t\t\t<n-form-item :label=\"$t('settings.common.notifySettings.blacklist.alarmSettings.name')\">\n\t\t\t\t<n-input v-model:value=\"form.name\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item\n\t\t\t\t:label=\"$t('settings.common.notifySettings.blacklist.alarmSettings.senderEmail')\">\n\t\t\t\t<n-input v-model:value=\"form.sender_email\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item\n\t\t\t\t:label=\"$t('settings.common.notifySettings.blacklist.alarmSettings.smtpPassword')\">\n\t\t\t\t<n-input v-model:value=\"form.smtp_password\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('settings.common.notifySettings.blacklist.alarmSettings.smtpServer')\">\n\t\t\t\t<n-input v-model:value=\"form.smtp_server\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('settings.common.notifySettings.blacklist.alarmSettings.port')\">\n\t\t\t\t<n-input-number\n\t\t\t\t\tv-model:value=\"form.smtp_port\"\n\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t:min=\"1\"\n\t\t\t\t\t:max=\"65535\"\n\t\t\t\t\t:show-button=\"false\">\n\t\t\t\t</n-input-number>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item\n\t\t\t\t:label=\"$t('settings.common.notifySettings.blacklist.alarmSettings.recipientEmail')\">\n\t\t\t\t<n-input v-model:value=\"form.recipient_list\" type=\"textarea\" :rows=\"4\"></n-input>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useModal } from '@/hooks/modal/useModal'\nimport { setBlacklistAlertSettings } from '@/api/modules/settings/common'\nimport { getSettingsStore } from '../../store'\n\nconst { blacklistConfig, getCommonConfig } = getSettingsStore()\n\nconst form = reactive({\n\tname: '',\n\tsender_email: '',\n\tsmtp_password: '',\n\tsmtp_server: '',\n\tsmtp_port: 465,\n\trecipient_list: '',\n})\n\nconst [Modal] = useModal({\n\tonChangeState: val => {\n\t\tif (val) {\n\t\t\tform.name = blacklistConfig.value.alert_settings.name\n\t\t\tform.sender_email = blacklistConfig.value.alert_settings.sender_email\n\t\t\tform.smtp_password = blacklistConfig.value.alert_settings.smtp_password\n\t\t\tform.smtp_server = blacklistConfig.value.alert_settings.smtp_server\n\t\t\tform.smtp_port = blacklistConfig.value.alert_settings.smtp_port\n\t\t\tform.recipient_list = blacklistConfig.value.alert_settings.recipient_list.join('\\n')\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait setBlacklistAlertSettings({\n\t\t\tname: form.name,\n\t\t\tsender_email: form.sender_email,\n\t\t\tsmtp_password: form.smtp_password,\n\t\t\tsmtp_server: form.smtp_server,\n\t\t\tsmtp_port: form.smtp_port,\n\t\t\trecipient_list: form.recipient_list.split('\\n'),\n\t\t})\n\t\tgetCommonConfig()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/Notify/AutoCheckSettings.vue",
    "content": "<template>\n\t<div>\n\t\t<div class=\"block text-sm font-medium mb-3 text-basic\">\n\t\t\t{{ $t('settings.common.notifySettings.blacklist.autoCheck.title') }}\n\t\t</div>\n\t\t<div class=\"flex items-center\">\n\t\t\t<n-switch :value=\"blacklistConfig.auto_scan_enabled\" @update:value=\"onUpdateValue\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { confirm } from '@/utils'\nimport { setBlacklistAutoScan } from '@/api/modules/settings/common'\nimport { getSettingsStore } from '../../store'\n\nconst { t } = useI18n()\n\nconst { blacklistConfig } = getSettingsStore()\n\nconst onUpdateValue = (value: boolean) => {\n\tconfirm({\n\t\ttitle: value\n\t\t\t? t('settings.common.notifySettings.blacklist.autoCheck.confirm.enableTitle')\n\t\t\t: t('settings.common.notifySettings.blacklist.autoCheck.confirm.disableTitle'),\n\t\tcontent: value\n\t\t\t? t('settings.common.notifySettings.blacklist.autoCheck.confirm.enableContent')\n\t\t\t: t('settings.common.notifySettings.blacklist.autoCheck.confirm.disableContent'),\n\t\tonConfirm: async () => {\n\t\t\tawait setBlacklistAutoScan({ enabled: value })\n\t\t\tblacklistConfig.value.auto_scan_enabled = value\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/Notify/BlacklistSetting.vue",
    "content": "<template>\n\t<div>\n\t\t<div class=\"block text-sm font-medium mb-3 text-basic\">\n\t\t\t{{ $t('settings.common.notifySettings.blacklist.title') }}\n\t\t</div>\n\t\t<div class=\"flex items-center gap-16px\">\n\t\t\t<n-switch :value=\"blacklistConfig.alert_enabled\" @update:value=\"onUpdateValue\" />\n\t\t\t<n-button @click=\"onShowAlarm\">\n\t\t\t\t{{ $t('settings.common.notifySettings.blacklist.alarmSet') }}\n\t\t\t</n-button>\n\t\t</div>\n\n\t\t<AlarmModal />\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { setBlacklistAlert } from '@/api/modules/settings/common'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getSettingsStore } from '../../store'\n\nimport AlarmSettings from './AlarmSettings.vue'\n\nconst { blacklistConfig } = getSettingsStore()\n\nconst onUpdateValue = async (value: boolean) => {\n\tawait setBlacklistAlert({ enabled: value })\n\tblacklistConfig.value.alert_enabled = value\n}\n\nconst [AlarmModal, modalApi] = useModal({\n\tcomponent: AlarmSettings,\n})\n\nconst onShowAlarm = () => {\n\tmodalApi.open()\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/Notify/NotifySettings.vue",
    "content": "<template>\n\t<n-card :bordered=\"false\">\n\t\t<template #header>\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<n-icon class=\"mr-2 text-primary\" size=\"20\">\n\t\t\t\t\t<i class=\"i-mdi:notification-settings-outline\"></i>\n\t\t\t\t</n-icon>\n\t\t\t\t<span class=\"text-lg font-medium\">{{ $t('settings.common.notifySettings.title') }}</span>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<BlacklistSetting />\n\t\t<n-divider />\n\t\t<AutoCheckSettings />\n\t</n-card>\n</template>\n\n<script lang=\"ts\" setup>\nimport BlacklistSetting from './BlacklistSetting.vue'\nimport AutoCheckSettings from './AutoCheckSettings.vue'\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/PasswordSettings.vue",
    "content": "<template>\n\t<n-form-item\n\t\tref=\"formItemRef\"\n\t\t:label=\"$t('settings.common.security.changePassword')\"\n\t\tpath=\"password\">\n\t\t<div class=\"flex-1 flex flex-col gap-20px\">\n\t\t\t<div>\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"securityForm.newPassword\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tclass=\"password-input\"\n\t\t\t\t\tshow-password-on=\"click\"\n\t\t\t\t\t:placeholder=\"t('settings.common.security.newPassword')\"\n\t\t\t\t\t@update:value=\"handleUpdatePassword\">\n\t\t\t\t</n-input>\n\t\t\t\t<password-strength-indicator :strength=\"passwordStrength\" />\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"securityForm.confirmPassword\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tclass=\"password-input\"\n\t\t\t\t\tshow-password-on=\"click\"\n\t\t\t\t\t:placeholder=\"t('settings.common.security.confirmPassword')\">\n\t\t\t\t</n-input>\n\t\t\t</div>\n\t\t</div>\n\t</n-form-item>\n\t<div>\n\t\t<n-button type=\"primary\" :disabled=\"submitDisabled\" @click=\"handleSubmitPassword\">\n\t\t\t{{ t('settings.common.confirm') }}\n\t\t</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { getSettingsStore } from '@/views/settings/common/store'\nimport { setSystemConfigKey } from '@/api/modules/settings/common'\nimport PasswordStrengthIndicator from './PasswordStrengthIndicator.vue'\n\nconst { t } = useI18n()\nconst { securityForm, passwordStrength, checkPasswordStrength } = getSettingsStore()\n\nconst formItemRef = useTemplateRef('formItemRef')\n\nconst rules: FormRules = {\n\tpassword: {\n\t\ttrigger: ['input', 'blur'],\n\t\tvalidator: () => {\n\t\t\tif (!securityForm.value.newPassword || !securityForm.value.confirmPassword) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (securityForm.value.newPassword !== securityForm.value.confirmPassword) {\n\t\t\t\treturn new Error(t('settings.common.security.passwordMismatch'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\nconst submitDisabled = computed(() => {\n\treturn !securityForm.value.newPassword || !securityForm.value.confirmPassword\n})\n\nconst handleUpdatePassword = () => {\n\tcheckPasswordStrength()\n}\n\nconst handleSubmitPassword = async () => {\n\tawait formItemRef.value?.validate()\n\tawait setSystemConfigKey({ key: 'admin_password', value: securityForm.value.newPassword })\n\tsecurityForm.value.newPassword = ''\n\tsecurityForm.value.confirmPassword = ''\n}\n\ndefineExpose({\n\trules,\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/PasswordStrengthIndicator.vue",
    "content": "<template>\n\t<div class=\"mt-2 flex items-center\">\n\t\t<div class=\"flex-1 bg-gray-200 rounded-full h-1 mr-2\">\n\t\t\t<div\n\t\t\t\tclass=\"h-1 rounded-full transition-all duration-300\"\n\t\t\t\t:class=\"strengthClass\"\n\t\t\t\t:style=\"{ width: strengthWidth }\" />\n\t\t</div>\n\t\t<span class=\"text-xs text-gray-500\">\n\t\t\t{{ t('settings.common.security.passwordStrength') }}: {{ strengthText }}\n\t\t</span>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport type { PasswordStrength } from '../types/base'\n\nconst { strength } = defineProps({\n\tstrength: {\n\t\ttype: Object as PropType<PasswordStrength>,\n\t\trequired: true,\n\t},\n})\n\nconst { t } = useI18n()\n\nconst strengthClass = computed(() => {\n\tswitch (strength.level) {\n\t\tcase 'weak':\n\t\t\treturn 'bg-error'\n\t\tcase 'medium':\n\t\t\treturn 'bg-warning'\n\t\tcase 'strong':\n\t\t\treturn 'bg-primary'\n\t\tdefault:\n\t\t\treturn 'bg-gray-300'\n\t}\n})\n\nconst strengthWidth = computed(() => {\n\tswitch (strength.level) {\n\t\tcase 'weak':\n\t\t\treturn '30%'\n\t\tcase 'medium':\n\t\t\treturn '60%'\n\t\tcase 'strong':\n\t\t\treturn '100%'\n\t\tdefault:\n\t\t\treturn '0%'\n\t}\n})\n\nconst strengthText = computed(() => {\n\treturn t(`settings.common.security.strength.${strength.level}`)\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/PortSettings.vue",
    "content": "<template>\n\t<div>\n\t\t<label class=\"block text-sm font-medium text-basic mb-3\">\n\t\t\t{{ t('settings.common.system.port') }}\n\t\t</label>\n\t\t<div class=\"grid items-start grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t<div>\n\t\t\t\t<n-input v-model:value=\"port\" @update:value=\"handleUpdatePort\"></n-input>\n\t\t\t\t<p class=\"mt-1 text-xs text-desc\">{{ t('settings.common.system.currentPort') }}</p>\n\t\t\t</div>\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<n-alert type=\"warning\" class=\"w-full\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<n-icon><i class=\"i-mdi-alert-circle\" /></n-icon>\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('settings.common.system.terminalRequired') }}\n\t\t\t\t</n-alert>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mt-5\">\n\t\t\t<command :value=\"commandRef\"></command>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getSettingsStore } from '@/views/settings/common/store'\nimport Command from './Command.vue'\n\nconst { t } = useI18n()\n\nconst { currentPort, portCommand } = getSettingsStore()\n\nconst port = ref(currentPort.value)\n\nconst commandRef = ref('')\n\nconst handleUpdatePort = (val: string) => {\n\tcommandRef.value = portCommand.value.replace(/PORT/g, val)\n}\n\nwatchEffect(() => {\n\tport.value = currentPort.value\n\t// 初始化命令，替换 PORT 占位符\n\tif (currentPort.value) {\n\t\tcommandRef.value = portCommand.value.replace(/PORT/g, currentPort.value)\n\t}\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/ProxySettings.vue",
    "content": "<template>\n\t<div>\n\t\t<n-form-item ref=\"formItemRef\" :label=\"$t('settings.common.proxy.title')\" path=\"username\">\n\t\t\t<div class=\"flex-1 grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t\t<div>\n\t\t\t\t\t<n-input :value=\"currentProxy\" readonly />\n\t\t\t\t\t<p class=\"mt-1 text-xs text-desc\">\n\t\t\t\t\t\t{{ $t('settings.common.proxy.description') }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<n-input v-model:value=\"domain\" :placeholder=\"$t('settings.common.proxy.placeholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t\t<p class=\"mt-1 text-xs text-desc\">{{ $t('settings.common.proxy.formatTip') }}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<div>\n\t\t\t<n-button type=\"primary\" :disabled=\"!domain\" @click=\"handleSubmit\">\n\t\t\t\t{{ $t('settings.common.confirm') }}\n\t\t\t</n-button>\n\t\t\t<n-button class=\"ml-12px\" @click=\"handleReset\">\n\t\t\t\t{{ $t('settings.common.proxy.reset') }}\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getSettingsStore } from '@/views/settings/common/store'\nimport { clearReverseProxyDomain, setReverseProxyDomain } from '@/api/modules/settings/common'\nimport { confirm } from '@/utils'\n\nconst { t } = useI18n()\n\nconst { currentProxy, getCommonConfig } = getSettingsStore()\n\nconst domain = ref('')\n\nconst handleSubmit = async () => {\n\tawait setReverseProxyDomain({ domain: domain.value })\n\tgetCommonConfig()\n\tdomain.value = ''\n}\n\nconst handleReset = async () => {\n\tconfirm({\n\t\ttitle: t('settings.common.proxy.resetConfirm.title'),\n\t\tcontent: t('settings.common.proxy.resetConfirm.content'),\n\t\tonConfirm: async () => {\n\t\t\tawait clearReverseProxyDomain()\n\t\t\tgetCommonConfig()\n\t\t},\n\t})\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/SSLSettings.vue",
    "content": "<template>\n\t<div>\n\t\t<label class=\"block text-sm font-medium mb-3\">\n\t\t\t{{ t('settings.common.network.ssl') }}\n\t\t</label>\n\n\t\t<div class=\"flex items-center mb-4\">\n\t\t\t<n-switch v-model:value=\"networkForm.sslEnabled\" disabled />\n\t\t\t<label class=\"ml-2 font-medium\">\n\t\t\t\t{{ t('settings.common.network.sslEnabled') }}\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=\"mt-6\">\n\t\t\t<label class=\"block text-sm font-medium mb-2\">\n\t\t\t\t{{ t('settings.common.network.certStatus') }}\n\t\t\t</label>\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"w-3 h-3 rounded-full mr-2 animate-pulse\"\n\t\t\t\t\t:class=\"sslInfo.status ? 'bg-primary' : 'bg-error'\"></div>\n\t\t\t\t<span class=\"text-sm\">\n\t\t\t\t\t{{\n\t\t\t\t\t\tsslInfo.status\n\t\t\t\t\t\t\t? t('settings.common.network.certValidStatus')\n\t\t\t\t\t\t\t: t('settings.common.network.certExpiredStatus')\n\t\t\t\t\t}}，\n\t\t\t\t</span>\n\t\t\t\t<span class=\"text-sm\">\n\t\t\t\t\t{{ t('settings.common.network.certExpireTime', { time: sslInfo.expireTime }) }}\n\t\t\t\t</span>\n\t\t\t\t<span class=\"text-sm\">\n\t\t\t\t\t{{ t('settings.common.network.certValid', { days: sslInfo.expireDays }) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"flex gap-16px mt-16px\">\n\t\t\t<div class=\"flex-1\">\n\t\t\t\t<label class=\"block text-sm font-medium mb-2\">\n\t\t\t\t\t{{ t('settings.common.network.sslKey') }}\n\t\t\t\t</label>\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"networkForm.sslKey\"\n\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t:rows=\"6\"\n\t\t\t\t\t:placeholder=\"t('settings.common.network.keyPlaceholder')\"\n\t\t\t\t\tclass=\"font-mono text-sm\">\n\t\t\t\t</n-input>\n\t\t\t</div>\n\t\t\t<div class=\"flex-1\">\n\t\t\t\t<label class=\"block text-sm font-medium mb-2\">\n\t\t\t\t\t{{ t('settings.common.network.sslCert') }}\n\t\t\t\t</label>\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"networkForm.sslCert\"\n\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t:rows=\"6\"\n\t\t\t\t\t:placeholder=\"t('settings.common.network.certPlaceholder')\"\n\t\t\t\t\tclass=\"font-mono text-sm\">\n\t\t\t\t</n-input>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mt-16px\">\n\t\t\t<n-button type=\"primary\" :disabled=\"updateBtnDisabled\" @click=\"handleUpdateSSL\">\n\t\t\t\t{{ t('common.actions.save') }}\n\t\t\t</n-button>\n\t\t\t<n-button type=\"primary\" class=\"ml-12px\" ghost @click=\"handleApplySSL\">\n\t\t\t\tApply Certificate\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { applyCert, setSslConfig } from '@/api/modules/settings/common'\nimport { getSettingsStore } from '../store'\nimport { confirm } from '@/utils'\n\nconst { t } = useI18n()\n\nconst { networkForm, sslInfo, currentDomain, serverIp, getCommonConfig } = getSettingsStore()\n\nconst updateBtnDisabled = computed(() => {\n\treturn !networkForm.value.sslCert || !networkForm.value.sslKey\n})\n\nconst handleUpdateSSL = async () => {\n\tawait setSslConfig({\n\t\tcertPem: networkForm.value.sslCert,\n\t\tprivateKey: networkForm.value.sslKey,\n\t})\n\tgetCommonConfig()\n}\n\nconst handleApplySSL = () => {\n\tconfirm({\n\t\ttitle: 'Apply SSL',\n\t\twidth: 460,\n\t\tcontent: () => (\n\t\t\t<div style={{ lineHeight: '22px' }}>\n\t\t\t\t<div class=\"mb-8px\">Certificate Application Functionality:</div>\n\t\t\t\t<div>- Implement certificate application using hostname</div>\n\t\t\t\t<div>- Ensure the hostname has a valid A record configured with:</div>\n\t\t\t\t<div>\n\t\t\t\t\t- Record Type: <b>A</b>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t- Host: <b>{currentDomain.value}</b>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t- Value: <b>{serverIp.value}</b>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t),\n\t\tonConfirm: async () => {\n\t\t\tawait applyCert()\n\t\t\tgetCommonConfig()\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/SecurityPathSettings.vue",
    "content": "<template>\n\t<n-form-item :label=\"t('settings.common.security.securityPath')\">\n\t\t<div class=\"flex-1 grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t<div>\n\t\t\t\t<n-input :value=\"currentPath\" disabled />\n\t\t\t\t<p class=\"mt-1 text-xs text-desc\">\n\t\t\t\t\t{{ t('settings.common.security.currentPath') }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"securityForm.securityPath\"\n\t\t\t\t\t:placeholder=\"t('settings.common.security.newPathPlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t\t<p class=\"mt-1 text-xs text-desc\">\n\t\t\t\t\t{{ t('settings.common.security.pathRule') }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</n-form-item>\n\t<div class=\"mt-4px\">\n\t\t<n-button\n\t\t\ttype=\"primary\"\n\t\t\t:disabled=\"!securityForm.securityPath\"\n\t\t\t@click=\"handleSubmitSecurityPath\">\n\t\t\t{{ t('settings.common.confirm') }}\n\t\t</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { setSystemConfigKey } from '@/api/modules/settings/common'\nimport { getSettingsStore } from '@/views/settings/common/store'\n\nconst { t } = useI18n()\nconst { currentPath, securityForm } = getSettingsStore()\n\nconst handleSubmitSecurityPath = async () => {\n\tawait setSystemConfigKey({ key: 'safe_path', value: securityForm.value.securityPath })\n\tcurrentPath.value = securityForm.value.securityPath\n\tsecurityForm.value.securityPath = ''\n}\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/SecuritySettings.vue",
    "content": "<template>\n\t<n-card class=\"mb-8\" :bordered=\"false\">\n\t\t<template #header>\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<n-icon class=\"mr-2 text-primary\" size=\"20\">\n\t\t\t\t\t<i class=\"i-mdi-shield-account\"></i>\n\t\t\t\t</n-icon>\n\t\t\t\t<span class=\"text-lg font-medium\">{{ t('settings.common.security.title') }}</span>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<n-form :model=\"securityForm\" :rules=\"rules\">\n\t\t\t<UsernameSettings ref=\"usernameRef\" />\n\t\t\t<n-divider />\n\t\t\t<PasswordSettings ref=\"passwordRef\" />\n\t\t\t<n-divider />\n\t\t\t<SecurityPathSettings />\n\t\t</n-form>\n\t</n-card>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { getSettingsStore } from '@/views/settings/common/store'\n\nimport UsernameSettings from './UsernameSettings.vue'\nimport PasswordSettings from './PasswordSettings.vue'\nimport SecurityPathSettings from './SecurityPathSettings.vue'\n\nconst { t } = useI18n()\n\nconst { securityForm } = getSettingsStore()\n\nconst rules = ref<FormRules>({})\n\nconst usernameRef = useTemplateRef('usernameRef')\n\nconst passwordRef = useTemplateRef('passwordRef')\n\nonMounted(() => {\n\tif (usernameRef.value) {\n\t\trules.value = {\n\t\t\t...rules.value,\n\t\t\t...usernameRef.value.rules,\n\t\t}\n\t}\n\tif (passwordRef.value) {\n\t\trules.value = {\n\t\t\t...rules.value,\n\t\t\t...passwordRef.value.rules,\n\t\t}\n\t}\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/System/RetentionTime.vue",
    "content": "<template>\n\t<div>\n\t\t<n-form-item ref=\"formItemRef\" :label=\"$t('settings.common.retention.title')\" path=\"username\">\n\t\t\t<div class=\"flex-1 grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t\t<div>\n\t\t\t\t\t<n-input :value=\"$t('settings.common.retention.currentDays', { days: retentionDays })\" disabled />\n\t\t\t\t\t<p class=\"mt-1 text-xs text-desc\">\n\t\t\t\t\t\t{{ $t('settings.common.retention.trashHint') }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<n-input-group>\n\t\t\t\t\t\t<n-input-number v-model:value=\"form.day\" class=\"flex-1\" :min=\"1\" :show-button=\"false\" placeholder=\"\">\n\t\t\t\t\t\t</n-input-number>\n\t\t\t\t\t\t<n-input-group-label>{{ $t('settings.common.retention.day') }}</n-input-group-label>\n\t\t\t\t\t</n-input-group>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</n-form-item>\n\t\t<div class=\"mt-4px\">\n\t\t\t<n-button type=\"primary\" :disabled=\"!form.day\" @click=\"handleSubmit\">\n\t\t\t\t{{ $t('settings.common.confirm') }}\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { setSystemConfigKey } from '@/api/modules/settings/common';\nimport { getSettingsStore } from '@/views/settings/common/store'\n\nconst { retentionDays } = getSettingsStore()\n\nconst form = reactive({\n\tday: null as number | null,\n})\n\nconst handleSubmit = async () => {\n\tawait setSystemConfigKey({ key: 'retention_days', value: `${form.day}` })\n\tretentionDays.value = form.day || 0\n}\n</script>"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/SystemSettings.vue",
    "content": "<template>\n\t<n-card class=\"mb-8\" :bordered=\"false\">\n\t\t<template #header>\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<n-icon class=\"mr-2 text-primary\" size=\"20\">\n\t\t\t\t\t<i class=\"i-mdi-cog\"></i>\n\t\t\t\t</n-icon>\n\t\t\t\t<span class=\"text-lg font-medium\">{{ $t('settings.common.system.title') }}</span>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<div class=\"space-y-8\">\n\t\t\t<PortSettings />\n\t\t\t<n-divider />\n\t\t\t<TimezoneSettings />\n\t\t\t<n-divider />\n\t\t\t<IpWhitelistSettings />\n\t\t\t<n-divider />\n\t\t\t<ProxySettings />\n\t\t\t<n-divider />\n\t\t\t<ApiSettings />\n\t\t\t<n-divider />\n\t\t\t<RetentionTime />\n\t\t</div>\n\t</n-card>\n</template>\n\n<script lang=\"ts\" setup>\nimport PortSettings from './PortSettings.vue'\nimport TimezoneSettings from './TimezoneSettings.vue'\nimport IpWhitelistSettings from './IpWhitelistSettings.vue'\nimport ProxySettings from './ProxySettings.vue'\nimport ApiSettings from './ApiSettings.vue'\nimport RetentionTime from './System/RetentionTime.vue'\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/TimezoneSettings.vue",
    "content": "<template>\n\t<div>\n\t\t<label class=\"block text-sm font-medium text-basic mb-3\">\n\t\t\t{{ t('settings.common.system.timezone') }}\n\t\t</label>\n\t\t<div class=\"grid items-start grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t<div>\n\t\t\t\t<div class=\"flex gap-12px\">\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<n-select\n\t\t\t\t\t\t\tv-model:value=\"zone\"\n\t\t\t\t\t\t\t:options=\"zoneOptions\"\n\t\t\t\t\t\t\tfilterable\n\t\t\t\t\t\t\t@update:value=\"handleUpdateZone\">\n\t\t\t\t\t\t</n-select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<n-select\n\t\t\t\t\t\t\tv-model:value=\"area\"\n\t\t\t\t\t\t\t:options=\"areaOptions\"\n\t\t\t\t\t\t\tfilterable\n\t\t\t\t\t\t\t@update:value=\"handleUpdateArea\">\n\t\t\t\t\t\t</n-select>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mt-1 text-xs text-desc\">{{ t('settings.common.system.currentTime') }}</div>\n\t\t\t</div>\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<n-alert type=\"warning\" class=\"w-full\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<n-icon>\n\t\t\t\t\t\t\t<i class=\"i-mdi-alert-circle\"></i>\n\t\t\t\t\t\t</n-icon>\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('settings.common.system.terminalRequired') }}\n\t\t\t\t</n-alert>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mt-5\">\n\t\t\t<command :value=\"commandRef\"></command>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { SelectOption } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { getTimezoneList } from '@/api/modules/settings/common'\nimport { getSettingsStore } from '@/views/settings/common/store'\n\nimport Command from './Command.vue'\n\nconst { t } = useI18n()\n\nconst { currentTime, timeCommand } = getSettingsStore()\n\nconst zone = ref('')\n\nconst area = ref('')\n\nconst commandRef = ref('')\n\nconst timeZoneData = ref<{ [key: string]: string[] }>({})\n\nconst zoneOptions = ref<SelectOption[]>([])\n\nconst areaOptions = computed(() => {\n\tconst areas = timeZoneData.value[zone.value]\n\tif (areas) {\n\t\treturn areas.map(item => {\n\t\t\treturn {\n\t\t\t\tlabel: item,\n\t\t\t\tvalue: item,\n\t\t\t}\n\t\t})\n\t}\n\treturn []\n})\n\nconst handleUpdateZone = () => {\n\tconst areas = timeZoneData.value[zone.value]\n\tarea.value = areas ? areas[0] : ''\n\thandleUpdateArea()\n}\n\nconst handleUpdateArea = () => {\n\tif (zone.value && area.value) {\n\t\tcommandRef.value = timeCommand.value.replace(/TIME ZONE/g, `${zone.value}/${area.value}`)\n\t}\n}\n\nwatch(\n\t() => currentTime.value,\n\ttime => {\n\t\tif (time) {\n\t\t\tconst times = time.split('/')\n\t\t\tzone.value = times[0]\n\t\t\tarea.value = times[1]\n\t\t\tcommandRef.value = timeCommand.value.replace(/TIME ZONE/g, `${zone.value}/${area.value}`)\n\t\t}\n\t},\n\t{\n\t\timmediate: true,\n\t}\n)\n\nconst getOptions = async () => {\n\tconst res = await getTimezoneList()\n\tif (isObject<{ [key: string]: string[] }>(res)) {\n\t\ttimeZoneData.value = res\n\t\tzoneOptions.value = Object.keys(res).map(key => {\n\t\t\treturn {\n\t\t\t\tlabel: key,\n\t\t\t\tvalue: key,\n\t\t\t}\n\t\t})\n\t}\n}\n\ngetOptions()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/components/UsernameSettings.vue",
    "content": "<template>\n\t<n-form-item ref=\"formItemRef\" :label=\"$t('settings.common.security.username')\" path=\"username\">\n\t\t<div class=\"flex-1 grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t<div>\n\t\t\t\t<n-input :value=\"currentUsername\" disabled />\n\t\t\t\t<p class=\"mt-1 text-xs text-desc\">\n\t\t\t\t\t{{ $t('settings.common.security.currentUsername') }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"securityForm.username\"\n\t\t\t\t\t:placeholder=\"$t('settings.common.security.newUsernamePlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t\t<p class=\"mt-1 text-xs text-desc\">\n\t\t\t\t\t{{ $t('settings.common.security.usernameRule') }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</n-form-item>\n\t<div class=\"mt-4px\">\n\t\t<n-button type=\"primary\" :disabled=\"!securityForm.username\" @click=\"handleSubmitUsername\">\n\t\t\t{{ $t('settings.common.confirm') }}\n\t\t</n-button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { setSystemConfigKey } from '@/api/modules/settings/common'\nimport { getSettingsStore } from '@/views/settings/common/store'\nimport { FormRules } from 'naive-ui'\n\nconst { t } = useI18n()\n\nconst { currentUsername, securityForm } = getSettingsStore()\n\nconst formItemRef = useTemplateRef('formItemRef')\n\nconst rules: FormRules = {\n\tusername: {\n\t\ttrigger: ['blur', 'input'],\n\t\tvalidator: () => {\n\t\t\tconst { username } = securityForm.value\n\t\t\tif (username.length < 4 || username.length > 20) {\n\t\t\t\treturn new Error(t('settings.common.security.usernameValidation.lengthError'))\n\t\t\t}\n\t\t\tif (!/^[a-zA-Z0-9_]+$/.test(username)) {\n\t\t\t\treturn new Error(t('settings.common.security.usernameValidation.formatError'))\n\t\t\t}\n\t\t\tif (username === currentUsername.value) {\n\t\t\t\treturn new Error(t('settings.common.security.usernameValidation.duplicateError'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\nconst handleSubmitUsername = async () => {\n\tawait formItemRef.value?.validate()\n\tawait setSystemConfigKey({ key: 'admin_username', value: securityForm.value.username })\n\tcurrentUsername.value = securityForm.value.username\n\tsecurityForm.value.username = ''\n}\n\ndefineExpose({\n\trules,\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/index.vue",
    "content": "<template>\n\t<div class=\"max-w-4xl mx-auto px-4 py-8\">\n\t\t<SecuritySettings />\n\t\t<NetworkSettings />\n\t\t<SystemSettings />\n\t\t<NotifySettings />\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useSettingsStore } from '@/views/settings/common/store'\n\nimport SecuritySettings from './components/SecuritySettings.vue'\nimport NetworkSettings from './components/NetworkSettings.vue'\nimport SystemSettings from './components/SystemSettings.vue'\nimport NotifySettings from './components/Notify/NotifySettings.vue'\n\nconst settingsStore = useSettingsStore()\n\nsettingsStore.getCommonConfig()\n\nonBeforeUnmount(() => {\n\tsettingsStore.reset()\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/store/index.ts",
    "content": "import { defineStore, storeToRefs } from 'pinia'\nimport { differenceInDays } from 'date-fns'\nimport { formatTime, isObject } from '@/utils'\nimport { getSystemConfig } from '@/api/modules/settings/common'\nimport type { SystemInfo, PasswordStrength } from '../types/base'\n\nexport const useSettingsStore = defineStore('SettingsCommonStore', () => {\n\tconst currentUsername = ref('')\n\n\tconst passwordMismatch = ref(false)\n\tconst passwordStrength = ref<PasswordStrength>({ level: 'weak', score: 0 })\n\n\tconst currentPath = ref('')\n\n\tconst securityForm = reactive({\n\t\tusername: '',\n\t\tnewPassword: '',\n\t\tconfirmPassword: '',\n\t\tsecurityPath: '',\n\t})\n\n\tconst networkForm = reactive({\n\t\tdomain: '',\n\t\tsslEnabled: true,\n\t\tsslCert: '',\n\t\tsslKey: '',\n\t})\n\n\tconst sslInfo = reactive({\n\t\tstatus: false,\n\t\texpireTime: '',\n\t\texpireDays: 0,\n\t})\n\n\tconst currentDomain = ref('')\n\n\tconst currentPort = ref('')\n\n\tconst portCommand = ref('')\n\n\tconst currentTime = ref('')\n\n\tconst timeCommand = ref('')\n\n\tconst serverIp = ref('')\n\n\tconst ipWhitelistEnable = ref(false)\n\tconst ipWhitelistList = ref<{ id: number; ip: string }[]>([])\n\n\tconst currentProxy = ref('')\n\n\tconst apiInfo = reactive({\n\t\tapi_doc_enabled: false,\n\t\tapi_doc_url: '',\n\t\tapi_token: '',\n\t\tswagger_url: '',\n\t})\n\n\tconst blacklistConfig = ref({\n\t\talert_enabled: false,\n\t\tauto_scan_enabled: false,\n\t\talert_settings: {\n\t\t\tname: '',\n\t\t\tsender_email: '',\n\t\t\tsmtp_password: '',\n\t\t\tsmtp_server: '',\n\t\t\tsmtp_port: 465,\n\t\t\trecipient_list: [] as string[],\n\t\t},\n\t})\n\n\tconst checkPasswordStrength = () => {\n\t\tconst password = securityForm.newPassword\n\t\tlet score = 0\n\n\t\tif (password.length >= 8) score++\n\t\tif (password.match(/[a-z]/)) score++\n\t\tif (password.match(/[A-Z]/)) score++\n\t\tif (password.match(/[0-9]/)) score++\n\t\tif (password.match(/[^a-zA-Z0-9]/)) score++\n\n\t\tif (score <= 2) {\n\t\t\tpasswordStrength.value = { level: 'weak', score }\n\t\t} else if (score <= 4) {\n\t\t\tpasswordStrength.value = { level: 'medium', score }\n\t\t} else {\n\t\t\tpasswordStrength.value = { level: 'strong', score }\n\t\t}\n\t}\n\n\tconst retentionDays = ref(0)\n\n\t// 获取设置信息\n\tconst getCommonConfig = async () => {\n\t\tconst res = await getSystemConfig()\n\t\tif (isObject<SystemInfo>(res)) {\n\t\t\tcurrentUsername.value = res.admin_username\n\t\t\tcurrentPath.value = res.safe_path\n\t\t\tcurrentDomain.value = res.billionmail_hostname\n\t\t\tserverIp.value = res.server_ip\n\t\t\tipWhitelistEnable.value = res.ip_whitelist_enable\n\t\t\tipWhitelistList.value = res.ip_whitelist\n\n\t\t\tretentionDays.value = res.retention_days\n\n\t\t\tif (res.manage_ports) {\n\t\t\t\tcurrentPort.value = `${res.manage_ports.https}`\n\t\t\t\tportCommand.value = res.manage_ports.command_https\n\t\t\t}\n\t\t\tif (res.manage_timezone) {\n\t\t\t\tcurrentTime.value = res.manage_timezone.timezone\n\t\t\t\ttimeCommand.value = res.manage_timezone.command\n\t\t\t}\n\t\t\tif (res.ssl) {\n\t\t\t\tnetworkForm.sslCert = res.ssl.certPem\n\t\t\t\tnetworkForm.sslKey = res.ssl.privateKey\n\t\t\t\tsslInfo.status = res.ssl.status\n\n\t\t\t\tconst expireDate = new Date(res.ssl.notAfter)\n\t\t\t\tsslInfo.expireTime = formatTime(expireDate, 'yyyy-MM-dd')\n\t\t\t\tsslInfo.expireDays = differenceInDays(expireDate, new Date())\n\t\t\t}\n\t\t\tif (res.reverse_proxy_domain) {\n\t\t\t\tcurrentProxy.value =\n\t\t\t\t\tres.reverse_proxy_domain.reverse_proxy || res.reverse_proxy_domain.current_url\n\t\t\t}\n\n\t\t\tif (res.api_doc_swagger) {\n\t\t\t\tapiInfo.api_doc_enabled = res.api_doc_swagger.api_doc_enabled\n\t\t\t\tapiInfo.api_doc_url = res.api_doc_swagger.api_doc_url\n\t\t\t\tapiInfo.api_token = res.api_doc_swagger.api_token\n\t\t\t\tapiInfo.swagger_url = res.api_doc_swagger.swagger_url\n\t\t\t}\n\n\t\t\tif (res.blacklist_config) {\n\t\t\t\tblacklistConfig.value = res.blacklist_config\n\t\t\t}\n\t\t}\n\t}\n\n\tconst reset = () => {\n\t\tsecurityForm.username = ''\n\t\tsecurityForm.newPassword = ''\n\t\tsecurityForm.confirmPassword = ''\n\t\tsecurityForm.securityPath = ''\n\t\tnetworkForm.domain = ''\n\t\tnetworkForm.sslEnabled = true\n\t\tnetworkForm.sslCert = ''\n\t\tnetworkForm.sslKey = ''\n\t\tsslInfo.status = false\n\t\tsslInfo.expireTime = ''\n\t\tsslInfo.expireDays = 0\n\t\tcurrentPort.value = ''\n\t\tportCommand.value = ''\n\t\tcurrentTime.value = ''\n\t\ttimeCommand.value = ''\n\t\tserverIp.value = ''\n\t\tpasswordMismatch.value = false\n\t\tpasswordStrength.value = { level: 'weak', score: 0 }\n\t\tapiInfo.api_doc_enabled = false\n\t\tapiInfo.api_doc_url = ''\n\t\tapiInfo.api_token = ''\n\t\tapiInfo.swagger_url = ''\n\t\tretentionDays.value = 0\n\t}\n\n\treturn {\n\t\t// 状态\n\t\tcurrentUsername,\n\t\tcurrentPath,\n\t\tpasswordMismatch,\n\t\tpasswordStrength,\n\t\tsecurityForm,\n\t\tnetworkForm,\n\t\tsslInfo,\n\t\tcurrentDomain,\n\t\tcurrentPort,\n\t\tportCommand,\n\t\tcurrentTime,\n\t\ttimeCommand,\n\t\tserverIp,\n\t\tipWhitelistEnable,\n\t\tipWhitelistList,\n\t\tcurrentProxy,\n\t\tapiInfo,\n\t\tblacklistConfig,\n\t\tretentionDays,\n\n\t\t// 方法\n\t\tcheckPasswordStrength,\n\t\tgetCommonConfig,\n\t\treset,\n\t}\n})\n\nexport const getSettingsStore = () => {\n\tconst store = useSettingsStore()\n\treturn {\n\t\t...store,\n\t\t...storeToRefs(store),\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/views/settings/common/types/base.ts",
    "content": "export interface NetworkSettings {\n\tdomain: string\n\tsslEnabled: boolean\n\tsslCert: string\n\tsslKey: string\n}\n\nexport interface SystemSettings {\n\tport: number\n\ttimezone: string\n\tcurrentTime: string\n}\n\nexport interface PasswordStrength {\n\tlevel: 'weak' | 'medium' | 'strong'\n\tscore: number\n}\n\nexport interface SystemInfo {\n\tadmin_username: string\n\tbillionmail_hostname: string\n\tsafe_path: string\n\tdb_name: string\n\tdb_user: string\n\tdb_pass: string\n\tredis_pass: string\n\tredis_port: string\n\tipv4_network: string\n\tfail2ban: boolean\n\tserver_ip: string\n\tretention_days: number\n\tip_whitelist_enable: boolean\n\tip_whitelist: Array<{\n\t\tid: number\n\t\tip: string\n\t}>\n\tmanage_ports: {\n\t\thttp: number\n\t\thttps: number\n\t\tcommand_https: string\n\t\tcommand_http: string\n\t}\n\tmanage_timezone: {\n\t\ttimezone: string\n\t\tcommand: string\n\t}\n\tssl: {\n\t\tcert_path: string\n\t\tkey_path: string\n\t\tcertPem: string\n\t\tprivateKey: string\n\t\tnotAfter: string\n\t\tnotBefore: string\n\t\tissuer: string\n\t\tsubject: string\n\t\tdns_names: any\n\t\tserial_number: string\n\t\tis_ca: boolean\n\t\tissuer_common_name: string\n\t\tsubject_common_name: string\n\t\tversion: number\n\t\tstatus: boolean\n\t}\n\treverse_proxy_domain: {\n\t\tcurrent_url: string\n\t\treverse_proxy: string\n\t}\n\tapi_doc_swagger: {\n\t\tapi_doc_enabled: boolean\n\t\tapi_doc_url: string\n\t\tapi_token: string\n\t\tswagger_url: string\n\t}\n\tblacklist_config: {\n\t\tauto_scan_enabled: boolean\n\t\talert_enabled: boolean\n\t\talert_settings: {\n\t\t\tname: string\n\t\t\tsender_email: string\n\t\t\tsmtp_password: string\n\t\t\tsmtp_server: string\n\t\t\tsmtp_port: number\n\t\t\trecipient_list: string[]\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/views/settings/forward/components/ForwardForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" width=\"480\">\n\t\t<bt-form ref=\"formRef\" class=\"pt-8px\" :model=\"form\" :rules=\"rules\">\n\t\t\t<n-form-item :label=\"t('settings.forward.form.status')\">\n\t\t\t\t<n-switch v-model:value=\"form.active\" :checked-value=\"1\" :unchecked-value=\"0\"></n-switch>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('settings.forward.form.forwardedUsers')\" path=\"address\">\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"form.address\"\n\t\t\t\t\t:disabled=\"isEdit\"\n\t\t\t\t\t:placeholder=\"t('settings.forward.form.forwardedUsersPlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item v-if=\"false\" :label=\"t('settings.forward.form.domain')\" path=\"domain\">\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"form.domain\"\n\t\t\t\t\t:placeholder=\"t('settings.forward.form.domainPlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"t('settings.forward.form.receivingUser')\" path=\"goto\">\n\t\t\t\t<n-input\n\t\t\t\t\tv-model:value=\"form.goto\"\n\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t:row=\"4\"\n\t\t\t\t\t:placeholder=\"t('settings.forward.form.receivingUserPlaceholder')\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { addForward, editForward } from '@/api/modules/settings/forward'\nimport type { Forward } from '../types/base'\n\nconst { t } = useI18n()\n\nconst isEdit = ref(false)\n\nconst title = computed(() =>\n\tisEdit.value ? t('settings.forward.edit') : t('settings.forward.add')\n)\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\tactive: 1,\n\taddress: '',\n\tdomain: '',\n\tgoto: '',\n})\n\nconst rules: FormRules = {}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ isEdit: boolean; row: Forward | null }>()\n\t\t\tconst { row } = state\n\t\t\tisEdit.value = state.isEdit\n\t\t\tif (row) {\n\t\t\t\tform.address = row.address\n\t\t\t\tform.goto = row.goto\n\t\t\t\tform.active = row.active\n\t\t\t}\n\t\t} else {\n\t\t\tform.address = ''\n\t\t\tform.goto = ''\n\t\t\tform.domain = ''\n\t\t\tform.active = 1\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tif (isEdit.value) {\n\t\t\tawait editForward(toRaw(form))\n\t\t} else {\n\t\t\tawait addForward(toRaw(form))\n\t\t}\n\t\tconst state = modalApi.getState<{ refresh: Function }>()\n\t\tstate.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/forward/index.vue",
    "content": "<template>\n\t<bt-table-layout>\n\t\t<template #toolsLeft>\n\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">{{ $t('settings.forward.add') }}</n-button>\n\t\t</template>\n\t\t<template #toolsRight>\n\t\t\t<n-button @click=\"handleRefresh\">\n\t\t\t\t{{ $t('common.actions.refresh') }}\n\t\t\t</n-button>\n\t\t</template>\n\t\t<template #table>\n\t\t\t<n-data-table :loading=\"loading\" :columns=\"columns\" :data=\"tableList\">\n\t\t\t\t<template #empty>\n\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t</template>\n\t\t\t</n-data-table>\n\t\t</template>\n\t\t<template #pageRight>\n\t\t\t<bt-table-page\n\t\t\t\tv-model:page=\"tableParams.page\"\n\t\t\t\tv-model:page-size=\"tableParams.page_size\"\n\t\t\t\t:item-count=\"tableTotal\"\n\t\t\t\t@refresh=\"getTableData\">\n\t\t\t</bt-table-page>\n\t\t</template>\n\t\t<template #modal>\n\t\t\t<form-modal />\n\t\t</template>\n\t</bt-table-layout>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex, NSwitch } from 'naive-ui'\nimport { confirm, formatTime } from '@/utils'\nimport { useTableData } from '@/hooks/useTableData'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { deleteForward, editForward, getForwardList } from '@/api/modules/settings/forward'\nimport type { Forward, ForwardParams } from './types/base'\n\nimport ForwardForm from './components/ForwardForm.vue'\n\nconst { t } = useI18n()\n\nconst { tableParams, tableList, loading, tableTotal, getTableData } = useTableData<\n\tForward,\n\tForwardParams\n>({\n\tloading: true,\n\timmediate: true,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tdomain: '',\n\t\tkeyword: '',\n\t},\n\tfetchFn: getForwardList,\n})\n\nconst columns = ref<DataTableColumns<Forward>>([\n\t{\n\t\tkey: 'address',\n\t\ttitle: t('settings.forward.columns.address'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'goto',\n\t\ttitle: t('settings.forward.columns.goto'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t// {\n\t// \tkey: 'domain',\n\t// \ttitle: t('settings.forward.columns.domain'),\n\t// \tellipsis: {\n\t// \t\ttooltip: true,\n\t// \t},\n\t// },\n\t{\n\t\tkey: 'create_time',\n\t\ttitle: t('settings.forward.columns.created'),\n\t\trender: row => {\n\t\t\treturn formatTime(row.create_time)\n\t\t},\n\t},\n\t{\n\t\tkey: 'update_time',\n\t\ttitle: t('settings.forward.columns.modified'),\n\t\trender: row => {\n\t\t\treturn formatTime(row.update_time)\n\t\t},\n\t},\n\t{\n\t\tkey: 'active',\n\t\ttitle: t('settings.forward.columns.status'),\n\t\trender: row => (\n\t\t\t<NSwitch\n\t\t\t\tsize=\"small\"\n\t\t\t\tvalue={row.active}\n\t\t\t\tchecked-value={1}\n\t\t\t\tunchecked-value={0}\n\t\t\t\tonUpdateValue={val => {\n\t\t\t\t\thandleSetStatus(val, row)\n\t\t\t\t}}\n\t\t\t/>\n\t\t),\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 120,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: ForwardForm,\n\tstate: {\n\t\tisEdit: false,\n\t\trefresh: getTableData,\n\t},\n})\n\nconst handleAdd = () => {\n\tformModalApi.setState({ isEdit: false, row: null })\n\tformModalApi.open()\n}\n\nconst handleRefresh = () => {\n\tgetTableData(true)\n}\n\nconst handleEdit = (row: Forward) => {\n\tformModalApi.setState({ isEdit: true, row })\n\tformModalApi.open()\n}\n\nconst handleSetStatus = async (val: number, row: Forward) => {\n\tawait editForward({ address: row.address, goto: row.goto, active: val })\n\tgetTableData()\n}\n\nconst handleDelete = (row: Forward) => {\n\tconfirm({\n\t\ttitle: t('settings.forward.delete.title'),\n\t\tcontent: t('settings.forward.delete.content', { address: row.address }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteForward({ address: row.address })\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/forward/types/base.ts",
    "content": "export type Forward = {\n\taddress: string\n\tgoto: string\n\tdomain: string\n\tcreate_time: number\n\tupdate_time: number\n\tactive: number\n}\n\nexport type ForwardParams = {\n\tkeyword: string\n\tdomain: string\n\tpage: number\n\tpage_size: number\n}\n"
  },
  {
    "path": "core/frontend/src/views/settings/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<bt-route-tabs></bt-route-tabs>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup></script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/rspamd/index.vue",
    "content": "<template>\n\t<div class=\"h-full p-20px\">\n\t\t<n-breadcrumb class=\"mb-16px\">\n\t\t\t<n-breadcrumb-item>\n\t\t\t\t<router-link to=\"/settings\">{{ $t('layout.menu.settings') }}</router-link>\n\t\t\t</n-breadcrumb-item>\n\t\t\t<n-breadcrumb-item>\n\t\t\t\t<router-link to=\"/settings/service\">{{ $t('layout.menu.service') }}</router-link>\n\t\t\t</n-breadcrumb-item>\n\t\t\t<n-breadcrumb-item>Rspamd</n-breadcrumb-item>\n\t\t</n-breadcrumb>\n\t\t<iframe class=\"w-full\" :src=\"src\"></iframe>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isDev } from '@/utils'\n\nconst src = ref(`${window.location.origin}${isDev ? '/api' : ''}/rspamd/`)\n</script>\n\n<style lang=\"scss\" scoped>\niframe {\n\theight: calc(100% - 30px);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/send-queue/components/param-config.vue",
    "content": "<template>\n\t<bt-modal\n\t\tv-model:show=\"show\"\n\t\t:width=\"520\"\n\t\t:title=\"$t('overview.sendQueue.paramConfig.title')\"\n\t\t@confirm=\"onConfirm\">\n\t\t<bt-form class=\"pt-8px\">\n\t\t\t<n-form-item :label=\"$t('overview.sendQueue.paramConfig.fields.bounceQueueLifetime')\">\n\t\t\t\t<n-input v-model:value=\"form.bounce_queue_lifetime\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('overview.sendQueue.paramConfig.fields.maximalQueueLifetime')\">\n\t\t\t\t<n-input v-model:value=\"form.maximal_queue_lifetime\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('overview.sendQueue.paramConfig.fields.minimalBackoffTime')\">\n\t\t\t\t<n-input v-model:value=\"form.minimal_backoff_time\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('overview.sendQueue.paramConfig.fields.maximalBackoffTime')\">\n\t\t\t\t<n-input v-model:value=\"form.maximal_backoff_time\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('overview.sendQueue.paramConfig.fields.queueRunDelay')\">\n\t\t\t\t<n-input v-model:value=\"form.queue_run_delay\" />\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('overview.sendQueue.paramConfig.fields.triggerTimeout')\">\n\t\t\t\t<n-input v-model:value=\"form.trigger_timeout\" />\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</bt-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isObject } from '@/utils'\nimport { getSendQueueConfig, setSendQueueConfig } from '@/api/modules/overview'\n\nconst show = ref(false)\n\nconst form = reactive({\n\tbounce_queue_lifetime: '',\n\tmaximal_queue_lifetime: '',\n\tminimal_backoff_time: '',\n\tmaximal_backoff_time: '',\n\tqueue_run_delay: '',\n\ttrigger_timeout: '',\n})\n\nconst getConfig = async () => {\n\tconst res = await getSendQueueConfig()\n\tif (isObject(res)) {\n\t\tObject.assign(form, res)\n\t}\n}\n\nconst onConfirm = async () => {\n\tawait setSendQueueConfig(toRaw(form))\n}\n\nconst open = () => {\n\tshow.value = true\n\tgetConfig()\n}\n\ndefineExpose({\n\topen,\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/send-queue/components/queue-logs.vue",
    "content": "<template>\n\t<bt-modal v-model:show=\"show\" :title=\"$t('overview.sendQueue.queueLogs.title')\" :width=\"800\" :footer=\"false\">\n\t\t<n-spin :show=\"loading\">\n\t\t\t<bt-logs height=\"520px\" :code=\"content\"></bt-logs>\n\t\t</n-spin>\n\t</bt-modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getSendQueueInfo } from '@/api/modules/overview'\nimport { isString } from '@/utils'\n\nconst show = ref(false)\n\nconst loading = ref(false)\n\nconst content = ref('')\n\nconst open = async (id: string) => {\n\tshow.value = true\n\tloading.value = true\n\tcontent.value = ''\n\ttry {\n\t\tconst res = await getSendQueueInfo({ queue_id: id })\n\t\tif (isString(res)) {\n\t\t\tcontent.value = res\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ndefineExpose({\n\topen,\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/send-queue/index.vue",
    "content": "<template>\n\t<bt-table-layout>\n\t\t<template #toolsLeft>\n\t\t\t<n-button type=\"primary\" @click=\"fetchTable()\">\n\t\t\t\t{{ $t('overview.sendQueue.buttons.refresh') }}\n\t\t\t</n-button>\n\t\t\t<n-button @click=\"onClear\">{{ $t('overview.sendQueue.buttons.quickClear') }}</n-button>\n\t\t\t<n-button @click=\"onShowConfig\">\n\t\t\t\t{{ $t('overview.sendQueue.buttons.paramConfig') }}\n\t\t\t</n-button>\n\t\t</template>\n\t\t<template #table>\n\t\t\t<n-data-table v-bind=\"tableProps\" max-height=\"540px\" :columns=\"columns\"></n-data-table>\n\t\t</template>\n\t\t<template #pageLeft>\n\t\t\t<bt-table-batch v-bind=\"batchProps\" :options=\"batchOptions\" @select=\"onSelectBatch\">\n\t\t\t</bt-table-batch>\n\t\t</template>\n\t\t<template #modal>\n\t\t\t<param-config-modal ref=\"configModalRef\"></param-config-modal>\n\t\t\t<queue-logs-modal ref=\"logsModalRef\"></queue-logs-modal>\n\t\t</template>\n\t</bt-table-layout>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex, SelectOption } from 'naive-ui'\nimport { confirm, formatTime, getByteUnit } from '@/utils'\nimport { useDataTable } from '@/hooks/useDataTable'\nimport {\n\tgetSendQueueList,\n\tdeleteSendQueue,\n\tresendQueue,\n\tclearSendQueue,\n} from '@/api/modules/overview'\nimport type { SendQueue } from './types'\n\nimport ParamConfigModal from './components/param-config.vue'\nimport QueueLogsModal from './components/queue-logs.vue'\n\nconst { t } = useI18n()\n\nconst configModalRef = useTemplateRef('configModalRef')\nconst logsModalRef = useTemplateRef('logsModalRef')\n\nconst onShowConfig = () => {\n\tconfigModalRef.value?.open()\n}\n\nconst onClear = () => {\n\tconfirm({\n\t\ttitle: t('overview.sendQueue.confirm.quickClear.title'),\n\t\tcontent: t('overview.sendQueue.confirm.quickClear.content'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait clearSendQueue()\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst { tableProps, batchProps, fetchTable } = useDataTable<SendQueue>({\n\tparams: {},\n\tfetchFn: getSendQueueList,\n\trowKey: row => row.queue_id,\n})\n\nconst columns = ref<DataTableColumns<SendQueue>>([\n\t{\n\t\twidth: 40,\n\t\ttype: 'selection',\n\t},\n\t{\n\t\tkey: 'queue_id',\n\t\ttitle: 'ID',\n\t\twidth: '8%',\n\t\tminWidth: '90px',\n\t\trender: row => (\n\t\t\t<NButton\n\t\t\t\ttype=\"primary\"\n\t\t\t\ttext\n\t\t\t\tonClick={() => {\n\t\t\t\t\tlogsModalRef.value?.open(row.queue_id)\n\t\t\t\t}}>\n\t\t\t\t{row.queue_id}\n\t\t\t</NButton>\n\t\t),\n\t},\n\t{\n\t\tkey: 'sender',\n\t\ttitle: t('overview.sendQueue.table.columns.sender'),\n\t\twidth: '10%',\n\t\tminWidth: '120px',\n\t},\n\t{\n\t\tkey: 'recipient',\n\t\ttitle: t('overview.sendQueue.table.columns.recipient'),\n\t\twidth: '10%',\n\t\tminWidth: '120px',\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'arrival_time',\n\t\ttitle: t('overview.sendQueue.table.columns.arrivalTime'),\n\t\twidth: '12%',\n\t\tminWidth: '130px',\n\t\trender: row => formatTime(row.arrival_time),\n\t},\n\t{\n\t\tkey: 'message_size',\n\t\ttitle: t('overview.sendQueue.table.columns.messageSize'),\n\t\twidth: '8%',\n\t\tminWidth: '80px',\n\t\trender: row => getByteUnit(row.message_size),\n\t},\n\t{\n\t\tkey: 'delay_reason',\n\t\ttitle: t('overview.sendQueue.table.columns.delayReason'),\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t},\n\t{\n\t\tkey: 'action',\n\t\ttitle: t('overview.sendQueue.table.columns.action'),\n\t\talign: 'right',\n\t\twidth: 120,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleResend(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('overview.sendQueue.buttons.resend')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst handleResend = async (row: SendQueue) => {\n\tconfirm({\n\t\ttitle: t('overview.sendQueue.confirm.resend.title'),\n\t\tcontent: t('overview.sendQueue.confirm.resend.content'),\n\t\tonConfirm: async () => {\n\t\t\tawait resendQueue({ queue_ids: [row.queue_id] })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst handleDelete = async (row: SendQueue) => {\n\tconfirm({\n\t\ttitle: t('overview.sendQueue.confirm.delete.title'),\n\t\tcontent: t('overview.sendQueue.confirm.delete.content'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteSendQueue({ queue_ids: [row.queue_id] })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst batchOptions: SelectOption[] = [\n\t{\n\t\tlabel: t('overview.sendQueue.buttons.batchDelete'),\n\t\tvalue: 'delete',\n\t},\n\t{\n\t\tlabel: t('overview.sendQueue.buttons.batchResend'),\n\t\tvalue: 'resend',\n\t},\n]\n\nconst onSelectBatch = (key: string, keys: string[]) => {\n\tswitch (key) {\n\t\tcase 'delete':\n\t\t\thandleBatchDelete(keys)\n\t\t\tbreak\n\t\tcase 'resend':\n\t\t\thandleBatchResend(keys)\n\t\t\tbreak\n\t}\n}\n\nconst handleBatchDelete = async (keys: string[]) => {\n\tconfirm({\n\t\ttitle: t('overview.sendQueue.confirm.batchDelete.title'),\n\t\tcontent: t('overview.sendQueue.confirm.batchDelete.content', { count: keys.length }),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteSendQueue({ queue_ids: keys })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n\nconst handleBatchResend = async (keys: string[]) => {\n\tconfirm({\n\t\ttitle: t('overview.sendQueue.confirm.batchResend.title'),\n\t\tcontent: t('overview.sendQueue.confirm.batchResend.content', { count: keys.length }),\n\t\tonConfirm: async () => {\n\t\t\tawait resendQueue({ queue_ids: keys })\n\t\t\tfetchTable()\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/send-queue/types/index.ts",
    "content": "export type SendQueue = {\n\tqueue_id: string\n\tsender: string\n\trecipients: any\n\tarrival_time: number\n\tdelay_reason: string\n\tmessage_size: number\n\tqueue_name: string\n\tforced_expire: boolean\n\trecipient: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/settings/service/components/ServiceConfig.vue",
    "content": "<template>\n\t<modal :title=\"title\" :width=\"800\">\n\t\t<div class=\"mb-16px\">\n\t\t\t<div class=\"text-desc\">\n\t\t\t\t{{ t('settings.service.tips') }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"h-560px\">\n\t\t\t<bt-editor v-model:value=\"content\" @save=\"saveConfig\"></bt-editor>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { isObject } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getServiceConfig, saveServiceConfig } from '@/api/modules/settings'\nimport type { DockerService } from '../types/common'\n\nconst { t } = useI18n()\n\nconst name = ref('')\n\nconst content = ref('')\n\nconst title = computed(() => {\n\treturn t('settings.service.editTitle', { name: name.value })\n})\n\nconst getConfig = async () => {\n\tconst res = await getServiceConfig({ service_type: name.value })\n\tif (isObject<{ content: string }>(res)) {\n\t\tcontent.value = res.content\n\t}\n}\n\nconst saveConfig = async () => {\n\tawait saveServiceConfig({\n\t\tservice_type: name.value,\n\t\tcontent: content.value,\n\t})\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: async isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst { row } = modalApi.getState<{ row: DockerService }>()\n\t\t\tname.value = row.Names[0].trim()\n\t\t\tgetConfig()\n\t\t} else {\n\t\t\tname.value = ''\n\t\t\tcontent.value = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait saveConfig()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/service/components/SettingsService.vue",
    "content": "<template>\n\t<div>\n\t\t<n-data-table :loading=\"loading\" :data=\"serviceList\" :columns=\"columns\"></n-data-table>\n\t\t<config-modal></config-modal>\n\t</div>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { NButton, NTag, DataTableColumns, NFlex } from 'naive-ui'\nimport { confirm, isArray } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { getServiceList, restartService } from '@/api/modules/settings'\nimport type { DockerService } from '../types/common'\n\nimport ServiceConfig from './ServiceConfig.vue'\n\nconst { t } = useI18n()\n\nconst router = useRouter()\n\nconst loading = ref(false)\nconst serviceList = ref<DockerService[]>([])\n\nconst getConfigDisabled = (name: string) => {\n\treturn name.includes('rspamd') || name.includes('postfix') || name.includes('dovecot')\n}\n\nconst columns = ref<DataTableColumns<DockerService>>([\n\t{\n\t\tkey: 'Names',\n\t\ttitle: t('settings.service.columns.name'),\n\t\trender: row => {\n\t\t\treturn row.Names[0]\n\t\t},\n\t},\n\t{\n\t\tkey: 'State',\n\t\ttitle: t('settings.service.columns.status'),\n\t\trender: row => {\n\t\t\treturn (\n\t\t\t\t<NTag size=\"small\" bordered={false} type={row.State === 'running' ? 'success' : 'error'}>\n\t\t\t\t\t{row.State === 'running'\n\t\t\t\t\t\t? t('settings.service.status.running')\n\t\t\t\t\t\t: t('settings.service.status.stopped')}\n\t\t\t\t</NTag>\n\t\t\t)\n\t\t},\n\t},\n\t{\n\t\tkey: 'action',\n\t\ttitle: t('common.columns.actions'),\n\t\talign: 'right',\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t{row.Names[0].includes('rspamd') ? (\n\t\t\t\t\t<NButton\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\ttext\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\trouter.push('/settings/rspamd')\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\tGUI\n\t\t\t\t\t</NButton>\n\t\t\t\t) : null}\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext\n\t\t\t\t\tdisabled={!getConfigDisabled(row.Names[0])}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleShowConfig(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.config')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleRestart(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.restart')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst handleRestart = async (row: DockerService) => {\n\tconfirm({\n\t\ttitle: t('settings.service.restart.title'),\n\t\tcontent: t('settings.service.restart.confirm', { name: row.Names[0] }),\n\t\tconfirmText: t('common.actions.confirm'),\n\t\tonConfirm: async () => {\n\t\t\tawait restartService({ container_id: row.Id })\n\t\t\tgetList()\n\t\t},\n\t})\n}\n\nconst [ConfigModal, configModalApi] = useModal({\n\tcomponent: ServiceConfig,\n})\n\nconst handleShowConfig = (row: DockerService) => {\n\tconfigModalApi.setState({ row: row })\n\tconfigModalApi.open()\n}\n\nconst getList = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getServiceList()\n\t\tif (isArray<DockerService>(res)) {\n\t\t\tserviceList.value = res\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\ngetList()\n</script>\n\n<style lang=\"scss\" scoped>\n.settings-title {\n\tmargin-bottom: 16px;\n\tfont-size: 16px;\n\tfont-weight: 600;\n\tcolor: var(--color-text-2);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/settings/service/index.vue",
    "content": "<template>\n\t<settings-service />\n</template>\n\n<script lang=\"ts\" setup>\nimport SettingsService from './components/SettingsService.vue'\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/settings/service/types/common.ts",
    "content": "export interface DockerService {\n\tId: string\n\tNames: string[]\n\tState: string\n\tStatus: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/smtp/components/SmtpCard.vue",
    "content": "<template>\n\t<div class=\"smtp-card relative rounded-8px p-16px shadow-sm\">\n\t\t<div class=\"flex items-center mb-16px\">\n\t\t\t<div class=\"flex items-center flex-1\">\n\t\t\t\t<div class=\"w-32px h-32px flex items-center justify-center rounded-full bg-primary-100\">\n\t\t\t\t\t<img :src=\"iconSrc\" class=\"w-full h-full object-contain\"></img>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-16px flex items-center gap-10px flex-1 min-w-0\">\n\t\t\t\t\t<div class=\"text-18px font-600 truncate\">{{ service.smtp_name }}</div>\n\t\t\t\t\t<smtp-status :value=\"service.smtp_status.status\"></smtp-status>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"ml-8px\">\n\t\t\t\t<n-switch :value=\"service.active\" :checked-value=\"1\" :unchecked-value=\"0\" @update:value=\"handleUpdateActive\"></n-switch>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"smtp-desc\">{{ service.remark }}</div>\n\t\t<div class=\"smtp-info\">\n\t\t\t<div class=\"info-row\">\n\t\t\t\t<span class=\"info-label\">{{ $t('smtp.card.domain') }}：</span>\n\t\t\t\t<span class=\"info-value flex flex-wrap gap-8px\">\n\t\t\t\t\t<n-tag v-for=\"domain in service.sender_domains\" :key=\"domain\" :bordered=\"false\">{{ domain }}</n-tag>\n\t\t\t\t\t<n-tag v-if=\"service.check_spf === 1\" type=\"warning\" class=\"cursor-pointer\" :bordered=\"false\" @click=\"handleShowDns\">\n\t\t\t\t\t\t<div class=\"flex items-center gap-4px\">\n\t\t\t\t\t\t\t<i class=\"i-carbon:warning-filled text-16px\"></i>\n\t\t\t\t\t\t\t<span>{{ $t('smtp.card.dnsUpdateRequired') }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-tag>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"info-row\">\n\t\t\t\t<span class=\"info-label\">{{ $t('smtp.card.server') }}：</span>\n\t\t\t\t<span class=\"info-value\">\n\t\t\t\t\t<n-ellipsis>{{ service.relay_host }}</n-ellipsis>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"info-row\">\n\t\t\t\t<span class=\"info-label\">{{ $t('smtp.card.port') }}：</span>\n\t\t\t\t<span class=\"info-value\">{{ service.relay_port }}</span>\n\t\t\t</div>\n\t\t\t<div class=\"info-row\">\n\t\t\t\t<span class=\"info-label\">{{ $t('smtp.card.username') }}：</span>\n\t\t\t\t<span class=\"info-value truncate\">{{ service.auth_user }}</span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"action-buttons\">\n\t\t\t\n\t\t\t<n-button secondary class=\"action-btn\" @click=\"handleEdit\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<i class=\"i-mdi-edit\"></i>\n\t\t\t\t</template>\n\t\t\t</n-button>\n\t\t\t<n-button secondary class=\"action-btn\" @click=\"handleDelete\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<i class=\"i-mdi-delete\"></i>\n\t\t\t\t</template>\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { editSmtp } from '@/api/modules/smtp'\nimport { SmtpService } from '../types/base'\nimport SmtpStatus from './SmtpStatus.vue'\nimport GmailImg from '@/assets/images/smtp/gmail.svg'\nimport MailgunImg from '@/assets/images/smtp/mailgun.svg'\nimport AwsImg from '@/assets/images/smtp/aws-ses.svg'\nimport SendgridImg from '@/assets/images/smtp/sendgrid.svg'\nimport LocalhostImg from '@/assets/images/smtp/localhost.svg'\nimport CustomImg from '@/assets/images/smtp/custom.svg'\n\nconst { service } = defineProps({\n\tservice: {\n\t\ttype: Object as PropType<SmtpService>,\n\t\trequired: true,\n\t}\n})\n\nconst emit = defineEmits<{\n\tedit: [service: SmtpService],\n\tdelete: [service: SmtpService],\n\tshowDns: [service: SmtpService]\n}>()\n\nconst iconSrc = computed(() => {\n\tswitch (service.smtp_name) {\n\t\tcase 'Gmail':\n\t\t\treturn GmailImg\n\t\tcase 'Mailgun':\n\t\t\treturn MailgunImg\n\t\tcase 'AWS SES':\n\t\t\treturn AwsImg\n\t\tcase 'SendGrid':\n\t\t\treturn SendgridImg\n\t\tcase 'custom':\n\t\t\treturn CustomImg\n\t\tcase 'local':\n\t\t\treturn LocalhostImg\n\t\tdefault:\n\t\t\treturn CustomImg\n\t}\n})\n\nconst handleEdit = () => {\n\temit('edit', service)\n}\n\nconst handleDelete = () => {\n\temit('delete', service)\n}\n\nconst handleShowDns = () => {\n\temit('showDns', service)\n}\n\nconst handleUpdateActive = async (val: number) => {\n\tawait editSmtp({\n\t\tid: service.id,\n\t\tactive: val,\n\t})\n\tservice.active = val\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.smtp-card {\n\tmin-height: 180px;\n\ttransition: all 0.3s ease;\n\tborder: 1px solid rgba(0, 0, 0, 0.05);\n\tbackground-color: var(--color-bg-1);\n\n\t&:hover {\n\t\tbox-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);\n\t\ttransform: translateY(-2px);\n\t}\n}\n\n.smtp-desc {\n\tmargin-bottom: 16px;\n\tfont-size: 14px;\n\tcolor: var(--color-text-2);\n}\n\n.smtp-info {\n\tmargin-bottom: 16px;\n\t.info-row {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tline-height: 20px;\n\t\tfont-size: 13px;\n\t\t& + .info-row {\n\t\t\tmargin-top: 8px;\n\t\t}\n\n\t\t.info-label {\n\t\t\tcolor: var(--color-text-2);\n\t\t\tmin-width: 120px;\n\t\t\tfont-weight: 400;\n\t\t}\n\n\t\t.info-value {\n\t\t\tflex: 1;\n\t\t\twidth: 0;\n\t\t\tcolor: var(--color-text-1);\n\t\t\tfont-weight: 500;\n\t\t}\n\t}\n}\n\n.action-buttons {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tgap: 12px;\n\t\n\t.action-btn {\n\t\t--n-width: 32px;\n\t\t--n-height: 32px;\n\t\t--n-padding: 0;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/smtp/components/SmtpDns.vue",
    "content": "<template>\n\t<modal title=\"SMTP DNS\" :width=\"750\" :footer=\"false\">\n\t\t<div class=\"record-desc\">\n\t\t\t需要调整对应域的spf记录，允许中继发送邮件（如果您已经添加可以忽略）\n\t\t</div>\n\t\t<n-table size=\"small\">\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th width=\"140\">{{ $t('domain.dns.table.recordType') }}</th>\n\t\t\t\t\t<th width=\"160\">{{ $t('domain.dns.table.host') }}</th>\n\t\t\t\t\t<th>{{ $t('domain.dns.table.value') }}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<tr v-for=\"item of list\">\n\t\t\t\t\t<td>TXT</td>\n\t\t\t\t\t<td>{{ item.host }}</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<n-ellipsis class=\"mr-4px max-w-320px!\">{{ item.value }}</n-ellipsis>\n\t\t\t\t\t\t<n-button text type=\"primary\" @click=\"() => copyText(item.value)\">\n\t\t\t\t\t\t\t{{ $t('common.actions.copy') }}\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</n-table>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useCopy } from '@/hooks/useCopy'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { SmtpService } from '../types/base'\n\nconst { copyText } = useCopy()\n\nconst list = ref<\n\tArray<{\n\t\ttype: string\n\t\thost: string\n\t\tvalue: string\n\t}>\n>([])\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst { smtp } = modalApi.getState<{ smtp: SmtpService }>()\n\t\t\tif (smtp) {\n\t\t\t\tlist.value = smtp.spf_records.filter(item => item.check === 1).map(item => item.dns_record)\n\t\t\t}\n\t\t\t// const state = modalApi.getState<{ row: MailDomain | null }>()\n\t\t\t// const { row } = state\n\t\t\t// if (row) {\n\t\t\t// \tstatusData.value = [row]\n\t\t\t// }\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.record-desc {\n\tmargin-bottom: 10px;\n\tfont-size: 12px;\n\tcolor: var(--color-text-2);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/smtp/components/SmtpForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" width=\"500\">\n\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\" class=\"pt-16px\">\n\t\t\t<n-grid :cols=\"1\" :x-gap=\"24\">\n\t\t\t\t<n-form-item-gi :span=\"1\" :label=\"$t('smtp.form.remark')\" path=\"remark\">\n\t\t\t\t\t<n-input v-model:value=\"form.remark\"></n-input>\n\t\t\t\t</n-form-item-gi>\n\t\t\t</n-grid>\n\t\t\t<n-form-item :label=\"$t('smtp.form.domain')\" :path=\"isEdit ? '' : 'sender_domains'\">\n\t\t\t\t<n-select\n\t\t\t\t\tv-model:value=\"form.sender_domains\"\n\t\t\t\t\tmultiple\n\t\t\t\t\tmax-tag-count=\"responsive\"\n\t\t\t\t\t:options=\"domainOptions\">\n\t\t\t\t</n-select>\n\t\t\t</n-form-item>\n\t\t\t<n-grid :cols=\"8\" :x-gap=\"24\">\n\t\t\t\t<n-form-item-gi :span=\"6\" :label=\"$t('smtp.form.server')\" path=\"relay_host\">\n\t\t\t\t\t<n-input v-model:value=\"form.relay_host\"></n-input>\n\t\t\t\t</n-form-item-gi>\n\t\t\t\t<n-form-item-gi :span=\"2\" :label=\"$t('smtp.form.port')\" path=\"relay_port\">\n\t\t\t\t\t<n-input-number\n\t\t\t\t\t\tv-model:value=\"form.relay_port\"\n\t\t\t\t\t\tclass=\"flex-1\"\n\t\t\t\t\t\t:show-button=\"false\"\n\t\t\t\t\t\t:min=\"1\">\n\t\t\t\t\t</n-input-number>\n\t\t\t\t</n-form-item-gi>\n\t\t\t</n-grid>\n\t\t\t<n-form-item :label=\"$t('smtp.form.username')\" path=\"auth_user\">\n\t\t\t\t<n-input v-model:value=\"form.auth_user\"></n-input>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item :label=\"$t('smtp.form.password')\" path=\"auth_password\">\n\t\t\t\t<n-input v-model:value=\"form.auth_password\" class=\"password-input\" type=\"password\">\n\t\t\t\t</n-input>\n\t\t\t</n-form-item>\n\t\t\t<bt-more :title=\"$t('smtp.form.advancedFeatures')\">\n\t\t\t\t<n-form-item :label=\"$t('smtp.form.authMethod')\" path=\"auth_method\">\n\t\t\t\t\t<n-select v-model:value=\"form.auth_method\" :options=\"authMethodOptions\"> </n-select>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('smtp.form.skipTlsVerify')\" path=\"skip_tls_verify\">\n\t\t\t\t\t<n-select v-model:value=\"form.skip_tls_verify\" :options=\"tlsOptions\"> </n-select>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item label=\"HELO Name\" path=\"helo_name\">\n\t\t\t\t\t<n-input v-model:value=\"form.helo_name\"> </n-input>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-more>\n\t\t</bt-form>\n\t\t<template #footer-left>\n\t\t\t<n-button type=\"primary\" ghost @click=\"onTest\">{{ $t('smtp.form.testConnection') }}</n-button>\n\t\t</template>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules, SelectOption } from 'naive-ui'\nimport { getNumber, isArray } from '@/utils'\nimport { addSmtp, editSmtp, getUnbindDomains, testSmtp } from '@/api/modules/smtp'\nimport { useModal } from '@/hooks/modal/useModal'\nimport type { SmtpService } from '../types/base'\n\nconst { t } = useI18n()\n\nconst isEdit = ref(false)\n\nconst title = computed(() => {\n\treturn isEdit.value ? t('smtp.form.editTitle') : t('smtp.form.addTitle')\n})\n\nconst id = ref(0)\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\trtype: 'custom',\n\tsmtp_name: '',\n\tsender_domains: [] as string[],\n\trelay_host: '',\n\trelay_port: 587,\n\tauth_user: '',\n\tauth_password: '',\n\tremark: '',\n\tactive: 1,\n\tauth_method: null as string | null,\n\tskip_tls_verify: null as number | null,\n\thelo_name: '',\n})\n\nconst rules: FormRules = {\n\tsmtp_name: {\n\t\trequired: true,\n\t\tmessage: t('smtp.form.validation.nameRequired'),\n\t\ttrigger: ['blur', 'input'],\n\t},\n\trelay_host: {\n\t\trequired: true,\n\t\tmessage: t('smtp.form.validation.serverRequired'),\n\t\ttrigger: ['blur', 'input'],\n\t},\n\trelay_port: {\n\t\trequired: true,\n\t\ttrigger: ['blur', 'input'],\n\t\tvalidator: (rule, value) => {\n\t\t\tif (!value) {\n\t\t\t\treturn new Error(t('smtp.form.validation.portRequired'))\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n}\n\nconst domainOptions = ref<SelectOption[]>([])\n\nconst authMethodOptions: SelectOption[] = [\n\t{ label: 'LOGIN', value: 'LOGIN' },\n\t{ label: 'PLAIN', value: 'PLAIN' },\n\t{ label: 'CRAM-MD5', value: 'CRAM-MD5' },\n\t{ label: 'NONE', value: 'NONE' },\n]\n\nconst tlsOptions: SelectOption[] = [\n\t{ label: t('smtp.form.tlsOptions.skip'), value: 1 },\n\t{ label: t('smtp.form.tlsOptions.noSkip'), value: 0 },\n]\n\nconst getDomainList = async () => {\n\tconst res = await getUnbindDomains()\n\tif (isArray<{ domain: string; is_bound: boolean }>(res)) {\n\t\tdomainOptions.value = res.map(item => {\n\t\t\treturn {\n\t\t\t\tlabel: `${item.domain}${!form.sender_domains.includes(item.domain) && item.is_bound ? t('smtp.form.bind') : ''}`,\n\t\t\t\tvalue: item.domain,\n\t\t\t\tdisabled: !form.sender_domains.includes(item.domain) && item.is_bound,\n\t\t\t}\n\t\t})\n\t}\n}\n\nconst typeMap = {\n\tgmail: {\n\t\tsmtp_name: 'Gmail',\n\t\trelay_host: 'smtp.gmail.com',\n\t\trelay_port: 587,\n\t\tusername: '',\n\t\tpassword: '',\n\t\tremark: 'Gmail',\n\t},\n\tmailgun: {\n\t\tsmtp_name: 'Mailgun',\n\t\trelay_host: 'smtp.mailgun.org',\n\t\trelay_port: 587,\n\t\tusername: '',\n\t\tpassword: '',\n\t\tremark: 'Mailgun',\n\t},\n\taws: {\n\t\tsmtp_name: 'AWS SES',\n\t\trelay_host: 'email-smtp.us-east-1.amazonaws.com',\n\t\trelay_port: 587,\n\t\tusername: '',\n\t\tpassword: '',\n\t\tremark: 'AWS SES',\n\t},\n\tsendgrid: {\n\t\tsmtp_name: 'SendGrid',\n\t\trelay_host: 'smtp.sendgrid.net',\n\t\trelay_port: 587,\n\t\tusername: 'apikey',\n\t\tpassword: '',\n\t\tremark: 'SendGrid',\n\t},\n\tcustom: {\n\t\tsmtp_name: 'Custom SMTP Relay',\n\t\trelay_host: '',\n\t\trelay_port: 587,\n\t\tusername: '',\n\t\tpassword: '',\n\t\tremark: 'Custom SMTP Relay',\n\t},\n}\n\nconst generateForm = () => {\n\tconst data = typeMap[form.rtype as keyof typeof typeMap]\n\tif (data) {\n\t\tform.smtp_name = data.smtp_name\n\t\tform.relay_host = data.relay_host\n\t\tform.relay_port = data.relay_port\n\t\tform.auth_user = data.username\n\t\tform.auth_password = data.password\n\t\tform.remark = data.remark\n\t}\n}\n\nconst resetForm = () => {\n\tid.value = 0\n\n\tform.smtp_name = ''\n\tform.sender_domains = []\n\tform.relay_host = ''\n\tform.relay_port = 587\n\tform.auth_user = ''\n\tform.auth_password = ''\n\tform.remark = ''\n\tform.active = 1\n\tform.skip_tls_verify = null\n\tform.auth_method = null\n\tform.helo_name = ''\n}\n\nconst onTest = async () => {\n\tawait formRef.value?.validate()\n\tawait testSmtp({\n\t\tsender_domains: form.sender_domains,\n\t\trelay_host: form.relay_host,\n\t\trelay_port: form.relay_port,\n\t\tauth_user: form.auth_user,\n\t\tauth_password: form.auth_password,\n\t})\n}\n\nconst getParams = () => {\n\treturn {\n\t\trtype: form.rtype,\n\t\tsmtp_name: form.smtp_name,\n\t\tsender_domains: form.sender_domains,\n\t\trelay_host: form.relay_host,\n\t\trelay_port: form.relay_port,\n\t\tauth_user: form.auth_user,\n\t\tauth_password: form.auth_password,\n\t\tremark: form.remark,\n\t\tactive: form.active,\n\t\tskip_tls_verify: form.skip_tls_verify || '',\n\t\tauth_method: form.auth_method || '',\n\t\thelo_name: form.helo_name,\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tgetDomainList()\n\n\t\t\tconst state = modalApi.getState<{ isEdit: boolean; type: string; row: SmtpService | null }>()\n\t\t\tform.rtype = state.type\n\t\t\tisEdit.value = state.isEdit\n\t\t\tgenerateForm()\n\n\t\t\tif (state.row) {\n\t\t\t\tconst { row } = state\n\t\t\t\tid.value = row.id\n\t\t\t\tform.rtype = row.rtype\n\t\t\t\tform.smtp_name = row.smtp_name\n\t\t\t\tform.sender_domains = row.sender_domains\n\t\t\t\tform.relay_host = row.relay_host\n\t\t\t\tform.relay_port = getNumber(row.relay_port)\n\t\t\t\tform.auth_user = row.auth_user\n\t\t\t\tform.auth_password = row.auth_password\n\t\t\t\tform.remark = row.remark\n\t\t\t\tform.active = row.active\n\t\t\t\tform.skip_tls_verify = row.skip_tls_verify\n\t\t\t}\n\t\t} else {\n\t\t\tresetForm()\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait formRef.value?.validate()\n\t\tconst params = getParams()\n\t\tif (isEdit.value) {\n\t\t\tawait editSmtp({ ...params, id: id.value })\n\t\t} else {\n\t\t\tawait addSmtp(params)\n\t\t}\n\t\tconst state = modalApi.getState<{ refresh: Function }>()\n\t\tstate.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/smtp/components/SmtpLoading.vue",
    "content": "<template>\n\t<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-16px\">\n\t\t<n-skeleton :height=\"266\" :sharp=\"false\" />\n\t\t<n-skeleton :height=\"266\" :sharp=\"false\" />\n\t\t<n-skeleton :height=\"266\" :sharp=\"false\" />\n\t\t<n-skeleton :height=\"266\" :sharp=\"false\" />\n\t\t<n-skeleton :height=\"266\" :sharp=\"false\" />\n\t</div>\n</template>\n\n<script lang=\"ts\" setup></script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/smtp/components/SmtpStatus.vue",
    "content": "<template>\n\t<n-tag size=\"small\" :bordered=\"false\">\n\t\t<div class=\"status-icon\" :class=\"value ? 'status-success' : 'status-error'\"></div>\n\t\t<div class=\"status-text\">{{ value ? $t('smtp.status.online') : $t('smtp.status.offline') }}</div>\n\t</n-tag>\n</template>\n\n<script lang=\"ts\" setup>\ndefineProps({\n\tvalue: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.n-tag {\n\tpadding: 6px 10px;\n\tborder-radius: 16px;\n\t:deep(.n-tag__content) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 8px;\n\t}\n\t.status-icon {\n\t\twidth: 8px;\n\t\theight: 8px;\n\t\tborder-radius: 50%;\n\t\t&.status-success {\n\t\t\tbackground-color: var(--color-primary-1);\n\t\t}\n\t\t&.status-error {\n\t\t\tbackground-color: var(--color-error-1);\n\t\t}\n\t}\n\t.status-text {\n\t\tfont-weight: 500;\n\t\twhite-space: nowrap;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/smtp/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<div class=\"bt-title\">{{ $t('smtp.title') }}</div>\n\t\t<div class=\"flex gap-12px mb-16px\">\n\t\t\t<n-dropdown\n\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\ttrigger=\"hover\"\n\t\t\t\tsize=\"large\"\n\t\t\t\t:options=\"addDropdownOptions\"\n\t\t\t\t@select=\"handleSelectAdd\">\n\t\t\t\t<n-button type=\"primary\">\n\t\t\t\t\t<span class=\"mr-4px\">{{ $t('common.actions.add') }}</span>\n\t\t\t\t\t<i class=\"i-mdi-chevron-down text-17px\"></i>\n\t\t\t\t</n-button>\n\t\t\t</n-dropdown>\n\t\t\t<bt-help href=\"https://www.billionmail.com/start/smtp.html\" :text=\"$t('smtp.description')\">\n\t\t\t</bt-help>\n\t\t</div>\n\t\t<smtp-loading v-if=\"loading\"></smtp-loading>\n\t\t<div\n\t\t\tv-else-if=\"smtpServices.length > 0\"\n\t\t\tclass=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-16px\">\n\t\t\t<SmtpCard\n\t\t\t\tv-for=\"service in smtpServices\"\n\t\t\t\t:key=\"service.id\"\n\t\t\t\t:service=\"service\"\n\t\t\t\t@edit=\"handleEdit\"\n\t\t\t\t@delete=\"handleDelete\"\n\t\t\t\t@show-dns=\"handleShowDns\">\n\t\t\t</SmtpCard>\n\t\t</div>\n\t\t<div v-else class=\"flex-center h-400px text-center text-desc\">\n\t\t\t<bt-table-help></bt-table-help>\n\t\t</div>\n\n\t\t<form-modal></form-modal>\n\t\t<smtp-dns-modal></smtp-dns-modal>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { DropdownOption } from 'naive-ui'\nimport { confirm, isArray, isObject } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { deleteSmtp, getSmtpList } from '@/api/modules/smtp'\nimport type { SmtpService } from './types/base'\n\nimport SmtpCard from './components/SmtpCard.vue'\nimport SmtpForm from './components/SmtpForm.vue'\nimport SmtpDns from './components/SmtpDns.vue'\nimport SmtpLoading from './components/SmtpLoading.vue'\n\nconst { t } = useI18n()\n\nconst loading = ref(false)\n\nconst smtpServices = ref<SmtpService[]>([])\n\nconst addDropdownOptions: DropdownOption[] = [\n\t{\n\t\tlabel: 'Gmail',\n\t\tkey: 'gmail',\n\t},\n\t{\n\t\tlabel: 'Mailgun',\n\t\tkey: 'mailgun',\n\t},\n\t{\n\t\tlabel: 'AWS SES',\n\t\tkey: 'aws',\n\t},\n\t{\n\t\tlabel: 'SendGrid',\n\t\tkey: 'sendgrid',\n\t},\n\t{\n\t\tlabel: t('smtp.providers.custom'),\n\t\tkey: 'custom',\n\t},\n]\n\nconst handleSelectAdd = (key: string) => {\n\tformModalApi.setState({\n\t\tisEdit: false,\n\t\ttype: key,\n\t\trow: null,\n\t})\n\tformModalApi.open()\n}\n\nconst getCardList = async () => {\n\ttry {\n\t\tloading.value = true\n\t\tconst res = await getSmtpList()\n\t\tif (isObject<{ list: SmtpService[] }>(res)) {\n\t\t\tsmtpServices.value = isArray<SmtpService>(res.list) ? res.list : []\n\t\t}\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: SmtpForm,\n\tstate: {\n\t\tisEdit: false,\n\t\ttype: 'custom',\n\t\trefresh: getCardList,\n\t},\n})\n\nconst handleEdit = (service: SmtpService) => {\n\tformModalApi.setState({\n\t\tisEdit: true,\n\t\trow: service,\n\t})\n\tformModalApi.open()\n}\n\nconst [SmtpDnsModal, smtpDnsModalApi] = useModal({\n\tcomponent: SmtpDns,\n\tstate: {\n\t\tisEdit: false,\n\t\ttype: 'custom',\n\t\trefresh: getCardList,\n\t},\n})\n\nconst handleShowDns = (service: SmtpService) => {\n\tsmtpDnsModalApi.setState({\n\t\tsmtp: service,\n\t})\n\tsmtpDnsModalApi.open()\n}\n\nconst handleDelete = (service: SmtpService) => {\n\tconfirm({\n\t\ttitle: t('smtp.delete.title'),\n\t\tcontent: t('smtp.delete.confirm', { name: service.smtp_name }),\n\t\tonConfirm: async () => {\n\t\t\tawait deleteSmtp({ id: service.id })\n\t\t\tgetCardList()\n\t\t},\n\t})\n}\n\ngetCardList()\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/smtp/types/base.ts",
    "content": "export type SmtpServiceType = 'gmail' | 'sendgrid' | 'local' | 'custom'\n\nexport interface SmtpService {\n\tid: number\n\tremark: string\n\tsender_domain: string\n\tsender_domains: string[]\n\trelay_host: string\n\trelay_port: string\n\tauth_user: string\n\tauth_password: string\n\tip: string\n\thost: string\n\tactive: number\n\tcreate_time: number\n\tupdate_time: number\n\tauth_method: string\n\ttls_protocol: string\n\tskip_tls_verify: number\n\thelo_name: string\n\tsmtp_name: string\n\theader_json: string\n\tmax_concurrency: number\n\tmax_retries: number\n\tmax_idle_time: string\n\tmax_wait_time: string\n\trtype: string\n\tcheck_spf: number\n\tspf_record: {\n\t\ttype: string\n\t\thost: string\n\t\tvalue: string\n\t}\n\tspf_records: {\n\t\tcheck: number\n\t\tdns_record: {\n\t\t\ttype: string\n\t\t\thost: string\n\t\t\tvalue: string\n\t\t}\n\t}[]\n\tsmtp_status: {\n\t\tstatus: boolean\n\t\tmsg: string\n\t}\n}\n"
  },
  {
    "path": "core/frontend/src/views/template/components/CreateTplModal.vue",
    "content": "<template>\n\t<n-modal\n\t\tv-model:show=\"show\"\n\t\tpreset=\"card\"\n\t\tdraggable\n\t\t:close-on-esc=\"false\"\n\t\t:mask-closable=\"false\"\n\t\tsegmented\n\t\tclass=\"w-110\"\n\t\ttitle=\"\">\n\t\t<div class=\"wrapper\">\n\t\t\t<div class=\"creation-methods\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(item, index) in computedMethodsList\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:class=\"['choose-item', { active: choosedMethod == item }]\"\n\t\t\t\t\t@click=\"choosedMethod = item\">\n\t\t\t\t\t<span class=\"item-label\">{{ item }}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div :class=\"['url-source', { hidden: choosedMethod !== 'AI' }]\">\n\t\t\t\t<span class=\"label\">{{ $t('template.createTpl.sourceUrl') }}</span>\n\t\t\t\t<n-select\n\t\t\t\t\tv-model:value=\"sourceDomain\"\n\t\t\t\t\tclass=\"flex-1\"\n\t\t\t\t\tlabel-field=\"domain\"\n\t\t\t\t\tvalue-field=\"domain\"\n\t\t\t\t\t:options=\"domainListHasBrandInfo\"\n\t\t\t\t\t:disabled=\"canNotUse\"\n\t\t\t\t\t:render-label=\"renderLabel\">\n\t\t\t\t</n-select>\n\t\t\t</div>\n\t\t\t<div v-if=\"noticeShowFlag == 'normal'\" class=\"desc\">\n\t\t\t\t{{ $t('template.createTpl.useAiTools') }}\n\t\t\t</div>\n\t\t\t<div v-else-if=\"noticeShowFlag == 'domain-list-empty'\">\n\t\t\t\t{{ $t('template.createTpl.notices.domainListEmpty') }},\n\t\t\t\t<n-button text type=\"primary\" @click=\"jumpToDomainCreate\">{{\n\t\t\t\t\t$t('template.createTpl.buttons.createNow')\n\t\t\t\t}}</n-button>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"noticeShowFlag == 'ai-configuration-invalid'\">\n\t\t\t\t{{ $t('template.createTpl.notices.aiConfigurationInvalid') }},\n\t\t\t\t<n-popover trigger=\"hover\" placement=\"right\">\n\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t<n-button text type=\"primary\" @click=\"jumpToAiSettings\">{{\n\t\t\t\t\t\t\t$t('template.createTpl.buttons.configureNow')\n\t\t\t\t\t\t}}</n-button>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n-image :src=\"aiModelNotice\" width=\"600\"></n-image>\n\t\t\t\t</n-popover>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"noticeShowFlag == 'invalid-brand-domain'\">\n\t\t\t\t{{ $t('template.createTpl.notices.invalidBrandDomain') }},\n\t\t\t\t<n-popover trigger=\"hover\" placement=\"right\">\n\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t<n-button text type=\"primary\" @click=\"jumpToDomainEdit\">{{\n\t\t\t\t\t\t\t$t('template.createTpl.buttons.createNow')\n\t\t\t\t\t\t}}</n-button>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n-image :src=\"brandInfoNotice\" width=\"600\"></n-image>\n\t\t\t\t</n-popover>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<template #footer>\n\t\t\t<div class=\"flex justify-end\">\n\t\t\t\t<n-button\n\t\t\t\t\tv-if=\"choosedMethod == 'AI'\"\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t:disabled=\"\n\t\t\t\t\t\tcanNotUse || ['domain-list-empty', 'ai-configuration-invalid'].includes(noticeShowFlag)\n\t\t\t\t\t\"\n\t\t\t\t\t@click=\"createTemplate\"\n\t\t\t\t\t>{{ $t('template.createTpl.create') }}</n-button\n\t\t\t\t>\n\t\t\t\t<n-button v-else type=\"primary\" @click=\"createTemplate\">{{\n\t\t\t\t\t$t('template.createTpl.create')\n\t\t\t\t}}</n-button>\n\t\t\t</div>\n\t\t</template>\n\t</n-modal>\n</template>\n\n<script setup lang=\"tsx\">\nimport { instance } from '@/api'\nimport { createAiTemplate } from '../pages/AITemplate/controller'\nimport { useGlobalStore } from '@/store'\nimport { checkAiConfiguration, initAiConfiguration } from '@/api/modules/domain'\nimport aiModelNotice from '@/assets/images/template/model-notice.png'\nimport brandInfoNotice from '@/assets/images/template/create-brand-info.png'\nimport { SelectOption } from 'naive-ui'\nimport { isObject, Message } from '@/utils'\nimport { updateHasBrandInfo } from '@/views/domain/pages/editDomain/controller/domainConfiguration.controller'\nimport { MailDomain } from '@/views/domain/interface'\n// import { TemplateStore } from '../pages/AITemplate/dto'\n\n// const store = inject<TemplateStore>('modelStore')!\nconst props = defineProps<{\n\tonlyAi?: boolean\n}>()\nconst globalStore = useGlobalStore()\nconst router = useRouter()\nconst methodsList = ref(['Drag', 'AI', 'HTML'])\nconst choosedMethod = ref('AI')\nconst sourceDomain = ref('')\nconst currentDomainOption = ref<SelectOption | null>(null)\nconst show = ref(false)\nconst emits = defineEmits(['confirmType', 'hasCreateTpl'])\nconst domainList = ref<any>([])\nconst aiConfigurationStatus = ref(false)\n\nconst computedMethodsList = computed(() => {\n\tif (props.onlyAi) {\n\t\treturn ['AI']\n\t} else {\n\t\treturn methodsList.value\n\t}\n})\n\n/**\n * @description Calculate the display of prompt information based on AI configuration, domain name list and other information\n */\nconst noticeShowFlag = computed(() => {\n\tif (domainListHasBrandInfo.value.length == 0) {\n\t\treturn 'domain-list-empty'\n\t}\n\n\tif (!aiConfigurationStatus.value) {\n\t\treturn 'ai-configuration-invalid'\n\t}\n\n\tconst domainInfo = domainList.value.find((item: any) => item.domain == sourceDomain.value)\n\tif (domainInfo && domainInfo.hasbrandinfo !== 1) {\n\t\treturn 'invalid-brand-domain'\n\t}\n\n\treturn 'normal'\n})\n\n/**\n * @description Calculate the list of domain names for dropdown options\n */\nconst domainListHasBrandInfo = computed(() => {\n\treturn [...domainList.value].sort((a, b) => b.hasbrandinfo - a.hasbrandinfo)\n})\n\n/**\n * @description Whether the button can be used\n */\nconst canNotUse = computed(() => {\n\tif (choosedMethod.value == 'AI' && domainListHasBrandInfo.value.length == 0) {\n\t\treturn true\n\t}\n\treturn false\n})\n\n/**\n * @description open modal\n */\nasync function open() {\n\tconst res = await checkAiConfiguration()\n\tif (isObject<{ is_configured: boolean }>(res)) {\n\t\taiConfigurationStatus.value = res.is_configured\n\t}\n\tawait getDomainList()\n\n\tif (globalStore.domainSource) {\n\t\tglobalStore.domainSource = sourceDomain.value\n\t}\n\tshow.value = true\n}\n\n/**\n * @description close modal\n */\nfunction close() {\n\tshow.value = false\n}\n\n/**\n * @description jump\n */\nasync function createTemplate() {\n\tif (choosedMethod.value == 'AI') {\n\t\tif (noticeShowFlag.value == 'invalid-brand-domain') {\n\t\t\tconst currentDomain = domainList.value.find((item: any) => item.domain === sourceDomain.value)\n\t\t\ttry {\n\t\t\t\tawait initAiConfiguration({\n\t\t\t\t\tdomain: sourceDomain.value,\n\t\t\t\t\turls: currentDomain.urls,\n\t\t\t\t})\n\t\t\t\tupdateHasBrandInfo(sourceDomain.value, 1)\n\t\t\t} catch (error) {\n\t\t\t\tMessage.error('Failed to initialize AI configuration, please try again later.')\n\t\t\t\tconsole.warn(error)\n\t\t\t}\n\t\t}\n\t\tconst chatId = await createAiTemplate(sourceDomain.value)\n\t\tif (chatId) {\n\t\t\tglobalStore.domainSource = sourceDomain.value\n\t\t\trouter.push({ name: 'ai-template', params: { chatId } })\n\t\t}\n\t} else {\n\t\temits('confirmType', choosedMethod.value)\n\t}\n}\n\n/**\n * @description Jump to domain and open domain create modal\n */\nfunction jumpToDomainCreate() {\n\trouter.push({\n\t\tname: 'Domain',\n\t\tquery: {\n\t\t\tinit: 'init-domain',\n\t\t},\n\t})\n}\n\n/**\n * @description Jump to ai settings\n */\nfunction jumpToAiSettings() {\n\trouter.push({\n\t\tname: 'AiModel',\n\t})\n}\n\n/**\n * @description Jump to domain edit\n */\nfunction jumpToDomainEdit() {\n\trouter.push({\n\t\tname: 'EditDomain',\n\t\tparams: {\n\t\t\tdomain: sourceDomain.value,\n\t\t},\n\t})\n}\n\n/**\n * @description Render select label\n */\nfunction renderLabel(option: SelectOption) {\n\tif (option.hasbrandinfo) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<i class=\"i-domain:brand-info w-4 h-4 mr-1.25\"></i> <span>{option.domain}</span>\n\t\t\t</div>\n\t\t)\n\t} else {\n\t\treturn <span>{option.domain}</span>\n\t}\n}\n\ndefineExpose({\n\topen,\n\tclose,\n})\n\n/**\n * @description Get domain list\n */\nasync function getDomainList() {\n\tconst res = await instance.get('/domains/list', {\n\t\tparams: {\n\t\t\tpage: 1,\n\t\t\tpage_size: 100,\n\t\t},\n\t})\n\tif (isObject<{ list: MailDomain[] }>(res)) {\n\t\tdomainList.value = res.list || []\n\t}\n\tcurrentDomainOption.value =\n\t\tdomainList.value.find((item: SelectOption) => item.domain === sourceDomain.value) || null\n\tif (domainList.value.length == 0) {\n\t\tglobalStore.domainSource = ''\n\t\tsourceDomain.value = ''\n\t\treturn\n\t}\n\tif (globalStore.domainSource) {\n\t\tsourceDomain.value = globalStore.domainSource\n\t}\n\tif (domainListHasBrandInfo.value.length > 0) {\n\t\tsourceDomain.value = domainListHasBrandInfo.value[0].domain\n\t\tglobalStore.domainSource = domainListHasBrandInfo.value[0].domain\n\t}\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n\n.wrapper {\n\t@include base.col-flex-center;\n\theight: 153px;\n\tgap: 20px;\n\n\t.creation-methods {\n\t\t@include base.row-flex-center;\n\t\tborder-bottom: 1px solid var(--color-border-1);\n\t\twidth: 90%;\n\t\tgap: 25px;\n\n\t\t.choose-item {\n\t\t\t@include base.row-flex-start;\n\t\t\tgap: 5px;\n\t\t\tpadding: 6px 15px;\n\t\t\talign-items: center;\n\t\t\tcursor: pointer;\n\t\t\tcolor: var(--color-text-2);\n\t\t\ttransition: 0.1s all ease-in-out;\n\t\t\tbox-sizing: border-box;\n\n\t\t\t.item-label {\n\t\t\t\tfont-size: 16px;\n\t\t\t\ttransition: 0.2s all ease-in-out;\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--color-primary-1);\n\t\t\t\t// transform: scale(1.3) translate(0, -5px);\n\t\t\t}\n\n\t\t\t&.active {\n\t\t\t\tcolor: var(--color-primary-1);\n\t\t\t\ttransform: scale(1.3) translate(0, -5px);\n\t\t\t\tfont-weight: bold;\n\t\t\t\tborder-bottom: 2px solid var(--color-primary-1);\n\t\t\t}\n\t\t}\n\t}\n\n\t.url-source {\n\t\twidth: 90%;\n\t\t@include base.row-flex-start;\n\t\tgap: 10px;\n\n\t\t&.hidden {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t.desc {\n\t\twidth: 90%;\n\t\tfont-size: 14px;\n\t\tcolor: var(--color-text-3);\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/template/components/TemplateAdd.vue",
    "content": "<template>\n\t<modal :title=\"$t('market.template.add.title')\" width=\"480\">\n\t\t<div class=\"pt-12px\">\n\t\t\t<bt-form ref=\"formRef\" :model=\"form\" :rules=\"rules\">\n\t\t\t\t<n-form-item :label=\"$t('market.template.name')\" path=\"temp_name\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.temp_name\"\n\t\t\t\t\t\t:placeholder=\"$t('market.template.add.namePlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item>\n\t\t\t\t<n-form-item :label=\"$t('market.template.file')\" path=\"mode\">\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<n-radio-group v-model:value=\"form.add_type\">\n\t\t\t\t\t\t\t<n-radio-button :value=\"0\">{{ $t('market.template.uploadHtml') }}</n-radio-button>\n\t\t\t\t\t\t</n-radio-group>\n\t\t\t\t\t\t<div v-if=\"form.add_type === 0\" class=\"mt-16px\">\n\t\t\t\t\t\t\t<bt-file-upload :is-upload=\"false\" :accept=\"['html']\" @change=\"handleChangeFile\">\n\t\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-form-item>\n\t\t\t</bt-form>\n\t\t</div>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { FormRules, UploadFileInfo } from 'naive-ui'\nimport { isEmpty } from 'lodash-es'\nimport { formatTime, Message } from '@/utils'\nimport { useModal } from '@/hooks/modal/useModal'\n// import { addTemplate } from '@/api/modules/market/template'\n\nconst { t } = useI18n()\n\nconst formRef = useTemplateRef('formRef')\n\nconst form = reactive({\n\ttemp_name: '',\n\tadd_type: 0,\n\tcontent: '',\n\trender: '',\n\tfile_data: '',\n})\n\nconst rules: FormRules = {\n\ttemp_name: {\n\t\trequired: true,\n\t\ttrigger: ['input', 'blur'],\n\t\tmessage: t('market.template.add.validation.nameRequired'),\n\t},\n}\n\nconst handleChangeFile = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.file_data = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst validateForm = async () => {\n\tawait formRef.value?.validate()\n\tif (form.add_type === 2 && isEmpty(form.file_data)) {\n\t\tMessage.error(t('market.template.add.validation.uploadRequired'))\n\t\treturn Promise.reject()\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tform.temp_name = `template_${formatTime(new Date(), 'yyyyMMddHHmmss')}`\n\t\t\tform.add_type = 0\n\t\t\tform.content = ''\n\t\t\tform.render = ''\n\t\t\tform.file_data = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tawait validateForm()\n\t\t// await addTemplate(toRaw(form))\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate?.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.drag-area {\n\tborder: 1px dashed #d9d9d9;\n\tborder-radius: 2px;\n\tmin-height: 300px;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\ttransition: border-color 0.3s;\n\n\t&:hover {\n\t\tborder-color: #1890ff;\n\t}\n\n\t.drag-placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tcolor: #999;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/template/components/TemplateForm.vue",
    "content": "<template>\n\t<modal :title=\"title\" :width=\"1200\">\n\t\t<bt-form class=\"pt-8px\" :model=\"form\">\n\t\t\t<n-grid :cols=\"24\" :x-gap=\"24\">\n\t\t\t\t<n-form-item-gi :span=\"18\" label=\"Name\" path=\"temp_name\">\n\t\t\t\t\t<n-input\n\t\t\t\t\t\tv-model:value=\"form.temp_name\"\n\t\t\t\t\t\t:placeholder=\"$t('market.template.add.namePlaceholder')\">\n\t\t\t\t\t</n-input>\n\t\t\t\t</n-form-item-gi>\n\t\t\t\t<n-form-item-gi :span=\"6\" label=\"Type\" path=\"add_type\">\n\t\t\t\t\t<n-select v-model:value=\"form.add_type\" :disabled=\"isEdit\" :options=\"typeOptions\">\n\t\t\t\t\t</n-select>\n\t\t\t\t</n-form-item-gi>\n\t\t\t</n-grid>\n\t\t\t<n-form-item :label=\"typeLabel\" :show-feedback=\"false\">\n\t\t\t\t<div class=\"flex flex-col flex-1 h-580px\">\n\t\t\t\t\t<div class=\"flex justify-end gap-12px mb-8px\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<bt-file-upload\n\t\t\t\t\t\t\t\tmode=\"button\"\n\t\t\t\t\t\t\t\tbutton-type=\"primary\"\n\t\t\t\t\t\t\t\t:is-upload=\"false\"\n\t\t\t\t\t\t\t\t:accept=\"['html']\"\n\t\t\t\t\t\t\t\t@change=\"handleFileUpload\">\n\t\t\t\t\t\t\t\t{{ $t('market.template.uploadHtml') }}\n\t\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<n-button type=\"primary\" ghost @click=\"handlePreview\">\n\t\t\t\t\t\t\t{{ $t('common.actions.preview') }}\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<template v-if=\"form.add_type === 1\">\n\t\t\t\t\t\t\t<email-editor v-model:config=\"form.drag_data\" v-model:html=\"form.html_content\">\n\t\t\t\t\t\t\t</email-editor>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if=\"form.add_type === 0\">\n\t\t\t\t\t\t\t<bt-editor v-model:value=\"form.html_content\" language=\"html\"> </bt-editor>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { UploadFileInfo } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { addTemplate, updateTemplate } from '@/api/modules/market/template'\nimport type { Template } from '../interface'\n\nconst EmailEditor = defineAsyncComponent(() => import('@/features/EmailEditor/index.vue'))\n\nconst isEdit = ref(false)\n\nconst title = computed(() => {\n\treturn isEdit.value ? 'Edit template' : 'New template'\n})\n\nconst id = ref(0)\n\nconst form = reactive({\n\ttemp_name: '',\n\tadd_type: 0,\n\thtml_content: '',\n\tdrag_data: '',\n})\n\nconst typeOptions = [\n\t{ label: 'HTML', value: 0 },\n\t{ label: 'Drag', value: 1 },\n]\n\nconst typeLabel = computed(() => {\n\treturn typeOptions.find(item => item.value === form.add_type)?.label || ''\n})\n\nconst handleFileUpload = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.html_content = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\nconst handlePreview = () => {\n\t// eslint-disable-next-line no-unused-vars\n\tconst state = modalApi.getState<{ preview: (content: string) => void }>()\n\tif (state.preview) {\n\t\tstate.preview(form.html_content)\n\t}\n}\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ isEdit: boolean; type: number; row: Template }>()\n\t\t\tconst { row } = state\n\t\t\tisEdit.value = state.isEdit\n\t\t\tif (state.type)  {\n\t\t\t\tform.add_type = state.type\n\t\t\t}\n\t\t\tif (row) {\n\t\t\t\tid.value = row.id\n\t\t\t\tform.temp_name = row.temp_name\n\t\t\t\tform.add_type = row.add_type\n\t\t\t\tform.html_content = row.html_content\n\t\t\t\tform.drag_data = row.drag_data\n\t\t\t}\n\t\t} else {\n\t\t\tid.value = 0\n\t\t\tform.temp_name = ''\n\t\t\tform.add_type = 0\n\t\t\tform.html_content = ''\n\t\t\tform.drag_data = ''\n\t\t}\n\t},\n\tonConfirm: async () => {\n\t\tif (isEdit.value) {\n\t\t\tawait updateTemplate({ id: id.value, ...toRaw(form) })\n\t\t} else {\n\t\t\tawait addTemplate(toRaw(form))\n\t\t}\n\t\tconst state = modalApi.getState<{ refresh: () => void }>()\n\t\tstate.refresh()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped></style>\n"
  },
  {
    "path": "core/frontend/src/views/template/components/TemplatePreview.vue",
    "content": "<template>\n\t<modal :title=\"$t('market.template.preview.title')\" width=\"820\" :footer=\"false\">\n\t\t<bt-preview :height=\"580\" :value=\"content\"></bt-preview>\n\t</modal>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useModal } from '@/hooks/modal/useModal'\n\nconst content = ref('')\n\nconst [Modal, modalApi] = useModal({\n\tonChangeState: isOpen => {\n\t\tif (isOpen) {\n\t\t\tconst state = modalApi.getState<{ html: string }>()\n\t\t\tcontent.value = state.html || ''\n\t\t}\n\t},\n})\n</script>\n"
  },
  {
    "path": "core/frontend/src/views/template/controller/index.ts",
    "content": ""
  },
  {
    "path": "core/frontend/src/views/template/dto/index.ts",
    "content": ""
  },
  {
    "path": "core/frontend/src/views/template/edit.vue",
    "content": "<template>\n\t<div class=\"template-edit\">\n\t\t<n-breadcrumb class=\"mb-20px\">\n\t\t\t<n-breadcrumb-item>\n\t\t\t\t<router-link to=\"/market/template\">{{ $t('market.template.title') }}</router-link>\n\t\t\t</n-breadcrumb-item>\n\t\t\t<n-breadcrumb-item>{{ form.temp_name }}</n-breadcrumb-item>\n\t\t</n-breadcrumb>\n\t\t<bt-form class=\"template-form\" label-placement=\"top\">\n\t\t\t<n-form-item :label=\"$t('market.template.name')\">\n\t\t\t\t<div class=\"w-400px\">\n\t\t\t\t\t<n-input v-model:value=\"form.temp_name\"></n-input>\n\t\t\t\t</div>\n\t\t\t</n-form-item>\n\t\t\t<n-form-item\n\t\t\t\tclass=\"editor-form-item\"\n\t\t\t\t:label=\"$t('market.template.content')\"\n\t\t\t\t:show-feedback=\"false\">\n\t\t\t\t<!-- Editor area -->\n\t\t\t\t<div class=\"editor-area\">\n\t\t\t\t\t<div class=\"mb-16px\">\n\t\t\t\t\t\t<bt-file-upload\n\t\t\t\t\t\t\tmode=\"button\"\n\t\t\t\t\t\t\t:is-upload=\"false\"\n\t\t\t\t\t\t\t:accept=\"['html']\"\n\t\t\t\t\t\t\t@change=\"handleFileUpload\">\n\t\t\t\t\t\t\t{{ $t('market.template.uploadHtml') }}\n\t\t\t\t\t\t</bt-file-upload>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- Editor -->\n\t\t\t\t\t<div class=\"flex-1 overflow-hidden\">\n\t\t\t\t\t\t<bt-editor v-model:value=\"form.content\" language=\"html\"></bt-editor>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- Preview area -->\n\t\t\t\t<n-card class=\"preview-area\" :content-style=\"{ display: 'flex', flexDirection: 'column' }\">\n\t\t\t\t\t<div class=\"preview-title\">{{ $t('common.actions.preview') }}</div>\n\t\t\t\t\t<div class=\"flex-1 overflow-hidden\">\n\t\t\t\t\t\t<bt-preview :value=\"form.content\"></bt-preview>\n\t\t\t\t\t</div>\n\t\t\t\t</n-card>\n\t\t\t</n-form-item>\n\t\t</bt-form>\n\t\t<!-- Action buttons -->\n\t\t<div class=\"action-buttons\">\n\t\t\t<n-button type=\"primary\" @click=\"onEdit\">\n\t\t\t\t{{ $t('common.actions.save') }}\n\t\t\t</n-button>\n\t\t\t<n-button class=\"ml-16px\" secondary @click=\"onGoBack\">\n\t\t\t\t{{ $t('common.actions.back') }}\n\t\t\t</n-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { UploadFileInfo } from 'naive-ui'\nimport { isObject } from '@/utils'\nimport { getTemplateDetails } from '@/api/modules/market/template'\nimport type { Template } from './interface'\n\nconst route = useRoute()\n\nconst templateId = ref(`${route.params.id}`)\n\nconst form = reactive({\n\tid: 0,\n\ttemp_name: '',\n\tcontent: '',\n})\n\nconst handleFileUpload = (file: UploadFileInfo) => {\n\tconst reader = new FileReader()\n\treader.onload = e => {\n\t\tform.content = e.target?.result as string\n\t}\n\tif (file.file) {\n\t\treader.readAsText(file.file)\n\t}\n}\n\n// Save\nconst onEdit = async () => {\n\t// await updateTemplate({\n\t// \tid: form.id,\n\t// \ttemp_name: form.temp_name,\n\t// \tcontent: form.content,\n\t// })\n}\n\nconst onGoBack = () => {\n\twindow.history.back()\n}\n\nconst getTemplateHtml = async () => {\n\tconst res = await getTemplateDetails({ id: templateId.value })\n\tif (isObject<Template>(res)) {\n\t\tform.id = res.id\n\t\tform.temp_name = res.temp_name\n\t\t// form.content = res.content\n\t}\n}\n\ngetTemplateHtml()\n</script>\n\n<style lang=\"scss\" scoped>\n.template-edit {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tpadding: 24px;\n\tpadding-bottom: 82px;\n\n\t// Make the form occupy the remaining space\n\t.template-form {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmin-height: 0; // Prevent overflow when flex container grows infinitely\n\t\tpadding-bottom: 24px;\n\t}\n\n\t// Make the form-item containing the editor occupy the remaining space of the form\n\t.editor-form-item {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmin-height: 0; // Prevent overflow\n\n\t\t// Important: Need to make the content wrapper of n-form-item also stretch\n\t\t// You may need to check the browser developer tools to determine the exact class name generated by Naive UI\n\t\t// Usually it's .n-form-item-blank or .n-form-item__content\n\t\t:deep(.n-form-item-blank) {\n\t\t\tflex: 1;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-items: start;\n\t\t\tmin-height: 0;\n\t\t}\n\n\t\t.editor-area,\n\t\t.preview-area {\n\t\t\twidth: 50%;\n\t\t\theight: 100%;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\t.editor-area {\n\t\t\tborder-right: 1px solid var(--color-border-1);\n\t\t\tpadding-right: 24px;\n\t\t}\n\n\t\t.preview-area {\n\t\t\tmargin-left: 24px;\n\t\t\t.preview-title {\n\t\t\t\tfont-size: 16px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tmargin-bottom: 16px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.action-buttons {\n\tposition: absolute;\n\tleft: 0;\n\tbottom: 0;\n\twidth: 100%;\n\tpadding: 23px 24px;\n\tbackground-color: var(--color-bg-1);\n\tborder-top: 1px solid var(--color-border-1);\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/template/index.vue",
    "content": "<template>\n\t<div class=\"p-24px\">\n\t\t<div class=\"bt-title\">{{ t('template.template') }}</div>\n\t\t<bt-table-layout>\n\t\t\t<template #toolsLeft>\n\t\t\t\t<n-button type=\"primary\" @click=\"handleAdd\">\n\t\t\t\t\t{{ t('market.template.actions.add') }}\n\t\t\t\t</n-button>\n\t\t\t</template>\n\t\t\t<template #toolsRight>\n\t\t\t\t<bt-search v-model:value=\"tableParams.keyword\" :width=\"240\"\n\t\t\t\t\t:placeholder=\"t('market.template.search.namePlaceholder')\" @search=\"() => getTableData(true)\">\n\t\t\t\t</bt-search>\n\t\t\t</template>\n\t\t\t<template #table>\n\t\t\t\t<n-data-table :loading=\"loading\" :columns=\"columns\" :data=\"tableList\">\n\t\t\t\t\t<template #empty>\n\t\t\t\t\t\t<bt-table-help> </bt-table-help>\n\t\t\t\t\t</template>\n\t\t\t\t</n-data-table>\n\t\t\t</template>\n\t\t\t<template #pageRight>\n\t\t\t\t<bt-table-page v-model:page=\"tableParams.page\" v-model:page-size=\"tableParams.page_size\"\n\t\t\t\t\t:item-count=\"tableTotal\" @refresh=\"getTableData\">\n\t\t\t\t</bt-table-page>\n\t\t\t</template>\n\t\t\t<template #modal>\n\t\t\t\t<form-modal />\n\t\t\t\t<preview-modal />\n\t\t\t</template>\n\t\t</bt-table-layout>\n\t</div>\n\t<!-- Create template modal -->\n\t<CreateTplModal ref=\"createTemplateModalRef\" @confirm-type=\"handleConfirmTemplateType\" />\n</template>\n\n<script lang=\"tsx\" setup>\nimport { DataTableColumns, NButton, NFlex, NTag } from 'naive-ui'\nimport { useModal } from '@/hooks/modal/useModal'\nimport { useTableData } from '@/hooks/useTableData'\nimport { confirm, formatTime } from '@/utils'\nimport { deleteTemplate, duplicateTemplate, getTemplateList ,updateTemplate} from '@/api/modules/market/template'\nimport type { Template, TemplateParams } from './interface'\n\n// import TemplateAdd from './components/TemplateAdd.vue'\nimport TemplateForm from './components/TemplateForm.vue'\nimport TemplatePreview from './components/TemplatePreview.vue'\nimport CreateTplModal from './components/CreateTplModal.vue'\n\nconst router = useRouter()\n\nconst { t } = useI18n()\nconst createTemplateModalRef = ref()\nconst { tableParams, tableList, loading, tableTotal, getTableData } = useTableData<\n\tTemplate,\n\tTemplateParams\n>({\n\tloading: true,\n\timmediate: false,\n\tparams: {\n\t\tpage: 1,\n\t\tpage_size: 10,\n\t\tkeyword: '',\n\t},\n\tfetchFn: getTemplateList,\n})\n/**\n * @description Preprocess template data\n */\nconst getNewTableData = async () => {\n\tawait getTableData()\n\ttableList.value.forEach(item => {\n\t\titem.isEdit = false\n\t\titem.edit_name = \"\"\n\t})\n}\n\ngetNewTableData()\n\n// Table columns\nconst columns = ref<DataTableColumns<Template>>([\n\t{\n\t\tkey: 'temp_name',\n\t\ttitle: t('market.template.columns.name'),\n\t\tminWidth: 120,\n\t\tellipsis: {\n\t\t\ttooltip: true,\n\t\t},\n\t\trender: row => {\n\t\t\tif (!row.isEdit) {\n\t\t\t\treturn <div class=\"flex justify-start gap-1.25 items-center\">\n\t\t\t\t\t<NButton\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\ttext\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{row.temp_name}\n\t\t\t\t\t</NButton>\n\t\t\t\t\t<i class=\"i-ci:edit-pencil-line-01 text-14px cursor-pointer\" onClick={()=>{\n\t\t\t\t\t\trow.isEdit = true\n\t\t\t\t\t\trow.edit_name = row.temp_name\n\t\t\t\t\t\t}}></i>\n\t\t\t\t</div>\n\t\t\t} else {\n\t\t\t\treturn <div class=\"flex justify-start gap-1.25 items-center\">\n\t\t\t\t\t<n-input class=\"edit-domain-input\" v-model:value={row.edit_name}></n-input>\n\t\t\t\t\t<n-button text type=\"info\" class=\"text-12px\" onClick={()=>confirmUpdateTemplateName(row)}>{t('market.template.edit.confirm')}</n-button>\n\t\t\t\t\t<n-button text type=\"default\" onClick={()=>{\n\t\t\t\t\t\trow.isEdit = false\n\t\t\t\t\t\trow.edit_name = \"\"\n\t\t\t\t\t\t}}>{t('market.template.edit.cancel')}</n-button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t},\n\t},\n\t{\n\t\tkey: 'add_type',\n\t\ttitle: t('market.template.columns.type'),\n\t\tminWidth: 140,\n\t\trender: row => {\n\t\t\tif (row.add_type === 1) {\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" bordered={false} type=\"primary\">\n\t\t\t\t\t\t{t('market.template.types.drag')}\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\t} else if (row.add_type === 0) {\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" bordered={false} type=\"info\">\n\t\t\t\t\t\t{t('market.template.types.html')}\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\t} else if (row.add_type == 2) {\n\t\t\t\treturn (\n\t\t\t\t\t<NTag size=\"small\" bordered={false} type=\"success\">\n\t\t\t\t\t\t{t('market.template.types.ai')}\n\t\t\t\t\t</NTag>\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\t},\n\t{\n\t\tkey: 'create_time',\n\t\ttitle: t('market.template.columns.createdAt'),\n\t\tminWidth: 140,\n\t\trender: row => formatTime(row.create_time),\n\t},\n\t{\n\t\ttitle: t('common.columns.actions'),\n\t\tkey: 'actions',\n\t\talign: 'right',\n\t\twidth: 240,\n\t\trender: row => (\n\t\t\t<NFlex inline={true}>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandlePreview(row.html_content)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.preview')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleEdit(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.edit')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tdisabled={row.add_type == 2}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDuplicate(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('market.template.actions.duplicate')}\n\t\t\t\t</NButton>\n\t\t\t\t<NButton\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\ttext={true}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\thandleDelete(row)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.actions.delete')}\n\t\t\t\t</NButton>\n\t\t\t</NFlex>\n\t\t),\n\t},\n])\n\nconst [FormModal, formModalApi] = useModal({\n\tcomponent: TemplateForm,\n\tstate: {\n\t\tisEdit: false,\n\t\trefresh: getTableData,\n\t\tpreview: (html: string) => {\n\t\t\thandlePreview(html)\n\t\t},\n\t},\n})\n\n// Handle add template\nconst handleAdd = () => {\n\tcreateTemplateModalRef.value.open()\n}\n\n// Confirm choose template type\nconst handleConfirmTemplateType = (type: string) => {\n\tif (type == \"Drag\") {\n\t\tformModalApi.setState({ isEdit: false, type: 1, row: null })\n\t} else if (type == \"HTML\") {\n\t\tformModalApi.setState({ isEdit: false, type: 0, row: null })\n\t}\n\tformModalApi.open()\n}\n\n// Confirm update template's name\nconst confirmUpdateTemplateName = async (row:Template)=>{\n\trow.temp_name = row.edit_name as string\n\tawait updateTemplate(row)\n\trow.isEdit = false\n}\n// Handle edit\nconst handleEdit = (row: Template) => {\n\tif (row.add_type == 2 && row.chat_id) {\n\t\trouter.push({ name: \"ai-template\", params: { chatId: row.chat_id } })\n\t} else {\n\t\tformModalApi.setState({ isEdit: true, row })\n\t\tformModalApi.open()\n\t}\n}\n\nconst [PreviewModal, previewModalApi] = useModal({\n\tcomponent: TemplatePreview,\n})\n\n// Handle preview\nconst handlePreview = (html: string) => {\n\tpreviewModalApi.setState({ html })\n\tpreviewModalApi.open()\n}\n\n// Handle duplicate\nconst handleDuplicate = async (row: Template) => {\n\tawait duplicateTemplate({ id: row.id })\n\tgetTableData()\n}\n\n// Handle delete\nconst handleDelete = (row: Template) => {\n\tconfirm({\n\t\ttitle: t('market.template.delete.title'),\n\t\tcontent: t('market.template.delete.confirm', { name: row.temp_name }),\n\t\tconfirmText: t('common.actions.delete'),\n\t\tconfirmType: 'error',\n\t\tonConfirm: async () => {\n\t\t\tawait deleteTemplate({ id: row.id })\n\t\t\tgetTableData()\n\t\t},\n\t})\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.template-container {\n\tpadding: 16px;\n\tbackground-color: #fff;\n\tborder-radius: 3px;\n\n\t.action-bar {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tmargin-bottom: 16px;\n\t}\n}\n\n:deep(.edit-domain-input) {\n\theight: 26px;\n\n\t.n-input__input-el {\n\t\theight: 26px;\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/template/index.vue.bak",
    "content": "<template>\n    <div class=\"wrapper\">\n        <!-- Page tit -->\n        <div class=\"page-tit\">\n            <span class=\"tit-content\">\n                Template\n            </span>\n        </div>\n\n        <!-- Content  -->\n        <div class=\"container\">\n            <div class=\"container-top\">\n                <n-button type=\"primary\" @click=\"handleCreateTpl\">Create Template</n-button>\n            </div>\n        </div>\n    </div>\n\n    <CreateTplModal ref=\"createTplModalRef\"/>\n</template>\n\n<script setup lang=\"ts\">\nimport CreateTplModal from './components/CreateTplModal.vue'\nconst createTplModalRef = ref()\n/**\n * @description open creation modal when click button\n */\nfunction handleCreateTpl(){\n    createTplModalRef.value.open()\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use \"@/styles/index\" as base;\n@use \"./mixin.scss\";\n\n.wrapper {\n    @include mixin.wrapper;\n\n    .page-tit {\n        @include mixin.page-tit;\n    }\n}\n</style>"
  },
  {
    "path": "core/frontend/src/views/template/interface.ts",
    "content": "export interface Template {\n\tid: number\n\ttemp_name: string\n\tadd_type: number\n\thtml_content: string\n\tdrag_data: string\n\tcreate_time: number\n\tupdate_time: number\n\tchat_id:string\n\tisEdit?:boolean\n\tedit_name?:string\n}\n\nexport interface TemplateParams {\n\tpage: number\n\tpage_size: number\n\tkeyword: string\n}\n"
  },
  {
    "path": "core/frontend/src/views/template/mixin.scss",
    "content": "@use \"@/styles/index\" as base;\n\n@mixin wrapper {\n    display: grid;\n    grid-template-rows: 40px 1fr;\n    height: calc(100%);\n    box-sizing: border-box;\n    padding: 24px;\n\n\n}\n\n@mixin page-tit {\n    @include base.row-flex-start;\n    margin-bottom: 20px;\n    gap: 15px;\n\n    .back-tool {\n        color: var(--color-primary-1);\n        @include base.row-flex-start;\n        gap: 5px;\n        cursor: pointer;\n        @include base.transition-all;\n\n        &:hover {\n            color: var(--color-primary-3);\n        }\n\n        .back-btn {\n            font-size: 18px;\n        }\n    }\n\n    .tit-content {\n        font-size: 18px;\n        color: var(--color-text-1);\n        font-weight: bold;\n    }\n}\n\n"
  },
  {
    "path": "core/frontend/src/views/template/pages/AITemplate/components/MarkdownRender.vue",
    "content": "<template>\n\t<div>\n\t\t<!-- When content is code -->\n\t\t<div v-if=\"languageTit\" class=\"code-area\">\n\t\t\t<div class=\"code-tool\">\n\t\t\t\t<span>{{ languageTit }}</span>\n\t\t\t\t<div class=\"tools\">\n\t\t\t\t\t<div class=\"tool-item\" @click=\"copyContent\">\n\t\t\t\t\t\t<i class=\"i-material-symbols:chrome-restore-rounded text-5\"></i>\n\t\t\t\t\t\t<span>{{\n\t\t\t\t\t\t\tcopied ? $t('template.ai.buttons.copied') : $t('template.ai.buttons.copy')\n\t\t\t\t\t\t}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"tool-item\" @click=\"viewCodeRender\">\n\t\t\t\t\t\t<i class=\"i-mingcute:eye-2-fill text-5\"></i>\n\t\t\t\t\t\t<span>{{ $t('template.ai.buttons.view') }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"tool-item\" @click=\"saveCodeChange(store)\">\n\t\t\t\t\t\t<i class=\"i-ic:baseline-save text-5\"></i>\n\t\t\t\t\t\t<span>{{ $t('template.ai.buttons.apply') }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-html=\"codeHtml\"></div>\n\t\t</div>\n\n\t\t<!-- When content is markdown -->\n\t\t<div v-else ref=\"codeRef\" v-html=\"codeHtml\"></div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport markdownit from 'markdown-it'\nimport hljs from 'highlight.js'\nimport '../highlight.theme.css'\nimport { removeHtmlCodeBlockMarkers, removeSignCode, saveCodeChange } from '../controller'\nimport { TemplateStore } from '../dto'\nimport { useClipboard } from '@vueuse/core'\nconst { copy, copied } = useClipboard()\nconst store = inject<TemplateStore>('modelStore')!\nconst { currentChatRecordKey, previewCode } = store\nconst props = defineProps<{\n\tcontent: string\n\tchatRecordKey: string\n}>()\nconst emits = defineEmits(['codeRender'])\nconst codeRef = ref()\nconst languageTit = ref('')\nconst codeHtml = ref('')\n\nconst md = markdownit({\n\thtml: true,\n\tlinkify: true,\n\ttypographer: true,\n\tlangPrefix: 'language-',\n\thighlight: function (str, lang): any {\n\t\tlanguageTit.value = lang\n\t\tif (lang && hljs.getLanguage(lang)) {\n\t\t\ttry {\n\t\t\t\treturn hljs.highlight(lang, str).value\n\t\t\t} catch {\n\t\t\t\t// console.warn(__)\n\t\t\t}\n\t\t}\n\n\t\treturn md.utils.escapeHtml(str) // 使用额外的默认转义\n\t},\n})\n\ncodeHtml.value = md.render(removeSignCode(props.content))\nwatch(\n\t() => props.content,\n\tval => {\n\t\tcodeHtml.value = md.render(val)\n\t\tif (languageTit.value) {\n\t\t\temits('codeRender', {\n\t\t\t\tcode: props.content,\n\t\t\t\tkey: props.chatRecordKey,\n\t\t\t})\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\n/**\n * @description Click to view code render\n */\nfunction viewCodeRender() {\n\tcurrentChatRecordKey.value = props.chatRecordKey\n\tnextTick(() => (previewCode.value = removeHtmlCodeBlockMarkers(props.content)))\n}\n\n/**\n * @description Click to copy code\n */\nfunction copyContent() {\n\tcopy(props.content)\n}\n</script>\n\n<style scoped lang=\"scss\">\n@use '@/styles/index' as base;\n@use '../../../mixin.scss';\n\n@mixin item-tool {\n\t@include base.row-flex-start;\n\tcursor: pointer;\n\tgap: 5px;\n\tpadding: 5px 10px;\n\talign-items: center;\n\tfont-size: 12px;\n\tborder-radius: 3px;\n\ttransition: 0.1s all ease-in-out;\n\n\t&:hover {\n\t\tbackground: var(--color-primary-1);\n\t\tcolor: #fff;\n\t}\n\n\t&:active {\n\t\tbackground: var(--color-primary-3);\n\t}\n}\n\n.code-area {\n\t.code-tool {\n\t\t@include base.row-flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\theight: 34px;\n\t\tbackground: var(--color-card-text-1);\n\t\tcolor: var(--color-bg-1);\n\t\tpadding: 0 0 0 10px;\n\n\t\t.tools {\n\t\t\t@include base.row-flex-start;\n\t\t\tgap: 10px;\n\n\t\t\t.tool-item {\n\t\t\t\theight: 34px;\n\t\t\t\t@include item-tool();\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t:deep(pre) {\n\t\tbackground: #333;\n\t\tmargin: 0;\n\t\tpadding: 10px;\n\t\tfont-size: 14px;\n\t\tmax-height: 500px;\n\t\toverflow: auto;\n\t\tcode {\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/template/pages/AITemplate/controller/index.ts",
    "content": "import i18n from '@/i18n'\nimport { instance } from '@/api'\nimport { ChatInfo, TemplateStore, UsageInfo } from '../dto'\n\nconst { t } = i18n.global\n\nexport const instanceOptions = {\n\tfetchOptions: {\n\t\tloading: t('template.ai.loading.message'),\n\t\tsuccessMessage: true,\n\t},\n}\n\n/**\n * @description Create new template\n */\nexport async function createNewTemplate(chatId: string, temp_name: string) {\n\ttry {\n\t\tawait instance.post('/email_template/create', {\n\t\t\ttemp_name,\n\t\t\tadd_type: 2,\n\t\t\tchat_id: chatId,\n\t\t\thtml_content: '',\n\t\t})\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t\tthrow error\n\t}\n}\n\n/**\n * @description Initial template info\n */\nexport async function initialTemplateInfo(store: TemplateStore) {\n\tawait getModelList(store)\n\tawait getChatInfo(store)\n}\n\n/**\n * @description Create ai template\n */\nexport async function createAiTemplate(sourceDomain: string) {\n\ttry {\n\t\tconst temp_name = `AI_temp_${new Date().getTime()}`\n\t\tconst res = (await instance.post(\n\t\t\t'/askai/chat/create_chat',\n\t\t\t{\n\t\t\t\tdomain: sourceDomain,\n\t\t\t\tadd_type: 99,\n\t\t\t\ttemp_name,\n\t\t\t},\n\t\t\tinstanceOptions\n\t\t)) as Record<string, any>\n\t\tawait createNewTemplate(res.chatId, temp_name)\n\t\treturn res.chatId\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t\treturn null\n\t}\n}\n\n/**\n * @description Get model list\n */\nexport async function getModelList(store: TemplateStore) {\n\tconst { modelList, currentModel, currentModelTitle } = store\n\ttry {\n\t\tmodelList.value = await instance.post('/askai/supplier/models')\n\t\tif (modelList.value.length) {\n\t\t\tcurrentModel.value = modelList.value[0]\n\t\t\tcurrentModelTitle.value = modelList.value[0].title\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Get chat list\n */\nexport async function getChatList() {\n\t// const { } = store\n\ttry {\n\t\tawait instance.post('/askai/chat/get_chat_list')\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Get chat info\n */\nexport async function getChatInfo(store: TemplateStore) {\n\tconst { chatId, chatInfo, currentModel, modelList, currentModelTitle, chatRecord, usageRecord } =\n\t\tstore\n\ttry {\n\t\tchatInfo.value = (await instance.post('/askai/chat/info', { chatId: chatId.value })) as ChatInfo\n\t\t// Check chatInfo and assign currentModel and currentModelTitle\n\t\tif (chatInfo.value.modelId && modelList.value.length) {\n\t\t\tconst findModel = modelList.value.find(item => item.modelId == chatInfo.value.modelId)\n\t\t\tif (findModel) {\n\t\t\t\tcurrentModel.value = findModel\n\t\t\t\tcurrentModelTitle.value = findModel.title\n\t\t\t}\n\t\t}\n\t\t// Init chatRecord\n\t\tfor (let i = 0; i < chatInfo.value.messages.length; i++) {\n\t\t\tconst key = `${chatInfo.value.messages[i].content}_+_${chatRecord.value.size}`\n\t\t\tif (chatInfo.value.messages[i].role == 'user') {\n\t\t\t\tchatRecord.value.set(key, sliceContentToArray(chatInfo.value.messages[i + 1].content))\n\t\t\t\tusageRecord.value.set(key, chatInfo.value.messages[i + 1].usage)\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Stop chat\n */\nexport async function stopChat(store: TemplateStore) {\n\tconst { chatId, isChat } = store\n\ttry {\n\t\tawait instance.post('/askai/chat/stop', { chatId: chatId.value }, instanceOptions)\n\t\tisChat.value = false\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/***\n * @description Check shift+enter\n */\nfunction checkShiftEnter(e: KeyboardEvent, content: Ref<string>) {\n\tif (e.shiftKey && e.key === 'Enter') {\n\t\te.preventDefault()\n\t\tconst textarea = e.target as HTMLTextAreaElement\n\t\tconst start = textarea.selectionStart\n\t\tconst end = textarea.selectionEnd\n\t\tcontent.value = content.value.substring(0, start) + '\\n' + content.value.substring(end)\n\t\ttextarea.selectionStart = textarea.selectionEnd = start + 1\n\t\treturn true\n\t}\n}\n\n/**\n * Send chat and generate markdown\n */\nexport async function sendChat(store: TemplateStore, e?: KeyboardEvent) {\n\tconst {\n\t\tscrollable,\n\t\tgenerateShow,\n\t\tchatId,\n\t\tcurrentModel,\n\t\tquestionContent,\n\t\tchatRecord,\n\t\tcurrentChatRecordKey,\n\t\tscrollWrapperRef,\n\t\tchatScrollRef,\n\t\tisChat,\n\t\tusageRecord,\n\t\tuseSpinTax,\n\t\tspinTaxLength,\n\t} = store\n\tif (isChat.value) return\n\tif (!questionContent.value) return\n\tif (e && (e.isComposing || e.keyCode === 229)) return\n\tif (e && checkShiftEnter(e, questionContent)) return\n\tconst chatRecordKey = `${questionContent.value}_+_${chatRecord.value.size}`\n\tchatRecord.value.set(chatRecordKey, [])\n\tcurrentChatRecordKey.value = chatRecordKey\n\tlet chatContent = questionContent.value\n\tquestionContent.value = ''\n\t// Split string array\n\tlet resultArray: string[] = []\n\t// Answer text\n\tlet answerText = ''\n\t// Character pointer position\n\tlet strPos = 0\n\n\t// Check Whether use spinTax\n\tif (useSpinTax.value) {\n\t\tchatContent += `  ${t('template.ai.spintax.instruction', { count: spinTaxLength.value })}`\n\t}\n\n\t/**\n\t * @description spliced content\n\t */\n\tfunction answerTextDeal(sseArr: Array<string>) {\n\t\tfor (let index = 0; index < sseArr.length; index++) {\n\t\t\tif (sseArr[index]) {\n\t\t\t\tanswerText += JSON.parse(sseArr[index]).content\n\t\t\t}\n\t\t}\n\t}\n\ttry {\n\t\tscrollable.value = true\n\t\tgenerateShow.value = true\n\t\tisChat.value = true\n\t\tnextTick(() =>\n\t\t\tchatScrollRef.value.scrollTo({ left: 0, top: scrollWrapperRef.value.offsetHeight })\n\t\t)\n\t\tawait instance.post(\n\t\t\t'/askai/chat/chat',\n\t\t\t{\n\t\t\t\tchatId: chatId.value,\n\t\t\t\tsupplierName: currentModel.value.supplierName,\n\t\t\t\tmodelId: currentModel.value.modelId,\n\t\t\t\tcontent: chatContent,\n\t\t\t\tis_text: 'false',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfetchOptions: {\n\t\t\t\t\tcancelResInterceptor: true,\n\t\t\t\t},\n\t\t\t\tresponseType: 'text',\n\t\t\t\tonDownloadProgress: progressEvent => {\n\t\t\t\t\tgenerateShow.value = false\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Get the native XMLHttpRequest instance and extract the latest response content.\n\t\t\t\t\t\tconst xhr = (progressEvent.event as ProgressEvent).target as XMLHttpRequest\n\t\t\t\t\t\tconst resText = xhr.responseText\n\t\t\t\t\t\t// Get the incremental characters and record the latest character pointer position.\n\t\t\t\t\t\tconst newContent = resText.slice(strPos)\n\t\t\t\t\t\tstrPos = resText.length\n\t\t\t\t\t\tresultArray = parseSSEToObjects(newContent) as string[]\n\t\t\t\t\t\tanswerTextDeal(resultArray)\n\t\t\t\t\t\tchatRecord.value.set(chatRecordKey, sliceContentToArray(answerText))\n\t\t\t\t\t\tif (scrollable.value) {\n\t\t\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\t\tchatScrollRef.value.scrollTo({\n\t\t\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\t\t\ttop: scrollWrapperRef.value.offsetHeight,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t200\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.warn(error)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\t\tscrollable.value = true\n\t\tchatScrollRef.value.scrollTo({ left: 0, top: scrollWrapperRef.value.offsetHeight })\n\t\tisChat.value = false\n\t\tgetHtmlTemplateContent(store, (usage: UsageInfo) => {\n\t\t\tusageRecord.value.set(chatRecordKey, usage)\n\t\t})\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t} finally {\n\t\tgenerateShow.value = false\n\t\tresultArray = []\n\t\tanswerText = ''\n\t\tstrPos = 0\n\t}\n}\n\n/**\n *\n * @param sseContent @\n */\nfunction parseSSEToObjects(sseContent: string): Array<string> {\n\t// 1. Split by row\n\tconst events = sseContent.split('\\n')\n\tlet jsonList = []\n\tfor (const line of events) {\n\t\t// Match lines starting with \"data:\" (ignore the Spaces before and after)\n\t\tconst trimmedLine = line.trim()\n\t\tif (trimmedLine.startsWith('data:')) {\n\t\t\t// Remove the prefix \"data:\" to obtain the JSON string\n\t\t\tconst jsonStr = trimmedLine.slice('data:'.length).trim()\n\t\t\tif (jsonStr) {\n\t\t\t\t// Exclude null values (such as the empty data in the last row)\n\t\t\t\tjsonList.push(jsonStr)\n\t\t\t}\n\t\t}\n\t}\n\treturn jsonList\n}\n\n/**\n * @description Segment the character content\n */\nfunction sliceContentToArray(content: string) {\n\t// Match all code blocks (closed or unclosed)\n\t// Regular logic: Start with ' ', match to the end of the content or the next ' '(take the longer match)\n\tconst codeBlockRegex = /```[\\s\\S]*?(?:```|$)/g\n\tconst codeBlocks = content.match(codeBlockRegex) || []\n\n\t// Separate the non-code part\n\tconst textParts = content.split(codeBlockRegex)\n\n\t// Merge text and code blocks\n\tconst result = []\n\tconst maxLength = Math.max(textParts.length, codeBlocks.length)\n\n\tfor (let i = 0; i < maxLength; i++) {\n\t\tif (i < textParts.length && textParts[i].trim() !== '') {\n\t\t\tresult.push(textParts[i])\n\t\t}\n\t\tif (i < codeBlocks.length) {\n\t\t\tresult.push(codeBlocks[i])\n\t\t}\n\t}\n\n\treturn result\n}\n\n/**\n * @description Remove markdown code mark\n */\nexport function removeHtmlCodeBlockMarkers(content: string) {\n\treturn content.replace(/```html/g, '').replace(/```$/gm, '')\n}\n\n/**\n * @description Remove sign code for \"<<<<<search\" and \">>>>>replace\"\n */\nexport function removeSignCode(content: string) {\n\tconst signCodeRegex = /<<<<<<<\\s+SEARCH[\\s\\S]*?=======([\\s\\S]*?)>>>>>>>\\s+REPLACE/g\n\treturn content.replace(signCodeRegex, '$1')\n}\n\n/**\n * @description Get content from title tags\n */\nexport function getContentFromTitleTags(content: string) {\n\tconst match = content.match(/<title>(.*?)<\\/title>/i)\n\treturn match ? match[1] : ''\n}\n\n/**\n * @description Get html template code content\n */\nexport async function getHtmlTemplateContent(\n\tstore: TemplateStore,\n\tcallback?: (usage: UsageInfo) => void\n) {\n\tconst { chatId, previewCode, previewTit } = store\n\ttry {\n\t\tconst codeContent = (await instance.post('/askai/chat/get_html', {\n\t\t\tchatId: chatId.value,\n\t\t})) as Record<string, any>\n\t\tpreviewCode.value = codeContent.html_content\n\t\tpreviewTit.value = getContentFromTitleTags(previewCode.value)\n\t\tif (callback) {\n\t\t\tcallback(codeContent.last_usage)\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Save code change\n */\nexport async function saveCodeChange(store: TemplateStore) {\n\tconst { previewCode, chatId } = store\n\ttry {\n\t\tawait instance.post(\n\t\t\t'/askai/chat/modify_html',\n\t\t\t{ chatId: chatId.value, content: previewCode.value },\n\t\t\tinstanceOptions\n\t\t)\n\t\tgetHtmlTemplateContent(store)\n\t} catch (error) {\n\t\tconsole.warn(error)\n\t}\n}\n\n/**\n * @description Duplicate template\n */\nexport async function duplicateTemplate() {}\n"
  },
  {
    "path": "core/frontend/src/views/template/pages/AITemplate/dto/index.ts",
    "content": "export type ChatInfo = {\n    chatId: string\n    create_time: number\n    files: string[]\n    messages: ChatMessage[]\n    modelId: string\n    prompt: string\n    supplierName: string\n    title: string\n    update_time: number\n    domain:string\n}\n\nexport type ChatMessage = {\n    chatId: string\n    content: string\n    create_time: number\n    end_time: number\n    finish_reason: string\n    html_content: string\n    messageId: string\n    model_id: string\n    ppid: string\n    reasoning: string\n    role: string\n    supplier_name: string\n    time_consuming: number\n    usage: UsageInfo\n}\n\n\nexport type Model = {\n    modelId: string\n    supplierName: string\n    capability: string[]\n    title: string\n    status: boolean\n    max_tokens: number\n}\n\nexport type SSEContent = {\n    chatId: string\n    content: string\n    is_end: boolean\n    is_html: boolean\n    reasoning: string\n    role: string\n    update_time: number\n}\n\n\nexport type TemplateStore = {\n    domainList:Ref<string[]>\n    sourceDomain: Ref<string>\n    chatId: Ref<string>\n    questionContent: Ref<string>\n    chatInfo: Ref<ChatInfo>\n    currentChatRecordKey: Ref<string>\n    modelList: Ref<Model[]>\n    currentModel: Ref<Model>\n    currentModelTitle: Ref<string>\n    answerContent: Ref<string[]>\n    previewCode: Ref<string>\n    generateShow: Ref<boolean>\n    chatRecord: Ref<Map<string, string[]>>\n    usageRecord:Ref<Map<string,UsageInfo>>\n    isChat:Ref<boolean>\n    chatScrollRef:Ref<any>\n    scrollWrapperRef:Ref<any>\n    scrollable:Ref<boolean>\n    previewTit:Ref<string>\n    useSpinTax:Ref<boolean>\n    spinTaxLength:Ref<number>\n}\n\nexport type UsageInfo = {\n    completion_tokens: number\n        prompt_tokens: number\n        total_tokens: number\n}"
  },
  {
    "path": "core/frontend/src/views/template/pages/AITemplate/highlight.theme.css",
    "content": "pre code.hljs {\n    display: block;\n    overflow-x: auto;\n    padding: 1em;\n  }\n  code.hljs {\n    padding: 3px 5px\n  }\n\n.code-area {\n    pre {\n    color: #fff !important;\n  }\n}\n  /*\n  \n  Atom One Dark by Daniel Gamage\n  Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax\n  \n  base:    #282c34\n  mono-1:  #abb2bf\n  mono-2:  #818896\n  mono-3:  #5c6370\n  hue-1:   #56b6c2\n  hue-2:   #61aeee\n  hue-3:   #c678dd\n  hue-4:   #98c379\n  hue-5:   #e06c75\n  hue-5-2: #be5046\n  hue-6:   #d19a66\n  hue-6-2: #e6c07b\n  \n  */\n  .hljs {\n    color: #e4e4e4;\n    background: #282c34\n  }\n  .hljs-comment,\n  .hljs-quote {\n    color: #e1e2e4;\n    font-style: italic\n  }\n  .hljs-doctag,\n  .hljs-keyword,\n  .hljs-formula {\n    color: #c678dd\n  }\n  .hljs-section,\n  .hljs-name,\n  .hljs-selector-tag,\n  .hljs-deletion,\n  .hljs-subst {\n    color: #e06c75\n  }\n  .hljs-literal {\n    color: #56b6c2\n  }\n  .hljs-string,\n  .hljs-regexp,\n  .hljs-addition,\n  .hljs-attribute,\n  .hljs-meta .hljs-string {\n    color: #98c379\n  }\n  .hljs-attr,\n  .hljs-variable,\n  .hljs-template-variable,\n  .hljs-type,\n  .hljs-selector-class,\n  .hljs-selector-attr,\n  .hljs-selector-pseudo,\n  .hljs-number {\n    color: #d19a66\n  }\n  .hljs-symbol,\n  .hljs-bullet,\n  .hljs-link,\n  .hljs-meta,\n  .hljs-selector-id,\n  .hljs-title {\n    color: #61aeee\n  }\n  .hljs-built_in,\n  .hljs-title.class_,\n  .hljs-class .hljs-title {\n    color: #e6c07b\n  }\n  .hljs-emphasis {\n    font-style: italic\n  }\n  .hljs-strong {\n    font-weight: bold\n  }\n  .hljs-link {\n    text-decoration: underline\n  }\n\n  .hljs-regexp, .hljs-string, .hljs-meta .hljs-string{\n    color: #d19a66\n  }\n\n  .hljs-attr, .hljs-attribute, .hljs-literal, .hljs-meta, .hljs-number, .hljs-operator, .hljs-variable, .hljs-selector-attr, .hljs-selector-class, .hljs-selector-id {\n    color:#5ae4e5\n  }"
  },
  {
    "path": "core/frontend/src/views/template/pages/AITemplate/index.vue",
    "content": "<template>\n\t<div class=\"wrapper\">\n\t\t<div class=\"page-tit\">\n\t\t\t<span class=\"tit-content\">{{ $t('template.ai.title') }}</span>\n\t\t</div>\n\n\t\t<div class=\"ai-container\">\n\t\t\t<div class=\"chat-area\">\n\t\t\t\t<!-- <div class=\"model-select\">\n\t\t\t\t\t<n-card>\n\t\t\t\t\t\t<div class=\"flex justify-start items-center gap-15px\">\n\t\t\t\t\t\t\t<n-select v-model:value=\"currentModelTitle\" class=\"flex-1\" :options=\"modelList\"\n\t\t\t\t\t\t\t\tlabel-field=\"title\" value-field=\"title\" @update:value=\"changeModel\">\n\t\t\t\t\t\t\t</n-select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</n-card>\n\t\t\t\t</div> -->\n\n\t\t\t\t<div ref=\"answerRef\" class=\"answer\" @wheel=\"handleScroll\">\n\t\t\t\t\t<n-card class=\"answer-card\" :bordered=\"false\" :content-style=\"{ height: '100%' }\">\n\t\t\t\t\t\t<n-scrollbar ref=\"chatScrollRef\" trigger=\"none\" class=\"h-full p-16px\">\n\t\t\t\t\t\t\t<div v-if=\"chatRecord.size == 0\" class=\"answer-container\">\n\t\t\t\t\t\t\t\t<div class=\"ask-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"pic\">\n\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\tclass=\"i-material-symbols:account-circle text-6 text-[var(--color-primary-hover-1)]\"></i>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"text\">\n\t\t\t\t\t\t\t\t\t\t{{ $t('template.ai.greeting') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ref=\"scrollWrapperRef\">\n\t\t\t\t\t\t\t\t<template v-for=\"item in chatRecord\" :key=\"item[0]\">\n\t\t\t\t\t\t\t\t\t<div class=\"answer-container\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"ask-content\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"pic\">\n\t\t\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"i-material-symbols:account-circle text-6 text-[var(--color-primary-hover-1)]\"></i>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"text\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item[0].split('_+_')[0] }}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<!-- <n-spin :description=\"$t('template.ai.loading.description')\" :show=\"generateShow\"> -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"answer-content\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"pic\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-4 text-[var(--color-primary-hover-1)]\">{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t$t('template.ai.brandName')\n\t\t\t\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"text\">\n\t\t\t\t\t\t\t\t\t\t\t\t<MarkdownRender\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-for=\"(_item, _index) in item[1]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"_index\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:content=\"removeSignCode(_item)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:chat-record-key=\"item[0]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mb-4\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@code-render=\"handleCodeRender\">\n\t\t\t\t\t\t\t\t\t\t\t\t</MarkdownRender>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"answer-tool\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"tool-item\" @click=\"handleRegenerate(item[0].toString())\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"i-ri:refresh-line text-5\"></i>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{{ $t('template.ai.buttons.regenerate') }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<n-popover trigger=\"hover\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"tool-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"i-ri:information-2-fill text-5\"></i>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{{ $t('template.ai.buttons.info') }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"usageRecord.get(item[0])\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"flex justify-start items-center gap-2.5\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-for=\"(info, info_key) in usageRecord.get(item[0])\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"info_key\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"fw-bold\">{{ info_key }}: </span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{{ info }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</n-popover>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<!-- </n-spin> -->\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</n-scrollbar>\n\t\t\t\t\t</n-card>\n\t\t\t\t</div>\n\t\t\t\t<n-card class=\"question-card\" :bordered=\"false\">\n\t\t\t\t\t<div class=\"question-card-content\">\n\t\t\t\t\t\t<n-input\n\t\t\t\t\t\t\tv-model:value=\"questionContent\"\n\t\t\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t\t\tclass=\"question-input\"\n\t\t\t\t\t\t\t:autosize=\"{ minRows: 4 }\"\n\t\t\t\t\t\t\t:placeholder=\"$t('template.ai.welcomeMessage', { domain: chatInfo.domain })\"\n\t\t\t\t\t\t\t@keydown.enter=\"e => sendChat(store, e)\">\n\t\t\t\t\t\t</n-input>\n\t\t\t\t\t\t<div class=\"question-tools\">\n\t\t\t\t\t\t\t<div class=\"flex justify-start gap-10px\">\n\t\t\t\t\t\t\t\t<div class=\"w-160px\">\n\t\t\t\t\t\t\t\t\t<n-select\n\t\t\t\t\t\t\t\t\t\tv-model:value=\"currentModelTitle\"\n\t\t\t\t\t\t\t\t\t\t:options=\"modelList\"\n\t\t\t\t\t\t\t\t\t\t:consistent-menu-width=\"false\"\n\t\t\t\t\t\t\t\t\t\tlabel-field=\"title\"\n\t\t\t\t\t\t\t\t\t\tvalue-field=\"title\"\n\t\t\t\t\t\t\t\t\t\t@update:value=\"changeModel\">\n\t\t\t\t\t\t\t\t\t</n-select>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex justify-start items-center\">\n\t\t\t\t\t\t\t\t\t<n-checkbox v-model:checked=\"useSpinTax\" style=\"flex-shrink: 0\">\n\t\t\t\t\t\t\t\t\t\tSpintax\n\t\t\t\t\t\t\t\t\t</n-checkbox>\n\t\t\t\t\t\t\t\t\t<n-input-number\n\t\t\t\t\t\t\t\t\t\tv-model:value=\"spinTaxLength\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"\"\n\t\t\t\t\t\t\t\t\t\tclass=\"w-50px\"\n\t\t\t\t\t\t\t\t\t\t:show-button=\"false\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"flex-shrink: 0\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!useSpinTax\">\n\t\t\t\t\t\t\t\t\t</n-input-number>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"send-btn\">\n\t\t\t\t\t\t\t\t<!-- <i\n                                class=\"i-icon-park-twotone:new-picture text-8 text-[var(--color-primary-1)] hover-text-[var(--color-primary-hover-1)]\"></i> -->\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\tv-if=\"!isChat\"\n\t\t\t\t\t\t\t\t\tclass=\"i-icon-park-twotone:arrow-circle-up text-8 text-[var(--color-primary-1)] hover-text-[var(--color-primary-hover-1)]\"\n\t\t\t\t\t\t\t\t\t@click=\"sendChat(store)\"></i>\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\tclass=\"i-svg-spinners:pulse-2 text-8 text-[var(--color-primary-1)] hover-text-[var(--color-primary-hover-1)]\"\n\t\t\t\t\t\t\t\t\t@click=\"stopChat(store)\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</n-card>\n\t\t\t</div>\n\t\t\t<div class=\"view-area\">\n\t\t\t\t<n-card style=\"height: 100%\">\n\t\t\t\t\t<div style=\"height: calc(100vh - 165px)\">\n\t\t\t\t\t\t<div class=\"h-10 flex justify-between items-center gap-2.5 mb-5\">\n\t\t\t\t\t\t\t<div class=\"flex justify-start items-center gap-2.5\">\n\t\t\t\t\t\t\t\t<n-button-group size=\"small\">\n\t\t\t\t\t\t\t\t\t<n-button\n\t\t\t\t\t\t\t\t\t\t:type=\"previewStatus == 'view' ? 'primary' : 'default'\"\n\t\t\t\t\t\t\t\t\t\t@click=\"previewStatus = 'view'\">\n\t\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"i-mingcute:eye-2-fill text-5\"></i>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t{{ $t('template.ai.buttons.view') }}\n\t\t\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t\t\t\t<n-button\n\t\t\t\t\t\t\t\t\t\t:type=\"previewStatus == 'edit' ? 'primary' : 'default'\"\n\t\t\t\t\t\t\t\t\t\t@click=\"previewStatus = 'edit'\">\n\t\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"i-tdesign:code text-5\"></i>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t{{ $t('template.ai.buttons.edit') }}\n\t\t\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t\t\t</n-button-group>\n\t\t\t\t\t\t\t\t<span v-if=\"previewStatus == 'edit'\">{{\n\t\t\t\t\t\t\t\t\t$t('template.ai.tips.saveShortcut')\n\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span class=\"text-4 fw-bold\">{{ previewTit }}</span>\n\t\t\t\t\t\t\t<n-button\n\t\t\t\t\t\t\t\tstyle=\"width: 134px\"\n\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t:disabled=\"!previewCode\"\n\t\t\t\t\t\t\t\t@click=\"goToSendEmail\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<i class=\"i-mingcute:mail-send-fill\"></i>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t{{ $t('template.ai.send') }}\n\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<n-scrollbar style=\"height: calc(100% - 40px)\">\n\t\t\t\t\t\t\t<div v-if=\"previewStatus == 'view' && isChat\" v-html=\"previewCode\"></div>\n\t\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\t\tv-else-if=\"previewStatus == 'view' && !isChat\"\n\t\t\t\t\t\t\t\t:srcdoc=\"previewCode\"\n\t\t\t\t\t\t\t\tframeborder=\"0\"\n\t\t\t\t\t\t\t\tclass=\"w-100%\"\n\t\t\t\t\t\t\t\tstyle=\"height: calc(100vh - 224px)\"></iframe>\n\t\t\t\t\t\t\t<BtEditor\n\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\tv-model:value=\"previewCode\"\n\t\t\t\t\t\t\t\tstyle=\"height: calc(100vh - 217px)\"\n\t\t\t\t\t\t\t\t@save=\"saveCodeChange(store)\">\n\t\t\t\t\t\t\t</BtEditor>\n\t\t\t\t\t\t</n-scrollbar>\n\t\t\t\t\t</div>\n\t\t\t\t</n-card>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useGlobalStore } from '@/store'\nimport {\n\tinitialTemplateInfo,\n\tsendChat,\n\tremoveHtmlCodeBlockMarkers,\n\tgetHtmlTemplateContent,\n\tsaveCodeChange,\n\tstopChat,\n\tremoveSignCode,\n\tgetContentFromTitleTags,\n} from './controller'\nimport MarkdownRender from './components/MarkdownRender.vue'\nimport { useTemplateStore } from './store'\nimport { TemplateStore } from './dto'\nimport BtEditor from '@/components/base/bt-editor/index.vue'\nconst globalStore = useGlobalStore()\nconst router = useRouter()\nconst store = useTemplateStore()\nprovide<TemplateStore>('modelStore', store)\nconst {\n\tchatId,\n\tmodelList,\n\tcurrentModelTitle,\n\tpreviewCode,\n\tquestionContent,\n\tchatRecord,\n\tcurrentChatRecordKey,\n\tcurrentModel,\n\tisChat,\n\tchatScrollRef,\n\tscrollWrapperRef,\n\tscrollable,\n\tchatInfo,\n\tpreviewTit,\n\tusageRecord,\n\tuseSpinTax,\n\tspinTaxLength,\n} = store\nconst route = useRoute()\n\nconst previewStatus = ref('view')\n\nchatId.value = route.params.chatId as string\n\n/**\n * @description Handle model select\n */\nfunction changeModel(_: string, options: any) {\n\tcurrentModel.value = options\n}\n\n/**\n * @description Get html template code content\n */\ngetHtmlTemplateContent(store)\n\n/**\n * @description Initial chatInfo and modelList\n */\ninitialTemplateInfo(store)\n\n/**\n * @description Render page code\n */\nfunction handleCodeRender(data: { code: string; key: string }) {\n\tif (data.key == currentChatRecordKey.value) {\n\t\tpreviewCode.value = removeSignCode(removeHtmlCodeBlockMarkers(data.code))\n\t\tpreviewTit.value = getContentFromTitleTags(previewCode.value)\n\t}\n}\n\n/**\n * @description Regenerate\n */\nfunction handleRegenerate(key: string) {\n\tquestionContent.value = key.split('_+_')[0]\n\tsendChat(store)\n}\n\n/**\n * @description Listen scroll wrapper for height-change\n */\nfunction scrollWrapperHeightChange(timer?: any, index = 0) {\n\tlet timeoutTimer = timer || null\n\tlet startIndex = index\n\tif (startIndex >= 6) {\n\t\treturn\n\t}\n\tif (timeoutTimer) {\n\t\tclearTimeout(timer)\n\t\ttimeoutTimer = null\n\t}\n\tif (scrollWrapperRef.value.offsetHeight) {\n\t\tchatScrollRef.value.scrollTo({ left: 0, top: scrollWrapperRef.value.offsetHeight })\n\t\tstartIndex++\n\t\treturn\n\t} else {\n\t\tstartIndex++\n\t\ttimeoutTimer = setTimeout(() => {\n\t\t\tscrollWrapperHeightChange(timeoutTimer, startIndex)\n\t\t}, 100)\n\t}\n}\n/**\n * @description If user scroll then stop n-scrollbar behavior\n */\nfunction handleScroll(event: WheelEvent) {\n\tif (event.deltaY < 0) {\n\t\tscrollable.value = false\n\t}\n}\n\n/**\n * @description Go to send email\n */\nasync function goToSendEmail() {\n\tawait saveCodeChange(store)\n\tglobalStore.temp_subject = previewTit.value\n\trouter.push({\n\t\tpath: '/market/task/edit',\n\t\tquery: {\n\t\t\tchat_id: chatInfo.value.chatId,\n\t\t},\n\t})\n}\n\nonMounted(() => {\n\tscrollWrapperHeightChange()\n})\n</script>\n\n<style lang=\"scss\" scoped>\n@use '@/styles/index' as base;\n@use '../../mixin.scss';\n\n.wrapper {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\theight: 100%;\n\tpadding: 20px 24px;\n\toverflow: hidden;\n\n\t.page-tit {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: start;\n\t\talign-items: center;\n\t\tmargin-bottom: 16px;\n\t\t.tit-content {\n\t\t\tfont-size: 18px;\n\t\t\tcolor: var(--color-text-1);\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t.ai-container {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tgap: 16px;\n\t\toverflow: hidden;\n\n\t\t.chat-area {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 36%;\n\t\t\tmax-width: 520px;\n\t\t\tmin-width: 420px;\n\t\t\tgap: 16px;\n\n\t\t\t.answer {\n\t\t\t\tflex: 1;\n\t\t\t\tflex-shrink: 1;\n\t\t\t\toverflow: hidden;\n\n\t\t\t\t.answer-card {\n\t\t\t\t\t--n-padding-top: 0;\n\t\t\t\t\t--n-padding-left: 0;\n\t\t\t\t\t--n-padding-right: 0;\n\t\t\t\t\t--n-padding-bottom: 0;\n\t\t\t\t\theight: 100%;\n\t\t\t\t}\n\n\t\t\t\t.answer-container {\n\t\t\t\t\t& + .answer-container {\n\t\t\t\t\t\tmargin-top: 16px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.ask-content {\n\t\t\t\t\t\tmargin-bottom: 16px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.answer-content {\n\t\t\t\t\t\tbackground: var(--color-bg-2);\n\t\t\t\t\t}\n\n\t\t\t\t\t.ask-content,\n\t\t\t\t\t.answer-content {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex-direction: column;\n\t\t\t\t\t\tpadding: 16px;\n\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\tgap: 10px;\n\t\t\t\t\t\tbackground: var(--color-bg-3);\n\n\t\t\t\t\t\t.pic {\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.text {\n\t\t\t\t\t\t\tline-height: 24px;\n\t\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\t\t:deep(a) {\n\t\t\t\t\t\t\t\ttext-decoration: underline;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@mixin item-tool {\n\t\t\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t\t\t\tgap: 5px;\n\t\t\t\t\t\t\tpadding: 5px 10px;\n\t\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\tborder-radius: 3px;\n\t\t\t\t\t\t\ttransition: 0.1s all ease-in-out;\n\t\t\t\t\t\t\tcursor: pointer;\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tbackground: var(--color-primary-1);\n\t\t\t\t\t\t\t\tcolor: #fff;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tbackground: var(--color-primary-3);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.answer-tool {\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\tjustify-content: flex-end;\n\t\t\t\t\t\t\tgap: 10px;\n\t\t\t\t\t\t\tpadding-top: 16px;\n\t\t\t\t\t\t\tborder-top: 1px solid var(--color-border-1);\n\n\t\t\t\t\t\t\t.tool-item {\n\t\t\t\t\t\t\t\t@include item-tool();\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\n\t\t\t.question-card {\n\t\t\t\t.question-card-content {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\n\t\t\t\t.question-input {\n\t\t\t\t\t--n-padding-left: 12px;\n\t\t\t\t\t--n-padding-right: 12px;\n\t\t\t\t\t--n-padding-vertical: 12px;\n\t\t\t\t\t--n-font-size: 14px;\n\t\t\t\t\tmin-height: 160px;\n\t\t\t\t\tmax-height: 240px;\n\t\t\t\t\tpadding-bottom: 46px;\n\t\t\t\t}\n\n\t\t\t\t.question-tools {\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: space-between;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tpadding: 0 12px 12px;\n\n\t\t\t\t\t.send-btn {\n\t\t\t\t\t\t@include base.row-flex-start;\n\t\t\t\t\t\tgap: 10px;\n\n\t\t\t\t\t\ti {\n\t\t\t\t\t\t\tcursor: pointer;\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\n\t\t.view-area {\n\t\t\tflex: 1;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.n-card {\n\t\t\t--n-padding-top: 16px;\n\t\t\t--n-padding-left: 16px;\n\t\t\t--n-padding-right: 16px;\n\t\t\t--n-padding-bottom: 16px;\n\t\t}\n\t}\n}\n</style>\n"
  },
  {
    "path": "core/frontend/src/views/template/pages/AITemplate/store/index.ts",
    "content": "import { ChatInfo, Model, TemplateStore, UsageInfo } from \"../dto\"\nexport function useTemplateStore(): TemplateStore {\n    const domainList = ref<string[]>([])\n    const sourceDomain = ref(\"\")\n    const chatId = ref(\"\")\n    const questionContent = ref(\"\")\n    const chatInfo = ref<ChatInfo>({\n        domain: \"\",\n        chatId: \"\",\n        create_time: 0,\n        files: [],\n        messages: [],\n        modelId: \"\",\n        prompt: \"\",\n        supplierName: \"\",\n        title: \"\",\n        update_time: 0,\n    })\n    const currentChatRecordKey = ref<string>(\"\")\n    const modelList = ref<Model[]>([])\n    const currentModel = ref<Model>({\n        modelId: \"\",\n        supplierName: \"\",\n        capability: [],\n        title: \"\",\n        status: false,\n        max_tokens: 0\n    })\n    const currentModelTitle = ref<string>(\"\")\n    const answerContent = ref<string[]>([])\n    const previewCode = ref<string>(\"\")\n    const generateShow = ref<boolean>(false)\n    const chatRecord = ref<Map<string, string[]>>(new Map())\n    const usageRecord = ref<Map<string, UsageInfo>>(new Map())\n    const isChat = ref(false)\n    const chatScrollRef = ref()\n    const scrollWrapperRef = ref()\n    const scrollable = ref(true)\n    const previewTit = ref(\"\")\n    const useSpinTax = ref(false)\n    const spinTaxLength = ref(50)\n\n    return {\n        domainList,\n        sourceDomain,\n        chatId,\n        questionContent,\n        chatInfo,\n        currentChatRecordKey,\n        modelList,\n        currentModel,\n        currentModelTitle,\n        answerContent,\n        previewCode,\n        generateShow,\n        chatRecord,\n        usageRecord,\n        isChat,\n        chatScrollRef,\n        scrollWrapperRef,\n        scrollable,\n        previewTit,\n        useSpinTax,\n        spinTaxLength\n    }\n}"
  },
  {
    "path": "core/frontend/src/views/template/store/index.ts",
    "content": ""
  },
  {
    "path": "core/frontend/src/views/test/index.vue",
    "content": "<template>\n\t<div class=\"flex-center\">\n\t\t<div class=\"w-1200px h-600px p-24px\">\n\t\t\t<email-editor ref=\"editorRef\"></email-editor>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport EmailEditor from '@/features/EmailEditor/index.vue'\n</script>\n"
  },
  {
    "path": "core/frontend/tsconfig.json",
    "content": "{\n\t\"compilerOptions\": {\n\t\t\"baseUrl\": \"./\",\n\t\t\"jsx\": \"preserve\",\n\t\t\"target\": \"ESNext\",\n\t\t\"noEmit\": true,\n\t\t\"skipLibCheck\": true,\n\t\t\"jsxImportSource\": \"vue\",\n\t\t\"esModuleInterop\": true,\n\t\t\"useDefineForClassFields\": true,\n\n\t\t/* modules */\n\t\t\"module\": \"ESNext\",\n\t\t\"isolatedModules\": true,\n\t\t\"resolveJsonModule\": true,\n\t\t\"moduleResolution\": \"bundler\",\n\t\t\"allowImportingTsExtensions\": true,\n\n\t\t/* type checking */\n\t\t\"strict\": true,\n\t\t\"noUnusedLocals\": false,\n\t\t\"noUnusedParameters\": false,\n\t\t\"noFallthroughCasesInSwitch\": false,\n\t\t\"lib\": [\"ESNext\", \"DOM\", \"DOM.Iterable\"],\n\t\t\"types\": [\"naive-ui/volar\", \"monaco-editor\"],\n\t\t\"paths\": {\n\t\t\t\"@/*\": [\"src/*\"],\n\t\t\t\"@images/*\": [\"src/assets/images/*\"]\n\t\t}\n\t},\n\t\"files\": [\"types/components.d.ts\"],\n\t\"include\": [\"src/**/*.ts\", \"src/**/*.tsx\", \"src/**/*.vue\", \"types/*.d.ts\"]\n}\n"
  },
  {
    "path": "core/frontend/types/auto-import.d.ts",
    "content": "/* eslint-disable */\n/* prettier-ignore */\n// @ts-nocheck\n// noinspection JSUnusedGlobalSymbols\n// Generated by unplugin-auto-import\n// biome-ignore lint: disable\nexport {}\ndeclare global {\n  const EffectScope: typeof import('vue')['EffectScope']\n  const computed: typeof import('vue')['computed']\n  const createApp: typeof import('vue')['createApp']\n  const customRef: typeof import('vue')['customRef']\n  const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']\n  const defineComponent: typeof import('vue')['defineComponent']\n  const effectScope: typeof import('vue')['effectScope']\n  const getCurrentInstance: typeof import('vue')['getCurrentInstance']\n  const getCurrentScope: typeof import('vue')['getCurrentScope']\n  const h: typeof import('vue')['h']\n  const inject: typeof import('vue')['inject']\n  const isProxy: typeof import('vue')['isProxy']\n  const isReactive: typeof import('vue')['isReactive']\n  const isReadonly: typeof import('vue')['isReadonly']\n  const isRef: typeof import('vue')['isRef']\n  const markRaw: typeof import('vue')['markRaw']\n  const nextTick: typeof import('vue')['nextTick']\n  const onActivated: typeof import('vue')['onActivated']\n  const onBeforeMount: typeof import('vue')['onBeforeMount']\n  const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']\n  const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']\n  const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']\n  const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']\n  const onDeactivated: typeof import('vue')['onDeactivated']\n  const onErrorCaptured: typeof import('vue')['onErrorCaptured']\n  const onMounted: typeof import('vue')['onMounted']\n  const onRenderTracked: typeof import('vue')['onRenderTracked']\n  const onRenderTriggered: typeof import('vue')['onRenderTriggered']\n  const onScopeDispose: typeof import('vue')['onScopeDispose']\n  const onServerPrefetch: typeof import('vue')['onServerPrefetch']\n  const onUnmounted: typeof import('vue')['onUnmounted']\n  const onUpdated: typeof import('vue')['onUpdated']\n  const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']\n  const provide: typeof import('vue')['provide']\n  const reactive: typeof import('vue')['reactive']\n  const readonly: typeof import('vue')['readonly']\n  const ref: typeof import('vue')['ref']\n  const resolveComponent: typeof import('vue')['resolveComponent']\n  const shallowReactive: typeof import('vue')['shallowReactive']\n  const shallowReadonly: typeof import('vue')['shallowReadonly']\n  const shallowRef: typeof import('vue')['shallowRef']\n  const toRaw: typeof import('vue')['toRaw']\n  const toRef: typeof import('vue')['toRef']\n  const toRefs: typeof import('vue')['toRefs']\n  const toValue: typeof import('vue')['toValue']\n  const triggerRef: typeof import('vue')['triggerRef']\n  const unref: typeof import('vue')['unref']\n  const useAttrs: typeof import('vue')['useAttrs']\n  const useCssModule: typeof import('vue')['useCssModule']\n  const useCssVars: typeof import('vue')['useCssVars']\n  const useI18n: typeof import('vue-i18n')['useI18n']\n  const useId: typeof import('vue')['useId']\n  const useLink: typeof import('vue-router')['useLink']\n  const useModel: typeof import('vue')['useModel']\n  const useRoute: typeof import('vue-router')['useRoute']\n  const useRouter: typeof import('vue-router')['useRouter']\n  const useSlots: typeof import('vue')['useSlots']\n  const useTemplateRef: typeof import('vue')['useTemplateRef']\n  const watch: typeof import('vue')['watch']\n  const watchEffect: typeof import('vue')['watchEffect']\n  const watchPostEffect: typeof import('vue')['watchPostEffect']\n  const watchSyncEffect: typeof import('vue')['watchSyncEffect']\n}\n// for type re-export\ndeclare global {\n  // @ts-ignore\n  export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'\n  import('vue')\n}\n"
  },
  {
    "path": "core/frontend/types/components.d.ts",
    "content": "/* eslint-disable */\n// @ts-nocheck\n// Generated by unplugin-vue-components\n// Read more: https://github.com/vuejs/core/pull/3399\n// biome-ignore lint: disable\nexport {}\n\n/* prettier-ignore */\ndeclare module 'vue' {\n  export interface GlobalComponents {\n    BtCharts: typeof import('./../src/components/base/bt-charts/index.vue')['default']\n    BtCloseBtn: typeof import('./../src/components/base/bt-close-btn/index.vue')['default']\n    BtCode: typeof import('./../src/components/base/bt-code/index.vue')['default']\n    BtConfigProvider: typeof import('./../src/components/ui/bt-config-provider/index.vue')['default']\n    BtEditor: typeof import('./../src/components/base/bt-editor/index.vue')['default']\n    BtFileUpload: typeof import('./../src/components/base/bt-file-upload/index.vue')['default']\n    BtForm: typeof import('./../src/components/ui/bt-form/index.vue')['default']\n    BtHelp: typeof import('./../src/components/base/bt-help/index.vue')['default']\n    BtLogs: typeof import('./../src/components/base/bt-logs/index.vue')['default']\n    BtModal: typeof import('./../src/components/ui/bt-modal/index.vue')['default']\n    BtMore: typeof import('./../src/components/base/bt-more/index.vue')['default']\n    BtPreview: typeof import('./../src/components/base/bt-preview/index.vue')['default']\n    BtRouteTabs: typeof import('./../src/components/base/bt-route-tabs/index.vue')['default']\n    BtSearch: typeof import('./../src/components/base/bt-search/index.vue')['default']\n    BtTableBatch: typeof import('./../src/components/base/bt-table-batch/index.vue')['default']\n    BtTableHelp: typeof import('./../src/components/base/bt-table-help/index.vue')['default']\n    BtTableLayout: typeof import('./../src/components/base/bt-table-layout/index.vue')['default']\n    BtTablePage: typeof import('./../src/components/ui/bt-table-page/index.vue')['default']\n    BtTablePassword: typeof import('./../src/components/base/bt-table-password/index.vue')['default']\n    BtTabs: typeof import('./../src/components/ui/bt-tabs/index.vue')['default']\n    BtTime: typeof import('./../src/components/base/bt-time/index.vue')['default']\n    BtTimeRange: typeof import('./../src/components/base/bt-time-range/index.vue')['default']\n    BtTips: typeof import('./../src/components/base/bt-tips/index.vue')['default']\n    Message: typeof import('./../src/components/utils/message/index.tsx')['default']\n    MessageList: typeof import('./../src/components/utils/message/message-list.tsx')['default']\n    Method: typeof import('./../src/components/utils/confirm/method.tsx')['default']\n    NAlert: typeof import('naive-ui')['NAlert']\n    NBreadcrumb: typeof import('naive-ui')['NBreadcrumb']\n    NBreadcrumbItem: typeof import('naive-ui')['NBreadcrumbItem']\n    NButton: typeof import('naive-ui')['NButton']\n    NButtonGroup: typeof import('naive-ui')['NButtonGroup']\n    NCard: typeof import('naive-ui')['NCard']\n    NCheckbox: typeof import('naive-ui')['NCheckbox']\n    NCollapse: typeof import('naive-ui')['NCollapse']\n    NCollapseItem: typeof import('naive-ui')['NCollapseItem']\n    NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']\n    NColorPicker: typeof import('naive-ui')['NColorPicker']\n    NConfigProvider: typeof import('naive-ui')['NConfigProvider']\n    NDataTable: typeof import('naive-ui')['NDataTable']\n    NDatePicker: typeof import('naive-ui')['NDatePicker']\n    NDescriptions: typeof import('naive-ui')['NDescriptions']\n    NDescriptionsItem: typeof import('naive-ui')['NDescriptionsItem']\n    NDivider: typeof import('naive-ui')['NDivider']\n    NDropdown: typeof import('naive-ui')['NDropdown']\n    NEllipsis: typeof import('naive-ui')['NEllipsis']\n    NEmpty: typeof import('naive-ui')['NEmpty']\n    NFlex: typeof import('naive-ui')['NFlex']\n    NForm: typeof import('naive-ui')['NForm']\n    NFormItem: typeof import('naive-ui')['NFormItem']\n    NFormItemGi: typeof import('naive-ui')['NFormItemGi']\n    NGi: typeof import('naive-ui')['NGi']\n    NGrid: typeof import('naive-ui')['NGrid']\n    NIcon: typeof import('naive-ui')['NIcon']\n    NImage: typeof import('naive-ui')['NImage']\n    NInput: typeof import('naive-ui')['NInput']\n    NInputGroup: typeof import('naive-ui')['NInputGroup']\n    NInputGroupLabel: typeof import('naive-ui')['NInputGroupLabel']\n    NInputNumber: typeof import('naive-ui')['NInputNumber']\n    NLayout: typeof import('naive-ui')['NLayout']\n    NLayoutHeader: typeof import('naive-ui')['NLayoutHeader']\n    NLayoutSider: typeof import('naive-ui')['NLayoutSider']\n    NList: typeof import('naive-ui')['NList']\n    NListItem: typeof import('naive-ui')['NListItem']\n    NMenu: typeof import('naive-ui')['NMenu']\n    NModal: typeof import('naive-ui')['NModal']\n    NPagination: typeof import('naive-ui')['NPagination']\n    NPopover: typeof import('naive-ui')['NPopover']\n    NProgress: typeof import('naive-ui')['NProgress']\n    NRadio: typeof import('naive-ui')['NRadio']\n    NRadioButton: typeof import('naive-ui')['NRadioButton']\n    NRadioGroup: typeof import('naive-ui')['NRadioGroup']\n    NScrollbar: typeof import('naive-ui')['NScrollbar']\n    NSelect: typeof import('naive-ui')['NSelect']\n    NSkeleton: typeof import('naive-ui')['NSkeleton']\n    NSlider: typeof import('naive-ui')['NSlider']\n    NSpin: typeof import('naive-ui')['NSpin']\n    NSwitch: typeof import('naive-ui')['NSwitch']\n    NTable: typeof import('naive-ui')['NTable']\n    NTabPane: typeof import('naive-ui')['NTabPane']\n    NTabs: typeof import('naive-ui')['NTabs']\n    NTag: typeof import('naive-ui')['NTag']\n    NUpload: typeof import('naive-ui')['NUpload']\n    NUploadDragger: typeof import('naive-ui')['NUploadDragger']\n    RouterLink: typeof import('vue-router')['RouterLink']\n    RouterView: typeof import('vue-router')['RouterView']\n    UploadError: typeof import('./../src/components/base/bt-file-upload/UploadError.vue')['default']\n    UploadProgress: typeof import('./../src/components/base/bt-file-upload/UploadProgress.vue')['default']\n    UploadPrompt: typeof import('./../src/components/base/bt-file-upload/UploadPrompt.vue')['default']\n    UploadSuccess: typeof import('./../src/components/base/bt-file-upload/UploadSuccess.vue')['default']\n  }\n}\n"
  },
  {
    "path": "core/frontend/types/env.d.ts",
    "content": "/// <reference types=\"@rsbuild/core/types\" />\n\ndeclare module '*.vue' {\n\timport type { DefineComponent } from 'vue'\n\tconst component: DefineComponent<object, object, unknown>\n\texport default component\n}\n\nimport { SlateDescendant } from '@wangeditor/editor'\n\ndeclare module '@wangeditor/editor' {\n\t// 扩展 Text\n\tinterface SlateText {\n\t\ttext: string\n\t}\n\n\t// 扩展 Element\n\tinterface SlateElement {\n\t\ttype: string\n\t\tchildren: SlateDescendant[]\n\t}\n}\n"
  },
  {
    "path": "core/frontend/uno.config.ts",
    "content": "import { globSync } from 'glob'\nimport { defineConfig } from 'unocss'\nimport path from 'path'\nimport presetUno from '@unocss/preset-uno'\nimport presetIcons from '@unocss/preset-icons'\nimport presetAttributify from '@unocss/preset-attributify'\nimport transformerDirectives from '@unocss/transformer-directives'\nimport { FileSystemIconLoader } from '@iconify/utils/lib/loader/node-loaders'\n\nfunction getIcons() {\n\tconst icons = {}\n\tconst files = globSync('src/assets/icons/**/*.svg', { nodir: true })\n\tfiles.forEach(filePath => {\n\t\tconst fileName = path.basename(filePath) // 获取文件名，包括后缀\n\t\tconst fileNameWithoutExt = path.parse(fileName).name // 获取去除后缀的文件名\n\t\tconst folderName = path.basename(path.dirname(filePath)) // 获取文件夹名\n\t\tif (!icons[folderName]) {\n\t\t\ticons[folderName] = []\n\t\t}\n\t\ticons[folderName].push(`i-${folderName}:${fileNameWithoutExt}`)\n\t})\n\treturn icons\n}\n\nconst icons = getIcons()\nconst collections = Object.fromEntries(\n\tObject.keys(icons).map(item => [item, FileSystemIconLoader(`src/assets/icons/${item}`)])\n)\n\nexport default defineConfig({\n\tpresets: [\n\t\tpresetUno({ preflight: false }),\n\t\tpresetAttributify(),\n\t\tpresetIcons({\n\t\t\tprefix: 'i-',\n\t\t\textraProperties: {\n\t\t\t\tdisplay: 'inline-flex',\n\t\t\t},\n\t\t\tcollections: {\n\t\t\t\t...collections,\n\t\t\t\tcustom: {\n\t\t\t\t\thelp: '<svg aria-hidden=\"true\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.886 4.923c-.232.25-.386.63-.386 1.122a.75.75 0 1 1-1.5 0c0-.803.254-1.57.788-2.144C6.33 3.32 7.1 3 8 3c.9 0 1.67.32 2.212.901.534.574.788 1.341.788 2.144 0 1.234-.869 1.922-1.436 2.332-.094.068-.178.127-.255.181-.19.134-.33.233-.449.343a.64.64 0 0 0-.11.121V9.5a.75.75 0 0 1-1.5 0V9c0-.563.326-.956.593-1.202.198-.183.457-.364.672-.516l.17-.121c.559-.404.815-.693.815-1.116 0-.492-.154-.872-.386-1.122C8.888 4.68 8.533 4.5 8 4.5c-.533 0-.888.18-1.114.423Z\"></path><path d=\"M9 12a1.001 1.001 0 0 1-2 0 1.001 1.001 0 0 1 2 0Z\"></path><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 14.5A6.5 6.5 0 1 0 1.5 8c0 1.022.179 1.608.603 2.399.316.59.407 1.313.178 2.003l-.66 1.976 1.977-.659a2.541 2.541 0 0 1 2.004.178c.79.424 1.376.603 2.398.603ZM8 16a8 8 0 1 0-8-8c0 1.29.25 2.117.78 3.107.136.252.168.549.078.82l-.807 2.42a1 1 0 0 0-.051.315V15a1 1 0 0 0 1 1h.338a1 1 0 0 0 .316-.051l2.419-.807c.271-.09.568-.057.82.078.99.53 1.817.78 3.107.78Z\"></path></svg>',\n\t\t\t\t\tsmtp: '<svg t=\"1747640620453\" viewBox=\"0 0 1025 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3817\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><path d=\"M841.142857 73.142857a109.714286 109.714286 0 0 1 109.202286 99.181714L950.857143 182.857143v294.107428a36.571429 36.571429 0 0 1-72.557714 6.582858L877.714286 476.964571V194.340571L569.051429 459.776c-32.182857 19.529143-71.826286 21.211429-108.909715 2.121143l-10.020571-5.705143L146.285714 194.56v573.44a36.571429 36.571429 0 0 0 29.988572 35.986286L182.857143 804.571429h221.842286a36.571429 36.571429 0 0 1 6.582857 72.557714l-6.582857 0.585143H182.857143a109.714286 109.714286 0 0 1-109.202286-99.181715L73.142857 768v-585.142857a109.714286 109.714286 0 0 1 99.181714-109.202286L182.857143 73.142857h658.285714z m-19.675428 73.142857H202.24L492.982857 397.238857a40.740571 40.740571 0 0 0 29.257143 5.046857l3.949714-1.462857L821.467429 146.285714z\" fill=\"currentColor\" p-id=\"3818\"></path><path d=\"M857.526857 626.395429l5.632 3.510857 146.651429 109.421714a36.571429 36.571429 0 0 1 5.558857 53.613714l-5.266286 4.827429-142.482286 108.544a36.571429 36.571429 0 0 1-49.225142-53.76l4.900571-4.388572 56.32-43.008-257.755429 0.073143a36.571429 36.571429 0 0 1-6.582857-72.557714l6.582857-0.585143H877.714286l-58.294857-43.593143a36.571429 36.571429 0 0 1 38.107428-62.098285z\" fill=\"currentColor\" p-id=\"3819\"></path></svg>',\n\t\t\t\t\tmailbox:\n\t\t\t\t\t\t'<svg t=\"1747732902190\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"20987\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><path d=\"M838.83 280.42c-8.76-1.74-17.74-2.73-26.72-2.94l-11.05-2.49V154.13c0-37.89-33.19-68.72-74-68.72H288.34c-40.8 0-74 30.83-74 68.72v123.13l-1.23 0.2c-9.26 0.16-18.48 1.13-26.52 2.74C117.35 291.12 67.1 346.02 67.1 410.75V813.9c0 68.89 60.82 124.95 135.57 124.95h618.86c74.75 0 135.56-56.06 135.56-124.95V410.75c0.01-64.74-50.25-119.63-118.26-130.33z m-37.21 58.36l6.83 0.76c6.15 0 12.29 0.61 19.49 2.01 7.34 1.15 14.14 3.36 20.6 6.04l-47.49 31.93v-40.86l0.57 0.12zM288.34 147.51h438.72c7.38 0 11.9 4.29 11.9 6.62v267.14L548.81 549.12l-4.63 3.81c-17.29 17.28-44.36 18.39-60.31 2.44L276.45 414.64V154.13c0-2.34 4.51-6.62 11.89-6.62z m-90.9 193.83c5.58-1.1 11.26-1.58 16.91-1.66v32.83l-37.33-25.32c6.4-2.56 13.13-4.7 20.42-5.85zM895 813.9c0 34.66-32.95 62.85-73.46 62.85H202.67c-40.51 0-73.47-28.19-73.47-62.85V410.75c0-6.5 1.33-12.73 3.28-18.75l309.81 209.54c19.35 18.14 44.28 27.17 69.49 27.17 26.4-0.01 53.11-9.91 73.98-29.59l306.33-205.98c1.71 5.68 2.91 11.52 2.91 17.61V813.9z\" fill=\"currentColor\" p-id=\"20988\"></path><path d=\"M517.91 465.9c45.28 0.75 83.39-13.21 114.34-41.89l-18.11-22.64c-27.17 19.62-58.49 29.43-93.96 29.43-65.66-0.76-98.87-36.6-99.62-107.54 4.53-70.93 38.11-109.05 100.75-114.34 59.61 1.52 90.56 33.59 92.83 96.22-1.52 38.49-12.45 59.25-32.83 62.26-7.55 0.76-10.95-2.64-10.19-10.19 0-3.77 0.37-8.3 1.13-13.58l12.45-105.28h-35.1l-1.13 11.32c-6.79-9.06-16.23-13.58-28.3-13.58-45.28 3.78-70.57 35.09-75.85 93.96-1.52 47.55 14.33 71.7 47.55 72.45 18.86 0 33.96-8.3 45.28-24.9 0.75 17.36 13.58 26.04 38.49 26.04 46.03-4.53 70.93-38.11 74.72-100.75-4.53-81.51-47.17-124.53-127.92-129.05-86.04 6.04-132.08 55.85-138.11 149.43 1.5 93.56 46.02 141.11 133.58 142.63z m-16.98-97.36c-15.85 0-23.02-12.07-21.51-36.23 5.28-37.73 19.62-58.11 43.02-61.13 11.32 0.76 17.73 10.19 19.24 28.3-3.78 41.52-17.37 64.53-40.75 69.06z\" fill=\"currentColor\" p-id=\"20989\"></path></svg>',\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t],\n\ttransformers: [transformerDirectives({ enforce: 'pre' })],\n\ttheme: {\n\t\tcolors: {\n\t\t\tprimary: 'var(--color-primary-1)',\n\t\t\tprimaryHover: 'var(--color-primary-hover-1)',\n\t\t\terror: 'var(--color-error-1)',\n\t\t\twarning: 'var(--color-warning-1)',\n\t\t\tbasic: 'var(--color-text-1)',\n\t\t\tdefault: 'var(--color-text-2)',\n\t\t\tdesc: 'var(--color-text-3)',\n\t\t},\n\t},\n\tshortcuts: {\n\t\t'flex-center': 'flex items-center justify-center',\n\t},\n})\n"
  },
  {
    "path": "core/go-build.sh",
    "content": "# !/bin/sh\n\n# How to use:\n# cd /opt/BillionMail\n# docker run -d --name p-g-alpine --hostname p-g-alpine --restart=always -v ./core:/opt/core -v ./Dockerfiles/core/repositories:/etc/apk/repositories alpine:3.20 tail -f /dev/null\n# docker exec -it p-g-alpine sh\n# cd /opt/core\n# sh go-build.sh\n\nset -e  # Exit immediately when encountering an error\n\nPLATFORMS=${1:-\"all\"}\nif [[ \"$PLATFORMS\" != \"all\" && \"$PLATFORMS\" != \"x86\" && \"$PLATFORMS\" != \"arm\" ]]; then\n  echo -e \"Packaging architecture parameters are incorrect, please enter all, x86, arm\"\n  echo -e \"Example: sh go-build.sh all\"\n  exit 1\nfi\n\n# Check and install Go (if not exist or version is lower than 1.22)\nif ! command -v go &>/dev/null; then\n    echo \"Error: Go is not installed, it is being installed automatically...\"\n    apk update && apk add go file\nelif [ \"$(go version | awk '{print $3}' | sed 's/go//')\" \\< \"1.22\" ]; then\n    echo \"Error: Go version is lower than 1.22, please upgrade manually.\"\n    exit 1\nfi\n\n# Check and install the file (if not exists)\nif ! command -v file &>/dev/null; then\n    echo \"Warning: file not installed, it is being installed automatically...\"\n    apk update && apk add file\nfi\n\n# Verify installation results\necho \"Current environment:\"\necho \"- Go version: $(go version 2>/dev/null || echo 'Not installed')\"\necho \"- file version: $(file --version 2>/dev/null || echo 'Not installed')\"\n\n#go env -w GOPROXY=https://goproxy.io,direct\n\nif [ ! -d \"/opt/core\" ]; then\n    echo \"/opt/core not found\"\n    exit 1\nfi\ncd /opt/core\n\nif [ ! -f \"main.go\" ]; then\n    echo \"main.go not found\"\n    exit 1\nfi\n\ngo mod tidy\n\nif [[ \"$PLATFORMS\" == \"all\" || \"$PLATFORMS\" == \"x86\" ]]; then\n\n    # amd64\n    echo \"build start amd64\"\n    rm -f billionmail-amd64\n    export GOOS=linux\n    export GOARCH=amd64\n    go build -ldflags=\"-s -w\" -o billionmail-amd64 main.go\n    if [ ! -f \"billionmail-amd64\" ]; then\n        echo \"build amd64 failed\"\n        exit 1\n    fi\n\n    check_file=$(file billionmail-amd64 | grep \"x86-64,\")\n    if [ -z \"${check_file}\" ];then\n        echo \"billionmail-amd64 is not an arm64 file, package failed.\";\n        exit 0;\n    fi\nfi\n\nif [[ \"$PLATFORMS\" == \"all\" || \"$PLATFORMS\" == \"arm\" ]]; then\n    # arm64\n    echo \"build start arm64\"\n    rm -f billionmail-arm64\n    export GOOS=linux\n    export GOARCH=arm64\n    go build -ldflags=\"-s -w\" -o billionmail-arm64 main.go\n    if [ ! -f \"billionmail-arm64\" ]; then\n        echo \"build arm64 failed\"\n        exit 1\n    fi\n    check_file=$(file billionmail-arm64 | grep -E \"ARM|aarch64\")\n    if [ -z \"${check_file}\" ];then\n        echo \"billionmail-arm64 is not an arm64 file, package failed.\";\n        exit 0;\n    fi\nfi\n\nls -al billionmail-*"
  },
  {
    "path": "core/go.mod",
    "content": "module billionmail-core\n\ngo 1.22.0\n\ntoolchain go1.23.2\n\nrequire (\n\tgithub.com/GehirnInc/crypt v0.0.0-20230320061759-8cc1b52080c5\n\tgithub.com/docker/docker v28.0.2+incompatible\n\tgithub.com/fsnotify/fsnotify v1.8.0\n\tgithub.com/g0rbe/go-chattr v1.0.1\n\tgithub.com/go-acme/lego/v4 v4.22.2\n\tgithub.com/gogf/gf v1.16.9\n\tgithub.com/gogf/gf/contrib/drivers/pgsql/v2 v2.9.0\n\tgithub.com/gogf/gf/contrib/nosql/redis/v2 v2.9.0\n\tgithub.com/gogf/gf/v2 v2.9.0\n\tgithub.com/golang-jwt/jwt/v5 v5.2.1\n\tgithub.com/google/uuid v1.6.0\n\tgithub.com/mojocn/base64Captcha v1.3.8\n\tgithub.com/nwaples/rardecode v1.1.3\n\tgithub.com/panjf2000/ants/v2 v2.11.3\n\tgithub.com/pkoukk/tiktoken-go v0.1.7\n\tgithub.com/sashabaranov/go-openai v1.40.5\n\tgithub.com/tomasen/fcgi_client v0.0.0-20180423082037-2bb3d819fd19\n\tgithub.com/xuri/excelize/v2 v2.9.0\n\tgolang.org/x/crypto v0.33.0\n\tgolang.org/x/time v0.8.0\n\tgopkg.in/yaml.v3 v3.0.1\n)\n\nrequire (\n\tgithub.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0 // indirect\n\tgithub.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 // indirect\n\tgithub.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect\n\tgithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0 // indirect\n\tgithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns v1.3.0 // indirect\n\tgithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 // indirect\n\tgithub.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect\n\tgithub.com/BurntSushi/toml v1.4.0 // indirect\n\tgithub.com/Microsoft/go-winio v0.4.14 // indirect\n\tgithub.com/aliyun/alibaba-cloud-sdk-go v1.63.72 // indirect\n\tgithub.com/cenkalti/backoff/v4 v4.3.0 // indirect\n\tgithub.com/cespare/xxhash/v2 v2.3.0 // indirect\n\tgithub.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28 // indirect\n\tgithub.com/clbanning/mxj/v2 v2.7.0 // indirect\n\tgithub.com/cloudflare/cloudflare-go v0.112.0 // indirect\n\tgithub.com/containerd/log v0.1.0 // indirect\n\tgithub.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect\n\tgithub.com/distribution/reference v0.6.0 // indirect\n\tgithub.com/dlclark/regexp2 v1.10.0 // indirect\n\tgithub.com/docker/go-connections v0.5.0 // indirect\n\tgithub.com/docker/go-units v0.5.0 // indirect\n\tgithub.com/emirpasic/gods v1.18.1 // indirect\n\tgithub.com/fatih/color v1.18.0 // indirect\n\tgithub.com/felixge/httpsnoop v1.0.4 // indirect\n\tgithub.com/go-jose/go-jose/v4 v4.0.4 // indirect\n\tgithub.com/go-logr/logr v1.4.2 // indirect\n\tgithub.com/go-logr/stdr v1.2.2 // indirect\n\tgithub.com/goccy/go-json v0.10.4 // indirect\n\tgithub.com/gogo/protobuf v1.3.2 // indirect\n\tgithub.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect\n\tgithub.com/google/go-querystring v1.1.0 // indirect\n\tgithub.com/gorilla/websocket v1.5.3 // indirect\n\tgithub.com/grokify/html-strip-tags-go v0.1.0 // indirect\n\tgithub.com/jmespath/go-jmespath v0.4.0 // indirect\n\tgithub.com/json-iterator/go v1.1.12 // indirect\n\tgithub.com/kylelemons/godebug v1.1.0 // indirect\n\tgithub.com/lib/pq v1.10.9 // indirect\n\tgithub.com/magiconair/properties v1.8.9 // indirect\n\tgithub.com/mattn/go-colorable v0.1.13 // indirect\n\tgithub.com/mattn/go-isatty v0.0.20 // indirect\n\tgithub.com/mattn/go-runewidth v0.0.16 // indirect\n\tgithub.com/miekg/dns v1.1.62 // indirect\n\tgithub.com/moby/docker-image-spec v1.3.1 // indirect\n\tgithub.com/moby/term v0.5.2 // indirect\n\tgithub.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect\n\tgithub.com/modern-go/reflect2 v1.0.2 // indirect\n\tgithub.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect\n\tgithub.com/morikuni/aec v1.0.0 // indirect\n\tgithub.com/olekukonko/tablewriter v0.0.5 // indirect\n\tgithub.com/opencontainers/go-digest v1.0.0 // indirect\n\tgithub.com/opencontainers/image-spec v1.1.1 // indirect\n\tgithub.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect\n\tgithub.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect\n\tgithub.com/pkg/errors v0.9.1 // indirect\n\tgithub.com/redis/go-redis/v9 v9.7.0 // indirect\n\tgithub.com/richardlehane/mscfb v1.0.4 // indirect\n\tgithub.com/richardlehane/msoleps v1.0.4 // indirect\n\tgithub.com/rivo/uniseg v0.4.7 // indirect\n\tgithub.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1065 // indirect\n\tgithub.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1065 // indirect\n\tgithub.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d // indirect\n\tgithub.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7 // indirect\n\tgo.opentelemetry.io/auto/sdk v1.1.0 // indirect\n\tgo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect\n\tgo.opentelemetry.io/otel v1.35.0 // indirect\n\tgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 // indirect\n\tgo.opentelemetry.io/otel/metric v1.35.0 // indirect\n\tgo.opentelemetry.io/otel/sdk v1.35.0 // indirect\n\tgo.opentelemetry.io/otel/trace v1.35.0 // indirect\n\tgolang.org/x/image v0.23.0 // indirect\n\tgolang.org/x/mod v0.22.0 // indirect\n\tgolang.org/x/net v0.35.0 // indirect\n\tgolang.org/x/sync v0.11.0 // indirect\n\tgolang.org/x/sys v0.30.0 // indirect\n\tgolang.org/x/text v0.22.0 // indirect\n\tgolang.org/x/tools v0.28.0 // indirect\n\tgopkg.in/ini.v1 v1.67.0 // indirect\n\tgotest.tools/v3 v3.5.2 // indirect\n)\n"
  },
  {
    "path": "core/go.sum",
    "content": "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=\ngithub.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU=\ngithub.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0 h1:JZg6HRh6W6U4OLl6lk7BZ7BLisIzM9dG1R50zUk9C/M=\ngithub.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0/go.mod h1:YL1xnZ6QejvQHWJrX/AvhFl4WW4rqHVoKspWNVwFk0M=\ngithub.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 h1:B/dfvscEQtew9dVuoxqxrUKKv8Ih2f55PydknDamU+g=\ngithub.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0/go.mod h1:fiPSssYvltE08HJchL04dOy+RD4hgrjph0cwGGMntdI=\ngithub.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0 h1:+m0M/LFxN43KvULkDNfdXOgrjtg6UYJPFBJyuEcRCAw=\ngithub.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0/go.mod h1:PwOyop78lveYMRs6oCxjiVyBdyCgIYH6XHIVZO9/SFQ=\ngithub.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY=\ngithub.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0 h1:lpOxwrQ919lCZoNCd69rVt8u1eLZuMORrGXqy8sNf3c=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0/go.mod h1:fSvRkb8d26z9dbL40Uf/OO6Vo9iExtZK3D0ulRV+8M0=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v3 v3.1.0 h1:2qsIIvxVT+uE6yrNldntJKlLRgxGbZ85kgtz5SNBhMw=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v3 v3.1.0/go.mod h1:AW8VEadnhw9xox+VaVd9sP7NjzOAnaZBLRH6Tq3cJ38=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns v1.3.0 h1:yzrctSl9GMIQ5lHu7jc8olOsGjWDCsBpJhWqfGa/YIM=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns v1.3.0/go.mod h1:GE4m0rnnfwLGX0Y9A9A25Zx5N/90jneT5ABevqzhuFQ=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 h1:zLzoX5+W2l95UJoVwiyNS4dX8vHyQ6x2xRLoBBL9wMk=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0/go.mod h1:wVEOJfGTj0oPAUGA1JuRAvz/lxXQsWW16axmHPP47Bk=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 h1:Dd+RhdJn0OTtVGaeDLZpcumkIVCtA/3/Fo42+eoYvVM=\ngithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0/go.mod h1:5kakwfW5CjC9KK+Q4wjXAg+ShuIm2mBMua0ZFj2C8PE=\ngithub.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg=\ngithub.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=\ngithub.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM=\ngithub.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE=\ngithub.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU=\ngithub.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=\ngithub.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=\ngithub.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=\ngithub.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=\ngithub.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=\ngithub.com/GehirnInc/crypt v0.0.0-20230320061759-8cc1b52080c5 h1:IEjq88XO4PuBDcvmjQJcQGg+w+UaafSy8G5Kcb5tBhI=\ngithub.com/GehirnInc/crypt v0.0.0-20230320061759-8cc1b52080c5/go.mod h1:exZ0C/1emQJAw5tHOaUDyY1ycttqBAPcxuzf7QbY6ec=\ngithub.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=\ngithub.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU=\ngithub.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=\ngithub.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=\ngithub.com/aliyun/alibaba-cloud-sdk-go v1.63.72 h1:HvFZUzEbNvfe8F2Mg0wBGv90bPhWDxgVtDHR5zoBOU0=\ngithub.com/aliyun/alibaba-cloud-sdk-go v1.63.72/go.mod h1:SOSDHfe1kX91v3W5QiBsWSLqeLxImobbMX1mxrFHsVQ=\ngithub.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=\ngithub.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=\ngithub.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=\ngithub.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=\ngithub.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=\ngithub.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=\ngithub.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=\ngithub.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=\ngithub.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28 h1:LdXxtjzvZYhhUaonAaAKArG3pyC67kGL3YY+6hGG8G4=\ngithub.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=\ngithub.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME=\ngithub.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=\ngithub.com/cloudflare/cloudflare-go v0.112.0 h1:caFwqXdGJCl3rjVMgbPEn8iCYAg9JsRYV3dIVQE5d7g=\ngithub.com/cloudflare/cloudflare-go v0.112.0/go.mod h1:QB55kuJ5ZTeLNFcLJePfMuBilhu/LDKpLBmKFQIoSZ0=\ngithub.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=\ngithub.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=\ngithub.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=\ngithub.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=\ngithub.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=\ngithub.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=\ngithub.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=\ngithub.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=\ngithub.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=\ngithub.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=\ngithub.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=\ngithub.com/dlclark/regexp2 v1.10.0 h1:+/GIL799phkJqYW+3YbOd8LCcbHzT0Pbo8zl70MHsq0=\ngithub.com/dlclark/regexp2 v1.10.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=\ngithub.com/docker/docker v28.0.2+incompatible h1:9BILleFwug5FSSqWBgVevgL3ewDJfWWWyZVqlDMttE8=\ngithub.com/docker/docker v28.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=\ngithub.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=\ngithub.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=\ngithub.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=\ngithub.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=\ngithub.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=\ngithub.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=\ngithub.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=\ngithub.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=\ngithub.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=\ngithub.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=\ngithub.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=\ngithub.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=\ngithub.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=\ngithub.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=\ngithub.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=\ngithub.com/g0rbe/go-chattr v1.0.1 h1:CHwYB+WKB46hkzt6Jxyvkyrz7u9njghUOFvmx2gir84=\ngithub.com/g0rbe/go-chattr v1.0.1/go.mod h1:yQc6VPJfpDDC1g+W2t47+yYmzBNioax/GLiyJ25/IOs=\ngithub.com/go-acme/lego/v4 v4.22.2 h1:ck+HllWrV/rZGeYohsKQ5iKNnU/WAZxwOdiu6cxky+0=\ngithub.com/go-acme/lego/v4 v4.22.2/go.mod h1:E2FndyI3Ekv0usNJt46mFb9LVpV/XBYT+4E3tz02Tzo=\ngithub.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=\ngithub.com/go-jose/go-jose/v4 v4.0.4 h1:VsjPI33J0SB9vQM6PLmNjoHqMQNGPiZ0rHL7Ni7Q6/E=\ngithub.com/go-jose/go-jose/v4 v4.0.4/go.mod h1:NKb5HO1EZccyMpiZNbdUw/14tiXNyUJh188dfnMCAfc=\ngithub.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=\ngithub.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=\ngithub.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=\ngithub.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=\ngithub.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=\ngithub.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=\ngithub.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=\ngithub.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM=\ngithub.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=\ngithub.com/gogf/gf v1.16.9 h1:Q803UmmRo59+Ws08sMVFOcd8oNpkSWL9vS33hlo/Cyk=\ngithub.com/gogf/gf v1.16.9/go.mod h1:8Q/kw05nlVRp+4vv7XASBsMe9L1tsVKiGoeP2AHnlkk=\ngithub.com/gogf/gf/contrib/drivers/pgsql/v2 v2.9.0 h1:F/XfLI3TsgFU22AqJ2Df+ZUlF7lzkPo7oB5Cmx6VqOQ=\ngithub.com/gogf/gf/contrib/drivers/pgsql/v2 v2.9.0/go.mod h1:p0c5ZhIITNrqgOz7+dhlk4eDCIC3Tt0ocUVhRjpUw+I=\ngithub.com/gogf/gf/contrib/nosql/redis/v2 v2.9.0 h1:EEZqu1PNRSmm+7Cqm9A/8+ObgfbMzhE1ps9Z3LD7HgM=\ngithub.com/gogf/gf/contrib/nosql/redis/v2 v2.9.0/go.mod h1:LHrxY+2IzNTHVTPG/s5yaz1VmXbj+CQ7Hr5SeVkHiTw=\ngithub.com/gogf/gf/v2 v2.9.0 h1:semN5Q5qGjDQEv4620VzxcJzJlSD07gmyJ9Sy9zfbHk=\ngithub.com/gogf/gf/v2 v2.9.0/go.mod h1:sWGQw+pLILtuHmbOxoe0D+0DdaXxbleT57axOLH2vKI=\ngithub.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=\ngithub.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=\ngithub.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A=\ngithub.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=\ngithub.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=\ngithub.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=\ngithub.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=\ngithub.com/gomodule/redigo v1.8.5 h1:nRAxCa+SVsyjSBrtZmG/cqb6VbTmuRzpg/PoTFlpumc=\ngithub.com/gomodule/redigo v1.8.5/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0=\ngithub.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=\ngithub.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=\ngithub.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=\ngithub.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=\ngithub.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=\ngithub.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=\ngithub.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=\ngithub.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=\ngithub.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=\ngithub.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=\ngithub.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=\ngithub.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=\ngithub.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=\ngithub.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=\ngithub.com/grokify/html-strip-tags-go v0.0.1/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=\ngithub.com/grokify/html-strip-tags-go v0.1.0 h1:03UrQLjAny8xci+R+qjCce/MYnpNXCtgzltlQbOBae4=\ngithub.com/grokify/html-strip-tags-go v0.1.0/go.mod h1:ZdzgfHEzAfz9X6Xe5eBLVblWIxXfYSQ40S/VKrAOGpc=\ngithub.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 h1:e9Rjr40Z98/clHv5Yg79Is0NtosR5LXRvdr7o/6NwbA=\ngithub.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1/go.mod h1:tIxuGz/9mpox++sgp9fJjHO0+q1X9/UOWd798aAm22M=\ngithub.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=\ngithub.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=\ngithub.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=\ngithub.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=\ngithub.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=\ngithub.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=\ngithub.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=\ngithub.com/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6 h1:IsMZxCuZqKuao2vNdfD82fjjgPLfyHLpR41Z88viRWs=\ngithub.com/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6/go.mod h1:3VeWNIJaW+O5xpRQbPp0Ybqu1vJd/pm7s2F473HRrkw=\ngithub.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=\ngithub.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=\ngithub.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=\ngithub.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=\ngithub.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=\ngithub.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=\ngithub.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=\ngithub.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=\ngithub.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=\ngithub.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=\ngithub.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=\ngithub.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=\ngithub.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=\ngithub.com/magiconair/properties v1.8.9 h1:nWcCbLq1N2v/cpNsy5WvQ37Fb+YElfq20WJ/a8RkpQM=\ngithub.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=\ngithub.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=\ngithub.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=\ngithub.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=\ngithub.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=\ngithub.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=\ngithub.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=\ngithub.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=\ngithub.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=\ngithub.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=\ngithub.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=\ngithub.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ=\ngithub.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ=\ngithub.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=\ngithub.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=\ngithub.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ=\ngithub.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc=\ngithub.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=\ngithub.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=\ngithub.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=\ngithub.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=\ngithub.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=\ngithub.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=\ngithub.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=\ngithub.com/mojocn/base64Captcha v1.3.8 h1:rrN9BhCwXKS8ht1e21kvR3iTaMgf4qPC9sRoV52bqEg=\ngithub.com/mojocn/base64Captcha v1.3.8/go.mod h1:QFZy927L8HVP3+VV5z2b1EAEiv1KxVJKZbAucVgLUy4=\ngithub.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=\ngithub.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=\ngithub.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=\ngithub.com/nwaples/rardecode v1.1.3 h1:cWCaZwfM5H7nAD6PyEdcVnczzV8i/JtotnyW/dD9lEc=\ngithub.com/nwaples/rardecode v1.1.3/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=\ngithub.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=\ngithub.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=\ngithub.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=\ngithub.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=\ngithub.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=\ngithub.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=\ngithub.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b h1:FfH+VrHHk6Lxt9HdVS0PXzSXFyS2NbZKXv33FYPol0A=\ngithub.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b/go.mod h1:AC62GU6hc0BrNm+9RK9VSiwa/EUe1bkIeFORAMcHvJU=\ngithub.com/panjf2000/ants/v2 v2.11.3 h1:AfI0ngBoXJmYOpDh9m516vjqoUu2sLrIVgppI9TZVpg=\ngithub.com/panjf2000/ants/v2 v2.11.3/go.mod h1:8u92CYMUc6gyvTIw8Ru7Mt7+/ESnJahz5EVtqfrilek=\ngithub.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=\ngithub.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=\ngithub.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=\ngithub.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=\ngithub.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=\ngithub.com/pkoukk/tiktoken-go v0.1.7 h1:qOBHXX4PHtvIvmOtyg1EeKlwFRiMKAcoMp4Q+bLQDmw=\ngithub.com/pkoukk/tiktoken-go v0.1.7/go.mod h1:9NiV+i9mJKGj1rYOT+njbv+ZwA/zJxYdewGl6qVatpg=\ngithub.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=\ngithub.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=\ngithub.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=\ngithub.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E=\ngithub.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw=\ngithub.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM=\ngithub.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk=\ngithub.com/richardlehane/msoleps v1.0.1/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg=\ngithub.com/richardlehane/msoleps v1.0.4 h1:WuESlvhX3gH2IHcd8UqyCuFY5yiq/GR/yqaSM/9/g00=\ngithub.com/richardlehane/msoleps v1.0.4/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg=\ngithub.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=\ngithub.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=\ngithub.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=\ngithub.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=\ngithub.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=\ngithub.com/sashabaranov/go-openai v1.40.5 h1:SwIlNdWflzR1Rxd1gv3pUg6pwPc6cQ2uMoHs8ai+/NY=\ngithub.com/sashabaranov/go-openai v1.40.5/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg=\ngithub.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=\ngithub.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=\ngithub.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=\ngithub.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=\ngithub.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=\ngithub.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=\ngithub.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=\ngithub.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=\ngithub.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=\ngithub.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=\ngithub.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=\ngithub.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1065 h1:krcqtAmexnHHBm/4ge4tr2b1cn/a7JGBESVGoZYXQAE=\ngithub.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1065/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=\ngithub.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1065 h1:aEFtLD1ceyeljQXB1S2BjN0zjTkf0X3XmpuxFIiC29w=\ngithub.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1065/go.mod h1:HWvwy09hFSMXrj9SMvVRWV4U7rZO3l+WuogyNuxiT3M=\ngithub.com/tomasen/fcgi_client v0.0.0-20180423082037-2bb3d819fd19 h1:ZCmSnT6CLGhfoQ2lPEhL4nsJstKDCw1F1RfN8/smTCU=\ngithub.com/tomasen/fcgi_client v0.0.0-20180423082037-2bb3d819fd19/go.mod h1:SXTY+QvI+KTTKXQdg0zZ7nx0u94QWh8ZAwBQYsW9cqk=\ngithub.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=\ngithub.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=\ngithub.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=\ngithub.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=\ngithub.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d h1:llb0neMWDQe87IzJLS4Ci7psK/lVsjIS2otl+1WyRyY=\ngithub.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=\ngithub.com/xuri/excelize/v2 v2.9.0 h1:1tgOaEq92IOEumR1/JfYS/eR0KHOCsRv/rYXXh6YJQE=\ngithub.com/xuri/excelize/v2 v2.9.0/go.mod h1:uqey4QBZ9gdMeWApPLdhm9x+9o2lq4iVmjiLfBS5hdE=\ngithub.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7 h1:hPVCafDV85blFTabnqKgNhDCkJX25eik94Si9cTER4A=\ngithub.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ=\ngithub.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=\ngithub.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=\ngithub.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=\ngo.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=\ngo.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=\ngo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=\ngo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=\ngo.opentelemetry.io/otel v1.0.0/go.mod h1:AjRVh9A5/5DE7S+mZtTR6t8vpKKryam+0lREnfmS4cg=\ngo.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=\ngo.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=\ngo.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 h1:1fTNlAIJZGWLP5FVu0fikVry1IsiUnXjf7QFvoNN3Xw=\ngo.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0/go.mod h1:zjPK58DtkqQFn+YUMbx0M2XV3QgKU0gS9LeGohREyK4=\ngo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 h1:xJ2qHD0C1BeYVTLLR9sX12+Qb95kfeD/byKj6Ky1pXg=\ngo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0/go.mod h1:u5BF1xyjstDowA1R5QAO9JHzqK+ublenEW/dyqTjBVk=\ngo.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=\ngo.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=\ngo.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=\ngo.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=\ngo.opentelemetry.io/otel/trace v1.0.0/go.mod h1:PXTWqayeFUlJV1YDNhsJYB184+IvAH814St6o6ajzIs=\ngo.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=\ngo.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=\ngo.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4=\ngo.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4=\ngo.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=\ngo.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=\ngo.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=\ngo.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=\ngolang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=\ngolang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=\ngolang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=\ngolang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=\ngolang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=\ngolang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=\ngolang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=\ngolang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=\ngolang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=\ngolang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=\ngolang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=\ngolang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=\ngolang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=\ngolang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=\ngolang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=\ngolang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=\ngolang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=\ngolang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=\ngolang.org/x/image v0.23.0 h1:HseQ7c2OpPKTPVzNjG5fwJsOTCiiwS4QdsYi5XU6H68=\ngolang.org/x/image v0.23.0/go.mod h1:wJJBTdLfCCf3tiHa1fNxpZmUI4mmoZvwMCPP0ddoNKY=\ngolang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=\ngolang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=\ngolang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=\ngolang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=\ngolang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=\ngolang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=\ngolang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=\ngolang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=\ngolang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=\ngolang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=\ngolang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=\ngolang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=\ngolang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=\ngolang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=\ngolang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=\ngolang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=\ngolang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=\ngolang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=\ngolang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=\ngolang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=\ngolang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=\ngolang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=\ngolang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=\ngolang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=\ngolang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=\ngolang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=\ngolang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=\ngolang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=\ngolang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=\ngolang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=\ngolang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=\ngolang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=\ngolang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=\ngolang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=\ngolang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=\ngolang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=\ngolang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=\ngolang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=\ngolang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=\ngolang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=\ngolang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=\ngolang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=\ngolang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=\ngolang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=\ngolang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=\ngolang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=\ngolang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=\ngolang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=\ngolang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=\ngolang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=\ngolang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=\ngolang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=\ngolang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=\ngolang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=\ngolang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=\ngolang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=\ngolang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=\ngolang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=\ngolang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=\ngolang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=\ngolang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=\ngolang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=\ngolang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=\ngolang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=\ngolang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=\ngolang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=\ngolang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=\ngolang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=\ngolang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=\ngolang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=\ngolang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=\ngolang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=\ngolang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=\ngolang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=\ngolang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=\ngolang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=\ngolang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=\ngolang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=\ngolang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=\ngonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=\ngonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=\ngonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=\ngonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=\ngoogle.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 h1:Q3nlH8iSQSRUwOskjbcSMcF2jiYMNiQYZ0c2KEJLKKU=\ngoogle.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a h1:nwKuGPlUAt+aR+pcrkfFRrTU1BVrSmYyYMxYbUIVHr0=\ngoogle.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a/go.mod h1:3kWAYMk1I75K4vykHtKt2ycnOgpA6974V7bREqbsenU=\ngoogle.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4=\ngoogle.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ=\ngoogle.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg=\ngoogle.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=\ngoogle.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=\ngoogle.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=\ngopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=\ngopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=\ngopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=\ngopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=\ngopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=\ngopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=\ngopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=\ngopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=\ngopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=\ngopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=\ngopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=\ngopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=\ngopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=\ngopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=\ngopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=\ngotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=\ngotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=\nrsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=\n"
  },
  {
    "path": "core/hack/config.yaml",
    "content": "\n# CLI tool, only in development environment.\n# https://goframe.org/docs/cli\ngfcli:\n  gen:\n    dao:\n      - link: \"mysql:root:12345678@tcp(127.0.0.1:3306)/test\"\n        descriptionTag: true\n\n  docker:\n    build: \"-a amd64 -s linux -p temp -ew\"\n    tagPrefixes:\n      - my.image.pub/my-app"
  },
  {
    "path": "core/hack/hack-cli.mk",
    "content": "\n# Install/Update to the latest CLI tool.\n.PHONY: cli\ncli:\n\t@set -e; \\\n\twget -O gf \\\n\thttps://github.com/gogf/gf/releases/latest/download/gf_$(shell go env GOOS)_$(shell go env GOARCH) && \\\n\tchmod +x gf && \\\n\t./gf install -y && \\\n\trm ./gf\n\n\n# Check and install CLI tool.\n.PHONY: cli.install\ncli.install:\n\t@set -e; \\\n\tgf -v > /dev/null 2>&1 || if [[ \"$?\" -ne \"0\" ]]; then \\\n  \t\techo \"GoFame CLI is not installed, start proceeding auto installation...\"; \\\n\t\tmake cli; \\\n\tfi;"
  },
  {
    "path": "core/hack/hack.mk",
    "content": ".DEFAULT_GOAL := build\n\n# Update GoFrame and its CLI to latest stable version.\n.PHONY: up\nup: cli.install\n\t@gf up -a\n\n# Build binary using configuration from hack/config.yaml.\n.PHONY: build\nbuild: cli.install\n\t@gf build -ew\n\n# Parse api and generate controller/sdk.\n.PHONY: ctrl\nctrl: cli.install\n\t@gf gen ctrl\n\n# Generate Go files for DAO/DO/Entity.\n.PHONY: dao\ndao: cli.install\n\t@gf gen dao\n\n# Parse current project go files and generate enums go file.\n.PHONY: enums\nenums: cli.install\n\t@gf gen enums\n\n# Generate Go files for Service.\n.PHONY: service\nservice: cli.install\n\t@gf gen service\n\n\n# Build docker image.\n.PHONY: image\nimage: cli.install\n\t$(eval _TAG  = $(shell git rev-parse --short HEAD))\nifneq (, $(shell git status --porcelain 2>/dev/null))\n\t$(eval _TAG  = $(_TAG).dirty)\nendif\n\t$(eval _TAG  = $(if ${TAG},  ${TAG}, $(_TAG)))\n\t$(eval _PUSH = $(if ${PUSH}, ${PUSH}, ))\n\t@gf docker ${_PUSH} -tn $(DOCKER_NAME):${_TAG};\n\n\n# Build docker image and automatically push to docker repo.\n.PHONY: image.push\nimage.push: cli.install\n\t@make image PUSH=-p;\n\n\n# Deploy image and yaml to current kubectl environment.\n.PHONY: deploy\ndeploy: cli.install\n\t$(eval _TAG = $(if ${TAG},  ${TAG}, develop))\n\n\t@set -e; \\\n\tmkdir -p $(ROOT_DIR)/temp/kustomize;\\\n\tcd $(ROOT_DIR)/manifest/deploy/kustomize/overlays/${_ENV};\\\n\tkustomize build > $(ROOT_DIR)/temp/kustomize.yaml;\\\n\tkubectl   apply -f $(ROOT_DIR)/temp/kustomize.yaml; \\\n\tif [ $(DEPLOY_NAME) != \"\" ]; then \\\n\t\tkubectl patch -n $(NAMESPACE) deployment/$(DEPLOY_NAME) -p \"{\\\"spec\\\":{\\\"template\\\":{\\\"metadata\\\":{\\\"labels\\\":{\\\"date\\\":\\\"$(shell date +%s)\\\"}}}}}\"; \\\n\tfi;\n\n\n# Parsing protobuf files and generating go files.\n.PHONY: pb\npb: cli.install\n\t@gf gen pb\n\n# Generate protobuf files for database tables.\n.PHONY: pbentity\npbentity: cli.install\n\t@gf gen pbentity"
  },
  {
    "path": "core/internal/cmd/cmd.go",
    "content": "package cmd\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/controller/abnormal_recipient\"\n\t\"billionmail-core/internal/controller/askai\"\n\t\"billionmail-core/internal/controller/batch_mail\"\n\t\"billionmail-core/internal/controller/campaign\"\n\t\"billionmail-core/internal/controller/contact\"\n\t\"billionmail-core/internal/controller/dockerapi\"\n\t\"billionmail-core/internal/controller/domains\"\n\t\"billionmail-core/internal/controller/email_template\"\n\t\"billionmail-core/internal/controller/files\"\n\t\"billionmail-core/internal/controller/languages\"\n\t\"billionmail-core/internal/controller/mail_boxes\"\n\t\"billionmail-core/internal/controller/mail_services\"\n\t\"billionmail-core/internal/controller/middleware\"\n\t\"billionmail-core/internal/controller/operation_log\"\n\t\"billionmail-core/internal/controller/overview\"\n\t\"billionmail-core/internal/controller/rbac\"\n\t\"billionmail-core/internal/controller/relay\"\n\t\"billionmail-core/internal/controller/settings\"\n\t\"billionmail-core/internal/controller/subscribe_list\"\n\t\"billionmail-core/internal/controller/tags\"\n\t\"billionmail-core/internal/service/database_initialization\"\n\tdocker \"billionmail-core/internal/service/dockerapi\"\n\t\"billionmail-core/internal/service/maillog_stat\"\n\t\"billionmail-core/internal/service/middlewares\"\n\t\"billionmail-core/internal/service/phpfpm\"\n\t\"billionmail-core/internal/service/public\"\n\trbac2 \"billionmail-core/internal/service/rbac\"\n\t\"billionmail-core/internal/service/redis_initialization\"\n\t\"billionmail-core/internal/service/rspamd\"\n\t\"billionmail-core/internal/service/timers\"\n\t\"context\"\n\t\"crypto/tls\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/http/httputil\"\n\t\"net/url\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"github.com/gogf/gf/v2/net/ghttp\"\n\t\"github.com/gogf/gf/v2/os/gcmd\"\n\t\"github.com/gogf/gf/v2/util/gconv\"\n)\n\nvar (\n\tMain = gcmd.Command{\n\t\tName:  consts.DEFAULT_SERVER_NAME,\n\t\tUsage: consts.DEFAULT_SERVER_NAME,\n\t\tBrief: \"start http server\",\n\t\tFunc: func(ctx context.Context, parser *gcmd.Parser) (err error) {\n\t\t\tif v := parser.GetOpt(\"version\"); v != nil {\n\t\t\t\tfmt.Println(fmt.Sprintf(\"v%s\", g.Cfg().MustGet(ctx, \"server.version\", \"0.1\").String()))\n\t\t\t\treturn nil\n\t\t\t}\n\n\t\t\t// Init Database\n\t\t\terr = database_initialization.InitDatabase()\n\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Error(ctx, \"initialize databases failed \", err)\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// Init Redis\n\t\t\terr = redis_initialization.InitRedis()\n\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Error(ctx, \"initialize redis failed \", err)\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// get safe path\n\t\t\tsafepath, _ := public.DockerEnv(\"SafePath\")\n\n\t\t\tif safepath != \"\" {\n\t\t\t\tsafepath = strings.TrimPrefix(safepath, \"/\")\n\t\t\t}\n\n\t\t\t// Start timers\n\t\t\terr = timers.Start(ctx)\n\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Error(ctx, \"start timers failed \", err)\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// Connect to Docker\n\t\t\tdk, err := docker.NewDockerAPI()\n\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Error(ctx, \"failed to connect to docker-api \", err)\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tdefer dk.Close()\n\n\t\t\tcontainerName := consts.SERVICES.Core\n\t\t\tcontainer, err := dk.GetContainerByName(ctx, containerName)\n\t\t\tif err == nil {\n\t\t\t\tif container.Labels != nil {\n\t\t\t\t\tworkingDir, exists := container.Labels[\"com.docker.compose.project.working_dir\"]\n\t\t\t\t\tif exists {\n\t\t\t\t\t\tif workingDir != \"\" {\n\t\t\t\t\t\t\tpublic.HostWorkDir = workingDir\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Operation log type\n\t\t\tpublic.LogTypeMap = consts.GetLogTypeMap()\n\n\t\t\t// Init Rspamd worker-controller\n\t\t\terr = rspamd.InitWorkerController()\n\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Warning(ctx, \"rspamd init failed \", err)\n\t\t\t\terr = nil\n\t\t\t}\n\n\t\t\t// Create a new server instance\n\t\t\ts := g.Server(consts.DEFAULT_SERVER_NAME)\n\n\t\t\t// Use Redis for session storage\n\t\t\t// s.SetSessionStorage(gsession.NewStorageRedis(g.Redis()))\n\n\t\t\t// ip whitelist middleware\n\t\t\ts.Use(middleware.IPWhitelist)\n\n\t\t\t// Define excluded URIs\n\t\t\texcludesURIs := map[string]struct{}{\n\t\t\t\t\"/favicon.ico\":                   {},\n\t\t\t\t\"/robots.txt\":                    {},\n\t\t\t\t\"/unsubscribe.html\":              {},\n\t\t\t\t\"/unsubscribe_new.html\":          {},\n\t\t\t\t\"/api/unsubscribe/user_group\":    {},\n\t\t\t\t\"/api/unsubscribe\":               {},\n\t\t\t\t\"/api/unsubscribe_new\":           {},\n\t\t\t\t\"/api/batch_mail/api/send\":       {},\n\t\t\t\t\"/api/batch_mail/api/batch_send\": {},\n\t\t\t\t\"/api/subscribe/confirm\":         {},\n\t\t\t\t\"/api/subscribe/submit\":          {},\n\t\t\t\t\"/api/languages/get\":             {},\n\t\t\t\t\"/already_subscribed.html\":       {},\n\t\t\t\t\"/subscribe_confirm.html\":        {},\n\t\t\t\t\"/subscribe_form.html\":           {},\n\t\t\t\t\"/subscribe_success.html\":        {},\n\t\t\t\t\"/unsubscribe_success.html\":      {},\n\t\t\t\t\"/subscribe_form_code.html\":      {},\n\t\t\t}\n\n\t\t\t// Bind Server Hooks\n\t\t\ts.BindHookHandlerByMap(\"/*\", map[ghttp.HookName]ghttp.HandlerFunc{\n\t\t\t\tghttp.HookBeforeServe: func(r *ghttp.Request) {\n\t\t\t\t\t// Safe path check\n\t\t\t\t\tif safepath != \"\" {\n\t\t\t\t\t\tif r.URL.Path == \"/\"+safepath {\n\t\t\t\t\t\t\t// Set session\n\t\t\t\t\t\t\terr := r.Session.Set(\"safe_path_pass\", true)\n\n\t\t\t\t\t\t\tif err != nil {\n\t\t\t\t\t\t\t\tg.Log().Error(ctx, \"set safe_path_pass failed \", err)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// r.Response.RedirectTo(\"/\")\n\t\t\t\t\t\t\tr.SetCtxVar(\"JustVisitedSafePath\", true)\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// check if the request is in the excluded URIs\n\t\t\t\t\t\tif _, ok := excludesURIs[r.URL.Path]; ok {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif !r.IsFileRequest() && !strings.HasPrefix(r.URL.Path, \"/api/\") {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif !r.Session.MustGet(\"safe_path_pass\", false).Bool() {\n\t\t\t\t\t\t\tif strings.HasPrefix(r.URL.Path, \"/api/\") {\n\t\t\t\t\t\t\t\t// Check if the request is an API token request\n\t\t\t\t\t\t\t\tif claims, err := rbac2.JWT().ParseTokenByRequest(r); err == nil && claims != nil && claims.ApiToken {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tresp := public.CodeMap[404]\n\t\t\t\t\t\t\t\tresp.Msg = \"access denied\"\n\t\t\t\t\t\t\t\tr.Response.WriteJson(resp)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tg.Log().Debug(ctx, \"Safe path not passed \", r.URL.Path)\n\t\t\t\t\t\t\t\tr.Response.WriteHeader(404)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tr.ExitAll()\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// ghttp.HookAfterServe: func(r *ghttp.Request) {},\n\t\t\t\t// ghttp.HookBeforeOutput: func(r *ghttp.Request) {},\n\t\t\t\t// ghttp.HookAfterOutput: func(r *ghttp.Request) {},\n\t\t\t})\n\n\t\t\t// Register Common Handlers\n\t\t\ts.Group(\"/\", func(group *ghttp.RouterGroup) {\n\t\t\t\t// Add CORS middleware\n\t\t\t\tgroup.Middleware(ghttp.MiddlewareCORS)\n\n\t\t\t\t// Add docker client middleware\n\t\t\t\tgroup.Middleware(func(r *ghttp.Request) {\n\t\t\t\t\tr.SetCtxVar(consts.DEFAULT_DOCKER_CLIENT_CTX_KEY, dk)\n\t\t\t\t\tr.Middleware.Next()\n\t\t\t\t})\n\n\t\t\t\tgroup.Bind(\n\t\t\t\t\tcampaign.NewV1(),\n\t\t\t\t)\n\t\t\t})\n\n\t\t\t// Register Apis\n\t\t\ts.Group(\"/api\", func(group *ghttp.RouterGroup) {\n\t\t\t\t// Add CORS middleware\n\t\t\t\tgroup.Middleware(ghttp.MiddlewareCORS)\n\n\t\t\t\t// Add docker client middleware\n\t\t\t\tgroup.Middleware(func(r *ghttp.Request) {\n\t\t\t\t\tr.SetCtxVar(consts.DEFAULT_DOCKER_CLIENT_CTX_KEY, dk)\n\t\t\t\t\tr.Middleware.Next()\n\t\t\t\t})\n\n\t\t\t\t// Add JWT middleware\n\t\t\t\tgroup.Middleware(rbac2.JWT().JWTAuthMiddleware)\n\n\t\t\t\t// Add RBAC middleware\n\t\t\t\t// group.Middleware(middlewares.NewRBACMiddleware().PermissionCheck)\n\n\t\t\t\t// group.Middleware(ghttp.MiddlewareHandlerResponse)\n\n\t\t\t\t// Add response middleware\n\t\t\t\tgroup.Middleware(middlewares.HandleApiResponse)\n\n\t\t\t\tgroup.Bind(\n\t\t\t\t\trbac.NewV1(),\n\t\t\t\t\tdomains.NewV1(),\n\t\t\t\t\tmail_boxes.NewV1(),\n\t\t\t\t\toverview.NewV1(),\n\t\t\t\t\tdockerapi.NewV1(),\n\t\t\t\t\tcontact.NewV1(),\n\t\t\t\t\temail_template.NewV1(),\n\t\t\t\t\tbatch_mail.NewV1(),\n\t\t\t\t\tfiles.NewV1(),\n\t\t\t\t\tabnormal_recipient.NewV1(),\n\t\t\t\t\tlanguages.NewV1(),\n\t\t\t\t\tmail_services.NewV1(),\n\t\t\t\t\trelay.NewV1(),\n\t\t\t\t\tsettings.NewV1(),\n\t\t\t\t\tsubscribe_list.NewV1(),\n\t\t\t\t\toperation_log.NewV1(),\n\t\t\t\t\taskai.NewV1(),\n\t\t\t\t\ttags.NewV1(),\n\t\t\t\t)\n\t\t\t})\n\n\t\t\t// Add PHP-FPM middleware\n\t\t\ts.BindMiddleware(\"/roundcube/*any\", func(r *ghttp.Request) {\n\t\t\t\tif r.Method == \"POST\" && strings.HasPrefix(r.Header.Get(\"Content-Type\"), \"multipart/form-data\") {\n\t\t\t\t\t// Get and store the request body\n\t\t\t\t\tr.GetBody()\n\t\t\t\t\tr.Middleware.Next()\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tr.Middleware.Next()\n\t\t\t})\n\n\t\t\t// Binding PHP-FPM handler\n\t\t\ts.BindHandler(\"/roundcube/*any\", phpfpm.PHPFpmHandlerFactory(phpfpm.PHPFpmHandlerConfig{\n\t\t\t\tNetwork: \"unix\",\n\t\t\t\tAddr:    consts.PHP_FPM_SOCK_PATH,\n\t\t\t\tRoot:    consts.ROUNDCUBE_ROOT_PATH_IN_CONTAINER,\n\t\t\t\tStatic:  consts.ROUNDCUBE_ROOT_PATH,\n\t\t\t}))\n\n\t\t\t// Proxy 60880 port for ACME challenge\n\t\t\tACMEChallengeProxy := httputil.NewSingleHostReverseProxy(&url.URL{\n\t\t\t\tScheme: \"http\",\n\t\t\t\tHost:   \"127.0.0.1:60880\",\n\t\t\t})\n\t\t\tACMEChallengeProxy.Transport = &http.Transport{\n\t\t\t\tMaxIdleConns:        5,\n\t\t\t\tMaxIdleConnsPerHost: 1,\n\t\t\t\tIdleConnTimeout:     5 * time.Second,\n\t\t\t}\n\t\t\ts.BindHandler(\"/.well-known/acme-challenge/*any\", func(r *ghttp.Request) {\n\t\t\t\tACMEChallengeProxy.ServeHTTP(r.Response.BufferWriter, r.Request)\n\t\t\t})\n\n\t\t\t// Proxy Rspamd GUI\n\t\t\tvar rspamdProxy *httputil.ReverseProxy\n\t\t\trspamdProxyMutex := sync.Mutex{}\n\t\t\ts.BindHandler(\"/rspamd/*any\", func(r *ghttp.Request) {\n\t\t\t\tif _, err := rbac2.JWT().ParseToken(r.Session.MustGet(\"SignedToken\", \"\").String()); err != nil {\n\t\t\t\t\tr.Response.WriteHeader(403)\n\t\t\t\t\tr.Response.Write([]byte(\"Access denied\"))\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t// Ensure the Rspamd proxy created only once\n\t\t\t\tif rspamdProxy == nil {\n\t\t\t\t\tfunc() {\n\t\t\t\t\t\trspamdProxyMutex.Lock()\n\t\t\t\t\t\tdefer rspamdProxyMutex.Unlock()\n\n\t\t\t\t\t\tif rspamdProxy == nil {\n\t\t\t\t\t\t\thost := \"127.0.0.1:21334\"\n\n\t\t\t\t\t\t\tif public.IsRunningInContainer() {\n\t\t\t\t\t\t\t\thost = \"rspamd:11334\"\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\trspamdProxy = httputil.NewSingleHostReverseProxy(&url.URL{\n\t\t\t\t\t\t\t\tScheme: \"http\",\n\t\t\t\t\t\t\t\tHost:   host,\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\trspamdProxy.Transport = &http.Transport{\n\t\t\t\t\t\t\t\tMaxIdleConns:        10,\n\t\t\t\t\t\t\t\tMaxIdleConnsPerHost: 2,\n\t\t\t\t\t\t\t\tIdleConnTimeout:     15 * time.Second,\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\n\t\t\t\tvar password string\n\t\t\t\terr = public.OptionsMgrInstance.GetOption(ctx, \"rspamd_worker_controller_password\", &password)\n\n\t\t\t\tif err == nil {\n\t\t\t\t\tr.Header.Set(\"Password\", password)\n\t\t\t\t}\n\n\t\t\t\tr.URL.Path = strings.Replace(r.URL.Path, \"/rspamd\", \"\", 1)\n\n\t\t\t\tif r.URL.Path == \"\" {\n\t\t\t\t\tr.URL.Path = \"/\"\n\t\t\t\t}\n\n\t\t\t\trspamdProxy.ServeHTTP(r.Response.BufferWriter, r.Request)\n\t\t\t})\n\n\t\t\t// Email Campaign Tracker\n\t\t\ts.BindHandler(\"/pmta/*any\", func(r *ghttp.Request) {\n\t\t\t\tmaillog_stat.CampaignEventHandler(r, r.Get(\"any\").String())\n\t\t\t})\n\n\t\t\t// Add static file handler\n\t\t\ts.BindHandler(\"/*any\", func(r *ghttp.Request) {\n\t\t\t\tif strings.HasPrefix(r.URL.Path, \"/api/\") {\n\t\t\t\t\tr.Response.WriteHeader(404)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif r.GetCtxVar(\"JustVisitedSafePath\", false).Bool() {\n\t\t\t\t\tr.Response.RedirectTo(\"/\")\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif safepath != \"\" && !r.Session.MustGet(\"safe_path_pass\", false).Bool() {\n\t\t\t\t\tr.Response.WriteHeader(404)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tr.Response.ServeFile(\"public/dist/index.html\")\n\t\t\t})\n\n\t\t\t// Generate self-signed certificate if not exists\n\t\t\tpublic.SelfSignedCert().Generate()\n\n\t\t\t// Enable HTTPS\n\t\t\tdefaultCrtPair, _ := tls.LoadX509KeyPair(public.AbsPath(consts.SSL_PATH, \"cert.pem\"), public.AbsPath(consts.SSL_PATH, \"key.pem\"))\n\t\t\tcrtMap := make(map[string]*tls.Certificate)\n\t\t\tcrtMapMutex := sync.RWMutex{}\n\t\t\ts.EnableHTTPS(public.AbsPath(consts.SSL_PATH, \"cert.pem\"), public.AbsPath(consts.SSL_PATH, \"key.pem\"), &tls.Config{\n\t\t\t\tGetCertificate: func(info *tls.ClientHelloInfo) (*tls.Certificate, error) {\n\t\t\t\t\tdomain := info.ServerName\n\n\t\t\t\t\tcrtMapMutex.RLock()\n\t\t\t\t\tif crtPair, ok := crtMap[domain]; ok {\n\t\t\t\t\t\tcrtMapMutex.RUnlock()\n\t\t\t\t\t\treturn crtPair, nil\n\t\t\t\t\t}\n\t\t\t\t\tcrtMapMutex.RUnlock()\n\n\t\t\t\t\tif exists, _ := g.DB().Model(\"domain\").Where(\"a_record\", public.FormatMX(domain)).Exist(); !exists {\n\t\t\t\t\t\treturn &defaultCrtPair, nil\n\t\t\t\t\t}\n\n\t\t\t\t\tg.Log().Debug(ctx, \"Get TLS certificate for domain\", domain)\n\n\t\t\t\t\tcrtMapMutex.Lock()\n\t\t\t\t\tdefer crtMapMutex.Unlock()\n\n\t\t\t\t\tif crt, ok := crtMap[domain]; ok {\n\t\t\t\t\t\treturn crt, nil\n\t\t\t\t\t}\n\n\t\t\t\t\tcrtPath := public.AbsPath(consts.SSL_PATH, public.FormatMX(domain), \"fullchain.pem\")\n\t\t\t\t\tkeyPath := public.AbsPath(consts.SSL_PATH, public.FormatMX(domain), \"privkey.pem\")\n\n\t\t\t\t\tif !public.FileExists(crtPath) || !public.FileExists(keyPath) {\n\t\t\t\t\t\treturn &defaultCrtPair, nil\n\t\t\t\t\t}\n\n\t\t\t\t\tcrtPair, err := tls.LoadX509KeyPair(crtPath, keyPath)\n\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\tg.Log().Warning(ctx, \"Failed to load TLS certificate for domain\", domain, err)\n\t\t\t\t\t\treturn &defaultCrtPair, nil\n\t\t\t\t\t}\n\n\t\t\t\t\tcrtMap[domain] = &crtPair\n\n\t\t\t\t\treturn &crtPair, nil\n\t\t\t\t},\n\t\t\t})\n\n\t\t\t// attempt add http port\n\t\t\tif httpPort, err := public.DockerEnv(\"HTTP_PORT\"); err == nil && httpPort != \"\" {\n\t\t\t\ts.SetPort(gconv.Int(httpPort))\n\t\t\t}\n\n\t\t\t// Set HTTPS ports\n\t\t\ts.SetHTTPSPort(g.Cfg().MustGet(ctx, \"server.httpsPort\", 443).Int())\n\t\t\tif httpsPort, err := public.DockerEnv(\"HTTPS_PORT\"); err == nil && httpsPort != \"\" {\n\t\t\t\ts.SetHTTPSPort(gconv.Int(httpsPort))\n\t\t\t}\n\n\t\t\tvar apiDocEnabled bool\n\t\t\terr = public.OptionsMgrInstance.GetOption(ctx, \"API_DOC_ENABLED\", &apiDocEnabled)\n\t\t\tif err != nil {\n\t\t\t\tapiDocEnabled = false\n\t\t\t}\n\n\t\t\tif apiDocEnabled {\n\t\t\t\ts.SetOpenApiPath(\"/api.json\")\n\t\t\t\ts.SetSwaggerPath(\"/swagger\")\n\t\t\t}\n\n\t\t\ts.SetSwaggerUITemplate(`<!doctype html>\n<html lang=\"en\">\n <head>\n   <meta charset=\"UTF-8\" />\n   <title>openAPI UI</title>\n </head>\n <body>\n   <div id=\"openapi-ui-container\" spec-url=\"{SwaggerUIDocUrl}\" theme=\"light\"></div>\n   <script src=\"https://cdn.jsdelivr.net/npm/openapi-ui-dist@latest/lib/openapi-ui.umd.js\"></script>\n </body>\n</html>`)\n\n\t\t\ts.Run()\n\n\t\t\treturn nil\n\t\t},\n\t}\n)\n"
  },
  {
    "path": "core/internal/consts/consts.go",
    "content": "package consts\n\nconst (\n\tDEFAULT_SERVER_NAME              = \"billion-mail\"\n\tDEFAULT_DOCKER_ENV_FILE          = \"../.env\"\n\tPHP_FPM_SOCK_PATH                = \"../php-sock/php-fpm.sock\"\n\tROUNDCUBE_ROOT_PATH              = \"../webmail-data\"\n\tROUNDCUBE_ROOT_PATH_IN_CONTAINER = \"/var/www/html\"\n\tPOSTGRESQL_SOCK                  = \"../postgresql-socket\"\n\tDEFAULT_DOCKER_CLIENT_CTX_KEY    = \"dockerapi\"\n\tJWT_BLACK_LIST_KEY_PREFIX        = \"JWT_BLACK_LIST:\"\n\tRSPAMD_LIB_PATH                  = \"../rspamd-data\"\n\tRSPAMD_LOCAL_D_PATH              = \"../conf/rspamd/local.d\"\n\tPOSTFIX_MAIN_CONF                = \"../conf/postfix/main.cf\"\n\tPOSTFIX_MASTER_CONF              = \"../conf/postfix/master.cf\"\n\tPOSTFIX_CONF_PATH                = \"../conf/postfix/conf\"\n\tPOSTFIX_MAILLOG_PATH             = \"../logs/postfix\"\n\tDOVECOT_CONF_D_PATH              = \"../conf/dovecot/conf.d\"\n\tSSL_PATH                         = \"/etc/ssl/mail\"\n)\n\nvar (\n\tSERVICES = struct {\n\t\tPgsql   string\n\t\tRedis   string\n\t\tRspamd  string\n\t\tDovecot string\n\t\tPostfix string\n\t\tWebmail string\n\t\tCore    string\n\t}{\n\t\tPgsql:   \"pgsql-billionmail\",\n\t\tRedis:   \"redis-billionmail\",\n\t\tRspamd:  \"rspamd-billionmail\",\n\t\tDovecot: \"dovecot-billionmail\",\n\t\tPostfix: \"postfix-billionmail\",\n\t\tWebmail: \"webmail-billionmail\",\n\t\tCore:    \"core-billionmail\",\n\t}\n)\n"
  },
  {
    "path": "core/internal/consts/log_type.go",
    "content": "package consts\n\nimport (\n\t\"reflect\"\n\t\"sync\"\n)\n\nvar (\n\tLOGTYPE = struct {\n\t\tTask              string\n\t\tTemplate          string\n\t\tSendAPI           string\n\t\tContactsGroup     string\n\t\tContacts          string\n\t\tDomain            string\n\t\tMailboxes         string\n\t\tSMTP              string\n\t\tSettings          string\n\t\tService           string\n\t\tBCC               string\n\t\tMailForward       string\n\t\tAbnormalRecipient string\n\t\tDockerApi         string\n\t\tLanguage          string\n\t\tLogin             string\n\t\tPostfixQueue      string\n\t\tTag    \t\t\t  string\n\t}{\n\t\tTask:              \"Email Marketing Task\",\n\t\tTemplate:          \"Email Template\",\n\t\tSendAPI:           \"Send API\",\n\t\tContactsGroup:     \"Contacts-Group\",\n\t\tContacts:          \"Contacts-Subscribers\",\n\t\tDomain:            \"Domain\",\n\t\tMailboxes:         \"Mailboxes\",\n\t\tSMTP:              \"SMTP Relay\",\n\t\tSettings:          \"Settings-Common\",\n\t\tService:           \"Settings-Service\",\n\t\tBCC:               \"Settings-BCC\",\n\t\tMailForward:       \"Settings-Mail Forward\",\n\t\tAbnormalRecipient: \"Abnormal Recipient\",\n\t\tDockerApi:         \"Docker Api\",\n\t\tLanguage:          \"Language\",\n\t\tLogin:             \"Login\",\n\t\tPostfixQueue:      \"Postfix Queue\",\n\t\tTag:      \t\t   \"Contacts-Tag\",\n\t}\n)\nvar (\n\tlogTypeMapOnce sync.Once\n\tlogTypeMap     map[string]string\n)\n\nfunc GetLogTypeMap() map[string]string {\n\tlogTypeMapOnce.Do(func() {\n\t\tlogTypeMap = make(map[string]string)\n\t\tval := reflect.ValueOf(LOGTYPE)\n\t\ttyp := val.Type()\n\n\t\tfor i := 0; i < typ.NumField(); i++ {\n\t\t\tfield := typ.Field(i)\n\t\t\tvalue := val.Field(i).String()\n\t\t\tlogTypeMap[field.Name] = value\n\t\t}\n\t})\n\treturn logTypeMap\n}\n"
  },
  {
    "path": "core/internal/consts/mail_providers.go",
    "content": "package consts\n\nconst (\n\tMailProviderGroupGmail   = \"google\"\n\tMailProviderGroupOutlook = \"outlook\"\n\tMailProviderGroupYahoo   = \"yahoo\"\n\tMailProviderGroupApple   = \"apple\"\n\tMailProviderGroupProton  = \"proton\"\n\tMailProviderGroupZoho    = \"zoho\"\n\tMailProviderGroupAmazon  = \"amazon\"\n\tMailProviderGroupOther   = \"other\"\n)\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage abnormal_recipient\n\nimport \"github.com/gogf/gf/v2/frame/g\"\n\nfunc GetAbnormalSwitch() string {\n\tvar abnormalSwitch string\n\tval, err := g.DB().Model(\"bm_options\").Where(\"name\", \"abnormal_mail_check_switch\").Value(\"value\")\n\tif err == nil && val != nil && val.String() != \"\" {\n\t\tabnormalSwitch = val.String()\n\t} else {\n\t\tabnormalSwitch = \"1\"\n\t\t_ = SetAbnormalSwitch(\"1\")\n\n\t}\n\treturn abnormalSwitch\n}\n\nfunc SetAbnormalSwitch(status string) error {\n\t_, err := g.DB().Model(\"bm_options\").\n\t\tData(g.Map{\n\t\t\t\"name\":  \"abnormal_mail_check_switch\",\n\t\t\t\"value\": status,\n\t\t}).\n\t\tOnConflict(\"name\").\n\t\tSave()\n\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage abnormal_recipient\n\nimport (\n\t\"billionmail-core/api/abnormal_recipient\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() abnormal_recipient.IAbnormalRecipientV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_v1_abnormal_switch.go",
    "content": "package abnormal_recipient\n\nimport (\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"strconv\"\n)\n\nfunc (c *ControllerV1) AbnormalSwitch(ctx context.Context, req *v1.AbnormalSwitchReq) (res *v1.AbnormalSwitchRes, err error) {\n\tres = &v1.AbnormalSwitchRes{}\n\n\tabnormalSwitch := GetAbnormalSwitch()\n\n\tres.Data, _ = strconv.Atoi(abnormalSwitch)\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_v1_add_abnormal_recipient.go",
    "content": "package abnormal_recipient\n\nimport (\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/abnormal_recipient\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"strings\"\n)\n\nfunc (c *ControllerV1) AddAbnormalRecipient(ctx context.Context, req *v1.AddAbnormalRecipientReq) (res *v1.AddAbnormalRecipientRes, err error) {\n\tres = &v1.AddAbnormalRecipientRes{}\n\n\trecipient := strings.TrimSpace(req.Recipient)\n\n\terr = abnormal_recipient.Add(ctx, recipient)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to add exception recipient: {}\", err.Error())))\n\t\treturn\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.AbnormalRecipient,\n\t\tLog:  \"Add abnormal recipient :\" + recipient + \" successfully\",\n\t\tData: recipient,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"The exception recipient was added successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_v1_check_group.go",
    "content": "package abnormal_recipient\n\nimport (\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/abnormal_recipient\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/os/gtimer\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"github.com/gogf/gf/v2/os/gfile\"\n\t\"net\"\n\t\"os\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n)\n\ntype DNSRecord struct {\n\tType  string `json:\"type\"`\n\tHost  string `json:\"host\"`\n\tValue string `json:\"value\"`\n\tValid bool `json:\"valid\"`\n}\n\nfunc (c *ControllerV1) CheckGroup(ctx context.Context, req *v1.CheckGroupReq) (res *v1.CheckGroupRes, err error) {\n\tg.Log().Info(ctx, \"CheckGroup called with req:\", req)\n\tres = &v1.CheckGroupRes{}\n\tgroupNameValue, err := g.DB().Model(\"bm_contact_groups\").Ctx(ctx).Where(\"id\", req.GroupId).Fields(\"name\").Value()\n\tif err != nil {\n\t\tg.Log().Error(ctx, \"Group name query error:\", err)\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The group does not exist.\")))\n\t\treturn\n\t}\n\n\tvar contacts []entity.Contact\n\terr = g.DB().Model(\"bm_contacts\").Where(\"group_id\", req.GroupId).Where(\"active\", 1).Scan(&contacts)\n\t//g.Log().Info(ctx, \"bm_contacts query result, contacts:\", contacts, \"err:\", err)\n\tif err != nil || len(contacts) == 0 {\n\t\tg.Log().Error(ctx, \"No contacts found or db error:\", err)\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The contact person within the group is unavailable.\")))\n\t\treturn\n\t}\n\n\tvar logDir = public.HostWorkDir + \"/logs/core/check_email_valid.txt\"\n\tif err := gfile.PutContents(logDir, \"\"); err != nil {\n\t\tg.Log().Error(ctx, \"Failed to create or truncate log file:\", err)\n\t}\n\n\tgtimer.AddOnce(1000*time.Millisecond, func() {\n\n\t\tf, err := os.OpenFile(logDir, os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0644)\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Failed to truncate log file:\", err)\n\t\t} else {\n\t\t\tf.Close()\n\t\t}\n\n\t\tgroupNameInfo := groupNameValue.String()\n\t\temails := make([]string, 0, len(contacts))\n\t\tfor _, c := range contacts {\n\t\t\temails = append(emails, c.Email)\n\t\t}\n\n\t\tdomainMap := make(map[string][]string)\n\t\tfor _, email := range emails {\n\t\t\tparts := strings.SplitN(email, \"@\", 2)\n\t\t\tif len(parts) == 2 {\n\t\t\t\tdomainMap[parts[1]] = append(domainMap[parts[1]], email)\n\t\t\t}\n\t\t}\n\n\t\tg.Log().Info(ctx, \"Start async check group, groupNameInfo:\", groupNameInfo)\n\t\tnowStr := time.Now().Format(\"2006-01-02 15:04:05\")\n\t\tgroupName := fmt.Sprintf(\"Group[%s]\", groupNameInfo)\n\t\tappendLogLine(logDir, fmt.Sprintf(\"%s: %s start checking...\", nowStr, groupName))\n\t\tappendLogLine(logDir, fmt.Sprintf(\"Total emails to check: %d\", len(emails)))\n\t\tappendLogLine(logDir, fmt.Sprintf(\"Total domains to check: %d\", len(domainMap)))\n\n\t\tvar (\n\t\t\tvalidEmails   []string\n\t\t\tinvalidEmails []string\n\t\t\ttotalCount    = len(emails)\n\t\t\tvalidCount    = 0\n\t\t\tinvalidCount  = 0\n\t\t\twg            sync.WaitGroup\n\t\t\tmutex         sync.Mutex\n\n\t\t\tinvalidEmailDetails []abnormal_recipient.RecipientDetail\n\t\t)\n\n\t\t// Use a channel to control concurrency, limiting to 20 concurrent DNS lookups\n\t\tconst maxConcurrency = 20\n\t\tsemaphore := make(chan struct{}, maxConcurrency)\n\n\t\tfor domain, domainEmails := range domainMap {\n\t\t\twg.Add(1)\n\t\t\tgo func(domain string, domainEmails []string) {\n\t\t\t\tdefer wg.Done()\n\t\t\t\tsemaphore <- struct{}{}        // Acquire a token\n\t\t\t\tdefer func() { <-semaphore }() // Release the token\n\n\t\t\t\tdate := time.Now().Format(\"2006-01-02 15:04:05\")\n\t\t\t\trecord := DNSRecord{\n\t\t\t\t\tType:  \"MX\",\n\t\t\t\t\tHost:  \"@\",\n\t\t\t\t\tValue: domain,\n\t\t\t\t}\n\t\t\t\tstatus, reason := ValidateMXRecord(record, domain)\n\n\t\t\t\tmutex.Lock()\n\t\t\t\tdefer mutex.Unlock()\n\n\t\t\t\tif status {\n\t\t\t\t\tvalidEmails = append(validEmails, domainEmails...)\n\t\t\t\t\tvalidCount += len(domainEmails)\n\t\t\t\t\tappendLogLine(logDir, fmt.Sprintf(\"%s: %s -----------------------------  √\", date, domain))\n\t\t\t\t} else {\n\t\t\t\t\tinvalidEmails = append(invalidEmails, domainEmails...)\n\t\t\t\t\tfor _, email := range domainEmails {\n\t\t\t\t\t\tinvalidEmailDetails = append(invalidEmailDetails, abnormal_recipient.RecipientDetail{\n\t\t\t\t\t\t\tEmail:       email,\n\t\t\t\t\t\t\tErrorReason: reason,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tinvalidCount += len(domainEmails)\n\t\t\t\t\tappendLogLine(logDir, fmt.Sprintf(\"%s: %s ----------------------------- x  %s\", date, domain, reason))\n\t\t\t\t}\n\t\t\t}(domain, domainEmails)\n\t\t}\n\n\t\twg.Wait() // Wait for all goroutines to finish\n\n\t\tswitch req.Oper {\n\t\tcase 2: // Add abnormal table\n\t\t\t_ = abnormal_recipient.BatchUpsertAbnormalRecipientsWithDetails(ctx, invalidEmailDetails, 3, \"Manual scanning group (MX check)\")\n\t\t\tappendLogLine(logDir, \"Adding invalid emails to blocklist with details...\")\n\t\tcase 3: // Remove from the group\n\t\t\t_, _ = g.DB().Model(\"bm_contacts\").Where(\"group_id\", req.GroupId).WhereIn(\"email\", invalidEmails).Delete()\n\t\t\tappendLogLine(logDir, \"Removing invalid emails from group...\")\n\t\t}\n\t\tnowStr = time.Now().Format(\"2006-01-02 15:04:05\")\n\t\tappendLogLine(logDir, \"---------------------------------------------------------------------------------------\")\n\t\tappendLogLine(logDir, fmt.Sprintf(\"Results for [%s]:\", groupName))\n\t\tappendLogLine(logDir, fmt.Sprintf(\"Tested: %d\", totalCount))\n\t\tappendLogLine(logDir, fmt.Sprintf(\"Normal: %d\", validCount))\n\t\tappendLogLine(logDir, fmt.Sprintf(\"Abnormal:  %d\", invalidCount))\n\t\tappendLogLine(logDir, fmt.Sprintf(\"Abnormal emails: %s\", strings.Join(invalidEmails, \", \")))\n\t\tappendLogLine(logDir, \"---------------------------------------------------------------------------------------\")\n\t\tappendLogLine(logDir, fmt.Sprintf(\"%s:  Check finished\", nowStr))\n\t})\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.AbnormalRecipient,\n\t\tLog:  \"Manually scan the abnormal email addresses in group :\" + groupNameValue.String() + \" successfully\",\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"The process is currently running in the background. Please check the log.\"))\n\n\treturn res, nil\n}\n\nfunc ValidateMXRecord(record DNSRecord, domain string, aRecordHosts ...string) (bool, string) {\n\tg.Log().Info(context.Background(), \"ValidateMXRecord called with:\", record, domain)\n\tif strings.ToUpper(record.Type) != \"MX\" {\n\t\treturn false, \"Invalid record type\"\n\t}\n\n\tif record.Host != \"@\" {\n\t\tdomain = strings.TrimSuffix(record.Host, \".\") + \".\" + domain\n\t}\n\n\tvar mxRecords []*net.MX\n\tvar err error\n\n\tfor i := 0; i < 3; i++ {\n\t\tmxRecords, err = net.LookupMX(domain)\n\t\tif err == nil {\n\t\t\tbreak\n\t\t}\n\t\tif i < 1 { // 不到2次,重试\n\t\t\ttime.Sleep(200 * time.Millisecond)\n\t\t}\n\t}\n\n\tif err != nil {\n\t\tg.Log().Error(context.Background(), \"Failed to query MX records after retries:\", err)\n\t\treturn false, \"DNS lookup failed: \" + err.Error()\n\t}\n\n\tg.Log().Debug(context.Background(), \"Query MX records success\", mxRecords)\n\n\tif len(mxRecords) > 0 {\n\t\treturn true, \"\"\n\t}\n\n\treturn false, \"no MX record\"\n}\n\nfunc appendLogLine(filePath, line string) {\n\tdefer func() {\n\t\tif r := recover(); r != nil {\n\t\t\tg.Log().Error(context.Background(), \"panic in appendLogLine:\", r)\n\t\t}\n\t}()\n\tf, err := os.OpenFile(filePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)\n\tif err != nil {\n\t\tg.Log().Error(context.Background(), \"Failed to open log file:\", err)\n\t\treturn\n\t}\n\tdefer f.Close()\n\t_, err = f.WriteString(line + \"\\n\")\n\tif err != nil {\n\t\tg.Log().Error(context.Background(), \"Failed to write log line:\", err)\n\t}\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_v1_clearabnormal_recipient.go",
    "content": "package abnormal_recipient\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n)\n\nfunc (c *ControllerV1) ClearabnormalRecipient(ctx context.Context, req *v1.ClearabnormalRecipientReq) (res *v1.ClearabnormalRecipientRes, err error) {\n\tres = &v1.ClearabnormalRecipientRes{}\n\t_, err = g.DB().Model(\"abnormal_recipient\").Where(\"1=1\").Delete()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Clearing failed: {}\", err.Error())))\n\t\treturn\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.AbnormalRecipient,\n\t\tLog:  \"Clearing the abnormal email box was successful\",\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_v1_delete_abnormal_recipient.go",
    "content": "package abnormal_recipient\n\nimport (\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/abnormal_recipient\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\nfunc (c *ControllerV1) DeleteAbnormalRecipient(ctx context.Context, req *v1.DeleteAbnormalRecipientReq) (res *v1.DeleteAbnormalRecipientRes, err error) {\n\tres = &v1.DeleteAbnormalRecipientRes{}\n\tabnormalRecipient, _ := abnormal_recipient.GetAbnormalRecipient(ctx, req.Id)\n\terr = abnormal_recipient.Delete(ctx, req.Id)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to remove exception recipient: {}\", err.Error())))\n\t\treturn\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.AbnormalRecipient,\n\t\tLog:  \"Delete abnormal recipient :\" + abnormalRecipient.Recipient + \" successfully\",\n\t\tData: abnormalRecipient,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"The exception recipient was removed successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_v1_get_scan_log.go",
    "content": "package abnormal_recipient\n\nimport (\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"os\"\n)\n\nfunc (c *ControllerV1) GetScanLog(ctx context.Context, req *v1.GetScanLogReq) (res *v1.GetScanLogRes, err error) {\n\tvar logDir = public.HostWorkDir + \"/logs/core/check_email_valid.txt\"\n\n\tres = &v1.GetScanLogRes{}\n\texists1 := public.FileExists(logDir)\n\tif !exists1 {\n\t\tres.Data = \"\"\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\t\treturn\n\t}\n\n\tcontent, err := os.ReadFile(logDir)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Error occurred while reading the scan log: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\tres.Data = string(content)\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_v1_list_abnormal_recipient.go",
    "content": "package abnormal_recipient\n\nimport (\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n\t\"billionmail-core/internal/service/abnormal_recipient\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\nfunc (c *ControllerV1) ListAbnormalRecipient(ctx context.Context, req *v1.ListAbnormalRecipientReq) (res *v1.ListAbnormalRecipientRes, err error) {\n\tres = &v1.ListAbnormalRecipientRes{}\n\n\ttotal, list, err := abnormal_recipient.GetListWithPage(ctx, req.Page, req.PageSize, req.Keyword, req.AddType)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get the exception recipient list: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tapiList := make([]*v1.AbnormalRecipient, 0, len(list))\n\tfor _, item := range list {\n\t\tapiList = append(apiList, &v1.AbnormalRecipient{\n\t\t\tId:          item.Id,\n\t\t\tRecipient:   item.Recipient,\n\t\t\tCreateTime:  item.CreateTime,\n\t\t\tDescription: item.Description,\n\t\t\tCount:       item.Count,\n\t\t\tAddType:     item.AddType,\n\t\t})\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = apiList\n\n\tres.SetSuccess(public.LangCtx(ctx, \"The list of exception recipients was successfully obtained\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/abnormal_recipient/abnormal_recipient_v1_set_abnormal_switch.go",
    "content": "package abnormal_recipient\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"strconv\"\n\n\t\"billionmail-core/api/abnormal_recipient/v1\"\n)\n\nfunc (c *ControllerV1) SetAbnormalSwitch(ctx context.Context, req *v1.SetAbnormalSwitchReq) (res *v1.SetAbnormalSwitchRes, err error) {\n\tres = &v1.SetAbnormalSwitchRes{}\n\toper := strconv.Itoa(req.Oper)\n\n\terr = SetAbnormalSwitch(oper)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to set the switch: {}\", err.Error())))\n\t\treturn\n\t}\n\n\taction := \"Turn on\"\n\tswitch req.Oper {\n\tcase 1:\n\t\taction = \"Turn on\"\n\tcase 0:\n\t\taction = \"Shut down\"\n\tdefault:\n\t\taction = \"Illegal operation\"\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.AbnormalRecipient,\n\t\tLog:  action + \" Automatic scanning of abnormal email accounts\",\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/askai/askai.go",
    "content": "package askai\n"
  },
  {
    "path": "core/internal/controller/askai/askai_new.go",
    "content": "package askai\n\ntype ControllerV1 struct{}\n\nfunc NewV1() *ControllerV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/askai/askai_v1_chat.go",
    "content": "package askai\n\nimport (\n\tv1 \"billionmail-core/api/askai/v1\"\n\t\"billionmail-core/internal/service/askai\"\n\t\"context\"\n)\n\n// Chat related methods\n// Info(req *v1.InfoReq) (res *v1.InfoRes, err error)\n// Chat(req *v1.ChatReq) (res *v1.ChatRes, err error)\n// Stop(req *v1.StopReq) (res *v1.StopRes, err error)\n// GetHtml(req *v1.GetHtmlReq) (res *v1.GetHtmlRes, err error)\n// ModifyHtml(req *v1.ModifyHtmlReq) (res *v1.ModifyHtmlRes, err error)\n\nfunc (c *ControllerV1) CreateChat(ctx context.Context, req *v1.CreateChatReq) (res *v1.CreateChatRes, err error) {\n\tres = &v1.CreateChatRes{}\n\tchatId, err := askai.CreateChat(req.Domain, req.AddType, req.TempName)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.Data = map[string]string{\"chatId\": chatId}\n\t\tres.SetSuccess(\"Chat created successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetChatList(ctx context.Context, req *v1.GetChatListReq) (res *v1.GetChatListRes, err error) {\n\tres = &v1.GetChatListRes{}\n\tres.Data, err = askai.GetChatList()\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Chat list retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) Info(ctx context.Context, req *v1.InfoReq) (res *v1.InfoRes, err error) {\n\tres = &v1.InfoRes{}\n\tres.Data, err = askai.GetChatInfo(req.ChatId)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Chat info retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) Chat(ctx context.Context, req *v1.ChatReq) (res *v1.ChatRes, err error) {\n\tres = &v1.ChatRes{}\n\terr = askai.Chat(ctx, req.ChatId, req.SupplierName, req.ModelId, req.Content, req.IsText)\n\tif err != nil {\n\t\tres.SetError(err)\n\t\treturn res, nil\n\t}\n\treturn\n}\n\nfunc (c *ControllerV1) Stop(ctx context.Context, req *v1.StopReq) (res *v1.StopRes, err error) {\n\tres = &v1.StopRes{}\n\terr = askai.Stop(req.ChatId)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Chat stopped successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetHtml(ctx context.Context, req *v1.GetHtmlReq) (res *v1.GetHtmlRes, err error) {\n\tres = &v1.GetHtmlRes{}\n\thtmlContent, err := askai.GetHtml(req.ChatId)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"HTML content retrieved successfully\")\n\t\tres.Data = map[string]interface{}{\n\t\t\t\"html_content\": htmlContent,\n\t\t\t\"last_usage\":   askai.GetLastUsage(req.ChatId),\n\t\t}\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyHtml(ctx context.Context, req *v1.ModifyHtmlReq) (res *v1.ModifyHtmlRes, err error) {\n\tres = &v1.ModifyHtmlRes{}\n\terr = askai.ModifyHtml(req.ChatId, req.Content)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"HTML content modified successfully\")\n\t}\n\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) RemoveChat(ctx context.Context, req *v1.RemoveChatReq) (res *v1.RemoveChatRes, err error) {\n\tres = &v1.RemoveChatRes{}\n\t// Logic to remove the chat based on req.ChatId\n\t// This is a placeholder implementation\n\terr = askai.RemoveChat(req.ChatId)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Chat removed successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) CopyChat(ctx context.Context, req *v1.CopyChatReq) (res *v1.CopyChatRes, err error) {\n\tres = &v1.CopyChatRes{}\n\tchatId, content, err := askai.CopyChat(req.ChatId, req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.Data = map[string]string{\"chatId\": chatId, \"content\": content}\n\t\tres.SetSuccess(\"Chat copied successfully\")\n\t}\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/askai/askai_v1_project.go",
    "content": "package askai\n\nimport (\n\tv1 \"billionmail-core/api/askai/v1\"\n\t\"billionmail-core/internal/service/askai\"\n\t\"context\"\n)\n\nfunc (c *ControllerV1) Create(ctx context.Context, req *v1.CreateReq) (res *v1.CreateRes, err error) {\n\tres = &v1.CreateRes{}\n\terr = askai.Create(req.Domain, req.Urls)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Project created successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetProjectStatus(ctx context.Context, req *v1.GetProjectStatusReq) (res *v1.GetProjectStatusRes, err error) {\n\tres = &v1.GetProjectStatusRes{}\n\tprojectStatus, createStatus, err := askai.GetProjectStatus(req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.Data = map[string]interface{}{\n\t\t\t\"status\":        projectStatus,\n\t\t\t\"create_status\": createStatus,\n\t\t}\n\t\tres.SetSuccess(\"Project status retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) SetProjectStatus(ctx context.Context, req *v1.SetProjectStatusReq) (res *v1.SetProjectStatusRes, err error) {\n\tres = &v1.SetProjectStatusRes{}\n\terr = askai.SetProjectStatus(req.Domain, req.Status)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Project status set successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetBaseInfo(ctx context.Context, req *v1.GetBaseInfoReq) (res *v1.GetBaseInfoRes, err error) {\n\tres = &v1.GetBaseInfoRes{}\n\tres.Data, err = askai.GetBaseInfo(req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Base information retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyBaseInfo(ctx context.Context, req *v1.ModifyBaseInfoReq) (res *v1.ModifyBaseInfoRes, err error) {\n\tres = &v1.ModifyBaseInfoRes{}\n\terr = askai.ModifyBaseInfo(req.Domain, req.ProjectName, req.Description, req.Industry, req.PrimaryLogo, req.SecondaryLogo, req.Favicon, req.Urls)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Base information modified successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyKnowledgeBaseFile(ctx context.Context, req *v1.ModifyKnowledgeBaseFileReq) (res *v1.ModifyKnowledgeBaseFileRes, err error) {\n\tres = &v1.ModifyKnowledgeBaseFileRes{}\n\terr = askai.ModifyKnowledgeBaseFile(req.Domain, req.Kid, req.Title, req.Content)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Knowledge base file modified successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) CreateKnowledgeBaseFile(ctx context.Context, req *v1.CreateKnowledgeBaseFileReq) (res *v1.CreateKnowledgeBaseFileRes, err error) {\n\tres = &v1.CreateKnowledgeBaseFileRes{}\n\terr = askai.CreateKnowledgeBaseFile(req.Domain, req.Title, req.Content, \"\")\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Knowledge base file created successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) RemoveKnowledgeBaseFile(ctx context.Context, req *v1.RemoveKnowledgeBaseFileReq) (res *v1.RemoveKnowledgeBaseFileRes, err error) {\n\tres = &v1.RemoveKnowledgeBaseFileRes{}\n\terr = askai.RemoveKnowledgeBaseFile(req.Domain, req.Kid)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Knowledge base file removed successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetCompanyProfile(ctx context.Context, req *v1.GetCompanyProfileReq) (res *v1.GetCompanyProfileRes, err error) {\n\tres = &v1.GetCompanyProfileRes{}\n\tres.Data, err = askai.GetCompanyProfile(req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Company profile retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyCompanyProfile(ctx context.Context, req *v1.ModifyCompanyProfileReq) (res *v1.ModifyCompanyProfileRes, err error) {\n\tres = &v1.ModifyCompanyProfileRes{}\n\terr = askai.ModifyCompanyProfile(req.Domain, req.LegalCompanyName, req.Website, req.CompanyProfile, req.Email, req.Phone, req.SupportUrl)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Company profile modified successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetStyleConfig(ctx context.Context, req *v1.GetStyleConfigReq) (res *v1.GetStyleConfigRes, err error) {\n\tres = &v1.GetStyleConfigRes{}\n\tres.Data, err = askai.GetStyleConfig(req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Style configuration retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyStyleConfig(ctx context.Context, req *v1.ModifyStyleConfigReq) (res *v1.ModifyStyleConfigRes, err error) {\n\tres = &v1.ModifyStyleConfigRes{}\n\terr = askai.ModifyStyleConfig(req.Domain, req.AccentColor, req.TextColor, req.PageBackground, req.ContainerBackground, req.LinkSocialColor, req.LinkFooterColor, req.HeadingFont, req.BodyFont)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Style configuration modified successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetSitemap(ctx context.Context, req *v1.GetSitemapReq) (res *v1.GetSitemapRes, err error) {\n\tres = &v1.GetSitemapRes{}\n\tres.Data, err = askai.GetSiteMap(req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Sitemap retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) RemoveSitemapNode(ctx context.Context, req *v1.RemoveSitemapNodeReq) (res *v1.RemoveSitemapNodeRes, err error) {\n\tres = &v1.RemoveSitemapNodeRes{}\n\terr = askai.RemoveSiteMapNode(req.Domain, req.UriPath)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Sitemap node removed successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) AddSitemapNode(ctx context.Context, req *v1.AddSitemapNodeReq) (res *v1.AddSitemapNodeRes, err error) {\n\tres = &v1.AddSitemapNodeRes{}\n\terr = askai.AddSiteMapNode(req.Domain, req.Title, req.UriPath)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Sitemap node added successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetFooter(ctx context.Context, req *v1.GetFooterReq) (res *v1.GetFooterRes, err error) {\n\tres = &v1.GetFooterRes{}\n\tres.Data, err = askai.GetFooter(req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Footer retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyFooter(ctx context.Context, req *v1.ModifyFooterReq) (res *v1.ModifyFooterRes, err error) {\n\tres = &v1.ModifyFooterRes{}\n\terr = askai.ModifyFooter(req.Domain, req.CopyrightText, req.Disclaimer, \"\")\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Footer modified successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetPrompt(ctx context.Context, req *v1.GetPromptReq) (res *v1.GetPromptRes, err error) {\n\tres = &v1.GetPromptRes{}\n\tres.Data, err = askai.GetPrompt(req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Prompt retrieved successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyPrompt(ctx context.Context, req *v1.ModifyPromptReq) (res *v1.ModifyPromptRes, err error) {\n\tres = &v1.ModifyPromptRes{}\n\terr = askai.ModifyPrompt(req.Domain, req.Prompt)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Prompt modified successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) UploadImage(ctx context.Context, req *v1.UploadImageReq) (res *v1.UploadImageRes, err error) {\n\tres = &v1.UploadImageRes{}\n\timageUrl, err := askai.UploadImage(req.Domain, req.Image, req.Filename, req.AltText, req.ImageTag)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.Data = map[string]string{\n\t\t\t\"url\": imageUrl,\n\t\t}\n\t\tres.SetSuccess(\"Image uploaded successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) RemoveImage(ctx context.Context, req *v1.RemoveImageReq) (res *v1.RemoveImageRes, err error) {\n\tres = &v1.RemoveImageRes{}\n\terr = askai.RemoveImage(req.Domain, req.ImageId)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Image removed successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyImage(ctx context.Context, req *v1.ModifyImageReq) (res *v1.ModifyImageRes, err error) {\n\tres = &v1.ModifyImageRes{}\n\terr = askai.ModifyImage(req.Domain, req.ImageId, req.AltText, req.ImageTag)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Image modified successfully\")\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetImages(ctx context.Context, req *v1.GetImagesReq) (res *v1.GetImagesRes, err error) {\n\tres = &v1.GetImagesRes{}\n\tres.Data, err = askai.GetImages(req.Domain)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(\"Images retrieved successfully\")\n\t}\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/askai/askai_v1_supplier.go",
    "content": "package askai\n\nimport (\n\tv1 \"billionmail-core/api/askai/v1\"\n\t\"billionmail-core/internal/service/askai\"\n\t\"billionmail-core/internal/service/public\"\n\t\"billionmail-core/utility/types/api_v1\"\n\t\"context\"\n\t\"errors\"\n)\n\nfunc (c *ControllerV1) List(ctx context.Context, req *v1.ListReq) (res *v1.ListRes, err error) {\n\tres = &v1.ListRes{}\n\tres.Data = askai.List()\n\tif res.Data == nil {\n\t\tres.SetError(errors.New(public.LangCtx(ctx, \"Not suppliers found\")))\n\t\treturn res, nil\n\t}\n\tres.SetSuccess(public.LangCtx(ctx, \"List of suppliers retrieved successfully\"))\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) Models(ctx context.Context, req *v1.ModelsReq) (res *v1.ModelsRes, err error) {\n\tres = &v1.ModelsRes{}\n\tres.Data = askai.Models(req.SupplierName)\n\tres.SetSuccess(public.LangCtx(ctx, \"List of models retrieved successfully\"))\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) AddModel(ctx context.Context, req *v1.AddModelReq) (res *v1.AddModelRes, err error) {\n\tres = &v1.AddModelRes{}\n\tres.Data = askai.AddModel(req.SupplierName, req.Title, req.ModelId, req.MaxTokens, req.Capability)\n\tres.SetSuccess(public.LangCtx(ctx, \"Model added successfully\"))\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) RemoveModel(ctx context.Context, req *v1.RemoveModelReq) (res *v1.RemoveModelRes, err error) {\n\tres = &v1.RemoveModelRes{}\n\tres.Data = askai.RemoveModel(req.SupplierName, req.ModelId)\n\tif res.Data == nil {\n\t\tres.SetError(errors.New(public.LangCtx(ctx, \"Model not found\")))\n\t\treturn res, nil\n\t}\n\tres.SetSuccess(public.LangCtx(ctx, \"Model removed successfully\"))\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) SetSupplierConfig(ctx context.Context, req *v1.SetSupplierConfigReq) (res *api_v1.StandardRes, err error) {\n\tres = &api_v1.StandardRes{}\n\tresult := askai.SetSupplierConfig(req.SupplierName, req.BaseUrl, req.ApiKey)\n\tif result == nil {\n\t\tres.Data = result\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Supplier configuration updated successfully\"))\n\t} else {\n\t\tres.SetError(result)\n\t}\n\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) Testing(ctx context.Context, req *v1.TestingReq) (res *v1.TestingRes, err error) {\n\tres = &v1.TestingRes{}\n\terr = askai.Testing(req.SupplierName, req.BaseUrl, req.ApiKey)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Supplier connection successful\"))\n\t}\n\n\t// fmt.Println(\"Testing supplier connection:%s\", req.SupplierName)\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) GetSupplierConfig(ctx context.Context, req *v1.GetSupplierConfigReq) (res *v1.GetSupplierConfigRes, err error) {\n\tres = &v1.GetSupplierConfigRes{}\n\tconfig, err := askai.GetSupplierConfig(req.SupplierName)\n\tif err == nil {\n\t\tres.Data = config\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Supplier configuration retrieved successfully\"))\n\t} else {\n\t\tres.SetError(err)\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) SetSupplierStatus(ctx context.Context, req *v1.SetSupplierStatusReq) (res *api_v1.StandardRes, err error) {\n\tres = &api_v1.StandardRes{}\n\terr = askai.SetSupplierStatus(req.SupplierName, req.Status)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Supplier status updated successfully\"))\n\t}\n\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) SetModelStatus(ctx context.Context, req *v1.SetModelStatusReq) (res *api_v1.StandardRes, err error) {\n\tres = &api_v1.StandardRes{}\n\terr = askai.SetModelStatus(req.SupplierName, req.ModelId, req.Status)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Model status updated successfully\"))\n\t}\n\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) AddSupplier(ctx context.Context, req *v1.AddSupplierReq) (res *v1.AddSupplierRes, err error) {\n\tres = &v1.AddSupplierRes{}\n\terr = askai.AddSupplier(req.SupplierTitle, req.SupplierName, req.BaseUrl, req.ApiKey)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Supplier added successfully\"))\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) RemoveSupplier(ctx context.Context, req *v1.RemoveSupplierReq) (res *v1.RemoveSupplierRes, err error) {\n\tres = &v1.RemoveSupplierRes{}\n\terr = askai.RemoveSupplier(req.SupplierName)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Supplier removed successfully\"))\n\t}\n\treturn res, nil\n}\nfunc (c *ControllerV1) SetModelTitle(ctx context.Context, req *v1.SetModelTitleReq) (res *v1.SetModelTitleRes, err error) {\n\tres = &v1.SetModelTitleRes{}\n\terr = askai.SetModelTitle(req.SupplierName, req.ModelId, req.Title)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Model title updated successfully\"))\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) SetModelCapability(ctx context.Context, req *v1.SetModelCapabilityReq) (res *v1.SetModelCapabilityRes, err error) {\n\tres = &v1.SetModelCapabilityRes{}\n\terr = askai.SetModelCapability(req.SupplierName, req.ModelId, req.Capability)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Model capability updated successfully\"))\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) ModifyModel(ctx context.Context, req *v1.ModifyModelReq) (res *v1.ModifyModelRes, err error) {\n\tres = &v1.ModifyModelRes{}\n\terr = askai.ModifyModel(req.SupplierName, req.ModelId, req.MaxTokens, req.Capability, req.Title)\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Model modified successfully\"))\n\t}\n\treturn res, nil\n}\n\nfunc (c *ControllerV1) Status(ctx context.Context, req *v1.StatusReq) (res *v1.StatusRes, err error) {\n\tres = &v1.StatusRes{}\n\tstatus := askai.Status()\n\tif err != nil {\n\t\tres.SetError(err)\n\t} else {\n\t\tres.Data = map[string]bool{\n\t\t\t\"is_configured\": status,\n\t\t}\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Supplier status retrieved successfully\"))\n\t}\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage batch_mail\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage batch_mail\n\ntype ControllerV1 struct{}\n\nfunc NewV1() *ControllerV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_api_mail_batch_send.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/mail_service\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) ApiMailBatchSend(ctx context.Context, req *v1.ApiMailBatchSendReq) (res *v1.ApiMailBatchSendRes, err error) {\n\tres = &v1.ApiMailBatchSendRes{}\n\tclientIP := g.RequestFromCtx(ctx).GetClientIp()\n\n\t// 1. check API Key\n\tapiTemplate, err := getApiTemplateByKey(ctx, req.ApiKey, clientIP)\n\tif err != nil {\n\t\tres.Code = 1001\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, err.Error())))\n\t\treturn res, nil\n\t}\n\n\t// 2. check client IP\n\terr = CheckClientIP(ctx, apiTemplate.Id, clientIP)\n\tif err != nil {\n\t\tres.Code = 1002\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, err.Error())))\n\t\treturn res, nil\n\t}\n\n\t// 3. check email template\n\t_, err = getEmailTemplateById(ctx, apiTemplate.TemplateId)\n\tif err != nil {\n\t\tres.Code = 1004\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Email template does not exist\")))\n\t\treturn res, nil\n\t}\n\n\t// 4. check recipient\n\tif len(req.Recipients) == 0 {\n\t\tres.Code = 1003\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Recipients cannot be empty\")))\n\t\treturn res, nil\n\n\t\t//contacts, err := g.DB().Model(\"bm_contacts\").Where(\"group_id\",1).All()\n\t\t//if err != nil {\n\t\t//\tres.Code = 1005\n\t\t//\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get contacts: {}\", err.Error())))\n\t\t//\treturn res, nil\n\t\t//}\n\t\t//recipientaa := []string{}\n\t\t//for _, contact := range contacts {\n\t\t//\trecipientaa = append(recipientaa, contact[\"email\"].String())\n\t\t//}\n\t\t//req.Recipients = recipientaa\n\t}\n\n\tvalidRecipients := make([]string, 0, len(req.Recipients))\n\tfor _, recipient := range req.Recipients {\n\t\t// remove extra spaces\n\t\trecipient = strings.TrimSpace(recipient)\n\t\tif recipient != \"\" && strings.Contains(recipient, \"@\") {\n\t\t\tvalidRecipients = append(validRecipients, recipient)\n\t\t}\n\t}\n\tif len(validRecipients) == 0 {\n\t\tres.Code = 1003\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No valid recipients\")))\n\t\treturn res, nil\n\t}\n\n\t// 5. process addresser\n\taddresser := req.Addresser\n\tif addresser == \"\" {\n\t\taddresser = apiTemplate.Addresser\n\t}\n\n\tbatchData := make([]g.Map, 0, len(validRecipients))\n\tnow := int(time.Now().Unix())\n\tfor _, recipient := range validRecipients {\n\n\t\tif apiTemplate.GroupId > 0 {\n\t\t\t// Add to the specified existing group\n\t\t\t_, err = contact.AddContactToGroup(ctx, recipient, apiTemplate.GroupId)\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Warningf(ctx, \"Failed to add contact %s to group %d: %v\", recipient, apiTemplate.GroupId, err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t} else {\n\t\t\t// Use the old logic to create an API-specific group\n\t\t\t_, err = ensureContactAndGroup(ctx, recipient, apiTemplate.Id)\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Warningf(ctx, \"Failed to ensure contact and group for %s with API ID %d: %v\", recipient, apiTemplate.Id, err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\t// 生成messageId\n\t\tsender, err := mail_service.NewEmailSenderWithLocal(addresser)\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\t\tmessageId := sender.GenerateMessageID()\n\t\tsender.Close()\n\t\tmessageId = strings.Trim(messageId, \"<>\")\n\t\tbatchData = append(batchData, g.Map{\n\t\t\t\"api_id\":        apiTemplate.Id,\n\t\t\t\"recipient\":     recipient,\n\t\t\t\"message_id\":    messageId,\n\t\t\t\"addresser\":     addresser,\n\t\t\t\"status\":        0,\n\t\t\t\"error_message\": \"\",\n\t\t\t\"send_time\":     0,\n\t\t\t\"create_time\":   now,\n\t\t\t\"attribs\":       req.Attribs,\n\t\t})\n\t}\n\n\tif len(batchData) == 0 {\n\t\tres.Code = 1003\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No valid recipients to insert\")))\n\t\treturn res, nil\n\t}\n\n\tbatchSize := 1000\n\tfor i := 0; i < len(batchData); i += batchSize {\n\t\tend := i + batchSize\n\t\tif end > len(batchData) {\n\t\t\tend = len(batchData)\n\t\t}\n\t\t_, err = g.DB().Model(\"api_mail_logs\").Batch(batchSize).Insert(batchData[i:end])\n\t\tif err != nil {\n\t\t\tres.Code = 1005\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to record email log: {}\", err.Error())))\n\t\t\treturn res, nil\n\t\t}\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Batch email send request accepted, {} emails queued\", len(batchData)))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_api_mail_send.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/mail_service\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"database/sql\"\n\t\"errors\"\n\t\"fmt\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) ApiMailSend(ctx context.Context, req *v1.ApiMailSendReq) (res *v1.ApiMailSendRes, err error) {\n\tres = &v1.ApiMailSendRes{}\n\tclientIP := g.RequestFromCtx(ctx).GetClientIp()\n\t// 1. check API Key\n\tapiTemplate, err := getApiTemplateByKey(ctx, req.ApiKey, clientIP)\n\tif err != nil {\n\t\tres.Code = 1001\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, err.Error())))\n\t\treturn res, nil\n\t}\n\n\t// check client IP\n\terr = CheckClientIP(ctx, apiTemplate.Id, clientIP)\n\tif err != nil {\n\t\tres.Code = 1002\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, err.Error())))\n\t\treturn res, nil\n\t}\n\n\t//var expireAt int64\n\t//if apiTemplate.ExpireTime > 0 {\n\t//\texpireAt = int64(apiTemplate.LastKeyUpdateTime) + int64(apiTemplate.ExpireTime)\n\t//\tif time.Now().Unix() > expireAt {\n\t//\t\t// expired\n\t//\t\tres.Code = 1002\n\t//\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"API key has expired\")))\n\t//\t\treturn res, nil\n\t//\t}\n\t//}\n\n\t// 2. check email template\n\t_, err = getEmailTemplateById(ctx, apiTemplate.TemplateId)\n\tif err != nil {\n\t\tres.Code = 1004\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Email template does not exist\")))\n\t\treturn res, nil\n\t}\n\n\t// 3. check recipient\n\tif req.Recipient == \"\" || !strings.Contains(req.Recipient, \"@\") {\n\t\tres.Code = 1003\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Invalid recipient\")))\n\t\treturn res, nil\n\t}\n\n\t// 4. process contact and group\n\tif apiTemplate.GroupId > 0 {\n\t\t// Add to the specified existing group\n\t\t_, err = contact.AddContactToGroup(ctx, req.Recipient, apiTemplate.GroupId)\n\t\tif err != nil {\n\t\t\tg.Log().Warningf(ctx, \"Failed to add contact %s to group %d: %v\", req.Recipient, apiTemplate.GroupId, err)\n\t\t\tres.Code = 1003\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to process recipient: {}\", err.Error())))\n\t\t\treturn res, nil\n\t\t}\n\t} else {\n\t\t// Use the old logic to create an API-specific group\n\t\t_, err = ensureContactAndGroup(ctx, req.Recipient, apiTemplate.Id)\n\t\tif err != nil {\n\t\t\tg.Log().Warningf(ctx, \"Failed to ensure contact and group for %s with API ID %d: %v\", req.Recipient, apiTemplate.Id, err)\n\t\t\tres.Code = 1003\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to process recipient: {}\", err.Error())))\n\t\t\treturn res, nil\n\t\t}\n\t}\n\n\t// 5. process addresser\n\tif req.Addresser == \"\" {\n\t\treq.Addresser = apiTemplate.Addresser\n\t}\n\n\t// 6. Join the sender queue\n\terr = recordApiMailLog(ctx, apiTemplate, req.Recipient, req.Addresser, req.Attribs)\n\tif err != nil {\n\t\tres.Code = 1005\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to record email log: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Email sent successfully\"))\n\treturn res, nil\n}\n\n// 记录到日志表，状态为待发送\nfunc recordApiMailLog(ctx context.Context, apiTemplate *entity.ApiTemplates, recipient, addresser string, attribs map[string]string) error {\n\t// 生成消息ID\n\n\tsender, err := mail_service.NewEmailSenderWithLocal(addresser)\n\tif err != nil {\n\t\treturn gerror.New(public.LangCtx(ctx, \"Failed to create email sender: {}\", err))\n\t}\n\tdefer sender.Close()\n\n\tmessageId := sender.GenerateMessageID()\n\tmessageId = strings.Trim(messageId, \"<>\")\n\n\t// 直接记录到日志表，状态为待发送\n\tnow := int(time.Now().Unix())\n\t_, err = g.DB().Model(\"api_mail_logs\").Insert(g.Map{\n\t\t\"api_id\":        apiTemplate.Id,\n\t\t\"recipient\":     recipient,\n\t\t\"message_id\":    messageId, // 发送时需要加<>\n\t\t\"addresser\":     addresser,\n\t\t\"status\":        0, // 待发送\n\t\t\"error_message\": \"\",\n\t\t\"send_time\":     0,\n\t\t\"create_time\":   now,\n\t\t\"attribs\":       attribs,\n\t})\n\n\treturn err\n\n}\n\n// get API template\nfunc getApiTemplateByKey(ctx context.Context, apiKey string, clientIP string) (*entity.ApiTemplates, error) {\n\tvar apiTemplate entity.ApiTemplates\n\terr := g.DB().Model(\"api_templates\").Where(\"api_key\", apiKey).Where(\"active\", 1).Scan(&apiTemplate)\n\tif err != nil || apiTemplate.Id == 0 {\n\t\treturn nil, gerror.New(public.LangCtx(ctx, \"API key is invalid\"))\n\t}\n\n\treturn &apiTemplate, nil\n}\n\n// check API template by key and client IP\nfunc CheckClientIP(ctx context.Context, Id int, clientIP string) error {\n\n\tipcount, err := g.DB().Model(\"api_ip_whitelist\").\n\t\tWhere(\"api_id\", Id).Count()\n\tif err == nil && ipcount > 0 {\n\n\t\tcount, err := g.DB().Model(\"api_ip_whitelist\").\n\t\t\tWhere(\"api_id\", Id).\n\t\t\tWhere(\"ip\", clientIP).\n\t\t\tCount()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif count == 0 {\n\t\t\treturn gerror.New(public.LangCtx(ctx, \"IP not allowed\"))\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// get email template\nfunc getEmailTemplateById(ctx context.Context, templateId int) (*entity.EmailTemplate, error) {\n\tvar emailTemplate entity.EmailTemplate\n\terr := g.DB().Model(\"email_templates\").Where(\"id\", templateId).Scan(&emailTemplate)\n\tif err != nil || emailTemplate.Id == 0 {\n\t\treturn nil, gerror.New(public.LangCtx(ctx, \"Email template does not exist\"))\n\t}\n\treturn &emailTemplate, nil\n}\n\n// ensure contact and group exists\nfunc ensureContactAndGroup(ctx context.Context, email string, apiId int) (entity.Contact, error) {\n\tvar contact entity.Contact\n\tnow := int(time.Now().Unix())\n\n\tapiGroupName := fmt.Sprintf(\"api_group_%d\", apiId)\n\tvar group entity.ContactGroup\n\terr := g.DB().Model(\"bm_contact_groups\").Where(\"name\", apiGroupName).Scan(&group)\n\tif err != nil {\n\t\tif errors.Is(err, sql.ErrNoRows) {\n\t\t\tgroup = entity.ContactGroup{}\n\t\t} else {\n\t\t\treturn contact, fmt.Errorf(\"failed to query group: %w\", err)\n\t\t}\n\t}\n\tif group.Id == 0 {\n\t\tgroupResult, err := g.DB().Model(\"bm_contact_groups\").Insert(g.Map{\n\t\t\t\"name\":        apiGroupName,\n\t\t\t\"description\": fmt.Sprintf(public.LangCtx(ctx, \"API %d automatically created contact group\"), apiId),\n\t\t\t\"create_time\": now,\n\t\t\t\"update_time\": now,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn contact, err\n\t\t}\n\t\tgroupId, _ := groupResult.LastInsertId()\n\t\tgroup.Id = int(groupId)\n\t} else {\n\n\t\tcount, err := g.DB().Model(\"bm_contacts\").\n\t\t\tWhere(\"email\", email).\n\t\t\tWhere(\"group_id\", group.Id).\n\t\t\tWhere(\"active\", 0).\n\t\t\tCount()\n\t\tif err != nil {\n\t\t\treturn contact, fmt.Errorf(\"failed to check unsubscribe: %w\", err)\n\t\t}\n\t\tif count > 0 {\n\t\t\treturn contact, fmt.Errorf(\"the recipient has unsubscribed from the current group and cannot send\")\n\t\t}\n\t}\n\n\tcontactData := g.Map{\n\t\t\"email\":       email,\n\t\t\"group_id\":    group.Id,\n\t\t\"active\":      1,\n\t\t\"status\":      1,\n\t\t\"create_time\": now,\n\t}\n\tcontactResult, err := g.DB().Model(\"bm_contacts\").\n\t\tData(contactData).\n\t\tOnConflict(\"email,group_id\").\n\t\tSave()\n\tif err != nil {\n\t\treturn contact, err\n\t}\n\n\tcontactId, _ := contactResult.LastInsertId()\n\tcontact.Id = int(contactId)\n\tcontact.Email = email\n\tcontact.GroupId = group.Id\n\tcontact.Active = 1\n\tcontact.Status = 1\n\tcontact.CreateTime = now\n\n\treturn contact, nil\n}\n\n//// process mail content and subject\n//func processMailContentAndSubject(ctx context.Context, content, subject string, apiTemplate *entity.ApiTemplates, contact entity.Contact, req *v1.ApiMailSendReq) (string, string) {\n//\t// unsubscribe link processing\n//\tif apiTemplate.Unsubscribe == 1 {\n//\t\tif !strings.Contains(content, \"__UNSUBSCRIBE_URL__\") && !strings.Contains(content, \"{{ UnsubscribeURL . }}\") {\n//\t\t\tcontent = public.AddUnsubscribeButton(content)\n//\t\t}\n//\t\t//domain := domains.GetBaseURLBySender(req.Addresser)\n//\t\tdomain := domains.GetBaseURL()\n//\t\tunsubscribeURL := fmt.Sprintf(\"%s/api/unsubscribe\", domain)\n//\t\tgroupURL := fmt.Sprintf(\"%s/api/unsubscribe/user_group\", domain)\n//\t\tjwtToken, _ := batch_mail.GenerateUnsubscribeJWT(req.Recipient, apiTemplate.TemplateId, apiTemplate.Id, contact.GroupId)\n//\t\tunsubscribeJumpURL := fmt.Sprintf(\"%s/unsubscribe.html?jwt=%s&email=%s&url_type=%s&url_unsubscribe=%s\", domain, jwtToken, req.Recipient, groupURL, unsubscribeURL)\n//\n//\t\tif contact.Id > 0 {\n//\t\t\tengine := batch_mail.GetTemplateEngine()\n//\t\t\trenderedContent, err := engine.RenderEmailTemplate(ctx, content, &contact, nil, unsubscribeJumpURL)\n//\t\t\tif err == nil {\n//\t\t\t\tcontent = renderedContent\n//\t\t\t}\n//\t\t\trenderedSubject, err := engine.RenderEmailTemplate(ctx, subject, &contact, nil, unsubscribeJumpURL)\n//\t\t\tif err == nil {\n//\t\t\t\tsubject = renderedSubject\n//\t\t\t}\n//\t\t} else {\n//\t\t\tcontent = strings.ReplaceAll(content, \"{{ UnsubscribeURL . }}\", unsubscribeJumpURL)\n//\t\t}\n//\t} else if contact.Id > 0 {\n//\t\tengine := batch_mail.GetTemplateEngine()\n//\t\trenderedContent, err := engine.RenderEmailTemplate(ctx, content, &contact, nil, \"\")\n//\t\tif err == nil {\n//\t\t\tcontent = renderedContent\n//\t\t}\n//\t\trenderedSubject, err := engine.RenderEmailTemplate(ctx, subject, &contact, nil, \"\")\n//\t\tif err == nil {\n//\t\t\tsubject = renderedSubject\n//\t\t}\n//\t}\n//\treturn content, subject\n//}\n//\n//// send email\n//func sendApiMail(ctx context.Context, apiTemplate *entity.ApiTemplates, subject, content, recipient, addresser string) error {\n//\n//\t// create email sender\n//\tsender, err := mail_service.NewEmailSenderWithLocal(addresser)\n//\tif err != nil {\n//\t\treturn gerror.New(public.LangCtx(ctx, \"Failed to create email sender: {}\", err))\n//\t}\n//\tdefer sender.Close()\n//\n//\t// generate message ID\n//\tmessageId := sender.GenerateMessageID()\n//\t// add 1 billion to prevent conflict with marketing task id\n//\t//baseURL := domains.GetBaseURLBySender(addresser)\n//\tbaseURL := domains.GetBaseURL()\n//\tapiTemplate_id := apiTemplate.Id + 1000000000\n//\tmailTracker := maillog_stat.NewMailTracker(content, apiTemplate_id, messageId, recipient, baseURL)\n//\tmailTracker.TrackLinks()\n//\tmailTracker.AppendTrackingPixel()\n//\tcontent = mailTracker.GetHTML()\n//\n//\t// create email message\n//\tmessage := mail_service.NewMessage(subject, content)\n//\tmessage.SetMessageID(messageId)\n//\t// set sender display name\n//\tif apiTemplate.FullName != \"\" {\n//\t\tmessage.SetRealName(apiTemplate.FullName)\n//\t}\n//\t// send email\n//\terr = sender.Send(message, []string{recipient})\n//\tif err != nil {\n//\t\treturn err\n//\t}\n//\t// record email log\n//\tmessageId = strings.Trim(messageId, \"<>\")\n//\t_, err = g.DB().Model(\"api_mail_logs\").Insert(g.Map{\n//\t\t\"api_id\":     apiTemplate.Id,\n//\t\t\"recipient\":  recipient,\n//\t\t\"message_id\": messageId,\n//\t\t\"addresser\":  addresser,\n//\t})\n//\tif err != nil {\n//\t\treturn err\n//\t}\n//\treturn nil\n//}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_api_overview_stats.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"database/sql\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) ApiOverviewStats(ctx context.Context, req *v1.ApiOverviewStatsReq) (res *v1.ApiOverviewStatsRes, err error) {\n\tres = &v1.ApiOverviewStatsRes{}\n\n\t// query all API templates\n\tapiList := []struct {\n\t\tId         int\n\t\tCreateTime int\n\t}{}\n\terr = g.DB().Model(\"api_templates\").Fields(\"id, create_time\").Scan(&apiList)\n\tif err != nil && err != sql.ErrNoRows {\n\t\treturn nil, err\n\t}\n\n\tvar totalSend, totalDelivered, totalBounced, totalOpened, totalClicked int\n\n\tfor _, api := range apiList {\n\n\t\tquery := g.DB().Model(\"api_mail_logs aml\")\n\t\tquery = query.LeftJoin(\"mailstat_message_ids mi\", \"aml.message_id=mi.message_id\")\n\t\tquery = query.LeftJoin(\"mailstat_send_mails sm\", \"mi.postfix_message_id=sm.postfix_message_id\")\n\t\tquery = query.Where(\"aml.api_id\", api.Id)\n\n\t\tquery = query.Where(\"aml.status\", 2)\n\n\t\tif req.StartTime > 0 {\n\t\t\tquery.Where(\"sm.log_time_millis > ?\", int64(req.StartTime)*1000-1)\n\t\t}\n\t\tif req.EndTime > 0 {\n\t\t\tquery.Where(\"sm.log_time_millis < ?\", int64(req.EndTime)*1000+1)\n\t\t}\n\t\tquery.Fields(\n\t\t\t\"count(*) as sends\",\n\t\t\t\"coalesce(sum(case when sm.status='sent' and sm.dsn like '2.%' then 1 else 0 end), 0) as delivered\",\n\t\t\t\"coalesce(sum(case when sm.status='bounced' then 1 else 0 end), 0) as bounced\",\n\t\t)\n\t\tresult, _ := query.One()\n\t\tsends := result[\"sends\"].Int()\n\t\tdelivered := result[\"delivered\"].Int()\n\t\tbounced := result[\"bounced\"].Int()\n\t\ttotalSend += sends\n\t\ttotalDelivered += delivered\n\t\ttotalBounced += bounced\n\n\t\t// 统计打开、点击\n\t\tapiCampaignId := api.Id + 1000000000\n\t\topenedCount, _ := g.DB().Model(\"mailstat_opened\").\n\t\t\tWhere(\"campaign_id\", apiCampaignId).\n\t\t\tWhereGTE(\"log_time_millis\", int64(req.StartTime)*1000).\n\t\t\tWhereLTE(\"log_time_millis\", int64(req.EndTime)*1000).\n\t\t\tFields(\"count(distinct postfix_message_id) as opened\").\n\t\t\tValue()\n\t\tclickedCount, _ := g.DB().Model(\"mailstat_clicked\").\n\t\t\tWhere(\"campaign_id\", apiCampaignId).\n\t\t\tWhereGTE(\"log_time_millis\", int64(req.StartTime)*1000).\n\t\t\tWhereLTE(\"log_time_millis\", int64(req.EndTime)*1000).\n\t\t\tFields(\"count(distinct postfix_message_id) as clicked\").\n\t\t\tValue()\n\t\ttotalOpened += openedCount.Int()\n\t\ttotalClicked += clickedCount.Int()\n\n\t\t//// count unsubscribe\n\t\t//recipients := []string{}\n\t\t//_, _ = g.DB().Model(\"api_mail_logs\").Where(\"api_id\", api.Id).Fields(\"recipient,api_id\").Array(&recipients)\n\t\t//unsubscribeCount := 0\n\t\t//if len(recipients) > 0 {\n\t\t//\tunsubscribeCount, _ = g.DB().Model(\"bm_contacts\").\n\t\t//\t\tWhere(\"email\", recipients).\n\t\t//\t\tWhere(\"active\", 0).\n\t\t//\t\tWhereGTE(\"create_time\", api.CreateTime).\n\t\t//\t\tCount()\n\t\t//}\n\t\t//totalUnsub += unsubscribeCount\n\t}\n\n\tvar avgDeliveryRate, avgOpenRate, avgClickRate, avgBounceRate float64\n\tif totalSend > 0 {\n\t\tavgDeliveryRate = public.Round(float64(totalDelivered)/float64(totalSend)*100, 2)\n\t\tavgOpenRate = public.Round(float64(totalOpened)/float64(totalSend)*100, 2)\n\t\tavgClickRate = public.Round(float64(totalClicked)/float64(totalSend)*100, 2)\n\t\tavgBounceRate = public.Round(float64(totalBounced)/float64(totalSend)*100, 2)\n\t\t//avgUnsubRate = public.Round(float64(totalUnsub)/float64(totalSend)*100, 2)\n\t}\n\tres.Data = v1.ApiSummaryStats{\n\t\tTotalSend:       totalSend,\n\t\tAvgDeliveryRate: avgDeliveryRate,\n\t\tAvgOpenRate:     avgOpenRate,\n\t\tAvgClickRate:    avgClickRate,\n\t\tAvgBounceRate:   avgBounceRate,\n\t\t//AvgUnsubRate:    avgUnsubRate,\n\t\t//TotalUnsubscribe: totalUnsub,\n\t}\n\tres.SetSuccess(public.LangCtx(ctx, \"Statistics successful\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_api_templates_create.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"crypto/rand\"\n\t\"encoding/hex\"\n\t\"net\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc generateApiKey() (string, error) {\n\tbytes := make([]byte, 32)\n\tif _, err := rand.Read(bytes); err != nil {\n\t\treturn \"\", err\n\t}\n\treturn hex.EncodeToString(bytes), nil\n}\n\nfunc (c *ControllerV1) ApiTemplatesCreate(ctx context.Context, req *v1.ApiTemplatesCreateReq) (res *v1.ApiTemplatesCreateRes, err error) {\n\tres = &v1.ApiTemplatesCreateRes{}\n\n\t// check if template exists\n\tcount, err := g.DB().Model(\"email_templates\").Where(\"id\", req.TemplateId).Count()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif count == 0 {\n\t\treturn nil, gerror.New(public.LangCtx(ctx, \"Email template does not exist\"))\n\t}\n\n\t// generate API key\n\tapiKey, err := generateApiKey()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\ttx, err := g.DB().Begin(ctx)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer func() {\n\t\tif err != nil {\n\t\t\ttx.Rollback()\n\t\t}\n\t}()\n\n\t// create API template\n\tresult, err := tx.Model(\"api_templates\").Insert(g.Map{\n\t\t\"api_key\":              apiKey,\n\t\t\"api_name\":             req.ApiName,\n\t\t\"template_id\":          req.TemplateId,\n\t\t\"group_id\":             req.GroupId,\n\t\t\"subject\":              req.Subject,\n\t\t\"addresser\":            req.Addresser,\n\t\t\"full_name\":            req.FullName,\n\t\t\"unsubscribe\":          req.Unsubscribe,\n\t\t\"track_open\":           req.TrackOpen,\n\t\t\"track_click\":          req.TrackClick,\n\t\t\"active\":               req.Active,\n\t\t\"expire_time\":          0,\n\t\t\"last_key_update_time\": time.Now().Unix(),\n\t})\n\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tapiId, err := result.LastInsertId()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif len(req.IpWhitelist) > 0 {\n\t\tnow := time.Now().Unix()\n\t\tfor _, ip := range req.IpWhitelist {\n\t\t\tip = strings.TrimSpace(ip)\n\t\t\tif ip == \"\" {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif net.ParseIP(ip) == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t_, err = tx.Model(\"api_ip_whitelist\").Insert(g.Map{\n\t\t\t\t\"api_id\":      apiId,\n\t\t\t\t\"ip\":          strings.TrimSpace(ip),\n\t\t\t\t\"create_time\": now,\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t}\n\n\tif err = tx.Commit(); err != nil {\n\t\treturn nil, err\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.SendAPI,\n\t\tLog:  \"Create API template :\" + req.ApiName + \" successfully\",\n\t\tData: req,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Create API successfully\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_api_templates_delete.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) ApiTemplatesDelete(ctx context.Context, req *v1.ApiTemplatesDeleteReq) (res *v1.ApiTemplatesDeleteRes, err error) {\n\tres = &v1.ApiTemplatesDeleteRes{}\n\n\t// verify if API exists\n\tcount, err := g.DB().Model(\"api_templates\").Where(\"id\", req.ID).Count()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif count == 0 {\n\t\treturn nil, gerror.New(public.LangCtx(ctx, \"API does not exist\"))\n\t}\n\n\t// start transaction\n\tvar apiTemplate entity.ApiTemplates\n\t_ = g.DB().Model(\"api_templates\").Where(\"id\", req.ID).Scan(&apiTemplate)\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\t\t// delete API related send logs\n\t\t_, err = tx.Model(\"api_mail_logs\").Where(\"api_id\", req.ID).Delete()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// delete API template\n\t\t_, err = tx.Model(\"api_templates\").Where(\"id\", req.ID).Delete()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.SendAPI,\n\t\tLog:  \"Delete API template :\" + apiTemplate.ApiName + \" successfully\",\n\t\tData: apiTemplate,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Delete API successfully\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_api_templates_list.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) ApiTemplatesList(ctx context.Context, req *v1.ApiTemplatesListReq) (res *v1.ApiTemplatesListRes, err error) {\n\tres = &v1.ApiTemplatesListRes{}\n\n\t// build query conditions\n\tmodel := g.DB().Model(\"api_templates\").Safe()\n\n\t// add api_name fuzzy search\n\tif req.Keyword != \"\" {\n\t\tmodel = model.WhereLike(\"api_name\", \"%\"+req.Keyword+\"%\")\n\t}\n\t// active filter\n\tif req.Active != -1 {\n\t\tmodel = model.Where(\"active\", req.Active)\n\t}\n\n\t//if req.StartTime > 0 && req.EndTime <= 0 {\n\t//\treq.EndTime = int(time.Now().Unix())\n\t//}\n\t//if req.StartTime > 0 {\n\t//\tmodel = model.WhereGTE(\"create_time\", req.StartTime)\n\t//}\n\t//if req.EndTime > 0 {\n\t//\tmodel = model.WhereLTE(\"create_time\", req.EndTime)\n\t//}\n\t// get total\n\ttotal, err := model.Count()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// query by page\n\tvar list []*v1.ApiTemplatesInfo\n\terr = model.Page(req.Page, req.PageSize).\n\t\tOrderDesc(\"id\").\n\t\tScan(&list)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tfor _, item := range list {\n\t\t// build base query\n\t\tquery := g.DB().Model(\"api_mail_logs aml\")\n\n\t\tquery = query.LeftJoin(\"mailstat_message_ids mi\", \"aml.message_id=mi.message_id\")\n\t\tquery = query.LeftJoin(\"mailstat_send_mails sm\", \"mi.postfix_message_id=sm.postfix_message_id\")\n\t\tquery = query.Where(\"aml.api_id\", item.Id)\n\t\tquery = query.Where(\"aml.status\", 2)\n\t\t//if req.StartTime > 0 {\n\t\t//\tquery.Where(\"sm.log_time_millis > ?\", req.StartTime*1000-1)\n\t\t//}\n\t\t//\n\t\t//if req.EndTime > 0 {\n\t\t//\tquery.Where(\"sm.log_time_millis < ?\", req.EndTime*1000+1)\n\t\t//}\n\n\t\t// count各项数据\n\t\tquery.Fields(\n\t\t\t\"count(*) as sends\",\n\t\t\t\"coalesce(sum(case when sm.status='sent' and sm.dsn like '2.%' then 1 else 0 end), 0) as delivered\",\n\t\t\t\"coalesce(sum(case when sm.status='bounced' then 1 else 0 end), 0) as bounced\",\n\t\t)\n\n\t\tresult, err := query.One()\n\t\tif err != nil {\n\t\t\t// g.Log().Error(ctx, \"Stats API failed to send data:\", err)\n\t\t\tcontinue\n\t\t}\n\n\t\titem.SendCount = result[\"sends\"].Int()\n\t\titem.SuccessCount = result[\"delivered\"].Int()\n\t\titem.FailCount = result[\"bounced\"].Int()\n\n\t\t// count opened, clicked (use campaign_id directly)\n\t\tapiCampaignId := item.Id + 1000000000\n\t\topenedCount, _ := g.DB().Model(\"mailstat_opened\").\n\t\t\tWhere(\"campaign_id\", apiCampaignId).\n\t\t\tWhereGTE(\"log_time_millis\", req.StartTime*1000).\n\t\t\tWhereLTE(\"log_time_millis\", req.EndTime*1000).\n\t\t\tFields(\"count(distinct postfix_message_id) as opened\").\n\t\t\tValue()\n\t\tclickedCount, _ := g.DB().Model(\"mailstat_clicked\").\n\t\t\tWhere(\"campaign_id\", apiCampaignId).\n\t\t\tWhereGTE(\"log_time_millis\", req.StartTime*1000).\n\t\t\tWhereLTE(\"log_time_millis\", req.EndTime*1000).\n\t\t\tFields(\"count(distinct postfix_message_id) as clicked\").\n\t\t\tValue()\n\n\t\tif item.SendCount > 0 {\n\t\t\titem.DeliveryRate = public.Round(float64(item.SuccessCount)/float64(item.SendCount)*100, 2)\n\t\t\titem.BounceRate = public.Round(float64(item.FailCount)/float64(item.SendCount)*100, 2)\n\t\t\titem.OpenRate = public.Round(float64(openedCount.Int())/float64(item.SendCount)*100, 2)\n\t\t\titem.ClickRate = public.Round(float64(clickedCount.Int())/float64(item.SendCount)*100, 2)\n\t\t} else {\n\t\t\titem.DeliveryRate = 0\n\t\t\titem.BounceRate = 0\n\t\t\titem.OpenRate = 0\n\t\t\titem.ClickRate = 0\n\t\t}\n\n\t\t// count unsubscribe\n\t\t//recipients := []string{}\n\t\t//_, err = g.DB().Model(\"api_mail_logs\").Where(\"api_id\", item.Id).Fields(\"recipient\").Array(&recipients)\n\t\t//unsubscribeCount := 0\n\t\t//if len(recipients) > 0 {\n\t\t//\tunsubscribeCount, _ = g.DB().Model(\"bm_contacts\").\n\t\t//\t\tWhere(\"email\", recipients).\n\t\t//\t\tWhere(\"active\", 0).\n\t\t//\t\tWhereGTE(\"create_time\", item.CreateTime).\n\t\t//\t\tCount()\n\t\t//}\n\t\t//item.UnsubscribeCount = unsubscribeCount\n\n\t\t// get IP whitelist\n\t\tvar ipRows []struct{ Ip string }\n\t\terr = g.DB().Model(\"api_ip_whitelist\").\n\t\t\tWhere(\"api_id\", item.Id).\n\t\t\tFields(\"ip\").\n\t\t\tScan(&ipRows)\n\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Failed to get IP whitelist:\", err)\n\t\t\tcontinue\n\t\t}\n\t\tips := make([]string, 0, len(ipRows))\n\t\tfor _, row := range ipRows {\n\t\t\tips = append(ips, row.Ip)\n\t\t}\n\t\titem.IpWhitelist = ips\n\t\titem.ServerAddresser = domains.GetBaseURL() + \"/api/batch_mail/api/send\"\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = list\n\tres.SetSuccess(public.LangCtx(ctx, \"Get API list successfully\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_api_templates_update.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"net\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) ApiTemplatesUpdate(ctx context.Context, req *v1.ApiTemplatesUpdateReq) (res *v1.ApiTemplatesUpdateRes, err error) {\n\tres = &v1.ApiTemplatesUpdateRes{}\n\n\t// verify if API exists\n\n\tcount, err := g.DB().Model(\"api_templates\").Where(\"id\", req.ID).Count()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif count == 0 {\n\t\treturn nil, gerror.New(public.LangCtx(ctx, \"API does not exist\"))\n\t}\n\n\t// verify if template exists\n\tcount, err = g.DB().Model(\"email_templates\").Where(\"id\", req.TemplateId).Count()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif count == 0 {\n\t\treturn nil, gerror.New(public.LangCtx(ctx, \"Email template does not exist\"))\n\t}\n\n\ttx, err := g.DB().Begin(ctx)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer func() {\n\t\tif err != nil {\n\t\t\ttx.Rollback()\n\t\t}\n\t}()\n\n\t// current time\n\tnow := time.Now().Unix()\n\n\tupdateMap := g.Map{\n\t\t\"api_name\":    req.ApiName,\n\t\t\"template_id\": req.TemplateId,\n\t\t\"subject\":     req.Subject,\n\t\t\"addresser\":   req.Addresser,\n\t\t\"full_name\":   req.FullName,\n\t\t\"unsubscribe\": req.Unsubscribe,\n\t\t\"track_open\":  req.TrackOpen,\n\t\t\"track_click\": req.TrackClick,\n\t\t\"active\":      req.Active,\n\t\t\"expire_time\": req.ExpireTime,\n\t\t\"update_time\": now,\n\t\t\"group_id\":   req.GroupId,\n\t}\n\n\t_, err = tx.Model(\"api_templates\").\n\t\tWhere(\"id\", req.ID).\n\t\tUpdate(updateMap)\n\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// ip\n\t_, err = tx.Model(\"api_ip_whitelist\").\n\t\tWhere(\"api_id\", req.ID).\n\t\tDelete()\n\tif err != nil {\n\t\tg.Log().Errorf(ctx, \"[API Update] Failed to delete IP whitelist: %v\", err)\n\t\treturn nil, err\n\t}\n\n\tif len(req.IpWhitelist) > 0 {\n\t\tfor _, ip := range req.IpWhitelist {\n\t\t\tip = strings.TrimSpace(ip)\n\t\t\tif ip == \"\" {\n\t\t\t\tg.Log().Errorf(ctx, \"[API Templates Update] Empty IP address\")\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif net.ParseIP(ip) == nil {\n\t\t\t\tg.Log().Errorf(ctx, \"[API Templates Update] Invalid IP address: %s\", ip)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t_, err = tx.Model(\"api_ip_whitelist\").Insert(g.Map{\n\t\t\t\t\"api_id\":      req.ID,\n\t\t\t\t\"ip\":          strings.TrimSpace(ip),\n\t\t\t\t\"create_time\": now,\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t}\n\n\tif err = tx.Commit(); err != nil {\n\t\treturn nil, err\n\t}\n\tupdateMap[\"ip_whitelist\"] = req.IpWhitelist\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.SendAPI,\n\t\tLog:  \"Update API template :\" + req.ApiName + \" successfully\",\n\t\tData: updateMap,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Update API successfully\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_create_task.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/service/email_template\"\n)\n\nfunc (c *ControllerV1) CreateTask(ctx context.Context, req *v1.CreateTaskReq) (res *v1.CreateTaskRes, err error) {\n\tres = &v1.CreateTaskRes{}\n\n\tif err = validateCreateTaskRequest(req); err != nil {\n\t\tres.SetError(err)\n\t\treturn\n\t}\n\n\t// check template\n\ttemplate, err := email_template.GetTemplate(ctx, req.TemplateId)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get template\")))\n\t\treturn\n\t}\n\tif template == nil {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Template not found\")))\n\t\treturn\n\t}\n\n\taddType := 0\n\t// create task and import recipients\n\tres.Data.Id, err = batch_mail.CreateTaskWithRecipients(ctx, req, addType)\n\tif err != nil {\n\t\tres.SetError(err)\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Task,\n\t\tLog:  \"Create task :\" + req.Subject + \" successfully\",\n\t\tData: req,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Task created successfully\"))\n\treturn\n}\n\nfunc validateCreateTaskRequest(req *v1.CreateTaskReq) error {\n\n\tif req.GroupId <= 0 {\n\t\treturn gerror.New(\"Must select a contact group\")\n\t}\n\n\tif len(req.TagIds) > 0 {\n\t\tif req.TagLogic != \"\" && req.TagLogic != \"AND\" && req.TagLogic != \"OR\"  && req.TagLogic != \"NOT\" {\n\t\t\treturn gerror.New(\"Tag logic must be AND or OR or NOT\")\n\t\t}\n\n\t\tif req.TagLogic == \"\" {\n\t\t\treq.TagLogic = \"AND\"\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_delete_task.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) DeleteTask(ctx context.Context, req *v1.DeleteTaskReq) (res *v1.DeleteTaskRes, err error) {\n\tres = &v1.DeleteTaskRes{}\n\n\ttask, _ := batch_mail.GetTaskInfo(ctx, req.Id)\n\terr = batch_mail.DeleteTask(ctx, req.Id)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to delete task {}\", err.Error())))\n\t\treturn\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Task,\n\t\tLog:  \"Delete task :\" + task.Subject + \" successfully\",\n\t\tData: task,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Task deleted successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_get_task_mail_logs.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"time\"\n)\n\nfunc (c *ControllerV1) GetTaskMailLogs(ctx context.Context, req *v1.GetTaskMailLogsReq) (res *v1.GetTaskMailLogsRes, err error) {\n\tg.Log().Printf(ctx, \"Getting task log details, TaskId: %d, Status: %d\",\n\t\treq.TaskId, req.Status)\n\n\tres = &v1.GetTaskMailLogsRes{}\n\n\t// Verify task exists\n\ttaskInfo, err := batch_mail.GetTaskInfo(ctx, req.TaskId)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task information: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif taskInfo == nil || taskInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task not found: {}\", req.TaskId)))\n\t\treturn\n\t}\n\n\t// Build query conditions\n\tcondition := g.Map{\n\t\t\"ri.task_id\": req.TaskId,\n\t}\n\n\t// Filter by status\n\tif req.Status == 1 {\n\t\tcondition[\"sm.status\"] = \"sent\"\n\t\tcondition[\"sm.dsn LIKE\"] = \"2.%\"\n\t} else if req.Status == 0 {\n\t\t// Keep consistent with GetTaskSendingStats\n\t\tcondition[\"sm.status\"] = \"bounced\"\n\t}\n\n\tstartTime := int64(0)\n\n\tif taskInfo.StartTime > 0 {\n\t\tstartTime = int64(taskInfo.StartTime)\n\t} else {\n\t\tstartTime = time.Now().Add(-24 * time.Hour).Unix() // Default to last 24 hours\n\t}\n\n\tendTime := time.Now().Unix()\n\n\t// Set pagination\n\tif req.Page <= 0 {\n\t\treq.Page = 1\n\t}\n\tif req.PageSize <= 0 {\n\t\treq.PageSize = 20\n\t}\n\n\t// Build base query\n\tbaseQuery := g.DB().Model(\"mailstat_send_mails sm\")\n\tbaseQuery = baseQuery.LeftJoin(\"mailstat_message_ids mi\", \"sm.postfix_message_id=mi.postfix_message_id\")\n\tbaseQuery = baseQuery.LeftJoin(\"recipient_info ri\", \"mi.message_id=ri.message_id\")\n\n\t// Ensure valid joins\n\tbaseQuery.Where(\"mi.postfix_message_id IS NOT NULL\")\n\tbaseQuery.Where(\"ri.task_id IS NOT NULL\")\n\n\t// Add time range filters\n\tif startTime > 0 {\n\t\tbaseQuery.Where(\"sm.log_time_millis > ?\", startTime*1000-1) // Convert to milliseconds\n\t}\n\n\tif endTime > 0 {\n\t\tbaseQuery.Where(\"sm.log_time_millis < ?\", endTime*1000+1) // Convert to milliseconds\n\t}\n\n\t// Add domain filter\n\tif req.Domain != \"\" {\n\t\tbaseQuery.Where(\"sm.recipient LIKE ?\", \"%@\"+req.Domain)\n\t}\n\n\t// Apply conditions\n\tbaseQuery = baseQuery.Where(condition)\n\n\t// Get total count\n\tcount, err := baseQuery.Count()\n\tif err != nil {\n\t\tg.Log().Errorf(ctx, \"Failed to get log count: %v\", err)\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get log count: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tvar logs []*v1.TaskLogItem\n\terr = baseQuery.Fields(\n\t\t\"sm.postfix_message_id\",\n\t\t\"sm.status\",\n\t\t\"sm.recipient\", // Using sm.recipient directly instead of ri.recipient\n\t\t\"sm.mail_provider\",\n\t\t\"sm.delay\",\n\t\t\"sm.delays\",\n\t\t\"sm.dsn\",\n\t\t\"sm.relay\",\n\t\t\"sm.description\",\n\t\t\"sm.log_time\",\n\t).OrderDesc(\"sm.log_time_millis\").\n\t\tLimit((req.Page-1)*req.PageSize, req.PageSize).\n\t\tScan(&logs)\n\tif err != nil {\n\t\tg.Log().Errorf(ctx, \"Failed to query logs: %v\", err)\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to query logs: {}\", err.Error())))\n\t\treturn\n\t}\n\n\t// Build response\n\tres.Data.Total = count\n\tres.Data.List = make([]*v1.TaskLogItem, 0)\n\n\t// Convert to API response format\n\tfor _, log := range logs {\n\t\t//logTimeStr := time.Unix(log.LogTime, 0).Format(\"2006-01-02 15:04:05\")\n\n\t\tres.Data.List = append(res.Data.List, &v1.TaskLogItem{\n\t\t\tPostfixMessageId: log.PostfixMessageId,\n\t\t\tStatus:           log.Status,\n\t\t\tRecipient:        log.Recipient,\n\t\t\tMailProvider:     log.MailProvider,\n\t\t\tDelay:            log.Delay,\n\t\t\tDelays:           log.Delays,\n\t\t\tDsn:              log.Dsn,\n\t\t\tRelay:            log.Relay,\n\t\t\tDescription:      log.Description,\n\t\t\tLogTime:          log.LogTime,\n\t\t})\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Task mail logs retrieved successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_get_task_send_count.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"context\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/service/public\"\n)\n\n// GetTaskSendCount\nfunc (c *ControllerV1) GetTaskSendCount(ctx context.Context, req *v1.GetTaskSendCountReq) (res *v1.GetTaskSendCountRes, err error) {\n\tres = &v1.GetTaskSendCountRes{}\n\n\t// validate task id\n\tif req.TaskId <= 0 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Invalid task ID\")))\n\t\treturn\n\t}\n\n\t// query task info\n\ttaskInfo, err := batch_mail.GetTaskInfo(ctx, req.TaskId)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task information: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif taskInfo == nil || taskInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task not found: {}\", req.TaskId)))\n\t\treturn\n\t}\n\n\t// set time range\n\tstartTime := time.Now().Add(-24 * time.Hour).Unix() // default query last 24 hours\n\tif req.StartTime > 0 {\n\t\tstartTime = req.StartTime\n\t}\n\n\tendTime := time.Now().Unix()\n\tif req.EndTime > 0 {\n\t\tendTime = req.EndTime\n\t}\n\n\t// query send count per minute\n\ttype StatItem struct {\n\t\tMinute    int64 `json:\"minute\"`     // minute timestamp (rounded to the nearest minute)\n\t\tSendCount int   `json:\"send_count\"` // send count\n\t\tStartTime int64 `json:\"start_time\"` // start time of the minute\n\t\tEndTime   int64 `json:\"end_time\"`   // end time of the minute\n\t}\n\n\tvar statList []StatItem\n\n\t// SQL query, group by minute\n\n\terr = g.DB().Model(\"recipient_info\").\n\t\tWhere(\"task_id\", req.TaskId).\n\t\tWhere(\"is_sent\", 1).\n\t\tWhere(\"sent_time BETWEEN ? AND ?\", startTime, endTime).\n\t\tFields(\"(sent_time - (sent_time % 60)) AS minute, COUNT(1) AS send_count\"). // group by minute\n\t\tGroup(\"minute\").\n\t\tOrder(\"minute ASC\").\n\t\tScan(&statList)\n\n\tif err != nil {\n\t\tg.Log().Error(ctx, \"Error querying statistics: %v\", err)\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get statistics data\")))\n\t\treturn\n\t}\n\n\tfor i := range statList {\n\t\tstatList[i].StartTime = statList[i].Minute\n\t\tstatList[i].EndTime = statList[i].Minute + 60\n\t}\n\n\t// calculate send rate metrics\n\tvar totalSent int\n\tvar maxPerMinute int\n\tvar avgPerMinute float64\n\n\tif len(statList) > 0 {\n\t\tfor _, item := range statList {\n\t\t\ttotalSent += item.SendCount\n\t\t\tif item.SendCount > maxPerMinute {\n\t\t\t\tmaxPerMinute = item.SendCount\n\t\t\t}\n\t\t}\n\n\t\tavgPerMinute = float64(totalSent) / float64(len(statList))\n\t}\n\n\tres.Data = &v1.TaskSendCountData{\n\t\tTaskId:        req.TaskId,\n\t\tStartTime:     startTime,\n\t\tEndTime:       endTime,\n\t\tTotalSent:     totalSent,\n\t\tMaxPerMinute:  maxPerMinute,\n\t\tAvgPerMinute:  avgPerMinute,\n\t\tMinuteDetails: statList,\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Get task send count successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_get_user_groups.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) GetUserGroups(ctx context.Context, req *v1.GetUserGroupsReq) (res *v1.GetUserGroupsRes, err error) {\n\tres = &v1.GetUserGroupsRes{}\n\n\tvar groups []*v1.GroupInfo\n\terr = g.DB().Model(\"bm_contacts c\").\n\t\tLeftJoin(\"bm_contact_groups cg\", \"c.group_id = cg.id\").\n\t\tFields(\"cg.id, cg.name\").\n\t\tWhere(\"c.email\", req.Email).\n\t\tWhere(\"c.active\", 1).\n\t\tScan(&groups)\n\tif err != nil {\n\t\tres.SetError(gerror.New(\"Failed to get user groups: \" + err.Error()))\n\t\treturn\n\t}\n\n\tres.Data = groups\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_list_tasks.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) ListTasks(ctx context.Context, req *v1.ListTasksReq) (res *v1.ListTasksRes, err error) {\n\n\tres = &v1.ListTasksRes{}\n\n\ttotal, tasks, err := batch_mail.GetTasksWithPage(ctx, req.Page, req.PageSize, req.Keyword, req.Status)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task list {}\", err.Error())))\n\t\treturn\n\t}\n\n\ttask_list := make([]*v1.TaskDetail, len(tasks))\n\n\t// Collect all tag IDs and group IDs from all tasks for batch loading\n\tallTagIds := make(map[int]bool)\n\tallGroupIds := make(map[int]bool)\n\n\tfor _, task := range tasks {\n\t\t// Collect group IDs\n\t\tif task.GroupId > 0 {\n\t\t\tallGroupIds[task.GroupId] = true\n\t\t}\n\n\t\t// Collect tag IDs from TagIdsRaw field\n\t\tif task.TagIdsRaw != \"\" {\n\t\t\ttagIds := batch_mail.GetTaskTagIds(task.TagIdsRaw)\n\t\t\tfor _, tagId := range tagIds {\n\t\t\t\tallTagIds[tagId] = true\n\t\t\t}\n\t\t}\n\t}\n\n\t// Convert map keys to slices for batch loading\n\tvar tagIdsToFetch []int\n\tfor tagId := range allTagIds {\n\t\ttagIdsToFetch = append(tagIdsToFetch, tagId)\n\t}\n\n\tvar groupIdsToFetch []int\n\tfor groupId := range allGroupIds {\n\t\tgroupIdsToFetch = append(groupIdsToFetch, groupId)\n\t}\n\n\t// Batch load all tags\n\tvar allTags []v1.TagInfo\n\tif len(tagIdsToFetch) > 0 {\n\t\tallTags, err = batch_mail.GetTagsByIds(ctx, tagIdsToFetch)\n\t\tif err != nil {\n\t\t\tg.Log().Warningf(ctx, \"Failed to load tags: %v\", err)\n\t\t\tallTags = []v1.TagInfo{}\n\t\t}\n\t}\n\n\t// Batch load all group names\n\tvar groupNameMap map[int]string\n\tif len(groupIdsToFetch) > 0 {\n\t\tgroupNameMap, err = batch_mail.GetGroupsByIds(ctx, groupIdsToFetch)\n\t\tif err != nil {\n\t\t\tg.Log().Warningf(ctx, \"Failed to load group names: %v\", err)\n\t\t\tgroupNameMap = make(map[int]string)\n\t\t}\n\t} else {\n\t\tgroupNameMap = make(map[int]string)\n\t}\n\n\t// Create tag lookup map\n\ttagMap := make(map[int]v1.TagInfo)\n\tfor _, tag := range allTags {\n\t\ttagMap[tag.Id] = tag\n\t}\n\n\tfor i, task := range tasks {\n\t\tdetail := &v1.TaskDetail{\n\t\t\tEmailTask: *task,\n\t\t}\n\n\t\t// Set group name\n\t\tif groupName, exists := groupNameMap[task.GroupId]; exists {\n\t\t\tdetail.GroupName = groupName\n\t\t}\n\n\t\t// Load and populate tags for this task\n\t\tif task.TagIdsRaw != \"\" {\n\t\t\ttagIds := batch_mail.GetTaskTagIds(task.TagIdsRaw)\n\t\t\tdetail.Tags = make([]v1.TagInfo, 0, len(tagIds))\n\t\t\tfor _, tagId := range tagIds {\n\t\t\t\tif tag, exists := tagMap[tagId]; exists {\n\t\t\t\t\tdetail.Tags = append(detail.Tags, tag)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tdetail.Tags = []v1.TagInfo{}\n\t\t}\n\n\t\tdetail.SentCount = task.SendsCount\n\t\tdetail.SuccessCount = task.DeliveredCount\n\t\tdetail.Deferred = task.DeferredCount\n\t\tdetail.ErrorCount = task.BouncedCount + task.DeferredCount\n\n\t\tsentCount := detail.SentCount\n\n\t\tif task.RecipientCount <= 0 {\n\n\t\t\tactualCount, err := batch_mail.GetActualRecipientCount(ctx, task.Id)\n\t\t\tif err == nil && actualCount > 0 {\n\n\t\t\t\t_ = batch_mail.UpdateRecipientCount(ctx, task.Id, actualCount)\n\t\t\t\tdetail.RecipientCount = actualCount\n\t\t\t\ttask.RecipientCount = actualCount\n\t\t\t}\n\t\t}\n\n\t\t// Now calculate unsent_count with the corrected recipient_count\n\t\tif task.RecipientCount >= sentCount {\n\t\t\tdetail.UnsentCount = task.RecipientCount - sentCount\n\t\t} else {\n\t\t\t// If still inconsistent, set unsent count to 0\n\t\t\tdetail.UnsentCount = 0\n\t\t\tg.Log().Infof(ctx, \"Task %d has inconsistent data: recipient_count(%d) < sent_count(%d)\",\n\t\t\t\ttask.Id, task.RecipientCount, sentCount)\n\t\t}\n\n\t\tif task.RecipientCount > 0 {\n\t\t\tdetail.Progress = int(float64(sentCount) / float64(task.RecipientCount) * 100)\n\t\t\tif detail.Progress > 100 || detail.Progress >= 98 {\n\t\t\t\tdetail.Progress = 100\n\t\t\t}\n\t\t} else {\n\t\t\t// Default progress for tasks with no recipients\n\t\t\tdetail.Progress = 0\n\t\t}\n\n\t\ttask_list[i] = detail\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = task_list\n\tres.SetSuccess(public.LangCtx(ctx, \"Task list retrieved successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_pause_task.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\nfunc (c *ControllerV1) PauseTask(ctx context.Context, req *v1.PauseTaskReq) (res *v1.PauseTaskRes, err error) {\n\tres = &v1.PauseTaskRes{}\n\n\t// validate task info\n\ttaskInfo, err := batch_mail.GetTaskInfo(ctx, req.TaskId)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task information: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif taskInfo == nil || taskInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task not found: {}\", req.TaskId)))\n\t\treturn\n\t}\n\n\t// check task status, only running tasks can be paused\n\tif taskInfo.TaskProcess != 1 { // 1 represents running\n\t\tres.Code = 400\n\n\t\tvar statusText string\n\t\tswitch taskInfo.TaskProcess {\n\t\tcase 0:\n\t\t\tstatusText = \"not started\"\n\t\tcase 2:\n\t\t\tstatusText = \"already completed\"\n\t\tdefault:\n\t\t\tstatusText = \"in unknown state\"\n\t\t}\n\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Cannot pause task because it is {}\", statusText)))\n\t\treturn\n\t}\n\n\t// if task is already paused, return success directly\n\tif taskInfo.Pause == 1 {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Task is already paused\"))\n\t\treturn\n\t}\n\n\t// get task executor\n\texecutor := batch_mail.GetTaskExecutor(req.TaskId)\n\tif executor == nil {\n\t\t// no active executor, update database status directly\n\t\tif err := batch_mail.UpdateTaskPauseStatus(ctx, req.TaskId, true); err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to pause task: {}\", err.Error())))\n\t\t\treturn nil, err\n\t\t}\n\t} else {\n\t\t// pause task through executor\n\t\tif err := executor.PauseTask(req.TaskId); err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to pause task: {}\", err.Error())))\n\t\t\treturn nil, err\n\t\t}\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Task,\n\t\tLog:  \"Pause Task :\" + taskInfo.Subject + \" successfully\",\n\t\tData: taskInfo,\n\t})\n\tres.SetSuccess(public.LangCtx(ctx, \"Task paused successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_resume_task.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) ResumeTask(ctx context.Context, req *v1.ResumeTaskReq) (res *v1.ResumeTaskRes, err error) {\n\tres = &v1.ResumeTaskRes{}\n\n\t// validate task info\n\ttaskInfo, err := batch_mail.GetTaskInfo(ctx, req.TaskId)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task information: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif taskInfo == nil || taskInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task not found: {}\", req.TaskId)))\n\t\treturn\n\t}\n\n\t// check task status, only paused or running tasks can be resumed\n\tif taskInfo.TaskProcess != 1 && taskInfo.TaskProcess != 3 { // 1=running, 3=paused\n\t\tres.Code = 400\n\n\t\tvar statusText string\n\t\tswitch taskInfo.TaskProcess {\n\t\tcase 0:\n\t\t\tstatusText = \"not started\"\n\t\tcase 2:\n\t\t\tstatusText = \"already completed\"\n\t\tdefault:\n\t\t\tstatusText = \"in unknown state\"\n\t\t}\n\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Cannot resume task because it is {}\", statusText)))\n\t\treturn\n\t}\n\n\t// if task is not paused, return success directly\n\tif taskInfo.Pause == 0 {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Task is already running\"))\n\t\treturn\n\t}\n\n\t// get task executor\n\texecutor := batch_mail.GetTaskExecutor(req.TaskId)\n\tif executor == nil {\n\t\t// no active executor, update database status directly\n\t\tif err := batch_mail.UpdateTaskPauseStatus(ctx, req.TaskId, false); err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to resume task: {}\", err.Error())))\n\t\t\treturn nil, err\n\t\t}\n\n\t\t// trigger new task processing\n\t\tgo func() {\n\t\t\t// create new executor and process task\n\t\t\tnewExecutor := batch_mail.GetOrCreateTaskExecutor(context.Background(), req.TaskId)\n\t\t\tbatch_mail.RegisterTaskExecutor(req.TaskId, newExecutor)\n\t\t\tif err := newExecutor.ProcessTask(context.Background()); err != nil {\n\t\t\t\tg.Log().Error(context.Background(), \"Failed to process resumed task: %v\", err)\n\t\t\t}\n\t\t}()\n\t} else {\n\t\t// resume task through executor\n\t\tif err := executor.ResumeTask(req.TaskId); err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to resume task: {}\", err.Error())))\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Task,\n\t\tLog:  \"Resumed Task :\" + taskInfo.Subject + \" successfully\",\n\t\tData: taskInfo,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Task resumed successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_send_test_email.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/mail_service\"\n\t\"database/sql\"\n\t\"strings\"\n\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) SendTestEmail(ctx context.Context, req *v1.SendTestEmailReq) (res *v1.SendTestEmailRes, err error) {\n\n\tres = &v1.SendTestEmailRes{}\n\tsender, err := mail_service.NewEmailSenderWithLocal(req.Addresser)\n\tif err != nil {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"create email sender failed: : {}\", err.Error())))\n\t\treturn\n\t}\n\tdefer sender.Close()\n\n\tvar template entity.EmailTemplate\n\n\terr = g.DB().Model(\"email_templates\").\n\t\tWhere(\"id\", req.TemplateId).\n\t\tScan(&template)\n\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"failed to get template {}\", err)))\n\t\treturn\n\t}\n\n\tif !strings.Contains(template.Content, \"{{ UnsubscribeURL . }}\") {\n\t\ttemplate.Content = public.AddUnsubscribeButton(template.Content)\n\t}\n\n\tcontent := strings.ReplaceAll(template.Content, \"__UNSUBSCRIBE_URL__\", \"{{ UnsubscribeURL . }}\")\n\n\tjwtToken, _ := batch_mail.GenerateUnsubscribeJWT(req.Recipient, req.TemplateId, 0, 0)\n\tdomain := domains.GetBaseURL()\n\tunsubscribeURL := fmt.Sprintf(\"%s/api/unsubscribe\", domain)\n\tgroupURL := fmt.Sprintf(\"%s/api/unsubscribe/user_group\", domain)\n\tunsubscribeJumpURL := fmt.Sprintf(\"%s/unsubscribe.html?jwt=%s&email=%s&url_type=%s&url_unsubscribe=%s\",\n\t\tdomain, jwtToken, req.Recipient, groupURL, unsubscribeURL)\n\n\tvar contact entity.Contact\n\tsubject := req.Subject\n\terr = g.DB().Model(\"bm_contacts\").Where(\"email\", req.Recipient).Scan(&contact)\n\tif err != nil && err != sql.ErrNoRows {\n\t\tg.Log().Error(ctx, \"Failed to get contact: %v\", err)\n\t}\n\tif contact.Id != 0 {\n\t\tengine := batch_mail.GetTemplateEngine()\n\t\tcontent, err = engine.RenderEmailTemplate(ctx, content, &contact, nil, unsubscribeJumpURL)\n\t\tif err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"failed to render email content: {}\", err)))\n\t\t\treturn\n\t\t}\n\n\t\tsubject, err = engine.RenderEmailTemplate(ctx, subject, &contact, nil, unsubscribeJumpURL)\n\t\tif err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"failed to render email subject: {}\", err)))\n\t\t\treturn\n\t\t}\n\t}\n\n\tmessage := mail_service.NewMessage(subject, content)\n\tmessage.SetMessageID(sender.GenerateMessageID())\n\n\t// send email\n\terr = sender.Send(message, []string{req.Recipient})\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"send email to {} failed: {}\", req.Recipient, err)))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Task,\n\t\tLog:  \"Send test email :\" + subject + \"to\" + req.Recipient + \" successfully\",\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"send email successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_task_info.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"encoding/json\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) TaskInfo(ctx context.Context, req *v1.TaskInfoReq) (res *v1.TaskInfoRes, err error) {\n\tres = &v1.TaskInfoRes{}\n\n\tvar taskInfo *entity.EmailTask\n\ttaskInfo, err = batch_mail.GetTaskInfo(ctx, req.Id)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task info: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif taskInfo == nil || taskInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task not found: {}\", req.Id)))\n\t\treturn\n\t}\n\n\t// Convert tag_ids string to array before returning\n\tif taskInfo.TagIdsRaw != \"\" {\n\t\tvar tagIds []int\n\t\tif err := json.Unmarshal([]byte(taskInfo.TagIdsRaw), &tagIds); err == nil {\n\t\t\ttaskInfo.TagIds = tagIds\n\t\t}\n\t}\n\n\tres.Data = taskInfo\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_task_mail_provider_stat.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) TaskMailProviderStat(ctx context.Context, req *v1.TaskMailProviderStatReq) (res *v1.TaskMailProviderStatRes, err error) {\n\tg.Log().Printf(ctx, \"get task mail provider stat, TaskId: %d, Status: %s\",\n\t\treq.TaskId, req.Status)\n\n\tres = &v1.TaskMailProviderStatRes{}\n\n\t// validate task info\n\ttaskInfo, err := batch_mail.GetTaskInfo(ctx, req.TaskId)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task information: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif taskInfo == nil || taskInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task not found: {}\", req.TaskId)))\n\t\treturn\n\t}\n\n\tdomainStats, err := calculateDomainStats(ctx, req.TaskId, req.Status)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to calculate domain stats: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tres.Data = domainStats\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\n\treturn\n}\n\nfunc calculateDomainStats(ctx context.Context, taskId int, status int) ([]map[string]interface{}, error) {\n\t// build basic query\n\tquery := g.DB().Model(\"mailstat_send_mails sm\")\n\tquery = query.LeftJoin(\"mailstat_message_ids mi\", \"sm.postfix_message_id=mi.postfix_message_id\")\n\tquery = query.LeftJoin(\"recipient_info ri\", \"mi.message_id=ri.message_id\")\n\tquery = query.Where(\"ri.task_id\", taskId)\n\n\t// add filter conditions based on status\n\tif status == 1 {\n\t\tquery = query.Where(\"sm.status = 'sent' AND sm.dsn LIKE '2.%'\")\n\t} else if status == 0 {\n\t\tquery = query.Where(\"sm.status = 'bounced'\")\n\t}\n\n\t// calculate the number of emails for each recipient domain\n\tvar results []struct {\n\t\tDomain string `json:\"domain\"`\n\t\tCount  int    `json:\"count\"`\n\t}\n\n\t// extract domain from recipient field and count\n\terr := query.Fields(\"SUBSTRING(ri.recipient FROM POSITION('@' IN ri.recipient) + 1) as domain, COUNT(*) as count\").Group(\"domain\").Order(\"count DESC\").Scan(&results)\n\n\tif err != nil {\n\t\treturn nil, gerror.Newf(\"Failed to calculate domain stats: %v\", err)\n\t}\n\n\tdomainStats := make([]map[string]interface{}, 0, len(results))\n\tfor _, result := range results {\n\t\tif result.Domain != \"\" {\n\t\t\tdomainStats = append(domainStats, map[string]interface{}{\n\t\t\t\t\"domain\": result.Domain,\n\t\t\t\t\"count\":  result.Count,\n\t\t\t})\n\t\t}\n\t}\n\n\treturn domainStats, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_task_overview.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"time\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) TaskOverview(ctx context.Context, req *v1.TaskOverviewReq) (res *v1.TaskOverviewRes, err error) {\n\tres = &v1.TaskOverviewRes{}\n\n\tstartTime := req.StartTime\n\tendTime := req.EndTime\n\tif startTime > 0 && endTime < 0 {\n\t\tendTime = int(time.Now().Unix())\n\t}\n\n\tquery := g.DB().Model(\"mailstat_send_mails\")\n\tif startTime > 0 {\n\t\tquery = query.Where(\"log_time_millis > ?\", startTime*1000-1)\n\t}\n\tif endTime > 0 {\n\t\tquery = query.Where(\"log_time_millis < ?\", endTime*1000+1)\n\t}\n\tquery = query.Fields(\n\t\t\"count(*) as sends\",\n\t\t\"coalesce(sum(case when status='sent' and dsn like '2.%' then 1 else 0 end), 0) as delivered\",\n\t\t\"coalesce(sum(case when status='bounced' then 1 else 0 end), 0) as bounced\",\n\t)\n\tresult, err := query.One()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tsends := result[\"sends\"].Int()\n\tdelivered := result[\"delivered\"].Int()\n\tbounced := result[\"bounced\"].Int()\n\n\topenedCount, _ := g.DB().Model(\"mailstat_opened\").\n\t\tWhereGTE(\"log_time_millis\", startTime*1000).\n\t\tWhereLTE(\"log_time_millis\", endTime*1000).\n\t\tFields(\"count(distinct postfix_message_id) as opened\").\n\t\tValue()\n\tclickedCount, _ := g.DB().Model(\"mailstat_clicked\").\n\t\tWhereGTE(\"log_time_millis\", startTime*1000).\n\t\tWhereLTE(\"log_time_millis\", endTime*1000).\n\t\tFields(\"count(distinct postfix_message_id) as clicked\").\n\t\tValue()\n\n\tvar deliveryRate, bounceRate, openRate, clickRate float64\n\tif sends > 0 {\n\t\tdeliveryRate = public.Round(float64(delivered)/float64(sends)*100, 2)\n\t\tbounceRate = public.Round(float64(bounced)/float64(sends)*100, 2)\n\t\topenRate = public.Round(float64(openedCount.Int())/float64(sends)*100, 2)\n\t\tclickRate = public.Round(float64(clickedCount.Int())/float64(sends)*100, 2)\n\t}\n\n\tres.Data.Sends = sends\n\tres.Data.Delivered = delivered\n\tres.Data.Bounced = bounced\n\tres.Data.Opened = openedCount.Int()\n\tres.Data.Clicked = clickedCount.Int()\n\tres.Data.DeliveryRate = deliveryRate\n\tres.Data.BounceRate = bounceRate\n\tres.Data.OpenRate = openRate\n\tres.Data.ClickRate = clickRate\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_task_stat_chart.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/maillog_stat\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/v2/util/gconv\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) TaskStatChart(ctx context.Context, req *v1.TaskStatChartReq) (res *v1.TaskStatChartRes, err error) {\n\tres = &v1.TaskStatChartRes{}\n\n\ttaskInfo, err := batch_mail.GetTaskInfo(ctx, int(req.TaskId))\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task information: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif taskInfo == nil || taskInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task not found: {}\", req.TaskId)))\n\t\treturn\n\t}\n\n\t// reuse the maillog_stat service to get the overview\n\toverview := maillog_stat.NewOverview()\n\toverviewMap := overview.Overview(req.TaskId, req.Domain, req.StartTime, req.EndTime)\n\n\terr = gconv.Struct(overviewMap, &res.Data)\n\n\tif err != nil {\n\t\terr = fmt.Errorf(\"failed to convert overview data: %v\", err)\n\t\treturn\n\t}\n\n\t//statService := batch_mail.NewTaskStatService()\n\t//\n\t//chartData := statService.GetTaskStatChart(req.TaskId, req.Domain, req.StartTime, req.EndTime)\n\t//\n\t//res.Data.Dashboard = chartData[\"dashboard\"]\n\t//res.Data.MailProviders = chartData[\"mail_providers\"]\n\t//res.Data.SendMailChart = chartData[\"send_mail_chart\"]\n\t//res.Data.BounceRateChart = chartData[\"bounce_rate_chart\"]\n\t//res.Data.OpenRateChart = chartData[\"open_rate_chart\"]\n\t//res.Data.ClickRateChart = chartData[\"click_rate_chart\"]\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Task statistics retrieved successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_unsubscribe.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/contact_activity\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"time\"\n)\n\nfunc (c *ControllerV1) Unsubscribe(ctx context.Context, req *v1.UnsubscribeReq) (res *v1.UnsubscribeRes, err error) {\n\tres = &v1.UnsubscribeRes{}\n\n\t// Parse JWT token to get user information\n\tclaims, err := batch_mail.ParseUnsubscribeJWT(req.Jwt)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Invalid token\")))\n\t\treturn\n\t}\n\n\t// Log the unsubscribe request\n\tg.Log().Info(ctx, \"Unsubscribe request received - Email: %s, Template: %d, Task: %d, Groups: %v\",\n\t\tclaims.Email, claims.TemplateId, claims.TaskId, req.GroupId)\n\n\t// Input validation\n\tif claims.Email == \"\" {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Email address is required\")))\n\t\treturn\n\t}\n\n\tif len(req.GroupId) == 0 {\n\t\tg.Log().Debugf(ctx, \"No group IDs provided for unsubscribe - Email: %s\", claims.Email)\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No group IDs provided for unsubscribe\")))\n\t\treturn\n\t}\n\n\t// Begin transaction to ensure data consistency\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\t\t// 1. Update contact status to inactive (unsubscribed)\n\t\tfor _, groupId := range req.GroupId {\n\t\t\tresult, err := tx.Model(\"bm_contacts\").\n\t\t\t\tWhere(\"email\", claims.Email).\n\t\t\t\tWhere(\"group_id\", groupId).\n\t\t\t\tData(g.Map{\"active\": 0}).\n\t\t\t\tUpdate()\n\n\t\t\t// Update contact activity when user unsubscribes (user interaction)\n\t\t\tcontact_activity.UpdateActivityByEmailAndGroup(claims.Email, groupId)\n\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Error(ctx, \"Failed to update contact status: %v\", err)\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\taffected, _ := result.RowsAffected()\n\t\t\tif affected == 0 {\n\t\t\t\tg.Log().Warning(ctx, \"No contact record found for email: %s in group: %d\", claims.Email, groupId)\n\n\t\t\t}\n\t\t}\n\n\t\tfor _, groupId := range req.GroupId {\n\t\t\t_, err = tx.Model(\"unsubscribe_records\").InsertIgnore(g.Map{\n\t\t\t\t\"email\":            claims.Email,\n\t\t\t\t\"group_id\":         groupId,\n\t\t\t\t\"template_id\":      claims.TemplateId,\n\t\t\t\t\"task_id\":          claims.TaskId,\n\t\t\t\t\"unsubscribe_time\": time.Now().Unix(),\n\t\t\t})\n\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Error(ctx, \"Failed to record unsubscribe: %v\", err)\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t}\n\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Email address is required\")))\n\t\treturn\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"You have been successfully unsubscribed\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_unsubscribe_new.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/controller/subscribe_list\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/contact_activity\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/os/gtimer\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"strings\"\n\t\"time\"\n)\n\nfunc (c *ControllerV1) UnsubscribeNew(ctx context.Context, req *v1.UnsubscribeNewReq) (res *v1.UnsubscribeNewRes, err error) {\n\tres = &v1.UnsubscribeNewRes{}\n\n\tclaims, err := batch_mail.ParseUnsubscribeJWT(req.Jwt)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Invalid token\")))\n\t\treturn\n\t}\n\n\tg.Log().Info(ctx, \"UnsubscribeNew request - Email: %s, Template: %d, Task: %d, GroupId: %d\",\n\t\tclaims.Email, claims.TemplateId, claims.TaskId, claims.GroupId)\n\n\tif claims.Email == \"\" {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Email address is required\")))\n\t\treturn\n\t}\n\n\tif claims.GroupId <= 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Invalid group information\")))\n\t\treturn\n\t}\n\n\tvar groupInfo entity.ContactGroup\n\n\terr = g.DB().Model(\"bm_contact_groups\").\n\t\tWhere(\"id\", claims.GroupId).\n\t\tScan(&groupInfo)\n\tif err != nil {\n\t\tg.Log().Error(ctx, \"Failed to get group info: %v\", err)\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get group information\")))\n\t\treturn\n\t}\n\n\t// Update contact activity when user accesses unsubscribe page (user interaction)\n\tcontact_activity.UpdateActivityByEmailAndGroup(claims.Email, claims.GroupId)\n\n\tif groupInfo.Id == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Group not found\")))\n\t\treturn\n\t}\n\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\n\t\tresult, err := tx.Model(\"bm_contacts\").\n\t\t\tWhere(\"email\", claims.Email).\n\t\t\tWhere(\"group_id\", claims.GroupId).\n\t\t\tData(g.Map{\"active\": 0}).\n\t\t\tUpdate()\n\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Failed to update contact status: %v\", err)\n\t\t\treturn err\n\t\t}\n\n\t\taffected, _ := result.RowsAffected()\n\t\tif affected == 0 {\n\t\t\tg.Log().Warning(ctx, \"No contact record found for email: %s in group: %d\", claims.Email, claims.GroupId)\n\t\t}\n\n\t\t_, err = tx.Model(\"unsubscribe_records\").InsertIgnore(g.Map{\n\t\t\t\"email\":            claims.Email,\n\t\t\t\"group_id\":         claims.GroupId,\n\t\t\t\"template_id\":      claims.TemplateId,\n\t\t\t\"task_id\":          claims.TaskId,\n\t\t\t\"unsubscribe_time\": time.Now().Unix(),\n\t\t})\n\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Failed to record unsubscribe: %v\", err)\n\t\t\treturn err\n\t\t}\n\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to process unsubscribe request\")))\n\t\treturn\n\t}\n\n\thostUrl := domains.GetBaseURL()\n\n\tif groupInfo.SendUnsubscribeEmail == 1 {\n\t\tif groupInfo.UnsubscribeMailHtml == \"\" {\n\t\t\t//groupInfo.UnsubscribeMailHtml, _ = readTemplateUnsubscribeFiles()\n\t\t\tgroupInfo.UnsubscribeMailHtml, _ = subscribe_list.GetDefaultTemplate(3)\n\t\t}\n\t\tif groupInfo.UnsubscribeSubject == \"\" {\n\t\t\tgroupInfo.UnsubscribeSubject = \"You're unsubscribed\"\n\t\t}\n\n\t\tif strings.Contains(groupInfo.UnsubscribeMailHtml, \"{{ ResubscribeLink . }}\") {\n\n\t\t\tconfirmToken := subscribe_list.GenerateConfirmToken(claims.Email, groupInfo.Token)\n\t\t\tsubscribeURL := fmt.Sprintf(\"%s/api/subscribe/confirm?token=%s&email=%s\", hostUrl, confirmToken, claims.Email)\n\t\t\tgroupInfo.UnsubscribeMailHtml = strings.ReplaceAll(groupInfo.UnsubscribeMailHtml, \"{{ ResubscribeLink . }}\", subscribeURL)\n\t\t}\n\n\t\tgtimer.AddOnce(500*time.Millisecond, func() {\n\t\t\terr = subscribe_list.SendMail(ctx, groupInfo.UnsubscribeMailHtml, claims.Email, groupInfo.UnsubscribeSubject, \"\")\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Error(ctx, \"Failed to send welcome email: {}\", err)\n\t\t\t\treturn\n\t\t\t}\n\t\t})\n\t}\n\n\tres.Data = v1.UnsubscribeResult{\n\t\tEmail:       claims.Email,\n\t\tGroupName:   groupInfo.Name,\n\t\tRedirectUrl: groupInfo.UnsubscribeRedirectUrl,\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"You have been successfully unsubscribed\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_update_task_info.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/batch_mail/v1\"\n)\n\nfunc (c *ControllerV1) UpdateTaskInfo(ctx context.Context, req *v1.UpdateTaskInfoReq) (res *v1.UpdateTaskInfoRes, err error) {\n\n\tres = &v1.UpdateTaskInfoRes{}\n\n\tvar task struct {\n\t\tId          int `json:\"id\"`\n\t\tTaskProcess int `json:\"task_process\"`\n\t\tPause       int `json:\"pause\"`\n\t}\n\n\terr = g.DB().Model(\"email_tasks\").\n\t\tFields(\"id, task_process, pause\").\n\t\tWhere(\"id\", req.TaskId).\n\t\tScan(&task)\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Query task failed: {}\", err.Error())))\n\t\treturn nil, err\n\t}\n\n\tif task.Id == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The task does not exist.\")))\n\t\treturn\n\t}\n\n\texecutor := batch_mail.GetTaskExecutor(req.TaskId)\n\tif executor != nil && executor.IsRunning() && task.Pause == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The task is currently running. Please pause the task first.\")))\n\t\treturn\n\t}\n\tupdateData := map[string]interface{}{}\n\t// 0 or 1 fields\n\tif req.Unsubscribe == 0 || req.Unsubscribe == 1 {\n\t\tupdateData[\"unsubscribe\"] = req.Unsubscribe\n\t}\n\tif req.Warmup == 0 || req.Warmup == 1 {\n\t\tupdateData[\"warmup\"] = req.Warmup\n\t}\n\n\tif req.Addresser != \"\" {\n\t\tupdateData[\"addresser\"] = req.Addresser\n\t}\n\tif req.Subject != \"\" {\n\t\tupdateData[\"subject\"] = req.Subject\n\t}\n\tif req.FullName != \"\" {\n\t\tupdateData[\"full_name\"] = req.FullName\n\t}\n\n\tif req.Remark != \"\" {\n\t\tupdateData[\"remark\"] = req.Remark\n\t}\n\tif req.TemplateId > 0 {\n\t\tupdateData[\"template_id\"] = req.TemplateId\n\t}\n\tif req.Threads > 0 {\n\t\tupdateData[\"threads\"] = req.Threads\n\t}\n\tif req.StartTime > 0 {\n\t\tupdateData[\"start_time\"] = req.StartTime\n\t}\n\n\tif len(req.TagIds) > 0 {\n\t\tupdateData[\"tag_ids\"] = req.TagIds\n\t}\n\tif req.TagLogic == \"AND\" || req.TagLogic == \"OR\" || req.TagLogic == \"NOT\" {\n\t\tupdateData[\"tag_logic\"] = req.TagLogic\n\t}\n\tif len(updateData) == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No valid update fields\")))\n\t\treturn\n\t}\n\n\t_, err = g.DB().Model(\"email_tasks\").\n\t\tWhere(\"id\", req.TaskId).\n\t\tData(updateData).\n\t\tUpdate()\n\n\tif err != nil {\n\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to update task information : {}\", err.Error())))\n\t\treturn nil, err\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Task,\n\t\tLog:  \"Update Task Info :\" + updateData[\"subject\"].(string) + \" successfully\",\n\t\tData: updateData,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Task update successful\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/batch_mail/batch_mail_v1_update_task_speed.go",
    "content": "package batch_mail\n\nimport (\n\t\"billionmail-core/api/batch_mail/v1\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/batch_mail\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\n// UpdateTaskSpeed update task sending speed\nfunc (c *ControllerV1) UpdateTaskSpeed(ctx context.Context, req *v1.UpdateTaskSpeedReq) (res *v1.UpdateTaskSpeedRes, err error) {\n\tres = &v1.UpdateTaskSpeedRes{}\n\n\t// parameter validation\n\tif req.Threads <= 0 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Threads must be greater than zero\")))\n\t\treturn\n\t}\n\n\tif req.Threads > 100 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Threads cannot exceed 100\")))\n\t\treturn\n\t}\n\n\t// get task info\n\tvar taskInfo *entity.EmailTask\n\ttaskInfo, err = batch_mail.GetTaskInfo(ctx, req.TaskId)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get task info: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif taskInfo == nil || taskInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task not found: {}\", req.TaskId)))\n\t\treturn\n\t}\n\n\t// get task executor\n\texecutor := batch_mail.GetTaskExecutor(req.TaskId)\n\tif executor == nil {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Task executor not found\")))\n\t\treturn\n\t}\n\n\t// call update task threads function\n\tif err = executor.UpdateTaskThreads(req.TaskId, req.Threads); err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to update task sending speed: {}\", err.Error())))\n\t\treturn\n\t}\n\n\t// calculate actual sending rate per minute\n\tactualRate := req.Threads * 20 * 60 // 20 emails per second per thread\n\n\t// add actual rate to response\n\tres.Data = map[string]interface{}{\n\t\t\"task_id\":           req.TaskId,\n\t\t\"threads\":           req.Threads,\n\t\t\"emails_per_minute\": actualRate,\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Task sending speed updated successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/campaign/campaign.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage campaign\n"
  },
  {
    "path": "core/internal/controller/campaign/campaign_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage campaign\n\nimport (\n\t\"billionmail-core/api/campaign\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() campaign.ICampaignV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/campaign/campaign_v1_form.go",
    "content": "package campaign\n\nimport (\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/mail_service\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\t\"net/url\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"github.com/gogf/gf/v2/util/grand\"\n\t\"time\"\n\n\t\"billionmail-core/api/campaign/v1\"\n)\n\nfunc (c *ControllerV1) Form(ctx context.Context, req *v1.FormReq) (res *v1.FormRes, err error) {\n\tr := g.RequestFromCtx(ctx)\n\n\tif r.Method == \"POST\" {\n\t\t// Verify Csrf token if needed\n\t\tif req.Token == \"\" {\n\t\t\tr.Response.WriteStatus(400, \"CSRF token not provided\")\n\t\t\treturn\n\t\t}\n\n\t\tvar v *g.Var\n\t\tif v, err = r.Session.Get(\"csrf_token\"); err != nil {\n\t\t\tr.Response.WriteStatus(400, \"CSRF token not valid\")\n\t\t\treturn\n\t\t}\n\n\t\tif v.String() != req.Token {\n\t\t\tr.Response.WriteStatus(400, \"CSRF token not valid\")\n\t\t\treturn\n\t\t}\n\n\t\t// Clear CSRF token from session\n\t\tif err = r.Session.Remove(\"csrf_token\"); err != nil {\n\t\t\tr.Response.WriteStatus(500, \"Failed to clear CSRF token\")\n\t\t\treturn\n\t\t}\n\n\t\tcontacts := make([]*entity.Contact, 0, len(req.GroupIds))\n\n\t\tfor _, groupId := range req.GroupIds {\n\t\t\tcontacts = append(contacts, &entity.Contact{\n\t\t\t\tEmail:      req.Email,\n\t\t\t\tGroupId:    groupId,\n\t\t\t\tActive:     1,\n\t\t\t\tCreateTime: int(time.Now().Unix()),\n\t\t\t\tAttribs: map[string]string{\n\t\t\t\t\t\"Username\": req.Name,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tcnt, _ := contact.BatchCreateContactsIgnoreDuplicate(ctx, contacts)\n\n\t\tif cnt > 0 {\n\t\t\t// Send confirmation email to the user\n\t\t\tgo func() {\n\t\t\t\tif err := sendConfirmationEmail(ctx, req.Email, req.Name); err != nil {\n\t\t\t\t\tg.Log().Warning(ctx, \"Failed to send confirmation email to %s: %v\", req.Email, err)\n\t\t\t\t}\n\t\t\t}()\n\t\t}\n\n\t\terr = r.Response.WriteTpl(\"subscription_success.html\", g.Map{\n\t\t\t\"EmailAddress\": req.Email,\n\t\t})\n\t\treturn\n\t}\n\n\t// Generate CSRF token\n\tcsrfToken := grand.S(16)\n\n\t// Store CSRF token in session\n\tif err = r.Session.Set(\"csrf_token\", csrfToken); err != nil {\n\t\tcsrfToken = \"\"\n\t}\n\n\tgroups, _ := contact.GetAllGroups(ctx, \"\")\n\n\terr = r.Response.WriteTpl(\"subscription_form.html\", g.Map{\n\t\t\"Groups\":    groups,\n\t\t\"CSRFToken\": csrfToken,\n\t})\n\treturn\n}\n\n// sendConfirmationEmail sends a confirmation email to the newly subscribed user\nfunc sendConfirmationEmail(ctx context.Context, email, name string) error {\n\t// Get the base domain to construct noreply email\n\tbaseURL := domains.GetBaseURL()\n\tif baseURL == \"\" {\n\t\treturn fmt.Errorf(\"base URL not configured\")\n\t}\n\n\t// Extract domain from base URL\n\tdomain := \"\"\n\tif u, err := url.Parse(baseURL); err == nil && u.Hostname() != \"\" {\n\t\tdomain = u.Hostname()\n\t} else {\n\t\t// Fallback: try to get from environment\n\t\tif hostname, err := public.DockerEnv(\"BILLIONMAIL_HOSTNAME\"); err == nil && hostname != \"\" {\n\t\t\tdomain = hostname\n\t\t} else {\n\t\t\treturn fmt.Errorf(\"unable to determine domain for noreply email\")\n\t\t}\n\t}\n\n\t// Construct noreply email address\n\tnoreplyEmail := fmt.Sprintf(\"noreply@%s\", domain)\n\n\t// Create email sender\n\tsender, err := mail_service.NewEmailSenderWithLocal(noreplyEmail)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to create email sender: %w\", err)\n\t}\n\tdefer sender.Close()\n\n\t// Create confirmation email content\n\tsubject := \"Welcome! Your subscription has been confirmed\"\n\tcontent := fmt.Sprintf(`\n<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Subscription Confirmed</title>\n    <style>\n        body { font-family: Arial, sans-serif; line-height: 1.6; color: #333; }\n        .container { max-width: 600px; margin: 0 auto; padding: 20px; }\n        .header { background-color: #20a53a; color: white; padding: 20px; text-align: center; }\n        .content { padding: 20px; background-color: #f9f9f9; }\n        .footer { text-align: center; padding: 20px; color: #666; font-size: 12px; }\n    </style>\n</head>\n<body>\n    <div class=\"container\">\n        <div class=\"header\">\n            <h1>Welcome to Our Newsletter!</h1>\n        </div>\n        <div class=\"content\">\n            <p>Dear %s,</p>\n            <p>Thank you for subscribing to our newsletter! Your subscription has been successfully confirmed.</p>\n            <p>You will now receive our latest updates, news, and exclusive content directly to your inbox.</p>\n            <p>If you have any questions or need assistance, please don't hesitate to contact us.</p>\n            <p>Best regards,<br>The Team</p>\n        </div>\n        <div class=\"footer\">\n            <p>This email was sent to %s</p>\n            <p>Powered by BillionMail</p>\n        </div>\n    </div>\n</body>\n</html>`, name, email)\n\n\t// Create email message\n\tmessage := mail_service.NewMessage(subject, content)\n\tmessage.SetMessageID(sender.GenerateMessageID())\n\tmessage.SetRealName(\"Newsletter Team\")\n\n\t// Send the email\n\terr = sender.Send(message, []string{email})\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to send confirmation email: %w\", err)\n\t}\n\n\tg.Log().Info(ctx, \"Confirmation email sent successfully to %s\", email)\n\treturn nil\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage contact\n\nimport (\n\t\"billionmail-core/internal/model/entity\"\n\t\"bytes\"\n\t\"encoding/csv\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/crypto/gmd5\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/xuri/excelize/v2\"\n\t\"math/rand\"\n\t\"strings\"\n\t\"time\"\n)\n\nconst (\n\tFileTypeCSV   = \"csv\"\n\tFileTypeExcel = \"excel\"\n\tFileTypeTXT   = \"txt\"\n)\n\n// Status constants\nconst (\n\tStatusSubscribe   = \"subscribe\"\n\tStatusUnsubscribe = \"unsubscribe\"\n)\n\nconst (\n\tDefaultPage     = 1\n\tDefaultPageSize = 10\n\tMaxPageSize     = 100\n)\n\n// parseContactFile parses contact file content based on file type\nfunc parseContactFile(fileContent []byte, fileType string) ([]*entity.Contact, error) {\n\n\t// if txt format, split by line\n\tif fileType == \"txt\" {\n\t\treturn parseTXTFile(fileContent)\n\t}\n\t// CSV format\n\tif fileType == \"csv\" {\n\t\treturn parseCSVFile(fileContent)\n\t}\n\t// Excel format\n\tif fileType == \"excel\" {\n\t\treturn parseExcelFile(fileContent)\n\t}\n\treturn nil, fmt.Errorf(\"unsupported file type: %s\", fileType)\n}\n\n// parseTXTFile parses txt file content, one email per line\nfunc parseTXTFile(fileContent []byte) ([]*entity.Contact, error) {\n\t//fmt.Printf(\"parseTXTFile - Content length: %d bytes\\n\", len(fileContent))\n\t//fmt.Printf(\"parseTXTFile - Content as string: %s\\n\", string(fileContent))\n\n\tvar contacts []*entity.Contact\n\tlines := bytes.Split(fileContent, []byte(\"\\n\"))\n\n\tfor _, line := range lines {\n\t\t// remove whitespace characters\n\t\temail := strings.TrimSpace(string(line))\n\n\t\tif email == \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\t// validate email format\n\t\tif !validateEmail(email) {\n\t\t\tfmt.Printf(\"parseTXTFile - Invalid email format: %s\\n\", email)\n\t\t\tcontinue\n\t\t}\n\n\t\tcontacts = append(contacts, &entity.Contact{\n\t\t\tEmail:  email,\n\t\t\tActive: 1, // default subscription status\n\t\t})\n\t}\n\n\t//fmt.Printf(\"parseTXTFile - Total valid contacts: %d\\n\", len(contacts))\n\treturn contacts, nil\n}\n\n// parseCSVFile parses CSV file content\nfunc parseCSVFile(fileContent []byte) ([]*entity.Contact, error) {\n\t// handle possible BOM\n\tfileContent = bytes.TrimPrefix(fileContent, []byte(\"\\xef\\xbb\\xbf\"))\n\n\treader := csv.NewReader(bytes.NewReader(fileContent))\n\treader.FieldsPerRecord = -1 // Allow different number of fields per line\n\treader.TrimLeadingSpace = true\n\treader.LazyQuotes = true  // Allow non-strict quotes\n\treader.ReuseRecord = true // Reuse record to improve performance\n\n\trecords, err := reader.ReadAll()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"error reading CSV file: %v\", err)\n\t}\n\n\tvar contacts []*entity.Contact\n\tvar hasHeader bool\n\n\t// Check if header exists\n\tif len(records) > 0 {\n\t\tfirstRow := records[0]\n\t\tif len(firstRow) >= 1 && strings.ToLower(firstRow[0]) == \"email\" {\n\t\t\thasHeader = true\n\t\t}\n\t}\n\n\t// Process records\n\tstartIndex := 0\n\tif hasHeader {\n\t\tstartIndex = 1\n\t}\n\n\tfor i := startIndex; i < len(records); i++ {\n\t\trecord := records[i]\n\t\tif len(record) == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\temail := strings.TrimSpace(record[0])\n\t\tif email == \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\t// validate email format\n\t\tif !validateEmail(email) {\n\t\t\tcontinue\n\t\t}\n\n\t\tactive := 1 // Default to active\n\t\tif len(record) > 1 {\n\t\t\tif status := strings.TrimSpace(record[1]); status == \"0\" {\n\t\t\t\tactive = 0\n\t\t\t}\n\t\t}\n\n\t\tcontacts = append(contacts, &entity.Contact{\n\t\t\tEmail:  email,\n\t\t\tActive: active,\n\t\t})\n\t}\n\n\treturn contacts, nil\n}\n\n// validateEmail validates email format\nfunc validateEmail(email string) bool {\n\t// simple email format validation\n\treturn strings.Contains(email, \"@\") && strings.Contains(email, \".\")\n}\n\n// exportContactFile Export contact file\nfunc exportContactFile(contacts []*entity.Contact, fileType string) ([]byte, error) {\n\tswitch strings.ToLower(fileType) {\n\tcase FileTypeCSV:\n\t\treturn exportToCSV(contacts)\n\tcase FileTypeExcel:\n\t\treturn exportToExcel(contacts)\n\tcase FileTypeTXT:\n\t\treturn exportToTXT(contacts)\n\tdefault:\n\t\treturn nil, gerror.New(\"Unsupported file format\")\n\t}\n}\n\n// exportToTXT Export to TXT file\nfunc exportToTXT(contacts []*entity.Contact) ([]byte, error) {\n\tvar lines []string\n\tfor _, contact := range contacts {\n\t\tstatus := StatusSubscribe\n\t\tif contact.Active == 0 {\n\t\t\tstatus = StatusUnsubscribe\n\t\t}\n\t\tlines = append(lines, fmt.Sprintf(\"%s,%s\", contact.Email, status))\n\t}\n\treturn []byte(strings.Join(lines, \"\\n\")), nil\n}\n\n// parseExcelFile Parse Excel file\nfunc parseExcelFile(fileContent []byte) ([]*entity.Contact, error) {\n\t// Create Excel file from byte data\n\tf, err := excelize.OpenReader(bytes.NewReader(fileContent))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer f.Close()\n\n\t// Get first sheet\n\tsheets := f.GetSheetList()\n\tif len(sheets) == 0 {\n\t\treturn nil, gerror.New(\"Excel file has no sheets\")\n\t}\n\n\trows, err := f.GetRows(sheets[0])\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar contacts []*entity.Contact\n\tvar emailCol, statusCol int\n\tvar hasHeader bool\n\n\t// Check for header and determine column positions\n\tif len(rows) > 0 {\n\t\tfor i, cell := range rows[0] {\n\t\t\tswitch strings.ToLower(strings.TrimSpace(cell)) {\n\t\t\tcase \"email\":\n\t\t\t\temailCol = i\n\t\t\t\thasHeader = true\n\t\t\tcase \"status\":\n\t\t\t\tstatusCol = i\n\t\t\t\thasHeader = true\n\t\t\t}\n\t\t}\n\t}\n\n\t// If email column not found, assume first column is email\n\tif !hasHeader {\n\t\temailCol = 0\n\t}\n\n\tstartIndex := 0\n\tif hasHeader {\n\t\tstartIndex = 1\n\t}\n\n\tfor i := startIndex; i < len(rows); i++ {\n\t\trow := rows[i]\n\t\tif len(row) <= emailCol {\n\t\t\tcontinue\n\t\t}\n\n\t\temail := strings.TrimSpace(row[emailCol])\n\t\tif email == \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tcontact := &entity.Contact{\n\t\t\tEmail:  email,\n\t\t\tActive: 1,\n\t\t}\n\n\t\tif statusCol < len(row) {\n\t\t\tstatus := strings.ToLower(strings.TrimSpace(row[statusCol]))\n\t\t\tswitch status {\n\t\t\tcase \"0\", StatusUnsubscribe:\n\t\t\t\tcontact.Active = 0\n\t\t\t}\n\t\t}\n\n\t\tif !isValidEmail(contact.Email) {\n\t\t\tcontinue\n\t\t}\n\n\t\tcontacts = append(contacts, contact)\n\t}\n\n\treturn contacts, nil\n}\n\n// isValidEmail Validate email format\nfunc isValidEmail(email string) bool {\n\n\tif !strings.Contains(email, \"@\") || !strings.Contains(email, \".\") {\n\t\treturn false\n\t}\n\n\tparts := strings.Split(email, \"@\")\n\tif len(parts) != 2 {\n\t\treturn false\n\t}\n\n\tlocalPart := parts[0]\n\tdomain := parts[1]\n\n\tif localPart == \"\" || domain == \"\" {\n\t\treturn false\n\t}\n\n\tif !strings.Contains(domain, \".\") {\n\t\treturn false\n\t}\n\n\tif len(email) > 254 {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n// exportToCSV Export contacts to CSV file\nfunc exportToCSV(contacts []*entity.Contact) ([]byte, error) {\n\tbuf := new(bytes.Buffer)\n\twriter := csv.NewWriter(buf)\n\n\t// header\n\terr := writer.Write([]string{\"Email\", \"Status\"})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// data\n\tfor _, contact := range contacts {\n\t\tstatus := StatusSubscribe\n\t\tif contact.Active == 0 {\n\t\t\tstatus = StatusUnsubscribe\n\t\t}\n\n\t\terr := writer.Write([]string{\n\t\t\tcontact.Email,\n\t\t\tstatus,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\twriter.Flush()\n\tif err := writer.Error(); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn buf.Bytes(), nil\n}\n\n// exportToExcel Export contacts to Excel file\nfunc exportToExcel(contacts []*entity.Contact) ([]byte, error) {\n\tf := excelize.NewFile()\n\tdefer f.Close()\n\n\t// Create header\n\tf.SetCellValue(\"Sheet1\", \"A1\", \"Email\")\n\tf.SetCellValue(\"Sheet1\", \"B1\", \"Status\")\n\n\t// Write data\n\tfor i, contact := range contacts {\n\t\trow := i + 2 // Start writing data from second row\n\t\tstatus := StatusSubscribe\n\t\tif contact.Active == 0 {\n\t\t\tstatus = StatusUnsubscribe\n\t\t}\n\n\t\tf.SetCellValue(\"Sheet1\", fmt.Sprintf(\"A%d\", row), contact.Email)\n\t\tf.SetCellValue(\"Sheet1\", fmt.Sprintf(\"B%d\", row), status)\n\t}\n\n\t// Set column width\n\tf.SetColWidth(\"Sheet1\", \"A\", \"A\", 30)\n\tf.SetColWidth(\"Sheet1\", \"B\", \"B\", 15)\n\tf.SetColWidth(\"Sheet1\", \"C\", \"C\", 20)\n\n\t// Export to byte array\n\tbuf, err := f.WriteToBuffer()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn buf.Bytes(), nil\n}\n\n// GfMd5Short generates a short MD5 hash based on the current time and a random number\nfunc GfMd5Short() string {\n\tstr := fmt.Sprintf(\"%s_%d_%d\", time.Now().UnixNano(), rand.Intn(100000))\n\treturn gmd5.MustEncryptString(str)[:12]\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage contact\n\nimport (\n\t\"billionmail-core/api/contact\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() contact.IContactV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_batch_tag_contacts.go",
    "content": "package contact\n\nimport (\n\t\"context\"\n\t\"database/sql\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n)\n\nfunc (c *ControllerV1) BatchTagContacts(ctx context.Context, req *v1.BatchTagContactsReq) (res *v1.BatchTagContactsRes, err error) {\n\tres = &v1.BatchTagContactsRes{}\n\n\tif len(req.Ids) == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No contact IDs provided\")))\n\t\treturn\n\t}\n\n\tif len(req.TagIds) == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No tag IDs provided\")))\n\t\treturn\n\t}\n\n\tg.Log().Infof(ctx, \"BatchTagContacts: Processing %d contacts with %d tags, action: %d\",\n\t\tlen(req.Ids), len(req.TagIds), req.Action)\n\n\tvar processedCount, skippedCount, errorCount int\n\n\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\t\tif req.Action == 1 {\n\n\t\t\tprocessedCount, skippedCount, errorCount, err = c.batchAddTagsToContacts(ctx, tx, req.Ids, req.TagIds)\n\t\t} else {\n\n\t\t\tprocessedCount, skippedCount, errorCount, err = c.batchRemoveTagsFromContacts(ctx, tx, req.Ids, req.TagIds)\n\t\t}\n\t\treturn err\n\t})\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to process batch tag operation\")))\n\t\treturn\n\t}\n\n\n\toperation := \"Add tags\"\n\tif req.Action == 2 {\n\t\toperation = \"Remove tags\"\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Tag,\n\t\tLog: operation + \" for \" + g.NewVar(processedCount).String() + \" contacts successfully\",\n\t\tData: map[string]interface{}{\n\t\t\t\"tag_ids\":        req.TagIds,\n\t\t\t\"contact_ids\":    req.Ids,\n\t\t\t\"operation\":      operation,\n\t\t\t\"total_contacts\": len(req.Ids),\n\t\t\t\"processed\":      processedCount,\n\t\t\t\"skipped\":        skippedCount,\n\t\t\t\"errors\":         errorCount,\n\t\t},\n\t})\n\n\n\tvar successMsg string\n\tif req.Action == 1 {\n\t\tsuccessMsg = public.LangCtx(ctx, \"Successfully added tags to {} contacts\", processedCount)\n\t} else {\n\t\tsuccessMsg = public.LangCtx(ctx, \"Successfully removed tags from {} contacts\", processedCount)\n\t}\n\n\tif skippedCount > 0 || errorCount > 0 {\n\t\tsuccessMsg += public.LangCtx(ctx, \" ({} skipped, {} errors)\", skippedCount, errorCount)\n\t}\n\n\tres.SetSuccess(successMsg)\n\treturn\n}\n\n\nfunc (c *ControllerV1) batchAddTagsToContacts(ctx context.Context, tx gdb.TX, contactIds []int, tagIds []int) (processed, skipped, errors int, err error) {\n\tconst batchSize = 500\n\tnow := time.Now().Unix()\n\n\n\tvar existingContacts []struct {\n\t\tId      int `json:\"id\"`\n\t\tGroupId int `json:\"group_id\"`\n\t}\n\terr = tx.Model(\"bm_contacts\").\n\t\tFields(\"id, group_id\").\n\t\tWhereIn(\"id\", contactIds).\n\t\tScan(&existingContacts)\n\tif err != nil && err != sql.ErrNoRows  {\n\t\tg.Log().Error(ctx, \"Failed to query existing contacts: %v\", err)\n\t\treturn 0, 0, len(contactIds), err\n\t}\n\n\tif len(existingContacts) == 0 {\n\t\treturn 0, len(contactIds), 0, nil\n\t}\n\n\n\tvalidContactIds := make([]int, len(existingContacts))\n\tcontactGroupMap := make(map[int]int) // contact_id -> group_id\n\tfor i, contact := range existingContacts {\n\t\tvalidContactIds[i] = contact.Id\n\t\tcontactGroupMap[contact.Id] = contact.GroupId\n\t}\n\n\n\tvar existingTags []struct {\n\t\tId      int `json:\"id\"`\n\t\tGroupId int `json:\"group_id\"`\n\t\tName    string `json:\"name\"`\n\t}\n\terr = tx.Model(\"bm_tags\").\n\t\tFields(\"id, group_id, name\").\n\t\tWhereIn(\"id\", tagIds).\n\t\tScan(&existingTags)\n\tif err != nil && err != sql.ErrNoRows {\n\t\tg.Log().Error(ctx, \"Failed to query existing tags: %v\", err)\n\t\treturn 0, 0, len(contactIds), err\n\t}\n\n\tif len(existingTags) == 0 {\n\t\treturn 0, len(contactIds), 0, nil\n\t}\n\n\tvalidTagIds := make([]int, len(existingTags))\n\ttagGroupMap := make(map[int]int) // tag_id -> group_id\n\tfor i, tag := range existingTags {\n\t\tvalidTagIds[i] = tag.Id\n\t\ttagGroupMap[tag.Id] = tag.GroupId\n\t}\n\n\n\tvar existingTagRelations []struct {\n\t\tContactId int `json:\"contact_id\"`\n\t\tTagId     int `json:\"tag_id\"`\n\t}\n\terr = tx.Model(\"bm_contact_tags\").\n\t\tFields(\"contact_id, tag_id\").\n\t\tWhereIn(\"contact_id\", validContactIds).\n\t\tWhereIn(\"tag_id\", validTagIds).\n\t\tScan(&existingTagRelations)\n\tif err != nil && err != sql.ErrNoRows {\n\t\tg.Log().Error(ctx, \"Failed to query existing tag relations: %v\", err)\n\t\treturn 0, 0, len(contactIds), err\n\t}\n\n\n\texistingRelationMap := make(map[string]bool)\n\tfor _, relation := range existingTagRelations {\n\t\tkey := g.NewVar(relation.ContactId).String() + \"_\" + g.NewVar(relation.TagId).String()\n\t\texistingRelationMap[key] = true\n\t}\n\n\n\tvar currentBatch []g.Map\n\tbatchCount := 0\n\n\tfor _, contactId := range validContactIds {\n\t\tcontactGroupId := contactGroupMap[contactId]\n\n\t\tfor _, tagId := range validTagIds {\n\t\t\ttagGroupId := tagGroupMap[tagId]\n\n\n\t\t\tif contactGroupId != tagGroupId {\n\t\t\t\tskipped++\n\t\t\t\tcontinue\n\t\t\t}\n\n\n\t\t\tkey := g.NewVar(contactId).String() + \"_\" + g.NewVar(tagId).String()\n\t\t\tif existingRelationMap[key] {\n\t\t\t\tskipped++\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tcurrentBatch = append(currentBatch, g.Map{\n\t\t\t\t\"contact_id\":  contactId,\n\t\t\t\t\"tag_id\":      tagId,\n\t\t\t\t\"create_time\": now,\n\t\t\t})\n\n\n\t\t\tif len(currentBatch) >= batchSize {\n\t\t\t\t_, err = tx.Model(\"bm_contact_tags\").InsertIgnore(currentBatch)\n\t\t\t\tif err != nil {\n\t\t\t\t\tg.Log().Error(ctx, \"Failed to insert contact tags batch: %v\", err)\n\t\t\t\t\terrors += len(currentBatch)\n\t\t\t\t} else {\n\t\t\t\t\tprocessed += len(currentBatch)\n\t\t\t\t}\n\t\t\t\tcurrentBatch = nil\n\t\t\t\tbatchCount++\n\t\t\t}\n\t\t}\n\t}\n\n\n\tif len(currentBatch) > 0 {\n\t\t_, err = tx.Model(\"bm_contact_tags\").InsertIgnore(currentBatch)\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Failed to insert final contact tags batch: %v\", err)\n\t\t\terrors += len(currentBatch)\n\t\t} else {\n\t\t\tprocessed += len(currentBatch)\n\t\t}\n\t}\n\n\n\treturn processed, skipped, errors, nil\n}\n\n\nfunc (c *ControllerV1) batchRemoveTagsFromContacts(ctx context.Context, tx gdb.TX, contactIds []int, tagIds []int) (processed, skipped, errors int, err error) {\n\tconst batchSize = 500\n\n\n\tvar existingContacts []struct {\n\t\tId int `json:\"id\"`\n\t}\n\terr = tx.Model(\"bm_contacts\").\n\t\tFields(\"id\").\n\t\tWhereIn(\"id\", contactIds).\n\t\tScan(&existingContacts)\n\tif err != nil && err != sql.ErrNoRows {\n\t\tg.Log().Error(ctx, \"Failed to query existing contacts: %v\", err)\n\t\treturn 0, 0, len(contactIds), err\n\t}\n\n\tif len(existingContacts) == 0 {\n\t\treturn 0, len(contactIds), 0, nil\n\t}\n\n\tvalidContactIds := make([]int, len(existingContacts))\n\tfor i, contact := range existingContacts {\n\t\tvalidContactIds[i] = contact.Id\n\t}\n\n\n\tvar existingTags []struct {\n\t\tId int `json:\"id\"`\n\t}\n\terr = tx.Model(\"bm_tags\").\n\t\tFields(\"id\").\n\t\tWhereIn(\"id\", tagIds).\n\t\tScan(&existingTags)\n\tif err != nil && err != sql.ErrNoRows {\n\t\tg.Log().Error(ctx, \"Failed to query existing tags: %v\", err)\n\t\treturn 0, 0, len(contactIds), err\n\t}\n\n\tif len(existingTags) == 0 {\n\t\treturn 0, len(contactIds), 0, nil\n\t}\n\n\tvalidTagIds := make([]int, len(existingTags))\n\tfor i, tag := range existingTags {\n\t\tvalidTagIds[i] = tag.Id\n\t}\n\n\n\tfor i := 0; i < len(validContactIds); i += batchSize {\n\t\tend := i + batchSize\n\t\tif end > len(validContactIds) {\n\t\t\tend = len(validContactIds)\n\t\t}\n\n\t\tcurrentContactBatch := validContactIds[i:end]\n\n\n\t\tresult, err := tx.Model(\"bm_contact_tags\").\n\t\t\tWhereIn(\"contact_id\", currentContactBatch).\n\t\t\tWhereIn(\"tag_id\", validTagIds).\n\t\t\tDelete()\n\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Failed to delete contact tags batch: %v\", err)\n\t\t\terrors += len(currentContactBatch) * len(validTagIds)\n\t\t\tcontinue\n\t\t}\n\n\t\trowsAffected, _ := result.RowsAffected()\n\t\tprocessed += int(rowsAffected)\n\t}\n\n\n\ttotalExpected := len(validContactIds) * len(validTagIds)\n\tskipped = totalExpected - processed - errors\n\n\n\treturn processed, skipped, errors, nil\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_create_group.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\nfunc (c *ControllerV1) CreateGroup(ctx context.Context, req *v1.CreateGroupReq) (res *v1.CreateGroupRes, err error) {\n\tres = &v1.CreateGroupRes{}\n\n\tvar groupId int\n\tswitch req.CreateType {\n\tcase 1, 2: // create new group\n\t\t// check if group name exists\n\t\texists, err := contact.CheckGroupNameExists(ctx, req.Name)\n\t\tif err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to check group name existence {}\", err.Error())))\n\t\t\treturn res, err\n\t\t}\n\t\tif exists {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The group name already exists\")))\n\t\t\treturn res, err\n\t\t}\n\n\t\t// create new group\n\t\tgroupId, err = contact.CreateGroup(ctx, req.Name, req.Description, req.DoubleOptin)\n\t\tif err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to create group {}\", err.Error())))\n\t\t\treturn res, err\n\t\t}\n\n\tcase 3: // import to existing group\n\t\t// validate group id\n\t\tif req.GroupId <= 0 {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Group ID is required for importing to existing group\")))\n\t\t\treturn\n\t\t}\n\n\t\t// check if group exists\n\t\t_, err = contact.GetGroup(ctx, req.GroupId)\n\t\tif err != nil {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Group {} does not exist\", req.GroupId)))\n\t\t\treturn\n\t\t}\n\t\tgroupId = req.GroupId\n\t}\n\n\t// if type 2 or 3, need to handle file import\n\tif req.CreateType == 2 || req.CreateType == 3 {\n\t\tif req.FileData == \"\" {\n\t\t\t//Allow 2 to create an empty group\n\t\t\tif req.CreateType == 2 {\n\t\t\t\t_ = public.WriteLog(ctx, public.LogParams{\n\t\t\t\t\tType: consts.LOGTYPE.ContactsGroup,\n\t\t\t\t\tLog:  \"Created group :\" + req.Name + \" successfully\",\n\t\t\t\t})\n\n\t\t\t\tres.SetSuccess(public.LangCtx(ctx, \"Group created successfully\"))\n\t\t\t\treturn\n\t\t\t}\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"File content cannot be empty\")))\n\t\t\treturn\n\t\t}\n\n\t\t// parse contacts from file content\n\t\tcontacts := parseEmailContent(ctx, req.FileData, 1)\n\t\tif len(contacts) == 0 {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No valid contacts found in file\")))\n\t\t\treturn\n\t\t}\n\n\t\t// set group id\n\t\tfor _, contactInfo := range contacts {\n\t\t\tcontactInfo.GroupId = groupId\n\t\t\tcontactInfo.Status = 1\n\t\t}\n\n\t\terr = contact.BatchCreateContacts(ctx, contacts)\n\t\tif err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to import contacts {}\", err.Error())))\n\t\t\treturn\n\t\t}\n\t\t_ = public.WriteLog(ctx, public.LogParams{\n\t\t\tType: consts.LOGTYPE.ContactsGroup,\n\t\t\tLog:  \"Created group :\" + req.Name + \" successfully\",\n\t\t\tData: contacts,\n\t\t})\n\t}\n\n\t// set success message according to different situations\n\tswitch req.CreateType {\n\tcase 1:\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Group created successfully\"))\n\tcase 2:\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Group created and contacts imported successfully\"))\n\tcase 3:\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Contacts imported to existing group successfully\"))\n\t}\n\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_delete_contacts.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"strings\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) DeleteContacts(ctx context.Context, req *v1.DeleteContactsReq) (res *v1.DeleteContactsRes, err error) {\n\tres = &v1.DeleteContactsRes{}\n\n\tif len(req.Emails) == 0 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The Emails field is required\")))\n\t\treturn\n\t}\n\n\tif req.Status != 0 && req.Status != 1 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The Status must be 0 or 1\")))\n\t\treturn\n\t}\n\n\t// Start a transaction\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\n\t\tresult, err := g.DB().Model(\"bm_contacts\").\n\t\t\tWhere(\"email IN(?)\", req.Emails).\n\t\t\tWhere(\"active\", req.Status).\n\t\t\tDelete()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\taffected, err := result.RowsAffected()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tres.Data.DeletedCount = int(affected)\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to delete contacts: {}\", err.Error())))\n\t\treturn\n\t}\n\temailsStr := strings.Join(req.Emails, \", \")\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Contacts,\n\t\tLog:  \"Delete contacts :\" + emailsStr + \" successfully\",\n\t\tData: req.Emails,\n\t})\n\tres.SetSuccess(public.LangCtx(ctx, \"Contacts deleted successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_delete_contacts_ndp.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"strings\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) DeleteContactsNDP(ctx context.Context, req *v1.DeleteContactsNDPReq) (res *v1.DeleteContactsNDPRes, err error) {\n\tres = &v1.DeleteContactsNDPRes{}\n\n\tif len(req.Ids) == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The Ids field is required\")))\n\t\treturn\n\t}\n\tvar contacts []*entity.Contact\n\t_ = g.DB().Model(\"bm_contacts\").WhereIn(\"id\", req.Ids).Scan(&contacts)\n\t// Extract all emails\n\temails := make([]string, 0, len(contacts))\n\tfor _, contact := range contacts {\n\t\temails = append(emails, contact.Email)\n\t}\n\temailsStr := strings.Join(emails, \", \")\n\n\t_, err = g.DB().Model(\"bm_contacts\").WhereIn(\"id\", req.Ids).Delete()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to delete contacts: {}\", err.Error())))\n\t\treturn\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Contacts,\n\t\tLog:  \"Delete contacts successfully :\" + emailsStr,\n\t\tData: contacts,\n\t})\n\tres.SetSuccess(public.LangCtx(ctx, \"Contacts deleted successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_delete_group.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"strings\"\n)\n\nfunc (c *ControllerV1) DeleteGroup(ctx context.Context, req *v1.DeleteGroupReq) (res *v1.DeleteGroupRes, err error) {\n\tres = &v1.DeleteGroupRes{}\n\n\tvar groupNames []string\n\tvar groupInfos []entity.ContactGroup\n\n\tfor _, groupId := range req.GroupIds {\n\n\t\tgroupInfo, errGet := contact.GetGroup(ctx, groupId)\n\t\tif errGet != nil {\n\t\t\tres.Data.FailedCount++\n\t\t\tcontinue\n\t\t}\n\n\t\terr = contact.DeleteContactsByGroupId(ctx, groupId)\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\n\t\terr = contact.DeleteGroup(ctx, groupId)\n\t\tif err != nil {\n\t\t\tres.Data.FailedCount++\n\t\t\tcontinue\n\t\t}\n\t\tres.Data.SuccessCount++\n\n\t\t// 收集分组信息用于日志\n\t\tgroupNames = append(groupNames, groupInfo.Name)\n\t\tgroupInfos = append(groupInfos, *groupInfo)\n\t}\n\tif res.Data.SuccessCount == 0 && res.Data.FailedCount == 0 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No groups were deleted\")))\n\t\treturn\n\t}\n\n\tgroupStr := strings.Join(groupNames, \", \")\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.ContactsGroup,\n\t\tLog:  \"Deleted group successfully: \" + groupStr,\n\t\tData: groupInfos,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Groups deleted successfully\"))\n\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_edit_contacts.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) EditContacts(ctx context.Context, req *v1.EditContactsReq) (res *v1.EditContactsRes, err error) {\n\tres = &v1.EditContactsRes{}\n\n\tvar attribs map[string]string\n\tif req.Attribs != \"\" {\n\n\t\tattribsStr := strings.Trim(req.Attribs, \"\\\"\")\n\n\t\tattribsStr = strings.ReplaceAll(attribsStr, \"\\\"\\\"\", \"\\\"\")\n\n\t\tvar rawAttribs map[string]interface{}\n\t\tif err := json.Unmarshal([]byte(attribsStr), &rawAttribs); err != nil {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Invalid attributes format:{}\", err.Error())))\n\t\t\treturn res, nil\n\t\t}\n\n\t\tattribs = make(map[string]string)\n\t\tfor k, v := range rawAttribs {\n\t\t\tswitch val := v.(type) {\n\t\t\tcase string:\n\t\t\t\tattribs[k] = val\n\t\t\tcase float64: // Numbers in JSON parse to float64 by default\n\t\t\t\tif float64(int64(val)) == val {\n\t\t\t\t\t// Integer\n\t\t\t\t\tattribs[k] = fmt.Sprintf(\"%d\", int64(val))\n\t\t\t\t} else {\n\t\t\t\t\t// Float\n\t\t\t\t\tattribs[k] = fmt.Sprintf(\"%g\", val)\n\t\t\t\t}\n\t\t\tcase bool:\n\t\t\t\tattribs[k] = fmt.Sprintf(\"%v\", val)\n\t\t\tcase nil:\n\t\t\t\tattribs[k] = \"\"\n\t\t\tdefault:\n\t\t\t\t// Other types try to convert to JSON string\n\t\t\t\tif bytes, err := json.Marshal(val); err == nil {\n\t\t\t\t\tattribs[k] = string(bytes)\n\t\t\t\t} else {\n\t\t\t\t\tattribs[k] = fmt.Sprintf(\"%v\", val)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\n\t\tif len(req.GroupIds) > 0 {\n\t\t\tfor _, groupId := range req.GroupIds {\n\t\t\t\tif _, err := contact.GetGroup(ctx, groupId); err != nil {\n\t\t\t\t\treturn gerror.New(public.LangCtx(ctx, \"Group {} not found\", groupId))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar existingContact struct {\n\t\t\tAttribs map[string]string `json:\"attribs\"`\n\t\t\tStatus  int               `json:\"status\"`\n\t\t}\n\t\terr := g.DB().Model(\"bm_contacts\").\n\t\t\tWhere(\"email\", req.Emails).\n\t\t\tOrder(\"id DESC\").\n\t\t\tLimit(1).\n\t\t\tScan(&existingContact)\n\n\t\tvar finalAttribs map[string]string\n\t\tif attribs != nil {\n\t\t\t// If new attributes are provided, use them directly (without merging)\n\t\t\tfinalAttribs = attribs\n\t\t} else if err == nil && existingContact.Attribs != nil {\n\t\t\t// If no new attributes are provided, use existing attributes\n\t\t\tfinalAttribs = existingContact.Attribs\n\t\t} else {\n\n\t\t\tfinalAttribs = make(map[string]string)\n\t\t}\n\n\t\t// 3. If group relations need to be updatedrelations need to be updated\n\t\tif len(req.GroupIds) > 0 {\n\t\t\t// Delete old contact recordsd contact records\n\t\t\t_, err := g.DB().Model(\"bm_contacts\").\n\t\t\t\tWhere(\"email\", req.Emails).\n\t\t\t\tDelete()\n\t\t\tif err != nil {\n\t\t\t\treturn gerror.New(public.LangCtx(ctx, \"Failed to delete old contact records\"))\n\t\t\t}\n\n\t\t\t// Create new group relations\n\t\t\tnow := time.Now().Unix()\n\t\t\tvar data []g.Map\n\n\t\t\tfor _, groupId := range req.GroupIds {\n\t\t\t\tdata = append(data, g.Map{\n\t\t\t\t\t\"email\":       req.Emails,\n\t\t\t\t\t\"group_id\":    groupId,\n\t\t\t\t\t\"active\":      req.Active,\n\t\t\t\t\t\"create_time\": now,\n\t\t\t\t\t\"attribs\":     finalAttribs,\n\t\t\t\t\t\"status\":      existingContact.Status,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif len(data) > 0 {\n\t\t\t\t_, err := g.DB().Model(\"bm_contacts\").\n\t\t\t\t\tData(data).\n\t\t\t\t\tInsert()\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn gerror.New(public.LangCtx(ctx, \"Failed to create new contact records\"))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to edit contact: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tnewContactInfo := map[string]interface{}{\n\t\t\"email\":     req.Emails,\n\t\t\"group_ids\": req.GroupIds,\n\t\t\"active\":    req.Active,\n\t\t\"attribs\":   attribs,\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Contacts,\n\t\tLog:  fmt.Sprintf(\"Edit contact: %s successfully\", req.Emails),\n\t\tData: newContactInfo,\n\t})\n\tres.SetSuccess(public.LangCtx(ctx, \"Contact updated successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_edit_contacts_ndp.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"strings\"\n)\n\nfunc (c *ControllerV1) EditContactsNDP(ctx context.Context, req *v1.EditContactsNDPReq) (res *v1.EditContactsNDPRes, err error) {\n\tres = &v1.EditContactsNDPRes{}\n\n\tif req.Id <= 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The Id field is required\")))\n\t\treturn\n\t}\n\n\tvar attribs map[string]string\n\tif req.Attribs != \"\" {\n\t\tattribsStr := strings.Trim(req.Attribs, \"\\\"\")\n\t\tattribsStr = strings.ReplaceAll(attribsStr, \"\\\"\\\"\", \"\\\"\")\n\t\tvar rawAttribs map[string]interface{}\n\t\tif err = json.Unmarshal([]byte(attribsStr), &rawAttribs); err != nil {\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Invalid attributes format: {}\", err.Error())))\n\t\t\treturn\n\t\t}\n\t\tattribs = make(map[string]string)\n\t\tfor k, v := range rawAttribs {\n\t\t\tswitch val := v.(type) {\n\t\t\tcase string:\n\t\t\t\tattribs[k] = val\n\t\t\tcase float64:\n\t\t\t\tif float64(int64(val)) == val {\n\t\t\t\t\tattribs[k] = fmt.Sprintf(\"%d\", int64(val))\n\t\t\t\t} else {\n\t\t\t\t\tattribs[k] = fmt.Sprintf(\"%g\", val)\n\t\t\t\t}\n\t\t\tcase bool:\n\t\t\t\tattribs[k] = fmt.Sprintf(\"%v\", val)\n\t\t\tcase nil:\n\t\t\t\tattribs[k] = \"\"\n\t\t\tdefault:\n\t\t\t\tif bytes, err := json.Marshal(val); err == nil {\n\t\t\t\t\tattribs[k] = string(bytes)\n\t\t\t\t} else {\n\t\t\t\t\tattribs[k] = fmt.Sprintf(\"%v\", val)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateData := make(map[string]interface{})\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\n\t\tif req.Active != 0 && req.Active != 1 {\n\t\t\t// 不修改active\n\t\t} else {\n\t\t\tupdateData[\"active\"] = req.Active\n\t\t}\n\t\tif req.Status != 0 && req.Status != 1 {\n\t\t\t// 不修改status\n\t\t} else {\n\t\t\tupdateData[\"status\"] = req.Status\n\t\t}\n\t\tif attribs != nil {\n\t\t\tupdateData[\"attribs\"] = attribs\n\t\t}\n\t\tif len(updateData) == 0 {\n\t\t\treturn gerror.New(public.LangCtx(ctx, \"No valid fields to update\"))\n\t\t}\n\t\t_, err = g.DB().Model(\"bm_contacts\").Where(\"id\", req.Id).Data(updateData).Update()\n\t\tif err != nil {\n\t\t\treturn gerror.New(public.LangCtx(ctx, \"Failed to update contact: {}\", err.Error()))\n\t\t}\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to edit contact: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tvar contact entity.Contact\n\terr = g.DB().Model(\"bm_contacts\").Where(\"id\", req.Id).Scan(&contact)\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Contacts,\n\t\tLog:  fmt.Sprintf(\"Edit contact: %s successfully\", contact.Email),\n\t\tData: contact,\n\t})\n\tres.SetSuccess(public.LangCtx(ctx, \"Contact updated successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_export_contacts.go",
    "content": "// core/internal/controller/contact/contact_v1_export_contacts.go\npackage contact\n\nimport (\n\t\"archive/zip\"\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/csv\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"github.com/gogf/gf/v2/os/gtime\"\n\t\"strings\"\n\t\"time\"\n)\n\nfunc (c *ControllerV1) ExportContacts(ctx context.Context, req *v1.ExportContactsReq) (res *v1.ExportContactsRes, err error) {\n\tres = &v1.ExportContactsRes{}\n\n\t// Set default value for including inactive contacts\n\tif req.IncludeInactive == false {\n\t\t// Default to true if not explicitly set in request\n\t\treq.IncludeInactive = true\n\t}\n\n\t// Get request object\n\tr := g.RequestFromCtx(ctx)\n\tif r == nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Unable to obtain the request context\")))\n\t\treturn\n\t}\n\n\tif req.ExportType == 1 { // Merged export\n\t\t// Use map to handle duplicate contact status\n\t\tcontactMap := make(map[string]*entity.Contact)\n\n\t\t// Get contacts from all groups\n\t\tfor _, groupId := range req.GroupIds {\n\t\t\tcontacts, err := contact.GetContactsByGroup(ctx, groupId)\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Filter contacts based on IncludeInactive\n\t\t\tfor _, c := range contacts {\n\t\t\t\tif existing, ok := contactMap[c.Email]; ok {\n\t\t\t\t\t// If there is a status conflict (one subscribed, one unsubscribed), use the unsubscribed status\n\t\t\t\t\tif existing.Active != c.Active {\n\t\t\t\t\t\texisting.Active = 0\n\t\t\t\t\t}\n\t\t\t\t\t// If the status is the same, keep the original status\n\t\t\t\t} else {\n\t\t\t\t\tcontactMap[c.Email] = c\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Convert to slice and apply IncludeInactive filter\n\t\tvar allContacts []*entity.Contact\n\t\tfor _, c := range contactMap {\n\t\t\tif c.Active == 1 || req.IncludeInactive {\n\t\t\t\tallContacts = append(allContacts, c)\n\t\t\t}\n\t\t}\n\n\t\t// Export file based on format\n\t\tvar content string\n\t\tvar fileName string\n\t\ttimestamp := gtime.Now().Format(\"YmdHis\")\n\n\t\tswitch req.Format {\n\t\tcase \"csv\":\n\t\t\tcontent, err = exportContactsToCSV(allContacts)\n\t\t\tfileName = fmt.Sprintf(\"contacts_export_%s.csv\", timestamp)\n\t\tcase \"txt\":\n\t\t\tcontent, err = exportContactsToTXT(allContacts)\n\t\t\tfileName = fmt.Sprintf(\"contacts_export_%s.txt\", timestamp)\n\t\tcase \"excel\":\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Excel format not implemented\")))\n\t\t\treturn\n\t\tdefault:\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Unsupported format\")))\n\t\t\treturn\n\t\t}\n\n\t\tif err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to export contacts\")))\n\t\t\treturn\n\t\t}\n\n\t\t// Set response headers for file download\n\t\tr.Response.Header().Set(\"Content-Type\", \"application/octet-stream\")\n\t\tr.Response.Header().Set(\"Content-Disposition\", \"attachment; filename=\"+fileName)\n\t\tr.Response.Write([]byte(content))\n\n\t} else { // Separate export - ZIP file\n\t\tvar files []ExportFile\n\n\t\t// Create file for each group\n\t\tfor _, groupId := range req.GroupIds {\n\t\t\tgroup, err := contact.GetGroup(ctx, groupId)\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tcontacts, err := contact.GetContactsByGroup(ctx, groupId)\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Filter contacts based on IncludeInactive\n\t\t\tvar filteredContacts []*entity.Contact\n\t\t\tfor _, c := range contacts {\n\t\t\t\tif c.Active == 1 || req.IncludeInactive {\n\t\t\t\t\tfilteredContacts = append(filteredContacts, c)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif len(filteredContacts) == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Export file content\n\t\t\tvar content string\n\t\t\tswitch req.Format {\n\t\t\tcase \"csv\":\n\t\t\t\tcontent, err = exportContactsToCSV(filteredContacts)\n\t\t\tcase \"txt\":\n\t\t\t\tcontent, err = exportContactsToTXT(filteredContacts)\n\t\t\tcase \"excel\":\n\t\t\t\tres.Code = 500\n\t\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Excel format not implemented\")))\n\t\t\t\treturn nil, nil\n\t\t\tdefault:\n\t\t\t\tres.Code = 400\n\t\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Unsupported format\")))\n\t\t\t\treturn nil, nil\n\t\t\t}\n\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tfileName := fmt.Sprintf(\"%s.%s\", group.Name, req.Format)\n\t\t\tfiles = append(files, ExportFile{\n\t\t\t\tName:     fileName,\n\t\t\t\tContent:  content,\n\t\t\t\tContacts: len(filteredContacts),\n\t\t\t})\n\t\t}\n\n\t\tif len(files) == 0 {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No contacts to export\")))\n\t\t\treturn nil, nil\n\t\t}\n\n\t\t// Create ZIP file in memory\n\t\ttimestamp := gtime.Now().Format(\"YmdHis\")\n\t\tzipFileName := fmt.Sprintf(\"contacts_export_%s.zip\", timestamp)\n\n\t\tzipContent, err := createZipFileInMemory(files)\n\t\tif err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to create zip file\")))\n\t\t\treturn nil, nil\n\t\t}\n\n\t\t// Set response headers for ZIP file download\n\t\tr.Response.Header().Set(\"Content-Type\", \"application/octet-stream\")\n\t\tr.Response.Header().Set(\"Content-Disposition\", \"attachment; filename=\"+zipFileName)\n\t\tr.Response.Write(zipContent)\n\t}\n\n\tvar groups []*entity.ContactGroup\n\terr = g.DB().Model(\"bm_contact_groups\").Ctx(ctx).WhereIn(\"id\", req.GroupIds).Scan(&groups)\n\tgroupNames := make([]string, 0, len(groups))\n\tfor _, group := range groups {\n\t\tgroupNames = append(groupNames, group.Name)\n\t}\n\tgroupNamesStr := strings.Join(groupNames, \", \")\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.ContactsGroup,\n\t\tLog:  fmt.Sprintf(\"Contacts Group exported successfully: %s \", groupNamesStr),\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Contacts exported successfully\"))\n\treturn res, nil\n}\n\n// ExportFile Export file information\ntype ExportFile struct {\n\tName     string // File name\n\tContent  string // File content\n\tContacts int    // Contact count\n}\n\n// createZipFileInMemory creates a ZIP file in memory\nfunc createZipFileInMemory(files []ExportFile) ([]byte, error) {\n\tvar buf bytes.Buffer\n\tzipWriter := zip.NewWriter(&buf)\n\n\tfor _, file := range files {\n\t\t// Create zip entry\n\t\tzipEntry, err := zipWriter.Create(file.Name)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to create zip entry for %s: %v\", file.Name, err)\n\t\t}\n\n\t\t// Write file content to zip\n\t\t_, err = zipEntry.Write([]byte(file.Content))\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to write content to zip for %s: %v\", file.Name, err)\n\t\t}\n\t}\n\n\terr := zipWriter.Close()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to close zip writer: %v\", err)\n\t}\n\n\treturn buf.Bytes(), nil\n}\n\n// exportContactsToCSV exports contacts to CSV format\nfunc exportContactsToCSV(contacts []*entity.Contact) (string, error) {\n\tvar buf bytes.Buffer\n\twriter := csv.NewWriter(&buf)\n\n\t// Write CSV headers\n\theaders := []string{\n\t\t\"email\",       // Email address\n\t\t\"attributes\",  // Attributes\n\t\t\"active\",      // Active status\n\t\t\"create_time\", // Create time\n\t}\n\tif err := writer.Write(headers); err != nil {\n\t\treturn \"\", err\n\t}\n\n\t// Write data rows\n\tfor _, c := range contacts {\n\t\tif c.Attribs == nil {\n\t\t\tc.Attribs = make(map[string]string)\n\t\t}\n\t\t// Convert attributes to JSON string\n\t\tattribsJSON, err := json.Marshal(c.Attribs)\n\t\tif err != nil {\n\t\t\tattribsJSON = []byte(\"{}\")\n\t\t}\n\n\t\t// Format time\n\t\tcreatedAt := \"\"\n\t\tif c.CreateTime != 0 {\n\t\t\t// Convert timestamp to time string\n\t\t\tt := time.Unix(int64(c.CreateTime), 0)\n\t\t\tcreatedAt = t.Format(\"2006-01-02 15:04:05\")\n\t\t}\n\n\t\trow := []string{\n\t\t\tc.Email,\n\t\t\tstring(attribsJSON),\n\t\t\tfmt.Sprintf(\"%d\", c.Active),\n\t\t\tcreatedAt,\n\t\t}\n\t\tif err := writer.Write(row); err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t}\n\n\twriter.Flush()\n\treturn buf.String(), nil\n}\n\n// exportContactsToTXT exports contacts to TXT format\nfunc exportContactsToTXT(contacts []*entity.Contact) (string, error) {\n\tvar lines []string\n\tfor _, c := range contacts {\n\t\t// Convert attributes to JSON string\n\t\tattribsJSON, err := json.Marshal(c.Attribs)\n\t\tif err != nil {\n\t\t\tattribsJSON = []byte(\"{}\")\n\t\t}\n\n\t\t// Format create time\n\t\tcreatedAt := \"\"\n\t\tif c.CreateTime != 0 {\n\t\t\t// Convert timestamp to time string\n\t\t\tt := time.Unix(int64(c.CreateTime), 0)\n\t\t\tcreatedAt = t.Format(\"2006-01-02 15:04:05\")\n\t\t}\n\n\t\t// Format: email,attributes,active,created_at\n\t\tline := fmt.Sprintf(\"%s,%s,%d,%s\",\n\t\t\tc.Email,\n\t\t\tstring(attribsJSON),\n\t\t\tc.Active,\n\t\t\tcreatedAt,\n\t\t)\n\t\tlines = append(lines, line)\n\t}\n\treturn strings.Join(lines, \"\\n\"), nil\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_get_contacts_trend.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) GetContactsTrend(ctx context.Context, req *v1.GetContactsTrendReq) (res *v1.GetContactsTrendRes, err error) {\n\tres = &v1.GetContactsTrendRes{}\n\n\tvar timeGranularity string\n\tvar startTime, endTime time.Time\n\tnow := time.Now()\n\n\tswitch req.TimeInterval {\n\tcase 7, 30, 90, 180:\n\t\ttimeGranularity = \"daily\"\n\t\tstartTime = now.AddDate(0, 0, -req.TimeInterval).Truncate(24 * time.Hour)\n\t\tendTime = now.Truncate(24 * time.Hour).Add(24*time.Hour - time.Second)\n\tcase 365, 0:\n\t\ttimeGranularity = \"monthly\"\n\t\tstartTime = now.AddDate(0, -11, 0).Truncate(24 * time.Hour)\n\t\tendTime = now.Truncate(24 * time.Hour).Add(24*time.Hour - time.Second)\n\tdefault:\n\t\ttimeGranularity = \"monthly\"\n\t\tstartTime = now.AddDate(0, -11, 0).Truncate(24 * time.Hour)\n\t\tendTime = now.Truncate(24 * time.Hour).Add(24*time.Hour - time.Second)\n\t}\n\n\tg.Log().Infof(ctx, \"GetContactsTrend: TimeInterval=%d, Granularity=%s, StartTime=%s, EndTime=%s, Active=%d, LastActiveStatus=%d\",\n\t\treq.TimeInterval, timeGranularity, startTime.Format(\"2006-01-02 15:04:05\"), endTime.Format(\"2006-01-02 15:04:05\"), req.Active, req.LastActiveStatus)\n\n\tbaseModel := g.DB().Model(\"bm_contacts c\").Safe()\n\n\tif req.GroupId > 0 {\n\t\tbaseModel = baseModel.Where(\"c.group_id\", req.GroupId)\n\t}\n\n\tif req.Active != -1 {\n\t\tbaseModel = baseModel.Where(\"c.active\", req.Active)\n\t}\n\n\tif req.Tags != \"\" && req.Tags != \"-1\" {\n\t\ttagIds := strings.Split(req.Tags, \",\")\n\t\tvar validTagIds []int\n\t\tfor _, tagIdStr := range tagIds {\n\t\t\ttagIdStr = strings.TrimSpace(tagIdStr)\n\t\t\tif tagIdStr != \"\" {\n\t\t\t\tif tagId, err := strconv.Atoi(tagIdStr); err == nil && tagId > 0 {\n\t\t\t\t\tvalidTagIds = append(validTagIds, tagId)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif len(validTagIds) > 0 {\n\t\t\tbaseModel = baseModel.InnerJoin(\"bm_contact_tags ct\", \"c.id = ct.contact_id\").\n\t\t\t\tWhereIn(\"ct.tag_id\", validTagIds)\n\t\t}\n\t}\n\n\tif req.LastActiveStatus != -1 && req.TimeInterval > 0 {\n\t\tvar timeCondition time.Time\n\t\tswitch req.TimeInterval {\n\t\tcase 7:\n\t\t\ttimeCondition = now.AddDate(0, 0, -7)\n\t\tcase 30:\n\t\t\ttimeCondition = now.AddDate(0, -1, 0)\n\t\tcase 90:\n\t\t\ttimeCondition = now.AddDate(0, -3, 0)\n\t\tcase 180:\n\t\t\ttimeCondition = now.AddDate(0, -6, 0)\n\t\tcase 365:\n\t\t\ttimeCondition = now.AddDate(-1, 0, 0)\n\t\t}\n\n\t\ttimeConditionUnix := timeCondition.Unix()\n\n\t\tif req.LastActiveStatus == 1 {\n\n\t\t\tbaseModel = baseModel.Where(\"c.last_active_at >= ?\", timeConditionUnix)\n\t\t} else if req.LastActiveStatus == 0 {\n\n\t\t\tbaseModel = baseModel.Where(\"c.last_active_at < ? OR c.last_active_at IS NULL OR c.last_active_at = 0\", timeConditionUnix)\n\t\t}\n\n\t\tg.Log().Infof(ctx, \"Active status filter applied: LastActiveStatus=%d, TimeCondition=%s\",\n\t\t\treq.LastActiveStatus, timeCondition.Format(\"2006-01-02 15:04:05\"))\n\t}\n\n\tif req.LastActiveStatus == -1 {\n\n\t\tstartTimeUnix := startTime.Unix()\n\t\tendTimeUnix := endTime.Unix()\n\t\tbaseModel = baseModel.WhereBetween(\"c.create_time\", startTimeUnix, endTimeUnix)\n\t}\n\n\tres.Data.TimeGranularity = timeGranularity\n\n\tif timeGranularity == \"daily\" {\n\n\t\terr = c.getDailyTrend(ctx, baseModel, startTime, endTime, req.Active, req.LastActiveStatus, res)\n\t} else {\n\n\t\terr = c.getMonthlyTrend(ctx, baseModel, startTime, endTime, req.Active, req.LastActiveStatus, res)\n\t}\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get contacts trend: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Get contacts trend successfully\"))\n\treturn\n}\n\nfunc (c *ControllerV1) getDailyTrend(ctx context.Context, baseModel *gdb.Model, startTime, endTime time.Time, activeFilter, lastActiveStatus int, res *v1.GetContactsTrendRes) error {\n\n\tdata, err := c.getDailyTrendByStatus(ctx, baseModel, activeFilter, lastActiveStatus)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tres.Data.DailyData = c.fillDailyTrendData(data, startTime, endTime)\n\treturn nil\n}\n\nfunc (c *ControllerV1) getMonthlyTrend(ctx context.Context, baseModel *gdb.Model, startTime, endTime time.Time, activeFilter, lastActiveStatus int, res *v1.GetContactsTrendRes) error {\n\n\tdata, err := c.getMonthlyTrendByStatus(ctx, baseModel, activeFilter, lastActiveStatus)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tres.Data.MonthlyData = c.fillMonthlyTrendData(data, startTime, endTime)\n\treturn nil\n}\n\nfunc (c *ControllerV1) getDailyTrendByStatus(ctx context.Context, model *gdb.Model, active, lastActiveStatus int) ([]struct {\n\tDate  string `json:\"date\"`\n\tCount int    `json:\"count\"`\n}, error) {\n\tvar data []struct {\n\t\tDate  string `json:\"date\"`\n\t\tCount int    `json:\"count\"`\n\t}\n\n\tvar timeField string\n\tif lastActiveStatus != -1 {\n\n\t\ttimeField = \"c.last_active_at\"\n\t} else {\n\n\t\ttimeField = \"c.create_time\"\n\t}\n\n\tqueryModel := model.Clone()\n\tif active != -1 {\n\t\tqueryModel = queryModel.Where(\"c.active\", active)\n\t}\n\n\terr := queryModel.\n\t\tFields(\"TO_CHAR(TO_TIMESTAMP(\" + timeField + \"), 'YYYY-MM-DD') as date, COUNT(DISTINCT c.id) as count\").\n\t\tGroup(\"TO_CHAR(TO_TIMESTAMP(\" + timeField + \"), 'YYYY-MM-DD')\").\n\t\tOrder(\"date ASC\").\n\t\tScan(&data)\n\n\tif err != nil {\n\t\tg.Log().Error(ctx, \"Failed to get daily trend data for active=%d, lastActiveStatus=%d: %v\", active, lastActiveStatus, err)\n\t\treturn nil, err\n\t}\n\n\tg.Log().Debug(ctx, \"getDailyTrendByStatus: active=%d, lastActiveStatus=%d, timeField=%s, results=%d\",\n\t\tactive, lastActiveStatus, timeField, len(data))\n\n\treturn data, nil\n}\n\nfunc (c *ControllerV1) getMonthlyTrendByStatus(ctx context.Context, model *gdb.Model, active, lastActiveStatus int) ([]struct {\n\tMonth string `json:\"month\"`\n\tCount int    `json:\"count\"`\n}, error) {\n\tvar data []struct {\n\t\tMonth string `json:\"month\"`\n\t\tCount int    `json:\"count\"`\n\t}\n\n\tvar timeField string\n\tif lastActiveStatus != -1 {\n\n\t\ttimeField = \"c.last_active_at\"\n\t} else {\n\n\t\ttimeField = \"c.create_time\"\n\t}\n\n\tqueryModel := model.Clone()\n\tif active != -1 {\n\t\tqueryModel = queryModel.Where(\"c.active\", active)\n\t}\n\n\terr := queryModel.\n\t\tFields(\"TO_CHAR(TO_TIMESTAMP(\" + timeField + \"), 'YYYY-MM') as month, COUNT(DISTINCT c.id) as count\").\n\t\tGroup(\"TO_CHAR(TO_TIMESTAMP(\" + timeField + \"), 'YYYY-MM')\").\n\t\tOrder(\"month ASC\").\n\t\tScan(&data)\n\n\tif err != nil {\n\t\tg.Log().Error(ctx, \"Failed to get monthly trend data for active=%d, lastActiveStatus=%d: %v\", active, lastActiveStatus, err)\n\t\treturn nil, err\n\t}\n\n\tg.Log().Debug(ctx, \"getMonthlyTrendByStatus: active=%d, lastActiveStatus=%d, timeField=%s, results=%d\",\n\t\tactive, lastActiveStatus, timeField, len(data))\n\n\treturn data, nil\n}\n\nfunc (c *ControllerV1) fillDailyTrendData(data []struct {\n\tDate  string `json:\"date\"`\n\tCount int    `json:\"count\"`\n}, startTime, endTime time.Time) []*v1.DailyCount {\n\n\tdataMap := make(map[string]int)\n\tfor _, item := range data {\n\t\tdataMap[item.Date] = item.Count\n\t}\n\n\tvar result []*v1.DailyCount\n\n\tfor d := startTime; d.Before(endTime) || d.Equal(endTime); d = d.AddDate(0, 0, 1) {\n\t\tdateStr := d.Format(\"2006-01-02\")\n\n\t\tcount := 0\n\t\tif c, exists := dataMap[dateStr]; exists {\n\t\t\tcount = c\n\t\t}\n\n\t\tresult = append(result, &v1.DailyCount{\n\t\t\tDate:  dateStr,\n\t\t\tCount: count,\n\t\t})\n\t}\n\n\treturn result\n}\n\nfunc (c *ControllerV1) fillMonthlyTrendData(data []struct {\n\tMonth string `json:\"month\"`\n\tCount int    `json:\"count\"`\n}, startTime, endTime time.Time) []*v1.MonthlyCount {\n\n\tdataMap := make(map[string]int)\n\tfor _, item := range data {\n\t\tdataMap[item.Month] = item.Count\n\t}\n\n\tvar result []*v1.MonthlyCount\n\n\tfor d := startTime; d.Before(endTime) || d.Equal(endTime); d = d.AddDate(0, 1, 0) {\n\t\tmonthStr := d.Format(\"2006-01\")\n\n\t\tcount := 0\n\t\tif c, exists := dataMap[monthStr]; exists {\n\t\t\tcount = c\n\t\t}\n\n\t\tresult = append(result, &v1.MonthlyCount{\n\t\t\tDate: monthStr,\n\t\t\tCount: count,\n\t\t})\n\t}\n\n\treturn result\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_get_group_contact_count.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\n// GetGroupContactCount handles the request to calculate the total number of active contacts in multiple groups\nfunc (c *ControllerV1) GetGroupContactCount(ctx context.Context, req *v1.GetGroupContactCountReq) (res *v1.GetGroupContactCountRes, err error) {\n\tres = &v1.GetGroupContactCountRes{}\n\n\t// Validate input\n\tif len(req.GroupIds) == 0 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Group IDs cannot be empty\")))\n\t\treturn\n\t}\n\n\t// Call service function to get contact count\n\ttotal, err := contact.GetGroupContactCount(ctx, req.GroupIds)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get contact count: {}\", err.Error())))\n\t\treturn\n\t}\n\n\t// Set response data\n\tres.Data.Total = total\n\tres.SetSuccess(public.LangCtx(ctx, \"Successfully retrieved contact count\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_get_group_info.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/service/domains\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/controller/subscribe_list\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) GetGroupInfo(ctx context.Context, req *v1.GetGroupInfoReq) (res *v1.GetGroupInfoRes, err error) {\n\tres = &v1.GetGroupInfoRes{}\n\n\tgroup, err := contact.GetGroup(ctx, req.GroupId)\n\tif err != nil || group == nil {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Group not found\")))\n\t\treturn res, nil\n\t}\n\n\thostUrl := domains.GetBaseURL()\n\n\tif group.Token == \"\" {\n\t\ttoken := GfMd5Short()\n\t\tgroup.Token = token\n\t\t_, err := g.DB().Model(\"bm_contact_groups\").\n\t\t\tData(g.Map{\"token\": token}).\n\t\t\tWhere(\"id\", group.Id).\n\t\t\tUpdate()\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Failed to update the group token: %v\", err)\n\t\t}\n\t}\n\tif group.WelcomeHtml == \"\" {\n\t\thtml, drag := subscribe_list.GetDefaultTemplate(1)\n\t\tgroup.WelcomeHtml = html\n\t\tgroup.WelcomeDrag = drag\n\t}\n\tif group.ConfirmHtml == \"\" {\n\t\thtml, drag := subscribe_list.GetDefaultTemplate(2)\n\t\tgroup.ConfirmHtml = html\n\t\tgroup.ConfirmDrag = drag\n\t}\n\tif group.SuccessUrl == \"\" {\n\t\tgroup.SuccessUrl = hostUrl + \"/subscribe_success.html\"\n\t}\n\tif group.ConfirmUrl == \"\" {\n\t\tgroup.ConfirmUrl = hostUrl + \"/subscribe_confirm.html\"\n\t}\n\tif group.AlreadyUrl == \"\" {\n\t\tgroup.AlreadyUrl = hostUrl + \"/already_subscribed.html\"\n\t}\n\tif group.SubscribeForm == \"\" {\n\t\tgroup.SubscribeForm = subscribe_list.GetSubscribeFormCode(group.Token)\n\t}\n\tif group.WelcomeSubject == \"\" {\n\t\tgroup.WelcomeSubject = \"Welcome Aboard!\"\n\t}\n\tif group.ConfirmSubject == \"\" {\n\t\tgroup.ConfirmSubject = \"Confirm Your Subscription\"\n\t}\n\tif group.UnsubscribeMailHtml == \"\" {\n\t\thtml, drag := subscribe_list.GetDefaultTemplate(3)\n\t\tgroup.UnsubscribeMailHtml = html\n\t\tgroup.UnsubscribeMailDrag = drag\n\t}\n\tif group.UnsubscribeSubject == \"\" {\n\t\tgroup.UnsubscribeSubject = \"You're unsubscribed\"\n\t}\n\tif group.UnsubscribeRedirectUrl == \"\" {\n\t\tgroup.UnsubscribeRedirectUrl = hostUrl + \"/unsubscribe_success.html\"\n\t}\n\n\n\n\tDefaultDomain, err := subscribe_list.GetDefaultDomain()\n\tnoreplyEmail := \"noreply@\" + DefaultDomain\n\tcontactGroup := v1.ContactGroup{\n\t\tId:               group.Id,\n\t\tName:             group.Name,\n\t\tDescription:      group.Description,\n\t\tCreateTime:       group.CreateTime,\n\t\tUpdateTime:       group.UpdateTime,\n\t\tToken:            group.Token,\n\t\tDoubleOptin:      group.DoubleOptin,\n\t\tWelcomeHtml:      group.WelcomeHtml,\n\t\tWelcomeDrag:      group.WelcomeDrag,\n\t\tConfirmHtml:      group.ConfirmHtml,\n\t\tConfirmDrag:      group.ConfirmDrag,\n\t\tSuccessUrl:       group.SuccessUrl,\n\t\tConfirmUrl:       group.ConfirmUrl,\n\t\tAlreadyUrl:       group.AlreadyUrl,\n\t\tSubscribeForm:    group.SubscribeForm,\n\t\tConfirmSubject:   group.ConfirmSubject,\n\t\tWelcomeSubject:   group.WelcomeSubject,\n\t\tSendWelcomeEmail: group.SendWelcomeEmail,\n\t\tUnsubscribeMailHtml:    group.UnsubscribeMailHtml,\n\t\tUnsubscribeMailDrag:    group.UnsubscribeMailDrag,\n\t\tUnsubscribeSubject:     group.UnsubscribeSubject,\n\t\tUnsubscribeRedirectUrl: group.UnsubscribeRedirectUrl,\n\t\tSendUnsubscribeEmail:   group.SendUnsubscribeEmail,\n\t}\n\n\tgroupInfo := &v1.ContactGroupInfo{\n\t\tContactGroup:  contactGroup,\n\t\tSubscribeLink: hostUrl + \"/subscribe_form.html?token=\" + group.Token,\n\t\tSender:        noreplyEmail,\n\t}\n\n\tres.Data = groupInfo\n\tres.SetSuccess(public.LangCtx(ctx, \"Group info retrieved successfully\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_get_single_group_tag_contact_count.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\nfunc (c *ControllerV1) GetSingleGroupTagContactCount(ctx context.Context, req *v1.GetSingleGroupTagContactCountReq) (res *v1.GetSingleGroupTagContactCountRes, err error) {\n\tres = &v1.GetSingleGroupTagContactCountRes{}\n\n\tif len(req.TagIds) == 0 {\n\t\tGroupIds := []int{req.GroupId}\n\t\ttotal, err := contact.GetGroupContactCount(ctx, GroupIds)\n\t\tif err != nil {\n\t\t\tres.Code = 500\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get contact count: {}\", err.Error())))\n\t\t\treturn res, nil\n\t\t}\n\t\t// Set response data\n\t\tres.Data.Total = total\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Successfully retrieved contact count\"))\n\t\treturn res, nil\n\t}\n\n\tmodel := g.DB().Model(\"bm_contacts c\").\n\t\tWhere(\"c.active\", 1).\n\t\tWhere(\"c.status\", 1)\n\n\tif req.GroupId > 0 {\n\t\tmodel = model.Where(\"c.group_id\", req.GroupId)\n\t}\n\n\tif len(req.TagIds) > 0 {\n\t\tif req.TagLogic == \"AND\" {\n\t\t\t// AND logic: contact must have all tags\n\t\t\tfor i, tagId := range req.TagIds {\n\t\t\t\talias := \"ct\" + strconv.Itoa(i)\n\t\t\t\tmodel = model.InnerJoin(\n\t\t\t\t\t\"bm_contact_tags \"+alias,\n\t\t\t\t\tfmt.Sprintf(\"c.id = %s.contact_id AND %s.tag_id = %d\", alias, alias, tagId),\n\t\t\t\t)\n\t\t\t}\n\t\t} else if req.TagLogic == \"OR\" {\n\t\t\t// OR logic: contact must have at least one of the tags\n\t\t\tvar inValues []string\n\t\t\tfor _, tagId := range req.TagIds {\n\t\t\t\tinValues = append(inValues, strconv.Itoa(tagId))\n\t\t\t}\n\t\t\tsubQuery := fmt.Sprintf(\n\t\t\t\t\"(SELECT DISTINCT contact_id FROM bm_contact_tags WHERE tag_id IN (%s)) ct\",\n\t\t\t\tstrings.Join(inValues, \",\"),\n\t\t\t)\n\t\t\tmodel = model.InnerJoin(subQuery, \"c.id = ct.contact_id\")\n\t\t} else if req.TagLogic == \"NOT\" {\n\t\t\t// NOT logic: exclude contacts that have any of the specified tags\n\t\t\tvar tagIdStr []string\n\t\t\tfor _, tagId := range req.TagIds {\n\t\t\t\ttagIdStr = append(tagIdStr, strconv.Itoa(tagId))\n\t\t\t}\n\n\t\t\tsubQuery := g.DB().Model(\"bm_contact_tags\").\n\t\t\t\tFields(\"DISTINCT contact_id\").\n\t\t\t\tWhereIn(\"tag_id\", req.TagIds)\n\t\t\tmodel = model.WhereNotIn(\"c.id\", subQuery)\n\t\t}\n\t}\n\n\ttotal, err := model.Fields(\"DISTINCT c.id\").Count()\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get contact count: {}\", err.Error())))\n\t\treturn\n\t}\n\n\t// Set response data\n\tres.Data.Total = total\n\tres.SetSuccess(public.LangCtx(ctx, \"Successfully retrieved contact count\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_import_contacts.go",
    "content": "// core/internal/controller/contact/contact_v1_import_contacts.go\npackage contact\n\nimport (\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/csv\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"strings\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"github.com/gogf/gf/v2/util/gvalid\"\n)\n\nconst (\n\tImportTypeFile   = 1\n\tImportTypePaste  = 2\n\tDefaultBatchSize = 1000\n)\n\n// isCSVFormat Check if the content is in CSV format\nfunc isCSVFormat(firstLine string) bool {\n\t// 1. Check if the standard CSV header is included\n\tlowercaseLine := strings.ToLower(firstLine)\n\tif strings.Contains(lowercaseLine, \"email\") {\n\t\treturn true\n\t}\n\n\t// 2. Try to parse the first line with CSV reader\n\treader := csv.NewReader(strings.NewReader(firstLine))\n\trecord, err := reader.Read()\n\tif err != nil {\n\t\treturn false\n\t}\n\n\t// If it can be parsed into multiple columns and the first column is not a valid email address, it may be a CSV header\n\tif len(record) > 1 && !strings.Contains(record[0], \"@\") {\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// parseJSONAttributes Parse JSON attribute string\nfunc parseJSONAttributes(ctx context.Context, attribsStr string) (map[string]string, error) {\n\tg.Log().Debug(ctx, \"Parsing JSON attributes: %s\", attribsStr)\n\n\t// Handle double quote escaping\n\tattribsStr = strings.ReplaceAll(attribsStr, \"\\\"\\\"\", \"\\\"\")\n\t// Remove leading and trailing quotes\n\tattribsStr = strings.Trim(attribsStr, \"\\\"\")\n\n\tif attribsStr == \"{}\" {\n\t\treturn make(map[string]string), nil\n\t}\n\n\tvar attribs map[string]interface{}\n\tif err := json.Unmarshal([]byte(attribsStr), &attribs); err != nil {\n\t\tg.Log().Error(ctx, \"Failed to unmarshal JSON attributes: %v\", err)\n\t\treturn nil, err\n\t}\n\n\t// Convert all values to strings\n\tstringAttribs := make(map[string]string)\n\tfor k, v := range attribs {\n\t\tswitch val := v.(type) {\n\t\tcase string:\n\t\t\tstringAttribs[k] = val\n\t\t\tg.Log().Debug(ctx, \"Processed attribute %s: %s\", k, val)\n\t\tcase float64:\n\t\t\tif float64(int64(val)) == val {\n\t\t\t\tstringAttribs[k] = fmt.Sprintf(\"%d\", int64(val))\n\t\t\t} else {\n\t\t\t\tstringAttribs[k] = fmt.Sprintf(\"%g\", val)\n\t\t\t}\n\t\tcase bool:\n\t\t\tstringAttribs[k] = fmt.Sprintf(\"%v\", val)\n\t\tcase nil:\n\t\t\tstringAttribs[k] = \"\"\n\t\tdefault:\n\t\t\tstringAttribs[k] = fmt.Sprintf(\"%v\", val)\n\t\t}\n\t}\n\n\tg.Log().Debug(ctx, \"Final parsed attributes: %v\", stringAttribs)\n\treturn stringAttribs, nil\n}\n\n// parseCSVContent Parse CSV content\nfunc parseCSVContent(ctx context.Context, content string) ([]*entity.Contact, error) {\n\tvar contacts []*entity.Contact\n\treader := csv.NewReader(bytes.NewReader([]byte(content)))\n\treader.FieldsPerRecord = -1\n\treader.LazyQuotes = true\n\treader.TrimLeadingSpace = true\n\n\t// Read headers\n\theaders, err := reader.Read()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to read CSV headers: %v\", err)\n\t}\n\n\t// Find the index of the required columns\n\tcolumnIndexes := make(map[string]int)\n\tfor i, header := range headers {\n\t\theader = strings.ToLower(strings.TrimSpace(header))\n\t\tcolumnIndexes[header] = i\n\t}\n\n\t// Check the required columns\n\tif _, ok := columnIndexes[\"email\"]; !ok {\n\t\treturn nil, fmt.Errorf(\"required column 'email' not found\")\n\t}\n\n\t// Process data rows\n\tfor {\n\t\trecord, err := reader.Read()\n\t\tif err == io.EOF {\n\t\t\tbreak\n\t\t}\n\t\tif err != nil {\n\t\t\tg.Log().Debugf(ctx, \"Error reading CSV record: %v\", err)\n\t\t\tcontinue\n\t\t}\n\n\t\temail := strings.TrimSpace(record[columnIndexes[\"email\"]])\n\t\tif email == \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Validate email format\n\t\tif err := gvalid.New().Rules(\"email\").Data(email).Run(ctx); err != nil {\n\t\t\tg.Log().Debugf(ctx, \"Invalid email format in CSV, skipping: %s\", email)\n\t\t\tcontinue\n\t\t}\n\n\t\tcontact_s := &entity.Contact{\n\t\t\tEmail:   email,\n\t\t\tActive:  1,\n\t\t\tAttribs: make(map[string]string),\n\t\t}\n\n\t\t// Process active field\n\t\tif activeIdx, ok := columnIndexes[\"active\"]; ok && len(record) > activeIdx {\n\t\t\tactiveStr := strings.TrimSpace(record[activeIdx])\n\t\t\tif activeStr == \"0\" {\n\t\t\t\tcontact_s.Active = 0\n\t\t\t} else if activeStr == \"1\" {\n\t\t\t\tcontact_s.Active = 1\n\t\t\t}\n\t\t}\n\n\t\t// Process attributes\n\t\tif attribsIdx, ok := columnIndexes[\"attributes\"]; ok && len(record) > attribsIdx {\n\t\t\tattribsStr := strings.TrimSpace(record[attribsIdx])\n\t\t\tif attribsStr != \"\" {\n\t\t\t\tattribs, err := parseJSONAttributes(ctx, attribsStr)\n\t\t\t\tif err != nil {\n\t\t\t\t\tg.Log().Debugf(ctx, \"Failed to parse attributes for email %s: %v\", email, err)\n\t\t\t\t} else {\n\t\t\t\t\tcontact_s.Attribs = attribs\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tcontacts = append(contacts, contact_s)\n\t}\n\n\treturn contacts, nil\n}\n\n// parseEmailContent parse email content with attributes\nfunc parseEmailContent(ctx context.Context, content string, importType int) []*entity.Contact {\n\tcontent = strings.TrimSpace(content)\n\tif content == \"\" {\n\t\treturn nil\n\t}\n\n\tlines := strings.Split(content, \"\\n\")\n\tif len(lines) == 0 {\n\t\treturn nil\n\t}\n\n\t// If it is a CSV format and the import type is file upload\n\tif isCSVFormat(lines[0]) && importType == ImportTypeFile {\n\t\tcontacts, err := parseCSVContent(ctx, content)\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Failed to parse CSV content: %v\", err)\n\t\t\treturn nil\n\t\t}\n\t\treturn contacts\n\t}\n\n\t// Process normal text format\n\tvar contacts []*entity.Contact\n\tfor _, line := range lines {\n\t\tline = strings.TrimSpace(line)\n\t\tif line == \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tparts := strings.SplitN(line, \",\", 2)\n\t\temail := strings.TrimSpace(parts[0])\n\t\tif email == \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tcontactInfo := &entity.Contact{\n\t\t\tEmail:   email,\n\t\t\tActive:  1,\n\t\t\tAttribs: make(map[string]string),\n\t\t}\n\n\t\tif len(parts) > 1 {\n\t\t\tattribsStr := strings.TrimSpace(parts[1])\n\t\t\tif attribsStr != \"\" && attribsStr != \"null\" {\n\t\t\t\tattribs, err := parseJSONAttributes(ctx, attribsStr)\n\t\t\t\tif err == nil {\n\t\t\t\t\tcontactInfo.Attribs = attribs\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tcontacts = append(contacts, contactInfo)\n\t}\n\n\treturn contacts\n}\n\nfunc (c *ControllerV1) ImportContacts(ctx context.Context, req *v1.ImportContactsReq) (res *v1.ImportContactsRes, err error) {\n\tres = &v1.ImportContactsRes{}\n\n\t// Parameter validation\n\tif err := c.validateImportRequest(ctx, req); err != nil {\n\t\tres.Code = 400\n\t\tres.SetError(err)\n\t\treturn res, nil\n\t}\n\n\tvar contactList []*entity.Contact\n\n\t// Process content based on import type\n\tswitch req.ImportType {\n\tcase ImportTypeFile:\n\t\tif req.FileData == \"\" {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"File content cannot be empty\")))\n\t\t\treturn res, nil\n\t\t}\n\n\t\tg.Log().Debug(ctx, \"Processing file import\")\n\t\tcontactList = parseEmailContent(ctx, req.FileData, req.ImportType)\n\n\tcase ImportTypePaste:\n\t\tif req.Contacts == \"\" {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Contacts content cannot be empty\")))\n\t\t\treturn res, nil\n\t\t}\n\t\tg.Log().Debug(ctx, \"Processing paste import\")\n\t\tcontactList = parseEmailContent(ctx, req.Contacts, req.ImportType)\n\n\tdefault:\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Invalid import type\")))\n\t\treturn res, nil\n\t}\n\n\tif len(contactList) == 0 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No valid contacts found\")))\n\t\treturn res, nil\n\t}\n\n\tg.Log().Debug(ctx, \"Found %d valid contacts to import\", len(contactList))\n\n\t// Import contacts to each group\n\tsuccessCount := 0\n\tfor _, groupId := range req.GroupIds {\n\t\tvar groupContacts []*entity.Contact\n\t\tfor _, c := range contactList {\n\t\t\tcontactInfo := *c\n\t\t\tcontactInfo.GroupId = groupId\n\n\t\t\tif err := gvalid.New().Rules(\"email\").Data(contactInfo.Email).Run(ctx); err != nil {\n\t\t\t\tg.Log().Debugf(ctx, \"Invalid email format in CSV, skipping: %s\", contactInfo.Email)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Fix: If \"active\" is not explicitly specified, then use \"DefaultActive\" as specified in the request.\n\t\t\tif c.Active == 1 {\n\t\t\t\tcontactInfo.Active = req.DefaultActive\n\t\t\t}\n\n\t\t\tcontactInfo.Status = req.Status\n\t\t\tgroupContacts = append(groupContacts, &contactInfo)\n\n\t\t\t// Print the attributes of each contact for debugging\n\t\t\tg.Log().Debug(ctx, \"Contact to import - Email: %s, Active: %d, Attributes: %v\",\n\t\t\t\tcontactInfo.Email,\n\t\t\t\tcontactInfo.Active,\n\t\t\t\tcontactInfo.Attribs)\n\t\t}\n\n\t\tif len(groupContacts) > 0 {\n\t\t\tcount, importErr := c.importContactsToGroup(ctx, groupContacts, req.Overwrite)\n\t\t\tif importErr != nil {\n\t\t\t\tres.Code = 500\n\t\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to import contacts: {}\", importErr.Error())))\n\t\t\t\treturn res, importErr\n\t\t\t}\n\t\t\tsuccessCount += count\n\t\t}\n\t}\n\tvar groups []*entity.ContactGroup\n\terr = g.DB().Model(\"bm_contact_groups\").Ctx(ctx).WhereIn(\"id\", req.GroupIds).Scan(&groups)\n\tgroupNames := make([]string, 0, len(groups))\n\tfor _, group := range groups {\n\t\tgroupNames = append(groupNames, group.Name)\n\t}\n\tgroupNamesStr := strings.Join(groupNames, \", \")\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Contacts,\n\t\tLog:  fmt.Sprintf(\"Import contacts: %s successfully\", groupNamesStr),\n\t\tData: contactList,\n\t})\n\n\tres.Data.ImportedCount = successCount\n\tres.SetSuccess(public.LangCtx(ctx, \"Successfully imported {} contacts\", successCount))\n\treturn res, nil\n}\n\n// validateImportRequest Validate import request parameters\nfunc (c *ControllerV1) validateImportRequest(ctx context.Context, req *v1.ImportContactsReq) error {\n\tif len(req.GroupIds) == 0 {\n\t\treturn gerror.New(public.LangCtx(ctx, \"Group IDs cannot be empty\"))\n\t}\n\n\t// Check if the group exists\n\tfor _, groupId := range req.GroupIds {\n\t\t_, err := contact.GetGroup(ctx, groupId)\n\t\tif err != nil {\n\t\t\treturn gerror.New(public.LangCtx(ctx, \"Group {} does not exist\", groupId))\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// importContactsToGroup Import contacts to the specified group\nfunc (c *ControllerV1) importContactsToGroup(ctx context.Context, contacts []*entity.Contact, overwrite int) (int, error) {\n\tif overwrite == 1 {\n\t\treturn contact.BatchCreateContactsWithOverwrite(ctx, contacts)\n\t}\n\treturn contact.BatchCreateContactsIgnoreDuplicate(ctx, contacts)\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_list_contacts.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) ListContacts(ctx context.Context, req *v1.ListContactsReq) (res *v1.ListContactsRes, err error) {\n\tres = &v1.ListContactsRes{}\n\n\tif req.Page < 1 {\n\t\treq.Page = DefaultPage\n\t}\n\tif req.PageSize < 1 || req.PageSize > MaxPageSize {\n\t\treq.PageSize = DefaultPageSize\n\t}\n\tif req.Status < 0 || req.Status > 1 {\n\t\treq.Status = 1 // Default to active\n\t}\n\n\t// Get contacts list\n\ttotal, list, err := contact.GetContactsWithPage(ctx, req.Page, req.PageSize, req.GroupId, req.Keyword, req.Status)\n\tif err != nil {\n\t\tg.Log().Errorf(ctx, \"Failed to get contacts list: %v, group ID: %d, keyword: %s, status: %d\", err, req.GroupId, req.Keyword, req.Status)\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get contacts list: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tapiList := make([]*v1.Contact, 0)\n\temailMap := make(map[string]*v1.Contact)\n\n\t// filter out duplicate emails\n\tfor _, contactOne := range list {\n\t\tif _, exists := emailMap[contactOne.Email]; !exists {\n\t\t\tcontactInfo := &v1.Contact{\n\t\t\t\tId:         contactOne.Id,\n\t\t\t\tEmail:      contactOne.Email,\n\t\t\t\tGroupId:    contactOne.GroupId,\n\t\t\t\tActive:     contactOne.Active,\n\t\t\t\tTaskId:     contactOne.TaskId,\n\t\t\t\tCreateTime: contactOne.CreateTime,\n\t\t\t\tGroups:     make([]v1.GroupInfo, 0),\n\t\t\t\tStatus:     contactOne.Status,\n\t\t\t\tAttribs:    contactOne.Attribs,\n\t\t\t}\n\t\t\temailMap[contactOne.Email] = contactInfo\n\t\t\tapiList = append(apiList, contactInfo)\n\t\t}\n\t}\n\n\t// Get groups for each contact\n\tfor email, contactInfo := range emailMap {\n\t\tgroups, err := contact.GetContactGroupsInfo(ctx, email, req.Status)\n\t\tif err != nil {\n\t\t\tg.Log().Debugf(ctx, \"Failed to get groups for contact %s: %v\", email, err)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Add group information to the contact\n\t\tfor _, group := range groups {\n\t\t\tcontactInfo.Groups = append(contactInfo.Groups, v1.GroupInfo{\n\t\t\t\tId:   group.Id,\n\t\t\t\tName: group.Name,\n\t\t\t})\n\t\t}\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = apiList\n\tres.SetSuccess(public.LangCtx(ctx, \"Get contacts list successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_list_contacts_groups.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) ListContactsGroups(ctx context.Context, req *v1.ListContactsGroupsReq) (res *v1.ListContactsGroupsRes, err error) {\n\tres = &v1.ListContactsGroupsRes{}\n\n\tgroups, err := contact.GetAllGroups(ctx, req.Keyword)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tres.Data.List = groups\n\tres.SetSuccess(public.LangCtx(ctx, \"Get all contact groups successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_list_contacts_ndp.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"database/sql\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) ListContactsNDP(ctx context.Context, req *v1.ListContactsNDPReq) (res *v1.ListContactsNDPRes, err error) {\n\tres = &v1.ListContactsNDPRes{}\n\n\tif req.Page < 1 {\n\t\treq.Page = 1\n\t}\n\tif req.PageSize < 1 || req.PageSize > 1000 {\n\t\treq.PageSize = 20\n\t}\n\n\tif req.SortBy == \"\" {\n\t\treq.SortBy = \"create_time\"\n\t}\n\tif req.SortOrder == \"\" {\n\t\treq.SortOrder = \"desc\"\n\t}\n\n\tmodel := g.DB().Model(\"bm_contacts c\").Safe()\n\n\tif req.GroupId > 0 {\n\t\tmodel = model.Where(\"c.group_id\", req.GroupId)\n\t}\n\tif req.Keyword != \"\" {\n\t\tmodel = model.WhereLike(\"c.email\", \"%\"+req.Keyword+\"%\")\n\t}\n\tif req.Active != -1 {\n\t\tmodel = model.Where(\"c.active\", req.Active)\n\t}\n\n\tif req.Tags != \"\" && req.Tags != \"-1\" {\n\t\ttagIds := strings.Split(req.Tags, \",\")\n\t\tvar validTagIds []int\n\t\tfor _, tagIdStr := range tagIds {\n\t\t\ttagIdStr = strings.TrimSpace(tagIdStr)\n\t\t\tif tagIdStr != \"\" {\n\t\t\t\tif tagId, err := strconv.Atoi(tagIdStr); err == nil && tagId > 0 {\n\t\t\t\t\tvalidTagIds = append(validTagIds, tagId)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif len(validTagIds) > 0 {\n\n\t\t\tmodel = model.InnerJoin(\"bm_contact_tags ct\", \"c.id = ct.contact_id\").\n\t\t\t\tWhereIn(\"ct.tag_id\", validTagIds)\n\t\t}\n\t}\n\n\tif req.LastActiveStatus != -1 && req.TimeInterval > 0 {\n\t\tnow := time.Now()\n\t\tvar timeCondition time.Time\n\n\t\tswitch req.TimeInterval {\n\t\tcase 7:\n\t\t\ttimeCondition = now.AddDate(0, 0, -7)\n\t\tcase 30:\n\t\t\ttimeCondition = now.AddDate(0, -1, 0)\n\t\tcase 90:\n\t\t\ttimeCondition = now.AddDate(0, -3, 0)\n\t\tcase 180:\n\t\t\ttimeCondition = now.AddDate(0, -6, 0)\n\t\tcase 365:\n\t\t\ttimeCondition = now.AddDate(-1, 0, 0)\n\t\t}\n\n\t\ttimeConditionUnix := timeCondition.Unix()\n\n\t\tif req.LastActiveStatus == 1 {\n\n\t\t\tmodel = model.Where(\"c.last_active_at >= ?\", timeConditionUnix)\n\t\t} else if req.LastActiveStatus == 0 {\n\n\t\t\tmodel = model.Where(\"c.last_active_at < ? OR c.last_active_at IS NULL OR c.last_active_at = 0\", timeConditionUnix)\n\t\t}\n\t}\n\n\tif req.Tags != \"\" && req.Tags != \"-1\" {\n\t\tmodel = model.Group(\"c.id\")\n\t}\n\n\tcountModel := model.Clone()\n\ttotal, err := countModel.Count()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get contacts count: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tvar orderBy string\n\tswitch req.SortBy {\n\tcase \"create_time\":\n\t\torderBy = \"c.create_time\"\n\tcase \"last_active_at\":\n\t\torderBy = \"c.last_active_at\"\n\tdefault:\n\t\torderBy = \"c.create_time\"\n\t}\n\n\tif req.SortOrder == \"asc\" {\n\t\torderBy += \" ASC\"\n\t} else {\n\t\torderBy += \" DESC\"\n\t}\n\n\torderBy += \", c.id DESC\"\n\n\tvar contacts []*v1.Contact\n\tqueryModel := model.Fields(\"c.*, cg.name as group_name\").\n\t\tLeftJoin(\"bm_contact_groups cg\", \"c.group_id = cg.id\")\n\n\tif req.Tags != \"\" && req.Tags != \"-1\" {\n\t\tqueryModel = queryModel.Group(\"c.id, cg.name\")\n\t}\n\n\terr = queryModel.Order(orderBy).\n\t\tPage(req.Page, req.PageSize).\n\t\tScan(&contacts)\n\n\tif err != nil && err != sql.ErrNoRows {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get contacts list: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tif len(contacts) > 0 {\n\t\terr = c.attachContactTags(ctx, contacts)\n\t\tif err != nil {\n\t\t\tg.Log().Warning(ctx, \"Failed to attach tags to contacts: %v\", err)\n\t\t}\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = contacts\n\tres.SetSuccess(public.LangCtx(ctx, \"Get contacts list successfully\"))\n\treturn\n}\n\nfunc (c *ControllerV1) attachContactTags(ctx context.Context, contacts []*v1.Contact) error {\n\tif len(contacts) == 0 {\n\t\treturn nil\n\t}\n\n\tcontactIds := make([]int, len(contacts))\n\tcontactMap := make(map[int]*v1.Contact)\n\tfor i, contact := range contacts {\n\t\tcontactIds[i] = contact.Id\n\t\tcontactMap[contact.Id] = contact\n\n\t\tcontact.Tags = []v1.TagInfo{}\n\t}\n\n\tvar contactTags []struct {\n\t\tContactId  int    `json:\"contact_id\"`\n\t\tTagId      int    `json:\"tag_id\"`\n\t\tTagName    string `json:\"tag_name\"`\n\t\tCreateTime int    `json:\"create_time\"`\n\t}\n\n\terr := g.DB().Model(\"bm_contact_tags ct\").\n\t\tLeftJoin(\"bm_tags t\", \"ct.tag_id = t.id\").\n\t\tFields(\"ct.contact_id, t.id as tag_id, t.name as tag_name, ct.create_time\").\n\t\tWhereIn(\"ct.contact_id\", contactIds).\n\t\tOrder(\"ct.create_time DESC\").\n\t\tScan(&contactTags)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tfor _, contactTag := range contactTags {\n\t\tif contact, exists := contactMap[contactTag.ContactId]; exists {\n\t\t\ttagInfo := v1.TagInfo{\n\t\t\t\tId:         contactTag.TagId,\n\t\t\t\tName:       contactTag.TagName,\n\t\t\t\tCreateTime: contactTag.CreateTime,\n\t\t\t}\n\t\t\tcontact.Tags = append(contact.Tags, tagInfo)\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_list_groups.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) ListGroups(ctx context.Context, req *v1.ListGroupsReq) (res *v1.ListGroupsRes, err error) {\n\n\tres = &v1.ListGroupsRes{}\n\t// Handle request parameters\n\tpage := req.Page\n\tif page <= 0 {\n\t\tpage = DefaultPage\n\t}\n\n\tpageSize := req.PageSize\n\tif pageSize <= 0 {\n\t\tpageSize = DefaultPageSize\n\t}\n\n\t// Get group list\n\tgroups, total, err := contact.ContactsGroupWithPage(ctx, page, pageSize, req.Keyword)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get group list {}\", err.Error())))\n\t\treturn\n\t}\n\t//hostUrl := domains.GetBaseURL()\n\t// Convert group information\n\tgroupInfos := make([]*v1.ContactGroupInfo, 0, len(groups))\n\tfor _, group := range groups {\n\t\t// Get statistics information\n\t\tactiveCount, err := contact.CountContactsByGroup(ctx, group.Id, 1)\n\t\tif err != nil {\n\t\t\tactiveCount = 0\n\t\t}\n\n\t\tunsubscribeCount, err := contact.CountContactsByGroup(ctx, group.Id, 0)\n\t\tif err != nil {\n\t\t\tunsubscribeCount = 0\n\t\t}\n\n\t\t// If the group token is empty, generate a new token\n\t\tif group.Token == \"\" {\n\n\t\t\ttoken := GfMd5Short()\n\t\t\tgroup.Token = token\n\t\t\t_, err := g.DB().Model(\"bm_contact_groups\").\n\t\t\t\tData(g.Map{\"token\": token}).\n\t\t\t\tWhere(\"id\", group.Id).\n\t\t\t\tUpdate()\n\t\t\tif err != nil {\n\t\t\t\tg.Log().Error(ctx, \"Failed to update the group token: %v\", err)\n\t\t\t}\n\t\t}\n\t\t//if group.WelcomeHtml == \"\" {\n\t\t//\thtml, drag := subscribe_list.GetDefaultTemplate(1)\n\t\t//\tgroup.WelcomeHtml = html\n\t\t//\tgroup.WelcomeDrag = drag\n\t\t//}\n\t\t//if group.ConfirmHtml == \"\" {\n\t\t//\thtml, drag := subscribe_list.GetDefaultTemplate(2)\n\t\t//\tgroup.ConfirmHtml = html\n\t\t//\tgroup.ConfirmDrag = drag\n\t\t//}\n\t\t//if group.SuccessUrl == \"\" {\n\t\t//\tgroup.SuccessUrl = hostUrl + \"/subscribe_success.html\"\n\t\t//}\n\t\t//if group.ConfirmUrl == \"\" {\n\t\t//\tgroup.ConfirmUrl = hostUrl + \"/subscribe_confirm.html\"\n\t\t//}\n\t\t//if group.AlreadyUrl == \"\" {\n\t\t//\tgroup.AlreadyUrl = hostUrl + \"/already_subscribed.html\"\n\t\t//}\n\t\t//if group.SubscribeForm == \"\" {\n\t\t//\tgroup.SubscribeForm = subscribe_list.GetSubscribeFormCode(group.Token)\n\t\t//}\n\t\t//if group.WelcomeSubject == \"\" {\n\t\t//\tgroup.WelcomeSubject = \"Welcome Aboard!\"\n\t\t//}\n\t\t//if group.ConfirmSubject == \"\" {\n\t\t//\tgroup.ConfirmSubject = \"Confirm Your Subscription\"\n\t\t//}\n\n\t\tcontactGroup := v1.ContactGroup{\n\t\t\tId:               group.Id,\n\t\t\tName:             group.Name,\n\t\t\tDescription:      group.Description,\n\t\t\tCreateTime:       group.CreateTime,\n\t\t\tUpdateTime:       group.UpdateTime,\n\t\t\tToken:            group.Token,\n\t\t\tDoubleOptin:      group.DoubleOptin,\n\t\t\tWelcomeHtml:      group.WelcomeHtml,\n\t\t\tWelcomeDrag:      group.WelcomeDrag,\n\t\t\tConfirmHtml:      group.ConfirmHtml,\n\t\t\tConfirmDrag:      group.ConfirmDrag,\n\t\t\tSuccessUrl:       group.SuccessUrl,\n\t\t\tConfirmUrl:       group.ConfirmUrl,\n\t\t\tAlreadyUrl:       group.AlreadyUrl,\n\t\t\tSubscribeForm:    group.SubscribeForm,\n\t\t\tConfirmSubject:   group.ConfirmSubject,\n\t\t\tWelcomeSubject:   group.WelcomeSubject,\n\t\t\tSendWelcomeEmail: group.SendWelcomeEmail,\n\t\t}\n\n\t\t// Convert to group information\n\t\tgroupInfo := &v1.ContactGroupInfo{\n\t\t\tContactGroup:     contactGroup,\n\t\t\tTotalCount:       activeCount + unsubscribeCount,\n\t\t\tActiveCount:      activeCount,\n\t\t\tUnsubscribeCount: unsubscribeCount,\n\t\t\t//SubscribeLink:    hostUrl + \"/subscribe_form.html?token=\" + group.Token,\n\t\t}\n\t\tgroupInfos = append(groupInfos, groupInfo)\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = groupInfos\n\tres.SetSuccess(public.LangCtx(ctx, \"Group list retrieved successfully\"))\n\treturn\n\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_merge_contacts_groups.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/model/entity\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"time\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) MergeContactsGroups(ctx context.Context, req *v1.MergeContactsGroupsReq) (res *v1.MergeContactsGroupsRes, err error) {\n\tres = &v1.MergeContactsGroupsRes{}\n\n\tconst batchSize = 1000 // Batch size\n\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\n\t\t_, err := contact.GetGroup(ctx, req.TargetGroup)\n\t\tif err != nil {\n\t\t\treturn gerror.New(public.LangCtx(ctx, \"Target group not found\"))\n\t\t}\n\n\t\tfor _, sourceId := range req.SourceGroups {\n\t\t\tif _, err := contact.GetGroup(ctx, sourceId); err != nil {\n\t\t\t\treturn gerror.New(public.LangCtx(ctx, \"Source group {} not found\", sourceId))\n\t\t\t}\n\t\t}\n\n\t\t// Batch process data\n\t\toffset := 0\n\t\temailStatusMap := make(map[string]int)\n\n\t\tfor {\n\t\t\t// 1. Batch get source group contacts\n\t\t\tvar contacts []*entity.Contact\n\t\t\terr = g.DB().Model(\"bm_contacts\").\n\t\t\t\tWhere(\"group_id IN(?)\", req.SourceGroups).\n\t\t\t\tLimit(batchSize).\n\t\t\t\tOffset(offset).\n\t\t\t\tScan(&contacts)\n\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// If there is no more data, exit the loop\n\t\t\tif len(contacts) == 0 {\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// 2. Process the status of this batch of contacts\n\t\t\tfor _, contactInfo := range contacts {\n\t\t\t\tkey := contactInfo.Email\n\t\t\t\tif existingStatus, ok := emailStatusMap[key]; ok {\n\t\t\t\t\t// Only use unsubscribed status when the status is different\n\t\t\t\t\tif contactInfo.Active != existingStatus {\n\t\t\t\t\t\temailStatusMap[key] = 0\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\temailStatusMap[key] = contactInfo.Active\n\t\t\t\t}\n\t\t\t}\n\n\t\t\toffset += batchSize\n\n\t\t\t// If this batch of data is less than batchSize, it is the last batch\n\t\t\tif len(contacts) < batchSize {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// 3. Batch check existing contacts in the target group\n\t\tvar existingEmails []string\n\t\terr = g.DB().Model(\"bm_contacts\").\n\t\t\tFields(\"email\").\n\t\t\tWhere(\"group_id = ?\", req.TargetGroup).\n\t\t\tWhere(\"email IN (?)\", getMapKeys(emailStatusMap)).\n\t\t\tScan(&existingEmails)\n\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Convert existing emails to map for quick lookup\n\t\texistingEmailMap := make(map[string]bool)\n\t\tfor _, email := range existingEmails {\n\t\t\texistingEmailMap[email] = true\n\t\t}\n\n\t\t// 4. Prepare data for insertion\n\t\tnow := time.Now().Unix()\n\t\tvar insertData []g.Map\n\n\t\tfor email, status := range emailStatusMap {\n\t\t\t// If the email is not in the target group, add it to the insertion list\n\t\t\tif !existingEmailMap[email] {\n\t\t\t\tinsertData = append(insertData, g.Map{\n\t\t\t\t\t\"email\":       email,\n\t\t\t\t\t\"group_id\":    req.TargetGroup,\n\t\t\t\t\t\"active\":      status,\n\t\t\t\t\t\"create_time\": now,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\t// 5. Batch insert data\n\t\tfor i := 0; i < len(insertData); i += batchSize {\n\t\t\tend := i + batchSize\n\t\t\tif end > len(insertData) {\n\t\t\t\tend = len(insertData)\n\t\t\t}\n\n\t\t\t_, err = g.DB().Model(\"bm_contacts\").\n\t\t\t\tData(insertData[i:end]).\n\t\t\t\tInsert()\n\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to merge contact groups: {}\", err.Error())))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.ContactsGroup,\n\t\tLog:  \"Contact groups merged successfully\",\n\t\tData: req,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Contact groups merged successfully\"))\n\treturn\n}\n\n// getMapKeys Get all keys of map\nfunc getMapKeys(m map[string]int) []string {\n\tkeys := make([]string, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, k)\n\t}\n\treturn keys\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_update_contacts_group.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/database/gdb\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) UpdateContactsGroup(ctx context.Context, req *v1.UpdateContactsGroupReq) (res *v1.UpdateContactsGroupRes, err error) {\n\tres = &v1.UpdateContactsGroupRes{}\n\n\t// Start transaction\n\terr = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {\n\t\t// Verify if all target groups exist\n\t\tfor _, groupId := range req.GroupIds {\n\t\t\tif _, err := contact.GetGroup(ctx, groupId); err != nil {\n\t\t\t\treturn gerror.New(public.LangCtx(ctx, \"Group {} not found\", groupId))\n\t\t\t}\n\t\t}\n\n\t\t// Update contact group\n\t\tupdatedCount, err := contact.UpdateContactsGroups(ctx, req.Emails, req.Status, req.GroupIds)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tres.Data.UpdatedCount = updatedCount\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to update contacts group: {}\", err.Error())))\n\t\treturn\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Contacts group updated successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_update_group.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/api/contact/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"database/sql\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) UpdateGroup(ctx context.Context, req *v1.UpdateGroupReq) (res *v1.UpdateGroupRes, err error) {\n\tres = &v1.UpdateGroupRes{}\n\n\tupdateData := g.Map{}\n\tif req.Name != \"\" {\n\t\tupdateData[\"name\"] = req.Name\n\t}\n\tif req.Description != \"\" {\n\t\tupdateData[\"description\"] = req.Description\n\t}\n\tupdateData[\"double_optin\"] = req.DoubleOptin\n\tupdateData[\"send_welcome_email\"] = req.SendWelcomeEmail\n\n\n\tif req.WelcomeHtml != \"\" {\n\t\tupdateData[\"welcome_mail_html\"] = req.WelcomeHtml\n\t}\n\tif req.WelcomeDrag != \"\" {\n\t\tupdateData[\"welcome_mail_drag\"] = req.WelcomeDrag\n\t}\n\tif req.ConfirmHtml != \"\" {\n\t\tupdateData[\"confirm_mail_html\"] = req.ConfirmHtml\n\t}\n\tif req.ConfirmDrag != \"\" {\n\t\tupdateData[\"confirm_mail_drag\"] = req.ConfirmDrag\n\t}\n\tif req.SuccessUrl != \"\" {\n\t\tupdateData[\"success_url\"] = req.SuccessUrl\n\t}\n\tif req.ConfirmUrl != \"\" {\n\t\tupdateData[\"confirm_url\"] = req.ConfirmUrl\n\t}\n\tif req.AlreadyUrl != \"\" {\n\t\tupdateData[\"already_url\"] = req.AlreadyUrl\n\t}\n\t//if req.SubscribeForm != \"\" {\n\t//\tupdateData[\"subscribe_form\"] = req.SubscribeForm\n\t//}\n\n\tif req.WelcomeSubject != \"\" {\n\t\tupdateData[\"welcome_subject\"] = req.WelcomeSubject\n\t}\n\tif req.ConfirmSubject != \"\" {\n\t\tupdateData[\"confirm_subject\"] = req.ConfirmSubject\n\t}\n\n\n\tif len(updateData) == 0 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No fields to update\")))\n\t\treturn\n\t}\n\n\toldGroup, err := contact.GetGroup(ctx, req.GroupId)\n\tif err != nil && err != sql.ErrNoRows {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Group not found\")))\n\t\treturn\n\t}\n\n\terr = contact.UpdateGroup(ctx, req.GroupId, updateData)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to update group: {}\", err.Error())))\n\t\treturn\n\t}\n\tvar log string\n\tif req.Name != \"\" {\n\t\tlog = fmt.Sprintf(\"Updated group: %s successfully\", req.Name)\n\t} else {\n\t\t//Update the subscription link Settings for group aad\n\t\tlog = fmt.Sprintf(\"Update the subscription link Settings for group: %s \", oldGroup.Name)\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.ContactsGroup,\n\t\tLog:  log,\n\t\tData: updateData,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Group updated successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/contact/contact_v1_update_group_unsubscribe.go",
    "content": "package contact\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/contact\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"database/sql\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/contact/v1\"\n)\n\nfunc (c *ControllerV1) UpdateGroupUnsubscribe(ctx context.Context, req *v1.UpdateGroupUnsubscribeReq) (res *v1.UpdateGroupUnsubscribeRes, err error) {\n\tres = &v1.UpdateGroupUnsubscribeRes{}\n\n\tupdateData := g.Map{}\n\tupdateData[\"send_unsubscribe_email\"] = req.SendUnsubscribeEmail\n\tif req.UnsubscribeSubject != \"\" {\n\t\tupdateData[\"unsubscribe_subject\"] = req.UnsubscribeSubject\n\t}\n\tif req.UnsubscribeMailHtml != \"\" {\n\t\tupdateData[\"unsubscribe_mail_html\"] = req.UnsubscribeMailHtml\n\t}\n\tif req.UnsubscribeMailDrag != \"\" {\n\t\tupdateData[\"unsubscribe_mail_drag\"] = req.UnsubscribeMailDrag\n\t}\n\tif req.UnsubscribeRedirectUrl != \"\" {\n\t\tupdateData[\"unsubscribe_redirect_url\"] = req.UnsubscribeRedirectUrl\n\t}\n\n\tif len(updateData) == 0 {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"No fields to update\")))\n\t\treturn\n\t}\n\n\toldGroup, err := contact.GetGroup(ctx, req.GroupId)\n\tif err != nil && err != sql.ErrNoRows {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Group not found\")))\n\t\treturn\n\t}\n\n\terr = contact.UpdateGroup(ctx, req.GroupId, updateData)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to update group: {}\", err.Error())))\n\t\treturn\n\t}\n\tvar log string\n\tlog = fmt.Sprintf(\"Update the Unsubscribe Settings for group: %s \", oldGroup.Name)\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.ContactsGroup,\n\t\tLog:  log,\n\t\tData: updateData,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Group updated successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/dockerapi/dockerapi.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage dockerapi\n"
  },
  {
    "path": "core/internal/controller/dockerapi/dockerapi_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage dockerapi\n\nimport (\n\t\"billionmail-core/api/dockerapi\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() dockerapi.IDockerapiV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/dockerapi/dockerapi_v1_container_state.go",
    "content": "package dockerapi\n\nimport (\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"billionmail-core/api/dockerapi/v1\"\n)\n\nfunc (c *ControllerV1) ContainerState(ctx context.Context, req *v1.ContainerStateReq) (res *v1.ContainerStateRes, err error) {\n\tres = &v1.ContainerStateRes{}\n\n\tres.Data, err = public.DockerApiFromCtx(ctx).GetContainerStats(ctx, req.ContainerID)\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/dockerapi/dockerapi_v1_list_container.go",
    "content": "package dockerapi\n\nimport (\n\t\"billionmail-core/api/dockerapi/v1\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n)\n\nfunc (c *ControllerV1) ListContainer(ctx context.Context, req *v1.ListContainerReq) (res *v1.ListContainerRes, err error) {\n\tres = &v1.ListContainerRes{}\n\n\tres.Data, err = public.DockerApiFromCtx(ctx).ListContainers(ctx)\n\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to list containers: %w\", err)\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/dockerapi/dockerapi_v1_restart_container.go",
    "content": "package dockerapi\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\t\"github.com/gogf/gf/os/gtimer\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"time\"\n\n\t\"billionmail-core/api/dockerapi/v1\"\n)\n\nfunc (c *ControllerV1) RestartContainer(ctx context.Context, req *v1.RestartContainerReq) (res *v1.RestartContainerRes, err error) {\n\tres = &v1.RestartContainerRes{}\n\n\tgtimer.AddOnce(500*time.Millisecond, func() {\n\t\terr = public.DockerApiFromCtx(ctx).RestartContainer(context.Background(), req.ContainerID)\n\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"RestartContainer error:\", err)\n\t\t\treturn\n\t\t}\n\t})\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.DockerApi,\n\t\tLog:  fmt.Sprintf(\"Restart container: %s successfully\", req.ContainerID),\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage domains\n"
  },
  {
    "path": "core/internal/controller/domains/domains_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage domains\n\nimport (\n\t\"billionmail-core/api/domains\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() domains.IDomainsV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_add_domain.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/multi_ip_domain\"\n\t\"billionmail-core/internal/service/public\"\n\t\"billionmail-core/internal/service/rbac\"\n\t\"context\"\n\t\"github.com/gogf/gf/os/gtimer\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"time\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) AddDomain(ctx context.Context, req *v1.AddDomainReq) (res *v1.AddDomainRes, err error) {\n\tres = &v1.AddDomainRes{}\n\n\tif req.Hostname == \"\" {\n\t\treq.Hostname = public.FormatMX(req.Domain)\n\t}\n\n\tdomain := &v1.Domain{\n\t\tDomain:       req.Domain,\n\t\tARecord:      req.Hostname,\n\t\tMailboxes:    req.Mailboxes,\n\t\tMailboxQuota: int64(req.MailboxQuota),\n\t\tQuota:        int64(req.Quota),\n\t\tRateLimit:    req.RateLimit,\n\t\tCatchall:     req.Catchall,\n\t\tUrls:         req.Urls,\n\t\tHasBrandInfo: req.HasBrandInfo,\n\t}\n\n\tif err = domains.Add(ctx, domain); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Automatic Certificate Application\n\tgtimer.AddOnce(500*time.Millisecond, func() {\n\t\tacc, accErr := rbac.GetCurrentAccount(ctx)\n\t\tif accErr == nil {\n\t\t\tcertErr := domains.ApplyLetsEncryptCertWithHttp(ctx, req.Domain, acc)\n\t\t\tif certErr != nil {\n\t\t\t\tg.Log().Debugf(ctx, \"Domain name [%s] added successfully, but auto-request certificate failed: %v\", req.Domain, certErr)\n\t\t\t}\n\t\t} else {\n\t\t\tg.Log().Debugf(ctx, \"The domain name [%s] was added successfully, but the current account failed to obtain the certificate automatically: %v\", req.Domain, accErr)\n\t\t}\n\n\t})\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Add domain :\" + req.Domain + \" successfully\",\n\t\tData: domain,\n\t})\n\n\t// If there is a dedicated IP, add the dedicated IP\n\tif req.OutboundIp != \"\" {\n\t\terr = multi_ip_domain.MultiIPDomainServiceInstance.AddConfig(ctx, req.Domain, req.OutboundIp)\n\t\tif err != nil {\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to add dedicated IP: {}\", err.Error())))\n\t\t\treturn res, nil\n\t\t}\n\n\t\t_ = public.WriteLog(ctx, public.LogParams{\n\t\t\tType: consts.LOGTYPE.Domain,\n\t\t\tLog:  \"Added dedicated sending IP for domain: \" + req.Domain + \" -> \" + req.OutboundIp,\n\t\t\tData: req,\n\t\t})\n\t}\n\n\tres.SetSuccess(\"Domain added successfully\")\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_apply_cert.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"billionmail-core/internal/service/rbac\"\n\t\"context\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) ApplyCert(ctx context.Context, req *v1.ApplyCertReq) (res *v1.ApplyCertRes, err error) {\n\tres = &v1.ApplyCertRes{}\n\n\tacc, err := rbac.GetCurrentAccount(ctx)\n\n\tif err != nil {\n\t\tres.SetError(err)\n\t\treturn\n\t}\n\n\t// Apply for the certificate\n\terr = domains.ApplyLetsEncryptCertWithHttp(ctx, req.Domain, acc)\n\n\tif err != nil {\n\t\tres.SetError(err)\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Apply certificate for domain :\" + req.Domain + \" successfully\",\n\t\tData: req.Domain,\n\t})\n\n\tres.SetSuccess(\"Certificate applied successfully\")\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_apply_multi_ip_domain_config.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/multi_ip_domain\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) ApplyMultiIPDomainConfig(ctx context.Context, req *v1.ApplyMultiIPDomainConfigReq) (res *v1.ApplyMultiIPDomainConfigRes, err error) {\n\tres = &v1.ApplyMultiIPDomainConfigRes{}\n\n\tappliedConfigs, failedConfigs, warnings, err := multi_ip_domain.MultiIPDomainServiceInstance.ApplyConfigs(ctx)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to apply configuration: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\tlogMessage := \"Applied multi-IP domain configuration\"\n\tif len(failedConfigs) > 0 {\n\t\tlogMessage += \" (partially failed)\"\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  logMessage,\n\t\tData: map[string]interface{}{\n\t\t\t\"applied\":  appliedConfigs,\n\t\t\t\"failed\":   failedConfigs,\n\t\t\t\"warnings\": warnings,\n\t\t},\n\t})\n\n\tif len(failedConfigs) > 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to apply some configurations, please check the logs\")))\n\t\treturn res, nil\n\t}\n\tHostWorkDir := public.HostWorkDir\n\tprojectPath := public.AbsPath(\"../\")\n\tif HostWorkDir == \"\" {\n\t\tHostWorkDir = projectPath\n\t}\n\n\tres.Data.Command = fmt.Sprintf(\"cd %s && bash bm.sh multi_ip\", HostWorkDir)\n\tres.Data.FixCommand = fmt.Sprintf(\"cd %s && bash bm.sh fix_multi_ip \", HostWorkDir)\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Configuration applied successfully\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_check_blacklist.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"time\"\n\n\t\"billionmail-core/api/domains/v1\"\n\n\t\"github.com/gogf/gf/os/gtimer\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n)\n\nfunc (c *ControllerV1) CheckBlacklist(ctx context.Context, req *v1.CheckBlacklistReq) (res *v1.CheckBlacklistRes, err error) {\n\tres = &v1.CheckBlacklistRes{}\n\tip, err := domains.ResolveA(req.ARecord, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif ip == \"127.0.0.1\" {\n\t\tip, err = public.GetLocalIP()\n\t\tif err != nil {\n\t\t\tip = \"127.0.0.1\"\n\t\t}\n\t}\n\n\tdnsServers := []string{\"8.8.8.8\", \"1.1.1.1\"}\n\n\tgtimer.AddOnce(500*time.Millisecond, func() {\n\t\t_, err := domains.IsDomainBlacklisted(ctx, ip, req.ARecord, dnsServers)\n\t\tif err != nil {\n\t\t\tg.Log().Error(ctx, \"Blacklist check failed: {}\", err)\n\t\t\treturn\n\t\t}\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"The test will take two minutes, so please be patient\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_console_apply_cert.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/api/domains/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\nfunc (c *ControllerV1) ConsoleApplyCert(ctx context.Context, req *v1.ConsoleApplyCertReq) (res *v1.ConsoleApplyCertRes, err error) {\n\tres = &v1.ConsoleApplyCertRes{}\n\n\terr = domains.ApplyConsoleCert(ctx)\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed : {}\", err.Error())))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Apply certificate for console successfully\",\n\t})\n\n\tres.SetSuccess(\"Certificate applied successfully\")\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_delete_domain.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/domains/v1\"\n\t\"billionmail-core/internal/service/domains\"\n)\n\nfunc (c *ControllerV1) DeleteDomain(ctx context.Context, req *v1.DeleteDomainReq) (res *v1.DeleteDomainRes, err error) {\n\tres = &v1.DeleteDomainRes{}\n\n\tif req.Domain == \"\" {\n\t\treturn nil, gerror.New(\"Domain cannot be empty\")\n\t}\n\n\tif err = domains.Delete(ctx, req.Domain); err != nil {\n\t\treturn nil, err\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Delete domain :\" + req.Domain + \" successfully\",\n\t})\n\n\tres.SetSuccess(\"Domain deleted successfully\")\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_fresh_dns_records.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) FreshDNSRecords(ctx context.Context, req *v1.FreshDNSRecordsReq) (res *v1.FreshDNSRecordsRes, err error) {\n\tres = &v1.FreshDNSRecordsRes{}\n\n\tdomains.FreshRecords(ctx, req.Domain)\n\n\tres.Data = domains.GetRecordsInCache(req.Domain)\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Fresh DNS records for domain :\" + req.Domain + \" successfully\",\n\t\tData: res.Data,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_get_blocklist_check_logs.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/api/domains/v1\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/os/gfile\"\n)\n\nfunc (c *ControllerV1) GetBlocklistCheckLogs(ctx context.Context, req *v1.GetBlocklistCheckLogsReq) (res *v1.GetBlocklistCheckLogsRes, err error) {\n\tres = &v1.GetBlocklistCheckLogsRes{}\n\tlogPath := req.Path\n\tif !gfile.Exists(logPath) {\n\t\tres.Data = \"\"\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\t\treturn\n\t}\n\n\tres.Data = gfile.GetContents(logPath)\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_get_cert_list.go",
    "content": "package domains\n\nimport (\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gcode\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) GetCertList(ctx context.Context, req *v1.GetCertListReq) (res *v1.GetCertListRes, err error) {\n\treturn nil, gerror.NewCode(gcode.CodeNotImplemented)\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_get_domain.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) GetDomain(ctx context.Context, req *v1.GetDomainReq) (res *v1.GetDomainRes, err error) {\n\tres = &v1.GetDomainRes{}\n\n\tpage := req.Page\n\tif page <= 0 {\n\t\tpage = 1\n\t}\n\n\tpageSize := req.PageSize\n\tif pageSize <= 0 {\n\t\tpageSize = 10\n\t}\n\n\tdomainList, total, err := domains.Get(ctx, req.Keyword, page, pageSize)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = domainList\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_get_domain_all.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/gogf/gf/v2/errors/gcode\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) GetDomainAll(ctx context.Context, req *v1.GetDomainAllReq) (res *v1.GetDomainAllRes, err error) {\n\tres = &v1.GetDomainAllRes{}\n\n\tres.Data, err = domains.All(ctx)\n\n\tif err != nil {\n\t\tres.SetError(fmt.Errorf(\"failed to get all domains: %w\", gerror.NewCode(gcode.CodeInternalError, err.Error())))\n\t\treturn\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_get_ssl.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/api/domains/v1\"\n\t\"billionmail-core/internal/service/mail_service\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n)\n\nfunc (c *ControllerV1) GetSSL(ctx context.Context, req *v1.GetSSLReq) (res *v1.GetSSLRes, err error) {\n\tres = &v1.GetSSLRes{}\n\n\tcrt := mail_service.NewCertificate()\n\tdefer crt.Close()\n\n\t// Get SSL certificate information\n\tres.Data, _ = crt.GetSSLInfo(public.FormatMX(req.Domain))\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_set_default_domain.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"github.com/gogf/gf/v2/errors/gcode\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) SetDefaultDomain(ctx context.Context, req *v1.SetDefaultDomainReq) (res *v1.SetDefaultDomainRes, err error) {\n\tres = &v1.SetDefaultDomainRes{}\n\n\t// 1. Validate if the domain exists and is active\n\tvar count int\n\tcount, err = g.DB().Model(\"domain\").\n\t\tWhere(\"domain\", req.Domain).\n\t\tWhere(\"active\", 1).\n\t\tCount()\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"check domain failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\tif count == 0 {\n\t\tres.SetError(gerror.NewCode(gcode.CodeNotFound, \"Domain does not exist or is not activated\"))\n\t\treturn res, nil\n\t}\n\n\t// 2. Write to bm_options\n\t_, err = g.DB().Model(\"bm_options\").\n\t\tData(g.Map{\n\t\t\t\"name\":  \"default_sender_domain\",\n\t\t\t\"value\": req.Domain,\n\t\t}).\n\t\tOnConflict(\"name\").\n\t\tSave()\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to set default sender domain: {}\", err.Error())))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Set default sender domain :\" + req.Domain + \" successfully\",\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Default sender domain set successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_set_ssl.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/mail_service\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) SetSSL(ctx context.Context, req *v1.SetSSLReq) (res *v1.SetSSLRes, err error) {\n\tres = &v1.SetSSLRes{}\n\n\tif ex, err1 := domains.Exists(ctx, req.Domain); !ex {\n\t\tif err1 != nil {\n\t\t\tres.SetError(fmt.Errorf(\"fail to check domain: %w\", err1))\n\t\t\treturn\n\t\t}\n\n\t\tres.SetError(fmt.Errorf(\"domain %s does not exist\", req.Domain))\n\t\treturn\n\t}\n\n\tcrt := mail_service.NewCertificate()\n\n\tdefer crt.Close()\n\n\terr = crt.SetSNI(public.FormatMX(req.Domain), req.Certificate, req.Key)\n\n\tif err != nil {\n\t\tres.SetError(fmt.Errorf(\"fail to set ssl: %w\", err))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Set SSL for domain :\" + req.Domain + \" successfully\",\n\t\tData: req,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_test_multi_ip_domain_config.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/multi_ip_domain\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) TestMultiIPDomainConfig(ctx context.Context, req *v1.TestMultiIPDomainConfigReq) (res *v1.TestMultiIPDomainConfigRes, err error) {\n\tres = &v1.TestMultiIPDomainConfigRes{}\n\n\tok, validateErr := multi_ip_domain.MultiIPDomainServiceInstance.ValidateDNSRecords(ctx, req.Domain, req.OutboundIP)\n\tif !ok {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Test configuration failed: {}\", validateErr.Error())))\n\t\treturn res, nil\n\t}\n\n\tmsg := \"Configuration test passed successfully\"\n\tif validateErr != nil {\n\t\tmsg = \"Configuration test passed with warnings: \" + validateErr.Error()\n\t}\n\tres.SetSuccess(public.LangCtx(ctx, msg))\n\n\tlogDetail := \"Success\"\n\tif validateErr != nil {\n\t\tlogDetail = \"Warning: \" + validateErr.Error()\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Test domain \" + req.Domain + \" -> \" + req.OutboundIP + \" (\" + logDetail + \")\",\n\t\tData: req,\n\t})\n\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_update_domain.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/multi_ip_domain\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"database/sql\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/domains/v1\"\n\t\"billionmail-core/internal/service/domains\"\n)\n\nfunc (c *ControllerV1) UpdateDomain(ctx context.Context, req *v1.UpdateDomainReq) (res *v1.UpdateDomainRes, err error) {\n\tres = &v1.UpdateDomainRes{}\n\n\tif req.Domain == \"\" {\n\t\treturn nil, gerror.New(\"Domain cannot be empty\")\n\t}\n\n\tupdateData := map[string]interface{}{}\n\n\tdomainName := req.Domain\n\tupdateData[\"domain\"] = domainName\n\n\tif req.Hostname != \"\" {\n\t\tupdateData[\"a_record\"] = req.Hostname\n\t}\n\n\tif req.Catchall != \"\" {\n\t\tupdateData[\"catchall\"] = req.Catchall\n\t}\n\n\tif req.Mailboxes > 0 {\n\t\tupdateData[\"mailboxes\"] = req.Mailboxes\n\t}\n\n\tif req.MailboxQuota > 0 {\n\t\tupdateData[\"mailbox_quota\"] = req.MailboxQuota\n\t}\n\n\tif req.Quota > 0 {\n\t\tupdateData[\"quota\"] = req.Quota\n\t}\n\n\tif req.RateLimit > 0 {\n\t\tupdateData[\"rate_limit\"] = req.RateLimit\n\t}\n\n\tupdateData[\"active\"] = req.Active\n\n\t// URLs\n\tif len(req.Urls) > 0 {\n\t\tupdateData[\"urls\"] = req.Urls\n\t}\n\tupdateData[\"hasbrandinfo\"] = req.HasBrandInfo\n\n\tif err = domains.Update(ctx, updateData); err != nil {\n\t\treturn nil, err\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Update domain :\" + req.Domain + \" successfully\",\n\t\tData: updateData,\n\t})\n\n\t// ----------------Dedicated IP configuration for domain------------------\n\tvar dbConfigs v1.MultiIPDomain\n\tok := true\n\terr = g.DB().Model(\"bm_multi_ip_domain\").\n\t\tWhere(\"active\", 1).\n\t\tWhere(\"domain\", domainName).\n\t\tScan(&dbConfigs)\n\n\tif err != nil && err != sql.ErrNoRows {\n\t\tok = false\n\t}\n\n\tif req.OutboundIp != \"\" {\n\t\tif !ok {\n\t\t\t// If there is no dedicated IP configuration, add a new one\n\t\t\terr = multi_ip_domain.MultiIPDomainServiceInstance.AddConfig(ctx, req.Domain, req.OutboundIp)\n\t\t\tif err == nil {\n\t\t\t\t_ = public.WriteLog(ctx, public.LogParams{\n\t\t\t\t\tType: consts.LOGTYPE.Domain,\n\t\t\t\t\tLog:  \"Added dedicated sending IP for domain: \" + req.Domain + \" -> \" + req.OutboundIp,\n\t\t\t\t\tData: req,\n\t\t\t\t})\n\t\t\t}\n\t\t} else {\n\t\t\t// If there is a dedicated IP configuration, check if it matches\n\t\t\tif dbConfigs.OutboundIP != req.OutboundIp {\n\t\t\t\t// Dedicated IP configuration mismatch, delete the old configuration first, then add the new one\n\t\t\t\terr = multi_ip_domain.MultiIPDomainServiceInstance.DeleteConfig(ctx, req.Domain)\n\t\t\t\tif err != nil {\n\t\t\t\t\tg.Log().Error(ctx, \"Failed to delete old dedicated IP configuration: \", err)\n\t\t\t\t}\n\t\t\t\terr = multi_ip_domain.MultiIPDomainServiceInstance.AddConfig(ctx, req.Domain, req.OutboundIp)\n\t\t\t\tif err != nil {\n\t\t\t\t\tg.Log().Error(ctx, \"Failed to add new dedicated IP configuration: \", err)\n\t\t\t\t}\n\t\t\t\t_ = public.WriteLog(ctx, public.LogParams{\n\t\t\t\t\tType: consts.LOGTYPE.Domain,\n\t\t\t\t\tLog:  \"Updated dedicated sending IP for domain: \" + req.Domain + \" -> \" + req.OutboundIp,\n\t\t\t\t\tData: req,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t} else {\n\t\tif ok {\n\t\t\t// Delete dedicated IP configuration\n\t\t\terr = multi_ip_domain.MultiIPDomainServiceInstance.DeleteConfig(ctx, req.Domain)\n\t\t\tif err == nil {\n\n\t\t\t\t_ = public.WriteLog(ctx, public.LogParams{\n\t\t\t\t\tType: consts.LOGTYPE.Domain,\n\t\t\t\t\tLog:  \"Deleted multi-IP domain configuration: \" + req.Domain,\n\t\t\t\t\tData: req,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tres.SetSuccess(\"Domain updated successfully\")\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/domains/domains_v1_update_domain_brandinfo.go",
    "content": "package domains\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/util/gconv\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/domains/v1\"\n)\n\nfunc (c *ControllerV1) UpdateDomainBrandinfo(ctx context.Context, req *v1.UpdateDomainBrandinfoReq) (res *v1.UpdateDomainBrandinfoRes, err error) {\n\tres = &v1.UpdateDomainBrandinfoRes{}\n\n\tif req.Domain == \"\" {\n\t\treturn nil, gerror.New(\"Domain cannot be empty\")\n\t}\n\n\tupdateData := map[string]interface{}{}\n\n\tdomainName := req.Domain\n\tupdateData[\"domain\"] = domainName\n\tupdateData[\"hasbrandinfo\"] = req.HasBrandInfo\n\n\tif err = domains.Update(ctx, updateData); err != nil {\n\t\treturn nil, err\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Domain,\n\t\tLog:  \"Update domain :\" + req.Domain + \"brandinfo : \" + gconv.String(req.HasBrandInfo) + \"successfully\",\n\t\tData: updateData,\n\t})\n\n\tres.SetSuccess(\"Domain updated brandinfo status successfully\")\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage email_template\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage email_template\n\nimport (\n\t\"billionmail-core/api/email_template\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() email_template.IEmailTemplateV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_v1_check_email_content.go",
    "content": "package email_template\n\nimport (\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\t\"regexp\"\n\t\"strings\"\n\n\t\"billionmail-core/api/email_template/v1\"\n)\n\ntype ScoreItem struct {\n\tName   string  `json:\"name\"`\n\tDetail string  `json:\"detail\"`\n\tScore  float64 `json:\"score\"`\n}\n\nvar spamWords = []string{\n\t// Forbidden words in Chinese\n\t\"免费\", \"中奖\", \"现金\", \"优惠\", \"点击这里\", \"立即领取\", \"限时特惠\", \"最后机会\", \"免费试用\",\n\t\"恭喜您\", \"大奖\", \"赢取\", \"抽奖\", \"红包\", \"免单\", \"清仓\", \"秒杀\", \"特价\", \"折扣\",\n\t\"投资回报\", \"高收益\", \"稳赚不赔\", \"快速赚钱\", \"轻松赚钱\", \"暴利\", \"一本万利\",\n\n\t// Forbidden words in English\n\t\"buy now\", \"free\", \"winner\", \"urgent\", \"limited time\", \"click here\",\n\t\"act now\", \"apply now\", \"call now\", \"don't delete\", \"exclusive deal\",\n\t\"for free\", \"get it now\", \"limited offer\", \"new customers only\",\n\t\"order now\", \"special promotion\", \"time limited\", \"while supplies last\",\n\t\"earn money\", \"make money\", \"extra income\", \"work from home\",\n}\n\nvar shortLinkDomains = []string{\n\t// International short chain\n\t\"bit.ly\", \"tinyurl.com\", \"goo.gl\", \"ow.ly\", \"t.co\", \"is.gd\",\n\t\"buff.ly\", \"adf.ly\", \"shorte.st\", \"bc.vc\", \"cutt.ly\", \"shorturl.at\",\n\n\t\"t.cn\", \"sinaurl.cn\", \"dwz.cn\", \"url.cn\", \"suo.im\", \"mrw.so\",\n\t\"x.co\", \"zzb.bz\", \"985.so\", \"6du.in\", \"ft12.com\", \"url7.me\",\n\n\t// other short chain\n\t\"rebrand.ly\", \"bit.do\", \"short.io\", \"shrink.me\", \"short.cm\",\n}\n\nfunc isHTMLOK(content string) bool {\n\t// Checks if the HTML tag is closed\n\topenTags := regexp.MustCompile(`<([a-zA-Z]+)[^>]*?>`).FindAllStringSubmatch(content, -1)\n\tcloseTags := regexp.MustCompile(`</([a-zA-Z]+)>`).FindAllStringSubmatch(content, -1)\n\topenCount := make(map[string]int)\n\tcloseCount := make(map[string]int)\n\tfor _, tag := range openTags {\n\t\topenCount[strings.ToLower(tag[1])]++\n\t}\n\tfor _, tag := range closeTags {\n\t\tcloseCount[strings.ToLower(tag[1])]++\n\t}\n\tfor tag, count := range openCount {\n\t\tif closeCount[tag] != count {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc isImageOnly(content string) bool {\n\timgTag := regexp.MustCompile(`<img[\\s\\S]*?>`)\n\ttext := regexp.MustCompile(`<.*?>`).ReplaceAllString(content, \"\")\n\treturn imgTag.MatchString(content) && len(strings.TrimSpace(text)) < 10\n}\n\nfunc hasShortLink(content string) bool {\n\tfor _, domain := range shortLinkDomains {\n\t\tif strings.Contains(content, domain) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\nfunc imgWithoutAltCount(content string) (count int) {\n\timgTag := regexp.MustCompile(`<img[^>]*?>`)\n\taltAttr := regexp.MustCompile(`alt\\s*=\\s*['\\\"]`)\n\timgs := imgTag.FindAllString(content, -1)\n\tfor _, img := range imgs {\n\t\tif !altAttr.MatchString(img) {\n\t\t\tcount++\n\t\t}\n\t}\n\treturn\n}\nfunc (c *ControllerV1) CheckEmailContent(ctx context.Context, req *v1.CheckEmailContentReq) (res *v1.CheckEmailContentRes, err error) {\n\tres = &v1.CheckEmailContentRes{}\n\tvar totalScore float64 = 10.0\n\tvar items []ScoreItem\n\tcontent := req.Content\n\n\t// 1. Spam detection\n\tfor _, word := range spamWords {\n\t\tif strings.Contains(strings.ToLower(content), word) {\n\t\t\titems = append(items, ScoreItem{\"Spam Word\", fmt.Sprintf(\"Contains spam word: %s\", word), -1.0})\n\t\t\ttotalScore -= 1.0\n\t\t}\n\t}\n\t// 2. HTML standard check\n\tif !isHTMLOK(content) {\n\t\titems = append(items, ScoreItem{\"HTML Format\", \"HTML tags are not standard\", -0.5})\n\t\ttotalScore -= 0.5\n\t}\n\tif isImageOnly(content) {\n\t\titems = append(items, ScoreItem{\"Image Ratio\", \"Content is purely images or image-heavy\", -1.0})\n\t\ttotalScore -= 1.0\n\t}\n\t// 2.1 Check for missing alt attributes in img tags\n\timgNoAlt := imgWithoutAltCount(content)\n\tif imgNoAlt > 0 {\n\t\titems = append(items, ScoreItem{\"Missing Alt Attribute\", fmt.Sprintf(\"%d <img> tags are missing the alt attribute\", imgNoAlt), -0.2 * float64(imgNoAlt)})\n\t\ttotalScore -= 0.2 * float64(imgNoAlt)\n\t}\n\t// 3. Link check\n\tif hasShortLink(content) {\n\t\titems = append(items, ScoreItem{\"Short Link\", \"Contains a short link domain\", -0.5})\n\t\ttotalScore -= 0.5\n\t}\n\n\tif totalScore < 0 {\n\t\ttotalScore = 0\n\t}\n\n\tres.Data.Score = totalScore\n\tfor _, item := range items {\n\t\tres.Data.Items = append(res.Data.Items, v1.ScoreItem{\n\t\t\tName:   item.Name,\n\t\t\tDetail: item.Detail,\n\t\t\tScore:  item.Score,\n\t\t})\n\t}\n\tres.SetSuccess(public.LangCtx(ctx, \"Successful\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_v1_copy_template.go",
    "content": "package email_template\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/email_template/v1\"\n\t\"billionmail-core/internal/service/email_template\"\n)\n\nfunc (c *ControllerV1) CopyTemplate(ctx context.Context, req *v1.CopyTemplateReq) (res *v1.CopyTemplateRes, err error) {\n\tres = &v1.CopyTemplateRes{}\n\n\ttemplate, err := email_template.GetTemplate(ctx, req.Id)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get template {}\", err.Error())))\n\t\treturn\n\t}\n\tif template == nil {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Template not found\")))\n\t\treturn\n\t}\n\n\tnewName := template.TempName + \"_bak\"\n\t_, err = email_template.CreateTemplate(ctx, newName, template.AddType, template.Content, template.Render, req.Chat_id)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to create new template {}\", err.Error())))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Template,\n\t\tLog:  \"Copy template :\" + template.TempName + \" to \" + newName + \" successfully\",\n\t\tData: template,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Template copied successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_v1_create_template.go",
    "content": "package email_template\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/email_template/v1\"\n\t\"billionmail-core/internal/service/email_template\"\n)\n\nfunc (c *ControllerV1) CreateTemplate(ctx context.Context, req *v1.CreateTemplateReq) (res *v1.CreateTemplateRes, err error) {\n\tres = &v1.CreateTemplateRes{}\n\n\t// Check if template name exists\n\texists, err := email_template.CheckTemplateNameExists(ctx, req.TempName)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to check template name\")))\n\t\treturn\n\t}\n\tif exists {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Template name already exists\")))\n\t\treturn\n\t}\n\n\tvar content, render string\n\tif req.AddType == 0 { // upload\n\t\tif req.Content == \"\" {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"File data is required for upload type\")))\n\t\t\treturn\n\t\t}\n\t\tcontent = req.Content\n\t} else if req.AddType == 2 { // AI\n\t\tcontent = req.Content\n\t\trender = \"\"\n\t} else { // Drag\n\t\tif req.Content == \"\" || req.Render == \"\" {\n\t\t\tres.Code = 400\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Content and render data are required for drag type\")))\n\t\t\treturn\n\t\t}\n\t\tcontent = req.Content\n\t\trender = req.Render\n\t}\n\n\t// Create template\n\tid, err := email_template.CreateTemplate(ctx, req.TempName, req.AddType, content, render, req.Chat_id)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to create template\")))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Template,\n\t\tLog:  \"Create template :\" + req.TempName + \" successfully\",\n\t\tData: req,\n\t})\n\n\tres.Data.Id = id\n\tres.SetSuccess(public.LangCtx(ctx, \"Template created successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_v1_delete_template.go",
    "content": "package email_template\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/email_template\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/email_template/v1\"\n)\n\nfunc (c *ControllerV1) DeleteTemplate(ctx context.Context, req *v1.DeleteTemplateReq) (res *v1.DeleteTemplateRes, err error) {\n\tres = &v1.DeleteTemplateRes{}\n\n\ttemplate, _ := email_template.GetTemplate(ctx, req.Id)\n\n\terr = email_template.DeleteTemplate(ctx, req.Id)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to delete template\")))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Template,\n\t\tLog:  \"Delete template :\" + template.TempName + \" successfully\",\n\t\tData: template,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Template deleted successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_v1_get_all_templates.go",
    "content": "package email_template\n\nimport (\n\t\"billionmail-core/internal/service/email_template\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/email_template/v1\"\n)\n\nfunc (c *ControllerV1) GetAllTemplates(ctx context.Context, req *v1.GetAllTemplatesReq) (res *v1.GetAllTemplatesRes, err error) {\n\tres = &v1.GetAllTemplatesRes{}\n\n\tTempAll, err := email_template.GetTemplatesAll(ctx)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get template list\")))\n\t\treturn\n\t}\n\n\tres.Data = TempAll\n\tres.SetSuccess(public.LangCtx(ctx, \"Get template list successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_v1_get_template.go",
    "content": "package email_template\n\nimport (\n\t\"billionmail-core/internal/service/email_template\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/email_template/v1\"\n)\n\nfunc (c *ControllerV1) GetTemplate(ctx context.Context, req *v1.GetTemplateReq) (res *v1.GetTemplateRes, err error) {\n\tres = &v1.GetTemplateRes{}\n\n\tTempInfo, err := email_template.GetTemplatesByID(ctx, req.Id)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get template\")))\n\t\treturn\n\t}\n\n\tif TempInfo == nil || TempInfo.Id == 0 {\n\t\tres.Code = 404\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Template not found\")))\n\t\treturn\n\t}\n\n\tres.Data = TempInfo\n\tres.SetSuccess(public.LangCtx(ctx, \"Get template successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_v1_list_templates.go",
    "content": "package email_template\n\nimport (\n\t\"billionmail-core/internal/service/email_template\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/email_template/v1\"\n)\n\nfunc (c *ControllerV1) ListTemplates(ctx context.Context, req *v1.ListTemplatesReq) (res *v1.ListTemplatesRes, err error) {\n\n\tres = &v1.ListTemplatesRes{}\n\n\ttotal, list, err := email_template.GetTemplatesWithPage(ctx, req.Page, req.PageSize, req.Keyword, req.AddType)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get template list\")))\n\t\treturn\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = list\n\tres.SetSuccess(public.LangCtx(ctx, \"Get template list successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/email_template/email_template_v1_update_template.go",
    "content": "package email_template\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/email_template\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/email_template/v1\"\n)\n\nfunc (c *ControllerV1) UpdateTemplate(ctx context.Context, req *v1.UpdateTemplateReq) (res *v1.UpdateTemplateRes, err error) {\n\tres = &v1.UpdateTemplateRes{}\n\n\t// Check if template exists\n\ttemplate, err := email_template.GetTemplate(ctx, req.Id)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to get template\")))\n\t\treturn\n\t}\n\tif template == nil {\n\t\tres.Code = 400\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Template not found\")))\n\t\treturn\n\t}\n\n\t// Update template\n\terr = email_template.UpdateTemplate(ctx, req.Id, req.TempName, req.Content, req.Render)\n\tif err != nil {\n\t\tres.Code = 500\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to update template\")))\n\t\treturn\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Template,\n\t\tLog:  \"Update template :\" + req.TempName + \" successfully\",\n\t\tData: req,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Template updated successfully\"))\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/files/files.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage files\n\nimport (\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/os/gfile\"\n\t\"github.com/gogf/gf/v2/text/gregex\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nfunc (c *ControllerV1) validateFileName(fileName string) error {\n\tif len(fileName) > 256 {\n\t\treturn gerror.New(\"File name exceeds 256 bytes limit\")\n\t}\n\n\tif ok := gregex.IsMatchString(`[<>:\"/\\\\|?*\\x00-\\x1F]`, fileName); ok {\n\t\treturn gerror.New(\"File name contains invalid characters\")\n\t}\n\n\treturn nil\n}\n\nfunc (c *ControllerV1) validateFilePath(filePath string) error {\n\tif filePath == \"/\" {\n\t\treturn gerror.New(\"Cannot use system root directory\")\n\t}\n\n\tif strings.Contains(filePath, \"./\") {\n\t\treturn gerror.New(\"Invalid path parameter\")\n\t}\n\n\treturn nil\n}\n\nfunc (c *ControllerV1) checkFileExists(filePath string) error {\n\tif !gfile.Exists(filePath) {\n\t\treturn gerror.New(\"File not found\")\n\t}\n\treturn nil\n}\n\nfunc (c *ControllerV1) getFileInfo(filePath string) (*os.FileInfo, error) {\n\tfileInfo, err := os.Stat(filePath)\n\tif err != nil {\n\t\treturn nil, gerror.New(\"Failed to get file info: \" + err.Error())\n\t}\n\treturn &fileInfo, nil\n}\n\nfunc (c *ControllerV1) validateFileSize(actualSize int64, expectedSize int64) bool {\n\treturn actualSize == expectedSize\n}\n\nfunc (c *ControllerV1) openFileForWrite(filePath string) (*os.File, error) {\n\tfile, err := os.OpenFile(filePath, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644)\n\tif err != nil {\n\t\treturn nil, gerror.New(\"Failed to open file: \" + err.Error())\n\t}\n\treturn file, nil\n}\n\nfunc (c *ControllerV1) readFileContent(filePath string) ([]byte, error) {\n\tdata, err := os.ReadFile(filePath)\n\tif err != nil {\n\t\treturn nil, gerror.New(\"Failed to read file: \" + err.Error())\n\t}\n\treturn data, nil\n}\n\nfunc (c *ControllerV1) parseMode(mode string) (os.FileMode, error) {\n\tvar parsed uint64\n\tvar err error\n\tif mode != \"\" {\n\t\tparsed, err = strconv.ParseUint(mode, 8, 32)\n\t\tif err != nil {\n\t\t\treturn 0, gerror.New(\"Invalid mode format: \" + err.Error())\n\t\t}\n\t}\n\treturn os.FileMode(parsed), nil\n}\n\nfunc (c *ControllerV1) ensureDirectory(path string, mode string) error {\n\tif path == \"\" {\n\t\treturn gerror.New(\"Directory path cannot be empty\")\n\t}\n\n\t// set default directory permissions\n\tdirMode := os.FileMode(0755)\n\tif mode != \"\" {\n\n\t\tvar err error\n\t\tdirMode, err = c.parseMode(mode)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif err := os.MkdirAll(path, dirMode); err != nil {\n\t\treturn gerror.New(\"Failed to create directory: \" + err.Error())\n\t}\n\treturn nil\n}\n\nfunc (c *ControllerV1) setFilePermission(path string, mode string) error {\n\tif mode == \"\" {\n\t\t// 默认文件权限0644\n\t\treturn os.Chmod(path, 0644)\n\t}\n\n\tfileMode, err := c.parseMode(mode)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn os.Chmod(path, fileMode)\n}\n"
  },
  {
    "path": "core/internal/controller/files/files_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage files\n\nimport (\n\t\"billionmail-core/api/files\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() files.IFilesV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/files/files_v1_download_file.go",
    "content": "package files\n\nimport (\n\t\"billionmail-core/api/files/v1\"\n\t\"context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n)\n\nfunc (c *ControllerV1) DownloadFile(ctx context.Context, req *v1.DownloadFileReq) (res *v1.DownloadFileRes, err error) {\n\treturn nil, status.Errorf(codes.Unimplemented, \"Not yet achieved\")\n}\n"
  },
  {
    "path": "core/internal/controller/files/files_v1_read_file.go",
    "content": "package files\n\nimport (\n\t\"context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n\n\t\"billionmail-core/api/files/v1\"\n)\n\nfunc (c *ControllerV1) ReadFile(ctx context.Context, req *v1.ReadFileReq) (res *v1.ReadFileRes, err error) {\n\n\treturn nil, status.Errorf(codes.Unimplemented, \"Not yet achieved\")\n}\n"
  },
  {
    "path": "core/internal/controller/languages/languages.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage languages\n"
  },
  {
    "path": "core/internal/controller/languages/languages_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage languages\n\nimport (\n\t\"billionmail-core/api/languages\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() languages.ILanguagesV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage mail_boxes\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage mail_boxes\n\nimport (\n\t\"billionmail-core/api/mail_boxes\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() mail_boxes.IMailBoxesV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes_v1_add_mailbox.go",
    "content": "package mail_boxes\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"strings\"\n\n\t\"billionmail-core/api/mail_boxes/v1\"\n\t\"billionmail-core/internal/service/mail_boxes\"\n)\n\nfunc (c *ControllerV1) AddMailbox(ctx context.Context, req *v1.AddMailboxReq) (res *v1.AddMailboxRes, err error) {\n\tres = &v1.AddMailboxRes{}\n\t// 处理参数中的多余空格 FullName  LocalPart\n\treq.FullName = strings.TrimSpace(req.FullName)\n\treq.LocalPart = strings.TrimSpace(req.LocalPart)\n\tmailbox := &v1.Mailbox{\n\t\tUsername:  req.LocalPart + \"@\" + req.Domain,\n\t\tPassword:  req.Password,\n\t\tFullName:  req.FullName,\n\t\tIsAdmin:   req.IsAdmin,\n\t\tQuota:     int64(req.Quota),\n\t\tLocalPart: req.LocalPart,\n\t\tDomain:    req.Domain,\n\t\tActive:    req.Active,\n\t\tQuotaActive: req.QuotaActive,\n\t}\n\n\tif mailbox.FullName == \"\" {\n\t\tmailbox.FullName = req.LocalPart\n\t}\n\n\tif err = mail_boxes.Add(ctx, mailbox); err != nil {\n\t\treturn nil, err\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Mailboxes,\n\t\tLog:  \"Add email address :\" + req.LocalPart + \"@\" + req.Domain + \" successfully\",\n\t\tData: mailbox,\n\t})\n\n\tres.SetSuccess(\"Mailbox added successfully\")\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes_v1_batch_add_mailbox.go",
    "content": "package mail_boxes\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\n\t\"billionmail-core/api/mail_boxes/v1\"\n\t\"billionmail-core/internal/service/mail_boxes\"\n)\n\nfunc (c *ControllerV1) BatchAddMailbox(ctx context.Context, req *v1.BatchAddMailboxReq) (res *v1.BatchAddMailboxRes, err error) {\n\n\tres = &v1.BatchAddMailboxRes{}\n\n\tif req.Count > 5000 {\n\t\treturn nil, fmt.Errorf(\"You cannot create more than 5000 batches\")\n\t}\n\n\tcreatedEmails, err := mail_boxes.BatchAdd(ctx, req.Domain, req.Quota, req.Count, req.Prefix, req.QuotaActive)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tsuccessMsg := fmt.Sprintf(\"%d email accounts were successfully created\", len(createdEmails))\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Mailboxes,\n\t\tLog:  \"Batch email creation was successful\",\n\t\tData: req,\n\t})\n\tres.SetSuccess(successMsg)\n\tres.Data = createdEmails\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes_v1_delete_mailbox.go",
    "content": "package mail_boxes\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/mail_boxes/v1\"\n\t\"billionmail-core/internal/service/mail_boxes\"\n)\n\nfunc (c *ControllerV1) DeleteMailbox(ctx context.Context, req *v1.DeleteMailboxReq) (res *v1.DeleteMailboxRes, err error) {\n\tres = &v1.DeleteMailboxRes{}\n\n\tif len(req.Emails) == 0 {\n\t\treturn nil, gerror.New(\"Email addresses cannot be empty\")\n\t}\n\n\tvar validEmails []string\n\tfor _, email := range req.Emails {\n\t\tif email != \"\" {\n\t\t\tvalidEmails = append(validEmails, email)\n\t\t}\n\t}\n\n\tif len(validEmails) == 0 {\n\t\treturn nil, gerror.New(\"No valid email addresses provided\")\n\t}\n\n\taffected, err := mail_boxes.DeleteBatch(ctx, validEmails)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tfor _, email := range validEmails {\n\t\t_ = public.WriteLog(ctx, public.LogParams{\n\t\t\tType: consts.LOGTYPE.Mailboxes,\n\t\t\tLog:  \"Deleted mailbox:\" + email + \" successfully\",\n\t\t})\n\t}\n\n\tif affected == 0 {\n\t\tres.SetSuccess(\"No mailboxes were deleted (they may not exist)\")\n\t} else {\n\t\tres.SetSuccess(fmt.Sprintf(\"Successfully deleted %d mailbox(es)\", affected))\n\t}\n\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes_v1_get_all_mailbox.go",
    "content": "package mail_boxes\n\nimport (\n\t\"billionmail-core/api/mail_boxes/v1\"\n\t\"billionmail-core/internal/service/mail_boxes\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n)\n\nfunc (c *ControllerV1) GetAllMailbox(ctx context.Context, req *v1.GetAllMailboxReq) (res *v1.GetAllMailboxRes, err error) {\n\tres = &v1.GetAllMailboxRes{}\n\n\tres.Data, err = mail_boxes.All(ctx, req.Domain)\n\n\tif err != nil {\n\t\terr = fmt.Errorf(\"failed to get all mailboxes: %w\", err)\n\t\treturn\n\t}\n\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes_v1_get_mailbox.go",
    "content": "package mail_boxes\n\nimport (\n\tdomainsV1 \"billionmail-core/api/domains/v1\"\n\t\"billionmail-core/internal/service/domains\"\n\t\"billionmail-core/internal/service/mail_boxes\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"fmt\"\n\n\t\"billionmail-core/api/mail_boxes/v1\"\n)\n\nfunc (c *ControllerV1) GetMailbox(ctx context.Context, req *v1.GetMailboxReq) (res *v1.GetMailboxRes, err error) {\n\tres = &v1.GetMailboxRes{}\n\n\tpage := req.Page\n\tif page <= 0 {\n\t\tpage = 1\n\t}\n\n\tpageSize := req.PageSize\n\tif pageSize <= 0 {\n\t\tpageSize = 10\n\t}\n\n\tmailboxList, total, err := mail_boxes.Get(ctx, req.Domain, req.Keyword, page, pageSize)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// transform mailbox list to include MX records\n\tmailboxListWithMx := make([]v1.MailboxWithMxRecord, len(mailboxList))\n\tfor i, mailbox := range mailboxList {\n\t\tmailboxListWithMx[i] = v1.MailboxWithMxRecord{\n\t\t\tMailbox:  mailbox,\n\t\t\tMxRecord: GenerateSPFRecord(mailbox.Domain), // 使用 GenerateSPFRecord 获取 MX 记录\n\t\t}\n\t\t// Handle sensitive information\n\t\tmailboxListWithMx[i].Password, _ = mail_boxes.PasswdDecode(ctx, mailboxListWithMx[i].PasswordEncode)\n\t}\n\n\tres.Data.Total = total\n\tres.Data.List = mailboxListWithMx\n\tres.SetSuccess(public.LangCtx(ctx, \"Success\"))\n\n\treturn\n}\n\nfunc buildCacheKey(domain, recordType string) string {\n\treturn fmt.Sprintf(\"DOMAIN_DNS_RECORDS_:%s:_%s\", domain, recordType)\n}\n\n// GenerateSPFRecord generates SPF record hints based on IP and host.\nfunc GenerateSPFRecord(domain string) string {\n\t// Retrieve the current SPF record for the domain\n\tvar existingValue string\n\n\t// Fetch SPF record from cache or domains service\n\tspfRecord := public.GetCache(buildCacheKey(domain, \"MX\"))\n\n\tif spfRecord != nil {\n\t\tif v, ok := spfRecord.(domainsV1.DNSRecord); ok {\n\t\t\texistingValue = v.Value\n\t\t}\n\t}\n\tif existingValue == \"\" {\n\t\trecord, _ := domains.GetMXRecord(domain, false)\n\t\texistingValue = record.Value\n\t}\n\n\treturn existingValue\n}\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes_v1_import_mailbox.go",
    "content": "package mail_boxes\n\nimport (\n\t\"billionmail-core/api/mail_boxes/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/mail_boxes\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"encoding/csv\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\nfunc (c *ControllerV1) ImportMailbox(ctx context.Context, req *v1.ImportMailboxReq) (res *v1.ImportMailboxRes, err error) {\n\tres = &v1.ImportMailboxRes{}\n\n\t// default  CSV\n\tif req.FileType == \"\" {\n\t\treq.FileType = \"csv\"\n\t}\n\n\t//// 1. base64\n\t//raw, err := base64.StdEncoding.DecodeString(req.FileData)\n\t//if err != nil {\n\t//\tres.SetError(gerror.New(public.LangCtx(ctx, \"文件内容解码失败\")))\n\t//\treturn res, nil\n\t//}\n\t//content := string(raw)\n\n\tcontent := req.FileData\n\n\tvar mailboxes []v1.Mailbox\n\tswitch req.FileType {\n\tcase \"json\":\n\t\tif err := json.Unmarshal([]byte(content), &mailboxes); err != nil {\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"JSON parsing failed\")))\n\t\t\treturn res, nil\n\t\t}\n\tcase \"csv\":\n\t\tr := csv.NewReader(strings.NewReader(content))\n\t\trecords, err := r.ReadAll()\n\t\tif err != nil || len(records) < 2 {\n\t\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"CSV parsing failed\")))\n\t\t\treturn res, nil\n\t\t}\n\t\theader := records[0]\n\t\tfor _, row := range records[1:] {\n\t\t\tm := v1.Mailbox{}\n\t\t\tfor i, col := range header {\n\t\t\t\tif i >= len(row) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tswitch col {\n\t\t\t\tcase \"username\":\n\t\t\t\t\tm.Username = row[i]\n\t\t\t\tcase \"full_name\":\n\t\t\t\t\tm.FullName = row[i]\n\t\t\t\tcase \"is_admin\":\n\t\t\t\t\tm.IsAdmin = parseInt(row[i])\n\t\t\t\tcase \"quota\":\n\t\t\t\t\tm.Quota = int64(parseInt(row[i]))\n\t\t\t\tcase \"quota_active\":\n\t\t\t\t\tm.QuotaActive = parseInt(row[i])\n\t\t\t\tcase \"local_part\":\n\t\t\t\t\tm.LocalPart = row[i]\n\t\t\t\tcase \"domain\":\n\t\t\t\t\tm.Domain = row[i]\n\t\t\t\tcase \"active\":\n\t\t\t\t\tm.Active = parseInt(row[i])\n\t\t\t\tcase \"password\":\n\t\t\t\t\tm.Password = row[i]\n\t\t\t\tcase \"password_encode\":\n\t\t\t\t\tm.PasswordEncode = row[i]\n\t\t\t\t}\n\t\t\t}\n\t\t\tmailboxes = append(mailboxes, m)\n\t\t}\n\tcase \"txt\":\n\t\tlines := strings.Split(content, \"\\n\")\n\t\tfor _, line := range lines {\n\t\t\tline = strings.TrimSpace(line)\n\t\t\tif line == \"\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tmailboxes = append(mailboxes, v1.Mailbox{Username: line})\n\t\t}\n\tdefault:\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Unsupported file type\")))\n\t\treturn res, nil\n\t}\n\n\tif len(mailboxes) == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to parse valid email data\")))\n\t\treturn res, nil\n\t}\n\n\tfor i := range mailboxes {\n\t\t// If FullName is empty, use LocalPart instead\n\t\tif mailboxes[i].FullName == \"\" && mailboxes[i].LocalPart != \"\" {\n\t\t\tmailboxes[i].FullName = mailboxes[i].LocalPart\n\t\t}\n\n\t\tif mailboxes[i].LocalPart == \"\" && mailboxes[i].Username != \"\" {\n\t\t\tif parts := strings.Split(mailboxes[i].Username, \"@\"); len(parts) == 2 {\n\t\t\t\tmailboxes[i].LocalPart = parts[0]\n\t\t\t\tmailboxes[i].Domain = parts[1]\n\t\t\t}\n\t\t}\n\n\t\tif mailboxes[i].Domain == \"\" && mailboxes[i].Username != \"\" {\n\t\t\tif parts := strings.Split(mailboxes[i].Username, \"@\"); len(parts) == 2 {\n\t\t\t\tmailboxes[i].Domain = parts[1]\n\t\t\t}\n\t\t}\n\n\t\tif mailboxes[i].Password == \"\" {\n\t\t\tmailboxes[i].Password = \"123456\"\n\t\t}\n\n\t\tif mailboxes[i].IsAdmin == 0 {\n\t\t\tmailboxes[i].IsAdmin = 0\n\t\t}\n\t\tif mailboxes[i].Quota == 0 {\n\t\t\tmailboxes[i].Quota = 1000\n\t\t}\n\t\tif mailboxes[i].Active == 0 {\n\t\t\tmailboxes[i].Active = 1\n\t\t}\n\n\t\tmailboxes[i].QuotaActive = 1\n\t}\n\n\tvar failed []string\n\tvar successCount int\n\tfor _, m := range mailboxes {\n\n\t\tif err := mail_boxes.AddImport(ctx, &m); err != nil {\n\t\t\tfailed = append(failed, m.Username)\n\t\t\tcontinue\n\t\t}\n\t\tsuccessCount++\n\t}\n\n\timportResult := map[string]interface{}{\n\t\t\"total\":       len(mailboxes),\n\t\t\"success\":     successCount,\n\t\t\"failed\":      len(failed),\n\t\t\"failed_list\": failed,\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Mailboxes,\n\t\tLog:  fmt.Sprintf(\"Import of email account was successful. Total: %d, Success: %d, Failed: %d\", len(mailboxes), successCount, len(failed)),\n\t\tData: importResult,\n\t})\n\n\tif len(failed) > 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The import is complete, but {} email addresses failed to be imported\", len(failed))))\n\t} else {\n\t\tres.SetSuccess(public.LangCtx(ctx, \"Import completed. A total of {} email addresses were imported.\", successCount))\n\t}\n\n\treturn res, nil\n}\n\n// String to int conversion\nfunc parseInt(s string) int {\n\tn, _ := strconv.Atoi(strings.TrimSpace(s))\n\treturn n\n}\n"
  },
  {
    "path": "core/internal/controller/mail_boxes/mail_boxes_v1_update_mailbox.go",
    "content": "package mail_boxes\n\nimport (\n\t\"billionmail-core/api/mail_boxes/v1\"\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/mail_boxes\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"strings\"\n)\n\nfunc (c *ControllerV1) UpdateMailbox(ctx context.Context, req *v1.UpdateMailboxReq) (res *v1.UpdateMailboxRes, err error) {\n\tres = &v1.UpdateMailboxRes{}\n\treq.FullName = strings.TrimSpace(req.FullName)\n\treq.LocalPart = strings.TrimSpace(req.LocalPart)\n\tmailbox := &v1.Mailbox{\n\t\tUsername:  req.LocalPart + \"@\" + req.Domain,\n\t\tPassword:  req.Password, // If empty, password won't be updated\n\t\tFullName:  req.FullName,\n\t\tIsAdmin:   req.IsAdmin,\n\t\tQuota:     int64(req.Quota),\n\t\tLocalPart: req.LocalPart,\n\t\tDomain:    req.Domain,\n\t\tActive:    req.Active,\n\t\tQuotaActive: req.QuotaActive,\n\t}\n\tif mailbox.FullName == \"\" {\n\t\tmailbox.FullName = req.LocalPart\n\t}\n\tif err = mail_boxes.Update(ctx, mailbox); err != nil {\n\t\treturn nil, err\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.Mailboxes,\n\t\tLog:  \"Updated mailbox:\" + mailbox.Username + \" successfully\",\n\t\tData: mailbox,\n\t})\n\tres.SetSuccess(\"Mailbox updated successfully\")\n\treturn\n}\n"
  },
  {
    "path": "core/internal/controller/mail_services/mail_services.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage mail_services\n"
  },
  {
    "path": "core/internal/controller/mail_services/mail_services_new.go",
    "content": "// =================================================================================\n// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.\n// =================================================================================\n\npackage mail_services\n\nimport (\n\t\"billionmail-core/api/mail_services\"\n)\n\ntype ControllerV1 struct{}\n\nfunc NewV1() mail_services.IMailServicesV1 {\n\treturn &ControllerV1{}\n}\n"
  },
  {
    "path": "core/internal/controller/mail_services/mail_services_v1_add_mail_forward.go",
    "content": "package mail_services\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/mail_service\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/mail_services/v1\"\n)\n\nfunc (c *ControllerV1) AddMailForward(ctx context.Context, req *v1.AddMailForwardReq) (res *v1.AddMailForwardRes, err error) {\n\tres = &v1.AddMailForwardRes{}\n\n\tcount, err := g.DB().Model(\"alias\").Where(\"address=?\", req.Address).Count()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"check address failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\tif count > 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"forward address already exists\")))\n\t\treturn res, nil\n\t}\n\n\tdomainParts := strings.Split(req.Address, \"@\")\n\tif len(domainParts) != 2 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"invalid email format: {}\", req.Address)))\n\t\treturn\n\t}\n\tdomain := domainParts[1]\n\tif domain == \"\" {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"domain part is empty in address: {}\", req.Address)))\n\t\treturn\n\t}\n\n\tcount, err = g.DB().Model(\"domain\").Where(\"domain=?\", domain).Count()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"check domain failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\tif count == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"domain not found in mail server\")))\n\t\treturn res, nil\n\t}\n\n\t// process forward target addresses\n\tforwardUsers := mail_service.ProcessForwardUsers(req.Goto)\n\tif len(forwardUsers) == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"forward target address cannot be empty\")))\n\t\treturn res, nil\n\t}\n\n\tnow := time.Now().Unix()\n\tinsert_data := g.Map{\n\t\t\"address\":     req.Address,\n\t\t\"goto\":        strings.Join(forwardUsers, \",\"),\n\t\t\"domain\":      domain,\n\t\t\"create_time\": now,\n\t\t\"update_time\": now,\n\t\t\"active\":      req.Active,\n\t}\n\t_, err = g.DB().Model(\"alias\").Insert(insert_data)\n\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"add mail forward failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.MailForward,\n\t\tLog:  \"Add mail forward :\" + req.Address + \" successfully\",\n\t\tData: insert_data,\n\t})\n\n\tres.SetSuccess(public.LangCtx(ctx, \"add mail forward success\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/mail_services/mail_services_v1_delete_all_deferred_queue.go",
    "content": "package mail_services\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\tdocker \"billionmail-core/internal/service/dockerapi\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"strings\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/mail_services/v1\"\n)\n\nfunc (c *ControllerV1) DeleteAllDeferredQueue(ctx context.Context, req *v1.DeleteAllDeferredQueueReq) (res *v1.DeleteAllDeferredQueueRes, err error) {\n\tres = &v1.DeleteAllDeferredQueueRes{}\n\tdk, dockerErr := docker.NewDockerAPI()\n\tif dockerErr != nil {\n\t\tg.Log().Error(ctx, \"Failed to connect to Docker API:\", dockerErr)\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"docker api unavailable: {}\", dockerErr.Error())))\n\t\treturn res, nil\n\t}\n\tdefer dk.Close()\n\tcmd := []string{\"postsuper\", \"-d\", \"ALL\", \"deferred\"}\n\tresult, err := dk.ExecCommandByName(ctx, consts.SERVICES.Postfix, cmd, \"root\")\n\tif err != nil {\n\t\tg.Log().Error(ctx, \"Failed to execute command in container :\", err, \"command:\", strings.Join(cmd, \" \"))\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Failed to execute command in container: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\tif result == nil {\n\t\tg.Log().Error(ctx, \"The result of the command is empty:\", \"command:\", strings.Join(cmd, \" \"))\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"The result of the command is empty: {}\", strings.Join(cmd, \" \"))))\n\t\treturn res, nil\n\t}\n\tif result.ExitCode != 0 {\n\t\tg.Log().Error(ctx, \"The command execution returns a nonzero status:\", result.ExitCode, \"output:\", result.Output, \"command:\", strings.Join(cmd, \" \"))\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"Command execution failed, exit code: {}, output: {}\", result.ExitCode, result.Output)))\n\t\treturn res, nil\n\t}\n\n\t// Operation Log\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.PostfixQueue,\n\t\tLog:  \"Delete all deferred queue mail successfully\",\n\t})\n\tres.SetSuccess(public.LangCtx(ctx, \"delete all deferred queue mail success\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/mail_services/mail_services_v1_delete_bcc.go",
    "content": "package mail_services\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/mail_service\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"billionmail-core/api/mail_services/v1\"\n\t\"billionmail-core/internal/service/public\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n)\n\nfunc (c *ControllerV1) DeleteBcc(ctx context.Context, req *v1.DeleteBccReq) (res *v1.DeleteBccRes, err error) {\n\tres = &v1.DeleteBccRes{}\n\n\tinfo, err := g.DB().Model(\"bm_bcc\").Where(\"id\", req.ID).One()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"check record failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\tif info.IsEmpty() {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"record not found\")))\n\t\treturn res, nil\n\t}\n\n\t_, err = g.DB().Model(\"bm_bcc\").Where(\"id\", req.ID).Delete()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"delete bcc rule failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\tif err := mail_service.SyncBccToPostfix(ctx); err != nil {\n\t\tg.Log().Error(ctx, \"sync bcc config failed: {}\", err)\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"delete success but sync config failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\taddress := info[\"address\"].String()\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.BCC,\n\t\tLog:  \"Delete bcc rule :\" + address + \" successfully\",\n\t})\n\tres.SetSuccess(public.LangCtx(ctx, \"delete bcc rule success\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/controller/mail_services/mail_services_v1_delete_mail_forward.go",
    "content": "package mail_services\n\nimport (\n\t\"billionmail-core/internal/consts\"\n\t\"billionmail-core/internal/service/public\"\n\t\"context\"\n\t\"github.com/gogf/gf/v2/frame/g\"\n\n\t\"github.com/gogf/gf/v2/errors/gerror\"\n\n\t\"billionmail-core/api/mail_services/v1\"\n)\n\nfunc (c *ControllerV1) DeleteMailForward(ctx context.Context, req *v1.DeleteMailForwardReq) (res *v1.DeleteMailForwardRes, err error) {\n\tres = &v1.DeleteMailForwardRes{}\n\n\tcount, err := g.DB().Model(\"alias\").Where(\"address=?\", req.Address).Count()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"check address failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\n\tif count == 0 {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"forward address not found\")))\n\t\treturn res, nil\n\t}\n\n\t_, err = g.DB().Model(\"alias\").Where(\"address=?\", req.Address).Delete()\n\tif err != nil {\n\t\tres.SetError(gerror.New(public.LangCtx(ctx, \"delete mail forward failed: {}\", err.Error())))\n\t\treturn res, nil\n\t}\n\t_ = public.WriteLog(ctx, public.LogParams{\n\t\tType: consts.LOGTYPE.MailForward,\n\t\tLog:  \"Delete mail forward :\" + req.Address + \" successfully\",\n\t})\n\tres.SetSuccess(public.LangCtx(ctx, \"delete mail forward success\"))\n\treturn res, nil\n}\n"
  },
  {
    "path": "core/internal/dao/.gitkeep",
    "content": ""
  },
  {
    "path": "core/internal/logic/.gitkeep",
    "content": ""
  },
  {
    "path": "core/internal/model/.gitkeep",
    "content": ""
  },
  {
    "path": "core/internal/model/do/.gitkeep",
    "content": ""
  },
  {
    "path": "core/internal/model/entity/.gitkeep",
    "content": ""
  },
  {
    "path": "core/internal/service/.gitkeep",
    "content": ""
  },
  {
    "path": "core/manifest/i18n/.gitkeep",
    "content": ""
  },
  {
    "path": "core/manifest/protobuf/.keep-if-necessary",
    "content": ""
  },
  {
    "path": "core/public/html/.gitkeep",
    "content": ""
  },
  {
    "path": "core/resource/public/html/.gitkeep",
    "content": ""
  },
  {
    "path": "core/resource/public/plugin/.gitkeep",
    "content": ""
  },
  {
    "path": "core/resource/public/resource/css/.gitkeep",
    "content": ""
  },
  {
    "path": "core/resource/public/resource/image/.gitkeep",
    "content": ""
  },
  {
    "path": "core/resource/public/resource/js/.gitkeep",
    "content": ""
  },
  {
    "path": "core/resource/template/.gitkeep",
    "content": ""
  },
  {
    "path": "core/template/.gitkeep",
    "content": ""
  },
  {
    "path": "core/template/default_confirm_email/confirm_email.txt",
    "content": ""
  },
  {
    "path": "core/template/default_unsubscribe_email/unsubscribe_email.txt",
    "content": ""
  },
  {
    "path": "core/template/default_welcome_email/welcome_email.txt",
    "content": ""
  },
  {
    "path": "core/utility/.gitkeep",
    "content": ""
  }
]